From 2484bd9839f7e19347724314806a31a76adeab91 Mon Sep 17 00:00:00 2001 From: Pleymor Date: Sun, 20 Apr 2025 20:16:24 +0000 Subject: [PATCH 1/2] =?UTF-8?q?=F0=9F=93=9D=20Enhance=20README=20with=20a?= =?UTF-8?q?=20complete=20setup=20and=20startup=20guide?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 125 +++++++++++++++++++++++++++++- docs/assets/client-connection.png | Bin 0 -> 36817 bytes docs/assets/join-game.png | Bin 0 -> 39529 bytes 3 files changed, 122 insertions(+), 3 deletions(-) create mode 100644 docs/assets/client-connection.png create mode 100644 docs/assets/join-game.png diff --git a/README.md b/README.md index 630a87f6d..f89068bdf 100644 --- a/README.md +++ b/README.md @@ -20,7 +20,55 @@ Feel free to file bugs and feature requests on this repository, or find our chan ## Setting up a new server -Download the latest version from the [Releases](https://github.com/hopskipnfall/EmuLinker-K/releases/latest) page. After unzipping, make sure Java 17 or above is installed before run the following commands: +### Prerequisites + +Ensure Java 17 is installed. + +On Debian/Ubuntu: + +```bash +java --version +``` + +If Java 17 is not isntalled, then run + +```bash +sudo apt update +sudo apt install openjdk-17-jdk openjdk-17-jre +``` + +Ensure unzip is installed. + +```bash +sudo apt install unzip +``` + +### Installation of the server + +Download the latest version from the [Releases](https://github.com/hopskipnfall/EmuLinker-K/releases/latest) page. + + +Copy the link of the .zip in the page linked above, then download it. + +On Debian/ubuntu: + +```bash +wget https://github.com/hopskipnfall/EmuLinker-K/releases/download/0.15/EmuLinker-K-0.15.0.zip +``` + +Unzip it. + +On Debian/ubuntu: + +```bash +unzip EmuLinker-K-0.15.0.zip +``` + +Go to `EmuLinker-K` folder. + +```bash +cd EmuLinker-K/ +``` 1. Allow scripts to be executed: @@ -28,14 +76,85 @@ Download the latest version from the [Releases](https://github.com/hopskipnfall/ chmod +x *.sh ``` -2. Run the server: +2. Configure your server + +Configure at least the name which will appear in Kaillera clients: + +```bash +nano conf/emulinker.cfg +``` + +```ini + # MASTER LIST CONFIGURATION + # ========================= + # Server name to display in the master lists +masterList.serverName=John Doe Server + # Location of the server to display in the master lists +masterList.serverLocation=Chateauneuf-du-Faou +``` + +3. Run the server + +Option 1 - deamon mode (will remain open as long as you don't restart your machine) ```bash -./start_server.sh +./start-server.sh +``` + +Option 2 - simple mode (will be closed if you close the process). + +This option may be preferable if you don't want to let your server open after your game session. + +```bash +./server.sh ``` The server should now be running on port `27888`. +If your server is installed on a VPS, open the port. + +On Debian/Ubuntu, if ufw is installed to managed ports (recommended): + +```bash +sudo ufw allow 27888 +``` + +## Running a game + +The best way to know if your server is running as expected is to run a game. + +Here is an example of how to run a N64 game (remember you are not allowed to run emulated game unless you possess an original one). + +To do on ALL the PCs: + +1. Download and unzip [RetroaArch with Kaillera support](https://kaillerareborn.github.io/) +2. Run `retroarch.exe` (execute anyway if Windows displays a warning) +3. Load a core > Download a core > Select your favorite emulator +4. Configure your controller 1 if needed (it's the one used in Netplay even if you are not the 1st player) +5. Download the rom you want to play (must be the same on all PCs) +6. Run it once in Retroarch (Load content > browse to your rom file) +7. From Retroarch main menu, click on "Kaillera Netplay" +8. Click on "Add" +8. Set the name you want and enter the IP to the server's one followed by the port (example `123.456.78.90:27888`) +9. Validate with "Add", and the server should now appear in your favorites + +Once done on all PCs, the player 1 must, ALONE: +* connect to the server + +He should see something like this: +![Kaillera Client 1st connection](docs/assets/client-connection.png) + +* Click on "new game" > if "no games in list", close kaillera client, run your game once, close the game, then try again. +* DO NOT start the game YET + +Now, all the other players can connect to the server. +* Instead of clicking on "new game", they will join the player 1 by double-clicking on the line +![Join game](docs/assets/join-game.png) + +Once everyone is here, the 1st player can click on "Start". + +Enjoy! + ## Features ### Experimental/beta features diff --git a/docs/assets/client-connection.png b/docs/assets/client-connection.png new file mode 100644 index 0000000000000000000000000000000000000000..ce31398f13dff295ce83da2e414480178bba9610 GIT binary patch literal 36817 zcmZs@2RxVm+cy3|Aq`X_BT1PR4YOoZWF(^^BS{ew3K4~@kQF5&WMyWQY$3E%hzc2H zWMpYM1IF9r3*Va^B&%n+=p-|QzJF28Zq0n$q zDAXGCw0K3=lut;XNiTseB$fkN3(P5wt! zXP0`OLJ7HWOi5nX+4#?o>(0709du)(_b1gh9_3$?z_(pYF6lZG^D5olr$z$Lo>=A0 zwpm+gv$7mBQ)tI%>21%=%C4d8^nwDrR)4zDdHKN%W8UuzTH-$U^j?qtcKLNH_Q8Pz zzyGwoTbw>v6UwXVU0N!$W5AJIlD`4Prius2)nc2zDT75M$kM4YbFP6D5(bw3Nt|vS>{H;iBNzr$MS){w~*{EuC(E*B9FUu)455%mu%uf#s zyIYFsa;2YDyt(qR)EpnkDJqhf+m;?uyf~bt9xJPEv+(?7xtHV0z7e_=@0qy|-+#ZG zO7`>fW10w1`uAtOGBYzX&xNOO+Ss+xlOh zK1M#>abr}*8nYq^66Q7ysM0srwzJFBY8H%*x6uE6c5{to+fc;NyVfn-3pUFI?a|$R1SU zZ*@A)#$k8U<8*^;WcE$#2qb?wXF(7Bdp^;TAk3*^(%S1JA#E((M+#sc{7H6 zZhmrL!i|h+N4k$nqC9RVATaRWgSb_Uj1rQsTop14sVD-GMOwS}v#k?l%NKZ~uBxK4 zh5d%OkCzwkqeqW0L&DZm;^yC!Ym|>R9K9Xm%W?SZVKeimHktB)lO>MlEiNQn3V(X# zS+b2ol9Qm2g00TR!{5Jmbq%bE)M#Gz)(`BSbUc6FBH_g6r&q2#dnvnZVEc~1;;VfO z?;p#CIQ)LkbL7ajfq{W5*RT6()UbZ-)Vq1}NJC@esFlp8&!6qby5!HFKfitZb~)qS zm;A~o+YcPrWceXZ`S|g5`wtxW+1;%(%3!nvC2o`mP!!&G57u{SEDkwttU>Lc!AO4qFo~+8-#^3q$4+-n94sh zJRBdN%JkrpMAxrDdR7CGR6QX9Q_t8;u}7T4X4dAb>18IRxh`MkjAu%I^Y*AuWP!|P zhSkrWJ&V^#ds}$+l&&AgR*9~!ZJ*ifaMEqylsj>P`Olv}AD^8*5PtRLpFfv54_#ZAoSZy1IjPiB z8)_U&=9()c!$!gjekhx8yWz7HG%>v+fJiKidneCw6pg zX#FgJJ>y!sEg>O+O~RHF*^hxTyEN08yjH-PebZoWT&iL@ZjNpLdA|r+#%=59=;%^) zg&g}oQc>>RyGJQC4!L)a=`On%0}b7VRYJjUD4v=r)i|v2`WfT>i6Pxhs@y&)Df|He z0r&3T*SD5p*3(M)ERVf`NZg`No2ut2Z@@rjxcZL`mByvGw)1vtC8bl%lBqA-P&7^p z;>I1N&qfvost1_mh*PZMzi2b~lv3x=O&oN2v$tNw%2p^(Juft+UNMf3F^BF;u$A2U ziY)?Sp9`gGmm2~CyG%b;vQrD}@yejSa?6uPr1kRETb>#13@uDoZd3Io?`oc|6sk({Nl<_>MY|@2A)-i48G=l)TjakovR?7YI0+qIt}nWy_W)_C2-D%lqAbz1@oa zBTj)xweay)CmG>Q3KeZ_Tk%`I1qEW54dzXoXuK*tf4z(0MNqEY*K8r< z!!$eUu@Z>3uWRo4Jmb)21|LVB!rWm)sUq!kAs>ZI z&j$U~!iR(-wl-)#6;ZU6-@7q#S%RCM^U$N6M#skxy)vJDGJ$-rVz5;H7WB z*cKW~u{z1Sa`XkvvUMse)q=uGsCRxp>bYl?t~6Hz1H+Y``SoAvsUkJk7HHDNKIN3w zkYZR*tvOPp#T+?fxtzU;x#?`Go0eUV%Wsw7;NbrD0^!A_r377}6GldNWo}G&%})&> z{~)2tk>Ebs8Ddyud#sU#l{N9j3$}%sQD1_zxVSEAoibVJlGFH~tA2Yt&-F+^tBkg2L&ZWW zB0a3V{c?N0;GOjx`ZkmkQBx6X>FMQwF_M-yZrYU4I`p%vi=wJpccxCab?V^AW0is_ z!_&u(t=W6Fconjt_nkXxbI5|8!2NrTOZdVNjqM$%sQc}{@({qvps1LJCIyw*OgoRgAWS(W}eH>CV`xsSi`cY3~e&Smn?H;_A zQ>g#s*>3LC*|@NxSc6A&K9STw0eSifx+Vcv-K899e+=&wS{Ccq&Js~gE8Bd=YYUP~ zM2lK)l)lY3PIHg;lEbHjBeeUca`Xgw)YMNHMKdDWZA7lLwcW5WEIdK*Rji1bI#2$Y zujvsvCxj9jv&&?62}z&BAFEW|Q>O&n>%V^eswZ)dl+ zw-*o*QMI?r9XkCFkfS1R|Z-;v(CO!GtbQY@%8H|id=?% z=ErOk*~!sP?pwEReTwe;rc7^En2kk!{rWY9GCwmK!lQV{6t{N8(NRf7g%(lJIGKyb z`{1p^h>1Xz$>UGDr~PV&&z?CGF!JM7jFHlAyT)il#ECbDP=RB#{b#1;G?VnC* ziBRB~)Mm4#r<`&(k$HC=^?4Zez12);9dX13|;?!eFjLPfjGN96frpqNDT%Vh+EJ9R~-;_ZRjw z{{H?K+wv?T6HiX*&3$w&zq$0Wz}moZxSb{SMaF|&Ukc;Ij%jGrWS1{9Wa7|^{rvg!rntDcPffy!?eon;Qv{17=x1a+8oV|)VPRD2%Cfw??A#lwN-l?x)>Uzf zMwD$G%0x-$vF!)h*CRms{;c+`{_%tB_xsrD<_rVtJ^W7wx5_p$VDggL)gmL0=?FCI zg_Q*BSS)L5)fPsg6jT#?wpl+%M}Mae%NI4L$n!cWPvX>07of-*-IcsiJA+DC%+zAn zu0yJ-a+zUav5ASt=7y8*DCoIgtmNf7e*F0QxVx=Z@!cC_A{&utb8pPp8WlUP0WyBl zZD86XHKIT-u$ke~T!Yiw<^$>0Ts<{5h{M<{0@*K=(;h$OUPtS7jB?WDd*n%r+LHNv z>qqMvzh!5NylKh3YFInGORKQ35D<)>94E}QIYx~^YYS}7$<3{t8fv{25E$K>Z4zSQ zv4r`pJ-0MJ_3@(ZO1u8a^usDA#)V5l6BBv8nGmU|ghs-4m~!$@NjNS?$v>I9+Zf95Fa~^nJq}1&h@;ZqNzn>fl>2z^y!nSD4VH`&Dp;1 z)2}QJdz3j1we){ZVMJk1@NibkW*MlE0lFfzGf#U1u*KCYyRn&_Lfa7tvA>h zR}#C=1oEl|%OR{I3_2CZCFd1C;}^13zWhDq3feCH8EVeYRTW55^C^ zY-kN*3)$9^{KzjoMJEmAt*QCYs!}R#xuA)wG!beU(#iO@qjW`k3$svUL$AvA+QQh& zu@sqj{ZumniD=GxZQ*8ZVWHrwx<{%K@^2@6r}R@)W72J6%>QWh^{(ThB-niEt$kUy)OG41%eHNM!QK=LZ`-yFK?Ji( zW&8cbt^E9hgbm>3r2*djQS9Uu9=-`<2e@5--ok zY0FD?eE4>>d?k2d;wlhjbw@{;rjzzQ|Hij(y>-%F7g)Dm8Shq3N=ZqyXuO|OP@oLh z$^b|<)UpSBQ_rVlb%DKm?;tUhl$M4@NBbd%MMOp>036}=3JR?)Eqze|6H0_Vh_=Y~ zM-_f+gYNO;US3|pg^vVXOv=j2-qhF2gHb`XrHyn3oKHr9`~o1C(I&D0u=cYdQuxiA zH>CDP>RyKe3j2{@WqkW$(-WTvut21;($dme$9|9=gp6Tnx7zJyU7XQ<5N*XSmg`1b0ArhfhWhJam(x4+9$ZMwos(ghy++86x;Oc z*Nd$=r_C(4b<{Mu=^_(1cL>hFi}g^w@n zd)OP_ot4y5T5(u7sKV6{;9zQQPLr&*`p}_60-GDooV2$WWMBv|9qM1B%5Qn<^yvqj zu@Z>tmz>@RzPlBaxn7sWMwmrSfJF`ORaQ1pU7NmE#6Qn6r{=RUxh7daNZ@u#EdQf- z`8L6ork?sKzT&^9iv@J8zP7bhzJI?h>;2v$Eh&8=Gw_eB{88Uz8H6G|b^NP7?eAq} zkslsdt!nvqNpGo9N$CsavW?BY%U?xj=jP-So3fm`;RA;_K-f2e}S zDrgwL%&wY#WuG#X);gpSoOh|FLua$HMvg+n)1l+b0pm6?>~P)3AsM!Xdhf9ZtIQ{ULqO(@ZHBeRA@3x_ZMra!SaezRKtLFw>Bu0s97E7u(FWJcOV zCUUm#-!qx)D*50Nfyv^*!2-SjlNqquhn^Sx-|;5OndS zOM*CV$44f;&$Kri9Cm4MYRYY=$Y&Lo-R*I>awT>DoxzCv_Z2dltJ1m|s~;=ld?h8V z3Jxw}oHA^ewU7zAyVQ>KwO&)3xda3x>duEU?D~c%B9dE&kU2x|-@m>1Xs5Hdy)Veo z*v$1tXYEYB?E=&a3H!7^$?|-4Qw^)J@sXUobXWP8xx*3pn|Jo@s{HYp%PNvx{F?Zc zw5P+1C2kRs5j=-@Im$H4#?qeJINV*bNJ@&|DM)2J!ZLKu+)IU}HLbqy*YCunXY111 zq;jUF6gNE{TsR4C-Vdu+|JVN?UB3lz1oQJ?>!mmKYAWU-D#$IjsTsbuw^e0zBP{3b zkBGcqxqaPH^$&M4Vno;_#&4&0yD~W3wMnr^;*sLt8g!VwvSEHYO}+41;ir&w7PW=z zY0sxvR2PMclvw>+u+x{)1deN}gsWubWJ&5Zyl-(ltJY{c6BQP_Ue!d_+1aJ_E4SBw zasH+y4yKyd_^v+JiPse}P1dhM4PrGl{OWz={rmEEOdp3<8~rH#`KyDC;egi2{R4%u z55oN;{%jV|We^Z<*VoHGtAB>pjEPB_%1*-W;I$0HZ@-QXg+W7z*qqAZ8JTzPtk6ij z!5MwpSc+p6h2M_*g;-Xptg@1lxAVeqQQzD@;X+px6LKej-##kx$IYY0$Lx6~UAc6H z#QtzS0tVQ_6-%Puk;o>aZ$7(xphI9|UCGP#`1UJ$C_6ug$u)L^Pyzcj&FdZiJu2Gm zLUAK!KNp-=@UzmAPxt?i&T(>Tu-RH4DWms4KkMkbIda<-YfT%~RaWQf3*TLOvpi@V z{!dgHd@X4fm2zjh-E*FA;;J25?(_d8lI+M6AU7X<=z7-w=r3cFLPTo7TeMvN#&iC} zI_ZCxdGmzLk%G8$Bv|M z6drwT1wwoG)~bt?dV6|O@@;>xtKZ)pYCuIf{z#Hp>&RTv;a35A8TvnS>$V-JS3h>F zGBM;x07xcpZ*NnS#(aHOkr^+3E8IhB^LN=pvs7KJCLYSp&XUwLG)<*9u5(IWku&bg zsx{Hkxh>J*Oat&N_xIPk@%f?bL_`x{3MErh)5v`AAC!u==ax;+EwxsyT4g%cRp}QJ z64n09ZYvr5gW`<%9*B)K$SpZHms}wX5Z&?JL$PX4Dw_DFi@nV&I-B^8%b|j&m=1nP zW7~JmyF{%N(RzdI(q#DISNaDoysdy3NeE)jBW`TM23fB?mj7~xOM^VFk?3?Y598#D-nFc1>7OJiWbFt>cu;QL8v{_U75zkbnv@ zJ=KeIe?#xx^L+E>=-q8H?2rxQXo5Uy?`}PM?3lcxMVh0<~0E<(T82~CNuJzp!$w4FO2qhF&?P^-+H_um|Hd&_s6?`|Hi1jXQ?UAj9zX; z*@ncbaP{hbLQz7??O~&A7ZzTNY_6cBw2JU&`0fq~i6R}l3IaL1DyWP~oS7ka(O8|b ze7UmtTQ(XZ?RSWF0|Wm4oA|q5jh2NsJkQG$weMDX9zNc{r}5Am40?BRl=1$0Stwms zuU-{(pLYb1Teo%psu*#b{fFW}5(6ukP4+jT;K~%^c48}U!b*>QQWr_UF{F4h^Qu%d zH|x223?5nr*{42Qu9jT2Fj~$C4jJ&pY;ks6(!P5Y0VoNIbcE2atgIx8_xO+Nos}Ox zFk<br=}JdQ-WFN4Q(TnII6syax|%M#W3d$XGYtQ`dy(@#k9+qZjRZEW8}JogKWq z`z#tZqb%wH{9zL{rFb)aEp`&d{_%ozd(gUN-6np`*QoEQD6g)M)`C@MW@4gW}#G*L8K(AU%OhZr;2}iseF^Z&z?O*z3S>-vytQ zl$^|i8?!5$;y;J3?wcEU9%N>LmC0BQl8`!Dw0NfR4@2(Ve-c+=*5~7$cFU~-;V(|vaTa+H1Cy=V8!S` zsk~`y44-)HK7ATY1c@DDVk~%r_zjNV7qbLs13JNDuy_2iz<&xaylGXyjv|)8S}YD& z*U^5N=ia!*1Qbx9a|s2o&3*F3PJaHz3@Vn&+D4J`yAWe5o10k>{h=p4a@?Y#c*wDz zNkLH&>M=ErD=IT{oJ}1U9i5H$MNDk-jyriXoqBa`&+=>!qf1lio*g?BzJPdB!BqoM zT?pDiirgU}@Fpn^(#MbzMxNX%9jkfJuEPj)u_7u(;wbiHQ9%s%jn@?v_@B>{HfQ_hbkztU%WocoCRe`>#%>70#f@vCXuTyt_Q=$Sr z&*jUPU*r7Ya>ROZ?q`*cSn$tpcI7M(;qJ8;-&`ujOm#y*(}`>1f9$p+?#74|kJV|* zmr=&9$JVil%7K>hL#5}h87sX8v?7l;ld%3XCY+&-3iRVOtR{Y_Wb5x|Sv5UTK8GQE z8VWfwe-u@ezk#uf@*_!mg_5ZjLk#&S%F>wK{H>`cc*ueuR9JLIEj+4aTB&%HzF~g6ZkLT+qZAOMpWI6^Y9wSYP9&SU;pF1 zva%**da+&iS-0$V$wk@9Oj$)4ZxGHtItR9#m7-*3mVh0z>4VISQEZvXW9RNQRC2w2 zef5Emto_cYG=#P&m+qd2Lv(KgZ&^cST)vH%m zA%e}$&iauv@-{|7%h|+3okY) zoOus|3s?up5b_d94vz9y5Zcd~n^RFhlJhZ&x%_%ynRL=M{p1feysFU-79strYp7H~ zrh~=b-yeLzA)tl|^4;c2FH$l_jS}O^(!3Mc@9wEq6IET^&Hp7;AsM=C63YV>fz2`Y zPNH-B;lrE|WV|8bY~YgKnSDm2IjCH^si}!X&9x#Wo`NTzz6s2D@p+tM9qsXl2iJgp zud4K-`}y-HPozyp$yOd79=+f@yU!MHX5DL40T+fn@jS&H-U`hpn*@X(4?sU{fr@$G z5|SH_s3_CO$cRn{6wL9TzTDl2{WbUZ7`}~DCd3}rhw1Unc|mNezM3zTGX+*YNN(LY z3z1oumJnt#N-W_?;61W9rbzNEqLuT~RI5Gg9BHvtRSIs{718_5X^9&IL~Kt+c3D`% zkPrwQq|4jo<+9`rtnDi6mS>gL*`;?-A$KFdPbepyEcyNRfmcz7>ssWys@d_LWGOR6 zSbG$VjknRRWAh{yt@iv&vm>uYMK8Q%JAdH|G~Fu5u7-t| z<#8$e5FB0n8vQ@Mf7jO4-PybXPTM**HD-v80zTnhcsOrq%Yfr2pMJ44n^@t`AiWXA zL*wFtK~Q36Zbu5izRP+3yxM!sCQ+*|0?*DAFsO!Xs}asF*aH_gGm*y|DM6FDv)-_5C-&Hl;ki$&Tf(1+ZaeW4oxc+_|z`)DWB7 z-QCT!WeZAh z_+Bdfn0ZB=$4rSC>L_@1pgz)#uT$j`9r@Yytc^`%3K9vxYa=bk<9k&ktst z$}y$VwjZDCt_d8+ubIz|{RFjiPv`vkohoA&lLpp7(Co}m`5jXVu!2wIp zfMeGH+Myn&8ZubR*v1wf7B+@c)ARR(Y#jmXptq3}nq7Z7ovnR*|30nm_s~C> zs;`AM9H4t9CMJ?7Ura^2dh5gcp-&{Y*sbIqa-B@gUk`@#%D|^xjsu^PJ1mrxbgz>o zim@y6NBnGcO{rx(GE2emqC`w;aW4cKlU?-4-fZzzIc|xzRDIV2X(&EMXU_sy+(sVW zh>t@~DlTEy9+yDjAX`gF)9W2BbQTsCegOehaWXdu0Zf(vMepWdPAQ#Hlder0H+lwG ziwzATF~7Ea>`sd*U&Pm=4_?}M+slh%GL%6@Utj-gksUX&h9Z7+;UrXz{j4Ss76jQj zl+6^+n@jUQfk;2ClrM}N!dmJ|KXio40!5N`d&{9~e=6{%@RV*d;ud(JrdQYP-aeAr zMBJePEW*pi@^lop$tG1&u@+w+4aT;0c6RQCfm3zT zGe_HNSH7IoGQ)3y2CWL)rB3XBv-9(6!yI1WP%;7H^j>P0qKZNC-A@SBBkuDgGdlcw zD-Q-@=&Xv8l3uc9WK7cCKi_1#Bkyk=t9`w7Y<#@>?$%LW!MW)Wsja8`-n^YNiJg3Q z)u@cq%d_Ib$2I&(mXSTBGr!FTCttpK)AHoF!wu>J^STZ6Jn_xnbO*u*-s@b8D^xSS zP_yvsXVWT0Uzyux)v7-WTKUa>Yxy=MIFt*Gp1#yJJd=FM)DYLIuCICCy|kxtF7=!2 zDc}6z0Q{I_@oaTnE4OQD>L)v!p1eXQ8fdO5F})_i8nr>MzY9$T4YaX#RJE;b9c#=+ zx%pNLE;nDq;-0IQuSOO-Y5b~Im}m$s6!GS9?P$h|nH z8?P=k*x414AA335-JAB8evOSUd|_0SfB>xUC>*OuK~@KBi^wpbfryOJ6c zldU|nP4VNw?ey?~5`AvpbS{6+jSuqYe=lWcx7Qj!J|7GkM&WJjA%i$O;v)oqq7(M{ z;=wmiPr}2)+Ya%9FHTBIs;I7}fu(bz+qJ&F9=?xTQBekwuY_>M8pknFqZ}l5 zV-CqTyZHE^t{r>$;)11Rbz|dNk|}*h?t%}(8Au*J+3Fs-suec|)htG>^+WG-z8Weyj$9HBnE@O_xO z8bTR!OWG~~q}v4?H$AhXWN0_A-8_~;DsFkQp$t%lG^sC z1h;RGudSbnMLY<%^%4I4^XG{^h3!5HR0amE(jHWo4zd&4h(KC|>anV|B3=IcaiSbo z;=5a3M$+UJXFXR-zWw;|V`ct7l&+y6>(Dg|o$iaN&e@PZ-qLQE+5@z*azY^eX~P`v zHWy^m^HpzKY|!JG6>kIMn_EtHxUARLw@NE*?TGfCx!~ry!HkCM$+r<(qe7$fW?U;Oc!2C`s#gEaxiEFLWPZXKRXb%uys!RvXB^CM zbCLc;--=^fU~0);+HjJu{LZlKWuK4`?rj%4nO$6@*kr7j?z=6mj!;`YKgs23SQIw? z_GDs?+0x9Z{IQdZFWfmm1~sKS(cc$2>)n({%OfnDsOBNYcc5qJbBe645X+H=OWVp8 z&+RR|Y#iusx5!P2U+^l0!4l%_mA@A@25*ys57W1|SLwxz;wOrA?`Q4n#EB2nN5THa zG8Khii&Oqwm6)^h_qe|!-^aNhNx4&hTe-2IU&63D=i<+li_G8I{QXku9z4stg zKiTBzEA_~tf|t54jf{)-+u3ou%`EZ3f#!Db(8kJlhH#_P3nizk#W)=seK*T=@~H}{ z+t1Pa=bWCIyxMs7m5iT;p$94^_V%mmH92K(XLvxAqjEcFd1Tv-?n|79T$#f8O9Qly zEK@p;l+BJT1Ob$RnJe#kJnP?z%eLQkfI$?G|XlyL+W zg#XSv3RIIL2PotA`&aVe8{fT?x3_0@b6-lXlSz8oaXTfYsNO3kh=E}O=AX6KXKI_{d`^D*I{G@SW{Y$w z0|gYlbtwm7ub2M5@mO6N(+d)a+r(rbUx=?U>5P^`abs_Pzu$-79(U_%*VTRQQ863y zqzjFV^#94LqL*eU)hxa@Qf&>saS%kl+Jl$p?d*KTZ4}^oH%WeWB&~3KZhkJoDMtLt zl^ltBgS3c??FT8~KXl?^VmL}lN;C4!cK@BRV@TGa@}Y*@r64D_9RhFq7d>4!TTmkK z_G%};jke-gh~4QhBHcd={kzejo0qQ+wPvFO*wflk1Dl z(l?!*+#KSU?^(7QDi)~%FK?R5jz8|lr9$q*Fl`ugq!k)T>YO7_n2K?pH3H|O1@`$$vl+-v&FUvsERZ_LmNjr=-5 zY7!Km#8FF_#jvoA&p>*kkR>i7LYBc7NGg4>WrR(IX5fWZC{Uqnn03O|g0syvrxUmR z?guw;zICf6`v*YYT#)jd(vI|C6UU~PJ73zu)nE5SIgps1v9fHSCrM>l+h z3U$mmNNJXPu7<&={3cghTN~U2Y|@h+*PBHxKR?xgyKGmn9I>mgbJLZo?TnLFFTi%f8)fRSX{y44?yO$8PYR)I>){&w#QNKX5}SfI2dYaK0V zzk^T{l&_^XBx-}X0--^HBF35su3`C{X zWzyXhE$t*k2nnb%yA2E9o?o&$`B|D3JyZbAmo8m`ZKH;iRx=$p7|~%NcHiQ{g>xV_ zDB3;OGSY$?2HVNDRlKKlGMV}W%+Fe>t(UsyFz7y$4u=Ow){Us* zq70&*nUrrs-BE!$<5mD&eE~!>6Swizq?3bgn==K};KlDR_Tlv7fcXK^6Dk&6C9eVY zDHOQXm7!6U&Hds44YvksS-nZ?FcpQ=8ZB9815pLXV^fhq#oe60l(vFuX!1|nCV1eW zhp9p<3$h{l7zX|+G^i<2H4$t)2t>1*GY@9o@P?S8#05K@dMy_AH9`RmFwdZKMGmR} zG0Wrfx`wFe?rf8B-41pfC1%#OSHoc0+r=>ez92Di@j}gEu}hzn&fGzQ%j&(J?P{r3 z{i8HsnUi(zBh|X#^$z@rcO0{W8~e#dVZZuk?Gd|*R|aC($=IhCJeXUp3MigL3>a$B zXfR0AC1qQ8PY)FZsQQ!QB3j{+3~y4&K}kyL13MVsY(?VsrcGW%ZUQFR2z@a4YghZmon%B9wl znc9p|CtL67aGyB~xu^&2IIlsXtVO2_;ZdRf(9o`{0K^*`%*d{4YGOv;jXX$69KA28 zC(wr>b!27H0rK_s-MiNj>ZZzPEqot$(8LqYyH%z3a|Q`hJ<>DS!kBD1*mZurk0rw} zdUb6*RT@Er*!nFU;n4%K#&Q{ zur&EXNP$6byvvI*K-{L?@4~x>K7kYir*-nAHFliU)7G~PUYHAE%Uenzt=VKfGyNYGqoYx}>(UVExXsaN_^S|p@(!Zju$U*BRKc8%p zsjoiwkKbq=*vk5=MQYzZ=3~c>^*3j*Qb>OsN>z}15HnQ@EF$f$8-_n@&$i~kdR9@#EQL|Gc{p7Hn*pzrw~;g0`WfE?~>sqgVBbT7%ifr zd2_nn*XNdu#?C)iA0B_bi6q6`XIbn|))Q#?J3of^9#NE9H zp-Jq2L~4dkmR0b-zET_Cqt$|)1nP+m@6`@vm)l-FnEW)a*vd~F0n5*iedGT)G$7Yw zHlg>xo_N2cUxbyJ`4)6d!?>XT222{584oI1Sy`x?hH*CC=m~@$Hp;Ry7mz_QK^u}x zMN7*TV)&k@=Os>r{)}- z4|>b@Rh5;^Afr1&ct|d9y*^*`y`h1DU@i1MneyDxwj<@rLZu>4zl@ z+T+h&0N9b1Kw@Osz+K2-oy3^1m)U=qhk1y}E{eKnn zLejtf!@u}Q=y!C#{An*xhj60#ke{B%TQg-7WOG)q*d%c%r0E9W_IZSsjfFQeK&HB> z>d}~@5yJbvas*1x9l)?i0ywO%q31wp zCraUkB74R3!&wi1J%KKdC_{`WYfj`o0;xds=_jAc!X7>p0t)9r)AH+N^(ZABoiGY| zK7yVV6o<+-A3AtY7r@lm4cq()^miTNds$5hjfoKkGUrE!7k-FX2H@PHhj|4vXe#Ol zxMYtig=+i6$7c(gNaW~gy@pohz@e-vhGT2xQr#{W^F z*T5z%SJP?D$jBJqJzAiatbp^adriWl(c$XVkC+_x-y&k~6qnaLJ^tV}aw)pFc!h)* zuu<_v(m)Dl262*+7X<|cp^zz}Te`$w_AHFTHy4H_2w?+txeBf^ZDZqLSdtnt01r6H z)>GDc4vc=_K}Ml<>-*kY%_>-4s6R^D+D!1SF>l`Nou8k-aL&YfEWR4>=M!-gib2S870<_>A@H*udL52t_@OCE=T z>yeByJCO4DUUW3QF6W%2>!bh>uYg^57Vy@kvM{*qNJ@cm#d#>R2#%|a*z)*0E^lNj ziTH(jP*6%zlJrP{We7fY^Z$r`jWIa_b4K~8sq}EB5p6VC?h@c^w3GuM`upyn{;H4h z%*@;aVZjG|4#vh`wr{&RYxV~T50fURtbKlOKigqvQFv*-Q;rA(#{* zJz*)5CK12S)rajOiW~HLFI216rru_z zjT>(Rk0nCDBGMRXcCF>Gi^tl?>CMa#; zz9oof#ApCYm_i}0G!!S}Xyb1^bs-`=oF+(x28K5P8o^Fe(d|-Fq-zAGWF7L97y%|^;L~z`~w+r ztUFNT9Om#;;pMG`m)my8l;%C%&x?`+9jOL$@xqa6sLe#X;6X0-O>4G-&i63Z5x|gV z`}Qso$O7*cYf_6{=ue!50qVhznZ7SpV(55Y$@lE}VA>R4{RomSJ9+v6XcP31dyx(| zppwjjyZ`X!a@_J{e060d6|s1fL3(wYYBu1LSJr^0j6ahzlPPrnu|`jRI2RgE9y>wE ze7NZ}2uehV+xcV7?SGdV@z}CPn)FQ&1eRSg!GP|zq(#D+5F~&TqA|D$v&`JI)VKq3 zErB*@>hQaJcNK*+LX%?zQXIH*3`Ufn#6$|eDe1JI>;88utd~*^Q^fPhL=$4=+(543 z?tZM@sZv)l{b#3cktXGp<b31A~`VVD~EO&0c1*N$j4W*fxnUfFy^OM~8NkUCQ`!z#+!GS0$d2t2-(~FL=_8%RD zREDEbbB{-{SMOh=LjMu%(fA%)a^6v$D4^6vCon;p<8A+0${E2xIxg4~73dG6t3@Xc zR2VX&5BlA^k$ELyH^gZ@m&f^^JLlfL&GE}?a1b~u6PHQtv!ggdv=e`X2G5LYmZFFy<~WTBm>o9&2*DfhWoNl~XlN*EbvZdX3UOAu z*s~DX%REHpLf8yUE#QDY?u?9xi2ky#`13Nw6sTnu>_cxG1@e)t8TQ(zArP{>2M&Br zdjI1gELIz~9j2!MCRKu#-jRJyVY!T>&Jm_TKe{*=E3k|P#n@(dSPxx-iutid;bEwE+{Yetn$jje3?hDrhAKcj96FX^OKu(gD?9$HCI8ifd;1i9(@0o-Xgqw-t z3EQSQd@vJ2e7y_4yJ{y5(i_ERpT8+`a?d>bY75FJ8l(|Ek@V*c5_c=(KgSRd@{;r@L0?z$2L zeKg!LG68|W`;~x=N7M(CwurFaM&Q9X2SB8CvBVQJQ%|I3vQWr@9)tsA zHuA732>S3!v+%0iB~Qsg56#%y10PILcTzlw35zs6-dVTxHYnmt3ypQ;VNe79(+c#k zHB;mHB}%A&!R--#6a`_)+^-nt(bAbDll-6s)xLdz1qpa&6v^deve6lHRCS%zH`cWb z3@`y6Bo#Bs2+&wGsHqZBXPdr_-iN+O6@*dJ8b3Sh45H`%x2{ik|CsenA(c>;muS%u z@RGHNJm_nuxqkinI_@K!XeL=L#8-5EzD!qt?)lD@-LM#u?Wzi7V-N2xd|XVfrDe4r zNV7g9d6Jd?{J9H`gggcis8bPMz6Un6CejvC*@gxR{9|ok>rvgfx7^eNy+(8eaZil^UBSp#8wOH2<2>c1z zB8H@hhe;TfFFpW8jo8dNrLHPr`>z2hfG8zAb#V{@`d<-`sKEkEe-0ZC5tlr0kc<&E zJl1;?o^D4jgQxKjcY0b!nfrngPJr;9)6J0fUPA{=ZiTqA1wYpf*Xc$mQQhzjvVwTp zv1?b&c_|*H()mpae&{mtgOGUARR*Tdailpg)U&Pup?1KpI{5lIhg0HFk8OF|Epgb zD(p6h`Ai12TbKsEOpWX?YK(Y3wu+H)Q)9;E2h+N#7yQ3?xV1d!lU5$Cd5vb(3Lf zjzg`w`{aoL;D-+=xt)b_w&5awsNDfG9gCq#%?zXtpQq#_@CIhAvw{5Kn>q#t1oT{C zV5dif0T^7$RZQf-O*AGf#U&*pVMm})05D;!pxSytVwJrxKZ73H@H z8FvTU&*0UbxEsiSJ&K6rie{K@s&QJ9$Iqd>?ttOpV%pQqdW~30K9dJo_ z!^FtMLg=nnsj1Oj{6y7#>lOn^hMJveT`0oCMz3+aDljN0+L?s*q0#5xdpZks91(!6 z+?5p-$t6_wH>LAsdOOuvgIho2KBQ((W9izCd7h-tp;6z5>&+iDiBSec_)LQXf4FQ% zdpijRi%V9CN%&m&y*5d~V&>Vb9U2P&a>s`$`Q_zn0l3uk1Et{vUUbFY9$J@cip`J~ zQ?GkWNnaWop%aN=3DMmKWepJlk7{QMeHn2Ro;V#CbUCKPqO|^{1Z-ro$hjiK8ZJ6@ zM2&OGU5$14JEFaH*TWkg$68bJh1^oL^vN?8=XRnY@icMCJzld_YBS2=5x~w6BO~$jdRyCB z>UY(t;UWuRi1kzRepH~%Ml_0JyEkj6d?2g7;}Xc^4@lVdg1n(n^1*&z+qg$7A4x-) zz`%gTjW_u8K@8FXX6=sPu0uB6Yeg zY(ZRWNvGldm~=N`QBlpe%JrzPM5RqlJ>|sC1biI7_A-9Dr$kJQZu31#%uf=33+#nL z*lUtFMpM`OnDMI}pg_p-{dkn`Qz!sS?+fagtxIg8&RjQ>R<_1UKxTuJF9U#)q4ppaE0T{{xT8ihk@z|WO z9-@etFz3~r61Io&4KjOcIt_tj^;MjyoqMnI7&Dn6$Y3&MFmrJD{TIMYVV_)*mLYK2 z#Ts^{UDin$19mweyK}=gJiv!ysYHOU|2@B$)H&cnnqkG~R8S;@v1Hi}d}YDM{Q##6 z0KXNxUpPV4Ln448?$5*AU=TCkNi^Lc@s-y9fRvdaK{d;ozZziBL4v6l%62|x6SQXU z0c{fZFEE@NwmF zcUcwDEX~c$34{3}K195-80%T|PR`(rpRj~k;aURnia;lT9G)W56$8BLfT39yeHAkz zDj;J&_w#!p(7U_SvHq^?UyS}Eb{AMe8+Aj1ritR#UU3PD@8lhDmsKI^f`EEIMn**9 z)Yk*(1hzmJoFXEZCoy5Y)k}de+|dr!Xi@c>oEw#~n{p=uIs0E>F=`4h&{gd0k7aT^ zIxK{no16PxEj)QPZ~KKeysGJUjB6w%vADQ+AZ|ynsGLVIasx}l$Tf@^NMs%>+4X<;I0Kfyo3V64;O{|ki(yZ?$yxH zP({h$Vk5y_af#_}KXFT4tchBMbl6ULUOY+Lz3xxM9_=9&v#Go1QW8^aCIz<^|#@L(c)T>wRr55rMJXUrcM3(Q;>! z7ZVGHY#cak;Tcs9LvRBAaL1u~z_-k`>}UYTs!$c}jzRuYRw`*fhYpFdN!kk#KGSKO zbN8M-p0ZExsG-DEMJu!7Y5O{my1Q==$XsW~-%bFTu7)AgX1`RvgjZ^*~(3{WBmADvLAMHs^5LS_ZHonaq!P?atpN3VoYS)Mq~ zDxQ$x?<|PgVY9JKsB3WAeo9Rs>?PWx&TpGU&b{}NIJAtGawW#_v4max=o4mwW=*@O z{foHIFT?W}UP^CMrU)^pgSjOLCX9S9T!q&Y$rhYP#H$?f{hVp5`^;W+Q_Fx#Q6CJ# zJ^miH?^CBveSKrK6E|davYuqz@s-!m*`9?5m#l{+1XZ5IwIky?blpU|kC{;x(9X{W z^Aw0>^*xcf2%p{y>naGe&j7g0Yoy(!vGC z0Ah3@X@r=+iDL`%?_~Gm%U619g_&t|>?%1v+`>UWDelCtO@lv$V+LEF_; zDBAF!DDf1H`M*x*5j%Q`DiALtvjj=1z+{v1#kw5sNp$k`Q0TAzugvyW;kPGa?ewTA zStKBwI51=Gg6>IrW)Fc4{pjU`r;m3bE@6}G8Y#vXH%PS$GNPt8HVke6euAK0dw!?_dfs2d_BnmMO zLj4LXguoOCu_gX|$PS6g$=*KQHcKB}J2-^%SfqFrK4M7L>N2f@h9M|STL1HmLA@O$ z5Idgb9sbM2Eip1Swhz{Q=PV?%)%l5}E{ZQTql% zDsS+Kkp1%f35l;?YfzZMxDM|i^5B>DgF0jYj8oN1`M9U4C&-EhzHJNkXB>= z7oYlTQ+1+4i5q~fWFv80kG|axD28OBahZJ!6CKk&4fp`}-a4?rKnyTtT&znB0dSP^ z299;GGa(vcuzgdQQKxqB^DB|#hJ^_RYj14?2wI5v6K;GUK|vMbu|{S;o}qtG=Ks?L zFZ*S9zTQsH*Z1QvAaZ$Y>sJ7wSTH99vaYXot7z)Ug-Et9;a^CEZ18lD)G4PRA}x9W zvjqCvp^93IS1$lzW<>KWn>J(pw5UEfJJ6Ts(DU$Av3^uUygkayb zYbAO{5bUC+39lYC1licz-`~2r2O+RfR0J<)^bjQD*;-Fsz*u)3K#_EK43-& zEB6Z1%-4nnrIg^3z8gGw$=_AL$FD#t6^z|LQd2)|K55E<$rLWhZ2$wJ?g4x53HNA; zayJ%D<1?}3{F7RbtHex3&T3;4z|MFBapna7%)!&@9^Ek2Kgz}sdV|b$KtC7haE04N zxRh2XVL{H_b+x+?c7XtzdifDh9X+07`(obCmnkYM2VMV&Tj2>zych`IL;g{X6`YugKn)Z9Dn-L(nUZumnZSS| zBOv?6x5so}YC{tl2pKe&366tc>d-)V!NEqD+X_kAb|4>=7e=4fk)jGOGO<)5oZ9HF zi7+Bq2uMmm2+TqL7>3)>R8#m>RHum%I8L1p$A~n@bN?;dQCL=1_J2bS|M8oXI`_Yr zISt=kUw*jofFw@qR>!s_IAF+=3*7a87&(`dT%YWZawq0K{pT*c06u2Ini8oqG#>x#4;Vc|hcWcXiGF=GLiFn=U9PXXJ!t zg5=+^qoLZpsGI#mUa329jGkX5`sdhKlKp;ad;8A^D>x`;jg7rAgQqSbn^zF^-_;JR zO~qJOq9VnPl6w(IKuyx+J?i|yKm%ii+bE>u5W^Y~V9JOi8J;Xcs{{ydJv$rU`B>fQ z64v5kAf2~?Y-(iPZi;)G{Kx&}B(TM{sS>pbnxtEptxIkVN&d6Tb=V841a;`4j7M%Z zxe~rZJJ(3`5mg46>7#W&v{Vumff|(E|}S0(EpTW(%a|zW+Mu>*hb`&OZ~h z{+p3uf4>p>m;Xbo+TZ8s?{kEE;QI z<7IE}0~mI(F^atj-7mo3vzYrKSbd)T(09l%)ub|cI5S1P%Bt_nZl_H+aZ3)`#WTYa zH++dMqWa!WnFYDvPxLI!tzg@r(RyD}q7()P%INLqwPsc$&sQhuOqJeRiG0jY2c4{K z{`k=${@ymKCdRu3Ln*giGOdiElJuW$t;)}|5qsgW(7+$WwBv1Fvt8A>5sts^VVC#SrhWpf~&yl8ex{iXBRgM;=1l-XI?bC+oWL3~WW#CUqY znC>eny%s7dX4sfctBNi?dGEnem+@J4J{1nRTbuMwOlMj1Fm7|7+>&lN$H>MOa?sUL zNP}PD&D-f`Z{BdUx=S*Z-gol@{ey%W2ACw+HTdZhb;fuI5(lL*U4pg{g#GL2=(gsY zgr9i#Nc0wPa=)r7eKi@Gxz}qA+=(Nwo@?h$hP^tr-dYKR;mj+^nQ@&--LObI8-zA*pI3lk`ElyLVNgMrMao!pTni$NIkcN*s32;8uj@96}&(WnH zK0GPRc1nrV&A748-Ie=*g^m~IQf5v`#t-XNk7IYp@b6_I9e4|X$atHU!UCo|-=7^j ze~wf(A}cO6J~2y}Yy!gekDF-q@(7Jbs$E^iu%fUvr1kp<8|r)CxFKfQl6~E*!2pye{;p}AG%C&>nO+Vj%_bv0T#(bM+0W;gwA#$*)s(quq!f+e^ep0K9 zZhF*d!`#g6Uo$M1Rwp-mu7o$seQv9~<0SKI)Ac@4Q3rPg=QpHn>!{V10hU@&ojd0V zQJgVOF4u5wJ?8wPOqx=?sAzsf!3U! zD>9X+Wg!N4LfshnH&$g$>^x|5VcWCF+s`Z-Eqfd6C>7xg8+$6|{OGs#F2UY+LAh#b z$z1zhq>VOIRIJF&eOL4K`gNUi9Ys@6!!m9buVDgWMtAnAlAYwfi#44dhOg7p4>(yE z8!z|#l|EVx5>Io4q&|oi&Kp)z1!vURWAf0i7*5}RKBOl<-(|#z7_4+|xHM0836$|5 z|HBU2?ow59nRtGFxKrq<2A$hXz=z9ugT)~tc}Un@(pzV-y&`mGWASa8Y@T~${3uv+ z@1`c(pltld^wQ-V(G9Yj_g!w$8fXaivg+WK^=(w(+pzj@w3-&1VOPBpPlVd;w$9F* z-V6?khSHAvSZBtgpIRAK@*D0KRF+$|m=5jGGal9KN*AB2#SiHM{dS4z4LD6lqUmnl zv_{Y_7Z}-%8vGF_9*+YgFUWOcXW1&v%p_H{5%m5+Ya_ntaknTX8BhA#PzlmQ@q>$k zfWg)d>>{)=$m5!BMl!Y~sRroCv&P37nt@f$Ih*2dMzRFgw|o3rw4l#k>N2_+08Z}J zcPANxSATs?RhF7}TuE^Y7LMZ&7-wd=MrPFN<~YILeJXGE^gP|sOWsU+@~n7^`wWZJ z%q0iEt<789rltH8wz=uYH)hawR`uIm{I-9?fdgjHd9csVza!}aajHdMUYjyY&)M#5 z@mM%LI@lke9y9)~F>CjwONmdl_CUMr0^KEtzUxb&Fb`>t!3H~dGqW8VRv+>I^=OxH zf=2$m-Qh^w4*!M}ZD2k+L2k$~H|A5TNt|?wj^VsQ4fCu&Y zk9Z;;-Ueu8j_F6Mz{#;+L>(6RH44Sk3vMSA6=ki5Md1l&ioKYjEu;#qn7fykEgfaU zrtZjy?X3RnGx?An)x8hhEl{RlYAW2+eCX-^qr4XY(=0WqNGt?d)FuB<2Jn!FCsEZi z)N)c|m0zW6y{oTh5)^#S>eFgk(=Q4?NHrqi_9Cp)>$bG>Mt^n}F7ButjpEwc? z0~Qi$<|ofmKOjQfZ_*AhyDclf0n<#QT5@js z`YlSVo0pS~bVAB_$d;r#-8s?RH7{SmS<8pJ)96FWQnJ8ZNqM4gC&U}3FE4l0!M5}a zJUvcW$*X15kkn5wKNp7`uC7g;h0Cxr13eE|q;&dmM@BIdt{ofY5@L3rT}xKof&c~alsw>KBy{}ON6 za|d$f#v6zG9C-eWtUXftF^+lF^Ma|vLkL(T;o>=B?3RwJO;me#^a{QKI` zE+0{3pjTZDE)U9063Btjj=Lqu>w5v!agcGmO`fZX=KNy_rSRgLh(O;CTE#hMJ|MT4 zW`Zb^MKiqg6gQ;qKk9TZ6Ve4p9(F+_0d<|VzxxjD0pmklM#t5{rQMK;@(X^c0?3AL zfIW9&sXl~#g6R#f?5p*3pQdB0cg0q(bFiK(^p%q}fi?l*vyCL5VW@3IFA_%+W%1|cY9KSad-g4mT7mFYy2j$KQxK-)uP>j+Xk40QyM!sQea$pIaI0Knr25CZ@?#n{#(Izt)3 zmA7x-R@8^QmFR-;j3XTHQa2*6CzCvV! zL}Xc0NW>&DUlU#q5f#KVMNBOa+7tCUiP(Vk(-#^?t(nkic#js}^!$0$uI1#ez&j$Y z{T$@i#Q06Pwsq_1KyrXnEen@1m==_FpFN0EXZ$KmZtc4!6YKz|>xjDx`DOkfsM_x; zY<+ix>5vx~$__Lwg-D|yNrliLu7Lm@=|}}Q^b50Ee)55!+ah)>2z9GKPLVSOR|h1h zi?l5Sp~QcMJT(d;PrYDdTCp%k^MD?LLw2fZwGLG7`$pV zP8Sem;z!1IhQ(lTA?%B&?}sCFLUOu70>pD#t2aY=LvpS2oMEO5Asuti3P zGzt#qt%5+AZ2tBF7QK~R`f3wVs0)*A@6U4?6O7|d^5Z|`q|XB?r& z`HB=4VBL5;ydbS0zaudZ;h+f+__?Hy$)|d#He&vFJcc*q!zNk*UL)zK*C(T zn9qZ0Ck|W0rdETdC+;g^Xz2I%jXf87$VDrR2RQt4O7&Yi^PjL#Jc@$b&El{>YI@kl7f% z3Xoe1A>>8;4s=)HtGJnc3{jH06lMg@ZokeYXxPzoFaU=MGBt+c7zRZplpJv z04D^DB_@Js^7t*I5bpzi0+cY(QzB4TA6Y!wu!;IAY;}@b$u%h+do6P!DLeZND8khg zG<@mbVFcKK>OZ>%99WAGjQ;5sY^?}pfq;^!#5!C-VV`Cn2bx6Dn`8LEDd}DJa z!Wnvg9_t}n6X*iXqex-KJrp}K;RxaxYFMJCdeC4B?-{vf5~0aOnLlu$y@=T<)B`d9 zBtwJnx?xV;Y=n2heft3qSaf<$SqC`o>1%_rR>|?-#&Np@3d}ip7?~3`GVm9f_vF7Nuy>;~}+04#_FPT=Sb_%P2xYgIGmS z_QUKJK{~D)ranzsH>MzK)^9_4ejfVrAmtK z->*htMz9GBtk>X{NIVo88)%RrfBB8VOp*b9`DO+I98549L0ew`xUS62hbU&2v@JAd zja*FVlVxgabrJFurvzMGdeKNc!Z$8X{MkeAos4&m+*j{P48EC*tyhc=p5o`ff21O0 zJx_G^@e8WqI*gNRtTtIJc^nR7P2|7E>E0_c-Or?7-y2U zx=*(E;jr=WN;c1?-uKd(iKaRbeM|yaSZ$Eo@qrpp0VVJrfB529$0Vw|t|)x#&`u=b zz6s$Uxi^wt;XMH{4Zot@H{%DIs4nq{Qt*t2aHjTcf3mLsHkn+Icsh2UPl#zE+1_l# zIYZ05Q94x}d084<<(T~nW^ zHO5m?!(VOo)-jy5at0~=Ii|8`@AJ8_a%0X0P@aj;LR%t-{p6|4>G<$2ua4YcWx*WYtf2$@@QN#zZ|37? zr>GB7Yn1kw40!i+jeb@sORK+K`L=&dCA`J_!Vhhxl1xKEOPk}IqShBH4w-21HVF%} zTZ~R6*4j+DKCd^iDW=We;SP})OBtUW)DOjK&tHwD_&_lNq=jF#kjGJbp*e&!K3HK%0@wJyzND0`;;iPiL{ z%(hvZnuPj>(|zjUC5a&-BeNqOpTv9g?&Z3P*>TJ+P1DbC${DNklbX!W$?WTqDc5sQ z`6$LXW$$x)b7*arP!Q*ghqz4MbT{|uDB*;pmsdjV>MJd?MoVuANriJ$t8J1vM#l#F9gl=~LxgAcyc8W(QVDof6yh2m(YTU}T$a4ayr9PKJQRZxSyv7+zm z@EbIlWjzr-Z|gj!lT|n^7MEtRt^VuCf+U_%3*kXSk2|g-JTPdFtSs1@TDHGD z!+hfAURgF0&`BeA~9Lhqc=6Q2EoMui@1KhbKLbuOSkcSt#n3(^Ws@;d8lmNK#i=)pz$WLDsFnAn%wb8t^>R$pTvlth z3m-@I`6(XLr^*U?dZhwcO|QgMNPTO zlc~EC9n!HLLA_U}S}S|%bS;ksVyKlI$*p`8mRdLWmK$QjkDGKYgG|EaZID~v{H3rM(&$z-GDlgl}Ba+}P}{5+piEpy4EPHE|w zc5#2Q$Y^>fBP}H?wqQL}uX$E7U$C(&=7Ihlh6)+U zr4zm3=#F}3jwn1&7Nq99^C8dHap&&1OH+jwuiR;CYtqao$iD}^E|gLcJ<|7xDe!if zN6Sp3g-pg7JimviEpBONoThlhhaMJ;v}DmF7#o!Q>n$2BW}=@yW0#+^&QVyGfH>rPL&8| z@ok$guvr-D691v1XWq)*h#=q%j6t0QesjZIJvkZF(dkk{2%3oi>>p5ObUu$aGmqBxhW5_TyBYqMVT;x8ifDg$I7pHgdSy z&6*>#KBk$o*-M>2f7Q}{z%iM2q$W*wV$Gq!4;(LA!@iv_&1?-5p}kVvbnv-l+E_Xj zLzvInL*ghcHY#)TzH6GyPZsI9x~~{aRSpXswJn-8I&uEfZ&wemPww9haay-bgc#i|1dvb}ieRiHL5hMJPkY z{1jS`k{>KGCG6@3mFc=;<>QT(fx+6Rc?uK)!Y(%}McwzFKVE#d`1S1Z;_NN#>?080 zcESKzdUH>*RBQNdvSSDo=I(Fp`&-UW7yqo&6&c3!8Esx~nPjp=!2Y((_{Hfi-u?k@Ol zUXYv5Jm@1G^7C!2O8eY?*AKC0uC%`yNSnwVDc=)T_{Jh_7bkEgaLQlRZq;z@s5#m_ zw}PML^yoicRFOC0e)>tH7Wp3eb8GLvzd*~+W5>c7jw9h^j?HF0txkCYMHUIhPZz=i z&@;r18Br)#Hw|TXh>gt2a5Csg=*R$-h)C0EKKE28g$@A4!F!DO!mjA06v{3oDuqJ1 zsV0HfJp230f1i`TZ;1c5PeVNWexqZe)}0^gKI?8iaOt;xMLd6^Yq2j!;hZ-=C;qYR hL21IjJ&k<}ORU5rmr*NSH1GoyMR^suWZARV{|8c!5On|m literal 0 HcmV?d00001 diff --git a/docs/assets/join-game.png b/docs/assets/join-game.png new file mode 100644 index 0000000000000000000000000000000000000000..341e1cf7c92d1d9ffd1a522ebadac16e00ab728d GIT binary patch literal 39529 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 }v%MKYt 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 literal 0 HcmV?d00001 From 7ea0eb4b3f22efe00189a371319ae46da21373d1 Mon Sep 17 00:00:00 2001 From: Pleymor Date: Sun, 20 Apr 2025 20:28:31 +0000 Subject: [PATCH 2/2] =?UTF-8?q?=E2=9C=8F=EF=B8=8F=20Fix=20typo=20in=20READ?= =?UTF-8?q?ME?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f89068bdf..e29cb6d6a 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ On Debian/Ubuntu: java --version ``` -If Java 17 is not isntalled, then run +If Java 17 is not installed, then run ```bash sudo apt update