From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp11.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms5.migadu.com with LMTPS id OKlvGM2+UWMg6gAAbAwnHQ (envelope-from ) for ; Thu, 20 Oct 2022 23:34:05 +0200 Received: from aspmx1.migadu.com ([2001:41d0:2:bcc0::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp11.migadu.com with LMTPS id OIK0GM2+UWMwnwAA9RJhRA (envelope-from ) for ; Thu, 20 Oct 2022 23:34:05 +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 EFD15AFFC for ; Thu, 20 Oct 2022 23:34:04 +0200 (CEST) Received: from localhost ([::1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1oldAy-00074W-6r for larch@yhetil.org; Thu, 20 Oct 2022 17:34:04 -0400 Received: from [::1] (helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1old87-0006fA-Bu for larch@yhetil.org; Thu, 20 Oct 2022 17:31:07 -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 1old82-0006ey-SX for guix-patches@gnu.org; Thu, 20 Oct 2022 17:31:03 -0400 Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1old82-0006oE-Hw for guix-patches@gnu.org; Thu, 20 Oct 2022 17:31:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1old82-0006eA-58 for guix-patches@gnu.org; Thu, 20 Oct 2022 17:31:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#58652] Creating home-emacs-service-type Resent-From: Zain Jabbar Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Thu, 20 Oct 2022 21:31:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 58652 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: To: Liliana Marie Prikler Cc: 58652@debbugs.gnu.org, jbranso@dismail.de Received: via spool by 58652-submit@debbugs.gnu.org id=B58652.166630145625538 (code B ref 58652); Thu, 20 Oct 2022 21:31:02 +0000 Received: (at 58652) by debbugs.gnu.org; 20 Oct 2022 21:30:56 +0000 Received: from localhost ([127.0.0.1]:36280 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1old7v-0006dp-TL for submit@debbugs.gnu.org; Thu, 20 Oct 2022 17:30:56 -0400 Received: from mail-ed1-f51.google.com ([209.85.208.51]:40904) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1old7t-0006db-Iq for 58652@debbugs.gnu.org; Thu, 20 Oct 2022 17:30:54 -0400 Received: by mail-ed1-f51.google.com with SMTP id r14so1490432edc.7 for <58652@debbugs.gnu.org>; Thu, 20 Oct 2022 14:30:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=Mi+KHTZNunOryy5MTl8o1tAPgdhHJCZ6ZWpkz3SLqIs=; b=UwIryInEr+swUTBPgiRFm8ANK+LCHQE8KAsLgLuEqGSdomETXWNHdf6/1n1eaAgotT Tc6VS+fCC037wfXNJnNDjIyAGU5TPvEOvXMu5AqxCldiRAFMAN2d5VL5GBaemvlj4j+U rmMpJ9UwUOK1YS/j5gKOiWyigSoOmEbtk1EskikHmwUsMQ6g0Mhm0maUxUmPj7Nr1ARq IzTxduj6VVAlDdvB7+1FAt1P9dxFcLgOipjOZQSIIzG5kcHubCguFvbs/HDI5+CnCUoc DRzWFOM8BQgIUEmqVSaQiiLp0GCz+yXCyY59gIyuttS6JorTwJaDf5BOMa3mW+772d49 Km4g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc: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=Mi+KHTZNunOryy5MTl8o1tAPgdhHJCZ6ZWpkz3SLqIs=; b=bjbWbve789Ew41Jexc0eYGkG91A1jIP6uZXcI+UT+WkaZf9AKvfck0+lk6CYjy/3u+ 0b00Njxh0zYqnfDL2TI3Q1lGvsVdaNmVCmkYl3V0g6F6bfFJXbeXDtC+4Om6tIwQ1ivO AB8rnvbSn/ZDgcEqMItJ+4ROzghUvVjboVA797Cf9gr8LBNteQK07LBa3Qg0Y3y3lBXU 5T0ZUQ/VYn8EOYBrw/4lVUNMSkKjoWXjYsPaHZAErc22Z+/C3b2qhZp5GqX4E72eKAcJ TiNZW9KjLr0fYPVzv/I2SjheYEMDWBaF0FL2ZVq+pXMm3Qt/4DBjhJwmL8ZUWMdAuIV7 wYiw== X-Gm-Message-State: ACrzQf036GsHDq+0/NxP/U9lvcGEUXMYM7O1OH4H5FfGQqV6ob+EXwrp 5K1lvxVbTH8YnPUq+3fCi/9rVABiywqPPw2sQVk= X-Google-Smtp-Source: AMsMyM6gjwNMrSHRnQjzjL558/UAn+V3Dm1cvUAEIvWMGyhlSIVeB0iqWblyo+3SF743B4TlPs0n4m6tMrvOgNEvpgs= X-Received: by 2002:a05:6402:298d:b0:451:5fc5:d423 with SMTP id eq13-20020a056402298d00b004515fc5d423mr13927453edb.102.1666301447602; Thu, 20 Oct 2022 14:30:47 -0700 (PDT) MIME-Version: 1.0 References: <495a0fab9b20dd40f9fb1aef2261b60e053bf5cd.camel@ist.tugraz.at> In-Reply-To: <495a0fab9b20dd40f9fb1aef2261b60e053bf5cd.camel@ist.tugraz.at> From: Zain Jabbar Date: Thu, 20 Oct 2022 11:30:36 -1000 Message-ID: Content-Type: multipart/mixed; boundary="000000000000dfa3d905eb7e0943" X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+larch=yhetil.org@gnu.org Sender: "Guix-patches" 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=1666301645; h=from:from:sender:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:resent-cc:resent-from:resent-sender: resent-message-id:in-reply-to:in-reply-to:references:references: list-id:list-help:list-unsubscribe:list-subscribe:list-post: dkim-signature; bh=Mi+KHTZNunOryy5MTl8o1tAPgdhHJCZ6ZWpkz3SLqIs=; b=mexB2xPEBZyLo/83E9HPA3kZeY/2qKts3D4zP5Bd5Bmp4+/rqb6Tvc8FxgSnOPhG+LoUED 1rN0Utbybpca5SxjNeVxupFAaFHmmrZMzrvO7gbCHJNVCHsfU7pWiIcdd7kRCoSBs616Sq gAYZdQ6Ry5y6u4TRwvB38VPS2DlgvvS/kRX31KDmKy0r4mGUJS6a7OVexlc+5SstW3MBwT cjku63Uci8FpAd56wNirp/KL/5ULWtKfJ3ASIf4FlXdvhjLCIPfiWmBMm0zKHxudRJkvVx NNVs8HvU9jsd1wJGwSSj+98c8HzraKD3xw7pRXjhXiCbIFWj65wV+IvihMi1Og== ARC-Seal: i=1; s=key1; d=yhetil.org; t=1666301645; a=rsa-sha256; cv=none; b=R98il3BALP0QNj6KAoF08CIp8qiI8I1SlgmKGPd2coH+jihx1vYZcUbMXbIVh4LqncPD5N kl+dpJwP2ji7m3s1mVRl9LqyjMwTf8VlBsgVrMJdUEurL2bYC36yL6JNUPFt4cEILVvUyP fmIPKKoa/fZ8LsCyT76/lurMk/5ofWWmNKjH6NH1WMGmjui7OypeW0OoeQTOUZCH7XPBJw w7lssjWodZBypWc5imgAyMcGy4WmebbFYS/2WvvF4VuMDddSjrKqOmMyJTNuKtR89lrrYz uycegn9b2wnMBOw2DuNS5H+u5pYi7WU3H1NWFJHV2symCDBkWaguP7bQMyMhNA== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=gmail.com header.s=20210112 header.b=UwIryInE; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none); spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org" X-Migadu-Spam-Score: 5.67 Authentication-Results: aspmx1.migadu.com; dkim=fail ("headers rsa verify failed") header.d=gmail.com header.s=20210112 header.b=UwIryInE; dmarc=fail reason="SPF not aligned (relaxed)" header.from=gmail.com (policy=none); spf=pass (aspmx1.migadu.com: domain of "guix-patches-bounces+larch=yhetil.org@gnu.org" designates 209.51.188.17 as permitted sender) smtp.mailfrom="guix-patches-bounces+larch=yhetil.org@gnu.org" X-Migadu-Queue-Id: EFD15AFFC X-Spam-Score: 5.67 X-Migadu-Scanner: scn0.migadu.com X-TUID: H2dvjIFxuAFX --000000000000dfa3d905eb7e0943 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Aloha All, Thank you for your input. > Note that you reverted the patch direction. Please forgive me for that. Is it possible to explain what I did wrong? I will outline my steps to help you figure out what I did incorrectly. 1. I cloned the repo 2. Used =3Dguix shell -D guix=3D 3. Ran =3D./bootstrap=3D 4. Ran =3D./configure --localstatedir=3D/var=3D 5. Ran =3Dmake && make check=3D. By the way, my =3Dmake check=3D had a fail= ed test, I don't know if that was expected. 6. Made some commits 7. I used =3Dgit diff HEAD origin/HEAD > my-guix-patch.patch=3D. I might have messed around too much in my cloned repo, throwing something o= ff. > You should also take an extra-files argument, e.g. to add custom.el or > other elisp files that init.el might refer to. Understood. Attached as a new patch. =3Dhome-emacs-configuration=3D now has an extra field =3Dextra-files=3D. To use it, input a list of file objects. The service will splice them into =3D$XDG_CONFIG_HOME/emacs/{FILE}=3D. Here is an example configuration. Using =3Dguix home container=3D will allow you to see the file =3Dgreetings= =3D with contents "hello world" in =3D.config/emacs/=3D. #+BEGIN_SRC scheme (use-modules (gnu home services emacs) (gnu home) (guix gexp) (gnu packages) (ice-9 pretty-print) (gnu services)) (home-environment (services (list (service home-emacs-service-type (home-emacs-configuration (packages (list (specification->package "bash") (specification->package "emacs-next"))) (extra-files (list (scheme-file "greetings" '(hello world) #:splice? #:t)))))))) #+END_SRC > Also, I'm not certain if "scheme-file" is the right primitive here =E2=80= =93 > Emacs Lisp does differ from Scheme, e.g. in keyword syntax among > others. I agree; using =3Dscheme-file=3D for =3Demacs-lisp=3D feels blasphemous. Th= ere are some odd errors associated with this method too. For example, =3D#'foo=3D is the shorthand for =3D(function foo)=3D in Emacs Lisp but get= s turned into =3D(syntax foo)=3D when using Guile. Meaning a pure drag and drop =3Dinit.el >> guile-sexp=3D has some things that need to be changed. The fact that Emacs-Lisp and Guile Scheme use S-Expressions was something I wanted to leverage. It becomes easy to write Elisp in the parens of the =3Dinit=3D parameter because there is no context switching (e.g. lispy works, cape-symbols works for Elisp in Scheme). I am open to other forms of inputting the text in the files. This is a bit high maka maka, but I would also like to see how "elegant" the other methods of inserting Elisp look. That is, can we make it desirable for people to integrate Elisp into Guile Scheme moreso than a =3Dlocal-file=3D declaration. Using backquotes and S-Expressions allows for some variables from Guile to be placed into the Emacs configuration like the system type, user names, and emails. On Thu, Oct 20, 2022 at 2:54 AM Liliana Marie Prikler wrote: > > Am Mittwoch, dem 19.10.2022 um 15:59 -1000 schrieb Zain Jabbar: > > Aloha Guix Development Team, > > > > First submission of a patch to this mail service. Hopefully this > > works. I welcome any and all feedback. > > > > Attached is a patch which creates a new file > > =3D/gnu/home/services/emacs.scm=3D which defines a new service > > =3Dhome-emacs-service-type=3D and a configuration for said service > > =3Dhome-emacs-configuration=3D. The configuration contains a list of > > packages to add to the home-profile, and a list of expressions to add > > into Emacs' =3Dinit.el=3D and =3Dearly-init.el=3D. > Note that you reverted the patch direction. > > > Here is an example of a home environment file which: > > > > Adds the following packages: > > - =3Dbash=3D > > - =3Demacs-next=3D > > - =3Demacs-debbugs=3D > > - =3Demacs-evil=3D > > - =3Demacs-paredit=3D > > - =3Demacs-anzu=3D > > > > Overwrites the =3D.config/emacs/init.el=3D with: > > #+BEGIN_SRC emacs-lisp > > (evil-mode 1) > > #+END_SRC > > > > Overwrites the =3D.config/emacs/early-init.el=3D with: > > #+BEGIN_SRC emacs-lisp > > (setq warning-suppress-log-types '((comp) (comp))) (setq > > warning-suppress-types '((comp) (comp))) > > #+END_SRC > > > > #+BEGIN_SRC scheme > > (use-modules (gnu home services emacs) > > (gnu home) > > (gnu packages) > > (ice-9 pretty-print) > > (gnu services)) > > > > (define-public minimal-home-environment > > (home-environment > > (services > > (list > > (service home-emacs-service-type > > (home-emacs-configuration > > (packages > > (list > > (specification->package "bash") > > (specification->package "emacs-next") > > (specification->package "emacs-debbugs") > > (specification->package "emacs-evil") > > (specification->package "emacs-paredit") > > (specification->package "emacs-anzu"))) > > (init '((evil-mode 1))) > > (early-init '((setq warning-suppress-log-types '((comp) > > (comp))) > > (setq warning-suppress-types '((comp) (comp))))))))))) > > > > minimal-home-environment > > #+END_SRC > You should also take an extra-files argument, e.g. to add custom.el or > other elisp files that init.el might refer to. > > Also, I'm not certain if "scheme-file" is the right primitve here =E2=80= =93 > Emacs Lisp does differ from Scheme, e.g. in keyword syntax among > others. > > Cheers -- Mahalo, Zain Jabbar --000000000000dfa3d905eb7e0943 Content-Type: application/x-patch; name="home-emacs-service-type-extra-files.patch" Content-Disposition: attachment; filename="home-emacs-service-type-extra-files.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_l9hk80vh0 ZGlmZiAtLWdpdCBhL2V0Yy9zdWJzdGl0dXRlcy9jaS5ndWl4LmdudS5vcmcucHViIGIvZXRjL3N1 YnN0aXR1dGVzL2NpLmd1aXguZ251Lm9yZy5wdWIKbmV3IGZpbGUgbW9kZSAxMjAwMDAKaW5kZXgg MDAwMDAwMDAwMC4uMDU3NGY2ZGZhYgotLS0gL2Rldi9udWxsCisrKyBiL2V0Yy9zdWJzdGl0dXRl cy9jaS5ndWl4LmdudS5vcmcucHViCkBAIC0wLDAgKzEgQEAKK2Jlcmxpbi5ndWl4LmdudS5vcmcu cHViClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvZXRjL3N1YnN0aXR1 dGVzL2NpLmd1aXguaW5mby5wdWIgYi9ldGMvc3Vic3RpdHV0ZXMvY2kuZ3VpeC5pbmZvLnB1Ygpu ZXcgZmlsZSBtb2RlIDEyMDAwMAppbmRleCAwMDAwMDAwMDAwLi4wNTc0ZjZkZmFiCi0tLSAvZGV2 L251bGwKKysrIGIvZXRjL3N1YnN0aXR1dGVzL2NpLmd1aXguaW5mby5wdWIKQEAgLTAsMCArMSBA QAorYmVybGluLmd1aXguZ251Lm9yZy5wdWIKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRp ZmYgLS1naXQgYS9nbnUvaG9tZS9zZXJ2aWNlcy9lbWFjcy5zY20gYi9nbnUvaG9tZS9zZXJ2aWNl cy9lbWFjcy5zY20KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMjc2ODg4M2YuLjAw MDAwMDAwMDAKLS0tIGEvZ251L2hvbWUvc2VydmljZXMvZW1hY3Muc2NtCisrKyAvZGV2L251bGwK QEAgLTEsNjggKzAsMCBAQAotOzs7IEdOVSBHdWl4IC0tLSBGdW5jdGlvbmFsIHBhY2thZ2UgbWFu YWdlbWVudCBmb3IgR05VCi07OzsgQ29weXJpZ2h0IMKpIDIwMjIgWmFpbiBKYWJiYXIgPHphaWph YjIwMDBAZ21haWwuY29tPgotOzs7Ci07OzsgVGhpcyBmaWxlIGlzIHBhcnQgb2YgR05VIEd1aXgu Ci07OzsKLTs7OyBHTlUgR3VpeCBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0 ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0Ci07OzsgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKLTs7OyB0aGUgRnJlZSBTb2Z0d2Fy ZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQKLTs7 OyB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi07OzsKLTs7OyBHTlUgR3VpeCBpcyBk aXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQKLTs7OyBX SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m Ci07OzsgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF LiAgU2VlIHRoZQotOzs7IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFp bHMuCi07OzsKLTs7OyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg R2VuZXJhbCBQdWJsaWMgTGljZW5zZQotOzs7IGFsb25nIHdpdGggR05VIEd1aXguICBJZiBub3Qs IHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCi0KLShkZWZpbmUtbW9kdWxlIChn bnUgaG9tZSBzZXJ2aWNlcyBlbWFjcykKLSAgIzp1c2UtbW9kdWxlIChnbnUgaG9tZSkKLSAgIzp1 c2UtbW9kdWxlIChnbnUgcGFja2FnZXMpCi0gICM6dXNlLW1vZHVsZSAoZ251IHNlcnZpY2VzKQot ICAjOnVzZS1tb2R1bGUgKGdudSBob21lIHNlcnZpY2VzKQotICAjOnVzZS1tb2R1bGUgKGdudSBz ZXJ2aWNlcykKLSAgIzp1c2UtbW9kdWxlIChnbnUgc2VydmljZXMgY29uZmlndXJhdGlvbikKLSAg Izp1c2UtbW9kdWxlIChndWl4IGdleHApCi0KLSAgIzpleHBvcnQgKGhvbWUtZW1hY3Mtc2Vydmlj ZS10eXBlCi0JICAgIGhvbWUtZW1hY3MtY29uZmlndXJhdGlvbikpCi0KLShkZWZpbmUgZmlsZS1s aWtlcz8gKGxpc3Qtb2YgZmlsZS1saWtlPykpCi0KLShkZWZpbmUtY29uZmlndXJhdGlvbi9uby1z ZXJpYWxpemF0aW9uIGhvbWUtZW1hY3MtY29uZmlndXJhdGlvbgotICAocGFja2FnZXMKLSAgIChm aWxlLWxpa2VzIChsaXN0IChzcGVjaWZpY2F0aW9uLT5wYWNrYWdlICJlbWFjcyIpKSkKLSAgICJU aGUgcGFja2FnZXMgdGhpcyBjb25maWd1cmF0aW9uIHdpbGwgYWRkIHRvIGhvbWUtcHJvZmlsZS4g VXN1YWxseSB0aGVzZSB3aWxsIGJlIGVtYWNzLSogcGFja2FnZXMuIikKLSAgKGVhcmx5LWluaXQK LSAgIChsaXN0ICcoKSkKLSAgICJBIGxpc3Qgd2hvc2UgY29udGVudHMgd2lsbCBpbnNlcnRlZCBp bnRvIEBmaWxleyRYREdfQ09ORklHX0hPTUUvZW1hY3MvZWFybHktaW5pdC5lbH0iKQotICAoaW5p dAotICAgKGxpc3QgJygpKQotICAgIkEgbGlzdCB3aG9zZSBjb250ZW50cyB3aWxsIGluc2VydGVk IGludG8gQGZpbGV7JFhER19DT05GSUdfSE9NRS9lbWFjcy9pbml0LmVsfSIpCi0gIChleHRyYS1m aWxlcwotICAgKGZpbGUtbGlrZXMgJygpKQotICAgIkEgbGlzdCBvZiBmaWxlcyB0byBiZSBwbGFj ZWQgaW4gQGZpbGV7JFhER19DT05GSUdfSE9NRS9lbWFjcy99LiIpKQotCi0oZGVmaW5lIGhvbWUt ZW1hY3Mtc2VydmljZS10eXBlCi0gIChzZXJ2aWNlLXR5cGUgKG5hbWUgJ2VtYWNzLWNvbmZpZ3Vy YXRpb24pCi0JCShleHRlbnNpb25zCi0JCSAobGlzdCAoc2VydmljZS1leHRlbnNpb24KLQkJCWhv bWUtcHJvZmlsZS1zZXJ2aWNlLXR5cGUKLQkJCShsYW1iZGEgKGNvbmZpZykgKGhvbWUtZW1hY3Mt Y29uZmlndXJhdGlvbi1wYWNrYWdlcyBjb25maWcpKSkKLQkJICAgICAgIChzZXJ2aWNlLWV4dGVu c2lvbgotCQkJaG9tZS14ZGctY29uZmlndXJhdGlvbi1maWxlcy1zZXJ2aWNlLXR5cGUKLQkJCShs YW1iZGEgKGNvbmZpZykKLSAgICAgICAgICAgICAgICAgICAgICAgICAgYCgoImVtYWNzL2Vhcmx5 LWluaXQuZWwiCi0JCQkgICAgICwoc2NoZW1lLWZpbGUgImVhcmx5LWluaXQuZWwiCi0JCQkJCSAg IChob21lLWVtYWNzLWNvbmZpZ3VyYXRpb24tZWFybHktaW5pdCBjb25maWcpCi0JCQkJCSAgICM6 c3BsaWNlPyAjOnQpKQotCQkJICAgICgiZW1hY3MvaW5pdC5lbCIKLQkJCSAgICAgLChzY2hlbWUt ZmlsZSAiaW5pdC5lbCIKLQkJCQkJICAgKGhvbWUtZW1hY3MtY29uZmlndXJhdGlvbi1pbml0IGNv bmZpZykKLQkJCQkJICAgIzpzcGxpY2U/ICM6dCkpCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgLEAobWFwIChsYW1iZGEgKGZpbGUpIChsaXN0IChzdHJpbmctYXBwZW5kICJlbWFjcy8iIChz Y2hlbWUtZmlsZS1uYW1lIGZpbGUpKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBmaWxlKSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKGhvbWUtZW1hY3MtY29uZmlndXJhdGlvbi1leHRyYS1maWxlcyBjb25maWcpKSkp KSkpCi0JCShkZWZhdWx0LXZhbHVlIChob21lLWVtYWNzLWNvbmZpZ3VyYXRpb24pKQotCQkoZGVz Y3JpcHRpb24gIkNvbmZpZ3VyZXMgRW1hY3MgYW5kIGluc3RhbGxzIHBhY2thZ2VzIHRvIGhvbWUt cHJvZmlsZS4iKSkpCg== --000000000000dfa3d905eb7e0943--