From 8ae74fe9da693ca2c82e40c5f3c4a53f346c9cde Mon Sep 17 00:00:00 2001 From: Aristeas <94058548+ari-steas@users.noreply.github.com> Date: Sun, 12 Jan 2025 15:19:09 -0600 Subject: [PATCH 1/2] fix bug related to power not updating when fusion consumers are not attached to a fusion system --- .../FusionParts/FusionReactor/FusionReactorLogic.cs | 4 +++- .../FusionParts/FusionThruster/FusionThrusterLogic.cs | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/FusionParts/FusionReactor/FusionReactorLogic.cs b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/FusionParts/FusionReactor/FusionReactorLogic.cs index 3af302316..a29983433 100644 --- a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/FusionParts/FusionReactor/FusionReactorLogic.cs +++ b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/FusionParts/FusionReactor/FusionReactorLogic.cs @@ -89,7 +89,9 @@ public override void Init(MyObjectBuilder_EntityBase definition) public override void UpdateAfterSimulation() { base.UpdateAfterSimulation(); - var storagePct = MemberSystem?.PowerStored / MemberSystem?.MaxPowerStored ?? 0; + var storagePct = (MemberSystem?.PowerStored / MemberSystem?.MaxPowerStored) ?? 0; + if (float.IsNaN(storagePct) || float.IsInfinity(storagePct)) + storagePct = 0; if (storagePct <= 0) { diff --git a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/FusionParts/FusionThruster/FusionThrusterLogic.cs b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/FusionParts/FusionThruster/FusionThrusterLogic.cs index cf061490c..10f34ad4f 100644 --- a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/FusionParts/FusionThruster/FusionThrusterLogic.cs +++ b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/Scripts/ModularAssemblies/FusionParts/FusionThruster/FusionThrusterLogic.cs @@ -106,7 +106,9 @@ public override void Init(MyObjectBuilder_EntityBase definition) public override void UpdateAfterSimulation() { base.UpdateAfterSimulation(); - var storagePct = MemberSystem?.PowerStored / MemberSystem?.MaxPowerStored ?? 0; + var storagePct = (MemberSystem?.PowerStored / MemberSystem?.MaxPowerStored) ?? 0; + if (float.IsNaN(storagePct) || float.IsInfinity(storagePct)) + storagePct = 0; if (storagePct <= 0.05f) { From e2766cd125db43dbca4db598155b34633b96a6de Mon Sep 17 00:00:00 2001 From: Aristeas <94058548+ari-steas@users.noreply.github.com> Date: Sun, 12 Jan 2025 15:32:02 -0600 Subject: [PATCH 2/2] SBC work - block categories and buffed active radiator integrity --- .../Data/BlockCategories.sbc | 4 + .../Data/BlockVariantGroups.sbc | 75 ++++++++++-------- .../Data/CubeBlocks/ActiveRadiator.sbc | 24 ++++-- .../Models/ActiveRadiator.mwm | Bin 131500 -> 131500 bytes .../GUI/Icons/Cubes/ActiveRadiator.dds | Bin 0 -> 22020 bytes 5 files changed, 66 insertions(+), 37 deletions(-) create mode 100644 Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Textures/GUI/Icons/Cubes/ActiveRadiator.dds diff --git a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/BlockCategories.sbc b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/BlockCategories.sbc index ffb8b2b92..b9195b695 100644 --- a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/BlockCategories.sbc +++ b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/BlockCategories.sbc @@ -20,6 +20,10 @@ Heat_Heatsink Heat_FlatRadiator Caster_ConveyorCap + RadiatorPanel + ExtendableRadiatorBase + Heat_FlatRadiator + ActiveRadiator diff --git a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/BlockVariantGroups.sbc b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/BlockVariantGroups.sbc index e0e0358ce..ae720cfbf 100644 --- a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/BlockVariantGroups.sbc +++ b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/BlockVariantGroups.sbc @@ -1,31 +1,44 @@ - - - - - - - Textures\GUI\Icons\Cubes\Caster_Accelerator_0.dds - Fusion Accelerators - Fusion Accelerator Components - - - - - - - - - - Textures\GUI\Icons\Cubes\Caster_CentralPipe_0.dds - Fusion Pipes - Fusion Pipe Components - - - - - - - - - - + + + + + + + Textures\GUI\Icons\Cubes\Caster_Accelerator_0.dds + Fusion Accelerators + Fusion Accelerator Components + + + + + + + + + + Textures\GUI\Icons\Cubes\Caster_CentralPipe_0.dds + Fusion Pipes + Fusion Pipe Components + + + + + + + + + + Textures\GUI\Icons\Cubes\RadiatorPanel.dds + Fusion Radiators + Fusion Radiator Components + + + + + + + + + + + diff --git a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/CubeBlocks/ActiveRadiator.sbc b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/CubeBlocks/ActiveRadiator.sbc index cce13f0ba..491910d46 100644 --- a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/CubeBlocks/ActiveRadiator.sbc +++ b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Data/CubeBlocks/ActiveRadiator.sbc @@ -6,23 +6,35 @@ TerminalBlock ActiveRadiator - - Rotary Active Radiator - + Rotary Active Radiator Provides massive heat dissipation at the cost of a high surface area. - Textures\GUI\Icons\AstronautBackpack.dds + Textures\GUI\Icons\Cubes\ActiveRadiator.dds Large TriangleMesh Models\ActiveRadiator.mwm - + + + + + + - + + 0.3 ActiveRadiator + + + + + + + + \ No newline at end of file diff --git a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Models/ActiveRadiator.mwm b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Models/ActiveRadiator.mwm index 660e1572bb92644aed17778bbcde600efe22aedf..73ae2520ed71678a57ec9231fee90fdb9fe3a64b 100644 GIT binary patch delta 34 scmV+-0Nwwrg9xmH2!ON!7t;{g?eF^^Yf|_=La+XJ*7s|-C({9iE-57uV*mgE delta 34 qcmZ3}%(14KqhSl9_+~=5Z4bmlJL1>NMlJW+u6~)ZRSy8}unma- diff --git a/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Textures/GUI/Icons/Cubes/ActiveRadiator.dds b/Utility Mods/Stable/Modular Assembly Mods/MoA Fusion Systems/Textures/GUI/Icons/Cubes/ActiveRadiator.dds new file mode 100644 index 0000000000000000000000000000000000000000..014c70b39b2b903a9731d5e64438003c838df057 GIT binary patch literal 22020 zcmeHv2{@E(-}gDIF}4{YNg8WI5|ZS0*F~1Gb=#A+u_jSyQ+H*o4at%$X|on%ONC0y zg=A@yBD7Fiq(a(cnd>_Tb3f15^M1#3JjeIF@AH1&@m(E5=Um%){(t}d|38_VJ2UnJ z07Ph1z=6L7AAkUWgTE+(|NjdI171snA9Hs--T&w|3Jv*(uf5?ngqd#z?-U%g>0f{S z{J(9?F`^KFDWH)!(YP?B(|#N>Z579n%!uWTmgYK2f+iz53h7Nn@Ol+-)(2xrs=SIM z<(5i?gRY!}rK|JjoPI^gxK(Dg4otbk7@egX@hoLIiN;sTIR+|ew$IgFafk>9e;M#W z6UKNCJRw{t9^hD@Pe4CB*z|ur{rrV+Y|8F5BhW?qODNBS~_AI}&C z4uYv6oay=CpkxK%hBT+>`4>?g{y%>Ri1c^IU!;$W^KWe%8qY&#!_{mOc#KLRy3rn!^ad^+L{O^i!mcDJtY;CD{lb^1@%sfOU zHb=3smQnovsJ;|JnZ}z9@s3ra@-&(jNFOHVeP$ae(i<6Wrncy zYEn~>vRdVI+(b+Mj@hQt?A}C?m=UbzS_zL=2DRyf-Xs!fWX;V?4!ofiu1UxbRFH_r zY_T4MgUbfmz(lZI99aDS`C$fk;V+IDP~|ufDHfcO3<8J!8;!%k+YR6OvT2j`N(e93 zZ=?`MvZxDNuXTiiJ}KlOl)4M82K?~fRrcea6DCDRO&DpchPGO^zDlC4tLw5+L~ZtA z(wEOZM)`CAMo4I5!ANZ~ADe}v<926aLrAo@-WGR0wwTVuEyS%>L(JjWg^w-uq_gSS zOI~#%jM>%=Bh5bg`I3C>8%}hR-t_yR}f%DBNDx?u**y#KwWihIQR5V;PM;clYX#aCL7j6*n zlD5C{|Nm=a1mM_!0hDI&{)_-38|M!&90ObmfjXNLCm)^Q)xvBv$HMonacxH$&N}WZ zu`ZDK~ zNq#DB|ABXio!U;#Ac(gzP1($M5;MFL$!xu7; zJ?@$ev6#FOe?*_oDv3ChjfxR{lzsV_EKU`7A`HV2aWx;kEpSYi#%)%^UW~GJq;30C zKWAFbOTkf&Zqcyuq}@xAk;;|daiWy&xE{IXZMtPWAEV=FKpKhrhDM*&3(e+Z4t`#K zS(~wvWb@3B+nXYxws?G+WgV$DMGqekP6D=|XEs)bpwO?bd#m%5~4N_~G5N*XH z4bBQ%%z3l=XXEk6>RUV4Li`AT4(L0M@tN)n@rFkHmIVD&k(k0uHxN=iJ;H&H1rc`> z3#rev(T3MKabf)M>os}2;H=kKo#qUwrUs{qK>f@FUYqNp%vDN98)J?Z`RmRTZyWd) zzT%eGf!p=R4}C2-%;dg^Ua-O{f)!uEzVk59*!E)gEAdf8De+K&S&olxhL}hRKM%Dk z3%zB43H%Ls)ICrTabmWF8i_|CH?2K%U(P};&Dsi0_*lYLxn#BWBYVeH+0_kZapr;4)F0k@!4nS}eAP!HF;fL^FtuG+n2*leQzIz() z8F>b5kfZyd151uf(6__JA=0+F%rjrtpu{M8h#iy%cmtiiYQTwj!QeLD+Dg@NmH6JH zW#;I;C>Lu;A6(S2XP*X#22qi-(sjr9n5Hxx`h0DZD;j%ssd^T6j`p?ES5saP&We~C z#5EOx1L(4hI#_bqpDz>K`aSTx@z z{;}I}ACYVVS571@AZ{$yc5dnfGdkD@-%ks%%6sfy;B~xPJIA)TaASMeoD&1;8|Uh@ z^?cnvQB9@FNf*=wP`3WoYS9OODqyoV?=lB|8Be%{53 zd0KY_{upX$(N+}A#|}$$-uyWD?8Q}cM@B=4HaXHj_IlHicbRMqBS@#XuV*xk9mEZr zV90G^Zb}#*i!BWP5xUve)va@H@WvAf%GWZTMsBD|agmo_f0iD_FdW_7e69ISOXC-w z`+Vz;_K%#_-BhD)dUUK=tj_L0$Nkb5vjU%do&Vi^Y0@8M=`Fv9SH4_2`k_68rC8jk zy40>T;9hrWB;+WY^5tiD7T+*@*1}Dv{YjamD4nxXm$kbdaHm^`Oq5h&DHb&{W$iu% z-0`T0iogM6QQLag?HIOcH2cSv?*ZS~*vd3syRk7I^0VM@+L$#@OCZMkd#d;b`&rA&LmC6UM5jDIgMdudq9T{K5nrLm`Y%#B`;wpg+N=S_sXCG;odfD$>xVQkUjs*I(^{%C%irYmAMpoPTrPA_ zp*6jAy0YJ3&XLIXSG9HS02Qea9qAmy^?R-_3!Yu5z58CTYS979(>(!^!)tPkTlM_X zau0U4#p|wo1z)NWx4h1-xa0oQ7qy=!)D<|$aOja;e`4WPW3)KH-iSl<(mgtO7}SSy zfJfMF+oV)*SGB#kAfRzmX;)Oe$-bd0iI?UU8=6#ed^VJ08UFK*KVGnO?%ROtZ*&P{ zq7-Z1@q1cJizT*R-?XF_pd5k1|DZwLpk(CGWYhnE+on9TfFWQ|QQo zeyCK3WR_Tx$glVd&*L6}+l+zWL3i^stNb4}rHNO%7s=CzQEm zQv`wX90=vvlkvU*<714&O?@g|E?78r@Zbc*o24mDjfr~ck0>S|qCCwKmDiGvH;;Pg zZ=#rF72@2^lUJ8du_QzuH_YdU?OW?Mu(d0 z!m5Cp%{uZZz@dY5d*7{CIDOxq$f3&^#zfNEy=Tuo8(-sB%70&cu23<`gy7I2-c3yg8q`>yM_h*$Qt`hpFHy{7N>eQID*O?pBUY}Z+KUU-W#Vqt z)%qJS60Ks3idq@TF>i8GCf13N$V61g577Ung41|xJvLNm&PZu`6M7}kAj`g_jdvrP z-h|z3zIHx43eRXY#nI${SBbZJ)0WLPOcK)_x>@e8Nt5EPGOa-5G7?0Lf*+y8m??cl z*Qc4$j?!LgP}27u{*i7cpXdEUz4Q|e@p4tT4dn+nrUH)}{{0T8tklD7ucy~`Z`;WM zhWd+_*L~%6R6Tt$XCfEQPyf8})uko(tDkijeBh_h0rJ6d3LoFeOJ=1Glt8Bjhe zJwDyI%&SBDE7r+E{8NTg-^X<9xdg8lJRied1YuwstpvVrO8&Ee1(*$_XhOVc;mO=f zU;nV;{*h$0Ak*e~dZmYM+`E^1h39d);0@=`tattnXByQrZ5z_-J<1a{%M*X)53XWH zo5s=)?E%;O7UMwnZ>aaNf%ZfUqwD9r7_{AnBfpb(+ZMk~w`O1Dilsq!3_Zw>Eb9<< zd`e)d!obsg35dB*#Fk(_CI?gym3IBfel?{Ok*LTbBb~W-o2m;7GffyYR)bfCk3m+# z(sCY*pKp0J`@{Ukp6Meyr4hS%i2p3F|gQ!Wd3 z&3zG2>pP5>JUu+Bc%oIy^{K?xTCa-$Nczjq%Xp+AJKi2ph84Mc=^r(o%=)Xbq6 zA%4n<;3C!GJwbT>MDH$$@2-!b z6MH5muxwfrR{rqPCBf?j2Nz*TavSs^KgiuH<;8EMsH?=A_q}497$lR28-I89w~&@> zC@>8PRGQ5t02d5ly{c=4`3=1#rslDmF}@PX+gRkW4fm@XbHl4!B&mT7S+RZNx#zUY zhi@&iZCfd?pY+(fihA~7rSGR?Uokesy6r4j7KACD|6H#eWK|+^C0xX_Xmy$7;%fE&ysc;rRN70bc+)LO90j zz9a50blik$N(O2#fqtoshMJ>{{%5UxtxPTL^QGF?dIx(q`2s`DRg~>Ml#!j37|!>g z6EeoHG~Kr>4A$1(KO8!VV_4hpoGHUQ#doC9V%30g#B+D297mPQAJWnryg&MpUC#*L z=McWWxF!9m+6;eT8^&8P>^G4(;d$KA+#~B^SSyf$X@2lrW}TA*G0n6~YV6DKC^%Z_ z5#$K-9grTaYL(s49(k3O^0bx-`3w3UG^fj-UI_I8j*<3^e`+hfP&>~`y~_6b?uPDd z=WmDtysERJ)=p+gw05Y1ub#AiKf<7L8`{qM7$hYu!d!8qh@xnWZ=Jutc48wQ@O%6b z1!}ZKo4dbOQmohI&5j!8jk3MSG_i<9(^Q&&fjx( z=$*}_<=(qJwl~j50IK6=_ART<@?zxXo8_p)Sj5SVtZXw|u;vKEyZAM2qVXIuAf2%2 zPYi3UJ?ZMRSXBnqlwQ9G#s`0-E&DNk!y!w+4}$qMVpxwMBka&${6I?^+`GH-FaFsx ze)!P95g8!l4`mf%>Ib;~CcD%|wN9JL^eY}Zs1!8$zr-88w^h@|ut#lWJf4<7o)Isz z7Sx!JA^eKL3VtoWNlltd%&TAU+uEm}(p+7*(dkDu#u}f{RCrt}vL`n6q{sGlM z5yfC4j47XTh!9$YXw1EGfvpKwc~)hCM_v;m17(tFK^>E^k6@k zAj^x{U1xFbe#HD<4vyW=PP?o6Gppci&BjIN$DzE=_{)%g0nodAdd6QD#1mjAFMSeK z&DhsbCdjAg?^?DS+Y0G3WnXd1pRPB>%L6oT+Ws9Lzx&Z$70UOFJ)h;R3e^ENB&6rM z-7l^K+NF)?8w0WLP@k`r3nOQjxzx%*(=-o1% zZxl)0B8v>kxm3(%e?fsHgGe?#=2lDEVX6@xLEzvN+2kSW*`53AzL&Jby=bGfE@9nO9xp)L4RCOvQt!AcO{S;8i)&pP+>cq2Q+x;;sAdc z9Jezo=Y9`pcpC!cby=rk+C5F#;>m!TO&17lu8_Xd^uYl?x4{=~s#J!x!8;EYZ>xhD zo3srPL5Mz%o<4kxNCWvH6SpS&nR3ZieIZ3ADp__dYX}feIohGVkQ_uM>+n63qVuR# zeq?Phj4$tgx;t1hI2dN7lF~%lQ5$G<;+~h~+AT&F3W*IC`g;SJ>D*7JOpG+lzZ{Hl zIYHiauJubtCL5sdGN$ag6A(x<_CQC=gcn>|H}bqixua@>#B6lP(S8?{2Vm-TTaYhc zu1IRs%&?h^t@H?8*SRDCuJ?gf+8v3l4W3J2exXZ^d7Y>O>g!HYANQG^qZe*%-dsIkXY*x)C7g3-ypRy zufwL`;1!QWf-#ek)aadNQ@Rb>i>k7+vS0OqQ=YH5R))-{b24U$GKge$=Mn}iaO+pF z4AK+6bUhwGD6c~wLVv(;$@I~i(g^EUPp(ZR@1RV==aK8X5|RO)iigoIxNNSLL?N$& z_-7m`X(`!&vhekt(Egjc)3}W0X1-bfx|558E>|2tU-n#T7eNe%jLa_a+;%_pqKA&- zdU4$Oryi;9g7H(W@1p%mr?;Wr8Sxz#1o1j;M~we5KI#qQ_p{Ld%d*)r>2@77nG{>8 zFSENId#`(2mKgL;6jPnl+hKflrB6o$aE|}Q4=KUxwzmurh5F#YGRsLApGr*e1JwT{ zzwC2os^dgv&SU$=QRhUz5|X96F{|e{cCKAub8l}|4`yf<>V)qLh$QTpby}49J7O4@ z9FQ;^o5)Dj!@jRr4D{>rz0Ame;+GwY_`K$rnyFBqIo31=C74vcM}1&02jiI!1m0_t zIIvbYzv6==@J;@ByO3WK)_9Er@EhpVJ!j?j-S*zWW{<_qPnxFU6KEg8>1lh`7=pj~ zhqB<~iIS_zzMYCE9JE}aJlynJg4_7Kuv0Ph;ez&oH;^8>_^PJnu|9*`fU{RWb=-#F z6^wk*>a%bU*c`klY(HL+wMPTkkiBG@BIT`96|W!s;`m&YX`w=Ed=q-y-%vrUgxB5( z{mVDGUEF9`zpQ~ViV*(<0H{+fC=_$0c+%OnuwY%OxV>GS{!Au}|MOt{uas0|AF&|+cX@UwD?UQnMxR{xsw?1708KOK_nlt0YXPIB^1A86QD z*{1`u%HcEg4%bb*^kesf)nf8Fc6cW>`!;q^-{TltM5-h!D@r;#p_rCpQ9gCLYKc za{0y*^+*%Gf6*R{I)QPpnfYNg2iK%WLZ4N*J_5Kw+%q<|k2x=GwU%rRX=_dI1w0@= zhw>-PH^FQOAk4`33aIJ;3O|MOlPrCp{0CHa2X!oTc9ryD?fkGdxh&vh%+^0Ua%Ur? zx(bc~A4@y5Cxdq!>k;~EdV9c~|d<@&`u5qa$-JFWCA(w~(*`s4gf zO6mPZyfR*0$kY3%%1ZL;SE$<8?lLb9Qp_!seyjWq!;07EsfpS4;8q6yiVj zd+*H*Yz|+DcgEL%9dVTHg%qWtMh#iJc9cH4%4Mvuk)kjaJ5cOssW#(H3VafV+HeZZU9(6Jjc{sYW!ti``5 zDSU=_?;N-X^8wPZe!Yy|!$SKavRZZc;T>2Vh78g=(N$_8Yat%=RXd+u;eWu4%_C%P zS15|KFr2aTm5cWkHmTEet3Ixh{@7ZNU}F~QnqIv zm*LC0y4w8V#gvIMNKZA9-p5hnm>}GDk!_b?Jr&5{4&aB3o2(cql(&&EA8^7xqBQ@~ z>R5d@Zr(QP<9%Pw8$E7nK+YWdnFjT7ke^?5%*6SAv|#p$?^PJ)Si5<0;K8onkZFAo zZu&C{`wlH4cYf+4)%LLh$RDM9l}=j;^{w8$S3#f1pP+ui(y1Mxf5pR7@{|ShKQF;q zT4L~fccXJwZ{+N*N8af!Gg8D8g?QisU~|?%#z}XF6f2ERn|tZi-Q@}ZPZmDk^;k$H z+TQyX<^!#?Ds4zxE4wc|aE1B6>HHFQov=%6)1tI<+<8fDs+9v!{`yK2)!SW#`eX>d zXI{eP+KfWQl*R?^Hg5u|yU$1B;Pa>bRm{eyoQ-W0#5dFV#b=nofLVwMzDX(1N~7KO zUO;2_V%SMG|5tm?Qrc^y;<`62AZLTN3N?EWDJ(lI^BacA0zV7C-Q_=t`I zM%G)eGQ`BnR>w!F-M^&k&~7x#N3;BfJsM}$H*605iycdx&2I;PGH!8`PxNOv>{T0m z*?#s&zL&GVNFZ)*^9?c={jWBOyMHS2*v` z>X!i&br^3${TT}N=h$QfPUt^YyyG-ET+yv5R7`7B|7Oz=P~)+fOeB+q_6xMtJ zBH?uj(c_2bJqv!W{E7Lab1{ud@_Fgcl25iOmDQSyn&(ICh5Bh0UIphBI5332)n<5G z)ym4nIaSOv*jG-N|LaN|*BT@|ApI&2LOgJv!5c8ZSkH7gW96F(^T+kwgNl;mf5d-A ze*0F`DYc7z7yXClO~D!osTT znS7ogen+8+->AC8M9bWv)Wy96h$V}R3H74!iAKL_w$sU7-N`@z61_Ph;1WNa;91k%$@iXMTA9%Al6Hv(dCYYt;Kf!NvyL;w z?r0zRV1WBw^yn>HL(LeM^HqVNPr~r;PjVE2N}rS6zz(0F=wLkHL=Kynd92%?6PW39 zAb<6r!zr_o6+G@D-7(VRy*N)8V2HfWu5by>7IaClExF*5d(0ah@5*kv*ML(X!KnzNKB zHwqP9Q>g8`-}~=9ksQ%KAIKM}&|$W-YuGUBfqOW_kMho|y9C;2SbqiWo|7o)o##4sa-Q81ndNP4<3jE1rYGdj3?ur5PBRE)^qWfX{^WWIWIW4~W=? z?1Y9*D^oaJ2tB!@-PL7=A2I6Z}zxbM{$ zr`pK8yu5lAO+<>>if|hv+b;7l5wITLqrneCnr`Jj41@h%t_)WZ+I3BLb44mSwv7|0 zlVrUltE{Y0OO6^-|1cO)k>ch`XW5Q4IN6EpWOJhfaf)b)e5#FVhdR&7Feq#VkpUcn zzwp$G4{jAdq4WE>^_R)@KUSl8$<%fa44Y+2ub|i7{ArkPVYGF#olcm`vEHXT?fg;ViTus~jS+piVnsw*V2RP}33nCbRE z3TUm_^k(el`)hYgc!lF@%#(kHnKS2#$2#MK5S|mK$ypBeKSc}rpXSqXNA)pMj46Il0%ds24(mb4 zDs`Dg{MCYc1pTbR-n5bMT*2tY)u5+UL4P;y2zp)>lr7$ft*nSXDSRF(*+=xW=ZA}d zL>y*}^%!k1n$>ddSXY9}DJf0wp8ZI?*P~Gre)v;N?>$|aM(@;?PHl|JDKb}364!Ry zk3$-Law}lJR~|2&R~$F^+}}!tF8VgKInXd`b&#w336#=*p&R961`h;tg7!%!+V3H( zm#@YR@&*3}tQ=`AA@bspitp^}Klj{}SCc!;s{ahj=qdIucWA5hXB*KerO_4rE+_6b zlZa&$FO?K(f9T6&h9{D{{QUf8@M|jJ;ak?Y;=ZvgG*WI`>^L51e1dx4;uzM+luJF- zms5nOoJy#QK8Qna<>%~${Ef@={`h=wkdHKLI1d!UF#_6y2m4R^2kWQUT1WpZTs>F1 zz*-VNt)H7vC{8><{hce!$3c1SxMYyfG^NjBy%x&*qPpB7lqD$F^X;b=3;U%xDBSY~5dK6kT$hbK!(D#-=B~zR)=tl!2upO5z zej8hPJUV)6KJdq{W1)R1DTew2o=0NIW?3*EiQ)fyj^w!=_}gow z9=3!f31cN`*oZ{PPHo19KDR!edOkJ*{(h`GF$}nNDq>vnm-AspbO|oVUWde~JnDz_ z3;HGY<2V%B!&z|}U$CKJ##A;QU|c)3v^b4N55tU=rEt30 zo`~oI?*V~6Kgt-tSoTx|%J)=%BfUSDFThtI&qDoO&O3VPSNlz|{M-4Cmb-URZm(0P zJYO8z2LK#sKRBYw5bsz$&V=~0P&xdx5}zW@^pAfP-+%RbxF1H)Z?v8EV`e|ZjQtSo zhu8pyoxZpGi0Nn!#aik`_{)C!E#rMn=nmO#4O*8aM^|_)+V|aUSuC`z~-lf?T2^` z{0?_?pcb!cla2UTpkLMVC99(UysCsDBs+%igRvW-XUs zKj(CP1m;fynr)r`p5KN|CMKAxb!WwE!*e{kkQ@fU1%)_ z+UK?pAI9DP&L6waD}?@76X^@~sj>m=PA^i$FTwPs^EaVlaWV7x- zjl!hb+2vTLgVHRCL%DMzbd(;K7D*Z*4YzV4p#7ySQE++Sf*tJFl}{uS^^e=BrBe%` z2P+)2G}5Ubivd6zru$KGU`ej?$0tKN++5xGKG=0=n4&WI7 z2krGg!{^_9{%`(-@5&i}LOPkq7ZLD-95{o6@fcC%ID7rIva3_^hCp8|KF)#l3;tLw zVdcbM`U9`U1B8_rOOKH$c1wE9PX8>us}})g))(aMzA*03QeR0`Cw)66h&P%cKgfbp zh1Z`A^7|2$S#fW2oBa(>OO`Bz_;X2pT?u?Fz|Zg9uA4t7P3tx2qO2Xw$tGEeZ!Qz@ zQ~hxduU%p=3NO)s%NnKy<8S?Qy!2Co`pSie+~{nc4i%V45jYfOHuT5za`r2|CBS%# zBP#IEZo~LX>{#%>!CwEn@&0G;=V;S#96Dg&IVU-ttLjaV8T$dC1rhA83|k@xEeI}x z1@%FYrAL5(KlD@B>jnO@AY}d27TRmbz6h-&g3lR-AqceBY#-n>`rpuA|1&)P z-RBX2V?zs~0zN~E!UKiztH7TSner~N#A$ybW7?kpBoR1<`OA!B@KU_sdLcg)=0-+N zd_n7b6UgT9d?6=-!$CP5PNu0!a?=|xh~M!e){e!czv}CLf&G3nRqv1}a%q1okpCMG zFQM?!oZ|9gtr@&Iu$I~o!tcjWxE+`c%sIV+;2IwPZur$aF9toP#=y^Ds()Q-;!YI) zYm#8U1dJ~L&Tjg7IPk}Rd3^KF=*JPGtOAZ?`54Z(B0Q&8fg>t!4xGpgzv%Jb^~w4N zmAE;IVy~F?c)gVepQ_JwhWkApZh`rGX|M(thsOwlaR?ma=(Jt1!(vEYpCL)TW%iP# zKbz)=@HoyPf^HclJOuzwwJq8H) zNkaiqdN_*Vd1DVoxCdQtnnG>s@ukz06x9-Djn; z0VkC&G8={cr=4)W?<7`K^Hhu*F!jE0!TuMAR_p3zH)+`%0&Q4C{BZ{{7=QBz2Iq^y z{c=o#Gl#J3km=UHpLHMkmdwr!}Rd-)i}IAXJ5 zV^?DQZ^dHkt0^z~HuYCK_3oXw`KhLsxW4EO&1WBj@NUK{=9a8J{mhO1J9%3#*)aN$ z4f*}X#yMNT>z6y!5u4a0ZcX_CHtoBQwOj84Ca6trJ!Ltpi($WNJcrt$5JTV z&$C|FN#|z-8klVmV*tL-xfpL|J{WT44aS2nPiD z2{#dEHR?{?glHqyfHT~&BWX@@ZgATiyJtIjLyti$!PxP)8|ft-^3S`u^O|IOPodNM zGq9LRd{x;_>;c-BX55jBVWww56d7y=!u~ZPK=87b1W=6o9*vj=4&;E?dVJ*pP^sTaO*a!Q4aoLY7 zgwKz_U`B7-dOcXroa#5k?T9cw19L8jpV^&JV}7_UU-={bJ3Rz7kB$flg!^f$DqcM5 zDSHn4ziC{!Kh_8C&w}MVS9m@o1onru59zwmq*av36lKGN2+MmFPBPa?fpt2DFR#>X z7JH&)(&JbLw=2pD>vaIQS`3vg#S8l#adiKsr(u=gul~)Gcx0d)n5w*<<6gWlP)B=b z!kIlrZ7aLAYpECLVqZ|e#{RqZP$;DNAy6sVE@6g$9T!+yW1{$yoW zta$mkf&FHMv{Pm5$_h?x1oRFjSGJY3I$hA+e92+^p_RQ-A6>ffAKW5MHsd$!2u)NT zpD)3&%rqeVxfZ<)oBsnSG%~WK?az5Tpmx3HR5&oC7T-B9Nkj3H1a%Vyd;n z0iK5TPxE^LEphxflWT%WCA+|7w(d_L_>FGhds z&r^#xUUeujdi1QtoQu(u5)5Ak>hpNu4ZQ!;!8?_GRBDF*f}96^X?F@j8$5$Peb782 zlowgu2kvh%T)vS0r=Gge1pXFTIV++6PT|&%m$WCV3heP3eXAG)KH4R_3@(nz!tI>? z77S_=?2ixBmpW3eVW*gTKUe-yAH$WXUKYfjJ-Q@5#?0uDH;b~WEO@Z$=zpOQ6JIA^*Pg`L_A1^-mJom)g=Ei(%~ns6_C3@B)38Vk-glhvkX|-&b;m zaDw$heGO+}C`n*;><>hDjV^Tfj2JY@d1BooL6Yr$-af+hC{?15p72zbz z-w5Z2i)YNw7CBF5DdyQRDh z^8+Wd|HZRxOk_0-2`DxybZglEu+wmE zqRk(FJP_8m1k`*$z_v}*Gk=`Pgy92>DF{-CrATPjdDyq;1HKFD6NAk;=Jv1LAK*P} zPIb9`46yXnvwWB1q1EO$>(xNjcFg#sN3i#P?wf>T!_wby6poFGhuiy_fWVKtk4aUu z{P}9dxy{_5xP0BL^VdArRsE3KR%oQKji>UtTWbpq72l8Pcm|~O-zhDgsGP9gnXfcY z%iD~p;SRdIh{tPY`pg@q0ByvUs$^st0 z`a{2t|CXPsn$Ay6*Efg)hk^(jgfjKz6GYYU5A8IhlOBjUxS$eIL~AHNp4_?7J^I+j zjiSzK;yVozqfJIFJk;Krb!y6sS*nh3Of*uOB`9yl{59poEc38jMKG#{1zdTE*yvZ+v)W6OM0>fo}*;-x*W(abec*-(Z{=kXw#dKhcF&+ zP3#~o1keK)>_?rdXLFbkP7~O_0Oav?%8dP#SUd+=F06;JcLKM6M}CFD!S@0dU_}U+ zO#s0(e?TcR0YfA#d@3I?lnV6;Ab*Gb6Y_crvqaQ#b6CvNhv$SuSadqT{KDJNE3iN7 zNd6asAisF?=EKV<1KvQuxy}>jlW;Up=fMAgWm6DpFWk!df2yAQE5HB4cshRPpw7^E z0{HhQMCBuaia4{60(-h74fb=6F$k1Zs1a%6fyD<}{=`hYkC%H47+}HhKg1iqKA*!7 zIIV)(v13H$@#A|1@tovvRN<0MxY(aC>e8`TqF|M;(ezkrd9Rew1~bEi6dT&eMkkfc zv{OD+i$x7@N4hojZHpuBaolv_tDfmtLu4}fQpusmmqp~>(EF>W<5dyul0cDQDGbJk zg1?Wz0xl3Pcq|4Sakw6Rab`W>-`py@@r4qpGyTx=a+XI;hD_IRIJfLs^HHybHGlK&*@ z1&lAG={;-dtFDt!pGUkm2jTX+{I#8B{5QO^;%KFcHyU3^3y&S1Wh8FQqg-7bKX;R@ zop;m7Bu;6_NH>SIIep#pef8^tMPHq}(4>0Y%5SOdy=^zUx9^bJPoUn5r8!=ff7GdX zbt&ff8SiB0xW6?dSvoTF+6^W5bv{&eg9{4_TFTnn@ImtxhAYs#i&xttF>GN%aosGX z&&f^;_OAZaz45%*X6`1Op0BaS^6Vk2@B6aAOEsJhCO&xyFeOf$sqc#bB3=y_qD5Y3 zbBU!lSNH^^JTn|{-+z8z=8nVpL$k`?uRv5bFH2h#S9-qaN|LX8`lPPMyESg5%>lXt zp^Db^?q7#jyo;7ubX#%wEhCx1db?qNTBMY6Z1#< z#<5MqY=AdOMkAo~N7?slImA!y=QEpfY6(bOpp*~MJLiO!#v6xqTF9 zzkcg=9XxYPB+Xjng_+{I_>kr|?ZFbwwN{#W_}<~vpi;^7$ZMICMcTAs|n zQ?-Wcq2!q!WyTx4NCuIj15*7kpFpLlJAK_VBj12%0w*UPERr0VXdC=PkpD52A8wle zT;*k#@430VHBAm;BSCAg`MPNo9WNcI+%9(G+GHCucYm_epU9&^vcy z{SvpKKOpJu59=?