From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Michael Hoffman Newsgroups: gmane.emacs.bugs Subject: bug#11919: 24.1; term-emulate-term does not process bash's Ctrl-Z signal of directory name when an AnSi message is present Date: Mon, 23 Jan 2017 14:24:28 -0500 Message-ID: References: <26119-1485194282-859484@sneakemail.com> <83ziih3aic.fsf@gnu.org> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: multipart/alternative; boundary=001a1148f03af9b2840546c7f326 X-Trace: blaine.gmane.org 1485199670 6685 195.159.176.226 (23 Jan 2017 19:27:50 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Mon, 23 Jan 2017 19:27:50 +0000 (UTC) Cc: 11919@debbugs.gnu.org, Michael Hoffman To: "Eli Zaretskii eliz-at-gnu.org |gmane3-hoffman|" <0wdp3p2xrt@sneakemail.com> Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Mon Jan 23 20:27:45 2017 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cVkH9-0000cD-3M for geb-bug-gnu-emacs@m.gmane.org; Mon, 23 Jan 2017 20:27:35 +0100 Original-Received: from localhost ([::1]:44037 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cVkHE-00034j-9M for geb-bug-gnu-emacs@m.gmane.org; Mon, 23 Jan 2017 14:27:40 -0500 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:59189) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cVkEl-0000xj-NA for bug-gnu-emacs@gnu.org; Mon, 23 Jan 2017 14:25:13 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cVkEg-0000Eg-Uc for bug-gnu-emacs@gnu.org; Mon, 23 Jan 2017 14:25:07 -0500 Original-Received: from debbugs.gnu.org ([208.118.235.43]:41214) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cVkEg-0000Ec-Rf for bug-gnu-emacs@gnu.org; Mon, 23 Jan 2017 14:25:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1cVkEg-0006lj-JQ for bug-gnu-emacs@gnu.org; Mon, 23 Jan 2017 14:25:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Michael Hoffman Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 23 Jan 2017 19:25:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 11919 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 11919-submit@debbugs.gnu.org id=B11919.148519949726002 (code B ref 11919); Mon, 23 Jan 2017 19:25:02 +0000 Original-Received: (at 11919) by debbugs.gnu.org; 23 Jan 2017 19:24:57 +0000 Original-Received: from localhost ([127.0.0.1]:39413 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cVkEb-0006lK-FI for submit@debbugs.gnu.org; Mon, 23 Jan 2017 14:24:57 -0500 Original-Received: from mail-wm0-f46.google.com ([74.125.82.46]:34959) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1cVkEZ-0006l5-31 for 11919@debbugs.gnu.org; Mon, 23 Jan 2017 14:24:55 -0500 Original-Received: by mail-wm0-f46.google.com with SMTP id r126so148829811wmr.0 for <11919@debbugs.gnu.org>; Mon, 23 Jan 2017 11:24:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:sender:in-reply-to:references:from:date:message-id :subject:to:cc; bh=ffpcrwz64ZKWG2UEBlbRjzv/fK2mMgWVVhKjnlwpRo4=; b=pD/3GpB7D4q+0m/9E3VwTi6md5fnmJLoiGHzBQJkzWTGqAhbPy/vmAGZ1F5J3oRPig XO8TePRX2WIAXM9+WM0nYicXC6sczjDdgKZnV1pXuonXpZZutYGbX0FOKbjAQtBQwzbH 5vLN/a64tglqonswvA72c9WyXA91hkKAoap8EXQg/eYHi6YO68Wu/dgh4py0G73s1zsx nPFnQup4pZOy7jmwaIu4VddTJGoybgh2wp+nOh+VzHcx8x6dDIL8Ht7colgGrIcI54Uo fgHh4RVYRaKH/kbn/7IHxWt78/3BL11PoaW1+tZzP4H3GsECwtWyYXZq60XCD7iEtKpw RpNg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:sender:in-reply-to:references:from :date:message-id:subject:to:cc; bh=ffpcrwz64ZKWG2UEBlbRjzv/fK2mMgWVVhKjnlwpRo4=; b=GAGA/kj0L8YMLXTFBDp7e+t9qO6ulC+NuoNfJDf8SETZpqUYCumGnI05/ixlKR8LOR Flj1kUq25RY9CflXq/AfC7kX7qGxhWfBWcmRLnhE8aimg6h0IR0/gjy7cQGjp5FSZD7K WsBxSLKUsauqgflQ093IXecMKQr1UidbuNZj1zCalDxKDqx5wNR9hAPhG/z5lgCVr1ew Eqw7y4DJHRUoam7dSqI4m54Mud3oa7OK/bVyGjn9jMY7qRSLtVTyo/GYPLXyzrMcs5S6 FzKz20xNdDQZb522VnKwi7VaJylwp3T1jZjpxLe4PyYKy9KWYc6+xT2vVSghcWqx/pZo U/gw== X-Gm-Message-State: AIkVDXLxLxtF4bYWOBecIRFWhsL5yF9/A8720SsIZVdVdVSFHQiZQJPyGKJVMs2PNDQOTRVjUvqoySENpbUs8Q== X-Received: by 10.28.96.130 with SMTP id u124mr16412182wmb.81.1485199489212; Mon, 23 Jan 2017 11:24:49 -0800 (PST) Original-Received: by 10.195.12.225 with HTTP; Mon, 23 Jan 2017 11:24:28 -0800 (PST) In-Reply-To: <83ziih3aic.fsf@gnu.org> X-Google-Sender-Auth: wKGPi-IMcA_WYtwCVQShF3_Cgro X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:128340 Archived-At: --001a1148f03af9b2840546c7f326 Content-Type: text/plain; charset=UTF-8 On Mon, Jan 23, 2017 at 1:18 PM, Eli Zaretskii eliz-at-gnu.org |gmane3-hoffman| <0wdp3p2xrt@sneakemail.com> wrote: > > From: "Michael Hoffman" > > Date: Mon, 23 Jan 2017 12:54:10 -0500 > > > > I have located the original commit that added the `handled-ansi-message` > > behavior: > > https://github.com/emacs-mirror/emacs/commit/59be5828de98814 > b8aa32718bf2b6196db085db1 > > > > Eli Zaretskii added it to "Let term-handle-ansi-terminal-messages > > override what Bash says about its current directory." > > I was just committing someone else's patch in that case. > Please accept my apologies. > See these messages in the archives for the reason why that change was > done: > > https://lists.gnu.org/archive/html/emacs-pretest-bug/2005-11 > /msg00020.html > https://lists.gnu.org/archive/html/emacs-pretest-bug/2005-11 > /msg00103.html > https://lists.gnu.org/archive/html/emacs-pretest-bug/2005-12 > /msg00089.html > > If you can propose changes that solve this issue without > re-introducing that one, please do. > The below patch eliminates the garbage printing while maintaining the behavior added in 2005 of having `handled-ansi-message` preventing any updates to `default-directory` based on a \032 escape. mhoffman@mhoffman2 ~/share/emacs/25.1/lisp $ diff -u <(zcat term.el.gz) term.el --- /dev/fd/63 2017-01-23 14:13:55.948963291 -0500 +++ term.el 2017-01-23 14:11:43.903830242 -0500 @@ -2869,15 +2869,16 @@ ((eq char ?\017)) ; Shift In - ignored ((eq char ?\^G) ;; (terminfo: bel) (beep t)) - ((and (eq char ?\032) - (not handled-ansi-message)) + ((eq char ?\032) (let ((end (string-match "\r?$" str i))) (if end - (funcall term-command-hook - (decode-coding-string - (prog1 (substring str (1+ i) end) - (setq i (match-end 0))) - locale-coding-system)) + (progn + (unless handled-ansi-message + (funcall term-command-hook + (decode-coding-string + (substring str (1+ i) end) + locale-coding-system))) + (setq i (match-end 0))) (setq term-terminal-parameter (substring str i)) (setq term-terminal-state 4) (setq i str-length)))) ==== ChangeLog: 2017-01-23 Michael Hoffman * term.el (term-emulate-terminal): fix bug#11919: do not display ?\032 escape codes even when `handled-ansi-message` is true --001a1148f03af9b2840546c7f326 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: base64 PGRpdiBkaXI9Imx0ciI+PGRpdiBjbGFzcz0iZ21haWxfZXh0cmEiPjxkaXYgY2xhc3M9ImdtYWls X3F1b3RlIj5PbiBNb24sIEphbiAyMywgMjAxNyBhdCAxOjE4IFBNLCBFbGkgWmFyZXRza2lpIDxh IGhyZWY9Imh0dHA6Ly9lbGl6LWF0LWdudS5vcmciIHRhcmdldD0iX2JsYW5rIj5lbGl6LWF0LWdu dS5vcmc8L2E+IHxnbWFuZTMtaG9mZm1hbnwgPHNwYW4gZGlyPSJsdHIiPiZsdDs8YSBocmVmPSJt YWlsdG86MHdkcDNwMnhydEBzbmVha2VtYWlsLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPjB3ZHAzcDJ4 cnRAc25lYWtlbWFpbC5jb208L2E+Jmd0Ozwvc3Bhbj4gd3JvdGU6PGJyPjxibG9ja3F1b3RlIHN0 eWxlPSJtYXJnaW46MHB4IDBweCAwcHggMC44ZXg7Ym9yZGVyLWxlZnQ6MXB4IHNvbGlkIHJnYigy MDQsMjA0LDIwNCk7cGFkZGluZy1sZWZ0OjFleCIgY2xhc3M9ImdtYWlsX3F1b3RlIj4mZ3Q7IEZy b206ICZxdW90O01pY2hhZWwgSG9mZm1hbiZxdW90OyAmbHQ7PGEgaHJlZj0ibWFpbHRvOmdtYW5l My1ob2ZmbWFuQHNua21haWwuY29tIiB0YXJnZXQ9Il9ibGFuayI+Z21hbmUzLWhvZmZtYW5Ac25r bWFpbC5jb208L2E+Jmd0Ozxicj4NCiZndDsgRGF0ZTogTW9uLCAyMyBKYW4gMjAxNyAxMjo1NDox MCAtMDUwMDxicj4NCiZndDs8YnI+DQomZ3Q7IEkgaGF2ZSBsb2NhdGVkIHRoZSBvcmlnaW5hbCBj b21taXQgdGhhdCBhZGRlZCB0aGUgYGhhbmRsZWQtYW5zaS1tZXNzYWdlYDxicj4NCiZndDsgYmVo YXZpb3I6PGJyPg0KJmd0OyA8YSByZWw9Im5vcmVmZXJyZXIiIGhyZWY9Imh0dHBzOi8vZ2l0aHVi LmNvbS9lbWFjcy1taXJyb3IvZW1hY3MvY29tbWl0LzU5YmU1ODI4ZGU5ODgxNGI4YWEzMjcxOGJm MmI2MTk2ZGIwODVkYjEiIHRhcmdldD0iX2JsYW5rIj5odHRwczovL2dpdGh1Yi5jb20vZW1hY3Mt bWlycm88d2JyPnIvZW1hY3MvY29tbWl0LzU5YmU1ODI4ZGU5ODgxNDx3YnI+YjhhYTMyNzE4YmYy YjYxOTZkYjA4NWRiMTwvYT48YnI+DQomZ3Q7PGJyPg0KJmd0OyBFbGkgWmFyZXRza2lpIGFkZGVk IGl0IHRvICZxdW90O0xldCB0ZXJtLWhhbmRsZS1hbnNpLXRlcm1pbmFsLW1lc3M8d2JyPmFnZXM8 YnI+DQomZ3Q7IG92ZXJyaWRlIHdoYXQgQmFzaCBzYXlzIGFib3V0IGl0cyBjdXJyZW50IGRpcmVj dG9yeS4mcXVvdDs8YnI+DQo8YnI+DQpJIHdhcyBqdXN0IGNvbW1pdHRpbmcgc29tZW9uZSBlbHNl JiMzOTtzIHBhdGNoIGluIHRoYXQgY2FzZS48YnI+PC9ibG9ja3F1b3RlPjxkaXY+PGJyPjwvZGl2 PjxkaXY+UGxlYXNlIGFjY2VwdCBteSBhcG9sb2dpZXMuPGJyPjwvZGl2PjxkaXY+wqA8L2Rpdj48 YmxvY2txdW90ZSBzdHlsZT0ibWFyZ2luOjBweCAwcHggMHB4IDAuOGV4O2JvcmRlci1sZWZ0OjFw eCBzb2xpZCByZ2IoMjA0LDIwNCwyMDQpO3BhZGRpbmctbGVmdDoxZXgiIGNsYXNzPSJnbWFpbF9x dW90ZSI+DQoNClNlZSB0aGVzZSBtZXNzYWdlcyBpbiB0aGUgYXJjaGl2ZXMgZm9yIHRoZSByZWFz b24gd2h5IHRoYXQgY2hhbmdlIHdhczxicj4NCmRvbmU6PGJyPg0KPGJyPg0KwqAgPGEgcmVsPSJu b3JlZmVycmVyIiBocmVmPSJodHRwczovL2xpc3RzLmdudS5vcmcvYXJjaGl2ZS9odG1sL2VtYWNz LXByZXRlc3QtYnVnLzIwMDUtMTEvbXNnMDAwMjAuaHRtbCIgdGFyZ2V0PSJfYmxhbmsiPmh0dHBz Oi8vbGlzdHMuZ251Lm9yZy9hcmNoaXZlLzx3YnI+aHRtbC9lbWFjcy1wcmV0ZXN0LWJ1Zy8yMDA1 LTExPHdicj4vbXNnMDAwMjAuaHRtbDwvYT48YnI+DQrCoCA8YSByZWw9Im5vcmVmZXJyZXIiIGhy ZWY9Imh0dHBzOi8vbGlzdHMuZ251Lm9yZy9hcmNoaXZlL2h0bWwvZW1hY3MtcHJldGVzdC1idWcv MjAwNS0xMS9tc2cwMDEwMy5odG1sIiB0YXJnZXQ9Il9ibGFuayI+aHR0cHM6Ly9saXN0cy5nbnUu b3JnL2FyY2hpdmUvPHdicj5odG1sL2VtYWNzLXByZXRlc3QtYnVnLzIwMDUtMTE8d2JyPi9tc2cw MDEwMy5odG1sPC9hPjxicj4NCsKgIDxhIHJlbD0ibm9yZWZlcnJlciIgaHJlZj0iaHR0cHM6Ly9s aXN0cy5nbnUub3JnL2FyY2hpdmUvaHRtbC9lbWFjcy1wcmV0ZXN0LWJ1Zy8yMDA1LTEyL21zZzAw MDg5Lmh0bWwiIHRhcmdldD0iX2JsYW5rIj5odHRwczovL2xpc3RzLmdudS5vcmcvYXJjaGl2ZS88 d2JyPmh0bWwvZW1hY3MtcHJldGVzdC1idWcvMjAwNS0xMjx3YnI+L21zZzAwMDg5Lmh0bWw8L2E+ PGJyPg0KPGJyPg0KSWYgeW91IGNhbiBwcm9wb3NlIGNoYW5nZXMgdGhhdCBzb2x2ZSB0aGlzIGlz c3VlIHdpdGhvdXQ8YnI+DQpyZS1pbnRyb2R1Y2luZyB0aGF0IG9uZSwgcGxlYXNlIGRvLjxicj48 L2Jsb2NrcXVvdGU+PGRpdj48YnI+PC9kaXY+PGRpdj5UaGUgYmVsb3cgcGF0Y2ggZWxpbWluYXRl cyB0aGUgZ2FyYmFnZSBwcmludGluZyB3aGlsZSBtYWludGFpbmluZyB0aGUgYmVoYXZpb3IgYWRk ZWQgaW4gMjAwNSBvZiBoYXZpbmcgYGhhbmRsZWQtYW5zaS1tZXNzYWdlYCBwcmV2ZW50aW5nIGFu eSB1cGRhdGVzIHRvIGBkZWZhdWx0LWRpcmVjdG9yeWAgYmFzZWQgb24gYSBcMDMyIGVzY2FwZS48 YnI+PC9kaXY+PGRpdj48YnI+bWhvZmZtYW5AbWhvZmZtYW4yIH4vc2hhcmUvZW1hY3MvMjUuMS9s aXNwPGJyPiQgZGlmZiAtdSAmbHQ7KHpjYXQgdGVybS5lbC5neikgdGVybS5lbDxicj4tLS0gL2Rl di9mZC82M8KgIDIwMTctMDEtMjMgMTQ6MTM6NTUuOTQ4OTYzMjkxIC0wNTAwPGJyPisrKyB0ZXJt LmVswqDCoMKgwqAgMjAxNy0wMS0yMyAxNDoxMTo0My45MDM4MzAyNDIgLTA1MDA8YnI+QEAgLTI4 NjksMTUgKzI4NjksMTYgQEA8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgICgoZXEgY2hhciA/XDAxNykpwqDCoMKgwqAgOyBTaGlmdCBJbiAtIGlnbm9y ZWQ8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICgo ZXEgY2hhciA/XF5HKSA7OyAodGVybWluZm86IGJlbCk8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKGJlZXAgdCkpPGJyPi3CoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICgoYW5kIChlcSBjaGFyID9cMDMyKTxi cj4twqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoDx3YnI+wqAgKG5vdCBoYW5kbGVkLWFuc2ktbWVzc2FnZSkpPGJyPivCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICgoZXEgY2hhciA/XDAzMik8YnI+wqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKGxldCAoKGVu ZCAoc3RyaW5nLW1hdGNoICZxdW90O1xyPyQmcXVvdDsgc3RyIGkpKSk8YnI+wqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIChpZiBlbmQ8YnI+LcKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqA8 d2JyPsKgIChmdW5jYWxsIHRlcm0tY29tbWFuZC1ob29rPGJyPi3CoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgPHdicj7CoMKgwqDCoMKgwqDC oMKgwqDCoCAoZGVjb2RlLWNvZGluZy1zdHJpbmc8YnI+LcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqA8d2JyPsKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgKHByb2cxIChzdWJzdHJpbmcgc3RyICgxKyBpKSBlbmQpPGJyPi3CoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgPHdicj7CoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoCAoc2V0cSBpIChtYXRjaC1lbmQgMCkpKTxicj4twqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoDx3YnI+wqDC oMKgwqDCoMKgwqDCoMKgwqDCoCBsb2NhbGUtY29kaW5nLXN5c3RlbSkpPGJyPivCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgPHdicj7CoMKg IChwcm9nbjxicj4rwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoDx3YnI+wqDCoMKgwqAgKHVubGVzcyBoYW5kbGVkLWFuc2ktbWVzc2FnZTxi cj4rwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoDx3YnI+wqDCoMKgwqDCoMKgIChmdW5jYWxsIHRlcm0tY29tbWFuZC1ob29rPGJyPivCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgPHdi cj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgKGRlY29kZS1jb2Rpbmctc3RyaW5nPGJy PivCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgPHdicj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAoc3Vic3RyaW5nIHN0ciAo MSsgaSkgZW5kKTxicj4rwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoDx3YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgbG9j YWxlLWNvZGluZy1zeXN0ZW0pKSk8YnI+K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqA8d2JyPsKgwqDCoMKgIChzZXRxIGkgKG1hdGNoLWVu ZCAwKSkpPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqAgKHNldHEgdGVybS10ZXJtaW5hbC1wYXJhbWV0ZXIgKHN1YnN0cmluZyBzdHIg aSkpPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgKHNldHEgdGVybS10ZXJtaW5hbC1zdGF0ZSA0KTxicj7CoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIChzZXRxIGkgc3RyLWxl bmd0aCkpKSk8YnI+PGJyPj09PT08YnI+PC9kaXY+PGRpdj5DaGFuZ2VMb2c6PGJyPjxicj4yMDE3 LTAxLTIzwqAgTWljaGFlbCBIb2ZmbWFuwqAgJmx0OzxhIGhyZWY9Im1haWx0bzplbWFjcy1ob2Zm bWFuQHNuZWFrZW1haWwuY29tIiB0YXJnZXQ9Il9ibGFuayI+ZW1hY3MtaG9mZm1hbkBzbmVha2Vt YWlsLmNvbTwvYT4mZ3Q7PGJyPjxicj48L2Rpdj48ZGl2PsKgICogdGVybS5lbCAodGVybS1lbXVs YXRlLXRlcm1pbmFsKTogZml4IGJ1ZyMxMTkxOTo8YnI+wqAgZG8gbm90IGRpc3BsYXkgP1wwMzIg ZXNjYXBlIGNvZGVzIGV2ZW4gd2hlbiBgaGFuZGxlZC1hbnNpLW1lc3NhZ2VgIGlzIHRydWU8YnI+ PC9kaXY+PC9kaXY+PC9kaXY+PC9kaXY+DQo= --001a1148f03af9b2840546c7f326--