base: Finally, some emacs on darwin (and some other stuff I guess)

This commit is contained in:
Charlotte Van Petegem 2024-07-19 11:03:21 +02:00
parent 5467282626
commit 15586a8f7c
81 changed files with 469 additions and 417 deletions

View file

@ -55,30 +55,26 @@
}; };
home-manager.users."charlotte.vanpetegem" = { home-manager.users."charlotte.vanpetegem" = {
programs = { programs.git = {
# Until I get emacs set up on this machine enable = true;
zsh.sessionVariables.EDITOR = "vim"; extraConfig = {
git = { branch.autosetuprebase = "always";
enable = true; github.user = "chvp";
extraConfig = { merge.conflictStyle = "diff3";
branch.autosetuprebase = "always"; pull.rebase = true;
github.user = "chvp"; rerere.enabled = true;
merge.conflictStyle = "diff3"; rebase.autoStash = true;
pull.rebase = true;
rerere.enabled = true;
rebase.autoStash = true;
};
ignores = [
".DS_Store"
".data"
".direnv"
".envrc"
".idea"
".dir-locals.el"
];
userEmail = "charlotte.vanpetegem@silverfin.com";
userName = "Charlotte Van Petegem";
}; };
ignores = [
".DS_Store"
".data"
".direnv"
".envrc"
".idea"
".dir-locals.el"
];
userEmail = "charlotte.vanpetegem@silverfin.com";
userName = "Charlotte Van Petegem";
}; };
home = { home = {

View file

@ -5,6 +5,7 @@ let
in in
{ {
imports = [ imports = [
./emacs
./nix ./nix
]; ];

View file

@ -0,0 +1,21 @@
{ config, pkgs, ... }:
let
username = config.chvp.username;
in
{
chvp.base.emacs.basePackage = pkgs.emacs;
services.emacs = {
enable = true;
package = config.chvp.base.emacs.package;
};
home-manager.users.${username} = {
home.packages = [
(pkgs.writeShellScriptBin "restart-emacs" ''
launchctl unload ~/Library/LaunchAgents/org.nixos.emacs.plist
launchctl load ~/Library/LaunchAgents/org.nixos.emacs.plist
launchctl start ~/Library/LaunchAgents/org.nixos.emacs.plist
'')
];
};
}

View file

@ -7,7 +7,6 @@
./mail ./mail
./network ./network
./nix ./nix
./phone-push
./smartd ./smartd
./ssh ./ssh
./sshd ./sshd

View file

@ -1,57 +1,18 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
let
username = config.chvp.username;
in
{ {
options.chvp.base.emacs = { chvp.base.emacs = {
fullConfig = lib.mkOption { basePackage = pkgs.emacs-pgtk;
readOnly = true;
default = builtins.readFile ./base-init.el + (lib.concatStringsSep "\n" config.chvp.base.emacs.extraConfig) + ''
(provide 'init)
;;; init.el ends here
'';
};
extraConfig = lib.mkOption {
default = [ ];
};
package = lib.mkOption {
readOnly = true;
default = pkgs.emacsWithPackagesFromUsePackage {
config = config.chvp.base.emacs.fullConfig;
package = pkgs.emacs-pgtk;
alwaysEnsure = true;
extraEmacsPackages = epkgs: lib.optional config.chvp.graphical.mail.enable epkgs.mu4e;
};
};
}; };
home-manager.users.${username} = { ... }: {
config = { services.emacs = {
chvp.base.zfs.homeLinks = [
{ path = ".cache/emacs"; type = "cache"; }
];
services.languagetool = {
enable = true; enable = true;
port = 15151; client.enable = true;
settings.cacheSize = 10000; socketActivation.enable = true;
}; package = config.chvp.base.emacs.package;
home-manager.users.charlotte = { ... }: {
services.emacs = {
enable = true;
client.enable = true;
socketActivation.enable = true;
package = config.chvp.base.emacs.package;
};
home = {
packages = [
(pkgs.writeShellScriptBin "emacs" ''${config.chvp.base.emacs.package}/bin/emacsclient -c "$@"'')
(pkgs.writeShellScriptBin "emacsclient" ''${config.chvp.base.emacs.package}/bin/emacsclient "$@"'')
];
sessionVariables = { EDITOR = "emacs"; };
};
xdg.configFile = {
"emacs/init.el".text = config.chvp.base.emacs.fullConfig;
"emacs/early-init.el".source = ./early-init.el;
};
}; };
}; };
} }

View file

@ -0,0 +1,21 @@
(use-package emacs-on-linux
:ensure nil ;; Not a real package, but a place to collect global settings for linux
:demand t
:config
;; Font configuration
(defun font-settings ()
"Setup font settings."
(when window-system (set-frame-font "Hack 9"))
(set-fontset-font t 'symbol "Noto Color Emoji")
(set-fontset-font t 'symbol "Symbola" nil 'append))
;; Make sure DISPLAY is set correctly in env.
(defun display-env-hack ()
"Hack DISPLAY env variable back into env."
(setenv "DISPLAY" ":0")
)
(if (daemonp)
(progn
(add-hook 'server-after-make-frame-hook #'font-settings)
(add-hook 'server-after-make-frame-hook #'display-env-hack))
(font-settings))
)

View file

@ -1,20 +1,5 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
{ {
chvp.base = {
emacs.extraConfig = [
''
;; Nix syntax support
(use-package nix-mode
:mode "\\.nix\\'"
)
''
] ++ lib.optional config.chvp.base.nix.enableDirenv ''
;; Direnv integration in emacs.
(use-package direnv
:config (direnv-mode)
)
'';
};
nix.gc.dates = if config.chvp.base.nix.slowGc then "daily" else "hourly"; nix.gc.dates = if config.chvp.base.nix.slowGc then "daily" else "hourly";
programs.command-not-found.enable = false; programs.command-not-found.enable = false;
} }

View file

@ -1,22 +1,5 @@
{ ... }: { ... }:
let
base = {
programs.tmux = {
enable = true;
clock24 = true;
extraConfig = ''
bind q kill-session
bind v run-shell "tmux setw main-pane-width $(($(tmux display -p '#{window_width}') * 70 / 100)); tmux select-layout main-vertical"
bind h run-shell "tmux setw main-pane-height $(($(tmux display -p '#{window_height}') * 70 / 100)); tmux select-layout main-horizontal"
set -g default-terminal "screen-256color"
set -sg escape-time 10
'';
keyMode = "vi";
};
};
in
{ {
home-manager.users.charlotte = { ... }: base; chvp.base.tmux.usersToConfigure = [ "charlotte" "root" ];
home-manager.users.root = { ... }: base;
} }

View file

@ -93,120 +93,123 @@ in
]; ];
chvp = { chvp = {
base = { base = {
emacs.extraConfig = emacs = {
let extraPackages = [ (epkgs: epkgs.mu4e) ];
mkAccountConfig = account: '' extraConfig =
(make-mu4e-context let
:name "${account.name}" mkAccountConfig = account: ''
:match-func (lambda (msg) (when msg (string-prefix-p "/${account.maildir.path}/" (mu4e-message-field msg :maildir)))) (make-mu4e-context
:vars '( :name "${account.name}"
(user-mail-address . "${account.address}") :match-func (lambda (msg) (when msg (string-prefix-p "/${account.maildir.path}/" (mu4e-message-field msg :maildir))))
(user-full-name . "${account.realName}") :vars '(
(mu4e-drafts-folder . "/${account.maildir.path}/${account.folders.drafts}") (user-mail-address . "${account.address}")
(mu4e-sent-folder . "/${account.maildir.path}/${account.folders.sent}") (user-full-name . "${account.realName}")
(mu4e-refile-folder . "/${account.maildir.path}/${account.folders.trash}") (mu4e-drafts-folder . "/${account.maildir.path}/${account.folders.drafts}")
(mu4e-trash-folder . "/${account.maildir.path}/${account.folders.trash}") (mu4e-sent-folder . "/${account.maildir.path}/${account.folders.sent}")
(message-sendmail-extra-arguments . ("--read-envelope-from" "--account" "${account.name}")) (mu4e-refile-folder . "/${account.maildir.path}/${account.folders.trash}")
) (mu4e-trash-folder . "/${account.maildir.path}/${account.folders.trash}")
) (message-sendmail-extra-arguments . ("--read-envelope-from" "--account" "${account.name}"))
''; )
hmConfig = config.home-manager.users.charlotte;
in
[
''
(use-package mu4e
;; Use mu4e included in the mu package, see emacs/default.nix
:ensure nil
:demand t
:after (vertico)
:hook
(mu4e-view-mode . display-line-numbers-mode)
(mu4e-view-mode . visual-line-mode)
(mu4e-compose-mode . chvp--mu4e-auto-dodona-cc-reply-to)
(mu4e-compose-mode . visual-line-mode)
(mu4e-compose-mode . (lambda () (setq use-hard-newlines nil)))
:custom
(mu4e-read-option-use-builtin nil "Don't use builtin autocomplete in mu4e")
(mu4e-completing-read-function 'completing-read "Use default completing read function")
(mu4e-maildir-initial-input "" "Don't have initial input when completing a maildir")
(mu4e-change-filenames-when-moving t "Avoid sync issues with mbsync")
(mu4e-maildir "${hmConfig.accounts.email.maildirBasePath}" "Root of the maildir hierarchy")
(mu4e-context-policy 'pick-first "Use the first mail context in the list")
(mu4e-attachment-dir "/home/charlotte/downloads/" "Save attachments to downloads folder")
(mu4e-compose-dont-reply-to-self t "Don't reply to myself on reply to all")
(mu4e-compose-format-flowed t "Send format=flowed mails when use-hard-newlines gets enabled")
(fill-flowed-display-column 1000000000000 "Dont fill when decoding flowed messages, let visual-line-mode handle it")
(gnus-treat-fill-long-lines nil "Let visual-line-mode handle filling")
(mu4e-confirm-quit nil "Don't confirm when quitting")
(mu4e-headers-include-related nil "Don't show related messages by default")
(mu4e-headers-skip-duplicates nil "Show duplicate emails")
(message-kill-buffer-on-exit t "Close buffer when finished with email")
(mm-verify-option 'known "Always verify PGP signatures (known protocols)")
(mm-discouraged-alternatives '("text/html" "text/richtext") "Discourage showing HTML views")
(gnus-buttonized-mime-types '("multipart/signed") "Make sure signature verification is always shown")
(mml-secure-openpgp-sign-with-sender t "Sign mails with the sender")
(sendmail-program "msmtp" "Use msmtp to send email")
(message-sendmail-f-is-evil t "Remove username from the emacs message")
(message-send-mail-function 'message-send-mail-with-sendmail "Use sendmail to send mail instead internal smtp")
(message-cite-reply-position 'below "Bottom posting is the correct way to reply to email")
:config
;; mu4e should just open in the currently focused window instead of taking up the whole frame
(add-to-list 'display-buffer-alist
`(,(regexp-quote mu4e-main-buffer-name)
display-buffer-same-window))
(setq mu4e-contexts (list ${lib.concatStringsSep "\n" (map mkAccountConfig (lib.attrValues hmConfig.accounts.email.accounts))}))
(add-to-list
'mu4e-bookmarks
'(:name "Combined inbox" :query "maildir:/personal/INBOX or maildir:/posteo/INBOX or maildir:/rodekruis-eerstehulp/INBOX" :key ?i :favorite t)
) )
(defun chvp--mu4e-dodona-cc-reply-to () '';
"Add dodona@ugent.be in cc and reply-to headers." hmConfig = config.home-manager.users.charlotte;
(interactive) in
(save-excursion (message-add-header "Cc: dodona@ugent.be\nReply-To: dodona@ugent.be\n")) [
) ''
(defun chvp--mu4e-auto-dodona-cc-reply-to () (use-package mu4e
"Set dodona@ugent.be in CC and Reply-To headers when message was directed to dodona@ugent.be" ;; Use mu4e included in the mu package, see emacs/default.nix
(let ((msg mu4e-compose-parent-message)) :ensure nil
(when (and msg (mu4e-message-contact-field-matches msg :to "dodona@ugent.be")) (chvp--mu4e-dodona-cc-reply-to)) :demand t
:after (vertico)
:hook
(mu4e-view-mode . display-line-numbers-mode)
(mu4e-view-mode . visual-line-mode)
(mu4e-compose-mode . chvp--mu4e-auto-dodona-cc-reply-to)
(mu4e-compose-mode . visual-line-mode)
(mu4e-compose-mode . (lambda () (setq use-hard-newlines nil)))
:custom
(mu4e-read-option-use-builtin nil "Don't use builtin autocomplete in mu4e")
(mu4e-completing-read-function 'completing-read "Use default completing read function")
(mu4e-maildir-initial-input "" "Don't have initial input when completing a maildir")
(mu4e-change-filenames-when-moving t "Avoid sync issues with mbsync")
(mu4e-maildir "${hmConfig.accounts.email.maildirBasePath}" "Root of the maildir hierarchy")
(mu4e-context-policy 'pick-first "Use the first mail context in the list")
(mu4e-attachment-dir "/home/charlotte/downloads/" "Save attachments to downloads folder")
(mu4e-compose-dont-reply-to-self t "Don't reply to myself on reply to all")
(mu4e-compose-format-flowed t "Send format=flowed mails when use-hard-newlines gets enabled")
(fill-flowed-display-column 1000000000000 "Dont fill when decoding flowed messages, let visual-line-mode handle it")
(gnus-treat-fill-long-lines nil "Let visual-line-mode handle filling")
(mu4e-confirm-quit nil "Don't confirm when quitting")
(mu4e-headers-include-related nil "Don't show related messages by default")
(mu4e-headers-skip-duplicates nil "Show duplicate emails")
(message-kill-buffer-on-exit t "Close buffer when finished with email")
(mm-verify-option 'known "Always verify PGP signatures (known protocols)")
(mm-discouraged-alternatives '("text/html" "text/richtext") "Discourage showing HTML views")
(gnus-buttonized-mime-types '("multipart/signed") "Make sure signature verification is always shown")
(mml-secure-openpgp-sign-with-sender t "Sign mails with the sender")
(sendmail-program "msmtp" "Use msmtp to send email")
(message-sendmail-f-is-evil t "Remove username from the emacs message")
(message-send-mail-function 'message-send-mail-with-sendmail "Use sendmail to send mail instead internal smtp")
(message-cite-reply-position 'below "Bottom posting is the correct way to reply to email")
:config
;; mu4e should just open in the currently focused window instead of taking up the whole frame
(add-to-list 'display-buffer-alist
`(,(regexp-quote mu4e-main-buffer-name)
display-buffer-same-window))
(setq mu4e-contexts (list ${lib.concatStringsSep "\n" (map mkAccountConfig (lib.attrValues hmConfig.accounts.email.accounts))}))
(add-to-list
'mu4e-bookmarks
'(:name "Combined inbox" :query "maildir:/personal/INBOX or maildir:/posteo/INBOX or maildir:/rodekruis-eerstehulp/INBOX" :key ?i :favorite t)
)
(defun chvp--mu4e-dodona-cc-reply-to ()
"Add dodona@ugent.be in cc and reply-to headers."
(interactive)
(save-excursion (message-add-header "Cc: dodona@ugent.be\nReply-To: dodona@ugent.be\n"))
)
(defun chvp--mu4e-auto-dodona-cc-reply-to ()
"Set dodona@ugent.be in CC and Reply-To headers when message was directed to dodona@ugent.be"
(let ((msg mu4e-compose-parent-message))
(when (and msg (mu4e-message-contact-field-matches msg :to "dodona@ugent.be")) (chvp--mu4e-dodona-cc-reply-to))
)
)
;; Never actually quit mu4e, just close the current buffer (making sure the modeline is still visible)
(defalias 'mu4e-quit 'chvp--kill-current-buffer)
(define-advice mu4e--context-ask-user
(:around (orig-fun &rest args) mu4e--context-ask-user-completing-read)
"Replace `mu4e-read-option` by general-purpose completing-read"
(cl-letf (((symbol-function 'mu4e-read-option)
(lambda (prompt options)
(let* ((prompt (mu4e-format "%s" prompt))
(choice (completing-read prompt (cl-mapcar #'car options) nil t))
(chosen-el (cl-find-if (lambda (option) (equal choice (car option))) options)))
(if chosen-el
(cdr chosen-el)
(mu4e-warn "Unknown option: '%s'" choice))))))
(apply orig-fun args)))
(mu4e 'background)
:general
(lmap "m" '(mu4e :which-key "mail"))
;; Unmap SPC in the mail view so we can still use the leader.
(lmap mu4e-view-mode-map "" nil)
(lmap mu4e-compose-mode-map
"SPC s" '(mml-secure-message-sign-pgpmime :which-key "Sign")
"SPC c" '(mml-secure-message-encrypt-pgpmime :which-key "Encrypt")
"SPC d" '(chvp--mu4e-dodona-cc-reply-to :which-key "Dodona support headers")
"SPC f" '(mu4e-toggle-use-hard-newlines :which-key "Toggle format=flowed/hard newlines")
) )
) )
;; Never actually quit mu4e, just close the current buffer (making sure the modeline is still visible)
(defalias 'mu4e-quit 'chvp--kill-current-buffer) (use-package visual-fill-column
(define-advice mu4e--context-ask-user :custom (visual-fill-column-enable-sensible-window-split t "Sensibly split windows in visual-fill-column-mode")
(:around (orig-fun &rest args) mu4e--context-ask-user-completing-read) :hook (visual-line-mode . visual-fill-column-mode)
"Replace `mu4e-read-option` by general-purpose completing-read"
(cl-letf (((symbol-function 'mu4e-read-option)
(lambda (prompt options)
(let* ((prompt (mu4e-format "%s" prompt))
(choice (completing-read prompt (cl-mapcar #'car options) nil t))
(chosen-el (cl-find-if (lambda (option) (equal choice (car option))) options)))
(if chosen-el
(cdr chosen-el)
(mu4e-warn "Unknown option: '%s'" choice))))))
(apply orig-fun args)))
(mu4e 'background)
:general
(lmap "m" '(mu4e :which-key "mail"))
;; Unmap SPC in the mail view so we can still use the leader.
(lmap mu4e-view-mode-map "" nil)
(lmap mu4e-compose-mode-map
"SPC s" '(mml-secure-message-sign-pgpmime :which-key "Sign")
"SPC c" '(mml-secure-message-encrypt-pgpmime :which-key "Encrypt")
"SPC d" '(chvp--mu4e-dodona-cc-reply-to :which-key "Dodona support headers")
"SPC f" '(mu4e-toggle-use-hard-newlines :which-key "Toggle format=flowed/hard newlines")
)
) )
(use-package visual-fill-column (use-package adaptive-wrap
:custom (visual-fill-column-enable-sensible-window-split t "Sensibly split windows in visual-fill-column-mode") :hook (visual-fill-column-mode . adaptive-wrap-prefix-mode)
:hook (visual-line-mode . visual-fill-column-mode) )
) ''
];
(use-package adaptive-wrap };
:hook (visual-fill-column-mode . adaptive-wrap-prefix-mode)
)
''
];
zfs.homeLinks = [ zfs.homeLinks = [
{ path = "mail"; type = "data"; } { path = "mail"; type = "data"; }
{ path = ".cache/mu"; type = "cache"; } { path = ".cache/mu"; type = "cache"; }

View file

@ -2,7 +2,10 @@
{ {
imports = [ imports = [
./emacs
./nix ./nix
./phone-push
./tmux
./zfs ./zfs
./zsh ./zsh
]; ];

View file

@ -180,23 +180,6 @@
(project-vc-merge-submodules nil "Don't consider submodules as the same project") (project-vc-merge-submodules nil "Don't consider submodules as the same project")
:config :config
;; Font configuration
(defun font-settings ()
"Setup font settings."
(when window-system (set-frame-font "Hack 9"))
(set-fontset-font t 'symbol "Noto Color Emoji")
(set-fontset-font t 'symbol "Symbola" nil 'append))
;; Make sure DISPLAY is set correctly in env.
(defun display-env-hack ()
"Hack DISPLAY env variable back into env."
(setenv "DISPLAY" ":0")
)
(if (daemonp)
(progn
(add-hook 'server-after-make-frame-hook #'font-settings)
(add-hook 'server-after-make-frame-hook #'display-env-hack))
(font-settings))
;; Always display column number in mode line ;; Always display column number in mode line
(column-number-mode) (column-number-mode)
) )
@ -208,12 +191,6 @@
:diminish (flycheck-mode) :diminish (flycheck-mode)
) )
(use-package flycheck-languagetool
:hook (text-mode . flycheck-languagetool-setup)
:custom
(flycheck-languagetool-url "http://localhost:15151")
)
;; Annotations in selection interface ;; Annotations in selection interface
(use-package marginalia (use-package marginalia
:after (vertico) :after (vertico)
@ -291,9 +268,6 @@
) )
) )
;; Citations with citeproc in org
(use-package citeproc)
;; Sorting when filtering ;; Sorting when filtering
(use-package prescient (use-package prescient
:custom :custom
@ -321,7 +295,7 @@
:demand t :demand t
:after cape :after cape
;; This is not very nice, but let's just assume that development machines have my nixos-config checked out ;; This is not very nice, but let's just assume that development machines have my nixos-config checked out
:custom (tempel-path "/home/charlotte/repos/nixos-config/modules/base/emacs/snippets/*.eld") :custom (tempel-path "~/repos/nixos-config/modules/shared/base/emacs/snippets/*.eld")
:general :general
(lmap (lmap
"t i" '(tempel-insert :which-key "Insert template") "t i" '(tempel-insert :which-key "Insert template")

View file

@ -0,0 +1,54 @@
{ config, lib, pkgs, ... }:
let
username = config.chvp.username;
in
{
options.chvp.base.emacs = {
basePackage = lib.mkOption {
example = pkgs.emacs.pgtk;
};
extraConfig = lib.mkOption {
default = [ ];
};
extraPackages = lib.mkOption {
default = [ ];
};
fullConfig = lib.mkOption {
readOnly = true;
default = builtins.readFile ./base-init.el + (lib.concatStringsSep "\n" config.chvp.base.emacs.extraConfig) + ''
(provide 'init)
;;; init.el ends here
'';
};
package = lib.mkOption {
readOnly = true;
default = pkgs.emacsWithPackagesFromUsePackage {
config = config.chvp.base.emacs.fullConfig;
package = config.chvp.base.emacs.basePackage;
alwaysEnsure = true;
extraEmacsPackages = epkgs: builtins.foldl' (xs: ys: xs ++ ys) [ ] (builtins.map (fun: (fun epkgs)) config.chvp.base.emacs.extraPackages);
};
};
};
config = {
chvp.base.zfs.homeLinks = [
{ path = ".cache/emacs"; type = "cache"; }
];
home-manager.users.${username} = { ... }: {
home = {
file = {
".emacs.d/init.el".text = config.chvp.base.emacs.fullConfig;
".emacs.d/early-init.el".source = ./early-init.el;
};
packages = [
(pkgs.writeShellScriptBin "emacs" ''${config.chvp.base.emacs.package}/bin/emacsclient -c "$@"'')
(pkgs.writeShellScriptBin "emacsclient" ''${config.chvp.base.emacs.package}/bin/emacsclient "$@"'')
];
sessionVariables = { EDITOR = "emacs"; };
};
};
};
}

View file

@ -36,7 +36,22 @@ in
}; };
config = { config = {
chvp.base.zfs.homeLinks = (lib.optional config.chvp.base.nix.enableDirenv { path = ".local/share/direnv"; type = "cache"; }); chvp.base = {
emacs.extraConfig = [
''
;; Nix syntax support
(use-package nix-mode
:mode "\\.nix\\'"
)
''
] ++ lib.optional config.chvp.base.nix.enableDirenv ''
;; Direnv integration in emacs.
(use-package direnv
:config (direnv-mode)
)
'';
zfs.homeLinks = (lib.optional config.chvp.base.nix.enableDirenv { path = ".local/share/direnv"; type = "cache"; });
};
nix = { nix = {
gc = { gc = {
automatic = true; automatic = true;

View file

@ -1,6 +1,7 @@
{ config, lib, pkgs, ... }: { config, lib, pkgs, ... }:
let let
username = config.chvp.username;
phone-push = pkgs.writeShellScriptBin "phone-push" '' phone-push = pkgs.writeShellScriptBin "phone-push" ''
curl $(cat ${config.age.secrets."files/services/phone-push-url".path}) -d "$(hostname): $@" curl $(cat ${config.age.secrets."files/services/phone-push-url".path}) -d "$(hostname): $@"
''; '';
@ -10,6 +11,6 @@ in
age.secrets."files/services/phone-push-url" = { age.secrets."files/services/phone-push-url" = {
file = ../../../../secrets/files/services/phone-push-url.age; file = ../../../../secrets/files/services/phone-push-url.age;
owner = "charlotte"; owner = username;
}; };
} }

View file

@ -0,0 +1,29 @@
{ config, lib, ... }:
let
username = config.chvp.username;
base = {
programs.tmux = {
enable = true;
clock24 = true;
extraConfig = ''
bind q kill-session
bind v run-shell "tmux setw main-pane-width $(($(tmux display -p '#{window_width}') * 70 / 100)); tmux select-layout main-vertical"
bind h run-shell "tmux setw main-pane-height $(($(tmux display -p '#{window_height}') * 70 / 100)); tmux select-layout main-horizontal"
set -g default-terminal "screen-256color"
set -sg escape-time 10
'';
keyMode = "vi";
};
};
in
{
options.chvp.base.tmux.usersToConfigure = lib.mkOption {
default = [ username ];
};
config.home-manager.users = builtins.foldl' (a: b: a // b) { } (
builtins.map (name: { "${name}" = base; }) config.chvp.base.tmux.usersToConfigure
);
}

View file

@ -1,7 +1,7 @@
let let
kholinar = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOL8MzChayhcVTfZvE3/ExwXpq2+LbihjzUVlKeIGoOL"; kholinar = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOL8MzChayhcVTfZvE3/ExwXpq2+LbihjzUVlKeIGoOL";
lasting-integrity = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMKJmeY7j5LxWVv3fKzqG4Bvg/ZhOp8iwk0utpyMWMSk"; lasting-integrity = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMKJmeY7j5LxWVv3fKzqG4Bvg/ZhOp8iwk0utpyMWMSk";
thaylen-city = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIK/6GDhlqX3/al9jx48DXS/uCwfwrdZty1rl6N8X8TZ8"; thaylen-city = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIC/sIkgf7aYX/JcWWp/dCHgq7sJ5WDYYyWSn3DvkW4gB";
urithiru = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOrzOpyzDc5BVtAeb5//PnMRcp+9B+DjfU7p2YpaH6a2"; urithiru = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOrzOpyzDc5BVtAeb5//PnMRcp+9B+DjfU7p2YpaH6a2";
nixosHosts = [ nixosHosts = [
kholinar kholinar

Binary file not shown.

View file

@ -1,9 +1,9 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 9PfEBQ Al9w5bfk/Tc+YInyZvvYXLMRceg92hEKBOET2zfz4BM -> ssh-ed25519 9PfEBQ OBwYeJEj4MkqWhkxg6xEJ2x51cYqjurR8qTkrJCXYgQ
pkHYSL71lUGsUYbZvC6A7wSLoJH5USTiruF0brH7nMk u4zcz8jufXXye0C86uY9UxWKxdL/HXuC2Z8K+scypF0
-> ssh-ed25519 s9rb8g FS6ojiwhROG9+jaufKVSyLCjvKTC9bXio5qrT2WoRio -> ssh-ed25519 s9rb8g Af8H6FbOReL9Y4XtqQLhl1+8EkklhIO8hnBcB1SvHFY
bFUEdCV+WvXvoKfmlXV5TZDMlMBxZeM+A5KWy0yqnN8 HFNX/PNtFlLwhQnyKq9zOBRxdK1vTWUEXL6BWwcZD/E
-> ssh-ed25519 +xxExQ DDLASAwsuGdicD3/RW2spfERXHRx6S2sYO+JpuPZU1I -> ssh-ed25519 +xxExQ RAac+ND/ZAii4oQa00k71pzPDvJpSpn3O+xiGBCJzzI
qt2Csatd6lUqsYqs2xGdUMl9/+jbPf5lgkIMds6jbb4 GmxhE1S6wTidQ0PJGnHYu3nXPkFtY19aJ8StEAt7P+0
--- IQKIkHMMoH2RWeWLADU2ETpgbpXuAkXG7qLsWCnnVFI --- fVEspNtjZihDfhoEnBlOphzn13LlZt/A9xHYMtdCaDU
´uC Á_†ù;ÝPYN•dR™+å<>çüdìŠÛ¨\è<>p<EFBFBD>3x?ÝÖÙP5•T~®ÈF…(Á·ŸFN³öÙ§¿ª=<Z£õ¯Ç?£ó5ÁqÀMRk.{&¸#J¸ <M«}\│¾d’Ðþ ÏÀ ¬+ª5Ñ ¢3/P™û½@jõDÜ.¾mÃÅ †Ôb±&¦€àÆ'¡ƒGõ_¸ºüx'Z>š ˆ G«¼4¬á̉a¶péüQ€ˆ;âÔñC<MM_ÉGƽëªþ<C2AA> æ›+祳ø–Íß&·œ>

View file

@ -1,11 +1,12 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 aUd9Ng Ngf2+KAjgBE8pH0rsl++xQjJk5XkwviwdidPqpWcOl8 -> ssh-ed25519 aUd9Ng lHYH9iWVPaRNjZH8rCiD1gsbP7nxMzfuSO6Toox/JCI
Tve2s4g/flLPXv6JSmqrvkpIPmcopM1sfR9GqKI1U54 BlqvdJ9eg36H3vegOo4BZEdXRYtXvAKi66Bk8Gm360g
-> ssh-ed25519 NgrfGA 4i/9D5pkGgv8ohaaafSyBZNgLoYER3h1aevarmW/OUw -> ssh-ed25519 KOkamg uMsGZ1Qin1iE8Edv8GL3EHYLCnIh8My1THK7SP19K1U
po5I+04HnktXGAqTJl3yZHfAEeiqsJo4Vt0S38bsXnY Uu5Pw/Fmti77/lzKawzQO8McGK5tqXExV+6v9C0ZIGE
-> ssh-ed25519 s9rb8g mVt4ARRrrKS9G2GTmqEBtXiTtE9sdlddzHSOGtNmp2E -> ssh-ed25519 s9rb8g zsGDPWCWBsUdLFnFyuF1f0bmOKcAiTW7GoOVKLcQP0w
S1FKwL9vrsyMr49JfAmNfHD1hp0S3/xDoAQTl0SAnhM 7YISJdTbTIz/V8y4LQ7kfXd4wTp7WHjDMMv8Rn3+AQg
-> ssh-ed25519 +xxExQ Wr/9w3pPmTBo0Vm7ddBSKWFjxKHs4E3INn05ZGKsE0Y -> ssh-ed25519 +xxExQ o9LrOHgQ5AhQVkdhUJCrhOFcwVHHHNJQHygi2zTuvRs
J3XuHBubScydT68qUxsEztEswNyOhbiNDZeGFElBmSE JtlJn7ZWBcF8zC8SA/GBWOQDp9232jD7TdfEdFI05Kg
--- GmIpqR8FRApzF9zzgGoIRrU6z1UzopLGwKjtrnbIHaM --- kfYqkgrP70TsukK7iAS5WlM9WjWCZ+spD4cnyJja7Mw
ýÊó£xÿ:\¿Š@Š˜Ñr·Õ\+B 0Ž| 9À>ÛÓ)2g<ÎŒç€nTÛïŽ=yn³<C2B3>ÖQP¿™ÿ¦?*ŒØÇÒœù??ÈÞ!ªß)è‰ä(&†Á<E280A0>ÏäKê6µ´õ‡<C3B5>þË𨉺ÞÉf· ±…Hð¦:¦J>l¦ßÅ }D§".#Jè™»YF«•„I9¤Û><61>ò{XZ xËk<C38B>nE:+CîX#tà±Mæb·dcI6ÅzSŒFá<>„ÅÖËŽ¹Ød<C398>ÐźCË<>xÓ£Py˜\¢i2©e…Ü!U
jÑÙ(Jâ ð<C2A0>oYô§ôub9šðX\h

Binary file not shown.

View file

@ -1,9 +1,9 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 hKAFvQ X+kioe04/0fPzawSsShY7MjQhDFUUlRgiMzfVbSlM3A -> ssh-ed25519 hKAFvQ 9nbJtYGBFo/tZQjYX2tytxwy1jkd+775m1Op9I1OWSY
d6YccrquevgJQZVs1dGLIljI3h9/WhScB0xtd9/O3mU hPesuTb/HA+Jv48jO7BHkGb3X5f7P5Bmxtsz5n23NHk
-> ssh-ed25519 s9rb8g n+WC1SnfwnFVRmm9lFNa+f5AqIrFZEgc1c2E5aaxF0I -> ssh-ed25519 s9rb8g JEQXx0/hjsd28jCO3OC8eK5FNjKQsvcNqPWEuJ9lGGY
STwK4vNacIrhSPLdYzwe6iu+CtvoxRt8/QegbpiyyO0 8XgscDt7uWS15teyogZMszc88ftFaj7Svy787NvP2+0
-> ssh-ed25519 +xxExQ MRO3mQYR+utCVb8qzNq6ulE/LJutjOG7Eij1Chh+ink -> ssh-ed25519 +xxExQ zofMdAEYBmbDXZ3wYEAQJQBIvmPCiYMTf6qli6MXmj8
nZZKx1RE91B9CJTHQPiYcXYBCveksf8wLy4/RBen6+Q 2C3du1bqydUTJj3+blZLn5pfXEcbnFNeL6fx7sapnAc
--- ms6pS/iHB+Ye3uPFuxc+TTYzGpSFJlWEkaA9qUxIqSA --- vuaMyvxmy7QQupYaWU2yaneoiRvwMdAwnmmc86EHrss
'<27>Y£$绡U׊—½~a¶<E28099>Ûð[¬ñˆ—¯íuª8ˆd:Fd<46>ñ¸iPaükF2á<32>ZkI¬;f:óZPx¸Zóž°¸ \­p±«ìâàWË2"yëÂÚ|l<>HTU>cðYo³²]ý艭º“Ç"oe¹ðÌ÷ýd¢o×áÿâ:¡ßç&.<2E>¯Ýxiõ~

View file

@ -1,15 +1,15 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 aUd9Ng pQETVQzykXKDEWnVDFT/caTHYy4wWU+MrpgT4UIkgV0 -> ssh-ed25519 aUd9Ng 83H9lUAR2pOwx3DQgo4pHKD2xRnmtoTHoiavedjYq3Q
M0QhoWRJpolZT0QynIxCJZ/F1+4Cw45DtjeLHanpGKQ Xzs/51VvjvtRYgmqAt4xCH7kY1jLKqesy0ravaIfpBo
-> ssh-ed25519 hKAFvQ FUT9qyIkKHocQ+h1SiE3V2C/s2hAWZaly5dwVMpRgjk -> ssh-ed25519 hKAFvQ qW6IuLwpQFJGcq+9ybfILEQClUhqj45tGfX5f4qPWS0
/D7tgmoLjowFOR9fTy738lHcB+JRYI0uXPB6J63/s8w a7aC78K608WMetBstXq3dyvVYDQAvsHRLNoqpQrA6E8
-> ssh-ed25519 NgrfGA obgob2WHInpaB+M24yrR5ri7iNA92CF76Co9+eAUmxk -> ssh-ed25519 KOkamg eEeg6H1H/gVk2IVXj02e2ic4Tzj67SOJFtmY8zXbCxU
I2nDO2NHUr5Yuae8X79Iw+dZgHFmJe6igm2IqRm99qo Tqr4m9Nvyvcba1e+E7kXCmWE5bg8jZpJxu6YJ36enn4
-> ssh-ed25519 9PfEBQ 9mGXMx+rDaD0zDrcYsPGnXbwJahi3DURw3X6IJw5pFQ -> ssh-ed25519 9PfEBQ YjN9I7lrziU40JZx+zo3czQAOXoacNhdFNhGDd4u8Do
5DihlvVFeMuDB+MLsSJ48NphFBNGL/yk8+tWsIQXk4g bWUPvlHF4plpeIVd+1fjjxaTxQOa8uc+QYfiD2X62O8
-> ssh-ed25519 s9rb8g 1q+6aynSpaw1xufi83VrR+Uh1Y4cwHDHlJ9924FTszQ -> ssh-ed25519 s9rb8g sKF+XsmeWQINI4Ais+uPcuMrUu8diB0Nbzz0ls7SgAg
miCaw5TA5kFLP76kw+bZLMCzdO0pLhbpmC+oxD/UVMY oW17zoimeyDxDhbro1kxPwCgJ4hoNtWqWvrMMbs2clA
-> ssh-ed25519 +xxExQ C5oU1fEkSPP7NEeLkv8YxCDf3o0rEA2LcVGcDnAZdXU -> ssh-ed25519 +xxExQ vQC2ADmhnGk31gWWVpRaTuulz3XRDwyw9Ios+v+R02Y
Dmvy3xBjQmBleoTcbV9GYyIbdT2Ftxj7bgg1st9oIlg HJYUtDgZz6b8lEzuUy5MR/RwCesY22PgaWLhTeqKWos
--- eVCy3BJs//fdUOnJxrUF4c0eRo9VALMlnlEscaBLoVU --- F3Wdle52nSEBtwmIAKVH8rH8vm0yVuGo6ADeEpv4i0o
…mP!I~„Ô”Ñíù¢vÌ>åds^‰";£Ú*‡?®óÁPŠÌ'î¦TUÖ1!9 +u³Î<ylqw?Ì: ¥M…Án“¹ˆî ÐO\ìK­2`£™:„•R`æ«ð·àó@hcZÈœ¬Î½¨c0¦þÿ)ü ©'³ã­ÓØÈ©×dÁÆä)¡Yˆ—*HÌpDõ,´Œ

View file

@ -1,9 +1,9 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 9PfEBQ 5PKDxL/+I624JZChljTVmrbhNH9KvdU3HbcJdkgQbwY -> ssh-ed25519 9PfEBQ tbBzj9eqdr7pIQfGBUQ5d1uqpi4QlUk1dvgbxMwgrUs
RQwLcXy0aVZ/aB/ROMptlyxfLAA6WX6yui5sSXZWUIA mDK9MayG0NR1vSL1hCMvVJa/E51R4KrvcmYNeasyd+4
-> ssh-ed25519 s9rb8g DT8lHm866wLGqtJZorQtj/9P2rY/i716PP8eqPMxNDs -> ssh-ed25519 s9rb8g e4cryyVo/HTaaSLVIC4kMG21BnsoH7bRplWEOjYnwHY
/FoXLJN9BgA/VPUkkXud4vQ0lL6mOFBP6B9/ciqxg40 E/TYuR1qLghObgIkpPq4bKM3PO4ic5GbBMULcGqRrKc
-> ssh-ed25519 +xxExQ 77nLl/Nw7mkZm0xX8wqJVRmExXKrOMnRyZFzFBxJ9go -> ssh-ed25519 +xxExQ UqbDMy/Uhrgme1bPhTQECNQLFN3wGMXCYcLASWGjz3c
spnMlCKiAoXZWtT1jOkC5E8zfNHhSdyGYZdxrOHz09Y 4kDDmlRvD+H3KzQisR55xMV4pY8hEyzEpvATy/6zfSU
--- 8JiOVhWL85urBa5GCe4k70o0tdlGAxFiNqVRCU/YXCU --- zCwuIqNRnSKWN0h/DWaSPfJXuhNYtvPU7N7jrTdPOW0
øeœ²Í‡erij¼ð6ëèð<C3B0>Zð©B@aÐnáI´2 B­ÔìëK¥;%ªÂ &<Nmû ñá¢}ô£ó:ÄsOmV)?X<x4™¬ DCO?8äRv8/S“ÔCo•êü¨ýs²6 Âr"`ä…ÂõOT<ÆýÆíŸëm»dBÕáUþ…Ä'ÚÖщjhK~„Žû¤þ

Binary file not shown.

View file

@ -1,11 +1,12 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 hKAFvQ TLac+ZIPuJ2JPVVVbadvbn8hMZqbJadmP4lmr/ws6TY -> ssh-ed25519 hKAFvQ cx9ItWeUwN9GLhB7kKdy9FFmb9we5EUhIaQjrfMMp18
RtYiEF3mHwoR2jQWBsxHcOI8EfD2Wk1DoFS7oWa8oKA Z8MrmW7qvI9Kx+E6jmFMWNNa5237npyG4U76eJ3cN30
-> ssh-ed25519 9PfEBQ RdJxmXdOBDJhnYUl3qXCqrZ2oyua5qbpvZPj5KxmmUI -> ssh-ed25519 9PfEBQ FNJUqFCwcWgBWaE41mvB8IR2krjGeMCxHeLr9k8Jaxk
fUA2zPVCPnPSX6KTX9N2mEyE9Bu3PFpzxrvX0StBTXI znnUEBq/QvLm2bNLoFCPs3pKs3Oilum/qz4NKm3JoC0
-> ssh-ed25519 s9rb8g To84DdDVG75Yljv0eeU30MGZklLst94eIydNq1mX/Do -> ssh-ed25519 s9rb8g 1e4iv1b5IlSIQv5lUF7uRC/KxP7No50Nh8ki/OLW2AI
vblYYFm7KhEyMZ7Md2QcTn3KYLStn3/Pl4PUAfhkdS0 XOPfG+B8afiiHg6RD9/W7z0J/xzhbjyP8yFzM1fQ+p4
-> ssh-ed25519 +xxExQ KTu/49yzHcXRK2pI6VOORp60di2QmjF35f+Z7D/asQo -> ssh-ed25519 +xxExQ o22iu8kuRPrVs8y9k2yjnihO72175Vz4V/QWy5pgKBg
FMZw1YnJ6lOlx5FJ1ykdZf3AVsorBj8agAuZHHCtN3g YsrHSsNbbP27Au/gWz09qWQ0JIYA24VUqtCZBnmBdzY
--- wFbM/whxnR2gic8s0wKt+ILi+kj101ZW1AvprejwDBU --- YVfdasxpTXWfsrt+0A2oyFT8bsFvgiOkE1a3wtTEbeg
V mzÏ´<y4<¿o \ü¼cûVÄâ™Û÷Ÿ24·®Ê×kÅÌÞj÷ëç¡W5Ár\#¿…F+×ç Í<16>®©7¼•V¡ðÙþçiÉ æç*¶0©Œ½örÔh©™<C2A9>°5Afi7<69>yzNú'ÌÆ×£ñÜ^<5E>µ)ÈÖâìªT¯p dXGaÌEñä— æ_øˆ‰T<E280B0>3Ø'|—+ æ<>‡$;˜Û°Åv¹4¨é tiÍ/À€>Û·a½`ÞÌ+G¯ 3<0F>Zål+Éôôô {£Š‰¨ö ;Ê¥]ö·(^Àb÷<62>ž·2
œt7£·y˜l9„oBÍf£Äò!ªeÕÖâ«ïß

View file

@ -1,9 +1,10 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 hKAFvQ X7EAdaUPafxDxims88HpsZ251MerWznlta4yBugyHS4 -> ssh-ed25519 hKAFvQ veEzQ9tL3xC+F+xa14D9r1NViwM+j2zhBdqEJWK1+W0
VWuYwkWNimwLQT+mjWg+qI1I47eRulJy5JGbab0UCs8 EnTOqpFL5xY6LsTLDX2+XLsYlPJfH+luphQPZfaYKK4
-> ssh-ed25519 s9rb8g pt1zPpk8zbtPB8b8g2fkjsp40b1MmEMhrIgTVvfYXCs -> ssh-ed25519 s9rb8g tWuzPLOjpXsYBBnY68CxxZDHyQYl0ukfgpWwjOysSB8
M3PvJwkpZ6m4Q5pvl9GrSCSTL8hnQHcQQx2lk1gaozs Y48zV1wJO+TyTTwP4Sh427XgGTlD3UvuVqPmayO9cQ0
-> ssh-ed25519 +xxExQ ZZ/S7cV0unkUHrPFXrwcqaNYdCWBooU0dp2CQyoo00U -> ssh-ed25519 +xxExQ zo1yyXjA7UuQC7D/2IHdxJPdh3mQo5NQ/MuiK2EbxHc
2bFH2pEjh9B+NnCitsNekmO2nM7vaC5SWEdOGe7gu9s 6eF/vjmRxaB6edAmi+I+pXUIJWIphz9UqfWZQ2DDEeo
--- 8L0k2pfVMQZT3DI5sbGmIsDdV/6MLrKOZkNVDEO+z7Q --- MyvOfV8zBX7v/QesdFBVAF4z168js/lDGG8lxc6J4K0
Sõ„ªFPÿMgTÞÐ\-|_ܦ)O3Ðhý1ú…ê´q2ö|¤ÜêÖÒƒ<C392>y¶^í¦²Ô6èq{îÁ<C3AE>t <EFBFBD>
<EFBFBD> ~<7E>x8<> <18><><EFBFBD>ڕ<0F><30><01>v<EFBFBD>w<13>4<EFBFBD><34>Ths<68><1F><>j<EFBFBD>g<EFBFBD>X<EFBFBD><58>滝 +<2B><>T<EFBFBD><54>

View file

@ -1,10 +1,9 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 hKAFvQ 9XxbfPJiRVgIQfDSnYbb4w54N2Q4Xu5CE/N7H2oSRVE -> ssh-ed25519 hKAFvQ o4AP9/J94UF++c4ofBzF72sBTHm/626BZ7BnM9II/Vc
WojfOIb+ceRj3M1ibVLDLSbVOvow6khsU7w7u7pI34U jXwBroZduYUo5zTZcNa+2EuGzIL7lNBhY+yJOYjln8g
-> ssh-ed25519 s9rb8g BDvivkCnSWDOYt89OcWU3KWB+LzSOhTSAt7mCFB7LSU -> ssh-ed25519 s9rb8g 8u/GrbVgz6I2TAYYFePF3OKkXTgr4IBO5ZWokdnLx14
SBSMF2GaqNEA10XEAX362iz5f+e6i7jIM3Kc2S9C0vU fJfvbKYRWReIbJqxLVrR18iavXN53WNkAVo14I1hqSk
-> ssh-ed25519 +xxExQ ycEs9oQZyDYC6rf/yjyRwUHLZCBXADPS7Cn6Y2xU0x4 -> ssh-ed25519 +xxExQ trpW44LEFz27nu4ikYcRjWFXQab/gpfm3J9J/5vhDic
MdVpnKVLZlfUhZUE3AUQmXJnTqtGTZL46J3I82fXq28 zzkpsGz6/jaJsg8jN5MxcAJyS2gJh+2LPbrXkY2KVLE
--- x2bn1fniOjLXCIGid7FDCWCaqBzh8ncaU4RiBtFIiGw --- uqDKI6byJu/AwPXuqECIGXQT3sk1VvrIekiq3RKkwl8
ØU?GZ#}%¿ ¦b2ýŠRT<52>¤}è#{¤î› žaõÑK:ïuHˆk$fð×á¢Ûñ)JÊö«3`q.5 Œ¸mœC¾=ÈZ ´x2¬âÛ©™'dvÝî>Ò¸t,V |”/QÑÝ ãÝ*"øfMdG%²+ÿp¨ºâí•Mö€¦vΞ­a
WÓYS<õ-ªÓ%®

View file

@ -1,9 +1,9 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 hKAFvQ adOcCOk796DzTCZiOJE+pPbMg0HUzXw8qL7vmSp/Lk8 -> ssh-ed25519 hKAFvQ BoA7iL9dw5i6teYs/Jzz/Ir0cs9FvblFZaxsncRDa10
m9QjTSfWrxrvX9VBwAcxDMeAddU0sWApJUE7SslboJ8 HSO8k1yvp5eONfOeOanRrZWHRNURwEomYZBBG7O2b7A
-> ssh-ed25519 s9rb8g Prp3gAyVeNNbo4ytLVvOH0TvxVQVNBVVc/WEk7i6imA -> ssh-ed25519 s9rb8g TL+odrhpUzjk373RgpUibnzLyp3yZqgAT2M63HKprhM
qsHbukTqn0+qVneNXTd3kTWUHZgmnUvQI3xOuO4Yixk KMjifpa9bMp0Gsq83ZIFbud2IQehvBncShYF57hPdtI
-> ssh-ed25519 +xxExQ MgZMjSgw9wNid0qFh33KT7AvFKnfsYWPg7EjORSAtCo -> ssh-ed25519 +xxExQ jI34FIrnJrTxdZxNmDA9ZtTQuTb6Ry3bCb6EkXx5wSA
mapLmGUYHUszJip3dizQyK7upRWPtKAKGsZWAnq/etQ UEsCStpO5hRvZaW7VxIopoaneTGaF/pd0wGIpsvkkXQ
--- J0GD/26qx6zyzoHHVll40ToK4pcLMZzMlq9SEWIhTAA --- nI5168JBEthnngfAYrSkcAEaJ/cDh5iU/Wnfu4lF+hk
"œ!Pr-¦ÁÍPKöÿû^Š±wÑ`Áë±ø`¾Ç›>WEAýK<C3BD>ÒIIn,ì<>Gãž*ÈûùJ¢Õ|<7C>N—5|òñC^ ·³Îæ0k´¯Hñ"ÚÀ˜z³8tH¹*ªX(Î]cô`†‚¥]ïÑâ§F #ßcæx]í²pOÿFVïîã

View file

@ -1,9 +1,9 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 hKAFvQ DSlO45FHbiZBF69SaPTb5dQsIgFR4huItec8lsjCzwE -> ssh-ed25519 hKAFvQ nT+Cp76mftRMGMnKiYUu0ALUeQKKiZ0o7cNW5R6/k28
D5SXdt8Eja4SiekDJhkT+AELT07v2rBNHXoVB7L51jU WysS9H9ohZeVPevkLim+ZDz3abe+kzZhGRJMw6kkNk0
-> ssh-ed25519 s9rb8g 2T+w4kLM0oVFhbfm5DMJ1iQwyybPM+wm51+7Hko6yAY -> ssh-ed25519 s9rb8g +Jd+7/YYfZeYdBmmggBcbY1gvVifdjtmtg/JlBJpeTE
0FsvfyptjQOtNEXregLocGXZlWfHCH8QKgUKPEmICis b5urCah66qLNNzGZ5xVp+KubQox9yKnfKRxCCSNf95I
-> ssh-ed25519 +xxExQ +WHI3MbMKXvf9owISq1Q+n3cX4Ur5LAPwupsymDNHEU -> ssh-ed25519 +xxExQ Ox8byNTwYYiqoENgtEsJ7svG3OrLad3iNrU0MB1DRWc
JutqmsinIeK+Mfb9Fd9K1+HTYVL7TcVHMroKKy4eYrk QjoqM9kGSZrolkxuAWvY8LCb+KdO6w5Xq+lKAWbHOx0
--- Txdxord7hfySIdGawFtjUS1Q4eVMZ04+Q7/ZLIv+J9c --- SbgpwekEbD/5vatFuHCCvw8D4J6JEYkn1ZN2RHtiCqU
<EFBFBD>|<7C>><3E><><EFBFBD><EFBFBD>-<2D><>fk:ˏP(<28>™4<C299>ϫ<EFBFBD><CFAB>$<24><><EFBFBD><14>hD2<01>`&<26><>uc<75>:<3A>;<3B><>p<EFBFBD>1<EFBFBD>1<EFBFBD> ÿýµ&ŠHî½ðÊàX à/il;ÙÁl!µõ?6ßò¨¹7”U œå¯¶ ++A»­s[jý¾¸Ž

View file

@ -1,9 +1,9 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 hKAFvQ ol5fZcODT+uifwnnDgVKiurfjocmhGjScZsi4VIYTns -> ssh-ed25519 hKAFvQ StE3KcJrWGDpoFuiMnU1BUEoK6JS5o3t0l926U8oQG0
71lv84550pedWxtkSgEL65dfzAQ6gNJfiAKOXqi4eZg OO+2KfhOvDbQwI+EdRHyuJrTw872f3ZdQ5p8Wh7k4tU
-> ssh-ed25519 s9rb8g 4wO/8iOsqFfqxm0XojV1d5eKO7Jo6WhFqcaByOLXwiU -> ssh-ed25519 s9rb8g xzyUCoighX8Vu0l9N9ueom6AooGakfytCJyNcoU0IFc
dNeQ10+4D7HfAEiGcyUU4I2y+0YtLlYWkZIvPq82MYQ Y1KRJlG0sUmEQ5KCy3x7SfU31V0v1N+xq6GC4/s7JfU
-> ssh-ed25519 +xxExQ uIYAiMd8Y7a3HbNx9bmjLIhSdPUCYwlhYjkPDPHLUks -> ssh-ed25519 +xxExQ aNap5yDAbSMplYQMLoLma385BcgBkmC3BITIJUBq8RU
0oAvKNDBSphWLBCskqZu4/eVW6STvlTtmvLsSiyQ9Kk bl201bFL+VRnFZfisaE7N6XPLSe2TSZrUnTYVcJuhik
--- ziYxr9eGK5eK95JJtPU4o4BJOqhBWF8fnjEM05XmE7g --- c+j7939RYbfhOwaZH6Hhru2pumyjf2jcNNj39bck5BY
]¼.ƒ–¶BËä(Õ pU,Ž–ƒq2™Ÿí*}‡îä×ѲÀk™Mî¹mÇ:w8Ln{‡vµjNšú@rå¯Ùò }¿#&FÌ¥~[5DÖLa/4è`ùšÌA mK¥¤hµÂ=Ç~¾p+iûö"HÍøb>swðÀ Ë/_ï1œÆLÞ

View file

@ -1,9 +1,10 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 hKAFvQ L3dZZt3XVuiOdGsypijzgsLRao5FZxnFo9Y4ESEonV8 -> ssh-ed25519 hKAFvQ ZdaD5GwosCXIHnJubCnDjKvopF4uxMoeNQMgFCQf7WE
fcBPxTvyaqZU5gFF/jNXhwt6Oq0pAp7UyO/rgYWcJkQ tLfDwSJavhjFF5XcXwWEnM/n1ojFToi0eApNZrzt/qc
-> ssh-ed25519 s9rb8g BvZSPZ2aLwpyDfyjYHMe8Wh6rbx+aQfmjnkUAk1DxGA -> ssh-ed25519 s9rb8g WFDBvaDUVlHleR+NW3NLsbm8F0FFGIqu0+2X2mbtekM
tXY2TSoP8nv106SCObwEkBxQp10raPk1llBFoB909zE jhbEBhGr3zsxsFnAVYBV70RchESP1sUCthLUu0OQ7Jg
-> ssh-ed25519 +xxExQ 1mxOj9IM2w1oT8SuEVVEMgmbuxUdRNowjNlbrAy5xyo -> ssh-ed25519 +xxExQ T0PsbQpyoX1UaKHvMgfvFDCcctrPJEkQFvsgYJOJuGU
uVNpfU2abhomq11Itb/uybYiBpI6XpDAF6FYs+mc+Xg Nxh9tk0TAZlNjukruwIiakzm8WD+VILCAf1+bf8i+JE
--- keK+IWNQnsTCt2e/XYwh0yhjg6vbdbYKdZdyjkzybv8 --- hGyHnFZWOfMID75QNdTTj+7qBhfwVRMt2LG5TgyUWSY
hÁ¥9ûS[ ñ¤µkΊ!,I?„ô³˜"m…fÛ‡ÄMy²penE£úä˜CDxÑ3cþUFúˆ½»òCK浜p ©G_aP í̹B:Oñ¨²@Š’ÑçƒÍŸ8+<2B>öêë^ÊÕ*]U<> 0éI<C3A9>­
4$ÄðqJƒ2—úí¾û?C

View file

@ -1,9 +1,9 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 hKAFvQ vhaDAogU3wLrAcl9QSDYytVk/jIAbJE88A3XkUlNMy4 -> ssh-ed25519 hKAFvQ r88ZlFjGfypptjNRPyMqdG7IM1aHb/aavpG9pPkX5m8
HBAW/AbAG5gHlDzLVBbeyzmeJTDRhp27DHSYiI2QFik 763EUFgH3CFfk4j1H/umqx+N2i2ig2bllCS+skCTlXo
-> ssh-ed25519 s9rb8g ANVeSIzKHVHKuGg2TdHU3lq+6c+klSADX2BtzUZe3m0 -> ssh-ed25519 s9rb8g +85ap8FGg6g385E1MgPHp4tG7Ty943ppc2XyYRQjLCg
P1uLL4PcRhKWEpNy7GlamzuTvlewJrRtu6wzleBt5vc tNu10o629RRpDzSUESSIe2lVNPeuHvNgfZ/qyxpZKH0
-> ssh-ed25519 +xxExQ fQToyJSaLfGC7XextJEA5NUIfoglLjOy6K0dXX0u/1c -> ssh-ed25519 +xxExQ oT/97aKxopRjmN5bzbV8zvF4RI1fFRc5vfiOcE4qJx4
op+OYOZvlTspdyg0qYgDCzi8dw8QTSu4+fsJgGfjzfA nnyBll3UFugdYp7cFC9iOdW2I/yQGZYK0mgD+V2n5sQ
--- QNq0lpWjkcOVRSzYJkuWLEEK1JQT88DpRa4k7GJHMos --- drkO0KNvukbMCfv6jQm/8ag0uymUascB7+k4Irif+os
î*42 ê´˜ "éÛx”ŽÔ°"©5¼³¸wuÚ»}ª¶¡v<>[f9"»®ävÛm˜Ü`]<5D>¸×¸òd…SW á"ÚIBË+‚Ç„ñš§xÓ*¥×†0¸Ë…[œØñ~NOY")¤ö> >ÅsÕÉf:ÿí>v æ÷ïglw?*r“4ÿzŒ6™r,@$"Šr¹³T´P9R{ªUôîØÚʤ¯lfίb0ù ºè7<10>&º“Íæ&dqˆo!W<>ÖTy§Þ é,Š éÓM°F

View file

@ -1,9 +1,10 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 hKAFvQ GWYj9WFJoMsegK9y/Mbf186k8fv79kuyJxlwszigwjI -> ssh-ed25519 hKAFvQ g8o4BDUHi5D6naTMjGDTsdKZXsmIcPlQcNfFM8ko5Hs
+L2UCfkYfFUdqoQERG+1x0yr6CWOZjtOWbCCULufukI F6bydEWhFifFOgjgT3KMsPQVQ+Pp7kfxfRusB22N41I
-> ssh-ed25519 s9rb8g YJ8k/mPIKoF49D2oGXerHYWSicN4932DbXsMVj8QECg -> ssh-ed25519 s9rb8g 5RPXl7j9R5ablhlsijn2ib1MltCZaY2lfOYDocuVwQk
3LzIhH1gwVQBw9BJt2g2Zcmi4fKttBGc+aG/J0rFVlE jSh2Wq3+nBI+qwTblL4Krcy0XXZoi2yPLCcN4tXZMIo
-> ssh-ed25519 +xxExQ OHjDKMKK+Vn3DHlm7kLi0wL0uqMswniA22jT1PDTWAE -> ssh-ed25519 +xxExQ GSnNp2rHrPCUGohNysKP+cwM94jO0q9RhEqSuT68hCs
jgsyDkcy5JXfYzbM7NILcOdCvTR/frLjphnGJUHTCn4 1kabK5mIIEUctUUmwcYBhVC7CzsJo413fvrTZTm5wO4
--- GyGyLye6ppy9LPwFx/CJT3yzbSlhsYiCzrg/N7DRruE --- wlbVF2G5q40syynTf5nmKbwmQu2nRPJtl45y688s9rE
3(ン応」ァニ夋r<>Siリ%iIW<49>R凛8qヨオサ飫ュ<E9A3AB>」鐸aH_$マ廿縁+7<>栽*yさuオ<75>ヲJ笥€<C280>ワ}&ツ湎點6bャッt<EFBDAF>tコ ïâÖK Ž ˜OE!c<>M¼²Qay:.";òîƒ÷©ý€UýY©@k hQ7¸/xtÞwö]xpÊö±
$Iya(ù]´Ç÷&pŸ€Â ê.Iiœ*6S¯‰.ÃÉáe¦¨Õê­Êýô

View file

@ -1,9 +1,9 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 hKAFvQ R6JrWOifhS6hzgMQohz0KxPhmn29baMO7wkLoPuOYSQ -> ssh-ed25519 hKAFvQ 03JOn7q1PHA1SWJSxu0sBzu7K2SUjHfJjeWyydfFHgg
5GAPe5BWv4TbyHvvS8zoyRsUFToRmWwEa6jls5eiWVc 4p3qrVEhdpIVXsJT46hThYpg8zzNoYqYtL9Z2rbUWGc
-> ssh-ed25519 s9rb8g TpmonboD+Rcq6aIWrC3DDa8saVSrTCi1ge8H9KxSV20 -> ssh-ed25519 s9rb8g mDKTHZetoIGkUR9gHbidTICfszs7vLprqnTxfqcSL0I
7rPKdzBIUas2B14BDxsZ97aR0IYy3NutCKynx7bYsNQ +RMUasl5OTtkB/mMaSpXX/0rwOgd79cdIEFX9zEnYXM
-> ssh-ed25519 +xxExQ k2mfz6PeRKJxu1y7OwB3YSMslLv15cVcD8NKYQVT024 -> ssh-ed25519 +xxExQ SB6XAvC/764Svp5uPmTBAHrCaCMYhvVj3XCd7qDKVi4
yRYcV6auokpxvn5BvWMeBjaZRa+yw886a6uTZ0Mc+LY R63MVNMyxrGMlVTpvnSR9vDwK5rn8K+QR9PWtp+eV6M
--- PB4WCPO/G6OBviQi+tTAIQuOlUTRvJFk61+Hx40qjbw --- 1b1e53bIpHE6YSlrZxP5FjdtjWSwTLX25uOd71QaEu0
!jœùz6EÞofnÓd P6n¼F[GÁcÌ]úà!þ[»_¡ÿ7ÖÜœöE•5š{v!òì†àÀ•Ü3ŸŽ¶ò½ù×ñê0<C3AA>çKs<73>?”)tÅ7à8ÿm<Í u“´±<04>}÷•u<75>{àñn4½­kTýÚ#2`HÛù²Ž™S¸¸CyP<79>x#ºŒrÃ,ÞdÄ6{7ºÚ)jèýØBÇ°.¦SF|äûZxááG[*

View file

@ -1,9 +1,9 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 hKAFvQ RjcZ1ZMIQtV2MYbn62EkKmvJyXRPbruanefXqIAzbiw -> ssh-ed25519 hKAFvQ wdTApEZFinNMcQ3W2XnmJlkRUaClgkJOArQxJJk2jjQ
LrzxWlSvenPPadgDLbrFbYz22M7OFebtFuJltnP9V9M abpV3FhidnhMXbPwgCbZHDuJ5Qtf+PUIrq+3phmgI+I
-> ssh-ed25519 s9rb8g XBh81NEXAYj46l1/VmxkBW9iucF6iEaYTDMyjaqJnks -> ssh-ed25519 s9rb8g mz5NAT9aXwJVmruutU9fOz+Vtf3GaVKdZ4XPzAn6pyc
g2Hf8yseeJuC9gTAHY5pwMIH7Av0WcxUPma5mVKdDiw qCw9BboWhkPhnvzfrtfwluwLxhR82vKBmjn9kbJcX+o
-> ssh-ed25519 +xxExQ fsChKDp94NEOdChtlnWny3Yt9rA4pH0ByWhTVj948H8 -> ssh-ed25519 +xxExQ xRj4hCLqnsoKLM6vVTpyB5Fq/bAiSt8wuunbieyCWD8
9OScVeXVPKO+BciSLKRynM729m24Bs21ZxsFOVuTUjU fflWcblQIHCmpvSt7fCjSkhTe4EyvGoyBbY20BcV3H4
--- zbLn21ruzXQkAW+dXYOv2UQUI8DjVF14kutXBvKmlQ4 --- 5lOsc99GGHubm4VWvZsdr8EiueVGsC84+8/8m/vVShk
W¯ë¤ú]ZÔ Óàiþ<69> ¸fcís¡Š¾_“Æ´, ­n!ÁýÎêtL¬KI«¡ìy(»ÛdË»!µìK9ÃlÜëñ…´Iv”?(0DözZu\¬÷œ·3rcy s¹¬5t &0¸ð€›”%Y1\fl/$اÎÙrüéSØl„¦¹LVÞ D'Œ”÷Ò÷ª˜[„\Ëzã3jÏêû";a ÛcèÉ¡©“®¨u29½Ûs™í<08>Ǿó<C2BE>@3f

View file

@ -1,9 +1,10 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 hKAFvQ 3YB/EZRPCoOCyuCLC82sEe2ieO6doyS4mBe5rrVzgng -> ssh-ed25519 hKAFvQ lmtQyJYfwRpKX3Um5ypYlaUgWbYpMxGUctHCXaH6sHM
/6/4YQtXp5n2UFmgqrlAsF28mTadM9B+Em/TCxUfe0Q p8c2X5lhENyAD+09NbJWrK/KPhb2tKw2vvpG35kiZbk
-> ssh-ed25519 s9rb8g ffNks/g/8OIOEiub3oanKgTC73yfe9Pf2iNrpKceA28 -> ssh-ed25519 s9rb8g yEqLS9X6QLWCnQ6X05ViZpnNRlCYok3YQ8lAXiRTNjQ
7lYipgx4Ukz3FGs1gFweYYxj+l1yuSVZKtpPjuxJHZ8 vxG3bErvetDX/EvEuW+nQYBZt452F2h+qI3Q0NfjNlQ
-> ssh-ed25519 +xxExQ iMtaWfKSd5ciZQoXGw6T4tddpGyHfPc5JAi0TnLGsxw -> ssh-ed25519 +xxExQ WYk3NQNcdMrpSWSJbN5mgMuXL1gleKgjx66dl1QPW0I
JX/gKrKZMXhotoLW4CdkdYNQBKM8SN+ABwXpJP7tqOs t+3u5/YfWmnKPEY7JIoEPlFrw0KbSSVo83eKK/DYaL4
--- P9HdMA0ScdgSuKnKtqnr5NLR63384lB3fSeItS64vPw --- SJp+YQw+bI65W2mBCrgRtsH5RARYDNLhgRK2dW5QwNw
`HFn{³Ñæ÷½sZŒ°RjÈâVz3VØúw^©@<>Ê“<ð'(‡l£"ä¶WÕÄ M\w RQ¼)´$ìå]œÅÔ;W·[Ne ¯QRŃñy¹éîê>wë¹x'ð}Ñ/çà芗9RO
D

View file

@ -1,13 +1,13 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 aUd9Ng otX0Tl+uMdwz9nSrmupcNczD3M0zbVPaicW4hVFqXk4 -> ssh-ed25519 aUd9Ng foBs30TlyKpk1wySoa6SsSXS7Ju8KNBX1pZuNWs11Bs
oeBmcpxyvgIDoLNSIYyL1gZcEgZzAsKyYpwvUruA13w auVxSo1Fig/NFkwtepnp0ntyTA8BhrLYS0h0lb04xIo
-> ssh-ed25519 hKAFvQ 0Rw1EUCCKulaZSZtW60rZAcvPik9Tk/SsFftQ2gI4g4 -> ssh-ed25519 hKAFvQ TWgmABTSxJgpxZAJ/8N6ptzs4MQo8sRSv3W8eEQdEXc
0zy9MsMIPzQaox/cBNngq45Rt/8/mkP5LCsFL8tzWsE M360vNpsgNZnpDInQtGaPNi8BboBpW5p/c1t6UTsKIk
-> ssh-ed25519 9PfEBQ YnTlBwXTB129z6/jbMoUcqJ6wCuPL+Vmvlkrjda2kmY -> ssh-ed25519 9PfEBQ gt86FDvaNuDS78rJsxHz9W5LxngKK/q5q5hZnmt4CUs
974e+p8Zla1vOHw5b+jZDE9VjzWmk7lJ/pv1Jyr9wIA xI5CwJ3lAYJfV28eB7aMpe6SFyGpVYXhpnTWBtPubmc
-> ssh-ed25519 s9rb8g GjBCak4ttZN+FYLJluv7EQ1ikvQnh2Mxu8A3okzWpH4 -> ssh-ed25519 s9rb8g dnmjTb1v5JMZhUqG2WuTzmnR4zDbMk5LFLGHm1F8Ymw
V8/PpZIvlWJwzHzDRpzn9EWej/dCtWQidRjOy3KGXBw SpBC3ZZePjiqKDB/OazFbmGPkmzbwNlQx/kD73rNdhc
-> ssh-ed25519 +xxExQ /mYVvIfb2840R9b9drDfsYl0re8/de1EXD4+IrqhRXE -> ssh-ed25519 +xxExQ vBIjPOQuwTwz7YrnuU2rbPN9wXvGHjEO7E5HR/cDyVk
pq3b4pU/rSv3802iD85MS5R8xTsN72e8OMpMZi+5Pn0 7YCM6s+YyGtBbrQbndXz2W5DoSJvb7PfHNcYE2JFJT4
--- xsD8c2GY0YEym9nAG5UKuUZfJhs1kaWC31OU7KXARho --- HzYtDgoc8NHVzNsSoVeC0tiB8wl/o/bwvocktfHXFws
sZ-イ;IヨTレサ<17><02>Φロ-<2D>t服ム9<EFBE91>r耻B鐸ナルェ儀Ln<4C> ¤T#($ÿ<>Ԣ嚩}Ÿ1硨¿ãPÏ~Æø <11>¯6ÒZ 톼ÿŽ†G}

View file

@ -1,14 +1,15 @@
age-encryption.org/v1 age-encryption.org/v1
-> ssh-ed25519 aUd9Ng 89gCyjZmJy5rh4gkR6dAuLd1F0hR3S22gilsTJaGOS4 -> ssh-ed25519 aUd9Ng O+ZWi8l+L181aLDRLGlXFl0rLXKG1ggtrZQPI0HwtQA
9TMNgqwVlkRXTthCVGiBzuJUrVQVFvXQHvBKAoSQGIE EuJFdlHZ2jl3laLsv8LIEoXYWLZXdtmbY+/b4S2Z0mg
-> ssh-ed25519 hKAFvQ w6E+z3cB9IDr80hin8sfeooLYiXuEyw2e6sDDgmXvxQ -> ssh-ed25519 hKAFvQ Di23QzFzvyOMICiOE/mPw4sxYRUxQ1VDg2pmfUCJfUY
rqEigX8//Ai3JYQsTAQe3x6o+1UQc8EptbF0rUaGEh8 uSz2r7EGJxeZHUeodL8sIQaO8/7s2iF9NLOWtKJ/cH0
-> ssh-ed25519 9PfEBQ jIFSnmA06XWUuJmf6HZHPSq2+Fpnhpffhf/VK8GGoCQ -> ssh-ed25519 9PfEBQ S5Eiv6BGE06l40aqXpZLaaKJlebrzZApnPCABYiB4Sg
fU4Z7RLVfZbh80C83+Oj05M9hRiaTBolsgipy5S0d34 ju6lTDaatMG8OwKkvgyQk028K6/pL/iKTyI5UvIwuos
-> ssh-ed25519 s9rb8g Sw12uUHJ28+6A3pUd9Mj4x6bpxzLc+hcKSY71+5/CXc -> ssh-ed25519 s9rb8g oUCH5Mm29pWH4nhnFztJ0uSc8HDiSBgYKifq0AnTazo
qZizMh2wO1KxCnyLZ275QbU8cQI4WBBijNNYz9RZrGk 4hlLfCiZY8OLJ9OzKTsbckTsVCzHI7HIrTlNcxTwWpI
-> ssh-ed25519 +xxExQ j/a0FNBYGlye0P8TkUEUCY3RqAwGvADNlKPcUKjopW8 -> ssh-ed25519 +xxExQ YVnRp5Szd86fumWKFMsRxXPgiANZlzpOQ8T/WVhjAVk
ZsHvYR649QV3SvjaKLFH6INcAIwTxAzBWn64L/V4ogU j8dxn2e5NS5GWOFjjs4zMuisguXF0qQ9k1+DxY6C1sU
--- jODyVpR3tlFGbGykg1Uxgnot5Ojm6M88TsRsh3vwlyE --- xe7PbC7AeM1/7+WyZ+j5gPK2doX6kQmXzpVaQ0ERWL8
ð™=<16>„ÿ>Ûí³—¿ûã§p\^6¢:°Ù¿Ú’ ñ|<m÷-¢Õäñ¥ÛØà7¦gUþÌR.·>ƒ|ü9é;ôÈ«[”«ÎŒ’ã E ó°!A¼YA¶D¥ËŒËÁlOhLææâÊ¿Eqhà vÍå»0ØÿŽ©I| yBóP¸"LiW<69><[HÚþä3fé—¶ÃÀqƒ©§þfÙcÒß9M<39>É¥zI® Qq¥xªÐœî7Âgè!ɵ4"ŸñüÒ‘'•/C9<>3í;®Åúd ¼Nšá²¶
·ÜVXΤ_óœù_òo¯$ÒÞL} V^S¯|=£Ë
1!äl;ËDðÌÔ

Binary file not shown.