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#52999: 29.0.50; [PATCH v3] `eshell-eval-using-options' should follow POSIX/GNU argument conventions Date: Wed, 5 Jan 2022 16:48:39 -0800 Message-ID: <7612d3cd-7288-4fbf-e787-b030f2f2b09e@gmail.com> References: <8c7a7765-2d40-e685-1d93-c60496a4f626@gmail.com> <83k0ffbqo1.fsf@gnu.org> <83h7ai9qzq.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------AA9BA30489307CC49B3D1D86" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="34879"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 52999@debbugs.gnu.org To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Thu Jan 06 01:49:40 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 1n5GyJ-0008oz-5x for geb-bug-gnu-emacs@m.gmane-mx.org; Thu, 06 Jan 2022 01:49:39 +0100 Original-Received: from localhost ([::1]:60556 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1n5GyH-0002sJ-17 for geb-bug-gnu-emacs@m.gmane-mx.org; Wed, 05 Jan 2022 19:49:37 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:48340) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1n5Gxk-0002s8-Kj for bug-gnu-emacs@gnu.org; Wed, 05 Jan 2022 19:49:04 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]:46453) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1n5Gxi-0007Vp-HX for bug-gnu-emacs@gnu.org; Wed, 05 Jan 2022 19:49:03 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1n5Gxi-0004oT-AX for bug-gnu-emacs@gnu.org; Wed, 05 Jan 2022 19:49: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: Thu, 06 Jan 2022 00:49:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 52999 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 52999-submit@debbugs.gnu.org id=B52999.164143012918481 (code B ref 52999); Thu, 06 Jan 2022 00:49:02 +0000 Original-Received: (at 52999) by debbugs.gnu.org; 6 Jan 2022 00:48:49 +0000 Original-Received: from localhost ([127.0.0.1]:39356 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5GxU-0004o0-RJ for submit@debbugs.gnu.org; Wed, 05 Jan 2022 19:48:49 -0500 Original-Received: from mail-pj1-f46.google.com ([209.85.216.46]:46929) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1n5GxS-0004nl-1U for 52999@debbugs.gnu.org; Wed, 05 Jan 2022 19:48:47 -0500 Original-Received: by mail-pj1-f46.google.com with SMTP id rj2-20020a17090b3e8200b001b1944bad25so1259310pjb.5 for <52999@debbugs.gnu.org>; Wed, 05 Jan 2022 16:48:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=subject:to:cc:references:from:message-id:date:mime-version :in-reply-to:content-language; bh=O2BWnixD4PZr7HYqa8R2hULRsujw6C+xoi7d1n8wKc4=; b=FOuNeLf2EbCxphWjKJyE4MzIJz4xS0ovuWQBPs2r8l/Lty5izGWK4TomOjN5hS29Fb vKu8B7GaLWvfkEGH4H+wb96CUQ7s2oXH4vMsp/ZpzLk9GhkVnsgyv2mJR4HlfUdo4EqO vG4HMQrk4G4vFQ7fqkYHYWTll6bGzLbnF4kcRuk8ymo/xEyiHR6CO7xOK/Iu7ih+TRnM /j0KBOSUWx1CDXf7CzXaV4b7OM0uI+ewioIq9fALMaSjsB0ilWbpHYXOxHp9EHYpBkZF bN1Ei8+YYOn8riDkVUM1M1V2GZ/Sc0e2diiOtUxvCGms01PzpVN1jeNe/BG4OXeyZMUQ bJ1w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :mime-version:in-reply-to:content-language; bh=O2BWnixD4PZr7HYqa8R2hULRsujw6C+xoi7d1n8wKc4=; b=8BvBSgJ/riyrMzlWpz0MFXz+kNJKJ8Gngwx80EphnPkVT42nwey2Mq7dMNZE+azFNu 9zJoXXf4QOpotxOkcKXf8mHfEQWngutw9aXonf9Bo3GZLTCUQKeRnH+v9xOfTVabMdRo sLoedw1S19oTFBGUAR9TTKDEh0uoOQKPsVdzxSyOCRZRkpxKDTBff3rUkiHaOT/ZLeCN 1b5Sg6EZN0BRN3bXuUPiE9F4OLgWd2tgMw6pTbxbZXxoAgbeJhGla2zRTYM4AM0ZDhxa gHa4Kf0aw6nmRA2Wz6QFNwC5caLT080y+WVUy0rxNyht8IGnzsG9hw0GLelRz9i41AhG jOYQ== X-Gm-Message-State: AOAM531Lrm182fLFb+fagGIRNxuvT1cNMPkFhlkGIe8Z0kano6Yi4ZbZ dMsdOSS+S2LMr3BSntQy91nDnFKwfM0= X-Google-Smtp-Source: ABdhPJytMDIuQtQm7CLxaGsUF14UGIVbJSPQwjfEKiVK6W8R/BdvLU9JGj2tuWdnrhxIci+GgHwDrw== X-Received: by 2002:a17:90b:3014:: with SMTP id hg20mr7157857pjb.69.1641430120122; Wed, 05 Jan 2022 16:48:40 -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 i11sm246587pfq.206.2022.01.05.16.48.38 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 05 Jan 2022 16:48:39 -0800 (PST) In-Reply-To: <83h7ai9qzq.fsf@gnu.org> Content-Language: en-US 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:223720 Archived-At: This is a multi-part message in MIME format. --------------AA9BA30489307CC49B3D1D86 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit On 1/5/2022 6:50 AM, Eli Zaretskii wrote: >> Cc: 52999@debbugs.gnu.org >> From: Jim Porter >> Date: Tue, 4 Jan 2022 13:09:29 -0800 >> >> +@item symbol >> +This element is the name of the Lisp symbol that will be bound to >> +@var{value}. > > Is it a symbol or its name (a string)? You say "name", but the > example: > >> If @var{symbol} is @code{nil}, specifying this switch > > uses a symbol, not its name. Good catch. I've fixed this to say that it's the Lisp symbol. >> +@item :preserve-args >> +If present, do not pass @var{macro-args} through @code{flatten-tree} >> +and @code{eshell-stringify-list}. > > I think this should explain the effect of that, or the difference > between using and not using this keyword. I had to do a bit of digging to figure out what this keyword is supposed to do in practice. It seems that it's used when a built-in Eshell command wants to be able to accept arbitrary Lisp objects as arguments, instead of working with just a flat list of strings. I've added more detail to this paragraph. >> +--- >> +** 'eshell-eval-using-options' now follows POSIX/GNU argument syntax conventions. >> +This now accepts command-line options with values passed as a single > ^^^^ > "Eshell" instead of "This" will make it more clear what you mean. Ok, I updated this to refer to "Built-in commands in Eshell". Thanks for looking over the patch. --------------AA9BA30489307CC49B3D1D86 Content-Type: text/plain; charset=UTF-8; name="0001-Follow-POSIX-GNU-argument-conventions-for-eshell-eva.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename*0="0001-Follow-POSIX-GNU-argument-conventions-for-eshell-eva.pa"; filename*1="tch" RnJvbSA0NWY0ODA0MWM2NDkxNWI0YzA1MDI0YjQyNmMxNjNiYjQxOWQwODNkIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gUG9ydGVyIDxqcG9ydGVyYnVnc0BnbWFpbC5j b20+CkRhdGU6IFR1ZSwgNCBKYW4gMjAyMiAxMjo1ODozOCAtMDgwMApTdWJqZWN0OiBbUEFU Q0hdIEZvbGxvdyBQT1NJWC9HTlUgYXJndW1lbnQgY29udmVudGlvbnMgZm9yCiAnZXNoZWxs LWV2YWwtdXNpbmctb3B0aW9ucycKCiogbGlzcC9lc2hlbGwvZXNoLW9wdC5lbCAoZXNoZWxs LS1zcGxpdC1zd2l0Y2gpOiBOZXcgZnVuY3Rpb24uCihlc2hlbGwtc2V0LW9wdGlvbik6IEFs bG93IHNldHRpbmcgYSBzdXBwbGllZCB2YWx1ZSBpbnN0ZWFkIG9mIGFsd2F5cwpjb25zdW1p bmcgZnJvbSAnZXNoZWxsLS1hcmdzJy4KKGVzaGVsbC0tcHJvY2Vzcy1vcHRpb24pOiBTdXBw b3J0IGNvbnN1bWluZyBvcHRpb24gdmFsdWVzIHNwZWNpZmllZCBhcwphIHNpbmdsZSB0b2tl bi4KKGVzaGVsbC0tcHJvY2Vzcy1hcmdzKTogRm9yIHNob3J0IG9wdGlvbnMsIHBhc3MgZnVs bCBzd2l0Y2ggdG9rZW4gdG8KJ2VzaGVsbC0tcHJvY2Vzcy1vcHRpb24nLgoKKiB0ZXN0L2xp c3AvZXNoZWxsL2VzaC1vcHQtdGVzdHMuZWwgKGVzaC1vcHQtcHJvY2Vzcy1hcmdzLXRlc3Qp OiBGaXgKdGVzdC4KKHRlc3QtZXNoZWxsLWV2YWwtdXNpbmctb3B0aW9ucyk6IEFkZCB0ZXN0 cyBmb3IgdmFyaW91cyB0eXBlcyBvZgpvcHRpb25zLgoKKiBkb2MvbWlzYy9lc2hlbGwudGV4 aSAoRGVmaW5pbmcgbmV3IGJ1aWx0LWluIGNvbW1hbmRzKTogTmV3CnN1YnNlY3Rpb24sIGRl c2NyaWJlIGhvdyB0byB1c2UgJ2VzaGVsbC1ldmFsLXVzaW5nLW9wdGlvbnMnLgoKKiBldGMv TkVXUzogQW5ub3VuY2UgdGhlIGNoYW5nZS4KLS0tCiBkb2MvbWlzYy9lc2hlbGwudGV4aSAg ICAgICAgICAgICAgfCAxMjAgKysrKysrKysrKysrKysrKysrKysrKysrCiBldGMvTkVXUyAg ICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDYgKysKIGxpc3AvZXNoZWxsL2VzaC1vcHQu ZWwgICAgICAgICAgICB8ICA5MCArKysrKysrKysrKystLS0tLS0KIHRlc3QvbGlzcC9lc2hl bGwvZXNoLW9wdC10ZXN0cy5lbCB8IDE1MSArKysrKysrKysrKysrKysrKysrKysrLS0tLS0t LS0KIDQgZmlsZXMgY2hhbmdlZCwgMjk4IGluc2VydGlvbnMoKyksIDY5IGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL2RvYy9taXNjL2VzaGVsbC50ZXhpIGIvZG9jL21pc2MvZXNoZWxs LnRleGkKaW5kZXggYTg3ZGQ0MzA4Yy4uZDcyY2E1YWZlOSAxMDA2NDQKLS0tIGEvZG9jL21p c2MvZXNoZWxsLnRleGkKKysrIGIvZG9jL21pc2MvZXNoZWxsLnRleGkKQEAgLTY5NCw2ICs2 OTQsMTI2IEBAIEJ1aWx0LWlucwogc3VwcG9ydHMgVHJhbXAuCiBAZW5kIHRhYmxlCiAKK0Bz dWJzZWN0aW9uIERlZmluaW5nIG5ldyBidWlsdC1pbiBjb21tYW5kcworV2hpbGUgRXNoZWxs IGNhbiBydW4gTGlzcCBmdW5jdGlvbnMgZGlyZWN0bHkgYXMgY29tbWFuZHMsIGl0IG1heSBi ZQorbW9yZSBjb252ZW5pZW50IHRvIHByb3ZpZGUgYSBzcGVjaWFsIGJ1aWx0LWluIGNvbW1h bmQgZm9yCitFc2hlbGwuICBCdWlsdC1pbiBjb21tYW5kcyBhcmUganVzdCBvcmRpbmFyeSBM aXNwIGZ1bmN0aW9ucyBkZXNpZ25lZAordG8gYmUgY2FsbGVkIGZyb20gRXNoZWxsLiAgV2hl biBkZWZpbmluZyBhbiBFc2hlbGwtc3BlY2lmaWMgdmVyc2lvbiBvZgorYW4gZXhpc3Rpbmcg ZnVuY3Rpb24sIHlvdSBjYW4gZ2l2ZSB0aGF0IGZ1bmN0aW9uIGEgbmFtZSBzdGFydGluZyB3 aXRoCitAY29kZXtlc2hlbGwvfSBzbyB0aGF0IEVzaGVsbCBrbm93cyB0byB1c2UgaXQuCisK K0BkZWZtYWMgZXNoZWxsLWV2YWwtdXNpbmctb3B0aW9ucyBuYW1lIG1hY3JvLWFyZ3Mgb3B0 aW9ucyBib2R5QGRvdHN7fQorVGhpcyBtYWNybyBwcm9jZXNzZXMgYSBsaXN0IG9mIEB2YXJ7 bWFjcm8tYXJnc30gZm9yIHRoZSBjb21tYW5kCitAdmFye25hbWV9IHVzaW5nIGEgc2V0IG9m IGNvbW1hbmQgbGluZSBAdmFye29wdGlvbnN9LiAgSWYgdGhlCithcmd1bWVudHMgYXJlIHBh cnNlZCBzdWNjZXNzZnVsbHksIGl0IHdpbGwgc3RvcmUgdGhlIHJlc3VsdGluZyB2YWx1ZXMK K2luIGxvY2FsIHN5bWJvbHMgYW5kIGV4ZWN1dGUgQHZhcntib2R5fTsgYW55IHJlbWFpbmlu ZyBhcmd1bWVudHMgd2lsbAorYmUgYXZhaWxhYmxlIGluIHRoZSBsb2NhbGx5IGxldC1ib3Vu ZCB2YXJpYWJsZSBAY29kZXthcmdzfS4gIFRoZQorcmV0dXJuIHZhbHVlIGlzIHRoZSB2YWx1 ZSBvZiB0aGUgbGFzdCBmb3JtIGluIEB2YXJ7Ym9keX0uCisKK0lmIGFuIHVua25vd24gb3B0 aW9uIHdhcyBwYXNzZWQgaW4gQHZhcnttYWNyby1hcmdzfSBhbmQgYW4gZXh0ZXJuYWwKK2Nv bW1hbmQgd2FzIHNwZWNpZmllZCAoc2VlIGJlbG93KSwgdGhpcyBtYWNybyB3aWxsIHN0YXJ0 IGEgcHJvY2VzcyBmb3IKK3RoYXQgY29tbWFuZCBhbmQgdGhyb3cgdGhlIHRhZyBAY29kZXtl c2hlbGwtZXh0ZXJuYWx9IHdpdGggdGhlIG5ldworcHJvY2VzcyBhcyBpdHMgdmFsdWUuCisK K0B2YXJ7b3B0aW9uc30gc2hvdWxkIGJlIGEgbGlzdCBiZWdpbm5pbmcgd2l0aCBvbmUgb3Ig bW9yZSBlbGVtZW50cyBvZgordGhlIGZvbGxvd2luZyBmb3JtLCB3aXRoIGVhY2ggZWxlbWVu dCByZXByZXNlbnRpbmcgYSBwYXJ0aWN1bGFyCitjb21tYW5kLWxpbmUgc3dpdGNoOgorCitA ZXhhbXBsZQorKEB2YXJ7c2hvcnR9IEB2YXJ7bG9uZ30gQHZhcnt2YWx1ZX0gQHZhcntzeW1i b2x9IEB2YXJ7aGVscC1zdHJpbmd9KQorQGVuZCBleGFtcGxlCisKK0B0YWJsZSBAdmFyCitA aXRlbSBzaG9ydAorVGhpcyBlbGVtZW50LCBpZiBub24tbmlsLCBzaG91bGQgYmUgYSBjaGFy YWN0ZXIgdG8gYmUgdXNlZCBhcyBhIHNob3J0Citzd2l0Y2gsIGxpa2UgQGNvZGV7LUB2YXJ7 c2hvcnR9fS4gIEF0IGxlYXN0IG9uZSBvZiB0aGlzIGVsZW1lbnQgYW5kCitAdmFye2xvbmd9 IG11c3QgYmUgbm9uLW5pbC4KKworQGl0ZW0gbG9uZworVGhpcyBlbGVtZW50LCBpZiBub24t bmlsLCBzaG91bGQgYmUgYSBzdHJpbmcgdG8gYmUgdXNlZCBhcyBhIGxvbmcKK3N3aXRjaCwg bGlrZSBAY29kZXstLUB2YXJ7bG9uZ319LgorCitAaXRlbSB2YWx1ZQorVGhpcyBlbGVtZW50 IGlzIHRoZSB2YWx1ZSBhc3NvY2lhdGVkIHdpdGggdGhlIG9wdGlvbi4gIEl0IGNhbiBiZQor ZWl0aGVyOgorCitAdGFibGUgQGFzaXMKK0BpdGVtIEBjb2Rle3R9CitUaGUgb3B0aW9uIG5l ZWRzIGEgdmFsdWUgdG8gYmUgc3BlY2lmaWVkIGFmdGVyIHRoZSBzd2l0Y2guCisKK0BpdGVt IEBjb2Rle25pbH0KK1RoZSBvcHRpb24gaXMgZ2l2ZW4gdGhlIHZhbHVlIEBjb2Rle3R9Lgor CitAaXRlbSBhbnl0aGluZyBlbHNlCitUaGUgb3B0aW9uIGlzIGdpdmVuIHRoZSBzcGVjaWZp ZWQgdmFsdWUuCitAZW5kIHRhYmxlCisKK0BpdGVtIHN5bWJvbAorVGhpcyBlbGVtZW50IGlz IHRoZSBMaXNwIHN5bWJvbCB0aGF0IHdpbGwgYmUgYm91bmQgdG8gQHZhcnt2YWx1ZX0uICBJ ZgorQHZhcntzeW1ib2x9IGlzIEBjb2Rle25pbH0sIHNwZWNpZnlpbmcgdGhpcyBzd2l0Y2gg d2lsbCBpbnN0ZWFkIGNhbGwKK0Bjb2Rle2VzaGVsbC1zaG93LXVzYWdlfSwgYW5kIHNvIGlz IGFwcHJvcHJpYXRlIGZvciBhbiBvcHRpb24gbGlrZQorQGNvZGV7LS1oZWxwfS4KKworQGl0 ZW0gaGVscC1zdHJpbmcKK1RoaXMgZWxlbWVudCBpcyBhIGRvY3VtZW50YXRpb24gc3RyaW5n IGZvciB0aGUgb3B0aW9uLCB3aGljaCB3aWxsIGJlCitkaXNwbGF5ZWQgd2hlbiBAY29kZXtl c2hlbGwtc2hvdy11c2FnZX0gaXMgaW52b2tlZC4KK0BlbmQgdGFibGUKKworQWZ0ZXIgdGhl IGxpc3Qgb2YgY29tbWFuZC1saW5lIHN3aXRjaCBlbGVtZW50cywgQHZhcntvcHRpb25zfSBj YW4KK2luY2x1ZGUgYWRkaXRpb25hbCBrZXl3b3JkIGFyZ3VtZW50cyB0byBjb250cm9sIGhv dworQGNvZGV7ZXNoZWxsLWV2YWwtdXNpbmctb3B0aW9uc30gYmVoYXZlcy4gIFNvbWUgb2Yg dGhlc2UgdGFrZQorYXJndW1lbnRzLCB3aGlsZSBvdGhlcnMgZG9uJ3QuICBUaGUgcmVjb2du aXplZCBrZXl3b3JkcyBhcmU6CisKK0B0YWJsZSBAY29kZQorQGl0ZW0gOmV4dGVybmFsIEB2 YXJ7c3RyaW5nfQorU3BlY2lmeSBAdmFye3N0cmluZ30gYXMgYW4gZXh0ZXJuYWwgY29tbWFu ZCB0byBydW4gaWYgdGhlcmUgYXJlCit1bmtub3duIHN3aXRjaGVzIGluIEB2YXJ7bWFjcm8t YXJnc30uCisKK0BpdGVtIDp1c2FnZSBAdmFye3N0cmluZ30KK1NldCBAdmFye3N0cmluZ30g YXMgdGhlIGluaXRpYWwgcGFydCBvZiB0aGUgY29tbWFuZCdzIGRvY3VtZW50YXRpb24KK3N0 cmluZy4gIEl0IGFwcGVhcnMgYmVmb3JlIHRoZSBvcHRpb25zIGFyZSBsaXN0ZWQuCisKK0Bp dGVtIDpwb3N0LXVzYWdlIEB2YXJ7c3RyaW5nfQorU2V0IEB2YXJ7c3RyaW5nfSB0byBiZSB0 aGUgKG9wdGlvbmFsKSB0cmFpbGluZyBwYXJ0IG9mIHRoZSBjb21tYW5kJ3MKK2RvY3VtZW50 YXRpb24gc3RyaW5nLiAgSXQgYXBwZWFycyBhZnRlciB0aGUgbGlzdCBvZiBvcHRpb25zLCBi dXQKK2JlZm9yZSB0aGUgZmluYWwgcGFydCBvZiB0aGUgZG9jdW1lbnRhdGlvbiBhYm91dCB0 aGUgYXNzb2NpYXRlZAorZXh0ZXJuYWwgY29tbWFuZCwgaWYgdGhlcmUgaXMgb25lLgorCitA aXRlbSA6c2hvdy11c2FnZQorSWYgcHJlc2VudCwgdGhlbiBzaG93IHRoZSB1c2FnZSBtZXNz YWdlIGlmIHRoZSBjb21tYW5kIGlzIGNhbGxlZCB3aXRoCitubyBhcmd1bWVudHMuCisKK0Bp dGVtIDpwcmVzZXJ2ZS1hcmdzCitOb3JtYWxseSwgQGNvZGV7ZXNoZWxsLWV2YWwtdXNpbmct b3B0aW9uc30gZmxhdHRlbnMgdGhlIGxpc3Qgb2YKK2FyZ3VtZW50cyBpbiBAdmFye21hY3Jv LWFyZ3N9IGFuZCBjb252ZXJ0cyBlYWNoIHRvIGEgc3RyaW5nLiAgSWYgdGhpcwora2V5d29y ZCBpcyBwcmVzZW50LCBhdm9pZCBkb2luZyB0aGF0LCBpbnN0ZWFkIHByZXNlcnZpbmcgdGhl IG9yaWdpbmFsCithcmd1bWVudHMuICBUaGlzIGlzIHVzZWZ1bCBmb3IgY29tbWFuZHMgd2hp Y2ggd2FudCB0byBhY2NlcHQgYXJiaXRyYXJ5CitMaXNwIG9iamVjdHMuCisKK0BpdGVtIDpw YXJzZS1sZWFkaW5nLW9wdGlvbnMtb25seQorSWYgcHJlc2VudCwgZG8gbm90IHBhcnNlIGRh c2ggb3Igc3dpdGNoIGFyZ3VtZW50cyBhZnRlciB0aGUgZmlyc3QKK3Bvc2l0aW9uYWwgYXJn dW1lbnQuICBJbnN0ZWFkLCB0cmVhdCB0aGVtIGFzIHBvc2l0aW9uYWwgYXJndW1lbnRzCit0 aGVtc2VsdmVzLgorQGVuZCB0YWJsZQorCitGb3IgZXhhbXBsZSwgeW91IGNvdWxkIGhhbmRs ZSBhIHN1YnNldCBvZiB0aGUgb3B0aW9ucyBmb3IgdGhlCitAY29kZXtsc30gY29tbWFuZCBs aWtlIHRoaXM6CisKK0BleGFtcGxlCisoZXNoZWxsLWV2YWwtdXNpbmctb3B0aW9ucworICJs cyIgbWFjcm8tYXJncworICcoKD9hICBuaWwgICAgICBuaWwgc2hvdy1hbGwgICAgICAgInNo b3cgYWxsIGZpbGVzIikKKyAgICg/SSAgImlnbm9yZSIgdCAgIGlnbm9yZS1wYXR0ZXJuICJp Z25vcmUgZmlsZXMgbWF0Y2hpbmcgcGF0dGVybiIpCisgICAobmlsICJoZWxwIiAgIG5pbCBu aWwgICAgICAgICAgICAic2hvdyB0aGlzIGhlbHAgbWVzc2FnZSIpCisgOmV4dGVybmFsICJs cyIKKyA6dXNhZ2UgIltPUFRJT05dLi4uIFtGSUxFXS4uLgorICBMaXN0IGluZm9ybWF0aW9u IGFib3V0IEZJTEVzICh0aGUgY3VycmVudCBkaXJlY3RvcnkgYnkgZGVmYXVsdCkuIikKKyA7 OyBMaXN0IHRoZSBmaWxlcyBpbiBBUkdTIHNvbWVob3cuLi4KKyApCitAZW5kIGV4YW1wbGUK KworQGVuZCBkZWZtYWMKKwogQHN1YnNlY3Rpb24gQnVpbHQtaW4gdmFyaWFibGVzCiBFc2hl bGwga25vd3MgYSBmZXcgYnVpbHQtaW4gdmFyaWFibGVzOgogCmRpZmYgLS1naXQgYS9ldGMv TkVXUyBiL2V0Yy9ORVdTCmluZGV4IGNhNmE3MTZjY2QuLmU2YmNiZjVhODYgMTAwNjQ0Ci0t LSBhL2V0Yy9ORVdTCisrKyBiL2V0Yy9ORVdTCkBAIC0xMDYwLDYgKzEwNjAsMTIgQEAgZGlt ZW5zaW9ucy4KIFNwZWNpZnlpbmcgYSBjb25zIGFzIHRoZSBmcm9tIGFyZ3VtZW50IGFsbG93 cyB0byBzdGFydCBtZWFzdXJpbmcgdGV4dAogZnJvbSBhIHNwZWNpZmllZCBhbW91bnQgb2Yg cGl4ZWxzIGFib3ZlIG9yIGJlbG93IGEgcG9zaXRpb24uCiAKKy0tLQorKiogJ2VzaGVsbC1l dmFsLXVzaW5nLW9wdGlvbnMnIG5vdyBmb2xsb3dzIFBPU0lYL0dOVSBhcmd1bWVudCBzeW50 YXggY29udmVudGlvbnMuCitCdWlsdC1pbiBjb21tYW5kcyBpbiBFc2hlbGwgbm93IGFjY2Vw dCBjb21tYW5kLWxpbmUgb3B0aW9ucyB3aXRoCit2YWx1ZXMgcGFzc2VkIGFzIGEgc2luZ2xl IHRva2VuLCBzdWNoIGFzICctb1ZBTFVFJyBvcgorJy0tb3B0aW9uPVZBTFVFJy4KKwogKiog WERHIHN1cHBvcnQKIAogKioqIE5ldyBmdW5jdGlvbiAneGRnLXN0YXRlLWhvbWUnIHJldHVy bnMgJ1hER19TVEFURV9IT01FJyBlbnZpcm9ubWVudCB2YXJpYWJsZS4KZGlmZiAtLWdpdCBh L2xpc3AvZXNoZWxsL2VzaC1vcHQuZWwgYi9saXNwL2VzaGVsbC9lc2gtb3B0LmVsCmluZGV4 IDdkMzE4NDU1MjguLmZjYzM1NzgwZTkgMTAwNjQ0Ci0tLSBhL2xpc3AvZXNoZWxsL2VzaC1v cHQuZWwKKysrIGIvbGlzcC9lc2hlbGwvZXNoLW9wdC5lbApAQCAtMTg3LDQ5ICsxODcsODIg QEAgZXNoZWxsLXNob3ctdXNhZ2UKIHdpbGwgYmUgY2FsbGVkIGluc3RlYWQuIiBleHRjbWQp KSkpKQogICAgICh0aHJvdyAnZXNoZWxsLXVzYWdlIHVzYWdlKSkpCiAKLShkZWZ1biBlc2hl bGwtLXNldC1vcHRpb24gKG5hbWUgYWkgb3B0IG9wdGlvbnMgb3B0LXZhbHMpCisoZGVmdW4g ZXNoZWxsLS1zcGxpdC1zd2l0Y2ggKHN3aXRjaCBraW5kKQorICAiU3BsaXQgU1dJVENIIGlu dG8gaXRzIG9wdGlvbiBuYW1lIGFuZCBwb3RlbnRpYWwgdmFsdWUsIGlmIGFueS4KK0tJTkQg c2hvdWxkIGJlIHRoZSBpbnRlZ2VyIDAgaWYgU1dJVENIIGlzIGEgc2hvcnQgb3B0aW9uLCBv ciAxIGlmIGl0J3MKK2EgbG9uZyBvcHRpb24uIgorICAoaWYgKGVxIGtpbmQgMCkKKyAgICAg IDs7IFNob3J0IG9wdGlvbgorICAgICAgKGNvbnMgKGFyZWYgc3dpdGNoIDApCisgICAgICAg ICAgICAoYW5kICg+IChsZW5ndGggc3dpdGNoKSAxKSAoc3Vic3RyaW5nIHN3aXRjaCAxKSkp CisgICAgOzsgTG9uZyBvcHRpb24KKyAgICAoc2F2ZS1tYXRjaC1kYXRhCisgICAgICAoc3Ry aW5nLW1hdGNoICJcXChbXj1dKlxcKVxcKD86PVxcKC4qXFwpXFwpPyIgc3dpdGNoKQorICAg ICAgKGNvbnMgKG1hdGNoLXN0cmluZyAxIHN3aXRjaCkgKG1hdGNoLXN0cmluZyAyIHN3aXRj aCkpKSkpCisKKyhkZWZ1biBlc2hlbGwtLXNldC1vcHRpb24gKG5hbWUgYWkgb3B0IHZhbHVl IG9wdGlvbnMgb3B0LXZhbHMpCiAgICJVc2luZyBOQU1FJ3MgcmVtYWluaW5nIGFyZ3MgKGlu ZGV4IEFJKSwgc2V0IHRoZSBPUFQgd2l0aGluIE9QVElPTlMuCi1JZiB0aGUgb3B0aW9uIGNv bnN1bWVzIGFuIGFyZ3VtZW50IGZvciBpdHMgdmFsdWUsIHRoZSBhcmd1bWVudCBsaXN0Ci13 aWxsIGJlIG1vZGlmaWVkLiIKK1ZBTFVFIGlzIHRoZSBwb3RlbnRpYWwgdmFsdWUgb2YgdGhl IE9QVCwgY29taW5nIGZyb20gYXJncyBsaWtlCitcIi1mVkFMVUVcIiBvciBcIi0tZm9vPVZB TFVFXCIsIG9yIG5pbCBpZiBubyB2YWx1ZSB3YXMgc3VwcGxpZWQuICBJZgorT1BUIGRvZXNu J3QgY29uc3VtZSBhIHZhbHVlLCByZXR1cm4gVkFMVUUgdW5jaGFuZ2VkIHNvIHRoYXQgaXQg Y2FuIGJlCitwcm9jZXNzZWQgbGF0ZXI7IG90aGVyd3NpZSwgcmV0dXJuIG5pbC4KKworSWYg dGhlIE9QVCBjb25zdW1lcyBhbiBhcmd1bWVudCBmb3IgaXRzIHZhbHVlIGFuZCBWQUxVRSBp cyBuaWwsIHRoZQorYXJndW1lbnQgbGlzdCB3aWxsIGJlIG1vZGlmaWVkLiIKICAgKGlmIChu b3QgKG50aCAzIG9wdCkpCiAgICAgICAoZXNoZWxsLXNob3ctdXNhZ2UgbmFtZSBvcHRpb25z KQotICAgIChzZXRjZHIgKGFzc3EgKG50aCAzIG9wdCkgb3B0LXZhbHMpCi0gICAgICAgICAg ICAoaWYgKGVxIChudGggMiBvcHQpIHQpCi0gICAgICAgICAgICAgICAgKGlmICg+IGFpIChs ZW5ndGggZXNoZWxsLS1hcmdzKSkKLSAgICAgICAgICAgICAgICAgICAgKGVycm9yICIlczog bWlzc2luZyBvcHRpb24gYXJndW1lbnQiIG5hbWUpCi0gICAgICAgICAgICAgICAgICAocG9w IChudGhjZHIgYWkgZXNoZWxsLS1hcmdzKSkpCi0gICAgICAgICAgICAgIChvciAobnRoIDIg b3B0KSB0KSkpKSkKKyAgICAoaWYgKGVxIChudGggMiBvcHQpIHQpCisgICAgICAgIChwcm9n bgorICAgICAgICAgIChzZXRjZHIgKGFzc3EgKG50aCAzIG9wdCkgb3B0LXZhbHMpCisgICAg ICAgICAgICAgICAgICAob3IgdmFsdWUKKyAgICAgICAgICAgICAgICAgICAgICAoaWYgKD4g YWkgKGxlbmd0aCBlc2hlbGwtLWFyZ3MpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAo ZXJyb3IgIiVzOiBtaXNzaW5nIG9wdGlvbiBhcmd1bWVudCIgbmFtZSkKKyAgICAgICAgICAg ICAgICAgICAgICAgIChwb3AgKG50aGNkciBhaSBlc2hlbGwtLWFyZ3MpKSkpKQorICAgICAg ICAgIG5pbCkKKyAgICAgIChzZXRjZHIgKGFzc3EgKG50aCAzIG9wdCkgb3B0LXZhbHMpCisg ICAgICAgICAgICAgIChvciAobnRoIDIgb3B0KSB0KSkKKyAgICAgIHZhbHVlKSkpCiAKIChk ZWZ1biBlc2hlbGwtLXByb2Nlc3Mtb3B0aW9uIChuYW1lIHN3aXRjaCBraW5kIGFpIG9wdGlv bnMgb3B0LXZhbHMpCiAgICJGb3IgTkFNRSwgcHJvY2VzcyBTV0lUQ0ggKG9mIHR5cGUgS0lO RCksIGZyb20gYXJncyBhdCBpbmRleCBBSS4KIFRoZSBTV0lUQ0ggd2lsbCBiZSBsb29rZWQg dXAgaW4gdGhlIHNldCBvZiBPUFRJT05TLgogCi1TV0lUQ0ggc2hvdWxkIGJlIGVpdGhlciBh IHN0cmluZyBvciBjaGFyYWN0ZXIuICBLSU5EIHNob3VsZCBiZSB0aGUKLWludGVnZXIgMCBp ZiBpdCdzIGEgY2hhcmFjdGVyLCBvciAxIGlmIGl0J3MgYSBzdHJpbmcuCi0KLVRoZSBTV0lU Q0ggaXMgdGhlbiBiZSBtYXRjaGVkIGFnYWluc3QgT1BUSU9OUy4gIElmIG5vIG1hdGNoaW5n IGhhbmRsZXIKLWlzIGZvdW5kLCBhbmQgYW4gOmV4dGVybmFsIGNvbW1hbmQgaXMgZGVmaW5l ZCAoYW5kIGF2YWlsYWJsZSksIGl0IHdpbGwKLWJlIGNhbGxlZDsgb3RoZXJ3aXNlLCBhbiBl cnJvciB3aWxsIGJlIHRyaWdnZXJlZCB0byBzYXkgdGhhdCB0aGUKLXN3aXRjaCBpcyB1bnJl Y29nbml6ZWQuIgotICAobGV0KiAoKG9wdHMgb3B0aW9ucykKLQkgZm91bmQpCitTV0lUQ0gg c2hvdWxkIGJlIGEgc3RyaW5nIHN0YXJ0aW5nIHdpdGggdGhlIG9wdGlvbiB0byBwcm9jZXNz LAorcG9zc2libHkgZm9sbG93ZWQgYnkgaXRzIHZhbHVlLCBlLmcuIFwidVwiIG9yIFwidVVT RVJcIi4gIEtJTkQgc2hvdWxkCitiZSB0aGUgaW50ZWdlciAwIGlmIGl0J3MgYSBzaG9ydCBv cHRpb24sIG9yIDEgaWYgaXQncyBhIGxvbmcgb3B0aW9uLgorCitUaGUgU1dJVENIIGlzIHRo ZW4gYmUgbWF0Y2hlZCBhZ2FpbnN0IE9QVElPTlMuICBJZiBLSU5EIGlzIDAgYW5kIHRoZQor U1dJVENIIG1hdGNoZXMgYW4gb3B0aW9uIHRoYXQgZG9lc24ndCB0YWtlIGEgdmFsdWUsIHJl dHVybiB0aGUKK3JlbWFpbmluZyBjaGFyYWN0ZXJzIGluIFNXSVRDSCB0byBiZSBwcm9jZXNz ZWQgbGF0ZXIgYXMgZnVydGhlciBzaG9ydAorb3B0aW9ucy4KKworSWYgbm8gbWF0Y2hpbmcg aGFuZGxlciBpcyBmb3VuZCwgYW5kIGFuIDpleHRlcm5hbCBjb21tYW5kIGlzIGRlZmluZWQK KyhhbmQgYXZhaWxhYmxlKSwgaXQgd2lsbCBiZSBjYWxsZWQ7IG90aGVyd2lzZSwgYW4gZXJy b3Igd2lsbCBiZQordHJpZ2dlcmVkIHRvIHNheSB0aGF0IHRoZSBzd2l0Y2ggaXMgdW5yZWNv Z25pemVkLiIKKyAgKGxldCAoKHN3aXRjaCAoZXNoZWxsLS1zcGxpdC1zd2l0Y2ggc3dpdGNo IGtpbmQpKQorICAgICAgICAob3B0cyBvcHRpb25zKQorCWZvdW5kIHJlbWFpbmluZykKICAg ICAod2hpbGUgb3B0cwogICAgICAgKGlmIChhbmQgKGxpc3RwIChjYXIgb3B0cykpCi0gICAg ICAgICAgICAgICAobnRoIGtpbmQgKGNhciBvcHRzKSkKLSAgICAgICAgICAgICAgIChlcXVh bCBzd2l0Y2ggKG50aCBraW5kIChjYXIgb3B0cykpKSkKKyAgICAgICAgICAgICAgIChlcXVh bCAoY2FyIHN3aXRjaCkgKG50aCBraW5kIChjYXIgb3B0cykpKSkKIAkgIChwcm9nbgotCSAg ICAoZXNoZWxsLS1zZXQtb3B0aW9uIG5hbWUgYWkgKGNhciBvcHRzKSBvcHRpb25zIG9wdC12 YWxzKQorCSAgICAoc2V0cSByZW1haW5pbmcgKGVzaGVsbC0tc2V0LW9wdGlvbiBuYW1lIGFp IChjYXIgb3B0cykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIChjZHIgc3dpdGNoKSBvcHRpb25zIG9wdC12YWxzKSkKKyAgICAgICAgICAgICh3 aGVuIChhbmQgcmVtYWluaW5nIChlcSBraW5kIDEpKQorICAgICAgICAgICAgICAoZXJyb3Ig IiVzOiBvcHRpb24gLS0lcyBkb2Vzbid0IGFsbG93IGFuIGFyZ3VtZW50IgorICAgICAgICAg ICAgICAgICAgICAgbmFtZSAoY2FyIHN3aXRjaCkpKQogCSAgICAoc2V0cSBmb3VuZCB0IG9w dHMgbmlsKSkKIAkoc2V0cSBvcHRzIChjZHIgb3B0cykpKSkKLSAgICAodW5sZXNzIGZvdW5k CisgICAgKGlmIGZvdW5kCisgICAgICAgIHJlbWFpbmluZwogICAgICAgKGxldCAoKGV4dGNt ZCAobWVtcSAnOmV4dGVybmFsIG9wdGlvbnMpKSkKIAkod2hlbiBleHRjbWQKIAkgIChzZXRx IGV4dGNtZCAoZXNoZWxsLXNlYXJjaC1wYXRoIChjYWRyIGV4dGNtZCkpKQogCSAgKGlmIGV4 dGNtZAogCSAgICAgICh0aHJvdyAnZXNoZWxsLWV4dC1jb21tYW5kIGV4dGNtZCkKLSAgICAg ICAgICAgIChlcnJvciAoaWYgKGNoYXJhY3RlcnAgc3dpdGNoKSAiJXM6IHVucmVjb2duaXpl ZCBvcHRpb24gLSVjIgorICAgICAgICAgICAgKGVycm9yIChpZiAoY2hhcmFjdGVycCAoY2Fy IHN3aXRjaCkpICIlczogdW5yZWNvZ25pemVkIG9wdGlvbiAtJWMiCiAgICAgICAgICAgICAg ICAgICAgICAiJXM6IHVucmVjb2duaXplZCBvcHRpb24gLS0lcyIpCi0gICAgICAgICAgICAg ICAgICAgbmFtZSBzd2l0Y2gpKSkpKSkpCisgICAgICAgICAgICAgICAgICAgbmFtZSAoY2Fy IHN3aXRjaCkpKSkpKSkpCiAKIChkZWZ1biBlc2hlbGwtLXByb2Nlc3MtYXJncyAobmFtZSBh cmdzIG9wdGlvbnMpCiAgICJQcm9jZXNzIHRoZSBnaXZlbiBBUkdTIHVzaW5nIE9QVElPTlMu IgpAQCAtMjYyLDEyICsyOTUsOSBAQCBlc2hlbGwtLXByb2Nlc3MtYXJncwogCSAgICAgIChp ZiAoPiAobGVuZ3RoIHN3aXRjaCkgMCkKIAkJICAoZXNoZWxsLS1wcm9jZXNzLW9wdGlvbiBu YW1lIHN3aXRjaCAxIGFpIG9wdGlvbnMgb3B0LXZhbHMpCiAJCShzZXRxIGFpIChsZW5ndGgg ZXNoZWxsLS1hcmdzKSkpCi0JICAgIChsZXQgKChsZW4gKGxlbmd0aCBzd2l0Y2gpKQotCQkg IChpbmRleCAwKSkKLQkgICAgICAod2hpbGUgKDwgaW5kZXggbGVuKQotCQkoZXNoZWxsLS1w cm9jZXNzLW9wdGlvbiBuYW1lIChhcmVmIHN3aXRjaCBpbmRleCkKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAwIGFpIG9wdGlvbnMgb3B0LXZhbHMpCi0JCShz ZXRxIGluZGV4ICgxKyBpbmRleCkpKSkpKSkpCisJICAgICAgKHdoaWxlICg+IChsZW5ndGgg c3dpdGNoKSAwKQorCQkoc2V0cSBzd2l0Y2ggKGVzaGVsbC0tcHJvY2Vzcy1vcHRpb24gbmFt ZSBzd2l0Y2ggMAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBhaSBvcHRpb25zIG9wdC12YWxzKSkpKSkpKQogICAgIChuY29uYyAobWFw Y2FyICMnY2RyIG9wdC12YWxzKSBlc2hlbGwtLWFyZ3MpKSkKIAogKHByb3ZpZGUgJ2VzaC1v cHQpCmRpZmYgLS1naXQgYS90ZXN0L2xpc3AvZXNoZWxsL2VzaC1vcHQtdGVzdHMuZWwgYi90 ZXN0L2xpc3AvZXNoZWxsL2VzaC1vcHQtdGVzdHMuZWwKaW5kZXggZTJhMGVhNTlkMS4uYzEz ZjVlMTViMyAxMDA2NDQKLS0tIGEvdGVzdC9saXNwL2VzaGVsbC9lc2gtb3B0LXRlc3RzLmVs CisrKyBiL3Rlc3QvbGlzcC9lc2hlbGwvZXNoLW9wdC10ZXN0cy5lbApAQCAtNTcsNyArNTcs NyBAQCBlc2gtb3B0LXByb2Nlc3MtYXJncy10ZXN0CiAgICAgICAgICAgICcoKD91ICJ1c2Vy IiB0IHVzZXIgImV4ZWN1dGUgYSBjb21tYW5kIGFzIGFub3RoZXIgVVNFUiIpCiAgICAgICAg ICAgICAgOnBhcnNlLWxlYWRpbmctb3B0aW9ucy1vbmx5KSkpKQogICAoc2hvdWxkCi0gICAo ZXF1YWwgJygid29ybGQiICJlbWVyZ2UiKQorICAgKGVxdWFsICcoIkROIiAiZW1lcmdlIiAi d29ybGQiKQogICAgICAgICAgIChlc2hlbGwtLXByb2Nlc3MtYXJncwogICAgICAgICAgICAi c3VkbyIKICAgICAgICAgICAgJygiLXUiICJyb290IiAiZW1lcmdlIiAiLXVETiIgIndvcmxk IikKQEAgLTY1LDU5ICs2NSwxMzIgQEAgZXNoLW9wdC1wcm9jZXNzLWFyZ3MtdGVzdAogCiAo ZXJ0LWRlZnRlc3QgdGVzdC1lc2hlbGwtZXZhbC11c2luZy1vcHRpb25zICgpCiAgICJUZXN0 cyBmb3IgYGVzaGVsbC1ldmFsLXVzaW5nLW9wdGlvbnMnLiIKKyAgOzsgVGVzdCBzaG9ydCBv cHRpb25zLgogICAoZXNoZWxsLWV2YWwtdXNpbmctb3B0aW9ucwotICAgInN1ZG8iICcoIi11 IiAicm9vdCIgIndob2FtaSIpCi0gICAnKCg/dSAidXNlciIgdCB1c2VyICJleGVjdXRlIGEg Y29tbWFuZCBhcyBhbm90aGVyIFVTRVIiKQotICAgICA6cGFyc2UtbGVhZGluZy1vcHRpb25z LW9ubHkpCi0gICAoc2hvdWxkIChlcXVhbCB1c2VyICJyb290IikpKQorICAgImxzIiAnKCIt YSIgIi9zb21lL3BhdGgiKQorICAgJygoP2EgImFsbCIgbmlsIHNob3ctYWxsCisgICAgICAg ICAiZG8gbm90IGlnbm9yZSBlbnRyaWVzIHN0YXJ0aW5nIHdpdGggLiIpKQorICAgKHNob3Vs ZCAoZXEgc2hvdy1hbGwgdCkpCisgICAoc2hvdWxkIChlcXVhbCBhcmdzICcoIi9zb21lL3Bh dGgiKSkpKQogICAoZXNoZWxsLWV2YWwtdXNpbmctb3B0aW9ucwotICAgInN1ZG8iICcoIi0t dXNlciIgInJvb3QiICJ3aG9hbWkiKQotICAgJygoP3UgInVzZXIiIHQgdXNlciAiZXhlY3V0 ZSBhIGNvbW1hbmQgYXMgYW5vdGhlciBVU0VSIikKLSAgICAgOnBhcnNlLWxlYWRpbmctb3B0 aW9ucy1vbmx5KQotICAgKHNob3VsZCAoZXF1YWwgdXNlciAicm9vdCIpKSkKKyAgICJscyIg JygiL3NvbWUvcGF0aCIpCisgICAnKCg/YSAiYWxsIiBuaWwgc2hvdy1hbGwKKyAgICAgICAg ICJkbyBub3QgaWdub3JlIGVudHJpZXMgc3RhcnRpbmcgd2l0aCAuIikpCisgICAoc2hvdWxk IChlcSBzaG93LWFsbCBuaWwpKQorICAgKHNob3VsZCAoZXF1YWwgYXJncyAnKCIvc29tZS9w YXRoIikpKSkKIAorICA7OyBUZXN0IGxvbmcgb3B0aW9ucy4KICAgKGVzaGVsbC1ldmFsLXVz aW5nLW9wdGlvbnMKLSAgICJzdWRvIiAnKCJlbWVyZ2UiICItdUROIiAid29ybGQiKQotICAg JygoP3UgInVzZXIiIHQgdXNlciAiZXhlY3V0ZSBhIGNvbW1hbmQgYXMgYW5vdGhlciBVU0VS IikpCi0gICAoc2hvdWxkIChlcXVhbCB1c2VyICJ3b3JsZCIpKSkKKyAgICJscyIgJygiLS1h bGwiICIvc29tZS9wYXRoIikKKyAgICcoKD9hICJhbGwiIG5pbCBzaG93LWFsbAorICAgICAg ICAgImRvIG5vdCBpZ25vcmUgZW50cmllcyBzdGFydGluZyB3aXRoIC4iKSkKKyAgIChzaG91 bGQgKGVxIHNob3ctYWxsIHQpKQorICAgKHNob3VsZCAoZXF1YWwgYXJncyAnKCIvc29tZS9w YXRoIikpKSkKKworICA7OyBUZXN0IG9wdGlvbnMgd2l0aCBjb25zdGFudCB2YWx1ZXMuCiAg IChlc2hlbGwtZXZhbC11c2luZy1vcHRpb25zCi0gICAic3VkbyIgJygiZW1lcmdlIiAiLXVE TiIgIndvcmxkIikKLSAgICcoKD91ICJ1c2VyIiB0IHVzZXIgImV4ZWN1dGUgYSBjb21tYW5k IGFzIGFub3RoZXIgVVNFUiIpCi0gICAgIDpwYXJzZS1sZWFkaW5nLW9wdGlvbnMtb25seSkK LSAgIChzaG91bGQgKGVxIHVzZXIgbmlsKSkpCisgICAibHMiICcoIi9zb21lL3BhdGgiICIt aCIpCisgICAnKCg/aCAiaHVtYW4tcmVhZGFibGUiIDEwMjQgaHVtYW4tcmVhZGFibGUKKyAg ICAgICAgICJwcmludCBzaXplcyBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXQiKSkKKyAgIChz aG91bGQgKGVxbCBodW1hbi1yZWFkYWJsZSAxMDI0KSkKKyAgIChzaG91bGQgKGVxdWFsIGFy Z3MgJygiL3NvbWUvcGF0aCIpKSkpCisgIChlc2hlbGwtZXZhbC11c2luZy1vcHRpb25zCisg ICAibHMiICcoIi9zb21lL3BhdGgiICItLWh1bWFuLXJlYWRhYmxlIikKKyAgICcoKD9oICJo dW1hbi1yZWFkYWJsZSIgMTAyNCBodW1hbi1yZWFkYWJsZQorICAgICAgICAgInByaW50IHNp emVzIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdCIpKQorICAgKHNob3VsZCAoZXFsIGh1bWFu LXJlYWRhYmxlIDEwMjQpKQorICAgKHNob3VsZCAoZXF1YWwgYXJncyAnKCIvc29tZS9wYXRo IikpKSkKKyAgKGVzaGVsbC1ldmFsLXVzaW5nLW9wdGlvbnMKKyAgICJscyIgJygiL3NvbWUv cGF0aCIpCisgICAnKCg/aCAiaHVtYW4tcmVhZGFibGUiIDEwMjQgaHVtYW4tcmVhZGFibGUK KyAgICAgICAgICJwcmludCBzaXplcyBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXQiKSkKKyAg IChzaG91bGQgKGVxIGh1bWFuLXJlYWRhYmxlIG5pbCkpCisgICAoc2hvdWxkIChlcXVhbCBh cmdzICcoIi9zb21lL3BhdGgiKSkpKQogCisgIDs7IFRlc3Qgb3B0aW9ucyB3aXRoIHVzZXIt c3BlY2lmaWVkIHZhbHVlcy4KKyAgKGVzaGVsbC1ldmFsLXVzaW5nLW9wdGlvbnMKKyAgICJs cyIgJygiLUkiICIqLnR4dCIgIi9zb21lL3BhdGgiKQorICAgJygoP0kgImlnbm9yZSIgdCBp Z25vcmUtcGF0dGVybgorICAgICAgICAgImRvIG5vdCBsaXN0IGltcGxpZWQgZW50cmllcyBt YXRjaGluZyBwYXR0ZXJuIikpCisgICAoc2hvdWxkIChlcXVhbCBpZ25vcmUtcGF0dGVybiAi Ki50eHQiKSkKKyAgIChzaG91bGQgKGVxdWFsIGFyZ3MgJygiL3NvbWUvcGF0aCIpKSkpCisg IChlc2hlbGwtZXZhbC11c2luZy1vcHRpb25zCisgICAibHMiICcoIi1JKi50eHQiICIvc29t ZS9wYXRoIikKKyAgICcoKD9JICJpZ25vcmUiIHQgaWdub3JlLXBhdHRlcm4KKyAgICAgICAg ICJkbyBub3QgbGlzdCBpbXBsaWVkIGVudHJpZXMgbWF0Y2hpbmcgcGF0dGVybiIpKQorICAg KHNob3VsZCAoZXF1YWwgaWdub3JlLXBhdHRlcm4gIioudHh0IikpCisgICAoc2hvdWxkIChl cXVhbCBhcmdzICcoIi9zb21lL3BhdGgiKSkpKQogICAoZXNoZWxsLWV2YWwtdXNpbmctb3B0 aW9ucwotICAgImxzIiAnKCItSSIgIioudHh0IiAiL2Rldi9udWxsIikKKyAgICJscyIgJygi LS1pZ25vcmUiICIqLnR4dCIgIi9zb21lL3BhdGgiKQogICAgJygoP0kgImlnbm9yZSIgdCBp Z25vcmUtcGF0dGVybgotCSAiZG8gbm90IGxpc3QgaW1wbGllZCBlbnRyaWVzIG1hdGNoaW5n IHBhdHRlcm4iKSkKLSAgIChzaG91bGQgKGVxdWFsIGlnbm9yZS1wYXR0ZXJuICIqLnR4dCIp KSkKKyAgICAgICAgICJkbyBub3QgbGlzdCBpbXBsaWVkIGVudHJpZXMgbWF0Y2hpbmcgcGF0 dGVybiIpKQorICAgKHNob3VsZCAoZXF1YWwgaWdub3JlLXBhdHRlcm4gIioudHh0IikpCisg ICAoc2hvdWxkIChlcXVhbCBhcmdzICcoIi9zb21lL3BhdGgiKSkpKQorICAoZXNoZWxsLWV2 YWwtdXNpbmctb3B0aW9ucworICAgImxzIiAnKCItLWlnbm9yZT0qLnR4dCIgIi9zb21lL3Bh dGgiKQorICAgJygoP0kgImlnbm9yZSIgdCBpZ25vcmUtcGF0dGVybgorICAgICAgICAgImRv IG5vdCBsaXN0IGltcGxpZWQgZW50cmllcyBtYXRjaGluZyBwYXR0ZXJuIikpCisgICAoc2hv dWxkIChlcXVhbCBpZ25vcmUtcGF0dGVybiAiKi50eHQiKSkKKyAgIChzaG91bGQgKGVxdWFs IGFyZ3MgJygiL3NvbWUvcGF0aCIpKSkpCiAKKyAgOzsgVGVzdCBtdWx0aXBsZSBzaG9ydCBv cHRpb25zIGluIGEgc2luZ2xlIHRva2VuLgogICAoZXNoZWxsLWV2YWwtdXNpbmctb3B0aW9u cwotICAgImxzIiAnKCItbCIgIi9kZXYvbnVsbCIpCi0gICAnKCg/bCBuaWwgbG9uZy1saXN0 aW5nIGxpc3Rpbmctc3R5bGUKLQkgInVzZSBhIGxvbmcgbGlzdGluZyBmb3JtYXQiKSkKLSAg IChzaG91bGQgKGVxbCBsaXN0aW5nLXN0eWxlICdsb25nLWxpc3RpbmcpKSkKKyAgICJscyIg JygiLWFsIiAiL3NvbWUvcGF0aCIpCisgICAnKCg/YSAiYWxsIiBuaWwgc2hvdy1hbGwKKyAg ICAgICAgICJkbyBub3QgaWdub3JlIGVudHJpZXMgc3RhcnRpbmcgd2l0aCAuIikKKyAgICAg KD9sIG5pbCBsb25nLWxpc3RpbmcgbGlzdGluZy1zdHlsZQorICAgICAgICAgInVzZSBhIGxv bmcgbGlzdGluZyBmb3JtYXQiKSkKKyAgIChzaG91bGQgKGVxIHQgc2hvdy1hbGwpKQorICAg KHNob3VsZCAoZXFsIGxpc3Rpbmctc3R5bGUgJ2xvbmctbGlzdGluZykpCisgICAoc2hvdWxk IChlcXVhbCBhcmdzICcoIi9zb21lL3BhdGgiKSkpKQogICAoZXNoZWxsLWV2YWwtdXNpbmct b3B0aW9ucwotICAgImxzIiAnKCIvZGV2L251bGwiKQotICAgJygoP2wgbmlsIGxvbmctbGlz dGluZyBsaXN0aW5nLXN0eWxlCi0JICJ1c2UgYSBsb25nIGxpc3RpbmcgZm9ybWF0IikpCi0g ICAoc2hvdWxkIChlcSBsaXN0aW5nLXN0eWxlIG5pbCkpKQorICAgImxzIiAnKCItYUkqLnR4 dCIgIi9zb21lL3BhdGgiKQorICAgJygoP2EgImFsbCIgbmlsIHNob3ctYWxsCisgICAgICAg ICAiZG8gbm90IGlnbm9yZSBlbnRyaWVzIHN0YXJ0aW5nIHdpdGggLiIpCisgICAgICg/SSAi aWdub3JlIiB0IGlnbm9yZS1wYXR0ZXJuCisgICAgICAgICAiZG8gbm90IGxpc3QgaW1wbGll ZCBlbnRyaWVzIG1hdGNoaW5nIHBhdHRlcm4iKSkKKyAgIChzaG91bGQgKGVxIHQgc2hvdy1h bGwpKQorICAgKHNob3VsZCAoZXF1YWwgaWdub3JlLXBhdHRlcm4gIioudHh0IikpCisgICAo c2hvdWxkIChlcXVhbCBhcmdzICcoIi9zb21lL3BhdGgiKSkpKQogCisgIDs7IFRlc3QgdGhh dCAiLS0iIHRlcm1pbmF0ZXMgb3B0aW9ucy4KICAgKGVzaGVsbC1ldmFsLXVzaW5nLW9wdGlv bnMKLSAgICJscyIgJygiL2Rldi9udWxsIiAiLWgiKQotICAgJygoP2ggImh1bWFuLXJlYWRh YmxlIiAxMDI0IGh1bWFuLXJlYWRhYmxlCi0JICJwcmludCBzaXplcyBpbiBodW1hbiByZWFk YWJsZSBmb3JtYXQiKSkKLSAgIChzaG91bGQgKGVxbCBodW1hbi1yZWFkYWJsZSAxMDI0KSkp CisgICAibHMiICcoIi0tIiAiLWEiKQorICAgJygoP2EgImFsbCIgbmlsIHNob3ctYWxsCisg ICAgICAgICAiZG8gbm90IGlnbm9yZSBlbnRyaWVzIHN0YXJ0aW5nIHdpdGggLiIpKQorICAg KHNob3VsZCAoZXEgc2hvdy1hbGwgbmlsKSkKKyAgIChzaG91bGQgKGVxdWFsIGFyZ3MgJygi LWEiKSkpKQogICAoZXNoZWxsLWV2YWwtdXNpbmctb3B0aW9ucwotICAgImxzIiAnKCIvZGV2 L251bGwiICItLWh1bWFuLXJlYWRhYmxlIikKLSAgICcoKD9oICJodW1hbi1yZWFkYWJsZSIg MTAyNCBodW1hbi1yZWFkYWJsZQotCSAicHJpbnQgc2l6ZXMgaW4gaHVtYW4gcmVhZGFibGUg Zm9ybWF0IikpCi0gICAoc2hvdWxkIChlcWwgaHVtYW4tcmVhZGFibGUgMTAyNCkpKQorICAg ImxzIiAnKCItLSIgIi0tYWxsIikKKyAgICcoKD9hICJhbGwiIG5pbCBzaG93LWFsbAorICAg ICAgICAgImRvIG5vdCBpZ25vcmUgZW50cmllcyBzdGFydGluZyB3aXRoIC4iKSkKKyAgIChz aG91bGQgKGVxIHNob3ctYWxsIG5pbCkpCisgICAoc2hvdWxkIChlcXVhbCBhcmdzICcoIi0t YWxsIikpKSkKKworICA7OyBUZXN0IDpwYXJzZS1sZWFkaW5nLW9wdGlvbnMtb25seS4KICAg KGVzaGVsbC1ldmFsLXVzaW5nLW9wdGlvbnMKLSAgICJscyIgJygiL2Rldi9udWxsIikKLSAg ICcoKD9oICJodW1hbi1yZWFkYWJsZSIgMTAyNCBodW1hbi1yZWFkYWJsZQotCSAicHJpbnQg c2l6ZXMgaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0IikpCi0gICAoc2hvdWxkIChlcSBodW1h bi1yZWFkYWJsZSBuaWwpKSkpCisgICAic3VkbyIgJygiLXUiICJyb290IiAid2hvYW1pIikK KyAgICcoKD91ICJ1c2VyIiB0IHVzZXIgImV4ZWN1dGUgYSBjb21tYW5kIGFzIGFub3RoZXIg VVNFUiIpCisgICAgIDpwYXJzZS1sZWFkaW5nLW9wdGlvbnMtb25seSkKKyAgIChzaG91bGQg KGVxdWFsIHVzZXIgInJvb3QiKSkKKyAgIChzaG91bGQgKGVxdWFsIGFyZ3MgJygid2hvYW1p IikpKSkKKyAgKGVzaGVsbC1ldmFsLXVzaW5nLW9wdGlvbnMKKyAgICJzdWRvIiAnKCItLXVz ZXIiICJyb290IiAid2hvYW1pIikKKyAgICcoKD91ICJ1c2VyIiB0IHVzZXIgImV4ZWN1dGUg YSBjb21tYW5kIGFzIGFub3RoZXIgVVNFUiIpCisgICAgIDpwYXJzZS1sZWFkaW5nLW9wdGlv bnMtb25seSkKKyAgIChzaG91bGQgKGVxdWFsIHVzZXIgInJvb3QiKSkKKyAgIChzaG91bGQg KGVxdWFsIGFyZ3MgJygid2hvYW1pIikpKSkKKyAgKGVzaGVsbC1ldmFsLXVzaW5nLW9wdGlv bnMKKyAgICJzdWRvIiAnKCJlbWVyZ2UiICItdUROIiAid29ybGQiKQorICAgJygoP3UgInVz ZXIiIHQgdXNlciAiZXhlY3V0ZSBhIGNvbW1hbmQgYXMgYW5vdGhlciBVU0VSIikpCisgICAo c2hvdWxkIChlcXVhbCB1c2VyICJETiIpKQorICAgKHNob3VsZCAoZXF1YWwgYXJncyAnKCJl bWVyZ2UiICJ3b3JsZCIpKSkpCisgIChlc2hlbGwtZXZhbC11c2luZy1vcHRpb25zCisgICAi c3VkbyIgJygiZW1lcmdlIiAiLXVETiIgIndvcmxkIikKKyAgICcoKD91ICJ1c2VyIiB0IHVz ZXIgImV4ZWN1dGUgYSBjb21tYW5kIGFzIGFub3RoZXIgVVNFUiIpCisgICAgIDpwYXJzZS1s ZWFkaW5nLW9wdGlvbnMtb25seSkKKyAgIChzaG91bGQgKGVxIHVzZXIgbmlsKSkKKyAgIChz aG91bGQgKGVxdWFsIGFyZ3MgJygiZW1lcmdlIiAiLXVETiIgIndvcmxkIikpKSkpCiAKIChw cm92aWRlICdlc2gtb3B0LXRlc3RzKQogCi0tIAoyLjI1LjEKCg== --------------AA9BA30489307CC49B3D1D86--