From e4ab7c35d14b067d0279dffc9582cf0a3774428b Mon Sep 17 00:00:00 2001 From: Rui Miguel Alonso Date: Tue, 19 Apr 2022 15:59:09 +0200 Subject: [PATCH] feat: updated dino walls and bottom wall (#203) * feat: updated dino walls with coloured assets and fixed shapes and tests * refactor: priorities for top wall * refactor: added bottom wall coloured asset and fixed position and priority with dino bottom wall * chore: added TODO comments for priority future refactors * test: golden tests for dino and bottom walls * refactor: bottom boundary render body * fix: moved up boundary bottom to avoid line separation between dino bottom wall --- .../assets/images/boundary/bottom.png | Bin 18827 -> 290204 bytes .../assets/images/dino/dino-land-bottom.png | Bin 11297 -> 62621 bytes .../assets/images/dino/dino-land-top.png | Bin 16559 -> 34912 bytes .../lib/gen/assets.gen.dart | 14 ++++++++++++++ .../lib/src/components/boundaries.dart | 5 +++-- .../lib/src/components/dino_walls.dart | 15 +++++++++------ .../test/src/components/golden/boundaries.png | Bin 156256 -> 476966 bytes .../components/golden/dino-bottom-wall.png | Bin 39312 -> 0 bytes .../src/components/golden/dino-top-wall.png | Bin 45600 -> 0 bytes .../test/src/components/golden/dino-walls.png | Bin 64109 -> 170058 bytes 10 files changed, 26 insertions(+), 8 deletions(-) delete mode 100644 packages/pinball_components/test/src/components/golden/dino-bottom-wall.png delete mode 100644 packages/pinball_components/test/src/components/golden/dino-top-wall.png diff --git a/packages/pinball_components/assets/images/boundary/bottom.png b/packages/pinball_components/assets/images/boundary/bottom.png index 2effb7ac3c9a2376b853f741b50bc3a2ea0f50eb..90bfa493c81ebe0eaa5517582c76dc2dd195f96e 100644 GIT binary patch literal 290204 zcmZ6yWmH^IlLgv9V~rEsU4sV??%qh_?(Po3-Q696ySqyW7Th6taEAl}Jm$UmW-_nV zm9_4_TXjy=uD$C-f)%AuKm;HF0DvMREv^Cpz>EO^P@)KM?_V~~>+s%Rh>p@)E&u@1 zhyS{v09iTjAIShR;v#CEYiB)H$xN$m#H|m4w3nKhZf(yRSS^-=yc5*?O&? z8K3k<(Gh8&_TZit?XK+-op!)8<(GEk@*XVum{mf6@a z&TE?zh-N@qm`^(O)!Z}}-mjJv$PWhKg4>VIO670@H}rA@aUiBR1Xu~e4vjKR%1!*o z#;>ISp+nhj34K*j0u%rcHFQM5S-_we{FkJR%-DgUwLJ+ydym@{HQ>Zl@q>6$g-YML0yn1LT+!elf+Y94rWynsP0 z3pk8mun3uB^_4g}hOvt0Q3PNCh+aWBh)v!Og<*#|UPJapc2Mo_NpiOR5A`v3F2KLY>5evs!xDCk9|JfEjRD62r7K1To;~a>Whd;wK_rG_zGCj@@8@W; zTGU1#*A#yQc*!kP712V3_0%<)D;>4eeVscJXy?7!Jp^km<(Y?`lP9iz{w?xz=S4Y6 z=g6GGQDK%tL_kNdZA6X9O@VkW8`@(R2ehk%&=br{D?zjTPWx%UuzmwIdA=x_GH}a8qa*x&YyX*IgWLiulOCF)*^b0W#%wB z+Dc13wcL_s68|3)df3lEJSF1;Sr0=nqO$>HNm?|6j&2b@kqD*D3qT;~pE*U2F$@{` zydeM@=q8vCFeXW z-)FvD`79@$s7d3_lK*R?@x;95YZ`;4{iY_d`>8+HD#zKL_5@`;>!FdMc~@S>+f8d? z06~nP6p?;(VJK&kyg+Tr4hWPu6pt`g9IPw|8{Rz3L=u8T#E$^t87u$V`l1Y#xY{HE zrHu5Vk`aUgjF1)^j06r3#-+<=;OqsBor-n3*U!EgV{iC3RY$LOZ+JO%@OWO{iS~Lp z>%Z>YCa>m`^mY5XI=l0BwCkpsF(sX^{Nq>rd|PMvGe;zGlfaIg4{Ykt-;%17?}*?S zVHWnuiX7wQ5!FK*MG?Sd<$Ov4UMb$UpZs;KL2%neZi%j=N~IeXPKsH`eU27co6fCDG~6R zyL+l)!T#v1;C!W>LU;@(vF}HaCmRDp5A!ah4$}9VHVps*BR=NIVNq~?MoNKY2;$42 zI3o%aCm+D9BL<+8hggms2Jj(75C=h{#}8sy$CmKYiNl6!pu?8)MX*w_W&|a=um*Wc zv$kjzuxYG6aKsXP$o#HQzS^}~KlW*ZsPp9o@)lZe@V7@h>{hGeX4lxy^XN?F-Su2= z7q`jBX!_kbg5F+&+49UdT6)v}RD}KCd&m@?#@?zid)maR@Sp&wyHVKYtMZ5eadapm zj1$zs?DmF_(rAPkWj0vVweQ+>orXlV41elR)%55ssOjsQ2k z>IYy@+DsSeq?Yr+E^3~1>Eq* zrAg@W47V)&YOboYi~?E5vjWh9cCjNe3MvJVqCXLE0)WcE`#ER30$%rv*w6bc4LePL zqKy%P-p@r!OzkwE`Zcpwz5bk~uqW*dN0=PJ5Cs0X$^rL6f}-xz-Pfl5ccCWt)nBh~ zDW9dXWp5(1%f%hP*TeV!4aaJJucz0atKSC)tE(f8)z*o=EB|CbQ|G@JK(?iRSM(80 zs(a1F6=o<$dA#aabYG}Quh|lygGWe0#mF>A1cHE2&=C|7O!NU3gB+@Z zInolt2D)s_jwifZOTV)dh^zpUlQT0X(T=CMhT-ZXnKK!6LKY-TO9Uj04TOsf(iEvg zu(oDz(yE#;+|jp_;s`c;M1wM9QTqTYDW3tB%wj zONcZM?x1liXELn|ZKm`oTqzEB+w0Et20lJ7SBOWjCubU$d>>Tt?^XfU{iXVhsPO|g z%;sVp@X$3=jd(~=famFZjk`6xbE=cbvz~0BC{J*;6^Q7lYq+5k?jeAVWyUE6QBsCb zixL}?siRcDbi)(jTWxA~1ZIcl4~-nK<&kcOQjXfbVpT#*Nd^$}3d5At{?zOzsOZFl za-UtQF_vwGgGwH3+JtY2&x|N)B(9?j*fkD_syLDdUGBcjzScwt_)EDXC61o2>{9x}ctq3m- zYg~}=0gP*(NmZCffifvly;hbU@}{i1HGGvL^gvaxBN`_g)dF287_krw`rBa=XQ?85 zY{wGF(E+7rhd{l(-?2G({`QC`y9Wp^#)6{%sU>oS4pgmCrQjM{qvuSL2eJZXxrB5j zx_AZPXHcUZVP-PBaxb(X-RD~S64^Z8bxS9df zN^A}rseo)l#wy{aDSz^SoT9u)4e1}rG=@cQCZEUQS;Dllv^1~m;W*aa+XI_U6|Ge> zCA5a{xe16N%7X@>^A5MVnx=Nz+d2dYd|z8$cKq9Z-woW3pZ$u@&rjR-`hB)*Amr=) za5NLgqDY%=rk?sQ=;eKlmyZ=7>Y*pY?I0zy6s^QucPSaj^ zA6;B~z4*i%O!__VG>wxAdbvOR-nSLZW@)O-`9I+dk0l|}*MKg=vLKr#Y@%-@3o;-k z!-|PQfSOf2w?)l}gaW{NIkJf=pmOpr^a@iiNf7muDUqQB+y!dRh>Ne_pAY(kt6)!{ z_fPWV=k5Kz0XBI@X5n$3Ieh{GhyNJf1OO?&Q#7o}h}d%UZ7Fm3Ov?WtOVHjyDD_Up z(5GQH(^~H^OP^~ShVET)YGNW^7X;RN`R9Jb{jMMC-NaCPo0jYp6`U&ud zV;OqwI_yfM`stT%vrC2x>uUrk{wMb~jBkdonTr+{=~CN1e%gLVvrXfdg6|>5ol#<* zrkQU9k%xPm{gYyy|7yU@;>DqAdrO?7xj=NjEm@Pg?U0EJv$99v*^XqHC*X^sx}YF{ zutxBpU=O3|t#1Xyf+RmQFY>Z|Aeo70yNGS*Vh^hqs|h+vFY|Q$gH>27yk9`x?{p?l z1HTARsfuC8SQ3E@*tRIjS~tyZOiKi>9tMnHnZ{Kt$u~68muhnWa9}?KOB*}5o1#jj(-|MGYBQx7c*v;XtX{5YwAm(%OrzAKkO3VGG{e{fbN(c9M! zHWRr(ffMIFX@Wggrheo;L2-qR1n#4nF}xx&_=Jq}4vGRpG~;lqmSGj^l;QGJ7u`|8R=F`*o8vNEO!qzE3j-b=rHwTH%AJj z_2-kLxUMs{%}NAI?f5OC8uwCciRYU>$Z(l_lGdh}P%bowBQyTqFj&2<9LN>lNo|#k zDe9}BmlH@MUe!`+CmG!qMZXWA)2@RG{Ay`{IbV&(vxXlNm0L6WQ_g`X<}G}LKU-<0 z>`6)~-lFg2*Xqc7*qxuYZj&c&qqQLLMDIt%q*#u{Ig%vD;UsJ(7>7iPYn=&BA_J|?7D|xIfQ^NQ z?Y~9q=`?xQs$++f=sw3Fh+)OyqeF@9ERuvEmM81!)G&6$J^w_9SUMtuJ|qC*@Zzw* za8*TycHf-ml0^b2@H8X=w>bj&vC(<{CN)ByFP1h3>DymS-p-7B--h;@p0+=GdjF}r z5cK`CDW#+oPdne3B%ktslbe6xsC*mLoj;bHby7N#L!j=4cCE<}OSz#XIuJdjyh2cg zqTWR_EPxmK8(Rq`dbs&RYjqi(G8*9vC-9b2EQ9q|e0`r+z;kk0yRcnT|3>A~FtEbf z@=Sv!16n~oK^xE@%-nzIW!Jodr5A>wjLpf|u9EW%VZ|Gk)SsnNUxaMqRo8pHvja-HY+=0jiX?VXSto@acgD4U-HSw@eK~R}R$ZR*c`Yy?*1CvhE zT2OjH^;Dx0bu;#LLKl~Ib=AHHQ>Qv_d+CB*kGM*TIBz#w#kbq-w?BVBzi0ct?u;}y zLDzp=ASmA+|NN?&|AvZv=Z5Fu6UvvJrEMEme|`MLv5!?$7HG`H&X`3IFi>Dw(RzyO z7HOq9nAo&$g}s1;zZR;(T|3T_I{9O&1!QwKCAWONaw{*FBXi zPI+t$)404z(PF*zo(GA8N?+YP!r6DjlNck#_L<;u-rnQdJuIjuHp)q25jXaepk5iY z1njRABAOSG2A&NqmR{%Qr=_}XFP}GDdxPzs-WImn2v$Ajs>Vte3AKOwLVjMFJFEV; z1frgGZ;!yz?FfMJprJqZY5p3l7yPcL6b)T6eWSP`P4yELSyTZO0T#=5L|GuuB^a*Z zlpYWWfK!hq_q(~W%VDC?B&{~qo(6}3ilV|Tl&+ng(6AANDK-u)B@>BBh%Cv;Bo|zFhqNOf*kW$7BO{D z+O4}!e3$UHBi5BM222Z`Yrl8bb)FqS_8sgF7LED6`&+e8R#_zOFAs{U>Rg|kFiWN@ zI}y$VVVBNJ{+ILra>V`G0JlAf-DOQ3YC2FJ*9>yR{BPGrs^mPWS=RfUA9*Yp&T4Ql z6W8EvLr7S6j>i@U`r6?GI~+oSjX>VdD`^;5S)@K-#VhtTNE^7Mi&ao0{YKbHQV?Zv zo8I2r8GpaS@UY|#1<_?L_3Y>t1_vh5kA4S)kbxu|v7Bsn>?&nD3Oww21yc)xe+Lx7#8vaw($zjnX~<LF))$Yvjkz!NE|t*$Ywl-FP%`7~^LvZ5f5MVtQNk+RC~#CGL^ zr5=@$4&Au1d9R%XXL6(gEpsKXm?d{rtFdK8u(LgAu*8tMYm%*nFU&1blcF{HUbz~Y zBHPJ*VVb0g;WH2!Uh1JMdSP|sk2w-vQ>}%Mwr!n%qkh#rcXA#S52N=q=~-?3+tSwI zC`<3{A>oYTjKk~eP+77;pUd06$Ay5Pm!~sduEnX_Kih*gn~0+}(5h!5JeEwdQM#0< z%Lz)R?E{&JaNG}3GOGJo0bTtJGIo{L>{3rl5$t>?!3&sLgF_VOY3~wc_({r`{axQ zV@_F_FEp*^VdAx!CSTOLKc>kmM6G1XOO~3zH&aqB5c$LkD4+4c7`bcD ztKV*vx_jQPe!Kp0xDeobdGL9R^S>NOPNrp~^QR5) zAsH!mFiraQt%f$i0)eqv-O~uU0-lvsb2A7ngakKZ5xX3ukis#bHR-aip^exdBFlgr zCHRd^RL@AC87#vZM zWXmOH-qXrJtr}NY0oO^qV9%dQsT|h^rmAFSSgPR2Oo?r(8l=~HY91B0jg4GsfLRsU zDZJYMNrC9DEb-7l*+Ko|T*&+2vHADxS)1e{QRK=DhN)uAUf|wNHvGDc1JRl78}6l_ z_w&}Z)t}r)(!AHF&1aU^pR-N#xJS4X3_5lHRt&`bi~&z#;Y6$*@rbVBIW$naGL)iA z_hh2DWaD^%2MIQ8j4vrkjI1@VVgUJWwJ@v*6*^A+muU?g)Tv*@`3~PoCR#f(_Vi&g zO+>VCfQ?wcCO%kV*R1r;S}dSKE++d+$swXv1a`mmy^>*7k&5P9!ziyc3e$Ki@A2=o z2rdybvY_EUg~4jcB1F#U=E1WCC%Ht{vQ<0PD&Dnr#8w052Xg+nef*`Gv%;&N(lOYA zT2(UHucql|E36Y-(c(yL^xv76w3Vs;ijODNIu>Bv!Y1OAxu_7uBQ5(MS^DpBg!}OO zztL`Od0qZK*frSncYRR0{LJ&ZwP#^Li#uP5GbPUZzwCALUOXiNN!%7-pvC=!u?i1yF?fOj}`(x$AnB^}@r0KZ@+OdLetU|MM@hL8y^4;FS}-5OBZ@PyC% ztQIhS2VJ%Z`-w(@ke2JKwha_xAx@JU_l3hr{gbqOq{#;kgPo_E`%WvtsCCRxpjCcn zbTrhQ=T~y;Vcsc0ZZ5lWtp;K-Y6+9fU1ai*3qkkM4#3wvh3Z-h$ZV5 z`~4CkLM!)J<1_lTW=fF+Pycux-9BN9Gp@(y7G8E`k;X9 z14CI{q`5GG*Nlxwg;j{^)XL4!Yh|AaK$)ACDK;uhkk(yo&?=DF>u#d|k@U^GQMycl zrz%Div`=AIy+p$@v~XK+E?>9yB{qG1H0JZVO-1gqDy0+c%6+vHX?byq)PpUT4ds}; zDV2IrQI73`lX)g}l7(n7J8lV`;fXT_tRgEVA6l@A~^l+??o`K|Lfhz!9in`gYW<3(b4db zsYQ{un&nm@&SkBh)$I$1J9SCdG} zeuWZ#iDL8w1&?MTFtlYZ%B*((A8$TYBUm#?-C?8ioxCmQNUAQ*3M zFoL#jLaw4qDIxFIo12NGf?p?BZ82$Zx*?PjMH!nK!v&E^&tKZIm{GO=3h`8yi&-~4 zdx&5|RfyHo$tsqq`v@)}`y{s!2kOStlFXuyOBc}EZGj(1F8U!JgAWTNi4l$cwckhq>iyIGX!Tub7u+0m8l$A6kH|}Azoo1ki8SW{TjUYwikcN zeEH658U;6qiR&Cj}tZBBB?{gKa zymXNmpAXGR(h)q_z2b6HneN(!wIH6pugKAzpHw6(lvY#ZAfcm%)<8<YoQztDTA$N;@ePL0-o5?r4#fZ5?sNEqv4G3~pz0$9OjT%k4@;c0ZM& zlu9(aPB?mQo+x8^q+q+0Q(}k87NKbnf4h>KF1w_Zs< zOB^QJ~2Hb$SzB~`|#o6b)s_gc!YYIxeScX)4D;Fj$P{3Z`22$ zPE=9AbwWo`5|%5SEG9NI33a-Auy1L0RG`>Tf?k)92d!Ud+b!?&vh2 zy8;LCLaI&~^z3zcuF6><^G+O9RbZfcPP%GHf#WqwEvGOLyIdp`4-Mjxzy<>nc&(p!lmqLEt z-duVMyUy5Qud-er}2R2e3Kz|`HDrYpL zrgMWyG4`yTgNPE%G{mYjAMK@xhEu-H{&L2~kUv8D%r7v6nyUW$KeGU?TCKpW02AuZ zwbmQZKjQZ?q5CDwiJGsIxO^#`5CIA_Dioth(qEyeLeLS=Z|yT}Don{8mqJQ%?c?2NA37bE{4)BUXg*!PQ9KACak?d;dnC%%r z1)M}=XFy27HB7^n!O-D}mC<{2YAD&Yxb_2$vrL)R|iDvKyrogt`FBIW>H z?&OL=mX+6yn<7@*1v!~~Bv8b~#LYY6uzJRyg&fx3GDmC->yN5vc^>c*A zBWOhoHl)Jt$Vq^}pzdI1Mml^iSimI_=yE{3{1oIy?8uw_4yX%?5=s)HKHZKLIg#;v z!SZdUi~h8)`qiw*>Vg}>r+fsHDecgg@Doc1|Uxcm9 zi0XkG%U9>t7|PwW_3MGIO{%k0qCrhzQIoTLRmvKNc}{NefpM(U3h6e=+8MDwG1y_S zd#<{1@B^oaex9*0S3BaJv1Ua2SH1OfXyN8o7AVK+1O}1v0XpK@gNGCAw`_+xl)i_< z^X#|h)%{df@7>q+L^$nHwAr`+ja9xTR-Ttj%QpXt-g=Lh-FcH#*IwPF z-GiUIT|^rkEZ4Zq&Wf^#06I|wk!@>Ikx#OGsmy-kqWPXxA6M12OVEW#;1z@h-5f)L0=0x2?$Y|w@GjGTIo#vz$R{^h?U4l;CFe^Uy!?~$}$Qcgtq z`F;&EMg7^Z8?MPDnNTT-9d4yX4`&WBG+uBc?g}0;*Nkj92}8$d(v9AAbq{;Ch`+LR z0_`kC$&(?hf8A_O<-k#p_PJKu4^oBo!pgeSiWhXXo2GYe%657ogG z_EOYc!;<_>!wXT$mB;$$b`SH+(FmX;$NHYoml~8DU3uk^Kc?6tP6(doaIDc>OH=hmMO3slOmkSZfgq)3XEoqMuYJ?92RdQ3x3bNthEc?I*CDS7AQ4p=1E z;@bQTCyw;VxI(vx88#B(L}_juTRW!t8c~JVP~EPP+1zI<%9kSE`Z=gvP~83EpFN-q z16K>S+{Ri*-DgFM2VPV?GBZONUEw{vyHr#~b;>d9_2)gcx=D&h1jmFhDsEZlEE&mg zy0N~pb^@Afxwsu+Z5ZtV7pQvpWK37~v-{(kVw)Fkw1?KWEhS&`=b8N8jF-`8w3)Z# zTzFdloBcogzODbHMp9fJ8f{|i*R|=B(fgNsCB1Efmy?#7S8lG+zZd0YJ_1TGQsUw< zG{E$BCyBK`H8#=>7-rA(%9)FF-#D$EXf+vQWmU@bN)=K{t5!R%4M0EbBJxbm?5lUq zb(XJxjUejl$`f*W)A#4DV&)rE&3Yt`R*I^C+&;!tejCLW`(R_b!7zNSP~3NnzwYHF ztd>9+%M#~qUEsI#5C+3NERkXE{I@XCWQ}5UE1qnMDc@L>Wr+tPhKvUDD53z?#HK#V zZ`MHg0QkiAJl$--Vl;bqa8{1u;7%htwF8 zgTF77Xn$DUEA21}K)1G1kFTz%5R*Uu7Wp!IK0pPD#mb>}3geAzk!^r@zpRMSv&+{ zJ<3zKkIgf8ZB36)Gym)8h4*Dum6)$J*l?4>i=wpT&Y5b|-Fh+?ovAe}d(?qtM7{fjdBa_-Hdf>(!a^`0z07w!KGw5PBAv$;SzOw4ZE;Gpy;@#nxaJCL5z0{gOZ_y>CmVs;&&vOQU8Mnk4IaL`J148|lU^ z$pl3Ksza4)sL)Waa;X#pK+y#m+SLa&GG7PddN`7pBV6z0V(x~-w2PiQb5Q1d{1&%c znNXx>TGT3+iLV{4#hlfrijMS+LzF&tlRI&8+8I~6gg2r9gi>nGU8j*?eo>eyP^xI9 z)>c{}W=Rj{!g*uAJhxTt+ETGv!02V18w_W60C|+W0F8T_J&S8>+l0E|(y}v=h2XW0 zl$57_?8w5)L$^pM_C`j!Ym_Zl7kDT^uwv%bt_#Hy5ksaT%T`qP8Jjl_H;HT7f*zer z&c3Lv`(vPMK4ihvC0Dmc2Lbn5TEd z88<5BW5eyBuk)N)ym>uiS9hZn56^SrL%>hd3esp2h*mMlT=JyJ3#x4{Cd;-+$$nP8 zqobH2%hs5^kmB+ulD*W4`PzNmiwnMWO;K;Ir)sYTqz6?1i$Lk`zklLY+K&X@mCU4#uKxlDn5!iWWRP>*# z*(chJL3sGsEm>6m)mS4BN;Yhh9R#3wp(2)wxl#jHpLGnJ}G%`kzn()vFRBW24P-SX{GOl=v%1UeD zA=#+08C(nyu#EBWKUi7N*sjvRY5!E4QlTvY`LMg$-gPf4p;oM0M$*oczR~^-<1xFL zt-%ujS#~BKcMi1dSV|*m>np>u4WkVB6ae`M&or&|PG>zSRB)=EWKg0n2IM{J?$}>k zJ~*7&*ZsZW&)4>U`)&5ef7Ac-pO(jWH0pttm($ywqv7`2SN5MK@2&k8_Et?@92`Gk z@x9G@u+H+Mq`~^;)wV9N+GQO4iVm^!How%yB!ITjrX(YgC~?CSf0dVhFKUEa(Y$P&+Ew(G6A1)) zW5u)mmwswOq@+^LXFsptBL1c-iKW+L{0tYkgX@V~*30JA;wexUp@*zf;s_bKl@}r- z;9(wxQv+2wwE6>ot{8dLBbrNUt$p+Y2R4c(ec>ODPs0=!6RS@}EdRRcupFk%`FvfB zrDLDEb4R}ao4jNgOf9HX%C*60U)JC(HQ^=3X99zvmuVbl?Z9pKl)6p$m4CBGXJ)B! zzEmSKi}$jfVi6;4eot&YAH^%Yb-C}xuMGQ>D-QG=ZkX#MeCw0?knJ*)GF-Qce4Dvy zDunRn3?q^a7^?l9GdUh{>0$M1IKcZ^biO%i6ouDfMV2I43{39aH0v1RVUO&S-{DvP z^60;NzA5DQ*Y>sMzoHq-j~4f~``%kre{VhgPdL#M(fPMFwG9OLR{Ty!2M%X09B_oX zmJE71?{Jqvy}Gp8o@5EdoSs`i)!7JE8fyu1M52+L5;%@EEt7z6oFUq=pIyxpIzDtB z#ITlqIQ(_^UE=Pc>G>po_#i+-HXJd8rev|m`pS>f6o>N{d zrF3ljSRjmhxtem-3Iza*d9A9eR2jmS`nghT)NJyJV1dC3maSe6fawy93H{lof$Kp^ zUYvB~=UO}|FO4UUH;k~3P)*%1Q9 zN*^WLFZG9wYV*?HHM$`-*6LgjztF$3%UikjiY27EwWiHtc+!aT=d~-U95y}u>P