From 7e5ad736942de01bb87cd28af51f77068677a606 Mon Sep 17 00:00:00 2001 From: Alexander Lehmann Date: Mon, 29 May 2023 20:14:22 +0200 Subject: [PATCH] add explanation about putty for windows --- content/en/guides/register.md | 24 +++++++++++++++++++++++- static/media/keygen.png | Bin 0 -> 18682 bytes 2 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 static/media/keygen.png diff --git a/content/en/guides/register.md b/content/en/guides/register.md index 7b7a558..b3e1b38 100644 --- a/content/en/guides/register.md +++ b/content/en/guides/register.md @@ -66,6 +66,28 @@ The public key is what ~vern uses to verify its you, and you can send it to anyo It's absolutely important that you do not **ever** leak your private key otherwise anyone will be able to impersonate you and listen in to your communication with ~vern. +### Windows 8 or below + +If you are using Windows 8 or below, ssh is not available directsly on the system, so you have to use another ssh implementation, there are multiple options for this, the most common one is Putty which is a Windows implementation of ssh client, sftp and ssh key management. + +The software is available for download from [Putty](https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html), you need at least putty.exe and puttygen.exe, also using pageant.exe is useful, so you might as well download the whole zip file. + +To create a ssh key, you can run puttygen.exe and click on generate, this will create a public/private key pair and you can choose which key algorithm you want, currently eddsa (ed25519) is recommended, but a rsa-4096 key will work as well. The eddsa key is much shorter and that is probably more convenient, also some servers might not support RSA for more security (some git servers seem to do that). For vern.cc both will work. + +The tool will take some time, you can speed that up by moving the mouse, when the key is finished it will show the public key and the key parameters and you can set a passphrase to protect the key that you will enter each time you use the key or when you load the key into the key agent and enter the passphrase once. This passphrase should be reasonably long so that it cannot be guessed, anybody who knows your passphrase and has the private key file can log into your accounts using the key. + +After creating the key, the dialogue will look like [this](/static/keygen.png). + +After you have created the key, be sure to save both the private keyfile and the public keyfile, the private key file will be e.g. ed.ppk, the public key file will be called ed.pub. The public key file is a single line text file that you need to send to the vern admins to request your account. You can also use the key displayed in the text field with copy-and-paste, that is the same text string. + +If you need the private key file in a format compatible to openssh (e.g. if you want to be able to do ssh from the vert.cc shell account to the git server), you need to open the .ppk file with puttygen.exe and export the key as openssh key file. By convention this file is usually called id_format without an extension, e.g. it might be called id_ed25519 but it can be any filename. If you use this private keyfile, you can use any openssh ssh client, e.g. if you use Cmder, Mobaxterm or any Cygwin, though in this case you could use the tools to create the keys to begin with and get the right format. + +If you use putty, you can add the key file to the session that you use for vern as described in the ssh article which will ask you for the passphrase each time you log in or you can use the pageant program to cache the key and use it without providing the passphrase. This is automatically picked up by putty and when you select agent forwarding, you can also use the private key on the shell session including using git with ssh without copying the file, however this has a security concern if you do not trust the shell host you log in since that might "borrow" your agent session if the admin is malicious (obviously we will trust the vern admins with that). If you use a putty session, you can turn agent forwarding on and off or if you use another ssh client, you can use -A to allow agent forwarding or leave it out if you do not need it. + +If you use the pageant program, other programs will be able to pick up the ssh key as well, e.g. some versions of git for windows, mobaxterm or the Winscp tool, so this is a rather useful tool to run. + +If you put it into your startup folder, you can add the name of the ppk file as a paramter, this way the program will ask you for your keyphrase when starting, otherwise you need to add the key with "Add key" or drag the file onto the pageant window. + ## How to register an account at ~vern Now that you have an SSH key, we will finally register an account. @@ -96,4 +118,4 @@ Now you can select what services you want, anything you select here will be regi Remember: there are no wrong answers here either, you can choose what you want and if something sounds boring to you then you are allowed to turn it off. You can always request an account by contacting the admins. -Now that you are done, you can finally press submit, and a request to the admins will be sent. It will take around 48 hours for your account to be processed but when it does, you will be able to login to various ~vern services using the password located in `~/pass`. \ No newline at end of file +Now that you are done, you can finally press submit, and a request to the admins will be sent. It will take around 48 hours for your account to be processed but when it does, you will be able to login to various ~vern services using the password located in `~/pass`. diff --git a/static/media/keygen.png b/static/media/keygen.png new file mode 100644 index 0000000000000000000000000000000000000000..8755a3f5877dce3c6a2bd7b8747f35c90594af7a GIT binary patch literal 18682 zcmbrm1yr0%v@Y0jAxQ8*13`l|1gFsx+}$;}G}^cmtZ{b@(zv^m;O_1OcXylSoO{om z_wIW$^VY1@ELK(5Uw_HoU+w+vT^%4JC5-$Y?>ztjKo%7dkOKgos{sJdrrthB)a*X$ zQ6T<3vyl_#0~8Mew-JSxM&BgA0RUxTNOwA~5aoAPBC0k307~1_-?J{uTzy0(x~-s! zt-Ph7t%DBK03ZxCFtD&OwzSn!e2aKQ#9CC~n}Va(e$!A;p}6y=GQQrB87;lgYRI<_ zh9BC#8ne%jPGAYC`A>f3)DaD8qeW*)ZdraG{0&I_8>Akx-N0;|UO^D}DI~%TPn27O zpstL886M+TR+4UF$Yfd{QToQLCSrC7V+iA;^qpfxIb#LmQsJFzZ4LFGYpmnWB&?;t zniGYEI}!lk*F+}tiWC6wq|?s@(ch7=YN{=zeSX|wxr-oL_J-&_nM5t5u1D4 zBmc)|fMuwY0E*&zECW{M>%g}FKwRG{)L4$~o_;&c9TSQJ0BEr=FZ+`f)os#a5D}sA{_$#Qg*zK&c_m<6+mFN0Sye7207Q{?W zwmINpNi$0SK+pTQmVJI8A!b)C`3bNrcKs)aezDn&hWg5-<!m$+q6QViuUl7^;@=E zs-4h1UP*vw%uy8Ybrea+BAA%OMfR@#fN+l*_HnHBB(3zPFW>yJ!_0kGe5V}e=nlL$ zCEwU3fBIS8?N=>Yz%O#*O}?4C$1~~2@!K4@$aj-kJ$k~pwhWt=WBitnieEVifLcbmpQJt&4MF^ybLc$gOSiKMP?Y%aq&`N>XA;B;g~Zk%jcPE;b%-R*zcGrglwg zu(jLnz5o=$mhKmpV(!IwoF9R%obOgv)F`<~U|t&LH^z@W48wvWdtnj!qyfGM7mJ0R z)gW8V^cs=Jfz38=IYBP5Np#Yz7LQEOK#A$t%RWpSvq_3wRKf8`;ZZ{q$=32bnN~j6 zz_Xt5n8a+vtGtMA%ZNDdrI9%WUJX&eMx*s~BLfN6OJ%ZhqJGq_IB4pWW<`bsgQ-s3 z6gA2F5;INEVC!o&w)&@EjcUM<#Ht708}u_iC63O;U72{wxx5>#v6!<71%)IKB32G(4kPr(d` zXz*3E{N%Kw*dD=QjS29yBUZagIdtvf{IWS$^wNHTds-Al@KNHq?!8+yR2~H>7oQE>=F%yQ9O-EZcoMDR0-K50|%;Z9+K*S7~UIg<{Rl zwU*OUmZ2Ij<<(X60su7p_5}lmt0`k7{2ne8F1na;4yoOwQ1(eXa)~|eotcj*s&WYR zs^von$4PwUDzr*wNC#LC0DM032fin9k)L2<7qwBH-vV z4566M|4)jo_TV#KX~^B#RLk8+oc81P8Mv;{`fZtita~*tUwj}wZ0JUG9Ep!@ZCNy{|v9cS?$o274v;j~h($-LSH5BVye!VbHV zPUaoZ0L#8d3SipU<$P(9w0zFI?kU)}M6aS$_y^0wR&18S%xHhEG=ao%ecKdMCVq!T zC%v5EL1m~tPSg5N&<5^Osn&Er4uxK)j?r>F(TPe{Ic1yOi@#6x`A1{c7ftj&Q<2b5%r~h#V@Y` zR+>OMST)QrwK|UVe7Bg3CU>!kZAYc_gGxvT<|f7*6?5p~(ASr{0?6WTiwT7HX!fKE z4JCvRHwr_}cz*6Z1Jv?V_pJnmb0?+TIN=In0+x4b(ZJDB$eb58KM(?@;R&2&;d45@6 zgBp8Lerbb|x!?R8H;|=7l}B_g)g!uQr7ZCIx(qSbA(+8G6-YANLMlENj*>h zpXdMgx5*MHL6M5;F{DKW;;$_5~j}lHW8`SFYXC%cRc> zs2-GSWR^7$z~)oh4)#`QCwO;i2axvaO5Or4)_tHV_CFRbKUZ+odvoEHh8R6~%Nba> zNIaCU^cbP=of+gM5u$$I1@@(;J>ANJY~YX)-;RKv6OB5uiIcZjU#i^pxW zKLYmpKCQ{5EsJs`*w@baFMnNorFi(#CoQbX^^v;4mezcRt& z(Gcy)oO6ZNs_F*IP{c@b#M&Jm*f41e<`1J_beV@)okq(oPG-?>7?1Zy=ATpTtHG^d zqG}Hd_xveoUztpAtgseEZE3JyRBC2lZb8Yt;qg=xRBU#QMLZJK^Y%zux$@4fG-9BR zeIK0o3EG%0Ri{q?cGNG?ZD&;_(^DQZIQcEdOv$Y-S_YSi_!{N3lCC`XOMG!Emck7+ zadV*%s;mHbZT!5CnmoY*83yX50a6KEI5WG(=g5yygCL{IIIm;9Jho%YoLcqWrBDIe zKooUlNoJrR&py_~qC?deF|D3ai!xTF8VuGzfxJD#TTu-0_X&>6mlss#=?La`4sv*}zgfXt-=c zo1`S_G6h&E4Ss={&@)8wMvJ-lsGBuVy1+Js9A@Rj!Kjobb&94=g&&w)Nwu0{fxQaK z6kuIj8!QLbJjR-6?LiVH(BxUQqFD8nm6VEDUTh)+RE4EaQdhb+dLtk^OGQUCmh@Bd7IFkIJ$y=OPmJy@oT-h=uFdT^(N@(Q&s5O;sWXpQ|89!-JL_ z`LH*q3=fbT#nh`ai#{4f;zsJTk9pxEX1jyl)aYNGdl1E9jAXmExpCZy@-O; zv;Y&SkC&;_HhnjrI7~^I7S*!E$6^GUSQBRv#Rg>{2X`v-p+xxRo|D3}JDl&+rEUWg zmjdN_@v1nL#w?L$4~+rKw#i~B%0JBhf|;}F#JQsA!(1=!j}qutdfBhAUI7YL1fcQF z$OqO-CTQ^OX7eTQ&5=k~3FA7)Q?cmogarT_5hUbDGQe0S?G z%OpRx!g)k?y^kRt^YF}O@v9^JPTMjp;PJ-xA%y-OxW+j5?yy;7>_)6^M-D_6M(j>d zk49~4;}5C*I#+flqb;haYerc$7fIcK+edCzhrK<4GpYB;S}7X++caWYvyqhhMqMW9 zV^s?%y(QdJ%Nh1CIKk0jOY~>0NhY;O`%a4L6e~#nZN)gXIoqXaikyk_4->)&#xJW8 zC0l%S&3!DB-^jb>t?~NkW30n_-=8WT~TTPjnhnIWW%kA!!}B5*2pue$#H**S}=lIl7Kh%lQ~(lURdnjOqqF!XD+c(8>9^@wkgenK_ZefRO>(4k|XhF z=(ENxYlbAvN4#R@z@EpW9Y<2lNKkw`Wq4m@XP^P`XOKQW#(YB(>Wk@5!ib4?|KToo-4~$f)`J3-D*RSj#atp0Ew@ z-0F$qP{vt|W%ZzXy_?cBBog9OO)R(76p$xd6zN#lftnfZCvP~-$vnqp^9NoPx4n?Q ztS7=potZ{7;%z z3g4c%IEOFZsA~m;t?e=;jhA!=zAVhj@21hI&K7-eyEw@^kMmI&Vh!yCczUCW>0DxNuM6_?snHIqDVSOa-fZZ@Qa5^`Klm2EYDoix(R?(UV-vPJP)sunK@ z7Kbi4B7=-}iLb2clIV-@gso7n$hUXXP-=*K zUPbS2gNjWPE}6iLY>C7Z=_;nAYQF1>xlaW)hlnL5c9T*lH|02h8FQFRVpW9S;~EmN zy=M`+v70=8`51`ORmMtd+eDrg8`qH~vRf~EmzQ?5PF+wU#bnUvs6O$obM(y5wLG#c z!rON?=%Ut-YE1j9wbClqCnck@M8zK4B^|C8@?cC5bK_FE5O|zr%yNGZKfKZhjz7gw z<2JC%CL?s}Y=K^cQ}4?vW&&bVxRsNPj)MwCx}pc(qI|86ichE7pOU!g4GsXe&z_t& z+uXZONKWr%;I}c0zlEr1wwcACA><}?FK)=)ATS4L*bj%aC1|a-HN|HLiu)nSKBa+F8-;L@HHm0h#c)#{g<~gT^~j?X8HHp zGyGXn#2Vg7?wV=F#=83ExrS~9UYzFn%|>!8OqGl%O^=HBXzil)qYdzjkZ8(UJL$dM ze<3CC1y=k+^i>lJLTI53-N>tMM5vv!jVYPnikfH zOk)1u@p=nwA&ehy(c}BalE55-aH<=&uo?5Uyn=-iOEuoiu3{HDtB<9ug=9z7O6 zPLhz(NY83prl!b@nQKPZpIpE7slI`EA~t15(hET6*_pmH?z9~_q~5nam6}EgfwA;X z)|EY}BZaQjUCW~u)MOcga!Dn|$9A`(iD9@Wn*w;&D|q|?rN4T1-lZ3LpKUS|)tZZ? zKkQB!Q%7HwMHoAev5bei(ws2Mw~d`(ts~Lku$RO}7FnZbL$^}WA%(IiyJ41Y$oy<{ zTeY?2XM}18@$=kFSAAp)$ztV_qpyRAXV!g7*cS8xML%W3{Z2p@8zw?5(RL!FYVBW# z?5(!f6~$!(&uwPSXMD5ILtH1cxRm<*TNq&PQx)Grrt2$z$z^^0kfhsywe?2a&l{&j z0fd~Bppy_dD42*x_0AAo*U-fTo#F-l$}6^}Rk>lN20T8trh4Y<@)O&gw5zbF)Wx$v z3fKuc+8dfo6Jj>**wI3js+!A64FwmwGF$nsHKx~H@3CV=-pOHw|TmuUF1o;J2lm7vog7KcHv+|Lw58q+?5h1^%JVBYsK zbdVCZ*sI|OeBKB+I2ZQcU9Ox%`-L~nFB#778HX^Arr!L+x}-+D`JE*Fy@eJ4nC`{u zUb&jy%tQ4;ako5#t)m$D88ch`CfLfNr#!|t^N%3o zS|M?36TCYE&s0S0eUGF%C4--R#kgeo=$9sn6m=%k!c}UIf|mExeMWj8cvcTI`T%Y89&rIhNXyVi2tf>v^-e`RXEuE2A)kQ!k)eMw55}GEVz0rJaQLt@)ZjJvthSr-kT%7&;#~FeET@ zWh9xLiS;(#vv!=RkJ_=nnq%h^1u_7D7zh8tmgI8{Y_r|4ldoz5@_}9={Nxl<#$mD> zHGW89rt8L+V&Awe`~)%$4NS!>kQofS8G6|CC*tq!YTA`f3`|5ep94Jm5&hh*B%m*f zMIm4JtbETq^t1Lj*tnc!FXmb7A8GR!b=FNyXT&T8$V=VxQjOCZGX53E(n%Wz=SHw~ z-vi=EUS7*GX81h6l9*xHLrVm$I$o;h}PlU!ValL$sVjm_D=2NJ^(S$ay zCldSpKg}*=FxC(rg%;jZ5%BN4-_k#I4;X9>eEN1dxb`#1isUK8pu+S&HSAu&J0`kC zyhQd`(*8BHR%k8tTHPDrc!+$4#lik|MwY*aw*|dKJk3tmy&~v^7!fdTqI;!nVSj&t ze}8^_5oO-e!qUQm^>Weec#jM=5Xs{kZj3~u;C+r&5fal-uCZy~D13{mvlZ0A zRpX%4*l<)_(2+>ODe?2QB;EJ#!7&|_QSp9d z6BN6-9E)L4&G@2#1@iY-1~fqPEsIq=C|8au8@hZdLC1sxIwDPeSPxEg`n=yR+v!46!hL%Q*m!+*N)0v z*tS(#qV6xHFR=POY0Y!ToT1j9FIMGaI={^`A=c6LRPAUcappf)xA|#nIrPS2LW7AM zW&+=Yvfx}4bd~by)rn}qJ1DJbrKV?iT17C3E)Lev)(L{J_8pTu{($b2b0W|&gJb^$ zxIM(CC&NGD-;T3yNF}UiU!=J5>&YY0nPgktbCqa%@hicZoE`8I4Rf> z(i=1W1l4oti5a=SqZ&N=GnMS)Djgk|<)X}Vio}3_Qcwa)rTDqzn*{H%(9m<+Rv*)% z)iE6sifCi3PO(a~;2nxq-J;`FvFJlrtSnU;9@?4uiu4I21J!Cb&bdV>GnWBBNR zk){29nm-Aw8HH!0k#>?`GY>@CKb@4C`I>4>ODaE_mP#elc2mSV1UsircxUXkKwVLN zZU*A-^YA%)4`>*n2KueHotHHOlvIoN#Otl$A2>=}3yM`U#Hxg}Wt$F&Ag{!V#)nP| z1l1*3)qyz#K3Qw{2oPvw?&lY#P%VAf28}{lI)>c|vN?+K;Qjd8E}v)!BTYH|-Z2W` zU^7lIfT--hwKWAeDU0%ya2tRKAu6YW%82QV`izIXe*NB2e@Y*hkNmGfxR=zpd{0 zV-RvAHXFHUmlGQ$vnE5&UrjRuaCJ}T9IS8+xmw8?b|%)M?U=;%ehFXo+TCcA~L{NT=bMy(JiVqfUE- zt{Mfr(cLW?HmoI&vBkJ8i9QIOkW&X~9-}iMhZcjL_VuSQUyTt_#SQS&l`r-a+C#+el)d2l7-}>zprul`SOJf)DD{)3c9y1@6;mm zLQu+PWF=>^)7C7=#;o4umAl4%W{TtcZP*@uP|Bw2BT$3}>A3jII=kFj$47q`saiWS z>W_0ss=~`^)C#P@&irD&X0ltL?&zf}UOJ3B=$!$4rr(1j!}VZ4U@*QxazOJvD+9-> zqk~$>#AIq!J{xQAQAe(Mle@##``hv?Wqv|yDxMK`PHl?LMg=7**m~@ia+sTRWXt>* zB)^4*dBpT6nGv<)?eM@TN6Yi9f z?)YxFgzH`$hxpZ;KU~*RGaS|-rt^i3`7$^&$elcLWhfp0-6BjBCE2Y=% z4wOfW(sk9e*Rq4{nD67dO%YL-HKiJDYH0y2nu`q0HFOJ?2!2l+o2@vqUt+bCU`+De zX1!0Pho+4fluKVHEXm>!xeNCCFnUo>@s&SPu%AyBOxG)LqX@!A@m%!+YLQVOYODmp z+xqwqJ^=tgf+c;Uzay&u8X%wlDXvf-r(OS#2FR_~e;6Q7et?xNqK~H#89PV!%DVLo z^a{Q_@TF868}MroVWV_OL9f;~(_BxSGCyY;a7u>|IX-S++;Wn@CCXhh9$TDvHIE0Y zoPh?;g7@T6cor2(p`2UhYPK(7a4%^KHAW+jU7A-qcr2#4ApFk4A`B*@4-u@+ZvkQD zbl}D;?-jhYqrRa&jBiVK73)#bJUv~RizFvM?<3_?ne2zK3bI6eYUL^jWX0{&Sbk@k zHmS@7#Guc7?U9Sq3K`6xB3WZj2)Who)WZe*HI%qk%8AP}e@#>-?a`_g!^lZq3jRwh z`?2nJZoo}0H@x77nn#6b_FTj5ns|ixMYR`F6?5RWR!&r6w*P%_Y77ZXk;+RZ-eQ}n zwT`?`2|F|pr$vT$? zfe1pP7ew&K#HwG%D+-=>p=wW#5s|Lc*DkVzYG0RljLpt zxqkF$h&9+!bHqoh_A=V%X38ffJOkiOlEOsQB?jlwWefV2bNy0i1%s-B;1IL2+gd+D z0`AY9n0+SipeoVS3}Riz#}~I}!}6n1Dr;}jLy|?5pSM062IZ-W@=*$x$yzgWC06Kn z8WLfk#W@?Qz6zUB66S8pdIoS-B8Aa`s0C)nhh)#tMc=NQP38_$ijU~->u%$z?=5VR z|E$bhufzn8hb)r)GWcEnK#7_u$PB0SXI9XKhFstpxI=1xW+{c*mtc;s8j3KRDrIM{ zO`_@f0i#^`l|p)kJjBh&wPXEk=>VReAW?1OO5et%uRj_eXQzF z&9Og2|5}wCO9H!SVguMDNKX6!Ot>M;~kO})3b=JC5IBFCFV6isfXh!{F)(^!%<)$2#p^!SRFy68~mvSf}>wd zU;SiGH>$;UXp~X1=XeQle5WzFjfRPEFqXFvdibxZ{=caE-+oH1)E!6$0S^kUQ7J!w z#UJa89)=KkTz@+q|914R&Oe1ffGKv}I(HDS*@VaSz_F2jBfBT`5H_-d=6ZB(?|F=& zJq6JjC&^(n?6?$9AVi}l37sbRKy<)bvmJK5Xd#fOKvg0C9Fn|YA*LVjm7l?+-Y%-2 zWuc6(e0-%tpTTryo)^LNlCuPvGOfQbdD7n{*9?BQlMT1~q_YP6XMoRTc;INan+w)F zNrv?oi7YIg$wif9F0tv<388U4RD>h;UGHy1v*;28?p)92I4dyQ*{KdD(X8~nfbQ2$ za_p;7Ly{ZzYzXhSf)FfGPu#0}lO8J)o>Iso6`edfd8$hHGgd)L+Vv6@?z|m}MOa}* zlj{5<(w^B1*zB>INw(PNk?|1`BtnG63;Y5_W8*2E1IT=!YLJ)N8?pB2ikv+xi??TJ zOmU!vvR2kUy^ap{!Mj{5#9py;{3CS|`MT9RlDt(k5kmO!(IN&+>U*^b%n~4_g8fBQ zELt&SaHbj|DAjb$Uv1OzC0HS0)d;c5unHcqL{paNHHhXMnM%=#I?*MGbU}Hk54tO@ zQ$X&^j9A0uuqyBMkv|m)1^$G)-P2DX5A?R{UMcqP|B!(Whw!45SgAd2OQsDNO1W78 zy$kGbrzIG`n`e0Sv~$jMyS8uN|2Me*d+Q0-j!wc|UL&@$M^%9hruASv+PJXS^MJU& z**knsxR3gdu=U*|?d!isr9=!PA!n;`pz}JHp5PUGNUDciAxR?M{)@cgJ$PPTRO#H| zeFS2H;)YmIcAUtQyYYwT%{v1W@uO)klvpn*1gXC3J*y)&8jK$0@vQ1r(I|aW@|#R{ zQL+M3uji|8Vra%-I?|J#B)8bZ=syY9Ek(~DAB-Vu?m|y826>{h4%b#KQhP%Wu^ZK_XAEI5H$*H z{g)uJe(7GhWlN28Jbe%qx=u!%45hPa1U%VvAqKN4tijXg)xfC}(cnZp#PLX z6~F0cQh)0z7Bm+sLr8PODK1GezNS0!R!u6-pI-+2;^O=@Wv&S2RSf$|<F7gPf44hC{RbIZthjyho?_V z=Hq74-iN1_0E8_6lh*n2-y(Z40>1znbj3zUh|C&98+zP-zxz7_^uL<^Pet}@;39%p z;knuS?Sgm?r+sAY$o+K0utIgb4K~EXsBMC%E%ejtNza|%&|(jr{xhD=Z{kTS1RL{~`+Lgs3QNWjTirY`@5u{NxZp-@7dp|AV( zmG zCKR_rTtxF;XC;a#_5vD@&X1sDf4L{~p|}(=9-A(Tky^O0g)rMVy3q`LcB)(OMLf0F zMfJ37-`D?_R^;Eu3WEIm52NxwibudZCKV!gOYFZlEzGQW$(QA6Ba@%4S(!ieV*~(e z;6Ewxr@v69{#NwY;cZoABw*LtrTOd@Ny>SP1G@7=44(Og#p);`P!QMr61>IO^?B-7 z8UQ=bZbTdEp;pUD(dEX(ZVl1At6iZGiXf8Ze%KrhsssN0i%a3nmw2UQu!awypi*-E z%br8@I+v<@$AcRH&Y;?wOy$wUu7m0e-bOdK)0-5B&~8{wiB^%O@e~Q{%PgmKsc;zo z9!G9F!M3`mrV!U}IlwQ*-S9T~9>fC9Xc=2WVr??G`KmT^>H{qEd&c#!D`dwunt41Y zDmGJK@Ur?sk*Ian4(d(Xa{<{hdxEAAs)+OSQYk6}ialfF?Rzx%Pl0*MyXTR8C?hT! zh6!O5n+cV_;f74tsF)0*@&TJ z;_OD#4Nzb-R6`isxl^vxcC#jPp~(-j8!DcI%pQXn!J7>CL(74Eda%Ory={%rCTm&I zfm@1SvpYwhSQ!Wt%(O_}Ce22D7w{0R>5CA0Pj5nqRu&ITxcwcI7$|&0@><@wSD5Ih zEdRNERB*IL$=7)#fJ!>B*=66QM9r%$G2i$)J)cKgGuTO;uo16gy^LSUwD?C=D$1@Q zUPMUM!8B)Qx4kx3v#@%xdPrpWR{4CQaPa;DD3gsOUw;FBwsj)(c43uq!mdD6u;1`E zop%vlX9UEB1BUw!@FOM_CCK?2r-GOShr}W1;{a_cHB4{P^vntbojy!7VA>BQw03dh zqDaZyGnVrjU@=tmE7Vuit)aQfH8@jhPyB-MqCOh2D%%Hk2^*usKn7$fK9%-as&j~o z4hjQ0;CVrKn=ERl!5Zc!#84Dr&s&ccaOY;g2`ATd=Y%U@vjuGLb)8)QVHB zry|Q+W>%q?N~VrsE!Bpx!_?j&jA~-oKBqWu)|>2nb-#WaTBd4+z3;gZx;s4hdj}>9 z_*{++##E%Xba6Vb=Q*OCykSkC)r2CY&ub@Z-;jCK2 z7Mo`2BHj$_yX(mr3x>KR0F+UowXET7Zr}#4J;opW6f^6o_s-9>uo2TyDFgD%!;S3N z*lHeX2ZOHj&$OD{jba@vaPO?;!)uKSzf{Vs7ga zb^$hj&B2{jK^l3aFADq^qw`f1ixJ z>BcdR{)L{spleS3?3a9<1UUL(VAsL4G**=W6@}qYixh^DN&zcVpLM3AdXts=rlQE{ z^82=PvJTIP-yJJ@n6$O?>qd`oPq}tHcteM-xsJHi(%W=#WisR%Jg}BbTxxPb|A3d~ zYju`FQuR#NGXc`zR{-f1lJ&3l;_5?Q>#kQ9ZOj|!wV%Nfn{dbJ#CFV7blL@>H|VDQ z4Q^2`X{lI)QZN?7-+%XPr&?eeS0aM9dWURdVjLR(`U`P1seYSc`O0%Krw_pnLbW^>=Gh+71Fmv*Wo{=7SS{Br8Coe7Xvx&ma zZq)c}(nOpz54UKM7O_*IVtzP_iF_uP*MU3eSB|M2QGFZ~vz`aeBenYISVayib z$cRG)n>{3q4FonLUO=8LoN4|6%6?J{oK>9@c^|Pdq&IwzHh{8i|>AH27~oZ-;JSybXno302!4yQ_@5w=H$z$#ZxPG62s^|zqs zPv}-Glbpv`h*dRw#RhQs21T@;tsnS5Ow^3l4l43Htx60!pR1X5ul&mN)%u$8Sydb3 z8+`HyrA9IlfQvJZ7>3Z)tKc=g@oN6L>yLS{@1Vmk*g-hNu<9Rz^T+5|G$6CDHTUMgpL=6vO=uJxr=ny(7ujiTBdN-R&Z;d2MO z@_RL_LME}oY{PbYrJZ?eM?P%Em+K4UPy#jx3)Jy!zZp{_DSVGTjn2$m`5Dbd-P#eY z%Ov|&=$J|u3M5$sWy-cEM$@n=G@(QY#jd4gW`2RU9rWnF8YXRNF=k?I@8w#1`g2aQ zfY7kfMTU50{4=NBUc>27DItgQSAD82A-l>(#*)#@}|uz(snU@x}1d zbTuVvwv`=6I`FvU?#B6?1JR%6^Mfkhlm@356w-vmLvN&25US`dZp@i=fGB zT%Il#|3nqheC&wjZ=Uy|m zfh{MU*JM~PZ_69r5QykAP&&ugJmjO7;-av2v@2u^Q2{LEbt^>lklQV%{++!Qq{xFl z4xFW&*RiT>+Ct-9?fgKY~UR$tkrJQ^0sqMX{NDwKh9W0Vx4eM5LV9W5*l zBNb=$j>dHT3Mh-sRn65)m)S?->9S&?NcFpY3RYi2<1e!+w>N~vi=3nC2mn25c zHK+?&!fN$3Lb}^vhUA*CWHIb~AZ)B}rDEyllU0L4+8GUc5wJVY1_43iFYK4vPPb)h z?3sG5sZ|R>u&fMBVrc>kMKQM7rlw?r;)id>_(1u_CUV2tz#Y8ueqB^?__|I&qye!7 zUI`zC`5VDntyGgVN&IL_f$O96+o*&!k#O3{*u%5a3*6K36(#t2)&f0dj*UpzA}DFCrO-nNA3$#BZ#7rI!KBCGs)t(-R&d=s9GB#|@<{ zl>dkb3B)0C1X#oQiF?ya`2+=?fbm2T8PfKIs>*F)_ri|>G&&nZciw3aC67sulMB1Q z4hNn;aWuf*rH8Ob`MBS|h935KA2wRaWK0F>tnmqOoxvo37Z>9)qJpWIB+^TAN8{vpqJ`A+n z4|rU!9NssDW!)|uKH!@;wy!_kzxhS#55xvVAMoA?KX#n=@2{8 ze>i`oj9Eotvkxeit%&5ke1BC zH>4{`3(GOh+f+znKu{Vq#c%$(3WQ#nmyuIb7#R`?YN+>fJ^Rcb7RvG~M93;ZIy5jN zgohB(m~%6dADppX@qL6fOx4~F`Fi>um+>`iUGN*1t=Ue5`(FhW0-xn%Lov-lJ=Hbb z_<1H|s-iv3i^*!z5jTK-)vd{xU8m3y!HM4b#S2blMJ(B^@T%bTBDtZqKon zCRPjEYgY>i_Zy@jcHT0p@{xNb`#Ud;F~2M8%y#{?Rt`n%QB?- zw!c`h+${48DI(rip1-5WzH+WN8%fE}jm}X8&&-CL@)^A!nwsM)8#c#fF&c*!FZ4KaA<>Q(wocJh{Tp5Gh6A0-%_(6t_+n zn`(EG2Lw9sm6nWBkO)nVi=^hpO9#bwr)sS_SYA_&e>IAHvLyLgIwVoBS z>MVjN&$QM8kGn4%Sz4Yp2%gxN@Ln?oLB7G8tH_*$BHm(SVW1{q7TV;_i~I2!?!OK+ z*0ceQhgDGTug7yl;{=c48ZFXOAgH5(fb~-T>Z`_d;dOQ@9h6%VIp43(02<7jQT!2T z;2q3YTtPs48%L7sMr>&W%Viajd})gylSt;t6}Szl^uV0 zrjcULYD-gvVdUI&g_}&)9N@d(sP0EeE!Rof_dCih$03$?*J+Q}s2*4R*OcaE{`a>_ zkIh}b2TQZMe9yT!Xt%9(xYJ_BdR9svZ%Q67EFUklAJ4TPa|LO&Z)d04cda}5-N&*q z77ye!5Mp?IPjln_>$DMnQv+Csckg{`7!Jik^aa-lB$NXLH8EZ zV^9+CU6uB2)#c&Rtz;7MqBQUQc&6`zd$-r1g?h(9cU|1653oK9-WN%M;vVoGNqiBi)da->Xb*z{OE!JZwW2PdX(`s#YEB z3|Kqb^my3xIPxaCl1w^oI&?dv(Y_88M%sVxXUW`dT@i8E(lBvuU^b@3{D#iN(V!x$ z_xEmHqe9cYno=`uUh-Sb*G#%ICZfJ~XW&PRK!&}YNt*z7?oA{{CVNOlt%5<`3+rqC zN%y1+GtV(=5^yvCI{?=@Z>zD^(MRjYLsB z0(zB?N5#%BhCN1Tv||+}C1*dD?Nw&==xg7t&zzRhrF#(U)(NzvwwisT5YpU;y%v)k z&o4Gr)-RFdtd<@kPew7II@f$RnKw=!cEFQt4VLacmV(7Vv_@@`QE2F)>tR+L!Lg&w zH|H9<>;y`!UJChT>Z9{mEpo~Z)#KzW*fS1e2NY0UDKc1^`^`36^D%OZ2~&H+e%|F8 z-P;-J-xDs2=UfCZx^35#Vh2%FO=$z2bdFQ5oma)Ks-wI&nY_?X{dd2K?tV*&lZEbz`MEEK>pnVdp3N_3 z>WAk8ykvPnt{pTUKI8+Pa|1;s$h&o`&QjR=zo(1FO3f1T)C}~}6mJ?9<7_L2a{UlD zAP+qrZ`UuWTn}BAZdXt}D2d=8Z1=QQ_y5v))lFwY$#wzOp*%!;e*VFer{z~}K8XqA zeNf>MYj9GFJhmi%J&*hh0WZMv)C2EWg1EE4?g%Su4-Kpn&x5Z_U(c^(Es3q}H`OIB zi6QcfOAY@Q7Q>S#TpaK5ddg?%{K+-0)zS~TqtkfvM0JyNube-TUbKiT4b=avC?x?G zw#=$LqD=m78Q%1nK1}02EkWg=YqK17^U3Laq45^+)ZeV+nc-ajq57hcAPUYoBFgG@HdwuV(zyU&~5MVMX$ zFg!98?FF=OYA*D|n-OP&heGsxCFt2o=!N++)4c6YecG&8vLC8Ov!T5^UpRt}d-s># z7fcl}G#mF#oB;c0*Q!;OKrcHKDHqSyRC07W<^FO_jE^HG%2l>6eT_RUjPk+)Uo!}v zZ`*-pQsc#n)14D?uFyczoKRkzy7YLzbgA@{Nh=Xy9;8&yp0Kl6mJ@SOysv_kG0Nn4q9T7}P|4LqLOws2cY0|y9-q9GmQQZr6dc&6E1?dqrDYXBnWzWr>srLE7h9+@ zZcMcNQSFUU>rj`I`BsaI_-zAJ%YBpe0_BoFQQbadWD}$RnLjxUHi_LDW!^BoYAX*t$N)qsTNeOFldt4ZKT+p#}0vllLjQ&5?HXQRg!iOUk}Gr^4omlYMS7O0xLoYTD~ z=2dR!ZP%Krx#DM7dSHqkE1Sv9Q~}eL(+j6N*V{@j;?Ao2>$lWteui1rY^W!}0gJsi%hbu;Xt-?2@ogKPRPFFT|NF^|E#ZGN43`vxkj zZVTAepYk+y<2vB3D%Ia2I*=tHCk#{$tg3ucBB8rByxREgjkx5OU#@!QhNqn0m~{Ns z$HmdEJx?=!ygRJ(a+5}v#Z{+7-J%t<(<^^Gf3I_O@8xg4^&H~mPo^x|q4;*6+})Pe zye`k=2=Cl;2GdUV9QRUAonmBt?Y+`eDP?7q{7pwr8J@l!opk8T`%6>0SNG?vHZ49; zvh(7LX?c-4i+sOK_0{cOvC(LrtO%oC^Iza(XNsfAw(AiSoY#u4HB9}#ahKMmKKZkH zH5Jq4*yF#wykOuu2OJtAr=;~$_ODr#boZ4Ap~r3Z+|7F*Jadctb@TEs)4g+)AY!6SoV1cy`t_#C=N(yu{x*99^Y9nmI7d|_>G-|h)Tb#) zOiU40JQcW1OSt>u3E$qAq9+dXNqMKg%iow8`aX7-%G&w&)t~$mDZH4qqt|=t;gV*l zI~%J$b*{8Do;&078OJ5tt%I4?%yZ+rex$O*v*hd1Rf@pV0UA<)Q`uU+Z+CwB`EdIs zU&(Cjfejo*6}Di36Jng#n<0fG^0*HZ(x|LtR6^?q>D?a%~vMHoC?{an^LB{Ts5j)gCP literal 0 HcmV?d00001