From dace41b973c1ce78194b5836c746e754c5a1707a Mon Sep 17 00:00:00 2001 From: Jonas Cannehag Date: Mon, 20 Apr 2026 10:07:39 +0200 Subject: [PATCH] balls and strike indicator images --- README.md | 3 ++ .../services/FilesService.java | 48 ++++++++++++++++-- src/main/resources/balls/0.png | Bin 0 -> 2558 bytes src/main/resources/balls/1.png | Bin 0 -> 2809 bytes src/main/resources/balls/2.png | Bin 0 -> 2812 bytes src/main/resources/balls/3.png | Bin 0 -> 2632 bytes src/main/resources/strikes/0.png | Bin 0 -> 10364 bytes src/main/resources/strikes/1.png | Bin 0 -> 16242 bytes src/main/resources/strikes/2.png | Bin 0 -> 16005 bytes .../services/FilesServiceTest.java | 24 +++++++++ 10 files changed, 70 insertions(+), 5 deletions(-) create mode 100644 src/main/resources/balls/0.png create mode 100644 src/main/resources/balls/1.png create mode 100644 src/main/resources/balls/2.png create mode 100644 src/main/resources/balls/3.png create mode 100644 src/main/resources/strikes/0.png create mode 100644 src/main/resources/strikes/1.png create mode 100644 src/main/resources/strikes/2.png diff --git a/README.md b/README.md index 38c7bda..e7e3854 100644 --- a/README.md +++ b/README.md @@ -81,6 +81,7 @@ A pitcher directory consists of the following files: ``` . ├── count.txt +├── pitchcount.txt ├── era.txt ├── firstname.txt ├── flag.png @@ -106,6 +107,7 @@ The complete output directory is structured as follows: ├── away_score.txt ├── away_team.txt ├── balls.txt +├── balls.png ├── bases │   ├── ooo.png │   ├── oox.png @@ -219,6 +221,7 @@ The complete output directory is structured as follows: │   └── 2.png ├── outs.png ├── strikes.txt +├── strikes.png └── team_resources ├── colors │   ├── ALB.png diff --git a/src/main/java/org/sundbybergheat/baseballstreaming/services/FilesService.java b/src/main/java/org/sundbybergheat/baseballstreaming/services/FilesService.java index c5b0963..1c0efd4 100644 --- a/src/main/java/org/sundbybergheat/baseballstreaming/services/FilesService.java +++ b/src/main/java/org/sundbybergheat/baseballstreaming/services/FilesService.java @@ -39,6 +39,15 @@ public void initResources() throws IOException { filesClient.copyFileFromResource("/outs/1.png", "outs/1.png"); filesClient.copyFileFromResource("/outs/2.png", "outs/2.png"); + filesClient.copyFileFromResource("/balls/0.png", "balls/0.png"); + filesClient.copyFileFromResource("/balls/1.png", "balls/1.png"); + filesClient.copyFileFromResource("/balls/2.png", "balls/2.png"); + filesClient.copyFileFromResource("/balls/3.png", "balls/3.png"); + + filesClient.copyFileFromResource("/strikes/0.png", "strikes/0.png"); + filesClient.copyFileFromResource("/strikes/1.png", "strikes/1.png"); + filesClient.copyFileFromResource("/strikes/2.png", "strikes/2.png"); + filesClient.copyFileFromResource( "/images/player-image-default.png", "team_resources/player_images/default.png"); filesClient.copyFileFromResource( @@ -162,14 +171,40 @@ private void updateScoreBoard() throws IOException { situation.put("balls", s.balls().orElse("0")); situation.put("strikes", s.strikes().orElse("0")); }); + + updateCount(situation); + } + + private void updateCount(Map situation) throws IOException { + String balls = situation.getOrDefault("balls", "0"); + String strikes = situation.getOrDefault("strikes", "0"); filesClient.writeStringToFile( "count.txt", - String.format( - "%s - %s", - situation.getOrDefault("balls", "0"), situation.getOrDefault("strikes", "0"))); - filesClient.writeStringToFile("balls.txt", situation.getOrDefault("balls", "0")); - filesClient.writeStringToFile("strikes.txt", situation.getOrDefault("strikes", "0")); + String.format("%s - %s", balls, strikes)); + + filesClient.writeStringToFile("balls.txt", balls); + filesClient.writeStringToFile("strikes.txt", strikes); + + String ballsTarget = "balls.png"; + if ("1".equals(balls)) { + filesClient.copyFile("balls/1.png", ballsTarget); + } else if ("2".equals(balls)) { + filesClient.copyFile("balls/2.png", ballsTarget); + } else if ("3".equals(balls)) { + filesClient.copyFile("balls/3.png", ballsTarget); + } else { + filesClient.copyFile("balls/0.png", ballsTarget); + } + + String strikesTarget = "strikes.png"; + if ("1".equals(strikes)) { + filesClient.copyFile("strikes/1.png", strikesTarget); + } else if ("2".equals(strikes)) { + filesClient.copyFile("strikes/2.png", strikesTarget); + } else { + filesClient.copyFile("strikes/0.png", strikesTarget); + } } private void updateBases() throws IOException { @@ -225,6 +260,9 @@ private void updatePitcher(final Player pitcher, final String subdir) throws IOE filesClient.writeStringToFile( subdir + "/count.txt", String.format("P: %s", pitcher.pitches().orElse("0"))); + filesClient.writeStringToFile( + subdir + "/pitchcount.txt", pitcher.pitches().orElse("0")); + filesClient.writeStringToFile(subdir + "/firstname.txt", pitcher.firstName().orElse("")); filesClient.writeStringToFile(subdir + "/fullname.txt", pitcher.fullName().orElse("")); filesClient.writeStringToFile(subdir + "/lastname.txt", pitcher.lastName().orElse("")); diff --git a/src/main/resources/balls/0.png b/src/main/resources/balls/0.png new file mode 100644 index 0000000000000000000000000000000000000000..ab6aa8807e776518708dda00f939454ea8ee3ec3 GIT binary patch literal 2558 zcmZ`*X;@Qd7QQT1Ko+qD41-~SiXB0tENXy2WszDHwALWrNKjU>hAnI%6f0_!3L%w! zNeo!j#-M)1_DG70?`lx4NUvAPM`U6p6|!`&VJ7O-aPK*siS4A z1pt7~;V<030svK%@|~`+K`951*GK?Bv+1z=!LQ>B-#}p0(3jfk#~rd1;rw@2H_NOk z=14stxYoZ zOXS8H|MJ~)EA{ar?m=@G=!!GmD%}oI9TiFq+N57Ixn^^nwI@g zlr-LWs-hAxNOUcHTCB4@CG=j%`BzK{{(EmxUxGf{UQy~9QMPw~dTXowc(XpN#`5`a zX%XApX}KD5OhCtPn0k=Wrq%g5${@=3R~Rm76gK)~Dfup1A-lmKNPluMjXc%qw>Tk} zqdb!vDJf}h8^fw5f~dU})q@h7&M;rba;?ydqOU4Rhw)M{c`8Y*r|MwZGRr!WA#%@b zuI8@RF7II1O;HOcujS!aH=szFd+j>8Bt~EeO%{LbYKzSeHHjTYRvg$cl!P$(B|+L>)emr$1tTqRuX1drV_wr+lu@8ve! z$1-eS$6Frk$+t6~C1<2g;~6^8>pWZ)g$|y>j{QVWXu?pwbLJYrL>5z+0%*ZK>8aM4 zjz-QaBA#IiohiUAeq03}(?wnB#`XYRIk?4p;Kf(W74z8XxbG3KuJBCcwiYg@k#4N? zNkbn|UwJ6RPU`M{eNcU(&`^@P<@1ql<{bW_4%^-@69+jgXmmK8P<1zD+mmsdM zB%?Yk#J7A^py&vYR`F+@g0Vw<#kWLJBq}$B@t%mc+6cY$WJPV|GtErHH9Jm^*XeTL zZMFU9`UBGP-+7X#j!N%&f{x)ji*25)`7Wjj-ioFV|cC za80FP!r}~?RRDi>^BH`qynCyd4tGqWPrzgKP$QIw?JM%VLsk4_mtanHi6X9MGV)A% zlk?Q$w$tJgUCyl^`<+MNgu-n8KBVZ`(LZFh!o;p&P4R`_d}U*yR) zIpKum4MZL3R&r5~KY4E8uuhy*B-o`?*F`ApD{=>~xkOXhgq!lQd zg7(+&v6$G~Ly$s&T6ljf-q~!&L>`Qmaa+Q@-Em9Ysm!r98o4)}`AiaBk)wa;WoQ4w+S$A5czq5Zf5a z?>Fuan5-g0%FmKPaf4~)*#gD8fa;5mgUKvxU~E|Whr6Jwhl=xRSGDUek|nZwXgJ}I zVEH84uZ|<6JycU>B;pBr3dwQBND;c^?3p_P>_yW5uZ^pW5EpSYxBMl))g_Zgmz>8hYVoUocPz z$;0fbUTRJPy6uc`qR3_#wptken?K`EP_-zV;xkr=$qf^t@b{jX4FM4$A_MAogq^=t zJhwgWeGP+-zYdPZHSbUQBuE7&`;H5T*j}uG60pC01}$l5CH9F`0)y6pk(*{=6Lsur z&9P(^av_!Mp`jxa_3edTD{E}{0PGGYz&(tQy024(PU6pB#!5X3yzd)HS|??+P`cTE zXvvcmdYH9xbC8*VnCg0ImTGJq##`etueB7f;ml8pMRdC1I**}#f|x%c+#IB-W53R0 zBJUE)J9n!82lPLkvc_ZVeFlwItWRdxY`ng>PMri<@i#*BQ@-B5=i#ycQm0|Hx{8;{ vcQ=%*8%WAbeu~=VTIKr1nDv^6Y3eFK-eG`UoX1!xc^z=r!^^$Q)&I)xbT%ov literal 0 HcmV?d00001 diff --git a/src/main/resources/balls/1.png b/src/main/resources/balls/1.png new file mode 100644 index 0000000000000000000000000000000000000000..2d55febebe3adf908027135264f333c7d2290be7 GIT binary patch literal 2809 zcmbuBdt4G&7RM>arpeT)K4zL?Hj`9}qz;)WI)#tS@m;>~ktxzB*$SyhqSdTArG=(} z50Wh(XoZXz5UJVbC?qOnNP~}<(nLhf1Y~^WqBXla`|sXAzMuQKpK~AQ+;i^zT?z2> z(%)pd2><}-dmnQT0sz*-wEgQFH)uH!z*PbOo1S>PA31@eObrjljvm~s8<3HI{HuDa zch%)3g|!q$lyj5v#<4;`MsK#*6cC!bchJcIa8W`*D0v$fJDw?}$kA-HC;CUVQ#`raFv`UM?l9 zlbTRuqP%;?f)6>X?8I$tI z(*=;jRpVemPq+ig(h+q%Zh6J~%>@kj_e4>Vx`kQ?FAR`qE4_wD8{U}o0YSVud+5R=6!Ru@huZ;eR@9J4(*)J7aKU-Sqnk^2~J`5gYaK5b__wO{nhVoW@HM)hJ5i<JPSR&N?5XybY z1XC4;dmElPH(F~3QS_9BF^wQ`>_?FS#Qes|76wmYYe~QD#a1m4CRzQ*4PKlYx4|%0OEU)1`EiUe$xjMe1*tlx__H$rDRccZWh_o;*@O9GC=Y8C@hWGU~ zylsL3RXUIrQ}MC4YA(rnP|6_#8LY&a@_Rt9_fTBVNg}%cfIR{peJ&i=8T6j;a38Ve z_2P3yqi6pjy@rNF%<1EF zaWl5k1wZ;HGf#$|XFv7R#>Z*A9Y0ipeV(Tt|Iwg`fP19E?Uq!0}@Df>sOA?l2+J>D@B zFWV`*7v6@7*Ifh;Md2HOTMqm3rxLTxOf*;)snQ+WJYXT2@M4Qa&Ims|;3D`u0#BJ0 z{lj04+e$w|op{k?il38nYIrHun$rBVL_Tcn&Mi}nu$4Q5*8}`^lw8BJE{;&$GvK{v zjfa}!Px>&jme0vk-1!b;BZpZdCd!ms10TAlGI6cC0QBt)`G>pJRs@0Y!v)_35*64l zsyer}?NS83#rU21*r*G1AX*L2T;SJ3?ZI$tSwWIuu~QDLoSKFVI$k zbgABVWp)-}^>073z_6^XmFcC$N>RaQW>U8?INCe<4g!lV5>=m@cgkgWOJ`qJmE%=C z-iCl*a#p~w*TmU^`G<(%jJJkDBCrv zCI#n2s^ZMGmM@5@<4D`UWo_>NR<5aCNfD);Td?pttC_pI66?mFJa73WA&dy>GgHOF z@a6D$i)dRI7}0d@A(kbQz6@$1nKnBK`-8G2S3!tW50rp$Uk8A|CCO6;f{DSErY=Qd zZSif8+(o&wb1AB@%(W7B`cDZ@)zH*mbvVAYi%?8@pKlSDH#-quM4%+5{_MmZW%OVW z>}d1B>>z9cgqY`xGn<56){6XaCGL%+q5?}Pa71d~vP0ob{jloR zooz}*!)pPx0&}*tiKTR@+aoQ@%VNG_E=uKc!lmZQg)rR1{^q=9*Rq7ReGZjqb)Y38 zHul8k>N(G{`5rNO|z{(t9=j@n5# z3H(PD%|`G}G9OJp;QUD@bg4~(mc}&|Mr7(Z^<;!)Sj+am{JObD1d(AHGWw$DazI+g zft2AoG_ukfy6ZAGg0Z1p4>n61aIpFQo9sm!?B9NNv`3gEoaG1wF3mjyUDWjBDX68x zQoin)PKE@vag(x#FXl@S%gUlx6HS~2*`gZimHkgDbIJTC5^}FV`ZXqatl37ASSB!X z)lr1U+J^qI**7M=(|Fm|M`u3y8iOIto7PnP&kU zx$(@csd?6BI2^`Qm!ng1(5<9>h?oBO$AS~31^*+EQthOY%C`8OrisOL2-Cx#sos;s z4vH3~I~xXyZ^!Dd=`x1MSTpPgFCm->%SRvCEa{^C>XF5n{raSdsrZvn+nd_R3E5Gd zsM8KyRfpn8BxEV1=Ez-_1Cw6tUAgFMoL}=E-b^VBG1)O^wJPm8!=`nHn*=Mz^gWBg uKU*T~NGlhGsvURDbHC`lu{v<}qfRd5_3`OL`E0GE1$cY-xi=g=b@^X89lH+z literal 0 HcmV?d00001 diff --git a/src/main/resources/balls/2.png b/src/main/resources/balls/2.png new file mode 100644 index 0000000000000000000000000000000000000000..6908bdd32edf43317779772d299669e33bd99793 GIT binary patch literal 2812 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 J6$ku(`xjGp&4K^` literal 0 HcmV?d00001 diff --git a/src/main/resources/balls/3.png b/src/main/resources/balls/3.png new file mode 100644 index 0000000000000000000000000000000000000000..742b06d48f19c699cb5d1589c1ee3c885d3be212 GIT binary patch literal 2632 zcmbtWYgiL!7EZkY;st377K%Y&t!@z_L<-Ra6o{a1yi~akR}rXY8HEIaptOR3E0mN{ z6NErT- z@4rr;bla+Htc$^5wjOhL{ThQ=N76iJ=xAxM|1?jD!RYE8b3Jk{mh*bBEBbT$?Hf-w zlZ$Si%ZmD%a@_rFD?23TzWcPbR`y5Ji?D0(&;WizXtfrm;s&!17gXG#S=>O0L=rNI zzv)Kbd|oED1Kz(PIY;%13eKA%8*S*8fBfk5D!rnv(k0vbXYj}t)Hvj>>E4hae%1LO zyxFTS%2j%2{=R?MXSe$!GQ2AVZ1F5jN5IJfO%wcPOcPKelA_wtSlt=#ukDP@H) zmbFBl{xm1v!`YRx`i=6ZI8fR-*oHN~)CC37)AH$)>__PFx%)TA<9%FQw<2m1I--ld z3#b7XvlrKan?y8GYSjfPLE7k3sr0K+9(!^l^w3Ybl@T4I4*-GOP|*oVZ0Xc@6y__A zWH6R|R1^u;nOjINIKUSHuM|^$wRmY!THdof%XC_vetTThRzb>21=WSXU^kQy7ENun z&(r5vnh`D?EhTa;QebnLAtd*_X@nXtZFSQMzYxU7+qz>#@jZ|OQf-gk#v?!@zpu3O zf{rle=*E`y3>;DfXi`@rcB8qj+Iwh0{7-iNO;1XaiM?e0@WMmpIoHs<&*8diiC6XhjFqSd za-^rlBhTHE!D#e8ga50)i_*R0bzg0F4&5>ZEC6gOuW|=8|Lu2q9CqlAxDbe>Q!gV1 zd#Et7kCgZcj{4oLB4CD2J%t$HLSV$tNF8hAtmI=~q&yy>c0y0+R8z#xlLh+o<@%f% z28SKeLtSvg0yJSoz$6%2%prHL>2J-35;7f}&-f)>TM!tR@DB z$eHYcICQQf+IsOQoRUzt+u;dE!52ERlqkDTV0@jQ%EBtV#bJDs4W?y>SiID!)F~#_$YF>GV#y z!z%S2piY;GpEmTY$L#NJD-zWBX)@-?J^hh8x!`jH6spL@K5KbqA`U4gWH&N|2U42} zM1Mw|MPKf`AhISNzw98odbxbuG^!^A5H%6S!7N_3;Goc!T^e_-R`rr~k+RL);jC{~ zl8)#nalZ840)-ht*h4Gp*g~^qzZ32+xy5^no5cKTh_xn#m+M5d@$&MRmXZWIm4ev) z3_@iw@SqBV0c16rVATC34B;a!+Czcxl8jJ-JHedv#Ac>Va?F^`P0^ws+^}Q62>?wn zjo6QMs5a#Xg%1st4;vp{lG~LJv#?$_i58|(!lC?3rjoO>V^G?-%C^R>ux;V@!qP8j zZ5`>CCT#5ONt!TAfsAX`t%pWO9m4aN`+CC?;_gx+yrfcz6((pi z3;SQ-%$lOm>&;3iC>X$DcwG6(&7v>19 zobV6J1cR%Ry^WC1%*w!?i`RhzA=SD+Z#;F>T-aXk%*r6nBSE z9}5n38PmB~^x+YB!l(-}vnQ=Pz)}vS`Y^}p=7Pl`-yc-K?0l}`^oDQJxzedTnI=vW z_`DFXOP>-KN!`B_$rdwQ1MVaxoT>>GESg%sW zYFiwBp>l9ixGKA#`PJSVo&x<5x&FPlFzr-t#EuC<6nMO)6KXTPys0zRDA9$88lQq^ z?*WofxhFd+L9=Gx9)zlA6;9u(-+kRC_p#L*H>Oj!p#4nn`%DP%Psrqjw?uR>LpN^= zk$Do){w%Pm?Ii>*$DjCa{b8=8|Fy2-=~UtYDWdwS-hOA+61CkG@k_LfuN{2nV&HzfTshUy+^ zvA);0eLMNv@yUWZZS>u7Sat;F`xXF=t)K6__p`0`#a1m%K)d6tIj@Waz zeB1ONWHvM@Zq#Y!Y9X*PVhd~SikdCft9qJuwZB!|#0q8_9u@-9_UV;*c&&G8eQ7Ii=63oA zchGVL>KrgK1*~V40X>%)VCcc@bdFwl%LmiJ`=>N(qG_;_wEUyh zf!<=EL1svji*Y`+cixcEeuAryOQZ3MmGTTI3mk; z0=6h%s@@>+oYnrRBWuQKHhGx)>4VlA!A>i_h+4Nh;a0p+($nKXFLT$t7td6dX%y^h zv+v5Ol^spqOWN0p-Ab?OY%(bVw!6TO=k*Tm@IHQ6k$gqt5HZKdCtV*q2POU+1wmE1 literal 0 HcmV?d00001 diff --git a/src/main/resources/strikes/0.png b/src/main/resources/strikes/0.png new file mode 100644 index 0000000000000000000000000000000000000000..58b89b3889e3d4798470f2a494e13a6aaaa2b000 GIT binary patch literal 10364 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%0AEY8HC)d-{6Fld-?n#Alx;knHdrf}+9ZQt`dV4$P zi5ukMTRUnh4(w8i)V3HKa3Kj+@<(fHWL(zs7;1`Yl9H04-C^kcL*Mcz%sC)TObV`~ zL#sL7XL{@)Uzk=VN^^wuW%}557_wHZ(UB2@nUeP$<*zzY<*2FqnY2o0A~U${Ai~1J z=6B-n-k~hDdNnXGBhpY)SGgW&Yx&Uasr9X`<;dmTV|1+M;BGbT#$b;e(3gE$RyQ%B z1S||k1X+oih6eg-%WOQGoQ+KdXCx05ba#26ii3mmFkrwUWBZ1j9BgcCTocQ<5J;h4 zo#+>+cjYhj%dN%?&z~72)2!vOaj4*)GC8T7oSDf`{Ic)$x#vTT4eO=Z_wU~|U0v%p zUE$&3s~k3@wC>-$>sy|jBoCt10o`*&oa)r>;DAm+(XwsL=xAsv+eBojsHifyTWM+d ziAhQEwCy3p{H{gLe8iawh54?4#Qev`6tw!1O$=?#%?$tqQiZe%MC7lRBGYOj>#&Mq z!0qq#X>o91Ktw|WFQWGI)WX8xY^6T43o=}(dbvs#uT!Xm2NGbtYTD(OC{ewT_nVUw z6J#FNvdFVDr5b+jkM}psU(3nN}t{_+FZh zTcfh9o3aO=l+-LD;@6aCTggt2bAB?7@9jC=^Ukmla(TCJZ#^UOmPPUyuslBq`}<+k z$Hl~ay)hNe`|?Hn6RoiCeX4{OHDJ!~DJUqqF7fg4&8@Am33QgbbTu_o{nk3bbRWI1t*cK-cmez+G@n}RfNsj+x%^3=FmGxaw)CZIYpva-3?9!PXYQxZnq zNvuCxJX8Z|g%RunB^FB4oL>6hiPbABD|39Uju!B~R?*ImiVs1eTDk>Cyb0j7vV#g&H zw6Qn-y6f|UZ?z4EH12Diq58M4*Vk&7het=}cOFSfC{kEhTld6MNYio+j|3s0&)3^5 zwVc+~n)Koke(rlG8#%;d7g|!q7A|;nH#aw8I`yh5 zD#^?2$LfZw)#969vj{ugeS;WJP zBSthdxMy$@At6mzeoN#WmT+*WRvHbds9O3d2NeeuwB1Y14ZFgq?V}H8y_1px;k7*WV~ZN zI5^NhUM!mV)6iz1&oQs6s>(o39eT#boiq1MDfm89SDwg!yvZ8K0D$yg_O(gJu5%5} z8+H4I zamdBR#d6-hW0OoGY%t&!Z8PTQ=Oy)Fe5F%U(y!e4%hmE}MJD!qVMWLrvNYSt^rZ7w z56h(6h#|d- zLKI8Ho9D=vrOO3G=SGK(zN`l1T1|E5q`X%j?=zPmf`VDg)ZyVrB!Zq2u_z*KH`|2q zkJWqSU77Lm1sf(EVjBh62%l$U0^nn83FEU&f}f7hcU3FKOK1LY(~lK@btcKlgkVgl zIqFbSQN=HLlZ^llK~0j$AD@IInWG+8WwW}PwU7I^?(e;O!BlE>Rcx44-BD6l&ApSI zVt*lFu8f$FkPwf1kEq_jq9WQ;2mfxKI3ACO`Qni1G(X=Pp@c_LZfnDWk ztLU@@0R=lxftR$S|fPqfq%P% zvAA^v?DX{g=t8x-89H#?_|+SgGUyaA-qQnj_0m-@YNlg3Swx6vVo%}I4vx6+Tw!ks zIy_BF8&D-c3h9EQ@R;?sy`LH;^x;BokUTypFYnxP`1v8}x%)slR7N3GKvB~uM2dq$ zC7F6RxFMR!IyHnkzWyQJkSk-*LX=_TOuGzzTS0u=*k7Q6mNt7e=Q*H+G9lI0ti|k< zyf1x}PrYd{LXYpq=~cCjs%*QBOde?sIzF~PoKXNOgiW3oorL2zwdylQDH&vOZ;&6| zPlfUjidmeNfZ&>LqK?6pAwQtNsLmLT98DJ``#D^pirn!muj_iq$kjD@X}d3m&~5sS zdKrdh;_WA33D+Bg?W!EtYl7}cWQM++^{&OeeB%rrx}xVU*;{_oDy4%Clp{U-KwTyF zAjQblLA2@cf?Op!QX(6lAzG*e3W zKm}!-Dz%8hahEYeZewAAw;o~P6dnCYo!VPjlf!+;WNrrD`U?qMjm8z*qF#7SN?_)) z*dyx6+~~Ap7)WV~E)(9gYx9Hjeae@w$wQFrrNArfH3Nwr>A8vzcXS>Kyy0a~Hy$Ek z75(qdyGJ+7DIz53j)u5epYg53uW1DY?iB}}hD1#$X1~5mdDOEPRD^iwDj$FLwy9lc zBWrJ+l3ot^QSA7+1|z2M_Whp`i~4}SgmSZB_Sr|lSBD@zL1ugJ1arv0A^-ILJcR&* zj#H+qjDgG1CtdH}1MLV!gpZiIF~p;dAS;K(FAgB)LUADx^VKicYfaBAAamc~)z{Ql zO2vvVy}>*EZZzL{VL`urD5yV)v^f-bwe{26PZ>53L1g>m9F9mu0jPt3iI9(F+N&*( zZ*C|TNJkdjh_$$~O&>mbFeD))#A>{!ixdGR)DNQhSFW{c3M1LN`xK~`T4eKf$SNwvCH+v; z8&9n~)qlLh4)70s>Kl48kqp0Ppr8mM!kh16aD>&TrM>EVCtNx+bUnM$1TG8HyV}E! z08wh38H2pJU2%wq$>BCK&FdGe!^6YL^burR00#{O&i6kDQ^5uR$Z>XR2}+?w2Gb3# zEawTZvWmuH1-rROxx4ecefQ3Sj{*dsFzc~P$H&KRi7o*^)f`YMy5MMVYPF1O^biE{ zFI4>OxMaOp7eR#QZvutNlIYkWo&j;SG365E^|7=#&m0be6-gB&bP>^r@vCikWQ4N+ z#p^jBC6$v|E7dr1ZH`Y#DfBF5f$gX@8;5HfL#KrVI7^Qsz39-OarN{h*cty^$g3y{ zWDA8gnhd&JwZ$2wD=l5K3cRQ)OJ4rP#}a3b=&6E)z#8XL5uT?3kN$W zkQPgNc<{cg0Ofr9mQ=3W^l7+n%W?hpfwnD1M^!m>WzlpFqb@spoC@iG)bS-pJ? z9|S%*IpK&QhlLLc=;ew{7G@ZnhKj?O?C>e6peO?U6EHJHy zX4q8iINOTg{f!z2zAQ~3%tNi%emV0kMB?1*tOH38EgJGrvOG1GdZk{gx!h0Bx0gV! z2G_RAw`o~)bX`b$)ZEaoV0#G`Rx&6ZBHXj{Yoi@LxN1dmm@~#%Y zC*PU-h;r|HxTf?c>B&?6HjEk|qZoqx9DE0)bhuBx;I)nb*i8Z9&4;U>JN0Q z2=A8xa~Wflg1tV%W^5ly)(E`ncn^9_MAQSIGv-;DBf3qFU!RtA>;=iGsin-Dnb!rg z1w6W1F=0X9o10VapQu7ScE+;k0iSp5;z!t&?i!h{AAYI<@`ad`&h72yV>0K??S<^S z9^_H1+=u-5p+a3_v%2dH;pWz$Vi?J$z57)J@|KN1LurFMVrsv!PE(*iAptn5MwpBO zy7QWVAg^ozoyYsS>SGqo(a|d12v8peYMoJUT5_qLCv)nUf?|;t>KhuSLNS?v^qx4E z<`YoQEVpJ4ImPol~1snmQu8l!;qmE&|}y~ z8z6;Z(ra-~Yx(`*IoqN6KI3z=+Dc1LpSLlT0?tzC2kN8=blk03D*V9)vt|*!yLbhEI=O|y3v$L^f>$-?CtF88W~eoM0rdcy8fd&@;#e_$V?@9)Tn5 zQ2Ras;jf0@B2C*YK~K@Tqp*?R8S->riK z_jN7+l@1vfy4!a;E%38H`PDltV0Y9m5BS=#Y{5IIg9EF)m5fN?R5ccjf=D@Tf=u6Q zz~X`{nRidV0XVnMaVG+%wgE^eOi$V;TtAT%_F5y{x*@x;y`5A`ON%39Jq)mGi6XS_ zJw-7W7Z)Did!F8u1OO4Q2aI`L4nNfkufc4bWF4LoL4MKuOyCL2a|P}KF-~#;K=;69 z7`Dd6kd`9aQNH|=61oS&OA%WsOR(x_Y_27CS_F*G-lq|77o#qDRa8_AzG>r^yZ9!2 z|IX*S-t}TIZ{L|uSxbvi&_J@MlEg!=^$oFK>;<9 zkawyCFUZ2u(g*>aBykzd7?qfq_=sVe1oiy#vZjn-m!{BTgHG*oZF+W=4M2TVt;Rw3 z;PdbDqH`9GoDHCRSpV{xI=8FC5BrPXq9l0z9qwq3N8b~!wEBSdPr}99uz+SALMUQ+o_BwjEigb;y}xg*wP+NbTUdwyz`-byZOTA9r3vu*ZGaUo+|Mm9?tU2b$az2$7dt+F6*=AlSm+NG*ZXUS@LA>$L|FdqUEQ;?BidcqkO5cF zXIPo!a`}d(7(k-h-6cu{1O)TB;$bG<^jS+{WpjHDzbD9h&(naeO3m{wI0x44b4p5v zN+sJ{Nc;(b))%kO?Rf=|_^0V`fv=@O!ayBQwZQ^2kFCJOaFFRf+6F#1s^wqgo4c1bHAo$Wl2JzR6w30oks-sTw5m4C_*?m)E?uv zobvz^1!6vU@-v{5^FUek@|yn?;A{@pYwZfkKgy^bc?|6W<|R^8ER?@VP{uO zevkXk91p<#j%us7&P10N7l#1PdyvGxm>~eG1kQm`A7=5?_IWey6tbt-dVBWh*be9| z89#r91aG*<@fvuke)LW;20$f%aM=ZP#@e19j_z83EXM^3( zzQ>0mEdvs1sA~<@aK=E>*m0#N;w+_cw+xTXX3sMKdN0_M~TI0PRe9 z0J2p56NL)&H-U=2XbNMP%g3C90Ef4}udh#2UjAhaqn#?Si=Q(yy=CfF9pj`|=jT<= zWjMeP&-|PAC6G7!f8MSFW~r@Bcy5~@7!kqvf?a@a^6=15SLjPZT->rdc7;ML#m_>L z`ud~?vlRE~fLbJ{rA0(XqXLb@>xV1AEPJ_sdIvo|KKcvKsVH~l%vfr9dh!8y^(#_R zW~*{-x)$#n$J}}laqwF>2owrMxuElIV)UfjZU`EWW2AbordB7Dn37Tpbm#z(hMb9M zj7CQQh*tm}1tejBZv?*aq>V9ih@lBCM}_r0GI65>-+!-1yJ=jrXL1#1)+ zUZC}t^3@*`sWyd{k@5K*Rv-Zrb#~@ZFV_wU4@U&xC6DQ*Oa&U?>8@lc@FgZ&fDY Q=eHVUB^4wp#0&!e5B8o*8cL&%)m?IC0kHw%E$Z8kUA%8{rMBlrP|tA${&Yyzf& z*MOjC`3Rj=IhR3b)fK7aIMR1^X#4|D&5>@Vgzc_S3?MZ`MQ5XCR?%gAyMy7hls+w! zr~F;lw>~Yr?9FBOXC8PLK6IxlD-~Y%{Igr2JGZ+#SX57y8;!5BFa!9<}UJ4>zwa8Urs+GuV%CZr|M#{VKlxwmSD>(x4Y@51w1l)H)eviD03 zKi5k}FKvI`lBl%c)_V)yUz~qlztnS=eW+!eIu;rbZcSIJ8vfX#zT|uG(;-8!GF+W7 z*Y+^a$NJd4+o3A^I#||cft~Ws zFU;#hv8hTd!{OOy0;lwgt-qFbHucR$*|&GyXZ7XowdFim_}88e|3rQ_*_j1)_`Y6u zHGX)MPg*x6MNVA?iOtve#`vCe%ediq!bkVVAj_}LG`P|BGA%K=cU-?6*Cl$(ETF-mBIv)OHa@IXjuQq7G zWyxf?8S@By-fNMc;jpRorJC+GOQ8`nt$_*u?RQJ#9}O5OH7su%spma5YUU2>PD{&5 zn{DnkZm=2>7E3qsRecN}ei4*i+^@at+YxVi&xwvJ#+(c6;5*B%Tz30ReslI>NzlVvs`kRadP>% z`_@TOx#3V|IKJ*W?(HFDnp2&b$YDIS-nsB-Ik}iYVmjq~W`=gh^1CO!`|gY@aSn$I zi)$jcrT9-LUNIU8m&=ks4vkSoi`*}^_-CsJ9!fk#Ezmj7(HEG8eyscQj-ssja#?0! zF*I3HkcBZnj8FJjaLatpMb<7$8>GHDbIZEfq73d>F2*t=WpW2c?Fo9aFf>X-ZKL`T zY^Rc`^;DCv3qLn(o3)^kEojW#LV5}ndY5KdpxV|hA&V!!Va*WyI=CJp?RQU}qm)QP zL`-?ge8$;}I(22njT!2qIoIE=J5E-!G$mu+l*GiTU=a5X@=|UoEWI>*2b#-0L%c3P z`&?eFR1ln(IGGR-hN?evC#1KFkUcdZEmu%zf?9S)O4`w{S+o~B?B=3xWLTPo5Pk6O z0}(2WIv#27rvJ6yRAU8Z^LETYz+pT=ha@rOhXl{c8p|^yiN^M~gF( zZ6I>3$=BnBb;C|7O4c-ffLO8zS{IS_Zd4#1KZMSZhaE- z%xnM9K^I^$wwY%Vyc-aQv9RBhR&H6%|9xuLS{r@v0@+URrJq~Zm6laEzogmCMgm_= zM{8f8o;w-G!a7?%BL-c5g~xV#`1gchPA9PcY;UtRae|TToi!d22X5hv;f!^@Jp4f_ z&zzaSc==}H6A9~*>8}pgIOAwJ>uLy-J{btG^84)j3LEK+m0qCU3K z%)7>cNx|L95HM-fn>S4t>YiCTOaWuh&N$wSs*j>DaA_4d=DP1T(Ct@gxRUk-4Z%W6 zEN#EEQBSMk2}bDIbbgl-+H#uIt-0u=I@6oLLO;s{1(ZPwbbavVQteYm%kEU>* z7rIXwo?iDEZ!Cb2zx1UL+2pY&<(2A^b?&#>WhPT7?16)(n|I|m3437kb6Pjj%o~`w z@%tlOHD|+)!IAdNLEosZCZ~dlT;2h^&z+e0ASu@lHa3j$HlxM4oFh2mnb{dF_ei9Teta+s>+6{Kt=W?&ongNrsC;E(l-Z}y8R1p ztcgkZkC@2fSb-dNI9sjoitSxkIR|P1X{(7tPm(ZkIRnhnG;+&e4yWlOT@2PMwC~JvgDE|SxET>UG11GYB>kP zQj?UX2<_BBZ>Lnw&6N8<1DuJBh9q+lDaewa)qv}YE_apNW~Yr-Vr7qnT?MwZY?P!>U=gWiJ>lDR~K^?lIuG(ou207mP9SC&qw zV5mOUzt__R!}~gFX!Ono%kJ6BxG*a+(AC$O8-2no_9f|_I;Ntw=v2S>Lv#CD^KL(d zkh2rgk1aSXeK<&#EF5p$B^LVOI;**rcAgqf!v;N_z)O?z)*F_Z7)=3p{ z#IyqWNAyjh&y8DO8Ghhju`cq{J&@ankr>OogL0#HEy^o5z8Ap2?l6UKc0=0@j3x+Y z7JA84HSd?^KbFdY*zStd0msD---IR)w`6}z&TM}l@y5%;OcDR-6x3Vsmp+InYMDqS zZ%&j$?N@0Vb%H^7tXn8WgZ()umbCJ2VQu9_#Jl)U9pCA_e65-NeueP8%!kAeAK^LH8bmTR%sUU??Ll8LmvQ2# zACr&a9N1I0%j-#GZoA4y*?@yrtMz><8>(Sb75dqBha}w+OwUsX71Tn+;&Z^plt^!S zr9*W{46s)a9Sr@i>fFuvpNM5-@q1mV$~$q4*vVsG)Y7be(R1VSJoO4+?%1JUl~k_z z*yFSr%=UW_tt-{w6=tg_c9Vnw=z)Z!UEoFr#gB|lg-b*9l>-O-AnSpSr4*SUDy1tO z-%325^Fqjay+aC4k;*5*#w46r(dn;uEVM4#oo`kXMVOn{#6zzm+{ipe^N25aj`QIiwcRnc0qNZB4xr-UF84bo>5EU^=4WrJV{D`on_`n zZA~98r`ORNj#gEc14PfK8*k{JB6mEmTe7cRAyJxl>Kyh28i;-!dW{mKZr{#pvGRg?0@SPE;K!RH)T}Df zG|4`E&r&X(Upc%25>l^C{7OKtNDRmt1_K=4=+}(d_lY}EJx|2-A8+fon?>-GuJX7W zLQ?#U3dglSA~-^~zGD>rT>gyW>$d`gv{lRFUds*b-_4SY}p9G z<5Y;k9N*kTmfKoG+Pb_&!Ef*~=sSI^vAx7kb}C{hGzAR8S?J<|-Kmf4e)-m=o<5W5 z9m7kXVOP}&P}H2oNzRTaoJrE6A8I#zQC?mzWpTW`O?13UzJf38vQ062EJ>sb8=>iK zZ4f)-e|4o;7xm+X8DmQvFV658%unQ+_@&{4IpY-BHczryDm@AT6~u@nc-mj!y`Dqt zjEg{gzir@1!CKVTcuCThGudP8b?S+Rv*cyeKE!$7t%Jw|g(1fiu}4 zR}1h&444VZ;$-;Z=Q?jP%~+mCmi~0IOvwy@CvfAg+v;7Dlcq@Rz=6NVtF#;#Mc02r z(0R{+6LN*d^)>uJ=2KNdg#m6A_te1eNR~U(#wsr?mwH$S6#`-zg(5Kt@{bH-jjKZ^HvhN07>+~XM=V=2xBpQ+zWE%A z{L18Re8E@oPPAj??Xj1u6WnWJ9y$$_iU5R(LldLjL@DRtdlWn72rA!nc<~ayWyyKJ z<)XE|UHMZ-9HJ*gpm}9`0_*9X3G+)~f4WKp%xB7##%eS!tDE`0ofikbOYQkA2_JNlRBHmiTnfvlmA~F$Kl&~UWrI(Iobv6BHr*7l3q`KnLT@=di zI#PX2OaiI#3FnA^l5CaO`9Bl1O7xXv>F9>RRrjdkG~ ztKJ2DfO{eCiJFBh+#a}B7syRZ*J3RDA=zn_BWqhl>pe~K;LgSEZ~?dX;P{bs`C`(~ zRB!lyn3>5C(!0B(GPS*e8VWX_fPb?_=llxhES%ui3@Z01s?XfD_=?A~v zyGMz=T_O=X|AtnzU@)Ysd)HODe%5+!So*O(g*_GLW!*Xq_EFG?{7OW$2g)Do^_px< zRYvP+_6X)Kr|9Rck{{b~Co|9Qzc4H5h9~-iGzb&quwz7mjOUl18y#EWZPmqO}*jpJfv43C!01}Yu z9W5x`Awtw;FfJ>>fNA#Jq4zCuXFx${wni2zu4u_fQD9%L!AK6djDy2VT{KJ|CJkcU zRA*;}m&`|Ti!_QA#U_gF=e32}D(Mf*jrjvq^f#4W? zoFws@%4fad*D2vvKo7$3%MvHcbWN&+XExtzK#baa$1fe!#xeR|vkO_J*7ELdFjy_d zwz9==Xe87tLQ$VG89!yGDk%6G#7@*{&Lv$D{q@cbs9R%H0gk`9zKA4}v*gX|(4$_JRV|Mw~WrpCtR zTHj&Ln;UrUJI5%To2D56yCJXuFd9t-c|H?68x|u|J7Wlon~gny;lRNO2)o%EnOH%b z$c!QHEo=oT4jWr3$Sh0+Dc*4@uqoJ!LCh_rJscsb9*Sxv9#$q`Qwm|BX98|~fB+ka zlM$JljkPV5&rOixk6b?B`SCR?1=$}GCo4e;O@+5)Vs?%YGENpw7B*%HHwzbb3ZZ9Y z0*ty7{ zYzw7)6!Dh~aR}7J(Zb%z!p@fLQKpfxowJi51qCop_K)@1*efXfQ@kzoZz}-yV0AOH zX9cmavD(zz-ACrHf{*_zll(Cv;e%)$ok(`^(e{|5XH^`;bG%|7&C)8 z*?5^bxlB!%!Q2pbW*#ms4t676Q#KAW$RAOrCVY~1jy6WXc3RjNy@#;c+rIxZ@Mv(p zH*aMGDcD)q{`KaqwULt(fu(c{eP~-)g1C@CpO@0v#~R?v#EhN_&^{& z5SWn-#K*=)!TPtttdFPq9~uj={(o#D@Q2{vt^t7WuXn)p0^C-t|GcjLw%MZ@{~!MS zy%+xvX8=V1Z<7DYzW+1V|IGDYS>V4S{-1aK&s_hN1^z4I|9RK{Z{~XTuYw0+3uHmA zKsj@5bk+fsLdeE)QsRG#BDmjTjlRIsQ+sJGC>$J?(c=fcKset5c!}a9qacB@iSQB~ z4X1}9a}y4ZR9Z&-jhfr+ewu|-+*I_>ib&+QU{|@bdoQ(EIRhbM@I)7A_DxakFZZ`hQB|&hlhv$OoQ{T9BRPP zQn3x!VndUiaW*kCYUSaX|uY-e@Lo|b{fcS#na6T3V*2robetn!o);;4+4#q@+-YiHWOfYflF`hN;2?g5BO<9xO00GKLpl z_xJW1wg)|pj6b}*sdwCXmX?+_RaNbNx>+}+p?eRzySXgZsx*s^jTJL9+pH$Br&5+3 zotcr5lS6yWs=t2RL;5=Vm2vv_@9gmaiJ~H=YQ7?I>>-(7Y%&S3>>WyW)U=fI<}$QKq9ub5-W$Nmkd?6q!@wp%>-l(Kv69 zkW+KLLLw6K($s75((0nv-`_84XwW8zc^*G8F;OryG?X-<0fkm3Ipxe$zK;ULht8%~ z$S7U62c!Lh`9B%^90bbE$r0CUa#QX?YcqVCCg`cre0MSTwZz`xX!(uvMn5j@@Y&f} zK~WKdg}A7AVQHyGb91vpNl9cRrn(M|MTZhYJ>)iL>4`j zvgV7~t?b;Puf|3-5G~8DkGNFSeSF8GBO@a)Kvin3cH-a5fmjn?CBmt&vkl$clE(9u zDy?U}gQg~veEh$Dr8u89iHc57Cz1F${uCX~d+M&%)bIrxlD$M%?b*$pnubPyr07as zTwGj1wbfM2moEg=OXjFY5!;r_4G-zha^OcRxB9nEl{GXreeZv7(bA-X-l?k>suycS zw7KlO%ET-{`sELWfv-LD?ei=bh_j)GwuT-D^kk$-C`^b6PvrdPE4Hy6h6OJ}!Dv&w z-q%&yO>W0{UXE*_HH!NAC1{*!%^8!YVAoIj_tMyF-AZtqPoVydQcl%Gy^(H*zpswh zzUczkU=u@0^0znrxD}@pt7~%qI_t*Ru{Lvxc@yNi6WbLSvuXV?SIjdPY&pC4_~(<-H_0bF)?vIi*lxNb-TjUcn2 z^@}F>+xN?iK{PMZatjN?nwkVaTZowz70Mf1TOYF4U6!|CtmRDxq2xC4a1Tgs*wPM7 zw;b<>%H57v%dHsqNZ%S5l)YloT(&PHh7CAXljg2;eouOpFvo#<%VStmiT`VxjFC}p z5FBY?YpVe;I@L{_!muiuEI_5jOK`04OK|MQrE55o?I~ZrOr(OLL`)TES5FgaSr5cF zFA)6>5r&?Y9Kd@>1=KW%@;hn<;yu>_oL-*KgpVmcgfc;63KvIQ+~5)zd=^ieP$oEPFS8_X;zVYY6x?^wMW68aH^@PIvV zBi z{j1{Ve{&v*h^9E2yP3So(o?#zNsLcO2pQgr zee&5j?&87)Ai#pX$C-^2n^l2XiV}|OMW>}H09Ru6tmEKD8b8y9K}A!(co>hs$_GDE zxC;`E6}JYom5s4nIR@IEgVF}0WxMhw!I%-ks(2~$ur$G;H2$93->1Z*36z4HIJAnq zhW*X3jF0q7Cr^bjr{Or~d>VMTxn+mJlDw`5sZa9e(FMr!yyR^3;97WB-)s)1@I=kd zYD-l?=8_m07$#0O25b^eKu6CLTtlj2=D0Ia{M2C%IveX-TdMEg(QXoLOiWG|)kC*t z_qpL2E1E84MD2=8z%V}10puTAHP-mJxVSadkbxuv&;9D*GOfz)&39LDn&BJXD%w2- z1S8>^i|_mwYWlSroal3NbB%|TWgQ$Uv}*2v5*6ses89H|HSg__~wp* zx@#z5wYI$JP?{p5`kd*g+@WdVhhDe;1?`P&dDBfU(zLAznqS$BdtC^GIL}Z~PA>cl zsAH&nk+q_URGPxZY8N^^BWHhq>%KXZW|hO7o%QMD#4#mLmppH8diULvBi8QY@jQjt z<4wBN&M+Kqh2K-g{gD>Mh;*RH;o;$}<+eb{*)i_T_IA-rF)TsT{2e3rr37u)DtK?y zCQG7LryZ4xy&1|)f$qJ9#;Hy5YZj(M3z?kk*;y4J}J$8VSaw_n^t92Rqjs{ zpRF`k>!cHis1XXLb8)B^n24Q^{Y*jVGVw6s#5 z(qaQi@5=OTuEvr5nKc)gRR)Z<@H2nVoh*7DRyPkyjpP>;^mb!V?Zd{EJ*|{(ojhu= z8z^i?=C;x4hS^qv(<$MugYi4C=$!od=P+3B=+sm` zjUs2g;2mm$>jx@(bm?SHSPV+b)9s8A*PStHv*C1aDVv3go+i5`Au&}F?*86qY-}uNib!(Mj`BA_0*}}W-p$!BQrk72f|5{!WgE}I zo6AEU&JCz>zq05yNiF5918{ib^r3h_O2f^$;RxC&7@Y*mD`uyFOprY<57fK6n~Z~Z znl*jtt6!<#(u%&G{blsP`));J-t({-S^3TKZcJ0bYKo+?>&c`J0aRHzdS&|i>w!k; zUyMcRdr>$ILdeHO1v6gGf4)^&m=<8~{YcE-A9yRBWI?Yo+bv^nWt zPx|g5%cRw7-zzKW85m;pE5-Ka>&K7KPcuf&+7M(6)hu_hMIKUPkkD-PGI+Q)v!$XK z66G$J>&cgIROFQ9tyD2aN{C&7oJ0DAsNH(k86}}sDdzQ0FN4OZJ;!=maGTFKHKCrK z9s{MA>!vG8!e!`$Qry~wDZh8Dlk|pVF)b3hNrgHy<;2yK*&@E@So3WqX^{V zLW{#0Y`0&%#>K@?0(>dQ%s3z;%k%j_&{G^bM#k6`^pr<8OFDt0*&PY4Snip{22Ob6 z4%IS7w^yS>l#Xifh92Yjizk}EucAcvc`IGWb)#n7Im(RPAH-u`RxTA!N5c6WD= z;T9WoytIJdk`wHtYL#+zk3xT+1O#`YAE8F_n+QSXnXrq% z8=UTMzJ{Y4(PA^f)1Di%AqV0Tva%m_1tBmXlBhd6em9%or^Kli-LtR)*-J2*0nv?z zXLEJcI1p66pn?Yakur;2Y4$^#$$gxXmbQniNczR=@x9S&tHgoxFq|#j3xZ+&K3{p& zZ^R(zro4=f_$RHZ_}*E^WHj5*>sgDKha{g34|H=}6HJcld`|8@dPmT(kJFZYsjr^_ zhuPinMyw;mL-%dg`IK3YIt@2HJ^dH#_?W7s!!s{@-fUdx9d9LCW@e`0FCfL_62AUy zD$K(Bjkp3h!&<`vvp(bZcgXcGOd_!sN3VBx1*efdCnwJoK4du>DpPQ$M_*7_pjnlQ z>x9kj(6g{;Oc7SLeMtY@)YHW{#ph&qlg6#E`Kmp!m@Hw6GAta+8DF?p@A>SDf*!Jj zOPM~;`H@UuS@~ErG}ralA~COc($X=u7pvW?oAC%vKg68Zt>#P`?A9iBN(jIE?n~QJ zFm=5PWHxi4P2@gTgv%rdqJ(6>cKv*9=7PwB}T(Zx<61<;t0qiL zh9OfgIRy0?shMG&b&8Vc2guM)Za5|roPJ*CZyPn}qXfTrf$d%9RIghX5+X0}60puc znlkrUAoZ~G=%}2Ed}TBP4ih;ruR9f30OhN11vukjF(2L?EPOBKZjt65OBj$hw1_$6 zHI|+995acGAvryp&yK09GmZ(Xxh)kTD_4K$SQl8lqLAYUiahDr_LyuY8C~71!}!3! zKm(`dqjog@Ghrs3leFb-0X8x@nvPgX(5Cp*BpPc|d568=FgjqBEZ?@GrNf7W_5Db& zheQ?iEPET*nDZoh3hf`GK<8>~gkzc((o1w|TV94WJpY>fTie&$`Dy@ZWMP3hLW*Fx zAUdpdG+P*+*B~YVmX;3GYW&?^wd?$)nx+$OLH6siRk#M*Kl6vTDoqAC>^*%L!BK<> z7I)P?o-(>;&}#XZSG0A4WncM!yH+>X!8J6 z(C^Nxlgq@`!eaDxM1G#6Y+WcMIeqEd-R%70B1_nKPNnMQtMD6Y3sB@7^!W(?)~yFt zi`n3hA3u;uAL1rN&|^K{!Hw`AEq+U*;=Tr__{~8zfXhJuQkYi+)qVZ(Lm%nhFkR#%*z&d!wd?TPBtK zx|rj;gQq361E|l1Srysb(z2mVtIPo?M*~^On>VJ{qpBzeXFtF_CVGJduc;lL7L_RB zoti`mnw3|*=dvC4DGbM>pln3DY6`2rqV|mD+_Z_QOY+2FMw-_K0jP-ebUFD>LO1#m zfU6LCrIpD>bUsH*qZ42N4}nW$ zlhU#>o-1~PgzHfHmQv!;5wgUf*)FCJ28o?rsPwVOeykQf3xiNQwoNHgZ%&y9^cnPd z5^63SoHFhAe#7QH0621i+m|l*Yj+o;<~wWKKA5>L96mvS4O@EZBR&Cv@!j>gj4P*^ zA9QO7->c+-0bupg;s2VQ-EqW?x#Cd+01o25ugU!8S8)lw#Q0Y=^gUHggrJ+B+7kQY zkIM@VnMr%r4RI?k$asOl93U?Y$r zb!ixH$kq!4Ra4clK*Yc|T(&XstUA76iZPYsJHJ?CibvBUs zUf2l(aT}LWg9<6|O(5${ew`qf%6ny_emnRjj*rz$a*JslK@hEw=%t>0cd-|ExU+ol zUdsF|c<8Gxjj^91+&PDQpfP?Kaz7-Hgr!^)mwqmOpI3V!#BH~jYC379_~c#-U`qPg zVZM0?T;D*U%(KU}6g*cc{mWK9WBZxgAYBarwQcPOoJee8xxrk(>ijkc0o9K_vwU2pEwWhU1OqqUCd`9+ zdk>6PP7V=Ht4tsZj_W|er3T<@JfQ+g<1>e&9zs$vcpz0Dw1PLTyXT=FVxpr#3^w(W zI@_b!QW(DdrpuQq+1RElC;1Wb_{%`-j)9@7>R5S@`3Tj!3bH=^L}!PW%npmDl#;xw z)fUVSf6ZD1WKM+lnFdDgkQm`xrL$w$5`LG9vopx~m)Z_<6#Sn|kg|jAdQQ{P$Q!Y$ z8ht#L696oF2L=eMYjpX7hm$#a>?xiv58Hd@N$-bLuXue*<64i8kB{jDeFYL=$ulf_ zPi^Wjqn{cH74#^9Zt0m?j+CM&dSfCyf^8%PR?o*(qF?ON!xj3vL#R5!~J72^zdUBAicGRoRW?Oud7# zn5dEv5PSs?QOw(j7qYUl`oOVf|CEl{6fvjD6y_wZa|qwc&b`snB1Eam4Xk}^Ol1($ z7+xCrqrK;B?u89kYPJaYGeoz0rQ^d)jm=yXRmy1FWQmT!SaNe~v~?y?ZN6-bg`5r$ zVJP);qf|Zu$ne^5?fJE~s%rK@l9<2y*U#dJYKTtUMR!Wsi5QbzN>!*b z4-x6nGq$0+Pjkd$%;G4(5PXPVnUVX(`sApU70r=CW4g4hZ7H)&{oeg&Fm#jZ{OoL+ zX=AQV(AEMs+md%C2vZ5fvmrtT;KeAWy5N2wMRbSQj|?T_t)Z4oJ~tsrtI?R@-T(lk zxx78;sNW0#jAIGZ>D+Seq|=cb-lE!l7!jMUuwqz8O+P*fiP=(%x4_-m_?S*4Ja9|o za@)>_-m9x+jMOhW$tddumvo(*d_AxyCPEn6( zr9k9zZzen4>qJJEh4%JdovAE!Zuvr<*2%m1uBhnSxAm0|q_0#X-vH?U&)I4#VmgbY zkyJ$~(JcpGE4$f6zu?zq4%HKJw+63c@!9^>ty_60`t?+8Q+DMpv^6SEKDt4%*N$FW$9LOjrGp)Y9npk(w8qHlF`#Edf5h*IFs>CcaD7P=% z@COAQ|PF%XjFM7}hZ(d!UrVU_3|6HexJp3!EFGKpF zeRIn5>7vW5ehZYSZ2s9gBiz$j| z>*%PvxVYd6uXtw~itD6&mDV|gGl0{FGYcMXOyYO7?X1Fe!2Y{$0OqB4V-!NZfWO&3 zv{{w^*?`KEG!9dxd}wc-Kb$C3WzuU`wiE8~GY9t(?c>bC`vaqnWT(Inc7elfrNLYh;>;>pTgX zRJ!pir1VX3NvkmfdLrLIHy05R5dfmf>QD{zqDqmGk>l7r0@^Z*N=p;Oz6H-Y?oETZ zI60{TMq!7S#lp8MSYJzuIXO9{i}8>i+eS!8NUFJAsM%TNH)q&GGW{Qq3z4w3^`DmZ)5W4FYoP@SBBj)6ht zu=T-b5DWU)wF8i7bxlpY*jj;}TZCT=jjqMPXs_Ar76nvPzCPfM0GZ|Q)2+g?vcv@s zQ8nl?48Gd14dLYU6kpiKYr=O4=*kLRZ&MNgsqel1KplGsfVIRYCQ9k+lK@>-%nWs_ zp?Jo3b@nR=uUT|IhrbO@G96AAWME~DnxEIrQ;dj&oXOJ9&drrsFs3W2eX@$3ZgegC z0*2B6C<+w^2hP@TP)oE3nF!FJEh#DCrWG2MnX}%RMarw{{V6;aT)*s literal 0 HcmV?d00001 diff --git a/src/test/java/org/sundbybergheat/baseballstreaming/services/FilesServiceTest.java b/src/test/java/org/sundbybergheat/baseballstreaming/services/FilesServiceTest.java index 5f74bde..5ddefa6 100644 --- a/src/test/java/org/sundbybergheat/baseballstreaming/services/FilesServiceTest.java +++ b/src/test/java/org/sundbybergheat/baseballstreaming/services/FilesServiceTest.java @@ -47,8 +47,19 @@ void willInitializeResources(@TempDir File tempDir) throws IOException { Stream.of(tempDir.listFiles((f) -> f.isDirectory() && f.getName().equals("outs"))) .findFirst(); + Optional ballsDir = + Stream.of(tempDir.listFiles((f) -> f.isDirectory() && f.getName().equals("balls"))) + .findFirst(); + + Optional strikesDir = + Stream.of(tempDir.listFiles((f) -> f.isDirectory() && f.getName().equals("strikes"))) + .findFirst(); + + assertTrue(basesDir.isPresent()); assertTrue(outsDir.isPresent()); + assertTrue(ballsDir.isPresent()); + assertTrue(strikesDir.isPresent()); assertTrue(teamResourcesDir.isPresent()); assertTrue(fileExistAndIsNonEmpty(basesDir.get(), "ooo.png")); @@ -64,6 +75,15 @@ void willInitializeResources(@TempDir File tempDir) throws IOException { assertTrue(fileExistAndIsNonEmpty(outsDir.get(), "1.png")); assertTrue(fileExistAndIsNonEmpty(outsDir.get(), "2.png")); + assertTrue(fileExistAndIsNonEmpty(ballsDir.get(), "0.png")); + assertTrue(fileExistAndIsNonEmpty(ballsDir.get(), "1.png")); + assertTrue(fileExistAndIsNonEmpty(ballsDir.get(), "2.png")); + assertTrue(fileExistAndIsNonEmpty(ballsDir.get(), "3.png")); + + assertTrue(fileExistAndIsNonEmpty(strikesDir.get(), "0.png")); + assertTrue(fileExistAndIsNonEmpty(strikesDir.get(), "1.png")); + assertTrue(fileExistAndIsNonEmpty(strikesDir.get(), "2.png")); + Optional playerImagesDir = Stream.of( teamResourcesDir @@ -166,6 +186,7 @@ void shouldUpdatePlay(String playJsonFile, @TempDir File tempDir) throws IOExcep client.copyFileFromResource( "/wbsc/default-player.jpg", "team_resources/player_images/default.png"); FilesService service = new FilesService(client); + service.initResources(); Play play = JsonMapper.fromJson(playJson, Play.class); service.updatePlay(play); @@ -184,6 +205,7 @@ void shouldUpdatePlay(String playJsonFile, @TempDir File tempDir) throws IOExcep assertTrue(fileExistAndIsNonEmpty(currentPitcherDir.get(), "image.png")); assertTrue(fileExistAndIsNonEmpty(currentPitcherDir.get(), "walks.txt")); assertTrue(fileExistAndIsNonEmpty(currentPitcherDir.get(), "count.txt")); + assertTrue(fileExistAndIsNonEmpty(currentPitcherDir.get(), "pitchcount.txt")); assertTrue(fileExistAndIsNonEmpty(currentPitcherDir.get(), "fullname.txt")); assertTrue(fileExistAndIsNonEmpty(currentPitcherDir.get(), "pitching.txt")); assertTrue(fileExistAndIsNonEmpty(currentPitcherDir.get(), "lastname.txt")); @@ -235,7 +257,9 @@ void shouldUpdatePlay(String playJsonFile, @TempDir File tempDir) throws IOExcep assertTrue(fileExistAndIsNonEmpty(tempDir, "count.txt")); assertTrue(fileExistAndIsNonEmpty(tempDir, "balls.txt")); + assertTrue(fileExistAndIsNonEmpty(tempDir, "balls.png")); assertTrue(fileExistAndIsNonEmpty(tempDir, "strikes.txt")); + assertTrue(fileExistAndIsNonEmpty(tempDir, "strikes.png")); assertTrue(fileExistAndIsNonEmpty(tempDir, "inning_text.txt"));