From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nathaniel Flath Subject: Re: [PATH] Speedups to org-table-recalculate Date: Sun, 19 Oct 2014 21:56:41 -0400 Message-ID: References: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=089e01183f78aabb540505d106f6 Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:50122) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xg2DF-0007mF-FL for emacs-orgmode@gnu.org; Sun, 19 Oct 2014 21:56:46 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Xg2DE-0004vM-Ap for emacs-orgmode@gnu.org; Sun, 19 Oct 2014 21:56:45 -0400 Received: from mail-ob0-x22d.google.com ([2607:f8b0:4003:c01::22d]:40954) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Xg2DD-0004vG-QW for emacs-orgmode@gnu.org; Sun, 19 Oct 2014 21:56:44 -0400 Received: by mail-ob0-f173.google.com with SMTP id wp4so3099560obc.18 for ; Sun, 19 Oct 2014 18:56:41 -0700 (PDT) In-Reply-To: List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org Sender: emacs-orgmode-bounces+geo-emacs-orgmode=m.gmane.org@gnu.org To: Michael Brand Cc: org-mode List --089e01183f78aabb540505d106f6 Content-Type: multipart/alternative; boundary=089e01183f78aabb4f0505d106f4 --089e01183f78aabb4f0505d106f4 Content-Type: text/plain; charset=UTF-8 Hi Michael, Thanks for the review! Updated patches attached. I believe I've fixed everything you mentioned - let me know if I missed something. On Sun, Oct 19, 2014 at 3:57 PM, Michael Brand wrote: > Hi Nathaniel > > On Sat, Oct 18, 2014 at 7:11 AM, Nathaniel Flath > wrote: > > Patches are attached. > > I am not an expert for all the following comments, please correct me > or contradict where necessary. > > The patches do not apply on current master, so I did not try them out > yet. > > You might want to add a def-edebug-spec like there is one for many > other defmacro in Org. > Limit lines to max. 80 chars. > > It will make it easier for the maintainer Bastien to apply the patches > when you format them with git including a changelog etc. as described > here > http://orgmode.org/worg/org-contribute.html > > > + (if (not all) (message "Re-applying formula to field: %s" > (car eq)) > > + (org-table-execute-once-per-second log-last-time (message > "Re-applying formula to field: %s" (car eq)))) > > Good idea to still log always when only one table row is recalculated. > > The doubling of the message makes it more complicated to maintain its > string. I suggest to change the macro to allow > > (org-table-execute-once-per-second > (when all log-last-time) ; Log just always when `all' is nil. > (message "Re-applying formula to field: %s" (car eq))) > Why not test `all' also for the other message with "to field"? > > > > + ,@body > > + ))) > > > > + (and all (org-table-execute-once-per-second log-last-time > (message "Re-applying formulas to %d lines...done" cnt)))) > > Shouldn't this use `log-first-time'? > > > Michael > --089e01183f78aabb4f0505d106f4 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi Michael,

Thanks for the review! Updated patches = attached.=C2=A0 I believe I've fixed everything you mentioned - let me = know if I missed something.

On Sun, Oct 19, 2014 at 3:57 PM, Michael Brand <mic= hael.ch.brand@gmail.com> wrote:
Hi Nathaniel

On Sat, Oct 18, 2014 at 7:11 AM, Nathaniel Flath <flat0103@gmail.com> wrote:
> Patches are attached.

I am not an expert for all the following comments, please correct me
or contradict where necessary.

The patches do not apply on current master, so I did not try them out
yet.

You might want to add a def-edebug-spec like there is one for many
other defmacro in Org.
=C2=A0
Limit lines to max. 80 chars.

It will make it easier for the maintainer Bastien to apply the patches
when you format them with git including a changelog etc. as described
here
h= ttp://orgmode.org/worg/org-contribute.html

> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (if (not all) (message "Re-ap= plying formula to field: %s" (car eq))
> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (org-table-execute-once-per= -second log-last-time (message "Re-applying formula to field: %s"= (car eq))))

Good idea to still log always when only one table row is recalculated.

The doubling of the message makes it more complicated to maintain its
string. I suggest to change the macro to allow

=C2=A0 =C2=A0 (org-table-execute-once-per-second
=C2=A0 =C2=A0 =C2=A0(when all log-last-time)=C2=A0 ; Log just always when `= all' is nil.
=C2=A0 =C2=A0 =C2=A0(message "Re-applying formula to field: %s" (= car eq)))
=C2=A0
Why not test `all' also for the other message with "to field"= ?

=C2=A0
> +=C2=A0 =C2=A0 =C2=A0 =C2=A0,@body
> +=C2=A0 =C2=A0 =C2=A0 =C2=A0)))


> +=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (and all (org-table-execute= -once-per-second log-last-time (message "Re-applying formulas to %d li= nes...done" cnt))))

Shouldn't this use `log-first-time'?


=C2=A0
Michael

--089e01183f78aabb4f0505d106f4-- --089e01183f78aabb540505d106f6 Content-Type: application/octet-stream; name="0001-org-table.el-Add-early-return-check-to-org-table-rec.patch" Content-Disposition: attachment; filename="0001-org-table.el-Add-early-return-check-to-org-table-rec.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_i1h69rv00 RnJvbSAyYjI0ZmZjZGZhMDJiMTY1MTE0NDEyYTkwODc0YjhmM2E5YjdmMzM3IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOYXRoYW5pZWwgRmxhdGggPGZsYXQwMTAzQGdtYWlsLmNvbT4K RGF0ZTogU3VuLCAxOSBPY3QgMjAxNCAyMTowNDozMSAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMS8y XSBvcmctdGFibGUuZWw6IEFkZCBlYXJseSByZXR1cm4gY2hlY2sgdG8KIG9yZy10YWJsZS1yZWNh bGN1bGF0ZQoKKiBsaXNwL29yZy10YWJsZS5lbCAob3JnLXRhYmxlLXJlY2FsY3VsYXRlKTogQWRk IGVhcmx5IHJldHVybi4KLS0tCiBsaXNwL29yZy10YWJsZS5lbCB8IDI2MyArKysrKysrKysrKysr KysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2Vk LCAxMzQgaW5zZXJ0aW9ucygrKSwgMTI5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpc3Av b3JnLXRhYmxlLmVsIGIvbGlzcC9vcmctdGFibGUuZWwKaW5kZXggM2RiNjA4Ny4uODE2NzA5ZSAx MDA2NDQKLS0tIGEvbGlzcC9vcmctdGFibGUuZWwKKysrIGIvbGlzcC9vcmctdGFibGUuZWwKQEAg LTMwNDAsMTM2ICszMDQwLDE0MSBAQCBrbm93biB0aGF0IHRoZSB0YWJsZSB3aWxsIGJlIHJlYWxp Z25lZCBhIGxpdHRsZSBsYXRlciBhbnl3YXkuIgogCSAgIHNlZW4tZmllbGRzIGxoczEKIAkgICBi ZWcgZW5kIGVudHJ5IGVxbG51bSBlcWxuYW1lIGVxbG5hbWUxIGVxbCAoY250IDApIGVxIGEgbmFt ZSBuYW1lMSkKICAgICAgIDs7IEluc2VydCBjb25zdGFudHMgaW4gYWxsIGZvcm11bGFzCi0gICAg ICAoc2V0cSBlcWxpc3QKLQkgICAgKG1hcGNhciAobGFtYmRhICh4KQotCQkgICAgICAoaWYgKHN0 cmluZy1tYXRjaCAiXkAtP0krIiAoY2FyIHgpKQotCQkJICAodXNlci1lcnJvciAiQ2FuJ3QgYXNz aWduIHRvIGhsaW5lIHJlbGF0aXZlIHJlZmVyZW5jZSIpKQotCQkgICAgICAod2hlbiAoc3RyaW5n LW1hdGNoICJcXGAkWzw+XSIgKGNhciB4KSkKLQkJCShzZXRxIGxoczEgKGNhciB4KSkKLQkJCShz ZXRxIHggKGNvbnMgKHN1YnN0cmluZwotCQkJCSAgICAgICAob3JnLXRhYmxlLWZvcm11bGEtaGFu ZGxlLWZpcnN0L2xhc3QtcmMKLQkJCQkJKGNhciB4KSkgMSkKLQkJCQkgICAgICAoY2RyIHgpKSkK LQkJCShpZiAoYXNzb2MgKGNhciB4KSBlcWxpc3QxKQotCQkJICAgICh1c2VyLWVycm9yICJcIiVz PVwiIGZvcm11bGEgdHJpZXMgdG8gb3ZlcndyaXRlIGV4aXN0aW5nIGZvcm11bGEgZm9yIGNvbHVt biAlcyIKKyAgICAgICh3aGVuIGVxbGlzdAorCShzZXRxIGVxbGlzdAorCSAgICAgIChtYXBjYXIK KwkgICAgICAgKGxhbWJkYSAoeCkKKwkJIChpZiAoc3RyaW5nLW1hdGNoICJeQC0/SSsiIChjYXIg eCkpCisJCSAgICAgKHVzZXItZXJyb3IgIkNhbid0IGFzc2lnbiB0byBobGluZSByZWxhdGl2ZSBy ZWZlcmVuY2UiKSkKKwkJICh3aGVuIChzdHJpbmctbWF0Y2ggIlxcYCRbPD5dIiAoY2FyIHgpKQor CQkgICAoc2V0cSBsaHMxIChjYXIgeCkpCisJCSAgIChzZXRxIHggKGNvbnMgKHN1YnN0cmluZwor CQkJCSAgKG9yZy10YWJsZS1mb3JtdWxhLWhhbmRsZS1maXJzdC9sYXN0LXJjCisJCQkJICAgKGNh ciB4KSkgMSkKKwkJCQkgKGNkciB4KSkpCisJCSAgIChpZiAoYXNzb2MgKGNhciB4KSBlcWxpc3Qx KQorCQkgICAgICAgKHVzZXItZXJyb3IgIlwiJXM9XCIgZm9ybXVsYSB0cmllcyB0byBvdmVyd3Jp dGUgZXhpc3RpbmcgZm9ybXVsYSBmb3IgY29sdW1uICVzIgogCQkJCSAgIGxoczEgKGNhciB4KSkp KQotCQkgICAgICAoY29ucwotCQkgICAgICAgKG9yZy10YWJsZS1mb3JtdWxhLWhhbmRsZS1maXJz dC9sYXN0LXJjIChjYXIgeCkpCi0JCSAgICAgICAob3JnLXRhYmxlLWZvcm11bGEtc3Vic3RpdHV0 ZS1uYW1lcwotCQkJKG9yZy10YWJsZS1mb3JtdWxhLWhhbmRsZS1maXJzdC9sYXN0LXJjIChjZHIg eCkpKSkpCi0JCSAgICBlcWxpc3QpKQotICAgICAgOzsgU3BsaXQgdGhlIGVxdWF0aW9uIGxpc3QK LSAgICAgICh3aGlsZSAoc2V0cSBlcSAocG9wIGVxbGlzdCkpCi0JKGlmICg8PSAoc3RyaW5nLXRv LWNoYXIgKGNhciBlcSkpID85KQotCSAgICAocHVzaCBlcSBlcWxudW0pCi0JICAocHVzaCBlcSBl cWxuYW1lKSkpCi0gICAgICAoc2V0cSBlcWxudW0gKG5yZXZlcnNlIGVxbG51bSkgZXFsbmFtZSAo bnJldmVyc2UgZXFsbmFtZSkpCi0gICAgICA7OyBFeHBhbmQgcmFuZ2VzIGluIGxocyBvZiBmb3Jt dWxhcwotICAgICAgKHNldHEgZXFsbmFtZSAob3JnLXRhYmxlLWV4cGFuZC1saHMtcmFuZ2VzIGVx bG5hbWUpKQotCi0gICAgICA7OyBHZXQgdGhlIGNvcnJlY3QgbGluZSByYW5nZSB0byBwcm9jZXNz Ci0gICAgICAoaWYgYWxsCi0JICAocHJvZ24KLQkgICAgKHNldHEgZW5kIChtb3ZlLW1hcmtlciAo bWFrZS1tYXJrZXIpICgxKyAob3JnLXRhYmxlLWVuZCkpKSkKLQkgICAgKGdvdG8tY2hhciAoc2V0 cSBiZWcgKG9yZy10YWJsZS1iZWdpbikpKQotCSAgICAoaWYgKHJlLXNlYXJjaC1mb3J3YXJkIG9y Zy10YWJsZS1jYWxjdWxhdGUtbWFyay1yZWdleHAgZW5kIHQpCi0JCTs7IFRoaXMgaXMgYSB0YWJs ZSB3aXRoIG1hcmtlZCBsaW5lcywgY29tcHV0ZSBzZWxlY3RlZCBsaW5lcwotCQkoc2V0cSBsaW5l LXJlIG9yZy10YWJsZS1yZWNhbGN1bGF0ZS1yZWdleHApCi0JICAgICAgOzsgTW92ZSBmb3J3YXJk IHRvIHRoZSBmaXJzdCBub24taGVhZGVyIGxpbmUKLQkgICAgICAoaWYgKGFuZCAocmUtc2VhcmNo LWZvcndhcmQgb3JnLXRhYmxlLWRhdGFsaW5lLXJlZ2V4cCBlbmQgdCkKLQkJICAgICAgIChyZS1z ZWFyY2gtZm9yd2FyZCBvcmctdGFibGUtaGxpbmUtcmVnZXhwIGVuZCB0KQotCQkgICAgICAgKHJl LXNlYXJjaC1mb3J3YXJkIG9yZy10YWJsZS1kYXRhbGluZS1yZWdleHAgZW5kIHQpKQotCQkgIChz ZXRxIGJlZyAobWF0Y2gtYmVnaW5uaW5nIDApKQotCQluaWwpKSkgOzsganVzdCBsZWF2ZSBiZWcg d2hlcmUgaXQgaXMKLQkoc2V0cSBiZWcgKHBvaW50LWF0LWJvbCkKLQkgICAgICBlbmQgKG1vdmUt bWFya2VyIChtYWtlLW1hcmtlcikgKDErIChwb2ludC1hdC1lb2wpKSkpKQotICAgICAgKGdvdG8t Y2hhciBiZWcpCi0gICAgICAoYW5kIGFsbCAobWVzc2FnZSAiUmUtYXBwbHlpbmcgZm9ybXVsYXMg dG8gZnVsbCB0YWJsZS4uLiIpKQotCi0gICAgICA7OyBGaXJzdCBmaW5kIHRoZSBuYW1lZCBmaWVs ZHMsIGFuZCBtYXJrIHRoZW0gdW50b3VjaGFibGUuCi0gICAgICA7OyBBbHNvIGNoZWNrIGlmIHNl dmVyYWwgZmllbGQvcmFuZ2UgZm9ybXVsYXMgdHJ5IHRvIHNldCB0aGUgc2FtZSBmaWVsZC4KLSAg ICAgIChyZW1vdmUtdGV4dC1wcm9wZXJ0aWVzIGJlZyBlbmQgJyhvcmctdW50b3VjaGFibGUgdCkp Ci0gICAgICAod2hpbGUgKHNldHEgZXEgKHBvcCBlcWxuYW1lKSkKLQkoc2V0cSBuYW1lIChjYXIg ZXEpCi0JICAgICAgYSAoYXNzb2MgbmFtZSBvcmctdGFibGUtbmFtZWQtZmllbGQtbG9jYXRpb25z KSkKLQkoc2V0cSBuYW1lMSBuYW1lKQotCShpZiBhIChzZXRxIG5hbWUxIChmb3JtYXQgIkAlZCQl ZCIgKG9yZy10YWJsZS1saW5lLXRvLWRsaW5lIChudGggMSBhKSkKLQkJCQkgIChudGggMiBhKSkp KQotCSh3aGVuIChtZW1iZXIgbmFtZTEgc2Vlbi1maWVsZHMpCi0JICAodXNlci1lcnJvciAiU2V2 ZXJhbCBmaWVsZC9yYW5nZSBmb3JtdWxhcyB0cnkgdG8gc2V0ICVzIiBuYW1lMSkpCi0JKHB1c2gg bmFtZTEgc2Vlbi1maWVsZHMpCi0KLQkoYW5kIChub3QgYSkKLQkgICAgIChzdHJpbmctbWF0Y2gg IkBcXChbMC05XStcXClcXCRcXChbMC05XStcXCkiIG5hbWUpCi0JICAgICAoc2V0cSBhIChsaXN0 IG5hbWUKLQkJCSAgIChjb25kaXRpb24tY2FzZSBuaWwKLQkJCSAgICAgICAoYXJlZiBvcmctdGFi bGUtZGxpbmVzCi0JCQkJICAgICAoc3RyaW5nLXRvLW51bWJlciAobWF0Y2gtc3RyaW5nIDEgbmFt ZSkpKQotCQkJICAgICAoZXJyb3IgKHVzZXItZXJyb3IgIkludmFsaWQgcm93IG51bWJlciBpbiAl cyIKLQkJCQkJICAgbmFtZSkpKQotCQkJICAgKHN0cmluZy10by1udW1iZXIgKG1hdGNoLXN0cmlu ZyAyIG5hbWUpKSkpKQotCSh3aGVuIChhbmQgYSAob3IgYWxsIChlcXVhbCAobnRoIDEgYSkgdGhp c2xpbmUpKSkKLQkgIChtZXNzYWdlICJSZS1hcHBseWluZyBmb3JtdWxhIHRvIGZpZWxkOiAlcyIg bmFtZSkKLQkgIChvcmctZ290by1saW5lIChudGggMSBhKSkKLQkgIChvcmctdGFibGUtZ290by1j b2x1bW4gKG50aCAyIGEpKQotCSAgKHB1c2ggKGFwcGVuZCBhIChsaXN0IChjZHIgZXEpKSkgZXFs bmFtZTEpCi0JICAob3JnLXRhYmxlLXB1dC1maWVsZC1wcm9wZXJ0eSA6b3JnLXVudG91Y2hhYmxl IHQpKSkKLSAgICAgIChzZXRxIGVxbG5hbWUxIChucmV2ZXJzZSBlcWxuYW1lMSkpCi0KLSAgICAg IDs7IE5vdyBldmFsdWF0ZSB0aGUgY29sdW1uIGZvcm11bGFzLCBidXQgc2tpcCBmaWVsZHMgY292 ZXJlZCBieQotICAgICAgOzsgZmllbGQgZm9ybXVsYXMKLSAgICAgIChnb3RvLWNoYXIgYmVnKQot ICAgICAgKHdoaWxlIChyZS1zZWFyY2gtZm9yd2FyZCBsaW5lLXJlIGVuZCB0KQotCSh1bmxlc3Mg KHN0cmluZy1tYXRjaCAiXiAqW19eISQvXSAqJCIgKG9yZy10YWJsZS1nZXQtZmllbGQgMSkpCi0J ICA7OyBVbnByb3RlY3RlZCBsaW5lLCByZWNhbGN1bGF0ZQotCSAgKGFuZCBhbGwgKG1lc3NhZ2Ug IlJlLWFwcGx5aW5nIGZvcm11bGFzIHRvIGZ1bGwgdGFibGUuLi4obGluZSAlZCkiCi0JCQkgICAg KHNldHEgY250ICgxKyBjbnQpKSkpCi0JICAoc2V0cSBvcmctbGFzdC1yZWNhbGMtbGluZSAob3Jn LWN1cnJlbnQtbGluZSkpCi0JICAoc2V0cSBlcWwgZXFsbnVtKQotCSAgKHdoaWxlIChzZXRxIGVu dHJ5IChwb3AgZXFsKSkKLQkgICAgKG9yZy1nb3RvLWxpbmUgb3JnLWxhc3QtcmVjYWxjLWxpbmUp Ci0JICAgIChvcmctdGFibGUtZ290by1jb2x1bW4gKHN0cmluZy10by1udW1iZXIgKGNhciBlbnRy eSkpIG5pbCAnZm9yY2UpCi0JICAgICh1bmxlc3MgKGdldC10ZXh0LXByb3BlcnR5IChwb2ludCkg Om9yZy11bnRvdWNoYWJsZSkKLQkgICAgICAob3JnLXRhYmxlLWV2YWwtZm9ybXVsYSBuaWwgKGNk ciBlbnRyeSkKLQkJCQkgICAgICAnbm9hbGlnbiAnbm9jc3QgJ25vc3RvcmUgJ25vYW5hbHlzaXMp KSkpKQotCi0gICAgICA7OyBOb3cgZXZhbHVhdGUgdGhlIGZpZWxkIGZvcm11bGFzCi0gICAgICAo d2hpbGUgKHNldHEgZXEgKHBvcCBlcWxuYW1lMSkpCi0JKG1lc3NhZ2UgIlJlLWFwcGx5aW5nIGZv cm11bGEgdG8gZmllbGQ6ICVzIiAoY2FyIGVxKSkKLQkob3JnLWdvdG8tbGluZSAobnRoIDEgZXEp KQotCShsZXQgKChjb2x1bW4tdGFyZ2V0IChudGggMiBlcSkpKQotCSAgKHdoZW4gKD4gY29sdW1u LXRhcmdldCAxMDAwKQotCSAgICAodXNlci1lcnJvciAiRm9ybXVsYSBjb2x1bW4gdGFyZ2V0IHRv byBsYXJnZSIpKQotCSAgKGxldCogKChjb2x1bW4tY291bnQgKHByb2duIChlbmQtb2YtbGluZSkK LQkJCQkgICAgICAoMS0gKG9yZy10YWJsZS1jdXJyZW50LWNvbHVtbikpKSkKLQkJIChjcmVhdGUt bmV3LWNvbHVtbgotCQkgIChhbmQgKD4gY29sdW1uLXRhcmdldCBjb2x1bW4tY291bnQpCi0JCSAg ICAgICAob3IgKGVxIG9yZy10YWJsZS1mb3JtdWxhLWNyZWF0ZS1jb2x1bW5zIHQpCi0JCQkgICAo YW5kCi0JCQkgICAgKGVxIG9yZy10YWJsZS1mb3JtdWxhLWNyZWF0ZS1jb2x1bW5zICd3YXJuKQot CQkJICAgIChwcm9nbgotCQkJICAgICAgKG9yZy1kaXNwbGF5LXdhcm5pbmcgIk91dC1vZi1ib3Vu ZHMgZm9ybXVsYSBhZGRlZCBjb2x1bW5zIikKLQkJCSAgICAgIHQpKQotCQkJICAgKGFuZAotCQkJ ICAgIChlcSBvcmctdGFibGUtZm9ybXVsYS1jcmVhdGUtY29sdW1ucyAncHJvbXB0KQotCQkJICAg ICh5ZXMtb3Itbm8tcCAiT3V0LW9mLWJvdW5kcyBmb3JtdWxhLiBBZGQgY29sdW1ucz8iKSkpKSkp Ci0JICAgIChvcmctdGFibGUtZ290by1jb2x1bW4gY29sdW1uLXRhcmdldCBuaWwgY3JlYXRlLW5l dy1jb2x1bW4pKQotCi0JICAob3JnLXRhYmxlLWV2YWwtZm9ybXVsYSBuaWwgKG50aCAzIGVxKSAn bm9hbGlnbiAnbm9jc3QKLQkJCQkgICdub3N0b3JlICdub2FuYWx5c2lzKSkpCi0KLSAgICAgIChv cmctZ290by1saW5lIHRoaXNsaW5lKQotICAgICAgKG9yZy10YWJsZS1nb3RvLWNvbHVtbiB0aGlz Y29sKQotICAgICAgKHJlbW92ZS10ZXh0LXByb3BlcnRpZXMgKHBvaW50LW1pbikgKHBvaW50LW1h eCkgJyhvcmctdW50b3VjaGFibGUgdCkpCi0gICAgICAob3Igbm9hbGlnbiAoYW5kIG9yZy10YWJs ZS1tYXktbmVlZC11cGRhdGUgKG9yZy10YWJsZS1hbGlnbikpCi0JICAoYW5kIGFsbCAobWVzc2Fn ZSAiUmUtYXBwbHlpbmcgZm9ybXVsYXMgdG8gJWQgbGluZXMuLi5kb25lIiBjbnQpKSkKLQotICAg ICAgOzsgYmFjayB0byBpbml0aWFsIHBvc2l0aW9uCi0gICAgICAobWVzc2FnZSAiUmUtYXBwbHlp bmcgZm9ybXVsYXMuLi5kb25lIikKLSAgICAgIChvcmctZ290by1saW5lIHRoaXNsaW5lKQotICAg ICAgKG9yZy10YWJsZS1nb3RvLWNvbHVtbiB0aGlzY29sKQotICAgICAgKG9yIG5vYWxpZ24gKGFu ZCBvcmctdGFibGUtbWF5LW5lZWQtdXBkYXRlIChvcmctdGFibGUtYWxpZ24pKQotCSAgKGFuZCBh bGwgKG1lc3NhZ2UgIlJlLWFwcGx5aW5nIGZvcm11bGFzLi4uZG9uZSIpKSkpKSkKKwkJIChjb25z CisJCSAgKG9yZy10YWJsZS1mb3JtdWxhLWhhbmRsZS1maXJzdC9sYXN0LXJjIChjYXIgeCkpCisJ CSAgKG9yZy10YWJsZS1mb3JtdWxhLXN1YnN0aXR1dGUtbmFtZXMKKwkJICAgKG9yZy10YWJsZS1m b3JtdWxhLWhhbmRsZS1maXJzdC9sYXN0LXJjIChjZHIgeCkpKSkpCisJICAgICAgIGVxbGlzdCkp CisJOzsgU3BsaXQgdGhlIGVxdWF0aW9uIGxpc3QKKwkod2hpbGUgKHNldHEgZXEgKHBvcCBlcWxp c3QpKQorCSAgKGlmICg8PSAoc3RyaW5nLXRvLWNoYXIgKGNhciBlcSkpID85KQorCSAgICAgIChw dXNoIGVxIGVxbG51bSkKKwkgICAgKHB1c2ggZXEgZXFsbmFtZSkpKQorCShzZXRxIGVxbG51bSAo bnJldmVyc2UgZXFsbnVtKSBlcWxuYW1lIChucmV2ZXJzZSBlcWxuYW1lKSkKKwk7OyBFeHBhbmQg cmFuZ2VzIGluIGxocyBvZiBmb3JtdWxhcworCShzZXRxIGVxbG5hbWUgKG9yZy10YWJsZS1leHBh bmQtbGhzLXJhbmdlcyBlcWxuYW1lKSkKKworCTs7IEdldCB0aGUgY29ycmVjdCBsaW5lIHJhbmdl IHRvIHByb2Nlc3MKKwkoaWYgYWxsCisJICAgIChwcm9nbgorCSAgICAgIChzZXRxIGVuZCAobW92 ZS1tYXJrZXIgKG1ha2UtbWFya2VyKSAoMSsgKG9yZy10YWJsZS1lbmQpKSkpCisJICAgICAgKGdv dG8tY2hhciAoc2V0cSBiZWcgKG9yZy10YWJsZS1iZWdpbikpKQorCSAgICAgIChpZiAocmUtc2Vh cmNoLWZvcndhcmQgb3JnLXRhYmxlLWNhbGN1bGF0ZS1tYXJrLXJlZ2V4cCBlbmQgdCkKKwkJICA7 OyBUaGlzIGlzIGEgdGFibGUgd2l0aCBtYXJrZWQgbGluZXMsIGNvbXB1dGUgc2VsZWN0ZWQgbGlu ZXMKKwkJICAoc2V0cSBsaW5lLXJlIG9yZy10YWJsZS1yZWNhbGN1bGF0ZS1yZWdleHApCisJCTs7 IE1vdmUgZm9yd2FyZCB0byB0aGUgZmlyc3Qgbm9uLWhlYWRlciBsaW5lCisJCShpZiAoYW5kIChy ZS1zZWFyY2gtZm9yd2FyZCBvcmctdGFibGUtZGF0YWxpbmUtcmVnZXhwIGVuZCB0KQorCQkJIChy ZS1zZWFyY2gtZm9yd2FyZCBvcmctdGFibGUtaGxpbmUtcmVnZXhwIGVuZCB0KQorCQkJIChyZS1z ZWFyY2gtZm9yd2FyZCBvcmctdGFibGUtZGF0YWxpbmUtcmVnZXhwIGVuZCB0KSkKKwkJICAgIChz ZXRxIGJlZyAobWF0Y2gtYmVnaW5uaW5nIDApKQorCQkgIG5pbCkpKSA7OyBqdXN0IGxlYXZlIGJl ZyB3aGVyZSBpdCBpcworCSAgKHNldHEgYmVnIChwb2ludC1hdC1ib2wpCisJCWVuZCAobW92ZS1t YXJrZXIgKG1ha2UtbWFya2VyKSAoMSsgKHBvaW50LWF0LWVvbCkpKSkpCisJKGdvdG8tY2hhciBi ZWcpCisJKGFuZCBhbGwgKG1lc3NhZ2UgIlJlLWFwcGx5aW5nIGZvcm11bGFzIHRvIGZ1bGwgdGFi bGUuLi4iKSkKKworCTs7IEZpcnN0IGZpbmQgdGhlIG5hbWVkIGZpZWxkcywgYW5kIG1hcmsgdGhl bSB1bnRvdWNoYWJsZS4KKwk7OyBBbHNvIGNoZWNrIGlmIHNldmVyYWwgZmllbGQvcmFuZ2UgZm9y bXVsYXMgdHJ5IHRvIHNldCB0aGUgc2FtZSBmaWVsZC4KKwkocmVtb3ZlLXRleHQtcHJvcGVydGll cyBiZWcgZW5kICcob3JnLXVudG91Y2hhYmxlIHQpKQorCSh3aGlsZSAoc2V0cSBlcSAocG9wIGVx bG5hbWUpKQorCSAgKHNldHEgbmFtZSAoY2FyIGVxKQorCQlhIChhc3NvYyBuYW1lIG9yZy10YWJs ZS1uYW1lZC1maWVsZC1sb2NhdGlvbnMpKQorCSAgKHNldHEgbmFtZTEgbmFtZSkKKwkgIChpZiBh IChzZXRxIG5hbWUxIChmb3JtYXQgIkAlZCQlZCIgKG9yZy10YWJsZS1saW5lLXRvLWRsaW5lIChu dGggMSBhKSkKKwkJCQkgICAgKG50aCAyIGEpKSkpCisJICAod2hlbiAobWVtYmVyIG5hbWUxIHNl ZW4tZmllbGRzKQorCSAgICAodXNlci1lcnJvciAiU2V2ZXJhbCBmaWVsZC9yYW5nZSBmb3JtdWxh cyB0cnkgdG8gc2V0ICVzIiBuYW1lMSkpCisJICAocHVzaCBuYW1lMSBzZWVuLWZpZWxkcykKKwor CSAgKGFuZCAobm90IGEpCisJICAgICAgIChzdHJpbmctbWF0Y2ggIkBcXChbMC05XStcXClcXCRc XChbMC05XStcXCkiIG5hbWUpCisJICAgICAgIChzZXRxIGEgKGxpc3QgbmFtZQorCQkJICAgICAo Y29uZGl0aW9uLWNhc2UgbmlsCisJCQkJIChhcmVmIG9yZy10YWJsZS1kbGluZXMKKwkJCQkgICAg ICAgKHN0cmluZy10by1udW1iZXIgKG1hdGNoLXN0cmluZyAxIG5hbWUpKSkKKwkJCSAgICAgICAo ZXJyb3IgKHVzZXItZXJyb3IgIkludmFsaWQgcm93IG51bWJlciBpbiAlcyIKKwkJCQkJCSAgbmFt ZSkpKQorCQkJICAgICAoc3RyaW5nLXRvLW51bWJlciAobWF0Y2gtc3RyaW5nIDIgbmFtZSkpKSkp CisJICAod2hlbiAoYW5kIGEgKG9yIGFsbCAoZXF1YWwgKG50aCAxIGEpIHRoaXNsaW5lKSkpCisJ ICAgIChtZXNzYWdlICJSZS1hcHBseWluZyBmb3JtdWxhIHRvIGZpZWxkOiAlcyIgbmFtZSkKKwkg ICAgKG9yZy1nb3RvLWxpbmUgKG50aCAxIGEpKQorCSAgICAob3JnLXRhYmxlLWdvdG8tY29sdW1u IChudGggMiBhKSkKKwkgICAgKHB1c2ggKGFwcGVuZCBhIChsaXN0IChjZHIgZXEpKSkgZXFsbmFt ZTEpCisJICAgIChvcmctdGFibGUtcHV0LWZpZWxkLXByb3BlcnR5IDpvcmctdW50b3VjaGFibGUg dCkpKQorCShzZXRxIGVxbG5hbWUxIChucmV2ZXJzZSBlcWxuYW1lMSkpCisKKwk7OyBOb3cgZXZh bHVhdGUgdGhlIGNvbHVtbiBmb3JtdWxhcywgYnV0IHNraXAgZmllbGRzIGNvdmVyZWQKKwk7OyBi eSBmaWVsZCBmb3JtdWxhcworCShnb3RvLWNoYXIgYmVnKQorCSh3aGlsZSAocmUtc2VhcmNoLWZv cndhcmQgbGluZS1yZSBlbmQgdCkKKwkgICh1bmxlc3MgKHN0cmluZy1tYXRjaCAiXiAqW19eISQv XSAqJCIgKG9yZy10YWJsZS1nZXQtZmllbGQgMSkpCisJICAgIDs7IFVucHJvdGVjdGVkIGxpbmUs IHJlY2FsY3VsYXRlCisJICAgIChhbmQgYWxsIChtZXNzYWdlICJSZS1hcHBseWluZyBmb3JtdWxh cyB0byBmdWxsIHRhYmxlLi4uKGxpbmUgJWQpIgorCQkJICAgICAgKHNldHEgY250ICgxKyBjbnQp KSkpCisJICAgIChzZXRxIG9yZy1sYXN0LXJlY2FsYy1saW5lIChvcmctY3VycmVudC1saW5lKSkK KwkgICAgKHNldHEgZXFsIGVxbG51bSkKKwkgICAgKHdoaWxlIChzZXRxIGVudHJ5IChwb3AgZXFs KSkKKwkgICAgICAob3JnLWdvdG8tbGluZSBvcmctbGFzdC1yZWNhbGMtbGluZSkKKwkgICAgICAo b3JnLXRhYmxlLWdvdG8tY29sdW1uIChzdHJpbmctdG8tbnVtYmVyIChjYXIgZW50cnkpKSBuaWwg J2ZvcmNlKQorCSAgICAgICh1bmxlc3MgKGdldC10ZXh0LXByb3BlcnR5IChwb2ludCkgOm9yZy11 bnRvdWNoYWJsZSkKKwkJKG9yZy10YWJsZS1ldmFsLWZvcm11bGEKKwkJIG5pbCAoY2RyIGVudHJ5 KQorCQkgJ25vYWxpZ24gJ25vY3N0ICdub3N0b3JlICdub2FuYWx5c2lzKSkpKSkKKworCTs7IE5v dyBldmFsdWF0ZSB0aGUgZmllbGQgZm9ybXVsYXMKKwkod2hpbGUgKHNldHEgZXEgKHBvcCBlcWxu YW1lMSkpCisJICAobWVzc2FnZSAiUmUtYXBwbHlpbmcgZm9ybXVsYSB0byBmaWVsZDogJXMiIChj YXIgZXEpKQorCSAgKG9yZy1nb3RvLWxpbmUgKG50aCAxIGVxKSkKKwkgIChsZXQgKChjb2x1bW4t dGFyZ2V0IChudGggMiBlcSkpKQorCSAgICAod2hlbiAoPiBjb2x1bW4tdGFyZ2V0IDEwMDApCisJ ICAgICAgKHVzZXItZXJyb3IgIkZvcm11bGEgY29sdW1uIHRhcmdldCB0b28gbGFyZ2UiKSkKKwkg ICAgKGxldCogKChjb2x1bW4tY291bnQgKHByb2duIChlbmQtb2YtbGluZSkKKwkJCQkJKDEtIChv cmctdGFibGUtY3VycmVudC1jb2x1bW4pKSkpCisJCSAgIChjcmVhdGUtbmV3LWNvbHVtbgorCQkg ICAgKGFuZCAoPiBjb2x1bW4tdGFyZ2V0IGNvbHVtbi1jb3VudCkKKwkJCSAob3IgKGVxIG9yZy10 YWJsZS1mb3JtdWxhLWNyZWF0ZS1jb2x1bW5zIHQpCisJCQkgICAgIChhbmQKKwkJCSAgICAgIChl cSBvcmctdGFibGUtZm9ybXVsYS1jcmVhdGUtY29sdW1ucyAnd2FybikKKwkJCSAgICAgIChwcm9n bgorCQkJCShvcmctZGlzcGxheS13YXJuaW5nCisJCQkJICJPdXQtb2YtYm91bmRzIGZvcm11bGEg YWRkZWQgY29sdW1ucyIpCisJCQkJdCkpCisJCQkgICAgIChhbmQKKwkJCSAgICAgIChlcSBvcmct dGFibGUtZm9ybXVsYS1jcmVhdGUtY29sdW1ucyAncHJvbXB0KQorCQkJICAgICAgKHllcy1vci1u by1wCisJCQkgICAgICAgIk91dC1vZi1ib3VuZHMgZm9ybXVsYS4gQWRkIGNvbHVtbnM/IikpKSkp KQorCSAgICAgIChvcmctdGFibGUtZ290by1jb2x1bW4gY29sdW1uLXRhcmdldCBuaWwgY3JlYXRl LW5ldy1jb2x1bW4pKQorCisJICAgIChvcmctdGFibGUtZXZhbC1mb3JtdWxhIG5pbCAobnRoIDMg ZXEpICdub2FsaWduICdub2NzdAorCQkJCSAgICAnbm9zdG9yZSAnbm9hbmFseXNpcykpKQorCisJ KG9yZy1nb3RvLWxpbmUgdGhpc2xpbmUpCisJKG9yZy10YWJsZS1nb3RvLWNvbHVtbiB0aGlzY29s KQorCShyZW1vdmUtdGV4dC1wcm9wZXJ0aWVzIChwb2ludC1taW4pIChwb2ludC1tYXgpICcob3Jn LXVudG91Y2hhYmxlIHQpKQorCShvciBub2FsaWduIChhbmQgb3JnLXRhYmxlLW1heS1uZWVkLXVw ZGF0ZSAob3JnLXRhYmxlLWFsaWduKSkKKwkgICAgKGFuZCBhbGwgKG1lc3NhZ2UgIlJlLWFwcGx5 aW5nIGZvcm11bGFzIHRvICVkIGxpbmVzLi4uZG9uZSIgY250KSkpCisKKwk7OyBiYWNrIHRvIGlu aXRpYWwgcG9zaXRpb24KKwkobWVzc2FnZSAiUmUtYXBwbHlpbmcgZm9ybXVsYXMuLi5kb25lIikK Kwkob3JnLWdvdG8tbGluZSB0aGlzbGluZSkKKwkob3JnLXRhYmxlLWdvdG8tY29sdW1uIHRoaXNj b2wpCisJKG9yIG5vYWxpZ24gKGFuZCBvcmctdGFibGUtbWF5LW5lZWQtdXBkYXRlIChvcmctdGFi bGUtYWxpZ24pKQorCSAgICAoYW5kIGFsbCAobWVzc2FnZSAiUmUtYXBwbHlpbmcgZm9ybXVsYXMu Li5kb25lIikpKSkpKSkKIAogOzs7IyMjYXV0b2xvYWQKIChkZWZ1biBvcmctdGFibGUtaXRlcmF0 ZSAoJm9wdGlvbmFsIGFyZykKLS0gCjEuOC41LjIgKEFwcGxlIEdpdC00OCkKCg== --089e01183f78aabb540505d106f6 Content-Type: application/octet-stream; name="0002-org-table.el-Print-far-fewer-messages-when-recalcula.patch" Content-Disposition: attachment; filename="0002-org-table.el-Print-far-fewer-messages-when-recalcula.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_i1h69rvu1 RnJvbSAwZDBiMmEzNzQ0MjU3YTI3NGY2ZTEwMmQ5YzJkYzY1ZGZiZjA5YTFjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOYXRoYW5pZWwgRmxhdGggPGZsYXQwMTAzQGdtYWlsLmNvbT4K RGF0ZTogU3VuLCAxOSBPY3QgMjAxNCAyMTo1NTowNSAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggMi8y XSBvcmctdGFibGUuZWw6IFByaW50IGZhciBmZXdlciBtZXNzYWdlcyB3aGVuIHJlY2FsY3VsYXRp bmcKIHRhYmxlcy4KCiogbGlzcC9vcmctdGFibGUuZWwgKG9yZy10YWJsZS1yZWNhbGN1bGF0ZSk6 IFJlbW92ZWQgbWVzc2FnZSBmb3Igc3RhcnQgb2YKcHJvY2Vzc2luZy4gIFdoZW4gQUxMIGlzIHQs IG1lc3NhZ2VzIGFyZSBwcmludGVkIGF0IG1vc3Qgb25jZSBwZXIgc2Vjb25kLgotLS0KIGxpc3Av b3JnLXRhYmxlLmVsIHwgNDQgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0t LS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAzNSBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL2xpc3Avb3JnLXRhYmxlLmVsIGIvbGlzcC9vcmctdGFibGUuZWwKaW5kZXgg ODE2NzA5ZS4uZTVhOGNlNyAxMDA2NDQKLS0tIGEvbGlzcC9vcmctdGFibGUuZWwKKysrIGIvbGlz cC9vcmctdGFibGUuZWwKQEAgLTMwMTMsNiArMzAxMywxOSBAQCBsaXN0LCAnbGl0ZXJhbCBpcyBm b3IgdGhlIGZvcm1hdCBzcGVjaWZpZXIgTC4iCiAJCShwdXNoIChjb25zIChtYXRjaC1zdHJpbmcg MSBlKSAobWF0Y2gtc3RyaW5nIDIgZSkpIGNzdCkpKQogCSAgICAoc2V0cSBvcmctdGFibGUtZm9y bXVsYS1jb25zdGFudHMtbG9jYWwgY3N0KSkpKSkpKQogCisoZGVmbWFjcm8gb3JnLXRhYmxlLWV4 ZWN1dGUtb25jZS1wZXItc2Vjb25kICh0MSAmcmVzdCBib2R5KQorICAiSWYgdGhlcmUgaGFzIGJl ZW4gbW9yZSB0aGFuIG9uZSBzZWNvbmQgc2luY2UgVDEsIGV4ZWN1dGUgQk9EWS4KK1VwZGF0ZXMg VDEgdG8gJ2N1cnJlbnQtdGltZScgaWYgdGhpcyBjb25kaXRpb24gaXMgbWV0LiBJZiBUMSBpcwor bmlsLCBhbHdheXMgZXhlY3V0ZSBib2R5LiIKKyAgYChpZiAsdDEKKyAgICAgICAobGV0ICgoY3Vy dGltZSAoY3VycmVudC10aW1lKSkpCisJICh3aGVuICg8IDAgKG50aCAxICh0aW1lLXN1YnRyYWN0 IGN1cnRpbWUgLHQxKSkpCisJICAgKHNldHEgLHQxIGN1cnRpbWUpCisJICAgLEBib2R5KSkKKyAg ICAgLEBib2R5KSkKKworKGRlZi1lZGVidWctc3BlYyBvcmctdGFibGUtZXhlY3V0ZS1vbmNlLXBl ci1zZWNvbmQgKGZvcm0gYm9keSkpCisKIDs7OyMjI2F1dG9sb2FkCiAoZGVmdW4gb3JnLXRhYmxl LXJlY2FsY3VsYXRlICgmb3B0aW9uYWwgYWxsIG5vYWxpZ24pCiAgICJSZWNhbGN1bGF0ZSB0aGUg Y3VycmVudCB0YWJsZSBsaW5lIGJ5IGFwcGx5aW5nIGFsbCBzdG9yZWQgZm9ybXVsYXMuCkBAIC0z MDM3LDYgKzMwNTAsOCBAQCBrbm93biB0aGF0IHRoZSB0YWJsZSB3aWxsIGJlIHJlYWxpZ25lZCBh IGxpdHRsZSBsYXRlciBhbnl3YXkuIgogCSAgIChsaW5lLXJlIG9yZy10YWJsZS1kYXRhbGluZS1y ZWdleHApCiAJICAgKHRoaXNsaW5lIChvcmctY3VycmVudC1saW5lKSkKIAkgICAodGhpc2NvbCAo b3JnLXRhYmxlLWN1cnJlbnQtY29sdW1uKSkKKwkgICAobG9nLWZpcnN0LXRpbWUgKGN1cnJlbnQt dGltZSkpCisJICAgKGxvZy1sYXN0LXRpbWUgbG9nLWZpcnN0LXRpbWUpCiAJICAgc2Vlbi1maWVs ZHMgbGhzMQogCSAgIGJlZyBlbmQgZW50cnkgZXFsbnVtIGVxbG5hbWUgZXFsbmFtZTEgZXFsIChj bnQgMCkgZXEgYSBuYW1lIG5hbWUxKQogICAgICAgOzsgSW5zZXJ0IGNvbnN0YW50cyBpbiBhbGwg Zm9ybXVsYXMKQEAgLTMwODYsNyArMzEwMSw2IEBAIGtub3duIHRoYXQgdGhlIHRhYmxlIHdpbGwg YmUgcmVhbGlnbmVkIGEgbGl0dGxlIGxhdGVyIGFueXdheS4iCiAJICAoc2V0cSBiZWcgKHBvaW50 LWF0LWJvbCkKIAkJZW5kIChtb3ZlLW1hcmtlciAobWFrZS1tYXJrZXIpICgxKyAocG9pbnQtYXQt ZW9sKSkpKSkKIAkoZ290by1jaGFyIGJlZykKLQkoYW5kIGFsbCAobWVzc2FnZSAiUmUtYXBwbHlp bmcgZm9ybXVsYXMgdG8gZnVsbCB0YWJsZS4uLiIpKQogCiAJOzsgRmlyc3QgZmluZCB0aGUgbmFt ZWQgZmllbGRzLCBhbmQgbWFyayB0aGVtIHVudG91Y2hhYmxlLgogCTs7IEFsc28gY2hlY2sgaWYg c2V2ZXJhbCBmaWVsZC9yYW5nZSBmb3JtdWxhcyB0cnkgdG8gc2V0IHRoZSBzYW1lIGZpZWxkLgpA QCAtMzExMSw3ICszMTI1LDkgQEAga25vd24gdGhhdCB0aGUgdGFibGUgd2lsbCBiZSByZWFsaWdu ZWQgYSBsaXR0bGUgbGF0ZXIgYW55d2F5LiIKIAkJCQkJCSAgbmFtZSkpKQogCQkJICAgICAoc3Ry aW5nLXRvLW51bWJlciAobWF0Y2gtc3RyaW5nIDIgbmFtZSkpKSkpCiAJICAod2hlbiAoYW5kIGEg KG9yIGFsbCAoZXF1YWwgKG50aCAxIGEpIHRoaXNsaW5lKSkpCi0JICAgIChtZXNzYWdlICJSZS1h cHBseWluZyBmb3JtdWxhIHRvIGZpZWxkOiAlcyIgbmFtZSkKKwkgICAgKG9yZy10YWJsZS1leGVj dXRlLW9uY2UtcGVyLXNlY29uZAorCSAgICAgKHdoZW4gYWxsIGxvZy1sYXN0LXRpbWUpCisJICAg ICAobWVzc2FnZSAiUmUtYXBwbHlpbmcgZm9ybXVsYSB0byBmaWVsZDogJXMiIG5hbWUpKQogCSAg ICAob3JnLWdvdG8tbGluZSAobnRoIDEgYSkpCiAJICAgIChvcmctdGFibGUtZ290by1jb2x1bW4g KG50aCAyIGEpKQogCSAgICAocHVzaCAoYXBwZW5kIGEgKGxpc3QgKGNkciBlcSkpKSBlcWxuYW1l MSkKQEAgLTMxMjQsOCArMzE0MCwxMSBAQCBrbm93biB0aGF0IHRoZSB0YWJsZSB3aWxsIGJlIHJl YWxpZ25lZCBhIGxpdHRsZSBsYXRlciBhbnl3YXkuIgogCSh3aGlsZSAocmUtc2VhcmNoLWZvcndh cmQgbGluZS1yZSBlbmQgdCkKIAkgICh1bmxlc3MgKHN0cmluZy1tYXRjaCAiXiAqW19eISQvXSAq JCIgKG9yZy10YWJsZS1nZXQtZmllbGQgMSkpCiAJICAgIDs7IFVucHJvdGVjdGVkIGxpbmUsIHJl Y2FsY3VsYXRlCi0JICAgIChhbmQgYWxsIChtZXNzYWdlICJSZS1hcHBseWluZyBmb3JtdWxhcyB0 byBmdWxsIHRhYmxlLi4uKGxpbmUgJWQpIgotCQkJICAgICAgKHNldHEgY250ICgxKyBjbnQpKSkp CisJICAgIChhbmQgYWxsIChvcmctdGFibGUtZXhlY3V0ZS1vbmNlLXBlci1zZWNvbmQKKwkJICAg ICAgbG9nLWxhc3QtdGltZQorCQkgICAgICAobWVzc2FnZQorCQkgICAgICAgIlJlLWFwcGx5aW5n IGZvcm11bGFzIHRvIGZ1bGwgdGFibGUuLi4obGluZSAlZCkiCisJCSAgICAgICAoc2V0cSBjbnQg KDErIGNudCkpKSkpCiAJICAgIChzZXRxIG9yZy1sYXN0LXJlY2FsYy1saW5lIChvcmctY3VycmVu dC1saW5lKSkKIAkgICAgKHNldHEgZXFsIGVxbG51bSkKIAkgICAgKHdoaWxlIChzZXRxIGVudHJ5 IChwb3AgZXFsKSkKQEAgLTMxMzgsNyArMzE1NywxMCBAQCBrbm93biB0aGF0IHRoZSB0YWJsZSB3 aWxsIGJlIHJlYWxpZ25lZCBhIGxpdHRsZSBsYXRlciBhbnl3YXkuIgogCiAJOzsgTm93IGV2YWx1 YXRlIHRoZSBmaWVsZCBmb3JtdWxhcwogCSh3aGlsZSAoc2V0cSBlcSAocG9wIGVxbG5hbWUxKSkK LQkgIChtZXNzYWdlICJSZS1hcHBseWluZyBmb3JtdWxhIHRvIGZpZWxkOiAlcyIgKGNhciBlcSkp CisJICAob3JnLXRhYmxlLWV4ZWN1dGUtb25jZS1wZXItc2Vjb25kCisJICAgKHdoZW4gYWxsIGxv Zy1sYXN0LXRpbWUpCisJICAgKG1lc3NhZ2UgIlJlLWFwcGx5aW5nIGZvcm11bGEgdG8gZmllbGQ6 ICVzIiAoY2FyIGVxKSkpCisKIAkgIChvcmctZ290by1saW5lIChudGggMSBlcSkpCiAJICAobGV0 ICgoY29sdW1uLXRhcmdldCAobnRoIDIgZXEpKSkKIAkgICAgKHdoZW4gKD4gY29sdW1uLXRhcmdl dCAxMDAwKQpAQCAtMzE2NywxNCArMzE4OSwxOCBAQCBrbm93biB0aGF0IHRoZSB0YWJsZSB3aWxs IGJlIHJlYWxpZ25lZCBhIGxpdHRsZSBsYXRlciBhbnl3YXkuIgogCShvcmctdGFibGUtZ290by1j b2x1bW4gdGhpc2NvbCkKIAkocmVtb3ZlLXRleHQtcHJvcGVydGllcyAocG9pbnQtbWluKSAocG9p bnQtbWF4KSAnKG9yZy11bnRvdWNoYWJsZSB0KSkKIAkob3Igbm9hbGlnbiAoYW5kIG9yZy10YWJs ZS1tYXktbmVlZC11cGRhdGUgKG9yZy10YWJsZS1hbGlnbikpCi0JICAgIChhbmQgYWxsIChtZXNz YWdlICJSZS1hcHBseWluZyBmb3JtdWxhcyB0byAlZCBsaW5lcy4uLmRvbmUiIGNudCkpKQorCSAg ICAoYW5kIGFsbCAob3JnLXRhYmxlLWV4ZWN1dGUtb25jZS1wZXItc2Vjb25kCisJCSAgICAgIGxv Zy1maXJzdC10aW1lCisJCSAgICAgIChtZXNzYWdlICJSZS1hcHBseWluZyBmb3JtdWxhcyB0byAl ZCBsaW5lcy4uLmRvbmUiIGNudCkpKSkKKworCShvcmctdGFibGUtZXhlY3V0ZS1vbmNlLXBlci1z ZWNvbmQKKwkgbG9nLWZpcnN0LXRpbWUKKwkgKG1lc3NhZ2UgIlJlLWFwcGx5aW5nIGZvcm11bGFz Li4uZG9uZSIgY250KSkKIAogCTs7IGJhY2sgdG8gaW5pdGlhbCBwb3NpdGlvbgotCShtZXNzYWdl ICJSZS1hcHBseWluZyBmb3JtdWxhcy4uLmRvbmUiKQogCShvcmctZ290by1saW5lIHRoaXNsaW5l KQogCShvcmctdGFibGUtZ290by1jb2x1bW4gdGhpc2NvbCkKLQkob3Igbm9hbGlnbiAoYW5kIG9y Zy10YWJsZS1tYXktbmVlZC11cGRhdGUgKG9yZy10YWJsZS1hbGlnbikpCi0JICAgIChhbmQgYWxs IChtZXNzYWdlICJSZS1hcHBseWluZyBmb3JtdWxhcy4uLmRvbmUiKSkpKSkpKQorCShvciBub2Fs aWduIChhbmQgb3JnLXRhYmxlLW1heS1uZWVkLXVwZGF0ZSAob3JnLXRhYmxlLWFsaWduKSkpKSkp KQogCiA7OzsjIyNhdXRvbG9hZAogKGRlZnVuIG9yZy10YWJsZS1pdGVyYXRlICgmb3B0aW9uYWwg YXJnKQotLSAKMS44LjUuMiAoQXBwbGUgR2l0LTQ4KQoK --089e01183f78aabb540505d106f6--