From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Jim Porter Newsgroups: gmane.emacs.bugs Subject: bug#51622: 29.0.50; [PATCH] Abbreviate remote home directories in `abbreviate-file-name' Date: Fri, 5 Nov 2021 20:44:44 -0700 Message-ID: <5ac0b5f3-302c-2f96-771c-8d38088aa573@gmail.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------E1ED1E8F4A40B39A34597491" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="24217"; mail-complaints-to="usenet@ciao.gmane.io" To: 51622@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sat Nov 06 04:45:14 2021 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mjCdl-00061h-Uf for geb-bug-gnu-emacs@m.gmane-mx.org; Sat, 06 Nov 2021 04:45:14 +0100 Original-Received: from localhost ([::1]:53760 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mjCdk-00061v-FI for geb-bug-gnu-emacs@m.gmane-mx.org; Fri, 05 Nov 2021 23:45:12 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:57160) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mjCda-00061l-VE for bug-gnu-emacs@gnu.org; Fri, 05 Nov 2021 23:45:03 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:36450) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mjCda-0002PZ-Mq for bug-gnu-emacs@gnu.org; Fri, 05 Nov 2021 23:45:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1mjCda-00089h-FV for bug-gnu-emacs@gnu.org; Fri, 05 Nov 2021 23:45:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Jim Porter Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 06 Nov 2021 03:45:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 51622 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.163617029631317 (code B ref -1); Sat, 06 Nov 2021 03:45:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 6 Nov 2021 03:44:56 +0000 Original-Received: from localhost ([127.0.0.1]:47996 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mjCdS-000892-79 for submit@debbugs.gnu.org; Fri, 05 Nov 2021 23:44:55 -0400 Original-Received: from lists.gnu.org ([209.51.188.17]:55412) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1mjCdP-00088s-Ad for submit@debbugs.gnu.org; Fri, 05 Nov 2021 23:44:52 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:57142) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mjCdO-000616-Vm for bug-gnu-emacs@gnu.org; Fri, 05 Nov 2021 23:44:51 -0400 Original-Received: from mail-pg1-x52d.google.com ([2607:f8b0:4864:20::52d]:41788) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mjCdL-0002Ij-0D for bug-gnu-emacs@gnu.org; Fri, 05 Nov 2021 23:44:50 -0400 Original-Received: by mail-pg1-x52d.google.com with SMTP id n23so9909481pgh.8 for ; Fri, 05 Nov 2021 20:44:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:subject:to:message-id:date:mime-version:content-language; bh=FLer+T3qJ6Qp0kbpSwki+OPI0Jcp9zfFqlnmKhORX+g=; b=d0UBCmk7OMNbi8jtFK5CocmweTDUQATAgFmykZrJ9PfwiW8L/cY2g/V0dozfuAgkbj dDy3gsJtZH7MFPk71oTKpsiWBuglabK3Mb6wrS9WpdDJcalVpWEZWK8+4473Yv79cwmJ 791mzRouV+N4hCfUm/EUAClDn3QEI2WLWgttYgvPxhJx48OSru7LWW92XU8L/MWoPOhg GZddVy1RxFUK2SM0xJwsvhpff8hhh/453hboIFkwkhTkRBZXpSx7x/416/tyIAP1THgY QUHqhH1TWW6X7iSmCwVg6G6NKUVt/bF02J142HfAcq289ypnZ9RxkN9b8PXg9kNngXq+ +ltg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:subject:to:message-id:date:mime-version :content-language; bh=FLer+T3qJ6Qp0kbpSwki+OPI0Jcp9zfFqlnmKhORX+g=; b=EAB9/6eaQoDRdkU/O2ilhoJxxMCrbeHdMf8wx9be8/u/lX6jorjqaB96BiY9uN/GWw AvB1VaFsIoA6SHzGoiXKUPhrsXCKzbtUpLo+RvDhFZMYnpUzZA9XYU92GjGJz3RC0IeL SGTGpk2D0XIbODc39hYJVhkzGpv5sqePIz8d529psFE0hPbH8cET2mOG7QHcvuYYdBFX 1COoXQoEthUioll6YpbFRBQjDkZEACKEiVcinftbcvzNsReTO6VEA9OLU43oCZMOlFgz hG6ft6XVbiAx3lgM1k20trGoRe+hLDx7+DePm/I72vTI3FGLv/WrkT+TsWGNyAz9MijA xktA== X-Gm-Message-State: AOAM533bo1EA+qSj3ww+lWyMtfoxrsMKxv4QPAcCz+abS0Yte2HpDKT9 UCRZ6QEXRBVS1bX4QqKEF5zIYPkP6fw= X-Google-Smtp-Source: ABdhPJzPpGNaZeLUw1EDW2exo2Joai0NSedWb2/9GR3VswrcOIoyo9qOLd+vX2c3qgrPNROUbU9xGg== X-Received: by 2002:a63:688:: with SMTP id 130mr29734409pgg.395.1636170285547; Fri, 05 Nov 2021 20:44:45 -0700 (PDT) Original-Received: from [192.168.1.2] (cpe-76-168-148-233.socal.res.rr.com. [76.168.148.233]) by smtp.googlemail.com with ESMTPSA id l4sm9129364pfc.121.2021.11.05.20.44.44 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 05 Nov 2021 20:44:44 -0700 (PDT) X-Mozilla-News-Host: news://news://news.gmane.org:119 Content-Language: en-US Received-SPF: pass client-ip=2607:f8b0:4864:20::52d; envelope-from=jporterbugs@gmail.com; helo=mail-pg1-x52d.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-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:219074 Archived-At: This is a multi-part message in MIME format. --------------E1ED1E8F4A40B39A34597491 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Currently, `abbreviate-file-name' abbreviates home directories, but only for the local system. For example: $ emacs -Q M-: (abbreviate-file-name "/home/jim/src") RET ;; => "~/src" M-: (abbreviate-file-name "/sshx:localhost:/home/jim/src") RET ;; => "/sshx:localhost:/home/jim/src" It'd be nice to abbreviate TRAMP home dirs, especially for the buffer list, where the long length of TRAMP paths means that I often just see the same leading bits of the paths repeated in the File column. As a result, it can be hard to tell the exact file it refers to. (Of course, as a workaround, I could just widen the window.) Attached is a patch series to do this, but the patches probably warrant some explanation. First, I removed `automount-dir-prefix'; it's been obsolete since 24.3, and it would have made implementation of the second part more complex. Second, I removed the caching of the abbreviated home dir. Since adding TRAMP support means there are multiple home dirs (one per host), keeping the caching would have been fairly complex, and it's already the source of potential bugs (e.g. when temporarily setting HOME to something else). I did some benchmarking on this (see attached), and while it is indeed slower without the caching, I don't think it's worth keeping the caching around. The real performance cost comes from calling `abbreviate-file-name' with a TRAMP file (even before my patch), but abbreviating a local file is quite fast, even with a pathologically large `directory-abbrev-alist'. I also wrote a couple of unit tests to make sure this function works correctly. Finally, I added the actual TRAMP support. This has a pretty significant performance hit to TRAMP files. Looking at profiles, this appears to be because my patch calls both `file-name-case-insensitive-p' and `file-remote-p' on the TRAMP path, and these duplicate quite a bit of work. Is there a way to make this more efficient (e.g. by getting the file handler just once instead of twice)? It might also be useful to add some unit tests here, but I wasn't 100% sure how to do that with TRAMP paths (the tests in my benchmark actually open an SSH connection, so that probably won't work on all systems). In addition to the patches, I've also attached a simple benchmark script that I used to measure the performance of these patches as well as the results from my system. The performance for local paths is still quite good I think, and even the worst-case scenario for TRAMP paths (abbreviating with a 500-item `directory-abbrev-alist') clocks in at 4.6ms per call. It'd be nice to make that faster, but maybe that's the best we can do if we want this feature. --------------E1ED1E8F4A40B39A34597491 Content-Type: text/plain; charset=UTF-8; name="0001-Remove-automount-dir-prefix.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="0001-Remove-automount-dir-prefix.patch" RnJvbSAxYjZkNzZkNjA5MjlhMTBlMTNmYmZlMWQ5YjQyODZiYmQwYWViYjU4IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gUG9ydGVyIDxqcG9ydGVyYnVnc0BnbWFpbC5j b20+CkRhdGU6IFRodSwgNCBOb3YgMjAyMSAyMDoxNDowMCAtMDcwMApTdWJqZWN0OiBbUEFU Q0ggMS8zXSBSZW1vdmUgJ2F1dG9tb3VudC1kaXItcHJlZml4JwoKKiBsaXNwL2ZpbGUuZWwg KGF1dG9tb3VudC1kaXItcHJlZml4KTogUmVtb3ZlIGl0LgoqIGV0Yy9ORVdTOiBNZW50aW9u IHRoZSByZW1vdmFsLgotLS0KIGV0Yy9ORVdTICAgICAgfCAgNSArKysrKwogbGlzcC9maWxl cy5lbCB8IDE1ICstLS0tLS0tLS0tLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCA2IGluc2VydGlv bnMoKyksIDE0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2V0Yy9ORVdTIGIvZXRjL05F V1MKaW5kZXggMjExZDk0M2ExNC4uZWU5Njg3NmZmOSAxMDA2NDQKLS0tIGEvZXRjL05FV1MK KysrIGIvZXRjL05FV1MKQEAgLTM2Myw2ICszNjMsMTEgQEAgd2l0aCByZWNlbnQgdmVyc2lv bnMgb2YgRmlyZWZveC4KICoqIFRoZSBmdW5jdGlvbiAnaW1hZ2UtZGlyZWQtZ2V0LWV4aWYt ZGF0YScgaXMgbm93IG9ic29sZXRlLgogVXNlICdleGlmLXBhcnNlLWZpbGUnIGFuZCAnZXhp Zi1maWVsZCcgaW5zdGVhZC4KIAorLS0tCisqKiBUaGUgb2Jzb2xldGUgdmFyaWFibGUgJ2F1 dG9tb3VudC1kaXItcHJlZml4JyBoYXMgYmVlbiByZW1vdmVkLgorSW4gRW1hY3MgMjQuMywg dGhlIHZhcmlhYmxlICdhdXRvbW91bnQtZGlyLXByZWZpeCcgd2FzIG1hZGUgb2Jzb2xldGUu CitGb3Igc2ltaWxhciBmdW5jdGlvbmFsaXR5LCB1c2UgJ2RpcmVjdG9yeS1hYmJyZXYtYWxp c3QnIGluc3RlYWQuCisKIAwKICogTGlzcCBDaGFuZ2VzIGluIEVtYWNzIDI5LjEKIApkaWZm IC0tZ2l0IGEvbGlzcC9maWxlcy5lbCBiL2xpc3AvZmlsZXMuZWwKaW5kZXggMTczMTk4YTQy NC4uOTk1ZjBjZjk3YSAxMDA2NDQKLS0tIGEvbGlzcC9maWxlcy5lbAorKysgYi9saXNwL2Zp bGVzLmVsCkBAIC0xOTkwLDEyICsxOTkwLDYgQEAgY3JlYXRlLWZpbGUtYnVmZmVyCiAJCQkg ICAgIChjb25jYXQgInwiIGxhc3RuYW1lKQogCQkJICAgbGFzdG5hbWUpKSkpCiAKLShkZWZj dXN0b20gYXV0b21vdW50LWRpci1wcmVmaXggKHB1cmVjb3B5ICJeL3RtcF9tbnQvIikKLSAg IlJlZ2V4cCB0byBtYXRjaCB0aGUgYXV0b21vdW50ZXIgcHJlZml4IGluIGEgZGlyZWN0b3J5 IG5hbWUuIgotICA6Z3JvdXAgJ2ZpbGVzCi0gIDp0eXBlICdyZWdleHApCi0obWFrZS1vYnNv bGV0ZS12YXJpYWJsZSAnYXV0b21vdW50LWRpci1wcmVmaXggJ2RpcmVjdG9yeS1hYmJyZXYt YWxpc3QgIjI0LjMiKQotCiAoZGVmdmFyIGFiYnJldmlhdGVkLWhvbWUtZGlyIG5pbAogICAi UmVnZXhwIG1hdGNoaW5nIHRoZSB1c2VyJ3MgaG9tZWRpciBhdCB0aGUgYmVnaW5uaW5nIG9m IGZpbGUgbmFtZS4KIFRoZSB2YWx1ZSBpbmNsdWRlcyBhYmJyZXZpYXRpb24gYWNjb3JkaW5n IHRvIGBkaXJlY3RvcnktYWJicmV2LWFsaXN0Jy4iKQpAQCAtMjAwMywyMSArMTk5NywxNCBA QCBhYmJyZXZpYXRlZC1ob21lLWRpcgogKGRlZnVuIGFiYnJldmlhdGUtZmlsZS1uYW1lIChm aWxlbmFtZSkKICAgIlJldHVybiBhIHZlcnNpb24gb2YgRklMRU5BTUUgc2hvcnRlbmVkIHVz aW5nIGBkaXJlY3RvcnktYWJicmV2LWFsaXN0Jy4KIFRoaXMgYWxzbyBzdWJzdGl0dXRlcyBc In5cIiBmb3IgdGhlIHVzZXIncyBob21lIGRpcmVjdG9yeSAodW5sZXNzIHRoZQotaG9tZSBk aXJlY3RvcnkgaXMgYSByb290IGRpcmVjdG9yeSkgYW5kIHJlbW92ZXMgYXV0b21vdW50ZXIg cHJlZml4ZXMKLVwoc2VlIHRoZSB2YXJpYWJsZSBgYXV0b21vdW50LWRpci1wcmVmaXgnKS4K K2hvbWUgZGlyZWN0b3J5IGlzIGEgcm9vdCBkaXJlY3RvcnkpLgogCiBXaGVuIHRoaXMgZnVu Y3Rpb24gaXMgZmlyc3QgY2FsbGVkLCBpdCBjYWNoZXMgdGhlIHVzZXIncyBob21lCiBkaXJl Y3RvcnkgYXMgYSByZWdleHAgaW4gYGFiYnJldmlhdGVkLWhvbWUtZGlyJywgYW5kIHJldXNl cyBpdAogYWZ0ZXJ3YXJkcyAoc28gbG9uZyBhcyB0aGUgaG9tZSBkaXJlY3RvcnkgZG9lcyBu b3QgY2hhbmdlOwogaWYgeW91IHdhbnQgdG8gcGVybWFuZW50bHkgY2hhbmdlIHlvdXIgaG9t ZSBkaXJlY3RvcnkgYWZ0ZXIgaGF2aW5nCiBzdGFydGVkIEVtYWNzLCBzZXQgYGFiYnJldmlh dGVkLWhvbWUtZGlyJyB0byBuaWwgc28gaXQgd2lsbCBiZSByZWNhbGN1bGF0ZWQpLiIKLSAg OzsgR2V0IHJpZCBvZiB0aGUgcHJlZml4ZXMgYWRkZWQgYnkgdGhlIGF1dG9tb3VudGVyLgog ICAoc2F2ZS1tYXRjaC1kYXRhICAgICAgICAgICAgICAgICAgICAgIDtGSVhNRTogV2h5Pwot ICAgIChpZiAoYW5kIGF1dG9tb3VudC1kaXItcHJlZml4Ci0JICAgICAoc3RyaW5nLW1hdGNo IGF1dG9tb3VudC1kaXItcHJlZml4IGZpbGVuYW1lKQotCSAgICAgKGZpbGUtZXhpc3RzLXAg KGZpbGUtbmFtZS1kaXJlY3RvcnkKLQkJCSAgICAgKHN1YnN0cmluZyBmaWxlbmFtZSAoMS0g KG1hdGNoLWVuZCAwKSkpKSkpCi0JKHNldHEgZmlsZW5hbWUgKHN1YnN0cmluZyBmaWxlbmFt ZSAoMS0gKG1hdGNoLWVuZCAwKSkpKSkKICAgICA7OyBBdm9pZCB0cmVhdGluZyAvaG9tZS9m b28gYXMgL2hvbWUvRm9vIGR1cmluZyBgficgc3Vic3RpdHV0aW9uLgogICAgIChsZXQgKChj YXNlLWZvbGQtc2VhcmNoIChmaWxlLW5hbWUtY2FzZS1pbnNlbnNpdGl2ZS1wIGZpbGVuYW1l KSkpCiAgICAgICA7OyBJZiBhbnkgZWx0IG9mIGRpcmVjdG9yeS1hYmJyZXYtYWxpc3QgbWF0 Y2hlcyB0aGlzIG5hbWUsCi0tIAoyLjI1LjEKCg== --------------E1ED1E8F4A40B39A34597491 Content-Type: text/plain; charset=UTF-8; name="0002-Don-t-cache-abbreviated-homedir-for-abbreviate-file-.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename*0="0002-Don-t-cache-abbreviated-homedir-for-abbreviate-file-.pa"; filename*1="tch" RnJvbSBjZGNhNjUwMmNjMDhkZmVhOWI3YzcyODYwNmFiMjliODQxMjlmMjNhIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gUG9ydGVyIDxqcG9ydGVyYnVnc0BnbWFpbC5j b20+CkRhdGU6IEZyaSwgNSBOb3YgMjAyMSAxOToyNToyNiAtMDcwMApTdWJqZWN0OiBbUEFU Q0ggMi8zXSBEb24ndCBjYWNoZSBhYmJyZXZpYXRlZCBob21lZGlyIGZvcgogJ2FiYnJldmlh dGUtZmlsZS1uYW1lJwoKVGhpcyBpcyBlcnJvci1wcm9uZSBhbmQgdGhlIHBlcmZvcm1hbmNl IGRpZmZlcmVuY2UgaXMgbWlub3IsCmVzcGVjaWFsbHkgd2hlbiBjb21wYXJlZCB0byB0aGUg Y29zdCBvZiBhYmJyZXZpYXRpbmcgYSBUUkFNUCBmaWxlbmFtZS4KCiogbGlzcC9maWxlcy5l bCAoYWJicmV2aWF0ZWQtaG9tZS1kaXIpOiBNYXJrIGFzIG9ic29sZXRlLgooYWJicmV2aWF0 ZS1maWxlLW5hbWUpOiBEb24ndCBjYWNoZSB0aGUgYWJicmV2aWF0ZWQgaG9tZSBkaXJlY3Rv cnkuCiogdGVzdC9saXNwL2ZpbGVzLXRlc3RzLmVsIChmaWxlcy10ZXN0cy1hYmJyZXZpYXRl LWZpbGUtbmFtZS1ob21lZGlyKToKKGZpbGVzLXRlc3RzLWFiYnJldmlhdGUtZmlsZS1uYW1l LWRpcmVjdG9yeS1hYmJyZXYtYWxpc3QpOgpOZXcgZnVuY3Rpb25zLgooZmlsZXMtdGVzdHMt YWJicmV2aWF0ZWQtaG9tZS1kaXIpOiBSZW1vdmVkLgoqIGxpc3Avc3RhcnR1cC5lbCAoY29t bWFuZC1saW5lKToKKiB0ZXN0L2xpc3AvY2FsZW5kYXIvdG9kby1tb2RlLXRlc3RzLmVsICh3 aXRoLXRvZG8tdGVzdCk6CiogdGVzdC9saXNwL2VtYWNzLWxpc3AvcGFja2FnZS10ZXN0cy5l bCAod2l0aC1wYWNrYWdlLXRlc3QpOgoqIHRlc3QvbGlzcC9wcm9nbW9kZXMvZmx5bWFrZS10 ZXN0cy5lbCAocnVieS1iYWNrZW5kKToKRG9uJ3QgY2xlYXIgJ2FiYnJldmlhdGVkLWhvbWUt ZGlyJy4KKiBldGMvTkVXUzogQW5ub3VuY2UgdGhlIG9ic29sZXRpb24gb2YgJ2FiYnJldmlh dGVkLWhvbWUtZGlyJy4KLS0tCiBldGMvTkVXUyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHwgICA1ICsrCiBsaXNwL2ZpbGVzLmVsICAgICAgICAgICAgICAgICAgICAgICAgIHwg MTA4ICsrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tCiBsaXNwL3N0YXJ0dXAuZWwgICAgICAg ICAgICAgICAgICAgICAgIHwgICAzIC0KIHRlc3QvbGlzcC9jYWxlbmRhci90b2RvLW1vZGUt dGVzdHMuZWwgfCAgIDMgLQogdGVzdC9saXNwL2VtYWNzLWxpc3AvcGFja2FnZS10ZXN0cy5l bCB8ICAgMSAtCiB0ZXN0L2xpc3AvZmlsZXMtdGVzdHMuZWwgICAgICAgICAgICAgIHwgIDM2 ICsrKysrKy0tLQogdGVzdC9saXNwL3Byb2dtb2Rlcy9mbHltYWtlLXRlc3RzLmVsICB8ICAg NSArLQogNyBmaWxlcyBjaGFuZ2VkLCA3NiBpbnNlcnRpb25zKCspLCA4NSBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9ldGMvTkVXUyBiL2V0Yy9ORVdTCmluZGV4IGVlOTY4NzZmZjku LmUwZGRhMWMyYWEgMTAwNjQ0Ci0tLSBhL2V0Yy9ORVdTCisrKyBiL2V0Yy9ORVdTCkBAIC0z NjMsNiArMzYzLDExIEBAIHdpdGggcmVjZW50IHZlcnNpb25zIG9mIEZpcmVmb3guCiAqKiBU aGUgZnVuY3Rpb24gJ2ltYWdlLWRpcmVkLWdldC1leGlmLWRhdGEnIGlzIG5vdyBvYnNvbGV0 ZS4KIFVzZSAnZXhpZi1wYXJzZS1maWxlJyBhbmQgJ2V4aWYtZmllbGQnIGluc3RlYWQuCiAK Ky0tLQorKiogVGhlIHZhcmlhYmxlICdhYmJyZXZpYXRlZC1ob21lLWRpcicgaXMgbm93IG9i c29sZXRlLgorJ2FiYnJldmlhdGUtZmlsZS1uYW1lJyBubyBsb25nZXIgY2FjaGVzIHRoZSBh YmJyZXZpYXRlZCBob21lCitkaXJlY3RvcnksIHNvIHRoaXMgdmFyaWFibGUgaXNuJ3QgbmVl ZGVkIGFueW1vcmUuCisKIC0tLQogKiogVGhlIG9ic29sZXRlIHZhcmlhYmxlICdhdXRvbW91 bnQtZGlyLXByZWZpeCcgaGFzIGJlZW4gcmVtb3ZlZC4KIEluIEVtYWNzIDI0LjMsIHRoZSB2 YXJpYWJsZSAnYXV0b21vdW50LWRpci1wcmVmaXgnIHdhcyBtYWRlIG9ic29sZXRlLgpkaWZm IC0tZ2l0IGEvbGlzcC9maWxlcy5lbCBiL2xpc3AvZmlsZXMuZWwKaW5kZXggOTk1ZjBjZjk3 YS4uOTRiNzhkZjQwYyAxMDA2NDQKLS0tIGEvbGlzcC9maWxlcy5lbAorKysgYi9saXNwL2Zp bGVzLmVsCkBAIC0xOTkzLDc5ICsxOTkzLDU5IEBAIGNyZWF0ZS1maWxlLWJ1ZmZlcgogKGRl ZnZhciBhYmJyZXZpYXRlZC1ob21lLWRpciBuaWwKICAgIlJlZ2V4cCBtYXRjaGluZyB0aGUg dXNlcidzIGhvbWVkaXIgYXQgdGhlIGJlZ2lubmluZyBvZiBmaWxlIG5hbWUuCiBUaGUgdmFs dWUgaW5jbHVkZXMgYWJicmV2aWF0aW9uIGFjY29yZGluZyB0byBgZGlyZWN0b3J5LWFiYnJl di1hbGlzdCcuIikKKyhtYWtlLW9ic29sZXRlLXZhcmlhYmxlICdhYmJyZXZpYXRlZC1ob21l LWRpciAnbmlsICIyOS4xIikKIAogKGRlZnVuIGFiYnJldmlhdGUtZmlsZS1uYW1lIChmaWxl bmFtZSkKICAgIlJldHVybiBhIHZlcnNpb24gb2YgRklMRU5BTUUgc2hvcnRlbmVkIHVzaW5n IGBkaXJlY3RvcnktYWJicmV2LWFsaXN0Jy4KIFRoaXMgYWxzbyBzdWJzdGl0dXRlcyBcIn5c IiBmb3IgdGhlIHVzZXIncyBob21lIGRpcmVjdG9yeSAodW5sZXNzIHRoZQotaG9tZSBkaXJl Y3RvcnkgaXMgYSByb290IGRpcmVjdG9yeSkuCi0KLVdoZW4gdGhpcyBmdW5jdGlvbiBpcyBm aXJzdCBjYWxsZWQsIGl0IGNhY2hlcyB0aGUgdXNlcidzIGhvbWUKLWRpcmVjdG9yeSBhcyBh IHJlZ2V4cCBpbiBgYWJicmV2aWF0ZWQtaG9tZS1kaXInLCBhbmQgcmV1c2VzIGl0Ci1hZnRl cndhcmRzIChzbyBsb25nIGFzIHRoZSBob21lIGRpcmVjdG9yeSBkb2VzIG5vdCBjaGFuZ2U7 Ci1pZiB5b3Ugd2FudCB0byBwZXJtYW5lbnRseSBjaGFuZ2UgeW91ciBob21lIGRpcmVjdG9y eSBhZnRlciBoYXZpbmcKLXN0YXJ0ZWQgRW1hY3MsIHNldCBgYWJicmV2aWF0ZWQtaG9tZS1k aXInIHRvIG5pbCBzbyBpdCB3aWxsIGJlIHJlY2FsY3VsYXRlZCkuIgoraG9tZSBkaXJlY3Rv cnkgaXMgYSByb290IGRpcmVjdG9yeSkuIgogICAoc2F2ZS1tYXRjaC1kYXRhICAgICAgICAg ICAgICAgICAgICAgIDtGSVhNRTogV2h5PwogICAgIDs7IEF2b2lkIHRyZWF0aW5nIC9ob21l L2ZvbyBhcyAvaG9tZS9Gb28gZHVyaW5nIGB+JyBzdWJzdGl0dXRpb24uCi0gICAgKGxldCAo KGNhc2UtZm9sZC1zZWFyY2ggKGZpbGUtbmFtZS1jYXNlLWluc2Vuc2l0aXZlLXAgZmlsZW5h bWUpKSkKKyAgICAobGV0ICgoY2FzZS1mb2xkLXNlYXJjaCAoZmlsZS1uYW1lLWNhc2UtaW5z ZW5zaXRpdmUtcCBmaWxlbmFtZSkpCisgICAgICAgICAgKGhvbWUtZGlyIChleHBhbmQtZmls ZS1uYW1lICJ+IikpKQogICAgICAgOzsgSWYgYW55IGVsdCBvZiBkaXJlY3RvcnktYWJicmV2 LWFsaXN0IG1hdGNoZXMgdGhpcyBuYW1lLAogICAgICAgOzsgYWJicmV2aWF0ZSBhY2NvcmRp bmdseS4KICAgICAgIChkb2xpc3QgKGRpci1hYmJyZXYgZGlyZWN0b3J5LWFiYnJldi1hbGlz dCkKLQkoaWYgKHN0cmluZy1tYXRjaCAoY2FyIGRpci1hYmJyZXYpIGZpbGVuYW1lKQotCSAg ICAoc2V0cSBmaWxlbmFtZQotCQkgIChjb25jYXQgKGNkciBkaXItYWJicmV2KQotCQkJICAo c3Vic3RyaW5nIGZpbGVuYW1lIChtYXRjaC1lbmQgMCkpKSkpKQotICAgICAgOzsgQ29tcHV0 ZSBhbmQgc2F2ZSB0aGUgYWJicmV2aWF0ZWQgaG9tZWRpciBuYW1lLgotICAgICAgOzsgV2Ug ZGVmZXIgY29tcHV0aW5nIHRoaXMgdW50aWwgdGhlIGZpcnN0IHRpbWUgaXQncyBuZWVkZWQs IHRvCi0gICAgICA7OyBnaXZlIHRpbWUgZm9yIGRpcmVjdG9yeS1hYmJyZXYtYWxpc3QgdG8g YmUgc2V0IHByb3Blcmx5LgotICAgICAgOzsgV2UgaW5jbHVkZSBhIHNsYXNoIGF0IHRoZSBl bmQsIHRvIGF2b2lkIHNwdXJpb3VzIG1hdGNoZXMKLSAgICAgIDs7IHN1Y2ggYXMgYC91c3Iv Zm9vYmFyJyB3aGVuIHRoZSBob21lIGRpciBpcyBgL3Vzci9mb28nLgotICAgICAgKHVubGVz cyBhYmJyZXZpYXRlZC1ob21lLWRpcgotICAgICAgICAocHV0ICdhYmJyZXZpYXRlZC1ob21l LWRpciAnaG9tZSAoZXhwYW5kLWZpbGUtbmFtZSAifiIpKQotICAgICAgICAoc2V0cSBhYmJy ZXZpYXRlZC1ob21lLWRpcgotICAgICAgICAgICAgICAobGV0KiAoKGFiYnJldmlhdGVkLWhv bWUtZGlyICJcXGBcXCcuIikgO0ltcG9zc2libGUgcmVnZXhwLgotICAgICAgICAgICAgICAg ICAgICAgKHJlZ2V4cAotICAgICAgICAgICAgICAgICAgICAgIChjb25jYXQgIlxcYCIKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChyZWdleHAtcXVvdGUKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAoYWJicmV2aWF0ZS1maWxlLW5hbWUKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKGdldCAnYWJicmV2aWF0ZWQtaG9tZS1kaXIgJ2hvbWUp KSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJcXCgvXFx8XFwnXFwpIikpKQot ICAgICAgICAgICAgICAgIDs7IERlcGVuZGluZyBvbiB3aGV0aGVyIGRlZmF1bHQtZGlyZWN0 b3J5IGRvZXMgb3IKLSAgICAgICAgICAgICAgICA7OyBkb2Vzbid0IGluY2x1ZGUgbm9uLUFT Q0lJIGNoYXJhY3RlcnMsIHRoZSB2YWx1ZQotICAgICAgICAgICAgICAgIDs7IG9mIGFiYnJl dmlhdGVkLWhvbWUtZGlyIGNvdWxkIGJlIG11bHRpYnl0ZSBvcgotICAgICAgICAgICAgICAg IDs7IHVuaWJ5dGUuICBJbiB0aGUgbGF0dGVyIGNhc2UsIHdlIG5lZWQgdG8gZGVjb2RlCi0g ICAgICAgICAgICAgICAgOzsgaXQuICBOb3RlIHRoYXQgdGhpcyBmdW5jdGlvbiBpcyBjYWxs ZWQgZm9yIHRoZQotICAgICAgICAgICAgICAgIDs7IGZpcnN0IHRpbWUgKGZyb20gc3RhcnR1 cC5lbCkgd2hlbgotICAgICAgICAgICAgICAgIDs7IGxvY2FsZS1jb2Rpbmctc3lzdGVtIGlz IGFscmVhZHkgc2V0IHVwLgotICAgICAgICAgICAgICAgIChpZiAobXVsdGlieXRlLXN0cmlu Zy1wIHJlZ2V4cCkKLSAgICAgICAgICAgICAgICAgICAgcmVnZXhwCi0gICAgICAgICAgICAg ICAgICAoZGVjb2RlLWNvZGluZy1zdHJpbmcgcmVnZXhwCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKGlmIChlcSBzeXN0ZW0tdHlwZSAnd2luZG93cy1udCkK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3V0Zi04Ci0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhbGUtY29kaW5n LXN5c3RlbSkpKSkpKQotCi0gICAgICA7OyBJZiBGSUxFTkFNRSBzdGFydHMgd2l0aCB0aGUg YWJicmV2aWF0ZWQgaG9tZWRpciwKLSAgICAgIDs7IGFuZCB+IGhhc24ndCBjaGFuZ2VkIHNp bmNlIGFiYnJldmlhdGVkLWhvbWUtZGlyIHdhcyBzZXQsCi0gICAgICA7OyBtYWtlIGl0IHN0 YXJ0IHdpdGggYH4nIGluc3RlYWQuCi0gICAgICA7OyBJZiB+IGhhcyBjaGFuZ2VkLCB3ZSBp Z25vcmUgYWJicmV2aWF0ZWQtaG9tZS1kaXIgcmF0aGVyIHRoYW4KLSAgICAgIDs7IGludmFs aWRhdGluZyBpdCwgb24gdGhlIGFzc3VtcHRpb24gdGhhdCBhIGNoYW5nZSBpbiBIT01FCi0g ICAgICA7OyBpcyBsaWtlbHkgdGVtcG9yYXJ5IChlZyBmb3IgdGVzdGluZykuCi0gICAgICA7 OyBGSVhNRSBJcyBpdCBldmVuIHdvcnRoIGNhY2hpbmcgYWJicmV2aWF0ZWQtaG9tZS1kaXI/ Ci0gICAgICA7OyBSZWY6IGh0dHBzOi8vZGViYnVncy5nbnUub3JnLzE5NjU3IzIwCi0gICAg ICAobGV0IChtYjEpCi0gICAgICAgIChpZiAoYW5kIChzdHJpbmctbWF0Y2ggYWJicmV2aWF0 ZWQtaG9tZS1kaXIgZmlsZW5hbWUpCi0gICAgICAgICAgICAgICAgIChzZXRxIG1iMSAobWF0 Y2gtYmVnaW5uaW5nIDEpKQotCSAgICAgICAgIDs7IElmIHRoZSBob21lIGRpciBpcyBqdXN0 IC8sIGRvbid0IGNoYW5nZSBpdC4KLQkgICAgICAgICAobm90IChhbmQgKD0gKG1hdGNoLWVu ZCAwKSAxKQotCQkJICAgKD0gKGFyZWYgZmlsZW5hbWUgMCkgPy8pKSkKLQkgICAgICAgICA7 OyBNUy1ET1Mgcm9vdCBkaXJlY3RvcmllcyBjYW4gY29tZSB3aXRoIGEgZHJpdmUgbGV0dGVy OwotCSAgICAgICAgIDs7IE5vdmVsbCBOZXR3YXJlIGFsbG93cyBkcml2ZSBsZXR0ZXJzIGJl eW9uZCBgWjonLgotCSAgICAgICAgIChub3QgKGFuZCAobWVtcSBzeXN0ZW0tdHlwZSAnKG1z LWRvcyB3aW5kb3dzLW50IGN5Z3dpbikpCi0JCQkgICAoc3RyaW5nLW1hdGNoICJcXGBbYS16 QS1gXTovXFwnIiBmaWxlbmFtZSkpKQotICAgICAgICAgICAgICAgICAoZXF1YWwgKGdldCAn YWJicmV2aWF0ZWQtaG9tZS1kaXIgJ2hvbWUpCi0gICAgICAgICAgICAgICAgICAgICAgICAo ZXhwYW5kLWZpbGUtbmFtZSAifiIpKSkKLQkgICAgKHNldHEgZmlsZW5hbWUKLQkJICAoY29u Y2F0ICJ+IgotCQkJICAoc3Vic3RyaW5nIGZpbGVuYW1lIG1iMSkpKSkKKyAgICAgICAgKHdo ZW4gKHN0cmluZy1tYXRjaCAoY2FyIGRpci1hYmJyZXYpIGZpbGVuYW1lKQorICAgICAgICAg IChzZXRxIGZpbGVuYW1lIChjb25jYXQgKGNkciBkaXItYWJicmV2KQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKHN1YnN0cmluZyBmaWxlbmFtZSAobWF0Y2gtZW5kIDAp KSkpKQorICAgICAgICA7OyBBYmJyZXZpYXRlIHRoZSBob21lIGRpcmVjdG9yeSB0b28gc28g dGhhdCBpdCBjYW4gbWF0Y2ggdGhlCisgICAgICAgIDs7IGZpbGVuYW1lLgorICAgICAgICAo d2hlbiAoc3RyaW5nLW1hdGNoIChjYXIgZGlyLWFiYnJldikgaG9tZS1kaXIpCisgICAgICAg ICAgKHNldHEgaG9tZS1kaXIgKGNvbmNhdCAoY2RyIGRpci1hYmJyZXYpCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAoc3Vic3RyaW5nIGhvbWUtZGlyIChtYXRjaC1lbmQg MCkpKSkpKQorICAgICAgOzsgSWYgRklMRU5BTUUgc3RhcnRzIHdpdGggdGhlIGFiYnJldmlh dGVkIGhvbWVkaXIgbWFrZSBpdCBzdGFydAorICAgICAgOzsgd2l0aCBgficgaW5zdGVhZC4K KyAgICAgIChpZi1sZXQqICgoaG9tZS1kaXItcmVnZXhwCisgICAgICAgICAgICAgICAgIDs7 IFdlIGluY2x1ZGUgYSBzbGFzaCBhdCB0aGUgZW5kLCB0byBhdm9pZCBzcHVyaW91cworICAg ICAgICAgICAgICAgICA7OyBtYXRjaGVzIHN1Y2ggYXMgYC91c3IvZm9vYmFyJyB3aGVuIHRo ZSBob21lIGRpciBpcworICAgICAgICAgICAgICAgICA7OyBgL3Vzci9mb28nLgorICAgICAg ICAgICAgICAgICAoY29uY2F0ICJcXGAiIChyZWdleHAtcXVvdGUgaG9tZS1kaXIpICJcXCgv XFx8XFwnXFwpIikpCisgICAgICAgICAgICAgICAgKGhvbWUtZGlyLXJlZ2V4cAorICAgICAg ICAgICAgICAgICA7OyBEZXBlbmRpbmcgb24gd2hldGhlciBkZWZhdWx0LWRpcmVjdG9yeSBk b2VzIG9yCisgICAgICAgICAgICAgICAgIDs7IGRvZXNuJ3QgaW5jbHVkZSBub24tQVNDSUkg Y2hhcmFjdGVycywgdGhlIHZhbHVlIG9mCisgICAgICAgICAgICAgICAgIDs7IGhvbWUtZGly LXJlZ2V4cCBjb3VsZCBiZSBtdWx0aWJ5dGUgb3IgdW5pYnl0ZS4gIEluCisgICAgICAgICAg ICAgICAgIDs7IHRoZSBsYXR0ZXIgY2FzZSwgd2UgbmVlZCB0byBkZWNvZGUgaXQuICBOb3Rl IHRoYXQKKyAgICAgICAgICAgICAgICAgOzsgdGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQgZm9y IHRoZSBmaXJzdCB0aW1lIChmcm9tCisgICAgICAgICAgICAgICAgIDs7IHN0YXJ0dXAuZWwp IHdoZW4gbG9jYWxlLWNvZGluZy1zeXN0ZW0gaXMgYWxyZWFkeQorICAgICAgICAgICAgICAg ICA7OyBzZXQgdXAuCisgICAgICAgICAgICAgICAgIChpZiAobXVsdGlieXRlLXN0cmluZy1w IGhvbWUtZGlyLXJlZ2V4cCkKKyAgICAgICAgICAgICAgICAgICAgIGhvbWUtZGlyLXJlZ2V4 cAorICAgICAgICAgICAgICAgICAgIChkZWNvZGUtY29kaW5nLXN0cmluZyBob21lLWRpci1y ZWdleHAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGlmIChl cSBzeXN0ZW0tdHlwZSAnd2luZG93cy1udCkKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICd1dGYtOAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGxvY2FsZS1jb2Rpbmctc3lzdGVtKSkpKQorICAgICAgICAgICAg ICAgICgoc3RyaW5nLW1hdGNoIGhvbWUtZGlyLXJlZ2V4cCBmaWxlbmFtZSkpCisgICAgICAg ICAgICAgICAgKG1iMSAobWF0Y2gtYmVnaW5uaW5nIDEpKQorICAgICAgICAgICAgICAgICgo YW5kCisgICAgICAgICAgICAgICAgICA7OyBJZiB0aGUgaG9tZSBkaXIgaXMganVzdCAvLCBk b24ndCBjaGFuZ2UgaXQuCisgICAgICAgICAgICAgICAgICAobm90IChhbmQgKD0gKG1hdGNo LWVuZCAwKSAxKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICg9IChhcmVmIGZpbGVu YW1lIDApID8vKSkpCisgICAgICAgICAgICAgICAgICA7OyBNUy1ET1Mgcm9vdCBkaXJlY3Rv cmllcyBjYW4gY29tZSB3aXRoIGEgZHJpdmUgbGV0dGVyOworICAgICAgICAgICAgICAgICAg OzsgTm92ZWxsIE5ldHdhcmUgYWxsb3dzIGRyaXZlIGxldHRlcnMgYmV5b25kIGBaOicuCisg ICAgICAgICAgICAgICAgICAobm90IChhbmQgKG1lbXEgc3lzdGVtLXR5cGUgJyhtcy1kb3Mg d2luZG93cy1udCBjeWd3aW4pKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzdHJp bmctbWF0Y2ggIlxcYFthLXpBLWBdOi9cXCciIGZpbGVuYW1lKSkpKSkpCisgICAgICAgICAg KGNvbmNhdCAifiIgKHN1YnN0cmluZyBmaWxlbmFtZSBtYjEpKQogICAgICAgICBmaWxlbmFt ZSkpKSkKIAogKGRlZnVuIGZpbmQtYnVmZmVyLXZpc2l0aW5nIChmaWxlbmFtZSAmb3B0aW9u YWwgcHJlZGljYXRlKQpkaWZmIC0tZ2l0IGEvbGlzcC9zdGFydHVwLmVsIGIvbGlzcC9zdGFy dHVwLmVsCmluZGV4IDUwNWQ3YjgzZjQuLjY0MDAwODhjMzUgMTAwNjQ0Ci0tLSBhL2xpc3Av c3RhcnR1cC5lbAorKysgYi9saXNwL3N0YXJ0dXAuZWwKQEAgLTEwNTAsOSArMTA1MCw2IEBA IGNvbW1hbmQtbGluZQogCWFmdGVyLWluaXQtdGltZSBuaWwKICAgICAgICAgY29tbWFuZC1s aW5lLWRlZmF1bHQtZGlyZWN0b3J5IGRlZmF1bHQtZGlyZWN0b3J5KQogCi0gIDs7IEZvcmNl IHJlY29tcHV0YXRpb24sIGluIGNhc2UgaXQgd2FzIGNvbXB1dGVkIGR1cmluZyB0aGUgZHVt cC4KLSAgKHNldHEgYWJicmV2aWF0ZWQtaG9tZS1kaXIgbmlsKQotCiAgIDs7IFNlZSBpZiB3 ZSBzaG91bGQgaW1wb3J0IHZlcnNpb24tY29udHJvbCBmcm9tIHRoZSBlbnZpcm9ubWVudCB2 YXJpYWJsZS4KICAgKGxldCAoKHZjIChnZXRlbnYgIlZFUlNJT05fQ09OVFJPTCIpKSkKICAg ICAoY29uZCAoKGVxIHZjIG5pbCkpCQkJO2Rvbid0IGRvIGFueXRoaW5nIGlmIG5vdCBzZXQK ZGlmZiAtLWdpdCBhL3Rlc3QvbGlzcC9jYWxlbmRhci90b2RvLW1vZGUtdGVzdHMuZWwgYi90 ZXN0L2xpc3AvY2FsZW5kYXIvdG9kby1tb2RlLXRlc3RzLmVsCmluZGV4IDliNWQ5OTBiOWIu LmRkOGM1ZWMzNTMgMTAwNjQ0Ci0tLSBhL3Rlc3QvbGlzcC9jYWxlbmRhci90b2RvLW1vZGUt dGVzdHMuZWwKKysrIGIvdGVzdC9saXNwL2NhbGVuZGFyL3RvZG8tbW9kZS10ZXN0cy5lbApA QCAtMzgsOSArMzgsNiBAQCB3aXRoLXRvZG8tdGVzdAogICAiU2V0IHVwIGFuIGlzb2xhdGVk IGB0b2RvLW1vZGUnIHRlc3QgZW52aXJvbm1lbnQuIgogICAoZGVjbGFyZSAoZGVidWcgKGJv ZHkpKSkKICAgYChsZXQqICgodG9kby10ZXN0LWhvbWUgKG1ha2UtdGVtcC1maWxlICJ0b2Rv LXRlc3QtaG9tZS0iIHQpKQotICAgICAgICAgIDs7IFNpbmNlIHdlIGNoYW5nZSBIT01FLCBj bGVhciB0aGlzIHRvIGF2b2lkIGEgY29uZmxpY3QKLSAgICAgICAgICA7OyBlLmcuIGlmIEVt YWNzIHJ1bnMgd2l0aGluIHRoZSB1c2VyJ3MgaG9tZSBkaXJlY3RvcnkuCi0gICAgICAgICAg KGFiYnJldmlhdGVkLWhvbWUtZGlyIG5pbCkKICAgICAgICAgICAocHJvY2Vzcy1lbnZpcm9u bWVudCAoY29ucyAoZm9ybWF0ICJIT01FPSVzIiB0b2RvLXRlc3QtaG9tZSkKICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jZXNzLWVudmlyb25tZW50KSkKICAg ICAgICAgICAodG9kby1kaXJlY3RvcnkgKGVydC1yZXNvdXJjZS1kaXJlY3RvcnkpKQpkaWZm IC0tZ2l0IGEvdGVzdC9saXNwL2VtYWNzLWxpc3AvcGFja2FnZS10ZXN0cy5lbCBiL3Rlc3Qv bGlzcC9lbWFjcy1saXNwL3BhY2thZ2UtdGVzdHMuZWwKaW5kZXggMWZkOTNiYzFiZS4uZTg2 NTFhMTE4MiAxMDA2NDQKLS0tIGEvdGVzdC9saXNwL2VtYWNzLWxpc3AvcGFja2FnZS10ZXN0 cy5lbAorKysgYi90ZXN0L2xpc3AvZW1hY3MtbGlzcC9wYWNrYWdlLXRlc3RzLmVsCkBAIC0x MjIsNyArMTIyLDYgQEAgd2l0aC1wYWNrYWdlLXRlc3QKICAgICAgICAgICAocGFja2FnZS1n bnVwZ2hvbWUtZGlyIChleHBhbmQtZmlsZS1uYW1lICJnbnVwZyIgcGFja2FnZS11c2VyLWRp cikpCiAgICAgICAgICAgKHBhY2thZ2UtYXJjaGl2ZXMgYCgoImdudSIgLiAsKG9yICxsb2Nh dGlvbiBwYWNrYWdlLXRlc3QtZGF0YS1kaXIpKSkpCiAgICAgICAgICAgKGRlZmF1bHQtZGly ZWN0b3J5IHBhY2thZ2UtdGVzdC1maWxlLWRpcikKLSAgICAgICAgICBhYmJyZXZpYXRlZC1o b21lLWRpcgogICAgICAgICAgIHBhY2thZ2UtLWluaXRpYWxpemVkCiAgICAgICAgICAgcGFj a2FnZS1hbGlzdAogICAgICAgICAgICxAKGlmIHVwZGF0ZS1uZXdzCmRpZmYgLS1naXQgYS90 ZXN0L2xpc3AvZmlsZXMtdGVzdHMuZWwgYi90ZXN0L2xpc3AvZmlsZXMtdGVzdHMuZWwKaW5k ZXggNGI5ZDRlNDUxNi4uNjAxNTEyMGNmNiAxMDA2NDQKLS0tIGEvdGVzdC9saXNwL2ZpbGVz LXRlc3RzLmVsCisrKyBiL3Rlc3QvbGlzcC9maWxlcy10ZXN0cy5lbApAQCAtMTM0MiwxOSAr MTM0MiwzNSBAQCBmaWxlcy10ZXN0cy1jb3B5LWRpcmVjdG9yeQogICAgIChzaG91bGQgKGZp bGUtZGlyZWN0b3J5LXAgKGNvbmNhdCAoZmlsZS1uYW1lLWFzLWRpcmVjdG9yeSBkZXN0Mikg ImEiKSkpCiAgICAgKGRlbGV0ZS1kaXJlY3RvcnkgZGlyICdyZWN1cnNpdmUpKSkKIAotKGVy dC1kZWZ0ZXN0IGZpbGVzLXRlc3RzLWFiYnJldmlhdGVkLWhvbWUtZGlyICgpCi0gICJUZXN0 IHRoYXQgY2hhbmdpbmcgSE9NRSBkb2VzIG5vdCBjb25mdXNlIGBhYmJyZXZpYXRlLWZpbGUt bmFtZScuCi1TZWUgPGh0dHBzOi8vZGViYnVncy5nbnUub3JnLzE5NjU3IzIwPi4iCisoZXJ0 LWRlZnRlc3QgZmlsZXMtdGVzdHMtYWJicmV2aWF0ZS1maWxlLW5hbWUtaG9tZWRpciAoKQor ICA7OyBDaGVjayBob21lZGlyIGFiYnJldmlhdGlvbi4KICAgKGxldCogKChob21lZGlyIHRl bXBvcmFyeS1maWxlLWRpcmVjdG9yeSkKICAgICAgICAgIChwcm9jZXNzLWVudmlyb25tZW50 IChjb25zIChmb3JtYXQgIkhPTUU9JXMiIGhvbWVkaXIpCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBwcm9jZXNzLWVudmlyb25tZW50KSkKLSAgICAgICAgIChhYmJy ZXZpYXRlZC1ob21lLWRpciBuaWwpCi0gICAgICAgICAodGVzdGZpbGUgKGV4cGFuZC1maWxl LW5hbWUgImZvbyIgaG9tZWRpcikpCi0gICAgICAgICAob2xkIChmaWxlLXRydWVuYW1lIChh YmJyZXZpYXRlLWZpbGUtbmFtZSB0ZXN0ZmlsZSkpKQotICAgICAgICAgKHByb2Nlc3MtZW52 aXJvbm1lbnQgKGNvbnMgKGZvcm1hdCAiSE9NRT0lcyIKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKGV4cGFuZC1maWxlLW5hbWUgImJhciIgaG9tZWRp cikpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jZXNzLWVudmly b25tZW50KSkpCi0gICAgKHNob3VsZCAoZXF1YWwgb2xkIChmaWxlLXRydWVuYW1lIChhYmJy ZXZpYXRlLWZpbGUtbmFtZSB0ZXN0ZmlsZSkpKSkpKQorICAgIChzaG91bGQgKGVxdWFsICJ+ L2Zvby9iYXIiCisgICAgICAgICAgICAgICAgICAgKGFiYnJldmlhdGUtZmlsZS1uYW1lIChj b25jYXQgaG9tZWRpciAiZm9vL2JhciIpKSkpKQorICA7OyBDaGVjayB0aGF0IGhvbWVkaXIg YWJicmV2aWF0aW9uIGRvZXNuJ3Qgb2NjdXIgd2hlbiBob21lZGlyIGlzIGp1c3QgLy4KKyAg KGxldCogKChob21lZGlyICIvIikKKyAgICAgICAgIChwcm9jZXNzLWVudmlyb25tZW50IChj b25zIChmb3JtYXQgIkhPTUU9JXMiIGhvbWVkaXIpCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBwcm9jZXNzLWVudmlyb25tZW50KSkpCisgICAgKHNob3VsZCAoZXF1 YWwgIi9mb28vYmFyIgorICAgICAgICAgICAgICAgICAgIChhYmJyZXZpYXRlLWZpbGUtbmFt ZSAoY29uY2F0IGhvbWVkaXIgImZvby9iYXIiKSkpKSkpCisKKyhlcnQtZGVmdGVzdCBmaWxl cy10ZXN0cy1hYmJyZXZpYXRlLWZpbGUtbmFtZS1kaXJlY3RvcnktYWJicmV2LWFsaXN0ICgp CisgICAgOzsgQ2hlY2sgYGRpcmVjdG9yeS1hYmJyZXYtYWxpc3QnIGFiYnJldmlhdGlvbi4K KyAgICAobGV0ICgoZGlyZWN0b3J5LWFiYnJldi1hbGlzdCAnKCgiXFxgL25vd2hlcmUvc3Bl Y2lhbCIgLiAiL253L3NwIikpKSkKKyAgICAgIChzaG91bGQgKGVxdWFsICIvbncvc3AvaGVy ZSIKKyAgICAgICAgICAgICAgICAgICAgIChhYmJyZXZpYXRlLWZpbGUtbmFtZSAiL25vd2hl cmUvc3BlY2lhbC9oZXJlIikpKSkKKyAgICA7OyBDaGVjayBob21lZGlyIGFuZCBgZGlyZWN0 b3J5LWFiYnJldi1hbGlzdCcgYWJicmV2aWF0aW9uLgorICAgIChsZXQqICgoaG9tZWRpciB0 ZW1wb3JhcnktZmlsZS1kaXJlY3RvcnkpCisgICAgICAgICAgIChwcm9jZXNzLWVudmlyb25t ZW50IChjb25zIChmb3JtYXQgIkhPTUU9JXMiIGhvbWVkaXIpCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHByb2Nlc3MtZW52aXJvbm1lbnQpKQorICAgICAgICAg ICAoZGlyZWN0b3J5LWFiYnJldi1hbGlzdAorICAgICAgICAgICAgYCgoLChjb25jYXQgIlxc YCIgKHJlZ2V4cC1xdW90ZSBob21lZGlyKSAibm93aGVyZS9zcGVjaWFsIikKKyAgICAgICAg ICAgICAgLiAsKGNvbmNhdCBob21lZGlyICJudy9zcCIpKSkpKQorICAgICAgKHNob3VsZCAo ZXF1YWwgIn4vbncvc3AvaGVyZSIKKyAgICAgICAgICAgICAgICAgICAgIChhYmJyZXZpYXRl LWZpbGUtbmFtZQorICAgICAgICAgICAgICAgICAgICAgIChjb25jYXQgaG9tZWRpciAibm93 aGVyZS9zcGVjaWFsL2hlcmUiKSkpKSkpCiAKIChlcnQtZGVmdGVzdCBmaWxlcy10ZXN0cy1l eGVjdXRhYmxlLWZpbmQgKCkKICAgIlRlc3QgdGhhdCBgZXhlY3V0YWJsZS1maW5kJyB3b3Jr cyBhbHNvIHdpdGggYSByZWxhdGl2ZSBvciByZW1vdGUgUEFUSC4KZGlmZiAtLWdpdCBhL3Rl c3QvbGlzcC9wcm9nbW9kZXMvZmx5bWFrZS10ZXN0cy5lbCBiL3Rlc3QvbGlzcC9wcm9nbW9k ZXMvZmx5bWFrZS10ZXN0cy5lbAppbmRleCA0YzBkMTVkMWUxLi45ZDM3OGY1NGJhIDEwMDY0 NAotLS0gYS90ZXN0L2xpc3AvcHJvZ21vZGVzL2ZseW1ha2UtdGVzdHMuZWwKKysrIGIvdGVz dC9saXNwL3Byb2dtb2Rlcy9mbHltYWtlLXRlc3RzLmVsCkBAIC0xMjUsMTAgKzEyNSw3IEBA IHJ1YnktYmFja2VuZAogICA7OyBTb21lIHZlcnNpb25zIG9mIHJ1YnkgZmFpbCBpZiBIT01F IGRvZXNuJ3QgZXhpc3QgKGJ1ZyMyOTE4NykuCiAgIChsZXQqICgodGVtcGRpciAobWFrZS10 ZW1wLWZpbGUgImZseW1ha2UtdGVzdHMtcnVieSIgdCkpCiAgICAgICAgICAocHJvY2Vzcy1l bnZpcm9ubWVudCAoY29ucyAoZm9ybWF0ICJIT01FPSVzIiB0ZW1wZGlyKQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY2Vzcy1lbnZpcm9ubWVudCkpCi0gICAg ICAgICA7OyBBbmQgc2VlIGh0dHBzOi8vZGViYnVncy5nbnUub3JnL2NnaS9idWdyZXBvcnQu Y2dpP2J1Zz0xOTY1NyMyMAotICAgICAgICAgOzsgZm9yIHRoaXMgcGFydGljdWxhciB5dWNr aW5lc3MKLSAgICAgICAgIChhYmJyZXZpYXRlZC1ob21lLWRpciBuaWwpKQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvY2Vzcy1lbnZpcm9ubWVudCkpKQogICAg ICh1bndpbmQtcHJvdGVjdAogICAgICAgICAobGV0ICgocnVieS1tb2RlLWhvb2sKICAgICAg ICAgICAgICAgIChsYW1iZGEgKCkKLS0gCjIuMjUuMQoK --------------E1ED1E8F4A40B39A34597491 Content-Type: text/plain; charset=UTF-8; name="0003-Abbreviate-home-directory-for-remote-files.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="0003-Abbreviate-home-directory-for-remote-files.patch" RnJvbSAwYTRmYjM4NTU1NjQ2MjI2ZGM0NWVkNmM4NmUzYmFlMmQxMDhiZjZiIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKaW0gUG9ydGVyIDxqcG9ydGVyYnVnc0BnbWFpbC5j b20+CkRhdGU6IEZyaSwgNSBOb3YgMjAyMSAyMDoxMTowNCAtMDcwMApTdWJqZWN0OiBbUEFU Q0ggMy8zXSBBYmJyZXZpYXRlIGhvbWUgZGlyZWN0b3J5IGZvciByZW1vdGUgZmlsZXMKCiog bGlzcC9maWxlcy5lbCAoYWJicmV2aWF0ZS1maWxlLW5hbWUpOiBTdXBwb3J0IGhvbWVkaXIg YWJicmV2aWF0aW9uCm9mIHJlbW90ZSBmaWxlcy4KLS0tCiBsaXNwL2ZpbGVzLmVsIHwgMTEg KysrKysrLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA2IGluc2VydGlvbnMoKyksIDUgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvbGlzcC9maWxlcy5lbCBiL2xpc3AvZmlsZXMuZWwKaW5k ZXggOTRiNzhkZjQwYy4uYWEyMzBkYzBjNiAxMDA2NDQKLS0tIGEvbGlzcC9maWxlcy5lbAor KysgYi9saXNwL2ZpbGVzLmVsCkBAIC0yMDAxLDggKzIwMDEsOSBAQCBhYmJyZXZpYXRlLWZp bGUtbmFtZQogaG9tZSBkaXJlY3RvcnkgaXMgYSByb290IGRpcmVjdG9yeSkuIgogICAoc2F2 ZS1tYXRjaC1kYXRhICAgICAgICAgICAgICAgICAgICAgIDtGSVhNRTogV2h5PwogICAgIDs7 IEF2b2lkIHRyZWF0aW5nIC9ob21lL2ZvbyBhcyAvaG9tZS9Gb28gZHVyaW5nIGB+JyBzdWJz dGl0dXRpb24uCi0gICAgKGxldCAoKGNhc2UtZm9sZC1zZWFyY2ggKGZpbGUtbmFtZS1jYXNl LWluc2Vuc2l0aXZlLXAgZmlsZW5hbWUpKQotICAgICAgICAgIChob21lLWRpciAoZXhwYW5k LWZpbGUtbmFtZSAifiIpKSkKKyAgICAobGV0KiAoKGNhc2UtZm9sZC1zZWFyY2ggKGZpbGUt bmFtZS1jYXNlLWluc2Vuc2l0aXZlLXAgZmlsZW5hbWUpKQorICAgICAgICAgICAocmVtb3Rl LWhvc3QgKGZpbGUtcmVtb3RlLXAgZmlsZW5hbWUpKQorICAgICAgICAgICAoaG9tZS1kaXIg KGV4cGFuZC1maWxlLW5hbWUgKGNvbmNhdCByZW1vdGUtaG9zdCAifiIpKSkpCiAgICAgICA7 OyBJZiBhbnkgZWx0IG9mIGRpcmVjdG9yeS1hYmJyZXYtYWxpc3QgbWF0Y2hlcyB0aGlzIG5h bWUsCiAgICAgICA7OyBhYmJyZXZpYXRlIGFjY29yZGluZ2x5LgogICAgICAgKGRvbGlzdCAo ZGlyLWFiYnJldiBkaXJlY3RvcnktYWJicmV2LWFsaXN0KQpAQCAtMjAzOSwxMyArMjA0MCwx MyBAQCBhYmJyZXZpYXRlLWZpbGUtbmFtZQogICAgICAgICAgICAgICAgIChtYjEgKG1hdGNo LWJlZ2lubmluZyAxKSkKICAgICAgICAgICAgICAgICAoKGFuZAogICAgICAgICAgICAgICAg ICAgOzsgSWYgdGhlIGhvbWUgZGlyIGlzIGp1c3QgLywgZG9uJ3QgY2hhbmdlIGl0LgotICAg ICAgICAgICAgICAgICAgKG5vdCAoYW5kICg9IChtYXRjaC1lbmQgMCkgMSkKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAoPSAoYXJlZiBmaWxlbmFtZSAwKSA/LykpKQorICAgICAg ICAgICAgICAgICAgKG5vdCAoYW5kICg9IChtYXRjaC1lbmQgMCkgKDErIChsZW5ndGggcmVt b3RlLWhvc3QpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAoPSAoYXJlZiBmaWxl bmFtZSAobGVuZ3RoIHJlbW90ZS1ob3N0KSkgPy8pKSkKICAgICAgICAgICAgICAgICAgIDs7 IE1TLURPUyByb290IGRpcmVjdG9yaWVzIGNhbiBjb21lIHdpdGggYSBkcml2ZSBsZXR0ZXI7 CiAgICAgICAgICAgICAgICAgICA7OyBOb3ZlbGwgTmV0d2FyZSBhbGxvd3MgZHJpdmUgbGV0 dGVycyBiZXlvbmQgYFo6Jy4KICAgICAgICAgICAgICAgICAgIChub3QgKGFuZCAobWVtcSBz eXN0ZW0tdHlwZSAnKG1zLWRvcyB3aW5kb3dzLW50IGN5Z3dpbikpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgKHN0cmluZy1tYXRjaCAiXFxgW2EtekEtYF06L1xcJyIgZmlsZW5h bWUpKSkpKSkKLSAgICAgICAgICAoY29uY2F0ICJ+IiAoc3Vic3RyaW5nIGZpbGVuYW1lIG1i MSkpCisgICAgICAgICAgKGNvbmNhdCByZW1vdGUtaG9zdCAifiIgKHN1YnN0cmluZyBmaWxl bmFtZSBtYjEpKQogICAgICAgICBmaWxlbmFtZSkpKSkKIAogKGRlZnVuIGZpbmQtYnVmZmVy LXZpc2l0aW5nIChmaWxlbmFtZSAmb3B0aW9uYWwgcHJlZGljYXRlKQotLSAKMi4yNS4xCgo= --------------E1ED1E8F4A40B39A34597491 Content-Type: text/plain; charset=UTF-8; name="benchmark.el" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="benchmark.el" KHNldHEgcmVtb3RlLWhvc3QgIi9zc2h4OmppbUBsb2NhbGhvc3Q6IikKCihkZWZ1biBmaWxs LWRpcmVjdG9yeS1hYmJyZXYtYWxpc3QgKGNvdW50KQogIChzZXRxIGRpcmVjdG9yeS1hYmJy ZXYtYWxpc3QKICAgICAgICAobGV0IChyZXN1bHQpCiAgICAgICAgICAoZG90aW1lcyAoaSBj b3VudCByZXN1bHQpCiAgICAgICAgICAgIChzZXRxIHJlc3VsdCAoY29ucyAoY29ucyAoZm9y bWF0ICJcXGAvaG9tZS9hYmJyJWQiICgxKyBpKSkKICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIChmb3JtYXQgIi9ob21lL2FiYnIlZCIgaSkpCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICByZXN1bHQpKSkpKSkKCihkZWZ1biBydW4tdGVzdCAoY291bnQg Jm9wdGlvbmFsIHBhdGgpCiAgKGxldCogKChhYmJyZXZpYXRlLWhvbWUtZGlyIG5pbCkKICAg ICAgICAgKHBhdGggKG9yIHBhdGggIi9ob21lL3VzZXIvc3JjL3Byb2plY3QiKSkKICAgICAg ICAgKHJlbW90ZS1wYXRoIChjb25jYXQgcmVtb3RlLWhvc3QgcGF0aCkpKQogICAgKGJlbmNo bWFyayAxMDAwIGAoYWJicmV2aWF0ZS1maWxlLW5hbWUgLHBhdGgpKQogICAgKGJlbmNobWFy ayAxMDAwIGAoYWJicmV2aWF0ZS1maWxlLW5hbWUgLHJlbW90ZS1wYXRoKSkpKQoKKGZpbmQt ZmlsZSAoY29uY2F0IHJlbW90ZS1ob3N0ICJ+IikpCgoobWVzc2FnZSAiRW1wdHkgYGRpcmVj dG9yeS1hYmJyZXYtYWxpc3QnIikKKHJ1bi10ZXN0IDEwMDApCihtZXNzYWdlICIiKQoKKGZp bGwtZGlyZWN0b3J5LWFiYnJldi1hbGlzdCAxMDApCihtZXNzYWdlICIxMDAgaXRlbXMgaW4g YGRpcmVjdG9yeS1hYmJyZXYtYWxpc3QnIChubyBtYXRjaGVzKSIpCihydW4tdGVzdCAxMDAw KQoobWVzc2FnZSAiIikKCihtZXNzYWdlICIxMDAgaXRlbXMgaW4gYGRpcmVjdG9yeS1hYmJy ZXYtYWxpc3QnIChhbGwgbWF0Y2hlcykiKQoocnVuLXRlc3QgMTAwMCAiL2hvbWUvYWJicjEw MC9zcmMvcHJvamVjdCIpCihtZXNzYWdlICIiKQoKKGZpbGwtZGlyZWN0b3J5LWFiYnJldi1h bGlzdCA1MDApCihtZXNzYWdlICI1MDAgaXRlbXMgaW4gYGRpcmVjdG9yeS1hYmJyZXYtYWxp c3QnIChubyBtYXRjaGVzKSIpCihydW4tdGVzdCAxMDAwKQoobWVzc2FnZSAiIikKCihtZXNz YWdlICI1MDAgaXRlbXMgaW4gYGRpcmVjdG9yeS1hYmJyZXYtYWxpc3QnIChhbGwgbWF0Y2hl cykiKQoocnVuLXRlc3QgMTAwMCAiL2hvbWUvYWJicjEwMC9zcmMvcHJvamVjdCIpCg== --------------E1ED1E8F4A40B39A34597491 Content-Type: text/plain; charset=UTF-8; name="benchmark-results.txt" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="benchmark-results.txt" KE5vdGU6IGVhY2ggdGVzdCB1c2VzIDEwMDAgaXRlcmF0aW9ucyBvZiBhYmJyZXZpYXRlLWZp bGUtbmFtZS4pCgpWYW5pbGxhIEVtYWNzIDI5LjAuNTA6Ci0tLS0tLS0tLS0tLS0tLS0tLS0t LS0KCkVtcHR5IOKAmGRpcmVjdG9yeS1hYmJyZXYtYWxpc3TigJkKTG9jYWwgfCBFbGFwc2Vk IHRpbWU6IDAuMDUxMzM2cyAoMC4wMTYxMjVzIGluIDEgR0NzKQpUUkFNUCB8IEVsYXBzZWQg dGltZTogMi4xNzM2MjFzICgwLjUwMTY1M3MgaW4gMzggR0NzKQoKMTAwIGl0ZW1zIGluIOKA mGRpcmVjdG9yeS1hYmJyZXYtYWxpc3TigJkgKG5vIG1hdGNoZXMpCkxvY2FsIHwgRWxhcHNl ZCB0aW1lOiAwLjMxNjAyMXMgKDAuMTMzNTMxcyBpbiAxMCBHQ3MpClRSQU1QIHwgRWxhcHNl ZCB0aW1lOiAyLjQ1OTIxMnMgKDAuNjMzMzczcyBpbiA0OCBHQ3MpCgoxMDAgaXRlbXMgaW4g 4oCYZGlyZWN0b3J5LWFiYnJldi1hbGlzdOKAmSAoYWxsIG1hdGNoZXMpCkxvY2FsIHwgRWxh cHNlZCB0aW1lOiAwLjUzOTYzNnMgKDAuMzI3NjM3cyBpbiAyNSBHQ3MpClRSQU1QIHwgRWxh cHNlZCB0aW1lOiAyLjQ4NDYyOXMgKDAuNjQyNTk3cyBpbiA0OSBHQ3MpCgo1MDAgaXRlbXMg aW4g4oCYZGlyZWN0b3J5LWFiYnJldi1hbGlzdOKAmSAobm8gbWF0Y2hlcykKTG9jYWwgfCBF bGFwc2VkIHRpbWU6IDEuMDc1NjUwcyAoMC41MDAwNDNzIGluIDM4IEdDcykKVFJBTVAgfCBF bGFwc2VkIHRpbWU6IDMuMjQxNDE0cyAoMS4wMDYxNDNzIGluIDc2IEdDcykKCjUwMCBpdGVt cyBpbiDigJhkaXJlY3RvcnktYWJicmV2LWFsaXN04oCZIChhbGwgbWF0Y2hlcykKTG9jYWwg fCBFbGFwc2VkIHRpbWU6IDEuMzAyMjAxcyAoMC42OTYyNDlzIGluIDUzIEdDcykKVFJBTVAg fCBFbGFwc2VkIHRpbWU6IDMuMjYxOTg0cyAoMS4wMTgwOThzIGluIDc3IEdDcykKCgpSZW1v dmUgY2FjaGluZyAocGF0Y2hlcyAxIGFuZCAyKToKLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tCgpFbXB0eSDigJhkaXJlY3RvcnktYWJicmV2LWFsaXN04oCZCkxvY2FsIHwg RWxhcHNlZCB0aW1lOiAwLjA3NTY4NHMgKDAuMDEyOTk3cyBpbiAxIEdDcykKVFJBTVAgfCBF bGFwc2VkIHRpbWU6IDIuMTk2NjU0cyAoMC41MTQwNzVzIGluIDM5IEdDcykKCjEwMCBpdGVt cyBpbiDigJhkaXJlY3RvcnktYWJicmV2LWFsaXN04oCZIChubyBtYXRjaGVzKQpMb2NhbCB8 IEVsYXBzZWQgdGltZTogMC4zNjE0ODhzICgwLjEzMDA2NHMgaW4gMTAgR0NzKQpUUkFNUCB8 IEVsYXBzZWQgdGltZTogMi41MTc4MjVzICgwLjY0MTI4NnMgaW4gNDkgR0NzKQoKMTAwIGl0 ZW1zIGluIOKAmGRpcmVjdG9yeS1hYmJyZXYtYWxpc3TigJkgKGFsbCBtYXRjaGVzKQpMb2Nh bCB8IEVsYXBzZWQgdGltZTogMC42MTY0NzZzICgwLjM0MDE1NXMgaW4gMjYgR0NzKQpUUkFN UCB8IEVsYXBzZWQgdGltZTogMi41MzQ5MjZzICgwLjY0MTQ4NXMgaW4gNDkgR0NzKQoKNTAw IGl0ZW1zIGluIOKAmGRpcmVjdG9yeS1hYmJyZXYtYWxpc3TigJkgKG5vIG1hdGNoZXMpCkxv Y2FsIHwgRWxhcHNlZCB0aW1lOiAxLjIzOTM5OXMgKDAuNTAyMjM3cyBpbiAzOCBHQ3MpClRS QU1QIHwgRWxhcHNlZCB0aW1lOiAzLjM5NDEwOXMgKDEuMDEyMjM3cyBpbiA3NyBHQ3MpCgo1 MDAgaXRlbXMgaW4g4oCYZGlyZWN0b3J5LWFiYnJldi1hbGlzdOKAmSAoYWxsIG1hdGNoZXMp CkxvY2FsIHwgRWxhcHNlZCB0aW1lOiAxLjQ3Mjk2N3MgKDAuNzA3NTY5cyBpbiA1NCBHQ3Mp ClRSQU1QIHwgRWxhcHNlZCB0aW1lOiAzLjQwMTUxN3MgKDEuMDA4ODY1cyBpbiA3NyBHQ3Mp CgoKClRSQU1QIHN1cHBvcnQgKHBhdGNoZXMgMS0zKToKLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQoKTG9jYWwgfCBFbGFwc2VkIHRpbWU6IDAuMDc2NjIwcyAoMC4wMTM0MzRzIGlu IDEgR0NzKQpUUkFNUCB8IEVsYXBzZWQgdGltZTogMy41NDMyNjZzICgwLjg2NDcyOXMgaW4g NjQgR0NzKQoKMTAwIGl0ZW1zIGluIOKAmGRpcmVjdG9yeS1hYmJyZXYtYWxpc3TigJkgKG5v IG1hdGNoZXMpCkxvY2FsIHwgRWxhcHNlZCB0aW1lOiAwLjM2NTQwMnMgKDAuMTMxMjkwcyBp biAxMCBHQ3MpClRSQU1QIHwgRWxhcHNlZCB0aW1lOiAzLjczNjY5NnMgKDAuOTU1NDc0cyBp biA3MyBHQ3MpCgoxMDAgaXRlbXMgaW4g4oCYZGlyZWN0b3J5LWFiYnJldi1hbGlzdOKAmSAo YWxsIG1hdGNoZXMpCkxvY2FsIHwgRWxhcHNlZCB0aW1lOiAwLjYwODEyMnMgKDAuMzQwNjc3 cyBpbiAyNiBHQ3MpClRSQU1QIHwgRWxhcHNlZCB0aW1lOiAzLjgxODg2N3MgKDAuOTU2MzYx cyBpbiA3MyBHQ3MpCgo1MDAgaXRlbXMgaW4g4oCYZGlyZWN0b3J5LWFiYnJldi1hbGlzdOKA mSAobm8gbWF0Y2hlcykKTG9jYWwgfCBFbGFwc2VkIHRpbWU6IDEuMjMyMjIxcyAoMC40OTkw OTlzIGluIDM4IEdDcykKVFJBTVAgfCBFbGFwc2VkIHRpbWU6IDQuNTk5Nzk5cyAoMS4zMTM2 MjlzIGluIDEwMCBHQ3MpCgo1MDAgaXRlbXMgaW4g4oCYZGlyZWN0b3J5LWFiYnJldi1hbGlz dOKAmSAoYWxsIG1hdGNoZXMpCkxvY2FsIHwgRWxhcHNlZCB0aW1lOiAxLjQ3OTYwOXMgKDAu NzA4OTAzcyBpbiA1NCBHQ3MpClRSQU1QIHwgRWxhcHNlZCB0aW1lOiA0LjY1Njk2M3MgKDEu MzQ1MTI1cyBpbiAxMDEgR0NzKQo= --------------E1ED1E8F4A40B39A34597491--