From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp12.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms0r.migadu.com with LMTPS id yDrTKbOn4mE1LwEALuJCtg (envelope-from ) for ; Sat, 15 Jan 2022 11:53:39 +0100 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp12.migadu.com with LMTPS id MOJmJ7On4mGXewAAauVa8A (envelope-from ) for ; Sat, 15 Jan 2022 11:53:39 +0100 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 A76061665F for ; Sat, 15 Jan 2022 11:53:35 +0100 (CET) Received: from localhost ([::1]:38330 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1n8ggg-00035Z-Te for larch@yhetil.org; Sat, 15 Jan 2022 05:53:34 -0500 Received: from eggs.gnu.org ([209.51.188.92]:57596) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1n8gWE-00081D-28 for emacs-orgmode@gnu.org; Sat, 15 Jan 2022 05:42:46 -0500 Received: from mout02.posteo.de ([185.67.36.66]:57891) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1n8gWB-0002Xb-Jo for emacs-orgmode@gnu.org; Sat, 15 Jan 2022 05:42:45 -0500 Received: from submission (posteo.de [89.146.220.130]) by mout02.posteo.de (Postfix) with ESMTPS id EB9FE240104 for ; Sat, 15 Jan 2022 11:42:39 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.eu; s=2017; t=1642243360; bh=vtHCoH+jMW7m4DQe64RVSqlUc6hqNBJBU7XYPwwuB0I=; h=Date:From:Subject:To:From; b=emJJjax0mMMLf/jJaaMMikUfIeeDmxqJcVevLsN4doxi79ODXRuU8fI6fWFXOTeHa FChBZor2rvKv1L6PU/dpM+zX3knNI5Lqn4dG6yxsZQlAuU9Lqp2VbUVKtZnI/IE2Nv t+n2bkCaCLvCR3f2kqoy2GVkHJ4pfZoTWj/Td/HMNBZyCwrOMuN75OKxw2U0VFPmpW npgUmZeqnp1ZQNVGjdlYMBM/AtypZL4NHjh2GmKXkOL0F1ztM27EST9OOvynAYN9Qd EWGWPEf3+0HCMUwMkkgeQ8mYYjmW7zt1lT3q4UxcjOjEkQRpieDY/VsTm9zyKOP82J mmOCvbT3gYNYA== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4JbZW3349sz9rxX for ; Sat, 15 Jan 2022 11:42:39 +0100 (CET) Content-Type: multipart/mixed; boundary="------------9ymDIJv1CUzZfvhD09qsWuYa" Message-ID: <2dd9630a-c584-0702-62aa-393ad56c621e@posteo.eu> Date: Sat, 15 Jan 2022 10:42:38 +0000 MIME-Version: 1.0 Content-Language: fr From: =?UTF-8?Q?S=c3=a9bastien_Miquel?= Subject: [PATCH] Add :noweb-prefix and :noweb-trans babel header arguments To: emacs-orgmode Received-SPF: pass client-ip=185.67.36.66; envelope-from=sebastien.miquel@posteo.eu; helo=mout02.posteo.de X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 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_MED=-2.3, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, 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: , Reply-To: sebastien.miquel@posteo.eu Errors-To: emacs-orgmode-bounces+larch=yhetil.org@gnu.org Sender: "Emacs-orgmode" X-Migadu-Flow: FLOW_IN X-Migadu-Country: US ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=yhetil.org; s=key1; t=1642244015; h=from:from:sender:sender:reply-to: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=o4/LdhHXl8jEfeL6IaVfp33+wq0X0aN5FI1X56J8z8Q=; b=Bk4dGVgCv+h4XY0KVz1xOoeTEZbGCQ62hdIOF348Ma0sQprlbshV2Ngco2pbAk9O1k1FLO feuW9YWZ3RZ/5WXR/5oq55tv88Eb7gWSm2LHb72fAoLUCuOJx0ItUCJtY2ES3FwNvLCgAf IiQ946bbgVmn7sjVxbOMEHr4cWVG9qTnTd9vTavmiZq+si9NNClAnTzRMy1QDQLFYR7qPj X1WIC+7hD7+tCF0XeGTjvF7Xi6gKB5w3gJbjMvHrQnIzXOv7FujFoObNxFCEfr9cP9hazN QmMN2QC0BqzdQM8RejhGRFzo7xFtlsRrQYNhZPtNiik7vj3Ww7xekmS4KnrCVg== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1642244015; a=rsa-sha256; cv=none; b=lVxWJHnpcw3kUdOKujyeCtSlUNlFVKBUhZiob7nAolfMZohpCbibrm6ff6OL4VeHEH/Gfj 9boF5DT+GaM9YBZJGJRCk1EPS/Wg+Qkc2I+zg8lGCNT21HCxfMgxErdhOkTa/OQDuq1mix kUroFulrjzXTAJqPXkqKnfOMyAeayQytAbv7GCuScpWcdDf+yu6SXWFoi7N/W1AdtZjpi3 4qxEpyt3OzI6IH4Z/K56B8s5efc+IUapsLC6LN+FL0/Kla9y1reUC4ktVDVv6+ugxR+RF5 AYoIpQceBepM0J14SHi++ULPxEQv+YXK9+xvtPo8dU/uO31VGQ3EGVxk5OUsUg== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=posteo.eu header.s=2017 header.b=emJJjax0; dmarc=pass (policy=none) header.from=posteo.eu; 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" X-Migadu-Spam-Score: -8.42 Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=posteo.eu header.s=2017 header.b=emJJjax0; dmarc=pass (policy=none) header.from=posteo.eu; 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" X-Migadu-Queue-Id: A76061665F X-Spam-Score: -8.42 X-Migadu-Scanner: scn0.migadu.com X-TUID: Yqpn+SNc+sdP This is a multi-part message in MIME format. --------------9ymDIJv1CUzZfvhD09qsWuYa Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Hi, The attached patch adds support for two new babel header arguments: =:noweb-prefix= and =:noweb-trans=. =:noweb-prefix= can be set to =no= to disable the noweb prefix behaviour, where prefix characters are repeated when expanding a multiline noweb reference. =:noweb-trans= can be set to =prin1-to-string= to insert a lisp string representing the content of the referenced src block. The goal is to allow one to use, say, a LaTeX src block to represent some LaTeX snippet to be tangled into a string in some lisp (or other) code. This isn't possible currently, and one has to manually string escape the LaTeX code. As an example, the following two blocks #+BEGIN_SRC LaTeX :tangle no :noweb-ref nw \usepackage{…} \usepackage{…} #+END_SRC #+BEGIN_SRC emacs-lisp :noweb yes :tangle yes :noweb-prefix no :noweb-trans prin1-to-string (setq latex-header <>) #+END_SRC would tangle to #+BEGIN_SRC emacs-lisp (setq latex-header "\\usepackage{…} \\usepackage{…}") #+END_SRC I've left undocumented the possibility of setting =:noweb-trans= to another function. I wonder if anyone can think of some other use. Regards, -- Sébastien Miquel --------------9ymDIJv1CUzZfvhD09qsWuYa Content-Type: text/x-patch; charset=UTF-8; name="0001-ob-core.el-Add-noweb-prefix-noweb-trans-babel-header.patch" Content-Disposition: attachment; filename*0="0001-ob-core.el-Add-noweb-prefix-noweb-trans-babel-header.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSA2NmYyNzEyMjU3NjdkMDdlMTJiY2M3M2ExZGRiYWRmMDM4ZDI0NWZhIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/Uz1DMz1BOWJhc3RpZW49MjBNaXF1 ZWw/PSA8c2ViYXN0aWVuLm1pcXVlbEBwb3N0ZW8uZXU+CkRhdGU6IE1vbiwgNiBTZXAgMjAy MSAxODo0NTo0MiArMDIwMApTdWJqZWN0OiBbUEFUQ0hdIG9iLWNvcmUuZWw6IEFkZCBgOm5v d2ViLXByZWZpeGAsIGA6bm93ZWItdHJhbnNgIGJhYmVsIGhlYWRlcgogYXJndW1lbnRzCgoq IGxpc3Avb2ItY29yZS5lbCAob3JnLWJhYmVsLWV4cGFuZC1ub3dlYi1yZWZlcmVuY2VzKTog QWRkIHN1cHBvcnQgZm9yCmBub3dlYi1wcmVmaXgnIGhlYWRlciBhcmd1bWVudCwgdG8gbm90 IHJlcGVhdCB0aGUgcHJlZml4IGNoYXJhY3RlcnMKd2hlbiBleHBhbmRpbmcgYSBub3dlYiBy ZWZlcmVuY2UuIEFkZCBzdXBwb3J0IGZvciBgbm93ZWItdHJhbnMnIGhlYWRlcgphcmd1bWVu dCwgdG8gYXBwbHkgYSBmdW5jdGlvbiB0byB0aGUgbm93ZWIgY29udGVudCB1cG9uCmV4cGFu c2lvbi4KKG9yZy1iYWJlbC1jb21tb24taGVhZGVyLWFyZ3Mtdy12YWx1ZXMpOgoob3JnLWJh YmVsLXNhZmUtaGVhZGVyLWFyZ3MpOiBBZGQgYG5vd2ViLXByZWZpeCcgYW5kIGBub3dlYi10 cmFucycgdmFsdWVzLgoqIGRvYy9vcmctbWFudWFsLm9yZzogRG9jdW1lbnQgYG5vd2ViLXBy ZWZpeCcgYW5kIGBub3dlYi10cmFucycgYmFiZWwgaGVhZGVyCmFyZ3VtZW50cy4KKiBldGMv TkVXUzogRG9jdW1lbnQgYDpub3dlYi1wcmVmaXgnIGFuZCBgOm5vd2ViLXRyYW5zJy4KLS0t CiBkb2Mvb3JnLW1hbnVhbC5vcmcgfCAzNCArKysrKysrKysrKysrKysrKysrKysrKysrKysr KystLS0tCiBldGMvT1JHLU5FV1MgICAgICAgfCAgOSArKysrKysrKysKIGxpc3Avb2ItY29y ZS5lbCAgICB8IDI2ICsrKysrKysrKysrKysrKysrKysrLS0tLS0tCiAzIGZpbGVzIGNoYW5n ZWQsIDU5IGluc2VydGlvbnMoKyksIDEwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2Rv Yy9vcmctbWFudWFsLm9yZyBiL2RvYy9vcmctbWFudWFsLm9yZwppbmRleCBiNGMyMGYyNTIu LmQ3YjFjNDIwMyAxMDA2NDQKLS0tIGEvZG9jL29yZy1tYW51YWwub3JnCisrKyBiL2RvYy9v cmctbWFudWFsLm9yZwpAQCAtMTg1NTQsMTAgKzE4NTU0LDExIEBAIE5vdGUgdGhhdCB0aGUg ZXhwYW5zaW9uIG5vdyBjb250YWlucyB0aGUgcmVzdWx0cyBvZiB0aGUgY29kZSBibG9jawog OiAxMDAKIAogTm93ZWIgaW5zZXJ0aW9ucyBob25vciBwcmVmaXggY2hhcmFjdGVycyB0aGF0 IGFwcGVhciBiZWZvcmUgdGhlIG5vd2ViCi1zeW50YXggcmVmZXJlbmNlLiAgVGhpcyBiZWhh dmlvciBpcyBpbGx1c3RyYXRlZCBpbiB0aGUgZm9sbG93aW5nCi1leGFtcGxlLiAgQmVjYXVz ZSB0aGUgPTw8ZXhhbXBsZT4+PSBub3dlYiByZWZlcmVuY2UgYXBwZWFycyBiZWhpbmQgdGhl Ci1TUUwgY29tbWVudCBzeW50YXgsIGVhY2ggbGluZSBvZiB0aGUgZXhwYW5kZWQgbm93ZWIg cmVmZXJlbmNlIGlzCi1jb21tZW50ZWQuICBXaXRoOgorc3ludGF4IHJlZmVyZW5jZS4gVGhp cyBiZWhhdmlvciBjYW4gYmUgdHVybmVkIG9mZiBieSBzZXR0aW5nIHRoZQorPW5vd2ViLXBy ZWZpeD0gaGVhZGVyIGFyZ3VtZW50IHRvID1ubz0gYW5kIGlzIGlsbHVzdHJhdGVkIGluIHRo ZQorZm9sbG93aW5nIGV4YW1wbGUuIEJlY2F1c2UgdGhlID08PGV4YW1wbGU+Pj0gbm93ZWIg cmVmZXJlbmNlIGFwcGVhcnMKK2JlaGluZCB0aGUgU1FMIGNvbW1lbnQgc3ludGF4LCBlYWNo IGxpbmUgb2YgdGhlIGV4cGFuZGVkIG5vd2ViCityZWZlcmVuY2UgaXMgY29tbWVudGVkLiBX aXRoOgogCiAjK2JlZ2luX2V4YW1wbGUKICwjK05BTUU6IGV4YW1wbGUKQEAgLTE4NjI2LDYg KzE4NjI3LDMxIEBAIGVsc2U6CiAgICAgcHJpbnQoJ2RvIHRoaW5ncyB3aGVuIGZhbHNlJykK ICMrZW5kX2V4YW1wbGUKIAorVGhlIGhlYWRlciBhcmd1bWVudCA9bm93ZWItdHJhbnM9IGNh biBiZSBzZXQgdG8gPXByaW4xLXRvLXN0cmluZz0gdG8KK2luc2VydCBhIGxpc3Agc3RyaW5n IHJlcHJlc2VudGluZyB0aGUgY29udGVudCBvZiB0aGUgcmVmZXJlbmNlZCBzcmMKK2Jsb2Nr LiBXaXRoOgorCisjK2JlZ2luX2V4YW1wbGUKKywjK05BTUU6IGxhdGV4LWhlYWRlcgorLCMr QkVHSU5fU1JDIGxhdGV4CisgIFx1c2VwYWNrYWdle2Ftc21hdGh9CissIytFTkRfU1JDCisj K2VuZF9leGFtcGxlCisKKyMrdGV4aW5mbzogQG5vaW5kZW50Cit0aGlzIGNvZGUgYmxvY2s6 CisKKyMrYmVnaW5fZXhhbXBsZQorLCMrQkVHSU5fU1JDIGVsaXNwIDpub3dlYiB5ZXMKKyAg KHNldHEgaGVhZGVyIDw8bGF0ZXgtaGVhZGVyPj4pCissIytFTkRfU1JDCisjK2VuZF9leGFt cGxlCisKKyMrdGV4aW5mbzogQG5vaW5kZW50CitleHBhbmRzIHRvOgorCis6IChzZXRxIGhl YWRlciAiXFx1c2VwYWNrYWdle2Ftc21hdGh9IikKKwogV2hlbiBpbiBkb3VidCBhYm91dCB0 aGUgb3V0Y29tZSBvZiBhIHNvdXJjZSBjb2RlIGJsb2NrIGV4cGFuc2lvbiwgeW91CiBjYW4g cHJldmlldyB0aGUgcmVzdWx0cyB3aXRoIHRoZSBmb2xsb3dpbmcgY29tbWFuZDoKIApkaWZm IC0tZ2l0IGEvZXRjL09SRy1ORVdTIGIvZXRjL09SRy1ORVdTCmluZGV4IDMzNWRiNDEzOS4u NmZhODA4NjQ1IDEwMDY0NAotLS0gYS9ldGMvT1JHLU5FV1MKKysrIGIvZXRjL09SRy1ORVdT CkBAIC02Myw2ICs2MywxNSBAQCBsaXN0IG9mIHZhcmlvdXMgdGFibGUgb3B0aW9ucyAoYmV0 d2VlbiBicmFja2V0cyBpbiBMYVRlWCBleHBvcnQpLAogc2luY2UgY2VydGFpbiB0YWJ1bGFy IGVudmlyb25tZW50cywgc3VjaCBhcyBsb25ndGJsciBvZiB0aGUKIHRhYnVsYXJyYXkgTGFU ZVggcGFja2FnZSwgcHJvdmlkZXMgdGhpcyBzdHJ1Y3R1cmUuCiAKKyoqKiBOZXcgPTpub3dl Yi1wcmVmaXg9IGFuZCA9Om5vd2ViLXRyYW5zPSBiYWJlbCBoZWFkZXIgYXJndW1lbnRzCisK Kz06bm93ZWItcHJlZml4PSBjYW4gYmUgc2V0IHRvID1ubz0gdG8gcHJldmVudCB0aGUgcHJl Zml4IGNoYXJhY3RlcnMKK2Zyb20gYmVpbmcgcmVwZWF0ZWQgd2hlbiBleHBhbmRpbmcgYSBt dWx0aWxpbmUgbm93ZWIgcmVmZXJlbmNlLgorCis9Om5vd2ViLXRyYW5zPSBjYW4gYmUgc2V0 IHRvID1wcmluMS10by1zdHJpbmc9LiBOb3dlYiByZWZlcmVuY2UKK3RoZXJlaW4gd2lsbCBi ZSBleHBhbmRlZCB0byBhbiBlbGlzcCBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlaXIK K2NvbnRlbnQuCisKICoqIE5ldyBmdW5jdGlvbnMgYW5kIGNoYW5nZXMgaW4gZnVuY3Rpb24g YXJndW1lbnRzCiAKICoqKiBOZXcgZnVuY3Rpb24gfm9yZy1lbGVtZW50LWNhY2hlLW1hcH4g Zm9yIHF1aWNrIG1hcHBpbmcgYWNyb3NzIE9yZyBlbGVtZW50cwpkaWZmIC0tZ2l0IGEvbGlz cC9vYi1jb3JlLmVsIGIvbGlzcC9vYi1jb3JlLmVsCmluZGV4IDIzOWE1N2Y5Ni4uMWQ1ZDFi ZWRjIDEwMDY0NAotLS0gYS9saXNwL29iLWNvcmUuZWwKKysrIGIvbGlzcC9vYi1jb3JlLmVs CkBAIC00MTEsNiArNDExLDggQEAgdGhlbiBydW4gYG9yZy1iYWJlbC1zd2l0Y2gtdG8tc2Vz c2lvbicuIgogICAgIChub3dlYgkuICgoeWVzIG5vIHRhbmdsZSBuby1leHBvcnQgc3RyaXAt ZXhwb3J0KSkpCiAgICAgKG5vd2ViLXJlZgkuIDphbnkpCiAgICAgKG5vd2ViLXNlcCAgLiA6 YW55KQorICAgIChub3dlYi1wcmVmaXggLiAoKG5vIHllcykpKQorICAgIChub3dlYi10cmFu cyAgLiAoKHByaW4xLXRvLXN0cmluZykpKQogICAgIChvdXRwdXQtZGlyIC4gOmFueSkKICAg ICAocGFkbGluZQkuICgoeWVzIG5vKSkpCiAgICAgKHBvc3QgICAgICAgLiA6YW55KQpAQCAt NDM2LDkgKzQzOCwxMCBAQCBzcGVjaWZpYyBoZWFkZXIgYXJndW1lbnRzIGFzIHdlbGwuIikK IAogKGRlZmNvbnN0IG9yZy1iYWJlbC1zYWZlLWhlYWRlci1hcmdzCiAgICcoOmNhY2hlIDpj b2xuYW1lcyA6Y29tbWVudHMgOmV4cG9ydHMgOmVwaWxvZ3VlIDpobGluZXMgOm5vZXZhbAot CSAgIDpub3dlYiA6bm93ZWItcmVmIDpub3dlYi1zZXAgOnBhZGxpbmUgOnByb2xvZ3VlIDpy b3duYW1lcwotCSAgIDpzZXAgOnNlc3Npb24gOnRhbmdsZSA6d3JhcAorCSAgIDpub3dlYiA6 bm93ZWItcmVmIDpub3dlYi1zZXAgOm5vd2ViLXByZWZpeCA6cGFkbGluZQorICAgICAgICAg ICA6cHJvbG9ndWUgOnJvd25hbWVzIDpzZXAgOnNlc3Npb24gOnRhbmdsZSA6d3JhcAogCSAg ICg6ZXZhbCAuICgibmV2ZXIiICJxdWVyeSIpKQorICAgICAgICAgICAoOm5vd2ViLXRyYW5z IC4gKCJwcmluMS10by1zdHJpbmciKSkKIAkgICAoOnJlc3VsdHMgLiAobGFtYmRhIChzdHIp IChub3QgKHN0cmluZy1tYXRjaCAiZmlsZSIgc3RyKSkpKSkKICAgIkEgbGlzdCBvZiBzYWZl IGhlYWRlciBhcmd1bWVudHMgZm9yIGJhYmVsIHNvdXJjZSBibG9ja3MuCiAKQEAgLTI4MjUs NiArMjgyOCwxMiBAQCBibG9jayBidXQgYXJlIHBhc3NlZCBsaXRlcmFsbHkgdG8gdGhlIFwi ZXhhbXBsZS1ibG9ja1wiLiIKICAgICAgICAgIChsYW5nIChudGggMCBpbmZvKSkKICAgICAg ICAgIChib2R5IChudGggMSBpbmZvKSkKIAkgKGNvbW1lbnQgKHN0cmluZz0gIm5vd2ViIiAo Y2RyIChhc3NxIDpjb21tZW50cyAobnRoIDIgaW5mbykpKSkpCisJIChub3dlYi10cmFucyAo d2hlbiAoY2RyIChhc3NxIDpub3dlYi10cmFucyAobnRoIDIgaW5mbykpKQorICAgICAgICAg ICAgICAgICAgICAgICAgKGludGVybiAoY2RyIChhc3NxIDpub3dlYi10cmFucyAobnRoIDIg aW5mbykpKSkpKQorICAgICAgICAgKG5vd2ViLXByZWZpeCAobGV0ICgodiAoYXNzcSA6bm93 ZWItcHJlZml4IChudGggMiBpbmZvKSkpKQorICAgICAgICAgICAgICAgICAgICAgICAgIChv ciAobm90IHYpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhbmQgKG9yZy1ub3Qt bmlsIChjZHIgdikpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG5vdCAo ZXF1YWwgKGNkciB2KSAibm8iKSkpKSkpCiAJIChub3dlYi1yZSAoZm9ybWF0ICJcXCguKj9c XClcXCglc1xcKSIKIAkJCSAgICh3aXRoLWN1cnJlbnQtYnVmZmVyIHBhcmVudC1idWZmZXIK IAkJCSAgICAgKG9yZy1iYWJlbC1ub3dlYi13cmFwKSkpKQpAQCAtMjkxOSwxMSArMjkyOCwx NiBAQCBibG9jayBidXQgYXJlIHBhc3NlZCBsaXRlcmFsbHkgdG8gdGhlIFwiZXhhbXBsZS1i bG9ja1wiLiIKIAkJCSAgKGxldCogKChpbmZvIChvcmctYmFiZWwtZ2V0LXNyYy1ibG9jay1p bmZvIHQpKQogCQkJCSAocmVmIChjZHIgKGFzc3EgOm5vd2ViLXJlZiAobnRoIDIgaW5mbykp KSkpCiAJCQkgICAgKHB1c2ggaW5mbyAoZ2V0aGFzaCByZWYgY2FjaGUpKSkpKSkKLQkJICAg ICAoZnVuY2FsbCBleHBhbmQtcmVmZXJlbmNlcyBpZCBjYWNoZSkpKSkpCisJCSAgICAgKGZ1 bmNhbGwgZXhwYW5kLXJlZmVyZW5jZXMgaWQgY2FjaGUpKSkpCisgICAgICAgICAgICAgICAg ICAoZXhwYW5zaW9uIChpZiAoZnVuY3Rpb25wIG5vd2ViLXRyYW5zKQorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKGZ1bmNhbGwgbm93ZWItdHJhbnMgZXhwYW5zaW9uKQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cGFuc2lvbikpKQogCSAgICAgOzsg SW50ZXJwb3NlIFBSRUZJWCBiZXR3ZWVuIGV2ZXJ5IGxpbmUuCi0JICAgICAobWFwY29uY2F0 ICMnaWRlbnRpdHkKLQkJCShzcGxpdC1zdHJpbmcgZXhwYW5zaW9uICJbXG5ccl0iKQotCQkJ KGNvbmNhdCAiXG4iIHByZWZpeCkpKSkpKQorCSAgICAgKGlmIG5vd2ViLXByZWZpeAorICAg ICAgICAgICAgICAgICAobWFwY29uY2F0ICMnaWRlbnRpdHkKKwkJCSAgICAoc3BsaXQtc3Ry aW5nIGV4cGFuc2lvbiAiW1xuXHJdIikKKwkJCSAgICAoY29uY2F0ICJcbiIgcHJlZml4KSkK KyAgICAgICAgICAgICAgIGV4cGFuc2lvbikpKSkpCiAgICAgIGJvZHkgdCB0IDIpKSkKIAog KGRlZnVuIG9yZy1iYWJlbC0tc2NyaXB0LWVzY2FwZS1pbm5lciAoc3RyKQotLSAKMi4zNC4x Cgo= --------------9ymDIJv1CUzZfvhD09qsWuYa--