From ffbe45141a21d72686916c5087cfe2410a3d3c66 Mon Sep 17 00:00:00 2001 From: mitaa Date: Tue, 17 Sep 2024 08:08:41 +0200 Subject: [PATCH] Saner power generation display --- data/production_planner-readme.png | Bin 27826 -> 31091 bytes src/production_planner/cells/power.py | 2 +- src/production_planner/core.py | 5 ++ src/production_planner/gamedata/__init__.py | 3 +- src/production_planner/gamedata/parse.py | 6 +- .../production_buildings_v1.0.0.1_366202.json | 72 +++++++++--------- tests | 2 +- 7 files changed, 47 insertions(+), 43 deletions(-) diff --git a/data/production_planner-readme.png b/data/production_planner-readme.png index 951f6bd6607018dbc48ad05a932693353bf2e054..7087e040d235e81f66b79bcd3bbf8b82c7b68eec 100644 GIT binary patch literal 31091 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 literal 27826 zcmbrlbx<7L*DXAR1VVt2;I4zah2X&*f&`b~4uRk{A-KcfI#_Tg!6gJ8G}z$I;1Zlc z@8o&j_x;`Pt9$>tr;4i6U3B-JKD&GEwf5?W_o{N(FGybi003+Sd1(y*;AuAifP(V; z33AU(;)NS>Bgj@t>b-)L6!m*oXDeF=O8|grEIC0?9#w)kq_c;PHZp`+n!VvYYfvt2 z3T`holYI2*ho)9;^?@o=fv!G{8f;xJKI4#>9}R>JU#Y#m=o;uU&xcn$Is`wZ`HI@@ z*Oq>j=8f7F6m8o)E%k9ukdZRVj<^1^{!Y5kyiHM<{*qfgo@N0COKhCM6T9|^61E2c z(nO^y3=|cwfng!RHJP=*ABNf|v7crQVTr$re=WrtzP~o!l}#|gFZO>~He8b!j)NH% z^23dU%+i5FIOS94C%K6_dhxfKn}zG{z1j@U4~v@ZHKx#<9F3M?53^|QE+8qIxAs6h z9c?*#q>|xf0l{5m2S~#(v`L$*m-`nBVau`Heb=$ml9q`xcPY&aezlw{7)BoZHH+8s zcHXu>g~T+S;Vk{*9tu`RlrfVn#qIC!DAuX;BeS7rDmLB&d$C7KA9#XF@!N6+1V$v! z_@~B*d~fHruV3O$OkWcm97*Wt*AcO_wN|w?ijQ62zrIIKyA#&tA$-&z?JA$lSc}J3zG(t545H3=dmxi9*KwtlrNIrM^Z6_;(EH z0tK(#ipf#`-Q;q&vYB6jO8mP8uz#iSH@^UYFQVZxOaLEoXchjQ)u1N; z|DDYS$>aVzJBYX!g9dG+KAngh%c0+7Lu3SWFu3X7v7&dR?1ngg-dy?j|K5osFR6bZ ze|qTra7o4b=(cn|G?pWJE4$%q0-C;Be^_=nuvT~&oOTZGw|x_Md``W6CvzA$jsyC5$8)%#C$-tMKIUk&g0QvrQ<9{E5?30i;ZWQYJ(380 zx*eGjN1TCfma!*0ANGc4taZ7dvH3%xA}KH z2{X^{F>VU91C;LdH?OWb2;W{-(<_y|D&I({OoUZ zUml{+Y+I-Vn~Q&Qxz2OOjyI{tes)V@m{4$C>>y6qj96QlZ{PkoS8pPI)B5<<<1Pv= zuAe4qyFO!*ZRHL&TJQcfFnqGncfZ7V>ii4Ke_g=b*6L92-I4#+Q|xaRuKDCb#x)rZ z#zO(?2hM1>V)4)=Ztqylr9NLmtn7}Dv*bMTss%48IDNMlMWaFo$3OAC_p>l0eKgpP z>n{Ph@9A*n5K4U}{5AsGwyFDS_s2>i~@|Fo28G*paSdDtTj)BYKM<} zEW>af?}AYfCtpu3l3BK9v7r^Q8OvGaQH}k+MWXcS{=t47Tup=X{@RKmTC|Grihxb*|N~dejAJd!+ z6C6?zWi9#0FyI+S^Z8fJ7I&}@^5?&wkL5sonI3J|rbGWVpD|G#AzPSt95!FgQHoJB zJ~Y-kbmcu~Uvcl4CdJqT3C;k^j`n=T>9}Lcmjt`D-@HtRsG0XxF@lPQ?}F&^;VkzL z^&4Y%d$6Db9qAYDJ6>~vYxbvexqMcC&ed9RO++#O&CGY$40yP*8deFLIv`Nj(dzTp zvH|WztiBW1=pa`j73cf&omI>}76LG%EtmIhlSI%MB@yVG{jq(2j(fK62CFU za{9$4PH4SgT7pzy6fuezd%&qKD(K3Ls<5|8pees6lOu`?c--_`mcBed-F!{Lm-Aq= z7-BsWnSO3QGK{(s){a|*-6@f;p$H5%>=*q)728rL^aF5|kVs+M2=mQNOE ztz64qG8HVFsIB-?l^3*L_jd6t3Qb+S7VNxs6>}MWhBGR%$l@2;<-ptnY zot_uJ^cPH&DDRvNShashmEz~7#NLyB@ADpmAxz9g;IR_9kWpDD^E-IxnKtkjRAPpY@XGTego_lMAq2 zRVVvVHev`5_DYul_m4ipoK`w8N6Bu^%g`y?oD)1vw%H#w7VefosYE6LkK*@#0zrsv z2uC|7=Zrg)J{9|z$8Mg*cX90^tWSL|?ekV*Vl|~u``YAZ=eDeukU1$-LE1g8(lbkl z(0Tn1c>=!e@UtJ7p@Wes{)ATfwT*~P`jzox?fyDW(8c=hA!psqgv6D9$I=y|R~*m( zWhp`CKj8utiv8bc+zuCJkrUO+pZ=zvVZ5Cu@&k=l92;LyWr|;if&7bhA4UB`hHB3{ zK!zUT*mNL`+PlDsR&C>y$87bYrNdwn-c8)oUbJ!OUfxEW1Hnb2lv7(qh40p^Tm>(g zke^j|5pSJ2*@J)gWeF9z&W*&O&qem+q@KO5=oasIm!0%y_phRk?zGM`Eiegfs$?8v z_Y%KZoIY#$CGOLIqK{V|H#z_U)A*u*;#ft< zNcTJ6-0g1p2HgJU1l4yU;;dCEAK`l@agU>SE(n3Rd)Om|KXlRL(Qf)fYOMHic_*|p z0=c$r^eok-!h(+ib+$X3cb_BF+^o7o#plb!3I;mVq(><4rP~HhPHEWlNA@bSuVOv< zM!0<(rra2WqRX(odxj`C4t!3nC6=ki1Rq;ghYj`S!UF zwpspp0p&u#<8o7Ssz=O7R4INFjW5lmzzB7@MRRZWn_Hc{0X;4!&5Y*In}AeCCvak_ zu7A$Z!Yl6HY9E^QzajlfN$)AF4Eg!*{g5}Z4lP2aTQ2hP z4~)XWYCNs6{61s%Ae8!c{np^0TlPik%l}|&UP9sA=l_CX!1(_INJ{`Q{>`RKtUVt@ zT^rnFko(^q#PYF}qAX!-_8=duz5fgL%O@#d&N$3}w^{=V&Szfde`2*7EEM}z%_$B5 zock6fYz`Bg@)aeJ>O4oD(@HEL0NUn#7I1fpBItx7y8CTZkRuk34gl;ZaPI+e+V0GK z7%&khLx--&D)-$}$_F;@2Xn!{74LmY2&}Ts3U|aF06>dJUb8~)t%9RDNqyaD34hUv zpCl*`L6*{FRx}Unn;4r%h!xm=q66u$4f^XOxHO6|GuX_~p8G3B;nhawjqj{jDzFls zQt8b6n)v(VpMQD08+%NW@?nz(8|a+Q4_qSFh>%hJ?i{b#gO;zDs%Qq>@ibeOdIy_N zkZL-M@%4diMFcm*Q~>VN{$~pa{L704Gl)-B%dyxg8T^);F!BD+`QgFPl=E`C;$4;Q z^-5d0ZA86m`L!7K@#f+#(Y&+w#GTf)%Z4y|pOFz0k*UVo^v1FgW0{RRD7ASnCEER< z7@GEK5E4spf(d^es5D(7gN2QL+uv|qxKTw(86w|< z(ZJH!l8z4?$mKm&m+GgwTSYf}Cy@62l|o%26=}m0z`J#6+1P{x%Piehq8A1i%KA;` zg!ykw?^P;<6tr1M$FB^B!}UYKZ1H}@>WHe56=apQ<47B=6$G^*q*c(SkGPQs0OZLp zMbekyrJu^uqQcgj)=j);ql(w{BAa`Y5)#rkW)~^uO6%O< zX_#Z&*gJ9ECLNkfHf zkFewlaq5IVUE6~0+a(erSnHR$NQN6l8(v55Lzf9iuR-;|qofLZTK@*v%ne!*qQ1M&Mnw+ZHMz^-6BoqJCXP z9+y#UVI=4&UWf`S~xj+KbeSzO5(`$R$dIkTC%52{|XmZ}cH3zQscp zP}Fm|`8SQ6{HI&?>6qi8*LZi;;iIX$0grX{%;i-wv2wWv->GvEtlbDVBGIlDLD9)Z zbv^Lnb}GSlQJwow=v4d9PT=(kg>bTSvBRqM+uZ_pdp*(>h)f2)-$S!F_;{(AtK?`C z3tK*5H{85G7kxlQZvnz;XCe1oII=i#8*w6O-2|kbY^Cvg)R|#by}1Q_C7dQ^?{IRB zkmv;KNJhJkeSON|$8$zgyTI-JE46-Mn;-R{gocdDi1^X!IA`Fj^rbfSfPV^RHeMo2 zUx3-Zm%^UQk`iJPuQM~=Z@=;mVNnm;-aPk~N}ggulvM$ItfSZk$t8%L7dI5oaK23#1+);&4_nhIj0o(=w9V#s z(JZJ@-j|MD3|Z1QPHe{Z(Wd7g$?y&DdtJvZ+;fbm<`_5i5coaBU3x~lS!;92*L}YB zZ$0;(>!I4*#rT%Qn{g4T$$9X2Zn*4`xPjQ-WVs7AOw_PcQd3;?Q0BOWSB~6AQu6m) z`HUIr^xHdT&uS<-oxdmkc^+|J*mzn@)ELFy{yocdyUU*0BYsSZ4v6;9NK1p$2KJCs z3r%VT|NNLRDX32L7Jf|NWR}T)pLeXnxB!W2TyMV^`FPppCIrcxDJ6d$U?yL0++Htk ze_`=plQt}O+Zye9Ur;Zyg-Ce?9fABgTfL0|`H9_*Qo-L$T<||EJ=BY@dT|q|=j@L{ z#y4^9L#_uEtW$!%Kf_8HUcFhod4M*go*=lVbwR2;{>BXjU1SAK-kr4>p<9g(jr!JI zb#Vi}N_u4eJkxGsG6DqOPkbL69T+jI6Rs$o*wv5KMX&tg9cd=H!1gB%DxD1Lu$N0- z0$y-zG>>Ds_8EAFYPAh$53f@d^edq^$nNm;kuNRYm*${sYGsc=u5Rsa&WW@PRsD*6 z($8F_@>;9zkFRSxxaKaNP3JAe_W}E4bFHC$x3FRE1&d>WH~epl9>W7dApSFM1z7W& z*v6@e0Wz`mBT7+5&5x{J-Xkx6URTAhCkWn;rq&xc=d~VvUVxq-M+m)Jx;FuaIweiS zF=Y$4IipdyeY^TdQ%@qHR~1L>8x6P<%b{5YXogy6>_P{INTK zW=npa((iz99~+7Qo89tG8X(NKZ~9l8ct;zbDjGl3oaK&{hd%vIzJdqTQ`LL5Ln(Lf z1^UhZC636^+v)A&)8xdvCkI8AV{)9?C*H_qvULqmmZ+su$k4nq9EdENT}u~j7HIl9 z*6HY6giQwjki<|h$?5Tme$es?$dhe4(~PG7;NNPl;3fC`{G;ZKOQlYI*t5n*UrgI? zoh63$r(jkG#7sx~((zzK>om$zx0hJGm)hJJ);7pKcBu0{uA$0jT2Y_U$YRWVKYIWk zmh%cLT*-K7N0pL|g~_|)=X4FXo75;}aiVDO+`8jX$Clja&!U0$QH3FU4~oRxp#+2K z^c)h0n44s#y~@ehcbW3Fl^bgeCRQcWP6xu4H_{KfsX3ps8OmnJdB zIGN$^Y=lWGovBy1na^9oJmtG1T}Iu!ach=H4B(X!J7)<^W(7nq0z8Ne4VC{$jd`{5 z`s`cQh!eA0>-u=gaK`PP?q{d6*SfY9|9T)VEk0%Z8naJzcF#TsP7$Bu1M}s5Cch}Z zN9m8^$Ua^C^nk(2I0LJFrxhxn@n_*c#L54WPeiYmhH$|eimGr(r+7T|TR{gEqK zcrumE@82)gaUHe%Cae}|{avprP(L6<>K!`Gjy`WehF-rh&joQm%exxn&OWsH-f^zA z_sMD!cY(y=bENCrSy@l(Gq}QlN2AU%L-?Ae5+ig5p_xnh*m(Hk2efFXm)rT45o!&+&N0n{WiDww zFZ(ci*L@Z3v?>5}0#Cz>&U7+A&lXY2E9eHuQ@VUs{S4SzUafPL3jERae&N`?e_qI? zG0v!|L>HrjyXntpZ+^Dy;*_v9)W*&-+UlkKs*jB7n+V}3o41OF0>P09x=#ZCe4R>% zKhLI#j|^IF)u%Sy*V;J-nV_$O(3Frd$1D3i zEk{F0<~HaY!A(CG4xIZe&C@fph^oZt5bizJ{oGd-O23f0l`>EqxFHdR`-38(omIVM z+Y-Jx@VcSAR7T_Itac{KD3qZo##e5Gl!}?<)zzEmtuccdY0*vF*Y*@NRJ`)PPNh!& zgu_!6=^_o3oLJUlsuEQiOR!m)4EAQbv6fyk6aY)I*7Q*&zR}nd>pzL#UAb*M$eqXP z6C*4qTEf@AXMLeGTqkL81U+QZXYCcLs@$sA6D&%_QQ$zwnn_&(cC2MM;O^+|V;g&_ zsHTW?o_}n%C~Z@D)$PY+_FbHq&HC49F`5G>D8F#_!J%;Gw14%c-_1LEup6kT^-vQE zoP1<=5Zl`B3TzO^THTN_$RQgs$;@eT1^3IDAr6fpWbn>$1UEtNQET#a*-B5?6k5mK zsXa7XpjH;zb2Yi$z=@z#gR3>MP|%;0);Tj3xLxLd-9Or-P#8~l267H@(8P2&7s6K> ziQ0zu?g?PGv<1G&8>1n>flRhWw#Bqbh8cnDyS_ucaU-oz1B0u@-l*eE#816PBXbew z;;4>+=&i>9^9y#1+Lpn9IrJpGj*x}|25yoe9EHicKkBDWJL|`A%eG0O!+_CI)=46?%yqx;B;*Bb>}d?{L;R8`;trzC439oI59=4X zCn|L}Xm+V6Ho1BHJXzwtQ05F(t2S``vHaBSTzqJ>lt9zk89lHT@Leil8S zTFJQQsjyNecl_+aFV3l}cx60exnV<>rwbNIW9<#%SK1G=cSZ&KRP}IfHk`wqZ+EY^ zCCJWp_iuwx$T@}h;LYQAj;V<^6WuEtm3j|p+b7Ruk^2zb&#?c}c^Wbhb^i@hgUpYm ztE)@aJk6J^E|SigU&M|gOOEpL$UeCN-a$h4sQ}c*2+&pZ!z5%g-ttf_u6DeI-(9f# zR&{d><#Ou`0D$&5u?jhX$E+C}@G1hgBYz#UAJleu006j{Gva{XDs{l6>u~c#RD2 z7`=DZm4gTyZaLCC!y91L9Ps4{wBTTbV{UR0xY$T{eFk&)_^Em+@b|4-{_*B6O zNZRGV_uh?pDtz3i9$c}iaHOwssVmbVj}|Un&<~FrjMF2Yt8Vus(i4*jc!D`Vab_um zNyn=|pyo_lc&C^C@_y-pGoB=vJl^~TrR)Tt?($`wHy+eKt!Xp3!%0llV3ACL z+{JG$Y`QKmae~E7bKyqR&Q5}Cn&#sPnQO40`ROso$N(;CBJWP&ipn?5&XYLJ-JjpS zZIcv#ewL^w^r*}cZwqAIn1EPk$vqMz?rIZ%dbcbaK2wd|< zZP6w@b+yE3Hks1Iao`hc12vP!!s=q)GD6oDNeXS#E5a7PM?bZW_kIh$>HMxC35##J zaMglmD8@R1FXFTJ6^0~SG48D(c0IEi|4iEA)DNBK=IolQ?RfC9$z1yox@FF zw*8z*%>MOGL1^N3QIz}`b#`B5sy_p($P6W=dwICL;P$N2gXPqk$)o}m1<;(aKKx{8 zRgQ72y@$rUpRJ#1dkuA8UFijYtEQ=rCjwM$i%hInrwVIW6HI%?TZs;mLOpqjYDb`m zw>xlHuOI#mFDZTK51S9lO<(=0v@}(XWL*2fYb!|w{tHEOd4!emTHHR1w)3rL5HT_3 zAO&rKw{w#3yiZr{Aqky1A__^wocDf|*Cd6FKS0;#)(%N_HwQK3xT=(Q7h#8vZmUC_ zNsR{q%@03Kx0%r6-i+N|mV7o4(|kZGEjLlaJaK9zGqyc@ReE|m)&7c8YEPtHlo`uY zPR7h|ebzlzn@{y%Kb@zQg4;@(%a+w1WXbb9IcDeB4-Xsc_ z^+xi3zwI|IW7+Z7_RDXFzMVV^W9`{Q8*s?gC&xvkMJn4c@mjcQ$pD1K=nl38~SY+$c^hK-r?4uP4!yBsQH-=rSjs5E#|$PF~nXM|P@ zZw`siPSIQRQ}pyF-ijdN|8UO!8S!)O1Q(N05WQ-YFyb_MW3d5ut#JP6+^j5Kqj^|{ z4#3TAcZ*2y-QcN&)S)&0|R1$@bwAu?!u@^0PIVTmOSaMN*_e(3uAr*0n%OYrHt zfnkp%GOGqFtcs0q?fymNijE{C5zPVndwWRX>jDa^{P*0yTmK`fFGT<+SqEAD;4%nT zZeXv{6^66Vx*W)O;uhfK=|E*6SMIsj4DE9 z@jhl>|8zamxkFFTAeKROGum3G1F?>qN=!KU^nz@@M?h-D5=4BGnrC|&$A=MpS=_?v z%3t#58TKu6Lxtoo!jIIyH*Ih)r2#ubqspL;`y8JKJ#UR77eUtK^X<4|C?7x`Yf_#^ zl%1CtDA?QvLL2({{>bu)M~pSy3p z?kC!1RC4kW!?xlS*A=h#w~k2Mb;sla7ju`fphDX)a+S8r%acYq87)4C5?4^mjZoDh z?*od;@987vRA`S8{nr;WJtv2Ug{%4x6f-}bxfMCcf85BKrnGeZO0peSmo@yA|1@Uo zd><#82#;?Fhr8xJFIQpi$g~v|fc1$lS|sU*|FC8~PfiAZks#ft+jU;EC)jk>R?&ux z6VL?2ngj#DO>-Dlxg7d#bkU8}ZPUuTk$*s1U7WWj9_A2^Ju90J$?a_UcAVpALhe_T3vy>4#b5oeJTH;}TD+LYxH=SW>R+e%W zVYpYDp^_70xh?s3wOGckV$gMWae~D10gq>2>@2#U%7~ZF3ST%`k>1=UzBGZND>hkB~7o_9gj{T9WzLaypq+ z=-wz7t4`sI3glIB0xTVx)ltw~xM^uu&N!?zAz*Cp*PA!zCa!J0vUW1w<{a2e-BmfS z6lbKVo2^;-P8!tJ#l<(0>M<#xLhqe_yasdAL=~S>2aiUL(qgQIjojr00ugQyT{Gju zj64p;w1JFQuzSCS2M-G}z;nD-*+Ckom3TT5qnARTx>NNm2CVDaL<4R$>f#1cwG9i0MYb{u1p1XtbeS7~dsg&Lzke-))wOg=L^Mi)N5D@C$jha~G#R-WaNC50g&JaTG1Q&NXP5 z^7*CTB>VK`Yo5gqcec&wUXIkA%CA80=qA3_@sP@wby+gSTWI<=F(~Pc{@JEkxN3}G ze9*NYam6wIX!UH#!$Lo=ZEjWnlse`o3ZQ9b%$|;sqeUV*E4?F2HahZ>MuJod*0^#u zMdWxDZ7b`I8UMa^4~UvQVxi+tEzJ8H_wg)#*EYRJy+PNOpt*@U@hxMyd)xtIuu&9? zCH_;IafB4z-N$#Ivlr(GliYh7uAc~f7^E5RwC|umY3Xlds0guN2&l*F@Ot?4gQ4N0 z?guJt`r;UY=Rn`LN#~V%KdJW2wLyDT8bJ!ACWDL*Q`U?$MeGCzyYjD7#pNHq0LVYC zHm}v}2wQJWTWsD*nR#(wQjab9jSZ+jviQId(G?Wl(teP^w>*&EcoMY{#g*7oLh5m| zMyGEg`>fWrq+GBYZpsP`R^6dYLl!FO=%wEze}uC#?AN}t$<>TJ)PGV>PVugi#G!=^FCmQ;gkknIi#{Aux9Z-_*7Z$rPS$DxxOz6jwPNKx^yPfV{z@TM8NAtq*WLLUXm5qh#+ z+gvh^vi;SRZ1Bs94FX!B3e&Lez97g#mm>-1T8?V8By0*9w<9kZoE)Hi06{ z=LI>iHI3gbdipHV+TXo05v1w&TT|)nIL+Rm18giNq>j_+VZo>!LkeLsba=NGI8^QKY~64Le?tExBzE%a_D&DYBl|LvH63B>%5 z=?n?mKc``XC|?3{l^<|EqV-bR)`p*1i&6K&OUq1%uG>JW9oGodnPG?%I zKa?HY^DCl)vKQx*C*?I>!P*Z5}he<+Mp9tRLa5RVQ!UE*DweTML`mke8s#lPd%1JcQH|K-$NbAM7K&^ zGK+&O(jctR7b*543zX#psk?wzF`)^9*cQkRx9uSCiZgYWEqWOEfi^q-)Y{UAs{hvj z8FWjc(BswI9WcEitS|yYB)Sl#P=3sjmLuUM0K=40p~zA&ypxy3XPEUOneanWJ*>neW&e4SP`VS8tiuPI)sDnCuJy_zxT>s<|@6_kD16 zm^_Xs2)8)>|1sJ7HTeuLI>A4z6VNc>V|sLk#E8kcn({PqUk#Yl#Cb~lCYW)S3jhrD z212XEFr%hzBI7#VhzJ=BUdgw4c5ZDN2w+;`eQaK21?6 z9&b7hwvvdTu|T%glJpD3b?lTItoDmZn6&nx4t$5{n+yz+A}mZMjJF^6(ve?1)aDeJyl1pzjodPg5XY z^g%yjc=Z49y+PC$_e?tsxruc#cz!@-MH3dfRoV#99N*8(G1z=A^K1lrfs{hi# zi&XL~?MODtx^mR5cEPgW1f#IRhEuJP&>P>Nbk%^zpKji{p3s*2-e-lS+^}guU`FSN zoVg5SY@6BcQ>*>-lOZOG3YVD*w(}XW5DL zPKpA#Wt0q_oX1IqLRR8NIMeVp-j0@&^s&Acb3yh4n~(owR(jXF9X;2HxuPiyM!o)J z0CN_t6I0>Xh|4u<8@)m`J5EoL7>nM9VKl5)l)Zkq+e{{Ph+tVbT3tx@o%tt1xxuY2 z0P2EYU1VQys~(O}>@(Nvmz3{1K9RXRNEXGfBvL;L@dhTH5xXMr>q^xqWoX&(A^XX( z!G50=hI)Bi&`c|JKQybbg;r2V?;RyG1LC=mz6jfy{5^(FZzH^NK1|ptL&6|ql{}~V z*>1HEYCxFgqzE1R&}#=gHT3f@2WFIO^;T7N=tav$lr??ztv`g_r#@y@kEqFSyr9<} zh8QI6I-ijg2R&;OF(jE8?oo_I@5n#O0S()D37Cf@r^sFP}R5Ju84F3ZQ}A=8R_KLH3G z8-Zf^2xQ8*weA^EctA$Zo_$RhY+fU3IvKVG?Aq8qx8l_BS#e1vBxhyV+)wz`Lq zE|=qoW^lwUUxwtQ8gtVbXm(;lXAJcw<)=p77O#>l-@t0F`0Mx+ zMwYbMGsG;&U*cFE3+pV8&<=O#@!GE6)CaRAIHSxVSS7dOOWUp}T#4*2ZeH6lpx_Ri z`-697E-EZbCH+5gR!<4gy$g%*6SpYd`4lqqzIIe+>Pn5}m=Q~@@Yk|INjjTSDk@dUU8+H~BJSdYR9eKe#9X_=T{wK7R6jWdonpINeVgopGAuPephSyGQpy3Z$y4Vc3+!#XCf=_gM7u%>6Ij?`(C!r z5auuq16f(Ks+E?O7Npc{v-H>9g&Yku;D1pa;QLD9Yb+9w5nL9`%X|Nt(-M%*EbnhT zCCH((ECzXZG*LLLoqT{`d}<`mpEy?>w%&Li>3Vpa(qbuO>r~?ULAxdMtLx%dv4k;H z@a$k-3?_8#KlEF%p4FE23Q4||&7&u1-Xu&82mmzCaK`Sw8wEVvUO(eW##Gr$J7-Tv zyI*Nq0)~O=QikwNd+K>atuY1VicoY3=)e~4n!Tg*dy1qwzsEE*bOS%qV2JGNT~^sx zR>vV>H>mp9d68P+C=zy%94>G};z3pt>}3FF0%AmAQUO(jH%q=Uh;uD#22gxBqB&xr zALdg;$23%;bOW`}@sy)b|7uY;=(i3Zt5SlLiJ%mfumqY4uDq9&%_q$paZrioJ(?tF0d zPH<)0naa)>UipZK322-l=8RjqiyN7o-DDhv);>sU`m=y$_#pf%Gfr$f7`p_#1CfJe zifw1S&Hpg!YJ(ap2)WL`jMyS34*M1+vTh6U5U!TvRScWeC07vn5rb4!*xsJcbGeR_ zsIv=NjYe?7{5CcoExY@v5PcnLsurSNp=yBv!F^$`3F06tGRPWRYGm^|z_sgftveVC zBJp)-fLUx&0o^M2t1^I9nNHzy4*~PZ-s2{%W#c$Ko#%z2O*CuZ0r3gPY&P7}4wiyK z>@0LO2xqA~)WoB%MP%>>-^-BS+w85|=&nOgT5QeS@tBz+UgM8*X=r*1l?V2=_MHhB z1o(Dl`uPl*3qRt8pvBaCoMqv=r`>s~G|*ww>EJdm=^zo^Yp+hu9Z8$722ABCS2CUv z7;M&{VG~1(Z@tC#xA5{emoS zKvWrCuLVK4v``eQou{rh=3;yhEXGYOUaC<>JUl^TQoFB+BtA<a<$w>J%j$1Z{3hXz z7pm_MTrt2i$zWymwsB z>nQtLbm|&+lh0G&#>L-?4;{21rj`{^ z3O!~-aSxkSQynLE6@Yq2kaxyBy&AFrM6sPW;l;?Nb$!`#Se_$vv-k#mZN&G)^nS@>@M}LV*HD%Q5S3}HmJL06;4)R1))&Q#7u362g62+0ebXy?;Tx-#hG8Fqn<}M+#d!X z=vMYbR@r0n%wIJkftMM^lqS1c(Yhe8;`i=lK{YLa=X&FKFvopo8zki(N4h_{4>ao5 z6{rkS^OGDPQ>70T;q`&-a*D}{%sE$V`0pvxfRLkzhBvzEKVP%5~q6Bj?MD87i2qG&`aoONrlDWM-PX}?_&dD^;|R%j=XQe?K9 z9;f{I2by7|rXB~_@xPcwUZ`-E;Y>%=dRr0V?=@sirGpw%#GjqdpH9YqsJtC1$EZ%6 zT8MRfbOGM!seI|^YTUvR4xdjS{YPvQuh|)AqEL1${pi1>Sne6`0Yg+SpOpe$t$jro zSEG|stugjM1Kmw=x!!M|!l};URN8EG$?O==gAwXTs-ygMVc-wdU@9oODKo1cn?Ld6 zSZ-A+Ct2Nzt6&jhXUU@G>Z|UDBD?W)Y)l|aBqrkhj)d4Uo-(XK5y50+TAN~vu-1O$-p_p8I<55NE>{hqGXdRzjTIFh7;nrQ zj;M5;%hMJ4>no{WjYQwJ$oA*t*=%Y&f*NgPnI5rE1^u-1+;%V$ZV5!~Sg>zbp|dR? zUIwZhR8mfEay6R&h<34v6Ed~^TL(&gzPr4K7pVj-Sg)UGhO?WOzkPWN!K6HBvV+iVq4z05HZSLJ)AhK`@9cf}Q z{A|chmV42$97cAk`=dH8FVkI_epp%nw{9xS%ava0!5+@jW|3qX>uESJPaJ6p*FIm7 z$6X(HriB6}faw`N0^sQKe~hL`s3!jTA7%V6ej7Sgk^^?o2R9!9R__l2(IT-wqaJ_S zW%ZRdYZ%@cFM$8wVE$ji{Y8|J7TTs^A`@~w#p>LxM(t^!y$?@O)a7s1P zwyc*gG%-nMW@xfkNM~fbdx|=eT<`Vf1*?tK?bRR_vL*5S^SvHVP&}%uvN`9RNcdFb zSZ|?b(PheA%B|;&AjqV_@5QZ1hh39=k?H10x@NhqnF8LN-b2M`WZ`pUm*F_)iQGnL znIe6at&?swmi_+kslAsex{0Yebdy8;rq;UI1}cBRb|V$=1#UV)4^8n<@zySIOWA&uu96L5ld%<)yrFb zo8ELW4K>WABxCNNijs=5gG1N4&Y@~uY3<){U8>3BdPU2Bo3v^LCyyj6+24mmy>GU{ z8|y9>`D;|B1|DKaro^}S!fncOPx2aI2`#5b*_*v!A{bP?H*k@}R%OWb-ofj-$Wk+i z_koA=Lp7c<9rXOW@`Qe;QmpN7E;g;OEhpEiDQUNmUfy{xilWwtB!aR8Qw6<`LDypU zZ0lzZP9^!>tojk13Z=0IR5#qD58g;+J45#`VK$oznfRon>B+Kp9=+|{aCaFXz>O63 zCj2I!LRs1`aNSZ9L&I4khPMdA_bV$Bj?oo} zimdy7oX`6qqh`FXm3;=&W2(!AEv&We|By4A+oIF!cRG0zPCB~t?16!teyHW0)H6nU6K{@$ojjav+FERpt`Kysg zgdmOKJ*GVAY_BWVm*5DJ7mPiWz5EZd~Db|zVw?li>4on(1p;(e}W^G2J!x@Ad7B_$#0T!{s* zNdQ@A=KEIISxXOg%v`Txx7OrEq_L`Y*a4G4#djwo!+0cpw%wGMQVE-snb<~>P-_mz z=NfEwN))j2t;Na!=I=YlJ zzb!l|?>ciN3l?P+I@-tjGa#Lu0uQH14{s={8r;*juATlk5j)KHLz_FLDW$XcKwoQV zb7m@GUYAo_kVGr<*J&IBuIkvx3qBa0kabH(V7n+G4Jv>p=SFree0pY!vCt(1S88jF zeek@|_Q)ZS`AXC>-DVESa~4OVk_SG;j}TUl)jfD|v`NR(Pqx_R!%mVNf!Agc#M(JA zQ}zul+rOx3{*vZ_JGIXYh0iYktWB94GcxC_V7g}|nrID%3jZrla~S+1Paj*ACn)q= zagIP#4P|v=T^&w44NLZv5RVGC9SGffW^_;E@scnTdJ5MI7J!!-|^yL#e1FsOE z{@-sj1ipz%^u4a@)S)USpQ($nczoZnN%t9HQg@|x7jKNixBbR$qPoqu*nGi~*??ED zWFI~h>d*4Q`6Z389?b5S_DdOr+SWSvIqJdJRl5X4uZV z@5oJ`Z;^0|><*Y}R#`xalSY+?*(BN-sZ;1`Nv5#W^XRH7T0fu-Ip4J^5a=^=h=AN? zhP(v3>-F_aV0daC`;mhel(p-5eqSD% z=rg@GkEIFuxdxsv_~{oElmy^8 zV-xTx>;D%non^r;7ft{59X2ZQ|0vYxl?EtZ{;3yG&ixO07vQhH)J9j5xIX_9pMJ`}rO=Jxw3RCiUM2sv7M7=;TOLPuAIE<*d7;eg6;f-qB$b zVN^g3HAASj{JG*|2yOjtrcQlQ|AF530pm4dxs%dor2ye8W{%O$iLar((_YGrV=Tfr zCt5|%iR3aK6&+P(QOc%P$aeNmKC!7IW|Nw}espGJeN8afkVX==4eW{xxXaqS>*fXd zOTGm0oGu+3e=>}hYG{5P896}HL^%=Z%^ZPSckafY@m_016g6u48ugg_hxYU2M zC4?xg?LF?8LLdIE;9sHMq_)1HW#R)=Oi95MDIq__*!brYozqeOj^!5$G~&c zMb9CK0idlU`{C{vdVO%SIq+c&l7tk#59U4Tlt7-?>DPN}+^$dFiLVu#bvO^L`=w@oqxkok!?ve)sQBHW`fM-X{pZJ_g%CziwGRR=8-Ma*Eq(k6@**%Ic z=f5Fbr)vIq^0)>_SfpLk(lq?F*A-@5%;-Eqs{EWFr%{!rwcTM_-U9v;s?@vQ}W;c;crWi*DK*;BwU zxsM}p^Um-yKd<2|Jd+AUXi1pJ!+^l0zboy27q8!ocMzG4?gb*U!~X4n)0ZU4%timz zyGFWKR}af&DVuN3cHcgF#MuJVk@BhjzI$1}Og5IDi`;K#rHB{QUosN1xQt54Z_&JUlgHTrm2g!_rq@~oR1a^w zYK0aziZq<9Jn@+MdF;5R@&S8$On(j6QrO7`Zu|Rxb@!cNO{{IVC<>wiN|hQ)0O=j1 zM(Lp!=@O(UP3c8yEEMS-q(*x0(xi#h5PFl)B1(tQTPWcK_q+G|o^zdZzVG)p|B{)^ zb^kG0V4;AJHuB@;FPY~hb=+~#mJi% ziD_@_J*pY-SkhD6he8Jn6gDQ~*M7v4%Z?0h_vc>9itMtuVu1>A!_kdV(6e<5C{>xM z(}_^{U5t7rG#Z5+kBwbC=neIw`1OJooG&4~q}^~Z%cATMx!14n)={UVJot?5m+poD z4t1nT^2t>f*p}2;>H%gpRu94{thP9j*nG*_EfIqMD9NGtszJOC1e~xO;dJOh%3;#|Fdvk^Su$ zrbuSv(?4Q$H>Q5(*LqXppF*AfpF(|rSijU>?Mv8~69LF)y|um)I?l2{5ODlsnwZg>0JgNz*0hE<0f53zf7FU=yrW}80nv3KoH{M2nlcs`a zBEWfFov0PHYYpuHsNqqmJm`|H*mvB>3&OERd&Da#a?;5W*u3!6vR63ACIkD+sxy9A zxkXmBGt3la!SE$)VW0vL%C%i*0sMWp#2G2RcuR)pQZjH5;`sT-!*+4(eMkmlwNV1;RZxi683Q;8^S|M)N6Y;XAiIOo!I{+e{I# z>v2`*48)@Drb9o6*P z1eo*Fgw6Br29yv_{n^gX6+7!*qDjQy&uAE}Qu(DHSvVI_3iQ=4#g1uhVWNxal(qUy zCiDm6ppV<{L2dHYjxv0yyG!RCv9a3`j|Z&9y8>Xqim@2M51<3pufx9UBHPT?GPTyP z^}dGRZE=dpqid_z7S{KUX8BW|CtD2Txw>3~`qX$RdOX)5GA{1#doID5fuZAR+udeQ z894(+CifU%=`2wEdtBaK`;%=?&Km=;fqO7^M>n4xS$IM|@}uq_$RI&av>hLjcElT! zerfKp8*H*HqU@=26a&1 zwxhgQn|u)Tp}FzY&N0}Yz2&!`eOIHO3SgdtMh_=rTPnxl3EX44qTXYHMk7#G@JB)x zup1{Gn4O3P{>c_dV;KD}o14Jff0N_GUn%h#{%iO2)nR|OSMvY#cjvwYra*Kc%&0g3 zAC3tz)M=N^^NA;Xce#S*B5kA|-+Zs|WA=dK9fl<>|wN)o&I9Qp^148K^A0Po&z z?@fNpu7BctKj&c56c8U=R_;Ghh$T6C!|ujZFV;)4Th(_wNb}n z9y`AvVy1)dDZ}?xZl!208#hp7jj*1{UUo)EUn2a(Ga>rg#f3PStWqre=`T2-dSD^Hk79h$zhe%jjncOZO%H1TCdNrQ7dRY zL3?Btf40l-i)>o+T?m7BRuHMjJs+Qb_(BKXb9ocaaP{>`gpP_Lorp(Vm-JhT!F{R8Z=P+j>l*a7^5a+HC}p5;-mRC`JMygMU5XGLYSp%F zoILM(u#fXgbPbxwLQi#OoN0Lr#O7+VOhv75l0n`12qxySh?)(0nVW500J9wyNmi_# z2guW$u)b8!kLoKn;x%FRwyn&WOob<Rcsv`= zD(psX7p<8SVG`+qZny4>4;RV=;$m@L@B^->tVW5HvLXhYl8qEm2N&>yI4u@-pzkD8k^-(JMZ^A-HPlFOd1@+-g zkbae4s|a#q;*URXeecSj$2%$PVV~#nv399n%dIa;G>V|ty|YlD>D#@y*ngnye3|iI4*>qqlc-T&wxegbYxPdSRs4W+lQaI!p^dn zZcQ|ZUR?qwT$k+IS!(5nYI($ivfpuc_#_d#-wTsc2oOaXP)Jb$(?MorXJyNIsGPh( zt)o~4d$Z;!^(}j+2ImXg%fJUlK{Qtc2>(9>$mhVHlySC5$#09PL9t#t(+KV*qg?Ns zo2MHx5(IecqpC!aEXTiH`sP_q$M3gno`-?BIJ5hjPTb;fEQsBaEZA!?ZP%KRqlQ*x z>g-r<8)R)R@P^;=1h|{|cL+T3i~K~VKnxiDC5M5h`p2{J%X6_Y2x{88f!aSY-*csn^OV^OqBxDspz}=;TYV_ zxv3bku>ELU-Tv8vNg!UK?;Fok-j~364y3r5vD|HZi;696bM_*ir4eoChxzt;%e?IC z{)nkZnK515HtlCbPQ&vk7R`M5VE2;iZVo0uui$+C=NR+ z@bzza?^Vc7$#JfN|J{BdG->+yF9?J8{onA%Xk)UywXIiBC10x9^{?HZ)9M@tV&vz> z{-2~re0J<&yuNkl{Mr1mSnLx7W`#0E=uX;lVc?OF{#@86A&KvDT9C6@EGNIo29cYpu~Kl}jO#+1&6U zy~Q}{h_ZVKY>yi0o!2%p(=R$ESiXe|vFPI0+gy5|8v?N|3{i>`p6*W;J4jV(KR65t zCC|Lf)oDfOWnHps;#Z*{$g$38#c~Q@%<1&gCui(t=rmC>9i{U}m!uS5_~t$8S|W{(38U*2SGxp7~Tw3O4=Dny-`+(eaeo|A-s`RDim!fgP; zNfavjS{X?OqmSx6AI|-f6tcWEJ4EP_cj^}BYj-Xj-2&L3_^k3a_p>1^F|oW))r*|d z^i>f-X=7HOzTJf!7w*9)vZaZBZu!F}6~CPL3J@tg;H-6g4jO>AR5oO@YvIgPB0d#w zBHp;rB)a$QB4jNra%<|Q=Us>iByH_D+&%@^az454dtZs<2CM2Vq)Kx%*|uAtI&Kn} z)D5r3`op02l&%X9mP4~V2~yrXj8uJMT2<4D;He;GrZSVQX!S!MXE@^`5yXv``X z`_$4qS$?bg&AiyrYzF(PponAtZIGcKM49BvP8Nx)vmhZYi;7HZ z2A|N8EiJ%P#zyHdQhSug>vo)sF4td@7AO{)wL@85tF9ERy#X&aYHk z9Zr3-7T-He8F zKc`iqvJu?|tHhy2}FZ4UBR&VN^pU)v-;MIe}bH*OZI& zMEhVs2ggFW@X7gjaqhGesjgTa)0ZzLyCklE1|zZt5IBpH?Bn*7k#V5kU~S9 zP)4(^C+sd-5O%q$t^CBn0RBewW@uO`aT(AzOxL0-^Ho2O5s&?S#XQSRgJdxriMN_q zPM_uX?sNVi@ZfHojep+9K3vNRaF~;|{$9?K^_psi`Y|r*0cQ(IFyl#v=`(iwojx7A z?5AtsOKbW@mU2Zj1vGvIfjF8xYb1nMR?bvwUs}!YDmHP@&sx zWbRJ@oHOP5>Qk##W_TL`nCd z|0n*8)xuZ3jH3r%ajZ(LZmb;;o>nJ&_C8{Gxs`hITOvVZw&)r;H2f|*>zMb8pXA2~ z_g%2HLh>f&mYEC#i6<;=CiD$~@y+7?=|)CGD$BM=$jB#0N`;f1^N8+NUq;9cyOC z9vo2es&1~_IZS2+L_hs%MJ%hlIiGqyizvT$5BwcZ$Zy4!O{iIZOu2+oik+S*gE}hS zDn^^C?hfLzgSuKJpmXFyU^BFZOrA0A1U+a4WoQr4!_m4lIDfx(N6i`h;3Gl#Y-DoZ zyIa!-zqsKoyRvM@)7*>3dFYbZt$t9g`%^~;Hl(mZMzD>S!^`im-8*YI>Y8d$+ouA~ zZAP=93ECj;)p6E(ictTsG(HHbP&!Ku{5L$CG^2%ZAaQWjbvgLQBX(~ox!Z95R2>zQ z4da=WN~@Im)b1Srxo&Qt1KsY)_S-lIDy693waH4!Ms_y?PgII!Ava=lM^!I{q8g5H z7!C4$A3CmsBdB&V=*$+w+ImkH>;Owq9{vf{qVX@c<8zs3S=VwysXD_rN_xMl8Q*4T zFhrvj_lvNgy~=5#8-ii1qY|ohqL;R`vIz}L?Po;+FGx_hspvikmM!F{&Q`?q{OLQaLi6XpQon<19PVr;JkT^{!Q z=4@6cdwZuPU7O4)k;3Uy0{Bgeb+j-XIsp6;C6yoay7^YinJlEckUq5e>gw?wuJm& zI{yFvS;PM$PM3MrAe&Twu7)co{%rVgTo?k*KZEOjeR7rRcD4P-J;a=a%vxp6`zS>n zMj)Jg-(Zcln*f01-?wwzD>9b&QN64*u&1M{=!GHi2vXOt zFY<>_^16nWiwFw)``7-Z)iw&@GDBe7dg$g~`Rq1Y+lth|OF73~g~ueWx#h$OluCI% z(%=R?PRdk74nG>uv7#XD$*Xkc%Ki8h0z(uN+A&FBg&)|{NK;}4#MoU*k z>E%%e;kFalYLU`fDD||nx_Qf+Z4;l%o*|9Pre3#mN(QGPsZ0;>PTUYZ)q8klskW=- zNp4Ag=C=5B9&((>8akfz^}H^xrmfI-wcY`hJsv97$6d!W{azBRnDM0beq6xr2-3Qt zmK;*NWNPcBnG!DC;aA6JIpDLRf_7|7cRsV^!2NaOJr8du;th5=WwB`@n z+MRNcJcgV!iPJj~ODr&Yw&tk_(I}c_4;ENyoj=^zmSOj;xY*-}y1?aw;zyF}lQK&F za=CzA4n3*QaHV>rQ|p7Oc-<-Il1}|g=qMQD)@oadY<~$47+Y+%bD!4%ZhTea06FpP zU+jt{rOY9Q7>D&{MpQ^&p)#B1H3eCPT&r8x?uuIuS9O^Cb#ZX4`n^`Zj_BA*j^9;` z3w4^4JQ}6n^PHOju8dX*v5DeBZn0RH&fhJ{XzRf*dUF>mqVUt@k3*Zx~)iIB8|K~>A#M%0kJI8LFA5)KRQa~#* z{yk>7EFQ7fKQkB?a)}9sfKJF_htj{kG}xD@1p)!9B*)I7dPzp4G6&|1)AOiroWR!K z_sJeE^#NwOGX_~$>zny|0@DyA_oBJat{EOVjj4>ZFQ#k#Zm+1Gul5`jc(e^ng9Nnd zB821pyK5ahz}-R=FXPDfT>o0mw;G7QayzXsK6LI`*cBC_YLc$cB!xr5D0zmtcI z=eI?!-XrfPUT4+7i#_8EVcvTmk5i^LXj6TsWWPT^bASi5A}vf!R4}$aRgO}ifqmr~ z$hu^BTV()5?Z`92I};s?R_mJD^4u@eqKS>&AGmW%0&D1Wwju;y^&8MsqHd9hY9M`v zXm#J(hB^c=iX+5ZF2>XkJV!R|Etax$Bmtvyt)bRM9vcaW4=4%2KHZYGsxhbYE$Yjf zqmGsij=2-`f;}6zDRH*QPbq1GGJSDXEul%qZ!|IC&U(mt_*sSH5~##1vm?Hb>RBJ% zdPL*FG>xI(Zb1kwp_!DGQtENa^o23XgJ6xK4!tVcnUPhlXqaPE=iW+~lU81ddh)o`VzKF-^~~)#lQ*e%N|}4diB`y0D3FYS1Frm+LUY9; z2nDJxBV=zktNs3+Drvpz(koMYe#t8}=cyjS7P1B*rA|vzg>{GAz3*!ASH|*KaxJXr^;H;Ld zfqCP$PQcVi#6w)VzO4xIE%KH?QS1HVuI=TU{qsYSsb+8 z9JJGtuD6o#c`tHtK%&xTcy+U<2fIZ)DZ)1yVCgPRTWUCpunA4#FfgrOuNM)XZ6%oD z);Z%PWraUVxrF&s;vzdcvAJ-_{&~basYe_CZLPUI0p=Ms*>Rr zZqC-kb{t1Bc#F@u8-DSH45M1Rmul!I>in!(_65HP)6}L4Piy(`fqEDMT<3?2ZIl9S zTyI>Q=O*JTVXW%ug=03+50|ZQ1C)YxuxRQr8f;xpzn?<@bvfBt!1LHlcd;S_U@dn( zx@r1jyH*HRHY)Dq12`M^rex=zo|Q2x8=4>2u7%DxLxs8OgL=`gD$Q_lSPF^poFiWo zCse|cd;nkGWZ2{XK)AVG_whJXT9aw_9+)E)mJWIGk+Du1(0u60#9=7ry99^cx$&`H z$L~jqtU+lRy^XjPU84TW!}Pvshc;_zsBds0=yN0ZGQj5ue{FBFNCVJ(Ff8vepH7xZ zzM$bZF+)Qrb=~hZ@$MvLsWJHgLtdobrZ2B&P!dPNkSB4apYSvY8PGrM8YwPsg?7-N zm-H6td=_9OxbNL-6>a11no&`^8K^G6?3O~bBvOK5`r&t3H`59w_C9M%(6@F!CQqHP z9~_MXleqY7q!qft1pupwJ{unLs*Hfz@aXPujFZ zx?cVn?rOx!4Z-(Xs_AX z4f)PNY79G9YMEZ;1^HOwmjtE4JPOQD7$29Q5x@;73&?n+e)`AhP)4rB)BgC1fB@PR zE$O9CnT%6W-782&91Z+(M&|wx{Gzq=FX67P)$|1*!xG>?x#_s4U=zfxIni^o`vLLX z;jwu9g`SpWR8QwXPlO%NTai#|*|5fdk34+3v(j$N6D{~ySQQTPys;)qC7>GJfqO@u z{MywDNmPr$gRU12mNc?hB64ngqA1}KlW||AgfQ)hOURAHb*#}31fR@z5Y`%7dSPWg zB&JGp*jh|b!<@i3e0=Vpr`+r7$rf@0T4~U*gY<7$fG=mpCPj$t)Nx#n!`j9AeN|91 z+H&jNXfps$7kP|+-L2FS}goYqO&Ix_FK-x``qhXcO1s*U6GPli5{tM6lD-~rf%s!EQj;_k2zg3$9=cbhL8b5z@If(->1Bs_E{ zZ>tuQ)i%4&)66^!HkiF18k2n$lsyWbnX0tIScT-B3qIPKlIv~HO>mNj%z2d4e^GLi zPAxM8JcJR~SG50`xGe~JPFP11UvqX&d9MMmh!gs1r2u(+*w?Y>#9w#n5*Vw#x&MCQ zNR$tT1PhMG2x$hNfwi_S&D1KSEV9pY5(T6CS2BZn9ELr(TK+Hh;W54bc6Uxo5 z5V_iHdXcH)<7!8x9yNl{9r4sOW6~7yG%!$iZ#*1UgN~g`_$KLZ-FK(_PL(+nw#uf| z4;tB9-nNBem0It=1U86^S+HxV2Aq+y_P#G)En;(@jMZ)c!Uw@OFT> zFjSdLFO8VTn?OWMdDlqBpYOu>jMyT6Ty4P3i`V@t0wasQ+c+M{HUd~Fyk_`7l zYf1*sQy?|cV;NMLDl}*li~Ujc>I46@DK0PlAW>UMom!KF$wJ!3{@gCTPWzxb>a^$D zjb4x+&!T*Q{Se5qRB$FBMqkYxn4OI70K zw;eBJpu#KV4oskywnBa}^j_6xs=5jtAKUBH4iaZ#NC$^cW9@ZXl94{CMEpZmRLiF+ z@ZFZTq%_;Gr>j~KHhCEoQgha_vHvV@5Rs=s_SvwigX!zro3}zPfK@RtyrLY`GsJOa zt8SFVSw1^5kjscUHdTbO{M=#+5 z-LAH~z>Z+#7U6xIiTBUvZ({$=<&*xQG)AG=6=)x`qWkTjzsVN4FIhQ`55Rv5V{Zjm z-iq92<^221Ocy^1LHF?O9~9-={&UQ|*Q Path: def main(): + import parse from production_planner.core import ProducerEncoder arguments = docopt(__doc__) diff --git a/src/production_planner/gamedata/parse.py b/src/production_planner/gamedata/parse.py index 9ae0ef8..fdaafa5 100644 --- a/src/production_planner/gamedata/parse.py +++ b/src/production_planner/gamedata/parse.py @@ -3,7 +3,7 @@ # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. -from .. import core +from production_planner import core import re from typing import Optional, Self @@ -225,11 +225,11 @@ def generate_recipes(self, ctx: ParseContext): fuel_energy = float(fuel_class.energy_value) burn_time = fuel_energy / self.power_production items_per_minute = 60 / burn_time - items_per_minute = _convert_units(fuel_class, items_per_minute) + outputs += [[fuel_energy * items_per_minute, "Energy"]] + items_per_minute = _convert_units(fuel_class, items_per_minute) inputs += [[items_per_minute, fuel_class.display_name]] # FIXME ? - outputs += [[fuel_energy * items_per_minute, "Energy"]] if self.requires_supplemental_resource: supplemental_resource = fuel["mSupplementalResourceClass"] diff --git a/src/production_planner/gamedata/production_buildings_v1.0.0.1_366202.json b/src/production_planner/gamedata/production_buildings_v1.0.0.1_366202.json index 2b93545..017bb4a 100644 --- a/src/production_planner/gamedata/production_buildings_v1.0.0.1_366202.json +++ b/src/production_planner/gamedata/production_buildings_v1.0.0.1_366202.json @@ -6327,8 +6327,8 @@ ], [ [ - 1800.0, - "Energy" + 30.0, + "Power+" ] ], false @@ -6343,8 +6343,8 @@ ], [ [ - 1800.0, - "Energy" + 30.0, + "Power+" ] ], false @@ -6359,8 +6359,8 @@ ], [ [ - 1800.0, - "Energy" + 30.0, + "Power+" ] ], false @@ -6375,8 +6375,8 @@ ], [ [ - 1800.0, - "Energy" + 30.0, + "Power+" ] ], false @@ -6391,8 +6391,8 @@ ], [ [ - 1800.0, - "Energy" + 30.0, + "Power+" ] ], false @@ -6407,8 +6407,8 @@ ], [ [ - 1800.0, - "Energy" + 30.0, + "Power+" ] ], false @@ -6436,8 +6436,8 @@ ], [ [ - 4500.0, - "Energy" + 75.0, + "Power+" ] ], false @@ -6456,8 +6456,8 @@ ], [ [ - 4500.0, - "Energy" + 75.0, + "Power+" ] ], false @@ -6476,8 +6476,8 @@ ], [ [ - 4500.0, - "Energy" + 75.0, + "Power+" ] ], false @@ -6501,8 +6501,8 @@ ], [ [ - 15.0, - "Energy" + 250.0, + "Power+" ] ], false @@ -6517,8 +6517,8 @@ ], [ [ - 15.0, - "Energy" + 250.0, + "Power+" ] ], false @@ -6533,8 +6533,8 @@ ], [ [ - 15.0, - "Energy" + 250.0, + "Power+" ] ], false @@ -6549,8 +6549,8 @@ ], [ [ - 15.000000000000002, - "Energy" + 250.00000000000003, + "Power+" ] ], false @@ -6565,8 +6565,8 @@ ], [ [ - 15.0, - "Energy" + 250.0, + "Power+" ] ], false @@ -6585,8 +6585,8 @@ [], [ [ - 18000, - "Energy" + 300.0, + "Power+" ] ], false @@ -6614,8 +6614,8 @@ ], [ [ - 150000.0, - "Energy" + 2500.0, + "Power+" ], [ 50.0, @@ -6638,8 +6638,8 @@ ], [ [ - 150000.0, - "Energy" + 2500.0, + "Power+" ], [ 10.0, @@ -6662,8 +6662,8 @@ ], [ [ - 150000.0, - "Energy" + 2500.0, + "Power+" ] ], false diff --git a/tests b/tests index 5b8a001..ba0e8b9 160000 --- a/tests +++ b/tests @@ -1 +1 @@ -Subproject commit 5b8a0019ab22dad828a3b17be080079a75102bc6 +Subproject commit ba0e8b979b7ab4aebc094134e8afba7405cd423d