From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Konstantin Kharlamov Newsgroups: gmane.emacs.bugs Subject: bug#71772: nxml-mode: avoid producing invalid XML/HTML w/ multline comment style Date: Tue, 25 Jun 2024 12:58:13 +0300 Message-ID: <0576c31107c6b975842ed4def6aea49c16800918.camel@yandex.ru> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-s/ufcbGZK0D3nH0t1+0R" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="27523"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Evolution 3.52.2 To: 71772@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Tue Jun 25 12:00:30 2024 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1sM2yP-0006nZ-HY for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 25 Jun 2024 12:00:25 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sM2y3-0002Tj-5e; Tue, 25 Jun 2024 06:00:03 -0400 Original-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 1sM2y0-0002Si-QA for bug-gnu-emacs@gnu.org; Tue, 25 Jun 2024 06:00:00 -0400 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1sM2y0-00056Z-I1 for bug-gnu-emacs@gnu.org; Tue, 25 Jun 2024 06:00:00 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1sM2y2-0003qw-2a for bug-gnu-emacs@gnu.org; Tue, 25 Jun 2024 06:00:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Konstantin Kharlamov Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Tue, 25 Jun 2024 10:00:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 71772 X-GNU-PR-Package: emacs X-Debbugs-Original-To: bug-gnu-emacs@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.171930958114742 (code B ref -1); Tue, 25 Jun 2024 10:00:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 25 Jun 2024 09:59:41 +0000 Original-Received: from localhost ([127.0.0.1]:36300 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sM2xg-0003pg-Da for submit@debbugs.gnu.org; Tue, 25 Jun 2024 05:59:40 -0400 Original-Received: from lists.gnu.org ([209.51.188.17]:58850) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sM2xd-0003pY-Qr for submit@debbugs.gnu.org; Tue, 25 Jun 2024 05:59:39 -0400 Original-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 1sM2xb-0002RP-Uu for bug-gnu-emacs@gnu.org; Tue, 25 Jun 2024 05:59:35 -0400 Original-Received: from forward103a.mail.yandex.net ([2a02:6b8:c0e:500:1:45:d181:d103]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sM2xY-0004x0-Bn for bug-gnu-emacs@gnu.org; Tue, 25 Jun 2024 05:59:35 -0400 Original-Received: from mail-nwsmtp-smtp-production-main-67.vla.yp-c.yandex.net (mail-nwsmtp-smtp-production-main-67.vla.yp-c.yandex.net [IPv6:2a02:6b8:c0d:295:0:640:288c:0]) by forward103a.mail.yandex.net (Yandex) with ESMTPS id 69FC160D10 for ; Tue, 25 Jun 2024 12:59:24 +0300 (MSK) Original-Received: by mail-nwsmtp-smtp-production-main-67.vla.yp-c.yandex.net (smtp/Yandex) with ESMTPSA id MxLjUUMXvKo0-Aby3l9lj; Tue, 25 Jun 2024 12:59:23 +0300 X-Yandex-Fwd: 1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1719309564; bh=fn/2v0Ni2ihSai3Ipy2FJCQ0NyWhpC2A+rmxiN22TMY=; h=Date:To:From:Subject:Message-ID; b=nO8SzBK6OhBlgmIx9iF90J1z3kaK0hI+q35w9UEGaFlv55jyuZ4FAI6BcD7/PeD0t 36ysTVciqcEx1+GFQdx2g5i30qO1Z2sY9IQ28Ye8yJpAL4+YpRF00Gta8S65jaGYlm jsezM+2TCclOZtO18YJanngel6qAhBhGOMWJsAw0= Authentication-Results: mail-nwsmtp-smtp-production-main-67.vla.yp-c.yandex.net; dkim=pass header.i=@yandex.ru Received-SPF: pass client-ip=2a02:6b8:c0e:500:1:45:d181:d103; envelope-from=Hi-Angel@yandex.ru; helo=forward103a.mail.yandex.net 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, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:287881 Archived-At: --=-s/ufcbGZK0D3nH0t1+0R Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable After having set `comment-style` to 'multi-line in nxml-mode, I found out it tries to pad comments with `!--`. The details why that happens are described in the first patch. The two hyphens are invalid both in XML=C2=B9 and HTML=C2=B2, so the patch makes it stop produce such padding. The second patch is just a simple refactoring to reduce the amount of code, but feel free to ignore it if you don't like it. ----------------- 1: https://softwareengineering.stackexchange.com/questions/198481/why-cant-an-= xml-comment-contain-two-hyphens#:~:text=3DDouble%20dash%20indicates%20a%20c= hange,does%20not%20end%20the%20comment . 2: https://stackoverflow.com/questions/26600092/why-are-double-hyphens-invalid= -in-html-comments --=-s/ufcbGZK0D3nH0t1+0R Content-Disposition: attachment; filename="1.patch" Content-Type: text/x-patch; name="1.patch"; charset="ISO-8859-1" Content-Transfer-Encoding: base64 RnJvbSAxN2Y0MmQ0MWRmOGE3Mjc3ZTE5NGUxY2Y5YjcyYTg0ZTNhODRjMTBjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBLb25zdGFudGluIEtoYXJsYW1vdiA8SGktQW5nZWxAeWFuZGV4 LnJ1PgpEYXRlOiBUdWUsIDI1IEp1biAyMDI0IDEyOjI2OjEyICswMzAwClN1YmplY3Q6IFtQQVRD SCAxLzJdIERvbid0IHByb2R1Y2UgaW52YWxpZCBYTUwgd2l0aCBtdWx0aS1saW5lIGNvbW1lbnRp bmcKIHN0eWxlCgpCb3RoIFhNTCBhbmQgSFRNTCBmb3JiaWQgZG91YmxlIGh5cGhlbnMgaW5zaWRl IGNvbW1lbnRzLiBIb3dldmVyLApueG1sLW1vZGUgd2FzIHVzaW5nIGEgYCEtLScgYXMgYSBjb21t ZW50IHBhZGRpbmcgaWYgYGNvbW1lbnQtc3R5bGUnCndhcyBzZXQgdG8gYW55IG9mIHRoZSBzdHls ZXMgdGhhdCBzdXBwb3NlZCB0byBhZGQgcGFkZGluZy4gVGhpcyBpbmZpeAp3YXMgYXV0by1kZXJp dmVkIGR1ZSB0byBgY29tbWVudC1jb250aW51ZScgYmVpbmcgbmlsLiBUbyBmaXggdGhhdCBzZXQK YGNvbW1lbnQtY29udGludWUnIGV4cGxpY2l0bHkuIEl0J3MgdW5jbGVhciB3aGF0IHBhZGRpbmcg c2hvdWxkIGJlCnVzZWQsIGJ1dCBmcm9tIGxvb2tpbmcgYXQgb3RoZXIgZWRpdG9ycyBpdCBzZWVt cyB0aGV5IGRvbid0IHR5cGljYWxseQphZGQgcGFkZGluZyBpbiBYTUwsIHNvIGxldCdzIGJlIHNp bXBsZSBmb3Igbm93IGFuZCBqdXN0IHNldApgY29tbWVudC1jb250aW51ZScgdG8gZW1wdHkgc3Ry aW5nLgoKKiBsaXNwL254bWwvbnhtbC1tb2RlLmVsIChueG1sLW1vZGUpOiBtYWtlIGBjb21tZW50 LWNvbnRpbnVlJyBhCmJ1ZmZlci1sb2NhbCB2YXJpYWJsZSBzZXQgdG8gZW1wdHkgc3RyaW5nLgot LS0KIGxpc3AvbnhtbC9ueG1sLW1vZGUuZWwgfCAxICsKIDEgZmlsZSBjaGFuZ2VkLCAxIGluc2Vy dGlvbigrKQoKZGlmZiAtLWdpdCBhL2xpc3AvbnhtbC9ueG1sLW1vZGUuZWwgYi9saXNwL254bWwv bnhtbC1tb2RlLmVsCmluZGV4IDAyMzkxZGM2OTY4Li5hNThkM2YzYzc1ZiAxMDA2NDQKLS0tIGEv bGlzcC9ueG1sL254bWwtbW9kZS5lbAorKysgYi9saXNwL254bWwvbnhtbC1tb2RlLmVsCkBAIC01 MzEsNiArNTMxLDcgQEAgbnhtbC1tb2RlCiAgIChzZXRxLWxvY2FsIGNvbW1lbnQtZW5kLXNraXAg IlsgXHRcclxuXSotLT4iKQogICAoc2V0cS1sb2NhbCBjb21tZW50LWxpbmUtYnJlYWstZnVuY3Rp b24gIydueG1sLW5ld2xpbmUtYW5kLWluZGVudCkKICAgKHNldHEtbG9jYWwgY29tbWVudC1xdW90 ZS1uZXN0ZWQtZnVuY3Rpb24gIydueG1sLWNvbW1lbnQtcXVvdGUtbmVzdGVkKQorICAoc2V0cS1s b2NhbCBjb21tZW50LWNvbnRpbnVlICIiKSA7IGF2b2lkIGRvdWJsZS1oeXBoZW5zIGFzIGEgcGFk ZGluZwogICAoc2F2ZS1leGN1cnNpb24KICAgICAoc2F2ZS1yZXN0cmljdGlvbgogICAgICAgKHdp ZGVuKQotLSAKMi40NS4yCgoKRnJvbSA3NmZmMjg5YTMwZjQ2YzQ0MWEyNThjOWFhMTMzNzgzZWYw MDU5MTM2IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBLb25zdGFudGluIEtoYXJsYW1v diA8SGktQW5nZWxAeWFuZGV4LnJ1PgpEYXRlOiBUdWUsIDI1IEp1biAyMDI0IDEyOjQ1OjEwICsw MzAwClN1YmplY3Q6IFtQQVRDSCAyLzJdIG54bWwtbW9kZTogcmVwbGFjZSBkb3plbnMgb2Ygc2V0 cS1sb2NhbCB3aXRoIGEgc2luZ2xlIG9uZQoKKiAvbGlzcC9ueG1sL254bWwtbW9kZS5lbCAobnht bC1tb2RlKTogcGxhY2Ugc2VwYXJhdGUgYHNldHEtbG9jYWwnCnN0YXRlbWVudHMgdW5kZXIgYSBz aW5nbGUgb25lLgotLS0KIGxpc3AvbnhtbC9ueG1sLW1vZGUuZWwgfCA2NCArKysrKysrKysrKysr KysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAzMiBpbnNlcnRp b25zKCspLCAzMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saXNwL254bWwvbnhtbC1tb2Rl LmVsIGIvbGlzcC9ueG1sL254bWwtbW9kZS5lbAppbmRleCBhNThkM2YzYzc1Zi4uMDVjNjg0YjAy MzggMTAwNjQ0Ci0tLSBhL2xpc3AvbnhtbC9ueG1sLW1vZGUuZWwKKysrIGIvbGlzcC9ueG1sL254 bWwtbW9kZS5lbApAQCAtNTAyLDQzICs1MDIsNDMgQEAgbnhtbC1tb2RlCiBNYW55IGFzcGVjdHMg dGhpcyBtb2RlIGNhbiBiZSBjdXN0b21pemVkIHVzaW5nCiBcXFtjdXN0b21pemUtZ3JvdXBdIG54 bWwgUkVULiIKICAgOzsgKGtpbGwtYWxsLWxvY2FsLXZhcmlhYmxlcykKLSAgOzsgSWYgZW5jb2Rp bmcgZG9lcyBub3QgYWxsb3cgbm9uLWJyZWFrIHNwYWNlIGNoYXJhY3RlciwgdXNlIHJlZmVyZW5j ZS4KLSAgOzsgRklYTUU6IFRoaXMgZHVwbGljYXRlcyBjb2RlIGZyb20gc2dtbC1tb2RlLCBwZXJo YXBzIGRlcml2ZSBmcm9tIGl0PwotICA7OyBGSVhNRTogUGVyaGFwcyB1c2UgJm5ic3A7IGlmIHBv c3NpYmxlIChlLmcuIFhIVE1MKT8KLSAgKHNldHEtbG9jYWwgdGlsZGlmeS1zcGFjZS1zdHJpbmcK LSAgICAgICAgICAgICAgKGlmIChlcXVhbCAoZGVjb2RlLWNvZGluZy1zdHJpbmcKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgKGVuY29kZS1jb2Rpbmctc3RyaW5nICLCoCIgYnVmZmVyLWZpbGUt Y29kaW5nLXN5c3RlbSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmZmVyLWZpbGUtY29k aW5nLXN5c3RlbSkgIsKgIikKLSAgICAgICAgICAgICAgICAgICLCoCIgIiYjMTYwOyIpKQotICA7 OyBGSVhNRTogVXNlIHRoZSBmYWN0IHRoYXQgd2UncmUgcGFyc2luZyB0aGUgZG9jdW1lbnQgYWxy ZWFkeQotICA7OyByYXRoZXIgdGhhbiB1c2luZyByZWdleC1iYXNlZCBmaWx0ZXJpbmcuCi0gIChz ZXRxLWxvY2FsIHRpbGRpZnktZm9yZWFjaC1yZWdpb24tZnVuY3Rpb24KLSAgICAgICAgICAgICAg KGFwcGx5LXBhcnRpYWxseSAndGlsZGlmeS1mb3JlYWNoLWlnbm9yZS1lbnZpcm9ubWVudHMKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnKCgiPCEgKi0tIiAuICItLSAqPiIpICgiPCIg LiAiPiIpKSkpCi0gIChzZXRxLWxvY2FsIG1vZGUtbGluZS1wcm9jZXNzICcoKG54bWwtZGVncmFk ZWQgIi9kZWdyYWRlZCIpKSkKLSAgOzsgV2UnbGwgZGV0ZXJtaW5lIHRoZSBmaWxsIHByZWZpeCBv dXJzZWx2ZXMKLSAgKHNldHEtbG9jYWwgYWRhcHRpdmUtZmlsbC1tb2RlIG5pbCkKLSAgKHNldHEt bG9jYWwgZm9yd2FyZC1zZXhwLWZ1bmN0aW9uICMnbnhtbC1mb3J3YXJkLWJhbGFuY2VkLWl0ZW0p Ci0gIChzZXRxLWxvY2FsIGluZGVudC1saW5lLWZ1bmN0aW9uICMnbnhtbC1pbmRlbnQtbGluZSkK LSAgKHNldHEtbG9jYWwgZmlsbC1wYXJhZ3JhcGgtZnVuY3Rpb24gIydueG1sLWRvLWZpbGwtcGFy YWdyYXBoKQotICA7OyBDb21tZW50IHN1cHBvcnQKLSAgOzsgVGhpcyBkb2Vzbid0IHNlZW0gdG8g d29yayB0b28gd2VsbDsKLSAgOzsgSSB0aGluayB3ZSBzaG91bGQgcHJvYmFibHkgcm9sbCBvdXIg b3duIG54bWwtY29tbWVudC1kd2ltIGZ1bmN0aW9uLgotICAoc2V0cS1sb2NhbCBjb21tZW50LWlu ZGVudC1mdW5jdGlvbiAjJ254bWwtaW5kZW50LWxpbmUpCi0gIChzZXRxLWxvY2FsIGNvbW1lbnQt c3RhcnQgIjwhLS0iKQotICAoc2V0cS1sb2NhbCBjb21tZW50LXN0YXJ0LXNraXAgIjwhLS1bIFx0 XHJcbl0qIikKLSAgKHNldHEtbG9jYWwgY29tbWVudC1lbmQgIi0tPiIpCi0gIChzZXRxLWxvY2Fs IGNvbW1lbnQtZW5kLXNraXAgIlsgXHRcclxuXSotLT4iKQotICAoc2V0cS1sb2NhbCBjb21tZW50 LWxpbmUtYnJlYWstZnVuY3Rpb24gIydueG1sLW5ld2xpbmUtYW5kLWluZGVudCkKLSAgKHNldHEt bG9jYWwgY29tbWVudC1xdW90ZS1uZXN0ZWQtZnVuY3Rpb24gIydueG1sLWNvbW1lbnQtcXVvdGUt bmVzdGVkKQotICAoc2V0cS1sb2NhbCBjb21tZW50LWNvbnRpbnVlICIiKSA7IGF2b2lkIGRvdWJs ZS1oeXBoZW5zIGFzIGEgcGFkZGluZworICAoc2V0cS1sb2NhbAorICAgOzsgSWYgZW5jb2Rpbmcg ZG9lcyBub3QgYWxsb3cgbm9uLWJyZWFrIHNwYWNlIGNoYXJhY3RlciwgdXNlIHJlZmVyZW5jZS4K KyAgIDs7IEZJWE1FOiBUaGlzIGR1cGxpY2F0ZXMgY29kZSBmcm9tIHNnbWwtbW9kZSwgcGVyaGFw cyBkZXJpdmUgZnJvbSBpdD8KKyAgIDs7IEZJWE1FOiBQZXJoYXBzIHVzZSAmbmJzcDsgaWYgcG9z c2libGUgKGUuZy4gWEhUTUwpPworICAgdGlsZGlmeS1zcGFjZS1zdHJpbmcgKGlmIChlcXVhbCAo ZGVjb2RlLWNvZGluZy1zdHJpbmcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IChlbmNvZGUtY29kaW5nLXN0cmluZyAiwqAiIGJ1ZmZlci1maWxlLWNvZGluZy1zeXN0ZW0pCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBidWZmZXItZmlsZS1jb2Rpbmctc3lz dGVtKSAiwqAiKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICLCoCIgIiYjMTYwOyIpCisg ICA7OyBGSVhNRTogVXNlIHRoZSBmYWN0IHRoYXQgd2UncmUgcGFyc2luZyB0aGUgZG9jdW1lbnQg YWxyZWFkeQorICAgOzsgcmF0aGVyIHRoYW4gdXNpbmcgcmVnZXgtYmFzZWQgZmlsdGVyaW5nLgor ICAgdGlsZGlmeS1mb3JlYWNoLXJlZ2lvbi1mdW5jdGlvbiAoYXBwbHktcGFydGlhbGx5CisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAndGlsZGlmeS1mb3JlYWNoLWlnbm9yZS1l bnZpcm9ubWVudHMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcoKCI8ISAq LS0iIC4gIi0tICo+IikgKCI8IiAuICI+IikpKQorICAgbW9kZS1saW5lLXByb2Nlc3MgJygobnht bC1kZWdyYWRlZCAiL2RlZ3JhZGVkIikpCisgICA7OyBXZSdsbCBkZXRlcm1pbmUgdGhlIGZpbGwg cHJlZml4IG91cnNlbHZlcworICAgYWRhcHRpdmUtZmlsbC1tb2RlIG5pbAorICAgZm9yd2FyZC1z ZXhwLWZ1bmN0aW9uICMnbnhtbC1mb3J3YXJkLWJhbGFuY2VkLWl0ZW0KKyAgIGluZGVudC1saW5l LWZ1bmN0aW9uICMnbnhtbC1pbmRlbnQtbGluZQorICAgZmlsbC1wYXJhZ3JhcGgtZnVuY3Rpb24g IydueG1sLWRvLWZpbGwtcGFyYWdyYXBoCisgICA7OyBDb21tZW50IHN1cHBvcnQKKyAgIDs7IFRo aXMgZG9lc24ndCBzZWVtIHRvIHdvcmsgdG9vIHdlbGw7CisgICA7OyBJIHRoaW5rIHdlIHNob3Vs ZCBwcm9iYWJseSByb2xsIG91ciBvd24gbnhtbC1jb21tZW50LWR3aW0gZnVuY3Rpb24uCisgICBj b21tZW50LWluZGVudC1mdW5jdGlvbiAjJ254bWwtaW5kZW50LWxpbmUKKyAgIGNvbW1lbnQtc3Rh cnQgIjwhLS0iCisgICBjb21tZW50LXN0YXJ0LXNraXAgIjwhLS1bIFx0XHJcbl0qIgorICAgY29t bWVudC1lbmQgIi0tPiIKKyAgIGNvbW1lbnQtZW5kLXNraXAgIlsgXHRcclxuXSotLT4iCisgICBj b21tZW50LWxpbmUtYnJlYWstZnVuY3Rpb24gIydueG1sLW5ld2xpbmUtYW5kLWluZGVudAorICAg Y29tbWVudC1xdW90ZS1uZXN0ZWQtZnVuY3Rpb24gIydueG1sLWNvbW1lbnQtcXVvdGUtbmVzdGVk CisgICBjb21tZW50LWNvbnRpbnVlICIiIDsgYXZvaWQgZG91YmxlLWh5cGhlbnMgYXMgYSBwYWRk aW5nCisgICBzeW50YXgtcHBzcy10YWJsZSBzZ21sLXRhZy1zeW50YXgtdGFibGUKKyAgIHN5bnRh eC1wcm9wZXJ0aXplLWZ1bmN0aW9uICMnbnhtbC1zeW50YXgtcHJvcGVydGl6ZSkKICAgKHNhdmUt ZXhjdXJzaW9uCiAgICAgKHNhdmUtcmVzdHJpY3Rpb24KICAgICAgICh3aWRlbikKICAgICAgICh3 aXRoLXNpbGVudC1tb2RpZmljYXRpb25zCiAJKG54bWwtc2Nhbi1wcm9sb2cpKSkpCi0gIChzZXRx LWxvY2FsIHN5bnRheC1wcHNzLXRhYmxlIHNnbWwtdGFnLXN5bnRheC10YWJsZSkKLSAgKHNldHEt bG9jYWwgc3ludGF4LXByb3BlcnRpemUtZnVuY3Rpb24gIydueG1sLXN5bnRheC1wcm9wZXJ0aXpl KQogICAoYWRkLWZ1bmN0aW9uIDpmaWx0ZXItcmV0dXJuIChsb2NhbCAnZmlsdGVyLWJ1ZmZlci1z dWJzdHJpbmctZnVuY3Rpb24pCiAgICAgICAgICAgICAgICAgIydueG1sLS1idWZmZXItc3Vic3Ry aW5nLWZpbHRlcikKICAgKGFkZC1ob29rICdjaGFuZ2UtbWFqb3ItbW9kZS1ob29rICMnbnhtbC1j bGVhbnVwIG5pbCB0KQotLSAKMi40NS4yCgo= --=-s/ufcbGZK0D3nH0t1+0R--