From mboxrd@z Thu Jan 1 00:00:00 1970 From: Carsten Dominik Subject: Re: Allowing multiple date trees in a single file Date: Fri, 3 Feb 2017 15:08:43 +0100 Message-ID: References: <87wpdv4fdq.fsf@nicolasgoaziou.fr> <871sw1zice.fsf@nicolasgoaziou.fr> <87y3y8zk52.fsf@nicolasgoaziou.fr> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary=f403045fb11c0bef660547a0d334 Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:33351) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1cZeY1-0003Av-EG for emacs-orgmode@gnu.org; Fri, 03 Feb 2017 09:09:11 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1cZeXz-0005ca-2e for emacs-orgmode@gnu.org; Fri, 03 Feb 2017 09:09:09 -0500 Received: from mail-it0-x236.google.com ([2607:f8b0:4001:c0b::236]:36459) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1cZeXy-0005bM-Le for emacs-orgmode@gnu.org; Fri, 03 Feb 2017 09:09:06 -0500 Received: by mail-it0-x236.google.com with SMTP id c7so11922900itd.1 for ; Fri, 03 Feb 2017 06:09:06 -0800 (PST) In-Reply-To: <87y3y8zk52.fsf@nicolasgoaziou.fr> 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" To: Nicolas Goaziou Cc: org-mode list --f403045fb11c0bef660547a0d334 Content-Type: multipart/alternative; boundary=f403045fb11c0bef540547a0d332 --f403045fb11c0bef540547a0d332 Content-Type: text/plain; charset=UTF-8 Hi Nicolas, ok, here is where I have gotten with this: Attached is a patch that does the following: It consolidates all four different org-capture target types that have to do with date/week trees into a single one, called `file+olp+datetree'. This target allows for an optional outline path specification to tell capture to build the datetree under a specific headline. To switch to a week tree, or to force a date prompt is now the matter of setting one of the properties in the org-capture-template variable. Everything works transparently, so users can update the way they write their datetree captures, but they don't have to - the old syntax remains supported and will automatically switched when one uses customize to change the variable. After a bit more testing, I'd like to apply this patch. Please let me know if you agree. And additional testers would be useful. Anyone? Make sure to backup your capture templates if something goes wrong. Cheers Carsten On Wed, Jan 18, 2017 at 12:23 PM, Nicolas Goaziou wrote: > Hello, > > Carsten Dominik writes: > > > I meant > > > > :DATE_TREE: my_diary > > :DATE_TREE: food_and_health > > :DATE_TREE: movies watched > > It sounds less useful because we already have ways to identify uniquely > a heading. > > > Another thing I was thinking is a way to force prompting for a date, for > > example through a prefix argument, so that a single capture template > could > > be used for using the current date and optionally a set one. > > It is nice, too. It would reduce the number of new capture target types > required. > > Regards, > > -- > Nicolas Goaziou > --f403045fb11c0bef540547a0d332 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi Nicolas,

ok, here is where I have go= tten with this:

Attached is a patch that does the = following:

It consolidates all four different org-= capture target types that have to do with
date/week trees into a = single one, called `file+olp+datetree'.=C2=A0 This target
all= ows for an optional outline path specification to tell capture to build the=
datetree under a specific headline.=C2=A0 To switch to a week tr= ee, or to force
a date prompt is now the matter of setting one of= the properties in the
org-capture-template variable.
<= br>
Everything works transparently, so users can update the way t= hey
write their datetree captures, but they don't have to - t= he old syntax remains
supported and will automatically switched w= hen one uses customize to change the variable.

Aft= er a bit more testing, I'd like to apply this patch.=C2=A0 Please let m= e know if you agree. And additional testers would be useful.=C2=A0 Anyone?= =C2=A0 Make sure to backup your capture templates if something goes wrong.<= /div>

Cheers

Carsten
=




On Wed, Jan 18, 2017 at 12:23 P= M, Nicolas Goaziou <mail@nicolasgoaziou.fr> wrote:
<= blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px= #ccc solid;padding-left:1ex">Hello,

Carsten Dominik <dominik@uva.nl>= ; writes:

> I meant
>
> :DATE_TREE: my_diary
> :DATE_TREE: food_and_health
> :DATE_TREE: movies watched

It sounds less useful because we already have ways to identify uniqu= ely
a heading.

> Another thing I was thinking is a way to force prompting for a date, f= or
> example through a prefix argument, so that a single capture template c= ould
> be used for using the current date and optionally a set one.

It is nice, too. It would reduce the number of new capture target ty= pes
required.

Regards,

--
Nicolas Goaziou

--f403045fb11c0bef540547a0d332-- --f403045fb11c0bef660547a0d334 Content-Type: application/octet-stream; name=datetree-patch Content-Disposition: attachment; filename=datetree-patch Content-Transfer-Encoding: base64 X-Attachment-Id: f_iypvq5qp0 Q2hhbmdlcyBpbiBtYXN0ZXIKCU1vZGlmaWVkIGRvYy9vcmcudGV4aQpkaWZmIC0tZ2l0IGEvZG9j L29yZy50ZXhpIGIvZG9jL29yZy50ZXhpCmluZGV4IGY2OGVmNmUuLjMyMTlkOTQgMTAwNjQ0Ci0t LSBhL2RvYy9vcmcudGV4aQorKysgYi9kb2Mvb3JnLnRleGkKQEAgLTcwNjUsNyArNzA2NSw3IEBA IHdvdWxkIGxvb2sgbGlrZToKIChzZXRxIG9yZy1jYXB0dXJlLXRlbXBsYXRlcwogICcoKCJ0IiAi VG9kbyIgZW50cnkgKGZpbGUraGVhZGxpbmUgIn4vb3JnL2d0ZC5vcmciICJUYXNrcyIpCiAgICAg ICAgICIqIFRPRE8gJT9cbiAgJWlcbiAgJWEiKQotICAgKCJqIiAiSm91cm5hbCIgZW50cnkgKGZp bGUrZGF0ZXRyZWUgIn4vb3JnL2pvdXJuYWwub3JnIikKKyAgICgiaiIgIkpvdXJuYWwiIGVudHJ5 IChmaWxlK29scCtkYXRldHJlZSAifi9vcmcvam91cm5hbC5vcmciKQogICAgICAgICAiKiAlP1xu RW50ZXJlZCBvbiAlVVxuICAlaVxuICAlYSIpKSkKIEBlbmQgZ3JvdXAKIEBlbmQgc21hbGxsaXNw CkBAIC03MTczLDIxICs3MTczLDEzIEBAIEZvciBub24tdW5pcXVlIGhlYWRpbmdzLCB0aGUgZnVs bCBwYXRoIGlzIHNhZmVyLgogQGl0ZW0gKGZpbGUrcmVnZXhwICAicGF0aC90by9maWxlIiAicmVn ZXhwIHRvIGZpbmQgbG9jYXRpb24iKQogVXNlIGEgcmVndWxhciBleHByZXNzaW9uIHRvIHBvc2l0 aW9uIHRoZSBjdXJzb3IuCiAKLUBpdGVtIChmaWxlK2RhdGV0cmVlICJwYXRoL3RvL2ZpbGUiKQor QGl0ZW0gKGZpbGUrb2xwK2RhdGV0cmVlICJwYXRoL3RvL2ZpbGUiIFsgIkxldmVsIDEgaGVhZGlu ZyIgLi4uLl0pCiBXaWxsIGNyZWF0ZSBhIGhlYWRpbmcgaW4gYSBkYXRlIHRyZWUgZm9yIHRvZGF5 J3MgZGF0ZUBmb290bm90ZXtEYXRldHJlZQogaGVhZGxpbmVzIGZvciB5ZWFycyBhY2NlcHQgdGFn cywgc28gaWYgeW91IHVzZSBib3RoIEBjb2RleyogMjAxMyA6bm9leHBvcnQ6fQogYW5kIEBjb2Rl eyogMjAxM30gaW4geW91ciBmaWxlLCB0aGUgY2FwdHVyZSB3aWxsIHJlZmlsZSB0aGUgbm90ZSB0 byB0aGUgZmlyc3QKLW9uZSBtYXRjaGVkLn0uCi0KLUBpdGVtIChmaWxlK2RhdGV0cmVlK3Byb21w dCAicGF0aC90by9maWxlIikKLVdpbGwgY3JlYXRlIGEgaGVhZGluZyBpbiBhIGRhdGUgdHJlZSwg YnV0IHdpbGwgcHJvbXB0IGZvciB0aGUgZGF0ZS4KLQotQGl0ZW0gKGZpbGUrd2Vla3RyZWUgInBh dGgvdG8vZmlsZSIpCi1XaWxsIGNyZWF0ZSBhIGhlYWRpbmcgaW4gYSB3ZWVrIHRyZWUgZm9yIHRv ZGF5J3MgZGF0ZS4gIFdlZWsgdHJlZXMgYXJlIHNvcnRlZAotYnkgd2VlayBhbmQgbm90IGJ5IG1v bnRoIHVubGlrZSBkYXRldHJlZXMuCi0KLUBpdGVtIChmaWxlK3dlZWt0cmVlK3Byb21wdCAicGF0 aC90by9maWxlIikKLVdpbGwgY3JlYXRlIGEgaGVhZGluZyBpbiBhIHdlZWsgdHJlZSwgYnV0IHdp bGwgcHJvbXB0IGZvciB0aGUgZGF0ZS4KK29uZSBtYXRjaGVkLn0uICBJZiB0aGUgb3B0aW9uYWwg b3V0bGluZSBwYXRoIGlzIGdpdmVuLCB0aGUgdHJlZSB3aWxsIGJlIGJ1aWx0Cit1bmRlciB0aGUg bm9kZSBpdCBpcyBwb2ludGluZyB0by4gQ2hlY2sgb3V0IHRoZSBAY29kZXs6dGltZS1wcm9tcHR9 IGFuZAorQGNvZGV7OnRyZWUtdHlwZX0gYmVsb3cgZm9yIG1vZGlmeWluZyB0aGUgdHJlZS4KIAog QGl0ZW0gKGZpbGUrZnVuY3Rpb24gInBhdGgvdG8vZmlsZSIgZnVuY3Rpb24tZmluZGluZy1sb2Nh dGlvbikKIEEgZnVuY3Rpb24gdG8gZmluZCB0aGUgcmlnaHQgbG9jYXRpb24gaW4gdGhlIGZpbGUu CkBAIC03MjM5LDYgKzcyMzEsMTQgQEAgd2l0aCB0aGUgY2FwdHVyZS4gIE5vdGUgdGhhdCBAY29k ZXs6Y2xvY2sta2VlcH0gaGFzIHByZWNlZGVuY2Ugb3ZlcgogQGNvZGV7OmNsb2NrLXJlc3VtZX0u ICBXaGVuIHNldHRpbmcgYm90aCB0byBAY29kZXt0fSwgdGhlIGN1cnJlbnQgY2xvY2sgd2lsbAog cnVuIGFuZCB0aGUgcHJldmlvdXMgb25lIHdpbGwgbm90IGJlIHJlc3VtZWQuCiAKK0BpdGVtIDp0 aW1lLXByb21wdAorUHJvbXB0IGZvciBhIGRhdGUvdGltZSB0byBiZSB1c2VkIGZvciBkYXRlL3dl ZWsgdHJlZXMgYW5kIHdoZW4gZmlsbGluZyB0aGUKK3RlbXBsYXRlLgorCitAaXRlbSA6dHJlZS10 eXBlCitXaGVuIGB3ZWVrJywgbWFrZSBhIHdlZWsgdHJlZSBpbnN0ZWFkIG9mIHRoZSBtb250aCB0 cmVlLCBpLmUuIHBsYWNlIHRoZQoraGVhZGluZ3MgZm9yIGVhY2ggZGF5IHVuZGVyIGEgaGVhZGlu ZyB3aXRoIHRoZSBjdXJyZW50IGlzbyB3ZWVrLgorCiBAaXRlbSA6dW5uYXJyb3dlZAogRG8gbm90 IG5hcnJvdyB0aGUgdGFyZ2V0IGJ1ZmZlciwgc2ltcGx5IHNob3cgdGhlIGZ1bGwgYnVmZmVyLiAg RGVmYXVsdCBpcyB0bwogbmFycm93IGl0IHNvIHRoYXQgeW91IG9ubHkgc2VlIHRoZSBuZXcgbWF0 ZXJpYWwuCglNb2RpZmllZCBsaXNwL29yZy1jYXB0dXJlLmVsCmRpZmYgLS1naXQgYS9saXNwL29y Zy1jYXB0dXJlLmVsIGIvbGlzcC9vcmctY2FwdHVyZS5lbAppbmRleCAxYTFhNTAwLi4zYWZiZTI0 IDEwMDY0NAotLS0gYS9saXNwL29yZy1jYXB0dXJlLmVsCisrKyBiL2xpc3Avb3JnLWNhcHR1cmUu ZWwKQEAgLTg0LDYgKzg0LDI1IEBACiAgIDp0YWcgIk9yZyBDYXB0dXJlIgogICA6Z3JvdXAgJ29y ZykKIAorKGRlZnVuIG9yZy1jYXB0dXJlLXVwZ3JhZGUtdGVtcGxhdGVzICh0ZW1wbGF0ZXMpCisg ICJVcGRhdGUgdGhlIHRlbXBsYXRlIGxpc3QgdG8gdGhlIG5ldyBmb3JtYXQuCitUaGUgbmV3IGZv cm1hdCB1bmlmaWVzIGFsbCB0aGUgZGF0ZS93ZWVrIHRyZWUgdGFyZ2V0cyBpbnRvIG9uZSB0aGF0 CithbHNvIGFsbG93cyBmb3IgYW4gb3B0aW9uYWwgb3V0bGluZSBwYXRoIHRvIHNwZWNpZnkgYSB0 YXJnZXQuIgorICAobGV0ICh0YXJnZXQgcHJvcHMpCisgICAgKG1hcGNhcgorICAgICAobGFtYmRh IChlZSkKKyAgICAgICAoc2V0cSB0YXJnZXQgKGNhciAobnRoIDMgZWUpKSkKKyAgICAgICAod2hl biAobWVtcSB0YXJnZXQgJyhmaWxlK2RhdGV0cmVlIGZpbGUrZGF0ZXRyZWUrcHJvbXB0CisJCQkJ CSAgZmlsZSt3ZWVrdHJlZSBmaWxlK3dlZWt0cmVlK3Byb21wdCkpCisJIChzZXRxIHRhcmdldCAo c3ltYm9sLW5hbWUgdGFyZ2V0KSBwcm9wcyBuaWwpCisJIChpZiAoc3RyaW5nLW1hdGNoICJwcm9t cHQiIHRhcmdldCkgKHNldHEgcHJvcHMgJyg6dGltZS1wcm9tcHQgdCkpKQorCSAoaWYgKHN0cmlu Zy1tYXRjaCAid2VlayIgdGFyZ2V0KQorCSAgICAgKHNldHEgcHJvcHMgKGFwcGVuZCAnKDp0cmVl LXR5cGUgd2VlaykgcHJvcHMpKSkKKwkgKHNldGNhciAobnRoIDMgZWUpICdmaWxlK29scCtkYXRl dHJlZSkKKwkgKHNldGNkciAobnRoY2RyIDQgZWUpIChhcHBlbmQgcHJvcHMgKG50aGNkciA1IGVl KSkpKQorICAgICAgIGVlKQorICAgICB0ZW1wbGF0ZXMpKSkKKwogKGRlZmN1c3RvbSBvcmctY2Fw dHVyZS10ZW1wbGF0ZXMgbmlsCiAgICJUZW1wbGF0ZXMgZm9yIHRoZSBjcmVhdGlvbiBvZiBuZXcg ZW50cmllcy4KIApAQCAtMTQxLDIyICsxNjAsMTcgQEAgdGFyZ2V0ICAgICAgIFNwZWNpZmljYXRp b24gb2Ygd2hlcmUgdGhlIGNhcHR1cmVkIGl0ZW0gc2hvdWxkIGJlIHBsYWNlZC4KICAgICAgICAg ICAgICAgICAgRmFzdCBjb25maWd1cmF0aW9uIGlmIHRoZSB0YXJnZXQgaGVhZGluZyBpcyB1bmlx dWUgaW4gdGhlIGZpbGUKIAogICAgICAgICAgICAgIChmaWxlK29scCBcInBhdGgvdG8vZmlsZVwi IFwiTGV2ZWwgMSBoZWFkaW5nXCIgXCJMZXZlbCAyXCIgLi4uKQotICAgICAgICAgICAgICAgICBG b3Igbm9uLXVuaXF1ZSBoZWFkaW5ncywgdGhlIGZ1bGwgcGF0aCBpcyBzYWZlcgorICAgICAgICAg ICAgICAgICBGb3Igbm9uLXVuaXF1ZSBoZWFkaW5ncywgdGhlIGZ1bGwgb3V0bGluZSBwYXRoIGlz IHNhZmVyCiAKICAgICAgICAgICAgICAoZmlsZStyZWdleHAgIFwicGF0aC90by9maWxlXCIgXCJy ZWdleHAgdG8gZmluZCBsb2NhdGlvblwiKQogICAgICAgICAgICAgICAgICBGaWxlIHRvIHRoZSBl bnRyeSBtYXRjaGluZyByZWdleHAKIAotICAgICAgICAgICAgIChmaWxlK2RhdGV0cmVlIFwicGF0 aC90by9maWxlXCIpCi0gICAgICAgICAgICAgICAgIFdpbGwgY3JlYXRlIGEgaGVhZGluZyBpbiBh IGRhdGUgdHJlZSBmb3IgdG9kYXkncyBkYXRlCi0KLSAgICAgICAgICAgICAoZmlsZStkYXRldHJl ZStwcm9tcHQgXCJwYXRoL3RvL2ZpbGVcIikKLSAgICAgICAgICAgICAgICAgV2lsbCBjcmVhdGUg YSBoZWFkaW5nIGluIGEgZGF0ZSB0cmVlLCBwcm9tcHRzIGZvciBkYXRlCi0KLSAgICAgICAgICAg ICAoZmlsZSt3ZWVrdHJlZSBcInBhdGgvdG8vZmlsZVwiKQotICAgICAgICAgICAgICAgICBXaWxs IGNyZWF0ZSBhIGhlYWRpbmcgaW4gYSB3ZWVrIHRyZWUgZm9yIHRvZGF5J3MgZGF0ZQotCi0gICAg ICAgICAgICAgKGZpbGUrd2Vla3RyZWUrcHJvbXB0IFwicGF0aC90by9maWxlXCIpCi0gICAgICAg ICAgICAgICAgIFdpbGwgY3JlYXRlIGEgaGVhZGluZyBpbiBhIHdlZWsgdHJlZSwgcHJvbXB0cyBm b3IgZGF0ZQorICAgICAgICAgICAgIChmaWxlK29scCtkYXRldHJlZSBcInBhdGgvdG8vZmlsZVwi IFwiTGV2ZWwgMSBoZWFkaW5nXCIgLi4uKQorICAgICAgICAgICAgICAgICBXaWxsIGNyZWF0ZSBh IGhlYWRpbmcgaW4gYSBkYXRlIHRyZWUgZm9yIHRvZGF5J3MgZGF0ZS4KKyAgICAgICAgICAgICAg ICAgSWYgbm8gaGVhZGluZ3MgYXJlIGdpdmVuLCB0aGUgdHJlZSB3aWxsIGJlIG9uIHRvcCBsZXZl bC4KKyAgICAgICAgICAgICAgICAgVG8gcHJvbXB0IGZvciBkYXRlIGluc3RlYWQgb2YgdXNpbmcg VE9EQVksIHVzZSB0aGUKKyAgICAgICAgICAgICAgICAgOnRpbWUtcHJvbXB0IHByb3BlcnR5LiAg VG8gY3JlYXRlIGEgd2Vlay10cmVlLCB1c2UgdGhlCisgICAgICAgICAgICAgICAgIDp0cmVlLXR5 cGUgcHJvcGVydHkuCiAKICAgICAgICAgICAgICAoZmlsZStmdW5jdGlvbiBcInBhdGgvdG8vZmls ZVwiIGZ1bmN0aW9uLWZpbmRpbmctbG9jYXRpb24pCiAgICAgICAgICAgICAgICAgIEEgZnVuY3Rp b24gdG8gZmluZCB0aGUgcmlnaHQgbG9jYXRpb24gaW4gdGhlIGZpbGUKQEAgLTIxNCw2ICsyMjgs MTEgQEAgcHJvcGVydGllcyBhcmU6CiAgICAgICAgICAgICAgICAgICAgICBXaGVuIHNldHRpbmcg Ym90aCB0byB0LCB0aGUgY3VycmVudCBjbG9jayB3aWxsIHJ1biBhbmQKICAgICAgICAgICAgICAg ICAgICAgIHRoZSBwcmV2aW91cyBvbmUgd2lsbCBub3QgYmUgcmVzdW1lZC4KIAorIDp0aW1lLXBy b21wdCAgICAgICAgUHJvbXB0IGZvciBhIGRhdGUvdGltZSB0byBiZSB1c2VkIGZvciBkYXRlL3dl ZWsgdHJlZXMKKyAgICAgICAgICAgICAgICAgICAgIGFuZCB3aGVuIGZpbGxpbmcgdGhlIHRlbXBs YXRlLgorCisgOnRyZWUtdHlwZSAgICAgICAgICBXaGVuIGB3ZWVrJywgbWFrZSBhIHdlZWsgdHJl ZSBpbnN0ZWFkIG9mIHRoZSBtb250aCB0cmVlLgorCiAgOnVubmFycm93ZWQgICAgICAgICBEbyBu b3QgbmFycm93IHRoZSB0YXJnZXQgYnVmZmVyLCBzaW1wbHkgc2hvdyB0aGUKICAgICAgICAgICAg ICAgICAgICAgIGZ1bGwgYnVmZmVyLiAgRGVmYXVsdCBpcyB0byBuYXJyb3cgaXQgc28gdGhhdCB5 b3UKICAgICAgICAgICAgICAgICAgICAgIG9ubHkgc2VlIHRoZSBuZXcgc3R1ZmYuCkBAIC0yOTcs NiArMzE2LDcgQEAgV2hlbiB5b3UgbmVlZCB0byBpbnNlcnQgYSBsaXRlcmFsIHBlcmNlbnQgc2ln biBpbiB0aGUgdGVtcGxhdGUsCiB5b3UgY2FuIGVzY2FwZSBhbWJpZ3VvdXMgY2FzZXMgd2l0aCBh IGJhY2t3YXJkIHNsYXNoLCBlLmcuLCBcXCVpLiIKICAgOmdyb3VwICdvcmctY2FwdHVyZQogICA6 dmVyc2lvbiAiMjQuMSIKKyAgOnNldCAobGFtYmRhIChzIHYpIChzZXQgcyAob3JnLWNhcHR1cmUt dXBncmFkZS10ZW1wbGF0ZXMgdikpKQogICA6dHlwZQogICAobGV0ICgoZmlsZS12YXJpYW50cyAn KGNob2ljZSA6dGFnICJGaWxlbmFtZSAgICAgICAiCiAJCQkJKGZpbGUgOnRhZyAiTGl0ZXJhbCIp CkBAIC0zMzcsMTggKzM1NywxMSBAQCB5b3UgY2FuIGVzY2FwZSBhbWJpZ3VvdXMgY2FzZXMgd2l0 aCBhIGJhY2t3YXJkIHNsYXNoLCBlLmcuLCBcXCVpLiIKIAkJCQkoY29uc3QgOmZvcm1hdCAiIiBm aWxlK3JlZ2V4cCkKIAkJCQksZmlsZS12YXJpYW50cwogCQkJCShyZWdleHAgOnRhZyAiICBSZWdl eHAiKSkKLQkJCSAgKGxpc3QgOnRhZyAiRmlsZSAmIERhdGUgdHJlZSIKLQkJCQkoY29uc3QgOmZv cm1hdCAiIiBmaWxlK2RhdGV0cmVlKQotCQkJCSxmaWxlLXZhcmlhbnRzKQotCQkJICAobGlzdCA6 dGFnICJGaWxlICYgRGF0ZSB0cmVlLCBwcm9tcHQgZm9yIGRhdGUiCi0JCQkJKGNvbnN0IDpmb3Jt YXQgIiIgZmlsZStkYXRldHJlZStwcm9tcHQpCi0JCQkJLGZpbGUtdmFyaWFudHMpCi0JCQkgIChs aXN0IDp0YWcgIkZpbGUgJiBXZWVrIHRyZWUiCi0JCQkJKGNvbnN0IDpmb3JtYXQgIiIgZmlsZSt3 ZWVrdHJlZSkKLQkJCQksZmlsZS12YXJpYW50cykKLQkJCSAgKGxpc3QgOnRhZyAiRmlsZSAmIFdl ZWsgdHJlZSwgcHJvbXB0IGZvciBkYXRlIgotCQkJCShjb25zdCA6Zm9ybWF0ICIiIGZpbGUrd2Vl a3RyZWUrcHJvbXB0KQotCQkJCSxmaWxlLXZhcmlhbnRzKQorCQkJICAobGlzdCA6dGFnICJGaWxl IFsgJiBPdXRsaW5lIHBhdGggXSAmIERhdGUgdHJlZSIKKwkJCQkoY29uc3QgOmZvcm1hdCAiIiBm aWxlK29scCtkYXRldHJlZSkKKwkJCQksZmlsZS12YXJpYW50cworCQkJCShyZXBlYXQgOnRhZyAi T3V0bGluZSBwYXRoIiA6aW5saW5lIHQKKwkJCQkJKHN0cmluZyA6dGFnICJIZWFkbGluZSIpKSkK IAkJCSAgKGxpc3QgOnRhZyAiRmlsZSAmIGZ1bmN0aW9uIgogCQkJCShjb25zdCA6Zm9ybWF0ICIi IGZpbGUrZnVuY3Rpb24pCiAJCQkJLGZpbGUtdmFyaWFudHMKQEAgLTM3Nyw4ICszOTAsMTAgQEAg eW91IGNhbiBlc2NhcGUgYW1iaWd1b3VzIGNhc2VzIHdpdGggYSBiYWNrd2FyZCBzbGFzaCwgZS5n LiwgXFwlaS4iCiAJCQkJICAgKChjb25zdCA6Zm9ybWF0ICIldiAiIDpjbG9jay1pbikgKGNvbnN0 IHQpKQogCQkJCSAgICgoY29uc3QgOmZvcm1hdCAiJXYgIiA6Y2xvY2sta2VlcCkgKGNvbnN0IHQp KQogCQkJCSAgICgoY29uc3QgOmZvcm1hdCAiJXYgIiA6Y2xvY2stcmVzdW1lKSAoY29uc3QgdCkp CisJCQkJICAgKChjb25zdCA6Zm9ybWF0ICIldiAiIDp0aW1lLXByb21wdCkgKGNvbnN0IHQpKQor CQkJCSAgICgoY29uc3QgOmZvcm1hdCAiJXYgIiA6dHJlZS10eXBlKSAoY29uc3Qgd2VlaykpCiAJ CQkJICAgKChjb25zdCA6Zm9ybWF0ICIldiAiIDp1bm5hcnJvd2VkKSAoY29uc3QgdCkpCi0JCQkJ ICAgKChjb25zdCA6Zm9ybWF0ICIldiAiIDp0YWJsZS1saW5lLXBvcykgKGNvbnN0IHQpKQorCQkJ CSAgICgoY29uc3QgOmZvcm1hdCAiJXYgIiA6dGFibGUtbGluZS1wb3MpIChzdHJpbmcpKQogCQkJ CSAgICgoY29uc3QgOmZvcm1hdCAiJXYgIiA6a2lsbC1idWZmZXIpIChjb25zdCB0KSkpKSkpKSkp CiAKIChkZWZjdXN0b20gb3JnLWNhcHR1cmUtYmVmb3JlLWZpbmFsaXplLWhvb2sgbmlsCkBAIC01 NjIsNiArNTc3LDkgQEAgdGhlIGxhc3Qgbm90ZSBzdG9yZWQuCiAKIFdoZW4gY2FsbGVkIHdpdGgg YSBgQy0wJyAoemVybykgcHJlZml4LCBpbnNlcnQgYSB0ZW1wbGF0ZSBhdCBwb2ludC4KIAorV2hl biBjYWxsZWQgd2l0aCBhIGBDLTEnIChvbmUpIHByZWZpeCwgZm9yY2UgcHJvbXB0aW5nIGZvciBh IGRhdGUgd2hlbgorYSBkYXRldHJlZSBlbnRyeSBpcyBtYWRlLgorCiBFTGlzcCBwcm9ncmFtcyBj YW4gc2V0IEtFWVMgdG8gYSBzdHJpbmcgYXNzb2NpYXRlZCB3aXRoIGEgdGVtcGxhdGUKIGluIGBv cmctY2FwdHVyZS10ZW1wbGF0ZXMnLiAgSW4gdGhpcyBjYXNlLCBpbnRlcmFjdGl2ZSBzZWxlY3Rp b24KIHdpbGwgYmUgYnlwYXNzZWQuCkBAIC05MDIsNiArOTIwLDcgQEAgU3RvcmUgdGhlbSBpbiB0 aGUgY2FwdHVyZSBwcm9wZXJ0eSBsaXN0LiIKIAkgICAoaW5zZXJ0ICIqICIgaGVhZGxpbmUgIlxu IikKIAkgICAoYmVnaW5uaW5nLW9mLWxpbmUgMCkpKQogCShgKGZpbGUrb2xwICxwYXRoIC4gLG91 dGxpbmUtcGF0aCkKKwkgKHNldHEgb3V0bGluZS1wYXRoIChvcmctY2FwdHVyZS1zYW5pdGl6ZS1v bHAgb3V0bGluZS1wYXRoKSkKIAkgKGxldCAoKG0gKG9yZy1maW5kLW9scCAoY29ucyAob3JnLWNh cHR1cmUtZXhwYW5kLWZpbGUgcGF0aCkKIAkJCQkgICAgICBvdXRsaW5lLXBhdGgpKSkpCiAJICAg KHNldC1idWZmZXIgKG1hcmtlci1idWZmZXIgbSkpCkBAIC05MjIsNTkgKzk0MSw2NSBAQCBTdG9y ZSB0aGVtIGluIHRoZSBjYXB0dXJlIHByb3BlcnR5IGxpc3QuIgogCSAgIChvcmctY2FwdHVyZS1w dXQgOmV4YWN0LXBvc2l0aW9uIChwb2ludCkpCiAJICAgKHNldHEgdGFyZ2V0LWVudHJ5LXAKIAkJ IChhbmQgKGRlcml2ZWQtbW9kZS1wICdvcmctbW9kZSkgKG9yZy1hdC1oZWFkaW5nLXApKSkpKQot CShgKCwoYW5kIHR5cGUgKG9yIGBmaWxlK2RhdGV0cmVlCi0JCQkgIGBmaWxlK2RhdGV0cmVlK3By b21wdAotCQkJICBgZmlsZSt3ZWVrdHJlZQotCQkJICBgZmlsZSt3ZWVrdHJlZStwcm9tcHQpKQot CSAgICxwYXRoKQotCSAoc2V0LWJ1ZmZlciAob3JnLWNhcHR1cmUtdGFyZ2V0LWJ1ZmZlciBwYXRo KSkKLQkgKHVubGVzcyAoZGVyaXZlZC1tb2RlLXAgJ29yZy1tb2RlKQotCSAgIChlcnJvciAiVGFy Z2V0IGJ1ZmZlciBcIiVzXCIgZm9yICVzIHNob3VsZCBiZSBpbiBPcmcgbW9kZSIKLQkJICAoY3Vy cmVudC1idWZmZXIpCi0JCSAgdHlwZSkpCi0JIChyZXF1aXJlICdvcmctZGF0ZXRyZWUpCi0JIChv cmctY2FwdHVyZS1wdXQtdGFyZ2V0LXJlZ2lvbi1hbmQtcG9zaXRpb24pCi0JICh3aWRlbikKLQkg OzsgTWFrZSBhIGRhdGUvd2VlayB0cmVlIGVudHJ5LCB3aXRoIHRoZSBjdXJyZW50IGRhdGUgKG9y Ci0JIDs7IHllc3RlcmRheSwgaWYgd2UgYXJlIGV4dGVuZGluZyBkYXRlcyBmb3IgYSBjb3VwbGUg b2YgaG91cnMpCi0JIChmdW5jYWxsCi0JICAoaWYgKG1lbXEgdHlwZSAnKGZpbGUrd2Vla3RyZWUg ZmlsZSt3ZWVrdHJlZStwcm9tcHQpKQotCSAgICAgICMnb3JnLWRhdGV0cmVlLWZpbmQtaXNvLXdl ZWstY3JlYXRlCi0JICAgICMnb3JnLWRhdGV0cmVlLWZpbmQtZGF0ZS1jcmVhdGUpCi0JICAoY2Fs ZW5kYXItZ3JlZ29yaWFuLWZyb20tYWJzb2x1dGUKLQkgICAoY29uZAotCSAgICAob3JnLW92ZXJy aWRpbmctZGVmYXVsdC10aW1lCi0JICAgICA7OyBVc2UgdGhlIG92ZXJyaWRpbmcgZGVmYXVsdCB0 aW1lLgotCSAgICAgKHRpbWUtdG8tZGF5cyBvcmctb3ZlcnJpZGluZy1kZWZhdWx0LXRpbWUpKQot CSAgICAoKG1lbXEgdHlwZSAnKGZpbGUrZGF0ZXRyZWUrcHJvbXB0IGZpbGUrd2Vla3RyZWUrcHJv bXB0KSkKLQkgICAgIDs7IFByb21wdCBmb3IgZGF0ZS4KLQkgICAgIChsZXQgKChwcm9tcHQtdGlt ZSAob3JnLXJlYWQtZGF0ZQotCQkJCSBuaWwgdCBuaWwgIkRhdGUgZm9yIHRyZWUgZW50cnk6Igot CQkJCSAoY3VycmVudC10aW1lKSkpKQotCSAgICAgICAob3JnLWNhcHR1cmUtcHV0Ci0JCTpkZWZh dWx0LXRpbWUKLQkJKGNvbmQgKChhbmQgKG9yIChub3QgKGJvdW5kcCAnb3JnLXRpbWUtd2FzLWdp dmVuKSkKLQkJCQkobm90IG9yZy10aW1lLXdhcy1naXZlbikpCi0JCQkgICAgKG5vdCAoPSAodGlt ZS10by1kYXlzIHByb21wdC10aW1lKSAob3JnLXRvZGF5KSkpKQotCQkgICAgICAgOzsgVXNlIDAw OjAwIHdoZW4gbm8gdGltZSBpcyBnaXZlbiBmb3IgYW5vdGhlcgotCQkgICAgICAgOzsgZGF0ZSB0 aGFuIHRvZGF5PwotCQkgICAgICAgKGFwcGx5ICMnZW5jb2RlLXRpbWUKLQkJCSAgICAgIChhcHBl bmQgJygwIDAgMCkKLQkJCQkgICAgICAoY2wtY2RkZHIgKGRlY29kZS10aW1lIHByb21wdC10aW1l KSkpKSkKLQkJICAgICAgKChzdHJpbmctbWF0Y2ggIlxcKFteIF0rXFwpLS0/W14gXStbIF0rXFwo LipcXCkiCi0JCQkJICAgICBvcmctcmVhZC1kYXRlLWZpbmFsLWFuc3dlcikKLQkJICAgICAgIDs7 IFJlcGxhY2UgYW55IHRpbWUgcmFuZ2UgYnkgaXRzIHN0YXJ0LgotCQkgICAgICAgKGFwcGx5ICMn ZW5jb2RlLXRpbWUKLQkJCSAgICAgIChvcmctcmVhZC1kYXRlLWFuYWx5emUKLQkJCSAgICAgICAo cmVwbGFjZS1tYXRjaCAiXFwxIFxcMiIgbmlsIG5pbAotCQkJCQkgICAgICBvcmctcmVhZC1kYXRl LWZpbmFsLWFuc3dlcikKLQkJCSAgICAgICBwcm9tcHQtdGltZSAoZGVjb2RlLXRpbWUgcHJvbXB0 LXRpbWUpKSkpCi0JCSAgICAgICh0IHByb21wdC10aW1lKSkpCi0JICAgICAgICh0aW1lLXRvLWRh eXMgcHJvbXB0LXRpbWUpKSkKLQkgICAgKHQKLQkgICAgIDs7IEN1cnJlbnQgZGF0ZSwgcG9zc2li bHkgY29ycmVjdGVkIGZvciBsYXRlIG5pZ2h0Ci0JICAgICA7OyB3b3JrZXJzLgotCSAgICAgKG9y Zy10b2RheSkpKSkpKQorCShgKGZpbGUrb2xwK2RhdGV0cmVlICxwYXRoIC4gLG91dGxpbmUtcGF0 aCkKKwkgKHNldHEgb3V0bGluZS1wYXRoIChvcmctY2FwdHVyZS1zYW5pdGl6ZS1vbHAgb3V0bGlu ZS1wYXRoKSkKKwkgKGxldCAoKG0gKGlmIG91dGxpbmUtcGF0aAorCQkgICAgICAob3JnLWZpbmQt b2xwIChjb25zIChvcmctY2FwdHVyZS1leHBhbmQtZmlsZSBwYXRoKQorCQkJCQkgIG91dGxpbmUt cGF0aCkpCisJCSAgICAoc2V0LWJ1ZmZlciAob3JnLWNhcHR1cmUtdGFyZ2V0LWJ1ZmZlciBwYXRo KSkKKwkJICAgIChtb3ZlLW1hcmtlciAobWFrZS1tYXJrZXIpIChwb2ludCkpKSkpCQkgICAgCisJ ICAgKHNldC1idWZmZXIgKG1hcmtlci1idWZmZXIgbSkpCisJICAgKG9yZy1jYXB0dXJlLXB1dC10 YXJnZXQtcmVnaW9uLWFuZC1wb3NpdGlvbikKKwkgICAod2lkZW4pCisJICAgKGdvdG8tY2hhciBt KQorCSAgIChzZXQtbWFya2VyIG0gbmlsKQorCSAgIChyZXF1aXJlICdvcmctZGF0ZXRyZWUpCisJ ICAgKG9yZy1jYXB0dXJlLXB1dC10YXJnZXQtcmVnaW9uLWFuZC1wb3NpdGlvbikKKwkgICAod2lk ZW4pCisJICAgOzsgTWFrZSBhIGRhdGUvd2VlayB0cmVlIGVudHJ5LCB3aXRoIHRoZSBjdXJyZW50 IGRhdGUgKG9yCisJICAgOzsgeWVzdGVyZGF5LCBpZiB3ZSBhcmUgZXh0ZW5kaW5nIGRhdGVzIGZv ciBhIGNvdXBsZSBvZiBob3VycykKKwkgICAoZnVuY2FsbAorCSAgICAoaWYgKGVxIChvcmctY2Fw dHVyZS1nZXQgOnRyZWUtdHlwZSkgJ3dlZWspCisJCSMnb3JnLWRhdGV0cmVlLWZpbmQtaXNvLXdl ZWstY3JlYXRlCisJICAgICAgIydvcmctZGF0ZXRyZWUtZmluZC1kYXRlLWNyZWF0ZSkKKwkgICAg KGNhbGVuZGFyLWdyZWdvcmlhbi1mcm9tLWFic29sdXRlCisJICAgICAoY29uZAorCSAgICAgIChv cmctb3ZlcnJpZGluZy1kZWZhdWx0LXRpbWUKKwkgICAgICAgOzsgVXNlIHRoZSBvdmVycmlkaW5n IGRlZmF1bHQgdGltZS4KKwkgICAgICAgKHRpbWUtdG8tZGF5cyBvcmctb3ZlcnJpZGluZy1kZWZh dWx0LXRpbWUpKQorCSAgICAgICgob3JnLWNhcHR1cmUtZ2V0IDp0aW1lLXByb21wdCkKKwkgICAg ICAgOzsgUHJvbXB0IGZvciBkYXRlLgorCSAgICAgICAobGV0ICgocHJvbXB0LXRpbWUgKG9yZy1y ZWFkLWRhdGUKKwkJCQkgICBuaWwgdCBuaWwgIkRhdGUgZm9yIHRyZWUgZW50cnk6IgorCQkJCSAg IChjdXJyZW50LXRpbWUpKSkpCisJCSAob3JnLWNhcHR1cmUtcHV0CisJCSAgOmRlZmF1bHQtdGlt ZQorCQkgIChjb25kICgoYW5kIChvciAobm90IChib3VuZHAgJ29yZy10aW1lLXdhcy1naXZlbikp CisJCQkJICAobm90IG9yZy10aW1lLXdhcy1naXZlbikpCisJCQkgICAgICAobm90ICg9ICh0aW1l LXRvLWRheXMgcHJvbXB0LXRpbWUpIChvcmctdG9kYXkpKSkpCisJCQkgOzsgVXNlIDAwOjAwIHdo ZW4gbm8gdGltZSBpcyBnaXZlbiBmb3IgYW5vdGhlcgorCQkJIDs7IGRhdGUgdGhhbiB0b2RheT8K KwkJCSAoYXBwbHkgIydlbmNvZGUtdGltZQorCQkJCShhcHBlbmQgJygwIDAgMCkKKwkJCQkJKGNs LWNkZGRyIChkZWNvZGUtdGltZSBwcm9tcHQtdGltZSkpKSkpCisJCQkoKHN0cmluZy1tYXRjaCAi XFwoW14gXStcXCktLT9bXiBdK1sgXStcXCguKlxcKSIKKwkJCQkgICAgICAgb3JnLXJlYWQtZGF0 ZS1maW5hbC1hbnN3ZXIpCisJCQkgOzsgUmVwbGFjZSBhbnkgdGltZSByYW5nZSBieSBpdHMgc3Rh cnQuCisJCQkgKGFwcGx5ICMnZW5jb2RlLXRpbWUKKwkJCQkob3JnLXJlYWQtZGF0ZS1hbmFseXpl CisJCQkJIChyZXBsYWNlLW1hdGNoICJcXDEgXFwyIiBuaWwgbmlsCisJCQkJCQlvcmctcmVhZC1k YXRlLWZpbmFsLWFuc3dlcikKKwkJCQkgcHJvbXB0LXRpbWUgKGRlY29kZS10aW1lIHByb21wdC10 aW1lKSkpKQorCQkJKHQgcHJvbXB0LXRpbWUpKSkKKwkJICh0aW1lLXRvLWRheXMgcHJvbXB0LXRp bWUpKSkKKwkgICAgICAodAorCSAgICAgICA7OyBDdXJyZW50IGRhdGUsIHBvc3NpYmx5IGNvcnJl Y3RlZCBmb3IgbGF0ZSBuaWdodAorCSAgICAgICA7OyB3b3JrZXJzLgorCSAgICAgICAob3JnLXRv ZGF5KSkpKQorCSAgICA7OyB0aGUgZm9sbG93aW5nIGlzIHRoZSBrZWVwLXJlc3RyaWN0aW9uIGFy Z3VtZW50IGZvcgorCSAgICA7OyBvcmctZGF0ZXRyZWUtZmluZC1kYXRlLWNyZWF0ZQorCSAgICAo aWYgb3V0bGluZS1wYXRoICdzdWJ0cmVlLWF0LXBvaW50KQorCSAgICApKSkKIAkoYChmaWxlK2Z1 bmN0aW9uICxwYXRoICxmdW5jdGlvbikKIAkgKHNldC1idWZmZXIgKG9yZy1jYXB0dXJlLXRhcmdl dC1idWZmZXIgcGF0aCkpCiAJIChvcmctY2FwdHVyZS1wdXQtdGFyZ2V0LXJlZ2lvbi1hbmQtcG9z aXRpb24pCkBAIC0xNDMyLDYgKzE0NTcsMTMgQEAgVXNlIFBSRUZJWCBhcyBhIHByZWZpeCBmb3Ig dGhlIG5hbWUgb2YgdGhlIGluZGlyZWN0IGJ1ZmZlci4iCiAgICh1bmxlc3MgKG9yZy1raWxsLWlz LXN1YnRyZWUtcCB0cmVlKQogICAgIChlcnJvciAiVGVtcGxhdGUgaXMgbm90IGEgdmFsaWQgT3Jn IGVudHJ5IG9yIHRyZWUiKSkpCiAKKyhkZWZ1biBvcmctY2FwdHVyZS1zYW5pdGl6ZS1vbHAgKG9s cCkKKyAgIktlZXAgb25seSBub24td2hpdGUgc3RyaW5ncyBpbiB0aGUgbGlzdCBPUEwuIgorICAo bGV0IChyZXMgZSkKKyAgICAod2hpbGUgKHNldHEgZSAocG9wIG9scCkpCisgICAgICAoYW5kIChz dHJpbmdwIGUpIChzdHJpbmctbWF0Y2ggIlxcUy0iIGUpIChwdXNoIGUgcmVzKSkpCisgICAgKG5y ZXZlcnNlIHJlcykpKQorCiAoZGVmdW4gb3JnLW1rcyAodGFibGUgdGl0bGUgJm9wdGlvbmFsIHBy b21wdCBzcGVjaWFscykKICAgIlNlbGVjdCBhIG1lbWJlciBvZiBhbiBhbGlzdCB3aXRoIG11bHRp cGxlIGtleXMuCiAKQEAgLTE1MjYsNyArMTU1OCw4IEBAIGlzIHNlbGVjdGVkLCBvbmx5IHRoZSBi YXJlIGtleSBpcyByZXR1cm5lZC4iCiBMaXNwIHByb2dyYW1zIGNhbiBmb3JjZSB0aGUgdGVtcGxh dGUgYnkgc2V0dGluZyBLRVlTIHRvIGEgc3RyaW5nLiIKICAgKGxldCAoKG9yZy1jYXB0dXJlLXRl bXBsYXRlcwogCSAob3IgKG9yZy1jb250ZXh0dWFsaXplLWtleXMKLQkgICAgICBvcmctY2FwdHVy ZS10ZW1wbGF0ZXMgb3JnLWNhcHR1cmUtdGVtcGxhdGVzLWNvbnRleHRzKQorCSAgICAgIChvcmct Y2FwdHVyZS11cGdyYWRlLXRlbXBsYXRlcyBvcmctY2FwdHVyZS10ZW1wbGF0ZXMpCisJICAgICAg b3JnLWNhcHR1cmUtdGVtcGxhdGVzLWNvbnRleHRzKQogCSAgICAgJygoInQiICJUYXNrIiBlbnRy eSAoZmlsZStoZWFkbGluZSAiIiAiVGFza3MiKQogCQkiKiBUT0RPICU/XG4gICV1XG4gICVhIikp KSkpCiAgICAgKGlmIGtleXMKCU1vZGlmaWVkIGxpc3Avb3JnLWRhdGV0cmVlLmVsCmRpZmYgLS1n aXQgYS9saXNwL29yZy1kYXRldHJlZS5lbCBiL2xpc3Avb3JnLWRhdGV0cmVlLmVsCmluZGV4IDU0 MDc1M2QuLjExMTYzNzcgMTAwNjQ0Ci0tLSBhL2xpc3Avb3JnLWRhdGV0cmVlLmVsCisrKyBiL2xp c3Avb3JnLWRhdGV0cmVlLmVsCkBAIC01NCwxNiArNTQsMjUgQEAgQWRkZWQgdGltZSBzdGFtcCBp cyBhY3RpdmUgdW5sZXNzIHZhbHVlIGlzIGBpbmFjdGl2ZScuIgogICAiRmluZCBvciBjcmVhdGUg YW4gZW50cnkgZm9yIGRhdGUgRC4KIElmIEtFRVAtUkVTVFJJQ1RJT04gaXMgbm9uLW5pbCwgZG8g bm90IHdpZGVuIHRoZSBidWZmZXIuCiBXaGVuIGl0IGlzIG5pbCwgdGhlIGJ1ZmZlciB3aWxsIGJl IHdpZGVuZWQgdG8gbWFrZSBzdXJlIGFuIGV4aXN0aW5nIGRhdGUKLXRyZWUgY2FuIGJlIGZvdW5k LiIKK3RyZWUgY2FuIGJlIGZvdW5kLiAgSWYgaXQgaXMgdGhlIHN5bXBvbCBgc3VidHJlZS1hdC1w b2ludCcsIHRoZW4gdGhlIHRyZWUKK3dpbGwgYmUgYnVpbHQgdW5kZXIgdGhlIGhlYWRsaW5lIGF0 IHBvaW50LiIKICAgKHNldHEtbG9jYWwgb3JnLWRhdGV0cmVlLWJhc2UtbGV2ZWwgMSkKLSAgKG9y IGtlZXAtcmVzdHJpY3Rpb24gKHdpZGVuKSkKICAgKHNhdmUtcmVzdHJpY3Rpb24KLSAgICAobGV0 ICgocHJvcCAob3JnLWZpbmQtcHJvcGVydHkgIkRBVEVfVFJFRSIpKSkKLSAgICAgICh3aGVuIHBy b3AKLQkoZ290by1jaGFyIHByb3ApCi0JKHNldHEtbG9jYWwgb3JnLWRhdGV0cmVlLWJhc2UtbGV2 ZWwKLQkJICAgIChvcmctZ2V0LXZhbGlkLWxldmVsIChvcmctY3VycmVudC1sZXZlbCkgMSkpCi0J KG9yZy1uYXJyb3ctdG8tc3VidHJlZSkpKQorICAgIChpZiAoZXEga2VlcC1yZXN0cmljdGlvbiAn c3VidHJlZS1hdC1wb2ludCkKKwkocHJvZ24KKwkgIChvciAob3JnLWF0LWhlYWRpbmctcCkgKGVy cm9yICJOb3QgYXQgaGVhZGluZyIpKQorCSAgKHdpZGVuKQorCSAgKG9yZy1uYXJyb3ctdG8tc3Vi dHJlZSkKKwkgIChzZXRxLWxvY2FsIG9yZy1kYXRldHJlZS1iYXNlLWxldmVsCisJCSAgICAgIChv cmctZ2V0LXZhbGlkLWxldmVsIChvcmctY3VycmVudC1sZXZlbCkgMSkpKQorICAgICAgKG9yIGtl ZXAtcmVzdHJpY3Rpb24gKHdpZGVuKSkKKyAgICAgIDs7IHN1cHBvcnQgdGhlIG9sZCB3YXkgb2Yg dHJlZSBwbGFjZW1lbnQsIHVzaW5nIGEgcHJvcGVydHkKKyAgICAgIChsZXQgKChwcm9wIChvcmct ZmluZC1wcm9wZXJ0eSAiREFURV9UUkVFIikpKQorCSh3aGVuIHByb3AKKwkgIChnb3RvLWNoYXIg cHJvcCkKKwkgIChzZXRxLWxvY2FsIG9yZy1kYXRldHJlZS1iYXNlLWxldmVsCisJCSAgICAgIChv cmctZ2V0LXZhbGlkLWxldmVsIChvcmctY3VycmVudC1sZXZlbCkgMSkpCisJICAob3JnLW5hcnJv dy10by1zdWJ0cmVlKSkpKQogICAgIChnb3RvLWNoYXIgKHBvaW50LW1pbikpCiAgICAgKGxldCAo KHllYXIgKGNhbGVuZGFyLWV4dHJhY3QteWVhciBkKSkKIAkgIChtb250aCAoY2FsZW5kYXItZXh0 cmFjdC1tb250aCBkKSkKQEAgLTg0LDE4ICs5MywyNiBAQCB0cmVlIGNhbiBiZSBmb3VuZC4iCiAg ICJGaW5kIG9yIGNyZWF0ZSBhbiBJU08gd2VlayBlbnRyeSBmb3IgZGF0ZSBELgogQ29tcGFyZWQg dG8gYG9yZy1kYXRldHJlZS1maW5kLWRhdGUtY3JlYXRlJyB0aGlzIGZ1bmN0aW9uIGNyZWF0ZXMK IGVudHJpZXMgb3JkZXJlZCBieSB3ZWVrIGluc3RlYWQgb2YgbW9udGhzLgotSWYgS0VFUC1SRVNU UklDVElPTiBpcyBub24tbmlsLCBkbyBub3Qgd2lkZW4gdGhlIGJ1ZmZlci4gIFdoZW4gaXQKLWlz IG5pbCwgdGhlIGJ1ZmZlciB3aWxsIGJlIHdpZGVuZWQgdG8gbWFrZSBzdXJlIGFuIGV4aXN0aW5n IGRhdGUKLXRyZWUgY2FuIGJlIGZvdW5kLiIKK1doZW4gaXQgaXMgbmlsLCB0aGUgYnVmZmVyIHdp bGwgYmUgd2lkZW5lZCB0byBtYWtlIHN1cmUgYW4gZXhpc3RpbmcgZGF0ZQordHJlZSBjYW4gYmUg Zm91bmQuICBJZiBpdCBpcyB0aGUgc3ltcG9sIGBzdWJ0cmVlLWF0LXBvaW50JywgdGhlbiB0aGUg dHJlZQord2lsbCBiZSBidWlsdCB1bmRlciB0aGUgaGVhZGxpbmUgYXQgcG9pbnQuIgogICAoc2V0 cS1sb2NhbCBvcmctZGF0ZXRyZWUtYmFzZS1sZXZlbCAxKQotICAob3Iga2VlcC1yZXN0cmljdGlv biAod2lkZW4pKQogICAoc2F2ZS1yZXN0cmljdGlvbgotICAgIChsZXQgKChwcm9wIChvcmctZmlu ZC1wcm9wZXJ0eSAiV0VFS19UUkVFIikpKQotICAgICAgKHdoZW4gcHJvcAotCShnb3RvLWNoYXIg cHJvcCkKLQkoc2V0cS1sb2NhbCBvcmctZGF0ZXRyZWUtYmFzZS1sZXZlbAotCQkgICAgKG9yZy1n ZXQtdmFsaWQtbGV2ZWwgKG9yZy1jdXJyZW50LWxldmVsKSAxKSkKLQkob3JnLW5hcnJvdy10by1z dWJ0cmVlKSkpCisgICAgKGlmIChlcSBrZWVwLXJlc3RyaWN0aW9uICdzdWJ0cmVlLWF0LXBvaW50 KQorCShwcm9nbgorCSAgKG9yIChvcmctYXQtaGVhZGluZy1wKSAoZXJyb3IgIk5vdCBhdCBoZWFk aW5nIikpCisJICAod2lkZW4pCisJICAob3JnLW5hcnJvdy10by1zdWJ0cmVlKQorCSAgKHNldHEt bG9jYWwgb3JnLWRhdGV0cmVlLWJhc2UtbGV2ZWwKKwkJICAgICAgKG9yZy1nZXQtdmFsaWQtbGV2 ZWwgKG9yZy1jdXJyZW50LWxldmVsKSAxKSkpCisgICAgICAob3Iga2VlcC1yZXN0cmljdGlvbiAo d2lkZW4pKQorICAgICAgOzsgc3VwcG9ydCB0aGUgb2xkIHdheSBvZiB0cmVlIHBsYWNlbWVudCwg dXNpbmcgYSBwcm9wZXJ0eQorICAgICAgKGxldCAoKHByb3AgKG9yZy1maW5kLXByb3BlcnR5ICJX RUVLX1RSRUUiKSkpCisJKHdoZW4gcHJvcAorCSAgKGdvdG8tY2hhciBwcm9wKQorCSAgKHNldHEt bG9jYWwgb3JnLWRhdGV0cmVlLWJhc2UtbGV2ZWwKKwkJICAgICAgKG9yZy1nZXQtdmFsaWQtbGV2 ZWwgKG9yZy1jdXJyZW50LWxldmVsKSAxKSkKKwkgIChvcmctbmFycm93LXRvLXN1YnRyZWUpKSkp CiAgICAgKGdvdG8tY2hhciAocG9pbnQtbWluKSkKICAgICAocmVxdWlyZSAnY2FsLWlzbykKICAg ICAobGV0KiAoKHllYXIgKGNhbGVuZGFyLWV4dHJhY3QteWVhciBkKSkKCU1vZGlmaWVkIGxpc3Av b3JnLmVsCmRpZmYgLS1naXQgYS9saXNwL29yZy5lbCBiL2xpc3Avb3JnLmVsCmluZGV4IDM4ZmNl NzAuLmFjNTZkNzEgMTAwNjQ0Ci0tLSBhL2xpc3Avb3JnLmVsCisrKyBiL2xpc3Avb3JnLmVsCkBA IC0xNjYxNSw2ICsxNjYxNSw4IEBAIG9ubHkgaGVhZGluZ3MuIgogCSBlbmQgZm91bmQgZmxldmVs KQogICAgICh1bmxlc3MgYnVmZmVyIChlcnJvciAiRmlsZSBub3QgZm91bmQgOiVzIiBmaWxlKSkK ICAgICAod2l0aC1jdXJyZW50LWJ1ZmZlciBidWZmZXIKKyAgICAgICh1bmxlc3MgKGRlcml2ZWQt bW9kZS1wICdvcmctbW9kZSkKKwkoZXJyb3IgIkJ1ZmZlciAlcyBuZWVkcyB0byBiZSBpbiBvcmct bW9kZSIgYnVmZmVyKSkKICAgICAgIChvcmctd2l0aC13aWRlLWJ1ZmZlcgogICAgICAgIChnb3Rv LWNoYXIgKHBvaW50LW1pbikpCiAgICAgICAgKGRvbGlzdCAoaGVhZGluZyBwYXRoKQoK --f403045fb11c0bef660547a0d334--