From 19d4f07d54fbcb3f096d433286b6232023c0f889 Mon Sep 17 00:00:00 2001 From: LeonarthCG Date: Tue, 21 Aug 2018 14:49:47 +0200 Subject: [PATCH] Speed options --- ASM/boot.elf | Bin 1860 -> 1860 bytes ASM/boot.s | 3 +- ASM/changeSpeed.elf | Bin 0 -> 2088 bytes ASM/changeSpeed.s | 112 ++++++++++++++++++++++++++++++++++++++++ ASM/copyBuffers.elf | Bin 1716 -> 1716 bytes ASM/copyBuffers.s | 2 +- ASM/mainLoop.elf | Bin 4936 -> 5084 bytes ASM/mainLoop.s | 18 ++++++- ASM/titlescreenLoop.elf | Bin 2560 -> 2948 bytes ASM/titlescreenLoop.s | 61 +++++++++++++++++++--- Graphics/fast.tsa.bin | Bin 0 -> 100 bytes Graphics/normal.tsa.bin | Bin 0 -> 100 bytes Graphics/slow.tsa.bin | Bin 0 -> 100 bytes Graphics/speed.png | Bin 0 -> 469 bytes Graphics/tas.tsa.bin | Bin 0 -> 100 bytes ROM Buildfile.event | 43 +++++++++++++++ rom.gba | Bin 49448 -> 51876 bytes 17 files changed, 229 insertions(+), 10 deletions(-) create mode 100644 ASM/changeSpeed.elf create mode 100644 ASM/changeSpeed.s create mode 100644 Graphics/fast.tsa.bin create mode 100644 Graphics/normal.tsa.bin create mode 100644 Graphics/slow.tsa.bin create mode 100644 Graphics/speed.png create mode 100644 Graphics/tas.tsa.bin diff --git a/ASM/boot.elf b/ASM/boot.elf index 51eb00f1b1016bd6b7d5506aa3db81026896594e..de26a0421fd7b208c0606e19d6bd581b4bbe0963 100644 GIT binary patch delta 129 zcmX@YcZ6@k91XsUjujJ~xGy#WNsfyLfh6li21UjK$AW_ejEao~toOM*+T0j^Ogy5& zxP9W=d18vnN{Y-Y>-9{{jPwnedG+*}CH0skCNE%Izd3-(f>E%80R|WuB!JAm%`=(V ZnHYCZUdZarxP0Ai?)`Jp}=pB50Y88PWHd#FM$4sAbC0Nur;NwfVTTkYCFcjeem>{q<*W)$;L7(RfM= zdH;^TSi2KbapI^@okZM;H7bh!BiP@l_2To@*J4_kJ^Cunt(Zr&oau}A%xC7Z=!??7 z&&5v%G<)-4ceXlr^WoXK+IQFKFL9Ww_557*fU>*O)rYNVc%~E2WU`LY&&Ogl?~6m) z7^|ffJn~Jf^~dv)pfQwgV4O;}fWP0&6g`15XovsB-=|Iz&Vjd%A=ao1oJ#^*AO~F9PTDIGiTfUSHD@>0t!>iJn#R~&j zO7%b`M8_8vU>XLOmX7giI&pDmF~50GFsCf@oMp~grFTk(f#SdBjqr*zHtgW9V6VED z`ion6)#5g9Ecgpjn9bF!pzQRFJ{jqH|jhJ8x+eGC&I-lDZdG1 zOWSFam<7y~Kis^sUD>SCxRDi;f~@ef{m6Epqaf8Sg#y{JA{j?yHSEYH%LzlW*w~Ox zw|TeIcBRhS?mZ8oiO+VNKz^co?ST7=1Sr6=qbO)Q-3a_8V!rT-h)n!+F>x)2T}mA3 zMSXo3BxnlwTaBLsUeNd=@Kue!4IF5^1iY>BE5LP)mw{c4b3MMs+5d&c+5e@+E5JRC zbNmk)A3^|=CW!sKr&LZTkZ6-8M|k?-QAU$SCf0`PX8svI6yiTL-HYwz%zP(ir$!Tu4 zJ96LlL+W^Tqr#W&G1fND5*@Ne<9=bCCvsThAjesw*?b-bE;!fEcJBYsfBM)C^Zycl zHb|4?=LwfF^moM{Lza0AKJhgSmR%e-%1u6!JfGvT7#A^^tK0hzurBOlS;64=m&I{C zY7QWAzTX)PMEUsc>h<}kkMr|KoNtDzuL7**0MZkX9)p1>-x|1{FGi9AY@BZbL*@Gb zSj_>XJ$$6NCrXr$`=~JcV#E~~41{ZC`3OT_w}*AP*Ss#@XtnNrV4R%~l}K+SpIU1M uUUkMC_!x1YCo|GN6~`K`p}dbtKf*W-3-_7VQ>jbYN4W^8E+IZv>eD literal 0 HcmV?d00001 diff --git a/ASM/changeSpeed.s b/ASM/changeSpeed.s new file mode 100644 index 0000000..08f2550 --- /dev/null +++ b/ASM/changeSpeed.s @@ -0,0 +1,112 @@ +.thumb +push {lr} + +@if no buttons are being pressed, unset the holding byte and draw speed +ldr r3,=#0x04000130 +ldrb r3,[r3] +mov r2,#0x30 +and r2,r3 +cmp r2,#0x10 +beq buttons +cmp r2,#0x20 +beq buttons +b resetCounter +buttons: + +@check the counter and if it was reached unset the holding byte +ldr r3,=#0x02000000 +ldrb r2,[r3] +cmp r2,#17 +blo dontUnset +mov r2,#0 +strb r2,[r3] +strb r2,[r3,#1] +dontUnset: + +@save button being pressed, unless holding byte is set +ldr r3,=#0x02000000 +ldrb r2,[r3,#1] +cmp r2,#0 +bne getSpeed +ldr r1,=#0x04000130 +ldrb r1,[r1] +mov r2,#0x30 +and r2,r1 +cmp r2,#0 +beq getSpeed +strb r2,[r3,#2] +strb r2,[r3,#1] + +@change to the appropiate speed if possible +getSpeed: +ldr r3,=#0x0E000000 +ldrb r0,[r3,#2] +ldr r1,=#0x02000000 +ldrb r3,[r1] +cmp r3,#0 +bne End +ldrb r3,[r1,#2] +cmp r3,#0x10 +bne higher +cmp r0,#0 +beq drawSpeed +sub r0,#1 +b drawSpeed +higher: +cmp r0,#3 +beq drawSpeed +add r0,#1 +b drawSpeed + +drawSpeed: +push {r0} +lsl r0,#2 +ldr r2,=speedTSAs +ldr r0,[r0,r2] +ldr r1,=bgTilemaps +ldr r2,=#0x3CC +add r1,r2 +ldr r3,=loadData +mov lr,r3 +.short 0xF800 +pop {r0} + +End: +@change the speed in the save +ldr r3,=#0x0E000000 +strb r0,[r3,#2] + +@draw the speed +ldr r1,=speedTSAs +lsl r0,#2 +ldr r0,[r1,r0] +ldr r1,=bgTilemaps +ldr r1,[r1,#8] +ldr r2,=#0x3CC +add r1,r2 +ldr r3,=loadData +mov lr,r3 +.short 0xF800 + +@add to counter if holding byte is set +ldr r3,=#0x02000000 +ldrb r2,[r3,#1] +cmp r2,#0 +beq noHolding +ldrb r2,[r3] +add r2,#1 +strb r2,[r3] + +noHolding: +pop {r0} +bx r0 + +resetCounter: +ldr r3,=#0x02000000 +mov r2,#0 +strb r2,[r3] +strb r2,[r3,#1] +strb r2,[r3,#2] +ldr r3,=#0x0E000000 +ldrb r0,[r3,#2] +b End diff --git a/ASM/copyBuffers.elf b/ASM/copyBuffers.elf index 0030d4a7f5b8698321c61d347c3874b61cd39369..e57e3bf29800d3aa12648176c8feadad49a85624 100644 GIT binary patch delta 17 YcmdnOyM=c`92<+#EGLEw8&d+<05v}a!~g&Q delta 17 YcmdnOyM=c`9NR1>#tSS)8&d+<05``4#Q*>R diff --git a/ASM/copyBuffers.s b/ASM/copyBuffers.s index d26864a..a1b2293 100644 --- a/ASM/copyBuffers.s +++ b/ASM/copyBuffers.s @@ -24,9 +24,9 @@ beq next loop2: ldr r6,[r0,r2] str r6,[r1,r2] +add r2,#4 cmp r2,r3 beq next -add r2,#4 b loop2 next: add r7,#1 diff --git a/ASM/mainLoop.elf b/ASM/mainLoop.elf index 288d91635f28ee68ac20adbce6458eb7ee149824..f4d170cf4dbdda098f9b22df7dd4ed9be04f2d5d 100644 GIT binary patch literal 5084 zcmb7|e{5UT701u>OM-(!no?kaRwYi-DUi-h+#hTc(&992p3|hXO$v;8qtEe+ZIamT z^E0?=#hkUP8n&@kXj7qRYdcmUwVPDRHmFd$qW#0frqKN}X_MAJ5KI%B5ZaGQTgT4# zzW3~tw?(Ws_@47Q-*eBsetz%1TfVwwbgQOm$lxxDXa~<4=MraB=2_!x;w9ysF$RuQ z=}e-z{bl3(DsoyyPI2T1%4=>vZ9K1(W5%h(eC5>0&g7NiNv!Dlw+x=C80UF3C+^HS zSDX_n?)EPz-|Y_>KhNIYw<@AlS4QI1PetacRgQ%F?&3(iI#)fw6s^&-UUkgj7;SyL z`eM8|SG-c3SIWGhRl*(N0lwhxoVYeU^7U2X$;bwhXWwkF%si>v;$5g-B7})<|Px!YJiXK+|Zq>i= ze&ZjG^JnqjBTCz(W{Vd`6~)x|i5C}V-aN%sHMd`5Ohm$+gA<=rGmvs9yYTyU5VaWs* z8bd@O+QnW-`)BKI#LqJxVg6{FKcC!Pvg}fF)GFjn+sSSoP7W0&%d=MADJ6$@iC%VGnXGN6pGQ3yAPl^(VY=){pkKjA49kg9eZ7oPW9L2x^BKZ(jSXV zmCJpnSI=|%8C5xCbfT*@WO{WvBkSETPlDE^1TWo-)rY%*E|_jFidt$K6+m57c4t`M z#r53Q>3%D(_kv3pPuA%Mu(;PEq*V1re&sb zq}|DGV|>@x0~14I32F+3wPuZ?rG2xGnPThMuFd+MZOud-tKv{JZ8|1JQ>79`5lmaD za^~@wT;7tL%TEb}m(Rm_MQEi{7F{I{(S0tH)YK z+=u+uT1ZnBS_ESgXcvs%_#VN~KP?z~k6`HTdmKTx{-%IFC>Z011Y`Vm!O(XIhW?mf z=t;rQ4+(~TSTOWw1w%h782U-U&`%47eo-*=Hv~g}TQKxr3x@u#VCe4&hW;nP&_56i z{X@afKN1Z6?}DLU7YzM=1XXi?pS6Oa^ZUSSt{xK%eMs;v%v%M+m5h69Lg=`czUl5C z>}k}^eM;!4KP4D$R&bR0X~CakJ}P(%^GU(Dcg_j^B6FLVf0Fs9LZ4>-m(UB$cL>J% zekt-Plo`vqhCCczm0S;5c`35I@HF!W~xLznl{Gt93D{W$ZR zf-%0nO=5Jt>2!-a1l9M$`c8=~oto>(isexYdN99*UJ@hP*#A+0F9rCm0RJw)?*{nK z0sdQnZv?ned}XX>MS$-OaDA`f=Z5n)1oSTicsRfh1^7z=&IC9g;7WkM7U1~+e>cGO zy}(`n%K@Fb9qLZ26Dg$&d8cTWOV+SCYf;_H7Y56YQ^=R7=EZ2TP|iD+&Dm+1%vzJv zqlKp|o9uFaJa0~0RGQ8eT`ym79!YHPC+;Z2l?zXDo*Rs@O=bGhw)s?jKAeoHoUhM6 zm7AFvvPur6G84HOYt}552Fp`ZT%{hMlsP$_v3XJHjGaqQjK^uFV5Wy~I4MmQYzq+_ z!V_b|%I=7d5|#~yoz2;H!B%R~veM(|N>ptD(-XFS)wU3Z6)&Llx^?w%<@%mt68Q~AL*5y=5Oq(82C`xAt&d|SfxqZ zvedsE)H5977k>*Mc|u?2JsS2ae0G6-oM;v79-wVELs{fh`gpfZa<}g|&Ha zgXNRm5m<-!F4!^=FPZ;kMbrfQD1R?lep%s}L;Mb@KU|M<`2T7+>T(%X9|LeklV@SI zFLG=pf3V99@CR*z7qGy#l|LAdyfA;(c+AUJ?H9h|F>=v*`Gb64UMdgk@yD=B$ZM|c z+jXsvHMzcS{(ncPkM&_U_SZMWzO45v7Qe$Wzxmn#2V}jqT(5&;sE4zSUvCHd{up*C z#Xl5&6TkTy-(rjMDxBBhC$Ys^(fC$fH18Zsi?@hBFW)-2c11R-9S_v==jGwG xYmCI#IB!mka63N_R$NwkkiX;}{w(7-&e50`>%cYfe=~OJMZO@f`9+w0_diu%+kyZ9 literal 4936 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 ZH)nX8`_IKVFgCf~HGUc2aZZ?c?!Qh6Tj~G+ delta 999 zcmZ9KO=uHQ5Xa}e&1SPntA(aCwwUB?lHE4_NYds|w1-w~*rZStrSzae!IlPk2x-BB zV)|u4w4lsM4;3$>;7L97*n+Q?o zd-2+`0d(nkPr9H5nxWg(#Aszju&Uz*#7fn6ouV_oRe-u9qm&m>&YZKnIOW>K*kQC$ zNV)N1aV}YcdeV)0(d|gYb1ip6_OM(KY)$_fcljMQIuK6>_nM2`8eeK1;XQ0uv)~)E zN)@p9TEvB=fC!90*Uvqlcc?b6Mc7-t6Z>$8KhBnAFq z5lr)tCK477^Jx2n+OT%4Ka&~A3}*6~!E7#<%MWOsxWuErx@>`uSQg*%RbGde6B=i= z$WdQl@&@Qon4W1VOny>f^7|DgKdUhLLkg3BN@3~Opr9nEz*U$UOe#$Nl)~g+QkeWJ z3ezB5Rk&5g8w$rjW|oyiuZ&l5ML(@m>!&#Fzs|<+i$9jT{J#q1Kmp7*@U;eB$37z_ z9yVkjH}EsuG{$h>m}r|V&(EKoSy+Thb!K5t_uuJLyd?xJz_(9qYa6p;{_(j?SFiR>wnV<9|Koe>7-|JC6?D>Ji zf=>J$D9EwFGp3~<$URe7HWREDH%-S|+wq;*qW8*;AMv}H;I4uGpv^e;1s#6Qz{#M^ zw>aLEvd!^{l!}4xgSP&O1H|#Z*@{h}7GCEV4cW~%ehcVzZ948=vsk}c$UB;JV+1>j7-cV7ElXI8 MQQO$s<VqO#lD@ literal 0 HcmV?d00001 diff --git a/Graphics/normal.tsa.bin b/Graphics/normal.tsa.bin new file mode 100644 index 0000000000000000000000000000000000000000..feab368236a9db8bf0ec724b88d4682674e91fcc GIT binary patch literal 100 zcmajWHx7U>6a>*(2?-l$xc_DTQ81w-*rmw@J(}`q45K5^GcYod**Q45xG7|>{x`F* QvJpv?a`LKFt5N&?57vt#E&u=k literal 0 HcmV?d00001 diff --git a/Graphics/slow.tsa.bin b/Graphics/slow.tsa.bin new file mode 100644 index 0000000000000000000000000000000000000000..fd6ab527789b6576227713763b216ae503348369 GIT binary patch literal 100 zcmajW#|eN?0Km{ExPbdF^GC5au(zxK;9UYa1QGL`0004C zNklr0V2lk8Lj?HXnPV(P^wBa8X z3W9G4i#d9OFfu~S2d8T0WrHKH^z;FFKu9l6T0)#q2@#Or5bp#*dtT;9FDDD?cY2}T z`hNo9V!Jjk<>mpx1T`hVP8OWVwD{|>oh z-sFOy-h{T~2ZW(dsAqa{z?6JH?hVO?^nldfZ4}jIvS(B2-_+6vf&$*|EJsqn00000 LNkvXXu0mjf&~nUI literal 0 HcmV?d00001 diff --git a/Graphics/tas.tsa.bin b/Graphics/tas.tsa.bin new file mode 100644 index 0000000000000000000000000000000000000000..791062a9163eff947a5bc3a1e3ff634775d11241 GIT binary patch literal 100 zcmX@WaDd?f!$XEg438O}Fg#^=&G3eSm646{08pF-OoCYW;ai4x4DT5}FnnbA#PEaR OCxZ~9Fj%J`R6hVjeIx(? literal 0 HcmV?d00001 diff --git a/ROM Buildfile.event b/ROM Buildfile.event index 89feaa6..c903b81 100644 --- a/ROM Buildfile.event +++ b/ROM Buildfile.event @@ -60,6 +60,10 @@ ALIGN 4 makeTileAttribute: #inctext lyn "ASM\makeTileAttribute.elf" //piece together the short for the tile based on the attributes +ALIGN 4 +changeSpeed: +#inctext lyn "ASM\changeSpeed.elf" //draws speed option to titlescreen and handles changing between options + ALIGN 4 loadData: #inctext lyn "ASM\loadData.elf" //load data from source to destination @@ -154,6 +158,20 @@ WORD $0600F000 WORD $0600E800 WORD $0600E000 +ALIGN 4 +speedTSAs: +POIN slowTSA +POIN normalTSA +POIN fastTSA +POIN tasTSA + +ALIGN 4 +speedSpeeds: +BYTE 16 +BYTE 8 +BYTE 4 +BYTE 1 + ALIGN 4 snekIMG: SHORT 0 440 @@ -194,11 +212,36 @@ presstartIMG: SHORT 0 256 #incext png2dmp "Graphics\pressstart.png" +ALIGN 4 +speedIMG: +SHORT 0 416 +#incext png2dmp "Graphics\speed.png" + ALIGN 4 presstartTSA: SHORT 0 25 #incbin "Graphics\pressstart.tsa.bin" +ALIGN 4 +slowTSA: +SHORT 0 25 +#incbin "Graphics\slow.tsa.bin" + +ALIGN 4 +normalTSA: +SHORT 0 25 +#incbin "Graphics\normal.tsa.bin" + +ALIGN 4 +fastTSA: +SHORT 0 25 +#incbin "Graphics\fast.tsa.bin" + +ALIGN 4 +tasTSA: +SHORT 0 25 +#incbin "Graphics\tas.tsa.bin" + ALIGN 4 backgroundgridTSA: SHORT 0 320 diff --git a/rom.gba b/rom.gba index 161c7dd87883ecbdf303dbe7b41039725a8e91a1..fb45dac16c54c6de54374c9e59b19382c3d5ed55 100644 GIT binary patch delta 3314 zcmaJ@ZERcR6+Z9vwR4>;vC}qbnzYDHOP4wnLa*0!qCcEmZ@t&fesn6VD*T|LpwJ>@ zU`W=A=49EXL;*H-HK|L1wG35EMTpLsC?slA0TLjDY`z2qsiEu04;TwyBd~t#Ip;d* zbq2Z7x%Zs+d_U*BR-X7(;PF2Op6*bEhH_8-q29XkAl^p#6yCuy#Z|5+cPgjigSp_D zTKl&@rny&%4AMx~iS+XY3hWF)22YCUy-&aqHRKf;TiH6c)rqy!+;w&&-jf@QtGj<_ z8}Y%r)jfmvbUSLO+uq`A$v%pxTMA$|3(JS$epC3(cDK_dT+&Vr50L4ETTJ^ZIa!AU z*V-E$r~ldv&BY;IZEtW!`Zq#a11VvzcV6yKKuXwaVYMMM(y~T8JGivD@5_6IjV6bJ zX9{aYjN00$+7wIFmLrbVp3N^$X`QMRX{YJ>_Dqi2wV^hf@dmE!5W z#|=S4V?@qhA{uBDIW&y(Ump`bI9w#7Zy6c)ABTK^LcgCRW2!(?1XyXs^H2terfSF- z0JL3-^yB!xq>*uw6U9zCC(+ZS@F#%O2}sY1^c=c;4$|L6dKTS31Le=5PZ^M-_LI&LQ5?08I*$u?L`HA~BY498vz$C8Cx>zJ z7vaJ!kJ*0`%|rHKXC!|(v;C%1xkGL|uyXl9E@RGnj|o5KW&`Gp4+{T)ynk*-yS$wn z#MX_-*@&(3MvU>M^1zl@Usr2=X>ejEJ z(uXs%leukPnSIOL=9;cTBHNblYHv+N6Iv;jpprGcKHHjaOlWUVduwi2Zf$l~o)R_X zm=lIwZHf}AG=}plvIp|3ow_`AHkC*7(au1bI)Wv&B`_W6P$kuMX-16?P*Y}LXOq*6 zo7yaEq$Z=;1G%U(K*r7pb~UmMs)(qSC@YrnHWl;vbCDN{iJO@2uS`-_v!!P)#zOAW;X<%twJR zf<0Wkz20RP_hQ4_p@*RXdpgpqX5BT>ET8X<_9Bw|RCI64eYni$_(H#c5rLwHj$g^+ z%I$gP>SCsG_OIF@<;EME3Td5ENuAPWI*n>CKk0Njl{C$i$pn6p9_lpIOjfe;ciEYU z^>Bq6#HMLI`Tu&$EWqEiU~3^owE>Z7>13KZw0e@sujdq~+=QEHp*kkN9{I^kT0&`j znW`Qbz`X!J>5#izTmbtd{p1h8**K)1{CY}pfq+N~M1v6gdgKS_Z5~L-l+-~CCy#An=Q;2^ zm@4`LHbcj;kPLwb!h`YLF$VZEl7JXPfE#4)Tlz-^EXTqiFpxCwgaxW3fGIcS5nA`s zBb=u%phFo#8iO!BLVavFAHY9=d7fJXg7WYbn0Nq8%#%lgKm{LQ{0<3u`2TWSFh!_ z-kXI6q!Nb1A3*08d4?#A*M!NhpI5U92S6qGp=mCpV3o4qU42h+uw*!%qMtaGw{nP| z0=ys|hBsKR6b8MT03=U^b8!H#b_S96%_Hu5Uhl0MuUz&0hqvEC4Th)q`w01 zd}XPtI^Z?Z(SeQ*K=?hzf#!&T%NlVsbZ5+#6hleW{e#ZYKj|C#FP*0gbdfH7SEw3gsIaP4b?SR+sZgYp(o{f_ reMeRGszF6mluecl^$~qcK^0mQYK_0aIr^HGspVoKRTUqZ7!Cdp(st$b delta 1083 zcmYjQOH5Ny5S{xz&oDF_9>K7REsFb6=|ql*ENA)M$e)o=Qw3F%?OO zpoyQWLNxv&CgKOd5{2LbqApBa^tmubNnmAN8RDu&{LC9nbkVtI&dl6*X7056ihBRF z+81M)fLoKk7%z5P&=$F)Xf+p1=F~VX&Zwi07mK#7Pyl!fz(D~`1JI^2ppNP2BL)WW z=_?|DS!o7*xlm24HQCW}!OfPV%S5?dp1g^7lp`u55@BOf0jP5M73!Dieln zr=kfcL`8&9dpJx{i-cGL#kK0=hEUG3)y9fqH()DPGCikSsbD$Pf(d3N9I%wuuz)l- zc{RlHu12Ef(ha458}h`*7G|gm-{vCVEBgrRl}~~55b&z!=y!q7!Pp3l0Co=>hJl|` zvC>DmN+knrBVtDZKIC0&4B0~{{u$vx>~avjEO`Ui&H#E($m_S?r1}%sf4}Ip+f#ki zW1o14_%Y#LQG$b1aFBpwR84k_nJvd6W=|r%vq$vU-IR47(H%nFqWa7!xNG~v_rwii zZV__}nLC91;oIUWMK0jej5;?^h`g+p>?L6{c+`;Z8ZMuGw>za0l5Y5v=^T7j49~ z36|!DH)3$FPaH~|PA*9M{UysGS9jzjWgPfhwLj7PU#vl-rLAqLO;OH4vfD*%^REhU z&rj4g|E>t<_7S_6>~6BPqPlr9#y`}Nw~Opf>1vBg>ItvIZ!sL1Eq`b`N;eTVZKI;z zub)v{qj`P&XWn~i+zSQf0ThCW@yT!FlY8sYJwh?< z=Wl>8t_SA%rsmVB8)4wl1;D#FaBU{81J;g}02g>(z}g(Hh_^D{y5Jv1dsT{wO~qJ* z34{1M900yi*7=qyUvzog_f9DUWuj>1;%jl1(^h}av-R34$bHUFzHqipOXDGVsi;zR z@R*|HvIE>;$|GO)z5gRq#%5%n&S<1F5;(!;QYSjVBUDg@stoMV$UdGWy%HG@zV{iZ l5n&`0XHBvpl=S%CP#kZP-$IR9XSVe~&U=~4Mqan+e*msaIJ^J=