From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2.migadu.com ([2001:41d0:303:e224::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms13.migadu.com with LMTPS id 8GFVMJC/OWeHfwAAe85BDQ:P1 (envelope-from ) for ; Sun, 17 Nov 2024 10:04:00 +0000 Received: from aspmx1.migadu.com ([2001:41d0:303:e224::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2.migadu.com with LMTPS id 8GFVMJC/OWeHfwAAe85BDQ (envelope-from ) for ; Sun, 17 Nov 2024 11:04:00 +0100 X-Envelope-To: larch@yhetil.org Authentication-Results: aspmx1.migadu.com; dkim=fail ("body hash did not verify") header.d=gmail.com header.s=20230601 header.b=lWsea5KH; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none); 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" ARC-Seal: i=1; s=key1; d=yhetil.org; t=1731837840; a=rsa-sha256; cv=none; b=U9jomwwpsyKCXDYemYHRKRkxy2xUkwJwnEH1QM+4vkaU0DMu4APTcLnGU0OAHmFOY13ugA b5AWMm0PEB/eXo6W4MoHl+q3C14/UNj1EJQP3VPI4esaQ/h2Ezujoxb06LCK0lEbu2qN0m 1zoBnkYMLdvSM0gudjNaUAUTmr252Qz6Wiha314zUpzTB8sPb/6M+qU0oFAaxemYqPUndg 6f6Mce1oFf5aveLJ3oitLf4qSdIpcchz4OhT/IGD9+MEsO0PPspJqCukhNDqVO2hrWWF9Q nA0HpofpgU81HuV7x53aeQ8I12ROMmMNyqlTIZxUeRalf1BCNMfp5hsMbnECpA== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("body hash did not verify") header.d=gmail.com header.s=20230601 header.b=lWsea5KH; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none); 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" ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1731837840; 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:in-reply-to:in-reply-to: references:references:list-id:list-help:list-unsubscribe: list-subscribe:list-post:dkim-signature; bh=55VwWxyY8sDCU0eDcRbw5OhYO7iJnt7LGMt+JSLHbJ4=; b=l+tFSV64u7cK09o0lLYP6sthsehe1SFlTEtFmlIS8QhZWy6a1WyVXmci92sH7f06P+QSVI qS4TPo1g5ePsBB6+Ai+hBk8j7bvoevylQU42jQJTXvz7I2pO4k85Y5hD+vAcLos2hCB177 JI4Uqa5qdH8N36U3pF2qNBbv+BEBk8+t5YMWceaUq5/WsM5DoujsSwXuiUYrY9b18IqfQ/ tyOwoBnyiifLlTgpspaHGTrTl2eCv5KT2rQDs9BhXbYGh5d3jgkJpFxlXoOpBTYTuhnBLF diGMru5dDMeT/vCTg8Tz2c9S4goizISXQPUSEqFO9FLQMq00M2c6GDNkDlhHkw== 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 47B7D1FC7F for ; Sun, 17 Nov 2024 11:04:00 +0100 (CET) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tCbcC-0003VN-W4; Sun, 17 Nov 2024 04:30:45 -0500 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 1tCbc7-0003V8-5i for emacs-orgmode@gnu.org; Sun, 17 Nov 2024 04:30:40 -0500 Received: from mail-ed1-x52e.google.com ([2a00:1450:4864:20::52e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tCbc2-0004dx-BT for emacs-orgmode@gnu.org; Sun, 17 Nov 2024 04:30:36 -0500 Received: by mail-ed1-x52e.google.com with SMTP id 4fb4d7f45d1cf-5cacb76e924so1566234a12.0 for ; Sun, 17 Nov 2024 01:30:33 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1731835831; x=1732440631; darn=gnu.org; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :from:to:cc:subject:date:message-id:reply-to; bh=QLkUTPtyZi28z2liV0Dv+c/QcVp1dFHvxmXsnIgK8wE=; b=lWsea5KHvC2v8HIggz4g/si7Jbbjju+xl8YA2qlQpT4GvsZtfLO/EtUfzrxMUd80yy +R3eCYJEkiB/4ASBsOqVFmUydxCkKGNuPE7CizYgbkTrpyMNGz0eLZw1jjOfFRtd+p9q YDBuGAIPws6UvGxfifmYMBC4BLDv+uOLQ+gozUVM8HbnmtnqZI4QiCsawJOMXaOilu1s OLdoGiSYO+qkYksECBL43AwuMHrgD7bu7VzeBdlnm0PeUOFJSkdIx1WVw7A2hM6S7m58 J0+Y1BhH/D5Vf86RDfDNoplTBH7QcKu1ptAmF0tkdb8KIE4S9Tw7Y9WfaA2naxeRbOC/ QcQA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1731835831; x=1732440631; h=to:subject:message-id:date:from:in-reply-to:references:mime-version :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=QLkUTPtyZi28z2liV0Dv+c/QcVp1dFHvxmXsnIgK8wE=; b=aZ2tfCRM1LxtzNqzz+yAEbFcJzlNJbAjVVdcnbRICHxqPwj9RTeweweXa2BQegm4zA X6N7ChQgQ8NkJ+IjwDaWo8noTWJp+A8xqQBjE4Phm11W2R/hpEf4Evn1maV6MWFem+Cn lnYQaJm6LoD0yEgAEa4lU1DTd4ewoVHhGtX0EeuUOE5tKMHaKotTXKeyFrHSPkfRFLHn 1zIX3NKc8HhyJen53RDSW4dgtp3TQwcT5ZriRkSCpY3uhMEs/BNNkhGDb3oBkCOborkE THyih4cP3GsKEbucj/mODJd4NTu2QeN7LZAmIFKn2NLNTHd/F41cEq1IjECb0bGKujgf oKLg== X-Gm-Message-State: AOJu0YzUxuQ3ZfHstJA8rkFJoUaFg2w89NtQxn/7FuUEycVED4szhAiB 70n/WHuJZCAgomQLqJSI6VfTHWDtUoB/exi3F3eaMWuo+fjUN+fEp/GbrAn0xOcvcIZ1L+RWxmo RjoWGQLXm29A2ohNLnCw+BqjbASFn7g== X-Google-Smtp-Source: AGHT+IGDignKOgAmquqkHsjs6uU/9dQrK8s7bxRl9bKuDrT7urydLd3D+wbmjSAUXr8gLFQ6vbSNptjAvYEIueD9Isc= X-Received: by 2002:a05:6402:27c7:b0:5cf:77d8:f9c1 with SMTP id 4fb4d7f45d1cf-5cf8fd11f64mr6027468a12.32.1731835831100; Sun, 17 Nov 2024 01:30:31 -0800 (PST) MIME-Version: 1.0 References: <8734m28l9a.fsf@gmail.com> <87msil77oi.fsf@localhost> <87ed3wnlv4.fsf@gmail.com> <874j4sccuv.fsf@localhost> <87jzdo2e4m.fsf@gmail.com> <87a5eievav.fsf@localhost> <87wmhlmp83.fsf@gmail.com> <871pzte929.fsf@localhost> <87v7x548ri.fsf@gmail.com> <87y120daue.fsf@localhost> <874j4m9ep6.fsf@gmail.com> <87h68gfqj1.fsf@localhost> <87pln3f3cc.fsf@localhost> <87jzd9ojj0.fsf@localhost> <87cyj0ajm9.fsf@gmail.com> <87zfm4s50x.fsf@localhost> <87wmh8s358.fsf@localhost> <87y11nwp9z.fsf@gmail.com> In-Reply-To: <87y11nwp9z.fsf@gmail.com> From: =?UTF-8?Q?Tor=2Dbj=C3=B6rn_Claesson?= Date: Sun, 17 Nov 2024 11:30:19 +0200 Message-ID: Subject: Fwd: Org-cite: Replace basic follow-processor with transient menu? To: emacs-orgmode@gnu.org Content-Type: multipart/mixed; boundary="00000000000085c6e60627187348" Received-SPF: pass client-ip=2a00:1450:4864:20::52e; envelope-from=tclaesson@gmail.com; helo=mail-ed1-x52e.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, HTML_MESSAGE=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: 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-Flow: FLOW_IN X-Migadu-Country: US X-Migadu-Spam-Score: 2.79 X-Spam-Score: 2.79 X-Migadu-Queue-Id: 47B7D1FC7F X-Migadu-Scanner: mx12.migadu.com X-TUID: VTRhf+Lj3QgI --00000000000085c6e60627187348 Content-Type: multipart/alternative; boundary="00000000000085c6e50627187346" --00000000000085c6e50627187346 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Ihor Radchenko writes: > Tor-bj=C3=B6rn Claesson writes: > >> Den tis 12 nov. 2024 kl 20:02 skrev Ihor Radchenko = : >>> >>> I am not sure if it is a good idea. >>> Commands in org-cite-basic-follow-actions may or may not need it, while >>> your code will _aways_ prompt user about citation key; even when the >>> citation key is never used. >>> >>> If you realy, really want it, we can go into `cl-symbol-macrolet' and >>> lazy evaluation, but will be tricky (especially arranging for >>> (setq !citation-key ...) to work. >>> >> >> Wouldn't my beginner approach with recursive replacement fix this problem? > > Nope. Mindlessly replacing instances of !citation-key with value may > break the code. Consider, for example, > > (lambda () > (let ((citation! (concat citation! "-foo"))) ...)) > > There will be more complex cases as well. > > `cl-symbol-macrolet' it trying to handle what you tried with recursive > replacement, but more carefully. But even `cl-symbol-macrolet' fails in > certain edge cases. Ah, then it has to go. Here comes a fixed patch. The code is much simpler like this, but i kept the let under the lambda because for some reason it did not work for me. Also, the interactive clause in the transient, while working, upset make test, but this could be fixed by requiring org-element and quoting citation and citation-reference. Thanks for taking the time to explain! Cheers, Tor-bj=C3=B6rn --00000000000085c6e50627187346 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Ihor Radchenko <yantar92@posteo.net> wr= ites:
> Tor-bj=C3=B6rn Claesson <tclaesson@gmail.com> writes:
>
>> Den tis 12 nov. 2024 kl 20:02 skrev Ihor Radchenko <yantar92@posteo.net>:<= br> >>>
>>> I am not sure if it is a good idea.
>>> Commands in org-cite-basic-follow-actions may or may not need = it, while
>>> your code will _aways_ prompt user about citation key; even wh= en the
>>> citation key is never used.
>>>
>>> If you realy, really want it, we can go into `cl-symbol-macrol= et' and
>>> lazy evaluation, but will be tricky (especially arranging for<= br> >>> (setq !citation-key ...) to work.
>>>
>>
>> Wouldn't my beginner approach with recursive replacement fix t= his problem?
>
> Nope. Mindlessly replacing instances of !citation-key with value may > break the code. Consider, for example,
>
> (lambda ()
>=C2=A0 =C2=A0(let ((citation! (concat citation! "-foo"))) ...= ))
>
> There will be more complex cases as well.
>
> `cl-symbol-macrolet' it trying to handle what you tried with recur= sive
> replacement, but more carefully. But even `cl-symbol-macrolet' fai= ls in
> certain edge cases.

Ah, then it has to go. Here comes a fixed patch. The code is much
simpler like this, but i kept the let under the lambda because for some
reason it did not work for me. Also, the interactive clause in the transien= t,
while working, upset make test, but this could be fixed by requiring
org-element and quoting citation and citation-reference.

Thanks for taking the time to explain!

Cheers,
Tor-bj=C3=B6rn
--00000000000085c6e50627187346-- --00000000000085c6e60627187348 Content-Type: application/x-patch; name="0001-lisp-oc-basic.el-Transient-menu-for-following-v3.patch" Content-Disposition: attachment; filename="0001-lisp-oc-basic.el-Transient-menu-for-following-v3.patch" Content-Transfer-Encoding: base64 Content-ID: <19339752b0065f5c32e1> X-Attachment-Id: 19339752b0065f5c32e1 RnJvbSBiMGU4ZDgyODRkZjAyOTgzODA0ZDIyMzc4YmM4ZWIwMTg5OTJmNDJiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQ0KRnJvbTogPT9VVEYtOD9xP1Rvci1iaj1DMz1CNnJuPTIwQ2xhZXNzb24/ PSA8dGNsYWVzc29uQGdtYWlsLmNvbT4NCkRhdGU6IFR1ZSwgMTIgTm92IDIwMjQgMTE6MDk6MTYg KzAyMDANClN1YmplY3Q6IFtQQVRDSF0gbGlzcC9vYy1iYXNpYy5lbDogVHJhbnNpZW50IG1lbnUg Zm9yIGZvbGxvd2luZyBjaXRhdGlvbnMNCg0KKiBsaXNwL29jLWJhc2ljLmVsIChyZXF1aXJlICd0 cmFuc2llbnQpOiBQdWxsIGluIHRyYW5zaWVudC4NCihyZXF1aXJlICdvcmctZWxlbWVudCk6IFB1 bGwgaW4gb3JnLWVsZW1lbnQuDQoob3JnLWNpdGUtYmFzaWMtZm9sbG93LWFzayk6IE5ldyBjdXN0 b21pemF0aW9uIG9wdGlvbi4gc2hvdWxkDQpgb3JnLWNpdGUtYmFzaWMtZm9sbG93JyBwcm9tcHQg dGhlIHVzZXIgZm9yIGFuIGFjdGlvbj8NCihvcmctY2l0ZS1iYXNpYy1mb2xsb3ctYWN0aW9ucyk6 IE5ldyBjdXN0b21pemF0aW9uIG9wdGlvbiwgdGhhdA0Kc3BlY2lmaWVzIHRoZSBjb250ZW50cyBv ZiB0aGUgdHJhbnNpZW50IG1lbnUuDQoob3JnLWNpdGUtYmFzaWMtZm9sbG93KTogTmV3IGZ1bmN0 aW9uLiAgRGlzcGxheXMgYSBtZW51IGFza2luZyBob3cgdG8NCmZvbGxvdyBhIGNpdGF0aW9uIGlm IGBvcmctY2l0ZS1iYXNpYy1mb2xsb3ctYXNrJyBpcw0Kbm9uLW5pbC4gT3RoZXJ3aXNlLCBpdCBy ZXRhaW5zIHRoZSBkZWZhdWx0IGJlaGF2aW91ciBvZiBvcGVuaW5nIHRoZQ0KYmlibGlvZ3JhcGh5 IGVudHJ5LiBUaGlzIGNhbiBiZSBpbnZlcnNlZCB3aXRoIGEgbmVnYXRpdmUgcHJlZml4IGFyZ3Vt ZW50Lg0KKG9yZy1jaXRlLWJhc2ljLWZvbGxvdy0tcGFyc2Utc3VmZml4LXNwZWNpZmljYXRpb24g YW5kDQpvcmctY2l0ZS1iYXNpYy1mb2xsb3ctLXNldHVwKTogSGVscGVyIGZ1bmN0aW9ucyBmb3IN CmBvcmctY2l0ZS1iYXNpYy1mb2xsb3cnLg0KKG9yZy1jaXRlLXJlZ2lzdGVyLXByb2Nlc3NvciAn YmFzaWMpOiBVcGRhdGUgdGhlIGJhc2ljIGNpdGF0aW9uDQpwcm9jZXNzb3IgdG8gZm9sbG93IGNp dGF0aW9ucyB1c2luZyBgb3JnLWNpdGUtYmFzaWMtZm9sbG93Jy4NCg0KKiBldGMvT1JHX05FV1Mg KE1lbnUgZm9yIGNob29zaW5nIGhvdyB0byBmb2xsb3cgY2l0YXRpb25zKTogRGVzY3JpYmUNCnRo ZSBuZXcgZmVhdHVyZQ0KKE5ldyBvcHRpb24gfm9yZy1jaXRlLWJhc2ljLWZvbGxvdy1hc2t+KTog RGVzY3JpYmUgdGhpcyBuZXcNCmN1c3RvbWl6YXRpb24gb3B0aW9uLg0KKE5ldyBvcHRpb24gfm9y Zy1jaXRlLWJhc2ljLWZvbGxvdy1hY3Rpb25zfik6IERlc2NyaWJlIHRoaXMgbmV3DQpjdXN0b21p emF0aW9uIG9wdGlvbiwgd2hpY2ggc3BlY2lmaWVzIHRoZSBsYXlvdXQgb2YgdGhlDQpgb3JnLWNp dGUtYmFzaWMtZm9sbG93JyB0cmFuc2llbnQgbWVudS4NCg0KVGhpcyBjaGFuZ2Ugd2FzIGNvLWF1 dGhvcmVkIHdpdGggbXVjaCBzdXBwb3J0IGZyb20gSWhvciBSYWRjaGVua28gYW5kDQpKb25hcyBC ZXJub3VsbGksIHRoYW5rcyENCi0tLQ0KIGV0Yy9PUkctTkVXUyAgICAgfCAyMiArKysrKysrKysr KysNCiBsaXNwL29jLWJhc2ljLmVsIHwgODcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKystDQogMiBmaWxlcyBjaGFuZ2VkLCAxMDggaW5zZXJ0aW9ucygrKSwg MSBkZWxldGlvbigtKQ0KDQpkaWZmIC0tZ2l0IGEvZXRjL09SRy1ORVdTIGIvZXRjL09SRy1ORVdT DQppbmRleCBkZTRmMTFiMjUuLmI4NTliMGFkYSAxMDA2NDQNCi0tLSBhL2V0Yy9PUkctTkVXUw0K KysrIGIvZXRjL09SRy1ORVdTDQpAQCAtMTE0LDYgKzExNCwxNSBAQCBUaGUga2V5YmluZGluZ3Mg aW4gdGhlIHJlcGVhdC1tYXBzIGNhbiBiZSBjaGFuZ2VkIGJ5IGN1c3RvbWl6aW5nDQogDQogU2Vl IHRoZSBuZXcgW1tpbmZvOm9yZyNSZXBlYXRpbmcgY29tbWFuZHNdWyJSZXBlYXRpbmcgY29tbWFu ZHMiXV0gc2VjdGlvbiBpbiBPcmcgbW9kZSBtYW51YWwuDQogDQorKioqIE1lbnUgZm9yIGNob29z aW5nIGhvdyB0byBmb2xsb3cgY2l0YXRpb25zDQorDQorRm9sbG93aW5nIGNpdGF0aW9ucyB3aXRo IHRoZSBvcmctY2l0ZS1iYXNpYyBjaXRhdGlvbiBiYWNrZW5kIGNhbiBub3cgcHJlc2VudCBhDQor dHJhbnNpZW50IG1lbnUuIFRvIHNob3cgdGhpcyBtZW51LCBzZXQgfm9yZy1jaXRlLWJhc2ljLWZv bGxvdy1hc2t+IHRvIG5vbi1uaWwuIA0KK1RoaXMgYmVoYXZpb3VyIGNhbiBiZSByZXZlcnNlZCB3 aXRoIGEgbmVnYXRpdiBwcmVmaXguDQorDQorVGhlIGNvbnRlbnRzIG9mIHRoaXMgbWVudSBjYW4g YmUgY3VzdG9taXplZCBpbg0KK35vcmctY2l0ZS1iYXNpYy1mb2xsb3ctYWN0aW9uc34uDQorDQog KiogTmV3IGFuZCBjaGFuZ2VkIG9wdGlvbnMNCiANCiAjIENoYW5lcyBkZWFkbGluZyB3aXRoIGNo YW5naW5nIGRlZmF1bHQgdmFsdWVzIG9mIGN1c3RvbWl6YXRpb25zLA0KQEAgLTE1OCw2ICsxNjcs MTkgQEAgRW5nbGlzaC4gIFRoZSBkZWZhdWx0IHZhbHVlIGlzIH50fiBhcyB0aGUgQ1NMIHN0YW5k YXJkIGFzc3VtZXMgdGhhdA0KIEVuZ2xpc2ggdGl0bGVzIGFyZSBzcGVjaWZpZWQgaW4gc2VudGVu Y2UtY2FzZSBidXQgdGhlIGJpYnRleA0KIGJpYmxpb2dyYXBoeSBmb3JtYXQgcmVxdWlyZXMgdGhl bSB0byBiZSB3cml0dGVuIGluIHRpdGxlLWNhc2UuDQogDQorKioqIE5ldyBvcHRpb24gfm9yZy1j aXRlLWJhc2ljLWZvbGxvdy1hc2t+DQorDQorV2hlbiB0aGlzIG9wdGlvbiBpcyBub24tbmlsLCBm b2xsb3dpbmcgYSBjaXRhdGlvbiB3aXRoIHRoZSBiYXNpYyBjaXRhdGlvbg0KK2JhY2tlbmQgd2ls bCBwcmVzZW50IGEgdHJhbnNpZW50IG1lbnUgd2l0aCBjaG9pY2VzIGZvciBob3cgdG8gZm9sbG93 IHRoZQ0KK2NpdGF0aW9uLg0KK0lmIG5pbCwgZm9sbG93aW5nIGEgY2l0YXRpb24gd2lsbCBvcGVu IGl0cyBiaWJsaW9ncmFwaHkgZW50cnkuDQorDQorVGhpcyBiZWhhdmlvdXIgY2FuIGJlIHJldmVy c2VkIHdpdGggYSBuZWdhdGl2ZSBwcmVmaXggYXJndW1lbnQuDQorDQorKioqIE5ldyBvcHRpb24g fm9yZy1jaXRlLWJhc2ljLWZvbGxvdy1hY3Rpb25zfg0KKw0KK1RoaXMgb3B0aW9uIHNwZWNpZmll cyB0aGUgb3B0aW9ucyBwcmVzZW50ZWQgYnkgfm9yZy1jaXRlLWJhc2ljLWZvbGxvd34uDQorDQog KiogTmV3IGZ1bmN0aW9ucyBhbmQgY2hhbmdlcyBpbiBmdW5jdGlvbiBhcmd1bWVudHMNCiANCiAj IFRoaXMgYWxzbyBpbmNsdWRlcyBjaGFuZ2VzIGluIGZ1bmN0aW9uIGJlaGF2aW9yIGZyb20gRWxp c3AgcGVyc3BlY3RpdmUuDQpkaWZmIC0tZ2l0IGEvbGlzcC9vYy1iYXNpYy5lbCBiL2xpc3Avb2Mt YmFzaWMuZWwNCmluZGV4IGUyMDdhMTk5Ny4uNjEzYzA5ZTI3IDEwMDY0NA0KLS0tIGEvbGlzcC9v Yy1iYXNpYy5lbA0KKysrIGIvbGlzcC9vYy1iYXNpYy5lbA0KQEAgLTc0LDYgKzc0LDggQEANCiAo cmVxdWlyZSAnbWFwKQ0KIChyZXF1aXJlICdvYykNCiAocmVxdWlyZSAnc2VxKQ0KKyhyZXF1aXJl ICd0cmFuc2llbnQpDQorKHJlcXVpcmUgJ29yZy1lbGVtZW50KQ0KIA0KIChkZWNsYXJlLWZ1bmN0 aW9uIG9yZy1vcGVuLWF0LXBvaW50ICJvcmciICgmb3B0aW9uYWwgYXJnKSkNCiAoZGVjbGFyZS1m dW5jdGlvbiBvcmctb3Blbi1maWxlICJvcmciIChwYXRoICZvcHRpb25hbCBpbi1lbWFjcyBsaW5l IHNlYXJjaCkpDQpAQCAtMTQwLDYgKzE0MiwzMCBAQA0KICAgOnR5cGUgJ2ZhY2UNCiAgIDpzYWZl ICMnZmFjZXApDQogDQorKGRlZmN1c3RvbSBvcmctY2l0ZS1iYXNpYy1mb2xsb3ctYXNrIG5pbA0K KyAgIlNob3VsZCBgb3JnLWNpdGUtYmFzaWMnIGFzayBob3cgdG8gZm9sbG93IGNpdGF0aW9ucz8N CisNCitXaGVuIHRoaXMgb3B0aW9uIGlzIG5pbCwgYG9yZy1jaXRlLWJhc2ljLWZvbGxvdycgb3Bl bnMgdGhlIGJpYmxpb2dyYXBoeSBlbnRyeS4gDQorT3RoZXJ3aXNlLCBgb3JnLWNpdGUtYmFzaWMt Zm9sbG93JyB3aWxsIGRpc3BsYXkgYSB0cmFuc2llbnQgbWVudSBwcm9tcHRpbmcgdGhlIA0KK3Vz ZXIgZm9yIGFuIGFjdGlvbi4gIFRoZSBjb250ZW50cyBvZiB0aGlzIG1lbnUgY2FuIGJlIGN1c3Rv bWl6ZWQgaW4gDQorYG9yZy1jaXRlLWJhc2ljLWZvbGxvdy1hY3Rpb25zJy4iDQorICA6Z3JvdXAg J29yZy1jaXRlDQorICA6cGFja2FnZS12ZXJzaW9uICcoT3JnIC4gIjkuOCIpDQorICA6dHlwZSAn Ym9vbGVhbikNCisNCisoZGVmY3VzdG9tIG9yZy1jaXRlLWJhc2ljLWZvbGxvdy1hY3Rpb25zDQor ICAnW1siT3BlbiINCisgICAgICgiYiIgImJpYmxpb2dyYXBoeSBlbnRyeSIgKG9yZy1jaXRlLWJh c2ljLWdvdG8gIWNpdGF0aW9uICFwcmVmaXgpKV1dDQorICAiQWN0aW9ucyBpbiB0aGUgYG9yZy1j aXRlLWJhc2ljLWZvbGxvdycgdHJhbnNpZW50IG1lbnUuDQorDQorVGhpcyBvcHRpb24gdXNlcyB0 aGUgc2FtZSBzeW50YXggYXMgYHRyYW5zaWVudC1kZWZpbmUtcHJlZml4Jywgc2VlIEluZm8gbm9k ZQ0KK2AodHJhbnNpZW50KUJpbmRpbmcgU3VmZml4IGFuZCBJbmZpeCBDb21tYW5kcycuICBJbiBh ZGRpdGlvbiwgaXQgaXMgcG9zc2libGUgDQordG8gc3BlY2lmeSBhIGZ1bmN0aW9uIGNhbGwgZm9y IHRoZSBDT01NQU5EIHBhcnQsIHdoZXJlICFjaXRhdGlvbiBhbmQgDQorIXByZWZpeCBjYW4gYmUg dXNlZCB0byBhY2Nlc3MgdGhvc2UgdmFsdWVzLiINCisgIDpncm91cCAnb3JnLWNpdGUNCisgIDpw YWNrYWdlLXZlcnNpb24gJyhPcmcgLiAiOS44IikNCisgIDp0eXBlICdzZXhwKQ0KKw0KIAwNCiA7 OzsgSW50ZXJuYWwgdmFyaWFibGVzDQogKGRlZnZhciBvcmctY2l0ZS1iYXNpYy0tYmlibGlvZ3Jh cGh5LWNhY2hlIG5pbA0KQEAgLTgzMiw2ICs4NTgsNjUgQEAgcHJlc2VudCBpbiB0aGUgY2l0YXRp b24uIg0KICAgICAgICAoYmlidGV4LXNldC1kaWFsZWN0KQ0KICAgICAgICAoYmlidGV4LXNlYXJj aC1lbnRyeSBrZXkpKSkpKQ0KIA0KKyh0cmFuc2llbnQtZGVmaW5lLXByZWZpeCBvcmctY2l0ZS1i YXNpYy1mb2xsb3cgKGNpdGF0aW9uLW9iamVjdCAmb3B0aW9uYWwgcHJlZml4KQ0KKyAgIkZvbGxv dyBjaXRhdGlvbi4NCisNCitJZiBgb3JnLWNpdGUtYmFzaWMtZm9sbG93LWFzaycgaXMgbm9uLW5p bCwgdGhpcyB0cmFuc2llbnQgd2lsbCBwcmVzZW50DQorYSBtZW51IHByb21wdGluZyB0aGUgdXNl ciBmb3IgYW4gYWN0aW9uLiANCitPdGhlcndpc2UsIGl0IHdpbGwgb3BlbiB0aGUgYmlibGlvZ3Jh cGh5IGVudHJ5IGZvciB0aGUgY2l0YXRpb24gYXQgcG9pbnQuICANCitUaGlzIGJlaGF2aW91ciBp cyBpbnZlcnRlZCB3aGVuIHRoZSB0cmFuc2llbnQgaXMgY2FsbGVkIHdpdGggYSBuZWdhdGl2ZSBw cmVmaXgNCithcmd1bWVudC4NCisNCitUaGUgY29udGVudHMgb2YgdGhlIG1lbnUgYXJlIGRlZmlu ZWQgaW4gdGhlIHZhcmlhYmxlDQorYG9yZy1jaXRlLWJhc2ljLWZvbGxvdy1hY3Rpb25zJy4iDQor ICBbOmNsYXNzIHRyYW5zaWVudC1jb2x1bW5zDQorICAgICAgICAgIDpzZXR1cC1jaGlsZHJlbiBv cmctY2l0ZS1iYXNpYy1mb2xsb3ctLXNldHVwDQorICAgICAgICAgIDpwYWQta2V5cyB0XQ0KKyAg KGludGVyYWN0aXZlDQorICAgIChsaXN0IChsZXQgKChvYmogKG9yZy1lbGVtZW50LWNvbnRleHQp KSkNCisgICAgICAgICAgIChwY2FzZSAob3JnLWVsZW1lbnQtdHlwZSBvYmopDQorICAgICAgICAg ICAgICgob3IgJ2NpdGF0aW9uICdjaXRhdGlvbi1yZWZlcmVuY2UpIG9iaikNCisgICAgICAgICAg ICAgKF8gKHVzZXItZXJyb3IgIk5vIGNpdGF0aW9uIGF0IHBvaW50IikpKSkpKQ0KKyAgKGlmICh4 b3Igb3JnLWNpdGUtYmFzaWMtZm9sbG93LWFzaw0KKyAgICAgICAgICAgKGVxdWFsIHByZWZpeCAn KC00KSkpDQorICAgICAgKHRyYW5zaWVudC1zZXR1cCAnb3JnLWNpdGUtYmFzaWMtZm9sbG93IG5p bCBuaWwNCisgICAgICAgICAgICAgICAgICAgICAgIDpzY29wZSAobGlzdCBjaXRhdGlvbi1vYmpl Y3QgcHJlZml4KSkNCisgICAgKG9yZy1jaXRlLWJhc2ljLWdvdG8gY2l0YXRpb24tb2JqZWN0IHBy ZWZpeCkpKQ0KKw0KKyhkZWZ1biBvcmctY2l0ZS1iYXNpYy1mb2xsb3ctLXBhcnNlLXN1ZmZpeC1z cGVjaWZpY2F0aW9uIChzcGVjaWZpY2F0aW9uKQ0KKyAgIkhhbmRsZSBzcGVjaWFsIHN5bnRheCBm b3IgYG9yZy1jaXRlLWJhc2ljLWZvbGxvdy1hY3Rpb25zJy4iDQorICAocGNhc2Ugc3BlY2lmaWNh dGlvbg0KKyAgICAoYCgsa2V5ICxkZXNjIChsYW1iZGEgLGFyZ3MgLiAsZm4tYXJncykgLiAsb3Ro ZXIpDQorICAgICBgKCxrZXkgLGRlc2MNCisgICAgICAgICAgICAobGFtYmRhICxhcmdzDQorICAg ICAgICAgICAgICAsKHVubGVzcyAoYW5kIChsaXN0cCAoY2FyIGZuLWFyZ3MpKQ0KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAoZXF1YWwgKGNhYXIgZm4tYXJncykNCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICdpbnRlcmFjdGl2ZSkpDQorICAgICAgICAgICAgICAgICAn KGludGVyYWN0aXZlKSkNCisgICAgICAgICAgICAgIChsZXQgKCghY2l0YXRpb24gKGNhciAodHJh bnNpZW50LXNjb3BlKSkpDQorICAgICAgICAgICAgICAgICAgICAoIXByZWZpeCAoY2FkciAodHJh bnNpZW50LXNjb3BlKSkpKQ0KKyAgICAgICAgICAgICAgICAsQGZuLWFyZ3MpKQ0KKyAgICAgICAg ICAgICxAb3RoZXIpKQ0KKyAgICAoYCgsa2V5ICxkZXNjICgsZm4gLiAsZm4tYXJncykgLiAsb3Ro ZXIpDQorICAgICBgKCxrZXkgLGRlc2MNCisgICAgICAgICAgICAobGFtYmRhICgpDQorCSAgICAg IChpbnRlcmFjdGl2ZSkNCisgICAgICAgICAgICAgIChsZXQgKCghY2l0YXRpb24gKGNhciAodHJh bnNpZW50LXNjb3BlKSkpDQorICAgICAgICAgICAgICAgICAgICAoIXByZWZpeCAoY2FkciAodHJh bnNpZW50LXNjb3BlKSkpKQ0KKwkgICAgICAgICgsZm4gLEBmbi1hcmdzKSkpDQorICAgICAgICAg ICAgLEBvdGhlcikpDQorICAgIChvdGhlciBvdGhlcikpKQ0KKw0KKyhkZWZ1biBvcmctY2l0ZS1i YXNpYy1mb2xsb3ctLXNldHVwIChfKQ0KKyAgIlVwZGF0ZSBgb3JnLWNpdGUtYmFzaWMtZm9sbG93 JyB3aGVuIGBvcmctY2l0ZS1iYXNpYy1mb2xsb3ctYWN0aW9ucycgY2hhbmdlcy4iDQorICAodHJh bnNpZW50LXBhcnNlLXN1ZmZpeGVzDQorICAgJ29yZy1jaXRlLWJhc2ljLWZvbGxvdw0KKyAgIChj bC1tYXAgJ3ZlY3Rvcg0KKyAgICAgICAgICAgKGxhbWJkYSAoZ3JvdXApDQorICAgICAgICAgICAg IChjbC1tYXAgJ3ZlY3RvciAjJ29yZy1jaXRlLWJhc2ljLWZvbGxvdy0tcGFyc2Utc3VmZml4LXNw ZWNpZmljYXRpb24NCisgICAgICAgICAgICAgICAgICAgICBncm91cCkpDQorICAgICAgICAgICBv cmctY2l0ZS1iYXNpYy1mb2xsb3ctYWN0aW9ucykpKQ0KKw0KIAwNCiA7OzsgIkluc2VydCIgY2Fw YWJpbGl0eQ0KIChkZWZ1biBvcmctY2l0ZS1iYXNpYy0tY29tcGxldGUtc3R5bGUgKF8pDQpAQCAt OTIwLDcgKzEwMDUsNyBAQCBSYWlzZSBhbiBlcnJvciB3aGVuIG5vIGJpYmxpb2dyYXBoeSBpcyBz ZXQgaW4gdGhlIGJ1ZmZlci4iDQogICA6YWN0aXZhdGUgIydvcmctY2l0ZS1iYXNpYy1hY3RpdmF0 ZQ0KICAgOmV4cG9ydC1jaXRhdGlvbiAjJ29yZy1jaXRlLWJhc2ljLWV4cG9ydC1jaXRhdGlvbg0K ICAgOmV4cG9ydC1iaWJsaW9ncmFwaHkgIydvcmctY2l0ZS1iYXNpYy1leHBvcnQtYmlibGlvZ3Jh cGh5DQotICA6Zm9sbG93ICMnb3JnLWNpdGUtYmFzaWMtZ290bw0KKyAgOmZvbGxvdyAjJ29yZy1j aXRlLWJhc2ljLWZvbGxvdw0KICAgOmluc2VydCAob3JnLWNpdGUtbWFrZS1pbnNlcnQtcHJvY2Vz c29yICMnb3JnLWNpdGUtYmFzaWMtLWNvbXBsZXRlLWtleQ0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICMnb3JnLWNpdGUtYmFzaWMtLWNvbXBsZXRlLXN0eWxlKQ0K ICAgOmNpdGUtc3R5bGVzDQotLSANCjIuNDYuMA0KDQo= --00000000000085c6e60627187348--