From 8cf24983c6d86253037e4423eacd65687db8a05e Mon Sep 17 00:00:00 2001 From: Leonard <Leonard@Leonard.Leo> Date: Mon, 13 Jul 2020 14:33:09 +0300 Subject: [PATCH] added bulwark --- .../Server/ClientHandler.java | 101 +++++++++++++++++- desktop/database.mv.db | Bin 0 -> 45056 bytes 2 files changed, 98 insertions(+), 3 deletions(-) create mode 100644 desktop/database.mv.db diff --git a/core/src/com/galaxytrucker/galaxytruckerreloaded/Server/ClientHandler.java b/core/src/com/galaxytrucker/galaxytruckerreloaded/Server/ClientHandler.java index b8fe2c1f..176a9136 100644 --- a/core/src/com/galaxytrucker/galaxytruckerreloaded/Server/ClientHandler.java +++ b/core/src/com/galaxytrucker/galaxytruckerreloaded/Server/ClientHandler.java @@ -315,7 +315,7 @@ public class ClientHandler implements Runnable { (float) 1.0, (float) 0.3, 0, (float) 0.3, 1, 1, "Laser Gun", 30); Weapon rocket = new Weapon(UUID.randomUUID().hashCode(), 1, 2, 2, 1, 1, (float) 1.0, (float) 0.25, 4, (float) 1.0, 2, 1, "Allahu Akbar", 30); - // TODO add weapon price list + // TODO Add weapon price list based on weapon level laser.setWeaponSystem(weapons); rocket.setWeaponSystem(weapons); List<Weapon> shipWeapons = new ArrayList<>(); @@ -368,11 +368,106 @@ public class ClientHandler implements Runnable { } return new Ship(UUID.randomUUID().hashCode(), username, shipType, 30, 60, 11, 7, 8, 0, 0, 0, overworld.getStartPlanet(), 0, 100, rooms, inventory, false); - // ========== Bulwark A ========== + // ========== ROCK A ========== case TANK: + crewStats.add(0); + crewStats.add(3); + crewStats.add(4); + crewStats.add(3); + crewStats.add(0); // ========== Tile Generator ========== + for (int i=0;i<18;++i){ + // Vertical 2x1 + if (i<=4 || i==14 || i==16 || i==17) { + tiles.add(new Tile(UUID.randomUUID().hashCode(),0,0)); + tiles.add(new Tile(UUID.randomUUID().hashCode(),0,1)); + } + // Horizontal 1x2 + else if (i == 6 || i== 7 || i==10 || i==11){ + tiles.add(new Tile(UUID.randomUUID().hashCode(),0,0)); + tiles.add(new Tile(UUID.randomUUID().hashCode(),1,0)); + } + // Normal 4x4 + else{ + tiles.add(new Tile(UUID.randomUUID().hashCode(),0,0)); + tiles.add(new Tile(UUID.randomUUID().hashCode(),1,0)); + tiles.add(new Tile(UUID.randomUUID().hashCode(),0,1)); + tiles.add(new Tile(UUID.randomUUID().hashCode(),1,1)); + } + // ========== Room Generator ========== + // O2 + if (i==0){ + rooms.add(new System(UUID.randomUUID().hashCode(),0,100,i,new ArrayList<Crew>(), + tiles,1,5,0,SystemType.O2,new ArrayList<Weapon>())); - // ========== Room Generator ========== + } + // Cameras + else if (i==1){ + rooms.add(new System(UUID.randomUUID().hashCode(),0,100,i,new ArrayList<Crew>(), + tiles,1,5,0,SystemType.CAMERAS,new ArrayList<Weapon>())); + } + // Shields + else if (i==5){ + rooms.add(new System(UUID.randomUUID().hashCode(),0,100,i, new ArrayList<Crew>(), + tiles,2,5,0,SystemType.SHIELDS,new ArrayList<Weapon>())); + } + // Engine + else if (i==8){ + Room engine = new System(UUID.randomUUID().hashCode(),0,100,i,new ArrayList<Crew>(), + tiles,2,5, 0,SystemType.ENGINE,new ArrayList<Weapon>()); + Crew c = new Crew(UUID.randomUUID().hashCode(),"Varnas",8, 8, crewStats, 3 * crewStats.size() * 2, username); + c.setTile(tiles.get(0)); + tiles.get(0).setStandingOnMe(c); + engine.setTiles(tiles); + c.setCurrentRoom(engine); + List<Crew> crewInRoom = engine.getCrew(); + crewInRoom.add(c); + engine.setCrew(crewInRoom); + rooms.add(engine); + } + // Weapons + else if (i==12){ + System weapons = new System(UUID.randomUUID().hashCode(),0,100,i,new ArrayList<Crew>(), + tiles,3,5,0,SystemType.WEAPON_SYSTEM,new ArrayList<Weapon>()); + Weapon rocket2 = new Weapon(UUID.randomUUID().hashCode(),2,3,2,1,1, + (float) 0.3,(float)0.25,4,(float)1.0,2,1,"Rocket 2",25); + Weapon rocket1 = new Weapon(UUID.randomUUID().hashCode(),2,2,2,1,1, + (float) 0.3,(float)0.25,4,(float)1.0,2,1,"Rocket 1",25); + // TODO Add weapon price list based on weapon level + List<Weapon> currentWeapons = weapons.getShipWeapons(); + rocket1.setWeaponSystem(weapons); + rocket2.setWeaponSystem(weapons); + currentWeapons.add(rocket1); + currentWeapons.add(rocket2); + weapons.setShipWeapons(currentWeapons); + rooms.add(weapons); + } + // Medbay + else if (i==15){ + rooms.add(new System(UUID.randomUUID().hashCode(),0,100,i,new ArrayList<Crew>(), + tiles,1,5,0,SystemType.MEDBAY,new ArrayList<Weapon>())); + } + // Cockpit + else if (i==16){ + Room cockpit = new System(UUID.randomUUID().hashCode(),0,100,i,new ArrayList<Crew>(), + tiles,1,5,0,SystemType.COCKPIT,new ArrayList<Weapon>()); + Crew c = new Crew(UUID.randomUUID().hashCode(),"Bomfy",8,8,crewStats,3 * crewStats.size() * 2, username); + c.setTile(cockpit.getTiles().get(0)); + c.setCurrentRoom(cockpit); + tiles.get(0).setStandingOnMe(c); + cockpit.setTiles(tiles); + List<Crew> crewInRoom = cockpit.getCrew(); + crewInRoom.add(c); + cockpit.setCrew(crewInRoom); + rooms.add(cockpit); + } + else { + rooms.add(new Room(UUID.randomUUID().hashCode(),0,100,i,new ArrayList<Crew>(),tiles)); + } + tiles.clear(); + } + return new Ship(UUID.randomUUID().hashCode(), username, shipType, 50, 10, 30, 4, 9, + 0, 0, 0, overworld.getStartPlanet(), 0, 100, rooms, inventory, false); default: return null; } diff --git a/desktop/database.mv.db b/desktop/database.mv.db new file mode 100644 index 0000000000000000000000000000000000000000..e0b25930d89215382a66126ff7dadede61aa0b94 GIT binary patch literal 45056 zcmeHwd9Wl$d1t?#PK`WbBt6}uW7N~5xumC2*Io6{;HmDezOUE!vyM@Bzkbq4bBH;l zK@uP&8MHRA3UJuKVquWM9F}*nY``|Vu?vC-jIj~xHA2D0Zpgc^YhvvUykOSIV!u4< z?8@qXND=El-iw&2%*xE~_<dh~c~n(raamj%9XmO`&%U;gJ~UYt(&_Zl_@1*T?ps!j zrSYlB@XTawS<oa|8%ybtEG?~{Jav3{W?5KzU~=m8(UT`|z4c?0Gvj+Er<MhAG7;Cu z>bBVC-zEZ^2y7y-iNGcTn+R+ou!+DX0-FeIBCv_TCIXuX{4+qHXs`S2>*o6ZpMh02 zMc71O6M;<xHWAoFU=x8&1U3=aL|_wvO$0U(*hJv<MZkH;Z@&a^Y;s~*UphX#e_2=H za&B3l4AV;|Cg;v950~yA-aR?JEKZhAojeH-|5X{@6A+BidfHezbM*LR*_ep3=Z%2m z&;N&C9k@L9pB`ISh%LqwpM3J8|9-1LG=Ed<Yg-ZvvDg)dW3e}0ORif!`CW3|dI!yK zd+BzPzwnQfSHa&tv;zsKgod%$_RnvRZ@DTah?1<R8af~S0@{WyKyN_X(S_(DbTL{) zm!M10W$1Er1-cSl6<bW~O70!BtxhuAvdoTkB-1Tbb4kH4789vtYWq7E=>253ZMBl6 ze6rr?B&|WI-DxLNtwy7hO18~vC%I3S(_&g2$?1`p7Gy!#mn@p?VshVjD9K}8HKegD zO@@*o329}0B8wAkG|~krEv>IB%0!XZ40)uEMMEEnf-#<mBV88ON6L6#(#+LL^~J>Q zWODmcaVAaH%oeR&vSVhdRx;J>W~!xZ>R<{=`>FlguvJo}Tq;?rcdP=)jfJjvtJNi1 zWVYLlYzef@VXachp4rM4&DMTVQ4X*wMGLelaw*iz!HgPpvu1@-ZnjEUDB*~f?Y3H0 zy#vVBj(9X+QgupI%X@p<fyKlP$z9uX3>KhWGh3_4inZ!Nh21>@caI3EWTWmWqljU! zfYhGkp6#bWZ$K;*SujN|nQheDot6pmd&xLAF$a$r`w3~#HfIey_5C6(Cia4H@0xAf zBkhjaY1<aYvU|}8nweI%k;Yi<12)gt9?kKgM$c;X8?9>2X5%qKki#5~)V3_XBZ7pj zPP1y(t&Ud_Eb4wRYiVw?Y5}u)lwh_!0Jc3BZd<qVTm}YS8#Az$T1?ys$UhuyU`LE2 z6cHPL_kM&WXp@@R^y2843j=x+Nbu?m+xr<uu*;R&Su7W}ZKlzvT4vp0#`>z&gMRGv zb9R#-6&me9Dw(e~Oo&weXw_`AS2;zY(Acq}W#+7w7Y>ZV61Y`<Znx3{Ze`=ceClTK zsk7le#cIywP{3tl4yA)b9RzcpjCLq0!;yBe)U<tx-HNa*uHE*c=9mM+cMEX+>5M_B zWvz6rcBhdkTiK4yID%u&teFMNtTnnGe{r}nYvR#nMiq$2Gior&I;%~00Alp<K*)7Y zfY}#lS(|AvSpjGC!q9q=Wwl{22{<Y%=v!v9QTMjMCP-WiE?k@2g{6QC2du+9Ik5<? z{7ASf`&-QA(ZF<L9xZ`KCoTc!dUQsF@(FVU8^-o9e@TSD)fz1;Xi>-A2*Q`n?prOZ z4Yp}pb9;Hutd??2#_5<z*j@&Pt<P=P%#>mM64{o$94z}*o@ISa<}xj?-I!@J*tAyw zqTieqH(<_Z8#71ys68>2gaeL+Sm%f^a0X`bS^nG=&pcbDMk|6sW3XDV>dxR5<V_=% zQ_LiSF%eJ4-4T)9x9V1_03#Ti@v^%$vtFOB3-jvm>h0Bb$Ex`v7x9@Z!Dr^5{fa@K zA&}diaus+AXZnjHT52x;02Ukb4>1*sUHC%mCRnz?I__$84Z0RxhjyatQ4;M!DYP5i zfcBuhXdl{-4xk&+O=t<-j1Hn(P#RWmi5=is_p(mInbDGP><blv)kV<0(b3^*;CSC0 z9Pwhs_UGV;5afvK@<-joHNf)h94zUGVKb#Z;~hVOZ1IRh+e9$G7MQ=fC7Qc;juFwX z@|`MPXcpYzHz?5@D~fERRBt=oDM%pDeWr?gX1mm=gA{eV3Jslb=DSvvOTXCU7M1GR zMlEB)q?a=#hTaW8S=HPO5Nf4%8#@G-(_B<&rAQ)8UqE4zX?j{iBF%LWY4ErS+Xmhq z&RNuoY9Q2553xhdPX5f9RGcr=0FMpE8Wj&l*MmbJpY6{_NYG=uDOjq=o<!nvL@$CZ zneA_$gK3}(&tO}s<5gCpwHhiLvD+?S{J|NsDsQNY=)SNLgGCw}$AUeJF4H)Lu+XpP zO7%jcUYpv$Nu)OBS;4hF72fu&-F(j?73cG;4X^P<yvT>WsO0u9&BB^Y_w5)Rfi@09 zu#C!9xR4i{(dBj=i6p}5?t8!}^DmT*KyRmOniSpr0$}z=ScT#-mtBC(#yY%#t%7&G zPDgh=wg!Vr&U#{cSr+toT$>nx-}&|f>j&pz?eF)qnX_RVo0iZ10I>hc41XkBz%0sz zuY!Ym=S!`2r$F|1IRjm_Q7Bl@-?<}U)W!`KA{cH-B)bt@vdX~pxB+hj(qMe|?e$Vk zQ;w2&F?|y_CTDd-s?X(?B4*{0XupR?<kl~42tq7@nSMPH?IwQzhzJ{I7WUB1EN{z< zE{-DSKbbDrmm74lu-%ty^!ckJ+${ntq@V}QDsDBJkrK|B<gvJyZA7R69tIP!X31)0 zVO-*BOJT3VW+s11Nb7KSk7zNtN5o?fT4#E~PW=96@cY8tes2UfEh%j`79Rwce=vMQ zfK{E#=`kOl&x21Mi1c=70nU!M5ZC7M^&=EA7MiGNp`p&6xB3t!$fW_fQ;b))UV?qe zDFM5cBN<ET<jbpSM;6VdY?YhY!JtxKHQ)&per$8Z48##Pc+s&Fprr}6{eA$RL;mRE z7x98tKq8Wmj1;6I4e7{0%jk{hR&)rx3H>5Ej7*e4S(HN-%A*1*;svb$=K0J*xP7KL z^DPynS1L)t2+IBQfdev&fb-FrIEzZPCe&BdYNc2ytmamlVs+4}Rn--SGwd4r;x(I@ zkOjg16uyx8H4fVnfb=mANZw|V_;BTM@o|}kVZ$ZhC<LO)fQ>!-;QL@T--9`_AQ+Za z?)6KBfo^5%X{}OVq+nOchmC)?6QGBAOUk>miBVDjrQhYC6ha^pEUthqSU&b)cyVbs zN`lZT;I%%}m(>1BX`qREsb6Rn`=v@#%2W)gg`XpmJ{w$qdiH?GQ*s<gFhm+a^bsCJ zc$<ho8;J~86c-sxgm4T)h1=dy1?1ELmAhx6qKh@5-K_U>jYeZNU(aeKa}^#U^h*w@ zfEQs6+4>1zoc?71EWZ^6%Z#-YL?5m!E-Ws~FkH9<9AyBPWx&OL494$Wg-q8lRZ&*@ zVz1X3tkm<JMo(5U4Ms{1_AZQzGj8G_Kr;?LZv=ck8HLZxkrWW(O64LHWF3YRmyDwv z;B+hCG&@4;4YMdHQmtZInyln&^=e}v>zP8DkqXYJv3P8oBt<7L4nl_jAzp-bn?-gk zt~4He+-;ZXxd(Q_nF;|mZvt%W{UE*%nX0s+cIt{?tQtzu(uH2ys4J_jD#Iop@FAk4 z<3qlU8XS0j5%Bp0$Ai30BN5`t<Rau}9Oge<B93Ap?%}yGYBkH{RjVvCdd*^8s1*ld zvoC4w9_;y$s2qI$;9GW+xa_Q_F-B$tM&7287;$BCF~Z^5WgLbPmx!Ynh?@b7>@7aN zA9Zr@f?0l5)B4?3rB<(GYZZvuN>yN_f_;oB>Ua{1ME1fT<CF!QKF#qZfAdJBxRSX@ z1(}Co#U<k?2qNbIEBl3~;LB0@idd5ksnQq3e5RJoujG27P!fxck{z!(Z*c`)9>dUB z0L?cz(99UxBgB9Q2k;QNRH)-O&Gx5)e5X)}AjLodjapV7UZ{b`67XiB^F|-tgC?7s zu!x42{<0O&Di7$bvf02idP=d7?`8B}E7$0#xmqWm>8w;%YB|m2<(o?q9QLR1Xlzf5 z3IN+ze_q(Q`~$E#3`6kZ(r|SM#f!{K*h_aVUPZtQ&*bp4i)p;dMy1fqH}g`nuJpT| zc5Su2(l<L5iSY`~y)j<)n|SVIG8Vh&?Kd>=qOXL?sDi4fhU%z+nrH>JP#bkn7xhpd z4bUq3C3G9Q9o>QML`TqFc+pn^y#Fi$Z^n+_ee)Hr76H_W^r36@2pTRDp{O$tB2-<} z%YgcXi+VoYRP?g6I_QXoQqhXC+AVjoEg{c%1-JQ~wJ$7m0`Cptj$Q!-|B{2C+cXM5 zu0R0*gUmxbic8AXEfhy*KOul*6_oq!S<2b34Mypx*BYgAWsuKgWxduc_tGWJEb3MX z-s<p0H2;1^cxd7YTLZJ(Q_bnlmdO-5D@CiFU1_Ktty@;}X;WIY42H}cdo7MN?O;_0 zbY6Nr(Ba7z0LL#ti1~SRTpdHL@6cs?b)JCV08IJAWlpPUs$41!)O54o%@p%OKiki? zdUgN{?g%=Tb2!>iHUY|SaiC<aqTGus$VL(55@Ha7MjM521t7eG8;!C;dqrtAs}*>a zzR{EovnAH$R%_K>IddUo^DDNU&;tB;aeNN^xKaf0^Dqr@KQ5IS;8Cj6&esN|J{ai~ z^c~YE&uFdWVOEm2)Rq2frqC9xoLua$bZYQ6g)i{nr4L<0h8q}{PfOSV+m5)l71eIL zTo7AIWwp@~H9^d2D}_PRR2Ux7`;OFXb_eMK7B9R;EV%Lnu<&pWu`-v6t5s+hVQx4z zN9sjlSnFoWrQS-~$gbvVS=DN%^OB|ZL_2N=G4yROg2C_%!N#x;82$wZLw~y{kK#%c zK+)kGf+3g23=A>NX)hcAg7%Y*>4DFxbn=yYr>YwRwNcm8%BtC~cGD$zMV+jTXCdhE z2AJ-w0*3$bHDkz?DS)AecL<7HDz0W5^2A??^u$)dY#Um&*sJA*)l5Cxs}DM*cDHG- zZf4<Vzlw(^jkmonp2(FbfTF`W1Vb*385oAI4{wh|&`6gW=~heXTODyVTM#=|w~`ih zA?xz;tq=Wul0J#C`|=&H3xZsU0tk|gG0xhBOT*PF)C<E$lshB)vRcn|2D;Ynw{sP- z*Ui<s{c5h%%?w;#kqCOmZ}7q+uS;L%$`ruR!#l(exl~-uLQ&++9qx+6u~e%ySHyn3 zqL-w8c~GrMwY)BMyD(JD6%*-p6!FDaY)4`DkGJfLp&=TfF<L_tw2tmZ_n@QbUUVNi zhK{2X=p?!yy&0WCr_mX77CnF-MCZ_3&_n29^ay$@dK-E>dUOH3V*x$3fF55!Pb{Ec zUO?|$K<|Q&R1=Be>tZLa&H+1lbPKT)mx_yAsGTU)>9K1Bx;-<`crxpOSiU0YQajTX z^<Lh{H*~FUW;(5=EUmNy3i=-xhDsYg&W^#S?uVlA-5jx!ZmO1^E|s%J2fozpcdTB+ zDoXJBCh@7@ZjLXyu`fze{+n!azXlk6@AbimD`WtpX*oiCflJKQI22tU@oATsfV#iV zQ+JL>qxni9+iy4egJLaP$(N;OQ8WwPT2<@78;!n6zdJ<>l{4H6*1-$z<a$9N)9kNy z2Wd-Nt>?RKQ_kt-mM(SXc|Pon)6nPd1`xjf+Cbn*5&*&B8e-u&v<XEne0FdT==2*= zI+0D(sJVB((9dgCIa4;<f}GQI=<PLmP|OFrI3^UenhW2pJsN4*Y&D$$gBApHAR6_7 zt`1<`KFIg&XOy8&{uv_&W3cSKvn)Fk1+F9;uq>Ab>${-M1}u9Y==9Mj%d+qvWm~OK zYF3-|bT1<f(t;`Hdo3~7Z?s_t#Mf!@yor*FvM_JFIR-Z7uh=!SCRr=FYF{ljT9xK% zZ`CZcJ0)jcFynbWc_?hpP>%y9+|{P%Ie#Q3Jb8kcxST_J@f=!hz}6=K!P~g;&s4Q? zqugs&TZ3k)B+2moY_Ba@J(2lU@JTG21$!2H&_zxHbbrcmC(<AaGp+;y%sebZFym5j z^$5j`Qk@>u?gy24ds$c|`Zhz9UWTfR?Sj^qYFb}ym36(D&*tlL4-obD5AUl9p)!U? z=Ql@2zhXg3!$<O#D&-1BPHA;o8A*hth`kRJe0uEa<X^X)0vvebn%gD{2d*SR95AY! zH5-=(vo2^8iX3sisU57-pcC(1E~3*M(ND-XGAr;*#H>{tSxYafl>rPjjV8Py?6Yp* zwTe(Fd9m*dSeU<=-<B(xl|pgF%vEc}>`Fb;)w<@Ok%!m($^13?JrklQo3EY)Jb2H( z=f#67O#lyvZ%7~J(r`5j#Shb*?!gZLdP9EP>uSAXPcW69DGbu-R$nvfO<C*P@A3xY z9-9~hzfZ!OLk|Lcf6j@1Gv@{-PmUmNfe)jm-(t#FxU^=(!0>tVIlzzq97N8UeWPWr zrp27nZI!y!a&aKRuBAP0a6k0%gmJ*`Er1>GISAV-h>9&-DFWzun1=WrmkPrTbP4r4 z-q`UFDD|5>hoC>=Kp>COtg4i{X0=k*EXiDvT8(Z&Z02*_YH;+xggmb#g~}Oj--p4z z{FznN>}lzYQ7q?H8wT_bh%H^Ynp1kNFZp(^*lrPH<=Hy|BR>Lo@ScTu+ePBRlP6$l z59bg|&!JT)f|TlXjCm_)#@h{HlFTudWQzTIRe(ob15qqlm2R~&$X3l<JGe@sq-I&0 zH=4W+?9G4bP}9rlOu3-w`Lf!sXIgEk+sZU@I?UP0XcC++__c$Vf}9^G!6EVOfD7-b zgTG~z&ABpd$mU!su4Wsu`J)Q}B!5Gp-pjQ!a$%)qss;FPAziRCHCX@TO-{#QADc}* zVSmR0VE9c=6q)hK89YDYNfCg~&o-pTa0$8UgresVp6)b{VF39fORc^t!6!IUS{5v$ zCibk-ic%=ANcMY=!I7B(h%e6M0$lKMj2~}NG7~?p5CQyrTtndF(wPBY_>|@ejNBMv zZ1|3*rU@-In<-YaHMuUA4Lw&Zz-wx&_O~IyG1-X}EU>tXQo!$*qx_GxjOx5xVFCzF z@eV<eON*h%8=%7%PVbCHvCu0I`dOn^spm3Qy^zl3R&(h}xu7#<!AM9Ius=deu`HWf zzYC+tdr`*MG73wsNTFEr7ExR(u418GnTi?c$M{z{JLAXcuX4Wf)$e_53;k8j10DH^ zg*g7H&d+}Fg@1|A`=0yMmlvGe%kTfy4<qvHow0Xx{;;qmmi_*pzE?&s|IXj<Krj5= zmtWi(TRcC5Z<U7k93QUj-(Rjz9z1jML}Di;mw4gJ&wp`Y@%#jCVb>{{xNc%+=3P%b zv6A?^kN=B5*$OoXIlD@+bb2@jBLCsJ|GScT;yq7_Aj8w01I3GYzW|CAAQV#bC5X^a zch;2%j%i{AxL1(w#_rEb3o%4~?-V~%A_=Na;?qC+)E{g~eD%4P{!1bjTloFX9p!6y zdQAV4DgEsn=eJZT84!ptNc`&OzxCd&PVR5t_w}D{adN-)p`U%wE&H2a`}#+aU6y&} zg_pjOaB}Z^{3}mlqZ68$@4x%yC*yW5@!$XI1K)AlC4Tge&wkX&W&Y`@$BsA^|J%R) zho{f8bD4KP`Q88FR80KJAO4>oxn<A(;ML!C7-XLMH(&ZESClXO^$-5RshN1k^FR5q zE7+?ad-hSMUE<O2|NRf0T;}~heE##UvM)XLH-F^hGXMBH-~Nn~OMLN}&%W$R_VT~} z&(FGL|MmGNKj3oz@N@5e&v~)fmK~k_m1|;I!XitEWr>(sqGXmRkR^y_iE3GbV3vrR zCD>*$Qiy1Sh}?*n3K5?`#59ONiwN9^$cPAkL}Wq)T|{t1#OR2a7ZLdp(HHkcBIDs* z<+|1Ebn9CmOKyGa;utO<Vjte?6kL3W+$MT>>)%Rl6UE%xaax%udN^g%h}*P@>JE`x z?b`$k=k`{po+QKxI?nw=lr{m&xrqgjlgb3X!%4>T5ET!j=}32o@uSY-B|#`tKXIkT zkPtZ%!~_oMTWM`#5r@dFgkORf$YBTyQUb(c4rP#o-X<n==pLeqP`7g`gUswcG4kQv zHmHyNWMM1(!@4Jk<sCw}2{mSdID<<oPNgKy;knBg5N~m)FpY@wxN5Sh#F-pD2}7z9 z@h@)yaE!&`vB8VY#aQ-3uYCKZt=Yf$@{hlSvQK~be|`jIzy17o|2&cX+Sfk*dx`8* z?|j#164_6F@q53$CHuK&|LW;2*&lxA$@eT|ar8&;ef&L#5svccL*ID+&lb@C{=)me zoj`Ob`p|PveGZ{#{`zmB6E0p*Y@IxLJVRI|lZiFVA3(aG+<wdHGn3;P!aaFYVl8=i z*Wo?8-2x&|au+MuWfLM2CihPhB0?t*vif^mLPU?`5-vy`-gARZh$xo4!6ifmC7LGp z1#c78lQ+A!ZTT@8$;8Es?OsMbf$>T1o~lj;#$<}glC*0R43oFG)rl+#0&4Prdz&$( zV{~#4CbRqSo|Hod1E0Lntxw4iOC<N&w*h|X_8+Wl!9y7yp0E|^7z`O=K{B|)7)!=^ zJb*%z{kMOm9fu~)j3Ytj7<Q8cnST({pX<PQN@gmt#fuUokyv9R>aF{4-Iv&TI0?Uf zn{)=&i*L_&7o!GN%#+ZeZsg>Mi`Y4$hm*nh+nEe8wVk6XIynN4oy!pGJ2~QOc8*%Z z$q^^FbJUBS9Pv0OM_k9r5jVAS31WCVNALy+i+5hwhZ!55J|Qv>Lu9T6vlB9<0_4by z2_`F~G?}FKO3*186f=|Uy7T(m7Ggqd5mEFHn{4tyjT4JqcIQ`a$G`SYi|M@b<ei_s zBOasENkpfSU`1lxLx*;yQmL)4T)Au44ZE7=v17w~&L++KM#EF~v=M5OCWp4Z@*B^6 zZ)q3&u@wCNd96A;Jvo&uoONcIFsZuf&bJ)721K9(Ai5k<WW+;PLW&G>Xc1CmTtnL- zMaD98F{H@or9y&?SLh;0kr4`=4=FM%p-Uk}1|kg-WGKG?z^23bC6J;+`el$JV~PX` zGL8t4AY+FD2|B)SgA^U(e*sc-oWBZEbgaJyQgpn(8d7x3e*>iGxPKv}NHiBAK_a*e z2|5GV0Vxut(G_6&sK32;l}1}IRCwNwDPc2Xk%>1@>&0R_@49A<EDMOqNHx3`V8wrO z*9Rtxm<EZ*peFTP1hQsGZ-NFH;`RvC%n)ZK$P$+(1|XdYaG`yLfK5CcftJLBvB60E z!%E`df@P$m1elF>BZT23u?7s7paTXr4e5<qC<@Z>$Wfv`8Go?uP@jxIv^Ow%WTC?d z$U}55X+paaUiUy7(rHLF$dH~z)<vw%)5F{DyU0cvdlyC<yAN4FVb>xFj1Ea)MX)dk zi%$~R?j!;3N)y=r<PP{KvzDE}1|sr1hQz3mJ4y%)J4O#3Bj+>F2`HKO<7x{_<Gsgm zKcYPx`!6ZO<VgaPCkafRB(Q6f1hxQ4fR;3YjmlEk*-0U>7)@bKX$q@KQ&?A;!phPV z)|RHQ-DwK@22EY!q%L(*mpLg21gzc_P6|Q-yN5d-rGlM+rf|ojscS-j^W0jvawMF< zSh1A>POz0mjIIyx9kvdN(NzMz!<Jq#x>mq<*n%rYR}A<L2{t%ES6DH+bbuRl^?(y> ztrw$f2z-aF@M3f&f$y-jTa2zJ@EsCnaDuILVsv4F@31vmj4m(m9kzgs(M1NnL)RG| z5T=t0S596$xe3b@FncH8I_Jb4+>LO|!5xf*FTBBl|8`D(?ICwJCRn^<^4W(y-PRs| zW3hj?{=Xi<@t96;a5GYdyDdpzek6grElJ>ROA@%-k_7IyBtg0@P2p}!Q#d}+6z;Y( zg}W_H;ciP)xZBbc?zS|AyDd#EQY{1j%j+M1n=>NOsS30pk&f;Tu}DUyGOX><^*@Ut zSSG<~GCRIgC)cZY{UyEr<VAA5_FvKbb@x0)^4ERqk}X#)-Evj(JUArhps13IGD0}F zw*AEL_~hW3;po`ppdfF>$K)K8b%=<m^_{UTvGd7sI|mijPUxhWaE2Yjqb|{7cm!z) zpTnaq9XtBKqy~rZq)Dntj^9apPv_AT`*a?`KAvaHPUlf{d^(SkR&|Y@&ZA96s(U(* zdX_QOZKfl_RGiIJlqc*+AYsiu6G*ks1Ole%w7fPMvonEoSsc4u^~*6r%O~%joamey zo`C(iGe=LJI1Sq)x8L_z48D%WFiPZqnIJ1ufMt#5bb2x9Wk@e0dKuHp8of;DWu4Gc zNJdH1i$E_Ty-4&z*(t0hGb`n)P_7E)stn&ibf8vFUqCX)PL68B`>!YIvnSS0R!`o2 zP*@tDnheiOdXrP9LCIxBy3W&33YIF~QZ=$vn=0Mup)91Mi>KsLe68i^)=G4-9$joq z6+8H~ChJ}~L~*LBuQ*x`aT-8h>u3bUXf32@1f^)nrD@B1MU$c>m!=W)ww9-DAB&y$ z?&E4~DMtOAb{2(p7KL^eg?1K&b{6XUD(x&P?JO$oEGq3RD(x&P?JO#5Ks$>{JBvy? zi%PqwO1Y|(t4g`5l&iW<1k)%#jq=kdKaKL!C_jzz(<ncU^3y0kjq=kdKaKL!C_jzz z(<ncU^3y3lo$}KuKb`W^DL>uUF=U?AkDgeYoI5B-TV0OsRx-~a8S!a{q(KPcPHuQ+ zNL_%|Ri<6QSIm=>wdTpmih172il^oD@>ZioQ=>&wqeWArMN^|i)1pPwqD9l9Mbo0K ztMU3Y1yzrBJUyDX9u12g4T}*CixCZr5iOb#Et)Y63msr7EJAvkxxajRi13$BtL`fg z8Atu)(}CPyKCPa=d<K7U8hc-RaR&d8G0@+B27hS=|B!LcM_-z@KFsr^H>21su?z8h z<)C9oe^&8lbzfFU`?HcitNOG4wxYkS=x;0f+lv0SlE1Aa`WQ(vo%&OaWYL$?y*VZA z%lT?5J}QdptLdYn`lzTrDyol)>Z79isAxVanvaU+qoQeESv13&(*<A7*G~6w*L~a# zA9usY-SAN{d{hjBjC}{$*heOiI0F-KCk>NHveGyhTxrmzZ0=6wX3I4u4a*5}O^<6v zTpPx<QCu6xwY9i5iEHa|JssDDxGu(ZDXz<LU5P8>xUwEs({WXZt72T0;;I~1mAI<L zRV}XSan*>c!?-$%tK+!37FQ>6bv>@7;~H=g<C+xL<hZ89H8rkj3+jTrpezUrQd}O! z<q<3%KXK*`SQ`0+W$-Xz6<-+xnUyh9(VWOYW;tIwk%7$0n88_2_u?jb*-6a$w4&r= zAo*+h7)U<BWFPvnkEZNXR@S_tsNRf5yQH)JI*+WsCAJLL;_^5yuf^p_TwaeW>9``q z6)~<zaYc^HT3i7`s&NGpdR#H$$}p~s;>ucFf%<w}HsZ4S272UeIt}NqDl8)?!bl#% zW6V#T{X#4mv)BCWYOw2&T}Sk)q}f$qS0<#w_6!t--PhRFZZ~H6HFjO6S5;(J)?Q`p zRmNXs{8dIrWpq?VN1d?tjGm^`yvEvTtewW%X{^4^`07l4U3O5BM*7gns8U*VGiyfL z$*c_pr;R#HD^7_fre&u@6W3e<nxv)O5?LBgY-*aWjcp?dnqiC`rrJ<UyQGI&T6fxv zMVEk{Ueld6x}dpjbYbG^qswcqY&vYgIO6E4mUh(E^@;8<)eYIhXKmfh7^0#(Dj4cW zb|f$~dF&7{w6W}FbkP;ZfJ23C3BWhuSY}%}B|UNpC<08G0-I)=*-ZpC5!ggv6M_Ff z2(UePgYChK?oPR}w0>*?4+bWumdCO(GPL13yr%Lx|7~OZhm8M_JOU8BPZ$K)Qamv^ zcV>BHZ}r<d{rLF;8E)84zcCTlUHONvNz`p%j-#<p(}y#U#$tzmW!{G~@eMzmiG5<> zRd@@{ekNnkXEF~?nFc?S(VeFw`WT+P;O8^+sSG^ifJYb0x&oJT%lgEAEMq^F5hpfm zGJqx+qxG~4o9x17gg+ozGvtvv77cwQ3dVQ>^G{h=A1UK~@B(?QR9{T&hI3P%inEUd zI451w&$PB-!{DC`hF9)8Rsl}451gny$03XOyyXu63{^PEa7GR8aX8Tj;RJq4+17v^ z@q$0Q#IM2IxA7q_H^8?OIR=a8JQ~k$D6_jq;J2EOaDF+OzSh47Uh3x@fJ%_%zssM6 zvw-0PD8L(Y@QA@aQYIf;aYb5$^U;#dC&3Z6wSRS(S{TdZMI&ft_^7o5-<mNez*ymv z(4Lub9+>9~pVz~Y+7>?Lmg9(lpVGCfVNv&kSxa-9HR{KLscjE{ZO_d(RcF2vZZ~{3 zAU+!KMnL{yrVhuz4)FF5`LdIb-1{ES589f3v&s%2vT<}OVL;&>$nCGru)Y1|>rBJL zS;tu{m*)gyhZ*auaAcO}Ja=}J9~H>alA*`3(t{;Ki$bBXV}<kOq74T|VF}!7{$mZf zzxqmj>Spk%v*A9)ken-G0GEwL41A8(K`^I%@CnDEs0{SCS(z`fTM>?gzfdDT=whSh z*cHQv5AXWvj6o>yvr@Bt$*h?L%d9oJ9)EGTGHc?|W=0i=F*9l~$-)l3#UK1}oii9{ znM~7QvI6^OhHMDgZTmCEz-{*v+dzT)$(db%O^~=4T(~xOWRwEOk_4<{ADg-euKY;2 zEBjl_<<Y=&V;(Kxli@A_=X!KTgz^c)eyxpqn7<^#!@a*dX9MfF8$tNe*?p^JwVN>J zTa8TF%68^B&9!G%OF1Uv^s$(P?PXxt`rL-iOc~ZMk!{(_!LpnaE(1!;Wm;gnG1F$S zX|Di8zd0*zz>hK6K;~#4?U^lnRQ7&JIN(@_b*2ad(<3gqlMXx=X_XqS2nvnCYQf^4 za2Ythl1T((qM50BMnrZ$a9Aa~TQlqR>AEnl4zEs6SMo(J;xku*&&)sj4Sr+o`H&Wj zbQO3CXZlMj&gCD#Vq^Xxred)RUx?j=PtMqZu143OYteORC%PUb(JquiyU`73588|N zq5bFpx)I%kme9@UAi4#m@duPUz_ad+o>-A^jAOX%UBUPq^etRBbYe{)zZy8+HwQ=h f(=t=*?+5Ic#fI+sf3mKO$LX~CnpV`Ijko<jTK@%} literal 0 HcmV?d00001 -- GitLab