From debbugs-submit-bounces@debbugs.gnu.org Thu Nov 23 04:45:39 2017 Received: (at submit) by debbugs.gnu.org; 23 Nov 2017 09:45:39 +0000 Received: from localhost ([127.0.0.1]:53380 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eHo4h-0004D4-EG for submit@debbugs.gnu.org; Thu, 23 Nov 2017 04:45:39 -0500 Received: from eggs.gnu.org ([208.118.235.92]:35904) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eHo4f-0004Cq-Tg for submit@debbugs.gnu.org; Thu, 23 Nov 2017 04:45:38 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eHo4U-0001Ko-Ti for submit@debbugs.gnu.org; Thu, 23 Nov 2017 04:45:32 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM, T_DKIM_INVALID autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:53461) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1eHo4U-0001KP-Pt for submit@debbugs.gnu.org; Thu, 23 Nov 2017 04:45:26 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:55041) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1eHo4T-00028M-Pi for guix-patches@gnu.org; Thu, 23 Nov 2017 04:45:26 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1eHo4P-0001CQ-Q8 for guix-patches@gnu.org; Thu, 23 Nov 2017 04:45:25 -0500 Received: from mail-wr0-x231.google.com ([2a00:1450:400c:c0c::231]:44167) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1eHo4P-00019U-DA for guix-patches@gnu.org; Thu, 23 Nov 2017 04:45:21 -0500 Received: by mail-wr0-x231.google.com with SMTP id l22so16998991wrc.11 for ; Thu, 23 Nov 2017 01:45:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=user-agent:from:to:subject:date:message-id:mime-version; bh=PlaeTTD51tT+d4QbzTs44Q17XrUbL4V/SwYUwDqUJus=; b=Bj5Ec4PASJqYC6Z7Qwf0/at8lLIfyz+NIbNKBqNcr+b/VPNBTBKBCCmPpx2sb7t345 0vfItaRR2eMl+L5pEx+GXEeQdxPGKXJ/xHNrkpwy2uOcirG6oqcZnIKWcpPqZEKmlllR uklck4xa3Dr5It2WWgBBFm9Mq1v/5HPeLd3TXz7XHBDaOigeYb74dsSIWuuDj1wIS9GJ oAgTcgrO2nmusFntRPX9HYVlXRps+Gtbtmfr63FLQgUdQp00rB1D13T3CQ8+BJwgit9y Y72FNJHf2O9bC9hl4vXQ7HSyTQS3xst+nuH2YFqTRsQA2JvNimO2JEan5Q2u3uGBZItC a7GA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:user-agent:from:to:subject:date:message-id :mime-version; bh=PlaeTTD51tT+d4QbzTs44Q17XrUbL4V/SwYUwDqUJus=; b=LM8lg+KtjDlmiOLCkjqJAgvrDdo7jZ3CHc1dqulQaz/Ire7csj6rfMtjRnfUpQsZ2M +j+m9+gBMXMOby2unh28rqsu5UpD24GC6JCNet/2peKuQUQTsjZku1cwBZ3+Jb4tDp2B QXaof3TSoftKSq4JzzOTMOyeHoSDtPKmD4b0Pxp38qmo5yJVSTMk+bhSqeyyAdOhJjiR WVZeM1Rz4UQgBeqp5Rbp12WjBcVG72EI3TYp9Mq0pPihseHz6T+QVaoN0tfipDDDAzph WzE6lv4fvvJ6c/NMhb2bFyyRriVxvIwPYlpl8D5HsC5wgSPvqQY9Nt/5dcFlVn7a1gEb 0FRw== X-Gm-Message-State: AJaThX5WFzUAnf1vMb+bTr6TvWCmtt7CeWxqq2a7skL/oT3tBjTuyR4C /+fcGt3M5Kfvm71rsG0fF62urQ== X-Google-Smtp-Source: AGs4zMYEqEQ638R7bEEOFauS2iJctDEzwkFs0gmD0ywt5+fdJ3nN8iycD1hlddeAqerESA3pZX97xA== X-Received: by 10.223.176.27 with SMTP id f27mr21159343wra.105.1511430319618; Thu, 23 Nov 2017 01:45:19 -0800 (PST) Received: from denali ([46.218.109.88]) by smtp.gmail.com with ESMTPSA id c12sm6588374wrc.92.2017.11.23.01.45.18 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Thu, 23 Nov 2017 01:45:19 -0800 (PST) User-agent: mu4e 0.9.18; emacs 25.2.1 From: Mathieu Othacehe To: guix-patches@gnu.org Subject: GuixSD ARM port. Date: Thu, 23 Nov 2017 10:45:16 +0100 Message-ID: <877euhtjkj.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -4.0 (----) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -4.0 (----) Hi, I'm currently working on porting GuixSD to ARM using a BBB as a first target. As I'm progressing slowly patches are coming one by one. I'll use this debbugs id to gather them. Thanks, Mathieu From debbugs-submit-bounces@debbugs.gnu.org Thu Nov 23 04:50:12 2017 Received: (at 29409) by debbugs.gnu.org; 23 Nov 2017 09:50:12 +0000 Received: from localhost ([127.0.0.1]:53387 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eHo96-0004KI-0W for submit@debbugs.gnu.org; Thu, 23 Nov 2017 04:50:12 -0500 Received: from mail-wm0-f42.google.com ([74.125.82.42]:34837) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eHo94-0004K2-GP for 29409@debbugs.gnu.org; Thu, 23 Nov 2017 04:50:11 -0500 Received: by mail-wm0-f42.google.com with SMTP id y80so15243073wmd.0 for <29409@debbugs.gnu.org>; Thu, 23 Nov 2017 01:50:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=3JX5oMcLNBYBcr6UPbGr8wlWc02fJzk1qK+x5ppXgtk=; b=J/ydGIFC/DD0larp+pHlx+0gi6ItKr05o21spoGFYUghT4uFT04wnZltrQ1LuV/mwB q4aox4TSanNCQoRVzJnmeZyM12+Oa48kUcJa8sVWSBMn0qFTHLg9ED2YijsSwWZUpBxD lTCag9WJgvWZ/oB1e5sYlBYJU+srOZCORGi8AZmgZmJVwopppRsBRTKYnz+BOxzrXYKx n+1HsKC04Jonk7WJ/qG/CfcP9nc7D9PO9eDiZdK/X1m1VBJArwctAYagTj1eCLo3Hxdn HrH3AlJKCY73xhagM/Xt7lcrB7DjFLcHumRfFzumipSUO9pqyCSpLvGCYIaZhB86gprj bcww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=3JX5oMcLNBYBcr6UPbGr8wlWc02fJzk1qK+x5ppXgtk=; b=bapE6li0kkAHihhIpT/PxpMgiOKa+k3gnpAwT5ZgdLGSY47vCSQD7TR8GaZyRGn6lO JDurUi1WMg7b5G7t266lroQOIC75VgweMPFGTjJ1Fkd45G5kSTx1sgJXj74QFfGE+Dsz e3MY/gfOgM7UHKVPKYyt+99PtutGUrAf8pg44E2dcjoG03+oLjfod3ULwJ0/4rGmowq3 CNugZ8Zx7Zdr12iK77rASuuv1FzEEybIu+BwHf0pzoR1j8DgXgh7NrhNUuzGEe8CgMAI EFIc5Pph6ZTJIkMgmMI2b/Ie9rdhoeKW+pqlpYjj2H/ipyowMovo9WYXWd6SzaHQHP6V dcZw== X-Gm-Message-State: AJaThX6slN2C3P9+pyP7yqHtYOc+NCKFYw4LK2O9zIvN0/sONXvoY1ES nljU/i9zTasn44qlujWM53iu2Q== X-Google-Smtp-Source: AGs4zMb7N9mi+vEBCP4w3QPIqMWxU9R7pWUZXQT1rvh0NgnKXR0uLTTz9o8M8jkUJlRInle+BQnNAA== X-Received: by 10.28.111.146 with SMTP id c18mr6632536wmi.123.1511430604457; Thu, 23 Nov 2017 01:50:04 -0800 (PST) Received: from denali.Parrot.Biz ([46.218.109.88]) by smtp.gmail.com with ESMTPSA id l25sm1485296wmi.35.2017.11.23.01.50.03 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 23 Nov 2017 01:50:03 -0800 (PST) From: Mathieu Othacehe To: 29409@debbugs.gnu.org Subject: [PATCH] linux-libre: Adapt some arm options to match intel conf. Date: Thu, 23 Nov 2017 10:49:59 +0100 Message-Id: <1511430599-17726-1-git-send-email-m.othacehe@gmail.com> X-Mailer: git-send-email 2.7.4 X-Spam-Score: 0.8 (/) X-Debbugs-Envelope-To: 29409 Cc: Mathieu Othacehe X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.8 (/) From: Mathieu Othacehe * gnu/packages/aux-files/linux-libre/4.14-arm.conf: GuixSD base-initrd expects ext4 and fat filesystem to be built-in. Adapt configuration accordingly. Also set devtmpfs_mount to yes. --- gnu/packages/aux-files/linux-libre/4.14-arm.conf | 25 ++++++++++++------------ 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/gnu/packages/aux-files/linux-libre/4.14-arm.conf b/gnu/packages/aux-files/linux-libre/4.14-arm.conf index 7f82c29..2bde470 100644 --- a/gnu/packages/aux-files/linux-libre/4.14-arm.conf +++ b/gnu/packages/aux-files/linux-libre/4.14-arm.conf @@ -1816,7 +1816,7 @@ CONFIG_TEGRA_AHB=y # # CONFIG_UEVENT_HELPER is not set CONFIG_DEVTMPFS=y -# CONFIG_DEVTMPFS_MOUNT is not set +CONFIG_DEVTMPFS_MOUNT=y CONFIG_STANDALONE=y CONFIG_PREVENT_FIRMWARE_BUILD=y CONFIG_FW_LOADER=y @@ -7466,16 +7466,15 @@ CONFIG_DCACHE_WORD_ACCESS=y CONFIG_FS_IOMAP=y # CONFIG_EXT2_FS is not set # CONFIG_EXT3_FS is not set -CONFIG_EXT4_FS=m +CONFIG_EXT4_FS=y CONFIG_EXT4_USE_FOR_EXT2=y CONFIG_EXT4_FS_POSIX_ACL=y CONFIG_EXT4_FS_SECURITY=y -CONFIG_EXT4_ENCRYPTION=y -CONFIG_EXT4_FS_ENCRYPTION=y +# CONFIG_EXT4_ENCRYPTION is not set # CONFIG_EXT4_DEBUG is not set -CONFIG_JBD2=m +CONFIG_JBD2=y # CONFIG_JBD2_DEBUG is not set -CONFIG_FS_MBCACHE=m +CONFIG_FS_MBCACHE=y CONFIG_REISERFS_FS=m # CONFIG_REISERFS_CHECK is not set # CONFIG_REISERFS_PROC_INFO is not set @@ -7567,12 +7566,12 @@ CONFIG_UDF_NLS=y # # DOS/FAT/NT Filesystems # -CONFIG_FAT_FS=m +CONFIG_FAT_FS=y CONFIG_MSDOS_FS=m -CONFIG_VFAT_FS=m +CONFIG_VFAT_FS=y CONFIG_FAT_DEFAULT_CODEPAGE=437 -CONFIG_FAT_DEFAULT_IOCHARSET="ascii" -CONFIG_FAT_DEFAULT_UTF8=y +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +# CONFIG_FAT_DEFAULT_UTF8 is not set CONFIG_NTFS_FS=m # CONFIG_NTFS_DEBUG is not set # CONFIG_NTFS_RW is not set @@ -7744,7 +7743,7 @@ CONFIG_9P_FS_POSIX_ACL=y CONFIG_9P_FS_SECURITY=y CONFIG_NLS=y CONFIG_NLS_DEFAULT="utf8" -CONFIG_NLS_CODEPAGE_437=m +CONFIG_NLS_CODEPAGE_437=y CONFIG_NLS_CODEPAGE_737=m CONFIG_NLS_CODEPAGE_775=m CONFIG_NLS_CODEPAGE_850=m @@ -8162,7 +8161,7 @@ CONFIG_CRYPTO_VMAC=m # # Digest # -CONFIG_CRYPTO_CRC32C=m +CONFIG_CRYPTO_CRC32C=y CONFIG_CRYPTO_CRC32=m CONFIG_CRYPTO_CRCT10DIF=y CONFIG_CRYPTO_GHASH=m @@ -8274,7 +8273,7 @@ CONFIG_GENERIC_IO=y CONFIG_STMP_DEVICE=y CONFIG_ARCH_USE_CMPXCHG_LOCKREF=y CONFIG_CRC_CCITT=m -CONFIG_CRC16=m +CONFIG_CRC16=y CONFIG_CRC_T10DIF=y CONFIG_CRC_ITU_T=m CONFIG_CRC32=y -- 2.7.4 From debbugs-submit-bounces@debbugs.gnu.org Thu Nov 23 10:43:59 2017 Received: (at 29409) by debbugs.gnu.org; 23 Nov 2017 15:43:59 +0000 Received: from localhost ([127.0.0.1]:54041 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eHtfT-0006Vy-54 for submit@debbugs.gnu.org; Thu, 23 Nov 2017 10:43:59 -0500 Received: from hera.aquilenet.fr ([141.255.128.1]:36259) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eHtfQ-0006Vq-Mh for 29409@debbugs.gnu.org; Thu, 23 Nov 2017 10:43:57 -0500 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id 91159FFDD; Thu, 23 Nov 2017 16:43:58 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at aquilenet.fr Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id NRu6IW4QQhvG; Thu, 23 Nov 2017 16:43:57 +0100 (CET) Received: from ribbon (unknown [193.50.110.61]) by hera.aquilenet.fr (Postfix) with ESMTPSA id 7A9B8FFDC; Thu, 23 Nov 2017 16:43:57 +0100 (CET) From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: Mathieu Othacehe Subject: Re: [bug#29409] [PATCH] linux-libre: Adapt some arm options to match intel conf. References: <877euhtjkj.fsf@gmail.com> <1511430599-17726-1-git-send-email-m.othacehe@gmail.com> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 3 Frimaire an 226 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Thu, 23 Nov 2017 16:43:54 +0100 In-Reply-To: <1511430599-17726-1-git-send-email-m.othacehe@gmail.com> (Mathieu Othacehe's message of "Thu, 23 Nov 2017 10:49:59 +0100") Message-ID: <87y3mxuhj9.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 29409 Cc: Mathieu Othacehe , 29409@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) Mathieu Othacehe skribis: > From: Mathieu Othacehe > > * gnu/packages/aux-files/linux-libre/4.14-arm.conf: GuixSD base-initrd expects > ext4 and fat filesystem to be built-in. Adapt configuration > accordingly. Also set devtmpfs_mount to yes. LGTM, thanks! Ludo'. From debbugs-submit-bounces@debbugs.gnu.org Thu Nov 23 14:09:55 2017 Received: (at 29409-done) by debbugs.gnu.org; 23 Nov 2017 19:09:55 +0000 Received: from localhost ([127.0.0.1]:54120 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eHwsj-0002lL-4P for submit@debbugs.gnu.org; Thu, 23 Nov 2017 14:09:53 -0500 Received: from mail-wr0-f181.google.com ([209.85.128.181]:37541) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eHwsg-0002l7-TW for 29409-done@debbugs.gnu.org; Thu, 23 Nov 2017 14:09:51 -0500 Received: by mail-wr0-f181.google.com with SMTP id k61so18415000wrc.4 for <29409-done@debbugs.gnu.org>; Thu, 23 Nov 2017 11:09:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=references:user-agent:from:to:cc:subject:in-reply-to:date :message-id:mime-version; bh=oGw6b1QO/45zD4c7yhUnXiObOH7vmvVbrKpwUEeOBlg=; b=KXloSn/fLPSlmh9sMjvzVQVdyKYL4/S3fXdQ8swjNNrbr815G1g8dLZ+2SUCUKidcT vuUoxe1EHOpVSvypmhFQcY32SavXIK34yTBtd4wvfTgtimkrb7ZHh3s89MQxcPGRlUmq EhcnsGpiEVwdyFdHmhomF4tuBzguTXZvJlXFBTAWcSBXkH3TXTTn59ZHVifPOUVVo4eU OVYGkl+5eZOck+ILVmASPF+n/G+fBDU5zLYwmckyQhEv12M+1XHPw++z0GhlciaRlprK 04zLXZrqrsVpTveJ2bMrlYEO0UUhlyZEmdk2x5L+J5o0OhNDBhYhegT7nR5kqGm8mRfZ PYjQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:references:user-agent:from:to:cc:subject :in-reply-to:date:message-id:mime-version; bh=oGw6b1QO/45zD4c7yhUnXiObOH7vmvVbrKpwUEeOBlg=; b=cgxvAEMwLGcXPsBevNBMPf0Q3hYEGNHWRXIctc747Kpw3Q/4U9fihdCAikWumVgwCO nx0vRh0zjlIaklmvvB7bTPgrdXUNY26FON1f0jxHm3DyNSIAQ4UA0ulhpoH/7cy4oCRu sQh5XqFJb/+FU6kntu8fkutgxqhkgDTD8jY+mZRZLa9ITpPxSODsmPLp3Nb/apDVsD8/ WI6dzdBGFiRhEiCi8rK6lT1bzqWzALOS+hlmmBjJDibsusyIg8OkJbVbF8pu9ACPEySL H12KPJrU1L9Bq31+KkvEx1kgZu2oUTudH4Zd0u+C3HWuXkhuyrBJcu8unxkHXDNYpnLc bjow== X-Gm-Message-State: AJaThX4ppYWNmG5EoPjzszRqf5bnyJQiRN2VjvRxamzri6CMO0Fd4v0F 3gGEjDEShowBtO3QNb3V0YGl8Q== X-Google-Smtp-Source: AGs4zMbsb5l2nEsJfmr3kHLmmCPQEP/3Ut6phqKM2CgfbQQNGzIedMyVGIEXrXgOlmL31L1Y6xCqsA== X-Received: by 10.223.138.246 with SMTP id z51mr21863326wrz.152.1511464185115; Thu, 23 Nov 2017 11:09:45 -0800 (PST) Received: from cervin ([78.192.96.126]) by smtp.gmail.com with ESMTPSA id t10sm8841743wra.16.2017.11.23.11.09.44 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Thu, 23 Nov 2017 11:09:44 -0800 (PST) References: <877euhtjkj.fsf@gmail.com> <1511430599-17726-1-git-send-email-m.othacehe@gmail.com> <87y3mxuhj9.fsf@gnu.org> User-agent: mu4e 0.9.18; emacs 25.3.1 From: Mathieu Othacehe To: Ludovic =?utf-8?Q?Court=C3=A8s?= Subject: Re: [bug#29409] [PATCH] linux-libre: Adapt some arm options to match intel conf. In-reply-to: <87y3mxuhj9.fsf@gnu.org> Date: Thu, 23 Nov 2017 20:09:42 +0100 Message-ID: <87shd424nd.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 29409-done Cc: 29409-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) > LGTM, thanks! Pushed ! Thanks, Mathieu From unknown Fri Aug 15 19:32:00 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: Did not alter fixed versions and reopened. Date: Thu, 23 Nov 2017 19:12:03 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # Did not alter fixed versions and reopened. thanks # This fakemail brought to you by your local debbugs # administrator From debbugs-submit-bounces@debbugs.gnu.org Fri Nov 24 11:49:52 2017 Received: (at 29409) by debbugs.gnu.org; 24 Nov 2017 16:49:52 +0000 Received: from localhost ([127.0.0.1]:56179 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eIHAm-0003t4-9Q for submit@debbugs.gnu.org; Fri, 24 Nov 2017 11:49:52 -0500 Received: from mail-wm0-f66.google.com ([74.125.82.66]:44065) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eIHAj-0003sp-R9 for 29409@debbugs.gnu.org; Fri, 24 Nov 2017 11:49:50 -0500 Received: by mail-wm0-f66.google.com with SMTP id r68so23664940wmr.3 for <29409@debbugs.gnu.org>; Fri, 24 Nov 2017 08:49:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=Xk3VTw5gC/I3J5gS0pMDc+E65iyrA3TwC8cwyNhvvWg=; b=FbowIInEG5CNmF0m/ebxG5NdADWvwjiBO9SvkdoFpTXb98jsYRojIIQ020cV6/VTc4 Yx5+5C+mzVaO8AvTyjZAn6QrRNiJUh9SC+UtJ+OaT0CbZpoOiPp0dFmUT1LugyIlP+vf Z/lKsx1R0ytBlyzDBOFWhrs1gkU/0iwQxf/HMKjtZSaekqCLFOdV79sJPI5t4qyUy/zK 6ilNZrP7ZHK5fMnzMmup32VKGgWyt1OwvSexsGwuJWxjgfr4iLKPBQTcN2/nCFChWCOP KELCbBPonhLxuido/yb1MKlHsS785gWv504OYTnmk3CItYUvqrdeXizs6YV4teX3kCSR Bplg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=Xk3VTw5gC/I3J5gS0pMDc+E65iyrA3TwC8cwyNhvvWg=; b=CAeCCRItradgnhzVFSlbBiBh/fN8s97fFCouQnTqrssIthQJhK/67xomCmOzh3jcKo cq6+hA48t9j+kSOHzLoSKiV8ZGqmviAL4RluEGept85aO5V+ArVusVqv+ySoEyzCbQLk XQFFHfiyiCLbNdrU+tyc30/l7s7wfUJTn/oTtzEUhIHkEjvKKbl1ApC6LtB6UY4IQl8T Buf1hqM11qrxlFm6EVW05VXhM4imtnI2TFNRTSimhjQW5M/loH0EFHX/Yf+tHwYs/9d5 wlGPPZ52V1lHfQecjaQ64s6zft9mfmhtiOUjCp0zoC5aGvo8UUoa5DFU1/Vaz7TyfL2j SOYQ== X-Gm-Message-State: AJaThX5jyocEilyS/edHjwQpkVbIIxrElL2HuyN/FVOibhNM8G3fRYqo gcWcPkN/+dRLTXYh6WXuyRGaKQ== X-Google-Smtp-Source: AGs4zMazbbqNWlwNIkXG/4TUVwerX//Ih5qZ/cEtfNNE8MQsmKtV1003U0rfGiyfUhmvYSIMaRcUzA== X-Received: by 10.28.156.23 with SMTP id f23mr11380573wme.128.1511542183528; Fri, 24 Nov 2017 08:49:43 -0800 (PST) Received: from denali.Parrot.Biz ([46.218.109.88]) by smtp.gmail.com with ESMTPSA id z108sm38784472wrb.67.2017.11.24.08.49.42 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 24 Nov 2017 08:49:42 -0800 (PST) From: Mathieu Othacehe To: 29409@debbugs.gnu.org Subject: [PATCH] vm: Use os-defined initrd intead of base-initrd. Date: Fri, 24 Nov 2017 17:49:38 +0100 Message-Id: <1511542178-13819-1-git-send-email-m.othacehe@gmail.com> X-Mailer: git-send-email 2.7.4 X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 29409 Cc: Mathieu Othacehe X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) * gnu/system/vm.scm (system-disk-image, system-qemu-image, virtualized-operating-system): Replace base-initrd by (operating-system-initrd os). The system produced were always using base-initrd even if the user had defined a custom initrd based on raw-initrd in the os declaration. --- Hi, I was able to test this fix with the following command : make check-system TESTS="installed-os" and also with an os with a custom raw-initrd. The produced system uses the specified raw-initrd instead of always using base-initrd. Thanks, Mathieu gnu/system/vm.scm | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm index 4424608..3ddb41d 100644 --- a/gnu/system/vm.scm +++ b/gnu/system/vm.scm @@ -423,7 +423,8 @@ to USB sticks meant to be read-only." ;; install QEMU networking or anything like that. Assume USB ;; mass storage devices (usb-storage.ko) are available. (initrd (lambda (file-systems . rest) - (apply base-initrd file-systems + (apply (operating-system-initrd os) + file-systems #:volatile-root? #t rest))) @@ -488,7 +489,8 @@ of the GNU system as described by OS." (let ((os (operating-system (inherit os) ;; Use an initrd with the whole QEMU shebang. (initrd (lambda (file-systems . rest) - (apply base-initrd file-systems + (apply (operating-system-initrd os) + file-systems #:virtio? #t rest))) @@ -574,7 +576,8 @@ environment with the store shared with the host. MAPPINGS is a list of (target "/dev/vda"))) (initrd (lambda (file-systems . rest) - (apply base-initrd file-systems + (apply (operating-system-initrd os) + file-systems #:volatile-root? #t #:virtio? #t rest))) -- 2.7.4 From debbugs-submit-bounces@debbugs.gnu.org Fri Nov 24 16:36:45 2017 Received: (at 29409) by debbugs.gnu.org; 24 Nov 2017 21:36:45 +0000 Received: from localhost ([127.0.0.1]:56517 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eILeP-0001xc-Hm for submit@debbugs.gnu.org; Fri, 24 Nov 2017 16:36:45 -0500 Received: from hera.aquilenet.fr ([141.255.128.1]:40999) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eILeO-0001xV-Kz for 29409@debbugs.gnu.org; Fri, 24 Nov 2017 16:36:44 -0500 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id 938CC1005C; Fri, 24 Nov 2017 22:36:46 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at aquilenet.fr Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id dECiOoGd_1Bk; Fri, 24 Nov 2017 22:36:46 +0100 (CET) Received: from ribbon (unknown [IPv6:2a01:e0a:1d:7270:af76:b9b:ca24:c465]) by hera.aquilenet.fr (Postfix) with ESMTPSA id B2BF5FE16; Fri, 24 Nov 2017 22:36:45 +0100 (CET) From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: Mathieu Othacehe Subject: Re: [bug#29409] [PATCH] vm: Use os-defined initrd intead of base-initrd. References: <877euhtjkj.fsf@gmail.com> <1511542178-13819-1-git-send-email-m.othacehe@gmail.com> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 4 Frimaire an 226 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Fri, 24 Nov 2017 22:36:42 +0100 In-Reply-To: <1511542178-13819-1-git-send-email-m.othacehe@gmail.com> (Mathieu Othacehe's message of "Fri, 24 Nov 2017 17:49:38 +0100") Message-ID: <871skn8il1.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 29409 Cc: 29409@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) Hello! Mathieu Othacehe skribis: > * gnu/system/vm.scm (system-disk-image, system-qemu-image, > virtualized-operating-system): Replace base-initrd by > (operating-system-initrd os). > > The system produced were always using base-initrd even if the user had > defined a custom initrd based on raw-initrd in the os declaration. [...] > (initrd (lambda (file-systems . rest) > - (apply base-initrd file-systems > + (apply (operating-system-initrd os) > + file-systems > #:volatile-root? #t > #:virtio? #t > rest))) A potential issue is that we don=E2=80=99t know whether the user-provided i= nitrd procedure honors #:volatile-root? et al. Maybe that=E2=80=99s not much of a problem in practice: we can assume that it=E2=80=99s up to the user to do t= he right thing. I=E2=80=99d say go for it and we=E2=80=99ll adjust if/when it=E2=80=99s a p= roblem. Thoughts? Thanks, Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Sat Nov 25 03:35:37 2017 Received: (at 29409) by debbugs.gnu.org; 25 Nov 2017 08:35:37 +0000 Received: from localhost ([127.0.0.1]:56721 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eIVw1-0006RQ-5F for submit@debbugs.gnu.org; Sat, 25 Nov 2017 03:35:37 -0500 Received: from dd1012.kasserver.com ([85.13.128.8]:50230) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eIVvz-0006RH-5m for 29409@debbugs.gnu.org; Sat, 25 Nov 2017 03:35:35 -0500 Received: from localhost (77.118.221.240.wireless.dyn.drei.com [77.118.221.240]) by dd1012.kasserver.com (Postfix) with ESMTPSA id 47EA41CA03E8; Sat, 25 Nov 2017 09:35:33 +0100 (CET) Date: Sat, 25 Nov 2017 09:35:29 +0100 From: Danny Milosavljevic To: Mathieu Othacehe Subject: Re: [bug#29409] [PATCH] linux-libre: Adapt some arm options to match intel conf. Message-ID: <20171125093529.70eab09b@scratchpost.org> In-Reply-To: <1511430599-17726-1-git-send-email-m.othacehe@gmail.com> References: <877euhtjkj.fsf@gmail.com> <1511430599-17726-1-git-send-email-m.othacehe@gmail.com> X-Mailer: Claws Mail 3.15.1-dirty (GTK+ 2.24.31; x86_64-unknown-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 29409 Cc: Mathieu Othacehe , 29409@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) Any chance that this patch is not necessary if the correct initrd is used? Because it should have been able to load the modules from the initrd just fine. From debbugs-submit-bounces@debbugs.gnu.org Sat Nov 25 12:22:33 2017 Received: (at 29409) by debbugs.gnu.org; 25 Nov 2017 17:22:33 +0000 Received: from localhost ([127.0.0.1]:58132 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eIe9x-0006QM-IU for submit@debbugs.gnu.org; Sat, 25 Nov 2017 12:22:33 -0500 Received: from mail-wr0-f193.google.com ([209.85.128.193]:42329) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eIe9w-0006QA-Mn for 29409@debbugs.gnu.org; Sat, 25 Nov 2017 12:22:32 -0500 Received: by mail-wr0-f193.google.com with SMTP id o14so22767005wrf.9 for <29409@debbugs.gnu.org>; Sat, 25 Nov 2017 09:22:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=references:user-agent:from:to:cc:subject:in-reply-to:date :message-id:mime-version; bh=Ai28J7ZCh/X+W9JT2t0RcEe0W4EhE0pFW9H8ykP8P0M=; b=dXccucw/53E6pXAQ3y9rSMWKfJaJbjb7TloTKH6iD6YcguLBwtAYlXPAJ3q6R7LT8D K1EsE4X7fEQDxMb6JMI+ZHGL5oLCib6F9b3KsZTuzH2oa9ptfUBu6gMvQfebS4uytXu2 tbxJNXxros1pHisbPDv85ThjS/kzjXySmeYUivGnLAA/qt6uPmfRVMZx9xkFLzOIC3P+ KcV1n+D5w2JAx1wCbJcpR23aaRz3mDkO0lQAsFHVSRJIEEhq0t37hVGjY31t0sB4EvRJ GK+YxVOTd7l/5gvIvBkI8RazVE+FTDjjc4uHYwXsf+q1bvdeBUdWOCbHoUXn266Mr9T/ t1dg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:references:user-agent:from:to:cc:subject :in-reply-to:date:message-id:mime-version; bh=Ai28J7ZCh/X+W9JT2t0RcEe0W4EhE0pFW9H8ykP8P0M=; b=OBWn1z9U3Yq7ciUjphZjkqBTLo1vPf+0Fd8UwX24nEyblIb7XTWO+xw+6/z0jNRXgu k+GxM3tg7wi5Sj4JVY8djuqrWm4eXCl1jMgZE5w/s8s4XSlUUkr9vznyWB1JiwIgVeCp bLK11orURNTIAiUgTXvsGZvaNac5I/PkxgUwvsfHZiMhL0g8cd6QWxhkN/50a/uZihl/ 1VtOLmygW+D6cDsZ3yYuiWGozrc7J0STfdwF698puldohsaEeZycIjvUGI1aVP93R951 KGWqHKNfNt2Ae8V//VnVa8vmuaSpGtAmgM13HHgl7ebIhzh50etllDRnKXqm0BQQu1IC ddnQ== X-Gm-Message-State: AJaThX6muUxA26xcCsYKSjlZ6vt2zRV1Buk5xLe8NIfZKA4lX2MR9/Ht casoHrTFEnXIJM5JK5Cq721QGQ== X-Google-Smtp-Source: AGs4zMantkGRWJKSMLP8+eJ0IPe2/7XN+hVIdyUnwGbmQiGs31TTlMuyjTFxAbppl/y4PIlUlBL3zw== X-Received: by 10.223.146.167 with SMTP id 36mr21138555wrn.102.1511630546524; Sat, 25 Nov 2017 09:22:26 -0800 (PST) Received: from cervin ([78.192.96.126]) by smtp.gmail.com with ESMTPSA id l16sm27791594wma.19.2017.11.25.09.22.25 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sat, 25 Nov 2017 09:22:25 -0800 (PST) References: <877euhtjkj.fsf@gmail.com> <1511430599-17726-1-git-send-email-m.othacehe@gmail.com> <20171125093529.70eab09b@scratchpost.org> User-agent: mu4e 0.9.18; emacs 25.3.1 From: Mathieu Othacehe To: Danny Milosavljevic Subject: Re: [bug#29409] [PATCH] linux-libre: Adapt some arm options to match intel conf. In-reply-to: <20171125093529.70eab09b@scratchpost.org> Date: Sat, 25 Nov 2017 18:22:23 +0100 Message-ID: <87o9nq1df4.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 29409 Cc: 29409@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) > Any chance that this patch is not necessary if the correct initrd is used? Because it should have been able to load the modules from the initrd just fine. Well the initrd used on intel platforms only loads a specific set of modules ("ahci" "usb-storage" ...), see linux-modules in linux-initrd.scm. I'd like to reuse the same code on arm platform, so I think the better option is for kernel configurations to converge instead of defining specific initrd for specific platforms. I plan on adding a gnu/system/installers/ or a gnu/system/boards/ directory with one file per specific platform. Then each board will have a specific bootloader: grub, u-boot-... but, if possible, the same kernel : linux-libre and the same initrd : base-initrd (with some #:extra-modules if needed). WDYT ? Mathieu From debbugs-submit-bounces@debbugs.gnu.org Sun Nov 26 03:16:29 2017 Received: (at 29409) by debbugs.gnu.org; 26 Nov 2017 08:16:29 +0000 Received: from localhost ([127.0.0.1]:58511 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eIs73-0004Kt-5Z for submit@debbugs.gnu.org; Sun, 26 Nov 2017 03:16:29 -0500 Received: from dd1012.kasserver.com ([85.13.128.8]:50232) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eIs71-0004Kl-An for 29409@debbugs.gnu.org; Sun, 26 Nov 2017 03:16:27 -0500 Received: from localhost (77.118.221.240.wireless.dyn.drei.com [77.118.221.240]) by dd1012.kasserver.com (Postfix) with ESMTPSA id 17A5F1CA07A8; Sun, 26 Nov 2017 09:16:25 +0100 (CET) Date: Sun, 26 Nov 2017 09:16:21 +0100 From: Danny Milosavljevic To: Mathieu Othacehe Subject: Re: [bug#29409] [PATCH] linux-libre: Adapt some arm options to match intel conf. Message-ID: <20171126091621.294dd304@scratchpost.org> In-Reply-To: <87o9nq1df4.fsf@gmail.com> References: <877euhtjkj.fsf@gmail.com> <1511430599-17726-1-git-send-email-m.othacehe@gmail.com> <20171125093529.70eab09b@scratchpost.org> <87o9nq1df4.fsf@gmail.com> X-Mailer: Claws Mail 3.15.1-dirty (GTK+ 2.24.31; x86_64-unknown-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 29409 Cc: 29409@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) Hi Mathieu, > I'd like to reuse the same code on arm platform, so I think the better > option is for kernel configurations to converge instead of defining > specific initrd for specific platforms. Yeah, good point. I agree. > I plan on adding a gnu/system/installers/ or a gnu/system/boards/ > directory with one file per specific platform. Then each board will have > a specific bootloader: grub, u-boot-... but, if possible, the same > kernel : linux-libre and the same initrd : base-initrd (with some > #:extra-modules if needed). Makes sense. From debbugs-submit-bounces@debbugs.gnu.org Sun Nov 26 07:49:58 2017 Received: (at 29409) by debbugs.gnu.org; 26 Nov 2017 12:49:58 +0000 Received: from localhost ([127.0.0.1]:58628 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eIwNi-0005b8-MW for submit@debbugs.gnu.org; Sun, 26 Nov 2017 07:49:58 -0500 Received: from mail-wm0-f54.google.com ([74.125.82.54]:44893) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eIwNh-0005au-Ku for 29409@debbugs.gnu.org; Sun, 26 Nov 2017 07:49:57 -0500 Received: by mail-wm0-f54.google.com with SMTP id r68so29454948wmr.3 for <29409@debbugs.gnu.org>; Sun, 26 Nov 2017 04:49:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=references:user-agent:from:to:cc:subject:in-reply-to:date :message-id:mime-version:content-transfer-encoding; bh=AWlg+ShPU7vPRGnU+iEqub9uXjI29YGpJED6GRX8oLQ=; b=Q/GxInVASN3HYCarC8IJR8urMAQFpcpMmqL6Q7DEbw0FSMfwoFmS/JGFWrLprxy99w sL3VP8ZxU7Vveb7cSO1r7H/Xe8pJRCp/zucFl/p1vVtqNVwObu7DhFp/IUzYsrhBNOoe IMn7OndyX6uQyrFnIh0DzJrIUaLjjECLOjIArVlRdnIAShkttgd7pu3s6LtYx9FguaOF Lhd3vNum9hd7pYm3sLR0tNLCV3IwLzPsbZDGOCl/GpurKGJcy+qtyYysV5o34SMnkxTo JFZYNY6DgfYjirUv4FcQ0M6jztm1BH0thGbp1DcUA4cEFoL2F5JBMev5xLUNv1oqFYaJ pliQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:references:user-agent:from:to:cc:subject :in-reply-to:date:message-id:mime-version:content-transfer-encoding; bh=AWlg+ShPU7vPRGnU+iEqub9uXjI29YGpJED6GRX8oLQ=; b=VcRpkHw3Y7tAmtW2dnv0PezTTKuOPeVsi78TXS9tjqOOwFxHwudqd08/hZLA/UTPz3 xcC3/qEF6VY1NsJyb2KqoFhHWIp9D4Tycfnyl/FybDmFEIShnGEGXzJpgWdzngCh9o6E iTUPhLp6eClJpfH2lKCfrRDrSG/D5Gq6zIyVgP2CQDeEDpuwAZuHZricbWLuaKrV0WEr 3lDwZe4s8lvBiLinyCPZ4OpAN1LSldp7Z3A+i56470Ay8McA/3eHH8PPDwbRu73v90l9 ipVO23rXtK2JnMXq/yAll4QyNaRfrBleku65qxa7IrwRGEOuuNEy+RUAvVMLu6F01xBv dIiA== X-Gm-Message-State: AJaThX6gx6JvfZoFDhcLTf0LtfGrlQgBH/iyhn8bYY98tk4jKTHrciJj T1L9PxFmLi97USQP8xZWS6+aWg== X-Google-Smtp-Source: AGs4zMaPuvzwTcwnkvSqoD8IkoJBBKjVwBIz3C2OvLHE6eKc81j5dL++EI91a3Zdg04LTdCnxcv7Tg== X-Received: by 10.28.34.67 with SMTP id i64mr14359205wmi.57.1511700591342; Sun, 26 Nov 2017 04:49:51 -0800 (PST) Received: from cervin ([78.192.96.126]) by smtp.gmail.com with ESMTPSA id o10sm15099521wrg.5.2017.11.26.04.49.50 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sun, 26 Nov 2017 04:49:50 -0800 (PST) References: <877euhtjkj.fsf@gmail.com> <1511542178-13819-1-git-send-email-m.othacehe@gmail.com> <871skn8il1.fsf@gnu.org> User-agent: mu4e 0.9.18; emacs 25.3.1 From: Mathieu Othacehe To: Ludovic =?utf-8?Q?Court=C3=A8s?= Subject: Re: [bug#29409] [PATCH] vm: Use os-defined initrd intead of base-initrd. In-reply-to: <871skn8il1.fsf@gnu.org> Date: Sun, 26 Nov 2017 13:49:48 +0100 Message-ID: <87mv3919xv.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 29409 Cc: 29409@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) Hey Ludo ! > A potential issue is that we don’t know whether the user-provided initrd > procedure honors #:volatile-root? et al. Maybe that’s not much of a > problem in practice: we can assume that it’s up to the user to do the > right thing. > > I’d say go for it and we’ll adjust if/when it’s a problem. > > Thoughts? Well i agree, it's true that this raw-initrd thing is a bit fragile but that's the only way for users to define handcrafted initrds. So i'll push but maybe we need to find something better than raw-initrd to cover this need. Thanks, Mathieu From debbugs-submit-bounces@debbugs.gnu.org Tue Nov 28 04:22:44 2017 Received: (at 29409) by debbugs.gnu.org; 28 Nov 2017 09:22:44 +0000 Received: from localhost ([127.0.0.1]:33479 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eJc6F-0005RB-Su for submit@debbugs.gnu.org; Tue, 28 Nov 2017 04:22:44 -0500 Received: from mail-wm0-f67.google.com ([74.125.82.67]:42242) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eJc6A-0005Qs-57 for 29409@debbugs.gnu.org; Tue, 28 Nov 2017 04:22:42 -0500 Received: by mail-wm0-f67.google.com with SMTP id 124so334199wmv.1 for <29409@debbugs.gnu.org>; Tue, 28 Nov 2017 01:22:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=aczmGUQ4D7VWyYaAYasyzLh4Je+77Qhu1diM5rOTHAc=; b=IZhD2B+IRJ0cVFuORdD/xQLN364/l3/1mYAYIVF7dkAuKvUxiwB/E8718mwLCFYc2X 8Z28LNfGF5n/fLd6m7uH5K+iuxHceqsB39Aa21kuY4QQ9EMmywyyFZ2lj/yGBs/MqsmQ MrZtI3CNGS3IPP45ALJDx2qEktaktmpFheHK/iUEF2RFtUNEVT9ZI0C002Lnc+mKj23t QkGCTd4AsHtYWd+2gi/esvv/e61x5PIgnKFMNKSBnPfRFcZ6f0S9p0JqkphEyOPb2de1 HwFSqub5kzAc7GITmkZQR4tZLp4wLIMYmyJobxp8ag/s/HFwyDD+uuGZtu9ils9HNgYB rn4g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=aczmGUQ4D7VWyYaAYasyzLh4Je+77Qhu1diM5rOTHAc=; b=ZosnfMidiFNwBoKxtghQb/pMtGp2jd9hIGqgMsVYCoEHIHeOMd5HAOfXyOGSDzkoBU 9mt4bLSxrMM9rTt6v7lwZmaaZjB3/OTZraVhgnKJATKBacw4jbJjjEtD5BBT06BzBDAO TCySG2hQSOPJelibf5sulWbeZ3d786uF5qsD+7pUorgYj+s2mxqFsVIxmgYQV8GW5Ui9 OxR+0BfHAa0UIDsbuYjAKzzF+JjUKRhG+J0zN6ZoGErEBhron0o6RssSEeZSdneNv6jI 26qmkqpuD+VFiNE5rWXMZRATOcOsUk4KY2WlMZ8ISsez/4Yi3TczA8HVyM7La4rwkvL+ vpGQ== X-Gm-Message-State: AJaThX6sbzyTeMLulz+lBb+6HF+zP2X1O+l1YhZ2OP3hR8ivviAKzAm5 7mmddc1kg34gHXmmXm9Z6gF6og== X-Google-Smtp-Source: AGs4zMZQ8oUSyfZUJKlgB6R4wfENkXX6/pD1DdYOtcj2eZpHNwvFyQ1Rhh9onhJPm21xq2yIGscC3Q== X-Received: by 10.28.18.1 with SMTP id 1mr21949394wms.88.1511860951907; Tue, 28 Nov 2017 01:22:31 -0800 (PST) Received: from denali.Parrot.Biz ([46.218.109.88]) by smtp.gmail.com with ESMTPSA id t135sm12144265wmt.24.2017.11.28.01.22.31 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 28 Nov 2017 01:22:31 -0800 (PST) From: m.othacehe@gmail.com To: 29409@debbugs.gnu.org Subject: [PATCH] gnu: dtc: Fix build on 32 bits platforms. Date: Tue, 28 Nov 2017 10:22:19 +0100 Message-Id: <1511860939-13133-1-git-send-email-m.othacehe@gmail.com> X-Mailer: git-send-email 2.7.4 X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 29409 Cc: Mathieu Othacehe X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) From: Mathieu Othacehe * gnu/packages/bootloaders.scm (dtc)[patches]: Add dtc-32-bits-check.patch and dtc-format-modifier.patch to fix build and tests on 32 bits platforms. * gnu/packages/patches/dtc-32-bits-check.patch : New file. * gnu/packages/patches/dtc-format-modifier.patch : New file. * gnu/local.mk (dist_patch_DATA): Add two above patches. --- gnu/local.mk | 2 + gnu/packages/bootloaders.scm | 6 +- gnu/packages/patches/dtc-32-bits-check.patch | 134 +++++++++++++++++++++++++ gnu/packages/patches/dtc-format-modifier.patch | 38 +++++++ 4 files changed, 179 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/dtc-32-bits-check.patch create mode 100644 gnu/packages/patches/dtc-format-modifier.patch diff --git a/gnu/local.mk b/gnu/local.mk index ebff708..55c961d 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -602,6 +602,8 @@ dist_patch_DATA = \ %D%/packages/patches/doc++-include-directives.patch \ %D%/packages/patches/doc++-segfault-fix.patch \ %D%/packages/patches/doxygen-test.patch \ + %D%/packages/patches/dtc-format-modifier.patch \ + %D%/packages/patches/dtc-32-bits-check.patch \ %D%/packages/patches/dvd+rw-tools-add-include.patch \ %D%/packages/patches/elfutils-tests-ptrace.patch \ %D%/packages/patches/elixir-disable-failing-tests.patch \ diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index 20f38b2..d28fe32 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -296,7 +296,11 @@ menu to select one of the installed operating systems.") "dtc-" version ".tar.xz")) (sha256 (base32 - "08gnl39i4xy3dm8iqwlz2ygx0ml1bgc5kpiys5ll1wvah1j72b04")))) + "08gnl39i4xy3dm8iqwlz2ygx0ml1bgc5kpiys5ll1wvah1j72b04")) + ;; Fix build and tests on 32 bits platforms. + ;; Will probably be fixed in 1.4.6 release. + (patches (search-patches "dtc-format-modifier.patch" + "dtc-32-bits-check.patch")))) (build-system gnu-build-system) (native-inputs `(("bison" ,bison) diff --git a/gnu/packages/patches/dtc-32-bits-check.patch b/gnu/packages/patches/dtc-32-bits-check.patch new file mode 100644 index 0000000..cf15be3 --- /dev/null +++ b/gnu/packages/patches/dtc-32-bits-check.patch @@ -0,0 +1,134 @@ +This fixes tests on 32 bits platforms. Patch taken from upstream. + +commit f8872e29ce06d78d3db71b3ab26a7465fc8a9586 +Author: David Gibson +Date: Fri Oct 6 23:07:30 2017 +1100 + + tests: Avoid 64-bit arithmetic in assembler + + For testing we (ab)use the assembler to build us a sample dtb, independent + of the other tools (dtc and libfdt) that we're trying to test. In a few + places this uses 64-bit arithmetic to decompose 64-bit constants into + the individual bytes in the blob. + + Unfortunately, it seems that some builds of GNU as don't support >32 bit + arithmetic, though it's not entirely clear to me which do and which don't + (Fedora i386 does support 64-bit, Debian arm32 doesn't). + + Anyway, to be safe, this avoids 64-bit arithmetic in assembler at the cost + of some extra awkwardness because we have to define the values in 32-bit + halves. + + Signed-off-by: David Gibson + +diff --git a/tests/testdata.h b/tests/testdata.h +index 3588778..f6bbe1d 100644 +--- a/tests/testdata.h ++++ b/tests/testdata.h +@@ -4,15 +4,25 @@ + #define ASM_CONST_LL(x) (x##ULL) + #endif + +-#define TEST_ADDR_1 ASM_CONST_LL(0xdeadbeef00000000) +-#define TEST_SIZE_1 ASM_CONST_LL(0x100000) +-#define TEST_ADDR_2 ASM_CONST_LL(123456789) +-#define TEST_SIZE_2 ASM_CONST_LL(010000) ++#define TEST_ADDR_1H ASM_CONST_LL(0xdeadbeef) ++#define TEST_ADDR_1L ASM_CONST_LL(0x00000000) ++#define TEST_ADDR_1 ((TEST_ADDR_1H << 32) | TEST_ADDR_1L) ++#define TEST_SIZE_1H ASM_CONST_LL(0x00000000) ++#define TEST_SIZE_1L ASM_CONST_LL(0x00100000) ++#define TEST_SIZE_1 ((TEST_SIZE_1H << 32) | TEST_SIZE_1L) ++#define TEST_ADDR_2H ASM_CONST_LL(0) ++#define TEST_ADDR_2L ASM_CONST_LL(123456789) ++#define TEST_ADDR_2 ((TEST_ADDR_2H << 32) | TEST_ADDR_2L) ++#define TEST_SIZE_2H ASM_CONST_LL(0) ++#define TEST_SIZE_2L ASM_CONST_LL(010000) ++#define TEST_SIZE_2 ((TEST_SIZE_2H << 32) | TEST_SIZE_2L) + + #define TEST_VALUE_1 0xdeadbeef + #define TEST_VALUE_2 123456789 + +-#define TEST_VALUE64_1 ASM_CONST_LL(0xdeadbeef01abcdef) ++#define TEST_VALUE64_1H ASM_CONST_LL(0xdeadbeef) ++#define TEST_VALUE64_1L ASM_CONST_LL(0x01abcdef) ++#define TEST_VALUE64_1 ((TEST_VALUE64_1H << 32) | TEST_VALUE64_1L) + + #define PHANDLE_1 0x2000 + #define PHANDLE_2 0x2001 +diff --git a/tests/trees.S b/tests/trees.S +index 9854d1d..9859914 100644 +--- a/tests/trees.S ++++ b/tests/trees.S +@@ -7,16 +7,6 @@ + .byte ((val) >> 8) & 0xff ; \ + .byte (val) & 0xff ; + +-#define FDTQUAD(val) \ +- .byte ((val) >> 56) & 0xff ; \ +- .byte ((val) >> 48) & 0xff ; \ +- .byte ((val) >> 40) & 0xff ; \ +- .byte ((val) >> 32) & 0xff ; \ +- .byte ((val) >> 24) & 0xff ; \ +- .byte ((val) >> 16) & 0xff ; \ +- .byte ((val) >> 8) & 0xff ; \ +- .byte (val) & 0xff ; +- + #define TREE_HDR(tree) \ + .balign 8 ; \ + .globl _##tree ; \ +@@ -33,14 +23,16 @@ tree: \ + FDTLONG(tree##_strings_end - tree##_strings) ; \ + FDTLONG(tree##_struct_end - tree##_struct) ; + +-#define RSVMAP_ENTRY(addr, len) \ +- FDTQUAD(addr) ; \ +- FDTQUAD(len) ; \ ++#define RSVMAP_ENTRY(addrh, addrl, lenh, lenl) \ ++ FDTLONG(addrh) ; \ ++ FDTLONG(addrl) ; \ ++ FDTLONG(lenh) ; \ ++ FDTLONG(lenl) + + #define EMPTY_RSVMAP(tree) \ + .balign 8 ; \ + tree##_rsvmap: ; \ +- RSVMAP_ENTRY(0, 0) \ ++ RSVMAP_ENTRY(0, 0, 0, 0) \ + tree##_rsvmap_end: ; + + #define PROPHDR(tree, name, len) \ +@@ -52,9 +44,10 @@ tree##_rsvmap_end: ; + PROPHDR(tree, name, 4) \ + FDTLONG(val) ; + +-#define PROP_INT64(tree, name, val) \ ++#define PROP_INT64(tree, name, valh, vall) \ + PROPHDR(tree, name, 8) \ +- FDTQUAD(val) ; ++ FDTLONG(valh) ; \ ++ FDTLONG(vall) ; + + #define PROP_STR(tree, name, str) \ + PROPHDR(tree, name, 55f - 54f) \ +@@ -81,16 +74,16 @@ tree##_##name: ; \ + + .balign 8 + test_tree1_rsvmap: +- RSVMAP_ENTRY(TEST_ADDR_1, TEST_SIZE_1) +- RSVMAP_ENTRY(TEST_ADDR_2, TEST_SIZE_2) +- RSVMAP_ENTRY(0, 0) ++ RSVMAP_ENTRY(TEST_ADDR_1H, TEST_ADDR_1L, TEST_SIZE_1H, TEST_SIZE_1L) ++ RSVMAP_ENTRY(TEST_ADDR_2H, TEST_ADDR_2L, TEST_SIZE_2H, TEST_SIZE_2L) ++ RSVMAP_ENTRY(0, 0, 0, 0) + test_tree1_rsvmap_end: + + test_tree1_struct: + BEGIN_NODE("") + PROP_STR(test_tree1, compatible, "test_tree1") + PROP_INT(test_tree1, prop_int, TEST_VALUE_1) +- PROP_INT64(test_tree1, prop_int64, TEST_VALUE64_1) ++ PROP_INT64(test_tree1, prop_int64, TEST_VALUE64_1H, TEST_VALUE64_1L) + PROP_STR(test_tree1, prop_str, TEST_STRING_1) + PROP_INT(test_tree1, address_cells, 1) + PROP_INT(test_tree1, size_cells, 0) diff --git a/gnu/packages/patches/dtc-format-modifier.patch b/gnu/packages/patches/dtc-format-modifier.patch new file mode 100644 index 0000000..c33d168 --- /dev/null +++ b/gnu/packages/patches/dtc-format-modifier.patch @@ -0,0 +1,38 @@ +This fixes build on 32 bits platforms. This patch is taken from upstream. + +commit 497432fd2131967f349e69dc5d259072151cc4b4 +Author: Thierry Reding +Date: Wed Sep 27 15:04:09 2017 +0200 + + checks: Use proper format modifier for size_t + + The size of size_t can vary between architectures, so using %ld isn't + going to work on 32-bit builds. Use the %zu modifier to make sure it is + always correct. + + Signed-off-by: Thierry Reding + Acked-by: Rob Herring + Signed-off-by: David Gibson + +diff --git a/checks.c b/checks.c +index 902f2e3..08a3a29 100644 +--- a/checks.c ++++ b/checks.c +@@ -972,7 +972,7 @@ static void check_property_phandle_args(struct check *c, + int cell, cellsize = 0; + + if (prop->val.len % sizeof(cell_t)) { +- FAIL(c, dti, "property '%s' size (%d) is invalid, expected multiple of %ld in node %s", ++ FAIL(c, dti, "property '%s' size (%d) is invalid, expected multiple of %zu in node %s", + prop->name, prop->val.len, sizeof(cell_t), node->fullpath); + return; + } +@@ -1163,7 +1163,7 @@ static void check_interrupts_property(struct check *c, + return; + + if (irq_prop->val.len % sizeof(cell_t)) +- FAIL(c, dti, "property '%s' size (%d) is invalid, expected multiple of %ld in node %s", ++ FAIL(c, dti, "property '%s' size (%d) is invalid, expected multiple of %zu in node %s", + irq_prop->name, irq_prop->val.len, sizeof(cell_t), + node->fullpath); + -- 2.7.4 From debbugs-submit-bounces@debbugs.gnu.org Tue Nov 28 04:28:29 2017 Received: (at 29409) by debbugs.gnu.org; 28 Nov 2017 09:28:29 +0000 Received: from localhost ([127.0.0.1]:33483 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eJcBo-0005ZL-WE for submit@debbugs.gnu.org; Tue, 28 Nov 2017 04:28:29 -0500 Received: from mail-wr0-f173.google.com ([209.85.128.173]:39610) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eJcBn-0005Z7-B7 for 29409@debbugs.gnu.org; Tue, 28 Nov 2017 04:28:27 -0500 Received: by mail-wr0-f173.google.com with SMTP id 11so25800815wrb.6 for <29409@debbugs.gnu.org>; Tue, 28 Nov 2017 01:28:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=u/i0Av23bXXdTN6TS+esMbi3o6WsRpRy1mlCw7C/H8g=; b=KFv0dVy3bqRrMrGg0Mr4knjMnVmPSBALyiMDVUrf622ohlYsV1JfZ6IucUlPuU2a8z pYAit/eGG265mRnRv2M3bo7Udihx9ZoevRv7mAdcjukqjVz60Y6iKZJ1ynfAxZuJEg6M 916TU0aK3hU78Jy7ErSzt/EYgGSvp11wEC5lmeunq6wvKxrl3RIa138BvbiQ5taSw9T1 Zq6J0P1LX1X/Iz3rLiwLc8LbdM9oEZP1M7150IHTMEAuFcQKFAkFHiAReolmFyPkZUTF /uNwvOxjcY/9Jb+IF7a4pechiSE4K+FpC87PqEZUkjyGsnS+LaDmZfMqJmUZzmpK+QyA lXLQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=u/i0Av23bXXdTN6TS+esMbi3o6WsRpRy1mlCw7C/H8g=; b=pA2Cuvrc1S4x+Y67dmOqOSha20i8L5eYcNgJg10EfobiARWTd68eszmPwRus6QJccL bRDzt4JXDlYWqpHsL//f8dKvSVS4YaxCB/SQavmAaV8ELuh1/Okj3GraJOqwKa5zGcg2 bmLI/0jX6x5w5mj6sZjVF+iqEhly8ywwPJjjnULVLYrePmv06YVPqJmRE/QneYRSdM4f dXtwv6Q6u5xQVR1z7qxtHl41hsqO9sJsKecGr1yPGNMHNEA1k4xzHSTB4O3bzsOpyNTF xx93GQ0u4DL1dA+7z9k3rTEehSfJDy5OohGKMXnVKVhlrFx1IqagzVkXcDzoNf4fwYyi m9/w== X-Gm-Message-State: AJaThX4cuB5xrAA5XOaGR7v6W4mxqlWM77+cxKF17LxsPiDBlzwB2biK VhuiFCTcKdKCp5sgGBZGBIWI+g== X-Google-Smtp-Source: AGs4zMbuolBITxyRSC4K6J8dNcNneUf0u5MZ2Zs/+QeX2X6zRDqhAGqjuWfKi5XYMBWLyhRHDJpMBg== X-Received: by 10.223.200.6 with SMTP id d6mr34542428wrh.118.1511861301461; Tue, 28 Nov 2017 01:28:21 -0800 (PST) Received: from denali.Parrot.Biz ([46.218.109.88]) by smtp.gmail.com with ESMTPSA id m23sm12793619wmc.29.2017.11.28.01.28.20 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 28 Nov 2017 01:28:20 -0800 (PST) From: m.othacehe@gmail.com To: 29409@debbugs.gnu.org Subject: [PATCH] gnu: grub: Disable tests on ARM platforms. Date: Tue, 28 Nov 2017 10:28:15 +0100 Message-Id: <1511861295-13822-1-git-send-email-m.othacehe@gmail.com> X-Mailer: git-send-email 2.7.4 X-Spam-Score: -0.1 (/) X-Debbugs-Envelope-To: 29409 Cc: Mathieu Othacehe X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.1 (/) From: Mathieu Othacehe * gnu/packages/bootloaders (grub): Disable tests on ARM platforms. Half of the tests are failing on ARM. --- gnu/packages/bootloaders.scm | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index d28fe32..c66d374 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -75,7 +75,7 @@ "03vvdfhdmf16121v7xs8is2krwnv15wpkhkf16a4yf8nsfc3f2w1")))) (build-system gnu-build-system) (arguments - '(#:phases (modify-phases %standard-phases + `(#:phases (modify-phases %standard-phases (add-after 'unpack 'patch-stuff (lambda* (#:key inputs #:allow-other-keys) (substitute* "grub-core/Makefile.in" @@ -102,7 +102,10 @@ (substitute* "Makefile.in" (("grub_cmd_date grub_cmd_set_date grub_cmd_sleep") "grub_cmd_date grub_cmd_sleep")) - #t))))) + #t))) + ;; Disable tests on ARM platforms. + #:tests? ,(not (string-prefix? "arm" (or (%current-target-system) + (%current-system)))))) (inputs `(("gettext" ,gettext-minimal) -- 2.7.4 From debbugs-submit-bounces@debbugs.gnu.org Tue Nov 28 16:00:45 2017 Received: (at 29409) by debbugs.gnu.org; 28 Nov 2017 21:00:45 +0000 Received: from localhost ([127.0.0.1]:35190 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eJmzl-0004px-8q for submit@debbugs.gnu.org; Tue, 28 Nov 2017 16:00:45 -0500 Received: from out4-smtp.messagingengine.com ([66.111.4.28]:42735) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eJmzj-0004pm-3a for 29409@debbugs.gnu.org; Tue, 28 Nov 2017 16:00:43 -0500 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.nyi.internal (Postfix) with ESMTP id 8A5F820CD1; Tue, 28 Nov 2017 16:00:40 -0500 (EST) Received: from frontend1 ([10.202.2.160]) by compute4.internal (MEProxy); Tue, 28 Nov 2017 16:00:40 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=famulari.name; h=cc:content-type:date:from:in-reply-to:message-id:mime-version :references:subject:to:x-me-sender:x-me-sender:x-sasl-enc; s= mesmtp; bh=Rnc+EsN2qDlw7ybdiSP/XyNy7p9T0qAFUPr1tKmJkLs=; b=wixcN /C2A5l4Vcj8UzsZYkyLJVvl3+Zs60XMjyhMeiZnjsTYPHkmwq9yfHtc1r9+AqrnK 311OLysStSvp6iQzqh9Yi5aTVTLkY4JVWubGQq9U4n6vnkNt7RP8dN4KDufTYnby tL0bATlr8Ufd+Sj7k2EgHIinsmFNu9AoKGb4Us= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-sender :x-me-sender:x-sasl-enc; s=fm1; bh=Rnc+EsN2qDlw7ybdiSP/XyNy7p9T0 qAFUPr1tKmJkLs=; b=rQyBYzYoaE7TpSOmGkeJVVCksEN4jIxo3dM6CB9whaEsF YQZU8WY9HE7uT/E1dH9DpRsnw2ffSy1D1zclhYzXPHiB+F14bQFeAMJsbo7H1f3e 2Z2izahFmlWxqaiqH6I+cKNjY2Quw7PLKJGTATCDZN663HXn8VCjH8RX1DCHx0cz jFHvcUmugrxAFv2yxsYLswH7pOpW73Rgr7QzlB6+/sI0+OgAiZ6KxordK8oUjFtK 1H49L2l/Mm30oN19UojjbD8mjUKdQUE2aBjcwHVy5cxWMwhz+CHVc/cOp4rnsRy+ Ho8Ovikb6N5tZNEPovhsoVnKWn5+kaIa3iFCEPYgw== X-ME-Sender: Received: from localhost (c-73-165-108-70.hsd1.pa.comcast.net [73.165.108.70]) by mail.messagingengine.com (Postfix) with ESMTPA id 2F12F7F7F6; Tue, 28 Nov 2017 16:00:40 -0500 (EST) Date: Tue, 28 Nov 2017 16:00:38 -0500 From: Leo Famulari To: m.othacehe@gmail.com Subject: Re: [bug#29409] [PATCH] gnu: grub: Disable tests on ARM platforms. Message-ID: <20171128210038.GA7962@jasmine.lan> References: <877euhtjkj.fsf@gmail.com> <1511861295-13822-1-git-send-email-m.othacehe@gmail.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="jRHKVT23PllUwdXP" Content-Disposition: inline In-Reply-To: <1511861295-13822-1-git-send-email-m.othacehe@gmail.com> User-Agent: Mutt/1.9.1 (2017-09-22) X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 29409 Cc: 29409@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --jRHKVT23PllUwdXP Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, Nov 28, 2017 at 10:28:15AM +0100, m.othacehe@gmail.com wrote: > From: Mathieu Othacehe >=20 > * gnu/packages/bootloaders (grub): Disable tests on ARM platforms. > Half of the tests are failing on ARM. Okay. Can you also report the test failures upstream? --jRHKVT23PllUwdXP Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEsFFZSPHn08G5gDigJkb6MLrKfwgFAlodzm0ACgkQJkb6MLrK fwjYyBAA32avTGpgUMpwaw7kKQ2atp9YNMQcJoOIv9XllzfMjjwR24Gaq4WlNwOu uWvMIFcXUrLGZZU1KnA8rHduIPlR3ld64tIibYa+1m4KZoW7III1JVSagzkCRyIp ugRtBkWb4jqSDZU8xWBS/z8SpY12yHvDKRtRoMRWmb87sMrrI6ohi9N24dkasesM GURC7KsN1B5++LeTrD+7KNuMyfTvckR2CXANjrFXV0EcsxQHFE3zJCk/PWyQKs1V zFCbT1eIlJLz6/rgM2uTylYyaHttZcnK6xK3AvaevlxVXyPxtgPLVZyCZAi63LmU s60rGLZztFyPraG+f5yXGfJgers9U1d5WXxz0elMTsd0tmQp4e8mLR7L0+eZZ5hd qW5rOPQ+lMzVRBRaym21HSyYfZpOGZI6jQES4jRf7DK4VmoDCbEMKCyX2NrLs6gp hM4IXezD648FynI3EeANLF90wjdi1TAF+cFTUF/bBiJrlxrAKFWLsvZsEjtimaLc LB7wwIjfjDJ+F7hpDOYSXQmKrIH5kTQpWOqT7BInXS4qppQfhUyCyKIAgAGsu0ly jmISj+9Qdd5tMrtAZnaIr62yTTObhGMJSr7IRmwpI4pZNpUyghsCoicE9Q6Xfb7f CxjfAyHSGLvMqzSMkgmB+EjYpNlRtXctynLRO4EtcgjrhEe2WhQ= =zKav -----END PGP SIGNATURE----- --jRHKVT23PllUwdXP-- From debbugs-submit-bounces@debbugs.gnu.org Wed Nov 29 09:03:12 2017 Received: (at 29409) by debbugs.gnu.org; 29 Nov 2017 14:03:12 +0000 Received: from localhost ([127.0.0.1]:35794 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eK2xE-0007Hx-CC for submit@debbugs.gnu.org; Wed, 29 Nov 2017 09:03:12 -0500 Received: from mail-wm0-f43.google.com ([74.125.82.43]:38693) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eK2x9-0007Hf-SA for 29409@debbugs.gnu.org; Wed, 29 Nov 2017 09:03:08 -0500 Received: by mail-wm0-f43.google.com with SMTP id 64so6137052wme.3 for <29409@debbugs.gnu.org>; Wed, 29 Nov 2017 06:03:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=references:user-agent:from:to:cc:subject:in-reply-to:date :message-id:mime-version; bh=kEf/hKnYJ+g4yJnhrDkFiaffOFJrhp8yRQ1Zp0Hp72Q=; b=sNB1bIADm5f80VixMhQilLdftQ6C5AeOEwER4egW4614uvh8f7IR5j9LLxwiJE0EHf ByRcuW4pgE++hYA091L3LEzdJXL5/eNCXNEk614Fz5qAETS1/ry4e7EIi+cPTgtQsO70 Yq1oClj24H+jzaaiNs7UvZCX8Ix5i1vpFCkLGB29T+GHeD/xNJA/j+c85lsTQj+F0x1c Jqtgx95O0rFwO0kWo5EaeqL6rUe+PhB3d6wp7nrFlaZ8aK069pHpfOyVZamigh5EXQuG Rd+uxJWk7OiwjXovJGVbbAveRiiCwe/QcugHewcsWhSxtLDcl+UzKuilhVqCdSxMIL2u ZJdg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:references:user-agent:from:to:cc:subject :in-reply-to:date:message-id:mime-version; bh=kEf/hKnYJ+g4yJnhrDkFiaffOFJrhp8yRQ1Zp0Hp72Q=; b=Kigg77eIWeT8GmZTd3/HR5Pv1Fh/k29bXAXfa6IYTnd8qcpC4S+napKnn5zvxpBaC4 LwSk/GN8u2PUZpILL+Og0GmU5usF7pjEfqNM2f30fDpbSldy0xKrcrz14A01CSVSmpKQ t8Hm7GQRW9YPhHS0lBNYtzWu/So4q9xPh2NZO4Gh96MKueUWJGEHmuh6wBBH7s/dpF0n m8l5GVQNbDmnD4NFmiDc4rygQ0qpvD0OwWVCVYiRTLvOsLTtZsRdRbaFfHvcUrOPtFNh 0olsE5SOF+QspT6LUwjFaq7HZDsl0WRdrYd0F5vtDeZId9noMgq78xIM43p1NXvjgKsF 19Jg== X-Gm-Message-State: AJaThX4f7WAiX9jVV0k6n61HgPi8pgZO7KUlhMeOg3te8IATM9h7TWze 3yK5Y+0WvfEf5y/OJVILJpOY5Q== X-Google-Smtp-Source: AGs4zMbWbh/tOpiIWlCqkZtfrdGWCi+rTHK2lJx9sn9yKGzQqIMYDTtxQUxPMlhGka5+8/qyc6BarQ== X-Received: by 10.28.126.201 with SMTP id z192mr642008wmc.121.1511964181687; Wed, 29 Nov 2017 06:03:01 -0800 (PST) Received: from denali ([46.218.109.88]) by smtp.gmail.com with ESMTPSA id w76sm3142860wrc.79.2017.11.29.06.03.00 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 29 Nov 2017 06:03:00 -0800 (PST) References: <877euhtjkj.fsf@gmail.com> <1511861295-13822-1-git-send-email-m.othacehe@gmail.com> <20171128210038.GA7962@jasmine.lan> User-agent: mu4e 0.9.18; emacs 25.2.1 From: Mathieu Othacehe To: Leo Famulari Subject: Re: [bug#29409] [PATCH] gnu: grub: Disable tests on ARM platforms. In-reply-to: <20171128210038.GA7962@jasmine.lan> Date: Wed, 29 Nov 2017 15:03:00 +0100 Message-ID: <87efohtc6j.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 29409 Cc: 29409@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) Hi Leo, > Okay. Can you also report the test failures upstream? Thanks pushed, i reported it at bug-grub@gnu.org. Mathieu From debbugs-submit-bounces@debbugs.gnu.org Wed Nov 29 09:20:38 2017 Received: (at 29409) by debbugs.gnu.org; 29 Nov 2017 14:20:38 +0000 Received: from localhost ([127.0.0.1]:35799 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eK3E5-0007gK-Tm for submit@debbugs.gnu.org; Wed, 29 Nov 2017 09:20:38 -0500 Received: from mail-wm0-f47.google.com ([74.125.82.47]:35986) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eK3E4-0007g6-Pl for 29409@debbugs.gnu.org; Wed, 29 Nov 2017 09:20:37 -0500 Received: by mail-wm0-f47.google.com with SMTP id b76so6310282wmg.1 for <29409@debbugs.gnu.org>; Wed, 29 Nov 2017 06:20:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=BYyIQTYd9pzr9dvReD/BSf4SLvk463TDtPJixEZ17uw=; b=arGJfjGgY7WWeWVGLiTkSEOZKiFtZ+oozcjsRF42aRk8p/jw76gshM3Bhj+PVUZErP tyOsRq4PqpK2Q2vddMhm7Q8lPvYhnyTLGgq17kZUj6OvhNbHLJuTK04LXjIioq0LClta N+mO1LismO/Ii1K9RX4ETL0jphZSP7ySL9Wm88ET2xtR4qEaZQPVyXHrmBGyfOMMYD97 Vw77A7V3iRXZwC/ETJ0qvgKGsUURTAJr+khpWB1BcPyIztZy8EJD8lFiioxYDdo11VWX Zq7rZL3QcqybL8R5rBSRA/km0anF3Dq0ojnezYVf/q+BFljD9mfONyuDL6OcFwd8iq6s ZpIg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=BYyIQTYd9pzr9dvReD/BSf4SLvk463TDtPJixEZ17uw=; b=BMZ7y5hAfifaeXobQgWzzrIzYldsxsFj8EtSdUAeDUDc8jDZ+pymT0o2lJZj+egAUx 4Ix6pP34JscvuF6x/bsbSpEjfhFoEpC754mgFyOQoJOq8NE2fSC7LrAi2fUjvMcI0rJ0 Twu5R5Z2kUUH0PymnEEgilHc1gKWFnkODVx3tgMxTWRJi5L2O40kTbtydcnXbluoD1UZ owx/CjsuH3bQ8/3OgVP4rGUTWBimSA2SZ1JS6/Uy/RNck8nCzrjVBGiJ+9O3wNqzECDg 22bscF+CjuTLZtW6+LiLzWc9GzAu8wTYCuAkisLZFbk/EXFxKxiGlbezLNQH6/RxfGNO /qGg== X-Gm-Message-State: AJaThX4Q+Jlfo/77HqMLy6MZfdih6Vp62C00jdZUiyZWUwDCQeUOFH7N MO058D2NgED3mZSaJtlUMGR2UQ== X-Google-Smtp-Source: AGs4zMa47mkZmNIND3ZV0/tC3ftBVQDg/0KE6UPyz28buFuqZx/mAZRkcQVtbcPlgn5pjcl65xSLaw== X-Received: by 10.28.71.76 with SMTP id u73mr2742448wma.77.1511965230857; Wed, 29 Nov 2017 06:20:30 -0800 (PST) Received: from denali.Parrot.Biz ([46.218.109.88]) by smtp.gmail.com with ESMTPSA id d73sm17432430wmh.3.2017.11.29.06.20.29 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 29 Nov 2017 06:20:30 -0800 (PST) From: m.othacehe@gmail.com To: 29409@debbugs.gnu.org Subject: [PATCH] utils: Add target-arm? procedure. Date: Wed, 29 Nov 2017 15:20:25 +0100 Message-Id: <1511965226-12253-1-git-send-email-m.othacehe@gmail.com> X-Mailer: git-send-email 2.7.4 X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 29409 Cc: Mathieu Othacehe X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) From: Mathieu Othacehe * guix/utils.scm (target-arm?): New exported procedure. --- Hi, This procedure may be replaced by let-system when operational, see : https://lists.nongnu.org/archive/html/guix-patches/2017-11/msg00274.html Thanks, Mathieu guix/utils.scm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/guix/utils.scm b/guix/utils.scm index c0ffed1..9c652b6 100644 --- a/guix/utils.scm +++ b/guix/utils.scm @@ -75,6 +75,7 @@ %current-target-system package-name->name+version target-mingw? + target-arm? version-compare version>? version>=? @@ -467,6 +468,9 @@ a character other than '@'." (and target (string-suffix? "-mingw32" target))) +(define (target-arm?) + (string-prefix? "arm" (or (%current-target-system) (%current-system)))) + (define version-compare (let ((strverscmp (let ((sym (or (dynamic-func "strverscmp" (dynamic-link)) -- 2.7.4 From debbugs-submit-bounces@debbugs.gnu.org Wed Nov 29 09:20:41 2017 Received: (at 29409) by debbugs.gnu.org; 29 Nov 2017 14:20:41 +0000 Received: from localhost ([127.0.0.1]:35802 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eK3E9-0007gb-4i for submit@debbugs.gnu.org; Wed, 29 Nov 2017 09:20:41 -0500 Received: from mail-wm0-f67.google.com ([74.125.82.67]:43306) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eK3E7-0007gA-Fi for 29409@debbugs.gnu.org; Wed, 29 Nov 2017 09:20:39 -0500 Received: by mail-wm0-f67.google.com with SMTP id i71so6612682wmf.2 for <29409@debbugs.gnu.org>; Wed, 29 Nov 2017 06:20:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=V89STHEO6V+bo0w6vbzyJf+cJnOjb/sRJhMe9yfeNHw=; b=nMeGbb8NcZ4+wv3rv7HMWKB2v1MvsUVG9h6iVg02Y+B967xeKQ1vV4+COIfVBcIzKs v4HiQXuZqynMeGB6VG9mnhBj3MjbOy1ufGhZj5PY35dOn7Gf7sBAgDppfPRh3iiW3FRJ xppRBCZqvWgk53be8lcptTOIwTL12wO+hgPsxkCKt+ko2PMmjD42fAzcObPQL18v8Mu9 w8PHVxBGAeP7XM+oq6VjN/Vp1Ez65Mc59KmyzyNTTyt7DBaDxm8IY58c+1e/wBM52p/G TceHKNf1mUjwrkEthuKtD3J4cdUDF9hgfJbMyJ2yAO+S/QgkfgzZiDnJLaQm9QpqdBBQ 5ztw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=V89STHEO6V+bo0w6vbzyJf+cJnOjb/sRJhMe9yfeNHw=; b=KJvOtCwhN8Z8D3DbhvPcnxoTOx4Izj4sK6rj7sFRqUOBGhrq95D8dncOMJ2p+24BEs ql0vfHSUxpMJSkQEEgJAYtymHZSMp3dtprTKDpkBOu/YTQSoZP8PdWcIvURlrOWpSu73 HTmUgPwVDd9vEcxTMPRIVGrSiVrk/h1xWEJXOAR66trghiDbqrcWm5UOI2sQE/+YqWXx ELJoIjdPK+UYY8gCeltfB7VvCNGbMXaMlhjrC/SyszFHbPdYaC8c+AL2BABIelgpiiKH fhWHp5qb1/rHga0xopea+zXkqzpvNwD6nf/KOrt7C9KfpT/ST5QclqdtUJMGae7Kj8Gd V0uQ== X-Gm-Message-State: AJaThX6QG6RjWhTBCBrqwzwC1Jq0J7HkqER6t+fFtIF0/quUmqOApzLO dgtULCpPWRUsY9oWlqYORBDT/Q== X-Google-Smtp-Source: AGs4zMZ4t0HOyAZqFkMahrHiRS5emhMVBDZlUo54Z1hjaWVf59fwMVi3AIftAU/tx5SZyJmMQNYMig== X-Received: by 10.28.95.7 with SMTP id t7mr2835900wmb.86.1511965233620; Wed, 29 Nov 2017 06:20:33 -0800 (PST) Received: from denali.Parrot.Biz ([46.218.109.88]) by smtp.gmail.com with ESMTPSA id d73sm17432430wmh.3.2017.11.29.06.20.32 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 29 Nov 2017 06:20:32 -0800 (PST) From: m.othacehe@gmail.com To: 29409@debbugs.gnu.org Subject: [PATCH] system: vm: Do not add EFI partition on ARM system. Date: Wed, 29 Nov 2017 15:20:26 +0100 Message-Id: <1511965226-12253-2-git-send-email-m.othacehe@gmail.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1511965226-12253-1-git-send-email-m.othacehe@gmail.com> References: <1511965226-12253-1-git-send-email-m.othacehe@gmail.com> X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 29409 Cc: Mathieu Othacehe X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) From: Mathieu Othacehe * gnu/system/vm.scm (qemu-img): Do not add EFI partition if we are targetting ARM. UEFI support on u-boot is still experimental, so do not add EFI partition on ARM for now. --- gnu/system/vm.scm | 45 +++++++++++++++++++++++++-------------------- 1 file changed, 25 insertions(+), 20 deletions(-) diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm index 3ddb41d..7d0fa07 100644 --- a/gnu/system/vm.scm +++ b/gnu/system/vm.scm @@ -29,6 +29,7 @@ #:use-module (guix monads) #:use-module (guix records) #:use-module (guix modules) + #:use-module (guix utils) #:use-module ((gnu build vm) #:select (qemu-command)) @@ -312,26 +313,30 @@ the image." graphs))) (- disk-image-size (* 50 (expt 2 20))))) - (partitions (list (partition - (size root-size) - (label #$file-system-label) - (uuid #$(and=> file-system-uuid - uuid-bytevector)) - (file-system #$file-system-type) - (flags '(boot)) - (initializer initialize)) - ;; Append a small EFI System Partition for - ;; use with UEFI bootloaders. - (partition - ;; The standalone grub image is about 10MiB, but - ;; leave some room for custom or multiple images. - (size (* 40 (expt 2 20))) - (label "GNU-ESP") ;cosmetic only - ;; Use "vfat" here since this property is used - ;; when mounting. The actual FAT-ness is based - ;; on filesystem size (16 in this case). - (file-system "vfat") - (flags '(esp)))))) + (partitions + (append + (list (partition + (size root-size) + (label #$file-system-label) + (uuid #$(and=> file-system-uuid + uuid-bytevector)) + (file-system #$file-system-type) + (flags '(boot)) + (initializer initialize))) + ;; Append a small EFI System Partition for use with UEFI + ;; bootloaders if we are not targetting ARM. + (if #$(target-arm?) + '() + (list (partition + ;; The standalone grub image is about 10MiB, but + ;; leave some room for custom or multiple images. + (size (* 40 (expt 2 20))) + (label "GNU-ESP") ;cosmetic only + ;; Use "vfat" here since this property is used + ;; when mounting. The actual FAT-ness is based + ;; on filesystem size (16 in this case). + (file-system "vfat") + (flags '(esp)))))))) (initialize-hard-disk "/dev/vda" #:partitions partitions #:grub-efi #$grub-efi -- 2.7.4 From debbugs-submit-bounces@debbugs.gnu.org Wed Nov 29 12:34:47 2017 Received: (at 29409) by debbugs.gnu.org; 29 Nov 2017 17:34:47 +0000 Received: from localhost ([127.0.0.1]:37247 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eK6Fy-0007vT-Qo for submit@debbugs.gnu.org; Wed, 29 Nov 2017 12:34:46 -0500 Received: from mail-wm0-f52.google.com ([74.125.82.52]:42820) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eK6Fw-0007vC-H6 for 29409@debbugs.gnu.org; Wed, 29 Nov 2017 12:34:45 -0500 Received: by mail-wm0-f52.google.com with SMTP id l141so7954371wmg.1 for <29409@debbugs.gnu.org>; Wed, 29 Nov 2017 09:34:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=Zfq9J8jMUpS7drdK0L/tJAXUODt0IPFFIwp3hF2oJCs=; b=RJamSzCooN8OBqpGtV9fintGpN5IoxbGry121SYeUnFLhzyGpnKja4JxE6LlVaLPwR g4O7qU8AeTbhaSC4na7Fd7ZxlFtldZJbYeM0a/4p3iWOOBtZlBtgxDYsQ+vIsOk91NKG H2mloCtbnqvkd1/JK5I592j9bCGYOd/K2hDSHJlYVbLCw7JZu6rvBOWzgWrYfKHtDWO1 vcicytnjqrQotXi7vslfhAX67yASJcmEZzT5qnX921RziVKKfRjmV6kFNrXjswelXCBp GBy3nn4qxXPBtNaDtl9p3FSP5UgTr/OsnDYzI46xt1dDt/YA50jB6uBHTYeuakY4PkTo EzTg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=Zfq9J8jMUpS7drdK0L/tJAXUODt0IPFFIwp3hF2oJCs=; b=iRYKDhqQ6MhzkjjH+UDtPnw7y0sI/Jn/jSuWVYW+Qr+VnS0JZtPc1o8lxdScmCrrtM T5d7IzJsWhGWvO0SkzBAx2qc63LreTBX3bP/RGBVfBD0DaGfXTFQp8aoaHSmEZSPYBtO znOZJA2pjd8mTIBWU3r7uc7YaPCrFI2wGPz6ity3MN5VDFTyUzU52boBUUPPyi3S8TEt vl3Hc0q1KQyG0t5j5PAXm0Y1lZbR3Puwqijk37CExsQvqaSmkcSCJgZ+KUYZY8PJ1D/h Miix7r30J4YcGbZ6FyqYilUHhqrYhMbd2ayXCYD4D/imZncslc2/w8YlhnM2z4HEk2kG kaJQ== X-Gm-Message-State: AJaThX590E6Aqh/EklKwGYJ3AdMKq9hOXyD7j+TUhqpDmOWNilejYxug 7CT79Vp0A65sivkdDR3VQCu73A== X-Google-Smtp-Source: AGs4zMYnaMnsD7UZbh8/XWvsL/p/N9zv9dSVWEOCOY4FlSixHip9526STATcTHUUSEXvYdd/kgtCNg== X-Received: by 10.28.48.150 with SMTP id w144mr2970196wmw.23.1511976878260; Wed, 29 Nov 2017 09:34:38 -0800 (PST) Received: from denali.Parrot.Biz ([46.218.109.88]) by smtp.gmail.com with ESMTPSA id 186sm2643313wmm.47.2017.11.29.09.34.37 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 29 Nov 2017 09:34:37 -0800 (PST) From: m.othacehe@gmail.com To: 29409@debbugs.gnu.org Subject: [PATCH] tests: install: Increase extlinux install partition size. Date: Wed, 29 Nov 2017 18:34:33 +0100 Message-Id: <1511976873-26867-1-git-send-email-m.othacehe@gmail.com> X-Mailer: git-send-email 2.7.4 X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 29409 Cc: Mathieu Othacehe X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) From: Mathieu Othacehe * gnu/tests/install.scm (%extlinux-gpt-installation-script): Increase partition size from 1G to 2G. 1G is not enough anymore to initialize the system. --- gnu/tests/install.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/tests/install.scm b/gnu/tests/install.scm index 0e97de0..fa9d9c6 100644 --- a/gnu/tests/install.scm +++ b/gnu/tests/install.scm @@ -173,7 +173,7 @@ guix --version export GUIX_BUILD_OPTIONS=--no-grafts guix build isc-dhcp parted --script /dev/vdb mklabel gpt \\ - mkpart ext2 1M 1G \\ + mkpart ext2 1M 2G \\ set 1 legacy_boot on mkfs.ext4 -L my-root -O '^64bit' /dev/vdb1 mount /dev/vdb1 /mnt -- 2.7.4 From debbugs-submit-bounces@debbugs.gnu.org Thu Nov 30 05:47:21 2017 Received: (at 29409) by debbugs.gnu.org; 30 Nov 2017 10:47:22 +0000 Received: from localhost ([127.0.0.1]:37584 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eKMNF-0002gs-Ka for submit@debbugs.gnu.org; Thu, 30 Nov 2017 05:47:21 -0500 Received: from mail-wm0-f52.google.com ([74.125.82.52]:37253) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eKMNE-0002ge-43 for 29409@debbugs.gnu.org; Thu, 30 Nov 2017 05:47:20 -0500 Received: by mail-wm0-f52.google.com with SMTP id f140so11502861wmd.2 for <29409@debbugs.gnu.org>; Thu, 30 Nov 2017 02:47:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=hjnjG2U/BUzr6npOGlJCcc2Z45Dw3GM2PXy9Ey22nLM=; b=U5uHHr7uccRdvZ+/z5jxX8lXK9xx7Ct/fYV8lqvzgWd7Y7sad7nKLDkCy4hmFACxlN fcwLl1iE8F6elNnL9/bDJu8CL2O3NZzAcB21t2EaaNc3Haf7xqFlwpaVDji8k1DQvLZp Ag4OGbLAZhYuiphru7u+95gae4CYlnFRUFWqpGYEPm2UXJz1dxIcw+rF4BMXRWEFb5JM +JWpGi/Nh6M2Z5Ro8fKsK/6pBfBFz2LVg/ENQP+SgY0SLe9JHdR5cEHMyxgollnyfX+N evPh+DwM5UPqA1DSKCyZsuzbjUJjdtNRwBljz0Zd882ab/JvHh+cNURdVVBHA59O6mG9 lkIA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=hjnjG2U/BUzr6npOGlJCcc2Z45Dw3GM2PXy9Ey22nLM=; b=ZQKY/vUmeCIMqV++WMkP2lhbP0aXhNP69aZqmdtdXLBeJwLbdCg+H2VMLVn7kPNosB l0bftHcyoS+yK+rtnJk/AMdVrnBf2MqYm8dcaYRZZsspJ4+Gx9b3cTmAqN2+MPKOmqR8 w3ygkGyHkdFYWuzf4DJWXpgLqfwD4mGejRbwgeqJYID2GYPPaKGmxS3FlxMmtcYGz9YU /aePxkCxPoZwaQOK/4PdeitSWiP6MIOjIxvu01A8NoDsfqhXe9SGVajBQT8AmPiMunl+ rs5ndizbZu3/BrewHKi1jsyb11JkF1t7zdcz/Kqo59vf6XZWpHixYjMYCHejPgCG6oKN R+Eg== X-Gm-Message-State: AJaThX7zXDFT470pgHlr/BuIWYgiNKGteURTKCRZPIea3izetVu8ZMtN iW+vlxzhVNGPuLHO3+dGQmnrJg== X-Google-Smtp-Source: AGs4zMbvZLHVSHNUXEymOVlVnHuYTw90FHhBPLWRygokpcBuV2xQm2GjZtvu7MT5dRz9qIHefHWF5w== X-Received: by 10.28.238.135 with SMTP id j7mr201911wmi.140.1512038833695; Thu, 30 Nov 2017 02:47:13 -0800 (PST) Received: from denali.Parrot.Biz ([46.218.109.88]) by smtp.gmail.com with ESMTPSA id a5sm2689348wra.87.2017.11.30.02.47.12 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 30 Nov 2017 02:47:12 -0800 (PST) From: m.othacehe@gmail.com To: 29409@debbugs.gnu.org Subject: [PATCH] build: utils: Introduce dd. Date: Thu, 30 Nov 2017 11:47:08 +0100 Message-Id: <1512038828-10822-1-git-send-email-m.othacehe@gmail.com> X-Mailer: git-send-email 2.7.4 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 29409 Cc: Mathieu Othacehe X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) From: Mathieu Othacehe * guix/build/utils.scm (dd): New exported procedure. * gnu/bootloader/extlinux.scm (dd): Remove it, (install-extlinux): replace gexp dd with dd added above. --- Hi, dd will be used in different bootloader related gexp. So it may be good to add it to (guix build utils). The problem is that it triggers a big rebuild. I was able to test this path with "installed-extlinux-os". Thanks, Mathieu gnu/bootloader/extlinux.scm | 13 ++++--------- guix/build/utils.scm | 28 +++++++++++++++++++++++++++- 2 files changed, 31 insertions(+), 10 deletions(-) diff --git a/gnu/bootloader/extlinux.scm b/gnu/bootloader/extlinux.scm index 0db5598..b0b463e 100644 --- a/gnu/bootloader/extlinux.scm +++ b/gnu/bootloader/extlinux.scm @@ -85,14 +85,6 @@ TIMEOUT ~a~%" ;;; Install procedures. ;;; -(define dd - #~(lambda (bs count if of) - (zero? (system* "dd" - (string-append "bs=" (number->string bs)) - (string-append "count=" (number->string count)) - (string-append "if=" if) - (string-append "of=" of))))) - (define (install-extlinux mbr) #~(lambda (bootloader device mount-point) (let ((extlinux (string-append bootloader "/sbin/extlinux")) @@ -103,7 +95,10 @@ TIMEOUT ~a~%" (find-files syslinux-dir "\\.c32$")) (unless (and (zero? (system* extlinux "--install" install-dir)) - (#$dd 440 1 (string-append syslinux-dir "/" #$mbr) device)) + (zero? (dd (string-append syslinux-dir "/" #$mbr) + device + #:bs 440 + #:count 1))) (error "failed to install SYSLINUX"))))) (define install-extlinux-mbr diff --git a/guix/build/utils.scm b/guix/build/utils.scm index 7391307..2ed5ddc 100644 --- a/guix/build/utils.scm +++ b/guix/build/utils.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2013 Andreas Enge ;;; Copyright © 2013 Nikita Karetnikov ;;; Copyright © 2015 Mark H Weaver +;;; Copyright © 2017 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. ;;; @@ -86,7 +87,8 @@ wrap-program invoke - locale-category->string)) + locale-category->string + dd)) ;;; @@ -1089,6 +1091,30 @@ returned." LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE LC_TIME))) + +;;; +;;; dd. +;;; + +(define* (dd input output #:key bs count seek (extras '())) + "Call dd command with provided INPUT and OUTPUT arguments. BS, COUNT, SEEK + and EXTRAS parameters are optional. EXTRAS is a list of string arguments to + be passed directly to dd." + (apply system* "dd" + (string-append "if=" input) + (string-append "of=" output) + (append + (if bs + `(,(string-append "bs=" (number->string bs))) + '()) + (if count + `(,(string-append "count=" (number->string count))) + '()) + (if seek + `(,(string-append "seek=" (number->string seek))) + '()) + extras))) + ;;; Local Variables: ;;; eval: (put 'call-with-output-file/atomic 'scheme-indent-function 1) ;;; eval: (put 'call-with-ascii-input-file 'scheme-indent-function 1) -- 2.7.4 From debbugs-submit-bounces@debbugs.gnu.org Thu Nov 30 12:09:53 2017 Received: (at 29409) by debbugs.gnu.org; 30 Nov 2017 17:09:53 +0000 Received: from localhost ([127.0.0.1]:38584 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eKSLQ-0004at-Tg for submit@debbugs.gnu.org; Thu, 30 Nov 2017 12:09:53 -0500 Received: from [141.255.128.1] (port=60349 helo=hera.aquilenet.fr) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eKSLP-0004al-2x for 29409@debbugs.gnu.org; Thu, 30 Nov 2017 12:09:51 -0500 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id 4E30E100C3; Thu, 30 Nov 2017 18:09:53 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at aquilenet.fr Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id A_bldGWXX4zg; Thu, 30 Nov 2017 18:09:52 +0100 (CET) Received: from ribbon (unknown [193.50.110.211]) by hera.aquilenet.fr (Postfix) with ESMTPSA id D2648FF60; Thu, 30 Nov 2017 18:09:51 +0100 (CET) From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: m.othacehe@gmail.com Subject: Re: [bug#29409] [PATCH] utils: Add target-arm? procedure. References: <877euhtjkj.fsf@gmail.com> <1511965226-12253-1-git-send-email-m.othacehe@gmail.com> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 10 Frimaire an 226 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Thu, 30 Nov 2017 18:09:48 +0100 In-Reply-To: <1511965226-12253-1-git-send-email-m.othacehe@gmail.com> (m. othacehe's message of "Wed, 29 Nov 2017 15:20:25 +0100") Message-ID: <87mv331yn7.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 2.2 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: m.othacehe@gmail.com skribis: > From: Mathieu Othacehe > > * guix/utils.scm (target-arm?): New exported procedure. Should it match aarch64 as well? If not, should it be called ’target-arm32?’ or something like that? [...] Content analysis details: (2.2 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 1.0 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail) 0.0 SPF_HELO_FAIL SPF: HELO does not match SPF record (fail) [SPF failed: Please see http://www.openspf.org/Why?s=helo;id=hera.aquilenet.fr;ip=141.255.128.1;r=debbugs.gnu.org] 1.3 RDNS_NONE Delivered to internal network by a host with no rDNS X-Debbugs-Envelope-To: 29409 Cc: 29409@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 2.2 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: m.othacehe@gmail.com skribis: > From: Mathieu Othacehe > > * guix/utils.scm (target-arm?): New exported procedure. Should it match aarch64 as well? If not, should it be called ’target-arm32?’ or something like that? [...] Content analysis details: (2.2 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 1.0 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail) 0.0 SPF_HELO_FAIL SPF: HELO does not match SPF record (fail) [SPF failed: Please see http://www.openspf.org/Why?s=helo;id=hera.aquilenet.fr;ip=141.255.128.1;r=debbugs.gnu.org] 1.3 RDNS_NONE Delivered to internal network by a host with no rDNS m.othacehe@gmail.com skribis: > From: Mathieu Othacehe > > * guix/utils.scm (target-arm?): New exported procedure. Should it match aarch64 as well? If not, should it be called =E2=80=99target-arm32?=E2=80=99 or something like that? > This procedure may be replaced by let-system when operational, see : > > https://lists.nongnu.org/archive/html/guix-patches/2017-11/msg00274.html I think it would be used in the body of =E2=80=98let-system=E2=80=99 forms,= but =E2=80=98let-system=E2=80=99 alone doesn=E2=80=99t render it useless. Thanks, Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Thu Nov 30 12:12:18 2017 Received: (at 29409) by debbugs.gnu.org; 30 Nov 2017 17:12:18 +0000 Received: from localhost ([127.0.0.1]:38588 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eKSNm-0004ec-AG for submit@debbugs.gnu.org; Thu, 30 Nov 2017 12:12:18 -0500 Received: from [141.255.128.1] (port=60357 helo=hera.aquilenet.fr) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eKSNl-0004eV-Go for 29409@debbugs.gnu.org; Thu, 30 Nov 2017 12:12:17 -0500 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id A17C6100C8; Thu, 30 Nov 2017 18:12:19 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at aquilenet.fr Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ipgXfEUKwd20; Thu, 30 Nov 2017 18:12:19 +0100 (CET) Received: from ribbon (unknown [193.50.110.211]) by hera.aquilenet.fr (Postfix) with ESMTPSA id 161FEFF60; Thu, 30 Nov 2017 18:12:19 +0100 (CET) From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: m.othacehe@gmail.com Subject: Re: [bug#29409] [PATCH] tests: install: Increase extlinux install partition size. References: <877euhtjkj.fsf@gmail.com> <1511976873-26867-1-git-send-email-m.othacehe@gmail.com> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 10 Frimaire an 226 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Thu, 30 Nov 2017 18:12:16 +0100 In-Reply-To: <1511976873-26867-1-git-send-email-m.othacehe@gmail.com> (m. othacehe's message of "Wed, 29 Nov 2017 18:34:33 +0100") Message-ID: <87fu8v1yj3.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 2.2 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: m.othacehe@gmail.com skribis: > From: Mathieu Othacehe > > * gnu/tests/install.scm (%extlinux-gpt-installation-script): Increase > partition size from 1G to 2G. 1G is not enough anymore to initialize the > system. [...] Content analysis details: (2.2 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 1.0 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail) 0.0 SPF_HELO_FAIL SPF: HELO does not match SPF record (fail) [SPF failed: Please see http://www.openspf.org/Why?s=helo; id=hera.aquilenet.fr; ip=141.255.128.1; r=debbugs.gnu.org] 1.3 RDNS_NONE Delivered to internal network by a host with no rDNS X-Debbugs-Envelope-To: 29409 Cc: 29409@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 2.2 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: m.othacehe@gmail.com skribis: > From: Mathieu Othacehe > > * gnu/tests/install.scm (%extlinux-gpt-installation-script): Increase > partition size from 1G to 2G. 1G is not enough anymore to initialize the > system. [...] Content analysis details: (2.2 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 1.0 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail) 0.0 SPF_HELO_FAIL SPF: HELO does not match SPF record (fail) [SPF failed: Please see http://www.openspf.org/Why?s=helo;id=hera.aquilenet.fr;ip=141.255.128.1;r=debbugs.gnu.org] 1.3 RDNS_NONE Delivered to internal network by a host with no rDNS m.othacehe@gmail.com skribis: > From: Mathieu Othacehe > > * gnu/tests/install.scm (%extlinux-gpt-installation-script): Increase > partition size from 1G to 2G. 1G is not enough anymore to initialize the > system. Does 53d26163c6ec1a1c48a1ec775e67b739b9005270 allow bare-bones to fit in 1G again? That was the main motivation behind this patch. Thanks, Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 01 04:21:18 2017 Received: (at 29409) by debbugs.gnu.org; 1 Dec 2017 09:21:18 +0000 Received: from localhost ([127.0.0.1]:38997 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eKhVW-0005Pb-JR for submit@debbugs.gnu.org; Fri, 01 Dec 2017 04:21:18 -0500 Received: from mail-wr0-f180.google.com ([209.85.128.180]:35929) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eKhVU-0005PK-FO for 29409@debbugs.gnu.org; Fri, 01 Dec 2017 04:21:17 -0500 Received: by mail-wr0-f180.google.com with SMTP id v105so9305525wrc.3 for <29409@debbugs.gnu.org>; Fri, 01 Dec 2017 01:21:16 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=references:user-agent:from:to:cc:subject:in-reply-to:date :message-id:mime-version:content-transfer-encoding; bh=VM6IoL97fWVtN3wyhhvM9F8tqVC2NEQ5lwqxFlW5Fts=; b=kezmC6XKbuECQtKG6zw2cb7V/+l3enU6urI7X+8rqqdnTyIc4oEAnNFaA5hepWkwYZ i2bZvva0nxt2TbWkNnCPG5aJikYPbxLZHorBHBZCMuT+qqD2UhpUOeg8MuKk01dX8lHY Gd8k9W3fptsTzpLL1b3fqwhrlLXZBf0Lhqi3IT4Og6V3nRoil3OyK9OSAf2j97H7VFIV mE6Kyxfa8MhK7hXI/7llriS6aulgSUEfKM1dfHqUqHTcT7QnhIXGD/hQvIdLBUdVMjdb zjoYSeKp02JEeQ9bu6ZAwm1Avw0CMXjzsODQUG71/SlBfBcjr1oNLA5VzSg78JBAISOm t7Nw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:references:user-agent:from:to:cc:subject :in-reply-to:date:message-id:mime-version:content-transfer-encoding; bh=VM6IoL97fWVtN3wyhhvM9F8tqVC2NEQ5lwqxFlW5Fts=; b=XhVnKwEUF0cpuroKGlUuNpEoE3EWqZyowgssBRuypfj3L/H/zwk79TEdvNLHu83zje GTtNgV+cIY9V8OK0P48+i/jNUehvEokbc5+vxwdcCjbYBYhi2y96e1nWdOp1t0l0Oc1V np2hrv4fNJKkh/39iX7XUZTuqva/ch7WSJv8KEI4QrrMc6iUE7MWax37plNZocbtpGCw Ym4GShOJOwRDVyPSRx9DeIndXnQm/E622B6Vj3apfsJVuU/53OL0v7nK9cUAWOmGZQnq YJTGB1BTGNmez1M2jk16SWLcB2ipJffj1MDz0r0TDDWsbccz4cpqv3oDh70nTjotWjvJ LQyQ== X-Gm-Message-State: AJaThX43DkdkdUimwOBhLIMvf1lHELluFgIhcDBvu5VNT11Mh1l3JDHB r7J3UMqWohy+o2baVO55+Mo+Ow== X-Google-Smtp-Source: AGs4zMZmYK20V7UZpXbGIjgHJ5sdNZizy3HGKdy798hB/YWs/ObCC9ux9JZBW6HmlS7dDvC6qI+2/A== X-Received: by 10.223.136.80 with SMTP id e16mr4704252wre.21.1512120070193; Fri, 01 Dec 2017 01:21:10 -0800 (PST) Received: from denali ([46.218.109.88]) by smtp.gmail.com with ESMTPSA id c54sm8645510wra.84.2017.12.01.01.21.09 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 01 Dec 2017 01:21:09 -0800 (PST) References: <877euhtjkj.fsf@gmail.com> <1511965226-12253-1-git-send-email-m.othacehe@gmail.com> <87mv331yn7.fsf@gnu.org> User-agent: mu4e 0.9.18; emacs 25.2.1 From: Mathieu Othacehe To: Ludovic =?utf-8?Q?Court=C3=A8s?= Subject: Re: [bug#29409] [PATCH] utils: Add target-arm? procedure. In-reply-to: <87mv331yn7.fsf@gnu.org> Date: Fri, 01 Dec 2017 10:21:08 +0100 Message-ID: <871skeu7ln.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 29409 Cc: 29409@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) > Should it match aarch64 as well? If not, should it be called > ’target-arm32?’ or something like that? For now, i can't test my patches on aarch64 and i'm not sure how they behave. So maybe we can use target-armv7? or target-arm32? for now and replace them with target-arm? when it's proven that the serie works on aarch64 ? Thanks, Mathieu From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 01 05:38:54 2017 Received: (at 29409) by debbugs.gnu.org; 1 Dec 2017 10:38:54 +0000 Received: from localhost ([127.0.0.1]:39103 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eKiic-0000p7-C2 for submit@debbugs.gnu.org; Fri, 01 Dec 2017 05:38:54 -0500 Received: from mail-wm0-f45.google.com ([74.125.82.45]:45705) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eKiia-0000or-1Y for 29409@debbugs.gnu.org; Fri, 01 Dec 2017 05:38:52 -0500 Received: by mail-wm0-f45.google.com with SMTP id 9so2656140wme.4 for <29409@debbugs.gnu.org>; Fri, 01 Dec 2017 02:38:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=e9CIt1d6l2jOSPrr5hoAveONxRjqfZQdgxifdEQ4/ck=; b=nFeI2VLMfOXnUYZkQIN0vYmP3BID9HarB50VMCczu0w5eNfrKaiygA5nwT80WmakKR VEgXpObM+qLeEbQFSaTPTJI5kI/lTz7Ox4grYGH2a9ukiQtEkv4Gk9bNOkDYHAI2AFz+ cusYwbRuwvkHOEr7okzzyDmJylr/EifBy4n9INj5AtDLIuds3+qG2ZNcxP4ht2wVP351 9Evoa6AKixHrk8efkGhJc0jAbuhZZJVzTAXdnEwfihp226MmhZOFvJbrnAscwyREc9Ik n6R/O10pe/lH+C+aqK6GfdqLHBnygTHqphP5RtbWspgElqhzncMAru0Sx6Eq/3LWChNZ mWow== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=e9CIt1d6l2jOSPrr5hoAveONxRjqfZQdgxifdEQ4/ck=; b=FtVc/3HWpBXknbecLLRo4f+NqVZZjhTNay1R0+NTwR1c2zfVCeTtIuVXEcBZ/1yHn4 ae5ZMK5kyMcOEMQkIcuFOXsJgYVIhIXKaAAUa0c5inlIVG5M6ydPNPnhhykHOKtbehk9 aaAx4erSr7bIUAoTy9YkguKBzH3NDjVZVgj+uCaZ8DhzkmZ+z7cIDrmvkwryU8k/fGsZ KJ2XFub2JIbtD5ixW6Nq3ulgjw8Q/XY57FSj3yGZE0J6S9z/d3j9znwOQ/yMV/oqHJT1 gH+PqKvRmLScKLC3gYfUtEW3mzSO0m34CZmZVn76gNP4eAMM6dWVtxctDF4xlrm5AQH5 ypmg== X-Gm-Message-State: AJaThX5RVLPFOTXRtiq1rEXk9VpV4i+gRcZ+Y721mtzv/lPafbyI3V5c r/9KyrOoJvhgkJqmmHub3KMHjg== X-Google-Smtp-Source: AGs4zMbZ41WuLcjUlWobAL39AjzaGoP/ar9BRH4HjACJmxQ6onQMNHECwAWCP71Sa7ivVSfDqrR7nQ== X-Received: by 10.28.214.70 with SMTP id n67mr795862wmg.83.1512124726154; Fri, 01 Dec 2017 02:38:46 -0800 (PST) Received: from denali.Parrot.Biz ([46.218.109.88]) by smtp.gmail.com with ESMTPSA id 80sm798451wmk.14.2017.12.01.02.38.45 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 01 Dec 2017 02:38:45 -0800 (PST) From: m.othacehe@gmail.com To: 29409@debbugs.gnu.org Subject: [PATCH] utils: Add target-arm32? procedure. Date: Fri, 1 Dec 2017 11:38:39 +0100 Message-Id: <1512124720-29980-1-git-send-email-m.othacehe@gmail.com> X-Mailer: git-send-email 2.7.4 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 29409 Cc: Mathieu Othacehe X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) From: Mathieu Othacehe * guix/utils.scm (target-arm?): New exported procedure. --- guix/utils.scm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/guix/utils.scm b/guix/utils.scm index c0ffed1..fed31f4 100644 --- a/guix/utils.scm +++ b/guix/utils.scm @@ -6,6 +6,7 @@ ;;; Copyright © 2016 Mathieu Lirzin ;;; Copyright © 2015 David Thompson ;;; Copyright © 2017 Efraim Flashner +;;; Copyright © 2017 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. ;;; @@ -75,6 +76,7 @@ %current-target-system package-name->name+version target-mingw? + target-arm32? version-compare version>? version>=? @@ -467,6 +469,9 @@ a character other than '@'." (and target (string-suffix? "-mingw32" target))) +(define (target-arm32?) + (string-prefix? "arm" (or (%current-target-system) (%current-system)))) + (define version-compare (let ((strverscmp (let ((sym (or (dynamic-func "strverscmp" (dynamic-link)) -- 2.7.4 From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 01 05:38:55 2017 Received: (at 29409) by debbugs.gnu.org; 1 Dec 2017 10:38:55 +0000 Received: from localhost ([127.0.0.1]:39107 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eKiid-0000pK-Jp for submit@debbugs.gnu.org; Fri, 01 Dec 2017 05:38:55 -0500 Received: from mail-wr0-f195.google.com ([209.85.128.195]:41414) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eKiic-0000ov-EL for 29409@debbugs.gnu.org; Fri, 01 Dec 2017 05:38:54 -0500 Received: by mail-wr0-f195.google.com with SMTP id z18so9601987wrb.8 for <29409@debbugs.gnu.org>; Fri, 01 Dec 2017 02:38:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=Czy2M0oCTGeRbnX/jhFDgANRtICcnElvgnbzri+MS9Q=; b=KIHTk1F2Wvt7jUR4QIhS3fW9Oe0L9jAxRhuPYuqu1iDAeVj4kVPdIRd6MGHs5ct3fp mXADpOShCEUAzlNEFHWiLJsP2ItqxASsi+/dRWHYQ6aAoQhyLv1j2FJ1Y/9RPLRI0QnY e4f/R0wBeHKW7D5fNjQIgZqsJnOpTathP5rO9++EOn04mkCrYSggd1AVUCbR3S+cyGAn 0JTeM1hTMtceKxdJbPIoPaVC+Y7ME1rFOq25iciE5MNedxtuSN5W8sbpRAqeOZgktwXS YtmOOlEBv+0BQD9SHy43OCEzYhylJjTmnMcvbppQ1N+dBV05Q58zFpdhdvSGvgCHynhN UIxg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=Czy2M0oCTGeRbnX/jhFDgANRtICcnElvgnbzri+MS9Q=; b=Hl57Jj3X205/v+05ot6n43z5LJVYotcKHxt6jPchWD9/hftDRZz09WCQOS8Xgv23Rm momZ3cm1zsy/76G1qeh0sZy6kwpaCIGZag6sYxvi+//2CUwEGBckl8Wz1etN3VQ2/XJr PgaQMFkG3zbQi+cy1y8uWXa27P3TS+lIIs2EAlbXbvWDGllSOyXsBKUzRQYnGJ1H/x0F vpwo2n1+c0ahxaqmjxtV6QrUYYrJaUt7ADSQO8wwUgj5imVE60xA+V4o7xdQre0f+s/P 7vlGwDIVq+E8oc4oVioJe3SDbmC9lVpb/5eqpASh3prYZv1LXnbRG68PgNZdy3whZljb TrKw== X-Gm-Message-State: AJaThX4uVi6PB/nBLN0faouwnitIpKRio0pcTizfSgbmwjFvAiy6gW1F ge65uTvwA4S+yEBm9LpIUkuTpg== X-Google-Smtp-Source: AGs4zMZeTvN1MXynleq+hwDJx0D20bzK4wwVMGPGwIwWOuhFcBsw+YMOIDXkg8v9bfTesAHAiKDX+g== X-Received: by 10.223.161.210 with SMTP id v18mr4526177wrv.170.1512124728510; Fri, 01 Dec 2017 02:38:48 -0800 (PST) Received: from denali.Parrot.Biz ([46.218.109.88]) by smtp.gmail.com with ESMTPSA id 80sm798451wmk.14.2017.12.01.02.38.47 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 01 Dec 2017 02:38:47 -0800 (PST) From: m.othacehe@gmail.com To: 29409@debbugs.gnu.org Subject: [PATCH] system: vm: Do not add EFI partition on ARM system. Date: Fri, 1 Dec 2017 11:38:40 +0100 Message-Id: <1512124720-29980-2-git-send-email-m.othacehe@gmail.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1512124720-29980-1-git-send-email-m.othacehe@gmail.com> References: <1512124720-29980-1-git-send-email-m.othacehe@gmail.com> X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 29409 Cc: Mathieu Othacehe X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) From: Mathieu Othacehe * gnu/system/vm.scm (qemu-img): Do not add EFI partition if we are targetting ARM. UEFI support on u-boot is still experimental, so do not add EFI partition on ARM for now. --- gnu/system/vm.scm | 45 +++++++++++++++++++++++++-------------------- 1 file changed, 25 insertions(+), 20 deletions(-) diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm index a5fe48e..b7a0e45 100644 --- a/gnu/system/vm.scm +++ b/gnu/system/vm.scm @@ -29,6 +29,7 @@ #:use-module (guix monads) #:use-module (guix records) #:use-module (guix modules) + #:use-module (guix utils) #:use-module ((gnu build vm) #:select (qemu-command)) @@ -312,26 +313,30 @@ the image." graphs))) (- disk-image-size (* 50 (expt 2 20))))) - (partitions (list (partition - (size root-size) - (label #$file-system-label) - (uuid #$(and=> file-system-uuid - uuid-bytevector)) - (file-system #$file-system-type) - (flags '(boot)) - (initializer initialize)) - ;; Append a small EFI System Partition for - ;; use with UEFI bootloaders. - (partition - ;; The standalone grub image is about 10MiB, but - ;; leave some room for custom or multiple images. - (size (* 40 (expt 2 20))) - (label "GNU-ESP") ;cosmetic only - ;; Use "vfat" here since this property is used - ;; when mounting. The actual FAT-ness is based - ;; on filesystem size (16 in this case). - (file-system "vfat") - (flags '(esp)))))) + (partitions + (append + (list (partition + (size root-size) + (label #$file-system-label) + (uuid #$(and=> file-system-uuid + uuid-bytevector)) + (file-system #$file-system-type) + (flags '(boot)) + (initializer initialize))) + ;; Append a small EFI System Partition for use with UEFI + ;; bootloaders if we are not targetting ARM. + (if #$(target-arm32?) + '() + (list (partition + ;; The standalone grub image is about 10MiB, but + ;; leave some room for custom or multiple images. + (size (* 40 (expt 2 20))) + (label "GNU-ESP") ;cosmetic only + ;; Use "vfat" here since this property is used + ;; when mounting. The actual FAT-ness is based + ;; on filesystem size (16 in this case). + (file-system "vfat") + (flags '(esp)))))))) (initialize-hard-disk "/dev/vda" #:partitions partitions #:grub-efi #$grub-efi -- 2.7.4 From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 01 05:58:56 2017 Received: (at 29409) by debbugs.gnu.org; 1 Dec 2017 10:58:56 +0000 Received: from localhost ([127.0.0.1]:39121 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eKj1y-0001Hv-K7 for submit@debbugs.gnu.org; Fri, 01 Dec 2017 05:58:56 -0500 Received: from [141.255.128.1] (port=33894 helo=hera.aquilenet.fr) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eKj1w-0001Hm-Ky for 29409@debbugs.gnu.org; Fri, 01 Dec 2017 05:58:53 -0500 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id A636510097; Fri, 1 Dec 2017 11:58:54 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at aquilenet.fr Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id oEVmtpUJALx2; Fri, 1 Dec 2017 11:58:54 +0100 (CET) Received: from ribbon (unknown [193.50.110.211]) by hera.aquilenet.fr (Postfix) with ESMTPSA id EBB0410080; Fri, 1 Dec 2017 11:58:53 +0100 (CET) From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: m.othacehe@gmail.com Subject: Re: [bug#29409] [PATCH] utils: Add target-arm32? procedure. References: <877euhtjkj.fsf@gmail.com> <1512124720-29980-1-git-send-email-m.othacehe@gmail.com> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 11 Frimaire an 226 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Fri, 01 Dec 2017 11:58:50 +0100 In-Reply-To: <1512124720-29980-1-git-send-email-m.othacehe@gmail.com> (m. othacehe's message of "Fri, 1 Dec 2017 11:38:39 +0100") Message-ID: <87tvxahfyt.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 2.2 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: m.othacehe@gmail.com skribis: > From: Mathieu Othacehe > > * guix/utils.scm (target-arm?): New exported procedure. ^^ target-arm32? :-) LGTM, thanks! [...] Content analysis details: (2.2 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 1.0 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail) 0.0 SPF_HELO_FAIL SPF: HELO does not match SPF record (fail) [SPF failed: Please see http://www.openspf.org/Why?s=helo; id=hera.aquilenet.fr; ip=141.255.128.1; r=debbugs.gnu.org] 1.3 RDNS_NONE Delivered to internal network by a host with no rDNS X-Debbugs-Envelope-To: 29409 Cc: 29409@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 2.2 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: m.othacehe@gmail.com skribis: > From: Mathieu Othacehe > > * guix/utils.scm (target-arm?): New exported procedure. ^^ target-arm32? :-) LGTM, thanks! [...] Content analysis details: (2.2 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 1.0 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail) 0.0 SPF_HELO_FAIL SPF: HELO does not match SPF record (fail) [SPF failed: Please see http://www.openspf.org/Why?s=helo;id=hera.aquilenet.fr;ip=141.255.128.1;r=debbugs.gnu.org] 1.3 RDNS_NONE Delivered to internal network by a host with no rDNS m.othacehe@gmail.com skribis: > From: Mathieu Othacehe > > * guix/utils.scm (target-arm?): New exported procedure. ^^ target-arm32? :-) LGTM, thanks! Ludo'. From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 01 06:01:29 2017 Received: (at 29409) by debbugs.gnu.org; 1 Dec 2017 11:01:29 +0000 Received: from localhost ([127.0.0.1]:39127 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eKj4T-0001N4-H9 for submit@debbugs.gnu.org; Fri, 01 Dec 2017 06:01:29 -0500 Received: from [141.255.128.1] (port=33904 helo=hera.aquilenet.fr) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eKj4S-0001Mx-T9 for 29409@debbugs.gnu.org; Fri, 01 Dec 2017 06:01:29 -0500 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id 14B1E10097; Fri, 1 Dec 2017 12:01:31 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at aquilenet.fr Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id HDyXok0enArg; Fri, 1 Dec 2017 12:01:30 +0100 (CET) Received: from ribbon (unknown [193.50.110.211]) by hera.aquilenet.fr (Postfix) with ESMTPSA id 6F35110080; Fri, 1 Dec 2017 12:01:30 +0100 (CET) From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: m.othacehe@gmail.com Subject: Re: [bug#29409] [PATCH] system: vm: Do not add EFI partition on ARM system. References: <1512124720-29980-1-git-send-email-m.othacehe@gmail.com> <1512124720-29980-2-git-send-email-m.othacehe@gmail.com> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 11 Frimaire an 226 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Fri, 01 Dec 2017 12:01:27 +0100 In-Reply-To: <1512124720-29980-2-git-send-email-m.othacehe@gmail.com> (m. othacehe's message of "Fri, 1 Dec 2017 11:38:40 +0100") Message-ID: <87po7yhfug.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 2.2 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: m.othacehe@gmail.com skribis: > From: Mathieu Othacehe > > * gnu/system/vm.scm (qemu-img): Do not add EFI partition if we are targetting > ARM. > > UEFI support on u-boot is still experimental, so do not add EFI partition on > ARM for now. [...] Content analysis details: (2.2 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 1.0 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail) 0.0 SPF_HELO_FAIL SPF: HELO does not match SPF record (fail) [SPF failed: Please see http://www.openspf.org/Why?s=helo; id=hera.aquilenet.fr; ip=141.255.128.1; r=debbugs.gnu.org] 1.3 RDNS_NONE Delivered to internal network by a host with no rDNS X-Debbugs-Envelope-To: 29409 Cc: 29409@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 2.2 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: m.othacehe@gmail.com skribis: > From: Mathieu Othacehe > > * gnu/system/vm.scm (qemu-img): Do not add EFI partition if we are targetting > ARM. > > UEFI support on u-boot is still experimental, so do not add EFI partition on > ARM for now. [...] Content analysis details: (2.2 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 1.0 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail) 0.0 SPF_HELO_FAIL SPF: HELO does not match SPF record (fail) [SPF failed: Please see http://www.openspf.org/Why?s=helo;id=hera.aquilenet.fr;ip=141.255.128.1;r=debbugs.gnu.org] 1.3 RDNS_NONE Delivered to internal network by a host with no rDNS m.othacehe@gmail.com skribis: > From: Mathieu Othacehe > > * gnu/system/vm.scm (qemu-img): Do not add EFI partition if we are target= ting > ARM. > > UEFI support on u-boot is still experimental, so do not add EFI partition= on > ARM for now. [...] > + ;; Append a small EFI System Partition for use with = UEFI > + ;; bootloaders if we are not targetting ARM. + =E2=80=9Cbecause UEFI support in U-Boot is experimental.=E2=80=9D > + (if #$(target-arm32?) > + '() Also can you add something like: ;; FIXME: =E2=80=98target-arm32?=E2=80=99 may be not operate on the right ;; system/target values. Rewrite using =E2=80=98let-system=E2=80=99 when= available. OK with these changes, thank you! And sorry for not completing =E2=80=98let-system=E2=80=99 in type. I plan = to resume soonish but I figured I=E2=80=99d rather focus on the new release now. Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 01 07:47:57 2017 Received: (at 29409) by debbugs.gnu.org; 1 Dec 2017 12:47:57 +0000 Received: from localhost ([127.0.0.1]:39169 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eKkjV-0005jo-I2 for submit@debbugs.gnu.org; Fri, 01 Dec 2017 07:47:57 -0500 Received: from [141.255.128.1] (port=34151 helo=hera.aquilenet.fr) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eKkjT-0005jZ-0b for 29409@debbugs.gnu.org; Fri, 01 Dec 2017 07:47:55 -0500 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id 31441100B7; Fri, 1 Dec 2017 13:47:53 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at aquilenet.fr Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id gTzwn_QY7e-t; Fri, 1 Dec 2017 13:47:52 +0100 (CET) Received: from ribbon (unknown [193.50.110.211]) by hera.aquilenet.fr (Postfix) with ESMTPSA id 59582100AF; Fri, 1 Dec 2017 13:47:52 +0100 (CET) From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: m.othacehe@gmail.com Subject: Re: [bug#29409] [PATCH] build: utils: Introduce dd. References: <877euhtjkj.fsf@gmail.com> <1512038828-10822-1-git-send-email-m.othacehe@gmail.com> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 11 Frimaire an 226 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Fri, 01 Dec 2017 13:47:49 +0100 In-Reply-To: <1512038828-10822-1-git-send-email-m.othacehe@gmail.com> (m. othacehe's message of "Thu, 30 Nov 2017 11:47:08 +0100") Message-ID: <87609qhax6.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 2.2 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Hello, m.othacehe@gmail.com skribis: > From: Mathieu Othacehe > > * guix/build/utils.scm (dd): New exported procedure. > * gnu/bootloader/extlinux.scm (dd): Remove it, > (install-extlinux): replace gexp dd with dd added above. > --- > Hi, > > dd will be used in different bootloader related gexp. So it may be > good to add it to (guix build utils). The problem is that > it triggers a big rebuild. I was able to test this path with > "installed-extlinux-os". [...] Content analysis details: (2.2 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 SPF_HELO_FAIL SPF: HELO does not match SPF record (fail) [SPF failed: Please see http://www.openspf.org/Why?s=helo; id=hera.aquilenet.fr; ip=141.255.128.1; r=debbugs.gnu.org] 1.0 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail) 1.3 RDNS_NONE Delivered to internal network by a host with no rDNS X-Debbugs-Envelope-To: 29409 Cc: 29409@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 2.2 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Hello, m.othacehe@gmail.com skribis: > From: Mathieu Othacehe > > * guix/build/utils.scm (dd): New exported procedure. > * gnu/bootloader/extlinux.scm (dd): Remove it, > (install-extlinux): replace gexp dd with dd added above. > --- > Hi, > > dd will be used in different bootloader related gexp. So it may be > good to add it to (guix build utils). The problem is that > it triggers a big rebuild. I was able to test this path with > "installed-extlinux-os". [...] Content analysis details: (2.2 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 SPF_HELO_FAIL SPF: HELO does not match SPF record (fail) [SPF failed: Please see http://www.openspf.org/Why?s=helo;id=hera.aquilenet.fr;ip=141.255.128.1;r=debbugs.gnu.org] 1.0 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail) 1.3 RDNS_NONE Delivered to internal network by a host with no rDNS Hello, m.othacehe@gmail.com skribis: > From: Mathieu Othacehe > > * guix/build/utils.scm (dd): New exported procedure. > * gnu/bootloader/extlinux.scm (dd): Remove it, > (install-extlinux): replace gexp dd with dd added above. > --- > Hi, > > dd will be used in different bootloader related gexp. So it may be > good to add it to (guix build utils). The problem is that > it triggers a big rebuild. I was able to test this path with > "installed-extlinux-os". Yes, changing (guix build utils) triggers a full rebuild because everything depends on it. > +(define* (dd input output #:key bs count seek (extras '())) > + "Call dd command with provided INPUT and OUTPUT arguments. BS, COUNT, = SEEK > + and EXTRAS parameters are optional. EXTRAS is a list of string argumen= ts to > + be passed directly to dd." > + (apply system* "dd" > + (string-append "if=3D" input) > + (string-append "of=3D" output) > + (append > + (if bs > + `(,(string-append "bs=3D" (number->string bs))) > + '()) > + (if count > + `(,(string-append "count=3D" (number->string count))) > + '()) > + (if seek > + `(,(string-append "seek=3D" (number->string seek))) > + '()) > + extras))) I=E2=80=99m not quite convinced. :-) It seems to me that it doesn=E2=80= =99t buy us much to have it in (guix build utils), because we don=E2=80=99t need it very often anyway, and secondly, I think we can use =E2=80=98dump-port=E2=80=99 = or other I/O procedures instead. Namely: + (zero? (dd (string-append syslinux-dir "/" #$mbr) + device + #:bs 440 + #:count 1))) would become: (call-with-input-file (string-append syslinux-dir "/" #$mbr) (lambda (input) (let ((bv (get-bytevector-n input 440)) (output (open-file device "wb0"))) (put-bytevector output bv) (close-port output)))) Granted, that=E2=80=99s a bit more verbose, but it=E2=80=99s also very ligh= tweight compared to using =E2=80=98dd=E2=80=99. WDYT? Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 01 07:58:20 2017 Received: (at 29409) by debbugs.gnu.org; 1 Dec 2017 12:58:20 +0000 Received: from localhost ([127.0.0.1]:39174 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eKktY-0005xZ-Hp for submit@debbugs.gnu.org; Fri, 01 Dec 2017 07:58:20 -0500 Received: from mail-wr0-f179.google.com ([209.85.128.179]:37241) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eKktX-0005xN-RP for 29409@debbugs.gnu.org; Fri, 01 Dec 2017 07:58:20 -0500 Received: by mail-wr0-f179.google.com with SMTP id k61so10009818wrc.4 for <29409@debbugs.gnu.org>; Fri, 01 Dec 2017 04:58:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=references:user-agent:from:to:cc:subject:in-reply-to:date :message-id:mime-version:content-transfer-encoding; bh=exa05c9+Fg2i/d0Pg0Be1j7kaDzXc0Qdh90QBlHIEJg=; b=s3ERZDgbQA19uDV3EYbhKxUKxY04nWArME3hhA8Xfq7IOJnGW0Tx1bvl32dxBm2SqW DLk90IjiYNAse2vkG++dhHgr0hi68+2rr6j/IAWFQ+uYkY6CZXT3xZfFqUDCiUJcVZ0q sYtfnAQxHOqJ3M+sAqee9z0C7J/1tkawS7wOebceoP4Kp5g7KQBpKjuxmdoC17NO1o5W juhve5zDransqJ6LO7B21lf9kT56MuUJGu31GXQIb+FgRIoOraHOP3Fca8PEU7ih4oNV oYtktzPOiA/vczaEGrsmNiCpUy1riwMPHbpG9o4zyYKi5gv3VRpDXX9farbMA6Uadsta L59w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:references:user-agent:from:to:cc:subject :in-reply-to:date:message-id:mime-version:content-transfer-encoding; bh=exa05c9+Fg2i/d0Pg0Be1j7kaDzXc0Qdh90QBlHIEJg=; b=pMzPNcpPKx0ll9ejTlSz5/FFbVrkhoHO/iGwiHugyzI4IrVxeaW6gRflpnNKi7Kunl mZQyRXD82AAN1mOEMmXyyujA6lRibIdUjvTov6KRhLnBhmBYNYh+rBxdFAQWQhFX/dLq GTtt7Qu5AAGXD2d0G37ENGube/+46dglVPqoPONz3msJuE5fEr0t/gEDRnbeuVekdjyJ Vm67bhSzn3vDxi5JcxIpyOk2jFnC3bwDRCJXjjCbI8USts43wZLwdR6p6SpIg1jQENW1 eQAxoAjF7iccydiVwgsJjekMXnDv6FeiSYxJXbxK4MmHA0JeNgYA11aeWbxMhwrehjcU hIjw== X-Gm-Message-State: AJaThX78TDzX7zoi9gifIDUrlxlPQyCOqg6gMMyuSUw7UkQPN8dOOaqb UeaxEhpi2P0vnnD38kFFEPyOLw== X-Google-Smtp-Source: AGs4zMZZNGt0DFOA06j9mtZKH+11cRYr/SGM7Z2ybxoic+vuMeL4QBpj8nRmhbWqXwA9uDqfkyh8zQ== X-Received: by 10.223.157.41 with SMTP id k41mr4912185wre.281.1512133093914; Fri, 01 Dec 2017 04:58:13 -0800 (PST) Received: from denali ([46.218.109.88]) by smtp.gmail.com with ESMTPSA id i55sm4607853wra.60.2017.12.01.04.58.12 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 01 Dec 2017 04:58:13 -0800 (PST) References: <1512124720-29980-1-git-send-email-m.othacehe@gmail.com> <1512124720-29980-2-git-send-email-m.othacehe@gmail.com> <87po7yhfug.fsf@gnu.org> User-agent: mu4e 0.9.18; emacs 25.2.1 From: Mathieu Othacehe To: Ludovic =?utf-8?Q?Court=C3=A8s?= Subject: Re: [bug#29409] [PATCH] system: vm: Do not add EFI partition on ARM system. In-reply-to: <87po7yhfug.fsf@gnu.org> Date: Fri, 01 Dec 2017 13:58:12 +0100 Message-ID: <87y3mmsizf.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 29409 Cc: 29409@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) > OK with these changes, thank you! Thanks for reviewing i pushed this one and the previous one with the changes you suggested. > And sorry for not completing ‘let-system’ in type. I plan to resume > soonish but I figured I’d rather focus on the new release now. It's fine, i know you cannot be on all fronts :) Thanks, Mathieu From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 01 08:02:15 2017 Received: (at 29409) by debbugs.gnu.org; 1 Dec 2017 13:02:15 +0000 Received: from localhost ([127.0.0.1]:39188 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eKkxL-00064n-67 for submit@debbugs.gnu.org; Fri, 01 Dec 2017 08:02:15 -0500 Received: from mail-wm0-f43.google.com ([74.125.82.43]:42288) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eKkxH-00064X-8Y for 29409@debbugs.gnu.org; Fri, 01 Dec 2017 08:02:12 -0500 Received: by mail-wm0-f43.google.com with SMTP id l141so3409723wmg.1 for <29409@debbugs.gnu.org>; Fri, 01 Dec 2017 05:02:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=references:user-agent:from:to:cc:subject:in-reply-to:date :message-id:mime-version; bh=5JoBfFLfh7+lV09YCsKiVaO1hiu6AgNsTnsfuxsXAyA=; b=ijTL/Vu+gLxLLLoZNW/+PsSmE9EzTonsMbgBPbnUgSf0mKXs7ooHOZX12dTGh3lQPC 925IWdOLCK+U+LauB/Aq2KKIk07yOPIZ0SXLtSM8oBh9af6o8jBhSdPJ1WxkHvfmhOek abLWlS6Sz5U3RI4DMJDPWN1NKzH+vsn5U2iB3h0xdF1vTzJrJMt+LCAtBdp/GJ8DS1tN OyJfPsPj2JsRWRvY+5NbuZh9YKsKymlIjdbkstzzRXcqt8Ji2kDfGtskXq/OVZ03Nsl5 ajhqkg9lr3O4Y/6Uyn0fhKz9BSiJyzbvaOd162kJLrirIg04pebsZ66phwv0d8p/qvvP Fsgw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:references:user-agent:from:to:cc:subject :in-reply-to:date:message-id:mime-version; bh=5JoBfFLfh7+lV09YCsKiVaO1hiu6AgNsTnsfuxsXAyA=; b=KPeu6HTD6I6llNu7EDneE/RNWK9SC8VJ/UA9Liv5aAQGDNjglCOALwJtPJveyn7s2v GELdTPUA/1CPCHp5Z8JaQ0JPCy+mIYBM8li0hFbpaMRs900mDGXmEJDWfWDIsZc5raS+ W0qpH7WDFaAjaFYZshJhHjz7+4Bklsj3CbdBFUaFoMYhTf266hV19mCEdpaJKt8CC5xd EESeKvfMn86LZh3s97gB9ZktwDzhFVNNKqfhg6IkcYp1yULksqOZiEqISc2K2peQ//nu V3AGRCMu9pIpQX4gXQdusIestW6T1sAh4FFpZiSnYIhsZewQ95LwyabOeF36BMqRbIn9 HlHw== X-Gm-Message-State: AJaThX7jpiDiaSKZ9CoSWLdOxQ4/AMehqvUPtd1p9OQt41jCb8Pf6n3m mGKoHDRd5qcKnNDrCNS/fSyBAg== X-Google-Smtp-Source: AGs4zMYHJEu2wzS7TGTN9ZJz3DLJ+3iTVIquer5quYkONC1Ss4I8MrHEX2AUdUSzNSGMCvhKtuPPbg== X-Received: by 10.28.61.135 with SMTP id k129mr1123492wma.81.1512133325206; Fri, 01 Dec 2017 05:02:05 -0800 (PST) Received: from denali ([46.218.109.88]) by smtp.gmail.com with ESMTPSA id p7sm1080716wmg.44.2017.12.01.05.02.04 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 01 Dec 2017 05:02:04 -0800 (PST) References: <877euhtjkj.fsf@gmail.com> <1511976873-26867-1-git-send-email-m.othacehe@gmail.com> <87fu8v1yj3.fsf@gnu.org> User-agent: mu4e 0.9.18; emacs 25.2.1 From: Mathieu Othacehe To: Ludovic =?utf-8?Q?Court=C3=A8s?= Subject: Re: [bug#29409] [PATCH] tests: install: Increase extlinux install partition size. In-reply-to: <87fu8v1yj3.fsf@gnu.org> Date: Fri, 01 Dec 2017 14:02:04 +0100 Message-ID: <87wp26sisz.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 29409 Cc: 29409@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) > Does 53d26163c6ec1a1c48a1ec775e67b739b9005270 allow bare-bones to fit in > 1G again? That was the main motivation behind this patch. Ok, i'm running the test again on 1776d5cd but it fails when building guix with the following errors : --8<---------------cut here---------------start------------->8--- GUILEC guix/scripts/import/json.go GUILEC guix/scripts/import/pypi.go GUILEC guix/scripts/import/stackage.go GUILEC guix/ssh.go GUILEC guix/scripts/copy.go GUILEC guix/store/ssh.go GUILEC guix/scripts/offload.go GUILEC guix/config.go GUILEC guix/tests.go GUILEC guix/tests/http.go random seed for tests: 1512112612 ;;; Failed to autoload make-page-map in (charting): ;;; Failed to autoload make-page-map in (charting): ;;; ERROR: missing interface for module (charting) ;;; Failed to autoload make-page-map in (charting): ;;; ERROR: missing interface for module (charting) guix/scripts/size.scm:221:2: warning: possibly unbound variable `make-page-map' ;;; Failed to autoload make-page-map in (charting): ;;; ERROR: missing interface for module (charting) ;;; Failed to autoload make-page-map in (charting): ;;; ERROR: missing interface for module (charting) ;;; Failed to autoload read-pid-file in (shepherd service): ;;; ERROR: missing interface for module (shepherd service) ;;; Failed to autoload read-pid-file in (shepherd service): ;;; ERROR: missing interface for module (shepherd service) ;;; Failed to autoload exec-command in (shepherd service): ;;; ERROR: missing interface for module (shepherd service) ;;; Failed to autoload read-pid-file in (shepherd service): ;;; ERROR: missing interface for module (shepherd service) ;;; Failed to autoload read-pid-file in (shepherd service): ;;; ERROR: missing interface for module (shepherd service) ;;; Failed to autoload exec-command in (shepherd service): ;;; ERROR: missing interface for module (shepherd service) ;;; Failed to autoload read-pid-file in (shepherd service): ;;; ERROR: missing interface for module (shepherd service) gnu/build/shepherd.scm:100:13: warning: possibly unbound variable `read-pid-file' gnu/build/shepherd.scm:161:32: warning: possibly unbound variable `exec-command' gnu/build/shepherd.scm:172:14: warning: possibly unbound variable `read-pid-file' ;;; Failed to autoload read-pid-file in (shepherd service): ;;; ERROR: missing interface for module (shepherd service) ;;; Failed to autoload exec-command in (shepherd service): ;;; ERROR: missing interface for module (shepherd service) ;;; Failed to autoload read-pid-file in (shepherd service): ;;; ERROR: missing interface for module (shepherd service) ;;; Failed to autoload read-pid-file in (shepherd service): ;;; ERROR: missing interface for module (shepherd service) ;;; Failed to autoload exec-command in (shepherd service): ;;; ERROR: missing interface for module (shepherd service) ;;; Failed to autoload read-pid-file in (shepherd service): ;;; ERROR: missing interface for module (shepherd service) Backtrace: Exception thrown while printing backtrace: ERROR: In procedure public-lookup: Module named (system repl debug) does not exist Some deprecated features have been used. Set the environment variable GUILE_WARN_DEPRECATED to "detailed" and rerun the program to get more information. Set it to "no" to suppress this message. make[2]: *** [Makefile:5309: make-go] Error 1 make[2]: Leaving directory '/tmp/guix-build-guix-0.13.0-12.0a154c1+.drv-0/source' --8<---------------cut here---------------end--------------->8--- The test "installed-os" also fails with the same error. Any idea of what is going on ? Thanks, Mathieu From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 01 08:03:28 2017 Received: (at 29409) by debbugs.gnu.org; 1 Dec 2017 13:03:28 +0000 Received: from localhost ([127.0.0.1]:39194 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eKkyV-00066d-Pj for submit@debbugs.gnu.org; Fri, 01 Dec 2017 08:03:27 -0500 Received: from mail-wr0-f172.google.com ([209.85.128.172]:36067) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eKkyT-00066P-LY for 29409@debbugs.gnu.org; Fri, 01 Dec 2017 08:03:25 -0500 Received: by mail-wr0-f172.google.com with SMTP id v105so10003034wrc.3 for <29409@debbugs.gnu.org>; Fri, 01 Dec 2017 05:03:25 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=references:user-agent:from:to:cc:subject:in-reply-to:date :message-id:mime-version:content-transfer-encoding; bh=7wwKC6ojDK9DpOFoYH905rVsb22Ps2TV8nej2NOlGkg=; b=eEW1H5kMrXemTXmcgDadn3wEfD0ZQs4gzo4rWRBqw2d7/MGd1a47z4CX2IiGIdhqC3 HNTHUczWy4tq+0naifN21akfhHHw41Qwk9I3MhKnTORh2rpRR/01b5jQlz5vzHJIfc3T I9YNoDXfT3ZRXIfuGb70fwViMrnpgJ81NJNWAzP+Uth55/IhWAOSHPv7Vngwq5iMepkZ 42Ehutngv+uELyxXLLgMJkp7CfvDS1uxr19CNDonabAylx3bA3zdkz+SLE4kivqSK9ln Pd5P6N3GIC/HpSzGY5yr5ZEtc0kI8AqHnXEtK80aZhmfBkdiRUuX+uLc5k+NY9BU0JUM 7x6w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:references:user-agent:from:to:cc:subject :in-reply-to:date:message-id:mime-version:content-transfer-encoding; bh=7wwKC6ojDK9DpOFoYH905rVsb22Ps2TV8nej2NOlGkg=; b=OyN0xtn/S7ASb5isA7+y4Q58bXCzIqSW5f5UwWJ/5o60s4icVZbFiEQNAINYZeivn2 dK3krnQeZDjWEs6OZFRYjf186szeXgWl3u9HPl6fFhmPJN2e9W/Zpt5FiSwXqJ0mTOgN eVve9R64h62br7H2thWiqAch0TIIvMbgeqdYlUEfD6rc+nOJOL1Uho6C9tbbP8id4GIv 8z2uLiu5UiOY5FpM+ovHtIvFxkTZ4QmGdZ40JBEtSlqE/qVzVwHdOwVuvTWZkGcF8rDD AUIdAZIlDDdJ//LR+rHhuZI8j3gVsJqVbk/mIAyuXLXOB9B6uFsU3CUf/xDRCGYGjg1A KBDA== X-Gm-Message-State: AJaThX7Y6vOyW9I84BkAdl7CrPt5oWDViRYcgwMC3JiIvzfXTOunwcTl bsDDh9Bun+oWUG1wohOsfwj7eA== X-Google-Smtp-Source: AGs4zMY6kNc/finO9zw2XvjnoDLV6z7fabezu3xaIg7sYwgN2pQmLeWaxWfhovnbrz3WFeVpBv84yg== X-Received: by 10.223.172.226 with SMTP id o89mr5277254wrc.197.1512133399737; Fri, 01 Dec 2017 05:03:19 -0800 (PST) Received: from denali ([46.218.109.88]) by smtp.gmail.com with ESMTPSA id p17sm1140638wma.23.2017.12.01.05.03.18 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 01 Dec 2017 05:03:19 -0800 (PST) References: <877euhtjkj.fsf@gmail.com> <1512038828-10822-1-git-send-email-m.othacehe@gmail.com> <87609qhax6.fsf@gnu.org> User-agent: mu4e 0.9.18; emacs 25.2.1 From: Mathieu Othacehe To: Ludovic =?utf-8?Q?Court=C3=A8s?= Subject: Re: [bug#29409] [PATCH] build: utils: Introduce dd. In-reply-to: <87609qhax6.fsf@gnu.org> Date: Fri, 01 Dec 2017 14:03:18 +0100 Message-ID: <87vahqsiqx.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 29409 Cc: 29409@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) > (call-with-input-file (string-append syslinux-dir "/" #$mbr) > (lambda (input) > (let ((bv (get-bytevector-n input 440)) > (output (open-file device "wb0"))) > (put-bytevector output bv) > (close-port output)))) > > Granted, that’s a bit more verbose, but it’s also very lightweight > compared to using ‘dd’. It's much more elegant anyway ! I'll adapt the patch. Thanks, Mathieu From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 01 09:57:32 2017 Received: (at 29409) by debbugs.gnu.org; 1 Dec 2017 14:57:32 +0000 Received: from localhost ([127.0.0.1]:40104 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eKmku-0000SY-8f for submit@debbugs.gnu.org; Fri, 01 Dec 2017 09:57:32 -0500 Received: from mail-wr0-f176.google.com ([209.85.128.176]:42497) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eKmks-0000SJ-H3 for 29409@debbugs.gnu.org; Fri, 01 Dec 2017 09:57:31 -0500 Received: by mail-wr0-f176.google.com with SMTP id s66so10382409wrc.9 for <29409@debbugs.gnu.org>; Fri, 01 Dec 2017 06:57:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=references:user-agent:from:to:cc:subject:in-reply-to:date :message-id:mime-version; bh=jkgduiTbI9zkhxthVc00tbpaxvOmXfDL43lJg0FbMTg=; b=EDJb254yf3mEyei5QdmKRVgGjJ6MgztJafj5v9CoS6gGT8Cf+74DO7mgJWFx23FN4U ZbVz5nml4mWdlSO1+lcdbkY04p3gWWFGk6yyz4PfXzW5ltXMF4OFml4C3LdqtozeNCmt Bz5Pw6gvyZLS0cH6VMuUqPAPW7PN3NYt4xJQzZ2FOtDvw8P2abnunqfzj+6kyN6txkxo P7e1KYTLv8BzjU69OfLEfOyGB13UKahlIsoUfs9J7XjRPOug1k8cX2iWy8GZuPQKIDHe TcjAMORkaiFgZm2Y3y4p9nYLGGmL4IGisonr1SeygItoenlZ4DxlNxP5YLbt8cQwB2++ OPSQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:references:user-agent:from:to:cc:subject :in-reply-to:date:message-id:mime-version; bh=jkgduiTbI9zkhxthVc00tbpaxvOmXfDL43lJg0FbMTg=; b=rjOoiieYa7N8O8F7DvHfm3d5yPTg2woXive46sGadEPtrIQZlO8nCAlwp/KNme8TLr OuymzO1ujX79izQwTCmltXOSbehwOzuwUXrGg0MiJbvfb+n6LC+NOj4PbyND4y5J8gzx CnOGPOAzG9tWXUmi5gWhSIEIOxg0MFSUzp47QlnDt6YKRce15PrL3LEjIt1F/9svq3CO Mq/aMZxo28PFdmSrGf0//syeAjLOOwrbqEeIl1FS85QeaueTBgrO6PZ4O1vjkH/2kN3I GAdblqUbiRGVbJEiLwn0VVa72wwumlEeNX4ow7EejNNT+qGToso+JwcOz4S9/s/uiJyo xr+A== X-Gm-Message-State: AJaThX6kgIGU9zITzyck9sgln2II7B+MZ2WtNDZ86IZU8rXKwAVNvLgd Em82+qVIPBec+Ay5+842pICOYA== X-Google-Smtp-Source: AGs4zMYhpens5ngNxfscflwvhWawlLTQrfNrTyAeGB+GXncKsdd6LwGVVGEbroo+iqHbn4q6ENMbYw== X-Received: by 10.223.139.149 with SMTP id o21mr5373980wra.87.1512140244299; Fri, 01 Dec 2017 06:57:24 -0800 (PST) Received: from denali ([46.218.109.88]) by smtp.gmail.com with ESMTPSA id m23sm1282635wmc.29.2017.12.01.06.57.23 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 01 Dec 2017 06:57:23 -0800 (PST) References: <877euhtjkj.fsf@gmail.com> <1511976873-26867-1-git-send-email-m.othacehe@gmail.com> <87fu8v1yj3.fsf@gnu.org> <87wp26sisz.fsf@gmail.com> User-agent: mu4e 0.9.18; emacs 25.2.1 From: Mathieu Othacehe To: Ludovic =?utf-8?Q?Court=C3=A8s?= Subject: Re: [bug#29409] [PATCH] tests: install: Increase extlinux install partition size. In-reply-to: <87wp26sisz.fsf@gmail.com> Date: Fri, 01 Dec 2017 15:57:23 +0100 Message-ID: <87tvxasdgs.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 29409 Cc: 29409@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) > The test "installed-os" also fails with the same error. > > Any idea of what is going on ? After git clean and make clean this issue disappears. However, another issue appears : when running "guix system init /mnt/etc/config.scm /mnt --no-substitutes" in qemu, it tries to build several packages including binutils. This fails because there is no network in qemu machine. --8<---------------cut here---------------start------------->8--- Starting download of /gnu/store/a62j9z64i667zi6c2g9xhm15pld6rnyz-binutils-2.23.2.tar.xz >From ftp://alpha.gnu.org/gnu/guix/bootstrap/x86_64-linux/20131110/binutils-2.23.2.tar.xz... ERROR: In procedure getaddrinfo: Name or service not known --8<---------------cut here---------------end--------------->8--- Mathieu From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 01 11:07:56 2017 Received: (at 29409) by debbugs.gnu.org; 1 Dec 2017 16:07:56 +0000 Received: from localhost ([127.0.0.1]:40191 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eKnr1-0002CI-VQ for submit@debbugs.gnu.org; Fri, 01 Dec 2017 11:07:56 -0500 Received: from [141.255.128.1] (port=34927 helo=hera.aquilenet.fr) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eKnqz-0002C8-Ks for 29409@debbugs.gnu.org; Fri, 01 Dec 2017 11:07:55 -0500 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id 5FFE1F367; Fri, 1 Dec 2017 17:07:54 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at aquilenet.fr Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 9Fb-F0UgEOkr; Fri, 1 Dec 2017 17:07:52 +0100 (CET) Received: from ribbon (unknown [193.50.110.211]) by hera.aquilenet.fr (Postfix) with ESMTPSA id 209B7F129; Fri, 1 Dec 2017 17:07:52 +0100 (CET) From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: Mathieu Othacehe Subject: Re: [bug#29409] [PATCH] tests: install: Increase extlinux install partition size. References: <877euhtjkj.fsf@gmail.com> <1511976873-26867-1-git-send-email-m.othacehe@gmail.com> <87fu8v1yj3.fsf@gnu.org> <87wp26sisz.fsf@gmail.com> <87tvxasdgs.fsf@gmail.com> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 11 Frimaire an 226 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Fri, 01 Dec 2017 17:07:48 +0100 In-Reply-To: <87tvxasdgs.fsf@gmail.com> (Mathieu Othacehe's message of "Fri, 01 Dec 2017 15:57:23 +0100") Message-ID: <87y3mme8iz.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 2.2 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Mathieu Othacehe skribis: >> The test "installed-os" also fails with the same error. >> >> Any idea of what is going on ? > > After git clean and make clean this issue disappears. > However, another issue appears : > > when running "guix system init /mnt/etc/config.scm /mnt > --no-substitutes" in qemu, it tries to build several packages including > binutils. > > This fails because there is no network in qemu machine. > > Starting download of /gnu/store/a62j9z64i667zi6c2g9xhm15pld6rnyz-binutils-2.23.2.tar.xz > From ftp://alpha.gnu.org/gnu/guix/bootstrap/x86_64-linux/20131110/binutils-2.23.2.tar.xz... > ERROR: In procedure getaddrinfo: Name or service not known [...] Content analysis details: (2.2 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 SPF_HELO_FAIL SPF: HELO does not match SPF record (fail) [SPF failed: Please see http://www.openspf.org/Why?s=helo; id=hera.aquilenet.fr; ip=141.255.128.1; r=debbugs.gnu.org] 1.0 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail) 1.3 RDNS_NONE Delivered to internal network by a host with no rDNS X-Debbugs-Envelope-To: 29409 Cc: 29409@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 2.2 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Mathieu Othacehe skribis: >> The test "installed-os" also fails with the same error. >> >> Any idea of what is going on ? > > After git clean and make clean this issue disappears. > However, another issue appears : > > when running "guix system init /mnt/etc/config.scm /mnt > --no-substitutes" in qemu, it tries to build several packages including > binutils. > > This fails because there is no network in qemu machine. > > Starting download of /gnu/store/a62j9z64i667zi6c2g9xhm15pld6rnyz-binutils-2.23.2.tar.xz > From ftp://alpha.gnu.org/gnu/guix/bootstrap/x86_64-linux/20131110/binutils-2.23.2.tar.xz... > ERROR: In procedure getaddrinfo: Name or service not known [...] Content analysis details: (2.2 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 0.0 SPF_HELO_FAIL SPF: HELO does not match SPF record (fail) [SPF failed: Please see http://www.openspf.org/Why?s=helo;id=hera.aquilenet.fr;ip=141.255.128.1;r=debbugs.gnu.org] 1.0 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail) 1.3 RDNS_NONE Delivered to internal network by a host with no rDNS Mathieu Othacehe skribis: >> The test "installed-os" also fails with the same error. >> >> Any idea of what is going on ? > > After git clean and make clean this issue disappears. > However, another issue appears : > > when running "guix system init /mnt/etc/config.scm /mnt > --no-substitutes" in qemu, it tries to build several packages including > binutils. > > This fails because there is no network in qemu machine. > > Starting download of /gnu/store/a62j9z64i667zi6c2g9xhm15pld6rnyz-binutils= -2.23.2.tar.xz > From ftp://alpha.gnu.org/gnu/guix/bootstrap/x86_64-linux/20131110/binutil= s-2.23.2.tar.xz... > ERROR: In procedure getaddrinfo: Name or service not known Presumably that=E2=80=99s because of grafts. The tests in (gnu tests install) go to great lengths to ensure that this doesn=E2=80=99t happen. At least you=E2=80=99ll have to use --no-grafts. HTH, Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 01 15:15:59 2017 Received: (at 29409) by debbugs.gnu.org; 1 Dec 2017 20:15:59 +0000 Received: from localhost ([127.0.0.1]:40560 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eKrj4-0003jk-NY for submit@debbugs.gnu.org; Fri, 01 Dec 2017 15:15:58 -0500 Received: from dd1012.kasserver.com ([85.13.128.8]:44050) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eKrj0-0003jZ-SU for 29409@debbugs.gnu.org; Fri, 01 Dec 2017 15:15:55 -0500 Received: from localhost (178.113.204.98.wireless.dyn.drei.com [178.113.204.98]) by dd1012.kasserver.com (Postfix) with ESMTPSA id 5E3321CA02D8; Fri, 1 Dec 2017 21:15:33 +0100 (CET) Date: Fri, 1 Dec 2017 21:14:16 +0100 From: Danny Milosavljevic To: m.othacehe@gmail.com Subject: Re: [bug#29409] [PATCH] system: vm: Do not add EFI partition on ARM system. Message-ID: <20171201211416.3977f6b1@scratchpost.org> In-Reply-To: <1511965226-12253-2-git-send-email-m.othacehe@gmail.com> References: <1511965226-12253-1-git-send-email-m.othacehe@gmail.com> <1511965226-12253-2-git-send-email-m.othacehe@gmail.com> X-Mailer: Claws Mail 3.15.1-dirty (GTK+ 2.24.31; x86_64-unknown-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 29409 Cc: 29409@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) > + ;; bootloaders if we are not targetting ARM. "targeting" (one "t"). LGTM otherwise. Be advised that there are ARM processors that do use EFI (some ARMv8 and aarch64 boards). I'm not opposed to this patch but in the future it might be better to have a flag specify whether to use UEFI. From debbugs-submit-bounces@debbugs.gnu.org Sat Dec 02 07:02:43 2017 Received: (at 29409) by debbugs.gnu.org; 2 Dec 2017 12:02:43 +0000 Received: from localhost ([127.0.0.1]:41040 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eL6VH-0003r1-Eq for submit@debbugs.gnu.org; Sat, 02 Dec 2017 07:02:43 -0500 Received: from mail-wm0-f43.google.com ([74.125.82.43]:34625) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eL6VG-0003qq-Gt for 29409@debbugs.gnu.org; Sat, 02 Dec 2017 07:02:42 -0500 Received: by mail-wm0-f43.google.com with SMTP id y82so8647579wmg.1 for <29409@debbugs.gnu.org>; Sat, 02 Dec 2017 04:02:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=references:user-agent:from:to:cc:subject:in-reply-to:date :message-id:mime-version:content-transfer-encoding; bh=hSNVu0USpymFiHPnIcXtXOIxFo2c7VZnKUdj8Ii9ikQ=; b=c4aGalLEuYG88T8As2fYHVhYXcksQrT0OwOJoWWRoWJZod9luhVW9ZaR6jG//poRLT jYFOqPUmenLLkKq72fajUfaGGhIPDQDGB5MT0NZ/SdY6Th3tIDtIkuwg0a3xOCetnA7/ Jj1Dl5h0fEy1s7jBOtBBtONp02P8Az5FHhg5d4eV35T0xgfwUBpCqR6G/lOiGSqInlQ3 IsgXNxtlJA7/ph9ziMKbSSSLPecPf98ph6hsrDM3h1/8nom5CIXqa+K8GvQVhkCHMWAR IVabCgfjXjctnGbQyod9nyw/O+qh5v3G8eO0Ea9tpQLpxygeG4Q/yiiHTmaX4kcYjSyo 6Bhw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:references:user-agent:from:to:cc:subject :in-reply-to:date:message-id:mime-version:content-transfer-encoding; bh=hSNVu0USpymFiHPnIcXtXOIxFo2c7VZnKUdj8Ii9ikQ=; b=AwlBt3mFef+p6tFisHXW5cZR/RBEgFBjIuzrhq4fO12Cx8mBoj0yLnOGbacDAKefy2 +zBDBS73AyScagT+/QUhmfW3L3ZnYHzxUqPvalZkQyuq0E85PWGuwwgZPHWiHF+8qF4d J3votuTVaCsG3MFMIko1hY7wz8s7ghN823YQLGmWAKOZXsJ3vnF6M3mEiJBY4oWvIVfI BzWORfh73zZXLekwtc+PKIH1NF30y9zhirkIPf9igONPmVLk1Y7ddn+OtLLJOIdAl5Td pHMpYbCj4BF1r2I5BrztfAMfZuCHfpDJ+13jKESxdnDLvxQGUKmDRqfvpFvs+nv7BQZH 05sg== X-Gm-Message-State: AKGB3mJJnf0232Vg8leU52yu6lBTsnnTsBo3LrnsJiukk37ALJ6q8FB2 uoMA3qqvA3tcsU1E+6cJPrvzlA== X-Google-Smtp-Source: AGs4zMZRADDUpEIyVQOXFgKC8IJMdwE8ThC8+eh1jVoIbDoh2LCaIdkHtYljRuEs+1DGbDu2p/YhIA== X-Received: by 10.28.58.15 with SMTP id h15mr1699400wma.150.1512216155672; Sat, 02 Dec 2017 04:02:35 -0800 (PST) Received: from cervin ([78.192.96.126]) by smtp.gmail.com with ESMTPSA id q140sm3401961wmd.35.2017.12.02.04.02.34 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sat, 02 Dec 2017 04:02:34 -0800 (PST) References: <877euhtjkj.fsf@gmail.com> <1511976873-26867-1-git-send-email-m.othacehe@gmail.com> <87fu8v1yj3.fsf@gnu.org> <87wp26sisz.fsf@gmail.com> <87tvxasdgs.fsf@gmail.com> <87y3mme8iz.fsf@gnu.org> User-agent: mu4e 0.9.18; emacs 25.3.1 From: Mathieu Othacehe To: Ludovic =?utf-8?Q?Court=C3=A8s?= Subject: Re: [bug#29409] [PATCH] tests: install: Increase extlinux install partition size. In-reply-to: <87y3mme8iz.fsf@gnu.org> Date: Sat, 02 Dec 2017 13:02:32 +0100 Message-ID: <87k1y51go7.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 29409 Cc: 29409@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) Hey Ludo, > Presumably that’s because of grafts. > > The tests in (gnu tests install) go to great lengths to ensure that this > doesn’t happen. At least you’ll have to use --no-grafts. On two different machines, with those two commands : --8<---------------cut here---------------start------------->8--- GUIX_BUILD_OPTIONS="--no-grafts" && make check-system TESTS="installed-os" make check-system TESTS="installed-os" --8<---------------cut here---------------end--------------->8--- i have the same result, the vm tries to download binutils sources. Do you see another reason ? Thanks, Mathieu From debbugs-submit-bounces@debbugs.gnu.org Sat Dec 02 07:46:27 2017 Received: (at 29409) by debbugs.gnu.org; 2 Dec 2017 12:46:27 +0000 Received: from localhost ([127.0.0.1]:41052 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eL7BZ-0006kR-0z for submit@debbugs.gnu.org; Sat, 02 Dec 2017 07:46:25 -0500 Received: from mail-wr0-f173.google.com ([209.85.128.173]:39047) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eL7BX-0006kE-Gf for 29409@debbugs.gnu.org; Sat, 02 Dec 2017 07:46:23 -0500 Received: by mail-wr0-f173.google.com with SMTP id a41so10804263wra.6 for <29409@debbugs.gnu.org>; Sat, 02 Dec 2017 04:46:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=references:user-agent:from:to:cc:subject:in-reply-to:date :message-id:mime-version; bh=IVuWzg14qiTwkJwnuNybBe4XslMuB7F3seKFFDXWX9k=; b=Bn4QfqCT/Bw/h2JprhqBk3JYakWkgdlRkg5teK854HAl2sdPYrYAS7+fv18tVwJVfn gQ+Ze57snf3kRibDJ0NMAk85qYY6ZUdzwdx5jUGx4rDBp7pmgqI7LFhA94iyEcIB2nNa UcLms/9VePboDJFHSm5oL54SodFuNjyUSMe0JOWQewmpe913Qqk7fhfW8brHJdbjiMJj 8WD97r0UjH0Rkim6f2FgDIVLf0Pm1nEiG3aMBab3ZFprZ7WT8APJZYakSu9dkyRLYAOW uf4KwP9NfcwsthH6Vt3Qrz4WyHI/EmUxfFtR3Vt1MEMJ3WFUQYN8en6isK8bG5d0iyW6 mQTg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:references:user-agent:from:to:cc:subject :in-reply-to:date:message-id:mime-version; bh=IVuWzg14qiTwkJwnuNybBe4XslMuB7F3seKFFDXWX9k=; b=PZ2ib0LfEnlmHnpo/KqXYQlPctKkwezoyOQbxDtCE+5Dd99yQqmf7VRmaAdAEixB/8 QOpt/J5qhZOG30yhVzqwYI/wNG4Bt6Ntzrfo99UMlVYj4tXV2rF7CQWNdAuZMD7vVziI bVJ+7LQVp55WpFdcBtBdHDT/E/G5pVVHCFPICCHlw7nbAHMdrmYZFhPwQwNxUBmok87m I7srRUIl9l9tY/chYYpGlS0FiLTVRjtZubGcgeLXZyJnEU7m/ZTVMjUBIL06DQH9BB3O fTQZ89sT2kRf1Ucs19y16+iWyCoPEZPBjxokkukJaRpbJ5W1GBuO4ciqHHF9F7keYc+X 0Bow== X-Gm-Message-State: AJaThX5RC8RMFs2pbCCh+In3ay6xlxzuMj/Lbmls0kZb5LyBMtx1wB08 Zx2juIxx9ec29JVBuYIYsTsKVw== X-Google-Smtp-Source: AGs4zMZ6KKeGhDujYU/FhKh4KgtkVN7eve0XDK8+XivsJj5AoUnoErCcIMvwaoOHPn2u5lKOnZx6sg== X-Received: by 10.223.176.143 with SMTP id i15mr8901107wra.240.1512218777577; Sat, 02 Dec 2017 04:46:17 -0800 (PST) Received: from cervin ([78.192.96.126]) by smtp.gmail.com with ESMTPSA id i55sm6963858wra.60.2017.12.02.04.46.16 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sat, 02 Dec 2017 04:46:16 -0800 (PST) References: <1511965226-12253-1-git-send-email-m.othacehe@gmail.com> <1511965226-12253-2-git-send-email-m.othacehe@gmail.com> <20171201211416.3977f6b1@scratchpost.org> User-agent: mu4e 0.9.18; emacs 25.3.1 From: Mathieu Othacehe To: Danny Milosavljevic Subject: Re: [bug#29409] [PATCH] system: vm: Do not add EFI partition on ARM system. In-reply-to: <20171201211416.3977f6b1@scratchpost.org> Date: Sat, 02 Dec 2017 13:46:13 +0100 Message-ID: <87indp1ene.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 29409 Cc: 29409@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) > Be advised that there are ARM processors that do use EFI (some ARMv8 and aarch64 boards). I'm not opposed to this patch but in the future it might be better to have a flag specify whether to use UEFI. Ok. Then, when GuixSD will support ARMv8 and aarch64 boards, maybe we will have to add an "esp-partition?" flag to "qemu-image" procedure. Thanks for reviewing, Mathieu From debbugs-submit-bounces@debbugs.gnu.org Sat Dec 02 08:17:04 2017 Received: (at 29409) by debbugs.gnu.org; 2 Dec 2017 13:17:04 +0000 Received: from localhost ([127.0.0.1]:41061 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eL7fE-0007Pc-Fs for submit@debbugs.gnu.org; Sat, 02 Dec 2017 08:17:04 -0500 Received: from mail-wm0-f52.google.com ([74.125.82.52]:41849) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eL7fC-0007P6-RQ for 29409@debbugs.gnu.org; Sat, 02 Dec 2017 08:17:03 -0500 Received: by mail-wm0-f52.google.com with SMTP id g75so7851715wme.0 for <29409@debbugs.gnu.org>; Sat, 02 Dec 2017 05:17:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=references:user-agent:from:to:cc:subject:in-reply-to:date :message-id:mime-version; bh=5dX87WzTGibbubDtovPSvIBCnx0nL5PnijloqtH3F/w=; b=DI2EAyYa2EX0VGSvriCW5m1pnAxWUIaVHOOsn/fHrQNgG6ogb+UsZejhTsr0PlSNXH JQXvGtFLQGfIsIMlFrLkzyfzFosfFoOn7YDqyCFDbGnTuxtBW1aangyZcmkpZuEajA97 T/9ArkA5smHGjC3FWoxJFXSE/UOES4JlM/0y+8P5qYYW/m9vqxngnEA+00PoIhA3alaD dddAUBnduc9eT6qSVPeI1WS3NaNnSOtdA1CajLthPdQg+tHx5TJEAxtH/B3ZOyuxQkkp Dy++5hdXy4TegqcKyFfZOx0ee5gJ+loqw237UqAwG2E7ns5xh6EdoVxDDx3tFaqdUlO6 CIEw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:references:user-agent:from:to:cc:subject :in-reply-to:date:message-id:mime-version; bh=5dX87WzTGibbubDtovPSvIBCnx0nL5PnijloqtH3F/w=; b=EV7lQr8pOiWcavLUvgqQN1f317/fsnXeYm1KIBc3/NxUdRYzE6JcqRGdVdW/ZRg5jv eukrwuhhjU9q6UUmqDJz6gZU/Yl9vpkvMGPIhvd1oIoY+QpakaUErIhXr4oWb4AcNdAK SYjhEndRaiZQNTG7dzzpWFP/qCZ9VsMnu7/FuqvP+t2u+szzjah5O3YUocBRClOqSzaP /e7CDT1cMl++F7wGFL7Jn+gkO5xbQi3N3KuIAAXgtRU4NV/U41vznR9P0P7zqbH52BdB ok3M2OoH58uiVhssoAnmf7k3idPXu7lUU4HxksxA09Ak2PtrT+DqUvN/yJGHIPV6P/P0 R0qg== X-Gm-Message-State: AKGB3mKKQ8QCzA7FZr3QewLjUQTI22VvrtNvDx1N7uMI0do9UQACwKfN X/9eD0egHS32jxBP4jCCsoROXQ== X-Google-Smtp-Source: AGs4zMYx9KcOv0ezSijhmrk04fSFxPvOXFfUjuAet8uz5oy0tfFoY156RdvYEvOGBOS4asAvZsdy2w== X-Received: by 10.28.212.74 with SMTP id l71mr3751737wmg.33.1512220616983; Sat, 02 Dec 2017 05:16:56 -0800 (PST) Received: from cervin ([78.192.96.126]) by smtp.gmail.com with ESMTPSA id t10sm10820764wra.16.2017.12.02.05.16.55 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sat, 02 Dec 2017 05:16:56 -0800 (PST) References: <877euhtjkj.fsf@gmail.com> <1511976873-26867-1-git-send-email-m.othacehe@gmail.com> <87fu8v1yj3.fsf@gnu.org> <87wp26sisz.fsf@gmail.com> <87tvxasdgs.fsf@gmail.com> <87y3mme8iz.fsf@gnu.org> <87k1y51go7.fsf@gmail.com> User-agent: mu4e 0.9.18; emacs 25.3.1 From: Mathieu Othacehe To: Ludovic =?utf-8?Q?Court=C3=A8s?= Subject: Re: [bug#29409] [PATCH] tests: install: Increase extlinux install partition size. In-reply-to: <87k1y51go7.fsf@gmail.com> Date: Sat, 02 Dec 2017 14:16:53 +0100 Message-ID: <87efod1d8a.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 29409 Cc: 29409@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) I meant : --8<---------------cut here---------------start------------->8--- GUIX_BUILD_OPTIONS="--no-grafts" make check-system TESTS="installed-os" make check-system TESTS="installed-os" --8<---------------cut here---------------end--------------->8--- Mathieu From debbugs-submit-bounces@debbugs.gnu.org Sat Dec 02 18:34:35 2017 Received: (at 29409) by debbugs.gnu.org; 2 Dec 2017 23:34:35 +0000 Received: from localhost ([127.0.0.1]:42279 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eLHIp-00058E-Br for submit@debbugs.gnu.org; Sat, 02 Dec 2017 18:34:35 -0500 Received: from [141.255.128.1] (port=37925 helo=hera.aquilenet.fr) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eLHIm-000586-VE for 29409@debbugs.gnu.org; Sat, 02 Dec 2017 18:34:33 -0500 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id 922381014C; Sun, 3 Dec 2017 00:34:34 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at aquilenet.fr Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 3QVyRoJJ31Cw; Sun, 3 Dec 2017 00:34:34 +0100 (CET) Received: from ribbon (unknown [IPv6:2a01:e0a:1d:7270:af76:b9b:ca24:c465]) by hera.aquilenet.fr (Postfix) with ESMTPSA id 978271014B; Sun, 3 Dec 2017 00:34:33 +0100 (CET) From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: Mathieu Othacehe , Marius Bakke Subject: Re: [bug#29409] [PATCH] tests: install: Increase extlinux install partition size. References: <877euhtjkj.fsf@gmail.com> <1511976873-26867-1-git-send-email-m.othacehe@gmail.com> <87fu8v1yj3.fsf@gnu.org> <87wp26sisz.fsf@gmail.com> <87tvxasdgs.fsf@gmail.com> <87y3mme8iz.fsf@gnu.org> <87k1y51go7.fsf@gmail.com> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 13 Frimaire an 226 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Sun, 03 Dec 2017 00:34:29 +0100 In-Reply-To: <87k1y51go7.fsf@gmail.com> (Mathieu Othacehe's message of "Sat, 02 Dec 2017 13:02:32 +0100") Message-ID: <878teksnzu.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 2.2 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Hi, Mathieu Othacehe skribis: >> Presumably that’s because of grafts. >> >> The tests in (gnu tests install) go to great lengths to ensure that this >> doesn’t happen. At least you’ll have to use --no-grafts. > > On two different machines, with those two commands : > > GUIX_BUILD_OPTIONS="--no-grafts" && make check-system TESTS="installed-os" > make check-system TESTS="installed-os" > > i have the same result, the vm tries to download binutils sources. [...] Content analysis details: (2.2 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 1.0 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail) 0.0 SPF_HELO_FAIL SPF: HELO does not match SPF record (fail) [SPF failed: Please see http://www.openspf.org/Why?s=helo;id=hera.aquilenet.fr;ip=141.255.128.1;r=debbugs.gnu.org] 1.3 RDNS_NONE Delivered to internal network by a host with no rDNS X-Debbugs-Envelope-To: 29409 Cc: 29409@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 2.2 (++) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: Hi, Mathieu Othacehe skribis: >> Presumably that’s because of grafts. >> >> The tests in (gnu tests install) go to great lengths to ensure that this >> doesn’t happen. At least you’ll have to use --no-grafts. > > On two different machines, with those two commands : > > GUIX_BUILD_OPTIONS="--no-grafts" && make check-system TESTS="installed-os" > make check-system TESTS="installed-os" > > i have the same result, the vm tries to download binutils sources. [...] Content analysis details: (2.2 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- 1.0 SPF_SOFTFAIL SPF: sender does not match SPF record (softfail) 0.0 SPF_HELO_FAIL SPF: HELO does not match SPF record (fail) [SPF failed: Please see http://www.openspf.org/Why?s=helo;id=hera.aquilenet.fr;ip=141.255.128.1;r=debbugs.gnu.org] 1.3 RDNS_NONE Delivered to internal network by a host with no rDNS Hi, Mathieu Othacehe skribis: >> Presumably that=E2=80=99s because of grafts. >> >> The tests in (gnu tests install) go to great lengths to ensure that this >> doesn=E2=80=99t happen. At least you=E2=80=99ll have to use --no-grafts. > > On two different machines, with those two commands : > > GUIX_BUILD_OPTIONS=3D"--no-grafts" && make check-system TESTS=3D"installe= d-os" > make check-system TESTS=3D"installed-os" > > i have the same result, the vm tries to download binutils sources. Indeed, I experience the same thing, and Marius and I were discussing it on IRC. I=E2=80=99m pretty sure it went well ca. 15c2ddc12460c9d1e26fb89639b460b8a0b3ffc0, but I haven=E2=80=99t found w= hat=E2=80=99s causing the problem. To be continued=E2=80=A6 Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Sun Dec 03 14:31:23 2017 Received: (at 29409) by debbugs.gnu.org; 3 Dec 2017 19:31:23 +0000 Received: from localhost ([127.0.0.1]:43799 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eLZz1-0006SL-9u for submit@debbugs.gnu.org; Sun, 03 Dec 2017 14:31:23 -0500 Received: from hera.aquilenet.fr ([141.255.128.1]:39612) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eLZyz-0006SD-3L for 29409@debbugs.gnu.org; Sun, 03 Dec 2017 14:31:22 -0500 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id 43040E878; Sun, 3 Dec 2017 20:31:22 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at aquilenet.fr Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 4DVzYD66lqcl; Sun, 3 Dec 2017 20:31:21 +0100 (CET) Received: from ribbon (unknown [IPv6:2a01:e0a:1d:7270:af76:b9b:ca24:c465]) by hera.aquilenet.fr (Postfix) with ESMTPSA id A273DCB6B; Sun, 3 Dec 2017 20:31:20 +0100 (CET) From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: Mathieu Othacehe Subject: Re: [bug#29409] [PATCH] tests: install: Increase extlinux install partition size. References: <877euhtjkj.fsf@gmail.com> <1511976873-26867-1-git-send-email-m.othacehe@gmail.com> <87fu8v1yj3.fsf@gnu.org> <87wp26sisz.fsf@gmail.com> <87tvxasdgs.fsf@gmail.com> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 13 Frimaire an 226 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Sun, 03 Dec 2017 20:31:16 +0100 In-Reply-To: <87tvxasdgs.fsf@gmail.com> (Mathieu Othacehe's message of "Fri, 01 Dec 2017 15:57:23 +0100") Message-ID: <87374rsj5n.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 29409 Cc: 29409@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) Hi, Mathieu Othacehe skribis: >> The test "installed-os" also fails with the same error. >> >> Any idea of what is going on ? > > After git clean and make clean this issue disappears. > However, another issue appears : > > when running "guix system init /mnt/etc/config.scm /mnt > --no-substitutes" in qemu, it tries to build several packages including > binutils. > > This fails because there is no network in qemu machine. > > Starting download of /gnu/store/a62j9z64i667zi6c2g9xhm15pld6rnyz-binutils= -2.23.2.tar.xz > From ftp://alpha.gnu.org/gnu/guix/bootstrap/x86_64-linux/20131110/binutil= s-2.23.2.tar.xz... > ERROR: In procedure getaddrinfo: Name or service not known It took me a while to figure it out, but the fix is here: https://git.savannah.gnu.org/cgit/guix.git/commit/?id=3Dcdc938daf91f159e0= 82c5b81a44b074f7bf6d991 Let me know if anything=E2=80=99s amiss! Thanks, Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Sun Dec 03 16:19:49 2017 Received: (at 29409) by debbugs.gnu.org; 3 Dec 2017 21:19:49 +0000 Received: from localhost ([127.0.0.1]:43883 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eLbfx-0006Hm-81 for submit@debbugs.gnu.org; Sun, 03 Dec 2017 16:19:49 -0500 Received: from mail-wr0-f181.google.com ([209.85.128.181]:33750) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eLbfv-0006HU-4L for 29409@debbugs.gnu.org; Sun, 03 Dec 2017 16:19:47 -0500 Received: by mail-wr0-f181.google.com with SMTP id v22so15193327wrb.0 for <29409@debbugs.gnu.org>; Sun, 03 Dec 2017 13:19:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=references:user-agent:from:to:cc:subject:in-reply-to:date :message-id:mime-version; bh=ZaKq9GHZ+qu7U4L13RduiU7oxsVzo3vKhbQMQ5lUrz0=; b=hdHSZf5q6thLmAXemCfVDZfIgLIHvaGdKtHijCrpQ5UJlfdPBQ+QQfZ1ow/IbRdiZE Ur7g+GGV3ukE7ovbhCfkErRFpuSRZwPteEwEZL7QHd91mlUIOy2QITeHFMT/WPc5Zw3h bfcOHFRwHbUU5xJJDy1h0msrzV99HDZeR+MynNRRV5UH8I2qY2vUDhmGpiAb6NNjIF1d CFZbRbJrXcZ90CZ1E5CSGW+obl6lr297aDOteXd8qcSA2QZED8S1FREQiTfEW0Z3UZDF Lowk38l3LBqGN+Mq3c7QHJKWrOiDr+WYkWWHiI2CkSLqZNzjUc8c8ck99vFO2GpByEAC QWKw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:references:user-agent:from:to:cc:subject :in-reply-to:date:message-id:mime-version; bh=ZaKq9GHZ+qu7U4L13RduiU7oxsVzo3vKhbQMQ5lUrz0=; b=OJjnaOhjmXj6B3+7bPIZphQlkeHm9mfG/1ugbQroFbnlxKlc6qby6VMcHao7FQP4uD Ix7Z3zNtgZ2G+ZoBoKHYlj49wzUT0YNbinYgDG1l5zDQDg/chuXwAReq+oAiRbv6w0rz 1NHRWHFTmpiJsHF5GE53h6ZA4RiE9xpCdHkqa/hskxAFcBDWZb+xZ/e0/ToaCaHKzNSb ZlYYF2qPHi8ZIg+CYFZCP/ZZdunQWG+dcQdrMXKOmjSKyn1z/Ewmf+/6dYwQRP7+Omaf 81jNWG+EcF4jy+XcbndZ35XVUDbry92k4szfn4uBRbV041B35XPJasktBmpBNVlqSAvH lMow== X-Gm-Message-State: AJaThX6Il6nuP0KhulEDziWzZ2mERaNI6RE67D/HE34wRdbqnBHOGLYP yfMiILh9ugQqejs41AXWTqYAyA== X-Google-Smtp-Source: AGs4zMaaV9NaqcUt7N2eq4JBkg2u5nBDT+y7FN23BOnOOoAAC1iTD3behmJnrLIJjCPbOq2JyfMhPQ== X-Received: by 10.223.136.78 with SMTP id e14mr10016241wre.150.1512335981064; Sun, 03 Dec 2017 13:19:41 -0800 (PST) Received: from cervin ([78.192.96.126]) by smtp.gmail.com with ESMTPSA id 19sm6694964wmn.15.2017.12.03.13.19.39 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Sun, 03 Dec 2017 13:19:40 -0800 (PST) References: <877euhtjkj.fsf@gmail.com> <1511976873-26867-1-git-send-email-m.othacehe@gmail.com> <87fu8v1yj3.fsf@gnu.org> <87wp26sisz.fsf@gmail.com> <87tvxasdgs.fsf@gmail.com> <87374rsj5n.fsf@gnu.org> User-agent: mu4e 0.9.18; emacs 25.3.1 From: Mathieu Othacehe To: Ludovic =?utf-8?Q?Court=C3=A8s?= Subject: Re: [bug#29409] [PATCH] tests: install: Increase extlinux install partition size. In-reply-to: <87374rsj5n.fsf@gnu.org> Date: Sun, 03 Dec 2017 22:19:35 +0100 Message-ID: <87d13v1pco.fsf@gmail.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Debbugs-Envelope-To: 29409 Cc: 29409@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Hey Ludo ! > https://git.savannah.gnu.org/cgit/guix.git/commit/?id=cdc938daf91f159e082c5b81a44b074f7bf6d991 > > Let me know if anything’s amiss! Thanks, it looks rather tricky ! I run the test suite again and got a few failures when building guix : The error seems to come from : --8<---------------cut here---------------start------------->8--- ERROR: In procedure setvbuf: ERROR: Wrong type (expecting exact integer): line builder for `/tmp/guix-tests/store/c12sgw3ip2pmwbrmz9yld5ndfq3ck5x3-profile.drv' failed with exit code 1 --8<---------------cut here---------------end--------------->8--- I attached the report, and will have a clother look tomorrow. Mathieu --=-=-= Content-Type: application/octet-stream Content-Disposition: attachment; filename=test-suite.log Content-Transfer-Encoding: base64 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KICAgR05V IEd1aXggMC4xMy4wLTEyLjBhMTU0YzE6IC4vdGVzdC1zdWl0ZS5sb2cKPT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCiMgVE9UQUw6IDc0NwojIFBBU1M6 ICA3MDQKIyBTS0lQOiAgMzIKIyBYRkFJTDogMAojIEZBSUw6ICAxMQojIFhQQVNTOiAwCiMgRVJS T1I6IDAKCi4uIGNvbnRlbnRzOjogOmRlcHRoOiAyCgpTS0lQOiB0ZXN0cy9iYXNlMzIKPT09PT09 PT09PT09PT09PT09CgpzaDogbml4LWhhc2g6IGNvbW1hbmQgbm90IGZvdW5kCnRlc3QtbmFtZTog Ynl0ZXZlY3Rvci0+YmFzZTMyLXN0cmluZwpsb2NhdGlvbjogL3RtcC9ndWl4LWJ1aWxkLWd1aXgt MC4xMy4wLTEyLjBhMTU0YzErLmRydi0wL3NvdXJjZS90ZXN0cy9iYXNlMzIuc2NtOjQ4CnNvdXJj ZToKKyAodGVzdC1hc3NlcnQKKyAgICJieXRldmVjdG9yLT5iYXNlMzItc3RyaW5nIgorICAgKGZv bGQgKGxhbWJkYSAoYnYgZXhwZWN0ZWQgcmVzdWx0KQorICAgICAgICAgICAoYW5kIHJlc3VsdAor ICAgICAgICAgICAgICAgIChzdHJpbmc9PworICAgICAgICAgICAgICAgICAgKGJ5dGV2ZWN0b3It PmJhc2UzMi1zdHJpbmcgYnYpCisgICAgICAgICAgICAgICAgICBleHBlY3RlZCkpKQorICAgICAg ICAgI3QKKyAgICAgICAgIChtYXAgc3RyaW5nLT51dGY4CisgICAgICAgICAgICAgICcoIiIgImYi ICJmbyIgImZvbyIgImZvb2IiICJmb29iYSIgImZvb2JhciIpKQorICAgICAgICAgJygiIgorICAg ICAgICAgICAibXkiCisgICAgICAgICAgICJtenhxIgorICAgICAgICAgICAibXp4dzYiCisgICAg ICAgICAgICJtenh3NnlxIgorICAgICAgICAgICAibXp4dzZ5dGIiCisgICAgICAgICAgICJtenh3 Nnl0Ym9pIikpKQphY3R1YWwtdmFsdWU6ICN0CnJlc3VsdDogUEFTUwoKdGVzdC1uYW1lOiBiYXNl MzItc3RyaW5nLT5ieXRldmVjdG9yCmxvY2F0aW9uOiAvdG1wL2d1aXgtYnVpbGQtZ3VpeC0wLjEz LjAtMTIuMGExNTRjMSsuZHJ2LTAvc291cmNlL3Rlc3RzL2Jhc2UzMi5zY206NjUKc291cmNlOgor ICh0ZXN0LWFzc2VydAorICAgImJhc2UzMi1zdHJpbmctPmJ5dGV2ZWN0b3IiCisgICAoZXZlcnkg KGxhbWJkYSAoYnYpCisgICAgICAgICAgICAoZXF1YWw/CisgICAgICAgICAgICAgIChiYXNlMzIt c3RyaW5nLT5ieXRldmVjdG9yCisgICAgICAgICAgICAgICAgKGJ5dGV2ZWN0b3ItPmJhc2UzMi1z dHJpbmcgYnYpKQorICAgICAgICAgICAgICBidikpCisgICAgICAgICAgKG1hcCBzdHJpbmctPnV0 ZjgKKyAgICAgICAgICAgICAgICcoIiIgImYiICJmbyIgImZvbyIgImZvb2IiICJmb29iYSIgImZv b2JhciIpKSkpCmFjdHVhbC12YWx1ZTogI3QKcmVzdWx0OiBQQVNTCgp0ZXN0LW5hbWU6IG5peC1i YXNlMzItc3RyaW5nLT5ieXRldmVjdG9yCmxvY2F0aW9uOiAvdG1wL2d1aXgtYnVpbGQtZ3VpeC0w LjEzLjAtMTIuMGExNTRjMSsuZHJ2LTAvc291cmNlL3Rlc3RzL2Jhc2UzMi5zY206NzMKc291cmNl OgorICh0ZXN0LWFzc2VydAorICAgIm5peC1iYXNlMzItc3RyaW5nLT5ieXRldmVjdG9yIgorICAg KGV2ZXJ5IChsYW1iZGEgKGJ2KQorICAgICAgICAgICAgKGVxdWFsPworICAgICAgICAgICAgICAo bml4LWJhc2UzMi1zdHJpbmctPmJ5dGV2ZWN0b3IKKyAgICAgICAgICAgICAgICAoYnl0ZXZlY3Rv ci0+bml4LWJhc2UzMi1zdHJpbmcgYnYpKQorICAgICAgICAgICAgICBidikpCisgICAgICAgICAg KG1hcCBzdHJpbmctPnV0ZjgKKyAgICAgICAgICAgICAgICcoIiIgImYiICJmbyIgImZvbyIgImZv b2IiICJmb29iYSIgImZvb2JhciIpKSkpCmFjdHVhbC12YWx1ZTogI3QKcmVzdWx0OiBQQVNTCgp0 ZXN0LW5hbWU6ICZpbnZhbGlkLWJhc2UzMi1jaGFyYWN0ZXIKbG9jYXRpb246IC90bXAvZ3VpeC1i dWlsZC1ndWl4LTAuMTMuMC0xMi4wYTE1NGMxKy5kcnYtMC9zb3VyY2UvdGVzdHMvYmFzZTMyLnNj bTo4MQpzb3VyY2U6CisgKHRlc3QtZXF1YWwKKyAgICImaW52YWxpZC1iYXNlMzItY2hhcmFjdGVy IgorICAgI1xlCisgICAoZ3VhcmQgKGMgKChpbnZhbGlkLWJhc2UzMi1jaGFyYWN0ZXI/IGMpCisg ICAgICAgICAgICAgIChpbnZhbGlkLWJhc2UzMi1jaGFyYWN0ZXItdmFsdWUgYykpKQorICAgICAg ICAgIChuaXgtYmFzZTMyLXN0cmluZy0+Ynl0ZXZlY3RvcgorICAgICAgICAgICAgKHN0cmluZy1h cHBlbmQgKG1ha2Utc3RyaW5nIDUxICNcYSkgImUiKSkpKQpleHBlY3RlZC12YWx1ZTogI1xlCmFj dHVhbC12YWx1ZTogI1xlCnJlc3VsdDogUEFTUwoKdGVzdC1uYW1lOiBzaGEyNTYgJiBieXRldmVj dG9yLT5uaXgtYmFzZTMyLXN0cmluZwpsb2NhdGlvbjogL3RtcC9ndWl4LWJ1aWxkLWd1aXgtMC4x My4wLTEyLjBhMTU0YzErLmRydi0wL3NvdXJjZS90ZXN0cy9iYXNlMzIuc2NtOjkyCnNvdXJjZToK KyAodGVzdC1hc3NlcnQKKyAgICJzaGEyNTYgJiBieXRldmVjdG9yLT5uaXgtYmFzZTMyLXN0cmlu ZyIKKyAgIChsZXQgKChmaWxlIChzZWFyY2gtcGF0aCAlbG9hZC1wYXRoICJ0ZXN0cy90ZXN0LmRy diIpKSkKKyAgICAgKGVxdWFsPworICAgICAgIChieXRldmVjdG9yLT5uaXgtYmFzZTMyLXN0cmlu ZworICAgICAgICAgKHNoYTI1NgorICAgICAgICAgICAoY2FsbC13aXRoLWlucHV0LWZpbGUgZmls ZSBnZXQtYnl0ZXZlY3Rvci1hbGwpKSkKKyAgICAgICAobGV0KiAoKGMgKGZvcm1hdAorICAgICAg ICAgICAgICAgICAgICNmCisgICAgICAgICAgICAgICAgICAgIn5hIC0tdHlwZSBzaGEyNTYgLS1i YXNlMzIgLS1mbGF0IFwifmFcIiIKKyAgICAgICAgICAgICAgICAgICAlbml4LWhhc2gKKyAgICAg ICAgICAgICAgICAgICBmaWxlKSkKKyAgICAgICAgICAgICAgKHAgKG9wZW4taW5wdXQtcGlwZSBj KSkKKyAgICAgICAgICAgICAgKGwgKHJlYWQtbGluZSBwKSkpCisgICAgICAgICAoY2xvc2UtcGlw ZSBwKQorICAgICAgICAgbCkpKSkKcmVzdWx0OiBTS0lQCgoKU0tJUDogdGVzdHMvY3Bpbwo9PT09 PT09PT09PT09PT09CgpyYW5kb20gc2VlZCBmb3IgdGVzdHM6IDE1MTIzMzI2ODQKdGVzdC1uYW1l OiBmaWxlLT5jcGlvLWhlYWRlciArIHdyaXRlLWNwaW8taGVhZGVyICsgcmVhZC1jcGlvLWhlYWRl cgpsb2NhdGlvbjogL3RtcC9ndWl4LWJ1aWxkLWd1aXgtMC4xMy4wLTEyLjBhMTU0YzErLmRydi0w L3NvdXJjZS90ZXN0cy9jcGlvLnNjbTozNwpzb3VyY2U6CisgKHRlc3QtYXNzZXJ0CisgICAiZmls ZS0+Y3Bpby1oZWFkZXIgKyB3cml0ZS1jcGlvLWhlYWRlciArIHJlYWQtY3Bpby1oZWFkZXIiCisg ICAobGV0KiAoKGZpbGUgKHNlYXJjaC1wYXRoICVsb2FkLXBhdGggImd1aXguc2NtIikpCisgICAg ICAgICAgKGhlYWRlciAoZmlsZS0+Y3Bpby1oZWFkZXIgZmlsZSkpKQorICAgICAoY2FsbC13aXRo LXZhbHVlcworICAgICAgIChsYW1iZGEgKCkgKG9wZW4tYnl0ZXZlY3Rvci1vdXRwdXQtcG9ydCkp CisgICAgICAgKGxhbWJkYSAocG9ydCBnZXQtYnYpCisgICAgICAgICAod3JpdGUtY3Bpby1oZWFk ZXIgaGVhZGVyIHBvcnQpCisgICAgICAgICAobGV0ICgocG9ydCAob3Blbi1ieXRldmVjdG9yLWlu cHV0LXBvcnQgKGdldC1idikpKSkKKyAgICAgICAgICAgKGVxdWFsPyBoZWFkZXIgKHJlYWQtY3Bp by1oZWFkZXIgcG9ydCkpKSkpKSkKYWN0dWFsLXZhbHVlOiAjdApyZXN1bHQ6IFBBU1MKCnRlc3Qt bmFtZTogYml0LWlkZW50aWNhbCB0byBHTlUgY3BpbydzIG91dHB1dApsb2NhdGlvbjogL3RtcC9n dWl4LWJ1aWxkLWd1aXgtMC4xMy4wLTEyLjBhMTU0YzErLmRydi0wL3NvdXJjZS90ZXN0cy9jcGlv LnNjbTo0OQpzb3VyY2U6CisgKHRlc3QtYXNzZXJ0CisgICAiYml0LWlkZW50aWNhbCB0byBHTlUg Y3BpbydzIG91dHB1dCIKKyAgIChjYWxsLXdpdGgtdGVtcG9yYXJ5LW91dHB1dC1maWxlCisgICAg IChsYW1iZGEgKGxpbmsgXykKKyAgICAgICAoZGVsZXRlLWZpbGUgbGluaykKKyAgICAgICAoc3lt bGluayAiY2hib3VpYiIgbGluaykKKyAgICAgICAobGV0ICgoZmlsZXMgKGNvbnMqICIvIgorICAg ICAgICAgICAgICAgICAgICAgICAgICAgKGNhbm9uaWNhbGl6ZS1wYXRoCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIChkaXJuYW1lIChzZWFyY2gtcGF0aCAlbG9hZC1wYXRoICJndWl4LnNj bSIpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmsKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgIChtYXAgKGNvbXBvc2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBjYW5vbmljYWxpemUtcGF0aAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChj dXQgc2VhcmNoLXBhdGggJWxvYWQtcGF0aCA8PikpCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICcoImd1aXguc2NtIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJn dWl4L2J1aWxkL3N5c2NhbGxzLnNjbSIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAiZ3VpeC9wYWNrYWdlcy5zY20iKSkpKSkKKyAgICAgICAgIChjYWxsLXdpdGgtdGVtcG9yYXJ5 LW91dHB1dC1maWxlCisgICAgICAgICAgIChsYW1iZGEgKHJlZi1maWxlIF8pCisgICAgICAgICAg ICAgKGxldCAoKHBpcGUgKG9wZW4tcGlwZSoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIE9Q RU5fV1JJVEUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICVjcGlvLXByb2dyYW0KKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICItbyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICIt TyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZi1maWxlCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAiLUgiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAibmV3YyIKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICItLW51bGwiKSkpCisgICAgICAgICAgICAgICAoZm9yLWVh Y2gKKyAgICAgICAgICAgICAgICAgKGxhbWJkYSAoZmlsZSkgKGZvcm1hdCBwaXBlICJ+YVx4MDAi IGZpbGUpKQorICAgICAgICAgICAgICAgICBmaWxlcykKKyAgICAgICAgICAgICAgIChhbmQgKHpl cm8/IChjbG9zZS1waXBlIHBpcGUpKQorICAgICAgICAgICAgICAgICAgICAoY2FsbC13aXRoLXRl bXBvcmFyeS1vdXRwdXQtZmlsZQorICAgICAgICAgICAgICAgICAgICAgIChsYW1iZGEgKGZpbGUg cG9ydCkKKyAgICAgICAgICAgICAgICAgICAgICAgICh3cml0ZS1jcGlvLWFyY2hpdmUgZmlsZXMg cG9ydCkKKyAgICAgICAgICAgICAgICAgICAgICAgIChjbG9zZS1wb3J0IHBvcnQpCisgICAgICAg ICAgICAgICAgICAgICAgICAob3IgKGZpbGU9PyByZWYtZmlsZSBmaWxlKQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICh0aHJvdyAnY3Bpby1hcmNoaXZlcy1kaWZmZXIKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgZmlsZXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgcmVmLWZpbGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmls ZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3RhdDpzaXplIChzdGF0IHJl Zi1maWxlKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHN0YXQ6c2l6ZSAo c3RhdCBmaWxlKSkpKSkpKSkpKSkpKSkKcmVzdWx0OiBTS0lQCgoKU0tJUDogdGVzdHMvYnVpbGRl cnMKPT09PT09PT09PT09PT09PT09PT0KCnJhbmRvbSBzZWVkIGZvciB0ZXN0czogMTUxMjMzMzA4 OAp0ZXN0LW5hbWU6IHVybC1mZXRjaApsb2NhdGlvbjogL3RtcC9ndWl4LWJ1aWxkLWd1aXgtMC4x My4wLTEyLjBhMTU0YzErLmRydi0wL3NvdXJjZS90ZXN0cy9idWlsZGVycy5zY206NjYKc291cmNl OgorICh0ZXN0LWFzc2VydAorICAgInVybC1mZXRjaCIKKyAgIChsZXQqICgodXJsICcoImh0dHA6 Ly9mdHAuZ251Lm9yZy9nbnUvaGVsbG8vaGVsbG8tMi44LnRhci5neiIKKyAgICAgICAgICAgICAg ICAgImZ0cDovL2Z0cC5nbnUub3JnL2dudS9oZWxsby9oZWxsby0yLjgudGFyLmd6IikpCisgICAg ICAgICAgKGhhc2ggKG5peC1iYXNlMzItc3RyaW5nLT5ieXRldmVjdG9yCisgICAgICAgICAgICAg ICAgICAiMHdxZDhzam14ZnNrcmZsYXh5d2M3Z3F3N3NmYXdyZnZkeGQ5c2t4YXd6Zmd5eTBwemR6 NiIpKQorICAgICAgICAgIChkcnYgKHVybC1mZXRjaCoKKyAgICAgICAgICAgICAgICAgJXN0b3Jl CisgICAgICAgICAgICAgICAgIHVybAorICAgICAgICAgICAgICAgICAnc2hhMjU2CisgICAgICAg ICAgICAgICAgIGhhc2gKKyAgICAgICAgICAgICAgICAgIzpndWlsZQorICAgICAgICAgICAgICAg ICAlYm9vdHN0cmFwLWd1aWxlKSkKKyAgICAgICAgICAob3V0LXBhdGggKGRlcml2YXRpb24tPm91 dHB1dC1wYXRoIGRydikpKQorICAgICAoYW5kIChidWlsZC1kZXJpdmF0aW9ucyAlc3RvcmUgKGxp c3QgZHJ2KSkKKyAgICAgICAgICAoZmlsZS1leGlzdHM/IG91dC1wYXRoKQorICAgICAgICAgICh2 YWxpZC1wYXRoPyAlc3RvcmUgb3V0LXBhdGgpKSkpCnJlc3VsdDogU0tJUAoKdGVzdC1uYW1lOiB1 cmwtZmV0Y2gsIGZpbGUKbG9jYXRpb246IC90bXAvZ3VpeC1idWlsZC1ndWl4LTAuMTMuMC0xMi4w YTE1NGMxKy5kcnYtMC9zb3VyY2UvdGVzdHMvYnVpbGRlcnMuc2NtOjc4CnNvdXJjZToKKyAodGVz dC1hc3NlcnQKKyAgICJ1cmwtZmV0Y2gsIGZpbGUiCisgICAobGV0KiAoKGZpbGUgKHNlYXJjaC1w YXRoICVsb2FkLXBhdGggImd1aXguc2NtIikpCisgICAgICAgICAgKGhhc2ggKGNhbGwtd2l0aC1p bnB1dC1maWxlIGZpbGUgcG9ydC1zaGEyNTYpKQorICAgICAgICAgIChvdXQgKHVybC1mZXRjaCog JXN0b3JlIGZpbGUgJ3NoYTI1NiBoYXNoKSkpCisgICAgIChhbmQgKGZpbGUtZXhpc3RzPyBvdXQp ICh2YWxpZC1wYXRoPyAlc3RvcmUgb3V0KSkpKQphY3R1YWwtdmFsdWU6ICN0CnJlc3VsdDogUEFT UwoKdGVzdC1uYW1lOiB1cmwtZmV0Y2gsIGZpbGUgVVJJCmxvY2F0aW9uOiAvdG1wL2d1aXgtYnVp bGQtZ3VpeC0wLjEzLjAtMTIuMGExNTRjMSsuZHJ2LTAvc291cmNlL3Rlc3RzL2J1aWxkZXJzLnNj bTo4NQpzb3VyY2U6CisgKHRlc3QtYXNzZXJ0CisgICAidXJsLWZldGNoLCBmaWxlIFVSSSIKKyAg IChsZXQqICgoZmlsZSAoc2VhcmNoLXBhdGggJWxvYWQtcGF0aCAiZ3VpeC5zY20iKSkKKyAgICAg ICAgICAoaGFzaCAoY2FsbC13aXRoLWlucHV0LWZpbGUgZmlsZSBwb3J0LXNoYTI1NikpCisgICAg ICAgICAgKG91dCAodXJsLWZldGNoKgorICAgICAgICAgICAgICAgICAlc3RvcmUKKyAgICAgICAg ICAgICAgICAgKHN0cmluZy1hcHBlbmQKKyAgICAgICAgICAgICAgICAgICAiZmlsZTovLyIKKyAg ICAgICAgICAgICAgICAgICAoY2Fub25pY2FsaXplLXBhdGggZmlsZSkpCisgICAgICAgICAgICAg ICAgICdzaGEyNTYKKyAgICAgICAgICAgICAgICAgaGFzaCkpKQorICAgICAoYW5kIChmaWxlLWV4 aXN0cz8gb3V0KSAodmFsaWQtcGF0aD8gJXN0b3JlIG91dCkpKSkKYWN0dWFsLXZhbHVlOiAjdApy ZXN1bHQ6IFBBU1MKCnRlc3QtbmFtZTogZ251LWJ1aWxkLXN5c3RlbQpsb2NhdGlvbjogL3RtcC9n dWl4LWJ1aWxkLWd1aXgtMC4xMy4wLTEyLjBhMTU0YzErLmRydi0wL3NvdXJjZS90ZXN0cy9idWls ZGVycy5zY206OTQKc291cmNlOgorICh0ZXN0LWFzc2VydAorICAgImdudS1idWlsZC1zeXN0ZW0i CisgICAoYnVpbGQtc3lzdGVtPyBnbnUtYnVpbGQtc3lzdGVtKSkKYWN0dWFsLXZhbHVlOiAjdApy ZXN1bHQ6IFBBU1MKCnRlc3QtbmFtZTogZ251LWJ1aWxkCmxvY2F0aW9uOiAvdG1wL2d1aXgtYnVp bGQtZ3VpeC0wLjEzLjAtMTIuMGExNTRjMSsuZHJ2LTAvc291cmNlL3Rlc3RzL2J1aWxkZXJzLnNj bTo5OQpzb3VyY2U6CisgKHRlc3QtYXNzZXJ0CisgICAiZ251LWJ1aWxkIgorICAgKGxldCogKCh1 cmwgImh0dHA6Ly9mdHAuZ251Lm9yZy9nbnUvaGVsbG8vaGVsbG8tMi44LnRhci5neiIpCisgICAg ICAgICAgKGhhc2ggKG5peC1iYXNlMzItc3RyaW5nLT5ieXRldmVjdG9yCisgICAgICAgICAgICAg ICAgICAiMHdxZDhzam14ZnNrcmZsYXh5d2M3Z3F3N3NmYXdyZnZkeGQ5c2t4YXd6Zmd5eTBwemR6 NiIpKQorICAgICAgICAgICh0YXJiYWxsCisgICAgICAgICAgICAodXJsLWZldGNoKgorICAgICAg ICAgICAgICAlc3RvcmUKKyAgICAgICAgICAgICAgdXJsCisgICAgICAgICAgICAgICdzaGEyNTYK KyAgICAgICAgICAgICAgaGFzaAorICAgICAgICAgICAgICAjOmd1aWxlCisgICAgICAgICAgICAg ICVib290c3RyYXAtZ3VpbGUpKQorICAgICAgICAgIChidWlsZCAoZ251LWJ1aWxkCisgICAgICAg ICAgICAgICAgICAgJXN0b3JlCisgICAgICAgICAgICAgICAgICAgImhlbGxvLTIuOCIKKyAgICAg ICAgICAgICAgICAgICBgKCgic291cmNlIiAsdGFyYmFsbCkgLEAlYm9vdHN0cmFwLWlucHV0cykK KyAgICAgICAgICAgICAgICAgICAjOmd1aWxlCisgICAgICAgICAgICAgICAgICAgJWJvb3RzdHJh cC1ndWlsZQorICAgICAgICAgICAgICAgICAgICM6c2VhcmNoLXBhdGhzCisgICAgICAgICAgICAg ICAgICAgJWJvb3RzdHJhcC1zZWFyY2gtcGF0aHMpKQorICAgICAgICAgIChvdXQgKGRlcml2YXRp b24tPm91dHB1dC1wYXRoIGJ1aWxkKSkpCisgICAgIChhbmQgKGJ1aWxkLWRlcml2YXRpb25zCisg ICAgICAgICAgICAlc3RvcmUKKyAgICAgICAgICAgIChsaXN0IChwayAnaGVsbG8tZHJ2IGJ1aWxk KSkpCisgICAgICAgICAgKHZhbGlkLXBhdGg/ICVzdG9yZSBvdXQpCisgICAgICAgICAgKGZpbGUt ZXhpc3RzPyAoc3RyaW5nLWFwcGVuZCBvdXQgIi9iaW4vaGVsbG8iKSkpKSkKcmVzdWx0OiBTS0lQ CgoKU0tJUDogdGVzdHMvZGVyaXZhdGlvbnMKPT09PT09PT09PT09PT09PT09PT09PT0KCnJhbmRv bSBzZWVkIGZvciB0ZXN0czogMTUxMjMzMzA2NQpAIGJ1aWxkLXN0YXJ0ZWQgL3RtcC9ndWl4LXRl c3RzL3N0b3JlL3Zjajk4MzNzazU3N3dkN3F4enZtZ3FjZmJmOWI0c2p6LWZvby5kcnYgLSB4ODZf NjQtbGludXggL3RtcC9ndWl4LXRlc3RzL3Zhci9sb2cvZ3VpeC9kcnZzL3ZjLy9qOTgzM3NrNTc3 d2Q3cXh6dm1ncWNmYmY5YjRzanotZm9vLmRydi5iejIKQCBidWlsZC1zdWNjZWVkZWQgL3RtcC9n dWl4LXRlc3RzL3N0b3JlL3Zjajk4MzNzazU3N3dkN3F4enZtZ3FjZmJmOWI0c2p6LWZvby5kcnYg LQp0ZXN0LW5hbWU6IHBhcnNlICYgZXhwb3J0CmxvY2F0aW9uOiAvdG1wL2d1aXgtYnVpbGQtZ3Vp eC0wLjEzLjAtMTIuMGExNTRjMSsuZHJ2LTAvc291cmNlL3Rlc3RzL2Rlcml2YXRpb25zLnNjbTo4 Nwpzb3VyY2U6CisgKHRlc3QtYXNzZXJ0CisgICAicGFyc2UgJiBleHBvcnQiCisgICAobGV0KiAo KGYgKHNlYXJjaC1wYXRoICVsb2FkLXBhdGggInRlc3RzL3Rlc3QuZHJ2IikpCisgICAgICAgICAg KGIxIChjYWxsLXdpdGgtaW5wdXQtZmlsZSBmIGdldC1ieXRldmVjdG9yLWFsbCkpCisgICAgICAg ICAgKGQxIChyZWFkLWRlcml2YXRpb24gKG9wZW4tYnl0ZXZlY3Rvci1pbnB1dC1wb3J0IGIxKSkp CisgICAgICAgICAgKGIyIChjYWxsLXdpdGgtYnl0ZXZlY3Rvci1vdXRwdXQtcG9ydAorICAgICAg ICAgICAgICAgIChjdXQgd3JpdGUtZGVyaXZhdGlvbiBkMSA8PikpKQorICAgICAgICAgIChkMiAo cmVhZC1kZXJpdmF0aW9uIChvcGVuLWJ5dGV2ZWN0b3ItaW5wdXQtcG9ydCBiMikpKSkKKyAgICAg KGFuZCAoZXF1YWw/IGIxIGIyKSAoZXF1YWw/IGQxIGQyKSkpKQphY3R1YWwtdmFsdWU6ICN0CnJl c3VsdDogUEFTUwoKdGVzdC1uYW1lOiBhZGQtdG8tc3RvcmUsIGZsYXQKbG9jYXRpb246IC90bXAv Z3VpeC1idWlsZC1ndWl4LTAuMTMuMC0xMi4wYTE1NGMxKy5kcnYtMC9zb3VyY2UvdGVzdHMvZGVy aXZhdGlvbnMuc2NtOjk4CnNvdXJjZToKKyAodGVzdC1hc3NlcnQKKyAgICJhZGQtdG8tc3RvcmUs IGZsYXQiCisgICAobGV0KiAoKGZpbGUgKHNlYXJjaC1wYXRoCisgICAgICAgICAgICAgICAgICAl bG9hZC1wYXRoCisgICAgICAgICAgICAgICAgICAibGFuZ3VhZ2UvdHJlZS1pbC9zcGVjLnNjbSIp KQorICAgICAgICAgIChkcnYgKGFkZC10by1zdG9yZQorICAgICAgICAgICAgICAgICAlc3RvcmUK KyAgICAgICAgICAgICAgICAgImZsYXQtdGVzdCIKKyAgICAgICAgICAgICAgICAgI2YKKyAgICAg ICAgICAgICAgICAgInNoYTI1NiIKKyAgICAgICAgICAgICAgICAgZmlsZSkpKQorICAgICAoYW5k IChlcT8gJ3JlZ3VsYXIgKHN0YXQ6dHlwZSAoc3RhdCBkcnYpKSkKKyAgICAgICAgICAodmFsaWQt cGF0aD8gJXN0b3JlIGRydikKKyAgICAgICAgICAoZXF1YWw/CisgICAgICAgICAgICAoY2FsbC13 aXRoLWlucHV0LWZpbGUgZmlsZSBnZXQtYnl0ZXZlY3Rvci1hbGwpCisgICAgICAgICAgICAoY2Fs bC13aXRoLWlucHV0LWZpbGUgZHJ2IGdldC1ieXRldmVjdG9yLWFsbCkpKSkpCmFjdHVhbC12YWx1 ZTogI3QKcmVzdWx0OiBQQVNTCgp0ZXN0LW5hbWU6IGFkZC10by1zdG9yZSwgcmVjdXJzaXZlCmxv Y2F0aW9uOiAvdG1wL2d1aXgtYnVpbGQtZ3VpeC0wLjEzLjAtMTIuMGExNTRjMSsuZHJ2LTAvc291 cmNlL3Rlc3RzL2Rlcml2YXRpb25zLnNjbToxMDYKc291cmNlOgorICh0ZXN0LWFzc2VydAorICAg ImFkZC10by1zdG9yZSwgcmVjdXJzaXZlIgorICAgKGxldCogKChkaXIgKGRpcm5hbWUKKyAgICAg ICAgICAgICAgICAgKHNlYXJjaC1wYXRoCisgICAgICAgICAgICAgICAgICAgJWxvYWQtcGF0aAor ICAgICAgICAgICAgICAgICAgICJsYW5ndWFnZS90cmVlLWlsL3NwZWMuc2NtIikpKQorICAgICAg ICAgIChkcnYgKGFkZC10by1zdG9yZQorICAgICAgICAgICAgICAgICAlc3RvcmUKKyAgICAgICAg ICAgICAgICAgImRpci10cmVlLXRlc3QiCisgICAgICAgICAgICAgICAgICN0CisgICAgICAgICAg ICAgICAgICJzaGEyNTYiCisgICAgICAgICAgICAgICAgIGRpcikpKQorICAgICAoYW5kIChlcT8g J2RpcmVjdG9yeSAoc3RhdDp0eXBlIChzdGF0IGRydikpKQorICAgICAgICAgICh2YWxpZC1wYXRo PyAlc3RvcmUgZHJ2KQorICAgICAgICAgIChlcXVhbD8KKyAgICAgICAgICAgIChkaXJlY3Rvcnkt Y29udGVudHMgZGlyKQorICAgICAgICAgICAgKGRpcmVjdG9yeS1jb250ZW50cyBkcnYpKSkpKQph Y3R1YWwtdmFsdWU6ICN0CnJlc3VsdDogUEFTUwoKdGVzdC1uYW1lOiBkZXJpdmF0aW9uIHdpdGgg bm8gaW5wdXRzCmxvY2F0aW9uOiAvdG1wL2d1aXgtYnVpbGQtZ3VpeC0wLjEzLjAtMTIuMGExNTRj MSsuZHJ2LTAvc291cmNlL3Rlc3RzL2Rlcml2YXRpb25zLnNjbToxMTQKc291cmNlOgorICh0ZXN0 LWFzc2VydAorICAgImRlcml2YXRpb24gd2l0aCBubyBpbnB1dHMiCisgICAobGV0KiAoKGJ1aWxk ZXIKKyAgICAgICAgICAgIChhZGQtdGV4dC10by1zdG9yZQorICAgICAgICAgICAgICAlc3RvcmUK KyAgICAgICAgICAgICAgIm15LWJ1aWxkZXIuc2giCisgICAgICAgICAgICAgICJlY2hvIGhlbGxv LCB3b3JsZFxuIgorICAgICAgICAgICAgICAnKCkpKQorICAgICAgICAgIChkcnYgKGRlcml2YXRp b24KKyAgICAgICAgICAgICAgICAgJXN0b3JlCisgICAgICAgICAgICAgICAgICJmb28iCisgICAg ICAgICAgICAgICAgICViYXNoCisgICAgICAgICAgICAgICAgIGAoIi1lIiAsYnVpbGRlcikKKyAg ICAgICAgICAgICAgICAgIzplbnYtdmFycworICAgICAgICAgICAgICAgICAnKCgiSE9NRSIgLiAi L2hvbWVsZXNzIikpKSkpCisgICAgIChhbmQgKHN0b3JlLXBhdGg/IChkZXJpdmF0aW9uLWZpbGUt bmFtZSBkcnYpKQorICAgICAgICAgICh2YWxpZC1wYXRoPyAlc3RvcmUgKGRlcml2YXRpb24tZmls ZS1uYW1lIGRydikpKSkpCmFjdHVhbC12YWx1ZTogI3QKcmVzdWx0OiBQQVNTCgp0ZXN0LW5hbWU6 IGJ1aWxkIGRlcml2YXRpb24gd2l0aCAxIHNvdXJjZQpsb2NhdGlvbjogL3RtcC9ndWl4LWJ1aWxk LWd1aXgtMC4xMy4wLTEyLjBhMTU0YzErLmRydi0wL3NvdXJjZS90ZXN0cy9kZXJpdmF0aW9ucy5z Y206MTI0CnNvdXJjZToKKyAodGVzdC1hc3NlcnQKKyAgICJidWlsZCBkZXJpdmF0aW9uIHdpdGgg MSBzb3VyY2UiCisgICAobGV0KiAoKGJ1aWxkZXIKKyAgICAgICAgICAgIChhZGQtdGV4dC10by1z dG9yZQorICAgICAgICAgICAgICAlc3RvcmUKKyAgICAgICAgICAgICAgIm15LWJ1aWxkZXIuc2gi CisgICAgICAgICAgICAgICJlY2hvIGhlbGxvLCB3b3JsZCA+IFwiJG91dFwiXG4iCisgICAgICAg ICAgICAgICcoKSkpCisgICAgICAgICAgKGRydiAoZGVyaXZhdGlvbgorICAgICAgICAgICAgICAg ICAlc3RvcmUKKyAgICAgICAgICAgICAgICAgImZvbyIKKyAgICAgICAgICAgICAgICAgJWJhc2gK KyAgICAgICAgICAgICAgICAgYCgsYnVpbGRlcikKKyAgICAgICAgICAgICAgICAgIzplbnYtdmFy cworICAgICAgICAgICAgICAgICAnKCgiSE9NRSIgLiAiL2hvbWVsZXNzIikKKyAgICAgICAgICAg ICAgICAgICAoInp6eiIgLiAiWiEiKQorICAgICAgICAgICAgICAgICAgICgiQUFBIiAuICJBISIp KQorICAgICAgICAgICAgICAgICAjOmlucHV0cworICAgICAgICAgICAgICAgICBgKCgsJWJhc2gp ICgsYnVpbGRlcikpKSkKKyAgICAgICAgICAoc3VjY2VlZGVkPworICAgICAgICAgICAgKGJ1aWxk LWRlcml2YXRpb25zICVzdG9yZSAobGlzdCBkcnYpKSkpCisgICAgIChhbmQgc3VjY2VlZGVkPwor ICAgICAgICAgIChsZXQgKChwYXRoIChkZXJpdmF0aW9uLT5vdXRwdXQtcGF0aCBkcnYpKSkKKyAg ICAgICAgICAgIChhbmQgKHZhbGlkLXBhdGg/ICVzdG9yZSBwYXRoKQorICAgICAgICAgICAgICAg ICAoc3RyaW5nPT8KKyAgICAgICAgICAgICAgICAgICAoY2FsbC13aXRoLWlucHV0LWZpbGUgcGF0 aCByZWFkLWxpbmUpCisgICAgICAgICAgICAgICAgICAgImhlbGxvLCB3b3JsZCIpKSkpKSkKYWN0 dWFsLXZhbHVlOiAjdApyZXN1bHQ6IFBBU1MKCnRlc3QtbmFtZTogZGVyaXZhdGlvbiB3aXRoIGxv Y2FsIGZpbGUgYXMgaW5wdXQKbG9jYXRpb246IC90bXAvZ3VpeC1idWlsZC1ndWl4LTAuMTMuMC0x Mi4wYTE1NGMxKy5kcnYtMC9zb3VyY2UvdGVzdHMvZGVyaXZhdGlvbnMuc2NtOjE0Mgpzb3VyY2U6 CisgKHRlc3QtYXNzZXJ0CisgICAiZGVyaXZhdGlvbiB3aXRoIGxvY2FsIGZpbGUgYXMgaW5wdXQi CisgICAobGV0KiAoKGJ1aWxkZXIKKyAgICAgICAgICAgIChhZGQtdGV4dC10by1zdG9yZQorICAg ICAgICAgICAgICAlc3RvcmUKKyAgICAgICAgICAgICAgIm15LWJ1aWxkZXIuc2giCisgICAgICAg ICAgICAgIEAgYnVpbGQtc3RhcnRlZCAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvZmp2MjM2ejdsMjA5 ZDh6ejl6OGp4bW53M2RmaThsYW0tZGVyaXZhdGlvbi13aXRoLWlucHV0LWZpbGUuZHJ2IC0geDg2 XzY0LWxpbnV4IC90bXAvZ3VpeC10ZXN0cy92YXIvbG9nL2d1aXgvZHJ2cy9mai8vdjIzNno3bDIw OWQ4eno5ejhqeG1udzNkZmk4bGFtLWRlcml2YXRpb24td2l0aC1pbnB1dC1maWxlLmRydi5iejIK QCBidWlsZC1zdWNjZWVkZWQgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL2ZqdjIzNno3bDIwOWQ4eno5 ejhqeG1udzNkZmk4bGFtLWRlcml2YXRpb24td2l0aC1pbnB1dC1maWxlLmRydiAtCkAgYnVpbGQt c3RhcnRlZCAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvcDgxdm5rYnJhOXo1dzQ1aGcwaG5pNWwzeWY1 OTZqYTItZmFpbHMuZHJ2IC0geDg2XzY0LWxpbnV4IC90bXAvZ3VpeC10ZXN0cy92YXIvbG9nL2d1 aXgvZHJ2cy9wOC8vMXZua2JyYTl6NXc0NWhnMGhuaTVsM3lmNTk2amEyLWZhaWxzLmRydi5iejIK YnVpbGRlciBmb3IgYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9wODF2bmticmE5ejV3NDVoZzBobmk1 bDN5ZjU5NmphMi1mYWlscy5kcnYnIGZhaWxlZCB3aXRoIGV4aXQgY29kZSAxCkAgYnVpbGQtZmFp bGVkIC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9wODF2bmticmE5ejV3NDVoZzBobmk1bDN5ZjU5Nmph Mi1mYWlscy5kcnYgLSAxIGJ1aWxkZXIgZm9yIGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvcDgxdm5r YnJhOXo1dzQ1aGcwaG5pNWwzeWY1OTZqYTItZmFpbHMuZHJ2JyBmYWlsZWQgd2l0aCBleGl0IGNv ZGUgMQpAIGJ1aWxkLXN0YXJ0ZWQgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL2tuMGd4NW5hOGsybmls cTZjMzYyYm1hdnl3bmlsa2hxLWd1aWxlLWJvb3RzdHJhcC0yLjAuZHJ2IC0geDg2XzY0LWxpbnV4 IC90bXAvZ3VpeC10ZXN0cy92YXIvbG9nL2d1aXgvZHJ2cy9rbi8vMGd4NW5hOGsybmlscTZjMzYy Ym1hdnl3bmlsa2hxLWd1aWxlLWJvb3RzdHJhcC0yLjAuZHJ2LmJ6Mgp1bnBhY2tpbmcgYm9vdHN0 cmFwIEd1aWxlIHRvICcvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlo bGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMCcuLi4KLi8KLi9zaGFyZS8KLi9zaGFyZS9n dWlsZS8KLi9zaGFyZS9ndWlsZS8yLjAvCi4vc2hhcmUvZ3VpbGUvMi4wL3N5c3RlbS8KLi9zaGFy ZS9ndWlsZS8yLjAvc3lzdGVtL3hyZWYuc2NtCi4vc2hhcmUvZ3VpbGUvMi4wL3N5c3RlbS9mb3Jl aWduLnNjbQouL3NoYXJlL2d1aWxlLzIuMC9zeXN0ZW0vcmVwbC8KLi9zaGFyZS9ndWlsZS8yLjAv c3lzdGVtL3JlcGwvZXJyb3ItaGFuZGxpbmcuc2NtCi4vc2hhcmUvZ3VpbGUvMi4wL3N5c3RlbS9y ZXBsL2RlYnVnLnNjbQouL3NoYXJlL2d1aWxlLzIuMC9zeXN0ZW0vcmVwbC9kZXNjcmliZS5zY20K Li9zaGFyZS9ndWlsZS8yLjAvc3lzdGVtL3JlcGwvY29tbW9uLnNjbQouL3NoYXJlL2d1aWxlLzIu MC9zeXN0ZW0vcmVwbC9jb21tYW5kLnNjbQouL3NoYXJlL2d1aWxlLzIuMC9zeXN0ZW0vcmVwbC9z ZXJ2ZXIuc2NtCi4vc2hhcmUvZ3VpbGUvMi4wL3N5c3RlbS9yZXBsL3JlcGwuc2NtCi4vc2hhcmUv Z3VpbGUvMi4wL3N5c3RlbS9iYXNlLwouL3NoYXJlL2d1aWxlLzIuMC9zeXN0ZW0vYmFzZS9sYWxy LnVwc3RyZWFtLnNjbQouL3NoYXJlL2d1aWxlLzIuMC9zeXN0ZW0vYmFzZS9wbWF0Y2guc2NtCi4v c2hhcmUvZ3VpbGUvMi4wL3N5c3RlbS9iYXNlL2xhbHIuc2NtCi4vc2hhcmUvZ3VpbGUvMi4wL3N5 c3RlbS9iYXNlL2xhbmd1YWdlLnNjbQouL3NoYXJlL2d1aWxlLzIuMC9zeXN0ZW0vYmFzZS9zeW50 YXguc2NtCi4vc2hhcmUvZ3VpbGUvMi4wL3N5c3RlbS9iYXNlL2NvbXBpbGUuc2NtCi4vc2hhcmUv Z3VpbGUvMi4wL3N5c3RlbS9iYXNlL2NrLnNjbQouL3NoYXJlL2d1aWxlLzIuMC9zeXN0ZW0vYmFz ZS9tZXNzYWdlLnNjbQouL3NoYXJlL2d1aWxlLzIuMC9zeXN0ZW0vYmFzZS90YXJnZXQuc2NtCi4v c2hhcmUvZ3VpbGUvMi4wL3N5c3RlbS92bS8KLi9zaGFyZS9ndWlsZS8yLjAvc3lzdGVtL3ZtL3Ry YWNlLnNjbQouL3NoYXJlL2d1aWxlLzIuMC9zeXN0ZW0vdm0vdHJhcC1zdGF0ZS5zY20KLi9zaGFy ZS9ndWlsZS8yLjAvc3lzdGVtL3ZtL3ZtLnNjbQouL3NoYXJlL2d1aWxlLzIuMC9zeXN0ZW0vdm0v Y292ZXJhZ2Uuc2NtCi4vc2hhcmUvZ3VpbGUvMi4wL3N5c3RlbS92bS9wcm9ncmFtLnNjbQouL3No YXJlL2d1aWxlLzIuMC9zeXN0ZW0vdm0vb2JqY29kZS5zY20KLi9zaGFyZS9ndWlsZS8yLjAvc3lz dGVtL3ZtL3RyYXBzLnNjbQouL3NoYXJlL2d1aWxlLzIuMC9zeXN0ZW0vdm0vaW5zcGVjdC5zY20K Li9zaGFyZS9ndWlsZS8yLjAvc3lzdGVtL3ZtL2luc3RydWN0aW9uLnNjbQouL3NoYXJlL2d1aWxl LzIuMC9zeXN0ZW0vdm0vZnJhbWUuc2NtCi4vc2hhcmUvZ3VpbGUvMi4wL3NjcmlwdHMvCi4vc2hh cmUvZ3VpbGUvMi4wL3NjcmlwdHMvc2Nhbi1hcGkuc2NtCi4vc2hhcmUvZ3VpbGUvMi4wL3Njcmlw dHMvYXV0b2ZyaXNrLnNjbQouL3NoYXJlL2d1aWxlLzIuMC9zY3JpcHRzL3NuYXJmLWNoZWNrLWFu ZC1vdXRwdXQtdGV4aS5zY20KLi9zaGFyZS9ndWlsZS8yLjAvc2NyaXB0cy9yZWFkLXJmYzgyMi5z Y20KLi9zaGFyZS9ndWlsZS8yLjAvc2NyaXB0cy9yZWFkLXRleHQtb3V0bGluZS5zY20KLi9zaGFy ZS9ndWlsZS8yLjAvc2NyaXB0cy9oZWxwLnNjbQouL3NoYXJlL2d1aWxlLzIuMC9zY3JpcHRzL2Zy aXNrLnNjbQouL3NoYXJlL2d1aWxlLzIuMC9zY3JpcHRzL3B1bmlmeS5zY20KLi9zaGFyZS9ndWls ZS8yLjAvc2NyaXB0cy9saW50LnNjbQouL3NoYXJlL2d1aWxlLzIuMC9zY3JpcHRzL2Rpc2Fzc2Vt YmxlLnNjbQouL3NoYXJlL2d1aWxlLzIuMC9zY3JpcHRzL3N1bW1hcml6ZS1ndWlsZS1UT0RPLnNj bQouL3NoYXJlL2d1aWxlLzIuMC9zY3JpcHRzL2dlbmVyYXRlLWF1dG9sb2FkLnNjbQouL3NoYXJl L2d1aWxlLzIuMC9zY3JpcHRzL2Rpc3BsYXktY29tbWVudGFyeS5zY20KLi9zaGFyZS9ndWlsZS8y LjAvc2NyaXB0cy9jb21waWxlLnNjbQouL3NoYXJlL2d1aWxlLzIuMC9zY3JpcHRzL2FwaS1kaWZm LnNjbQouL3NoYXJlL2d1aWxlLzIuMC9zY3JpcHRzL3VzZTJkb3Quc2NtCi4vc2hhcmUvZ3VpbGUv Mi4wL3NjcmlwdHMvZG9jLXNuYXJmLnNjbQouL3NoYXJlL2d1aWxlLzIuMC9zY3JpcHRzL3JlYWQt c2NoZW1lLXNvdXJjZS5zY20KLi9zaGFyZS9ndWlsZS8yLjAvc2NyaXB0cy9zbmFyZi1ndWlsZS1t NC1kb2NzLnNjbQouL3NoYXJlL2d1aWxlLzIuMC9zY3JpcHRzL2xpc3Quc2NtCi4vc2hhcmUvZ3Vp bGUvMi4wL3RleGluZm8vCi4vc2hhcmUvZ3VpbGUvMi4wL3RleGluZm8vaW5kZXhpbmcuc2NtCi4v c2hhcmUvZ3VpbGUvMi4wL3RleGluZm8vaHRtbC5zY20KLi9zaGFyZS9ndWlsZS8yLjAvdGV4aW5m by9kb2Nib29rLnNjbQouL3NoYXJlL2d1aWxlLzIuMC90ZXhpbmZvL3NlcmlhbGl6ZS5zY20KLi9z aGFyZS9ndWlsZS8yLjAvdGV4aW5mby9yZWZsZWN0aW9uLnNjbQouL3NoYXJlL2d1aWxlLzIuMC90 ZXhpbmZvL3BsYWluLXRleHQuc2NtCi4vc2hhcmUvZ3VpbGUvMi4wL3RleGluZm8vc3RyaW5nLXV0 aWxzLnNjbQouL3NoYXJlL2d1aWxlLzIuMC9pY2UtOS8KLi9zaGFyZS9ndWlsZS8yLjAvaWNlLTkv ZG9jdW1lbnRhdGlvbi5zY20KLi9zaGFyZS9ndWlsZS8yLjAvaWNlLTkvc2NtLXN0eWxlLXJlcGwu c2NtCi4vc2hhcmUvZ3VpbGUvMi4wL2ljZS05L3RpbWUuc2NtCi4vc2hhcmUvZ3VpbGUvMi4wL2lj ZS05L2Zvcm1hdC5zY20KLi9zaGFyZS9ndWlsZS8yLjAvaWNlLTkvbmV0d29ya2luZy5zY20KLi9z aGFyZS9ndWlsZS8yLjAvaWNlLTkvZ2V0b3B0LWxvbmcuc2NtCi4vc2hhcmUvZ3VpbGUvMi4wL2lj ZS05L3ZsaXN0LnNjbQouL3NoYXJlL2d1aWxlLzIuMC9pY2UtOS9wc3ludGF4LnNjbQouL3NoYXJl L2d1aWxlLzIuMC9pY2UtOS9nYXAtYnVmZmVyLnNjbQouL3NoYXJlL2d1aWxlLzIuMC9pY2UtOS9h bmQtbGV0LXN0YXIuc2NtCi4vc2hhcmUvZ3VpbGUvMi4wL2ljZS05L3Bvc2l4LnNjbQouL3NoYXJl L2d1aWxlLzIuMC9pY2UtOS9scy5zY20KLi9zaGFyZS9ndWlsZS8yLjAvaWNlLTkvc3luY2FzZS5z Y20KLi9zaGFyZS9ndWlsZS8yLjAvaWNlLTkvc2F2ZS1zdGFjay5zY20KLi9zaGFyZS9ndWlsZS8y LjAvaWNlLTkvc3RhY2stY2F0Y2guc2NtCi4vc2hhcmUvZ3VpbGUvMi4wL2ljZS05L2Z1dHVyZXMu c2NtCi4vc2hhcmUvZ3VpbGUvMi4wL2ljZS05L2RlYnVnLnNjbQouL3NoYXJlL2d1aWxlLzIuMC9p Y2UtOS9wcmV0dHktcHJpbnQuc2NtCi4vc2hhcmUvZ3VpbGUvMi4wL2ljZS05L21hcHBpbmcuc2Nt Ci4vc2hhcmUvZ3VpbGUvMi4wL2ljZS05L29jY2FtLWNoYW5uZWwuc2NtCi4vc2hhcmUvZ3VpbGUv Mi4wL2ljZS05L3RvcC1yZXBsLnNjbQouL3NoYXJlL2d1aWxlLzIuMC9pY2UtOS9ib290LTkuc2Nt Ci4vc2hhcmUvZ3VpbGUvMi4wL2ljZS05L3N0cmluZy1mdW4uc2NtCi4vc2hhcmUvZ3VpbGUvMi4w L2ljZS05L2kxOG4uc2NtCi4vc2hhcmUvZ3VpbGUvMi4wL2ljZS05L21hdGNoLnVwc3RyZWFtLnNj bQouL3NoYXJlL2d1aWxlLzIuMC9pY2UtOS9zdHJlYW1zLnNjbQouL3NoYXJlL2d1aWxlLzIuMC9p Y2UtOS9saW5laW8uc2NtCi4vc2hhcmUvZ3VpbGUvMi4wL2ljZS05L3RocmVhZHMuc2NtCi4vc2hh cmUvZ3VpbGUvMi4wL2ljZS05L3dlYWstdmVjdG9yLnNjbQouL3NoYXJlL2d1aWxlLzIuMC9pY2Ut OS9oaXN0b3J5LnNjbQouL3NoYXJlL2d1aWxlLzIuMC9pY2UtOS9leHBlY3Quc2NtCi4vc2hhcmUv Z3VpbGUvMi4wL2ljZS05L3BvbGwuc2NtCi4vc2hhcmUvZ3VpbGUvMi4wL2ljZS05L3BvcGVuLnNj bQouL3NoYXJlL2d1aWxlLzIuMC9pY2UtOS9jb250cm9sLnNjbQouL3NoYXJlL2d1aWxlLzIuMC9p Y2UtOS9zZXNzaW9uLnNjbQouL3NoYXJlL2d1aWxlLzIuMC9pY2UtOS9mdHcuc2NtCi4vc2hhcmUv Z3VpbGUvMi4wL2ljZS05L2xvY2FsLWV2YWwuc2NtCi4vc2hhcmUvZ3VpbGUvMi4wL2ljZS05L3Jl Y2VpdmUuc2NtCi4vc2hhcmUvZ3VpbGUvMi4wL2ljZS05L3NhZmUtcjVycy5zY20KLi9zaGFyZS9n dWlsZS8yLjAvaWNlLTkvY2FsbGluZy5zY20KLi9zaGFyZS9ndWlsZS8yLjAvaWNlLTkvY3Vycmll ZC1kZWZpbml0aW9ucy5zY20KLi9zaGFyZS9ndWlsZS8yLjAvaWNlLTkvZXZhbC1zdHJpbmcuc2Nt Ci4vc2hhcmUvZ3VpbGUvMi4wL2ljZS05L3Euc2NtCi4vc2hhcmUvZ3VpbGUvMi4wL2ljZS05L3Nl cmlhbGl6ZS5zY20KLi9zaGFyZS9ndWlsZS8yLjAvaWNlLTkvcXVhc2lzeW50YXguc2NtCi4vc2hh cmUvZ3VpbGUvMi4wL2ljZS05L3NsaWIuc2NtCi4vc2hhcmUvZ3VpbGUvMi4wL2ljZS05L2hjb25z LnNjbQouL3NoYXJlL2d1aWxlLzIuMC9pY2UtOS9ydy5zY20KLi9zaGFyZS9ndWlsZS8yLjAvaWNl LTkvcmVnZXguc2NtCi4vc2hhcmUvZ3VpbGUvMi4wL2ljZS05L21hdGNoLnNjbQouL3NoYXJlL2d1 aWxlLzIuMC9pY2UtOS9idWZmZXJlZC1pbnB1dC5zY20KLi9zaGFyZS9ndWlsZS8yLjAvaWNlLTkv aWNvbnYuc2NtCi4vc2hhcmUvZ3VpbGUvMi4wL2ljZS05L3BvZS5zY20KLi9zaGFyZS9ndWlsZS8y LjAvaWNlLTkvY29tbW9uLWxpc3Quc2NtCi4vc2hhcmUvZ3VpbGUvMi4wL2ljZS05L3I1cnMuc2Nt Ci4vc2hhcmUvZ3VpbGUvMi4wL2ljZS05L2NvbW1hbmQtbGluZS5zY20KLi9zaGFyZS9ndWlsZS8y LjAvaWNlLTkvZGVwcmVjYXRlZC5zY20KLi9zaGFyZS9ndWlsZS8yLjAvaWNlLTkvcHN5bnRheC1w cC5zY20KLi9zaGFyZS9ndWlsZS8yLjAvaWNlLTkvbnVsbC5zY20KLi9zaGFyZS9ndWlsZS8yLjAv aWNlLTkvb3B0YXJncy5zY20KLi9zaGFyZS9ndWlsZS8yLjAvaWNlLTkvcmRlbGltLnNjbQouL3No YXJlL2d1aWxlLzIuMC9pY2UtOS9ydW5xLnNjbQouL3NoYXJlL2d1aWxlLzIuMC9pY2UtOS9zYWZl LnNjbQouL3NoYXJlL2d1aWxlLzIuMC9pY2UtOS9jaGFubmVsLnNjbQouL3NoYXJlL2d1aWxlLzIu MC9pY2UtOS9yZWFkbGluZS5zY20KLi9zaGFyZS9ndWlsZS8yLjAvaWNlLTkvYmluYXJ5LXBvcnRz LnNjbQouL3NoYXJlL2d1aWxlLzIuMC9pY2UtOS9ldmFsLnNjbQouL3NoYXJlL2d1aWxlLzIuMC9p Y2UtOS9yNHJzLnNjbQouL3NoYXJlL2d1aWxlLzIuMC9pY2UtOS9yNnJzLWxpYnJhcmllcy5zY20K Li9zaGFyZS9ndWlsZS8yLjAvaWNlLTkvbGlzdC5zY20KLi9zaGFyZS9ndWlsZS8yLjAvbGFuZ3Vh Z2UvCi4vc2hhcmUvZ3VpbGUvMi4wL2xhbmd1YWdlL2VsaXNwLwouL3NoYXJlL2d1aWxlLzIuMC9s YW5ndWFnZS9lbGlzcC9jb21waWxlLXRyZWUtaWwuc2NtCi4vc2hhcmUvZ3VpbGUvMi4wL2xhbmd1 YWdlL2VsaXNwL2JpbmRpbmdzLnNjbQouL3NoYXJlL2d1aWxlLzIuMC9sYW5ndWFnZS9lbGlzcC9y dW50aW1lLnNjbQouL3NoYXJlL2d1aWxlLzIuMC9sYW5ndWFnZS9lbGlzcC9sZXhlci5zY20KLi9z aGFyZS9ndWlsZS8yLjAvbGFuZ3VhZ2UvZWxpc3Avc3BlYy5zY20KLi9zaGFyZS9ndWlsZS8yLjAv bGFuZ3VhZ2UvZWxpc3AvcnVudGltZS8KLi9zaGFyZS9ndWlsZS8yLjAvbGFuZ3VhZ2UvZWxpc3Av cnVudGltZS9tYWNyb3Muc2NtCi4vc2hhcmUvZ3VpbGUvMi4wL2xhbmd1YWdlL2VsaXNwL3J1bnRp bWUvZnVuY3Rpb24tc2xvdC5zY20KLi9zaGFyZS9ndWlsZS8yLjAvbGFuZ3VhZ2UvZWxpc3AvcnVu dGltZS9zdWJycy5zY20KLi9zaGFyZS9ndWlsZS8yLjAvbGFuZ3VhZ2UvZWxpc3AvcnVudGltZS92 YWx1ZS1zbG90LnNjbQouL3NoYXJlL2d1aWxlLzIuMC9sYW5ndWFnZS9lbGlzcC9wYXJzZXIuc2Nt Ci4vc2hhcmUvZ3VpbGUvMi4wL2xhbmd1YWdlL2Fzc2VtYmx5LwouL3NoYXJlL2d1aWxlLzIuMC9s YW5ndWFnZS9hc3NlbWJseS9jb21waWxlLWJ5dGVjb2RlLnNjbQouL3NoYXJlL2d1aWxlLzIuMC9s YW5ndWFnZS9hc3NlbWJseS9kaXNhc3NlbWJsZS5zY20KLi9zaGFyZS9ndWlsZS8yLjAvbGFuZ3Vh Z2UvYXNzZW1ibHkvc3BlYy5zY20KLi9zaGFyZS9ndWlsZS8yLjAvbGFuZ3VhZ2UvYXNzZW1ibHkv ZGVjb21waWxlLWJ5dGVjb2RlLnNjbQouL3NoYXJlL2d1aWxlLzIuMC9sYW5ndWFnZS9zY2hlbWUv Ci4vc2hhcmUvZ3VpbGUvMi4wL2xhbmd1YWdlL3NjaGVtZS9jb21waWxlLXRyZWUtaWwuc2NtCi4v c2hhcmUvZ3VpbGUvMi4wL2xhbmd1YWdlL3NjaGVtZS9kZWNvbXBpbGUtdHJlZS1pbC5zY20KLi9z aGFyZS9ndWlsZS8yLjAvbGFuZ3VhZ2Uvc2NoZW1lL3NwZWMuc2NtCi4vc2hhcmUvZ3VpbGUvMi4w L2xhbmd1YWdlL2JyYWluZnVjay8KLi9zaGFyZS9ndWlsZS8yLjAvbGFuZ3VhZ2UvYnJhaW5mdWNr L2NvbXBpbGUtdHJlZS1pbC5zY20KLi9zaGFyZS9ndWlsZS8yLjAvbGFuZ3VhZ2UvYnJhaW5mdWNr L2NvbXBpbGUtc2NoZW1lLnNjbQouL3NoYXJlL2d1aWxlLzIuMC9sYW5ndWFnZS9icmFpbmZ1Y2sv c3BlYy5zY20KLi9zaGFyZS9ndWlsZS8yLjAvbGFuZ3VhZ2UvYnJhaW5mdWNrL3BhcnNlLnNjbQou L3NoYXJlL2d1aWxlLzIuMC9sYW5ndWFnZS9vYmpjb2RlLwouL3NoYXJlL2d1aWxlLzIuMC9sYW5n dWFnZS9vYmpjb2RlL3NwZWMuc2NtCi4vc2hhcmUvZ3VpbGUvMi4wL2xhbmd1YWdlL2Fzc2VtYmx5 LnNjbQouL3NoYXJlL2d1aWxlLzIuMC9sYW5ndWFnZS9ieXRlY29kZS8KLi9zaGFyZS9ndWlsZS8y LjAvbGFuZ3VhZ2UvYnl0ZWNvZGUvc3BlYy5zY20KLi9zaGFyZS9ndWlsZS8yLjAvbGFuZ3VhZ2Uv Z2xpbC8KLi9zaGFyZS9ndWlsZS8yLjAvbGFuZ3VhZ2UvZ2xpbC9zcGVjLnNjbQouL3NoYXJlL2d1 aWxlLzIuMC9sYW5ndWFnZS9nbGlsL2NvbXBpbGUtYXNzZW1ibHkuc2NtCi4vc2hhcmUvZ3VpbGUv Mi4wL2xhbmd1YWdlL3RyZWUtaWwvCi4vc2hhcmUvZ3VpbGUvMi4wL2xhbmd1YWdlL3RyZWUtaWwv YW5hbHl6ZS5zY20KLi9zaGFyZS9ndWlsZS8yLjAvbGFuZ3VhZ2UvdHJlZS1pbC9pbmxpbmUuc2Nt Ci4vc2hhcmUvZ3VpbGUvMi4wL2xhbmd1YWdlL3RyZWUtaWwvZGVidWcuc2NtCi4vc2hhcmUvZ3Vp bGUvMi4wL2xhbmd1YWdlL3RyZWUtaWwvcHJpbWl0aXZlcy5zY20KLi9zaGFyZS9ndWlsZS8yLjAv bGFuZ3VhZ2UvdHJlZS1pbC9vcHRpbWl6ZS5zY20KLi9zaGFyZS9ndWlsZS8yLjAvbGFuZ3VhZ2Uv dHJlZS1pbC9maXgtbGV0cmVjLnNjbQouL3NoYXJlL2d1aWxlLzIuMC9sYW5ndWFnZS90cmVlLWls L3NwZWMuc2NtCi4vc2hhcmUvZ3VpbGUvMi4wL2xhbmd1YWdlL3RyZWUtaWwvcGV2YWwuc2NtCi4v c2hhcmUvZ3VpbGUvMi4wL2xhbmd1YWdlL3RyZWUtaWwvY29tcGlsZS1nbGlsLnNjbQouL3NoYXJl L2d1aWxlLzIuMC9sYW5ndWFnZS90cmVlLWlsL2NzZS5zY20KLi9zaGFyZS9ndWlsZS8yLjAvbGFu Z3VhZ2UvdHJlZS1pbC9jYW5vbmljYWxpemUuc2NtCi4vc2hhcmUvZ3VpbGUvMi4wL2xhbmd1YWdl L3RyZWUtaWwvZWZmZWN0cy5zY20KLi9zaGFyZS9ndWlsZS8yLjAvbGFuZ3VhZ2UvZWNtYXNjcmlw dC8KLi9zaGFyZS9ndWlsZS8yLjAvbGFuZ3VhZ2UvZWNtYXNjcmlwdC9iYXNlLnNjbQouL3NoYXJl L2d1aWxlLzIuMC9sYW5ndWFnZS9lY21hc2NyaXB0L2NvbXBpbGUtdHJlZS1pbC5zY20KLi9zaGFy ZS9ndWlsZS8yLjAvbGFuZ3VhZ2UvZWNtYXNjcmlwdC9mdW5jdGlvbi5zY20KLi9zaGFyZS9ndWls ZS8yLjAvbGFuZ3VhZ2UvZWNtYXNjcmlwdC9hcnJheS5zY20KLi9zaGFyZS9ndWlsZS8yLjAvbGFu Z3VhZ2UvZWNtYXNjcmlwdC90b2tlbml6ZS5zY20KLi9zaGFyZS9ndWlsZS8yLjAvbGFuZ3VhZ2Uv ZWNtYXNjcmlwdC9zcGVjLnNjbQouL3NoYXJlL2d1aWxlLzIuMC9sYW5ndWFnZS9lY21hc2NyaXB0 L2ltcGwuc2NtCi4vc2hhcmUvZ3VpbGUvMi4wL2xhbmd1YWdlL2VjbWFzY3JpcHQvcGFyc2Uuc2Nt Ci4vc2hhcmUvZ3VpbGUvMi4wL2xhbmd1YWdlL3ZhbHVlLwouL3NoYXJlL2d1aWxlLzIuMC9sYW5n dWFnZS92YWx1ZS9zcGVjLnNjbQouL3NoYXJlL2d1aWxlLzIuMC9sYW5ndWFnZS9nbGlsLnNjbQou L3NoYXJlL2d1aWxlLzIuMC9sYW5ndWFnZS90cmVlLWlsLnNjbQouL3NoYXJlL2d1aWxlLzIuMC9y bnJzLnNjbQouL3NoYXJlL2d1aWxlLzIuMC9zdGF0cHJvZi5zY20KLi9zaGFyZS9ndWlsZS8yLjAv d2ViLwouL3NoYXJlL2d1aWxlLzIuMC93ZWIvY2xpZW50LnNjbQouL3NoYXJlL2d1aWxlLzIuMC93 ZWIvcmVzcG9uc2Uuc2NtCi4vc2hhcmUvZ3VpbGUvMi4wL3dlYi91cmkuc2NtCi4vc2hhcmUvZ3Vp bGUvMi4wL3dlYi9zZXJ2ZXIvCi4vc2hhcmUvZ3VpbGUvMi4wL3dlYi9zZXJ2ZXIvaHR0cC5zY20K Li9zaGFyZS9ndWlsZS8yLjAvd2ViL3JlcXVlc3Quc2NtCi4vc2hhcmUvZ3VpbGUvMi4wL3dlYi9z ZXJ2ZXIuc2NtCi4vc2hhcmUvZ3VpbGUvMi4wL3dlYi9odHRwLnNjbQouL3NoYXJlL2d1aWxlLzIu MC9vb3AvCi4vc2hhcmUvZ3VpbGUvMi4wL29vcC9nb29wcy5zY20KLi9zaGFyZS9ndWlsZS8yLjAv b29wL2dvb3BzLwouL3NoYXJlL2d1aWxlLzIuMC9vb3AvZ29vcHMvc2F2ZS5zY20KLi9zaGFyZS9n dWlsZS8yLjAvb29wL2dvb3BzL3N0a2xvcy5zY20KLi9zaGFyZS9ndWlsZS8yLjAvb29wL2dvb3Bz L2FjY2Vzc29ycy5zY20KLi9zaGFyZS9ndWlsZS8yLjAvb29wL2dvb3BzL2Rlc2NyaWJlLnNjbQou L3NoYXJlL2d1aWxlLzIuMC9vb3AvZ29vcHMvZGlzcGF0Y2guc2NtCi4vc2hhcmUvZ3VpbGUvMi4w L29vcC9nb29wcy9hY3RpdmUtc2xvdC5zY20KLi9zaGFyZS9ndWlsZS8yLjAvb29wL2dvb3BzL2Nv bXBvc2l0ZS1zbG90LnNjbQouL3NoYXJlL2d1aWxlLzIuMC9vb3AvZ29vcHMvY29tcGlsZS5zY20K Li9zaGFyZS9ndWlsZS8yLjAvb29wL2dvb3BzL2ludGVybmFsLnNjbQouL3NoYXJlL2d1aWxlLzIu MC9vb3AvZ29vcHMvdXRpbC5zY20KLi9zaGFyZS9ndWlsZS8yLjAvb29wL2dvb3BzL3NpbXBsZS5z Y20KLi9zaGFyZS9ndWlsZS8yLjAvZ3VpbGUtcHJvY2VkdXJlcy50eHQKLi9zaGFyZS9ndWlsZS8y LjAvdGV4aW5mby5zY20KLi9zaGFyZS9ndWlsZS8yLjAvcm5ycy8KLi9zaGFyZS9ndWlsZS8yLjAv cm5ycy9iYXNlLnNjbQouL3NoYXJlL2d1aWxlLzIuMC9ybnJzL3JlY29yZHMvCi4vc2hhcmUvZ3Vp bGUvMi4wL3JucnMvcmVjb3Jkcy9zeW50YWN0aWMuc2NtCi4vc2hhcmUvZ3VpbGUvMi4wL3JucnMv cmVjb3Jkcy9pbnNwZWN0aW9uLnNjbQouL3NoYXJlL2d1aWxlLzIuMC9ybnJzL3JlY29yZHMvcHJv Y2VkdXJhbC5zY20KLi9zaGFyZS9ndWlsZS8yLjAvcm5ycy9hcml0aG1ldGljLwouL3NoYXJlL2d1 aWxlLzIuMC9ybnJzL2FyaXRobWV0aWMvYml0d2lzZS5zY20KLi9zaGFyZS9ndWlsZS8yLjAvcm5y cy9hcml0aG1ldGljL2ZpeG51bXMuc2NtCi4vc2hhcmUvZ3VpbGUvMi4wL3JucnMvYXJpdGhtZXRp Yy9mbG9udW1zLnNjbQouL3NoYXJlL2d1aWxlLzIuMC9ybnJzL3VuaWNvZGUuc2NtCi4vc2hhcmUv Z3VpbGUvMi4wL3JucnMvZW51bXMuc2NtCi4vc2hhcmUvZ3VpbGUvMi4wL3JucnMvaGFzaHRhYmxl cy5zY20KLi9zaGFyZS9ndWlsZS8yLjAvcm5ycy9jb250cm9sLnNjbQouL3NoYXJlL2d1aWxlLzIu MC9ybnJzL3N5bnRheC1jYXNlLnNjbQouL3NoYXJlL2d1aWxlLzIuMC9ybnJzL3NvcnRpbmcuc2Nt Ci4vc2hhcmUvZ3VpbGUvMi4wL3JucnMvbGlzdHMuc2NtCi4vc2hhcmUvZ3VpbGUvMi4wL3JucnMv bXV0YWJsZS1zdHJpbmdzLnNjbQouL3NoYXJlL2d1aWxlLzIuMC9ybnJzL2NvbmRpdGlvbnMuc2Nt Ci4vc2hhcmUvZ3VpbGUvMi4wL3JucnMvcjVycy5zY20KLi9zaGFyZS9ndWlsZS8yLjAvcm5ycy9t dXRhYmxlLXBhaXJzLnNjbQouL3NoYXJlL2d1aWxlLzIuMC9ybnJzL3Byb2dyYW1zLnNjbQouL3No YXJlL2d1aWxlLzIuMC9ybnJzL2V4Y2VwdGlvbnMuc2NtCi4vc2hhcmUvZ3VpbGUvMi4wL3JucnMv ZXZhbC5zY20KLi9zaGFyZS9ndWlsZS8yLjAvcm5ycy9maWxlcy5zY20KLi9zaGFyZS9ndWlsZS8y LjAvcm5ycy9pby8KLi9zaGFyZS9ndWlsZS8yLjAvcm5ycy9pby9wb3J0cy5zY20KLi9zaGFyZS9n dWlsZS8yLjAvcm5ycy9pby9zaW1wbGUuc2NtCi4vc2hhcmUvZ3VpbGUvMi4wL3JucnMvYnl0ZXZl Y3RvcnMuc2NtCi4vc2hhcmUvZ3VpbGUvMi4wL3N4bWwvCi4vc2hhcmUvZ3VpbGUvMi4wL3N4bWwv c3htbC1tYXRjaC5zcwouL3NoYXJlL2d1aWxlLzIuMC9zeG1sL2ZvbGQuc2NtCi4vc2hhcmUvZ3Vp bGUvMi4wL3N4bWwvc3NheC5zY20KLi9zaGFyZS9ndWlsZS8yLjAvc3htbC9hcHBseS10ZW1wbGF0 ZXMuc2NtCi4vc2hhcmUvZ3VpbGUvMi4wL3N4bWwveHBhdGguc2NtCi4vc2hhcmUvZ3VpbGUvMi4w L3N4bWwvdXBzdHJlYW0vCi4vc2hhcmUvZ3VpbGUvMi4wL3N4bWwvdXBzdHJlYW0vU1NBWC5zY20K Li9zaGFyZS9ndWlsZS8yLjAvc3htbC91cHN0cmVhbS9hc3NlcnQuc2NtCi4vc2hhcmUvZ3VpbGUv Mi4wL3N4bWwvdXBzdHJlYW0vU1hQYXRoLW9sZC5zY20KLi9zaGFyZS9ndWlsZS8yLjAvc3htbC91 cHN0cmVhbS9pbnB1dC1wYXJzZS5zY20KLi9zaGFyZS9ndWlsZS8yLjAvc3htbC91cHN0cmVhbS9T WE1MLXRyZWUtdHJhbnMuc2NtCi4vc2hhcmUvZ3VpbGUvMi4wL3N4bWwvdHJhbnNmb3JtLnNjbQou L3NoYXJlL2d1aWxlLzIuMC9zeG1sL21hdGNoLnNjbQouL3NoYXJlL2d1aWxlLzIuMC9zeG1sL3Np bXBsZS5zY20KLi9zaGFyZS9ndWlsZS8yLjAvc3htbC9zc2F4LwouL3NoYXJlL2d1aWxlLzIuMC9z eG1sL3NzYXgvaW5wdXQtcGFyc2Uuc2NtCi4vc2hhcmUvZ3VpbGUvMi4wL3NyZmkvCi4vc2hhcmUv Z3VpbGUvMi4wL3NyZmkvc3JmaS04OC5zY20KLi9zaGFyZS9ndWlsZS8yLjAvc3JmaS9zcmZpLTE0 LnNjbQouL3NoYXJlL2d1aWxlLzIuMC9zcmZpL3NyZmktNi5zY20KLi9zaGFyZS9ndWlsZS8yLjAv c3JmaS9zcmZpLTY3LnNjbQouL3NoYXJlL2d1aWxlLzIuMC9zcmZpL3NyZmktNDIvCi4vc2hhcmUv Z3VpbGUvMi4wL3NyZmkvc3JmaS00Mi9lYy5zY20KLi9zaGFyZS9ndWlsZS8yLjAvc3JmaS9zcmZp LTE5LnNjbQouL3NoYXJlL2d1aWxlLzIuMC9zcmZpL3NyZmktMzEuc2NtCi4vc2hhcmUvZ3VpbGUv Mi4wL3NyZmkvc3JmaS00MS5zY20KLi9zaGFyZS9ndWlsZS8yLjAvc3JmaS9zcmZpLTM1LnNjbQou L3NoYXJlL2d1aWxlLzIuMC9zcmZpL3NyZmktMzQuc2NtCi4vc2hhcmUvZ3VpbGUvMi4wL3NyZmkv c3JmaS02MC5zY20KLi9zaGFyZS9ndWlsZS8yLjAvc3JmaS9zcmZpLTE4LnNjbQouL3NoYXJlL2d1 aWxlLzIuMC9zcmZpL3NyZmktMzcuc2NtCi4vc2hhcmUvZ3VpbGUvMi4wL3NyZmkvc3JmaS00Lwou L3NoYXJlL2d1aWxlLzIuMC9zcmZpL3NyZmktNC9nbnUuc2NtCi4vc2hhcmUvZ3VpbGUvMi4wL3Ny Zmkvc3JmaS0xNi5zY20KLi9zaGFyZS9ndWlsZS8yLjAvc3JmaS9zcmZpLTY5LnNjbQouL3NoYXJl L2d1aWxlLzIuMC9zcmZpL3NyZmktMTcuc2NtCi4vc2hhcmUvZ3VpbGUvMi4wL3NyZmkvc3JmaS0y LnNjbQouL3NoYXJlL2d1aWxlLzIuMC9zcmZpL3NyZmktMjcuc2NtCi4vc2hhcmUvZ3VpbGUvMi4w L3NyZmkvc3JmaS0yNi5zY20KLi9zaGFyZS9ndWlsZS8yLjAvc3JmaS9zcmZpLTguc2NtCi4vc2hh cmUvZ3VpbGUvMi4wL3NyZmkvc3JmaS00LnNjbQouL3NoYXJlL2d1aWxlLzIuMC9zcmZpL3NyZmkt MTEuc2NtCi4vc2hhcmUvZ3VpbGUvMi4wL3NyZmkvc3JmaS0xMy5zY20KLi9zaGFyZS9ndWlsZS8y LjAvc3JmaS9zcmZpLTY3LwouL3NoYXJlL2d1aWxlLzIuMC9zcmZpL3NyZmktNjcvY29tcGFyZS5z Y20KLi9zaGFyZS9ndWlsZS8yLjAvc3JmaS9zcmZpLTQ1LnNjbQouL3NoYXJlL2d1aWxlLzIuMC9z cmZpL3NyZmktOS5zY20KLi9zaGFyZS9ndWlsZS8yLjAvc3JmaS9zcmZpLTkvCi4vc2hhcmUvZ3Vp bGUvMi4wL3NyZmkvc3JmaS05L2dudS5zY20KLi9zaGFyZS9ndWlsZS8yLjAvc3JmaS9zcmZpLTEw LnNjbQouL3NoYXJlL2d1aWxlLzIuMC9zcmZpL3NyZmktNDIuc2NtCi4vc2hhcmUvZ3VpbGUvMi4w L3NyZmkvc3JmaS0zOS5zY20KLi9zaGFyZS9ndWlsZS8yLjAvc3JmaS9zcmZpLTEuc2NtCi4vc2hh cmUvZ3VpbGUvMi4wL3NyZmkvc3JmaS0zOC5zY20KLi9zaGFyZS9ndWlsZS8yLjAvc3JmaS9zcmZp LTk4LnNjbQouL2xpYi8KLi9saWIvZ3VpbGUvCi4vbGliL2d1aWxlLzIuMC8KLi9saWIvZ3VpbGUv Mi4wL2NjYWNoZS8KLi9saWIvZ3VpbGUvMi4wL2NjYWNoZS9zeXN0ZW0vCi4vbGliL2d1aWxlLzIu MC9jY2FjaGUvc3lzdGVtL2ZvcmVpZ24uZ28KLi9saWIvZ3VpbGUvMi4wL2NjYWNoZS9zeXN0ZW0v cmVwbC8KLi9saWIvZ3VpbGUvMi4wL2NjYWNoZS9zeXN0ZW0vcmVwbC9jb21tYW5kLmdvCi4vbGli L2d1aWxlLzIuMC9jY2FjaGUvc3lzdGVtL3JlcGwvZXJyb3ItaGFuZGxpbmcuZ28KLi9saWIvZ3Vp bGUvMi4wL2NjYWNoZS9zeXN0ZW0vcmVwbC9yZXBsLmdvCi4vbGliL2d1aWxlLzIuMC9jY2FjaGUv c3lzdGVtL3JlcGwvZGVidWcuZ28KLi9saWIvZ3VpbGUvMi4wL2NjYWNoZS9zeXN0ZW0vcmVwbC9z ZXJ2ZXIuZ28KLi9saWIvZ3VpbGUvMi4wL2NjYWNoZS9zeXN0ZW0vcmVwbC9jb21tb24uZ28KLi9s aWIvZ3VpbGUvMi4wL2NjYWNoZS9zeXN0ZW0veHJlZi5nbwouL2xpYi9ndWlsZS8yLjAvY2NhY2hl L3N5c3RlbS9iYXNlLwouL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3N5c3RlbS9iYXNlL2NrLmdvCi4v bGliL2d1aWxlLzIuMC9jY2FjaGUvc3lzdGVtL2Jhc2UvbGFsci5nbwouL2xpYi9ndWlsZS8yLjAv Y2NhY2hlL3N5c3RlbS9iYXNlL3BtYXRjaC5nbwouL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3N5c3Rl bS9iYXNlL21lc3NhZ2UuZ28KLi9saWIvZ3VpbGUvMi4wL2NjYWNoZS9zeXN0ZW0vYmFzZS9zeW50 YXguZ28KLi9saWIvZ3VpbGUvMi4wL2NjYWNoZS9zeXN0ZW0vYmFzZS9sYW5ndWFnZS5nbwouL2xp Yi9ndWlsZS8yLjAvY2NhY2hlL3N5c3RlbS9iYXNlL3RhcmdldC5nbwouL2xpYi9ndWlsZS8yLjAv Y2NhY2hlL3N5c3RlbS9iYXNlL2NvbXBpbGUuZ28KLi9saWIvZ3VpbGUvMi4wL2NjYWNoZS9zeXN0 ZW0vdm0vCi4vbGliL2d1aWxlLzIuMC9jY2FjaGUvc3lzdGVtL3ZtL3RyYXBzLmdvCi4vbGliL2d1 aWxlLzIuMC9jY2FjaGUvc3lzdGVtL3ZtL2ZyYW1lLmdvCi4vbGliL2d1aWxlLzIuMC9jY2FjaGUv c3lzdGVtL3ZtL29iamNvZGUuZ28KLi9saWIvZ3VpbGUvMi4wL2NjYWNoZS9zeXN0ZW0vdm0vcHJv Z3JhbS5nbwouL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3N5c3RlbS92bS9pbnN0cnVjdGlvbi5nbwou L2xpYi9ndWlsZS8yLjAvY2NhY2hlL3N5c3RlbS92bS9jb3ZlcmFnZS5nbwouL2xpYi9ndWlsZS8y LjAvY2NhY2hlL3N5c3RlbS92bS92bS5nbwouL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3N5c3RlbS92 bS90cmFwLXN0YXRlLmdvCi4vbGliL2d1aWxlLzIuMC9jY2FjaGUvc3lzdGVtL3ZtL2luc3BlY3Qu Z28KLi9saWIvZ3VpbGUvMi4wL2NjYWNoZS9zeXN0ZW0vdm0vdHJhY2UuZ28KLi9saWIvZ3VpbGUv Mi4wL2NjYWNoZS9zY3JpcHRzLwouL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3NjcmlwdHMvc2Nhbi1h cGkuZ28KLi9saWIvZ3VpbGUvMi4wL2NjYWNoZS9zY3JpcHRzL3VzZTJkb3QuZ28KLi9saWIvZ3Vp bGUvMi4wL2NjYWNoZS9zY3JpcHRzL2F1dG9mcmlzay5nbwouL2xpYi9ndWlsZS8yLjAvY2NhY2hl L3NjcmlwdHMvYXBpLWRpZmYuZ28KLi9saWIvZ3VpbGUvMi4wL2NjYWNoZS9zY3JpcHRzL3JlYWQt dGV4dC1vdXRsaW5lLmdvCi4vbGliL2d1aWxlLzIuMC9jY2FjaGUvc2NyaXB0cy9wdW5pZnkuZ28K Li9saWIvZ3VpbGUvMi4wL2NjYWNoZS9zY3JpcHRzL3NuYXJmLWd1aWxlLW00LWRvY3MuZ28KLi9s aWIvZ3VpbGUvMi4wL2NjYWNoZS9zY3JpcHRzL3JlYWQtc2NoZW1lLXNvdXJjZS5nbwouL2xpYi9n dWlsZS8yLjAvY2NhY2hlL3NjcmlwdHMvZnJpc2suZ28KLi9saWIvZ3VpbGUvMi4wL2NjYWNoZS9z Y3JpcHRzL3N1bW1hcml6ZS1ndWlsZS1UT0RPLmdvCi4vbGliL2d1aWxlLzIuMC9jY2FjaGUvc2Ny aXB0cy9saW50LmdvCi4vbGliL2d1aWxlLzIuMC9jY2FjaGUvc2NyaXB0cy9kaXNwbGF5LWNvbW1l bnRhcnkuZ28KLi9saWIvZ3VpbGUvMi4wL2NjYWNoZS9zY3JpcHRzL2Rpc2Fzc2VtYmxlLmdvCi4v bGliL2d1aWxlLzIuMC9jY2FjaGUvc2NyaXB0cy9nZW5lcmF0ZS1hdXRvbG9hZC5nbwouL2xpYi9n dWlsZS8yLjAvY2NhY2hlL3NjcmlwdHMvc25hcmYtY2hlY2stYW5kLW91dHB1dC10ZXhpLmdvCi4v bGliL2d1aWxlLzIuMC9jY2FjaGUvc2NyaXB0cy9yZWFkLXJmYzgyMi5nbwouL2xpYi9ndWlsZS8y LjAvY2NhY2hlL3NjcmlwdHMvZG9jLXNuYXJmLmdvCi4vbGliL2d1aWxlLzIuMC9jY2FjaGUvc2Ny aXB0cy9jb21waWxlLmdvCi4vbGliL2d1aWxlLzIuMC9jY2FjaGUvc2NyaXB0cy9oZWxwLmdvCi4v bGliL2d1aWxlLzIuMC9jY2FjaGUvc2NyaXB0cy9saXN0LmdvCi4vbGliL2d1aWxlLzIuMC9jY2Fj aGUvdGV4aW5mby8KLi9saWIvZ3VpbGUvMi4wL2NjYWNoZS90ZXhpbmZvL2RvY2Jvb2suZ28KLi9s aWIvZ3VpbGUvMi4wL2NjYWNoZS90ZXhpbmZvL3NlcmlhbGl6ZS5nbwouL2xpYi9ndWlsZS8yLjAv Y2NhY2hlL3RleGluZm8vaHRtbC5nbwouL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3RleGluZm8vcmVm bGVjdGlvbi5nbwouL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3RleGluZm8vaW5kZXhpbmcuZ28KLi9s aWIvZ3VpbGUvMi4wL2NjYWNoZS90ZXhpbmZvL3BsYWluLXRleHQuZ28KLi9saWIvZ3VpbGUvMi4w L2NjYWNoZS90ZXhpbmZvL3N0cmluZy11dGlscy5nbwouL2xpYi9ndWlsZS8yLjAvY2NhY2hlL2lj ZS05LwouL2xpYi9ndWlsZS8yLjAvY2NhY2hlL2ljZS05L3I0cnMuZ28KLi9saWIvZ3VpbGUvMi4w L2NjYWNoZS9pY2UtOS9wb2xsLmdvCi4vbGliL2d1aWxlLzIuMC9jY2FjaGUvaWNlLTkvc3luY2Fz ZS5nbwouL2xpYi9ndWlsZS8yLjAvY2NhY2hlL2ljZS05L2NvbW1vbi1saXN0LmdvCi4vbGliL2d1 aWxlLzIuMC9jY2FjaGUvaWNlLTkvc3RhY2stY2F0Y2guZ28KLi9saWIvZ3VpbGUvMi4wL2NjYWNo ZS9pY2UtOS9jb250cm9sLmdvCi4vbGliL2d1aWxlLzIuMC9jY2FjaGUvaWNlLTkvYmluYXJ5LXBv cnRzLmdvCi4vbGliL2d1aWxlLzIuMC9jY2FjaGUvaWNlLTkvcmVnZXguZ28KLi9saWIvZ3VpbGUv Mi4wL2NjYWNoZS9pY2UtOS9zYWZlLmdvCi4vbGliL2d1aWxlLzIuMC9jY2FjaGUvaWNlLTkvYnVm ZmVyZWQtaW5wdXQuZ28KLi9saWIvZ3VpbGUvMi4wL2NjYWNoZS9pY2UtOS9ib290LTkuZ28KLi9s aWIvZ3VpbGUvMi4wL2NjYWNoZS9pY2UtOS9hbmQtbGV0LXN0YXIuZ28KLi9saWIvZ3VpbGUvMi4w L2NjYWNoZS9pY2UtOS9leHBlY3QuZ28KLi9saWIvZ3VpbGUvMi4wL2NjYWNoZS9pY2UtOS9nYXAt YnVmZmVyLmdvCi4vbGliL2d1aWxlLzIuMC9jY2FjaGUvaWNlLTkvcHJldHR5LXByaW50LmdvCi4v bGliL2d1aWxlLzIuMC9jY2FjaGUvaWNlLTkvdGltZS5nbwouL2xpYi9ndWlsZS8yLjAvY2NhY2hl L2ljZS05L3NlcmlhbGl6ZS5nbwouL2xpYi9ndWlsZS8yLjAvY2NhY2hlL2ljZS05L2RlYnVnLmdv Ci4vbGliL2d1aWxlLzIuMC9jY2FjaGUvaWNlLTkvcncuZ28KLi9saWIvZ3VpbGUvMi4wL2NjYWNo ZS9pY2UtOS9jb21tYW5kLWxpbmUuZ28KLi9saWIvZ3VpbGUvMi4wL2NjYWNoZS9pY2UtOS9uZXR3 b3JraW5nLmdvCi4vbGliL2d1aWxlLzIuMC9jY2FjaGUvaWNlLTkvcG9zaXguZ28KLi9saWIvZ3Vp bGUvMi4wL2NjYWNoZS9pY2UtOS9wc3ludGF4LXBwLmdvCi4vbGliL2d1aWxlLzIuMC9jY2FjaGUv aWNlLTkvZm9ybWF0LmdvCi4vbGliL2d1aWxlLzIuMC9jY2FjaGUvaWNlLTkvb3B0YXJncy5nbwou L2xpYi9ndWlsZS8yLjAvY2NhY2hlL2ljZS05L2hpc3RvcnkuZ28KLi9saWIvZ3VpbGUvMi4wL2Nj YWNoZS9pY2UtOS92bGlzdC5nbwouL2xpYi9ndWlsZS8yLjAvY2NhY2hlL2ljZS05L3RocmVhZHMu Z28KLi9saWIvZ3VpbGUvMi4wL2NjYWNoZS9pY2UtOS9zYWZlLXI1cnMuZ28KLi9saWIvZ3VpbGUv Mi4wL2NjYWNoZS9pY2UtOS9zdHJlYW1zLmdvCi4vbGliL2d1aWxlLzIuMC9jY2FjaGUvaWNlLTkv cmVhZGxpbmUuZ28KLi9saWIvZ3VpbGUvMi4wL2NjYWNoZS9pY2UtOS9zbGliLmdvCi4vbGliL2d1 aWxlLzIuMC9jY2FjaGUvaWNlLTkvc2NtLXN0eWxlLXJlcGwuZ28KLi9saWIvZ3VpbGUvMi4wL2Nj YWNoZS9pY2UtOS9zZXNzaW9uLmdvCi4vbGliL2d1aWxlLzIuMC9jY2FjaGUvaWNlLTkvdG9wLXJl cGwuZ28KLi9saWIvZ3VpbGUvMi4wL2NjYWNoZS9pY2UtOS9jaGFubmVsLmdvCi4vbGliL2d1aWxl LzIuMC9jY2FjaGUvaWNlLTkvcS5nbwouL2xpYi9ndWlsZS8yLjAvY2NhY2hlL2ljZS05L3N0cmlu Zy1mdW4uZ28KLi9saWIvZ3VpbGUvMi4wL2NjYWNoZS9pY2UtOS9yNXJzLmdvCi4vbGliL2d1aWxl LzIuMC9jY2FjaGUvaWNlLTkvY2FsbGluZy5nbwouL2xpYi9ndWlsZS8yLjAvY2NhY2hlL2ljZS05 L2Z1dHVyZXMuZ28KLi9saWIvZ3VpbGUvMi4wL2NjYWNoZS9pY2UtOS9udWxsLmdvCi4vbGliL2d1 aWxlLzIuMC9jY2FjaGUvaWNlLTkvb2NjYW0tY2hhbm5lbC5nbwouL2xpYi9ndWlsZS8yLjAvY2Nh Y2hlL2ljZS05L2V2YWwuZ28KLi9saWIvZ3VpbGUvMi4wL2NjYWNoZS9pY2UtOS9yZWNlaXZlLmdv Ci4vbGliL2d1aWxlLzIuMC9jY2FjaGUvaWNlLTkvZnR3LmdvCi4vbGliL2d1aWxlLzIuMC9jY2Fj aGUvaWNlLTkvcnVucS5nbwouL2xpYi9ndWlsZS8yLjAvY2NhY2hlL2ljZS05L3JkZWxpbS5nbwou L2xpYi9ndWlsZS8yLjAvY2NhY2hlL2ljZS05L3NhdmUtc3RhY2suZ28KLi9saWIvZ3VpbGUvMi4w L2NjYWNoZS9pY2UtOS9sb2NhbC1ldmFsLmdvCi4vbGliL2d1aWxlLzIuMC9jY2FjaGUvaWNlLTkv Z2V0b3B0LWxvbmcuZ28KLi9saWIvZ3VpbGUvMi4wL2NjYWNoZS9pY2UtOS9scy5nbwouL2xpYi9n dWlsZS8yLjAvY2NhY2hlL2ljZS05L2xpbmVpby5nbwouL2xpYi9ndWlsZS8yLjAvY2NhY2hlL2lj ZS05L2kxOG4uZ28KLi9saWIvZ3VpbGUvMi4wL2NjYWNoZS9pY2UtOS9kZXByZWNhdGVkLmdvCi4v bGliL2d1aWxlLzIuMC9jY2FjaGUvaWNlLTkvaGNvbnMuZ28KLi9saWIvZ3VpbGUvMi4wL2NjYWNo ZS9pY2UtOS9wb3Blbi5nbwouL2xpYi9ndWlsZS8yLjAvY2NhY2hlL2ljZS05L2N1cnJpZWQtZGVm aW5pdGlvbnMuZ28KLi9saWIvZ3VpbGUvMi4wL2NjYWNoZS9pY2UtOS9ldmFsLXN0cmluZy5nbwou L2xpYi9ndWlsZS8yLjAvY2NhY2hlL2ljZS05L21hdGNoLmdvCi4vbGliL2d1aWxlLzIuMC9jY2Fj aGUvaWNlLTkvd2Vhay12ZWN0b3IuZ28KLi9saWIvZ3VpbGUvMi4wL2NjYWNoZS9pY2UtOS9wb2Uu Z28KLi9saWIvZ3VpbGUvMi4wL2NjYWNoZS9pY2UtOS9tYXBwaW5nLmdvCi4vbGliL2d1aWxlLzIu MC9jY2FjaGUvaWNlLTkvbGlzdC5nbwouL2xpYi9ndWlsZS8yLjAvY2NhY2hlL2ljZS05L2RvY3Vt ZW50YXRpb24uZ28KLi9saWIvZ3VpbGUvMi4wL2NjYWNoZS9pY2UtOS9pY29udi5nbwouL2xpYi9n dWlsZS8yLjAvY2NhY2hlL2xhbmd1YWdlLwouL2xpYi9ndWlsZS8yLjAvY2NhY2hlL2xhbmd1YWdl L2Fzc2VtYmx5LmdvCi4vbGliL2d1aWxlLzIuMC9jY2FjaGUvbGFuZ3VhZ2UvZWxpc3AvCi4vbGli L2d1aWxlLzIuMC9jY2FjaGUvbGFuZ3VhZ2UvZWxpc3AvY29tcGlsZS10cmVlLWlsLmdvCi4vbGli L2d1aWxlLzIuMC9jY2FjaGUvbGFuZ3VhZ2UvZWxpc3Avc3BlYy5nbwouL2xpYi9ndWlsZS8yLjAv Y2NhY2hlL2xhbmd1YWdlL2VsaXNwL3BhcnNlci5nbwouL2xpYi9ndWlsZS8yLjAvY2NhY2hlL2xh bmd1YWdlL2VsaXNwL3J1bnRpbWUuZ28KLi9saWIvZ3VpbGUvMi4wL2NjYWNoZS9sYW5ndWFnZS9l bGlzcC9iaW5kaW5ncy5nbwouL2xpYi9ndWlsZS8yLjAvY2NhY2hlL2xhbmd1YWdlL2VsaXNwL2xl eGVyLmdvCi4vbGliL2d1aWxlLzIuMC9jY2FjaGUvbGFuZ3VhZ2UvZWxpc3AvcnVudGltZS8KLi9s aWIvZ3VpbGUvMi4wL2NjYWNoZS9sYW5ndWFnZS9lbGlzcC9ydW50aW1lL3ZhbHVlLXNsb3QuZ28K Li9saWIvZ3VpbGUvMi4wL2NjYWNoZS9sYW5ndWFnZS9lbGlzcC9ydW50aW1lL2Z1bmN0aW9uLXNs b3QuZ28KLi9saWIvZ3VpbGUvMi4wL2NjYWNoZS9sYW5ndWFnZS9lbGlzcC9ydW50aW1lL3N1YnJz LmdvCi4vbGliL2d1aWxlLzIuMC9jY2FjaGUvbGFuZ3VhZ2UvZWxpc3AvcnVudGltZS9tYWNyb3Mu Z28KLi9saWIvZ3VpbGUvMi4wL2NjYWNoZS9sYW5ndWFnZS9hc3NlbWJseS8KLi9saWIvZ3VpbGUv Mi4wL2NjYWNoZS9sYW5ndWFnZS9hc3NlbWJseS9kZWNvbXBpbGUtYnl0ZWNvZGUuZ28KLi9saWIv Z3VpbGUvMi4wL2NjYWNoZS9sYW5ndWFnZS9hc3NlbWJseS9zcGVjLmdvCi4vbGliL2d1aWxlLzIu MC9jY2FjaGUvbGFuZ3VhZ2UvYXNzZW1ibHkvY29tcGlsZS1ieXRlY29kZS5nbwouL2xpYi9ndWls ZS8yLjAvY2NhY2hlL2xhbmd1YWdlL2Fzc2VtYmx5L2Rpc2Fzc2VtYmxlLmdvCi4vbGliL2d1aWxl LzIuMC9jY2FjaGUvbGFuZ3VhZ2UvdHJlZS1pbC5nbwouL2xpYi9ndWlsZS8yLjAvY2NhY2hlL2xh bmd1YWdlL2dsaWwuZ28KLi9saWIvZ3VpbGUvMi4wL2NjYWNoZS9sYW5ndWFnZS9zY2hlbWUvCi4v bGliL2d1aWxlLzIuMC9jY2FjaGUvbGFuZ3VhZ2Uvc2NoZW1lL2NvbXBpbGUtdHJlZS1pbC5nbwou L2xpYi9ndWlsZS8yLjAvY2NhY2hlL2xhbmd1YWdlL3NjaGVtZS9zcGVjLmdvCi4vbGliL2d1aWxl LzIuMC9jY2FjaGUvbGFuZ3VhZ2Uvc2NoZW1lL2RlY29tcGlsZS10cmVlLWlsLmdvCi4vbGliL2d1 aWxlLzIuMC9jY2FjaGUvbGFuZ3VhZ2UvYnJhaW5mdWNrLwouL2xpYi9ndWlsZS8yLjAvY2NhY2hl L2xhbmd1YWdlL2JyYWluZnVjay9jb21waWxlLXRyZWUtaWwuZ28KLi9saWIvZ3VpbGUvMi4wL2Nj YWNoZS9sYW5ndWFnZS9icmFpbmZ1Y2svc3BlYy5nbwouL2xpYi9ndWlsZS8yLjAvY2NhY2hlL2xh bmd1YWdlL2JyYWluZnVjay9wYXJzZS5nbwouL2xpYi9ndWlsZS8yLjAvY2NhY2hlL2xhbmd1YWdl L2JyYWluZnVjay9jb21waWxlLXNjaGVtZS5nbwouL2xpYi9ndWlsZS8yLjAvY2NhY2hlL2xhbmd1 YWdlL29iamNvZGUvCi4vbGliL2d1aWxlLzIuMC9jY2FjaGUvbGFuZ3VhZ2Uvb2JqY29kZS9zcGVj LmdvCi4vbGliL2d1aWxlLzIuMC9jY2FjaGUvbGFuZ3VhZ2UvYnl0ZWNvZGUvCi4vbGliL2d1aWxl LzIuMC9jY2FjaGUvbGFuZ3VhZ2UvYnl0ZWNvZGUvc3BlYy5nbwouL2xpYi9ndWlsZS8yLjAvY2Nh Y2hlL2xhbmd1YWdlL2dsaWwvCi4vbGliL2d1aWxlLzIuMC9jY2FjaGUvbGFuZ3VhZ2UvZ2xpbC9j b21waWxlLWFzc2VtYmx5LmdvCi4vbGliL2d1aWxlLzIuMC9jY2FjaGUvbGFuZ3VhZ2UvZ2xpbC9z cGVjLmdvCi4vbGliL2d1aWxlLzIuMC9jY2FjaGUvbGFuZ3VhZ2UvdHJlZS1pbC8KLi9saWIvZ3Vp bGUvMi4wL2NjYWNoZS9sYW5ndWFnZS90cmVlLWlsL2RlYnVnLmdvCi4vbGliL2d1aWxlLzIuMC9j Y2FjaGUvbGFuZ3VhZ2UvdHJlZS1pbC9jb21waWxlLWdsaWwuZ28KLi9saWIvZ3VpbGUvMi4wL2Nj YWNoZS9sYW5ndWFnZS90cmVlLWlsL29wdGltaXplLmdvCi4vbGliL2d1aWxlLzIuMC9jY2FjaGUv bGFuZ3VhZ2UvdHJlZS1pbC9zcGVjLmdvCi4vbGliL2d1aWxlLzIuMC9jY2FjaGUvbGFuZ3VhZ2Uv dHJlZS1pbC9jYW5vbmljYWxpemUuZ28KLi9saWIvZ3VpbGUvMi4wL2NjYWNoZS9sYW5ndWFnZS90 cmVlLWlsL2lubGluZS5nbwouL2xpYi9ndWlsZS8yLjAvY2NhY2hlL2xhbmd1YWdlL3RyZWUtaWwv YW5hbHl6ZS5nbwouL2xpYi9ndWlsZS8yLjAvY2NhY2hlL2xhbmd1YWdlL3RyZWUtaWwvcGV2YWwu Z28KLi9saWIvZ3VpbGUvMi4wL2NjYWNoZS9sYW5ndWFnZS90cmVlLWlsL2NzZS5nbwouL2xpYi9n dWlsZS8yLjAvY2NhY2hlL2xhbmd1YWdlL3RyZWUtaWwvZml4LWxldHJlYy5nbwouL2xpYi9ndWls ZS8yLjAvY2NhY2hlL2xhbmd1YWdlL3RyZWUtaWwvZWZmZWN0cy5nbwouL2xpYi9ndWlsZS8yLjAv Y2NhY2hlL2xhbmd1YWdlL3RyZWUtaWwvcHJpbWl0aXZlcy5nbwouL2xpYi9ndWlsZS8yLjAvY2Nh Y2hlL2xhbmd1YWdlL2VjbWFzY3JpcHQvCi4vbGliL2d1aWxlLzIuMC9jY2FjaGUvbGFuZ3VhZ2Uv ZWNtYXNjcmlwdC9jb21waWxlLXRyZWUtaWwuZ28KLi9saWIvZ3VpbGUvMi4wL2NjYWNoZS9sYW5n dWFnZS9lY21hc2NyaXB0L3NwZWMuZ28KLi9saWIvZ3VpbGUvMi4wL2NjYWNoZS9sYW5ndWFnZS9l Y21hc2NyaXB0L3BhcnNlLmdvCi4vbGliL2d1aWxlLzIuMC9jY2FjaGUvbGFuZ3VhZ2UvZWNtYXNj cmlwdC90b2tlbml6ZS5nbwouL2xpYi9ndWlsZS8yLjAvY2NhY2hlL2xhbmd1YWdlL2VjbWFzY3Jp cHQvYXJyYXkuZ28KLi9saWIvZ3VpbGUvMi4wL2NjYWNoZS9sYW5ndWFnZS9lY21hc2NyaXB0L2lt cGwuZ28KLi9saWIvZ3VpbGUvMi4wL2NjYWNoZS9sYW5ndWFnZS9lY21hc2NyaXB0L2Z1bmN0aW9u LmdvCi4vbGliL2d1aWxlLzIuMC9jY2FjaGUvbGFuZ3VhZ2UvZWNtYXNjcmlwdC9iYXNlLmdvCi4v bGliL2d1aWxlLzIuMC9jY2FjaGUvbGFuZ3VhZ2UvdmFsdWUvCi4vbGliL2d1aWxlLzIuMC9jY2Fj aGUvbGFuZ3VhZ2UvdmFsdWUvc3BlYy5nbwouL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3dlYi8KLi9s aWIvZ3VpbGUvMi4wL2NjYWNoZS93ZWIvaHR0cC5nbwouL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3dl Yi9zZXJ2ZXIvCi4vbGliL2d1aWxlLzIuMC9jY2FjaGUvd2ViL3NlcnZlci9odHRwLmdvCi4vbGli L2d1aWxlLzIuMC9jY2FjaGUvd2ViL2NsaWVudC5nbwouL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3dl Yi9yZXF1ZXN0LmdvCi4vbGliL2d1aWxlLzIuMC9jY2FjaGUvd2ViL3NlcnZlci5nbwouL2xpYi9n dWlsZS8yLjAvY2NhY2hlL3dlYi91cmkuZ28KLi9saWIvZ3VpbGUvMi4wL2NjYWNoZS93ZWIvcmVz cG9uc2UuZ28KLi9saWIvZ3VpbGUvMi4wL2NjYWNoZS9vb3AvCi4vbGliL2d1aWxlLzIuMC9jY2Fj aGUvb29wL2dvb3BzLmdvCi4vbGliL2d1aWxlLzIuMC9jY2FjaGUvb29wL2dvb3BzLwouL2xpYi9n dWlsZS8yLjAvY2NhY2hlL29vcC9nb29wcy9jb21wb3NpdGUtc2xvdC5nbwouL2xpYi9ndWlsZS8y LjAvY2NhY2hlL29vcC9nb29wcy9pbnRlcm5hbC5nbwouL2xpYi9ndWlsZS8yLjAvY2NhY2hlL29v cC9nb29wcy9zdGtsb3MuZ28KLi9saWIvZ3VpbGUvMi4wL2NjYWNoZS9vb3AvZ29vcHMvc2F2ZS5n bwouL2xpYi9ndWlsZS8yLjAvY2NhY2hlL29vcC9nb29wcy9kaXNwYXRjaC5nbwouL2xpYi9ndWls ZS8yLjAvY2NhY2hlL29vcC9nb29wcy91dGlsLmdvCi4vbGliL2d1aWxlLzIuMC9jY2FjaGUvb29w L2dvb3BzL2FjdGl2ZS1zbG90LmdvCi4vbGliL2d1aWxlLzIuMC9jY2FjaGUvb29wL2dvb3BzL3Np bXBsZS5nbwouL2xpYi9ndWlsZS8yLjAvY2NhY2hlL29vcC9nb29wcy9kZXNjcmliZS5nbwouL2xp Yi9ndWlsZS8yLjAvY2NhY2hlL29vcC9nb29wcy9jb21waWxlLmdvCi4vbGliL2d1aWxlLzIuMC9j Y2FjaGUvb29wL2dvb3BzL2FjY2Vzc29ycy5nbwouL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3JucnMv Ci4vbGliL2d1aWxlLzIuMC9jY2FjaGUvcm5ycy9tdXRhYmxlLXBhaXJzLmdvCi4vbGliL2d1aWxl LzIuMC9jY2FjaGUvcm5ycy9jb250cm9sLmdvCi4vbGliL2d1aWxlLzIuMC9jY2FjaGUvcm5ycy9y ZWNvcmRzLwouL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3JucnMvcmVjb3Jkcy9wcm9jZWR1cmFsLmdv Ci4vbGliL2d1aWxlLzIuMC9jY2FjaGUvcm5ycy9yZWNvcmRzL3N5bnRhY3RpYy5nbwouL2xpYi9n dWlsZS8yLjAvY2NhY2hlL3JucnMvcmVjb3Jkcy9pbnNwZWN0aW9uLmdvCi4vbGliL2d1aWxlLzIu MC9jY2FjaGUvcm5ycy9hcml0aG1ldGljLwouL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3JucnMvYXJp dGhtZXRpYy9maXhudW1zLmdvCi4vbGliL2d1aWxlLzIuMC9jY2FjaGUvcm5ycy9hcml0aG1ldGlj L2JpdHdpc2UuZ28KLi9saWIvZ3VpbGUvMi4wL2NjYWNoZS9ybnJzL2FyaXRobWV0aWMvZmxvbnVt cy5nbwouL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3JucnMvZW51bXMuZ28KLi9saWIvZ3VpbGUvMi4w L2NjYWNoZS9ybnJzL3Byb2dyYW1zLmdvCi4vbGliL2d1aWxlLzIuMC9jY2FjaGUvcm5ycy9leGNl cHRpb25zLmdvCi4vbGliL2d1aWxlLzIuMC9jY2FjaGUvcm5ycy9maWxlcy5nbwouL2xpYi9ndWls ZS8yLjAvY2NhY2hlL3JucnMvc3ludGF4LWNhc2UuZ28KLi9saWIvZ3VpbGUvMi4wL2NjYWNoZS9y bnJzL2xpc3RzLmdvCi4vbGliL2d1aWxlLzIuMC9jY2FjaGUvcm5ycy9tdXRhYmxlLXN0cmluZ3Mu Z28KLi9saWIvZ3VpbGUvMi4wL2NjYWNoZS9ybnJzL3VuaWNvZGUuZ28KLi9saWIvZ3VpbGUvMi4w L2NjYWNoZS9ybnJzL3I1cnMuZ28KLi9saWIvZ3VpbGUvMi4wL2NjYWNoZS9ybnJzL2hhc2h0YWJs ZXMuZ28KLi9saWIvZ3VpbGUvMi4wL2NjYWNoZS9ybnJzL2V2YWwuZ28KLi9saWIvZ3VpbGUvMi4w L2NjYWNoZS9ybnJzL2NvbmRpdGlvbnMuZ28KLi9saWIvZ3VpbGUvMi4wL2NjYWNoZS9ybnJzL2J5 dGV2ZWN0b3JzLmdvCi4vbGliL2d1aWxlLzIuMC9jY2FjaGUvcm5ycy9zb3J0aW5nLmdvCi4vbGli L2d1aWxlLzIuMC9jY2FjaGUvcm5ycy9iYXNlLmdvCi4vbGliL2d1aWxlLzIuMC9jY2FjaGUvcm5y cy9pby8KLi9saWIvZ3VpbGUvMi4wL2NjYWNoZS9ybnJzL2lvL3BvcnRzLmdvCi4vbGliL2d1aWxl LzIuMC9jY2FjaGUvcm5ycy9pby9zaW1wbGUuZ28KLi9saWIvZ3VpbGUvMi4wL2NjYWNoZS9zeG1s LwouL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3N4bWwvdHJhbnNmb3JtLmdvCi4vbGliL2d1aWxlLzIu MC9jY2FjaGUvc3htbC9zc2F4LmdvCi4vbGliL2d1aWxlLzIuMC9jY2FjaGUvc3htbC9zaW1wbGUu Z28KLi9saWIvZ3VpbGUvMi4wL2NjYWNoZS9zeG1sL2FwcGx5LXRlbXBsYXRlcy5nbwouL2xpYi9n dWlsZS8yLjAvY2NhY2hlL3N4bWwveHBhdGguZ28KLi9saWIvZ3VpbGUvMi4wL2NjYWNoZS9zeG1s L21hdGNoLmdvCi4vbGliL2d1aWxlLzIuMC9jY2FjaGUvc3htbC9mb2xkLmdvCi4vbGliL2d1aWxl LzIuMC9jY2FjaGUvc3htbC9zc2F4LwouL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3N4bWwvc3NheC9p bnB1dC1wYXJzZS5nbwouL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3JucnMuZ28KLi9saWIvZ3VpbGUv Mi4wL2NjYWNoZS9zcmZpLwouL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3NyZmkvc3JmaS00LmdvCi4v bGliL2d1aWxlLzIuMC9jY2FjaGUvc3JmaS9zcmZpLTE0LmdvCi4vbGliL2d1aWxlLzIuMC9jY2Fj aGUvc3JmaS9zcmZpLTI2LmdvCi4vbGliL2d1aWxlLzIuMC9jY2FjaGUvc3JmaS9zcmZpLTE3Lmdv Ci4vbGliL2d1aWxlLzIuMC9jY2FjaGUvc3JmaS9zcmZpLTI3LmdvCi4vbGliL2d1aWxlLzIuMC9j Y2FjaGUvc3JmaS9zcmZpLTM4LmdvCi4vbGliL2d1aWxlLzIuMC9jY2FjaGUvc3JmaS9zcmZpLTM0 LmdvCi4vbGliL2d1aWxlLzIuMC9jY2FjaGUvc3JmaS9zcmZpLTEzLmdvCi4vbGliL2d1aWxlLzIu MC9jY2FjaGUvc3JmaS9zcmZpLTQxLmdvCi4vbGliL2d1aWxlLzIuMC9jY2FjaGUvc3JmaS9zcmZp LTE5LmdvCi4vbGliL2d1aWxlLzIuMC9jY2FjaGUvc3JmaS9zcmZpLTY3LmdvCi4vbGliL2d1aWxl LzIuMC9jY2FjaGUvc3JmaS9zcmZpLTkuZ28KLi9saWIvZ3VpbGUvMi4wL2NjYWNoZS9zcmZpL3Ny ZmktMi5nbwouL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3NyZmkvc3JmaS00LwouL2xpYi9ndWlsZS8y LjAvY2NhY2hlL3NyZmkvc3JmaS00L2dudS5nbwouL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3NyZmkv c3JmaS02MC5nbwouL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3NyZmkvc3JmaS0xMS5nbwouL2xpYi9n dWlsZS8yLjAvY2NhY2hlL3NyZmkvc3JmaS02OS5nbwouL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3Ny Zmkvc3JmaS02LmdvCi4vbGliL2d1aWxlLzIuMC9jY2FjaGUvc3JmaS9zcmZpLTM3LmdvCi4vbGli L2d1aWxlLzIuMC9jY2FjaGUvc3JmaS9zcmZpLTM5LmdvCi4vbGliL2d1aWxlLzIuMC9jY2FjaGUv c3JmaS9zcmZpLTEuZ28KLi9saWIvZ3VpbGUvMi4wL2NjYWNoZS9zcmZpL3NyZmktOC5nbwouL2xp Yi9ndWlsZS8yLjAvY2NhY2hlL3NyZmkvc3JmaS05LwouL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3Ny Zmkvc3JmaS05L2dudS5nbwouL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3NyZmkvc3JmaS00NS5nbwou L2xpYi9ndWlsZS8yLjAvY2NhY2hlL3NyZmkvc3JmaS00Mi5nbwouL2xpYi9ndWlsZS8yLjAvY2Nh Y2hlL3NyZmkvc3JmaS0xNi5nbwouL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3NyZmkvc3JmaS0zMS5n bwouL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3NyZmkvc3JmaS0xOC5nbwouL2xpYi9ndWlsZS8yLjAv Y2NhY2hlL3NyZmkvc3JmaS04OC5nbwouL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3NyZmkvc3JmaS0x MC5nbwouL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3NyZmkvc3JmaS0zNS5nbwouL2xpYi9ndWlsZS8y LjAvY2NhY2hlL3NyZmkvc3JmaS05OC5nbwouL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3RleGluZm8u Z28KLi9saWIvZ3VpbGUvMi4wL2NjYWNoZS9zdGF0cHJvZi5nbwouL2Jpbi8KLi9iaW4vZ3VpbGUK Z3VpbGUgKEdOVSBHdWlsZSkgMi4wLjkKQ29weXJpZ2h0IChDKSAyMDEzIEZyZWUgU29mdHdhcmUg Rm91bmRhdGlvbiwgSW5jLgoKTGljZW5zZSBMR1BMdjMrOiBHTlUgTEdQTCAzIG9yIGxhdGVyIDxo dHRwOi8vZ251Lm9yZy9saWNlbnNlcy9sZ3BsLmh0bWw+LgpUaGlzIGlzIGZyZWUgc29mdHdhcmU6 IHlvdSBhcmUgZnJlZSB0byBjaGFuZ2UgYW5kIHJlZGlzdHJpYnV0ZSBpdC4KVGhlcmUgaXMgTk8g V0FSUkFOVFksIHRvIHRoZSBleHRlbnQgcGVybWl0dGVkIGJ5IGxhdy4KQCBidWlsZC1zdWNjZWVk ZWQgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL2tuMGd4NW5hOGsybmlscTZjMzYyYm1hdnl3bmlsa2hx LWd1aWxlLWJvb3RzdHJhcC0yLjAuZHJ2IC0KQCBidWlsZC1zdGFydGVkIC90bXAvZ3VpeC10ZXN0 cy9zdG9yZS92Mjl2Yjc4bXZpbWwzN3ZpODExMXdwNzNrcDJqN2g2Ny1zbGVlcC10aGVuLXN1Y2Nl ZWQuZHJ2IC0geDg2XzY0LWxpbnV4IC90bXAvZ3VpeC10ZXN0cy92YXIvbG9nL2d1aXgvZHJ2cy92 Mi8vOXZiNzhtdmltbDM3dmk4MTExd3A3M2twMmo3aDY3LXNsZWVwLXRoZW4tc3VjY2VlZC5kcnYu YnoyCkAgYnVpbGQtc3VjY2VlZGVkIC90bXAvZ3VpeC10ZXN0cy9zdG9yZS92Mjl2Yjc4bXZpbWwz N3ZpODExMXdwNzNrcDJqN2g2Ny1zbGVlcC10aGVuLXN1Y2NlZWQuZHJ2IC0KQCBidWlsZC1zdGFy dGVkIC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9uenM4eXlqd2NsM2IzcHc3eXJ3dnNocTdrbTBzbHFx Zy1iYXIuZHJ2IC0geDg2XzY0LWxpbnV4IC90bXAvZ3VpeC10ZXN0cy92YXIvbG9nL2d1aXgvZHJ2 cy9uei8vczh5eWp3Y2wzYjNwdzd5cnd2c2hxN2ttMHNscXFnLWJhci5kcnYuYnoyCkAgYnVpbGQt c3VjY2VlZGVkIC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9uenM4eXlqd2NsM2IzcHc3eXJ3dnNocTdr bTBzbHFxZy1iYXIuZHJ2IC0KQCBidWlsZC1zdGFydGVkIC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83 YW1mZ2kxYjh5NjRja3lkejJ3NnNsMTI1YWpkemg2dy1mb28uZHJ2IC0geDg2XzY0LWxpbnV4IC90 bXAvZ3VpeC10ZXN0cy92YXIvbG9nL2d1aXgvZHJ2cy83YS8vbWZnaTFiOHk2NGNreWR6Mnc2c2wx MjVhamR6aDZ3LWZvby5kcnYuYnoyCkAgYnVpbGQtc3VjY2VlZGVkIC90bXAvZ3VpeC10ZXN0cy9z dG9yZS83YW1mZ2kxYjh5NjRja3lkejJ3NnNsMTI1YWpkemg2dy1mb28uZHJ2IC0KIih3aGlsZSBy ZWFkIGxpbmUgOyBkbyBlY2hvIFwiJGxpbmVcIiA7IGRvbmUpIDwgJGluID4gJG91dCIKKyAgICAg ICAgICAgICAgJygpKSkKKyAgICAgICAgICAoaW5wdXQgKHNlYXJjaC1wYXRoICVsb2FkLXBhdGgg ImljZS05L2Jvb3QtOS5zY20iKSkKKyAgICAgICAgICAoaW5wdXQqCisgICAgICAgICAgICAoYWRk LXRvLXN0b3JlCisgICAgICAgICAgICAgICVzdG9yZQorICAgICAgICAgICAgICAoYmFzZW5hbWUg aW5wdXQpCisgICAgICAgICAgICAgICN0CisgICAgICAgICAgICAgICJzaGEyNTYiCisgICAgICAg ICAgICAgIGlucHV0KSkKKyAgICAgICAgICAoZHJ2IChkZXJpdmF0aW9uCisgICAgICAgICAgICAg ICAgICVzdG9yZQorICAgICAgICAgICAgICAgICAiZGVyaXZhdGlvbi13aXRoLWlucHV0LWZpbGUi CisgICAgICAgICAgICAgICAgICViYXNoCisgICAgICAgICAgICAgICAgIGAoLGJ1aWxkZXIpCisg ICAgICAgICAgICAgICAgICM6ZW52LXZhcnMKKyAgICAgICAgICAgICAgICAgYCgoImluIiB1bnF1 b3RlIGlucHV0KikpCisgICAgICAgICAgICAgICAgICM6aW5wdXRzCisgICAgICAgICAgICAgICAg IGAoKCwlYmFzaCkgKCxidWlsZGVyKSAoLGlucHV0KSkpKSkKKyAgICAgKGFuZCAoYnVpbGQtZGVy aXZhdGlvbnMgJXN0b3JlIChsaXN0IGRydikpCisgICAgICAgICAgKHZhbGlkLXBhdGg/CisgICAg ICAgICAgICAlc3RvcmUKKyAgICAgICAgICAgIChkZXJpdmF0aW9uLT5vdXRwdXQtcGF0aCBkcnYp KSkpKQphY3R1YWwtdmFsdWU6ICN0CnJlc3VsdDogUEFTUwoKdGVzdC1uYW1lOiBkZXJpdmF0aW9u IGZhaWxzIGJ1dCBrZWVwIGdvaW5nCmxvY2F0aW9uOiAvdG1wL2d1aXgtYnVpbGQtZ3VpeC0wLjEz LjAtMTIuMGExNTRjMSsuZHJ2LTAvc291cmNlL3Rlc3RzL2Rlcml2YXRpb25zLnNjbToxNjUKc291 cmNlOgorICh0ZXN0LWFzc2VydAorICAgImRlcml2YXRpb24gZmFpbHMgYnV0IGtlZXAgZ29pbmci CisgICAod2l0aC1zdG9yZQorICAgICBzdG9yZQorICAgICAobGV0KiAoKGQxIChkZXJpdmF0aW9u CisgICAgICAgICAgICAgICAgICAlc3RvcmUKKyAgICAgICAgICAgICAgICAgICJmYWlscyIKKyAg ICAgICAgICAgICAgICAgICViYXNoCisgICAgICAgICAgICAgICAgICBgKCItYyIgImZhbHNlIikK KyAgICAgICAgICAgICAgICAgICM6aW5wdXRzCisgICAgICAgICAgICAgICAgICBgKCgsJWJhc2gp KSkpCisgICAgICAgICAgICAoZDIgKGJ1aWxkLWV4cHJlc3Npb24tPmRlcml2YXRpb24KKyAgICAg ICAgICAgICAgICAgICVzdG9yZQorICAgICAgICAgICAgICAgICAgInNsZWVwLXRoZW4tc3VjY2Vl ZCIKKyAgICAgICAgICAgICAgICAgIGAoYmVnaW4gLChyYW5kb20tdGV4dCkgKHNsZWVwIDIpICht a2RpciAlb3V0cHV0KSkpKSkKKyAgICAgICAoc2V0LWJ1aWxkLW9wdGlvbnMKKyAgICAgICAgICVz dG9yZQorICAgICAgICAgIzp1c2Utc3Vic3RpdHV0ZXM/CisgICAgICAgICAjZgorICAgICAgICAg IzprZWVwLWdvaW5nPworICAgICAgICAgI3QpCisgICAgICAgKGd1YXJkIChjICgobml4LXByb3Rv Y29sLWVycm9yPyBjKQorICAgICAgICAgICAgICAgICAgKGFuZCAoPSAxMDAgKG5peC1wcm90b2Nv bC1lcnJvci1zdGF0dXMgYykpCisgICAgICAgICAgICAgICAgICAgICAgIChzdHJpbmctY29udGFp bnMKKyAgICAgICAgICAgICAgICAgICAgICAgICAobml4LXByb3RvY29sLWVycm9yLW1lc3NhZ2Ug YykKKyAgICAgICAgICAgICAgICAgICAgICAgICAoZGVyaXZhdGlvbi1maWxlLW5hbWUgZDEpKQor ICAgICAgICAgICAgICAgICAgICAgICAobm90ICh2YWxpZC1wYXRoPyAlc3RvcmUgKGRlcml2YXRp b24tPm91dHB1dC1wYXRoIGQxKSkpCisgICAgICAgICAgICAgICAgICAgICAgICh2YWxpZC1wYXRo PyAlc3RvcmUgKGRlcml2YXRpb24tPm91dHB1dC1wYXRoIGQyKSkpKSkKKyAgICAgICAgICAgICAg KGJ1aWxkLWRlcml2YXRpb25zICVzdG9yZSAobGlzdCBkMSBkMikpCisgICAgICAgICAgICAgICNm KSkpKQphY3R1YWwtdmFsdWU6ICN0CnJlc3VsdDogUEFTUwoKdGVzdC1uYW1lOiBpZGVudGljYWwg ZmlsZXMgYXJlIGRlZHVwbGljYXRlZApsb2NhdGlvbjogL3RtcC9ndWl4LWJ1aWxkLWd1aXgtMC4x My4wLTEyLjBhMTU0YzErLmRydi0wL3NvdXJjZS90ZXN0cy9kZXJpdmF0aW9ucy5zY206MTkyCnNv dXJjZToKKyAodGVzdC1hc3NlcnQKKyAgICJpZGVudGljYWwgZmlsZXMgYXJlIGRlZHVwbGljYXRl ZCIKKyAgIChsZXQqICgoYnVpbGQxCisgICAgICAgICAgICAoYWRkLXRleHQtdG8tc3RvcmUKKyAg ICAgICAgICAgICAgJXN0b3JlCisgICAgICAgICAgICAgICJvbmUuc2giCisgICAgICAgICAgICAg ICJlY2hvIGhlbGxvLCB3b3JsZCA+IFwiJG91dFwiXG4iCisgICAgICAgICAgICAgICcoKSkpCisg ICAgICAgICAgKGJ1aWxkMgorICAgICAgICAgICAgKGFkZC10ZXh0LXRvLXN0b3JlCisgICAgICAg ICAgICAgICVzdG9yZQorICAgICAgICAgICAgICAidHdvLnNoIgorICAgICAgICAgICAgICAiIyBI ZXkhXG5lY2hvIGhlbGxvLCB3b3JsZCA+IFwiJG91dFwiXG4iCisgICAgICAgICAgICAgICcoKSkp CisgICAgICAgICAgKGRydjEgKGRlcml2YXRpb24KKyAgICAgICAgICAgICAgICAgICVzdG9yZQor ICAgICAgICAgICAgICAgICAgImZvbyIKKyAgICAgICAgICAgICAgICAgICViYXNoCisgICAgICAg ICAgICAgICAgICBgKCxidWlsZDEpCisgICAgICAgICAgICAgICAgICAjOmlucHV0cworICAgICAg ICAgICAgICAgICAgYCgoLCViYXNoKSAoLGJ1aWxkMSkpKSkKKyAgICAgICAgICAoZHJ2MiAoZGVy aXZhdGlvbgorICAgICAgICAgICAgICAgICAgJXN0b3JlCisgICAgICAgICAgICAgICAgICAiYmFy IgorICAgICAgICAgICAgICAgICAgJWJhc2gKKyAgICAgICAgICAgICAgICAgIGAoLGJ1aWxkMikK KyAgICAgICAgICAgICAgICAgICM6aW5wdXRzCisgICAgICAgICAgICAgICAgICBgKCgsJWJhc2gp ICgsYnVpbGQyKSkpKSkKKyAgICAgKGFuZCAoYnVpbGQtZGVyaXZhdGlvbnMgJXN0b3JlIChsaXN0 IGRydjEgZHJ2MikpCisgICAgICAgICAgKGxldCAoKGZpbGUxIChkZXJpdmF0aW9uLT5vdXRwdXQt cGF0aCBkcnYxKSkKKyAgICAgICAgICAgICAgICAoZmlsZTIgKGRlcml2YXRpb24tPm91dHB1dC1w YXRoIGRydjIpKSkKKyAgICAgICAgICAgIChhbmQgKHZhbGlkLXBhdGg/ICVzdG9yZSBmaWxlMSkK KyAgICAgICAgICAgICAgICAgKHZhbGlkLXBhdGg/ICVzdG9yZSBmaWxlMikKKyAgICAgICAgICAg ICAgICAgKHN0cmluZz0/CisgICAgICAgICAgICAgICAgICAgKGNhbGwtd2l0aC1pbnB1dC1maWxl IGZpbGUxIGdldC1zdHJpbmctYWxsKQorICAgICAgICAgICAgICAgICAgICJoZWxsbywgd29ybGRc biIpCisgICAgICAgICAgICAgICAgICg9IChzdGF0OmlubyAobHN0YXQgZmlsZTEpKQorICAgICAg ICAgICAgICAgICAgICAoc3RhdDppbm8gKGxzdGF0IGZpbGUyKSkpKSkpKSkKYWN0dWFsLXZhbHVl OiAjdApyZXN1bHQ6IFBBU1MKCnRlc3QtbmFtZTogYnVpbHQtaW4tYnVpbGRlcnMKbG9jYXRpb246 IC90bXAvZ3VpeC1idWlsZC1ndWl4LTAuMTMuMC0xMi4wYTE1NGMxKy5kcnYtMC9zb3VyY2UvdGVz dHMvZGVyaXZhdGlvbnMuc2NtOjIxNApzb3VyY2U6CisgKHRlc3QtZXF1YWwKKyAgICJidWlsdC1p bi1idWlsZGVycyIKKyAgICcoImRvd25sb2FkIikKKyAgIChidWlsdC1pbi1idWlsZGVycyAlc3Rv cmUpKQpleHBlY3RlZC12YWx1ZTogKCJkb3dubG9hZCIpCmFjdHVhbC12YWx1ZTogKCJkb3dubG9h ZCIpCnJlc3VsdDogUEFTUwoKdGVzdC1uYW1lOiB1bmtub3duIGJ1aWx0LWluIGJ1aWxkZXIKbG9j YXRpb246IC90bXAvZ3VpeC1idWlsZC1ndWl4LTAuMTMuMC0xMi4wYTE1NGMxKy5kcnYtMC9zb3Vy Y2UvdGVzdHMvZGVyaXZhdGlvbnMuc2NtOjIxOApzb3VyY2U6CisgKHRlc3QtYXNzZXJ0CisgICAi dW5rbm93biBidWlsdC1pbiBidWlsZGVyIgorICAgKGxldCAoKGRydiAoZGVyaXZhdGlvbgorICAg ICAgICAgICAgICAgICVzdG9yZQorICAgICAgICAgICAgICAgICJvaG9oIgorICAgICAgICAgICAg ICAgICJidWlsdGluOmRvZXMtbm90LWV4aXN0IgorICAgICAgICAgQCBidWlsZC1zdGFydGVkIC90 bXAvZ3VpeC10ZXN0cy9zdG9yZS85NmJuY3gwYTU1cnl5dmIyaTZ6OGk2cnljeHdscHdoZy1vaG9o LmRydiAtIHg4Nl82NC1saW51eCAvdG1wL2d1aXgtdGVzdHMvdmFyL2xvZy9ndWl4L2RydnMvOTYv L2JuY3gwYTU1cnl5dmIyaTZ6OGk2cnljeHdscHdoZy1vaG9oLmRydi5iejIKZXJyb3I6IHVuc3Vw cG9ydGVkIGJ1aWx0aW4gZnVuY3Rpb24gJ2RvZXMtbm90LWV4aXN0JwpidWlsZGVyIGZvciBgL3Rt cC9ndWl4LXRlc3RzL3N0b3JlLzk2Ym5jeDBhNTVyeXl2YjJpNno4aTZyeWN4d2xwd2hnLW9ob2gu ZHJ2JyBmYWlsZWQgd2l0aCBleGl0IGNvZGUgMQpAIGJ1aWxkLWZhaWxlZCAvdG1wL2d1aXgtdGVz dHMvc3RvcmUvOTZibmN4MGE1NXJ5eXZiMmk2ejhpNnJ5Y3h3bHB3aGctb2hvaC5kcnYgLSAxIGJ1 aWxkZXIgZm9yIGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvOTZibmN4MGE1NXJ5eXZiMmk2ejhpNnJ5 Y3h3bHB3aGctb2hvaC5kcnYnIGZhaWxlZCB3aXRoIGV4aXQgY29kZSAxCkAgYnVpbGQtc3RhcnRl ZCAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvYnhmeDB2aTM2bjdocWpkM3liaDBieWp6dmlrbXZuankt d29ybGQuZHJ2IC0geDg2XzY0LWxpbnV4IC90bXAvZ3VpeC10ZXN0cy92YXIvbG9nL2d1aXgvZHJ2 cy9ieC8vZngwdmkzNm43aHFqZDN5YmgwYnlqenZpa212bmp5LXdvcmxkLmRydi5iejIKClN0YXJ0 aW5nIGRvd25sb2FkIG9mIC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9xcDY5MHZsZzFyZ2tzMXdqNmNi MXFjaWppNzJsNmJocC13b3JsZApGcm9tIGh0dHA6Ly9sb2NhbGhvc3Q6MTA1MDAvZm9vL2Jhci4u LgoNG1tLIGJhciAgNjRCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMEIvcyAwMDow MCBbICAgICAgICAgICAgICAgICAgXSAgIDAuMCUNG1tLIGJhciAgNjRCICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAyNThLaUIvcyAwMDowMCBbIyMjIyMjIyMjIyMjIyMjIyMjXSAxMDAuMCUN G1tLIGJhciAgNjRCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNTFLaUIvcyAwMDowMCBb IyMjIyMjIyMjIyMjIyMjIyMjXSAxMDAuMCUKQCBidWlsZC1zdWNjZWVkZWQgL3RtcC9ndWl4LXRl c3RzL3N0b3JlL2J4ZngwdmkzNm43aHFqZDN5YmgwYnlqenZpa212bmp5LXdvcmxkLmRydiAtCkAg YnVpbGQtc3RhcnRlZCAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvOG5xOTJoa2s3cngzbG1ybXhteXZn YTg0bWFicHNxOWktd29ybGQuZHJ2IC0geDg2XzY0LWxpbnV4IC90bXAvZ3VpeC10ZXN0cy92YXIv bG9nL2d1aXgvZHJ2cy84bi8vcTkyaGtrN3J4M2xtcm14bXl2Z2E4NG1hYnBzcTlpLXdvcmxkLmRy di5iejIKClN0YXJ0aW5nIGRvd25sb2FkIG9mIC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9uY2x6a2Iy MDJsbmpwcThiaWRsemo4MzIyamMycWQ1Ni13b3JsZApGcm9tIGh0dHA6Ly9sb2NhbGhvc3Q6MTA1 MDAvZm9vL2Jhci4uLgoNG1tLIGJhciAgMTNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgMEIvcyAwMDowMCBbICAgICAgICAgICAgICAgICAgXSAgIDAuMCUNG1tLIGJhciAgMTNCICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgNTFLaUIvcyAwMDowMCBbIyMjIyMjIyMjIyMjIyMj IyMjXSAxMDAuMCUNG1tLIGJhciAgMTNCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzFL aUIvcyAwMDowMCBbIyMjIyMjIyMjIyMjIyMjIyMjXSAxMDAuMCUKc2hhMjU2IGhhc2ggbWlzbWF0 Y2ggZm9yIG91dHB1dCBwYXRoIGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvbmNsemtiMjAybG5qcHE4 YmlkbHpqODMyMmpjMnFkNTYtd29ybGQnCiAgZXhwZWN0ZWQ6IDExOXhqNjYwM2R3dmdtMDcxYnB3 aHhkcWFudjg4YnNhbGs2cjR5Znp5dmQwZjRhcjUxZ3gKICBhY3R1YWw6ICAgMGE3cGQzcml6bTFx YjNrejFhZDF3enJpanJod3NucTNsajdxcHJjODZ6cDZhNnI1ZHJrOApAIGJ1aWxkLWZhaWxlZCAv dG1wL2d1aXgtdGVzdHMvc3RvcmUvOG5xOTJoa2s3cngzbG1ybXhteXZnYTg0bWFicHNxOWktd29y bGQuZHJ2IC0gMSBzaGEyNTYgaGFzaCBtaXNtYXRjaCBmb3Igb3V0cHV0IHBhdGggYC90bXAvZ3Vp eC10ZXN0cy9zdG9yZS9uY2x6a2IyMDJsbmpwcThiaWRsemo4MzIyamMycWQ1Ni13b3JsZCcKICBl eHBlY3RlZDogMTE5eGo2NjAzZHd2Z20wNzFicHdoeGRxYW52ODhic2FsazZyNHlmenl2ZDBmNGFy NTFneAogIGFjdHVhbDogICAwYTdwZDNyaXptMXFiM2t6MWFkMXd6cmlqcmh3c25xM2xqN3FwcmM4 NnpwNmE2cjVkcms4CkAgYnVpbGQtc3RhcnRlZCAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvMmcyajdi bGQ2NTBtc21oZnNjcDZhdzIwa3M1YncxcTYtd2lsbC1uZXZlci1iZS1mb3VuZC5kcnYgLSB4ODZf NjQtbGludXggL3RtcC9ndWl4LXRlc3RzL3Zhci9sb2cvZ3VpeC9kcnZzLzJnLy8yajdibGQ2NTBt c21oZnNjcDZhdzIwa3M1YncxcTYtd2lsbC1uZXZlci1iZS1mb3VuZC5kcnYuYnoyCgpTdGFydGlu ZyBkb3dubG9hZCBvZiAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvM2I0a24zNzluMXpnamNrczZpNnF2 aWM5MzQ1eW02N2gtd2lsbC1uZXZlci1iZS1mb3VuZApGcm9tIGh0dHA6Ly9sb2NhbGhvc3Q6MTA1 MDAvZm9vL2Jhci4uLgpFUlJPUjogZG93bmxvYWQgZmFpbGVkICJodHRwOi8vbG9jYWxob3N0OjEw NTAwL2Zvby9iYXIiIDQwNCAiU3VjaCBpcyBsaWZlIgpmYWlsZWQgdG8gZG93bmxvYWQgIi90bXAv Z3VpeC10ZXN0cy9zdG9yZS8zYjRrbjM3OW4xemdqY2tzNmk2cXZpYzkzNDV5bTY3aC13aWxsLW5l dmVyLWJlLWZvdW5kIiBmcm9tICJodHRwOi8vbG9jYWxob3N0OjEwNTAwL2Zvby9iYXIiCmJ1aWxk ZXIgZm9yIGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvMmcyajdibGQ2NTBtc21oZnNjcDZhdzIwa3M1 YncxcTYtd2lsbC1uZXZlci1iZS1mb3VuZC5kcnYnIGZhaWxlZCB0byBwcm9kdWNlIG91dHB1dCBw YXRoIGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvM2I0a24zNzluMXpnamNrczZpNnF2aWM5MzQ1eW02 N2gtd2lsbC1uZXZlci1iZS1mb3VuZCcKQCBidWlsZC1mYWlsZWQgL3RtcC9ndWl4LXRlc3RzL3N0 b3JlLzJnMmo3YmxkNjUwbXNtaGZzY3A2YXcyMGtzNWJ3MXE2LXdpbGwtbmV2ZXItYmUtZm91bmQu ZHJ2IC0gMSBidWlsZGVyIGZvciBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzJnMmo3YmxkNjUwbXNt aGZzY3A2YXcyMGtzNWJ3MXE2LXdpbGwtbmV2ZXItYmUtZm91bmQuZHJ2JyBmYWlsZWQgdG8gcHJv ZHVjZSBvdXRwdXQgcGF0aCBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzNiNGtuMzc5bjF6Z2pja3M2 aTZxdmljOTM0NXltNjdoLXdpbGwtbmV2ZXItYmUtZm91bmQnCkAgYnVpbGQtc3RhcnRlZCAvdG1w L2d1aXgtdGVzdHMvc3RvcmUvNWhxdmJzaDNrYzBtZ2g0MXJkYTkwMmZrMHZxamNxMDEtd29ybGQu ZHJ2IC0geDg2XzY0LWxpbnV4IC90bXAvZ3VpeC10ZXN0cy92YXIvbG9nL2d1aXgvZHJ2cy81aC8v cXZic2gza2MwbWdoNDFyZGE5MDJmazB2cWpjcTAxLXdvcmxkLmRydi5iejIKZ3VpeCBwZXJmb3Jt LWRvd25sb2FkOiBlcnJvcjogL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzVocXZic2gza2MwbWdoNDFy ZGE5MDJmazB2cWpjcTAxLXdvcmxkLmRydiBpcyBub3QgYSBmaXhlZC1vdXRwdXQgZGVyaXZhdGlv bgpidWlsZGVyIGZvciBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzVocXZic2gza2MwbWdoNDFyZGE5 MDJmazB2cWpjcTAxLXdvcmxkLmRydicgZmFpbGVkIHdpdGggZXhpdCBjb2RlIDEKQCBidWlsZC1m YWlsZWQgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzVocXZic2gza2MwbWdoNDFyZGE5MDJmazB2cWpj cTAxLXdvcmxkLmRydiAtIDEgYnVpbGRlciBmb3IgYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS81aHF2 YnNoM2tjMG1naDQxcmRhOTAyZmswdnFqY3EwMS13b3JsZC5kcnYnIGZhaWxlZCB3aXRoIGV4aXQg Y29kZSAxCiAgICAgICAnKCkpKSkKKyAgICAgKGd1YXJkIChjICgobml4LXByb3RvY29sLWVycm9y PyBjKQorICAgICAgICAgICAgICAgIChzdHJpbmctY29udGFpbnMKKyAgICAgICAgICAgICAgICAg IChuaXgtcHJvdG9jb2wtZXJyb3ItbWVzc2FnZSBjKQorICAgICAgICAgICAgICAgICAgImZhaWxl ZCIpKSkKKyAgICAgICAgICAgIChidWlsZC1kZXJpdmF0aW9ucyAlc3RvcmUgKGxpc3QgZHJ2KSkK KyAgICAgICAgICAgICNmKSkpCmFjdHVhbC12YWx1ZTogNzUKcmVzdWx0OiBQQVNTCgp0ZXN0LW5h bWU6ICdkb3dubG9hZCcgYnVpbHQtaW4gYnVpbGRlcgpsb2NhdGlvbjogL3RtcC9ndWl4LWJ1aWxk LWd1aXgtMC4xMy4wLTEyLjBhMTU0YzErLmRydi0wL3NvdXJjZS90ZXN0cy9kZXJpdmF0aW9ucy5z Y206MjI3CnNvdXJjZToKKyAodGVzdC1hc3NlcnQKKyAgICInZG93bmxvYWQnIGJ1aWx0LWluIGJ1 aWxkZXIiCisgICAobGV0ICgodGV4dCAocmFuZG9tLXRleHQpKSkKKyAgICAgKHdpdGgtaHR0cC1z ZXJ2ZXIKKyAgICAgICAyMDAKKyAgICAgICB0ZXh0CisgICAgICAgKGxldCogKChkcnYgKGRlcml2 YXRpb24KKyAgICAgICAgICAgICAgICAgICAgICVzdG9yZQorICAgICAgICAgICAgICAgICAgICAg IndvcmxkIgorICAgICAgICAgICAgICAgICAgICAgImJ1aWx0aW46ZG93bmxvYWQiCisgICAgICAg ICAgICAgICAgICAgICAnKCkKKyAgICAgICAgICAgICAgICAgICAgICM6ZW52LXZhcnMKKyAgICAg ICAgICAgICAgICAgICAgIGAoKCJ1cmwiIHVucXVvdGUgKG9iamVjdC0+c3RyaW5nICglbG9jYWwt dXJsKSkpKQorICAgICAgICAgICAgICAgICAgICAgIzpoYXNoLWFsZ28KKyAgICAgICAgICAgICAg ICAgICAgICdzaGEyNTYKKyAgICAgICAgICAgICAgICAgICAgICM6aGFzaAorICAgICAgICAgICAg ICAgICAgICAgKHNoYTI1NiAoc3RyaW5nLT51dGY4IHRleHQpKSkpKQorICAgICAgICAgKGFuZCAo YnVpbGQtZGVyaXZhdGlvbnMgJXN0b3JlIChsaXN0IGRydikpCisgICAgICAgICAgICAgIChzdHJp bmc9PworICAgICAgICAgICAgICAgIChjYWxsLXdpdGgtaW5wdXQtZmlsZQorICAgICAgICAgICAg ICAgICAgKGRlcml2YXRpb24tPm91dHB1dC1wYXRoIGRydikKKyAgICAgICAgICAgICAgICAgIGdl dC1zdHJpbmctYWxsKQorICAgICAgICAgICAgICAgIHRleHQpKSkpKSkKYWN0dWFsLXZhbHVlOiAj dApyZXN1bHQ6IFBBU1MKCnRlc3QtbmFtZTogJ2Rvd25sb2FkJyBidWlsdC1pbiBidWlsZGVyLCBp bnZhbGlkIGhhc2gKbG9jYXRpb246IC90bXAvZ3VpeC1idWlsZC1ndWl4LTAuMTMuMC0xMi4wYTE1 NGMxKy5kcnYtMC9zb3VyY2UvdGVzdHMvZGVyaXZhdGlvbnMuc2NtOjI0Mwpzb3VyY2U6CisgKHRl c3QtYXNzZXJ0CisgICAiJ2Rvd25sb2FkJyBidWlsdC1pbiBidWlsZGVyLCBpbnZhbGlkIGhhc2gi CisgICAod2l0aC1odHRwLXNlcnZlcgorICAgICAyMDAKKyAgICAgImhlbGxvLCB3b3JsZCEiCisg ICAgIChsZXQqICgoZHJ2IChkZXJpdmF0aW9uCisgICAgICAgICAgICAgICAgICAgJXN0b3JlCisg ICAgICAgICAgICAgICAgICAgIndvcmxkIgorICAgICAgICAgICAgICAgICAgICJidWlsdGluOmRv d25sb2FkIgorICAgICAgICAgICAgICAgICAgICcoKQorICAgICAgICAgICAgICAgICAgICM6ZW52 LXZhcnMKKyAgICAgICAgICAgICAgICAgICBgKCgidXJsIiB1bnF1b3RlIChvYmplY3QtPnN0cmlu ZyAoJWxvY2FsLXVybCkpKSkKKyAgICAgICAgICAgICAgICAgICAjOmhhc2gtYWxnbworICAgICAg ICAgICAgICAgICAgICdzaGEyNTYKKyAgICAgICAgICAgICAgICAgICAjOmhhc2gKKyAgICAgICAg ICAgICAgICAgICAoc2hhMjU2IChyYW5kb20tYnl0ZXZlY3RvciAxMDApKSkpKQorICAgICAgIChn dWFyZCAoYyAoKG5peC1wcm90b2NvbC1lcnJvcj8gYykKKyAgICAgICAgICAgICAgICAgIChzdHJp bmctY29udGFpbnMKKyAgICAgICAgICAgICAgICAgICAgKG5peC1wcm90b2NvbC1lcnJvci1tZXNz YWdlIGMpCisgICAgICAgICAgICAgICAgICAgICJmYWlsZWQiKSkpCisgICAgICAgICAgICAgIChi dWlsZC1kZXJpdmF0aW9ucyAlc3RvcmUgKGxpc3QgZHJ2KSkKKyAgICAgICAgICAgICAgI2YpKSkp CmFjdHVhbC12YWx1ZTogNzYKcmVzdWx0OiBQQVNTCgp0ZXN0LW5hbWU6ICdkb3dubG9hZCcgYnVp bHQtaW4gYnVpbGRlciwgbm90IGZvdW5kCmxvY2F0aW9uOiAvdG1wL2d1aXgtYnVpbGQtZ3VpeC0w LjEzLjAtMTIuMGExNTRjMSsuZHJ2LTAvc291cmNlL3Rlc3RzL2Rlcml2YXRpb25zLnNjbToyNTgK c291cmNlOgorICh0ZXN0LWFzc2VydAorICAgIidkb3dubG9hZCcgYnVpbHQtaW4gYnVpbGRlciwg bm90IGZvdW5kIgorICAgKHdpdGgtaHR0cC1zZXJ2ZXIKKyAgICAgNDA0CisgICAgICJub3QgZm91 bmQiCisgICAgIChsZXQqICgoZHJ2IChkZXJpdmF0aW9uCisgICAgICAgICAgICAgICAgICAgJXN0 b3JlCisgICAgICAgICAgICAgICAgICAgIndpbGwtbmV2ZXItYmUtZm91bmQiCisgICAgICAgICAg ICAgICAgICAgImJ1aWx0aW46ZG93bmxvYWQiCisgICAgICAgICAgICAgICAgICAgJygpCisgICAg ICAgICAgICAgICAgICAgIzplbnYtdmFycworICAgICAgICAgICAgICAgICAgIGAoKCJ1cmwiIHVu cXVvdGUgKG9iamVjdC0+c3RyaW5nICglbG9jYWwtdXJsKSkpKQorICAgICAgICAgICAgICAgICAg ICM6aGFzaC1hbGdvCisgICAgICAgICAgICAgICAgICAgJ3NoYTI1NgorICAgICAgICAgICAgICAg ICAgICM6aGFzaAorICAgICAgICAgICAgICAgICAgIChzaGEyNTYgKHJhbmRvbS1ieXRldmVjdG9y IDEwMCkpKSkpCisgICAgICAgKGd1YXJkIChjICgobml4LXByb3RvY29sLWVycm9yPyBjKQorICAg ICAgICAgICAgICAgICAgKHN0cmluZy1jb250YWlucworICAgICAgICAgICAgICAgICAgICAobml4 LXByb3RvY29sLWVycm9yLW1lc3NhZ2UgKHBrIGMpKQorICAgICAgICAgICAgICAgICAgICAiZmFp bGVkIikpKQorICAgICAgICAgICAgICAoYnVpbGQtZGVyaXZhdGlvbnMgJXN0b3JlIChsaXN0IGRy dikpCisgICAgICAgICAgICAgICNmKSkpKQoKOzs7ICgjPGNvbmRpdGlvbiAmbml4LXByb3RvY29s LWVycm9yIFttZXNzYWdlOiAiYnVpbGQgb2YgYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS8yZzJqN2Js ZDY1MG1zbWhmc2NwNmF3MjBrczVidzFxNi13aWxsLW5ldmVyLWJlLWZvdW5kLmRydicgZmFpbGVk IiBzdGF0dXM6IDFdIDFjNTExMjA+KQphY3R1YWwtdmFsdWU6IDkwCnJlc3VsdDogUEFTUwoKdGVz dC1uYW1lOiAnZG93bmxvYWQnIGJ1aWx0LWluIGJ1aWxkZXIsIG5vdCBmaXhlZC1vdXRwdXQKbG9j YXRpb246IC90bXAvZ3VpeC1idWlsZC1ndWl4LTAuMTMuMC0xMi4wYTE1NGMxKy5kcnYtMC9zb3Vy Y2UvdGVzdHMvZGVyaXZhdGlvbnMuc2NtOjI3MQpzb3VyY2U6CisgKHRlc3QtYXNzZXJ0CisgICAi J2Rvd25sb2FkJyBidWlsdC1pbiBidWlsZGVyLCBub3QgZml4ZWQtb3V0cHV0IgorICAgKGxldCog KChzb3VyY2UgKGFkZC10ZXh0LXRvLXN0b3JlICVzdG9yZSAiaGVsbG8iICJoaSEiKSkKKyAgICAg ICAgICAodXJsIChzdHJpbmctYXBwZW5kICJmaWxlOi8vIiBzb3VyY2UpKQorICAgICAgICAgIChk cnYgKGRlcml2YXRpb24KKyAgICAgICAgICAgICAgICAgJXN0b3JlCisgICAgICAgICAgICAgICAg ICJ3b3JsZCIKKyAgICAgICAgICAgICAgICAgImJ1aWx0aW46ZG93bmxvYWQiCisgICAgICAgICAg ICAgICAgICcoKQorICAgICAgICAgICAgICAgICAjOmVudi12YXJzCisgICAgICAgICAgICAgICAg IGAoKCJ1cmwiIHVucXVvdGUgKG9iamVjdC0+c3RyaW5nIHVybCkpKSkpKQorICAgICAoZ3VhcmQg KGMgKChuaXgtcHJvdG9jb2wtZXJyb3I/IGMpCisgICAgICAgICAgICAgICAgKHN0cmluZy1jb250 YWlucworICAgICAgICAgICAgICAgICAgKG5peC1wcm90b2NvbC1lcnJvci1tZXNzYWdlIGMpCisg ICAgICAgICAgICAgICAgICAiZmFpbGVkIikpKQorICAgICAgICAgICAgKGJ1aWxkLWRlcml2YXRp b25zICVzdG9yZSAobGlzdCBkcnYpKQorICAgICAgICAgICAgI2YpKSkKYWN0dWFsLXZhbHVlOiA3 NgpyZXN1bHQ6IFBBU1MKCnRlc3QtbmFtZTogQCBidWlsZC1zdGFydGVkIC90bXAvZ3VpeC10ZXN0 cy9zdG9yZS9mZHY2emp3NWhocTh6bHd3dzBwNXExbjcyYWxocHB3YS13b3JsZC5kcnYgLSB4ODZf NjQtbGludXggL3RtcC9ndWl4LXRlc3RzL3Zhci9sb2cvZ3VpeC9kcnZzL2ZkLy92NnpqdzVoaHE4 emx3d3cwcDVxMW43MmFsaHBwd2Etd29ybGQuZHJ2LmJ6MgoKU3RhcnRpbmcgZG93bmxvYWQgb2Yg L3RtcC9ndWl4LXRlc3RzL3N0b3JlL2lzbnEzNTF5YWE2YW5weHBxbGhucGFtY2txeGMwdnkzLXdv cmxkCkZyb20gaHR0cDovL2xvY2FsaG9zdDoxMDUwMC9mb28vYmFyLi4uCg0bW0sgYmFyICA2NEIg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwQi9zIDAwOjAwIFsgICAgICAgICAgICAg ICAgICBdICAgMC4wJQ0bW0sgYmFyICA2NEIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDI0 MEtpQi9zIDAwOjAwIFsjIyMjIyMjIyMjIyMjIyMjIyNdIDEwMC4wJQ0bW0sgYmFyICA2NEIgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDE0NEtpQi9zIDAwOjAwIFsjIyMjIyMjIyMjIyMjIyMj IyNdIDEwMC4wJQpAIGJ1aWxkLXN1Y2NlZWRlZCAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvZmR2Nnpq dzVoaHE4emx3d3cwcDVxMW43MmFsaHBwd2Etd29ybGQuZHJ2IC0KQCBidWlsZC1zdGFydGVkIC90 bXAvZ3VpeC10ZXN0cy9zdG9yZS9mZHY2emp3NWhocTh6bHd3dzBwNXExbjcyYWxocHB3YS13b3Js ZC5kcnYgLSB4ODZfNjQtbGludXggL3RtcC9ndWl4LXRlc3RzL3Zhci9sb2cvZ3VpeC9kcnZzL2Zk Ly92NnpqdzVoaHE4emx3d3cwcDVxMW43MmFsaHBwd2Etd29ybGQuZHJ2LmJ6MgoKU3RhcnRpbmcg ZG93bmxvYWQgb2YgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzBrNHNnOTNmZjUydm45bm1ycG1pc2Y1 c2hsZmJkbHkyLXdvcmxkCkZyb20gaHR0cDovL2xvY2FsaG9zdDoxMDUwMC9mb28vYmFyLi4uCg0b W0sgYmFyICA2NEIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwQi9zIDAwOjAwIFsg ICAgICAgICAgICAgICAgICBdICAgMC4wJQ0bW0sgYmFyICA2NEIgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDI2M0tpQi9zIDAwOjAwIFsjIyMjIyMjIyMjIyMjIyMjIyNdIDEwMC4wJQ0bW0sg YmFyICA2NEIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE2MUtpQi9zIDAwOjAwIFsjIyMj IyMjIyMjIyMjIyMjIyNdIDEwMC4wJQp3YXJuaW5nOiByZXdyaXRpbmcgaGFzaGVzIGluIGAvdG1w L2d1aXgtdGVzdHMvc3RvcmUvaXNucTM1MXlhYTZhbnB4cHFsaG5wYW1ja3F4YzB2eTMtd29ybGQn OyBjcm9zcyBmaW5nZXJzCidkb3dubG9hZCcgYnVpbHQtaW4gYnVpbGRlciwgY2hlY2sgbW9kZQps b2NhdGlvbjogL3RtcC9ndWl4LWJ1aWxkLWd1aXgtMC4xMy4wLTEyLjBhMTU0YzErLmRydi0wL3Nv dXJjZS90ZXN0cy9kZXJpdmF0aW9ucy5zY206Mjg0CnNvdXJjZToKKyAodGVzdC1hc3NlcnQKKyAg ICInZG93bmxvYWQnIGJ1aWx0LWluIGJ1aWxkZXIsIGNoZWNrIG1vZGUiCisgICAobGV0KiAoKHRl eHQgKHJhbmRvbS10ZXh0KSkKKyAgICAgICAgICAoZHJ2IChkZXJpdmF0aW9uCisgICAgICAgICAg ICAgICAgICVzdG9yZQorICAgICAgICAgICAgICAgICAid29ybGQiCisgICAgICAgICAgICAgICAg ICJidWlsdGluOmRvd25sb2FkIgorICAgICAgICAgICAgICAgICAnKCkKKyAgICAgICAgICAgICAg ICAgIzplbnYtdmFycworICAgICAgICAgICAgICAgICBgKCgidXJsIiB1bnF1b3RlIChvYmplY3Qt PnN0cmluZyAoJWxvY2FsLXVybCkpKSkKKyAgICAgICAgICAgICAgICAgIzpoYXNoLWFsZ28KKyAg ICAgICAgICAgICAgICAgJ3NoYTI1NgorICAgICAgICAgICAgICAgICAjOmhhc2gKKyAgICAgICAg ICAgICAgICAgKHNoYTI1NiAoc3RyaW5nLT51dGY4IHRleHQpKSkpKQorICAgICAoYW5kICh3aXRo LWh0dHAtc2VydmVyCisgICAgICAgICAgICAyMDAKKyAgICAgICAgICAgIHRleHQKKyAgICAgICAg ICAgIChidWlsZC1kZXJpdmF0aW9ucyAlc3RvcmUgKGxpc3QgZHJ2KSkpCisgICAgICAgICAgKHdp dGgtaHR0cC1zZXJ2ZXIKKyAgICAgICAgICAgIDIwMAorICAgICAgICAgICAgdGV4dAorICAgICAg ICAgICAgKGJ1aWxkLWRlcml2YXRpb25zCisgICAgICAgICAgICAgICVzdG9yZQorICAgICAgICAg ICAgICAobGlzdCBkcnYpCisgICAgICAgICAgICAgIChidWlsZC1tb2RlIGNoZWNrKSkpCisgICAg ICAgICAgKHN0cmluZz0/CisgICAgICAgICAgICAoY2FsbC13aXRoLWlucHV0LWZpbGUKKyAgICAg ICAgICAgICAgKGRlcml2YXRpb24tPm91dHB1dC1wYXRoIGRydikKKyAgICAgICAgICAgICAgZ2V0 LXN0cmluZy1hbGwpCisgICAgICAgICAgICB0ZXh0KSkpKQphY3R1YWwtdmFsdWU6ICN0CnJlc3Vs dDogUEFTUwoKdGVzdC1uYW1lOiBkZXJpdmF0aW9uLW5hbWUKbG9jYXRpb246IC90bXAvZ3VpeC1i dWlsZC1ndWl4LTAuMTMuMC0xMi4wYTE1NGMxKy5kcnYtMC9zb3VyY2UvdGVzdHMvZGVyaXZhdGlv bnMuc2NtOjMwMwpzb3VyY2U6CisgKHRlc3QtZXF1YWwKKyAgICJkZXJpdmF0aW9uLW5hbWUiCisg ICAiZm9vLTAuMCIKKyAgIChsZXQgKChkcnYgKGRlcml2YXRpb24gJXN0b3JlICJmb28tMC4wIiAl YmFzaCAnKCkpKSkKKyAgICAgKGRlcml2YXRpb24tbmFtZSBkcnYpKSkKZXhwZWN0ZWQtdmFsdWU6 ICJmb28tMC4wIgphY3R1YWwtdmFsdWU6ICJmb28tMC4wIgpyZXN1bHQ6IFBBU1MKCnRlc3QtbmFt ZTogZGVyaXZhdGlvbi1vdXRwdXQtbmFtZXMKbG9jYXRpb246IC90bXAvZ3VpeC1idWlsZC1ndWl4 LTAuMTMuMC0xMi4wYTE1NGMxKy5kcnYtMC9zb3VyY2UvdGVzdHMvZGVyaXZhdGlvbnMuc2NtOjMw OApzb3VyY2U6CisgKHRlc3QtZXF1YWwKKyAgICJkZXJpdmF0aW9uLW91dHB1dC1uYW1lcyIKKyAg ICcoKCJvdXQiKSAoImJhciIgImNoYm91aWIiKSkKKyAgIChsZXQgKChkcnYxIChkZXJpdmF0aW9u ICVzdG9yZSAiZm9vLTAuMCIgJWJhc2ggJygpKSkKKyAgICAgICAgIChkcnYyIChkZXJpdmF0aW9u CisgICAgICAgICAgICAgICAgICVzdG9yZQorICAgICAgICAgICAgICAgICAiZm9vLTAuMCIKKyAg ICAgICAgICAgICAgICAgJWJhc2gKKyAgICAgICAgICAgICAgICAgJygpCisgICAgICAgICAgICAg ICAgICM6b3V0cHV0cworICAgICAgICAgICAgICAgICAnKCJiYXIiICJjaGJvdWliIikpKSkKKyAg ICAgKGxpc3QgKGRlcml2YXRpb24tb3V0cHV0LW5hbWVzIGRydjEpCisgICAgICAgICAgIChkZXJp dmF0aW9uLW91dHB1dC1uYW1lcyBkcnYyKSkpKQpleHBlY3RlZC12YWx1ZTogKCgib3V0IikgKCJi YXIiICJjaGJvdWliIikpCmFjdHVhbC12YWx1ZTogKCgib3V0IikgKCJiYXIiICJjaGJvdWliIikp CnJlc3VsdDogUEFTUwoKdGVzdC1uYW1lOiBvZmZsb2FkYWJsZS1kZXJpdmF0aW9uPwpsb2NhdGlv bjogL3RtcC9ndWl4LWJ1aWxkLWd1aXgtMC4xMy4wLTEyLjBhMTU0YzErLmRydi0wL3NvdXJjZS90 ZXN0cy9kZXJpdmF0aW9ucy5zY206MzE2CnNvdXJjZToKKyAodGVzdC1hc3NlcnQKKyAgICJvZmZs b2FkYWJsZS1kZXJpdmF0aW9uPyIKKyAgIChhbmQgKG9mZmxvYWRhYmxlLWRlcml2YXRpb24/Cisg ICAgICAgICAgKGRlcml2YXRpb24gJXN0b3JlICJmb28iICViYXNoICcoKSkpCisgICAgICAgIChv ZmZsb2FkYWJsZS1kZXJpdmF0aW9uPworICAgICAgICAgIChkZXJpdmF0aW9uCisgICAgICAgICAg ICAlc3RvcmUKKyAgICAgICAgICAgICJmb28iCisgICAgICAgICAgICAlYmFzaAorICAgICAgICAg ICAgJygpCisgICAgICAgICAgICAjOnN1YnN0aXR1dGFibGU/CisgICAgICAgICAgICAjZikpCisg ICAgICAgIChub3QgKG9mZmxvYWRhYmxlLWRlcml2YXRpb24/CisgICAgICAgICAgICAgICAoZGVy aXZhdGlvbgorICAgICAgICAgICAgICAgICAlc3RvcmUKKyAgICAgICAgICAgICAgICAgImZvbyIK KyAgICAgICAgICAgICAgICAgJWJhc2gKKyAgICAgICAgICAgICAgICAgJygpCisgICAgICAgICAg ICAgICAgICM6bG9jYWwtYnVpbGQ/CisgICAgICAgICAgICAgICAgICN0KSkpKSkKYWN0dWFsLXZh bHVlOiAjdApyZXN1bHQ6IFBBU1MKCnRlc3QtbmFtZTogc3Vic3RpdHV0YWJsZS1kZXJpdmF0aW9u Pwpsb2NhdGlvbjogL3RtcC9ndWl4LWJ1aWxkLWd1aXgtMC4xMy4wLTEyLjBhMTU0YzErLmRydi0w L3NvdXJjZS90ZXN0cy9kZXJpdmF0aW9ucy5zY206MzI1CnNvdXJjZToKKyAodGVzdC1hc3NlcnQK KyAgICJzdWJzdGl0dXRhYmxlLWRlcml2YXRpb24/IgorICAgKGFuZCAoc3Vic3RpdHV0YWJsZS1k ZXJpdmF0aW9uPworICAgICAgICAgIChkZXJpdmF0aW9uICVzdG9yZSAiZm9vIiAlYmFzaCAnKCkp KQorICAgICAgICAoc3Vic3RpdHV0YWJsZS1kZXJpdmF0aW9uPworICAgICAgICAgIChkZXJpdmF0 aW9uCisgICAgICAgICAgICAlc3RvcmUKKyAgICAgICAgICAgICJmb28iCisgICAgICAgICAgICAl YmFzaAorICAgICAgICAgICAgJygpCisgICAgICAgICAgICAjOmxvY2FsLWJ1aWxkPworICAgICAg ICAgICAgI3QpKQorICAgICAgICAobm90IChzdWJzdGl0dXRhYmxlLWRlcml2YXRpb24/CisgICAg ICAgICAgICAgICAoZGVyaXZhdGlvbgorICAgICAgICAgICAgICAgICAlc3RvcmUKKyAgICAgICAg ICAgICAgICAgImZvbyIKKyAgICAgICAgICAgICAgICAgJWJhc2gKKyAgICAgICAgICAgICAgICAg JygpCisgICAgICAgICAgICAgICAgICM6c3Vic3RpdHV0YWJsZT8KKyAgICAgICAgICAgICAgICAg I2YpKSkpKQphY3R1YWwtdmFsdWU6ICN0CnJlc3VsdDogUEFTUwoKdGVzdC1uYW1lOiBmaXhlZC1v dXRwdXQtZGVyaXZhdGlvbj8KbG9jYXRpb246IC90bXAvZ3VpeC1idWlsZC1ndWl4LTAuMTMuMC0x Mi4wYTE1NGMxKy5kcnYtMC9zb3VyY2UvdGVzdHMvZGVyaXZhdGlvbnMuc2NtOjMzNApzb3VyY2U6 CisgKHRlc3QtYXNzZXJ0CisgICAiZml4ZWQtb3V0cHV0LWRlcml2YXRpb24/IgorICAgKGxldCog KChidWlsZGVyCisgICAgICAgICAgICAoYWRkLXRleHQtdG8tc3RvcmUKKyAgICAgICAgICAgICAg JXN0b3JlCisgICAgICAgICAgICAgICJteS1maXhlZC1idWlsZGVyLnNoIgorICAgICAgICAgICAg ICAiZWNobyAtbiBoZWxsbyA+ICRvdXQiCisgICAgICAgICAgICAgICcoKSkpCisgICAgICAgICAg KGhhc2ggKHNoYTI1NiAoc3RyaW5nLT51dGY4ICJoZWxsbyIpKSkKKyAgICAgICAgICAoZHJ2IChk ZXJpdmF0aW9uCisgICAgICAgICAgICAgICAgICVzdG9yZQorICAgICAgICAgICAgICAgICAiZml4 ZWQiCisgICAgICAgICAgICAgICAgICViYXNoCisgICAgICAgICAgICAgICAgIGAoLGJ1aWxkZXIp CisgICAgICAgICAgICAgICAgICM6aW5wdXRzCisgICAgICAgICAgICAgICAgIGAoKCxidWlsZGVy KSkKKyAgICAgICAgICAgICAgICAgIzpoYXNoCisgICAgICAgICAgICAgICAgIGhhc2gKKyAgICAg ICAgIEAgYnVpbGQtc3RhcnRlZCAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvazRuaHpqamZrMWFjYmNw c3ZtMnloeGtqNWp2cW01OWwtZml4ZWQuZHJ2IC0geDg2XzY0LWxpbnV4IC90bXAvZ3VpeC10ZXN0 cy92YXIvbG9nL2d1aXgvZHJ2cy9rNC8vbmh6ampmazFhY2JjcHN2bTJ5aHhrajVqdnFtNTlsLWZp eGVkLmRydi5iejIKQCBidWlsZC1zdWNjZWVkZWQgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL2s0bmh6 ampmazFhY2JjcHN2bTJ5aHhrajVqdnFtNTlsLWZpeGVkLmRydiAtCkAgYnVpbGQtc3RhcnRlZCAv dG1wL2d1aXgtdGVzdHMvc3RvcmUvYjg1cXo2enJnMjJpaWxqNHdjdmphMnc2OXZ2enA5aHktZml4 ZWQtcmVjLmRydiAtIHg4Nl82NC1saW51eCAvdG1wL2d1aXgtdGVzdHMvdmFyL2xvZy9ndWl4L2Ry dnMvYjgvLzVxejZ6cmcyMmlpbGo0d2N2amEydzY5dnZ6cDloeS1maXhlZC1yZWMuZHJ2LmJ6MgpA IGJ1aWxkLXN1Y2NlZWRlZCAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvYjg1cXo2enJnMjJpaWxqNHdj dmphMnc2OXZ2enA5aHktZml4ZWQtcmVjLmRydiAtCiAgICAgICAgIzpoYXNoLWFsZ28KKyAgICAg ICAgICAgICAgICAgJ3NoYTI1NikpKQorICAgICAoZml4ZWQtb3V0cHV0LWRlcml2YXRpb24/IGRy dikpKQphY3R1YWwtdmFsdWU6ICN0CnJlc3VsdDogUEFTUwoKdGVzdC1uYW1lOiBmaXhlZC1vdXRw dXQgZGVyaXZhdGlvbgpsb2NhdGlvbjogL3RtcC9ndWl4LWJ1aWxkLWd1aXgtMC4xMy4wLTEyLjBh MTU0YzErLmRydi0wL3NvdXJjZS90ZXN0cy9kZXJpdmF0aW9ucy5zY206MzQ0CnNvdXJjZToKKyAo dGVzdC1hc3NlcnQKKyAgICJmaXhlZC1vdXRwdXQgZGVyaXZhdGlvbiIKKyAgIChsZXQqICgoYnVp bGRlcgorICAgICAgICAgICAgKGFkZC10ZXh0LXRvLXN0b3JlCisgICAgICAgICAgICAgICVzdG9y ZQorICAgICAgICAgICAgICAibXktZml4ZWQtYnVpbGRlci5zaCIKKyAgICAgICAgICAgICAgImVj aG8gLW4gaGVsbG8gPiAkb3V0IgorICAgICAgICAgICAgICAnKCkpKQorICAgICAgICAgIChoYXNo IChzaGEyNTYgKHN0cmluZy0+dXRmOCAiaGVsbG8iKSkpCisgICAgICAgICAgKGRydiAoZGVyaXZh dGlvbgorICAgICAgICAgICAgICAgICAlc3RvcmUKKyAgICAgICAgICAgICAgICAgImZpeGVkIgor ICAgICAgICAgICAgICAgICAlYmFzaAorICAgICAgICAgICAgICAgICBgKCxidWlsZGVyKQorICAg ICAgICAgICAgICAgICAjOmlucHV0cworICAgICAgICAgICAgICAgICBgKCgsYnVpbGRlcikpCisg ICAgICAgICAgICAgICAgICM6aGFzaAorICAgICAgICAgICAgICAgICBoYXNoCisgICAgICAgICAg ICAgICAgICM6aGFzaC1hbGdvCisgICAgICAgICAgICAgICAgICdzaGEyNTYpKQorICAgICAgICAg IChzdWNjZWVkZWQ/CisgICAgICAgICAgICAoYnVpbGQtZGVyaXZhdGlvbnMgJXN0b3JlIChsaXN0 IGRydikpKSkKKyAgICAgKGFuZCBzdWNjZWVkZWQ/CisgICAgICAgICAgKGxldCAoKHAgKGRlcml2 YXRpb24tPm91dHB1dC1wYXRoIGRydikpKQorICAgICAgICAgICAgKGFuZCAoZXF1YWw/CisgICAg ICAgICAgICAgICAgICAgKHN0cmluZy0+dXRmOCAiaGVsbG8iKQorICAgICAgICAgICAgICAgICAg IChjYWxsLXdpdGgtaW5wdXQtZmlsZSBwIGdldC1ieXRldmVjdG9yLWFsbCkpCisgICAgICAgICAg ICAgICAgIChieXRldmVjdG9yPyAocXVlcnktcGF0aC1oYXNoICVzdG9yZSBwKSkpKSkpKQphY3R1 YWwtdmFsdWU6ICN0CnJlc3VsdDogUEFTUwoKdGVzdC1uYW1lOiBmaXhlZC1vdXRwdXQgZGVyaXZh dGlvbjogb3V0cHV0IHBhdGhzIGFyZSBlcXVhbApsb2NhdGlvbjogL3RtcC9ndWl4LWJ1aWxkLWd1 aXgtMC4xMy4wLTEyLjBhMTU0YzErLmRydi0wL3NvdXJjZS90ZXN0cy9kZXJpdmF0aW9ucy5zY206 MzU5CnNvdXJjZToKKyAodGVzdC1hc3NlcnQKKyAgICJmaXhlZC1vdXRwdXQgZGVyaXZhdGlvbjog b3V0cHV0IHBhdGhzIGFyZSBlcXVhbCIKKyAgIChsZXQqICgoYnVpbGRlcjEKKyAgICAgICAgICAg IChhZGQtdGV4dC10by1zdG9yZQorICAgICAgICAgICAgICAlc3RvcmUKKyAgICAgICAgICAgICAg ImZpeGVkLWJ1aWxkZXIxLnNoIgorICAgICAgICAgICAgICAiZWNobyAtbiBoZWxsbyA+ICRvdXQi CisgICAgICAgICAgICAgICcoKSkpCisgICAgICAgICAgKGJ1aWxkZXIyCisgICAgICAgICAgICAo YWRkLXRleHQtdG8tc3RvcmUKKyAgICAgICAgICAgICAgJXN0b3JlCisgICAgICAgICAgICAgICJm aXhlZC1idWlsZGVyMi5zaCIKKyAgICAgICAgICAgICAgImVjaG8gaGV5OyBlY2hvIC1uIGhlbGxv ID4gJG91dCIKKyAgICAgICAgICAgICAgJygpKSkKKyAgICAgICAgICAoaGFzaCAoc2hhMjU2IChz dHJpbmctPnV0ZjggImhlbGxvIikpKQorICAgICAgICAgIChkcnYxIChkZXJpdmF0aW9uCisgICAg ICAgICAgICAgICAgICAlc3RvcmUKKyAgICAgICAgICAgICAgICAgICJmaXhlZCIKKyAgICAgICAg ICAgICAgICAgICViYXNoCisgICAgICAgICAgICAgICAgICBgKCxidWlsZGVyMSkKKyAgICAgICAg ICAgICAgICAgICM6aGFzaAorICAgICAgICAgICAgICAgICAgaGFzaAorICAgICAgICAgICAgICAg ICAgIzpoYXNoLWFsZ28KKyAgICAgICAgICAgICAgICAgICdzaGEyNTYpKQorICAgICAgICAgIChk cnYyIChkZXJpdmF0aW9uCisgICAgICAgICAgICAgICAgICAlc3RvcmUKKyAgICAgICAgICAgICAg ICAgICJmaXhlZCIKKyAgICAgICAgICAgICAgICAgICViYXNoCisgICAgICAgICAgICAgICAgICBg KCxidWlsZGVyMikKKyAgICAgICAgICAgICAgICAgICM6aGFzaAorICAgICAgICAgICAgICAgICAg aGFzaAorICAgICAgICAgICAgICAgICAgIzpoYXNoLWFsZ28KKyAgICAgICAgICAgICAgICAgICdz aGEyNTYpKQorICAgICAgICAgIChzdWNjZWVkZWQ/CisgICAgICAgICAgICAoYnVpbGQtZGVyaXZh dGlvbnMgJXN0b3JlIChsaXN0IGRydjEgZHJ2MikpKSkKKyAgICAgKGFuZCBzdWNjZWVkZWQ/Cisg ICAgICAgICAgKGVxdWFsPworICAgICAgICAgICAgKGRlcml2YXRpb24tPm91dHB1dC1wYXRoIGRy djEpCisgICAgICAgICAgICAoZGVyaXZhdGlvbi0+b3V0cHV0LXBhdGggZHJ2MikpKSkpCmFjdHVh bC12YWx1ZTogI3QKcmVzdWx0OiBQQVNTCgp0ZXN0LW5hbWU6IGZpeGVkLW91dHB1dCBkZXJpdmF0 aW9uLCByZWN1cnNpdmUKbG9jYXRpb246IC90bXAvZ3VpeC1idWlsZC1ndWl4LTAuMTMuMC0xMi4w YTE1NGMxKy5kcnYtMC9zb3VyY2UvdGVzdHMvZGVyaXZhdGlvbnMuc2NtOjM3Ngpzb3VyY2U6Cisg KHRlc3QtYXNzZXJ0CisgICAiZml4ZWQtb3V0cHV0IGRlcml2YXRpb24sIHJlY3Vyc2l2ZSIKKyAg IChsZXQqICgoYnVpbGRlcgorICAgICAgICAgICAgKGFkZC10ZXh0LXRvLXN0b3JlCisgICAgICAg ICAgICAgICVzdG9yZQorICAgICAgICAgICAgICAibXktZml4ZWQtYnVpbGRlci5zaCIKKyAgICAg ICAgICAgICAgImVjaG8gLW4gaGVsbG8gPiAkb3V0IgorICAgICAgICAgICAgICAnKCkpKQorICAg ICAgICAgIChoYXNoIChzaGEyNTYgKHN0cmluZy0+dXRmOCAiaGVsbG8iKSkpCisgICAgICAgICAg KGRydiAoZGVyaXZhdGlvbgorICAgICAgICAgICAgICAgICAlc3RvcmUKKyAgICAgICAgICAgICAg ICAgImZpeGVkLXJlYyIKKyAgICAgICAgICAgICAgICAgJWJhc2gKKyAgICAgICAgICAgICAgICAg YCgsYnVpbGRlcikKKyAgICAgICAgICAgICAgICAgIzppbnB1dHMKKyAgICAgICAgICAgICAgICAg YCgoLGJ1aWxkZXIpKQorICAgICAgICAgICAgICAgICAjOmhhc2gKKyAgICAgICAgICAgICAgICAg KGJhc2UzMgorICAgICAgICAgICAgICAgICAgICIwc2c5ZjU4bDFqajg4dzZwZHJmZHBqNXg5YjF6 cndzems4NGo4MXp2YnkzNnE5d2hoaHFhIikKKyAgICAgICAgICAgICAgICAgIzpoYXNoLWFsZ28K KyAgICAgICAgICAgICAgICAgJ3NoYTI1NgorICAgICAgICAgICAgICAgICAjOnJlY3Vyc2l2ZT8K KyAgICAgICAgICAgICAgICAgI3QpKQorICAgICAgICAgIChzdWNjZWVkZWQ/CisgICAgICAgICAg ICAoYnVpbGQtZGVyaXZhdGlvbnMgJXN0b3JlIChsaXN0IGRydikpKSkKKyAgICAgKGFuZCBzdWNj ZWVkZWQ/CisgICAgICAgICAgKGxldCAoKHAgKGRlcml2YXRpb24tPm91dHB1dC1wYXRoIGRydikp KQorICAgICAgICAgICAgKGFuZCAoZXF1YWw/CisgICAgICAgICAgICAgICAgICAgKHN0cmluZy0+ dXRmOCAiaGVsbG8iKQorICAgICAgICAgICAgICAgICAgIChjYWxsLXdpdGgtaW5wdXQtZmlsZSBw IGdldC1ieXRldmVjdG9yLWFsbCkpCisgICAgICAgICAgICAgICAgIChieXRldmVjdG9yPyAocXVl cnktcGF0aC1oYXNoICVzdG9yZSBwKSkpKSkpKQphY3R1YWwtdmFsdWU6ICN0CnJlc3VsdDogUEFT UwoKdGVzdC1uYW1lOiBkZXJpdmF0aW9uIHdpdGggYSBmaXhlZC1vdXRwdXQgaW5wdXQKbG9jYXRp b246IC90bXAvZ3VpeC1idWlsZC1ndWl4LTAuMTMuMC0xMi4wYTE1NGMxKy5kcnYtMC9zb3VyY2Uv dGVzdHMvZGVyaXZhdGlvbnMuc2NtOjM5Mwpzb3VyY2U6CisgKHRlc3QtYXNzZXJ0CisgICAiZGVy aXZhdGlvbiB3aXRoIGEgZml4ZWQtb3V0cHV0IGlucHV0IgorICAgKGxldCogKChidWlsZGVyMQor ICAgICAgICAgICAgKGFkZC10ZXh0LXRvLXN0b3JlCisgICAgICAgICAgICAgICVzdG9yZQorICAg ICAgICAgICAgICBAIGJ1aWxkLXN0YXJ0ZWQgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzJxM3E2cXMz d3ZpNWQ1djgwN2xnbjc2YWIwcTQzNDF2LWZpbmFsLmRydiAtIHg4Nl82NC1saW51eCAvdG1wL2d1 aXgtdGVzdHMvdmFyL2xvZy9ndWl4L2RydnMvMnEvLzNxNnFzM3d2aTVkNXY4MDdsZ243NmFiMHE0 MzQxdi1maW5hbC5kcnYuYnoyCi90bXAvZ3VpeC10ZXN0cy9zdG9yZS83YmRjZ2E0eGM5MTVwZ3pm NTI0eGhqazY3NzUyMXdoci1maXhlZApAIGJ1aWxkLXN1Y2NlZWRlZCAvdG1wL2d1aXgtdGVzdHMv c3RvcmUvMnEzcTZxczN3dmk1ZDV2ODA3bGduNzZhYjBxNDM0MXYtZmluYWwuZHJ2IC0KQCBidWls ZC1zdGFydGVkIC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9qZ3NicWJmMTBkbmZ5am15anNwaHg3MTV6 bmJuOHJodi1maXhlZC5kcnYgLSB4ODZfNjQtbGludXggL3RtcC9ndWl4LXRlc3RzL3Zhci9sb2cv Z3VpeC9kcnZzL2pnLy9zYnFiZjEwZG5meWpteWpzcGh4NzE1em5ibjhyaHYtZml4ZWQuZHJ2LmJ6 MgpAIGJ1aWxkLXN1Y2NlZWRlZCAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvamdzYnFiZjEwZG5meWpt eWpzcGh4NzE1em5ibjhyaHYtZml4ZWQuZHJ2IC0KImZpeGVkLWJ1aWxkZXIxLnNoIgorICAgICAg ICAgICAgICAiZWNobyAtbiBoZWxsbyA+ICRvdXQiCisgICAgICAgICAgICAgICcoKSkpCisgICAg ICAgICAgKGJ1aWxkZXIyCisgICAgICAgICAgICAoYWRkLXRleHQtdG8tc3RvcmUKKyAgICAgICAg ICAgICAgJXN0b3JlCisgICAgICAgICAgICAgICJmaXhlZC1idWlsZGVyMi5zaCIKKyAgICAgICAg ICAgICAgImVjaG8gaGV5OyBlY2hvIC1uIGhlbGxvID4gJG91dCIKKyAgICAgICAgICAgICAgJygp KSkKKyAgICAgICAgICAoaGFzaCAoc2hhMjU2IChzdHJpbmctPnV0ZjggImhlbGxvIikpKQorICAg ICAgICAgIChmaXhlZDEKKyAgICAgICAgICAgIChkZXJpdmF0aW9uCisgICAgICAgICAgICAgICVz dG9yZQorICAgICAgICAgICAgICAiZml4ZWQiCisgICAgICAgICAgICAgICViYXNoCisgICAgICAg ICAgICAgIGAoLGJ1aWxkZXIxKQorICAgICAgICAgICAgICAjOmhhc2gKKyAgICAgICAgICAgICAg aGFzaAorICAgICAgICAgICAgICAjOmhhc2gtYWxnbworICAgICAgICAgICAgICAnc2hhMjU2KSkK KyAgICAgICAgICAoZml4ZWQyCisgICAgICAgICAgICAoZGVyaXZhdGlvbgorICAgICAgICAgICAg ICAlc3RvcmUKKyAgICAgICAgICAgICAgImZpeGVkIgorICAgICAgICAgICAgICAlYmFzaAorICAg ICAgICAgICAgICBgKCxidWlsZGVyMikKKyAgICAgICAgICAgICAgIzpoYXNoCisgICAgICAgICAg ICAgIGhhc2gKKyAgICAgICAgICAgICAgIzpoYXNoLWFsZ28KKyAgICAgICAgICAgICAgJ3NoYTI1 NikpCisgICAgICAgICAgKGZpeGVkLW91dCAoZGVyaXZhdGlvbi0+b3V0cHV0LXBhdGggZml4ZWQx KSkKKyAgICAgICAgICAoYnVpbGRlcjMKKyAgICAgICAgICAgIChhZGQtdGV4dC10by1zdG9yZQor ICAgICAgICAgICAgICAlc3RvcmUKKyAgICAgICAgICAgICAgImZpbmFsLWJ1aWxkZXIuc2giCisg ICAgICAgICAgICAgICJlY2hvICRpbiA7IChyZWFkIC11IDMgYzsgZWNobyAkYykgMzwgJGluID4g JG91dCIKKyAgICAgICAgICAgICAgJygpKSkKKyAgICAgICAgICAoZmluYWwxCisgICAgICAgICAg ICAoZGVyaXZhdGlvbgorICAgICAgICAgICAgICAlc3RvcmUKKyAgICAgICAgICAgICAgImZpbmFs IgorICAgICAgICAgICAgICAlYmFzaAorICAgICAgICAgICAgICBgKCxidWlsZGVyMykKKyAgICAg ICAgICAgICAgIzplbnYtdmFycworICAgICAgICAgICAgICBgKCgiaW4iIHVucXVvdGUgZml4ZWQt b3V0KSkKKyAgICAgICAgICAgICAgIzppbnB1dHMKKyAgICAgICAgICAgICAgYCgoLCViYXNoKSAo LGJ1aWxkZXIzKSAoLGZpeGVkMSkpKSkKKyAgICAgICAgICAoZmluYWwyCisgICAgICAgICAgICAo ZGVyaXZhdGlvbgorICAgICAgICAgICAgICAlc3RvcmUKKyAgICAgICAgICAgICAgImZpbmFsIgor ICAgICAgICAgICAgICAlYmFzaAorICAgICAgICAgICAgICBgKCxidWlsZGVyMykKKyAgICAgICAg ICAgICAgIzplbnYtdmFycworICAgICAgICAgICAgICBgKCgiaW4iIHVucXVvdGUgZml4ZWQtb3V0 KSkKKyAgICAgICAgICAgICAgIzppbnB1dHMKKyAgICAgICAgICAgICAgYCgoLCViYXNoKSAoLGJ1 aWxkZXIzKSAoLGZpeGVkMikpKSkKKyAgICAgICAgICAoc3VjY2VlZGVkPworICAgICAgICAgICAg KGJ1aWxkLWRlcml2YXRpb25zICVzdG9yZSAobGlzdCBmaW5hbDEgZmluYWwyKSkpKQorICAgICAo YW5kIHN1Y2NlZWRlZD8KKyAgICAgICAgICAoZXF1YWw/CisgICAgICAgICAgICAoZGVyaXZhdGlv bi0+b3V0cHV0LXBhdGggZmluYWwxKQorICAgICAgICAgICAgKGRlcml2YXRpb24tPm91dHB1dC1w YXRoIGZpbmFsMikpKSkpCmFjdHVhbC12YWx1ZTogI3QKcmVzdWx0OiBQQVNTCgp0ZXN0LW5hbWU6 IG11bHRpcGxlLW91dHB1dCBkZXJpdmF0aW9uCmxvY2F0aW9uOiAvdG1wL2d1aXgtYnVpbGQtZ3Vp eC0wLjEzLjAtMTIuMGExNTRjMSsuZHJ2LTAvc291cmNlL3Rlc3RzL2Rlcml2YXRpb25zLnNjbTo0 MjcKc291cmNlOgorICh0ZXN0LWFzc2VydAorICAgIm11bHRpcGxlLW91dHB1dCBkZXJpdmF0aW9u IgorICAgKGxldCogKChidWlsZGVyCisgICAgICAgICAgICAoYWRkLXRleHQtdG8tc3RvcmUKKyAg ICAgICAgICAgICAgJXN0b3JlCisgICAgICAgICAgICAgICJteS1maXhlZC1idWlsZGVyLnNoIgor ICAgICAgICAgICAgICAiZWNobyBvbmUgPiAkb3V0IDsgZWNobyB0d28gPiAkc2Vjb25kIgorICAg ICAgICAgICAgICAnKCkpKQorICAgICAgICAgIChkcnYgKGRlcml2YXRpb24KKyAgICAgICAgICAg ICAgICAgJXN0b3JlCisgICAgICAgICAgICAgICAgICJmaXhlZCIKKyAgICAgICAgICAgICAgICAg JWJhc2gKKyAgICAgICAgICAgICAgICAgYCgsYnVpbGRlcikKKyAgICAgICAgICAgICAgICAgIzpl bnYtdmFycworICAgICAgICAgICAgICAgICAnKCgiSE9NRSIgLiAiL2hvbWVsZXNzIikKKyAgICAg ICAgICAgICAgICAgICAoInp6eiIgLiAiWiEiKQorICAgICAgICAgICAgICAgICAgICgiQUFBIiAu ICJBISIpKQorICAgICAgICAgICAgICAgICAjOmlucHV0cworICAgICAgICAgICAgICAgICBgKCgs JWJhc2gpICgsYnVpbGRlcikpCisgICAgICAgICAgICAgICAgICM6b3V0cHV0cworICAgICAgICAg ICAgICAgICAnKCJvdXQiICJzZWNvbmQiKSkpCisgICAgICAgICAgKHN1Y2NlZWRlZD8KKyAgICAg ICAgICAgIChidWlsZC1kZXJpdmF0aW9ucyAlc3RvcmUgKGxpc3QgZHJ2KSkpKQorICAgICAoYW5k IHN1Y2NlZWRlZD8KKyAgICAgICAgICAobGV0ICgob25lIChkZXJpdmF0aW9uLT5vdXRwdXQtcGF0 aCBkcnYgIm91dCIpKQorICAgICAgICAgICAgICAgICh0d28gKGRlcml2YXRpb24tPm91dHB1dC1w YXRoIGRydiAic2Vjb25kIikpKQorICAgICAgICAgICAgKGFuZCAobHNldD0gZXF1YWw/CisgICAg ICAgICAgICAgICAgICAgICAgICAoZGVyaXZhdGlvbi0+b3V0cHV0LXBhdGhzIGRydikKKyAgICAg ICAgICAgICAgICAgICAgICAgIGAoKCJvdXQiIHVucXVvdGUgb25lKSAoInNlY29uZCIgdW5xdW90 ZSB0d28pKSkKKyAgICAgICAgICAgICAgICAgKGVxPyAnb25lIChjYWxsLXdpdGgtaW5wdXQtZmls ZSBvbmUgcmVhZCkpCisgICAgICAgICAgICAgICAgIChlcT8gJ3R3byAoY2FsbC13aXRoLWlucHV0 LWZpbGUgdHdvIHJlYWQpKSkpKSkpCmFjdHVhbC12YWx1ZTogI3QKcmVzdWx0OiBQQVNTCgp0ZXN0 LW5hbWU6IG11bHRpcGxlLW91dHB1dCBkZXJpdmF0aW9uLCBub24tYWxwaGFiZXRpYyBvcmRlcgps b2NhdGlvbjogL3RtcC9ndWl4LWJ1aWxkLWd1aXgtMC4xMy4wLTEyLjBhMTU0YzErLmRydi0wL3Nv dXJjZS90ZXN0cy9kZXJpdmF0aW9ucy5zY206NDQ4CnNvdXJjZToKKyAodGVzdC1hc3NlcnQKKyAg ICJtdWx0aXBsZS1vdXRwdXQgZGVyaXZhdGlvbiwgbm9uLWFscGhhYmV0aWMgb3JkZXIiCisgICAo bGV0KiAoKGJ1aWxkZXIKKyAgICAgICAgICAgIChhZGQtdGV4dC10by1zdG9yZQorICAgICAgICAg ICAgICAlc3RvcmUKKyAgICAgICAgICAgICAgIm15LWZpeGVkLWJ1aWxkZXIuc2giCisgICAgICAg ICAgICAgICJlY2hvIG9uZSA+ICRvdXQgOyBlY2hvIHR3byA+ICRBQUEiCisgICAgICAgICAgICAg ICcoKSkpCisgICAgICAgICAgKGRydiAoZGVyaXZhdGlvbgorICAgICAgICAgICAgICAgICAlc3Rv cmUKKyAgICAgICAgICAgICAgICAgImZpeGVkIgorICAgICAgICAgICAgICAgICAlYmFzaAorICAg ICAgICAgICAgICAgICBgKCxidWlsZGVyKQorICAgICAgICAgICAgICAgICAjOmlucHV0cworICAg ICAgICAgICAgICAgICBgKCgsJWJhc2gpICgsYnVpbGRlcikpCisgICAgICAgICAgICAgICAgICM6 b3V0cHV0cworICAgICAgICAgICAgICAgICAnKCJvdXQiICJBQUEiKSkpCisgICAgICAgICAgKHN1 Y2NlZWRlZD8KKyAgICAgICAgICAgIChidWlsZC1kZXJpdmF0aW9ucyAlc3RvcmUgKGxpc3QgZHJ2 KSkpKQorICAgICAoYW5kIHN1Y2NlZWRlZD8KKyAgICAgICAgICAobGV0ICgob25lIChkZXJpdmF0 aW9uLT5vdXRwdXQtcGF0aCBkcnYgIm91dCIpKQorICAgICAgICAgICAgICAgICh0d28gKGRlcml2 YXRpb24tPm91dHB1dC1wYXRoIGRydiAiQUFBIikpKQorICAgICAgICAgICAgKGFuZCBAIGJ1aWxk LXN0YXJ0ZWQgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzFzOTZsanlybGxsdnA1YjkxczU2aTVoZHky Y2hoeXcyLWZpeGVkLmRydiAtIHg4Nl82NC1saW51eCAvdG1wL2d1aXgtdGVzdHMvdmFyL2xvZy9n dWl4L2RydnMvMXMvLzk2bGp5cmxsbHZwNWI5MXM1Nmk1aGR5MmNoaHl3Mi1maXhlZC5kcnYuYnoy CkAgYnVpbGQtc3VjY2VlZGVkIC90bXAvZ3VpeC10ZXN0cy9zdG9yZS8xczk2bGp5cmxsbHZwNWI5 MXM1Nmk1aGR5MmNoaHl3Mi1maXhlZC5kcnYgLQooZXE/ICdvbmUgKGNhbGwtd2l0aC1pbnB1dC1m aWxlIG9uZSByZWFkKSkKKyAgICAgICAgICAgICAgICAgKGVxPyAndHdvIChjYWxsLXdpdGgtaW5w dXQtZmlsZSB0d28gcmVhZCkpKSkpKSkKYWN0dWFsLXZhbHVlOiAjdApyZXN1bHQ6IFBBU1MKCnRl c3QtbmFtZTogcmVhZC1kZXJpdmF0aW9uIHZzLiBkZXJpdmF0aW9uCmxvY2F0aW9uOiAvdG1wL2d1 aXgtYnVpbGQtZ3VpeC0wLjEzLjAtMTIuMGExNTRjMSsuZHJ2LTAvc291cmNlL3Rlc3RzL2Rlcml2 YXRpb25zLnNjbTo0NjUKc291cmNlOgorICh0ZXN0LWFzc2VydAorICAgInJlYWQtZGVyaXZhdGlv biB2cy4gZGVyaXZhdGlvbiIKKyAgIChsZXQqICgoc291cmNlcworICAgICAgICAgICAgKHVuZm9s ZAorICAgICAgICAgICAgICAoY3V0ID49IDw+IDEwKQorICAgICAgICAgICAgICAobGFtYmRhIChu KQorICAgICAgICAgICAgICAgIChhZGQtdGV4dC10by1zdG9yZQorICAgICAgICAgICAgICAgICAg JXN0b3JlCisgICAgICAgICAgICAgICAgICAoZm9ybWF0ICNmICJpbnB1dH5hIiBuKQorICAgICAg ICAgICAgICAgICAgKHJhbmRvbS10ZXh0KSkpCisgICAgICAgICAgICAgICN7MSt9IworICAgICAg ICAgICAgICAwKSkKKyAgICAgICAgICAoaW5wdXRzCisgICAgICAgICAgICAobWFwIChsYW1iZGEg KGZpbGUpCisgICAgICAgICAgICAgICAgICAgKGRlcml2YXRpb24KKyAgICAgICAgICAgICAgICAg ICAgICVzdG9yZQorICAgICAgICAgICAgICAgICAgICAgImRlcml2YXRpb24taW5wdXQiCisgICAg ICAgICAgICAgICAgICAgICAlYmFzaAorICAgICAgICAgICAgICAgICAgICAgJygpCisgICAgICAg ICAgICAgICAgICAgICAjOmlucHV0cworICAgICAgICAgICAgICAgICAgICAgYCgoLCViYXNoKSAo LGZpbGUpKSkpCisgICAgICAgICAgICAgICAgIHNvdXJjZXMpKQorICAgICAgICAgIChidWlsZGVy CisgICAgICAgICAgICAoYWRkLXRleHQtdG8tc3RvcmUKKyAgICAgICAgICAgICAgJXN0b3JlCisg ICAgICAgICAgICAgICJidWlsZGVyLnNoIgorICAgICAgICAgICAgICAiZWNobyBvbmUgPiAkb25l IDsgZWNobyB0d28gPiAkdHdvIgorICAgICAgICAgICAgICAnKCkpKQorICAgICAgICAgIChkcnYg KGRlcml2YXRpb24KKyAgICAgICAgICAgICAgICAgJXN0b3JlCisgICAgICAgICAgICAgICAgICJk ZXJpdmF0aW9uIgorICAgICAgICAgICAgICAgICAlYmFzaAorICAgICAgICAgICAgICAgICBgKCxi dWlsZGVyKQorICAgICAgICAgICAgICAgICAjOmlucHV0cworICAgICAgICAgICAgICAgICBgKCgs JWJhc2gpCisgICAgICAgICAgICAgICAgICAgKCxidWlsZGVyKQorICAgICAgICAgICAgICAgICAg ICxAKG1hcCBsaXN0IChhcHBlbmQgc291cmNlcyBpbnB1dHMpKSkKKyAgICAgICAgICAgICAgICAg IzpvdXRwdXRzCisgICAgICAgICAgICAgICAgICcoInR3byIgIm9uZSIpKSkKKyAgICAgICAgICAo ZHJ2KiAoY2FsbC13aXRoLWlucHV0LWZpbGUKKyAgICAgICAgICAgICAgICAgIChkZXJpdmF0aW9u LWZpbGUtbmFtZSBkcnYpCisgICAgICAgICAgICAgICAgICByZWFkLWRlcml2YXRpb24pKSkKKyAg ICAgKGVxdWFsPyBkcnYqIGRydikpKQphY3R1YWwtdmFsdWU6ICN0CnJlc3VsdDogUEFTUwoKdGVz dC1uYW1lOiBtdWx0aXBsZS1vdXRwdXQgZGVyaXZhdGlvbiwgZGVyaXZhdGlvbi1wYXRoLT5vdXRw dXQtcGF0aApsb2NhdGlvbjogL3RtcC9ndWl4LWJ1aWxkLWd1aXgtMC4xMy4wLTEyLjBhMTU0YzEr LmRydi0wL3NvdXJjZS90ZXN0cy9kZXJpdmF0aW9ucy5zY206NDkyCnNvdXJjZToKKyAodGVzdC1h c3NlcnQKKyAgICJtdWx0aXBsZS1vdXRwdXQgZGVyaXZhdGlvbiwgZGVyaXZhdGlvbi1wYXRoLT5v dXRwdXQtcGF0aCIKKyAgIChsZXQqICgoYnVpbGRlcgorICAgICAgICAgICAgKGFkZC10ZXh0LXRv LXN0b3JlCisgICAgICAgICAgICAgICVzdG9yZQorICAgICAgICAgICAgICAiYnVpbGRlci5zaCIK KyAgICAgICAgICAgICAgImVjaG8gb25lID4gJG91dCA7IGVjaG8gdHdvID4gJHNlY29uZCIKKyAg ICAgICAgICAgICAgJygpKSkKKyAgICAgICAgICAoZHJ2IChkZXJpdmF0aW9uCisgICAgICAgICAg ICAgICAgICVzdG9yZQorICAgICAgICAgICAgICAgICAibXVsdGlwbGUiCisgICAgICAgICAgICAg ICAgICViYXNoCisgICAgICAgICAgICAgICAgIGAoLGJ1aWxkZXIpCisgICAgICAgICAgICAgICAg ICM6b3V0cHV0cworICAgICAgICAgICAgICAgICAnKCJvdXQiICJzZWNvbmQiKSkpCisgICAgICAg ICAgKGRydi1maWxlIChkZXJpdmF0aW9uLWZpbGUtbmFtZSBkcnYpKQorICAgICAgICAgIChvbmUg KGRlcml2YXRpb24tPm91dHB1dC1wYXRoIGRydiAib3V0IikpCisgICAgICAgICAgKHR3byAoZGVy aXZhdGlvbi0+b3V0cHV0LXBhdGggZHJ2ICJzZWNvbmQiKSkKKyAgICAgICAgICAoZmlyc3QgKGRl cml2YXRpb24tcGF0aC0+b3V0cHV0LXBhdGggZHJ2LWZpbGUgIm91dCIpKQorICAgICAgICAgIChz ZWNvbmQKKyAgICAgICAgICAgIChkZXJpdmF0aW9uLXBhdGgtPm91dHB1dC1wYXRoIGRydi1maWxl ICJzZWNvbmQiKSkpCisgICAgIChhbmQgKG5vdCAoc3RyaW5nPT8gb25lIHR3bykpCisgICAgICAg ICAgKHN0cmluZy1zdWZmaXg/ICItc2Vjb25kIiB0d28pCisgICAgICAgICAgKHN0cmluZz0/IGZp cnN0IG9uZSkKKyAgICAgICAgICAoc3RyaW5nPT8gc2Vjb25kIHR3bykpKSkKYWN0dWFsLXZhbHVl OiAjdApyZXN1bHQ6IFBBU1MKCnRlc3QtbmFtZTogdXNlciBvZiBtdWx0aXBsZS1vdXRwdXQgZGVy aXZhdGlvbgpsb2NhdGlvbjogL3RtcC9ndWl4LWJ1aWxkLWd1aXgtMC4xMy4wLTEyLjBhMTU0YzEr LmRydi0wL3NvdXJjZS90ZXN0cy9kZXJpdmF0aW9ucy5zY206NTA5CnNvdXJjZToKKyAodGVzdC1h c3NlcnQKKyAgICJ1c2VyIG9mIG11bHRpcGxlLW91dHB1dCBkZXJpdmF0aW9uIgorICAgKGxldCog KChidWlsZGVyMQorICAgICAgICAgICAgKGFkZC10ZXh0LXRvLXN0b3JlCisgICAgICAgICAgICAg ICVzdG9yZQorICAgICAgICAgICAgICAibXktbW8tYnVpbGRlci5zaCIKKyAgICAgICAgICAgICAg ImVjaG8gb25lID4gJG91dCA7IGVjaG8gdHdvID4gJHR3byIKKyAgICAgICAgICAgICAgJygpKSkK KyAgICAgICAgICAobWRydiAoZGVyaXZhdGlvbgorICAgICAgICAgICAgICAgICAgJXN0b3JlCisg ICAgICAgICAgICAgICAgICAibXVsdGlwbGUtb3V0cHV0IgorICAgICAgICAgICAgICAgICAgJWJh c2gKKyAgICAgICAgICAgICAgICAgIGAoLGJ1aWxkZXIxKQorICAgICAgICAgICAgICAgICAgIzpp bnB1dHMKKyAgICAgICAgICAgICAgICAgIGAoKCwlYmFzaCkgKCxidWlsZGVyMSkpCisgICAgICAg ICAgICAgICAgICAjOm91dHB1dHMKKyAgICAgICAgICAgICAgICAgICcoIm91dCIgInR3byIpKSkK KyAgICAgICAgICAoYnVpbGRlcjIKKyAgICAgICAgICAgIChhZGQtdGV4dC10by1zdG9yZQorICAg ICAgICAgICAgICAlc3RvcmUKKyAgICAgICAgICAgICAgIm15LW1vLXVzZXItYnVpbGRlci5zaCIK KyAgICAgICAgICAgICAgInJlYWQgeCA8ICRvbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHJlYWQgeSA8ICR0d287XG4gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGVjaG8gXCIoJHggJHkpXCIgPiAkb3V0IgorICAgICAgICAgICAgICAn KCkpKQorICAgICAgICAgICh1ZHJ2IChkZXJpdmF0aW9uCisgICAgICAgICAgICAgICAgICAlc3Rv cmUKKyAgICAgICAgICAgICAgICAgICJtdWx0aXBsZS1vdXRwdXQtdXNlciIKKyAgICAgICAgICAg ICAgICAgICViYXNoCisgICAgICAgICAgICAgICAgICBgKCxidWlsZGVyMikKKyAgICAgICAgICAg ICAgICAgICM6ZW52LXZhcnMKKyAgICAgICAgICAgICAgICAgIGAoKCJvbmUiCisgICAgICAgICAg ICAgICAgICAgICB1bnF1b3RlCisgICAgICAgICAgICAgICAgICAgICAoZGVyaXZhdGlvbi0+b3V0 cHV0LXBhdGggbWRydiAib3V0IikpCisgICAgICAgICAgICAgICAgICAgICgidHdvIgorICAgICAg ICAgICAgICAgICAgICAgdW5xdW90ZQorICAgICAgICAgICAgICAgICAgICAgQCBidWlsZC1zdGFy dGVkIC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9pcnlmOGg1YWt5eTAycWQzZGQ5cHMxa2EwMjZjeWFu ei1tdWx0aXBsZS1vdXRwdXQuZHJ2IC0geDg2XzY0LWxpbnV4IC90bXAvZ3VpeC10ZXN0cy92YXIv bG9nL2d1aXgvZHJ2cy9pci8veWY4aDVha3l5MDJxZDNkZDlwczFrYTAyNmN5YW56LW11bHRpcGxl LW91dHB1dC5kcnYuYnoyCkAgYnVpbGQtc3VjY2VlZGVkIC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9p cnlmOGg1YWt5eTAycWQzZGQ5cHMxa2EwMjZjeWFuei1tdWx0aXBsZS1vdXRwdXQuZHJ2IC0KQCBi dWlsZC1zdGFydGVkIC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9kMWlxMTZjeHpnbHh3bXY0Nzhwazl2 aWljMHZtMGNhMi1tdWx0aXBsZS1vdXRwdXQtdXNlci5kcnYgLSB4ODZfNjQtbGludXggL3RtcC9n dWl4LXRlc3RzL3Zhci9sb2cvZ3VpeC9kcnZzL2QxLy9pcTE2Y3h6Z2x4d212NDc4cGs5dmlpYzB2 bTBjYTItbXVsdGlwbGUtb3V0cHV0LXVzZXIuZHJ2LmJ6MgpAIGJ1aWxkLXN1Y2NlZWRlZCAvdG1w L2d1aXgtdGVzdHMvc3RvcmUvZDFpcTE2Y3h6Z2x4d212NDc4cGs5dmlpYzB2bTBjYTItbXVsdGlw bGUtb3V0cHV0LXVzZXIuZHJ2IC0KQCBidWlsZC1zdGFydGVkIC90bXAvZ3VpeC10ZXN0cy9zdG9y ZS9tYmk3Z2owbmxja2t6NXhjaHphNnJsNXZ3c255Ymg3My1jbG9zdXJlLWdyYXBocy5kcnYgLSB4 ODZfNjQtbGludXggL3RtcC9ndWl4LXRlc3RzL3Zhci9sb2cvZ3VpeC9kcnZzL21iLy9pN2dqMG5s Y2trejV4Y2h6YTZybDV2d3NueWJoNzMtY2xvc3VyZS1ncmFwaHMuZHJ2LmJ6MgpAIGJ1aWxkLXN1 Y2NlZWRlZCAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvbWJpN2dqMG5sY2trejV4Y2h6YTZybDV2d3Nu eWJoNzMtY2xvc3VyZS1ncmFwaHMuZHJ2IC0KQCBidWlsZC1zdGFydGVkIC90bXAvZ3VpeC10ZXN0 cy9zdG9yZS9xNHdoOTNqMWk4NHNucng1MWFsMjMxd25qNGc1aTk5Yi1hbGxvd2VkLmRydiAtIHg4 Nl82NC1saW51eCAvdG1wL2d1aXgtdGVzdHMvdmFyL2xvZy9ndWl4L2RydnMvcTQvL3doOTNqMWk4 NHNucng1MWFsMjMxd25qNGc1aTk5Yi1hbGxvd2VkLmRydi5iejIKQCBidWlsZC1zdWNjZWVkZWQg L3RtcC9ndWl4LXRlc3RzL3N0b3JlL3E0d2g5M2oxaTg0c25yeDUxYWwyMzF3bmo0ZzVpOTliLWFs bG93ZWQuZHJ2IC0KKGRlcml2YXRpb24tPm91dHB1dC1wYXRoIG1kcnYgInR3byIpKSkKKyAgICAg ICAgICAgICAgICAgICM6aW5wdXRzCisgICAgICAgICAgICAgICAgICBgKCgsJWJhc2gpICgsYnVp bGRlcjIpICgsbWRydikgKCxtZHJ2ICJ0d28iKSkpKSkKKyAgICAgKGFuZCAoYnVpbGQtZGVyaXZh dGlvbnMgJXN0b3JlIChsaXN0IChwayAndWRydiB1ZHJ2KSkpCisgICAgICAgICAgKGxldCAoKHAg KGRlcml2YXRpb24tPm91dHB1dC1wYXRoIHVkcnYpKSkKKyAgICAgICAgICAgIChhbmQgKHZhbGlk LXBhdGg/ICVzdG9yZSBwKQorICAgICAgICAgICAgICAgICAoZXF1YWw/ICcob25lIHR3bykgKGNh bGwtd2l0aC1pbnB1dC1maWxlIHAgcmVhZCkpKSkpKSkKCjs7OyAodWRydiAjPGRlcml2YXRpb24g L3RtcC9ndWl4LXRlc3RzL3N0b3JlL2QxaXExNmN4emdseHdtdjQ3OHBrOXZpaWMwdm0wY2EyLW11 bHRpcGxlLW91dHB1dC11c2VyLmRydiA9PiAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvMDFzaWI2eXlk anlpZnFtOGlzODJsOHE0eHI2Zzg0bHgtbXVsdGlwbGUtb3V0cHV0LXVzZXIgMjljODkxMD4pCmFj dHVhbC12YWx1ZTogI3QKcmVzdWx0OiBQQVNTCgp0ZXN0LW5hbWU6IGRlcml2YXRpb24gd2l0aCAj OnJlZmVyZW5jZXMtZ3JhcGhzCmxvY2F0aW9uOiAvdG1wL2d1aXgtYnVpbGQtZ3VpeC0wLjEzLjAt MTIuMGExNTRjMSsuZHJ2LTAvc291cmNlL3Rlc3RzL2Rlcml2YXRpb25zLnNjbTo1NDIKc291cmNl OgorICh0ZXN0LWFzc2VydAorICAgImRlcml2YXRpb24gd2l0aCAjOnJlZmVyZW5jZXMtZ3JhcGhz IgorICAgKGxldCogKChpbnB1dDEKKyAgICAgICAgICAgIChhZGQtdGV4dC10by1zdG9yZQorICAg ICAgICAgICAgICAlc3RvcmUKKyAgICAgICAgICAgICAgImZvbyIKKyAgICAgICAgICAgICAgImhl bGxvIgorICAgICAgICAgICAgICAobGlzdCAlYmFzaCkpKQorICAgICAgICAgIChpbnB1dDIKKyAg ICAgICAgICAgIChhZGQtdGV4dC10by1zdG9yZQorICAgICAgICAgICAgICAlc3RvcmUKKyAgICAg ICAgICAgICAgImJhciIKKyAgICAgICAgICAgICAgKG51bWJlci0+c3RyaW5nIChyYW5kb20gNzc3 NykpCisgICAgICAgICAgICAgIChsaXN0IGlucHV0MSkpKQorICAgICAgICAgIChidWlsZGVyCisg ICAgICAgICAgICAoYWRkLXRleHQtdG8tc3RvcmUKKyAgICAgICAgICAgICAgJXN0b3JlCisgICAg ICAgICAgICAgICJidWlsZC1ncmFwaCIKKyAgICAgICAgICAgICAgKGZvcm1hdAorICAgICAgICAg ICAgICAgICNmCisgICAgICAgICAgICAgICAgIlxufmEgJG91dFxuICh3aGlsZSByZWFkIGwgOyBk byBlY2hvICRsIDsgZG9uZSkgPCBiYXNoID4gJG91dC9iYXNoXG4gKHdoaWxlIHJlYWQgbCA7IGRv IGVjaG8gJGwgOyBkb25lKSA8IGlucHV0MSA+ICRvdXQvaW5wdXQxXG4gKHdoaWxlIHJlYWQgbCA7 IGRvIGVjaG8gJGwgOyBkb25lKSA8IGlucHV0MiA+ICRvdXQvaW5wdXQyIgorICAgICAgICAgICAg ICAgICVta2RpcikKKyAgICAgICAgICAgICAgKGxpc3QgJW1rZGlyKSkpCisgICAgICAgICAgKGRy diAoZGVyaXZhdGlvbgorICAgICAgICAgICAgICAgICAlc3RvcmUKKyAgICAgICAgICAgICAgICAg ImNsb3N1cmUtZ3JhcGhzIgorICAgICAgICAgICAgICAgICAlYmFzaAorICAgICAgICAgICAgICAg ICBgKCxidWlsZGVyKQorICAgICAgICAgICAgICAgICAjOnJlZmVyZW5jZXMtZ3JhcGhzCisgICAg ICAgICAgICAgICAgIGAoKCJiYXNoIiB1bnF1b3RlICViYXNoKQorICAgICAgICAgICAgICAgICAg ICgiaW5wdXQxIiB1bnF1b3RlIGlucHV0MSkKKyAgICAgICAgICAgICAgICAgICAoImlucHV0MiIg dW5xdW90ZSBpbnB1dDIpKQorICAgICAgICAgICAgICAgICAjOmlucHV0cworICAgICAgICAgICAg ICAgICBgKCgsJWJhc2gpICgsYnVpbGRlcikpKSkKKyAgICAgICAgICAob3V0IChkZXJpdmF0aW9u LT5vdXRwdXQtcGF0aCBkcnYpKSkKKyAgICAgKGRlZmluZSAoZGVwcyBwYXRoIC4gZGVwcykKKyAg ICAgICAobGV0ICgoY291bnQgKGxlbmd0aCBkZXBzKSkpCisgICAgICAgICAoc3RyaW5nLWFwcGVu ZAorICAgICAgICAgICBwYXRoCisgICAgICAgICAgICJcblxuIgorICAgICAgICAgICAobnVtYmVy LT5zdHJpbmcgY291bnQpCisgICAgICAgICAgICJcbiIKKyAgICAgICAgICAgKHN0cmluZy1qb2lu IChzb3J0IGRlcHMgc3RyaW5nPD8pICJcbiIpCisgICAgICAgICAgIChpZiAoemVybz8gY291bnQp ICIiICJcbiIpKSkpCisgICAgIChhbmQgKGJ1aWxkLWRlcml2YXRpb25zICVzdG9yZSAobGlzdCBk cnYpKQorICAgICAgICAgIChlcXVhbD8KKyAgICAgICAgICAgIChkaXJlY3RvcnktY29udGVudHMg b3V0IGdldC1zdHJpbmctYWxsKQorICAgICAgICAgICAgYCgoIi9iYXNoIiB1bnF1b3RlIChzdHJp bmctYXBwZW5kICViYXNoICJcblxuMFxuIikpCisgICAgICAgICAgICAgICgiL2lucHV0MSIKKyAg ICAgICAgICAgICAgIHVucXVvdGUKKyAgICAgICAgICAgICAgIChpZiAoc3RyaW5nPj8gaW5wdXQx ICViYXNoKQorICAgICAgICAgICAgICAgICAoc3RyaW5nLWFwcGVuZCAoZGVwcyAlYmFzaCkgKGRl cHMgaW5wdXQxICViYXNoKSkKKyAgICAgICAgICAgICAgICAgKHN0cmluZy1hcHBlbmQgKGRlcHMg aW5wdXQxICViYXNoKSAoZGVwcyAlYmFzaCkpKSkKKyAgICAgICAgICAgICAgKCIvaW5wdXQyIgor ICAgICAgICAgICAgICAgdW5xdW90ZQorICAgICAgICAgICAgICAgKHN0cmluZy1jb25jYXRlbmF0 ZQorICAgICAgICAgICAgICAgICAobWFwIGNkcgorICAgICAgICAgICAgICAgICAgICAgIChzb3J0 IChtYXAgKGxhbWJkYSAocCBkKSAoY29ucyBwIChhcHBseSBkZXBzIHAgZCkpKQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKGxpc3QgJWJhc2ggaW5wdXQxIGlucHV0MikKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChsaXN0ICcoKSAobGlzdCAlYmFzaCkgKGxpc3Qg aW5wdXQxKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxhbWJkYSAoeCB5KQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1hdGNoIHgKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAoKHAxIC4gXykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKG1hdGNoIHkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICgocDIgLiBfKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIChzdHJpbmc8PyBwMSBwMikpKSkpKSkpKSkpKSkpKQphY3R1YWwtdmFsdWU6ICN0CnJl c3VsdDogUEFTUwoKdGVzdC1uYW1lOiBkZXJpdmF0aW9uICM6YWxsb3dlZC1yZWZlcmVuY2VzLCBv awpsb2NhdGlvbjogL3RtcC9ndWl4LWJ1aWxkLWd1aXgtMC4xMy4wLTEyLjBhMTU0YzErLmRydi0w L3NvdXJjZS90ZXN0cy9kZXJpdmF0aW9ucy5zY206NTkyCnNvdXJjZToKKyAodGVzdC1hc3NlcnQK KyAgICJkZXJpdmF0aW9uICM6YWxsb3dlZC1yZWZlcmVuY2VzLCBvayIKKyAgIChsZXQgKChkcnYg KGRlcml2YXRpb24KKyAgICAgICAgICAgICAgICAlc3RvcmUKKyAgICAgICAgICAgICAgICAiYWxs b3dlZCIKKyAgICAgICAgICAgICAgICAlYmFzaAorICAgICAgICAgICAgICAgICcoIi1jIiAiZWNo byBoZWxsbyA+ICRvdXQiKQorICAgICAgICAgICAgICAgICM6aW5wdXRzCisgICAgICAgICAgICAg ICAgYCgoLCViYXNoKSkKKyAgICAgICAgICAgICAgICAjOmFsbG93ZWQtcmVmZXJlbmNlcworICAg ICAgICAgICAgICAgICcoKSkpKQorICAgICAoYnVpbGQtZGVyaXZhdGlvbnMgJXN0b3JlIChsaXN0 IGRydikpKSkKYWN0dWFsLXZhbHVlOiAjdApyZXN1bHQ6IFBBU1MKCnRlc3QtbmFtZTogZGVyaXZh dGlvbiAjOmFsbG93ZWQtcmVmZXJlbmNlcywgbm90IGFsbG93ZWQKbG9jYXRpb246IC90bXAvZ3Vp eC1idWlsZC1ndWl4LTAuMTMuMC0xMi4wYTE1NGMxKy5kcnYtMC9zb3VyY2UvdGVzdHMvZGVyaXZh dGlvbnMuc2NtOjU5OQpzb3VyY2U6CisgKHRlc3QtYXNzZXJ0CisgICAiZGVyaXZhdGlvbiAjOmFs bG93ZWQtcmVmZXJlbmNlcywgbm90IGFsbG93ZWQiCisgICAobGV0KiAoKHR4dCBAIGJ1aWxkLXN0 YXJ0ZWQgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL254am1oMWlwbDY5YWsyeDAxaWdrcXIybTBxZzMx MmJzLWRpc2FsbG93ZWQuZHJ2IC0geDg2XzY0LWxpbnV4IC90bXAvZ3VpeC10ZXN0cy92YXIvbG9n L2d1aXgvZHJ2cy9ueC8vam1oMWlwbDY5YWsyeDAxaWdrcXIybTBxZzMxMmJzLWRpc2FsbG93ZWQu ZHJ2LmJ6MgpvdXRwdXQgKGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2pzejMybWY5ejNud3ozM3Y3 Mmw2OHgwbDNtNGdkeTAtZGlzYWxsb3dlZCcpIGlzIG5vdCBhbGxvd2VkIHRvIHJlZmVyIHRvIHBh dGggYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9iZHgzbGhxMzc5M2k4bHo2ZnZsZHJwOTE3YmE1MnYx di1mb28nCkAgYnVpbGQtZmFpbGVkIC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9ueGptaDFpcGw2OWFr MngwMWlna3FyMm0wcWczMTJicy1kaXNhbGxvd2VkLmRydiAtIDEgb3V0cHV0IChgL3RtcC9ndWl4 LXRlc3RzL3N0b3JlL3Nqc3ozMm1mOXozbnd6MzN2NzJsNjh4MGwzbTRnZHkwLWRpc2FsbG93ZWQn KSBpcyBub3QgYWxsb3dlZCB0byByZWZlciB0byBwYXRoIGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUv YmR4M2xocTM3OTNpOGx6NmZ2bGRycDkxN2JhNTJ2MXYtZm9vJwpAIGJ1aWxkLXN0YXJ0ZWQgL3Rt cC9ndWl4LXRlc3RzL3N0b3JlL2duOGwzZGJobnBqZDR4bmFxMTZqbmlnaWNiMnlxdjY4LWFsbG93 ZWQuZHJ2IC0geDg2XzY0LWxpbnV4IC90bXAvZ3VpeC10ZXN0cy92YXIvbG9nL2d1aXgvZHJ2cy9n bi8vOGwzZGJobnBqZDR4bmFxMTZqbmlnaWNiMnlxdjY4LWFsbG93ZWQuZHJ2LmJ6MgpAIGJ1aWxk LXN1Y2NlZWRlZCAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvZ244bDNkYmhucGpkNHhuYXExNmpuaWdp Y2IyeXF2NjgtYWxsb3dlZC5kcnYgLQpAIGJ1aWxkLXN0YXJ0ZWQgL3RtcC9ndWl4LXRlc3RzL3N0 b3JlL3dpMnh2N3lpcHc0bng1eGxzOTVieWdiajdkbDYybWw4LWRpc2FsbG93ZWQuZHJ2IC0geDg2 XzY0LWxpbnV4IC90bXAvZ3VpeC10ZXN0cy92YXIvbG9nL2d1aXgvZHJ2cy93aS8vMnh2N3lpcHc0 bng1eGxzOTVieWdiajdkbDYybWw4LWRpc2FsbG93ZWQuZHJ2LmJ6MgpvdXRwdXQgKGAvdG1wL2d1 aXgtdGVzdHMvc3RvcmUveDE2NjA2ZjB5Zjc4dml3ZHdoemNndnFjbThwOG0xemYtZGlzYWxsb3dl ZCcpIGlzIG5vdCBhbGxvd2VkIHRvIHJlZmVyIHRvIHBhdGggYC90bXAvZ3VpeC10ZXN0cy9zdG9y ZS94MTY2MDZmMHlmNzh2aXdkd2h6Y2d2cWNtOHA4bTF6Zi1kaXNhbGxvd2VkJwpAIGJ1aWxkLWZh aWxlZCAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvd2kyeHY3eWlwdzRueDV4bHM5NWJ5Z2JqN2RsNjJt bDgtZGlzYWxsb3dlZC5kcnYgLSAxIG91dHB1dCAoYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS94MTY2 MDZmMHlmNzh2aXdkd2h6Y2d2cWNtOHA4bTF6Zi1kaXNhbGxvd2VkJykgaXMgbm90IGFsbG93ZWQg dG8gcmVmZXIgdG8gcGF0aCBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3gxNjYwNmYweWY3OHZpd2R3 aHpjZ3ZxY204cDhtMXpmLWRpc2FsbG93ZWQnCkAgYnVpbGQtc3RhcnRlZCAvdG1wL2d1aXgtdGVz dHMvc3RvcmUvdmJud2FucHEyOTVsc3pwemQ5eDVydzhneXZ6ZGFpNmYtZGlzYWxsb3dlZC5kcnYg LSB4ODZfNjQtbGludXggL3RtcC9ndWl4LXRlc3RzL3Zhci9sb2cvZ3VpeC9kcnZzL3ZiLy9ud2Fu cHEyOTVsc3pwemQ5eDVydzhneXZ6ZGFpNmYtZGlzYWxsb3dlZC5kcnYuYnoyCkAgYnVpbGQtc3Vj Y2VlZGVkIC90bXAvZ3VpeC10ZXN0cy9zdG9yZS92Ym53YW5wcTI5NWxzenB6ZDl4NXJ3OGd5dnpk YWk2Zi1kaXNhbGxvd2VkLmRydiAtCkAgYnVpbGQtc3RhcnRlZCAvdG1wL2d1aXgtdGVzdHMvc3Rv cmUvY2J3N2F4MXZkejhpNDUzZ2liYmt5NTY0eHMxaWdnbXItZGlzZGlzYWxsb3dlZC5kcnYgLSB4 ODZfNjQtbGludXggL3RtcC9ndWl4LXRlc3RzL3Zhci9sb2cvZ3VpeC9kcnZzL2NiLy93N2F4MXZk ejhpNDUzZ2liYmt5NTY0eHMxaWdnbXItZGlzZGlzYWxsb3dlZC5kcnYuYnoyCm91dHB1dCAoYC90 bXAvZ3VpeC10ZXN0cy9zdG9yZS9sbmF5MW43NHZocHFuZHF3ZDRyN2s0Mzl4dzk4a2QyYS1kaXNk aXNhbGxvd2VkJykgaXMgbm90IGFsbG93ZWQgdG8gcmVmZXIgdG8gcGF0aCBgL3RtcC9ndWl4LXRl c3RzL3N0b3JlL2JkeDNsaHEzNzkzaThsejZmdmxkcnA5MTdiYTUydjF2LWZvbycKQCBidWlsZC1m YWlsZWQgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL2NidzdheDF2ZHo4aTQ1M2dpYmJreTU2NHhzMWln Z21yLWRpc2Rpc2FsbG93ZWQuZHJ2IC0gMSBvdXRwdXQgKGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUv bG5heTFuNzR2aHBxbmRxd2Q0cjdrNDM5eHc5OGtkMmEtZGlzZGlzYWxsb3dlZCcpIGlzIG5vdCBh bGxvd2VkIHRvIHJlZmVyIHRvIHBhdGggYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9iZHgzbGhxMzc5 M2k4bHo2ZnZsZHJwOTE3YmE1MnYxdi1mb28nCkAgYnVpbGQtc3RhcnRlZCAvdG1wL2d1aXgtdGVz dHMvc3RvcmUvNGJ4Y2t3aTZmangyY25nc3kzdnAyNHEza3Jzbm5scGktbGVha2VkLWVudi12YXJz LmRydiAtIHg4Nl82NC1saW51eCAvdG1wL2d1aXgtdGVzdHMvdmFyL2xvZy9ndWl4L2RydnMvNGIv L3hja3dpNmZqeDJjbmdzeTN2cDI0cTNrcnNubmxwaS1sZWFrZWQtZW52LXZhcnMuZHJ2LmJ6MgpA IGJ1aWxkLXN1Y2NlZWRlZCAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvNGJ4Y2t3aTZmangyY25nc3kz dnAyNHEza3Jzbm5scGktbGVha2VkLWVudi12YXJzLmRydiAtCihhZGQtdGV4dC10by1zdG9yZSAl c3RvcmUgImZvbyIgIkhlbGxvLCB3b3JsZC4iKSkKKyAgICAgICAgICAoZHJ2IChkZXJpdmF0aW9u CisgICAgICAgICAgICAgICAgICVzdG9yZQorICAgICAgICAgICAgICAgICAiZGlzYWxsb3dlZCIK KyAgICAgICAgICAgICAgICAgJWJhc2gKKyAgICAgICAgICAgICAgICAgYCgiLWMiICwoc3RyaW5n LWFwcGVuZCAiZWNobyAiIHR4dCAiPiAkb3V0IikpCisgICAgICAgICAgICAgICAgICM6aW5wdXRz CisgICAgICAgICAgICAgICAgIGAoKCwlYmFzaCkgKCx0eHQpKQorICAgICAgICAgICAgICAgICAj OmFsbG93ZWQtcmVmZXJlbmNlcworICAgICAgICAgICAgICAgICAnKCkpKSkKKyAgICAgKGd1YXJk IChjICgobml4LXByb3RvY29sLWVycm9yPyBjKSAjdCkpCisgICAgICAgICAgICAoYnVpbGQtZGVy aXZhdGlvbnMgJXN0b3JlIChsaXN0IGRydikpCisgICAgICAgICAgICAjZikpKQphY3R1YWwtdmFs dWU6ICN0CnJlc3VsdDogUEFTUwoKdGVzdC1uYW1lOiBkZXJpdmF0aW9uICM6YWxsb3dlZC1yZWZl cmVuY2VzLCBzZWxmIGFsbG93ZWQKbG9jYXRpb246IC90bXAvZ3VpeC1idWlsZC1ndWl4LTAuMTMu MC0xMi4wYTE1NGMxKy5kcnYtMC9zb3VyY2UvdGVzdHMvZGVyaXZhdGlvbnMuc2NtOjYxMQpzb3Vy Y2U6CisgKHRlc3QtYXNzZXJ0CisgICAiZGVyaXZhdGlvbiAjOmFsbG93ZWQtcmVmZXJlbmNlcywg c2VsZiBhbGxvd2VkIgorICAgKGxldCAoKGRydiAoZGVyaXZhdGlvbgorICAgICAgICAgICAgICAg ICVzdG9yZQorICAgICAgICAgICAgICAgICJhbGxvd2VkIgorICAgICAgICAgICAgICAgICViYXNo CisgICAgICAgICAgICAgICAgJygiLWMiICJlY2hvICRvdXQgPiAkb3V0IikKKyAgICAgICAgICAg ICAgICAjOmlucHV0cworICAgICAgICAgICAgICAgIGAoKCwlYmFzaCkpCisgICAgICAgICAgICAg ICAgIzphbGxvd2VkLXJlZmVyZW5jZXMKKyAgICAgICAgICAgICAgICAnKCJvdXQiKSkpKQorICAg ICAoYnVpbGQtZGVyaXZhdGlvbnMgJXN0b3JlIChsaXN0IGRydikpKSkKYWN0dWFsLXZhbHVlOiAj dApyZXN1bHQ6IFBBU1MKCnRlc3QtbmFtZTogZGVyaXZhdGlvbiAjOmFsbG93ZWQtcmVmZXJlbmNl cywgc2VsZiBub3QgYWxsb3dlZApsb2NhdGlvbjogL3RtcC9ndWl4LWJ1aWxkLWd1aXgtMC4xMy4w LTEyLjBhMTU0YzErLmRydi0wL3NvdXJjZS90ZXN0cy9kZXJpdmF0aW9ucy5zY206NjE4CnNvdXJj ZToKKyAodGVzdC1hc3NlcnQKKyAgICJkZXJpdmF0aW9uICM6YWxsb3dlZC1yZWZlcmVuY2VzLCBz ZWxmIG5vdCBhbGxvd2VkIgorICAgKGxldCAoKGRydiAoZGVyaXZhdGlvbgorICAgICAgICAgICAg ICAgICVzdG9yZQorICAgICAgICAgICAgICAgICJkaXNhbGxvd2VkIgorICAgICAgICAgICAgICAg ICViYXNoCisgICAgICAgICAgICAgICAgYCgiLWMiICwiZWNobyAkb3V0ID4gJG91dCIpCisgICAg ICAgICAgICAgICAgIzppbnB1dHMKKyAgICAgICAgICAgICAgICBgKCgsJWJhc2gpKQorICAgICAg ICAgICAgICAgICM6YWxsb3dlZC1yZWZlcmVuY2VzCisgICAgICAgICAgICAgICAgJygpKSkpCisg ICAgIChndWFyZCAoYyAoKG5peC1wcm90b2NvbC1lcnJvcj8gYykgI3QpKQorICAgICAgICAgICAg KGJ1aWxkLWRlcml2YXRpb25zICVzdG9yZSAobGlzdCBkcnYpKQorICAgICAgICAgICAgI2YpKSkK YWN0dWFsLXZhbHVlOiAjdApyZXN1bHQ6IFBBU1MKCnRlc3QtbmFtZTogZGVyaXZhdGlvbiAjOmRp c2FsbG93ZWQtcmVmZXJlbmNlcywgb2sKbG9jYXRpb246IC90bXAvZ3VpeC1idWlsZC1ndWl4LTAu MTMuMC0xMi4wYTE1NGMxKy5kcnYtMC9zb3VyY2UvdGVzdHMvZGVyaXZhdGlvbnMuc2NtOjYyOQpz b3VyY2U6CisgKHRlc3QtYXNzZXJ0CisgICAiZGVyaXZhdGlvbiAjOmRpc2FsbG93ZWQtcmVmZXJl bmNlcywgb2siCisgICAobGV0ICgoZHJ2IChkZXJpdmF0aW9uCisgICAgICAgICAgICAgICAgJXN0 b3JlCisgICAgICAgICAgICAgICAgImRpc2FsbG93ZWQiCisgICAgICAgICAgICAgICAgJWJhc2gK KyAgICAgICAgICAgICAgICAnKCItYyIgImVjaG8gaGVsbG8gPiAkb3V0IikKKyAgICAgICAgICAg ICAgICAjOmlucHV0cworICAgICAgICAgICAgICAgIGAoKCwlYmFzaCkpCisgICAgICAgICAgICAg ICAgIzpkaXNhbGxvd2VkLXJlZmVyZW5jZXMKKyAgICAgICAgICAgICAgICAnKCJvdXQiKSkpKQor ICAgICAoYnVpbGQtZGVyaXZhdGlvbnMgJXN0b3JlIChsaXN0IGRydikpKSkKYWN0dWFsLXZhbHVl OiAjdApyZXN1bHQ6IFBBU1MKCnRlc3QtbmFtZTogZGVyaXZhdGlvbiAjOmRpc2FsbG93ZWQtcmVm ZXJlbmNlcywgbm90IG9rCmxvY2F0aW9uOiAvdG1wL2d1aXgtYnVpbGQtZ3VpeC0wLjEzLjAtMTIu MGExNTRjMSsuZHJ2LTAvc291cmNlL3Rlc3RzL2Rlcml2YXRpb25zLnNjbTo2MzYKc291cmNlOgor ICh0ZXN0LWFzc2VydAorICAgImRlcml2YXRpb24gIzpkaXNhbGxvd2VkLXJlZmVyZW5jZXMsIG5v dCBvayIKKyAgIChsZXQqICgodHh0IChhZGQtdGV4dC10by1zdG9yZSAlc3RvcmUgImZvbyIgIkhl bGxvLCB3b3JsZC4iKSkKKyAgICAgICAgICAoZHJ2IChkZXJpdmF0aW9uCisgICAgICAgICAgICAg ICAgICVzdG9yZQorICAgICAgICAgICAgICAgICAiZGlzZGlzYWxsb3dlZCIKKyAgICAgICAgICAg ICAgICAgJWJhc2gKKyAgICAgICAgICAgICAgICAgYCgiLWMiICwoc3RyaW5nLWFwcGVuZCAiZWNo byAiIHR4dCAiPiAkb3V0IikpCisgICAgICAgICAgICAgICAgICM6aW5wdXRzCisgICAgICAgICAg ICAgICAgIGAoKCwlYmFzaCkgKCx0eHQpKQorICAgICAgICAgICAgICAgICAjOmRpc2FsbG93ZWQt cmVmZXJlbmNlcworICAgICAgICAgICAgICAgICAobGlzdCB0eHQpKSkpCisgICAgIChndWFyZCAo YyAoKG5peC1wcm90b2NvbC1lcnJvcj8gYykgI3QpKQorICAgICAgICAgICAgKGJ1aWxkLWRlcml2 YXRpb25zICVzdG9yZSAobGlzdCBkcnYpKQorICAgICAgICAgICAgI2YpKSkKYWN0dWFsLXZhbHVl OiAjdApyZXN1bHQ6IFBBU1MKCnRlc3QtbmFtZTogZGVyaXZhdGlvbiAjOmxlYWtlZC1lbnYtdmFy cwpsb2NhdGlvbjogL3RtcC9ndWl4LWJ1aWxkLWd1aXgtMC4xMy4wLTEyLjBhMTU0YzErLmRydi0w L3NvdXJjZS90ZXN0cy9kZXJpdmF0aW9ucy5zY206NjUxCnNvdXJjZToKKyAodGVzdC1lcXVhbAor ICAgImRlcml2YXRpb24gIzpsZWFrZWQtZW52LXZhcnMiCisgICAoZ2V0ZW52ICJOSVhfU1RBVEVf RElSIikKKyAgIChsZXQqICgodmFsdWUgKGdldGVudiAiTklYX1NUQVRFX0RJUiIpKQorICAgICAg ICAgIChkcnYgKGRlcml2YXRpb24KKyAgICAgICAgICAgICAgICAgJXN0b3JlCisgICAgICAgICAg ICAgICAgICJsZWFrZWQtZW52LXZhcnMiCisgICAgICAgICAgICAgICAgICViYXNoCisgICAgICAg ICAgICAgICAgICcoIi1jIiAiZWNobyAtbiAkTklYX1NUQVRFX0RJUiA+ICRvdXQiKQorICAgICAg ICAgICAgICAgICAjOmhhc2gKKyAgICAgICAgICAgICAgICAgKHNoYTI1NiAoc3RyaW5nLT51dGY4 IHZhbHVlKSkKKyAgICAgICAgICAgICAgICAgIzpoYXNoLWFsZ28KKyAgICAgICAgICAgICAgICAg J3NoYTI1NgorICAgICAgICAgICAgICAgICAjOmlucHV0cworICAgICAgICAgICAgICAgICBgKCgs JWJhc2gpKQorICAgICAgICAgICAgICAgICAjOmxlYWtlZC1lbnYtdmFycworICAgICAgICAgICAg ICAgICAnKCJOSVhfU1RBVEVfRElSIikpKSkKKyAgICAgKGFuZCAoYnVpbGQtZGVyaXZhdGlvbnMg JXN0b3JlIChsaXN0IGRydikpCisgICAgICAgICAgKGNhbGwtd2l0aC1pbnB1dC1maWxlCisgICAg ICAgICAgICAoZGVyaXZhdGlvbi0+b3V0cHV0LXBhdGggZHJ2KQorICAgICAgICAgICAgZ2V0LXN0 cmluZy1hbGwpKSkpCmV4cGVjdGVkLXZhbHVlOiAiL3RtcC9ndWl4LXRlc3RzL3Zhci8xNDk2MSIK YWN0dWFsLXZhbHVlOiAiL3RtcC9ndWl4LXRlc3RzL3Zhci8xNDk2MSIKcmVzdWx0OiBQQVNTCgp0 ZXN0LW5hbWU6IGJ1aWxkIGRlcml2YXRpb24gd2l0aCBjb3JldXRpbHMKbG9jYXRpb246IC90bXAv Z3VpeC1idWlsZC1ndWl4LTAuMTMuMC0xMi4wYTE1NGMxKy5kcnYtMC9zb3VyY2UvdGVzdHMvZGVy aXZhdGlvbnMuc2NtOjY3Mgpzb3VyY2U6CisgKHRlc3QtYXNzZXJ0CisgICAiYnVpbGQgZGVyaXZh dGlvbiB3aXRoIGNvcmV1dGlscyIKKyAgIChsZXQqICgoYnVpbGRlcgorICAgICAgICAgICAgKGFk ZC10ZXh0LXRvLXN0b3JlCisgICAgICAgICAgICAgICVzdG9yZQorICAgICAgICAgICAgICAiYnVp bGQtd2l0aC1jb3JldXRpbHMuc2giCisgICAgICAgICAgICAgICJlY2hvICRQQVRIIDsgbWtkaXIg LS12ZXJzaW9uIDsgbWtkaXIgJG91dCA7IHRvdWNoICRvdXQvZ29vZCIKKyAgICAgICAgICAgICAg JygpKSkKKyAgICAgICAgICAoZHJ2IChkZXJpdmF0aW9uCisgICAgICAgICAgICAgICAgICVzdG9y ZQorICAgICAgICAgICAgICAgICAiZm9vIgorICAgICAgICAgICAgICAgICAlYmFzaAorICAgICAg ICAgICAgICAgICBgKCxidWlsZGVyKQorICAgICAgICAgICAgICAgICAjOmVudi12YXJzCisgICAg ICAgICAgICAgICAgIGAoKCJQQVRIIgorICAgICAgICAgICAgICAgICAgICB1bnF1b3RlCisgICAg ICAgICAgICAgICAgICAgIChzdHJpbmctYXBwZW5kCisgICAgICAgICAgICAgICAgICAgICAgKGRl cml2YXRpb24tPm91dHB1dC1wYXRoICVjb3JldXRpbHMpCisgICAgICAgICAgICAgICAgICAgICAg Ii9iaW4iKSkpCisgICAgICAgICAgICAgICAgICM6aW5wdXRzCisgICAgICAgICAgICAgICAgIGAo KCxidWlsZGVyKSAoLCVjb3JldXRpbHMpKSkpCisgICAgICAgICAgKHN1Y2NlZWRlZD8KKyAgICAg ICAgICAgIChidWlsZC1kZXJpdmF0aW9ucyAlc3RvcmUgKGxpc3QgZHJ2KSkpKQorICAgICAoYW5k IHN1Y2NlZWRlZD8KKyAgICAgICAgICAobGV0ICgocCAoZGVyaXZhdGlvbi0+b3V0cHV0LXBhdGgg ZHJ2KSkpCisgICAgICAgICAgICAoYW5kICh2YWxpZC1wYXRoPyAlc3RvcmUgcCkKKyAgICAgICAg ICAgICAgICAgKGZpbGUtZXhpc3RzPyAoc3RyaW5nLWFwcGVuZCBwICIvZ29vZCIpKSkpKSkpCnJl c3VsdDogU0tJUAoKdGVzdC1uYW1lOiBidWlsZC1leHByZXNzaW9uLT5kZXJpdmF0aW9uIGFuZCBp bnZhbGlkIG1vZHVsZSBuYW1lCmxvY2F0aW9uOiAvdG1wL2d1aXgtYnVpbGQtZ3VpeC0wLjEzLjAt MTIuMGExNTRjMSsuZHJ2LTAvc291cmNlL3Rlc3RzL2Rlcml2YXRpb25zLnNjbTo2OTUKc291cmNl OgorICh0ZXN0LWVxdWFsCisgICAiYnVpbGQtZXhwcmVzc2lvbi0+ZGVyaXZhdGlvbiBhbmQgaW52 YWxpZCBtb2R1bGUgbmFtZSIKKyAgICcoZmlsZS1zZWFyY2gtZXJyb3IKKyAgICAgICJndWl4L21v ZHVsZS90aGF0L2RvZXMvbm90L2V4aXN0LnNjbSIpCisgICAoZ3VhcmQgKGMgKChmaWxlLXNlYXJj aC1lcnJvcj8gYykKKyAgICAgICAgICAgICAgKGxpc3QgJ2ZpbGUtc2VhcmNoLWVycm9yCisgICAg ICAgICAgICAgICAgICAgIChmaWxlLXNlYXJjaC1lcnJvci1maWxlLW5hbWUgYykpKSkKKyAgICAg ICAgICAoYnVpbGQtZXhwcmVzc2lvbi0+ZGVyaXZhdGlvbgorICAgICAgICAgICAgJXN0b3JlCisg ICAgICAgICAgICAiZm9vIgorICAgICAgICAgICAgI3QKKyAgICAgICAgICAgICM6bW9kdWxlcwor ICAgICAgICAgICAgJygoZ3VpeCBtb2R1bGUgdGhhdCBkb2VzIG5vdCBleGlzdCkpKSkpCmV4cGVj dGVkLXZhbHVlOiAoZmlsZS1zZWFyY2gtZXJyb3IgImd1aXgvbW9kdWxlL3RoYXQvZG9lcy9ub3Qv ZXhpc3Quc2NtIikKYWN0dWFsLXZhbHVlOiAoZmlsZS1zZWFyY2gtZXJyb3IgImd1aXgvbW9kdWxl L3RoYXQvZG9lcy9ub3QvZXhpc3Quc2NtIikKcmVzdWx0OiBQQVNTCgp0ZXN0LW5hbWU6IGJ1aWxk LWV4cHJlc3Npb24tPmRlcml2YXRpb24gYW5kIGJ1aWxkZXIgZW5jb2RpbmcKbG9jYXRpb246IC90 bXAvZ3VpeC1idWlsZC1ndWl4LTAuMTMuMC0xMi4wYTE1NGMxKy5kcnYtMC9zb3VyY2UvdGVzdHMv ZGVyaXZhdGlvbnMuc2NtOjcwNApzb3VyY2U6CisgKHRlc3QtZXF1YWwKKyAgICJidWlsZC1leHBy ZXNzaW9uLT5kZXJpdmF0aW9uIGFuZCBidWlsZGVyIGVuY29kaW5nIgorICAgJygiVVRGLTgiICN0 KQorICAgKGxldCogKChleHAgJyjOuyAozrEpICgrIM6xIDEpKSkKKyAgICAgICAgICAoZHJ2IChi dWlsZC1leHByZXNzaW9uLT5kZXJpdmF0aW9uICVzdG9yZSAiZm9vIiBleHApKSkKKyAgICAgKG1h dGNoIChkZXJpdmF0aW9uLWJ1aWxkZXItYXJndW1lbnRzIGRydikKKyAgICAgICAgICAgICgoLi4u IGJ1aWxkZXIpCisgICAgICAgICAgICAgKHdpdGgtZmx1aWRzCisgICAgICAgICAgICAgICAoKCVk ZWZhdWx0LXBvcnQtZW5jb2RpbmcgIlVURi04IikpCisgICAgICAgICAgICAgICAoY2FsbC13aXRo LWlucHV0LWZpbGUKKyAgICAgICAgICAgICAgICAgYnVpbGRlcgorICAgICAgICAgICAgICAgICAo bGFtYmRhIChwb3J0KQorICAgICAgICAgICAgICAgICAgIChsaXN0IChwb3J0LWVuY29kaW5nIHBv cnQpCisgICAgICAgICAgICAgICAgICAgICAgICAgKC0+Ym9vbAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgKHN0cmluZy1jb250YWlucworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo Z2V0LXN0cmluZy1hbGwgcG9ydCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIijOuyAo zrEpICgrIM6xIDEpKSIpKSkpKSkpKSkpCmV4cGVjdGVkLXZhbHVlOiAoIlVURi04IiAjdCkKYWN0 dWFsLXZhbHVlOiAoIlVURi04IiAjdCkKcmVzdWx0OiBQQVNTCgp0ZXN0LW5hbWU6IGJ1aWxkLWV4 cHJlc3Npb24tPmRlcml2YXRpb24gYW5kIGRlcml2YXRpb24tcHJlcmVxdWlzaXRlcwpsb2NhdGlv bjogL3RtcC9ndWl4LWJ1aWxkLWd1aXgtMC4xMy4wLTEyLjBhMTU0YzErLmRydi0wL3NvdXJjZS90 ZXN0cy9kZXJpdmF0aW9ucy5zY206NzE4CnNvdXJjZToKKyAodGVzdC1hc3NlcnQKKyAgICJidWls ZC1leHByZXNzaW9uLT5kZXJpdmF0aW9uIGFuZCBkZXJpdmF0aW9uLXByZXJlcXVpc2l0ZXMiCisg ICAobGV0ICgoZHJ2IChidWlsZC1leHByZXNzaW9uLT5kZXJpdmF0aW9uICVzdG9yZSAiZmFpbCIg I2YpKSkKKyAgICAgKGFueSAobWF0Y2gtbGFtYmRhCisgICAgICAgICAgICAoKCQgPGRlcml2YXRp b24taW5wdXQ+IHBhdGgpCisgICAgICAgICAgICAgKHN0cmluZz0/CisgICAgICAgICAgICAgICBw YXRoCisgICAgICAgICAgICAgICAoZGVyaXZhdGlvbi1maWxlLW5hbWUgKCVndWlsZS1mb3ItYnVp bGQpKSkpKQorICAgICAgICAgIChkZXJpdmF0aW9uLXByZXJlcXVpc2l0ZXMgZHJ2KSkpKQphY3R1 YWwtdmFsdWU6ICN0CnJlc3VsdDogUEFTUwoKdGVzdC1uYW1lOiBkZXJpdmF0aW9uLXByZXJlcXVp c2l0ZXMgYW5kIHZhbGlkLWRlcml2YXRpb24taW5wdXQ/CmxvY2F0aW9uOiAvdG1wL2d1aXgtYnVp bGQtZ3VpeC0wLjEzLjAtMTIuMGExNTRjMSsuZHJ2LTAvc291cmNlL3Rlc3RzL2Rlcml2YXRpb25z LnNjbTo3MjUKc291cmNlOgorICh0ZXN0LWFzc2VydAorICAgImRlcml2YXRpb24tcHJlcmVxdWlz aXRlcyBhbmQgdmFsaWQtZGVyaXZhdGlvbi1pbnB1dD8iCisgICAobGV0KiAoKGEgKGJ1aWxkLWV4 cHJlc3Npb24tPmRlcml2YXRpb24KKyAgICAgICAgICAgICAgICVzdG9yZQorICAgICAgICAgICAg ICAgImEiCisgICAgICAgICAgICAgICAnKG1rZGlyICVvdXRwdXQpKSkKKyAgICAgICAgICAoYiAo YnVpbGQtZXhwcmVzc2lvbi0+ZGVyaXZhdGlvbgorICAgICAgICAgICAgICAgJXN0b3JlCisgICAg ICAgICAgICAgICAiYiIKKyAgICAgICAgICAgICAgIGAobGlzdCAsKHJhbmRvbS10ZXh0KSkpKQor ICAgICAgICAgIChjIChidWlsZC1leHByZXNzaW9uLT5kZXJpdmF0aW9uCisgICAgICAgICAgICAg ICAlc3RvcmUKKyAgICAgICAgICAgICAgICJjIgorICAgICAgICAgICAgICAgYChta2RpciAlb3V0 cHV0KQorICAgICAgICAgICAgICAgIzppbnB1dHMKKyAgICAgICAgICAgICAgIGAoKCJhIiAsYSkg KCJiIiAsYikpKSkpCisgICAgIChidWlsZC1kZXJpdmF0aW9ucworICAgICAgICVzdG9yZQorICAg ICAgIChsaXN0IGEKKyAgICAgICAgICAgICAocGFja2FnZS1kZXJpdmF0aW9uICVzdG9yZSAlYm9v dHN0cmFwLWd1aWxlKSkpCisgICAgIChtYXRjaCAoZGVyaXZhdGlvbi1wcmVyZXF1aXNpdGVzCisg ICAgICAgICAgICAgIGMKKyAgICAgICAgICAgICAgKGN1dCB2YWxpZC1kZXJpdmF0aW9uLWlucHV0 PyAlc3RvcmUgPD4pKQorIEAgYnVpbGQtc3RhcnRlZCAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvOWQ3 bXcxMXc2aG1obnpxN25zOGZsOTFwbHZ5eWltcGotYS5kcnYgLSB4ODZfNjQtbGludXggL3RtcC9n dWl4LXRlc3RzL3Zhci9sb2cvZ3VpeC9kcnZzLzlkLy83bXcxMXc2aG1obnpxN25zOGZsOTFwbHZ5 eWltcGotYS5kcnYuYnoyCkAgYnVpbGQtc3VjY2VlZGVkIC90bXAvZ3VpeC10ZXN0cy9zdG9yZS85 ZDdtdzExdzZobWhuenE3bnM4Zmw5MXBsdnl5aW1wai1hLmRydiAtCkAgYnVpbGQtc3RhcnRlZCAv dG1wL2d1aXgtdGVzdHMvc3RvcmUvc2l6MjdpN3ZrMGcxeG5nc3gwNDlwOXZydnNzOWM3MTItZ29v LmRydiAtIHg4Nl82NC1saW51eCAvdG1wL2d1aXgtdGVzdHMvdmFyL2xvZy9ndWl4L2RydnMvc2kv L3oyN2k3dmswZzF4bmdzeDA0OXA5dnJ2c3M5YzcxMi1nb28uZHJ2LmJ6MgpAIGJ1aWxkLXN1Y2Nl ZWRlZCAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2l6MjdpN3ZrMGcxeG5nc3gwNDlwOXZydnNzOWM3 MTItZ29vLmRydiAtCnN1YnN0aXR1dGU6IHdhcm5pbmc6IGF1dGhlbnRpY2F0aW9uIGFuZCBhdXRo b3JpemF0aW9uIG9mIHN1YnN0aXR1dGVzIGRpc2FibGVkIQpzdWJzdGl0dXRlOiBndWl4IHN1YnN0 aXR1dGU6IHdhcm5pbmc6IEFDTCBmb3IgYXJjaGl2ZSBpbXBvcnRzIHNlZW1zIHRvIGJlIHVuaW5p dGlhbGl6ZWQsIHN1YnN0aXR1dGVzIG1heSBiZSB1bmF2YWlsYWJsZQpAIGJ1aWxkLXN0YXJ0ZWQg L3RtcC9ndWl4LXRlc3RzL3N0b3JlL3FmbDI1NTlhZmZ3MmpuejQzajhjNmR4MHJqbmdxbnMzLXNp bGVudC5kcnYgLSB4ODZfNjQtbGludXggL3RtcC9ndWl4LXRlc3RzL3Zhci9sb2cvZ3VpeC9kcnZz L3FmLy9sMjU1OWFmZncyam56NDNqOGM2ZHgwcmpuZ3FuczMtc2lsZW50LmRydi5iejIKYnVpbGRp bmcgb2YgYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9xZmwyNTU5YWZmdzJqbno0M2o4YzZkeDByam5n cW5zMy1zaWxlbnQuZHJ2JyB0aW1lZCBvdXQgYWZ0ZXIgMSBzZWNvbmRzIG9mIHNpbGVuY2UKQCBi dWlsZC1mYWlsZWQgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3FmbDI1NTlhZmZ3MmpuejQzajhjNmR4 MHJqbmdxbnMzLXNpbGVudC5kcnYgLSB0aW1lb3V0CmtpbGxpbmcgcHJvY2VzcyAxNTY0OApzdWJz dGl0dXRlOiB3YXJuaW5nOiBhdXRoZW50aWNhdGlvbiBhbmQgYXV0aG9yaXphdGlvbiBvZiBzdWJz dGl0dXRlcyBkaXNhYmxlZCEKc3Vic3RpdHV0ZTogZ3VpeCBzdWJzdGl0dXRlOiB3YXJuaW5nOiBB Q0wgZm9yIGFyY2hpdmUgaW1wb3J0cyBzZWVtcyB0byBiZSB1bmluaXRpYWxpemVkLCBzdWJzdGl0 dXRlcyBtYXkgYmUgdW5hdmFpbGFibGUKQCBidWlsZC1zdGFydGVkIC90bXAvZ3VpeC10ZXN0cy9z dG9yZS82ZDNkYmNqOThpbnY3OGQ1YWJ3cDQxZmJpczE1a3Z5Ni1zbG93LmRydiAtIHg4Nl82NC1s aW51eCAvdG1wL2d1aXgtdGVzdHMvdmFyL2xvZy9ndWl4L2RydnMvNmQvLzNkYmNqOThpbnY3OGQ1 YWJ3cDQxZmJpczE1a3Z5Ni1zbG93LmRydi5iejIKYnVpbGRpbmcgb2YgYC90bXAvZ3VpeC10ZXN0 cy9zdG9yZS82ZDNkYmNqOThpbnY3OGQ1YWJ3cDQxZmJpczE1a3Z5Ni1zbG93LmRydicgdGltZWQg b3V0IGFmdGVyIDEgc2Vjb25kcwpAIGJ1aWxkLWZhaWxlZCAvdG1wL2d1aXgtdGVzdHMvc3RvcmUv NmQzZGJjajk4aW52NzhkNWFid3A0MWZiaXMxNWt2eTYtc2xvdy5kcnYgLSB0aW1lb3V0CmtpbGxp bmcgcHJvY2VzcyAxNTY4NgogICAgICAgICAgICgoKCQgPGRlcml2YXRpb24taW5wdXQ+IGZpbGUg KCJvdXQiKSkpCisgICAgICAgICAgICAgKHN0cmluZz0/IGZpbGUgKGRlcml2YXRpb24tZmlsZS1u YW1lIGIpKSkKKyAgICAgICAgICAgICh4IChwayAnZmFpbCB4ICNmKSkpKSkKYWN0dWFsLXZhbHVl OiAjdApyZXN1bHQ6IFBBU1MKCnRlc3QtbmFtZTogYnVpbGQtZXhwcmVzc2lvbi0+ZGVyaXZhdGlv biB3aXRob3V0IGlucHV0cwpsb2NhdGlvbjogL3RtcC9ndWl4LWJ1aWxkLWd1aXgtMC4xMy4wLTEy LjBhMTU0YzErLmRydi0wL3NvdXJjZS90ZXN0cy9kZXJpdmF0aW9ucy5zY206NzQzCnNvdXJjZToK KyAodGVzdC1hc3NlcnQKKyAgICJidWlsZC1leHByZXNzaW9uLT5kZXJpdmF0aW9uIHdpdGhvdXQg aW5wdXRzIgorICAgKGxldCogKChidWlsZGVyCisgICAgICAgICAgICAnKGJlZ2luCisgICAgICAg ICAgICAgICAobWtkaXIgJW91dHB1dCkKKyAgICAgICAgICAgICAgIChjYWxsLXdpdGgtb3V0cHV0 LWZpbGUKKyAgICAgICAgICAgICAgICAgKHN0cmluZy1hcHBlbmQgJW91dHB1dCAiL3Rlc3QiKQor ICAgICAgICAgICAgICAgICAobGFtYmRhIChwKSAoZGlzcGxheSAnKGhlbGxvIGd1aXgpIHApKSkp KQorICAgICAgICAgIChkcnYgKGJ1aWxkLWV4cHJlc3Npb24tPmRlcml2YXRpb24KKyAgICAgICAg ICAgICAgICAgJXN0b3JlCisgICAgICAgICAgICAgICAgICJnb28iCisgICAgICAgICAgICAgICAg IGJ1aWxkZXIpKQorICAgICAgICAgIChzdWNjZWVkZWQ/CisgICAgICAgICAgICAoYnVpbGQtZGVy aXZhdGlvbnMgJXN0b3JlIChsaXN0IGRydikpKSkKKyAgICAgKGFuZCBzdWNjZWVkZWQ/CisgICAg ICAgICAgKGxldCAoKHAgKGRlcml2YXRpb24tPm91dHB1dC1wYXRoIGRydikpKQorICAgICAgICAg ICAgKGVxdWFsPworICAgICAgICAgICAgICAnKGhlbGxvIGd1aXgpCisgICAgICAgICAgICAgIChj YWxsLXdpdGgtaW5wdXQtZmlsZQorICAgICAgICAgICAgICAgIChzdHJpbmctYXBwZW5kIHAgIi90 ZXN0IikKKyAgICAgICAgICAgICAgICByZWFkKSkpKSkpCmFjdHVhbC12YWx1ZTogI3QKcmVzdWx0 OiBQQVNTCgp0ZXN0LW5hbWU6IGJ1aWxkLWV4cHJlc3Npb24tPmRlcml2YXRpb24gYW5kIG1heC1z aWxlbnQtdGltZQpsb2NhdGlvbjogL3RtcC9ndWl4LWJ1aWxkLWd1aXgtMC4xMy4wLTEyLjBhMTU0 YzErLmRydi0wL3NvdXJjZS90ZXN0cy9kZXJpdmF0aW9ucy5zY206NzU2CnNvdXJjZToKKyAodGVz dC1hc3NlcnQKKyAgICJidWlsZC1leHByZXNzaW9uLT5kZXJpdmF0aW9uIGFuZCBtYXgtc2lsZW50 LXRpbWUiCisgICAobGV0KiAoKHN0b3JlIChsZXQgKChzIChvcGVuLWNvbm5lY3Rpb24pKSkKKyAg ICAgICAgICAgICAgICAgICAoc2V0LWJ1aWxkLW9wdGlvbnMgcyAjOm1heC1zaWxlbnQtdGltZSAx KQorICAgICAgICAgICAgICAgICAgIHMpKQorICAgICAgICAgIChidWlsZGVyICcoYmVnaW4gKHNs ZWVwIDEwMCkgKG1rZGlyICVvdXRwdXQpICN0KSkKKyAgICAgICAgICAoZHJ2IChidWlsZC1leHBy ZXNzaW9uLT5kZXJpdmF0aW9uCisgICAgICAgICAgICAgICAgIHN0b3JlCisgICAgICAgICAgICAg ICAgICJzaWxlbnQiCisgICAgICAgICAgICAgICAgIGJ1aWxkZXIpKQorICAgICAgICAgIChvdXQt cGF0aCAoZGVyaXZhdGlvbi0+b3V0cHV0LXBhdGggZHJ2KSkpCisgICAgIChndWFyZCAoYyAoKG5p eC1wcm90b2NvbC1lcnJvcj8gYykKKyAgICAgICAgICAgICAgICAoYW5kIChzdHJpbmctY29udGFp bnMKKyAgICAgICAgICAgICAgICAgICAgICAgKG5peC1wcm90b2NvbC1lcnJvci1tZXNzYWdlIGMp CisgICAgICAgICAgICAgICAgICAgICAgICJmYWlsZWQiKQorICAgICAgICAgICAgICAgICAgICAg KG5vdCAodmFsaWQtcGF0aD8gc3RvcmUgb3V0LXBhdGgpKSkpKQorICAgICAgICAgICAgKGJ1aWxk LWRlcml2YXRpb25zIHN0b3JlIChsaXN0IGRydikpCisgICAgICAgICAgICAjZikpKQphY3R1YWwt dmFsdWU6ICN0CnJlc3VsdDogUEFTUwoKdGVzdC1uYW1lOiBidWlsZC1leHByZXNzaW9uLT5kZXJp dmF0aW9uIGFuZCB0aW1lb3V0CmxvY2F0aW9uOiAvdG1wL2d1aXgtYnVpbGQtZ3VpeC0wLjEzLjAt MTIuMGExNTRjMSsuZHJ2LTAvc291cmNlL3Rlc3RzL2Rlcml2YXRpb25zLnNjbTo3NzAKc291cmNl OgorICh0ZXN0LWFzc2VydAorICAgImJ1aWxkLWV4cHJlc3Npb24tPmRlcml2YXRpb24gYW5kIHRp bWVvdXQiCisgICAobGV0KiAoKHN0b3JlIChsZXQgKChzIChvcGVuLWNvbm5lY3Rpb24pKSkKKyAg ICAgICAgICAgICAgICAgICAoc2V0LWJ1aWxkLW9wdGlvbnMgcyAjOnRpbWVvdXQgMSkKKyAgICAg ICAgICAgICAgICAgICBzKSkKKyAgICAgICAgICAoYnVpbGRlciAnKGJlZ2luIChzbGVlcCAxMDAp IChta2RpciAlb3V0cHV0KSAjdCkpCisgICAgICAgICAgKGRydiAoYnVpbGQtZXhwcmVzc2lvbi0+ ZGVyaXZhdGlvbgorICAgICAgICAgICAgICAgICBzdG9yZQorICAgICAgICAgICAgICAgICAic2xv dyIKKyAgICAgICAgICAgICAgICAgYnVpbGRlcikpCisgICAgICAgICAgKG91dC1wYXRoIChkZXJp dmF0aW9uLT5vdXRwdXQtcGF0aCBkcnYpKSkKKyAgICAgKGd1YXJkIChjICgobml4LXByb3RvY29s LWVycm9yPyBjKQorICAgICAgICAgICAgICAgIChhbmQgKHN0cmluZy1jb250YWlucworICAgICAg ICAgICAgICAgICAgICAgICAobml4LXByb3RvY29sLWVycm9yLW1lc3NhZ2UgYykKKyAgICAgICAg ICAgICAgICAgICAgICAgImZhaWxlZCIpCisgICAgICAgICAgICAgICAgICAgICAobm90ICh2YWxp ZC1wYXRoPyBzdG9yZSBvdXQtcGF0aCkpKSkpCisgICAgICAgICAgICAoYnVpbGQtZGVyaXZhdGlv bnMgc3RvcmUgKGxpc3QgZHJ2KSkKKyAgICAgICAgICAgICNmKSkpCmFjdHVhbC12YWx1ZTogI3QK cmVzdWx0OiBQQVNTCgp0ZXN0LW5hbWU6IGJ1aWxkLWV4cHJlc3Npb24tPmRlcml2YXRpb24gYW5k IGRlcml2YXRpb24tcHJlcmVxdWlzaXRlcy10by1idWlsZApsb2NhdGlvbjogL3RtcC9ndWl4LWJ1 aWxkLWd1aXgtMC4xMy4wLTEyLjBhMTU0YzErLmRydi0wL3NvdXJjZS90ZXN0cy9kZXJpdmF0aW9u cy5zY206Nzg0CnNvdXJjZToKKyAodGVzdC1hc3NlcnQKKyAgICJidWlsZC1leHByZXNzaW9uLT5k ZXJpdmF0aW9uIGFuZCBkZXJpdmF0aW9uLXByZXJlcXVpc2l0ZXMtdG8tYnVpbGQiCisgICAobGV0 ICgoZHJ2IChidWlsZC1leHByZXNzaW9uLT5kZXJpdmF0aW9uICVzdG9yZSAiZmFpbCIgI2YpKSkK KyAgICAgKG51bGw/IChkZXJpdmF0aW9uLXByZXJlcXVpc2l0ZXMtdG8tYnVpbGQgJXN0b3JlIGRy dikpKSkKYWN0dWFsLXZhbHVlOiAjdApyZXN1bHQ6IFBBU1MKCnRlc3QtbmFtZTogZGVyaXZhdGlv bi1wcmVyZXF1aXNpdGVzLXRvLWJ1aWxkIHdoZW4gb3V0cHV0cyBhbHJlYWR5IHByZXNlbnQKbG9j YXRpb246IC90bXAvZ3VpeC1idWlsZC1ndWl4LTAuMTMuMC0xMi4wYTE1NGMxKy5kcnYtMC9zb3Vy Y2UvdGVzdHMvZGVyaXZhdGlvbnMuc2NtOjc5MApzb3VyY2U6CisgKHRlc3QtYXNzZXJ0CisgICAi ZGVyaXZhdGlvbi1wcmVyZXF1aXNpdGVzLXRvLWJ1aWxkIHdoZW4gb3V0cHV0cyBhbHJlYWR5IHBy ZXNlbnQiCisgICAobGV0KiAoKGJ1aWxkZXIgJyhiZWdpbiAobWtkaXIgJW91dHB1dCkgI3QpKQor ICAgICAgICAgIChpbnB1dC1kcnYKKyAgICAgICAgICAgIChidWlsZC1leHByZXNzaW9uLT5kZXJp dmF0aW9uCisgICAgICAgICAgICAgICVzdG9yZQorICAgICAgICAgICAgICAiaW5wdXQiCisgICAg ICAgICAgICAgIGJ1aWxkZXIpKQorICAgICAgICAgIChpbnB1dC1wYXRoCisgICAgICAgICAgICAo ZGVyaXZhdGlvbi1vdXRwdXQtcGF0aAorICAgICAgICAgICAgICAoYXNzb2MtcmVmIChkZXJpdmF0 aW9uLW91dHB1dHMgaW5wdXQtZHJ2KSAib3V0IikpKQorICAgICAgICAgIChkcnYgKGJ1aWxkLWV4 cHJlc3Npb24tPmRlcml2YXRpb24KKyAgICAgICAgICAgICAgICAgJXN0b3JlCisgICAgICAgICAg ICAgICAgICJzb21ldGhpbmciCisgICAgICAgICAgICAgICAgIGJ1aWxkZXIKKyAgICAgICAgICAg ICAgICAgIzppbnB1dHMKKyAgICAgICAgICAgICAgICAgYCgoImkiICxpbnB1dC1kcnYpKSkpCisg ICAgICAgICAgQCBidWlsZC1zdGFydGVkIC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9jYmM0djd2YW5j MDFoNzFxbm5ncjBrMzVrdnZ2aWs5di1pbnB1dC5kcnYgLSB4ODZfNjQtbGludXggL3RtcC9ndWl4 LXRlc3RzL3Zhci9sb2cvZ3VpeC9kcnZzL2NiLy9jNHY3dmFuYzAxaDcxcW5uZ3IwazM1a3Z2dmlr OXYtaW5wdXQuZHJ2LmJ6MgpAIGJ1aWxkLXN1Y2NlZWRlZCAvdG1wL2d1aXgtdGVzdHMvc3RvcmUv Y2JjNHY3dmFuYzAxaDcxcW5uZ3IwazM1a3Z2dmlrOXYtaW5wdXQuZHJ2IC0KQCBidWlsZC1zdGFy dGVkIC90bXAvZ3VpeC10ZXN0cy9zdG9yZS81eWtncnZ6Nm5zbThyejUxaHd3MHdmYjdrajgzczV4 Ny1zb21ldGhpbmcuZHJ2IC0geDg2XzY0LWxpbnV4IC90bXAvZ3VpeC10ZXN0cy92YXIvbG9nL2d1 aXgvZHJ2cy81eS8va2dydno2bnNtOHJ6NTFod3cwd2ZiN2tqODNzNXg3LXNvbWV0aGluZy5kcnYu YnoyCkAgYnVpbGQtc3VjY2VlZGVkIC90bXAvZ3VpeC10ZXN0cy9zdG9yZS81eWtncnZ6Nm5zbThy ejUxaHd3MHdmYjdrajgzczV4Ny1zb21ldGhpbmcuZHJ2IC0KZmluZGluZyBnYXJiYWdlIGNvbGxl Y3RvciByb290cy4uLgpyZW1vdmluZyBzdGFsZSB0ZW1wb3Jhcnkgcm9vdHMgZmlsZSBgL3RtcC9n dWl4LXRlc3RzL3Zhci8xNDk2MS90ZW1wcm9vdHMvMTQ5OTEnCmRlbGV0aW5nIHVudXNlZCBsaW5r cy4uLgpzdWJzdGl0dXRlOiB3YXJuaW5nOiBhdXRoZW50aWNhdGlvbiBhbmQgYXV0aG9yaXphdGlv biBvZiBzdWJzdGl0dXRlcyBkaXNhYmxlZCEKc3Vic3RpdHV0ZTogZ3VpeCBzdWJzdGl0dXRlOiB3 YXJuaW5nOiBBQ0wgZm9yIGFyY2hpdmUgaW1wb3J0cyBzZWVtcyB0byBiZSB1bmluaXRpYWxpemVk LCBzdWJzdGl0dXRlcyBtYXkgYmUgdW5hdmFpbGFibGUKc3Vic3RpdHV0ZTogd2FybmluZzogYXV0 aGVudGljYXRpb24gYW5kIGF1dGhvcml6YXRpb24gb2Ygc3Vic3RpdHV0ZXMgZGlzYWJsZWQhCnN1 YnN0aXR1dGU6IGd1aXggc3Vic3RpdHV0ZTogd2FybmluZzogQUNMIGZvciBhcmNoaXZlIGltcG9y dHMgc2VlbXMgdG8gYmUgdW5pbml0aWFsaXplZCwgc3Vic3RpdHV0ZXMgbWF5IGJlIHVuYXZhaWxh YmxlCihvdXRwdXQgKGRlcml2YXRpb24tPm91dHB1dC1wYXRoIGRydikpKQorICAgICAod2hlbiAo dmFsaWQtcGF0aD8gJXN0b3JlIGlucHV0LXBhdGgpCisgICAgICAgICAgIChkZWxldGUtcGF0aHMg JXN0b3JlIChsaXN0IGlucHV0LXBhdGgpKSkKKyAgICAgKHdoZW4gKHZhbGlkLXBhdGg/ICVzdG9y ZSBvdXRwdXQpCisgICAgICAgICAgIChkZWxldGUtcGF0aHMgJXN0b3JlIChsaXN0IG91dHB1dCkp KQorICAgICAoYW5kIChlcXVhbD8KKyAgICAgICAgICAgIChtYXAgZGVyaXZhdGlvbi1pbnB1dC1w YXRoCisgICAgICAgICAgICAgICAgIChkZXJpdmF0aW9uLXByZXJlcXVpc2l0ZXMtdG8tYnVpbGQg JXN0b3JlIGRydikpCisgICAgICAgICAgICAobGlzdCAoZGVyaXZhdGlvbi1maWxlLW5hbWUgaW5w dXQtZHJ2KSkpCisgICAgICAgICAgKGJ1aWxkLWRlcml2YXRpb25zICVzdG9yZSAobGlzdCBkcnYp KQorICAgICAgICAgIChkZWxldGUtcGF0aHMgJXN0b3JlIChsaXN0IGlucHV0LXBhdGgpKQorICAg ICAgICAgIChub3QgKHZhbGlkLXBhdGg/ICVzdG9yZSBpbnB1dC1wYXRoKSkKKyAgICAgICAgICAo bnVsbD8gKGRlcml2YXRpb24tcHJlcmVxdWlzaXRlcy10by1idWlsZCAlc3RvcmUgZHJ2KSkpKSkK YWN0dWFsLXZhbHVlOiAjdApyZXN1bHQ6IFBBU1MKCnRlc3QtbmFtZTogZGVyaXZhdGlvbi1wcmVy ZXF1aXNpdGVzLXRvLWJ1aWxkIGFuZCBzdWJzdGl0dXRlcwpsb2NhdGlvbjogL3RtcC9ndWl4LWJ1 aWxkLWd1aXgtMC4xMy4wLTEyLjBhMTU0YzErLmRydi0wL3NvdXJjZS90ZXN0cy9kZXJpdmF0aW9u cy5zY206ODE5CnNvdXJjZToKKyAodGVzdC1hc3NlcnQKKyAgICJkZXJpdmF0aW9uLXByZXJlcXVp c2l0ZXMtdG8tYnVpbGQgYW5kIHN1YnN0aXR1dGVzIgorICAgKGxldCogKChzdG9yZSAob3Blbi1j b25uZWN0aW9uKSkKKyAgICAgICAgICAoZHJ2IChidWlsZC1leHByZXNzaW9uLT5kZXJpdmF0aW9u CisgICAgICAgICAgICAgICAgIHN0b3JlCisgICAgICAgICAgICAgICAgICJwcmVyZXEtc3Vic3Qi CisgICAgICAgICAgICAgICAgIChyYW5kb20gMTAwMCkpKQorICAgICAgICAgIChvdXRwdXQgKGRl cml2YXRpb24tPm91dHB1dC1wYXRoIGRydikpKQorICAgICAoc2V0LWJ1aWxkLW9wdGlvbnMKKyAg ICAgICBzdG9yZQorICAgICAgICM6dXNlLXN1YnN0aXR1dGVzPworICAgICAgICN0CisgICAgICAg IzpzdWJzdGl0dXRlLXVybHMKKyAgICAgICAoJXRlc3Qtc3Vic3RpdHV0ZS11cmxzKSkKKyAgICAg KHdpdGgtZGVyaXZhdGlvbi1uYXJpbmZvCisgICAgICAgZHJ2CisgICAgICAgKGxldC12YWx1ZXMK KyAgICAgICAgICgoKGJ1aWxkIGRvd25sb2FkKQorICAgICAgICAgICAoZGVyaXZhdGlvbi1wcmVy ZXF1aXNpdGVzLXRvLWJ1aWxkIHN0b3JlIGRydikpCisgICAgICAgICAgKChidWlsZCogZG93bmxv YWQqKQorICAgICAgICAgICAoZGVyaXZhdGlvbi1wcmVyZXF1aXNpdGVzLXRvLWJ1aWxkCisgICAg ICAgICAgICAgc3RvcmUKKyAgICAgICAgICAgICBkcnYKKyAgICAgICAgICAgICAjOnN1YnN0aXR1 dGFibGUtaW5mbworICAgICAgICAgICAgIChjb25zdCAjZikpKSkKKyAgICAgICAgIChhbmQgKG51 bGw/IGJ1aWxkKQorICAgICAgICAgICAgICAoZXF1YWw/CisgICAgICAgICAgICAgICAgKG1hcCBz dWJzdGl0dXRhYmxlLXBhdGggZG93bmxvYWQpCisgICAgICAgICAgICAgICAgKGxpc3Qgb3V0cHV0 KSkKKyAgICAgICAgICAgICAgKG51bGw/IGRvd25sb2FkKikKKyAgICAgICAgICAgICAgKG51bGw/ IGJ1aWxkKikpKSkpKQphY3R1YWwtdmFsdWU6ICN0CnJlc3VsdDogUEFTUwoKdGVzdC1uYW1lOiBk ZXJpdmF0aW9uLXByZXJlcXVpc2l0ZXMtdG8tYnVpbGQgYW5kIHN1YnN0aXR1dGVzLCBub24tc3Vi c3RpdHV0YWJsZSBidWlsZApsb2NhdGlvbjogL3RtcC9ndWl4LWJ1aWxkLWd1aXgtMC4xMy4wLTEy LjBhMTU0YzErLmRydi0wL3NvdXJjZS90ZXN0cy9kZXJpdmF0aW9ucy5zY206ODQxCnNvdXJjZToK KyAodGVzdC1hc3NlcnQKKyAgICJkZXJpdmF0aW9uLXByZXJlcXVpc2l0ZXMtdG8tYnVpbGQgYW5k IHN1YnN0aXR1dGVzLCBub24tc3Vic3RpdHV0YWJsZSBidWlsZCIKKyAgIChsZXQqICgoc3RvcmUg KG9wZW4tY29ubmVjdGlvbikpCisgICAgICAgICAgKGRydiAoYnVpbGQtZXhwcmVzc2lvbi0+ZGVy aXZhdGlvbgorICAgICAgICAgICAgICAgICBzdG9yZQorICAgICAgICAgICAgICAgICAicHJlcmVx LW5vLXN1YnN0IgorICAgICAgICAgICAgICAgICAocmFuZG9tIDEwMDApCisgICAgICAgICAgICAg ICAgICM6c3Vic3RpdHV0YWJsZT8KKyAgICAgICAgICAgICAgICAgI2YpKQorICAgICAgICAgIChv dXRwdXQgKGRlcml2YXRpb24tPm91dHB1dC1wYXRoIGRydikpKQorICAgICAoc2V0LWJ1aWxkLW9w dGlvbnMKKyAgICAgICBzdG9yZQorICAgICAgICM6dXNlLXN1YnN0aXR1dGVzPworICAgICAgICN0 CisgICAgICAgIzpzdWJzdGl0dXRlLXVybHMKKyAgICAgICAoJXRlc3Qtc3Vic3RpdHV0ZS11cmxz KSkKKyAgICAgKHdpdGgtZGVyaXZhdGlvbi1uYXJpbmZvCisgICAgICAgZHJ2CisgICAgICAgKGxl dC12YWx1ZXMKKyAgICAgICAgICgoKGJ1aWxkIGRvd25sb2FkKQorICAgICAgICAgICAoZGVyaXZh dGlvbi1wcmVyZXF1aXNpdGVzLXRvLWJ1aWxkIHN0b3JlIGRydikpKQorICAgICAgICAgKGFuZCAo bnVsbD8gZG93bmxvYWQpCisgICAgICAgICAgICAgIChtYXRjaCBidWlsZAorICAgICAgICAgICAg ICAgICAgICAgKCgoPyBkZXJpdmF0aW9uLWlucHV0PyBpbnB1dCkpCisgICAgICAgICAgICAgICAg ICAgICAgKHN0cmluZz0/CisgICAgICAgICAgICAgICAgICAgICAgICAoZGVyaXZhdGlvbi1pbnB1 dC1wYXRoIGlucHV0KQorICAgICAgICAgICAgICAgICAgICAgICAgKGRlcml2YXRpb24tZmlsZS1u YW1lIGRydikpKSkpKSkpKQphY3R1YWwtdmFsdWU6ICN0CnJlc3VsdDogUEFTUwoKdGVzdC1uYW1l OiBkZXJpdmF0aW9uLXByZXJlcXVpc2l0ZXMtdG8tYnVpbGQgYW5kIHN1YnN0aXR1dGVzLCBsb2Nh bCBidWlsZApsb2NhdGlvbjogL3RtcC9ndWl4LWJ1aWxkLWd1aXgtMC4xMy4wLTEyLjBhMTU0YzEr LmRydi0wL3NvdXJjZS90ZXN0cy9kZXJpdmF0aW9ucy5zY206ODYzCnNvdXJjZToKKyAodGVzdC1h c3NlcnQKKyAgICJkZXJpdmF0aW9uLXByZXJlcXVpc2l0ZXMtdG8tYnVpbGQgYW5kIHN1YnN0aXR1 dGVzLCBsb2NhbCBidWlsZCIKKyAgICh3aXRoLXN0b3JlCisgICAgIHN0b3JlCisgICAgIChsZXQq ICgoZHJ2IChidWlsZC1leHByZXNzaW9uLT5kZXJpdmF0aW9uCisgICAgICAgICAgICAgICAgICAg c3RvcmUKKyAgICAgICAgICAgICAgICAgICAicHJlcmVxLXN1YnN0LWxvY2FsIgorICAgICAgICAg ICAgICAgICAgIChyYW5kb20gMTAwMCkKKyAgICAgICAgICAgICAgICAgICAjOmxvY2FsLWJ1aWxk PworICAgICAgICAgICAgICAgICAgICN0KSkKKyAgICAgICAgICAgIChvdXRwdXQgKGRlcml2YXRp b24tPm91dHB1dC1wYXRoIGRydikpKQorICAgICAgIChzZXQtYnVpbGQtb3B0aW9ucworICAgICAg ICAgc3RvcmUKKyAgICAgICAgICM6dXNlLXN1YnN0aXR1dGVzPworICAgICAgICAgI3QKKyAgICAg ICAgICM6c3Vic3RpdHV0ZS11cmxzCisgICAgICAgICAoJXRlc3Qtc3Vic3RpdHV0ZS11cmxzKSkK KyAgICAgICAod2l0aC1kZXJpdmF0aW9uLW5hcmluZm8KKyAgICAgICAgIGRydgorICAgICAgICAg KGxldC12YWx1ZXMKKyAgICAgICAgICAgKCgoYnVpbGQgZG93bmxvYWQpCisgICAgICAgICAgICAg KGRlcml2YXRpb24tcHJlcmVxdWlzaXRlcy10by1idWlsZCBzdG9yZSBkcnYpKSkKKyAgICAgICAg ICAgKGFuZCAobnVsbD8gYnVpbGQpCisgICAgICAgICAgICAgICAgKG1hdGNoIGRvd25sb2FkCisg ICAgICAgICAgICAgICAgICAgICAgICgoKD0gc3Vic3RpdHV0YWJsZS1wYXRoIGl0ZW0pKQorICAg ICAgICAgICAgICAgICAgICAgICAgKHN0cmluZz0/IGl0ZW0gKGRlcml2YXRpb24tPm91dHB1dC1w YXRoIGRydikpKSkpKSkpKSkKYWN0dWFsLXZhbHVlOiAjdApyZXN1bHQ6IFBBU1MKCnRlc3QtbmFt ZTogZGVyaXZhdGlvbi1wcmVyZXF1aXNpdGVzLXRvLWJ1aWxkIGluICdjaGVjaycgbW9kZQpzdWJz dGl0dXRlOiB3YXJuaW5nOiBhdXRoZW50aWNhdGlvbiBhbmQgYXV0aG9yaXphdGlvbiBvZiBzdWJz dGl0dXRlcyBkaXNhYmxlZCEKc3Vic3RpdHV0ZTogZ3VpeCBzdWJzdGl0dXRlOiB3YXJuaW5nOiBB Q0wgZm9yIGFyY2hpdmUgaW1wb3J0cyBzZWVtcyB0byBiZSB1bmluaXRpYWxpemVkLCBzdWJzdGl0 dXRlcyBtYXkgYmUgdW5hdmFpbGFibGUKYnVpbGRpbmcgcGF0aChzKSBgL3RtcC9ndWl4LXRlc3Rz L3N0b3JlL3ZycjBzMzlhNjh6YW43MXE0YThpaTN6eGluYWp2a212LWRlcCcKYnVpbGRpbmcgcGF0 aChzKSBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL2ZtcGZmbTlscWJwMnZtY3o3ejlrbTg4d2ZrYzFr djB4LXRvLWNoZWNrJwpmaW5kaW5nIGdhcmJhZ2UgY29sbGVjdG9yIHJvb3RzLi4uCnJlbW92aW5n IHN0YWxlIHRlbXBvcmFyeSByb290cyBmaWxlIGAvdG1wL2d1aXgtdGVzdHMvdmFyLzE0OTYxL3Rl bXByb290cy8xNTc2MycKZGVsZXRpbmcgYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS92cnIwczM5YTY4 emFuNzFxNGE4aWkzenhpbmFqdmttdi1kZXAnCmRlbGV0aW5nIGAvdG1wL2d1aXgtdGVzdHMvc3Rv cmUvdHJhc2gnCmRlbGV0aW5nIHVudXNlZCBsaW5rcy4uLgpub3RlOiBjdXJyZW50bHkgaGFyZCBs aW5raW5nIHNhdmVzIDAuMDggTWlCCkAgYnVpbGQtc3RhcnRlZCAvdG1wL2d1aXgtdGVzdHMvc3Rv cmUva3Z6M2NzcndwaGE0M3BrM212aHdzcnp3Mnl6NXF2aXYtZmFpbC5kcnYgLSB4ODZfNjQtbGlu dXggL3RtcC9ndWl4LXRlc3RzL3Zhci9sb2cvZ3VpeC9kcnZzL2t2Ly96M2NzcndwaGE0M3BrM212 aHdzcnp3Mnl6NXF2aXYtZmFpbC5kcnYuYnoyCmJ1aWxkZXIgZm9yIGAvdG1wL2d1aXgtdGVzdHMv c3RvcmUva3Z6M2NzcndwaGE0M3BrM212aHdzcnp3Mnl6NXF2aXYtZmFpbC5kcnYnIGZhaWxlZCB3 aXRoIGV4aXQgY29kZSAxCkAgYnVpbGQtZmFpbGVkIC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9rdnoz Y3Nyd3BoYTQzcGszbXZod3NyencyeXo1cXZpdi1mYWlsLmRydiAtIDEgYnVpbGRlciBmb3IgYC90 bXAvZ3VpeC10ZXN0cy9zdG9yZS9rdnozY3Nyd3BoYTQzcGszbXZod3NyencyeXo1cXZpdi1mYWls LmRydicgZmFpbGVkIHdpdGggZXhpdCBjb2RlIDEKbG9jYXRpb246IC90bXAvZ3VpeC1idWlsZC1n dWl4LTAuMTMuMC0xMi4wYTE1NGMxKy5kcnYtMC9zb3VyY2UvdGVzdHMvZGVyaXZhdGlvbnMuc2Nt Ojg4NQpzb3VyY2U6CisgKHRlc3QtYXNzZXJ0CisgICAiZGVyaXZhdGlvbi1wcmVyZXF1aXNpdGVz LXRvLWJ1aWxkIGluICdjaGVjaycgbW9kZSIKKyAgICh3aXRoLXN0b3JlCisgICAgIHN0b3JlCisg ICAgIChsZXQqICgoZGVwIChidWlsZC1leHByZXNzaW9uLT5kZXJpdmF0aW9uCisgICAgICAgICAg ICAgICAgICAgc3RvcmUKKyAgICAgICAgICAgICAgICAgICAiZGVwIgorICAgICAgICAgICAgICAg ICAgIGAoYmVnaW4gLChyYW5kb20tdGV4dCkgKG1rZGlyICVvdXRwdXQpKSkpCisgICAgICAgICAg ICAoZHJ2IChidWlsZC1leHByZXNzaW9uLT5kZXJpdmF0aW9uCisgICAgICAgICAgICAgICAgICAg c3RvcmUKKyAgICAgICAgICAgICAgICAgICAidG8tY2hlY2siCisgICAgICAgICAgICAgICAgICAg Jyhta2RpciAlb3V0cHV0KQorICAgICAgICAgICAgICAgICAgICM6aW5wdXRzCisgICAgICAgICAg ICAgICAgICAgYCgoImRlcCIgLGRlcCkpKSkpCisgICAgICAgKGJ1aWxkLWRlcml2YXRpb25zIHN0 b3JlIChsaXN0IGRydikpCisgICAgICAgKGRlbGV0ZS1wYXRocworICAgICAgICAgc3RvcmUKKyAg ICAgICAgIChsaXN0IChkZXJpdmF0aW9uLT5vdXRwdXQtcGF0aCBkZXApKSkKKyAgICAgICAoYW5k IChudWxsPyAoZGVyaXZhdGlvbi1wcmVyZXF1aXNpdGVzLXRvLWJ1aWxkIHN0b3JlIGRydikpCisg ICAgICAgICAgICAobWF0Y2ggKGRlcml2YXRpb24tcHJlcmVxdWlzaXRlcy10by1idWlsZAorICAg ICAgICAgICAgICAgICAgICAgc3RvcmUKKyAgICAgICAgICAgICAgICAgICAgIGRydgorICAgICAg ICAgICAgICAgICAgICAgIzptb2RlCisgICAgICAgICAgICAgICAgICAgICAoYnVpbGQtbW9kZSBj aGVjaykpCisgICAgICAgICAgICAgICAgICAgKChpbnB1dCkKKyAgICAgICAgICAgICAgICAgICAg KHN0cmluZz0/CisgICAgICAgICAgICAgICAgICAgICAgKGRlcml2YXRpb24taW5wdXQtcGF0aCBp bnB1dCkKKyAgICAgICAgICAgICAgICAgICAgICAoZGVyaXZhdGlvbi1maWxlLW5hbWUgZGVwKSkp KSkpKSkKYWN0dWFsLXZhbHVlOiAjdApyZXN1bHQ6IFBBU1MKCnRlc3QtbmFtZTogc3Vic3RpdHV0 aW9uLW9yYWNsZSBhbmQgIzpzdWJzdGl0dXRlPyAjZgpsb2NhdGlvbjogL3RtcC9ndWl4LWJ1aWxk LWd1aXgtMC4xMy4wLTEyLjBhMTU0YzErLmRydi0wL3NvdXJjZS90ZXN0cy9kZXJpdmF0aW9ucy5z Y206OTA1CnNvdXJjZToKKyAodGVzdC1hc3NlcnQKKyAgICJzdWJzdGl0dXRpb24tb3JhY2xlIGFu ZCAjOnN1YnN0aXR1dGU/ICNmIgorICAgKHdpdGgtc3RvcmUKKyAgICAgc3RvcmUKKyAgICAgKGxl dCogKChkZXAgKGJ1aWxkLWV4cHJlc3Npb24tPmRlcml2YXRpb24KKyAgICAgICAgICAgICAgICAg ICBzdG9yZQorICAgICAgICAgICAgICAgICAgICJkZXAiCisgICAgICAgICAgICAgICAgICAgYChi ZWdpbiAsKHJhbmRvbS10ZXh0KSAobWtkaXIgJW91dHB1dCkpKSkKKyAgICAgICAgICAgIChkcnYg KGJ1aWxkLWV4cHJlc3Npb24tPmRlcml2YXRpb24KKyAgICAgICAgICAgICAgICAgICBzdG9yZQor ICAgICAgICAgICAgICAgICAgICJub3Qtc3Vic3QiCisgICAgICAgICAgICAgICAgICAgYChiZWdp biAsKHJhbmRvbS10ZXh0KSAobWtkaXIgJW91dHB1dCkpCisgICAgICAgICAgICAgICAgICAgIzpz dWJzdGl0dXRhYmxlPworICAgICAgICAgICAgICAgICAgICNmCisgICAgICAgICAgICAgICAgICAg IzppbnB1dHMKKyAgICAgICAgICAgICAgICAgICBgKCgiZGVwIiAsZGVwKSkpKQorICAgICAgICAg ICAgKHF1ZXJ5ICNmKSkKKyAgICAgICAoZGVmaW5lIChyZWNvcmQtc3Vic3RpdHV0YWJsZS1wYXRo LXF1ZXJ5IHN0b3JlIHBhdGhzKQorICAgICAgICAgKHdoZW4gcXVlcnkgKGVycm9yICJhbHJlYWR5 IGNhbGxlZCEiIHF1ZXJ5KSkKKyAgICAgICAgIChzZXQhIHF1ZXJ5IHBhdGhzKQorICAgICAgICAg JygpKQorICAgICAgIChtb2NrICgoZ3VpeCBzdG9yZSkKKyAgICAgICAgICAgICAgc3Vic3RpdHV0 YWJsZS1wYXRoLWluZm8KKyAgICAgICAgICAgICAgcmVjb3JkLXN1YnN0aXR1dGFibGUtcGF0aC1x dWVyeSkKKyAgICAgICAgICAgICAobGV0ICgocHJlZCAoc3Vic3RpdHV0aW9uLW9yYWNsZSBzdG9y ZSAobGlzdCBkcnYpKSkpCisgICAgICAgICAgICAgICAocHJlZCAoZGVyaXZhdGlvbi0+b3V0cHV0 LXBhdGggZHJ2KSkpKQorICAgICAgIChlcXVhbD8KKyAgICAgICAgIChwayAncXVlcnkgcXVlcnkp CisgICAgICAgICAobGlzdCAoZGVyaXZhdGlvbi0+b3V0cHV0LXBhdGggZGVwKSkpKSkpCgo7Ozsg KHF1ZXJ5ICgiL3RtcC9ndWl4LXRlc3RzL3N0b3JlL2twcXlxa3huY2djaDAwc2lkNjV3NnhkMGJw MGx2eng0LWRlcCIpKQphY3R1YWwtdmFsdWU6ICN0CnJlc3VsdDogUEFTUwoKdGVzdC1uYW1lOiBi dWlsZC1leHByZXNzaW9uLT5kZXJpdmF0aW9uIHdpdGggZXhwcmVzc2lvbiByZXR1cm5pbmcgI2YK bG9jYXRpb246IC90bXAvZ3VpeC1idWlsZC1ndWl4LTAuMTMuMC0xMi4wYTE1NGMxKy5kcnYtMC9z b3VyY2UvdGVzdHMvZGVyaXZhdGlvbnMuc2NtOjkzNApzb3VyY2U6CisgKHRlc3QtYXNzZXJ0Cisg ICAiYnVpbGQtZXhwcmVzc2lvbi0+ZGVyaXZhdGlvbiB3aXRoIGV4cHJlc3Npb24gcmV0dXJuaW5n ICNmIgorICAgKGxldCogKChidWlsZGVyICcoYmVnaW4gKG1rZGlyICVvdXRwdXQpICNmKSkKKyAg ICAgICAgICAoZHJ2IChidWlsZC1leHByZXNzaW9uLT5kZXJpdmF0aW9uCisgICAgICAgICAgICAg ICAgICVzdG9yZQorICAgICAgICAgICAgICAgICAiZmFpbCIKKyAgICAgICAgICAgICAgICAgYnVp bGRlcikpCisgICAgICAgICAgKG91dC1wYXRoIChkZXJpdmF0aW9uLT5vdXRwdXQtcGF0aCBkcnYp KSkKKyAgICAgKGd1YXJkIChjICgobml4LXByb3RvY29sLWVycm9yPyBjKQorICAgICAgICAgICAg ICAgIChhbmQgKHN0cmluZy1tYXRjaAorICAgICAgICAgICAgICAgICAgICAgICAiYnVpbGQgLiog ZmFpbGVkIgorICAgICAgICAgICAgICAgICAgICAgICAobml4LXByb3RvY29sLWVycm9yLW1lc3Nh Z2UgYykpCisgICAgICAgICAgICAgICAgICAgICAobm90ICh2YWxpZC1wYXRoPyAlc3RvcmUgb3V0 LXBhdGgpKSkpKQorICAgICAgICAgICAgKGJ1aWxkLWRlcml2YXRpb25zICVzdG9yZSAobGlzdCBk cnYpKQorICAgICAgICAgICAgI2YpKSkKYWN0dWFsLXZhbHVlOiAjdApyZXN1bHQ6IFBBU1MKCnRl c3QtbmFtZTogYnVpbGQtZXhwcmVzc2lvbi0+ZGVyaXZhdGlvbiB3aXRoIHR3byBvdXRwdXRzCmxv Y2F0aW9uOiAvdG1wL2d1aXgtYnVpbGQtZ3VpeC0wLjEzLjAtMTIuMGExNTRjMSsuZHJ2LTAvc291 cmNlL3Rlc3RzL2Rlcml2YXRpb25zLnNjbTo5NDkKc291cmNlOgorICh0ZXN0LWFzc2VydAorICAg ImJ1aWxkLWV4cHJlc3Npb24tPmRlcml2YXRpb24gd2l0aCB0d28gb3V0cHV0cyIKKyAgIChsZXQq ICgoYnVpbGRlcgorICAgICAgICAgICAgJyhiZWdpbgorICAgICAgICAgICAgICAgKGNhbGwtd2l0 aC1vdXRwdXQtZmlsZQorICAgICAgICAgICAgICAgICAoYXNzb2MtcmVmICVvdXRwdXRzICJvdXQi KQorICAgICAgICAgICAgICAgICAobGFtYmRhIChwKSAoZGlzcGxheSAnKGhlbGxvKSBwKSkpCisg ICAgICAgICAgICAgICAoY2FsbC13aXRoLW91dHB1dC1maWxlCisgICAgICAgICAgICAgICAgIChh c3NvYy1yZWYgJW91dHB1dHMgInNlY29uZCIpCisgICAgICAgICAgICAgICAgIChsYW1iZGEgKHAp IChkaXNwbGF5ICcod29ybGQpIHApKSkpKQorICAgICAgICAgIChkcnYgKGJ1aWxkLWV4cHJlc3Np b24tPmRlcml2YXRpb24KKyAgICAgICAgICAgICAgICAgJXN0b3JlCisgICAgICAgICAgICAgICAg ICJkb3VibGUiCisgICAgICAgICAgICAgICAgIGJ1aWxkZXIKKyAgICAgICAgICAgICAgICAgIzpv dXRwdXRzCisgICAgICAgICAgICAgICAgICcoIm91dCIgInNlY29uZCIpKSkKKyAgICAgICAgICAo c3VjY2VlZGVkPworICAgICAgICAgICAgKGJ1aWxkLWRlcml2YXRpb25zICVzdG9yZSAobGlzdCBk cnYpKSkpCisgICAgIChhbmQgQCBidWlsZC1zdGFydGVkIC90bXAvZ3VpeC10ZXN0cy9zdG9yZS92 M2Q2YWs0aDQ2aWxsbjZ5cWtpZDZmc2lkM2k3NDl5eS1kb3VibGUuZHJ2IC0geDg2XzY0LWxpbnV4 IC90bXAvZ3VpeC10ZXN0cy92YXIvbG9nL2d1aXgvZHJ2cy92My8vZDZhazRoNDZpbGxuNnlxa2lk NmZzaWQzaTc0OXl5LWRvdWJsZS5kcnYuYnoyCkAgYnVpbGQtc3VjY2VlZGVkIC90bXAvZ3VpeC10 ZXN0cy9zdG9yZS92M2Q2YWs0aDQ2aWxsbjZ5cWtpZDZmc2lkM2k3NDl5eS1kb3VibGUuZHJ2IC0K QCBidWlsZC1zdGFydGVkIC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9rZ3Y0dmhuY2s4bjk3cmFncGQz M2NkdmZwaWZ6bW1xNS1tb2R1bGUtaW1wb3J0LmRydiAtIHg4Nl82NC1saW51eCAvdG1wL2d1aXgt dGVzdHMvdmFyL2xvZy9ndWl4L2RydnMva2cvL3Y0dmhuY2s4bjk3cmFncGQzM2NkdmZwaWZ6bW1x NS1tb2R1bGUtaW1wb3J0LmRydi5iejIKQCBidWlsZC1zdWNjZWVkZWQgL3RtcC9ndWl4LXRlc3Rz L3N0b3JlL2tndjR2aG5jazhuOTdyYWdwZDMzY2R2ZnBpZnptbXE1LW1vZHVsZS1pbXBvcnQuZHJ2 IC0KQCBidWlsZC1zdGFydGVkIC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9qcmlud3g2MDQwNDBhdndu emE5azYwdnMyNjd2ZGw3bi1tb2R1bGUtaW1wb3J0LWNvbXBpbGVkLmRydiAtIHg4Nl82NC1saW51 eCAvdG1wL2d1aXgtdGVzdHMvdmFyL2xvZy9ndWl4L2RydnMvanIvL2lud3g2MDQwNDBhdnduemE5 azYwdnMyNjd2ZGw3bi1tb2R1bGUtaW1wb3J0LWNvbXBpbGVkLmRydi5iejIKQCBidWlsZC1zdWNj ZWVkZWQgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL2pyaW53eDYwNDA0MGF2d256YTlrNjB2czI2N3Zk bDduLW1vZHVsZS1pbXBvcnQtY29tcGlsZWQuZHJ2IC0KQCBidWlsZC1zdGFydGVkIC90bXAvZ3Vp eC10ZXN0cy9zdG9yZS9ja2I2ZjQwNXFnamwxc3BneDFqbms2anBmaWw0OWlxMC10ZXN0LXdpdGgt bW9kdWxlcy5kcnYgLSB4ODZfNjQtbGludXggL3RtcC9ndWl4LXRlc3RzL3Zhci9sb2cvZ3VpeC9k cnZzL2NrLy9iNmY0MDVxZ2psMXNwZ3gxam5rNmpwZmlsNDlpcTAtdGVzdC13aXRoLW1vZHVsZXMu ZHJ2LmJ6MgpAIGJ1aWxkLXN1Y2NlZWRlZCAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvY2tiNmY0MDVx Z2psMXNwZ3gxam5rNmpwZmlsNDlpcTAtdGVzdC13aXRoLW1vZHVsZXMuZHJ2IC0Kc3VjY2VlZGVk PworICAgICAgICAgIChsZXQgKChvbmUgKGRlcml2YXRpb24tPm91dHB1dC1wYXRoIGRydikpCisg ICAgICAgICAgICAgICAgKHR3byAoZGVyaXZhdGlvbi0+b3V0cHV0LXBhdGggZHJ2ICJzZWNvbmQi KSkpCisgICAgICAgICAgICAoYW5kIChlcXVhbD8gJyhoZWxsbykgKGNhbGwtd2l0aC1pbnB1dC1m aWxlIG9uZSByZWFkKSkKKyAgICAgICAgICAgICAgICAgKGVxdWFsPyAnKHdvcmxkKSAoY2FsbC13 aXRoLWlucHV0LWZpbGUgdHdvIHJlYWQpKSkpKSkpCmFjdHVhbC12YWx1ZTogI3QKcmVzdWx0OiBQ QVNTCgp0ZXN0LW5hbWU6IGJ1aWxkLWV4cHJlc3Npb24tPmRlcml2YXRpb24gd2l0aCBvbmUgaW5w dXQKbG9jYXRpb246IC90bXAvZ3VpeC1idWlsZC1ndWl4LTAuMTMuMC0xMi4wYTE1NGMxKy5kcnYt MC9zb3VyY2UvdGVzdHMvZGVyaXZhdGlvbnMuc2NtOjk2OApzb3VyY2U6CisgKHRlc3QtYXNzZXJ0 CisgICAiYnVpbGQtZXhwcmVzc2lvbi0+ZGVyaXZhdGlvbiB3aXRoIG9uZSBpbnB1dCIKKyAgIChs ZXQqICgoYnVpbGRlcgorICAgICAgICAgICAgJyhjYWxsLXdpdGgtb3V0cHV0LWZpbGUKKyAgICAg ICAgICAgICAgICVvdXRwdXQKKyAgICAgICAgICAgICAgIChsYW1iZGEgKHApCisgICAgICAgICAg ICAgICAgIChsZXQgKChjdSAoYXNzb2MtcmVmICVidWlsZC1pbnB1dHMgImN1IikpKQorICAgICAg ICAgICAgICAgICAgIChjbG9zZSAxKQorICAgICAgICAgICAgICAgICAgIChkdXAyIChwb3J0LT5m ZGVzIHApIDEpCisgICAgICAgICAgICAgICAgICAgKGV4ZWNsIChzdHJpbmctYXBwZW5kIGN1ICIv YmluL3VuYW1lIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgInVuYW1lIgorICAgICAgICAg ICAgICAgICAgICAgICAgICAiLWEiKSkpKSkKKyAgICAgICAgICAoZHJ2IChidWlsZC1leHByZXNz aW9uLT5kZXJpdmF0aW9uCisgICAgICAgICAgICAgICAgICVzdG9yZQorICAgICAgICAgICAgICAg ICAidW5hbWUiCisgICAgICAgICAgICAgICAgIGJ1aWxkZXIKKyAgICAgICAgICAgICAgICAgIzpp bnB1dHMKKyAgICAgICAgICAgICAgICAgYCgoImN1IiAsJWNvcmV1dGlscykpKSkKKyAgICAgICAg ICAoc3VjY2VlZGVkPworICAgICAgICAgICAgKGJ1aWxkLWRlcml2YXRpb25zICVzdG9yZSAobGlz dCBkcnYpKSkpCisgICAgIChhbmQgc3VjY2VlZGVkPworICAgICAgICAgIChsZXQgKChwIChkZXJp dmF0aW9uLT5vdXRwdXQtcGF0aCBkcnYpKSkKKyAgICAgICAgICAgIChzdHJpbmctY29udGFpbnMK KyAgICAgICAgICAgICAgKGNhbGwtd2l0aC1pbnB1dC1maWxlIHAgcmVhZC1saW5lKQorICAgICAg ICAgICAgICAiR05VIikpKSkpCnJlc3VsdDogU0tJUAoKdGVzdC1uYW1lOiBidWlsZC1leHByZXNz aW9uLT5kZXJpdmF0aW9uIHdpdGggbW9kdWxlcwpsb2NhdGlvbjogL3RtcC9ndWl4LWJ1aWxkLWd1 aXgtMC4xMy4wLTEyLjBhMTU0YzErLmRydi0wL3NvdXJjZS90ZXN0cy9kZXJpdmF0aW9ucy5zY206 OTg0CnNvdXJjZToKKyAodGVzdC1hc3NlcnQKKyAgICJidWlsZC1leHByZXNzaW9uLT5kZXJpdmF0 aW9uIHdpdGggbW9kdWxlcyIKKyAgIChsZXQqICgoYnVpbGRlcgorICAgICAgICAgICAgYChiZWdp bgorICAgICAgICAgICAgICAgKHVzZS1tb2R1bGVzIChndWl4IGJ1aWxkIHV0aWxzKSkKKyAgICAg ICAgICAgICAgIChsZXQgKChvdXQgKGFzc29jLXJlZiAlb3V0cHV0cyAib3V0IikpKQorICAgICAg ICAgICAgICAgICAobWtkaXItcCAoc3RyaW5nLWFwcGVuZCBvdXQgIi9ndWlsZS9ndWl4L25peCIp KQorICAgICAgICAgICAgICAgICAjdCkpKQorICAgICAgICAgIChkcnYgKGJ1aWxkLWV4cHJlc3Np b24tPmRlcml2YXRpb24KKyAgICAgICAgICAgICAgICAgJXN0b3JlCisgICAgICAgICAgICAgICAg ICJ0ZXN0LXdpdGgtbW9kdWxlcyIKKyAgICAgICAgICAgICAgICAgYnVpbGRlcgorICAgICAgICAg ICAgICAgICAjOm1vZHVsZXMKKyAgICAgICAgICAgICAgICAgJygoZ3VpeCBidWlsZCB1dGlscykp KSkpCisgICAgIChhbmQgKGJ1aWxkLWRlcml2YXRpb25zICVzdG9yZSAobGlzdCBkcnYpKQorICAg ICAgICAgIChsZXQqICgocCAoZGVyaXZhdGlvbi0+b3V0cHV0LXBhdGggZHJ2KSkKKyAgICAgICAg ICAgICAgICAgKHMgKHN0YXQgKHN0cmluZy1hcHBlbmQgcCAiL2d1aWxlL2d1aXgvbml4IikpKSkK KyAgICAgICAgICAgIChlcT8gKHN0YXQ6dHlwZSBzKSAnZGlyZWN0b3J5KSkpKSkKYWN0dWFsLXZh bHVlOiAjdApyZXN1bHQ6IFBBU1MKCnRlc3QtbmFtZTogYnVpbGQtZXhwcmVzc2lvbi0+ZGVyaXZh dGlvbjogc2FtZSBmaXhlZC1vdXRwdXQgcGF0aApsb2NhdGlvbjogL3RtcC9ndWl4LWJ1aWxkLWd1 aXgtMC4xMy4wLTEyLjBhMTU0YzErLmRydi0wL3NvdXJjZS90ZXN0cy9kZXJpdmF0aW9ucy5zY206 OTk5CnNvdXJjZToKKyAodGVzdC1hc3NlcnQKKyAgICJidWlsZC1leHByZXNzaW9uLT5kZXJpdmF0 aW9uOiBzYW1lIGZpeGVkLW91dHB1dCBwYXRoIgorICAgKGxldCogKChidWlsZGVyMQorICAgICAg ICAgICAgJyhjYWxsLXdpdGgtb3V0cHV0LWZpbGUKKyAgICAgICAgICAgICAgICVvdXRwdXQKKyAg ICAgICAgICAgICAgIChsYW1iZGEgKHApICh3cml0ZSAiaGVsbG8iIHApKSkpCisgICAgICAgICAg KGJ1aWxkZXIyCisgICAgICAgICAgICAnKGNhbGwtd2l0aC1vdXRwdXQtZmlsZQorICAgICAgICAg ICAgICAgKHBrICdkaWZmZXJlbmNlLWhlcmUhICVvdXRwdXQpCisgICAgICAgICAgICAgICAobGFt YmRhIChwKSAod3JpdGUgImhlbGxvIiBwKSkpKQorICAgICAgICAgIChoYXNoIChzaGEyNTYgKHN0 cmluZy0+dXRmOCAiaGVsbG8iKSkpCisgICAgICAgICAgKGlucHV0MQorICAgICAgICAgICAgKGJ1 aWxkLWV4cHJlc3Npb24tPmRlcml2YXRpb24KKyAgICAgICAgICAgICAgJXN0b3JlCisgICAgICAg ICAgICAgICJmaXhlZCIKKyAgICAgICAgICAgICAgYnVpbGRlcjEKKyAgICAgICAgICAgICAgIzpo YXNoCisgICAgICAgICAgICAgIGhhc2gKKyAgICAgICAgICAgICAgIzpoYXNoLWFsZ28KKyAgICAg ICAgICAgICAgJ3NoYTI1NikpCisgICAgICAgICAgKGlucHV0MgorICAgICAgICAgICAgKGJ1aWxk LWV4cHJlc3Npb24tPmRlcml2YXRpb24KKyAgICAgICAgICAgICAgJXN0b3JlCisgICAgICAgICAg ICAgICJmaXhlZCIKKyAgICAgICAgICAgICAgYnVpbGRlcjIKKyAgICAgICAgICAgICAgIzpoYXNo CisgICAgICAgICAgICAgIGhhc2gKKyAgICAgICAgICAgICAgIzpoYXNoLWFsZ28KKyAgICAgICAg ICAgICAgJ3NoYTI1NikpCisgICAgICAgICAgKHN1Y2NlZWRlZD8KKyAgICAgICAgICAgIChidWls ZC1kZXJpdmF0aW9ucyAlc3RvcmUgKGxpc3QgaW5wdXQxIGlucHV0MikpKSkKKyAgICAgKGFuZCBz dWNjZWVkZWQ/CisgICAgICAgICAgKG5vdCAoc3RyaW5nPT8KKyAgICAgICAgICAgICAgICAgKGRl cml2YXRpb24tZmlsZS1uYW1lIGlucHV0MSkKKyAgICAgICAgICAgICAgICAgKGRlcml2YXRpb24t ZmlsZS1uYW1lIGlucHV0MikpKQorICAgICAgICAgIChzdHJpbmc9PworICAgICAgICAgICAgKGRl cml2YXRpb24tPm91dHB1dC1wYXRoIGlucHV0MSkKKyAgICAgICAgICAgIChkZXJpdmF0aW9uLT5v dXRwdXQtcGF0aCBpbnB1dDIpKSkpKQphY3R1YWwtdmFsdWU6ICN0CnJlc3VsdDogUEFTUwoKdGVz dC1uYW1lOiBidWlsZC1leHByZXNzaW9uLT5kZXJpdmF0aW9uIHdpdGggYSBmaXhlZC1vdXRwdXQg aW5wdXQKbG9jYXRpb246IC90bXAvZ3VpeC1idWlsZC1ndWl4LTAuMTMuMC0xMi4wYTE1NGMxKy5k cnYtMC9zb3VyY2UvdGVzdHMvZGVyaXZhdGlvbnMuc2NtOjEwMjAKc291cmNlOgorICh0ZXN0LWFz c2VydAorICAgImJ1aWxkLWV4cHJlc3Npb24tPmRlcml2YXRpb24gd2l0aCBhIGZpeGVkLW91dHB1 dCBpbnB1dCIKKyAgIChsZXQqICgoYnVpbGRlcjEKKyAgICAgICAgICAgICcoY2FsbC13aXRoLW91 dHB1dC1maWxlCisgICAgICAgICAgICAgICAlb3V0cHV0CisgICAgICAgICAgICAgICAobGFtYmRh IChwKSAod3JpdGUgImhlbGxvIiBwKSkpKQorICAgICAgICAgIChidWlsZGVyMgorICAgICAgICAg ICAgJyhjYWxsLXdpdGgtb3V0cHV0LWZpbGUKKyAgICAgICAgIEAgYnVpbGQtc3RhcnRlZCAvdG1w L2d1aXgtdGVzdHMvc3RvcmUvOGRraG5mcHJram42cDVoaDZhYmpidmhjeXBpZjFkam4tZmluYWwu ZHJ2IC0geDg2XzY0LWxpbnV4IC90bXAvZ3VpeC10ZXN0cy92YXIvbG9nL2d1aXgvZHJ2cy84ZC8v a2huZnBya2puNnA1aGg2YWJqYnZoY3lwaWYxZGpuLWZpbmFsLmRydi5iejIKQCBidWlsZC1zdWNj ZWVkZWQgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzhka2huZnBya2puNnA1aGg2YWJqYnZoY3lwaWYx ZGpuLWZpbmFsLmRydiAtCkAgYnVpbGQtc3RhcnRlZCAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvcTlt bDZpd3o0YjhqZmZnZDZsM2prbGxtMGxtOWc3YXctZml4ZWQtcmVjLmRydiAtIHg4Nl82NC1saW51 eCAvdG1wL2d1aXgtdGVzdHMvdmFyL2xvZy9ndWl4L2RydnMvcTkvL21sNml3ejRiOGpmZmdkNmwz amtsbG0wbG05Zzdhdy1maXhlZC1yZWMuZHJ2LmJ6MgpAIGJ1aWxkLXN1Y2NlZWRlZCAvdG1wL2d1 aXgtdGVzdHMvc3RvcmUvcTltbDZpd3o0YjhqZmZnZDZsM2prbGxtMGxtOWc3YXctZml4ZWQtcmVj LmRydiAtCiAgICAgIChwayAnZGlmZmVyZW5jZS1oZXJlISAlb3V0cHV0KQorICAgICAgICAgICAg ICAgKGxhbWJkYSAocCkgKHdyaXRlICJoZWxsbyIgcCkpKSkKKyAgICAgICAgICAoaGFzaCAoc2hh MjU2IChzdHJpbmctPnV0ZjggImhlbGxvIikpKQorICAgICAgICAgIChpbnB1dDEKKyAgICAgICAg ICAgIChidWlsZC1leHByZXNzaW9uLT5kZXJpdmF0aW9uCisgICAgICAgICAgICAgICVzdG9yZQor ICAgICAgICAgICAgICAiZml4ZWQiCisgICAgICAgICAgICAgIGJ1aWxkZXIxCisgICAgICAgICAg ICAgICM6aGFzaAorICAgICAgICAgICAgICBoYXNoCisgICAgICAgICAgICAgICM6aGFzaC1hbGdv CisgICAgICAgICAgICAgICdzaGEyNTYpKQorICAgICAgICAgIChpbnB1dDIKKyAgICAgICAgICAg IChidWlsZC1leHByZXNzaW9uLT5kZXJpdmF0aW9uCisgICAgICAgICAgICAgICVzdG9yZQorICAg ICAgICAgICAgICAiZml4ZWQiCisgICAgICAgICAgICAgIGJ1aWxkZXIyCisgICAgICAgICAgICAg ICM6aGFzaAorICAgICAgICAgICAgICBoYXNoCisgICAgICAgICAgICAgICM6aGFzaC1hbGdvCisg ICAgICAgICAgICAgICdzaGEyNTYpKQorICAgICAgICAgIChidWlsZGVyMworICAgICAgICAgICAg JyhsZXQgKChpbnB1dCAoYXNzb2MtcmVmICVidWlsZC1pbnB1dHMgImlucHV0IikpKQorICAgICAg ICAgICAgICAgKGNhbGwtd2l0aC1vdXRwdXQtZmlsZQorICAgICAgICAgICAgICAgICAlb3V0cHV0 CisgICAgICAgICAgICAgICAgIChsYW1iZGEgKG91dCkKKyAgICAgICAgICAgICAgICAgICAoZm9y bWF0ICNmICJNeSBpbnB1dCBpcyB+YS5+JSIgaW5wdXQpKSkpKQorICAgICAgICAgIChmaW5hbDEK KyAgICAgICAgICAgIChidWlsZC1leHByZXNzaW9uLT5kZXJpdmF0aW9uCisgICAgICAgICAgICAg ICVzdG9yZQorICAgICAgICAgICAgICAiZmluYWwiCisgICAgICAgICAgICAgIGJ1aWxkZXIzCisg ICAgICAgICAgICAgICM6aW5wdXRzCisgICAgICAgICAgICAgIGAoKCJpbnB1dCIgLGlucHV0MSkp KSkKKyAgICAgICAgICAoZmluYWwyCisgICAgICAgICAgICAoYnVpbGQtZXhwcmVzc2lvbi0+ZGVy aXZhdGlvbgorICAgICAgICAgICAgICAlc3RvcmUKKyAgICAgICAgICAgICAgImZpbmFsIgorICAg ICAgICAgICAgICBidWlsZGVyMworICAgICAgICAgICAgICAjOmlucHV0cworICAgICAgICAgICAg ICBgKCgiaW5wdXQiICxpbnB1dDIpKSkpKQorICAgICAoYW5kIChzdHJpbmc9PworICAgICAgICAg ICAgKGRlcml2YXRpb24tPm91dHB1dC1wYXRoIGZpbmFsMSkKKyAgICAgICAgICAgIChkZXJpdmF0 aW9uLT5vdXRwdXQtcGF0aCBmaW5hbDIpKQorICAgICAgICAgIChzdHJpbmc9PworICAgICAgICAg ICAgKGRlcml2YXRpb24tPm91dHB1dC1wYXRoIGZpbmFsMSkKKyAgICAgICAgICAgIChkZXJpdmF0 aW9uLXBhdGgtPm91dHB1dC1wYXRoCisgICAgICAgICAgICAgIChkZXJpdmF0aW9uLWZpbGUtbmFt ZSBmaW5hbDEpKSkKKyAgICAgICAgICAoYnVpbGQtZGVyaXZhdGlvbnMgJXN0b3JlIChsaXN0IGZp bmFsMSBmaW5hbDIpKSkpKQphY3R1YWwtdmFsdWU6ICN0CnJlc3VsdDogUEFTUwoKdGVzdC1uYW1l OiBidWlsZC1leHByZXNzaW9uLT5kZXJpdmF0aW9uIHByb2R1Y2VzIHJlY3Vyc2l2ZSBmaXhlZC1v dXRwdXQKbG9jYXRpb246IC90bXAvZ3VpeC1idWlsZC1ndWl4LTAuMTMuMC0xMi4wYTE1NGMxKy5k cnYtMC9zb3VyY2UvdGVzdHMvZGVyaXZhdGlvbnMuc2NtOjEwNTEKc291cmNlOgorICh0ZXN0LWFz c2VydAorICAgImJ1aWxkLWV4cHJlc3Npb24tPmRlcml2YXRpb24gcHJvZHVjZXMgcmVjdXJzaXZl IGZpeGVkLW91dHB1dCIKKyAgIChsZXQqICgoYnVpbGRlcgorICAgICAgICAgICAgJyhiZWdpbgor ICAgICAgICAgICAgICAgKHVzZS1tb2R1bGVzIChzcmZpIHNyZmktMjYpKQorICAgICAgICAgICAg ICAgKG1rZGlyICVvdXRwdXQpCisgICAgICAgICAgICAgICAoY2hkaXIgJW91dHB1dCkKKyAgICAg ICAgICAgICAgIChjYWxsLXdpdGgtb3V0cHV0LWZpbGUKKyAgICAgICAgICAgICAgICAgImV4ZSIK KyAgICAgICAgICAgICAgICAgKGN1dCBkaXNwbGF5ICJleGVjdXRhYmxlIiA8PikpCisgICAgICAg ICAgICAgICAoY2htb2QgImV4ZSIgNTExKQorICAgICAgICAgICAgICAgKHN5bWxpbmsgImV4ZSIg InN5bWxpbmsiKQorICAgICAgICAgICAgICAgKG1rZGlyICJzdWJkaXIiKSkpCisgICAgICAgICAg KGRydiAoYnVpbGQtZXhwcmVzc2lvbi0+ZGVyaXZhdGlvbgorICAgICAgICAgICAgICAgICAlc3Rv cmUKKyAgICAgICAgICAgICAgICAgImZpeGVkLXJlYyIKKyAgICAgICAgICAgICAgICAgYnVpbGRl cgorICAgICAgICAgICAgICAgICAjOmhhc2gtYWxnbworICAgICAgICAgICAgICAgICAnc2hhMjU2 CisgICAgICAgICAgICAgICAgICM6aGFzaAorICAgICAgICAgICAgICAgICAoYmFzZTMyCisgICAg ICAgICAgICAgICAgICAgIjEwazFsdzQxd3lyamY5bXh5ZGkwaXM1bmtweW5sc3Znc2xpbmljczRw cGlyMTNnN2Q3NHAiKQorICAgICAgICAgICAgICAgICAjOnJlY3Vyc2l2ZT8KKyAgICAgICAgICAg ICAgICAgI3QpKSkKKyAgICAgKGFuZCAoYnVpbGQtZGVyaXZhdGlvbnMgJXN0b3JlIChsaXN0IGRy dikpCisgICAgICAgICAgKGxldCogKChkaXIgKGRlcml2YXRpb24tPm91dHB1dC1wYXRoIGRydikp CisgICAgICAgICAgICAgICAgIChleGUgKHN0cmluZy1hcHBlbmQgZGlyICIvZXhlIikpCisgICAg ICAgICAgICAgICAgIChsaW5rIChzdHJpbmctYXBwZW5kIGRpciAiL3N5bWxpbmsiKSkKKyAgICAg ICAgICAgICAgICAgKHN1YmRpciAoc3RyaW5nLWFwcGVuZCBkaXIgIi9zdWJkaXIiKSkpCisgICAg ICAgICAgICAoYW5kIChleGVjdXRhYmxlLWZpbGU/IGV4ZSkKKyAgICAgICAgICAgICAgICAgKHN0 cmluZz0/CisgICAgICAgICAgICAgICAgICAgImV4ZWN1dGFibGUiCisgICAgICAgICAgICAgICAg ICAgKGNhbGwtd2l0aC1pbnB1dC1maWxlIGV4ZSBnZXQtc3RyaW5nLWFsbCkpCisgICAgICAgICAg ICAgICAgIChzdHJpbmc9PyAiZXhlIiAocmVhZGxpbmsgbGluaykpCisgICAgICAgICAgICAgICAg IChmaWxlLWlzLWRpcmVjdG9yeT8gc3ViZGlyKSkpKSkpCmFjdHVhbC12YWx1ZTogI3QKcmVzdWx0 OiBQQVNTCgp0ZXN0LW5hbWU6IGJ1aWxkLWV4cHJlc3Npb24tPmRlcml2YXRpb24gdXNlcyByZWN1 cnNpdmUgZml4ZWQtb3V0cHV0CmxvY2F0aW9uOiAvdG1wL2d1aXgtYnVpbGQtZ3VpeC0wLjEzLjAt MTIuMGExNTRjMSsuZHJ2LTAvc291cmNlL3Rlc3RzL2Rlcml2YXRpb25zLnNjbToxMDc3CnNvdXJj ZToKKyAodGVzdC1hc3NlcnQKKyAgICJidWlsZC1leHByZXNzaW9uLT5kZXJpdmF0aW9uIHVzZXMg cmVjdXJzaXZlIGZpeGVkLW91dHB1dCIKKyAgIChsZXQqICgoYnVpbGRlcgorICAgICAgICAgICAg JyhjYWxsLXdpdGgtb3V0cHV0LWZpbGUKKyAgICAgICAgICAgICAgICVvdXRwdXQKKyAgICAgICAg ICAgICAgIChsYW1iZGEgKHBvcnQpIChkaXNwbGF5ICJoZWxsbyIgcG9ydCkpKSkKKyAgICAgICAg ICAoZml4ZWQgKGJ1aWxkLWV4cHJlc3Npb24tPmRlcml2YXRpb24KKyAgICAgICAgICAgICAgICAg ICAlc3RvcmUKKyAgICAgICAgICAgICAgICAgICAic21hbGwtZml4ZWQtcmVjIgorICAgICAgICAg ICAgICAgICAgIGJ1aWxkZXIKKyAgICAgICAgICAgICAgICAgICAjOmhhc2gtYWxnbworICAgICAg ICAgICAgICAgICAgICdzaGEyNTYKKyAgICAgICAgICAgICAgICAgICAjOmhhc2gKKyAgICAgICAg ICAgICAgICAgICAoYmFzZTMyCisgICAgICAgICAgICAgICAgICAgICAiMHNnOWY1OGwxamo4OHc2 cGRyZmRwajV4OWIxenJ3c3prODRqODF6dmJ5MzZxOXdoaGhxYSIpCisgICAgICAgICAgICAgICAg ICAgIzpyZWN1cnNpdmU/CisgICAgICAgICAgICAgICAgICAgI3QpKQorICAgICAgICAgIChpbiAo ZGVyaXZhdGlvbi0+b3V0cHV0LXBhdGggZml4ZWQpKQorICAgICAgICAgIChidWlsZGVyCisgICAg ICAgICAgICBgKGJlZ2luCisgICAgICAgICAgICAgICAobWtkaXIgJW91dHB1dCkKKyAgICAgICAg ICAgICAgIChjaGRpciAlb3V0cHV0KQorICAgICAgICAgICAgICAgQCBidWlsZC1zdGFydGVkIC90 bXAvZ3VpeC10ZXN0cy9zdG9yZS85YTJ6NHp6N3NyYWEwNjV6NGZhMTJnOXNnNm1saGtqNS1zbWFs bC1maXhlZC1yZWMuZHJ2IC0geDg2XzY0LWxpbnV4IC90bXAvZ3VpeC10ZXN0cy92YXIvbG9nL2d1 aXgvZHJ2cy85YS8vMno0eno3c3JhYTA2NXo0ZmExMmc5c2c2bWxoa2o1LXNtYWxsLWZpeGVkLXJl Yy5kcnYuYnoyCkAgYnVpbGQtc3VjY2VlZGVkIC90bXAvZ3VpeC10ZXN0cy9zdG9yZS85YTJ6NHp6 N3NyYWEwNjV6NGZhMTJnOXNnNm1saGtqNS1zbWFsbC1maXhlZC1yZWMuZHJ2IC0KQCBidWlsZC1z dGFydGVkIC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9hYWthZzQ1N2ppaDIyYXpkMW1raGN2bmxudjkx MTVreS1maXhlZC1yZWMtdXNlci5kcnYgLSB4ODZfNjQtbGludXggL3RtcC9ndWl4LXRlc3RzL3Zh ci9sb2cvZ3VpeC9kcnZzL2FhLy9rYWc0NTdqaWgyMmF6ZDFta2hjdm5sbnY5MTE1a3ktZml4ZWQt cmVjLXVzZXIuZHJ2LmJ6MgpAIGJ1aWxkLXN1Y2NlZWRlZCAvdG1wL2d1aXgtdGVzdHMvc3RvcmUv YWFrYWc0NTdqaWgyMmF6ZDFta2hjdm5sbnY5MTE1a3ktZml4ZWQtcmVjLXVzZXIuZHJ2IC0KQCBi dWlsZC1zdGFydGVkIC90bXAvZ3VpeC10ZXN0cy9zdG9yZS8zM3hyOTVkZmlsNXFuYTNkeGx6bHp5 dnJsdzlueWNuMC1yZWZlcmVuY2VzLWdyYXBocy5kcnYgLSB4ODZfNjQtbGludXggL3RtcC9ndWl4 LXRlc3RzL3Zhci9sb2cvZ3VpeC9kcnZzLzMzLy94cjk1ZGZpbDVxbmEzZHhsemx6eXZybHc5bnlj bjAtcmVmZXJlbmNlcy1ncmFwaHMuZHJ2LmJ6MgpAIGJ1aWxkLXN1Y2NlZWRlZCAvdG1wL2d1aXgt dGVzdHMvc3RvcmUvMzN4cjk1ZGZpbDVxbmEzZHhsemx6eXZybHc5bnljbjAtcmVmZXJlbmNlcy1n cmFwaHMuZHJ2IC0KQCBidWlsZC1zdGFydGVkIC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9hanFjMGwx cmJnZDgzaGRpZDdhaW4yd3Iwd2l3dnZoNC1vcmlnaW5hbC1kcnYyLmRydiAtIHg4Nl82NC1saW51 eCAvdG1wL2d1aXgtdGVzdHMvdmFyL2xvZy9ndWl4L2RydnMvYWovL3FjMGwxcmJnZDgzaGRpZDdh aW4yd3Iwd2l3dnZoNC1vcmlnaW5hbC1kcnYyLmRydi5iejIKQCBidWlsZC1zdWNjZWVkZWQgL3Rt cC9ndWl4LXRlc3RzL3N0b3JlL2FqcWMwbDFyYmdkODNoZGlkN2FpbjJ3cjB3aXd2dmg0LW9yaWdp bmFsLWRydjIuZHJ2IC0KQCBidWlsZC1zdGFydGVkIC90bXAvZ3VpeC10ZXN0cy9zdG9yZS92a3M1 ZzIwZmpsbWk1ZGFpcDM1cnJkMzQ4NjlmbnFsOS1kcnYtdG8tcmVtYXAuZHJ2IC0geDg2XzY0LWxp bnV4IC90bXAvZ3VpeC10ZXN0cy92YXIvbG9nL2d1aXgvZHJ2cy92ay8vczVnMjBmamxtaTVkYWlw MzVycmQzNDg2OWZucWw5LWRydi10by1yZW1hcC5kcnYuYnoyCkAgYnVpbGQtc3VjY2VlZGVkIC90 bXAvZ3VpeC10ZXN0cy9zdG9yZS92a3M1ZzIwZmpsbWk1ZGFpcDM1cnJkMzQ4NjlmbnFsOS1kcnYt dG8tcmVtYXAuZHJ2IC0KKHN5bWxpbmsgLGluICJzeW1saW5rIikpKQorICAgICAgICAgIChkcnYg KGJ1aWxkLWV4cHJlc3Npb24tPmRlcml2YXRpb24KKyAgICAgICAgICAgICAgICAgJXN0b3JlCisg ICAgICAgICAgICAgICAgICJmaXhlZC1yZWMtdXNlciIKKyAgICAgICAgICAgICAgICAgYnVpbGRl cgorICAgICAgICAgICAgICAgICAjOmlucHV0cworICAgICAgICAgICAgICAgICBgKCgiZml4ZWQi ICxmaXhlZCkpKSkpCisgICAgIChhbmQgKGJ1aWxkLWRlcml2YXRpb25zICVzdG9yZSAobGlzdCBk cnYpKQorICAgICAgICAgIChsZXQgKChvdXQgKGRlcml2YXRpb24tPm91dHB1dC1wYXRoIGRydikp KQorICAgICAgICAgICAgKHN0cmluZz0/CisgICAgICAgICAgICAgIChyZWFkbGluayAoc3RyaW5n LWFwcGVuZCBvdXQgIi9zeW1saW5rIikpCisgICAgICAgICAgICAgIGluKSkpKSkKYWN0dWFsLXZh bHVlOiAjdApyZXN1bHQ6IFBBU1MKCnRlc3QtbmFtZTogYnVpbGQtZXhwcmVzc2lvbi0+ZGVyaXZh dGlvbiB3aXRoICM6cmVmZXJlbmNlcy1ncmFwaHMKbG9jYXRpb246IC90bXAvZ3VpeC1idWlsZC1n dWl4LTAuMTMuMC0xMi4wYTE1NGMxKy5kcnYtMC9zb3VyY2UvdGVzdHMvZGVyaXZhdGlvbnMuc2Nt OjEwOTkKc291cmNlOgorICh0ZXN0LWFzc2VydAorICAgImJ1aWxkLWV4cHJlc3Npb24tPmRlcml2 YXRpb24gd2l0aCAjOnJlZmVyZW5jZXMtZ3JhcGhzIgorICAgKGxldCogKChpbnB1dCAoYWRkLXRl eHQtdG8tc3RvcmUKKyAgICAgICAgICAgICAgICAgICAlc3RvcmUKKyAgICAgICAgICAgICAgICAg ICAiZm9vIgorICAgICAgICAgICAgICAgICAgICJoZWxsbyIKKyAgICAgICAgICAgICAgICAgICAo bGlzdCAlYmFzaCAlbWtkaXIpKSkKKyAgICAgICAgICAoYnVpbGRlciAnKGNvcHktZmlsZSAiaW5w dXQiICVvdXRwdXQpKQorICAgICAgICAgIChkcnYgKGJ1aWxkLWV4cHJlc3Npb24tPmRlcml2YXRp b24KKyAgICAgICAgICAgICAgICAgJXN0b3JlCisgICAgICAgICAgICAgICAgICJyZWZlcmVuY2Vz LWdyYXBocyIKKyAgICAgICAgICAgICAgICAgYnVpbGRlcgorICAgICAgICAgICAgICAgICAjOnJl ZmVyZW5jZXMtZ3JhcGhzCisgICAgICAgICAgICAgICAgIGAoKCJpbnB1dCIgdW5xdW90ZSBpbnB1 dCkpKSkKKyAgICAgICAgICAob3V0IChkZXJpdmF0aW9uLT5vdXRwdXQtcGF0aCBkcnYpKSkKKyAg ICAgKGRlZmluZSAoZGVwcyBwYXRoIC4gZGVwcykKKyAgICAgICAobGV0ICgoY291bnQgKGxlbmd0 aCBkZXBzKSkpCisgICAgICAgICAoc3RyaW5nLWFwcGVuZAorICAgICAgICAgICBwYXRoCisgICAg ICAgICAgICJcblxuIgorICAgICAgICAgICAobnVtYmVyLT5zdHJpbmcgY291bnQpCisgICAgICAg ICAgICJcbiIKKyAgICAgICAgICAgKHN0cmluZy1qb2luIChzb3J0IGRlcHMgc3RyaW5nPD8pICJc biIpCisgICAgICAgICAgIChpZiAoemVybz8gY291bnQpICIiICJcbiIpKSkpCisgICAgIChhbmQg KGJ1aWxkLWRlcml2YXRpb25zICVzdG9yZSAobGlzdCBkcnYpKQorICAgICAgICAgIChlcXVhbD8K KyAgICAgICAgICAgIChjYWxsLXdpdGgtaW5wdXQtZmlsZSBvdXQgZ2V0LXN0cmluZy1hbGwpCisg ICAgICAgICAgICAoc3RyaW5nLWNvbmNhdGVuYXRlCisgICAgICAgICAgICAgIChtYXAgY2RyCisg ICAgICAgICAgICAgICAgICAgKHNvcnQgKG1hcCAobGFtYmRhIChwIGQpIChjb25zIHAgKGFwcGx5 IGRlcHMgcCBkKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobGlzdCBpbnB1dCAl YmFzaCAlbWtkaXIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobGlzdCAobGlzdCAl YmFzaCAlbWtkaXIpICcoKSAnKCkpKQorICAgICAgICAgICAgICAgICAgICAgICAgIChsYW1iZGEg KHggeSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIChtYXRjaCB4CisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKChwMSAuIF8pCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIChtYXRjaCB5CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAoKHAyIC4gXykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAoc3RyaW5nPD8gcDEgcDIpKSkpKSkpKSkpKSkpCmFjdHVhbC12YWx1ZTogI3QKcmVzdWx0OiBQ QVNTCgp0ZXN0LW5hbWU6IG1hcC1kZXJpdmF0aW9uCmxvY2F0aW9uOiAvdG1wL2d1aXgtYnVpbGQt Z3VpeC0wLjEzLjAtMTIuMGExNTRjMSsuZHJ2LTAvc291cmNlL3Rlc3RzL2Rlcml2YXRpb25zLnNj bToxMTMwCnNvdXJjZToKKyAodGVzdC1lcXVhbAorICAgIm1hcC1kZXJpdmF0aW9uIgorICAgImhl bGxvIgorICAgKGxldCogKChqb2tlIChwYWNrYWdlLWRlcml2YXRpb24gJXN0b3JlIGd1aWxlLTEu OCkpCisgICAgICAgICAgKGdvb2QgKHBhY2thZ2UtZGVyaXZhdGlvbiAlc3RvcmUgJWJvb3RzdHJh cC1ndWlsZSkpCisgICAgICAgICAgKGRydjEgKGJ1aWxkLWV4cHJlc3Npb24tPmRlcml2YXRpb24K KyAgICAgICAgICAgICAgICAgICVzdG9yZQorICAgICAgICAgICAgICAgICAgIm9yaWdpbmFsLWRy djEiCisgICAgICAgICAgICAgICAgICAjZgorICAgICAgICAgICAgICAgICAgIzpndWlsZS1mb3It YnVpbGQKKyAgICAgICAgICAgICAgICAgIGpva2UpKQorICAgICAgICAgIChkcnYyIChidWlsZC1l eHByZXNzaW9uLT5kZXJpdmF0aW9uCisgICAgICAgICAgICAgICAgICAlc3RvcmUKKyAgICAgICAg ICAgICAgICAgICJvcmlnaW5hbC1kcnYyIgorICAgICAgICAgICAgICAgICAgJyhjYWxsLXdpdGgt b3V0cHV0LWZpbGUKKyAgICAgICAgICAgICAgICAgICAgICVvdXRwdXQKKyAgICAgICAgICAgICAg ICAgICAgIChsYW1iZGEgKHApIChkaXNwbGF5ICJoZWxsbyIgcCkpKSkpCisgICAgICAgICAgKGRy djMgKGJ1aWxkLWV4cHJlc3Npb24tPmRlcml2YXRpb24KKyAgICAgICAgICAgICAgICAgICVzdG9y ZQorICAgICAgICAgICAgICAgICAgImRydi10by1yZW1hcCIKKyAgICAgICAgICAgICAgICAgICco bGV0ICgoaW4gKGFzc29jLXJlZiAlYnVpbGQtaW5wdXRzICJpbiIpKSkKKyAgICAgICAgICAgICAg ICAgICAgIChjb3B5LWZpbGUgaW4gJW91dHB1dCkpCisgICAgICAgICAgICAgICAgICAjOmlucHV0 cworICAgICAgICAgICAgICAgICAgYCgoImluIiAsZHJ2MSkpCisgICAgICAgICAgICAgICAgICAj Omd1aWxlLWZvci1idWlsZAorICAgICAgICAgICAgICAgICAgam9rZSkpCisgICAgICAgICAgKGRy djQgKG1hcC1kZXJpdmF0aW9uCisgICAgICAgICAgICAgICAgICAlc3RvcmUKKyAgICAgICAgICAg ICAgICAgIGRydjMKKyAgICAgICAgICAgICAgICAgIGAoKCxkcnYxIHVucXVvdGUgZHJ2MikgKCxq b2tlIHVucXVvdGUgZ29vZCkpKSkKKyAgICAgICAgICAob3V0IChkZXJpdmF0aW9uLT5vdXRwdXQt cGF0aCBkcnY0KSkpCisgICAgIChhbmQgKGJ1aWxkLWRlcml2YXRpb25zCisgICAgICAgICAgICAl c3RvcmUKKyAgICAgICAgICAgIChsaXN0IChwayAncmVtYXBwZWQgZHJ2NCkpKQorICAgICAgICAg IChjYWxsLXdpdGgtaW5wdXQtZmlsZSBvdXQgZ2V0LXN0cmluZy1hbGwpKSkpCgo7OzsgKHJlbWFw cGVkICM8ZGVyaXZhdGlvbiAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvdmtzNWcyMGZqbG1pNWRhaXAz NXJyZDM0ODY5Zm5xbDktZHJ2LXRvLXJlbWFwLmRydiA9PiAvdG1wL2d1aXgtdGVzdHMvc3RvcmUv ZjhwcnZ5a3BhcGx6bDBndzlxeWtpcHZpcTN2aWw5d3MtZHJ2LXRvLXJlbWFwIDI4MTJiZTA+KQpl eHBlY3RlZC12YWx1ZTogImhlbGxvIgphY3R1YWwtdmFsdWU6ICJoZWxsbyIKcmVzdWx0OiBQQVNT Cgp0ZXN0LW5hbWU6IG1hcC1kZXJpdmF0aW9uLCBzb3VyY2VzCmxvY2F0aW9uOiAvdG1wL2d1aXgt YnVpbGQtZ3VpeC0wLjEzLjAtMTIuMGExNTRjMSsuZHJ2LTAvc291cmNlL3Rlc3RzL2Rlcml2YXRp b25zLnNjbToxMTUzCnNvdXJjZToKKyAodGVzdC1lcXVhbAorICAgIm1hcC1kZXJpdmF0aW9uLCBz b3VyY2VzIgorICAgImhlbGxvIgorICAgKGxldCogKChzY3JpcHQxCisgICAgICAgICAgICAoYWRk LXRleHQtdG8tc3RvcmUgJXN0b3JlICJmYWlsLnNoIiAiZXhpdCAxIikpCisgICAgICAgICAgKHNj cmlwdDIKQCBidWlsZC1zdGFydGVkIC90bXAvZ3VpeC10ZXN0cy9zdG9yZS8zYjFyOXF2Z3BjYW1p MDJnNjZpcWduYmZtM3h4c3g5NS1kcnYtdG8tcmVtYXAuZHJ2IC0geDg2XzY0LWxpbnV4IC90bXAv Z3VpeC10ZXN0cy92YXIvbG9nL2d1aXgvZHJ2cy8zYi8vMXI5cXZncGNhbWkwMmc2NmlxZ25iZm0z eHhzeDk1LWRydi10by1yZW1hcC5kcnYuYnoyCkAgYnVpbGQtc3VjY2VlZGVkIC90bXAvZ3VpeC10 ZXN0cy9zdG9yZS8zYjFyOXF2Z3BjYW1pMDJnNjZpcWduYmZtM3h4c3g5NS1kcnYtdG8tcmVtYXAu ZHJ2IC0KKyAgICAgICAgICAgIChhZGQtdGV4dC10by1zdG9yZQorICAgICAgICAgICAgICAlc3Rv cmUKKyAgICAgICAgICAgICAgImhpLnNoIgorICAgICAgICAgICAgICAiZWNobyAtbiBoZWxsbyA+ ICRvdXQiKSkKKyAgICAgICAgICAoYmFzaC1mdWxsCisgICAgICAgICAgICAocGFja2FnZS1kZXJp dmF0aW9uCisgICAgICAgICAgICAgICVzdG9yZQorICAgICAgICAgICAgICAoQCAoZ251IHBhY2th Z2VzIGJhc2gpIGJhc2gpKSkKKyAgICAgICAgICAoZHJ2MSAoZGVyaXZhdGlvbgorICAgICAgICAg ICAgICAgICAgJXN0b3JlCisgICAgICAgICAgICAgICAgICAiZHJ2LXRvLXJlbWFwIgorICAgICAg ICAgICAgICAgICAgKGRlcml2YXRpb24tPm91dHB1dC1wYXRoIGJhc2gtZnVsbCkKKyAgICAgICAg ICAgICAgICAgIGAoIi1lIiAsc2NyaXB0MSkKKyAgICAgICAgICAgICAgICAgICM6aW5wdXRzCisg ICAgICAgICAgICAgICAgICBgKCgsYmFzaC1mdWxsKSAoLHNjcmlwdDEpKSkpCisgICAgICAgICAg KGRydjIgKG1hcC1kZXJpdmF0aW9uCisgICAgICAgICAgICAgICAgICAlc3RvcmUKKyAgICAgICAg ICAgICAgICAgIGRydjEKKyAgICAgICAgICAgICAgICAgIGAoKCxiYXNoLWZ1bGwgdW5xdW90ZSAl YmFzaCkKKyAgICAgICAgICAgICAgICAgICAgKCxzY3JpcHQxIHVucXVvdGUgc2NyaXB0MikpKSkK KyAgICAgICAgICAob3V0IChkZXJpdmF0aW9uLT5vdXRwdXQtcGF0aCBkcnYyKSkpCisgICAgIChh bmQgKGJ1aWxkLWRlcml2YXRpb25zCisgICAgICAgICAgICAlc3RvcmUKKyAgICAgICAgICAgIChs aXN0IChwayAncmVtYXBwZWQqIGRydjIpKSkKKyAgICAgICAgICAoY2FsbC13aXRoLWlucHV0LWZp bGUgb3V0IGdldC1zdHJpbmctYWxsKSkpKQoKOzs7IChyZW1hcHBlZCogIzxkZXJpdmF0aW9uIC90 bXAvZ3VpeC10ZXN0cy9zdG9yZS8zYjFyOXF2Z3BjYW1pMDJnNjZpcWduYmZtM3h4c3g5NS1kcnYt dG8tcmVtYXAuZHJ2ID0+IC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9kMTZyZjZ6Y2gydzIzY24xdjFn bThyM3cxMnBjN3kybS1kcnYtdG8tcmVtYXAgMjk0MzM3MD4pCmV4cGVjdGVkLXZhbHVlOiAiaGVs bG8iCmFjdHVhbC12YWx1ZTogImhlbGxvIgpyZXN1bHQ6IFBBU1MKCgpGQUlMOiB0ZXN0cy9wYWNr YWdlcwo9PT09PT09PT09PT09PT09PT09PQoKdGVzdC1uYW1lOiBwcmludGVyIHdpdGggbG9jYXRp b24KbG9jYXRpb246IC90bXAvZ3VpeC1idWlsZC1ndWl4LTAuMTMuMC0xMi4wYTE1NGMxKy5kcnYt MC9zb3VyY2UvdGVzdHMvcGFja2FnZXMuc2NtOjY5CnNvdXJjZToKKyAodGVzdC1hc3NlcnQKKyAg ICJwcmludGVyIHdpdGggbG9jYXRpb24iCisgICAoc3RyaW5nLW1hdGNoCisgICAgICJeIzxwYWNr YWdlIGZvb0AwIGZvby5zY206NDIgW1s6eGRpZ2l0Ol1dKz4kIgorICAgICAod2l0aC1vdXRwdXQt dG8tc3RyaW5nCisgICAgICAgKGxhbWJkYSAoKQorICAgICAgICAgKHdyaXRlIChkdW1teS1wYWNr YWdlCisgICAgICAgICAgICAgICAgICAiZm9vIgorICAgICAgICAgICAgICAgICAgKGxvY2F0aW9u IChtYWtlLWxvY2F0aW9uICJmb28uc2NtIiA0MiA3KSkpKSkpKSkKYWN0dWFsLXZhbHVlOiAjKCIj PHBhY2thZ2UgZm9vQDAgZm9vLnNjbTo0MiAxYjViM2MwPiIgKDAgLiAzNSkpCnJlc3VsdDogUEFT UwoKdGVzdC1uYW1lOiBwcmludGVyIHdpdGhvdXQgbG9jYXRpb24KbG9jYXRpb246IC90bXAvZ3Vp eC1idWlsZC1ndWl4LTAuMTMuMC0xMi4wYTE1NGMxKy5kcnYtMC9zb3VyY2UvdGVzdHMvcGFja2Fn ZXMuc2NtOjc3CnNvdXJjZToKKyAodGVzdC1hc3NlcnQKKyAgICJwcmludGVyIHdpdGhvdXQgbG9j YXRpb24iCisgICAoc3RyaW5nLW1hdGNoCisgICAgICJeIzxwYWNrYWdlIGZvb0AwIFtbOnhkaWdp dDpdXSs+JCIKKyAgICAgKHdpdGgtb3V0cHV0LXRvLXN0cmluZworICAgICAgIChsYW1iZGEgKCkK KyAgICAgICAgICh3cml0ZSAoZHVtbXktcGFja2FnZSAiZm9vIiAobG9jYXRpb24gI2YpKSkpKSkp CmFjdHVhbC12YWx1ZTogIygiIzxwYWNrYWdlIGZvb0AwIDFiNWIyNDA+IiAoMCAuIDI0KSkKcmVz dWx0OiBQQVNTCgp0ZXN0LW5hbWU6IGhpZGRlbi1wYWNrYWdlCmxvY2F0aW9uOiAvdG1wL2d1aXgt YnVpbGQtZ3VpeC0wLjEzLjAtMTIuMGExNTRjMSsuZHJ2LTAvc291cmNlL3Rlc3RzL3BhY2thZ2Vz LnNjbTo4NApzb3VyY2U6CisgKHRlc3QtYXNzZXJ0CisgICAiaGlkZGVuLXBhY2thZ2UiCisgICAo YW5kIChoaWRkZW4tcGFja2FnZT8KKyAgICAgICAgICAoaGlkZGVuLXBhY2thZ2UgKGR1bW15LXBh Y2thZ2UgImZvbyIpKSkKKyAgICAgICAgKG5vdCAoaGlkZGVuLXBhY2thZ2U/IChkdW1teS1wYWNr YWdlICJmb28iKSkpKSkKYWN0dWFsLXZhbHVlOiAjdApyZXN1bHQ6IFBBU1MKCnRlc3QtbmFtZTog cGFja2FnZS1zdXBlcnNlZGVkCmxvY2F0aW9uOiAvdG1wL2d1aXgtYnVpbGQtZ3VpeC0wLjEzLjAt MTIuMGExNTRjMSsuZHJ2LTAvc291cmNlL3Rlc3RzL3BhY2thZ2VzLnNjbTo4OApzb3VyY2U6Cisg KHRlc3QtYXNzZXJ0CisgICAicGFja2FnZS1zdXBlcnNlZGVkIgorICAgKGxldCogKChuZXcgKGR1 bW15LXBhY2thZ2UgImJhciIpKQorICAgICAgICAgIChvbGQgKGRlcHJlY2F0ZWQtcGFja2FnZSAi Zm9vIiBuZXcpKSkKKyAgICAgKGFuZCAoZXE/IChwYWNrYWdlLXN1cGVyc2VkZWQgb2xkKSBuZXcp CisgICAgICAgICAgKG1vY2sgKChnbnUgcGFja2FnZXMpCisgICAgICAgICAgICAgICAgIGZpbmQt YmVzdC1wYWNrYWdlcy1ieS1uYW1lCisgICAgICAgICAgICAgICAgIChjb25zdCAobGlzdCBvbGQp KSkKKyAgICAgICAgICAgICAgICAoc3BlY2lmaWNhdGlvbi0+cGFja2FnZSAiZm9vIikKKyAgICAg ICAgICAgICAgICAoYW5kIChlcT8gbmV3IChzcGVjaWZpY2F0aW9uLT5wYWNrYWdlICJmb28iKSkK KyAgICAgICAgICAgICAgICAgICAgIChlcT8gbmV3IChzcGVjaWZpY2F0aW9uLT5wYWNrYWdlK291 dHB1dCAiZm9vIikpKSkpKSkKYWN0dWFsLXZhbHVlOiAjdApyZXN1bHQ6IFBBU1MKCnRlc3QtbmFt ZTogdHJhbnNhY3Rpb24tdXBncmFkZS1lbnRyeSwgemVybyB1cGdyYWRlcwpsb2NhdGlvbjogL3Rt cC9ndWl4LWJ1aWxkLWd1aXgtMC4xMy4wLTEyLjBhMTU0YzErLmRydi0wL3NvdXJjZS90ZXN0cy9w YWNrYWdlcy5zY206OTcKc291cmNlOgorICh0ZXN0LWFzc2VydAorICAgInRyYW5zYWN0aW9uLXVw Z3JhZGUtZW50cnksIHplcm8gdXBncmFkZXMiCisgICAobGV0KiAoKG9sZCAoZHVtbXktcGFja2Fn ZSAiZm9vIiAodmVyc2lvbiAiMSIpKSkKKyAgICAgICAgICAodHggKG1vY2sgKChnbnUgcGFja2Fn ZXMpCisgICAgICAgICAgICAgICAgICAgICBmaW5kLW5ld2VzdC1hdmFpbGFibGUtcGFja2FnZXMK KyAgICAgICAgICAgICAgICAgICAgIChjb25zdCB2bGlzdC1udWxsKSkKKyAgICAgICAgICAgICAg ICAgICAgKChAQCAoZ3VpeCBzY3JpcHRzIHBhY2thZ2UpCisgICAgICAgICAgICAgICAgICAgICAg ICAgdHJhbnNhY3Rpb24tdXBncmFkZS1lbnRyeSkKKyAgICAgICAgICAgICAgICAgICAgIChtYW5p ZmVzdC1lbnRyeQorICAgICAgICAgICAgICAgICAgICAgICAoaW5oZXJpdCAocGFja2FnZS0+bWFu aWZlc3QtZW50cnkgb2xkKSkKKyAgICAgICAgICAgICAgICAgICAgICAgKGl0ZW0gKHN0cmluZy1h cHBlbmQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoJXN0b3JlLXByZWZpeCkKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLyIKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAobWFrZS1zdHJpbmcgMzIgI1xlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICItZm9vLTEiKSkpCisgICAgICAgICAgICAgICAgICAgICAobWFuaWZlc3QtdHJhbnNhY3Rp b24pKSkpKQorICAgICAobWFuaWZlc3QtdHJhbnNhY3Rpb24tbnVsbD8gdHgpKSkKYWN0dWFsLXZh bHVlOiAjdApyZXN1bHQ6IFBBU1MKCnRlc3QtbmFtZTogdHJhbnNhY3Rpb24tdXBncmFkZS1lbnRy eSwgb25lIHVwZ3JhZGUKbG9jYXRpb246IC90bXAvZ3VpeC1idWlsZC1ndWl4LTAuMTMuMC0xMi4w YTE1NGMxKy5kcnYtMC9zb3VyY2UvdGVzdHMvcGFja2FnZXMuc2NtOjEwOQpzb3VyY2U6CisgKHRl c3QtYXNzZXJ0CisgICAidHJhbnNhY3Rpb24tdXBncmFkZS1lbnRyeSwgb25lIHVwZ3JhZGUiCisg ICAobGV0KiAoKG9sZCAoZHVtbXktcGFja2FnZSAiZm9vIiAodmVyc2lvbiAiMSIpKSkKKyAgICAg ICAgICAobmV3IChkdW1teS1wYWNrYWdlICJmb28iICh2ZXJzaW9uICIyIikpKQorICAgICAgICAg ICh0eCAobW9jayAoKGdudSBwYWNrYWdlcykKKyAgICAgICAgICAgICAgICAgICAgIGZpbmQtbmV3 ZXN0LWF2YWlsYWJsZS1wYWNrYWdlcworICAgICAgICAgICAgICAgICAgICAgKGNvbnN0ICh2aGFz aC1jb25zICJmb28iIChsaXN0ICIyIiBuZXcpIHZsaXN0LW51bGwpKSkKKyAgICAgICAgICAgICAg ICAgICAgKChAQCAoZ3VpeCBzY3JpcHRzIHBhY2thZ2UpCisgICAgICAgICAgICAgICAgICAgICAg ICAgdHJhbnNhY3Rpb24tdXBncmFkZS1lbnRyeSkKKyAgICAgICAgICAgICAgICAgICAgIChtYW5p ZmVzdC1lbnRyeQorICAgICAgICAgICAgICAgICAgICAgICAoaW5oZXJpdCAocGFja2FnZS0+bWFu aWZlc3QtZW50cnkgb2xkKSkKKyAgICAgICAgICAgICAgICAgICAgICAgKGl0ZW0gKHN0cmluZy1h cHBlbmQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoJXN0b3JlLXByZWZpeCkKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLyIKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAobWFrZS1zdHJpbmcgMzIgI1xlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICItZm9vLTEiKSkpCisgICAgICAgICAgICAgICAgICAgICAobWFuaWZlc3QtdHJhbnNhY3Rp b24pKSkpKQorICAgICAoYW5kIChtYXRjaCAobWFuaWZlc3QtdHJhbnNhY3Rpb24taW5zdGFsbCB0 eCkKKyAgICAgICAgICAgICAgICAgKCgoJCA8bWFuaWZlc3QtZW50cnk+ICJmb28iICIyIiAib3V0 IiBpdGVtKSkKKyAgICAgICAgICAgICAgICAgIChlcT8gaXRlbSBuZXcpKSkKKyAgICAgICAgICAo bnVsbD8gKG1hbmlmZXN0LXRyYW5zYWN0aW9uLXJlbW92ZSB0eCkpKSkpCmFjdHVhbC12YWx1ZTog I3QKcmVzdWx0OiBQQVNTCgp0ZXN0LW5hbWU6IHRyYW5zYWN0aW9uLXVwZ3JhZGUtZW50cnksIHN1 cGVyc2VkZWQgcGFja2FnZQpsb2NhdGlvbjogL3RtcC9ndWl4LWJ1aWxkLWd1aXgtMC4xMy4wLTEy LjBhMTU0YzErLmRydi0wL3NvdXJjZS90ZXN0cy9wYWNrYWdlcy5zY206MTI1CnNvdXJjZToKKyAo dGVzdC1hc3NlcnQKKyAgICJ0cmFuc2FjdGlvbi11cGdyYWRlLWVudHJ5LCBzdXBlcnNlZGVkIHBh Y2thZ2UiCisgICAobGV0KiAoKG9sZCAoZHVtbXktcGFja2FnZSAiZm9vIiAodmVyc2lvbiAiMSIp KSkKKyAgICAgICAgICAobmV3IChkdW1teS1wYWNrYWdlICJiYXIiICh2ZXJzaW9uICIyIikpKQor ICAgICAgICAgIChkZXAgKGRlcHJlY2F0ZWQtcGFja2FnZSAiZm9vIiBuZXcpKQorICAgICAgICAg ICh0eCAobW9jayAoKGdudSBwYWNrYWdlcykKKyAgICAgICAgICAgICAgICAgICAgIGZpbmQtbmV3 ZXN0LWF2YWlsYWJsZS1wYWNrYWdlcworICAgICAgICAgICAgICAgICAgICAgKGNvbnN0ICh2aGFz aC1jb25zICJmb28iIChsaXN0ICIyIiBkZXApIHZsaXN0LW51bGwpKSkKKyAgICAgICAgICAgICAg ICAgICAgKChAQCAoZ3VpeCBzY3JpcHRzIHBhY2thZ2UpCisgICAgICAgICAgICAgICAgICAgICAg ICAgdHJhbnNhY3Rpb24tdXBncmFkZS1lbnRyeSkKKyAgICAgICAgICAgICAgICAgICAgIChtYW5p ZmVzdC1lbnRyeQorICAgICAgICAgICAgICAgICAgICAgICAoaW5oZXJpdCAocGFja2FnZS0+bWFu aWZlc3QtZW50cnkgb2xkKSkKKyAgICAgICAgICAgICAgICAgICAgICAgKGl0ZW0gKHN0cmluZy1h cHBlbmQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoJXN0b3JlLXByZWZpeCkKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLyIKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAobWFrZS1zdHJpbmcgMzIgI1xlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICItZm9vLTEiKSkpCisgICAgICAgICAgICAgICAgICAgICAobWFuaWZlc3QtdHJhbnNhY3Rp b24pKSkpKQorICAgICAoYW5kIChtYXRjaCAobWFuaWZlc3QtdHJhbnNhY3Rpb24taW5zdGFsbCB0 eCkKKyAgICAgICAgICAgICAgICAgKCgoJCA8bWFuaWZlc3QtZW50cnk+ICJiYXIiICIyIiAib3V0 IiBpdGVtKSkKKyAgICAgICAgICAgICAgICAgIChlcT8gaXRlbSBuZXcpKSkKKyAgICAgICAgICAo bWF0Y2ggKG1hbmlmZXN0LXRyYW5zYWN0aW9uLXJlbW92ZSB0eCkKKyAgICAgICAgICAgICAgICAg KCgoPyBtYW5pZmVzdC1wYXR0ZXJuPyBwYXR0ZXJuKSkKKyAgICAgICAgICAgICAgICAgIChhbmQg KHN0cmluZz0/IChtYW5pZmVzdC1wYXR0ZXJuLW5hbWUgcGF0dGVybikgImZvbyIpCisgICAgICAg ICAgICAgICAgICAgICAgIChzdHJpbmc9PyAobWFuaWZlc3QtcGF0dGVybi12ZXJzaW9uIHBhdHRl cm4pICIxIikKKyAgICAgICAgICAgICAgICAgICAgICAgKHN0cmluZz0/CisgICAgICAgICAgICAg ICAgICAgICAgICAgKG1hbmlmZXN0LXBhdHRlcm4tb3V0cHV0IHBhdHRlcm4pCisgICAgICAgICAg ICAgICAgICAgICAgICAgIm91dCIpKSkpKSkpCmFjdHVhbC12YWx1ZTogI3QKcmVzdWx0OiBQQVNT Cgp0ZXN0LW5hbWU6IHBhY2thZ2UtZmllbGQtbG9jYXRpb24KbG9jYXRpb246IC90bXAvZ3VpeC1i dWlsZC1ndWl4LTAuMTMuMC0xMi4wYTE1NGMxKy5kcnYtMC9zb3VyY2UvdGVzdHMvcGFja2FnZXMu c2NtOjE0Ngpzb3VyY2U6CisgKHRlc3QtYXNzZXJ0CisgICAicGFja2FnZS1maWVsZC1sb2NhdGlv biIKKyAgIChsZXQgKCkKKyAgICAgKGRlZmluZSAoZ290byBwb3J0IGxpbmUgY29sdW1uKQorICAg ICAgICh1bmxlc3MKKyAgICAgICAgIChhbmQgKD0gKHBvcnQtY29sdW1uIHBvcnQpICgtIGNvbHVt biAxKSkKKyAgICAgICAgICAgICAgKD0gKHBvcnQtbGluZSBwb3J0KSAoLSBsaW5lIDEpKSkKKyAg ICAgICAgICh1bmxlc3MKKyAgICAgICAgICAgKGVvZi1vYmplY3Q/IChnZXQtY2hhciBwb3J0KSkK KyAgICAgICAgICAgKGdvdG8gcG9ydCBsaW5lIGNvbHVtbikpKSkKKyAgICAgKGRlZmluZSByZWFk LWF0CisgICAgICAgKG1hdGNoLWxhbWJkYQorICAgICAgICAgKCgkIDxsb2NhdGlvbj4gZmlsZSBs aW5lIGNvbHVtbikKKyAgICAgICAgICAoY2FsbC13aXRoLWlucHV0LWZpbGUKKyAgICAgICAgICAg IChzZWFyY2gtcGF0aCAlbG9hZC1wYXRoIGZpbGUpCisgICAgICAgICAgICAobGFtYmRhIChwb3J0 KQorICAgICAgICAgICAgICAoZ290byBwb3J0IGxpbmUgY29sdW1uKQorICAgICAgICAgICAgICAo cmVhZCBwb3J0KSkpKSkpCisgICAgIChhbmQgKG1lbWJlcgorICAgICAgICAgICAgKHJlYWQtYXQK KyAgICAgICAgICAgICAgKHBhY2thZ2UtZmllbGQtbG9jYXRpb24gJWJvb3RzdHJhcC1ndWlsZSAn bmFtZSkpCisgICAgICAgICAgICAobGV0ICgobmFtZSAocGFja2FnZS1uYW1lICVib290c3RyYXAt Z3VpbGUpKSkKKyAgICAgICAgICAgICAgKGxpc3QgbmFtZSBgKG5hbWUgLG5hbWUpKSkpCisgICAg ICAgICAgKG1lbWJlcgorICAgICAgICAgICAgKHJlYWQtYXQKKyAgICAgICAgICAgICAgKHBhY2th Z2UtZmllbGQtbG9jYXRpb24KKyAgICAgICAgICAgICAgICAlYm9vdHN0cmFwLWd1aWxlCisgICAg ICAgICAgICAgICAgJ3ZlcnNpb24pKQorICAgICAgICAgICAgKGxldCAoKHZlcnNpb24gKHBhY2th Z2UtdmVyc2lvbiAlYm9vdHN0cmFwLWd1aWxlKSkpCisgICAgICAgICAgICAgIChsaXN0IHZlcnNp b24gYCh2ZXJzaW9uICx2ZXJzaW9uKSkpKQorICAgICAgICAgIChub3QgKHBhY2thZ2UtZmllbGQt bG9jYXRpb24KKyAgICAgICAgICAgICAgICAgJWJvb3RzdHJhcC1ndWlsZQorICAgICAgICAgICAg ICAgICAnZG9lcy1ub3QtZXhpc3QpKSkpKQphY3R1YWwtdmFsdWU6ICN0CnJlc3VsdDogUEFTUwoK dGVzdC1uYW1lOiBwYWNrYWdlLWZpZWxkLWxvY2F0aW9uLCByZWxhdGl2ZSBmaWxlIG5hbWUKbG9j YXRpb246IC90bXAvZ3VpeC1idWlsZC1ndWl4LTAuMTMuMC0xMi4wYTE1NGMxKy5kcnYtMC9zb3Vy Y2UvdGVzdHMvcGFja2FnZXMuc2NtOjE3Mwpzb3VyY2U6CisgKHRlc3QtZXF1YWwKKyAgICJwYWNr YWdlLWZpZWxkLWxvY2F0aW9uLCByZWxhdGl2ZSBmaWxlIG5hbWUiCisgICAobG9jYXRpb24tZmls ZQorICAgICAocGFja2FnZS1sb2NhdGlvbiAlYm9vdHN0cmFwLWd1aWxlKSkKKyAgICh3aXRoLWZs dWlkcworICAgICAoKCVmaWxlLXBvcnQtbmFtZS1jYW5vbmljYWxpemF0aW9uICdhYnNvbHV0ZSkp CisgICAgIChsb2NhdGlvbi1maWxlCisgICAgICAgKHBhY2thZ2UtZmllbGQtbG9jYXRpb24KKyAg ICAgICAgICVib290c3RyYXAtZ3VpbGUKKyAgICAgICAgICd2ZXJzaW9uKSkpKQpleHBlY3RlZC12 YWx1ZTogImdudS9wYWNrYWdlcy9ib290c3RyYXAuc2NtIgphY3R1YWwtdmFsdWU6ICJnbnUvcGFj a2FnZXMvYm9vdHN0cmFwLnNjbSIKcmVzdWx0OiBQQVNTCgp0ZXN0LW5hbWU6IHBhY2thZ2UtdHJh bnNpdGl2ZS1pbnB1dHMKbG9jYXRpb246IC90bXAvZ3VpeC1idWlsZC1ndWl4LTAuMTMuMC0xMi4w YTE1NGMxKy5kcnYtMC9zb3VyY2UvdGVzdHMvcGFja2FnZXMuc2NtOjE3OApzb3VyY2U6CisgKHRl c3QtYXNzZXJ0CisgICAicGFja2FnZS10cmFuc2l0aXZlLWlucHV0cyIKKyAgIChsZXQqICgoYSAo ZHVtbXktcGFja2FnZSAiYSIpKQorICAgICAgICAgIChiIChkdW1teS1wYWNrYWdlCisgICAgICAg ICAgICAgICAiYiIKKyAgICAgICAgICAgICAgIChwcm9wYWdhdGVkLWlucHV0cyBgKCgiYSIgLGEp KSkpKQorICAgICAgICAgIChjIChkdW1teS1wYWNrYWdlICJjIiAoaW5wdXRzIGAoKCJhIiAsYSkp KSkpCisgICAgICAgICAgKGQgKGR1bW15LXBhY2thZ2UKKyAgICAgICAgICAgICAgICJkIgorICAg ICAgICAgICAgICAgKHByb3BhZ2F0ZWQtaW5wdXRzIGAoKCJ4IiAic29tZXRoaW5nLmRydiIpKSkp KQorICAgICAgICAgIChlIChkdW1teS1wYWNrYWdlCisgICAgICAgICAgICAgICAiZSIKKyAgICAg ICAgICAgICAgIChpbnB1dHMgYCgoImIiICxiKSAoImMiICxjKSAoImQiICxkKSkpKSkpCisgICAg IChhbmQgKG51bGw/IChwYWNrYWdlLXRyYW5zaXRpdmUtaW5wdXRzIGEpKQorICAgICAgICAgIChl cXVhbD8KKyAgICAgICAgICAgIGAoKCJhIiAsYSkpCisgICAgICAgICAgICAocGFja2FnZS10cmFu c2l0aXZlLWlucHV0cyBiKSkKKyAgICAgICAgICAoZXF1YWw/CisgICAgICAgICAgICBgKCgiYSIg LGEpKQorICAgICAgICAgICAgKHBhY2thZ2UtdHJhbnNpdGl2ZS1pbnB1dHMgYykpCisgICAgICAg ICAgKGVxdWFsPworICAgICAgICAgICAgKHBhY2thZ2UtcHJvcGFnYXRlZC1pbnB1dHMgZCkKKyAg ICAgICAgICAgIChwYWNrYWdlLXRyYW5zaXRpdmUtaW5wdXRzIGQpKQorICAgICAgICAgIChlcXVh bD8KKyAgICAgICAgICAgIGAoKCJiIiAsYikKKyAgICAgICAgICAgICAgKCJjIiAsYykKKyAgICAg ICAgICAgICAgKCJkIiAsZCkKKyAgICAgICAgICAgICAgKCJhIiAsYSkKKyAgICAgICAgICAgICAg KCJ4IiAic29tZXRoaW5nLmRydiIpKQorICAgICAgICAgICAgKHBrICd4IChwYWNrYWdlLXRyYW5z aXRpdmUtaW5wdXRzIGUpKSkpKSkKCjs7OyAoeCAoKCJiIiAjPHBhY2thZ2UgYkAwIC90bXAvZ3Vp eC1idWlsZC1ndWl4LTAuMTMuMC0xMi4wYTE1NGMxKy5kcnYtMC9zb3VyY2UvdGVzdHMvcGFja2Fn ZXMuc2NtOjE4MCAxODhjNmMwPikgKCJjIiAjPHBhY2thZ2UgY0AwIC90bXAvZ3VpeC1idWlsZC1n dWl4LTAuMTMuMC0xMi4wYTE1NGMxKy5kcnYtMC9zb3VyY2UvdGVzdHMvcGFja2FnZXMuc2NtOjE4 MiAxODhjNTQwPikgKCJkIiAjPHBhY2thZ2UgZEAwIC90bXAvZ3VpeC1idWlsZC1ndWl4LTAuMTMu MC0xMi4wYTE1NGMxKy5kcnYtMC9zb3VyY2UvdGVzdHMvcGFja2FnZXMuc2NtOjE4NCAxODhjM2Mw PikgKCJhIiAjPHBhY2thZ2UgYUAwIC90bXAvZ3VpeC1idWlsZC1ndWl4LTAuMTMuMC0xMi4wYTE1 NGMxKy5kcnYtMC9zb3VyY2UvdGVzdHMvcGFja2FnZXMuc2NtOjE3OSAxODhjODQwPikgKCJ4IiAi c29tZXRoaW5nLmRydiIpKSkKYWN0dWFsLXZhbHVlOiAjdApyZXN1bHQ6IFBBU1MKCnRlc3QtbmFt ZTogcGFja2FnZS10cmFuc2l0aXZlLWlucHV0cywgbm8gZHVwbGljYXRlcwpsb2NhdGlvbjogL3Rt cC9ndWl4LWJ1aWxkLWd1aXgtMC4xMy4wLTEyLjBhMTU0YzErLmRydi0wL3NvdXJjZS90ZXN0cy9w YWNrYWdlcy5zY206MTk3CnNvdXJjZToKKyAodGVzdC1hc3NlcnQKKyAgICJwYWNrYWdlLXRyYW5z aXRpdmUtaW5wdXRzLCBubyBkdXBsaWNhdGVzIgorICAgKGxldCogKChhIChkdW1teS1wYWNrYWdl ICJhIikpCisgICAgICAgICAgKGIgKGR1bW15LXBhY2thZ2UKKyAgICAgICAgICAgICAgICJiIgor ICAgICAgICAgICAgICAgKGlucHV0cyBgKCgiYSsiICxhKSkpCisgICAgICAgICAgICAgICAobmF0 aXZlLWlucHV0cyBgKCgiYSoiICxhKSkpCisgICAgICAgICAgICAgICAocHJvcGFnYXRlZC1pbnB1 dHMgYCgoImEiICxhKSkpKSkKKyAgICAgICAgICAoYyAoZHVtbXktcGFja2FnZQorICAgICAgICAg ICAgICAgImMiCisgICAgICAgICAgICAgICAocHJvcGFnYXRlZC1pbnB1dHMgYCgoImIiICxiKSkp KSkKKyAgICAgICAgICAoZCAoZHVtbXktcGFja2FnZSAiZCIgKGlucHV0cyBgKCgiYSIgLGEpICgi YyIgLGMpKSkpKQorICAgICAgICAgIChlIChkdW1teS1wYWNrYWdlICJlIiAoaW5wdXRzIGAoKCJi IiAsYikgKCJjIiAsYykpKSkpKQorICAgICAoYW5kIChudWxsPyAocGFja2FnZS10cmFuc2l0aXZl LWlucHV0cyBhKSkKKyAgICAgICAgICAoZXF1YWw/CisgICAgICAgICAgICBgKCgiYSoiICxhKSAo ImErIiAsYSkgKCJhIiAsYSkpCisgICAgICAgICAgICAocGFja2FnZS10cmFuc2l0aXZlLWlucHV0 cyBiKSkKKyAgICAgICAgICAoZXF1YWw/CisgICAgICAgICAgICBgKCgiYiIgLGIpICgiYSIgLGEp KQorICAgICAgICAgICAgKHBhY2thZ2UtdHJhbnNpdGl2ZS1pbnB1dHMgYykpCisgICAgICAgICAg KGVxdWFsPworICAgICAgICAgICAgYCgoImEiICxhKSAoImMiICxjKSAoImIiICxiKSkKKyAgICAg ICAgICAgIChwYWNrYWdlLXRyYW5zaXRpdmUtaW5wdXRzIGQpKQorICAgICAgICAgIChlcXVhbD8K KyAgICAgICAgICAgIGAoKCJiIiAsYikgKCJjIiAsYykgKCJhIiAsYSkpCisgICAgICAgICAgICAo cGFja2FnZS10cmFuc2l0aXZlLWlucHV0cyBlKSkpKSkKYWN0dWFsLXZhbHVlOiAjdApyZXN1bHQ6 IFBBU1MKCnRlc3QtbmFtZTogcGFja2FnZS10cmFuc2l0aXZlLXN1cHBvcnRlZC1zeXN0ZW1zCmxv Y2F0aW9uOiAvdG1wL2d1aXgtYnVpbGQtZ3VpeC0wLjEzLjAtMTIuMGExNTRjMSsuZHJ2LTAvc291 cmNlL3Rlc3RzL3BhY2thZ2VzLnNjbToyMTkKc291cmNlOgorICh0ZXN0LWVxdWFsCisgICAicGFj a2FnZS10cmFuc2l0aXZlLXN1cHBvcnRlZC1zeXN0ZW1zIgorICAgJygoIngiICJ5IiAieiIpICgi eCIgInkiKSAoInkiKSAoInkiKSAoInkiKSkKKyAgIChsZXQqICgoYSAoZHVtbXktcGFja2FnZQor ICAgICAgICAgICAgICAgImEiCisgICAgICAgICAgICAgICAoYnVpbGQtc3lzdGVtIHRyaXZpYWwt YnVpbGQtc3lzdGVtKQorICAgICAgICAgICAgICAgKHN1cHBvcnRlZC1zeXN0ZW1zICcoIngiICJ5 IiAieiIpKSkpCisgICAgICAgICAgKGIgKGR1bW15LXBhY2thZ2UKKyAgICAgICAgICAgICAgICJi IgorICAgICAgICAgICAgICAgKGJ1aWxkLXN5c3RlbSB0cml2aWFsLWJ1aWxkLXN5c3RlbSkKKyAg ICAgICAgICAgICAgIChzdXBwb3J0ZWQtc3lzdGVtcyAnKCJ4IiAieSIpKQorICAgICAgICAgICAg ICAgKGlucHV0cyBgKCgiYSIgLGEpKSkpKQorICAgICAgICAgIChjIChkdW1teS1wYWNrYWdlCisg ICAgICAgICAgICAgICAiYyIKKyAgICAgICAgICAgICAgIChidWlsZC1zeXN0ZW0gdHJpdmlhbC1i dWlsZC1zeXN0ZW0pCisgICAgICAgICAgICAgICAoc3VwcG9ydGVkLXN5c3RlbXMgJygieSIgInoi KSkKKyAgICAgICAgICAgICAgIChpbnB1dHMgYCgoImIiICxiKSkpKSkKKyAgICAgICAgICAoZCAo ZHVtbXktcGFja2FnZQorICAgICAgICAgICAgICAgImQiCisgICAgICAgICAgICAgICAoYnVpbGQt c3lzdGVtIHRyaXZpYWwtYnVpbGQtc3lzdGVtKQorICAgICAgICAgICAgICAgKHN1cHBvcnRlZC1z eXN0ZW1zICcoIngiICJ5IiAieiIpKQorICAgICAgICAgICAgICAgKGlucHV0cyBgKCgiYiIgLGIp ICgiYyIgLGMpKSkpKQorICAgICAgICAgIChlIChkdW1teS1wYWNrYWdlCisgICAgICAgICAgICAg ICAiZSIKKyAgICAgICAgICAgICAgIChidWlsZC1zeXN0ZW0gdHJpdmlhbC1idWlsZC1zeXN0ZW0p CisgICAgICAgICAgICAgICAoc3VwcG9ydGVkLXN5c3RlbXMgJygieCIgInkiICJ6IikpCisgICAg ICAgICAgICAgICAoaW5wdXRzIGAoKCJkIiAsZCkpKSkpKQorICAgICAobGlzdCAocGFja2FnZS10 cmFuc2l0aXZlLXN1cHBvcnRlZC1zeXN0ZW1zIGEpCisgICAgICAgICAgIChwYWNrYWdlLXRyYW5z aXRpdmUtc3VwcG9ydGVkLXN5c3RlbXMgYikKKyAgICAgICAgICAgKHBhY2thZ2UtdHJhbnNpdGl2 ZS1zdXBwb3J0ZWQtc3lzdGVtcyBjKQorICAgICAgICAgICAocGFja2FnZS10cmFuc2l0aXZlLXN1 cHBvcnRlZC1zeXN0ZW1zIGQpCisgICAgICAgICAgIChwYWNrYWdlLXRyYW5zaXRpdmUtc3VwcG9y dGVkLXN5c3RlbXMgZSkpKSkKZXhwZWN0ZWQtdmFsdWU6ICgoIngiICJ5IiAieiIpICgieCIgInki KSAoInkiKSAoInkiKSAoInkiKSkKYWN0dWFsLXZhbHVlOiAoKCJ4IiAieSIgInoiKSAoIngiICJ5 IikgKCJ5IikgKCJ5IikgKCJ5IikpCnJlc3VsdDogUEFTUwoKdGVzdC1uYW1lOiBvcmlnaW4tYWN0 dWFsLWZpbGUtbmFtZQpsb2NhdGlvbjogL3RtcC9ndWl4LWJ1aWxkLWd1aXgtMC4xMy4wLTEyLjBh MTU0YzErLmRydi0wL3NvdXJjZS90ZXN0cy9wYWNrYWdlcy5zY206MjUyCnNvdXJjZToKKyAodGVz dC1lcXVhbAorICAgIm9yaWdpbi1hY3R1YWwtZmlsZS1uYW1lIgorICAgImZvby0xLnRhci5neiIK KyAgIChsZXQgKChvIChkdW1teS1vcmlnaW4KKyAgICAgICAgICAgICAgKHVyaSAiaHR0cDovL3d3 dy5leGFtcGxlLmNvbS9mb28tMS50YXIuZ3oiKSkpKQorICAgICAob3JpZ2luLWFjdHVhbC1maWxl LW5hbWUgbykpKQpleHBlY3RlZC12YWx1ZTogImZvby0xLnRhci5neiIKYWN0dWFsLXZhbHVlOiAi Zm9vLTEudGFyLmd6IgpyZXN1bHQ6IFBBU1MKCnRlc3QtbmFtZTogb3JpZ2luLWFjdHVhbC1maWxl LW5hbWUsIGZpbGUtbmFtZQpsb2NhdGlvbjogL3RtcC9ndWl4LWJ1aWxkLWd1aXgtMC4xMy4wLTEy LjBhMTU0YzErLmRydi0wL3NvdXJjZS90ZXN0cy9wYWNrYWdlcy5zY206MjU3CnNvdXJjZToKKyAo dGVzdC1lcXVhbAorICAgIm9yaWdpbi1hY3R1YWwtZmlsZS1uYW1lLCBmaWxlLW5hbWUiCisgICAi Zm9vLTEudGFyLmd6IgorICAgKGxldCAoKG8gKGR1bW15LW9yaWdpbgorICAgICAgICAgICAgICAo dXJpICJodHRwOi8vd3d3LmV4YW1wbGUuY29tL3RhcmJhbGwiKQorICAgICAgICAgICAgICAoZmls ZS1uYW1lICJmb28tMS50YXIuZ3oiKSkpKQorICAgICAob3JpZ2luLWFjdHVhbC1maWxlLW5hbWUg bykpKQpleHBlY3RlZC12YWx1ZTogImZvby0xLnRhci5neiIKYWN0dWFsLXZhbHVlOiAiZm9vLTEu dGFyLmd6IgpyZXN1bHQ6IFBBU1MKCnRlc3QtbmFtZTogcGFja2FnZS1kaXJlY3Qtc291cmNlcywg bm8gc291cmNlCmxvY2F0aW9uOiAvdG1wL2d1aXgtYnVpbGQtZ3VpeC0wLjEzLjAtMTIuMGExNTRj MSsuZHJ2LTAvc291cmNlL3Rlc3RzL3BhY2thZ2VzLnNjbToyNzQKc291cmNlOgorICh0ZXN0LWFz c2VydAorICAgInBhY2thZ2UtZGlyZWN0LXNvdXJjZXMsIG5vIHNvdXJjZSIKKyAgIChudWxsPyAo cGFja2FnZS1kaXJlY3Qtc291cmNlcyBhKSkpCmFjdHVhbC12YWx1ZTogI3QKcmVzdWx0OiBQQVNT Cgp0ZXN0LW5hbWU6IHBhY2thZ2UtZGlyZWN0LXNvdXJjZXMsICNmIHNvdXJjZQpsb2NhdGlvbjog L3RtcC9ndWl4LWJ1aWxkLWd1aXgtMC4xMy4wLTEyLjBhMTU0YzErLmRydi0wL3NvdXJjZS90ZXN0 cy9wYWNrYWdlcy5zY206Mjc2CnNvdXJjZToKKyAodGVzdC1lcXVhbAorICAgInBhY2thZ2UtZGly ZWN0LXNvdXJjZXMsICNmIHNvdXJjZSIKKyAgIChsaXN0IGkpCisgICAocGFja2FnZS1kaXJlY3Qt c291cmNlcyBiKSkKZXhwZWN0ZWQtdmFsdWU6ICgjPG9yaWdpbiAiaHR0cDovL3d3dy5leGFtcGxl LmNvbSIgeHgzNTQ2N3B4eDM1NDY3cHh4MzU0NjdweHgzNTQ2N3B4eDM1NDY3cHh4MzU0NjdweHgz cSAoKSAyM2NhYmEwPikKYWN0dWFsLXZhbHVlOiAoIzxvcmlnaW4gImh0dHA6Ly93d3cuZXhhbXBs ZS5jb20iIHh4MzU0NjdweHgzNTQ2N3B4eDM1NDY3cHh4MzU0NjdweHgzNTQ2N3B4eDM1NDY3cHh4 M3EgKCkgMjNjYWJhMD4pCnJlc3VsdDogUEFTUwoKdGVzdC1uYW1lOiBwYWNrYWdlLWRpcmVjdC1z b3VyY2VzLCBub3QgaW5wdXQgc291cmNlCmxvY2F0aW9uOiAvdG1wL2d1aXgtYnVpbGQtZ3VpeC0w LjEzLjAtMTIuMGExNTRjMSsuZHJ2LTAvc291cmNlL3Rlc3RzL3BhY2thZ2VzLnNjbToyNzkKc291 cmNlOgorICh0ZXN0LWVxdWFsCisgICAicGFja2FnZS1kaXJlY3Qtc291cmNlcywgbm90IGlucHV0 IHNvdXJjZSIKKyAgIChsaXN0IHUpCisgICAocGFja2FnZS1kaXJlY3Qtc291cmNlcyBkKSkKZXhw ZWN0ZWQtdmFsdWU6ICgjPG9yaWdpbiAiaHR0cDovL3d3dy5leGFtcGxlLmNvbSIgeHgzNTQ2N3B4 eDM1NDY3cHh4MzU0NjdweHgzNTQ2N3B4eDM1NDY3cHh4MzU0NjdweHgzcSAoKSAyM2NhYzYwPikK YWN0dWFsLXZhbHVlOiAoIzxvcmlnaW4gImh0dHA6Ly93d3cuZXhhbXBsZS5jb20iIHh4MzU0Njdw eHgzNTQ2N3B4eDM1NDY3cHh4MzU0NjdweHgzNTQ2N3B4eDM1NDY3cHh4M3EgKCkgMjNjYWM2MD4p CnJlc3VsdDogUEFTUwoKdGVzdC1uYW1lOiBwYWNrYWdlLWRpcmVjdC1zb3VyY2VzCmxvY2F0aW9u OiAvdG1wL2d1aXgtYnVpbGQtZ3VpeC0wLjEzLjAtMTIuMGExNTRjMSsuZHJ2LTAvc291cmNlL3Rl c3RzL3BhY2thZ2VzLnNjbToyODIKc291cmNlOgorICh0ZXN0LWFzc2VydAorICAgInBhY2thZ2Ut ZGlyZWN0LXNvdXJjZXMiCisgICAobGV0ICgocyAocGFja2FnZS1kaXJlY3Qtc291cmNlcyBjKSkp CisgICAgIChhbmQgKD0gKGxlbmd0aCAocGsgJ3Mtc291cmNlcyBzKSkgMikKKyAgICAgICAgICAo bWVtYmVyIG8gcykKKyAgICAgICAgICAobWVtYmVyIGkgcykpKSkKCjs7OyAocy1zb3VyY2VzICgj PG9yaWdpbiAiaHR0cDovL3d3dy5leGFtcGxlLmNvbSIgeHgzNTQ2N3B4eDM1NDY3cHh4MzU0Njdw eHgzNTQ2N3B4eDM1NDY3cHh4MzU0NjdweHgzcSAoKSAyM2NhZDIwPiAjPG9yaWdpbiAiaHR0cDov L3d3dy5leGFtcGxlLmNvbSIgeHgzNTQ2N3B4eDM1NDY3cHh4MzU0NjdweHgzNTQ2N3B4eDM1NDY3 cHh4MzU0NjdweHgzcSAoKSAyM2NhYmEwPikpCmFjdHVhbC12YWx1ZTogKCM8b3JpZ2luICJodHRw Oi8vd3d3LmV4YW1wbGUuY29tIiB4eDM1NDY3cHh4MzU0NjdweHgzNTQ2N3B4eDM1NDY3cHh4MzU0 NjdweHgzNTQ2N3B4eDNxICgpIDIzY2FiYTA+KQpyZXN1bHQ6IFBBU1MKCnRlc3QtbmFtZTogcGFj a2FnZS10cmFuc2l0aXZlLXNvdXJjZXMKbG9jYXRpb246IC90bXAvZ3VpeC1idWlsZC1ndWl4LTAu MTMuMC0xMi4wYTE1NGMxKy5kcnYtMC9zb3VyY2UvdGVzdHMvcGFja2FnZXMuc2NtOjI4Nwpzb3Vy Y2U6CisgKHRlc3QtYXNzZXJ0CisgICAicGFja2FnZS10cmFuc2l0aXZlLXNvdXJjZXMiCisgICAo bGV0ICgocyAocGFja2FnZS10cmFuc2l0aXZlLXNvdXJjZXMgZCkpKQorICAgICAoYW5kICg9IChs ZW5ndGggKHBrICdkLXNvdXJjZXMgcykpIDMpCisgICAgICAgICAgKG1lbWJlciBvIHMpCisgICAg ICAgICAgKG1lbWJlciBpIHMpCisgICAgICAgICAgKG1lbWJlciB1IHMpKSkpCgo7OzsgKGQtc291 cmNlcyAoIzxvcmlnaW4gImh0dHA6Ly93d3cuZXhhbXBsZS5jb20iIHh4MzU0NjdweHgzNTQ2N3B4 eDM1NDY3cHh4MzU0NjdweHgzNTQ2N3B4eDM1NDY3cHh4M3EgKCkgMjNjYWM2MD4gIzxvcmlnaW4g Imh0dHA6Ly93d3cuZXhhbXBsZS5jb20iIHh4MzU0NjdweHgzNTQ2N3B4eDM1NDY3cHh4MzU0Njdw eHgzNTQ2N3B4eDM1NDY3cHh4M3EgKCkgMjNjYWQyMD4gIzxvcmlnaW4gImh0dHA6Ly93d3cuZXhh bXBsZS5jb20iIHh4MzU0NjdweHgzNTQ2N3B4eDM1NDY3cHh4MzU0NjdweHgzNTQ2N3B4eDM1NDY3 cHh4M3EgKCkgMjNjYWJhMD4pKQphY3R1YWwtdmFsdWU6ICgjPG9yaWdpbiAiaHR0cDovL3d3dy5l eGFtcGxlLmNvbSIgeHgzNTQ2N3B4eDM1NDY3cHh4MzU0NjdweHgzNTQ2N3B4eDM1NDY3cHh4MzU0 NjdweHgzcSAoKSAyM2NhYzYwPiAjPG9yaWdpbiAiaHR0cDovL3d3dy5leGFtcGxlLmNvbSIgeHgz NTQ2N3B4eDM1NDY3cHh4MzU0NjdweHgzNTQ2N3B4eDM1NDY3cHh4MzU0NjdweHgzcSAoKSAyM2Nh ZDIwPiAjPG9yaWdpbiAiaHR0cDovL3d3dy5leGFtcGxlLmNvbSIgeHgzNTQ2N3B4eDM1NDY3cHh4 MzU0NjdweHgzNTQ2N3B4eDM1NDY3cHh4MzU0NjdweHgzcSAoKSAyM2NhYmEwPikKcmVzdWx0OiBQ QVNTCgp0ZXN0LW5hbWU6IHRyYW5zaXRpdmUtaW5wdXQtcmVmZXJlbmNlcwpsb2NhdGlvbjogL3Rt cC9ndWl4LWJ1aWxkLWd1aXgtMC4xMy4wLTEyLjBhMTU0YzErLmRydi0wL3NvdXJjZS90ZXN0cy9w YWNrYWdlcy5zY206Mjk0CnNvdXJjZToKKyAodGVzdC1hc3NlcnQKKyAgICJ0cmFuc2l0aXZlLWlu cHV0LXJlZmVyZW5jZXMiCisgICAobGV0KiAoKGEgKGR1bW15LXBhY2thZ2UgImEiKSkKKyAgICAg ICAgICAoYiAoZHVtbXktcGFja2FnZSAiYiIpKQorICAgICAgICAgIChjIChkdW1teS1wYWNrYWdl CisgICAgICAgICAgICAgICAiYyIKKyAgICAgICAgICAgICAgIChpbnB1dHMgYCgoImEiICxhKSkp CisgICAgICAgICAgICAgICAocHJvcGFnYXRlZC1pbnB1dHMgYCgoImJvbyIgLGIpKSkpKQorICAg ICAgICAgIChkIChkdW1teS1wYWNrYWdlICJkIiAoaW5wdXRzIGAoKCJjKiIgLGMpKSkpKQorICAg ICAgICAgIChrZXlzIChtYXAgKG1hdGNoLWxhbWJkYSAoKCdhc3NvYy1yZWYgJ2wga2V5KSBrZXkp KQorICAgICAgICAgICAgICAgICAgICAgKHBrICdyZWZzCisgICAgICAgICAgICAgICAgICAgICAg ICAgKHRyYW5zaXRpdmUtaW5wdXQtcmVmZXJlbmNlcworICAgICAgICAgICAgICAgICAgICAgICAg ICAgJ2wKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIChwYWNrYWdlLWlucHV0cyBkKSkpKSkp CisgICAgIChhbmQgKD0gKGxlbmd0aCBrZXlzKSAyKQorICAgICAgICAgIChtZW1iZXIgImMqIiBr ZXlzKQorICAgICAgICAgIChtZW1iZXIgImJvbyIga2V5cykpKSkKCjs7OyAocmVmcyAoKGFzc29j LXJlZiBsICJjKiIpIChhc3NvYy1yZWYgbCAiYm9vIikpKQphY3R1YWwtdmFsdWU6ICgiYm9vIikK cmVzdWx0OiBQQVNTCgp0ZXN0LW5hbWU6IHBhY2thZ2UtdHJhbnNpdGl2ZS1zdXBwb3J0ZWQtc3lz dGVtcywgaW1wbGljaXQgaW5wdXRzCmxvY2F0aW9uOiAvdG1wL2d1aXgtYnVpbGQtZ3VpeC0wLjEz LjAtMTIuMGExNTRjMSsuZHJ2LTAvc291cmNlL3Rlc3RzL3BhY2thZ2VzLnNjbTozMTEKc291cmNl OgorICh0ZXN0LWVxdWFsCisgICAicGFja2FnZS10cmFuc2l0aXZlLXN1cHBvcnRlZC1zeXN0ZW1z LCBpbXBsaWNpdCBpbnB1dHMiCisgICAlc3VwcG9ydGVkLXN5c3RlbXMKKyAgIChsZXQgKChwIChk dW1teS1wYWNrYWdlCisgICAgICAgICAgICAgICJmb28iCisgICAgICAgICAgICAgIChidWlsZC1z eXN0ZW0gZ251LWJ1aWxkLXN5c3RlbSkKKyAgICAgICAgICAgICAgKHN1cHBvcnRlZC1zeXN0ZW1z CisgICAgICAgICAgICAgICAgYCgiZG9lcy1ub3QtZXhpc3QiICJmb29iYXIiICxAJXN1cHBvcnRl ZC1zeXN0ZW1zKSkpKSkKKyAgICAgKHBhY2thZ2UtdHJhbnNpdGl2ZS1zdXBwb3J0ZWQtc3lzdGVt cyBwKSkpCmV4cGVjdGVkLXZhbHVlOiAoIng4Nl82NC1saW51eCIgImk2ODYtbGludXgiICJhcm1o Zi1saW51eCIgImFhcmNoNjQtbGludXgiICJtaXBzNjRlbC1saW51eCIpCmFjdHVhbC12YWx1ZTog KCJ4ODZfNjQtbGludXgiICJpNjg2LWxpbnV4IiAiYXJtaGYtbGludXgiICJhYXJjaDY0LWxpbnV4 IiAibWlwczY0ZWwtbGludXgiKQpyZXN1bHQ6IFBBU1MKCnRlc3QtbmFtZTogc3VwcG9ydGVkLXBh Y2thZ2U/CmxvY2F0aW9uOiAvdG1wL2d1aXgtYnVpbGQtZ3VpeC0wLjEzLjAtMTIuMGExNTRjMSsu ZHJ2LTAvc291cmNlL3Rlc3RzL3BhY2thZ2VzLnNjbTozMjIKc291cmNlOgorICh0ZXN0LWFzc2Vy dAorICAgInN1cHBvcnRlZC1wYWNrYWdlPyIKKyAgIChsZXQgKChwIChkdW1teS1wYWNrYWdlCisg ICAgICAgICAgICAgICJmb28iCisgICAgICAgICAgICAgIChidWlsZC1zeXN0ZW0gZ251LWJ1aWxk LXN5c3RlbSkKKyAgICAgICAgICAgICAgKHN1cHBvcnRlZC1zeXN0ZW1zCisgICAgICAgICAgICAg ICAgJygieDg2XzY0LWxpbnV4IiAiZG9lcy1ub3QtZXhpc3QiKSkpKSkKKyAgICAgKGFuZCAoc3Vw cG9ydGVkLXBhY2thZ2U/IHAgIng4Nl82NC1saW51eCIpCisgICAgICAgICAgKG5vdCAoc3VwcG9y dGVkLXBhY2thZ2U/IHAgImRvZXMtbm90LWV4aXN0IikpCisgICAgICAgICAgKG5vdCAoc3VwcG9y dGVkLXBhY2thZ2U/IHAgImk2ODYtbGludXgiKSkpKSkKYWN0dWFsLXZhbHVlOiAjdApyZXN1bHQ6 IFBBU1MKCnRlc3QtbmFtZTogcGFja2FnZS1zb3VyY2UtZGVyaXZhdGlvbiwgZmlsZQpsb2NhdGlv bjogL3RtcC9ndWl4LWJ1aWxkLWd1aXgtMC4xMy4wLTEyLjBhMTU0YzErLmRydi0wL3NvdXJjZS90 ZXN0cy9wYWNrYWdlcy5zY206MzMyCnNvdXJjZToKKyAodGVzdC1hc3NlcnQKKyAgICJwYWNrYWdl LXNvdXJjZS1kZXJpdmF0aW9uLCBmaWxlIgorICAgKGxldCogKChmaWxlIChzZWFyY2gtcGF0aCAl bG9hZC1wYXRoICJndWl4LnNjbSIpKQorICAgICAgICAgIChwYWNrYWdlCisgICAgICAgICAgICAo cGFja2FnZQorICAgICAgICAgICAgICAoaW5oZXJpdCAoZHVtbXktcGFja2FnZSAicCIpKQorICAg ICAgICAgICAgICAoc291cmNlIGZpbGUpKSkKKyAgICAgICAgICAoc291cmNlCisgICAgICAgICAg ICAocGFja2FnZS1zb3VyY2UtZGVyaXZhdGlvbgorICAgICAgICAgICAgICAlc3RvcmUKKyAgICAg ICAgICAgICAgKHBhY2thZ2Utc291cmNlIHBhY2thZ2UpKSkpCisgICAgIChhbmQgKHN0b3JlLXBh dGg/IHNvdXJjZSkKKyAgICAgICAgICAodmFsaWQtcGF0aD8gJXN0b3JlIHNvdXJjZSkKKyAgICAg ICAgICAoZXF1YWw/CisgICAgICAgICAgICAoY2FsbC13aXRoLWlucHV0LWZpbGUgc291cmNlIGdl dC1ieXRldmVjdG9yLWFsbCkKKyAgICAgICAgICAgIChjYWxsLXdpdGgtaW5wdXQtZmlsZSBmaWxl IGdldC1ieXRldmVjdG9yLWFsbCkpKSkpCmFjdHVhbC12YWx1ZTogI3QKcmVzdWx0OiBQQVNTCgp0 ZXN0LW5hbWU6IHBhY2thZ2Utc291cmNlLWRlcml2YXRpb24sIHN0b3JlIHBhdGgKbG9jYXRpb246 IC90bXAvZ3VpeC1idWlsZC1ndWl4LTAuMTMuMC0xMi4wYTE1NGMxKy5kcnYtMC9zb3VyY2UvdGVz dHMvcGFja2FnZXMuc2NtOjM0Mwpzb3VyY2U6CisgKHRlc3QtYXNzZXJ0CisgICAicGFja2FnZS1z b3VyY2UtZGVyaXZhdGlvbiwgc3RvcmUgcGF0aCIKKyAgIChsZXQqICgoZmlsZSAoYWRkLXRvLXN0 b3JlCisgICAgICAgICAgICAgICAgICAlc3RvcmUKKyAgICAgICAgICAgICAgICAgICJndWl4LnNj bSIKKyAgICAgICAgICAgICAgICAgICN0CisgICAgICAgICAgICAgICAgICAic2hhMjU2IgorICAg ICAgICAgICAgICAgICAgKHNlYXJjaC1wYXRoICVsb2FkLXBhdGggImd1aXguc2NtIikpKQorICAg ICAgICAgIChwYWNrYWdlCisgICAgICAgICAgICAocGFja2FnZQorICAgICAgICAgICAgICAoaW5o ZXJpdCAoZHVtbXktcGFja2FnZSAicCIpKQorICAgICAgICAgICAgICAoc291cmNlIGZpbGUpKSkK KyAgICAgICAgICAoc291cmNlCisgICAgICAgICAgICAocGFja2FnZS1zb3VyY2UtZGVyaXZhdGlv bgorICAgICAgICAgICAgICAlc3RvcmUKKyAgICAgICAgICAgICAgKHBhY2thZ2Utc291cmNlIHBh Y2thZ2UpKSkpCisgICAgIChzdHJpbmc9PyBmaWxlIHNvdXJjZSkpKQphY3R1YWwtdmFsdWU6ICN0 CnJlc3VsdDogUEFTUwoKdGVzdC1uYW1lOiBwYWNrYWdlLXNvdXJjZS1kZXJpdmF0aW9uLCBpbmRp cmVjdCBzdG9yZSBwYXRoCmxvY2F0aW9uOiAvdG1wL2d1aXgtYnVpbGQtZ3VpeC0wLjEzLjAtMTIu MGExNTRjMSsuZHJ2LTAvc291cmNlL3Rlc3RzL3BhY2thZ2VzLnNjbTozNTIKc291cmNlOgorICh0 ZXN0LWFzc2VydAorICAgInBhY2thZ2Utc291cmNlLWRlcml2YXRpb24sIGluZGlyZWN0IHN0b3Jl IHBhdGgiCisgICAobGV0KiAoKGRpciAoYWRkLXRvLXN0b3JlCisgICAgICAgICAgICAgICAgICVz dG9yZQorICAgICAgICAgICAgICAgICAiZ3VpeC1idWlsZCIKKyAgICAgICAgICAgICAgICAgI3QK KyAgICAgICAgICAgICAgICAgInNoYTI1NiIKKyAgICAgICAgICAgICAgICAgKGRpcm5hbWUKKyAg ICAgICAgICAgICAgICAgICAoc2VhcmNoLXBhdGggJWxvYWQtcGF0aCAiZ3VpeC9idWlsZC91dGls cy5zY20iKSkpKQorICAgICAgICAgIChwYWNrYWdlCisgICAgICAgICAgICAocGFja2FnZQorICAg ICAgICAgICAgICAoaW5oZXJpdCAoZHVtbXktcGFja2FnZSAicCIpKQorICAgICAgICAgICAgICAo c291cmNlIChzdHJpbmctYXBwZW5kIGRpciAiL3V0aWxzLnNjbSIpKSkpCisgICAgICAgICAgKHNv dXJjZQorICAgICAgICAgICAgKHBhY2thZ2Utc291cmNlLWRlcml2YXRpb24KKyAgICAgICAgICAg ICAgJXN0b3JlCisgICAgICAgICAgICAgIChwYWNrYWdlLXNvdXJjZSBwYWNrYWdlKSkpKQorICAg ICAoYW5kIChkaXJlY3Qtc3RvcmUtcGF0aD8gc291cmNlKQorICAgICAgICAgIChzdHJpbmctc3Vm Zml4PyAidXRpbHMuc2NtIiBzb3VyY2UpKSkpCmFjdHVhbC12YWx1ZTogI3QKcmVzdWx0OiBQQVNT Cgp0ZXN0LW5hbWU6IHBhY2thZ2Utc291cmNlLWRlcml2YXRpb24sIGxvY2FsLWZpbGUKbG9jYXRp b246IC90bXAvZ3VpeC1idWlsZC1ndWl4LTAuMTMuMC0xMi4wYTE1NGMxKy5kcnYtMC9zb3VyY2Uv dGVzdHMvcGFja2FnZXMuc2NtOjM2Mwpzb3VyY2U6CisgKHRlc3QtYXNzZXJ0CisgICAicGFja2Fn ZS1zb3VyY2UtZGVyaXZhdGlvbiwgbG9jYWwtZmlsZSIKKyAgIChsZXQqICgoZmlsZSAobG9jYWwt ZmlsZSAiLi4vZ3VpeC9iYXNlMzIuc2NtIikpCisgICAgICAgICAgKHBhY2thZ2UKKyAgICAgICAg ICAgIChwYWNrYWdlCisgICAgICAgICAgICAgIChpbmhlcml0IChkdW1teS1wYWNrYWdlICJwIikp CisgICAgICAgICAgICAgIChzb3VyY2UgZmlsZSkpKQorICAgICAgICAgIChzb3VyY2UKKyAgICAg ICAgICAgIChwYWNrYWdlLXNvdXJjZS1kZXJpdmF0aW9uCisgICAgICAgICAgICAgICVzdG9yZQor ICAgICAgICAgICAgICAocGFja2FnZS1zb3VyY2UgcGFja2FnZSkpKSkKKyAgICAgKGFuZCAoc3Rv cmUtcGF0aD8gc291cmNlKQorICAgICAgICAgIChzdHJpbmctc3VmZml4PyAiYmFzZTMyLnNjbSIg c291cmNlKQorICAgICAgICAgICh2YWxpZC1wYXRoPyAlc3RvcmUgc291cmNlKQorICAgICAgICAg IChlcXVhbD8KKyAgICAgICAgICAgIChjYWxsLXdpdGgtaW5wdXQtZmlsZSBzb3VyY2UgZ2V0LWJ5 dGV2ZWN0b3ItYWxsKQorICAgICAgICAgICAgKGNhbGwtd2l0aC1pbnB1dC1maWxlCisgICAgICAg ICAgICAgIChzZWFyY2gtcGF0aCAlbG9hZC1wYXRoICJndWl4L2Jhc2UzMi5zY20iKQorICAgICAg ICAgICAgICBnZXQtYnl0ZXZlY3Rvci1hbGwpKSkpKQphY3R1YWwtdmFsdWU6ICN0CnJlc3VsdDog UEFTUwoKdGVzdC1uYW1lOiBwYWNrYWdlLXNvdXJjZS1kZXJpdmF0aW9uLCBzbmlwcGV0CmxvY2F0 aW9uOiAvdG1wL2d1aXgtYnVpbGQtZ3VpeC0wLjEzLjAtMTIuMGExNTRjMSsuZHJ2LTAvc291cmNl L3Rlc3RzL3BhY2thZ2VzLnNjbTozNzgKc291cmNlOgorICh0ZXN0LWVxdWFsCisgICAicGFja2Fn ZS1zb3VyY2UtZGVyaXZhdGlvbiwgc25pcHBldCIKKyAgICJPSyIKKyAgIChsZXQqICgoZmlsZSAo c2VhcmNoLWJvb3RzdHJhcC1iaW5hcnkKKyAgICAgICAgICAgICAgICAgIChtYXRjaCAoJWN1cnJl bnQtc3lzdGVtKQorICAgICAgICAgICAgICAgICAgICAgICAgICgiYXJtaGYtbGludXgiICJndWls ZS0yLjAuMTEudGFyLnh6IikKKyAgICAgICAgICAgICAgICAgICAgICAgICAoImFhcmNoNjQtbGlu dXgiICJndWlsZS0yLjAuMTQudGFyLnh6IikKKyAgICAgICAgICAgICAgICAgICAgICAgICAoXyAi Z3VpbGUtMi4wLjkudGFyLnh6IikpCisgICAgICAgICAgICAgICAgICAoJWN1cnJlbnQtc3lzdGVt KSkpCisgICAgICAgICAgKHNoYTI1NiAoY2FsbC13aXRoLWlucHV0LWZpbGUgZmlsZSBwb3J0LXNo YTI1NikpCisgICAgICAgICAgKGZldGNoIChsYW1iZGEqICh1cmwgaGFzaC1hbGdvIGhhc2ggIzpv cHRpb25hbCBuYW1lICM6a2V5IHN5c3RlbSkKKyAgICAgICAgICAgICAgICAgICAocGsgJ2ZldGNo IHVybCBoYXNoLWFsZ28gaGFzaCBuYW1lIHN5c3RlbSkKKyAgICAgICAgICAgICAgICAgICAoaW50 ZXJuZWQtZmlsZSB1cmwpKSkKKyAgICAgICAgICAoc291cmNlCisgICAgICAgICAgICAoYm9vdHN0 cmFwLW9yaWdpbgorICAgICAgICAgICAgICAob3JpZ2luCisgICAgICAgICAgICAgICAgKG1ldGhv ZCBmZXRjaCkKKyAgICAgICAgICAgICAgICAodXJpIGZpbGUpCisgICAgICAgICAgICAgICAgKHNo YTI1NiBzaGEyNTYpCisgICAgICAgICAgICAgICAgKHBhdGNoLWlucHV0cworICAgICAgICAgICAg ICAgICAgYCgoInRhciIgLCVib290c3RyYXAtY29yZXV0aWxzJmNvKQorICAgICAgICAgICAgICAg ICAgICAoInh6IiAsJWJvb3RzdHJhcC1jb3JldXRpbHMmY28pCisgICAgICAgICAgICAgICAgICAg ICgicGF0Y2giICwlYm9vdHN0cmFwLWNvcmV1dGlscyZjbykpKQorICAgICAgICAgICAgICAgIChw YXRjaC1ndWlsZSAlYm9vdHN0cmFwLWd1aWxlKQorICAgICAgICAgICAgICAgIChtb2R1bGVzICco KGd1aXggYnVpbGQgdXRpbHMpKSkKKyAgICAgICAgICAgICAgICAoc25pcHBldAorICAgICAgICAg ICAgICAgICAgJyhiZWdpbgorICAgICAgICAgICAgICAgICAgICAgKGNobW9kICIuIiA1MTEpCisg ICAgICAgICAgICAgICAgICAgICAoc3ltbGluayAiZ3VpbGUiICJndWlsZS1yb2NrcyIpCisgICAg ICAgICAgICAgICAgICAgICAoY29weS1yZWN1cnNpdmVseQorICAgICAgICAgICAgICAgICAgICAg ICAiLi4vc2hhcmUvZ3VpbGUvMi4wL3NjcmlwdHMiCisgICAgICAgICAgICAgICAgICAgICAgICJz Y3JpcHRzIikKKyAgICAgICAgICAgICAgICAgICAgIChjaG1vZCAiLi4iIDUxMSkpKSkpKQorICAg ICAgICAgIChwYWNrYWdlCisgICAgICAgICAgICAocGFja2FnZQorICAgICAgICAgICAgICAoaW5o ZXJpdCAoZHVtbXktcGFja2FnZSAid2l0aC1zbmlwcGV0IikpCisgICAgICAgICAgICAgIChzb3Vy Y2Ugc291cmNlKQorICAgICAgICAgICAgICAoYnVpbGQtc3lzdGVtIHRyaXZpYWwtYnVpbGQtc3lz dGVtKQorICAgICAgICAgICAgICAoaW5wdXRzCisgICAgICAgICAgICAgICAgYCgoInRhciIKKyAg ICAgICAgICAgICAgICAgICAsKHNlYXJjaC1ib290c3RyYXAtYmluYXJ5ICJ0YXIiICglY3VycmVu dC1zeXN0ZW0pKSkKKyAgICAgICAgICAgICAgICAgICgieHoiCisgICAgICAgICAgICAgICAgICAg LChzZWFyY2gtYm9vdHN0cmFwLWJpbmFyeSAieHoiICglY3VycmVudC1zeXN0ZW0pKSkpKQorICAg ICAgICAgICAgICAoYXJndW1lbnRzCisgICAgICAgICAgICAgICAgYCgjOmd1aWxlCisgICAgICAg ICAgICAgICAgICAsJWJvb3RzdHJhcC1ndWlsZQorICAgICAgICAgICAgICAgICAgIzpidWlsZGVy CisgICAgICAgICAgICAgICAgICAobGV0ICgodGFyIChhc3NvYy1yZWYgJWJ1aWxkLWlucHV0cyAi dGFyIikpCisgICAgICAgICAgICAgICAgICAgICAgICAoeHogKGFzc29jLXJlZiAlYnVpbGQtaW5w dXRzICJ4eiIpKQorICAgICAgICAgICAgICAgICAgICAgICAgKHNvdXJjZSAoYXNzb2MtcmVmICVi dWlsZC1pbnB1dHMgInNvdXJjZSIpKSkKKyAgICAgICAgICAgICAgICAgICAgKGFuZCAoemVybz8g KHN5c3RlbSoKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXIKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAieHZmIgorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHNvdXJjZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICItLXVz ZS1jb21wcmVzcy1wcm9ncmFtIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHh6 KSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAoc3RyaW5nPT8gImd1aWxlIiAocmVhZGxpbmsg ImJpbi9ndWlsZS1yb2NrcyIpKQorICAgICAgICAgICAgICAgICAgICAgICAgIChmaWxlLWV4aXN0 cz8gImJpbi9zY3JpcHRzL2NvbXBpbGUuc2NtIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAo bGV0ICgob3V0IChhc3NvYy1yZWYgJW91dHB1dHMgIm91dCIpKSkKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgIChjYWxsLXdpdGgtb3V0cHV0LWZpbGUKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgb3V0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChsYW1iZGEgKHApIChkaXNw bGF5ICJPSyIgcCkpKSkpKSkpKSkKKyAgICAgICAgICAoZHJ2IChwYWNrYWdlLWRlcml2YXRpb24g JXN0b3JlIHBhY2thZ2UpKQorICAgICAgICAgIChvdXQgKGRlcml2YXRpb24tPm91dHB1dC1wYXRo IGRydikpKQorICAgICAoYW5kIChidWlsZC1kZXJpdmF0aW9ucworICAgICAgICAgICAgJXN0b3Jl CisgICAgICAgICAgICAobGlzdCAocGsgJ3NuaXBwZXQtZHJ2IGRydikpKQorICAgICAgICAgIChj YWxsLXdpdGgtaW5wdXQtZmlsZSBvdXQgZ2V0LXN0cmluZy1hbGwpKSkpCnJlc3VsdDogU0tJUAoK dGVzdC1uYW1lOiByZXR1cm4gdmFsdWUKbG9jYXRpb246IC90bXAvZ3VpeC1idWlsZC1ndWl4LTAu MTMuMC0xMi4wYTE1NGMxKy5kcnYtMC9zb3VyY2UvdGVzdHMvcGFja2FnZXMuc2NtOjQ0Mgpzb3Vy Y2U6CisgKHRlc3QtYXNzZXJ0CisgICAicmV0dXJuIHZhbHVlIgorICAgKGxldCAoKGRydiAocGFj a2FnZS1kZXJpdmF0aW9uICVzdG9yZSAoZHVtbXktcGFja2FnZSAicCIpKSkpCisgICAgIChhbmQg KGRlcml2YXRpb24/IGRydikKKyAgICAgICAgICAoZmlsZS1leGlzdHM/IChkZXJpdmF0aW9uLWZp bGUtbmFtZSBkcnYpKSkpKQphY3R1YWwtdmFsdWU6ICN0CnJlc3VsdDogUEFTUwoKdGVzdC1uYW1l OiBwYWNrYWdlLW91dHB1dApsb2NhdGlvbjogL3RtcC9ndWl4LWJ1aWxkLWd1aXgtMC4xMy4wLTEy LjBhMTU0YzErLmRydi0wL3NvdXJjZS90ZXN0cy9wYWNrYWdlcy5zY206NDQ3CnNvdXJjZToKKyAo dGVzdC1hc3NlcnQKKyAgICJwYWNrYWdlLW91dHB1dCIKKyAgIChsZXQqICgocGFja2FnZSAoZHVt bXktcGFja2FnZSAicCIpKQorICAgICAgICAgIChkcnYgKHBhY2thZ2UtZGVyaXZhdGlvbiAlc3Rv cmUgcGFja2FnZSkpKQorICAgICAoYW5kIChkZXJpdmF0aW9uPyBkcnYpCisgcmFuZG9tIHNlZWQg Zm9yIHRlc3RzOiAxNTEyMzE4NzMyCnBhY2thZ2UgJ2ZvbycgaGFzIGJlZW4gc3VwZXJzZWRlZCBi eSAnYmFyJwpwYWNrYWdlICdmb28nIGhhcyBiZWVuIHN1cGVyc2VkZWQgYnkgJ2JhcicKcGFja2Fn ZSAnZm9vJyBoYXMgYmVlbiBzdXBlcnNlZGVkIGJ5ICdiYXInCndhcm5pbmc6IHBhY2thZ2UgJ2Zv bycgbm8gbG9uZ2VyIGV4aXN0cwpwYWNrYWdlICdmb28nIGhhcyBiZWVuIHN1cGVyc2VkZWQgYnkg J2JhcicKQCBidWlsZC1zdGFydGVkIC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9odnl2Z2p5Z2Y3Mjl2 ZnZicGwyazNkcXZzaXd4NTljdy10cml2aWFsLTAuZHJ2IC0geDg2XzY0LWxpbnV4IC90bXAvZ3Vp eC10ZXN0cy92YXIvbG9nL2d1aXgvZHJ2cy9odi8veXZnanlnZjcyOXZmdmJwbDJrM2RxdnNpd3g1 OWN3LXRyaXZpYWwtMC5kcnYuYnoyCkAgYnVpbGQtc3VjY2VlZGVkIC90bXAvZ3VpeC10ZXN0cy9z dG9yZS9odnl2Z2p5Z2Y3Mjl2ZnZicGwyazNkcXZzaXd4NTljdy10cml2aWFsLTAuZHJ2IC0KICAg ICAgICAgKHN0cmluZz0/CisgICAgICAgICAgICAoZGVyaXZhdGlvbi0+b3V0cHV0LXBhdGggZHJ2 KQorICAgICAgICAgICAgKHBhY2thZ2Utb3V0cHV0ICVzdG9yZSBwYWNrYWdlICJvdXQiKSkpKSkK YWN0dWFsLXZhbHVlOiAjdApyZXN1bHQ6IFBBU1MKCnRlc3QtbmFtZTogcGF0Y2ggbm90IGZvdW5k IHlpZWxkcyBhIHJ1bi10aW1lIGVycm9yCmxvY2F0aW9uOiAvdG1wL2d1aXgtYnVpbGQtZ3VpeC0w LjEzLjAtMTIuMGExNTRjMSsuZHJ2LTAvc291cmNlL3Rlc3RzL3BhY2thZ2VzLnNjbTo0NTQKc291 cmNlOgorICh0ZXN0LWFzc2VydAorICAgInBhdGNoIG5vdCBmb3VuZCB5aWVsZHMgYSBydW4tdGlt ZSBlcnJvciIKKyAgIChndWFyZCAoYyAoKGNvbmRpdGlvbi1oYXMtdHlwZT8gYyAmbWVzc2FnZSkK KyAgICAgICAgICAgICAgKGFuZCAoc3RyaW5nLWNvbnRhaW5zCisgICAgICAgICAgICAgICAgICAg ICAoY29uZGl0aW9uLW1lc3NhZ2UgYykKKyAgICAgICAgICAgICAgICAgICAgICJkb2VzLW5vdC1l eGlzdC5wYXRjaCIpCisgICAgICAgICAgICAgICAgICAgKHN0cmluZy1jb250YWlucworICAgICAg ICAgICAgICAgICAgICAgKGNvbmRpdGlvbi1tZXNzYWdlIGMpCisgICAgICAgICAgICAgICAgICAg ICAibm90IGZvdW5kIikpKSkKKyAgICAgICAgICAobGV0ICgocCAocGFja2FnZQorICAgICAgICAg ICAgICAgICAgICAgKGluaGVyaXQgKGR1bW15LXBhY2thZ2UgInAiKSkKKyAgICAgICAgICAgICAg ICAgICAgIChzb3VyY2UKKyAgICAgICAgICAgICAgICAgICAgICAgKG9yaWdpbgorICAgICAgICAg ICAgICAgICAgICAgICAgIChtZXRob2QgKGNvbnN0ICNmKSkKKyAgICAgICAgICAgICAgICAgICAg ICAgICAodXJpICJodHRwOi8vd2hhdGV2ZXIiKQorICAgICAgICAgICAgICAgICAgICAgICAgIChw YXRjaGVzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAobGlzdCAoc2VhcmNoLXBhdGNoICJk b2VzLW5vdC1leGlzdC5wYXRjaCIpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAoc2hhMjU2 CisgICAgICAgICAgICAgICAgICAgICAgICAgICAoYmFzZTMyCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICIwYW1uMGJid3F2c3Z2c2g2ZHJmd3oyMHlkYzJjemszNzRsenc1a2tzYmg2YmY3 OGs0a3M0IikpKSkpKSkKKyAgICAgICAgICAgIChwYWNrYWdlLWRlcml2YXRpb24gJXN0b3JlIHAp CisgICAgICAgICAgICAjZikpKQphY3R1YWwtdmFsdWU6IDI4CnJlc3VsdDogUEFTUwoKdGVzdC1u YW1lOiAmcGFja2FnZS1pbnB1dC1lcnJvcgpsb2NhdGlvbjogL3RtcC9ndWl4LWJ1aWxkLWd1aXgt MC4xMy4wLTEyLjBhMTU0YzErLmRydi0wL3NvdXJjZS90ZXN0cy9wYWNrYWdlcy5zY206NDc0CnNv dXJjZToKKyAodGVzdC1lcXVhbAorICAgIiZwYWNrYWdlLWlucHV0LWVycm9yIgorICAgKGxpc3Qg ZHVtbXkgKGN1cnJlbnQtbW9kdWxlKSkKKyAgIChndWFyZCAoYyAoKHBhY2thZ2UtaW5wdXQtZXJy b3I/IGMpCisgICAgICAgICAgICAgIChsaXN0IChwYWNrYWdlLWVycm9yLXBhY2thZ2UgYykKKyAg ICAgICAgICAgICAgICAgICAgKHBhY2thZ2UtZXJyb3ItaW52YWxpZC1pbnB1dCBjKSkpKQorICAg ICAgICAgIChwYWNrYWdlLWRlcml2YXRpb24gJXN0b3JlIGR1bW15KSkpCmV4cGVjdGVkLXZhbHVl OiAoIzxwYWNrYWdlIGZvb0AwIC90bXAvZ3VpeC1idWlsZC1ndWl4LTAuMTMuMC0xMi4wYTE1NGMx Ky5kcnYtMC9zb3VyY2UvdGVzdHMvcGFja2FnZXMuc2NtOjQ3MyAxODhjNTQwPiAjPGRpcmVjdG9y eSAodGVzdC1wYWNrYWdlcykgODI0MzIwPikKYWN0dWFsLXZhbHVlOiAoIzxwYWNrYWdlIGZvb0Aw IC90bXAvZ3VpeC1idWlsZC1ndWl4LTAuMTMuMC0xMi4wYTE1NGMxKy5kcnYtMC9zb3VyY2UvdGVz dHMvcGFja2FnZXMuc2NtOjQ3MyAxODhjNTQwPiAjPGRpcmVjdG9yeSAodGVzdC1wYWNrYWdlcykg ODI0MzIwPikKcmVzdWx0OiBQQVNTCgp0ZXN0LW5hbWU6IHJlZmVyZW5jZSB0byBub24tZXhpc3Rl bnQgb3V0cHV0CmxvY2F0aW9uOiAvdG1wL2d1aXgtYnVpbGQtZ3VpeC0wLjEzLjAtMTIuMGExNTRj MSsuZHJ2LTAvc291cmNlL3Rlc3RzL3BhY2thZ2VzLnNjbTo0ODEKc291cmNlOgorICh0ZXN0LWFz c2VydAorICAgInJlZmVyZW5jZSB0byBub24tZXhpc3RlbnQgb3V0cHV0IgorICAgKHBhcmFtZXRl cml6ZQorICAgICAoKCVncmFmdD8gI2YpKQorICAgICAobGV0KiAoKGRlcCAoZHVtbXktcGFja2Fn ZSAiZGVwIikpCisgICAgICAgICAgICAocCAoZHVtbXktcGFja2FnZQorICAgICAgICAgICAgICAg ICAicCIKKyAgICAgICAgICAgICAgICAgKGlucHV0cyBgKCgiZGVwIiAsZGVwICJub24tZXhpc3Rl bnQiKSkpKSkpCisgICAgICAgKGd1YXJkIChjICgoZGVyaXZhdGlvbi1taXNzaW5nLW91dHB1dC1l cnJvcj8gYykKKyAgICAgICAgICAgICAgICAgIChhbmQgKHN0cmluZz0/CisgICAgICAgICAgICAg ICAgICAgICAgICAgKGRlcml2YXRpb24tbWlzc2luZy1vdXRwdXQgYykKKyAgICAgICAgICAgICAg ICAgICAgICAgICAibm9uLWV4aXN0ZW50IikKKyAgICAgICAgICAgICAgICAgICAgICAgKGVxdWFs PworICAgICAgICAgICAgICAgICAgICAgICAgIChwYWNrYWdlLWRlcml2YXRpb24gJXN0b3JlIGRl cCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAoZGVyaXZhdGlvbi1lcnJvci1kZXJpdmF0aW9u IGMpKSkpKQorICAgICAgICAgICAgICAocGFja2FnZS1kZXJpdmF0aW9uICVzdG9yZSBwKSkpKSkK YWN0dWFsLXZhbHVlOiAjdApyZXN1bHQ6IFBBU1MKCnRlc3QtbmFtZTogdHJpdmlhbApsb2NhdGlv bjogL3RtcC9ndWl4LWJ1aWxkLWd1aXgtMC4xMy4wLTEyLjBhMTU0YzErLmRydi0wL3NvdXJjZS90 ZXN0cy9wYWNrYWdlcy5zY206NDkzCnNvdXJjZToKKyAodGVzdC1hc3NlcnQKKyAgICJ0cml2aWFs IgorICAgKGxldCogKChwIChwYWNrYWdlCisgICAgICAgICAgICAgICAoaW5oZXJpdCAoZHVtbXkt cGFja2FnZSAidHJpdmlhbCIpKQorICAgICAgICAgICAgICAgKGJ1aWxkLXN5c3RlbSB0cml2aWFs LWJ1aWxkLXN5c3RlbSkKKyAgICAgICAgICAgICAgIChzb3VyY2UgI2YpCisgICAgICAgICAgICAg ICAoYXJndW1lbnRzCisgICAgICAgICAgICAgICAgIGAoIzpndWlsZQorICAgICAgICAgICAgICAg ICAgICwlYm9vdHN0cmFwLWd1aWxlCisgICAgICAgICAgICAgICAgICAgIzpidWlsZGVyCisgICAg ICAgICAgICAgICAgICAgKGJlZ2luCisgICAgICAgICAgICAgICAgICAgICAobWtkaXIgJW91dHB1 dCkKKyAgICAgICAgICAgICAgICAgICAgIChjYWxsLXdpdGgtb3V0cHV0LWZpbGUKKyAgICAgICAg ICAgICAgICAgICAgICAgKHN0cmluZy1hcHBlbmQgJW91dHB1dCAiL3Rlc3QiKQorICAgICAgICAg ICAgICAgICAgICAgICAobGFtYmRhIChwKSAoZGlzcGxheSAnKGhlbGxvIGd1aXgpIHApKSkpKSkp KQorICAgICAgICAgIChkIChwYWNrYWdlLWRlcml2YXRpb24gJXN0b3JlIHApKSkKKyAgICAgKGFu ZCAoYnVpbGQtZGVyaXZhdGlvbnMgJXN0b3JlIChsaXN0IGQpKQorICAgICAgICAgIChsZXQgKChw IChwayAnZHJ2IGQgKGRlcml2YXRpb24tPm91dHB1dC1wYXRoIGQpKSkpCisgICAgICAgICAgICAo ZXF1YWw/CisgICAgICAgICAgICAgICcoaGVsbG8gZ3VpeCkKKyAgICAgICAgICAgICAgKGNhbGwt d2l0aC1pbnB1dC1maWxlCisgICAgICAgICAgICAgICAgKHN0cmluZy1hcHBlbmQgcCAiL3Rlc3Qi KQorICAgICAgICAgICAgICAgIHJlYWQpKSkpKSkKCjs7OyAoZHJ2ICM8ZGVyaXZhdGlvbiAvdG1w L2d1aXgtdGVzdHMvc3RvcmUvaHZ5dmdqeWdmNzI5dmZ2YnBsMmszZHF2c2l3eDU5Y3ctdHJpdmlh bC0wLmRydiA9PiAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvM3BwN2NzOHljeGcxNnlsZHFkNjJscmsz MDZjazFnNzItdHJpdmlhbC0wIDFjODM5NjA+ICIvdG1wL2d1aXgtdGVzdHMvc3RvcmUvM3BwN2Nz OHljeGcxNnlsZHFkNjJscmszMDZjazFnNzItdHJpdmlhbC0wIikKYWN0dWFsLXZhbHVlOiAjdApy ZXN1bHQ6IFBBU1MKCnRlc3QtbmFtZTogdHJpdmlhbCB3aXRoIGxvY2FsIGZpbGUgYXMgaW5wdXQK bG9jYXRpb246IEAgYnVpbGQtc3RhcnRlZCAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvYTZ5amgzNjB3 eTI3NGJ3NnY2OWI3aTR5Ymd6bmhjNzItdHJpdmlhbC13aXRoLWlucHV0LWZpbGUtMC5kcnYgLSB4 ODZfNjQtbGludXggL3RtcC9ndWl4LXRlc3RzL3Zhci9sb2cvZ3VpeC9kcnZzL2E2Ly95amgzNjB3 eTI3NGJ3NnY2OWI3aTR5Ymd6bmhjNzItdHJpdmlhbC13aXRoLWlucHV0LWZpbGUtMC5kcnYuYnoy CkAgYnVpbGQtc3VjY2VlZGVkIC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9hNnlqaDM2MHd5Mjc0Ync2 djY5YjdpNHliZ3puaGM3Mi10cml2aWFsLXdpdGgtaW5wdXQtZmlsZS0wLmRydiAtCkAgYnVpbGQt c3RhcnRlZCAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvNjJodmx5dnpsOHpkbTkxOWk1ZjUxY2xodnk1 YTV5YWItdHJpdmlhbC13aXRoLXNvdXJjZS0wLmRydiAtIHg4Nl82NC1saW51eCAvdG1wL2d1aXgt dGVzdHMvdmFyL2xvZy9ndWl4L2RydnMvNjIvL2h2bHl2emw4emRtOTE5aTVmNTFjbGh2eTVhNXlh Yi10cml2aWFsLXdpdGgtc291cmNlLTAuZHJ2LmJ6MgpAIGJ1aWxkLXN1Y2NlZWRlZCAvdG1wL2d1 aXgtdGVzdHMvc3RvcmUvNjJodmx5dnpsOHpkbTkxOWk1ZjUxY2xodnk1YTV5YWItdHJpdmlhbC13 aXRoLXNvdXJjZS0wLmRydiAtCkAgYnVpbGQtc3RhcnRlZCAvdG1wL2d1aXgtdGVzdHMvc3RvcmUv am13OG4xanYwY2xpc2x5c3dqMGduYzdtbTUycTBranYtdHJpdmlhbC1zeXN0ZW0tZGVwZW5kZW50 LWlucHV0LTAuZHJ2IC0geDg2XzY0LWxpbnV4IC90bXAvZ3VpeC10ZXN0cy92YXIvbG9nL2d1aXgv ZHJ2cy9qbS8vdzhuMWp2MGNsaXNseXN3ajBnbmM3bW01MnEwa2p2LXRyaXZpYWwtc3lzdGVtLWRl cGVuZGVudC1pbnB1dC0wLmRydi5iejIKQCBidWlsZC1zdWNjZWVkZWQgL3RtcC9ndWl4LXRlc3Rz L3N0b3JlL2ptdzhuMWp2MGNsaXNseXN3ajBnbmM3bW01MnEwa2p2LXRyaXZpYWwtc3lzdGVtLWRl cGVuZGVudC1pbnB1dC0wLmRydiAtCi90bXAvZ3VpeC1idWlsZC1ndWl4LTAuMTMuMC0xMi4wYTE1 NGMxKy5kcnYtMC9zb3VyY2UvdGVzdHMvcGFja2FnZXMuc2NtOjUxMQpzb3VyY2U6CisgKHRlc3Qt YXNzZXJ0CisgICAidHJpdmlhbCB3aXRoIGxvY2FsIGZpbGUgYXMgaW5wdXQiCisgICAobGV0KiAo KGkgKHNlYXJjaC1wYXRoICVsb2FkLXBhdGggImljZS05L2Jvb3QtOS5zY20iKSkKKyAgICAgICAg ICAocCAocGFja2FnZQorICAgICAgICAgICAgICAgKGluaGVyaXQKKyAgICAgICAgICAgICAgICAg KGR1bW15LXBhY2thZ2UgInRyaXZpYWwtd2l0aC1pbnB1dC1maWxlIikpCisgICAgICAgICAgICAg ICAoYnVpbGQtc3lzdGVtIHRyaXZpYWwtYnVpbGQtc3lzdGVtKQorICAgICAgICAgICAgICAgKHNv dXJjZSAjZikKKyAgICAgICAgICAgICAgIChhcmd1bWVudHMKKyAgICAgICAgICAgICAgICAgYCgj Omd1aWxlCisgICAgICAgICAgICAgICAgICAgLCVib290c3RyYXAtZ3VpbGUKKyAgICAgICAgICAg ICAgICAgICAjOmJ1aWxkZXIKKyAgICAgICAgICAgICAgICAgICAoY29weS1maWxlCisgICAgICAg ICAgICAgICAgICAgICAoYXNzb2MtcmVmICVidWlsZC1pbnB1dHMgImlucHV0IikKKyAgICAgICAg ICAgICAgICAgICAgICVvdXRwdXQpKSkKKyAgICAgICAgICAgICAgIChpbnB1dHMgYCgoImlucHV0 IiAsaSkpKSkpCisgICAgICAgICAgKGQgKHBhY2thZ2UtZGVyaXZhdGlvbiAlc3RvcmUgcCkpKQor ICAgICAoYW5kIChidWlsZC1kZXJpdmF0aW9ucyAlc3RvcmUgKGxpc3QgZCkpCisgICAgICAgICAg KGxldCAoKHAgKHBrICdkcnYgZCAoZGVyaXZhdGlvbi0+b3V0cHV0LXBhdGggZCkpKSkKKyAgICAg ICAgICAgIChlcXVhbD8KKyAgICAgICAgICAgICAgKGNhbGwtd2l0aC1pbnB1dC1maWxlIHAgZ2V0 LWJ5dGV2ZWN0b3ItYWxsKQorICAgICAgICAgICAgICAoY2FsbC13aXRoLWlucHV0LWZpbGUgaSBn ZXQtYnl0ZXZlY3Rvci1hbGwpKSkpKSkKCjs7OyAoZHJ2ICM8ZGVyaXZhdGlvbiAvdG1wL2d1aXgt dGVzdHMvc3RvcmUvYTZ5amgzNjB3eTI3NGJ3NnY2OWI3aTR5Ymd6bmhjNzItdHJpdmlhbC13aXRo LWlucHV0LWZpbGUtMC5kcnYgPT4gL3RtcC9ndWl4LXRlc3RzL3N0b3JlL2lnNnl4c2ppaDdxMmc0 em1scGxtMXBzano1eXBycWFkLXRyaXZpYWwtd2l0aC1pbnB1dC1maWxlLTAgMWM4MzgyMD4gIi90 bXAvZ3VpeC10ZXN0cy9zdG9yZS9pZzZ5eHNqaWg3cTJnNHptbHBsbTFwc2p6NXlwcnFhZC10cml2 aWFsLXdpdGgtaW5wdXQtZmlsZS0wIikKYWN0dWFsLXZhbHVlOiAjdApyZXN1bHQ6IFBBU1MKCnRl c3QtbmFtZTogdHJpdmlhbCB3aXRoIHNvdXJjZQpsb2NhdGlvbjogL3RtcC9ndWl4LWJ1aWxkLWd1 aXgtMC4xMy4wLTEyLjBhMTU0YzErLmRydi0wL3NvdXJjZS90ZXN0cy9wYWNrYWdlcy5zY206NTI3 CnNvdXJjZToKKyAodGVzdC1hc3NlcnQKKyAgICJ0cml2aWFsIHdpdGggc291cmNlIgorICAgKGxl dCogKChpIChzZWFyY2gtcGF0aCAlbG9hZC1wYXRoICJpY2UtOS9ib290LTkuc2NtIikpCisgICAg ICAgICAgKHAgKHBhY2thZ2UKKyAgICAgICAgICAgICAgIChpbmhlcml0IChkdW1teS1wYWNrYWdl ICJ0cml2aWFsLXdpdGgtc291cmNlIikpCisgICAgICAgICAgICAgICAoYnVpbGQtc3lzdGVtIHRy aXZpYWwtYnVpbGQtc3lzdGVtKQorICAgICAgICAgICAgICAgKHNvdXJjZSBpKQorICAgICAgICAg ICAgICAgKGFyZ3VtZW50cworICAgICAgICAgICAgICAgICBgKCM6Z3VpbGUKKyAgICAgICAgICAg ICAgICAgICAsJWJvb3RzdHJhcC1ndWlsZQorICAgICAgICAgICAgICAgICAgICM6YnVpbGRlcgor ICAgICAgICAgICAgICAgICAgIChjb3B5LWZpbGUKKyAgICAgICAgICAgICAgICAgICAgIChhc3Nv Yy1yZWYgJWJ1aWxkLWlucHV0cyAic291cmNlIikKKyAgICAgICAgICAgICAgICAgICAgICVvdXRw dXQpKSkpKQorICAgICAgICAgIChkIChwYWNrYWdlLWRlcml2YXRpb24gJXN0b3JlIHApKSkKKyAg ICAgKGFuZCAoYnVpbGQtZGVyaXZhdGlvbnMgJXN0b3JlIChsaXN0IGQpKQorICAgICAgICAgIChs ZXQgKChwIChkZXJpdmF0aW9uLT5vdXRwdXQtcGF0aCBkKSkpCisgICAgICAgICAgICAoZXF1YWw/ CisgICAgICAgICAgICAgIChjYWxsLXdpdGgtaW5wdXQtZmlsZSBwIGdldC1ieXRldmVjdG9yLWFs bCkKKyAgICAgICAgICAgICAgKGNhbGwtd2l0aC1pbnB1dC1maWxlIGkgZ2V0LWJ5dGV2ZWN0b3It YWxsKSkpKSkpCmFjdHVhbC12YWx1ZTogI3QKcmVzdWx0OiBQQVNTCgp0ZXN0LW5hbWU6IHRyaXZp YWwgd2l0aCBzeXN0ZW0tZGVwZW5kZW50IGlucHV0CmxvY2F0aW9uOiAvdG1wL2d1aXgtYnVpbGQt Z3VpeC0wLjEzLjAtMTIuMGExNTRjMSsuZHJ2LTAvc291cmNlL3Rlc3RzL3BhY2thZ2VzLnNjbTo1 NDIKc291cmNlOgorICh0ZXN0LWFzc2VydAorICAgInRyaXZpYWwgd2l0aCBzeXN0ZW0tZGVwZW5k ZW50IGlucHV0IgorICAgKGxldCogKChwIChwYWNrYWdlCisgICAgICAgICAgICAgICAoaW5oZXJp dAorICAgICAgICAgICAgICAgICAoZHVtbXktcGFja2FnZSAidHJpdmlhbC1zeXN0ZW0tZGVwZW5k ZW50LWlucHV0IikpCisgICAgICAgICAgICAgICAoYnVpbGQtc3lzdGVtIHRyaXZpYWwtYnVpbGQt c3lzdGVtKQorICAgICAgICAgICAgICAgKHNvdXJjZSAjZikKKyAgICAgICAgICAgICAgIChhcmd1 bWVudHMKKyAgICAgICAgICAgICAgICAgYCgjOmd1aWxlCisgICAgICAgICAgICAgICAgICAgLCVi b290c3RyYXAtZ3VpbGUKKyAgICAgICAgICAgICAgICAgICAjOmJ1aWxkZXIKKyAgICAgICAgICAg ICAgICAgICAobGV0ICgob3V0IChhc3NvYy1yZWYgJW91dHB1dHMgIm91dCIpKQorICAgICAgICAg ICAgICAgICAgICAgICAgIChiYXNoIChhc3NvYy1yZWYgJWJ1aWxkLWlucHV0cyAiYmFzaCIpKSkK KyAgICAgICAgICAgICAgICAgICAgICh6ZXJvPyAoc3lzdGVtKgorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgYmFzaAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi1jIgorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKGZvcm1hdCAjZiAiZWNobyBoZWxsbyA+IH5hIiBv dXQpKSkpKSkKKyAgICAgICAgICAgICAgIChpbnB1dHMKKyAgICAgICAgICAgICAgICAgYCgoImJh c2giCisgICAgICAgICAgICAgICAgICAgICwoc2VhcmNoLWJvb3RzdHJhcC1iaW5hcnkKKyAgICAg ICAgICAgICAgICAgICAgICAgImJhc2giCisgICAgICAgICAgICAgICAgICAgICAgICglY3VycmVu dC1zeXN0ZW0pKSkpKSkpCisgICAgICAgICAgKGQgKHBhY2thZ2UtZGVyaXZhdGlvbiAlc3RvcmUg cCkpKQorICAgICAoYW5kIChidWlsZC1kZXJpdmF0aW9ucyAlc3RvcmUgKGxpc3QgZCkpCisgICAg ICAgICAgKGxldCAoKHAgKHBrICdkcnYgZCAoZGVyaXZhdGlvbi0+b3V0cHV0LXBhdGggZCkpKSkK KyAgICAgICAgICAgIChlcT8gJ2hlbGxvIChjYWxsLXdpdGgtaW5wdXQtZmlsZSBwIHJlYWQpKSkp KSkKCjs7OyAoZHJ2ICM8ZGVyaXZhdGlvbiAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvam13OG4xanYw Y2xpc2x5c3dqMGduYzdtbTUycTBranYtdHJpdmlhbC1zeXN0ZW0tZGVwZW5kZW50LWlucHV0LTAu ZHJ2ID0+IC90bXAvZ3VpeC10ZXN0cy9zdG9yZS84cHFtYW05bW1ucGQwNzF5YTQ5aHYzM2RucDhw MjRmNS10cml2aWFsLXN5c3RlbS1kZXBlbmRlbnQtaW5wdXQtMCAxYzgzNTUwPiAiL3RtcC9ndWl4 LXRlc3RzL3N0b3JlLzhwcW1hbTltbW5wZDA3MXlhNDlodjMzZG5wOHAyNGY1LXRyaXZpYWwtc3lz dGVtLWRlcGVuZGVudC1pbnB1dC0wIikKYWN0dWFsLXZhbHVlOiAjdApyZXN1bHQ6IFBBU1MKCnRl c3QtbmFtZTogc2VhcmNoIHBhdGhzCmxvY2F0aW9uOiAvdG1wL2d1aXgtYnVpbGQtZ3VpeC0wLjEz LjAtMTIuMGExNTRjMSsuZHJ2LTAvc291cmNlL3Rlc3RzL3BhY2thZ2VzLnNjbTo1NjAKc291cmNl OgorICh0ZXN0LWFzc2VydAorICAgInNlYXJjaCBwYXRocyIKKyAgIChsZXQqICgocCAobWFrZS1w cm9tcHQtdGFnICJyZXR1cm4tc2VhcmNoLXBhdGhzIikpCisgICAgICAgICAgKHMgKGJ1aWxkLXN5 c3RlbQorICAgICAgICAgICAgICAgKG5hbWUgJ3JhdykKKyAgICAgICAgICAgICAgIChkZXNjcmlw dGlvbgorICAgICAgICAgICAgICAgICAiUmF3IGJ1aWxkIHN5c3RlbSB3aXRoIGRpcmVjdCBzdG9y ZSBhY2Nlc3MiKQorICAgICAgICAgICAgICAgKGxvd2VyIChsYW1iZGEqIChuYW1lCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICM6a2V5CisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHNvdXJjZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnB1dHMKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3lzdGVtCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHRhcmdldAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjOmFs bG93LW90aGVyLWtleXMpCisgICAgICAgICAgICAgICAgICAgICAgICAoYmFnIChuYW1lIG5hbWUp CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzeXN0ZW0gc3lzdGVtKQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAodGFyZ2V0IHRhcmdldCkKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKGJ1aWxkLWlucHV0cyBpbnB1dHMpCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIChidWlsZCAobGFtYmRhKiAoc3RvcmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBuYW1lCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgaW5wdXRzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIzprZXkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBvdXRwdXRzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgc3lzdGVtCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c2VhcmNoLXBhdGhzKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWFy Y2gtcGF0aHMpKSkpKSkpCisgICAgICAgICAgKHggKGxpc3QgKHNlYXJjaC1wYXRoLXNwZWNpZmlj YXRpb24KKyAgICAgICAgICAgICAgICAgICAgICh2YXJpYWJsZSAiR1VJTEVfTE9BRF9QQVRIIikK KyAgICAgICAgICAgICAgICAgICAgIChmaWxlcyAnKCJzaGFyZS9ndWlsZS9zaXRlLzIuMCIpKSkK KyAgICAgICAgICAgICAgICAgICAoc2VhcmNoLXBhdGgtc3BlY2lmaWNhdGlvbgorICAgICAgICAg ICAgICAgICAgICAgKHZhcmlhYmxlICJHVUlMRV9MT0FEX0NPTVBJTEVEX1BBVEgiKQorICAgICAg ICAgICAgICAgICAgICAgKGZpbGVzICcoInNoYXJlL2d1aWxlL3NpdGUvMi4wIikpKSkpCisgICAg ICAgICAgKGEgKHBhY2thZ2UKKyAgICAgICAgICAgICAgIChpbmhlcml0IChkdW1teS1wYWNrYWdl ICJndWlsZSIpKQorICAgICAgICAgICAgICAgKGJ1aWxkLXN5c3RlbSBzKQorICAgICAgICAgICAg ICAgKG5hdGl2ZS1zZWFyY2gtcGF0aHMgeCkpKQorICAgICAgICAgIChiIChwYWNrYWdlCisgICAg ICAgICAgICAgICAoaW5oZXJpdCAoZHVtbXktcGFja2FnZSAiZ3VpbGUtZm9vIikpCisgICAgICAg ICAgICAgICAoYnVpbGQtc3lzdGVtIHMpCisgICAgICAgICAgICAgICAoaW5wdXRzIGAoKCJndWls ZSIgLGEpKSkpKQorICAgICAgICAgIChjIChwYWNrYWdlCisgICAgICAgICAgICAgICAoaW5oZXJp dCAoZHVtbXktcGFja2FnZSAiZ3VpbGUtYmFyIikpCisgICAgICAgICAgICAgICAoYnVpbGQtc3lz dGVtIHMpCisgICAgICAgICAgICAgICAoaW5wdXRzIGAoKCJndWlsZSIgLGEpICgiZ3VpbGUtZm9v IiAsYikpKSkpKQorICAgICAobGV0LXN5bnRheCAoKGNvbGxlY3QKKyAgICAgICAgICAgICAgICAg ICAgKHN5bnRheC1ydWxlcyAoKQorICAgICAgICAgICAgICAgICAgICAgICgoXyBib2R5IC4uLikK KyAgICAgICAgICAgICAgICAgICAgICAgKGNhbGwtd2l0aC1wcm9tcHQKKyAgICAgICAgICAgICAg ICAgICAgICAgICBwCisgICAgICAgICAgICAgICAgICAgICAgICAgKGxhbWJkYSAoKSBib2R5IC4u LikKKyAgICAgICAgICAgICAgICAgICAgICAgICAobGFtYmRhIChrIHNlYXJjaC1wYXRocykgc2Vh cmNoLXBhdGhzKSkpKSkpCisgICAgICAgKGFuZCAobnVsbD8gKGNvbGxlY3QgKHBhY2thZ2UtZGVy aXZhdGlvbiAlc3RvcmUgYSkpKQorICAgICAgICAgICAgKGVxdWFsPworICAgICAgICAgICAgICB4 CisgICAgICAgICAgICAgIChjb2xsZWN0IChwYWNrYWdlLWRlcml2YXRpb24gJXN0b3JlIGIpKSkK KyAgICAgICAgICAgIChlcXVhbD8KKyAgICAgICAgICAgICAgeAorICAgICAgICAgICAgICAoY29s bGVjdCAocGFja2FnZS1kZXJpdmF0aW9uICVzdG9yZSBjKSkpKSkpKQphY3R1YWwtdmFsdWU6ICN0 CnJlc3VsdDogUEFTUwoKdGVzdC1uYW1lOiBwYWNrYWdlLXRyYW5zaXRpdmUtbmF0aXZlLXNlYXJj aC1wYXRocwpsb2NhdGlvbjogL3RtcC9ndWl4LWJ1aWxkLWd1aXgtMC4xMy4wLTEyLjBhMTU0YzEr LmRydi0wL3NvdXJjZS90ZXN0cy9wYWNrYWdlcy5zY206NjAyCnNvdXJjZToKKyAodGVzdC1hc3Nl cnQKKyAgICJwYWNrYWdlLXRyYW5zaXRpdmUtbmF0aXZlLXNlYXJjaC1wYXRocyIKKyAgIChsZXQq ICgoc3AgKGxhbWJkYSAobmFtZSkKKyAgICAgICAgICAgICAgICAobGlzdCAoc2VhcmNoLXBhdGgt c3BlY2lmaWNhdGlvbgorICAgICAgICAgICAgICAgICAgICAgICAgKHZhcmlhYmxlIG5hbWUpCisg ICAgICAgICAgICAgICAgICAgICAgICAoZmlsZXMgJygiZm9vL2JhciIpKSkpKSkKKyAgICAgICAg ICAocDAgKGR1bW15LXBhY2thZ2UKKyAgICAgICAgICAgICAgICAicDAiCisgICAgICAgICAgICAg ICAgKG5hdGl2ZS1zZWFyY2gtcGF0aHMgKHNwICJQQVRIMCIpKSkpCisgICAgICAgICAgKHAxIChk dW1teS1wYWNrYWdlCisgICAgICAgICAgICAgICAgInAxIgorICAgICAgICAgICAgICAgIChuYXRp dmUtc2VhcmNoLXBhdGhzIChzcCAiUEFUSDEiKSkpKQorICAgICAgICAgIChwMiAoZHVtbXktcGFj a2FnZQorICAgICAgICAgICAgICAgICJwMiIKKyAgICAgICAgICAgICAgICAobmF0aXZlLXNlYXJj aC1wYXRocyAoc3AgIlBBVEgyIikpCisgICAgICAgICAgICAgICAgKGlucHV0cyBgKCgicDAiICxw MCkpKQorICAgICAgICAgICAgICAgIChwcm9wYWdhdGVkLWlucHV0cyBgKCgicDEiICxwMSkpKSkp CisgICAgICAgICAgKHAzIChkdW1teS1wYWNrYWdlCisgICAgICAgICAgICAgICAgInAzIgorICAg ICAgICAgICAgICAgIChuYXRpdmUtc2VhcmNoLXBhdGhzIChzcCAiUEFUSDMiKSkKKyAgICAgICAg ICAgICAgICAobmF0aXZlLWlucHV0cyBgKCgicDAiICxwMCkpKQorICAgICAgICAgICAgICAgIChw cm9wYWdhdGVkLWlucHV0cyBgKCgicDIiICxwMikpKSkpKQorICAgICAobHNldD0gc3RyaW5nPT8K KyAgICAgICAgICAgICcoIlBBVEgxIiAiUEFUSDIiICJQQVRIMyIpCisgICAgICAgICAgICAobWFw IHNlYXJjaC1wYXRoLXNwZWNpZmljYXRpb24tdmFyaWFibGUKKyAgICAgICAgICAgICAgICAgKHBh Y2thZ2UtdHJhbnNpdGl2ZS1uYXRpdmUtc2VhcmNoLXBhdGhzIHAzKSkpKSkKYWN0dWFsLXZhbHVl OiAjdApyZXN1bHQ6IFBBU1MKCnRlc3QtbmFtZTogcGFja2FnZS1jcm9zcy1kZXJpdmF0aW9uCmxv Y2F0aW9uOiAvdG1wL2d1aXgtYnVpbGQtZ3VpeC0wLjEzLjAtMTIuMGExNTRjMSsuZHJ2LTAvc291 cmNlL3Rlc3RzL3BhY2thZ2VzLnNjbTo2MjIKc291cmNlOgorICh0ZXN0LWFzc2VydAorICAgInBh Y2thZ2UtY3Jvc3MtZGVyaXZhdGlvbiIKKyAgIChsZXQgKChkcnYgKHBhY2thZ2UtY3Jvc3MtZGVy aXZhdGlvbgorICAgICAgICAgICAgICAgICVzdG9yZQorICAgICAgICAgICAgICAgIChkdW1teS1w YWNrYWdlICJwIikKKyAgICAgICAgICAgICAgICAibWlwczY0ZWwtbGludXgtZ251IikpKQorICAg ICAoYW5kIChkZXJpdmF0aW9uPyBkcnYpCisgICAgICAgICAgKGZpbGUtZXhpc3RzPyAoZGVyaXZh dGlvbi1maWxlLW5hbWUgZHJ2KSkpKSkKYWN0dWFsLXZhbHVlOiAjdApyZXN1bHQ6IFBBU1MKCnRl c3QtbmFtZTogcGFja2FnZS1jcm9zcy1kZXJpdmF0aW9uLCB0cml2aWFsLWJ1aWxkLXN5c3RlbQps b2NhdGlvbjogL3RtcC9ndWl4LWJ1aWxkLWd1aXgtMC4xMy4wLTEyLjBhMTU0YzErLmRydi0wL3Nv dXJjZS90ZXN0cy9wYWNrYWdlcy5zY206NjI4CnNvdXJjZToKKyAodGVzdC1hc3NlcnQKKyAgICJw YWNrYWdlLWNyb3NzLWRlcml2YXRpb24sIHRyaXZpYWwtYnVpbGQtc3lzdGVtIgorICAgKGxldCAo KHAgKHBhY2thZ2UKKyAgICAgICAgICAgICAgKGluaGVyaXQgKGR1bW15LXBhY2thZ2UgInAiKSkK KyAgICAgICAgICAgICAgKGJ1aWxkLXN5c3RlbSB0cml2aWFsLWJ1aWxkLXN5c3RlbSkKKyAgICAg ICAgICAgICAgKGFyZ3VtZW50cyAnKCM6YnVpbGRlciAoZXhpdCAxKSkpKSkpCisgICAgIChsZXQg KChkcnYgKHBhY2thZ2UtY3Jvc3MtZGVyaXZhdGlvbgorICAgICAgICAgICAgICAgICAgJXN0b3Jl CisgICAgICAgICAgICAgICAgICBwCisgICAgICAgICAgICAgICAgICAibWlwczY0ZWwtbGludXgt Z251IikpKQorICAgICAgIChkZXJpdmF0aW9uPyBkcnYpKSkpCmFjdHVhbC12YWx1ZTogI3QKcmVz dWx0OiBQQVNTCgp0ZXN0LW5hbWU6IHBhY2thZ2UtY3Jvc3MtZGVyaXZhdGlvbiwgbm8gY3Jvc3Mg YnVpbGRlcgpsb2NhdGlvbjogL3RtcC9ndWl4LWJ1aWxkLWd1aXgtMC4xMy4wLTEyLjBhMTU0YzEr LmRydi0wL3NvdXJjZS90ZXN0cy9wYWNrYWdlcy5zY206NjM1CnNvdXJjZToKKyAodGVzdC1hc3Nl cnQKKyAgICJwYWNrYWdlLWNyb3NzLWRlcml2YXRpb24sIG5vIGNyb3NzIGJ1aWxkZXIiCisgICAo bGV0KiAoKGIgKGJ1aWxkLXN5c3RlbQorICAgICAgICAgICAgICAgKGluaGVyaXQgdHJpdmlhbC1i dWlsZC1zeXN0ZW0pCisgICAgICAgICAgICAgICAobG93ZXIgKGNvbnN0ICNmKSkpKQorICAgICAg ICAgIChwIChwYWNrYWdlCisgICAgICAgICAgICAgICAoaW5oZXJpdCAoZHVtbXktcGFja2FnZSAi cCIpKQorICAgICAgICAgICAgICAgKGJ1aWxkLXN5c3RlbSBiKSkpKQorICAgICAoZ3VhcmQgKGMg KChwYWNrYWdlLWNyb3NzLWJ1aWxkLXN5c3RlbS1lcnJvcj8gYykKKyAgICAgICAgICAgICAgICAo ZXE/IChwYWNrYWdlLWVycm9yLXBhY2thZ2UgYykgcCkpKQorICAgICAgICAgICAgKHBhY2thZ2Ut Y3Jvc3MtZGVyaXZhdGlvbgorICAgICAgICAgICAgICAlc3RvcmUKKyAgICAgICAgICAgICAgcAor ICAgICAgICAgICAgICAibWlwczY0ZWwtbGludXgtZ251IikKKyAgICAgICAgICAgICNmKSkpCmFj dHVhbC12YWx1ZTogI3QKcmVzdWx0OiBQQVNTCgp0ZXN0LW5hbWU6IHBhY2thZ2UtZ3JhZnRzLCBp bmRpcmVjdCBncmFmdHMKbG9jYXRpb246IC90bXAvZ3VpeC1idWlsZC1ndWl4LTAuMTMuMC0xMi4w YTE1NGMxKy5kcnYtMC9zb3VyY2UvdGVzdHMvcGFja2FnZXMuc2NtOjY2Mwpzb3VyY2U6CisgKHRl c3QtYXNzZXJ0CisgICAicGFja2FnZS1ncmFmdHMsIGluZGlyZWN0IGdyYWZ0cyIKKyAgIChsZXQq ICgobmV3IChkdW1teS1wYWNrYWdlCisgICAgICAgICAgICAgICAgICJkZXAiCisgICAgICAgICAg ICAgICAgIChhcmd1bWVudHMgJygjOmltcGxpY2l0LWlucHV0cz8gI2YpKSkpCisgICAgICAgICAg KGRlcCAocGFja2FnZSAoaW5oZXJpdCBuZXcpICh2ZXJzaW9uICIwLjAiKSkpCisgICAgICAgICAg KGRlcCogKHBhY2thZ2UgKGluaGVyaXQgZGVwKSAocmVwbGFjZW1lbnQgbmV3KSkpCisgICAgICAg ICAgKGR1bW15IChkdW1teS1wYWNrYWdlCisgICAgICAgICAgICAgICAgICAgImR1bW15IgorICAg ICAgICAgICAgICAgICAgIChhcmd1bWVudHMgJygjOmltcGxpY2l0LWlucHV0cz8gI2YpKQorICAg ICAgICAgICAgICAgICAgIChpbnB1dHMgYCgoImRlcCIgLGRlcCopKSkpKSkKKyAgICAgKGVxdWFs PworICAgICAgIChwYWNrYWdlLWdyYWZ0cyAlc3RvcmUgZHVtbXkpCisgICAgICAgKGxpc3QgKGdy YWZ0IChvcmlnaW4gKHBhY2thZ2UtZGVyaXZhdGlvbiAlc3RvcmUgZGVwKSkKKyAgICAgICAgICAg ICAgICAgICAgKHJlcGxhY2VtZW50IChwYWNrYWdlLWRlcml2YXRpb24gJXN0b3JlIG5ldykpKSkp KSkKYWN0dWFsLXZhbHVlOiAjdApyZXN1bHQ6IFBBU1MKCnRlc3QtbmFtZTogcGFja2FnZS1ncmFm dHMsIGluZGlyZWN0IGdyYWZ0cywgcHJvcGFnYXRlZCBpbnB1dHMKbG9jYXRpb246IC90bXAvZ3Vp eC1idWlsZC1ndWl4LTAuMTMuMC0xMi4wYTE1NGMxKy5kcnYtMC9zb3VyY2UvdGVzdHMvcGFja2Fn ZXMuc2NtOjY5Ngpzb3VyY2U6CisgKHRlc3QtYXNzZXJ0CisgICAicGFja2FnZS1ncmFmdHMsIGlu ZGlyZWN0IGdyYWZ0cywgcHJvcGFnYXRlZCBpbnB1dHMiCisgICAobGV0KiAoKG5ldyAoZHVtbXkt cGFja2FnZQorICAgICAgICAgICAgICAgICAiZGVwIgorICAgICAgICAgICAgICAgICAoYXJndW1l bnRzICcoIzppbXBsaWNpdC1pbnB1dHM/ICNmKSkpKQorICAgICAgICAgIChkZXAgKHBhY2thZ2Ug KGluaGVyaXQgbmV3KSAodmVyc2lvbiAiMC4wIikpKQorICAgICAgICAgIChkZXAqIChwYWNrYWdl IChpbmhlcml0IGRlcCkgKHJlcGxhY2VtZW50IG5ldykpKQorICAgICAgICAgIChwcm9wIChkdW1t eS1wYWNrYWdlCisgICAgICAgICAgICAgICAgICAicHJvcGFnYXRlZCIKKyAgICAgICAgICAgICAg ICAgIChwcm9wYWdhdGVkLWlucHV0cyBgKCgiZGVwIiAsZGVwKikpKQorICAgICAgICAgICAgICAg ICAgKGFyZ3VtZW50cyAnKCM6aW1wbGljaXQtaW5wdXRzPyAjZikpKSkKKyAgICAgICAgICAoZHVt bXkgKGR1bW15LXBhY2thZ2UKKyAgICAgICAgICAgICAgICAgICAiZHVtbXkiCisgICAgICAgICAg ICAgICAgICAgKGFyZ3VtZW50cyAnKCM6aW1wbGljaXQtaW5wdXRzPyAjZikpCisgICAgICAgICAg ICAgICAgICAgKGlucHV0cyBgKCgicHJvcCIgLHByb3ApKSkpKSkKKyAgICAgKGVxdWFsPworICAg ICAgIChwYWNrYWdlLWdyYWZ0cyAlc3RvcmUgZHVtbXkpCisgICAgICAgKGxpc3QgKGdyYWZ0IChv cmlnaW4gKHBhY2thZ2UtZGVyaXZhdGlvbiAlc3RvcmUgZGVwKSkKKyAgICAgICAgICAgICAgICAg ICAgKHJlcGxhY2VtZW50IChwYWNrYWdlLWRlcml2YXRpb24gJXN0b3JlIG5ldykpKSkpKSkKYWN0 dWFsLXZhbHVlOiAjdApyZXN1bHQ6IFBBU1MKCnRlc3QtbmFtZTogcGFja2FnZS1ncmFmdHMsIHNh bWUgcmVwbGFjZW1lbnQgdHdpY2UKbG9jYXRpb246IC90bXAvZ3VpeC1idWlsZC1ndWl4LTAuMTMu MC0xMi4wYTE1NGMxKy5kcnYtMC9zb3VyY2UvdGVzdHMvcGFja2FnZXMuc2NtOjcxMgpzb3VyY2U6 CisgKHRlc3QtYXNzZXJ0CisgICAicGFja2FnZS1ncmFmdHMsIHNhbWUgcmVwbGFjZW1lbnQgdHdp Y2UiCisgICAobGV0KiAoKG5ldyAoZHVtbXktcGFja2FnZQorICAgICAgICAgICAgICAgICAiZGVw IgorICAgICAgICAgICAgICAgICAodmVyc2lvbiAiMSIpCisgICAgICAgICAgICAgICAgIChhcmd1 bWVudHMgJygjOmltcGxpY2l0LWlucHV0cz8gI2YpKSkpCisgICAgICAgICAgKGRlcCAocGFja2Fn ZQorICAgICAgICAgICAgICAgICAoaW5oZXJpdCBuZXcpCisgICAgICAgICAgICAgICAgICh2ZXJz aW9uICIwIikKKyAgICAgICAgICAgICAgICAgKHJlcGxhY2VtZW50IG5ldykpKQorICAgICAgICAg IChwMSAoZHVtbXktcGFja2FnZQorICAgICAgICAgICAgICAgICJpbnRlcm1lZGlhdGUxIgorICAg ICAgICAgICAgICAgIChhcmd1bWVudHMgJygjOmltcGxpY2l0LWlucHV0cz8gI2YpKQorICAgICAg ICAgICAgICAgIChpbnB1dHMgYCgoImRlcCIgLGRlcCkpKSkpCisgICAgICAgICAgKHAyIChkdW1t eS1wYWNrYWdlCisgICAgICAgICAgICAgICAgImludGVybWVkaWF0ZTIiCisgICAgICAgICAgICAg ICAgKGFyZ3VtZW50cyAnKCM6aW1wbGljaXQtaW5wdXRzPyAjZikpCisgICAgICAgICAgICAgICAg KGlucHV0cyBgKCgiZGVwIiAsKHBhY2thZ2UgKGluaGVyaXQgZGVwKSkpKSkpKQorICAgICAgICAg IChwMyAoZHVtbXktcGFja2FnZQorICAgICAgICAgICAgICAgICJmaW5hbCIKKyAgICAgICAgICAg ICAgICAoYXJndW1lbnRzICcoIzppbXBsaWNpdC1pbnB1dHM/ICNmKSkKKyAgICAgICAgICAgICAg ICAoaW5wdXRzIGAoKCJwMSIgLHAxKSAoInAyIiAscDIpKSkpKSkKKyAgICAgKGVxdWFsPworICAg ICAgIChwYWNrYWdlLWdyYWZ0cyAlc3RvcmUgcDMpCisgICAgICAgKGxpc3QgKGdyYWZ0IChAIGJ1 aWxkLXN0YXJ0ZWQgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzRmeTZxYmYyM3p2Nzg0YnJ6d3Bra3Jt d3BubWJwMmdyLXAxLTAuZHJ2IC0geDg2XzY0LWxpbnV4IC90bXAvZ3VpeC10ZXN0cy92YXIvbG9n L2d1aXgvZHJ2cy80Zi8veTZxYmYyM3p2Nzg0YnJ6d3Bra3Jtd3BubWJwMmdyLXAxLTAuZHJ2LmJ6 MgpAIGJ1aWxkLXN1Y2NlZWRlZCAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvNGZ5NnFiZjIzenY3ODRi cnp3cGtrcm13cG5tYnAyZ3ItcDEtMC5kcnYgLQpAIGJ1aWxkLXN0YXJ0ZWQgL3RtcC9ndWl4LXRl c3RzL3N0b3JlLzEwN2c3cXE3OTQ2Zzl2dmJwOHZxY3B4OTh4amI3OWRmLVAyLTAuZHJ2IC0geDg2 XzY0LWxpbnV4IC90bXAvZ3VpeC10ZXN0cy92YXIvbG9nL2d1aXgvZHJ2cy8xMC8vN2c3cXE3OTQ2 Zzl2dmJwOHZxY3B4OTh4amI3OWRmLVAyLTAuZHJ2LmJ6MgpAIGJ1aWxkLXN1Y2NlZWRlZCAvdG1w L2d1aXgtdGVzdHMvc3RvcmUvMTA3ZzdxcTc5NDZnOXZ2YnA4dnFjcHg5OHhqYjc5ZGYtUDItMC5k cnYgLQpvcmlnaW4KKyAgICAgICAgICAgICAgICAgICAgICAocGFja2FnZS1kZXJpdmF0aW9uCisg ICAgICAgICAgICAgICAgICAgICAgICAlc3RvcmUKKyAgICAgICAgICAgICAgICAgICAgICAgIChw YWNrYWdlIChpbmhlcml0IGRlcCkgKHJlcGxhY2VtZW50ICNmKSkpKQorICAgICAgICAgICAgICAg ICAgICAocmVwbGFjZW1lbnQgKHBhY2thZ2UtZGVyaXZhdGlvbiAlc3RvcmUgbmV3KSkpKSkpKQph Y3R1YWwtdmFsdWU6ICN0CnJlc3VsdDogUEFTUwoKdGVzdC1uYW1lOiByZXBsYWNlbWVudCBhbHNv IGdyYWZ0ZWQKbG9jYXRpb246IC90bXAvZ3VpeC1idWlsZC1ndWl4LTAuMTMuMC0xMi4wYTE1NGMx Ky5kcnYtMC9zb3VyY2UvdGVzdHMvcGFja2FnZXMuc2NtOjczNgpzb3VyY2U6CisgKHRlc3QtYXNz ZXJ0CisgICAicmVwbGFjZW1lbnQgYWxzbyBncmFmdGVkIgorICAgKGxldCogKChwMXIgKGR1bW15 LXBhY2thZ2UKKyAgICAgICAgICAgICAgICAgIlAxIgorICAgICAgICAgICAgICAgICAoYnVpbGQt c3lzdGVtIHRyaXZpYWwtYnVpbGQtc3lzdGVtKQorICAgICAgICAgICAgICAgICAoYXJndW1lbnRz CisgICAgICAgICAgICAgICAgICAgYCgjOmd1aWxlCisgICAgICAgICAgICAgICAgICAgICAsJWJv b3RzdHJhcC1ndWlsZQorICAgICAgICAgICAgICAgICAgICAgIzpidWlsZGVyCisgICAgICAgICAg ICAgICAgICAgICAobGV0ICgob3V0IChhc3NvYy1yZWYgJW91dHB1dHMgIm91dCIpKSkKKyAgICAg ICAgICAgICAgICAgICAgICAgKG1rZGlyIG91dCkKKyAgICAgICAgICAgICAgICAgICAgICAgKGNh bGwtd2l0aC1vdXRwdXQtZmlsZQorICAgICAgICAgICAgICAgICAgICAgICAgIChzdHJpbmctYXBw ZW5kIG91dCAiL3JlcGxhY2VtZW50IikKKyAgICAgICAgICAgICAgICAgICAgICAgICAoY29uc3Qg I3QpKSkpKSkpCisgICAgICAgICAgKHAxIChwYWNrYWdlCisgICAgICAgICAgICAgICAgKGluaGVy aXQgcDFyKQorICAgICAgICAgICAgICAgIChuYW1lICJwMSIpCisgICAgICAgICAgICAgICAgKHJl cGxhY2VtZW50IHAxcikKKyAgICAgICAgICAgICAgICAoYXJndW1lbnRzCisgICAgICAgICAgICAg ICAgICBgKCM6Z3VpbGUKKyAgICAgICAgICAgICAgICAgICAgLCVib290c3RyYXAtZ3VpbGUKKyAg ICAgICAgICAgICAgICAgICAgIzpidWlsZGVyCisgICAgICAgICAgICAgICAgICAgIChta2RpciAo YXNzb2MtcmVmICVvdXRwdXRzICJvdXQiKSkpKSkpCisgICAgICAgICAgKHAyciAoZHVtbXktcGFj a2FnZQorICAgICAgICAgICAgICAgICAiUDIiCisgICAgICAgICAgICAgICAgIChidWlsZC1zeXN0 ZW0gdHJpdmlhbC1idWlsZC1zeXN0ZW0pCisgICAgICAgICAgICAgICAgIChpbnB1dHMgYCgoInAx IiAscDEpKSkKKyAgICAgICAgICAgICAgICAgKGFyZ3VtZW50cworICAgICAgICAgICAgICAgICAg IGAoIzpndWlsZQorICAgICAgICAgICAgICAgICAgICAgLCVib290c3RyYXAtZ3VpbGUKKyAgICAg ICAgICAgICAgICAgICAgICM6YnVpbGRlcgorICAgICAgICAgICAgICAgICAgICAgKGxldCAoKG91 dCAoYXNzb2MtcmVmICVvdXRwdXRzICJvdXQiKSkpCisgICAgICAgICAgICAgICAgICAgICAgICht a2RpciBvdXQpCisgICAgICAgICAgICAgICAgICAgICAgIChjaGRpciBvdXQpCisgICAgICAgICAg ICAgICAgICAgICAgIChzeW1saW5rIChhc3NvYy1yZWYgJWJ1aWxkLWlucHV0cyAicDEiKSAicDEi KQorICAgICAgICAgICAgICAgICAgICAgICAoY2FsbC13aXRoLW91dHB1dC1maWxlCisgICAgICAg ICAgICAgICAgICAgICAgICAgKHN0cmluZy1hcHBlbmQgb3V0ICIvcmVwbGFjZW1lbnQiKQorICAg ICAgICAgICAgICAgICAgICAgICAgIChjb25zdCAjdCkpKSkpKSkKKyAgICAgICAgICAocDIgKHBh Y2thZ2UKKyAgICAgICAgICAgICAgICAoaW5oZXJpdCBwMnIpCisgICAgICAgICAgICAgICAgKG5h bWUgInAyIikKKyAgICAgICAgICAgICAgICAocmVwbGFjZW1lbnQgcDJyKQorICAgICAgICAgICAg ICAgIChhcmd1bWVudHMKKyAgICAgICAgICAgICAgICAgIGAoIzpndWlsZQorICAgICAgICAgICAg ICAgICAgICAsJWJvb3RzdHJhcC1ndWlsZQorICAgICAgICAgICAgICAgICAgICAjOmJ1aWxkZXIK KyAgICAgICAgICAgICAgICAgICAgKGxldCAoKG91dCAoYXNzb2MtcmVmICVvdXRwdXRzICJvdXQi KSkpCisgICAgICAgICAgICAgICAgICAgICAgKG1rZGlyIG91dCkKKyAgICAgICAgICAgICAgICAg ICAgICAoY2hkaXIgb3V0KQorICAgICAgICAgICAgICAgICAgICAgIChzeW1saW5rIChhc3NvYy1y ZWYgJWJ1aWxkLWlucHV0cyAicDEiKSAicDEiKSkpKSkpCisgICAgICAgICAgKHAzIChkdW1teS1w YWNrYWdlCisgICAgICAgICAgICAgICAgInAzIgorICAgICAgICAgICAgICAgIChidWlsZC1zeXN0 ZW0gdHJpdmlhbC1idWlsZC1zeXN0ZW0pCisgICAgICAgICAgICAgICAgKGlucHV0cyBgKCgicDIi ICxwMikpKQorICAgICAgICAgICAgICAgIChhcmd1bWVudHMKKyAgICAgICAgICAgICAgICAgIGAo IzpndWlsZQorICAgICAgICAgICAgICAgICAgICAsJWJvb3RzdHJhcC1ndWlsZQorICAgICAgICAg ICAgICAgICAgICAjOmJ1aWxkZXIKKyAgICAgICAgICAgICAgICAgICAgKGxldCAoKG91dCAoYXNz b2MtcmVmICVvdXRwdXRzICJvdXQiKSkpCisgICAgICAgICAgICAgICAgICAgICAgKG1rZGlyIG91 dCkKKyAgICAgICAgICAgICAgICAgICAgICAoY2hkaXIgb3V0KQorICAgICAgICAgICAgICAgICAg ICAgIChzeW1saW5rIChhc3NvYy1yZWYgJWJ1aWxkLWlucHV0cyAicDIiKSAicDIiKSkpKSkpKQor ICAgICAobHNldD0gZXF1YWw/CisgICAgICAgICAgICAocGFja2FnZS1ncmFmdHMgJXN0b3JlIHAz KQorICAgICAgICAgICAgKGxpc3QgKGdyYWZ0IChvcmlnaW4KKyAgICAgICAgICAgICAgICAgICAg ICAgICAgIChwYWNrYWdlLWRlcml2YXRpb24gJXN0b3JlIHAxICM6Z3JhZnQ/ICNmKSkKKyAgICAg ICAgICAgICAgICAgICAgICAgICAocmVwbGFjZW1lbnQgKHBhY2thZ2UtZGVyaXZhdGlvbiAlc3Rv cmUgcDFyKSkpCisgICAgICAgICAgICAgICAgICAoZ3JhZnQgKG9yaWdpbgorICAgICAgICAgICAg ICAgICAgICAgICAgICAgKHBhY2thZ2UtZGVyaXZhdGlvbiAlc3RvcmUgcDIgIzpncmFmdD8gI2Yp KQorICAgICAgICAgICAgICAgICAgICAgICAgIChyZXBsYWNlbWVudAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgKHBhY2thZ2UtZGVyaXZhdGlvbiAlc3RvcmUgcDJyICM6Z3JhZnQ/ICN0KSkp KSkpKQphY3R1YWwtdmFsdWU6ICN0CnJlc3VsdDogUEFTUwoKdGVzdC1uYW1lOiBwYWNrYWdlLT5i YWcKbG9jYXRpb246IC90bXAvZ3VpeC1idWlsZC1ndWl4LTAuMTMuMC0xMi4wYTE1NGMxKy5kcnYt MC9zb3VyY2UvdGVzdHMvcGFja2FnZXMuc2NtOjgyOQpzb3VyY2U6CisgKHRlc3QtZXF1YWwKKyAg ICJwYWNrYWdlLT5iYWciCisgICBgKCJmb284Ni1odXJkIgorICAgICAjZgorICAgICAoLChwYWNr YWdlLXNvdXJjZSBnbnUtbWFrZSkpCisgICAgICgsKGNhbm9uaWNhbC1wYWNrYWdlIGdsaWJjKSkK KyAgICAgKCwoY2Fub25pY2FsLXBhY2thZ2UgY29yZXV0aWxzKSkpCisgICAobGV0ICgoYmFnIChw YWNrYWdlLT5iYWcgZ251LW1ha2UgImZvbzg2LWh1cmQiKSkpCisgICAgIChsaXN0IChiYWctc3lz dGVtIGJhZykKKyAgICAgICAgICAgKGJhZy10YXJnZXQgYmFnKQorICAgICAgICAgICAoYXNzb2Mt cmVmIChiYWctYnVpbGQtaW5wdXRzIGJhZykgInNvdXJjZSIpCisgICAgICAgICAgIChhc3NvYy1y ZWYgKGJhZy1idWlsZC1pbnB1dHMgYmFnKSAibGliYyIpCisgICAgICAgICAgIChhc3NvYy1yZWYg KGJhZy1idWlsZC1pbnB1dHMgYmFnKSAiY29yZXV0aWxzIikpKSkKZXhwZWN0ZWQtdmFsdWU6ICgi Zm9vODYtaHVyZCIgI2YgKCM8b3JpZ2luICJtaXJyb3I6Ly9nbnUvbWFrZS9tYWtlLTQuMi4xLnRh ci5iejIiIDIzcmdmcHp3YWcyYzJreTZqMzRkY2FiajRob3BlYWVkeXZjZ3dzMzJ1enlpZDdwN3l3 ZXEgKCIvdG1wL2d1aXgtYnVpbGQtZ3VpeC0wLjEzLjAtMTIuMGExNTRjMSsuZHJ2LTAvc291cmNl L2dudS9wYWNrYWdlcy9wYXRjaGVzL21ha2UtaW1wdXJlLWRpcnMucGF0Y2giKSAxYjVhZjYwPikg KCM8cGFja2FnZSBnbGliY0AyLjI1IGdudS9wYWNrYWdlcy9jb21tZW5jZW1lbnQuc2NtOjYzNSAy MTAwYTgwPikgKCM8cGFja2FnZSBjb3JldXRpbHNAOC4yNyBnbnUvcGFja2FnZXMvYm9vdHN0cmFw LnNjbToxNDcgMjEwMTljMD4pKQphY3R1YWwtdmFsdWU6ICgiZm9vODYtaHVyZCIgI2YgKCM8b3Jp Z2luICJtaXJyb3I6Ly9nbnUvbWFrZS9tYWtlLTQuMi4xLnRhci5iejIiIDIzcmdmcHp3YWcyYzJr eTZqMzRkY2FiajRob3BlYWVkeXZjZ3dzMzJ1enlpZDdwN3l3ZXEgKCIvdG1wL2d1aXgtYnVpbGQt Z3VpeC0wLjEzLjAtMTIuMGExNTRjMSsuZHJ2LTAvc291cmNlL2dudS9wYWNrYWdlcy9wYXRjaGVz L21ha2UtaW1wdXJlLWRpcnMucGF0Y2giKSAxYjVhZjYwPikgKCM8cGFja2FnZSBnbGliY0AyLjI1 IGdudS9wYWNrYWdlcy9jb21tZW5jZW1lbnQuc2NtOjYzNSAyMTAwYTgwPikgKCM8cGFja2FnZSBj b3JldXRpbHNAOC4yNyBnbnUvcGFja2FnZXMvYm9vdHN0cmFwLnNjbToxNDcgMjEwMTljMD4pKQpy ZXN1bHQ6IFBBU1MKCnRlc3QtbmFtZTogcGFja2FnZS0+YmFnLCBjcm9zcy1jb21waWxhdGlvbgps b2NhdGlvbjogL3RtcC9ndWl4LWJ1aWxkLWd1aXgtMC4xMy4wLTEyLjBhMTU0YzErLmRydi0wL3Nv dXJjZS90ZXN0cy9wYWNrYWdlcy5zY206ODM4CnNvdXJjZToKKyAodGVzdC1lcXVhbAorICAgInBh Y2thZ2UtPmJhZywgY3Jvc3MtY29tcGlsYXRpb24iCisgICBgKCwoJWN1cnJlbnQtc3lzdGVtKQor ICAgICAiZm9vODYtaHVyZCIKKyAgICAgKCwocGFja2FnZS1zb3VyY2UgZ251LW1ha2UpKQorICAg ICAoLChjYW5vbmljYWwtcGFja2FnZSBnbGliYykpCisgICAgICgsKGNhbm9uaWNhbC1wYWNrYWdl IGNvcmV1dGlscykpKQorICAgKGxldCAoKGJhZyAocGFja2FnZS0+YmFnCisgICAgICAgICAgICAg ICAgZ251LW1ha2UKKyAgICAgICAgICAgICAgICAoJWN1cnJlbnQtc3lzdGVtKQorICAgICAgICAg ICAgICAgICJmb284Ni1odXJkIikpKQorICAgICAobGlzdCAoYmFnLXN5c3RlbSBiYWcpCisgICAg ICAgICAgIChiYWctdGFyZ2V0IGJhZykKKyAgICAgICAgICAgKGFzc29jLXJlZiAoYmFnLWJ1aWxk LWlucHV0cyBiYWcpICJzb3VyY2UiKQorICAgICAgICAgICAoYXNzb2MtcmVmIChiYWctYnVpbGQt aW5wdXRzIGJhZykgImxpYmMiKQorICAgICAgICAgICAoYXNzb2MtcmVmIChiYWctYnVpbGQtaW5w dXRzIGJhZykgImNvcmV1dGlscyIpKSkpCmV4cGVjdGVkLXZhbHVlOiAoIng4Nl82NC1saW51eCIg ImZvbzg2LWh1cmQiICgjPG9yaWdpbiAibWlycm9yOi8vZ251L21ha2UvbWFrZS00LjIuMS50YXIu YnoyIiAyM3JnZnB6d2FnMmMya3k2ajM0ZGNhYmo0aG9wZWFlZHl2Y2d3czMydXp5aWQ3cDd5d2Vx ICgiL3RtcC9ndWl4LWJ1aWxkLWd1aXgtMC4xMy4wLTEyLjBhMTU0YzErLmRydi0wL3NvdXJjZS9n bnUvcGFja2FnZXMvcGF0Y2hlcy9tYWtlLWltcHVyZS1kaXJzLnBhdGNoIikgMWI1YWY2MD4pICgj PHBhY2thZ2UgZ2xpYmNAMi4yNSBnbnUvcGFja2FnZXMvY29tbWVuY2VtZW50LnNjbTo2MzUgMjEw MGE4MD4pICgjPHBhY2thZ2UgY29yZXV0aWxzQDguMjcgZ251L3BhY2thZ2VzL2Jvb3RzdHJhcC5z Y206MTQ3IDIxMDE5YzA+KSkKYWN0dWFsLXZhbHVlOiAoIng4Nl82NC1saW51eCIgImZvbzg2LWh1 cmQiICgjPG9yaWdpbiAibWlycm9yOi8vZ251L21ha2UvbWFrZS00LjIuMS50YXIuYnoyIiAyM3Jn ZnB6d2FnMmMya3k2ajM0ZGNhYmo0aG9wZWFlZHl2Y2d3czMydXp5aWQ3cDd5d2VxICgiL3RtcC9n dWl4LWJ1aWxkLWd1aXgtMC4xMy4wLTEyLjBhMTU0YzErLmRydi0wL3NvdXJjZS9nbnUvcGFja2Fn ZXMvcGF0Y2hlcy9tYWtlLWltcHVyZS1kaXJzLnBhdGNoIikgMWI1YWY2MD4pICgjPHBhY2thZ2Ug Z2xpYmNAMi4yNSBnbnUvcGFja2FnZXMvY29tbWVuY2VtZW50LnNjbTo2MzUgMjEwMGE4MD4pICgj PHBhY2thZ2UgY29yZXV0aWxzQDguMjcgZ251L3BhY2thZ2VzL2Jvb3RzdHJhcC5zY206MTQ3IDIx MDE5YzA+KSkKcmVzdWx0OiBQQVNTCgp0ZXN0LW5hbWU6IHBhY2thZ2UtPmJhZywgcHJvcGFnYXRl ZCBpbnB1dHMKbG9jYXRpb246IC90bXAvZ3VpeC1idWlsZC1ndWl4LTAuMTMuMC0xMi4wYTE1NGMx Ky5kcnYtMC9zb3VyY2UvdGVzdHMvcGFja2FnZXMuc2NtOjg0OApzb3VyY2U6CisgKHRlc3QtYXNz ZXJ0CisgICAicGFja2FnZS0+YmFnLCBwcm9wYWdhdGVkIGlucHV0cyIKKyAgIChsZXQqICgoZGVw IChkdW1teS1wYWNrYWdlICJkZXAiKSkKKyAgICAgICAgICAocHJvcCAoZHVtbXktcGFja2FnZQor ICAgICAgICAgICAgICAgICAgInByb3AiCisgICAgICAgICAgICAgICAgICAocHJvcGFnYXRlZC1p bnB1dHMgYCgoImRlcCIgLGRlcCkpKSkpCisgICAgICAgICAgKGR1bW15IChkdW1teS1wYWNrYWdl CisgICAgICAgICAgICAgICAgICAgImR1bW15IgorICAgICAgICAgICAgICAgICAgIChpbnB1dHMg YCgoInByb3AiICxwcm9wKSkpKSkKKyAgICAgICAgICAoaW5wdXRzCisgICAgICAgICAgICAoYmFn LXRyYW5zaXRpdmUtaW5wdXRzCisgICAgICAgICAgICAgIChwYWNrYWdlLT5iYWcgZHVtbXkgIzpn cmFmdD8gI2YpKSkpCisgICAgIChtYXRjaCAoYXNzb2MgImRlcCIgaW5wdXRzKQorICAgICAgICAg ICAgKCgiZGVwIiBwYWNrYWdlKSAoZXE/IHBhY2thZ2UgZGVwKSkpKSkKYWN0dWFsLXZhbHVlOiAj dApyZXN1bHQ6IFBBU1MKCnRlc3QtbmFtZTogYmFnLT5kZXJpdmF0aW9uCmxvY2F0aW9uOiAvdG1w L2d1aXgtYnVpbGQtZ3VpeC0wLjEzLjAtMTIuMGExNTRjMSsuZHJ2LTAvc291cmNlL3Rlc3RzL3Bh Y2thZ2VzLnNjbTo4NTkKc291cmNlOgorICh0ZXN0LWFzc2VydAorICAgImJhZy0+ZGVyaXZhdGlv biIKKyAgIChwYXJhbWV0ZXJpemUKKyAgICAgKCglZ3JhZnQ/ICNmKSkKKyAgICAgKGxldCAoKGJh ZyAocGFja2FnZS0+YmFnIGdudS1tYWtlKSkKKyAgICAgICAgICAgKGRydiAocGFja2FnZS1kZXJp dmF0aW9uICVzdG9yZSBnbnUtbWFrZSkpKQorICAgICAgIChwYXJhbWV0ZXJpemUKKyAgICAgICAg ICgoJWN1cnJlbnQtc3lzdGVtICJmb294ODYtaHVyZCIpKQorICAgICAgICAgKGVxdWFsPyBkcnYg KGJhZy0+ZGVyaXZhdGlvbiAlc3RvcmUgYmFnKSkpKSkpCmFjdHVhbC12YWx1ZTogI3QKcmVzdWx0 OiBQQVNTCgp0ZXN0LW5hbWU6IGJhZy0+ZGVyaXZhdGlvbiwgY3Jvc3MtY29tcGlsYXRpb24KbG9j YXRpb246IC90bXAvZ3VpeC1idWlsZC1ndWl4LTAuMTMuMC0xMi4wYTE1NGMxKy5kcnYtMC9zb3Vy Y2UvdGVzdHMvcGFja2FnZXMuc2NtOjg2Ngpzb3VyY2U6CisgKHRlc3QtYXNzZXJ0CisgICAiYmFn LT5kZXJpdmF0aW9uLCBjcm9zcy1jb21waWxhdGlvbiIKKyAgIChwYXJhbWV0ZXJpemUKKyAgICAg KCglZ3JhZnQ/ICNmKSkKKyAgICAgKGxldCogKCh0YXJnZXQgIm1pcHM2NGVsLWxpbnV4LWdudSIp CisgICAgICAgICAgICAoYmFnIChwYWNrYWdlLT5iYWcgZ251LW1ha2UgKCVjdXJyZW50LXN5c3Rl bSkgdGFyZ2V0KSkKKyAgICAgICAgICAgIChkcnYgKHBhY2thZ2UtY3Jvc3MtZGVyaXZhdGlvbiAl c3RvcmUgZ251LW1ha2UgdGFyZ2V0KSkpCisgICAgICAgKHBhcmFtZXRlcml6ZQorICAgICAgICAg KCglY3VycmVudC1zeXN0ZW0gImZvb3g4Ni1odXJkIikKKyAgICAgICAgICAoJWN1cnJlbnQtdGFy Z2V0LXN5c3RlbSAiZm9vNjQtbGludXgtZ251IikpCisgICAgICAgICAoZXF1YWw/IGRydiAoYmFn LT5kZXJpdmF0aW9uICVzdG9yZSBiYWcpKSkpKSkKYWN0dWFsLXZhbHVlOiAjdApyZXN1bHQ6IFBB U1MKCnRlc3QtbmFtZTogR05VIE1ha2UsIGJvb3RzdHJhcApsb2NhdGlvbjogL3RtcC9ndWl4LWJ1 aWxkLWd1aXgtMC4xMy4wLTEyLjBhMTU0YzErLmRydi0wL3NvdXJjZS90ZXN0cy9wYWNrYWdlcy5z Y206ODc3CnNvdXJjZToKKyAodGVzdC1hc3NlcnQKKyAgICJHTlUgTWFrZSwgYm9vdHN0cmFwIgor ICAgKGxldCAoKGdudS1tYWtlCisgICAgICAgICAgIChAQCAoZ251IHBhY2thZ2VzIGNvbW1lbmNl bWVudCkgZ251LW1ha2UtYm9vdDApKSkKKyAgICAgKGFuZCAocGFja2FnZT8gZ251LW1ha2UpCisg ICAgICAgICAgKG9yIChsb2NhdGlvbj8gKHBhY2thZ2UtbG9jYXRpb24gZ251LW1ha2UpKQorICAg ICAgICAgICAgICAobm90IChwYWNrYWdlLWxvY2F0aW9uIGdudS1tYWtlKSkpCisgICAgICAgICAg KGxldCogKChkcnYgKHBhY2thZ2UtZGVyaXZhdGlvbiAlc3RvcmUgZ251LW1ha2UpKQorICAgICAg ICAgICAgICAgICAob3V0IChkZXJpdmF0aW9uLT5vdXRwdXQtcGF0aCBkcnYpKSkKKyAgICAgICAg ICAgIChhbmQgKGJ1aWxkLWRlcml2YXRpb25zICVzdG9yZSAobGlzdCBkcnYpKQorICAgICAgICAg ICAgICAgICAoZmlsZS1leGlzdHM/IChzdHJpbmctYXBwZW5kIG91dCAiL2Jpbi9tYWtlIikpKSkp KSkKcmVzdWx0OiBTS0lQCgp0ZXN0LW5hbWU6IHBhY2thZ2UtbWFwcGluZwpsb2NhdGlvbjogL3Rt cC9ndWl4LWJ1aWxkLWd1aXgtMC4xMy4wLTEyLjBhMTU0YzErLmRydi0wL3NvdXJjZS90ZXN0cy9w YWNrYWdlcy5zY206ODg5CnNvdXJjZToKKyAodGVzdC1lcXVhbAorICAgInBhY2thZ2UtbWFwcGlu ZyIKKyAgIDQyCisgICAobGV0KiAoKGRlcCAoZHVtbXktcGFja2FnZQorICAgICAgICAgICAgICAg ICAiY2hib3VpYiIKKyAgICAgICAgICAgICAgICAgKG5hdGl2ZS1pbnB1dHMgYCgoIngiICxncmVw KSkpKSkKKyAgICAgICAgICAocDAgKGR1bW15LXBhY2thZ2UKKyAgICAgICAgICAgICAgICAiZXhh bXBsZSIKKyAgICAgICAgICAgICAgICAoaW5wdXRzCisgICAgICAgICAgICAgICAgICBgKCgiZm9v IiAsY29yZXV0aWxzKSAoImJhciIgLGdyZXApICgiYmF6IiAsZGVwKSkpKSkKKyAgICAgICAgICAo dHJhbnNmb3JtCisgICAgICAgICAgICAobGFtYmRhIChwKSAocGFja2FnZSAoaW5oZXJpdCBwKSAo c291cmNlIDQyKSkpKQorICAgICAgICAgIChyZXdyaXRlIChwYWNrYWdlLW1hcHBpbmcgdHJhbnNm b3JtKSkKKyAgICAgICAgICAocDEgKHJld3JpdGUgcDApKSkKKyAgICAgKGFuZCAoZXE/IHAxIChy ZXdyaXRlIHAwKSkKKyAgICAgICAgICAoZXF2PyA0MiAocGFja2FnZS1zb3VyY2UgcDEpKQorICAg ICAgICAgIChtYXRjaCAocGFja2FnZS1pbnB1dHMgcDEpCisgICAgICAgICAgICAgICAgICgoKCJm b28iIGRlcDEpICgiYmFyIiBkZXAyKSAoImJheiIgZGVwMykpCisgICAgICAgICAgICAgICAgICAo YW5kIChlcT8gZGVwMSAocmV3cml0ZSBjb3JldXRpbHMpKQorICAgICAgICAgICAgICAgICAgICAg ICAoZXE/IGRlcDIgKHJld3JpdGUgZ3JlcCkpCisgICAgICAgICAgICAgICAgICAgICAgIChlcT8g ZGVwMyAocmV3cml0ZSBkZXApKQorICAgICAgICAgICAgICAgICAgICAgICAoZXF2PyA0MgorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAocGFja2FnZS1zb3VyY2UgZGVwMSkKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKHBhY2thZ2Utc291cmNlIGRlcDIpCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIChwYWNrYWdlLXNvdXJjZSBkZXAzKSkKKyAgICAgICAgICAgICAgICAg ICAgICAgKG1hdGNoIChwYWNrYWdlLW5hdGl2ZS1pbnB1dHMgZGVwMykKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICgoKCJ4IiBkZXApKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIChhbmQgKGVxPyBkZXAgKHJld3JpdGUgZ3JlcCkpCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAocGFja2FnZS1zb3VyY2UgZGVwKSkpKSkpKSkpKQpleHBlY3RlZC12YWx1 ZTogNDIKYWN0dWFsLXZhbHVlOiA0MgpyZXN1bHQ6IFBBU1MKCnRlc3QtbmFtZTogcGFja2FnZS1p bnB1dC1yZXdyaXRpbmcKbG9jYXRpb246IC90bXAvZ3VpeC1idWlsZC1ndWl4LTAuMTMuMC0xMi4w YTE1NGMxKy5kcnYtMC9zb3VyY2UvdGVzdHMvcGFja2FnZXMuc2NtOjkxNgpzb3VyY2U6CisgKHRl c3QtYXNzZXJ0CisgICAicGFja2FnZS1pbnB1dC1yZXdyaXRpbmciCisgICAobGV0KiAoKGRlcCAo ZHVtbXktcGFja2FnZQorICAgICAgICAgICAgICAgICAiY2hib3VpYiIKKyAgICAgICAgICAgICAg ICAgKG5hdGl2ZS1pbnB1dHMgYCgoIngiICxncmVwKSkpKSkKKyAgICAgICAgICAocDAgKGR1bW15 LXBhY2thZ2UKKyAgICAgICAgICAgICAgICAiZXhhbXBsZSIKKyAgICAgICAgICAgICAgICAoaW5w dXRzCisgICAgICAgICAgICAgICAgICBgKCgiZm9vIiAsY29yZXV0aWxzKSAoImJhciIgLGdyZXAp ICgiYmF6IiAsZGVwKSkpKSkKKyAgICAgICAgICAocmV3cml0ZQorICAgICAgICAgICAgKHBhY2th Z2UtaW5wdXQtcmV3cml0aW5nCisgICAgICAgICAgICAgIGAoKCxjb3JldXRpbHMgdW5xdW90ZSBz ZWQpCisgICAgICAgICAgICAgICAgKCxncmVwIHVucXVvdGUgZmluZHV0aWxzKSkKKyAgICAgICAg ICAgICAgKGN1dCBzdHJpbmctYXBwZW5kICJyLSIgPD4pKSkKKyAgICAgICAgICAocDEgKHJld3Jp dGUgcDApKQorICAgICAgICAgIChwMiAocmV3cml0ZSBwMCkpKQorICAgICAoYW5kIChub3QgKGVx PyBwMSBwMCkpCisgICAgICAgICAgKGVxPyBwMSBwMikKKyAgICAgICAgICAoc3RyaW5nPT8gInIt ZXhhbXBsZSIgKHBhY2thZ2UtbmFtZSBwMSkpCisgICAgICAgICAgKG1hdGNoIChwYWNrYWdlLWlu cHV0cyBwMSkKKyAgICAgICAgICAgICAgICAgKCgoImZvbyIgZGVwMSkgKCJiYXIiIGRlcDIpICgi YmF6IiBkZXAzKSkKKyAgICAgICAgICAgICAgICAgIChhbmQgKGVxPyBkZXAxIHNlZCkKKyAgICAg ICAgICAgICAgICAgICAgICAgKGVxPyBkZXAyIGZpbmR1dGlscykKKyAgICAgICAgICAgICAgICAg ICAgICAgKHN0cmluZz0/IChwYWNrYWdlLW5hbWUgZGVwMykgInItY2hib3VpYiIpCisgICAgICAg ICAgICAgICAgICAgICAgIChlcT8gZGVwMyAocmV3cml0ZSBkZXApKQorICAgICAgICAgICAgICAg ICAgICAgICAobWF0Y2ggKHBhY2thZ2UtbmF0aXZlLWlucHV0cyBkZXAzKQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKCgoIngiIGRlcCkpIChlcT8gZGVwIGZpbmR1dGlscykpKSkpKSkp KQphY3R1YWwtdmFsdWU6ICN0CnJlc3VsdDogUEFTUwoKdGVzdC1uYW1lOiBmb2xkLXBhY2thZ2Vz CmxvY2F0aW9uOiAvdG1wL2d1aXgtYnVpbGQtZ3VpeC0wLjEzLjAtMTIuMGExNTRjMSsuZHJ2LTAv c291cmNlL3Rlc3RzL3BhY2thZ2VzLnNjbTo5NDEKc291cmNlOgorICh0ZXN0LWVxCisgICAiZm9s ZC1wYWNrYWdlcyIKKyAgIGhlbGxvCisgICAoZm9sZC1wYWNrYWdlcworICAgICAobGFtYmRhIChw IHIpCisgICAgICAgKGlmIChzdHJpbmc9PyAocGFja2FnZS1uYW1lIHApICJoZWxsbyIpIHAgcikp CisgICAgICNmKSkKZXhwZWN0ZWQtdmFsdWU6ICM8cGFja2FnZSBoZWxsb0AyLjEwIGdudS9wYWNr YWdlcy9iYXNlLnNjbTo2MiAxYjUzNzgwPgphY3R1YWwtdmFsdWU6ICM8cGFja2FnZSBoZWxsb0Ay LjEwIGdudS9wYWNrYWdlcy9iYXNlLnNjbTo2MiAxYjUzNzgwPgpyZXN1bHQ6IFBBU1MKCnRlc3Qt bmFtZTogZm9sZC1wYWNrYWdlcywgaGlkZGVuIHBhY2thZ2UKbG9jYXRpb246IC90bXAvZ3VpeC1i dWlsZC1ndWl4LTAuMTMuMC0xMi4wYTE1NGMxKy5kcnYtMC9zb3VyY2UvdGVzdHMvcGFja2FnZXMu c2NtOjk0OApzb3VyY2U6CisgKHRlc3QtYXNzZXJ0CisgICAiZm9sZC1wYWNrYWdlcywgaGlkZGVu IHBhY2thZ2UiCisgICAobWF0Y2ggKGZvbGQtcGFja2FnZXMKKyAgICAgICAgICAgIChsYW1iZGEg KHAgcikKKyAgICAgICAgICAgICAgKGlmIChhbmQgKHN0cmluZz0/IChwYWNrYWdlLW5hbWUgcCkg Imd1aWxlIikKKyAgICAgICAgICAgICAgICAgICAgICAgKHN0cmluZy1wcmVmaXg/ICIyLjAiIChw YWNrYWdlLXZlcnNpb24gcCkpKQorICAgICAgICAgICAgICAgIChjb25zIHAgcikKKyAgICAgICAg ICAgICAgICByKSkKKyAgICAgICAgICAgICcoKSkKKyBAIGJ1aWxkLXN0YXJ0ZWQgL3RtcC9ndWl4 LXRlc3RzL3N0b3JlL2RtMTMyOW56M2RocTJmcXZrbGNhd3pjYzh4a3lpYW1qLWZvby0wLmRydiAt IHg4Nl82NC1saW51eCAvdG1wL2d1aXgtdGVzdHMvdmFyL2xvZy9ndWl4L2RydnMvZG0vLzEzMjlu ejNkaHEyZnF2a2xjYXd6Y2M4eGt5aWFtai1mb28tMC5kcnYuYnoyCkAgYnVpbGQtc3VjY2VlZGVk IC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9kbTEzMjluejNkaHEyZnF2a2xjYXd6Y2M4eGt5aWFtai1m b28tMC5kcnYgLQpAIGJ1aWxkLXN0YXJ0ZWQgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3IyY3djMHlt YWZqM2ZpaDcxZGRscHZ2NDhpYmgzcjVmLWxpYnhtbDItMC4wLjAuZHJ2IC0geDg2XzY0LWxpbnV4 IC90bXAvZ3VpeC10ZXN0cy92YXIvbG9nL2d1aXgvZHJ2cy9yMi8vY3djMHltYWZqM2ZpaDcxZGRs cHZ2NDhpYmgzcjVmLWxpYnhtbDItMC4wLjAuZHJ2LmJ6MgpAIGJ1aWxkLXN1Y2NlZWRlZCAvdG1w L2d1aXgtdGVzdHMvc3RvcmUvcjJjd2MweW1hZmozZmloNzFkZGxwdnY0OGliaDNyNWYtbGlieG1s Mi0wLjAuMC5kcnYgLQpAIGJ1aWxkLXN0YXJ0ZWQgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL2dhMnF5 bG16cDY4dzR6M3lscXc4aDdqaHY1M3pwYjR4LW1vZHVsZS1pbXBvcnQuZHJ2IC0geDg2XzY0LWxp bnV4IC90bXAvZ3VpeC10ZXN0cy92YXIvbG9nL2d1aXgvZHJ2cy9nYS8vMnF5bG16cDY4dzR6M3ls cXc4aDdqaHY1M3pwYjR4LW1vZHVsZS1pbXBvcnQuZHJ2LmJ6MgpAIGJ1aWxkLXN1Y2NlZWRlZCAv dG1wL2d1aXgtdGVzdHMvc3RvcmUvZ2EycXlsbXpwNjh3NHozeWxxdzhoN2podjUzenBiNHgtbW9k dWxlLWltcG9ydC5kcnYgLQpAIGJ1aWxkLXN0YXJ0ZWQgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL2w4 ZDI2ZjM2dmhpbGl2NW13ZDN2aHNkaXp2YmtpazkzLW1vZHVsZS1pbXBvcnQtY29tcGlsZWQuZHJ2 IC0geDg2XzY0LWxpbnV4IC90bXAvZ3VpeC10ZXN0cy92YXIvbG9nL2d1aXgvZHJ2cy9sOC8vZDI2 ZjM2dmhpbGl2NW13ZDN2aHNkaXp2YmtpazkzLW1vZHVsZS1pbXBvcnQtY29tcGlsZWQuZHJ2LmJ6 MgpAIGJ1aWxkLXN1Y2NlZWRlZCAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvbDhkMjZmMzZ2aGlsaXY1 bXdkM3Zoc2RpenZia2lrOTMtbW9kdWxlLWltcG9ydC1jb21waWxlZC5kcnYgLQpAIGJ1aWxkLXN0 YXJ0ZWQgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzJhdzR5bDB2MXo0Mjl2NmxiOTE5N2phd2x3aXps ODVmLXByb2ZpbGUuZHJ2IC0geDg2XzY0LWxpbnV4IC90bXAvZ3VpeC10ZXN0cy92YXIvbG9nL2d1 aXgvZHJ2cy8yYS8vdzR5bDB2MXo0Mjl2NmxiOTE5N2phd2x3aXpsODVmLXByb2ZpbGUuZHJ2LmJ6 MgpCYWNrdHJhY2U6CkluIGljZS05L2Jvb3QtOS5zY206CiAxNTc6IDEwIFtjYXRjaCAjdCAjPGNh dGNoLWNsb3N1cmUgYzkxZTIwPiAuLi5dCkluIHVua25vd24gZmlsZToKICAgPzogOSBbYXBwbHkt c21vYi8xICM8Y2F0Y2gtY2xvc3VyZSBjOTFlMjA+XQpJbiBpY2UtOS9ib290LTkuc2NtOgogIDYz OiA4IFtjYWxsLXdpdGgtcHJvbXB0IHByb21wdDAgLi4uXQpJbiBpY2UtOS9ldmFsLnNjbToKIDQz MjogNyBbZXZhbCAjICNdCkluIGljZS05L2Jvb3QtOS5zY206CjIzMjA6IDYgW3NhdmUtbW9kdWxl LWV4Y3Vyc2lvbiAjPHByb2NlZHVyZSBjYmZiMDAgYXQgaWNlLTkvYm9vdC05LnNjbTozOTYxOjMg KCk+XQozOTY2OiA1IFsjPHByb2NlZHVyZSBjYmZiMDAgYXQgaWNlLTkvYm9vdC05LnNjbTozOTYx OjMgKCk+XQoxNjQ1OiA0IFslc3RhcnQtc3RhY2sgbG9hZC1zdGFjayAjPHByb2NlZHVyZSBjYzBk YTAgYXQgaWNlLTkvYm9vdC05LnNjbTozOTU3OjEwICgpPl0KMTY1MDogMyBbIzxwcm9jZWR1cmUg Y2M2ZGIwICgpPl0KSW4gdW5rbm93biBmaWxlOgogICA/OiAyIFtwcmltaXRpdmUtbG9hZCAiL3Rt cC9ndWl4LXRlc3RzL3N0b3JlLzNhczloemx6a2QyNGNmcHFjcWl6eWg3cDl5eHFid3E2LXByb2Zp bGUtYnVpbGRlciJdCkluIGljZS05L2V2YWwuc2NtOgogNDMyOiAxIFtldmFsICMgKCldCkluIHVu a25vd24gZmlsZToKICAgPzogMCBbc2V0dmJ1ZiAjPG91dHB1dDogZmlsZSAxPiBsaW5lICM8dW5k ZWZpbmVkPl0KCkVSUk9SOiBJbiBwcm9jZWR1cmUgc2V0dmJ1ZjoKRVJST1I6IFdyb25nIHR5cGUg KGV4cGVjdGluZyBleGFjdCBpbnRlZ2VyKTogbGluZQpidWlsZGVyIGZvciBgL3RtcC9ndWl4LXRl c3RzL3N0b3JlLzJhdzR5bDB2MXo0Mjl2NmxiOTE5N2phd2x3aXpsODVmLXByb2ZpbGUuZHJ2JyBm YWlsZWQgd2l0aCBleGl0IGNvZGUgMQpAIGJ1aWxkLWZhaWxlZCAvdG1wL2d1aXgtdGVzdHMvc3Rv cmUvMmF3NHlsMHYxejQyOXY2bGI5MTk3amF3bHdpemw4NWYtcHJvZmlsZS5kcnYgLSAxIGJ1aWxk ZXIgZm9yIGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvMmF3NHlsMHYxejQyOXY2bGI5MTk3amF3bHdp emw4NWYtcHJvZmlsZS5kcnYnIGZhaWxlZCB3aXRoIGV4aXQgY29kZSAxCiAgICAgICAgICgob25l KSAoZXE/IG9uZSBndWlsZS0yLjApKSkpCmFjdHVhbC12YWx1ZTogI3QKcmVzdWx0OiBQQVNTCgp0 ZXN0LW5hbWU6IGZpbmQtcGFja2FnZXMtYnktbmFtZQpsb2NhdGlvbjogL3RtcC9ndWl4LWJ1aWxk LWd1aXgtMC4xMy4wLTEyLjBhMTU0YzErLmRydi0wL3NvdXJjZS90ZXN0cy9wYWNrYWdlcy5zY206 OTYyCnNvdXJjZToKKyAodGVzdC1hc3NlcnQKKyAgICJmaW5kLXBhY2thZ2VzLWJ5LW5hbWUiCisg ICAobWF0Y2ggKGZpbmQtcGFja2FnZXMtYnktbmFtZSAiaGVsbG8iKQorICAgICAgICAgICgoKD8g KGN1dCBlcT8gaGVsbG8gPD4pKSkgI3QpCisgICAgICAgICAgKHdyb25nIChwayAnZmluZC1wYWNr YWdlcy1ieS1uYW1lIHdyb25nICNmKSkpKQphY3R1YWwtdmFsdWU6ICN0CnJlc3VsdDogUEFTUwoK dGVzdC1uYW1lOiBmaW5kLXBhY2thZ2VzLWJ5LW5hbWUgd2l0aCB2ZXJzaW9uCmxvY2F0aW9uOiAv dG1wL2d1aXgtYnVpbGQtZ3VpeC0wLjEzLjAtMTIuMGExNTRjMSsuZHJ2LTAvc291cmNlL3Rlc3Rz L3BhY2thZ2VzLnNjbTo5NjcKc291cmNlOgorICh0ZXN0LWFzc2VydAorICAgImZpbmQtcGFja2Fn ZXMtYnktbmFtZSB3aXRoIHZlcnNpb24iCisgICAobWF0Y2ggKGZpbmQtcGFja2FnZXMtYnktbmFt ZQorICAgICAgICAgICAgImhlbGxvIgorICAgICAgICAgICAgKHBhY2thZ2UtdmVyc2lvbiBoZWxs bykpCisgICAgICAgICAgKCgoPyAoY3V0IGVxPyBoZWxsbyA8PikpKSAjdCkKKyAgICAgICAgICAo d3JvbmcgKHBrICdmaW5kLXBhY2thZ2VzLWJ5LW5hbWUgd3JvbmcgI2YpKSkpCmFjdHVhbC12YWx1 ZTogI3QKcmVzdWx0OiBQQVNTCgp0ZXN0LW5hbWU6IC0tc2VhcmNoLXBhdGhzIHdpdGggcGF0dGVy bgpsb2NhdGlvbjogL3RtcC9ndWl4LWJ1aWxkLWd1aXgtMC4xMy4wLTEyLjBhMTU0YzErLmRydi0w L3NvdXJjZS90ZXN0cy9wYWNrYWdlcy5zY206OTcyCnNvdXJjZToKKyAodGVzdC1hc3NlcnQKKyAg ICItLXNlYXJjaC1wYXRocyB3aXRoIHBhdHRlcm4iCisgICAobGV0KiAoKHAxIChwYWNrYWdlCisg ICAgICAgICAgICAgICAgKG5hbWUgImZvbyIpCisgICAgICAgICAgICAgICAgKHZlcnNpb24gIjAi KQorICAgICAgICAgICAgICAgIChzb3VyY2UgI2YpCisgICAgICAgICAgICAgICAgKGJ1aWxkLXN5 c3RlbSB0cml2aWFsLWJ1aWxkLXN5c3RlbSkKKyAgICAgICAgICAgICAgICAoYXJndW1lbnRzCisg ICAgICAgICAgICAgICAgICBgKCM6Z3VpbGUKKyAgICAgICAgICAgICAgICAgICAgLCVib290c3Ry YXAtZ3VpbGUKKyAgICAgICAgICAgICAgICAgICAgIzptb2R1bGVzCisgICAgICAgICAgICAgICAg ICAgICgoZ3VpeCBidWlsZCB1dGlscykpCisgICAgICAgICAgICAgICAgICAgICM6YnVpbGRlcgor ICAgICAgICAgICAgICAgICAgICAoYmVnaW4KKyAgICAgICAgICAgICAgICAgICAgICAodXNlLW1v ZHVsZXMgKGd1aXggYnVpbGQgdXRpbHMpKQorICAgICAgICAgICAgICAgICAgICAgIChsZXQgKChv dXQgKGFzc29jLXJlZiAlb3V0cHV0cyAib3V0IikpKQorICAgICAgICAgICAgICAgICAgICAgICAg KG1rZGlyLXAgKHN0cmluZy1hcHBlbmQgb3V0ICIveG1sL2Jhci9iYXoiKSkKKyAgICAgICAgICAg ICAgICAgICAgICAgIChjYWxsLXdpdGgtb3V0cHV0LWZpbGUKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgKHN0cmluZy1hcHBlbmQgb3V0ICIveG1sL2Jhci9iYXovY2F0YWxvZy54bWwiKQorICAg ICAgICAgICAgICAgICAgICAgICAgICAobGFtYmRhIChwb3J0KSAoZGlzcGxheSAieG1sPyB3YXQ/ ISIgcG9ydCkpKSkpKSkKKyAgICAgICAgICAgICAgICAoc3lub3BzaXMgI2YpCisgICAgICAgICAg ICAgICAgKGRlc2NyaXB0aW9uICNmKQorICAgICAgICAgICAgICAgIChob21lLXBhZ2UgI2YpCisg ICAgICAgICAgICAgICAgKGxpY2Vuc2UgI2YpKSkKKyAgICAgICAgICAocDIgKHBhY2thZ2UKKyAg ICAgICAgICAgICAgICAobmFtZSAibGlieG1sMiIpCisgICAgICAgICAgICAgICAgKHZlcnNpb24g IjAuMC4wIikKKyAgICAgICAgICAgICAgICAoc291cmNlICNmKQorICAgICAgICAgICAgICAgIChi dWlsZC1zeXN0ZW0gdHJpdmlhbC1idWlsZC1zeXN0ZW0pCisgICAgICAgICAgICAgICAgKGFyZ3Vt ZW50cworICAgICAgICAgICAgICAgICAgYCgjOmd1aWxlCisgICAgICAgICAgICAgICAgICAgICwl Ym9vdHN0cmFwLWd1aWxlCisgICAgICAgICAgICAgICAgICAgICM6YnVpbGRlcgorICAgICAgICAg ICAgICAgICAgICAobWtkaXIgKGFzc29jLXJlZiAlb3V0cHV0cyAib3V0IikpKSkKKyAgICAgICAg ICAgICAgICAobmF0aXZlLXNlYXJjaC1wYXRocworICAgICAgICAgICAgICAgICAgKHBhY2thZ2Ut bmF0aXZlLXNlYXJjaC1wYXRocyBsaWJ4bWwyKSkKKyAgICAgICAgICAgICAgICAoc3lub3BzaXMg I2YpCisgICAgICAgICAgICAgICAgKGRlc2NyaXB0aW9uICNmKQorICAgICAgICAgICAgICAgICho b21lLXBhZ2UgI2YpCisgICAgICAgICAgICAgICAgKGxpY2Vuc2UgI2YpKSkKKyAgICAgICAgICAo cHJvZiAocnVuLXdpdGgtc3RvcmUKKyAgICAgICAgICAgICAgICAgICVzdG9yZQorICAgICAgICAg ICAgICAgICAgKHByb2ZpbGUtZGVyaXZhdGlvbgorICAgICAgICAgICAgICAgICAgICAobWFuaWZl c3QKKyAgICAgICAgICAgICAgICAgICAgICAobWFwIHBhY2thZ2UtPm1hbmlmZXN0LWVudHJ5IChs aXN0IHAxIHAyKSkpCisgICAgICAgICAgICAgICAgICAgICM6aG9va3MKKyAgICAgICAgICAgICAg ICAgICAgJygpCisgICAgICAgICAgICAgICAgICAgICM6bG9jYWxlcz8KKyAgICAgICAgICAgICAg ICAgICAgI2YpCisgICAgICAgICAgICAgICAgICAjOmd1aWxlLWZvci1idWlsZAorICAgICAgICAg ICAgICAgICAgKCVndWlsZS1mb3ItYnVpbGQpKSkpCisgICAgIChidWlsZC1kZXJpdmF0aW9ucyAl c3RvcmUgKGxpc3QgcHJvZikpCisgICAgIChzdHJpbmctbWF0Y2gKKyAgICAgICAoZm9ybWF0Cisg ICAgICAgICAjZgorICAgICAgICAgIl5leHBvcnQgWE1MX0NBVEFMT0dfRklMRVM9XCJ+YS94bWwv K2Jhci9iYXovY2F0YWxvZ1xcLnhtbFwiXG4iCisgICAgICAgICAocmVnZXhwLXF1b3RlIChkZXJp dmF0aW9uLT5vdXRwdXQtcGF0aCBwcm9mKSkpCisgICAgICAgKHdpdGgtb3V0cHV0LXRvLXN0cmlu ZworICAgICAgICAgKGxhbWJkYSAoKQorICAgICAgICAgICAoZ3VpeC1wYWNrYWdlCisgICAgICAg ICAgICAgIi1wIgorICAgICAgICAgICAgIChkZXJpdmF0aW9uLT5vdXRwdXQtcGF0aCBwcm9mKQor ICAgICAgICAgICAgICItLXNlYXJjaC1wYXRocyIpKSkpKSkKYWN0dWFsLXZhbHVlOiAjZgphY3R1 YWwtZXJyb3I6CisgKHNyZmktMzQKKyAgICM8Y29uZGl0aW9uICZuaXgtcHJvdG9jb2wtZXJyb3Ig W21lc3NhZ2U6ICJidWlsZCBvZiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzJhdzR5bDB2MXo0Mjl2 NmxiOTE5N2phd2x3aXpsODVmLXByb2ZpbGUuZHJ2JyBmYWlsZWQiIHN0YXR1czogMTAwXSAyMjI3 ZmMwPikKcmVzdWx0OiBGQUlMCgp0ZXN0LW5hbWU6IC0tc2VhcmNoLXBhdGhzIHdpdGggc2luZ2xl LWl0ZW0gc2VhcmNoIHBhdGgKbG9jYXRpb246IC90bXAvZ3VpeC1idWlsZC1ndWl4LTAuMTMuMC0x Mi4wYTE1NGMxKy5kcnYtMC9zb3VyY2UvdGVzdHMvcGFja2FnZXMuc2NtOjEwMjAKc291cmNlOgor ICh0ZXN0LWFzc2VydAorICAgIi0tc2VhcmNoLXBhdGhzIHdpdGggc2luZ2xlLWl0ZW0gc2VhcmNo IHBhdGgiCisgICAobGV0KiAoKHAxIChkdW1teS1wYWNrYWdlCisgICAgICAgICAgICAgICAgImZv byIKKyAgICAgICAgICAgICAgICAoYnVpbGQtc3lzdGVtIHRyaXZpYWwtYnVpbGQtc3lzdGVtKQor ICAgICAgICAgICAgICAgIChhcmd1bWVudHMKKyAgICAgICAgICAgICAgICAgIGAoIzpndWlsZQor ICAgICAgICAgICAgICAgICAgICAsJWJvb3RzdHJhcC1ndWlsZQorICAgICAgICAgICAgICAgICAg ICAjOm1vZHVsZXMKKyAgICAgICAgICAgICAgICAgICAgKChndWl4IGJ1aWxkIHV0aWxzKSkKKyAg ICAgICAgICAgICAgICAgICAgIzpidWlsZGVyCisgICAgICAgICAgICAgICAgICAgIChiZWdpbgor ICAgICAgICAgICAgICAgICAgICAgIEAgYnVpbGQtc3RhcnRlZCAvdG1wL2d1aXgtdGVzdHMvc3Rv cmUvN2JkMno0NXI5aGFuenliODN5MGE1OXBsa3dnbGp6aDktYmFyLTAuZHJ2IC0geDg2XzY0LWxp bnV4IC90bXAvZ3VpeC10ZXN0cy92YXIvbG9nL2d1aXgvZHJ2cy83Yi8vZDJ6NDVyOWhhbnp5Yjgz eTBhNTlwbGt3Z2xqemg5LWJhci0wLmRydi5iejIKQCBidWlsZC1zdWNjZWVkZWQgL3RtcC9ndWl4 LXRlc3RzL3N0b3JlLzdiZDJ6NDVyOWhhbnp5YjgzeTBhNTlwbGt3Z2xqemg5LWJhci0wLmRydiAt CkAgYnVpbGQtc3RhcnRlZCAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvNXZxOTVnZ3c2cWw4bnd2cXJu OWtwcWJ4cHJ4cWJ4c2gtZm9vLTAuZHJ2IC0geDg2XzY0LWxpbnV4IC90bXAvZ3VpeC10ZXN0cy92 YXIvbG9nL2d1aXgvZHJ2cy81di8vcTk1Z2d3NnFsOG53dnFybjlrcHFieHByeHFieHNoLWZvby0w LmRydi5iejIKQCBidWlsZC1zdWNjZWVkZWQgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzV2cTk1Z2d3 NnFsOG53dnFybjlrcHFieHByeHFieHNoLWZvby0wLmRydiAtCkAgYnVpbGQtc3RhcnRlZCAvdG1w L2d1aXgtdGVzdHMvc3RvcmUvaWxiY2dnbWM2eDJzNmdmZmxsMms3YjFyeXl2cjBwM2otZ2l0LTAu ZHJ2IC0geDg2XzY0LWxpbnV4IC90bXAvZ3VpeC10ZXN0cy92YXIvbG9nL2d1aXgvZHJ2cy9pbC8v YmNnZ21jNngyczZnZmZsbDJrN2Ixcnl5dnIwcDNqLWdpdC0wLmRydi5iejIKQCBidWlsZC1zdWNj ZWVkZWQgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL2lsYmNnZ21jNngyczZnZmZsbDJrN2Ixcnl5dnIw cDNqLWdpdC0wLmRydiAtCkAgYnVpbGQtc3RhcnRlZCAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvM3Nr MnIxbmFpOGo3NzU5c2o3NmE3bnNpeWxmN2J5ZmktcHJvZmlsZS5kcnYgLSB4ODZfNjQtbGludXgg L3RtcC9ndWl4LXRlc3RzL3Zhci9sb2cvZ3VpeC9kcnZzLzNzLy9rMnIxbmFpOGo3NzU5c2o3NmE3 bnNpeWxmN2J5ZmktcHJvZmlsZS5kcnYuYnoyCkJhY2t0cmFjZToKSW4gaWNlLTkvYm9vdC05LnNj bToKIDE1NzogMTAgW2NhdGNoICN0ICM8Y2F0Y2gtY2xvc3VyZSBjOTFlMjA+IC4uLl0KSW4gdW5r bm93biBmaWxlOgogICA/OiA5IFthcHBseS1zbW9iLzEgIzxjYXRjaC1jbG9zdXJlIGM5MWUyMD5d CkluIGljZS05L2Jvb3QtOS5zY206CiAgNjM6IDggW2NhbGwtd2l0aC1wcm9tcHQgcHJvbXB0MCAu Li5dCkluIGljZS05L2V2YWwuc2NtOgogNDMyOiA3IFtldmFsICMgI10KSW4gaWNlLTkvYm9vdC05 LnNjbToKMjMyMDogNiBbc2F2ZS1tb2R1bGUtZXhjdXJzaW9uICM8cHJvY2VkdXJlIGNiZmIwMCBh dCBpY2UtOS9ib290LTkuc2NtOjM5NjE6MyAoKT5dCjM5NjY6IDUgWyM8cHJvY2VkdXJlIGNiZmIw MCBhdCBpY2UtOS9ib290LTkuc2NtOjM5NjE6MyAoKT5dCjE2NDU6IDQgWyVzdGFydC1zdGFjayBs b2FkLXN0YWNrICM8cHJvY2VkdXJlIGNjMGRhMCBhdCBpY2UtOS9ib290LTkuc2NtOjM5NTc6MTAg KCk+XQoxNjUwOiAzIFsjPHByb2NlZHVyZSBjYzZkYjAgKCk+XQpJbiB1bmtub3duIGZpbGU6CiAg ID86IDIgW3ByaW1pdGl2ZS1sb2FkICIvdG1wL2d1aXgtdGVzdHMvc3RvcmUvYjlmOGRjcjF4Z25m bmJybmgzanpiMm5rMDNsZmEyNHgtcHJvZmlsZS1idWlsZGVyIl0KSW4gaWNlLTkvZXZhbC5zY206 CiA0MzI6IDEgW2V2YWwgIyAoKV0KSW4gdW5rbm93biBmaWxlOgogICA/OiAwIFtzZXR2YnVmICM8 b3V0cHV0OiBmaWxlIDE+IGxpbmUgIzx1bmRlZmluZWQ+XQoKRVJST1I6IEluIHByb2NlZHVyZSBz ZXR2YnVmOgpFUlJPUjogV3JvbmcgdHlwZSAoZXhwZWN0aW5nIGV4YWN0IGludGVnZXIpOiBsaW5l CmJ1aWxkZXIgZm9yIGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvM3NrMnIxbmFpOGo3NzU5c2o3NmE3 bnNpeWxmN2J5ZmktcHJvZmlsZS5kcnYnIGZhaWxlZCB3aXRoIGV4aXQgY29kZSAxCkAgYnVpbGQt ZmFpbGVkIC90bXAvZ3VpeC10ZXN0cy9zdG9yZS8zc2sycjFuYWk4ajc3NTlzajc2YTduc2l5bGY3 YnlmaS1wcm9maWxlLmRydiAtIDEgYnVpbGRlciBmb3IgYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS8z c2sycjFuYWk4ajc3NTlzajc2YTduc2l5bGY3YnlmaS1wcm9maWxlLmRydicgZmFpbGVkIHdpdGgg ZXhpdCBjb2RlIDEKZXJyb3I6IHRoaXMtcGFja2FnZS1kb2VzLW5vdC1leGlzdDogdW5rbm93biBw YWNrYWdlCih1c2UtbW9kdWxlcyAoZ3VpeCBidWlsZCB1dGlscykpCisgICAgICAgICAgICAgICAg ICAgICAgKGxldCAoKG91dCAoYXNzb2MtcmVmICVvdXRwdXRzICJvdXQiKSkpCisgICAgICAgICAg ICAgICAgICAgICAgICAobWtkaXItcCAoc3RyaW5nLWFwcGVuZCBvdXQgIi9ldGMvc3NsL2NlcnRz IikpCisgICAgICAgICAgICAgICAgICAgICAgICAoY2FsbC13aXRoLW91dHB1dC1maWxlCisgICAg ICAgICAgICAgICAgICAgICAgICAgIChzdHJpbmctYXBwZW5kCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgb3V0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi9ldGMvc3NsL2NlcnRz L2NhLWNlcnRpZmljYXRlcy5jcnQiKQorICAgICAgICAgICAgICAgICAgICAgICAgICAoY29uc3Qg I3QpKSkpKSkpKQorICAgICAgICAgIChwMiAocGFja2FnZSAoaW5oZXJpdCBwMSkgKG5hbWUgImJh ciIpKSkKKyAgICAgICAgICAocDMgKGR1bW15LXBhY2thZ2UKKyAgICAgICAgICAgICAgICAiZ2l0 IgorICAgICAgICAgICAgICAgIChidWlsZC1zeXN0ZW0gdHJpdmlhbC1idWlsZC1zeXN0ZW0pCisg ICAgICAgICAgICAgICAgKGFyZ3VtZW50cworICAgICAgICAgICAgICAgICAgYCgjOmd1aWxlCisg ICAgICAgICAgICAgICAgICAgICwlYm9vdHN0cmFwLWd1aWxlCisgICAgICAgICAgICAgICAgICAg ICM6YnVpbGRlcgorICAgICAgICAgICAgICAgICAgICAobWtkaXIgKGFzc29jLXJlZiAlb3V0cHV0 cyAib3V0IikpKSkKKyAgICAgICAgICAgICAgICAobmF0aXZlLXNlYXJjaC1wYXRocworICAgICAg ICAgICAgICAgICAgKHBhY2thZ2UtbmF0aXZlLXNlYXJjaC1wYXRocyBnaXQpKSkpCisgICAgICAg ICAgKHByb2YxIChydW4td2l0aC1zdG9yZQorICAgICAgICAgICAgICAgICAgICVzdG9yZQorICAg ICAgICAgICAgICAgICAgIChwcm9maWxlLWRlcml2YXRpb24KKyAgICAgICAgICAgICAgICAgICAg IChwYWNrYWdlcy0+bWFuaWZlc3QgKGxpc3QgcDEgcDMpKQorICAgICAgICAgICAgICAgICAgICAg Izpob29rcworICAgICAgICAgICAgICAgICAgICAgJygpCisgICAgICAgICAgICAgICAgICAgICAj OmxvY2FsZXM/CisgICAgICAgICAgICAgICAgICAgICAjZikKKyAgICAgICAgICAgICAgICAgICAj Omd1aWxlLWZvci1idWlsZAorICAgICAgICAgICAgICAgICAgICglZ3VpbGUtZm9yLWJ1aWxkKSkp CisgICAgICAgICAgKHByb2YyIChydW4td2l0aC1zdG9yZQorICAgICAgICAgICAgICAgICAgICVz dG9yZQorICAgICAgICAgICAgICAgICAgIChwcm9maWxlLWRlcml2YXRpb24KKyAgICAgICAgICAg ICAgICAgICAgIChwYWNrYWdlcy0+bWFuaWZlc3QgKGxpc3QgcDIgcDMpKQorICAgICAgICAgICAg ICAgICAgICAgIzpob29rcworICAgICAgICAgICAgICAgICAgICAgJygpCisgICAgICAgICAgICAg ICAgICAgICAjOmxvY2FsZXM/CisgICAgICAgICAgICAgICAgICAgICAjZikKKyAgICAgICAgICAg ICAgICAgICAjOmd1aWxlLWZvci1idWlsZAorICAgICAgICAgICAgICAgICAgICglZ3VpbGUtZm9y LWJ1aWxkKSkpKQorICAgICAoYnVpbGQtZGVyaXZhdGlvbnMgJXN0b3JlIChsaXN0IHByb2YxIHBy b2YyKSkKKyAgICAgKHN0cmluZy1tYXRjaAorICAgICAgIChmb3JtYXQKKyAgICAgICAgICNmCisg ICAgICAgICAiXmV4cG9ydCBHSVRfU1NMX0NBSU5GTz1cIn5hL2V0Yy9zc2wvY2VydHMvY2EtY2Vy dGlmaWNhdGVzLmNydCIKKyAgICAgICAgIChyZWdleHAtcXVvdGUgKGRlcml2YXRpb24tPm91dHB1 dC1wYXRoIHByb2YxKSkpCisgICAgICAgKHdpdGgtb3V0cHV0LXRvLXN0cmluZworICAgICAgICAg KGxhbWJkYSAoKQorICAgICAgICAgICAoZ3VpeC1wYWNrYWdlCisgICAgICAgICAgICAgIi1wIgor ICAgICAgICAgICAgIChkZXJpdmF0aW9uLT5vdXRwdXQtcGF0aCBwcm9mMSkKKyAgICAgICAgICAg ICAiLXAiCisgICAgICAgICAgICAgKGRlcml2YXRpb24tPm91dHB1dC1wYXRoIHByb2YyKQorICAg ICAgICAgICAgICItLXNlYXJjaC1wYXRocyIpKSkpKSkKYWN0dWFsLXZhbHVlOiAjZgphY3R1YWwt ZXJyb3I6CisgKHNyZmktMzQKKyAgICM8Y29uZGl0aW9uICZuaXgtcHJvdG9jb2wtZXJyb3IgW21l c3NhZ2U6ICJidWlsZCBvZiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzNzazJyMW5haThqNzc1OXNq NzZhN25zaXlsZjdieWZpLXByb2ZpbGUuZHJ2JyBmYWlsZWQiIHN0YXR1czogMTAwXSAxZmY1M2Yw PikKcmVzdWx0OiBGQUlMCgp0ZXN0LW5hbWU6IHNwZWNpZmljYXRpb24tPnBhY2thZ2Ugd2hlbiBu b3QgZm91bmQKbG9jYXRpb246IC90bXAvZ3VpeC1idWlsZC1ndWl4LTAuMTMuMC0xMi4wYTE1NGMx Ky5kcnYtMC9zb3VyY2UvdGVzdHMvcGFja2FnZXMuc2NtOjEwNjYKc291cmNlOgorICh0ZXN0LWVx dWFsCisgICAic3BlY2lmaWNhdGlvbi0+cGFja2FnZSB3aGVuIG5vdCBmb3VuZCIKKyAgICdxdWl0 CisgICAoY2F0Y2ggJ3F1aXQKKyAgICAgICAgICAobGFtYmRhICgpCisgICAgICAgICAgICAoc3Bl Y2lmaWNhdGlvbi0+cGFja2FnZQorICAgICAgICAgICAgICAidGhpcy1wYWNrYWdlLWRvZXMtbm90 LWV4aXN0IikpCisgICAgICAgICAgKGxhbWJkYSAoa2V5IC4gYXJncykga2V5KSkpCmV4cGVjdGVk LXZhbHVlOiBxdWl0CmFjdHVhbC12YWx1ZTogcXVpdApyZXN1bHQ6IFBBU1MKCgpTS0lQOiB0ZXN0 cy9zbml4Cj09PT09PT09PT09PT09PT0KCnRlc3QtbmFtZTogZmFjdG9yaXplLXVyaQpsb2NhdGlv bjogL3RtcC9ndWl4LWJ1aWxkLWd1aXgtMC4xMy4wLTEyLjBhMTU0YzErLmRydi0wL3NvdXJjZS90 ZXN0cy9zbml4LnNjbTozNgpzb3VyY2U6CisgKHRlc3QtYXNzZXJ0CisgICAiZmFjdG9yaXplLXVy aSIKKyAgIChldmVyeT8KKyAgICAgKG1hdGNoLWxhbWJkYQorICAgICAgICgodXJpIHZlcnNpb24g Jy0+IGV4cGVjdGVkKQorICAgICAgICAoZXF1YWw/IChmYWN0b3JpemUtdXJpIHVyaSB2ZXJzaW9u KSBleHBlY3RlZCkpKQorICAgICAnKCgiaHR0cDovL2V4YW1wbGUuY29tL2Zvby50Z3oiCisgICAg ICAgICIxLjAiCisgICAgICAgIC0+CisgICAgICAgICJodHRwOi8vZXhhbXBsZS5jb20vZm9vLnRn eiIpCisgICAgICAgKCJodHRwOi8vZXhhbXBsZS5jb20vZm9vLTIuOC50Z3oiCisgICAgICAgICIy LjgiCisgICAgICAgIC0+CisgICAgICAgICgiaHR0cDovL2V4YW1wbGUuY29tL2Zvby0iIHZlcnNp b24gIi50Z3oiKSkKKyAgICAgICAoImh0dHA6Ly9leGFtcGxlLmNvbS8yLjgvZm9vLTIuOC50Z3oi CisgICAgICAgICIyLjgiCisgICAgICAgIC0+CisgICAgICAgICgiaHR0cDovL2V4YW1wbGUuY29t LyIKKyAgICAgICAgIHZlcnNpb24KKyAgICAgICAgICIvZm9vLSIKKyAgICAgICAgIHZlcnNpb24K KyAgICAgICAgICIudGd6IikpKSkpCmFjdHVhbC12YWx1ZTogI3QKcmVzdWx0OiBQQVNTCgp0ZXN0 LW5hbWU6IG5peHBrZ3MtPmd1aXgtcGFja2FnZQpsb2NhdGlvbjogL3RtcC9ndWl4LWJ1aWxkLWd1 aXgtMC4xMy4wLTEyLjBhMTU0YzErLmRydi0wL3NvdXJjZS90ZXN0cy9zbml4LnNjbTo1NApzb3Vy Y2U6CisgKHRlc3QtYXNzZXJ0CisgICAibml4cGtncy0+Z3VpeC1wYWNrYWdlIgorICAgKG1hdGNo IChuaXhwa2dzLT5ndWl4LXBhY2thZ2UKKyAgICAgICAgICAgICVuaXhwa2dzLWRpcmVjdG9yeQor ICAgICAgICAgICAgImd1aWxlIikKKyAgICAgICAgICAoKCdwYWNrYWdlCisgICAgICAgICAgICAo J25hbWUgImd1aWxlIikKKyAgICAgICAgICAgICgndmVyc2lvbiAoPyBzdHJpbmc/KSkKKyAgICAg ICAgICAgICgnc291cmNlICgnb3JpZ2luIF8gLi4uKSkKKyAgICAgICAgICAgICgnYnVpbGQtc3lz dGVtIF8pCisgICAgICAgICAgICAoJ2lucHV0cyAoJ3F1YXNpcXVvdGUgKGlucHV0cyAuLi4pKSkK KyAgICAgICAgICAgICgncHJvcGFnYXRlZC1pbnB1dHMgKCdxdWFzaXF1b3RlIChwaW5wdXRzIC4u LikpKQorICAgICAgICAgICAgKCdob21lLXBhZ2UgKD8gc3RyaW5nPykpCisgICAgICAgICAgICAo J3N5bm9wc2lzICg/IHN0cmluZz8pKQorICAgICAgICAgICAgKCdkZXNjcmlwdGlvbiAoPyBzdHJp bmc/KSkKKyAgICAgICAgICAgICgnbGljZW5zZSAoPyBzeW1ib2w/KSkpCisgICAgICAgICAgIChh bmQgKG1lbWJlciAnKCJsaWJmZmkiICxsaWJmZmkpIGlucHV0cykKKyAgICAgICAgICAgICAgICAo bWVtYmVyICcoImdtcCIgLGdtcCkgcGlucHV0cykKKyAgICAgICAgICAgICAgICAjdCkpCisgICAg ICAgICAgKHggKHBrICdmYWlsIHggI2YpKSkpCnJlc3VsdDogU0tJUAoKClNLSVA6IHRlc3RzL3Vu aW9uCj09PT09PT09PT09PT09PT09CgpyYW5kb20gc2VlZCBmb3IgdGVzdHM6IDE1MTIzMTkyMzcK QCBidWlsZC1zdGFydGVkIC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9xNjh3bXIybWlwNnl3NmtnN21s NnFmbjd5dm1seTE2Mi1tb2R1bGUtaW1wb3J0LmRydiAtIHg4Nl82NC1saW51eCAvdG1wL2d1aXgt dGVzdHMvdmFyL2xvZy9ndWl4L2RydnMvcTYvLzh3bXIybWlwNnl3NmtnN21sNnFmbjd5dm1seTE2 Mi1tb2R1bGUtaW1wb3J0LmRydi5iejIKQCBidWlsZC1zdWNjZWVkZWQgL3RtcC9ndWl4LXRlc3Rz L3N0b3JlL3E2OHdtcjJtaXA2eXc2a2c3bWw2cWZuN3l2bWx5MTYyLW1vZHVsZS1pbXBvcnQuZHJ2 IC0KQCBidWlsZC1zdGFydGVkIC90bXAvZ3VpeC10ZXN0cy9zdG9yZS94YnFkYWp6YzFxajJrZG00 anZqNXIxdm0zZ2N6Y3dhcC1vbmUuZHJ2IC0geDg2XzY0LWxpbnV4IC90bXAvZ3VpeC10ZXN0cy92 YXIvbG9nL2d1aXgvZHJ2cy94Yi8vcWRhanpjMXFqMmtkbTRqdmo1cjF2bTNnY3pjd2FwLW9uZS5k cnYuYnoyCkAgYnVpbGQtc3VjY2VlZGVkIC90bXAvZ3VpeC10ZXN0cy9zdG9yZS94YnFkYWp6YzFx ajJrZG00anZqNXIxdm0zZ2N6Y3dhcC1vbmUuZHJ2IC0KQCBidWlsZC1zdGFydGVkIC90bXAvZ3Vp eC10ZXN0cy9zdG9yZS93OGc1eWZyYmsxN3NoOHo4aTZ4ZjBhZmZteWsyZDI1ay1tb2R1bGUtaW1w b3J0LWNvbXBpbGVkLmRydiAtIHg4Nl82NC1saW51eCAvdG1wL2d1aXgtdGVzdHMvdmFyL2xvZy9n dWl4L2RydnMvdzgvL2c1eWZyYmsxN3NoOHo4aTZ4ZjBhZmZteWsyZDI1ay1tb2R1bGUtaW1wb3J0 LWNvbXBpbGVkLmRydi5iejIKQCBidWlsZC1zdWNjZWVkZWQgL3RtcC9ndWl4LXRlc3RzL3N0b3Jl L3c4ZzV5ZnJiazE3c2g4ejhpNnhmMGFmZm15azJkMjVrLW1vZHVsZS1pbXBvcnQtY29tcGlsZWQu ZHJ2IC0KQCBidWlsZC1zdGFydGVkIC90bXAvZ3VpeC10ZXN0cy9zdG9yZS84NzNqd3poODk3azd3 N2x5bmlhOHI1ajA2NnNnMDNhdi10d28uZHJ2IC0geDg2XzY0LWxpbnV4IC90bXAvZ3VpeC10ZXN0 cy92YXIvbG9nL2d1aXgvZHJ2cy84Ny8vM2p3emg4OTdrN3c3bHluaWE4cjVqMDY2c2cwM2F2LXR3 by5kcnYuYnoyCkAgYnVpbGQtc3VjY2VlZGVkIC90bXAvZ3VpeC10ZXN0cy9zdG9yZS84NzNqd3po ODk3azd3N2x5bmlhOHI1ajA2NnNnMDNhdi10d28uZHJ2IC0KQCBidWlsZC1zdGFydGVkIC90bXAv Z3VpeC10ZXN0cy9zdG9yZS81aXBxcGdjbWkzcDBoenI5bjhod2lxcDdqY2RjcGdnYy11bmlvbi1j b2xsaXNpb24tc3ltbGluay5kcnYgLSB4ODZfNjQtbGludXggL3RtcC9ndWl4LXRlc3RzL3Zhci9s b2cvZ3VpeC9kcnZzLzVpLy9wcXBnY21pM3AwaHpyOW44aHdpcXA3amNkY3BnZ2MtdW5pb24tY29s bGlzaW9uLXN5bWxpbmsuZHJ2LmJ6MgpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzkyY2QxOWYzY2Jo NXMzMzM4cnpjdmQ5NjdmYmoxbjZkLXR3by9iYXInIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUv YTY3NTczODk5bXlkaWFzankwMXJpMWFzOGtsajdkZ2ItdW5pb24tY29sbGlzaW9uLXN5bWxpbmsv YmFyJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzkyY2QxOWYzY2JoNXMzMzM4cnpjdmQ5NjdmYmox bjZkLXR3by9mb28vdHdvJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL2E2NzU3Mzg5OW15ZGlh c2p5MDFyaTFhczhrbGo3ZGdiLXVuaW9uLWNvbGxpc2lvbi1zeW1saW5rL2Zvby90d28nCmAvdG1w L2d1aXgtdGVzdHMvc3RvcmUvcDZqMjUwYTNwemt5bXN4YzRpNzQwdjc5cXM2YnYwZm4tb25lL2Zv by9vbmUnIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvYTY3NTczODk5bXlkaWFzankwMXJpMWFz OGtsajdkZ2ItdW5pb24tY29sbGlzaW9uLXN5bWxpbmsvZm9vL29uZScKQCBidWlsZC1zdWNjZWVk ZWQgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzVpcHFwZ2NtaTNwMGh6cjluOGh3aXFwN2pjZGNwZ2dj LXVuaW9uLWNvbGxpc2lvbi1zeW1saW5rLmRydiAtCnRlc3QtbmFtZTogdW5pb24tYnVpbGQgd2l0 aCBzeW1saW5rIHRvIGRpcmVjdG9yeQpsb2NhdGlvbjogL3RtcC9ndWl4LWJ1aWxkLWd1aXgtMC4x My4wLTEyLjBhMTU0YzErLmRydi0wL3NvdXJjZS90ZXN0cy91bmlvbi5zY206NDIKc291cmNlOgor ICh0ZXN0LWFzc2VydAorICAgInVuaW9uLWJ1aWxkIHdpdGggc3ltbGluayB0byBkaXJlY3Rvcnki CisgICAobGV0KiAoKG9uZSAoYnVpbGQtZXhwcmVzc2lvbi0+ZGVyaXZhdGlvbgorICAgICAgICAg ICAgICAgICAlc3RvcmUKKyAgICAgICAgICAgICAgICAgIm9uZSIKKyAgICAgICAgICAgICAgICAg JyhiZWdpbgorICAgICAgICAgICAgICAgICAgICAodXNlLW1vZHVsZXMgKGd1aXggYnVpbGQgdXRp bHMpIChzcmZpIHNyZmktMjYpKQorICAgICAgICAgICAgICAgICAgICAobGV0ICgoZm9vIChzdHJp bmctYXBwZW5kICVvdXRwdXQgIi9mb28iKSkpCisgICAgICAgICAgICAgICAgICAgICAgKG1rZGly LXAgZm9vKQorICAgICAgICAgICAgICAgICAgICAgIChjYWxsLXdpdGgtb3V0cHV0LWZpbGUKKyAg ICAgICAgICAgICAgICAgICAgICAgIChzdHJpbmctYXBwZW5kIGZvbyAiL29uZSIpCisgICAgICAg ICAgICAgICAgICAgICAgICAoY3V0IGRpc3BsYXkgIm9uZSIgPD4pKSkpCisgICAgICAgICAgICAg ICAgICM6bW9kdWxlcworICAgICAgICAgICAgICAgICAnKChndWl4IGJ1aWxkIHV0aWxzKSkpKQor ICAgICAgICAgICh0d28gKGJ1aWxkLWV4cHJlc3Npb24tPmRlcml2YXRpb24KKyAgICAgICAgICAg ICAgICAgJXN0b3JlCisgICAgICAgICAgICAgICAgICJ0d28iCisgICAgICAgICAgICAgICAgICco YmVnaW4KKyAgICAgICAgICAgICAgICAgICAgKHVzZS1tb2R1bGVzIChndWl4IGJ1aWxkIHV0aWxz KSAoc3JmaSBzcmZpLTI2KSkKKyAgICAgICAgICAgICAgICAgICAgKGxldCAoKGZvbyAoc3RyaW5n LWFwcGVuZCAlb3V0cHV0ICIvZm9vIikpCisgICAgICAgICAgICAgICAgICAgICAgICAgIChiYXIg KHN0cmluZy1hcHBlbmQgJW91dHB1dCAiL2JhciIpKSkKKyAgICAgICAgICAgICAgICAgICAgICAo bWtkaXItcCBiYXIpCisgICAgICAgICAgICAgICAgICAgICAgKGNhbGwtd2l0aC1vdXRwdXQtZmls ZQorICAgICAgICAgICAgICAgICAgICAgICAgKHN0cmluZy1hcHBlbmQgYmFyICIvdHdvIikKKyAg ICAgICAgICAgICAgICAgICAgICAgIChjdXQgZGlzcGxheSAidHdvIiA8PikpCisgICAgICAgICAg ICAgICAgICAgICAgKHN5bWxpbmsgImJhciIgZm9vKSkpCisgICAgICAgICAgICAgICAgICM6bW9k dWxlcworICAgICAgICAgICAgICAgICAnKChndWl4IGJ1aWxkIHV0aWxzKSkpKQorICAgICAgICAg IChidWlsZGVyCisgICAgICAgICAgICAnKGJlZ2luCisgICAgICAgICAgICAgICAodXNlLW1vZHVs ZXMgKGd1aXggYnVpbGQgdW5pb24pKQorICAgICAgICAgICAgICAgKHVuaW9uLWJ1aWxkCisgICAg ICAgICAgICAgICAgIChhc3NvYy1yZWYgJW91dHB1dHMgIm91dCIpCisgICAgICAgICAgICAgICAg IChsaXN0IChhc3NvYy1yZWYgJWJ1aWxkLWlucHV0cyAib25lIikKKyAgICAgICAgICAgICAgICAg ICAgICAgKGFzc29jLXJlZiAlYnVpbGQtaW5wdXRzICJ0d28iKSkpKSkKKyAgICAgICAgICAoZHJ2 IChidWlsZC1leHByZXNzaW9uLT5kZXJpdmF0aW9uCisgICAgICAgICAgICAgICAgICVzdG9yZQor ICAgICAgICAgICAgICAgICAidW5pb24tY29sbGlzaW9uLXN5bWxpbmsiCisgICAgICAgICAgICAg ICAgIGJ1aWxkZXIKKyAgICAgICAgICAgICAgICAgIzppbnB1dHMKKyAgICAgICAgICAgICAgICAg YCgoIm9uZSIgLG9uZSkgKCJ0d28iICx0d28pKQorICAgICAgICAgICAgICAgICAjOm1vZHVsZXMK KyAgICAgICAgICAgICAgICAgJygoZ3VpeCBidWlsZCB1bmlvbikpKSkpCisgICAgIChhbmQgKGJ1 aWxkLWRlcml2YXRpb25zICVzdG9yZSAobGlzdCBkcnYpKQorICAgICAgICAgICh3aXRoLWRpcmVj dG9yeS1leGN1cnNpb24KKyAgICAgICAgICAgIChwayAoZGVyaXZhdGlvbi0+b3V0cHV0LXBhdGgg ZHJ2KSkKKyAgICAgICAgICAgIChhbmQgKHN0cmluZz0/CisgICAgICAgICAgICAgICAgICAgIm9u ZSIKKyAgICAgICAgICAgICAgICAgICAoY2FsbC13aXRoLWlucHV0LWZpbGUgImZvby9vbmUiIGdl dC1zdHJpbmctYWxsKSkKKyAgICAgICAgICAgICAgICAgKHN0cmluZz0/CisgICAgICAgICAgICAg ICAgICAgInR3byIKKyAgICAgICAgICAgICAgICAgICAoY2FsbC13aXRoLWlucHV0LWZpbGUgImZv by90d28iIGdldC1zdHJpbmctYWxsKSkKKyAgICAgICAgICAgICAgICAgKHN0cmluZz0/CisgICAg ICAgICAgICAgICAgICAgInR3byIKKyAgICAgICAgICAgICAgICAgICAoY2FsbC13aXRoLWlucHV0 LWZpbGUgImJhci90d28iIGdldC1zdHJpbmctYWxsKSkKKyAgICAgICAgICAgICAgICAgKG5vdCAo ZmlsZS1leGlzdHM/ICJiYXIvb25lIikpKSkpKSkKCjs7OyAoIi90bXAvZ3VpeC10ZXN0cy9zdG9y ZS9hNjc1NzM4OTlteWRpYXNqeTAxcmkxYXM4a2xqN2RnYi11bmlvbi1jb2xsaXNpb24tc3ltbGlu ayIpCmFjdHVhbC12YWx1ZTogI3QKcmVzdWx0OiBQQVNTCgp0ZXN0LW5hbWU6IHVuaW9uLWJ1aWxk CmxvY2F0aW9uOiAvdG1wL2d1aXgtYnVpbGQtZ3VpeC0wLjEzLjAtMTIuMGExNTRjMSsuZHJ2LTAv c291cmNlL3Rlc3RzL3VuaW9uLnNjbTo5MQpzb3VyY2U6CisgKHRlc3QtYXNzZXJ0CisgICAidW5p b24tYnVpbGQiCisgICAobGV0KiAoKGlucHV0cworICAgICAgICAgICAgKG1hcCAobWF0Y2gtbGFt YmRhCisgICAgICAgICAgICAgICAgICAgKChuYW1lIHBhY2thZ2UpCisgICAgICAgICAgICAgICAg ICAgIGAoLG5hbWUgLChwYWNrYWdlLWRlcml2YXRpb24gJXN0b3JlIHBhY2thZ2UpKSkpCisgICAg ICAgICAgICAgICAgIChhcHBlbmQKKyAgICAgICAgICAgICAgICAgICAlYm9vdHN0cmFwLWlucHV0 cworICAgICAgICAgICAgICAgICAgICh0YWtlICVib290c3RyYXAtaW5wdXRzIDMpKSkpCisgICAg ICAgICAgKGJ1aWxkZXIKKyAgICAgICAgICAgIGAoYmVnaW4KKyAgICAgICAgICAgICAgICh1c2Ut bW9kdWxlcyAoZ3VpeCBidWlsZCB1bmlvbikpCisgICAgICAgICAgICAgICAodW5pb24tYnVpbGQK KyAgICAgICAgICAgICAgICAgKGFzc29jLXJlZiAlb3V0cHV0cyAib3V0IikKKyAgICAgICAgICAg ICAgICAgKG1hcCBjZHIgJWJ1aWxkLWlucHV0cykpKSkKKyAgICAgICAgICAoZHJ2IChidWlsZC1l eHByZXNzaW9uLT5kZXJpdmF0aW9uCisgICAgICAgICAgICAgICAgICVzdG9yZQorICAgICAgICAg ICAgICAgICAidW5pb24tdGVzdCIKKyAgICAgICAgICAgICAgICAgYnVpbGRlcgorICAgICAgICAg ICAgICAgICAjOmlucHV0cworICAgICAgICAgICAgICAgICBpbnB1dHMKKyAgICAgICAgICAgICAg ICAgIzptb2R1bGVzCisgICAgICAgICAgICAgICAgICcoKGd1aXggYnVpbGQgdW5pb24pKSkpKQor ICAgICAoYW5kIChidWlsZC1kZXJpdmF0aW9ucyAlc3RvcmUgKGxpc3QgKHBrICdkcnYgZHJ2KSkp CisgICAgICAgICAgKHdpdGgtZGlyZWN0b3J5LWV4Y3Vyc2lvbgorICAgICAgICAgICAgKGRlcml2 YXRpb24tPm91dHB1dC1wYXRoIGRydikKKyAgICAgICAgICAgIChhbmQgKGZpbGUtZXhpc3RzPyAi YmluL3RvdWNoIikKKyAgICAgICAgICAgICAgICAgKGZpbGUtZXhpc3RzPyAiYmluL2djYyIpCisg ICAgICAgICAgICAgICAgIChmaWxlLWV4aXN0cz8gImJpbi9sZCIpCisgICAgICAgICAgICAgICAg IChmaWxlLWV4aXN0cz8gImxpYi9saWJjLnNvIikKKyAgICAgICAgICAgICAgICAgKGRpcmVjdG9y eS1leGlzdHM/ICJsaWIvZ2NjIikKKyAgICAgICAgICAgICAgICAgKGZpbGUtZXhpc3RzPyAiaW5j bHVkZS91bmlzdGQuaCIpCisgICAgICAgICAgICAgICAgIChlcT8gJ3N5bWxpbmsgKHN0YXQ6dHlw ZSAobHN0YXQgImluY2x1ZGUvYysrIikpKQorICAgICAgICAgICAgICAgICAoZXE/ICdkaXJlY3Rv cnkgKHN0YXQ6dHlwZSAobHN0YXQgImJpbiIpKSkpKSkpKQpyZXN1bHQ6IFNLSVAKCnRlc3QtbmFt ZTogdW5pb24tYnVpbGQgIzpjcmVhdGUtYWxsLWRpcmVjdG9yaWVzPyAjdApsb2NhdGlvbjogQCBi dWlsZC1zdGFydGVkIC90bXAvZ3VpeC10ZXN0cy9zdG9yZS8wcTV6djFheHJiYnZzbXN3Y2pkem00 djFzbm5jaDRjZC11bmlvbi10ZXN0LWFsbC1kaXJzLmRydiAtIHg4Nl82NC1saW51eCAvdG1wL2d1 aXgtdGVzdHMvdmFyL2xvZy9ndWl4L2RydnMvMHEvLzV6djFheHJiYnZzbXN3Y2pkem00djFzbm5j aDRjZC11bmlvbi10ZXN0LWFsbC1kaXJzLmRydi5iejIKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83 eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL3NoYXJl L2d1aWxlLzIuMC9vb3AvZ29vcHMuc2NtJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNu emQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvc2hhcmUvZ3Vp bGUvMi4wL29vcC9nb29wcy5zY20nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFs cjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9zaGFyZS9ndWlsZS8yLjAv b29wL2dvb3BzL2Rpc3BhdGNoLnNjbScgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpk OTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL3NoYXJlL2d1aWxl LzIuMC9vb3AvZ29vcHMvZGlzcGF0Y2guc2NtJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4 bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvc2hhcmUvZ3Vp bGUvMi4wL29vcC9nb29wcy9hY2Nlc3NvcnMuc2NtJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3Jl L3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvc2hh cmUvZ3VpbGUvMi4wL29vcC9nb29wcy9hY2Nlc3NvcnMuc2NtJwpgL3RtcC9ndWl4LXRlc3RzL3N0 b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAv c2hhcmUvZ3VpbGUvMi4wL29vcC9nb29wcy9jb21wb3NpdGUtc2xvdC5zY20nIH4+IGAvdG1wL2d1 aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVz dC1hbGwtZGlycy9zaGFyZS9ndWlsZS8yLjAvb29wL2dvb3BzL2NvbXBvc2l0ZS1zbG90LnNjbScK YC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1n dWlsZS1ib290c3RyYXAtMi4wL3NoYXJlL2d1aWxlLzIuMC9vb3AvZ29vcHMvdXRpbC5zY20nIH4+ IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2Qt dW5pb24tdGVzdC1hbGwtZGlycy9zaGFyZS9ndWlsZS8yLjAvb29wL2dvb3BzL3V0aWwuc2NtJwpg L3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1 aWxlLWJvb3RzdHJhcC0yLjAvc2hhcmUvZ3VpbGUvMi4wL29vcC9nb29wcy9kZXNjcmliZS5zY20n IH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhz c2QtdW5pb24tdGVzdC1hbGwtZGlycy9zaGFyZS9ndWlsZS8yLjAvb29wL2dvb3BzL2Rlc2NyaWJl LnNjbScKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2 OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL3NoYXJlL2d1aWxlLzIuMC9vb3AvZ29vcHMvc2F2ZS5z Y20nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3 Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9zaGFyZS9ndWlsZS8yLjAvb29wL2dvb3BzL3NhdmUu c2NtJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5 MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvc2hhcmUvZ3VpbGUvMi4wL29vcC9nb29wcy9pbnRlcm5h bC5zY20nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBx MmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9zaGFyZS9ndWlsZS8yLjAvb29wL2dvb3BzL2lu dGVybmFsLnNjbScKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhs Y21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL3NoYXJlL2d1aWxlLzIuMC9vb3AvZ29vcHMv Y29tcGlsZS5zY20nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2 MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9zaGFyZS9ndWlsZS8yLjAvb29wL2dv b3BzL2NvbXBpbGUuc2NtJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5 YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvc2hhcmUvZ3VpbGUvMi4wL29vcC9n b29wcy9zaW1wbGUuc2NtJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZu bmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvc2hhcmUvZ3VpbGUvMi4wL29v cC9nb29wcy9zaW1wbGUuc2NtJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5 dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvc2hhcmUvZ3VpbGUvMi4wL29v cC9nb29wcy9zdGtsb3Muc2NtJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3 MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvc2hhcmUvZ3VpbGUvMi4w L29vcC9nb29wcy9zdGtsb3Muc2NtJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQx bHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvc2hhcmUvZ3VpbGUvMi4w L29vcC9nb29wcy9hY3RpdmUtc2xvdC5zY20nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2sy Y256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9zaGFyZS9n dWlsZS8yLjAvb29wL2dvb3BzL2FjdGl2ZS1zbG90LnNjbScKYC90bXAvZ3VpeC10ZXN0cy9zdG9y ZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL3No YXJlL2d1aWxlLzIuMC9zeXN0ZW0vYmFzZS9jay5zY20nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3Rv cmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9z aGFyZS9ndWlsZS8yLjAvc3lzdGVtL2Jhc2UvY2suc2NtJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3Jl Lzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvc2hh cmUvZ3VpbGUvMi4wL3N5c3RlbS9iYXNlL3BtYXRjaC5zY20nIH4+IGAvdG1wL2d1aXgtdGVzdHMv c3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGly cy9zaGFyZS9ndWlsZS8yLjAvc3lzdGVtL2Jhc2UvcG1hdGNoLnNjbScKYC90bXAvZ3VpeC10ZXN0 cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAt Mi4wL3NoYXJlL2d1aWxlLzIuMC9zeXN0ZW0vYmFzZS9sYWxyLnVwc3RyZWFtLnNjbScgfj4gYC90 bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlv bi10ZXN0LWFsbC1kaXJzL3NoYXJlL2d1aWxlLzIuMC9zeXN0ZW0vYmFzZS9sYWxyLnVwc3RyZWFt LnNjbScKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2 OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL3NoYXJlL2d1aWxlLzIuMC9zeXN0ZW0vYmFzZS9tZXNz YWdlLnNjbScgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1 MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL3NoYXJlL2d1aWxlLzIuMC9zeXN0ZW0vYmFz ZS9tZXNzYWdlLnNjbScKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJo aWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL3NoYXJlL2d1aWxlLzIuMC9zeXN0ZW0v YmFzZS90YXJnZXQuc2NtJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZu bmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvc2hhcmUvZ3VpbGUvMi4wL3N5 c3RlbS9iYXNlL3RhcmdldC5zY20nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFs cjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9zaGFyZS9ndWlsZS8yLjAv c3lzdGVtL2Jhc2UvbGFsci5zY20nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2 djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9zaGFyZS9ndWlsZS8y LjAvc3lzdGVtL2Jhc2UvbGFsci5zY20nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2 NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9zaGFyZS9ndWlsZS8y LjAvc3lzdGVtL2Jhc2UvY29tcGlsZS5zY20nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2sy Y256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9zaGFyZS9n dWlsZS8yLjAvc3lzdGVtL2Jhc2UvY29tcGlsZS5zY20nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUv N3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9zaGFy ZS9ndWlsZS8yLjAvc3lzdGVtL2Jhc2Uvc3ludGF4LnNjbScgfj4gYC90bXAvZ3VpeC10ZXN0cy9z dG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJz L3NoYXJlL2d1aWxlLzIuMC9zeXN0ZW0vYmFzZS9zeW50YXguc2NtJwpgL3RtcC9ndWl4LXRlc3Rz L3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0y LjAvc2hhcmUvZ3VpbGUvMi4wL3N5c3RlbS9iYXNlL2xhbmd1YWdlLnNjbScgfj4gYC90bXAvZ3Vp eC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0 LWFsbC1kaXJzL3NoYXJlL2d1aWxlLzIuMC9zeXN0ZW0vYmFzZS9sYW5ndWFnZS5zY20nCmAvdG1w L2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUt Ym9vdHN0cmFwLTIuMC9zaGFyZS9ndWlsZS8yLjAvc3lzdGVtL3ZtL3RyYXAtc3RhdGUuc2NtJyB+ PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3Nk LXVuaW9uLXRlc3QtYWxsLWRpcnMvc2hhcmUvZ3VpbGUvMi4wL3N5c3RlbS92bS90cmFwLXN0YXRl LnNjbScKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2 OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL3NoYXJlL2d1aWxlLzIuMC9zeXN0ZW0vdm0vdHJhY2Uu c2NtJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJj N2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvc2hhcmUvZ3VpbGUvMi4wL3N5c3RlbS92bS90cmFj ZS5zY20nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJp NjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9zaGFyZS9ndWlsZS8yLjAvc3lzdGVtL3ZtL3Byb2dy YW0uc2NtJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUw cTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvc2hhcmUvZ3VpbGUvMi4wL3N5c3RlbS92bS9w cm9ncmFtLnNjbScKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhs Y21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL3NoYXJlL2d1aWxlLzIuMC9zeXN0ZW0vdm0v b2JqY29kZS5zY20nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2 MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9zaGFyZS9ndWlsZS8yLjAvc3lzdGVt L3ZtL29iamNvZGUuc2NtJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5 YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvc2hhcmUvZ3VpbGUvMi4wL3N5c3Rl bS92bS9mcmFtZS5zY20nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5u aXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9zaGFyZS9ndWlsZS8yLjAvc3lz dGVtL3ZtL2ZyYW1lLnNjbScKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZp eWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL3NoYXJlL2d1aWxlLzIuMC9zeXN0 ZW0vdm0vdHJhcHMuc2NtJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZu bmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvc2hhcmUvZ3VpbGUvMi4wL3N5 c3RlbS92bS90cmFwcy5zY20nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2 aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9zaGFyZS9ndWlsZS8yLjAvc3lz dGVtL3ZtL3ZtLnNjbScgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5p czYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL3NoYXJlL2d1aWxlLzIuMC9zeXN0 ZW0vdm0vdm0uc2NtJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5Ymhp aGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvc2hhcmUvZ3VpbGUvMi4wL3N5c3RlbS92 bS9pbnN0cnVjdGlvbi5zY20nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcw Zm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9zaGFyZS9ndWlsZS8yLjAv c3lzdGVtL3ZtL2luc3RydWN0aW9uLnNjbScKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42 enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL3NoYXJlL2d1aWxl LzIuMC9zeXN0ZW0vdm0vY292ZXJhZ2Uuc2NtJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3Nr MmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvc2hhcmUv Z3VpbGUvMi4wL3N5c3RlbS92bS9jb3ZlcmFnZS5zY20nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUv N3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9zaGFy ZS9ndWlsZS8yLjAvc3lzdGVtL3ZtL2luc3BlY3Quc2NtJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0 b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMv c2hhcmUvZ3VpbGUvMi4wL3N5c3RlbS92bS9pbnNwZWN0LnNjbScKYC90bXAvZ3VpeC10ZXN0cy9z dG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4w L3NoYXJlL2d1aWxlLzIuMC9zeXN0ZW0veHJlZi5zY20nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3Rv cmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9z aGFyZS9ndWlsZS8yLjAvc3lzdGVtL3hyZWYuc2NtJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5 MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvc2hhcmUv Z3VpbGUvMi4wL3N5c3RlbS9yZXBsL3JlcGwuc2NtJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3Jl L3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvc2hh cmUvZ3VpbGUvMi4wL3N5c3RlbS9yZXBsL3JlcGwuc2NtJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3Jl Lzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvc2hh cmUvZ3VpbGUvMi4wL3N5c3RlbS9yZXBsL2Vycm9yLWhhbmRsaW5nLnNjbScgfj4gYC90bXAvZ3Vp eC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0 LWFsbC1kaXJzL3NoYXJlL2d1aWxlLzIuMC9zeXN0ZW0vcmVwbC9lcnJvci1oYW5kbGluZy5zY20n CmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYt Z3VpbGUtYm9vdHN0cmFwLTIuMC9zaGFyZS9ndWlsZS8yLjAvc3lzdGVtL3JlcGwvZGVzY3JpYmUu c2NtJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJj N2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvc2hhcmUvZ3VpbGUvMi4wL3N5c3RlbS9yZXBsL2Rl c2NyaWJlLnNjbScKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhs Y21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL3NoYXJlL2d1aWxlLzIuMC9zeXN0ZW0vcmVw bC9jb21tYW5kLnNjbScgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5p czYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL3NoYXJlL2d1aWxlLzIuMC9zeXN0 ZW0vcmVwbC9jb21tYW5kLnNjbScKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxy OXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL3NoYXJlL2d1aWxlLzIuMC9z eXN0ZW0vcmVwbC9kZWJ1Zy5zY20nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2 djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9zaGFyZS9ndWlsZS8y LjAvc3lzdGVtL3JlcGwvZGVidWcuc2NtJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6 djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvc2hhcmUvZ3VpbGUv Mi4wL3N5c3RlbS9yZXBsL3NlcnZlci5zY20nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2sy Y256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9zaGFyZS9n dWlsZS8yLjAvc3lzdGVtL3JlcGwvc2VydmVyLnNjbScKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83 eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL3NoYXJl L2d1aWxlLzIuMC9zeXN0ZW0vcmVwbC9jb21tb24uc2NtJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0 b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMv c2hhcmUvZ3VpbGUvMi4wL3N5c3RlbS9yZXBsL2NvbW1vbi5zY20nCmAvdG1wL2d1aXgtdGVzdHMv c3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIu MC9zaGFyZS9ndWlsZS8yLjAvc3lzdGVtL2ZvcmVpZ24uc2NtJyB+PiBgL3RtcC9ndWl4LXRlc3Rz L3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRp cnMvc2hhcmUvZ3VpbGUvMi4wL3N5c3RlbS9mb3JlaWduLnNjbScKYC90bXAvZ3VpeC10ZXN0cy9z dG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4w L3NoYXJlL2d1aWxlLzIuMC9zeG1sL3hwYXRoLnNjbScgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9y ZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL3No YXJlL2d1aWxlLzIuMC9zeG1sL3hwYXRoLnNjbScKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBx OG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL3NoYXJlL2d1 aWxlLzIuMC9zeG1sL3Vwc3RyZWFtL1NYUGF0aC1vbGQuc2NtJyB+PiBgL3RtcC9ndWl4LXRlc3Rz L3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRp cnMvc2hhcmUvZ3VpbGUvMi4wL3N4bWwvdXBzdHJlYW0vU1hQYXRoLW9sZC5zY20nCmAvdG1wL2d1 aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9v dHN0cmFwLTIuMC9zaGFyZS9ndWlsZS8yLjAvc3htbC91cHN0cmVhbS9pbnB1dC1wYXJzZS5zY20n IH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhz c2QtdW5pb24tdGVzdC1hbGwtZGlycy9zaGFyZS9ndWlsZS8yLjAvc3htbC91cHN0cmVhbS9pbnB1 dC1wYXJzZS5zY20nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlo bGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9zaGFyZS9ndWlsZS8yLjAvc3htbC91cHN0 cmVhbS9hc3NlcnQuc2NtJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZu bmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvc2hhcmUvZ3VpbGUvMi4wL3N4 bWwvdXBzdHJlYW0vYXNzZXJ0LnNjbScKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0 MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL3NoYXJlL2d1aWxlLzIu MC9zeG1sL3Vwc3RyZWFtL1NYTUwtdHJlZS10cmFucy5zY20nIH4+IGAvdG1wL2d1aXgtdGVzdHMv c3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGly cy9zaGFyZS9ndWlsZS8yLjAvc3htbC91cHN0cmVhbS9TWE1MLXRyZWUtdHJhbnMuc2NtJwpgL3Rt cC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxl LWJvb3RzdHJhcC0yLjAvc2hhcmUvZ3VpbGUvMi4wL3N4bWwvdXBzdHJlYW0vU1NBWC5zY20nIH4+ IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2Qt dW5pb24tdGVzdC1hbGwtZGlycy9zaGFyZS9ndWlsZS8yLjAvc3htbC91cHN0cmVhbS9TU0FYLnNj bScKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5 Zi1ndWlsZS1ib290c3RyYXAtMi4wL3NoYXJlL2d1aWxlLzIuMC9zeG1sL2ZvbGQuc2NtJyB+PiBg L3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVu aW9uLXRlc3QtYWxsLWRpcnMvc2hhcmUvZ3VpbGUvMi4wL3N4bWwvZm9sZC5zY20nCmAvdG1wL2d1 aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9v dHN0cmFwLTIuMC9zaGFyZS9ndWlsZS8yLjAvc3htbC90cmFuc2Zvcm0uc2NtJyB+PiBgL3RtcC9n dWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRl c3QtYWxsLWRpcnMvc2hhcmUvZ3VpbGUvMi4wL3N4bWwvdHJhbnNmb3JtLnNjbScKYC90bXAvZ3Vp eC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290 c3RyYXAtMi4wL3NoYXJlL2d1aWxlLzIuMC9zeG1sL3NzYXgvaW5wdXQtcGFyc2Uuc2NtJyB+PiBg L3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVu aW9uLXRlc3QtYWxsLWRpcnMvc2hhcmUvZ3VpbGUvMi4wL3N4bWwvc3NheC9pbnB1dC1wYXJzZS5z Y20nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkz OWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9zaGFyZS9ndWlsZS8yLjAvc3htbC9zaW1wbGUuc2NtJyB+ PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3Nk LXVuaW9uLXRlc3QtYWxsLWRpcnMvc2hhcmUvZ3VpbGUvMi4wL3N4bWwvc2ltcGxlLnNjbScKYC90 bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWls ZS1ib290c3RyYXAtMi4wL3NoYXJlL2d1aWxlLzIuMC9zeG1sL3N4bWwtbWF0Y2guc3MnIH4+IGAv dG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5p b24tdGVzdC1hbGwtZGlycy9zaGFyZS9ndWlsZS8yLjAvc3htbC9zeG1sLW1hdGNoLnNzJwpgL3Rt cC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxl LWJvb3RzdHJhcC0yLjAvc2hhcmUvZ3VpbGUvMi4wL3N4bWwvbWF0Y2guc2NtJyB+PiBgL3RtcC9n dWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRl c3QtYWxsLWRpcnMvc2hhcmUvZ3VpbGUvMi4wL3N4bWwvbWF0Y2guc2NtJwpgL3RtcC9ndWl4LXRl c3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJh cC0yLjAvc2hhcmUvZ3VpbGUvMi4wL3N4bWwvYXBwbHktdGVtcGxhdGVzLnNjbScgfj4gYC90bXAv Z3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10 ZXN0LWFsbC1kaXJzL3NoYXJlL2d1aWxlLzIuMC9zeG1sL2FwcGx5LXRlbXBsYXRlcy5zY20nCmAv dG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3Vp bGUtYm9vdHN0cmFwLTIuMC9zaGFyZS9ndWlsZS8yLjAvc3htbC9zc2F4LnNjbScgfj4gYC90bXAv Z3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10 ZXN0LWFsbC1kaXJzL3NoYXJlL2d1aWxlLzIuMC9zeG1sL3NzYXguc2NtJwpgL3RtcC9ndWl4LXRl c3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJh cC0yLjAvc2hhcmUvZ3VpbGUvMi4wL3RleGluZm8uc2NtJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0 b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMv c2hhcmUvZ3VpbGUvMi4wL3RleGluZm8uc2NtJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4 bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvc2hhcmUvZ3Vp bGUvMi4wL2ljZS05L3NjbS1zdHlsZS1yZXBsLnNjbScgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9y ZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL3No YXJlL2d1aWxlLzIuMC9pY2UtOS9zY20tc3R5bGUtcmVwbC5zY20nCmAvdG1wL2d1aXgtdGVzdHMv c3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIu MC9zaGFyZS9ndWlsZS8yLjAvaWNlLTkvY29udHJvbC5zY20nIH4+IGAvdG1wL2d1aXgtdGVzdHMv c3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGly cy9zaGFyZS9ndWlsZS8yLjAvaWNlLTkvY29udHJvbC5zY20nCmAvdG1wL2d1aXgtdGVzdHMvc3Rv cmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9z aGFyZS9ndWlsZS8yLjAvaWNlLTkvcG9sbC5zY20nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUv c2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9zaGFy ZS9ndWlsZS8yLjAvaWNlLTkvcG9sbC5zY20nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThu Nnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9zaGFyZS9ndWls ZS8yLjAvaWNlLTkvYW5kLWxldC1zdGFyLnNjbScgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9z azJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL3NoYXJl L2d1aWxlLzIuMC9pY2UtOS9hbmQtbGV0LXN0YXIuc2NtJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3Jl Lzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvc2hh cmUvZ3VpbGUvMi4wL2ljZS05L2NoYW5uZWwuc2NtJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3Jl L3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvc2hh cmUvZ3VpbGUvMi4wL2ljZS05L2NoYW5uZWwuc2NtJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5 MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvc2hhcmUv Z3VpbGUvMi4wL2ljZS05L3NhdmUtc3RhY2suc2NtJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3Jl L3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvc2hh cmUvZ3VpbGUvMi4wL2ljZS05L3NhdmUtc3RhY2suc2NtJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3Jl Lzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvc2hh cmUvZ3VpbGUvMi4wL2ljZS05L3N0cmluZy1mdW4uc2NtJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0 b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMv c2hhcmUvZ3VpbGUvMi4wL2ljZS05L3N0cmluZy1mdW4uc2NtJwpgL3RtcC9ndWl4LXRlc3RzL3N0 b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAv c2hhcmUvZ3VpbGUvMi4wL2ljZS05L2NhbGxpbmcuc2NtJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0 b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMv c2hhcmUvZ3VpbGUvMi4wL2ljZS05L2NhbGxpbmcuc2NtJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3Jl Lzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvc2hh cmUvZ3VpbGUvMi4wL2ljZS05L3RocmVhZHMuc2NtJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3Jl L3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvc2hh cmUvZ3VpbGUvMi4wL2ljZS05L3RocmVhZHMuc2NtJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5 MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvc2hhcmUv Z3VpbGUvMi4wL2ljZS05L3I0cnMuc2NtJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNu emQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvc2hhcmUvZ3Vp bGUvMi4wL2ljZS05L3I0cnMuc2NtJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQx bHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvc2hhcmUvZ3VpbGUvMi4w L2ljZS05L3JkZWxpbS5zY20nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcw Zm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9zaGFyZS9ndWlsZS8yLjAv aWNlLTkvcmRlbGltLnNjbScKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZp eWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL3NoYXJlL2d1aWxlLzIuMC9pY2Ut OS9saW5laW8uc2NtJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlz NjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvc2hhcmUvZ3VpbGUvMi4wL2ljZS05 L2xpbmVpby5zY20nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlo bGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9zaGFyZS9ndWlsZS8yLjAvaWNlLTkvcmVh ZGxpbmUuc2NtJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBp cjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvc2hhcmUvZ3VpbGUvMi4wL2ljZS05L3Jl YWRsaW5lLnNjbScKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhs Y21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL3NoYXJlL2d1aWxlLzIuMC9pY2UtOS9saXN0 LnNjbScgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEy YzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL3NoYXJlL2d1aWxlLzIuMC9pY2UtOS9saXN0LnNj bScKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5 Zi1ndWlsZS1ib290c3RyYXAtMi4wL3NoYXJlL2d1aWxlLzIuMC9pY2UtOS9xdWFzaXN5bnRheC5z Y20nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3 Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9zaGFyZS9ndWlsZS8yLjAvaWNlLTkvcXVhc2lzeW50 YXguc2NtJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhy aTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvc2hhcmUvZ3VpbGUvMi4wL2ljZS05L3dlYWstdmVj dG9yLnNjbScgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1 MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL3NoYXJlL2d1aWxlLzIuMC9pY2UtOS93ZWFr LXZlY3Rvci5zY20nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlo bGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9zaGFyZS9ndWlsZS8yLjAvaWNlLTkvdG9w LXJlcGwuc2NtJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBp cjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvc2hhcmUvZ3VpbGUvMi4wL2ljZS05L3Rv cC1yZXBsLnNjbScKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhs Y21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL3NoYXJlL2d1aWxlLzIuMC9pY2UtOS9nZXRv cHQtbG9uZy5zY20nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2 MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9zaGFyZS9ndWlsZS8yLjAvaWNlLTkv Z2V0b3B0LWxvbmcuc2NtJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5 YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvc2hhcmUvZ3VpbGUvMi4wL2ljZS05 L2V2YWwuc2NtJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBp cjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvc2hhcmUvZ3VpbGUvMi4wL2ljZS05L2V2 YWwuc2NtJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhy aTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvc2hhcmUvZ3VpbGUvMi4wL2ljZS05L2Z1dHVyZXMu c2NtJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJj N2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvc2hhcmUvZ3VpbGUvMi4wL2ljZS05L2Z1dHVyZXMu c2NtJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5 MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvc2hhcmUvZ3VpbGUvMi4wL2ljZS05L3N0cmVhbXMuc2Nt JyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Jo c3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvc2hhcmUvZ3VpbGUvMi4wL2ljZS05L3N0cmVhbXMuc2Nt JwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5Mzlm LWd1aWxlLWJvb3RzdHJhcC0yLjAvc2hhcmUvZ3VpbGUvMi4wL2ljZS05L25ldHdvcmtpbmcuc2Nt JyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Jo c3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvc2hhcmUvZ3VpbGUvMi4wL2ljZS05L25ldHdvcmtpbmcu c2NtJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5 MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvc2hhcmUvZ3VpbGUvMi4wL2ljZS05L3I2cnMtbGlicmFy aWVzLnNjbScgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1 MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL3NoYXJlL2d1aWxlLzIuMC9pY2UtOS9yNnJz LWxpYnJhcmllcy5zY20nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXli aGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9zaGFyZS9ndWlsZS8yLjAvaWNlLTkv cG9lLnNjbScgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1 MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL3NoYXJlL2d1aWxlLzIuMC9pY2UtOS9wb2Uu c2NtJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5 MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvc2hhcmUvZ3VpbGUvMi4wL2ljZS05L21hcHBpbmcuc2Nt JyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Jo c3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvc2hhcmUvZ3VpbGUvMi4wL2ljZS05L21hcHBpbmcuc2Nt JwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5Mzlm LWd1aWxlLWJvb3RzdHJhcC0yLjAvc2hhcmUvZ3VpbGUvMi4wL2ljZS05L2Jvb3QtOS5zY20nIH4+ IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2Qt dW5pb24tdGVzdC1hbGwtZGlycy9zaGFyZS9ndWlsZS8yLjAvaWNlLTkvYm9vdC05LnNjbScKYC90 bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWls ZS1ib290c3RyYXAtMi4wL3NoYXJlL2d1aWxlLzIuMC9pY2UtOS9vcHRhcmdzLnNjbScgfj4gYC90 bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlv bi10ZXN0LWFsbC1kaXJzL3NoYXJlL2d1aWxlLzIuMC9pY2UtOS9vcHRhcmdzLnNjbScKYC90bXAv Z3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1i b290c3RyYXAtMi4wL3NoYXJlL2d1aWxlLzIuMC9pY2UtOS9yZWNlaXZlLnNjbScgfj4gYC90bXAv Z3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10 ZXN0LWFsbC1kaXJzL3NoYXJlL2d1aWxlLzIuMC9pY2UtOS9yZWNlaXZlLnNjbScKYC90bXAvZ3Vp eC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290 c3RyYXAtMi4wL3NoYXJlL2d1aWxlLzIuMC9pY2UtOS9jb21tb24tbGlzdC5zY20nIH4+IGAvdG1w L2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24t dGVzdC1hbGwtZGlycy9zaGFyZS9ndWlsZS8yLjAvaWNlLTkvY29tbW9uLWxpc3Quc2NtJwpgL3Rt cC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxl LWJvb3RzdHJhcC0yLjAvc2hhcmUvZ3VpbGUvMi4wL2ljZS05L3Euc2NtJyB+PiBgL3RtcC9ndWl4 LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3Qt YWxsLWRpcnMvc2hhcmUvZ3VpbGUvMi4wL2ljZS05L3Euc2NtJwpgL3RtcC9ndWl4LXRlc3RzL3N0 b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAv c2hhcmUvZ3VpbGUvMi4wL2ljZS05L2RlcHJlY2F0ZWQuc2NtJyB+PiBgL3RtcC9ndWl4LXRlc3Rz L3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRp cnMvc2hhcmUvZ3VpbGUvMi4wL2ljZS05L2RlcHJlY2F0ZWQuc2NtJwpgL3RtcC9ndWl4LXRlc3Rz L3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0y LjAvc2hhcmUvZ3VpbGUvMi4wL2ljZS05L3NhZmUuc2NtJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0 b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMv c2hhcmUvZ3VpbGUvMi4wL2ljZS05L3NhZmUuc2NtJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5 MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvc2hhcmUv Z3VpbGUvMi4wL2ljZS05L2kxOG4uc2NtJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNu emQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvc2hhcmUvZ3Vp bGUvMi4wL2ljZS05L2kxOG4uc2NtJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQx bHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvc2hhcmUvZ3VpbGUvMi4w L2ljZS05L2Zvcm1hdC5zY20nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcw Zm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9zaGFyZS9ndWlsZS8yLjAv aWNlLTkvZm9ybWF0LnNjbScKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZp eWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL3NoYXJlL2d1aWxlLzIuMC9pY2Ut OS9nYXAtYnVmZmVyLnNjbScgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBm bm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL3NoYXJlL2d1aWxlLzIuMC9p Y2UtOS9nYXAtYnVmZmVyLnNjbScKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxy OXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL3NoYXJlL2d1aWxlLzIuMC9p Y2UtOS9zZXJpYWxpemUuc2NtJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3 MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvc2hhcmUvZ3VpbGUvMi4w L2ljZS05L3NlcmlhbGl6ZS5zY20nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFs cjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9zaGFyZS9ndWlsZS8yLjAv aWNlLTkvZnR3LnNjbScgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5p czYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL3NoYXJlL2d1aWxlLzIuMC9pY2Ut OS9mdHcuc2NtJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxj bWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvc2hhcmUvZ3VpbGUvMi4wL2ljZS05L3Nlc3Np b24uc2NtJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUw cTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvc2hhcmUvZ3VpbGUvMi4wL2ljZS05L3Nlc3Np b24uc2NtJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhy aTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvc2hhcmUvZ3VpbGUvMi4wL2ljZS05L2hjb25zLnNj bScgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdi aHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL3NoYXJlL2d1aWxlLzIuMC9pY2UtOS9oY29ucy5zY20n CmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYt Z3VpbGUtYm9vdHN0cmFwLTIuMC9zaGFyZS9ndWlsZS8yLjAvaWNlLTkvcnVucS5zY20nIH4+IGAv dG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5p b24tdGVzdC1hbGwtZGlycy9zaGFyZS9ndWlsZS8yLjAvaWNlLTkvcnVucS5zY20nCmAvdG1wL2d1 aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9v dHN0cmFwLTIuMC9zaGFyZS9ndWlsZS8yLjAvaWNlLTkvcHJldHR5LXByaW50LnNjbScgfj4gYC90 bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlv bi10ZXN0LWFsbC1kaXJzL3NoYXJlL2d1aWxlLzIuMC9pY2UtOS9wcmV0dHktcHJpbnQuc2NtJwpg L3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1 aWxlLWJvb3RzdHJhcC0yLjAvc2hhcmUvZ3VpbGUvMi4wL2ljZS05L3I1cnMuc2NtJyB+PiBgL3Rt cC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9u LXRlc3QtYWxsLWRpcnMvc2hhcmUvZ3VpbGUvMi4wL2ljZS05L3I1cnMuc2NtJwpgL3RtcC9ndWl4 LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3Rz dHJhcC0yLjAvc2hhcmUvZ3VpbGUvMi4wL2ljZS05L2N1cnJpZWQtZGVmaW5pdGlvbnMuc2NtJyB+ PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3Nk LXVuaW9uLXRlc3QtYWxsLWRpcnMvc2hhcmUvZ3VpbGUvMi4wL2ljZS05L2N1cnJpZWQtZGVmaW5p dGlvbnMuc2NtJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxj bWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvc2hhcmUvZ3VpbGUvMi4wL2ljZS05L3Bvc2l4 LnNjbScgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEy YzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL3NoYXJlL2d1aWxlLzIuMC9pY2UtOS9wb3NpeC5z Y20nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkz OWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9zaGFyZS9ndWlsZS8yLjAvaWNlLTkvcHN5bnRheC1wcC5z Y20nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3 Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9zaGFyZS9ndWlsZS8yLjAvaWNlLTkvcHN5bnRheC1w cC5zY20nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJp NjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9zaGFyZS9ndWlsZS8yLjAvaWNlLTkvbWF0Y2guc2Nt JyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Jo c3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvc2hhcmUvZ3VpbGUvMi4wL2ljZS05L21hdGNoLnNjbScK YC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1n dWlsZS1ib290c3RyYXAtMi4wL3NoYXJlL2d1aWxlLzIuMC9pY2UtOS9idWZmZXJlZC1pbnB1dC5z Y20nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3 Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9zaGFyZS9ndWlsZS8yLjAvaWNlLTkvYnVmZmVyZWQt aW5wdXQuc2NtJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxj bWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvc2hhcmUvZ3VpbGUvMi4wL2ljZS05L3BzeW50 YXguc2NtJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUw cTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvc2hhcmUvZ3VpbGUvMi4wL2ljZS05L3BzeW50 YXguc2NtJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhy aTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvc2hhcmUvZ3VpbGUvMi4wL2ljZS05L21hdGNoLnVw c3RyZWFtLnNjbScgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYw aXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL3NoYXJlL2d1aWxlLzIuMC9pY2UtOS9t YXRjaC51cHN0cmVhbS5zY20nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2 aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9zaGFyZS9ndWlsZS8yLjAvaWNl LTkvdGltZS5zY20nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2 MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9zaGFyZS9ndWlsZS8yLjAvaWNlLTkv dGltZS5zY20nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNt aHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9zaGFyZS9ndWlsZS8yLjAvaWNlLTkvYmluYXJ5 LXBvcnRzLnNjbScgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYw aXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL3NoYXJlL2d1aWxlLzIuMC9pY2UtOS9i aW5hcnktcG9ydHMuc2NtJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5 YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvc2hhcmUvZ3VpbGUvMi4wL2ljZS05 L3JlZ2V4LnNjbScgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYw aXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL3NoYXJlL2d1aWxlLzIuMC9pY2UtOS9y ZWdleC5zY20nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNt aHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9zaGFyZS9ndWlsZS8yLjAvaWNlLTkvbHMuc2Nt JyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Jo c3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvc2hhcmUvZ3VpbGUvMi4wL2ljZS05L2xzLnNjbScKYC90 bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWls ZS1ib290c3RyYXAtMi4wL3NoYXJlL2d1aWxlLzIuMC9pY2UtOS9ydy5zY20nIH4+IGAvdG1wL2d1 aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVz dC1hbGwtZGlycy9zaGFyZS9ndWlsZS8yLjAvaWNlLTkvcncuc2NtJwpgL3RtcC9ndWl4LXRlc3Rz L3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0y LjAvc2hhcmUvZ3VpbGUvMi4wL2ljZS05L2RvY3VtZW50YXRpb24uc2NtJyB+PiBgL3RtcC9ndWl4 LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3Qt YWxsLWRpcnMvc2hhcmUvZ3VpbGUvMi4wL2ljZS05L2RvY3VtZW50YXRpb24uc2NtJwpgL3RtcC9n dWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJv b3RzdHJhcC0yLjAvc2hhcmUvZ3VpbGUvMi4wL2ljZS05L2xvY2FsLWV2YWwuc2NtJyB+PiBgL3Rt cC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9u LXRlc3QtYWxsLWRpcnMvc2hhcmUvZ3VpbGUvMi4wL2ljZS05L2xvY2FsLWV2YWwuc2NtJwpgL3Rt cC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxl LWJvb3RzdHJhcC0yLjAvc2hhcmUvZ3VpbGUvMi4wL2ljZS05L2ljb252LnNjbScgfj4gYC90bXAv Z3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10 ZXN0LWFsbC1kaXJzL3NoYXJlL2d1aWxlLzIuMC9pY2UtOS9pY29udi5zY20nCmAvdG1wL2d1aXgt dGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0 cmFwLTIuMC9zaGFyZS9ndWlsZS8yLjAvaWNlLTkvaGlzdG9yeS5zY20nIH4+IGAvdG1wL2d1aXgt dGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1h bGwtZGlycy9zaGFyZS9ndWlsZS8yLjAvaWNlLTkvaGlzdG9yeS5zY20nCmAvdG1wL2d1aXgtdGVz dHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFw LTIuMC9zaGFyZS9ndWlsZS8yLjAvaWNlLTkvZXhwZWN0LnNjbScgfj4gYC90bXAvZ3VpeC10ZXN0 cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1k aXJzL3NoYXJlL2d1aWxlLzIuMC9pY2UtOS9leHBlY3Quc2NtJwpgL3RtcC9ndWl4LXRlc3RzL3N0 b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAv c2hhcmUvZ3VpbGUvMi4wL2ljZS05L2NvbW1hbmQtbGluZS5zY20nIH4+IGAvdG1wL2d1aXgtdGVz dHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwt ZGlycy9zaGFyZS9ndWlsZS8yLjAvaWNlLTkvY29tbWFuZC1saW5lLnNjbScKYC90bXAvZ3VpeC10 ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3Ry YXAtMi4wL3NoYXJlL2d1aWxlLzIuMC9pY2UtOS9zeW5jYXNlLnNjbScgfj4gYC90bXAvZ3VpeC10 ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFs bC1kaXJzL3NoYXJlL2d1aWxlLzIuMC9pY2UtOS9zeW5jYXNlLnNjbScKYC90bXAvZ3VpeC10ZXN0 cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAt Mi4wL3NoYXJlL2d1aWxlLzIuMC9pY2UtOS9zbGliLnNjbScgfj4gYC90bXAvZ3VpeC10ZXN0cy9z dG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJz L3NoYXJlL2d1aWxlLzIuMC9pY2UtOS9zbGliLnNjbScKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83 eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL3NoYXJl L2d1aWxlLzIuMC9pY2UtOS9zdGFjay1jYXRjaC5zY20nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3Rv cmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9z aGFyZS9ndWlsZS8yLjAvaWNlLTkvc3RhY2stY2F0Y2guc2NtJwpgL3RtcC9ndWl4LXRlc3RzL3N0 b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAv c2hhcmUvZ3VpbGUvMi4wL2ljZS05L29jY2FtLWNoYW5uZWwuc2NtJyB+PiBgL3RtcC9ndWl4LXRl c3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxs LWRpcnMvc2hhcmUvZ3VpbGUvMi4wL2ljZS05L29jY2FtLWNoYW5uZWwuc2NtJwpgL3RtcC9ndWl4 LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3Rz dHJhcC0yLjAvc2hhcmUvZ3VpbGUvMi4wL2ljZS05L251bGwuc2NtJyB+PiBgL3RtcC9ndWl4LXRl c3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxs LWRpcnMvc2hhcmUvZ3VpbGUvMi4wL2ljZS05L251bGwuc2NtJwpgL3RtcC9ndWl4LXRlc3RzL3N0 b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAv c2hhcmUvZ3VpbGUvMi4wL2ljZS05L2RlYnVnLnNjbScgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9y ZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL3No YXJlL2d1aWxlLzIuMC9pY2UtOS9kZWJ1Zy5zY20nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kw cThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9zaGFyZS9n dWlsZS8yLjAvaWNlLTkvdmxpc3Quc2NtJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNu emQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvc2hhcmUvZ3Vp bGUvMi4wL2ljZS05L3ZsaXN0LnNjbScKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0 MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL3NoYXJlL2d1aWxlLzIu MC9pY2UtOS9zYWZlLXI1cnMuc2NtJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5 NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvc2hhcmUvZ3VpbGUv Mi4wL2ljZS05L3NhZmUtcjVycy5zY20nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2 NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9zaGFyZS9ndWlsZS8y LjAvaWNlLTkvZXZhbC1zdHJpbmcuc2NtJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNu emQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvc2hhcmUvZ3Vp bGUvMi4wL2ljZS05L2V2YWwtc3RyaW5nLnNjbScKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBx OG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL3NoYXJlL2d1 aWxlLzIuMC9pY2UtOS9wb3Blbi5zY20nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256 ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9zaGFyZS9ndWls ZS8yLjAvaWNlLTkvcG9wZW4uc2NtJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQx bHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvc2hhcmUvZ3VpbGUvMi4w L2xhbmd1YWdlL3RyZWUtaWwuc2NtJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5 NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvc2hhcmUvZ3VpbGUv Mi4wL2xhbmd1YWdlL3RyZWUtaWwuc2NtJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6 djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvc2hhcmUvZ3VpbGUv Mi4wL2xhbmd1YWdlL2dsaWwuc2NtJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5 NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvc2hhcmUvZ3VpbGUv Mi4wL2xhbmd1YWdlL2dsaWwuc2NtJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQx bHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvc2hhcmUvZ3VpbGUvMi4w L2xhbmd1YWdlL3ZhbHVlL3NwZWMuc2NtJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNu emQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvc2hhcmUvZ3Vp bGUvMi4wL2xhbmd1YWdlL3ZhbHVlL3NwZWMuc2NtJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5 MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvc2hhcmUv Z3VpbGUvMi4wL2xhbmd1YWdlL2Fzc2VtYmx5L3NwZWMuc2NtJyB+PiBgL3RtcC9ndWl4LXRlc3Rz L3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRp cnMvc2hhcmUvZ3VpbGUvMi4wL2xhbmd1YWdlL2Fzc2VtYmx5L3NwZWMuc2NtJwpgL3RtcC9ndWl4 LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3Rz dHJhcC0yLjAvc2hhcmUvZ3VpbGUvMi4wL2xhbmd1YWdlL2Fzc2VtYmx5L2NvbXBpbGUtYnl0ZWNv ZGUuc2NtJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUw cTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvc2hhcmUvZ3VpbGUvMi4wL2xhbmd1YWdlL2Fz c2VtYmx5L2NvbXBpbGUtYnl0ZWNvZGUuc2NtJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4 bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvc2hhcmUvZ3Vp bGUvMi4wL2xhbmd1YWdlL2Fzc2VtYmx5L2RlY29tcGlsZS1ieXRlY29kZS5zY20nIH4+IGAvdG1w L2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24t dGVzdC1hbGwtZGlycy9zaGFyZS9ndWlsZS8yLjAvbGFuZ3VhZ2UvYXNzZW1ibHkvZGVjb21waWxl LWJ5dGVjb2RlLnNjbScKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJo aWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL3NoYXJlL2d1aWxlLzIuMC9sYW5ndWFn ZS9hc3NlbWJseS9kaXNhc3NlbWJsZS5zY20nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2sy Y256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9zaGFyZS9n dWlsZS8yLjAvbGFuZ3VhZ2UvYXNzZW1ibHkvZGlzYXNzZW1ibGUuc2NtJwpgL3RtcC9ndWl4LXRl c3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJh cC0yLjAvc2hhcmUvZ3VpbGUvMi4wL2xhbmd1YWdlL3NjaGVtZS9kZWNvbXBpbGUtdHJlZS1pbC5z Y20nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3 Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9zaGFyZS9ndWlsZS8yLjAvbGFuZ3VhZ2Uvc2NoZW1l L2RlY29tcGlsZS10cmVlLWlsLnNjbScKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0 MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL3NoYXJlL2d1aWxlLzIu MC9sYW5ndWFnZS9zY2hlbWUvc3BlYy5zY20nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2sy Y256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9zaGFyZS9n dWlsZS8yLjAvbGFuZ3VhZ2Uvc2NoZW1lL3NwZWMuc2NtJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3Jl Lzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvc2hh cmUvZ3VpbGUvMi4wL2xhbmd1YWdlL3NjaGVtZS9jb21waWxlLXRyZWUtaWwuc2NtJyB+PiBgL3Rt cC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9u LXRlc3QtYWxsLWRpcnMvc2hhcmUvZ3VpbGUvMi4wL2xhbmd1YWdlL3NjaGVtZS9jb21waWxlLXRy ZWUtaWwuc2NtJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxj bWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvc2hhcmUvZ3VpbGUvMi4wL2xhbmd1YWdlL29i amNvZGUvc3BlYy5zY20nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5u aXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9zaGFyZS9ndWlsZS8yLjAvbGFu Z3VhZ2Uvb2JqY29kZS9zcGVjLnNjbScKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0 MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL3NoYXJlL2d1aWxlLzIu MC9sYW5ndWFnZS90cmVlLWlsL2Nhbm9uaWNhbGl6ZS5zY20nIH4+IGAvdG1wL2d1aXgtdGVzdHMv c3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGly cy9zaGFyZS9ndWlsZS8yLjAvbGFuZ3VhZ2UvdHJlZS1pbC9jYW5vbmljYWxpemUuc2NtJwpgL3Rt cC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxl LWJvb3RzdHJhcC0yLjAvc2hhcmUvZ3VpbGUvMi4wL2xhbmd1YWdlL3RyZWUtaWwvb3B0aW1pemUu c2NtJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJj N2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvc2hhcmUvZ3VpbGUvMi4wL2xhbmd1YWdlL3RyZWUt aWwvb3B0aW1pemUuc2NtJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5 YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvc2hhcmUvZ3VpbGUvMi4wL2xhbmd1 YWdlL3RyZWUtaWwvaW5saW5lLnNjbScgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpk OTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL3NoYXJlL2d1aWxl LzIuMC9sYW5ndWFnZS90cmVlLWlsL2lubGluZS5zY20nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUv N3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9zaGFy ZS9ndWlsZS8yLjAvbGFuZ3VhZ2UvdHJlZS1pbC9lZmZlY3RzLnNjbScgfj4gYC90bXAvZ3VpeC10 ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFs bC1kaXJzL3NoYXJlL2d1aWxlLzIuMC9sYW5ndWFnZS90cmVlLWlsL2VmZmVjdHMuc2NtJwpgL3Rt cC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxl LWJvb3RzdHJhcC0yLjAvc2hhcmUvZ3VpbGUvMi4wL2xhbmd1YWdlL3RyZWUtaWwvc3BlYy5zY20n IH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhz c2QtdW5pb24tdGVzdC1hbGwtZGlycy9zaGFyZS9ndWlsZS8yLjAvbGFuZ3VhZ2UvdHJlZS1pbC9z cGVjLnNjbScKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21o cmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL3NoYXJlL2d1aWxlLzIuMC9sYW5ndWFnZS90cmVl LWlsL3ByaW1pdGl2ZXMuc2NtJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3 MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvc2hhcmUvZ3VpbGUvMi4w L2xhbmd1YWdlL3RyZWUtaWwvcHJpbWl0aXZlcy5zY20nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUv N3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9zaGFy ZS9ndWlsZS8yLjAvbGFuZ3VhZ2UvdHJlZS1pbC9maXgtbGV0cmVjLnNjbScgfj4gYC90bXAvZ3Vp eC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0 LWFsbC1kaXJzL3NoYXJlL2d1aWxlLzIuMC9sYW5ndWFnZS90cmVlLWlsL2ZpeC1sZXRyZWMuc2Nt JwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5Mzlm LWd1aWxlLWJvb3RzdHJhcC0yLjAvc2hhcmUvZ3VpbGUvMi4wL2xhbmd1YWdlL3RyZWUtaWwvcGV2 YWwuc2NtJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUw cTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvc2hhcmUvZ3VpbGUvMi4wL2xhbmd1YWdlL3Ry ZWUtaWwvcGV2YWwuc2NtJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5 YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvc2hhcmUvZ3VpbGUvMi4wL2xhbmd1 YWdlL3RyZWUtaWwvYW5hbHl6ZS5zY20nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256 ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9zaGFyZS9ndWls ZS8yLjAvbGFuZ3VhZ2UvdHJlZS1pbC9hbmFseXplLnNjbScKYC90bXAvZ3VpeC10ZXN0cy9zdG9y ZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL3No YXJlL2d1aWxlLzIuMC9sYW5ndWFnZS90cmVlLWlsL2RlYnVnLnNjbScgfj4gYC90bXAvZ3VpeC10 ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFs bC1kaXJzL3NoYXJlL2d1aWxlLzIuMC9sYW5ndWFnZS90cmVlLWlsL2RlYnVnLnNjbScKYC90bXAv Z3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1i b290c3RyYXAtMi4wL3NoYXJlL2d1aWxlLzIuMC9sYW5ndWFnZS90cmVlLWlsL2NzZS5zY20nIH4+ IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2Qt dW5pb24tdGVzdC1hbGwtZGlycy9zaGFyZS9ndWlsZS8yLjAvbGFuZ3VhZ2UvdHJlZS1pbC9jc2Uu c2NtJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5 MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvc2hhcmUvZ3VpbGUvMi4wL2xhbmd1YWdlL3RyZWUtaWwv Y29tcGlsZS1nbGlsLnNjbScgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBm bm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL3NoYXJlL2d1aWxlLzIuMC9s YW5ndWFnZS90cmVlLWlsL2NvbXBpbGUtZ2xpbC5zY20nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUv N3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9zaGFy ZS9ndWlsZS8yLjAvbGFuZ3VhZ2UvZWxpc3AvcnVudGltZS9zdWJycy5zY20nIH4+IGAvdG1wL2d1 aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVz dC1hbGwtZGlycy9zaGFyZS9ndWlsZS8yLjAvbGFuZ3VhZ2UvZWxpc3AvcnVudGltZS9zdWJycy5z Y20nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkz OWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9zaGFyZS9ndWlsZS8yLjAvbGFuZ3VhZ2UvZWxpc3AvcnVu dGltZS9tYWNyb3Muc2NtJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZu bmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvc2hhcmUvZ3VpbGUvMi4wL2xh bmd1YWdlL2VsaXNwL3J1bnRpbWUvbWFjcm9zLnNjbScKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83 eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL3NoYXJl L2d1aWxlLzIuMC9sYW5ndWFnZS9lbGlzcC9ydW50aW1lL2Z1bmN0aW9uLXNsb3Quc2NtJyB+PiBg L3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVu aW9uLXRlc3QtYWxsLWRpcnMvc2hhcmUvZ3VpbGUvMi4wL2xhbmd1YWdlL2VsaXNwL3J1bnRpbWUv ZnVuY3Rpb24tc2xvdC5zY20nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2 aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9zaGFyZS9ndWlsZS8yLjAvbGFu Z3VhZ2UvZWxpc3AvcnVudGltZS92YWx1ZS1zbG90LnNjbScgfj4gYC90bXAvZ3VpeC10ZXN0cy9z dG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJz L3NoYXJlL2d1aWxlLzIuMC9sYW5ndWFnZS9lbGlzcC9ydW50aW1lL3ZhbHVlLXNsb3Quc2NtJwpg L3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1 aWxlLWJvb3RzdHJhcC0yLjAvc2hhcmUvZ3VpbGUvMi4wL2xhbmd1YWdlL2VsaXNwL3NwZWMuc2Nt JyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Jo c3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvc2hhcmUvZ3VpbGUvMi4wL2xhbmd1YWdlL2VsaXNwL3Nw ZWMuc2NtJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhy aTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvc2hhcmUvZ3VpbGUvMi4wL2xhbmd1YWdlL2VsaXNw L3BhcnNlci5zY20nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2 MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9zaGFyZS9ndWlsZS8yLjAvbGFuZ3Vh Z2UvZWxpc3AvcGFyc2VyLnNjbScKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxy OXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL3NoYXJlL2d1aWxlLzIuMC9s YW5ndWFnZS9lbGlzcC9iaW5kaW5ncy5zY20nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2sy Y256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9zaGFyZS9n dWlsZS8yLjAvbGFuZ3VhZ2UvZWxpc3AvYmluZGluZ3Muc2NtJwpgL3RtcC9ndWl4LXRlc3RzL3N0 b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAv c2hhcmUvZ3VpbGUvMi4wL2xhbmd1YWdlL2VsaXNwL2xleGVyLnNjbScgfj4gYC90bXAvZ3VpeC10 ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFs bC1kaXJzL3NoYXJlL2d1aWxlLzIuMC9sYW5ndWFnZS9lbGlzcC9sZXhlci5zY20nCmAvdG1wL2d1 aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9v dHN0cmFwLTIuMC9zaGFyZS9ndWlsZS8yLjAvbGFuZ3VhZ2UvZWxpc3AvcnVudGltZS5zY20nIH4+ IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2Qt dW5pb24tdGVzdC1hbGwtZGlycy9zaGFyZS9ndWlsZS8yLjAvbGFuZ3VhZ2UvZWxpc3AvcnVudGlt ZS5zY20nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJp NjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9zaGFyZS9ndWlsZS8yLjAvbGFuZ3VhZ2UvZWxpc3Av Y29tcGlsZS10cmVlLWlsLnNjbScgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2 NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL3NoYXJlL2d1aWxlLzIu MC9sYW5ndWFnZS9lbGlzcC9jb21waWxlLXRyZWUtaWwuc2NtJwpgL3RtcC9ndWl4LXRlc3RzL3N0 b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAv c2hhcmUvZ3VpbGUvMi4wL2xhbmd1YWdlL2Fzc2VtYmx5LnNjbScgfj4gYC90bXAvZ3VpeC10ZXN0 cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1k aXJzL3NoYXJlL2d1aWxlLzIuMC9sYW5ndWFnZS9hc3NlbWJseS5zY20nCmAvdG1wL2d1aXgtdGVz dHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFw LTIuMC9zaGFyZS9ndWlsZS8yLjAvbGFuZ3VhZ2UvZ2xpbC9zcGVjLnNjbScgfj4gYC90bXAvZ3Vp eC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0 LWFsbC1kaXJzL3NoYXJlL2d1aWxlLzIuMC9sYW5ndWFnZS9nbGlsL3NwZWMuc2NtJwpgL3RtcC9n dWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJv b3RzdHJhcC0yLjAvc2hhcmUvZ3VpbGUvMi4wL2xhbmd1YWdlL2dsaWwvY29tcGlsZS1hc3NlbWJs eS5zY20nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBx MmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9zaGFyZS9ndWlsZS8yLjAvbGFuZ3VhZ2UvZ2xp bC9jb21waWxlLWFzc2VtYmx5LnNjbScKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0 MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL3NoYXJlL2d1aWxlLzIu MC9sYW5ndWFnZS9lY21hc2NyaXB0L2FycmF5LnNjbScgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9y ZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL3No YXJlL2d1aWxlLzIuMC9sYW5ndWFnZS9lY21hc2NyaXB0L2FycmF5LnNjbScKYC90bXAvZ3VpeC10 ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3Ry YXAtMi4wL3NoYXJlL2d1aWxlLzIuMC9sYW5ndWFnZS9lY21hc2NyaXB0L3NwZWMuc2NtJyB+PiBg L3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVu aW9uLXRlc3QtYWxsLWRpcnMvc2hhcmUvZ3VpbGUvMi4wL2xhbmd1YWdlL2VjbWFzY3JpcHQvc3Bl Yy5zY20nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJp NjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9zaGFyZS9ndWlsZS8yLjAvbGFuZ3VhZ2UvZWNtYXNj cmlwdC9wYXJzZS5zY20nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5u aXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9zaGFyZS9ndWlsZS8yLjAvbGFu Z3VhZ2UvZWNtYXNjcmlwdC9wYXJzZS5zY20nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThu Nnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9zaGFyZS9ndWls ZS8yLjAvbGFuZ3VhZ2UvZWNtYXNjcmlwdC9mdW5jdGlvbi5zY20nIH4+IGAvdG1wL2d1aXgtdGVz dHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwt ZGlycy9zaGFyZS9ndWlsZS8yLjAvbGFuZ3VhZ2UvZWNtYXNjcmlwdC9mdW5jdGlvbi5zY20nCmAv dG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3Vp bGUtYm9vdHN0cmFwLTIuMC9zaGFyZS9ndWlsZS8yLjAvbGFuZ3VhZ2UvZWNtYXNjcmlwdC90b2tl bml6ZS5zY20nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGly NTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9zaGFyZS9ndWlsZS8yLjAvbGFuZ3VhZ2Uv ZWNtYXNjcmlwdC90b2tlbml6ZS5zY20nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2 NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9zaGFyZS9ndWlsZS8y LjAvbGFuZ3VhZ2UvZWNtYXNjcmlwdC9pbXBsLnNjbScgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9y ZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL3No YXJlL2d1aWxlLzIuMC9sYW5ndWFnZS9lY21hc2NyaXB0L2ltcGwuc2NtJwpgL3RtcC9ndWl4LXRl c3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJh cC0yLjAvc2hhcmUvZ3VpbGUvMi4wL2xhbmd1YWdlL2VjbWFzY3JpcHQvYmFzZS5zY20nIH4+IGAv dG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5p b24tdGVzdC1hbGwtZGlycy9zaGFyZS9ndWlsZS8yLjAvbGFuZ3VhZ2UvZWNtYXNjcmlwdC9iYXNl LnNjbScKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2 OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL3NoYXJlL2d1aWxlLzIuMC9sYW5ndWFnZS9lY21hc2Ny aXB0L2NvbXBpbGUtdHJlZS1pbC5zY20nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256 ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9zaGFyZS9ndWls ZS8yLjAvbGFuZ3VhZ2UvZWNtYXNjcmlwdC9jb21waWxlLXRyZWUtaWwuc2NtJwpgL3RtcC9ndWl4 LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3Rz dHJhcC0yLjAvc2hhcmUvZ3VpbGUvMi4wL2xhbmd1YWdlL2J5dGVjb2RlL3NwZWMuc2NtJyB+PiBg L3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVu aW9uLXRlc3QtYWxsLWRpcnMvc2hhcmUvZ3VpbGUvMi4wL2xhbmd1YWdlL2J5dGVjb2RlL3NwZWMu c2NtJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5 MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvc2hhcmUvZ3VpbGUvMi4wL2xhbmd1YWdlL2JyYWluZnVj ay9zcGVjLnNjbScgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYw aXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL3NoYXJlL2d1aWxlLzIuMC9sYW5ndWFn ZS9icmFpbmZ1Y2svc3BlYy5zY20nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFs cjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9zaGFyZS9ndWlsZS8yLjAv bGFuZ3VhZ2UvYnJhaW5mdWNrL3BhcnNlLnNjbScgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9z azJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL3NoYXJl L2d1aWxlLzIuMC9sYW5ndWFnZS9icmFpbmZ1Y2svcGFyc2Uuc2NtJwpgL3RtcC9ndWl4LXRlc3Rz L3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0y LjAvc2hhcmUvZ3VpbGUvMi4wL2xhbmd1YWdlL2JyYWluZnVjay9jb21waWxlLXNjaGVtZS5zY20n IH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhz c2QtdW5pb24tdGVzdC1hbGwtZGlycy9zaGFyZS9ndWlsZS8yLjAvbGFuZ3VhZ2UvYnJhaW5mdWNr L2NvbXBpbGUtc2NoZW1lLnNjbScKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxy OXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL3NoYXJlL2d1aWxlLzIuMC9s YW5ndWFnZS9icmFpbmZ1Y2svY29tcGlsZS10cmVlLWlsLnNjbScgfj4gYC90bXAvZ3VpeC10ZXN0 cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1k aXJzL3NoYXJlL2d1aWxlLzIuMC9sYW5ndWFnZS9icmFpbmZ1Y2svY29tcGlsZS10cmVlLWlsLnNj bScKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5 Zi1ndWlsZS1ib290c3RyYXAtMi4wL3NoYXJlL2d1aWxlLzIuMC9zdGF0cHJvZi5zY20nIH4+IGAv dG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5p b24tdGVzdC1hbGwtZGlycy9zaGFyZS9ndWlsZS8yLjAvc3RhdHByb2Yuc2NtJwpgL3RtcC9ndWl4 LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3Rz dHJhcC0yLjAvc2hhcmUvZ3VpbGUvMi4wL3NjcmlwdHMvbGlzdC5zY20nIH4+IGAvdG1wL2d1aXgt dGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1h bGwtZGlycy9zaGFyZS9ndWlsZS8yLjAvc2NyaXB0cy9saXN0LnNjbScKYC90bXAvZ3VpeC10ZXN0 cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAt Mi4wL3NoYXJlL2d1aWxlLzIuMC9zY3JpcHRzL2hlbHAuc2NtJyB+PiBgL3RtcC9ndWl4LXRlc3Rz L3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRp cnMvc2hhcmUvZ3VpbGUvMi4wL3NjcmlwdHMvaGVscC5zY20nCmAvdG1wL2d1aXgtdGVzdHMvc3Rv cmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9z aGFyZS9ndWlsZS8yLjAvc2NyaXB0cy9yZWFkLXJmYzgyMi5zY20nIH4+IGAvdG1wL2d1aXgtdGVz dHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwt ZGlycy9zaGFyZS9ndWlsZS8yLjAvc2NyaXB0cy9yZWFkLXJmYzgyMi5zY20nCmAvdG1wL2d1aXgt dGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0 cmFwLTIuMC9zaGFyZS9ndWlsZS8yLjAvc2NyaXB0cy91c2UyZG90LnNjbScgfj4gYC90bXAvZ3Vp eC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0 LWFsbC1kaXJzL3NoYXJlL2d1aWxlLzIuMC9zY3JpcHRzL3VzZTJkb3Quc2NtJwpgL3RtcC9ndWl4 LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3Rz dHJhcC0yLjAvc2hhcmUvZ3VpbGUvMi4wL3NjcmlwdHMvc25hcmYtZ3VpbGUtbTQtZG9jcy5zY20n IH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhz c2QtdW5pb24tdGVzdC1hbGwtZGlycy9zaGFyZS9ndWlsZS8yLjAvc2NyaXB0cy9zbmFyZi1ndWls ZS1tNC1kb2NzLnNjbScKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJo aWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL3NoYXJlL2d1aWxlLzIuMC9zY3JpcHRz L2ZyaXNrLnNjbScgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYw aXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL3NoYXJlL2d1aWxlLzIuMC9zY3JpcHRz L2ZyaXNrLnNjbScKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhs Y21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL3NoYXJlL2d1aWxlLzIuMC9zY3JpcHRzL3Jl YWQtdGV4dC1vdXRsaW5lLnNjbScgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2 NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL3NoYXJlL2d1aWxlLzIu MC9zY3JpcHRzL3JlYWQtdGV4dC1vdXRsaW5lLnNjbScKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83 eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL3NoYXJl L2d1aWxlLzIuMC9zY3JpcHRzL2F1dG9mcmlzay5zY20nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3Rv cmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9z aGFyZS9ndWlsZS8yLjAvc2NyaXB0cy9hdXRvZnJpc2suc2NtJwpgL3RtcC9ndWl4LXRlc3RzL3N0 b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAv c2hhcmUvZ3VpbGUvMi4wL3NjcmlwdHMvc25hcmYtY2hlY2stYW5kLW91dHB1dC10ZXhpLnNjbScg fj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNz ZC11bmlvbi10ZXN0LWFsbC1kaXJzL3NoYXJlL2d1aWxlLzIuMC9zY3JpcHRzL3NuYXJmLWNoZWNr LWFuZC1vdXRwdXQtdGV4aS5zY20nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFs cjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9zaGFyZS9ndWlsZS8yLjAv c2NyaXB0cy9zY2FuLWFwaS5zY20nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2 djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9zaGFyZS9ndWlsZS8y LjAvc2NyaXB0cy9zY2FuLWFwaS5zY20nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2 NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9zaGFyZS9ndWlsZS8y LjAvc2NyaXB0cy9yZWFkLXNjaGVtZS1zb3VyY2Uuc2NtJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0 b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMv c2hhcmUvZ3VpbGUvMi4wL3NjcmlwdHMvcmVhZC1zY2hlbWUtc291cmNlLnNjbScKYC90bXAvZ3Vp eC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290 c3RyYXAtMi4wL3NoYXJlL2d1aWxlLzIuMC9zY3JpcHRzL2NvbXBpbGUuc2NtJyB+PiBgL3RtcC9n dWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRl c3QtYWxsLWRpcnMvc2hhcmUvZ3VpbGUvMi4wL3NjcmlwdHMvY29tcGlsZS5zY20nCmAvdG1wL2d1 aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9v dHN0cmFwLTIuMC9zaGFyZS9ndWlsZS8yLjAvc2NyaXB0cy9kb2Mtc25hcmYuc2NtJyB+PiBgL3Rt cC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9u LXRlc3QtYWxsLWRpcnMvc2hhcmUvZ3VpbGUvMi4wL3NjcmlwdHMvZG9jLXNuYXJmLnNjbScKYC90 bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWls ZS1ib290c3RyYXAtMi4wL3NoYXJlL2d1aWxlLzIuMC9zY3JpcHRzL3B1bmlmeS5zY20nIH4+IGAv dG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5p b24tdGVzdC1hbGwtZGlycy9zaGFyZS9ndWlsZS8yLjAvc2NyaXB0cy9wdW5pZnkuc2NtJwpgL3Rt cC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxl LWJvb3RzdHJhcC0yLjAvc2hhcmUvZ3VpbGUvMi4wL3NjcmlwdHMvbGludC5zY20nIH4+IGAvdG1w L2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24t dGVzdC1hbGwtZGlycy9zaGFyZS9ndWlsZS8yLjAvc2NyaXB0cy9saW50LnNjbScKYC90bXAvZ3Vp eC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290 c3RyYXAtMi4wL3NoYXJlL2d1aWxlLzIuMC9zY3JpcHRzL2dlbmVyYXRlLWF1dG9sb2FkLnNjbScg fj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNz ZC11bmlvbi10ZXN0LWFsbC1kaXJzL3NoYXJlL2d1aWxlLzIuMC9zY3JpcHRzL2dlbmVyYXRlLWF1 dG9sb2FkLnNjbScKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhs Y21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL3NoYXJlL2d1aWxlLzIuMC9zY3JpcHRzL2Fw aS1kaWZmLnNjbScgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYw aXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL3NoYXJlL2d1aWxlLzIuMC9zY3JpcHRz L2FwaS1kaWZmLnNjbScKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJo aWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL3NoYXJlL2d1aWxlLzIuMC9zY3JpcHRz L2Rpc2Fzc2VtYmxlLnNjbScgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBm bm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL3NoYXJlL2d1aWxlLzIuMC9z Y3JpcHRzL2Rpc2Fzc2VtYmxlLnNjbScKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0 MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL3NoYXJlL2d1aWxlLzIu MC9zY3JpcHRzL2Rpc3BsYXktY29tbWVudGFyeS5zY20nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3Rv cmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9z aGFyZS9ndWlsZS8yLjAvc2NyaXB0cy9kaXNwbGF5LWNvbW1lbnRhcnkuc2NtJwpgL3RtcC9ndWl4 LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3Rz dHJhcC0yLjAvc2hhcmUvZ3VpbGUvMi4wL3NjcmlwdHMvc3VtbWFyaXplLWd1aWxlLVRPRE8uc2Nt JyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Jo c3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvc2hhcmUvZ3VpbGUvMi4wL3NjcmlwdHMvc3VtbWFyaXpl LWd1aWxlLVRPRE8uc2NtJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5 YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvc2hhcmUvZ3VpbGUvMi4wL3JucnMu c2NtJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJj N2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvc2hhcmUvZ3VpbGUvMi4wL3JucnMuc2NtJwpgL3Rt cC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxl LWJvb3RzdHJhcC0yLjAvc2hhcmUvZ3VpbGUvMi4wL3NyZmkvc3JmaS02Ny9jb21wYXJlLnNjbScg fj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNz ZC11bmlvbi10ZXN0LWFsbC1kaXJzL3NoYXJlL2d1aWxlLzIuMC9zcmZpL3NyZmktNjcvY29tcGFy ZS5zY20nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJp NjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9zaGFyZS9ndWlsZS8yLjAvc3JmaS9zcmZpLTQxLnNj bScgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdi aHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL3NoYXJlL2d1aWxlLzIuMC9zcmZpL3NyZmktNDEuc2Nt JwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5Mzlm LWd1aWxlLWJvb3RzdHJhcC0yLjAvc2hhcmUvZ3VpbGUvMi4wL3NyZmkvc3JmaS02Ny5zY20nIH4+ IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2Qt dW5pb24tdGVzdC1hbGwtZGlycy9zaGFyZS9ndWlsZS8yLjAvc3JmaS9zcmZpLTY3LnNjbScKYC90 bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWls ZS1ib290c3RyYXAtMi4wL3NoYXJlL2d1aWxlLzIuMC9zcmZpL3NyZmktMTkuc2NtJyB+PiBgL3Rt cC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9u LXRlc3QtYWxsLWRpcnMvc2hhcmUvZ3VpbGUvMi4wL3NyZmkvc3JmaS0xOS5zY20nCmAvdG1wL2d1 aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9v dHN0cmFwLTIuMC9zaGFyZS9ndWlsZS8yLjAvc3JmaS9zcmZpLTE4LnNjbScgfj4gYC90bXAvZ3Vp eC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0 LWFsbC1kaXJzL3NoYXJlL2d1aWxlLzIuMC9zcmZpL3NyZmktMTguc2NtJwpgL3RtcC9ndWl4LXRl c3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJh cC0yLjAvc2hhcmUvZ3VpbGUvMi4wL3NyZmkvc3JmaS0xNy5zY20nIH4+IGAvdG1wL2d1aXgtdGVz dHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwt ZGlycy9zaGFyZS9ndWlsZS8yLjAvc3JmaS9zcmZpLTE3LnNjbScKYC90bXAvZ3VpeC10ZXN0cy9z dG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4w L3NoYXJlL2d1aWxlLzIuMC9zcmZpL3NyZmktOS5zY20nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3Rv cmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9z aGFyZS9ndWlsZS8yLjAvc3JmaS9zcmZpLTkuc2NtJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5 MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvc2hhcmUv Z3VpbGUvMi4wL3NyZmkvc3JmaS00L2dudS5zY20nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUv c2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9zaGFy ZS9ndWlsZS8yLjAvc3JmaS9zcmZpLTQvZ251LnNjbScKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83 eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL3NoYXJl L2d1aWxlLzIuMC9zcmZpL3NyZmktMTYuc2NtJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3Nr MmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvc2hhcmUv Z3VpbGUvMi4wL3NyZmkvc3JmaS0xNi5zY20nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThu Nnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9zaGFyZS9ndWls ZS8yLjAvc3JmaS9zcmZpLTguc2NtJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5 NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvc2hhcmUvZ3VpbGUv Mi4wL3NyZmkvc3JmaS04LnNjbScKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxy OXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL3NoYXJlL2d1aWxlLzIuMC9z cmZpL3NyZmktOS9nbnUuc2NtJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3 MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvc2hhcmUvZ3VpbGUvMi4w L3NyZmkvc3JmaS05L2dudS5zY20nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFs cjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9zaGFyZS9ndWlsZS8yLjAv c3JmaS9zcmZpLTE0LnNjbScgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBm bm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL3NoYXJlL2d1aWxlLzIuMC9z cmZpL3NyZmktMTQuc2NtJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5 YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvc2hhcmUvZ3VpbGUvMi4wL3NyZmkv c3JmaS02LnNjbScgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYw aXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL3NoYXJlL2d1aWxlLzIuMC9zcmZpL3Ny ZmktNi5zY20nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNt aHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9zaGFyZS9ndWlsZS8yLjAvc3JmaS9zcmZpLTI3 LnNjbScgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEy YzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL3NoYXJlL2d1aWxlLzIuMC9zcmZpL3NyZmktMjcu c2NtJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5 MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvc2hhcmUvZ3VpbGUvMi4wL3NyZmkvc3JmaS0xMy5zY20n IH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhz c2QtdW5pb24tdGVzdC1hbGwtZGlycy9zaGFyZS9ndWlsZS8yLjAvc3JmaS9zcmZpLTEzLnNjbScK YC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1n dWlsZS1ib290c3RyYXAtMi4wL3NoYXJlL2d1aWxlLzIuMC9zcmZpL3NyZmktODguc2NtJyB+PiBg L3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVu aW9uLXRlc3QtYWxsLWRpcnMvc2hhcmUvZ3VpbGUvMi4wL3NyZmkvc3JmaS04OC5zY20nCmAvdG1w L2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUt Ym9vdHN0cmFwLTIuMC9zaGFyZS9ndWlsZS8yLjAvc3JmaS9zcmZpLTI2LnNjbScgfj4gYC90bXAv Z3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10 ZXN0LWFsbC1kaXJzL3NoYXJlL2d1aWxlLzIuMC9zcmZpL3NyZmktMjYuc2NtJwpgL3RtcC9ndWl4 LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3Rz dHJhcC0yLjAvc2hhcmUvZ3VpbGUvMi4wL3NyZmkvc3JmaS02MC5zY20nIH4+IGAvdG1wL2d1aXgt dGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1h bGwtZGlycy9zaGFyZS9ndWlsZS8yLjAvc3JmaS9zcmZpLTYwLnNjbScKYC90bXAvZ3VpeC10ZXN0 cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAt Mi4wL3NoYXJlL2d1aWxlLzIuMC9zcmZpL3NyZmktMzkuc2NtJyB+PiBgL3RtcC9ndWl4LXRlc3Rz L3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRp cnMvc2hhcmUvZ3VpbGUvMi4wL3NyZmkvc3JmaS0zOS5zY20nCmAvdG1wL2d1aXgtdGVzdHMvc3Rv cmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9z aGFyZS9ndWlsZS8yLjAvc3JmaS9zcmZpLTQuc2NtJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3Jl L3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvc2hh cmUvZ3VpbGUvMi4wL3NyZmkvc3JmaS00LnNjbScKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBx OG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL3NoYXJlL2d1 aWxlLzIuMC9zcmZpL3NyZmktMTEuc2NtJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNu emQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvc2hhcmUvZ3Vp bGUvMi4wL3NyZmkvc3JmaS0xMS5zY20nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2 NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9zaGFyZS9ndWlsZS8y LjAvc3JmaS9zcmZpLTM4LnNjbScgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2 NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL3NoYXJlL2d1aWxlLzIu MC9zcmZpL3NyZmktMzguc2NtJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5 dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvc2hhcmUvZ3VpbGUvMi4wL3Ny Zmkvc3JmaS0xMC5zY20nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5u aXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9zaGFyZS9ndWlsZS8yLjAvc3Jm aS9zcmZpLTEwLnNjbScKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJo aWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL3NoYXJlL2d1aWxlLzIuMC9zcmZpL3Ny ZmktMi5zY20nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGly NTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9zaGFyZS9ndWlsZS8yLjAvc3JmaS9zcmZp LTIuc2NtJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhy aTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvc2hhcmUvZ3VpbGUvMi4wL3NyZmkvc3JmaS0zNy5z Y20nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3 Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9zaGFyZS9ndWlsZS8yLjAvc3JmaS9zcmZpLTM3LnNj bScKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5 Zi1ndWlsZS1ib290c3RyYXAtMi4wL3NoYXJlL2d1aWxlLzIuMC9zcmZpL3NyZmktOTguc2NtJyB+ PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3Nk LXVuaW9uLXRlc3QtYWxsLWRpcnMvc2hhcmUvZ3VpbGUvMi4wL3NyZmkvc3JmaS05OC5zY20nCmAv dG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3Vp bGUtYm9vdHN0cmFwLTIuMC9zaGFyZS9ndWlsZS8yLjAvc3JmaS9zcmZpLTEuc2NtJyB+PiBgL3Rt cC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9u LXRlc3QtYWxsLWRpcnMvc2hhcmUvZ3VpbGUvMi4wL3NyZmkvc3JmaS0xLnNjbScKYC90bXAvZ3Vp eC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290 c3RyYXAtMi4wL3NoYXJlL2d1aWxlLzIuMC9zcmZpL3NyZmktMzUuc2NtJyB+PiBgL3RtcC9ndWl4 LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3Qt YWxsLWRpcnMvc2hhcmUvZ3VpbGUvMi4wL3NyZmkvc3JmaS0zNS5zY20nCmAvdG1wL2d1aXgtdGVz dHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFw LTIuMC9zaGFyZS9ndWlsZS8yLjAvc3JmaS9zcmZpLTM0LnNjbScgfj4gYC90bXAvZ3VpeC10ZXN0 cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1k aXJzL3NoYXJlL2d1aWxlLzIuMC9zcmZpL3NyZmktMzQuc2NtJwpgL3RtcC9ndWl4LXRlc3RzL3N0 b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAv c2hhcmUvZ3VpbGUvMi4wL3NyZmkvc3JmaS00Mi9lYy5zY20nIH4+IGAvdG1wL2d1aXgtdGVzdHMv c3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGly cy9zaGFyZS9ndWlsZS8yLjAvc3JmaS9zcmZpLTQyL2VjLnNjbScKYC90bXAvZ3VpeC10ZXN0cy9z dG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4w L3NoYXJlL2d1aWxlLzIuMC9zcmZpL3NyZmktNDUuc2NtJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0 b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMv c2hhcmUvZ3VpbGUvMi4wL3NyZmkvc3JmaS00NS5zY20nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUv N3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9zaGFy ZS9ndWlsZS8yLjAvc3JmaS9zcmZpLTMxLnNjbScgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9z azJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL3NoYXJl L2d1aWxlLzIuMC9zcmZpL3NyZmktMzEuc2NtJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4 bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvc2hhcmUvZ3Vp bGUvMi4wL3NyZmkvc3JmaS00Mi5zY20nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256 ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9zaGFyZS9ndWls ZS8yLjAvc3JmaS9zcmZpLTQyLnNjbScKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0 MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL3NoYXJlL2d1aWxlLzIu MC9zcmZpL3NyZmktNjkuc2NtJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3 MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvc2hhcmUvZ3VpbGUvMi4w L3NyZmkvc3JmaS02OS5zY20nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2 aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9zaGFyZS9ndWlsZS8yLjAvZ3Vp bGUtcHJvY2VkdXJlcy50eHQnIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcw Zm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9zaGFyZS9ndWlsZS8yLjAv Z3VpbGUtcHJvY2VkdXJlcy50eHQnCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFs cjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9zaGFyZS9ndWlsZS8yLjAv cm5ycy9tdXRhYmxlLXN0cmluZ3Muc2NtJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNu emQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvc2hhcmUvZ3Vp bGUvMi4wL3JucnMvbXV0YWJsZS1zdHJpbmdzLnNjbScKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83 eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL3NoYXJl L2d1aWxlLzIuMC9ybnJzL2NvbnRyb2wuc2NtJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3Nr MmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvc2hhcmUv Z3VpbGUvMi4wL3JucnMvY29udHJvbC5zY20nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThu Nnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9zaGFyZS9ndWls ZS8yLjAvcm5ycy9yZWNvcmRzL3Byb2NlZHVyYWwuc2NtJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0 b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMv c2hhcmUvZ3VpbGUvMi4wL3JucnMvcmVjb3Jkcy9wcm9jZWR1cmFsLnNjbScKYC90bXAvZ3VpeC10 ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3Ry YXAtMi4wL3NoYXJlL2d1aWxlLzIuMC9ybnJzL3JlY29yZHMvc3ludGFjdGljLnNjbScgfj4gYC90 bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlv bi10ZXN0LWFsbC1kaXJzL3NoYXJlL2d1aWxlLzIuMC9ybnJzL3JlY29yZHMvc3ludGFjdGljLnNj bScKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5 Zi1ndWlsZS1ib290c3RyYXAtMi4wL3NoYXJlL2d1aWxlLzIuMC9ybnJzL3JlY29yZHMvaW5zcGVj dGlvbi5zY20nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGly NTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9zaGFyZS9ndWlsZS8yLjAvcm5ycy9yZWNv cmRzL2luc3BlY3Rpb24uc2NtJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5 dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvc2hhcmUvZ3VpbGUvMi4wL3Ju cnMvbGlzdHMuc2NtJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlz NjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvc2hhcmUvZ3VpbGUvMi4wL3JucnMv bGlzdHMuc2NtJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxj bWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvc2hhcmUvZ3VpbGUvMi4wL3JucnMvZW51bXMu c2NtJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJj N2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvc2hhcmUvZ3VpbGUvMi4wL3JucnMvZW51bXMuc2Nt JwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5Mzlm LWd1aWxlLWJvb3RzdHJhcC0yLjAvc2hhcmUvZ3VpbGUvMi4wL3JucnMvY29uZGl0aW9ucy5zY20n IH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhz c2QtdW5pb24tdGVzdC1hbGwtZGlycy9zaGFyZS9ndWlsZS8yLjAvcm5ycy9jb25kaXRpb25zLnNj bScKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5 Zi1ndWlsZS1ib290c3RyYXAtMi4wL3NoYXJlL2d1aWxlLzIuMC9ybnJzL2hhc2h0YWJsZXMuc2Nt JyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Jo c3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvc2hhcmUvZ3VpbGUvMi4wL3JucnMvaGFzaHRhYmxlcy5z Y20nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkz OWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9zaGFyZS9ndWlsZS8yLjAvcm5ycy9hcml0aG1ldGljL2Zp eG51bXMuc2NtJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBp cjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvc2hhcmUvZ3VpbGUvMi4wL3JucnMvYXJp dGhtZXRpYy9maXhudW1zLnNjbScKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxy OXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL3NoYXJlL2d1aWxlLzIuMC9y bnJzL2FyaXRobWV0aWMvYml0d2lzZS5zY20nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2sy Y256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9zaGFyZS9n dWlsZS8yLjAvcm5ycy9hcml0aG1ldGljL2JpdHdpc2Uuc2NtJwpgL3RtcC9ndWl4LXRlc3RzL3N0 b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAv c2hhcmUvZ3VpbGUvMi4wL3JucnMvYXJpdGhtZXRpYy9mbG9udW1zLnNjbScgfj4gYC90bXAvZ3Vp eC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0 LWFsbC1kaXJzL3NoYXJlL2d1aWxlLzIuMC9ybnJzL2FyaXRobWV0aWMvZmxvbnVtcy5zY20nCmAv dG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3Vp bGUtYm9vdHN0cmFwLTIuMC9zaGFyZS9ndWlsZS8yLjAvcm5ycy9zb3J0aW5nLnNjbScgfj4gYC90 bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlv bi10ZXN0LWFsbC1kaXJzL3NoYXJlL2d1aWxlLzIuMC9ybnJzL3NvcnRpbmcuc2NtJwpgL3RtcC9n dWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJv b3RzdHJhcC0yLjAvc2hhcmUvZ3VpbGUvMi4wL3JucnMvZmlsZXMuc2NtJyB+PiBgL3RtcC9ndWl4 LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3Qt YWxsLWRpcnMvc2hhcmUvZ3VpbGUvMi4wL3JucnMvZmlsZXMuc2NtJwpgL3RtcC9ndWl4LXRlc3Rz L3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0y LjAvc2hhcmUvZ3VpbGUvMi4wL3JucnMvcHJvZ3JhbXMuc2NtJyB+PiBgL3RtcC9ndWl4LXRlc3Rz L3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRp cnMvc2hhcmUvZ3VpbGUvMi4wL3JucnMvcHJvZ3JhbXMuc2NtJwpgL3RtcC9ndWl4LXRlc3RzL3N0 b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAv c2hhcmUvZ3VpbGUvMi4wL3JucnMvbXV0YWJsZS1wYWlycy5zY20nIH4+IGAvdG1wL2d1aXgtdGVz dHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwt ZGlycy9zaGFyZS9ndWlsZS8yLjAvcm5ycy9tdXRhYmxlLXBhaXJzLnNjbScKYC90bXAvZ3VpeC10 ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3Ry YXAtMi4wL3NoYXJlL2d1aWxlLzIuMC9ybnJzL2J5dGV2ZWN0b3JzLnNjbScgfj4gYC90bXAvZ3Vp eC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0 LWFsbC1kaXJzL3NoYXJlL2d1aWxlLzIuMC9ybnJzL2J5dGV2ZWN0b3JzLnNjbScKYC90bXAvZ3Vp eC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290 c3RyYXAtMi4wL3NoYXJlL2d1aWxlLzIuMC9ybnJzL3VuaWNvZGUuc2NtJyB+PiBgL3RtcC9ndWl4 LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3Qt YWxsLWRpcnMvc2hhcmUvZ3VpbGUvMi4wL3JucnMvdW5pY29kZS5zY20nCmAvdG1wL2d1aXgtdGVz dHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFw LTIuMC9zaGFyZS9ndWlsZS8yLjAvcm5ycy9ldmFsLnNjbScgfj4gYC90bXAvZ3VpeC10ZXN0cy9z dG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJz L3NoYXJlL2d1aWxlLzIuMC9ybnJzL2V2YWwuc2NtJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5 MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvc2hhcmUv Z3VpbGUvMi4wL3JucnMvYmFzZS5zY20nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256 ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9zaGFyZS9ndWls ZS8yLjAvcm5ycy9iYXNlLnNjbScKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxy OXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL3NoYXJlL2d1aWxlLzIuMC9y bnJzL3N5bnRheC1jYXNlLnNjbScgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2 NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL3NoYXJlL2d1aWxlLzIu MC9ybnJzL3N5bnRheC1jYXNlLnNjbScKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0 MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL3NoYXJlL2d1aWxlLzIu MC9ybnJzL3I1cnMuc2NtJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZu bmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvc2hhcmUvZ3VpbGUvMi4wL3Ju cnMvcjVycy5zY20nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlo bGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9zaGFyZS9ndWlsZS8yLjAvcm5ycy9pby9w b3J0cy5zY20nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGly NTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9zaGFyZS9ndWlsZS8yLjAvcm5ycy9pby9w b3J0cy5zY20nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNt aHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9zaGFyZS9ndWlsZS8yLjAvcm5ycy9pby9zaW1w bGUuc2NtJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUw cTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvc2hhcmUvZ3VpbGUvMi4wL3JucnMvaW8vc2lt cGxlLnNjbScKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21o cmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL3NoYXJlL2d1aWxlLzIuMC9ybnJzL2V4Y2VwdGlv bnMuc2NtJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUw cTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvc2hhcmUvZ3VpbGUvMi4wL3JucnMvZXhjZXB0 aW9ucy5zY20nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNt aHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9zaGFyZS9ndWlsZS8yLjAvd2ViL2h0dHAuc2Nt JyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Jo c3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvc2hhcmUvZ3VpbGUvMi4wL3dlYi9odHRwLnNjbScKYC90 bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWls ZS1ib290c3RyYXAtMi4wL3NoYXJlL2d1aWxlLzIuMC93ZWIvY2xpZW50LnNjbScgfj4gYC90bXAv Z3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10 ZXN0LWFsbC1kaXJzL3NoYXJlL2d1aWxlLzIuMC93ZWIvY2xpZW50LnNjbScKYC90bXAvZ3VpeC10 ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3Ry YXAtMi4wL3NoYXJlL2d1aWxlLzIuMC93ZWIvc2VydmVyL2h0dHAuc2NtJyB+PiBgL3RtcC9ndWl4 LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3Qt YWxsLWRpcnMvc2hhcmUvZ3VpbGUvMi4wL3dlYi9zZXJ2ZXIvaHR0cC5zY20nCmAvdG1wL2d1aXgt dGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0 cmFwLTIuMC9zaGFyZS9ndWlsZS8yLjAvd2ViL3JlcXVlc3Quc2NtJyB+PiBgL3RtcC9ndWl4LXRl c3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxs LWRpcnMvc2hhcmUvZ3VpbGUvMi4wL3dlYi9yZXF1ZXN0LnNjbScKYC90bXAvZ3VpeC10ZXN0cy9z dG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4w L3NoYXJlL2d1aWxlLzIuMC93ZWIvcmVzcG9uc2Uuc2NtJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0 b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMv c2hhcmUvZ3VpbGUvMi4wL3dlYi9yZXNwb25zZS5zY20nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUv N3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9zaGFy ZS9ndWlsZS8yLjAvd2ViL3VyaS5zY20nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256 ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9zaGFyZS9ndWls ZS8yLjAvd2ViL3VyaS5zY20nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2 aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9zaGFyZS9ndWlsZS8yLjAvd2Vi L3NlcnZlci5zY20nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2 MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9zaGFyZS9ndWlsZS8yLjAvd2ViL3Nl cnZlci5zY20nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNt aHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9zaGFyZS9ndWlsZS8yLjAvdGV4aW5mby9pbmRl eGluZy5zY20nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGly NTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9zaGFyZS9ndWlsZS8yLjAvdGV4aW5mby9p bmRleGluZy5zY20nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlo bGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9zaGFyZS9ndWlsZS8yLjAvdGV4aW5mby9w bGFpbi10ZXh0LnNjbScgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5p czYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL3NoYXJlL2d1aWxlLzIuMC90ZXhp bmZvL3BsYWluLXRleHQuc2NtJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5 dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvc2hhcmUvZ3VpbGUvMi4wL3Rl eGluZm8vaHRtbC5zY20nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5u aXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9zaGFyZS9ndWlsZS8yLjAvdGV4 aW5mby9odG1sLnNjbScKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJo aWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL3NoYXJlL2d1aWxlLzIuMC90ZXhpbmZv L3JlZmxlY3Rpb24uc2NtJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZu bmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvc2hhcmUvZ3VpbGUvMi4wL3Rl eGluZm8vcmVmbGVjdGlvbi5zY20nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFs cjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9zaGFyZS9ndWlsZS8yLjAv dGV4aW5mby9zdHJpbmctdXRpbHMuc2NtJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNu emQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvc2hhcmUvZ3Vp bGUvMi4wL3RleGluZm8vc3RyaW5nLXV0aWxzLnNjbScKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83 eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL3NoYXJl L2d1aWxlLzIuMC90ZXhpbmZvL2RvY2Jvb2suc2NtJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3Jl L3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvc2hh cmUvZ3VpbGUvMi4wL3RleGluZm8vZG9jYm9vay5zY20nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUv N3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9zaGFy ZS9ndWlsZS8yLjAvdGV4aW5mby9zZXJpYWxpemUuc2NtJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0 b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMv c2hhcmUvZ3VpbGUvMi4wL3RleGluZm8vc2VyaWFsaXplLnNjbScKYC90bXAvZ3VpeC10ZXN0cy9z dG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4w L2Jpbi8uZ3VpbGUtcmVhbCcgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBm bm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL2Jpbi8uZ3VpbGUtcmVhbCcK YC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1n dWlsZS1ib290c3RyYXAtMi4wL2Jpbi9ndWlsZScgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9z azJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL2Jpbi9n dWlsZScKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2 OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL2xpYi9ndWlsZS8yLjAvY2NhY2hlL29vcC9nb29wcy5n bycgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdi aHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL2xpYi9ndWlsZS8yLjAvY2NhY2hlL29vcC9nb29wcy5n bycKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5 Zi1ndWlsZS1ib290c3RyYXAtMi4wL2xpYi9ndWlsZS8yLjAvY2NhY2hlL29vcC9nb29wcy9pbnRl cm5hbC5nbycgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1 MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL2xpYi9ndWlsZS8yLjAvY2NhY2hlL29vcC9n b29wcy9pbnRlcm5hbC5nbycKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZp eWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL2xpYi9ndWlsZS8yLjAvY2NhY2hl L29vcC9nb29wcy9zaW1wbGUuZ28nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2 djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9saWIvZ3VpbGUvMi4w L2NjYWNoZS9vb3AvZ29vcHMvc2ltcGxlLmdvJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4 bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvbGliL2d1aWxl LzIuMC9jY2FjaGUvb29wL2dvb3BzL3V0aWwuZ28nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUv c2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9saWIv Z3VpbGUvMi4wL2NjYWNoZS9vb3AvZ29vcHMvdXRpbC5nbycKYC90bXAvZ3VpeC10ZXN0cy9zdG9y ZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL2xp Yi9ndWlsZS8yLjAvY2NhY2hlL29vcC9nb29wcy9jb21waWxlLmdvJyB+PiBgL3RtcC9ndWl4LXRl c3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxs LWRpcnMvbGliL2d1aWxlLzIuMC9jY2FjaGUvb29wL2dvb3BzL2NvbXBpbGUuZ28nCmAvdG1wL2d1 aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9v dHN0cmFwLTIuMC9saWIvZ3VpbGUvMi4wL2NjYWNoZS9vb3AvZ29vcHMvZGlzcGF0Y2guZ28nIH4+ IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2Qt dW5pb24tdGVzdC1hbGwtZGlycy9saWIvZ3VpbGUvMi4wL2NjYWNoZS9vb3AvZ29vcHMvZGlzcGF0 Y2guZ28nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJp NjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9saWIvZ3VpbGUvMi4wL2NjYWNoZS9vb3AvZ29vcHMv YWN0aXZlLXNsb3QuZ28nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5u aXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9saWIvZ3VpbGUvMi4wL2NjYWNo ZS9vb3AvZ29vcHMvYWN0aXZlLXNsb3QuZ28nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThu Nnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9saWIvZ3VpbGUv Mi4wL2NjYWNoZS9vb3AvZ29vcHMvYWNjZXNzb3JzLmdvJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0 b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMv bGliL2d1aWxlLzIuMC9jY2FjaGUvb29wL2dvb3BzL2FjY2Vzc29ycy5nbycKYC90bXAvZ3VpeC10 ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3Ry YXAtMi4wL2xpYi9ndWlsZS8yLjAvY2NhY2hlL29vcC9nb29wcy9kZXNjcmliZS5nbycgfj4gYC90 bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlv bi10ZXN0LWFsbC1kaXJzL2xpYi9ndWlsZS8yLjAvY2NhY2hlL29vcC9nb29wcy9kZXNjcmliZS5n bycKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5 Zi1ndWlsZS1ib290c3RyYXAtMi4wL2xpYi9ndWlsZS8yLjAvY2NhY2hlL29vcC9nb29wcy9zdGts b3MuZ28nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBx MmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9saWIvZ3VpbGUvMi4wL2NjYWNoZS9vb3AvZ29v cHMvc3RrbG9zLmdvJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5Ymhp aGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvbGliL2d1aWxlLzIuMC9jY2FjaGUvb29w L2dvb3BzL2NvbXBvc2l0ZS1zbG90LmdvJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNu emQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvbGliL2d1aWxl LzIuMC9jY2FjaGUvb29wL2dvb3BzL2NvbXBvc2l0ZS1zbG90LmdvJwpgL3RtcC9ndWl4LXRlc3Rz L3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0y LjAvbGliL2d1aWxlLzIuMC9jY2FjaGUvb29wL2dvb3BzL3NhdmUuZ28nIH4+IGAvdG1wL2d1aXgt dGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1h bGwtZGlycy9saWIvZ3VpbGUvMi4wL2NjYWNoZS9vb3AvZ29vcHMvc2F2ZS5nbycKYC90bXAvZ3Vp eC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290 c3RyYXAtMi4wL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3RleGluZm8uZ28nIH4+IGAvdG1wL2d1aXgt dGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1h bGwtZGlycy9saWIvZ3VpbGUvMi4wL2NjYWNoZS90ZXhpbmZvLmdvJwpgL3RtcC9ndWl4LXRlc3Rz L3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0y LjAvbGliL2d1aWxlLzIuMC9jY2FjaGUvc3lzdGVtL2Jhc2UvcG1hdGNoLmdvJyB+PiBgL3RtcC9n dWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRl c3QtYWxsLWRpcnMvbGliL2d1aWxlLzIuMC9jY2FjaGUvc3lzdGVtL2Jhc2UvcG1hdGNoLmdvJwpg L3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1 aWxlLWJvb3RzdHJhcC0yLjAvbGliL2d1aWxlLzIuMC9jY2FjaGUvc3lzdGVtL2Jhc2Uvc3ludGF4 LmdvJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJj N2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvbGliL2d1aWxlLzIuMC9jY2FjaGUvc3lzdGVtL2Jh c2Uvc3ludGF4LmdvJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5Ymhp aGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvbGliL2d1aWxlLzIuMC9jY2FjaGUvc3lz dGVtL2Jhc2UvdGFyZ2V0LmdvJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3 MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvbGliL2d1aWxlLzIuMC9j Y2FjaGUvc3lzdGVtL2Jhc2UvdGFyZ2V0LmdvJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4 bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvbGliL2d1aWxl LzIuMC9jY2FjaGUvc3lzdGVtL2Jhc2UvbGFsci5nbycgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9y ZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL2xp Yi9ndWlsZS8yLjAvY2NhY2hlL3N5c3RlbS9iYXNlL2xhbHIuZ28nCmAvdG1wL2d1aXgtdGVzdHMv c3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIu MC9saWIvZ3VpbGUvMi4wL2NjYWNoZS9zeXN0ZW0vYmFzZS9jb21waWxlLmdvJyB+PiBgL3RtcC9n dWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRl c3QtYWxsLWRpcnMvbGliL2d1aWxlLzIuMC9jY2FjaGUvc3lzdGVtL2Jhc2UvY29tcGlsZS5nbycK YC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1n dWlsZS1ib290c3RyYXAtMi4wL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3N5c3RlbS9iYXNlL2NrLmdv JyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Jo c3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvbGliL2d1aWxlLzIuMC9jY2FjaGUvc3lzdGVtL2Jhc2Uv Y2suZ28nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJp NjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9saWIvZ3VpbGUvMi4wL2NjYWNoZS9zeXN0ZW0vYmFz ZS9sYW5ndWFnZS5nbycgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5p czYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL2xpYi9ndWlsZS8yLjAvY2NhY2hl L3N5c3RlbS9iYXNlL2xhbmd1YWdlLmdvJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6 djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvbGliL2d1aWxlLzIu MC9jY2FjaGUvc3lzdGVtL2Jhc2UvbWVzc2FnZS5nbycgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9y ZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL2xp Yi9ndWlsZS8yLjAvY2NhY2hlL3N5c3RlbS9iYXNlL21lc3NhZ2UuZ28nCmAvdG1wL2d1aXgtdGVz dHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFw LTIuMC9saWIvZ3VpbGUvMi4wL2NjYWNoZS9zeXN0ZW0vdm0vdHJhY2UuZ28nIH4+IGAvdG1wL2d1 aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVz dC1hbGwtZGlycy9saWIvZ3VpbGUvMi4wL2NjYWNoZS9zeXN0ZW0vdm0vdHJhY2UuZ28nCmAvdG1w L2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUt Ym9vdHN0cmFwLTIuMC9saWIvZ3VpbGUvMi4wL2NjYWNoZS9zeXN0ZW0vdm0vdHJhcHMuZ28nIH4+ IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2Qt dW5pb24tdGVzdC1hbGwtZGlycy9saWIvZ3VpbGUvMi4wL2NjYWNoZS9zeXN0ZW0vdm0vdHJhcHMu Z28nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkz OWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9saWIvZ3VpbGUvMi4wL2NjYWNoZS9zeXN0ZW0vdm0vdHJh cC1zdGF0ZS5nbycgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYw aXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3N5 c3RlbS92bS90cmFwLXN0YXRlLmdvJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQx bHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvbGliL2d1aWxlLzIuMC9j Y2FjaGUvc3lzdGVtL3ZtL29iamNvZGUuZ28nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2sy Y256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9saWIvZ3Vp bGUvMi4wL2NjYWNoZS9zeXN0ZW0vdm0vb2JqY29kZS5nbycKYC90bXAvZ3VpeC10ZXN0cy9zdG9y ZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL2xp Yi9ndWlsZS8yLjAvY2NhY2hlL3N5c3RlbS92bS9mcmFtZS5nbycgfj4gYC90bXAvZ3VpeC10ZXN0 cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1k aXJzL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3N5c3RlbS92bS9mcmFtZS5nbycKYC90bXAvZ3VpeC10 ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3Ry YXAtMi4wL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3N5c3RlbS92bS92bS5nbycgfj4gYC90bXAvZ3Vp eC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0 LWFsbC1kaXJzL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3N5c3RlbS92bS92bS5nbycKYC90bXAvZ3Vp eC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290 c3RyYXAtMi4wL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3N5c3RlbS92bS9jb3ZlcmFnZS5nbycgfj4g YC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11 bmlvbi10ZXN0LWFsbC1kaXJzL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3N5c3RlbS92bS9jb3ZlcmFn ZS5nbycKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2 OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3N5c3RlbS92bS9w cm9ncmFtLmdvJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBp cjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvbGliL2d1aWxlLzIuMC9jY2FjaGUvc3lz dGVtL3ZtL3Byb2dyYW0uZ28nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2 aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9saWIvZ3VpbGUvMi4wL2NjYWNo ZS9zeXN0ZW0vdm0vaW5zdHJ1Y3Rpb24uZ28nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2sy Y256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9saWIvZ3Vp bGUvMi4wL2NjYWNoZS9zeXN0ZW0vdm0vaW5zdHJ1Y3Rpb24uZ28nCmAvdG1wL2d1aXgtdGVzdHMv c3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIu MC9saWIvZ3VpbGUvMi4wL2NjYWNoZS9zeXN0ZW0vdm0vaW5zcGVjdC5nbycgfj4gYC90bXAvZ3Vp eC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0 LWFsbC1kaXJzL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3N5c3RlbS92bS9pbnNwZWN0LmdvJwpgL3Rt cC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxl LWJvb3RzdHJhcC0yLjAvbGliL2d1aWxlLzIuMC9jY2FjaGUvc3lzdGVtL2ZvcmVpZ24uZ28nIH4+ IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2Qt dW5pb24tdGVzdC1hbGwtZGlycy9saWIvZ3VpbGUvMi4wL2NjYWNoZS9zeXN0ZW0vZm9yZWlnbi5n bycKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5 Zi1ndWlsZS1ib290c3RyYXAtMi4wL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3N5c3RlbS94cmVmLmdv JyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Jo c3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvbGliL2d1aWxlLzIuMC9jY2FjaGUvc3lzdGVtL3hyZWYu Z28nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkz OWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9saWIvZ3VpbGUvMi4wL2NjYWNoZS9zeXN0ZW0vcmVwbC9j b21tYW5kLmdvJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBp cjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvbGliL2d1aWxlLzIuMC9jY2FjaGUvc3lz dGVtL3JlcGwvY29tbWFuZC5nbycKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxy OXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL2xpYi9ndWlsZS8yLjAvY2Nh Y2hlL3N5c3RlbS9yZXBsL3JlcGwuZ28nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256 ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9saWIvZ3VpbGUv Mi4wL2NjYWNoZS9zeXN0ZW0vcmVwbC9yZXBsLmdvJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5 MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvbGliL2d1 aWxlLzIuMC9jY2FjaGUvc3lzdGVtL3JlcGwvY29tbW9uLmdvJyB+PiBgL3RtcC9ndWl4LXRlc3Rz L3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRp cnMvbGliL2d1aWxlLzIuMC9jY2FjaGUvc3lzdGVtL3JlcGwvY29tbW9uLmdvJwpgL3RtcC9ndWl4 LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3Rz dHJhcC0yLjAvbGliL2d1aWxlLzIuMC9jY2FjaGUvc3lzdGVtL3JlcGwvc2VydmVyLmdvJyB+PiBg L3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVu aW9uLXRlc3QtYWxsLWRpcnMvbGliL2d1aWxlLzIuMC9jY2FjaGUvc3lzdGVtL3JlcGwvc2VydmVy LmdvJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5 MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvbGliL2d1aWxlLzIuMC9jY2FjaGUvc3lzdGVtL3JlcGwv ZXJyb3ItaGFuZGxpbmcuZ28nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcw Zm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9saWIvZ3VpbGUvMi4wL2Nj YWNoZS9zeXN0ZW0vcmVwbC9lcnJvci1oYW5kbGluZy5nbycKYC90bXAvZ3VpeC10ZXN0cy9zdG9y ZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL2xp Yi9ndWlsZS8yLjAvY2NhY2hlL3N5c3RlbS9yZXBsL2RlYnVnLmdvJyB+PiBgL3RtcC9ndWl4LXRl c3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxs LWRpcnMvbGliL2d1aWxlLzIuMC9jY2FjaGUvc3lzdGVtL3JlcGwvZGVidWcuZ28nCmAvdG1wL2d1 aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9v dHN0cmFwLTIuMC9saWIvZ3VpbGUvMi4wL2NjYWNoZS9ybnJzLmdvJyB+PiBgL3RtcC9ndWl4LXRl c3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxs LWRpcnMvbGliL2d1aWxlLzIuMC9jY2FjaGUvcm5ycy5nbycKYC90bXAvZ3VpeC10ZXN0cy9zdG9y ZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL2xp Yi9ndWlsZS8yLjAvY2NhY2hlL3N4bWwvYXBwbHktdGVtcGxhdGVzLmdvJyB+PiBgL3RtcC9ndWl4 LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3Qt YWxsLWRpcnMvbGliL2d1aWxlLzIuMC9jY2FjaGUvc3htbC9hcHBseS10ZW1wbGF0ZXMuZ28nCmAv dG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3Vp bGUtYm9vdHN0cmFwLTIuMC9saWIvZ3VpbGUvMi4wL2NjYWNoZS9zeG1sL3NpbXBsZS5nbycgfj4g YC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11 bmlvbi10ZXN0LWFsbC1kaXJzL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3N4bWwvc2ltcGxlLmdvJwpg L3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1 aWxlLWJvb3RzdHJhcC0yLjAvbGliL2d1aWxlLzIuMC9jY2FjaGUvc3htbC9mb2xkLmdvJyB+PiBg L3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVu aW9uLXRlc3QtYWxsLWRpcnMvbGliL2d1aWxlLzIuMC9jY2FjaGUvc3htbC9mb2xkLmdvJwpgL3Rt cC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxl LWJvb3RzdHJhcC0yLjAvbGliL2d1aWxlLzIuMC9jY2FjaGUvc3htbC94cGF0aC5nbycgfj4gYC90 bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlv bi10ZXN0LWFsbC1kaXJzL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3N4bWwveHBhdGguZ28nCmAvdG1w L2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUt Ym9vdHN0cmFwLTIuMC9saWIvZ3VpbGUvMi4wL2NjYWNoZS9zeG1sL3RyYW5zZm9ybS5nbycgfj4g YC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11 bmlvbi10ZXN0LWFsbC1kaXJzL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3N4bWwvdHJhbnNmb3JtLmdv JwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5Mzlm LWd1aWxlLWJvb3RzdHJhcC0yLjAvbGliL2d1aWxlLzIuMC9jY2FjaGUvc3htbC9zc2F4LmdvJyB+ PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3Nk LXVuaW9uLXRlc3QtYWxsLWRpcnMvbGliL2d1aWxlLzIuMC9jY2FjaGUvc3htbC9zc2F4LmdvJwpg L3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1 aWxlLWJvb3RzdHJhcC0yLjAvbGliL2d1aWxlLzIuMC9jY2FjaGUvc3htbC9zc2F4L2lucHV0LXBh cnNlLmdvJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUw cTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvbGliL2d1aWxlLzIuMC9jY2FjaGUvc3htbC9z c2F4L2lucHV0LXBhcnNlLmdvJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5 dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvbGliL2d1aWxlLzIuMC9jY2Fj aGUvc3htbC9tYXRjaC5nbycgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBm bm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL2xpYi9ndWlsZS8yLjAvY2Nh Y2hlL3N4bWwvbWF0Y2guZ28nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2 aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9saWIvZ3VpbGUvMi4wL2NjYWNo ZS9pY2UtOS9xLmdvJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlz NjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvbGliL2d1aWxlLzIuMC9jY2FjaGUv aWNlLTkvcS5nbycKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhs Y21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL2xpYi9ndWlsZS8yLjAvY2NhY2hlL2ljZS05 L3JlY2VpdmUuZ28nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2 MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9saWIvZ3VpbGUvMi4wL2NjYWNoZS9p Y2UtOS9yZWNlaXZlLmdvJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5 YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvbGliL2d1aWxlLzIuMC9jY2FjaGUv aWNlLTkvYm9vdC05LmdvJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZu bmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvbGliL2d1aWxlLzIuMC9jY2Fj aGUvaWNlLTkvYm9vdC05LmdvJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5 dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvbGliL2d1aWxlLzIuMC9jY2Fj aGUvaWNlLTkvcncuZ28nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5u aXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9saWIvZ3VpbGUvMi4wL2NjYWNo ZS9pY2UtOS9ydy5nbycKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJo aWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL2xpYi9ndWlsZS8yLjAvY2NhY2hlL2lj ZS05L2xzLmdvJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBp cjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvbGliL2d1aWxlLzIuMC9jY2FjaGUvaWNl LTkvbHMuZ28nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNt aHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9saWIvZ3VpbGUvMi4wL2NjYWNoZS9pY2UtOS9u ZXR3b3JraW5nLmdvJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlz NjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvbGliL2d1aWxlLzIuMC9jY2FjaGUv aWNlLTkvbmV0d29ya2luZy5nbycKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxy OXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL2xpYi9ndWlsZS8yLjAvY2Nh Y2hlL2ljZS05L3NhdmUtc3RhY2suZ28nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256 ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9saWIvZ3VpbGUv Mi4wL2NjYWNoZS9pY2UtOS9zYXZlLXN0YWNrLmdvJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5 MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvbGliL2d1 aWxlLzIuMC9jY2FjaGUvaWNlLTkvY2hhbm5lbC5nbycgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9y ZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL2xp Yi9ndWlsZS8yLjAvY2NhY2hlL2ljZS05L2NoYW5uZWwuZ28nCmAvdG1wL2d1aXgtdGVzdHMvc3Rv cmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9s aWIvZ3VpbGUvMi4wL2NjYWNoZS9pY2UtOS9tYXBwaW5nLmdvJyB+PiBgL3RtcC9ndWl4LXRlc3Rz L3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRp cnMvbGliL2d1aWxlLzIuMC9jY2FjaGUvaWNlLTkvbWFwcGluZy5nbycKYC90bXAvZ3VpeC10ZXN0 cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAt Mi4wL2xpYi9ndWlsZS8yLjAvY2NhY2hlL2ljZS05L3N0cmluZy1mdW4uZ28nIH4+IGAvdG1wL2d1 aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVz dC1hbGwtZGlycy9saWIvZ3VpbGUvMi4wL2NjYWNoZS9pY2UtOS9zdHJpbmctZnVuLmdvJwpgL3Rt cC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxl LWJvb3RzdHJhcC0yLjAvbGliL2d1aWxlLzIuMC9jY2FjaGUvaWNlLTkvY29udHJvbC5nbycgfj4g YC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11 bmlvbi10ZXN0LWFsbC1kaXJzL2xpYi9ndWlsZS8yLjAvY2NhY2hlL2ljZS05L2NvbnRyb2wuZ28n CmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYt Z3VpbGUtYm9vdHN0cmFwLTIuMC9saWIvZ3VpbGUvMi4wL2NjYWNoZS9pY2UtOS9wb2xsLmdvJyB+ PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3Nk LXVuaW9uLXRlc3QtYWxsLWRpcnMvbGliL2d1aWxlLzIuMC9jY2FjaGUvaWNlLTkvcG9sbC5nbycK YC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1n dWlsZS1ib290c3RyYXAtMi4wL2xpYi9ndWlsZS8yLjAvY2NhY2hlL2ljZS05L3N0cmVhbXMuZ28n IH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhz c2QtdW5pb24tdGVzdC1hbGwtZGlycy9saWIvZ3VpbGUvMi4wL2NjYWNoZS9pY2UtOS9zdHJlYW1z LmdvJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5 MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvbGliL2d1aWxlLzIuMC9jY2FjaGUvaWNlLTkvZXZhbC1z dHJpbmcuZ28nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGly NTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9saWIvZ3VpbGUvMi4wL2NjYWNoZS9pY2Ut OS9ldmFsLXN0cmluZy5nbycKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZp eWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL2xpYi9ndWlsZS8yLjAvY2NhY2hl L2ljZS05L3BzeW50YXgtcHAuZ28nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2 djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9saWIvZ3VpbGUvMi4w L2NjYWNoZS9pY2UtOS9wc3ludGF4LXBwLmdvJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4 bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvbGliL2d1aWxl LzIuMC9jY2FjaGUvaWNlLTkvZXZhbC5nbycgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJj bnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL2xpYi9ndWls ZS8yLjAvY2NhY2hlL2ljZS05L2V2YWwuZ28nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThu Nnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9saWIvZ3VpbGUv Mi4wL2NjYWNoZS9pY2UtOS9tYXRjaC5nbycgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJj bnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL2xpYi9ndWls ZS8yLjAvY2NhY2hlL2ljZS05L21hdGNoLmdvJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4 bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvbGliL2d1aWxl LzIuMC9jY2FjaGUvaWNlLTkvZG9jdW1lbnRhdGlvbi5nbycgfj4gYC90bXAvZ3VpeC10ZXN0cy9z dG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJz L2xpYi9ndWlsZS8yLjAvY2NhY2hlL2ljZS05L2RvY3VtZW50YXRpb24uZ28nCmAvdG1wL2d1aXgt dGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0 cmFwLTIuMC9saWIvZ3VpbGUvMi4wL2NjYWNoZS9pY2UtOS93ZWFrLXZlY3Rvci5nbycgfj4gYC90 bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlv bi10ZXN0LWFsbC1kaXJzL2xpYi9ndWlsZS8yLjAvY2NhY2hlL2ljZS05L3dlYWstdmVjdG9yLmdv JwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5Mzlm LWd1aWxlLWJvb3RzdHJhcC0yLjAvbGliL2d1aWxlLzIuMC9jY2FjaGUvaWNlLTkvZGVidWcuZ28n IH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhz c2QtdW5pb24tdGVzdC1hbGwtZGlycy9saWIvZ3VpbGUvMi4wL2NjYWNoZS9pY2UtOS9kZWJ1Zy5n bycKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5 Zi1ndWlsZS1ib290c3RyYXAtMi4wL2xpYi9ndWlsZS8yLjAvY2NhY2hlL2ljZS05L29jY2FtLWNo YW5uZWwuZ28nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGly NTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9saWIvZ3VpbGUvMi4wL2NjYWNoZS9pY2Ut OS9vY2NhbS1jaGFubmVsLmdvJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5 dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvbGliL2d1aWxlLzIuMC9jY2Fj aGUvaWNlLTkvcG9zaXguZ28nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcw Zm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9saWIvZ3VpbGUvMi4wL2Nj YWNoZS9pY2UtOS9wb3NpeC5nbycKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxy OXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL2xpYi9ndWlsZS8yLjAvY2Nh Y2hlL2ljZS05L2NvbW1vbi1saXN0LmdvJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNu emQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvbGliL2d1aWxl LzIuMC9jY2FjaGUvaWNlLTkvY29tbW9uLWxpc3QuZ28nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUv N3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9saWIv Z3VpbGUvMi4wL2NjYWNoZS9pY2UtOS9udWxsLmdvJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3Jl L3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvbGli L2d1aWxlLzIuMC9jY2FjaGUvaWNlLTkvbnVsbC5nbycKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83 eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL2xpYi9n dWlsZS8yLjAvY2NhY2hlL2ljZS05L3RvcC1yZXBsLmdvJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0 b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMv bGliL2d1aWxlLzIuMC9jY2FjaGUvaWNlLTkvdG9wLXJlcGwuZ28nCmAvdG1wL2d1aXgtdGVzdHMv c3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIu MC9saWIvZ3VpbGUvMi4wL2NjYWNoZS9pY2UtOS9yNXJzLmdvJyB+PiBgL3RtcC9ndWl4LXRlc3Rz L3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRp cnMvbGliL2d1aWxlLzIuMC9jY2FjaGUvaWNlLTkvcjVycy5nbycKYC90bXAvZ3VpeC10ZXN0cy9z dG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4w L2xpYi9ndWlsZS8yLjAvY2NhY2hlL2ljZS05L3J1bnEuZ28nIH4+IGAvdG1wL2d1aXgtdGVzdHMv c3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGly cy9saWIvZ3VpbGUvMi4wL2NjYWNoZS9pY2UtOS9ydW5xLmdvJwpgL3RtcC9ndWl4LXRlc3RzL3N0 b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAv bGliL2d1aWxlLzIuMC9jY2FjaGUvaWNlLTkvbG9jYWwtZXZhbC5nbycgfj4gYC90bXAvZ3VpeC10 ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFs bC1kaXJzL2xpYi9ndWlsZS8yLjAvY2NhY2hlL2ljZS05L2xvY2FsLWV2YWwuZ28nCmAvdG1wL2d1 aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9v dHN0cmFwLTIuMC9saWIvZ3VpbGUvMi4wL2NjYWNoZS9pY2UtOS9mdHcuZ28nIH4+IGAvdG1wL2d1 aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVz dC1hbGwtZGlycy9saWIvZ3VpbGUvMi4wL2NjYWNoZS9pY2UtOS9mdHcuZ28nCmAvdG1wL2d1aXgt dGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0 cmFwLTIuMC9saWIvZ3VpbGUvMi4wL2NjYWNoZS9pY2UtOS9zZXJpYWxpemUuZ28nIH4+IGAvdG1w L2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24t dGVzdC1hbGwtZGlycy9saWIvZ3VpbGUvMi4wL2NjYWNoZS9pY2UtOS9zZXJpYWxpemUuZ28nCmAv dG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3Vp bGUtYm9vdHN0cmFwLTIuMC9saWIvZ3VpbGUvMi4wL2NjYWNoZS9pY2UtOS9zbGliLmdvJyB+PiBg L3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVu aW9uLXRlc3QtYWxsLWRpcnMvbGliL2d1aWxlLzIuMC9jY2FjaGUvaWNlLTkvc2xpYi5nbycKYC90 bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWls ZS1ib290c3RyYXAtMi4wL2xpYi9ndWlsZS8yLjAvY2NhY2hlL2ljZS05L3ByZXR0eS1wcmludC5n bycgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdi aHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL2xpYi9ndWlsZS8yLjAvY2NhY2hlL2ljZS05L3ByZXR0 eS1wcmludC5nbycKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhs Y21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL2xpYi9ndWlsZS8yLjAvY2NhY2hlL2ljZS05 L2xpbmVpby5nbycgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYw aXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL2xpYi9ndWlsZS8yLjAvY2NhY2hlL2lj ZS05L2xpbmVpby5nbycKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJo aWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL2xpYi9ndWlsZS8yLjAvY2NhY2hlL2lj ZS05L2hpc3RvcnkuZ28nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5u aXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9saWIvZ3VpbGUvMi4wL2NjYWNo ZS9pY2UtOS9oaXN0b3J5LmdvJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5 dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvbGliL2d1aWxlLzIuMC9jY2Fj aGUvaWNlLTkvcmVhZGxpbmUuZ28nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2 djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9saWIvZ3VpbGUvMi4w L2NjYWNoZS9pY2UtOS9yZWFkbGluZS5nbycKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42 enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL2xpYi9ndWlsZS8y LjAvY2NhY2hlL2ljZS05L3RocmVhZHMuZ28nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2sy Y256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9saWIvZ3Vp bGUvMi4wL2NjYWNoZS9pY2UtOS90aHJlYWRzLmdvJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5 MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvbGliL2d1 aWxlLzIuMC9jY2FjaGUvaWNlLTkvY2FsbGluZy5nbycgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9y ZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL2xp Yi9ndWlsZS8yLjAvY2NhY2hlL2ljZS05L2NhbGxpbmcuZ28nCmAvdG1wL2d1aXgtdGVzdHMvc3Rv cmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9s aWIvZ3VpbGUvMi4wL2NjYWNoZS9pY2UtOS9vcHRhcmdzLmdvJyB+PiBgL3RtcC9ndWl4LXRlc3Rz L3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRp cnMvbGliL2d1aWxlLzIuMC9jY2FjaGUvaWNlLTkvb3B0YXJncy5nbycKYC90bXAvZ3VpeC10ZXN0 cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAt Mi4wL2xpYi9ndWlsZS8yLjAvY2NhY2hlL2ljZS05L2dhcC1idWZmZXIuZ28nIH4+IGAvdG1wL2d1 aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVz dC1hbGwtZGlycy9saWIvZ3VpbGUvMi4wL2NjYWNoZS9pY2UtOS9nYXAtYnVmZmVyLmdvJwpgL3Rt cC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxl LWJvb3RzdHJhcC0yLjAvbGliL2d1aWxlLzIuMC9jY2FjaGUvaWNlLTkvZGVwcmVjYXRlZC5nbycg fj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNz ZC11bmlvbi10ZXN0LWFsbC1kaXJzL2xpYi9ndWlsZS8yLjAvY2NhY2hlL2ljZS05L2RlcHJlY2F0 ZWQuZ28nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJp NjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9saWIvZ3VpbGUvMi4wL2NjYWNoZS9pY2UtOS9yZWdl eC5nbycgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEy YzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL2xpYi9ndWlsZS8yLjAvY2NhY2hlL2ljZS05L3Jl Z2V4LmdvJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhy aTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvbGliL2d1aWxlLzIuMC9jY2FjaGUvaWNlLTkvdGlt ZS5nbycgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEy YzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL2xpYi9ndWlsZS8yLjAvY2NhY2hlL2ljZS05L3Rp bWUuZ28nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJp NjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9saWIvZ3VpbGUvMi4wL2NjYWNoZS9pY2UtOS9iaW5h cnktcG9ydHMuZ28nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2 MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9saWIvZ3VpbGUvMi4wL2NjYWNoZS9p Y2UtOS9iaW5hcnktcG9ydHMuZ28nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFs cjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9saWIvZ3VpbGUvMi4wL2Nj YWNoZS9pY2UtOS9wb2UuZ28nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcw Zm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9saWIvZ3VpbGUvMi4wL2Nj YWNoZS9pY2UtOS9wb2UuZ28nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2 aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9saWIvZ3VpbGUvMi4wL2NjYWNo ZS9pY2UtOS9hbmQtbGV0LXN0YXIuZ28nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256 ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9saWIvZ3VpbGUv Mi4wL2NjYWNoZS9pY2UtOS9hbmQtbGV0LXN0YXIuZ28nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUv N3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9saWIv Z3VpbGUvMi4wL2NjYWNoZS9pY2UtOS9mdXR1cmVzLmdvJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0 b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMv bGliL2d1aWxlLzIuMC9jY2FjaGUvaWNlLTkvZnV0dXJlcy5nbycKYC90bXAvZ3VpeC10ZXN0cy9z dG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4w L2xpYi9ndWlsZS8yLjAvY2NhY2hlL2ljZS05L3BvcGVuLmdvJyB+PiBgL3RtcC9ndWl4LXRlc3Rz L3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRp cnMvbGliL2d1aWxlLzIuMC9jY2FjaGUvaWNlLTkvcG9wZW4uZ28nCmAvdG1wL2d1aXgtdGVzdHMv c3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIu MC9saWIvZ3VpbGUvMi4wL2NjYWNoZS9pY2UtOS9jdXJyaWVkLWRlZmluaXRpb25zLmdvJyB+PiBg L3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVu aW9uLXRlc3QtYWxsLWRpcnMvbGliL2d1aWxlLzIuMC9jY2FjaGUvaWNlLTkvY3VycmllZC1kZWZp bml0aW9ucy5nbycKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhs Y21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL2xpYi9ndWlsZS8yLjAvY2NhY2hlL2ljZS05 L3ZsaXN0LmdvJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBp cjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvbGliL2d1aWxlLzIuMC9jY2FjaGUvaWNl LTkvdmxpc3QuZ28nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlo bGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9saWIvZ3VpbGUvMi4wL2NjYWNoZS9pY2Ut OS9zYWZlLXI1cnMuZ28nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5u aXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9saWIvZ3VpbGUvMi4wL2NjYWNo ZS9pY2UtOS9zYWZlLXI1cnMuZ28nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFs cjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9saWIvZ3VpbGUvMi4wL2Nj YWNoZS9pY2UtOS9zY20tc3R5bGUtcmVwbC5nbycgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9z azJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL2xpYi9n dWlsZS8yLjAvY2NhY2hlL2ljZS05L3NjbS1zdHlsZS1yZXBsLmdvJwpgL3RtcC9ndWl4LXRlc3Rz L3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0y LjAvbGliL2d1aWxlLzIuMC9jY2FjaGUvaWNlLTkvc3RhY2stY2F0Y2guZ28nIH4+IGAvdG1wL2d1 aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVz dC1hbGwtZGlycy9saWIvZ3VpbGUvMi4wL2NjYWNoZS9pY2UtOS9zdGFjay1jYXRjaC5nbycKYC90 bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWls ZS1ib290c3RyYXAtMi4wL2xpYi9ndWlsZS8yLjAvY2NhY2hlL2ljZS05L3Nlc3Npb24uZ28nIH4+ IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2Qt dW5pb24tdGVzdC1hbGwtZGlycy9saWIvZ3VpbGUvMi4wL2NjYWNoZS9pY2UtOS9zZXNzaW9uLmdv JwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5Mzlm LWd1aWxlLWJvb3RzdHJhcC0yLjAvbGliL2d1aWxlLzIuMC9jY2FjaGUvaWNlLTkvaGNvbnMuZ28n IH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhz c2QtdW5pb24tdGVzdC1hbGwtZGlycy9saWIvZ3VpbGUvMi4wL2NjYWNoZS9pY2UtOS9oY29ucy5n bycKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5 Zi1ndWlsZS1ib290c3RyYXAtMi4wL2xpYi9ndWlsZS8yLjAvY2NhY2hlL2ljZS05L2J1ZmZlcmVk LWlucHV0LmdvJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBp cjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvbGliL2d1aWxlLzIuMC9jY2FjaGUvaWNl LTkvYnVmZmVyZWQtaW5wdXQuZ28nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFs cjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9saWIvZ3VpbGUvMi4wL2Nj YWNoZS9pY2UtOS9saXN0LmdvJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3 MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvbGliL2d1aWxlLzIuMC9j Y2FjaGUvaWNlLTkvbGlzdC5nbycKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxy OXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL2xpYi9ndWlsZS8yLjAvY2Nh Y2hlL2ljZS05L2dldG9wdC1sb25nLmdvJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNu emQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvbGliL2d1aWxl LzIuMC9jY2FjaGUvaWNlLTkvZ2V0b3B0LWxvbmcuZ28nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUv N3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9saWIv Z3VpbGUvMi4wL2NjYWNoZS9pY2UtOS9zeW5jYXNlLmdvJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0 b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMv bGliL2d1aWxlLzIuMC9jY2FjaGUvaWNlLTkvc3luY2FzZS5nbycKYC90bXAvZ3VpeC10ZXN0cy9z dG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4w L2xpYi9ndWlsZS8yLjAvY2NhY2hlL2ljZS05L2kxOG4uZ28nIH4+IGAvdG1wL2d1aXgtdGVzdHMv c3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGly cy9saWIvZ3VpbGUvMi4wL2NjYWNoZS9pY2UtOS9pMThuLmdvJwpgL3RtcC9ndWl4LXRlc3RzL3N0 b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAv bGliL2d1aWxlLzIuMC9jY2FjaGUvaWNlLTkvZm9ybWF0LmdvJyB+PiBgL3RtcC9ndWl4LXRlc3Rz L3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRp cnMvbGliL2d1aWxlLzIuMC9jY2FjaGUvaWNlLTkvZm9ybWF0LmdvJwpgL3RtcC9ndWl4LXRlc3Rz L3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0y LjAvbGliL2d1aWxlLzIuMC9jY2FjaGUvaWNlLTkvZXhwZWN0LmdvJyB+PiBgL3RtcC9ndWl4LXRl c3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxs LWRpcnMvbGliL2d1aWxlLzIuMC9jY2FjaGUvaWNlLTkvZXhwZWN0LmdvJwpgL3RtcC9ndWl4LXRl c3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJh cC0yLjAvbGliL2d1aWxlLzIuMC9jY2FjaGUvaWNlLTkvcmRlbGltLmdvJyB+PiBgL3RtcC9ndWl4 LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3Qt YWxsLWRpcnMvbGliL2d1aWxlLzIuMC9jY2FjaGUvaWNlLTkvcmRlbGltLmdvJwpgL3RtcC9ndWl4 LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3Rz dHJhcC0yLjAvbGliL2d1aWxlLzIuMC9jY2FjaGUvaWNlLTkvcjRycy5nbycgfj4gYC90bXAvZ3Vp eC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0 LWFsbC1kaXJzL2xpYi9ndWlsZS8yLjAvY2NhY2hlL2ljZS05L3I0cnMuZ28nCmAvdG1wL2d1aXgt dGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0 cmFwLTIuMC9saWIvZ3VpbGUvMi4wL2NjYWNoZS9pY2UtOS9pY29udi5nbycgfj4gYC90bXAvZ3Vp eC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0 LWFsbC1kaXJzL2xpYi9ndWlsZS8yLjAvY2NhY2hlL2ljZS05L2ljb252LmdvJwpgL3RtcC9ndWl4 LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3Rz dHJhcC0yLjAvbGliL2d1aWxlLzIuMC9jY2FjaGUvaWNlLTkvY29tbWFuZC1saW5lLmdvJyB+PiBg L3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVu aW9uLXRlc3QtYWxsLWRpcnMvbGliL2d1aWxlLzIuMC9jY2FjaGUvaWNlLTkvY29tbWFuZC1saW5l LmdvJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5 MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvbGliL2d1aWxlLzIuMC9jY2FjaGUvaWNlLTkvc2FmZS5n bycgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdi aHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL2xpYi9ndWlsZS8yLjAvY2NhY2hlL2ljZS05L3NhZmUu Z28nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkz OWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9saWIvZ3VpbGUvMi4wL2NjYWNoZS9sYW5ndWFnZS9nbGls LmdvJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJj N2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvbGliL2d1aWxlLzIuMC9jY2FjaGUvbGFuZ3VhZ2Uv Z2xpbC5nbycKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21o cmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL2xpYi9ndWlsZS8yLjAvY2NhY2hlL2xhbmd1YWdl L3RyZWUtaWwuZ28nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2 MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9saWIvZ3VpbGUvMi4wL2NjYWNoZS9s YW5ndWFnZS90cmVlLWlsLmdvJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5 dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvbGliL2d1aWxlLzIuMC9jY2Fj aGUvbGFuZ3VhZ2UvdmFsdWUvc3BlYy5nbycgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJj bnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL2xpYi9ndWls ZS8yLjAvY2NhY2hlL2xhbmd1YWdlL3ZhbHVlL3NwZWMuZ28nCmAvdG1wL2d1aXgtdGVzdHMvc3Rv cmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9s aWIvZ3VpbGUvMi4wL2NjYWNoZS9sYW5ndWFnZS9hc3NlbWJseS5nbycgfj4gYC90bXAvZ3VpeC10 ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFs bC1kaXJzL2xpYi9ndWlsZS8yLjAvY2NhY2hlL2xhbmd1YWdlL2Fzc2VtYmx5LmdvJwpgL3RtcC9n dWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJv b3RzdHJhcC0yLjAvbGliL2d1aWxlLzIuMC9jY2FjaGUvbGFuZ3VhZ2UvYXNzZW1ibHkvZGlzYXNz ZW1ibGUuZ28nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGly NTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9saWIvZ3VpbGUvMi4wL2NjYWNoZS9sYW5n dWFnZS9hc3NlbWJseS9kaXNhc3NlbWJsZS5nbycKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBx OG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL2xpYi9ndWls ZS8yLjAvY2NhY2hlL2xhbmd1YWdlL2Fzc2VtYmx5L3NwZWMuZ28nIH4+IGAvdG1wL2d1aXgtdGVz dHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwt ZGlycy9saWIvZ3VpbGUvMi4wL2NjYWNoZS9sYW5ndWFnZS9hc3NlbWJseS9zcGVjLmdvJwpgL3Rt cC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxl LWJvb3RzdHJhcC0yLjAvbGliL2d1aWxlLzIuMC9jY2FjaGUvbGFuZ3VhZ2UvYXNzZW1ibHkvY29t cGlsZS1ieXRlY29kZS5nbycgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBm bm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL2xpYi9ndWlsZS8yLjAvY2Nh Y2hlL2xhbmd1YWdlL2Fzc2VtYmx5L2NvbXBpbGUtYnl0ZWNvZGUuZ28nCmAvdG1wL2d1aXgtdGVz dHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFw LTIuMC9saWIvZ3VpbGUvMi4wL2NjYWNoZS9sYW5ndWFnZS9hc3NlbWJseS9kZWNvbXBpbGUtYnl0 ZWNvZGUuZ28nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGly NTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9saWIvZ3VpbGUvMi4wL2NjYWNoZS9sYW5n dWFnZS9hc3NlbWJseS9kZWNvbXBpbGUtYnl0ZWNvZGUuZ28nCmAvdG1wL2d1aXgtdGVzdHMvc3Rv cmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9s aWIvZ3VpbGUvMi4wL2NjYWNoZS9sYW5ndWFnZS9zY2hlbWUvZGVjb21waWxlLXRyZWUtaWwuZ28n IH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhz c2QtdW5pb24tdGVzdC1hbGwtZGlycy9saWIvZ3VpbGUvMi4wL2NjYWNoZS9sYW5ndWFnZS9zY2hl bWUvZGVjb21waWxlLXRyZWUtaWwuZ28nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2 NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9saWIvZ3VpbGUvMi4w L2NjYWNoZS9sYW5ndWFnZS9zY2hlbWUvY29tcGlsZS10cmVlLWlsLmdvJyB+PiBgL3RtcC9ndWl4 LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3Qt YWxsLWRpcnMvbGliL2d1aWxlLzIuMC9jY2FjaGUvbGFuZ3VhZ2Uvc2NoZW1lL2NvbXBpbGUtdHJl ZS1pbC5nbycKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21o cmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL2xpYi9ndWlsZS8yLjAvY2NhY2hlL2xhbmd1YWdl L3NjaGVtZS9zcGVjLmdvJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZu bmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvbGliL2d1aWxlLzIuMC9jY2Fj aGUvbGFuZ3VhZ2Uvc2NoZW1lL3NwZWMuZ28nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThu Nnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9saWIvZ3VpbGUv Mi4wL2NjYWNoZS9sYW5ndWFnZS9vYmpjb2RlL3NwZWMuZ28nIH4+IGAvdG1wL2d1aXgtdGVzdHMv c3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGly cy9saWIvZ3VpbGUvMi4wL2NjYWNoZS9sYW5ndWFnZS9vYmpjb2RlL3NwZWMuZ28nCmAvdG1wL2d1 aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9v dHN0cmFwLTIuMC9saWIvZ3VpbGUvMi4wL2NjYWNoZS9sYW5ndWFnZS90cmVlLWlsL2VmZmVjdHMu Z28nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3 Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9saWIvZ3VpbGUvMi4wL2NjYWNoZS9sYW5ndWFnZS90 cmVlLWlsL2VmZmVjdHMuZ28nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2 aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9saWIvZ3VpbGUvMi4wL2NjYWNo ZS9sYW5ndWFnZS90cmVlLWlsL2ZpeC1sZXRyZWMuZ28nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3Rv cmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9s aWIvZ3VpbGUvMi4wL2NjYWNoZS9sYW5ndWFnZS90cmVlLWlsL2ZpeC1sZXRyZWMuZ28nCmAvdG1w L2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUt Ym9vdHN0cmFwLTIuMC9saWIvZ3VpbGUvMi4wL2NjYWNoZS9sYW5ndWFnZS90cmVlLWlsL2lubGlu ZS5nbycgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEy YzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL2xpYi9ndWlsZS8yLjAvY2NhY2hlL2xhbmd1YWdl L3RyZWUtaWwvaW5saW5lLmdvJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5 dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvbGliL2d1aWxlLzIuMC9jY2Fj aGUvbGFuZ3VhZ2UvdHJlZS1pbC9jYW5vbmljYWxpemUuZ28nIH4+IGAvdG1wL2d1aXgtdGVzdHMv c3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGly cy9saWIvZ3VpbGUvMi4wL2NjYWNoZS9sYW5ndWFnZS90cmVlLWlsL2Nhbm9uaWNhbGl6ZS5nbycK YC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1n dWlsZS1ib290c3RyYXAtMi4wL2xpYi9ndWlsZS8yLjAvY2NhY2hlL2xhbmd1YWdlL3RyZWUtaWwv Y29tcGlsZS1nbGlsLmdvJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZu bmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvbGliL2d1aWxlLzIuMC9jY2Fj aGUvbGFuZ3VhZ2UvdHJlZS1pbC9jb21waWxlLWdsaWwuZ28nCmAvdG1wL2d1aXgtdGVzdHMvc3Rv cmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9s aWIvZ3VpbGUvMi4wL2NjYWNoZS9sYW5ndWFnZS90cmVlLWlsL2FuYWx5emUuZ28nIH4+IGAvdG1w L2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24t dGVzdC1hbGwtZGlycy9saWIvZ3VpbGUvMi4wL2NjYWNoZS9sYW5ndWFnZS90cmVlLWlsL2FuYWx5 emUuZ28nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJp NjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9saWIvZ3VpbGUvMi4wL2NjYWNoZS9sYW5ndWFnZS90 cmVlLWlsL2NzZS5nbycgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5p czYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL2xpYi9ndWlsZS8yLjAvY2NhY2hl L2xhbmd1YWdlL3RyZWUtaWwvY3NlLmdvJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6 djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvbGliL2d1aWxlLzIu MC9jY2FjaGUvbGFuZ3VhZ2UvdHJlZS1pbC9wZXZhbC5nbycgfj4gYC90bXAvZ3VpeC10ZXN0cy9z dG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJz L2xpYi9ndWlsZS8yLjAvY2NhY2hlL2xhbmd1YWdlL3RyZWUtaWwvcGV2YWwuZ28nCmAvdG1wL2d1 aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9v dHN0cmFwLTIuMC9saWIvZ3VpbGUvMi4wL2NjYWNoZS9sYW5ndWFnZS90cmVlLWlsL29wdGltaXpl LmdvJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJj N2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvbGliL2d1aWxlLzIuMC9jY2FjaGUvbGFuZ3VhZ2Uv dHJlZS1pbC9vcHRpbWl6ZS5nbycKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxy OXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL2xpYi9ndWlsZS8yLjAvY2Nh Y2hlL2xhbmd1YWdlL3RyZWUtaWwvcHJpbWl0aXZlcy5nbycgfj4gYC90bXAvZ3VpeC10ZXN0cy9z dG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJz L2xpYi9ndWlsZS8yLjAvY2NhY2hlL2xhbmd1YWdlL3RyZWUtaWwvcHJpbWl0aXZlcy5nbycKYC90 bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWls ZS1ib290c3RyYXAtMi4wL2xpYi9ndWlsZS8yLjAvY2NhY2hlL2xhbmd1YWdlL3RyZWUtaWwvZGVi dWcuZ28nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBx MmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9saWIvZ3VpbGUvMi4wL2NjYWNoZS9sYW5ndWFn ZS90cmVlLWlsL2RlYnVnLmdvJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5 dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvbGliL2d1aWxlLzIuMC9jY2Fj aGUvbGFuZ3VhZ2UvdHJlZS1pbC9zcGVjLmdvJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3Nr MmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvbGliL2d1 aWxlLzIuMC9jY2FjaGUvbGFuZ3VhZ2UvdHJlZS1pbC9zcGVjLmdvJwpgL3RtcC9ndWl4LXRlc3Rz L3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0y LjAvbGliL2d1aWxlLzIuMC9jY2FjaGUvbGFuZ3VhZ2UvZWxpc3AvcnVudGltZS92YWx1ZS1zbG90 LmdvJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJj N2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvbGliL2d1aWxlLzIuMC9jY2FjaGUvbGFuZ3VhZ2Uv ZWxpc3AvcnVudGltZS92YWx1ZS1zbG90LmdvJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4 bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvbGliL2d1aWxl LzIuMC9jY2FjaGUvbGFuZ3VhZ2UvZWxpc3AvcnVudGltZS9zdWJycy5nbycgfj4gYC90bXAvZ3Vp eC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0 LWFsbC1kaXJzL2xpYi9ndWlsZS8yLjAvY2NhY2hlL2xhbmd1YWdlL2VsaXNwL3J1bnRpbWUvc3Vi cnMuZ28nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJp NjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9saWIvZ3VpbGUvMi4wL2NjYWNoZS9sYW5ndWFnZS9l bGlzcC9ydW50aW1lL2Z1bmN0aW9uLXNsb3QuZ28nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUv c2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9saWIv Z3VpbGUvMi4wL2NjYWNoZS9sYW5ndWFnZS9lbGlzcC9ydW50aW1lL2Z1bmN0aW9uLXNsb3QuZ28n CmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYt Z3VpbGUtYm9vdHN0cmFwLTIuMC9saWIvZ3VpbGUvMi4wL2NjYWNoZS9sYW5ndWFnZS9lbGlzcC9y dW50aW1lL21hY3Jvcy5nbycgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBm bm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL2xpYi9ndWlsZS8yLjAvY2Nh Y2hlL2xhbmd1YWdlL2VsaXNwL3J1bnRpbWUvbWFjcm9zLmdvJwpgL3RtcC9ndWl4LXRlc3RzL3N0 b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAv bGliL2d1aWxlLzIuMC9jY2FjaGUvbGFuZ3VhZ2UvZWxpc3AvbGV4ZXIuZ28nIH4+IGAvdG1wL2d1 aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVz dC1hbGwtZGlycy9saWIvZ3VpbGUvMi4wL2NjYWNoZS9sYW5ndWFnZS9lbGlzcC9sZXhlci5nbycK YC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1n dWlsZS1ib290c3RyYXAtMi4wL2xpYi9ndWlsZS8yLjAvY2NhY2hlL2xhbmd1YWdlL2VsaXNwL3Bh cnNlci5nbycgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1 MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL2xpYi9ndWlsZS8yLjAvY2NhY2hlL2xhbmd1 YWdlL2VsaXNwL3BhcnNlci5nbycKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxy OXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL2xpYi9ndWlsZS8yLjAvY2Nh Y2hlL2xhbmd1YWdlL2VsaXNwL2JpbmRpbmdzLmdvJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3Jl L3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvbGli L2d1aWxlLzIuMC9jY2FjaGUvbGFuZ3VhZ2UvZWxpc3AvYmluZGluZ3MuZ28nCmAvdG1wL2d1aXgt dGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0 cmFwLTIuMC9saWIvZ3VpbGUvMi4wL2NjYWNoZS9sYW5ndWFnZS9lbGlzcC9jb21waWxlLXRyZWUt aWwuZ28nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBx MmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9saWIvZ3VpbGUvMi4wL2NjYWNoZS9sYW5ndWFn ZS9lbGlzcC9jb21waWxlLXRyZWUtaWwuZ28nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThu Nnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9saWIvZ3VpbGUv Mi4wL2NjYWNoZS9sYW5ndWFnZS9lbGlzcC9zcGVjLmdvJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0 b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMv bGliL2d1aWxlLzIuMC9jY2FjaGUvbGFuZ3VhZ2UvZWxpc3Avc3BlYy5nbycKYC90bXAvZ3VpeC10 ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3Ry YXAtMi4wL2xpYi9ndWlsZS8yLjAvY2NhY2hlL2xhbmd1YWdlL2VsaXNwL3J1bnRpbWUuZ28nIH4+ IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2Qt dW5pb24tdGVzdC1hbGwtZGlycy9saWIvZ3VpbGUvMi4wL2NjYWNoZS9sYW5ndWFnZS9lbGlzcC9y dW50aW1lLmdvJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxj bWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvbGliL2d1aWxlLzIuMC9jY2FjaGUvbGFuZ3Vh Z2UvZ2xpbC9jb21waWxlLWFzc2VtYmx5LmdvJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3Nr MmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvbGliL2d1 aWxlLzIuMC9jY2FjaGUvbGFuZ3VhZ2UvZ2xpbC9jb21waWxlLWFzc2VtYmx5LmdvJwpgL3RtcC9n dWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJv b3RzdHJhcC0yLjAvbGliL2d1aWxlLzIuMC9jY2FjaGUvbGFuZ3VhZ2UvZ2xpbC9zcGVjLmdvJyB+ PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3Nk LXVuaW9uLXRlc3QtYWxsLWRpcnMvbGliL2d1aWxlLzIuMC9jY2FjaGUvbGFuZ3VhZ2UvZ2xpbC9z cGVjLmdvJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhy aTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvbGliL2d1aWxlLzIuMC9jY2FjaGUvbGFuZ3VhZ2Uv ZWNtYXNjcmlwdC9mdW5jdGlvbi5nbycgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpk OTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL2xpYi9ndWlsZS8y LjAvY2NhY2hlL2xhbmd1YWdlL2VjbWFzY3JpcHQvZnVuY3Rpb24uZ28nCmAvdG1wL2d1aXgtdGVz dHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFw LTIuMC9saWIvZ3VpbGUvMi4wL2NjYWNoZS9sYW5ndWFnZS9lY21hc2NyaXB0L2FycmF5LmdvJyB+ PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3Nk LXVuaW9uLXRlc3QtYWxsLWRpcnMvbGliL2d1aWxlLzIuMC9jY2FjaGUvbGFuZ3VhZ2UvZWNtYXNj cmlwdC9hcnJheS5nbycKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJo aWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL2xpYi9ndWlsZS8yLjAvY2NhY2hlL2xh bmd1YWdlL2VjbWFzY3JpcHQvdG9rZW5pemUuZ28nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUv c2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9saWIv Z3VpbGUvMi4wL2NjYWNoZS9sYW5ndWFnZS9lY21hc2NyaXB0L3Rva2VuaXplLmdvJwpgL3RtcC9n dWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJv b3RzdHJhcC0yLjAvbGliL2d1aWxlLzIuMC9jY2FjaGUvbGFuZ3VhZ2UvZWNtYXNjcmlwdC9pbXBs LmdvJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJj N2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvbGliL2d1aWxlLzIuMC9jY2FjaGUvbGFuZ3VhZ2Uv ZWNtYXNjcmlwdC9pbXBsLmdvJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5 dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvbGliL2d1aWxlLzIuMC9jY2Fj aGUvbGFuZ3VhZ2UvZWNtYXNjcmlwdC9jb21waWxlLXRyZWUtaWwuZ28nIH4+IGAvdG1wL2d1aXgt dGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1h bGwtZGlycy9saWIvZ3VpbGUvMi4wL2NjYWNoZS9sYW5ndWFnZS9lY21hc2NyaXB0L2NvbXBpbGUt dHJlZS1pbC5nbycKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhs Y21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL2xpYi9ndWlsZS8yLjAvY2NhY2hlL2xhbmd1 YWdlL2VjbWFzY3JpcHQvc3BlYy5nbycgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpk OTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL2xpYi9ndWlsZS8y LjAvY2NhY2hlL2xhbmd1YWdlL2VjbWFzY3JpcHQvc3BlYy5nbycKYC90bXAvZ3VpeC10ZXN0cy9z dG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4w L2xpYi9ndWlsZS8yLjAvY2NhY2hlL2xhbmd1YWdlL2VjbWFzY3JpcHQvcGFyc2UuZ28nIH4+IGAv dG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5p b24tdGVzdC1hbGwtZGlycy9saWIvZ3VpbGUvMi4wL2NjYWNoZS9sYW5ndWFnZS9lY21hc2NyaXB0 L3BhcnNlLmdvJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxj bWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvbGliL2d1aWxlLzIuMC9jY2FjaGUvbGFuZ3Vh Z2UvZWNtYXNjcmlwdC9iYXNlLmdvJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5 NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvbGliL2d1aWxlLzIu MC9jY2FjaGUvbGFuZ3VhZ2UvZWNtYXNjcmlwdC9iYXNlLmdvJwpgL3RtcC9ndWl4LXRlc3RzL3N0 b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAv bGliL2d1aWxlLzIuMC9jY2FjaGUvbGFuZ3VhZ2UvYnl0ZWNvZGUvc3BlYy5nbycgfj4gYC90bXAv Z3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10 ZXN0LWFsbC1kaXJzL2xpYi9ndWlsZS8yLjAvY2NhY2hlL2xhbmd1YWdlL2J5dGVjb2RlL3NwZWMu Z28nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkz OWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9saWIvZ3VpbGUvMi4wL2NjYWNoZS9sYW5ndWFnZS9icmFp bmZ1Y2svY29tcGlsZS1zY2hlbWUuZ28nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256 ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9saWIvZ3VpbGUv Mi4wL2NjYWNoZS9sYW5ndWFnZS9icmFpbmZ1Y2svY29tcGlsZS1zY2hlbWUuZ28nCmAvdG1wL2d1 aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9v dHN0cmFwLTIuMC9saWIvZ3VpbGUvMi4wL2NjYWNoZS9sYW5ndWFnZS9icmFpbmZ1Y2svY29tcGls ZS10cmVlLWlsLmdvJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlz NjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvbGliL2d1aWxlLzIuMC9jY2FjaGUv bGFuZ3VhZ2UvYnJhaW5mdWNrL2NvbXBpbGUtdHJlZS1pbC5nbycKYC90bXAvZ3VpeC10ZXN0cy9z dG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4w L2xpYi9ndWlsZS8yLjAvY2NhY2hlL2xhbmd1YWdlL2JyYWluZnVjay9zcGVjLmdvJyB+PiBgL3Rt cC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9u LXRlc3QtYWxsLWRpcnMvbGliL2d1aWxlLzIuMC9jY2FjaGUvbGFuZ3VhZ2UvYnJhaW5mdWNrL3Nw ZWMuZ28nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJp NjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9saWIvZ3VpbGUvMi4wL2NjYWNoZS9sYW5ndWFnZS9i cmFpbmZ1Y2svcGFyc2UuZ28nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcw Zm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9saWIvZ3VpbGUvMi4wL2Nj YWNoZS9sYW5ndWFnZS9icmFpbmZ1Y2svcGFyc2UuZ28nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUv N3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9saWIv Z3VpbGUvMi4wL2NjYWNoZS9zdGF0cHJvZi5nbycgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9z azJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL2xpYi9n dWlsZS8yLjAvY2NhY2hlL3N0YXRwcm9mLmdvJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4 bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvbGliL2d1aWxl LzIuMC9jY2FjaGUvc2NyaXB0cy9zdW1tYXJpemUtZ3VpbGUtVE9ETy5nbycgfj4gYC90bXAvZ3Vp eC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0 LWFsbC1kaXJzL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3NjcmlwdHMvc3VtbWFyaXplLWd1aWxlLVRP RE8uZ28nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJp NjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9saWIvZ3VpbGUvMi4wL2NjYWNoZS9zY3JpcHRzL3Nu YXJmLWNoZWNrLWFuZC1vdXRwdXQtdGV4aS5nbycgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9z azJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL2xpYi9n dWlsZS8yLjAvY2NhY2hlL3NjcmlwdHMvc25hcmYtY2hlY2stYW5kLW91dHB1dC10ZXhpLmdvJwpg L3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1 aWxlLWJvb3RzdHJhcC0yLjAvbGliL2d1aWxlLzIuMC9jY2FjaGUvc2NyaXB0cy9zY2FuLWFwaS5n bycgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdi aHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3NjcmlwdHMvc2Nh bi1hcGkuZ28nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNt aHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9saWIvZ3VpbGUvMi4wL2NjYWNoZS9zY3JpcHRz L2RvYy1zbmFyZi5nbycgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5p czYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL2xpYi9ndWlsZS8yLjAvY2NhY2hl L3NjcmlwdHMvZG9jLXNuYXJmLmdvJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQx bHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvbGliL2d1aWxlLzIuMC9j Y2FjaGUvc2NyaXB0cy9zbmFyZi1ndWlsZS1tNC1kb2NzLmdvJyB+PiBgL3RtcC9ndWl4LXRlc3Rz L3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRp cnMvbGliL2d1aWxlLzIuMC9jY2FjaGUvc2NyaXB0cy9zbmFyZi1ndWlsZS1tNC1kb2NzLmdvJwpg L3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1 aWxlLWJvb3RzdHJhcC0yLjAvbGliL2d1aWxlLzIuMC9jY2FjaGUvc2NyaXB0cy9jb21waWxlLmdv JyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Jo c3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvbGliL2d1aWxlLzIuMC9jY2FjaGUvc2NyaXB0cy9jb21w aWxlLmdvJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhy aTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvbGliL2d1aWxlLzIuMC9jY2FjaGUvc2NyaXB0cy9y ZWFkLXNjaGVtZS1zb3VyY2UuZ28nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2 djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9saWIvZ3VpbGUvMi4w L2NjYWNoZS9zY3JpcHRzL3JlYWQtc2NoZW1lLXNvdXJjZS5nbycKYC90bXAvZ3VpeC10ZXN0cy9z dG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4w L2xpYi9ndWlsZS8yLjAvY2NhY2hlL3NjcmlwdHMvZGlzYXNzZW1ibGUuZ28nIH4+IGAvdG1wL2d1 aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVz dC1hbGwtZGlycy9saWIvZ3VpbGUvMi4wL2NjYWNoZS9zY3JpcHRzL2Rpc2Fzc2VtYmxlLmdvJwpg L3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1 aWxlLWJvb3RzdHJhcC0yLjAvbGliL2d1aWxlLzIuMC9jY2FjaGUvc2NyaXB0cy9saW50LmdvJyB+ PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3Nk LXVuaW9uLXRlc3QtYWxsLWRpcnMvbGliL2d1aWxlLzIuMC9jY2FjaGUvc2NyaXB0cy9saW50Lmdv JwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5Mzlm LWd1aWxlLWJvb3RzdHJhcC0yLjAvbGliL2d1aWxlLzIuMC9jY2FjaGUvc2NyaXB0cy9hcGktZGlm Zi5nbycgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEy YzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3NjcmlwdHMv YXBpLWRpZmYuZ28nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlo bGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9saWIvZ3VpbGUvMi4wL2NjYWNoZS9zY3Jp cHRzL2xpc3QuZ28nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2 MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9saWIvZ3VpbGUvMi4wL2NjYWNoZS9z Y3JpcHRzL2xpc3QuZ28nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXli aGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9saWIvZ3VpbGUvMi4wL2NjYWNoZS9z Y3JpcHRzL2hlbHAuZ28nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5u aXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9saWIvZ3VpbGUvMi4wL2NjYWNo ZS9zY3JpcHRzL2hlbHAuZ28nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2 aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9saWIvZ3VpbGUvMi4wL2NjYWNo ZS9zY3JpcHRzL3VzZTJkb3QuZ28nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2 djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9saWIvZ3VpbGUvMi4w L2NjYWNoZS9zY3JpcHRzL3VzZTJkb3QuZ28nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThu Nnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9saWIvZ3VpbGUv Mi4wL2NjYWNoZS9zY3JpcHRzL2Rpc3BsYXktY29tbWVudGFyeS5nbycgfj4gYC90bXAvZ3VpeC10 ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFs bC1kaXJzL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3NjcmlwdHMvZGlzcGxheS1jb21tZW50YXJ5Lmdv JwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5Mzlm LWd1aWxlLWJvb3RzdHJhcC0yLjAvbGliL2d1aWxlLzIuMC9jY2FjaGUvc2NyaXB0cy9hdXRvZnJp c2suZ28nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBx MmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9saWIvZ3VpbGUvMi4wL2NjYWNoZS9zY3JpcHRz L2F1dG9mcmlzay5nbycKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJo aWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3Nj cmlwdHMvcHVuaWZ5LmdvJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZu bmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvbGliL2d1aWxlLzIuMC9jY2Fj aGUvc2NyaXB0cy9wdW5pZnkuZ28nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFs cjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9saWIvZ3VpbGUvMi4wL2Nj YWNoZS9zY3JpcHRzL2ZyaXNrLmdvJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5 NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvbGliL2d1aWxlLzIu MC9jY2FjaGUvc2NyaXB0cy9mcmlzay5nbycKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42 enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL2xpYi9ndWlsZS8y LjAvY2NhY2hlL3NjcmlwdHMvcmVhZC10ZXh0LW91dGxpbmUuZ28nIH4+IGAvdG1wL2d1aXgtdGVz dHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwt ZGlycy9saWIvZ3VpbGUvMi4wL2NjYWNoZS9zY3JpcHRzL3JlYWQtdGV4dC1vdXRsaW5lLmdvJwpg L3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1 aWxlLWJvb3RzdHJhcC0yLjAvbGliL2d1aWxlLzIuMC9jY2FjaGUvc2NyaXB0cy9yZWFkLXJmYzgy Mi5nbycgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEy YzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3NjcmlwdHMv cmVhZC1yZmM4MjIuZ28nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXli aGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9saWIvZ3VpbGUvMi4wL2NjYWNoZS9z Y3JpcHRzL2dlbmVyYXRlLWF1dG9sb2FkLmdvJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3Nr MmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvbGliL2d1 aWxlLzIuMC9jY2FjaGUvc2NyaXB0cy9nZW5lcmF0ZS1hdXRvbG9hZC5nbycKYC90bXAvZ3VpeC10 ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3Ry YXAtMi4wL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3NyZmkvc3JmaS00NS5nbycgfj4gYC90bXAvZ3Vp eC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0 LWFsbC1kaXJzL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3NyZmkvc3JmaS00NS5nbycKYC90bXAvZ3Vp eC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290 c3RyYXAtMi4wL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3NyZmkvc3JmaS02MC5nbycgfj4gYC90bXAv Z3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10 ZXN0LWFsbC1kaXJzL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3NyZmkvc3JmaS02MC5nbycKYC90bXAv Z3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1i b290c3RyYXAtMi4wL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3NyZmkvc3JmaS0zNS5nbycgfj4gYC90 bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlv bi10ZXN0LWFsbC1kaXJzL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3NyZmkvc3JmaS0zNS5nbycKYC90 bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWls ZS1ib290c3RyYXAtMi4wL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3NyZmkvc3JmaS04LmdvJyB+PiBg L3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVu aW9uLXRlc3QtYWxsLWRpcnMvbGliL2d1aWxlLzIuMC9jY2FjaGUvc3JmaS9zcmZpLTguZ28nCmAv dG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3Vp bGUtYm9vdHN0cmFwLTIuMC9saWIvZ3VpbGUvMi4wL2NjYWNoZS9zcmZpL3NyZmktMzguZ28nIH4+ IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2Qt dW5pb24tdGVzdC1hbGwtZGlycy9saWIvZ3VpbGUvMi4wL2NjYWNoZS9zcmZpL3NyZmktMzguZ28n CmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYt Z3VpbGUtYm9vdHN0cmFwLTIuMC9saWIvZ3VpbGUvMi4wL2NjYWNoZS9zcmZpL3NyZmktNC9nbnUu Z28nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3 Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9saWIvZ3VpbGUvMi4wL2NjYWNoZS9zcmZpL3NyZmkt NC9nbnUuZ28nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNt aHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9saWIvZ3VpbGUvMi4wL2NjYWNoZS9zcmZpL3Ny ZmktMTAuZ28nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGly NTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9saWIvZ3VpbGUvMi4wL2NjYWNoZS9zcmZp L3NyZmktMTAuZ28nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlo bGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9saWIvZ3VpbGUvMi4wL2NjYWNoZS9zcmZp L3NyZmktMTguZ28nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2 MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9saWIvZ3VpbGUvMi4wL2NjYWNoZS9z cmZpL3NyZmktMTguZ28nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXli aGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9saWIvZ3VpbGUvMi4wL2NjYWNoZS9z cmZpL3NyZmktOS9nbnUuZ28nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcw Zm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9saWIvZ3VpbGUvMi4wL2Nj YWNoZS9zcmZpL3NyZmktOS9nbnUuZ28nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2 NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9saWIvZ3VpbGUvMi4w L2NjYWNoZS9zcmZpL3NyZmktNi5nbycgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpk OTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL2xpYi9ndWlsZS8y LjAvY2NhY2hlL3NyZmkvc3JmaS02LmdvJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6 djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvbGliL2d1aWxlLzIu MC9jY2FjaGUvc3JmaS9zcmZpLTEzLmdvJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNu emQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvbGliL2d1aWxl LzIuMC9jY2FjaGUvc3JmaS9zcmZpLTEzLmdvJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4 bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvbGliL2d1aWxl LzIuMC9jY2FjaGUvc3JmaS9zcmZpLTY5LmdvJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3Nr MmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvbGliL2d1 aWxlLzIuMC9jY2FjaGUvc3JmaS9zcmZpLTY5LmdvJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5 MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvbGliL2d1 aWxlLzIuMC9jY2FjaGUvc3JmaS9zcmZpLTEuZ28nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUv c2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9saWIv Z3VpbGUvMi4wL2NjYWNoZS9zcmZpL3NyZmktMS5nbycKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83 eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL2xpYi9n dWlsZS8yLjAvY2NhY2hlL3NyZmkvc3JmaS05LmdvJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3Jl L3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvbGli L2d1aWxlLzIuMC9jY2FjaGUvc3JmaS9zcmZpLTkuZ28nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUv N3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9saWIv Z3VpbGUvMi4wL2NjYWNoZS9zcmZpL3NyZmktMjYuZ28nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3Rv cmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9s aWIvZ3VpbGUvMi4wL2NjYWNoZS9zcmZpL3NyZmktMjYuZ28nCmAvdG1wL2d1aXgtdGVzdHMvc3Rv cmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9s aWIvZ3VpbGUvMi4wL2NjYWNoZS9zcmZpL3NyZmktNDEuZ28nIH4+IGAvdG1wL2d1aXgtdGVzdHMv c3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGly cy9saWIvZ3VpbGUvMi4wL2NjYWNoZS9zcmZpL3NyZmktNDEuZ28nCmAvdG1wL2d1aXgtdGVzdHMv c3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIu MC9saWIvZ3VpbGUvMi4wL2NjYWNoZS9zcmZpL3NyZmktMTYuZ28nIH4+IGAvdG1wL2d1aXgtdGVz dHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwt ZGlycy9saWIvZ3VpbGUvMi4wL2NjYWNoZS9zcmZpL3NyZmktMTYuZ28nCmAvdG1wL2d1aXgtdGVz dHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFw LTIuMC9saWIvZ3VpbGUvMi4wL2NjYWNoZS9zcmZpL3NyZmktMzEuZ28nIH4+IGAvdG1wL2d1aXgt dGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1h bGwtZGlycy9saWIvZ3VpbGUvMi4wL2NjYWNoZS9zcmZpL3NyZmktMzEuZ28nCmAvdG1wL2d1aXgt dGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0 cmFwLTIuMC9saWIvZ3VpbGUvMi4wL2NjYWNoZS9zcmZpL3NyZmktMzkuZ28nIH4+IGAvdG1wL2d1 aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVz dC1hbGwtZGlycy9saWIvZ3VpbGUvMi4wL2NjYWNoZS9zcmZpL3NyZmktMzkuZ28nCmAvdG1wL2d1 aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9v dHN0cmFwLTIuMC9saWIvZ3VpbGUvMi4wL2NjYWNoZS9zcmZpL3NyZmktNC5nbycgfj4gYC90bXAv Z3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10 ZXN0LWFsbC1kaXJzL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3NyZmkvc3JmaS00LmdvJwpgL3RtcC9n dWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJv b3RzdHJhcC0yLjAvbGliL2d1aWxlLzIuMC9jY2FjaGUvc3JmaS9zcmZpLTExLmdvJyB+PiBgL3Rt cC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9u LXRlc3QtYWxsLWRpcnMvbGliL2d1aWxlLzIuMC9jY2FjaGUvc3JmaS9zcmZpLTExLmdvJwpgL3Rt cC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxl LWJvb3RzdHJhcC0yLjAvbGliL2d1aWxlLzIuMC9jY2FjaGUvc3JmaS9zcmZpLTY3LmdvJyB+PiBg L3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVu aW9uLXRlc3QtYWxsLWRpcnMvbGliL2d1aWxlLzIuMC9jY2FjaGUvc3JmaS9zcmZpLTY3LmdvJwpg L3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1 aWxlLWJvb3RzdHJhcC0yLjAvbGliL2d1aWxlLzIuMC9jY2FjaGUvc3JmaS9zcmZpLTE5LmdvJyB+ PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3Nk LXVuaW9uLXRlc3QtYWxsLWRpcnMvbGliL2d1aWxlLzIuMC9jY2FjaGUvc3JmaS9zcmZpLTE5Lmdv JwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5Mzlm LWd1aWxlLWJvb3RzdHJhcC0yLjAvbGliL2d1aWxlLzIuMC9jY2FjaGUvc3JmaS9zcmZpLTM0Lmdv JyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Jo c3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvbGliL2d1aWxlLzIuMC9jY2FjaGUvc3JmaS9zcmZpLTM0 LmdvJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5 MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvbGliL2d1aWxlLzIuMC9jY2FjaGUvc3JmaS9zcmZpLTE0 LmdvJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJj N2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvbGliL2d1aWxlLzIuMC9jY2FjaGUvc3JmaS9zcmZp LTE0LmdvJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhy aTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvbGliL2d1aWxlLzIuMC9jY2FjaGUvc3JmaS9zcmZp LTM3LmdvJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUw cTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvbGliL2d1aWxlLzIuMC9jY2FjaGUvc3JmaS9z cmZpLTM3LmdvJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxj bWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvbGliL2d1aWxlLzIuMC9jY2FjaGUvc3JmaS9z cmZpLTIuZ28nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGly NTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9saWIvZ3VpbGUvMi4wL2NjYWNoZS9zcmZp L3NyZmktMi5nbycKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhs Y21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3NyZmkv c3JmaS0yNy5nbycgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYw aXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3Ny Zmkvc3JmaS0yNy5nbycKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJo aWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3Ny Zmkvc3JmaS00Mi5nbycgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5p czYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL2xpYi9ndWlsZS8yLjAvY2NhY2hl L3NyZmkvc3JmaS00Mi5nbycKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZp eWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL2xpYi9ndWlsZS8yLjAvY2NhY2hl L3NyZmkvc3JmaS05OC5nbycgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBm bm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL2xpYi9ndWlsZS8yLjAvY2Nh Y2hlL3NyZmkvc3JmaS05OC5nbycKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxy OXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL2xpYi9ndWlsZS8yLjAvY2Nh Y2hlL3NyZmkvc3JmaS0xNy5nbycgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2 NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL2xpYi9ndWlsZS8yLjAv Y2NhY2hlL3NyZmkvc3JmaS0xNy5nbycKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0 MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL2xpYi9ndWlsZS8yLjAv Y2NhY2hlL3NyZmkvc3JmaS04OC5nbycgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpk OTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL2xpYi9ndWlsZS8y LjAvY2NhY2hlL3NyZmkvc3JmaS04OC5nbycKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42 enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL2xpYi9ndWlsZS8y LjAvY2NhY2hlL3JucnMvbXV0YWJsZS1wYWlycy5nbycgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9y ZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL2xp Yi9ndWlsZS8yLjAvY2NhY2hlL3JucnMvbXV0YWJsZS1wYWlycy5nbycKYC90bXAvZ3VpeC10ZXN0 cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAt Mi4wL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3JucnMvY29uZGl0aW9ucy5nbycgfj4gYC90bXAvZ3Vp eC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0 LWFsbC1kaXJzL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3JucnMvY29uZGl0aW9ucy5nbycKYC90bXAv Z3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1i b290c3RyYXAtMi4wL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3JucnMvcmVjb3Jkcy9wcm9jZWR1cmFs LmdvJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJj N2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvbGliL2d1aWxlLzIuMC9jY2FjaGUvcm5ycy9yZWNv cmRzL3Byb2NlZHVyYWwuZ28nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2 aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9saWIvZ3VpbGUvMi4wL2NjYWNo ZS9ybnJzL3JlY29yZHMvaW5zcGVjdGlvbi5nbycgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9z azJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL2xpYi9n dWlsZS8yLjAvY2NhY2hlL3JucnMvcmVjb3Jkcy9pbnNwZWN0aW9uLmdvJwpgL3RtcC9ndWl4LXRl c3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJh cC0yLjAvbGliL2d1aWxlLzIuMC9jY2FjaGUvcm5ycy9yZWNvcmRzL3N5bnRhY3RpYy5nbycgfj4g YC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11 bmlvbi10ZXN0LWFsbC1kaXJzL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3JucnMvcmVjb3Jkcy9zeW50 YWN0aWMuZ28nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNt aHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9saWIvZ3VpbGUvMi4wL2NjYWNoZS9ybnJzL3I1 cnMuZ28nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBx MmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9saWIvZ3VpbGUvMi4wL2NjYWNoZS9ybnJzL3I1 cnMuZ28nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJp NjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9saWIvZ3VpbGUvMi4wL2NjYWNoZS9ybnJzL2V4Y2Vw dGlvbnMuZ28nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGly NTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9saWIvZ3VpbGUvMi4wL2NjYWNoZS9ybnJz L2V4Y2VwdGlvbnMuZ28nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXli aGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9saWIvZ3VpbGUvMi4wL2NjYWNoZS9y bnJzL2NvbnRyb2wuZ28nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5u aXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9saWIvZ3VpbGUvMi4wL2NjYWNo ZS9ybnJzL2NvbnRyb2wuZ28nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2 aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9saWIvZ3VpbGUvMi4wL2NjYWNo ZS9ybnJzL2VudW1zLmdvJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZu bmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvbGliL2d1aWxlLzIuMC9jY2Fj aGUvcm5ycy9lbnVtcy5nbycKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZp eWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL2xpYi9ndWlsZS8yLjAvY2NhY2hl L3JucnMvc29ydGluZy5nbycgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBm bm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL2xpYi9ndWlsZS8yLjAvY2Nh Y2hlL3JucnMvc29ydGluZy5nbycKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxy OXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL2xpYi9ndWlsZS8yLjAvY2Nh Y2hlL3JucnMvaGFzaHRhYmxlcy5nbycgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpk OTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL2xpYi9ndWlsZS8y LjAvY2NhY2hlL3JucnMvaGFzaHRhYmxlcy5nbycKYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBx OG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAtMi4wL2xpYi9ndWls ZS8yLjAvY2NhY2hlL3JucnMvZmlsZXMuZ28nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2sy Y256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9saWIvZ3Vp bGUvMi4wL2NjYWNoZS9ybnJzL2ZpbGVzLmdvJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4 bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvbGliL2d1aWxl LzIuMC9jY2FjaGUvcm5ycy9hcml0aG1ldGljL2Zsb251bXMuZ28nIH4+IGAvdG1wL2d1aXgtdGVz dHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwt ZGlycy9saWIvZ3VpbGUvMi4wL2NjYWNoZS9ybnJzL2FyaXRobWV0aWMvZmxvbnVtcy5nbycKYC90 bXAvZ3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWls ZS1ib290c3RyYXAtMi4wL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3JucnMvYXJpdGhtZXRpYy9iaXR3 aXNlLmdvJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUw cTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvbGliL2d1aWxlLzIuMC9jY2FjaGUvcm5ycy9h cml0aG1ldGljL2JpdHdpc2UuZ28nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFs cjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9saWIvZ3VpbGUvMi4wL2Nj YWNoZS9ybnJzL2FyaXRobWV0aWMvZml4bnVtcy5nbycgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9y ZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL2xp Yi9ndWlsZS8yLjAvY2NhY2hlL3JucnMvYXJpdGhtZXRpYy9maXhudW1zLmdvJwpgL3RtcC9ndWl4 LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3Rz dHJhcC0yLjAvbGliL2d1aWxlLzIuMC9jY2FjaGUvcm5ycy9saXN0cy5nbycgfj4gYC90bXAvZ3Vp eC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0 LWFsbC1kaXJzL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3JucnMvbGlzdHMuZ28nCmAvdG1wL2d1aXgt dGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0 cmFwLTIuMC9saWIvZ3VpbGUvMi4wL2NjYWNoZS9ybnJzL3Byb2dyYW1zLmdvJyB+PiBgL3RtcC9n dWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRl c3QtYWxsLWRpcnMvbGliL2d1aWxlLzIuMC9jY2FjaGUvcm5ycy9wcm9ncmFtcy5nbycKYC90bXAv Z3VpeC10ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1i b290c3RyYXAtMi4wL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3JucnMvc3ludGF4LWNhc2UuZ28nIH4+ IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2Qt dW5pb24tdGVzdC1hbGwtZGlycy9saWIvZ3VpbGUvMi4wL2NjYWNoZS9ybnJzL3N5bnRheC1jYXNl LmdvJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5 MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvbGliL2d1aWxlLzIuMC9jY2FjaGUvcm5ycy9ieXRldmVj dG9ycy5nbycgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1 MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3JucnMv Ynl0ZXZlY3RvcnMuZ28nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXli aGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9saWIvZ3VpbGUvMi4wL2NjYWNoZS9y bnJzL211dGFibGUtc3RyaW5ncy5nbycgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpk OTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL2xpYi9ndWlsZS8y LjAvY2NhY2hlL3JucnMvbXV0YWJsZS1zdHJpbmdzLmdvJwpgL3RtcC9ndWl4LXRlc3RzL3N0b3Jl Lzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAvbGli L2d1aWxlLzIuMC9jY2FjaGUvcm5ycy91bmljb2RlLmdvJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0 b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMv bGliL2d1aWxlLzIuMC9jY2FjaGUvcm5ycy91bmljb2RlLmdvJwpgL3RtcC9ndWl4LXRlc3RzL3N0 b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAv bGliL2d1aWxlLzIuMC9jY2FjaGUvcm5ycy9pby9zaW1wbGUuZ28nIH4+IGAvdG1wL2d1aXgtdGVz dHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwt ZGlycy9saWIvZ3VpbGUvMi4wL2NjYWNoZS9ybnJzL2lvL3NpbXBsZS5nbycKYC90bXAvZ3VpeC10 ZXN0cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3Ry YXAtMi4wL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3JucnMvaW8vcG9ydHMuZ28nIH4+IGAvdG1wL2d1 aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVz dC1hbGwtZGlycy9saWIvZ3VpbGUvMi4wL2NjYWNoZS9ybnJzL2lvL3BvcnRzLmdvJwpgL3RtcC9n dWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJv b3RzdHJhcC0yLjAvbGliL2d1aWxlLzIuMC9jY2FjaGUvcm5ycy9ldmFsLmdvJyB+PiBgL3RtcC9n dWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRl c3QtYWxsLWRpcnMvbGliL2d1aWxlLzIuMC9jY2FjaGUvcm5ycy9ldmFsLmdvJwpgL3RtcC9ndWl4 LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3Rz dHJhcC0yLjAvbGliL2d1aWxlLzIuMC9jY2FjaGUvcm5ycy9iYXNlLmdvJyB+PiBgL3RtcC9ndWl4 LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3Qt YWxsLWRpcnMvbGliL2d1aWxlLzIuMC9jY2FjaGUvcm5ycy9iYXNlLmdvJwpgL3RtcC9ndWl4LXRl c3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJh cC0yLjAvbGliL2d1aWxlLzIuMC9jY2FjaGUvd2ViL3Jlc3BvbnNlLmdvJyB+PiBgL3RtcC9ndWl4 LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3Qt YWxsLWRpcnMvbGliL2d1aWxlLzIuMC9jY2FjaGUvd2ViL3Jlc3BvbnNlLmdvJwpgL3RtcC9ndWl4 LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3Rz dHJhcC0yLjAvbGliL2d1aWxlLzIuMC9jY2FjaGUvd2ViL3NlcnZlci5nbycgfj4gYC90bXAvZ3Vp eC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0 LWFsbC1kaXJzL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3dlYi9zZXJ2ZXIuZ28nCmAvdG1wL2d1aXgt dGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0 cmFwLTIuMC9saWIvZ3VpbGUvMi4wL2NjYWNoZS93ZWIvc2VydmVyL2h0dHAuZ28nIH4+IGAvdG1w L2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24t dGVzdC1hbGwtZGlycy9saWIvZ3VpbGUvMi4wL2NjYWNoZS93ZWIvc2VydmVyL2h0dHAuZ28nCmAv dG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3Vp bGUtYm9vdHN0cmFwLTIuMC9saWIvZ3VpbGUvMi4wL2NjYWNoZS93ZWIvaHR0cC5nbycgfj4gYC90 bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlv bi10ZXN0LWFsbC1kaXJzL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3dlYi9odHRwLmdvJwpgL3RtcC9n dWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJv b3RzdHJhcC0yLjAvbGliL2d1aWxlLzIuMC9jY2FjaGUvd2ViL3VyaS5nbycgfj4gYC90bXAvZ3Vp eC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0 LWFsbC1kaXJzL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3dlYi91cmkuZ28nCmAvdG1wL2d1aXgtdGVz dHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFw LTIuMC9saWIvZ3VpbGUvMi4wL2NjYWNoZS93ZWIvY2xpZW50LmdvJyB+PiBgL3RtcC9ndWl4LXRl c3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxs LWRpcnMvbGliL2d1aWxlLzIuMC9jY2FjaGUvd2ViL2NsaWVudC5nbycKYC90bXAvZ3VpeC10ZXN0 cy9zdG9yZS83eTBxOG42enY0MWxyOXZpeWJoaWhsY21ocmk2OTM5Zi1ndWlsZS1ib290c3RyYXAt Mi4wL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3dlYi9yZXF1ZXN0LmdvJyB+PiBgL3RtcC9ndWl4LXRl c3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJjN2Joc3NkLXVuaW9uLXRlc3QtYWxs LWRpcnMvbGliL2d1aWxlLzIuMC9jY2FjaGUvd2ViL3JlcXVlc3QuZ28nCmAvdG1wL2d1aXgtdGVz dHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFw LTIuMC9saWIvZ3VpbGUvMi4wL2NjYWNoZS90ZXhpbmZvL2h0bWwuZ28nIH4+IGAvdG1wL2d1aXgt dGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1h bGwtZGlycy9saWIvZ3VpbGUvMi4wL2NjYWNoZS90ZXhpbmZvL2h0bWwuZ28nCmAvdG1wL2d1aXgt dGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0 cmFwLTIuMC9saWIvZ3VpbGUvMi4wL2NjYWNoZS90ZXhpbmZvL3NlcmlhbGl6ZS5nbycgfj4gYC90 bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlv bi10ZXN0LWFsbC1kaXJzL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3RleGluZm8vc2VyaWFsaXplLmdv JwpgL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5Mzlm LWd1aWxlLWJvb3RzdHJhcC0yLjAvbGliL2d1aWxlLzIuMC9jY2FjaGUvdGV4aW5mby9pbmRleGlu Zy5nbycgfj4gYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEy YzdiaHNzZC11bmlvbi10ZXN0LWFsbC1kaXJzL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3RleGluZm8v aW5kZXhpbmcuZ28nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlo bGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9saWIvZ3VpbGUvMi4wL2NjYWNoZS90ZXhp bmZvL2RvY2Jvb2suZ28nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2syY256ZDk2djcwZm5u aXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9saWIvZ3VpbGUvMi4wL2NjYWNo ZS90ZXhpbmZvL2RvY2Jvb2suZ28nCmAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFs cjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9saWIvZ3VpbGUvMi4wL2Nj YWNoZS90ZXhpbmZvL3JlZmxlY3Rpb24uZ28nIH4+IGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvc2sy Y256ZDk2djcwZm5uaXM2MGlyNTBxMmM3Ymhzc2QtdW5pb24tdGVzdC1hbGwtZGlycy9saWIvZ3Vp bGUvMi4wL2NjYWNoZS90ZXhpbmZvL3JlZmxlY3Rpb24uZ28nCmAvdG1wL2d1aXgtdGVzdHMvc3Rv cmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYtZ3VpbGUtYm9vdHN0cmFwLTIuMC9s aWIvZ3VpbGUvMi4wL2NjYWNoZS90ZXhpbmZvL3N0cmluZy11dGlscy5nbycgfj4gYC90bXAvZ3Vp eC10ZXN0cy9zdG9yZS9zazJjbnpkOTZ2NzBmbm5pczYwaXI1MHEyYzdiaHNzZC11bmlvbi10ZXN0 LWFsbC1kaXJzL2xpYi9ndWlsZS8yLjAvY2NhY2hlL3RleGluZm8vc3RyaW5nLXV0aWxzLmdvJwpg L3RtcC9ndWl4LXRlc3RzL3N0b3JlLzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1 aWxlLWJvb3RzdHJhcC0yLjAvbGliL2d1aWxlLzIuMC9jY2FjaGUvdGV4aW5mby9wbGFpbi10ZXh0 LmdvJyB+PiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3NrMmNuemQ5NnY3MGZubmlzNjBpcjUwcTJj N2Joc3NkLXVuaW9uLXRlc3QtYWxsLWRpcnMvbGliL2d1aWxlLzIuMC9jY2FjaGUvdGV4aW5mby9w bGFpbi10ZXh0LmdvJwpAIGJ1aWxkLXN1Y2NlZWRlZCAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvMHE1 enYxYXhyYmJ2c21zd2NqZHptNHYxc25uY2g0Y2QtdW5pb24tdGVzdC1hbGwtZGlycy5kcnYgLQov dG1wL2d1aXgtYnVpbGQtZ3VpeC0wLjEzLjAtMTIuMGExNTRjMSsuZHJ2LTAvc291cmNlL3Rlc3Rz L3VuaW9uLnNjbToxMjcKc291cmNlOgorICh0ZXN0LWFzc2VydAorICAgInVuaW9uLWJ1aWxkICM6 Y3JlYXRlLWFsbC1kaXJlY3Rvcmllcz8gI3QiCisgICAobGV0KiAoKGJ1aWxkIGAoYmVnaW4KKyAg ICAgICAgICAgICAgICAgICAgKHVzZS1tb2R1bGVzIChndWl4IGJ1aWxkIHVuaW9uKSkKKyAgICAg ICAgICAgICAgICAgICAgKHVuaW9uLWJ1aWxkCisgICAgICAgICAgICAgICAgICAgICAgKGFzc29j LXJlZiAlb3V0cHV0cyAib3V0IikKKyAgICAgICAgICAgICAgICAgICAgICAobWFwIGNkciAlYnVp bGQtaW5wdXRzKQorICAgICAgICAgICAgICAgICAgICAgICM6Y3JlYXRlLWFsbC1kaXJlY3Rvcmll cz8KKyAgICAgICAgICAgICAgICAgICAgICAjdCkpKQorICAgICAgICAgIChpbnB1dCAocGFja2Fn ZS1kZXJpdmF0aW9uICVzdG9yZSAlYm9vdHN0cmFwLWd1aWxlKSkKKyAgICAgICAgICAoZHJ2IChi dWlsZC1leHByZXNzaW9uLT5kZXJpdmF0aW9uCisgICAgICAgICAgICAgICAgICVzdG9yZQorICAg ICAgICAgICAgICAgICAidW5pb24tdGVzdC1hbGwtZGlycyIKKyAgICAgICAgICAgICAgICAgYnVp bGQKKyAgICAgICAgICAgICAgICAgIzptb2R1bGVzCisgICAgICAgICAgICAgICAgICcoKGd1aXgg YnVpbGQgdW5pb24pKQorICAgICAgICAgICAgICAgICAjOmlucHV0cworICAgICAgICAgICAgICAg ICBgKCgiZyIgLGlucHV0KSkpKSkKKyAgICAgKGFuZCAoYnVpbGQtZGVyaXZhdGlvbnMgJXN0b3Jl IChsaXN0IGRydikpCisgICAgICAgICAgKHdpdGgtZGlyZWN0b3J5LWV4Y3Vyc2lvbgorICAgICAg ICAgICAgKGRlcml2YXRpb24tPm91dHB1dC1wYXRoIGRydikKKyAgICAgICAgICAgIChhbmQgKGZp bGUtZXhpc3RzPyAiYmluL2d1aWxlIikKKyAgICAgICAgICAgICAgICAgKGZpbGUtaXMtZGlyZWN0 b3J5PyAiYmluIikKKyAgICAgICAgICAgICAgICAgKGVxPyAnc3ltbGluayAoc3RhdDp0eXBlIChs c3RhdCAiYmluL2d1aWxlIikpKSkpKSkpCmFjdHVhbC12YWx1ZTogI3QKcmVzdWx0OiBQQVNTCgoK RkFJTDogdGVzdHMvcHJvZmlsZXMKPT09PT09PT09PT09PT09PT09PT0KCnRlc3QtbmFtZTogbWFu aWZlc3QtaW5zdGFsbGVkPwpsb2NhdGlvbjogL3RtcC9ndWl4LWJ1aWxkLWd1aXgtMC4xMy4wLTEy LjBhMTU0YzErLmRydi0wL3NvdXJjZS90ZXN0cy9wcm9maWxlcy5zY206OTAKc291cmNlOgorICh0 ZXN0LWFzc2VydAorICAgIm1hbmlmZXN0LWluc3RhbGxlZD8iCisgICAobGV0ICgobSAobWFuaWZl c3QgKGxpc3QgZ3VpbGUtMi4wLjkgZ3VpbGUtMi4wLjk6ZGVidWcpKSkpCisgICAgIChhbmQgKG1h bmlmZXN0LWluc3RhbGxlZD8KKyAgICAgICAgICAgIG0KKyAgICAgICAgICAgIChtYW5pZmVzdC1w YXR0ZXJuIChuYW1lICJndWlsZSIpKSkKKyAgICAgICAgICAobWFuaWZlc3QtaW5zdGFsbGVkPwor ICAgICAgICAgICAgbQorICAgICAgICAgICAgKG1hbmlmZXN0LXBhdHRlcm4KKyAgICAgICAgICAg ICAgKG5hbWUgImd1aWxlIikKKyAgICAgICAgICAgICAgKG91dHB1dCAiZGVidWciKSkpCisgICAg ICAgICAgKG1hbmlmZXN0LWluc3RhbGxlZD8KKyAgICAgICAgICAgIG0KKyAgICAgICAgICAgICht YW5pZmVzdC1wYXR0ZXJuCisgICAgICAgICAgICAgIChuYW1lICJndWlsZSIpCisgICAgICAgICAg ICAgIChvdXRwdXQgIm91dCIpCisgICAgICAgICAgICAgICh2ZXJzaW9uICIyLjAuOSIpKSkKKyAg ICAgICAgICAobm90IChtYW5pZmVzdC1pbnN0YWxsZWQ/CisgICAgICAgICAgICAgICAgIG0KKyAg ICAgICAgICAgICAgICAgKG1hbmlmZXN0LXBhdHRlcm4KKyAgICAgICAgICAgICAgICAgICAobmFt ZSAiZ3VpbGUiKQorICAgICAgICAgICAgICAgICAgICh2ZXJzaW9uICIxLjguOCIpKSkpCisgICAg ICAgICAgKG5vdCAobWFuaWZlc3QtaW5zdGFsbGVkPworICAgICAgICAgICAgICAgICBtCisgICAg ICAgICAgICAgICAgIChtYW5pZmVzdC1wYXR0ZXJuCisgICAgICAgICAgICAgICAgICAgKG5hbWUg Imd1aWxlIikKKyAgICAgICAgICAgICAgICAgICAob3V0cHV0ICJmb29iYXIiKSkpKSkpKQphY3R1 YWwtdmFsdWU6ICN0CnJlc3VsdDogUEFTUwoKdGVzdC1uYW1lOiBtYW5pZmVzdC1tYXRjaGluZy1l bnRyaWVzCmxvY2F0aW9uOiAvdG1wL2d1aXgtYnVpbGQtZ3VpeC0wLjEzLjAtMTIuMGExNTRjMSsu ZHJ2LTAvc291cmNlL3Rlc3RzL3Byb2ZpbGVzLnNjbToxMDMKc291cmNlOgorICh0ZXN0LWFzc2Vy dAorICAgIm1hbmlmZXN0LW1hdGNoaW5nLWVudHJpZXMiCisgICAobGV0KiAoKGUgKGxpc3QgZ3Vp bGUtMi4wLjkgZ3VpbGUtMi4wLjk6ZGVidWcpKQorICAgICAgICAgIChtIChtYW5pZmVzdCBlKSkp CisgICAgIChhbmQgKG51bGw/IChtYW5pZmVzdC1tYXRjaGluZy1lbnRyaWVzCisgICAgICAgICAg ICAgICAgICAgbQorICAgICAgICAgICAgICAgICAgIChsaXN0IChtYW5pZmVzdC1wYXR0ZXJuIChu YW1lICJweXRob24iKSkpKSkKKyAgICAgICAgICAoZXF1YWw/CisgICAgICAgICAgICBlCisgICAg ICAgICAgICAobWFuaWZlc3QtbWF0Y2hpbmctZW50cmllcworICAgICAgICAgICAgICBtCisgICAg ICAgICAgICAgIChsaXN0IChtYW5pZmVzdC1wYXR0ZXJuIChuYW1lICJndWlsZSIpIChvdXRwdXQg I2YpKSkpKQorICAgICAgICAgIChlcXVhbD8KKyAgICAgICAgICAgIChsaXN0IGd1aWxlLTIuMC45 KQorICAgICAgICAgICAgKG1hbmlmZXN0LW1hdGNoaW5nLWVudHJpZXMKKyAgICAgICAgICAgICAg bQorICAgICAgICAgICAgICAobGlzdCAobWFuaWZlc3QtcGF0dGVybgorICAgICAgICAgICAgICAg ICAgICAgIChuYW1lICJndWlsZSIpCisgICAgICAgICAgICAgICAgICAgICAgKHZlcnNpb24gIjIu MC45IikpKSkpKSkpCmFjdHVhbC12YWx1ZTogI3QKcmVzdWx0OiBQQVNTCgp0ZXN0LW5hbWU6IG1h bmlmZXN0LXJlbW92ZQpsb2NhdGlvbjogL3RtcC9ndWl4LWJ1aWxkLWd1aXgtMC4xMy4wLTEyLjBh MTU0YzErLmRydi0wL3NvdXJjZS90ZXN0cy9wcm9maWxlcy5zY206MTIwCnNvdXJjZToKKyAodGVz dC1hc3NlcnQKKyAgICJtYW5pZmVzdC1yZW1vdmUiCisgICAobGV0KiAoKG0wIChtYW5pZmVzdCAo bGlzdCBndWlsZS0yLjAuOSBndWlsZS0yLjAuOTpkZWJ1ZykpKQorICAgICAgICAgIChtMSAobWFu aWZlc3QtcmVtb3ZlCisgICAgICAgICAgICAgICAgbTAKKyAgICAgICAgICAgICAgICAobGlzdCAo bWFuaWZlc3QtcGF0dGVybiAobmFtZSAiZ3VpbGUiKSkpKSkKKyAgICAgICAgICAobTIgKG1hbmlm ZXN0LXJlbW92ZQorICAgICAgICAgICAgICAgIG0xCisgICAgICAgICAgICAgICAgKGxpc3QgKG1h bmlmZXN0LXBhdHRlcm4gKG5hbWUgImd1aWxlIikpKSkpCisgICAgICAgICAgKG0zIChtYW5pZmVz dC1yZW1vdmUKKyAgICAgICAgICAgICAgICBtMgorICAgICAgICAgICAgICAgIChsaXN0IChtYW5p ZmVzdC1wYXR0ZXJuCisgICAgICAgICAgICAgICAgICAgICAgICAobmFtZSAiZ3VpbGUiKQorICAg ICAgICAgICAgICAgICAgICAgICAgKG91dHB1dCAiZGVidWciKSkpKSkKKyAgICAgICAgICAobTQg KG1hbmlmZXN0LXJlbW92ZQorICAgICAgICAgICAgICAgIG0zCisgICAgICAgICAgICAgICAgKGxp c3QgKG1hbmlmZXN0LXBhdHRlcm4gKG5hbWUgImd1aWxlIikpKSkpKQorICAgICAobWF0Y2ggKG1h bmlmZXN0LWVudHJpZXMgbTIpCisgICAgICAgICAgICAoKCgkIDxtYW5pZmVzdC1lbnRyeT4gImd1 aWxlIiAiMi4wLjkiICJkZWJ1ZyIpKQorICAgICAgICAgICAgIChhbmQgKGVxdWFsPyBtMSBtMikK KyAgICAgICAgICAgICAgICAgIChudWxsPyAobWFuaWZlc3QtZW50cmllcyBtMykpCisgICAgICAg ICAgICAgICAgICAobnVsbD8gKG1hbmlmZXN0LWVudHJpZXMgbTQpKSkpKSkpCmFjdHVhbC12YWx1 ZTogI3QKcmVzdWx0OiBQQVNTCgp0ZXN0LW5hbWU6IG1hbmlmZXN0LWFkZApsb2NhdGlvbjogL3Rt cC9ndWl4LWJ1aWxkLWd1aXgtMC4xMy4wLTEyLjBhMTU0YzErLmRydi0wL3NvdXJjZS90ZXN0cy9w cm9maWxlcy5zY206MTM3CnNvdXJjZToKKyAodGVzdC1hc3NlcnQKKyAgICJtYW5pZmVzdC1hZGQi CisgICAobGV0KiAoKG0wIChtYW5pZmVzdCAnKCkpKQorICAgICAgICAgIChtMSAobWFuaWZlc3Qt YWRkIG0wIChsaXN0IGd1aWxlLTEuOC44KSkpCisgICAgICAgICAgKG0yIChtYW5pZmVzdC1hZGQg bTEgKGxpc3QgZ3VpbGUtMi4wLjkpKSkKKyAgICAgICAgICAobTMgKG1hbmlmZXN0LWFkZCBtMiAo bGlzdCBndWlsZS0yLjAuOTpkZWJ1ZykpKQorICAgICAgICAgIChtNCAobWFuaWZlc3QtYWRkIG0z IChsaXN0IGd1aWxlLTIuMC45OmRlYnVnKSkpKQorICAgICAoYW5kIChtYXRjaCAobWFuaWZlc3Qt ZW50cmllcyBtMSkKKyAgICAgICAgICAgICAgICAgKCgoJCA8bWFuaWZlc3QtZW50cnk+ICJndWls ZSIgIjEuOC44IiAib3V0IikpICN0KQorICAgICAgICAgICAgICAgICAoXyAjZikpCisgICAgICAg ICAgKG1hdGNoIChtYW5pZmVzdC1lbnRyaWVzIG0yKQorICAgICAgICAgICAgICAgICAoKCgkIDxt YW5pZmVzdC1lbnRyeT4gImd1aWxlIiAiMi4wLjkiICJvdXQiKSkgI3QpCisgICAgICAgICAgICAg ICAgIChfICNmKSkKKyAgICAgICAgICAoZXF1YWw/IG0zIG00KSkpKQphY3R1YWwtdmFsdWU6ICN0 CnJlc3VsdDogUEFTUwoKdGVzdC1uYW1lOiBtYW5pZmVzdC1wZXJmb3JtLXRyYW5zYWN0aW9uCmxv Y2F0aW9uOiAvdG1wL2d1aXgtYnVpbGQtZ3VpeC0wLjEzLjAtMTIuMGExNTRjMSsuZHJ2LTAvc291 cmNlL3Rlc3RzL3Byb2ZpbGVzLnNjbToxNTEKc291cmNlOgorICh0ZXN0LWFzc2VydAorICAgIm1h bmlmZXN0LXBlcmZvcm0tdHJhbnNhY3Rpb24iCisgICAobGV0KiAoKG0wIChtYW5pZmVzdCAobGlz dCBndWlsZS0yLjAuOSBndWlsZS0yLjAuOTpkZWJ1ZykpKQorICAgICAgICAgICh0MSAobWFuaWZl c3QtdHJhbnNhY3Rpb24KKyAgICAgICAgICAgICAgICAoaW5zdGFsbCAobGlzdCBndWlsZS0xLjgu OCkpCisgICAgICAgICAgICAgICAgKHJlbW92ZQorICAgICAgICAgICAgICAgICAgKGxpc3QgKG1h bmlmZXN0LXBhdHRlcm4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgKG5hbWUgImd1aWxlIikK KyAgICAgICAgICAgICAgICAgICAgICAgICAgKG91dHB1dCAiZGVidWciKSkpKSkpCisgICAgICAg ICAgKHQyIChtYW5pZmVzdC10cmFuc2FjdGlvbgorICAgICAgICAgICAgICAgIChyZW1vdmUKKyAg ICAgICAgICAgICAgICAgIChsaXN0IChtYW5pZmVzdC1wYXR0ZXJuCisgICAgICAgICAgICAgICAg ICAgICAgICAgIChuYW1lICJndWlsZSIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICh2ZXJz aW9uICIyLjAuOSIpCisgICAgICAgICAgICAgICAgICAgICAgICAgIChvdXRwdXQgI2YpKSkpKSkK KyAgICAgICAgICAobTEgKG1hbmlmZXN0LXBlcmZvcm0tdHJhbnNhY3Rpb24gbTAgdDEpKQorICAg ICAgICAgIChtMiAobWFuaWZlc3QtcGVyZm9ybS10cmFuc2FjdGlvbiBtMSB0MikpCisgICAgICAg ICAgKG0zIChtYW5pZmVzdC1wZXJmb3JtLXRyYW5zYWN0aW9uIG0wIHQyKSkpCisgICAgIChhbmQg KG1hdGNoIChtYW5pZmVzdC1lbnRyaWVzIG0xKQorICAgICAgICAgICAgICAgICAoKCgkIDxtYW5p ZmVzdC1lbnRyeT4gImd1aWxlIiAiMS44LjgiICJvdXQiKSkgI3QpCisgICAgICAgICAgICAgICAg IChfICNmKSkKKyAgICAgICAgICAoZXF1YWw/IG0xIG0yKQorICAgICAgICAgIChudWxsPyAobWFu aWZlc3QtZW50cmllcyBtMykpKSkpCmFjdHVhbC12YWx1ZTogI3QKcmVzdWx0OiBQQVNTCgp0ZXN0 LW5hbWU6IG1hbmlmZXN0LXRyYW5zYWN0aW9uLWVmZmVjdHMKbG9jYXRpb246IC90bXAvZ3VpeC1i dWlsZC1ndWl4LTAuMTMuMC0xMi4wYTE1NGMxKy5kcnYtMC9zb3VyY2UvdGVzdHMvcHJvZmlsZXMu c2NtOjE3MApzb3VyY2U6CisgKHRlc3QtYXNzZXJ0CisgICAibWFuaWZlc3QtdHJhbnNhY3Rpb24t ZWZmZWN0cyIKKyAgIChsZXQqICgobTAgKG1hbmlmZXN0IChsaXN0IGd1aWxlLTEuOC44KSkpCisg ICAgICAgICAgKHQgKG1hbmlmZXN0LXRyYW5zYWN0aW9uCisgICAgICAgICAgICAgICAoaW5zdGFs bCAobGlzdCBndWlsZS0yLjAuOSBnbGliYykpCisgICAgICAgICAgICAgICAocmVtb3ZlCisgICAg ICAgICAgICAgICAgIChsaXN0IChtYW5pZmVzdC1wYXR0ZXJuIChuYW1lICJjb3JldXRpbHMiKSkp KSkpKQorICAgICAobGV0LXZhbHVlcworICAgICAgICgoKHJlbW92ZSBpbnN0YWxsIHVwZ3JhZGUg ZG93bmdyYWRlKQorICAgICAgICAgKG1hbmlmZXN0LXRyYW5zYWN0aW9uLWVmZmVjdHMgbTAgdCkp KQorICAgICAgIChhbmQgKG51bGw/IHJlbW92ZSkKKyAgICAgICAgICAgIChudWxsPyBkb3duZ3Jh ZGUpCisgICAgICAgICAgICAoZXF1YWw/IChsaXN0IGdsaWJjKSBpbnN0YWxsKQorICAgICAgICAg ICAgKGVxdWFsPworICAgICAgICAgICAgICAobGlzdCAoY29ucyBndWlsZS0xLjguOCBndWlsZS0y LjAuOSkpCisgICAgICAgICAgICAgIHVwZ3JhZGUpKSkpKQphY3R1YWwtdmFsdWU6ICN0CnJlc3Vs dDogUEFTUwoKdGVzdC1uYW1lOiBtYW5pZmVzdC10cmFuc2FjdGlvbi1lZmZlY3RzIGFuZCBkb3du Z3JhZGVzCmxvY2F0aW9uOiAvdG1wL2d1aXgtYnVpbGQtZ3VpeC0wLjEzLjAtMTIuMGExNTRjMSsu ZHJ2LTAvc291cmNlL3Rlc3RzL3Byb2ZpbGVzLnNjbToxODEKc291cmNlOgorICh0ZXN0LWFzc2Vy dAorICAgIm1hbmlmZXN0LXRyYW5zYWN0aW9uLWVmZmVjdHMgYW5kIGRvd25ncmFkZXMiCisgICAo bGV0KiAoKG0wIChtYW5pZmVzdCAobGlzdCBndWlsZS0yLjAuOSkpKQorICAgICAgICAgICh0ICht YW5pZmVzdC10cmFuc2FjdGlvbgorICAgICAgICAgICAgICAgKGluc3RhbGwgKGxpc3QgZ3VpbGUt MS44LjgpKSkpKQorICAgICAobGV0LXZhbHVlcworICAgICAgICgoKHJlbW92ZSBpbnN0YWxsIHVw Z3JhZGUgZG93bmdyYWRlKQorICAgICAgICAgKG1hbmlmZXN0LXRyYW5zYWN0aW9uLWVmZmVjdHMg bTAgdCkpKQorICAgICAgIChhbmQgKG51bGw/IHJlbW92ZSkKKyAgICAgICAgICAgIChudWxsPyBp bnN0YWxsKQorICAgICAgICAgICAgKG51bGw/IHVwZ3JhZGUpCisgICAgICAgICAgICAoZXF1YWw/ CisgICAgICAgICAgICAgIChsaXN0IChjb25zIGd1aWxlLTIuMC45IGd1aWxlLTEuOC44KSkKKyAg ICAgICAgICAgICAgZG93bmdyYWRlKSkpKSkKYWN0dWFsLXZhbHVlOiAjdApyZXN1bHQ6IFBBU1MK CnRlc3QtbmFtZTogbWFuaWZlc3QtdHJhbnNhY3Rpb24tZWZmZWN0cyBhbmQgcHNldWRvLXVwZ3Jh ZGVzCmxvY2F0aW9uOiAvdG1wL2d1aXgtYnVpbGQtZ3VpeC0wLjEzLjAtMTIuMGExNTRjMSsuZHJ2 LTAvc291cmNlL3Rlc3RzL3Byb2ZpbGVzLnNjbToxODkKc291cmNlOgorICh0ZXN0LWFzc2VydAor ICAgIm1hbmlmZXN0LXRyYW5zYWN0aW9uLWVmZmVjdHMgYW5kIHBzZXVkby11cGdyYWRlcyIKKyAg IChsZXQqICgobTAgKG1hbmlmZXN0IChsaXN0IGd1aWxlLTIuMC45KSkpCisgICAgICAgICAgKHQg KG1hbmlmZXN0LXRyYW5zYWN0aW9uCisgICAgICAgICAgICAgICAoaW5zdGFsbCAobGlzdCBndWls ZS0yLjAuOSkpKSkpCisgICAgIChsZXQtdmFsdWVzCisgICAgICAgKCgocmVtb3ZlIGluc3RhbGwg dXBncmFkZSBkb3duZ3JhZGUpCisgICAgICAgICAobWFuaWZlc3QtdHJhbnNhY3Rpb24tZWZmZWN0 cyBtMCB0KSkpCisgICAgICAgKGFuZCAobnVsbD8gcmVtb3ZlKQorICAgICAgICAgICAgKG51bGw/ IGluc3RhbGwpCisgICAgICAgICAgICAobnVsbD8gZG93bmdyYWRlKQorICAgICAgICAgICAgKGVx dWFsPworICAgICAgICAgICAgICAobGlzdCAoY29ucyBndWlsZS0yLjAuOSBndWlsZS0yLjAuOSkp CisgICAgICAgICAgICAgIHVwZ3JhZGUpKSkpKQphY3R1YWwtdmFsdWU6ICN0CnJlc3VsdDogUEFT UwoKdGVzdC1uYW1lOiBtYW5pZmVzdC10cmFuc2FjdGlvbi1udWxsPwpsb2NhdGlvbjogL3RtcC9n dWl4LWJ1aWxkLWd1aXgtMC4xMy4wLTEyLjBhMTU0YzErLmRydi0wL3NvdXJjZS90ZXN0cy9wcm9m aWxlcy5zY206MTk3CnNvdXJjZToKKyAodGVzdC1hc3NlcnQKKyAgICJtYW5pZmVzdC10cmFuc2Fj dGlvbi1udWxsPyIKKyAgIChtYW5pZmVzdC10cmFuc2FjdGlvbi1udWxsPworICAgICAobWFuaWZl c3QtdHJhbnNhY3Rpb24pKSkKYWN0dWFsLXZhbHVlOiAjdApyZXN1bHQ6IFBBU1MKCnRlc3QtbmFt ZTogbWFuaWZlc3QtdHJhbnNhY3Rpb24tcmVtb3ZhbC1jYW5kaWRhdGU/CmxvY2F0aW9uOiAvdG1w L2d1aXgtYnVpbGQtZ3VpeC0wLjEzLjAtMTIuMGExNTRjMSsuZHJ2LTAvc291cmNlL3Rlc3RzL3By b2ZpbGVzLnNjbToyMDAKc291cmNlOgorICh0ZXN0LWFzc2VydAorICAgIm1hbmlmZXN0LXRyYW5z YWN0aW9uLXJlbW92YWwtY2FuZGlkYXRlPyIKKyAgIChsZXQgKChtIChtYW5pZmVzdCAobGlzdCBn dWlsZS0yLjAuOSkpKQorICAgICAgICAgKHQgKG1hbmlmZXN0LXRyYW5zYWN0aW9uCisgICAgICAg ICAgICAgIChyZW1vdmUgKGxpc3QgKG1hbmlmZXN0LXBhdHRlcm4gKG5hbWUgImd1aWxlIikpKSkp KSkKKyAgICAgKGFuZCAobWFuaWZlc3QtdHJhbnNhY3Rpb24tcmVtb3ZhbC1jYW5kaWRhdGU/Cisg ICAgICAgICAgICBndWlsZS0yLjAuOQorICAgICAgICAgICAgdCkKKyAgICAgICAgICAobm90ICht YW5pZmVzdC10cmFuc2FjdGlvbi1yZW1vdmFsLWNhbmRpZGF0ZT8gZ2xpYmMgdCkpKSkpCmFjdHVh bC12YWx1ZTogI3QKcmVzdWx0OiBQQVNTCgp0ZXN0LW5hbWU6IHByb2ZpbGUtZGVyaXZhdGlvbgps b2NhdGlvbjogL3RtcC9ndWl4LWJ1aWxkLWd1aXgtMC4xMy4wLTEyLjBhMTU0YzErLmRydi0wL3Nv dXJjZS90ZXN0cy9wcm9maWxlcy5zY206MjA3CnNvdXJjZToKKyAodGVzdC1hc3NlcnQKKyAgICJw cm9maWxlLWRlcml2YXRpb24iCisgICAocnVuLXdpdGgtc3RvcmUKKyAgICAgJXN0b3JlCisgICAg IChtbGV0KiAlc3RvcmUtbW9uYWQKKyAgICAgICAgICAgICgoZW50cnkgLT4KKyAgICAgICAgICAg ICAgICAgICAgKHBhY2thZ2UtPm1hbmlmZXN0LWVudHJ5ICVib290c3RyYXAtZ3VpbGUpKQorICAg ICAgICAgICAgIChndWlsZSAocGFja2FnZS0+ZGVyaXZhdGlvbiAlYm9vdHN0cmFwLWd1aWxlKSkK KyAgICAgICAgICAgICAoZHJ2IChwcm9maWxlLWRlcml2YXRpb24KKyAgICAgICAgICAgICAgICAg ICAgKG1hbmlmZXN0IChsaXN0IGVudHJ5KSkKKyAgICAgICAgICAgICAgICAgICAgIzpob29rcwor ICAgICAgICAgICAgICAgICAgICAnKCkKKyAgICAgICAgICAgICAgICAgICAgIzpsb2NhbGVzPwor ICAgICAgICAgICAgICAgICAgICAjZilyYW5kb20gc2VlZCBmb3IgdGVzdHM6IDE1MTIzMTkzMjMK QCBidWlsZC1zdGFydGVkIC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9yMDRrMmpzbHJsd2xwZGNrZnl4 d3pwaXZobmxjZ3ZkYi1wcm9maWxlLmRydiAtIHg4Nl82NC1saW51eCAvdG1wL2d1aXgtdGVzdHMv dmFyL2xvZy9ndWl4L2RydnMvcjAvLzRrMmpzbHJsd2xwZGNrZnl4d3pwaXZobmxjZ3ZkYi1wcm9m aWxlLmRydi5iejIKQmFja3RyYWNlOgpJbiBpY2UtOS9ib290LTkuc2NtOgogMTU3OiAxMCBbY2F0 Y2ggI3QgIzxjYXRjaC1jbG9zdXJlIGM5MWUyMD4gLi4uXQpJbiB1bmtub3duIGZpbGU6CiAgID86 IDkgW2FwcGx5LXNtb2IvMSAjPGNhdGNoLWNsb3N1cmUgYzkxZTIwPl0KSW4gaWNlLTkvYm9vdC05 LnNjbToKICA2MzogOCBbY2FsbC13aXRoLXByb21wdCBwcm9tcHQwIC4uLl0KSW4gaWNlLTkvZXZh bC5zY206CiA0MzI6IDcgW2V2YWwgIyAjXQpJbiBpY2UtOS9ib290LTkuc2NtOgoyMzIwOiA2IFtz YXZlLW1vZHVsZS1leGN1cnNpb24gIzxwcm9jZWR1cmUgY2JmYjAwIGF0IGljZS05L2Jvb3QtOS5z Y206Mzk2MTozICgpPl0KMzk2NjogNSBbIzxwcm9jZWR1cmUgY2JmYjAwIGF0IGljZS05L2Jvb3Qt OS5zY206Mzk2MTozICgpPl0KMTY0NTogNCBbJXN0YXJ0LXN0YWNrIGxvYWQtc3RhY2sgIzxwcm9j ZWR1cmUgY2MwZGEwIGF0IGljZS05L2Jvb3QtOS5zY206Mzk1NzoxMCAoKT5dCjE2NTA6IDMgWyM8 cHJvY2VkdXJlIGNjNmRiMCAoKT5dCkluIHVua25vd24gZmlsZToKICAgPzogMiBbcHJpbWl0aXZl LWxvYWQgIi90bXAvZ3VpeC10ZXN0cy9zdG9yZS9xanpmZnkxcHBmbTRhNmJtZ2FwODBsNGtrNmM4 MzY5Zi1wcm9maWxlLWJ1aWxkZXIiXQpJbiBpY2UtOS9ldmFsLnNjbToKIDQzMjogMSBbZXZhbCAj ICgpXQpJbiB1bmtub3duIGZpbGU6CiAgID86IDAgW3NldHZidWYgIzxvdXRwdXQ6IGZpbGUgMT4g bGluZSAjPHVuZGVmaW5lZD5dCgpFUlJPUjogSW4gcHJvY2VkdXJlIHNldHZidWY6CkVSUk9SOiBX cm9uZyB0eXBlIChleHBlY3RpbmcgZXhhY3QgaW50ZWdlcik6IGxpbmUKYnVpbGRlciBmb3IgYC90 bXAvZ3VpeC10ZXN0cy9zdG9yZS9yMDRrMmpzbHJsd2xwZGNrZnl4d3pwaXZobmxjZ3ZkYi1wcm9m aWxlLmRydicgZmFpbGVkIHdpdGggZXhpdCBjb2RlIDEKQCBidWlsZC1mYWlsZWQgL3RtcC9ndWl4 LXRlc3RzL3N0b3JlL3IwNGsyanNscmx3bHBkY2tmeXh3enBpdmhubGNndmRiLXByb2ZpbGUuZHJ2 IC0gMSBidWlsZGVyIGZvciBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3IwNGsyanNscmx3bHBkY2tm eXh3enBpdmhubGNndmRiLXByb2ZpbGUuZHJ2JyBmYWlsZWQgd2l0aCBleGl0IGNvZGUgMQopCisg ICAgICAgICAgICAgKHByb2ZpbGUgLT4gKGRlcml2YXRpb24tPm91dHB1dC1wYXRoIGRydikpCisg ICAgICAgICAgICAgKGJpbmRpciAtPiAoc3RyaW5nLWFwcGVuZCBwcm9maWxlICIvYmluIikpCisg ICAgICAgICAgICAgKF8gKGJ1aWx0LWRlcml2YXRpb25zIChsaXN0IGRydikpKSkKKyAgICAgICAg ICAgIChyZXR1cm4KKyAgICAgICAgICAgICAgKGFuZCAoZmlsZS1leGlzdHM/IChzdHJpbmctYXBw ZW5kIGJpbmRpciAiL2d1aWxlIikpCisgICAgICAgICAgICAgICAgICAgKHN0cmluZz0/CisgICAg ICAgICAgICAgICAgICAgICAoZGlybmFtZSAocmVhZGxpbmsgYmluZGlyKSkKKyAgICAgICAgICAg ICAgICAgICAgIChkZXJpdmF0aW9uLT5vdXRwdXQtcGF0aCBndWlsZSkpKSkpCisgICAgICM6Z3Vp bGUtZm9yLWJ1aWxkCisgICAgICglZ3VpbGUtZm9yLWJ1aWxkKSkpCmFjdHVhbC12YWx1ZTogI2YK YWN0dWFsLWVycm9yOgorIChzcmZpLTM0CisgICAjPGNvbmRpdGlvbiAmbml4LXByb3RvY29sLWVy cm9yIFttZXNzYWdlOiAiYnVpbGQgb2YgYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9yMDRrMmpzbHJs d2xwZGNrZnl4d3pwaXZobmxjZ3ZkYi1wcm9maWxlLmRydicgZmFpbGVkIiBzdGF0dXM6IDEwMF0g MjA4MzMzMD4pCnJlc3VsdDogRkFJTAoKdGVzdC1uYW1lOiBwcm9maWxlLWRlcml2YXRpb24sIGlu cHV0cwpsb2NhdGlvbjogL3RtcC9ndWl4LWJ1aWxkLWd1aXgtMC4xMy4wLTEyLjBhMTU0YzErLmRy di0wL3NvdXJjZS90ZXN0cy9wcm9maWxlcy5zY206MjIxCnNvdXJjZToKKyAodGVzdC1hc3NlcnQK KyAgICJwcm9maWxlLWRlcml2YXRpb24sIGlucHV0cyIKKyAgIChydW4td2l0aC1zdG9yZQorICAg ICAlc3RvcmUKKyAgICAgKG1sZXQqICVzdG9yZS1tb25hZAorICAgICAgICAgICAgKChlbnRyeSAt PgorICAgICAgICAgICAgICAgICAgICAocGFja2FnZS0+bWFuaWZlc3QtZW50cnkgcGFja2FnZXM6 Z2xpYmMgImRlYnVnIikpCisgICAgICAgICAgICAgKGRydiAocHJvZmlsZS1kZXJpdmF0aW9uCisg ICAgICAgICAgICAgICAgICAgIChtYW5pZmVzdCAobGlzdCBlbnRyeSkpCisgICAgICAgICAgICAg ICAgICAgICM6aG9va3MKKyAgICAgICAgICAgICAgICAgICAgJygpCisgICAgICAgICAgICAgICAg ICAgICM6bG9jYWxlcz8KKyAgICAgICAgICAgICAgICAgICAgI2YpKSkKKyAgICAgICAgICAgIChy ZXR1cm4gKGRlcml2YXRpb24taW5wdXRzIGRydikpKQorICAgICAjOmd1aWxlLWZvci1idWlsZAor ICAgICAoJWd1aWxlLWZvci1idWlsZCkpKQphY3R1YWwtdmFsdWU6ICgjPDxkZXJpdmF0aW9uLWlu cHV0PiBwYXRoOiAiL3RtcC9ndWl4LXRlc3RzL3N0b3JlLzI0NmIyNWNmYW01YXlqdjJuMzBrOHly d3A2NjJsczRxLWdsaWJjLTIuMjUuZHJ2IiBzdWItZGVyaXZhdGlvbnM6ICgiZGVidWciKT4gIzw8 ZGVyaXZhdGlvbi1pbnB1dD4gcGF0aDogIi90bXAvZ3VpeC10ZXN0cy9zdG9yZS80OTFxNHJpMDlu cXlxZjM3cWN2eXczejVjbnh6d2Y4di1saW51eC1saWJyZS1oZWFkZXJzLTQuNC40Ny5kcnYiIHN1 Yi1kZXJpdmF0aW9uczogKCJvdXQiKT4gIzw8ZGVyaXZhdGlvbi1pbnB1dD4gcGF0aDogIi90bXAv Z3VpeC10ZXN0cy9zdG9yZS9nYTJxeWxtenA2OHc0ejN5bHF3OGg3amh2NTN6cGI0eC1tb2R1bGUt aW1wb3J0LmRydiIgc3ViLWRlcml2YXRpb25zOiAoIm91dCIpPiAjPDxkZXJpdmF0aW9uLWlucHV0 PiBwYXRoOiAiL3RtcC9ndWl4LXRlc3RzL3N0b3JlL2tuMGd4NW5hOGsybmlscTZjMzYyYm1hdnl3 bmlsa2hxLWd1aWxlLWJvb3RzdHJhcC0yLjAuZHJ2IiBzdWItZGVyaXZhdGlvbnM6ICgib3V0Iik+ ICM8PGRlcml2YXRpb24taW5wdXQ+IHBhdGg6ICIvdG1wL2d1aXgtdGVzdHMvc3RvcmUvbDhkMjZm MzZ2aGlsaXY1bXdkM3Zoc2RpenZia2lrOTMtbW9kdWxlLWltcG9ydC1jb21waWxlZC5kcnYiIHN1 Yi1kZXJpdmF0aW9uczogKCJvdXQiKT4pCnJlc3VsdDogUEFTUwoKdGVzdC1uYW1lOiBwcm9maWxl LWRlcml2YXRpb24sIGNyb3NzLWNvbXBpbGF0aW9uCmxvY2F0aW9uOiAvdG1wL2d1aXgtYnVpbGQt Z3VpeC0wLjEzLjAtMTIuMGExNTRjMSsuZHJ2LTAvc291cmNlL3Rlc3RzL3Byb2ZpbGVzLnNjbToy MjkKc291cmNlOgorICh0ZXN0LWFzc2VydAorICAgInByb2ZpbGUtZGVyaXZhdGlvbiwgY3Jvc3Mt Y29tcGlsYXRpb24iCisgICAocnVuLXdpdGgtc3RvcmUKKyAgICAgJXN0b3JlCisgICAgIChtbGV0 KiAlc3RvcmUtbW9uYWQKKyAgICAgICAgICAgICgobWFuaWZlc3QKKyAgICAgICAgICAgICAgIC0+ CisgICAgICAgICAgICAgICAocGFja2FnZXMtPm1hbmlmZXN0CisgICAgICAgICAgICAgICAgIChs aXN0IHBhY2thZ2VzOnNlZCBwYWNrYWdlczpncmVwKSkpCisgICAgICAgICAgICAgKHRhcmdldCAt PiAiYXJtLWxpbnV4LWdudWVhYmloZiIpCisgICAgICAgICAgICAgKGdyZXAgKHBhY2thZ2UtPmNy b3NzLWRlcml2YXRpb24gcGFja2FnZXM6Z3JlcCB0YXJnZXQpKQorICAgICAgICAgICAgIChzZWQg KHBhY2thZ2UtPmNyb3NzLWRlcml2YXRpb24gcGFja2FnZXM6c2VkIHRhcmdldCkpCisgICAgICAg ICAgICAgKGxvY2FsZXMKKyAgICAgICAgICAgICAgIChwYWNrYWdlLT5kZXJpdmF0aW9uIHBhY2th Z2VzOmdsaWJjLXV0ZjgtbG9jYWxlcykpCisgICAgICAgICAgICAgKGRydiAocHJvZmlsZS1kZXJp dmF0aW9uCisgICAgICAgICAgICAgICAgICAgIG1hbmlmZXN0CisgICAgICAgICAgICAgICAgICAg ICM6aG9va3MKKyAgICAgICAgICAgICAgICAgICAgJygpCisgICAgICAgICAgICAgICAgICAgICM6 bG9jYWxlcz8KKyAgICAgICAgICAgICAgICAgICAgI3QKKyAgICAgICAgICAgICAgICAgICAgIzp0 YXJnZXQKKyAgICAgICAgICAgICAgICAgICAgdGFyZ2V0KSkpCisgICAgICAgICAgICAoZGVmaW5l IChmaW5kLWlucHV0IG5hbWUpCisgICAgICAgICAgICAgIChsZXQgKChuYW1lIChzdHJpbmctYXBw ZW5kIG5hbWUgIi5kcnYiKSkpCisgICAgICAgICAgICAgICAgKGFueSAobGFtYmRhIChpbnB1dCkK KyAgICAgICAgICAgICAgICAgICAgICAgKGxldCAoKGlucHV0IChkZXJpdmF0aW9uLWlucHV0LXBh dGggaW5wdXQpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAoYW5kIChzdHJpbmctc3VmZml4 PyBuYW1lIGlucHV0KSBpbnB1dCkpKQorICAgICAgICAgICAgICAgICAgICAgKGRlcml2YXRpb24t aW5wdXRzIGRydikpKSkKKyAgICAgICAgICAgIChyZXR1cm4KKyAgICAgICAgICAgICAgKGFuZCAo c3RyaW5nPT8KKyAgICAgICAgICAgICAgICAgICAgIChkZXJpdmF0aW9uLXN5c3RlbSBkcnYpCisg ICAgICAgICAgICAgICAgICAgICAoJWN1cnJlbnQtc3lzdGVtKSkKKyAgICAgICAgICAgICAgICAg ICAoc3RyaW5nPT8KKyAgICAgICAgICAgICAgICAgICAgIChmaW5kLWlucHV0IChwYWNrYWdlLWZ1 bGwtbmFtZSBwYWNrYWdlczpncmVwKSkKKyAgICAgICAgICAgICAgICAgICAgIChkZXJpdmF0aW9u LWZpbGUtbmFtZSBncmVwKSkKKyAgICAgICAgICAgICAgICAgICAoc3RyaW5nPT8KKyAgICAgICAg ICAgICAgICAgICAgIChmaW5kLWlucHV0IChwYWNrYWdlLWZ1bGwtbmFtZSBwYWNrYWdlczpzZWQp KQorICAgICAgICAgICAgICAgICAgICAgKGRlcml2YXRpb24tZmlsZS1uYW1lIHNlZCkpCisgICAg ICAgICAgICAgICAgICAgKHN0cmluZz0/CisgICAgICAgICAgICAgICAgICAgICAoZmluZC1pbnB1 dAorICAgICAgICAgICAgICAgICAgICAgICAocGFja2FnZS1mdWxsLW5hbWUgcGFja2FnZXM6Z2xp YmMtdXRmOC1sb2NhbGVzKSkKKyAgICAgICAgICAgICAgICAgICAgIChkZXJpdmF0aW9uLWZpbGUt bmFtZSBsb2NhbGVzKSkpKSkKKyAgICAgIzpndWlsZS1mb3ItYnVpbGQKKyAgICAgKCVndWlsZS1m b3ItYnVpbGQpKSkKYWN0dWFsLXZhbHVlOiAjdApyZXN1bHQ6IFBBU1MKCnRlc3QtbmFtZTogcGFj a2FnZS0+bWFuaWZlc3QtZW50cnkgZGVmYXVsdHMgdG8gIm91dCIKbG9jYXRpb246IC90bXAvZ3Vp eC1idWlsZC1ndWl4LTAuMTMuMC0xMi4wYTE1NGMxKy5kcnYtMC9zb3VyY2UvdGVzdHMvcHJvZmls ZXMuc2NtOjI1OApzb3VyY2U6CisgKHRlc3QtYXNzZXJ0CisgICBAIGJ1aWxkLXN0YXJ0ZWQgL3Rt cC9ndWl4LXRlc3RzL3N0b3JlL3hjMWphMzg1NnM5OWcyeDlpeDlybjlzZ3hjMDVmbmppLXByb2Zp bGUuZHJ2IC0geDg2XzY0LWxpbnV4IC90bXAvZ3VpeC10ZXN0cy92YXIvbG9nL2d1aXgvZHJ2cy94 Yy8vMWphMzg1NnM5OWcyeDlpeDlybjlzZ3hjMDVmbmppLXByb2ZpbGUuZHJ2LmJ6MgpCYWNrdHJh Y2U6CkluIGljZS05L2Jvb3QtOS5zY206CiAxNTc6IDEwIFtjYXRjaCAjdCAjPGNhdGNoLWNsb3N1 cmUgYzkxZTIwPiAuLi5dCkluIHVua25vd24gZmlsZToKICAgPzogOSBbYXBwbHktc21vYi8xICM8 Y2F0Y2gtY2xvc3VyZSBjOTFlMjA+XQpJbiBpY2UtOS9ib290LTkuc2NtOgogIDYzOiA4IFtjYWxs LXdpdGgtcHJvbXB0IHByb21wdDAgLi4uXQpJbiBpY2UtOS9ldmFsLnNjbToKIDQzMjogNyBbZXZh bCAjICNdCkluIGljZS05L2Jvb3QtOS5zY206CjIzMjA6IDYgW3NhdmUtbW9kdWxlLWV4Y3Vyc2lv biAjPHByb2NlZHVyZSBjYmZiMDAgYXQgaWNlLTkvYm9vdC05LnNjbTozOTYxOjMgKCk+XQozOTY2 OiA1IFsjPHByb2NlZHVyZSBjYmZiMDAgYXQgaWNlLTkvYm9vdC05LnNjbTozOTYxOjMgKCk+XQox NjQ1OiA0IFslc3RhcnQtc3RhY2sgbG9hZC1zdGFjayAjPHByb2NlZHVyZSBjYzBkYTAgYXQgaWNl LTkvYm9vdC05LnNjbTozOTU3OjEwICgpPl0KMTY1MDogMyBbIzxwcm9jZWR1cmUgY2M2ZGIwICgp Pl0KSW4gdW5rbm93biBmaWxlOgogICA/OiAyIFtwcmltaXRpdmUtbG9hZCAiL3RtcC9ndWl4LXRl c3RzL3N0b3JlL2pzYTV4ODdidm1sNjBieThheThhc25yNWRiaDl4bmR4LXByb2ZpbGUtYnVpbGRl ciJdCkluIGljZS05L2V2YWwuc2NtOgogNDMyOiAxIFtldmFsICMgKCldCkluIHVua25vd24gZmls ZToKICAgPzogMCBbc2V0dmJ1ZiAjPG91dHB1dDogZmlsZSAxPiBsaW5lICM8dW5kZWZpbmVkPl0K CkVSUk9SOiBJbiBwcm9jZWR1cmUgc2V0dmJ1ZjoKRVJST1I6IFdyb25nIHR5cGUgKGV4cGVjdGlu ZyBleGFjdCBpbnRlZ2VyKTogbGluZQpidWlsZGVyIGZvciBgL3RtcC9ndWl4LXRlc3RzL3N0b3Jl L3hjMWphMzg1NnM5OWcyeDlpeDlybjlzZ3hjMDVmbmppLXByb2ZpbGUuZHJ2JyBmYWlsZWQgd2l0 aCBleGl0IGNvZGUgMQpAIGJ1aWxkLWZhaWxlZCAvdG1wL2d1aXgtdGVzdHMvc3RvcmUveGMxamEz ODU2czk5ZzJ4OWl4OXJuOXNneGMwNWZuamktcHJvZmlsZS5kcnYgLSAxIGJ1aWxkZXIgZm9yIGAv dG1wL2d1aXgtdGVzdHMvc3RvcmUveGMxamEzODU2czk5ZzJ4OWl4OXJuOXNneGMwNWZuamktcHJv ZmlsZS5kcnYnIGZhaWxlZCB3aXRoIGV4aXQgY29kZSAxCiJwYWNrYWdlLT5tYW5pZmVzdC1lbnRy eSBkZWZhdWx0cyB0byBcIm91dFwiIgorICAgKGxldCAoKG91dHB1dHMgKHBhY2thZ2Utb3V0cHV0 cyBwYWNrYWdlczpnbGliYykpKQorICAgICAoZXF1YWw/CisgICAgICAgKG1hbmlmZXN0LWVudHJ5 LW91dHB1dAorICAgICAgICAgKHBhY2thZ2UtPm1hbmlmZXN0LWVudHJ5CisgICAgICAgICAgIChw YWNrYWdlCisgICAgICAgICAgICAgKGluaGVyaXQgcGFja2FnZXM6Z2xpYmMpCisgICAgICAgICAg ICAgKG91dHB1dHMgKHJldmVyc2Ugb3V0cHV0cykpKSkpCisgICAgICAgKG1hbmlmZXN0LWVudHJ5 LW91dHB1dAorICAgICAgICAgKHBhY2thZ2UtPm1hbmlmZXN0LWVudHJ5IHBhY2thZ2VzOmdsaWJj KSkKKyAgICAgICAib3V0IikpKQphY3R1YWwtdmFsdWU6ICN0CnJlc3VsdDogUEFTUwoKdGVzdC1u YW1lOiBwcm9maWxlLW1hbmlmZXN0LCBzZWFyY2gtcGF0aHMKbG9jYXRpb246IC90bXAvZ3VpeC1i dWlsZC1ndWl4LTAuMTMuMC0xMi4wYTE1NGMxKy5kcnYtMC9zb3VyY2UvdGVzdHMvcHJvZmlsZXMu c2NtOjI2OApzb3VyY2U6CisgKHRlc3QtYXNzZXJ0CisgICAicHJvZmlsZS1tYW5pZmVzdCwgc2Vh cmNoLXBhdGhzIgorICAgKHJ1bi13aXRoLXN0b3JlCisgICAgICVzdG9yZQorICAgICAobWxldCog JXN0b3JlLW1vbmFkCisgICAgICAgICAgICAoKGd1aWxlIC0+CisgICAgICAgICAgICAgICAgICAg IChwYWNrYWdlCisgICAgICAgICAgICAgICAgICAgICAgKGluaGVyaXQgJWJvb3RzdHJhcC1ndWls ZSkKKyAgICAgICAgICAgICAgICAgICAgICAobmF0aXZlLXNlYXJjaC1wYXRocworICAgICAgICAg ICAgICAgICAgICAgICAgKHBhY2thZ2UtbmF0aXZlLXNlYXJjaC1wYXRocyBwYWNrYWdlczpndWls ZS0yLjApKSkpCisgICAgICAgICAgICAgKGVudHJ5IC0+IChwYWNrYWdlLT5tYW5pZmVzdC1lbnRy eSBndWlsZSkpCisgICAgICAgICAgICAgKGRydiAocHJvZmlsZS1kZXJpdmF0aW9uCisgICAgICAg ICAgICAgICAgICAgIChtYW5pZmVzdCAobGlzdCBlbnRyeSkpCisgICAgICAgICAgICAgICAgICAg ICM6aG9va3MKKyAgICAgICAgICAgICAgICAgICAgJygpCisgICAgICAgICAgICAgICAgICAgICM6 bG9jYWxlcz8KKyAgICAgICAgICAgICAgICAgICAgI2YpKQorICAgICAgICAgICAgIChwcm9maWxl IC0+IChkZXJpdmF0aW9uLT5vdXRwdXQtcGF0aCBkcnYpKSkKKyAgICAgICAgICAgIChtYmVnaW4K KyAgICAgICAgICAgICAgJXN0b3JlLW1vbmFkCisgICAgICAgICAgICAgIChidWlsdC1kZXJpdmF0 aW9ucyAobGlzdCBkcnYpKQorICAgICAgICAgICAgICAobGV0ICgobWFuaWZlc3QgKHByb2ZpbGUt bWFuaWZlc3QgcHJvZmlsZSkpKQorICAgICAgICAgICAgICAgIChtYXRjaCAobWFuaWZlc3QtZW50 cmllcyBtYW5pZmVzdCkKKyAgICAgICAgICAgICAgICAgICAgICAgKChyZXN1bHQpCisgICAgICAg ICAgICAgICAgICAgICAgICAocmV0dXJuCisgICAgICAgICAgICAgICAgICAgICAgICAgIChlcXVh bD8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAobWFuaWZlc3QtZW50cnktc2VhcmNoLXBh dGhzIHJlc3VsdCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAobWFuaWZlc3QtZW50cnkt c2VhcmNoLXBhdGhzIGVudHJ5KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwYWNrYWdl LW5hdGl2ZS1zZWFyY2gtcGF0aHMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhY2th Z2VzOmd1aWxlLTIuMCkpKSkpKSkpCisgICAgICM6Z3VpbGUtZm9yLWJ1aWxkCisgICAgICglZ3Vp bGUtZm9yLWJ1aWxkKSkpCmFjdHVhbC12YWx1ZTogI2YKYWN0dWFsLWVycm9yOgorIChzcmZpLTM0 CisgICAjPGNvbmRpdGlvbiAmbml4LXByb3RvY29sLWVycm9yIFttZXNzYWdlOiAiYnVpbGQgb2Yg YC90bXAvZ3VpeC10ZXN0cy9zdG9yZS94YzFqYTM4NTZzOTlnMng5aXg5cm45c2d4YzA1Zm5qaS1w cm9maWxlLmRydicgZmFpbGVkIiBzdGF0dXM6IDEwMF0gMjlmN2Y2MD4pCnJlc3VsdDogRkFJTAoK dGVzdC1uYW1lOiBwYWNrYWdlLT5tYW5pZmVzdC1lbnRyeSwgc2VhcmNoIHBhdGhzCmxvY2F0aW9u OiAvdG1wL2d1aXgtYnVpbGQtZ3VpeC0wLjEzLjAtMTIuMGExNTRjMSsuZHJ2LTAvc291cmNlL3Rl c3RzL3Byb2ZpbGVzLnNjbToyOTEKc291cmNlOgorICh0ZXN0LWFzc2VydAorICAgInBhY2thZ2Ut Pm1hbmlmZXN0LWVudHJ5LCBzZWFyY2ggcGF0aHMiCisgICAobGV0ICgobXBsIChAIChnbnUgcGFj a2FnZXMgcHl0aG9uKSBweXRob24yLW1hdHBsb3RsaWIpKSkKKyAgICAgKGxzZXQ9IGVxPworICAg ICAgICAgICAgKHBhY2thZ2UtdHJhbnNpdGl2ZS1uYXRpdmUtc2VhcmNoLXBhdGhzIG1wbCkKKyAg ICAgICAgICAgIChtYW5pZmVzdC1lbnRyeS1zZWFyY2gtcGF0aHMKKyAgICAgICAgICAgICAgKHBh Y2thZ2UtPm1hbmlmZXN0LWVudHJ5IG1wbCkpKSkpCmFjdHVhbC12YWx1ZTogI3QKcmVzdWx0OiBQ QVNTCgp0ZXN0LW5hbWU6IHBhY2thZ2VzLT5tYW5pZmVzdCwgcHJvcGFnYXRlZCBpbnB1dHMKbG9j YXRpb246IC90bXAvZ3VpeC1idWlsZC1ndWl4LTAuMTMuMC0xMi4wYTE1NGMxKy5kcnYtMC9zb3Vy Y2UvdGVzdHMvcHJvZmlsZXMuc2NtOjI5OQpzb3VyY2U6CisgKHRlc3QtZXF1YWwKKyAgICJwYWNr YWdlcy0+bWFuaWZlc3QsIHByb3BhZ2F0ZWQgaW5wdXRzIgorICAgKG1hcCAobWF0Y2gtbGFtYmRh CisgICAgICAgICAgKChsYWJlbCBwYWNrYWdlKQorICAgICAgICAgICAobGlzdCAocGFja2FnZS1u YW1lIHBhY2thZ2UpCisgICAgICAgICAgICAgICAgIChwYWNrYWdlLXZlcnNpb24gcGFja2FnZSkK KyAgICAgICAgICAgICAgICAgcGFja2FnZSkpKQorICAgICAgICAocGFja2FnZS1wcm9wYWdhdGVk LWlucHV0cyBwYWNrYWdlczpndWlsZS0yLjIpKQorICAgKG1hcCAobGFtYmRhIChlbnRyeSkKKyAg ICAgICAgICAobGlzdCAobWFuaWZlc3QtZW50cnktbmFtZSBlbnRyeSkKKyAgICAgICAgICAgICAg ICAobWFuaWZlc3QtZW50cnktdmVyc2lvbiBlbnRyeSkKKyAgICAgICAgICAgICAgICAobWFuaWZl c3QtZW50cnktaXRlbSBlbnRyeSkpKQorICAgICAgICAobWFuaWZlc3QtZW50cnktZGVwZW5kZW5j aWVzCisgICAgICAgICAgKHBhY2thZ2UtPm1hbmlmZXN0LWVudHJ5IHBhY2thZ2VzOmd1aWxlLTIu MikpKSkKZXhwZWN0ZWQtdmFsdWU6ICgoImxpYnVuaXN0cmluZyIgIjAuOS43IiAjPHBhY2thZ2Ug bGlidW5pc3RyaW5nQDAuOS43IGdudS9wYWNrYWdlcy9saWJ1bmlzdHJpbmcuc2NtOjMyIDEwMDVm MDA+KSAoImxpYmx0ZGwiICIyLjQuNiIgIzxwYWNrYWdlIGxpYmx0ZGxAMi40LjYgZ251L3BhY2th Z2VzL2F1dG90b29scy5zY206NDAwIDFiNzI2YzA+KSAoImxpYmdjIiAiNy42LjAiICM8cGFja2Fn ZSBsaWJnY0A3LjYuMCBnbnUvcGFja2FnZXMvYmR3LWdjLnNjbTozMSBlZGI5MDA+KSAoImdtcCIg IjYuMS4yIiAjPHBhY2thZ2UgZ21wQDYuMS4yIGdudS9wYWNrYWdlcy9tdWx0aXByZWNpc2lvbi5z Y206MzMgMTAwNWMwMD4pKQphY3R1YWwtdmFsdWU6ICgoImxpYnVuaXN0cmluZyIgIjAuOS43IiAj PHBhY2thZ2UgbGlidW5pc3RyaW5nQDAuOS43IGdudS9wYWNrYWdlcy9saWJ1bmlzdHJpbmcuc2Nt OjMyIDEwMDVmMDA+KSAoImxpYmx0ZGwiICIyLjQuNiIgIzxwYWNrYWdlIGxpYmx0ZGxAMi40LjYg Z251L3BhY2thZ2VzL2F1dG90b29scy5zY206NDAwIDFiNzI2YzA+KSAoImxpYmdjIiAiNy42LjAi ICM8cGFja2FnZSBsaWJnY0A3LjYuMCBnbnUvcGFja2FnZXMvYmR3LWdjLnNjbTozMSBlZGI5MDA+ KSAoImdtcCIgIjYuMS4yIiAjPHBhY2thZ2UgZ21wQDYuMS4yIGdudS9wYWNrYWdlcy9tdWx0aXBy ZWNpc2lvbi5zY206MzMgMTAwNWMwMD4pKQpyZXN1bHQ6IFBBU1MKCnRlc3QtbmFtZTogbWFuaWZl c3QtZW50cnktcGFyZW50CmxvY2F0aW9uOiAvdG1wL2d1aXgtYnVpbGQtZ3VpeC0wLjEzLjAtMTIu MGExNTRjMSsuZHJ2LTAvc291cmNlL3Rlc3RzL3Byb2ZpbGVzLnNjbTozMTIKc291cmNlOgorICh0 ZXN0LWFzc2VydAorICAgIm1hbmlmZXN0LWVudHJ5LXBhcmVudCIKKyAgIChsZXQgKChlbnRyeSBA IGJ1aWxkLXN0YXJ0ZWQgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3hjMWphMzg1NnM5OWcyeDlpeDly bjlzZ3hjMDVmbmppLXByb2ZpbGUuZHJ2IC0geDg2XzY0LWxpbnV4IC90bXAvZ3VpeC10ZXN0cy92 YXIvbG9nL2d1aXgvZHJ2cy94Yy8vMWphMzg1NnM5OWcyeDlpeDlybjlzZ3hjMDVmbmppLXByb2Zp bGUuZHJ2LmJ6MgpCYWNrdHJhY2U6CkluIGljZS05L2Jvb3QtOS5zY206CiAxNTc6IDEwIFtjYXRj aCAjdCAjPGNhdGNoLWNsb3N1cmUgYzkxZTIwPiAuLi5dCkluIHVua25vd24gZmlsZToKICAgPzog OSBbYXBwbHktc21vYi8xICM8Y2F0Y2gtY2xvc3VyZSBjOTFlMjA+XQpJbiBpY2UtOS9ib290LTku c2NtOgogIDYzOiA4IFtjYWxsLXdpdGgtcHJvbXB0IHByb21wdDAgLi4uXQpJbiBpY2UtOS9ldmFs LnNjbToKIDQzMjogNyBbZXZhbCAjICNdCkluIGljZS05L2Jvb3QtOS5zY206CjIzMjA6IDYgW3Nh dmUtbW9kdWxlLWV4Y3Vyc2lvbiAjPHByb2NlZHVyZSBjYmZiMDAgYXQgaWNlLTkvYm9vdC05LnNj bTozOTYxOjMgKCk+XQozOTY2OiA1IFsjPHByb2NlZHVyZSBjYmZiMDAgYXQgaWNlLTkvYm9vdC05 LnNjbTozOTYxOjMgKCk+XQoxNjQ1OiA0IFslc3RhcnQtc3RhY2sgbG9hZC1zdGFjayAjPHByb2Nl ZHVyZSBjYzBkYTAgYXQgaWNlLTkvYm9vdC05LnNjbTozOTU3OjEwICgpPl0KMTY1MDogMyBbIzxw cm9jZWR1cmUgY2M2ZGIwICgpPl0KSW4gdW5rbm93biBmaWxlOgogICA/OiAyIFtwcmltaXRpdmUt bG9hZCAiL3RtcC9ndWl4LXRlc3RzL3N0b3JlL2pzYTV4ODdidm1sNjBieThheThhc25yNWRiaDl4 bmR4LXByb2ZpbGUtYnVpbGRlciJdCkluIGljZS05L2V2YWwuc2NtOgogNDMyOiAxIFtldmFsICMg KCldCkluIHVua25vd24gZmlsZToKICAgPzogMCBbc2V0dmJ1ZiAjPG91dHB1dDogZmlsZSAxPiBs aW5lICM8dW5kZWZpbmVkPl0KCkVSUk9SOiBJbiBwcm9jZWR1cmUgc2V0dmJ1ZjoKRVJST1I6IFdy b25nIHR5cGUgKGV4cGVjdGluZyBleGFjdCBpbnRlZ2VyKTogbGluZQpidWlsZGVyIGZvciBgL3Rt cC9ndWl4LXRlc3RzL3N0b3JlL3hjMWphMzg1NnM5OWcyeDlpeDlybjlzZ3hjMDVmbmppLXByb2Zp bGUuZHJ2JyBmYWlsZWQgd2l0aCBleGl0IGNvZGUgMQpAIGJ1aWxkLWZhaWxlZCAvdG1wL2d1aXgt dGVzdHMvc3RvcmUveGMxamEzODU2czk5ZzJ4OWl4OXJuOXNneGMwNWZuamktcHJvZmlsZS5kcnYg LSAxIGJ1aWxkZXIgZm9yIGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUveGMxamEzODU2czk5ZzJ4OWl4 OXJuOXNneGMwNWZuamktcHJvZmlsZS5kcnYnIGZhaWxlZCB3aXRoIGV4aXQgY29kZSAxCihwYWNr YWdlLT5tYW5pZmVzdC1lbnRyeSBwYWNrYWdlczpndWlsZS0yLjIpKSkKKyAgICAgKG1hdGNoICht YW5pZmVzdC1lbnRyeS1kZXBlbmRlbmNpZXMgZW50cnkpCisgICAgICAgICAgICAoKGRlcGVuZGVu Y2llcyAuLjEpCisgICAgICAgICAgICAgKGFuZCAoZXZlcnkgKGxhbWJkYSAocGFyZW50KSAoZXE/ IGVudHJ5IChmb3JjZSBwYXJlbnQpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAobWFwIG1h bmlmZXN0LWVudHJ5LXBhcmVudCBkZXBlbmRlbmNpZXMpKQorICAgICAgICAgICAgICAgICAgKG5v dCAoZm9yY2UgKG1hbmlmZXN0LWVudHJ5LXBhcmVudCBlbnRyeSkpKSkpKSkpCmFjdHVhbC12YWx1 ZTogI3QKcmVzdWx0OiBQQVNTCgp0ZXN0LW5hbWU6IHJlYWQtbWFuaWZlc3QKbG9jYXRpb246IC90 bXAvZ3VpeC1idWlsZC1ndWl4LTAuMTMuMC0xMi4wYTE1NGMxKy5kcnYtMC9zb3VyY2UvdGVzdHMv cHJvZmlsZXMuc2NtOjMyMQpzb3VyY2U6CisgKHRlc3QtYXNzZXJ0CisgICAicmVhZC1tYW5pZmVz dCIKKyAgIChydW4td2l0aC1zdG9yZQorICAgICAlc3RvcmUKKyAgICAgKG1sZXQqICVzdG9yZS1t b25hZAorICAgICAgICAgICAgKChtYW5pZmVzdAorICAgICAgICAgICAgICAgLT4KKyAgICAgICAg ICAgICAgIChwYWNrYWdlcy0+bWFuaWZlc3QKKyAgICAgICAgICAgICAgICAgKGxpc3QgKHBhY2th Z2UKKyAgICAgICAgICAgICAgICAgICAgICAgICAoaW5oZXJpdCAlYm9vdHN0cmFwLWd1aWxlKQor ICAgICAgICAgICAgICAgICAgICAgICAgIChuYXRpdmUtc2VhcmNoLXBhdGhzCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAocGFja2FnZS1uYXRpdmUtc2VhcmNoLXBhdGhzCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHBhY2thZ2VzOmd1aWxlLTIuMCkpKSkpKQorICAgICAgICAgICAg IChkcnYgKHByb2ZpbGUtZGVyaXZhdGlvbgorICAgICAgICAgICAgICAgICAgICBtYW5pZmVzdAor ICAgICAgICAgICAgICAgICAgICAjOmhvb2tzCisgICAgICAgICAgICAgICAgICAgICcoKQorICAg ICAgICAgICAgICAgICAgICAjOmxvY2FsZXM/CisgICAgICAgICAgICAgICAgICAgICNmKSkKKyAg ICAgICAgICAgICAob3V0IC0+IChkZXJpdmF0aW9uLT5vdXRwdXQtcGF0aCBkcnYpKSkKKyAgICAg ICAgICAgIChkZWZpbmUgKGVudHJ5LT5zZXhwIGVudHJ5KQorICAgICAgICAgICAgICAobGlzdCAo bWFuaWZlc3QtZW50cnktbmFtZSBlbnRyeSkKKyAgICAgICAgICAgICAgICAgICAgKG1hbmlmZXN0 LWVudHJ5LXZlcnNpb24gZW50cnkpCisgICAgICAgICAgICAgICAgICAgIChtYW5pZmVzdC1lbnRy eS1zZWFyY2gtcGF0aHMgZW50cnkpCisgICAgICAgICAgICAgICAgICAgIChtYW5pZmVzdC1lbnRy eS1kZXBlbmRlbmNpZXMgZW50cnkpCisgICAgICAgICAgICAgICAgICAgIChmb3JjZSAobWFuaWZl c3QtZW50cnktcGFyZW50IGVudHJ5KSkpKQorICAgICAgICAgICAgKG1iZWdpbgorICAgICAgICAg ICAgICAlc3RvcmUtbW9uYWQKKyAgICAgICAgICAgICAgKGJ1aWx0LWRlcml2YXRpb25zIChsaXN0 IGRydikpCisgICAgICAgICAgICAgIChsZXQgKChtYW5pZmVzdDIgKHByb2ZpbGUtbWFuaWZlc3Qg b3V0KSkpCisgICAgICAgICAgICAgICAgKHJldHVybgorICAgICAgICAgICAgICAgICAgKGVxdWFs PworICAgICAgICAgICAgICAgICAgICAobWFwIGVudHJ5LT5zZXhwIChtYW5pZmVzdC1lbnRyaWVz IG1hbmlmZXN0KSkKKyAgICAgICAgICAgICAgICAgICAgKG1hcCBlbnRyeS0+c2V4cCAobWFuaWZl c3QtZW50cmllcyBtYW5pZmVzdDIpKSkpKSkpCisgICAgICM6Z3VpbGUtZm9yLWJ1aWxkCisgICAg ICglZ3VpbGUtZm9yLWJ1aWxkKSkpCmFjdHVhbC12YWx1ZTogI2YKYWN0dWFsLWVycm9yOgorIChz cmZpLTM0CisgICAjPGNvbmRpdGlvbiAmbml4LXByb3RvY29sLWVycm9yIFttZXNzYWdlOiAiYnVp bGQgb2YgYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS94YzFqYTM4NTZzOTlnMng5aXg5cm45c2d4YzA1 Zm5qaS1wcm9maWxlLmRydicgZmFpbGVkIiBzdGF0dXM6IDEwMF0gMWQ5OTg0MD4pCnJlc3VsdDog RkFJTAoKdGVzdC1uYW1lOiBjb2xsaXNpb24KbG9jYXRpb246IC90bXAvZ3VpeC1idWlsZC1ndWl4 LTAuMTMuMC0xMi4wYTE1NGMxKy5kcnYtMC9zb3VyY2UvdGVzdHMvcHJvZmlsZXMuc2NtOjM0NQpz b3VyY2U6CisgKHRlc3QtZXF1YWwKKyAgICJjb2xsaXNpb24iCisgICAnKCgiZ3VpbGUtYm9vdHN0 cmFwIiAiMi4wIikKKyAgICAgKCJndWlsZS1ib290c3RyYXAiICI0MiIpKQorICAgKGd1YXJkIChj ICgocHJvZmlsZS1jb2xsaXNpb24tZXJyb3I/IGMpCisgICAgICAgICAgICAgIChsZXQgKChlbnRy eTEgKHByb2ZpbGUtY29sbGlzaW9uLWVycm9yLWVudHJ5IGMpKQorICAgICAgICAgICAgICAgICAg ICAoZW50cnkyIChwcm9maWxlLWNvbGxpc2lvbi1lcnJvci1jb25mbGljdCBjKSkpCisgICAgICAg ICAgICAgICAgKGxpc3QgKGxpc3QgKG1hbmlmZXN0LWVudHJ5LW5hbWUgZW50cnkxKQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgIChtYW5pZmVzdC1lbnRyeS12ZXJzaW9uIGVudHJ5MSkpCisg ICAgICAgICAgICAgICAgICAgICAgKGxpc3QgKG1hbmlmZXN0LWVudHJ5LW5hbWUgZW50cnkyKQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtYW5pZmVzdC1lbnRyeS12ZXJzaW9uIGVudHJ5 MikpKSkpKQorICAgICAgICAgIChydW4td2l0aC1zdG9yZQorICAgICAgICAgICAgJXN0b3JlCisg ICAgICAgICAgICAobWxldCogJXN0b3JlLW1vbmFkCisgICAgICAgICAgICAgICAgICAgKChwMCAt PgorICAgICAgICAgICAgICAgICAgICAgICAgKHBhY2thZ2UKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgKGluaGVyaXQgJWJvb3RzdHJhcC1ndWlsZSkKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgKHZlcnNpb24gIjQyIikpKQorICAgICAgICAgICAgICAgICAgICAocDEgLT4KKyAgICAgICAg ICAgICAgICAgICAgICAgIChkdW1teS1wYWNrYWdlCisgICAgICAgICAgICAgICAgICAgICAgICAg ICJwMSIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgKHByb3BhZ2F0ZWQtaW5wdXRzIGAoKCJw MCIgLHAwKSkpKSkKKyAgICAgICAgICAgICAgICAgICAgKG1hbmlmZXN0CisgICAgICAgICAgICAg ICAgICAgICAgLT4KKyAgICAgICAgICAgICAgICAgICAgICAocGFja2FnZXMtPm1hbmlmZXN0IChs aXN0ICVib290c3RyYXAtZ3VpbGUgcDEpKSkKKyAgICAgICAgICAgICAgICAgICAgKGRydiAocHJv ZmlsZS1kZXJpdmF0aW9uCisgICAgICAgICAgICAgICAgICAgICAgICAgICBtYW5pZmVzdAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgIzpob29rcworICAgICAgICAgICAgICAgICAgICAgICAg ICAgJygpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAjOmxvY2FsZXM/CisgICAgICAgICAg ICAgICAgICAgICAgICAgICAjZikpKQorICAgICAgICAgICAgICAgICAgIChyZXR1cm4gI2YpKSkp KQpleHBlY3RlZC12YWx1ZTogKCgiZ3VpbGUtYm9vdHN0cmFwIiAiMi4wIikgKCJndWlsZS1ib290 c3RyYXAiICI0MiIpKQphY3R1YWwtdmFsdWU6ICgoImd1aWxlLWJvb3RzdHJhcCIgIjIuMCIpICgi Z3VpbGUtYm9vdHN0cmFwIiAiNDIiKSkKcmVzdWx0OiBQQVNTCgp0ZXN0LW5hbWU6IGNvbGxpc2lv biBvZiBwcm9wYWdhdGVkIGlucHV0cwpsb2NhdGlvbjogL3RtcC9ndWl4LWJ1aWxkLWd1aXgtMC4x My4wLTEyLjBhMTU0YzErLmRydi0wL3NvdXJjZS90ZXN0cy9wcm9maWxlcy5zY206MzY3CnNvdXJj ZToKKyAodGVzdC1lcXVhbAorICAgImNvbGxpc2lvbiBvZiBwcm9wYWdhdGVkIGlucHV0cyIKKyAg ICcoKCJndWlsZS1ib290c3RyYXAiICIyLjAiKQorICAgICAoImd1aWxlLWJvb3RzdHJhcCIgIjQy IikpCisgICAoZ3VhcmQgKGMgKChwcm9maWxlLWNvbGxpc2lvbi1lcnJvcj8gYykKKyAgICAgICAg ICAgICAgKGxldCAoKGVudHJ5MSAocHJvZmlsZS1jb2xsaXNpb24tZXJyb3ItZW50cnkgYykpCisg ICAgICAgICAgICAgICAgICAgIChlbnRyeTIgKHByb2ZpbGUtY29sbGlzaW9uLWVycm9yLWNvbmZs aWN0IGMpKSkKKyAgICAgICAgICAgICAgICAobGlzdCAobGlzdCBAIGJ1aWxkLXN0YXJ0ZWQgL3Rt cC9ndWl4LXRlc3RzL3N0b3JlL3hjMWphMzg1NnM5OWcyeDlpeDlybjlzZ3hjMDVmbmppLXByb2Zp bGUuZHJ2IC0geDg2XzY0LWxpbnV4IC90bXAvZ3VpeC10ZXN0cy92YXIvbG9nL2d1aXgvZHJ2cy94 Yy8vMWphMzg1NnM5OWcyeDlpeDlybjlzZ3hjMDVmbmppLXByb2ZpbGUuZHJ2LmJ6MgpCYWNrdHJh Y2U6CkluIGljZS05L2Jvb3QtOS5zY206CiAxNTc6IDEwIFtjYXRjaCAjdCAjPGNhdGNoLWNsb3N1 cmUgYzkxZTIwPiAuLi5dCkluIHVua25vd24gZmlsZToKICAgPzogOSBbYXBwbHktc21vYi8xICM8 Y2F0Y2gtY2xvc3VyZSBjOTFlMjA+XQpJbiBpY2UtOS9ib290LTkuc2NtOgogIDYzOiA4IFtjYWxs LXdpdGgtcHJvbXB0IHByb21wdDAgLi4uXQpJbiBpY2UtOS9ldmFsLnNjbToKIDQzMjogNyBbZXZh bCAjICNdCkluIGljZS05L2Jvb3QtOS5zY206CjIzMjA6IDYgW3NhdmUtbW9kdWxlLWV4Y3Vyc2lv biAjPHByb2NlZHVyZSBjYmZiMDAgYXQgaWNlLTkvYm9vdC05LnNjbTozOTYxOjMgKCk+XQozOTY2 OiA1IFsjPHByb2NlZHVyZSBjYmZiMDAgYXQgaWNlLTkvYm9vdC05LnNjbTozOTYxOjMgKCk+XQox NjQ1OiA0IFslc3RhcnQtc3RhY2sgbG9hZC1zdGFjayAjPHByb2NlZHVyZSBjYzBkYTAgYXQgaWNl LTkvYm9vdC05LnNjbTozOTU3OjEwICgpPl0KMTY1MDogMyBbIzxwcm9jZWR1cmUgY2M2ZGIwICgp Pl0KSW4gdW5rbm93biBmaWxlOgogICA/OiAyIFtwcmltaXRpdmUtbG9hZCAiL3RtcC9ndWl4LXRl c3RzL3N0b3JlL2pzYTV4ODdidm1sNjBieThheThhc25yNWRiaDl4bmR4LXByb2ZpbGUtYnVpbGRl ciJdCkluIGljZS05L2V2YWwuc2NtOgogNDMyOiAxIFtldmFsICMgKCldCkluIHVua25vd24gZmls ZToKICAgPzogMCBbc2V0dmJ1ZiAjPG91dHB1dDogZmlsZSAxPiBsaW5lICM8dW5kZWZpbmVkPl0K CkVSUk9SOiBJbiBwcm9jZWR1cmUgc2V0dmJ1ZjoKRVJST1I6IFdyb25nIHR5cGUgKGV4cGVjdGlu ZyBleGFjdCBpbnRlZ2VyKTogbGluZQpidWlsZGVyIGZvciBgL3RtcC9ndWl4LXRlc3RzL3N0b3Jl L3hjMWphMzg1NnM5OWcyeDlpeDlybjlzZ3hjMDVmbmppLXByb2ZpbGUuZHJ2JyBmYWlsZWQgd2l0 aCBleGl0IGNvZGUgMQpAIGJ1aWxkLWZhaWxlZCAvdG1wL2d1aXgtdGVzdHMvc3RvcmUveGMxamEz ODU2czk5ZzJ4OWl4OXJuOXNneGMwNWZuamktcHJvZmlsZS5kcnYgLSAxIGJ1aWxkZXIgZm9yIGAv dG1wL2d1aXgtdGVzdHMvc3RvcmUveGMxamEzODU2czk5ZzJ4OWl4OXJuOXNneGMwNWZuamktcHJv ZmlsZS5kcnYnIGZhaWxlZCB3aXRoIGV4aXQgY29kZSAxCihtYW5pZmVzdC1lbnRyeS1uYW1lIGVu dHJ5MSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAobWFuaWZlc3QtZW50cnktdmVyc2lv biBlbnRyeTEpKQorICAgICAgICAgICAgICAgICAgICAgIChsaXN0IChtYW5pZmVzdC1lbnRyeS1u YW1lIGVudHJ5MikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAobWFuaWZlc3QtZW50cnkt dmVyc2lvbiBlbnRyeTIpKSkpKSkKKyAgICAgICAgICAocnVuLXdpdGgtc3RvcmUKKyAgICAgICAg ICAgICVzdG9yZQorICAgICAgICAgICAgKG1sZXQqICVzdG9yZS1tb25hZAorICAgICAgICAgICAg ICAgICAgICgocDAgLT4KKyAgICAgICAgICAgICAgICAgICAgICAgIChwYWNrYWdlCisgICAgICAg ICAgICAgICAgICAgICAgICAgIChpbmhlcml0ICVib290c3RyYXAtZ3VpbGUpCisgICAgICAgICAg ICAgICAgICAgICAgICAgICh2ZXJzaW9uICI0MiIpKSkKKyAgICAgICAgICAgICAgICAgICAgKHAx IC0+CisgICAgICAgICAgICAgICAgICAgICAgICAoZHVtbXktcGFja2FnZQorICAgICAgICAgICAg ICAgICAgICAgICAgICAicDEiCisgICAgICAgICAgICAgICAgICAgICAgICAgIChwcm9wYWdhdGVk LWlucHV0cworICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAoKCJndWlsZSIgLCVib290c3Ry YXAtZ3VpbGUpKSkpKQorICAgICAgICAgICAgICAgICAgICAocDIgLT4KKyAgICAgICAgICAgICAg ICAgICAgICAgIChkdW1teS1wYWNrYWdlCisgICAgICAgICAgICAgICAgICAgICAgICAgICJwMiIK KyAgICAgICAgICAgICAgICAgICAgICAgICAgKHByb3BhZ2F0ZWQtaW5wdXRzIGAoKCJndWlsZSIg LHAwKSkpKSkKKyAgICAgICAgICAgICAgICAgICAgKG1hbmlmZXN0IC0+IChwYWNrYWdlcy0+bWFu aWZlc3QgKGxpc3QgcDEgcDIpKSkKKyAgICAgICAgICAgICAgICAgICAgKGRydiAocHJvZmlsZS1k ZXJpdmF0aW9uCisgICAgICAgICAgICAgICAgICAgICAgICAgICBtYW5pZmVzdAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgIzpob29rcworICAgICAgICAgICAgICAgICAgICAgICAgICAgJygp CisgICAgICAgICAgICAgICAgICAgICAgICAgICAjOmxvY2FsZXM/CisgICAgICAgICAgICAgICAg ICAgICAgICAgICAjZikpKQorICAgICAgICAgICAgICAgICAgIChyZXR1cm4gI2YpKSkpKQpleHBl Y3RlZC12YWx1ZTogKCgiZ3VpbGUtYm9vdHN0cmFwIiAiMi4wIikgKCJndWlsZS1ib290c3RyYXAi ICI0MiIpKQphY3R1YWwtdmFsdWU6ICgoImd1aWxlLWJvb3RzdHJhcCIgIjIuMCIpICgiZ3VpbGUt Ym9vdHN0cmFwIiAiNDIiKSkKcmVzdWx0OiBQQVNTCgp0ZXN0LW5hbWU6IG5vIGNvbGxpc2lvbgps b2NhdGlvbjogL3RtcC9ndWl4LWJ1aWxkLWd1aXgtMC4xMy4wLTEyLjBhMTU0YzErLmRydi0wL3Nv dXJjZS90ZXN0cy9wcm9maWxlcy5zY206MzkyCnNvdXJjZToKKyAodGVzdC1hc3NlcnQKKyAgICJu byBjb2xsaXNpb24iCisgICAocnVuLXdpdGgtc3RvcmUKKyAgICAgJXN0b3JlCisgICAgIChtbGV0 KiAlc3RvcmUtbW9uYWQKKyAgICAgICAgICAgICgocCAtPgorICAgICAgICAgICAgICAgIChkdW1t eS1wYWNrYWdlCisgICAgICAgICAgICAgICAgICAicCIKKyAgICAgICAgICAgICAgICAgIChwcm9w YWdhdGVkLWlucHV0cworICAgICAgICAgICAgICAgICAgICBgKCgiZ3VpbGUiICwlYm9vdHN0cmFw LWd1aWxlKSkpKSkKKyAgICAgICAgICAgICAoZ3VpbGUgKHBhY2thZ2UtPmRlcml2YXRpb24gJWJv b3RzdHJhcC1ndWlsZSkpCisgICAgICAgICAgICAgKGVudHJ5IC0+CisgICAgICAgICAgICAgICAg ICAgIChtYW5pZmVzdC1lbnRyeQorICAgICAgICAgICAgICAgICAgICAgIChpbmhlcml0CisgICAg ICAgICAgICAgICAgICAgICAgICAocGFja2FnZS0+bWFuaWZlc3QtZW50cnkgJWJvb3RzdHJhcC1n dWlsZSkpCisgICAgICAgICAgICAgICAgICAgICAgKGl0ZW0gKGRlcml2YXRpb24tPm91dHB1dC1w YXRoIGd1aWxlKSkpKQorICAgICAgICAgICAgIChtYW5pZmVzdAorICAgICAgICAgICAgICAgLT4K KyAgICAgICAgICAgICAgIChtYW5pZmVzdAorICAgICAgICAgICAgICAgICAobGlzdCBlbnRyeSAo cGFja2FnZS0+bWFuaWZlc3QtZW50cnkgcCkpKSkKKyAgICAgICAgICAgICAoZHJ2IChwcm9maWxl LWRlcml2YXRpb24gbWFuaWZlc3QpKSkKKyAgICAgICAgICAgIChyZXR1cm4gKC0+Ym9vbCBkcnYp KSkKKyAgICAgIzpndWlsZS1mb3ItYnVpbGQKKyAgICAgKCVndWlsZS1mb3ItYnVpbGQpKSkKYWN0 dWFsLXZhbHVlOiAjdApyZXN1bHQ6IFBBU1MKCnRlc3QtbmFtZTogZXRjL3Byb2ZpbGUKbG9jYXRp b246IC90bXAvZ3VpeC1idWlsZC1ndWl4LTAuMTMuMC0xMi4wYTE1NGMxKy5kcnYtMC9zb3VyY2Uv dGVzdHMvcHJvZmlsZXMuc2NtOjQxMApzb3VyY2U6CisgKHRlc3QtYXNzZXJ0CisgICAiZXRjL3By b2ZpbGUiCisgICAocnVuLXdpdGgtc3RvcmUKKyAgICAgJXN0b3JlCisgICAgIChtbGV0KiAlc3Rv cmUtbW9uYWQKKyAgICAgICAgICAgICgoZ3VpbGUgLT4KKyAgICAgICAgICAgICAgICAgICAgKHBh Y2thZ2UKKyAgICAgICAgICAgICAgICAgICAgICAoaW5oZXJpdCAlYm9vdHN0cmFwLWd1aWxlKQor ICAgICAgICAgICAgICAgICAgICAgIChuYXRpdmUtc2VhcmNoLXBhdGhzCisgICAgICAgICAgICAg ICAgICAgICAgICAocGFja2FnZS1uYXRpdmUtc2VhcmNoLXBhdGhzIHBhY2thZ2VzOmd1aWxlLTIu MCkpKSkKKyAgICAgICAgICAgICAoZW50cnkgLT4gKHBhY2thZ2UtPm1hbmlmZXN0LWVudHJ5IGd1 aWxlKSkKKyAgICAgICAgICAgICAoZHJ2IChwcm9maWxlLWRlcml2YXRpb24KKyAgICAgICAgICAg ICAgICAgICAgKG1hbmlmZXN0IChsaXN0IGVudHJ5KSkKKyAgICAgICAgICAgICAgICAgICAgIzpo b29rcworICAgICAgICAgICAgICAgICAgICAnKCkKKyAgICAgICAgICAgICAgICAgICAgIzpsb2Nh bGVzPworICAgICAgICAgICAgICAgICAgICAjZikpCisgICAgICAgICAgICAgKHByb2ZpbGUgLT4g KGRlcml2YXRpb24tPm91dHB1dC1wYXRoIGRydikpKQorICAgICAgICAgICAgKG1iZWdpbgorICAg ICAgICAgICAgICAlc3RvcmUtbW9uYWQKKyAgICAgICAgICAgICAgKGJ1aWx0LWRlcml2YXRpb25z IChsaXN0IGRydikpCisgICAgICAgICAgICAgIChsZXQqICgocGlwZSAob3Blbi1pbnB1dC1waXBl CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzdHJpbmctYXBwZW5kCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgInVuc2V0IEdVSVhfUFJPRklMRTsgIgorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICIuICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBw cm9maWxlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi9ldGMvcHJvZmlsZTsgIgor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJlY2hvICRQQVRIIikpKQorICAgICAgICAg ICAgICAgICAgICAgKHBhdGggKGdldC1zdHJpbmctYWxsIHBpcGUpKSkKKyAgICAgICAgICAgICAg ICAocmV0dXJuCisgICAgICAgICAgICAgICAgICAoYW5kICh6ZXJvPyAoY2xvc2UtcGlwZSBwaXBl KSkKKyAgICAgICAgICAgICAgICAgICAgICAgKHN0cmluZy1jb250YWlucworICAgICAgICAgICAg ICAgICAgICAgICAgIHBhdGgKKyAgICAgICAgICAgICAgICAgICAgICAgICAoc3RyaW5nLWFwcGVu ZCBwcm9maWxlICIvYmluIikpKSkpKSkKKyAgICAgIzpndWlsZS1mb3ItYnVpbGQKKyAgICAgKCVn dWlsZS1mb3ItYnVpbGQpKSkKYWN0dWFsLXZhbHVlOiAjZgphY3R1YWwtZXJyb3I6CisgKHNyZmkt MzQKKyAgICM8Y29uZGl0aW9uICZuaXgtcHJvdG9jb2wtZXJyb3IgW21lc3NhZ2U6ICJidWlsZCBv ZiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3hjMWphMzg1NnM5OWcyeDlpeDlybjlzZ3hjMDVmbmpp LXByb2ZpbGUuZHJ2JyBmYWlsZWQiIHN0YXR1czogMTAwXSAzNjBiNzUwPikKcmVzdWx0OiBGQUlM Cgp0ZXN0LW5hbWU6IGV0Yy9wcm9maWxlIHdoZW4gZXRjLyBhbHJlYWR5IGV4aXN0cwpsb2NhdGlv bjogL3RtcC9ndWl4LWJ1aWxkLWd1aXgtMC4xMy4wLTEyLjBhMTU0YzErLmRydi0wL3NvdXJjZS90 ZXN0cy9wcm9maWxlcy5zY206NDM2CkAgYnVpbGQtc3RhcnRlZCAvdG1wL2d1aXgtdGVzdHMvc3Rv cmUveTVmYTVqOGNsd2R6Z2FueDEyaHA2Ym0zNmJoc2QxaW0tZHVtbXktMC5kcnYgLSB4ODZfNjQt bGludXggL3RtcC9ndWl4LXRlc3RzL3Zhci9sb2cvZ3VpeC9kcnZzL3k1Ly9mYTVqOGNsd2R6Z2Fu eDEyaHA2Ym0zNmJoc2QxaW0tZHVtbXktMC5kcnYuYnoyCkAgYnVpbGQtc3VjY2VlZGVkIC90bXAv Z3VpeC10ZXN0cy9zdG9yZS95NWZhNWo4Y2x3ZHpnYW54MTJocDZibTM2YmhzZDFpbS1kdW1teS0w LmRydiAtCkAgYnVpbGQtc3RhcnRlZCAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvYzEyc2d3M2lwMnBt d2JybXo5eWxkNW5kZnEzY2s1eDMtcHJvZmlsZS5kcnYgLSB4ODZfNjQtbGludXggL3RtcC9ndWl4 LXRlc3RzL3Zhci9sb2cvZ3VpeC9kcnZzL2MxLy8yc2d3M2lwMnBtd2JybXo5eWxkNW5kZnEzY2s1 eDMtcHJvZmlsZS5kcnYuYnoyCkJhY2t0cmFjZToKSW4gaWNlLTkvYm9vdC05LnNjbToKIDE1Nzog MTAgW2NhdGNoICN0ICM8Y2F0Y2gtY2xvc3VyZSBjOTFlMjA+IC4uLl0KSW4gdW5rbm93biBmaWxl OgogICA/OiA5IFthcHBseS1zbW9iLzEgIzxjYXRjaC1jbG9zdXJlIGM5MWUyMD5dCkluIGljZS05 L2Jvb3QtOS5zY206CiAgNjM6IDggW2NhbGwtd2l0aC1wcm9tcHQgcHJvbXB0MCAuLi5dCkluIGlj ZS05L2V2YWwuc2NtOgogNDMyOiA3IFtldmFsICMgI10KSW4gaWNlLTkvYm9vdC05LnNjbToKMjMy MDogNiBbc2F2ZS1tb2R1bGUtZXhjdXJzaW9uICM8cHJvY2VkdXJlIGNiZmIwMCBhdCBpY2UtOS9i b290LTkuc2NtOjM5NjE6MyAoKT5dCjM5NjY6IDUgWyM8cHJvY2VkdXJlIGNiZmIwMCBhdCBpY2Ut OS9ib290LTkuc2NtOjM5NjE6MyAoKT5dCjE2NDU6IDQgWyVzdGFydC1zdGFjayBsb2FkLXN0YWNr ICM8cHJvY2VkdXJlIGNjMGRhMCBhdCBpY2UtOS9ib290LTkuc2NtOjM5NTc6MTAgKCk+XQoxNjUw OiAzIFsjPHByb2NlZHVyZSBjYzZkYjAgKCk+XQpJbiB1bmtub3duIGZpbGU6CiAgID86IDIgW3By aW1pdGl2ZS1sb2FkICIvdG1wL2d1aXgtdGVzdHMvc3RvcmUvMW1pMmlpNHpwdnI2MmozYndiaGxm aXkwYnFhNWNtamctcHJvZmlsZS1idWlsZGVyIl0KSW4gaWNlLTkvZXZhbC5zY206CiA0MzI6IDEg W2V2YWwgIyAoKV0KSW4gdW5rbm93biBmaWxlOgogICA/OiAwIFtzZXR2YnVmICM8b3V0cHV0OiBm aWxlIDE+IGxpbmUgIzx1bmRlZmluZWQ+XQoKRVJST1I6IEluIHByb2NlZHVyZSBzZXR2YnVmOgpF UlJPUjogV3JvbmcgdHlwZSAoZXhwZWN0aW5nIGV4YWN0IGludGVnZXIpOiBsaW5lCmJ1aWxkZXIg Zm9yIGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvYzEyc2d3M2lwMnBtd2JybXo5eWxkNW5kZnEzY2s1 eDMtcHJvZmlsZS5kcnYnIGZhaWxlZCB3aXRoIGV4aXQgY29kZSAxCkAgYnVpbGQtZmFpbGVkIC90 bXAvZ3VpeC10ZXN0cy9zdG9yZS9jMTJzZ3czaXAycG13YnJtejl5bGQ1bmRmcTNjazV4My1wcm9m aWxlLmRydiAtIDEgYnVpbGRlciBmb3IgYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9jMTJzZ3czaXAy cG13YnJtejl5bGQ1bmRmcTNjazV4My1wcm9maWxlLmRydicgZmFpbGVkIHdpdGggZXhpdCBjb2Rl IDEKQCBidWlsZC1zdGFydGVkIC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9nazJxY2F6ODBnbWYxdjNt NHl2YWRjYzJ3eGprYTIxMS1kdW1teS0wLmRydiAtIHg4Nl82NC1saW51eCAvdG1wL2d1aXgtdGVz dHMvdmFyL2xvZy9ndWl4L2RydnMvZ2svLzJxY2F6ODBnbWYxdjNtNHl2YWRjYzJ3eGprYTIxMS1k dW1teS0wLmRydi5iejIKQCBidWlsZC1zdWNjZWVkZWQgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL2dr MnFjYXo4MGdtZjF2M200eXZhZGNjMnd4amthMjExLWR1bW15LTAuZHJ2IC0KQCBidWlsZC1zdGFy dGVkIC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9kY3JoMDBncG5rMmJzeWgwOHB5empteXNibmFtN2pm Ni1wcm9maWxlLmRydiAtIHg4Nl82NC1saW51eCAvdG1wL2d1aXgtdGVzdHMvdmFyL2xvZy9ndWl4 L2RydnMvZGMvL3JoMDBncG5rMmJzeWgwOHB5empteXNibmFtN2pmNi1wcm9maWxlLmRydi5iejIK QmFja3RyYWNlOgpJbiBpY2UtOS9ib290LTkuc2NtOgogMTU3OiAxMCBbY2F0Y2ggI3QgIzxjYXRj aC1jbG9zdXJlIGM5MWUyMD4gLi4uXQpJbiB1bmtub3duIGZpbGU6CiAgID86IDkgW2FwcGx5LXNt b2IvMSAjPGNhdGNoLWNsb3N1cmUgYzkxZTIwPl0KSW4gaWNlLTkvYm9vdC05LnNjbToKICA2Mzog OCBbY2FsbC13aXRoLXByb21wdCBwcm9tcHQwIC4uLl0KSW4gaWNlLTkvZXZhbC5zY206CiA0MzI6 IDcgW2V2YWwgIyAjXQpJbiBpY2UtOS9ib290LTkuc2NtOgoyMzIwOiA2IFtzYXZlLW1vZHVsZS1l eGN1cnNpb24gIzxwcm9jZWR1cmUgY2JmYjAwIGF0IGljZS05L2Jvb3QtOS5zY206Mzk2MTozICgp Pl0KMzk2NjogNSBbIzxwcm9jZWR1cmUgY2JmYjAwIGF0IGljZS05L2Jvb3QtOS5zY206Mzk2MToz ICgpPl0KMTY0NTogNCBbJXN0YXJ0LXN0YWNrIGxvYWQtc3RhY2sgIzxwcm9jZWR1cmUgY2MwZGEw IGF0IGljZS05L2Jvb3QtOS5zY206Mzk1NzoxMCAoKT5dCjE2NTA6IDMgWyM8cHJvY2VkdXJlIGNj NmRiMCAoKT5dCkluIHVua25vd24gZmlsZToKICAgPzogMiBbcHJpbWl0aXZlLWxvYWQgIi90bXAv Z3VpeC10ZXN0cy9zdG9yZS93c2J6Z2t4OGZmYnJhMTlreWdkMGFkODJwZ3pzamlzMS1wcm9maWxl LWJ1aWxkZXIiXQpJbiBpY2UtOS9ldmFsLnNjbToKIDQzMjogMSBbZXZhbCAjICgpXQpJbiB1bmtu b3duIGZpbGU6CiAgID86IDAgW3NldHZidWYgIzxvdXRwdXQ6IGZpbGUgMT4gbGluZSAjPHVuZGVm aW5lZD5dCgpFUlJPUjogSW4gcHJvY2VkdXJlIHNldHZidWY6CkVSUk9SOiBXcm9uZyB0eXBlIChl eHBlY3RpbmcgZXhhY3QgaW50ZWdlcik6IGxpbmUKYnVpbGRlciBmb3IgYC90bXAvZ3VpeC10ZXN0 cy9zdG9yZS9kY3JoMDBncG5rMmJzeWgwOHB5empteXNibmFtN2pmNi1wcm9maWxlLmRydicgZmFp bGVkIHdpdGggZXhpdCBjb2RlIDEKQCBidWlsZC1mYWlsZWQgL3RtcC9ndWl4LXRlc3RzL3N0b3Jl L2RjcmgwMGdwbmsyYnN5aDA4cHl6am15c2JuYW03amY2LXByb2ZpbGUuZHJ2IC0gMSBidWlsZGVy IGZvciBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL2RjcmgwMGdwbmsyYnN5aDA4cHl6am15c2JuYW03 amY2LXByb2ZpbGUuZHJ2JyBmYWlsZWQgd2l0aCBleGl0IGNvZGUgMQpzb3VyY2U6CisgKHRlc3Qt YXNzZXJ0CisgICAiZXRjL3Byb2ZpbGUgd2hlbiBldGMvIGFscmVhZHkgZXhpc3RzIgorICAgKHJ1 bi13aXRoLXN0b3JlCisgICAgICVzdG9yZQorICAgICAobWxldCogJXN0b3JlLW1vbmFkCisgICAg ICAgICAgICAoKHRoaW5nIC0+CisgICAgICAgICAgICAgICAgICAgIChkdW1teS1wYWNrYWdlCisg ICAgICAgICAgICAgICAgICAgICAgImR1bW15IgorICAgICAgICAgICAgICAgICAgICAgIChidWls ZC1zeXN0ZW0gdHJpdmlhbC1idWlsZC1zeXN0ZW0pCisgICAgICAgICAgICAgICAgICAgICAgKGFy Z3VtZW50cworICAgICAgICAgICAgICAgICAgICAgICAgYCgjOmd1aWxlCisgICAgICAgICAgICAg ICAgICAgICAgICAgICwlYm9vdHN0cmFwLWd1aWxlCisgICAgICAgICAgICAgICAgICAgICAgICAg ICM6YnVpbGRlcgorICAgICAgICAgICAgICAgICAgICAgICAgICAobGV0ICgob3V0IChhc3NvYy1y ZWYgJW91dHB1dHMgIm91dCIpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAobWtkaXIg b3V0KQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIChta2RpciAoc3RyaW5nLWFwcGVuZCBv dXQgIi9ldGMiKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2FsbC13aXRoLW91dHB1 dC1maWxlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3RyaW5nLWFwcGVuZCBvdXQg Ii9ldGMvZm9vIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChsYW1iZGEgKHBvcnQp IChkaXNwbGF5ICJmb28hIiBwb3J0KSkpKSkpKSkKKyAgICAgICAgICAgICAoZW50cnkgLT4gKHBh Y2thZ2UtPm1hbmlmZXN0LWVudHJ5IHRoaW5nKSkKKyAgICAgICAgICAgICAoZHJ2IChwcm9maWxl LWRlcml2YXRpb24KKyAgICAgICAgICAgICAgICAgICAgKG1hbmlmZXN0IChsaXN0IGVudHJ5KSkK KyAgICAgICAgICAgICAgICAgICAgIzpob29rcworICAgICAgICAgICAgICAgICAgICAnKCkKKyAg ICAgICAgICAgICAgICAgICAgIzpsb2NhbGVzPworICAgICAgICAgICAgICAgICAgICAjZikpCisg ICAgICAgICAgICAgKHByb2ZpbGUgLT4gKGRlcml2YXRpb24tPm91dHB1dC1wYXRoIGRydikpKQor ICAgICAgICAgICAgKG1iZWdpbgorICAgICAgICAgICAgICAlc3RvcmUtbW9uYWQKKyAgICAgICAg ICAgICAgKGJ1aWx0LWRlcml2YXRpb25zIChsaXN0IGRydikpCisgICAgICAgICAgICAgIChyZXR1 cm4KKyAgICAgICAgICAgICAgICAoYW5kIChmaWxlLWV4aXN0cz8KKyAgICAgICAgICAgICAgICAg ICAgICAgKHN0cmluZy1hcHBlbmQgcHJvZmlsZSAiL2V0Yy9wcm9maWxlIikpCisgICAgICAgICAg ICAgICAgICAgICAoc3RyaW5nPT8KKyAgICAgICAgICAgICAgICAgICAgICAgKGNhbGwtd2l0aC1p bnB1dC1maWxlCisgICAgICAgICAgICAgICAgICAgICAgICAgKHN0cmluZy1hcHBlbmQgcHJvZmls ZSAiL2V0Yy9mb28iKQorICAgICAgICAgICAgICAgICAgICAgICAgIGdldC1zdHJpbmctYWxsKQor ICAgICAgICAgICAgICAgICAgICAgICAiZm9vISIpKSkpKQorICAgICAjOmd1aWxlLWZvci1idWls ZAorICAgICAoJWd1aWxlLWZvci1idWlsZCkpKQphY3R1YWwtdmFsdWU6ICNmCmFjdHVhbC1lcnJv cjoKKyAoc3JmaS0zNAorICAgIzxjb25kaXRpb24gJm5peC1wcm90b2NvbC1lcnJvciBbbWVzc2Fn ZTogImJ1aWxkIG9mIGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvYzEyc2d3M2lwMnBtd2JybXo5eWxk NW5kZnEzY2s1eDMtcHJvZmlsZS5kcnYnIGZhaWxlZCIgc3RhdHVzOiAxMDBdIDJkOTJlNDA+KQpy ZXN1bHQ6IEZBSUwKCnRlc3QtbmFtZTogZXRjL3Byb2ZpbGUgd2hlbiBldGMvIGlzIGEgc3ltbGlu awpsb2NhdGlvbjogL3RtcC9ndWl4LWJ1aWxkLWd1aXgtMC4xMy4wLTEyLjBhMTU0YzErLmRydi0w L3NvdXJjZS90ZXN0cy9wcm9maWxlcy5zY206NDY1CnNvdXJjZToKKyAodGVzdC1hc3NlcnQKKyAg ICJldGMvcHJvZmlsZSB3aGVuIGV0Yy8gaXMgYSBzeW1saW5rIgorICAgKHJ1bi13aXRoLXN0b3Jl CisgICAgICVzdG9yZQorICAgICAobWxldCogJXN0b3JlLW1vbmFkCisgICAgICAgICAgICAoKHRo aW5nIC0+CisgICAgICAgICAgICAgICAgICAgIChkdW1teS1wYWNrYWdlCisgICAgICAgICAgICAg ICAgICAgICAgImR1bW15IgorICAgICAgICAgICAgICAgICAgICAgIChidWlsZC1zeXN0ZW0gdHJp dmlhbC1idWlsZC1zeXN0ZW0pCisgICAgICAgICAgICAgICAgICAgICAgKGFyZ3VtZW50cworICAg ICAgICAgICAgICAgICAgICAgICAgYCgjOmd1aWxlCisgICAgICAgICAgICAgICAgICAgICAgICAg ICwlYm9vdHN0cmFwLWd1aWxlCisgICAgICAgICAgICAgICAgICAgICAgICAgICM6YnVpbGRlcgor ICAgICAgICAgICAgICAgICAgICAgICAgICAobGV0ICgob3V0IChhc3NvYy1yZWYgJW91dHB1dHMg Im91dCIpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAobWtkaXIgb3V0KQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgIChta2RpciAoc3RyaW5nLWFwcGVuZCBvdXQgIi9mb28iKSkK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3ltbGluayAiZm9vIiAoc3RyaW5nLWFwcGVu ZCBvdXQgIi9ldGMiKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2FsbC13aXRoLW91 dHB1dC1maWxlCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3RyaW5nLWFwcGVuZCBv dXQgIi9ldGMvYmFyIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChsYW1iZGEgKHBv cnQpIChkaXNwbGF5ICJmb28hIiBwb3J0KSkpKSkpKSkKKyAgICAgICAgICAgICAoZW50cnkgLT4g KHBhY2thZ2UtPm1hbmlmZXN0LWVudHJ5IHRoaW5nKSkKKyAgICAgICAgICAgICAoZHJ2IChwcm9m aWxlLWRlcml2YXRpb24KKyAgICAgICAgICAgICAgICAgICAgKG1hbmlmZXN0IChsaXN0IGVudHJ5 KSkKKyAgICAgICAgICAgICAgICAgICAgIzpob29rcworICAgICAgICAgICAgICAgICAgICAnKCkK KyAgICAgICAgICAgICAgICAgICAgIzpsb2NhbGVzPworICAgICAgICAgICAgICAgICAgICAjZikp CisgICAgICAgICAgICAgKHByb2ZpbGUgLT4gKGRlcml2YXRpb24tPm91dHB1dC1wYXRoIGRydikp KQorICAgICAgICAgICAgKG1iZWdpbgorICAgICAgICAgICAgICAlc3RvcmUtbW9uYWQKKyAgICAg ICAgICAgICAgKGJ1aWx0LWRlcml2YXRpb25zIChsaXN0IGRydikpCisgICAgICAgICAgICAgIChy ZXR1cm4KKyAgICAgICAgICAgICAgICAoYW5kIChmaWxlLWV4aXN0cz8KKyAgICAgICAgICAgICAg ICAgICAgICAgKHN0cmluZy1hcHBlbmQgcHJvZmlsZSAiL2V0Yy9wcm9maWxlIikpCisgICAgICAg ICAgICAgICAgICAgICAoc3RyaW5nPT8KKyAgICAgICAgICAgICAgICAgICAgICAgKGNhbGwtd2l0 aC1pbnB1dC1maWxlCisgICAgICAgICAgICAgICAgICAgICAgICAgKHN0cmluZy1hcHBlbmQgcHJv ZmlsZSAiL2V0Yy9iYXIiKQorICAgICAgICAgICAgICAgICAgICAgICAgIGdldC1zdHJpbmctYWxs KQorICAgICAgICAgICAgICAgICAgICAgICAiZm9vISIpKSkpKQorICAgICAjOmd1aWxlLWZvci1i dWlsZAorICAgICAoJWd1aWxlLWZvci1idWlsZCkpKQphY3R1YWwtdmFsdWU6ICNmCmFjdHVhbC1l cnJvcjoKKyAoc3JmaS0zNAorICAgIzxjb25kaXRpb24gJm5peC1wcm90b2NvbC1lcnJvciBbbWVz c2FnZTogImJ1aWxkIG9mIGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvZGNyaDAwZ3BuazJic3loMDhw eXpqbXlzYm5hbTdqZjYtcHJvZmlsZS5kcnYnIGZhaWxlZCIgc3RhdHVzOiAxMDBdIDI1MTkzYzA+ KQpyZXN1bHQ6IEZBSUwKCnRlc3QtbmFtZTogdW5pb24gdnMuIGRhbmdsaW5nIHN5bWxpbmsKbG9j YXRpb246IC90bXAvZ3VpeC1idWlsZC1ndWl4LTAuMTMuMC0xMi4wYTE1NGMxKy5kcnYtMC9zb3Vy Y2UvdGVzdHMvcHJvZmlsZXMuc2NtOjQ5NApzb3VyY2U6CisgKHRlc3QtZXF1YWwKKyAgICJ1bmlv biB2cy4gZGFuZ2xpbmcgc3ltbGluayIKKyAgICJkb2VzLW5vdC1leGlzdCIKKyAgIChydW4td2l0 aC1zdG9yZQorICAgICAlc3RvcmUKKyAgICAgKG1sZXQqICVzdG9yZS1tb25hZAorICAgICAgICAg ICAgKCh0aGluZzEKKyAgICAgICAgICAgICAgIC0+CisgQCBidWlsZC1zdGFydGVkIC90bXAvZ3Vp eC10ZXN0cy9zdG9yZS96aXd3Nzg2eTRhcDE2YzdseWgxdmR2cWZscHBpMmFnaC1kdW1teS0wLmRy diAtIHg4Nl82NC1saW51eCAvdG1wL2d1aXgtdGVzdHMvdmFyL2xvZy9ndWl4L2RydnMvemkvL3d3 Nzg2eTRhcDE2YzdseWgxdmR2cWZscHBpMmFnaC1kdW1teS0wLmRydi5iejIKQCBidWlsZC1zdWNj ZWVkZWQgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3ppd3c3ODZ5NGFwMTZjN2x5aDF2ZHZxZmxwcGky YWdoLWR1bW15LTAuZHJ2IC0KQCBidWlsZC1zdGFydGVkIC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9m MmthbWlwZGs4YWloeWdiMHd3cjl5N2dwYnM4em00NS1kdW1teTItMC5kcnYgLSB4ODZfNjQtbGlu dXggL3RtcC9ndWl4LXRlc3RzL3Zhci9sb2cvZ3VpeC9kcnZzL2YyLy9rYW1pcGRrOGFpaHlnYjB3 d3I5eTdncGJzOHptNDUtZHVtbXkyLTAuZHJ2LmJ6MgpAIGJ1aWxkLXN1Y2NlZWRlZCAvdG1wL2d1 aXgtdGVzdHMvc3RvcmUvZjJrYW1pcGRrOGFpaHlnYjB3d3I5eTdncGJzOHptNDUtZHVtbXkyLTAu ZHJ2IC0KQCBidWlsZC1zdGFydGVkIC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9jczZzajNxZ2ExOGZ5 ZnM0YzdqNzN5cXgxbGI2aTlyci1wcm9maWxlLmRydiAtIHg4Nl82NC1saW51eCAvdG1wL2d1aXgt dGVzdHMvdmFyL2xvZy9ndWl4L2RydnMvY3MvLzZzajNxZ2ExOGZ5ZnM0YzdqNzN5cXgxbGI2aTly ci1wcm9maWxlLmRydi5iejIKQmFja3RyYWNlOgpJbiBpY2UtOS9ib290LTkuc2NtOgogMTU3OiAx MCBbY2F0Y2ggI3QgIzxjYXRjaC1jbG9zdXJlIGM5MWUyMD4gLi4uXQpJbiB1bmtub3duIGZpbGU6 CiAgID86IDkgW2FwcGx5LXNtb2IvMSAjPGNhdGNoLWNsb3N1cmUgYzkxZTIwPl0KSW4gaWNlLTkv Ym9vdC05LnNjbToKICA2MzogOCBbY2FsbC13aXRoLXByb21wdCBwcm9tcHQwIC4uLl0KSW4gaWNl LTkvZXZhbC5zY206CiA0MzI6IDcgW2V2YWwgIyAjXQpJbiBpY2UtOS9ib290LTkuc2NtOgoyMzIw OiA2IFtzYXZlLW1vZHVsZS1leGN1cnNpb24gIzxwcm9jZWR1cmUgY2JmYjAwIGF0IGljZS05L2Jv b3QtOS5zY206Mzk2MTozICgpPl0KMzk2NjogNSBbIzxwcm9jZWR1cmUgY2JmYjAwIGF0IGljZS05 L2Jvb3QtOS5zY206Mzk2MTozICgpPl0KMTY0NTogNCBbJXN0YXJ0LXN0YWNrIGxvYWQtc3RhY2sg Izxwcm9jZWR1cmUgY2MwZGEwIGF0IGljZS05L2Jvb3QtOS5zY206Mzk1NzoxMCAoKT5dCjE2NTA6 IDMgWyM8cHJvY2VkdXJlIGNjNmRiMCAoKT5dCkluIHVua25vd24gZmlsZToKICAgPzogMiBbcHJp bWl0aXZlLWxvYWQgIi90bXAvZ3VpeC10ZXN0cy9zdG9yZS8yYWtydm1xZDdjMmZheHk5YW1zbGZs Mmp4ajVxZmZieC1wcm9maWxlLWJ1aWxkZXIiXQpJbiBpY2UtOS9ldmFsLnNjbToKIDQzMjogMSBb ZXZhbCAjICgpXQpJbiB1bmtub3duIGZpbGU6CiAgID86IDAgW3NldHZidWYgIzxvdXRwdXQ6IGZp bGUgMT4gbGluZSAjPHVuZGVmaW5lZD5dCgpFUlJPUjogSW4gcHJvY2VkdXJlIHNldHZidWY6CkVS Uk9SOiBXcm9uZyB0eXBlIChleHBlY3RpbmcgZXhhY3QgaW50ZWdlcik6IGxpbmUKYnVpbGRlciBm b3IgYC90bXAvZ3VpeC10ZXN0cy9zdG9yZS9jczZzajNxZ2ExOGZ5ZnM0YzdqNzN5cXgxbGI2aTly ci1wcm9maWxlLmRydicgZmFpbGVkIHdpdGggZXhpdCBjb2RlIDEKQCBidWlsZC1mYWlsZWQgL3Rt cC9ndWl4LXRlc3RzL3N0b3JlL2NzNnNqM3FnYTE4ZnlmczRjN2o3M3lxeDFsYjZpOXJyLXByb2Zp bGUuZHJ2IC0gMSBidWlsZGVyIGZvciBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL2NzNnNqM3FnYTE4 ZnlmczRjN2o3M3lxeDFsYjZpOXJyLXByb2ZpbGUuZHJ2JyBmYWlsZWQgd2l0aCBleGl0IGNvZGUg MQogICAgICAgICAgICAgIChkdW1teS1wYWNrYWdlCisgICAgICAgICAgICAgICAgICJkdW1teSIK KyAgICAgICAgICAgICAgICAgKGJ1aWxkLXN5c3RlbSB0cml2aWFsLWJ1aWxkLXN5c3RlbSkKKyAg ICAgICAgICAgICAgICAgKGFyZ3VtZW50cworICAgICAgICAgICAgICAgICAgIGAoIzpndWlsZQor ICAgICAgICAgICAgICAgICAgICAgLCVib290c3RyYXAtZ3VpbGUKKyAgICAgICAgICAgICAgICAg ICAgICM6YnVpbGRlcgorICAgICAgICAgICAgICAgICAgICAgKGxldCAoKG91dCAoYXNzb2MtcmVm ICVvdXRwdXRzICJvdXQiKSkpCisgICAgICAgICAgICAgICAgICAgICAgIChta2RpciBvdXQpCisg ICAgICAgICAgICAgICAgICAgICAgIChzeW1saW5rCisgICAgICAgICAgICAgICAgICAgICAgICAg ImRvZXMtbm90LWV4aXN0IgorICAgICAgICAgICAgICAgICAgICAgICAgIChzdHJpbmctYXBwZW5k IG91dCAiL2RhbmdsaW5nIikpCisgICAgICAgICAgICAgICAgICAgICAgICN0KSkpKSkKKyAgICAg ICAgICAgICAodGhpbmcyCisgICAgICAgICAgICAgICAtPgorICAgICAgICAgICAgICAgKHBhY2th Z2UgKGluaGVyaXQgdGhpbmcxKSAobmFtZSAiZHVtbXkyIikpKQorICAgICAgICAgICAgIChkcnYg KHByb2ZpbGUtZGVyaXZhdGlvbgorICAgICAgICAgICAgICAgICAgICAocGFja2FnZXMtPm1hbmlm ZXN0IChsaXN0IHRoaW5nMSB0aGluZzIpKQorICAgICAgICAgICAgICAgICAgICAjOmhvb2tzCisg ICAgICAgICAgICAgICAgICAgICcoKQorICAgICAgICAgICAgICAgICAgICAjOmxvY2FsZXM/Cisg ICAgICAgICAgICAgICAgICAgICNmKSkKKyAgICAgICAgICAgICAocHJvZmlsZSAtPiAoZGVyaXZh dGlvbi0+b3V0cHV0LXBhdGggZHJ2KSkpCisgICAgICAgICAgICAobWJlZ2luCisgICAgICAgICAg ICAgICVzdG9yZS1tb25hZAorICAgICAgICAgICAgICAoYnVpbHQtZGVyaXZhdGlvbnMgKGxpc3Qg ZHJ2KSkKKyAgICAgICAgICAgICAgKHJldHVybgorICAgICAgICAgICAgICAgIChyZWFkbGluawor ICAgICAgICAgICAgICAgICAgKHJlYWRsaW5rIChzdHJpbmctYXBwZW5kIHByb2ZpbGUgIi9kYW5n bGluZyIpKSkpKSkKKyAgICAgIzpndWlsZS1mb3ItYnVpbGQKKyAgICAgKCVndWlsZS1mb3ItYnVp bGQpKSkKZXhwZWN0ZWQtdmFsdWU6ICJkb2VzLW5vdC1leGlzdCIKYWN0dWFsLXZhbHVlOiAjZgph Y3R1YWwtZXJyb3I6CisgKHNyZmktMzQKKyAgICM8Y29uZGl0aW9uICZuaXgtcHJvdG9jb2wtZXJy b3IgW21lc3NhZ2U6ICJidWlsZCBvZiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL2NzNnNqM3FnYTE4 ZnlmczRjN2o3M3lxeDFsYjZpOXJyLXByb2ZpbGUuZHJ2JyBmYWlsZWQiIHN0YXR1czogMTAwXSAy MjAyNmYwPikKcmVzdWx0OiBGQUlMCgoKU0tJUDogdGVzdHMvc3lzY2FsbHMKPT09PT09PT09PT09 PT09PT09PT0KCnRlc3QtbmFtZTogbW91bnQsIEVOT0VOVApsb2NhdGlvbjogL3RtcC9ndWl4LWJ1 aWxkLWd1aXgtMC4xMy4wLTEyLjBhMTU0YzErLmRydi0wL3NvdXJjZS90ZXN0cy9zeXNjYWxscy5z Y206NDAKc291cmNlOgorICh0ZXN0LWVxdWFsCisgICAibW91bnQsIEVOT0VOVCIKKyAgIEVOT0VO VAorICAgKGNhdGNoICdzeXN0ZW0tZXJyb3IKKyAgICAgICAgICAobGFtYmRhICgpCisgICAgICAg ICAgICAobW91bnQgIi9kZXYvbnVsbCIgIi9kb2VzLW5vdC1leGlzdCIgImV4dDIiKQorICAgICAg ICAgICAgI2YpCisgICAgICAgICAgKGNvbXBvc2Ugc3lzdGVtLWVycm9yLWVycm5vIGxpc3QpKSkK ZXhwZWN0ZWQtdmFsdWU6IDIKYWN0dWFsLXZhbHVlOiAyCnJlc3VsdDogUEFTUwoKdGVzdC1uYW1l OiB1bW91bnQsIEVOT0VOVC9FUEVSTQpsb2NhdGlvbjogL3RtcC9ndWl4LWJ1aWxkLWd1aXgtMC4x My4wLTEyLjBhMTU0YzErLmRydi0wL3NvdXJjZS90ZXN0cy9zeXNjYWxscy5zY206NDgKc291cmNl OgorICh0ZXN0LWFzc2VydAorICAgInVtb3VudCwgRU5PRU5UL0VQRVJNIgorICAgKGNhdGNoICdz eXN0ZW0tZXJyb3IKKyAgICAgICAgICAobGFtYmRhICgpICh1bW91bnQgIi9kb2VzLW5vdC1leGlz dCIpICNmKQorICAgICAgICAgIChsYW1iZGEgYXJncworICAgICAgICAgICAgKG1lbXYgKHN5c3Rl bS1lcnJvci1lcnJubyBhcmdzKQorICAgICAgICAgICAgICAgICAgKGxpc3QgRVBFUk0gRU5PRU5U KSkpKSkKYWN0dWFsLXZhbHVlOiAoMSAyKQpyZXN1bHQ6IFBBU1MKCnRlc3QtbmFtZTogbW91bnQt cG9pbnRzCmxvY2F0aW9uOiAvdG1wL2d1aXgtYnVpbGQtZ3VpeC0wLjEzLjAtMTIuMGExNTRjMSsu ZHJ2LTAvc291cmNlL3Rlc3RzL3N5c2NhbGxzLnNjbTo1Nwpzb3VyY2U6CisgKHRlc3QtYXNzZXJ0 CisgICAibW91bnQtcG9pbnRzIgorICAgKGFueSAoY3V0ZSBtZW1iZXIgPD4gKG1vdW50LXBvaW50 cykpCisgICAgICAgICcoIi8iICIvcHJvYyIgIi9zeXMiICIvZGV2IikpKQphY3R1YWwtdmFsdWU6 ICgiLyIgIi9kZXYvZnVsbCIgIi9kZXYva3ZtIiAiL2Rldi9udWxsIiAiL2Rldi9yYW5kb20iICIv ZGV2L3R0eSIgIi9kZXYvdXJhbmRvbSIgIi9kZXYvemVybyIgIi9nbnUvc3RvcmUvMDlqN3Njbmwz aGFoY21xbDk4NmZzanB6ajZncXNtenYtbmN1cnNlcy02LjAiICIvZ251L3N0b3JlLzBmNzZhazRq bjM2cXM3c3loZmF3NWFnOTk1OHlhYnpoLWxpYmF0b21pYy1vcHMtNy40LjQiICIvZ251L3N0b3Jl LzBxNHFtZ2p6M2dkdnljMW1hanFqZ2NtOWM3czhpdjB6LWxpYnNzaDItMS44LjAiICIvZ251L3N0 b3JlLzBzNW1hbmp2ZmEwZ21zdjJyNzFyY2hreTdhYjcwZzFkLWljdTRjLTU4LjIiICIvZ251L3N0 b3JlLzFqY3E0ZmMwN2JuZ2M1cTFjeTQ0ajBnbHYxdnJqejUyLWxpYmZmaS0zLjIuMSIgIi9nbnUv c3RvcmUvMWpwNDRwZm1xY2ozenljY2x2bW12YTN4Y3dpbnlnN2wtZnJlZXR5cGUtMi44IiAiL2du dS9zdG9yZS8xcHBxaDc5cGt6eG4weTk0NWRjeG12cDF5MmZwZDhpdi1hdXRvY29uZi0yLjY5IiAi L2dudS9zdG9yZS8xeGM5N2FrYmRjaXNyaWQybjhkanBrbjA5Zjhia2w1Zi1saWJ4ZG1jcC0xLjEu MiIgIi9nbnUvc3RvcmUvMjBqbTY3c3JoZHppMDFkMmdkZzM2Y3NweWlwMjFsc2QtbGlic20tMS4y LjIiICIvZ251L3N0b3JlLzIzMWluZHJweGk3bTAxeHg3NTJieDR5ODY0a3lmOTc3LWxpYnhhdy0x LjAuMTMiICIvZ251L3N0b3JlLzJucjVxbW16YXpqMzdkemZ6Ym4wZzI0eXkyZHNhdnk0LW00LTEu NC4xOCIgIi9nbnUvc3RvcmUvM2sxeTc4djZueGp2bWl2bnJpNWo0NndhaTZwcHZ5ejAtaGFyZmJ1 enotMS41LjEiICIvZ251L3N0b3JlLzN4NTN5djR2MTQ0Yzl4cDAycnM2NHo3ajU5N2trcWF4LWdj Yy01LjQuMC1saWIiICIvZ251L3N0b3JlLzQyZDVyanJka2xuNm53dnp3ZGM4ZHlkNHc2aXkzbjVq LWNvcmV1dGlscy04LjI3IiAiL2dudS9zdG9yZS80YXdkaW0zd2Y2Mm5xOXFqdzNobDZiYWNnamg5 Znp5di1ndWlsZS0yLjAuMTQiICIvZ251L3N0b3JlLzRiOXk5ZjVmdmdoazJ2bXdwYmd6bmNhbDd6 M3I0bjV5LXBhbmdvLTEuNDAuMTIiICIvZ251L3N0b3JlLzRjMGRtOGg1bG4wenIxbDkzbndoaGl6 ZjVwMDQweWk2LWdzLWZvbnRzLTguMTEiICIvZ251L3N0b3JlLzRpcXloOHhxanhhenphM2x4Mml6 NXYzOWlwemlmc2ZqLWd6aXAtMS44IiAiL2dudS9zdG9yZS81OTNjajRiN25zYTBjc2pmam5oMHh4 OHk0cmRweWt4aC1saWJ4ZnQtMi4zLjIiICIvZ251L3N0b3JlLzVqbDIxY3N2cjNqbXNhNGE3ZDA4 c3FhMndha3MzZjA5LWdtcC02LjEuMiIgIi9nbnUvc3RvcmUvNWxyazZkNWNqc3YyczI5dmZqaTZq NTlneWYxOHJiNW0tYWNsLTIuMi41MiIgIi9nbnUvc3RvcmUvNXN2NXp5MmtnZzZpYXF5djh6dzQ5 dzQyNDNqMHhrZDAtZ2NjLTUuNC4wIiAiL2dudS9zdG9yZS82aGljbnM4NXM4ZGRwMHk1Mzl3ZHNw d3gyMmFjMmttdi1iemlwMi0xLjAuNiIgIi9nbnUvc3RvcmUvNnZwczJqYzB2NmI0aHI4ZHM5ODc4 NXhjZjgwNjF3ejAtbWFrZS00LjIuMSIgIi9nbnUvc3RvcmUvN25zZjg5bXlnc3oxcTYwbmtwMWY2 MnEzM3pyYXExdmMtZ2QtMi4yLjUiICIvZ251L3N0b3JlLzd2MnczNTA2cTBnZjk2cnNmNndmM2dk cjJpdjVmcm1tLWxpYmdwZy1lcnJvci0xLjI3IiAiL2dudS9zdG9yZS83djgzNjlsZ25xdnBwaGN3 MDZoZzU5aGI4aHhta3I4eC1zZWQtNC40IiAiL2dudS9zdG9yZS83emJzY3A1cjBkanNhbGNudmZy bTdnMG1wNzBtaHJrZC1kaWZmdXRpbHMtMy42IiAiL2dudS9zdG9yZS84ZDg2OHBzdmt6ajAyMTVk ODN4Yjc3cTBjOW1xam40ZC1ndHMtMC43LjYiICIvZ251L3N0b3JlLzhuOHd3dmJrYXJ4cXhrbjBr YzZwNWlpbjB5d2lpZGIwLWd1aWxlLXNzaC0wLjExLjIiICIvZ251L3N0b3JlLzk2NWR3M3NtbXN2 ajZqeWZ4cmthcHAwZ245amg5ZGpuLWxpYnVuaXN0cmluZy0wLjkuNyIgIi9nbnUvc3RvcmUvOWIw bmg1OHExZHd4bGk4MHhqMTVndjIwMzdhejk2eHctcGF0Y2gtMi43LjUiICIvZ251L3N0b3JlLzli bGlkZjI4eHowYTBnbG52NmE0eGN3Nm54YWRnNDI3LWxpYmdjLTcuNi4wIiAiL2dudS9zdG9yZS85 cHExNmtmY2xkcXFjYmQ1OG1tZnAzN2czYXdoZzRzZC1nYXdrLTQuMS40IiAiL2dudS9zdG9yZS9h a2MzbnNua3NndjYyNTZqbTFhcmlsamIxYzd6aDh4Mi1saWJnYy03LjYuMCIgIi9nbnUvc3RvcmUv YW41MmowanJ2ZDIzcXlwYmlkZDVmMjBrMndpNzV2aDktcGNyZS04LjQwIiAiL2dudS9zdG9yZS9h emJmaDNpNzJsYmFxdmhnZzVtN3A2eW1tcXEwaWk2cS1nbGliLTIuNTIuMyIgIi9nbnUvc3RvcmUv Yjd5NjZkYjg2azU3dmJiMDNucjRiZm45c3Zta3M0Z2YtYmFzaC00LjQuMTIiICIvZ251L3N0b3Jl L2I5d3c2cXYxaWk5djZuNDVraW43NTQzdmtmNmpmbmQzLWxpYnBuZy0xLjYuMjkiICIvZ251L3N0 b3JlL2JjbWYwNmsybjFwZndxa3pwY2x2dmMzdzlqZGZpNzFhLWd1aWxlLWpzb24tMC42LjAiICIv Z251L3N0b3JlL2JkMjlnOGh5YXpkOWpweXFsNTY4bnBmZDIzc3JseWszLWhlbHAybWFuLTEuNDcu NCIgIi9nbnUvc3RvcmUvYnc0NGRmYzdzYjM4ZGsyajJrNTYyYnNqanN5OTNsdnEtbGliZ2NyeXB0 LTEuNy44IiAiL2dudS9zdG9yZS9iem40d3lyYmRtZmMxYmQ3bHEwNWRiNXBzZmw1Zjh4OC1wZXJs LTUuMjYuMCIgIi9nbnUvc3RvcmUvYzJrNGdxamhuanlxeWlzY2kxc3k4MTQxNmkwM3BrMjItbGli aWRuMi0yLjAuMiIgIi9nbnUvc3RvcmUvYzR2bDRodzVqY2NnMGIyM3NmdnMwa2RuZmRieGRsZ20t Y2Fpcm8tMS4xNC4xMCIgIi9nbnUvc3RvcmUvYzZ2cGZnbTluN2p6Z3IwbGxheDB4N3N6cWs5YTVi Zm0tbmV0dGxlLTMuMyIgIi9nbnUvc3RvcmUvY2xyZGRoNmE2MGIzMWFudjdhOWhyazNpOWlkMGs1 enMtbGlieGNiLTEuMTIiICIvZ251L3N0b3JlL2Q4Z2tuODR5cWFjanI4MHB6aWN6MWthM3kyczFm MngwLWd1aWxlLTIuMi4yIiAiL2dudS9zdG9yZS9kYWJ4amNhc3A3cDNmMmh3YTV6Zm56dzBocGY3 M3dibi1ncmFwaHZpei0yLjQwLjEiICIvZ251L3N0b3JlL2R3aTA0NDU4cWFsYTFrbmhzdm4xd2lz OTBtcjY1cjhiLWxpbnV4LWxpYnJlLWhlYWRlcnMtNC40LjQ3IiAiL2dudS9zdG9yZS9nM25hcmk1 N3djZm5tMDBrdjlibnB5emR6ZnE0aDhway14ei01LjIuMiIgIi9nbnUvc3RvcmUvZzlnemw4anJq MWFoeWp5NGFwNzBnaXY3bTY2eHNtNDMtaHR0cC1wYXJzZXItMi43LjEiICIvZ251L3N0b3JlL2dm c2lhdzZybjI5aWk4Y3Bqbml4MDVhN3I1ODhrOXl2LXRleGluZm8tNi4zIiAiL2dudS9zdG9yZS9p MzQ2MWJwcndhNmJxaXc4cWo2NHpjd3Z2dzg0anducC1ndWl4LWN1cnJlbnQiICIvZ251L3N0b3Jl L2ozbXkwYnBkYXBuNXAwY20zMWo2dm5xM2xmeGs0enZkLWxpYnhtdS0xLjEuMiIgIi9nbnUvc3Rv cmUvam5iYjhmZnh4dnJ3MmI0ejE4em4wZzA4a3FrOXJzZ2wtbGliZmZpLTMuMi4xIiAiL2dudS9z dG9yZS9qdnA0YnIwcDUyNGRjcjB4c3ZiMnZ4cWFpbjA3cDBhbC1saWJnaXQyLTAuMjYuMCIgIi9n bnUvc3RvcmUvanZzZ2o1bDRsZ2RrbmFyaTM0cnYyOXd2MjUzbjhqY2wtZ251dGxzLTMuNS4xMyIg Ii9nbnUvc3RvcmUvano3d3Z5OTMwbGlxanZtOTVsaGR2OWkxZHIxeHh2eHAtbGlieGV4dC0xLjMu MyIgIi9nbnUvc3RvcmUva2R3bHZzNTFpc2RmYmw2MWpkaXNoemhseThoMTM5emYtbGliYnNkLTAu OC4zIiAiL2dudS9zdG9yZS9rZ3kwMHg4amw3cTk2NXNuZ3ExeXlpaGJjenhqMTV3ay1saWJ4cmVu ZGVyLTAuOS4xMCIgIi9nbnUvc3RvcmUva2k2bXl2cTRsamxtbnNtbngwa2hkeGtsMmtkY3lxYzMt YnppcDItMS4wLjYiICIvZ251L3N0b3JlL2tweGk4aDM2NjlhZnI5cjFiZ3ZhZjlpajN5NHdkeXlu LWJhc2gtbWluaW1hbC00LjQuMTIiICIvZ251L3N0b3JlL2wxeXZwamloYnJjM2F2YjA4cjJidjBy ajY2NTdycHppLWxpYnNzaC0wLjcuNSIgIi9nbnUvc3RvcmUvbGgxaHdhMGkwNjFsd3p5dms5YnJj c2piNmgxZ3locmctbmN1cnNlcy02LjAiICIvZ251L3N0b3JlL20wbTZid3ppOGx4N2t2OHpibjNo anJpbTZmbG1nbmY0LW9wZW5zc2wtMS4wLjJsIiAiL2dudS9zdG9yZS9taXBpemlwbnI0eTJobHk5 YjQyOWo4aWQxYWxiYmdxaS1yZWFkbGluZS03LjAiICIvZ251L3N0b3JlL21tYm5pMjM1eHhsNWh4 Ymk2ZDcyeTh5YXI4N2dyMHB4LWF1dG9jb25mLXdyYXBwZXItMi42OSIgIi9nbnUvc3RvcmUvbXBs OWI5dzYwZ2p6c3E0NzB6a2E1bDhwMmJteTdyOHYtc3FsaXRlLTMuMTkuMyIgIi9nbnUvc3RvcmUv bXN3MnE3bnIzdmZtZ3d5eGYxNXkweDdxYm5nczl5M2QtZmlsZS01LjMwIiAiL2dudS9zdG9yZS9t eHNidmhsamgwZms4Mmhkc2d5MDRwM2wyZDVoejRqNC1saWJ0YXNuMS00LjEyIiAiL2dudS9zdG9y ZS9tejJxOGMxemw4eTg0OG5peHZieXdnMmQzenE3cGptYy1saWJ4cG0tMy41LjEyIiAiL2dudS9z dG9yZS9uNm52eGxrMmo4eXNmZmpoM2pwaG4xazVzaWxuYWtoNi1nbGliYy0yLjI1IiAiL2dudS9z dG9yZS9uYXEybmIzdmh5YXN3a2s0c2Jpdzd4ZDZyeTIxbmt2Zy1hdXRvbWFrZS0xLjE1IiAiL2du dS9zdG9yZS9ubnlremd3Znk4bXdoMmdteG03MTVzanh5a2c4cWp3bi1iaW51dGlscy0yLjI4IiAi L2dudS9zdG9yZS9ucDA1cThtZjF5OXk0Yms1eTRzc2o5OW0wZHNzMmIxcS1saWJ4MTEtMS42LjUi ICIvZ251L3N0b3JlL253NDAwZ2ZhbjNteHZqZnd2eTFxNzJzMXlibWRzY3NrLWZvbnRjb25maWct Mi4xMi4zIiAiL2dudS9zdG9yZS9ueDhibHIwYTI0OGFoYmwwOTJoN2FjeWI0NGxwOGYwbS1saWJ1 bmlzdHJpbmctMC45LjciICIvZ251L3N0b3JlL255a2NtNXdsdzhmanNpMjhubTAxZ2cxYXMyem5o OG5mLWdtcC02LjEuMiIgIi9nbnUvc3RvcmUvbnp2MTgwaTN6MzN2bmI5a3JtYzczbWF6aGY2MjYz ODQtZmluZHV0aWxzLTQuNi4wIiAiL2dudS9zdG9yZS9wNWhycmltejMwa2ZwNTZyYWg3cW40eW1z aHlnNzhtcS1ncmFwaGl0ZTItMS4zLjEwIiAiL2dudS9zdG9yZS9wYXBzNXI5aGNwc3podjhoYzNu MHMybTJpNGEyMzc4aS1lZC0xLjE0LjIiICIvZ251L3N0b3JlL3BkM25nZ2Z2cnE1MG5oNDE5YW4y YWhheTY5bXpydmNrLWxpYmpwZWctOWIiICIvZ251L3N0b3JlL3FjNGF2d2xid3lwcno2Z3E5ZmNx d3AwNDNyODA2M2Y2LWxpYmx0ZGwtMi40LjYiICIvZ251L3N0b3JlL3FoMWZyaTdxcHBxaThiaHl6 Yml3N2g4a25tazRjYjNxLWxpYmx0ZGwtMi40LjYiICIvZ251L3N0b3JlL3FoeDdkbW5xZmxrbXlr ZzUwY204czI0M2JnMWdxOGlmLWxpYnh0LTEuMS41IiAiL2dudS9zdG9yZS9xazc5Y2s4Z3kxenBw aTRtYnc0encyeTR6MzI2d2E0aS1sZC13cmFwcGVyLTAiICIvZ251L3N0b3JlL3F6ejJtZzk1MDB4 NnNycDZpdnNjYjQwMXhpbmFqbjl5LWd6aXAtMS44IiAiL2dudS9zdG9yZS9yMzYyZjhwNHkweGo3 c20yamZxeXNyeTA4Nmx4eTkxdi16bGliLTEuMi4xMSIgIi9nbnUvc3RvcmUvcjdzZjR3Mnd3cmJ4 YmNmMDRwaTlhNWdrZGh6YXlhMmctbW9kdWxlLWltcG9ydC1jb21waWxlZCIgIi9nbnUvc3RvcmUv cnlxZDczYWxybHE1ZGpzcjE4eGpqaWhpNzM1NTkyaW0tcGtnLWNvbmZpZy0wLjI5LjIiICIvZ251 L3N0b3JlL3NjczdzaXlicmpsNWJiN3N4cWFza3lzZjhuMWxkNzE4LWdtcC02LjEuMiIgIi9nbnUv c3RvcmUvc2Z4MXdoMjdpNmdzcmsyMXA4N3JkeWlrYzY0djdkNTEtemxpYi0xLjIuMTEiICIvZ251 L3N0b3JlL3NuZ3lobTk3NHNibWxqa253YjF4cm5pMWdnemhwbTRkLWdyZXAtMy4wIiAiL2dudS9z dG9yZS92YWlzMHBjaGswNWlobDdrcWo3cnE4emY4cDRjamRoYS1saWJpY2UtMS4wLjkiICIvZ251 L3N0b3JlL3cxNTBxbDNxeTBkaTRkbnA0Yzk1aHBhdzZtMWFhZndjLXBrZy1jb25maWctMC4yOS4y IiAiL2dudS9zdG9yZS93N3A4NHcyZHJoZHkxOWo4ZHl2NzE1aTU3NGxqNDBzOS1yZWFkbGluZS03 LjAiICIvZ251L3N0b3JlL3c4a2lpM2hqdm1oNTB5eHM1MmdrZHl3a3E5amM3czE5LXBpeG1hbi0w LjM0LjAiICIvZ251L3N0b3JlL3dkbGhyZzM3MGdtNDJzN2dneWhudm5iNHhyenBsczF4LWV4cGF0 LTIuMi4xIiAiL2dudS9zdG9yZS93bGpqczRoeWlxYWxmOWExZ3ljNnhucGN2bnk3ank4Yy1nZXR0 ZXh0LW1pbmltYWwtMC4xOS44LjEiICIvZ251L3N0b3JlL3g0YzJhMHowbGY5enA5a2d4OTZrNWFw bHc0aWhuYWsxLWd1aWxlLWdpdC0wLjAtNC45NTFhMzJjIiAiL2dudS9zdG9yZS94OGN3ZzVibTl5 MmRrMW1yaGlzcjYzYjVxOThtYmhoei1ndWlsZS1ieXRlc3RydWN0dXJlcy0yMDE3MDQwMi45MWQw NDJlIiAiL2dudS9zdG9yZS94OXhqdm1heHo1ank3MnlxazdsMzZyNWZkODF6bGR5MC1tb2R1bGUt aW1wb3J0IiAiL2dudS9zdG9yZS94aHdteHJ5OGtrbXE3ODk3NTU4cW1jbWZzeDhyMXo0NS1tb2R1 bGUtaW1wb3J0IiAiL2dudS9zdG9yZS94djhicDB6eGJyOWlwaHIzOHd5MGxsNGx6a2JoOWk4Ny1s aWJ4YXUtMS4wLjgiICIvZ251L3N0b3JlL3kzMXN4cnlnZDlpZnB4cmEwNmJtbHg4YzUyZ2J5ZGQ0 LWdsaWJjLXV0ZjgtbG9jYWxlcy0yLjI1IiAiL2dudS9zdG9yZS95aWh2aHh2M3h5eXZsMW0yY3kx bG5mMWx5aTloNzZmay1ndWlsZS0yLjIuMiIgIi9nbnUvc3RvcmUveW5wOTUwbmxhajB4eDM5Z2Y1 YTEwZnE3cm5zeDE2NzItbGliYXRvbWljLW9wcy03LjQuNCIgIi9nbnUvc3RvcmUveXoxbGY1NWFn MDkwNHc5aWIwcTJrY2pwZHgzM3k3d20tYXR0ci0yLjQuNDciICIvZ251L3N0b3JlL3l6bG1kMm5s Y3lqaHgweWRiYXA3eDMyempxeGMzaHo5LWxpYmNhcC0yLjI1IiAiL2dudS9zdG9yZS96Ynl3cmo2 a2xha3NrajBzcHBxNTZ2aXFoOWw1NmpsMC11dGlsLWxpbnV4LTIuMzAuMSIgIi9nbnUvc3RvcmUv emhoZGlpOW1qY2tiNmMyZjdhYm1kc3gzOWtodjZkbGEtdGFyLTEuMjkiICIvZ251L3N0b3JlL3po cmFqdjZxZjJoem45YzNnMmJiMDc1NTloeXJ6NXhwLWJhc2gtc3RhdGljLTQuNC4xMiIgIi90bXAv Z3VpeC1idWlsZC1ndWl4LTAuMTMuMC0xMi4wYTE1NGMxKy5kcnYtMCIgIi9wcm9jIiAiL2Rldi9z aG0iICIvZGV2L3B0cyIpCnJlc3VsdDogUEFTUwoKdGVzdC1uYW1lOiBzd2Fwb24sIEVOT0VOVC9F UEVSTQpsb2NhdGlvbjogL3RtcC9ndWl4LWJ1aWxkLWd1aXgtMC4xMy4wLTEyLjBhMTU0YzErLmRy di0wL3NvdXJjZS90ZXN0cy9zeXNjYWxscy5zY206NjMKc291cmNlOgorICh0ZXN0LWFzc2VydAor ICAgInN3YXBvbiwgRU5PRU5UL0VQRVJNIgorICAgKGNhdGNoICdzeXN0ZW0tZXJyb3IKKyAgICAg ICAgICAobGFtYmRhICgpIChzd2Fwb24gIi9kb2VzLW5vdC1leGlzdCIpICNmKQorICAgICAgICAg IChsYW1iZGEgYXJncworICAgICAgICAgICAgKG1lbXYgKHN5c3RlbS1lcnJvci1lcnJubyBhcmdz KQorICAgICAgICAgICAgICAgICAgKGxpc3QgRVBFUk0gRU5PRU5UKSkpKSkKYWN0dWFsLXZhbHVl OiAoMSAyKQpyZXN1bHQ6IFBBU1MKCnRlc3QtbmFtZTogc3dhcG9mZiwgRU5PRU5UL0VJTlZBTC9F UEVSTQpsb2NhdGlvbjogL3RtcC9ndWl4LWJ1aWxkLWd1aXgtMC4xMy4wLTEyLjBhMTU0YzErLmRy di0wL3NvdXJjZS90ZXN0cy9zeXNjYWxscy5zY206NzEKc291cmNlOgorICh0ZXN0LWFzc2VydAor ICAgInN3YXBvZmYsIEVOT0VOVC9FSU5WQUwvRVBFUk0iCisgICAoY2F0Y2ggJ3N5c3RlbS1lcnJv cgorICAgICAgICAgIChsYW1iZGEgKCkgKHN3YXBvZmYgIi9kb2VzLW5vdC1leGlzdCIpICNmKQor ICAgICAgICAgIChsYW1iZGEgYXJncworICAgICAgICAgICAgKG1lbXYgKHN5c3RlbS1lcnJvci1l cnJubyBhcmdzKQorICAgICAgICAgICAgICAgICAgKGxpc3QgRVBFUk0gRUlOVkFMIEVOT0VOVCkp KSkpCmFjdHVhbC12YWx1ZTogKDEgMjIgMikKcmVzdWx0OiBQQVNTCgp0ZXN0LW5hbWU6IG1rZHRl bXAhCmxvY2F0aW9uOiAvdG1wL2d1aXgtYnVpbGQtZ3VpeC0wLjEzLjAtMTIuMGExNTRjMSsuZHJ2 LTAvc291cmNlL3Rlc3RzL3N5c2NhbGxzLnNjbTo3OQpzb3VyY2U6CisgKHRlc3QtYXNzZXJ0Cisg ICAibWtkdGVtcCEiCisgICAobGV0KiAoKHRtcCAob3IgKGdldGVudiAiVE1QRElSIikgIi90bXAi KSkKKyAgICAgICAgICAoZGlyIChta2R0ZW1wIQorICAgICAgICAgICAgICAgICAoc3RyaW5nLWFw cGVuZCB0bXAgIi9ndWl4LXRlc3QtWFhYWFhYIikpKSkKKyAgICAgKGFuZCAoZmlsZS1leGlzdHM/ IGRpcikgKGJlZ2luIChybWRpciBkaXIpICN0KSkpKQphY3R1YWwtdmFsdWU6ICN0CnJlc3VsdDog UEFTUwoKdGVzdC1uYW1lOiBzdGF0ZnMsIEVOT0VOVApsb2NhdGlvbjogL3RtcC9ndWl4LWJ1aWxk LWd1aXgtMC4xMy4wLTEyLjBhMTU0YzErLmRydi0wL3NvdXJjZS90ZXN0cy9zeXNjYWxscy5zY206 ODcKc291cmNlOgorICh0ZXN0LWVxdWFsCisgICAic3RhdGZzLCBFTk9FTlQiCisgICBFTk9FTlQK KyAgIChjYXRjaCAnc3lzdGVtLWVycm9yCisgICAgICAgICAgKGxhbWJkYSAoKSAoc3RhdGZzICIv ZG9lcy1ub3QtZXhpc3QiKSkKKyAgICAgICAgICAoY29tcG9zZSBzeXN0ZW0tZXJyb3ItZXJybm8g bGlzdCkpKQpleHBlY3RlZC12YWx1ZTogMgphY3R1YWwtdmFsdWU6IDIKcmVzdWx0OiBQQVNTCgp0 ZXN0LW5hbWU6IHN0YXRmcwpsb2NhdGlvbjogL3RtcC9ndWl4LWJ1aWxkLWd1aXgtMC4xMy4wLTEy LjBhMTU0YzErLmRydi0wL3NvdXJjZS90ZXN0cy9zeXNjYWxscy5zY206OTQKc291cmNlOgorICh0 ZXN0LWFzc2VydAorICAgInN0YXRmcyIKKyAgIChsZXQgKChmcyAoc3RhdGZzICIvIikpKQorICAg ICAoYW5kIChmaWxlLXN5c3RlbT8gZnMpCisgICAgICAgICAgKD4gKGZpbGUtc3lzdGVtLWJsb2Nr LXNpemUgZnMpIDApCisgICAgICAgICAgKD49IChmaWxlLXN5c3RlbS1ibG9ja3MtYXZhaWxhYmxl IGZzKSAwKQorICAgICAgICAgICg+PSAoZmlsZS1zeXN0ZW0tYmxvY2tzLWZyZWUgZnMpCisgICAg ICAgICAgICAgIChmaWxlLXN5c3RlbS1ibG9ja3MtYXZhaWxhYmxlIGZzKSkpKSkKYWN0dWFsLXZh bHVlOiAjdApyZXN1bHQ6IFBBU1MKCnRlc3QtbmFtZTogY2xvbmUKbG9jYXRpb246IC90bXAvZ3Vp eC1idWlsZC1ndWl4LTAuMTMuMC0xMi4wYTE1NGMxKy5kcnYtMC9zb3VyY2UvdGVzdHMvc3lzY2Fs bHMuc2NtOjExMgpzb3VyY2U6CisgKHRlc3QtYXNzZXJ0CisgICAiY2xvbmUiCisgICAobWF0Y2gg KGNsb25lIChsb2dpb3IgQ0xPTkVfTkVXVVNFUiBTSUdDSExEKSkKKyAgICAgICAgICAoMCAocHJp bWl0aXZlLWV4aXQgNDIpKQorICAgICAgICAgIChwaWQgKGFuZCAobm90IChlcXVhbD8KKyAgICAg ICAgICAgICAgICAgICAgICAgICAgIChyZWFkbGluayAodXNlci1uYW1lc3BhY2UgcGlkKSkKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgIChyZWFkbGluayAodXNlci1uYW1lc3BhY2UgKGdldHBp ZCkpKSkpCisgICAgICAgICAgICAgICAgICAgIChtYXRjaCAod2FpdHBpZCBwaWQpCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAoKF8gLiBzdGF0dXMpICg9IDQyIChzdGF0dXM6ZXhpdC12YWwg c3RhdHVzKSkpKSkpKSkKcmVzdWx0OiBTS0lQCgp0ZXN0LW5hbWU6IHNldG5zCmxvY2F0aW9uOiAv dG1wL2d1aXgtYnVpbGQtZ3VpeC0wLjEzLjAtMTIuMGExNTRjMSsuZHJ2LTAvc291cmNlL3Rlc3Rz L3N5c2NhbGxzLnNjbToxMjYKc291cmNlOgorICh0ZXN0LWFzc2VydAorICAgInNldG5zIgorICAg KG1hdGNoIChjbG9uZSAobG9naW9yIENMT05FX05FV1VTRVIgU0lHQ0hMRCkpCisgICAgICAgICAg KDAgKHByaW1pdGl2ZS1leGl0IDApKQorICAgICAgICAgIChjbG9uZS1waWQKKyAgICAgICAgICAg IChtYXRjaCAocGlwZSkKKyAgICAgICAgICAgICAgICAgICAoKGluIC4gb3V0KQorICAgICAgICAg ICAgICAgICAgICAobWF0Y2ggKHByaW1pdGl2ZS1mb3JrKQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgKDAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xvc2UgaW4pCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKGNhbGwtd2l0aC1pbnB1dC1maWxlCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAodXNlci1uYW1lc3BhY2UgY2xvbmUtcGlkKQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKGxhbWJkYSAocG9ydCkgKHNldG5zIChwb3J0LT5mZGVzIHBvcnQp IDApKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAod3JpdGUgJ2RvbmUgb3V0KQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgIChjbG9zZSBvdXQpCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKHByaW1pdGl2ZS1leGl0IDApKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg KGZvcmstcGlkCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbG9zZSBvdXQpCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIChyZWFkIGluKQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAobGV0ICgocmVzdWx0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKGFuZCAoZXF1YWw/CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIChyZWFkbGluaworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICh1c2VyLW5hbWVzcGFjZSBjbG9uZS1waWQpKQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAocmVhZGxpbmsKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAodXNlci1uYW1lc3BhY2UgZm9yay1waWQpKSkpKSkKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAod2FpdHBpZCBjbG9uZS1waWQpCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKHdhaXRwaWQgZm9yay1waWQpCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgcmVzdWx0KSkpKSkpKSkKcmVzdWx0OiBTS0lQCgp0ZXN0LW5hbWU6IHBp dm90LXJvb3QKbG9jYXRpb246IC90bXAvZ3VpeC1idWlsZC1ndWl4LTAuMTMuMC0xMi4wYTE1NGMx Ky5kcnYtMC9zb3VyY2UvdGVzdHMvc3lzY2FsbHMuc2NtOjE1OQpzb3VyY2U6CisgKHRlc3QtZXF1 YWwKKyAgICJwaXZvdC1yb290IgorICAgI3QKKyAgIChtYXRjaCAocGlwZSkKKyAgICAgICAgICAo KGluIC4gb3V0KQorICAgICAgICAgICAobWF0Y2ggKGNsb25lIChsb2dpb3IgQ0xPTkVfTkVXVVNF UiBDTE9ORV9ORVdOUyBTSUdDSExEKSkKKyAgICAgICAgICAgICAgICAgICgwCisgICAgICAgICAg ICAgICAgICAgKGR5bmFtaWMtd2luZAorICAgICAgICAgICAgICAgICAgICAgKGNvbnN0ICN0KQor ICAgICAgICAgICAgICAgICAgICAgKGxhbWJkYSAoKQorICAgICAgICAgICAgICAgICAgICAgICAo Y2xvc2UgaW4pCisgICAgICAgICAgICAgICAgICAgICAgIChjYWxsLXdpdGgtdGVtcG9yYXJ5LWRp cmVjdG9yeQorICAgICAgICAgICAgICAgICAgICAgICAgIChsYW1iZGEgKHJvb3QpCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAobGV0ICgocHV0LW9sZCAoc3RyaW5nLWFwcGVuZCByb290ICIv cmVhbC1yb290IikpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobW91bnQgIm5vbmUi IHJvb3QgInRtcGZzIikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1rZGlyIHB1dC1v bGQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjYWxsLXdpdGgtb3V0cHV0LWZpbGUK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3RyaW5nLWFwcGVuZCByb290ICIvdGVz dCIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxhbWJkYSAocG9ydCkgKGRpc3Bs YXkgInRlc3RpbmdcbiIgcG9ydCkpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocGl2 b3Qtcm9vdCByb290IHB1dC1vbGQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh3cml0 ZSAoZmlsZS1leGlzdHM/ICIvdGVzdCIpIG91dCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKGNsb3NlIG91dCkpKSkpCisgICAgICAgICAgICAgICAgICAgICAobGFtYmRhICgpIChwcmlt aXRpdmUtZXhpdCAwKSkpKQorICAgICAgICAgICAgICAgICAgKHBpZCAoY2xvc2Ugb3V0KQorICAg ICAgICAgICAgICAgICAgICAgICAobGV0ICgocmVzdWx0IChyZWFkIGluKSkpCisgICAgICAgICAg ICAgICAgICAgICAgICAgKGNsb3NlIGluKQorICAgICAgICAgICAgICAgICAgICAgICAgIChhbmQg KHplcm8/IChtYXRjaCAod2FpdHBpZCBwaWQpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICgoXyAuIHN0YXR1cykKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIChzdGF0dXM6ZXhpdC12YWwgc3RhdHVzKSkpKQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKGVxPyAjdCByZXN1bHQpKSkpKSkpKQpyZXN1bHQ6IFNLSVAK CnRlc3QtbmFtZTogc2NhbmRpciosIEVOT0VOVApsb2NhdGlvbjogL3RtcC9ndWl4LWJ1aWxkLWd1 aXgtMC4xMy4wLTEyLjBhMTU0YzErLmRydi0wL3NvdXJjZS90ZXN0cy9zeXNjYWxscy5zY206MTky CnNvdXJjZToKKyAodGVzdC1lcXVhbAorICAgInNjYW5kaXIqLCBFTk9FTlQiCisgICBFTk9FTlQK KyAgIChjYXRjaCAnc3lzdGVtLWVycm9yCisgICAgICAgICAgKGxhbWJkYSAoKSAoc2NhbmRpciog Ii9kb2VzL25vdC9leGlzdCIpKQorICAgICAgICAgIChsYW1iZGEgYXJncyAoc3lzdGVtLWVycm9y LWVycm5vIGFyZ3MpKSkpCmV4cGVjdGVkLXZhbHVlOiAyCmFjdHVhbC12YWx1ZTogMgpyZXN1bHQ6 IFBBU1MKCnRlc3QtbmFtZTogc2NhbmRpciosIEFTQ0lJIGZpbGUgbmFtZXMKbG9jYXRpb246IC90 bXAvZ3VpeC1idWlsZC1ndWl4LTAuMTMuMC0xMi4wYTE1NGMxKy5kcnYtMC9zb3VyY2UvdGVzdHMv c3lzY2FsbHMuc2NtOjIwMApzb3VyY2U6CisgKHRlc3QtZXF1YWwKKyAgICJzY2FuZGlyKiwgQVND SUkgZmlsZSBuYW1lcyIKKyAgIChzY2FuZGlyCisgICAgIChkaXJuYW1lCisgICAgICAgKHNlYXJj aC1wYXRoICVsb2FkLXBhdGggImd1aXgvYmFzZTMyLnNjbSIpKQorICAgICAoY29uc3QgI3QpCisg ICAgIHN0cmluZzw/KQorICAgKG1hdGNoIChzY2FuZGlyKgorICAgICAgICAgICAgKGRpcm5hbWUK KyAgICAgICAgICAgICAgKHNlYXJjaC1wYXRoICVsb2FkLXBhdGggImd1aXgvYmFzZTMyLnNjbSIp KSkKKyAgICAgICAgICAoKChuYW1lcyAuIHByb3BlcnRpZXMpIC4uLikgbmFtZXMpKSkKZXhwZWN0 ZWQtdmFsdWU6ICgiLiIgIi4uIiAiYmFzZTE2LmdvIiAiYmFzZTE2LnNjbSIgImJhc2UzMi5nbyIg ImJhc2UzMi5zY20iICJiYXNlNjQuZ28iICJiYXNlNjQuc2NtIiAiYnVpbGQiICJidWlsZC1zeXN0 ZW0iICJidWlsZC1zeXN0ZW0uZ28iICJidWlsZC1zeXN0ZW0uc2NtIiAiY2FjaGUuZ28iICJjYWNo ZS5zY20iICJjb21iaW5hdG9ycy5nbyIgImNvbWJpbmF0b3JzLnNjbSIgImNvbmZpZy5nbyIgImNv bmZpZy5zY20iICJjb25maWcuc2NtLmluIiAiY3Bpby5nbyIgImNwaW8uc2NtIiAiY3ZlLmdvIiAi Y3ZlLnNjbSIgImN2cy1kb3dubG9hZC5nbyIgImN2cy1kb3dubG9hZC5zY20iICJkZXJpdmF0aW9u cy5nbyIgImRlcml2YXRpb25zLnNjbSIgImRpc2NvdmVyeS5nbyIgImRpc2NvdmVyeS5zY20iICJk b2NrZXIuZ28iICJkb2NrZXIuc2NtIiAiZG93bmxvYWQuZ28iICJkb3dubG9hZC5zY20iICJlbGYu Z28iICJlbGYuc2NtIiAiZnRwLWNsaWVudC5nbyIgImZ0cC1jbGllbnQuc2NtIiAiZ2NyeXB0Lmdv IiAiZ2NyeXB0LnNjbSIgImdleHAuZ28iICJnZXhwLnNjbSIgImdpdC1kb3dubG9hZC5nbyIgImdp dC1kb3dubG9hZC5zY20iICJnaXQuZ28iICJnaXQuc2NtIiAiZ251LW1haW50ZW5hbmNlLmdvIiAi Z251LW1haW50ZW5hbmNlLnNjbSIgImdudXBnLmdvIiAiZ251cGcuc2NtIiAiZ3JhZnRzLmdvIiAi Z3JhZnRzLnNjbSIgImdyYXBoLmdvIiAiZ3JhcGguc2NtIiAiaGFzaC5nbyIgImhhc2guc2NtIiAi aGctZG93bmxvYWQuZ28iICJoZy1kb3dubG9hZC5zY20iICJodHRwLWNsaWVudC5nbyIgImh0dHAt Y2xpZW50LnNjbSIgImkxOG4uZ28iICJpMThuLnNjbSIgImltcG9ydCIgImxpY2Vuc2VzLmdvIiAi bGljZW5zZXMuc2NtIiAibWVtb2l6YXRpb24uZ28iICJtZW1vaXphdGlvbi5zY20iICJtb2R1bGVz LmdvIiAibW9kdWxlcy5zY20iICJtb25hZC1yZXBsLmdvIiAibW9uYWQtcmVwbC5zY20iICJtb25h ZHMuZ28iICJtb25hZHMuc2NtIiAibmFyLmdvIiAibmFyLnNjbSIgInBhY2thZ2VzLmdvIiAicGFj a2FnZXMuc2NtIiAicGstY3J5cHRvLmdvIiAicGstY3J5cHRvLnNjbSIgInBraS5nbyIgInBraS5z Y20iICJwcm9maWxlcy5nbyIgInByb2ZpbGVzLnNjbSIgInByb2dyZXNzLmdvIiAicHJvZ3Jlc3Mu c2NtIiAicmVjb3Jkcy5nbyIgInJlY29yZHMuc2NtIiAic2NyaXB0cyIgInNjcmlwdHMuZ28iICJz Y3JpcHRzLnNjbSIgInNlYXJjaC1wYXRocy5nbyIgInNlYXJjaC1wYXRocy5zY20iICJzZXJpYWxp emF0aW9uLmdvIiAic2VyaWFsaXphdGlvbi5zY20iICJzZXRzLmdvIiAic2V0cy5zY20iICJzc2gu Z28iICJzc2guc2NtIiAic3RvcmUiICJzdG9yZS5nbyIgInN0b3JlLnNjbSIgInN2bi1kb3dubG9h ZC5nbyIgInN2bi1kb3dubG9hZC5zY20iICJ0ZXN0cyIgInRlc3RzLmdvIiAidGVzdHMuc2NtIiAi dWkuZ28iICJ1aS5zY20iICJ1cHN0cmVhbS5nbyIgInVwc3RyZWFtLnNjbSIgInV0aWxzLmdvIiAi dXRpbHMuc2NtIiAid29ya2Vycy5nbyIgIndvcmtlcnMuc2NtIiAiemxpYi5nbyIgInpsaWIuc2Nt IikKYWN0dWFsLXZhbHVlOiAoIi4iICIuLiIgImJhc2UxNi5nbyIgImJhc2UxNi5zY20iICJiYXNl MzIuZ28iICJiYXNlMzIuc2NtIiAiYmFzZTY0LmdvIiAiYmFzZTY0LnNjbSIgImJ1aWxkIiAiYnVp bGQtc3lzdGVtIiAiYnVpbGQtc3lzdGVtLmdvIiAiYnVpbGQtc3lzdGVtLnNjbSIgImNhY2hlLmdv IiAiY2FjaGUuc2NtIiAiY29tYmluYXRvcnMuZ28iICJjb21iaW5hdG9ycy5zY20iICJjb25maWcu Z28iICJjb25maWcuc2NtIiAiY29uZmlnLnNjbS5pbiIgImNwaW8uZ28iICJjcGlvLnNjbSIgImN2 ZS5nbyIgImN2ZS5zY20iICJjdnMtZG93bmxvYWQuZ28iICJjdnMtZG93bmxvYWQuc2NtIiAiZGVy aXZhdGlvbnMuZ28iICJkZXJpdmF0aW9ucy5zY20iICJkaXNjb3ZlcnkuZ28iICJkaXNjb3Zlcnku c2NtIiAiZG9ja2VyLmdvIiAiZG9ja2VyLnNjbSIgImRvd25sb2FkLmdvIiAiZG93bmxvYWQuc2Nt IiAiZWxmLmdvIiAiZWxmLnNjbSIgImZ0cC1jbGllbnQuZ28iICJmdHAtY2xpZW50LnNjbSIgImdj cnlwdC5nbyIgImdjcnlwdC5zY20iICJnZXhwLmdvIiAiZ2V4cC5zY20iICJnaXQtZG93bmxvYWQu Z28iICJnaXQtZG93bmxvYWQuc2NtIiAiZ2l0LmdvIiAiZ2l0LnNjbSIgImdudS1tYWludGVuYW5j ZS5nbyIgImdudS1tYWludGVuYW5jZS5zY20iICJnbnVwZy5nbyIgImdudXBnLnNjbSIgImdyYWZ0 cy5nbyIgImdyYWZ0cy5zY20iICJncmFwaC5nbyIgImdyYXBoLnNjbSIgImhhc2guZ28iICJoYXNo LnNjbSIgImhnLWRvd25sb2FkLmdvIiAiaGctZG93bmxvYWQuc2NtIiAiaHR0cC1jbGllbnQuZ28i ICJodHRwLWNsaWVudC5zY20iICJpMThuLmdvIiAiaTE4bi5zY20iICJpbXBvcnQiICJsaWNlbnNl cy5nbyIgImxpY2Vuc2VzLnNjbSIgIm1lbW9pemF0aW9uLmdvIiAibWVtb2l6YXRpb24uc2NtIiAi bW9kdWxlcy5nbyIgIm1vZHVsZXMuc2NtIiAibW9uYWQtcmVwbC5nbyIgIm1vbmFkLXJlcGwuc2Nt IiAibW9uYWRzLmdvIiAibW9uYWRzLnNjbSIgIm5hci5nbyIgIm5hci5zY20iICJwYWNrYWdlcy5n byIgInBhY2thZ2VzLnNjbSIgInBrLWNyeXB0by5nbyIgInBrLWNyeXB0by5zY20iICJwa2kuZ28i ICJwa2kuc2NtIiAicHJvZmlsZXMuZ28iICJwcm9maWxlcy5zY20iICJwcm9ncmVzcy5nbyIgInBy b2dyZXNzLnNjbSIgInJlY29yZHMuZ28iICJyZWNvcmRzLnNjbSIgInNjcmlwdHMiICJzY3JpcHRz LmdvIiAic2NyaXB0cy5zY20iICJzZWFyY2gtcGF0aHMuZ28iICJzZWFyY2gtcGF0aHMuc2NtIiAi c2VyaWFsaXphdGlvbi5nbyIgInNlcmlhbGl6YXRpb24uc2NtIiAic2V0cy5nbyIgInNldHMuc2Nt IiAic3NoLmdvIiAic3NoLnNjbSIgInN0b3JlIiAic3RvcmUuZ28iICJzdG9yZS5zY20iICJzdm4t ZG93bmxvYWQuZ28iICJzdm4tZG93bmxvYWQuc2NtIiAidGVzdHMiICJ0ZXN0cy5nbyIgInRlc3Rz LnNjbSIgInVpLmdvIiAidWkuc2NtIiAidXBzdHJlYW0uZ28iICJ1cHN0cmVhbS5zY20iICJ1dGls cy5nbyIgInV0aWxzLnNjbSIgIndvcmtlcnMuZ28iICJ3b3JrZXJzLnNjbSIgInpsaWIuZ28iICJ6 bGliLnNjbSIpCnJlc3VsdDogUEFTUwoKdGVzdC1uYW1lOiBzY2FuZGlyKiwgVVRGLTggZmlsZSBu YW1lcwpsb2NhdGlvbjogL3RtcC9ndWl4LWJ1aWxkLWd1aXgtMC4xMy4wLTEyLjBhMTU0YzErLmRy di0wL3NvdXJjZS90ZXN0cy9zeXNjYWxscy5zY206MjA3CnNvdXJjZToKKyAodGVzdC1lcXVhbAor ICAgInNjYW5kaXIqLCBVVEYtOCBmaWxlIG5hbWVzIgorICAgJygiLiIgIi4uIiAizrEiICLOuyIp CisgICAoY2FsbC13aXRoLXRlbXBvcmFyeS1kaXJlY3RvcnkKKyAgICAgKGxhbWJkYSAoZGlyZWN0 b3J5KQorICAgICAgIChsZXQgKChjcmVhdCAocG9pbnRlci0+cHJvY2VkdXJlCisgICAgICAgICAg ICAgICAgICAgICAgaW50CisgICAgICAgICAgICAgICAgICAgICAgKGR5bmFtaWMtZnVuYyAiY3Jl YXQiIChkeW5hbWljLWxpbmspKQorICAgICAgICAgICAgICAgICAgICAgIChsaXN0ICcqIGludCkp KSkKKyAgICAgICAgIChjcmVhdCAoc3RyaW5nLT5wb2ludGVyCisgICAgICAgICAgICAgICAgICAo c3RyaW5nLWFwcGVuZCBkaXJlY3RvcnkgIi/OsSIpCisgICAgICAgICAgICAgICAgICAiVVRGLTgi KQorICAgICAgICAgICAgICAgIDQyMCkKKyAgICAgICAgIChjcmVhdCAoc3RyaW5nLT5wb2ludGVy CisgICAgICAgICAgICAgICAgICAoc3RyaW5nLWFwcGVuZCBkaXJlY3RvcnkgIi/OuyIpCisgICAg ICAgICAgICAgICAgICAiVVRGLTgiKQorICAgICAgICAgICAgICAgIDQyMCkKKyAgICAgICAgIChs ZXQgKChsb2NhbGUgKHNldGxvY2FsZSBMQ19BTEwpKSkKKyAgICAgICAgICAgKGR5bmFtaWMtd2lu ZAorICAgICAgICAgICAgIChsYW1iZGEgKCkgKHNldGxvY2FsZSBMQ19BTEwgIkMiKSkKKyAgICAg ICAgICAgICAobGFtYmRhICgpCisgICAgICAgICAgICAgICAobWF0Y2ggKHNjYW5kaXIqIGRpcmVj dG9yeSkKKyAgICAgICAgICAgICAgICAgICAgICAoKChuYW1lcyAuIHByb3BlcnRpZXMpIC4uLikg bmFtZXMpKSkKKyAgICAgICAgICAgICAobGFtYmRhICgpIChzZXRsb2NhbGUgTENfQUxMIGxvY2Fs ZSkpKSkpKSkpCmV4cGVjdGVkLXZhbHVlOiAoIi4iICIuLiIgIs6xIiAizrsiKQphY3R1YWwtdmFs dWU6ICgiLiIgIi4uIiAizrEiICLOuyIpCnJlc3VsdDogUEFTUwoKdGVzdC1uYW1lOiBzY2FuZGly KiwgcHJvcGVydGllcwpsb2NhdGlvbjogL3RtcC9ndWl4LWJ1aWxkLWd1aXgtMC4xMy4wLTEyLjBh MTU0YzErLmRydi0wL3NvdXJjZS90ZXN0cy9zeXNjYWxscy5zY206MjM0CnNvdXJjZToKKyAodGVz dC1hc3NlcnQKKyAgICJzY2FuZGlyKiwgcHJvcGVydGllcyIKKyAgIChsZXQgKChkaXJlY3RvcnkK KyAgICAgICAgICAgKGRpcm5hbWUKKyAgICAgICAgICAgICAoc2VhcmNoLXBhdGggJWxvYWQtcGF0 aCAiZ3VpeC9iYXNlMzIuc2NtIikpKSkKKyAgICAgKGV2ZXJ5IChsYW1iZGEgKGVudHJ5IG5hbWUp CisgICAgICAgICAgICAgIChtYXRjaCBlbnRyeQorICAgICAgICAgICAgICAgICAgICAgKChuYW1l MiAuIHByb3BlcnRpZXMpCisgICAgICAgICAgICAgICAgICAgICAgKGFuZCAoc3RyaW5nPT8gbmFt ZTIgbmFtZSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIChsZXQqICgoZnVsbCAoc3RyaW5n LWFwcGVuZCBkaXJlY3RvcnkgIi8iIG5hbWUpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIChzdGF0IChsc3RhdCBmdWxsKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAoaW5vZGUgKGFzc29jLXJlZiBwcm9wZXJ0aWVzICdpbm9kZSkpCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKHR5cGUgKGFzc29jLXJlZiBwcm9wZXJ0aWVzICd0eXBlKSkp CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhbmQgKD0gaW5vZGUgKHN0YXQ6aW5vIHN0 YXQpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvciAoZXE/IHR5cGUgJ3Vu a25vd24pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChlcT8gdHlwZSAo c3RhdDp0eXBlIHN0YXQpKSkpKSkpKSkKKyAgICAgICAgICAgIChzY2FuZGlyKiBkaXJlY3Rvcnkp CisgICAgICAgICAgICAoc2NhbmRpciBkaXJlY3RvcnkgKGNvbnN0ICN0KSBzdHJpbmc8PykpKSkK YWN0dWFsLXZhbHVlOiAjdApyZXN1bHQ6IFBBU1MKCnRlc3QtbmFtZTogZmNudGwtZmxvY2sgd2Fp dApsb2NhdGlvbjogL3RtcC9ndWl4LWJ1aWxkLWd1aXgtMC4xMy4wLTEyLjBhMTU0YzErLmRydi0w L3NvdXJjZS90ZXN0cy9zeXNjYWxscy5zY206MjUxCnNvdXJjZToKKyAodGVzdC1lcXVhbAorICAg ImZjbnRsLWZsb2NrIHdhaXQiCisgICA0MgorICAgKGxldCAoKGZpbGUgKG9wZW4tZmlsZSB0ZW1w LWZpbGUgIncwYiIpKSkKKyAgICAgKGZjbnRsLWZsb2NrIGZpbGUgJ3dyaXRlLWxvY2spCisgICAg IChtYXRjaCAocHJpbWl0aXZlLWZvcmspCisgICAgICAgICAgICAoMAorICAgICAgICAgICAgIChk eW5hbWljLXdpbmQKKyAgICAgICAgICAgICAgIChjb25zdCAjdCkKKyAgICAgICAgICAgICAgIChs YW1iZGEgKCkKKyAgICAgICAgICAgICAgICAgKGxldCAoKGZpbGUgKG9wZW4tZmlsZSB0ZW1wLWZp bGUgInIwYiIpKSkKKyAgICAgICAgICAgICAgICAgICAoZmNudGwtZmxvY2sgZmlsZSAncmVhZC1s b2NrKQorICAgICAgICAgICAgICAgICAgIChwcmltaXRpdmUtZXhpdCAocmVhZCBmaWxlKSkpCisg ICAgICAgICAgICAgICAgIChwcmltaXRpdmUtZXhpdCAxKSkKKyAgICAgICAgICAgICAgIChsYW1i ZGEgKCkgKHByaW1pdGl2ZS1leGl0IDIpKSkpCisgICAgICAgICAgICAocGlkIChkaXNwbGF5ICJo ZWxsbywgd29ybGQhIiBmaWxlKQorICAgICAgICAgICAgICAgICAoZm9yY2Utb3V0cHV0IGZpbGUp CisgICAgICAgICAgICAgICAgIChzbGVlcCAxKQorICAgICAgICAgICAgICAgICAoc2VlayBmaWxl IDAgU0VFS19TRVQpCisgICAgICAgICAgICAgICAgICh0cnVuY2F0ZS1maWxlIGZpbGUgMCkKKyAg ICAgICAgICAgICAgICAgKHdyaXRlIDQyIGZpbGUpCisgICAgICAgICAgICAgICAgIChmb3JjZS1v dXRwdXQgZmlsZSkKKyAgICAgICAgICAgICAgICAgKGZjbnRsLWZsb2NrIGZpbGUgJ3VubG9jaykK KyAgICAgICAgICAgICAgICAgKG1hdGNoICh3YWl0cGlkIHBpZCkKKyAgICAgICAgICAgICAgICAg ICAgICAgICgoXyAuIHN0YXR1cykKKyAgICAgICAgICAgICAgICAgICAgICAgICAobGV0ICgocmVz dWx0IChzdGF0dXM6ZXhpdC12YWwgc3RhdHVzKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAoY2xvc2UtcG9ydCBmaWxlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0KSkp KSkpKQorICAgICAgICAgICAgICAgICAobWF0Y2ggKHdhaXRwaWQgcGlkKQorICAgICAgICAgICAg ICAgICAgICAgICAgKChfIC4gc3RhdHVzKQorICAgICAgICAgICAgICAgICAgICAgICAgIChsZXQg KChyZXN1bHQgKHN0YXR1czpleGl0LXZhbCBzdGF0dXMpKSkKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgIChjbG9zZS1wb3J0IGZpbGUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1 bHQpKSkpKSkpCmV4cGVjdGVkLXZhbHVlOiA0MgphY3R1YWwtdmFsdWU6IDQyCnJlc3VsdDogUEFT UwoKdGVzdC1uYW1lOiBmY250bC1mbG9jayBub24tYmxvY2tpbmcKbG9jYXRpb246IC90bXAvZ3Vp eC1idWlsZC1ndWl4LTAuMTMuMC0xMi4wYTE1NGMxKy5kcnYtMC9zb3VyY2UvdGVzdHMvc3lzY2Fs bHMuc2NtOjI5MApzb3VyY2U6CisgKHRlc3QtZXF1YWwKKyAgICJmY250bC1mbG9jayBub24tYmxv Y2tpbmciCisgICBFQUdBSU4KKyAgIChtYXRjaCAocGlwZSkKKyAgICAgICAgICAoKGlucHV0IC4g b3V0cHV0KQorICAgICAgICAgICAobWF0Y2ggKHByaW1pdGl2ZS1mb3JrKQorICAgICAgICAgICAg ICAgICAgKDAKKyAgICAgICAgICAgICAgICAgICAoZHluYW1pYy13aW5kCisgICAgICAgICAgICAg ICAgICAgICAoY29uc3QgI3QpCisgICAgICAgICAgICAgICAgICAgICAobGFtYmRhICgpCisgICAg ICAgICAgICAgICAgICAgICAgIChjbG9zZS1wb3J0IG91dHB1dCkKKyAgICAgICAgICAgICAgICAg ICAgICAgKHJlYWQtY2hhciBpbnB1dCkKKyAgICAgICAgICAgICAgICAgICAgICAgKGxldCAoKGZp bGUgKG9wZW4tZmlsZSB0ZW1wLWZpbGUgIncwIikpKQorICAgICAgICAgICAgICAgICAgICAgICAg IChjYXRjaCAnZmxvY2stZXJyb3IKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxh bWJkYSAoKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChmY250bC1mbG9jayBm aWxlICd3cml0ZS1sb2NrICM6d2FpdD8gI2YpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAobGFtYmRhIChrZXkgZXJybm8pCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKHByaW1pdGl2ZS1leGl0IChwayAnZXJybm8gZXJybm8pKSkpKQorICAgICAgICAgICAgICAg ICAgICAgICAocHJpbWl0aXZlLWV4aXQgLTEpKQorICAgICAgICAgICAgICAgICAgICAgKGxhbWJk YSAoKSAocHJpbWl0aXZlLWV4aXQgLTIpKSkpCisgICAgICAgICAgICAgICAgICAocGlkIChjbG9z ZS1wb3J0IGlucHV0KQorICAgICAgICAgICAgICAgICAgICAgICAobGV0ICgoZmlsZSAob3Blbi1m aWxlIHRlbXAtZmlsZSAidzAiKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgKGZjbnRsLWZs b2NrIGZpbGUgJ3dyaXRlLWxvY2spCisgICAgICAgICAgICAgICAgICAgICAgICAgKHdyaXRlICdn cmVlbi1saWdodCBvdXRwdXQpCisgICAgICAgICAgICAgICAgICAgICAgICAgKGZvcmNlLW91dHB1 dCBvdXRwdXQpCisgICAgICAgICAgICAgICAgICAgICAgICAgKG1hdGNoICh3YWl0cGlkIHBpZCkK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKChfIC4gc3RhdHVzKQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKGxldCAoKHJlc3VsdCAoc3RhdHVzOmV4aXQtdmFsIHN0 YXR1cykpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZmNudGwtZmxvY2sg ZmlsZSAndW5sb2NrKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xvc2Ut cG9ydCBmaWxlKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQpKSkp KSkpKSkKCjs7OyAoZXJybm8gMTEpCisgICAgICAgICAgICAgICAgIChtYXRjaCAod2FpdHBpZCBw aWQpCisgICAgICAgICAgICAgICAgICAgICAgICAoKF8gLiBzdGF0dXMpCisgICAgICAgICAgICAg ICAgICAgICAgICAgKGxldCAoKHJlc3VsdCAoc3RhdHVzOmV4aXQtdmFsIHN0YXR1cykpKQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgKGNsb3NlLXBvcnQgZmlsZSkKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgIHJlc3VsdCkpKSkpKSkKZXhwZWN0ZWQtdmFsdWU6IDQyCmFjdHVhbC12YWx1 ZTogNDIKcmVzdWx0OiBQQVNTCgp0ZXN0LW5hbWU6IGZjbnRsLWZsb2NrIG5vbi1ibG9ja2luZwps b2NhdGlvbjogL3RtcC9ndWl4LWJ1aWxkLWd1aXgtMC4xMy4wLTEyLjBhMTU0YzErLmRydi0wL3Nv dXJjZS90ZXN0cy9zeXNjYWxscy5zY206MjkwCnNvdXJjZToKKyAodGVzdC1lcXVhbAorICAgImZj bnRsLWZsb2NrIG5vbi1ibG9ja2luZyIKKyAgIEVBR0FJTgorICAgKG1hdGNoIChwaXBlKQorICAg ICAgICAgICgoaW5wdXQgLiBvdXRwdXQpCisgICAgICAgICAgIChtYXRjaCAocHJpbWl0aXZlLWZv cmspCisgICAgICAgICAgICAgICAgICAoMAorICAgICAgICAgICAgICAgICAgIChkeW5hbWljLXdp bmQKKyAgICAgICAgICAgICAgICAgICAgIChjb25zdCAjdCkKKyAgICAgICAgICAgICAgICAgICAg IChsYW1iZGEgKCkKKyAgICAgICAgICAgICAgICAgICAgICAgKGNsb3NlLXBvcnQgb3V0cHV0KQor ICAgICAgICAgICAgICAgICAgICAgICAocmVhZC1jaGFyIGlucHV0KQorICAgICAgICAgICAgICAg ICAgICAgICAobGV0ICgoZmlsZSAob3Blbi1maWxlIHRlbXAtZmlsZSAidzAiKSkpCisgICAgICAg ICAgICAgICAgICAgICAgICAgKGNhdGNoICdmbG9jay1lcnJvcgorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAobGFtYmRhICgpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKGZjbnRsLWZsb2NrIGZpbGUgJ3dyaXRlLWxvY2sgIzp3YWl0PyAjZikpCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIChsYW1iZGEgKGtleSBlcnJubykKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAocHJpbWl0aXZlLWV4aXQgKHBrICdlcnJubyBlcnJubykpKSkp CisgICAgICAgICAgICAgICAgICAgICAgIChwcmltaXRpdmUtZXhpdCAtMSkpCisgICAgICAgICAg ICAgICAgICAgICAobGFtYmRhICgpIChwcmltaXRpdmUtZXhpdCAtMikpKSkKKyAgICAgICAgICAg ICAgICAgIChwaWQgKGNsb3NlLXBvcnQgaW5wdXQpCisgICAgICAgICAgICAgICAgICAgICAgIChs ZXQgKChmaWxlIChvcGVuLWZpbGUgdGVtcC1maWxlICJ3MCIpKSkKKyAgICAgICAgICAgICAgICAg ICAgICAgICAoZmNudGwtZmxvY2sgZmlsZSAnd3JpdGUtbG9jaykKKyAgICAgICAgICAgICAgICAg ICAgICAgICAod3JpdGUgJ2dyZWVuLWxpZ2h0IG91dHB1dCkKKyAgICAgICAgICAgICAgICAgICAg ICAgICAoZm9yY2Utb3V0cHV0IG91dHB1dCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAobWF0 Y2ggKHdhaXRwaWQgcGlkKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoKF8gLiBz dGF0dXMpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobGV0ICgocmVzdWx0IChz dGF0dXM6ZXhpdC12YWwgc3RhdHVzKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIChmY250bC1mbG9jayBmaWxlICd1bmxvY2spCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIChjbG9zZS1wb3J0IGZpbGUpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHJlc3VsdCkpKSkpKSkpKQpleHBlY3RlZC12YWx1ZTogMTEKYWN0dWFsLXZhbHVlOiAx MQpyZXN1bHQ6IFBBU1MKCnRlc3QtbmFtZTogc2V0LXRocmVhZC1uYW1lCmxvY2F0aW9uOiAvdG1w L2d1aXgtYnVpbGQtZ3VpeC0wLjEzLjAtMTIuMGExNTRjMSsuZHJ2LTAvc291cmNlL3Rlc3RzL3N5 c2NhbGxzLnNjbTozMzIKc291cmNlOgorICh0ZXN0LWVxdWFsCisgICAic2V0LXRocmVhZC1uYW1l IgorICAgIlN5c2NhbGwgVGVzdCIKKyAgIChsZXQgKChuYW1lICh0aHJlYWQtbmFtZSkpKQorICAg ICAoc2V0LXRocmVhZC1uYW1lICJTeXNjYWxsIFRlc3QiKQorICAgICAobGV0ICgobmV3LW5hbWUg KHRocmVhZC1uYW1lKSkpCisgICAgICAgKHNldC10aHJlYWQtbmFtZSBuYW1lKQorICAgICAgIG5l dy1uYW1lKSkpCmV4cGVjdGVkLXZhbHVlOiAiU3lzY2FsbCBUZXN0IgphY3R1YWwtdmFsdWU6ICJT eXNjYWxsIFRlc3QiCnJlc3VsdDogUEFTUwoKdGVzdC1uYW1lOiBhbGwtbmV0d29yay1pbnRlcmZh Y2UtbmFtZXMKbG9jYXRpb246IC90bXAvZ3VpeC1idWlsZC1ndWl4LTAuMTMuMC0xMi4wYTE1NGMx Ky5kcnYtMC9zb3VyY2UvdGVzdHMvc3lzY2FsbHMuc2NtOjM0MApzb3VyY2U6CisgKHRlc3QtYXNz ZXJ0CisgICAiYWxsLW5ldHdvcmstaW50ZXJmYWNlLW5hbWVzIgorICAgKG1hdGNoIChhbGwtbmV0 d29yay1pbnRlcmZhY2UtbmFtZXMpCisgICAgICAgICAgKCgoPyBzdHJpbmc/IG5hbWVzKSAuLjEp IChtZW1iZXIgImxvIiBuYW1lcykpKSkKYWN0dWFsLXZhbHVlOiAoImxvIikKcmVzdWx0OiBQQVNT Cgp0ZXN0LW5hbWU6IG5ldHdvcmstaW50ZXJmYWNlLW5hbWVzCmxvY2F0aW9uOiAvdG1wL2d1aXgt YnVpbGQtZ3VpeC0wLjEzLjAtMTIuMGExNTRjMSsuZHJ2LTAvc291cmNlL3Rlc3RzL3N5c2NhbGxz LnNjbTozNDUKc291cmNlOgorICh0ZXN0LWFzc2VydAorICAgIm5ldHdvcmstaW50ZXJmYWNlLW5h bWVzIgorICAgKG1hdGNoIChuZXR3b3JrLWludGVyZmFjZS1uYW1lcykKKyAgICAgICAgICAoKCg/ IHN0cmluZz8gbmFtZXMpIC4uMSkKKyAgICAgICAgICAgKGxzZXQ8PQorICAgICAgICAgICAgIHN0 cmluZz0/CisgICAgICAgICAgICAgbmFtZXMKKyAgICAgICAgICAgICAoYWxsLW5ldHdvcmstaW50 ZXJmYWNlLW5hbWVzKSkpKSkKYWN0dWFsLXZhbHVlOiAjdApyZXN1bHQ6IFBBU1MKCnRlc3QtbmFt ZTogbmV0d29yay1pbnRlcmZhY2UtZmxhZ3MKbG9jYXRpb246IC90bXAvZ3VpeC1idWlsZC1ndWl4 LTAuMTMuMC0xMi4wYTE1NGMxKy5kcnYtMC9zb3VyY2UvdGVzdHMvc3lzY2FsbHMuc2NtOjM1MApz b3VyY2U6CisgKHRlc3QtYXNzZXJ0CisgICAibmV0d29yay1pbnRlcmZhY2UtZmxhZ3MiCisgICAo bGV0KiAoKHNvY2sgKHNvY2tldCBBRl9JTkVUIFNPQ0tfU1RSRUFNIDApKQorICAgICAgICAgIChm bGFncyAobmV0d29yay1pbnRlcmZhY2UtZmxhZ3Mgc29jayAibG8iKSkpCisgICAgIChjbG9zZS1w b3J0IHNvY2spCisgICAgIChhbmQgKG5vdCAoemVybz8gKGxvZ2FuZCBmbGFncyBJRkZfTE9PUEJB Q0spKSkKKyAgICAgICAgICAobm90ICh6ZXJvPyAobG9nYW5kIGZsYWdzIElGRl9VUCkpKSkpKQph Y3R1YWwtdmFsdWU6ICN0CnJlc3VsdDogUEFTUwoKdGVzdC1uYW1lOiBsb29wYmFjay1uZXR3b3Jr LWludGVyZmFjZT8KbG9jYXRpb246IC90bXAvZ3VpeC1idWlsZC1ndWl4LTAuMTMuMC0xMi4wYTE1 NGMxKy5kcnYtMC9zb3VyY2UvdGVzdHMvc3lzY2FsbHMuc2NtOjM1Nwpzb3VyY2U6CisgKHRlc3Qt ZXF1YWwKKyAgICJsb29wYmFjay1uZXR3b3JrLWludGVyZmFjZT8iCisgICBFTk9ERVYKKyAgIChh bmQgKGxvb3BiYWNrLW5ldHdvcmstaW50ZXJmYWNlPyAibG8iKQorICAgICAgICAoY2F0Y2ggJ3N5 c3RlbS1lcnJvcgorICAgICAgICAgICAgICAgKGxhbWJkYSAoKQorICAgICAgICAgICAgICAgICAo bG9vcGJhY2stbmV0d29yay1pbnRlcmZhY2U/ICJub25leGlzdGVudCIpCisgICAgICAgICAgICAg ICAgICNmKQorICAgICAgICAgICAgICAgKGxhbWJkYSBhcmdzIChzeXN0ZW0tZXJyb3ItZXJybm8g YXJncykpKSkpCmV4cGVjdGVkLXZhbHVlOiAxOQphY3R1YWwtdmFsdWU6IDE5CnJlc3VsdDogUEFT UwoKdGVzdC1uYW1lOiBsb29wYmFjay1uZXR3b3JrLWludGVyZmFjZS1ydW5uaW5nPwpsb2NhdGlv bjogL3RtcC9ndWl4LWJ1aWxkLWd1aXgtMC4xMy4wLTEyLjBhMTU0YzErLmRydi0wL3NvdXJjZS90 ZXN0cy9zeXNjYWxscy5zY206MzY3CnNvdXJjZToKKyAodGVzdC1lcXVhbAorICAgImxvb3BiYWNr LW5ldHdvcmstaW50ZXJmYWNlLXJ1bm5pbmc/IgorICAgRU5PREVWCisgICAoYW5kIChuZXR3b3Jr LWludGVyZmFjZS1ydW5uaW5nPyAibG8iKQorICAgICAgICAoY2F0Y2ggJ3N5c3RlbS1lcnJvcgor ICAgICAgICAgICAgICAgKGxhbWJkYSAoKQorICAgICAgICAgICAgICAgICAobmV0d29yay1pbnRl cmZhY2UtcnVubmluZz8gIm5vbmV4aXN0ZW50IikKKyAgICAgICAgICAgICAgICAgI2YpCisgICAg ICAgICAgICAgICAobGFtYmRhIGFyZ3MgKHN5c3RlbS1lcnJvci1lcnJubyBhcmdzKSkpKSkKZXhw ZWN0ZWQtdmFsdWU6IDE5CmFjdHVhbC12YWx1ZTogMTkKcmVzdWx0OiBQQVNTCgp0ZXN0LW5hbWU6 IHNldC1uZXR3b3JrLWludGVyZmFjZS1mbGFncwpsb2NhdGlvbjogL3RtcC9ndWl4LWJ1aWxkLWd1 aXgtMC4xMy4wLTEyLjBhMTU0YzErLmRydi0wL3NvdXJjZS90ZXN0cy9zeXNjYWxscy5zY206Mzc4 CnNvdXJjZToKKyAodGVzdC1hc3NlcnQKKyAgICJzZXQtbmV0d29yay1pbnRlcmZhY2UtZmxhZ3Mi CisgICAobGV0ICgoc29jayAoc29ja2V0IEFGX0lORVQgU09DS19TVFJFQU0gMCkpKQorICAgICAo Y2F0Y2ggJ3N5c3RlbS1lcnJvcgorICAgICAgICAgICAgKGxhbWJkYSAoKQorICAgICAgICAgICAg ICAoc2V0LW5ldHdvcmstaW50ZXJmYWNlLWZsYWdzIHNvY2sgImxvIiBJRkZfVVApKQorICAgICAg ICAgICAgKGxhbWJkYSBhcmdzCisgICAgICAgICAgICAgIChjbG9zZS1wb3J0IHNvY2spCisgICAg ICAgICAgICAgIChtZW12IChzeXN0ZW0tZXJyb3ItZXJybm8gYXJncykKKyAgICAgICAgICAgICAg ICAgICAgKGxpc3QgRVBFUk0gRUFDQ0VTKSkpKSkpCmFjdHVhbC12YWx1ZTogKDEgMTMpCnJlc3Vs dDogUEFTUwoKdGVzdC1uYW1lOiBuZXR3b3JrLWludGVyZmFjZS1hZGRyZXNzIGxvCmxvY2F0aW9u OiAvdG1wL2d1aXgtYnVpbGQtZ3VpeC0wLjEzLjAtMTIuMGExNTRjMSsuZHJ2LTAvc291cmNlL3Rl c3RzL3N5c2NhbGxzLnNjbTozODgKc291cmNlOgorICh0ZXN0LWVxdWFsCisgICAibmV0d29yay1p bnRlcmZhY2UtYWRkcmVzcyBsbyIKKyAgIChtYWtlLXNvY2tldC1hZGRyZXNzCisgICAgIEFGX0lO RVQKKyAgICAgKGluZXQtcHRvbiBBRl9JTkVUICIxMjcuMC4wLjEiKQorICAgICAwKQorICAgKGxl dCogKChzb2NrIChzb2NrZXQgQUZfSU5FVCBTT0NLX1NUUkVBTSAwKSkKKyAgICAgICAgICAoYWRk ciAobmV0d29yay1pbnRlcmZhY2UtYWRkcmVzcyBzb2NrICJsbyIpKSkKKyAgICAgKGNsb3NlLXBv cnQgc29jaykKKyAgICAgYWRkcikpCmV4cGVjdGVkLXZhbHVlOiAjKDIgMjEzMDcwNjQzMyAwKQph Y3R1YWwtdmFsdWU6ICMoMiAyMTMwNzA2NDMzIDApCnJlc3VsdDogUEFTUwoKdGVzdC1uYW1lOiBz ZXQtbmV0d29yay1pbnRlcmZhY2UtYWRkcmVzcwpsb2NhdGlvbjogL3RtcC9ndWl4LWJ1aWxkLWd1 aXgtMC4xMy4wLTEyLjBhMTU0YzErLmRydi0wL3NvdXJjZS90ZXN0cy9zeXNjYWxscy5zY206Mzk2 CnNvdXJjZToKKyAodGVzdC1hc3NlcnQKKyAgICJzZXQtbmV0d29yay1pbnRlcmZhY2UtYWRkcmVz cyIKKyAgIChsZXQgKChzb2NrIChzb2NrZXQgQUZfSU5FVCBTT0NLX1NUUkVBTSAwKSkpCisgICAg IChjYXRjaCAnc3lzdGVtLWVycm9yCisgICAgICAgICAgICAobGFtYmRhICgpCisgICAgICAgICAg ICAgIChzZXQtbmV0d29yay1pbnRlcmZhY2UtYWRkcmVzcworICAgICAgICAgICAgICAgIHNvY2sK KyAgICAgICAgICAgICAgICAibm9uZXhpc3RlbnQiCisgICAgICAgICAgICAgICAgKG1ha2Utc29j a2V0LWFkZHJlc3MKKyAgICAgICAgICAgICAgICAgIEFGX0lORVQKKyAgICAgICAgICAgICAgICAg IChpbmV0LXB0b24gQUZfSU5FVCAiMTI3LjEyLjE0LjE1IikKKyAgICAgICAgICAgICAgICAgIDAp KSkKKyAgICAgICAgICAgIChsYW1iZGEgYXJncworICAgICAgICAgICAgICAoY2xvc2UtcG9ydCBz b2NrKQorICAgICAgICAgICAgICAobWVtdiAoc3lzdGVtLWVycm9yLWVycm5vIGFyZ3MpCisgICAg ICAgICAgICAgICAgICAgIChsaXN0IEVQRVJNIEVBQ0NFUykpKSkpKQphY3R1YWwtdmFsdWU6ICgx IDEzKQpyZXN1bHQ6IFBBU1MKCnRlc3QtbmFtZTogbmV0d29yay1pbnRlcmZhY2UtbmV0bWFzayBs bwpsb2NhdGlvbjogL3RtcC9ndWl4LWJ1aWxkLWd1aXgtMC4xMy4wLTEyLjBhMTU0YzErLmRydi0w L3NvdXJjZS90ZXN0cy9zeXNjYWxscy5zY206NDEwCnNvdXJjZToKKyAodGVzdC1lcXVhbAorICAg Im5ldHdvcmstaW50ZXJmYWNlLW5ldG1hc2sgbG8iCisgICAobWFrZS1zb2NrZXQtYWRkcmVzcwor ICAgICBBRl9JTkVUCisgICAgIChpbmV0LXB0b24gQUZfSU5FVCAiMjU1LjAuMC4wIikKKyAgICAg MCkKKyAgIChsZXQqICgoc29jayAoc29ja2V0IEFGX0lORVQgU09DS19TVFJFQU0gMCkpCisgICAg ICAgICAgKGFkZHIgKG5ldHdvcmstaW50ZXJmYWNlLW5ldG1hc2sgc29jayAibG8iKSkpCisgICAg IChjbG9zZS1wb3J0IHNvY2spCisgICAgIGFkZHIpKQpleHBlY3RlZC12YWx1ZTogIygyIDQyNzgx OTAwODAgMCkKYWN0dWFsLXZhbHVlOiAjKDIgNDI3ODE5MDA4MCAwKQpyZXN1bHQ6IFBBU1MKCnRl c3QtbmFtZTogc2V0LW5ldHdvcmstaW50ZXJmYWNlLW5ldG1hc2sKbG9jYXRpb246IC90bXAvZ3Vp eC1idWlsZC1ndWl4LTAuMTMuMC0xMi4wYTE1NGMxKy5kcnYtMC9zb3VyY2UvdGVzdHMvc3lzY2Fs bHMuc2NtOjQxOApzb3VyY2U6CisgKHRlc3QtYXNzZXJ0CisgICAic2V0LW5ldHdvcmstaW50ZXJm YWNlLW5ldG1hc2siCisgICAobGV0ICgoc29jayAoc29ja2V0IEFGX0lORVQgU09DS19TVFJFQU0g MCkpKQorICAgICAoY2F0Y2ggJ3N5c3RlbS1lcnJvcgorICAgICAgICAgICAgKGxhbWJkYSAoKQor ICAgICAgICAgICAgICAoc2V0LW5ldHdvcmstaW50ZXJmYWNlLW5ldG1hc2sKKyAgICAgICAgICAg ICAgICBzb2NrCisgICAgICAgICAgICAgICAgIm5vbmV4aXN0ZW50IgorICAgICAgICAgICAgICAg IChtYWtlLXNvY2tldC1hZGRyZXNzCisgICAgICAgICAgICAgICAgICBBRl9JTkVUCisgICAgICAg ICAgICAgICAgICAoaW5ldC1wdG9uIEFGX0lORVQgIjI1NS4wLjAuMCIpCisgICAgICAgICAgICAg ICAgICAwKSkpCisgICAgICAgICAgICAobGFtYmRhIGFyZ3MKKyAgICAgICAgICAgICAgKGNsb3Nl LXBvcnQgc29jaykKKyAgICAgICAgICAgICAgKG1lbXYgKHN5c3RlbS1lcnJvci1lcnJubyBhcmdz KQorICAgICAgICAgICAgICAgICAgICAobGlzdCBFUEVSTSBFQUNDRVMpKSkpKSkKYWN0dWFsLXZh bHVlOiAoMSAxMykKcmVzdWx0OiBQQVNTCgp0ZXN0LW5hbWU6IG5ldHdvcmstaW50ZXJmYWNlcyBy ZXR1cm5zIG9uZSBvciBtb3JlIGludGVyZmFjZXMKbG9jYXRpb246IC90bXAvZ3VpeC1idWlsZC1n dWl4LTAuMTMuMC0xMi4wYTE1NGMxKy5kcnYtMC9zb3VyY2UvdGVzdHMvc3lzY2FsbHMuc2NtOjQz MQpzb3VyY2U6CisgKHRlc3QtZXF1YWwKKyAgICJuZXR3b3JrLWludGVyZmFjZXMgcmV0dXJucyBv bmUgb3IgbW9yZSBpbnRlcmZhY2VzIgorICAgJygjdCAjdCAjdCkKKyAgIChtYXRjaCAobmV0d29y ay1pbnRlcmZhY2VzKQorICAgICAgICAgICgoaW50ZXJmYWNlcyAuLjEpCisgICAgICAgICAgIChs aXN0IChldmVyeSBpbnRlcmZhY2U/IGludGVyZmFjZXMpCisgICAgICAgICAgICAgICAgIChldmVy eSBzdHJpbmc/IChtYXAgaW50ZXJmYWNlLW5hbWUgaW50ZXJmYWNlcykpCisgICAgICAgICAgICAg ICAgIChldmVyeSAobGFtYmRhIChzb2NrYWRkcikKKyAgICAgICAgICAgICAgICAgICAgICAgICAg KG9yICh2ZWN0b3I/IHNvY2thZGRyKSAobm90IHNvY2thZGRyKSkpCisgICAgICAgICAgICAgICAg ICAgICAgICAobWFwIGludGVyZmFjZS1hZGRyZXNzIGludGVyZmFjZXMpKSkpKSkKZXhwZWN0ZWQt dmFsdWU6ICgjdCAjdCAjdCkKYWN0dWFsLXZhbHVlOiAoI3QgI3QgI3QpCnJlc3VsdDogUEFTUwoK dGVzdC1uYW1lOiBuZXR3b3JrLWludGVyZmFjZXMgcmV0dXJucyAibG8iCmxvY2F0aW9uOiAvdG1w L2d1aXgtYnVpbGQtZ3VpeC0wLjEzLjAtMTIuMGExNTRjMSsuZHJ2LTAvc291cmNlL3Rlc3RzL3N5 c2NhbGxzLnNjbTo0NDMKc291cmNlOgorICh0ZXN0LWVxdWFsCisgICAibmV0d29yay1pbnRlcmZh Y2VzIHJldHVybnMgXCJsb1wiIgorICAgKGxpc3QgI3QKKyAgICAgICAgIChtYWtlLXNvY2tldC1h ZGRyZXNzCisgICAgICAgICAgIEFGX0lORVQKKyAgICAgICAgICAgKGluZXQtcHRvbiBBRl9JTkVU ICIxMjcuMC4wLjEiKQorICAgICAgICAgICAwKSkKKyAgIChtYXRjaCAoZmlsdGVyCisgICAgICAg ICAgICAobGFtYmRhIChpbnRlcmZhY2UpCisgICAgICAgICAgICAgIChzdHJpbmc9PyAibG8iIChp bnRlcmZhY2UtbmFtZSBpbnRlcmZhY2UpKSkKKyAgICAgICAgICAgIChuZXR3b3JrLWludGVyZmFj ZXMpKQorICAgICAgICAgICgobG9vcGJhY2tzIC4uMSkKKyAgICAgICAgICAgKGxpc3QgKGV2ZXJ5 IChsYW1iZGEgKGxvKQorICAgICAgICAgICAgICAgICAgICAgICAgICAobm90ICh6ZXJvPyAobG9n YW5kCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSUZGX0xPT1BCQUNL CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGludGVyZmFjZS1mbGFn cyBsbykpKSkpCisgICAgICAgICAgICAgICAgICAgICAgICBsb29wYmFja3MpCisgICAgICAgICAg ICAgICAgIChtYXRjaCAoZmluZCAobGFtYmRhIChsbykKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKD0gQUZfSU5FVAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo c29ja2FkZHI6ZmFtIChpbnRlcmZhY2UtYWRkcmVzcyBsbykpKSkKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGxvb3BiYWNrcykKKyAgICAgICAgICAgICAgICAgICAgICAgICgjZiAjZikK KyAgICAgICAgICAgICAgICAgICAgICAgIChsbyAoaW50ZXJmYWNlLWFkZHJlc3MgbG8pKSkpKSkp CmV4cGVjdGVkLXZhbHVlOiAoI3QgIygyIDIxMzA3MDY0MzMgMCkpCmFjdHVhbC12YWx1ZTogKCN0 ICMoMiAyMTMwNzA2NDMzIDApKQpyZXN1bHQ6IFBBU1MKCnRlc3QtbmFtZTogYWRkLW5ldHdvcmst cm91dGUvZ2F0ZXdheQpsb2NhdGlvbjogL3RtcC9ndWl4LWJ1aWxkLWd1aXgtMC4xMy4wLTEyLjBh MTU0YzErLmRydi0wL3NvdXJjZS90ZXN0cy9zeXNjYWxscy5zY206NDU5CnNvdXJjZToKKyAodGVz dC1hc3NlcnQKKyAgICJhZGQtbmV0d29yay1yb3V0ZS9nYXRld2F5IgorICAgKGxldCAoKHNvY2sg KHNvY2tldCBBRl9JTkVUIFNPQ0tfU1RSRUFNIDApKQorICAgICAgICAgKGdhdGV3YXkKKyAgICAg ICAgICAgKG1ha2Utc29ja2V0LWFkZHJlc3MKKyAgICAgICAgICAgICBBRl9JTkVUCisgICAgICAg ICAgICAgKGluZXQtcHRvbiBBRl9JTkVUICIxOTIuMTY4LjAuMSIpCisgICAgICAgICAgICAgMCkp KQorICAgICAoY2F0Y2ggJ3N5c3RlbS1lcnJvcgorICAgICAgICAgICAgKGxhbWJkYSAoKQorICAg ICAgICAgICAgICAoYWRkLW5ldHdvcmstcm91dGUvZ2F0ZXdheSBzb2NrIGdhdGV3YXkpKQorICAg ICAgICAgICAgKGxhbWJkYSBhcmdzCisgICAgICAgICAgICAgIChjbG9zZS1wb3J0IHNvY2spCisg ICAgICAgICAgICAgIChtZW12IChzeXN0ZW0tZXJyb3ItZXJybm8gYXJncykKKyAgICAgICAgICAg ICAgICAgICAgKGxpc3QgRVBFUk0gRUFDQ0VTKSkpKSkpCmFjdHVhbC12YWx1ZTogKDEgMTMpCnJl c3VsdDogUEFTUwoKdGVzdC1uYW1lOiBkZWxldGUtbmV0d29yay1yb3V0ZQpsb2NhdGlvbjogL3Rt cC9ndWl4LWJ1aWxkLWd1aXgtMC4xMy4wLTEyLjBhMTU0YzErLmRydi0wL3NvdXJjZS90ZXN0cy9z eXNjYWxscy5zY206NDcyCnNvdXJjZToKKyAodGVzdC1hc3NlcnQKKyAgICJkZWxldGUtbmV0d29y ay1yb3V0ZSIKKyAgIChsZXQgKChzb2NrIChzb2NrZXQgQUZfSU5FVCBTT0NLX1NUUkVBTSAwKSkK KyAgICAgICAgIChkZXN0aW5hdGlvbgorICAgICAgICAgICAobWFrZS1zb2NrZXQtYWRkcmVzcyBB Rl9JTkVUIElOQUREUl9BTlkgMCkpKQorICAgICAoY2F0Y2ggJ3N5c3RlbS1lcnJvcgorICAgICAg ICAgICAgKGxhbWJkYSAoKQorICAgICAgICAgICAgICAoZGVsZXRlLW5ldHdvcmstcm91dGUgc29j ayBkZXN0aW5hdGlvbikpCisgICAgICAgICAgICAobGFtYmRhIGFyZ3MKKyAgICAgICAgICAgICAg KGNsb3NlLXBvcnQgc29jaykKKyAgICAgICAgICAgICAgKG1lbXYgKHN5c3RlbS1lcnJvci1lcnJu byBhcmdzKQorICAgICAgICAgICAgICAgICAgICAobGlzdCBFUEVSTSBFQUNDRVMpKSkpKSkKYWN0 dWFsLXZhbHVlOiAoMSAxMykKcmVzdWx0OiBQQVNTCgp0ZXN0LW5hbWU6IHRjZ2V0YXR0ciBFTk9U VFkKbG9jYXRpb246IC90bXAvZ3VpeC1idWlsZC1ndWl4LTAuMTMuMC0xMi4wYTE1NGMxKy5kcnYt MC9zb3VyY2UvdGVzdHMvc3lzY2FsbHMuc2NtOjQ4Mgpzb3VyY2U6CisgKHRlc3QtZXF1YWwKKyAg ICJ0Y2dldGF0dHIgRU5PVFRZIgorICAgRU5PVFRZCisgICAoY2F0Y2ggJ3N5c3RlbS1lcnJvcgor ICAgICAgICAgIChsYW1iZGEgKCkKKyAgICAgICAgICAgIChjYWxsLXdpdGgtaW5wdXQtZmlsZQor ICAgICAgICAgICAgICAiL2Rldi9udWxsIgorICAgICAgICAgICAgICAobGFtYmRhIChwb3J0KSAo dGNnZXRhdHRyIChmaWxlbm8gcG9ydCkpKSkpCisgICAgICAgICAgKGNvbXBvc2Ugc3lzdGVtLWVy cm9yLWVycm5vIGxpc3QpKSkKZXhwZWN0ZWQtdmFsdWU6IDI1CmFjdHVhbC12YWx1ZTogMjUKcmVz dWx0OiBQQVNTCgp0ZXN0LW5hbWU6IHRjZ2V0YXR0cgpsb2NhdGlvbjogL3RtcC9ndWl4LWJ1aWxk LWd1aXgtMC4xMy4wLTEyLjBhMTU0YzErLmRydi0wL3NvdXJjZS90ZXN0cy9zeXNjYWxscy5zY206 NDk2CnNvdXJjZToKKyAodGVzdC1hc3NlcnQKKyAgICJ0Y2dldGF0dHIiCisgICAobGV0ICgodGVy bWlvcyAodGNnZXRhdHRyIDApKSkKKyAgICAgKGFuZCAodGVybWlvcz8gdGVybWlvcykKKyAgICAg ICAgICAoPiAodGVybWlvcy1pbnB1dC1zcGVlZCB0ZXJtaW9zKSAwKQorICAgICAgICAgICg+ICh0 ZXJtaW9zLW91dHB1dC1zcGVlZCB0ZXJtaW9zKSAwKSkpKQpyZXN1bHQ6IFNLSVAKCnRlc3QtbmFt ZTogdGNzZXRhdHRyCmxvY2F0aW9uOiAvdG1wL2d1aXgtYnVpbGQtZ3VpeC0wLjEzLjAtMTIuMGEx NTRjMSsuZHJ2LTAvc291cmNlL3Rlc3RzL3N5c2NhbGxzLnNjbTo1MDIKc291cmNlOgorICh0ZXN0 LWFzc2VydAorICAgInRjc2V0YXR0ciIKKyAgIChsZXQgKChmaXJzdCAodGNnZXRhdHRyIDApKSkK KyAgICAgKHRjc2V0YXR0ciAwICh0Y3NldGF0dHItYWN0aW9uIFRDU0FOT1cpIGZpcnN0KQorICAg ICAoZXF1YWw/IGZpcnN0ICh0Y2dldGF0dHIgMCkpKSkKcmVzdWx0OiBTS0lQCgp0ZXN0LW5hbWU6 IHRlcm1pbmFsLXdpbmRvdy1zaXplIEVOT1RUWQpsb2NhdGlvbjogL3RtcC9ndWl4LWJ1aWxkLWd1 aXgtMC4xMy4wLTEyLjBhMTU0YzErLmRydi0wL3NvdXJjZS90ZXN0cy9zeXNjYWxscy5zY206NTA3 CnNvdXJjZToKKyAodGVzdC1hc3NlcnQKKyAgICJ0ZXJtaW5hbC13aW5kb3ctc2l6ZSBFTk9UVFki CisgICAoY2FsbC13aXRoLWlucHV0LWZpbGUKKyAgICAgIi9kZXYvbnVsbCIKKyAgICAgKGxhbWJk YSAocG9ydCkKKyAgICAgICAoY2F0Y2ggJ3N5c3RlbS1lcnJvcgorICAgICAgICAgICAgICAobGFt YmRhICgpICh0ZXJtaW5hbC13aW5kb3ctc2l6ZSBwb3J0KSkKKyAgICAgICAgICAgICAgKGxhbWJk YSBhcmdzCisgICAgICAgICAgICAgICAgKG1lbXYgKHN5c3RlbS1lcnJvci1lcnJubyBhcmdzKQor ICAgICAgICAgICAgICAgICAgICAgIChsaXN0IEVOT1RUWSBFSU5WQUwpKSkpKSkpCmFjdHVhbC12 YWx1ZTogKDI1IDIyKQpyZXN1bHQ6IFBBU1MKCnRlc3QtbmFtZTogdGVybWluYWwtY29sdW1ucwps b2NhdGlvbjogL3RtcC9ndWl4LWJ1aWxkLWd1aXgtMC4xMy4wLTEyLjBhMTU0YzErLmRydi0wL3Nv dXJjZS90ZXN0cy9zeXNjYWxscy5zY206NTE4CnNvdXJjZToKKyAodGVzdC1hc3NlcnQKKyAgICJ0 ZXJtaW5hbC1jb2x1bW5zIgorICAgKD4gKHRlcm1pbmFsLWNvbHVtbnMpIDApKQphY3R1YWwtdmFs dWU6ICN0CnJlc3VsdDogUEFTUwoKdGVzdC1uYW1lOiB0ZXJtaW5hbC1jb2x1bW5zIG5vbi1maWxl IHBvcnQKbG9jYXRpb246IC90bXAvZ3VpeC1idWlsZC1ndWl4LTAuMTMuMC0xMi4wYTE1NGMxKy5k cnYtMC9zb3VyY2UvdGVzdHMvc3lzY2FsbHMuc2NtOjUyMQpzb3VyY2U6CisgKHRlc3QtYXNzZXJ0 CisgICAidGVybWluYWwtY29sdW1ucyBub24tZmlsZSBwb3J0IgorICAgKD4gKHRlcm1pbmFsLWNv bHVtbnMKKyAgICAgICAgKG9wZW4taW5wdXQtc3RyaW5nCisgICAgICAgICAgIkpvaW4gdXMgbm93 LCBzaGFyZSB0aGUgc29mdHdhcmUhIikpCisgICAgICAwKSkKYWN0dWFsLXZhbHVlOiAjdApyZXN1 bHQ6IFBBU1MKCnRlc3QtbmFtZTogdXRtcHgtZW50cmllcwpsb2NhdGlvbjogL3RtcC9ndWl4LWJ1 aWxkLWd1aXgtMC4xMy4wLTEyLjBhMTU0YzErLmRydi0wL3NvdXJjZS90ZXN0cy9zeXNjYWxscy5z Y206NTI1CnNvdXJjZToKKyAodGVzdC1hc3NlcnQKKyAgICJ1dG1weC1lbnRyaWVzIgorICAgKG1h dGNoICh1dG1weC1lbnRyaWVzKQorICAgICAgICAgICgoKD8gdXRtcHg/IGVudHJpZXMpIC4uLikK KyAgICAgICAgICAgKGV2ZXJ5IChsYW1iZGEgKGVudHJ5KQorICAgICAgICAgICAgICAgICAgICAo bWF0Y2ggKHV0bXB4LXVzZXIgZW50cnkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAoKD8g c3RyaW5nPykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAob3IgKG5vdCAobWVtdiAodXRt cHgtbG9naW4tdHlwZSBlbnRyeSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAobGlzdCAobG9naW4tdHlwZSBJTklUX1BST0NFU1MpCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxvZ2luLXR5cGUgTE9HSU5fUFJPQ0VT UykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobG9n aW4tdHlwZSBVU0VSX1BST0NFU1MpKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICg+ICh1dG1weC1waWQgZW50cnkpIDApKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICgj ZiAjdCkpKQorICAgICAgICAgICAgICAgICAgZW50cmllcykpKSkKYWN0dWFsLXZhbHVlOiAjdApy ZXN1bHQ6IFBBU1MKCnRlc3QtbmFtZTogcmVhZC11dG1weCwgRU9GCmxvY2F0aW9uOiAvdG1wL2d1 aXgtYnVpbGQtZ3VpeC0wLjEzLjAtMTIuMGExNTRjMSsuZHJ2LTAvc291cmNlL3Rlc3RzL3N5c2Nh bGxzLnNjbTo1NDIKc291cmNlOgorICh0ZXN0LWFzc2VydAorICAgInJlYWQtdXRtcHgsIEVPRiIK KyAgIChlb2Ytb2JqZWN0PyAocmVhZC11dG1weCAoJW1ha2Utdm9pZC1wb3J0ICJyIikpKSkKYWN0 dWFsLXZhbHVlOiAjdApyZXN1bHQ6IFBBU1MKCnRlc3QtbmFtZTogcmVhZC11dG1weApsb2NhdGlv bjogL3RtcC9ndWl4LWJ1aWxkLWd1aXgtMC4xMy4wLTEyLjBhMTU0YzErLmRydi0wL3NvdXJjZS90 ZXN0cy9zeXNjYWxscy5zY206NTQ3CnNvdXJjZToKKyAodGVzdC1hc3NlcnQKKyAgICJyZWFkLXV0 bXB4IgorICAgKGxldCAoKHJlc3VsdAorICAgICAgICAgICAoY2FsbC13aXRoLWlucHV0LWZpbGUK KyAgICAgICAgICAgICAiL3Zhci9ydW4vdXRtcHgiCisgICAgICAgICAgICAgcmVhZC11dG1weCkp KQorICAgICAob3IgKHV0bXB4PyByZXN1bHQpIChlb2Ytb2JqZWN0PyByZXN1bHQpKSkpCnJlc3Vs dDogU0tJUAoKClNLSVA6IHRlc3RzL2dyZW1saW4KPT09PT09PT09PT09PT09PT09PQoKdGVzdC1u YW1lOiBlbGYtZHluYW1pYy1pbmZvLW5lZWRlZCwgZXhlY3V0YWJsZQpsb2NhdGlvbjogL3RtcC9n dWl4LWJ1aWxkLWd1aXgtMC4xMy4wLTEyLjBhMTU0YzErLmRydi0wL3NvdXJjZS90ZXN0cy9ncmVt bGluLnNjbTo0NApzb3VyY2U6CisgKHRlc3QtYXNzZXJ0CisgICAiZWxmLWR5bmFtaWMtaW5mby1u ZWVkZWQsIGV4ZWN1dGFibGUiCisgICAobGV0KiAoKGVsZiAoY2FsbC13aXRoLWlucHV0LWZpbGUg JWd1aWxlLWV4ZWN1dGFibGUgcmVhZC1lbGYpKQorICAgICAgICAgIChkeW5pbmZvIChlbGYtZHlu YW1pYy1pbmZvIGVsZikpKQorICAgICAob3IgKG5vdCBkeW5pbmZvKQorICAgICAgICAgKGxzZXQ8 PQorICAgICAgICAgICBzdHJpbmc9PworICAgICAgICAgICAobGlzdCAoc3RyaW5nLWFwcGVuZCAi bGliZ3VpbGUtIiAoZWZmZWN0aXZlLXZlcnNpb24pKQorICAgICAgICAgICAgICAgICAibGliZ2Mi CisgICAgICAgICAgICAgICAgICJsaWJ1bmlzdHJpbmciCisgICAgICAgICAgICAgICAgICJsaWJm ZmkiKQorICAgICAgICAgICAobWFwIChsYW1iZGEgKGxpYikKKyAgICAgICAgICAgICAgICAgIChz dHJpbmctdGFrZSBsaWIgKHN0cmluZy1jb250YWlucyBsaWIgIi5zbyIpKSkKKyAgICAgICAgICAg ICAgICAoZWxmLWR5bmFtaWMtaW5mby1uZWVkZWQgZHluaW5mbykpKSkpKQpyZXN1bHQ6IFNLSVAK CnRlc3QtbmFtZTogZXhwYW5kLW9yaWdpbgpsb2NhdGlvbjogL3RtcC9ndWl4LWJ1aWxkLWd1aXgt MC4xMy4wLTEyLjBhMTU0YzErLmRydi0wL3NvdXJjZS90ZXN0cy9ncmVtbGluLnNjbTo1NQpzb3Vy Y2U6CisgKHRlc3QtZXF1YWwKKyAgICJleHBhbmQtb3JpZ2luIgorICAgJygiT09PLy4uL2xpYiIK KyAgICAgIk9PTyIKKyAgICAgIi4uL09PTy9iYXIvT09PL2JheiIKKyAgICAgIk9SSUdJTi9mb28i KQorICAgKG1hcCAoY3V0IGV4cGFuZC1vcmlnaW4gPD4gIk9PTyIpCisgICAgICAgICcoIiRPUklH SU4vLi4vbGliIgorICAgICAgICAgICIke09SSUdJTn0iCisgICAgICAgICAgIi4uLyR7T1JJR0lO fS9iYXIvJE9SSUdJTi9iYXoiCisgICAgICAgICAgIk9SSUdJTi9mb28iKSkpCmV4cGVjdGVkLXZh bHVlOiAoIk9PTy8uLi9saWIiICJPT08iICIuLi9PT08vYmFyL09PTy9iYXoiICJPUklHSU4vZm9v IikKYWN0dWFsLXZhbHVlOiAoIk9PTy8uLi9saWIiICJPT08iICIuLi9PT08vYmFyL09PTy9iYXoi ICJPUklHSU4vZm9vIikKcmVzdWx0OiBQQVNTCgoKU0tJUDogdGVzdHMvY29udGFpbmVycwo9PT09 PT09PT09PT09PT09PT09PT09Cgp0ZXN0LW5hbWU6IGNhbGwtd2l0aC1jb250YWluZXIsIGV4aXQg d2l0aCAwIHdoZW4gdGhlcmUgaXMgbm8gZXJyb3IKbG9jYXRpb246IC90bXAvZ3VpeC1idWlsZC1n dWl4LTAuMTMuMC0xMi4wYTE1NGMxKy5kcnYtMC9zb3VyY2UvdGVzdHMvY29udGFpbmVycy5zY206 NDIKc291cmNlOgorICh0ZXN0LWFzc2VydAorICAgImNhbGwtd2l0aC1jb250YWluZXIsIGV4aXQg d2l0aCAwIHdoZW4gdGhlcmUgaXMgbm8gZXJyb3IiCisgICAoemVybz8gKGNhbGwtd2l0aC1jb250 YWluZXIKKyAgICAgICAgICAgICcoKQorICAgICAgICAgICAgKGNvbnN0ICN0KQorICAgICAgICAg ICAgIzpuYW1lc3BhY2VzCisgICAgICAgICAgICAnKHVzZXIpKSkpCnJlc3VsdDogU0tJUAoKdGVz dC1uYW1lOiBjYWxsLXdpdGgtY29udGFpbmVyLCB1c2VyIG5hbWVzcGFjZQpsb2NhdGlvbjogL3Rt cC9ndWl4LWJ1aWxkLWd1aXgtMC4xMy4wLTEyLjBhMTU0YzErLmRydi0wL3NvdXJjZS90ZXN0cy9j b250YWluZXJzLnNjbTo0OApzb3VyY2U6CisgKHRlc3QtYXNzZXJ0CisgICAiY2FsbC13aXRoLWNv bnRhaW5lciwgdXNlciBuYW1lc3BhY2UiCisgICAoemVybz8gKGNhbGwtd2l0aC1jb250YWluZXIK KyAgICAgICAgICAgICcoKQorICAgICAgICAgICAgKGxhbWJkYSAoKQorICAgICAgICAgICAgICAo YXNzZXJ0LWV4aXQKKyAgICAgICAgICAgICAgICAoYW5kICh6ZXJvPyAoZ2V0dWlkKSkgKHplcm8/ IChnZXRnaWQpKSkpKQorICAgICAgICAgICAgIzpuYW1lc3BhY2VzCisgICAgICAgICAgICAnKHVz ZXIpKSkpCnJlc3VsdDogU0tJUAoKdGVzdC1uYW1lOiBjYWxsLXdpdGgtY29udGFpbmVyLCB1dHMg bmFtZXNwYWNlCmxvY2F0aW9uOiAvdG1wL2d1aXgtYnVpbGQtZ3VpeC0wLjEzLjAtMTIuMGExNTRj MSsuZHJ2LTAvc291cmNlL3Rlc3RzL2NvbnRhaW5lcnMuc2NtOjU4CnNvdXJjZToKKyAodGVzdC1h c3NlcnQKKyAgICJjYWxsLXdpdGgtY29udGFpbmVyLCB1dHMgbmFtZXNwYWNlIgorICAgKHplcm8/ IChjYWxsLXdpdGgtY29udGFpbmVyCisgICAgICAgICAgICAnKCkKKyAgICAgICAgICAgIChsYW1i ZGEgKCkKKyAgICAgICAgICAgICAgKHNldGhvc3RuYW1lICJ0ZXN0LWNvbnRhaW5lciIpCisgICAg ICAgICAgICAgIChwcmltaXRpdmUtZXhpdCAwKSkKKyAgICAgICAgICAgICM6bmFtZXNwYWNlcwor ICAgICAgICAgICAgJyh1c2VyIHV0cykpKSkKcmVzdWx0OiBTS0lQCgp0ZXN0LW5hbWU6IGNhbGwt d2l0aC1jb250YWluZXIsIHBpZCBuYW1lc3BhY2UKbG9jYXRpb246IC90bXAvZ3VpeC1idWlsZC1n dWl4LTAuMTMuMC0xMi4wYTE1NGMxKy5kcnYtMC9zb3VyY2UvdGVzdHMvY29udGFpbmVycy5zY206 NzAKc291cmNlOgorICh0ZXN0LWFzc2VydAorICAgImNhbGwtd2l0aC1jb250YWluZXIsIHBpZCBu YW1lc3BhY2UiCisgICAoemVybz8gKGNhbGwtd2l0aC1jb250YWluZXIKKyAgICAgICAgICAgICco KQorICAgICAgICAgICAgKGxhbWJkYSAoKQorICAgICAgICAgICAgICAobWF0Y2ggKHByaW1pdGl2 ZS1mb3JrKQorICAgICAgICAgICAgICAgICAgICAgKDAgKGFzc2VydC1leGl0ICg9IDIgKGdldHBp ZCkpKSkKKyAgICAgICAgICAgICAgICAgICAgIChwaWQgKHByaW1pdGl2ZS1leGl0CisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKG1hdGNoICh3YWl0cGlkIHBpZCkKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKChfIC4gc3RhdHVzKQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgKHN0YXR1czpleGl0LXZhbCBzdGF0dXMpKSkpKSkpCisgICAgICAgICAg ICAjOm5hbWVzcGFjZXMKKyAgICAgICAgICAgICcodXNlciBwaWQpKSkpCnJlc3VsdDogU0tJUAoK dGVzdC1uYW1lOiBjYWxsLXdpdGgtY29udGFpbmVyLCBtbnQgbmFtZXNwYWNlCmxvY2F0aW9uOiAv dG1wL2d1aXgtYnVpbGQtZ3VpeC0wLjEzLjAtMTIuMGExNTRjMSsuZHJ2LTAvc291cmNlL3Rlc3Rz L2NvbnRhaW5lcnMuc2NtOjg3CnNvdXJjZToKKyAodGVzdC1hc3NlcnQKKyAgICJjYWxsLXdpdGgt Y29udGFpbmVyLCBtbnQgbmFtZXNwYWNlIgorICAgKHplcm8/IChjYWxsLXdpdGgtY29udGFpbmVy CisgICAgICAgICAgICAobGlzdCAoZmlsZS1zeXN0ZW0KKyAgICAgICAgICAgICAgICAgICAgKGRl dmljZSAibm9uZSIpCisgICAgICAgICAgICAgICAgICAgIChtb3VudC1wb2ludCAiL3Rlc3Rpbmci KQorICAgICAgICAgICAgICAgICAgICAodHlwZSAidG1wZnMiKQorICAgICAgICAgICAgICAgICAg ICAoY2hlY2s/ICNmKSkpCisgICAgICAgICAgICAobGFtYmRhICgpCisgICAgICAgICAgICAgIChh c3NlcnQtZXhpdCAoZmlsZS1leGlzdHM/ICIvdGVzdGluZyIpKSkKKyAgICAgICAgICAgICM6bmFt ZXNwYWNlcworICAgICAgICAgICAgJyh1c2VyIG1udCkpKSkKcmVzdWx0OiBTS0lQCgp0ZXN0LW5h bWU6IGNhbGwtd2l0aC1jb250YWluZXIsIG1udCBuYW1lc3BhY2UsIHdyb25nIGJpbmQgbW91bnQK bG9jYXRpb246IC90bXAvZ3VpeC1idWlsZC1ndWl4LTAuMTMuMC0xMi4wYTE1NGMxKy5kcnYtMC9z b3VyY2UvdGVzdHMvY29udGFpbmVycy5zY206MTAwCnNvdXJjZToKKyAodGVzdC1lcXVhbAorICAg ImNhbGwtd2l0aC1jb250YWluZXIsIG1udCBuYW1lc3BhY2UsIHdyb25nIGJpbmQgbW91bnQiCisg ICBgKHN5c3RlbS1lcnJvciAsRU5PRU5UKQorICAgKGNhdGNoICdzeXN0ZW0tZXJyb3IKKyAgICAg ICAgICAobGFtYmRhICgpCisgICAgICAgICAgICAoY2FsbC13aXRoLWNvbnRhaW5lcgorICAgICAg ICAgICAgICAobGlzdCAoZmlsZS1zeXN0ZW0KKyAgICAgICAgICAgICAgICAgICAgICAoZGV2aWNl ICIvZG9lcy1ub3QtZXhpc3QiKQorICAgICAgICAgICAgICAgICAgICAgIChtb3VudC1wb2ludCAi L2ZvbyIpCisgICAgICAgICAgICAgICAgICAgICAgKHR5cGUgIm5vbmUiKQorICAgICAgICAgICAg ICAgICAgICAgIChmbGFncyAnKGJpbmQtbW91bnQpKQorICAgICAgICAgICAgICAgICAgICAgIChj aGVjaz8gI2YpKSkKKyAgICAgICAgICAgICAgKGNvbnN0ICN0KQorICAgICAgICAgICAgICAjOm5h bWVzcGFjZXMKKyAgICAgICAgICAgICAgJyh1c2VyIG1udCkpKQorICAgICAgICAgIChsYW1iZGEg YXJncworICAgICAgICAgICAgKGxpc3QgJ3N5c3RlbS1lcnJvciAoc3lzdGVtLWVycm9yLWVycm5v IGFyZ3MpKSkpKQpyZXN1bHQ6IFNLSVAKCnRlc3QtbmFtZTogY2FsbC13aXRoLWNvbnRhaW5lciwg YWxsIG5hbWVzcGFjZXMKbG9jYXRpb246IC90bXAvZ3VpeC1idWlsZC1ndWl4LTAuMTMuMC0xMi4w YTE1NGMxKy5kcnYtMC9zb3VyY2UvdGVzdHMvY29udGFpbmVycy5zY206MTE4CnNvdXJjZToKKyAo dGVzdC1hc3NlcnQKKyAgICJjYWxsLXdpdGgtY29udGFpbmVyLCBhbGwgbmFtZXNwYWNlcyIKKyAg ICh6ZXJvPyAoY2FsbC13aXRoLWNvbnRhaW5lcgorICAgICAgICAgICAgJygpCisgICAgICAgICAg ICAobGFtYmRhICgpIChwcmltaXRpdmUtZXhpdCAwKSkpKSkKcmVzdWx0OiBTS0lQCgp0ZXN0LW5h bWU6IGNvbnRhaW5lci1leGN1cnNpb24KbG9jYXRpb246IC90bXAvZ3VpeC1idWlsZC1ndWl4LTAu MTMuMC0xMi4wYTE1NGMxKy5kcnYtMC9zb3VyY2UvdGVzdHMvY29udGFpbmVycy5zY206MTI2CnNv dXJjZToKKyAodGVzdC1hc3NlcnQKKyAgICJjb250YWluZXItZXhjdXJzaW9uIgorICAgKGNhbGwt d2l0aC10ZW1wb3JhcnktZGlyZWN0b3J5CisgICAgIChsYW1iZGEgKHJvb3QpCisgICAgICAgKG1h dGNoIChsaXN0IChwaXBlKSAocGlwZSkpCisgICAgICAgICAgICAgICgoKHN0YXJ0LWluIC4gc3Rh cnQtb3V0KSAoZW5kLWluIC4gZW5kLW91dCkpCisgICAgICAgICAgICAgICAoZGVmaW5lIChjb250 YWluZXIpCisgICAgICAgICAgICAgICAgIChjbG9zZSBlbmQtb3V0KQorICAgICAgICAgICAgICAg ICAoY2xvc2Ugc3RhcnQtaW4pCisgICAgICAgICAgICAgICAgICh3cml0ZSAncmVhZHkgc3RhcnQt b3V0KQorICAgICAgICAgICAgICAgICAoY2xvc2Ugc3RhcnQtb3V0KQorICAgICAgICAgICAgICAg ICAocmVhZCBlbmQtaW4pCisgICAgICAgICAgICAgICAgIChjbG9zZSBlbmQtaW4pKQorICAgICAg ICAgICAgICAgKGRlZmluZSAobmFtZXNwYWNlcyBwaWQpCisgICAgICAgICAgICAgICAgIChsZXQg KChwaWQgKG51bWJlci0+c3RyaW5nIHBpZCkpKQorICAgICAgICAgICAgICAgICAgIChtYXAgKGxh bWJkYSAobnMpCisgICAgICAgICAgICAgICAgICAgICAgICAgIChyZWFkbGluayAoc3RyaW5nLWFw cGVuZCAiL3Byb2MvIiBwaWQgIi9ucy8iIG5zKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAn KCJ1c2VyIiAiaXBjIiAidXRzIiAibmV0IiAicGlkIiAibW50IikpKSkKKyAgICAgICAgICAgICAg IChsZXQqICgocGlkIChydW4tY29udGFpbmVyIHJvb3QgJygpICVuYW1lc3BhY2VzIDEgY29udGFp bmVyKSkKKyAgICAgICAgICAgICAgICAgICAgICAoY29udGFpbmVyLW5hbWVzcGFjZXMgKG5hbWVz cGFjZXMgcGlkKSkKKyAgICAgICAgICAgICAgICAgICAgICAocmVzdWx0CisgICAgICAgICAgICAg ICAgICAgICAgICAoYmVnaW4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgKGNsb3NlIHN0YXJ0 LW91dCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgKHJlYWQgc3RhcnQtaW4pCisgICAgICAg ICAgICAgICAgICAgICAgICAgIChjbG9zZSBzdGFydC1pbikKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgKGNvbnRhaW5lci1leGN1cnNpb24KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBw aWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAobGFtYmRhICgpCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAobWF0Y2ggKHByaW1pdGl2ZS1mb3JrKQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICgwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIChhc3NlcnQtZXhpdAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIChlcXVhbD8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv bnRhaW5lci1uYW1lc3BhY2VzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAobmFtZXNwYWNlcyAoZ2V0cGlkKSkpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAoZm9yay1waWQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIChtYXRjaCAod2FpdHBpZCBmb3JrLXBpZCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAoKF8gLiBzdGF0dXMpCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIChwcmltaXRpdmUtZXhpdAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzdGF0dXM6ZXhpdC12YWwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1cykpKSkp KSkpKSkpCisgICAgICAgICAgICAgICAgIChjbG9zZSBlbmQtaW4pCisgICAgICAgICAgICAgICAg ICh3cml0ZSAnZG9uZSBlbmQtb3V0KQorICAgICAgICAgICAgICAgICAoY2xvc2UgZW5kLW91dCkK KyAgICAgICAgICAgICAgICAgKHdhaXRwaWQgcGlkKQorICAgICAgICAgICAgICAgICAoemVybz8g cmVzdWx0KSkpKSkpKQpyZXN1bHQ6IFNLSVAKCnRlc3QtbmFtZTogY29udGFpbmVyLWV4Y3Vyc2lv biwgc2FtZSBuYW1lc3BhY2VzCmxvY2F0aW9uOiAvdG1wL2d1aXgtYnVpbGQtZ3VpeC0wLjEzLjAt MTIuMGExNTRjMSsuZHJ2LTAvc291cmNlL3Rlc3RzL2NvbnRhaW5lcnMuc2NtOjE4NApzb3VyY2U6 CisgKHRlc3QtZXF1YWwKKyAgICJjb250YWluZXItZXhjdXJzaW9uLCBzYW1lIG5hbWVzcGFjZXMi CisgICA0MgorICAgKGNvbnRhaW5lci1leGN1cnNpb24KKyAgICAgKGdldHBpZCkKKyAgICAgKGxh bWJkYSAoKSAocHJpbWl0aXZlLWV4aXQgNDIpKSkpCnJlc3VsdDogU0tJUAoKdGVzdC1uYW1lOiBj b250YWluZXItZXhjdXJzaW9uKgpsb2NhdGlvbjogL3RtcC9ndWl4LWJ1aWxkLWd1aXgtMC4xMy4w LTEyLjBhMTU0YzErLmRydi0wL3NvdXJjZS90ZXN0cy9jb250YWluZXJzLnNjbToxOTQKc291cmNl OgorICh0ZXN0LWFzc2VydAorICAgImNvbnRhaW5lci1leGN1cnNpb24qIgorICAgKGNhbGwtd2l0 aC10ZW1wb3JhcnktZGlyZWN0b3J5CisgICAgIChsYW1iZGEgKHJvb3QpCisgICAgICAgKGRlZmlu ZSAobmFtZXNwYWNlcyBwaWQpCisgICAgICAgICAobGV0ICgocGlkIChudW1iZXItPnN0cmluZyBw aWQpKSkKKyAgICAgICAgICAgKG1hcCAobGFtYmRhIChucykKKyAgICAgICAgICAgICAgICAgIChy ZWFkbGluayAoc3RyaW5nLWFwcGVuZCAiL3Byb2MvIiBwaWQgIi9ucy8iIG5zKSkpCisgICAgICAg ICAgICAgICAgJygidXNlciIgImlwYyIgInV0cyIgIm5ldCIgInBpZCIgIm1udCIpKSkpCisgICAg ICAgKGxldCogKChwaWQgKHJ1bi1jb250YWluZXIKKyAgICAgICAgICAgICAgICAgICAgIHJvb3QK KyAgICAgICAgICAgICAgICAgICAgICcoKQorICAgICAgICAgICAgICAgICAgICAgJW5hbWVzcGFj ZXMKKyAgICAgICAgICAgICAgICAgICAgIDEKKyAgICAgICAgICAgICAgICAgICAgIChsYW1iZGEg KCkgKHNsZWVwIDEwMCkpKSkKKyAgICAgICAgICAgICAgKGV4cGVjdGVkIChuYW1lc3BhY2VzIHBp ZCkpCisgICAgICAgICAgICAgIChyZXN1bHQKKyAgICAgICAgICAgICAgICAoY29udGFpbmVyLWV4 Y3Vyc2lvbioKKyAgICAgICAgICAgICAgICAgIHBpZAorICAgICAgICAgICAgICAgICAgKGxhbWJk YSAoKSAobmFtZXNwYWNlcyAxKSkpKSkKKyAgICAgICAgIChraWxsIHBpZCBTSUdLSUxMKQorICAg ICAgICAgKGVxdWFsPyByZXN1bHQgZXhwZWN0ZWQpKSkpKQpyZXN1bHQ6IFNLSVAKCnRlc3QtbmFt ZTogY29udGFpbmVyLWV4Y3Vyc2lvbiosIHNhbWUgbmFtZXNwYWNlcwpsb2NhdGlvbjogL3RtcC9n dWl4LWJ1aWxkLWd1aXgtMC4xMy4wLTEyLjBhMTU0YzErLmRydi0wL3NvdXJjZS90ZXN0cy9jb250 YWluZXJzLnNjbToyMTYKc291cmNlOgorICh0ZXN0LWVxdWFsCisgICAiY29udGFpbmVyLWV4Y3Vy c2lvbiosIHNhbWUgbmFtZXNwYWNlcyIKKyAgIDQyCisgICAoY29udGFpbmVyLWV4Y3Vyc2lvbioK KyAgICAgKGdldHBpZCkKKyAgICAgKGxhbWJkYSAoKSAoKiA2IDcpKSkpCnJlc3VsdDogU0tJUAoK ClNLSVA6IHRlc3RzL3BhY2sKPT09PT09PT09PT09PT09PQoKcmFuZG9tIHNlZWQgZm9yIHRlc3Rz OiAxNTEyMzIyMjY5CnRlc3QtbmFtZTogc2VsZi1jb250YWluZWQtdGFyYmFsbApsb2NhdGlvbjog L3RtcC9ndWl4LWJ1aWxkLWd1aXgtMC4xMy4wLTEyLjBhMTU0YzErLmRydi0wL3NvdXJjZS90ZXN0 cy9wYWNrLnNjbTo1NApzb3VyY2U6CisgKHRlc3QtYXNzZXJ0CisgICAic2VsZi1jb250YWluZWQt dGFyYmFsbCIKKyAgIChydW4td2l0aC1zdG9yZQorICAgICAlc3RvcmUKKyAgICAgKG1sZXQqICVz dG9yZS1tb25hZAorICAgICAgICAgICAgKChwcm9maWxlCisgICAgICAgICAgICAgICAocHJvZmls ZS1kZXJpdmF0aW9uCisgICAgICAgICAgICAgICAgIChwYWNrYWdlcy0+bWFuaWZlc3QgKGxpc3Qg JWJvb3RzdHJhcC1ndWlsZSkpCisgICAgICAgICAgICAgICAgICM6aG9va3MKKyAgICAgICAgICAg ICAgICAgJygpCisgICAgICAgICAgICAgICAgICM6bG9jYWxlcz8KKyAgICAgICAgICAgICAgICAg I2YpKQorICAgICAgICAgICAgICh0YXJiYWxsCisgICAgICAgICAgICAgICAoc2VsZi1jb250YWlu ZWQtdGFyYmFsbAorICAgICAgICAgICAgICAgICAicGFjayIKKyAgICAgICAgICAgICAgICAgcHJv ZmlsZQorICAgICAgICAgICAgICAgICAjOnN5bWxpbmtzCisgICAgICAgICAgICAgICAgICcoKCIv YmluL0d1aWxlIiAtPiAiYmluL2d1aWxlIikpCisgICAgICAgICAgICAgICAgICM6Y29tcHJlc3Nv cgorICAgICAgICAgICAgICAgICAlZ3ppcC1jb21wcmVzc29yCisgICAgICAgICAgICAgICAgICM6 dGFyCisgICAgICAgICAgICAgICAgICV0YXItYm9vdHN0cmFwKSkKKyAgICAgICAgICAgICAoY2hl Y2sgKGdleHAtPmRlcml2YXRpb24KKyAgICAgICAgICAgICAgICAgICAgICAiY2hlY2stdGFyYmFs bCIKKyAgICAgICAgICAgICAgICAgICAgICAoZ2V4cCAobGV0ICgoZ3VpbGUgKHN0cmluZy1hcHBl bmQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLiIKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodW5nZXhwIHByb2ZpbGUpCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi9iaW4iKSkpCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAoc2V0ZW52CisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICJQQVRIIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3RyaW5n LWFwcGVuZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh1bmdleHAgJXRhci1i b290c3RyYXApCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi9iaW4iKSkKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzeXN0ZW0qICJ0YXIiICJ4dmYiICh1bmdleHAg dGFyYmFsbCkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobWtkaXIgKHVuZ2V4cCBv dXRwdXQpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGV4aXQgKGFuZCAoZmlsZS1l eGlzdHM/CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHN0cmlu Zy1hcHBlbmQgZ3VpbGUgIi9ndWlsZSIpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAoc3RyaW5nPT8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAoc3RyaW5nLWFwcGVuZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKHVuZ2V4cCAlYm9vdHN0cmFwLWd1aWxlKQorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIi9iaW4iKQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIChyZWFkbGluayBndWlsZSkpCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIChzdHJpbmc9PworICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIChzdHJpbmctYXBwZW5kCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAoc3RyaW5nLWRyb3AgZ3VpbGUgMSkKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIvZ3VpbGUiKQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChyZWFkbGluayAiYmluL0d1aWxlIikp KSkpKSkpKQorICAgICAgICAgICAgKGJ1aWx0LWRlcml2YXRpb25zIChsaXN0IGNoZWNrKSkpCisg ICAgICM6Z3VpbGUtZm9yLWJ1aWxkCisgICAgICglZ3VpbGUtZm9yLWJ1aWxkKSkpCnJlc3VsdDog U0tJUAoKClNLSVA6IHRlc3RzL3B5cGkKPT09PT09PT09PT09PT09PQoKZm9vLTEuMC4wLwpmb28t MS4wLjAvcmVxdWlyZW1lbnRzLnR4dAp0ZXN0LW5hbWU6IGd1aXgtcGFja2FnZS0+cHlwaS1uYW1l LCBvbGQgVVJMIHN0eWxlCmxvY2F0aW9uOiAvdG1wL2d1aXgtYnVpbGQtZ3VpeC0wLjEzLjAtMTIu MGExNTRjMSsuZHJ2LTAvc291cmNlL3Rlc3RzL3B5cGkuc2NtOjc4CnNvdXJjZToKKyAodGVzdC1l cXVhbAorICAgImd1aXgtcGFja2FnZS0+cHlwaS1uYW1lLCBvbGQgVVJMIHN0eWxlIgorICAgInBz dXRpbCIKKyAgIChndWl4LXBhY2thZ2UtPnB5cGktbmFtZQorICAgICAoZHVtbXktcGFja2FnZQor ICAgICAgICJmb28iCisgICAgICAgKHNvdXJjZQorICAgICAgICAgKGR1bW15LW9yaWdpbgorICAg ICAgICAgICAodXJpICJodHRwczovL3B5cGkuaW8vcGFja2FnZXMvc291cmNlL3AvcHN1dGlsL3Bz dXRpbC00LjMuMC50YXIuZ3oiKSkpKSkpCmV4cGVjdGVkLXZhbHVlOiAicHN1dGlsIgphY3R1YWwt dmFsdWU6ICJwc3V0aWwiCnJlc3VsdDogUEFTUwoKdGVzdC1uYW1lOiBndWl4LXBhY2thZ2UtPnB5 cGktbmFtZSwgbmV3IFVSTCBzdHlsZQpsb2NhdGlvbjogL3RtcC9ndWl4LWJ1aWxkLWd1aXgtMC4x My4wLTEyLjBhMTU0YzErLmRydi0wL3NvdXJjZS90ZXN0cy9weXBpLnNjbTo4Ngpzb3VyY2U6Cisg KHRlc3QtZXF1YWwKKyAgICJndWl4LXBhY2thZ2UtPnB5cGktbmFtZSwgbmV3IFVSTCBzdHlsZSIK KyAgICJjZXJ0Ym90IgorICAgKGd1aXgtcGFja2FnZS0+cHlwaS1uYW1lCisgICAgIChkdW1teS1w YWNrYWdlCisgICAgICAgImZvbyIKKyAgICAgICAoc291cmNlCisgICAgICAgICAoZHVtbXktb3Jp Z2luCisgICAgICAgICAgICh1cmkgImh0dHBzOi8vcHlwaS5weXRob24ub3JnL3BhY2thZ2VzL2Ey LzNiLzQ3NTZlNmEwY2ViMTRlMDg0MDQyYTJhNjVjNjE1ZDY4ZDI1NjIxYzZmZDQ0NmQwZmMxMGQx NGM0Y2U3ZC9jZXJ0Ym90LTAuOC4xLnRhci5neiIpKSkpKSkKZXhwZWN0ZWQtdmFsdWU6ICJjZXJ0 Ym90IgphY3R1YWwtdmFsdWU6ICJjZXJ0Ym90IgpyZXN1bHQ6IFBBU1MKCnRlc3QtbmFtZTogZ3Vp eC1wYWNrYWdlLT5weXBpLW5hbWUsIHNldmVyYWwgVVJMcwpsb2NhdGlvbjogL3RtcC9ndWl4LWJ1 aWxkLWd1aXgtMC4xMy4wLTEyLjBhMTU0YzErLmRydi0wL3NvdXJjZS90ZXN0cy9weXBpLnNjbTo5 NApzb3VyY2U6CisgKHRlc3QtZXF1YWwKKyAgICJndWl4LXBhY2thZ2UtPnB5cGktbmFtZSwgc2V2 ZXJhbCBVUkxzIgorICAgImNyYW0iCisgICAoZ3VpeC1wYWNrYWdlLT5weXBpLW5hbWUKKyAgICAg KGR1bW15LXBhY2thZ2UKKyAgICAgICAiZm9vIgorICAgICAgIChzb3VyY2UKKyAgICAgICAgIChk dW1teS1vcmlnaW4KKyAgICAgICAgICAgKHVyaSAobGlzdCAiaHR0cHM6Ly9iaXRoZWFwLm9yZy9j cmFtL2NyYW0tMC43LnRhci5neiIKKyAgICAgICAgICAgICAgICAgICAgICAocHlwaS11cmkgImNy YW0iICIwLjciKSkpKSkpKSkKZXhwZWN0ZWQtdmFsdWU6ICJjcmFtIgphY3R1YWwtdmFsdWU6ICJj cmFtIgpyZXN1bHQ6IFBBU1MKCnRlc3QtbmFtZTogcHlwaS0+Z3VpeC1wYWNrYWdlCmxvY2F0aW9u OiAvdG1wL2d1aXgtYnVpbGQtZ3VpeC0wLjEzLjAtMTIuMGExNTRjMSsuZHJ2LTAvc291cmNlL3Rl c3RzL3B5cGkuc2NtOjEwMwpzb3VyY2U6CisgKHRlc3QtYXNzZXJ0CisgICAicHlwaS0+Z3VpeC1w YWNrYWdlIgorICAgKG1vY2sgKChndWl4IGltcG9ydCB1dGlscykKKyAgICAgICAgICB1cmwtZmV0 Y2gKKyAgICAgICAgICAobGFtYmRhICh1cmwgZmlsZS1uYW1lKQorICAgICAgICAgICAgKG1hdGNo IHVybAorICAgICAgICAgICAgICAgICAgICgiaHR0cHM6Ly9leGFtcGxlLmNvbS9mb28tMS4wLjAu dGFyLmd6IgorICAgICAgICAgICAgICAgICAgICAoYmVnaW4KKyAgICAgICAgICAgICAgICAgICAg ICAobWtkaXIgImZvby0xLjAuMCIpCisgICAgICAgICAgICAgICAgICAgICAgKHdpdGgtb3V0cHV0 LXRvLWZpbGUKKyAgICAgICAgICAgICAgICAgICAgICAgICJmb28tMS4wLjAvcmVxdWlyZW1lbnRz LnR4dCIKKyAgICAgICAgICAgICAgICAgICAgICAgIChsYW1iZGEgKCkgKGRpc3BsYXkgdGVzdC1y ZXF1aXJlbWVudHMpKSkKKyAgICAgICAgICAgICAgICAgICAgICAoc3lzdGVtKiAidGFyIiAiY3p2 ZiIgZmlsZS1uYW1lICJmb28tMS4wLjAvIikKKyAgICAgICAgICAgICAgICAgICAgICAoZGVsZXRl LWZpbGUtcmVjdXJzaXZlbHkgImZvby0xLjAuMCIpCisgICAgICAgICAgICAgICAgICAgICAgKHNl dCEgdGVzdC1zb3VyY2UtaGFzaAorICAgICAgICAgICAgICAgICAgICAgICAgKGNhbGwtd2l0aC1p bnB1dC1maWxlIGZpbGUtbmFtZSBwb3J0LXNoYTI1NikpKSkKKyAgICAgICAgICAgICAgICAgICAo Imh0dHBzOi8vZXhhbXBsZS5jb20vZm9vLTEuMC4wLXB5Mi5weTMtbm9uZS1hbnkud2hsIgorICAg ICAgICAgICAgICAgICAgICAjZikKKyAgICAgICAgICAgICAgICAgICAoXyAoZXJyb3IgIlVuZXhw ZWN0ZWQgVVJMOiAiIHVybCkpKSkpCisgICAgICAgICAobW9jayAoKGd1aXggaHR0cC1jbGllbnQp CisgICAgICAgICAgICAgICAgaHR0cC1mZXRjaAorICAgICAgICAgICAgICAgIChsYW1iZGEgKHVy bCAuIHJlc3QpCisgICAgICAgICAgICAgICAgICAobWF0Y2ggdXJsCisgICAgICAgICAgICAgICAg ICAgICAgICAgKCJodHRwczovL3B5cGkucHl0aG9uLm9yZy9weXBpL2Zvby9qc29uIgorICAgICAg ICAgICAgICAgICAgICAgICAgICAodmFsdWVzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg KG9wZW4taW5wdXQtc3RyaW5nIHRlc3QtanNvbikKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAoc3RyaW5nLWxlbmd0aCB0ZXN0LWpzb24pKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAo Imh0dHBzOi8vZXhhbXBsZS5jb20vZm9vLTEuMC4wLXB5Mi5weTMtbm9uZS1hbnkud2hsIgorICAg ICAgICAgICAgICAgICAgICAgICAgICAjZikKKyAgICAgICAgICAgICAgICAgICAgICAgICAoXyAo ZXJyb3IgIlVuZXhwZWN0ZWQgVVJMOiAiIHVybCkpKSkpCisgICAgICAgICAgICAgICAobWF0Y2gg KHB5cGktPmd1aXgtcGFja2FnZSAiZm9vIikKKyAgICAgICAgICAgICAgICAgICAgICAoKCdwYWNr YWdlCisgICAgICAgICAgICAgICAgICAgICAgICAoJ25hbWUgInB5dGhvbi1mb28iKQorICAgICAg ICAgICAgICAgICAgICAgICAgKCd2ZXJzaW9uICIxLjAuMCIpCisgICAgICAgICAgICAgICAgICAg ICAgICAoJ3NvdXJjZQorICAgICAgICAgICAgICAgICAgICAgICAgICgnb3JpZ2luCisgICAgICAg ICAgICAgICAgICAgICAgICAgICgnbWV0aG9kICd1cmwtZmV0Y2gpCisgICAgICAgICAgICAgICAg ICAgICAgICAgICgndXJpICgncHlwaS11cmkgImZvbyIgJ3ZlcnNpb24pKQorICAgICAgICAgICAg ICAgICAgICAgICAgICAoJ3NoYTI1NiAoJ2Jhc2UzMiAoPyBzdHJpbmc/IGhhc2gpKSkpKQorICAg ICAgICAgICAgICAgICAgICAgICAgKCdidWlsZC1zeXN0ZW0gJ3B5dGhvbi1idWlsZC1zeXN0ZW0p CisgICAgICAgICAgICAgICAgICAgICAgICAoJ3Byb3BhZ2F0ZWQtaW5wdXRzCisgICAgICAgICAg ICAgICAgICAgICAgICAgKCdxdWFzaXF1b3RlCisgICAgICAgICAgICAgICAgICAgICAgICAgICgo InB5dGhvbi1iYXIiICgndW5xdW90ZSAncHl0aG9uLWJhcikpCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAoInB5dGhvbi1iYXoiICgndW5xdW90ZSAncHl0aG9uLWJheikpKSkpCisgICAgICAg ICAgICAgICAgICAgICAgICAoJ2hvbWUtcGFnZSAiaHR0cDovL2V4YW1wbGUuY29tIikKKyAgICAg ICAgICAgICAgICAgICAgICAgICgnc3lub3BzaXMgInN1bW1hcnkiKQorICAgICAgICAgICAgICAg ICAgICAgICAgKCdkZXNjcmlwdGlvbiAic3VtbWFyeSIpCisgICAgICAgICAgICAgICAgICAgICAg ICAoJ2xpY2Vuc2UgJ2xpY2Vuc2U6bGdwbDIuMCkpCisgICAgICAgICAgICAgICAgICAgICAgIChz dHJpbmc9PworICAgICAgICAgICAgICAgICAgICAgICAgIChieXRldmVjdG9yLT5uaXgtYmFzZTMy LXN0cmluZyB0ZXN0LXNvdXJjZS1oYXNoKQorICAgICAgICAgICAgICAgICAgICAgICAgIGhhc2gp KQorICAgICAgICAgICAgICAgICAgICAgICh4IChwayAnZmFpbCB4ICNmKSkpKSkpCmFjdHVhbC12 YWx1ZTogI3QKcmVzdWx0cmFuZG9tIHNlZWQgZm9yIHRlc3RzOiAxNTEyMzIyMDUwCjogUEFTUwoK dGVzdC1uYW1lOiBweXBpLT5ndWl4LXBhY2thZ2UsIHdoZWVscwpsb2NhdGlvbjogL3RtcC9ndWl4 LWJ1aWxkLWd1aXgtMC4xMy4wLTEyLjBhMTU0YzErLmRydi0wL3NvdXJjZS90ZXN0cy9weXBpLnNj bToxNTQKc291cmNlOgorICh0ZXN0LWFzc2VydAorICAgInB5cGktPmd1aXgtcGFja2FnZSwgd2hl ZWxzIgorICAgKG1vY2sgKChndWl4IGltcG9ydCB1dGlscykKKyAgICAgICAgICB1cmwtZmV0Y2gK KyAgICAgICAgICAobGFtYmRhICh1cmwgZmlsZS1uYW1lKQorICAgICAgICAgICAgKG1hdGNoIHVy bAorICAgICAgICAgICAgICAgICAgICgiaHR0cHM6Ly9leGFtcGxlLmNvbS9mb28tMS4wLjAudGFy Lmd6IgorICAgICAgICAgICAgICAgICAgICAoYmVnaW4KKyAgICAgICAgICAgICAgICAgICAgICAo bWtkaXIgImZvby0xLjAuMCIpCisgICAgICAgICAgICAgICAgICAgICAgKHdpdGgtb3V0cHV0LXRv LWZpbGUKKyAgICAgICAgICAgICAgICAgICAgICAgICJmb28tMS4wLjAvcmVxdWlyZW1lbnRzLnR4 dCIKKyAgICAgICAgICAgICAgICAgICAgICAgIChsYW1iZGEgKCkgKGRpc3BsYXkgdGVzdC1yZXF1 aXJlbWVudHMpKSkKKyAgICAgICAgICAgICAgICAgICAgICAoc3lzdGVtKiAidGFyIiAiY3p2ZiIg ZmlsZS1uYW1lICJmb28tMS4wLjAvIikKKyAgICAgICAgICAgICAgICAgICAgICAoZGVsZXRlLWZp bGUtcmVjdXJzaXZlbHkgImZvby0xLjAuMCIpCisgICAgICAgICAgICAgICAgICAgICAgKHNldCEg dGVzdC1zb3VyY2UtaGFzaAorICAgICAgICAgICAgICAgICAgICAgICAgKGNhbGwtd2l0aC1pbnB1 dC1maWxlIGZpbGUtbmFtZSBwb3J0LXNoYTI1NikpKSkKKyAgICAgICAgICAgICAgICAgICAoImh0 dHBzOi8vZXhhbXBsZS5jb20vZm9vLTEuMC4wLXB5Mi5weTMtbm9uZS1hbnkud2hsIgorICAgICAg ICAgICAgICAgICAgICAoYmVnaW4KKyAgICAgICAgICAgICAgICAgICAgICAobWtkaXIgImZvby0x LjAuMC5kaXN0LWluZm8iKQorICAgICAgICAgICAgICAgICAgICAgICh3aXRoLW91dHB1dC10by1m aWxlCisgICAgICAgICAgICAgICAgICAgICAgICAiZm9vLTEuMC4wLmRpc3QtaW5mby9tZXRhZGF0 YS5qc29uIgorICAgICAgICAgICAgICAgICAgICAgICAgKGxhbWJkYSAoKSAoZGlzcGxheSB0ZXN0 LW1ldGFkYXRhKSkpCisgICAgICAgICAgICAgICAgICAgICAgKGxldCAoKHppcC1maWxlIChzdHJp bmctYXBwZW5kIGZpbGUtbmFtZSAiLnppcCIpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIChz eXN0ZW0qCisgICAgICAgICAgICAgICAgICAgICAgICAgICJ6aXAiCisgICAgICAgICAgICAgICAg ICAgICAgICAgIHppcC1maWxlCisgICAgICAgICAgICAgICAgICAgICAgICAgICJmb28tMS4wLjAu ZGlzdC1pbmZvL21ldGFkYXRhLmpzb24iKQorICAgICAgICAgICAgICAgICAgICAgICAgKHJlbmFt ZS1maWxlIHppcC1maWxlIGZpbGUtbmFtZSkpCisgICAgICAgICAgICAgICAgICAgICAgKGRlbGV0 ZS1maWxlLXJlY3Vyc2l2ZWx5ICJmb28tMS4wLjAuZGlzdC1pbmZvIikpKQorICAgICAgICAgICAg ICAgICAgIChfIChlcnJvciAiVW5leHBlY3RlZCBVUkw6ICIgdXJsKSkpKSkKKyAgICAgICAgICht b2NrICgoZ3VpeCBodHRwLWNsaWVudCkKKyAgICAgICAgICAgICAgICBodHRwLWZldGNoCisgICAg ICAgICAgICAgICAgKGxhbWJkYSAodXJsIC4gcmVzdCkKKyAgICAgICAgICAgICAgICAgIChtYXRj aCB1cmwKKyAgICAgICAgICAgICAgICAgICAgICAgICAoImh0dHBzOi8vcHlwaS5weXRob24ub3Jn L3B5cGkvZm9vL2pzb24iCisgICAgICAgICAgICAgICAgICAgICAgICAgICh2YWx1ZXMKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAob3Blbi1pbnB1dC1zdHJpbmcgdGVzdC1qc29uKQorICAg ICAgICAgICAgICAgICAgICAgICAgICAgIChzdHJpbmctbGVuZ3RoIHRlc3QtanNvbikpKQorICAg ICAgICAgICAgICAgICAgICAgICAgICgiaHR0cHM6Ly9leGFtcGxlLmNvbS9mb28tMS4wLjAtcHky LnB5My1ub25lLWFueS53aGwiCisgICAgICAgICAgICAgICAgICAgICAgICAgICNmKQorICAgICAg ICAgICAgICAgICAgICAgICAgIChfIChlcnJvciAiVW5leHBlY3RlZCBVUkw6ICIgdXJsKSkpKSkK KyAgICAgICAgICAgICAgIChtYXRjaCAocHlwaS0+Z3VpeC1wYWNrYWdlICJmb28iKQorICAgICAg ICAgICAgICAgICAgICAgICgoJ3BhY2thZ2UKKyAgICAgICAgICAgICAgICAgICAgICAgICgnbmFt ZSAicHl0aG9uLWZvbyIpCisgICAgICAgICAgICAgICAgICAgICAgICAoJ3ZlcnNpb24gIjEuMC4w IikKKyAgICAgICAgICAgICAgICAgICAgICAgICgnc291cmNlCisgICAgICAgICAgICAgICAgICAg ICAgICAgKCdvcmlnaW4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgKCdtZXRob2QgJ3VybC1m ZXRjaCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgKCd1cmkgKCdweXBpLXVyaSAiZm9vIiAn dmVyc2lvbikpCisgICAgICAgICAgICAgICAgICAgICAgICAgICgnc2hhMjU2ICgnYmFzZTMyICg/ IHN0cmluZz8gaGFzaCkpKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAoJ2J1aWxkLXN5c3Rl bSAncHl0aG9uLWJ1aWxkLXN5c3RlbSkKKyAgICAgICAgICAgICAgICAgICAgICAgICgncHJvcGFn YXRlZC1pbnB1dHMKKyAgICAgICAgICAgICAgICAgICAgICAgICAoJ3F1YXNpcXVvdGUKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgKCgicHl0aG9uLWJhciIgKCd1bnF1b3RlICdweXRob24tYmFy KSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICgicHl0aG9uLWJheiIgKCd1bnF1b3RlICdw eXRob24tYmF6KSkpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICgnaG9tZS1wYWdlICJodHRw Oi8vZXhhbXBsZS5jb20iKQorICAgICAgICAgICAgICAgICAgICAgICAgKCdzeW5vcHNpcyAic3Vt bWFyeSIpCisgICAgICAgICAgICAgICAgICAgICAgICAoJ2Rlc2NyaXB0aW9uICJzdW1tYXJ5IikK KyAgICAgICAgICAgICAgICAgICAgICAgICgnbGljZW5zZSAnbGljZW5zZTpsZ3BsMi4wKSkKKyAg ICAgICAgICAgICAgICAgICAgICAgKHN0cmluZz0/CisgICAgICAgICAgICAgICAgICAgICAgICAg KGJ5dGV2ZWN0b3ItPm5peC1iYXNlMzItc3RyaW5nIHRlc3Qtc291cmNlLWhhc2gpCisgICAgICAg ICAgICAgICAgICAgICAgICAgaGFzaCkpCisgICAgICAgICAgICAgICAgICAgICAgKHggKHBrICdm YWlsIHggI2YpKSkpKSkKcmVzdWx0OiBTS0lQCgoKRkFJTDogdGVzdHMvZ3VpeC1wYWNrYWdlCj09 PT09PT09PT09PT09PT09PT09PT09PQoKKyBndWl4IHBhY2thZ2UgLS12ZXJzaW9uCmd1aXggcGFj a2FnZSAoR05VIEd1aXgpIDAuMTMuMC0xMi4wYTE1NGMxCkNvcHlyaWdodCAoQykgMjAxNyB0aGUg R3VpeCBhdXRob3JzCkxpY2Vuc2UgR1BMdjMrOiBHTlUgR1BMIHZlcnNpb24gMyBvciBsYXRlciA8 aHR0cDovL2dudS5vcmcvbGljZW5zZXMvZ3BsLmh0bWw+ClRoaXMgaXMgZnJlZSBzb2Z0d2FyZTog eW91IGFyZSBmcmVlIHRvIGNoYW5nZSBhbmQgcmVkaXN0cmlidXRlIGl0LgpUaGVyZSBpcyBOTyBX QVJSQU5UWSwgdG8gdGhlIGV4dGVudCBwZXJtaXR0ZWQgYnkgbGF3LgorIG1vZHVsZV9kaXI9dC1n dWl4LXBhY2thZ2UtMjI1ODYKKyBwcm9maWxlPXQtcHJvZmlsZS0yMjU4NgorIHRtcGZpbGU9dC1n dWl4LXBhY2thZ2UtZmlsZS0yMjU4NgorIHJtIC1mIHQtcHJvZmlsZS0yMjU4NiB0LWd1aXgtcGFj a2FnZS1maWxlLTIyNTg2CisgdHJhcCAncm0gLWYgIiRwcm9maWxlIiAiJHByb2ZpbGUtIlswLTld KiAiJHRtcGZpbGUiOyBybSAtcmYgIiRtb2R1bGVfZGlyIiB0LWhvbWUtMjI1ODYnIEVYSVQKKyBn dWl4IHBhY2thZ2UgLS1ib290c3RyYXAgLWUgKwpndWl4IHBhY2thZ2U6IGVycm9yOiBleHByZXNz aW9uICIrIiBkb2VzIG5vdCBldmFsdWF0ZSB0byBhIHBhY2thZ2UKKyB0cnVlCisrIGd1aXggYnVp bGQgZ3VpbGUtYm9vdHN0cmFwCmFjY2VwdGVkIGNvbm5lY3Rpb24gZnJvbSBwaWQgMjI2MjgsIHVz ZXIgbml4YmxkCisgZ3VpeCBwYWNrYWdlIC0tYm9vdHN0cmFwIC1wIHQtcHJvZmlsZS0yMjU4NiAt aSAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvN3kwcThuNnp2NDFscjl2aXliaGlobGNtaHJpNjkzOWYt Z3VpbGUtYm9vdHN0cmFwLTIuMAphY2NlcHRlZCBjb25uZWN0aW9uIGZyb20gcGlkIDIyNjQ3LCB1 c2VyIG5peGJsZApndWl4IHBhY2thZ2U6IHdhcm5pbmc6IENvbnNpZGVyIHJ1bm5pbmcgJ2d1aXgg cHVsbCcgZm9sbG93ZWQgYnkKJ2d1aXggcGFja2FnZSAtdScgdG8gZ2V0IHVwLXRvLWRhdGUgcGFj a2FnZXMgYW5kIHNlY3VyaXR5IHVwZGF0ZXMuCgpUaGUgZm9sbG93aW5nIHBhY2thZ2Ugd2lsbCBi ZSBpbnN0YWxsZWQ6CiAgIGd1aWxlLWJvb3RzdHJhcAkyLjAJL3RtcC9ndWl4LXRlc3RzL3N0b3Jl Lzd5MHE4bjZ6djQxbHI5dml5YmhpaGxjbWhyaTY5MzlmLWd1aWxlLWJvb3RzdHJhcC0yLjAKClRo ZSBmb2xsb3dpbmcgZGVyaXZhdGlvbiB3aWxsIGJlIGJ1aWx0OgogICAvdG1wL2d1aXgtdGVzdHMv c3RvcmUvbHZ4djd6Y3Y4bHoybnI3OXBzZjZ2bm14cXJuc2JhYXktcHJvZmlsZS5kcnYKQmFja3Ry YWNlOgpJbiBpY2UtOS9ib290LTkuc2NtOgogMTU3OiAxMCBbY2F0Y2ggI3QgIzxjYXRjaC1jbG9z dXJlIGM5MWUyMD4gLi4uXQpJbiB1bmtub3duIGZpbGU6CiAgID86IDkgW2FwcGx5LXNtb2IvMSAj PGNhdGNoLWNsb3N1cmUgYzkxZTIwPl0KSW4gaWNlLTkvYm9vdC05LnNjbToKICA2MzogOCBbY2Fs bC13aXRoLXByb21wdCBwcm9tcHQwIC4uLl0KSW4gaWNlLTkvZXZhbC5zY206CiA0MzI6IDcgW2V2 YWwgIyAjXQpJbiBpY2UtOS9ib290LTkuc2NtOgoyMzIwOiA2IFtzYXZlLW1vZHVsZS1leGN1cnNp b24gIzxwcm9jZWR1cmUgY2JmYjAwIGF0IGljZS05L2Jvb3QtOS5zY206Mzk2MTozICgpPl0KMzk2 NjogNSBbIzxwcm9jZWR1cmUgY2JmYjAwIGF0IGljZS05L2Jvb3QtOS5zY206Mzk2MTozICgpPl0K MTY0NTogNCBbJXN0YXJ0LXN0YWNrIGxvYWQtc3RhY2sgIzxwcm9jZWR1cmUgY2MwZGEwIGF0IGlj ZS05L2Jvb3QtOS5zY206Mzk1NzoxMCAoKT5dCjE2NTA6IDMgWyM8cHJvY2VkdXJlIGNjNmRiMCAo KT5dCkluIHVua25vd24gZmlsZToKICAgPzogMiBbcHJpbWl0aXZlLWxvYWQgIi90bXAvZ3VpeC10 ZXN0cy9zdG9yZS9xanpmZnkxcHBmbTRhNmJtZ2FwODBsNGtrNmM4MzY5Zi1wcm9maWxlLWJ1aWxk ZXIiXQpJbiBpY2UtOS9ldmFsLnNjbToKIDQzMjogMSBbZXZhbCAjICgpXQpJbiB1bmtub3duIGZp bGU6CiAgID86IDAgW3NldHZidWYgIzxvdXRwdXQ6IGZpbGUgMT4gbGluZSAjPHVuZGVmaW5lZD5d CgpFUlJPUjogSW4gcHJvY2VkdXJlIHNldHZidWY6CkVSUk9SOiBXcm9uZyB0eXBlIChleHBlY3Rp bmcgZXhhY3QgaW50ZWdlcik6IGxpbmUKYnVpbGRlciBmb3IgYC90bXAvZ3VpeC10ZXN0cy9zdG9y ZS9sdnh2N3pjdjhsejJucjc5cHNmNnZubXhxcm5zYmFheS1wcm9maWxlLmRydicgZmFpbGVkIHdp dGggZXhpdCBjb2RlIDEKZ3VpeCBwYWNrYWdlOiBlcnJvcjogYnVpbGQgZmFpbGVkOiBidWlsZCBv ZiBgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL2x2eHY3emN2OGx6Mm5yNzlwc2Y2dm5teHFybnNiYWF5 LXByb2ZpbGUuZHJ2JyBmYWlsZWQKKyBybSAtZiB0LXByb2ZpbGUtMjI1ODYgJ3QtcHJvZmlsZS0y MjU4Ni1bMC05XSonIHQtZ3VpeC1wYWNrYWdlLWZpbGUtMjI1ODYKKyBybSAtcmYgdC1ndWl4LXBh Y2thZ2UtMjI1ODYgdC1ob21lLTIyNTg2Ci4vdGVzdC1lbnY6IGxpbmUgMTogMjI1ODUgVGVybWlu YXRlZCAgICAgICAgICAgICAgIi90bXAvZ3VpeC1idWlsZC1ndWl4LTAuMTMuMC0xMi4wYTE1NGMx Ky5kcnYtMC9zb3VyY2UvcHJlLWluc3QtZW52IiAiL3RtcC9ndWl4LWJ1aWxkLWd1aXgtMC4xMy4w LTEyLjBhMTU0YzErLmRydi0wL3NvdXJjZS9ndWl4LWRhZW1vbiIgLS1kaXNhYmxlLWNocm9vdCAt LXN1YnN0aXR1dGUtdXJscz0iJEdVSVhfQklOQVJZX1NVQlNUSVRVVEVfVVJMIgpGQUlMIHRlc3Rz L2d1aXgtcGFja2FnZS5zaCAoZXhpdCBzdGF0dXM6IDEpCgpTS0lQOiB0ZXN0cy9ndWl4LXBhY2th Z2UtbmV0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCisgZ3VpeCBwYWNrYWdlIC0tdmVy c2lvbgpndWl4IHBhY2thZ2UgKEdOVSBHdWl4KSAwLjEzLjAtMTIuMGExNTRjMQpDb3B5cmlnaHQg KEMpIDIwMTcgdGhlIEd1aXggYXV0aG9ycwpMaWNlbnNlIEdQTHYzKzogR05VIEdQTCB2ZXJzaW9u IDMgb3IgbGF0ZXIgPGh0dHA6Ly9nbnUub3JnL2xpY2Vuc2VzL2dwbC5odG1sPgpUaGlzIGlzIGZy ZWUgc29mdHdhcmU6IHlvdSBhcmUgZnJlZSB0byBjaGFuZ2UgYW5kIHJlZGlzdHJpYnV0ZSBpdC4K VGhlcmUgaXMgTk8gV0FSUkFOVFksIHRvIHRoZSBleHRlbnQgcGVybWl0dGVkIGJ5IGxhdy4KKyBn dWlsZSAtYyAnKGdldGFkZHJpbmZvICJ3d3cuZ251Lm9yZyIgIjgwIiBBSV9OVU1FUklDU0VSVikn CisgZXhpdCA3NwouL3Rlc3QtZW52OiBsaW5lIDE6IDIyNjg2IFRlcm1pbmF0ZWQgICAgICAgICAg ICAgICIvdG1wL2d1aXgtYnVpbGQtZ3VpeC0wLjEzLjAtMTIuMGExNTRjMSsuZHJ2LTAvc291cmNl L3ByZS1pbnN0LWVudiIgIi90bXAvZ3VpeC1idWlsZC1ndWl4LTAuMTMuMC0xMi4wYTE1NGMxKy5k cnYtMC9zb3VyY2UvZ3VpeC1kYWVtb24iIC0tZGlzYWJsZS1jaHJvb3QgLS1zdWJzdGl0dXRlLXVy bHM9IiRHVUlYX0JJTkFSWV9TVUJTVElUVVRFX1VSTCIKU0tJUCB0ZXN0cy9ndWl4LXBhY2thZ2Ut bmV0LnNoIChleGl0IHN0YXR1czogNzcpCgpGQUlMOiB0ZXN0cy9ndWl4LWVudmlyb25tZW50Cj09 PT09PT09PT09PT09PT09PT09PT09PT09PT0KCisgc2V0IC1lCisgZ3VpeCBlbnZpcm9ubWVudCAt LXZlcnNpb24KZ3VpeCBlbnZpcm9ubWVudCAoR05VIEd1aXgpIDAuMTMuMC0xMi4wYTE1NGMxCkNv cHlyaWdodCAoQykgMjAxNyB0aGUgR3VpeCBhdXRob3JzCkxpY2Vuc2UgR1BMdjMrOiBHTlUgR1BM IHZlcnNpb24gMyBvciBsYXRlciA8aHR0cDovL2dudS5vcmcvbGljZW5zZXMvZ3BsLmh0bWw+ClRo aXMgaXMgZnJlZSBzb2Z0d2FyZTogeW91IGFyZSBmcmVlIHRvIGNoYW5nZSBhbmQgcmVkaXN0cmli dXRlIGl0LgpUaGVyZSBpcyBOTyBXQVJSQU5UWSwgdG8gdGhlIGV4dGVudCBwZXJtaXR0ZWQgYnkg bGF3LgorIHRtcGRpcj10LWd1aXgtZW52aXJvbm1lbnQtMjM4NzUKKyBnY3Jvb3Q9dC1ndWl4LWVu dmlyb25tZW50LWdjLXJvb3QtMjM4NzUKKyB0cmFwICdybSAtciAiJHRtcGRpciI7IHJtIC1mICIk Z2Nyb290IicgRVhJVAorIG1rZGlyIHQtZ3VpeC1lbnZpcm9ubWVudC0yMzg3NQorIGV4cG9ydCBT SEVMTAorIGd1aXggZW52aXJvbm1lbnQgLS1ib290c3RyYXAgLS1hZC1ob2MgZ3VpbGUtYm9vdHN0 cmFwIC0tcHVyZSAtLXNlYXJjaC1wYXRocwphY2NlcHRlZCBjb25uZWN0aW9uIGZyb20gcGlkIDIz ODk5LCB1c2VyIG5peGJsZApUaGUgZm9sbG93aW5nIGRlcml2YXRpb24gd2lsbCBiZSBidWlsdDoK ICAgL3RtcC9ndWl4LXRlc3RzL3N0b3JlL3IwNGsyanNscmx3bHBkY2tmeXh3enBpdmhubGNndmRi LXByb2ZpbGUuZHJ2CkJhY2t0cmFjZToKSW4gaWNlLTkvYm9vdC05LnNjbToKIDE1NzogMTAgW2Nh dGNoICN0ICM8Y2F0Y2gtY2xvc3VyZSBjOTFlMjA+IC4uLl0KSW4gdW5rbm93biBmaWxlOgogICA/ OiA5IFthcHBseS1zbW9iLzEgIzxjYXRjaC1jbG9zdXJlIGM5MWUyMD5dCkluIGljZS05L2Jvb3Qt OS5zY206CiAgNjM6IDggW2NhbGwtd2l0aC1wcm9tcHQgcHJvbXB0MCAuLi5dCkluIGljZS05L2V2 YWwuc2NtOgogNDMyOiA3IFtldmFsICMgI10KSW4gaWNlLTkvYm9vdC05LnNjbToKMjMyMDogNiBb c2F2ZS1tb2R1bGUtZXhjdXJzaW9uICM8cHJvY2VkdXJlIGNiZmIwMCBhdCBpY2UtOS9ib290LTku c2NtOjM5NjE6MyAoKT5dCjM5NjY6IDUgWyM8cHJvY2VkdXJlIGNiZmIwMCBhdCBpY2UtOS9ib290 LTkuc2NtOjM5NjE6MyAoKT5dCjE2NDU6IDQgWyVzdGFydC1zdGFjayBsb2FkLXN0YWNrICM8cHJv Y2VkdXJlIGNjMGRhMCBhdCBpY2UtOS9ib290LTkuc2NtOjM5NTc6MTAgKCk+XQoxNjUwOiAzIFsj PHByb2NlZHVyZSBjYzZkYjAgKCk+XQpJbiB1bmtub3duIGZpbGU6CiAgID86IDIgW3ByaW1pdGl2 ZS1sb2FkICIvdG1wL2d1aXgtdGVzdHMvc3RvcmUvcWp6ZmZ5MXBwZm00YTZibWdhcDgwbDRrazZj ODM2OWYtcHJvZmlsZS1idWlsZGVyIl0KSW4gaWNlLTkvZXZhbC5zY206CiA0MzI6IDEgW2V2YWwg IyAoKV0KSW4gdW5rbm93biBmaWxlOgogICA/OiAwIFtzZXR2YnVmICM8b3V0cHV0OiBmaWxlIDE+ IGxpbmUgIzx1bmRlZmluZWQ+XQoKRVJST1I6IEluIHByb2NlZHVyZSBzZXR2YnVmOgpFUlJPUjog V3JvbmcgdHlwZSAoZXhwZWN0aW5nIGV4YWN0IGludGVnZXIpOiBsaW5lCmJ1aWxkZXIgZm9yIGAv dG1wL2d1aXgtdGVzdHMvc3RvcmUvcjA0azJqc2xybHdscGRja2Z5eHd6cGl2aG5sY2d2ZGItcHJv ZmlsZS5kcnYnIGZhaWxlZCB3aXRoIGV4aXQgY29kZSAxCmd1aXggZW52aXJvbm1lbnQ6IGVycm9y OiBidWlsZCBmYWlsZWQ6IGJ1aWxkIG9mIGAvdG1wL2d1aXgtdGVzdHMvc3RvcmUvcjA0azJqc2xy bHdscGRja2Z5eHd6cGl2aG5sY2d2ZGItcHJvZmlsZS5kcnYnIGZhaWxlZAorIHJtIC1yIHQtZ3Vp eC1lbnZpcm9ubWVudC0yMzg3NQorIHJtIC1mIHQtZ3VpeC1lbnZpcm9ubWVudC1nYy1yb290LTIz ODc1Ci4vdGVzdC1lbnY6IGxpbmUgMTogMjM4NzQgVGVybWluYXRlZCAgICAgICAgICAgICAgIi90 bXAvZ3VpeC1idWlsZC1ndWl4LTAuMTMuMC0xMi4wYTE1NGMxKy5kcnYtMC9zb3VyY2UvcHJlLWlu c3QtZW52IiAiL3RtcC9ndWl4LWJ1aWxkLWd1aXgtMC4xMy4wLTEyLjBhMTU0YzErLmRydi0wL3Nv dXJjZS9ndWl4LWRhZW1vbiIgLS1kaXNhYmxlLWNocm9vdCAtLXN1YnN0aXR1dGUtdXJscz0iJEdV SVhfQklOQVJZX1NVQlNUSVRVVEVfVVJMIgpGQUlMIHRlc3RzL2d1aXgtZW52aXJvbm1lbnQuc2gg KGV4aXQgc3RhdHVzOiAxKQoKU0tJUDogdGVzdHMvZ3VpeC1lbnZpcm9ubWVudC1jb250YWluZXIK PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCisgc2V0IC1lCisgZXhpdCA3 NwouL3Rlc3QtZW52OiBsaW5lIDE6IDIzOTM4IFRlcm1pbmF0ZWQgICAgICAgICAgICAgICIvdG1w L2d1aXgtYnVpbGQtZ3VpeC0wLjEzLjAtMTIuMGExNTRjMSsuZHJ2LTAvc291cmNlL3ByZS1pbnN0 LWVudiIgIi90bXAvZ3VpeC1idWlsZC1ndWl4LTAuMTMuMC0xMi4wYTE1NGMxKy5kcnYtMC9zb3Vy Y2UvZ3VpeC1kYWVtb24iIC0tZGlzYWJsZS1jaHJvb3QgLS1zdWJzdGl0dXRlLXVybHM9IiRHVUlY X0JJTkFSWV9TVUJTVElUVVRFX1VSTCIKU0tJUCB0ZXN0cy9ndWl4LWVudmlyb25tZW50LWNvbnRh aW5lci5zaCAoZXhpdCBzdGF0dXM6IDc3KQoK --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 04 03:37:47 2017 Received: (at 29409) by debbugs.gnu.org; 4 Dec 2017 08:37:47 +0000 Received: from localhost ([127.0.0.1]:44257 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eLmG3-0006en-Cv for submit@debbugs.gnu.org; Mon, 04 Dec 2017 03:37:47 -0500 Received: from hera.aquilenet.fr ([141.255.128.1]:41001) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eLmG1-0006ed-UW for 29409@debbugs.gnu.org; Mon, 04 Dec 2017 03:37:46 -0500 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id 6BDBB10025; Mon, 4 Dec 2017 09:37:47 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at aquilenet.fr Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id rmiHbpRoAmr1; Mon, 4 Dec 2017 09:37:46 +0100 (CET) Received: from ribbon (unknown [193.50.110.211]) by hera.aquilenet.fr (Postfix) with ESMTPSA id 9CC56E53A; Mon, 4 Dec 2017 09:37:46 +0100 (CET) From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: Mathieu Othacehe Subject: Re: [bug#29409] [PATCH] tests: install: Increase extlinux install partition size. References: <877euhtjkj.fsf@gmail.com> <1511976873-26867-1-git-send-email-m.othacehe@gmail.com> <87fu8v1yj3.fsf@gnu.org> <87wp26sisz.fsf@gmail.com> <87tvxasdgs.fsf@gmail.com> <87374rsj5n.fsf@gnu.org> <87d13v1pco.fsf@gmail.com> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 14 Frimaire an 226 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Mon, 04 Dec 2017 09:37:43 +0100 In-Reply-To: <87d13v1pco.fsf@gmail.com> (Mathieu Othacehe's message of "Sun, 03 Dec 2017 22:19:35 +0100") Message-ID: <87k1y2sxbc.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 29409 Cc: 29409@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) Heya, Mathieu Othacehe skribis: >> https://git.savannah.gnu.org/cgit/guix.git/commit/?id=3Dcdc938daf91f15= 9e082c5b81a44b074f7bf6d991 >> >> Let me know if anything=E2=80=99s amiss! > > Thanks, it looks rather tricky ! I run the test suite again and got a > few failures when building guix : > > The error seems to come from : > > ERROR: In procedure setvbuf: > ERROR: Wrong type (expecting exact integer): line > builder for `/tmp/guix-tests/store/c12sgw3ip2pmwbrmz9yld5ndfq3ck5x3-profi= le.drv' failed with exit code 1 Thing is, every time I push a fix, I also push a new bug. ;-) This one was fixed a few minutes later in 2815fca1423cf72e6f3d0e774f1058bcbf8dfdbf. Thanks, Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 04 09:29:48 2017 Received: (at 29409) by debbugs.gnu.org; 4 Dec 2017 14:29:49 +0000 Received: from localhost ([127.0.0.1]:44468 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eLrki-0008IH-NI for submit@debbugs.gnu.org; Mon, 04 Dec 2017 09:29:48 -0500 Received: from mail-wm0-f52.google.com ([74.125.82.52]:44567) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eLrkg-0008I2-CY for 29409@debbugs.gnu.org; Mon, 04 Dec 2017 09:29:46 -0500 Received: by mail-wm0-f52.google.com with SMTP id t8so6158050wmc.3 for <29409@debbugs.gnu.org>; Mon, 04 Dec 2017 06:29:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=references:user-agent:from:to:cc:subject:in-reply-to:date :message-id:mime-version; bh=IbSpGqIqsiiOEQlXC8xoXNbNAxyIQYrtepQnqrk0U+Y=; b=XqZit4RDG0/1GbLFobfGNhf/iqE22/Ip6JKs1Bsf5Jm3pyFjp22JoGcXBUg59UtWrz dbUaqFJOZotjgpC/gtAi9FamRkAHTSU1k1th6nqYLYqKz8L8xrYQ0X60onNTgF5UuKeB qIzjhscahH8wEhGKb1+cL98ErnjNuz54r++P3aBJ2U+Z9iJjnEf7WAzemb3IW3sBeC8G ZxZjoWKdktDWPesuziqdP1FgOKaRTFPaf20ZXZjBia1NuOxfXQKxU8XZ1tXpA+5GDx7L WdLd8Vy1yW98HjNNgYZQqgRlU+m2160jU/W2ht9beKqASw+VDrUv6cdQzZ3nyE5h0REt tF7Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:references:user-agent:from:to:cc:subject :in-reply-to:date:message-id:mime-version; bh=IbSpGqIqsiiOEQlXC8xoXNbNAxyIQYrtepQnqrk0U+Y=; b=I/wQYO6eLEv7xRSCWQN9Xis2qC1XrHGsogOn5s7gG4or9rHiudo+BxwLSk5Es/F9nq DSgIg/5IOx8Utdi58Yx2lfKsKupHBH+5ke9BxsXA05VkE6X9fF4DkpaWYr/kytaFrqQe fQ0VrntkQaaLdfRRPZsR4m7YLkz664y6RJx1ECGthAvEANQnejouMXdS4xXNLiU4+x3F f5TD5xPTd43B4Q/GWkW/zrbf2924DF/Eucnoz9opJV8BCcVmiKSWuCPfwUiT0f57Cpop UNudrHQeWewcn3WywBlzxDhjQl+haojr2Qnt3qU6KtEmKDqhSVnozKcx/RRi0NNRsilO vyrQ== X-Gm-Message-State: AKGB3mKz6sAHSpRpmEcXd2n7l1ejIfcPHVFUQzQ/8OOHFlpXie/1M75q C3+S+JT8GecCJl0w8+QiQ0jzag== X-Google-Smtp-Source: AGs4zMaIkmLiO1qwxGwg+I0xI+QARHzX1MaQJADo90liPQo1R2EyCncT3DPqCAz4GYh1duqwUBM5TQ== X-Received: by 10.28.169.198 with SMTP id s189mr8204256wme.65.1512397780118; Mon, 04 Dec 2017 06:29:40 -0800 (PST) Received: from denali ([46.218.109.88]) by smtp.gmail.com with ESMTPSA id b78sm3925598wmi.18.2017.12.04.06.29.39 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 04 Dec 2017 06:29:39 -0800 (PST) References: <877euhtjkj.fsf@gmail.com> <1511976873-26867-1-git-send-email-m.othacehe@gmail.com> <87fu8v1yj3.fsf@gnu.org> <87wp26sisz.fsf@gmail.com> <87tvxasdgs.fsf@gmail.com> <87374rsj5n.fsf@gnu.org> <87d13v1pco.fsf@gmail.com> <87k1y2sxbc.fsf@gnu.org> User-agent: mu4e 0.9.18; emacs 25.2.1 From: Mathieu Othacehe To: Ludovic =?utf-8?Q?Court=C3=A8s?= Subject: Re: [bug#29409] [PATCH] tests: install: Increase extlinux install partition size. In-reply-to: <87k1y2sxbc.fsf@gnu.org> Date: Mon, 04 Dec 2017 15:29:38 +0100 Message-ID: <878tei5zxp.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 29409 Cc: 29409@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) > This one was fixed a few minutes later in > 2815fca1423cf72e6f3d0e774f1058bcbf8dfdbf. I was able to test "installed-os" and "installed-extlinux-os" everything seems back to normal. Thanks again, Mathieu From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 04 09:30:28 2017 Received: (at 29409) by debbugs.gnu.org; 4 Dec 2017 14:30:28 +0000 Received: from localhost ([127.0.0.1]:44472 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eLrlM-0008Ks-1E for submit@debbugs.gnu.org; Mon, 04 Dec 2017 09:30:28 -0500 Received: from mail-wm0-f46.google.com ([74.125.82.46]:37390) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eLrlK-0008Kf-4r for 29409@debbugs.gnu.org; Mon, 04 Dec 2017 09:30:26 -0500 Received: by mail-wm0-f46.google.com with SMTP id f140so14638538wmd.2 for <29409@debbugs.gnu.org>; Mon, 04 Dec 2017 06:30:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=references:user-agent:from:to:cc:subject:in-reply-to:date :message-id:mime-version; bh=08HFSsRjunA/poLNkjYFWGAP9dctYrLNL+LCEOfYUIc=; b=chHHrkkNIIEYkGpuGEF7HME/5CSiAvUFocxulxbdPAEFJf+L73lUscJgnUMiw6dpwT 7/nksDDbLU1XF5eGgeBkEGj7V7NCKrAiDyIEqA0pxrlvemRysbf1StqkV+FONlEshHME lwE1oikaMTz9Pjnqe0/phcc2QDxkGABmlbU6jwpQV6wlSFRzR3H0vPUoAa8/p6r/ud7H 5zkwP3lpYwlBw9bGE/KS7yh411O3u3T9Tx2eYPi/PzxTWgdYCj0WUHxGpjWpYxqjUPG+ HNjQkYSlaIqUdT0k+VieTM7Xg7SE6k8e/0ytLEb00bVD/aW2sSzv6SHHp+43T/iXTYfG sldQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:references:user-agent:from:to:cc:subject :in-reply-to:date:message-id:mime-version; bh=08HFSsRjunA/poLNkjYFWGAP9dctYrLNL+LCEOfYUIc=; b=nlKs+f7gCKtAa0+Wa6NnvnBRFzEbftVO8fNyeQUoGV2yzFpc1q8lzBcjiFTzv544P1 /m8abbK17xTklSEaz6r3iaR1dVjpSPtm0y50Vi1IoZTyYyB766leXKaLhuz6GRAbsRMu JGcOubtoBtZAAY3jQSHi2HlMYEqjdslhyq/H6ed11MdIPUXsKQc4z7XAQz8hPUn5vXk2 M+/qhHAtXZmTIbC98QUNN5JISAsaoUp5hD811F4LVNKuJuCWi3KrAA25mvinM6HCGgZj O6kGOCAWFSxmYGsswroMWlimknyfJOUVrHvAv67L3o/1jFrwWMPulfQGYowTdzVn0ozL eDQQ== X-Gm-Message-State: AKGB3mIVJFSkIV66ke3TxEBwFoCzYEZHdntnkZ2MWvUADysMnzFyIC3o HO6X6HJZuU/0VupqKtDJ0jzv8A== X-Google-Smtp-Source: AGs4zMY4XqBcf01ytScp5Be9YI1AjIhU2LnrJjTv4Z06C7BJWYzuQOck8aYTkwuCXU1L38DNp6fESw== X-Received: by 10.28.128.73 with SMTP id b70mr3191077wmd.53.1512397820336; Mon, 04 Dec 2017 06:30:20 -0800 (PST) Received: from denali ([46.218.109.88]) by smtp.gmail.com with ESMTPSA id w46sm12458770wrb.86.2017.12.04.06.30.19 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 04 Dec 2017 06:30:19 -0800 (PST) References: <877euhtjkj.fsf@gmail.com> <1511976873-26867-1-git-send-email-m.othacehe@gmail.com> <87fu8v1yj3.fsf@gnu.org> User-agent: mu4e 0.9.18; emacs 25.2.1 From: Mathieu Othacehe To: Ludovic =?utf-8?Q?Court=C3=A8s?= Subject: Re: [bug#29409] [PATCH] tests: install: Increase extlinux install partition size. In-reply-to: <87fu8v1yj3.fsf@gnu.org> Date: Mon, 04 Dec 2017 15:30:19 +0100 Message-ID: <877eu25zwk.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 29409 Cc: 29409@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) > Does 53d26163c6ec1a1c48a1ec775e67b739b9005270 allow bare-bones to fit in > 1G again? That was the main motivation behind this patch. Yes it does, so this patch becomes useless. Mathieu From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 04 09:31:57 2017 Received: (at 29409) by debbugs.gnu.org; 4 Dec 2017 14:31:57 +0000 Received: from localhost ([127.0.0.1]:44476 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eLrmm-0008My-C7 for submit@debbugs.gnu.org; Mon, 04 Dec 2017 09:31:57 -0500 Received: from mail-wr0-f178.google.com ([209.85.128.178]:33036) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eLrmk-0008Mk-8j for 29409@debbugs.gnu.org; Mon, 04 Dec 2017 09:31:54 -0500 Received: by mail-wr0-f178.google.com with SMTP id v22so17521605wrb.0 for <29409@debbugs.gnu.org>; Mon, 04 Dec 2017 06:31:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=references:user-agent:from:to:cc:subject:in-reply-to:date :message-id:mime-version; bh=Z2lGpwqNN6x9kjXgpXYjRNFpdDBBkyv/w/1mCVRI4vY=; b=QwLsbvRPWjzWBsKWIFzPF5IzxX7RI0WSgS2XvSZmQwvk4QMvRzkjByA8XOou+jEPQI jr0md0gBGM3PeHK3BN/CfUC6NMDHwc32vUpsSXt7D5gOcX1iy0IGYfyCUXapnBYNNSdm 2oQZjFOpQJFfHSOaaSSLg0rE340GzxYcdgr6rDjojGUDHML81lKp0O+FyzMk7W1oL15n d6BcSNxYyI2HxMKQ1lbBsPwDujdJgqpOpJsbOqgMF/Z0OhyWPdzJ0GGaQQ/baxCWjCfU OMLVY17nMNN8S7zF3ve4LAG5s4L5LoiGXxpewiK/RlRfqbMl3zIhNbaQCtowQKVt0W9F wu2A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:references:user-agent:from:to:cc:subject :in-reply-to:date:message-id:mime-version; bh=Z2lGpwqNN6x9kjXgpXYjRNFpdDBBkyv/w/1mCVRI4vY=; b=LiZB4x50As1MeuHhbcFs+c/R6H2WPc2IiRPKXpWAeRoXl7iFZzHS29jsfQYxYcHx6y 9wGVO0WfwYHX0Tl85ceLjCSv1BL4P0IR0PJhdf71AX82qp5/+v872san8hC6R4cf+Tf6 pTjhef+HJjBT0rKOCxb08dGGNWzVVb4JhXa2lcgp0DHoH/HFVH0XdOBt/cgsCn6bfk3G lm3cLpxDuYTChaCp4lxz/65O1pelddty0ef2wKv4umFujHcgrTES7CiMDoSo1JlHqZjn HEPo6ATRgSyqcTkgSgVSADGIMXPwfzxXrVv98c+z/TqHbPaEiPlKTGGSIBPgvnFO+gLx VeEg== X-Gm-Message-State: AJaThX7UWRKHQjoXkRyhvdpv7zUr64th0f+sOOALgbdGziPOIRjmvsdE 0vZouwMK1EQAHDNWL9LhzxcPEw== X-Google-Smtp-Source: AGs4zMYRKXE5auvYYaNWUmBeJlLNdFUB87wz2eQgPtugK8H6NGCTDAZGClKesDzyvywR8YhiAjxDuQ== X-Received: by 10.223.154.244 with SMTP id a107mr14512236wrc.8.1512397908282; Mon, 04 Dec 2017 06:31:48 -0800 (PST) Received: from denali ([46.218.109.88]) by smtp.gmail.com with ESMTPSA id w133sm3740799wmg.9.2017.12.04.06.31.47 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 04 Dec 2017 06:31:47 -0800 (PST) References: <877euhtjkj.fsf@gmail.com> <1512038828-10822-1-git-send-email-m.othacehe@gmail.com> <87609qhax6.fsf@gnu.org> User-agent: mu4e 0.9.18; emacs 25.2.1 From: Mathieu Othacehe To: Ludovic =?utf-8?Q?Court=C3=A8s?= Subject: Re: [bug#29409] [PATCH] build: utils: Introduce dd. In-reply-to: <87609qhax6.fsf@gnu.org> Date: Mon, 04 Dec 2017 15:31:46 +0100 Message-ID: <87609m5zu5.fsf@gmail.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 29409 Cc: 29409@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit > Granted, that’s a bit more verbose, but it’s also very lightweight > compared to using ‘dd’. Here's a new implementation, using your snippet. I tested it with "installed-extlinux-os", it seems ok. Mathieu --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=0001-bootloader-extlinux-Stop-using-dd-binary.patch >From 742662ceec2a40d664520f01977ddc4cbe64d369 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Fri, 1 Dec 2017 14:09:38 +0100 Subject: [PATCH] bootloader: extlinux: Stop using dd binary. * gnu/bootloader/extlinux.scm (dd): Remove it, (install-extlinux): replace dd call by Guile I/O procedures. * gnu/system/vm.scm (qemu-image): Add (ice-9 binary-ports) to module-closure and used-modules list to provide "get-bytevector-n" and "put-bytevector". * guix/scripts/system.scm (bootloader-installer-derivation): Ditto. --- gnu/bootloader/extlinux.scm | 18 ++++++++---------- gnu/system/vm.scm | 6 ++++-- guix/scripts/system.scm | 6 ++++-- 3 files changed, 16 insertions(+), 14 deletions(-) diff --git a/gnu/bootloader/extlinux.scm b/gnu/bootloader/extlinux.scm index 0db5598..98fad0c 100644 --- a/gnu/bootloader/extlinux.scm +++ b/gnu/bootloader/extlinux.scm @@ -85,14 +85,6 @@ TIMEOUT ~a~%" ;;; Install procedures. ;;; -(define dd - #~(lambda (bs count if of) - (zero? (system* "dd" - (string-append "bs=" (number->string bs)) - (string-append "count=" (number->string count)) - (string-append "if=" if) - (string-append "of=" of))))) - (define (install-extlinux mbr) #~(lambda (bootloader device mount-point) (let ((extlinux (string-append bootloader "/sbin/extlinux")) @@ -102,8 +94,14 @@ TIMEOUT ~a~%" (install-file file install-dir)) (find-files syslinux-dir "\\.c32$")) - (unless (and (zero? (system* extlinux "--install" install-dir)) - (#$dd 440 1 (string-append syslinux-dir "/" #$mbr) device)) + (unless + (and (zero? (system* extlinux "--install" install-dir)) + (call-with-input-file (string-append syslinux-dir "/" #$mbr) + (lambda (input) + (let ((bv (get-bytevector-n input 440)) + (output (open-file device "wb0"))) + (put-bytevector output bv) + (close-port output))))) (error "failed to install SYSLINUX"))))) (define install-extlinux-mbr diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm index b68cce3..b5fe786 100644 --- a/gnu/system/vm.scm +++ b/gnu/system/vm.scm @@ -274,11 +274,13 @@ the image." (expression->derivation-in-linux-vm name (with-imported-modules (source-module-closure '((gnu build vm) - (guix build utils))) + (guix build utils) + (ice-9 binary-ports))) #~(begin (use-modules (gnu build vm) (guix build utils) - (srfi srfi-26)) + (srfi srfi-26) + (ice-9 binary-ports)) (let ((inputs '#$(append (list qemu parted e2fsprogs dosfstools) diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm index 91d151d..5116b82 100644 --- a/guix/scripts/system.scm +++ b/guix/scripts/system.scm @@ -674,9 +674,11 @@ any, are available. Raise an error if they're not." and TARGET arguments." (with-monad %store-monad (gexp->file "bootloader-installer" - (with-imported-modules '((guix build utils)) + (with-imported-modules '((guix build utils) + (ice-9 binary-ports)) #~(begin - (use-modules (guix build utils)) + (use-modules (guix build utils) + (ice-9 binary-ports)) (#$installer #$bootloader #$device #$target)))))) (define* (perform-action action os -- 2.7.4 --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 04 09:43:44 2017 Received: (at 29409) by debbugs.gnu.org; 4 Dec 2017 14:43:44 +0000 Received: from localhost ([127.0.0.1]:44489 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eLryC-0000Dd-FB for submit@debbugs.gnu.org; Mon, 04 Dec 2017 09:43:44 -0500 Received: from hera.aquilenet.fr ([141.255.128.1]:42167) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eLryA-0000DT-Ph for 29409@debbugs.gnu.org; Mon, 04 Dec 2017 09:43:43 -0500 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id C6D4BF9E8; Mon, 4 Dec 2017 15:43:43 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at aquilenet.fr Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 0foAemwGihzp; Mon, 4 Dec 2017 15:43:43 +0100 (CET) Received: from ribbon (unknown [193.50.110.211]) by hera.aquilenet.fr (Postfix) with ESMTPSA id 0F476EFE7; Mon, 4 Dec 2017 15:43:42 +0100 (CET) From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: Mathieu Othacehe Subject: Re: [bug#29409] [PATCH] build: utils: Introduce dd. References: <877euhtjkj.fsf@gmail.com> <1512038828-10822-1-git-send-email-m.othacehe@gmail.com> <87609qhax6.fsf@gnu.org> <87609m5zu5.fsf@gmail.com> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 14 Frimaire an 226 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Mon, 04 Dec 2017 15:43:39 +0100 In-Reply-To: <87609m5zu5.fsf@gmail.com> (Mathieu Othacehe's message of "Mon, 04 Dec 2017 15:31:46 +0100") Message-ID: <871skao8o4.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 29409 Cc: 29409@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) Mathieu Othacehe skribis: >> Granted, that=E2=80=99s a bit more verbose, but it=E2=80=99s also very l= ightweight >> compared to using =E2=80=98dd=E2=80=99. > > Here's a new implementation, using your snippet. I tested it with > "installed-extlinux-os", it seems ok. > > Mathieu > > From 742662ceec2a40d664520f01977ddc4cbe64d369 Mon Sep 17 00:00:00 2001 > From: Mathieu Othacehe > Date: Fri, 1 Dec 2017 14:09:38 +0100 > Subject: [PATCH] bootloader: extlinux: Stop using dd binary. > > * gnu/bootloader/extlinux.scm (dd): Remove it, > (install-extlinux): replace dd call by Guile I/O procedures. > * gnu/system/vm.scm (qemu-image): Add (ice-9 binary-ports) to module-clos= ure > and used-modules list to provide "get-bytevector-n" and "put-bytevector". > * guix/scripts/system.scm (bootloader-installer-derivation): Ditto. Nice! > + (unless > + (and (zero? (system* extlinux "--install" install-dir)) > + (call-with-input-file (string-append syslinux-dir "/" #= $mbr) > + (lambda (input) > + (let ((bv (get-bytevector-n input 440)) > + (output (open-file device "wb0"))) > + (put-bytevector output bv) > + (close-port output))))) I think you can use =E2=80=98call-with-output-file=E2=80=99 for DEVICE no? > --- a/gnu/system/vm.scm > +++ b/gnu/system/vm.scm > @@ -274,11 +274,13 @@ the image." > (expression->derivation-in-linux-vm > name > (with-imported-modules (source-module-closure '((gnu build vm) > - (guix build utils))) > + (guix build utils) > + (ice-9 binary-ports))) No: this would import the host Guile=E2=80=99s (ice-9 binary-ports) module = into the guest, thereby making the result dependent on the Guile version being used =E2=80=9Coutside=E2=80=9D. > #~(begin > (use-modules (gnu build vm) > (guix build utils) > - (srfi srfi-26)) > + (srfi srfi-26) > + (ice-9 binary-ports)) This yes. > (let ((inputs > '#$(append (list qemu parted e2fsprogs dosfstools) > diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm > index 91d151d..5116b82 100644 > --- a/guix/scripts/system.scm > +++ b/guix/scripts/system.scm > @@ -674,9 +674,11 @@ any, are available. Raise an error if they're not." > and TARGET arguments." > (with-monad %store-monad > (gexp->file "bootloader-installer" > - (with-imported-modules '((guix build utils)) > + (with-imported-modules '((guix build utils) > + (ice-9 binary-ports)) No. > #~(begin > - (use-modules (guix build utils)) > + (use-modules (guix build utils) > + (ice-9 binary-ports)) OK. Could you send an updated patch? Thanks! Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 04 10:53:41 2017 Received: (at 29409) by debbugs.gnu.org; 4 Dec 2017 15:53:41 +0000 Received: from localhost ([127.0.0.1]:45658 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eLt3s-00045u-SM for submit@debbugs.gnu.org; Mon, 04 Dec 2017 10:53:41 -0500 Received: from mail-wr0-f172.google.com ([209.85.128.172]:43461) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eLt3r-00045h-Pj for 29409@debbugs.gnu.org; Mon, 04 Dec 2017 10:53:40 -0500 Received: by mail-wr0-f172.google.com with SMTP id z34so17836139wrz.10 for <29409@debbugs.gnu.org>; Mon, 04 Dec 2017 07:53:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=references:user-agent:from:to:cc:subject:in-reply-to:date :message-id:mime-version; bh=m5+xmXvgk+TUfR2JImWXcNv84SO0Lq3f5IRBiv5zYr4=; b=VbpstYz02fN4wojOIerBb9XahGfnrYuRx0lnVd9RHH+0HSKkoR4ZQ/0S10n3BlqXJ9 qwr6vAMR/wdLD8PaQSc64UZGt9ivN/NLMd2iFjbQ3m7w5v9pGYAmsLhpsYJukt4FbVnI qLFqoiC1wP25oIlUsulnx8HNbJ3AcLMJk45ylc6H80ShpRaNMqda4IOMhRYEU/HM7P0H dBGL0YGlstJdjoGBqnxIzbajC+EE3WccorV784Fz9T8K8lPLQ1CHjk1B/Hc4li8284Sl HXhliZv+XPc0Cru8hea+7/8sHciYs7Yn09wAZt34xEocsf9nD00Gxq6yQkP/kpdcp+es h+tQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:references:user-agent:from:to:cc:subject :in-reply-to:date:message-id:mime-version; bh=m5+xmXvgk+TUfR2JImWXcNv84SO0Lq3f5IRBiv5zYr4=; b=jWxqhbJ+TdmxpANlqio80npku4/57xAIC87vWdD9zg124MFDUl/2ifh/xB2spO3ahk 94SqW7WH1AW7llmW09hY3tY4klakfFEeTe7I9yAvF44YfghS1LIhKz67CpwSG7gysj3B /ORIN7gnNLZK09OhWpSCF4Qv/X+Y9ZgBKHtg+kNsK07KC37oHRKcAxBNWnkY2wI6NfR1 WqqyBLGzeIBHgAxv3ZzZqQIpxNxEFYyLg4DOaEYS+zNXlm0pK0HK1KG8rgDhFSN3D3Fi 1DXmYTgixAT4lJZnE1GsUDkx3yIpCCyUoNR5//Lmzj6A/c+lEy9Ka8GYjNoGe/oIiK8H S9eg== X-Gm-Message-State: AJaThX5nyEBoBb5pyYdbHvYfpBACEOSnRfWd37zt4wPBdCoDkh+BnQYa +wPNUOBNSP2cS7Fsli3/fge1mg== X-Google-Smtp-Source: AGs4zMaQ/e7nTkX80VhT+zR0otUsx8kgXgbx8qWGj2q7E6OUXX+kUpSEEqqy7PyUAeXzzdhlzcC1UA== X-Received: by 10.223.182.19 with SMTP id f19mr12752801wre.81.1512402813516; Mon, 04 Dec 2017 07:53:33 -0800 (PST) Received: from denali ([46.218.109.88]) by smtp.gmail.com with ESMTPSA id c12sm4044305wmi.43.2017.12.04.07.53.32 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 04 Dec 2017 07:53:32 -0800 (PST) References: <877euhtjkj.fsf@gmail.com> <1512038828-10822-1-git-send-email-m.othacehe@gmail.com> <87609qhax6.fsf@gnu.org> <87609m5zu5.fsf@gmail.com> <871skao8o4.fsf@gnu.org> User-agent: mu4e 0.9.18; emacs 25.2.1 From: Mathieu Othacehe To: Ludovic =?utf-8?Q?Court=C3=A8s?= Subject: Re: [bug#29409] [PATCH] build: utils: Introduce dd. In-reply-to: <871skao8o4.fsf@gnu.org> Date: Mon, 04 Dec 2017 16:53:31 +0100 Message-ID: <874lp65w1w.fsf@gmail.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 29409 Cc: 29409@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit > I think you can use ‘call-with-output-file’ for DEVICE no? Sure. > No: this would import the host Guile’s (ice-9 binary-ports) module into > the guest, thereby making the result dependent on the Guile version > being used “outside”. Ok got it. > Could you send an updated patch? You'll find the updated patch attached. Thanks for your fast review ! Mathieu --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=0001-bootloader-extlinux-Stop-using-dd-binary.patch >From 143057ead198a75e8a7a2bb1bb706402dcb7d4c3 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Fri, 1 Dec 2017 14:09:38 +0100 Subject: [PATCH] bootloader: extlinux: Stop using dd binary. * gnu/bootloader/extlinux.scm (dd): Remove it, (install-extlinux): replace dd call by Guile I/O procedures. * gnu/system/vm.scm (qemu-image): Add (ice-9 binary-ports) to used-modules list to provide "get-bytevector-n" and "put-bytevector". * guix/scripts/system.scm (bootloader-installer-derivation): Ditto. --- gnu/bootloader/extlinux.scm | 20 +++++++++----------- gnu/system/vm.scm | 3 ++- guix/scripts/system.scm | 3 ++- 3 files changed, 13 insertions(+), 13 deletions(-) diff --git a/gnu/bootloader/extlinux.scm b/gnu/bootloader/extlinux.scm index 0db5598..9b6e2c7 100644 --- a/gnu/bootloader/extlinux.scm +++ b/gnu/bootloader/extlinux.scm @@ -85,14 +85,6 @@ TIMEOUT ~a~%" ;;; Install procedures. ;;; -(define dd - #~(lambda (bs count if of) - (zero? (system* "dd" - (string-append "bs=" (number->string bs)) - (string-append "count=" (number->string count)) - (string-append "if=" if) - (string-append "of=" of))))) - (define (install-extlinux mbr) #~(lambda (bootloader device mount-point) (let ((extlinux (string-append bootloader "/sbin/extlinux")) @@ -101,9 +93,15 @@ TIMEOUT ~a~%" (for-each (lambda (file) (install-file file install-dir)) (find-files syslinux-dir "\\.c32$")) - - (unless (and (zero? (system* extlinux "--install" install-dir)) - (#$dd 440 1 (string-append syslinux-dir "/" #$mbr) device)) + (unless + (and (zero? (system* extlinux "--install" install-dir)) + (call-with-input-file (string-append syslinux-dir "/" #$mbr) + (lambda (input) + (let ((bv (get-bytevector-n input 440))) + (call-with-output-file device + (lambda (output) + (put-bytevector output bv)) + #:binary #t))))) (error "failed to install SYSLINUX"))))) (define install-extlinux-mbr diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm index b68cce3..d754ac7 100644 --- a/gnu/system/vm.scm +++ b/gnu/system/vm.scm @@ -278,7 +278,8 @@ the image." #~(begin (use-modules (gnu build vm) (guix build utils) - (srfi srfi-26)) + (srfi srfi-26) + (ice-9 binary-ports)) (let ((inputs '#$(append (list qemu parted e2fsprogs dosfstools) diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm index 91d151d..e2ff426 100644 --- a/guix/scripts/system.scm +++ b/guix/scripts/system.scm @@ -676,7 +676,8 @@ and TARGET arguments." (gexp->file "bootloader-installer" (with-imported-modules '((guix build utils)) #~(begin - (use-modules (guix build utils)) + (use-modules (guix build utils) + (ice-9 binary-ports)) (#$installer #$bootloader #$device #$target)))))) (define* (perform-action action os -- 2.7.4 --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 04 11:52:16 2017 Received: (at 29409) by debbugs.gnu.org; 4 Dec 2017 16:52:16 +0000 Received: from localhost ([127.0.0.1]:45730 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eLtya-0005Wt-9e for submit@debbugs.gnu.org; Mon, 04 Dec 2017 11:52:16 -0500 Received: from mail-wr0-f181.google.com ([209.85.128.181]:45037) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eLtyZ-0005Wf-57 for 29409@debbugs.gnu.org; Mon, 04 Dec 2017 11:52:15 -0500 Received: by mail-wr0-f181.google.com with SMTP id l22so18045474wrc.11 for <29409@debbugs.gnu.org>; Mon, 04 Dec 2017 08:52:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=ladq54vNKEGmyRcY913cYPR0SkG0uYH4JBHh+Ji/ikw=; b=XCg5CaE8JKEKkaOv1QBv/TDJevPgpXDtsDQNzAL+3idGtrhMBpU/2iaIRPWWpzHZpZ GxIOPhoD89Fz0lNgnFm635leLANvrdnmbPQj1N9TmfG7P2iXOhFULpAduWABRtkfLfGi aCKfAMgrc6zeqNxTS1FUK1ibHGfM098oBg/te4Sm+hEWb9ZzYygCX9Vth1EZxVGnPpv3 COpMa2DLOnV7t7QlgZdXop1CkFZXy01In3SmEuO7TRz1oYwCLM+QZb5gkdWNLhPDxvOn jTVoMgye/aNa8LKqKEDSb/y+7SGbh8dLGk3PcsRYzZPF5KJVoJxNjHiZN6jO9dDpT5aZ 5KUQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=ladq54vNKEGmyRcY913cYPR0SkG0uYH4JBHh+Ji/ikw=; b=IKH5TVFmGy8hbIqJ38oBZICwjIAdptE1HttVtWIok496mi72zcdDLdLj6dHaC1w3CL vyPC2/vqAnx3HwtDW/C6qNGZVCzwkfK2T2hS1lVZWHzjaWhfkvruuOsJA4oO7iTO2v3d 9CbrwggEzcirtuvMQy2eiRVkf3ppUq2qh5zarOBZP7Wvi4ssFz7u2AUnS7nrrqpXRIrn edwdExReNcacNSRgrY4ZIUuNEbDBfiZjbQa7ky86euV6Rf6pjWsgO2L/UJTnyZ1jKnmH eVj3Q+O0a6sjrKCCd44xqlQ0Z4aqLwOT85+XV3x6cPle9ping0N1+gO8Q37WKTGBZdCY rq9w== X-Gm-Message-State: AJaThX6KfeKO2VapHKVG0UmngA+CXY/G80LSUs3oo1nLfJoFst9f9k60 AYoOr7oAS1+M72RHumueKNq0JQ== X-Google-Smtp-Source: AGs4zMYsu+nrrTjeHxRhg2mKWb7mO/YZ0KOWIZd40I1Z+5bRUqMSmO1DasJBtjFZ4cFHk2/2SrVN+g== X-Received: by 10.223.165.67 with SMTP id j3mr14491746wrb.181.1512406328948; Mon, 04 Dec 2017 08:52:08 -0800 (PST) Received: from denali.Parrot.Biz ([46.218.109.88]) by smtp.gmail.com with ESMTPSA id t10sm16794824wra.16.2017.12.04.08.52.08 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 04 Dec 2017 08:52:08 -0800 (PST) From: m.othacehe@gmail.com To: 29409@debbugs.gnu.org Subject: [PATCH] build: vm: Use netdev qemu parameter. Date: Mon, 4 Dec 2017 17:52:04 +0100 Message-Id: <1512406324-17155-1-git-send-email-m.othacehe@gmail.com> X-Mailer: git-send-email 2.7.4 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 29409 Cc: Mathieu Othacehe X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) From: Mathieu Othacehe * gnu/build/vm.scm (load-in-linux-vm): "-net nic" option is deprecated, replace it with "-netdev" and "-device" options. See https://wiki.qemu.org/Documentation/Networking. --- gnu/build/vm.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/build/vm.scm b/gnu/build/vm.scm index 20ee127..9e868f6 100644 --- a/gnu/build/vm.scm +++ b/gnu/build/vm.scm @@ -113,7 +113,8 @@ the #:references-graphs parameter of 'derivation'." (unless (zero? (apply system* qemu "-nographic" "-no-reboot" "-m" (number->string memory-size) - "-net" "nic,model=virtio" + "-device" "virtio-net-pci,netdev=mynet" + "-netdev" "user,id=mynet" "-virtfs" (string-append "local,id=store_dev,path=" (%store-directory) -- 2.7.4 From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 04 12:17:30 2017 Received: (at 29409) by debbugs.gnu.org; 4 Dec 2017 17:17:30 +0000 Received: from localhost ([127.0.0.1]:45750 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eLuN0-00066v-IL for submit@debbugs.gnu.org; Mon, 04 Dec 2017 12:17:30 -0500 Received: from hera.aquilenet.fr ([141.255.128.1]:42603) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eLuMy-00066m-I2 for 29409@debbugs.gnu.org; Mon, 04 Dec 2017 12:17:29 -0500 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id 46ACC10193; Mon, 4 Dec 2017 18:17:30 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at aquilenet.fr Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id CU59Itvr1XLA; Mon, 4 Dec 2017 18:17:29 +0100 (CET) Received: from ribbon (unknown [193.50.110.211]) by hera.aquilenet.fr (Postfix) with ESMTPSA id 8D8E310191; Mon, 4 Dec 2017 18:17:29 +0100 (CET) From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: Mathieu Othacehe Subject: Re: [bug#29409] [PATCH] build: utils: Introduce dd. References: <877euhtjkj.fsf@gmail.com> <1512038828-10822-1-git-send-email-m.othacehe@gmail.com> <87609qhax6.fsf@gnu.org> <87609m5zu5.fsf@gmail.com> <871skao8o4.fsf@gnu.org> <874lp65w1w.fsf@gmail.com> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 14 Frimaire an 226 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Mon, 04 Dec 2017 18:17:26 +0100 In-Reply-To: <874lp65w1w.fsf@gmail.com> (Mathieu Othacehe's message of "Mon, 04 Dec 2017 16:53:31 +0100") Message-ID: <87d13ummzd.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 29409 Cc: 29409@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) Mathieu Othacehe skribis: > From 143057ead198a75e8a7a2bb1bb706402dcb7d4c3 Mon Sep 17 00:00:00 2001 > From: Mathieu Othacehe > Date: Fri, 1 Dec 2017 14:09:38 +0100 > Subject: [PATCH] bootloader: extlinux: Stop using dd binary. > > * gnu/bootloader/extlinux.scm (dd): Remove it, > (install-extlinux): replace dd call by Guile I/O procedures. > * gnu/system/vm.scm (qemu-image): Add (ice-9 binary-ports) to used-modules > list to provide "get-bytevector-n" and "put-bytevector". > * guix/scripts/system.scm (bootloader-installer-derivation): Ditto. Perfect, thank you! Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 04 12:27:51 2017 Received: (at 29409) by debbugs.gnu.org; 4 Dec 2017 17:27:51 +0000 Received: from localhost ([127.0.0.1]:45762 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eLuX0-0006Me-OY for submit@debbugs.gnu.org; Mon, 04 Dec 2017 12:27:50 -0500 Received: from mail-wm0-f53.google.com ([74.125.82.53]:35557) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eLuWy-0006MP-So for 29409@debbugs.gnu.org; Mon, 04 Dec 2017 12:27:49 -0500 Received: by mail-wm0-f53.google.com with SMTP id f9so15795602wmh.0 for <29409@debbugs.gnu.org>; Mon, 04 Dec 2017 09:27:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=references:user-agent:from:to:cc:subject:in-reply-to:date :message-id:mime-version; bh=mW8oEEWpzJAW+eWEgivcapOurVqZE/Ez+3SMyiyknCg=; b=VqmYcD8mf9UqO6I1GJOp9yg4LfCLWZtPF+K4wWcRkK0OsP3YFoy/Hhc9A74CvH2CFQ 0kVjFLEJ60wOp6IjlQ/LCTQmJQZh68n1bbQZANv0zNQ258d/nOtzTduOfqs+Oo9evTJ+ BKokEqiZ2C7y26QWHSDMAwG9gvoVr2C2D4nSXR6c6C7iqNBeUoU9hIWOkcA8SFT6MrPn p3HVM9ZmoSo2tMaxSIsCCo4AkSqQdCZidyod6Ndfe8MeNb+KXZCQHx8ltiGjobyyhMMv hLZ+pEvm/ocUbWf9sALhvrk041lrpUgcMi2Syylk/quHOtNHhYMTAAsy5A5dHnoMKbz1 TLgQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:references:user-agent:from:to:cc:subject :in-reply-to:date:message-id:mime-version; bh=mW8oEEWpzJAW+eWEgivcapOurVqZE/Ez+3SMyiyknCg=; b=sSQ2/SL/URUH8/yiF2l0CjWVsYzi/RHLyB1r23z0071r7YKMqg7N+beDsJEDFC6SdG 4lC0G/2V13eUxLTWuNNr8dZf1uYOTFQAq1k1tht7mQufBOhwRZm+XcRgBc/PN6WhiLl3 Y48FkqaBc/vonq2WtVrdz5lAndxa4ZP52RgNIPNtjKcF3BfQ+kcqT1q8X3XJn0VaMEFn 4PRwS2MCVTbLjeAc7upZiI8jmW3ybnVToRxxBIDLfQjZ1LEMnUcHpw85y6+v5aESpM1u NVEq59rlTg/uFFZUUC63pJe4/Hk9WWS+CjoeGjW7ihrv/l6NFao2pKEXjkSCuoBGwJLC rxYw== X-Gm-Message-State: AKGB3mKsqt0l0CYEaIE9V1ErZNi+dbmJxLb8EV2jzy7R73gwOax22Wuz SK1pkMNEXz7k3oEwIEvHAan7AQ== X-Google-Smtp-Source: AGs4zMZnHRXvR3Yi17zRuRE7qLl/ABv+Wex7EIwYWwwlFacVb50P3jmbh9Jl5GobF4FltUaRZ35x3w== X-Received: by 10.28.94.75 with SMTP id s72mr8199979wmb.112.1512408462864; Mon, 04 Dec 2017 09:27:42 -0800 (PST) Received: from denali ([46.218.109.88]) by smtp.gmail.com with ESMTPSA id 138sm4460941wmf.21.2017.12.04.09.27.41 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 04 Dec 2017 09:27:42 -0800 (PST) References: <877euhtjkj.fsf@gmail.com> <1512038828-10822-1-git-send-email-m.othacehe@gmail.com> <87609qhax6.fsf@gnu.org> <87609m5zu5.fsf@gmail.com> <871skao8o4.fsf@gnu.org> <874lp65w1w.fsf@gmail.com> <87d13ummzd.fsf@gnu.org> User-agent: mu4e 0.9.18; emacs 25.2.1 From: Mathieu Othacehe To: Ludovic =?utf-8?Q?Court=C3=A8s?= Subject: Re: [bug#29409] [PATCH] build: utils: Introduce dd. In-reply-to: <87d13ummzd.fsf@gnu.org> Date: Mon, 04 Dec 2017 18:27:41 +0100 Message-ID: <87374q5roy.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 29409 Cc: 29409@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) > Perfect, thank you! Thanks, pushed ! Mathieu From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 04 12:35:25 2017 Received: (at 29409) by debbugs.gnu.org; 4 Dec 2017 17:35:25 +0000 Received: from localhost ([127.0.0.1]:45766 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eLueL-0006Yd-J3 for submit@debbugs.gnu.org; Mon, 04 Dec 2017 12:35:25 -0500 Received: from mail-wm0-f49.google.com ([74.125.82.49]:41254) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eLueK-0006YO-0v for 29409@debbugs.gnu.org; Mon, 04 Dec 2017 12:35:24 -0500 Received: by mail-wm0-f49.google.com with SMTP id g75so7344036wme.0 for <29409@debbugs.gnu.org>; Mon, 04 Dec 2017 09:35:23 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=TFYcSEEbr+6sblL90vQjy85Eh/NSiSMtdIGfQWTXiyg=; b=gi1R3+EbiDrDsdmd159YP32SEWOoYrgPPCsXzmggoIXoHUpDmCQPWXdQyzjUPSqOyv WOF2SObCBsMR1FGhbJDO//RBzsDANvKoGcwWweY4w/eHtECrBdZ7kUPu+VomXoeDWCLp mxxolzkh0i3e/eAF7NfLJgoC3gKF2877wN++jgrBV02gmjkt1kVB6hNA8zdYTX94pHtd B7DM770lGg1xS6h+BqyxuHPLi53qeSCIbKdH0+hovsxDZtxbQwNKMfuaK7DndheycruQ a0xWyVkW62H/eqb0nsidfPo8lqAqV7ywpLIrupP5H8kG1aVF29bB+W/MHr4WBSYJB11I mFpg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=TFYcSEEbr+6sblL90vQjy85Eh/NSiSMtdIGfQWTXiyg=; b=RBPNx3XtpGVsa+BaZQVar7VwUapFmghIBTwVOx8axk8KUkm0iMyj0hhiE//HNeHcCS eTgaj8dJkKCLByHGDIBMVXI4+q1IYd0ZgMAXsuSdIRQ5WAHqMEeKf2GLUcr4IoZ8/WSx JxX2aqWsar98hFHY5i89mfojeUjNRDzfd9GJw3f6gycSCO6alcqfpy0SCHaxgk4BrfWl ee9vpAx9MtIvSLz1dBsqvXkfobxH/gWnaSR8/TolgQB0549eAf8FgKqCJfPbUg0ZQ+OH WRImOjvo26Lh8iFpAgeCISoH4KLEOkWH8Pt94KLoWzYCDV/JbSRZa0dqKtOpUV/1u7a6 SJbQ== X-Gm-Message-State: AKGB3mIgpR5AmZMRVb8A7/FurOaPvPzMmy8713EXyUH0ezlkpZI/ekXA Q6jQ+APcPVoCKkusKq199m3Ntg== X-Google-Smtp-Source: AGs4zMaR12psbpnldiE53LlJ+exiDAEz9wXSFjQ2YU3mSmwjvrskUi1Hn50KE8bHIjdMoT/V778cug== X-Received: by 10.28.232.208 with SMTP id f77mr3474248wmi.155.1512408918176; Mon, 04 Dec 2017 09:35:18 -0800 (PST) Received: from denali.Parrot.Biz ([46.218.109.88]) by smtp.gmail.com with ESMTPSA id v18sm15273782wrv.37.2017.12.04.09.35.17 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 04 Dec 2017 09:35:17 -0800 (PST) From: m.othacehe@gmail.com To: 29409@debbugs.gnu.org Subject: [PATCH] build: vm: Use qemu drive device parameter. Date: Mon, 4 Dec 2017 18:35:12 +0100 Message-Id: <1512408912-21174-1-git-send-email-m.othacehe@gmail.com> X-Mailer: git-send-email 2.7.4 X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 29409 Cc: Mathieu Othacehe X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) From: Mathieu Othacehe * gnu/build/vm.scm (load-in-linux-vm): As per network arguments, use device parameter to define drive device. --- gnu/build/vm.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/build/vm.scm b/gnu/build/vm.scm index 9e868f6..96c57ab 100644 --- a/gnu/build/vm.scm +++ b/gnu/build/vm.scm @@ -126,10 +126,11 @@ the #:references-graphs parameter of 'derivation'." "-initrd" initrd "-append" (string-append "console=ttyS0 --load=" builder) + "-device" "virtio-blk,drive=hd" (append (if make-disk-image? - `("-drive" ,(string-append "file=" output - ",if=virtio")) + `("-drive" ,(string-append "if=none,file=" output + ",id=hd")) '()) ;; Only enable kvm if we see /dev/kvm exists. ;; This allows users without hardware virtualization to still -- 2.7.4 From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 04 13:19:50 2017 Received: (at 29409) by debbugs.gnu.org; 4 Dec 2017 18:19:50 +0000 Received: from localhost ([127.0.0.1]:45835 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eLvLK-00034y-AL for submit@debbugs.gnu.org; Mon, 04 Dec 2017 13:19:50 -0500 Received: from out4-smtp.messagingengine.com ([66.111.4.28]:60675) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eLvLI-00034q-H0 for 29409@debbugs.gnu.org; Mon, 04 Dec 2017 13:19:48 -0500 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailout.nyi.internal (Postfix) with ESMTP id 6C0E1207EF; Mon, 4 Dec 2017 13:19:48 -0500 (EST) Received: from frontend1 ([10.202.2.160]) by compute4.internal (MEProxy); Mon, 04 Dec 2017 13:19:48 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=famulari.name; h=cc:content-type:date:from:in-reply-to:message-id:mime-version :references:subject:to:x-me-sender:x-me-sender:x-sasl-enc; s= mesmtp; bh=oObrAcKmLNYKO9Md1FukJqU8yPrZ4Gb0xpW0job3TEg=; b=RL6rv OjGFTYju3MyA0bN2jFWGclqhPJ/h+3eYE3XajgcJFxO6Y92C0Y/U7WMC8fFUbxe4 /ziwhDziuAgvjHSJudEFe1rrv3WrL9j9A+YllOmKIRYjGP7+vPxysor4yRiDPmeV bWvQ3+0htuTDanfb3EQDURCq+Af5vDs1le3FH8= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-sender :x-me-sender:x-sasl-enc; s=fm1; bh=oObrAcKmLNYKO9Md1FukJqU8yPrZ4 Gb0xpW0job3TEg=; b=G8ZDfw8NLwhVyYHo7IbhvnMcczzpP9/6139xPu7fy4DiV x6moLyKTzhY0mp4zFASiEdWAWXqjpJCMBblDxG0vqWvc324w0Y4c3sDndPuAm/ay Z0ho0a/5KNGPXBKIWUbGwx3BqDTSxvl/LGlseln+3Hyrhg/0R5wCgpVZA/NV0uSb vBRxEdCQ08QAi/ppwIH/qKgBCgwFGPYTxGAQBXxRAB6KVHon8cKGWTMxsaO+M3Xa O+40UOGz4Bwp98As7R2Tb4bpK9iNMUUhS4r6pRrqET2qGWIJaPET+Jf2pTFaAtVt Kkv/lFyO1kYji9mof/w8MTYvNkfB8KRVWugO2AqaQ== X-ME-Sender: Received: from localhost (mfe2536d0.tmodns.net [208.54.37.254]) by mail.messagingengine.com (Postfix) with ESMTPA id 0D09B7F9A9; Mon, 4 Dec 2017 13:19:47 -0500 (EST) Date: Mon, 4 Dec 2017 13:19:46 -0500 From: Leo Famulari To: m.othacehe@gmail.com Subject: Re: [bug#29409] [PATCH] build: vm: Use netdev qemu parameter. Message-ID: <20171204181946.GD30970@jasmine.lan> References: <877euhtjkj.fsf@gmail.com> <1512406324-17155-1-git-send-email-m.othacehe@gmail.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="bAmEntskrkuBymla" Content-Disposition: inline In-Reply-To: <1512406324-17155-1-git-send-email-m.othacehe@gmail.com> User-Agent: Mutt/1.9.1 (2017-09-22) X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 29409 Cc: 29409@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --bAmEntskrkuBymla Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Mon, Dec 04, 2017 at 05:52:04PM +0100, m.othacehe@gmail.com wrote: > From: Mathieu Othacehe >=20 > * gnu/build/vm.scm (load-in-linux-vm): "-net nic" option is > deprecated, replace it with "-netdev" and "-device" options. >=20 > See https://wiki.qemu.org/Documentation/Networking. > --- > gnu/build/vm.scm | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) >=20 > diff --git a/gnu/build/vm.scm b/gnu/build/vm.scm > index 20ee127..9e868f6 100644 > --- a/gnu/build/vm.scm > +++ b/gnu/build/vm.scm > @@ -113,7 +113,8 @@ the #:references-graphs parameter of 'derivation'." > (unless (zero? > (apply system* qemu "-nographic" "-no-reboot" > "-m" (number->string memory-size) > - "-net" "nic,model=3Dvirtio" > + "-device" "virtio-net-pci,netdev=3Dmynet" > + "-netdev" "user,id=3Dmynet" Does this work if you run multiple instances at one time? Or does the 'id' parameter need to be unique? --bAmEntskrkuBymla Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEsFFZSPHn08G5gDigJkb6MLrKfwgFAlolkcIACgkQJkb6MLrK fwjpcxAA27EQYQycFWdhzvrvLT3t/PAa5fCQiYJRX26foI8D9GIKaTw62SflLtQ+ 7Iv30LBznf2Chlvo2v1TU7idDvck1i+a0pzz5NpLiq+0xf0Ra36QS2BF47cWTqpZ IuDP2gM3OcuVVLnquOixo9ZJkuJNCMLT7zRTY9yb1tO0n+2FIxoGqjWVchi6/DVR ngkk2DNd1iS3fV+g0rVLO+36pzphhZ3IBU1poK5aZeNS0l2flGSy8S+jJBIh4RC9 NBxz/L6iBrTEEXwShnQZsGK4RZec+OI+UFnbXrV2IfXBfoEFZ5kxqXKq2XUOtPSp orY1aYnmlv79LRVx7tQdu1ecP2IlCgbu6r0equE1OB3Hhu71VLK/US/40Ko2X4ZT o+pZ6LhT3+6iwcI3q7XyD9C+H4v+rWh1nOpmTdz5oIpYHX2juf5Rmx+hyhdJ3I8Y 7lSKxLcNWwpevcN0U7G6fwOt8OML+Oqk7ShA5Vuvu4UnSoIQ9ZhWRy8HnxiFy9mY j9hsqkdWYEl9iTjwlAALzblGIJLpC2l/KisocAXgQ+mx4+v2AwiGrmgfw2Hd1Tak GcIrD8afO0QGOK8lsKVZE6pGyOvRqoqrxTLqxVceijHzlnoynA402t11bNMzm4qb JFGsUnYdfpq4wdr9XnzFVN+tLS0173EMfIKOZ30ICp3VBA0OL98= =nDgx -----END PGP SIGNATURE----- --bAmEntskrkuBymla-- From debbugs-submit-bounces@debbugs.gnu.org Tue Dec 05 03:58:13 2017 Received: (at 29409) by debbugs.gnu.org; 5 Dec 2017 08:58:13 +0000 Received: from localhost ([127.0.0.1]:46374 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eM93N-00068L-En for submit@debbugs.gnu.org; Tue, 05 Dec 2017 03:58:13 -0500 Received: from mail-wm0-f47.google.com ([74.125.82.47]:36851) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eM93L-000689-Rz for 29409@debbugs.gnu.org; Tue, 05 Dec 2017 03:58:12 -0500 Received: by mail-wm0-f47.google.com with SMTP id b76so18950378wmg.1 for <29409@debbugs.gnu.org>; Tue, 05 Dec 2017 00:58:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=references:user-agent:from:to:cc:subject:in-reply-to:date :message-id:mime-version; bh=G97l5AGhQJw1xJ/t/HodGaaKkW0gxMyiVvOyQuz26iU=; b=MuI1q5aWS49H0mdqCN8++k4Qx4eKyfG7NeAxzYMqc+asKjLzBhwNf4HaLFJGkXYcwg AWXOeXThn5wJXSEvoXylqesSm1TCKknrhY1sSk586wUWdj2Y4IxZv5QsZUUvOY6DHiCp IdclmBaKEYE1oWVggsJnvc87EfpxyqQ47I1wEnN/lMzJybL+SXUNFRooFwu39mUKUMXv QfbMVeAq3+1vu/ze0BsdQZCER8W0FScsGtnfYKC2Tg/mZEU/+5BX7CtJY95eX1VEEbkt bQnSuh8H3qZ2QG0YKkusub5Ac3gHm7m2U27+YA778jTCHDusbz/crNkhgWEqK5woO092 EH5Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:references:user-agent:from:to:cc:subject :in-reply-to:date:message-id:mime-version; bh=G97l5AGhQJw1xJ/t/HodGaaKkW0gxMyiVvOyQuz26iU=; b=GpzbyXd9THy38/3XtC1y1nhCDpbrlUUmp8jI0yliXHON7HEtmwzSugupIxXdyC48OF eFR2y2ShxrgfKMoLLwMtM2zmWvWvcUxgAJeUIwOp9J78kjHP5DGATYb1W7XP/qe3Fexj Jqk+1D++FEaCZlTHHnNosUfkc6bpwB7RusOX5/XnKUvHBMAtE6UPqkVIld0r5Q291Ppp kHzhCQnFY/RP++HXKmvqalvyLTcxMsHpyHsTq/rKrN9nmOfVC9zv72EkH56SDom0qO0a SdKKN4m/Vn9N4yCH2qghZfZUFAd97RwLhmplc8CclFC41oA8boPan+eBa/vnAYIR66pT yeWg== X-Gm-Message-State: AKGB3mJH0y13TBrQQd0HYBiW0aV5bNWoaHiMpQ8O+K7GEq/yZd28iy6o +jZzw3SPWwnqEjNafH5Mu42iig== X-Google-Smtp-Source: AGs4zMaWaGZoVClC2LvTPeXx89LDsFPQKPy5sfC5LC9/ubLyvycWkr1aWBc+1rBI6eKny8yIuPvpQA== X-Received: by 10.28.152.74 with SMTP id a71mr8370107wme.22.1512464285753; Tue, 05 Dec 2017 00:58:05 -0800 (PST) Received: from denali ([46.218.109.88]) by smtp.gmail.com with ESMTPSA id y2sm16109993wra.18.2017.12.05.00.58.04 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 05 Dec 2017 00:58:05 -0800 (PST) References: <877euhtjkj.fsf@gmail.com> <1512406324-17155-1-git-send-email-m.othacehe@gmail.com> <20171204181946.GD30970@jasmine.lan> User-agent: mu4e 0.9.18; emacs 25.2.1 From: Mathieu Othacehe To: Leo Famulari Subject: Re: [bug#29409] [PATCH] build: vm: Use netdev qemu parameter. In-reply-to: <20171204181946.GD30970@jasmine.lan> Date: Tue, 05 Dec 2017 09:58:04 +0100 Message-ID: <871sk95z6r.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 29409 Cc: 29409@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) > Does this work if you run multiple instances at one time? Or does the > 'id' parameter need to be unique? Good remark, I had a doubt and tested it, you can spawn multiple qemu machine with duplicated 'id' parameters (at least for drive and network). Mathieu From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 06 08:00:19 2017 Received: (at 29409) by debbugs.gnu.org; 6 Dec 2017 13:00:19 +0000 Received: from localhost ([127.0.0.1]:48610 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eMZJD-0001Zw-9O for submit@debbugs.gnu.org; Wed, 06 Dec 2017 08:00:19 -0500 Received: from mail-wr0-f170.google.com ([209.85.128.170]:33576) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eMZIy-0001XG-P1 for 29409@debbugs.gnu.org; Wed, 06 Dec 2017 08:00:06 -0500 Received: by mail-wr0-f170.google.com with SMTP id v22so3829780wrb.0 for <29409@debbugs.gnu.org>; Wed, 06 Dec 2017 05:00:04 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=usn03xI81mxMuOX1/S1Lct8QThJNNnDYy61CqqTd2Lc=; b=kDDccfC7Db99r6RGMHY+uRu0aznWhp4C6PBhh6cpA3Pk/rcPcuM4/sQ3G+M3K1eTbn jBjKzHN+FU/TQD3nTfxMTWo/TE9RVz0ZKdY9YKnH2TBTYV6zVpN+xdp4WTt9Qy+Ilacj qPz6rPxtVSmYjUcoIV4zQrn9lIcx2iLw4jiXMapfxE407stvY6X6yC/K2kaaUMd6zUVw L4Kwasjm3yZED/S3JFXuLpiQ3YZNyXZqCL+PVWe64LuXxSCyDFWhM+Yr4EI7WQxfjx7H aTxdxeFt1ovtP62gRNUYadp7eADkYNCtpuHDa05rqljwW/mKwgXYP4V1F2sViDYGxXZ9 q7PA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=usn03xI81mxMuOX1/S1Lct8QThJNNnDYy61CqqTd2Lc=; b=nAhbyrVOSC7MHBcAhGHsZ4RqA9aoEiLQvy+vYTMFqnv7tlaV8aEXIvAlms0g6CMiOW OxaxYp10E9VpDAgiWHssmPxCgxAcx0VS/sVsRukDIqJsOQYWPKb5KQUakyj7RhU3snej Us5v6rraWVCOF4PcJcDrunmCIFR5lPDPNyP2js5dEpzbSLKTK+AIzAGFxMdZumb0VlMh STHIzh8OlQOBkmay/lVh4e/o34hOFdObgc5mx82id3BuTcUzfi/O2m2NA7q4yEbdB901 aVWVpzgJNNLoeV4ilCnP507rGnZseVJZYqIGxMdw6L+1KlRBLevHzbb1iwkIoQwifmTW V9Bw== X-Gm-Message-State: AJaThX7nw4jMqEIPehb1Efu4NsTNmmRY0R1TOVbp+U2qR/p4VMWdSdet 4f6gM+Dlj5FB6U7k5B5b2aNfVw== X-Google-Smtp-Source: AGs4zMaCsqCd+qZjo7J/z6zwdQpt7zLbRjn/r5WKEffycGHSDLjbJZr7EAbJl4FlogS9ACPczMt0dg== X-Received: by 10.223.164.22 with SMTP id d22mr21583315wra.232.1512565198595; Wed, 06 Dec 2017 04:59:58 -0800 (PST) Received: from denali.Parrot.Biz ([46.218.109.88]) by smtp.gmail.com with ESMTPSA id t19sm2925231wrb.58.2017.12.06.04.59.57 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 06 Dec 2017 04:59:57 -0800 (PST) From: m.othacehe@gmail.com To: 29409@debbugs.gnu.org Subject: [PATCH 0/4] ARM port. Date: Wed, 6 Dec 2017 13:59:49 +0100 Message-Id: <1512565193-3234-1-git-send-email-m.othacehe@gmail.com> X-Mailer: git-send-email 2.7.4 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 29409 Cc: Mathieu Othacehe X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) From: Mathieu Othacehe Hi, Here are the four last patches required before adding BBB support. Thanks, Mathieu Mathieu Othacehe (4): build: vm: Use netdev qemu parameter. build: vm: Use qemu drive device parameter. build: vm: Adapt qemu command to ARM. bootloader: Factorize write-file-on-device. gnu/bootloader.scm | 21 ++++++++++++++++++++- gnu/bootloader/extlinux.scm | 9 ++------- gnu/build/vm.scm | 28 ++++++++++++++++++++++------ gnu/system/vm.scm | 4 ++++ 4 files changed, 48 insertions(+), 14 deletions(-) -- 2.7.4 From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 06 08:00:19 2017 Received: (at 29409) by debbugs.gnu.org; 6 Dec 2017 13:00:19 +0000 Received: from localhost ([127.0.0.1]:48613 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eMZJD-0001a1-Gc for submit@debbugs.gnu.org; Wed, 06 Dec 2017 08:00:19 -0500 Received: from mail-wm0-f41.google.com ([74.125.82.41]:44807) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eMZJ0-0001XI-Qg for 29409@debbugs.gnu.org; Wed, 06 Dec 2017 08:00:07 -0500 Received: by mail-wm0-f41.google.com with SMTP id t8so7035637wmc.3 for <29409@debbugs.gnu.org>; Wed, 06 Dec 2017 05:00:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=ladq54vNKEGmyRcY913cYPR0SkG0uYH4JBHh+Ji/ikw=; b=rRIz266cQ3VaSbC4tfGtegJBy2RgBMvQnCFce7saBlVmJwuB2jNXYVQb1zufmhyWiN azeIcNUxySaFSmDqh5Mj4oXGpszmL02OchoJEd+O0H9mwnRTrOuYCl9p+3bO7SxwS37M YoRrw1TfJVNNS3imW2j9rOcfT07c/TLHEEUe3nXYGTRoXhCa+xD5m70nrdwoOO16QISy +uiugv0FWdS6hz+24TOH1QO/Vqayyq1rA/AO6X0ysu6O3uaKP5HWw1YFXUwyUcQRZlh/ Afqieg4YGqt2GWXez91+p91fT4x1pefCmBxPWqbRcnWemDdybDUd1i7JjqYROKpoZhq5 yVgg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=ladq54vNKEGmyRcY913cYPR0SkG0uYH4JBHh+Ji/ikw=; b=GRC5yDZ4VXeNWPBzbj+MxApPfP1eBELbtFOtux9EfopY9oc2Rh5F3AKESA4QEZ6TIM 9pHlhBPjCeafgpfg4KUisixN+a71ydfXj1aZagqDHjz99TG5WiMHcDbP8Id5+TC0iAuw mu65Td8z3l1aEfTj/F3EFCzdpqsE+yVIplho4OOhpvqPV6T/ldzdupn++t5dNGtRPBbe NK5q3OkBJZI8o2MuebMoLVuM4NhaVFhuangNB+NuYC7Sp6CMcnYVejuJtyXnd9elTTP3 JIFLuRbAulnzHW54HmdrvpjQgvGvs7o4pSRM6b7BHiv5aGIiwH15zJDFdSM6c/oanJZv cSig== X-Gm-Message-State: AKGB3mIjNhRPfdyVEmjm4JH6jqgn6ZJs73kUs1fox7k1vhakcMZvB4dz QZ607yLZvpgMW+Qlm1yobs1hkA== X-Google-Smtp-Source: AGs4zMb907vLMHJJQh8RsrtXiineThP9FMoHkfWAoS8HBCKyACWmt75kQT4fU9lMQ/oUwQok4P+vPA== X-Received: by 10.28.54.3 with SMTP id d3mr14342327wma.79.1512565200529; Wed, 06 Dec 2017 05:00:00 -0800 (PST) Received: from denali.Parrot.Biz ([46.218.109.88]) by smtp.gmail.com with ESMTPSA id t19sm2925231wrb.58.2017.12.06.04.59.59 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 06 Dec 2017 04:59:59 -0800 (PST) From: m.othacehe@gmail.com To: 29409@debbugs.gnu.org Subject: [PATCH 1/4] build: vm: Use netdev qemu parameter. Date: Wed, 6 Dec 2017 13:59:50 +0100 Message-Id: <1512565193-3234-2-git-send-email-m.othacehe@gmail.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1512565193-3234-1-git-send-email-m.othacehe@gmail.com> References: <1512565193-3234-1-git-send-email-m.othacehe@gmail.com> X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 29409 Cc: Mathieu Othacehe X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) From: Mathieu Othacehe * gnu/build/vm.scm (load-in-linux-vm): "-net nic" option is deprecated, replace it with "-netdev" and "-device" options. See https://wiki.qemu.org/Documentation/Networking. --- gnu/build/vm.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/build/vm.scm b/gnu/build/vm.scm index 20ee127..9e868f6 100644 --- a/gnu/build/vm.scm +++ b/gnu/build/vm.scm @@ -113,7 +113,8 @@ the #:references-graphs parameter of 'derivation'." (unless (zero? (apply system* qemu "-nographic" "-no-reboot" "-m" (number->string memory-size) - "-net" "nic,model=virtio" + "-device" "virtio-net-pci,netdev=mynet" + "-netdev" "user,id=mynet" "-virtfs" (string-append "local,id=store_dev,path=" (%store-directory) -- 2.7.4 From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 06 08:00:20 2017 Received: (at 29409) by debbugs.gnu.org; 6 Dec 2017 13:00:20 +0000 Received: from localhost ([127.0.0.1]:48615 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eMZJD-0001a9-Ou for submit@debbugs.gnu.org; Wed, 06 Dec 2017 08:00:19 -0500 Received: from mail-wm0-f44.google.com ([74.125.82.44]:45927) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eMZJ2-0001YB-8X for 29409@debbugs.gnu.org; Wed, 06 Dec 2017 08:00:08 -0500 Received: by mail-wm0-f44.google.com with SMTP id 9so7024401wme.4 for <29409@debbugs.gnu.org>; Wed, 06 Dec 2017 05:00:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=Cfk3PjrKaxQdd603fV6KYy5d3xVr6pTz17Rzu2jnDik=; b=BYxda6BCG6uLFQPE4v4vYjGb/HlrvvfVLrWLbiebaBHrVOGnc5HOB2/6DcCVubICnf MmCLnnS3fUjGSpS1/Y9MfFsNLX4ZlG8BA7xvCQCGAwBt8jVEzNr9yPXxh1fnivHdI84L Lrd5WR1HERiDp9uGneg3HTFlSGUKqhOiRTBIl6FOTD9obmgz73hu5qqaBvGCjGEIgHHq t/7Bf1FGX1oFNrBLMamUBvjk6RCkEwIaiwQC6EWo5nXwFkiD+D12FV/TQL+A/1ynzIUd vzXlLPCH16SzrYHQrTvr9ioZLf/zMf52LczMQKMtuS5Eyn28Db5URoHaYkFkwHBOPYoR drFA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=Cfk3PjrKaxQdd603fV6KYy5d3xVr6pTz17Rzu2jnDik=; b=lPXbr/63LdNMkGFIYFXZRPPi8ClZPZDkYDxzrYow3Mf9OedjoONEtEXu+vqd0ck74w 6mCeI6S6eThNJCiVrhu+M8zb0E0geiJf3weU0bZo46YgVlcPPddITfttM9IpxCnoQ1EQ +blFNXzkOhZQ31dskoQwYHWwMT38vqT8lh2KU699WEwgwh8797RNh7DO3Sw7UqLSBCeF sbAPm44ixJRriyAzoueFKeCmIG5INaHl/pOSpbU14vtR1M9RPW8Ezq03NDNkuRAVaG08 CtBe13pSYWwg6vh9DcgvuoTPWFGKIDPWxT9Er3F0ALI/NwlbAqIbAyAIsxdz8NZpCh3L 1NoQ== X-Gm-Message-State: AKGB3mI5Wg96NUPTZzucZ1Gaj22Di+5t50VAlx9+G0zTWFoFS1U3FoFX 7TfkDRkSOb0YCuRAO9kLo3IJQw== X-Google-Smtp-Source: AGs4zMZpvdmgCvOxowUGYqbt0c4E0IydMxe4sCHRlxlYW0Tm5UzRDUroLBxA7H1OdaEQzmpBX+yuZQ== X-Received: by 10.28.198.75 with SMTP id w72mr9138680wmf.2.1512565202313; Wed, 06 Dec 2017 05:00:02 -0800 (PST) Received: from denali.Parrot.Biz ([46.218.109.88]) by smtp.gmail.com with ESMTPSA id t19sm2925231wrb.58.2017.12.06.05.00.01 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 06 Dec 2017 05:00:01 -0800 (PST) From: m.othacehe@gmail.com To: 29409@debbugs.gnu.org Subject: [PATCH 2/4] build: vm: Use qemu drive device parameter. Date: Wed, 6 Dec 2017 13:59:51 +0100 Message-Id: <1512565193-3234-3-git-send-email-m.othacehe@gmail.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1512565193-3234-1-git-send-email-m.othacehe@gmail.com> References: <1512565193-3234-1-git-send-email-m.othacehe@gmail.com> X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 29409 Cc: Mathieu Othacehe X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) From: Mathieu Othacehe * gnu/build/vm.scm (load-in-linux-vm): As per network arguments, use device parameter to define drive device. --- gnu/build/vm.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gnu/build/vm.scm b/gnu/build/vm.scm index 9e868f6..0b1b9da 100644 --- a/gnu/build/vm.scm +++ b/gnu/build/vm.scm @@ -126,10 +126,12 @@ the #:references-graphs parameter of 'derivation'." "-initrd" initrd "-append" (string-append "console=ttyS0 --load=" builder) + "-device" "virtio-blk,drive=myhd" (append (if make-disk-image? - `("-drive" ,(string-append "file=" output - ",if=virtio")) + `("-drive" ,(string-append "if=none,file=" output + ",format=" disk-image-format + ",id=myhd")) '()) ;; Only enable kvm if we see /dev/kvm exists. ;; This allows users without hardware virtualization to still -- 2.7.4 From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 06 08:00:20 2017 Received: (at 29409) by debbugs.gnu.org; 6 Dec 2017 13:00:20 +0000 Received: from localhost ([127.0.0.1]:48617 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eMZJE-0001aF-0o for submit@debbugs.gnu.org; Wed, 06 Dec 2017 08:00:20 -0500 Received: from mail-wm0-f52.google.com ([74.125.82.52]:36176) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eMZJ3-0001YJ-Lu for 29409@debbugs.gnu.org; Wed, 06 Dec 2017 08:00:10 -0500 Received: by mail-wm0-f52.google.com with SMTP id b76so7010934wmg.1 for <29409@debbugs.gnu.org>; Wed, 06 Dec 2017 05:00:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=tn6kAwjgSqTXLnDUqA/zKfHHGC1WxuHANVxMLW/Nb3I=; b=MkNHbEkdyn103BiBuNrb/k+WDbhh69ay/gNEWqUndxgS8uWFRe/Augk4xNr/dUkkK+ FiluIrKioM8Y2KkB5KuKHQjiWPFuofjV6HjOQqeqJZR/crKHggtDQ4Na+CI2eDRkUbH4 zD9Ssa8yJErVUAdRrM5sGxeKOfp1TwFqiru89a9Jp/rCSf+A8lOR9xxKLB+hVjoc4HEp 5+LFVw1cES3AsYR5+HWEcUPfIoKhZ/UCY9O+ES3pRFhsw+hbf7gHVcko5X4iV3UbBwjI ADVHeErdg/7smE5tiFg9BnGYc7OKzno7N4TXbhmOTA7WHV/xp9kkK1gLPkQOQIfObda3 1tDQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=tn6kAwjgSqTXLnDUqA/zKfHHGC1WxuHANVxMLW/Nb3I=; b=FfdNbwjsj9nfNz7Ga1XNdvbC92Bw6k+DtekMfMw7McIad3KFZp9FP79PGZDyTBuRwG SslUTu8kJADvrHSRVLWwebX3ZE6EIeXOKJOwf26oi1w3F6herzKj/emJKx2y+KkVCPB5 uVkzhLjB+pt+nisRi6EOiXG6F/XmBMVNrM+MTvEYDPvgQsBBMUFW22dAV/scXmdy2KLM 4upHr7JjtpXh0B0DTiWmqqL2vj+NocOOyWfIpfnnE60QKAAVUXgx5TLG/UdC1miN1A3M FAw0HIaWJ/sCL1+sVGd9J5sUsKFAmaMhe669eI6zEXTmlCaDC/1Kvy4wESbUhhtXVMwH AlgA== X-Gm-Message-State: AKGB3mKCDXUYbc3OgITXu//x3HnFNvI0UqxO/I5DJ8s3V3KfR5VE+9RP C1BhZefb0CtFBevqA24GW/rfoQ== X-Google-Smtp-Source: AGs4zMbadp2QMa0QdBjqkrpZri/Q+ebkH8IWNCJuf92BYxvRWysOo6kUoSLUj+zQjyLslJr8/LUpYA== X-Received: by 10.28.66.11 with SMTP id p11mr8954513wma.114.1512565203683; Wed, 06 Dec 2017 05:00:03 -0800 (PST) Received: from denali.Parrot.Biz ([46.218.109.88]) by smtp.gmail.com with ESMTPSA id t19sm2925231wrb.58.2017.12.06.05.00.02 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 06 Dec 2017 05:00:03 -0800 (PST) From: m.othacehe@gmail.com To: 29409@debbugs.gnu.org Subject: [PATCH 3/4] build: vm: Adapt qemu command to ARM. Date: Wed, 6 Dec 2017 13:59:52 +0100 Message-Id: <1512565193-3234-4-git-send-email-m.othacehe@gmail.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1512565193-3234-1-git-send-email-m.othacehe@gmail.com> References: <1512565193-3234-1-git-send-email-m.othacehe@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 29409 Cc: Mathieu Othacehe X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) From: Mathieu Othacehe * gnu/build/vm.scm (load-in-linux-vm): New argument #:target-arm32. Use it to adapt command for qemu-system-arm. This implies to choose a machine ("virt"), use the correct console port "ttyAMA0" and disable KVM use that is buggy on some ARM boards (Odroid XU4 for example). * gnu/system/vm.scm (expression->derivation-in-linux-vm): Pass to load-in-linux-vm "#:target-arm32?" argument. --- gnu/build/vm.scm | 19 ++++++++++++++++--- gnu/system/vm.scm | 4 ++++ 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/gnu/build/vm.scm b/gnu/build/vm.scm index 0b1b9da..0fbba62 100644 --- a/gnu/build/vm.scm +++ b/gnu/build/vm.scm @@ -77,6 +77,7 @@ linux initrd make-disk-image? single-file-output? + target-arm32? (disk-image-size (* 100 (expt 2 20))) (disk-image-format "qcow2") (references-graphs '())) @@ -124,8 +125,10 @@ the #:references-graphs parameter of 'derivation'." ",security_model=none,mount_tag=xchg") "-kernel" linux "-initrd" initrd - "-append" (string-append "console=ttyS0 --load=" - builder) + "-append" + (if target-arm32? + (string-append "console=ttyAMA0 --load=" builder) + (string-append "console=ttyS0 --load=" builder)) "-device" "virtio-blk,drive=myhd" (append (if make-disk-image? @@ -133,10 +136,20 @@ the #:references-graphs parameter of 'derivation'." ",format=" disk-image-format ",id=myhd")) '()) + ;; On ARM, a machine has to be specified. Use + ;; "virt" machine to avoid hardware limits imposed + ;; by other machines. + (if target-arm32? + '("-M" "virt") + '()) ;; Only enable kvm if we see /dev/kvm exists. ;; This allows users without hardware virtualization to still ;; use these commands. - (if (file-exists? "/dev/kvm") + ;; + ;; KVM support is still buggy on some ARM32 boards. Do not + ;; use it even if available. + (if (and (file-exists? "/dev/kvm") + (not target-arm32?)) '("-enable-kvm") '())))) (error "qemu failed" qemu)) diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm index d754ac7..33c65de 100644 --- a/gnu/system/vm.scm +++ b/gnu/system/vm.scm @@ -175,6 +175,10 @@ made available under the /xchg CIFS share." #:memory-size #$memory-size #:make-disk-image? #$make-disk-image? #:single-file-output? #$single-file-output? + ;; FIXME: ‘target-arm32?’ may be not operate + ;; on the right system/target values. Rewrite + ;; using ‘let-system’ when available. + #:target-arm32? #$(target-arm32?) #:disk-image-format #$disk-image-format #:disk-image-size size #:references-graphs graphs))))) -- 2.7.4 From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 06 08:00:20 2017 Received: (at 29409) by debbugs.gnu.org; 6 Dec 2017 13:00:20 +0000 Received: from localhost ([127.0.0.1]:48619 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eMZJE-0001aM-9n for submit@debbugs.gnu.org; Wed, 06 Dec 2017 08:00:20 -0500 Received: from mail-wr0-f177.google.com ([209.85.128.177]:40693) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eMZJ5-0001YN-Ti for 29409@debbugs.gnu.org; Wed, 06 Dec 2017 08:00:12 -0500 Received: by mail-wr0-f177.google.com with SMTP id q9so3806161wre.7 for <29409@debbugs.gnu.org>; Wed, 06 Dec 2017 05:00:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=QveNby6qSBXaTrJGOF4MjobdVOMwG9ULHJLGBHpEbTQ=; b=Y0cv08nZvBK5wrGiHNAIlKUp7a4fivXjM1+qsp/hduxPaYj/m1GVCzXT6bYMJPqSnP n+6nby9cNj1FfAupkWJhxwcq0dhWUi4w//i5llLuMM2Q0Yb3cllW2wQ+O1+SdycEu3sg 58prNLE26LdxrUSrupD5gvrbCIEooOVq/jop8e7VxRv6qay9DJ2Ltm+KSRcgHz0mPNhS FWQ4OF7AiYy0RK7KAcs8HVq665ptnUCkR4t1KpWRi1JD3GPoVQTiBsYS+E5pFTdTPZmr TeIRYIsM8gr8FhaVviH/BMYLb/1wBGRRA0LigE5JjOwqxIi8QrQIoHZtZNdqjpjDzI/C Eypw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=QveNby6qSBXaTrJGOF4MjobdVOMwG9ULHJLGBHpEbTQ=; b=UXCCeFppA752M3YOjr+5I6mFshAaW9dAwR4AsqQvjiOF2HBoG/Z8yoQpjEk1gZceKL i9ahlMSK8VE89rG5EeSu0Q/BjdAN/2GukLU3FCnoIc5aMdoXaE11R14U9A5BJ3DtTFmw Vlv1LaINzGpNfPhpzx6ewTzCWpQ5zZBE4XaLxrMUPEg01AFWfimE164rHQSwqSC+PcD0 WFamCV8pvk+rxtUW3ioSwc5OGFicoSs0FP1NRZ3KWOoflu1Yk2XEXAbo1uti1zuY4eTQ 17EpQwTkFdvHLt61AUrqbVF/aZVPzfIQez5g9KZChHfbhfd8bw4RxzcmqPl+mthjf+4m LOQw== X-Gm-Message-State: AJaThX7Bo58WzEzYdgESiee4YwxY8IVgTu8RGK2SteSzmazT4R9nXaTz i3ddWW5Wr+2hryrwgShc4csC2g== X-Google-Smtp-Source: AGs4zMYVhlXHu0GhzExZxbz677w2GJiofSgGNJ1e2UDTVSMYHGPntI4kB0MtPDUGZfkAmQitxFsjag== X-Received: by 10.223.184.122 with SMTP id u55mr21062471wrf.61.1512565205945; Wed, 06 Dec 2017 05:00:05 -0800 (PST) Received: from denali.Parrot.Biz ([46.218.109.88]) by smtp.gmail.com with ESMTPSA id t19sm2925231wrb.58.2017.12.06.05.00.05 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 06 Dec 2017 05:00:05 -0800 (PST) From: m.othacehe@gmail.com To: 29409@debbugs.gnu.org Subject: [PATCH 4/4] bootloader: Factorize write-file-on-device. Date: Wed, 6 Dec 2017 13:59:53 +0100 Message-Id: <1512565193-3234-5-git-send-email-m.othacehe@gmail.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1512565193-3234-1-git-send-email-m.othacehe@gmail.com> References: <1512565193-3234-1-git-send-email-m.othacehe@gmail.com> X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 29409 Cc: Mathieu Othacehe X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) From: Mathieu Othacehe * gnu/bootloader/extlinux.scm (install-extlinux): Factorize bootloader writing in a new procedure ... * gnu/bootloader.scm (write-file-on-device): ... defined and exported here. --- gnu/bootloader.scm | 21 ++++++++++++++++++++- gnu/bootloader/extlinux.scm | 9 ++------- 2 files changed, 22 insertions(+), 8 deletions(-) diff --git a/gnu/bootloader.scm b/gnu/bootloader.scm index 736f119..a715ba1 100644 --- a/gnu/bootloader.scm +++ b/gnu/bootloader.scm @@ -22,6 +22,7 @@ #:use-module (guix discovery) #:use-module (guix records) #:use-module (guix ui) + #:use-module (guix gexp) #:use-module (srfi srfi-1) #:export (menu-entry menu-entry? @@ -55,7 +56,8 @@ bootloader-configuration-additional-configuration %bootloaders - lookup-bootloader-by-name)) + lookup-bootloader-by-name + write-file-on-device)) ;;; @@ -163,3 +165,20 @@ (eq? name (bootloader-name bootloader))) (force %bootloaders)) (leave (G_ "~a: no such bootloader~%") name))) + + +;;; +;;; Writing utils. +;;; + +(define write-file-on-device + #~(lambda (file size device offset) + ;; Write SIZE bytes from FILE to DEVICE starting at OFFSET. + (call-with-input-file file + (lambda (input) + (let ((bv (get-bytevector-n input size))) + (call-with-output-file device + (lambda (output) + (seek output offset SEEK_SET) + (put-bytevector output bv)) + #:binary #t)))))) diff --git a/gnu/bootloader/extlinux.scm b/gnu/bootloader/extlinux.scm index 9b6e2c7..304fb98 100644 --- a/gnu/bootloader/extlinux.scm +++ b/gnu/bootloader/extlinux.scm @@ -95,13 +95,8 @@ TIMEOUT ~a~%" (find-files syslinux-dir "\\.c32$")) (unless (and (zero? (system* extlinux "--install" install-dir)) - (call-with-input-file (string-append syslinux-dir "/" #$mbr) - (lambda (input) - (let ((bv (get-bytevector-n input 440))) - (call-with-output-file device - (lambda (output) - (put-bytevector output bv)) - #:binary #t))))) + (#$write-file-on-device + (string-append syslinux-dir "/" #$mbr) 440 device 0)) (error "failed to install SYSLINUX"))))) (define install-extlinux-mbr -- 2.7.4 From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 07 03:53:02 2017 Received: (at 29409) by debbugs.gnu.org; 7 Dec 2017 08:53:02 +0000 Received: from localhost ([127.0.0.1]:49837 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eMrvR-0000Ye-QG for submit@debbugs.gnu.org; Thu, 07 Dec 2017 03:53:02 -0500 Received: from mail-wr0-f196.google.com ([209.85.128.196]:36566) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eMrvN-0000YK-51 for 29409@debbugs.gnu.org; Thu, 07 Dec 2017 03:53:00 -0500 Received: by mail-wr0-f196.google.com with SMTP id v105so6605723wrc.3 for <29409@debbugs.gnu.org>; Thu, 07 Dec 2017 00:52:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=GaXsOZ3KP0WwUMEG8CqYdfzIYMgNT+vVyN2lQpynk34=; b=DvShSaCHVai9V+PxsMSLk263mQppuOt0XPMugLQJ9GM0po5mo8qnpQQ7DjzpFMA0Ob /CRT638pYSFrl6wyg7j0rMfFxQCZdEkQyfhDE0B6fHzfNbSQD3ceLwzJiEL0jUaJsoYB bPuV360a225sSmOSc4Yyvp6E5KL8432Quq6RXWOnUqcr9Jvsp0aiIHOUlnxWlPudBD1D WD+lbnaMfp5hqOyHVIwBSNz7bpc0jtbITF4qahGvHUq3hRvnTKSlcAwrrLQ8T/Qebv8t LiZX7t4/k1h/5X7YPDAFlnqvOi5hfLQjmI5ISaWWc/l46O3ng/S/Ghm8zvRBKov3j25k WXSQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=GaXsOZ3KP0WwUMEG8CqYdfzIYMgNT+vVyN2lQpynk34=; b=s2eegr/Vy3tEDeXt59oZI4M2C3EY3D/AE/xXHnjpWYeYxTCS1eUBGCEBGn1E/duix+ ieLrYx9Of4gnw+MQtKP7cw6KeCZsfjuzZI/vRnuaEgngzwxn22+h2RMpxyIO2h/uHTtT 1Fk7BPcVUWgaXPONEA9YyVWz0khOHz74kIAZq7n3NFRTjNlcU0fcQuxKoTUobkxQxVKe gyZ4DKc23uia5125y1G/ihStEyv4d6eW6Q08Iiq9c4i68CkXEG/cnFmJSiYo+gFyz1Z4 c8ZnnoTHmTt5VreqfNHP/C5JXeMQRhoUkk59jZGZem6/mIQBI0bavUEEBDcRRWDvJVcN CGYQ== X-Gm-Message-State: AJaThX6vh+3aGS8oykMpbBvFVgyTXXCUmaSLGcaql5OvdlkREiYCX2eo wbOARAx9wRJ18Fd2i+qRkAc9bw== X-Google-Smtp-Source: AGs4zMYXVoLndNINJYj7NjqbdHHAqsck35eUPU7JMq00PXXsgjDqTFg21gTjbGWUnFQp2PO/bdJWAw== X-Received: by 10.223.144.36 with SMTP id h33mr21227955wrh.180.1512636770905; Thu, 07 Dec 2017 00:52:50 -0800 (PST) Received: from denali.Parrot.Biz ([46.218.109.88]) by smtp.gmail.com with ESMTPSA id x185sm4969395wmx.12.2017.12.07.00.52.49 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 07 Dec 2017 00:52:50 -0800 (PST) From: m.othacehe@gmail.com To: 29409@debbugs.gnu.org Subject: [PATCH] system: Add BeagleBone Black installer. Date: Thu, 7 Dec 2017 09:52:45 +0100 Message-Id: <1512636765-3322-1-git-send-email-m.othacehe@gmail.com> X-Mailer: git-send-email 2.7.4 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 29409 Cc: Mathieu Othacehe X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) From: Mathieu Othacehe * gnu/bootloader/u-boot.scm (u-boot-beaglebone-black-bootloader): New exported bootloader. * gnu/system/boards/beaglebone-black.scm: New file returning bbb installer. * gnu/local.mk (GNU_SYSTEM_MODULES): Add new file. --- gnu/bootloader/u-boot.scm | 18 +++++++++++++++++- gnu/local.mk | 4 +++- gnu/system/boards/beaglebone-black.scm | 33 +++++++++++++++++++++++++++++++++ 3 files changed, 53 insertions(+), 2 deletions(-) create mode 100644 gnu/system/boards/beaglebone-black.scm diff --git a/gnu/bootloader/u-boot.scm b/gnu/bootloader/u-boot.scm index 963b0d7..2169680 100644 --- a/gnu/bootloader/u-boot.scm +++ b/gnu/bootloader/u-boot.scm @@ -26,13 +26,23 @@ #:use-module (guix monads) #:use-module (guix records) #:use-module (guix utils) - #:export (u-boot-bootloader)) + #:export (u-boot-bootloader + u-boot-beaglebone-black-bootloader)) (define install-u-boot #~(lambda (bootloader device mount-point) (if bootloader (error "Failed to install U-Boot")))) +(define install-beaglebone-black-u-boot + #~(lambda (bootloader device mount-point) + (let ((mlo (string-append bootloader "/libexec/MLO")) + (u-boot (string-append bootloader "/libexec/u-boot.img"))) + (#$write-file-on-device mlo (* 256 512) + device (* 256 512)) + (#$write-file-on-device u-boot (* 1024 512) + device (* 768 512))))) + ;;; @@ -45,3 +55,9 @@ (name 'u-boot) (package #f) (installer install-u-boot))) + +(define u-boot-beaglebone-black-bootloader + (bootloader + (inherit u-boot-bootloader) + (package u-boot-beagle-bone-black) + (installer install-beaglebone-black-u-boot))) diff --git a/gnu/local.mk b/gnu/local.mk index 434bbb0..53fc04e 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -487,7 +487,9 @@ GNU_SYSTEM_MODULES = \ %D%/system/shadow.scm \ %D%/system/uuid.scm \ %D%/system/vm.scm \ - \ + \ + %D%/system/boards/beaglebone-black.scm \ + \ %D%/build/activation.scm \ %D%/build/cross-toolchain.scm \ %D%/build/file-systems.scm \ diff --git a/gnu/system/boards/beaglebone-black.scm b/gnu/system/boards/beaglebone-black.scm new file mode 100644 index 0000000..19ef412 --- /dev/null +++ b/gnu/system/boards/beaglebone-black.scm @@ -0,0 +1,33 @@ +(define-module (gnu system boards beaglebone-black) + #:use-module (gnu) + #:use-module (gnu system install) + #:use-module (gnu bootloader u-boot) + #:use-module (gnu packages bootloaders) + #:use-module (gnu packages linux) + #:export (beaglebone-black-installation-os)) + +(define beaglebone-black-installation-os + (operating-system + (inherit installation-os) + (bootloader (bootloader-configuration + (bootloader u-boot-beaglebone-black-bootloader) + (target "/dev/sda"))) + (kernel linux-libre) + (initrd (lambda (fs . rest) + (apply base-initrd fs + ;; This module is required to mount the sd card. + #:extra-modules (list "omap_hsmmc") + rest))) + (services (append + ;; mingetty does not work on serial lines. + ;; Use agetty with board-specific serial parameters. + (list (agetty-service + (agetty-configuration + (extra-options '("-L")) + (baud-rate "115200") + (term "vt100") + (tty "ttyO0")))) + (operating-system-user-services installation-os))))) + +;; Return it here so 'guix system' can consume it directly. +beaglebone-black-installation-os -- 2.7.4 From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 08 04:24:25 2017 Received: (at 29409) by debbugs.gnu.org; 8 Dec 2017 09:24:25 +0000 Received: from localhost ([127.0.0.1]:51316 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eNEtN-0007xG-1t for submit@debbugs.gnu.org; Fri, 08 Dec 2017 04:24:25 -0500 Received: from hera.aquilenet.fr ([141.255.128.1]:55930) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eNEtL-0007x8-Ay for 29409@debbugs.gnu.org; Fri, 08 Dec 2017 04:24:23 -0500 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id 061B610345; Fri, 8 Dec 2017 10:24:26 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at aquilenet.fr Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id HZmLGCpchgzd; Fri, 8 Dec 2017 10:24:25 +0100 (CET) Received: from ribbon (nat-eduroam-36-gw-01-bso.bordeaux.inria.fr [194.199.1.36]) by hera.aquilenet.fr (Postfix) with ESMTPSA id 0065310314; Fri, 8 Dec 2017 10:24:24 +0100 (CET) From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: Danny Milosavljevic Subject: Re: [bug#29409] [PATCH] system: vm: Do not add EFI partition on ARM system. References: <1511965226-12253-1-git-send-email-m.othacehe@gmail.com> <1511965226-12253-2-git-send-email-m.othacehe@gmail.com> <20171201211416.3977f6b1@scratchpost.org> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 18 Frimaire an 226 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Fri, 08 Dec 2017 10:24:21 +0100 In-Reply-To: <20171201211416.3977f6b1@scratchpost.org> (Danny Milosavljevic's message of "Fri, 1 Dec 2017 21:14:16 +0100") Message-ID: <87shcl373u.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 29409 Cc: m.othacehe@gmail.com, 29409@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) Danny Milosavljevic skribis: > Be advised that there are ARM processors that do use EFI (some ARMv8 and = aarch64 boards). I'm not opposed to this patch but in the future it might = be better to have a flag specify whether to use UEFI. The SoftIron OverDrive 1000 boxes (aarch64) that we were just donated use UEFI. This might actually make porting easier since it=E2=80=99s pretty much indistinguishable from x86_64/UEFI, isn=E2=80=99t it? Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 08 04:38:53 2017 Received: (at 29409) by debbugs.gnu.org; 8 Dec 2017 09:38:53 +0000 Received: from localhost ([127.0.0.1]:51333 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eNF7N-0008I6-2U for submit@debbugs.gnu.org; Fri, 08 Dec 2017 04:38:53 -0500 Received: from hera.aquilenet.fr ([141.255.128.1]:56021) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eNF7L-0008Hz-OX for 29409@debbugs.gnu.org; Fri, 08 Dec 2017 04:38:52 -0500 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id 47583FBD2; Fri, 8 Dec 2017 10:38:54 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at aquilenet.fr Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 8V_ngFpdBrmE; Fri, 8 Dec 2017 10:38:53 +0100 (CET) Received: from ribbon (nat-eduroam-36-gw-01-bso.bordeaux.inria.fr [194.199.1.36]) by hera.aquilenet.fr (Postfix) with ESMTPSA id 78495F27F; Fri, 8 Dec 2017 10:38:53 +0100 (CET) From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: m.othacehe@gmail.com Subject: Re: [bug#29409] [PATCH] build: vm: Use qemu drive device parameter. References: <877euhtjkj.fsf@gmail.com> <1512408912-21174-1-git-send-email-m.othacehe@gmail.com> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 18 Frimaire an 226 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Fri, 08 Dec 2017 10:38:49 +0100 In-Reply-To: <1512408912-21174-1-git-send-email-m.othacehe@gmail.com> (m. othacehe's message of "Mon, 4 Dec 2017 18:35:12 +0100") Message-ID: <87d13p36fq.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 29409 Cc: 29409@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) m.othacehe@gmail.com skribis: > From: Mathieu Othacehe > > * gnu/build/vm.scm (load-in-linux-vm): As per network arguments, use devi= ce > parameter to define drive device. > --- > gnu/build/vm.scm | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/gnu/build/vm.scm b/gnu/build/vm.scm > index 9e868f6..96c57ab 100644 > --- a/gnu/build/vm.scm > +++ b/gnu/build/vm.scm > @@ -126,10 +126,11 @@ the #:references-graphs parameter of 'derivation'." > "-initrd" initrd > "-append" (string-append "console=3DttyS0 --load=3D" > builder) > + "-device" "virtio-blk,drive=3Dhd" > (append > (if make-disk-image? > - `("-drive" ,(string-append "file=3D" output > - ",if=3Dvirtio")) > + `("-drive" ,(string-append "if=3Dnone,file=3D" ou= tput > + ",id=3Dhd")) Is there a difference between =E2=80=98virtio=E2=80=99 and =E2=80=98virtio-= blk=E2=80=99? If confess I always have a hard time parsing QEMU=E2=80=99s command-line options, but as long as it still works, it LGTM. :-) Thanks, Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 08 05:22:44 2017 Received: (at 29409) by debbugs.gnu.org; 8 Dec 2017 10:22:44 +0000 Received: from localhost ([127.0.0.1]:51393 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eNFnm-0000sn-Gk for submit@debbugs.gnu.org; Fri, 08 Dec 2017 05:22:43 -0500 Received: from mail-wr0-f175.google.com ([209.85.128.175]:34401) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eNFnk-0000sb-To for 29409@debbugs.gnu.org; Fri, 08 Dec 2017 05:22:41 -0500 Received: by mail-wr0-f175.google.com with SMTP id y21so10342232wrc.1 for <29409@debbugs.gnu.org>; Fri, 08 Dec 2017 02:22:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=references:user-agent:from:to:cc:subject:in-reply-to:date :message-id:mime-version:content-transfer-encoding; bh=eLzHec2089ZtHLt81DAMIuhyn/fWcKpNNwlbe/BY8Lo=; b=WNq6DKpLnKfNNOO8k4IsWMPnsEFOrjr+a+xiCFf/+L95VXolX17ilWGFBGHGQQ9yU3 ovM9poRwlyyETy4lSC5rQvjLdw7xG5bOguhaeRKy19h0qin6J4lUK5LI+83sq6m71SiD A51qu+kC3CGU4TS0ywyRgGW24GHdsBPxs0/K9tuTTslBRuuOj51QpvOO5cGyTTVtu0gS kxqtdjRWydC/Q7RlmRccv+GuoR3zVEL2c0MFBmFVwHW0uD0HDNSGZ//zU01ZTArEi/ue tsgJj2Xi0dL8s6WqfW5OdN8N3+wPkH6TSLCHOIpeaTxULh4l72J9Hs7crvvZ5jZT1Ty5 ICww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:references:user-agent:from:to:cc:subject :in-reply-to:date:message-id:mime-version:content-transfer-encoding; bh=eLzHec2089ZtHLt81DAMIuhyn/fWcKpNNwlbe/BY8Lo=; b=VffNSQ8DIJdCOV7sD9ouQz/16Lts6zh+arWXEyjgfI1P1XD935EYs1KFZ04+WzawO3 UW+Z3tYKFs1TVX3Rz/pK6mWnyCRDT5pT/X5Vf6D1JFY9Y1AVq328+xdFUbAswVQFcJLJ PrZWbYfZKqXR03usOiqW9VGNeyVRzk5fsxFXsm7AXvdjXPq9CmNLKuTf5EsGQ4Hkpzvk Z5PhhIkM2zkdVoKvz/qoxSm6XuAKcDujAioKdCu2dy5jv+1yi0gytiBQtk6QRIEgAcw0 T5415m8nmLQqxcrpJSi1G6i96v1PyhiNzHx4C4CftZ7FO0XTBxM9sgRVSdEZTu4LDjrF E5wQ== X-Gm-Message-State: AJaThX4nDOsQWl5IEksz95jJf2fILEsLiWpvHMhmKdLJZHnJOn7bCN9L 5NEdkZNdwXeKc90fQ5pOwn+Y+g== X-Google-Smtp-Source: AGs4zMbpk0zL0iVV+Jvn+gIehfkw6nrNAjQqfwBVxswm2KNOswthZLmRQ6XJaX9NOad4xW/+wdXZmg== X-Received: by 10.223.150.118 with SMTP id c51mr24671809wra.202.1512728554845; Fri, 08 Dec 2017 02:22:34 -0800 (PST) Received: from denali ([46.218.109.88]) by smtp.gmail.com with ESMTPSA id n17sm544813wmd.22.2017.12.08.02.22.33 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 08 Dec 2017 02:22:34 -0800 (PST) References: <877euhtjkj.fsf@gmail.com> <1512408912-21174-1-git-send-email-m.othacehe@gmail.com> <87d13p36fq.fsf@gnu.org> User-agent: mu4e 0.9.18; emacs 25.3.1 From: Mathieu Othacehe To: Ludovic =?utf-8?Q?Court=C3=A8s?= Subject: Re: [bug#29409] [PATCH] build: vm: Use qemu drive device parameter. In-reply-to: <87d13p36fq.fsf@gnu.org> Date: Fri, 08 Dec 2017 11:22:33 +0100 Message-ID: <87h8t1wmc6.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 29409 Cc: 29409@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) Hey Ludo, > Is there a difference between ‘virtio’ and ‘virtio-blk’? > > If confess I always have a hard time parsing QEMU’s command-line > options, but as long as it still works, it LGTM. :-) Yes I had a hard time finding a command-line working both on intel and arm systems. if=virtio === -device virtio-blk-pci,drive=DRIVE-ID,class=C,vectors=V,ioeventfd=IOEVENTFD according to : https://github.com/qemu/qemu/blob/master/docs/qdev-device-use.txt I submitted an updated version of this patch in the same serie. It adds "format=xxx" parameter to avoid this kind of warnings : --8<---------------cut here---------------start------------->8--- WARNING: Image format was not specified for ... and probing guessed raw. Automatically detecting the format is dangerous for raw images, write operations on block 0 will be restricted. Specify the 'raw' format explicitly to remove the restrictions. --8<---------------cut here---------------end--------------->8--- Thanks, Mathieu From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 11 11:32:57 2017 Received: (at 29409) by debbugs.gnu.org; 11 Dec 2017 16:32:57 +0000 Received: from localhost ([127.0.0.1]:57100 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eOR0j-0003nd-1X for submit@debbugs.gnu.org; Mon, 11 Dec 2017 11:32:57 -0500 Received: from hera.aquilenet.fr ([141.255.128.1]:39864) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eOR0g-0003nU-6b for 29409@debbugs.gnu.org; Mon, 11 Dec 2017 11:32:55 -0500 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id DE7121044A; Mon, 11 Dec 2017 17:32:56 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at aquilenet.fr Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id wago_soO_ZaN; Mon, 11 Dec 2017 17:32:56 +0100 (CET) Received: from ribbon (unknown [193.50.110.104]) by hera.aquilenet.fr (Postfix) with ESMTPSA id D3CBA10448; Mon, 11 Dec 2017 17:32:55 +0100 (CET) From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: m.othacehe@gmail.com Subject: Re: [bug#29409] [PATCH 1/4] build: vm: Use netdev qemu parameter. References: <1512565193-3234-1-git-send-email-m.othacehe@gmail.com> <1512565193-3234-2-git-send-email-m.othacehe@gmail.com> Date: Mon, 11 Dec 2017 17:32:52 +0100 In-Reply-To: <1512565193-3234-2-git-send-email-m.othacehe@gmail.com> (m. othacehe's message of "Wed, 6 Dec 2017 13:59:50 +0100") Message-ID: <87r2s1w7gr.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 29409 Cc: 29409@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) m.othacehe@gmail.com skribis: > From: Mathieu Othacehe > > * gnu/build/vm.scm (load-in-linux-vm): "-net nic" option is > deprecated, replace it with "-netdev" and "-device" options. > > See https://wiki.qemu.org/Documentation/Networking. > --- > gnu/build/vm.scm | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/gnu/build/vm.scm b/gnu/build/vm.scm > index 20ee127..9e868f6 100644 > --- a/gnu/build/vm.scm > +++ b/gnu/build/vm.scm > @@ -113,7 +113,8 @@ the #:references-graphs parameter of 'derivation'." > (unless (zero? > (apply system* qemu "-nographic" "-no-reboot" > "-m" (number->string memory-size) > - "-net" "nic,model=3Dvirtio" > + "-device" "virtio-net-pci,netdev=3Dmynet" > + "-netdev" "user,id=3Dmynet" IIUC the =E2=80=9Cuser=E2=80=9D part means that it does more than just upda= te to the new syntax: it also enable user-level networking support (built-in DHCP server, etc.). Is this correct? If so, can we leave out =E2=80=9Cuser=E2=80=9D? Thanks, Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 11 11:33:12 2017 Received: (at 29409) by debbugs.gnu.org; 11 Dec 2017 16:33:12 +0000 Received: from localhost ([127.0.0.1]:57104 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eOR0y-0003oc-9T for submit@debbugs.gnu.org; Mon, 11 Dec 2017 11:33:12 -0500 Received: from hera.aquilenet.fr ([141.255.128.1]:39868) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eOR0w-0003oQ-Hu for 29409@debbugs.gnu.org; Mon, 11 Dec 2017 11:33:10 -0500 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id 5C4AD1044A; Mon, 11 Dec 2017 17:33:13 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at aquilenet.fr Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id YfbVG43Cw3WD; Mon, 11 Dec 2017 17:33:12 +0100 (CET) Received: from ribbon (unknown [193.50.110.104]) by hera.aquilenet.fr (Postfix) with ESMTPSA id 8477B10448; Mon, 11 Dec 2017 17:33:12 +0100 (CET) From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: m.othacehe@gmail.com Subject: Re: [bug#29409] [PATCH 2/4] build: vm: Use qemu drive device parameter. References: <1512565193-3234-1-git-send-email-m.othacehe@gmail.com> <1512565193-3234-3-git-send-email-m.othacehe@gmail.com> Date: Mon, 11 Dec 2017 17:33:08 +0100 In-Reply-To: <1512565193-3234-3-git-send-email-m.othacehe@gmail.com> (m. othacehe's message of "Wed, 6 Dec 2017 13:59:51 +0100") Message-ID: <87mv2pw7gb.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 29409 Cc: 29409@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) m.othacehe@gmail.com skribis: > From: Mathieu Othacehe > > * gnu/build/vm.scm (load-in-linux-vm): As per network arguments, use device > parameter to define drive device. LGTM! From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 11 11:34:09 2017 Received: (at 29409) by debbugs.gnu.org; 11 Dec 2017 16:34:09 +0000 Received: from localhost ([127.0.0.1]:57108 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eOR1t-0003qS-J5 for submit@debbugs.gnu.org; Mon, 11 Dec 2017 11:34:09 -0500 Received: from hera.aquilenet.fr ([141.255.128.1]:39873) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eOR1q-0003qI-2a for 29409@debbugs.gnu.org; Mon, 11 Dec 2017 11:34:09 -0500 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id D90DC1044A; Mon, 11 Dec 2017 17:34:08 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at aquilenet.fr Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id yXUwFG_o27rL; Mon, 11 Dec 2017 17:34:06 +0100 (CET) Received: from ribbon (unknown [193.50.110.104]) by hera.aquilenet.fr (Postfix) with ESMTPSA id 9565C10448; Mon, 11 Dec 2017 17:34:06 +0100 (CET) From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: m.othacehe@gmail.com Subject: Re: [bug#29409] [PATCH 2/4] build: vm: Use qemu drive device parameter. References: <1512565193-3234-1-git-send-email-m.othacehe@gmail.com> <1512565193-3234-3-git-send-email-m.othacehe@gmail.com> Date: Mon, 11 Dec 2017 17:34:02 +0100 In-Reply-To: <1512565193-3234-3-git-send-email-m.othacehe@gmail.com> (m. othacehe's message of "Wed, 6 Dec 2017 13:59:51 +0100") Message-ID: <87inddw7et.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 29409 Cc: 29409@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) Nitpick: Please use =E2=80=9Cvm:=E2=80=9D (and not =E2=80=9Cbuild:=E2=80=9D= ) as the prefix in the subject line. I use =E2=80=9Cbuild:=E2=80=9D for things like Makefile.am or configure.ac changes. Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 11 11:38:25 2017 Received: (at 29409) by debbugs.gnu.org; 11 Dec 2017 16:38:25 +0000 Received: from localhost ([127.0.0.1]:57116 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eOR61-0004C9-44 for submit@debbugs.gnu.org; Mon, 11 Dec 2017 11:38:25 -0500 Received: from hera.aquilenet.fr ([141.255.128.1]:39880) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eOR5z-0004Bv-57 for 29409@debbugs.gnu.org; Mon, 11 Dec 2017 11:38:24 -0500 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id AE1D41044A; Mon, 11 Dec 2017 17:38:25 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at aquilenet.fr Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id qUbGkCEEiyt0; Mon, 11 Dec 2017 17:38:24 +0100 (CET) Received: from ribbon (unknown [193.50.110.104]) by hera.aquilenet.fr (Postfix) with ESMTPSA id BB14110448; Mon, 11 Dec 2017 17:38:24 +0100 (CET) From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: m.othacehe@gmail.com Subject: Re: [bug#29409] [PATCH 3/4] build: vm: Adapt qemu command to ARM. References: <1512565193-3234-1-git-send-email-m.othacehe@gmail.com> <1512565193-3234-4-git-send-email-m.othacehe@gmail.com> Date: Mon, 11 Dec 2017 17:38:21 +0100 In-Reply-To: <1512565193-3234-4-git-send-email-m.othacehe@gmail.com> (m. othacehe's message of "Wed, 6 Dec 2017 13:59:52 +0100") Message-ID: <87d13lw77m.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 29409 Cc: 29409@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) m.othacehe@gmail.com skribis: > From: Mathieu Othacehe > > * gnu/build/vm.scm (load-in-linux-vm): New argument #:target-arm32. > Use it to adapt command for qemu-system-arm. This implies to choose a > machine ("virt"), use the correct console port "ttyAMA0" and disable KVM = use > that is buggy on some ARM boards (Odroid XU4 for example). > * gnu/system/vm.scm (expression->derivation-in-linux-vm): Pass > to load-in-linux-vm "#:target-arm32?" argument. > --- > gnu/build/vm.scm | 19 ++++++++++++++++--- > gnu/system/vm.scm | 4 ++++ > 2 files changed, 20 insertions(+), 3 deletions(-) > > diff --git a/gnu/build/vm.scm b/gnu/build/vm.scm > index 0b1b9da..0fbba62 100644 > --- a/gnu/build/vm.scm > +++ b/gnu/build/vm.scm > @@ -77,6 +77,7 @@ > linux initrd > make-disk-image? > single-file-output? > + target-arm32? Do we really need this new parameter and could we use the =E2=80=98target-arm32?=E2=80=99 procedure that you added directly? > + (if target-arm32? > + (string-append "console=3DttyAMA0 --load=3D" build= er) > + (string-append "console=3DttyS0 --load=3D" builder= )) Could you add a short comment explaining this? > "-device" "virtio-blk,drive=3Dmyhd" > (append > (if make-disk-image? > @@ -133,10 +136,20 @@ the #:references-graphs parameter of 'derivation'." > ",format=3D" disk-imag= e-format > ",id=3Dmyhd")) > '()) > + ;; On ARM, a machine has to be specified. Use > + ;; "virt" machine to avoid hardware limits imposed > + ;; by other machines. > + (if target-arm32? > + '("-M" "virt") > + '()) > ;; Only enable kvm if we see /dev/kvm exists. > ;; This allows users without hardware virtualization = to still > ;; use these commands. > - (if (file-exists? "/dev/kvm") > + ;; > + ;; KVM support is still buggy on some ARM32 boards. D= o not > + ;; use it even if available. > + (if (and (file-exists? "/dev/kvm") > + (not target-arm32?)) > '("-enable-kvm") > '())))) For clarity, it might be best to collect all the platform-specific options separately, like: (define arch-specific-flags `(,@(if target-arm32? '("-M" "virt") '()) ,@(if (and (file-exists? "/dev/kvm") =E2=80=A6) =E2=80=A6) =E2=80=A6)) WDYT? Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 11 11:40:03 2017 Received: (at 29409) by debbugs.gnu.org; 11 Dec 2017 16:40:03 +0000 Received: from localhost ([127.0.0.1]:57120 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eOR7b-0004Ua-GZ for submit@debbugs.gnu.org; Mon, 11 Dec 2017 11:40:03 -0500 Received: from hera.aquilenet.fr ([141.255.128.1]:39890) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eOR7Z-0004U7-NQ for 29409@debbugs.gnu.org; Mon, 11 Dec 2017 11:40:02 -0500 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id 75F4310448; Mon, 11 Dec 2017 17:40:04 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at aquilenet.fr Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id p47M4L02bCt8; Mon, 11 Dec 2017 17:40:03 +0100 (CET) Received: from ribbon (unknown [193.50.110.104]) by hera.aquilenet.fr (Postfix) with ESMTPSA id A20B8F0D4; Mon, 11 Dec 2017 17:40:03 +0100 (CET) From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: m.othacehe@gmail.com Subject: Re: [bug#29409] [PATCH 4/4] bootloader: Factorize write-file-on-device. References: <1512565193-3234-1-git-send-email-m.othacehe@gmail.com> <1512565193-3234-5-git-send-email-m.othacehe@gmail.com> Date: Mon, 11 Dec 2017 17:40:00 +0100 In-Reply-To: <1512565193-3234-5-git-send-email-m.othacehe@gmail.com> (m. othacehe's message of "Wed, 6 Dec 2017 13:59:53 +0100") Message-ID: <878te9w74v.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 29409 Cc: 29409@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) m.othacehe@gmail.com skribis: > From: Mathieu Othacehe > > * gnu/bootloader/extlinux.scm (install-extlinux): Factorize bootloader > writing in a new procedure ... > * gnu/bootloader.scm (write-file-on-device): ... defined and exported her= e. LGTM! > +(define write-file-on-device > + #~(lambda (file size device offset) > + ;; Write SIZE bytes from FILE to DEVICE starting at OFFSET. > + (call-with-input-file file > + (lambda (input) > + (let ((bv (get-bytevector-n input size))) > + (call-with-output-file device > + (lambda (output) > + (seek output offset SEEK_SET) > + (put-bytevector output bv)) > + #:binary #t)))))) Eventually we might want to move it to (gnu build vm) or to create a new (gnu build bootloader) module with build-side code for bootloaders. Thanks! Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 11 11:47:35 2017 Received: (at 29409) by debbugs.gnu.org; 11 Dec 2017 16:47:35 +0000 Received: from localhost ([127.0.0.1]:57125 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eOREt-0005fH-9i for submit@debbugs.gnu.org; Mon, 11 Dec 2017 11:47:35 -0500 Received: from hera.aquilenet.fr ([141.255.128.1]:39911) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eOREp-0005f7-6B for 29409@debbugs.gnu.org; Mon, 11 Dec 2017 11:47:34 -0500 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id 0FF1E1044B; Mon, 11 Dec 2017 17:47:33 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at aquilenet.fr Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id p1oaPTivKKPU; Mon, 11 Dec 2017 17:47:31 +0100 (CET) Received: from ribbon (unknown [193.50.110.104]) by hera.aquilenet.fr (Postfix) with ESMTPSA id 7753810448; Mon, 11 Dec 2017 17:47:31 +0100 (CET) From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: m.othacehe@gmail.com Subject: Re: [bug#29409] [PATCH] system: Add BeagleBone Black installer. References: <877euhtjkj.fsf@gmail.com> <1512636765-3322-1-git-send-email-m.othacehe@gmail.com> Date: Mon, 11 Dec 2017 17:47:27 +0100 In-Reply-To: <1512636765-3322-1-git-send-email-m.othacehe@gmail.com> (m. othacehe's message of "Thu, 7 Dec 2017 09:52:45 +0100") Message-ID: <87zi6pus80.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 29409 Cc: 29409@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) m.othacehe@gmail.com skribis: > From: Mathieu Othacehe > > * gnu/bootloader/u-boot.scm (u-boot-beaglebone-black-bootloader): New exp= orted > bootloader. > * gnu/system/boards/beaglebone-black.scm: New file returning bbb installe= r. > * gnu/local.mk (GNU_SYSTEM_MODULES): Add new file. [...] > +(define install-beaglebone-black-u-boot > + #~(lambda (bootloader device mount-point) > + (let ((mlo (string-append bootloader "/libexec/MLO")) > + (u-boot (string-append bootloader "/libexec/u-boot.img"))) Could you add a comment explaining what=E2=80=99s specific to the BBB, perh= aps with a link to relevant documentation? > +++ b/gnu/system/boards/beaglebone-black.scm > @@ -0,0 +1,33 @@ > +(define-module (gnu system boards beaglebone-black) > + #:use-module (gnu) > + #:use-module (gnu system install) > + #:use-module (gnu bootloader u-boot) > + #:use-module (gnu packages bootloaders) > + #:use-module (gnu packages linux) > + #:export (beaglebone-black-installation-os)) > + > +(define beaglebone-black-installation-os > + (operating-system > + (inherit installation-os) I=E2=80=99d be tempted to just add it to (gnu system install) and then we= =E2=80=99d do: guix system disk-image -e '(@ (gnu system install) beaglebone-black-insta= llation-os)' WDYT? Of course we first need to add support for -e but that should be fine. ;-) > +beaglebone-black-installation-os Now that sounds really awesome. :-) So you=E2=80=99ve successfully installed GuixSD on BBB using this image? Is the BBB powerful enough to run =E2=80=98guix pull=E2=80=99? (I have an = Olimex A20 with 1G of RAM that just dies.) For small devices, it would also make sense to (cross-)build a ready-to-use GuixSD image and just write it to the device. Thoughts? Anyway, kudos on that one! I think you owe us a blog post with pictures of the BBB running GuixSD. :-) Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 11 12:33:07 2017 Received: (at 29409) by debbugs.gnu.org; 11 Dec 2017 17:33:07 +0000 Received: from localhost ([127.0.0.1]:57150 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eORwx-0006xl-HI for submit@debbugs.gnu.org; Mon, 11 Dec 2017 12:33:07 -0500 Received: from aibo.runbox.com ([91.220.196.211]:52996) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eORwt-0006xN-0N for 29409@debbugs.gnu.org; Mon, 11 Dec 2017 12:33:06 -0500 Received: from [10.9.9.212] (helo=mailfront12.runbox.com) by mailtransmit02.runbox with esmtp (Exim 4.86_2) (envelope-from ) id 1eORwp-0000d5-7x; Mon, 11 Dec 2017 18:32:59 +0100 Received: from dslb-094-220-187-053.094.220.pools.vodafone-ip.de ([94.220.187.53] helo=localhost) by mailfront12.runbox.com with esmtpsa (uid:892961 ) (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) id 1eORwo-00051Y-5A; Mon, 11 Dec 2017 18:32:58 +0100 Date: Mon, 11 Dec 2017 17:32:56 +0000 From: ng0 To: Ludovic =?utf-8?Q?Court=C3=A8s?= Subject: Re: [bug#29409] [PATCH] system: Add BeagleBone Black installer. Message-ID: <20171211173256.p7onixr6if6wcpyz@abyayala> References: <877euhtjkj.fsf@gmail.com> <1512636765-3322-1-git-send-email-m.othacehe@gmail.com> <87zi6pus80.fsf@gnu.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="hzvstk2qgywvipow" Content-Disposition: inline In-Reply-To: <87zi6pus80.fsf@gnu.org> X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 29409 Cc: m.othacehe@gmail.com, 29409@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) --hzvstk2qgywvipow Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Ludovic Court=C3=A8s transcribed 1.9K bytes: > m.othacehe@gmail.com skribis: >=20 > > From: Mathieu Othacehe > > > > * gnu/bootloader/u-boot.scm (u-boot-beaglebone-black-bootloader): New e= xported > > bootloader. > > * gnu/system/boards/beaglebone-black.scm: New file returning bbb instal= ler. > > * gnu/local.mk (GNU_SYSTEM_MODULES): Add new file. >=20 > [...] >=20 > > +(define install-beaglebone-black-u-boot > > + #~(lambda (bootloader device mount-point) > > + (let ((mlo (string-append bootloader "/libexec/MLO")) > > + (u-boot (string-append bootloader "/libexec/u-boot.img"))) >=20 > Could you add a comment explaining what=E2=80=99s specific to the BBB, pe= rhaps > with a link to relevant documentation? >=20 > > +++ b/gnu/system/boards/beaglebone-black.scm > > @@ -0,0 +1,33 @@ > > +(define-module (gnu system boards beaglebone-black) > > + #:use-module (gnu) > > + #:use-module (gnu system install) > > + #:use-module (gnu bootloader u-boot) > > + #:use-module (gnu packages bootloaders) > > + #:use-module (gnu packages linux) > > + #:export (beaglebone-black-installation-os)) > > + > > +(define beaglebone-black-installation-os > > + (operating-system > > + (inherit installation-os) >=20 > I=E2=80=99d be tempted to just add it to (gnu system install) and then we= =E2=80=99d do: >=20 > guix system disk-image -e '(@ (gnu system install) beaglebone-black-ins= tallation-os)' >=20 > WDYT? >=20 > Of course we first need to add support for -e but that should be fine. > ;-) For portability (extending into more templates and more installers etc) this seems like a nice idea. For example: you want to have a minimal XFCE image with just one definition, and you want to maintain deriviates of this minimal XFCE image in the same file. Or more in the spirit of this thread: You have one system install definition, but for hardware compability reasons you need to change some tiny pieces in it and add 3 variants for various hardware architecture. This would allow me to reduce infotropique/system/{core,$arch-core,$arch-$wm,=E2=80=A6} or something like infottropique/system/$arch/$wm to a more clean library overview. Just as a potential reference sneak-peak without much context ;) > > +beaglebone-black-installation-os >=20 > Now that sounds really awesome. :-) >=20 > So you=E2=80=99ve successfully installed GuixSD on BBB using this image? >=20 > Is the BBB powerful enough to run =E2=80=98guix pull=E2=80=99? (I have a= n Olimex A20 > with 1G of RAM that just dies.) >=20 > For small devices, it would also make sense to (cross-)build a > ready-to-use GuixSD image and just write it to the device. >=20 > Thoughts? >=20 > Anyway, kudos on that one! I think you owe us a blog post with pictures > of the BBB running GuixSD. :-) >=20 > Ludo=E2=80=99. Definitely very exciting! --=20 GnuPG: A88C8ADD129828D7EAC02E52E22F9BBFEE348588 GnuPG: https://c.n0.is/ng0_pubkeys/tree/keys WWW: https://n0.is --hzvstk2qgywvipow Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEqIyK3RKYKNfqwC5S4i+bv+40hYgFAlouwUgACgkQ4i+bv+40 hYjEnw/+O585x9jzSt7OjZhezjWwuaUULppr+2QiOpudDqViQcZ/d1jngK5GrECx blsU0TB5WpEQSKlNfkvBQhRgHXvcUbRe0oAKQBBZTA0hKw5kNas+rOtQKo1NZ+fX lfBBzEnLH6rN5MpRmoHIaXoK+UGdC/oo+4j6EG+YUkMkZ3PKQVW3CwSpa2Q73bnt gO8efS+66Hh54+6XWmWI3zBUMsU8EB6xlTAAFrhvKYo8MoEz+dEiiAxQmEl+l8Aq gAd7LqlxPBf177zU+Xx3JKxoEo2qgdhDewv9RfkSWDzxxWpK7WQhrqV5mhbV9n6S xVPbsp9Zm3V846uf+4YlYity/K5EaaiHVAsq9CAumU8q9pZcI53egA+0/9lkAL+j jMUkWdoXy+jWjZsQk7TzKlKGf18T72km7F8JwIesw8okHKvKK6IfKUNpr/2/ujRt akfjgoR54CqX9lyqyZKIs/YWsVKODXMYDTKS3lXhGSbYRIdYdDIf+mmIorKsDpI7 KYSllYuHneD0NKxzZF5KrECVtKHTlh2tGGWY9TvnoI+En0x7vUkMLQ7y1rW8FATY 632/z1jlTbG7Z6SCBEFh4AMM1U4w1OFhFCsGE0Szz6hhzJTQUCBDF4wdih23msly KWnO6rEicDVsaVdAVEtqbBjQjjMbkuf8QVc/V9sIneHE8uP5uIo= =X7iO -----END PGP SIGNATURE----- --hzvstk2qgywvipow-- From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 11 12:36:40 2017 Received: (at 29409) by debbugs.gnu.org; 11 Dec 2017 17:36:40 +0000 Received: from localhost ([127.0.0.1]:57154 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eOS0O-00073B-24 for submit@debbugs.gnu.org; Mon, 11 Dec 2017 12:36:40 -0500 Received: from mail-wr0-f176.google.com ([209.85.128.176]:40926) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eOS0M-00072t-1j for 29409@debbugs.gnu.org; Mon, 11 Dec 2017 12:36:38 -0500 Received: by mail-wr0-f176.google.com with SMTP id q9so18440115wre.7 for <29409@debbugs.gnu.org>; Mon, 11 Dec 2017 09:36:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=references:user-agent:from:to:cc:subject:in-reply-to:date :message-id:mime-version:content-transfer-encoding; bh=1Ud0v+6vcwMtEwOJtwN2gSNgejvPUMTGAesS5QkKg/g=; b=ZVSmaQe+63rLhBQFkAKYOn9Zgqm8C/kIq0r3DtWtJGt2AtUQEAdd5Y4KpP3X2EJTQO tOFCVmdrZmH0C99Fzcy1J9jAkpyH1o/FMhC+VBihmNZUOsP8U95yu0CCMdbapGxhmUgy ETZVfK4yEE872XpfG8bn/dkgYXGDCQn9e7R87s7h9AnxEmSREdXbB24th8xFmleVZj5L LmGINvBzrBNKflYfwlpZiqNtq1KxfNqwxm65S1sTMRtdUMckJUlyFaIaHTmw2jBC3pRK Un3mK6nF2ICHOMHIHjchRMmPzlnQZp+oniCZG2/ZJNTQU981fh7hVGVb5pmswr3Y/9p3 qFRQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:references:user-agent:from:to:cc:subject :in-reply-to:date:message-id:mime-version:content-transfer-encoding; bh=1Ud0v+6vcwMtEwOJtwN2gSNgejvPUMTGAesS5QkKg/g=; b=eA9kZsi+fZ+zWtY+2NPtLL0KnHeMF/wrLKa5AtaaCF9Gz7vemxi2ND1PaepciuI3wr tYEiKevn4uthwAkb9TnRsy8G1UMgP4W9v80lwCTYMsVtPRMmwr0DUyFJzRHSyVSJptaD DY6wQfR3Fm31gMwvaWdBqX5E1GjOEt8E7UI6eTibug+SKkfqknzAql71VKb4yQ9V6HfA ugEdhe/As8B/A8B5eEHx6xrLtnhT97/SYRjsR86zWpvn+K/rZLOGVc5jrj1D/aUzzjDi mtIC6E0mBgy+kUWdpoJcvgdmn4bJd74KtxdCZJsPK3xmgiEdTR+Yiz5BavbKWtrMoj7d vVHg== X-Gm-Message-State: AKGB3mKOWW5quj+23SvpEAPEndxJw2FFp0wVSXk04sMluLS4k2lEQRU9 H+A3r8vZ6RLbU8v7jTs34Afdbg== X-Google-Smtp-Source: ACJfBovUv2YIu8FZMMum3LDmMHvNA+Yg6kXhaIY7nEiR55PRmz4yCf29Xxj3mdg+ysAyHxmwIiAlHw== X-Received: by 10.223.164.81 with SMTP id e17mr1099060wra.16.1513013791813; Mon, 11 Dec 2017 09:36:31 -0800 (PST) Received: from denali ([46.218.109.88]) by smtp.gmail.com with ESMTPSA id 2sm16872258wre.17.2017.12.11.09.36.30 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 11 Dec 2017 09:36:30 -0800 (PST) References: <1512565193-3234-1-git-send-email-m.othacehe@gmail.com> <1512565193-3234-2-git-send-email-m.othacehe@gmail.com> <87r2s1w7gr.fsf@gnu.org> User-agent: mu4e 0.9.18; emacs 25.3.1 From: Mathieu Othacehe To: Ludovic =?utf-8?Q?Court=C3=A8s?= Subject: Re: [bug#29409] [PATCH 1/4] build: vm: Use netdev qemu parameter. In-reply-to: <87r2s1w7gr.fsf@gnu.org> Date: Mon, 11 Dec 2017 18:36:29 +0100 Message-ID: <87lgi99nfm.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 29409 Cc: 29409@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) Hi Ludo, > IIUC the “user” part means that it does more than just update to the new > syntax: it also enable user-level networking support (built-in DHCP > server, etc.). Is this correct? > > If so, can we leave out “user”? Well it seems that you're right, "-net nic" is not functionnaly equivalent to "-net user" (=== "-netdev user"). However, "-net nic" does not seem to be supported with -M virt on qemu-system-arm : --8<---------------cut here---------------start------------->8--- qemu-system-arm -M virt -net nic Warning: requested NIC (anonymous, model unspecified) was not created (not supported by this machine?) --8<---------------cut here---------------end--------------->8--- trying to get a list of available devices (as explained in man page), gives : --8<---------------cut here---------------start------------->8--- qemu-system-arm -M virt -net nic,model=help Warning: requested NIC (anonymous, model help) was not created (not supported by this machine?) --8<---------------cut here---------------end--------------->8--- So it seems that on ARM we will have to use "-netdev user", would it be a problem to use it too on intel systems ? Thanks, Mathieu From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 11 12:41:45 2017 Received: (at 29409) by debbugs.gnu.org; 11 Dec 2017 17:41:45 +0000 Received: from localhost ([127.0.0.1]:57162 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eOS5I-0007Bb-RS for submit@debbugs.gnu.org; Mon, 11 Dec 2017 12:41:44 -0500 Received: from mail-wm0-f54.google.com ([74.125.82.54]:39748) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eOS5G-0007BI-3D for 29409@debbugs.gnu.org; Mon, 11 Dec 2017 12:41:43 -0500 Received: by mail-wm0-f54.google.com with SMTP id i11so15652243wmf.4 for <29409@debbugs.gnu.org>; Mon, 11 Dec 2017 09:41:42 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=references:user-agent:from:to:cc:subject:in-reply-to:date :message-id:mime-version:content-transfer-encoding; bh=LnPhwW9Zzv9CMRnkgeTn763m3lOMMG83ZFp//5N4nTg=; b=X3J29aO0EWNLTZTpK8vhKhqpboq5E5BAtLxfrnpZItah6LsQ4OMOE/Gx09gy7WZxzG FDbLI04EK/W3qE4ERBInCIf9+qwqX/ASajhQbw0EiKx/RGd4UePCRp+AuCB63pp3py1n BR5YCVKq4m/7CG8HDQPh28qbbesK6KxAMBy89YvszLLcsh1ElnRG/j03CqiNMubGH0IN yeD09wc/yfOxZRdd/b6UPnZ9oSAe3myzIrSKxmMlg2NNONuCpDC1nPHflMZ0H/djBPDj yJaKREyTUoJDVft4LMprA42ck6XW5MH9QKPH+YOZ2dC/A+QNpWxthmg4psrwFG1JlCd0 ZQkA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:references:user-agent:from:to:cc:subject :in-reply-to:date:message-id:mime-version:content-transfer-encoding; bh=LnPhwW9Zzv9CMRnkgeTn763m3lOMMG83ZFp//5N4nTg=; b=ua4bWNFWLR5VrkFjHXuV35B6U1Mf/5apltSBrsNThmQYVb1nXMqyborjy6EHe/vP7P JdlyDDxdoKgM+FUa223fSUamEw7AJEFif/xUdt0sCNZ8D+yloWNLre5HJ1HwRcmcBC75 V71BiU3LzPbbyT5RNxMvgKcxa54VCJzLxEXD88JsQWkUdQxRiRbNZHx9+kcEZHFKbhIp v7D2gTAhUjxx+6znNrjqITRjNF6VURxJFkTZfvcd/6O2bkOzNmmzgsnNVWgCjbz+zA6Z ErdpGB0+EbcxdjjuBboAL8njAybde3qDRHY2QcNlBX0gPuIsEk72sxjkbMtEG8eEln5e pkpw== X-Gm-Message-State: AKGB3mKiN8oDkkGUPWn+797PigQATP4T1CvMYU0hRmD9BulzL6drGgdZ MfEVYVKFHci5sLT6jU+hAYFa/Q== X-Google-Smtp-Source: ACJfBosiXhNckVqpWkOo8ec69TFWW0fL5get0WMsmzCTVwKQpYDyQy0PkaZDQQ3C//LGE3FL8kgjlQ== X-Received: by 10.28.32.203 with SMTP id g194mr1399640wmg.13.1513014096057; Mon, 11 Dec 2017 09:41:36 -0800 (PST) Received: from denali ([46.218.109.88]) by smtp.gmail.com with ESMTPSA id n32sm19201929wrb.62.2017.12.11.09.41.35 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 11 Dec 2017 09:41:35 -0800 (PST) References: <1512565193-3234-1-git-send-email-m.othacehe@gmail.com> <1512565193-3234-4-git-send-email-m.othacehe@gmail.com> <87d13lw77m.fsf@gnu.org> User-agent: mu4e 0.9.18; emacs 25.3.1 From: Mathieu Othacehe To: Ludovic =?utf-8?Q?Court=C3=A8s?= Subject: Re: [bug#29409] [PATCH 3/4] build: vm: Adapt qemu command to ARM. In-reply-to: <87d13lw77m.fsf@gnu.org> Date: Mon, 11 Dec 2017 18:41:32 +0100 Message-ID: <87k1xt9n77.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 29409 Cc: 29409@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) > Do we really need this new parameter and could we use the > ‘target-arm32?’ procedure that you added directly? The problem is "target-arm32" is defined in (guix utils) which is not included at build time. Because it is supposed to be superseded by "let-system" in a near future, I tought it would be better than moving "target-arm32" in (guix build utils), am I right ? > Could you add a short comment explaining this? Sure. > For clarity, it might be best to collect all the platform-specific > options separately, like: > > (define arch-specific-flags > `(,@(if target-arm32? '("-M" "virt") '()) > ,@(if (and (file-exists? "/dev/kvm") …) …) > …)) > > WDYT? Seems better, I'll propose an updated patch. Thanks, Mathieu From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 11 12:42:10 2017 Received: (at 29409) by debbugs.gnu.org; 11 Dec 2017 17:42:10 +0000 Received: from localhost ([127.0.0.1]:57166 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eOS5h-0007Cg-2a for submit@debbugs.gnu.org; Mon, 11 Dec 2017 12:42:10 -0500 Received: from mail-wr0-f171.google.com ([209.85.128.171]:40516) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eOS5f-0007CA-1w for 29409@debbugs.gnu.org; Mon, 11 Dec 2017 12:42:07 -0500 Received: by mail-wr0-f171.google.com with SMTP id q9so18456702wre.7 for <29409@debbugs.gnu.org>; Mon, 11 Dec 2017 09:42:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=references:user-agent:from:to:cc:subject:in-reply-to:date :message-id:mime-version; bh=5QnD7WvwrnaaU3Lq76G/ncd585P06r6KDghOXxFmr2o=; b=U+WEOodtZ/D3Pgs2BG1rgLG5ohsnsGjFeHLaWnWDSdb7aFUAGxs/QhNIBTjEDHRivC 2cWR69CfsJRHFgnF+VTGMP3i+d/m3DdbhVw5FQL5cb7JTXUPRqzSUR5OLDsn5eBkzfjo E55qeRQmJM4nKJDzvTERWcs9PM1xXKQDXdDXZdjEYHhLu4g0DRRFqV2hNzNNUhkq8PTh rijuId4cZ8g3MqPESmNgFnN/SdpKaZ237mdj6iSVW0EcmBue7W/uYBF1XFe+6sHQbZFr KgoBuAioLAcmpQhB7S5uldqVMW4qOJILL+Wn15lVOk7JJ4Lj7F5Nr4cYbYj/QWW50/PW 0HDg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:references:user-agent:from:to:cc:subject :in-reply-to:date:message-id:mime-version; bh=5QnD7WvwrnaaU3Lq76G/ncd585P06r6KDghOXxFmr2o=; b=g8n/csA51EPJeDyeEdloQTkzBKSvQB9+VpK3dxkK+r+5wwgoPsbadVspal3hBGBMse 0JdqNzWyQ40PSnD623gGY4IXML0p1/SijKwOp8nOzWhS9XlfZS2Vaz2jw+RSgIRJKWgW f5YUheCDaVAxeVMdldUbk2WmfLJyHxJ59NIvdCulZOViU8DnF8/9OrnrRSAEQhnw+iw+ 6SYOj9tPJBuITuUx9NmvhnWO4zyKXu7lrieJpFr19Rr79bUegMNDqhrrpk7L6a/hHFO6 22mArfqf0CFBGqiaXstzSVB2zKbpvQC5Je5dHibPDRjOwEEV85vFO5SRaBX4qB+4tr8+ F4zA== X-Gm-Message-State: AKGB3mJP23G808tZvGU9+6Jpeo0cuzTqHOyBmwE4RXEOW6m3+w8wlgem Q1Z1JOW4c7Z04WeyOMEfgFPf/w== X-Google-Smtp-Source: ACJfBos6ScsGdM7XIenIUpdDm80gPI8BIgXs3wy711y5A9rVi0DH5yTSBypgbpKbS6yW4mty7QJK+A== X-Received: by 10.223.148.166 with SMTP id 35mr1022601wrr.245.1513014121039; Mon, 11 Dec 2017 09:42:01 -0800 (PST) Received: from denali ([46.218.109.88]) by smtp.gmail.com with ESMTPSA id n17sm9296984wmd.22.2017.12.11.09.42.00 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 11 Dec 2017 09:42:00 -0800 (PST) References: <1512565193-3234-1-git-send-email-m.othacehe@gmail.com> <1512565193-3234-5-git-send-email-m.othacehe@gmail.com> <878te9w74v.fsf@gnu.org> User-agent: mu4e 0.9.18; emacs 25.3.1 From: Mathieu Othacehe To: Ludovic =?utf-8?Q?Court=C3=A8s?= Subject: Re: [bug#29409] [PATCH 4/4] bootloader: Factorize write-file-on-device. In-reply-to: <878te9w74v.fsf@gnu.org> Date: Mon, 11 Dec 2017 18:41:59 +0100 Message-ID: <87indd9n6g.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 29409 Cc: 29409@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) > Eventually we might want to move it to (gnu build vm) or to create a new > (gnu build bootloader) module with build-side code for bootloaders. I'll go for (gnu build bootloader) then :) Thanks, Mathieu From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 11 12:57:52 2017 Received: (at 29409) by debbugs.gnu.org; 11 Dec 2017 17:57:52 +0000 Received: from localhost ([127.0.0.1]:57176 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eOSKu-0007bY-K4 for submit@debbugs.gnu.org; Mon, 11 Dec 2017 12:57:52 -0500 Received: from mail-wr0-f173.google.com ([209.85.128.173]:46502) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eOSKt-0007bL-4n for 29409@debbugs.gnu.org; Mon, 11 Dec 2017 12:57:51 -0500 Received: by mail-wr0-f173.google.com with SMTP id x49so18478741wrb.13 for <29409@debbugs.gnu.org>; Mon, 11 Dec 2017 09:57:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=references:user-agent:from:to:cc:subject:message-id:in-reply-to :date:mime-version:content-transfer-encoding; bh=FVplP8wxwt7Ko8RziNWvI18T363NTlGoLtljImCHt5M=; b=S8a8Qx2hoMZSzqOErgq2jcX9wgM//D5UcAf/j1x8jmuhC4jB9r34UHsQ5tlqAVAlcH jOCDK1556cWUWxmw3krUBUQncB9FZS7/H4VDg4e6TFiKOddiad09J71O8gIXyOvqhA9i c30SZNAZ5FjwxEemiSuf2eq8dyDOmMLgbYDBxrJG8pyHwy483RmoYxJeMR6bTTh2eQQX nX1EpGekSar2bv5bGJWZZR5Adq+2pt7kLZXuolNNsmW9K8YBrQoy2tWV6gsUZJvgcLOH M9WdCMp58iEg9/vYQUkfXcw3BhJyjipRvN/hJ0VnmvN60AK6ln296rBBNgii6ALQrn/Q 1mDQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:references:user-agent:from:to:cc:subject :message-id:in-reply-to:date:mime-version:content-transfer-encoding; bh=FVplP8wxwt7Ko8RziNWvI18T363NTlGoLtljImCHt5M=; b=sNp/OfjU+Mmna1r8+aD5qmoK2TQS54SnTwP/yNZyD+jzEn8I398SCQLuWyNR83xmIs kTwfG6cWMpPSha0Uciw7sfsE+0CbirPy4BDIveS9ZajVl8FNGjCcH0BsvgMI6fwVwv/Z soZhNyX5vVwAiyP/zRC7MZ9EgyrJIOMUMiKcryrRTZNTJ21nUanWNXvGzUcOYwANrzXp 7JFtcvQrjzh61yfpO5ubvwpiJZerwXMoKhTYLFw+UjkRSocU5sDYdL5+RbJLE3H2hNFk HlCeTHOrV/NV92ccARoumwY7V2HOg4aPsT5J6H5mCrUs7Z1DDnsL8SJjT0DPcoIEMMyz nakQ== X-Gm-Message-State: AKGB3mIKZ99eL7zN+e06CVa4JGNj4OZE8pl+T1OMooPjV6mjr/su3z1I h9EfSYq9bDvhhqV9aqzdRG/lLw== X-Google-Smtp-Source: ACJfBos3YlvqegDVHyfDyq9gzCvxmHt3BT4NBbGWUb78mIIPnFYptC2VQk4ZbPzkcGFeTjSdEa36qQ== X-Received: by 10.223.164.81 with SMTP id e17mr1150115wra.16.1513015065094; Mon, 11 Dec 2017 09:57:45 -0800 (PST) Received: from denali ([46.218.109.88]) by smtp.gmail.com with ESMTPSA id 2sm15607508wrg.49.2017.12.11.09.57.43 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 11 Dec 2017 09:57:44 -0800 (PST) References: <877euhtjkj.fsf@gmail.com> <1512636765-3322-1-git-send-email-m.othacehe@gmail.com> <87zi6pus80.fsf@gnu.org> User-agent: mu4e 0.9.18; emacs 25.3.1 From: Mathieu Othacehe To: Ludovic =?utf-8?Q?Court=C3=A8s?= Subject: Re: [bug#29409] [PATCH] system: Add BeagleBone Black installer. Message-ID: <87h8sx9mga.fsf@gmail.com> In-reply-to: <87zi6pus80.fsf@gnu.org> Date: Mon, 11 Dec 2017 18:57:43 +0100 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 29409 Cc: 29409@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) > I’d be tempted to just add it to (gnu system install) and then we’d do: > > guix system disk-image -e '(@ (gnu system install) beaglebone-black-installation-os)' > > WDYT? It seems better ! > Now that sounds really awesome. :-) Thanks :) > So you’ve successfully installed GuixSD on BBB using this image? I succeeded in booting the installer, I didn't try to install GuixSD on eMMC for now. > Is the BBB powerful enough to run ‘guix pull’? (I have an Olimex A20 > with 1G of RAM that just dies.) I really doubt that it will succeed :( > For small devices, it would also make sense to (cross-)build a > ready-to-use GuixSD image and just write it to the device. > > Thoughts? Sure I see two viable use-cases for now : * Build a functional system (mpd or prosody server for example) and write it on an external sdcard. * Cross-build a functional system and write it on an sdcard too. It could be interesting because building a system image on a quite powerful ARMv7 board (I bought an Odroid XU4 for this purpose) takes between 3-4 hours. Time is mostly spent in qemu machine copying files and in guix-registering. I don't think installing/guix pulling/guix system reconfiguring/ as we do it on intel systems is really viable on those tiny ARM boards. > Anyway, kudos on that one! I think you owe us a blog post with pictures > of the BBB running GuixSD. :-) Thanks again and yes, it's the top task on my todo-list :) Mathieu From debbugs-submit-bounces@debbugs.gnu.org Tue Dec 12 04:00:21 2017 Received: (at 29409) by debbugs.gnu.org; 12 Dec 2017 09:00:21 +0000 Received: from localhost ([127.0.0.1]:57665 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eOgQH-0006Ns-HF for submit@debbugs.gnu.org; Tue, 12 Dec 2017 04:00:21 -0500 Received: from hera.aquilenet.fr ([141.255.128.1]:42154) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eOgQE-0006Nh-IP for 29409@debbugs.gnu.org; Tue, 12 Dec 2017 04:00:18 -0500 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id 4D28BF8D2; Tue, 12 Dec 2017 10:00:21 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at aquilenet.fr Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id zP9bGHiL_fiu; Tue, 12 Dec 2017 10:00:20 +0100 (CET) Received: from ribbon (unknown [193.50.110.104]) by hera.aquilenet.fr (Postfix) with ESMTPSA id 9FF7FF5CC; Tue, 12 Dec 2017 10:00:20 +0100 (CET) From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: Mathieu Othacehe Subject: Re: [bug#29409] [PATCH 1/4] build: vm: Use netdev qemu parameter. References: <1512565193-3234-1-git-send-email-m.othacehe@gmail.com> <1512565193-3234-2-git-send-email-m.othacehe@gmail.com> <87r2s1w7gr.fsf@gnu.org> <87lgi99nfm.fsf@gmail.com> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 22 Frimaire an 226 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Tue, 12 Dec 2017 10:00:16 +0100 In-Reply-To: <87lgi99nfm.fsf@gmail.com> (Mathieu Othacehe's message of "Mon, 11 Dec 2017 18:36:29 +0100") Message-ID: <87a7yotj6n.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 29409 Cc: 29409@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) Hi Mathieu, Mathieu Othacehe skribis: >> IIUC the =E2=80=9Cuser=E2=80=9D part means that it does more than just u= pdate to the new >> syntax: it also enable user-level networking support (built-in DHCP >> server, etc.). Is this correct? >> >> If so, can we leave out =E2=80=9Cuser=E2=80=9D? > > Well it seems that you're right, "-net nic" is not functionnaly > equivalent to "-net user" (=3D=3D=3D "-netdev user"). > > However, "-net nic" does not seem to be supported with -M virt on > qemu-system-arm : > > qemu-system-arm -M virt -net nic > Warning: requested NIC (anonymous, model unspecified) was not created > (not supported by this machine?) > > > trying to get a list of available devices (as explained in man page), > gives : > > qemu-system-arm -M virt -net nic,model=3Dhelp > Warning: requested NIC (anonymous, model help) was not created (not > supported by this machine?) > > So it seems that on ARM we will have to use "-netdev user", would it be a > problem to use it too on intel systems ? It=E2=80=99s not a problem per se, but it provides additional functionality (QEMU=E2=80=99s built-in DHCP server and all that.) It=E2=80=99s weird bec= ause it=E2=80=99s not supposed to turn on emulation of a NIC, IIUC. Maybe add it to the ARM-specific list of flags? Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Tue Dec 12 04:03:07 2017 Received: (at 29409) by debbugs.gnu.org; 12 Dec 2017 09:03:07 +0000 Received: from localhost ([127.0.0.1]:57669 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eOgSt-0006TI-UP for submit@debbugs.gnu.org; Tue, 12 Dec 2017 04:03:07 -0500 Received: from hera.aquilenet.fr ([141.255.128.1]:42171) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eOgSs-0006TA-LA for 29409@debbugs.gnu.org; Tue, 12 Dec 2017 04:03:02 -0500 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id 69BBEF8D2; Tue, 12 Dec 2017 10:03:05 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at aquilenet.fr Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id sH6AfHdv4tVc; Tue, 12 Dec 2017 10:03:04 +0100 (CET) Received: from ribbon (unknown [193.50.110.104]) by hera.aquilenet.fr (Postfix) with ESMTPSA id BD201F5CC; Tue, 12 Dec 2017 10:03:04 +0100 (CET) From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: Mathieu Othacehe Subject: Re: [bug#29409] [PATCH 3/4] build: vm: Adapt qemu command to ARM. References: <1512565193-3234-1-git-send-email-m.othacehe@gmail.com> <1512565193-3234-4-git-send-email-m.othacehe@gmail.com> <87d13lw77m.fsf@gnu.org> <87k1xt9n77.fsf@gmail.com> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 22 Frimaire an 226 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Tue, 12 Dec 2017 10:03:01 +0100 In-Reply-To: <87k1xt9n77.fsf@gmail.com> (Mathieu Othacehe's message of "Mon, 11 Dec 2017 18:41:32 +0100") Message-ID: <87609ctj22.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 29409 Cc: 29409@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) Mathieu Othacehe skribis: >> Do we really need this new parameter and could we use the >> =E2=80=98target-arm32?=E2=80=99 procedure that you added directly? > > The problem is "target-arm32" is defined in (guix utils) which is not > included at build time. Because it is supposed to be superseded by > "let-system" in a near future, I tought it would be better than moving > "target-arm32" in (guix build utils), am I right ? Oh you=E2=80=99re right (I hadn=E2=80=99t realized this was on the build si= de.) You can keep it this way. Thanks, Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 13 06:02:36 2017 Received: (at 29409) by debbugs.gnu.org; 13 Dec 2017 11:02:36 +0000 Received: from localhost ([127.0.0.1]:59462 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eP4o8-0001YA-5U for submit@debbugs.gnu.org; Wed, 13 Dec 2017 06:02:36 -0500 Received: from mail-wm0-f48.google.com ([74.125.82.48]:38709) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eP4o5-0001Xs-Rk for 29409@debbugs.gnu.org; Wed, 13 Dec 2017 06:02:34 -0500 Received: by mail-wm0-f48.google.com with SMTP id 64so4210697wme.3 for <29409@debbugs.gnu.org>; Wed, 13 Dec 2017 03:02:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=cUnTHZuYo+Ru+4/vdJhFnx47XGg08X6l7zyNJMwLpa0=; b=IGGGmlgdbt9dG3M4PzKGzAPK8vputyuMu66ikQEfJqhPcqsikjshUpRq/2z2r9THYW Btm5n/O7ZuuWh4Eh6X3ZdRtinvRBMVZEr9ThFbWJjaVGEw6+BM8m41mvz812Ph/4cQrY Ok40C1gJ8RIMJV4W+jzfubJzfZWyPXh9O91hxovhb2byw86TLStHw93C4Z2frDj2+xca ykeUx1bRLlB+XZjTZOaSV+DMXrfDaHv2hONPsbfCX3HNNCz+2saRISAvrlXSGAXeVCSp TkW3rTQPwv2RnfjcPyhX3sjwpLCKZOa8dNQd1S9cajOqE/7uyn+OgcPkSi/P0q2pcFyi TBQg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=cUnTHZuYo+Ru+4/vdJhFnx47XGg08X6l7zyNJMwLpa0=; b=pGtmksE4zZHJg6w/znfQlEk1deMwhvgYsIph2DuJy5FcV7hO71pryS6LsgHclS8+qh qjqgCp9ADFUb8p13z7jQRXEVeHPUBytLt08s7yyEz4+9gBV4X5cUi0m+OB66NhBN7RY4 jTetLatYR6db1I4s5dNlzZ5jBcfr4FzWzh6c9jVM4wkOx7QjiKShgu4tTcSiwVRzNzVq zf/+i9P2wa7nj/m61tQ6cx30QAJ9/HENTeleLNzOB8l6gR8m2MVfF7MQ03YITpJV5U/i 6wWNoHZgEh4Ua7FKN7GbChcrbskQG4Jr9Bb689b0yX4I47nu1bOOvB5ogKUNdA80MK4X euGA== X-Gm-Message-State: AKGB3mLCK3G34djnKTN00xNNbycsCwKDujvTbUjsMTg9LMCR418NA6Mv x4o7D5DeZX7SvcCo4nVrxuJtxw== X-Google-Smtp-Source: ACJfBotv66V1tFDUGcrvY9Hp2QcVV2X0gXBZ4aoSL31BO5NYwNPPfWi+rcDESivWghGvWVXL8p1mQA== X-Received: by 10.28.50.197 with SMTP id y188mr1545579wmy.159.1513162947674; Wed, 13 Dec 2017 03:02:27 -0800 (PST) Received: from denali.Parrot.Biz ([46.218.109.88]) by smtp.gmail.com with ESMTPSA id e40sm2891698wre.6.2017.12.13.03.02.26 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 13 Dec 2017 03:02:27 -0800 (PST) From: m.othacehe@gmail.com To: 29409@debbugs.gnu.org Subject: [PATCH v2 1/4] vm: Adapt qemu command to ARM. Date: Wed, 13 Dec 2017 12:02:14 +0100 Message-Id: <1513162937-13145-1-git-send-email-m.othacehe@gmail.com> X-Mailer: git-send-email 2.7.4 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 29409 Cc: Mathieu Othacehe X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) From: Mathieu Othacehe * gnu/build/vm.scm (load-in-linux-vm): New argument #:target-arm32. Use it to adapt command for qemu-system-arm. This implies to choose a machine ("virt"), use the correct console port "ttyAMA0", disable KVM use that is buggy on some ARM boards (Odroid XU4 for example) and use user mode network stack instead of NIC. Gather all those options in a new variable "arch-specific-flags". * gnu/system/vm.scm (expression->derivation-in-linux-vm): Pass to load-in-linux-vm "#:target-arm32?" argument. --- gnu/build/vm.scm | 34 +++++++++++++++++++++++++++------- gnu/system/vm.scm | 4 ++++ 2 files changed, 31 insertions(+), 7 deletions(-) diff --git a/gnu/build/vm.scm b/gnu/build/vm.scm index ed84463..8f8ca60 100644 --- a/gnu/build/vm.scm +++ b/gnu/build/vm.scm @@ -77,6 +77,7 @@ linux initrd make-disk-image? single-file-output? + target-arm32? (disk-image-size (* 100 (expt 2 20))) (disk-image-format "qcow2") (references-graphs '())) @@ -91,6 +92,31 @@ access it via /dev/hda. REFERENCES-GRAPHS can specify a list of reference-graph files as produced by the #:references-graphs parameter of 'derivation'." + + (define arch-specific-flags + `(;; On ARM, a machine has to be specified. Use "virt" machine to avoid + ;; hardware limits imposed by other machines. + ,@(if target-arm32? '("-M" "virt") '()) + + ;; Only enable kvm if we see /dev/kvm exists. This allows users without + ;; hardware virtualization to still use these commands. KVM support is + ;; still buggy on some ARM32 boards. Do not use it even if available. + ,@(if (and (file-exists? "/dev/kvm") + (not target-arm32?)) + '("-enable-kvm") + '()) + "-append" + ;; The serial port name differs between emulated architectures/machines. + ,@(if target-arm32? + `(,(string-append "console=ttyAMA0 --load=" builder)) + `(,(string-append "console=ttyS0 --load=" builder))) + ;; NIC is not supported on ARM "virt" machine, so use a user mode + ;; network stack instead. + ,@(if target-arm32? + '("-device" "virtio-net-pci,netdev=mynet" + "-netdev" "user,id=mynet") + '("-net" "nic,model=virtio")))) + (when make-disk-image? (format #t "creating ~a image of ~,2f MiB...~%" disk-image-format (/ disk-image-size (expt 2 20))) @@ -113,7 +139,6 @@ the #:references-graphs parameter of 'derivation'." (unless (zero? (apply system* qemu "-nographic" "-no-reboot" "-m" (number->string memory-size) - "-net" "nic,model=virtio" "-virtfs" (string-append "local,id=store_dev,path=" (%store-directory) @@ -132,12 +157,7 @@ the #:references-graphs parameter of 'derivation'." ",format=" disk-image-format ",id=myhd")) '()) - ;; Only enable kvm if we see /dev/kvm exists. - ;; This allows users without hardware virtualization to still - ;; use these commands. - (if (file-exists? "/dev/kvm") - '("-enable-kvm") - '())))) + arch-specific-flags))) (error "qemu failed" qemu)) ;; When MAKE-DISK-IMAGE? is true, the image is in OUTPUT already. diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm index d754ac7..b376337 100644 --- a/gnu/system/vm.scm +++ b/gnu/system/vm.scm @@ -175,6 +175,10 @@ made available under the /xchg CIFS share." #:memory-size #$memory-size #:make-disk-image? #$make-disk-image? #:single-file-output? #$single-file-output? + ;; FIXME: ‘target-arm32?’ may not operate on + ;; the right system/target values. Rewrite + ;; using ‘let-system’ when available. + #:target-arm32? #$(target-arm32?) #:disk-image-format #$disk-image-format #:disk-image-size size #:references-graphs graphs))))) -- 2.7.4 From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 13 06:02:40 2017 Received: (at 29409) by debbugs.gnu.org; 13 Dec 2017 11:02:40 +0000 Received: from localhost ([127.0.0.1]:59467 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eP4oC-0001Yb-F1 for submit@debbugs.gnu.org; Wed, 13 Dec 2017 06:02:40 -0500 Received: from mail-wm0-f46.google.com ([74.125.82.46]:43090) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eP4oA-0001Y0-7e for 29409@debbugs.gnu.org; Wed, 13 Dec 2017 06:02:38 -0500 Received: by mail-wm0-f46.google.com with SMTP id n138so4161413wmg.2 for <29409@debbugs.gnu.org>; Wed, 13 Dec 2017 03:02:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=Oguyq7eXgyy8MLzmQweoygv0eqxMPC9jR6Ab4uPm5gw=; b=RC0X0lsMWxBi71o2d+n8KBKFi6d7pe1tq40TnVKchEz2rLXXxVVkOzpN3lMogfWdCx WySCuxb6rF3MciErrzyT7rJ8WY/41k0QLHFIv8/+OQ635LKR869zebQ+aRegRrI1vh75 P72o9TGQnAbmkn7CSz1OsExI18k5BsmvRKunNkJMPIXLu8y16MU5GmuqhDg43GF4RxmB YKANtA2kIoMdUQgS+ByYhmNHUTHmG6sTZpf//HTmg480DTEb8qY666V3Hnvhx21wO7kf NUnm05gDSan+luerr/ZPcufKL8CosfnW0NtdXiKG+gktqrXFECMnRQcqXgPt5UukJOGi gSLg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=Oguyq7eXgyy8MLzmQweoygv0eqxMPC9jR6Ab4uPm5gw=; b=D5VMq34OcbNL5ml8LUissvH8CES+leKbqAddBkUITdlr8lm751YwFrt+bsS3x8w2OD ii23HOmEvM7X/LAiqGlc5suS5h/Py0aYBmhilxBw8Lgs3MPnJP4DbXC9lDet1XejA3EG LaU+5jHpUNZ9oW5bbNVxfsym6HDAQJoNwNX/AptvLSa7Iig95uwtSo/svLrHTFtA7Fuy V/Zy75NEtsHhIVseodRvE0/miBfwCnQyW2AJnkfi7sbxBbL1fwHVPi1gpKfkDPFmoIEI pnTQu7s/yj2eQuo2XkzIejVciDauGPoT3UeF5R4i1LNn59cvrt2VMIAtHx/L225Jdpow ASng== X-Gm-Message-State: AKGB3mJ7XKSKeS89CbwsrSIOtyEK+gscbU6YEyU5dBnj+nc9PZtAbL6v g1E5Uxd5UXZMM8JbiuGdsnprVw== X-Google-Smtp-Source: ACJfBos151bBJL1TY24kgQzJw11smOKAVyRDgTvDZHKysWBigwjlXcE662pGqLqdliM3/PHpQOIdPg== X-Received: by 10.28.194.11 with SMTP id s11mr1533179wmf.143.1513162952306; Wed, 13 Dec 2017 03:02:32 -0800 (PST) Received: from denali.Parrot.Biz ([46.218.109.88]) by smtp.gmail.com with ESMTPSA id e40sm2891698wre.6.2017.12.13.03.02.31 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 13 Dec 2017 03:02:31 -0800 (PST) From: m.othacehe@gmail.com To: 29409@debbugs.gnu.org Subject: [PATCH v2 3/4] scripts: system: Add --expression option. Date: Wed, 13 Dec 2017 12:02:16 +0100 Message-Id: <1513162937-13145-3-git-send-email-m.othacehe@gmail.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1513162937-13145-1-git-send-email-m.othacehe@gmail.com> References: <1513162937-13145-1-git-send-email-m.othacehe@gmail.com> X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 29409 Cc: Mathieu Othacehe X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) From: Mathieu Othacehe * guix/scripts/system.scm (show-help): Add expression option. (%options): Ditto. (process-action): Read operating-system from expression or file. * Makefile.am (release): Use expression instead of file to produce disk-images. * doc/guix.texi (Building the Installation Image): Adapt disk-image command to use an expression. (Invoking guix system): Introduce the expression option. --- Makefile.am | 2 +- doc/guix.texi | 10 +++++++++- guix/scripts/system.scm | 24 +++++++++++++++++++----- 3 files changed, 29 insertions(+), 7 deletions(-) diff --git a/Makefile.am b/Makefile.am index 85b9ab3..dff1e5e 100644 --- a/Makefile.am +++ b/Makefile.am @@ -648,7 +648,7 @@ release: dist guix system disk-image \ --file-system-type=iso9660 \ --system=$$system \ - gnu/system/install.scm` ; \ + -e "(@ (gnu system install) installation-os)"` ; \ if [ ! -f "$$image" ] ; then \ echo "failed to produced GuixSD installation image for $$system" >&2 ; \ exit 1 ; \ diff --git a/doc/guix.texi b/doc/guix.texi index 92ac45b..9bdfdf7 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -8356,7 +8356,7 @@ The installation image described above was built using the @command{guix system} command, specifically: @example -guix system disk-image gnu/system/install.scm +guix system disk-image -e "(@@ (gnu system install) installation-os)" @end example Have a look at @file{gnu/system/install.scm} in the source tree, @@ -18744,6 +18744,14 @@ Build Options}). In addition, @var{options} can contain one of the following: @table @option +@item --expression=@var{expr} +@itemx -e @var{expr} +Consider the operating-system @var{expr} evaluates to. +This is an alternative to specifying a file which evaluates to an +operating-system. +This is used to generate the GuixSD installer @pxref{Building the +Installation Image}). + @item --system=@var{system} @itemx -s @var{system} Attempt to build for @var{system} instead of the host system type. diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm index cbf7e6c..f710db9 100644 --- a/guix/scripts/system.scm +++ b/guix/scripts/system.scm @@ -858,6 +858,9 @@ Some ACTIONS support additional ARGS.\n")) (display (G_ " -d, --derivation return the derivation of the given system")) (display (G_ " + -e, --expression=EXPR consider the operating-system EXPR evaluates to + instead of reading FILE, when applicable")) + (display (G_ " --on-error=STRATEGY apply STRATEGY when an error occurs while reading FILE")) (display (G_ " @@ -895,6 +898,9 @@ Some ACTIONS support additional ARGS.\n")) (option '(#\V "version") #f #f (lambda args (show-version-and-exit "guix system"))) + (option '(#\e "expression") #t #f + (lambda (opt name arg result) + (alist-cons 'expression arg result))) (option '(#\d "derivation") #f #f (lambda (opt name arg result) (alist-cons 'derivations-only? #t result))) @@ -964,11 +970,19 @@ resulting from command-line parsing." (let* ((file (match args (() #f) ((x . _) x))) + (expr (assoc-ref opts 'expression)) (system (assoc-ref opts 'system)) - (os (if file - (load* file %user-module - #:on-error (assoc-ref opts 'on-error)) - (leave (G_ "no configuration file specified~%")))) + (os (cond + ((and expr file) + (leave + (G_ "both file and expression cannot be specified~%"))) + (expr + (read/eval expr)) + (file + (load* file %user-module + #:on-error (assoc-ref opts 'on-error))) + (else + (leave (G_ "no configuration specified~%"))))) (dry? (assoc-ref opts 'dry-run?)) (bootloader? (assoc-ref opts 'install-bootloader?)) @@ -1093,7 +1107,7 @@ argument list and OPTS is the option alist." (case action ((build container vm vm-image disk-image reconfigure) - (unless (= count 1) + (unless (or (= count 1) (= count 0)) (fail))) ((init) (unless (= count 2) -- 2.7.4 From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 13 06:02:41 2017 Received: (at 29409) by debbugs.gnu.org; 13 Dec 2017 11:02:41 +0000 Received: from localhost ([127.0.0.1]:59469 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eP4oC-0001Yd-Qx for submit@debbugs.gnu.org; Wed, 13 Dec 2017 06:02:41 -0500 Received: from mail-wm0-f52.google.com ([74.125.82.52]:43103) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eP4oB-0001Y8-JK for 29409@debbugs.gnu.org; Wed, 13 Dec 2017 06:02:40 -0500 Received: by mail-wm0-f52.google.com with SMTP id n138so4161631wmg.2 for <29409@debbugs.gnu.org>; Wed, 13 Dec 2017 03:02:39 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=ZFNSMGQdoc0RosbMs7Hkq9kyn4fhPxRMLWE03yn0Ei8=; b=eaBc2FLor1WkKtVAbBi5bIA3WcEsW9fzpYSkjXGpZ3nq07IG/iNbnrJ/cFTJAT/wgD KAIHSMar4nDmIFV9F4wTBYUzImflfB/pQgFsz+NCKQTQyCDcoGQB3RjSN9yc8bl5Zfzf q49nCm+FqITxhCTZfGyCieGARSYO7a+cgSNPyxXknxCtV7Jtjr+387bXicHNkso98xC3 Pw2a0PNS37lor8fMR412PgAxTaEKtRJQW6IHWlPlbVBnZDopL+FhjrAvy5+zMxvxBd4v CZoLrIadLO54fRiFy1tztDbL/ppk9M22wsXsmTkOrNQkjAOH0d8iE+mQAE9jKvN+sXwn +Z+w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=ZFNSMGQdoc0RosbMs7Hkq9kyn4fhPxRMLWE03yn0Ei8=; b=BCwIUCAksM7P7D7AJv0E5nayjF1yt3EA+f46vlCWbew593Ho32yf5vd91SMd8IBu/x 14gmM3X9veGExLGDEfboAzCTfm6lbI/CwpmVZyT06CPvKxQkveshKBGKj3MASP/mJJJE wNGE6+xeD8pogpEtSOTSsv4uEKFGvzwTgGNtQ/Jzumbt7ARwjm9kcNJwNCY8/E/orB+m LILNcuahOhwMUOn+HQInjZ/WUgCWfNclvtBo1xf3Ggx78o1BUToo0KIjbptVNc1/4imA LzRw9AcjKsggjE0FJzjik51A31X5u5ymxusMTVLnj0FPnnNEwJP9ER7Gsw7RzRqtIfUX UW7g== X-Gm-Message-State: AKGB3mIGXjEMl4LsNvvZf+oK+v4hrCkSCM4SFYrA8r+eXn7BEPuZwhdZ rh6lY1O359QWOAnl4ZUYFvr3zA== X-Google-Smtp-Source: ACJfBosSUd8tg+M7cvZHHJ2uXQ+YICjclZf80PXWsEC4Jj1IMnsHk2u86bZB7bvtt2Xm1J1TlBkGiQ== X-Received: by 10.28.107.129 with SMTP id a1mr1531915wmi.83.1513162953684; Wed, 13 Dec 2017 03:02:33 -0800 (PST) Received: from denali.Parrot.Biz ([46.218.109.88]) by smtp.gmail.com with ESMTPSA id e40sm2891698wre.6.2017.12.13.03.02.32 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 13 Dec 2017 03:02:32 -0800 (PST) From: m.othacehe@gmail.com To: 29409@debbugs.gnu.org Subject: [PATCH v2 4/4] system: Add BeagleBone Black installer. Date: Wed, 13 Dec 2017 12:02:17 +0100 Message-Id: <1513162937-13145-4-git-send-email-m.othacehe@gmail.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1513162937-13145-1-git-send-email-m.othacehe@gmail.com> References: <1513162937-13145-1-git-send-email-m.othacehe@gmail.com> X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 29409 Cc: Mathieu Othacehe X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) From: Mathieu Othacehe * gnu/bootloader/u-boot.scm (u-boot-beaglebone-black-bootloader): New exported bootloader. * gnu/system/install.scm (beaglebone-black-installation-os): New exported variable. --- gnu/bootloader/u-boot.scm | 25 ++++++++++++++++++++++++- gnu/system/install.scm | 28 +++++++++++++++++++++++++--- 2 files changed, 49 insertions(+), 4 deletions(-) diff --git a/gnu/bootloader/u-boot.scm b/gnu/bootloader/u-boot.scm index 963b0d7..397eb81 100644 --- a/gnu/bootloader/u-boot.scm +++ b/gnu/bootloader/u-boot.scm @@ -21,18 +21,35 @@ #:use-module (gnu bootloader extlinux) #:use-module (gnu bootloader) #:use-module (gnu system) + #:use-module (gnu build bootloader) #:use-module (gnu packages bootloaders) #:use-module (guix gexp) #:use-module (guix monads) #:use-module (guix records) #:use-module (guix utils) - #:export (u-boot-bootloader)) + #:export (u-boot-bootloader + u-boot-beaglebone-black-bootloader)) (define install-u-boot #~(lambda (bootloader device mount-point) (if bootloader (error "Failed to install U-Boot")))) +(define install-beaglebone-black-u-boot + ;; http://wiki.beyondlogic.org/index.php?title=BeagleBoneBlack_Upgrading_uBoot + ;; This first stage bootloader called MLO (U-Boot SPL) is expected at + ;; 0x20000 by BBB ROM code. The second stage bootloader will be loaded by + ;; the MLO and is expected at 0x60000. Write both first stage ("MLO") and + ;; second stage ("u-boot.img") images, read in BOOTLOADER directory, to the + ;; specified DEVICE. + #~(lambda (bootloader device mount-point) + (let ((mlo (string-append bootloader "/libexec/MLO")) + (u-boot (string-append bootloader "/libexec/u-boot.img"))) + (write-file-on-device mlo (* 256 512) + device (* 256 512)) + (write-file-on-device u-boot (* 1024 512) + device (* 768 512))))) + ;;; @@ -45,3 +62,9 @@ (name 'u-boot) (package #f) (installer install-u-boot))) + +(define u-boot-beaglebone-black-bootloader + (bootloader + (inherit u-boot-bootloader) + (package u-boot-beagle-bone-black) + (installer install-beaglebone-black-u-boot))) diff --git a/gnu/system/install.scm b/gnu/system/install.scm index c2f73f7..d98becd 100644 --- a/gnu/system/install.scm +++ b/gnu/system/install.scm @@ -22,6 +22,7 @@ (define-module (gnu system install) #:use-module (gnu) + #:use-module (gnu bootloader u-boot) #:use-module (guix gexp) #:use-module (guix store) #:use-module (guix monads) @@ -42,7 +43,8 @@ #:use-module (gnu packages nvi) #:use-module (ice-9 match) #:use-module (srfi srfi-26) - #:export (installation-os)) + #:export (installation-os + beaglebone-black-installation-os)) ;;; Commentary: ;;; @@ -372,7 +374,27 @@ You have been warned. Thanks for being so brave.\x1b[0m nvi ;:wq! %base-packages)))) -;; Return it here so 'guix system' can consume it directly. -installation-os +(define beaglebone-black-installation-os + (operating-system + (inherit installation-os) + (bootloader (bootloader-configuration + (bootloader u-boot-beaglebone-black-bootloader) + (target "/dev/sda"))) + (kernel linux-libre) + (initrd (lambda (fs . rest) + (apply base-initrd fs + ;; This module is required to mount the sd card. + #:extra-modules (list "omap_hsmmc") + rest))) + (services (append + ;; mingetty does not work on serial lines. + ;; Use agetty with board-specific serial parameters. + (list (agetty-service + (agetty-configuration + (extra-options '("-L")) + (baud-rate "115200") + (term "vt100") + (tty "ttyO0")))) + (operating-system-user-services installation-os))))) ;;; install.scm ends here -- 2.7.4 From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 13 06:02:41 2017 Received: (at 29409) by debbugs.gnu.org; 13 Dec 2017 11:02:41 +0000 Received: from localhost ([127.0.0.1]:59471 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eP4oD-0001Yl-3X for submit@debbugs.gnu.org; Wed, 13 Dec 2017 06:02:41 -0500 Received: from mail-wm0-f45.google.com ([74.125.82.45]:43081) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eP4o8-0001Xy-J5 for 29409@debbugs.gnu.org; Wed, 13 Dec 2017 06:02:40 -0500 Received: by mail-wm0-f45.google.com with SMTP id n138so4161260wmg.2 for <29409@debbugs.gnu.org>; Wed, 13 Dec 2017 03:02:36 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=Fj/NGqOTiioGsGY+E99H0CuENq47jhO8Nhlxvxb1E/Y=; b=bt/KtLGOWEer9/d2/tuUKQqpikWn96i5QU6Mj9iSQ4I4dJs5NKuQK91OdVnjnhF/gR hY7PAB8yx341zDPazKdp0z32HpKsdRTSEaQIqyMMqfrw/mXg3iQLHNOAESj3k0Ku7dMm JrUC2otjVr/Gxc0jngSCDgWRhN++v2XLKArWKoNgyUDKhM1HzpTOtILexOdGGb1A+Gsx nHGVNF2H7yQIly1+JkxiG8HYZ4L3ejyG3megtiEg9eQh3UinCTlGlIPpIw+ICxmaw0ak 5FK24tlJmMUMJynaup50vgPdLtT9BFxa1I5agcXMnT1tAGmwwtP3iSOl6lKs6oYOYiMn C6sg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=Fj/NGqOTiioGsGY+E99H0CuENq47jhO8Nhlxvxb1E/Y=; b=QRe4AkTqEpR+uFp8XByaoIIdwFMyOV7OYCCpn7hTAKQKRynx9x+TudR1i/cc81e6MT 7RkTOAgpqvSoro8LYPTLWOzBlyDvLB+L2F0Lvs6dZBsvGbEWaFL/6wI+bFf0NiIPBMES ZmaSbcquxpYEtmzOg5ckttTtxRPgN7hAzgswlHg+NeaqGdM/SmsMYYD2K4/+NLm35A1l 63xjakI10Kn/oZlq2PNjtxnvEaK4KgEpTNmvpItWt2M0qXyE/vkXIHW50mhIMZWEjZOs 3M5KkxXcK4Le959n/TIAc9OXJKqSp/wuxsN45O0Euz6q++2muWOKWCpMPW2XD9ZupmHq nYPQ== X-Gm-Message-State: AKGB3mIpTtVoogHEiApibE+KGBbLNPtKv0zf2SDmU9RU3+GzoT9mui6F MnoskmKO7nM19jjnSPFELoHHOg== X-Google-Smtp-Source: ACJfBou6i6WzCPg/Ckx9K+/YsoEh7Z5tR/8ZMP9+6DqkolRSU/Bx2ieSd31zB6pDBrqwSN2G9z8Fog== X-Received: by 10.28.169.194 with SMTP id s185mr1602228wme.119.1513162950612; Wed, 13 Dec 2017 03:02:30 -0800 (PST) Received: from denali.Parrot.Biz ([46.218.109.88]) by smtp.gmail.com with ESMTPSA id e40sm2891698wre.6.2017.12.13.03.02.29 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 13 Dec 2017 03:02:30 -0800 (PST) From: m.othacehe@gmail.com To: 29409@debbugs.gnu.org Subject: [PATCH v2 2/4] bootloader: Factorize write-file-on-device. Date: Wed, 13 Dec 2017 12:02:15 +0100 Message-Id: <1513162937-13145-2-git-send-email-m.othacehe@gmail.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1513162937-13145-1-git-send-email-m.othacehe@gmail.com> References: <1513162937-13145-1-git-send-email-m.othacehe@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 29409 Cc: Mathieu Othacehe X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) From: Mathieu Othacehe * gnu/bootloader/extlinux.scm (install-extlinux): Factorize bootloader writing in a new procedure ... * gnu/bootloader.scm (write-file-on-device): ... defined and exported here. --- gnu/bootloader/extlinux.scm | 10 +++------- gnu/build/bootloader.scm | 37 +++++++++++++++++++++++++++++++++++++ gnu/local.mk | 1 + gnu/system/vm.scm | 6 ++++-- guix/scripts/system.scm | 6 ++++-- 5 files changed, 49 insertions(+), 11 deletions(-) create mode 100644 gnu/build/bootloader.scm diff --git a/gnu/bootloader/extlinux.scm b/gnu/bootloader/extlinux.scm index 9b6e2c7..f7820a3 100644 --- a/gnu/bootloader/extlinux.scm +++ b/gnu/bootloader/extlinux.scm @@ -20,6 +20,7 @@ (define-module (gnu bootloader extlinux) #:use-module (gnu bootloader) #:use-module (gnu system) + #:use-module (gnu build bootloader) #:use-module (gnu packages bootloaders) #:use-module (guix gexp) #:use-module (guix monads) @@ -95,13 +96,8 @@ TIMEOUT ~a~%" (find-files syslinux-dir "\\.c32$")) (unless (and (zero? (system* extlinux "--install" install-dir)) - (call-with-input-file (string-append syslinux-dir "/" #$mbr) - (lambda (input) - (let ((bv (get-bytevector-n input 440))) - (call-with-output-file device - (lambda (output) - (put-bytevector output bv)) - #:binary #t))))) + (write-file-on-device + (string-append syslinux-dir "/" #$mbr) 440 device 0)) (error "failed to install SYSLINUX"))))) (define install-extlinux-mbr diff --git a/gnu/build/bootloader.scm b/gnu/build/bootloader.scm new file mode 100644 index 0000000..d00674d --- /dev/null +++ b/gnu/build/bootloader.scm @@ -0,0 +1,37 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2017 Mathieu Othacehe +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu build bootloader) + #:use-module (ice-9 binary-ports) + #:export (write-file-on-device)) + + +;;; +;;; Writing utils. +;;; + +(define (write-file-on-device file size device offset) + "Write SIZE bytes from FILE to DEVICE starting at OFFSET." + (call-with-input-file file + (lambda (input) + (let ((bv (get-bytevector-n input size))) + (call-with-output-file device + (lambda (output) + (seek output offset SEEK_SET) + (put-bytevector output bv)) + #:binary #t))))) diff --git a/gnu/local.mk b/gnu/local.mk index 4682975..7a55efc 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -489,6 +489,7 @@ GNU_SYSTEM_MODULES = \ %D%/system/vm.scm \ \ %D%/build/activation.scm \ + %D%/build/bootloader.scm \ %D%/build/cross-toolchain.scm \ %D%/build/file-systems.scm \ %D%/build/install.scm \ diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm index b376337..6102d46 100644 --- a/gnu/system/vm.scm +++ b/gnu/system/vm.scm @@ -277,10 +277,12 @@ register INPUTS in the store database of the image so that Guix can be used in the image." (expression->derivation-in-linux-vm name - (with-imported-modules (source-module-closure '((gnu build vm) + (with-imported-modules (source-module-closure '((gnu build bootloader) + (gnu build vm) (guix build utils))) #~(begin - (use-modules (gnu build vm) + (use-modules (gnu build bootloader) + (gnu build vm) (guix build utils) (srfi srfi-26) (ice-9 binary-ports)) diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm index d0eacc5..cbf7e6c 100644 --- a/guix/scripts/system.scm +++ b/guix/scripts/system.scm @@ -674,9 +674,11 @@ any, are available. Raise an error if they're not." and TARGET arguments." (with-monad %store-monad (gexp->file "bootloader-installer" - (with-imported-modules '((guix build utils)) + (with-imported-modules '((gnu build bootloader) + (guix build utils)) #~(begin - (use-modules (guix build utils) + (use-modules (gnu build bootloader) + (guix build utils) (ice-9 binary-ports)) (#$installer #$bootloader #$device #$target)))))) -- 2.7.4 From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 15 05:33:52 2017 Received: (at 29409) by debbugs.gnu.org; 15 Dec 2017 10:33:52 +0000 Received: from localhost ([127.0.0.1]:34694 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ePnJQ-0004Y0-JI for submit@debbugs.gnu.org; Fri, 15 Dec 2017 05:33:52 -0500 Received: from hera.aquilenet.fr ([141.255.128.1]:54582) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ePnJP-0004Xt-Gp for 29409@debbugs.gnu.org; Fri, 15 Dec 2017 05:33:51 -0500 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id 61F9B102B8; Fri, 15 Dec 2017 11:33:54 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at aquilenet.fr Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 9yTuU0IIl8wL; Fri, 15 Dec 2017 11:33:53 +0100 (CET) Received: from ribbon (unknown [193.50.110.249]) by hera.aquilenet.fr (Postfix) with ESMTPSA id 5AFFC1027A; Fri, 15 Dec 2017 11:33:53 +0100 (CET) From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: m.othacehe@gmail.com Subject: Re: [bug#29409] [PATCH v2 1/4] vm: Adapt qemu command to ARM. References: <877euhtjkj.fsf@gmail.com> <1513162937-13145-1-git-send-email-m.othacehe@gmail.com> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 25 Frimaire an 226 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Fri, 15 Dec 2017 11:33:49 +0100 In-Reply-To: <1513162937-13145-1-git-send-email-m.othacehe@gmail.com> (m. othacehe's message of "Wed, 13 Dec 2017 12:02:14 +0100") Message-ID: <874losl1pu.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 29409 Cc: 29409@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) m.othacehe@gmail.com skribis: > From: Mathieu Othacehe > > * gnu/build/vm.scm (load-in-linux-vm): New argument #:target-arm32. > Use it to adapt command for qemu-system-arm. This implies to choose a > machine ("virt"), use the correct console port "ttyAMA0", disable KVM use > that is buggy on some ARM boards (Odroid XU4 for example) and use user mode > network stack instead of NIC. Gather all those options in a new variable > "arch-specific-flags". > * gnu/system/vm.scm (expression->derivation-in-linux-vm): Pass > to load-in-linux-vm "#:target-arm32?" argument. Perfect, thank you! From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 15 05:35:03 2017 Received: (at 29409) by debbugs.gnu.org; 15 Dec 2017 10:35:03 +0000 Received: from localhost ([127.0.0.1]:34702 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ePnKZ-0004aQ-79 for submit@debbugs.gnu.org; Fri, 15 Dec 2017 05:35:03 -0500 Received: from hera.aquilenet.fr ([141.255.128.1]:54587) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ePnKU-0004Zm-AI for 29409@debbugs.gnu.org; Fri, 15 Dec 2017 05:35:01 -0500 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id 46852102CA; Fri, 15 Dec 2017 11:35:01 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at aquilenet.fr Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Fe-Y-IglqoFo; Fri, 15 Dec 2017 11:35:00 +0100 (CET) Received: from ribbon (unknown [193.50.110.249]) by hera.aquilenet.fr (Postfix) with ESMTPSA id 354EF1027A; Fri, 15 Dec 2017 11:35:00 +0100 (CET) From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: m.othacehe@gmail.com Subject: Re: [bug#29409] [PATCH v2 2/4] bootloader: Factorize write-file-on-device. References: <1513162937-13145-1-git-send-email-m.othacehe@gmail.com> <1513162937-13145-2-git-send-email-m.othacehe@gmail.com> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 25 Frimaire an 226 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Fri, 15 Dec 2017 11:34:56 +0100 In-Reply-To: <1513162937-13145-2-git-send-email-m.othacehe@gmail.com> (m. othacehe's message of "Wed, 13 Dec 2017 12:02:15 +0100") Message-ID: <87zi6kjn3j.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 29409 Cc: 29409@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) m.othacehe@gmail.com skribis: > From: Mathieu Othacehe > > * gnu/bootloader/extlinux.scm (install-extlinux): Factorize bootloader > writing in a new procedure ... > * gnu/bootloader.scm (write-file-on-device): ... defined and exported her= e. > --- > gnu/bootloader/extlinux.scm | 10 +++------- > gnu/build/bootloader.scm | 37 +++++++++++++++++++++++++++++++++++++ > gnu/local.mk | 1 + > gnu/system/vm.scm | 6 ++++-- > guix/scripts/system.scm | 6 ++++-- > 5 files changed, 49 insertions(+), 11 deletions(-) > create mode 100644 gnu/build/bootloader.scm Please mention all the files in the commit log. Otherwise LGTM, thanks! Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 15 05:39:39 2017 Received: (at 29409) by debbugs.gnu.org; 15 Dec 2017 10:39:39 +0000 Received: from localhost ([127.0.0.1]:34711 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ePnP1-0004gT-45 for submit@debbugs.gnu.org; Fri, 15 Dec 2017 05:39:39 -0500 Received: from hera.aquilenet.fr ([141.255.128.1]:54623) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ePnOx-0004gD-Vg for 29409@debbugs.gnu.org; Fri, 15 Dec 2017 05:39:37 -0500 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id D1EE8102CA; Fri, 15 Dec 2017 11:39:38 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at aquilenet.fr Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id pJq9sH6Klb26; Fri, 15 Dec 2017 11:39:38 +0100 (CET) Received: from ribbon (unknown [193.50.110.249]) by hera.aquilenet.fr (Postfix) with ESMTPSA id DBBD51027A; Fri, 15 Dec 2017 11:39:37 +0100 (CET) From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: m.othacehe@gmail.com Subject: Re: [bug#29409] [PATCH v2 3/4] scripts: system: Add --expression option. References: <1513162937-13145-1-git-send-email-m.othacehe@gmail.com> <1513162937-13145-3-git-send-email-m.othacehe@gmail.com> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 25 Frimaire an 226 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Fri, 15 Dec 2017 11:39:34 +0100 In-Reply-To: <1513162937-13145-3-git-send-email-m.othacehe@gmail.com> (m. othacehe's message of "Wed, 13 Dec 2017 12:02:16 +0100") Message-ID: <87vah8jmvt.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 29409 Cc: 29409@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) m.othacehe@gmail.com skribis: > From: Mathieu Othacehe > > * guix/scripts/system.scm (show-help): Add expression option. > (%options): Ditto. > (process-action): Read operating-system from expression or file. > * Makefile.am (release): Use expression instead of file to produce > disk-images. > * doc/guix.texi (Building the Installation Image): Adapt disk-image comma= nd to > use an expression. > (Invoking guix system): Introduce the expression option. > --- > Makefile.am | 2 +- > doc/guix.texi | 10 +++++++++- > guix/scripts/system.scm | 24 +++++++++++++++++++----- > 3 files changed, 29 insertions(+), 7 deletions(-) > > diff --git a/Makefile.am b/Makefile.am > index 85b9ab3..dff1e5e 100644 > --- a/Makefile.am > +++ b/Makefile.am > @@ -648,7 +648,7 @@ release: dist > guix system disk-image \ > --file-system-type=3Diso9660 \ > --system=3D$$system \ > - gnu/system/install.scm` ; \ > + -e "(@ (gnu system install) installation-os)"` ; \ [...] > @example > -guix system disk-image gnu/system/install.scm > +guix system disk-image -e "(@@ (gnu system install) installation-os)" > @end example I=E2=80=99d suggest leaving these two things unchanged because it=E2=80=99s= still more convenient to type the file name. > (display (G_ " > + -e, --expression=3DEXPR consider the operating-system EXPR evaluates = to ^ No hyphen. [...] > (case action > ((build container vm vm-image disk-image reconfigure) > - (unless (=3D count 1) > + (unless (or (=3D count 1) (=3D count 0)) > (fail))) What happens if we run =E2=80=9Cguix system vm=E2=80=9D? Do we still get a= proper error? The rest LGTM. Thanks, Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 15 05:40:27 2017 Received: (at 29409) by debbugs.gnu.org; 15 Dec 2017 10:40:27 +0000 Received: from localhost ([127.0.0.1]:34716 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ePnPn-0004i6-FK for submit@debbugs.gnu.org; Fri, 15 Dec 2017 05:40:27 -0500 Received: from hera.aquilenet.fr ([141.255.128.1]:54629) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ePnPm-0004hy-B9 for 29409@debbugs.gnu.org; Fri, 15 Dec 2017 05:40:26 -0500 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id 4924A102CA; Fri, 15 Dec 2017 11:40:29 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at aquilenet.fr Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id CnqOya8WKOMC; Fri, 15 Dec 2017 11:40:28 +0100 (CET) Received: from ribbon (unknown [193.50.110.249]) by hera.aquilenet.fr (Postfix) with ESMTPSA id 772DA1027A; Fri, 15 Dec 2017 11:40:28 +0100 (CET) From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: m.othacehe@gmail.com Subject: Re: [bug#29409] [PATCH v2 4/4] system: Add BeagleBone Black installer. References: <1513162937-13145-1-git-send-email-m.othacehe@gmail.com> <1513162937-13145-4-git-send-email-m.othacehe@gmail.com> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 25 Frimaire an 226 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Fri, 15 Dec 2017 11:40:24 +0100 In-Reply-To: <1513162937-13145-4-git-send-email-m.othacehe@gmail.com> (m. othacehe's message of "Wed, 13 Dec 2017 12:02:17 +0100") Message-ID: <87r2rwjmuf.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 29409 Cc: 29409@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) m.othacehe@gmail.com skribis: > From: Mathieu Othacehe > > * gnu/bootloader/u-boot.scm (u-boot-beaglebone-black-bootloader): New exp= orted > bootloader. > * gnu/system/install.scm (beaglebone-black-installation-os): New exported= variable. [...] > -;; Return it here so 'guix system' can consume it directly. > -installation-os I=E2=80=99d leave these two lines, but otherwise LGTM. Thank you! Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 15 05:45:10 2017 Received: (at 29409) by debbugs.gnu.org; 15 Dec 2017 10:45:10 +0000 Received: from localhost ([127.0.0.1]:34724 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ePnUM-0004pE-BB for submit@debbugs.gnu.org; Fri, 15 Dec 2017 05:45:10 -0500 Received: from mail-wm0-f47.google.com ([74.125.82.47]:39767) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ePnUK-0004p1-WD for 29409@debbugs.gnu.org; Fri, 15 Dec 2017 05:45:09 -0500 Received: by mail-wm0-f47.google.com with SMTP id i11so16615523wmf.4 for <29409@debbugs.gnu.org>; Fri, 15 Dec 2017 02:45:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=references:user-agent:from:to:cc:subject:in-reply-to:date :message-id:mime-version; bh=mW8oEEWpzJAW+eWEgivcapOurVqZE/Ez+3SMyiyknCg=; b=p4XnPz004fdpKKLFvd1KAYLNB4yOLj8qlU9xgmQB1nIc+O12a5xA97l3YP5q5bF9IA zDUPbTRsLIDZ3p4FIVVuONdjKlsvyej3zdMdgwuY8t32Jv7LyWPXrITWnuUYzWgo5RPZ Xhn+WF93Jwv2vzPJ2fLQYxHBcgL6L8PTER/s09ewfMYogxkdtlhJukFqej62/X45Qd8d +yG0voUdPJCfMSCkWQhLE+mU5Q/mNasgdDlEQBHjPitiF+MLmyQCmkFUhATVGS1pDVjz gA7b+TUru0Uq1BHDGhq5iVJY9EGN/CP4zovBm9WM3hs6pnahoXqASeoj5yLQ5FNcneK5 Aqkg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:references:user-agent:from:to:cc:subject :in-reply-to:date:message-id:mime-version; bh=mW8oEEWpzJAW+eWEgivcapOurVqZE/Ez+3SMyiyknCg=; b=OZUuFNFlF7qd1nWEBIIR97df7aOhTVjz419RU7kzc6/AS6ssdLcVY16a2dN/TkzakA ruvqZGyMQeuGHjaJcggSTbIOtQSb3r8dDIbCoINgeTeoB9oUkwViZbCcMcWM6VSaWpD4 5davJhnA7Pt8BFxpvU+H6VO3WUBMDk7fG1Foa8ohChm8cud6KW8xV0aXfAfmeM5n92jw m5/iZNxBfVXwnUgJQG/gHtWHqrWyJIQdkFrTrUR8AK1y4MKSOwv3RoK97vPozKZScVhV RGWWmQy1Zh7PJhHgoTY4h81lE1r1MG4NYqaYJ9sJ4vMTIbQBWs+t9q+cH7ouJYsNdmKB K3kA== X-Gm-Message-State: AKGB3mLX/T1JIBgGqLjRnxKVlajtwWSVc6pMZJWTG7vrZWtR7T1+4qDb cMlPQYvfhYZfxqxsUSpkSzC29w== X-Google-Smtp-Source: ACJfBov7LhqUWkm9wBYm6Njel3joVsoDG9AXhT//zetEgRduoBSCe1xzmwZie0gGrBUqT6P0HnyQYg== X-Received: by 10.28.212.204 with SMTP id l195mr4069318wmg.23.1513334702860; Fri, 15 Dec 2017 02:45:02 -0800 (PST) Received: from denali ([46.218.109.88]) by smtp.gmail.com with ESMTPSA id 4sm2592056wrh.70.2017.12.15.02.45.02 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 15 Dec 2017 02:45:02 -0800 (PST) References: <877euhtjkj.fsf@gmail.com> <1513162937-13145-1-git-send-email-m.othacehe@gmail.com> <874losl1pu.fsf@gnu.org> User-agent: mu4e 0.9.18; emacs 25.3.1 From: Mathieu Othacehe To: Ludovic =?utf-8?Q?Court=C3=A8s?= Subject: Re: [bug#29409] [PATCH v2 1/4] vm: Adapt qemu command to ARM. In-reply-to: <874losl1pu.fsf@gnu.org> Date: Fri, 15 Dec 2017 11:45:01 +0100 Message-ID: <87y3m49snm.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 29409 Cc: 29409@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) > Perfect, thank you! Thanks, pushed ! Mathieu From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 15 05:53:11 2017 Received: (at 29409) by debbugs.gnu.org; 15 Dec 2017 10:53:11 +0000 Received: from localhost ([127.0.0.1]:34729 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ePnc7-000500-4u for submit@debbugs.gnu.org; Fri, 15 Dec 2017 05:53:11 -0500 Received: from mail-wm0-f44.google.com ([74.125.82.44]:36038) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ePnc5-0004zf-8J for 29409@debbugs.gnu.org; Fri, 15 Dec 2017 05:53:09 -0500 Received: by mail-wm0-f44.google.com with SMTP id b76so16838185wmg.1 for <29409@debbugs.gnu.org>; Fri, 15 Dec 2017 02:53:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=references:user-agent:from:to:cc:subject:in-reply-to:date :message-id:mime-version; bh=DI0LEquRGf4CNT4iUM09qO4TredCzxZPsnH7/mNl4b8=; b=u679+lyztCY4OJ67nw+X7noOeQWtwnV1SUzkt3xyWVfgAcIry/EduZO+2WL39ir4az FBuwWvPb+zDDa9Ny3W2w/OcFYOs/TGl3JmeGf/iKZdZ4c5GcB+E47BRWYTmtSJs/Fnbb dRghbcx/VvWuptSVNItOgQE3/ZBxgxWkUqBoEa7F+EG1seMLObJPlrnXLQQwtQFbvPUC chflVYaJhMhwQLuw6XSVLzJHO4xUcNT9aUUh5tKp3ZqIf++jsKH0RYyI/aCgcVGr0M+D h9VQP8YJp2cPIj3mVZq+PcD2BCjVYb83KGK6h2jA8yjc+NW2RFekfwXEt4OE/+ZZhA7E Vqkg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:references:user-agent:from:to:cc:subject :in-reply-to:date:message-id:mime-version; bh=DI0LEquRGf4CNT4iUM09qO4TredCzxZPsnH7/mNl4b8=; b=U4hifhPYCM/dQ0q29ooyFTZk9tCN7cWokRD3MuiaaIKL8p0+DQ2EhV9gnYLw1YwX83 lqz8Rl0mPr8vfvOJqqpFT5VE8jD9NSeXf47GdxID1g+UyIQRje3kbPRlEbu25qQwLwJV tVWY/FIAwzY76oaSElJgJzP+/8oeEN/4ehNXMEK0V6yHBYaBIDjA8zdbnnsktMdH+Gsr aIOLPqiEbiPzX329wDtv+jYJlBARWORqF2DJsoIqIG2X69Qorf/7FXxnetptCNapsV/a sCtTPM8nyI2j0rADQfEL086Yn+KOmgWj+vqfAuoeN03zc8x5EqhBtVS8aCPO7x3ETY/a 9p4g== X-Gm-Message-State: AKGB3mI+eRAmeKGKqKQlPLXYa/q5WyXB+yi7ADkhZgKXjhBS1uQ5b51c xAuu93ASIy8d45L9MeirKmB3qw== X-Google-Smtp-Source: ACJfBosfYumohHX/Qd9TM9VIv8TSwb1ks0t85NcBN7UaKMSIcl4WVYvZHWiF4n6+ypmVRnwbyNGPgg== X-Received: by 10.28.191.132 with SMTP id o4mr4634445wmi.157.1513335183379; Fri, 15 Dec 2017 02:53:03 -0800 (PST) Received: from denali ([46.218.109.88]) by smtp.gmail.com with ESMTPSA id p29sm2769823wmf.20.2017.12.15.02.53.02 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 15 Dec 2017 02:53:02 -0800 (PST) References: <1513162937-13145-1-git-send-email-m.othacehe@gmail.com> <1513162937-13145-2-git-send-email-m.othacehe@gmail.com> <87zi6kjn3j.fsf@gnu.org> User-agent: mu4e 0.9.18; emacs 25.3.1 From: Mathieu Othacehe To: Ludovic =?utf-8?Q?Court=C3=A8s?= Subject: Re: [bug#29409] [PATCH v2 2/4] bootloader: Factorize write-file-on-device. In-reply-to: <87zi6kjn3j.fsf@gnu.org> Date: Fri, 15 Dec 2017 11:53:02 +0100 Message-ID: <87wp1o9sa9.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 29409 Cc: 29409@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) > Please mention all the files in the commit log. > > Otherwise LGTM, thanks! Thanks, fixed and pushed. Mathieu From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 15 06:18:53 2017 Received: (at 29409) by debbugs.gnu.org; 15 Dec 2017 11:18:53 +0000 Received: from localhost ([127.0.0.1]:34766 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ePo0z-0005gn-41 for submit@debbugs.gnu.org; Fri, 15 Dec 2017 06:18:53 -0500 Received: from mail-wr0-f178.google.com ([209.85.128.178]:40995) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ePo0x-0005gb-NA for 29409@debbugs.gnu.org; Fri, 15 Dec 2017 06:18:51 -0500 Received: by mail-wr0-f178.google.com with SMTP id z18so7742786wrb.8 for <29409@debbugs.gnu.org>; Fri, 15 Dec 2017 03:18:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=references:user-agent:from:to:cc:subject:in-reply-to:date :message-id:mime-version:content-transfer-encoding; bh=dD5tQBzDdnXAjIng0Bm9Tmk1yGg8P+BI/H5Ub6mNhlw=; b=arYGrIKbUm9Ee4GTjD7FfQALfRLu8K7zBz9LB1bplUK4EsKlo4Xeh22bMDR2fHjLey TAReEoI/1OHR6etO0/1dhrik+mSH28z0iDyIVqR/v37PnxnKMsq2ukzwj0rXngeRvWJM 1NmlWLuwOYe2E+uHbIKANnVDMJJX+WmMtyURnp2zldtKi5o4Ef7RGOLsLnnIlxgCSdbv YjCsQDh8TTZuA94ZyVRKz5WLTW4d5ft6YX4lQ411yUPcd2JirVks2H6IGC/8aUDaaccp 4CzNBZjTrllhQJQTEskMU8rkeb6bbQUiN609wtmY66poQiLk6ZHo7J9Zj725yQVwO3e3 LE5A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:references:user-agent:from:to:cc:subject :in-reply-to:date:message-id:mime-version:content-transfer-encoding; bh=dD5tQBzDdnXAjIng0Bm9Tmk1yGg8P+BI/H5Ub6mNhlw=; b=TiEGOJT+cTbFC0/GsiVmj4TuLyVdwJBinNn8KMXnbWXedLjLaAlZR6hLNW5cba5ZsY k/Yr+Ce1g4MB5IXpGI2UIBOJllAxS/f8W/EEYpCc+1NzAsjfT1mQPmBdtrfYwRiQFGQD 7FUN4B6WUZ9yJRTHUZ6+vQYkP2Jy+pJzlKzzi713302UT5rifrB6ky8L62u0H9V5Snbh 0cLRS+/a8ySeJKAhz/ZEku5dGf+8IOSawM0mNcSGx9prInDg8MEUK7QQ0t2Y5YOSwGt0 7Oy6Q6C4XBEDyZ8XH0CWja590L9aHt60lSP8L3ZtIgHc1+J8bJYDV358pyNdqBZf0K12 NZhQ== X-Gm-Message-State: AKGB3mJtxnNk8Ss5JFJc4TX47P85WTZ5o9YtrTXpPUK6xIbh3C9mJQ4B nqjUagNGQQMHiIqfrFFMmWBgSA== X-Google-Smtp-Source: ACJfBotMy5LMu0ZCNltJFzoNJVp/9S6G55F3w9P0ZpTW09yJa1tskOebYIQLEFp5AM4AHfq/96aqOQ== X-Received: by 10.223.195.203 with SMTP id d11mr8750634wrg.39.1513336725793; Fri, 15 Dec 2017 03:18:45 -0800 (PST) Received: from denali ([46.218.109.88]) by smtp.gmail.com with ESMTPSA id m133sm6981105wmd.40.2017.12.15.03.18.44 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 15 Dec 2017 03:18:45 -0800 (PST) References: <1513162937-13145-1-git-send-email-m.othacehe@gmail.com> <1513162937-13145-3-git-send-email-m.othacehe@gmail.com> <87vah8jmvt.fsf@gnu.org> User-agent: mu4e 0.9.18; emacs 25.3.1 From: Mathieu Othacehe To: Ludovic =?utf-8?Q?Court=C3=A8s?= Subject: Re: [bug#29409] [PATCH v2 3/4] scripts: system: Add --expression option. In-reply-to: <87vah8jmvt.fsf@gnu.org> Date: Fri, 15 Dec 2017 12:18:44 +0100 Message-ID: <87vah89r3f.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 29409 Cc: 29409@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) > What happens if we run “guix system vm”? Do we still get a proper > error? Nope, it's a mistake, would this be better ? @@ -1079,7 +1093,8 @@ argument list and OPTS is the option alist." ;; Extract the plain arguments from OPTS. (let* ((args (reverse (filter-map (match-pair 'argument) opts))) (count (length args)) - (action (assoc-ref opts 'action))) + (action (assoc-ref opts 'action)) + (expr (assoc-ref opts 'expression))) (define (fail) (leave (G_ "wrong number of arguments for action '~a'~%") action)) @@ -1093,7 +1108,8 @@ argument list and OPTS is the option alist." (case action ((build container vm vm-image disk-image reconfigure) - (unless (= count 1) + (unless (or (= count 1) + (and expr (= count 0))) Thanks, Mathieu From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 15 09:03:16 2017 Received: (at 29409) by debbugs.gnu.org; 15 Dec 2017 14:03:16 +0000 Received: from localhost ([127.0.0.1]:34844 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ePqa4-0004wQ-1p for submit@debbugs.gnu.org; Fri, 15 Dec 2017 09:03:16 -0500 Received: from hera.aquilenet.fr ([141.255.128.1]:55314) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ePqa0-0004wH-RI for 29409@debbugs.gnu.org; Fri, 15 Dec 2017 09:03:14 -0500 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id CC4D8F7FB; Fri, 15 Dec 2017 15:03:15 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at aquilenet.fr Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id t9ZxtYT3h-Wz; Fri, 15 Dec 2017 15:03:15 +0100 (CET) Received: from ribbon (unknown [193.50.110.249]) by hera.aquilenet.fr (Postfix) with ESMTPSA id 1FDEDC673; Fri, 15 Dec 2017 15:03:15 +0100 (CET) From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: Mathieu Othacehe Subject: Re: [bug#29409] [PATCH v2 3/4] scripts: system: Add --expression option. References: <1513162937-13145-1-git-send-email-m.othacehe@gmail.com> <1513162937-13145-3-git-send-email-m.othacehe@gmail.com> <87vah8jmvt.fsf@gnu.org> <87vah89r3f.fsf@gmail.com> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 25 Frimaire an 226 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Fri, 15 Dec 2017 15:03:11 +0100 In-Reply-To: <87vah89r3f.fsf@gmail.com> (Mathieu Othacehe's message of "Fri, 15 Dec 2017 12:18:44 +0100") Message-ID: <87r2rwhyw0.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 29409 Cc: 29409@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) Mathieu Othacehe skribis: >> What happens if we run =E2=80=9Cguix system vm=E2=80=9D? Do we still ge= t a proper >> error? > > Nope, it's a mistake, would this be better ? > > @@ -1079,7 +1093,8 @@ argument list and OPTS is the option alist." > ;; Extract the plain arguments from OPTS. > (let* ((args (reverse (filter-map (match-pair 'argument) opts))) > (count (length args)) > - (action (assoc-ref opts 'action))) > + (action (assoc-ref opts 'action)) > + (expr (assoc-ref opts 'expression))) > (define (fail) > (leave (G_ "wrong number of arguments for action '~a'~%") > action)) > @@ -1093,7 +1108,8 @@ argument list and OPTS is the option alist." >=20=20 > (case action > ((build container vm vm-image disk-image reconfigure) > - (unless (=3D count 1) > + (unless (or (=3D count 1) > + (and expr (=3D count 0))) It looks better, yes. Thanks! Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 15 10:38:55 2017 Received: (at 29409) by debbugs.gnu.org; 15 Dec 2017 15:38:55 +0000 Received: from localhost ([127.0.0.1]:35955 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ePs4d-0007Kn-8e for submit@debbugs.gnu.org; Fri, 15 Dec 2017 10:38:55 -0500 Received: from mail-wm0-f42.google.com ([74.125.82.42]:35631) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ePs4b-0007Ka-UB for 29409@debbugs.gnu.org; Fri, 15 Dec 2017 10:38:54 -0500 Received: by mail-wm0-f42.google.com with SMTP id f9so18500470wmh.0 for <29409@debbugs.gnu.org>; Fri, 15 Dec 2017 07:38:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=references:user-agent:from:to:cc:subject:in-reply-to:date :message-id:mime-version; bh=WHhOmNgm22z5atsMhoQbkzbP+THd4YkG7jSqtgIlsS4=; b=drKkdr7TfJa7ha74qd+RwgJbp4sj4ySSyTTSgYP5lyVTv903mPDiJPXsFQtJLWERoJ WeyaiM36SIuwwIBon6s62SpYnG4kfSHqoe33VAu7opjB47xvCcEfJsiJdK0jf2lFTQLb LZ2VIkPrnGkeUFJDV5FoD5JLHPVo2/3xyuMsHEsIdQMHkT5jgqE8m9Urw8AEIRRAfdwR mJbjXQKO4hsfEIWvbY3l4PABWX9gDaWr4Za1rj6DFtfeXMMXi09ewga5DXMla+1cO2Iy d24Xtq3+fXuUEbE7xkaB3XMBAhZ74S1BG2WAsNHheEaQzBwDVCc3lONenu6/s90q8lJR 8GDA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:references:user-agent:from:to:cc:subject :in-reply-to:date:message-id:mime-version; bh=WHhOmNgm22z5atsMhoQbkzbP+THd4YkG7jSqtgIlsS4=; b=nRYva5SNKeW+BkhpZu1KqHwvvWofyvohTGQZdUaMRub1+g+Gabitqrkf+ztuwteX9R D90rRLOPxSivKPALPoxMjKe7CdLDzzEaIfpkiB2UTB+kBITsonExTb1vciFYa6JUrnxA zg8RmXo5PK9choLZNHwcvOj8DbqCrZXC5fEAqemeBvcLteROlQCySj5AAfZxtPIgDT6/ ay727vFFGlEy+Vb9obphTamHoSNcOdvGCT8outR1Jjhmb88/grRYAkYOJ1Oyi+cLNXXr HpqtC9qjHt988oMUhqb9opOGvDVX1GulG/UEqjSlavTIobDLjOPs+cSFSGQ788TakuP8 OwcQ== X-Gm-Message-State: AKGB3mJ8bLZFliXdCkTOobF11bIbsbHKwMI4XG/1F2A6t61YLPoz20M2 Kgodvm0aPkGU7iV0ImMrAVgDgg== X-Google-Smtp-Source: ACJfBosA6IFN7JEx2Vr4sITqFvzXJxSHa38ygO6qO/fQEkaIpD64ovhzsgsld61n6koI7r96Ar2qoA== X-Received: by 10.28.220.215 with SMTP id t206mr5464336wmg.75.1513352327748; Fri, 15 Dec 2017 07:38:47 -0800 (PST) Received: from denali ([46.218.109.88]) by smtp.gmail.com with ESMTPSA id 30sm3046664wrl.22.2017.12.15.07.38.46 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 15 Dec 2017 07:38:47 -0800 (PST) References: <1513162937-13145-1-git-send-email-m.othacehe@gmail.com> <1513162937-13145-3-git-send-email-m.othacehe@gmail.com> <87vah8jmvt.fsf@gnu.org> <87vah89r3f.fsf@gmail.com> <87r2rwhyw0.fsf@gnu.org> User-agent: mu4e 0.9.18; emacs 25.3.1 From: Mathieu Othacehe To: Ludovic =?utf-8?Q?Court=C3=A8s?= Subject: Re: [bug#29409] [PATCH v2 3/4] scripts: system: Add --expression option. In-reply-to: <87r2rwhyw0.fsf@gnu.org> Date: Fri, 15 Dec 2017 16:38:46 +0100 Message-ID: <87r2rw9f21.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 29409 Cc: 29409@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) > It looks better, yes. Thanks! I pushed the two remaining patches ! Thanks a lot for reviewing :) Mathieu From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 18 08:57:10 2017 Received: (at 29409) by debbugs.gnu.org; 18 Dec 2017 13:57:11 +0000 Received: from localhost ([127.0.0.1]:39841 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eQvuo-0008Ko-LJ for submit@debbugs.gnu.org; Mon, 18 Dec 2017 08:57:10 -0500 Received: from mail-wr0-f176.google.com ([209.85.128.176]:40818) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eQvum-0008Kc-Qf for 29409@debbugs.gnu.org; Mon, 18 Dec 2017 08:57:09 -0500 Received: by mail-wr0-f176.google.com with SMTP id q9so14125859wre.7 for <29409@debbugs.gnu.org>; Mon, 18 Dec 2017 05:57:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=FiD8SM4sWASEcWNUyVPAssphbzUZu2N0ZoYeBT1pEKE=; b=WYR5PiZ4LlIFtw1+P+WAE//H57Os7LE6whfmORuXavQBwFszbIsMOdh4CabeyURj1R lm5JNejwt5ecw2J6itHicFUiV4iBmUN5GOxnXMdOgJHoIblLS6BdygKXwy8IrBz4lwXk khzteMmwEEYjoNy54UxlwWR53ADqwXOx1wdM8gEA2xLjCVR55sXxOcfEMzro/0ccPzEH 12oANpQ5AKcxlSK7IVY0/fLZdYrwi3kUsv5Ji/4++Zjg1xZ/T2pKVqrUrMEQSwpI+IWv BPGid0urNhaxLz+dsPqj6C1uG/oJlO3uBKNmorknL7W5yy+F4SCtx1mdGYzmEdMhXKoo Dn8Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=FiD8SM4sWASEcWNUyVPAssphbzUZu2N0ZoYeBT1pEKE=; b=g6h70Izh0AUACMhsKPT+ntnOXOS12uZl4ac5Yqq6gS/aUDD8DqmqxxWpJHQx3AzKc+ vM7QEVRmPiATH5UnK+JzvRXq5tsx52+UNMiXjLpb6Dci5/4veNYgGdVjzSxxgidaCaFi dNEslNL1Wz684PxDenm0sT/vail7q388tY8EHOQWS8qB2wRDNkYIVQGXbFGyAwZ64P+1 jB4bNa4YSrgAluNf7d40skZtYiz4BCWUUaClbjjvYQG7elbMRJHQQLTQo7ayvOLg7MyK 21lZAmot/0ol76SMBPU6FUl2BhbIfq2XBjRoAu1fuC9/pGno8hQ3dpriHnvnsrL6hvv0 ABLg== X-Gm-Message-State: AKGB3mKUGFnwNXNLg1aUrsMQjmY/XKYeCr1StCruQOnWUFBuVYwkaqHw gZqXjAK24lfPZ9D9xMfI0cfvmQ== X-Google-Smtp-Source: ACJfBouvdk4WtGNXP8xV53tlmpzqQKi97EPtVbttK4cefcxfkUvpia/8Tk3iAvSQXaAX71CvyGyUkA== X-Received: by 10.223.153.233 with SMTP id y96mr1920686wrb.216.1513605422739; Mon, 18 Dec 2017 05:57:02 -0800 (PST) Received: from denali.Parrot.Biz ([46.218.109.88]) by smtp.gmail.com with ESMTPSA id r15sm11201026wrc.36.2017.12.18.05.57.01 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 18 Dec 2017 05:57:01 -0800 (PST) From: m.othacehe@gmail.com To: 29409@debbugs.gnu.org Subject: [PATCH] system: examples: Add a template for BeagleBone Black. Date: Mon, 18 Dec 2017 14:56:57 +0100 Message-Id: <1513605417-27016-1-git-send-email-m.othacehe@gmail.com> X-Mailer: git-send-email 2.7.4 X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 29409 Cc: Mathieu Othacehe X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) From: Mathieu Othacehe * gnu/system/examples/beaglebone-black.tmpl: New file. * Makefile.am (EXAMPLES): Add it. * gnu/system/install.scm (/etc/configuration-files): Add it. --- Makefile.am | 1 + gnu/system/examples/beaglebone-black.tmpl | 59 +++++++++++++++++++++++++++++++ gnu/system/install.scm | 2 ++ 3 files changed, 62 insertions(+) create mode 100644 gnu/system/examples/beaglebone-black.tmpl diff --git a/Makefile.am b/Makefile.am index 85b9ab3..7d7b1f3 100644 --- a/Makefile.am +++ b/Makefile.am @@ -253,6 +253,7 @@ AUX_FILES = \ # Templates, examples. EXAMPLES = \ gnu/system/examples/bare-bones.tmpl \ + gnu/system/examples/beaglebone-black.tmpl \ gnu/system/examples/desktop.tmpl \ gnu/system/examples/lightweight-desktop.tmpl \ gnu/system/examples/vm-image.tmpl diff --git a/gnu/system/examples/beaglebone-black.tmpl b/gnu/system/examples/beaglebone-black.tmpl new file mode 100644 index 0000000..8dc0c91 --- /dev/null +++ b/gnu/system/examples/beaglebone-black.tmpl @@ -0,0 +1,59 @@ +;; This is an operating system configuration template +;; for a "bare bones" setup on BeagleBone Black board. + +(use-modules (gnu) (gnu bootloader u-boot)) +(use-service-modules networking ssh) +(use-package-modules bootloaders screen ssh) + +(operating-system + (host-name "komputilo") + (timezone "Europe/Berlin") + (locale "en_US.utf8") + + ;; Assuming /dev/mmcblk1 is the eMMC, and "my-root" is + ;; the label of the target root file system. + (bootloader (bootloader-configuration + (bootloader u-boot-beaglebone-black-bootloader) + (target "/dev/mmcblk1"))) + (file-systems (cons (file-system + (device "my-root") + (title 'label) + (mount-point "/") + (type "ext4")) + %base-file-systems)) + + ;; This is where user accounts are specified. The "root" + ;; account is implicit, and is initially created with the + ;; empty password. + (users (cons (user-account + (name "alice") + (comment "Bob's sister") + (group "users") + + ;; Adding the account to the "wheel" group + ;; makes it a sudoer. Adding it to "audio" + ;; and "video" allows the user to play sound + ;; and access the webcam. + (supplementary-groups '("wheel" + "audio" "video")) + (home-directory "/home/alice")) + %base-user-accounts)) + + ;; Globally-installed packages. + (packages (cons* screen openssh %base-packages)) + + ;; Add services to the baseline: a DHCP client and + ;; an SSH server. + (services (cons* (dhcp-client-service) + (service openssh-service-type + (openssh-configuration + (port-number 2222))) + ;; mingetty does not work on serial lines. + ;; Use agetty with board-specific serial parameters. + (agetty-service + (agetty-configuration + (extra-options '("-L")) + (baud-rate "115200") + (term "vt100") + (tty "ttyO0"))) + %base-services))) diff --git a/gnu/system/install.scm b/gnu/system/install.scm index 8864415..1cc3db1 100644 --- a/gnu/system/install.scm +++ b/gnu/system/install.scm @@ -156,9 +156,11 @@ the user's target storage device rather than on the RAM disk." (string-append #$output "/" target))) '(#$(file "bare-bones.tmpl") + #$(file "beaglebone-black.tmpl") #$(file "desktop.tmpl") #$(file "lightweight-desktop.tmpl")) '("bare-bones.scm" + "beaglebone-black.scm" "desktop.scm" "lightweight-desktop.scm")) #t)))) -- 2.7.4 From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 18 09:22:39 2017 Received: (at 29409) by debbugs.gnu.org; 18 Dec 2017 14:22:39 +0000 Received: from localhost ([127.0.0.1]:39875 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eQwJT-0000Uf-Bo for submit@debbugs.gnu.org; Mon, 18 Dec 2017 09:22:39 -0500 Received: from hera.aquilenet.fr ([141.255.128.1]:37782) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eQwJR-0000UV-OL for 29409@debbugs.gnu.org; Mon, 18 Dec 2017 09:22:38 -0500 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id 2C6A610528; Mon, 18 Dec 2017 15:22:40 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at aquilenet.fr Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id xagEepxqVrFD; Mon, 18 Dec 2017 15:22:39 +0100 (CET) Received: from ribbon (unknown [193.50.110.155]) by hera.aquilenet.fr (Postfix) with ESMTPSA id 44F6B2FDA; Mon, 18 Dec 2017 15:22:39 +0100 (CET) From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: m.othacehe@gmail.com Subject: Re: [bug#29409] [PATCH] system: examples: Add a template for BeagleBone Black. References: <877euhtjkj.fsf@gmail.com> <1513605417-27016-1-git-send-email-m.othacehe@gmail.com> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 28 Frimaire an 226 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Mon, 18 Dec 2017 15:22:35 +0100 In-Reply-To: <1513605417-27016-1-git-send-email-m.othacehe@gmail.com> (m. othacehe's message of "Mon, 18 Dec 2017 14:56:57 +0100") Message-ID: <87h8sot8t0.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 29409 Cc: 29409@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) m.othacehe@gmail.com skribis: > From: Mathieu Othacehe > > * gnu/system/examples/beaglebone-black.tmpl: New file. > * Makefile.am (EXAMPLES): Add it. > * gnu/system/install.scm (/etc/configuration-files): Add it. [...] > + ;; Add services to the baseline: a DHCP client and > + ;; an SSH server. > + (services (cons* (dhcp-client-service) > + (service openssh-service-type > + (openssh-configuration > + (port-number 2222))) I think you can remove (openssh-configuration =E2=80=A6) altogether. Otherwise LGTM, thank you! Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 18 09:29:30 2017 Received: (at 29409) by debbugs.gnu.org; 18 Dec 2017 14:29:30 +0000 Received: from localhost ([127.0.0.1]:39880 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eQwQ6-0000da-2V for submit@debbugs.gnu.org; Mon, 18 Dec 2017 09:29:30 -0500 Received: from mail-wr0-f175.google.com ([209.85.128.175]:35191) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eQwQ4-0000dK-K2 for 29409@debbugs.gnu.org; Mon, 18 Dec 2017 09:29:28 -0500 Received: by mail-wr0-f175.google.com with SMTP id l19so1888264wrc.2 for <29409@debbugs.gnu.org>; Mon, 18 Dec 2017 06:29:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=references:user-agent:from:to:cc:subject:in-reply-to:date :message-id:mime-version; bh=Cl9/t+bhe3TrBaMqkVJ8Ehmaih35ln0DbVRJTSvMm3E=; b=X6GgcJFWinlsRKdgL8scZKBy/J6sYNPSXaBWxairD62A1v/NcpOXR39C9RoMGkgwEr OoNFINDZJ7dBK/zhZ+N5TPbt+TXkmvvT/Ba+1eRdU7Sb469HnWR6MF5iZjp7JBWlTr5S VxtBpzpSvUPnpPIY4PJLOiYwAg0if889v6pFCdWYPMdvpzoyKx0BaD9U0HQuxC4v2/Cj AEHEb1bBbYiTJrGrpqCTv1DcWQJJjIk4L6UZD3hGy/z+I/577B27SZHZYqZWnv70ZgL3 k6kKV3TE191tGVogeNKS/3HXVI51wh3lIRCqadYPaPcQu4T/hoZa1fwpKMqFlsM5wxH3 BGzg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:references:user-agent:from:to:cc:subject :in-reply-to:date:message-id:mime-version; bh=Cl9/t+bhe3TrBaMqkVJ8Ehmaih35ln0DbVRJTSvMm3E=; b=ZVUHac3lzaoULp4uw/NtukXqEY9VTrKXtAnEYbGzBPfErN+6wTwvVC61v6YA1yoRq4 lv3Z0Ts3omNAWzwXFd580zlCz0H4K8lBmuKYZw1e1Jygbyr7SasL/hC8N3zGOJU960rY CmqegRVVao+0L9x0EkTiGGiYEVxX/FfTqrJg+5UFsC83/kFHjNjhwYwgIFzL+3A9PSk5 0GuhqowdK04/5PXFjiHEfuD6/vN2DqMxwEqsaOziJ8VRTotNPaV1jaPO39BrLJ0ZxEEq xr9l/2EMLTUhsBPTJvt2PUx88BP4IxCktZCk3nJPjpF0ZeI+hPxU5DNiaV+wltXEyA38 p5zw== X-Gm-Message-State: AKGB3mL588bcZQmiiJQoD+I3sJrWglOzEIzSLUhSMG+DgwT8r7miXHIL wC9+oX4Ldvervnpgn+KP1hTh2g== X-Google-Smtp-Source: ACJfBotjo2tuLJJVujLLBLlBQ0cwGnFBhUcxIis/tB8XjGEBIhM+BXbPtHgPC6swCqiampTYzWOZGw== X-Received: by 10.223.135.42 with SMTP id a39mr55579wra.50.1513607362548; Mon, 18 Dec 2017 06:29:22 -0800 (PST) Received: from denali ([46.218.109.88]) by smtp.gmail.com with ESMTPSA id m68sm5953576wmi.28.2017.12.18.06.29.21 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 18 Dec 2017 06:29:21 -0800 (PST) References: <877euhtjkj.fsf@gmail.com> <1513605417-27016-1-git-send-email-m.othacehe@gmail.com> <87h8sot8t0.fsf@gnu.org> User-agent: mu4e 0.9.18; emacs 25.3.1 From: Mathieu Othacehe To: Ludovic =?utf-8?Q?Court=C3=A8s?= Subject: Re: [bug#29409] [PATCH] system: examples: Add a template for BeagleBone Black. In-reply-to: <87h8sot8t0.fsf@gnu.org> Date: Mon, 18 Dec 2017 15:29:18 +0100 Message-ID: <87mv2g9kjl.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 29409 Cc: 29409@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) Hey Ludo, > Otherwise LGTM, thank you! That was fast, done and pushed, thanks ! Mathieu From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 20 14:15:16 2017 Received: (at 29409) by debbugs.gnu.org; 20 Dec 2017 19:15:16 +0000 Received: from localhost ([127.0.0.1]:44747 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eRjpj-0002GM-Tz for submit@debbugs.gnu.org; Wed, 20 Dec 2017 14:15:16 -0500 Received: from mail-wr0-f172.google.com ([209.85.128.172]:41494) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eRjpj-0002GB-8p for 29409@debbugs.gnu.org; Wed, 20 Dec 2017 14:15:15 -0500 Received: by mail-wr0-f172.google.com with SMTP id p69so14352961wrb.8 for <29409@debbugs.gnu.org>; Wed, 20 Dec 2017 11:15:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=user-agent:from:to:subject:date:message-id:mime-version; bh=yzTxJBOi+0HHAnIwVKj4Vv0R2jOnNeSCgNIHylC+v/A=; b=N7Hdp/BHox2+d4v2o0vQ3LFl/Uk8Lk7IneZ6CTNm3UdvMiVJ5P0rBrpehqO8L63hgW 7aqe/S/4gr/zlWwarcXFTBTfN0q7g6DWATOjPIOm0XOFiXqXzqHKs2TndzTEizfhBNqd YYmTaE7YTY1A0jSdFqv6e3HT6dZFcAH+maBfRm0yOGNWfghUevHKY3ynO9M4QxZ4aPc2 B6zA5LbqgMCZ+IbuEaSfnuYMLtfCi0DLQvdwQ6ygT+zK/vgIBAcm+piVS9A2oGqddzNQ g8mAkRXmE9xuS1MCyLKl9DAl58EJHDoowWh1YxE96qzd9E2lwD3ijo4N9Sy+8GtW/MoK g8AQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:user-agent:from:to:subject:date:message-id :mime-version; bh=yzTxJBOi+0HHAnIwVKj4Vv0R2jOnNeSCgNIHylC+v/A=; b=Gzsn3vpZ+zTcl00UavqedGhiUTM39XQfCVOEcPZ+7PlUO2W/5Aevzwu85jTudVLfCG lf2UDSHJAJnHCqNSyrGOL7gWG1hAo9+FllPX3a0QeT4+hTJ28d9yxEfdPzrIda/4e097 KybJKg93VX2JGep+DguQ5rL284CN65+E2TxhJcCNkF6to2P9NhCpltTt3LRjtJWPzxNR l5uUSY9ITZSCyvJgRgN0SJjkG9I7R/fosWZuP6SqcWgbdPDt2/2qBcy834O5FwZMb/MO xONdPIen4q1AV0QDrfHnlmGCk5R5pI0m6KrbcrM5hT2ia032UHb5yVrgVTNwCmnI10t3 fY6A== X-Gm-Message-State: AKGB3mJwoqdqD0ju0nc9gzuI75V9m/yGcXF/QJDP0PDtcJtKcTido4cX 8/J5MEb5TEfCNCWJHFhhZC5oZQ== X-Google-Smtp-Source: ACJfBouIT0bGO69lMQ9//ZLU2pxEqo6ZQZx39ZTnmTqaaxyNiyNDnQBK2HAfDgL1imhH0aKFipZsxQ== X-Received: by 10.223.143.54 with SMTP id p51mr9356856wrb.104.1513797309342; Wed, 20 Dec 2017 11:15:09 -0800 (PST) Received: from cervin ([78.192.96.126]) by smtp.gmail.com with ESMTPSA id g78sm7124305wmc.30.2017.12.20.11.15.08 for <29409@debbugs.gnu.org> (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 20 Dec 2017 11:15:08 -0800 (PST) User-agent: mu4e 0.9.18; emacs 25.3.1 From: Mathieu Othacehe To: 29409@debbugs.gnu.org Subject: Remove hugetlb control group on ARM32. Date: Wed, 20 Dec 2017 20:15:07 +0100 Message-ID: <87ind19pok.fsf@gmail.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 29409 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) --=-=-= Content-Type: text/plain Hi Guix, Mounting %control-groups fails on ARM32 platform because we build a kernel without LPAE support which implies hugetlb control group cannot be supported. Like Debian we could have an ARMMP and ARMMP-LPAE kernel but the problem would still exists for ARMMP. I'm not sure what do about, a workaround could be the ugly hack attached, WDYT ? Thanks, Mathieu --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=0001-file-systems-Do-not-mount-hugetlb-cgroup-filesystem-.patch >From 2172a1897a9729b65767bb58883247a3c604109f Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Wed, 20 Dec 2017 20:02:33 +0100 Subject: [PATCH] file-systems: Do not mount hugetlb cgroup filesystem on arm32. On ARM32 without LPAE support, hugetlb control group is not supported. * gnu/system/file-systems.scm (%control-groups): Remove hugetlb from control groups on arm32 platforms. --- gnu/system/file-systems.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gnu/system/file-systems.scm b/gnu/system/file-systems.scm index 27734e892..cbe6a725a 100644 --- a/gnu/system/file-systems.scm +++ b/gnu/system/file-systems.scm @@ -21,6 +21,7 @@ #:use-module (rnrs bytevectors) #:use-module (srfi srfi-1) #:use-module (guix records) + #:use-module (guix utils) #:use-module (gnu system uuid) #:re-export (uuid ;backward compatibility string->uuid @@ -278,8 +279,9 @@ TARGET in the other system." ;; This must be mounted after, and unmounted before the ;; parent directory. (dependencies (list parent)))) - '("cpuset" "cpu" "cpuacct" "memory" "devices" "freezer" - "blkio" "perf_event" "hugetlb"))))) + `("cpuset" "cpu" "cpuacct" "memory" "devices" "freezer" + "blkio" "perf_event" + ,@(if (not (target-arm32?)) '("hugetlb") '())))))) (define %elogind-file-systems ;; We don't use systemd, but these file systems are needed for elogind, -- 2.15.0 --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Wed Dec 20 20:14:14 2017 Received: (at 29409) by debbugs.gnu.org; 21 Dec 2017 01:14:14 +0000 Received: from localhost ([127.0.0.1]:44995 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eRpR8-0000CP-II for submit@debbugs.gnu.org; Wed, 20 Dec 2017 20:14:14 -0500 Received: from tobias.gr ([51.15.135.5]:51780) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eRpR6-0000CH-L8 for 29409@debbugs.gnu.org; Wed, 20 Dec 2017 20:14:13 -0500 Received: by tobias.gr (OpenSMTPD) with ESMTP id fcb0d47c; Thu, 21 Dec 2017 01:14:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed; d=tobias.gr; h=subject:to :references:from:message-id:date:mime-version:in-reply-to :content-type:content-transfer-encoding; s=2018; bh=ZJ1UX/a8PjJl NWcUy3haNgVdS6rOz5AZzIUC3LWxWdc=; b=EnSduPwNEkj68ABCL3U/a+MXCz9t RBsthrUH4xQTQgSsHxCfzqKFnqrXKigsXndLPYPXD++kovgoLgianTxrrzQHT0sD 9CcbKm2UxBIkFxhdHOA2nJCQ52lcDIF8zZPteDyS2QAl24VBetDtm0NTwOBRzY7F 502PTWKtmHnIt/rr5VpYZCglLPwC8XcdDGdgiVDsN/1RDC8ABdMQWE2kPwfzs27T Lmjwk+yTnUYIwk7sqaE/+n+igkQHohOqinap9A2FEXF6AauP4GUxN2klP4lU+zKa Wad8oPAbhJsWGAbTJVQUYj+YYT1mUwrsJ9hvlXza+kLjEBciEpToUdrIdQ== Received: by submission.tobias.gr (OpenSMTPD) with ESMTPSA id 17592fc8 (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128:NO); Thu, 21 Dec 2017 01:14:08 +0000 (UTC) Subject: Re: [bug#29409] Remove hugetlb control group on ARM32. To: m.othacehe@gmail.com, 29409@debbugs.gnu.org References: <877euhtjkj.fsf@gmail.com> <87ind19pok.fsf@gmail.com> From: Tobias Geerinckx-Rice Message-ID: Date: Thu, 21 Dec 2017 02:16:52 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.0 MIME-Version: 1.0 In-Reply-To: <87ind19pok.fsf@gmail.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-GB Content-Transfer-Encoding: 8bit X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 29409 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) Mathieu! (and others), Mathieu Othacehe wrote on 20/12/17 at 20:15: > Mounting %control-groups fails on ARM32 platform because we build a > kernel without LPAE support which implies hugetlb control group cannot > be supported. What happens when the mount fails? At first glance, %control-groups aren't needed-for-boot. Unfortunately, I'm not able to test it now: it's all disgustingly hypothetical from here on. > Like Debian we could have an ARMMP and ARMMP-LPAE kernel but the problem > would still exists for ARMMP. > > I'm not sure what do about, a workaround could be the ugly hack > attached, WDYT ? So to me your patch implies that mounting the hugetlb cgroup is entirely optional, and that no other (known) services will actually break if it's not mounted. %control-groups are mounted as part of %base-file-systems, about which the manual: -- Scheme Variable: %base-file-systems These are essential file systems that are required on normal systems, such as %PSEUDO-TERMINAL-FILE-SYSTEM and %IMMUTABLE-STORE (see below.) Operating system declarations should always contain at least these. In practice, %base-file-systems depends on more mounts than it probably should, since some of them aren't essential and some can't even exist on some platforms. That keeps things simple, and isn't a problem *if* mounting optional file systems like %control-groups simply logs the error and continues normally with the next mount. A bit dirty, perhaps, but there are more places in file-systems.scm that feel that way to me. If the patch only serves to suppress such an error, I don't think it's worth copying details of our kernel configurations around. If it fixes a broken boot, there's something... off about the way we handle mounts. ...or maybe I am. Thoughts? > From 2172a1897a9729b65767bb58883247a3c604109f Mon Sep 17 00:00:00 2001 > From: Mathieu Othacehe > Date: Wed, 20 Dec 2017 20:02:33 +0100 > Subject: [PATCH] file-systems: Do not mount hugetlb cgroup filesystem on > arm32. > > On ARM32 without LPAE support, hugetlb control group is not supported. Whenever I write an ‘extra’ line like this one, I usually realise it's really a comment in disguise, more at home in the code than forgotten in the commit log. I think that's the case here. Kind regards, T G-R From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 21 03:58:02 2017 Received: (at 29409) by debbugs.gnu.org; 21 Dec 2017 08:58:03 +0000 Received: from localhost ([127.0.0.1]:45168 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eRwfy-0005B7-Os for submit@debbugs.gnu.org; Thu, 21 Dec 2017 03:58:02 -0500 Received: from dd26836.kasserver.com ([85.13.145.193]:47376) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eRwfw-0005Ah-EI for 29409@debbugs.gnu.org; Thu, 21 Dec 2017 03:58:00 -0500 Received: from localhost (77.118.177.93.wireless.dyn.drei.com [77.118.177.93]) by dd26836.kasserver.com (Postfix) with ESMTPSA id 8AF01336015F; Thu, 21 Dec 2017 09:57:57 +0100 (CET) Date: Thu, 21 Dec 2017 09:57:52 +0100 From: Danny Milosavljevic To: Mathieu Othacehe Subject: Re: [bug#29409] Remove hugetlb control group on ARM32. Message-ID: <20171221095752.1a018320@scratchpost.org> In-Reply-To: <87ind19pok.fsf@gmail.com> References: <877euhtjkj.fsf@gmail.com> <87ind19pok.fsf@gmail.com> X-Mailer: Claws Mail 3.15.1-dirty (GTK+ 2.24.31; x86_64-unknown-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 29409 Cc: 29409@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) Hi Mathieu, On Wed, 20 Dec 2017 20:15:07 +0100 Mathieu Othacehe wrote: > I'm not sure what do about, a workaround could be the ugly hack > attached, WDYT ? I researched cgroups a bit and it seems that /sys/fs/cgroup/hugetlb is for configuration of hugetlb and that cgroups themselves don't require hugetlb - and neither does elogind. There could be any number of reasons hugetlb doesn't work (custom kernel config etc). We could use (file-exists? "/proc/sys/vm/nr_hugepages") in order to test for hugetlb support. The proc filesystem is already mounted at this point. Alternatively, it would be possible to use (needed-for-boot? #f) for the hugetlb cgroup file-system. In that case, maybe failure isn't so bad. I didn't test that, however. If we want to make this ARM-specific we can do that too, but I think it's more general than that. From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 21 05:07:45 2017 Received: (at 29409) by debbugs.gnu.org; 21 Dec 2017 10:07:45 +0000 Received: from localhost ([127.0.0.1]:45230 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eRxlR-0006oB-Ah for submit@debbugs.gnu.org; Thu, 21 Dec 2017 05:07:45 -0500 Received: from hera.aquilenet.fr ([141.255.128.1]:48909) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eRxlP-0006o2-BF for 29409@debbugs.gnu.org; Thu, 21 Dec 2017 05:07:44 -0500 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id 7FC13102BB; Thu, 21 Dec 2017 11:07:46 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at aquilenet.fr Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id LhTa3fjiHvvY; Thu, 21 Dec 2017 11:07:45 +0100 (CET) Received: from ribbon (unknown [193.50.110.235]) by hera.aquilenet.fr (Postfix) with ESMTPSA id 06DF7FEB6; Thu, 21 Dec 2017 11:07:44 +0100 (CET) From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: Tobias Geerinckx-Rice Subject: Re: [bug#29409] Remove hugetlb control group on ARM32. References: <877euhtjkj.fsf@gmail.com> <87ind19pok.fsf@gmail.com> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 1 =?utf-8?Q?Niv=C3=B4se?= an 226 de la =?utf-8?Q?R?= =?utf-8?Q?=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Thu, 21 Dec 2017 11:07:40 +0100 In-Reply-To: (Tobias Geerinckx-Rice's message of "Thu, 21 Dec 2017 02:16:52 +0100") Message-ID: <87shc48kcz.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 29409 Cc: m.othacehe@gmail.com, 29409@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) Hello! Tobias Geerinckx-Rice skribis: > Mathieu Othacehe wrote on 20/12/17 at 20:15: >> Mounting %control-groups fails on ARM32 platform because we build a >> kernel without LPAE support which implies hugetlb control group cannot >> be supported. > > What happens when the mount fails? At first glance, %control-groups > aren't needed-for-boot. Unfortunately, I'm not able to test it now: it's > all disgustingly hypothetical from here on. If =E2=80=98mount=E2=80=99 fails with EOPNOTSUPP, we could handle that spec= ifically, perhaps with an (optional? #t) flag on the file system or something. >> Like Debian we could have an ARMMP and ARMMP-LPAE kernel but the problem >> would still exists for ARMMP. >>=20 >> I'm not sure what do about, a workaround could be the ugly hack >> attached, WDYT ? > > So to me your patch implies that mounting the hugetlb cgroup is entirely > optional, and that no other (known) services will actually break if it's > not mounted. %control-groups are mounted as part of %base-file-systems, > about which the manual: > > -- Scheme Variable: %base-file-systems > These are essential file systems that are required on normal > systems, such as %PSEUDO-TERMINAL-FILE-SYSTEM and %IMMUTABLE-STORE > (see below.) Operating system declarations should always contain > at least these. > > In practice, %base-file-systems depends on more mounts than it probably > should, since some of them aren't essential and some can't even exist on > some platforms. That keeps things simple, and isn't a problem *if* > mounting optional file systems like %control-groups simply logs the > error and continues normally with the next mount. A bit dirty, perhaps, > but there are more places in file-systems.scm that feel that way to me. > > If the patch only serves to suppress such an error, I don't think it's > worth copying details of our kernel configurations around. > > If it fixes a broken boot, there's something... off about the way we > handle mounts. > > ...or maybe I am. Thoughts? =E2=80=98%base-file-systems=E2=80=99 is loosely defined and it=E2=80=99s a = moving target. Probably =E2=80=98%control-groups=E2=80=99 should be part of =E2=80=98%elog= ind-file-systems=E2=80=99 and not =E2=80=98%base-file-systems=E2=80=99, because I think it=E2=80=99s elog= ind that needs them. That would solve bare-bones-style configuration that doesn=E2=80=99t use elogind. It wouldn=E2=80=99t help for all things desktop, though. WDYT? > --- a/gnu/system/file-systems.scm > +++ b/gnu/system/file-systems.scm > @@ -21,6 +21,7 @@ > #:use-module (rnrs bytevectors) > #:use-module (srfi srfi-1) > #:use-module (guix records) > + #:use-module (guix utils) This is not great because (gnu system file-systems) is also used on the =E2=80=9Cbuild side=E2=80=9D, but (guix utils) would pull in (guix config),= which is configuration-dependent (it contains data that can vary from system to system): --8<---------------cut here---------------start------------->8--- scheme@(guile-user)> ,use(guix modules) scheme@(guile-user)> (source-module-closure '((guix utils))) $3 =3D ((guix utils) (guix config) (guix memoization) (guix profiling) (gui= x build utils) (guix build syscalls)) scheme@(guile-user)> (source-module-closure '((gnu system file-systems))) $4 =3D ((gnu system file-systems) (guix records) (gnu system uuid)) --8<---------------cut here---------------end--------------->8--- Thanks, Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Thu Dec 21 10:52:12 2017 Received: (at 29409) by debbugs.gnu.org; 21 Dec 2017 15:52:12 +0000 Received: from localhost ([127.0.0.1]:46306 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eS38l-0000WS-Q4 for submit@debbugs.gnu.org; Thu, 21 Dec 2017 10:52:11 -0500 Received: from hera.aquilenet.fr ([141.255.128.1]:49890) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eS38j-0000WJ-Ls for 29409@debbugs.gnu.org; Thu, 21 Dec 2017 10:52:10 -0500 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id 34C461039F; Thu, 21 Dec 2017 16:52:12 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at aquilenet.fr Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id O8Xv0JHMVXHp; Thu, 21 Dec 2017 16:52:11 +0100 (CET) Received: from ribbon (unknown [193.50.110.235]) by hera.aquilenet.fr (Postfix) with ESMTPSA id 24FB97346; Thu, 21 Dec 2017 16:52:11 +0100 (CET) From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: Danny Milosavljevic Subject: Re: [bug#29409] Remove hugetlb control group on ARM32. References: <877euhtjkj.fsf@gmail.com> <87ind19pok.fsf@gmail.com> <20171221095752.1a018320@scratchpost.org> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 1 =?utf-8?Q?Niv=C3=B4se?= an 226 de la =?utf-8?Q?R?= =?utf-8?Q?=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Thu, 21 Dec 2017 16:52:07 +0100 In-Reply-To: <20171221095752.1a018320@scratchpost.org> (Danny Milosavljevic's message of "Thu, 21 Dec 2017 09:57:52 +0100") Message-ID: <87tvwk3wpk.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 29409 Cc: Mathieu Othacehe , 29409@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) Hi, Danny Milosavljevic skribis: > On Wed, 20 Dec 2017 20:15:07 +0100 > Mathieu Othacehe wrote: > >> I'm not sure what do about, a workaround could be the ugly hack >> attached, WDYT ? > > I researched cgroups a bit and it seems that /sys/fs/cgroup/hugetlb is fo= r configuration of hugetlb and that cgroups themselves don't require hugetl= b - and neither does elogind. Indeed. So actually we can probably remove it altogether. We could simply do that and keep the definition around for when we need it. Thoughts? > We could use (file-exists? "/proc/sys/vm/nr_hugepages") in order to test = for hugetlb support. The proc filesystem is already mounted at this point. Currently we can=E2=80=99t easily introduce special conditions for file sys= tem mounts. > Alternatively, it would be possible to use (needed-for-boot? #f) for the = hugetlb cgroup file-system. In that case, maybe failure isn't so bad. I d= idn't test that, however. =E2=80=98need-for-boot?=E2=80=99 tells whether the file system should be mo= unted from the initrd or after PID=C2=A01 has been started, so it doesn=E2=80=99t help= in this case (it=E2=80=99s already #f I think.) Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 22 02:54:26 2017 Received: (at 29409) by debbugs.gnu.org; 22 Dec 2017 07:54:26 +0000 Received: from localhost ([127.0.0.1]:46789 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eSI9y-00087X-Dq for submit@debbugs.gnu.org; Fri, 22 Dec 2017 02:54:26 -0500 Received: from mail-wm0-f41.google.com ([74.125.82.41]:40944) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eSI9w-00087J-Vn for 29409@debbugs.gnu.org; Fri, 22 Dec 2017 02:54:25 -0500 Received: by mail-wm0-f41.google.com with SMTP id f206so19861165wmf.5 for <29409@debbugs.gnu.org>; Thu, 21 Dec 2017 23:54:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=references:user-agent:from:to:cc:subject:in-reply-to:date :message-id:mime-version; bh=xfXj8MeZ1TNbexQEv5I3rWTu7UjHvsN705Ui7O5+BH0=; b=IA/yJfb9sfwc4wO4CHaQ/NzUTPbiboQnyjKUDQpmSQM29WCA861swbYNp0Vzq2Q9cn 1tEB9f8uDLGzsWir+dI466Pb+On19RFqf+m3uYv6o9kH4QCMAwQUk1nyEqwJymS5Z6G2 aGWsNNkNfVVXTao7Zul6P1qW0f4JdGdFlaEUw/AGnEHHquEQKohM9auXksB5m0JUzn9/ tVdhn3ABo/+K65m8Gjm3MlR5nQAKlfU6TWv+K/HxbBzGbEQJnOQ+357wgF2esYhCBBGU zYSaN5y4kGU8oViU4TqEPd2tFEAS8t/4Vg+ieUgXjqmUASA1eTiw2twgn0Zl4eXgXBGR uWSA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:references:user-agent:from:to:cc:subject :in-reply-to:date:message-id:mime-version; bh=xfXj8MeZ1TNbexQEv5I3rWTu7UjHvsN705Ui7O5+BH0=; b=cxsYN1X24vtZSeUq3KopLSYTBIXDKLTyuhOU0S4OLcINunuqxt3bHS6cXDWjoWTTYe YYZOHKn5spRVgR+Ay5j6cjschTJofW0RnPUHKXhEyeFXWNWCAHpL6VCzVeJMxWgvus5w aMn5Dl0A3+KpyuD/U1dYaA3DVZzqBw+Rc3ZoXfKPovYEH+BBTWEXFcxPkbvru4bnNGzM AQiI/XiC2jah1ihDfOYT2GpOJHh5bGVAyxyEsXSWoc2D8clHWPy6hH0iC14lthOR4CKt uRFxGoaEhVVc5ikutnaKEoiQv7ZR84uPQGsStXeVOkOWdE7yvP4gLsGrBHddLDVMYigN 6Cdg== X-Gm-Message-State: AKGB3mIHNw8oHGVphTHkCNEnbwmrfmjA0F8MA89qQ8dS4cV0NOttjVgT QqOsFK4dRH4zCj71Xsg1MOGfnA== X-Google-Smtp-Source: ACJfBotlxZezfo0c/kzyrVgH+s1yxBS6P3EJlG2W7q3tGDeYivYbXG4pne0fM3O6mzfsVgeIIum0xQ== X-Received: by 10.28.206.8 with SMTP id e8mr11738949wmg.80.1513929258726; Thu, 21 Dec 2017 23:54:18 -0800 (PST) Received: from cervin ([78.192.96.126]) by smtp.gmail.com with ESMTPSA id y42sm23417153wrc.96.2017.12.21.23.54.17 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Thu, 21 Dec 2017 23:54:17 -0800 (PST) References: <877euhtjkj.fsf@gmail.com> <87ind19pok.fsf@gmail.com> <20171221095752.1a018320@scratchpost.org> <87tvwk3wpk.fsf@gnu.org> User-agent: mu4e 0.9.18; emacs 25.3.1 From: Mathieu Othacehe To: Ludovic =?utf-8?Q?Court=C3=A8s?= , Danny Milosavljevic , Tobias Geerinckx-Rice Subject: Re: [bug#29409] Remove hugetlb control group on ARM32. In-reply-to: <87tvwk3wpk.fsf@gnu.org> Date: Fri, 22 Dec 2017 08:54:16 +0100 Message-ID: <87vagzb3kn.fsf@gmail.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 29409 Cc: 29409@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) --=-=-= Content-Type: text/plain Hi Tobias, Danny and Ludo, Thanks for your answers! > Indeed. So actually we can probably remove it altogether. > > We could simply do that and keep the definition around for when we need > it. > > Thoughts? Seems ok to me. I also proposed a patch to move %control-groups from %base-file-systems to %elogind-file-systems. WDYT ? Thanks, Mathieu --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=0001-file-systems-Do-not-mount-hugetlb-cgroup-filesystem.patch >From a531af25b3cffeb70e5681ef70ced564378f2db7 Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Fri, 22 Dec 2017 08:42:29 +0100 Subject: [PATCH 1/2] file-systems: Do not mount hugetlb cgroup filesystem. On ARM32 without LPAE support, hugetlb control group is not supported. As it is not needed by elogind, remove it for all platforms. * gnu/system/file-systems.scm (%control-groups): Remove hugetlb from control groups platforms. --- gnu/system/file-systems.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/system/file-systems.scm b/gnu/system/file-systems.scm index 27734e892..9de465167 100644 --- a/gnu/system/file-systems.scm +++ b/gnu/system/file-systems.scm @@ -279,7 +279,7 @@ TARGET in the other system." ;; parent directory. (dependencies (list parent)))) '("cpuset" "cpu" "cpuacct" "memory" "devices" "freezer" - "blkio" "perf_event" "hugetlb"))))) + "blkio" "perf_event"))))) (define %elogind-file-systems ;; We don't use systemd, but these file systems are needed for elogind, -- 2.15.0 --=-=-= Content-Type: text/x-patch Content-Disposition: inline; filename=0002-file-systems-Move-control-groups-from-base-file-syst.patch >From 4a28602843a661989c687086af009481dab05eed Mon Sep 17 00:00:00 2001 From: Mathieu Othacehe Date: Fri, 22 Dec 2017 08:43:24 +0100 Subject: [PATCH 2/2] file-systems: Move %control-groups from %base-file-systems to %elogind-file-systems. * gnu/system/file-systems.scm (%base-file-systems): Move %control-groups from here, to ... (%elogind-file-systems): ... here. --- gnu/system/file-systems.scm | 63 +++++++++++++++++++++++---------------------- 1 file changed, 32 insertions(+), 31 deletions(-) diff --git a/gnu/system/file-systems.scm b/gnu/system/file-systems.scm index 9de465167..7f5afb00f 100644 --- a/gnu/system/file-systems.scm +++ b/gnu/system/file-systems.scm @@ -284,41 +284,42 @@ TARGET in the other system." (define %elogind-file-systems ;; We don't use systemd, but these file systems are needed for elogind, ;; which was extracted from systemd. - (list (file-system - (device "none") - (mount-point "/run/systemd") - (type "tmpfs") - (check? #f) - (flags '(no-suid no-dev no-exec)) - (options "mode=0755") - (create-mount-point? #t)) - (file-system - (device "none") - (mount-point "/run/user") - (type "tmpfs") - (check? #f) - (flags '(no-suid no-dev no-exec)) - (options "mode=0755") - (create-mount-point? #t)) - ;; Elogind uses cgroups to organize processes, allowing it to map PIDs - ;; to sessions. Elogind's cgroup hierarchy isn't associated with any - ;; resource controller ("subsystem"). - (file-system - (device "cgroup") - (mount-point "/sys/fs/cgroup/elogind") - (type "cgroup") - (check? #f) - (options "none,name=elogind") - (create-mount-point? #t) - (dependencies (list (car %control-groups)))))) + (append + (list (file-system + (device "none") + (mount-point "/run/systemd") + (type "tmpfs") + (check? #f) + (flags '(no-suid no-dev no-exec)) + (options "mode=0755") + (create-mount-point? #t)) + (file-system + (device "none") + (mount-point "/run/user") + (type "tmpfs") + (check? #f) + (flags '(no-suid no-dev no-exec)) + (options "mode=0755") + (create-mount-point? #t)) + ;; Elogind uses cgroups to organize processes, allowing it to map PIDs + ;; to sessions. Elogind's cgroup hierarchy isn't associated with any + ;; resource controller ("subsystem"). + (file-system + (device "cgroup") + (mount-point "/sys/fs/cgroup/elogind") + (type "cgroup") + (check? #f) + (options "none,name=elogind") + (create-mount-point? #t) + (dependencies (list (car %control-groups))))) + %control-groups)) (define %base-file-systems ;; List of basic file systems to be mounted. Note that /proc and /sys are ;; currently mounted by the initrd. - (append (list %pseudo-terminal-file-system - %shared-memory-file-system - %immutable-store) - %control-groups)) + (list %pseudo-terminal-file-system + %shared-memory-file-system + %immutable-store)) ;; File systems for Linux containers differ from %base-file-systems in that ;; they impose additional restrictions such as no-exec or need different -- 2.15.0 --=-=-=-- From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 22 05:50:45 2017 Received: (at 29409) by debbugs.gnu.org; 22 Dec 2017 10:50:45 +0000 Received: from localhost ([127.0.0.1]:46909 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eSKua-00064P-On for submit@debbugs.gnu.org; Fri, 22 Dec 2017 05:50:44 -0500 Received: from hera.aquilenet.fr ([141.255.128.1]:52089) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eSKuY-00064E-NX for 29409@debbugs.gnu.org; Fri, 22 Dec 2017 05:50:43 -0500 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id 57C9B106C4; Fri, 22 Dec 2017 11:50:45 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at aquilenet.fr Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Mf55eSHdgoXK; Fri, 22 Dec 2017 11:50:44 +0100 (CET) Received: from ribbon (unknown [193.50.110.235]) by hera.aquilenet.fr (Postfix) with ESMTPSA id 56458FE65; Fri, 22 Dec 2017 11:50:44 +0100 (CET) From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: Mathieu Othacehe Subject: Re: [bug#29409] Remove hugetlb control group on ARM32. References: <877euhtjkj.fsf@gmail.com> <87ind19pok.fsf@gmail.com> <20171221095752.1a018320@scratchpost.org> <87tvwk3wpk.fsf@gnu.org> <87vagzb3kn.fsf@gmail.com> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 2 =?utf-8?Q?Niv=C3=B4se?= an 226 de la =?utf-8?Q?R?= =?utf-8?Q?=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Fri, 22 Dec 2017 11:50:40 +0100 In-Reply-To: <87vagzb3kn.fsf@gmail.com> (Mathieu Othacehe's message of "Fri, 22 Dec 2017 08:54:16 +0100") Message-ID: <87wp1f829r.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: 29409 Cc: Danny Milosavljevic , Tobias Geerinckx-Rice , 29409@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.0 (+) Mathieu Othacehe skribis: > From a531af25b3cffeb70e5681ef70ced564378f2db7 Mon Sep 17 00:00:00 2001 > From: Mathieu Othacehe > Date: Fri, 22 Dec 2017 08:42:29 +0100 > Subject: [PATCH 1/2] file-systems: Do not mount hugetlb cgroup filesystem. > > On ARM32 without LPAE support, hugetlb control group is not supported. > As it is not needed by elogind, remove it for all platforms. > > * gnu/system/file-systems.scm (%control-groups): Remove hugetlb from cont= rol > groups platforms. LGTM, but please make sure that a gnu/system/examples/desktop.tmpl or similar still works in a VM. > From 4a28602843a661989c687086af009481dab05eed Mon Sep 17 00:00:00 2001 > From: Mathieu Othacehe > Date: Fri, 22 Dec 2017 08:43:24 +0100 > Subject: [PATCH 2/2] file-systems: Move %control-groups from > %base-file-systems to %elogind-file-systems. > > * gnu/system/file-systems.scm (%base-file-systems): Move %control-groups = from > here, to ... > (%elogind-file-systems): ... here. LGTM, but please double-check that =E2=80=9Cmake check-system TESTS=3Dbasic= =E2=80=9D and bare-bones.tmpl or install.scm (which do not use elogind) still work as expected. Thanks! Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Fri Dec 22 09:28:14 2017 Received: (at 29409) by debbugs.gnu.org; 22 Dec 2017 14:28:14 +0000 Received: from localhost ([127.0.0.1]:47081 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eSOJ4-0005RW-Al for submit@debbugs.gnu.org; Fri, 22 Dec 2017 09:28:14 -0500 Received: from mail-wr0-f182.google.com ([209.85.128.182]:41580) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1eSOJ1-0005R7-Fa for 29409@debbugs.gnu.org; Fri, 22 Dec 2017 09:28:11 -0500 Received: by mail-wr0-f182.google.com with SMTP id p69so19228863wrb.8 for <29409@debbugs.gnu.org>; Fri, 22 Dec 2017 06:28:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=references:user-agent:from:to:cc:subject:in-reply-to:date :message-id:mime-version:content-transfer-encoding; bh=cvu4GeKamFxCpNz9mSkiYNcCjgVcZW87ZjwWb1Ohcw4=; b=h15AXHSy7zAeuD/hlVQ4IWqocA6Wjzk0XSmUdN4hjP1VbXAOqMb6miosF5ghB+cPyu IXNXfQ13/6cUTgVtJ1DrlQeSJ5vfo0JnPAjAnOFBaO0PVGTsysHykOwPQGm1ItKM74Qu e9fXKBtiCGHxtcGPO+59AKChutH0nFb6Ml/HZfY4HA+p5hhVewlNxQnYypzbA5DZu+0a 9qdKa+hpRTVkqitQO55wjtWROr5y4JQ/wyMYu/6pDijhov2hsaiAcCUJ3ZveLYROXVYi KJOGwStDRk/jbCSRiSUIpob8KXlnjRcZvNYDBdWWqg3sA5ea50SJcJa5UhhkhOd01NAt zZMw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:references:user-agent:from:to:cc:subject :in-reply-to:date:message-id:mime-version:content-transfer-encoding; bh=cvu4GeKamFxCpNz9mSkiYNcCjgVcZW87ZjwWb1Ohcw4=; b=WZccgur2GbkuYkE5gYjd2aB8WVyKkKLyYu6nLHc4kLQnFFYkg5InWLFCO/HokectAp NURkNe59xSAQswPt5IzeX3ldRkyaOw+0fc34c59+IJczAADCEKSMkwi8Z6Bu8c5DJBGI 0mMLoROVUIq4eG8a0ZBWwA1JijgbNTIwvjCEPHCbKXe+qBvRzXEPCXYzZ/vFKtOjD9t8 47G78i7pVNbITMgLui//tFU4hMQrUq8f9MJq7w/isR+Cd6fmbCT5s0SQxh8qOY6DcKl4 63hCFpI6A71BeSBlATy8y1RWrWQw5sGx3r1BkHmnySJIpmRq8o82BPJBJ7ysfhMWGYX8 082w== X-Gm-Message-State: AKGB3mJiej5duYclh75B0SzgsjWmLztBpN0AwJLBt1CccSNZXnlkDRql 1oFp/GcBeGt2Awmv9GBaGGcdWg== X-Google-Smtp-Source: ACJfBos/gMmTuzMCOjBHUqypAOFwTGORBmjbL+xFtMK4ViNyFD+IO1LvfdxduKMltCoGg3/BD+vZOQ== X-Received: by 10.223.147.132 with SMTP id 4mr6032861wrp.92.1513952885428; Fri, 22 Dec 2017 06:28:05 -0800 (PST) Received: from cervin ([78.192.96.126]) by smtp.gmail.com with ESMTPSA id i66sm6086589wmf.3.2017.12.22.06.28.04 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 22 Dec 2017 06:28:04 -0800 (PST) References: <877euhtjkj.fsf@gmail.com> <87ind19pok.fsf@gmail.com> <20171221095752.1a018320@scratchpost.org> <87tvwk3wpk.fsf@gnu.org> <87vagzb3kn.fsf@gmail.com> <87wp1f829r.fsf@gnu.org> User-agent: mu4e 0.9.18; emacs 25.3.1 From: Mathieu Othacehe To: Ludovic =?utf-8?Q?Court=C3=A8s?= Subject: Re: [bug#29409] Remove hugetlb control group on ARM32. In-reply-to: <87wp1f829r.fsf@gnu.org> Date: Fri, 22 Dec 2017 15:28:04 +0100 Message-ID: <87d136bzwr.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 29409 Cc: Danny Milosavljevic , Tobias Geerinckx-Rice , 29409@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.0 (/) > LGTM, but please double-check that “make check-system TESTS=basic” and > bare-bones.tmpl or install.scm (which do not use elogind) still work as > expected. I ran the tests you suggested, everything seems ok so I pushed both patches. Thanks, Mathieu From debbugs-submit-bounces@debbugs.gnu.org Mon Apr 02 11:58:41 2018 Received: (at control) by debbugs.gnu.org; 2 Apr 2018 15:58:42 +0000 Received: from localhost ([127.0.0.1]:35313 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1f31qz-0002uW-MU for submit@debbugs.gnu.org; Mon, 02 Apr 2018 11:58:41 -0400 Received: from dd26836.kasserver.com ([85.13.145.193]:49892) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1f31qy-0002uO-JG for control@debbugs.gnu.org; Mon, 02 Apr 2018 11:58:40 -0400 Received: from localhost (178.113.134.1.wireless.dyn.drei.com [178.113.134.1]) by dd26836.kasserver.com (Postfix) with ESMTPSA id 905FE3360099 for ; Mon, 2 Apr 2018 17:58:39 +0200 (CEST) Date: Mon, 2 Apr 2018 17:58:34 +0200 From: Danny Milosavljevic To: Message-ID: <20180402175834.09406b3e@scratchpost.org> X-Mailer: Claws Mail 3.16.0 (GTK+ 2.24.31; x86_64-unknown-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; boundary="Sig_/ndS1SHgO.VAoY/iaoNnFPjL"; protocol="application/pgp-signature" X-Spam-Score: 1.3 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: close 29409 [...] Content analysis details: (1.3 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at http://www.dnswl.org/, low trust [85.13.145.193 listed in list.dnswl.org] 0.0 TVD_SPACE_RATIO No description available. 1.8 MISSING_SUBJECT Missing Subject: header 0.2 NO_SUBJECT Extra score for no subject X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 1.3 (+) X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org", has NOT identified this incoming email as spam. The original message has been attached to this so you can view it or label similar future email. If you have any questions, see the administrator of that system for details. Content preview: close 29409 [...] Content analysis details: (1.3 points, 10.0 required) pts rule name description ---- ---------------------- -------------------------------------------------- -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at http://www.dnswl.org/, low trust [85.13.145.193 listed in list.dnswl.org] 0.0 TVD_SPACE_RATIO No description available. 1.8 MISSING_SUBJECT Missing Subject: header 0.2 NO_SUBJECT Extra score for no subject --Sig_/ndS1SHgO.VAoY/iaoNnFPjL Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable close 29409 --Sig_/ndS1SHgO.VAoY/iaoNnFPjL Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iQEzBAEBCAAdFiEEds7GsXJ0tGXALbPZ5xo1VCwwuqUFAlrCUyoACgkQ5xo1VCww uqU32wf9H3944a3P3uc8ZGIV0RC0btxuKxolDkgjXTZlbAiC0vmVc0ISCU9GYKfy KcQ+tU4y/lk+v9gosUPnLnRkyN3nnY6unZh+TTIAwgEQ2giwZpRCiM9mPQEfIjLo Tga1Dz6coxrPFJ8MBGXT8T5jgvvKUEvM9LNqAA9WUtF8Dzx1fIPDB24uJw96qh2R IlSX5GMcePsNFdf38V4bhJlZ2mGyhoyUg1aKQ2BlQs0Tmej1v9QP0OMy83pgK1DX +zp2SL9UUeld+QUvjCd+BZCtLoUTUGtIjx9XazneSk2uOhaxlebvpS5k7jG1ZvGT 5dBS3nEhOl8hslHCSwzijeY1IbcX9g== =V/nN -----END PGP SIGNATURE----- --Sig_/ndS1SHgO.VAoY/iaoNnFPjL-- From unknown Fri Aug 15 19:32:00 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Tue, 01 May 2018 11:24:04 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator