From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Mathias Dahl Newsgroups: gmane.emacs.devel Subject: Re: feature request: view part of file Date: Thu, 14 Jun 2012 18:53:12 +0200 Message-ID: References: <87lijrszn0.fsf@gnu.org> <87d351uap6.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=e89a8ff1ca323c123f04c2718a7f X-Trace: dough.gmane.org 1339692830 24877 80.91.229.3 (14 Jun 2012 16:53:50 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Thu, 14 Jun 2012 16:53:50 +0000 (UTC) Cc: Stefan Monnier To: sds@gnu.org, emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Jun 14 18:53:47 2012 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1SfDIp-0006Pd-28 for ged-emacs-devel@m.gmane.org; Thu, 14 Jun 2012 18:53:47 +0200 Original-Received: from localhost ([::1]:58863 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SfDIp-0003je-3J for ged-emacs-devel@m.gmane.org; Thu, 14 Jun 2012 12:53:47 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:47498) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SfDIl-0003jC-Sv for emacs-devel@gnu.org; Thu, 14 Jun 2012 12:53:45 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SfDIj-0008Ou-GP for emacs-devel@gnu.org; Thu, 14 Jun 2012 12:53:43 -0400 Original-Received: from mail-pz0-f41.google.com ([209.85.210.41]:36256) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SfDIf-0008NW-Ag; Thu, 14 Jun 2012 12:53:37 -0400 Original-Received: by dakp5 with SMTP id p5so3001919dak.0 for ; Thu, 14 Jun 2012 09:53:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; bh=s1HWxMxgjt+WkH+W5KOqLdbUML1gD0BF3mgiTHdHLtA=; b=ED5uzFjVLCsBvmA6OvZfeC+eapyQBcbh8y/G2N42GIg8ugiqk1r1E7DFYCCkl4mIvJ 3TvcV80nxlR/c2/R6qShI0XE26qbvh9eLcVGDhGSVGjRCuDXeaTB0azyCOUp7fJdWsDi AULaL2Kiu2NdLHxs5xspjYngHBcCqV1sfK8Ft/oXIB5uoUJRRxnY6gkflXSNzoXY+WOe V6aJvDX9D9nQU+9nHX99p2WnyR7tOn/HmVm3Wt1SyE7YBpAn3UmVdou0Iweoph4aTA4M LKXff6VB9XHvV6p3A2Na1wnTcRLgTGv4fgKovw3WoIkPn4xZJIT2I+0/dJQHEGwxtpuc gB3g== Original-Received: by 10.68.213.102 with SMTP id nr6mr9955176pbc.112.1339692813128; Thu, 14 Jun 2012 09:53:33 -0700 (PDT) Original-Received: by 10.68.189.134 with HTTP; Thu, 14 Jun 2012 09:53:12 -0700 (PDT) In-Reply-To: <87d351uap6.fsf@gnu.org> X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 209.85.210.41 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:150945 Archived-At: --e89a8ff1ca323c123f04c2718a7f Content-Type: multipart/alternative; boundary=e89a8ff1ca323c123b04c2718a7d --e89a8ff1ca323c123b04c2718a7d Content-Type: text/plain; charset=ISO-8859-1 > > > There's vlf.el. I wish someone would take this on and develop it > > further. > > Is it okay if I clean it up and put into the emacs tree, hooking up into > the "really open this huge file" dialog? > Be my guest, do what you like with it. As you can read in the comment section of the file I created vlf.el because I got kind of tired about hearing that same question over and over again. I had no real *personal* itch. Hence I got tired of it and kind of abandoned it after some experiments. > Do we have the papers for Mathias Dahl, the vlf author? > There should be papers for me from the time when Tumme/image-dired was included in Emacs. Attached you can find my latest local version of vlf.el (working state unknown). The code should be quite clean. I get only one warning when byte compiling and only two warnings with checkdoc. It would feel nice if something "real" finally came out of it. The basic mechanisms is quite simple. What Stefan mentions about hooking into isearch sounds wicked cool :) /Mathias --e89a8ff1ca323c123b04c2718a7d Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable
> There's vlf.el. =A0I wish someone would take this on and develop = it
> further.

Is it okay if I clean it up and put into the emacs tree, hooking up i= nto
the "really open this huge file" dialog?
Be my guest, do what you like with it. As you can read in the c= omment section of the file I created vlf.el because I got kind of tired abo= ut hearing that same question over and over again. I had no real *personal*= itch. Hence I got tired of it and kind of abandoned it after some experime= nts.
=A0
Do we have the papers for Mathias Dahl, the vlf author?

There should be papers for me from the time when Tumme/ima= ge-dired was included in Emacs.

Attached you can f= ind my latest local version of vlf.el (working state unknown). The code sho= uld be quite clean. I get only one warning when byte compiling and only two= warnings with checkdoc.

It would feel nice if something "real" finall= y came out of it. The basic mechanisms is quite simple. What Stefan mention= s about hooking into isearch sounds wicked cool :)

/Mathias

--e89a8ff1ca323c123b04c2718a7d-- --e89a8ff1ca323c123f04c2718a7f Content-Type: application/octet-stream; name="vlf.el" Content-Disposition: attachment; filename="vlf.el" Content-Transfer-Encoding: base64 X-Attachment-Id: f_h3g2fugj0 Ozs7IHZsZi5lbCAtLS0gVmlldyBMYXJnZSBGaWxlcwoKOzsgQ29weXJpZ2h0IChDKSAyMDA2ICBN YXRoaWFzIERhaGwKCjs7IFZlcnNpb246IDAuMS4yCjs7IEtleXdvcmRzOiBmaWxlcywgaGVscGVy cywgdXRpbGl0aWVzCjs7IEF1dGhvcjogTWF0aGlhcyBEYWhsIDxtYXRoaWFzLnJlbTB2ZXRoMXMu ZGFobEBnbWFpbC5jb20+Cjs7IE1haW50YWluZXI6IE1hdGhpYXMgRGFobAo7OyBVUkw6IGh0dHA6 Ly93d3cuZW1hY3N3aWtpLm9yZy9jZ2ktYmluL3dpa2kvVkxGCgo7OyBUaGlzIGZpbGUgaXMgZnJl ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQo7OyBpdCB1 bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxp c2hlZCBieQo7OyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAy LCBvciAoYXQgeW91ciBvcHRpb24pCjs7IGFueSBsYXRlciB2ZXJzaW9uLgoKOzsgVGhpcyBmaWxl IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCjs7IGJ1 dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5 IG9mCjs7IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T RS4gIFNlZSB0aGUKOzsgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWls cy4KCjs7IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlCjs7IGFsb25nIHdpdGggR05VIEVtYWNzOyBzZWUgdGhlIGZpbGUgQ09Q WUlORy4gIElmIG5vdCwgd3JpdGUgdG8KOzsgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg SW5jLiwgNTkgVGVtcGxlIFBsYWNlIC0gU3VpdGUgMzMwLAo7OyBCb3N0b24sIE1BIDAyMTExLTEz MDcsIFVTQS4KCjs7OyBDb21tZW50YXJ5Ogo7OyAKOzsgQWZ0ZXIgcmVhZGluZyB0aGUgTnRoIHBv c3Qgb24gR251IEVtYWNzIEhlbHAgYWJvdXQgVmlld2luZyBMYXJnZQo7OyBGaWxlcyBpbiBFbWFj cywgaXQgaXRjaGVkIHNvIG11Y2ggdGhhdCBJIGRlY2lkZWQgdG8gbWFrZSBhIHRyeS4gIEl0Cjs7 IGhlbHBlZCBxdWl0ZSBhIGxvdCB3aGVuIEtldmluIFJvZGdlcnMgcG9zdGVkIGEgc25pcHBldCBv biBob3cgdG8KOzsgdXNlIGBpbnNlcnQtZmlsZS1jb250ZW50cycgdG8gZXh0cmFjdCBwYXJ0IG9m IGEgZmlsZS4gIEF0IGZpcnN0IEkKOzsgbWFkZSBhIHRyeSB1c2luZyBoZWFkIGFuZCB0YWlsIGFu ZCB0aGF0IHdvcmtlZCB0b28sIGJ1dCB1c2luZwo7OyBpbnRlcm5hbCBFbWFjcyBjb21tYW5kcyBp cyBuaWNlci4gIEhlcmUgaXMgdGhlIGNvZGUgdG8gZXh0cmFjdCBkYXRhCjs7IHVzaW5nIGhlYWQg YW5kIHRhaWwgaW4gY2FzZSBzb21lb25lIHdhbm5hIHRyeSB0aGF0IG91dCBpbiB0aGUKOzsgZnV0 dXJlOgoKOzsgKGRlZnVuIHZsZi1leHRyYWN0LXBhcnQtb2YtZmlsZSAoZmlsZSBmcm9tIHRvKQo7 OyAgICJSZXR1cm5zIGJ5dGVzIGluIEZJTEUgZnJvbSBGUk9NIHRvIFRPLiIKOzsgICAobGV0ICgo c2l6ZSAodmxmLWZpbGUtc2l6ZSBmaWxlKSkpCjs7ICAgICAoaWYgKG9yICg+IGZyb20gc2l6ZSkK OzsgICAgICAgICAgICAgKD4gdG8gc2l6ZSkpCjs7ICAgICAgICAgKGVycm9yICJGcm9tIG9yIHRv IGlzIGxhcmdlciB0aGF0IHRoZSBmaWxlIHNpemUiKSkKOzsgICAgICh3aXRoLXRlbXAtYnVmZmVy Cjs7ICAgICAgIChzaGVsbC1jb21tYW5kCjs7ICAgICAgICAoZm9ybWF0ICJoZWFkIC0tYnl0ZXMg JWQgJXMgfCB0YWlsIC0tYnl0ZXMgJWQiCjs7IAkgICAgICAgdG8gZmlsZSAoKyAoLSB0byBmcm9t KSAxKSkgdCkKOzsgICAgICAgKGJ1ZmZlci1zdWJzdHJpbmcgKHBvaW50LW1pbikgKHBvaW50LW1h eCkpKSkpCgo7OzsgSGlzdG9yeToKOzsKOzsgLSBXZWQgSmFuIDEwIDAwOjEzOjQ1IDIwMDcKOzsK OzsgICAgRmlyc3QgdmVyc2lvbiBjcmVhdGVkIGFuZCByZWxlYXNlZCBpbnRvIHRoZSB3aWxkLgo7 Owo7OyAtIFdlZCBKYW4gMTAgMTg6NTg6NDcgMjAwNwo7Owo7OyAgICAwLjEuMgo7Owo7OyAgICBB ZGRlZCBvcHRpb24gdG8gdXNlIGV4dGVybmFsIHRvb2xzIChoZWFkIGFuZCB0YWlsKSBmb3IKOzsg ICAgZXh0cmFjdGluZyB0aGUgZGF0YSBmcm9tIHRoZSBmaWxlLgo7Owo7OyAgICBSZWZhY3RvcmVk IGJ1ZmZlciBuYW1lIGZvcm1hdCBjb2RlIGludG8gYSBuZXcgZnVuY3Rpb24uCjs7Cjs7ICAgIFN0 YXJ0ZWQgdG8gZmlkZGxlIHdpdGggZmxvYXQvaW50ZWdlciBjb252ZXJzaW9ucy4KOzsKCjs7OyBC dWdzCjs7Cjs7IFByb2JhYmx5IHNvbWUuIEZlZWwgZnJlZSB0byBmaXggdGhlbSA6KQoKOzs7IENv ZGU6CgooZGVmZ3JvdXAgdmxmIG5pbAogICJCcm93c2UgbGFyZ2UgZmlsZXMgaW4gRW1hY3MiCiAg OnByZWZpeCAidmxmLSIKICA6Z3JvdXAgJ2ZpbGVzKQoKKGRlZmN1c3RvbSB2bGYtYmF0Y2gtc2l6 ZSAxMDAwCiAgIkRlZmluZXMgaG93IGxhcmdlIGVhY2ggYmF0Y2ggb2YgZmlsZSBkYXRhIGlzLiIK ICA6dHlwZSAnaW50ZWdlcgogIDpncm91cCAndmxmKQoKKGRlZmN1c3RvbSB2bGYtZXh0ZXJuYWwt ZXh0cmFjdGlvbiBuaWwKICAiSG93IHRvIGV4dHJhY3QgdGhlIGRhdGEgZnJvbSBhIGZpbGUuCmBu aWwnIG1lYW5zIHRvIHVzZSBpbnRlcm5hbCBleHRyYWN0aW9uLCB1c2luZwpgaW5zZXJ0LWZpbGUt Y29udGVudHMnLiBgdCcgbWVhbnMgdG8gdXNlIGV4dGVybmFsIGBoZWFkJyBhbmQKYHRhaWwnIHRv b2xzLiIKICA6dHlwZSAnYm9vbGVhbgogIDpncm91cCAndmxmKQoKKGRlZnZhciB2bGYtY3VycmVu dC1zdGFydC1wb3MgMQogICJLZWVwcyB0cmFjayBvZiBmaWxlIHBvc2l0aW9uLiIpCgooZGVmdmFy IHZsZi1jdXJyZW50LWJhdGNoLXNpemUgbmlsCiAgIktlZXBzIHRyYWNrIG9mIGN1cnJlbnQgYmF0 Y2ggc2l6ZS4iKQoKKGRlZnZhciB2bGYtY3VycmVudC1maWxlIG5pbAogICJGaWxlIHRoYXQgaXMg Y3VycmVudGx5IHZpZXdlZC4iKQoKKGRlZnZhciB2bGYtY3VycmVudC1maWxlLXNpemUgMAogICJT aXplIG9mIGN1cnJlbnQgZmlsZS4iKQoKKGRlZnZhciB2bGYtbW9kZS1tYXAgKG1ha2Utc3BhcnNl LWtleW1hcCkKICAiS2V5bWFwIGZvciBgdmxmLW1vZGUnLiIpCgooZGVmdW4gdmxmLWRlZmluZS1r ZXltYXAgKCkKICAiRGVmaW5lIGtleW1hcCBmb3IgYHZsZi1tb2RlJy4iCiAgKGRlZmluZS1rZXkg dmxmLW1vZGUtbWFwIFtuZXh0XSAndmxmLW5leHQpCiAgKGRlZmluZS1rZXkgdmxmLW1vZGUtbWFw IFtwcmlvcl0gJ3ZsZi1wcmV2KQogIChkZWZpbmUta2V5IHZsZi1tb2RlLW1hcCAicSIgJ3ZsZi1x dWl0KSkKCihkZWZpbmUtZGVyaXZlZC1tb2RlIHZsZi1tb2RlCiAgZnVuZGFtZW50YWwtbW9kZSAi dmxmLW1vZGUiCiAgIk1vZGUgdG8gYnJvd3NlIGxhcmdlIGZpbGVzIGluLgpTZWUgYHZsZicgZm9y IGRldGFpbHMuIgogICh2bGYtZGVmaW5lLWtleW1hcCkKICAodG9nZ2xlLXJlYWQtb25seSAxKQog IChtZXNzYWdlICJ2bGYtbW9kZSBlbmFibGVkIikpCgooZGVmdW4gdmxmLWZpbGUtc2l6ZSAoZmls ZSkKICAiR2V0IHNpemUgb2YgRklMRS4iCiAgKG50aCA3IChmaWxlLWF0dHJpYnV0ZXMgZmlsZSkp KQoKKGRlZnVuIHZsZi1xdWl0ICgpCiAgIlF1aXQgdmxmLiIKICAoaW50ZXJhY3RpdmUpCiAgKGtp bGwtYnVmZmVyIChjdXJyZW50LWJ1ZmZlcikpKQoKKGRlZnVuIHZsZi1leHRyYWN0LXdpdGgtaGVh ZC1hbmQtdGFpbCAoZmlsZSBmcm9tIHRvKQogICJSZXR1cm5zIGJ5dGVzIGluIEZJTEUgZnJvbSBG Uk9NIHRvIFRPLiIKICAobGV0ICgoc2l6ZSAodmxmLWZpbGUtc2l6ZSBmaWxlKSkpCiAgICAoaWYg KG9yICg+IGZyb20gc2l6ZSkKICAgICAgICAgICAgKD4gdG8gc2l6ZSkpCiAgICAgICAgKGVycm9y ICJGcm9tIG9yIHRvIGlzIGxhcmdlciB0aGF0IHRoZSBmaWxlIHNpemUiKSkKICAgICh3aXRoLXRl bXAtYnVmZmVyCiAgICAgIChzaGVsbC1jb21tYW5kCiAgICAgICAoZm9ybWF0ICJoZWFkIC0tYnl0 ZXMgJS4wZiBcIiVzXCIgfCB0YWlsIC0tYnl0ZXMgJS4wZiIKCSAgICAgICAoZmxvYXQgdG8pIChl eHBhbmQtZmlsZS1uYW1lIGZpbGUpCiAgICAgICAgICAgICAgIChmbG9hdCAoKyAoLSB0byBmcm9t KSAxKSkpIHQpCiAgICAgIChidWZmZXItc3Vic3RyaW5nIChwb2ludC1taW4pIChwb2ludC1tYXgp KSkpKQoKKGRlZnVuIHZsZi1pbnNlcnQtYmF0Y2ggKCkKICAiSW5zZXJ0IGN1cnJlbnQgYmF0Y2gg b2YgZGF0YS4iCiAgKGxldCogKChiZWcgKDEtIHZsZi1jdXJyZW50LXN0YXJ0LXBvcykpCiAgICAg ICAgKGVuZCAoKyBiZWcgdmxmLWN1cnJlbnQtYmF0Y2gtc2l6ZSkpKQogICAgKGlmIHZsZi1leHRl cm5hbC1leHRyYWN0aW9uCiAgICAgICAgKGluc2VydAogICAgICAgICAodmxmLWV4dHJhY3Qtd2l0 aC1oZWFkLWFuZC10YWlsCiAgICAgICAgICB2bGYtY3VycmVudC1maWxlICgxKyBiZWcpIGVuZCkp CiAgICAgIChpbnNlcnQtZmlsZS1jb250ZW50cwogICAgICAgdmxmLWN1cnJlbnQtZmlsZSBuaWwK ICAgICAgIChmbG9vciBiZWcpIChmbG9vciBlbmQpKSkpKQoKKGRlZnVuIHZsZi1mb3JtYXQtYnVm ZmVyLW5hbWUgKCkKICAiUmV0dXJuIGZvcm1hdCBmb3IgdmxmIGJ1ZmZlciBuYW1lLiIKICAoZm9y bWF0ICIlc1slLjBmLCUuMGYoJS4wZildIgogICAgICAgICAgKGZpbGUtbmFtZS1ub25kaXJlY3Rv cnkgdmxmLWN1cnJlbnQtZmlsZSkKICAgICAgICAgIHZsZi1jdXJyZW50LXN0YXJ0LXBvcwogICAg ICAgICAgKDEtICgrIHZsZi1jdXJyZW50LXN0YXJ0LXBvcwogICAgICAgICAgICAgICAgIHZsZi1j dXJyZW50LWJhdGNoLXNpemUpKQogICAgICAgICAgdmxmLWN1cnJlbnQtZmlsZS1zaXplKSkKCihk ZWZ1biB2bGYtbmV4dCAoKQogICJEaXNwbGF5IHRoZSBuZXh0IGJhdGNoIG9mIGZpbGUgZGF0YS4i CiAgKGludGVyYWN0aXZlKQogIChsZXQgKChpbmhpYml0LXJlYWQtb25seSB0KQogICAgICAgIGxl ZnQgbmV4dC1zdGFydC1wb3MKICAgICAgICAoc2l6ZSAodmxmLWZpbGUtc2l6ZSB2bGYtY3VycmVu dC1maWxlKSkpCiAgICAoc2V0cSBuZXh0LXN0YXJ0LXBvcyAoZmxvYXQgKCsgdmxmLWN1cnJlbnQt c3RhcnQtcG9zCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmxmLWJhdGNoLXNp emUpKSkKICAgIChpZiAoPiBuZXh0LXN0YXJ0LXBvcyBzaXplKQogICAgICAgIChtZXNzYWdlICJF bmQgb2YgZmlsZSIpCiAgICAgIChzZXRxIHZsZi1jdXJyZW50LWJhdGNoLXNpemUKICAgICAgICAg ICAgdmxmLWJhdGNoLXNpemUKICAgICAgICAgICAgdmxmLWN1cnJlbnQtc3RhcnQtcG9zIG5leHQt c3RhcnQtcG9zCiAgICAgICAgICAgIGxlZnQgKDErICgtIHNpemUgdmxmLWN1cnJlbnQtc3RhcnQt cG9zKSkpICAgICAKICAgICAgKGlmICg8IGxlZnQgdmxmLWN1cnJlbnQtYmF0Y2gtc2l6ZSkKICAg ICAgICAgIChzZXRxIHZsZi1jdXJyZW50LWJhdGNoLXNpemUgbGVmdCkpCiAgICAgIChlcmFzZS1i dWZmZXIpCiAgICAgICh2bGYtaW5zZXJ0LWJhdGNoKQogICAgICAocmVuYW1lLWJ1ZmZlcgogICAg ICAgKHZsZi1mb3JtYXQtYnVmZmVyLW5hbWUpKSkpKQoKKGRlZnVuIHZsZi1wcmV2ICgpCiAgIkRp c3BsYXkgdGhlIHByZXZpb3VzIGJhdGNoIG9mIGZpbGUgZGF0YS4iCiAgKGludGVyYWN0aXZlKQog IChpZiAoPSAxIHZsZi1jdXJyZW50LXN0YXJ0LXBvcykKICAgICAgKG1lc3NhZ2UgIkF0IGJlZ2lu bmluZyBvZiBmaWxlIikKICAgIChsZXQgKChpbmhpYml0LXJlYWQtb25seSB0KSkKICAgICAgKGVy YXNlLWJ1ZmZlcikKICAgICAgKHNldHEgdmxmLWN1cnJlbnQtc3RhcnQtcG9zICgtIHZsZi1jdXJy ZW50LXN0YXJ0LXBvcwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmxmLWJh dGNoLXNpemUpCiAgICAgICAgICAgIHZsZi1jdXJyZW50LWJhdGNoLXNpemUgdmxmLWJhdGNoLXNp emUpCiAgICAgICh2bGYtaW5zZXJ0LWJhdGNoKQogICAgICAocmVuYW1lLWJ1ZmZlcgogICAgICAg KHZsZi1mb3JtYXQtYnVmZmVyLW5hbWUpKSkpKQoKKGRlZnVuIHZsZiAoZmlsZSkKICAiVmlldyBh IGxhcmdlIGZpbGUgaW4gRW1hY3MgRklMRSBpcyB0aGUgZmlsZSB0byBvcGVuLgpCYXRjaGVzIG9m IHRoZSBmaWxlIGRhdGEgZnJvbSBGSUxFIHdpbGwgYmUgZGlzcGxheWVkIGluIGEKcmVhZC1vbmx5 IGJ1ZmZlci4gIFlvdSBjYW4gY3VzdG9taXplIHRoZSBhbW91bnQgb2YgYnl0ZXMgdG8KZGlzcGxh eSBieSBjdXN0b21pemluZyBgdmxmLWJhdGNoLXNpemUnLiIKICAoaW50ZXJhY3RpdmUgImZGaWxl IHRvIG9wZW46ICIpCiAgKHNldHEgdmxmLWN1cnJlbnQtZmlsZSBmaWxlCiAgICAgICAgdmxmLWN1 cnJlbnQtc3RhcnQtcG9zIDEKICAgICAgICB2bGYtY3VycmVudC1maWxlLXNpemUgKHZsZi1maWxl LXNpemUgZmlsZSkKICAgICAgICB2bGYtY3VycmVudC1iYXRjaC1zaXplCiAgICAgICAgKDEtICgr IHZsZi1jdXJyZW50LXN0YXJ0LXBvcwogICAgICAgICAgICAgICB2bGYtYmF0Y2gtc2l6ZSkpKQog IChzd2l0Y2gtdG8tYnVmZmVyCiAgIChnZW5lcmF0ZS1uZXctYnVmZmVyICh2bGYtZm9ybWF0LWJ1 ZmZlci1uYW1lKSkpCiAgKGVyYXNlLWJ1ZmZlcikKICAodmxmLWluc2VydC1iYXRjaCkKICAodmxm LW1vZGUpKQoKKHByb3ZpZGUgJ3ZsZikKCjs7OyB2bGYuZWwgZW5kcyBoZXJlCg== --e89a8ff1ca323c123f04c2718a7f--