From 0545a08a43c3cb0ec0332794cc37db4f55019cc7 Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Tue, 1 Aug 2023 11:06:56 +0200 Subject: [PATCH] Thor: wg-quick and simpler key deployment --- flake.nix | 2 -- instances/odin/common_configuration.nix | 1 + instances/thor/configuration.nix | 39 ++++++++++++++++++++++++ secrets/baldur_wg_priv.age | 38 +++++++++++------------ secrets/garage_bertof_baldur_key.age | Bin 670 -> 668 bytes secrets/garage_bertof_freya_key.age | Bin 645 -> 643 bytes secrets/garage_bertof_loki_key.age | Bin 666 -> 664 bytes secrets/garage_bertof_odin_key.age | 22 ++++++------- secrets/garage_bertof_thor_key.age | 20 ++++++------ secrets/garage_rpc_secret.age | Bin 1040 -> 1059 bytes secrets/garage_tiziano_baldur_key.age | Bin 549 -> 565 bytes secrets/garage_tiziano_loki_key.age | 23 ++++++++------ secrets/odin_wg_priv.age | 29 +++++++----------- secrets/oppo_wg_priv.age | 39 ++++++++++++------------ secrets/secrets.nix | 4 +-- secrets/spotify_password.age | Bin 968 -> 901 bytes secrets/thor_wg_priv.age | Bin 1036 -> 538 bytes secrets/wg_psk.age | Bin 994 -> 965 bytes 18 files changed, 125 insertions(+), 92 deletions(-) diff --git a/flake.nix b/flake.nix index a92eefc..870262c 100644 --- a/flake.nix +++ b/flake.nix @@ -101,9 +101,7 @@ age.secrets.spotify_password = { file = ./secrets/spotify_password.age; owner = "bertof"; }; age.secrets.wg_psk = { file = ./secrets/wg_psk.age; }; age.secrets.baldur_wg_priv = { file = ./secrets/baldur_wg_priv.age; }; - age.secrets.odin_wg_priv = { file = ./secrets/odin_wg_priv.age; }; age.secrets.oppo_wg_priv = { file = ./secrets/oppo_wg_priv.age; }; - age.secrets.thor_wg_priv = { file = ./secrets/thor_wg_priv.age; }; } ./modules/nixos/users/bertof.nix diff --git a/instances/odin/common_configuration.nix b/instances/odin/common_configuration.nix index daeb41a..8ab9b9d 100644 --- a/instances/odin/common_configuration.nix +++ b/instances/odin/common_configuration.nix @@ -3,6 +3,7 @@ with lib; { age.secrets = { garage_bertof_odin_key = { file = ../../secrets/garage_bertof_odin_key.age; owner = "bertof"; }; + odin_wg_priv = { file = ../../secrets/odin_wg_priv.age; }; }; # Use the systemd-boot EFI boot loader. diff --git a/instances/thor/configuration.nix b/instances/thor/configuration.nix index 53a36bf..1e55375 100644 --- a/instances/thor/configuration.nix +++ b/instances/thor/configuration.nix @@ -3,6 +3,7 @@ with lib; { age.secrets = { garage_bertof_thor_key = { file = ../../secrets/garage_bertof_thor_key.age; owner = "bertof"; }; + thor_wg_priv = { file = ../../secrets/thor_wg_priv.age; }; }; boot = { @@ -87,6 +88,44 @@ with lib; { networking = { hostName = "thor"; # Define your hostname. networkmanager.enable = true; + + wg-quick.interfaces = { + wg0 = { + autostart = false; + address = [ "10.0.0.4/24" "fdc9:281f:04d7:9ee9::4/64" ]; + dns = [ "10.0.0.1" "fdc9:281f:04d7:9ee9::1" ]; + privateKeyFile = config.age.secrets.thor_wg_priv.path; + + peers = [ + { + # baldur + # allowedIPs = [ "10.0.0.3/32" "fdc9:281f:04d7:9ee9::3/128" ]; + allowedIPs = [ "0.0.0.0/0" "::/0" ]; + endpoint = "baldur.bertof.net:51820"; + presharedKeyFile = config.age.secrets.wg_psk.path; + publicKey = "K57ikgFSR1O0CXWBxfQEu7uxSOsp3ePj/NMRets5pVc="; + } + { + # odin + publicKey = "LDBhvzeYmHJ0z5ch+N559GWjT3It1gZvGR/9WtCfURw="; + presharedKeyFile = config.age.secrets.wg_psk.path; + allowedIPs = [ "10.0.0.2/24" "fdc9:281f:04d7:9ee9::2/128" ]; + } + { + # oppo + publicKey = "OBk6bHKuIYLwD7cwjmAuMn57jXqbDwCL52jhQxiHnnA="; + presharedKeyFile = config.age.secrets.wg_psk.path; + allowedIPs = [ "10.0.0.3/24" "fdc9:281f:04d7:9ee9::3/128" ]; + } + { + # thor + publicKey = "rpwR6n4IE96VZAmQDBufsWE/a9G7d8fpkvY1OwsbOhk="; + presharedKeyFile = config.age.secrets.wg_psk.path; + allowedIPs = [ "10.0.0.4/24" "fdc9:281f:04d7:9ee9::4/128" ]; + } + ]; + }; + }; }; time.timeZone = "Europe/Rome"; diff --git a/secrets/baldur_wg_priv.age b/secrets/baldur_wg_priv.age index 43239cc..2bebcc7 100644 --- a/secrets/baldur_wg_priv.age +++ b/secrets/baldur_wg_priv.age @@ -1,20 +1,20 @@ age-encryption.org/v1 --> ssh-ed25519 13iwjQ RyDOz2xzrnQr9pzP0h3Xi7jNVnWB9Uqh//AbhfrrsE4 -4E3Jt/awJLYJyx3nTmH1c1oUvyXf4SHZ9QKtIqpnahg --> ssh-ed25519 7MB20A /VrHLuoAcxZRnQB4NxWTWC8OrmHNtiS7BjA89RbTbE4 -RMbCFTqIvY1a9/iQEm4KZQ5/kiWL/KrfupdyNwlfMIE --> ssh-ed25519 IvyYug vkox9RQ0JhYSckf3sanMfFUi4k7KKvQ1fFJRJJF3w1Q -s6a/Rk7yINjvkEEaFjA5OVl1iK2plqZ03K7HeAJ6jEo --> ssh-ed25519 v7O/FA PX8BxRBjY1Y1H2fSMsmJwj6L6c+HOyLU8PTbUunRRHU -ddY7e4WHmoz/S2WtwlGJuD6/Za7Zx4ebLHPlxTUg1RU --> ssh-ed25519 Wzv8ew kPUVryzPgynCMElAcAHeoRGwKuAYdvZGG0NTg44oqwE -5/gZluJWU3D6M8u5wTCOoOKb0V7Le2xqdh4IJoNGBHk --> ssh-ed25519 XgC3XA LGQHY5utBKQWoIFc9WyH7NbUF4VNQzzBayxF2Uu7dRI -rgX05l50DiZVrQmnkueaQ8bEDb3TvFNryW+HnE4oHxk --> ssh-ed25519 l795CA e5g3DNOKjWe1EBrDmvlDpsQzsH8fThXOWH+fbVW5hXc -Tn62/FaSeiHJEhGkUEXPJWr6qzuOvUQ3tJm2vgrPw9k --> l~73{-grease 6\$ -V8e3/VdAai1yRak6ka/Br6Tmu+HywWFTsp4Nce9dT7Ax+5r4EhQIX2eGQXYoKL9h -C7ZaXJ2kNgFDOmynpTmMblhM4A ---- cPfiMi7yP1zq8OCBpH5d8GWnA52a3IVkeCiN01UaJ2s -\X\PEJ6(gRv_&ɜ^ ;jo{X8EO;晶e \ No newline at end of file +-> ssh-ed25519 13iwjQ HTgIm0MS5NAYMgJHL7Hjij5iWEOIjiOuYIWC/NZ/EAE +EhWybEFiC2YpWpa1L1SyMHHcTBfYt7IdofzkbA4+Rw8 +-> ssh-ed25519 7MB20A nMNL4+Nl7eaGRxCia8PTPzN2W5B0rsCmL4TXpsHh/Fw +2KM8cmxb7Ebslv5vwdN4x+98QKJuc7iUVdXc5wCePuI +-> ssh-ed25519 IvyYug Oq4qmqDVPlpXk616G349Y/21cpwloYFelc+5qzI8agM +CsaKj4rID2nT4FWUXel7DZ9rCyo0drm/9nLWaQa3aM4 +-> ssh-ed25519 v7O/FA da21G32CDcgEE5m8143WIg1tRWTGUBQfghK2xARCygU +MonRGxbAGFU7qQCnO4BPjlKzn/M7H+xCidpfkucAjGc +-> ssh-ed25519 Wzv8ew lt8NGN1CmGeX9HCUgqwi1D3bvL70fDhX9GKui/XR/Sc +RKJb/BAcI6hJzPeC7uI1KWL/vYGep5tbWYzFDWAfikI +-> ssh-ed25519 XgC3XA rje5OFh/ajUQVbvXcLD9ldBV+bwc5NJ7yPzVjKNfBz0 +hR5Xm9gsN5quJMq3sLTGqnAYVLAUgu/OkWaMMF2nfrw +-> ssh-ed25519 l795CA jq6T3NomhEIbGjUSXqb5ZclNd+xP+tFT9hMNCmfoxm0 +CNJLLwrfH56gvV7Hg6BfmvbJsc+b2p1inVP/uvDtNaQ +-> !-grease +R3EpLUrq7ZY1Tg2PTDrx26k6nonb55Paxw +--- YSOsc+ENGLvhe22RvHqqJzqu7s1APAD295haGfx7A+E +L>`|DUjvTʆG{MǽQڿ +)uiEa 4,ZK4(N*$X? \ No newline at end of file diff --git a/secrets/garage_bertof_baldur_key.age b/secrets/garage_bertof_baldur_key.age index b070d8b70e31e2b34006ee53c31dba2715aebb79..39c31f7302fe1e2f0051a22b30217fd216381932 100644 GIT binary patch delta 616 zcmbQoI)`m~?uO+BNftp~fjP-J&Jn>zM*gn(;h~{i7C|PF zIU!YUDOIWAK`thNhM7T@ZeCg0<(b)*z6F`dj=sj)t`=p*F8P5VpVa847o{c^rz*rI zDkPR_D3_WkXu2wR+NMQYnrLw8XB8EsI@hNrTBZeOcm|tBc$I{P`z7Xh_So&v~oA??zrG*)l`FZ7Q=lCRhmY0<#J7;>8aFqm^r1^y!m>cGqyA>E&8WkC7 zSNK=Dxa8-#Rry&OSwtCDRC)y#WrvrUCz%9t>FVk#Xq$&yW&|7fm^qodW}6qKht($* zMn)MKnER(xnCd$@nLBIe1yp4RTY5Wsa;cpEaoovv(QdKGytCMLvEQ8ZL2_g7AIa~<6@P6z)!tf(Pur)>w(F9@ksZvwOpHf$6w~c`cAsSt F1OUBX+0p<2 delta 618 zcmbQkI*)aNPJM_)xLc5RRzaqFUX@3HxvROWX;zj=L5_KFakxviv!z=~p;Mqyghfhj zB$s}nnPFzIvvzK|hljIsWl(0IQ*x$BYD!s>afx=6OK4W8Pk=#Hu2Z5xAeXM4LUD11 zZfc5=si~o*g1N7gk%6N^XmGM~NRFeEm$z?za$&lwtD8|(s6|nMwx5exUQn8+MOk@P zcBYw6zOz9fSEh+quvcnoX<}KCqhn;0OI}DuiA!2`azRpLR6$v|M}Tutu|ZI}i(9b4 z#E;_j0fp&7RlaHY?%D;3hQ^NBWmPUEnNAVK&Xq}}l~HAp9{EK91+G37#vuk=hQTFi zSw2OkshJ+B&VDA^#W@*fnGx=JzQq}aeihj{zLrMinc1nnQEsjvpHyb#JK986)aa%c zr6v}qDyW#2rv_*HIV!|uacKu+>-%H}hu7z&L{(HKW}8(MJEfSWn);_1`}zizbg}CYu;LRcL3Y`WHHSIfaE9d6v3{XNLRcI8~JCt`K0BP=lhuk`lo~$N4X^Wq;u)&>MBGe7DrkJI0t!q7FRfWo7Wpw zI^{)`m1bM|N129(dL>3yxfr`y82My``C4$@oOi-(_mzw_&zDVI&be>h;+E9K@3d)7!MBqih~;`5tK_r!^8at|D(;(XvL~99B9EQlrLL^2`^`46 zQ8(h8aM_!OoZCgy3XDqYHd}Xl1-R^yxv)v{-Sx_r@cSiNs@6N733u}^ZaG|0n`C{? GY%2gBbl^+? diff --git a/secrets/garage_bertof_freya_key.age b/secrets/garage_bertof_freya_key.age index f68cb7211f13629d15cb509e982cae2e881502ac..ab3646c23fb47d5de0f76ddb7c9c3ea7e7bcbcf1 100644 GIT binary patch delta 590 zcmZo=ZDyUIQ|}sDR8nl{mJ%6YnwsY1U6K}36;*0s=;7q->6q;on&VPn>KmFL5L)gW z$Q9)mZ0eF(=5G>W931LeVw6^q>gQ+Xmz@@A>ZI*rVwr7J8WkDj=$V#O%%y9mP+Xj$ zo0?)|YHDbyVD9T=WZlEad7?Eq~>YQBW zV_{j8lVudi<>;7}k{uG1pPB8Q?_3b-S{@nco)uIaSrwS%W}M{c)_N>Nyqp{r$tfs={3QL=Y=Rcc6rDUVix&mHFOT#$Krb z-gzb=rp6TkZpqmhCPh{Hg>D{EMVV%~=@wksW?uQunWlw7h9!x`E{>idsl|?Ym6ahG zKG|Hly1EK(F0R=Hi4plF`ri4;WrjY9er8!Y!2y|`NzS?YPJSL0maZm=*(IJ?CAE=U z64z88WxT$+bH=GoyX`BS{xRR$pzv+MvRON)@Rq;1v7c-2xwg~7yT8|q<>=~8vlY~~ zSbJ~dzLgIo!d1T=tV&RjR@=PPuV{h#%gmQ^veOtmj^0u~Y2m+#?dWZDpOHQ}5;(ViXaY=IWK7ZeE#gQkI$(5>V-pmJ=0K6cibf6&dJVY*68DkecC^ z%vF_HWtf$j=5LZ-@08<`UsjK`c$!OAU~pohd75K*ph-$(nRixVer7SqC!r;Yv2{th=|!oD z#i0$j`gLkkp;oI+Npl}Ss`f#=?3X;1;wtZ=@F4p zQTY}Dp@o^Dp2dmog_-7g+F{y>T+S&5Sw_XaX4yraZXrS1;oi>amVT+FVQ$*Ve#x$h zIVonvT)Mit3S|LKg(gm6UOr}d#Z}?j5$4W@9(iT{Nf~8XLFtagPQ}R~S?MVzUiIa! zu3YV3u2JiRolw|V}oo?u>WANpZK-IHZ g1>Vf%PIIE}y;;d~{l$w#%?d{kOq6}8{`xnXkTuiCd~ch*xk}L}5upW_VhNM}>)VaYk^4p`(v)qGf5eg;Qjp zFIPoma4V196@V`5QS zo~LK2Z$VZzSCpY^ltpHWc3PN4dX;`?NqSjkm43Ldvw3NvMR-AJNVv0MxN&8gxrKqj z#E;_jPWqu?X+bHa=~ZS$S;awKzTs{u$=RNH$!UI}VeY1;p~d;yMqU+OIoXk18Ghj@ zk^af%ju!c59yxC2Ir+J+zWPbdVNRx%mKkZeRYnnMxdu+5L7vGVpV;R(c%)Q%>ZTW^ zCKjhE7zXKJXK|%^7Z_*y6x5p~MwS~yhE}>76o$I_8fNP!y5{*Ld*!DD znr8TW2IW^cMdgNj`KNmt8u+F91Vojk?nfqn<6bBj@hdFt=hJ`!krDb}! zm1kv!FVk#6orSlTT~_{7nr0b7nT^Cm{f*^B-LkU zxh9o)`4qakrv?T@S(q3En-_XVaowMw>^S--ZPCqHHxqh<8*cyb?N^GMtmOE9f7G?QtTVfg000wP B+<^c9 delta 614 zcmbQiI*WCJPQ8ywL9t<3Ntjtku9tC@Yp!o$n3H#eX{mm0sar^7uz96^QhricV2QqQ zGFPszi${Q^YkE>(rkit$Ym{l3W07Y;YFS}Gs7p{~sIQ5aPi1jLXjy8c1(&X!LUD11 zZfc5=si~o*g1N7gk%6Ovi-&8Ovw4(RLAaSwR(fQ)xtqSPUr=h1siRAFrlE;vP_kF0 zc2#Onigsosm#0OdZ@8ClMplVeW^rkzaaoRKvSEp#kwJ#1ms@~GS!hYNmsz4yRd7l2 z#E;_jq1h4snVG?c#Sxyyj^1wiu1@a$m7%3Y6#<3@E``Nq8R=<0`S~6tmJyy@hGoIo zuE8#bjv?kzhT%Ti?nQ2vWf=h(Nhx{${%(0@o=L%}rH<+OMj`1SpX4~FCaCJB7o{c^ zrz(_&=lO?nWm$&%`WmEJri6#(6zAo*WY_0=T6p<679@H2L>A@+`cxGa`&U}#q=sZU z8fEx67UUW_TR3HE=NJW4WtuvsJ8?OdW)|pI1m{!)c{qlf`xpBb2M0zPnE9AHT4V*6 zm>Q)gXGLU`1Y7tT1e%#vn1^^86=o*~1#;=?>MG=WMwsO~8WvVXx|$o8I(z#CnAe9C zWETch>U-t7mU;S`7VBq+2OFlCX%};`{6BDC$;n;Y-_%v)M|F$dm%Y7{f6jRDWa^5; zY%3HNUjO>@jqZh9kvp0`)BoLM>r>9`nk;tW|7{(w(E4bt;$0K8Z11woa5iAzOGuf? z;;W|Uu|C%I`vSGrD?0m3UwLd;eI{3V?xZcE9LN5hw!GW=$0uTvx!Wb?M|(Mbu6F_e D8d=*6 diff --git a/secrets/garage_bertof_odin_key.age b/secrets/garage_bertof_odin_key.age index ebcf42e..07d6d69 100644 --- a/secrets/garage_bertof_odin_key.age +++ b/secrets/garage_bertof_odin_key.age @@ -1,12 +1,12 @@ age-encryption.org/v1 --> ssh-ed25519 13iwjQ cyCv9791Eos58fHGMtryIbZvgAbzgWzt+LZ6xqFAzC4 -uFQ4qK8IzGIZ/SSFIg9b7mNPHBgkn1NkjX+bkZOBu3c --> ssh-ed25519 7MB20A E+69W6J5hiXqcHjico0uxQ0rtKhHjCeQGPTNwpCFb0U -88tD6wGRdygj1DdXji1o8SyjXJQsHED++onY5GJzDfQ --> ssh-ed25519 IvyYug XCBD6iaBoQczsO11kjHPKr/jJYH/qyFnz3nzWJLXizI -yzCHVqipa9pXDSi3vLyAQOZ34Hfk3EYj9xSaA8GhpNI --> Lge%;/,R-grease 6W {fv| f]>3 -qjAy+K+VIZIQWc7eZ/SO+XMHB44uMWbTF+7MI4SC3SAGEE194VjUmLZagFUjHW9S -xU6gPHDtbOgAvJeoVjKj48k8DAy7pcOsz1xqfSVn+1dQnITcGUZMlc6haGo ---- YsHfC63GHf9JJII4OKKSn4oFlsdnTs121LkpxF1aZn8 -w]m)#>E$2qƺ=-Xo;m؛*DZ7I#W5iKK͑DFa7zC8Xx&R ssh-ed25519 13iwjQ MDCuhbXcSxEv2fHTqyrI9qiqF3fjYXxUshGDfiXQ7ko +nxajOoQVriIqBcgU43fmjya2Qj4hkK7JLh5k6k/kAec +-> ssh-ed25519 7MB20A dPEZDugWp+EciWEHOaQBF93pRuQBNGcdCuSLA1OQXDo +P8rFtYR9hpoZmjp+Pl8px1iO0I+6wNItTR4+x5go1TQ +-> ssh-ed25519 IvyYug RgfQxwZYP8yxiE7Tp7jpNPIpgXxbVQ+Myoq4FDe+VTk +6Qd1O+OWHjJgMTcyALVPgq4C79j4AADyhCmDL1DklRo +-> .U^j8-grease %xB_6G( X<66~L, ,#8dS$\8 +hepvWLef4ciT8pbqqFWBYbMLPLkr9bgYqNfsLnI5FOw5qjivfeJil+/Ek3uLoDOs +JivMgA8gOXPK4AwNyRbS0Lcuy6KUDQbjxmE3Zjwi0D82WjQ+5e8diaA +--- t9Swt+YnT38baGT9UhOvKIDpJ/VwjFx7YBiZVe8KoNw +&* cx(I{wok)V ܫR9x^m1L|t_1=hpw\nhBǤP=aEu}}NKPV \ No newline at end of file diff --git a/secrets/garage_bertof_thor_key.age b/secrets/garage_bertof_thor_key.age index 0035da9..e0df16d 100644 --- a/secrets/garage_bertof_thor_key.age +++ b/secrets/garage_bertof_thor_key.age @@ -1,11 +1,11 @@ age-encryption.org/v1 --> ssh-ed25519 13iwjQ JNIb379d+dNabgVqSpFB294mK8+k7NPKJQX8mKEzuH8 -puKWL9qNMLWZDHrQVmxNZ7YKrRlFlSLnYMXqbERmXi8 --> ssh-ed25519 7MB20A dklcfIFj3QiG6d+TeEpgzmf2dsieh2cM+tQoJgmbSD4 -O/3nmRW5/lopDhNO5eS/xWRGgr7nhdJLEvNvR+/yPxA --> ssh-ed25519 v7O/FA /Mi4MWnUWoe43AGj/68VfeJ1Hk8TyqUgXYNjPNMUeVw -7HoLZRNO3n+WRVakA+fK/lgu6Ruyg/DOP0S2hEmojo4 --> 1`R`v4Yb-grease ] ywaX. -IoF9c6SPwQ ---- qMFNi8LNUGKx1TeX+h38uM+lSAMskuqF3/Xnfvi5GF0 -B!P08Mi;tn&;Ph2vf`yֶؑIPǷv)`B;.#5QW^~e A7Ft` \ No newline at end of file +-> ssh-ed25519 13iwjQ 7DURmgNMfx+6yl0lKVsEddsDF4lWV/r9nMPQCORHkyg +2j7ir1yIl9kzxT/LyaShZuoxe71N40gYmRBxcMhO0mY +-> ssh-ed25519 7MB20A mawRpxmKDw5ehWI0pbmZmOxZS268YizvVS2IEgk1JSc +8IsMYTy4d8AL7ZD+B4T+tMWUuHYPuEFiRhXmuy0UjI8 +-> ssh-ed25519 v7O/FA biU3XRo8HRIXk6GTtm9dPZ3yDWp2YNF99T1LuCXExzo +7d93dHhZMEpCTzXZ4CGz9dGx1rRCao/ayHUgB0yEiMs +-> %r*-grease +WZODXQ9zRYlSpSSNvcDeL0L9RtL3eQQ +--- GSZKFrU8QZIMkQRuruV1rs8zdtl2ubU15zMSRkcPmkQ +HqDDvK0s;hԘݹԅ"@*џy"H?72 z*,ЁG~uf@l!f>eׄWM%7\t"Y \ No newline at end of file diff --git a/secrets/garage_rpc_secret.age b/secrets/garage_rpc_secret.age index 672b575541da4d8466a2737ea615bdee39c653f0..f529043dfe677d96c7e53acad87dd1ecea85ff33 100644 GIT binary patch delta 972 zcmbQhv6y3mPQ7u3Z(^yRQHEt!u(m~{cc@9GPl2m;cCu+zdbqY*PFi|VVVS3)g`04kCN#;H#o)yUfVFCG*;~B-ngCh!yi}VYk zDx-o5U89OqOhW>*T+Is8`~xlgql``+(7Wc~b9 z?W81alZvzw=d9dR^Q2<8P_E=quc&}3FJCkNR1f2#R6lKl05^AM?+UZ5!u)b0|H$BE zzZ5^GN^M6AUv%qo%q>lw9ToEY^K*(T-7}oL6Z1Su0@HHbO|)H$jg6eWk^%~PsT?s}ciCT>`lb94(Ck3-UdRLbU?|&8p1vib707(sCjzeO!YqLP}GD+$#%$&C~NT zqZ~oj1*YWcrWd6q7N;uYN85)LC}<{U+bU&*1}a2n_?6a|cqE#orG(~Jy7+1Px@CtOhr0V!lt-Clas@l5 zIYyO+R8^W42U=v5BnKKhY5N42aOvvmD!3PW=!fOF`?;hiXL!3LmWR7qy5wbto2KiB zg@je)I2kzyX61!vI+^Laa%sAndRK9mdoQR z()!I0|Hyat*B3ed-nUTD*YPle$yuNQ;AP_cx9zUmWxk8NTt6~xsicEy18+9v6)9|scCp}AeXM4LUD11 zZfc5=si~o*g1N7gk%6Ovm!D&%PVWz&5;~B-n!!xRq{4I>k z^qmu3bApZX!#y&>LW`n26OAgu^({)xeckiieGC1(d?G@*yp27|Od~8^{j#&e@-6dA zJ)N=~iwrA#%JV9NjRHNBqVf#OJi?N)65UKDpJf!U&-VAu&P*?gu=I5Db}Vv^42kj! z^*3-$cF#z6E%CMV3#bfF&8jrcam`ESG7WL@N)GXHsm$;*ay84;53~%(Oph=!@hd9u zNzX6J$_q~~^bHI3D=CUZkAaAEXX6M*g`Bdo0yEPhBR@0qK%cU}s=#{B2(PfvjC`~F z6wjmp6SGuH{WSg3NRKQJPp%YqlO%)6g0do)#6TaX+^WP951+&w=Q2~*JXa&PNFU#1 zi`?`u_fSK9S9I%g%q>lw9Tkeb4NTGvOryf9s!Vc1L-NXVO%h#_N=u8KEpiQ=@`{VY z>+@6di$XIiLM*tMFQL6^B@axE16UM+6yrmIftOx#uRAn1lvZlv$X$M>rZLhZ?8)I+}!KTX1Ds z?t5}^!KJg#Eevzte6@^vdy-3{MEc^z?ATY!BEQwlHD{jwY<7zer&dpKXnahomVwsv zc8j!k9Y>!0zj)bE3epG-_fVp;tM^Q>fcwTs-dr72Yrg5TQqJEH@flHxTh?7xX zHdkn}p|(q;M}fX$c~Ww|mqmzSQABpRiDS7@W@Sa0cSeXwpihQ-RFPk^!K z#E;_ji50m~<$ggv!QpNd=8;(ek?G}*ncgnt`eunHi6I4H7MYb6&V_lY#@Ufvrsk=s zW~n9-p;_+fk(H*|uA$B;#Ri3Dh502BK@quz89t8Mg@uttsbRh#pEyTm2ifbU7o{c^ zrz#ja2L z`-B)6WmV-EdpH~Bm*zUV8i(m8`&8;Xa((Czn&@nOTV>Pa1=F|pu1{aGp=w#V$hWZY zpwyf14*h6r>toQJZc?x<$!}82g#U?R=NX!srg%low#`uQ-0QY;{+g0!Uv8yOY=}Qs zt)sv8$K;n&@(+|<=g76>TP*X-n>{Wh(oJLGy*pYp>EBmX2z%~T63e|mdjmJuvgwy) E0lm7q1poj5 delta 496 zcmdnWvXo_lPQ6cIVMwl@QKox%Se{Y7i&1!}xqniSslUHTN@bX_i;-JVzQ13Pd$C7( zAeXVBr*?pozPG+tn!dSVj)9w@m!q+3qL;5HZC zYI$O+yK7}2S5cuys)1plkw=M?>M4?wkvSWFGxu2t_iMv68N0NSysjGLDZ@O># z#E;_jNnw#5ZUKe82N@ zCKji1g=QK!mxmT}>FVk#lv{XYnrl}En$?#^IGbiiC7M?{=4u-nCx*DWg_;KBhZkuF zdXzakIr@d9bG0YVKQX0mWn}Na*u5OP!Y^r@7I1E5SIhnLPjt14bXw;xf4iv(dQ-K| zYdU?)zrXZz(+#bqyEXPoY|dQR!su%L^6oL`kADx=RlYgU%XXmDQ&G5a`iV!nY#vMJ oXnDzB)jH!mgDEA@d{cK&T8jOeH&q{{6% ssh-ed25519 13iwjQ hBLrqcwBpdnPT5fmZIvyl0hZMRBh393UBuG4HebzAl4 -W0z/DbpsLMotl5z+MJcyAcImH0I84VB8cnGg8LNMsJY --> ssh-ed25519 7MB20A DMlY1D4f64Iw7OoLkH09R5g9TaKk8h/V9J9xEWuDfRQ -GU6TrEfzfhvvEQbDkzETYIhCzjFpEsTEFSsbjXL/Ba8 --> ssh-ed25519 XgC3XA 8EStjHuAgmC3dgBCdRN9kdKGl1hObQHTiet+dTu4wXg -iwKtaPg716SU4zt8ik+lNe72GAce/bThccbCE/KnFUI --> D-grease r!?a+A -sY+4gQaEg6719Dy0IL4DRZgTS2wkusRzjd0 ---- zSC/T4so3DrVbS9luLC6KRwKW0+eMmMnuACzGDM4IU4 -` 2[߽D;@Ŝ.ӎ{c>oF0S|яTGgE%M.c ,'Ժ9}28i<+8M ["[ĞÔ%,ly;sL~LX>;B`M_ \ No newline at end of file +-> ssh-ed25519 13iwjQ 3woAZR7dm07GamFTbu2dCq5GO/9496s/WOOYjm4/23U +oiOyguUxWxZDK37fNuIkE48tG03qTHjL1S9wsml+Sbk +-> ssh-ed25519 7MB20A rZCZ1SlK8rrY4YTXz9o4tlx21CwmWB2yzDPDtBBC2mQ +IOeSCigCRrPizmfbmVgmV2rmcqfxKPh3+BsHfWxlOSg +-> ssh-ed25519 XgC3XA x+ZqLfldofvXEYqvbHLOVJYYvKMpDXoUKRyo/821RQw +d+Pd82d/aBjiYBFiUvccfyrXbYUtpIAU1oGQYZZdxI8 +-> K3-grease vv ">R<5y`Z f8/J +uFkkLegrOvBAkKbWs97lAKDF3vXF0t0zBeL7UC09hvt9vR2Dr+BVtvm1ijLqRpxK +dULBdobWAIUlC+zqLW1ovD12WWkvymDCJP6WQjWot8E +--- qpR9ASStBz5YfV1NMlTwGOpA41lhcK4MrqAingWD5uM +;g ; ssh-ed25519 13iwjQ 5MO0JE6hPY/uL4mII+Axp6FFRbIOpd5dL2lEj9T62Xc -3D8Eu7yiawNbLFRilGrwId4hqI8AvwtnIbHPLfHSakY --> ssh-ed25519 7MB20A XDBiNJVWgynVxFF/r044LZBOlAhoJP2soBRdgE3rcGU -CFFdnSYCrhZnNc1BNSR7MzP8ucm2j+Keg/7fvg1h314 --> ssh-ed25519 IvyYug ST4+U+uVK3XZdFE4iorbXXW8DI+OHBBk9IIlXLu3l0U -js++OiBfjgeqo7lO2+doADJqFmYzOt3MsB7O93wGDyg --> ssh-ed25519 v7O/FA g9k7IucmawQfeFSDlt1PlNkRqQxq5UVpJM3tUK2fFUQ -5iiTQP88uRyWy2RY4Kdym+1VMMtvwaLD+ZU1cfSppPM --> ssh-ed25519 Wzv8ew iK2jVsKv86cGh5pdzZ4n4Ef8mtWGwVARpcXqVmRtWkM -sJCv99OCPLjdAdOoyasAutMjnyHB3hbqXSZvR2pjxsk --> ssh-ed25519 XgC3XA D5BcgMn2y5DyZrwXivK8D/G2iqs+2cEvqUXxXDAUADM -tBbVSB0ZuihWKW39lGVRNPWZAUNT/SjUvs/BDwMNxps --> ssh-ed25519 l795CA AhH46SsmP1heTaw6yY1HNl01kz0c6UB5hAVlFBTKMlw -kKECqPPd8NzwPdEGIEl/hhlWl0I8hRtWvLYdO/vcNKI --> 5-grease ZUgr00 t"|B Y8jZ -DzXpmqSe9AZh2oef6s8btPcXfT6JL2kmhA ---- bx1iC19lCMo2pgpAPp8ESqFtN5fAjuzAylObUWjy9zo -x'fv Ȓ8 M-7hzE<Ǚ'JEJ)ef;F \ No newline at end of file +-> ssh-ed25519 13iwjQ 4vfkhu82gQ3o1MrMtZ/AEv8VVqlFm+JruzPblRZ2chE +MrC35LC0h4aS6FwqyZ8yq4ZhxhTwvDB6fQjA+l+MeB8 +-> ssh-ed25519 7MB20A SXdvtfDd4cjpZ0FFJcB/hyhlLJDV5hnJy9VhDXobaXE +Ic791Eqmz/xwYOIiRgy52TwwdOliGwv+IPMfUQVaFI8 +-> ssh-ed25519 IvyYug KzePWeKe0R1S2Cj4eJVCdaFgHCeNHRs0eopSf7X1gw0 +OHh2CgqfX37G/QJWAr+ENz0gap0/25gLTzRggFrb2ac +-> *eV7 ssh-ed25519 13iwjQ L902+KFxLZfTQyp6KGtc8CmX38878cMmXXKf7d8wbWs -yCp4sa8Ad7APRyiozlRTgUBuj9ol3tTkhLQZpf88x04 --> ssh-ed25519 7MB20A bA4H72Ew3gwCrGC+8zuC129l6+pN6tEU5ooBaz0E9Ec -EaqaBFVi/JFGvOnqW7KXhumfxx8cs41jREjlL/cu2hs --> ssh-ed25519 IvyYug 7BStG7x2qgra5HNqiIT44V69YbxOp0y0uN/3UqxGuEk -B2pFicyZmtS4pKx/usMegVeIyeesAtYaXec2Vvy7/dk --> ssh-ed25519 v7O/FA Nd0HLbnJpBNYFoHd0oxxKCXzkhF0lpwD0lgnBGKd6HA -McJrbQXuFPjkYV8bhw4p4+xWrlAslhnbkJmy4WLkXrI --> ssh-ed25519 Wzv8ew DSRTmBZ0gi47OaAL5f4AAMvSx4/5IRO2njEAe7S9KiU -gTyKispOlVJ4hv1aDmoRo3zkUddwG8YjpAUWZ3ZR5L4 --> ssh-ed25519 XgC3XA JSb9PhQ4mu8ihqUU9YjfXElyLeLATe3ln9UD0INZBUI -A+LMuCiX2XLoyelhqcHXWJngXP4kvTPXKcLbTHSGubE --> ssh-ed25519 l795CA Cyu6QzedfRgZPX0MUzpiajC3K4lhWyuWeCVQ68uUmi8 -+fUmBYVlRjtoHaV3Z3MeJ5dpXYKyLtpCHFNCKuXWTAc --> '6J^,}u-grease 1j_b22r/ -q/S44GKfvl6TYESYUI3rZcuqwrUKTrUTO2ycPMSroyj29KmoAYFRtmZKuxA9epYz -0Qs/FZrz14MP8ofrpqM ---- XH5EFu5uN5U0BdCC08Ud5eYo1La6VxfQJj9Frsjmm3o -ܰտWz+%*8i@ UJ\D:{N&rC\ -TB{j6(/G \ No newline at end of file +-> ssh-ed25519 13iwjQ 3Fnu5eYdImLSFr8pyTeQn3TqyZFK2NAlP9s0aY2DVkM +YTvnQsIboABiPOnG+A4yZjz0rdx5zIjTpV06vUgLss0 +-> ssh-ed25519 7MB20A rVgJ37EHC3jiOMElrT8d4tuoKrxvpwdmvkfpCD2WGCo +pNdT9uxAbizBlrJnfKbgELatpydVTO6ZRSjs2hGuNKM +-> ssh-ed25519 IvyYug o4XD48JA3D1leIZZ8dOCI1xks3akFogX4LCO0GN/Sl0 +UIzHMG+CUsjMlRtuVUMPON4+Tj3sua0j3/VESCzynv4 +-> ssh-ed25519 v7O/FA Sg5Xv5HHk2J28IzlpS1QNpgbBcASdxxcKxGZMYDEoyY +CYcP9ymGOANfJFH/fcm1K2ZVuzfj3XaEjhw7eDBPON0 +-> ssh-ed25519 Wzv8ew 6+kdq8KsIt9DygW+oXgAsPo1aeY9FsQAtS/W7xPWQD4 +jY0dYuun0ui/WRrTNRxYde3mqDWm85vIo1tQEvnDVxU +-> ssh-ed25519 XgC3XA oBwxVQzDO09KpbY/0Zag0nYZPsFpUXq80FYX8pQBAwg +KQgxthZlj0SGVoPwzl83J2UiHfx4ZroeZ5ycM40Oz8I +-> ssh-ed25519 l795CA v4+x6aXUUIIfXxWf/C9w9UNXK8mQsofs43JOehaDR3M +LGxvkjNTt/5ZoBIJZCDC7f3+dKWjBehUIQBpvu2M1Ck +-> xpG1S|-grease VUytEDfP %4ac )N +OmPEP9ET92FdAZRD3gQhpukku23pP6pb5t6iJnK7CYeTI9yxdhx3UJC+8BqghNA1 +iIk16ftDezV2sgcId4hxP1Yj1q7tSV0XpiRnPVI +--- 9VMj22O7np2obV6/wX4cltTQi2Z24a90pHx0nYksKIc +&7( tV#J5+0R›GuUŚ/Nh'ϬLwz(Ύ5!$| \ No newline at end of file diff --git a/secrets/secrets.nix b/secrets/secrets.nix index a55020c..76405db 100644 --- a/secrets/secrets.nix +++ b/secrets/secrets.nix @@ -24,8 +24,8 @@ in "garage_tiziano_baldur_key.age".publicKeys = devUsers ++ [ baldur ]; "garage_tiziano_loki_key.age".publicKeys = devUsers ++ [ loki ]; "baldur_wg_priv.age".publicKeys = devUsers ++ systems; - "odin_wg_priv.age".publicKeys = devUsers ++ systems; + "odin_wg_priv.age".publicKeys = devUsers ++ [ odin ]; "oppo_wg_priv.age".publicKeys = devUsers ++ systems; - "thor_wg_priv.age".publicKeys = devUsers ++ systems; + "thor_wg_priv.age".publicKeys = devUsers ++ [ thor ]; "wg_psk.age".publicKeys = devUsers ++ systems; } diff --git a/secrets/spotify_password.age b/secrets/spotify_password.age index a069efe01b5652aa481cf496f27e59f08b458862..3f96866309b66903dadd76313f60cbb74d0879b5 100644 GIT binary patch delta 813 zcmX@X-pW2fr#{0itjH}e!#F~})TA=oC#b^BH9s{k&&NE%CAiYa&pWs@)Vs{B+|ew| zmn+08$}&GR#KPPnG&R>XH8I^HGa%D6B+s}w*wo)3!`ZSlB-6JvEzm91lS|i5p}06h zH#Nn`)YQ;Y!Q9u$$iPt{ti(CrE6X%A+%m)1J3ZUb(oNsbDJv&UKhiZd&o?+L(j=tP zEW$TDCo?0P%gNo#+}qX1!#TOq(p=j#Dk921E!jP%+{`4e$jh?8y(+xSrQ9jX&#%&P z;z#jt7oU*KC<`BR1MeuaQpY?$m-4c-q5y9{)6#tJViU*Abc^hOl3)+dst5}%pQupR zlr--=_dwUs;DDSW&t$&>qjD2}56?_rNAsw{M2p@r>f(mD+CMxs`tI zxo%OO<&NfoKCan?-fk{YhQV2hPN7DnmQ{&<{*n55MOo=wRR#H>l~KV)`lS&eL2jAO zhR(&=<|XEZmEmTN{sH;=ImMyD+J)KKQLdho&oYYFJBLPkM)(9)WmUNt6y_NFg`|Xr zREA`yW#;Q^XIJ<-hWdE~h9#w#S%!ylW#<>9xn#Q;m=^jZn^~lr`i70(aXXhJI&X`xwzCI$1%t=sv^xWztGDlJR>c$$jHpGBHKGJ zkSnq<+s!T2x6m)WBGcEYz{4-aB|p4CJ18(PKP@=7$g$AZIm$7~-_t4CmrK`9p}06h zH#Nn`)YQ;Y!Q9u$$iPv-(K{!@Gq5xyvD7WfKRd@O&rLfrFVDlo%`xB0BFsFjC_Kxk zEXg^?*ww|AOFKQxEw>`stSHdO-6P*Q%s0KlHy|j<#UMK?Jk-3*J;~cEv%uTYDXr9E z;z#lD%J5?U%*2$;Ky4>ir%*S2lf1$rUoRI&i((HaZ}$wd5I6mj2q%yHz`RhdY{#th zya*3(PsfNt_aHxCxA1T;H#ehF?-2j|NJnGGoQmR{6!WNpR7c0j@r>f(E(RWHJ_Uh= zNrpMbfv&lQ;pstn79N$($z_q{md*h|RgRuj8LlN6QMnderGXa3rsY-nmLVBYPR35< z#ub(ZVO0j9fo>LsP7#sDMu8#4Cgx>DX(ri|&oYYFXIm7R1e)dMl>3EyCxuxiMPzzK z<(38)xCS`oI7fK8dX@%6W>`8}2IuB;c|@8y`-XUzdU`shCRS#rWmV)G=Or6Cr)UTI z7o|96M^;*xXQnu%=ecB~$3R57vvGu@g0HW6d8Lt`r(1-6dPI0-Ms9skhDSkZu4Q6s zRhUthi=}UFX?{s?QgXOkHdmoVx__CzMP-t)uVH$jzjug%U$9eoc7U5-il=F0a+Rx@ zMTDb8rDM2@Bf51t=9Z?;jtbdE1+E4qX%)%-7TPABVWDPeo<62ou7&Alff0UwneLU5 z^{$To6(y!#VUAqpLB&ov1qCj~#h!Uteoi^YmPVx>6?u7uULm302F3*@j^_TQxnaIO znSmhdj7)UXi&7JdQx&qp(loRboSpOCqkW4Nj7#!0xw1>r!<~b)%d&i<3{4Y#3_|>Z z{Ht8d+$y7Tb8?Cuvonf=%RCIV9nI78!ore_Be`^Sbrn1U%1R^4EptQM%X8BzT%1aM z4GcZX{GHt_3xc!s%_A!cQld%>BE7@%4Y=ag{!_kF-lBcn_~5tg8(4airUW0K`bI~) d%$jBP-W~3fqR)An^u4w<*zw;rC8y_CC;*FdBt!rJ diff --git a/secrets/thor_wg_priv.age b/secrets/thor_wg_priv.age index e7d79ee710135f956eeeeefd6f47c61f5719b162..ba14b5d90cf54a4f2ae737fc68cd600e3bca71ae 100644 GIT binary patch delta 486 zcmeC-n8h+dr#>~jIG{4X*dW_I)!#thq{PwBJS;Lj#K6%jBse(FH!R07Ro^_d$kWTc zoXf4k&Bxq1#KYCi(JjR#%*VUj(p$f%uqrt+*}~kjtT4m7G9akTP}|+uf=kyn{Sb`Ntt0*PP)I3X^^pdm{Dj|h?BM}$SdB}s!284y6Hu! ziN&c3=H_0O3Z4o*p4jWiPW~=)QM8S))MR@bV)K$2hLU-L2DvEIQ0qzVb|u b6k+;u#G&cXnhB{>b$!nr)cEjC^!rQzh^C}F literal 1036 zcmYdHPt{G$OD?J`D9Oyv)5|YP*Do{V(zR14F3!+RO))YxHMCSPG|nu~3RDO#F3ik| z$~25hwKO(za&}9LD9Q=&b#c!qEJ`-_Eb@0rt}65hFbghnDduuB&MV9*t<;Y!OwTn= z%}LDDE{zQHD)G#$EOvGDDyTFtHB3tJEeb6)E=RY`+}Fv-z)`_4Cp9BEtTHt+G{Ym$ zBR?_Hr6M&lEV$AuBCph=+$=j(+cYdVGS}0&GMOtpG0Py?)3dIUn6N&$7zM(sYHK?8>mPqM!^H^PtQy%PfD#z_k1d z-vGC;0+TSGh+N~;l;VQ$>+%w$W? z)Y1Zv+~Cr3lb|RAqjYrJ%FO-s-5eD%5-t2fB2w}rosBB8@{%em9g~f-EpmfHT+94@ ztAb4eOAQjulgv``b3?iE{7gbDjXfPBqI?Sz-O~#)U3~+qN&>@5Qt~s3vi-_ED-24@ z-6Jv!^BvJ`3$H4(NG(^eOmr?b$ni}{DvmJCE)R`}Fm=o-@zf79v?xpssm$;$%klQ| zcTY+33^C!VaLX}qb1Dl9aw^EH@^DY}F?CN)@^kiaDfh@sOb&1j2nh`=EXk@c%`-r^ zEh637IKojOyrM8ezqHh(xFlP@z_{4aDJ(zI#W2L&GAXOXEhVig)6B&zBqA%=E4`Sj zJYV16(y6Q<-N>l8#K0#v*fB6a-=!$TCC@Cx+b<<0w9Gp@B-J(3Ga18gIp&t8&W;Mk z`IYCF0WSNf#~WT#~rCkEwJWqEohmj(Iz1r=*oh8mkBS*8XA1g4ZHhMRa5 zc{mmo=b44-r+Q`RX9aOp8fNHcn=G>FVk# z7#EuuWSN*4q#I{i_!heA`#72vrYHKEd57qmS84lt`J07D=2!WIR{3XhrGM(18h@y| zUt(S??+Gnmx%w05S6%);X)Z@*5>r@%(CYq|?!kfI667d>n~}3`Mns0ClZ9!7iKmHEaZrGVo4cvMMY^M`rOPX7iv3IcV z#E;_PVIj$h2F2lFrrySdZfS|y*{=GI;huguE|EzE#xC9|X*o{m`UTD@Rhj8ruKHyq z?o}39DcV_n0lwN1RRwa!o2d`_03X) zoFan*Gpiy414~TGjU!C*GPB*>+{k$oA2$vPdd&HcSuYGS7?14)^s6%g+v~it_gN_4Rix&v!I5w)D(% zE-SJ~*Z0ctiL}ViHA&7#kAaAEXX6M*1>?MQ|6+fGit@xXUr#3s%dq+?Q~%tM&`{4j zb8Vk&M?Xi;O0)8U%xtp?3oh^QLRVKKOKsykGYeM(PiL3PG;gn}0`tr?57T`AQm?d9 zedp9l-=H#+NObFR%q>lw9ThC{l3h!*y{bISqMR!N9rMhJJqnVtOA^Zqf-Ov=%v`cd z>m!46vqO^fT^+d`&5gpG)1&l@t9-%|(*lf(TuMy?LXCq1qs)u-jZ0ICU5dO@%yLun zQp!Qr`Bzrvnx^Zf7o{c^rz+^A_$k=LS_f6Dcqx=+Wtmwo zDuihV6h)dExte%{q?iQad&Yb) zS!dg~*35HGZ@Q%$CdN9k3m^Q;HeJK$Kv`tsw8t-XKd8=NO<2dRWgwKwdoDivBM+0P b&CQ~z7hDxyzlyx?;J9V7Q28m=oV-c^WV;_> delta 907 zcmX@g{)l~oPJM<&P`Q7Usf$;XQKYGnlWTUFt7($9MTK!rfMHsMwxw61Z$^}vV_0}z zC|7P^MtWj|U#MlJpSN+2X;N`;a&|$kMOCJcv9@WZX+=Orp>alGL6WnfFPE;JLUD11 zZfc5=si~o*g1N7gk%6OvVX{x6UvgElfnRaBV}(y@vYTm^IRiC4MWN&pJf!UuQd0}PphnSHOvV1ND6STG%_u9 z(GSdYGS3RjH3>>Ab@lS{j7;$j2@1^S(k{%`FLDVm$~MnT^)D+-j`9l)D=2m{cP?_w zcg%K<^v@4*k1#WHDM~I!kAaAEXX6M*g-Wxil;je9ALsJmq|&r}Q}23bS9AT)T%+)S z4A0O&e_uxn&)_Wm(1@}KPp;%(<1qh-#MDrW0#6H57s~>tf@0$kUw?1Q3`^IH?4smw zlw9Ti-|O42h6vXdO0Euumyipre|lfpexlTAaybG@U=%F7%> z>NCB3j9iQ@Gm5#gf*r#O3r*Y#Q_adMgY{F3BHUa z6(;9gp;~6=;{Hm$|#|dYI4l~z zV|5zC`ipFwS6ib?C(ex&;|QAG|M5fX|GzA|(^dqZIJACKy