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#59545: 29.0.50; Eshell fails to redirect output of sourced eshell file Date: Sat, 24 Dec 2022 17:36:46 -0800 Message-ID: References: <9f56f995-c03d-a10e-ac18-b873af8589dc@gmail.com> <87o7rx5bfk.fsf@gmx.de> <83h6xoa77r.fsf@gnu.org> <0dfbb64b-1828-903e-9630-12c29f21efc1@gmail.com> <13f7119d-9960-1936-9014-2147e9bd1db9@gmail.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------bUg6IU46CerKnfyAKVsfX9Tg" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="17895"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 59545@debbugs.gnu.org, milan.zimmermann@gmail.com, michael.albinus@gmx.de To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sun Dec 25 02:38:22 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 1p9Fy1-0004RA-Jl for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 25 Dec 2022 02:38:21 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1p9Fxk-0008MF-AO; Sat, 24 Dec 2022 20:38:04 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1p9Fxi-0008M2-UY for bug-gnu-emacs@gnu.org; Sat, 24 Dec 2022 20:38:02 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1p9Fxi-00080d-G1 for bug-gnu-emacs@gnu.org; Sat, 24 Dec 2022 20:38:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1p9Fxi-00070J-6T for bug-gnu-emacs@gnu.org; Sat, 24 Dec 2022 20:38:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Jim Porter Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 25 Dec 2022 01:38:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 59545 X-GNU-PR-Package: emacs Original-Received: via spool by 59545-submit@debbugs.gnu.org id=B59545.167193222226647 (code B ref 59545); Sun, 25 Dec 2022 01:38:02 +0000 Original-Received: (at 59545) by debbugs.gnu.org; 25 Dec 2022 01:37:02 +0000 Original-Received: from localhost ([127.0.0.1]:47364 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p9Fwj-0006vN-AJ for submit@debbugs.gnu.org; Sat, 24 Dec 2022 20:37:02 -0500 Original-Received: from mail-pl1-f176.google.com ([209.85.214.176]:46683) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1p9Fwg-0006ug-6M for 59545@debbugs.gnu.org; Sat, 24 Dec 2022 20:36:59 -0500 Original-Received: by mail-pl1-f176.google.com with SMTP id jn22so8109145plb.13 for <59545@debbugs.gnu.org>; Sat, 24 Dec 2022 17:36:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=in-reply-to:references:cc:to:from:content-language:subject :mime-version:date:message-id:from:to:cc:subject:date:message-id :reply-to; bh=W/rJYHNT+rvfESvOLRezetO/tXOUsZo7uEigibnEqTg=; b=CQZ/Ib8F4k46mNaoCpY5V13RRnv/2xG87Z+nRrA6eZwzzpnsvZdbYKyNLNSG5KKu01 q3S43zMAhN8R6K23yUzWfNjfgvc1o9jhfy3zPV5klfhlZyNrjxrgm7kEfZeCUnkcH6CK fMOW5et400mG2OlNIpEE0PkXwAx+mw6G3QSHxpDJBIAX8wv8ExFbEoxzDRYe1uPVbX6f JmQ6trL+Gt+AvHLoEq/ccikFBEsPHWecrS2Y7EQyOa2BfEHLI1YTDxr+pe/RLjt6PYnc jSWMBHCDM7u7V5SZiYZArsxFnv5LAdILKPXa5fYDA2oeLijWmBw2Y5npv65ZcX3bZEpi lXXw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=in-reply-to:references:cc:to:from:content-language:subject :mime-version:date:message-id:x-gm-message-state:from:to:cc:subject :date:message-id:reply-to; bh=W/rJYHNT+rvfESvOLRezetO/tXOUsZo7uEigibnEqTg=; b=bBwFg+TImrlleykVvtHUfEdIVW9Cy2Gc3Alxxn3wRnabu2Ggf/A6DRnWMPMAX1qa24 WPWS1D5yTmo1VSHy74ZmjYKLbxPwpjmE7ZhC/ftuAr65XEtLl1hd5PaBWTf1cNZvIdjf H6VKVy2rtFNnc8jJjZY2VIja8MJQcbOgiDKZwOH0WYaYLCBwhST++nn9Hn4AAup84eNY gKix1+Z8DmU87Z7h2smD48fpzYmpw+brvNW9e36yHN0hYyEyIk6mAdxZxMdCKqQCdr3R tqWTJDbyAI3lCOPGlucP29/ufMQKqZhEN/k9a2BaTNllbpITExnQgyiAG7pxUdRw84xj EGnw== X-Gm-Message-State: AFqh2koEQpZOOQUcFqit4emnLFL42w2Uf15uxokIvjyzODCG2/0USeC/ xUVcKFb+FqiYfM/c7jTa6J4= X-Google-Smtp-Source: AMrXdXs0UnUnIeqU0PTEgeoizIWhW0j6Ce60ftjJd1L9ATuGkOElJ5sMR1eHeRd5L1JjYIRdqKmRNg== X-Received: by 2002:a05:6a20:a58e:b0:9f:421c:fdd8 with SMTP id bc14-20020a056a20a58e00b0009f421cfdd8mr19786513pzb.19.1671932212231; Sat, 24 Dec 2022 17:36:52 -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 t16-20020a634610000000b00473c36ea150sm4104315pga.92.2022.12.24.17.36.49 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 24 Dec 2022 17:36:50 -0800 (PST) Content-Language: en-US In-Reply-To: <13f7119d-9960-1936-9014-2147e9bd1db9@gmail.com> 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-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:251824 Archived-At: This is a multi-part message in MIME format. --------------bUg6IU46CerKnfyAKVsfX9Tg Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 12/23/2022 11:29 PM, Jim Porter wrote: > I found a problem with the patch on master: > >   ~ $ {echo hello; echo world} | rev >   olleh  ;; "dlrow" is missing! > > This happens because the way I'm copying output handles around results > in EOF being sent to "rev" after "echo hello". Attached is a patch to fix this. I'm going to look into adding more test cases if I can think of any before merging this. I'll also see if I can fix the FIXME comment I added, but this is a part of Eshell that's fairly brittle, and I think the *real* fix for that is moving to running Eshell commands in a separate thread, as discussed on emacs-devel. (I have a very WIP patch for this that already works surprisingly well, but it's going to require a lot more work before it's even worth making a feature branch.) --------------bUg6IU46CerKnfyAKVsfX9Tg Content-Type: text/plain; charset=UTF-8; name="0001-Fix-reference-counting-of-Eshell-I-O-handles.patch" Content-Disposition: attachment; filename="0001-Fix-reference-counting-of-Eshell-I-O-handles.patch" Content-Transfer-Encoding: base64 RnJvbSA3YzJhMDg3Zjc1MzRkNzA4OTNjZDUzM2M0MmEzYTdjNzg2ODJjYjlhIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gUG9ydGVyIDxqcG9ydGVyYnVnc0BnbWFpbC5j b20+CkRhdGU6IFNhdCwgMjQgRGVjIDIwMjIgMTQ6MzE6NTAgLTA4MDAKU3ViamVjdDogW1BB VENIXSBGaXggcmVmZXJlbmNlLWNvdW50aW5nIG9mIEVzaGVsbCBJL08gaGFuZGxlcwoKVGhp cyBlbnN1cmVzIHRoYXQgb3V0cHV0IHRhcmdldHMgaW4gRXNoZWxsIGFyZSBvbmx5IGNsb3Nl ZCB3aGVuIEVzaGVsbAppcyBhY3R1YWxseSBkb25lIHdpdGggdGhlbS4gIEluIHBhcnRpY3Vs YXIsIHRoaXMgbWVhbnMgdGhhdAoieyBlY2hvIGZvbzsgZWNobyBiYXIgfSB8IHJldiIgcHJp bnRzICJyYWJvb2YiIGFzIGV4cGVjdGVkCihidWcjNTk1NDUpLgoKKiBsaXNwL2VzaGVsbC9l c2gtaW8uZWwgKGVzaGVsbC1jcmVhdGUtaGFuZGxlcyk6IFN0cnVjdHVyZSB0aGUgaGFuZGxl cwpkaWZmZXJlbnRseSBzbyB0aGUgdGFyZ2V0cyBhbmQgdGhlaXIgcmVmLWNvdW50IGNhbiBi ZSBzaGFyZWQuCihlc2hlbGwtZHVwbGljYXRlLWhhbmRsZXMpOiBSZWltcGxlbWVudCB0aGlz IHRvIHNoYXJlIHRhcmdldHMgYmV0d2Vlbgp0aGUgb3JpZ2luYWwgYW5kIG5ldyBoYW5kbGUg c2V0cy4gIEFkZCBTVEVBTC1QIGFyZ3VtZW50LgooZXNoZWxsLXByb3RlY3QtaGFuZGxlcywg ZXNoZWxsLWNsb3NlLWhhbmRsZXMpCihlc2hlbGwtc2V0LW91dHB1dC1oYW5kbGUsIGVzaGVs bC1jb3B5LW91dHB1dC1oYW5kbGUpCihlc2hlbGwtaW50ZXJhY3RpdmUtb3V0cHV0LXAsIGVz aGVsbC1vdXRwdXQtb2JqZWN0KTogQWNjb3VudCBmb3IKY2hhbmdlcyB0byB0aGUgaGFuZGxl IHN0cnVjdHVyZS4KKGVzaGVsbC1nZXQtdGFyZ2V0cyk6IFJlbW92ZS4gIFRoaXMgb25seSBl eGlzdGVkIHRvIG1ha2UgdGhlIHByZXZpb3VzCmltcGxlbWVudGF0aW9uIG9mICdlc2hlbGwt ZHVwbGljYXRlLWhhbmRsZXMnIHdvcmsuCgoqIGxpc3AvZXNoZWxsL2VzaC1jbWQuZWwgKGVz aGVsbC13aXRoLWNvcGllZC1oYW5kbGVzKTogTmV3IGFyZ3VtZW50ClNURUFMLVAuCihlc2hl bGwtZG8tcGlwZWxpbmVzKTogVXNlIFNURUFMLVAgZm9yIHRoZSBsYXN0IGl0ZW0gaW4gdGhl IHBpcGVsaW5lLgooZXNoZWxsLXBhcnNlLWNvbW1hbmQpOiBEb24ndCBjb3B5IGhhbmRsZXMg Zm9yIHRoZSBsYXN0IGNvbW1hbmQgaW4gdGhlCmxpc3Q7IGV4cGxhaW4gd2h5IHdlIGNhbid0 IHVzZSBTVEVBTC1QIGhlcmUuCgoqIHRlc3QvbGlzcC9lc2hlbGwvZW0tZXh0cGlwZS10ZXN0 cy5lbCAoZW0tZXh0cGlwZS10ZXN0cy0tZGVmdGVzdCkKKiB0ZXN0L2xpc3AvZXNoZW1tL2Vt LXRyYW1wLXRlc3RzLmVsIChlbS10cmFtcC10ZXN0L3N1LWRlZmF1bHQpCihlbS10cmFtcC10 ZXN0L3N1LXVzZXIsIGVtLXRyYW1wLXRlc3Qvc3UtbG9naW4pCihlbS10cmFtcC10ZXN0L3N1 ZG8tc2hlbGwsIGVtLXRyYW1wLXRlc3Qvc3Vkby11c2VyLXNoZWxsKQooZW0tdHJhbXAtdGVz dC9kb2FzLXNoZWxsLCBlbS10cmFtcC10ZXN0L2RvYXMtdXNlci1zaGVsbCk6IEFjY291bnQg Zm9yCmNoYW5nZXMgdG8gdGhlIGhhbmRsZSBzdHJ1Y3R1cmUuCgoqIHRlc3QvbGlzcC9lc2hl bGwvZXNoLWlvLXRlc3RzLmVsIChlc2gtaW8tdGVzdC9yZWRpcmVjdC1waXBlKTogU3BsaXQK aW50by4uLgooZXNoLWlvLXRlc3QvcGlwZWxpbmUvZGVmYXVsdCwgZXNoLWlvLXRlc3QvcGlw ZWxpbmUvYWxsKTogLi4uIHRoZXNlLgooZXNoLWlvLXRlc3QvcGlwZWxpbmUvc3ViY29tbWFu ZHMpOiBOZXcgdGVzdC4KLS0tCiBsaXNwL2VzaGVsbC9lc2gtY21kLmVsICAgICAgICAgICAg ICAgfCAgMjIgKysrKy0tCiBsaXNwL2VzaGVsbC9lc2gtaW8uZWwgICAgICAgICAgICAgICAg fCAxMDYgKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tCiB0ZXN0L2xpc3AvZXNoZWxsL2Vt LWV4dHBpcGUtdGVzdHMuZWwgfCAgIDIgKy0KIHRlc3QvbGlzcC9lc2hlbGwvZW0tdHJhbXAt dGVzdHMuZWwgICB8ICA3NSArKysrKysrKystLS0tLS0tLS0tCiB0ZXN0L2xpc3AvZXNoZWxs L2VzaC1pby10ZXN0cy5lbCAgICAgfCAgMjMgKysrKy0tCiA1IGZpbGVzIGNoYW5nZWQsIDEy NyBpbnNlcnRpb25zKCspLCAxMDEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGlzcC9l c2hlbGwvZXNoLWNtZC5lbCBiL2xpc3AvZXNoZWxsL2VzaC1jbWQuZWwKaW5kZXggNzk5NTdh ZWI0MTYuLjQ0MjA2NTc0ODhiIDEwMDY0NAotLS0gYS9saXNwL2VzaGVsbC9lc2gtY21kLmVs CisrKyBiL2xpc3AvZXNoZWxsL2VzaC1jbWQuZWwKQEAgLTQxOSwxMCArNDE5LDEyIEBAIGVz aGVsbC1wYXJzZS1jb21tYW5kCiAgICAgKGxldCAoKGNtZCBjb21tYW5kcykpCiAgICAgICAo d2hpbGUgY21kCiAgICAgICAgIDs7IENvcHkgSS9PIGhhbmRsZXMgc28gZWFjaCBmdWxsIHN0 YXRlbWVudCBjYW4gbWFuaXB1bGF0ZSB0aGVtCi0gICAgICAgIDs7IGlmIHRoZXkgbGlrZS4g IEFzIGEgc21hbGwgb3B0aW1pemF0aW9uLCBza2lwIHRoaXMgZm9yIHRoZQotICAgICAgICA7 OyBsYXN0IHRvcC1sZXZlbCBvbmU7IHdlIHdvbid0IHVzZSB0aGVzZSBoYW5kbGVzIGFnYWlu Ci0gICAgICAgIDs7IGFueXdheS4KLSAgICAgICAgKHdoZW4gKG9yIChub3QgdG9wbGV2ZWwp IChjZHIgY21kKSkKKyAgICAgICAgOzsgaWYgdGhleSBsaWtlLiAgU2tpcCB0aGlzIGZvciB0 aGUgbGFzdCBjb21tYW5kIGluIHRoZSBsaXN0CisgICAgICAgIDs7IHRob3VnaDsgd2Ugd29u J3QgdXNlIHRoZXNlIGhhbmRsZXMgYWdhaW4gYW55d2F5LgorICAgICAgICA7OyBGSVhNRTog V2UgY291bGQganVzdCBjYWxsIGBlc2hlbGwtd2l0aC1jb3BpZWQtaGFuZGxlcycgd2l0aAor ICAgICAgICA7OyBhIG5vbi1uaWwgU1RFQUwtUCBhcmd1bWVudCBoZXJlLCBleGNlcHQgdGhh dCB0aGlzIGNvbmZ1c2VzCisgICAgICAgIDs7IEVzaGVsbCdzIGl0ZXJhdGl2ZSBldmFsdWF0 aW9uIHdoZW4gcXVldWluZyBpbnB1dC4KKyAgICAgICAgKHdoZW4gKGNkciBjbWQpCiAJICAo c2V0Y2FyIGNtZCBgKGVzaGVsbC13aXRoLWNvcGllZC1oYW5kbGVzICwoY2FyIGNtZCkpKSkK IAkoc2V0cSBjbWQgKGNkciBjbWQpKSkpCiAgICAgKGlmIHRvcGxldmVsCkBAIC03OTIsMTAg Kzc5NCwxMiBAQCBlc2hlbGwtdHJhcC1lcnJvcnMKIChkZWZ2YXIgZXNoZWxsLW91dHB1dC1o YW5kbGUpICAgICAgICAgICA7RGVmaW5lZCBpbiBlc2gtaW8uZWwuCiAoZGVmdmFyIGVzaGVs bC1lcnJvci1oYW5kbGUpICAgICAgICAgICAgO0RlZmluZWQgaW4gZXNoLWlvLmVsLgogCi0o ZGVmbWFjcm8gZXNoZWxsLXdpdGgtY29waWVkLWhhbmRsZXMgKG9iamVjdCkKLSAgIkR1cGxp Y2F0ZSBjdXJyZW50IEkvTyBoYW5kbGVzLCBzbyBPQkpFQ1Qgd29ya3Mgd2l0aCBpdHMgb3du IGNvcHkuIgorKGRlZm1hY3JvIGVzaGVsbC13aXRoLWNvcGllZC1oYW5kbGVzIChvYmplY3Qg Jm9wdGlvbmFsIHN0ZWFsLXApCisgICJEdXBsaWNhdGUgY3VycmVudCBJL08gaGFuZGxlcywg c28gT0JKRUNUIHdvcmtzIHdpdGggaXRzIG93biBjb3B5LgorSWYgU1RFQUwtUCBpcyBub24t bmlsLCB0aGVzZSBuZXcgaGFuZGxlcyB3aWxsIGJlIHN0b2xlbiBmcm9tIHRoZQorY3VycmVu dCBvbmVzIChzZWUgYGVzaGVsbC1kdXBsaWNhdGUtaGFuZGxlcycpLiIKICAgYChsZXQgKChl c2hlbGwtY3VycmVudC1oYW5kbGVzCi0gICAgICAgICAgKGVzaGVsbC1kdXBsaWNhdGUtaGFu ZGxlcyBlc2hlbGwtY3VycmVudC1oYW5kbGVzKSkpCisgICAgICAgICAgKGVzaGVsbC1kdXBs aWNhdGUtaGFuZGxlcyBlc2hlbGwtY3VycmVudC1oYW5kbGVzICxzdGVhbC1wKSkpCiAgICAg ICxvYmplY3QpKQogCiAoZGVmaW5lLW9ic29sZXRlLWZ1bmN0aW9uLWFsaWFzICdlc2hlbGwt Y29weS1oYW5kbGVzCkBAIC04MzYsNyArODQwLDkgQEAgZXNoZWxsLWRvLXBpcGVsaW5lcwog ICAgICAgICAgIChsZXQgKChwcm9jICwoY2FyIHBpcGVsaW5lKSkpCiAgICAgICAgICAgICAo c2V0IGhlYWRwcm9jIChvciBwcm9jIChzeW1ib2wtdmFsdWUgaGVhZHByb2MpKSkKICAgICAg ICAgICAgIChzZXQgdGFpbHByb2MgKG9yIChzeW1ib2wtdmFsdWUgdGFpbHByb2MpIHByb2Mp KQotICAgICAgICAgICAgcHJvYykpKSkpKQorICAgICAgICAgICAgcHJvYykpKQorICAgICAg OzsgU3RlYWwgaGFuZGxlcyBpZiB0aGlzIGlzIHRoZSBsYXN0IGl0ZW0gaW4gdGhlIHBpcGVs aW5lLgorICAgICAgLChudWxsIChjZHIgcGlwZWxpbmUpKSkpKQogCiAoZGVmbWFjcm8gZXNo ZWxsLWRvLXBpcGVsaW5lcy1zeW5jaHJvbm91c2x5IChwaXBlbGluZSkKICAgIkV4ZWN1dGUg dGhlIGNvbW1hbmRzIGluIFBJUEVMSU5FIGluIHNlcXVlbmNlIHN5bmNocm9ub3VzbHkuCmRp ZmYgLS1naXQgYS9saXNwL2VzaGVsbC9lc2gtaW8uZWwgYi9saXNwL2VzaGVsbC9lc2gtaW8u ZWwKaW5kZXggZjJiYzg3Mzc0YzEuLjUwMDJjYzUwZGMzIDEwMDY0NAotLS0gYS9saXNwL2Vz aGVsbC9lc2gtaW8uZWwKKysrIGIvbGlzcC9lc2hlbGwvZXNoLWlvLmVsCkBAIC0zMDIsMzUg KzMwMiw1MSBAQCBlc2hlbGwtY3JlYXRlLWhhbmRsZXMKIAogVGhlIHJlc3VsdCBpcyBhIHZl Y3RvciBvZiBmaWxlIGhhbmRsZXMuICBFYWNoIGhhbmRsZSBpcyBvZiB0aGUgZm9ybToKIAot ICAoVEFSR0VUUyBERUZBVUxUIFJFRi1DT1VOVCkKKyAgKChUQVJHRVRTIC4gUkVGLUNPVU5U KSBERUZBVUxUKQogCi1UQVJHRVRTIGlzIGEgbGlzdCBvZiBkZXN0aW5hdGlvbnMgZm9yIG91 dHB1dC4gIERFRkFVTFQgaXMgbm9uLW5pbAotaWYgaGFuZGxlIGhhcyBpdHMgaW5pdGlhbCBk ZWZhdWx0IHZhbHVlIChhbHdheXMgdCBhZnRlciBjYWxsaW5nCi10aGlzIGZ1bmN0aW9uKS4g IFJFRi1DT1VOVCBpcyB0aGUgbnVtYmVyIG9mIHJlZmVyZW5jZXMgdG8gdGhpcwotaGFuZGxl IChpbml0aWFsbHkgMSk7IHNlZSBgZXNoZWxsLXByb3RlY3QtaGFuZGxlcycgYW5kCi1gZXNo ZWxsLWNsb3NlLWhhbmRsZXMnLiIKK1RBUkdFVFMgaXMgYSBsaXN0IG9mIGRlc3RpbmF0aW9u cyBmb3Igb3V0cHV0LiAgUkVGLUNPVU5UIGlzIHRoZQorbnVtYmVyIG9mIHJlZmVyZW5jZXMg dG8gdGhpcyBoYW5kbGUgKGluaXRpYWxseSAxKTsgc2VlCitgZXNoZWxsLXByb3RlY3QtaGFu ZGxlcycgYW5kIGBlc2hlbGwtY2xvc2UtaGFuZGxlcycuICBERUZBVUxUIGlzCitub24tbmls IGlmIGhhbmRsZSBoYXMgaXRzIGluaXRpYWwgZGVmYXVsdCB2YWx1ZSAoYWx3YXlzIHQgYWZ0 ZXIKK2NhbGxpbmcgdGhpcyBmdW5jdGlvbikuIgogICAobGV0KiAoKGhhbmRsZXMgKG1ha2Ut dmVjdG9yIGVzaGVsbC1udW1iZXItb2YtaGFuZGxlcyBuaWwpKQotICAgICAgICAgKG91dHB1 dC10YXJnZXQgKGVzaGVsbC1nZXQtdGFyZ2V0cyBzdGRvdXQgb3V0cHV0LW1vZGUpKQotICAg ICAgICAgKGVycm9yLXRhcmdldCAoaWYgc3RkZXJyCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAoZXNoZWxsLWdldC10YXJnZXRzIHN0ZGVyciBlcnJvci1tb2RlKQotICAgICAgICAg ICAgICAgICAgICAgICAgIG91dHB1dC10YXJnZXQpKSkKLSAgICAoYXNldCBoYW5kbGVzIGVz aGVsbC1vdXRwdXQtaGFuZGxlIChsaXN0IG91dHB1dC10YXJnZXQgdCAxKSkKLSAgICAoYXNl dCBoYW5kbGVzIGVzaGVsbC1lcnJvci1oYW5kbGUgKGxpc3QgZXJyb3ItdGFyZ2V0IHQgMSkp CisgICAgICAgICAob3V0cHV0LXRhcmdldAorICAgICAgICAgIChsZXQgKCh0YXJnZXQgKGVz aGVsbC1nZXQtdGFyZ2V0IHN0ZG91dCBvdXRwdXQtbW9kZSkpKQorICAgICAgICAgICAgKGNv bnMgKHdoZW4gdGFyZ2V0IChsaXN0IHRhcmdldCkpIDEpKSkKKyAgICAgICAgIChlcnJvci10 YXJnZXQKKyAgICAgICAgICAoaWYgc3RkZXJyCisgICAgICAgICAgICAgIChsZXQgKCh0YXJn ZXQgKGVzaGVsbC1nZXQtdGFyZ2V0IHN0ZGVyciBlcnJvci1tb2RlKSkpCisgICAgICAgICAg ICAgICAgKGNvbnMgKHdoZW4gdGFyZ2V0IChsaXN0IHRhcmdldCkpIDEpKQorICAgICAgICAg ICAgKGNsLWluY2YgKGNkciBvdXRwdXQtdGFyZ2V0KSkKKyAgICAgICAgICAgIG91dHB1dC10 YXJnZXQpKSkKKyAgICAoYXNldCBoYW5kbGVzIGVzaGVsbC1vdXRwdXQtaGFuZGxlIChsaXN0 IG91dHB1dC10YXJnZXQgdCkpCisgICAgKGFzZXQgaGFuZGxlcyBlc2hlbGwtZXJyb3ItaGFu ZGxlIChsaXN0IGVycm9yLXRhcmdldCB0KSkKICAgICBoYW5kbGVzKSkKIAotKGRlZnVuIGVz aGVsbC1kdXBsaWNhdGUtaGFuZGxlcyAoaGFuZGxlcykKKyhkZWZ1biBlc2hlbGwtZHVwbGlj YXRlLWhhbmRsZXMgKGhhbmRsZXMgJm9wdGlvbmFsIHN0ZWFsLXApCiAgICJDcmVhdGUgYSBk dXBsaWNhdGUgb2YgdGhlIGZpbGUgaGFuZGxlcyBpbiBIQU5ETEVTLgotVGhpcyB3aWxsIGNv cHkgdGhlIHRhcmdldHMgb2YgZWFjaCBoYW5kbGUgaW4gSEFORExFUywgc2V0dGluZyB0aGUK LURFRkFVTFQgZmllbGQgdG8gdCAoc2VlIGBlc2hlbGwtY3JlYXRlLWhhbmRsZXMnKS4iCi0g IChlc2hlbGwtY3JlYXRlLWhhbmRsZXMKLSAgIChjYXIgKGFyZWYgaGFuZGxlcyBlc2hlbGwt b3V0cHV0LWhhbmRsZSkpIG5pbAotICAgKGNhciAoYXJlZiBoYW5kbGVzIGVzaGVsbC1lcnJv ci1oYW5kbGUpKSBuaWwpKQorVGhpcyB1c2VzIHRoZSB0YXJnZXRzIG9mIGVhY2ggaGFuZGxl IGluIEhBTkRMRVMsIGluY3JlbWVudGluZyBpdHMKK3JlZmVyZW5jZSBjb3VudCBieSBvbmUg KHVubGVzcyBTVEVBTC1QIGlzIG5vbi1uaWwpLiAgVGhlc2UKK3RhcmdldHMgYXJlIHNoYXJl ZCBiZXR3ZWVuIHRoZSBvcmlnaW5hbCBzZXQgb2YgaGFuZGxlcyBhbmQgdGhlCituZXcgb25l LCBzbyB0aGUgdGFyZ2V0cyBhcmUgb25seSBjbG9zZWQgd2hlbiB0aGUgcmVmZXJlbmNlIGNv dW50Citkcm9wcyB0byAwIChzZWUgYGVzaGVsbC1jbG9zZS1oYW5kbGVzJykuCisKK1RoaXMg ZnVuY3Rpb24gYWxzbyBzZXRzIHRoZSBERUZBVUxUIGZpZWxkIGZvciBlYWNoIGhhbmRsZSB0 bwordCAoc2VlIGBlc2hlbGwtY3JlYXRlLWhhbmRsZXMnKS4gIFVubGlrZSB0aGUgdGFyZ2V0 cywgdGhpcyB2YWx1ZQoraXMgbm90IHNoYXJlZCB3aXRoIHRoZSBvcmlnaW5hbCBoYW5kbGVz LiIKKyAgKGxldCAoKGR1cC1oYW5kbGVzIChtYWtlLXZlY3RvciBlc2hlbGwtbnVtYmVyLW9m LWhhbmRsZXMgbmlsKSkpCisgICAgKGRvdGltZXMgKGlkeCBlc2hlbGwtbnVtYmVyLW9mLWhh bmRsZXMpCisgICAgICAod2hlbi1sZXQgKChoYW5kbGUgKGFyZWYgaGFuZGxlcyBpZHgpKSkK KyAgICAgICAgKHVubGVzcyBzdGVhbC1wCisgICAgICAgICAgKGNsLWluY2YgKGNkYXIgaGFu ZGxlKSkpCisgICAgICAgIChhc2V0IGR1cC1oYW5kbGVzIGlkeCAobGlzdCAoY2FyIGhhbmRs ZSkgdCkpKSkKKyAgICBkdXAtaGFuZGxlcykpCiAKIChkZWZ1biBlc2hlbGwtcHJvdGVjdC1o YW5kbGVzIChoYW5kbGVzKQogICAiUHJvdGVjdCB0aGUgaGFuZGxlcyBpbiBIQU5ETEVTIGZy b20gYSBiZWluZyBjbG9zZWQuIgogICAoZG90aW1lcyAoaWR4IGVzaGVsbC1udW1iZXItb2Yt aGFuZGxlcykKICAgICAod2hlbi1sZXQgKChoYW5kbGUgKGFyZWYgaGFuZGxlcyBpZHgpKSkK LSAgICAgIChzZXRjYXIgKG50aGNkciAyIGhhbmRsZSkgKDErIChudGggMiBoYW5kbGUpKSkp KQorICAgICAgKGNsLWluY2YgKGNkYXIgaGFuZGxlKSkpKQogICBoYW5kbGVzKQogCiAoZGVm dW4gZXNoZWxsLWNsb3NlLWhhbmRsZXMgKCZvcHRpb25hbCBleGl0LWNvZGUgcmVzdWx0IGhh bmRsZXMpCkBAIC0zNTEsMjYgKzM2NywzNCBAQCBlc2hlbGwtY2xvc2UtaGFuZGxlcwogICAo bGV0ICgoaGFuZGxlcyAob3IgaGFuZGxlcyBlc2hlbGwtY3VycmVudC1oYW5kbGVzKSkpCiAg ICAgKGRvdGltZXMgKGlkeCBlc2hlbGwtbnVtYmVyLW9mLWhhbmRsZXMpCiAgICAgICAod2hl bi1sZXQgKChoYW5kbGUgKGFyZWYgaGFuZGxlcyBpZHgpKSkKLSAgICAgICAgKHNldGNhciAo bnRoY2RyIDIgaGFuZGxlKSAoMS0gKG50aCAyIGhhbmRsZSkpKQotICAgICAgICAod2hlbiAo PSAobnRoIDIgaGFuZGxlKSAwKQotICAgICAgICAgIChkb2xpc3QgKHRhcmdldCAoZW5zdXJl LWxpc3QgKGNhciAoYXJlZiBoYW5kbGVzIGlkeCkpKSkKKyAgICAgICAgKGNsLWFzc2VydCAo bmF0bnVtcCAoY2RhciBoYW5kbGUpKSkKKyAgICAgICAgKHdoZW4gKGFuZCAoPiAoY2RhciBo YW5kbGUpIDApCisgICAgICAgICAgICAgICAgICAgKD0gKGNsLWRlY2YgKGNkYXIgaGFuZGxl KSkgMCkpCisgICAgICAgICAgKGRvbGlzdCAodGFyZ2V0IChjYWFyIGhhbmRsZSkpCiAgICAg ICAgICAgICAoZXNoZWxsLWNsb3NlLXRhcmdldCB0YXJnZXQgKD0gZXNoZWxsLWxhc3QtY29t bWFuZC1zdGF0dXMgMCkpKQotICAgICAgICAgIChzZXRjYXIgaGFuZGxlIG5pbCkpKSkpKQor ICAgICAgICAgIChzZXRjYXIgKGNhciBoYW5kbGUpIG5pbCkpKSkpKQogCiAoZGVmdW4gZXNo ZWxsLXNldC1vdXRwdXQtaGFuZGxlIChpbmRleCBtb2RlICZvcHRpb25hbCB0YXJnZXQgaGFu ZGxlcykKICAgIlNldCBoYW5kbGUgSU5ERVggZm9yIHRoZSBjdXJyZW50IEhBTkRMRVMgdG8g cG9pbnQgdG8gVEFSR0VUIHVzaW5nIE1PREUuCi1JZiBIQU5ETEVTIGlzIG5pbCwgdXNlIGBl c2hlbGwtY3VycmVudC1oYW5kbGVzJy4iCitJZiBIQU5ETEVTIGlzIG5pbCwgdXNlIGBlc2hl bGwtY3VycmVudC1oYW5kbGVzJy4KKworSWYgdGhlIGhhbmRsZSBpcyBjdXJyZW50bHkgc2V0 IHRvIGl0cyBkZWZhdWx0IHZhbHVlIChzZWUKK2Blc2hlbGwtY3JlYXRlLWhhbmRsZXMnKSwg dGhpcyB3aWxsIG92ZXJ3cml0ZSB0aGUgdGFyZ2V0cyB3aXRoCit0aGUgbmV3IHRhcmdldC4g IE90aGVyd2lzZSwgaXQgd2lsbCBhcHBlbmQgdGhlIG5ldyB0YXJnZXQgdG8gdGhlCitjdXJy ZW50IGxpc3Qgb2YgdGFyZ2V0cy4iCiAgICh3aGVuIHRhcmdldAogICAgIChsZXQqICgoaGFu ZGxlcyAob3IgaGFuZGxlcyBlc2hlbGwtY3VycmVudC1oYW5kbGVzKSkKICAgICAgICAgICAg KGhhbmRsZSAob3IgKGFyZWYgaGFuZGxlcyBpbmRleCkKLSAgICAgICAgICAgICAgICAgICAg ICAgKGFzZXQgaGFuZGxlcyBpbmRleCAobGlzdCBuaWwgbmlsIDEpKSkpCi0gICAgICAgICAg IChkZWZhdWx0cCAoY2FkciBoYW5kbGUpKQotICAgICAgICAgICAoY3VycmVudCAodW5sZXNz IGRlZmF1bHRwIChjYXIgaGFuZGxlKSkpKQorICAgICAgICAgICAgICAgICAgICAgICAoYXNl dCBoYW5kbGVzIGluZGV4IChsaXN0IChjb25zIG5pbCAxKSBuaWwpKSkpCisgICAgICAgICAg IChkZWZhdWx0cCAoY2FkciBoYW5kbGUpKSkKKyAgICAgICh3aGVuIGRlZmF1bHRwCisgICAg ICAgIChjbC1kZWNmIChjZGFyIGhhbmRsZSkpCisgICAgICAgIChzZXRjYXIgaGFuZGxlIChj b25zIG5pbCAxKSkpCiAgICAgICAoY2F0Y2ggJ2VzaGVsbC1udWxsLWRldmljZQotICAgICAg ICAobGV0ICgod2hlcmUgKGVzaGVsbC1nZXQtdGFyZ2V0IHRhcmdldCBtb2RlKSkpCisgICAg ICAgIChsZXQgKChjdXJyZW50IChjYWFyIGhhbmRsZSkpCisgICAgICAgICAgICAgICh3aGVy ZSAoZXNoZWxsLWdldC10YXJnZXQgdGFyZ2V0IG1vZGUpKSkKICAgICAgICAgICAodW5sZXNz IChtZW1iZXIgd2hlcmUgY3VycmVudCkKLSAgICAgICAgICAgIChzZXRxIGN1cnJlbnQgKGFw cGVuZCBjdXJyZW50IChsaXN0IHdoZXJlKSkpKSkpCi0gICAgICAoc2V0Y2FyIGhhbmRsZSBj dXJyZW50KQorICAgICAgICAgICAgKHNldGNhciAoY2FyIGhhbmRsZSkgKGFwcGVuZCBjdXJy ZW50IChsaXN0IHdoZXJlKSkpKSkpCiAgICAgICAoc2V0Y2FyIChjZHIgaGFuZGxlKSBuaWwp KSkpCiAKIChkZWZ1biBlc2hlbGwtY29weS1vdXRwdXQtaGFuZGxlIChpbmRleCBpbmRleC10 by1jb3B5ICZvcHRpb25hbCBoYW5kbGVzKQpAQCAtMzc4LDEwICs0MDIsNyBAQCBlc2hlbGwt Y29weS1vdXRwdXQtaGFuZGxlCiBJZiBIQU5ETEVTIGlzIG5pbCwgdXNlIGBlc2hlbGwtY3Vy cmVudC1oYW5kbGVzJy4iCiAgIChsZXQqICgoaGFuZGxlcyAob3IgaGFuZGxlcyBlc2hlbGwt Y3VycmVudC1oYW5kbGVzKSkKICAgICAgICAgIChoYW5kbGUtdG8tY29weSAoY2FyIChhcmVm IGhhbmRsZXMgaW5kZXgtdG8tY29weSkpKSkKLSAgICAoc2V0Y2FyIChhcmVmIGhhbmRsZXMg aW5kZXgpCi0gICAgICAgICAgICAoaWYgKGxpc3RwIGhhbmRsZS10by1jb3B5KQotICAgICAg ICAgICAgICAgIChjb3B5LXNlcXVlbmNlIGhhbmRsZS10by1jb3B5KQotICAgICAgICAgICAg ICBoYW5kbGUtdG8tY29weSkpKSkKKyAgICAoc2V0Y2FyIChhcmVmIGhhbmRsZXMgaW5kZXgp IGhhbmRsZS10by1jb3B5KSkpCiAKIChkZWZ1biBlc2hlbGwtc2V0LWFsbC1vdXRwdXQtaGFu ZGxlcyAobW9kZSAmb3B0aW9uYWwgdGFyZ2V0IGhhbmRsZXMpCiAgICJTZXQgb3V0cHV0IGFu ZCBlcnJvciBIQU5ETEVTIHRvIHBvaW50IHRvIFRBUkdFVCB1c2luZyBNT0RFLgpAQCAtNTAx LDEzICs1MjIsNiBAQCBlc2hlbGwtZ2V0LXRhcmdldAogICAgIChlcnJvciAiSW52YWxpZCBy ZWRpcmVjdGlvbiB0YXJnZXQ6ICVzIgogCSAgIChlc2hlbGwtc3RyaW5naWZ5IHRhcmdldCkp KSkpCiAKLShkZWZ1biBlc2hlbGwtZ2V0LXRhcmdldHMgKHRhcmdldHMgJm9wdGlvbmFsIG1v ZGUpCi0gICJDb252ZXJ0IFRBUkdFVFMgaW50byB2YWxpZCBvdXRwdXQgdGFyZ2V0cy4KLVRB UkdFVFMgY2FuIGJlIGEgc2luZ2xlIHJhdyB0YXJnZXQgb3IgYSBsaXN0IHRoZXJlb2YuICBN T0RFIGlzIGVpdGhlcgotYG92ZXJ3cml0ZScsIGBhcHBlbmQnIG9yIGBpbnNlcnQnOyBpZiBp dCBpcyBvbWl0dGVkIG9yIG5pbCwgaXQKLWRlZmF1bHRzIHRvIGBpbnNlcnQnLiIKLSAgKG1h cGNhciAobGFtYmRhIChpKSAoZXNoZWxsLWdldC10YXJnZXQgaSBtb2RlKSkgKGVuc3VyZS1s aXN0IHRhcmdldHMpKSkKLQogKGRlZnVuIGVzaGVsbC1pbnRlcmFjdGl2ZS1vdXRwdXQtcCAo Jm9wdGlvbmFsIGluZGV4IGhhbmRsZXMpCiAgICJSZXR1cm4gbm9uLW5pbCBpZiB0aGUgc3Bl Y2lmaWVkIGhhbmRsZSBpcyBib3VuZCBmb3IgaW50ZXJhY3RpdmUgZGlzcGxheS4KIEhBTkRM RVMgaXMgdGhlIHNldCBvZiBoYW5kbGVzIHRvIGNoZWNrOyBpZiBuaWwsIHVzZQpAQCAtNTE5 LDkgKzUzMyw5IEBAIGVzaGVsbC1pbnRlcmFjdGl2ZS1vdXRwdXQtcAogICAobGV0ICgoaGFu ZGxlcyAob3IgaGFuZGxlcyBlc2hlbGwtY3VycmVudC1oYW5kbGVzKSkKICAgICAgICAgKGlu ZGV4IChvciBpbmRleCBlc2hlbGwtb3V0cHV0LWhhbmRsZSkpKQogICAgIChpZiAoZXEgaW5k ZXggJ2FsbCkKLSAgICAgICAgKGFuZCAoZXF1YWwgKGNhciAoYXJlZiBoYW5kbGVzIGVzaGVs bC1vdXRwdXQtaGFuZGxlKSkgJyh0KSkKLSAgICAgICAgICAgICAoZXF1YWwgKGNhciAoYXJl ZiBoYW5kbGVzIGVzaGVsbC1lcnJvci1oYW5kbGUpKSAnKHQpKSkKLSAgICAgIChlcXVhbCAo Y2FyIChhcmVmIGhhbmRsZXMgaW5kZXgpKSAnKHQpKSkpKQorICAgICAgICAoYW5kIChlcXVh bCAoY2FhciAoYXJlZiBoYW5kbGVzIGVzaGVsbC1vdXRwdXQtaGFuZGxlKSkgJyh0KSkKKyAg ICAgICAgICAgICAoZXF1YWwgKGNhYXIgKGFyZWYgaGFuZGxlcyBlc2hlbGwtZXJyb3ItaGFu ZGxlKSkgJyh0KSkpCisgICAgICAoZXF1YWwgKGNhYXIgKGFyZWYgaGFuZGxlcyBpbmRleCkp ICcodCkpKSkpCiAKIChkZWZ2YXIgZXNoZWxsLXByaW50LXF1ZXVlIG5pbCkKIChkZWZ2YXIg ZXNoZWxsLXByaW50LXF1ZXVlLWNvdW50IC0xKQpAQCAtNjI4LDggKzY0Miw4IEBAIGVzaGVs bC1vdXRwdXQtb2JqZWN0CiBJZiBIQU5ETEUtSU5ERVggaXMgbmlsLCBvdXRwdXQgdG8gYGVz aGVsbC1vdXRwdXQtaGFuZGxlJy4KIEhBTkRMRVMgaXMgdGhlIHNldCBvZiBmaWxlIGhhbmRs ZXMgdG8gdXNlOyBpZiBuaWwsIHVzZQogYGVzaGVsbC1jdXJyZW50LWhhbmRsZXMnLiIKLSAg KGxldCAoKHRhcmdldHMgKGNhciAoYXJlZiAob3IgaGFuZGxlcyBlc2hlbGwtY3VycmVudC1o YW5kbGVzKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIChvciBoYW5kbGUtaW5kZXgg ZXNoZWxsLW91dHB1dC1oYW5kbGUpKSkpKQorICAobGV0ICgodGFyZ2V0cyAoY2FhciAoYXJl ZiAob3IgaGFuZGxlcyBlc2hlbGwtY3VycmVudC1oYW5kbGVzKQorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAob3IgaGFuZGxlLWluZGV4IGVzaGVsbC1vdXRwdXQtaGFuZGxlKSkp KSkKICAgICAoZG9saXN0ICh0YXJnZXQgdGFyZ2V0cykKICAgICAgIChlc2hlbGwtb3V0cHV0 LW9iamVjdC10by10YXJnZXQgb2JqZWN0IHRhcmdldCkpKSkKIApkaWZmIC0tZ2l0IGEvdGVz dC9saXNwL2VzaGVsbC9lbS1leHRwaXBlLXRlc3RzLmVsIGIvdGVzdC9saXNwL2VzaGVsbC9l bS1leHRwaXBlLXRlc3RzLmVsCmluZGV4IGEyNjQ2YTAyOTZiLi4wNGU3ODI3OTQyNyAxMDA2 NDQKLS0tIGEvdGVzdC9saXNwL2VzaGVsbC9lbS1leHRwaXBlLXRlc3RzLmVsCisrKyBiL3Rl c3QvbGlzcC9lc2hlbGwvZW0tZXh0cGlwZS10ZXN0cy5lbApAQCAtNDIsNyArNDIsNyBAQCBl bS1leHRwaXBlLXRlc3RzLS1kZWZ0ZXN0CiAgICAgICAgICAgICAgICAgICAgKHNoZWxsLWNv bW1hbmQtc3dpdGNoICItYyIpKQogICAgICAgICAgICAgICAgOzsgU3RyaXAgYGVzaGVsbC10 cmFwLWVycm9ycycuCiAgICAgICAgICAgICAgICAoc2hvdWxkIChlcXVhbCAsZXhwZWN0ZWQK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjYWRhZHIgKGVzaGVsbC1wYXJzZS1j b21tYW5kIGlucHV0KSkpKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2Fk ciAoZXNoZWxsLXBhcnNlLWNvbW1hbmQgaW5wdXQpKSkpKSkKICAgICAgICAgICAod2l0aC1z dWJzdGl0dXRlLWZvci10ZW1wICgmcmVzdCBib2R5KQogICAgICAgICAgICAgOzsgU3Vic3Rp dHV0ZSBuYW1lIG9mIGFuIGFjdHVhbCB0ZW1wb3JhcnkgZmlsZSBhbmQvb3IKICAgICAgICAg ICAgIDs7IGJ1ZmZlciBpbnRvIGBpbnB1dCcuICBUaGUgc3Vic3RpdHV0aW9uIGxvZ2ljIGlz CmRpZmYgLS1naXQgYS90ZXN0L2xpc3AvZXNoZWxsL2VtLXRyYW1wLXRlc3RzLmVsIGIvdGVz dC9saXNwL2VzaGVsbC9lbS10cmFtcC10ZXN0cy5lbAppbmRleCA5ODJhMWViYTI3OS4uNmNj MzVlY2RiMWIgMTAwNjQ0Ci0tLSBhL3Rlc3QvbGlzcC9lc2hlbGwvZW0tdHJhbXAtdGVzdHMu ZWwKKysrIGIvdGVzdC9saXNwL2VzaGVsbC9lbS10cmFtcC10ZXN0cy5lbApAQCAtMjcsMjMg KzI3LDIxIEBAIGVtLXRyYW1wLXRlc3Qvc3UtZGVmYXVsdAogICAiVGVzdCBFc2hlbGwgYHN1 JyBjb21tYW5kIHdpdGggbm8gYXJndW1lbnRzLiIKICAgKHNob3VsZCAoZXF1YWwKICAgICAg ICAgICAgKGNhdGNoICdlc2hlbGwtcmVwbGFjZS1jb21tYW5kIChlc2hlbGwvc3UpKQotICAg ICAgICAgICBgKGVzaGVsbC13aXRoLWNvcGllZC1oYW5kbGVzCi0gICAgICAgICAgICAgKGVz aGVsbC10cmFwLWVycm9ycwotICAgICAgICAgICAgICAoZXNoZWxsLW5hbWVkLWNvbW1hbmQK LSAgICAgICAgICAgICAgICJjZCIKLSAgICAgICAgICAgICAgIChsaXN0ICwoZm9ybWF0ICIv c3U6cm9vdEAlczolcyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW1wLWRl ZmF1bHQtaG9zdCBkZWZhdWx0LWRpcmVjdG9yeSkpKSkpKSkpCisgICAgICAgICAgIGAoZXNo ZWxsLXRyYXAtZXJyb3JzCisgICAgICAgICAgICAgKGVzaGVsbC1uYW1lZC1jb21tYW5kCisg ICAgICAgICAgICAgICJjZCIKKyAgICAgICAgICAgICAgKGxpc3QgLChmb3JtYXQgIi9zdTpy b290QCVzOiVzIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFtcC1kZWZhdWx0 LWhvc3QgZGVmYXVsdC1kaXJlY3RvcnkpKSkpKSkpCiAKIChlcnQtZGVmdGVzdCBlbS10cmFt cC10ZXN0L3N1LXVzZXIgKCkKICAgIlRlc3QgRXNoZWxsIGBzdScgY29tbWFuZCB3aXRoIFVT RVIgYXJndW1lbnQuIgogICAoc2hvdWxkIChlcXVhbAogICAgICAgICAgICAoY2F0Y2ggJ2Vz aGVsbC1yZXBsYWNlLWNvbW1hbmQgKGVzaGVsbC9zdSAiVVNFUiIpKQotICAgICAgICAgICBg KGVzaGVsbC13aXRoLWNvcGllZC1oYW5kbGVzCi0gICAgICAgICAgICAgKGVzaGVsbC10cmFw LWVycm9ycwotICAgICAgICAgICAgICAoZXNoZWxsLW5hbWVkLWNvbW1hbmQKLSAgICAgICAg ICAgICAgICJjZCIKLSAgICAgICAgICAgICAgIChsaXN0ICwoZm9ybWF0ICIvc3U6VVNFUkAl czolcyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW1wLWRlZmF1bHQtaG9z dCBkZWZhdWx0LWRpcmVjdG9yeSkpKSkpKSkpCisgICAgICAgICAgIGAoZXNoZWxsLXRyYXAt ZXJyb3JzCisgICAgICAgICAgICAgKGVzaGVsbC1uYW1lZC1jb21tYW5kCisgICAgICAgICAg ICAgICJjZCIKKyAgICAgICAgICAgICAgKGxpc3QgLChmb3JtYXQgIi9zdTpVU0VSQCVzOiVz IgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFtcC1kZWZhdWx0LWhvc3QgZGVm YXVsdC1kaXJlY3RvcnkpKSkpKSkpCiAKIChlcnQtZGVmdGVzdCBlbS10cmFtcC10ZXN0L3N1 LWxvZ2luICgpCiAgICJUZXN0IEVzaGVsbCBgc3UnIGNvbW1hbmQgd2l0aCAtLy1sLy0tbG9n aW4gb3B0aW9uLiIKQEAgLTUyLDExICs1MCwxMCBAQCBlbS10cmFtcC10ZXN0L3N1LWxvZ2lu CiAgICAgICAgICAgICAgICAgICAoIi0iKSkpCiAgICAgKHNob3VsZCAoZXF1YWwKICAgICAg ICAgICAgICAoY2F0Y2ggJ2VzaGVsbC1yZXBsYWNlLWNvbW1hbmQgKGFwcGx5ICMnZXNoZWxs L3N1IGFyZ3MpKQotICAgICAgICAgICAgIGAoZXNoZWxsLXdpdGgtY29waWVkLWhhbmRsZXMK LSAgICAgICAgICAgICAgIChlc2hlbGwtdHJhcC1lcnJvcnMKLSAgICAgICAgICAgICAgICAo ZXNoZWxsLW5hbWVkLWNvbW1hbmQKLSAgICAgICAgICAgICAgICAgImNkIgotICAgICAgICAg ICAgICAgICAobGlzdCAsKGZvcm1hdCAiL3N1OnJvb3RAJXM6fi8iIHRyYW1wLWRlZmF1bHQt aG9zdCkpKSkpKSkpKQorICAgICAgICAgICAgIGAoZXNoZWxsLXRyYXAtZXJyb3JzCisgICAg ICAgICAgICAgICAoZXNoZWxsLW5hbWVkLWNvbW1hbmQKKyAgICAgICAgICAgICAgICAiY2Qi CisgICAgICAgICAgICAgICAgKGxpc3QgLChmb3JtYXQgIi9zdTpyb290QCVzOn4vIiB0cmFt cC1kZWZhdWx0LWhvc3QpKSkpKSkpKQogCiAoZGVmdW4gbW9jay1lc2hlbGwtbmFtZWQtY29t bWFuZCAoJnJlc3QgYXJncykKICAgIkR1bW15IGZ1bmN0aW9uIHRvIHRlc3QgRXNoZWxsIGBz dWRvJyBjb21tYW5kIHJld3JpdGluZy4iCkBAIC05NCwyMyArOTEsMjEgQEAgZW0tdHJhbXAt dGVzdC9zdWRvLXNoZWxsCiAgICAgICAgICAgICAgICAgICAoIi1zIikpKQogICAgIChzaG91 bGQgKGVxdWFsCiAgICAgICAgICAgICAgKGNhdGNoICdlc2hlbGwtcmVwbGFjZS1jb21tYW5k IChhcHBseSAjJ2VzaGVsbC9zdWRvIGFyZ3MpKQotICAgICAgICAgICAgIGAoZXNoZWxsLXdp dGgtY29waWVkLWhhbmRsZXMKLSAgICAgICAgICAgICAgIChlc2hlbGwtdHJhcC1lcnJvcnMK LSAgICAgICAgICAgICAgICAoZXNoZWxsLW5hbWVkLWNvbW1hbmQKLSAgICAgICAgICAgICAg ICAgImNkIgotICAgICAgICAgICAgICAgICAobGlzdCAsKGZvcm1hdCAiL3N1ZG86cm9vdEAl czolcyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbXAtZGVmYXVsdC1o b3N0IGRlZmF1bHQtZGlyZWN0b3J5KSkpKSkpKSkpCisgICAgICAgICAgICAgYChlc2hlbGwt dHJhcC1lcnJvcnMKKyAgICAgICAgICAgICAgIChlc2hlbGwtbmFtZWQtY29tbWFuZAorICAg ICAgICAgICAgICAgICJjZCIKKyAgICAgICAgICAgICAgICAobGlzdCAsKGZvcm1hdCAiL3N1 ZG86cm9vdEAlczolcyIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFtcC1k ZWZhdWx0LWhvc3QgZGVmYXVsdC1kaXJlY3RvcnkpKSkpKSkpKQogCiAoZXJ0LWRlZnRlc3Qg ZW0tdHJhbXAtdGVzdC9zdWRvLXVzZXItc2hlbGwgKCkKICAgIlRlc3QgRXNoZWxsIGBzdWRv JyBjb21tYW5kIHdpdGggLXMgYW5kIC11IG9wdGlvbnMuIgogICAoc2hvdWxkIChlcXVhbAog ICAgICAgICAgICAoY2F0Y2ggJ2VzaGVsbC1yZXBsYWNlLWNvbW1hbmQgKGVzaGVsbC9zdWRv ICItdSIgIlVTRVIiICItcyIpKQotICAgICAgICAgICBgKGVzaGVsbC13aXRoLWNvcGllZC1o YW5kbGVzCi0gICAgICAgICAgICAgKGVzaGVsbC10cmFwLWVycm9ycwotICAgICAgICAgICAg ICAoZXNoZWxsLW5hbWVkLWNvbW1hbmQKLSAgICAgICAgICAgICAgICJjZCIKLSAgICAgICAg ICAgICAgIChsaXN0ICwoZm9ybWF0ICIvc3VkbzpVU0VSQCVzOiVzIgotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgdHJhbXAtZGVmYXVsdC1ob3N0IGRlZmF1bHQtZGlyZWN0b3J5 KSkpKSkpKSkKKyAgICAgICAgICAgYChlc2hlbGwtdHJhcC1lcnJvcnMKKyAgICAgICAgICAg ICAoZXNoZWxsLW5hbWVkLWNvbW1hbmQKKyAgICAgICAgICAgICAgImNkIgorICAgICAgICAg ICAgICAobGlzdCAsKGZvcm1hdCAiL3N1ZG86VVNFUkAlczolcyIKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgdHJhbXAtZGVmYXVsdC1ob3N0IGRlZmF1bHQtZGlyZWN0b3J5KSkp KSkpKQogCiAoZXJ0LWRlZnRlc3QgZW0tdHJhbXAtdGVzdC9kb2FzLWJhc2ljICgpCiAgICJU ZXN0IEVzaGVsbCBgZG9hcycgY29tbWFuZCB3aXRoIGRlZmF1bHQgdXNlci4iCkBAIC0xNDks MjIgKzE0NCwyMCBAQCBlbS10cmFtcC10ZXN0L2RvYXMtc2hlbGwKICAgICAgICAgICAgICAg ICAgICgiLXMiKSkpCiAgICAgKHNob3VsZCAoZXF1YWwKICAgICAgICAgICAgICAoY2F0Y2gg J2VzaGVsbC1yZXBsYWNlLWNvbW1hbmQgKGFwcGx5ICMnZXNoZWxsL2RvYXMgYXJncykpCi0g ICAgICAgICAgICAgYChlc2hlbGwtd2l0aC1jb3BpZWQtaGFuZGxlcwotICAgICAgICAgICAg ICAgKGVzaGVsbC10cmFwLWVycm9ycwotICAgICAgICAgICAgICAgIChlc2hlbGwtbmFtZWQt Y29tbWFuZAotICAgICAgICAgICAgICAgICAiY2QiCi0gICAgICAgICAgICAgICAgIChsaXN0 ICwoZm9ybWF0ICIvZG9hczpyb290QCVzOiVzIgotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB0cmFtcC1kZWZhdWx0LWhvc3QgZGVmYXVsdC1kaXJlY3RvcnkpKSkpKSkpKSkK KyAgICAgICAgICAgICBgKGVzaGVsbC10cmFwLWVycm9ycworICAgICAgICAgICAgICAgKGVz aGVsbC1uYW1lZC1jb21tYW5kCisgICAgICAgICAgICAgICAgImNkIgorICAgICAgICAgICAg ICAgIChsaXN0ICwoZm9ybWF0ICIvZG9hczpyb290QCVzOiVzIgorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHRyYW1wLWRlZmF1bHQtaG9zdCBkZWZhdWx0LWRpcmVjdG9yeSkp KSkpKSkpCiAKIChlcnQtZGVmdGVzdCBlbS10cmFtcC10ZXN0L2RvYXMtdXNlci1zaGVsbCAo KQogICAiVGVzdCBFc2hlbGwgYGRvYXMnIGNvbW1hbmQgd2l0aCAtcyBhbmQgLXUgb3B0aW9u cy4iCiAgIChzaG91bGQgKGVxdWFsCiAgICAgICAgICAgIChjYXRjaCAnZXNoZWxsLXJlcGxh Y2UtY29tbWFuZCAoZXNoZWxsL2RvYXMgIi11IiAiVVNFUiIgIi1zIikpCi0gICAgICAgICAg IGAoZXNoZWxsLXdpdGgtY29waWVkLWhhbmRsZXMKLSAgICAgICAgICAgICAoZXNoZWxsLXRy YXAtZXJyb3JzCi0gICAgICAgICAgICAgIChlc2hlbGwtbmFtZWQtY29tbWFuZAotICAgICAg ICAgICAgICAgImNkIgotICAgICAgICAgICAgICAgKGxpc3QgLChmb3JtYXQgIi9kb2FzOlVT RVJAJXM6JXMiCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFtcC1kZWZhdWx0 LWhvc3QgZGVmYXVsdC1kaXJlY3RvcnkpKSkpKSkpKQorICAgICAgICAgICBgKGVzaGVsbC10 cmFwLWVycm9ycworICAgICAgICAgICAgIChlc2hlbGwtbmFtZWQtY29tbWFuZAorICAgICAg ICAgICAgICAiY2QiCisgICAgICAgICAgICAgIChsaXN0ICwoZm9ybWF0ICIvZG9hczpVU0VS QCVzOiVzIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFtcC1kZWZhdWx0LWhv c3QgZGVmYXVsdC1kaXJlY3RvcnkpKSkpKSkpCiAKIDs7OyBlbS10cmFtcC10ZXN0cy5lbCBl bmRzIGhlcmUKZGlmZiAtLWdpdCBhL3Rlc3QvbGlzcC9lc2hlbGwvZXNoLWlvLXRlc3RzLmVs IGIvdGVzdC9saXNwL2VzaGVsbC9lc2gtaW8tdGVzdHMuZWwKaW5kZXggOWEzYzE0ZjM2NWYu LjBmMDlhZmExOWU0IDEwMDY0NAotLS0gYS90ZXN0L2xpc3AvZXNoZWxsL2VzaC1pby10ZXN0 cy5lbAorKysgYi90ZXN0L2xpc3AvZXNoZWxsL2VzaC1pby10ZXN0cy5lbApAQCAtMzAxLDE1 ICszMDEsMjggQEAgZXNoLWlvLXRlc3QvcmVkaXJlY3QtY29weS1maXJzdAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICJzdGRlcnJcbiIpKQogICAgIChzaG91bGQgKGVx dWFsIChidWZmZXItc3RyaW5nKSAic3Rkb3V0XG4iKSkpKQogCi0oZXJ0LWRlZnRlc3QgZXNo LWlvLXRlc3QvcmVkaXJlY3QtcGlwZSAoKQotICAiQ2hlY2sgdGhhdCBcInJlZGlyZWN0aW5n XCIgdG8gYSBwaXBlIHdvcmtzLiIKLSAgOzsgYHwnIHNob3VsZCBvbmx5IHJlZGlyZWN0IHN0 ZG91dC4KKwwKKzs7IFBpcGVsaW5lcworCisoZXJ0LWRlZnRlc3QgZXNoLWlvLXRlc3QvcGlw ZWxpbmUvZGVmYXVsdCAoKQorICAiQ2hlY2sgdGhhdCBgfCcgb25seSBwaXBlcyBzdGRvdXQu IgorICAoc2tpcC11bmxlc3MgKGV4ZWN1dGFibGUtZmluZCAicmV2IikpCiAgIChlc2hlbGwt Y29tbWFuZC1yZXN1bHQtZXF1YWwgInRlc3Qtb3V0cHV0IHwgcmV2IgotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICJzdGRlcnJcbnR1b2R0c1xuIikKLSAgOzsgYHwmJyBzaG91 bGQgcmVkaXJlY3Qgc3Rkb3V0IGFuZCBzdGRlcnIuCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgInN0ZGVyclxudHVvZHRzXG4iKSkKKworCisoZXJ0LWRlZnRlc3QgZXNoLWlv LXRlc3QvcGlwZWxpbmUvYWxsICgpCisgICJDaGVjayB0aGF0IGB8Jicgb25seSBwaXBlcyBz dGRvdXQgYW5kIHN0ZGVyci4iCisgIChza2lwLXVubGVzcyAoZXhlY3V0YWJsZS1maW5kICJy ZXYiKSkKICAgKGVzaGVsbC1jb21tYW5kLXJlc3VsdC1lcXVhbCAidGVzdC1vdXRwdXQgfCYg cmV2IgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ0dW9kdHNcbnJyZWR0c1xu IikpCiAKKyhlcnQtZGVmdGVzdCBlc2gtaW8tdGVzdC9waXBlbGluZS9zdWJjb21tYW5kcyAo KQorICAiQ2hlayB0aGF0IGFsbCBjb21tYW5kcyBpbiBhIHN1YmNvbW1hbmQgYXJlIHByb3Bl cmx5IHBpcGVkLiIKKyAgKHNraXAtdW5sZXNzIChleGVjdXRhYmxlLWZpbmQgInJldiIpKQor ICAoZXNoZWxsLWNvbW1hbmQtcmVzdWx0LWVxdWFsICJ7ZWNobyBmb287IGVjaG8gYmFyfSB8 IHJldiIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmFib29mIikpCisKIAwK IDs7IFZpcnR1YWwgdGFyZ2V0cwogCi0tIAoyLjI1LjEKCg== --------------bUg6IU46CerKnfyAKVsfX9Tg--