From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from shymkent.ilbers.de ([unix socket]) by shymkent (Cyrus 2.5.10-Debian-2.5.10-3+deb9u2) with LMTPA; Mon, 22 Jul 2024 10:57:20 +0200 X-Sieve: CMU Sieve 2.4 Received: from mail-lf1-f61.google.com (mail-lf1-f61.google.com [209.85.167.61]) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPS id 46M8vJVY019550 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Mon, 22 Jul 2024 10:57:19 +0200 Received: by mail-lf1-f61.google.com with SMTP id 2adb3069b0e04-52f01583533sf1493761e87.0 for ; Mon, 22 Jul 2024 01:57:19 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1721638634; cv=pass; d=google.com; s=arc-20160816; b=LuFB9dDs7+YlGEeaeqPrieKocjAB7zbYj58yQZ2XjHOc0qQXnBF6vkLTNU71ZcUUn+ lsPpgbCyxYKq0MTf6Nz+SZP37ZrjSeVROLq/d7or/G361JMxLn8v1peEQU0fZg9J/RRf WfQVhz9DtjTfSkCe/dIlrLvZb4FDF3MpvdmHwaAwIX+6/hnkkp1G/z52Sf3+mFvqzUXm 8eE+JZvEoJJCjNZdXNdgT8aSmnVCiTBbMCdlITmVbaWxM56w/JQLT92zVKTKBqnI59P3 dixctQlecQt0zuXU//c+3ge3pVNx+mS5poe6ePUHRLt96GFBkzQ9eiS/xKvhBkm+QoEP UUwg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:mime-version:user-agent:autocrypt :references:in-reply-to:date:to:from:subject:message-id:sender :dkim-signature; bh=gY5XUUhnVkn0wHJ5Www+gMB6IphRQDvUrrLlKPtjw8c=; fh=YKmqTQYb1ATqzRPrCnVzSPojpqy8YcprsWZHI5agRW4=; b=e9UMb6v4g0HWY0CFhUe52JU1VN3FPf8sOZWpEkMVM097YUVT17AXLs0kzpFhjWWO2O INnJSPsLK+mYNkkcbUkvAwxCQjOydcT2opIXAi7eUtcQIY/FuKP9XCjM95vRTg+LmBeH k/dX4teVUFx7l1xnd7FyITZbpSVPe1t1Y+nhdUsqycrgNyozXEAMU9rJwEE32ycUW4HB yR+j48xQXjM0Vs7jTCi/n+rtavZzcFhh2fk5ErgSsC872tdJpaGZTC7dtWRMliqjMVnm MvEkgh8U4xXAAIoNW2fubbS/XfER+8XFE7Kj6tob5ufB7n0ef3Jk+Eq5bWmixXvKCvCc dbmA==; darn=isar-build.org ARC-Authentication-Results: i=2; gmr-mx.google.com; spf=pass (google.com: domain of ubely@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=ubely@ilbers.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlegroups.com; s=20230601; t=1721638634; x=1722243434; darn=isar-build.org; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :list-id:mailing-list:precedence:x-original-authentication-results :x-original-sender:mime-version:user-agent:autocrypt:references :in-reply-to:date:to:from:subject:message-id:sender:from:to:cc :subject:date:message-id:reply-to; bh=gY5XUUhnVkn0wHJ5Www+gMB6IphRQDvUrrLlKPtjw8c=; b=c2Kl2/VdY9se7sWHwPTKqM9gm26BCBnCXcaNIhPHibPo1ABBstB5bhTh0GZpflYFOx oXzm7lbDtpx7LRncW0mNyIXUWrJQSbwUta56ESwTg0VBP+iGGvvrJYdzcj6jD9U/FxFL zypoRf2G2jdDkTgkb5B4MP5hnbExHI6Pw1bMoCMGOZ2niPxODD5jgnKwf7g4pR9PvJz1 eQuyhqICEJFkRDeZ3wmYCxd+9ECrfjWU+HU9DISma5MhVUrIdpVuI3cOqj920BjhRPD5 7Z3pM8vjMEWjojBaGv9BxmYceC80oOLSgiHMVCX8R8aS2FKGyrMTwPbvlG+EzFi243Bi OUQA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1721638634; x=1722243434; h=list-unsubscribe:list-subscribe:list-archive:list-help:list-post :x-spam-checked-in-group:list-id:mailing-list:precedence :x-original-authentication-results:x-original-sender:mime-version :user-agent:autocrypt:references:in-reply-to:date:to:from:subject :message-id:x-beenthere:x-gm-message-state:sender:from:to:cc:subject :date:message-id:reply-to; bh=gY5XUUhnVkn0wHJ5Www+gMB6IphRQDvUrrLlKPtjw8c=; b=shn3s6W+tqTE6c8fWb9BsmfPG9OuJTY4IujKztAVSCA/cQULXpHfYDMNhiu6CAT+IH ulklq+XmD05/eSA/WVh5FOLRegk03KId0H9JzLBP3OyDb0bNwAcVXunn3D2UG0e114qG Lsl+dR/EPnpwm9UbDbw/q/I++SEi8vNt+mUpTXehhCY8IFDjC2AAHRqqgw8GXhxqRiMK oYycvEru+AULC4MBvWs18W6m2w2U+ylhH7w9bzGLGvpoELrAb3GuLyF7Xy9kQ6An98yi tmIX2PAiH8rlZ28H9NH2q1X0r5Fs750dRIUNw75DkiRstrONG+syqSntzASOUQMH0LuN X8qQ== Sender: isar-users@googlegroups.com X-Forwarded-Encrypted: i=2; AJvYcCVCU1eJdJO7R8fSCRqDNCe3im1qBB0ZxySa3Owm+htuqK1ETPfZ+japeTnkpOM1uD0wgNqLM7/Hcqwja5AYwwiqB0c= X-Gm-Message-State: AOJu0YwjYeQWgBSx9DoNhGcUwihsBd0H24LKzoz9T2IZnSYh+tjTn5oR RJ4ZxSJPvB+WDCOaxlpihIS4vFB3cUPPcq+B7Jnr8bKhEC4y+5Wi X-Google-Smtp-Source: AGHT+IGDHv6HHV0rIPDiFVt0LUxgzHaevmklEIcICfj02jEtUEIMzL0vaoWhBUF4lI4mO0vFIjAPFg== X-Received: by 2002:a05:6512:318e:b0:52e:969c:db8a with SMTP id 2adb3069b0e04-52ef8dafd61mr4052114e87.44.1721638633063; Mon, 22 Jul 2024 01:57:13 -0700 (PDT) X-BeenThere: isar-users@googlegroups.com Received: by 2002:ac2:4e0f:0:b0:52e:fdfc:47b6 with SMTP id 2adb3069b0e04-52efdfc49fels806939e87.2.-pod-prod-01-eu; Mon, 22 Jul 2024 01:57:11 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCVX1FaVl0JCYCJ4PQqwwvcye1wVGDU+ydRH2/3bmLSknUh0n60frcNcHkGQDsbEw34qFsuueiw9UYhl0yUt91ExEWTVHg0UV5MeNc4= X-Received: by 2002:a05:6512:3f09:b0:52e:9fe0:bee4 with SMTP id 2adb3069b0e04-52ef8d856e9mr5273800e87.9.1721638630623; Mon, 22 Jul 2024 01:57:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1721638630; cv=none; d=google.com; s=arc-20160816; b=tDbox9k1RzS1w/8ZDDTqWhLbtqNPY3EUkoFYkdCxqp2EU+rdYN3HybKrf9tDjKOWcl y+05dZoiTnAU0wnhHNjWxCpL3uxtmpzb4uN76BUCmhp52eR1Ydlg1ZAPjqmuKMk1STsx sUgyZVDPwC1P9cPNsOO2K5SqqezlxAd0Bxuavw5g0dlOOkwFYM4jU1pjz98qoy2r1aTw eY8nl4Jc+bY+8iRBbZQYYX5ILxPL1osEIVoTJvm7HMsMtVmF1/DR0ZqADmqNO19ql26P Y+cHTtgnrYTu7cH56X/vPMaywyqz0SxPPi/81um2BLrKp83mDTWOxlv+7qvIikGqXhG2 GzFQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:user-agent:autocrypt:references:in-reply-to:date:to :from:subject:message-id; bh=8UOxdYTCQaLijtk09E36JlKYeSUz1/GIxSSspGYHvAA=; fh=ez+yYIN2+t1/A1KtVD1essDQ6+anTTnZTbSXjuK9WaU=; b=xWqStkC3Q4JJbZ9S7i04Fhf0USNTuKVkVjlsrBaWtL9t5M9vgLlIeVz1uYvmGxp9+p Qk9IqsBZ97zle6FXIs/XGwAn4kXh60dbEbkhCoiy5+LD8qJRRO1SPh7/SwuRB51+cWJR 8Dt6hSI0fhR2hmYqp+JfKEfIj+HZ8t8QkbRWrVzhMXH+Y0nMCVNAR02nytp5ISiaNvOe S/YbfDvbYJqY8IHiHTNG75mKtSL/kei5IY85zJSmbMIVUJnVRhIne9N443wvio8c0SCi 1Fif6mnKaBmJaQfqVXLaJAtzM3jvV7B5CCbHMlT9edmAO96eVpH72c/x9fypUzUG4FSF bjGQ==; dara=google.com ARC-Authentication-Results: i=1; gmr-mx.google.com; spf=pass (google.com: domain of ubely@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=ubely@ilbers.de Received: from shymkent.ilbers.de (shymkent.ilbers.de. [85.214.156.166]) by gmr-mx.google.com with ESMTPS id 2adb3069b0e04-52fc2be5f44si1033e87.8.2024.07.22.01.57.10 for (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Mon, 22 Jul 2024 01:57:10 -0700 (PDT) Received-SPF: pass (google.com: domain of ubely@ilbers.de designates 85.214.156.166 as permitted sender) client-ip=85.214.156.166; Received: from [IPv6:::1] (host-80-81-17-52.static.customer.m-online.net [80.81.17.52]) (authenticated bits=0) by shymkent.ilbers.de (8.15.2/8.15.2/Debian-8+deb9u1) with ESMTPSA id 46M8v7TC019544 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 22 Jul 2024 10:57:09 +0200 Message-ID: <00df27852fd8647508ebcfd9a460e49970f90a76.camel@ilbers.de> Subject: Re: [PATCH 1/1] fix expansion of variables in SRC_URI of dpkg-prebuilt From: Uladzimir Bely To: Felix Moessbauer , isar-users@googlegroups.com Date: Mon, 22 Jul 2024 11:57:07 +0300 In-Reply-To: <20240712092245.47054-1-felix.moessbauer@siemens.com> References: <20240712092245.47054-1-felix.moessbauer@siemens.com> Autocrypt: addr=ubely@ilbers.de; prefer-encrypt=mutual; keydata=mQENBGO2eUkBCACtT+T3OrPVSExBmqfgXT3lp9XcdxRzjYp26wezkgYjjBXaf36bxtaAf S471VoQtpar0RVeFfW7WDDdfX9ZclSj36zBQe+RVSJzoNoNQfjOXWuSHb5Z+cpAFtqBY4muxK4+ia IlLJd6CN3ejOsLHATtCeHHq8wi0z2T+KdLQO+wQRgo2hjj0Lp9pGTrKJry50HP/o7Vbdu14dOx2xq r8+wPc6SQbBIrcqaa4MqCQC00vQG7eXvo+k2MOw59FDdpMH0KR9mHgp3u/s4I+4YRBArukt9G9xz/ rsEFmxAIBC6N/a6Hzwg4puc91n7ABDsPg8Vp+X3MDraujN0dvR6OKVNtABEBAAG0IFVsYWR6aW1pc iBCZWx5IDx1YmVseUBpbGJlcnMuZGU+iQFOBBMBCAA4FiEEJqPNVhVGyk12Eh+PAUQYBM/2FkoFAm O2eUkCGwMFCwkIBwIGFQoJCAsCBBYCAwECHgECF4AACgkQAUQYBM/2FkprlAgAmuna8Hm9EyoEtTl DBGDg6Zm4ZLp5ffvZBE946h92jepDrteoxsJ7pSzJVC2HmDLa4iZUao7lLLbDsUj5x45/iLJcqBZK k3YnAxP2r6a+kI+1VVQY1pxdG1nlJAbdNzoojm/qmezNPSrqni61KVMQKsXBCWhIjSXDSM9CsBj21 a+9qaVqfxovJGTn9lgrZO+xzKQNMKZeOouJlscVuFj21P0ww3/YENiU/nMeTSuYypO76mDtAd08Jo nc3yuHa9MJGei5ixN3wT+IrGR2aL2hdw2M6NgH7sYbL2Zi4ugD6RXHJai1Bh2yvFSVqSQ+M6QOInT 4ud7wslm1XRB065dXtA== Content-Type: multipart/mixed; boundary="=-yNq/JgD8qDpv1dzgtcVz" User-Agent: Evolution 3.52.2 (by Flathub.org) MIME-Version: 1.0 X-Spam-Status: No, score=-4.6 required=5.0 tests=DKIMWL_WL_MED,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_EF,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RCVD_IN_MSPIKE_H2,RCVD_IN_RP_CERTIFIED, RCVD_IN_RP_RNBL,RCVD_IN_RP_SAFE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on shymkent.ilbers.de X-Original-Sender: ubely@ilbers.de X-Original-Authentication-Results: gmr-mx.google.com; spf=pass (google.com: domain of ubely@ilbers.de designates 85.214.156.166 as permitted sender) smtp.mailfrom=ubely@ilbers.de Precedence: list Mailing-list: list isar-users@googlegroups.com; contact isar-users+owners@googlegroups.com List-ID: X-Spam-Checked-In-Group: isar-users@googlegroups.com X-Google-Group-Id: 914930254986 List-Post: , List-Help: , List-Archive: , List-Unsubscribe: , X-TUID: a0aJBjjhvjaE --=-yNq/JgD8qDpv1dzgtcVz Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Fri, 2024-07-12 at 11:22 +0200, 'Felix Moessbauer' via isar-users wrote: > The processing of the items in SRC_URI of dpkg-prebuilt previously > was > executed on the non expanded variables. This was introduced to fix > credential leaks and to avoid absolute paths in the signatures > (caching > issues). However, this does not work when putting whole SRC_URI > entries > into variables (which potentially can be empty), as then the > unpack=3Dfalse is added to the non-expanded variable which either might > already contain this, or is empty. This led to broken urls. >=20 > To fix this, the patch changes the processing logic to work on the > expanded string. As this would re-introduce the credential and > caching > issues, we further add a vardepvalue with the non-expanded string. By > that, the signatures just contain the original string in its non > expanded version. >=20 Yes, this change currently seems to break CI (test_sstate fails). I haven't investigated it deeply yet, so for now just attaching the log. > Signed-off-by: Felix Moessbauer > --- > =C2=A0meta/classes/dpkg-prebuilt.bbclass | 9 ++++++--- > =C2=A01 file changed, 6 insertions(+), 3 deletions(-) >=20 > diff --git a/meta/classes/dpkg-prebuilt.bbclass b/meta/classes/dpkg- > prebuilt.bbclass > index a6187a07..ecf0d383 100644 > --- a/meta/classes/dpkg-prebuilt.bbclass > +++ b/meta/classes/dpkg-prebuilt.bbclass > @@ -7,13 +7,16 @@ inherit dpkg-base > =C2=A0 > =C2=A0python do_unpack:prepend() { > =C2=A0=C2=A0=C2=A0=C2=A0 # enforce unpack=3Dfalse > -=C2=A0=C2=A0=C2=A0 src_uri =3D (d.getVar('SRC_URI', False) or '').split(= ) > -=C2=A0=C2=A0=C2=A0 if len(src_uri) =3D=3D 0: > +=C2=A0=C2=A0=C2=A0 src_uri_raw =3D d.getVar('SRC_URI', False) > +=C2=A0=C2=A0=C2=A0 src_uri_exp =3D (d.getVar('SRC_URI', True) or '').spl= it() > +=C2=A0=C2=A0=C2=A0 if len(src_uri_exp) =3D=3D 0: > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return > =C2=A0=C2=A0=C2=A0=C2=A0 def ensure_unpack_false(uri): > =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 return ';'.join([x for x= in uri.split(';') if not > x.startswith('unpack=3D')] + ['unpack=3Dfalse']) > -=C2=A0=C2=A0=C2=A0 src_uri =3D [ensure_unpack_false(uri) for uri in src_= uri] > +=C2=A0=C2=A0=C2=A0 src_uri =3D [ensure_unpack_false(uri) for uri in src_= uri_exp] > =C2=A0=C2=A0=C2=A0=C2=A0 d.setVar('SRC_URI', ' '.join(src_uri)) > +=C2=A0=C2=A0=C2=A0 if src_uri_raw: > +=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 d.appendVarFlag('SRC_URI', 'v= ardepvalue', src_uri_raw) > =C2=A0} > =C2=A0 > =C2=A0# also breaks inherited (from dpkg-base) dependency on sbuild_chroo= t > --=20 > 2.39.2 >=20 --=20 Best regards, Uladzimir. --=20 You received this message because you are subscribed to the Google Groups "= isar-users" group. To unsubscribe from this group and stop receiving emails from it, send an e= mail to isar-users+unsubscribe@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/= isar-users/00df27852fd8647508ebcfd9a460e49970f90a76.camel%40ilbers.de. --=-yNq/JgD8qDpv1dzgtcVz Content-Disposition: attachment; filename="debug.log" Content-Type: text/x-log; name="debug.log"; charset="UTF-8" Content-Transfer-Encoding: base64 W3N0ZGxvZ10gMjAyNC0wNy0yMiAwOTo1NzowMyw5NzkgYXZvY2Fkby50ZXN0IHRlc3QgICAgICAg ICAgICAgTDAzMTMgSU5GTyB8IElOSVQgMS0vYnVpbGQvaXNhcl91Yl9kZXZlbC80NTMvdGVzdHN1 aXRlL2NpdGVzdC5weTpTc3RhdGVUZXN0LnRlc3Rfc3N0YXRlCltzdGRsb2ddIDIwMjQtMDctMjIg MDk6NTc6MDMsOTc5IGF2b2NhZG8udGVzdCBwYXJhbWV0ZXJzICAgICAgIEwwMTQxIERFQlVHfCBQ QVJBTVMgKGtleT10aW1lb3V0LCBwYXRoPSosIGRlZmF1bHQ9Tm9uZSkgPT4gTm9uZQpbc3RkbG9n XSAyMDI0LTA3LTIyIDA5OjU3OjAzLDk3OSBhdm9jYWRvLnRlc3QgcGFyYW1ldGVycyAgICAgICBM MDE0MSBERUJVR3wgUEFSQU1TIChrZXk9dGltZW91dF9mYWN0b3IsIHBhdGg9KiwgZGVmYXVsdD0x LjApID0+IDEuMApbc3RkbG9nXSAyMDI0LTA3LTIyIDA5OjU3OjAzLDk3OSBhdm9jYWRvLnRlc3Qg dGVzdCAgICAgICAgICAgICBMMDM0NSBERUJVR3wgVGVzdCBtZXRhZGF0YToKW3N0ZGxvZ10gMjAy NC0wNy0yMiAwOTo1NzowMyw5NzkgYXZvY2Fkby50ZXN0IHRlc3QgICAgICAgICAgICAgTDAzNDcg REVCVUd8ICAgZmlsZW5hbWU6IC9idWlsZC9pc2FyX3ViX2RldmVsLzQ1My90ZXN0c3VpdGUvY2l0 ZXN0LnB5CltzdGRsb2ddIDIwMjQtMDctMjIgMDk6NTc6MDMsOTc5IGF2b2NhZG8udGVzdCB0ZXN0 ICAgICAgICAgICAgIEwwMzUzIERFQlVHfCAgIHRlc3RzdG1wZGlyOiAvdmFyL3RtcC9hdm9jYWRv X2poeGw3dml4CltzdGRsb2ddIDIwMjQtMDctMjIgMDk6NTc6MDMsOTc5IGF2b2NhZG8udGVzdCB0 ZXN0ICAgICAgICAgICAgIEwwMzU0IERFQlVHfCAgIG9yaWdpbmFsIHRpbWVvdXQ6IE5vbmUKW3N0 ZGxvZ10gMjAyNC0wNy0yMiAwOTo1NzowMyw5NzkgYXZvY2Fkby50ZXN0IHRlc3QgICAgICAgICAg ICAgTDAzNTUgREVCVUd8ICAgdGltZW91dCBmYWN0b3I6IDEuMApbc3RkbG9nXSAyMDI0LTA3LTIy IDA5OjU3OjAzLDk3OSBhdm9jYWRvLnRlc3QgdGVzdCAgICAgICAgICAgICBMMDM1NiBERUJVR3wg ICBhY3R1YWwgdGltZW91dDogTm9uZQpbc3RkbG9nXSAyMDI0LTA3LTIyIDA5OjU3OjAzLDk4MCBh dm9jYWRvLnRlc3QgdGVzdCAgICAgICAgICAgICBMMDU0OCBJTkZPIHwgU1RBUlQgMS0vYnVpbGQv aXNhcl91Yl9kZXZlbC80NTMvdGVzdHN1aXRlL2NpdGVzdC5weTpTc3RhdGVUZXN0LnRlc3Rfc3N0 YXRlCltzdGRsb2ddIDIwMjQtMDctMjIgMDk6NTc6MDMsOTkzIGF2b2NhZG8udGVzdCBwYXJhbWV0 ZXJzICAgICAgIEwwMTQxIERFQlVHfCBQQVJBTVMgKGtleT1xdWlldCwgcGF0aD0qLCBkZWZhdWx0 PTEpID0+IDEKW3N0ZGxvZ10gMjAyNC0wNy0yMiAwOTo1NzowMyw5OTMgYXZvY2Fkby50ZXN0IGNp YnVpbGRlciAgICAgICAgTDAxMDcgSU5GTyB8ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQpbc3RkbG9nXSBDb25maWd1cmluZyBidWlsZF9kaXIgL2J1 aWxkL2lzYXJfdWJfZGV2ZWwvNDUzL2J1aWxkLXNzdGF0ZQpbc3RkbG9nXSAgIGNvbXBhdF9hcmNo ID0gVHJ1ZQpbc3RkbG9nXSAgIGNyb3NzID0gVHJ1ZQpbc3RkbG9nXSAgIGRlYnNyY19jYWNoZSA9 IEZhbHNlCltzdGRsb2ddICAgb2ZmbGluZSA9IEZhbHNlCltzdGRsb2ddICAgY29udGFpbmVyID0g RmFsc2UKW3N0ZGxvZ10gICBjY2FjaGUgPSBGYWxzZQpbc3RkbG9nXSAgIHNzdGF0ZSA9IFRydWUK W3N0ZGxvZ10gICBncGdfcHViX2tleSA9IE5vbmUKW3N0ZGxvZ10gICB3aWNfZGVwbG95X3BhcnRz ID0gRmFsc2UKW3N0ZGxvZ10gICBzb3VyY2VfZGF0ZV9lcG9jaCA9IE5vbmUgCltzdGRsb2ddICAg dXNlX2FwdF9zbmFwc2hvdCA9IEZhbHNlIApbc3RkbG9nXSAgIGRsX2RpciA9IC9idWlsZC9pc2Fy X3ViX2RldmVsLzQ1My9kb3dubG9hZHMKW3N0ZGxvZ10gICBzc3RhdGVfZGlyID0gCltzdGRsb2dd ICAgY2NhY2hlX2RpciA9ICR7VE9QRElSfS9jY2FjaGUKW3N0ZGxvZ10gICBpbWFnZV9pbnN0YWxs ID0gTm9uZQpbc3RkbG9nXSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT0KW3N0ZGxvZ10gMjAyNC0wNy0yMiAwOTo1NzowMyw5OTMgYXZvY2Fkby51dGls cy5wcm9jZXNzIHByb2Nlc3MgICAgICAgICAgTDA2NTcgSU5GTyB8IFJ1bm5pbmcgJy9idWlsZC9p c2FyX3ViX2RldmVsLzQ1My9zY3JpcHRzL2lzYXItc3N0YXRlIGxpbnQgL2J1aWxkL2lzYXJfdWJf ZGV2ZWwvNDUzL2J1aWxkLXNzdGF0ZS9zc3RhdGUtY2FjaGUgLS1idWlsZC1kaXIgL2J1aWxkL2lz YXJfdWJfZGV2ZWwvNDUzL2J1aWxkLXNzdGF0ZSAtLXNvdXJjZXMtZGlyIC9idWlsZC9pc2FyX3Vi X2RldmVsLzQ1MycKW3N0ZGxvZ10gMjAyNC0wNy0yMiAwOTo1NzowNCwyMzUgYXZvY2Fkby51dGls cy5wcm9jZXNzIHByb2Nlc3MgICAgICAgICAgTDA0NzMgREVCVUd8IFtzdGRlcnJdIFRyYWNlYmFj ayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KToKW3N0ZGxvZ10gMjAyNC0wNy0yMiAwOTo1NzowNCwy MzUgYXZvY2Fkby51dGlscy5wcm9jZXNzIHByb2Nlc3MgICAgICAgICAgTDA0NzMgREVCVUd8IFtz dGRlcnJdICAgRmlsZSAiL2J1aWxkL2lzYXJfdWJfZGV2ZWwvNDUzL3NjcmlwdHMvaXNhci1zc3Rh dGUiLCBsaW5lIDk0MCwgaW4gPG1vZHVsZT4KW3N0ZGxvZ10gMjAyNC0wNy0yMiAwOTo1NzowNCwy MzUgYXZvY2Fkby51dGlscy5wcm9jZXNzIHByb2Nlc3MgICAgICAgICAgTDA0NzMgREVCVUd8IFtz dGRlcnJdICAgICBzeXMuZXhpdChtYWluKCkpCltzdGRsb2ddIDIwMjQtMDctMjIgMDk6NTc6MDQs MjM1IGF2b2NhZG8udXRpbHMucHJvY2VzcyBwcm9jZXNzICAgICAgICAgIEwwNDczIERFQlVHfCBb c3RkZXJyXSAgICAgICAgICAgICAgXl5eXl5eCltzdGRsb2ddIDIwMjQtMDctMjIgMDk6NTc6MDQs MjM1IGF2b2NhZG8udXRpbHMucHJvY2VzcyBwcm9jZXNzICAgICAgICAgIEwwNDczIERFQlVHfCBb c3RkZXJyXSAgIEZpbGUgIi9idWlsZC9pc2FyX3ViX2RldmVsLzQ1My9zY3JpcHRzL2lzYXItc3N0 YXRlIiwgbGluZSA5MzYsIGluIG1haW4KW3N0ZGxvZ10gMjAyNC0wNy0yMiAwOTo1NzowNCwyMzUg YXZvY2Fkby51dGlscy5wcm9jZXNzIHByb2Nlc3MgICAgICAgICAgTDA0NzMgREVCVUd8IFtzdGRl cnJdICAgICByZXR1cm4gZ2xvYmFscygpW2Ync3N0YXRlX3thcmdzLmNvbW1hbmR9J10oKip2YXJz KGFyZ3MpKQpbc3RkbG9nXSAyMDI0LTA3LTIyIDA5OjU3OjA0LDIzNSBhdm9jYWRvLnV0aWxzLnBy b2Nlc3MgcHJvY2VzcyAgICAgICAgICBMMDQ3MyBERUJVR3wgW3N0ZGVycl0gICAgICAgICAgICBe Xl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eCltzdGRsb2dd IDIwMjQtMDctMjIgMDk6NTc6MDQsMjM1IGF2b2NhZG8udXRpbHMucHJvY2VzcyBwcm9jZXNzICAg ICAgICAgIEwwNDczIERFQlVHfCBbc3RkZXJyXSAgIEZpbGUgIi9idWlsZC9pc2FyX3ViX2RldmVs LzQ1My9zY3JpcHRzL2lzYXItc3N0YXRlIiwgbGluZSA4NzIsIGluIHNzdGF0ZV9saW50CltzdGRs b2ddIDIwMjQtMDctMjIgMDk6NTc6MDQsMjM1IGF2b2NhZG8udXRpbHMucHJvY2VzcyBwcm9jZXNz ICAgICAgICAgIEwwNDczIERFQlVHfCBbc3RkZXJyXSAgICAgdmFsID0gdmFsLmxzdHJpcCgpCltz dGRsb2ddIDIwMjQtMDctMjIgMDk6NTc6MDQsMjM1IGF2b2NhZG8udXRpbHMucHJvY2VzcyBwcm9j ZXNzICAgICAgICAgIEwwNDczIERFQlVHfCBbc3RkZXJyXSAgICAgICAgICAgXl5eXl5eXl5eXgpb c3RkbG9nXSAyMDI0LTA3LTIyIDA5OjU3OjA0LDIzNSBhdm9jYWRvLnV0aWxzLnByb2Nlc3MgcHJv Y2VzcyAgICAgICAgICBMMDQ3MyBERUJVR3wgW3N0ZGVycl0gQXR0cmlidXRlRXJyb3I6ICdOb25l VHlwZScgb2JqZWN0IGhhcyBubyBhdHRyaWJ1dGUgJ2xzdHJpcCcKW3N0ZGxvZ10gMjAyNC0wNy0y MiAwOTo1NzowNCwyNDkgYXZvY2Fkby51dGlscy5wcm9jZXNzIHByb2Nlc3MgICAgICAgICAgTDA3 MTQgSU5GTyB8IENvbW1hbmQgJy9idWlsZC9pc2FyX3ViX2RldmVsLzQ1My9zY3JpcHRzL2lzYXIt c3N0YXRlIGxpbnQgL2J1aWxkL2lzYXJfdWJfZGV2ZWwvNDUzL2J1aWxkLXNzdGF0ZS9zc3RhdGUt Y2FjaGUgLS1idWlsZC1kaXIgL2J1aWxkL2lzYXJfdWJfZGV2ZWwvNDUzL2J1aWxkLXNzdGF0ZSAt LXNvdXJjZXMtZGlyIC9idWlsZC9pc2FyX3ViX2RldmVsLzQ1MycgZmluaXNoZWQgd2l0aCAxIGFm dGVyIDAuMjU1MzQ0MTIxcwpbc3RkbG9nXSAyMDI0LTA3LTIyIDA5OjU3OjA0LDI0OSBhdm9jYWRv LnRlc3Qgc3RhY2t0cmFjZSAgICAgICBMMDA0MCBFUlJPUnwgCltzdGRsb2ddIDIwMjQtMDctMjIg MDk6NTc6MDQsMjQ5IGF2b2NhZG8udGVzdCBzdGFja3RyYWNlICAgICAgIEwwMDQyIEVSUk9SfCBS ZXByb2R1Y2VkIHRyYWNlYmFjayBmcm9tOiAvdXNyL2xpYi9weXRob24zL2Rpc3QtcGFja2FnZXMv YXZvY2Fkby9jb3JlL3Rlc3QucHk6NjM4CltzdGRsb2ddIDIwMjQtMDctMjIgMDk6NTc6MDQsMjUz IGF2b2NhZG8udGVzdCBzdGFja3RyYWNlICAgICAgIEwwMDQ5IEVSUk9SfCBUcmFjZWJhY2sgKG1v c3QgcmVjZW50IGNhbGwgbGFzdCk6CltzdGRsb2ddIDIwMjQtMDctMjIgMDk6NTc6MDQsMjUzIGF2 b2NhZG8udGVzdCBzdGFja3RyYWNlICAgICAgIEwwMDQ5IEVSUk9SfCAgIEZpbGUgIi9idWlsZC9p c2FyX3ViX2RldmVsLzQ1My90ZXN0c3VpdGUvY2l0ZXN0LnB5IiwgbGluZSAzMzMsIGluIHRlc3Rf c3N0YXRlCltzdGRsb2ddIDIwMjQtMDctMjIgMDk6NTc6MDQsMjUzIGF2b2NhZG8udGVzdCBzdGFj a3RyYWNlICAgICAgIEwwMDQ5IEVSUk9SfCAgICAgc2VsZi5wZXJmb3JtX3NzdGF0ZV90ZXN0KGlt YWdlX3RhcmdldCwgcGFja2FnZV90YXJnZXQpCltzdGRsb2ddIDIwMjQtMDctMjIgMDk6NTc6MDQs MjUzIGF2b2NhZG8udGVzdCBzdGFja3RyYWNlICAgICAgIEwwMDQ5IEVSUk9SfCAgIEZpbGUgIi9i dWlsZC9pc2FyX3ViX2RldmVsLzQ1My90ZXN0c3VpdGUvY2liYXNlLnB5IiwgbGluZSAxNzMsIGlu IHBlcmZvcm1fc3N0YXRlX3Rlc3QKW3N0ZGxvZ10gMjAyNC0wNy0yMiAwOTo1NzowNCwyNTMgYXZv Y2Fkby50ZXN0IHN0YWNrdHJhY2UgICAgICAgTDAwNDkgRVJST1J8ICAgICByZXN1bHQgPSBwcm9j ZXNzLnJ1bihmJ3tpc2FyX3Jvb3R9L3NjcmlwdHMvaXNhci1zc3RhdGUgbGludCB7c2VsZi5idWls ZF9kaXJ9L3NzdGF0ZS1jYWNoZSAnCltzdGRsb2ddIDIwMjQtMDctMjIgMDk6NTc6MDQsMjUzIGF2 b2NhZG8udGVzdCBzdGFja3RyYWNlICAgICAgIEwwMDQ5IEVSUk9SfCAgICAgICAgICAgICAgXl5e Xl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5e Xl5eXl5eXl5eXl5eXl5eXl5eXl5eXgpbc3RkbG9nXSAyMDI0LTA3LTIyIDA5OjU3OjA0LDI1MyBh dm9jYWRvLnRlc3Qgc3RhY2t0cmFjZSAgICAgICBMMDA0OSBFUlJPUnwgICBGaWxlICIvdXNyL2xp Yi9weXRob24zL2Rpc3QtcGFja2FnZXMvYXZvY2Fkby91dGlscy9wcm9jZXNzLnB5IiwgbGluZSAx MDEyLCBpbiBydW4KW3N0ZGxvZ10gMjAyNC0wNy0yMiAwOTo1NzowNCwyNTMgYXZvY2Fkby50ZXN0 IHN0YWNrdHJhY2UgICAgICAgTDAwNDkgRVJST1J8ICAgICByYWlzZSBDbWRFcnJvcihjbWQsIHNw LnJlc3VsdCkKW3N0ZGxvZ10gMjAyNC0wNy0yMiAwOTo1NzowNCwyNTMgYXZvY2Fkby50ZXN0IHN0 YWNrdHJhY2UgICAgICAgTDAwNDkgRVJST1J8IGF2b2NhZG8udXRpbHMucHJvY2Vzcy5DbWRFcnJv cjogQ29tbWFuZCAnL2J1aWxkL2lzYXJfdWJfZGV2ZWwvNDUzL3NjcmlwdHMvaXNhci1zc3RhdGUg bGludCAvYnVpbGQvaXNhcl91Yl9kZXZlbC80NTMvYnVpbGQtc3N0YXRlL3NzdGF0ZS1jYWNoZSAt LWJ1aWxkLWRpciAvYnVpbGQvaXNhcl91Yl9kZXZlbC80NTMvYnVpbGQtc3N0YXRlIC0tc291cmNl cy1kaXIgL2J1aWxkL2lzYXJfdWJfZGV2ZWwvNDUzJyBmYWlsZWQuCltzdGRsb2ddIDIwMjQtMDct MjIgMDk6NTc6MDQsMjUzIGF2b2NhZG8udGVzdCBzdGFja3RyYWNlICAgICAgIEwwMDQ5IEVSUk9S fCBzdGRvdXQ6IGInJwpbc3RkbG9nXSAyMDI0LTA3LTIyIDA5OjU3OjA0LDI1MyBhdm9jYWRvLnRl c3Qgc3RhY2t0cmFjZSAgICAgICBMMDA0OSBFUlJPUnwgc3RkZXJyOiBiJ1RyYWNlYmFjayAobW9z dCByZWNlbnQgY2FsbCBsYXN0KTpcbiAgRmlsZSAiL2J1aWxkL2lzYXJfdWJfZGV2ZWwvNDUzL3Nj cmlwdHMvaXNhci1zc3RhdGUiLCBsaW5lIDk0MCwgaW4gPG1vZHVsZT5cbiAgICBzeXMuZXhpdCht YWluKCkpXG4gICAgICAgICAgICAgXl5eXl5eXG4gIEZpbGUgIi9idWlsZC9pc2FyX3ViX2RldmVs LzQ1My9zY3JpcHRzL2lzYXItc3N0YXRlIiwgbGluZSA5MzYsIGluIG1haW5cbiAgICByZXR1cm4g Z2xvYmFscygpW2ZcJ3NzdGF0ZV97YXJncy5jb21tYW5kfVwnXSgqKnZhcnMoYXJncykpXG4gICAg ICAgICAgIF5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5c biAgRmlsZSAiL2J1aWxkL2lzYXJfdWJfZGV2ZWwvNDUzL3NjcmlwdHMvaXNhci1zc3RhdGUiLCBs aW5lIDg3MiwgaW4gc3N0YXRlX2xpbnRcbiAgICB2YWwgPSB2YWwubHN0cmlwKClcbiAgICAgICAg ICBeXl5eXl5eXl5eXG5BdHRyaWJ1dGVFcnJvcjogXCdOb25lVHlwZVwnIG9iamVjdCBoYXMgbm8g YXR0cmlidXRlIFwnbHN0cmlwXCdcbicKW3N0ZGxvZ10gMjAyNC0wNy0yMiAwOTo1NzowNCwyNTMg YXZvY2Fkby50ZXN0IHN0YWNrdHJhY2UgICAgICAgTDAwNDkgRVJST1J8IGFkZGl0aW9uYWxfaW5m bzogTm9uZQpbc3RkbG9nXSAyMDI0LTA3LTIyIDA5OjU3OjA0LDI1MyBhdm9jYWRvLnRlc3Qgc3Rh Y2t0cmFjZSAgICAgICBMMDA1MCBFUlJPUnwgCltzdGRsb2ddIDIwMjQtMDctMjIgMDk6NTc6MDQs MjUzIGF2b2NhZG8udGVzdCB0ZXN0ICAgICAgICAgICAgIEwwNjQyIERFQlVHfCBMb2NhbCB2YXJp YWJsZXM6CltzdGRsb2ddIDIwMjQtMDctMjIgMDk6NTc6MDQsMjY3IGF2b2NhZG8udGVzdCB0ZXN0 ICAgICAgICAgICAgIEwwNjQ1IERFQlVHfCAgLT4gc2VsZiA8Y2xhc3MgJ2NpdGVzdC5Tc3RhdGVU ZXN0Jz46IDEtL2J1aWxkL2lzYXJfdWJfZGV2ZWwvNDUzL3Rlc3RzdWl0ZS9jaXRlc3QucHk6U3N0 YXRlVGVzdC50ZXN0X3NzdGF0ZQpbc3RkbG9nXSAyMDI0LTA3LTIyIDA5OjU3OjA0LDI2NyBhdm9j YWRvLnRlc3QgdGVzdCAgICAgICAgICAgICBMMDY0NSBERUJVR3wgIC0+IGltYWdlX3RhcmdldCA8 Y2xhc3MgJ3N0cic+OiBtYzpxZW11YW1kNjQtYnVsbHNleWU6aXNhci1pbWFnZS1iYXNlCltzdGRs b2ddIDIwMjQtMDctMjIgMDk6NTc6MDQsMjY3IGF2b2NhZG8udGVzdCB0ZXN0ICAgICAgICAgICAg IEwwNjQ1IERFQlVHfCAgLT4gcGFja2FnZV90YXJnZXQgPGNsYXNzICdzdHInPjogbWM6cWVtdWFt ZDY0LWJ1bGxzZXllOmhlbGxvCltzdGRsb2ddIDIwMjQtMDctMjIgMDk6NTc6MDQsMjY4IGF2b2Nh ZG8udGVzdCB0ZXN0ICAgICAgICAgICAgIEwwNzE5IEVSUk9SfCBUcmFjZWJhY2sgKG1vc3QgcmVj ZW50IGNhbGwgbGFzdCk6CltzdGRsb2ddIDIwMjQtMDctMjIgMDk6NTc6MDQsMjY4IGF2b2NhZG8u dGVzdCB0ZXN0ICAgICAgICAgICAgIEwwNzE5IEVSUk9SfCAgIEZpbGUgIi91c3IvbGliL3B5dGhv bjMvZGlzdC1wYWNrYWdlcy9hdm9jYWRvL2NvcmUvdGVzdC5weSIsIGxpbmUgNjQ2LCBpbiBfcnVu X3Rlc3QKW3N0ZGxvZ10gICAgIHJhaXNlIGRldGFpbHMKW3N0ZGxvZ10gMjAyNC0wNy0yMiAwOTo1 NzowNCwyNjggYXZvY2Fkby50ZXN0IHRlc3QgICAgICAgICAgICAgTDA3MTkgRVJST1J8ICAgRmls ZSAiL3Vzci9saWIvcHl0aG9uMy9kaXN0LXBhY2thZ2VzL2F2b2NhZG8vY29yZS90ZXN0LnB5Iiwg bGluZSA2MzMsIGluIF9ydW5fdGVzdApbc3RkbG9nXSAgICAgdGVzdE1ldGhvZCgpCltzdGRsb2dd IDIwMjQtMDctMjIgMDk6NTc6MDQsMjY4IGF2b2NhZG8udGVzdCB0ZXN0ICAgICAgICAgICAgIEww NzE5IEVSUk9SfCAgIEZpbGUgIi9idWlsZC9pc2FyX3ViX2RldmVsLzQ1My90ZXN0c3VpdGUvY2l0 ZXN0LnB5IiwgbGluZSAzMzMsIGluIHRlc3Rfc3N0YXRlCltzdGRsb2ddICAgICBzZWxmLnBlcmZv cm1fc3N0YXRlX3Rlc3QoaW1hZ2VfdGFyZ2V0LCBwYWNrYWdlX3RhcmdldCkKW3N0ZGxvZ10gMjAy NC0wNy0yMiAwOTo1NzowNCwyNjggYXZvY2Fkby50ZXN0IHRlc3QgICAgICAgICAgICAgTDA3MTkg RVJST1J8ICAgRmlsZSAiL2J1aWxkL2lzYXJfdWJfZGV2ZWwvNDUzL3Rlc3RzdWl0ZS9jaWJhc2Uu cHkiLCBsaW5lIDE3MywgaW4gcGVyZm9ybV9zc3RhdGVfdGVzdApbc3RkbG9nXSAgICAgcmVzdWx0 ID0gcHJvY2Vzcy5ydW4oZid7aXNhcl9yb290fS9zY3JpcHRzL2lzYXItc3N0YXRlIGxpbnQge3Nl bGYuYnVpbGRfZGlyfS9zc3RhdGUtY2FjaGUgJwpbc3RkbG9nXSAgICAgICAgICAgICAgXl5eXl5e Xl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5e Xl5eXl5eXl5eXl5eXl5eXl5eXgpbc3RkbG9nXSAyMDI0LTA3LTIyIDA5OjU3OjA0LDI2OCBhdm9j YWRvLnRlc3QgdGVzdCAgICAgICAgICAgICBMMDcxOSBFUlJPUnwgICBGaWxlICIvdXNyL2xpYi9w eXRob24zL2Rpc3QtcGFja2FnZXMvYXZvY2Fkby91dGlscy9wcm9jZXNzLnB5IiwgbGluZSAxMDEy LCBpbiBydW4KW3N0ZGxvZ10gICAgIHJhaXNlIENtZEVycm9yKGNtZCwgc3AucmVzdWx0KQpbc3Rk bG9nXSAyMDI0LTA3LTIyIDA5OjU3OjA0LDI2OCBhdm9jYWRvLnRlc3QgdGVzdCAgICAgICAgICAg ICBMMDcxOSBFUlJPUnwgYXZvY2Fkby51dGlscy5wcm9jZXNzLkNtZEVycm9yOiBDb21tYW5kICcv YnVpbGQvaXNhcl91Yl9kZXZlbC80NTMvc2NyaXB0cy9pc2FyLXNzdGF0ZSBsaW50IC9idWlsZC9p c2FyX3ViX2RldmVsLzQ1My9idWlsZC1zc3RhdGUvc3N0YXRlLWNhY2hlIC0tYnVpbGQtZGlyIC9i dWlsZC9pc2FyX3ViX2RldmVsLzQ1My9idWlsZC1zc3RhdGUgLS1zb3VyY2VzLWRpciAvYnVpbGQv aXNhcl91Yl9kZXZlbC80NTMnIGZhaWxlZC4KW3N0ZGxvZ10gc3Rkb3V0OiBiJycKW3N0ZGxvZ10g c3RkZXJyOiBiJ1RyYWNlYmFjayAobW9zdCByZWNlbnQgY2FsbCBsYXN0KTpcbiAgRmlsZSAiL2J1 aWxkL2lzYXJfdWJfZGV2ZWwvNDUzL3NjcmlwdHMvaXNhci1zc3RhdGUiLCBsaW5lIDk0MCwgaW4g PG1vZHVsZT5cbiAgICBzeXMuZXhpdChtYWluKCkpXG4gICAgICAgICAgICAgXl5eXl5eXG4gIEZp bGUgIi9idWlsZC9pc2FyX3ViX2RldmVsLzQ1My9zY3JpcHRzL2lzYXItc3N0YXRlIiwgbGluZSA5 MzYsIGluIG1haW5cbiAgICByZXR1cm4gZ2xvYmFscygpW2ZcJ3NzdGF0ZV97YXJncy5jb21tYW5k fVwnXSgqKnZhcnMoYXJncykpXG4gICAgICAgICAgIF5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5e Xl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5cbiAgRmlsZSAiL2J1aWxkL2lzYXJfdWJfZGV2ZWwvNDUz L3NjcmlwdHMvaXNhci1zc3RhdGUiLCBsaW5lIDg3MiwgaW4gc3N0YXRlX2xpbnRcbiAgICB2YWwg PSB2YWwubHN0cmlwKClcbiAgICAgICAgICBeXl5eXl5eXl5eXG5BdHRyaWJ1dGVFcnJvcjogXCdO b25lVHlwZVwnIG9iamVjdCBoYXMgbm8gYXR0cmlidXRlIFwnbHN0cmlwXCdcbicKW3N0ZGxvZ10g YWRkaXRpb25hbF9pbmZvOiBOb25lCltzdGRsb2ddIDIwMjQtMDctMjIgMDk6NTc6MDQsMjY4IGF2 b2NhZG8udGVzdCB0ZXN0ICAgICAgICAgICAgIEwwNzQwIEVSUk9SfCBFUlJPUiAxLS9idWlsZC9p c2FyX3ViX2RldmVsLzQ1My90ZXN0c3VpdGUvY2l0ZXN0LnB5OlNzdGF0ZVRlc3QudGVzdF9zc3Rh dGUgLT4gQ21kRXJyb3I6IENvbW1hbmQgJy9idWlsZC9pc2FyX3ViX2RldmVsLzQ1My9zY3JpcHRz L2lzYXItc3N0YXRlIGxpbnQgL2J1aWxkL2lzYXJfdWJfZGV2ZWwvNDUzL2J1aWxkLXNzdGF0ZS9z c3RhdGUtY2FjaGUgLS1idWlsZC1kaXIgL2J1aWxkL2lzYXJfdWJfZGV2ZWwvNDUzL2J1aWxkLXNz dGF0ZSAtLXNvdXJjZXMtZGlyIC9idWlsZC9pc2FyX3ViX2RldmVsLzQ1MycgZmFpbGVkLgpbc3Rk bG9nXSBzdGRvdXQ6IGInJwpbc3RkbG9nXSBzdGRlcnI6IGInVHJhY2ViYWNrIChtb3N0IHJlY2Vu dCBjYWxsIGxhc3QpOlxuICBGaWxlICIvYnVpbGQvaXNhcl91Yl9kZXZlbC80NTMvc2NyaXB0cy9p c2FyLXNzdGF0ZSIsIGxpbmUgOTQwLCBpbiA8bW9kdWxlPlxuICAgIHN5cy5leGl0KG1haW4oKSlc biAgICAgICAgICAgICBeXl5eXl5cbiAgRmlsZSAiL2J1aWxkL2lzYXJfdWJfZGV2ZWwvNDUzL3Nj cmlwdHMvaXNhci1zc3RhdGUiLCBsaW5lIDkzNiwgaW4gbWFpblxuICAgIHJldHVybiBnbG9iYWxz KClbZlwnc3N0YXRlX3thcmdzLmNvbW1hbmR9XCddKCoqdmFycyhhcmdzKSlcbiAgICAgICAgICAg Xl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXlxuICBGaWxl ICIvYnVpbGQvaXNhcl91Yl9kZXZlbC80NTMvc2NyaXB0cy9pc2FyLXNzdGF0ZSIsIGxpbmUgODcy LCBpbiBzc3RhdGVfbGludFxuICAgIHZhbCA9IHZhbC5sc3RyaXAoKVxuICAgICAgICAgIF5eXl5e Xl5eXl5cbkF0dHJpYnV0ZUVycm9yOiBcJ05vbmVUeXBlXCcgb2JqZWN0IGhhcyBubyBhdHRyaWJ1 dGUgXCdsc3RyaXBcJ1xuJwpbc3RkbG9nXSBhZGRpdGlvbmFsX2luZm86IE5vbmUKW3N0ZGxvZ10g MjAyNC0wNy0yMiAwOTo1NzowNCwyNjggYXZvY2Fkby50ZXN0IHRlc3QgICAgICAgICAgICAgTDA3 MzMgSU5GTyB8IAo= --=-yNq/JgD8qDpv1dzgtcVz--