From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp12.migadu.com ([2001:41d0:403:4789::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms9.migadu.com with LMTPS id uOr1DLBjvmSoMgAASxT56A (envelope-from ) for ; Mon, 24 Jul 2023 13:42:40 +0200 Received: from aspmx1.migadu.com ([2001:41d0:403:4789::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp12.migadu.com with LMTPS id WJxeDLBjvmRjggAAauVa8A (envelope-from ) for ; Mon, 24 Jul 2023 13:42:40 +0200 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id EEB26419D2 for ; Mon, 24 Jul 2023 13:42:38 +0200 (CEST) Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=ricklupton.name header.s=fm2 header.b=Nay1umM4; dkim=fail ("headers rsa verify failed") header.d=messagingengine.com header.s=fm3 header.b=v3uYVcrt; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org"; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1690198960; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=gdgsKTlSIByxbvW4Bd9RsTMVnGZPYI9iQYqK5lc3wFY=; b=XQlEDJ+DxzYcO7+IiamfaeZCWFzS83bLY7YKGBorPOujlV+VPakhsFdl7RvWNDpwrbYsZa tVdoORFUijo3vKCHcGJoELkRcHNo8RJxuBsP8PAy2SUkoEuATHNKGPwoNvsVSIRbXHBWJn TFyQzM7NZCuKK/hX0cxaWqkMJt5Pvy6sAgFnKFd05d5UVVKl5qgJ7qJaUg5gEfonZs+KDG +84+BPSl664jWWkrkfQIOA8/opqils7Ajf9pm+73A2lgnJ8AVorPfQJDmF92sDFnZJ0gzV 49FYb5RG6cHMElAmLNB4kskODv3Z4rBi5jFbXoP70386MPZUo4M2PGGog5Ps1A== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1690198960; a=rsa-sha256; cv=none; b=mPwUKoA26FCrE1gEemJtoDaMDDp2/E1GEOgc9B88TtOEn41Ul17GQMaotescfSBp6Y2TCA x533aPoSyKcIaFN8pTMFhC5Z+QNcMAmPlCOUdJzqWwPw/FlZC/e8YBQcnRR/FOw1pqJFSD BYi4Q4gYUHN+j2MAlvJOjehieYUnGvVTmt49Rqadd7vS+OgtpQi6PzT7eJ3AfKnEvdD7om q4HVz+71u7kiQeJ+MBwiD3vHzfTz5YMBGlB49dmIBkfd3QdUsS5O7MhozcdoqD7tD0DBMK 6ot1Rc2+sZ9hwBE2bwyvrNqoGNFrTqT69WuARwrp0Jv/i+SJ/STs9jBDbppqLA== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=ricklupton.name header.s=fm2 header.b=Nay1umM4; dkim=fail ("headers rsa verify failed") header.d=messagingengine.com header.s=fm3 header.b=v3uYVcrt; spf=pass (aspmx1.migadu.com: domain of "emacs-orgmode-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="emacs-orgmode-bounces+larch=yhetil.org@gnu.org"; dmarc=none Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1qNtwb-00044u-Vv; Mon, 24 Jul 2023 07:41:42 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qNtwX-00044S-4x for emacs-orgmode@gnu.org; Mon, 24 Jul 2023 07:41:38 -0400 Received: from wout3-smtp.messagingengine.com ([64.147.123.19]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1qNtwR-0005D1-6I for emacs-orgmode@gnu.org; Mon, 24 Jul 2023 07:41:34 -0400 Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.west.internal (Postfix) with ESMTP id E1FD732006F5 for ; Mon, 24 Jul 2023 07:41:25 -0400 (EDT) Received: from imap50 ([10.202.2.100]) by compute5.internal (MEProxy); Mon, 24 Jul 2023 07:41:26 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ricklupton.name; h=cc:content-type:content-type:date:date:from:from:in-reply-to :message-id:mime-version:reply-to:sender:subject:subject:to:to; s=fm2; t=1690198885; x=1690285285; bh=gdgsKTlSIByxbvW4Bd9RsTMVn GZPYI9iQYqK5lc3wFY=; b=Nay1umM451l+YCEHLPcZLKSCHYeCSnjhGCW3rz8mU TP14LzC4uvdmtLb8SNGvDBOsVhF5w7W9WDRgb0ItsQL9hN/Ee8zgjazPOK/hy8oV ee1n0AEIgutPYwkfprLvnY1Vo2Jg8GblU/kbk31oeW65mVSFlBtOih4sR7CoDdJN KMM/3ObjPIxDl10iZO3th3cX/pYKhFmRlBodxIdghCyjPY/Dg/3j2Zvhgpes0zGd z2AWuG4rkK8dHlqToDy9jn7PYFXDWuJqvUooAtjKU3xPYGfvb6jZEErkMnUAtWPW FdSeIwf3rx9uFCLjGyf6QEH7NS1rYlZIT74CIq/9MpI6A== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:message-id :mime-version:reply-to:sender:subject:subject:to:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t= 1690198885; x=1690285285; bh=gdgsKTlSIByxbvW4Bd9RsTMVnGZPYI9iQYq K5lc3wFY=; b=v3uYVcrtA68lARrBQjQDKKMr9n6I/kmdy4mouAwb8knbQ/XLjMT uprjzMERyyZjyW3Npj6w+5/csdj+Pa9NdhgrTfVokdlShO0+oudYd3faAV5CJ93/ BOaOF6rpfkp9DI9a91BvaLW9RHNSg1bhPYr9vjRf4UQlu3XbcRzM/wsuEPzwqNNL Lqea6mp2fLiedhW8BsOE2QrhQlEtF9J8uC9TWVvh/blBHJy5Jqd24zmRS7fOK6MC lOoUqGz/7bAX75Mj7r5uGr7Xvtj0K7ohfr5jUHQWdRvAXPOoeTIlMdICO9zx4m59 gjxuXltDMqWMnTJbkCqFBfEuFzQtEjklynQ== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedviedrheekgdegudcutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecunecujfgurhepofgfggfkfffhvffutgesmhdtreerre ertdenucfhrhhomhepfdftihgtkhcunfhuphhtohhnfdcuoehmrghilhesrhhitghklhhu phhtohhnrdhnrghmvgeqnecuggftrfgrthhtvghrnhepheefvedvhedvteeggfetvdefhf evteegteffvdefgeeuhefguedvhffhjeffudeunecuvehluhhsthgvrhfuihiivgeptden ucfrrghrrghmpehmrghilhhfrhhomhepmhgrihhlsehrihgtkhhluhhpthhonhdrnhgrmh gv X-ME-Proxy: Feedback-ID: i0143436f:Fastmail Received: by mailuser.nyi.internal (Postfix, from userid 501) id 2B773170009E; Mon, 24 Jul 2023 07:41:25 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.9.0-alpha0-531-gfdfa13a06d-fm-20230703.001-gfdfa13a0 Mime-Version: 1.0 Message-Id: <118435e8-0b20-46fd-af6a-88de8e19fac6@app.fastmail.com> Date: Mon, 24 Jul 2023 12:40:54 +0100 From: "Rick Lupton" To: emacs-orgmode@gnu.org Subject: [PATCH] org-id: allow using parent's existing id in links to headlines Content-Type: multipart/mixed; boundary=4f05580916214d4a9feb7fa512b99362 Received-SPF: pass client-ip=64.147.123.19; envelope-from=mail@ricklupton.name; helo=wout3-smtp.messagingengine.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: emacs-orgmode@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "General discussions about Org-mode." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: emacs-orgmode-bounces+larch=yhetil.org@gnu.org X-Migadu-Country: US X-Migadu-Flow: FLOW_IN X-Migadu-Spam-Score: -3.02 X-Spam-Score: -3.02 X-Migadu-Queue-Id: EEB26419D2 X-Migadu-Scanner: mx1.migadu.com X-TUID: +1+SGFYTtNQu --4f05580916214d4a9feb7fa512b99362 Content-Type: text/plain Hi, Here is a small new feature for org-id that I have been using and finding useful. The patch adds the option to look for ancestors of the current headline that have an ID defined and use that together with a link search string to link to specific headlines, without needing every single headline to have its own ID. For example if you have: #+begin_example * H1 :PROPERTIES: :ID: abc :END: ** H2 Link to here #+end_example with `org-id-link-to-org-use-id' set to `t`, the result of org-store-link will be that "H2" has a new id generated, and the link is to that new ID: `[[id:new-id][H2]]`. Now, with `org-id-link-to-org-use-id' set to `inherit`, "H2" is not modified, and the resulting link is `[[id:abc::*H2][H2]]`, which will still take you to the same place as long as the sub-heading is unique within the parent heading with an ID. As an example, I find this useful in situations like this: #+begin_example * Project 1 :PROPERTIES: :ID: project-1 :END: ** <2023-07-01> Meeting A ** <2023-07-08> Meeting B ** <2023-07-15> Meeting C #+end_example ... so that I can link to specific meetings without needing every one to have its own org ID. Feedback on the patch welcome. If you would like to merge this I will (I assume) need to sort out FSF copyright assignment and update ORG-NEWS and the manual. Best Rick --4f05580916214d4a9feb7fa512b99362 Content-Disposition: attachment; filename*0="0001-lisp-org-id.el-Allow-using-a-parent-s-existing-id.patch" Content-Type: application/octet-stream; name="=?UTF-8?Q?0001-lisp-org-id.el-Allow-using-a-parent-s-existing-id.patch?=" Content-Transfer-Encoding: BASE64 RnJvbSA5OWI0Mzk4NjViMjE0ZWNmYmJiMmI2Njg1ZWQ3NzgyMjkzYzE1N2MxIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBSaWNrIEx1cHRvbiA8bWFpbEByaWNrbHVwdG9uLm5h bWU+CkRhdGU6IE1vbiwgMjQgSnVsIDIwMjMgMTI6Mjk6MzAgKzAxMDAKU3ViamVjdDogW1BB VENIXSBsaXNwL29yZy1pZC5lbDogQWxsb3cgdXNpbmcgYSBwYXJlbnQncyBleGlzdGluZyBp ZAoKKiBsaXNwL29sLmVsIChvcmctc3RvcmUtbGluayk6IFdoZW4gYG9yZy1pZC1saW5rLXRv LW9yZy11c2UtaWRgIGlzCmBpbmhlcml0YCwgbG9vayBmb3IgZXhpc3RpbmcgSURzIG9uIGFu Y2VzdG9ycyBvZiB0aGUgY3VycmVudCBoZWFkbGluZSwKYW5kIHVzZSBhIGxpbmsgc2VhcmNo IHN0cmluZyB0byBmaW5kIHRoZSBjdXJyZW50IGhlYWRsaW5lIHdpdGhpbiB0aGF0CmFuY2Vz dG9yLgoqIGxpc3Avb3JnLWlkLmVsIChvcmctaWQtbGluay10by1vcmctdXNlLWlkKTogSW50 cm9kdWNlIG5ldyBgaW5oZXJpdGAKdmFsdWUuCihvcmctaWQtZ2V0LWNyZWF0ZSwgb3JnLWlk LWdldCwgb3JnLWlkLXN0b3JlLWxpbmspOiBBZGQgb3B0aW9uYWwKYGluaGVyaXRgIGFyZ3Vt ZW50IHdoaWNoIGNvbnNpZGVycyBwYXJlbnRzJyBJRHMgaWYgdGhlIGN1cnJlbnQgZW50cnkK ZG9lcyBub3QgaGF2ZSBvbmUuCiogdGVzdGluZy9saXNwL3Rlc3Qtb2wuZWw6IEFkZCB0ZXN0 IGZvciBgb3JnLWlkLWxpbmstdG8tb3JnLXVzZS1pZGAgc2V0CnRvIGBpbmhlcml0YC4KClRo aXMgZmVhdHVyZSBhbGxvd3MgZm9yIG1vcmUgcHJlY2lzZSBsaW5rcyB3aGVuIHVzaW5nIG9y Zy1pZCB0byBsaW5rIHRvCm9yZyBoZWFkaW5ncywgd2l0aG91dCByZXF1aXJpbmcgZXZlcnkg c2luZ2xlIGhlYWRsaW5lIHRvIGhhdmUgYW4gaWQuCi0tLQogbGlzcC9vbC5lbCAgICAgICAg ICAgICAgfCAzOCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQogbGlz cC9vcmctaWQuZWwgICAgICAgICAgfCAyNyArKysrKysrKysrKysrKysrKysrLS0tLS0tLS0K IHRlc3RpbmcvbGlzcC90ZXN0LW9sLmVsIHwgMjAgKysrKysrKysrKysrKysrKysrKysKIDMg ZmlsZXMgY2hhbmdlZCwgNzYgaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkKCmRpZmYg LS1naXQgYS9saXNwL29sLmVsIGIvbGlzcC9vbC5lbAppbmRleCAzYThjYTVmMzkuLjJlODYz ZTQ3YiAxMDA2NDQKLS0tIGEvbGlzcC9vbC5lbAorKysgYi9saXNwL29sLmVsCkBAIC02Myw3 ICs2Myw3IEBACiAoZGVjbGFyZS1mdW5jdGlvbiBvcmctZmluZC1wcm9wZXJ0eSAib3JnIiAo cHJvcGVydHkgJm9wdGlvbmFsIHZhbHVlKSkKIChkZWNsYXJlLWZ1bmN0aW9uIG9yZy1nZXQt aGVhZGluZyAib3JnIiAoJm9wdGlvbmFsIG5vLXRhZ3Mgbm8tdG9kbyBuby1wcmlvcml0eSBu by1jb21tZW50KSkKIChkZWNsYXJlLWZ1bmN0aW9uIG9yZy1pZC1maW5kLWlkLWZpbGUgIm9y Zy1pZCIgKGlkKSkKLShkZWNsYXJlLWZ1bmN0aW9uIG9yZy1pZC1zdG9yZS1saW5rICJvcmct aWQiICgpKQorKGRlY2xhcmUtZnVuY3Rpb24gb3JnLWlkLXN0b3JlLWxpbmsgIm9yZy1pZCIg KCZvcHRpb25hbCBpbmhlcml0KSkKIChkZWNsYXJlLWZ1bmN0aW9uIG9yZy1pbnNlcnQtaGVh ZGluZyAib3JnIiAoJm9wdGlvbmFsIGFyZyBpbnZpc2libGUtb2sgdG9wKSkKIChkZWNsYXJl LWZ1bmN0aW9uIG9yZy1sb2FkLW1vZHVsZXMtbWF5YmUgIm9yZyIgKCZvcHRpb25hbCBmb3Jj ZSkpCiAoZGVjbGFyZS1mdW5jdGlvbiBvcmctbWFyay1yaW5nLXB1c2ggIm9yZyIgKCZvcHRp b25hbCBwb3MgYnVmZmVyKSkKQEAgLTE3MDAsNiArMTcwMCw0MiBAQCBub24tbmlsLiIKIAkJ CSAoY29uY2F0ICJmaWxlOiIKIAkJCQkgKGFiYnJldmlhdGUtZmlsZS1uYW1lCiAJCQkJICAo YnVmZmVyLWZpbGUtbmFtZSAoYnVmZmVyLWJhc2UtYnVmZmVyKSkpKSkpKSkKKwkgICgoYW5k IChmZWF0dXJlcCAnb3JnLWlkKQorICAgICAgICAgICAgKGVxIG9yZy1pZC1saW5rLXRvLW9y Zy11c2UtaWQgJ2luaGVyaXQpKQorICAgICAgICAgICA7OyBTdG9yZSBhIGxpbmsgdXNpbmcg dGhlIGluaGVyaXRlZCBJRCBhbmQgc2VhcmNoIHN0cmluZworICAgICAgICAgICAoc2V0cSBj cGx0eHQgKGNvbmRpdGlvbi1jYXNlIG5pbAorICAgICAgICAgICAgICAgICAgICAgICAgICAg IChwcm9nMSAob3JnLWlkLXN0b3JlLWxpbmsgJ2luaGVyaXQpCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAoc2V0cSBkZXNjIChwbGlzdC1nZXQgb3JnLXN0b3JlLWxpbmstcGxp c3QgOmRlc2NyaXB0aW9uKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgIChlcnJvcgor ICAgICAgICAgICAgICAgICAgICAgICAgICAgOzsgUHJvYmFibHkgYmVmb3JlIGZpcnN0IGhl YWRsaW5lLCBsaW5rIG9ubHkgdG8gZmlsZQorICAgICAgICAgICAgICAgICAgICAgICAgICAg KGNvbmNhdCAiZmlsZToiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChh YmJyZXZpYXRlLWZpbGUtbmFtZQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKGJ1ZmZlci1maWxlLW5hbWUgKGJ1ZmZlci1iYXNlLWJ1ZmZlcikpKSkpKSkKKyAgICAg ICAgICAgOzsgQWRkIGEgY29udGV4dCBzZWFyY2ggc3RyaW5nLCBsaW1pdGVkIGJ5IGN1cnJl bnQgcmVnaW9uCisgICAgICAgICAgICh3aGVuIChvcmcteG9yIG9yZy1saW5rLWNvbnRleHQt Zm9yLWZpbGVzIChlcXVhbCBhcmcgJyg0KSkpCisgICAgICAgICAgICAgKGxldCogKChlbGVt ZW50IChvcmctZWxlbWVudC1hdC1wb2ludCkpCisgICAgICAgICAgICAgICAgICAgIChuYW1l IChvcmctZWxlbWVudC1wcm9wZXJ0eSA6bmFtZSBlbGVtZW50KSkKKyAgICAgICAgICAgICAg ICAgICAgKGNvbnRleHQKKyAgICAgICAgICAgICAgICAgICAgIChjb25kCisgICAgICAgICAg ICAgICAgICAgICAgKChsZXQgKChyZWdpb24gKG9yZy1saW5rLS1jb250ZXh0LWZyb20tcmVn aW9uKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgKGFuZCByZWdpb24gKG9yZy1saW5r LS1ub3JtYWxpemUtc3RyaW5nIHJlZ2lvbiB0KSkpKQorICAgICAgICAgICAgICAgICAgICAg IChuYW1lKQorICAgICAgICAgICAgICAgICAgICAgICgob3JnLWJlZm9yZS1maXJzdC1oZWFk aW5nLXApCisgICAgICAgICAgICAgICAgICAgICAgIChvcmctbGluay0tbm9ybWFsaXplLXN0 cmluZyAob3JnLWN1cnJlbnQtbGluZS1zdHJpbmcpIHQpKQorICAgICAgICAgICAgICAgICAg ICAgICh0IChvcmctbGluay1oZWFkaW5nLXNlYXJjaC1zdHJpbmcpKSkpKQorICAgICAgICAg ICAgICAgKHdoZW4gKG9yZy1zdHJpbmctbnctcCBjb250ZXh0KQorICAgICAgICAgICAgICAg ICAoc2V0cSBjcGx0eHQgKGZvcm1hdCAiJXM6OiVzIiBjcGx0eHQgY29udGV4dCkpCisgICAg ICAgICAgICAgICAgIChzZXRxIGRlc2MKKyAgICAgICAgICAgICAgICAgICAgICAgKG9yIG5h bWUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIDs7IEFsdGhvdWdoIGRlc2NyaXB0aW9u IGlzIG5vdCBhIHNlYXJjaAorICAgICAgICAgICAgICAgICAgICAgICAgICAgOzsgc3RyaW5n LCB1c2UgYG9yZy1saW5rLS1ub3JtYWxpemUtc3RyaW5nJworICAgICAgICAgICAgICAgICAg ICAgICAgICAgOzsgdG8gcHJldHRpZnkgaXQgKGNvbnRpZ3VvdXMgd2hpdGUgc3BhY2VzKQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgOzsgYW5kIHJlbW92ZSB2b2xhdGlsZSBjb250 ZW50cyAoc3RhdGlzdGljcworICAgICAgICAgICAgICAgICAgICAgICAgICAgOzsgY29va2ll cykuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAoYW5kIChub3QgKG9yZy1iZWZvcmUt Zmlyc3QtaGVhZGluZy1wKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9y Zy1saW5rLS1ub3JtYWxpemUtc3RyaW5nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAob3JnLWdldC1oZWFkaW5nIHQgdCB0IHQpKSkKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICJOT05FIikpKSkpKQogCSAgKHQKIAkgICA7OyBKdXN0IGxpbmsgdG8gY3VycmVu dCBoZWFkbGluZS4KIAkgICAoc2V0cSBjcGx0eHQgKGNvbmNhdCAiZmlsZToiCmRpZmYgLS1n aXQgYS9saXNwL29yZy1pZC5lbCBiL2xpc3Avb3JnLWlkLmVsCmluZGV4IGRhZTNhMGNhOC4u N2I1N2M4Mjg5IDEwMDY0NAotLS0gYS9saXNwL29yZy1pZC5lbAorKysgYi9saXNwL29yZy1p ZC5lbApAQCAtMTE0LDYgKzExNCwxMCBAQCBjcmVhdGUtaWYtaW50ZXJhY3RpdmUtYW5kLW5v LWN1c3RvbS1pZAogdXNlLWV4aXN0aW5nCiAgICAgICBVc2UgZXhpc3RpbmcgSUQsIGRvIG5v dCBjcmVhdGUgb25lLgogCitpbmhlcml0CisgICAgICBVc2UgZXhpc3RpbmcgSUQgZnJvbSBh IHBhcmVudCBoZWFkbGluZSwgYW5kIHVzZSBhIHRleHQKKyAgICAgIHNlYXJjaCB0byBmaW5k IHRoaXMgaGVhZGxpbmUgd2l0aGluIGl0LgorCiBuaWwgICBOZXZlciB1c2UgYW4gSUQgdG8g bWFrZSBhIGxpbmssIGluc3RlYWQgbGluayB1c2luZyBhIHRleHQgc2VhcmNoIGZvcgogICAg ICAgdGhlIGhlYWRsaW5lIHRleHQuIgogICA6Z3JvdXAgJ29yZy1saW5rLXN0b3JlCkBAIC0y NTUsMTQgKzI1OSwxNyBAQCBUaGlzIHZhcmlhYmxlIGlzIG9ubHkgcmVsZXZhbnQgd2hlbiBg b3JnLWlkLXRyYWNrLWdsb2JhbGx5JyBpcyBzZXQuIgogOzs7IFRoZSBBUEkgZnVuY3Rpb25z CiAKIDs7OyMjI2F1dG9sb2FkCi0oZGVmdW4gb3JnLWlkLWdldC1jcmVhdGUgKCZvcHRpb25h bCBmb3JjZSkKKyhkZWZ1biBvcmctaWQtZ2V0LWNyZWF0ZSAoJm9wdGlvbmFsIGZvcmNlIGlu aGVyaXQpCiAgICJDcmVhdGUgYW4gSUQgZm9yIHRoZSBjdXJyZW50IGVudHJ5IGFuZCByZXR1 cm4gaXQuCiBJZiB0aGUgZW50cnkgYWxyZWFkeSBoYXMgYW4gSUQsIGp1c3QgcmV0dXJuIGl0 LgotV2l0aCBvcHRpb25hbCBhcmd1bWVudCBGT1JDRSwgZm9yY2UgdGhlIGNyZWF0aW9uIG9m IGEgbmV3IElELiIKK1dpdGggb3B0aW9uYWwgYXJndW1lbnQgRk9SQ0UsIGZvcmNlIHRoZSBj cmVhdGlvbiBvZiBhIG5ldyBJRC4KK1dpdGggb3B0aW9uYWwgYXJndW1lbnQgSU5IRVJJVCwg Y29uc2lkZXIgcGFyZW50cycgSURzIGlmIHRoZQorY3VycmVudCBlbnRyeSBkb2VzIG5vdCBo YXZlIG9uZS4iCiAgIChpbnRlcmFjdGl2ZSAiUCIpCiAgICh3aGVuIGZvcmNlCi0gICAgKG9y Zy1lbnRyeS1wdXQgKHBvaW50KSAiSUQiIG5pbCkpCi0gIChvcmctaWQtZ2V0IChwb2ludCkg J2NyZWF0ZSkpCisgICAgKG9yZy1lbnRyeS1wdXQgKHBvaW50KSAiSUQiIG5pbCkKKyAgICAo c2V0cSBpbmhlcml0IG5pbCkpCisgIChvcmctaWQtZ2V0IChwb2ludCkgJ2NyZWF0ZSBuaWwg aW5oZXJpdCkpCiAKIDs7OyMjI2F1dG9sb2FkCiAoZGVmdW4gb3JnLWlkLWNvcHkgKCkKQEAg LTI3NywxNSArMjg0LDE2IEBAIFRoaXMgaXMgdXNlZnVsIHdoZW4gd29ya2luZyB3aXRoIGNv bnRlbnRzIGluIGEgdGVtcG9yYXJ5IGJ1ZmZlcgogdGhhdCB3aWxsIGJlIGNvcGllZCBiYWNr IHRvIHRoZSBvcmlnaW5hbC4iKQogCiA7OzsjIyNhdXRvbG9hZAotKGRlZnVuIG9yZy1pZC1n ZXQgKCZvcHRpb25hbCBlcG9tIGNyZWF0ZSBwcmVmaXgpCisoZGVmdW4gb3JnLWlkLWdldCAo Jm9wdGlvbmFsIGVwb20gY3JlYXRlIHByZWZpeCBpbmhlcml0KQogICAiR2V0IHRoZSBJRCBw cm9wZXJ0eSBvZiB0aGUgZW50cnkgYXQgRVBPTS4KIEVQT00gaXMgYW4gZWxlbWVudCwgbWFy a2VyLCBvciBidWZmZXIgcG9zaXRpb24uCiBJZiBFUE9NIGlzIG5pbCwgcmVmZXIgdG8gdGhl IGVudHJ5IGF0IHBvaW50LgogSWYgdGhlIGVudHJ5IGRvZXMgbm90IGhhdmUgYW4gSUQsIHRo ZSBmdW5jdGlvbiByZXR1cm5zIG5pbC4KK0lmIElOSEVSSVQgaXMgbm9uLW5pbCwgcGFyZW50 cycgSURzIGFyZSBhbHNvIGNvbnNpZGVyZWQuCiBIb3dldmVyLCB3aGVuIENSRUFURSBpcyBu b24tbmlsLCBjcmVhdGUgYW4gSUQgaWYgbm9uZSBpcyBwcmVzZW50IGFscmVhZHkuCiBQUkVG SVggd2lsbCBiZSBwYXNzZWQgdGhyb3VnaCB0byBgb3JnLWlkLW5ldycuCiBJbiBhbnkgY2Fz ZSwgdGhlIElEIG9mIHRoZSBlbnRyeSBpcyByZXR1cm5lZC4iCi0gIChsZXQgKChpZCAob3Jn LWVudHJ5LWdldCBlcG9tICJJRCIpKSkKKyAgKGxldCAoKGlkIChvcmctZW50cnktZ2V0IGVw b20gIklEIiBpbmhlcml0KSkpCiAgICAgKGNvbmQKICAgICAgKChhbmQgaWQgKHN0cmluZ3Ag aWQpIChzdHJpbmctbWF0Y2ggIlxcUy0iIGlkKSkKICAgICAgIGlkKQpAQCAtNjgwLDE0ICs2 ODgsMTcgQEAgb3B0aW9uYWwgYXJndW1lbnQgTUFSS0VSUCwgcmV0dXJuIHRoZSBwb3NpdGlv biBhcyBhIG5ldyBtYXJrZXIuIgogOzsgc28gd2UgZG8gaGF2ZSB0byBhZGQgaXQgdG8gYG9y Zy1zdG9yZS1saW5rLWZ1bmN0aW9ucycuCiAKIDs7OyMjI2F1dG9sb2FkCi0oZGVmdW4gb3Jn LWlkLXN0b3JlLWxpbmsgKCkKKyhkZWZ1biBvcmctaWQtc3RvcmUtbGluayAoJm9wdGlvbmFs IGluaGVyaXQpCiAgICJTdG9yZSBhIGxpbmsgdG8gdGhlIGN1cnJlbnQgZW50cnksIHVzaW5n IGl0cyBJRC4KIAorSWYgSU5IRVJJVCBpcyBub24tbmlsLCBjb25zaWRlciBhbHNvIHBhcmVu dHMnIElEcyBpZiB0aGUgY3VycmVudAorZW50cnkgZG9lcyBub3QgaGF2ZSBhbiBJRC4KKwog SWYgYmVmb3JlIGZpcnN0IGhlYWRpbmcgc3RvcmUgZmlyc3QgdGl0bGUta2V5d29yZCBhcyBk ZXNjcmlwdGlvbgogb3IgZmlsZW5hbWUgaWYgbm8gdGl0bGUuIgogICAoaW50ZXJhY3RpdmUp CiAgICh3aGVuIChhbmQgKGJ1ZmZlci1maWxlLW5hbWUgKGJ1ZmZlci1iYXNlLWJ1ZmZlcikp IChkZXJpdmVkLW1vZGUtcCAnb3JnLW1vZGUpKQotICAgIChsZXQqICgobGluayAoY29uY2F0 ICJpZDoiIChvcmctaWQtZ2V0LWNyZWF0ZSkpKQorICAgIChsZXQqICgobGluayAoY29uY2F0 ICJpZDoiIChvcmctaWQtZ2V0LWNyZWF0ZSBuaWwgaW5oZXJpdCkpKQogCSAgIChjYXNlLWZv bGQtc2VhcmNoIG5pbCkKIAkgICAoZGVzYyAoc2F2ZS1leGN1cnNpb24KIAkJICAgKG9yZy1i YWNrLXRvLWhlYWRpbmctb3ItcG9pbnQtbWluIHQpCmRpZmYgLS1naXQgYS90ZXN0aW5nL2xp c3AvdGVzdC1vbC5lbCBiL3Rlc3RpbmcvbGlzcC90ZXN0LW9sLmVsCmluZGV4IGEzOGQ5Zjk3 OS4uN2E0ZDk5OTlhIDEwMDY0NAotLS0gYS90ZXN0aW5nL2xpc3AvdGVzdC1vbC5lbAorKysg Yi90ZXN0aW5nL2xpc3AvdGVzdC1vbC5lbApAQCAtMzgxLDYgKzM4MSwyNiBAQCBTZWUgaHR0 cHM6Ly9naXRodWIuY29tL3lhbnRhcjkyL29yZy9pc3N1ZXMvNC4iCiAJIChlcXVhbCAoZm9y bWF0ICJbW2ZpbGU6JXM6Oipmb28gYmFyXVtmb28gYmFyXV0iIGZpbGUgZmlsZSkKIAkJKG9y Zy1zdG9yZS1saW5rIG5pbCkpKSkpKSkKIAorKGVydC1kZWZ0ZXN0IHRlc3Qtb3JnLWxpbmsv c3RvcmUtbGluay13aXRoLWlkICgpCisgICJUZXN0IGBvcmctc3RvcmUtbGluaycgc3BlY2lm aWNhdGlvbnMgd2l0aCBvcmctaWQuIgorICA7OyBPbiBhIGhlYWRsaW5lLCBsaW5rIHRvIHRo YXQgaGVhZGxpbmUncyBJRC4gIFVzZSBoZWFkaW5nIGFzIHRoZQorICA7OyBkZXNjcmlwdGlv biBvZiB0aGUgbGluay4KKyAgKHNob3VsZAorICAgKGxldCAoKG9yZy1zdG9yZWQtbGlua3Mg bmlsKQorICAgICAgICAgKG9yZy1pZC1saW5rLXRvLW9yZy11c2UtaWQgdCkpCisgICAgIChv cmctdGVzdC13aXRoLXRlbXAtdGV4dC1pbi1maWxlICIqIEgxXG46UFJPUEVSVElFUzpcbjpJ RDogYWJjXG46RU5EOlxuIgorICAgICAgICAoZXF1YWwgIltbaWQ6YWJjXVtIMV1dIgorICAg ICAgICAgICAgICAgKG9yZy1zdG9yZS1saW5rIG5pbCkpKSkpCisgIDs7IE9uIGEgaGVhZGxp bmUgd2l0aG91dCBhbiBJRCwgbGluayB0byB0aGF0IGhlYWRsaW5lJ3MgcGFyZW50J3MgSUQs CisgIDs7IHdpdGggdGhlIGN1cnJlbnQgaGVhZGxpbmUgYXMgY29udGV4dC4gIFVzZSBoZWFk aW5nIGFzIHRoZQorICA7OyBkZXNjcmlwdGlvbiBvZiB0aGUgbGluay4KKyAgKHNob3VsZAor ICAgKGxldCAoKG9yZy1zdG9yZWQtbGlua3MgbmlsKQorICAgICAgICAgKG9yZy1pZC1saW5r LXRvLW9yZy11c2UtaWQgJ2luaGVyaXQpKQorICAgICAob3JnLXRlc3Qtd2l0aC10ZW1wLXRl eHQtaW4tZmlsZSAiKiBIMVxuOlBST1BFUlRJRVM6XG46SUQ6IGFiY1xuOkVORDpcbioqIEgy XG4qKiBIMzxwb2ludD5cbioqIEg0XG4iCisgICAgICAgKGxldCAoKGxpbmsgKG9yZy1zdG9y ZS1saW5rIG5pbCkpKQorICAgICAgICAgKGVxdWFsIGxpbmsgIltbaWQ6YWJjOjoqSDNdW0gz XV0iKSkpKSkpCisKIAwKIDs7OyBSYWRpbyBUYXJnZXRzCiAKLS0gCjIuMzcuMSAoQXBwbGUg R2l0LTEzNy4xKQoK --4f05580916214d4a9feb7fa512b99362--