From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Jim Porter Newsgroups: gmane.emacs.bugs Subject: bug#30725: eshell: built-ins do not handle command substitution Date: Mon, 17 Jan 2022 11:41:47 -0800 Message-ID: References: <1fe5dea514d7a42c46ff8e80396ca3b1@riseup.net> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------D9B32FF233E20E7209303E28" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="23133"; mail-complaints-to="usenet@ciao.gmane.io" To: yegortimoshenko@riseup.net, 30725@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Mon Jan 17 20:43:15 2022 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1n9XuM-0005tR-Qu for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 17 Jan 2022 20:43:14 +0100 Original-Received: from localhost ([::1]:37818 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1n9XuL-0006pv-KK for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 17 Jan 2022 14:43:13 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:46208) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1n9XtC-0005lU-28 for bug-gnu-emacs@gnu.org; Mon, 17 Jan 2022 14:42:02 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]:55177) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1n9XtB-000670-MU for bug-gnu-emacs@gnu.org; Mon, 17 Jan 2022 14:42:01 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1n9XtB-0008Mh-LU for bug-gnu-emacs@gnu.org; Mon, 17 Jan 2022 14:42:01 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Jim Porter Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 17 Jan 2022 19:42:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 30725 X-GNU-PR-Package: emacs X-Debbugs-Original-To: Yegor Timoshenko , bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.164244852132149 (code B ref -1); Mon, 17 Jan 2022 19:42:01 +0000 Original-Received: (at submit) by debbugs.gnu.org; 17 Jan 2022 19:42:01 +0000 Original-Received: from localhost ([127.0.0.1]:48080 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n9XtA-0008MS-FS for submit@debbugs.gnu.org; Mon, 17 Jan 2022 14:42:00 -0500 Original-Received: from lists.gnu.org ([209.51.188.17]:37538) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n9Xt5-0008MI-6m for submit@debbugs.gnu.org; Mon, 17 Jan 2022 14:41:59 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:46176) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1n9Xt5-0005WA-0T for bug-gnu-emacs@gnu.org; Mon, 17 Jan 2022 14:41:55 -0500 Original-Received: from [2607:f8b0:4864:20::52e] (port=45619 helo=mail-pg1-x52e.google.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1n9Xt2-00064X-1G for bug-gnu-emacs@gnu.org; Mon, 17 Jan 2022 14:41:54 -0500 Original-Received: by mail-pg1-x52e.google.com with SMTP id c5so11759787pgk.12 for ; Mon, 17 Jan 2022 11:41:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=subject:to:references:from:message-id:date:mime-version:in-reply-to :content-language; bh=Qh1vGaVHFnnjq9PmVqNXshoZ/lr/DBUD/XK0LI34/XM=; b=fQljgBhtMNGjzMw3a5HQ7dZ6pTk54P7v7qh9ctXUlSWAImBvQrlPpRZrmwJdi9Soc/ +aNhDiNZoZpBFoiSU9ImuVU9dzlbaIlhAcb/mR+Inq4+SY5Y6zTRGTH6er1woyjfzZoG 7y14DgnE4B0+3necZFsM9EFNWPrap1aTVU6kM24LA3WWkW41lSyvvQ3P9E7l62pSdAXt DzXJv9oqDENpZb5cVkdi0z4633rrSDeqfJVjCel9C5WqOvl4Te4ZVUtIIVJSvmeM+dEe zHaPFdxf+z8FfSGi+uNoACfIhRNo2ONAwa6CxrOknoJhMF0Yih10qyJiICDOssv8j1gD rqMw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:subject:to:references:from:message-id:date :mime-version:in-reply-to:content-language; bh=Qh1vGaVHFnnjq9PmVqNXshoZ/lr/DBUD/XK0LI34/XM=; b=X9gkEkHdD1nV7w1vGui8QY8Z5/X5SCkXMdwsw/5IudAnFA43p3/z07bH/0DD5LXmcJ 8rd9TxKYbTecBzhZEeaF18jQLIhSUtOqFYHYFIB30taLZXbrYZtEmH0RiDK8qNv8DSxW cqDLSN/oCJAaGF42iAOIM1qWthjM2tcoRlv7Y1Iv9rCGRiZD+zSFRvqd4EH/1pH/EpGV PX7l5G5QNbyDeWT04SR8DlA4fTgs3D3NfBOFly8f8H5ce3yLIYTOQiwq33fTHOAZLHrd YEEzJWBo1yEWpR1BS6JOf/3QFtEC7kphz48BgKAJRqReVLhG/7/HITEfOiRjmSV9EOom Oj1Q== X-Gm-Message-State: AOAM532g99sbwdq1Ov7402h84xNj/Hg2g4oykV2CmqWhVti19pHwTAQv rI47MXdKGaw2d2TDqS7oHFlmqWy+T+3fDA== X-Google-Smtp-Source: ABdhPJymXUjgit9J44Q7EuaFwGV9x/oTwZGrUvkJ1GsVmd46g81muRrn113hylcqKtyw2Zd3L3l9dQ== X-Received: by 2002:a05:6a00:124c:b0:4ba:1288:67dc with SMTP id u12-20020a056a00124c00b004ba128867dcmr10940707pfi.43.1642448509397; Mon, 17 Jan 2022 11:41:49 -0800 (PST) Original-Received: from [192.168.1.2] (cpe-76-168-148-233.socal.res.rr.com. [76.168.148.233]) by smtp.googlemail.com with ESMTPSA id g14sm12733156pgp.76.2022.01.17.11.41.48 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 17 Jan 2022 11:41:48 -0800 (PST) In-Reply-To: <1fe5dea514d7a42c46ff8e80396ca3b1@riseup.net> Content-Language: en-US X-Host-Lookup-Failed: Reverse DNS lookup failed for 2607:f8b0:4864:20::52e (failed) Received-SPF: pass client-ip=2607:f8b0:4864:20::52e; envelope-from=jporterbugs@gmail.com; helo=mail-pg1-x52e.google.com X-Spam_score_int: -12 X-Spam_score: -1.3 X-Spam_bar: - X-Spam_report: (-1.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, PDS_HP_HELO_NORDNS=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RDNS_NONE=0.793, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:224478 Archived-At: This is a multi-part message in MIME format. --------------D9B32FF233E20E7209303E28 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit On 3/5/2018 8:34 PM, Yegor Timoshenko wrote: > In M-x eshell: > > $ which echo > eshell/echo is a compiled Lisp function in `em-basic.el'. > $ which *echo > /run/current-system/sw/bin/echo > $ echo ${mktemp -d} > $ *echo ${mktemp -d} > /tmp/tmp.UaiWQ0YPIX I can see this bug with an even simpler case too: "echo ${*echo hi}". It turns out that this is because `eshell-invoke-directly' thought that the above command was simple enough to, well, invoke directly. However, since "${mktemp -d}" or "${*echo hi}" create a subprocess, the command needs to be invoked *iteratively* by `eshell-eval-command'. The problem was that `eshell-invoke-directly' only checked the top-level command and didn't examine subcommands. Attached is a patch that fixes this, plus a unit test (I've verified that the test fails without the patch and passes with it). Note that the test *does* rely on the system having an external "echo" command, but I think some of the tests in that file already rely on the presence of an external "sleep" command, so this should be ok. However, if it causes issues on some systems (MS Windows maybe?), just let me know and I can try to put a guard around the test so it doesn't run on such systems. --------------D9B32FF233E20E7209303E28 Content-Type: text/plain; charset=UTF-8; name="0001-Consider-subcommands-when-deciding-to-invoke-Eshell-.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename*0="0001-Consider-subcommands-when-deciding-to-invoke-Eshell-.pa"; filename*1="tch" RnJvbSBkZDBiZWY2Y2Y3N2JjYzIwZjM3NGY2MzAwMzY3NTIxODI5MWE0NjM4IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gUG9ydGVyIDxqcG9ydGVyYnVnc0BnbWFpbC5j b20+CkRhdGU6IE1vbiwgMTcgSmFuIDIwMjIgMTE6Mjg6MTYgLTA4MDAKU3ViamVjdDogW1BB VENIXSBDb25zaWRlciBzdWJjb21tYW5kcyB3aGVuIGRlY2lkaW5nIHRvIGludm9rZSBFc2hl bGwgY29tbWFuZAogZGlyZWN0bHkKCldoZW4gYW4gRXNoZWxsIGNvbW1hbmQgY29udGFpbnMg YW4gYXN5bmNocm9ub3VzIHN1YmNvbW1hbmQgKHN1Y2ggYXMKY2FsbGluZyBhbiBleHRlcm5h bCBwcm9jZXNzKSwgaXQgbXVzdCBiZSBldmFsdWF0ZWQgaXRlcmF0aXZlbHkuICBTZWUKYnVn IzMwNzI1LgoKKiBsaXNwL2VzaGVsbC9lc2gtY21kLmVsIChlc2hlbGwtaW52b2tlLWNvbW1h bmQpOiBNb3ZlIG1vc3Qgb2YgdGhlCmxvZ2ljIGZyb20gaGVyZS4uLgooZXNoZWxsLS1pbnZv a2UtY29tbWFuZC1kaXJlY3RseSk6IC4uLiB0byBoZXJlLiBBbHNvIGFkZCBjaGVja3MgZm9y CnN1YmNvbW1hbmRzLgoKKiB0ZXN0L2xpc3AvZXNoZWxsL2VzaGVsbC10ZXN0cy5lbCAoZXNo ZWxsLXRlc3QtLW1heC1zdWJwcm9jZXNzLXRpbWUpOgpOZXcgdmFyaWFibGUuCihlc2hlbGwt d2FpdC1mb3Itc3VicHJvY2Vzcyk6IE5ldyBmdW5jdGlvbi4KKGVzaGVsbC1jb21tYW5kLXJl c3VsdC1wKTogVXNlICdlc2hlbGwtd2FpdC1mb3Itc3VicHJvY2VzcycuCihlc2hlbGwtdGVz dC9pbnRlcnAtY21kLWV4dGVybmFsKTogTmV3IHRlc3QuCi0tLQogbGlzcC9lc2hlbGwvZXNo LWNtZC5lbCAgICAgICAgICAgfCA1NyArKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0t LQogdGVzdC9saXNwL2VzaGVsbC9lc2hlbGwtdGVzdHMuZWwgfCAyMiArKysrKysrKysrKysK IDIgZmlsZXMgY2hhbmdlZCwgNjUgaW5zZXJ0aW9ucygrKSwgMTQgZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvbGlzcC9lc2hlbGwvZXNoLWNtZC5lbCBiL2xpc3AvZXNoZWxsL2VzaC1j bWQuZWwKaW5kZXggYTJkN2Q5NDMxYS4uMjVlM2E1YTIwNSAxMDA2NDQKLS0tIGEvbGlzcC9l c2hlbGwvZXNoLWNtZC5lbAorKysgYi9saXNwL2VzaGVsbC9lc2gtY21kLmVsCkBAIC05MDMs MjEgKzkwMyw1MCBAQCBwY29tcGxldGUvZXNoZWxsLW1vZGUvZXNoZWxsLWRlYnVnCiAgICJD b21wbGV0aW9uIGZvciB0aGUgYGRlYnVnJyBjb21tYW5kLiIKICAgKHdoaWxlIChwY29tcGxl dGUtaGVyZSAnKCJlcnJvcnMiICJjb21tYW5kcyIpKSkpCiAKKyhkZWZ1biBlc2hlbGwtLWlu dm9rZS1jb21tYW5kLWRpcmVjdGx5IChjb21tYW5kKQorICAiRGV0ZXJtaW5lIHdoZXRoZXIg dGhlIGdpdmVuIENPTU1BTkQgY2FuIGJlIGludm9rZWQgZGlyZWN0bHkuCitDT01NQU5EIHNo b3VsZCBiZSBhIG5vbi10b3AtbGV2ZWwgRXNoZWxsIGNvbW1hbmQgaW4gcGFyc2VkIGZvcm0u CisKK0EgY29tbWFuZCBjYW4gYmUgaW52b2tlZCBkaXJlY3RseSBpZiBhbGwgb2YgdGhlIGZv bGxvd2luZyBhcmUgdHJ1ZToKKworKiBUaGUgY29tbWFuZCBpcyBvZiB0aGUgZm9ybQorICBc Iihlc2hlbGwtdHJhcC1lcnJvcnMgKGVzaGVsbC1uYW1lZC1jb21tYW5kIE5BTUUgQVJHUykp XCIsCisgIHdoZXJlIEFSR1MgaXMgb3B0aW9uYWwuCisKKyogTkFNRSBpcyBhIHN0cmluZyBy ZWZlcnJpbmcgdG8gYW4gYWxpYXMgZnVuY3Rpb24gYW5kIGlzbid0IGEKKyAgY29tcGxleCBj b21tYW5kIChzZWUgYGVzaGVsbC1jb21wbGV4LWNvbW1hbmRzJykuCisKKyogQW55IGFyZ3Vt ZW50IGluIEFSR1MgdGhhdCBjYWxscyBhIHN1YmNvbW1hbmQgY2FuIGFsc28gYmUKKyAgaW52 b2tlZCBkaXJlY3RseS4iCisgICh3aGVuIChhbmQgKGVxIChjYXIgY29tbWFuZCkgJ2VzaGVs bC10cmFwLWVycm9ycykKKyAgICAgICAgICAgICAoZXEgKGNhciAoY2FkciBjb21tYW5kKSkg J2VzaGVsbC1uYW1lZC1jb21tYW5kKSkKKyAgICAobGV0ICgobmFtZSAoY2FkciAoY2FkciBj b21tYW5kKSkpCisgICAgICAgICAgKGFyZ3MgKGNkci1zYWZlIChudGggMiAoY2FkciBjb21t YW5kKSkpKSkKKyAgICAgIChhbmQgbmFtZSAoc3RyaW5ncCBuYW1lKQorCSAgIChub3QgKG1l bWJlciBuYW1lIGVzaGVsbC1jb21wbGV4LWNvbW1hbmRzKSkKKwkgICAoY2F0Y2ggJ3NpbXBs ZQorCSAgICAgKGRvbGlzdCAocHJlZCBlc2hlbGwtY29tcGxleC1jb21tYW5kcyB0KQorCSAg ICAgICAod2hlbiAoYW5kIChmdW5jdGlvbnAgcHJlZCkKKwkJICAgICAgICAgIChmdW5jYWxs IHByZWQgbmFtZSkpCisJICAgICAgICAgKHRocm93ICdzaW1wbGUgbmlsKSkpKQorCSAgIChl c2hlbGwtZmluZC1hbGlhcy1mdW5jdGlvbiBuYW1lKQorICAgICAgICAgICAoY2F0Y2ggJ2lu ZGlyZWN0LXN1YmNvbW1hbmQKKwkgICAgIChkb2xpc3QgKGFyZyBhcmdzIHQpCisgICAgICAg ICAgICAgICAocGNhc2UgYXJnCisgICAgICAgICAgICAgICAgIChgKGVzaGVsbC1lc2NhcGUt YXJnCisgICAgICAgICAgICAgICAgICAgIChsZXQgLF8KKyAgICAgICAgICAgICAgICAgICAg ICAoZXNoZWxsLWNvbnZlcnQKKyAgICAgICAgICAgICAgICAgICAgICAgKGVzaGVsbC1jb21t YW5kLXRvLXZhbHVlCisgICAgICAgICAgICAgICAgICAgICAgICAoZXNoZWxsLWFzLXN1YmNv bW1hbmQgLHN1YmNvbW1hbmQpKSkpKQorICAgICAgICAgICAgICAgICAgKHVubGVzcyAoZXNo ZWxsLS1pbnZva2UtY29tbWFuZC1kaXJlY3RseSBzdWJjb21tYW5kKQorICAgICAgICAgICAg ICAgICAgICAodGhyb3cgJ2luZGlyZWN0LXN1YmNvbW1hbmQgbmlsKSkpKSkpKSkpKQorCiAo ZGVmdW4gZXNoZWxsLWludm9rZS1kaXJlY3RseSAoY29tbWFuZCkKLSAgKGxldCAoKGJhc2Ug KGNhZHIgKG50aCAyIChudGggMiAoY2FkciBjb21tYW5kKSkpKSkgbmFtZSkKLSAgICAoaWYg KGFuZCAoZXEgKGNhciBiYXNlKSAnZXNoZWxsLXRyYXAtZXJyb3JzKQotCSAgICAgKGVxIChj YXIgKGNhZHIgYmFzZSkpICdlc2hlbGwtbmFtZWQtY29tbWFuZCkpCi0JKHNldHEgbmFtZSAo Y2FkciAoY2FkciBiYXNlKSkpKQotICAgIChhbmQgbmFtZSAoc3RyaW5ncCBuYW1lKQotCSAo bm90IChtZW1iZXIgbmFtZSBlc2hlbGwtY29tcGxleC1jb21tYW5kcykpCi0JIChjYXRjaCAn c2ltcGxlCi0JICAgKHByb2duCi0JICAgIChkb2xpc3QgKHByZWQgZXNoZWxsLWNvbXBsZXgt Y29tbWFuZHMpCi0JICAgICAgKGlmIChhbmQgKGZ1bmN0aW9ucCBwcmVkKQotCQkgICAgICAg KGZ1bmNhbGwgcHJlZCBuYW1lKSkKLQkJICAodGhyb3cgJ3NpbXBsZSBuaWwpKSkKLQkgICAg dCkpCi0JIChlc2hlbGwtZmluZC1hbGlhcy1mdW5jdGlvbiBuYW1lKSkpKQorICAiRGV0ZXJt aW5lIHdoZXRoZXIgdGhlIGdpdmVuIENPTU1BTkQgY2FuIGJlIGludm9rZWQgZGlyZWN0bHku CitDT01NQU5EIHNob3VsZCBiZSBhIHRvcC1sZXZlbCBFc2hlbGwgY29tbWFuZCBpbiBwYXJz ZWQgZm9ybSwgYXMKK3Byb2R1Y2VkIGJ5IGBlc2hlbGwtcGFyc2UtY29tbWFuZCcuIgorICAo bGV0ICgoYmFzZSAoY2FkciAobnRoIDIgKG50aCAyIChjYWRyIGNvbW1hbmQpKSkpKSkKKyAg ICAoZXNoZWxsLS1pbnZva2UtY29tbWFuZC1kaXJlY3RseSBiYXNlKSkpCiAKIChkZWZ1biBl c2hlbGwtZXZhbC1jb21tYW5kIChjb21tYW5kICZvcHRpb25hbCBpbnB1dCkKICAgIkV2YWx1 YXRlIHRoZSBnaXZlbiBDT01NQU5EIGl0ZXJhdGl2ZWx5LiIKZGlmZiAtLWdpdCBhL3Rlc3Qv bGlzcC9lc2hlbGwvZXNoZWxsLXRlc3RzLmVsIGIvdGVzdC9saXNwL2VzaGVsbC9lc2hlbGwt dGVzdHMuZWwKaW5kZXggYWVmMTQ0NzkwNy4uOWNjOTk3YzRjZiAxMDA2NDQKLS0tIGEvdGVz dC9saXNwL2VzaGVsbC9lc2hlbGwtdGVzdHMuZWwKKysrIGIvdGVzdC9saXNwL2VzaGVsbC9l c2hlbGwtdGVzdHMuZWwKQEAgLTMwLDYgKzMwLDEwIEBACiAocmVxdWlyZSAnZXNoLW1vZGUp CiAocmVxdWlyZSAnZXNoZWxsKQogCisoZGVmdmFyIGVzaGVsbC10ZXN0LS1tYXgtc3VicHJv Y2Vzcy10aW1lIDUKKyAgIlRoZSBtYXhpbXVtIGFtb3VudCBvZiB0aW1lIHRvIHdhaXQgZm9y IGEgc3VicHJvY2VzcyB0byBmaW5pc2gsIGluIHNlY29uZHMuCitTZWUgYGVzaGVsbC13YWl0 LWZvci1zdWJwcm9jZXNzJy4iKQorCiAoZGVmbWFjcm8gd2l0aC10ZW1wLWVzaGVsbCAoJnJl c3QgYm9keSkKICAgIkV2YWx1YXRlIEJPRFkgaW4gYSB0ZW1wb3JhcnkgRXNoZWxsIGJ1ZmZl ci4iCiAgIGAoZXJ0LXdpdGgtdGVtcC1kaXJlY3RvcnkgZXNoZWxsLWRpcmVjdG9yeS1uYW1l CkBAIC00NCw2ICs0OCwxNyBAQCB3aXRoLXRlbXAtZXNoZWxsCiAgICAgICAgICAobGV0IChr aWxsLWJ1ZmZlci1xdWVyeS1mdW5jdGlvbnMpCiAgICAgICAgICAgIChraWxsLWJ1ZmZlciBl c2hlbGwtYnVmZmVyKSkpKSkpCiAKKyhkZWZ1biBlc2hlbGwtd2FpdC1mb3Itc3VicHJvY2Vz cyAoKQorICAiV2FpdCB1bnRpbCB0aGVyZSBpcyBubyBpbnRlcmFjdGl2ZSBzdWJwcm9jZXNz IHJ1bm5pbmcgaW4gRXNoZWxsLgorSWYgdGhpcyB0YWtlcyBsb25nZXIgdGhhbiBgZXNoZWxs LXRlc3QtLW1heC1zdWJwcm9jZXNzLXRpbWUnLAorcmFpc2UgYW4gZXJyb3IuIgorICAobGV0 ICgoc3RhcnQgKGN1cnJlbnQtdGltZSkpKQorICAgICh3aGlsZSAoZXNoZWxsLWludGVyYWN0 aXZlLXByb2Nlc3MpCisgICAgICAod2hlbiAoPiAoZmxvYXQtdGltZSAodGltZS1zaW5jZSBz dGFydCkpCisgICAgICAgICAgICAgICBlc2hlbGwtdGVzdC0tbWF4LXN1YnByb2Nlc3MtdGlt ZSkKKyAgICAgICAgKGVycm9yICJ0aW1lZCBvdXQgd2FpdGluZyBmb3Igc3VicHJvY2VzcyIp KQorICAgICAgKHNpdC1mb3IgMC4xKSkpKQorCiAoZGVmdW4gZXNoZWxsLWluc2VydC1jb21t YW5kICh0ZXh0ICZvcHRpb25hbCBmdW5jKQogICAiSW5zZXJ0IGEgY29tbWFuZCBhdCB0aGUg ZW5kIG9mIHRoZSBidWZmZXIuIgogICAoZ290by1jaGFyIGVzaGVsbC1sYXN0LW91dHB1dC1l bmQpCkBAIC01OSw2ICs3NCw3IEBAIGVzaGVsbC1tYXRjaC1yZXN1bHQKIChkZWZ1biBlc2hl bGwtY29tbWFuZC1yZXN1bHQtcCAodGV4dCByZWdleHAgJm9wdGlvbmFsIGZ1bmMpCiAgICJJ bnNlcnQgYSBjb21tYW5kIGF0IHRoZSBlbmQgb2YgdGhlIGJ1ZmZlci4iCiAgIChlc2hlbGwt aW5zZXJ0LWNvbW1hbmQgdGV4dCBmdW5jKQorICAoZXNoZWxsLXdhaXQtZm9yLXN1YnByb2Nl c3MpCiAgIChlc2hlbGwtbWF0Y2gtcmVzdWx0IHJlZ2V4cCkpCiAKIChkZWZ2YXIgZXNoZWxs LWhpc3RvcnktZmlsZS1uYW1lKQpAQCAtMTQ0LDYgKzE2MCwxMiBAQCBlc2hlbGwtdGVzdC9p bnRlcnAtY29uY2F0LWxpc3AyCiAgICJJbnRlcnBvbGF0ZSBhbmQgY29uY2F0IHR3byBMaXNw IGZvcm1zIgogICAoc2hvdWxkIChlcXVhbCAoZXNoZWxsLXRlc3QtY29tbWFuZC1yZXN1bHQg IisgJCgrIDEgMikkKCsgMSAyKSAzIikgMzYpKSkKIAorKGVydC1kZWZ0ZXN0IGVzaGVsbC10 ZXN0L2ludGVycC1jbWQtZXh0ZXJuYWwgKCkKKyAgIkludGVycG9sYXRlIGNvbW1hbmQgcmVz dWx0IGZyb20gZXh0ZXJuYWwgY29tbWFuZCIKKyAgKHdpdGgtdGVtcC1lc2hlbGwKKyAgIChl c2hlbGwtY29tbWFuZC1yZXN1bHQtcCAiZWNobyAkeyplY2hvIGhpfSIKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAiaGlcbiIpKSkKKwogKGVydC1kZWZ0ZXN0IGVzaGVsbC10ZXN0 L3dpbmRvdy1oZWlnaHQgKCkKICAgIiRMSU5FUyBzaG91bGQgZXF1YWwgKHdpbmRvdy1oZWln aHQpIgogICAoc2hvdWxkIChlc2hlbGwtdGVzdC1jb21tYW5kLXJlc3VsdCAiPSAkTElORVMg KHdpbmRvdy1oZWlnaHQpIikpKQotLSAKMi4yNS4xCgo= --------------D9B32FF233E20E7209303E28--