From unknown Sun Jun 22 04:34:08 2025 X-Loop: help-debbugs@gnu.org Subject: bug#60999: 30.0.50; [PATCH] Add support for negative indices and index ranges in Eshell Resent-From: Jim Porter Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 22 Jan 2023 03:48:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 60999 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: 60999@debbugs.gnu.org X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.167435927619232 (code B ref -1); Sun, 22 Jan 2023 03:48:02 +0000 Received: (at submit) by debbugs.gnu.org; 22 Jan 2023 03:47:56 +0000 Received: from localhost ([127.0.0.1]:50229 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pJRKl-000503-Ia for submit@debbugs.gnu.org; Sat, 21 Jan 2023 22:47:56 -0500 Received: from lists.gnu.org ([209.51.188.17]:60192) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pJRKj-0004zi-A7 for submit@debbugs.gnu.org; Sat, 21 Jan 2023 22:47:54 -0500 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 1pJRKj-0000wI-0M for bug-gnu-emacs@gnu.org; Sat, 21 Jan 2023 22:47:53 -0500 Received: from mail-pj1-x102f.google.com ([2607:f8b0:4864:20::102f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pJRKg-0002Dx-2U for bug-gnu-emacs@gnu.org; Sat, 21 Jan 2023 22:47:52 -0500 Received: by mail-pj1-x102f.google.com with SMTP id n20-20020a17090aab9400b00229ca6a4636so11698231pjq.0 for ; Sat, 21 Jan 2023 19:47:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=subject:to:from:content-language:mime-version:date:message-id:from :to:cc:subject:date:message-id:reply-to; bh=94JpmYF0CN1O3jH09T1lNvWFfZVG/9CMy52G2wY6wsI=; b=ghUYVXnRYulJjM7vP6qb80tW5ypvzY8eBYWIXulu9PReeRQxb74fmPDLMp8TTDhjbx rHwNYZ/XMJeMFdMiUAwpT+xmBU+vQ2lQGlnhmr8QfmFz1oHFcWOVf6IP6nk6jL5pe5IV 7mnPlYBIEh5SIB6K/plo1FFKV0V1v1gG1dE44NGmPev3VoM5PLbrlspQDvuNUidboeX8 TJurer069VzOfXbk5yzKwNVYfcB3RrLsox3sXFlWrqAhVo9nJO4YTO4XxffH8OF2qP3i DRryuGZIUFY0ZuVGa9a3Eydvhf5mJKb3Bkiokcnut0NbDQuk64TieRxzdVvHB5gwKtzl fD/Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=subject:to:from:content-language:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=94JpmYF0CN1O3jH09T1lNvWFfZVG/9CMy52G2wY6wsI=; b=eVjKCNTbheGhPrkHHL2XizcFwFbd6cNfAT06U4IwBaXVirNJ85uju2ermbOC1pIY3o uNWReqCxOerpb3WDbCk3XOJPpk3V9iJ0t0hPmTn1pJOSNnfPYLRno69O99F2chTP7xqw f0l5mi5++BrbUSSmqzW6xFA1VQBKFQZYoiC6ohOwvMsAtPiy/Vxsh2eZMvekcuLTrpsI 8+30tP8BKUvb+OpqXNq3RITkSznrxBPpz2110gCVLJjUzBwwlWJxQ4rhIP8sPlR5o3Rh LJXO75L4Sn5pktZPQSjettzru/EHnftPGhl8/MK7OHKLvWSNYnql6cROiGd1GJ3/CZOy cFJg== X-Gm-Message-State: AFqh2kriDx6q0Cn1/ZJkCEGfa96SZcNAwH5LifeNkUtY4O4ebf8aX/4H Cfsx8WWRVb8LQUEJJ1VRILb7iNzmhJPdMQ== X-Google-Smtp-Source: AMrXdXsTN1YT58TijD8kVZKmVU1GCYsaDcLRL/eFD/ZedvbPA7YQ0cxq3ujnOOrfh9ONMgmk1ClRLQ== X-Received: by 2002:a17:90a:2b08:b0:229:3554:89b2 with SMTP id x8-20020a17090a2b0800b00229355489b2mr21264113pjc.28.1674359267981; Sat, 21 Jan 2023 19:47:47 -0800 (PST) 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 cp14-20020a17090afb8e00b0022bbad75af6sm8598763pjb.1.2023.01.21.19.47.46 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 21 Jan 2023 19:47:47 -0800 (PST) Content-Type: multipart/mixed; boundary="------------3MSg5M4gmD80NNSLx6dCDcAB" Message-ID: Date: Sat, 21 Jan 2023 19:47:47 -0800 MIME-Version: 1.0 X-Mozilla-News-Host: news://news.gmane.io:119 Content-Language: en-US From: Jim Porter Received-SPF: pass client-ip=2607:f8b0:4864:20::102f; envelope-from=jporterbugs@gmail.com; helo=mail-pj1-x102f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) This is a multi-part message in MIME format. --------------3MSg5M4gmD80NNSLx6dCDcAB Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit There are two suggestions in the "Bugs and ideas" section of the Eshell manual: Allow "$_[-1]", which would indicate the last element of the array Make "$x[*]" equal to listing out the full contents of "x" I think these would be pretty useful, especially for the "$_" variable, which gets the last argument of the last command, but if you give it an index like "$_[N]", gets the Nth argument of the last command. However, it's not as easy to get the second-to-last argument of the last command, or to get *all* arguments of the last command. So the above two suggestions would be pretty helpful. Attached is a patch to do this. For the second suggestion, I took some liberties and added range syntax, so that "$x[2..5]" returns elements 2, 3, and 4 (zero-indexed) of x. I have just one question though: this implementation treats ranges as half-open, i.e. "M..N" is [M, N). I think that's the best way of doing things (and it matches how 'seq-subseq' works). However, "M..N" is the Bash syntax, which uses a closed range, [M, N]. Maybe this would be too confusing for users? I'm open to using other tokens aside from ".." if that would help. Maybe "M:N" would work? That's the Python syntax, which behaves the same way as this patch. Any thoughts? --------------3MSg5M4gmD80NNSLx6dCDcAB Content-Type: text/plain; charset=UTF-8; name="0001-Add-support-for-negative-indices-and-index-ranges-in.patch" Content-Disposition: attachment; filename*0="0001-Add-support-for-negative-indices-and-index-ranges-in.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSAzMzk2MDg4MWE1MGRhZWZkZjhhODY2YjdjZmU1NmVhOGQyYTc4YjFjIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gUG9ydGVyIDxqcG9ydGVyYnVnc0BnbWFpbC5j b20+CkRhdGU6IEZyaSwgMjAgSmFuIDIwMjMgMTM6NTQ6MjAgLTA4MDAKU3ViamVjdDogW1BB VENIXSBBZGQgc3VwcG9ydCBmb3IgbmVnYXRpdmUgaW5kaWNlcyBhbmQgaW5kZXggcmFuZ2Vz IGluIEVzaGVsbAoKKiBsaXNwL2VzaGVsbC9lc2gtdXRpbC5lbCAoZXNoZWxsLWludGVnZXIt cmVnZXhwKTogTmV3IGRlZmN1c3RvbS4KCiogbGlzcC9lc2hlbGwvZXNoLXZhci5lbCAoZXNo ZWxsLXBhcnNlLWluZGljZXMpOiBFeHBhbmQgZG9jc3RyaW5nLgooZXNoZWxsLXBhcnNlLWlu ZGV4KTogTmV3IGZ1bmN0aW9uLgooZXNoZWxsLWFwcGx5LWluZGljZXMpOiBVc2UgJ2VzaGVs bC1wYXJzZS1pbmRleCcgdG8gZGV0ZXJtaW5lIHdoZXRoZXIKdG8gdHJlYXQgdGhlIGZpcnN0 IGluZGV4IGFzIGEgcmVnZXhwLiAgU2ltcGxpZnkgdGhlIGltcGxlbWVudGF0aW9uIGEKYml0 LgooZXNoZWxsLWluZGV4LXJhbmdlKTogTmV3IHBjYXNlIG1hY3JvLi4uCihlc2hlbGwtaW5k ZXgtdmFsdWUpOiAuLi4gdXNlIGl0LCBhbmQgcmVzdHJ1Y3R1cmUgdGhlIGltcGxlbWVudGF0 aW9uLgoKKiB0ZXN0L2xpc3AvZXNoZWxsL2VzaC12YXItdGVzdHMuZWwgKGVzaC12YXItdGVz dC9pbnRlcnAtdmFyLWluZGljZXMpOgpOZXcgZnVuY3Rpb24uLi4KKGVzaC12YXItdGVzdC9p bnRlcnAtdmFyLWluZGljZXMvbGlzdCkKKGVzaC12YXItdGVzdC9pbnRlcnAtdmFyLWluZGlj ZXMvdmVjdG9yKQooZXNoLXZhci10ZXN0L2ludGVycC12YXItaW5kaWNlcy9yaW5nKQooZXNo LXZhci10ZXN0L2ludGVycC12YXItaW5kaWNlcy9zcGxpdCk6IC4uLiB1c2UgaXQuCihlc2gt dmFyLXRlc3QvaW50ZXJwLXZhci1zdHJpbmctc3BsaXQtaW5kaWNlcykKKGVzaC12YXItdGVz dC9pbnRlcnAtdmFyLXJlZ2V4cC1zcGxpdC1pbmRpY2VzKQooZXNoLXZhci10ZXN0L2ludGVy cC12YXItYXNzb2MpOiBFeHBhbmQgdGVzdHMgdG8gY292ZXIgdGhpbmdzIHRoYXQKbG9vayBs aWtlIG51bWJlcnMgb3IgcmFuZ2VzLCBidXQgYXJlbid0LgoKKiBkb2MvbWlzYy9lc2hlbGwu dGV4aSAoVmFyaWFibGVzKTogRGVzY3JpYmUgaG93IHRvIGdldCBhbGwgYXJndW1lbnRzCm9m IHRoZSBsYXN0IGNvbW1hbmQuCihEb2xsYXJzIEV4cGFuc2lvbik6IEV4cGxhaW4gbmVnYXRp dmUgaW5kaWNlcyBhbmQgaW5kZXggcmFuZ2VzLgooQnVncyBhbmQgaWRlYXMpOiBSZW1vdmUg bm93LWltcGxlbWVudGVkIGlkZWFzLgoKKiBldGMvTkVXUzogQW5ub3VuY2UgdGhpcyBjaGFu Z2UuCi0tLQogZG9jL21pc2MvZXNoZWxsLnRleGkgICAgICAgICAgICAgIHwgIDI0ICsrKy0t LQogZXRjL05FV1MgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA3ICsrCiBsaXNwL2Vz aGVsbC9lc2gtdXRpbC5lbCAgICAgICAgICAgfCAgIDQgKwogbGlzcC9lc2hlbGwvZXNoLXZh ci5lbCAgICAgICAgICAgIHwgMTM2ICsrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLQog dGVzdC9saXNwL2VzaGVsbC9lc2gtdmFyLXRlc3RzLmVsIHwgMTAyICsrKysrKysrKysrKysr KysrLS0tLS0KIDUgZmlsZXMgY2hhbmdlZCwgMTkzIGluc2VydGlvbnMoKyksIDgwIGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RvYy9taXNjL2VzaGVsbC50ZXhpIGIvZG9jL21pc2Mv ZXNoZWxsLnRleGkKaW5kZXggNTdhMjAyMGZkY2EuLjk0NzdkMGY1ZTMxIDEwMDY0NAotLS0g YS9kb2MvbWlzYy9lc2hlbGwudGV4aQorKysgYi9kb2MvbWlzYy9lc2hlbGwudGV4aQpAQCAt MTA1OSw3ICsxMDU5LDkgQEAgVmFyaWFibGVzCiBUaGlzIHJlZmVycyB0byB0aGUgbGFzdCBh cmd1bWVudCBvZiB0aGUgbGFzdCBjb21tYW5kLiAgV2l0aCBhCiBzdWJzY3JpcHQsIHlvdSBj YW4gYWNjZXNzIGFueSBhcmd1bWVudCBvZiB0aGUgbGFzdCBjb21tYW5kLiAgRm9yCiBleGFt cGxlLCBAc2FtcHskX1sxXX0gcmVmZXJzIHRvIHRoZSBzZWNvbmQgYXJndW1lbnQgb2YgdGhl IGxhc3QKLWNvbW1hbmQgKGV4Y2x1ZGluZyB0aGUgY29tbWFuZCBuYW1lIGl0c2VsZikuCitj b21tYW5kIChleGNsdWRpbmcgdGhlIGNvbW1hbmQgbmFtZSBpdHNlbGYpLiAgVG8gZ2V0IGFs bCBhcmd1bWVudHMgb2YKK3RoZSBsYXN0IGNvbW1hbmQsIHlvdSBjYW4gdXNlIGFuIGluZGV4 IHJhbmdlIGxpa2UgQHNhbXB7JF9bLi5dfQorKEBweHJlZntEb2xsYXJzIEV4cGFuc2lvbn0p LgogCiBAdmluZGV4ICQkCiBAaXRlbSAkJApAQCAtMTM3MCwxMSArMTM3MiwyMCBAQCBEb2xs YXJzIEV4cGFuc2lvbgogQGl0ZW0gYSBzZXF1ZW5jZQogRXhwYW5kcyB0byB0aGUgZWxlbWVu dCBhdCB0aGUgKHplcm8tYmFzZWQpIGluZGV4IEB2YXJ7aX0gb2YgdGhlCiBzZXF1ZW5jZSAo QHB4cmVme1NlcXVlbmNlcyBBcnJheXMgVmVjdG9ycywgU2VxdWVuY2VzLCAsIGVsaXNwLCBU aGUKLUVtYWNzIExpc3AgUmVmZXJlbmNlIE1hbnVhbH0pLgorRW1hY3MgTGlzcCBSZWZlcmVu Y2UgTWFudWFsfSkuICBJZiBAdmFye2l9IGlzIG5lZ2F0aXZlLCBAdmFye2l9IGNvdW50cwor ZnJvbSB0aGUgZW5kLCBzbyAtMSByZWZlcnMgdG8gdGhlIGxhc3QgZWxlbWVudCBvZiB0aGUg c2VxdWVuY2UuCisKK0lmIEB2YXJ7aX0gaXMgYSByYW5nZSBsaWtlIEBjb2Rle0B2YXJ7c3Rh cnR9Li5AdmFye2VuZH19LCB0aGlzIGV4cGFuZHMKK3RvIGEgc3Vic2VxdWVuY2UgZnJvbSB0 aGUgaW5kaWNlcyBAdmFye3N0YXJ0fSB0byBAdmFye2VuZH0sIHdoZXJlCitAdmFye2VuZH0g aXMgZXhjbHVkZWQuICBAdmFye3N0YXJ0fSBhbmQvb3IgQHZhcntlbmR9IGNhbiBhbHNvIGJl CitvbWl0dGVkLCB3aGljaCBpcyBlcXVpdmFsZW50IHRvIHRoZSBzdGFydCBhbmQvb3IgZW5k IG9mIHRoZSBlbnRpcmUKK2xpc3QuICBGb3IgZXhhbXBsZSwgQHNhbXB7JEB2YXJ7ZXhwcn1b LTIuLl19IGV4cGFuZHMgdG8gdGhlIGxhc3QgdHdvCit2YWx1ZXMgb2YgQHZhcntleHByfS4K IAogQGl0ZW0gYSBzdHJpbmcKIFNwbGl0IHRoZSBzdHJpbmcgYXQgd2hpdGVzcGFjZSwgYW5k IHRoZW4gZXhwYW5kIHRvIHRoZSBAdmFye2l9dGgKLWVsZW1lbnQgb2YgdGhlIHJlc3VsdGlu ZyBzZXF1ZW5jZS4KK2VsZW1lbnQgb2YgdGhlIHJlc3VsdGluZyBzZXF1ZW5jZS4gIEFzIGFi b3ZlLCBAdmFye2l9IGNhbiBiZSBhIHJhbmdlCitsaWtlIEBjb2Rle0B2YXJ7c3RhcnR9Li5A dmFye2VuZH19LgogCiBAaXRlbSBhbiBhbGlzdAogSWYgQHZhcntpfSBpcyBhIG5vbi1udW1l cmljIHZhbHVlLCBleHBhbmQgdG8gdGhlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aApAQCAtMjQ0 MiwxMyArMjQ1Myw2IEBAIEJ1Z3MgYW5kIGlkZWFzCiAKIFRoaXMgd2F5LCB0aGUgdXNlciBj b3VsZCBjaGFuZ2UgaXQgdG8gdXNlIHJjIHN5bnRheDogQHNhbXB7PlsyPTFdfS4KIAotQGl0 ZW0gQWxsb3cgQHNhbXB7JF9bLTFdfSwgd2hpY2ggd291bGQgaW5kaWNhdGUgdGhlIGxhc3Qg ZWxlbWVudCBvZiB0aGUgYXJyYXkKLQotQGl0ZW0gTWFrZSBAc2FtcHskeFsqXX0gZXF1YWwg dG8gbGlzdGluZyBvdXQgdGhlIGZ1bGwgY29udGVudHMgb2YgQHNhbXB7eH0KLQotUmV0dXJu IHRoZW0gYXMgYSBsaXN0LCBzbyB0aGF0IEBzYW1weyRfWypdfSBpcyBhbGwgdGhlIGFyZ3Vt ZW50cyBvZiB0aGUKLWxhc3QgY29tbWFuZC4KLQogQGl0ZW0gQ29weSBBTlNJIGNvZGUgaGFu ZGxpbmcgZnJvbSBAZmlsZXt0ZXJtLmVsfSBpbnRvIEBmaWxle2VtLXRlcm0uZWx9CiAKIE1h a2UgaXQgcG9zc2libGUgZm9yIHRoZSB1c2VyIHRvIHNlbmQgY2hhci1ieS1jaGFyIHRvIHRo ZSB1bmRlcmx5aW5nCmRpZmYgLS1naXQgYS9ldGMvTkVXUyBiL2V0Yy9ORVdTCmluZGV4IDEw ZTkxZWM0YWI5Li42OTRmODBlYmM1YiAxMDA2NDQKLS0tIGEvZXRjL05FV1MKKysrIGIvZXRj L05FV1MKQEAgLTE0Myw2ICsxNDMsMTMgQEAgb2YgYXJndW1lbnRzIGludG8gYSBjb21tYW5k LCBzdWNoIGFzIHdoZW4gZGVmaW5pbmcgYWxpYXNlcy4gIEZvciBtb3JlCiBpbmZvcm1hdGlv biwgc2VlIHRoZSAiKGVzaGVsbCkgRG9sbGFycyBFeHBhbnNpb24iIG5vZGUgaW4gdGhlIEVz aGVsbAogbWFudWFsLgogCisrKysKKyoqKiBFc2hlbGwgbm93IHN1cHBvcnRzIG5lZ2F0aXZl IG51bWJlcnMgYW5kIHJhbmdlcyBmb3IgaW5kaWNlcy4KK05vdywgeW91IGNhbiByZXRyaWV2 ZSB0aGUgbGFzdCBlbGVtZW50IG9mIGEgbGlzdCB3aXRoICckbXktbGlzdFstMV0nCitvciBn ZXQgYSBzdWJsaXN0IG9mIGVsZW1lbnRzIDIgdGhyb3VnaCA0IHdpdGggJyRteS1saXN0WzIu LjVdJy4gIEZvcgorbW9yZSBpbmZvcm1hdGlvbiwgc2VlIHRoZSAiKGVzaGVsbCkgRG9sbGFy cyBFeHBhbnNpb24iIG5vZGUgaW4gdGhlCitFc2hlbGwgbWFudWFsLgorCiAtLS0KICoqKiBF c2hlbGwgbm93IHVzZXMgJ2ZpZWxkJyBwcm9wZXJ0aWVzIGluIGl0cyBvdXRwdXQuCiBJbiBw YXJ0aWN1bGFyLCB0aGlzIG1lYW5zIHRoYXQgcHJlc3NpbmcgdGhlICc8aG9tZT4nIGtleSBt b3ZlcyB0aGUKZGlmZiAtLWdpdCBhL2xpc3AvZXNoZWxsL2VzaC11dGlsLmVsIGIvbGlzcC9l c2hlbGwvZXNoLXV0aWwuZWwKaW5kZXggNTQ0YThhNzQwMzkuLjhkZjFkYzk5ODJiIDEwMDY0 NAotLS0gYS9saXNwL2VzaGVsbC9lc2gtdXRpbC5lbAorKysgYi9saXNwL2VzaGVsbC9lc2gt dXRpbC5lbApAQCAtMTAxLDYgKzEwMSwxMCBAQCBlc2hlbGwtbnVtYmVyLXJlZ2V4cAogZnVu Y3Rpb24gYHN0cmluZy10by1udW1iZXInLiIKICAgOnR5cGUgJ3JlZ2V4cCkKIAorKGRlZmN1 c3RvbSBlc2hlbGwtaW50ZWdlci1yZWdleHAgKHJ4ICg/ICItIikgKCsgZGlnaXQpKQorICAi UmVndWxhciBleHByZXNzaW9uIHVzZWQgdG8gbWF0Y2ggaW50ZWdlciBhcmd1bWVudHMuIgor ICA6dHlwZSAncmVnZXhwKQorCiAoZGVmY3VzdG9tIGVzaGVsbC1hbmdlLWxzLXVpZHMgbmls CiAgICJMaXN0IG9mIHVzZXIvaG9zdC9pZCBzdHJpbmdzLCB1c2VkIHRvIGRldGVybWluZSBy ZW1vdGUgb3duZXJzaGlwLiIKICAgOnR5cGUgJyhyZXBlYXQgKGNvbnMgOnRhZyAiSG9zdCBm b3IgVXNlci9VSUQgbWFwIgpkaWZmIC0tZ2l0IGEvbGlzcC9lc2hlbGwvZXNoLXZhci5lbCBi L2xpc3AvZXNoZWxsL2VzaC12YXIuZWwKaW5kZXggODNkZDVjYjUwZjUuLjYwYWFiOTJiMzNl IDEwMDY0NAotLS0gYS9saXNwL2VzaGVsbC9lc2gtdmFyLmVsCisrKyBiL2xpc3AvZXNoZWxs L2VzaC12YXIuZWwKQEAgLTU4Nyw2ICs1ODcsOSBAQCBlc2hlbGwtZ2xvYi1mdW5jdGlvbgog CiAoZGVmdW4gZXNoZWxsLXBhcnNlLWluZGljZXMgKCkKICAgIlBhcnNlIGFuZCByZXR1cm4g YSBsaXN0IG9mIGluZGV4LWxpc3RzLgorVGhpcyBwcm9kdWNlcyBhIHNlcmllcyBvZiBMaXNw IGZvcm1zIHRvIGJlIHByb2Nlc3NlZCBieQorYGVzaGVsbC1wcmVwYXJlLWluZGljZXMnIGFu ZCB1bHRpbWF0ZWx5IGV2YWx1YXRlZCBieQorYGVzaGVsbC1kby1ldmFsJy4KIAogRm9yIGV4 YW1wbGUsIFwiWzAgMV1bMl1cIiBiZWNvbWVzOgogICAoKFwiMFwiIFwiMVwiKSAoXCIyXCIp KS4iCkBAIC02MDUsNiArNjA4LDM2IEBAIGVzaGVsbC1wYXJzZS1pbmRpY2VzCiAJICAoZ290 by1jaGFyICgxKyBlbmQpKSkpKQogICAgIChucmV2ZXJzZSBpbmRpY2VzKSkpCiAKKyhkZWZ1 biBlc2hlbGwtcGFyc2UtaW5kZXggKGluZGV4KQorICAiUGFyc2UgYSBzaW5nbGUgSU5ERVgg aW4gc3RyaW5nIGZvcm0uCitJZiBJTkRFWCBsb29rcyBsaWtlIGEgbnVtYmVyLCByZXR1cm4g dGhhdCBudW1iZXIuCisKK0lmIElOREVYIGxvb2tzIGxpa2UgXCJbQkVHSU5dLi5bRU5EXVwi LCB3aGVyZSBCRUdJTiBhbmQgRU5EIGxvb2sKK2xpa2UgaW50ZWdlcnMsIHJldHVybiBhIGNv bnMgY2VsbCBvZiBCRUdJTiBhbmQgRU5EIGFzIG51bWJlcnM7CitCRUdJTiBhbmQvb3IgRU5E IGNhbiBiZSBvbWl0dGVkIGhlcmUsIGluIHdoaWNoIGNhc2UgdGhlaXIgdmFsdWUKK2luIHRo ZSBjb25zIGlzIG5pbC4KKworT3RoZXJ3aXNlIChpbmNsdWRpbmcgaWYgSU5ERVggaXMgbm90 IGEgc3RyaW5nKSwgcmV0dXJuCit0aGUgb3JpZ2luYWwgdmFsdWUgb2YgSU5ERVguIgorICAo c2F2ZS1tYXRjaC1kYXRhCisgICAgKGNvbmQKKyAgICAgKChhbmQgKHN0cmluZ3AgaW5kZXgp IChnZXQtdGV4dC1wcm9wZXJ0eSAwICdudW1iZXIgaW5kZXgpKQorICAgICAgKHN0cmluZy10 by1udW1iZXIgaW5kZXgpKQorICAgICAoKGFuZCAoc3RyaW5ncCBpbmRleCkKKyAgICAgICAg ICAgKG5vdCAodGV4dC1wcm9wZXJ0eS1hbnkgMCAobGVuZ3RoIGluZGV4KSAnZXNjYXBlZCB0 IGluZGV4KSkKKyAgICAgICAgICAgKHN0cmluZy1tYXRjaCAocnggc3RyaW5nLXN0YXJ0Cisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChncm91cC1uIDEgKD8gKHJlZ2V4cCBlc2hl bGwtaW50ZWdlci1yZWdleHApKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi4u IgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZ3JvdXAtbiAyICg/IChyZWdleHAg ZXNoZWxsLWludGVnZXItcmVnZXhwKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHN0cmluZy1lbmQpCisgICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXgpKQorICAgICAg KGxldCAoKGJlZ2luIChtYXRjaC1zdHJpbmcgMSBpbmRleCkpCisgICAgICAgICAgICAoZW5k IChtYXRjaC1zdHJpbmcgMiBpbmRleCkpKQorICAgICAgICAoY29ucyAodW5sZXNzIChzdHJp bmctZW1wdHktcCBiZWdpbikgKHN0cmluZy10by1udW1iZXIgYmVnaW4pKQorICAgICAgICAg ICAgICAodW5sZXNzIChzdHJpbmctZW1wdHktcCBlbmQpIChzdHJpbmctdG8tbnVtYmVyIGVu ZCkpKSkpCisgICAgICh0CisgICAgICBpbmRleCkpKSkKKwogKGRlZnVuIGVzaGVsbC1ldmFs LWluZGljZXMgKGluZGljZXMpCiAgICJFdmFsdWF0ZSBJTkRJQ0VTLCBhIGxpc3Qgb2YgaW5k ZXgtbGlzdHMgZ2VuZXJhdGVkIGJ5IGBlc2hlbGwtcGFyc2UtaW5kaWNlcycuIgogICAoZGVj bGFyZSAob2Jzb2xldGUgZXNoZWxsLXByZXBhcmUtaW5kaWNlcyAiMzAuMSIpKQpAQCAtNzE2 LDU2ICs3NDksNjUgQEAgZXNoZWxsLWFwcGx5LWluZGljZXMKICcvZXRjL3Bhc3N3ZCcsIHRo ZSB2YXJpYWJsZSByZWZlcmVuY2Ugd291bGQgbG9vayBsaWtlOgogCiAgICR7Z3JlcCBqb2hu dyAvZXRjL3Bhc3N3ZH1bOiAyXSIKLSAgKHdoaWxlIGluZGljZXMKLSAgICAobGV0ICgocmVm cyAoY2FyIGluZGljZXMpKSkKLSAgICAgICh3aGVuIChzdHJpbmdwIHZhbHVlKQotCShsZXQg KHNlcGFyYXRvciAoaW5kZXggKGNhYXIgaW5kaWNlcykpKQotICAgICAgICAgICh3aGVuIChh bmQgKHN0cmluZ3AgaW5kZXgpCi0gICAgICAgICAgICAgICAgICAgICAobm90IChnZXQtdGV4 dC1wcm9wZXJ0eSAwICdudW1iZXIgaW5kZXgpKSkKLSAgICAgICAgICAgIChzZXRxIHNlcGFy YXRvciBpbmRleAotICAgICAgICAgICAgICAgICAgcmVmcyAoY2RyIHJlZnMpKSkKLQkgIChz ZXRxIHZhbHVlIChzcGxpdC1zdHJpbmcgdmFsdWUgc2VwYXJhdG9yKSkKLSAgICAgICAgICAo dW5sZXNzIHF1b3RlZAotICAgICAgICAgICAgKHNldHEgdmFsdWUgKG1hcGNhciAjJ2VzaGVs bC1jb252ZXJ0LXRvLW51bWJlciB2YWx1ZSkpKSkpCi0gICAgICAoY29uZAotICAgICAgICgo PCAobGVuZ3RoIHJlZnMpIDApCi0JKGVycm9yICJJbnZhbGlkIGFycmF5IHZhcmlhYmxlIGlu ZGV4OiAlcyIKLQkgICAgICAgKGVzaGVsbC1zdHJpbmdpZnkgcmVmcykpKQotICAgICAgICgo PSAobGVuZ3RoIHJlZnMpIDEpCi0JKHNldHEgdmFsdWUgKGVzaGVsbC1pbmRleC12YWx1ZSB2 YWx1ZSAoY2FyIHJlZnMpKSkpCi0gICAgICAgKHQKLQkobGV0ICgobmV3LXZhbHVlIChsaXN0 IHQpKSkKLQkgICh3aGlsZSByZWZzCi0JICAgIChuY29uYyBuZXctdmFsdWUKLQkJICAgKGxp c3QgKGVzaGVsbC1pbmRleC12YWx1ZSB2YWx1ZQotCQkJCQkgICAgIChjYXIgcmVmcykpKSkK LQkgICAgKHNldHEgcmVmcyAoY2RyIHJlZnMpKSkKLQkgIChzZXRxIHZhbHVlIChjZHIgbmV3 LXZhbHVlKSkpKSkpCi0gICAgKHNldHEgaW5kaWNlcyAoY2RyIGluZGljZXMpKSkKLSAgdmFs dWUpCisgIChkb2xpc3QgKHJlZnMgaW5kaWNlcyB2YWx1ZSkKKyAgICA7OyBGb3Igc3RyaW5n IHZhbHVlcywgY2hlY2sgaWYgdGhlIGZpcnN0IGluZGV4IGxvb2tzIGxpa2UgYQorICAgIDs7 IHJlZ2V4cCwgYW5kIGlmIHNvLCB1c2UgdGhhdCB0byBzcGxpdCB0aGUgc3RyaW5nLgorICAg ICh3aGVuIChzdHJpbmdwIHZhbHVlKQorICAgICAgKGxldCAoc2VwYXJhdG9yIChmaXJzdCAo Y2FyIHJlZnMpKSkKKyAgICAgICAgKHdoZW4gKHN0cmluZ3AgKGVzaGVsbC1wYXJzZS1pbmRl eCBmaXJzdCkpCisgICAgICAgICAgKHNldHEgc2VwYXJhdG9yIGZpcnN0CisgICAgICAgICAg ICAgICAgcmVmcyAoY2RyIHJlZnMpKSkKKyAgICAgICAgKHNldHEgdmFsdWUgKHNwbGl0LXN0 cmluZyB2YWx1ZSBzZXBhcmF0b3IpKQorICAgICAgICAodW5sZXNzIHF1b3RlZAorICAgICAg ICAgIChzZXRxIHZhbHVlIChtYXBjYXIgIydlc2hlbGwtY29udmVydC10by1udW1iZXIgdmFs dWUpKSkpKQorICAgIChjb25kCisgICAgICgoPCAobGVuZ3RoIHJlZnMpIDApCisgICAgICAo ZXJyb3IgIkludmFsaWQgYXJyYXkgdmFyaWFibGUgaW5kZXg6ICVzIgorICAgICAgICAgICAg IChlc2hlbGwtc3RyaW5naWZ5IHJlZnMpKSkKKyAgICAgKCg9IChsZW5ndGggcmVmcykgMSkK KyAgICAgIChzZXRxIHZhbHVlIChlc2hlbGwtaW5kZXgtdmFsdWUgdmFsdWUgKGNhciByZWZz KSkpKQorICAgICAodAorICAgICAgKGxldCAobmV3LXZhbHVlKQorICAgICAgICAoZG9saXN0 IChyZWYgcmVmcykKKyAgICAgICAgICAocHVzaCAoZXNoZWxsLWluZGV4LXZhbHVlIHZhbHVl IHJlZikgbmV3LXZhbHVlKSkKKyAgICAgICAgKHNldHEgdmFsdWUgKG5yZXZlcnNlIG5ldy12 YWx1ZSkpKSkpKSkKKworKHBjYXNlLWRlZm1hY3JvIGVzaGVsbC1pbmRleC1yYW5nZSAoc3Rh cnQgZW5kKQorICAiQSBwYXR0ZXJuIHRoYXQgbWF0Y2hlcyBhbiBFc2hlbGwgaW5kZXggcmFu Z2UuCitFWFBWQUwgc2hvdWxkIGJlIGEgY29ucyBjZWxsLCB3aXRoIGVhY2ggc2xvdCBjb250 YWluaW5nIGVpdGhlciBhbgoraW50ZWdlciBvciBuaWwuICBJZiB0aGlzIG1hdGNoZXMsIGJp bmQgdGhlIHZhbHVlcyBvZiB0aGUgc2x0b3MgdG8KK1NUQVJUIGFuZCBFTkQuIgorICAobGlz dCAnXGAgKGNvbnMgKGxpc3QgJ1wsIGAoYW5kIChvciAocHJlZCBpbnRlZ2VycCkgKHByZWQg bnVsbCkpICxzdGFydCkpCisgICAgICAgICAgICAgICAgICAobGlzdCAnXCwgYChhbmQgKG9y IChwcmVkIGludGVnZXJwKSAocHJlZCBudWxsKSkgLGVuZCkpKSkpCiAKIChkZWZ1biBlc2hl bGwtaW5kZXgtdmFsdWUgKHZhbHVlIGluZGV4KQogICAiUmVmZXJlbmNlIFZBTFVFIHVzaW5n IHRoZSBnaXZlbiBJTkRFWC4iCi0gICh3aGVuIChhbmQgKHN0cmluZ3AgaW5kZXgpIChnZXQt dGV4dC1wcm9wZXJ0eSAwICdudW1iZXIgaW5kZXgpKQotICAgIChzZXRxIGluZGV4IChzdHJp bmctdG8tbnVtYmVyIGluZGV4KSkpCi0gIChpZiAoaW50ZWdlcnAgaW5kZXgpCi0gICAgICAo Y29uZAotICAgICAgICgocmluZy1wIHZhbHVlKQotICAgICAgICAoaWYgKD4gaW5kZXggKHJp bmctbGVuZ3RoIHZhbHVlKSkKLSAgICAgICAgICAgIChlcnJvciAiSW5kZXggZXhjZWVkcyBs ZW5ndGggb2YgcmluZyIpCi0gICAgICAgICAgKHJpbmctcmVmIHZhbHVlIGluZGV4KSkpCi0g ICAgICAgKChsaXN0cCB2YWx1ZSkKLSAgICAgICAgKGlmICg+IGluZGV4IChsZW5ndGggdmFs dWUpKQotICAgICAgICAgICAgKGVycm9yICJJbmRleCBleGNlZWRzIGxlbmd0aCBvZiBsaXN0 IikKLSAgICAgICAgICAobnRoIGluZGV4IHZhbHVlKSkpCi0gICAgICAgKCh2ZWN0b3JwIHZh bHVlKQotICAgICAgICAoaWYgKD4gaW5kZXggKGxlbmd0aCB2YWx1ZSkpCi0gICAgICAgICAg ICAoZXJyb3IgIkluZGV4IGV4Y2VlZHMgbGVuZ3RoIG9mIHZlY3RvciIpCi0gICAgICAgICAg KGFyZWYgdmFsdWUgaW5kZXgpKSkKLSAgICAgICAodAotICAgICAgICAoZXJyb3IgIkludmFs aWQgZGF0YSB0eXBlIGZvciBpbmRleGluZyIpKSkKLSAgICA7OyBJTkRFWCBpcyBzb21lIG5v bi1pbnRlZ2VyIHZhbHVlLCBzbyB0cmVhdCBWQUxVRSBhcyBhbiBhbGlzdC4KLSAgICAoY2Ry IChhc3NvYyBpbmRleCB2YWx1ZSkpKSkKKyAgKGxldCAoKHBhcnNlZC1pbmRleCAoZXNoZWxs LXBhcnNlLWluZGV4IGluZGV4KSkpCisgICAgKGlmIChyaW5nLXAgdmFsdWUpCisgICAgICAg IChwY2FzZSBwYXJzZWQtaW5kZXgKKyAgICAgICAgICAoKHByZWQgaW50ZWdlcnApCisgICAg ICAgICAgIChyaW5nLXJlZiB2YWx1ZSBwYXJzZWQtaW5kZXgpKQorICAgICAgICAgICgoZXNo ZWxsLWluZGV4LXJhbmdlIHN0YXJ0IGVuZCkKKyAgICAgICAgICAgKGxldCogKChsZW4gKHJp bmctbGVuZ3RoIHZhbHVlKSkKKyAgICAgICAgICAgICAgICAgIChyZWFsLXN0YXJ0IChtb2Qg KG9yIHN0YXJ0IDApIGxlbikpCisgICAgICAgICAgICAgICAgICAocmVhbC1lbmQgKG1vZCAo b3IgZW5kIGxlbikgbGVuKSkpCisgICAgICAgICAgICAgKHdoZW4gKGFuZCAoZXEgcmVhbC1l bmQgMCkKKyAgICAgICAgICAgICAgICAgICAgICAgIChub3QgKGVxIGVuZCAwKSkpCisgICAg ICAgICAgICAgICAoc2V0cSByZWFsLWVuZCBsZW4pKQorICAgICAgICAgICAgIChyaW5nLWNv bnZlcnQtc2VxdWVuY2UtdG8tcmluZworICAgICAgICAgICAgICAoc2VxLXN1YnNlcSAocmlu Zy1lbGVtZW50cyB2YWx1ZSkgcmVhbC1zdGFydCByZWFsLWVuZCkpKSkKKyAgICAgICAgICAo XworICAgICAgICAgICAoZXJyb3IgIkludmFsaWQgaW5kZXggZm9yIHJpbmc6ICVzIiBpbmRl eCkpKQorICAgICAgKHBjYXNlIHBhcnNlZC1pbmRleAorICAgICAgICAoKHByZWQgaW50ZWdl cnApCisgICAgICAgICAod2hlbiAoPCBwYXJzZWQtaW5kZXggMCkKKyAgICAgICAgICAgKHNl dHEgcGFyc2VkLWluZGV4ICgrIHBhcnNlZC1pbmRleCAobGVuZ3RoIHZhbHVlKSkpKQorICAg ICAgICAgKHNlcS1lbHQgdmFsdWUgcGFyc2VkLWluZGV4KSkKKyAgICAgICAgKChlc2hlbGwt aW5kZXgtcmFuZ2Ugc3RhcnQgZW5kKQorICAgICAgICAgKHNlcS1zdWJzZXEgdmFsdWUgKG9y IHN0YXJ0IDApIGVuZCkpCisgICAgICAgIChfCisgICAgICAgICA7OyBJTkRFWCBpcyBzb21l IG5vbi1pbnRlZ2VyIHZhbHVlLCBzbyB0cmVhdCBWQUxVRSBhcyBhbiBhbGlzdC4KKyAgICAg ICAgIChjZHIgKGFzc29jIHBhcnNlZC1pbmRleCB2YWx1ZSkpKSkpKSkKIAogOzs7XyogVmFy aWFibGUgbmFtZSBjb21wbGV0aW9uCiAKZGlmZiAtLWdpdCBhL3Rlc3QvbGlzcC9lc2hlbGwv ZXNoLXZhci10ZXN0cy5lbCBiL3Rlc3QvbGlzcC9lc2hlbGwvZXNoLXZhci10ZXN0cy5lbApp bmRleCAxMjQxMmQxMzY0MC4uNjc2N2Q5Mjg5ZjkgMTAwNjQ0Ci0tLSBhL3Rlc3QvbGlzcC9l c2hlbGwvZXNoLXZhci10ZXN0cy5lbAorKysgYi90ZXN0L2xpc3AvZXNoZWxsL2VzaC12YXIt dGVzdHMuZWwKQEAgLTcyLDUyICs3Miw4OSBAQCBlc2gtdmFyLXRlc3QvaW50ZXJwLWxpc3Qt dmFyLWNvbmNhdAogICAgIChlc2hlbGwtY29tbWFuZC1yZXN1bHQtZXF1YWwgImVjaG8gYSQn ZXNoZWxsLXRlc3QtdmFsdWUneiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICcoImExIiAyICIzeiIpKSkpCiAKLShlcnQtZGVmdGVzdCBlc2gtdmFyLXRlc3QvaW50ZXJw LXZhci1pbmRpY2VzICgpCi0gICJJbnRlcnBvbGF0ZSBsaXN0IHZhcmlhYmxlIHdpdGggaW5k aWNlcyIKLSAgKGxldCAoKGVzaGVsbC10ZXN0LXZhbHVlICcoInplcm8iICJvbmUiICJ0d28i ICJ0aHJlZSIgImZvdXIiKSkpCisoZGVmdW4gZXNoLXZhci10ZXN0L2ludGVycC12YXItaW5k aWNlcyAoZnVuY3Rpb24gJm9wdGlvbmFsIHJhbmdlLWZ1bmN0aW9uKQorICAiVGVzdCBpbnRl cnBvbGF0aW9uIG9mIGFuIGluZGV4YWJsZSB2YWx1ZSB3aXRoIGluZGljZXMuCitGVU5DVElP TiBpcyBhIGZ1bmN0aW9uIHRoYXQgdGFrZXMgYSBsaXN0IG9mIGVsZW1lbnRzIGFuZCByZXR1 cm5zCit0aGUgb2JqZWN0IHRvIHRlc3QuCisKK1JBTkdFLUZVTkNUSU9OIGlzIGEgZnVuY3Rp b24gdGhhdCB0YWtlcyBhIGxpc3Qgb2YgZWxlbWVudHMgYW5kCityZXR1cm5zIHRoZSBleHBl Y3RlZCByZXN1bHQgb2YgYW4gaW5kZXggcmFuZ2UgZm9yIHRoZSBvYmplY3Q7IGlmCituaWws IHVzZSBGVU5DVElPTiBpbnN0ZWFkLiIKKyAgKGxldCAoKGVzaGVsbC10ZXN0LXZhbHVlCisg ICAgICAgICAoZnVuY2FsbCBmdW5jdGlvbiAnKCJ6ZXJvIiAib25lIiAidHdvIiAidGhyZWUi ICJmb3VyIikpKQorICAgICAgICAocmFuZ2UtZnVuY3Rpb24gKG9yIHJhbmdlLWZ1bmN0aW9u IGZ1bmN0aW9uKSkpCisgICAgOzsgUG9zaXRpdmUgaW5kaWNlcwogICAgIChlc2hlbGwtY29t bWFuZC1yZXN1bHQtZXF1YWwgImVjaG8gJGVzaGVsbC10ZXN0LXZhbHVlWzBdIgogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgInplcm8iKQogICAgIChlc2hlbGwtY29tbWFu ZC1yZXN1bHQtZXF1YWwgImVjaG8gJGVzaGVsbC10ZXN0LXZhbHVlWzAgMl0iCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAnKCJ6ZXJvIiAidHdvIikpCiAgICAgKGVzaGVs bC1jb21tYW5kLXJlc3VsdC1lcXVhbCAiZWNobyAkZXNoZWxsLXRlc3QtdmFsdWVbMCAyIDRd IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJygiemVybyIgInR3byIgImZv dXIiKSkpKQotCi0oZXJ0LWRlZnRlc3QgZXNoLXZhci10ZXN0L2ludGVycC12YXItaW5kaWNl cy1zdWJjb21tYW5kICgpCi0gICJJbnRlcnBvbGF0ZSBsaXN0IHZhcmlhYmxlIHdpdGggc3Vi Y29tbWFuZCBleHBhbnNpb24gZm9yIGluZGljZXMuIgotICAoc2tpcC11bmxlc3MgKGV4ZWN1 dGFibGUtZmluZCAiZWNobyIpKQotICAobGV0ICgoZXNoZWxsLXRlc3QtdmFsdWUgJygiemVy byIgIm9uZSIgInR3byIgInRocmVlIiAiZm91ciIpKSkKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICcoInplcm8iICJ0d28iICJmb3VyIikpCisgICAgOzsgTmVnYXRpdmUg aW5kaWNlcworICAgIChlc2hlbGwtY29tbWFuZC1yZXN1bHQtZXF1YWwgImVjaG8gJGVzaGVs bC10ZXN0LXZhbHVlWy0xXSIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJm b3VyIikKKyAgICAoZXNoZWxsLWNvbW1hbmQtcmVzdWx0LWVxdWFsICJlY2hvICRlc2hlbGwt dGVzdC12YWx1ZVstMSAtM10iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn KCJmb3VyIiAidHdvIikpCisgICAgOzsgSW5kZXggcmFuZ2VzCiAgICAgKGVzaGVsbC1jb21t YW5kLXJlc3VsdC1lcXVhbAotICAgICAiZWNobyAkZXNoZWxsLXRlc3QtdmFsdWVbJHsqZWNo byAwfV0iCi0gICAgICJ6ZXJvIikKKyAgICAgImVjaG8gJGVzaGVsbC10ZXN0LXZhbHVlWzEu LjRdIgorICAgICAoZnVuY2FsbCByYW5nZS1mdW5jdGlvbiAnKCJvbmUiICJ0d28iICJ0aHJl ZSIpKSkKICAgICAoZXNoZWxsLWNvbW1hbmQtcmVzdWx0LWVxdWFsCi0gICAgICJlY2hvICRl c2hlbGwtdGVzdC12YWx1ZVskeyplY2hvIDB9ICR7KmVjaG8gMn1dIgotICAgICAnKCJ6ZXJv IiAidHdvIikpKSkKKyAgICAgImVjaG8gJGVzaGVsbC10ZXN0LXZhbHVlWy4uMl0iCisgICAg IChmdW5jYWxsIHJhbmdlLWZ1bmN0aW9uICcoInplcm8iICJvbmUiKSkpCisgICAgKGVzaGVs bC1jb21tYW5kLXJlc3VsdC1lcXVhbAorICAgICAiZWNobyAkZXNoZWxsLXRlc3QtdmFsdWVb LTIuLl0iCisgICAgIChmdW5jYWxsIHJhbmdlLWZ1bmN0aW9uICcoInRocmVlIiAiZm91ciIp KSkKKyAgICAoZXNoZWxsLWNvbW1hbmQtcmVzdWx0LWVxdWFsCisgICAgICJlY2hvICRlc2hl bGwtdGVzdC12YWx1ZVsuLl0iCisgICAgIChmdW5jYWxsIHJhbmdlLWZ1bmN0aW9uICcoInpl cm8iICJvbmUiICJ0d28iICJ0aHJlZSIgImZvdXIiKSkpCisgICAgKGVzaGVsbC1jb21tYW5k LXJlc3VsdC1lcXVhbAorICAgICAiZWNobyAkZXNoZWxsLXRlc3QtdmFsdWVbMS4uNCAtMi4u XSIKKyAgICAgKGxpc3QgKGZ1bmNhbGwgcmFuZ2UtZnVuY3Rpb24gJygib25lIiAidHdvIiAi dGhyZWUiKSkKKyAgICAgICAgICAgKGZ1bmNhbGwgcmFuZ2UtZnVuY3Rpb24gJygidGhyZWUi ICJmb3VyIikpKSkpKQorCisoZXJ0LWRlZnRlc3QgZXNoLXZhci10ZXN0L2ludGVycC12YXIt aW5kaWNlcy9saXN0ICgpCisgICJJbnRlcnBvbGF0ZSBsaXN0IHZhcmlhYmxlIHdpdGggaW5k aWNlcy4iCisgIChlc2gtdmFyLXRlc3QvaW50ZXJwLXZhci1pbmRpY2VzICMnaWRlbnRpdHkp KQorCisoZXJ0LWRlZnRlc3QgZXNoLXZhci10ZXN0L2ludGVycC12YXItaW5kaWNlcy92ZWN0 b3IgKCkKKyAgIkludGVycG9sYXRlIHZlY3RvciB2YXJpYWJsZSB3aXRoIGluZGljZXMuIgor ICAoZXNoLXZhci10ZXN0L2ludGVycC12YXItaW5kaWNlcyAjJ3Zjb25jYXQpKQogCi0oZXJ0 LWRlZnRlc3QgZXNoLXZhci10ZXN0L2ludGVycC12YXItc3BsaXQtaW5kaWNlcyAoKQorKGVy dC1kZWZ0ZXN0IGVzaC12YXItdGVzdC9pbnRlcnAtdmFyLWluZGljZXMvcmluZyAoKQorICAi SW50ZXJwb2xhdGUgcmluZyB2YXJpYWJsZSB3aXRoIGluZGljZXMuIgorICAoZXNoLXZhci10 ZXN0L2ludGVycC12YXItaW5kaWNlcyAjJ3JpbmctY29udmVydC1zZXF1ZW5jZS10by1yaW5n KSkKKworKGVydC1kZWZ0ZXN0IGVzaC12YXItdGVzdC9pbnRlcnAtdmFyLWluZGljZXMvc3Bs aXQgKCkKICAgIkludGVycG9sYXRlIHN0cmluZyB2YXJpYWJsZSB3aXRoIGluZGljZXMuIgot ICAobGV0ICgoZXNoZWxsLXRlc3QtdmFsdWUgInplcm8gb25lIHR3byB0aHJlZSBmb3VyIikp Ci0gICAgKGVzaGVsbC1jb21tYW5kLXJlc3VsdC1lcXVhbCAiZWNobyAkZXNoZWxsLXRlc3Qt dmFsdWVbMF0iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiemVybyIpCi0g ICAgKGVzaGVsbC1jb21tYW5kLXJlc3VsdC1lcXVhbCAiZWNobyAkZXNoZWxsLXRlc3QtdmFs dWVbMCAyXSIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcoInplcm8iICJ0 d28iKSkKLSAgICAoZXNoZWxsLWNvbW1hbmQtcmVzdWx0LWVxdWFsICJlY2hvICRlc2hlbGwt dGVzdC12YWx1ZVswIDIgNF0iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn KCJ6ZXJvIiAidHdvIiAiZm91ciIpKSkpCisgIChlc2gtdmFyLXRlc3QvaW50ZXJwLXZhci1p bmRpY2VzCisgICAobGFtYmRhICh2YWx1ZXMpIChzdHJpbmctam9pbiB2YWx1ZXMgIiAiKSkK KyAgICMnaWRlbnRpdHkpKQogCiAoZXJ0LWRlZnRlc3QgZXNoLXZhci10ZXN0L2ludGVycC12 YXItc3RyaW5nLXNwbGl0LWluZGljZXMgKCkKICAgIkludGVycG9sYXRlIHN0cmluZyB2YXJp YWJsZSB3aXRoIHN0cmluZyBzcGxpdHRlciBhbmQgaW5kaWNlcy4iCisgIDs7IFRlc3QgdXNp bmcgcHVuY3R1YXRpb24gYXMgYSBkZWxpbWl0ZXIuCiAgIChsZXQgKChlc2hlbGwtdGVzdC12 YWx1ZSAiemVybzpvbmU6dHdvOnRocmVlOmZvdXIiKSkKICAgICAoZXNoZWxsLWNvbW1hbmQt cmVzdWx0LWVxdWFsICJlY2hvICRlc2hlbGwtdGVzdC12YWx1ZVs6IDBdIgogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgInplcm8iKQogICAgIChlc2hlbGwtY29tbWFuZC1y ZXN1bHQtZXF1YWwgImVjaG8gJGVzaGVsbC10ZXN0LXZhbHVlWzogMCAyXSIKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICcoInplcm8iICJ0d28iKSkpCisgIDs7IFRlc3Qg dXNpbmcgYSBsZXR0ZXIgYXMgYSBkZWxpbWl0ZXIuCiAgIChsZXQgKChlc2hlbGwtdGVzdC12 YWx1ZSAiemVyb1hvbmVYdHdvWHRocmVlWGZvdXIiKSkKICAgICAoZXNoZWxsLWNvbW1hbmQt cmVzdWx0LWVxdWFsICJlY2hvICRlc2hlbGwtdGVzdC12YWx1ZVtYIDBdIgogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgInplcm8iKQogICAgIChlc2hlbGwtY29tbWFuZC1y ZXN1bHQtZXF1YWwgImVjaG8gJGVzaGVsbC10ZXN0LXZhbHVlW1ggMCAyXSIKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICcoInplcm8iICJ0d28iKSkpCisgIDs7IFRlc3Qg dXNpbmcgYSBudW1iZXIgYXMgYSBkZWxpbWl0ZXIuCisgIChsZXQgKChlc2hlbGwtdGVzdC12 YWx1ZSAiemVybzBvbmUwdHdvMHRocmVlMGZvdXIiKSkKKyAgICAoZXNoZWxsLWNvbW1hbmQt cmVzdWx0LWVxdWFsICJlY2hvICRlc2hlbGwtdGVzdC12YWx1ZVtcIjBcIiAwXSIKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ6ZXJvIikKKyAgICAoZXNoZWxsLWNvbW1h bmQtcmVzdWx0LWVxdWFsICJlY2hvICRlc2hlbGwtdGVzdC12YWx1ZVtcIjBcIiAwIDJdIgog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJygiemVybyIgInR3byIpKSkpCiAK IChlcnQtZGVmdGVzdCBlc2gtdmFyLXRlc3QvaW50ZXJwLXZhci1yZWdleHAtc3BsaXQtaW5k aWNlcyAoKQogICAiSW50ZXJwb2xhdGUgc3RyaW5nIHZhcmlhYmxlIHdpdGggcmVnZXhwIHNw bGl0dGVyIGFuZCBpbmRpY2VzLiIKKyAgOzsgVGVzdCB1c2luZyBhIHJlZ2V4cCBhcyBhIGRl bGltaXRlci4KICAgKGxldCAoKGVzaGVsbC10ZXN0LXZhbHVlICJ6ZXJvOm9uZSF0d286dGhy ZWUhZm91ciIpKQogICAgIChlc2hlbGwtY29tbWFuZC1yZXN1bHQtZXF1YWwgImVjaG8gJGVz aGVsbC10ZXN0LXZhbHVlWydbOiFdJyAwXSIKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICJ6ZXJvIikKQEAgLTEyNiwxNSArMTYzLDM0IEBAIGVzaC12YXItdGVzdC9pbnRl cnAtdmFyLXJlZ2V4cC1zcGxpdC1pbmRpY2VzCiAgICAgKGVzaGVsbC1jb21tYW5kLXJlc3Vs dC1lcXVhbCAiZWNobyAkZXNoZWxsLXRlc3QtdmFsdWVbXCJbOiFdXCIgMF0iCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAiemVybyIpCiAgICAgKGVzaGVsbC1jb21tYW5k LXJlc3VsdC1lcXVhbCAiZWNobyAkZXNoZWxsLXRlc3QtdmFsdWVbXCJbOiFdXCIgMCAyXSIK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcoInplcm8iICJ0d28iKSkpCisg IDs7IFRlc3QgdXNpbmcgYSByZWdleHAgdGhhdCBsb29rcyBsaWtlIHJhbmdlIHN5bnRheCBh cyBhIGRlbGltaXRlci4KKyAgKGxldCAoKGVzaGVsbC10ZXN0LXZhbHVlICJ6ZXJvMC4uMG9u ZTAuLjB0d28wLi4wdGhyZWUwLi4wZm91ciIpKQorICAgIChlc2hlbGwtY29tbWFuZC1yZXN1 bHQtZXF1YWwgImVjaG8gJGVzaGVsbC10ZXN0LXZhbHVlW1wiMC4uMFwiIDBdIgorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgInplcm8iKQorICAgIChlc2hlbGwtY29tbWFu ZC1yZXN1bHQtZXF1YWwgImVjaG8gJGVzaGVsbC10ZXN0LXZhbHVlW1wiMC4uMFwiIDAgMl0i CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnKCJ6ZXJvIiAidHdvIikpKSkK IAogKGVydC1kZWZ0ZXN0IGVzaC12YXItdGVzdC9pbnRlcnAtdmFyLWFzc29jICgpCiAgICJJ bnRlcnBvbGF0ZSBhbGlzdCB2YXJpYWJsZSB3aXRoIGluZGV4LiIKLSAgKGxldCAoKGVzaGVs bC10ZXN0LXZhbHVlICcoKCJmb28iIC4gMSkgKGJhciAuIDIpKSkpCisgIChsZXQgKChlc2hl bGwtdGVzdC12YWx1ZSAnKCgiZm9vIiAuIDEpIChiYXIgLiAyKSAoIjMiIC4gInRocmVlIikp KSkKICAgICAoZXNoZWxsLWNvbW1hbmQtcmVzdWx0LWVxdWFsICJlY2hvICRlc2hlbGwtdGVz dC12YWx1ZVtmb29dIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSkKICAg ICAoZXNoZWxsLWNvbW1hbmQtcmVzdWx0LWVxdWFsICJlY2hvICRlc2hlbGwtdGVzdC12YWx1 ZVsjJ2Jhcl0iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyKSkpCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyKQorICAgIChlc2hlbGwtY29tbWFuZC1y ZXN1bHQtZXF1YWwgImVjaG8gJGVzaGVsbC10ZXN0LXZhbHVlW1wiM1wiXSIKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICJ0aHJlZSIpKSkKKworKGVydC1kZWZ0ZXN0IGVz aC12YXItdGVzdC9pbnRlcnAtdmFyLWluZGljZXMtc3ViY29tbWFuZCAoKQorICAiSW50ZXJw b2xhdGUgbGlzdCB2YXJpYWJsZSB3aXRoIHN1YmNvbW1hbmQgZXhwYW5zaW9uIGZvciBpbmRp Y2VzLiIKKyAgKHNraXAtdW5sZXNzIChleGVjdXRhYmxlLWZpbmQgImVjaG8iKSkKKyAgKGxl dCAoKGVzaGVsbC10ZXN0LXZhbHVlICcoInplcm8iICJvbmUiICJ0d28iICJ0aHJlZSIgImZv dXIiKSkpCisgICAgKGVzaGVsbC1jb21tYW5kLXJlc3VsdC1lcXVhbAorICAgICAiZWNobyAk ZXNoZWxsLXRlc3QtdmFsdWVbJHsqZWNobyAwfV0iCisgICAgICJ6ZXJvIikKKyAgICAoZXNo ZWxsLWNvbW1hbmQtcmVzdWx0LWVxdWFsCisgICAgICJlY2hvICRlc2hlbGwtdGVzdC12YWx1 ZVskeyplY2hvIDB9ICR7KmVjaG8gMn1dIgorICAgICAnKCJ6ZXJvIiAidHdvIikpKSkKIAog KGVydC1kZWZ0ZXN0IGVzaC12YXItdGVzdC9pbnRlcnAtdmFyLWxlbmd0aC1saXN0ICgpCiAg ICJJbnRlcnBvbGF0ZSBsZW5ndGggb2YgbGlzdCB2YXJpYWJsZS4iCi0tIAoyLjI1LjEKCg== --------------3MSg5M4gmD80NNSLx6dCDcAB-- From unknown Sun Jun 22 04:34:08 2025 X-Loop: help-debbugs@gnu.org Subject: bug#60999: 30.0.50; [PATCH] Add support for negative indices and index ranges in Eshell Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 22 Jan 2023 06:30:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 60999 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Jim Porter Cc: 60999@debbugs.gnu.org Received: via spool by 60999-submit@debbugs.gnu.org id=B60999.16743689642773 (code B ref 60999); Sun, 22 Jan 2023 06:30:02 +0000 Received: (at 60999) by debbugs.gnu.org; 22 Jan 2023 06:29:24 +0000 Received: from localhost ([127.0.0.1]:50485 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pJTr1-0000if-Po for submit@debbugs.gnu.org; Sun, 22 Jan 2023 01:29:24 -0500 Received: from eggs.gnu.org ([209.51.188.92]:38102) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pJTr0-0000iS-2N for 60999@debbugs.gnu.org; Sun, 22 Jan 2023 01:29:22 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pJTqu-0004ae-PG; Sun, 22 Jan 2023 01:29:16 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=32Ty2dy6rtSE5maJdE65nqfncwTQZMrBPFpXfDiBpaY=; b=LZwiHX72ZtS9 jgLeOraIN5DMtPhU+gEBYIhjzpKy/U3yMAo2G/VNih0LQGC2S8eYQVVIdpGJoNftZjNLuXNWyVntn aaaT/3lRfAcAfTtgNoOUjet/EbpzS68rvcHeeWY9t4IbafhHvF0liiGy2kG/xddqm7dZ2LNu5sli6 kihJsSxNunypqlrfrwCUpTRDx4VfTspn4PuK5g4siTHq2LSC/lN4Gy/mKzoDo/KKN4m5jzM6VG1yE t3nRr7UTo05gOp0+oaH7LQJmqAroBYv1Z04pj1+dQTf4AkM+tQ+mZVUQAIbnf5PCQVjTxiSvYwNOl sHG7FKP6p+tGCRX5j4bM/g==; Received: from [87.69.77.57] (helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pJTqu-0005uo-1X; Sun, 22 Jan 2023 01:29:16 -0500 Date: Sun, 22 Jan 2023 08:29:20 +0200 Message-Id: <83zgabjd4v.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: (message from Jim Porter on Sat, 21 Jan 2023 19:47:47 -0800) References: X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Date: Sat, 21 Jan 2023 19:47:47 -0800 > From: Jim Porter > > Attached is a patch to do this. For the second suggestion, I took some > liberties and added range syntax, so that "$x[2..5]" returns elements 2, > 3, and 4 (zero-indexed) of x. > > I have just one question though: this implementation treats ranges as > half-open, i.e. "M..N" is [M, N). I think that's the best way of doing > things (and it matches how 'seq-subseq' works). However, "M..N" is the > Bash syntax, which uses a closed range, [M, N]. Maybe this would be too > confusing for users? I'm open to using other tokens aside from ".." if > that would help. Maybe "M:N" would work? That's the Python syntax, which > behaves the same way as this patch. Any thoughts? I think compatibility to other shells is an advantage. > +(defcustom eshell-integer-regexp (rx (? "-") (+ digit)) > + "Regular expression used to match integer arguments." > + :type 'regexp) Why is this a defcustom? what alternative could a user possibly want? Thanks. From unknown Sun Jun 22 04:34:08 2025 X-Loop: help-debbugs@gnu.org Subject: bug#60999: 30.0.50; [PATCH] Add support for negative indices and index ranges in Eshell Resent-From: Jim Porter Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sun, 22 Jan 2023 08:14:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 60999 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Eli Zaretskii Cc: 60999@debbugs.gnu.org Received: via spool by 60999-submit@debbugs.gnu.org id=B60999.167437520414044 (code B ref 60999); Sun, 22 Jan 2023 08:14:02 +0000 Received: (at 60999) by debbugs.gnu.org; 22 Jan 2023 08:13:24 +0000 Received: from localhost ([127.0.0.1]:50574 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pJVTg-0003eS-CM for submit@debbugs.gnu.org; Sun, 22 Jan 2023 03:13:24 -0500 Received: from mail-pg1-f173.google.com ([209.85.215.173]:45676) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pJVTe-0003eE-4F for 60999@debbugs.gnu.org; Sun, 22 Jan 2023 03:13:23 -0500 Received: by mail-pg1-f173.google.com with SMTP id r18so6949391pgr.12 for <60999@debbugs.gnu.org>; Sun, 22 Jan 2023 00:13:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:mime-version:date:message-id:from:to:cc :subject:date:message-id:reply-to; bh=kXDdrChT8NfzL2lUULNjbBf9qBp0jSPqVKb5Tf9GGhk=; b=lcGjpBi2RTCUFmsapIc1edrsfAtfxYz/RCA+L59zFCXduL+sc1eW6DoAvjZvHrZfoh XiQz9bB2A8RGcekQGsgKW1CHSkeDQn0NRbOXeK1xb+ZVeQryLTuQCW7LGLfwq6cak8Ol a3fqVxWChwIGswiv4kl7ExKmrk8vru6INYQv5M0BRQOAOkMgIkW9385JtL/oECR/3Foc zToYOn/5Wo0TeX25nVlCE2XIvSskIEkMGPOC26oCxOQODVKGSBnTQ/+3UP9XAXeGdOM5 4KWBfR/5wc12aH7akD44Qt23ZX+WjqD4uoi9L6FjIwkv/P0SZshb93HTbZ39tgyvD5y4 lIXA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=kXDdrChT8NfzL2lUULNjbBf9qBp0jSPqVKb5Tf9GGhk=; b=MaAxGloqaWJynnb+2z4aA1Uho+MOt0frYZGta3tH1Qj/zfR1JgkKPour1UzKMzPb+7 3O9po6libNsAsg89/EMame1n5+nQDrp2zbdW8nNTX0aoLfTM158fHuWbnet04uaLSeTZ cjTP9J8b4IjHD2NMRXRvs8fOPx0CYTrfIuJPRVaKqAonBRTzaiVS++SopCt93bEq3Ok1 6fWSsUXIp25bBGa71dbR2OT2wC8ColUKHjr2sP/52yaxtCQwR59XzQNVhZqdThsxpzH3 XkWzuqdn4JEL4gy4/L0lKqG5IzjvaRjGgGw2634n/xUj1jN0d0/rlCZZVRUgmwQJUfvK 5xcw== X-Gm-Message-State: AFqh2kppuYU5BasCFxuA5Q3lAjsYYHr4eko6ygxKK7eYZn+sjKDOS0jd kOXWV9xVOZrREe5Vs8hcnbJyrNfmsYCAMQ== X-Google-Smtp-Source: AMrXdXtDvha9dVZKXBcj85bWonsaN64Ov5yd9uEtA0jd6HxP2gDNGEpj2BGxSQxk8UYfeqXjTimjBw== X-Received: by 2002:a05:6a00:bcb:b0:58d:d7b9:fda4 with SMTP id x11-20020a056a000bcb00b0058dd7b9fda4mr17897140pfu.27.1674375196002; Sun, 22 Jan 2023 00:13:16 -0800 (PST) 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 y22-20020aa78f36000000b0058d92ff8a31sm13606735pfr.187.2023.01.22.00.13.15 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 22 Jan 2023 00:13:15 -0800 (PST) Message-ID: Date: Sun, 22 Jan 2023 00:13:16 -0800 MIME-Version: 1.0 Content-Language: en-US References: <83zgabjd4v.fsf@gnu.org> From: Jim Porter In-Reply-To: <83zgabjd4v.fsf@gnu.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) On 1/21/2023 10:29 PM, Eli Zaretskii wrote: >> Date: Sat, 21 Jan 2023 19:47:47 -0800 >> From: Jim Porter >> >> I have just one question though: this implementation treats ranges as >> half-open, i.e. "M..N" is [M, N). I think that's the best way of doing >> things (and it matches how 'seq-subseq' works). However, "M..N" is the >> Bash syntax, which uses a closed range, [M, N]. Maybe this would be too >> confusing for users? [snip] > > I think compatibility to other shells is an advantage. True. Though, in practice I find that the half-open range is easier to use whenever things become more complex than just using constant values. For example, truncating a larger list to be the same size as a shorter one ("$#" means "length of"): $long-list[..$#short-list] Using Bash-style closed ranges, you'd have to do: $long-list[..${1- $#short-list}] (Note that unlike Bash syntax, I made this so that M and N are optional. That's another thing we could consider changing.) Half-open ranges are also more consistent with Emacs Lisp in my experience. It would be strange (at least to me) to have things like 'seq-subseq', 'add-text-properties', 'substring', etc use one way of specifying ranges, and Eshell to use another, especially when you can call any of those functions within Eshell. But like you say, compatibility with other shells is an advantage too... In that sense, some non-Bash syntax might be nice. However, Eshell subscripts are already fairly complex, so we'd need to be careful about what we choose so that we don't break compatibility. For example, when subscripting a string, the first element in the subscript can be a regexp that splits the string, so to get the first element in your PATH, you could do: $PATH[: 0] If ":" was the range separator, this would change meaning. There are ways to prevent that incompatible change if we're careful, but it's something to keep in mind. ".." has the advantage that while it's a valid regexp, it's not very useful in this context, so we probably wouldn't break anything in practice. >> +(defcustom eshell-integer-regexp (rx (? "-") (+ digit)) >> + "Regular expression used to match integer arguments." >> + :type 'regexp) > > Why is this a defcustom? what alternative could a user possibly want? Just for symmetry with 'eshell-number-regexp'. Maybe that shouldn't be a defcustom either though; if someone wanted to change 'eshell-number-regexp', that's probably a sign that there's a bug, and the default value should be improved. Either way we decide about 'eshell-number-regexp', I can turn 'eshell-integer-regexp' into a regular defvar. (The only thing I can think of that a person would customize it to would be to allow a "+" at the start of an integer, like "+123".) From unknown Sun Jun 22 04:34:08 2025 X-Loop: help-debbugs@gnu.org Subject: bug#60999: 30.0.50; [PATCH] Add support for negative indices and index ranges in Eshell Resent-From: Jim Porter Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 27 Jan 2023 01:24:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 60999 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Eli Zaretskii Cc: 60999@debbugs.gnu.org Received: via spool by 60999-submit@debbugs.gnu.org id=B60999.167478261015705 (code B ref 60999); Fri, 27 Jan 2023 01:24:02 +0000 Received: (at 60999) by debbugs.gnu.org; 27 Jan 2023 01:23:30 +0000 Received: from localhost ([127.0.0.1]:36492 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pLDSj-00045C-1R for submit@debbugs.gnu.org; Thu, 26 Jan 2023 20:23:30 -0500 Received: from mail-pj1-f48.google.com ([209.85.216.48]:51876) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pLDSg-000450-Nr for 60999@debbugs.gnu.org; Thu, 26 Jan 2023 20:23:28 -0500 Received: by mail-pj1-f48.google.com with SMTP id b10so3188726pjo.1 for <60999@debbugs.gnu.org>; Thu, 26 Jan 2023 17:23:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=in-reply-to:content-language:references:cc:to:from:subject :mime-version:date:message-id:from:to:cc:subject:date:message-id :reply-to; bh=8Ce7GfQ24DUmGg738QHT4VOrNmmmXQH1K6Rch2WrusA=; b=olf42DCr58KSPorBCi8E2m7ESPkuc9Ad2QKB5W5jehPjtaesn1I1hScYtIFYb8o55a E9Kf8Td6e/nKhK+oTdA6D46Y5jMM8DQE0hwlBL9stL1jRoAZKvIg1Su6Xh4169En2hG5 9mHeDVNdTrqIcqL7eA/3Zo3XH9iFd5bnq/5+BcT3ePkQQvrx9/kQDmFucINYzEpaONCQ AlFntdTiuDQv/4AVDwr+qOhzV0/RSaV9XxA7ab7qnkfn+0pgp2PrQZ6lIu9Nce9Z72r4 /zDM0byvtVmtUYPKe/3NKX5442Ldgs3BOkd+OcUF+EUQCy7dZAyOSQvv1RXeTNYMlpVz ltzg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=in-reply-to:content-language:references:cc:to:from:subject :mime-version:date:message-id:x-gm-message-state:from:to:cc:subject :date:message-id:reply-to; bh=8Ce7GfQ24DUmGg738QHT4VOrNmmmXQH1K6Rch2WrusA=; b=m2iG+J7fJ6yEZ+bDzb5eCidD18plZ8asqaePLRA4GubiKmYvV7qIKZTQa4ysckTcOn oSks5Id742XhLmyjVvZoOQBC1xVk6bv6rVlnP6OB3RkY9cEs2almomZ1JO8v//NsgtEi tVcVT0/lNgel6Jkq93uCIStaVb0tj6dpqzMdLCMobVmdXjCb70pMWatGlTzNOGaQ+A+2 1v7PGZwMycfb+sRnELOiXCNBl9a/KqKM2yDBKNgQW9Y3CLYy0/T5EC07W/NDVjXFhKuA vorV/vHjn/1dKFJMGEO+tJI9bKgwhUKhXyXrBFYia7/ZYKBWglIvG+6kf1ehScjGg4Ro YyVw== X-Gm-Message-State: AO0yUKVsKNWox3gsUbugk96UTPMjszcqBt16v50gwYtHDTwZYQH9KqpZ 0VZLUx3D9DBdL9jZG/X2uzhdZ5mqx7PxOg== X-Google-Smtp-Source: AK7set98MB9e/GOF9W5nHAvDREkIHwG24eRaLR5qkiMcSBcJpKYLT1bCTkVCzR5m9gqgy77N31z7aQ== X-Received: by 2002:a17:90a:51:b0:22c:351d:c2bb with SMTP id 17-20020a17090a005100b0022c351dc2bbmr2682611pjb.23.1674782600890; Thu, 26 Jan 2023 17:23:20 -0800 (PST) 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 u8-20020a17090a2b8800b00229b00cc8desm15839527pjd.0.2023.01.26.17.23.19 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 26 Jan 2023 17:23:20 -0800 (PST) Content-Type: multipart/mixed; boundary="------------uE6QFQBlqt43CZCjSHAW6L0w" Message-ID: <3de45afd-c721-9b3a-ff97-5e6dc8d0c390@gmail.com> Date: Thu, 26 Jan 2023 17:23:19 -0800 MIME-Version: 1.0 From: Jim Porter References: <83zgabjd4v.fsf@gnu.org> Content-Language: en-US In-Reply-To: X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) This is a multi-part message in MIME format. --------------uE6QFQBlqt43CZCjSHAW6L0w Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 1/22/2023 12:13 AM, Jim Porter wrote: > Either way we decide about 'eshell-number-regexp', I can turn > 'eshell-integer-regexp' into a regular defvar. (The only thing I can > think of that a person would customize it to would be to allow a "+" at > the start of an integer, like "+123".) Ok, I've updated my patch to that 'eshell-integer-regexp' is just a regular defvar. In the second patch, I also converted 'eshell-number-regexp' to a defvar, and improved the regexp to match more valid numbers. I think with those improvements, there's no real reason for 'eshell-number-regexp' to be customizable anymore. Note: I haven't done anything with the range syntax though. If you feel strongly that it should be a closed range like in Bash (instead of half-open like it is in the current patch), then I don't mind changing it. Personally though, I have a soft preference for half-open since it's more consistent with the rest of Emacs Lisp. --------------uE6QFQBlqt43CZCjSHAW6L0w Content-Type: text/plain; charset=UTF-8; name="0001-Add-support-for-negative-indices-and-index-ranges-in.patch" Content-Disposition: attachment; filename*0="0001-Add-support-for-negative-indices-and-index-ranges-in.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSA5YjQ1MWVjMDNkZjg2ZjRkZjRmZjg1ODMwZTc2NzVlNGFlNzNhMzY5IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gUG9ydGVyIDxqcG9ydGVyYnVnc0BnbWFpbC5j b20+CkRhdGU6IEZyaSwgMjAgSmFuIDIwMjMgMTM6NTQ6MjAgLTA4MDAKU3ViamVjdDogW1BB VENIIDEvMl0gQWRkIHN1cHBvcnQgZm9yIG5lZ2F0aXZlIGluZGljZXMgYW5kIGluZGV4IHJh bmdlcyBpbgogRXNoZWxsCgoqIGxpc3AvZXNoZWxsL2VzaC11dGlsLmVsIChlc2hlbGwtaW50 ZWdlci1yZWdleHApOiBOZXcgZGVmdmFyLgoKKiBsaXNwL2VzaGVsbC9lc2gtdmFyLmVsIChl c2hlbGwtcGFyc2UtaW5kaWNlcyk6IEV4cGFuZCBkb2NzdHJpbmcuCihlc2hlbGwtcGFyc2Ut aW5kZXgpOiBOZXcgZnVuY3Rpb24uCihlc2hlbGwtYXBwbHktaW5kaWNlcyk6IFVzZSAnZXNo ZWxsLXBhcnNlLWluZGV4JyB0byBkZXRlcm1pbmUgd2hldGhlcgp0byB0cmVhdCB0aGUgZmly c3QgaW5kZXggYXMgYSByZWdleHAuICBTaW1wbGlmeSB0aGUgaW1wbGVtZW50YXRpb24gYQpi aXQuCihlc2hlbGwtaW5kZXgtcmFuZ2UpOiBOZXcgcGNhc2UgbWFjcm8uLi4KKGVzaGVsbC1p bmRleC12YWx1ZSk6IC4uLiB1c2UgaXQsIGFuZCByZXN0cnVjdHVyZSB0aGUgaW1wbGVtZW50 YXRpb24uCgoqIHRlc3QvbGlzcC9lc2hlbGwvZXNoLXZhci10ZXN0cy5lbCAoZXNoLXZhci10 ZXN0L2ludGVycC12YXItaW5kaWNlcyk6Ck5ldyBmdW5jdGlvbi4uLgooZXNoLXZhci10ZXN0 L2ludGVycC12YXItaW5kaWNlcy9saXN0KQooZXNoLXZhci10ZXN0L2ludGVycC12YXItaW5k aWNlcy92ZWN0b3IpCihlc2gtdmFyLXRlc3QvaW50ZXJwLXZhci1pbmRpY2VzL3JpbmcpCihl c2gtdmFyLXRlc3QvaW50ZXJwLXZhci1pbmRpY2VzL3NwbGl0KTogLi4uIHVzZSBpdC4KKGVz aC12YXItdGVzdC9pbnRlcnAtdmFyLXN0cmluZy1zcGxpdC1pbmRpY2VzKQooZXNoLXZhci10 ZXN0L2ludGVycC12YXItcmVnZXhwLXNwbGl0LWluZGljZXMpCihlc2gtdmFyLXRlc3QvaW50 ZXJwLXZhci1hc3NvYyk6IEV4cGFuZCB0ZXN0cyB0byBjb3ZlciB0aGluZ3MgdGhhdApsb29r IGxpa2UgbnVtYmVycyBvciByYW5nZXMsIGJ1dCBhcmVuJ3QuCgoqIGRvYy9taXNjL2VzaGVs bC50ZXhpIChWYXJpYWJsZXMpOiBEZXNjcmliZSBob3cgdG8gZ2V0IGFsbCBhcmd1bWVudHMK b2YgdGhlIGxhc3QgY29tbWFuZC4KKERvbGxhcnMgRXhwYW5zaW9uKTogRXhwbGFpbiBuZWdh dGl2ZSBpbmRpY2VzIGFuZCBpbmRleCByYW5nZXMuCihCdWdzIGFuZCBpZGVhcyk6IFJlbW92 ZSBub3ctaW1wbGVtZW50ZWQgaWRlYXMuCgoqIGV0Yy9ORVdTOiBBbm5vdW5jZSB0aGlzIGNo YW5nZS4KLS0tCiBkb2MvbWlzYy9lc2hlbGwudGV4aSAgICAgICAgICAgICAgfCAgMjQgKysr LS0tCiBldGMvTkVXUyAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDcgKysKIGxpc3Av ZXNoZWxsL2VzaC11dGlsLmVsICAgICAgICAgICB8ICAgMyArCiBsaXNwL2VzaGVsbC9lc2gt dmFyLmVsICAgICAgICAgICAgfCAxMzYgKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0t CiB0ZXN0L2xpc3AvZXNoZWxsL2VzaC12YXItdGVzdHMuZWwgfCAxMDIgKysrKysrKysrKysr KysrKystLS0tLQogNSBmaWxlcyBjaGFuZ2VkLCAxOTIgaW5zZXJ0aW9ucygrKSwgODAgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZG9jL21pc2MvZXNoZWxsLnRleGkgYi9kb2MvbWlz Yy9lc2hlbGwudGV4aQppbmRleCA1N2EyMDIwZmRjYS4uOTQ3N2QwZjVlMzEgMTAwNjQ0Ci0t LSBhL2RvYy9taXNjL2VzaGVsbC50ZXhpCisrKyBiL2RvYy9taXNjL2VzaGVsbC50ZXhpCkBA IC0xMDU5LDcgKzEwNTksOSBAQCBWYXJpYWJsZXMKIFRoaXMgcmVmZXJzIHRvIHRoZSBsYXN0 IGFyZ3VtZW50IG9mIHRoZSBsYXN0IGNvbW1hbmQuICBXaXRoIGEKIHN1YnNjcmlwdCwgeW91 IGNhbiBhY2Nlc3MgYW55IGFyZ3VtZW50IG9mIHRoZSBsYXN0IGNvbW1hbmQuICBGb3IKIGV4 YW1wbGUsIEBzYW1weyRfWzFdfSByZWZlcnMgdG8gdGhlIHNlY29uZCBhcmd1bWVudCBvZiB0 aGUgbGFzdAotY29tbWFuZCAoZXhjbHVkaW5nIHRoZSBjb21tYW5kIG5hbWUgaXRzZWxmKS4K K2NvbW1hbmQgKGV4Y2x1ZGluZyB0aGUgY29tbWFuZCBuYW1lIGl0c2VsZikuICBUbyBnZXQg YWxsIGFyZ3VtZW50cyBvZgordGhlIGxhc3QgY29tbWFuZCwgeW91IGNhbiB1c2UgYW4gaW5k ZXggcmFuZ2UgbGlrZSBAc2FtcHskX1suLl19CisoQHB4cmVme0RvbGxhcnMgRXhwYW5zaW9u fSkuCiAKIEB2aW5kZXggJCQKIEBpdGVtICQkCkBAIC0xMzcwLDExICsxMzcyLDIwIEBAIERv bGxhcnMgRXhwYW5zaW9uCiBAaXRlbSBhIHNlcXVlbmNlCiBFeHBhbmRzIHRvIHRoZSBlbGVt ZW50IGF0IHRoZSAoemVyby1iYXNlZCkgaW5kZXggQHZhcntpfSBvZiB0aGUKIHNlcXVlbmNl IChAcHhyZWZ7U2VxdWVuY2VzIEFycmF5cyBWZWN0b3JzLCBTZXF1ZW5jZXMsICwgZWxpc3As IFRoZQotRW1hY3MgTGlzcCBSZWZlcmVuY2UgTWFudWFsfSkuCitFbWFjcyBMaXNwIFJlZmVy ZW5jZSBNYW51YWx9KS4gIElmIEB2YXJ7aX0gaXMgbmVnYXRpdmUsIEB2YXJ7aX0gY291bnRz Citmcm9tIHRoZSBlbmQsIHNvIC0xIHJlZmVycyB0byB0aGUgbGFzdCBlbGVtZW50IG9mIHRo ZSBzZXF1ZW5jZS4KKworSWYgQHZhcntpfSBpcyBhIHJhbmdlIGxpa2UgQGNvZGV7QHZhcntz dGFydH0uLkB2YXJ7ZW5kfX0sIHRoaXMgZXhwYW5kcwordG8gYSBzdWJzZXF1ZW5jZSBmcm9t IHRoZSBpbmRpY2VzIEB2YXJ7c3RhcnR9IHRvIEB2YXJ7ZW5kfSwgd2hlcmUKK0B2YXJ7ZW5k fSBpcyBleGNsdWRlZC4gIEB2YXJ7c3RhcnR9IGFuZC9vciBAdmFye2VuZH0gY2FuIGFsc28g YmUKK29taXR0ZWQsIHdoaWNoIGlzIGVxdWl2YWxlbnQgdG8gdGhlIHN0YXJ0IGFuZC9vciBl bmQgb2YgdGhlIGVudGlyZQorbGlzdC4gIEZvciBleGFtcGxlLCBAc2FtcHskQHZhcntleHBy fVstMi4uXX0gZXhwYW5kcyB0byB0aGUgbGFzdCB0d28KK3ZhbHVlcyBvZiBAdmFye2V4cHJ9 LgogCiBAaXRlbSBhIHN0cmluZwogU3BsaXQgdGhlIHN0cmluZyBhdCB3aGl0ZXNwYWNlLCBh bmQgdGhlbiBleHBhbmQgdG8gdGhlIEB2YXJ7aX10aAotZWxlbWVudCBvZiB0aGUgcmVzdWx0 aW5nIHNlcXVlbmNlLgorZWxlbWVudCBvZiB0aGUgcmVzdWx0aW5nIHNlcXVlbmNlLiAgQXMg YWJvdmUsIEB2YXJ7aX0gY2FuIGJlIGEgcmFuZ2UKK2xpa2UgQGNvZGV7QHZhcntzdGFydH0u LkB2YXJ7ZW5kfX0uCiAKIEBpdGVtIGFuIGFsaXN0CiBJZiBAdmFye2l9IGlzIGEgbm9uLW51 bWVyaWMgdmFsdWUsIGV4cGFuZCB0byB0aGUgdmFsdWUgYXNzb2NpYXRlZCB3aXRoCkBAIC0y NDQyLDEzICsyNDUzLDYgQEAgQnVncyBhbmQgaWRlYXMKIAogVGhpcyB3YXksIHRoZSB1c2Vy IGNvdWxkIGNoYW5nZSBpdCB0byB1c2UgcmMgc3ludGF4OiBAc2FtcHs+WzI9MV19LgogCi1A aXRlbSBBbGxvdyBAc2FtcHskX1stMV19LCB3aGljaCB3b3VsZCBpbmRpY2F0ZSB0aGUgbGFz dCBlbGVtZW50IG9mIHRoZSBhcnJheQotCi1AaXRlbSBNYWtlIEBzYW1weyR4WypdfSBlcXVh bCB0byBsaXN0aW5nIG91dCB0aGUgZnVsbCBjb250ZW50cyBvZiBAc2FtcHt4fQotCi1SZXR1 cm4gdGhlbSBhcyBhIGxpc3QsIHNvIHRoYXQgQHNhbXB7JF9bKl19IGlzIGFsbCB0aGUgYXJn dW1lbnRzIG9mIHRoZQotbGFzdCBjb21tYW5kLgotCiBAaXRlbSBDb3B5IEFOU0kgY29kZSBo YW5kbGluZyBmcm9tIEBmaWxle3Rlcm0uZWx9IGludG8gQGZpbGV7ZW0tdGVybS5lbH0KIAog TWFrZSBpdCBwb3NzaWJsZSBmb3IgdGhlIHVzZXIgdG8gc2VuZCBjaGFyLWJ5LWNoYXIgdG8g dGhlIHVuZGVybHlpbmcKZGlmZiAtLWdpdCBhL2V0Yy9ORVdTIGIvZXRjL05FV1MKaW5kZXgg NWI4YWIwNjA4NmMuLmUwMTc1YmFjZmRmIDEwMDY0NAotLS0gYS9ldGMvTkVXUworKysgYi9l dGMvTkVXUwpAQCAtMTQ5LDYgKzE0OSwxMyBAQCBvZiBhcmd1bWVudHMgaW50byBhIGNvbW1h bmQsIHN1Y2ggYXMgd2hlbiBkZWZpbmluZyBhbGlhc2VzLiAgRm9yIG1vcmUKIGluZm9ybWF0 aW9uLCBzZWUgdGhlICIoZXNoZWxsKSBEb2xsYXJzIEV4cGFuc2lvbiIgbm9kZSBpbiB0aGUg RXNoZWxsCiBtYW51YWwuCiAKKysrKworKioqIEVzaGVsbCBub3cgc3VwcG9ydHMgbmVnYXRp dmUgbnVtYmVycyBhbmQgcmFuZ2VzIGZvciBpbmRpY2VzLgorTm93LCB5b3UgY2FuIHJldHJp ZXZlIHRoZSBsYXN0IGVsZW1lbnQgb2YgYSBsaXN0IHdpdGggJyRteS1saXN0Wy0xXScKK29y IGdldCBhIHN1Ymxpc3Qgb2YgZWxlbWVudHMgMiB0aHJvdWdoIDQgd2l0aCAnJG15LWxpc3Rb Mi4uNV0nLiAgRm9yCittb3JlIGluZm9ybWF0aW9uLCBzZWUgdGhlICIoZXNoZWxsKSBEb2xs YXJzIEV4cGFuc2lvbiIgbm9kZSBpbiB0aGUKK0VzaGVsbCBtYW51YWwuCisKIC0tLQogKioq IEVzaGVsbCBub3cgdXNlcyAnZmllbGQnIHByb3BlcnRpZXMgaW4gaXRzIG91dHB1dC4KIElu IHBhcnRpY3VsYXIsIHRoaXMgbWVhbnMgdGhhdCBwcmVzc2luZyB0aGUgJzxob21lPicga2V5 IG1vdmVzIHRoZQpkaWZmIC0tZ2l0IGEvbGlzcC9lc2hlbGwvZXNoLXV0aWwuZWwgYi9saXNw L2VzaGVsbC9lc2gtdXRpbC5lbAppbmRleCA1NDRhOGE3NDAzOS4uOGI1MjI0NDk3NjIgMTAw NjQ0Ci0tLSBhL2xpc3AvZXNoZWxsL2VzaC11dGlsLmVsCisrKyBiL2xpc3AvZXNoZWxsL2Vz aC11dGlsLmVsCkBAIC0xMTEsNiArMTExLDkgQEAgZXNoZWxsLWFuZ2UtbHMtdWlkcwogCiA7 OzsgSW50ZXJuYWwgVmFyaWFibGVzOgogCisoZGVmdmFyIGVzaGVsbC1pbnRlZ2VyLXJlZ2V4 cCAocnggKD8gIi0iKSAoKyBkaWdpdCkpCisgICJSZWd1bGFyIGV4cHJlc3Npb24gdXNlZCB0 byBtYXRjaCBpbnRlZ2VyIGFyZ3VtZW50cy4iKQorCiAoZGVmdmFyIGVzaGVsbC1ncm91cC1u YW1lcyBuaWwKICAgIkEgY2FjaGUgdG8gaG9sZCB0aGUgbmFtZXMgb2YgZ3JvdXBzLiIpCiAK ZGlmZiAtLWdpdCBhL2xpc3AvZXNoZWxsL2VzaC12YXIuZWwgYi9saXNwL2VzaGVsbC9lc2gt dmFyLmVsCmluZGV4IDgzZGQ1Y2I1MGY1Li42MGFhYjkyYjMzZSAxMDA2NDQKLS0tIGEvbGlz cC9lc2hlbGwvZXNoLXZhci5lbAorKysgYi9saXNwL2VzaGVsbC9lc2gtdmFyLmVsCkBAIC01 ODcsNiArNTg3LDkgQEAgZXNoZWxsLWdsb2ItZnVuY3Rpb24KIAogKGRlZnVuIGVzaGVsbC1w YXJzZS1pbmRpY2VzICgpCiAgICJQYXJzZSBhbmQgcmV0dXJuIGEgbGlzdCBvZiBpbmRleC1s aXN0cy4KK1RoaXMgcHJvZHVjZXMgYSBzZXJpZXMgb2YgTGlzcCBmb3JtcyB0byBiZSBwcm9j ZXNzZWQgYnkKK2Blc2hlbGwtcHJlcGFyZS1pbmRpY2VzJyBhbmQgdWx0aW1hdGVseSBldmFs dWF0ZWQgYnkKK2Blc2hlbGwtZG8tZXZhbCcuCiAKIEZvciBleGFtcGxlLCBcIlswIDFdWzJd XCIgYmVjb21lczoKICAgKChcIjBcIiBcIjFcIikgKFwiMlwiKSkuIgpAQCAtNjA1LDYgKzYw OCwzNiBAQCBlc2hlbGwtcGFyc2UtaW5kaWNlcwogCSAgKGdvdG8tY2hhciAoMSsgZW5kKSkp KSkKICAgICAobnJldmVyc2UgaW5kaWNlcykpKQogCisoZGVmdW4gZXNoZWxsLXBhcnNlLWlu ZGV4IChpbmRleCkKKyAgIlBhcnNlIGEgc2luZ2xlIElOREVYIGluIHN0cmluZyBmb3JtLgor SWYgSU5ERVggbG9va3MgbGlrZSBhIG51bWJlciwgcmV0dXJuIHRoYXQgbnVtYmVyLgorCitJ ZiBJTkRFWCBsb29rcyBsaWtlIFwiW0JFR0lOXS4uW0VORF1cIiwgd2hlcmUgQkVHSU4gYW5k IEVORCBsb29rCitsaWtlIGludGVnZXJzLCByZXR1cm4gYSBjb25zIGNlbGwgb2YgQkVHSU4g YW5kIEVORCBhcyBudW1iZXJzOworQkVHSU4gYW5kL29yIEVORCBjYW4gYmUgb21pdHRlZCBo ZXJlLCBpbiB3aGljaCBjYXNlIHRoZWlyIHZhbHVlCitpbiB0aGUgY29ucyBpcyBuaWwuCisK K090aGVyd2lzZSAoaW5jbHVkaW5nIGlmIElOREVYIGlzIG5vdCBhIHN0cmluZyksIHJldHVy bgordGhlIG9yaWdpbmFsIHZhbHVlIG9mIElOREVYLiIKKyAgKHNhdmUtbWF0Y2gtZGF0YQor ICAgIChjb25kCisgICAgICgoYW5kIChzdHJpbmdwIGluZGV4KSAoZ2V0LXRleHQtcHJvcGVy dHkgMCAnbnVtYmVyIGluZGV4KSkKKyAgICAgIChzdHJpbmctdG8tbnVtYmVyIGluZGV4KSkK KyAgICAgKChhbmQgKHN0cmluZ3AgaW5kZXgpCisgICAgICAgICAgIChub3QgKHRleHQtcHJv cGVydHktYW55IDAgKGxlbmd0aCBpbmRleCkgJ2VzY2FwZWQgdCBpbmRleCkpCisgICAgICAg ICAgIChzdHJpbmctbWF0Y2ggKHJ4IHN0cmluZy1zdGFydAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAoZ3JvdXAtbiAxICg/IChyZWdleHAgZXNoZWxsLWludGVnZXItcmVnZXhw KSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIuLiIKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgKGdyb3VwLW4gMiAoPyAocmVnZXhwIGVzaGVsbC1pbnRlZ2VyLXJl Z2V4cCkpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJpbmctZW5kKQorICAg ICAgICAgICAgICAgICAgICAgICAgIGluZGV4KSkKKyAgICAgIChsZXQgKChiZWdpbiAobWF0 Y2gtc3RyaW5nIDEgaW5kZXgpKQorICAgICAgICAgICAgKGVuZCAobWF0Y2gtc3RyaW5nIDIg aW5kZXgpKSkKKyAgICAgICAgKGNvbnMgKHVubGVzcyAoc3RyaW5nLWVtcHR5LXAgYmVnaW4p IChzdHJpbmctdG8tbnVtYmVyIGJlZ2luKSkKKyAgICAgICAgICAgICAgKHVubGVzcyAoc3Ry aW5nLWVtcHR5LXAgZW5kKSAoc3RyaW5nLXRvLW51bWJlciBlbmQpKSkpKQorICAgICAodAor ICAgICAgaW5kZXgpKSkpCisKIChkZWZ1biBlc2hlbGwtZXZhbC1pbmRpY2VzIChpbmRpY2Vz KQogICAiRXZhbHVhdGUgSU5ESUNFUywgYSBsaXN0IG9mIGluZGV4LWxpc3RzIGdlbmVyYXRl ZCBieSBgZXNoZWxsLXBhcnNlLWluZGljZXMnLiIKICAgKGRlY2xhcmUgKG9ic29sZXRlIGVz aGVsbC1wcmVwYXJlLWluZGljZXMgIjMwLjEiKSkKQEAgLTcxNiw1NiArNzQ5LDY1IEBAIGVz aGVsbC1hcHBseS1pbmRpY2VzCiAnL2V0Yy9wYXNzd2QnLCB0aGUgdmFyaWFibGUgcmVmZXJl bmNlIHdvdWxkIGxvb2sgbGlrZToKIAogICAke2dyZXAgam9obncgL2V0Yy9wYXNzd2R9Wzog Ml0iCi0gICh3aGlsZSBpbmRpY2VzCi0gICAgKGxldCAoKHJlZnMgKGNhciBpbmRpY2VzKSkp Ci0gICAgICAod2hlbiAoc3RyaW5ncCB2YWx1ZSkKLQkobGV0IChzZXBhcmF0b3IgKGluZGV4 IChjYWFyIGluZGljZXMpKSkKLSAgICAgICAgICAod2hlbiAoYW5kIChzdHJpbmdwIGluZGV4 KQotICAgICAgICAgICAgICAgICAgICAgKG5vdCAoZ2V0LXRleHQtcHJvcGVydHkgMCAnbnVt YmVyIGluZGV4KSkpCi0gICAgICAgICAgICAoc2V0cSBzZXBhcmF0b3IgaW5kZXgKLSAgICAg ICAgICAgICAgICAgIHJlZnMgKGNkciByZWZzKSkpCi0JICAoc2V0cSB2YWx1ZSAoc3BsaXQt c3RyaW5nIHZhbHVlIHNlcGFyYXRvcikpCi0gICAgICAgICAgKHVubGVzcyBxdW90ZWQKLSAg ICAgICAgICAgIChzZXRxIHZhbHVlIChtYXBjYXIgIydlc2hlbGwtY29udmVydC10by1udW1i ZXIgdmFsdWUpKSkpKQotICAgICAgKGNvbmQKLSAgICAgICAoKDwgKGxlbmd0aCByZWZzKSAw KQotCShlcnJvciAiSW52YWxpZCBhcnJheSB2YXJpYWJsZSBpbmRleDogJXMiCi0JICAgICAg IChlc2hlbGwtc3RyaW5naWZ5IHJlZnMpKSkKLSAgICAgICAoKD0gKGxlbmd0aCByZWZzKSAx KQotCShzZXRxIHZhbHVlIChlc2hlbGwtaW5kZXgtdmFsdWUgdmFsdWUgKGNhciByZWZzKSkp KQotICAgICAgICh0Ci0JKGxldCAoKG5ldy12YWx1ZSAobGlzdCB0KSkpCi0JICAod2hpbGUg cmVmcwotCSAgICAobmNvbmMgbmV3LXZhbHVlCi0JCSAgIChsaXN0IChlc2hlbGwtaW5kZXgt dmFsdWUgdmFsdWUKLQkJCQkJICAgICAoY2FyIHJlZnMpKSkpCi0JICAgIChzZXRxIHJlZnMg KGNkciByZWZzKSkpCi0JICAoc2V0cSB2YWx1ZSAoY2RyIG5ldy12YWx1ZSkpKSkpKQotICAg IChzZXRxIGluZGljZXMgKGNkciBpbmRpY2VzKSkpCi0gIHZhbHVlKQorICAoZG9saXN0IChy ZWZzIGluZGljZXMgdmFsdWUpCisgICAgOzsgRm9yIHN0cmluZyB2YWx1ZXMsIGNoZWNrIGlm IHRoZSBmaXJzdCBpbmRleCBsb29rcyBsaWtlIGEKKyAgICA7OyByZWdleHAsIGFuZCBpZiBz bywgdXNlIHRoYXQgdG8gc3BsaXQgdGhlIHN0cmluZy4KKyAgICAod2hlbiAoc3RyaW5ncCB2 YWx1ZSkKKyAgICAgIChsZXQgKHNlcGFyYXRvciAoZmlyc3QgKGNhciByZWZzKSkpCisgICAg ICAgICh3aGVuIChzdHJpbmdwIChlc2hlbGwtcGFyc2UtaW5kZXggZmlyc3QpKQorICAgICAg ICAgIChzZXRxIHNlcGFyYXRvciBmaXJzdAorICAgICAgICAgICAgICAgIHJlZnMgKGNkciBy ZWZzKSkpCisgICAgICAgIChzZXRxIHZhbHVlIChzcGxpdC1zdHJpbmcgdmFsdWUgc2VwYXJh dG9yKSkKKyAgICAgICAgKHVubGVzcyBxdW90ZWQKKyAgICAgICAgICAoc2V0cSB2YWx1ZSAo bWFwY2FyICMnZXNoZWxsLWNvbnZlcnQtdG8tbnVtYmVyIHZhbHVlKSkpKSkKKyAgICAoY29u ZAorICAgICAoKDwgKGxlbmd0aCByZWZzKSAwKQorICAgICAgKGVycm9yICJJbnZhbGlkIGFy cmF5IHZhcmlhYmxlIGluZGV4OiAlcyIKKyAgICAgICAgICAgICAoZXNoZWxsLXN0cmluZ2lm eSByZWZzKSkpCisgICAgICgoPSAobGVuZ3RoIHJlZnMpIDEpCisgICAgICAoc2V0cSB2YWx1 ZSAoZXNoZWxsLWluZGV4LXZhbHVlIHZhbHVlIChjYXIgcmVmcykpKSkKKyAgICAgKHQKKyAg ICAgIChsZXQgKG5ldy12YWx1ZSkKKyAgICAgICAgKGRvbGlzdCAocmVmIHJlZnMpCisgICAg ICAgICAgKHB1c2ggKGVzaGVsbC1pbmRleC12YWx1ZSB2YWx1ZSByZWYpIG5ldy12YWx1ZSkp CisgICAgICAgIChzZXRxIHZhbHVlIChucmV2ZXJzZSBuZXctdmFsdWUpKSkpKSkpCisKKyhw Y2FzZS1kZWZtYWNybyBlc2hlbGwtaW5kZXgtcmFuZ2UgKHN0YXJ0IGVuZCkKKyAgIkEgcGF0 dGVybiB0aGF0IG1hdGNoZXMgYW4gRXNoZWxsIGluZGV4IHJhbmdlLgorRVhQVkFMIHNob3Vs ZCBiZSBhIGNvbnMgY2VsbCwgd2l0aCBlYWNoIHNsb3QgY29udGFpbmluZyBlaXRoZXIgYW4K K2ludGVnZXIgb3IgbmlsLiAgSWYgdGhpcyBtYXRjaGVzLCBiaW5kIHRoZSB2YWx1ZXMgb2Yg dGhlIHNsdG9zIHRvCitTVEFSVCBhbmQgRU5ELiIKKyAgKGxpc3QgJ1xgIChjb25zIChsaXN0 ICdcLCBgKGFuZCAob3IgKHByZWQgaW50ZWdlcnApIChwcmVkIG51bGwpKSAsc3RhcnQpKQor ICAgICAgICAgICAgICAgICAgKGxpc3QgJ1wsIGAoYW5kIChvciAocHJlZCBpbnRlZ2VycCkg KHByZWQgbnVsbCkpICxlbmQpKSkpKQogCiAoZGVmdW4gZXNoZWxsLWluZGV4LXZhbHVlICh2 YWx1ZSBpbmRleCkKICAgIlJlZmVyZW5jZSBWQUxVRSB1c2luZyB0aGUgZ2l2ZW4gSU5ERVgu IgotICAod2hlbiAoYW5kIChzdHJpbmdwIGluZGV4KSAoZ2V0LXRleHQtcHJvcGVydHkgMCAn bnVtYmVyIGluZGV4KSkKLSAgICAoc2V0cSBpbmRleCAoc3RyaW5nLXRvLW51bWJlciBpbmRl eCkpKQotICAoaWYgKGludGVnZXJwIGluZGV4KQotICAgICAgKGNvbmQKLSAgICAgICAoKHJp bmctcCB2YWx1ZSkKLSAgICAgICAgKGlmICg+IGluZGV4IChyaW5nLWxlbmd0aCB2YWx1ZSkp Ci0gICAgICAgICAgICAoZXJyb3IgIkluZGV4IGV4Y2VlZHMgbGVuZ3RoIG9mIHJpbmciKQot ICAgICAgICAgIChyaW5nLXJlZiB2YWx1ZSBpbmRleCkpKQotICAgICAgICgobGlzdHAgdmFs dWUpCi0gICAgICAgIChpZiAoPiBpbmRleCAobGVuZ3RoIHZhbHVlKSkKLSAgICAgICAgICAg IChlcnJvciAiSW5kZXggZXhjZWVkcyBsZW5ndGggb2YgbGlzdCIpCi0gICAgICAgICAgKG50 aCBpbmRleCB2YWx1ZSkpKQotICAgICAgICgodmVjdG9ycCB2YWx1ZSkKLSAgICAgICAgKGlm ICg+IGluZGV4IChsZW5ndGggdmFsdWUpKQotICAgICAgICAgICAgKGVycm9yICJJbmRleCBl eGNlZWRzIGxlbmd0aCBvZiB2ZWN0b3IiKQotICAgICAgICAgIChhcmVmIHZhbHVlIGluZGV4 KSkpCi0gICAgICAgKHQKLSAgICAgICAgKGVycm9yICJJbnZhbGlkIGRhdGEgdHlwZSBmb3Ig aW5kZXhpbmciKSkpCi0gICAgOzsgSU5ERVggaXMgc29tZSBub24taW50ZWdlciB2YWx1ZSwg c28gdHJlYXQgVkFMVUUgYXMgYW4gYWxpc3QuCi0gICAgKGNkciAoYXNzb2MgaW5kZXggdmFs dWUpKSkpCisgIChsZXQgKChwYXJzZWQtaW5kZXggKGVzaGVsbC1wYXJzZS1pbmRleCBpbmRl eCkpKQorICAgIChpZiAocmluZy1wIHZhbHVlKQorICAgICAgICAocGNhc2UgcGFyc2VkLWlu ZGV4CisgICAgICAgICAgKChwcmVkIGludGVnZXJwKQorICAgICAgICAgICAocmluZy1yZWYg dmFsdWUgcGFyc2VkLWluZGV4KSkKKyAgICAgICAgICAoKGVzaGVsbC1pbmRleC1yYW5nZSBz dGFydCBlbmQpCisgICAgICAgICAgIChsZXQqICgobGVuIChyaW5nLWxlbmd0aCB2YWx1ZSkp CisgICAgICAgICAgICAgICAgICAocmVhbC1zdGFydCAobW9kIChvciBzdGFydCAwKSBsZW4p KQorICAgICAgICAgICAgICAgICAgKHJlYWwtZW5kIChtb2QgKG9yIGVuZCBsZW4pIGxlbikp KQorICAgICAgICAgICAgICh3aGVuIChhbmQgKGVxIHJlYWwtZW5kIDApCisgICAgICAgICAg ICAgICAgICAgICAgICAobm90IChlcSBlbmQgMCkpKQorICAgICAgICAgICAgICAgKHNldHEg cmVhbC1lbmQgbGVuKSkKKyAgICAgICAgICAgICAocmluZy1jb252ZXJ0LXNlcXVlbmNlLXRv LXJpbmcKKyAgICAgICAgICAgICAgKHNlcS1zdWJzZXEgKHJpbmctZWxlbWVudHMgdmFsdWUp IHJlYWwtc3RhcnQgcmVhbC1lbmQpKSkpCisgICAgICAgICAgKF8KKyAgICAgICAgICAgKGVy cm9yICJJbnZhbGlkIGluZGV4IGZvciByaW5nOiAlcyIgaW5kZXgpKSkKKyAgICAgIChwY2Fz ZSBwYXJzZWQtaW5kZXgKKyAgICAgICAgKChwcmVkIGludGVnZXJwKQorICAgICAgICAgKHdo ZW4gKDwgcGFyc2VkLWluZGV4IDApCisgICAgICAgICAgIChzZXRxIHBhcnNlZC1pbmRleCAo KyBwYXJzZWQtaW5kZXggKGxlbmd0aCB2YWx1ZSkpKSkKKyAgICAgICAgIChzZXEtZWx0IHZh bHVlIHBhcnNlZC1pbmRleCkpCisgICAgICAgICgoZXNoZWxsLWluZGV4LXJhbmdlIHN0YXJ0 IGVuZCkKKyAgICAgICAgIChzZXEtc3Vic2VxIHZhbHVlIChvciBzdGFydCAwKSBlbmQpKQor ICAgICAgICAoXworICAgICAgICAgOzsgSU5ERVggaXMgc29tZSBub24taW50ZWdlciB2YWx1 ZSwgc28gdHJlYXQgVkFMVUUgYXMgYW4gYWxpc3QuCisgICAgICAgICAoY2RyIChhc3NvYyBw YXJzZWQtaW5kZXggdmFsdWUpKSkpKSkpCiAKIDs7O18qIFZhcmlhYmxlIG5hbWUgY29tcGxl dGlvbgogCmRpZmYgLS1naXQgYS90ZXN0L2xpc3AvZXNoZWxsL2VzaC12YXItdGVzdHMuZWwg Yi90ZXN0L2xpc3AvZXNoZWxsL2VzaC12YXItdGVzdHMuZWwKaW5kZXggMTI0MTJkMTM2NDAu LjY3NjdkOTI4OWY5IDEwMDY0NAotLS0gYS90ZXN0L2xpc3AvZXNoZWxsL2VzaC12YXItdGVz dHMuZWwKKysrIGIvdGVzdC9saXNwL2VzaGVsbC9lc2gtdmFyLXRlc3RzLmVsCkBAIC03Miw1 MiArNzIsODkgQEAgZXNoLXZhci10ZXN0L2ludGVycC1saXN0LXZhci1jb25jYXQKICAgICAo ZXNoZWxsLWNvbW1hbmQtcmVzdWx0LWVxdWFsICJlY2hvIGEkJ2VzaGVsbC10ZXN0LXZhbHVl J3oiCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnKCJhMSIgMiAiM3oiKSkp KQogCi0oZXJ0LWRlZnRlc3QgZXNoLXZhci10ZXN0L2ludGVycC12YXItaW5kaWNlcyAoKQot ICAiSW50ZXJwb2xhdGUgbGlzdCB2YXJpYWJsZSB3aXRoIGluZGljZXMiCi0gIChsZXQgKChl c2hlbGwtdGVzdC12YWx1ZSAnKCJ6ZXJvIiAib25lIiAidHdvIiAidGhyZWUiICJmb3VyIikp KQorKGRlZnVuIGVzaC12YXItdGVzdC9pbnRlcnAtdmFyLWluZGljZXMgKGZ1bmN0aW9uICZv cHRpb25hbCByYW5nZS1mdW5jdGlvbikKKyAgIlRlc3QgaW50ZXJwb2xhdGlvbiBvZiBhbiBp bmRleGFibGUgdmFsdWUgd2l0aCBpbmRpY2VzLgorRlVOQ1RJT04gaXMgYSBmdW5jdGlvbiB0 aGF0IHRha2VzIGEgbGlzdCBvZiBlbGVtZW50cyBhbmQgcmV0dXJucwordGhlIG9iamVjdCB0 byB0ZXN0LgorCitSQU5HRS1GVU5DVElPTiBpcyBhIGZ1bmN0aW9uIHRoYXQgdGFrZXMgYSBs aXN0IG9mIGVsZW1lbnRzIGFuZAorcmV0dXJucyB0aGUgZXhwZWN0ZWQgcmVzdWx0IG9mIGFu IGluZGV4IHJhbmdlIGZvciB0aGUgb2JqZWN0OyBpZgorbmlsLCB1c2UgRlVOQ1RJT04gaW5z dGVhZC4iCisgIChsZXQgKChlc2hlbGwtdGVzdC12YWx1ZQorICAgICAgICAgKGZ1bmNhbGwg ZnVuY3Rpb24gJygiemVybyIgIm9uZSIgInR3byIgInRocmVlIiAiZm91ciIpKSkKKyAgICAg ICAgKHJhbmdlLWZ1bmN0aW9uIChvciByYW5nZS1mdW5jdGlvbiBmdW5jdGlvbikpKQorICAg IDs7IFBvc2l0aXZlIGluZGljZXMKICAgICAoZXNoZWxsLWNvbW1hbmQtcmVzdWx0LWVxdWFs ICJlY2hvICRlc2hlbGwtdGVzdC12YWx1ZVswXSIKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICJ6ZXJvIikKICAgICAoZXNoZWxsLWNvbW1hbmQtcmVzdWx0LWVxdWFsICJl Y2hvICRlc2hlbGwtdGVzdC12YWx1ZVswIDJdIgogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgJygiemVybyIgInR3byIpKQogICAgIChlc2hlbGwtY29tbWFuZC1yZXN1bHQt ZXF1YWwgImVjaG8gJGVzaGVsbC10ZXN0LXZhbHVlWzAgMiA0XSIKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICcoInplcm8iICJ0d28iICJmb3VyIikpKSkKLQotKGVydC1k ZWZ0ZXN0IGVzaC12YXItdGVzdC9pbnRlcnAtdmFyLWluZGljZXMtc3ViY29tbWFuZCAoKQot ICAiSW50ZXJwb2xhdGUgbGlzdCB2YXJpYWJsZSB3aXRoIHN1YmNvbW1hbmQgZXhwYW5zaW9u IGZvciBpbmRpY2VzLiIKLSAgKHNraXAtdW5sZXNzIChleGVjdXRhYmxlLWZpbmQgImVjaG8i KSkKLSAgKGxldCAoKGVzaGVsbC10ZXN0LXZhbHVlICcoInplcm8iICJvbmUiICJ0d28iICJ0 aHJlZSIgImZvdXIiKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnKCJ6 ZXJvIiAidHdvIiAiZm91ciIpKQorICAgIDs7IE5lZ2F0aXZlIGluZGljZXMKKyAgICAoZXNo ZWxsLWNvbW1hbmQtcmVzdWx0LWVxdWFsICJlY2hvICRlc2hlbGwtdGVzdC12YWx1ZVstMV0i CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZm91ciIpCisgICAgKGVzaGVs bC1jb21tYW5kLXJlc3VsdC1lcXVhbCAiZWNobyAkZXNoZWxsLXRlc3QtdmFsdWVbLTEgLTNd IgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJygiZm91ciIgInR3byIpKQor ICAgIDs7IEluZGV4IHJhbmdlcwogICAgIChlc2hlbGwtY29tbWFuZC1yZXN1bHQtZXF1YWwK LSAgICAgImVjaG8gJGVzaGVsbC10ZXN0LXZhbHVlWyR7KmVjaG8gMH1dIgotICAgICAiemVy byIpCisgICAgICJlY2hvICRlc2hlbGwtdGVzdC12YWx1ZVsxLi40XSIKKyAgICAgKGZ1bmNh bGwgcmFuZ2UtZnVuY3Rpb24gJygib25lIiAidHdvIiAidGhyZWUiKSkpCiAgICAgKGVzaGVs bC1jb21tYW5kLXJlc3VsdC1lcXVhbAotICAgICAiZWNobyAkZXNoZWxsLXRlc3QtdmFsdWVb JHsqZWNobyAwfSAkeyplY2hvIDJ9XSIKLSAgICAgJygiemVybyIgInR3byIpKSkpCisgICAg ICJlY2hvICRlc2hlbGwtdGVzdC12YWx1ZVsuLjJdIgorICAgICAoZnVuY2FsbCByYW5nZS1m dW5jdGlvbiAnKCJ6ZXJvIiAib25lIikpKQorICAgIChlc2hlbGwtY29tbWFuZC1yZXN1bHQt ZXF1YWwKKyAgICAgImVjaG8gJGVzaGVsbC10ZXN0LXZhbHVlWy0yLi5dIgorICAgICAoZnVu Y2FsbCByYW5nZS1mdW5jdGlvbiAnKCJ0aHJlZSIgImZvdXIiKSkpCisgICAgKGVzaGVsbC1j b21tYW5kLXJlc3VsdC1lcXVhbAorICAgICAiZWNobyAkZXNoZWxsLXRlc3QtdmFsdWVbLi5d IgorICAgICAoZnVuY2FsbCByYW5nZS1mdW5jdGlvbiAnKCJ6ZXJvIiAib25lIiAidHdvIiAi dGhyZWUiICJmb3VyIikpKQorICAgIChlc2hlbGwtY29tbWFuZC1yZXN1bHQtZXF1YWwKKyAg ICAgImVjaG8gJGVzaGVsbC10ZXN0LXZhbHVlWzEuLjQgLTIuLl0iCisgICAgIChsaXN0IChm dW5jYWxsIHJhbmdlLWZ1bmN0aW9uICcoIm9uZSIgInR3byIgInRocmVlIikpCisgICAgICAg ICAgIChmdW5jYWxsIHJhbmdlLWZ1bmN0aW9uICcoInRocmVlIiAiZm91ciIpKSkpKSkKKwor KGVydC1kZWZ0ZXN0IGVzaC12YXItdGVzdC9pbnRlcnAtdmFyLWluZGljZXMvbGlzdCAoKQor ICAiSW50ZXJwb2xhdGUgbGlzdCB2YXJpYWJsZSB3aXRoIGluZGljZXMuIgorICAoZXNoLXZh ci10ZXN0L2ludGVycC12YXItaW5kaWNlcyAjJ2lkZW50aXR5KSkKKworKGVydC1kZWZ0ZXN0 IGVzaC12YXItdGVzdC9pbnRlcnAtdmFyLWluZGljZXMvdmVjdG9yICgpCisgICJJbnRlcnBv bGF0ZSB2ZWN0b3IgdmFyaWFibGUgd2l0aCBpbmRpY2VzLiIKKyAgKGVzaC12YXItdGVzdC9p bnRlcnAtdmFyLWluZGljZXMgIyd2Y29uY2F0KSkKIAotKGVydC1kZWZ0ZXN0IGVzaC12YXIt dGVzdC9pbnRlcnAtdmFyLXNwbGl0LWluZGljZXMgKCkKKyhlcnQtZGVmdGVzdCBlc2gtdmFy LXRlc3QvaW50ZXJwLXZhci1pbmRpY2VzL3JpbmcgKCkKKyAgIkludGVycG9sYXRlIHJpbmcg dmFyaWFibGUgd2l0aCBpbmRpY2VzLiIKKyAgKGVzaC12YXItdGVzdC9pbnRlcnAtdmFyLWlu ZGljZXMgIydyaW5nLWNvbnZlcnQtc2VxdWVuY2UtdG8tcmluZykpCisKKyhlcnQtZGVmdGVz dCBlc2gtdmFyLXRlc3QvaW50ZXJwLXZhci1pbmRpY2VzL3NwbGl0ICgpCiAgICJJbnRlcnBv bGF0ZSBzdHJpbmcgdmFyaWFibGUgd2l0aCBpbmRpY2VzLiIKLSAgKGxldCAoKGVzaGVsbC10 ZXN0LXZhbHVlICJ6ZXJvIG9uZSB0d28gdGhyZWUgZm91ciIpKQotICAgIChlc2hlbGwtY29t bWFuZC1yZXN1bHQtZXF1YWwgImVjaG8gJGVzaGVsbC10ZXN0LXZhbHVlWzBdIgotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgInplcm8iKQotICAgIChlc2hlbGwtY29tbWFu ZC1yZXN1bHQtZXF1YWwgImVjaG8gJGVzaGVsbC10ZXN0LXZhbHVlWzAgMl0iCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAnKCJ6ZXJvIiAidHdvIikpCi0gICAgKGVzaGVs bC1jb21tYW5kLXJlc3VsdC1lcXVhbCAiZWNobyAkZXNoZWxsLXRlc3QtdmFsdWVbMCAyIDRd IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJygiemVybyIgInR3byIgImZv dXIiKSkpKQorICAoZXNoLXZhci10ZXN0L2ludGVycC12YXItaW5kaWNlcworICAgKGxhbWJk YSAodmFsdWVzKSAoc3RyaW5nLWpvaW4gdmFsdWVzICIgIikpCisgICAjJ2lkZW50aXR5KSkK IAogKGVydC1kZWZ0ZXN0IGVzaC12YXItdGVzdC9pbnRlcnAtdmFyLXN0cmluZy1zcGxpdC1p bmRpY2VzICgpCiAgICJJbnRlcnBvbGF0ZSBzdHJpbmcgdmFyaWFibGUgd2l0aCBzdHJpbmcg c3BsaXR0ZXIgYW5kIGluZGljZXMuIgorICA7OyBUZXN0IHVzaW5nIHB1bmN0dWF0aW9uIGFz IGEgZGVsaW1pdGVyLgogICAobGV0ICgoZXNoZWxsLXRlc3QtdmFsdWUgInplcm86b25lOnR3 bzp0aHJlZTpmb3VyIikpCiAgICAgKGVzaGVsbC1jb21tYW5kLXJlc3VsdC1lcXVhbCAiZWNo byAkZXNoZWxsLXRlc3QtdmFsdWVbOiAwXSIKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICJ6ZXJvIikKICAgICAoZXNoZWxsLWNvbW1hbmQtcmVzdWx0LWVxdWFsICJlY2hv ICRlc2hlbGwtdGVzdC12YWx1ZVs6IDAgMl0iCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAnKCJ6ZXJvIiAidHdvIikpKQorICA7OyBUZXN0IHVzaW5nIGEgbGV0dGVyIGFz IGEgZGVsaW1pdGVyLgogICAobGV0ICgoZXNoZWxsLXRlc3QtdmFsdWUgInplcm9Yb25lWHR3 b1h0aHJlZVhmb3VyIikpCiAgICAgKGVzaGVsbC1jb21tYW5kLXJlc3VsdC1lcXVhbCAiZWNo byAkZXNoZWxsLXRlc3QtdmFsdWVbWCAwXSIKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICJ6ZXJvIikKICAgICAoZXNoZWxsLWNvbW1hbmQtcmVzdWx0LWVxdWFsICJlY2hv ICRlc2hlbGwtdGVzdC12YWx1ZVtYIDAgMl0iCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAnKCJ6ZXJvIiAidHdvIikpKQorICA7OyBUZXN0IHVzaW5nIGEgbnVtYmVyIGFz IGEgZGVsaW1pdGVyLgorICAobGV0ICgoZXNoZWxsLXRlc3QtdmFsdWUgInplcm8wb25lMHR3 bzB0aHJlZTBmb3VyIikpCisgICAgKGVzaGVsbC1jb21tYW5kLXJlc3VsdC1lcXVhbCAiZWNo byAkZXNoZWxsLXRlc3QtdmFsdWVbXCIwXCIgMF0iCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAiemVybyIpCisgICAgKGVzaGVsbC1jb21tYW5kLXJlc3VsdC1lcXVhbCAi ZWNobyAkZXNoZWxsLXRlc3QtdmFsdWVbXCIwXCIgMCAyXSIKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICcoInplcm8iICJ0d28iKSkpKQogCiAoZXJ0LWRlZnRlc3QgZXNo LXZhci10ZXN0L2ludGVycC12YXItcmVnZXhwLXNwbGl0LWluZGljZXMgKCkKICAgIkludGVy cG9sYXRlIHN0cmluZyB2YXJpYWJsZSB3aXRoIHJlZ2V4cCBzcGxpdHRlciBhbmQgaW5kaWNl cy4iCisgIDs7IFRlc3QgdXNpbmcgYSByZWdleHAgYXMgYSBkZWxpbWl0ZXIuCiAgIChsZXQg KChlc2hlbGwtdGVzdC12YWx1ZSAiemVybzpvbmUhdHdvOnRocmVlIWZvdXIiKSkKICAgICAo ZXNoZWxsLWNvbW1hbmQtcmVzdWx0LWVxdWFsICJlY2hvICRlc2hlbGwtdGVzdC12YWx1ZVsn WzohXScgMF0iCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiemVybyIpCkBA IC0xMjYsMTUgKzE2MywzNCBAQCBlc2gtdmFyLXRlc3QvaW50ZXJwLXZhci1yZWdleHAtc3Bs aXQtaW5kaWNlcwogICAgIChlc2hlbGwtY29tbWFuZC1yZXN1bHQtZXF1YWwgImVjaG8gJGVz aGVsbC10ZXN0LXZhbHVlW1wiWzohXVwiIDBdIgogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgInplcm8iKQogICAgIChlc2hlbGwtY29tbWFuZC1yZXN1bHQtZXF1YWwgImVj aG8gJGVzaGVsbC10ZXN0LXZhbHVlW1wiWzohXVwiIDAgMl0iCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAnKCJ6ZXJvIiAidHdvIikpKQorICA7OyBUZXN0IHVzaW5nIGEg cmVnZXhwIHRoYXQgbG9va3MgbGlrZSByYW5nZSBzeW50YXggYXMgYSBkZWxpbWl0ZXIuCisg IChsZXQgKChlc2hlbGwtdGVzdC12YWx1ZSAiemVybzAuLjBvbmUwLi4wdHdvMC4uMHRocmVl MC4uMGZvdXIiKSkKKyAgICAoZXNoZWxsLWNvbW1hbmQtcmVzdWx0LWVxdWFsICJlY2hvICRl c2hlbGwtdGVzdC12YWx1ZVtcIjAuLjBcIiAwXSIKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICJ6ZXJvIikKKyAgICAoZXNoZWxsLWNvbW1hbmQtcmVzdWx0LWVxdWFsICJl Y2hvICRlc2hlbGwtdGVzdC12YWx1ZVtcIjAuLjBcIiAwIDJdIgogICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgJygiemVybyIgInR3byIpKSkpCiAKIChlcnQtZGVmdGVzdCBl c2gtdmFyLXRlc3QvaW50ZXJwLXZhci1hc3NvYyAoKQogICAiSW50ZXJwb2xhdGUgYWxpc3Qg dmFyaWFibGUgd2l0aCBpbmRleC4iCi0gIChsZXQgKChlc2hlbGwtdGVzdC12YWx1ZSAnKCgi Zm9vIiAuIDEpIChiYXIgLiAyKSkpKQorICAobGV0ICgoZXNoZWxsLXRlc3QtdmFsdWUgJygo ImZvbyIgLiAxKSAoYmFyIC4gMikgKCIzIiAuICJ0aHJlZSIpKSkpCiAgICAgKGVzaGVsbC1j b21tYW5kLXJlc3VsdC1lcXVhbCAiZWNobyAkZXNoZWxsLXRlc3QtdmFsdWVbZm9vXSIKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEpCiAgICAgKGVzaGVsbC1jb21tYW5k LXJlc3VsdC1lcXVhbCAiZWNobyAkZXNoZWxsLXRlc3QtdmFsdWVbIydiYXJdIgotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgMikpKQorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgMikKKyAgICAoZXNoZWxsLWNvbW1hbmQtcmVzdWx0LWVxdWFsICJlY2hv ICRlc2hlbGwtdGVzdC12YWx1ZVtcIjNcIl0iCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAidGhyZWUiKSkpCisKKyhlcnQtZGVmdGVzdCBlc2gtdmFyLXRlc3QvaW50ZXJw LXZhci1pbmRpY2VzLXN1YmNvbW1hbmQgKCkKKyAgIkludGVycG9sYXRlIGxpc3QgdmFyaWFi bGUgd2l0aCBzdWJjb21tYW5kIGV4cGFuc2lvbiBmb3IgaW5kaWNlcy4iCisgIChza2lwLXVu bGVzcyAoZXhlY3V0YWJsZS1maW5kICJlY2hvIikpCisgIChsZXQgKChlc2hlbGwtdGVzdC12 YWx1ZSAnKCJ6ZXJvIiAib25lIiAidHdvIiAidGhyZWUiICJmb3VyIikpKQorICAgIChlc2hl bGwtY29tbWFuZC1yZXN1bHQtZXF1YWwKKyAgICAgImVjaG8gJGVzaGVsbC10ZXN0LXZhbHVl WyR7KmVjaG8gMH1dIgorICAgICAiemVybyIpCisgICAgKGVzaGVsbC1jb21tYW5kLXJlc3Vs dC1lcXVhbAorICAgICAiZWNobyAkZXNoZWxsLXRlc3QtdmFsdWVbJHsqZWNobyAwfSAkeypl Y2hvIDJ9XSIKKyAgICAgJygiemVybyIgInR3byIpKSkpCiAKIChlcnQtZGVmdGVzdCBlc2gt dmFyLXRlc3QvaW50ZXJwLXZhci1sZW5ndGgtbGlzdCAoKQogICAiSW50ZXJwb2xhdGUgbGVu Z3RoIG9mIGxpc3QgdmFyaWFibGUuIgotLSAKMi4yNS4xCgo= --------------uE6QFQBlqt43CZCjSHAW6L0w Content-Type: text/plain; charset=UTF-8; name="0002-Make-eshell-number-regexp-into-a-regular-defvar.patch" Content-Disposition: attachment; filename*0="0002-Make-eshell-number-regexp-into-a-regular-defvar.patch" Content-Transfer-Encoding: base64 RnJvbSA5MjQ2MDNkMDlhZWI5ZThhZjA4MGMyZmYzYjFiODhhZWE3MjI1Y2ZjIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gUG9ydGVyIDxqcG9ydGVyYnVnc0BnbWFpbC5j b20+CkRhdGU6IFRodSwgMjYgSmFuIDIwMjMgMTM6MTE6MTUgLTA4MDAKU3ViamVjdDogW1BB VENIIDIvMl0gTWFrZSAnZXNoZWxsLW51bWJlci1yZWdleHAnIGludG8gYSByZWd1bGFyIGRl ZnZhcgoKVGhpcyBpc24ndCBhIHZlcnkgdXNlZnVsIHRoaW5nIHRvIGN1c3RvbWl6ZSwgc2lu Y2UgaXQgbmVlZHMgdG8gZGV0ZWN0Cm51bWJlcnMgdGhhdCBjYW4gc3VjY2Vzc2Z1bGx5IGJl IHBhcnNlZCBieSAnc3RyaW5nLXRvLW51bWJlcicuCkNoYW5nZXMgdG8gdGhpcyB2YXJpYWJs ZSB3b3VsZCB0aGVyZWZvcmUgbGlrZWx5IHJlcXVpcmluZyBhZGp1c3RpbmcKJ2VzaGVsbC1j b252ZXJ0LXRvLW51bWJlcicgYXMgd2VsbC4KCiogbGlzcC9lc2hlbGwvZXNoLXV0aWwuZWwg KGVzaGVsbC1udW1iZXItcmVnZXhwKTogTWFrZSBpbnRvIGEgZGVmdmFyCmFuZCBpbXByb3Zl IHRoZSByZWdleHAgdG8gc3VwcG9ydCBtb3JlIG51bWJlcnMgKGluY2x1ZGluZyBpbmZpbml0 eSBhbmQKTmFOKS4KCiogdGVzdC9saXNwL2VzaGVsbC9lc2gtdXRpbC10ZXN0cy5lbAooZXNo LXV0aWwtdGVzdC9lc2hlbGwtY29udmVydC10by1udW1iZXIvZmxvYXRpbmctcG9pbnQpCihl c2gtdXRpbC10ZXN0L2VzaGVsbC1jb252ZXJ0LXRvLW51bWJlci9mbG9hdGluZy1wb2ludC1l eHBvbmVudCkKKGVzaC11dGlsLXRlc3QvZXNoZWxsLWNvbnZlcnQtdG8tbnVtYmVyL25vbi1u dW1lcmljKQooZXNoLXV0aWwtdGVzdC9lc2hlbGwtY29udmVydC10by1udW1iZXIvbm8tY29u dmVydCk6IE5ldyB0ZXN0cy4KLS0tCiBsaXNwL2VzaGVsbC9lc2gtdXRpbC5lbCAgICAgICAg ICAgIHwgMjAgKysrKystLS0tCiB0ZXN0L2xpc3AvZXNoZWxsL2VzaC11dGlsLXRlc3RzLmVs IHwgNjUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAyIGZpbGVzIGNoYW5nZWQs IDc4IGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvbGlzcC9l c2hlbGwvZXNoLXV0aWwuZWwgYi9saXNwL2VzaGVsbC9lc2gtdXRpbC5lbAppbmRleCA4YjUy MjQ0OTc2Mi4uOTU0OWU3ZjFhMTAgMTAwNjQ0Ci0tLSBhL2xpc3AvZXNoZWxsL2VzaC11dGls LmVsCisrKyBiL2xpc3AvZXNoZWxsL2VzaC11dGlsLmVsCkBAIC05NCwxMyArOTQsNiBAQCBl c2hlbGwtY29udmVydC1udW1lcmljLWFyZ3VtZW50cwogYXJndW1lbnQgbWF0Y2hlcyBgZXNo ZWxsLW51bWJlci1yZWdleHAnLiIKICAgOnR5cGUgJ2Jvb2xlYW4pCiAKLShkZWZjdXN0b20g ZXNoZWxsLW51bWJlci1yZWdleHAgIi0/XFwoWzAtOV0qXFwuXFwpP1swLTldK1xcKGVbLTAt OS5dK1xcKT8iCi0gICJSZWd1bGFyIGV4cHJlc3Npb24gdXNlZCB0byBtYXRjaCBudW1lcmlj IGFyZ3VtZW50cy4KLUlmIGBlc2hlbGwtY29udmVydC1udW1lcmljLWFyZ3VtZW50cycgaXMg bm9uLW5pbCwgYW5kIGFuIGFyZ3VtZW50Ci1tYXRjaGVzIHRoaXMgcmVnZXhwLCBpdCB3aWxs IGJlIGNvbnZlcnRlZCB0byBhIExpc3AgbnVtYmVyLCB1c2luZyB0aGUKLWZ1bmN0aW9uIGBz dHJpbmctdG8tbnVtYmVyJy4iCi0gIDp0eXBlICdyZWdleHApCi0KIChkZWZjdXN0b20gZXNo ZWxsLWFuZ2UtbHMtdWlkcyBuaWwKICAgIkxpc3Qgb2YgdXNlci9ob3N0L2lkIHN0cmluZ3Ms IHVzZWQgdG8gZGV0ZXJtaW5lIHJlbW90ZSBvd25lcnNoaXAuIgogICA6dHlwZSAnKHJlcGVh dCAoY29ucyA6dGFnICJIb3N0IGZvciBVc2VyL1VJRCBtYXAiCkBAIC0xMTEsNiArMTA0LDE5 IEBAIGVzaGVsbC1hbmdlLWxzLXVpZHMKIAogOzs7IEludGVybmFsIFZhcmlhYmxlczoKIAor KGRlZnZhciBlc2hlbGwtbnVtYmVyLXJlZ2V4cAorICAocnggKD8gIi0iKQorICAgICAgKG9y IChzZXEgKCsgZGlnaXQpICg/ICIuIiAoKiBkaWdpdCkpKQorICAgICAgICAgIChzZXEgKCog ZGlnaXQpICIuIiAoKyBkaWdpdCkpKQorICAgICAgOzsgT3B0aW9uYWwgZXhwb25lbnQKKyAg ICAgICg/IChvciAiZSIgIkUiKQorICAgICAgICAgKG9yICIrSU5GIiAiK05hTiIKKyAgICAg ICAgICAgICAoc2VxICg/IChvciAiKyIgIi0iKSkgKCsgZGlnaXQpKSkpKQorICAiUmVndWxh ciBleHByZXNzaW9uIHVzZWQgdG8gbWF0Y2ggbnVtZXJpYyBhcmd1bWVudHMuCitJZiBgZXNo ZWxsLWNvbnZlcnQtbnVtZXJpYy1hcmd1bWVudHMnIGlzIG5vbi1uaWwsIGFuZCBhbiBhcmd1 bWVudAorbWF0Y2hlcyB0aGlzIHJlZ2V4cCwgaXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYSBM aXNwIG51bWJlciwgdXNpbmcgdGhlCitmdW5jdGlvbiBgc3RyaW5nLXRvLW51bWJlcicuIikK KwogKGRlZnZhciBlc2hlbGwtaW50ZWdlci1yZWdleHAgKHJ4ICg/ICItIikgKCsgZGlnaXQp KQogICAiUmVndWxhciBleHByZXNzaW9uIHVzZWQgdG8gbWF0Y2ggaW50ZWdlciBhcmd1bWVu dHMuIikKIApkaWZmIC0tZ2l0IGEvdGVzdC9saXNwL2VzaGVsbC9lc2gtdXRpbC10ZXN0cy5l bCBiL3Rlc3QvbGlzcC9lc2hlbGwvZXNoLXV0aWwtdGVzdHMuZWwKaW5kZXggYWZhZjFiNzdm MmIuLmVkODQxZTk2YzdlIDEwMDY0NAotLS0gYS90ZXN0L2xpc3AvZXNoZWxsL2VzaC11dGls LXRlc3RzLmVsCisrKyBiL3Rlc3QvbGlzcC9lc2hlbGwvZXNoLXV0aWwtdGVzdHMuZWwKQEAg LTU0LDQgKzU0LDY5IEBAIGVzaC11dGlsLXRlc3QvZXNoZWxsLXN0cmluZ2lmeS9jb21wbGV4 CiAgICJUZXN0IHRoYXQgYGVzaGVsbC1zdHJpbmdpZnknIGNvcnJlY3RseSBzdHJpbmdpZmll cyBjb21wbGV4IG9iamVjdHMuIgogICAoc2hvdWxkIChlcXVhbCAoZXNoZWxsLXN0cmluZ2lm eSAobGlzdCAncXVvdGUgJ2hlbGxvKSkgIidoZWxsbyIpKSkKIAorKGVydC1kZWZ0ZXN0IGVz aC11dGlsLXRlc3QvZXNoZWxsLWNvbnZlcnQtdG8tbnVtYmVyL2ludGVnZXIgKCkKKyAgIlRl c3QgdGhhdCBgZXNoZWxsLWNvbnZlcnQtdG8tbnVtYmVyJyBjb3JyZWN0bHkgY29udmVydHMg aW50ZWdlcnMuIgorICAoc2hvdWxkIChlcXVhbCAoZXNoZWxsLWNvbnZlcnQtdG8tbnVtYmVy ICIxMjMiKSAxMjMpKQorICAoc2hvdWxkIChlcXVhbCAoZXNoZWxsLWNvbnZlcnQtdG8tbnVt YmVyICItMTIzIikgLTEyMykpCisgIDs7IFRoZXNlIGFyZSB0ZWNobmlhbGx5IGludGVnZXJz LCBzaW5jZSBFbWFjcyBMaXNwIHJlcXVpcmVzIGF0IGxlYXN0CisgIDs7IG9uZSBkaWdpdCBh ZnRlciB0aGUgIi4iIHRvIGJlIGEgZmxvYXQ6CisgIChzaG91bGQgKGVxdWFsIChlc2hlbGwt Y29udmVydC10by1udW1iZXIgIjEyMy4iKSAxMjMpKQorICAoc2hvdWxkIChlcXVhbCAoZXNo ZWxsLWNvbnZlcnQtdG8tbnVtYmVyICItMTIzLiIpIC0xMjMpKSkKKworKGVydC1kZWZ0ZXN0 IGVzaC11dGlsLXRlc3QvZXNoZWxsLWNvbnZlcnQtdG8tbnVtYmVyL2Zsb2F0aW5nLXBvaW50 ICgpCisgICJUZXN0IHRoYXQgYGVzaGVsbC1jb252ZXJ0LXRvLW51bWJlcicgY29ycmVjdGx5 IGNvbnZlcnRzIGZsb2F0cy4iCisgIChzaG91bGQgKGVxdWFsIChlc2hlbGwtY29udmVydC10 by1udW1iZXIgIjEuMjMiKSAxLjIzKSkKKyAgKHNob3VsZCAoZXF1YWwgKGVzaGVsbC1jb252 ZXJ0LXRvLW51bWJlciAiLTEuMjMiKSAtMS4yMykpCisgIChzaG91bGQgKGVxdWFsIChlc2hl bGwtY29udmVydC10by1udW1iZXIgIi4xIikgMC4xKSkKKyAgKHNob3VsZCAoZXF1YWwgKGVz aGVsbC1jb252ZXJ0LXRvLW51bWJlciAiLS4xIikgLTAuMSkpKQorCisoZXJ0LWRlZnRlc3Qg ZXNoLXV0aWwtdGVzdC9lc2hlbGwtY29udmVydC10by1udW1iZXIvZmxvYXRpbmctcG9pbnQt ZXhwb25lbnQgKCkKKyAgIlRlc3QgdGhhdCBgZXNoZWxsLWNvbnZlcnQtdG8tbnVtYmVyJyBj b3JyZWN0bHkgY29udmVydHMgZXhwb25lbnQgbm90YXRpb24uIgorICA7OyBQb3NpdGl2ZSBl eHBvbmVudDoKKyAgKGRvbGlzdCAoZXhwICcoImUyIiAiZSsyIiAiRTIiICJFKzIiKSkKKyAg ICAoc2hvdWxkIChlcXVhbCAoZXNoZWxsLWNvbnZlcnQtdG8tbnVtYmVyIChjb25jYXQgIjEy MyIgZXhwKSkgMTIzMDAuMCkpCisgICAgKHNob3VsZCAoZXF1YWwgKGVzaGVsbC1jb252ZXJ0 LXRvLW51bWJlciAoY29uY2F0ICItMTIzIiBleHApKSAtMTIzMDAuMCkpCisgICAgKHNob3Vs ZCAoZXF1YWwgKGVzaGVsbC1jb252ZXJ0LXRvLW51bWJlciAoY29uY2F0ICIxLjIzIiBleHAp KSAxMjMuMCkpCisgICAgKHNob3VsZCAoZXF1YWwgKGVzaGVsbC1jb252ZXJ0LXRvLW51bWJl ciAoY29uY2F0ICItMS4yMyIgZXhwKSkgLTEyMy4wKSkKKyAgICAoc2hvdWxkIChlcXVhbCAo ZXNoZWxsLWNvbnZlcnQtdG8tbnVtYmVyIChjb25jYXQgIjEuIiBleHApKSAxMDAuMCkpCisg ICAgKHNob3VsZCAoZXF1YWwgKGVzaGVsbC1jb252ZXJ0LXRvLW51bWJlciAoY29uY2F0ICIt MS4iIGV4cCkpIC0xMDAuMCkpCisgICAgKHNob3VsZCAoZXF1YWwgKGVzaGVsbC1jb252ZXJ0 LXRvLW51bWJlciAoY29uY2F0ICIuMSIgZXhwKSkgMTAuMCkpCisgICAgKHNob3VsZCAoZXF1 YWwgKGVzaGVsbC1jb252ZXJ0LXRvLW51bWJlciAoY29uY2F0ICItLjEiIGV4cCkpIC0xMC4w KSkpCisgIDs7IE5lZ2F0aXZlIGV4cG9uZW50OgorICAoZG9saXN0IChleHAgJygiZS0yIiAi RS0yIikpCisgICAgKHNob3VsZCAoZXF1YWwgKGVzaGVsbC1jb252ZXJ0LXRvLW51bWJlciAo Y29uY2F0ICIxMjMiIGV4cCkpIDEuMjMpKQorICAgIChzaG91bGQgKGVxdWFsIChlc2hlbGwt Y29udmVydC10by1udW1iZXIgKGNvbmNhdCAiLTEyMyIgZXhwKSkgLTEuMjMpKQorICAgIChz aG91bGQgKGVxdWFsIChlc2hlbGwtY29udmVydC10by1udW1iZXIgKGNvbmNhdCAiMS4yMyIg ZXhwKSkgMC4wMTIzKSkKKyAgICAoc2hvdWxkIChlcXVhbCAoZXNoZWxsLWNvbnZlcnQtdG8t bnVtYmVyIChjb25jYXQgIi0xLjIzIiBleHApKSAtMC4wMTIzKSkKKyAgICAoc2hvdWxkIChl cXVhbCAoZXNoZWxsLWNvbnZlcnQtdG8tbnVtYmVyIChjb25jYXQgIjEuIiBleHApKSAwLjAx KSkKKyAgICAoc2hvdWxkIChlcXVhbCAoZXNoZWxsLWNvbnZlcnQtdG8tbnVtYmVyIChjb25j YXQgIi0xLiIgZXhwKSkgLTAuMDEpKQorICAgIChzaG91bGQgKGVxdWFsIChlc2hlbGwtY29u dmVydC10by1udW1iZXIgKGNvbmNhdCAiLjEiIGV4cCkpIDAuMDAxKSkKKyAgICAoc2hvdWxk IChlcXVhbCAoZXNoZWxsLWNvbnZlcnQtdG8tbnVtYmVyIChjb25jYXQgIi0uMSIgZXhwKSkg LTAuMDAxKSkpKQorCisoZXJ0LWRlZnRlc3QgZXNoLXV0aWwtdGVzdC9lc2hlbGwtY29udmVy dC10by1udW1iZXIvZmxvYXRpbmctcG9pbnQvaW5maW5pdGUgKCkKKyAgIlRlc3QgdGhhdCBg ZXNoZWxsLWNvbnZlcnQtdG8tbnVtYmVyJyBjb3JyZWN0bHkgY29udmVydHMgaW5maW5pdGUg ZmxvYXRzLiIKKyAgKHNob3VsZCAoZXF1YWwgKGVzaGVsbC1jb252ZXJ0LXRvLW51bWJlciAi MS4wZStJTkYiKSAxLjBlK0lORikpCisgIChzaG91bGQgKGVxdWFsIChlc2hlbGwtY29udmVy dC10by1udW1iZXIgIjIuZStJTkYiKSAxLjBlK0lORikpCisgIChzaG91bGQgKGVxdWFsIChl c2hlbGwtY29udmVydC10by1udW1iZXIgIi0xLjBlK0lORiIpIC0xLjBlK0lORikpCisgIChz aG91bGQgKGVxdWFsIChlc2hlbGwtY29udmVydC10by1udW1iZXIgIi0yLmUrSU5GIikgLTEu MGUrSU5GKSkpCisKKyhlcnQtZGVmdGVzdCBlc2gtdXRpbC10ZXN0L2VzaGVsbC1jb252ZXJ0 LXRvLW51bWJlci9mbG9hdGluZy1wb2ludC9uYW4gKCkKKyAgIlRlc3QgdGhhdCBgZXNoZWxs LWNvbnZlcnQtdG8tbnVtYmVyJyBjb3JyZWN0bHkgY29udmVydHMgTmFOcy4iCisgIChzaG91 bGQgKGVxdWFsIChlc2hlbGwtY29udmVydC10by1udW1iZXIgIjEuMGUrTmFOIikgMS4wZStO YU4pKQorICAoc2hvdWxkIChlcXVhbCAoZXNoZWxsLWNvbnZlcnQtdG8tbnVtYmVyICIyLmUr TmFOIikgMi4wZStOYU4pKQorICAoc2hvdWxkIChlcXVhbCAoZXNoZWxsLWNvbnZlcnQtdG8t bnVtYmVyICItMS4wZStOYU4iKSAtMS4wZStOYU4pKQorICAoc2hvdWxkIChlcXVhbCAoZXNo ZWxsLWNvbnZlcnQtdG8tbnVtYmVyICItMi5lK05hTiIpIC0yLjBlK05hTikpKQorCisoZXJ0 LWRlZnRlc3QgZXNoLXV0aWwtdGVzdC9lc2hlbGwtY29udmVydC10by1udW1iZXIvbm9uLW51 bWVyaWMgKCkKKyAgIlRlc3QgdGhhdCBgZXNoZWxsLWNvbnZlcnQtdG8tbnVtYmVyJyBkb2Vz IG5vdGhpbmcgdG8gbm9uLW51bWVyaWMgdmFsdWVzLiIKKyAgKHNob3VsZCAoZXF1YWwgKGVz aGVsbC1jb252ZXJ0LXRvLW51bWJlciAiZm9vIikgImZvbyIpKQorICAoc2hvdWxkIChlcXVh bCAoZXNoZWxsLWNvbnZlcnQtdG8tbnVtYmVyICIiKSAiIikpCisgIChzaG91bGQgKGVxdWFs IChlc2hlbGwtY29udmVydC10by1udW1iZXIgIjEyM2ZvbyIpICIxMjNmb28iKSkpCisKKyhl cnQtZGVmdGVzdCBlc2gtdXRpbC10ZXN0L2VzaGVsbC1jb252ZXJ0LXRvLW51bWJlci9uby1j b252ZXJ0ICgpCisgICJUZXN0IHRoYXQgYGVzaGVsbC1jb252ZXJ0LXRvLW51bWJlcicgZG9l cyBub3RoaW5nIHdoZW4gZGlzYWJsZWQuIgorICAobGV0ICgoZXNoZWxsLWNvbnZlcnQtbnVt ZXJpYy1hcmd1bWVudHMgbmlsKSkKKyAgICAoc2hvdWxkIChlcXVhbCAoZXNoZWxsLWNvbnZl cnQtdG8tbnVtYmVyICIxMjMiKSAiMTIzIikpCisgICAgKHNob3VsZCAoZXF1YWwgKGVzaGVs bC1jb252ZXJ0LXRvLW51bWJlciAiMS4yMyIpICIxLjIzIikpKSkKKwogOzs7IGVzaC11dGls LXRlc3RzLmVsIGVuZHMgaGVyZQotLSAKMi4yNS4xCgo= --------------uE6QFQBlqt43CZCjSHAW6L0w-- From unknown Sun Jun 22 04:34:08 2025 X-Loop: help-debbugs@gnu.org Subject: bug#60999: 30.0.50; [PATCH] Add support for negative indices and index ranges in Eshell Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 27 Jan 2023 07:39:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 60999 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Jim Porter Cc: 60999@debbugs.gnu.org Received: via spool by 60999-submit@debbugs.gnu.org id=B60999.167480511420502 (code B ref 60999); Fri, 27 Jan 2023 07:39:02 +0000 Received: (at 60999) by debbugs.gnu.org; 27 Jan 2023 07:38:34 +0000 Received: from localhost ([127.0.0.1]:36631 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pLJJi-0005Kb-08 for submit@debbugs.gnu.org; Fri, 27 Jan 2023 02:38:34 -0500 Received: from eggs.gnu.org ([209.51.188.92]:33134) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pLJJg-0005KP-8i for 60999@debbugs.gnu.org; Fri, 27 Jan 2023 02:38:32 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pLJJa-0005nB-RC; Fri, 27 Jan 2023 02:38:26 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=CyMgd6j9qwsM+m1hmJcckzrgIAG6yoiA5CWTY47x+qI=; b=i7YlC+yR3Puz f2hXy15yNDRHJNLp3XNd4u+bkZRgOwJ/sGGz4u5EzPVSMvMSY8A2ZZd48cVukQyqS7SzjUgOshD4L dpNYJF4ijBany1FVhrcvUgfDuXi3a12vFm4P5Nov1J9BwssCamx4Gb2NIykcCqOtYHHDOmJqYXOXj zi/3YgBYDHZjfpnCgn2tpWrybXDDe89pdMNIM2dgzIME1dGAvG06vQRsOpcr1ejlnmfllmDIorv8e IBZUBpyRrm8412Fp+A75C8SvAzx3odEJk4i9vKfq+h3905EEz5NlpqrReSxPZ0a442MzVmab0InRV ZC6oI9LKRpWNQ1bM0zGFZg==; Received: from [87.69.77.57] (helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pLJJa-0001d2-16; Fri, 27 Jan 2023 02:38:26 -0500 Date: Fri, 27 Jan 2023 09:38:11 +0200 Message-Id: <83cz70ctr0.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: <3de45afd-c721-9b3a-ff97-5e6dc8d0c390@gmail.com> (message from Jim Porter on Thu, 26 Jan 2023 17:23:19 -0800) References: <83zgabjd4v.fsf@gnu.org> <3de45afd-c721-9b3a-ff97-5e6dc8d0c390@gmail.com> X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Date: Thu, 26 Jan 2023 17:23:19 -0800 > From: Jim Porter > Cc: 60999@debbugs.gnu.org > > On 1/22/2023 12:13 AM, Jim Porter wrote: > > Either way we decide about 'eshell-number-regexp', I can turn > > 'eshell-integer-regexp' into a regular defvar. (The only thing I can > > think of that a person would customize it to would be to allow a "+" at > > the start of an integer, like "+123".) > > Ok, I've updated my patch to that 'eshell-integer-regexp' is just a > regular defvar. In the second patch, I also converted > 'eshell-number-regexp' to a defvar, and improved the regexp to match > more valid numbers. I think with those improvements, there's no real > reason for 'eshell-number-regexp' to be customizable anymore. Thanks. > Note: I haven't done anything with the range syntax though. If you feel > strongly that it should be a closed range like in Bash (instead of > half-open like it is in the current patch), then I don't mind changing > it. Personally though, I have a soft preference for half-open since it's > more consistent with the rest of Emacs Lisp. I have no strong feelings, as I don't expect to be using this feature. I just think this could be confusing to people who do use it in other shells, and a potential source of complaints and bug reports. But it is your call. From unknown Sun Jun 22 04:34:08 2025 X-Loop: help-debbugs@gnu.org Subject: bug#60999: 30.0.50; [PATCH] Add support for negative indices and index ranges in Eshell Resent-From: Jim Porter Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 27 Jan 2023 18:03:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 60999 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Eli Zaretskii Cc: 60999@debbugs.gnu.org Received: via spool by 60999-submit@debbugs.gnu.org id=B60999.16748425598813 (code B ref 60999); Fri, 27 Jan 2023 18:03:01 +0000 Received: (at 60999) by debbugs.gnu.org; 27 Jan 2023 18:02:39 +0000 Received: from localhost ([127.0.0.1]:38415 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pLT3e-0002I3-GD for submit@debbugs.gnu.org; Fri, 27 Jan 2023 13:02:38 -0500 Received: from mail-pf1-f176.google.com ([209.85.210.176]:45964) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pLT3d-0002Hp-H0 for 60999@debbugs.gnu.org; Fri, 27 Jan 2023 13:02:37 -0500 Received: by mail-pf1-f176.google.com with SMTP id z1so832243pfg.12 for <60999@debbugs.gnu.org>; Fri, 27 Jan 2023 10:02:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:mime-version:date:message-id:from:to:cc :subject:date:message-id:reply-to; bh=PQuCmZzN4XH04dCp7cpH7Et/tS/s6isbQU5sEPD1CQU=; b=mXxrLN4PTbfeZRuONesBOQMjIRaBRqWM0fiWGvqwo2vSJ4GZBQCl/df8g1865EC3Ft Pk6Bggf64wqQbFDEqJ7TFS/Laaw0r+6tkngr0lIyXVkYoryiNrfC3bY+w5aeO7p/PTsz 3MLCyfbYKyYbhu6MixVdqB+S0MjB7mkLrbcUfxghXHPyk87Z1KIh/xozUt08ZxGj0Uxu D7jV7akxSgxWnwOnfnUx3VDFofcrqG4uS4T4QCtjL5oBGPBcHfj4tpbpiuToh93AQVRY 3xSIxeJ+839Yw4PrBKK7t7/5M66KD8AZGK+mhfnZ8vbp+F3vTa4RJWL+V7B6FRqfaySD sZ1w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=PQuCmZzN4XH04dCp7cpH7Et/tS/s6isbQU5sEPD1CQU=; b=waBQRddbt+68LMgzGeMfIthcsrQ9zgkjrSs6LCa0A6upH0qXJnR4Z4vw0kFiNE6DlT f1OvQz6IWuqMpKpklT9e0Ze5dE+WnHr2wWAamTTWxM8g/vgrDAUOM8xT/n4WFF+vQSax FqpmdEvFZvSc0BQcf51KosUhmaMUyAw9TQCu1DfFIj9/KEYvBRC7FdugB8SAcXfk0Hex 4W7CSsWLQj6e1IRK73fcZfbIdpRrAO/0Ga6tqAipgkRmNLGJpp3PDCfkm7iH2jpPvoFa wN7BkfJG0tbwBDWSfn9NwprgvcQ591y7fzA7ws9VDbWNNuWLPfUt2w+2fVwwviuVls9C 8mMw== X-Gm-Message-State: AO0yUKVTmu/O+03UPBj7W/UHQBTTI5JK24hD/I0DKElsLM55aNy+AV2y /txN7iD5yBZIcr7MwS/yBJQ= X-Google-Smtp-Source: AK7set/ACQJqrs8+VX+ub9yoXFKJX/kG//fcCjcyH8H9/Sxy02OWVnT91Zuyjt95NjW+Es0GU9AG7Q== X-Received: by 2002:aa7:888f:0:b0:588:9c15:65c4 with SMTP id z15-20020aa7888f000000b005889c1565c4mr8021475pfe.3.1674842551518; Fri, 27 Jan 2023 10:02:31 -0800 (PST) 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 c3-20020aa78803000000b0058d54960eccsm1776307pfo.151.2023.01.27.10.02.30 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 27 Jan 2023 10:02:30 -0800 (PST) Message-ID: <3e591737-a545-a296-5c69-1500d26465a5@gmail.com> Date: Fri, 27 Jan 2023 10:02:30 -0800 MIME-Version: 1.0 Content-Language: en-US References: <83zgabjd4v.fsf@gnu.org> <3de45afd-c721-9b3a-ff97-5e6dc8d0c390@gmail.com> <83cz70ctr0.fsf@gnu.org> From: Jim Porter In-Reply-To: <83cz70ctr0.fsf@gnu.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) On 1/26/2023 11:38 PM, Eli Zaretskii wrote: > I have no strong feelings, as I don't expect to be using this feature. > I just think this could be confusing to people who do use it in other > shells, and a potential source of complaints and bug reports. But it > is your call. Ok, thanks. Would it make sense to merge this patch as-is then, and afterwards I can post a message on emacs-devel soliciting feedback? If people clearly prefer the Bash semantics, I don't have any major issues with changing the code to match that. From unknown Sun Jun 22 04:34:08 2025 X-Loop: help-debbugs@gnu.org Subject: bug#60999: 30.0.50; [PATCH] Add support for negative indices and index ranges in Eshell Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 27 Jan 2023 18:58:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 60999 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch To: Jim Porter Cc: 60999@debbugs.gnu.org Received: via spool by 60999-submit@debbugs.gnu.org id=B60999.167484585814360 (code B ref 60999); Fri, 27 Jan 2023 18:58:01 +0000 Received: (at 60999) by debbugs.gnu.org; 27 Jan 2023 18:57:38 +0000 Received: from localhost ([127.0.0.1]:38474 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pLTus-0003jY-Dg for submit@debbugs.gnu.org; Fri, 27 Jan 2023 13:57:38 -0500 Received: from eggs.gnu.org ([209.51.188.92]:33066) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pLTur-0003jH-1Q for 60999@debbugs.gnu.org; Fri, 27 Jan 2023 13:57:37 -0500 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pLTul-0006zS-C6; Fri, 27 Jan 2023 13:57:31 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=BXqQbEJBXI0nfW2J5+1MVMDH9+cJ48t2oRlQu+i5DrU=; b=D2xVzaq4Os1G ziCYSin3UlOc4NEHNS6cqZMQRA2gKGtNh82R0Pj7BDWJcR+weNQMTXGC42/Hll/kMXVAs/SH3mOZ4 p5TmOAAhmFZszQUl0vQoZDqNkqJB1I6PCPKTEOmXLDQO8GsHKCc7wjvXL75XmIn6qXh6wEoMZi2gW Cbo9iwaMEmkmOSw6ZJ7j/WQgscFLY6nIECxCKYNV4qiilIcXwuYvhInq75VjwM1bze7E7rOenpV8U JiulLyFVXHR+8pH2ybm24wu2GPldVQ2sb0bWpkm78yjhh3cf36KKsn/UhjaXgLjHpE+GK2ODF9H+8 sBrHjSmxDeCycezwRJNsPw==; Received: from [87.69.77.57] (helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1pLTuk-0002lz-GS; Fri, 27 Jan 2023 13:57:31 -0500 Date: Fri, 27 Jan 2023 20:57:16 +0200 Message-Id: <83v8krbyb7.fsf@gnu.org> From: Eli Zaretskii In-Reply-To: <3e591737-a545-a296-5c69-1500d26465a5@gmail.com> (message from Jim Porter on Fri, 27 Jan 2023 10:02:30 -0800) References: <83zgabjd4v.fsf@gnu.org> <3de45afd-c721-9b3a-ff97-5e6dc8d0c390@gmail.com> <83cz70ctr0.fsf@gnu.org> <3e591737-a545-a296-5c69-1500d26465a5@gmail.com> X-Spam-Score: -2.3 (--) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Date: Fri, 27 Jan 2023 10:02:30 -0800 > Cc: 60999@debbugs.gnu.org > From: Jim Porter > > On 1/26/2023 11:38 PM, Eli Zaretskii wrote: > > I have no strong feelings, as I don't expect to be using this feature. > > I just think this could be confusing to people who do use it in other > > shells, and a potential source of complaints and bug reports. But it > > is your call. > > Ok, thanks. Would it make sense to merge this patch as-is then, and > afterwards I can post a message on emacs-devel soliciting feedback? Feel free. From unknown Sun Jun 22 04:34:08 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Jim Porter Subject: bug#60999: closed (Re: bug#60999: 30.0.50; [PATCH] Add support for negative indices and index ranges in Eshell) Message-ID: References: X-Gnu-PR-Message: they-closed 60999 X-Gnu-PR-Package: emacs X-Gnu-PR-Keywords: patch Reply-To: 60999@debbugs.gnu.org Date: Sat, 28 Jan 2023 02:16:02 +0000 Content-Type: multipart/mixed; boundary="----------=_1674872162-28435-1" This is a multi-part message in MIME format... ------------=_1674872162-28435-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #60999: 30.0.50; [PATCH] Add support for negative indices and index ranges = in Eshell which was filed against the emacs package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 60999@debbugs.gnu.org. --=20 60999: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D60999 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1674872162-28435-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 60999-done) by debbugs.gnu.org; 28 Jan 2023 02:15:36 +0000 Received: from localhost ([127.0.0.1]:39221 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pLaki-0007Nt-CX for submit@debbugs.gnu.org; Fri, 27 Jan 2023 21:15:36 -0500 Received: from mail-pj1-f52.google.com ([209.85.216.52]:35512) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pLakg-0007Ne-EP for 60999-done@debbugs.gnu.org; Fri, 27 Jan 2023 21:15:35 -0500 Received: by mail-pj1-f52.google.com with SMTP id n20-20020a17090aab9400b00229ca6a4636so10431413pjq.0 for <60999-done@debbugs.gnu.org>; Fri, 27 Jan 2023 18:15:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:mime-version:date:message-id:from:to:cc :subject:date:message-id:reply-to; bh=udidMRC2R/f+ubkSDRtTEOrFAfYZaq68Isp/KaipWPM=; b=jDjJo+AWcO1mjVj/BRsi+CrvIZcoCU03Yyrb/GR8oJf07Z3zixZIKHlcj3HPvi6C2F y0xzgKk6iSDlNcvQt7mG64iMcgrm+lfo+Fxz5sVV3r9CxHHvXPwCDtLYp4qXvE/b5zov ZgIMgZHkJiNUm/D9PsJ9NYaJXTEFn28rCEEvXK0aoimOAimoAiQsl0mCTa/BwWj824mv 5TicmW0xVvR/cuF3bV+zgVkiz3ec0WkWm32SkcicmNvqwFGl4zQSBbB288hyqQi30xxM D3fxHW7zOgzxd32GEx5wEslubNJiN9gUbIFG9+MenghueY5DYrzsnXC3dOeJLk2l9/xn fkCA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=udidMRC2R/f+ubkSDRtTEOrFAfYZaq68Isp/KaipWPM=; b=UlEYxAhqt+dFd1vU5kAXk2S70a/QJyBdm/3z3sD0WIg2Y1GFUhKKRR6lf+Lxo0nN7/ z40GGIcUg9UzN1dvnYIfStvX9/X962tiDseSukSzsVvMJcHy2ze6B5r3vjYtbXjhnPct 16NSzCaNrxABjbNshIuNQ45Rl21zhDm5/y36Y4d3joX5hQSfCBq0gqil5+/l3g6uWZla VJKdoeoa1AtWkZ/a3cBglZmZh6KEskEtobditXtfOk+saqdY8/Lxp8Dax9xqCmcuqNLy c0olCam0lPPM3/1N3gE+zIj0y+Fau1oPy9CH0eV9J7uV6HaoQqIhClhZJNPXbTALGsAk A+2w== X-Gm-Message-State: AO0yUKVWcxtmujAQyK3msHSfIynzeHNHK3LP72AtXKtL/5tjYAMEvggv VTEgjFUJxc6CjcPfvvqeGH7hntstnx1iAg== X-Google-Smtp-Source: AK7set+dFBbk5SH3w6pwGIEWsFRftJIFfb/f0xayCHk681yHhC5zDISEiVi5jP59GAn/zaGIGzeOQg== X-Received: by 2002:a05:6a20:5494:b0:bc:71f2:c998 with SMTP id i20-20020a056a20549400b000bc71f2c998mr2335719pzk.22.1674872128607; Fri, 27 Jan 2023 18:15:28 -0800 (PST) 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 h4-20020a17090a648400b00229f0c629e1sm3313002pjj.45.2023.01.27.18.15.27 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 27 Jan 2023 18:15:28 -0800 (PST) Message-ID: Date: Fri, 27 Jan 2023 18:15:28 -0800 MIME-Version: 1.0 Subject: Re: bug#60999: 30.0.50; [PATCH] Add support for negative indices and index ranges in Eshell Content-Language: en-US To: Eli Zaretskii References: <83zgabjd4v.fsf@gnu.org> <3de45afd-c721-9b3a-ff97-5e6dc8d0c390@gmail.com> <83cz70ctr0.fsf@gnu.org> <3e591737-a545-a296-5c69-1500d26465a5@gmail.com> <83v8krbyb7.fsf@gnu.org> From: Jim Porter In-Reply-To: <83v8krbyb7.fsf@gnu.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 60999-done Cc: 60999-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) On 1/27/2023 10:57 AM, Eli Zaretskii wrote: > Feel free. Thanks. Merged as 5642bf0b97. I'll send a message to emacs-devel over the weekend. Closing this now. ------------=_1674872162-28435-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 22 Jan 2023 03:47:56 +0000 Received: from localhost ([127.0.0.1]:50229 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pJRKl-000503-Ia for submit@debbugs.gnu.org; Sat, 21 Jan 2023 22:47:56 -0500 Received: from lists.gnu.org ([209.51.188.17]:60192) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1pJRKj-0004zi-A7 for submit@debbugs.gnu.org; Sat, 21 Jan 2023 22:47:54 -0500 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 1pJRKj-0000wI-0M for bug-gnu-emacs@gnu.org; Sat, 21 Jan 2023 22:47:53 -0500 Received: from mail-pj1-x102f.google.com ([2607:f8b0:4864:20::102f]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1pJRKg-0002Dx-2U for bug-gnu-emacs@gnu.org; Sat, 21 Jan 2023 22:47:52 -0500 Received: by mail-pj1-x102f.google.com with SMTP id n20-20020a17090aab9400b00229ca6a4636so11698231pjq.0 for ; Sat, 21 Jan 2023 19:47:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=subject:to:from:content-language:mime-version:date:message-id:from :to:cc:subject:date:message-id:reply-to; bh=94JpmYF0CN1O3jH09T1lNvWFfZVG/9CMy52G2wY6wsI=; b=ghUYVXnRYulJjM7vP6qb80tW5ypvzY8eBYWIXulu9PReeRQxb74fmPDLMp8TTDhjbx rHwNYZ/XMJeMFdMiUAwpT+xmBU+vQ2lQGlnhmr8QfmFz1oHFcWOVf6IP6nk6jL5pe5IV 7mnPlYBIEh5SIB6K/plo1FFKV0V1v1gG1dE44NGmPev3VoM5PLbrlspQDvuNUidboeX8 TJurer069VzOfXbk5yzKwNVYfcB3RrLsox3sXFlWrqAhVo9nJO4YTO4XxffH8OF2qP3i DRryuGZIUFY0ZuVGa9a3Eydvhf5mJKb3Bkiokcnut0NbDQuk64TieRxzdVvHB5gwKtzl fD/Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=subject:to:from:content-language:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=94JpmYF0CN1O3jH09T1lNvWFfZVG/9CMy52G2wY6wsI=; b=eVjKCNTbheGhPrkHHL2XizcFwFbd6cNfAT06U4IwBaXVirNJ85uju2ermbOC1pIY3o uNWReqCxOerpb3WDbCk3XOJPpk3V9iJ0t0hPmTn1pJOSNnfPYLRno69O99F2chTP7xqw f0l5mi5++BrbUSSmqzW6xFA1VQBKFQZYoiC6ohOwvMsAtPiy/Vxsh2eZMvekcuLTrpsI 8+30tP8BKUvb+OpqXNq3RITkSznrxBPpz2110gCVLJjUzBwwlWJxQ4rhIP8sPlR5o3Rh LJXO75L4Sn5pktZPQSjettzru/EHnftPGhl8/MK7OHKLvWSNYnql6cROiGd1GJ3/CZOy cFJg== X-Gm-Message-State: AFqh2kriDx6q0Cn1/ZJkCEGfa96SZcNAwH5LifeNkUtY4O4ebf8aX/4H Cfsx8WWRVb8LQUEJJ1VRILb7iNzmhJPdMQ== X-Google-Smtp-Source: AMrXdXsTN1YT58TijD8kVZKmVU1GCYsaDcLRL/eFD/ZedvbPA7YQ0cxq3ujnOOrfh9ONMgmk1ClRLQ== X-Received: by 2002:a17:90a:2b08:b0:229:3554:89b2 with SMTP id x8-20020a17090a2b0800b00229355489b2mr21264113pjc.28.1674359267981; Sat, 21 Jan 2023 19:47:47 -0800 (PST) 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 cp14-20020a17090afb8e00b0022bbad75af6sm8598763pjb.1.2023.01.21.19.47.46 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 21 Jan 2023 19:47:47 -0800 (PST) Content-Type: multipart/mixed; boundary="------------3MSg5M4gmD80NNSLx6dCDcAB" Message-ID: Date: Sat, 21 Jan 2023 19:47:47 -0800 MIME-Version: 1.0 X-Mozilla-News-Host: news://news.gmane.io:119 Content-Language: en-US From: Jim Porter To: bug-gnu-emacs@gnu.org Subject: 30.0.50; [PATCH] Add support for negative indices and index ranges in Eshell Received-SPF: pass client-ip=2607:f8b0:4864:20::102f; envelope-from=jporterbugs@gmail.com; helo=mail-pj1-x102f.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 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, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.3 (-) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) This is a multi-part message in MIME format. --------------3MSg5M4gmD80NNSLx6dCDcAB Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit There are two suggestions in the "Bugs and ideas" section of the Eshell manual: Allow "$_[-1]", which would indicate the last element of the array Make "$x[*]" equal to listing out the full contents of "x" I think these would be pretty useful, especially for the "$_" variable, which gets the last argument of the last command, but if you give it an index like "$_[N]", gets the Nth argument of the last command. However, it's not as easy to get the second-to-last argument of the last command, or to get *all* arguments of the last command. So the above two suggestions would be pretty helpful. Attached is a patch to do this. For the second suggestion, I took some liberties and added range syntax, so that "$x[2..5]" returns elements 2, 3, and 4 (zero-indexed) of x. I have just one question though: this implementation treats ranges as half-open, i.e. "M..N" is [M, N). I think that's the best way of doing things (and it matches how 'seq-subseq' works). However, "M..N" is the Bash syntax, which uses a closed range, [M, N]. Maybe this would be too confusing for users? I'm open to using other tokens aside from ".." if that would help. Maybe "M:N" would work? That's the Python syntax, which behaves the same way as this patch. Any thoughts? --------------3MSg5M4gmD80NNSLx6dCDcAB Content-Type: text/plain; charset=UTF-8; name="0001-Add-support-for-negative-indices-and-index-ranges-in.patch" Content-Disposition: attachment; filename*0="0001-Add-support-for-negative-indices-and-index-ranges-in.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSAzMzk2MDg4MWE1MGRhZWZkZjhhODY2YjdjZmU1NmVhOGQyYTc4YjFjIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gUG9ydGVyIDxqcG9ydGVyYnVnc0BnbWFpbC5j b20+CkRhdGU6IEZyaSwgMjAgSmFuIDIwMjMgMTM6NTQ6MjAgLTA4MDAKU3ViamVjdDogW1BB VENIXSBBZGQgc3VwcG9ydCBmb3IgbmVnYXRpdmUgaW5kaWNlcyBhbmQgaW5kZXggcmFuZ2Vz IGluIEVzaGVsbAoKKiBsaXNwL2VzaGVsbC9lc2gtdXRpbC5lbCAoZXNoZWxsLWludGVnZXIt cmVnZXhwKTogTmV3IGRlZmN1c3RvbS4KCiogbGlzcC9lc2hlbGwvZXNoLXZhci5lbCAoZXNo ZWxsLXBhcnNlLWluZGljZXMpOiBFeHBhbmQgZG9jc3RyaW5nLgooZXNoZWxsLXBhcnNlLWlu ZGV4KTogTmV3IGZ1bmN0aW9uLgooZXNoZWxsLWFwcGx5LWluZGljZXMpOiBVc2UgJ2VzaGVs bC1wYXJzZS1pbmRleCcgdG8gZGV0ZXJtaW5lIHdoZXRoZXIKdG8gdHJlYXQgdGhlIGZpcnN0 IGluZGV4IGFzIGEgcmVnZXhwLiAgU2ltcGxpZnkgdGhlIGltcGxlbWVudGF0aW9uIGEKYml0 LgooZXNoZWxsLWluZGV4LXJhbmdlKTogTmV3IHBjYXNlIG1hY3JvLi4uCihlc2hlbGwtaW5k ZXgtdmFsdWUpOiAuLi4gdXNlIGl0LCBhbmQgcmVzdHJ1Y3R1cmUgdGhlIGltcGxlbWVudGF0 aW9uLgoKKiB0ZXN0L2xpc3AvZXNoZWxsL2VzaC12YXItdGVzdHMuZWwgKGVzaC12YXItdGVz dC9pbnRlcnAtdmFyLWluZGljZXMpOgpOZXcgZnVuY3Rpb24uLi4KKGVzaC12YXItdGVzdC9p bnRlcnAtdmFyLWluZGljZXMvbGlzdCkKKGVzaC12YXItdGVzdC9pbnRlcnAtdmFyLWluZGlj ZXMvdmVjdG9yKQooZXNoLXZhci10ZXN0L2ludGVycC12YXItaW5kaWNlcy9yaW5nKQooZXNo LXZhci10ZXN0L2ludGVycC12YXItaW5kaWNlcy9zcGxpdCk6IC4uLiB1c2UgaXQuCihlc2gt dmFyLXRlc3QvaW50ZXJwLXZhci1zdHJpbmctc3BsaXQtaW5kaWNlcykKKGVzaC12YXItdGVz dC9pbnRlcnAtdmFyLXJlZ2V4cC1zcGxpdC1pbmRpY2VzKQooZXNoLXZhci10ZXN0L2ludGVy cC12YXItYXNzb2MpOiBFeHBhbmQgdGVzdHMgdG8gY292ZXIgdGhpbmdzIHRoYXQKbG9vayBs aWtlIG51bWJlcnMgb3IgcmFuZ2VzLCBidXQgYXJlbid0LgoKKiBkb2MvbWlzYy9lc2hlbGwu dGV4aSAoVmFyaWFibGVzKTogRGVzY3JpYmUgaG93IHRvIGdldCBhbGwgYXJndW1lbnRzCm9m IHRoZSBsYXN0IGNvbW1hbmQuCihEb2xsYXJzIEV4cGFuc2lvbik6IEV4cGxhaW4gbmVnYXRp dmUgaW5kaWNlcyBhbmQgaW5kZXggcmFuZ2VzLgooQnVncyBhbmQgaWRlYXMpOiBSZW1vdmUg bm93LWltcGxlbWVudGVkIGlkZWFzLgoKKiBldGMvTkVXUzogQW5ub3VuY2UgdGhpcyBjaGFu Z2UuCi0tLQogZG9jL21pc2MvZXNoZWxsLnRleGkgICAgICAgICAgICAgIHwgIDI0ICsrKy0t LQogZXRjL05FV1MgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA3ICsrCiBsaXNwL2Vz aGVsbC9lc2gtdXRpbC5lbCAgICAgICAgICAgfCAgIDQgKwogbGlzcC9lc2hlbGwvZXNoLXZh ci5lbCAgICAgICAgICAgIHwgMTM2ICsrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLQog dGVzdC9saXNwL2VzaGVsbC9lc2gtdmFyLXRlc3RzLmVsIHwgMTAyICsrKysrKysrKysrKysr KysrLS0tLS0KIDUgZmlsZXMgY2hhbmdlZCwgMTkzIGluc2VydGlvbnMoKyksIDgwIGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RvYy9taXNjL2VzaGVsbC50ZXhpIGIvZG9jL21pc2Mv ZXNoZWxsLnRleGkKaW5kZXggNTdhMjAyMGZkY2EuLjk0NzdkMGY1ZTMxIDEwMDY0NAotLS0g YS9kb2MvbWlzYy9lc2hlbGwudGV4aQorKysgYi9kb2MvbWlzYy9lc2hlbGwudGV4aQpAQCAt MTA1OSw3ICsxMDU5LDkgQEAgVmFyaWFibGVzCiBUaGlzIHJlZmVycyB0byB0aGUgbGFzdCBh cmd1bWVudCBvZiB0aGUgbGFzdCBjb21tYW5kLiAgV2l0aCBhCiBzdWJzY3JpcHQsIHlvdSBj YW4gYWNjZXNzIGFueSBhcmd1bWVudCBvZiB0aGUgbGFzdCBjb21tYW5kLiAgRm9yCiBleGFt cGxlLCBAc2FtcHskX1sxXX0gcmVmZXJzIHRvIHRoZSBzZWNvbmQgYXJndW1lbnQgb2YgdGhl IGxhc3QKLWNvbW1hbmQgKGV4Y2x1ZGluZyB0aGUgY29tbWFuZCBuYW1lIGl0c2VsZikuCitj b21tYW5kIChleGNsdWRpbmcgdGhlIGNvbW1hbmQgbmFtZSBpdHNlbGYpLiAgVG8gZ2V0IGFs bCBhcmd1bWVudHMgb2YKK3RoZSBsYXN0IGNvbW1hbmQsIHlvdSBjYW4gdXNlIGFuIGluZGV4 IHJhbmdlIGxpa2UgQHNhbXB7JF9bLi5dfQorKEBweHJlZntEb2xsYXJzIEV4cGFuc2lvbn0p LgogCiBAdmluZGV4ICQkCiBAaXRlbSAkJApAQCAtMTM3MCwxMSArMTM3MiwyMCBAQCBEb2xs YXJzIEV4cGFuc2lvbgogQGl0ZW0gYSBzZXF1ZW5jZQogRXhwYW5kcyB0byB0aGUgZWxlbWVu dCBhdCB0aGUgKHplcm8tYmFzZWQpIGluZGV4IEB2YXJ7aX0gb2YgdGhlCiBzZXF1ZW5jZSAo QHB4cmVme1NlcXVlbmNlcyBBcnJheXMgVmVjdG9ycywgU2VxdWVuY2VzLCAsIGVsaXNwLCBU aGUKLUVtYWNzIExpc3AgUmVmZXJlbmNlIE1hbnVhbH0pLgorRW1hY3MgTGlzcCBSZWZlcmVu Y2UgTWFudWFsfSkuICBJZiBAdmFye2l9IGlzIG5lZ2F0aXZlLCBAdmFye2l9IGNvdW50cwor ZnJvbSB0aGUgZW5kLCBzbyAtMSByZWZlcnMgdG8gdGhlIGxhc3QgZWxlbWVudCBvZiB0aGUg c2VxdWVuY2UuCisKK0lmIEB2YXJ7aX0gaXMgYSByYW5nZSBsaWtlIEBjb2Rle0B2YXJ7c3Rh cnR9Li5AdmFye2VuZH19LCB0aGlzIGV4cGFuZHMKK3RvIGEgc3Vic2VxdWVuY2UgZnJvbSB0 aGUgaW5kaWNlcyBAdmFye3N0YXJ0fSB0byBAdmFye2VuZH0sIHdoZXJlCitAdmFye2VuZH0g aXMgZXhjbHVkZWQuICBAdmFye3N0YXJ0fSBhbmQvb3IgQHZhcntlbmR9IGNhbiBhbHNvIGJl CitvbWl0dGVkLCB3aGljaCBpcyBlcXVpdmFsZW50IHRvIHRoZSBzdGFydCBhbmQvb3IgZW5k IG9mIHRoZSBlbnRpcmUKK2xpc3QuICBGb3IgZXhhbXBsZSwgQHNhbXB7JEB2YXJ7ZXhwcn1b LTIuLl19IGV4cGFuZHMgdG8gdGhlIGxhc3QgdHdvCit2YWx1ZXMgb2YgQHZhcntleHByfS4K IAogQGl0ZW0gYSBzdHJpbmcKIFNwbGl0IHRoZSBzdHJpbmcgYXQgd2hpdGVzcGFjZSwgYW5k IHRoZW4gZXhwYW5kIHRvIHRoZSBAdmFye2l9dGgKLWVsZW1lbnQgb2YgdGhlIHJlc3VsdGlu ZyBzZXF1ZW5jZS4KK2VsZW1lbnQgb2YgdGhlIHJlc3VsdGluZyBzZXF1ZW5jZS4gIEFzIGFi b3ZlLCBAdmFye2l9IGNhbiBiZSBhIHJhbmdlCitsaWtlIEBjb2Rle0B2YXJ7c3RhcnR9Li5A dmFye2VuZH19LgogCiBAaXRlbSBhbiBhbGlzdAogSWYgQHZhcntpfSBpcyBhIG5vbi1udW1l cmljIHZhbHVlLCBleHBhbmQgdG8gdGhlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aApAQCAtMjQ0 MiwxMyArMjQ1Myw2IEBAIEJ1Z3MgYW5kIGlkZWFzCiAKIFRoaXMgd2F5LCB0aGUgdXNlciBj b3VsZCBjaGFuZ2UgaXQgdG8gdXNlIHJjIHN5bnRheDogQHNhbXB7PlsyPTFdfS4KIAotQGl0 ZW0gQWxsb3cgQHNhbXB7JF9bLTFdfSwgd2hpY2ggd291bGQgaW5kaWNhdGUgdGhlIGxhc3Qg ZWxlbWVudCBvZiB0aGUgYXJyYXkKLQotQGl0ZW0gTWFrZSBAc2FtcHskeFsqXX0gZXF1YWwg dG8gbGlzdGluZyBvdXQgdGhlIGZ1bGwgY29udGVudHMgb2YgQHNhbXB7eH0KLQotUmV0dXJu IHRoZW0gYXMgYSBsaXN0LCBzbyB0aGF0IEBzYW1weyRfWypdfSBpcyBhbGwgdGhlIGFyZ3Vt ZW50cyBvZiB0aGUKLWxhc3QgY29tbWFuZC4KLQogQGl0ZW0gQ29weSBBTlNJIGNvZGUgaGFu ZGxpbmcgZnJvbSBAZmlsZXt0ZXJtLmVsfSBpbnRvIEBmaWxle2VtLXRlcm0uZWx9CiAKIE1h a2UgaXQgcG9zc2libGUgZm9yIHRoZSB1c2VyIHRvIHNlbmQgY2hhci1ieS1jaGFyIHRvIHRo ZSB1bmRlcmx5aW5nCmRpZmYgLS1naXQgYS9ldGMvTkVXUyBiL2V0Yy9ORVdTCmluZGV4IDEw ZTkxZWM0YWI5Li42OTRmODBlYmM1YiAxMDA2NDQKLS0tIGEvZXRjL05FV1MKKysrIGIvZXRj L05FV1MKQEAgLTE0Myw2ICsxNDMsMTMgQEAgb2YgYXJndW1lbnRzIGludG8gYSBjb21tYW5k LCBzdWNoIGFzIHdoZW4gZGVmaW5pbmcgYWxpYXNlcy4gIEZvciBtb3JlCiBpbmZvcm1hdGlv biwgc2VlIHRoZSAiKGVzaGVsbCkgRG9sbGFycyBFeHBhbnNpb24iIG5vZGUgaW4gdGhlIEVz aGVsbAogbWFudWFsLgogCisrKysKKyoqKiBFc2hlbGwgbm93IHN1cHBvcnRzIG5lZ2F0aXZl IG51bWJlcnMgYW5kIHJhbmdlcyBmb3IgaW5kaWNlcy4KK05vdywgeW91IGNhbiByZXRyaWV2 ZSB0aGUgbGFzdCBlbGVtZW50IG9mIGEgbGlzdCB3aXRoICckbXktbGlzdFstMV0nCitvciBn ZXQgYSBzdWJsaXN0IG9mIGVsZW1lbnRzIDIgdGhyb3VnaCA0IHdpdGggJyRteS1saXN0WzIu LjVdJy4gIEZvcgorbW9yZSBpbmZvcm1hdGlvbiwgc2VlIHRoZSAiKGVzaGVsbCkgRG9sbGFy cyBFeHBhbnNpb24iIG5vZGUgaW4gdGhlCitFc2hlbGwgbWFudWFsLgorCiAtLS0KICoqKiBF c2hlbGwgbm93IHVzZXMgJ2ZpZWxkJyBwcm9wZXJ0aWVzIGluIGl0cyBvdXRwdXQuCiBJbiBw YXJ0aWN1bGFyLCB0aGlzIG1lYW5zIHRoYXQgcHJlc3NpbmcgdGhlICc8aG9tZT4nIGtleSBt b3ZlcyB0aGUKZGlmZiAtLWdpdCBhL2xpc3AvZXNoZWxsL2VzaC11dGlsLmVsIGIvbGlzcC9l c2hlbGwvZXNoLXV0aWwuZWwKaW5kZXggNTQ0YThhNzQwMzkuLjhkZjFkYzk5ODJiIDEwMDY0 NAotLS0gYS9saXNwL2VzaGVsbC9lc2gtdXRpbC5lbAorKysgYi9saXNwL2VzaGVsbC9lc2gt dXRpbC5lbApAQCAtMTAxLDYgKzEwMSwxMCBAQCBlc2hlbGwtbnVtYmVyLXJlZ2V4cAogZnVu Y3Rpb24gYHN0cmluZy10by1udW1iZXInLiIKICAgOnR5cGUgJ3JlZ2V4cCkKIAorKGRlZmN1 c3RvbSBlc2hlbGwtaW50ZWdlci1yZWdleHAgKHJ4ICg/ICItIikgKCsgZGlnaXQpKQorICAi UmVndWxhciBleHByZXNzaW9uIHVzZWQgdG8gbWF0Y2ggaW50ZWdlciBhcmd1bWVudHMuIgor ICA6dHlwZSAncmVnZXhwKQorCiAoZGVmY3VzdG9tIGVzaGVsbC1hbmdlLWxzLXVpZHMgbmls CiAgICJMaXN0IG9mIHVzZXIvaG9zdC9pZCBzdHJpbmdzLCB1c2VkIHRvIGRldGVybWluZSBy ZW1vdGUgb3duZXJzaGlwLiIKICAgOnR5cGUgJyhyZXBlYXQgKGNvbnMgOnRhZyAiSG9zdCBm b3IgVXNlci9VSUQgbWFwIgpkaWZmIC0tZ2l0IGEvbGlzcC9lc2hlbGwvZXNoLXZhci5lbCBi L2xpc3AvZXNoZWxsL2VzaC12YXIuZWwKaW5kZXggODNkZDVjYjUwZjUuLjYwYWFiOTJiMzNl IDEwMDY0NAotLS0gYS9saXNwL2VzaGVsbC9lc2gtdmFyLmVsCisrKyBiL2xpc3AvZXNoZWxs L2VzaC12YXIuZWwKQEAgLTU4Nyw2ICs1ODcsOSBAQCBlc2hlbGwtZ2xvYi1mdW5jdGlvbgog CiAoZGVmdW4gZXNoZWxsLXBhcnNlLWluZGljZXMgKCkKICAgIlBhcnNlIGFuZCByZXR1cm4g YSBsaXN0IG9mIGluZGV4LWxpc3RzLgorVGhpcyBwcm9kdWNlcyBhIHNlcmllcyBvZiBMaXNw IGZvcm1zIHRvIGJlIHByb2Nlc3NlZCBieQorYGVzaGVsbC1wcmVwYXJlLWluZGljZXMnIGFu ZCB1bHRpbWF0ZWx5IGV2YWx1YXRlZCBieQorYGVzaGVsbC1kby1ldmFsJy4KIAogRm9yIGV4 YW1wbGUsIFwiWzAgMV1bMl1cIiBiZWNvbWVzOgogICAoKFwiMFwiIFwiMVwiKSAoXCIyXCIp KS4iCkBAIC02MDUsNiArNjA4LDM2IEBAIGVzaGVsbC1wYXJzZS1pbmRpY2VzCiAJICAoZ290 by1jaGFyICgxKyBlbmQpKSkpKQogICAgIChucmV2ZXJzZSBpbmRpY2VzKSkpCiAKKyhkZWZ1 biBlc2hlbGwtcGFyc2UtaW5kZXggKGluZGV4KQorICAiUGFyc2UgYSBzaW5nbGUgSU5ERVgg aW4gc3RyaW5nIGZvcm0uCitJZiBJTkRFWCBsb29rcyBsaWtlIGEgbnVtYmVyLCByZXR1cm4g dGhhdCBudW1iZXIuCisKK0lmIElOREVYIGxvb2tzIGxpa2UgXCJbQkVHSU5dLi5bRU5EXVwi LCB3aGVyZSBCRUdJTiBhbmQgRU5EIGxvb2sKK2xpa2UgaW50ZWdlcnMsIHJldHVybiBhIGNv bnMgY2VsbCBvZiBCRUdJTiBhbmQgRU5EIGFzIG51bWJlcnM7CitCRUdJTiBhbmQvb3IgRU5E IGNhbiBiZSBvbWl0dGVkIGhlcmUsIGluIHdoaWNoIGNhc2UgdGhlaXIgdmFsdWUKK2luIHRo ZSBjb25zIGlzIG5pbC4KKworT3RoZXJ3aXNlIChpbmNsdWRpbmcgaWYgSU5ERVggaXMgbm90 IGEgc3RyaW5nKSwgcmV0dXJuCit0aGUgb3JpZ2luYWwgdmFsdWUgb2YgSU5ERVguIgorICAo c2F2ZS1tYXRjaC1kYXRhCisgICAgKGNvbmQKKyAgICAgKChhbmQgKHN0cmluZ3AgaW5kZXgp IChnZXQtdGV4dC1wcm9wZXJ0eSAwICdudW1iZXIgaW5kZXgpKQorICAgICAgKHN0cmluZy10 by1udW1iZXIgaW5kZXgpKQorICAgICAoKGFuZCAoc3RyaW5ncCBpbmRleCkKKyAgICAgICAg ICAgKG5vdCAodGV4dC1wcm9wZXJ0eS1hbnkgMCAobGVuZ3RoIGluZGV4KSAnZXNjYXBlZCB0 IGluZGV4KSkKKyAgICAgICAgICAgKHN0cmluZy1tYXRjaCAocnggc3RyaW5nLXN0YXJ0Cisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChncm91cC1uIDEgKD8gKHJlZ2V4cCBlc2hl bGwtaW50ZWdlci1yZWdleHApKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi4u IgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZ3JvdXAtbiAyICg/IChyZWdleHAg ZXNoZWxsLWludGVnZXItcmVnZXhwKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHN0cmluZy1lbmQpCisgICAgICAgICAgICAgICAgICAgICAgICAgaW5kZXgpKQorICAgICAg KGxldCAoKGJlZ2luIChtYXRjaC1zdHJpbmcgMSBpbmRleCkpCisgICAgICAgICAgICAoZW5k IChtYXRjaC1zdHJpbmcgMiBpbmRleCkpKQorICAgICAgICAoY29ucyAodW5sZXNzIChzdHJp bmctZW1wdHktcCBiZWdpbikgKHN0cmluZy10by1udW1iZXIgYmVnaW4pKQorICAgICAgICAg ICAgICAodW5sZXNzIChzdHJpbmctZW1wdHktcCBlbmQpIChzdHJpbmctdG8tbnVtYmVyIGVu ZCkpKSkpCisgICAgICh0CisgICAgICBpbmRleCkpKSkKKwogKGRlZnVuIGVzaGVsbC1ldmFs LWluZGljZXMgKGluZGljZXMpCiAgICJFdmFsdWF0ZSBJTkRJQ0VTLCBhIGxpc3Qgb2YgaW5k ZXgtbGlzdHMgZ2VuZXJhdGVkIGJ5IGBlc2hlbGwtcGFyc2UtaW5kaWNlcycuIgogICAoZGVj bGFyZSAob2Jzb2xldGUgZXNoZWxsLXByZXBhcmUtaW5kaWNlcyAiMzAuMSIpKQpAQCAtNzE2 LDU2ICs3NDksNjUgQEAgZXNoZWxsLWFwcGx5LWluZGljZXMKICcvZXRjL3Bhc3N3ZCcsIHRo ZSB2YXJpYWJsZSByZWZlcmVuY2Ugd291bGQgbG9vayBsaWtlOgogCiAgICR7Z3JlcCBqb2hu dyAvZXRjL3Bhc3N3ZH1bOiAyXSIKLSAgKHdoaWxlIGluZGljZXMKLSAgICAobGV0ICgocmVm cyAoY2FyIGluZGljZXMpKSkKLSAgICAgICh3aGVuIChzdHJpbmdwIHZhbHVlKQotCShsZXQg KHNlcGFyYXRvciAoaW5kZXggKGNhYXIgaW5kaWNlcykpKQotICAgICAgICAgICh3aGVuIChh bmQgKHN0cmluZ3AgaW5kZXgpCi0gICAgICAgICAgICAgICAgICAgICAobm90IChnZXQtdGV4 dC1wcm9wZXJ0eSAwICdudW1iZXIgaW5kZXgpKSkKLSAgICAgICAgICAgIChzZXRxIHNlcGFy YXRvciBpbmRleAotICAgICAgICAgICAgICAgICAgcmVmcyAoY2RyIHJlZnMpKSkKLQkgIChz ZXRxIHZhbHVlIChzcGxpdC1zdHJpbmcgdmFsdWUgc2VwYXJhdG9yKSkKLSAgICAgICAgICAo dW5sZXNzIHF1b3RlZAotICAgICAgICAgICAgKHNldHEgdmFsdWUgKG1hcGNhciAjJ2VzaGVs bC1jb252ZXJ0LXRvLW51bWJlciB2YWx1ZSkpKSkpCi0gICAgICAoY29uZAotICAgICAgICgo PCAobGVuZ3RoIHJlZnMpIDApCi0JKGVycm9yICJJbnZhbGlkIGFycmF5IHZhcmlhYmxlIGlu ZGV4OiAlcyIKLQkgICAgICAgKGVzaGVsbC1zdHJpbmdpZnkgcmVmcykpKQotICAgICAgICgo PSAobGVuZ3RoIHJlZnMpIDEpCi0JKHNldHEgdmFsdWUgKGVzaGVsbC1pbmRleC12YWx1ZSB2 YWx1ZSAoY2FyIHJlZnMpKSkpCi0gICAgICAgKHQKLQkobGV0ICgobmV3LXZhbHVlIChsaXN0 IHQpKSkKLQkgICh3aGlsZSByZWZzCi0JICAgIChuY29uYyBuZXctdmFsdWUKLQkJICAgKGxp c3QgKGVzaGVsbC1pbmRleC12YWx1ZSB2YWx1ZQotCQkJCQkgICAgIChjYXIgcmVmcykpKSkK LQkgICAgKHNldHEgcmVmcyAoY2RyIHJlZnMpKSkKLQkgIChzZXRxIHZhbHVlIChjZHIgbmV3 LXZhbHVlKSkpKSkpCi0gICAgKHNldHEgaW5kaWNlcyAoY2RyIGluZGljZXMpKSkKLSAgdmFs dWUpCisgIChkb2xpc3QgKHJlZnMgaW5kaWNlcyB2YWx1ZSkKKyAgICA7OyBGb3Igc3RyaW5n IHZhbHVlcywgY2hlY2sgaWYgdGhlIGZpcnN0IGluZGV4IGxvb2tzIGxpa2UgYQorICAgIDs7 IHJlZ2V4cCwgYW5kIGlmIHNvLCB1c2UgdGhhdCB0byBzcGxpdCB0aGUgc3RyaW5nLgorICAg ICh3aGVuIChzdHJpbmdwIHZhbHVlKQorICAgICAgKGxldCAoc2VwYXJhdG9yIChmaXJzdCAo Y2FyIHJlZnMpKSkKKyAgICAgICAgKHdoZW4gKHN0cmluZ3AgKGVzaGVsbC1wYXJzZS1pbmRl eCBmaXJzdCkpCisgICAgICAgICAgKHNldHEgc2VwYXJhdG9yIGZpcnN0CisgICAgICAgICAg ICAgICAgcmVmcyAoY2RyIHJlZnMpKSkKKyAgICAgICAgKHNldHEgdmFsdWUgKHNwbGl0LXN0 cmluZyB2YWx1ZSBzZXBhcmF0b3IpKQorICAgICAgICAodW5sZXNzIHF1b3RlZAorICAgICAg ICAgIChzZXRxIHZhbHVlIChtYXBjYXIgIydlc2hlbGwtY29udmVydC10by1udW1iZXIgdmFs dWUpKSkpKQorICAgIChjb25kCisgICAgICgoPCAobGVuZ3RoIHJlZnMpIDApCisgICAgICAo ZXJyb3IgIkludmFsaWQgYXJyYXkgdmFyaWFibGUgaW5kZXg6ICVzIgorICAgICAgICAgICAg IChlc2hlbGwtc3RyaW5naWZ5IHJlZnMpKSkKKyAgICAgKCg9IChsZW5ndGggcmVmcykgMSkK KyAgICAgIChzZXRxIHZhbHVlIChlc2hlbGwtaW5kZXgtdmFsdWUgdmFsdWUgKGNhciByZWZz KSkpKQorICAgICAodAorICAgICAgKGxldCAobmV3LXZhbHVlKQorICAgICAgICAoZG9saXN0 IChyZWYgcmVmcykKKyAgICAgICAgICAocHVzaCAoZXNoZWxsLWluZGV4LXZhbHVlIHZhbHVl IHJlZikgbmV3LXZhbHVlKSkKKyAgICAgICAgKHNldHEgdmFsdWUgKG5yZXZlcnNlIG5ldy12 YWx1ZSkpKSkpKSkKKworKHBjYXNlLWRlZm1hY3JvIGVzaGVsbC1pbmRleC1yYW5nZSAoc3Rh cnQgZW5kKQorICAiQSBwYXR0ZXJuIHRoYXQgbWF0Y2hlcyBhbiBFc2hlbGwgaW5kZXggcmFu Z2UuCitFWFBWQUwgc2hvdWxkIGJlIGEgY29ucyBjZWxsLCB3aXRoIGVhY2ggc2xvdCBjb250 YWluaW5nIGVpdGhlciBhbgoraW50ZWdlciBvciBuaWwuICBJZiB0aGlzIG1hdGNoZXMsIGJp bmQgdGhlIHZhbHVlcyBvZiB0aGUgc2x0b3MgdG8KK1NUQVJUIGFuZCBFTkQuIgorICAobGlz dCAnXGAgKGNvbnMgKGxpc3QgJ1wsIGAoYW5kIChvciAocHJlZCBpbnRlZ2VycCkgKHByZWQg bnVsbCkpICxzdGFydCkpCisgICAgICAgICAgICAgICAgICAobGlzdCAnXCwgYChhbmQgKG9y IChwcmVkIGludGVnZXJwKSAocHJlZCBudWxsKSkgLGVuZCkpKSkpCiAKIChkZWZ1biBlc2hl bGwtaW5kZXgtdmFsdWUgKHZhbHVlIGluZGV4KQogICAiUmVmZXJlbmNlIFZBTFVFIHVzaW5n IHRoZSBnaXZlbiBJTkRFWC4iCi0gICh3aGVuIChhbmQgKHN0cmluZ3AgaW5kZXgpIChnZXQt dGV4dC1wcm9wZXJ0eSAwICdudW1iZXIgaW5kZXgpKQotICAgIChzZXRxIGluZGV4IChzdHJp bmctdG8tbnVtYmVyIGluZGV4KSkpCi0gIChpZiAoaW50ZWdlcnAgaW5kZXgpCi0gICAgICAo Y29uZAotICAgICAgICgocmluZy1wIHZhbHVlKQotICAgICAgICAoaWYgKD4gaW5kZXggKHJp bmctbGVuZ3RoIHZhbHVlKSkKLSAgICAgICAgICAgIChlcnJvciAiSW5kZXggZXhjZWVkcyBs ZW5ndGggb2YgcmluZyIpCi0gICAgICAgICAgKHJpbmctcmVmIHZhbHVlIGluZGV4KSkpCi0g ICAgICAgKChsaXN0cCB2YWx1ZSkKLSAgICAgICAgKGlmICg+IGluZGV4IChsZW5ndGggdmFs dWUpKQotICAgICAgICAgICAgKGVycm9yICJJbmRleCBleGNlZWRzIGxlbmd0aCBvZiBsaXN0 IikKLSAgICAgICAgICAobnRoIGluZGV4IHZhbHVlKSkpCi0gICAgICAgKCh2ZWN0b3JwIHZh bHVlKQotICAgICAgICAoaWYgKD4gaW5kZXggKGxlbmd0aCB2YWx1ZSkpCi0gICAgICAgICAg ICAoZXJyb3IgIkluZGV4IGV4Y2VlZHMgbGVuZ3RoIG9mIHZlY3RvciIpCi0gICAgICAgICAg KGFyZWYgdmFsdWUgaW5kZXgpKSkKLSAgICAgICAodAotICAgICAgICAoZXJyb3IgIkludmFs aWQgZGF0YSB0eXBlIGZvciBpbmRleGluZyIpKSkKLSAgICA7OyBJTkRFWCBpcyBzb21lIG5v bi1pbnRlZ2VyIHZhbHVlLCBzbyB0cmVhdCBWQUxVRSBhcyBhbiBhbGlzdC4KLSAgICAoY2Ry IChhc3NvYyBpbmRleCB2YWx1ZSkpKSkKKyAgKGxldCAoKHBhcnNlZC1pbmRleCAoZXNoZWxs LXBhcnNlLWluZGV4IGluZGV4KSkpCisgICAgKGlmIChyaW5nLXAgdmFsdWUpCisgICAgICAg IChwY2FzZSBwYXJzZWQtaW5kZXgKKyAgICAgICAgICAoKHByZWQgaW50ZWdlcnApCisgICAg ICAgICAgIChyaW5nLXJlZiB2YWx1ZSBwYXJzZWQtaW5kZXgpKQorICAgICAgICAgICgoZXNo ZWxsLWluZGV4LXJhbmdlIHN0YXJ0IGVuZCkKKyAgICAgICAgICAgKGxldCogKChsZW4gKHJp bmctbGVuZ3RoIHZhbHVlKSkKKyAgICAgICAgICAgICAgICAgIChyZWFsLXN0YXJ0IChtb2Qg KG9yIHN0YXJ0IDApIGxlbikpCisgICAgICAgICAgICAgICAgICAocmVhbC1lbmQgKG1vZCAo b3IgZW5kIGxlbikgbGVuKSkpCisgICAgICAgICAgICAgKHdoZW4gKGFuZCAoZXEgcmVhbC1l bmQgMCkKKyAgICAgICAgICAgICAgICAgICAgICAgIChub3QgKGVxIGVuZCAwKSkpCisgICAg ICAgICAgICAgICAoc2V0cSByZWFsLWVuZCBsZW4pKQorICAgICAgICAgICAgIChyaW5nLWNv bnZlcnQtc2VxdWVuY2UtdG8tcmluZworICAgICAgICAgICAgICAoc2VxLXN1YnNlcSAocmlu Zy1lbGVtZW50cyB2YWx1ZSkgcmVhbC1zdGFydCByZWFsLWVuZCkpKSkKKyAgICAgICAgICAo XworICAgICAgICAgICAoZXJyb3IgIkludmFsaWQgaW5kZXggZm9yIHJpbmc6ICVzIiBpbmRl eCkpKQorICAgICAgKHBjYXNlIHBhcnNlZC1pbmRleAorICAgICAgICAoKHByZWQgaW50ZWdl cnApCisgICAgICAgICAod2hlbiAoPCBwYXJzZWQtaW5kZXggMCkKKyAgICAgICAgICAgKHNl dHEgcGFyc2VkLWluZGV4ICgrIHBhcnNlZC1pbmRleCAobGVuZ3RoIHZhbHVlKSkpKQorICAg ICAgICAgKHNlcS1lbHQgdmFsdWUgcGFyc2VkLWluZGV4KSkKKyAgICAgICAgKChlc2hlbGwt aW5kZXgtcmFuZ2Ugc3RhcnQgZW5kKQorICAgICAgICAgKHNlcS1zdWJzZXEgdmFsdWUgKG9y IHN0YXJ0IDApIGVuZCkpCisgICAgICAgIChfCisgICAgICAgICA7OyBJTkRFWCBpcyBzb21l IG5vbi1pbnRlZ2VyIHZhbHVlLCBzbyB0cmVhdCBWQUxVRSBhcyBhbiBhbGlzdC4KKyAgICAg ICAgIChjZHIgKGFzc29jIHBhcnNlZC1pbmRleCB2YWx1ZSkpKSkpKSkKIAogOzs7XyogVmFy aWFibGUgbmFtZSBjb21wbGV0aW9uCiAKZGlmZiAtLWdpdCBhL3Rlc3QvbGlzcC9lc2hlbGwv ZXNoLXZhci10ZXN0cy5lbCBiL3Rlc3QvbGlzcC9lc2hlbGwvZXNoLXZhci10ZXN0cy5lbApp bmRleCAxMjQxMmQxMzY0MC4uNjc2N2Q5Mjg5ZjkgMTAwNjQ0Ci0tLSBhL3Rlc3QvbGlzcC9l c2hlbGwvZXNoLXZhci10ZXN0cy5lbAorKysgYi90ZXN0L2xpc3AvZXNoZWxsL2VzaC12YXIt dGVzdHMuZWwKQEAgLTcyLDUyICs3Miw4OSBAQCBlc2gtdmFyLXRlc3QvaW50ZXJwLWxpc3Qt dmFyLWNvbmNhdAogICAgIChlc2hlbGwtY29tbWFuZC1yZXN1bHQtZXF1YWwgImVjaG8gYSQn ZXNoZWxsLXRlc3QtdmFsdWUneiIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICcoImExIiAyICIzeiIpKSkpCiAKLShlcnQtZGVmdGVzdCBlc2gtdmFyLXRlc3QvaW50ZXJw LXZhci1pbmRpY2VzICgpCi0gICJJbnRlcnBvbGF0ZSBsaXN0IHZhcmlhYmxlIHdpdGggaW5k aWNlcyIKLSAgKGxldCAoKGVzaGVsbC10ZXN0LXZhbHVlICcoInplcm8iICJvbmUiICJ0d28i ICJ0aHJlZSIgImZvdXIiKSkpCisoZGVmdW4gZXNoLXZhci10ZXN0L2ludGVycC12YXItaW5k aWNlcyAoZnVuY3Rpb24gJm9wdGlvbmFsIHJhbmdlLWZ1bmN0aW9uKQorICAiVGVzdCBpbnRl cnBvbGF0aW9uIG9mIGFuIGluZGV4YWJsZSB2YWx1ZSB3aXRoIGluZGljZXMuCitGVU5DVElP TiBpcyBhIGZ1bmN0aW9uIHRoYXQgdGFrZXMgYSBsaXN0IG9mIGVsZW1lbnRzIGFuZCByZXR1 cm5zCit0aGUgb2JqZWN0IHRvIHRlc3QuCisKK1JBTkdFLUZVTkNUSU9OIGlzIGEgZnVuY3Rp b24gdGhhdCB0YWtlcyBhIGxpc3Qgb2YgZWxlbWVudHMgYW5kCityZXR1cm5zIHRoZSBleHBl Y3RlZCByZXN1bHQgb2YgYW4gaW5kZXggcmFuZ2UgZm9yIHRoZSBvYmplY3Q7IGlmCituaWws IHVzZSBGVU5DVElPTiBpbnN0ZWFkLiIKKyAgKGxldCAoKGVzaGVsbC10ZXN0LXZhbHVlCisg ICAgICAgICAoZnVuY2FsbCBmdW5jdGlvbiAnKCJ6ZXJvIiAib25lIiAidHdvIiAidGhyZWUi ICJmb3VyIikpKQorICAgICAgICAocmFuZ2UtZnVuY3Rpb24gKG9yIHJhbmdlLWZ1bmN0aW9u IGZ1bmN0aW9uKSkpCisgICAgOzsgUG9zaXRpdmUgaW5kaWNlcwogICAgIChlc2hlbGwtY29t bWFuZC1yZXN1bHQtZXF1YWwgImVjaG8gJGVzaGVsbC10ZXN0LXZhbHVlWzBdIgogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgInplcm8iKQogICAgIChlc2hlbGwtY29tbWFu ZC1yZXN1bHQtZXF1YWwgImVjaG8gJGVzaGVsbC10ZXN0LXZhbHVlWzAgMl0iCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAnKCJ6ZXJvIiAidHdvIikpCiAgICAgKGVzaGVs bC1jb21tYW5kLXJlc3VsdC1lcXVhbCAiZWNobyAkZXNoZWxsLXRlc3QtdmFsdWVbMCAyIDRd IgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJygiemVybyIgInR3byIgImZv dXIiKSkpKQotCi0oZXJ0LWRlZnRlc3QgZXNoLXZhci10ZXN0L2ludGVycC12YXItaW5kaWNl cy1zdWJjb21tYW5kICgpCi0gICJJbnRlcnBvbGF0ZSBsaXN0IHZhcmlhYmxlIHdpdGggc3Vi Y29tbWFuZCBleHBhbnNpb24gZm9yIGluZGljZXMuIgotICAoc2tpcC11bmxlc3MgKGV4ZWN1 dGFibGUtZmluZCAiZWNobyIpKQotICAobGV0ICgoZXNoZWxsLXRlc3QtdmFsdWUgJygiemVy byIgIm9uZSIgInR3byIgInRocmVlIiAiZm91ciIpKSkKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICcoInplcm8iICJ0d28iICJmb3VyIikpCisgICAgOzsgTmVnYXRpdmUg aW5kaWNlcworICAgIChlc2hlbGwtY29tbWFuZC1yZXN1bHQtZXF1YWwgImVjaG8gJGVzaGVs bC10ZXN0LXZhbHVlWy0xXSIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJm b3VyIikKKyAgICAoZXNoZWxsLWNvbW1hbmQtcmVzdWx0LWVxdWFsICJlY2hvICRlc2hlbGwt dGVzdC12YWx1ZVstMSAtM10iCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn KCJmb3VyIiAidHdvIikpCisgICAgOzsgSW5kZXggcmFuZ2VzCiAgICAgKGVzaGVsbC1jb21t YW5kLXJlc3VsdC1lcXVhbAotICAgICAiZWNobyAkZXNoZWxsLXRlc3QtdmFsdWVbJHsqZWNo byAwfV0iCi0gICAgICJ6ZXJvIikKKyAgICAgImVjaG8gJGVzaGVsbC10ZXN0LXZhbHVlWzEu LjRdIgorICAgICAoZnVuY2FsbCByYW5nZS1mdW5jdGlvbiAnKCJvbmUiICJ0d28iICJ0aHJl ZSIpKSkKICAgICAoZXNoZWxsLWNvbW1hbmQtcmVzdWx0LWVxdWFsCi0gICAgICJlY2hvICRl c2hlbGwtdGVzdC12YWx1ZVskeyplY2hvIDB9ICR7KmVjaG8gMn1dIgotICAgICAnKCJ6ZXJv IiAidHdvIikpKSkKKyAgICAgImVjaG8gJGVzaGVsbC10ZXN0LXZhbHVlWy4uMl0iCisgICAg IChmdW5jYWxsIHJhbmdlLWZ1bmN0aW9uICcoInplcm8iICJvbmUiKSkpCisgICAgKGVzaGVs bC1jb21tYW5kLXJlc3VsdC1lcXVhbAorICAgICAiZWNobyAkZXNoZWxsLXRlc3QtdmFsdWVb LTIuLl0iCisgICAgIChmdW5jYWxsIHJhbmdlLWZ1bmN0aW9uICcoInRocmVlIiAiZm91ciIp KSkKKyAgICAoZXNoZWxsLWNvbW1hbmQtcmVzdWx0LWVxdWFsCisgICAgICJlY2hvICRlc2hl bGwtdGVzdC12YWx1ZVsuLl0iCisgICAgIChmdW5jYWxsIHJhbmdlLWZ1bmN0aW9uICcoInpl cm8iICJvbmUiICJ0d28iICJ0aHJlZSIgImZvdXIiKSkpCisgICAgKGVzaGVsbC1jb21tYW5k LXJlc3VsdC1lcXVhbAorICAgICAiZWNobyAkZXNoZWxsLXRlc3QtdmFsdWVbMS4uNCAtMi4u XSIKKyAgICAgKGxpc3QgKGZ1bmNhbGwgcmFuZ2UtZnVuY3Rpb24gJygib25lIiAidHdvIiAi dGhyZWUiKSkKKyAgICAgICAgICAgKGZ1bmNhbGwgcmFuZ2UtZnVuY3Rpb24gJygidGhyZWUi ICJmb3VyIikpKSkpKQorCisoZXJ0LWRlZnRlc3QgZXNoLXZhci10ZXN0L2ludGVycC12YXIt aW5kaWNlcy9saXN0ICgpCisgICJJbnRlcnBvbGF0ZSBsaXN0IHZhcmlhYmxlIHdpdGggaW5k aWNlcy4iCisgIChlc2gtdmFyLXRlc3QvaW50ZXJwLXZhci1pbmRpY2VzICMnaWRlbnRpdHkp KQorCisoZXJ0LWRlZnRlc3QgZXNoLXZhci10ZXN0L2ludGVycC12YXItaW5kaWNlcy92ZWN0 b3IgKCkKKyAgIkludGVycG9sYXRlIHZlY3RvciB2YXJpYWJsZSB3aXRoIGluZGljZXMuIgor ICAoZXNoLXZhci10ZXN0L2ludGVycC12YXItaW5kaWNlcyAjJ3Zjb25jYXQpKQogCi0oZXJ0 LWRlZnRlc3QgZXNoLXZhci10ZXN0L2ludGVycC12YXItc3BsaXQtaW5kaWNlcyAoKQorKGVy dC1kZWZ0ZXN0IGVzaC12YXItdGVzdC9pbnRlcnAtdmFyLWluZGljZXMvcmluZyAoKQorICAi SW50ZXJwb2xhdGUgcmluZyB2YXJpYWJsZSB3aXRoIGluZGljZXMuIgorICAoZXNoLXZhci10 ZXN0L2ludGVycC12YXItaW5kaWNlcyAjJ3JpbmctY29udmVydC1zZXF1ZW5jZS10by1yaW5n KSkKKworKGVydC1kZWZ0ZXN0IGVzaC12YXItdGVzdC9pbnRlcnAtdmFyLWluZGljZXMvc3Bs aXQgKCkKICAgIkludGVycG9sYXRlIHN0cmluZyB2YXJpYWJsZSB3aXRoIGluZGljZXMuIgot ICAobGV0ICgoZXNoZWxsLXRlc3QtdmFsdWUgInplcm8gb25lIHR3byB0aHJlZSBmb3VyIikp Ci0gICAgKGVzaGVsbC1jb21tYW5kLXJlc3VsdC1lcXVhbCAiZWNobyAkZXNoZWxsLXRlc3Qt dmFsdWVbMF0iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiemVybyIpCi0g ICAgKGVzaGVsbC1jb21tYW5kLXJlc3VsdC1lcXVhbCAiZWNobyAkZXNoZWxsLXRlc3QtdmFs dWVbMCAyXSIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcoInplcm8iICJ0 d28iKSkKLSAgICAoZXNoZWxsLWNvbW1hbmQtcmVzdWx0LWVxdWFsICJlY2hvICRlc2hlbGwt dGVzdC12YWx1ZVswIDIgNF0iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAn KCJ6ZXJvIiAidHdvIiAiZm91ciIpKSkpCisgIChlc2gtdmFyLXRlc3QvaW50ZXJwLXZhci1p bmRpY2VzCisgICAobGFtYmRhICh2YWx1ZXMpIChzdHJpbmctam9pbiB2YWx1ZXMgIiAiKSkK KyAgICMnaWRlbnRpdHkpKQogCiAoZXJ0LWRlZnRlc3QgZXNoLXZhci10ZXN0L2ludGVycC12 YXItc3RyaW5nLXNwbGl0LWluZGljZXMgKCkKICAgIkludGVycG9sYXRlIHN0cmluZyB2YXJp YWJsZSB3aXRoIHN0cmluZyBzcGxpdHRlciBhbmQgaW5kaWNlcy4iCisgIDs7IFRlc3QgdXNp bmcgcHVuY3R1YXRpb24gYXMgYSBkZWxpbWl0ZXIuCiAgIChsZXQgKChlc2hlbGwtdGVzdC12 YWx1ZSAiemVybzpvbmU6dHdvOnRocmVlOmZvdXIiKSkKICAgICAoZXNoZWxsLWNvbW1hbmQt cmVzdWx0LWVxdWFsICJlY2hvICRlc2hlbGwtdGVzdC12YWx1ZVs6IDBdIgogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgInplcm8iKQogICAgIChlc2hlbGwtY29tbWFuZC1y ZXN1bHQtZXF1YWwgImVjaG8gJGVzaGVsbC10ZXN0LXZhbHVlWzogMCAyXSIKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICcoInplcm8iICJ0d28iKSkpCisgIDs7IFRlc3Qg dXNpbmcgYSBsZXR0ZXIgYXMgYSBkZWxpbWl0ZXIuCiAgIChsZXQgKChlc2hlbGwtdGVzdC12 YWx1ZSAiemVyb1hvbmVYdHdvWHRocmVlWGZvdXIiKSkKICAgICAoZXNoZWxsLWNvbW1hbmQt cmVzdWx0LWVxdWFsICJlY2hvICRlc2hlbGwtdGVzdC12YWx1ZVtYIDBdIgogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgInplcm8iKQogICAgIChlc2hlbGwtY29tbWFuZC1y ZXN1bHQtZXF1YWwgImVjaG8gJGVzaGVsbC10ZXN0LXZhbHVlW1ggMCAyXSIKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICcoInplcm8iICJ0d28iKSkpCisgIDs7IFRlc3Qg dXNpbmcgYSBudW1iZXIgYXMgYSBkZWxpbWl0ZXIuCisgIChsZXQgKChlc2hlbGwtdGVzdC12 YWx1ZSAiemVybzBvbmUwdHdvMHRocmVlMGZvdXIiKSkKKyAgICAoZXNoZWxsLWNvbW1hbmQt cmVzdWx0LWVxdWFsICJlY2hvICRlc2hlbGwtdGVzdC12YWx1ZVtcIjBcIiAwXSIKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJ6ZXJvIikKKyAgICAoZXNoZWxsLWNvbW1h bmQtcmVzdWx0LWVxdWFsICJlY2hvICRlc2hlbGwtdGVzdC12YWx1ZVtcIjBcIiAwIDJdIgog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJygiemVybyIgInR3byIpKSkpCiAK IChlcnQtZGVmdGVzdCBlc2gtdmFyLXRlc3QvaW50ZXJwLXZhci1yZWdleHAtc3BsaXQtaW5k aWNlcyAoKQogICAiSW50ZXJwb2xhdGUgc3RyaW5nIHZhcmlhYmxlIHdpdGggcmVnZXhwIHNw bGl0dGVyIGFuZCBpbmRpY2VzLiIKKyAgOzsgVGVzdCB1c2luZyBhIHJlZ2V4cCBhcyBhIGRl bGltaXRlci4KICAgKGxldCAoKGVzaGVsbC10ZXN0LXZhbHVlICJ6ZXJvOm9uZSF0d286dGhy ZWUhZm91ciIpKQogICAgIChlc2hlbGwtY29tbWFuZC1yZXN1bHQtZXF1YWwgImVjaG8gJGVz aGVsbC10ZXN0LXZhbHVlWydbOiFdJyAwXSIKICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICJ6ZXJvIikKQEAgLTEyNiwxNSArMTYzLDM0IEBAIGVzaC12YXItdGVzdC9pbnRl cnAtdmFyLXJlZ2V4cC1zcGxpdC1pbmRpY2VzCiAgICAgKGVzaGVsbC1jb21tYW5kLXJlc3Vs dC1lcXVhbCAiZWNobyAkZXNoZWxsLXRlc3QtdmFsdWVbXCJbOiFdXCIgMF0iCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAiemVybyIpCiAgICAgKGVzaGVsbC1jb21tYW5k LXJlc3VsdC1lcXVhbCAiZWNobyAkZXNoZWxsLXRlc3QtdmFsdWVbXCJbOiFdXCIgMCAyXSIK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcoInplcm8iICJ0d28iKSkpCisg IDs7IFRlc3QgdXNpbmcgYSByZWdleHAgdGhhdCBsb29rcyBsaWtlIHJhbmdlIHN5bnRheCBh cyBhIGRlbGltaXRlci4KKyAgKGxldCAoKGVzaGVsbC10ZXN0LXZhbHVlICJ6ZXJvMC4uMG9u ZTAuLjB0d28wLi4wdGhyZWUwLi4wZm91ciIpKQorICAgIChlc2hlbGwtY29tbWFuZC1yZXN1 bHQtZXF1YWwgImVjaG8gJGVzaGVsbC10ZXN0LXZhbHVlW1wiMC4uMFwiIDBdIgorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgInplcm8iKQorICAgIChlc2hlbGwtY29tbWFu ZC1yZXN1bHQtZXF1YWwgImVjaG8gJGVzaGVsbC10ZXN0LXZhbHVlW1wiMC4uMFwiIDAgMl0i CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnKCJ6ZXJvIiAidHdvIikpKSkK IAogKGVydC1kZWZ0ZXN0IGVzaC12YXItdGVzdC9pbnRlcnAtdmFyLWFzc29jICgpCiAgICJJ bnRlcnBvbGF0ZSBhbGlzdCB2YXJpYWJsZSB3aXRoIGluZGV4LiIKLSAgKGxldCAoKGVzaGVs bC10ZXN0LXZhbHVlICcoKCJmb28iIC4gMSkgKGJhciAuIDIpKSkpCisgIChsZXQgKChlc2hl bGwtdGVzdC12YWx1ZSAnKCgiZm9vIiAuIDEpIChiYXIgLiAyKSAoIjMiIC4gInRocmVlIikp KSkKICAgICAoZXNoZWxsLWNvbW1hbmQtcmVzdWx0LWVxdWFsICJlY2hvICRlc2hlbGwtdGVz dC12YWx1ZVtmb29dIgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSkKICAg ICAoZXNoZWxsLWNvbW1hbmQtcmVzdWx0LWVxdWFsICJlY2hvICRlc2hlbGwtdGVzdC12YWx1 ZVsjJ2Jhcl0iCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyKSkpCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyKQorICAgIChlc2hlbGwtY29tbWFuZC1y ZXN1bHQtZXF1YWwgImVjaG8gJGVzaGVsbC10ZXN0LXZhbHVlW1wiM1wiXSIKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICJ0aHJlZSIpKSkKKworKGVydC1kZWZ0ZXN0IGVz aC12YXItdGVzdC9pbnRlcnAtdmFyLWluZGljZXMtc3ViY29tbWFuZCAoKQorICAiSW50ZXJw b2xhdGUgbGlzdCB2YXJpYWJsZSB3aXRoIHN1YmNvbW1hbmQgZXhwYW5zaW9uIGZvciBpbmRp Y2VzLiIKKyAgKHNraXAtdW5sZXNzIChleGVjdXRhYmxlLWZpbmQgImVjaG8iKSkKKyAgKGxl dCAoKGVzaGVsbC10ZXN0LXZhbHVlICcoInplcm8iICJvbmUiICJ0d28iICJ0aHJlZSIgImZv dXIiKSkpCisgICAgKGVzaGVsbC1jb21tYW5kLXJlc3VsdC1lcXVhbAorICAgICAiZWNobyAk ZXNoZWxsLXRlc3QtdmFsdWVbJHsqZWNobyAwfV0iCisgICAgICJ6ZXJvIikKKyAgICAoZXNo ZWxsLWNvbW1hbmQtcmVzdWx0LWVxdWFsCisgICAgICJlY2hvICRlc2hlbGwtdGVzdC12YWx1 ZVskeyplY2hvIDB9ICR7KmVjaG8gMn1dIgorICAgICAnKCJ6ZXJvIiAidHdvIikpKSkKIAog KGVydC1kZWZ0ZXN0IGVzaC12YXItdGVzdC9pbnRlcnAtdmFyLWxlbmd0aC1saXN0ICgpCiAg ICJJbnRlcnBvbGF0ZSBsZW5ndGggb2YgbGlzdCB2YXJpYWJsZS4iCi0tIAoyLjI1LjEKCg== --------------3MSg5M4gmD80NNSLx6dCDcAB-- ------------=_1674872162-28435-1--