From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp10.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms9.migadu.com with LMTPS id OELuHuofcmTaCgAASxT56A (envelope-from ) for ; Sat, 27 May 2023 17:21:14 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp10.migadu.com with LMTPS id s+oFHuofcmQgbQEAG6o9tA (envelope-from ) for ; Sat, 27 May 2023 17:21:14 +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 EDE633FC24 for ; Sat, 27 May 2023 17:21:13 +0200 (CEST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1q2viR-0002f5-CK; Sat, 27 May 2023 11:20:23 -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 1q2viN-0002eu-FF for emacs-orgmode@gnu.org; Sat, 27 May 2023 11:20:20 -0400 Received: from mail-40138.protonmail.ch ([185.70.40.138]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1q2viJ-0004AY-UJ for emacs-orgmode@gnu.org; Sat, 27 May 2023 11:20:18 -0400 Date: Sat, 27 May 2023 15:19:57 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=proton.me; s=protonmail; t=1685200809; x=1685460009; bh=2z2Gw+d8KKC0Kp5Et5JGvWGpJPDW+0bobwS+veA1WYE=; h=Date:To:From:Subject:Message-ID:In-Reply-To:References: Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID: Message-ID:BIMI-Selector; b=KAUn5nKoViT9AsheQFfODKFe5mgK8OmqZFtFsSyy60JixPRP0fs198Ya070ZOdSkb yUp+pLBb+rmpMSDHTGEvM1ulGSRj1IwTJnTprCUz4tksnLXUrOIEott0tki6VMRkRP NemuhBxB51nPe1BfDSboV/AMqgCm/ODQVRtOVOLFn9shV3l/3ivqlKyTnT9AHUepI+ y3TL2B5mWwpwiY/HTSlQQAalDXxKP0v0H0odeb/BdQwkgJcK5p/GuvOxN0ZzYwLyhH 1wqJoC3iSCCbrNoiBPIPesJu8wyMJSvRdTiN7bvT1/HmKtqJGvYnEQ7aATaR+q34YL CGhPhxPmhD8jg== To: emacs-orgmode@gnu.org From: Sergei Kosyrev Subject: Re: [PATCH] org-id: implement arbitrary cross-file references Message-ID: In-Reply-To: References: Feedback-ID: 53736167:user:proton MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_vCblUfawmsCYlm9ZC0Kt8QKvRUVKhPCzqHn46Is6EM" Received-SPF: pass client-ip=185.70.40.138; envelope-from=kosejin@proton.me; helo=mail-40138.protonmail.ch 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, 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 ARC-Seal: i=1; s=key1; d=yhetil.org; t=1685200874; a=rsa-sha256; cv=none; b=Bk32g29pwWkLzCQ2zquHyVfj4/tNaHICPqxdD3uqS1hznjc+5snMBTEE0ELNafwlOGhPBb hIsqMxKLfDB08y1guxzurpQJCGDWKtPuHRQba0uYkvKvjkGPBLlA0pBiku0Q1n3k4NOPze v9tkYXbTH0+W1iWH7HKd8vdhI9odHOJAubVG13XYHDdjdDN2rJaZZVldIMNikXkUb8GtGY 6WKevZ69UwZ+0Rw0+Qc8EDLA14c5YQv9nJfR3by9teHnWXHjKVaNC8RYSkwst2e6st0dxP qn14R9+9i5n0A/8BBh0+BgEhw3xns80qXJg1FAYG7UfBdNh+cPDC68N1cbWYdw== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=proton.me header.s=protonmail header.b=KAUn5nKo; dmarc=pass (policy=quarantine) header.from=proton.me; 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=1685200874; 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=2z2Gw+d8KKC0Kp5Et5JGvWGpJPDW+0bobwS+veA1WYE=; b=nXqnz2LY9Np8WkymQhxRQJyGAUiV8O5/EF5MfSlxdD8qNQ6G3vsWqP8Nz+zcdWkxUI5mfq 6ZdB9O2PGS3MoYody0wRCRXB4BDkeK0bOLjdFTCKbAiS1LuB2zLeCxvNfA+wNDqPA6PNPC 9iBsxafd54rtvw3qHsnTp33p/a6lvq3orAkWEYdSuqLRA/fd/hvTF7T6qrxUAyg/D4BDp7 33pkI7/kDY6Ts4iaMjE/JIi0dUsosMnhVxiVAD/1xWLgLNhuvKmEwHTBTsr5kAl7AxjKy0 NrNDEWqgm54ZWm3SbpX4rsWQQBdIvE5AgMRMtSHbV5eyRkVd3298GX/UCkbxsQ== X-Migadu-Spam-Score: -3.66 X-Spam-Score: -3.66 X-Migadu-Queue-Id: EDE633FC24 X-Migadu-Scanner: scn0.migadu.com Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=proton.me header.s=protonmail header.b=KAUn5nKo; dmarc=pass (policy=quarantine) header.from=proton.me; 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-TUID: lHMa9alkN0dx This is a multi-part message in MIME format. --b1_vCblUfawmsCYlm9ZC0Kt8QKvRUVKhPCzqHn46Is6EM Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On Saturday, May 27th, 2023 at 8:51 AM, Ruijie Yu via "General discussions = about Org-mode." wrote: > First of all, I believe this is not within the scope of TINYCHANGE, > because as you see below, you added 58 lines and removed 11. In this > case, the very first thing required before Org maintainers can consider > its inclusion is that you sign the FSF copyright assignment. If you > need more details, Ihor or Bastien could probably elaborate and/or send > you the form. Fair enough -- I'm open to sign the FSF copyright assignment. > First, do we need to wrap it with `save-match-data'? In my personal code > I almost always do, but I need a second opinion on that. > Second, instead of the let-unless-null combination, you can just do this > instead: (when-let ((match ...)) (let* (...) ...)) > And, if those values can't ever be nil, you could even combine the entire= ty > of the` let*' form into the `when-let' form (and turn it into a` when-let= *' form). Thank you, all done, patch & GH PR updated. -- regards, Sergei Kosyrev --b1_vCblUfawmsCYlm9ZC0Kt8QKvRUVKhPCzqHn46Is6EM Content-Type: text/x-patch; name=0001-org-id-implement-arbitrary-cross-file-table-referenc.patch Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=0001-org-id-implement-arbitrary-cross-file-table-referenc.patch RnJvbSA5NjBkODY0ZGQ2NTg3MTkwYTc4MzUzZjI3YzJkZTEwNzkwNTYwZjMxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBLb3N5cmV2IFNlcmdlIDxzZXJnZS5rb3N5cmV2QGlvaGsuaW8+ CkRhdGU6IFRodSwgMjUgTWF5IDIwMjMgMTk6MzA6MDEgKzA4MDAKU3ViamVjdDogW1BBVENIXSBv cmctaWQ6IGltcGxlbWVudCBhcmJpdHJhcnkgY3Jvc3MtZmlsZSB0YWJsZSByZWZlcmVuY2luZwoK KiBUYWJsZSBmb3JtdWxhZSBjYW4gbm93IHJlZmVyIHRvIGRhdGEgZnJvbSB0YWJsZXMgaW4gb3Ro ZXIgZmlsZXMuCgpUSU5ZQ0hBTkdFCi0tLQogZXRjL09SRy1ORVdTICAgICAgfCAxMCArKysrKysr KysKIGxpc3Avb3JnLWlkLmVsICAgIHwgNTcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKystLS0tLS0tLS0KIGxpc3Avb3JnLXRhYmxlLmVsIHwgIDIgKy0KIDMgZmlsZXMgY2hh bmdlZCwgNTggaW5zZXJ0aW9ucygrKSwgMTEgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZXRj L09SRy1ORVdTIGIvZXRjL09SRy1ORVdTCmluZGV4IDZiNDAxOThiNS4uMzExMDY3NjI4IDEwMDY0 NAotLS0gYS9ldGMvT1JHLU5FV1MKKysrIGIvZXRjL09SRy1ORVdTCkBAIC0yMjEsNiArMjIxLDE2 IEBAIFJ1bm5pbmcgc2hlbGwgYmxvY2tzIHdpdGggdGhlIH46c2Vzc2lvbn4gaGVhZGVyIGZyZWV6 ZXMgRW1hY3MgdW50aWwKIGV4ZWN1dGlvbiBjb21wbGV0ZXMuICBUaGUgbmV3IH46YXN5bmN+IGhl YWRlciBhbGxvd3MgdXNlcnMgdG8gY29udGludWUKIGVkaXRpbmcgd2l0aCBFbWFjcyB3aGlsZSBh IH46c2Vzc2lvbn4gYmxvY2sgZXhlY3V0ZXMuCiAKKyoqKiB+cmVtb3RlfiB+b3JnLXRhYmxlfiBj YW4gbm93IHJlZmVyIHRvIHZhcmlhYmxlcyBpbiBvdGhlciBmaWxlcworCitUYWJsZSBmb3JtdWxh ZSBjYW4gbm93IHJlZmVyIHRvIGRhdGEgZnJvbSB0YWJsZXMgaW4gb3RoZXIgZmlsZXMuCisKK0V4 YW1wbGU6CisKKyMrQkVHSU5fc3JjIG9yZworIytUQkxGTTogJDI9JyhpZGVudGl0eSByZW1vdGUo ZmlsZTouL29yZy13aWxlLXdpdGgtdGFibGVzLm9yZyxAQCMkVmFsdWUpKQorIytFTkRfc3JjCisK ICoqIE1pc2NlbGxhbmVvdXMKICoqKiA9b3JnLWNyeXB0LmVsPSBub3cgYXBwbGllcyBpbml0aWFs IHZpc2liaWxpdHkgc2V0dGluZ3MgdG8gZGVjcnlwdGVkIGVudHJpZXMKIApkaWZmIC0tZ2l0IGEv bGlzcC9vcmctaWQuZWwgYi9saXNwL29yZy1pZC5lbAppbmRleCBhYTk2MTBmMTYuLjQxM2JhYmNk NiAxMDA2NDQKLS0tIGEvbGlzcC9vcmctaWQuZWwKKysrIGIvbGlzcC9vcmctaWQuZWwKQEAgLTMz Nyw2ICszMzcsNDAgQEAgTW92ZSB0aGUgY3Vyc29yIHRvIHRoYXQgZW50cnkgaW4gdGhhdCBidWZm ZXIuIgogICAgIChtb3ZlLW1hcmtlciBtIG5pbCkKICAgICAob3JnLWZvbGQtc2hvdy1jb250ZXh0 KSkpCiAKKyhkZWZ1biBvcmctaWQtcGFyc2UtcmVtb3RlLXRhYmxlLXJlZiAocmVmc3RyKQorICAo c2F2ZS1tYXRjaC1kYXRhCisgICAgKHdoZW4tbGV0KiAoKG1hdGNoIChzdHJpbmctbWF0Y2ggIl5m aWxlOlxcKFteOl0rXFwpXFwoXFx8Oi4rXFwpJCIgcmVmc3RyKSkKKyAgICAgICAgICAgICAgICAo bTEgKG1hdGNoLXN0cmluZyAxIHJlZnN0cikpCisgICAgICAgICAgICAgICAgKG0yIChtYXRjaC1z dHJpbmcgMiByZWZzdHIpKQorICAgICAgICAgICAgICAgIChmaWxlbmFtZSAoY2wtcmVtb3ZlLWlm IChsYW1iZGEgKGMpIChtZW1iZXIgYyAnKDQwIDQxKSkpCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKG9yZy10YWJsZS1mb3JtdWxhLXN1YnN0aXR1dGUtbmFtZXMgbTEp KSkKKyAgICAgICAgICAgICAgICAodGFibGUtbmFtZSAob3JnLXRhYmxlLWZvcm11bGEtc3Vic3Rp dHV0ZS1uYW1lcyBtMikpKQorICAgICAgKGxpc3QgZmlsZW5hbWUgdGFibGUtbmFtZSkpKSkKKwor KGRlZnVuIG9yZy1pZC1maW5kLXJlbW90ZSAoZmlsZSB0YWJsZS1pZCBtYXJrZXJwKQorICAoaWYg KGZpbGUtZXhpc3RzLXAgZmlsZSkKKyAgICAgIChsZXQgKChidWZmZXIgKGxldCAoKHF1ZXJ5LWFi b3V0LWNoYW5nZWQtZmlsZSBuaWwpKQorICAgICAgICAgICAgICAgICAgICAgIChmaW5kLWZpbGUt bm9zZWxlY3QgZmlsZSkpKSkKKyAgICAgICAgKHVud2luZC1wcm90ZWN0CisJICAgICh3aXRoLWN1 cnJlbnQtYnVmZmVyIGJ1ZmZlcgorICAgICAgICAgICAgICAoZ290by1jaGFyIChwb2ludC1taW4p KQorCSAgICAgIChsZXQgKChwb3MgKHByb2duCisgICAgICAgICAgICAgICAgICAgICAgICAgICAo dW5sZXNzIChzdHJpbmc9IHRhYmxlLWlkICIiKQorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAobGV0KiAoKGlkZW50IChjbC1zdWJzZXEgdGFibGUtaWQgMSkpCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAoaWQtbWF0Y2ggKHNlYXJjaC1mb3J3YXJkIChjb25jYXQgIiMr TkFNRTogIiBpZGVudCkgbmlsIHQpKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo dW5sZXNzIGlkLW1hdGNoCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZXJyb3Ig Im9yZy1pZC1maW5kLXJlbW90ZTogZmlsZSBcIiVzXCIgaGFzIG5vIHRhYmxlIHdpdGggTkFNRSBc IiVzXCIuIiBmaWxlIGlkZW50KSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZm9y d2FyZC1saW5lKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAocmUtc2VhcmNoLWZvcndh cmQgIl58LSIpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAobW92ZS1iZWdpbm5pbmctb2Yt bGluZSBuaWwpKSkpCisgICAgICAgICAgICAgICAgKGNvbmQKKwkgICAgICAgICAoKG51bGwgcG9z KSBuaWwpCisJICAgICAgICAgKG1hcmtlcnAgKG1vdmUtbWFya2VyIChtYWtlLW1hcmtlcikgcG9z IGJ1ZmZlcikpCisJICAgICAgICAgKHQgKGNvbnMgZmlsZSBwb3MpKSkpKQorCSAgOzsgUmVtb3Zl IG9wZW5lZCBidWZmZXIgaW4gdGhlIHByb2Nlc3MuCisJICAodW5sZXNzIG1hcmtlcnAgKGtpbGwt YnVmZmVyIGJ1ZmZlcikpKSkKKyAgICAoZXJyb3IgIm9yZy1pZC1maW5kLXJlbW90ZTogIHJlZmVy ZW5jZSB0byBtaXNzaW5nIGZpbGUgJXMiIGZpbGUpKSkKKwogOzs7IyMjYXV0b2xvYWQKIChkZWZ1 biBvcmctaWQtZmluZCAoaWQgJm9wdGlvbmFsIG1hcmtlcnApCiAgICJSZXR1cm4gdGhlIGxvY2F0 aW9uIG9mIHRoZSBlbnRyeSB3aXRoIHRoZSBpZCBJRC4KQEAgLTM0NiwxNiArMzgwLDE5IEBAIFdp dGggb3B0aW9uYWwgYXJndW1lbnQgTUFSS0VSUCwgcmV0dXJuIHRoZSBwb3NpdGlvbiBhcyBhIG5l dyBtYXJrZXIuIgogICAoY29uZAogICAgKChzeW1ib2xwIGlkKSAoc2V0cSBpZCAoc3ltYm9sLW5h bWUgaWQpKSkKICAgICgobnVtYmVycCBpZCkgKHNldHEgaWQgKG51bWJlci10by1zdHJpbmcgaWQp KSkpCi0gIChsZXQgKChmaWxlIChvcmctaWQtZmluZC1pZC1maWxlIGlkKSkKLQlvcmctYWdlbmRh LW5ldy1idWZmZXJzIHdoZXJlKQotICAgICh3aGVuIGZpbGUKLSAgICAgIChzZXRxIHdoZXJlIChv cmctaWQtZmluZC1pZC1pbi1maWxlIGlkIGZpbGUgbWFya2VycCkpKQotICAgICh1bmxlc3Mgd2hl cmUKLSAgICAgIChvcmctaWQtdXBkYXRlLWlkLWxvY2F0aW9ucyBuaWwgdCkKLSAgICAgIChzZXRx IGZpbGUgKG9yZy1pZC1maW5kLWlkLWZpbGUgaWQpKQotICAgICAgKHdoZW4gZmlsZQotCShzZXRx IHdoZXJlIChvcmctaWQtZmluZC1pZC1pbi1maWxlIGlkIGZpbGUgbWFya2VycCkpKSkKLSAgICB3 aGVyZSkpCisgIChsZXQgKChyZW1vdGUtbWF0Y2ggKG9yZy1pZC1wYXJzZS1yZW1vdGUtdGFibGUt cmVmIGlkKSkpCisgICAgKGlmIHJlbW90ZS1tYXRjaAorICAgICAgICAob3JnLWlkLWZpbmQtcmVt b3RlIChjYXIgcmVtb3RlLW1hdGNoKSAoY2FkciByZW1vdGUtbWF0Y2gpIG1hcmtlcnApCisgICAg ICAobGV0ICgoZmlsZSAob3JnLWlkLWZpbmQtaWQtZmlsZSBpZCkpCisJICAgIG9yZy1hZ2VuZGEt bmV3LWJ1ZmZlcnMgd2hlcmUpCisgICAgICAgICh3aGVuIGZpbGUKKyAgICAgICAgICAoc2V0cSB3 aGVyZSAob3JnLWlkLWZpbmQtaWQtaW4tZmlsZSBpZCBmaWxlIG1hcmtlcnApKSkKKyAgICAgICAg KHVubGVzcyB3aGVyZQorICAgICAgICAgIChvcmctaWQtdXBkYXRlLWlkLWxvY2F0aW9ucyBuaWwg dCkKKyAgICAgICAgICAoc2V0cSBmaWxlIChvcmctaWQtZmluZC1pZC1maWxlIGlkKSkKKyAgICAg ICAgICAod2hlbiBmaWxlCisJICAgIChzZXRxIHdoZXJlIChvcmctaWQtZmluZC1pZC1pbi1maWxl IGlkIGZpbGUgbWFya2VycCkpKSkKKyAgICAgICAgd2hlcmUpKSkpCiAKIDs7OyBJbnRlcm5hbCBm dW5jdGlvbnMKIApkaWZmIC0tZ2l0IGEvbGlzcC9vcmctdGFibGUuZWwgYi9saXNwL29yZy10YWJs ZS5lbAppbmRleCBhYzY4NWM0MWUuLmU4OTRkNTYzYSAxMDA2NDQKLS0tIGEvbGlzcC9vcmctdGFi bGUuZWwKKysrIGIvbGlzcC9vcmctdGFibGUuZWwKQEAgLTYyODEsNyArNjI4MSw3IEBAIGxpc3Qg b2YgdGhlIGZpZWxkcyBpbiB0aGUgcmVjdGFuZ2xlLiIKICAgICAobGV0ICgoY2FzZS1mb2xkLXNl YXJjaCB0KSAoaWQtbG9jIG5pbCkKIAkgIDs7IFByb3RlY3QgYSBidW5jaCBvZiB2YXJpYWJsZXMg ZnJvbSBiZWluZyBvdmVyd3JpdHRlbiBieQogCSAgOzsgdGhlIGNvbnRleHQgb2YgdGhlIHJlbW90 ZSB0YWJsZS4KLQkgIG9yZy10YWJsZS1jb2x1bW4tbmFtZXMgb3JnLXRhYmxlLWNvbHVtbi1uYW1l LXJlZ2V4cAorICAgICAgICAgIG9yZy10YWJsZS1jb2x1bW4tbmFtZXMgKG9yZy10YWJsZS1jb2x1 bW4tbmFtZS1yZWdleHAgb3JnLXRhYmxlLWNvbHVtbi1uYW1lLXJlZ2V4cCkKIAkgIG9yZy10YWJs ZS1sb2NhbC1wYXJhbWV0ZXJzIG9yZy10YWJsZS1uYW1lZC1maWVsZC1sb2NhdGlvbnMKIAkgIG9y Zy10YWJsZS1jdXJyZW50LWxpbmUtdHlwZXMKIAkgIG9yZy10YWJsZS1jdXJyZW50LWJlZ2luLXBv cyBvcmctdGFibGUtZGxpbmVzCi0tIAoyLjQwLjEKCg== --b1_vCblUfawmsCYlm9ZC0Kt8QKvRUVKhPCzqHn46Is6EM--