From b9e56a36c7565fe3dafab0062638dd51e2aedd1e Mon Sep 17 00:00:00 2001 From: rusefillc Date: Sat, 16 Apr 2022 00:48:01 -0400 Subject: [PATCH] logging of live data structs was: data points #3614 --- .../src/main/java/com/rusefi/core/Sensor.java | 25 +++++++++++++----- java_tools/ConfigDefinition.jar | Bin 5495356 -> 5497186 bytes .../src/main/java/com/rusefi/ReaderState.java | 9 ++++--- .../java/com/rusefi/ldmp/UsagesReader.java | 15 +++++++++++ .../rusefi/output/JavaSensorsConsumer.java | 21 +++++++++++---- .../rusefi/test/JavaSensorsConsumerTest.java | 22 ++++++++------- 6 files changed, 68 insertions(+), 24 deletions(-) diff --git a/java_console/models/src/main/java/com/rusefi/core/Sensor.java b/java_console/models/src/main/java/com/rusefi/core/Sensor.java index 053e084770..1cae7f448e 100644 --- a/java_console/models/src/main/java/com/rusefi/core/Sensor.java +++ b/java_console/models/src/main/java/com/rusefi/core/Sensor.java @@ -24,13 +24,12 @@ public enum Sensor { * Please note that these enum names are used to make 'set_mock_XXX_voltage' commands */ - // RPM, vss - RPMValue(GAUGE_NAME_RPM, SensorCategory.SENSOR_INPUTS, FieldType.UINT16, 4, 1, 0, 8000, "RPM"), - speedToRpmRatio("SpeedToRpm", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 6, 1.0 / PACK_MULT_PERCENT, 0, 5, "RPM/kph"), - vehicleSpeedKph(GAUGE_NAME_VVS, SensorCategory.OPERATIONS, FieldType.UINT8, 10, 1, 0, 150, "kph"), + RPMValue("RPM", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 4, 1.0, 0.0, 8000.0, "RPM"), + rpmAcceleration("dRPM", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 6, 1.0, 0.0, 5.0, "RPM/s"), + speedToRpmRatio("Gearbox Ratio", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 8, 0.01, 0.0, 0.0, "value"), + vehicleSpeedKph("Vehicle Speed", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 10, 1.0, 0.0, 0.0, "kph"), + internalMcuTemperature("CPU Temperature", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 11, 1.0, 0.0, 0.0, "deg C"), - // Temperatures - internalMcuTemperature(GAUGE_NAME_CPU_TEMP, SensorCategory.OPERATIONS, FieldType.INT8, 11, 1, 0, 5, "C"), CLT(GAUGE_NAME_CLT, SensorCategory.SENSOR_INPUTS, FieldType.INT16, 12, 1.0 / PACK_MULT_TEMPERATURE, -40, 150, "deg C"), IAT(GAUGE_NAME_IAT, SensorCategory.SENSOR_INPUTS, FieldType.INT16, 14, 1.0 / PACK_MULT_TEMPERATURE, -40, 150, "deg C"), AuxT1("AuxT1", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 16, 1.0 / PACK_MULT_TEMPERATURE, -40, 150, "deg C"), @@ -158,6 +157,20 @@ public enum Sensor { // Synthetic (console only) channels ETB_CONTROL_QUALITY("ETB metric", SensorCategory.SNIFFING, "", 100), + + cranking("", SensorCategory.SENSOR_INPUTS, FieldType.INT, 780, 1.0, -1.0, -1.0, ""), + running("", SensorCategory.SENSOR_INPUTS, FieldType.INT, 800, 1.0, -1.0, -1.0, ""), + etbFeedForward("", SensorCategory.SENSOR_INPUTS, FieldType.INT, 828, 1.0, -1.0, -1.0, ""), + targetFromTable("", SensorCategory.SENSOR_INPUTS, FieldType.INT, 832, 1.0, -1.0, -1.0, ""), + sparkDwell("ignition dwell duration in ms\nSee also dwellAngle", SensorCategory.SENSOR_INPUTS, FieldType.INT, 836, 1.0, -1.0, -1.0, ""), + dwellAngle("ignition dwell duration as crankshaft angle\nNAN if engine is stopped\nSee also sparkDwell", SensorCategory.SENSOR_INPUTS, FieldType.INT, 840, 1.0, -1.0, -1.0, ""), + + baseDwell("", SensorCategory.SENSOR_INPUTS, FieldType.INT, 972, 1.0, -1.0, -1.0, ""), + dwellVoltageCorrection("", SensorCategory.SENSOR_INPUTS, FieldType.INT, 976, 1.0, -1.0, -1.0, ""), + etb_idlePosition("", SensorCategory.SENSOR_INPUTS, FieldType.INT, 980, 1.0, -1.0, -1.0, ""), + trim("", SensorCategory.SENSOR_INPUTS, FieldType.INT, 984, 1.0, -1.0, -1.0, ""), + luaAdjustment("", SensorCategory.SENSOR_INPUTS, FieldType.INT, 988, 1.0, -1.0, -1.0, ""), + ; private final String name; diff --git a/java_tools/ConfigDefinition.jar b/java_tools/ConfigDefinition.jar index 757e484bc2a52c65decc664a846e14d04315211e..8f754dde900b529b3a562826e17e4c9955109dd3 100644 GIT binary patch delta 101811 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 delta 99541 zcmXWiV{~2J*EaANjdNn#w$sM8+1NHu8~enzZQE>Yt8s%9tI2!6|307gZ(M85G1s>} z#$J0K49-GzH_t+$sK`UZe1U*KfPheK0VSZ&L94WYe)5I#LALNgbrPZe7ixSHfsctL zfPi@CNhOA&1nMDv*H~T_Ihj$|F~8N}i2u6A@rOJK9aaK4T10>cw!B@_Zh1q?zNKcPv}Pr05@y(zx2mPabGN!?Wn;N@FO^Yzpi?XnJM}xjx zf{>2pSwPXhF%rkLeB8&27QatP2X@(|4Qz`rG>Eq16FuIJh-8j!9$_R%gVKs_<9s@_ zchbfwuZ}{xlZ>vCo={n@?=kLJbmts{Ss!jKL^6lcrk=3jjL(W}dn+TJZk8qeQH&Wu zJ#fafKy_oM8x#?}e!?FAqHd?eF?fG}&Rx?Rc$D7dJ+v2VL}R1zHt?lLZ?Nc}q7nZx zknIbl2-90pV-^S-Y}j2FaeZ8c^5KoaeM5`fJ0@NAyhHIpRVq1M*8Of1e0`_Nxy#Ba zN>(x}bJhg+gex|AA~AW=^A5Yd6ufX7pVmhQybiZ0Wqo$2bA=CreAud-ewRnIFM&L`v{ZNoqKgHZ=y4#1#dDm0zrGpF4nQ zK=KP8*_C&B*1kVS#Oj3P)OX671qJ>hz6!}*U$MVsO>!+EkfM|) zgb^GSiQ6{+@!{nvi9$KDx(zMr3780T9+qQ^b?oG8rqozWLzcG99E|*JS~|Gm?8TM* zCt6>DGmM+Hp^vh_+Dp-ngCx$A)hLX-R;D_Oer^flqT;OCQ>V+f#+ySmcmwF@USZR? zyWk>uC_wYspq4JRG*TF8PM5ib9(8YW9@P0zbD_m+*7Ly3xT(KdV`v;+P;@EgH+BBV zZFfOPz*}h6IUT%DyqOW@hO^C}8Q<&dy^Yzk=50K9{$+LeHBm(tMQaZGYBcIq!2HeE z&XPlQHBDyJS8piIRI|wSHy1G6H(XXqkp$&viAyR;s|}l!p@W_%^!K8Ylv3PPK;*rz z$xPT2uB+)LNyGFP4?VCYV*-MQnTMGGI~jpenA!X&m;aod6<5Gu$0RD>S1~Hc+}$q)yjDZdn|C4SU=C<+t|FI z7}(j`ZdlLG!z}gLv2>!NhZosyG(L#BvCpF4dL$b~;i^-otd-YuWnr~xIjSxR5^6_B znl2G%Popzwb1>3`u@M)#o|?I4PNkXCv<89J!A)D6sP4LfC+PuCe`q3A1x<SgS&{pWK7DiQY<)GsI)Q zDcOdgXzo15^%q737TbCZnyF<0{TSI7fI(z;9g_pt{Bn2v6`tpp7>k`tPqcHjrKGWT z8g`oiaWtWA4EjhdYLzzhw2E0l6dysuQ`9fIvbNL3m@k!s#Hhf{_E!D=2&?eFnsj__ zdO{DXv7}Ax1T6<12`Uui?JW4`Hk|IPF4FiL=;w&iY^7vZO#b&b)L*Am?aJVo)z4I9 zF0T}a&j0u)b%WHW-Y*}!xqXo~+`d>;Y7tVLe4wehZP`glC8rty)so$W_`?{!1qMk> zsg%eFiKhEU};gfi(#9<|mv z^cjt3Hyt%+!jD=Sd2Pd$01J;VB1&+I^y~)nrd|za|5=4b(7*@UTL$UDK}-BWSD3NHM}w7IGe4@ z?D)PO=GL^-V#p#-p*Y^+c?3Re0cJ772dnKR1U7n&B1d>#JcB{mpH02~!23Q$IW|=6 zcP!6<6CZFsfwrm`qhLlUKM=*pR}=st8SfFG?Bx1%TU(563;=nM!Oz8-IY9JV98Rn- zz03+n%CySTJjkxp)5Ps`xp(GUIYY&nNHPhwSH!W@e{D-K0H8fV1PK!T0Zk++;oAyf zh4oeu34&_UlUVmsXsUlt`bR1tVyRf68D&gsQvp{>sbA+0iDZZt{#*`P3tGR<^^T$% zmm4o&xHKXf+f}pfnDCP`OAESL1n8)JK-euX-ZSuIabMqh3pMN8+b^i!b8Wfkh}kW) zoe9bWHZ50)MLK*pPcq8KRebFg3Zw(&&2iHFO%AkNm_4&e3M5~UyK`%n?JG{ppy`!9 zHwP}%ovw<*{{DlRfc?w9l7o9d1F%e`u4wuDzI#nWU4tKx!H{1nx5%}mm0{bN`E!s< zeOjZ5>LPN4LW}N;NBMebrHWhnq}w0TNS*D1h+O(1Qw57X*6(!j6Dm-y6lXGeg<7Lx z44UZf&%ON76_py?>N$nS>E}QVd|_X{ZUt@-En6(1QC}e|Q9}~0DiQS_Fdu&FU?OIP@RDV-X=ZJhmrpB{W!sCGR3a_m zs2i5k;8kvG;8w&}v{s@fSuwDCID7{hGU1#eN_xSYdP-p+NJFnllZ3y#-%EyXy$5?f=sknzKhpNl%pJ^cj$>=JFDA~vA- zDf1i?Pih1klWr&%uZc!;@V9_bB=@?<<-Cqx9V!lFj-gfSz!Z7($sJTupfZq6GjGGh zHG>btZrFu)->WXdc)lnnGYX|&^CN`xl(uVCg@bGW=T_69|2JGht9(dZ{Fv+d-?fMN zI2k5L{0x(p(^*I`_48=SIY&D%7BzP0!Mme#P(yo?1xawog$bqrIp9KU-kJ%2PB%wb zIDbSRJ=hMK*}8rKU|Lb|b;Dgd^87Ja2$KvE=wSi@5r;vyzu(%r5l_2m0fs&63D$^Hiw~U9D3fg9jyQD*mJ*Zis4(JbR@kULy zJ_UT9*B%muvDw*3ntfCVMefM(Wqkf&qrHCkfp(@qwPeB!>W9S1SxcbI%l1>I`1ZbQ z%fovt%gyT`P=GzPEyq{DY2?6fy}oUyyBSWKz*GGjb8;plC&UA2Is&ehx!0x3{$^yO zw}CDpmfOIbY~A2VedJ$ZJc3D*W1to;(_cuoWLK8D{PN37AtlNER4`ZPwO%c?Nk!0U zD@R68xay6qY(83K0>R&8>&7Uy;lUeGcC|*Yx3wjZm~Jwc?F-u38VyY9lFA4nXPl@J zVVwNBn}U+BD^V5jSpp>}$r*m_a7{kj%+a(b^*4PDhbkD|qV3!x7EkTx6(1{~mr#i~ zQ;kC~vX@Jyc-Yb)4xV?d0j|%X06fmF=m4ODh>X3H-EGP+8K*&R#;3%mm}@d0icY?( zpwD!z^}&#O4YpPkG10A-I-b2|YDeM}@ZfSKuRI5mh6)BIY@fZ8{z&%_)4__k@Z&D1 zStyW57wI3k^Mwr)*BJ%3o7vrV9)%p9xIV5s8`^hKBkQXrjXSC`dP5z25iGN=heEjukPQB^vt-N8FJN`Cs-m;U@x-%{5l!qA_fF4AgFnkC!`xd~Olk_ID% z`dP1Q&ewDthBENpcnF{J)EB+-#E2-nV(;x8YWqj9gPp%9Ayqo$?OxG`F97KbCi;)? zpx>5~<3iu;IPv?7$po^Lg(w%1aylQGb%>j~>E{NJLYw+5>oy9ISa5B$)e{iuFeLQU z(>+ZO-tcX#ro7j<{`#NSwa#1*KSl5x`Y9Qf1dmp>3~cX#&X1F{#Ge)pF$ z*;#}9<(l?&+BK`B4=7^(m&!{&<2sG(B<-GKa>Ugl^a-!IN38DPh0tGEnk6~nAO*UZ z0WGP@;l~#Ic(5sC)F|X_p-x2MH3YUrv}G$_VItbxxLgcD3O1X7K9kfu=pY@M3kNuY zi6xIV*Z$Wxpl+WZq##5apG7lIml?UhBxJQnukkIKUdBolds&^krl6x4zs1m<;V%xQ zg5S}-z+Y6SJfet8LohjkY-qVW>|YD|%)MSZNq{<61^sDWb|Jl&x@!Hp@y>#BlDp*h z0>M)TmojTxxBB54!8VPTvJz|Gnl9k4zsYZq3@mP4CofjdQ|eqzd0Pe--+H81{lb=T ziD(?FnB2OKHJgB`7qX;X2DKc@x&si?wcHG(v`$eBkMj{jTxHW}De!r%7nQwY%Pl(` zP8kV>9fkO5E5E)FFn=Dy>*>OD=R!^|sr^X($|_$FZc)x3om!+#xI9liH(vu>`sy{m z?oL`$7+#TpI>)c4o+hRZDF5++@S83Z`3xvF0n0yfZ{-V}8D4wJss~bgt&+N;|Jova zfZREV-;n)!>U2*d)jW^mi{wEfe7CF0(EpBokM=6c!Pb@bA^SOa=OB|UF11G&%X_-} z>=r_Uf1lUnUV)`dPh8^D2_^DQREb>J$|uR#*ohl}!7Z-OytXXx$6q+q8ro3d#4ZPJ&WYpEOTrF_5bf@a2Zae* z=vs^T(;cydaf{FOjH-y!EavhnrZ39yk>y1b;kMvteeYYPU9ErwV+N|Ku)2Ip)B0Ow z&NL4K8QT21no&yOsJJ^Sp#RiG;3__Gv8i7*44F^c?#spv@4l*5ygKyXB?7ggP@b~# zk`+b*X3ohUQ_CI9b~re|4QA?4dV#t;p_b6U!K+Vbj#8IvV-?u)#%0!`o`JM~`tnvx zn+hlNyea2t$c~_%A3~cmS)eGy-2o1g%F$Qh(xM6`F{hOwyQZkW7v+T;5s+5WPgbVUCGi-v3F}hhWFo z9u)jLsE6hWtvBd0eHqGdeJZfVAJP8r0Qh_)R0UL|alOMD>F^KAA7S z$3n`F9nI#fM>1z)MX$LQceKlraP*ZtIC>FfUb2uK1iqbN&NChnlsSIf>$_8>-guG1 zZ(V6pHwKwAK*0ReaJis2rZS{Id+LDGViPsV0uep~GhDzm*s zxrNFNOC)4`XH{PPO<2p}Aub-W|>Q`gck zj|O~#WIB|^Yn!^+CuGnGo+#;H+@9OI`GagFS|@r~*%txGo8YCcxkY72lX_&W_q6^&&DIoH6zbf` zJ@ZTU@~!4ea%Zb+@s_J6JV?bEaWZ`<0mNW~Lhmlu(=(PeOVWjbE*pvfD8U|h#PJ?H zuuTl4JrF}J?PtiwDJR}vpO_D*hlSvc1>Eny@qY)k?Dn^&%}dnotA7XixC`V})+|dE z<*XQ$X`Y@PBMWa=J4|$5)d^%P6tT??A*8jgBDp&kfjEhN!3VTEOF%F zehzz@@fHFt|92M>>6-Ko}2PYr?4p?VKHtvRsk`9I}FP# zInXqR-Vy15#rmtLKhub0sQ{< zUj$=!m}7;9FYZPHR511L@79~L4idyfq1sv~%O}s|uR;>q9L+DCcKH5hm92WiKSZxQ z8rmmGHqB~xq+$OC_c6P@)ydAcypA?IG`0A_-^xj z;Xgx3(S&w4``nXO)i1T1mdiLS{TQ%QZTTPz=&vQn&w7LRQ}u|h&CG{J>b0N0ImQa8 z2ReJe1z~sW_%QBq>yCeji#=Xd=bdAZ`?o!y#WgG^ChaF%aAeEdA%*Na;ZAqMg#dRF zMmA8{1o!cHG2lBg>WA!$p~?=*n;@i{NBDe~$(!u^6YNmp4D?-=qV~!?sN-~a4JmkTA6d zasd|7VrAWw!l;}X? zqNSzuWWkXD`S*{01I}%CriIzT-J=XMW6om4py;MCP$^mR^FGtCw5?2EWIPy0i5$3^ z#n=MRPe?!5It&TBz{pYPXRgP;%A_sH;DfCy+_p|oQZ-v#C59gluR<=vtF{_s1|%ya&c{Sl!M@>X)KEe6g8XGI8} z2ca>@V!Iiy!cI7G1&8g~6ZmL(AkCg~YJELWKCjfAcSN)p@|PlGNOyPwP36G%y9Rl% z?o~{B^r;z02e~EEMhF$qc}zs@_4?cblZ?>AT@0GC<-uZMYHr3faW{5bZi*O(Kf4Ox zk|eeId-UxQxW)gAft{*CVH)?0<{wfQLn z3}&L?K~tWEqdi95Y=?n&pplaXAKcWlSW9sR+SLPDhkv^i@YjUyzI50i zCC>F?sQ3^xM}wF_HO@2RRKaacHpzY69&P=^`1Ge+G%lQ z7O|-4YzIF>C?sj1)@?Lv%L^%f{$JDia8ms9sr;|dR9eV;76BdZ<*c~k{_?NR5?%FF zH$}<++EbQlJ~O^>zd| zGXIN>dR>cQIh`L~%T}y%H)uj@5sQgm(8R}b(A7$8%<-EMvQApTXT?UdMCb=?bU{LX7N< zc?D1lo^a%35V#9MRm2eoKKb3Ow5v>Sg?E$QZ;Re$e)(7(|H|OBih4h7^V))jxQlTh z0spmkj%+bqP_K?4il&r&Hy-`l&o zQI^n7e4pL2rK$WOOx@zvDB_+5@m!#AKl>R!q_a=4X(N-|hUpJ9yk16=G$p-W(3F+h z=B_Zxe1^|RT*7cmBS__3XbwTocV?^#I93*iDF^nJxrf-I7$?3XJ_r6E?@JJCZL^et zK$?-+jDVlGawED%E(ProqPTY_xbGbjQSvIYg+jf{6ope}zBYjIk&^R1EUE^0?NR>HQu z*e6h9p}8vix1HY?&9yBvKVJl2oDs~ zQeUMW(0loqR6g6V1WFx{(B~fgcEfZ^I`Hv&sSa!jWCeTD8}0p$#=MR{pnhsxeH~$y z?^cfzb-u-p^pXWj=O&7FOo`K$0r~6Xy7i+(-EO%fpJc$DSWeDYijhxpU>w@r)OPKt zzINiOMw|S;q&~U#8mw#QTf<26!ly02ySI^R`S%H zAe?yi#Jdj6yp*sJha;CAS}?!OGk*pv*vBU3;J0;TU)m_1Qe4V&5Z4zzex-xx1-#h_ zL`>tvQ3)jyGO&dW(f9=L$FQi(A(@g=;&T)i>alsju&A6F2W^?mdlFZvYop9T)k6B{ zglQx&b<|yHCjL2-%hJ^~b$GQz^rX6v~F_ z_ZCH@ll&pNQmX8GG#6^hsOb!I!n3vw)6s8^$ZMIR>?CZ=-IP(FtCE(SzcPVlc6I7= zFPH7slw)5AkmaZm8&foXR8DC{?mdeO_3-yTrf9MhG3^EQhamwwIK=o8;d zK%}vZS&g5QEjs~l%-KceAZN5fR~pr;?@&%c;-fc(!2)L7!zdt}!n}=3Q(HR) z6L-Mc!KT2s1!bUR;QW<_p}ZPtp{+Hjw>GMGdVrrmzJd$5CShJA8*ssByOeg`ej&Df zAs{AUZ)k*39K{coX{N`xy1bN+XQ1SDRNxu$qnwZtYV}uQ7IQqBj5@|%wqvx-T3yku zhqCmez}iHQ^jN+REkf8Kn+pDKB~!M;qhP0AJvZqzdSrnKST4Md8?_SZo7B=^Hgvfq zB4#8}atMs9?ERfO$$Y80(BH&fJ$)dnRf|U5NykkwQibHP{NyTY+wEDitr zPM~73R7TozeO$4?Iyt4{H12665usP(8x5l<(M8nopa)n*TGG#tPY*keWgLfPqqGFV9J+REu_zL>oWHA zvYmcamcA_^;W+9*YKufoh2gw0kJKun1A?|%Pne2VJIB0;6=a7AM=r8taHNd3HeZ2n zojFiGR5lXhcZ;lH@#{H4-Ni*^#lfLal`K20}L}^ zJQwy_uJULD!#^EH1Sk!uCv}6UO2bBZ7YQQW!|lunDSHw;=A9*(q%I<)C8u#$MgWG? zV++1YA=cj11%W2A;>KJAgch@4>imc0Z%P#vQjSaK!?NQR$Ibq3w zTDe^h7(29ji3N`+4+SJ8#D-uYsUfz*_Ol=w4y&i*{1!@SJt)AF1-h1 zJnXj3mrpZL>X__>#(~?hA0<=eacQqmI5Zv+nP#b>#+uWY-Vz%bK$? zN-Q)&H4Rl`4ov2X;+lSbUl*#2<*q#7nC!i4`}s+0NRkABFx&ZD_4zob1DOZ-18Q|a zTo~>$RrAwsy0?gWL(C5o?70!YSk_lvSZUJ?@)oOr^5P=dom=Jf2ff+73J$V_`DmXx zRixhk`69`PX&A8WK3=}FMRGL{H+}Wx!J`5|a=AjhKciyIRl&mx;)~_Fj2Q-6S4nX+ z*%dV%y;u`q|D<&hzSQ(TCaQXflRTiFYNHyOdJ_;FDyE24tJarx6Rl2H_!`R}aDuBy z=r}Y(F4kA2z_78K&*|wPtEt6L$h%sre7!A&aZxn6K)wKcUPO3L)j+Y&U{V|a=TlB>u5n79zHs7dKzjHXc8Q4hO`-Pon zj4O_l4l9Nv?K&Ql0U;568SwI+F`h=AfC;d&Iq*9lns@-m?HIJpTj3KT^5~kj*x2*5 zddD0p9>N^LSC4! z2pMtX zV4W|$o1)My*)mT6qVZGgPT?F4D~*rT2lAhJrWQwT60O{-ByPD2TKyW8;hF;m4{_6M z7+l#oprpdCgqjjUxj`l9B(j_k@eUf&Tz&5dzw+EJFhX56q`uTIq`CTiknldEiX$UD zo<3T4qaQW7UA)ASsvjp*;b;T-AZ8XK0HC?j;&Cm0HwWyEDsC11xxl(OAp|%brlBWc zq5=C8N_MQFhyx~=e|iQ^uz^u&WWwk491e2uZCf;8?~y<@@0ll`EEZAUY9z&rhqmzr zmb74?FY%RmSdP+Zc9I4vs;7RZd)KK2JB|G;-CzLx_qv+hzvWaRD<%n5cxOhEvOwU_ z?@*>EjSUxoI=>}QsS~65U@=n}C{6t;=pdHEMc17-h4ePX>D2x6#_|gbBo3T+FNq3g zqOZc2xmY#)&u>TJ#94!?xhH%+%3Y0kfb#Hg9U%erY@7G+W%m`&__VzwOlGLJ@ieq# zOhTYynkpdAH9OeAPdy?{{BhK|Fik*b)8=5&w&Pc!16{s6|1h!j0jJ!akZHn6+pO+) z0&O>^*~*H=S#8J%9qc(Y9U74`g>T#S%4x9A{8PgxnxE&ebaVV;!@E`db1!PQ1K;`P z9S)EtO*_3Eb@OR4c62V&_awRR^teE_T%kZr^2%E^%a`}Yui-2}{-$tPjjQ{ca0N-6 z%x5{NhjF5FRqanROMd#(Zi4jZvY6L|4w~M~j6AD@JkGm2MSsN#)r9>xi=W(Baa!rm zuWW@pfL)b>jNRVmX|N)88fJkaJRwuO;qB}ISz>C`|>Bt9ooT|*d}4@sb8 zeWtayTfTrSBMk|P%HH3qD7q^3YxBQKCtHXL{?a}9Udsv<7CS}3_W5)KyIj-5 zPZ}-XC<4_f*WculqGSpsCbDw8Z+~(;_Ah*`hy<$Vn8W?KIesV*@hnG!AGuW{o>F{& z%a<$pn3%M&ru$^Frer!@ZW=6(Z5s!?UpbXV1fzxHed)AHQ1!pO<`E{l5K#6awCLLCe2k-vb88E@lYK zt@2prMr{;<*W%@s4+VB+PThq>?{LaL@VI`J_-^Fi@$CAA`yr>VoO9Q**Gi_VaW&VO zbe@RH8A>yR`T7>>XJ;vYrVG58+U8Mufl6wBzhvMZT#-bH$@b=3wN=G%*xG)5voYJt z5m<)dHdNv24!I`0x^W38um-a3`iJ4KCiq94kLcIqVY;&F8j=Vaq=V`^DPGp zNwbM(!%R_m#=c_&K2jCKPT7u;Yoa^$4pwQ(($qz9NoPSxgO5YnfFLXhq-5HjAS^Wy zY%H!%U~6Ymt{xOeiwQn9=?-MWX&1WwECnuk2G zo7@`&Ue;R`E@`9N1W(r8iiej3*K^)wqg`A(HDHq1C)=$ma2vt(;&R^^>i6C#`xp~xzOQZ_SA3JOJ-ZP5J)msjxj%Brb4+f5EbA6~D z=5h5_f@cYg7oR&vdAWKkz|65ucJI-neYXD6hg}4_i_g8IXj~tPhv5XDwP4CvQoDDF z!!iQV#pjMup!K`hVH!c-!ZSDJ^K*mDe&3CL=v%gsD1aV|03`vI&fvXI7Gb;c7iICF z{jtvBb4%1MZ2a`B=rDn72T=CM4Dhh&+aEYHR&$3Uq9}th>eo1$Ug}#eAPIuz`9nvP z6ZDgjGrO_*Z78U>bZFrfDR8uqwdDtAKZIjNq4#Tu@E(2c3%Yl-S8z9Kqvci5p982> z76!bdo&WAI&4j!9nOMd*U@4=Jr2YgYjF>ffeRBk_WgC8XD3d~7b^)?`pZOutJ2O^v zVbk>U5UhF9K@nOGpsM-OCJ(UCg>TDs6p?3PqZcJ7(3dQ6X+)vqloZ>mrO7prZ!?UP z-j`!3|5*H@{4K6>Dv47pru6;``ddFdKMDINxQXOt%zN40Jw~s%Z{Cowvxilf##6`9WqPq6RnJsGav)y~-=(63B9fBP^QEH(OS=+O6*=Pa6g_1I_OaEvrE&k8>z}H@+?|BC zdn6_ELTS#Km=r=QJ@8U!SFeGMThRE1C#798ie5QcR|49KAHfN;4XkvCXG$jV8yqR^cCx^$r@$*=OuzkVrJ ziSpKbY&E~SEuPP6a-J^j{ge@o7t5TQFpVM^AJWL<=k^**Zx#H`)bF5D4?nuR4R?59 zwbitw6VJ_Hcc97UF%t)D83N47PT29|E#Ud3NyPu}3Ip2q>0H zu*tW4j`V#%o(|VEher|C=F} zd#SzR7zXW+o&=13e^VZK<>fr25TK@`N|BpHh2y<}tr~wtR2aNES9Kri7RusNN&ZpDJXqyMA)qlKy}$Pb^n}$KtiFDN_#LK0`WBfT@kH*0&WUSGCM`c_4WkS#(ex zXXI5-wL=*pR{-laV$$YS2)%>f_sTkJUIogR=53X3_|o01)>O`XP(K>!ko$88#icY? zyz=r7sYSMTHX|ajsK%cJlK5!i6+#4!y`lEp#=HIBiXT_WtXE_%#YaqQ-YT z9)#U^e`R`59=(We7G~1_m;l}j<^-P1IpP1k{Ty>l?wKbQX@(>teOTmH;)q6*Nqr-XeJ+=CuEoF4Mwmp$9uVD$oemAF3)Vje(;3V-fNQ{XJpMke2+DmOHr>pwZbkUnlBJkY1##` z9tyvOpQYK@+$0L5rUBv3;`Ioy@#W3Jj4<6ESXomh7NcjjQIJ}dSp|T+Ok1_C(L{Xa ze#e+}ht&B5B#kgjJfS6QgeOB#1`tRt7)%4=-|1Px7!1UwOz?@~j#R>@77KE?6hS9C z|NV86oH|ySz|Z~*x^~_16+>Dj4Ad}vzey3aVU2qV$$ES?*#mr5OCQ=0Mi{||YmfX5 zXohT`>aI9h2r?D`^YFQEE^U4XxBgT`(*6)g21FDiEU?}J#SUvVNyNwKt_zw||`qOBll@7TjC!zgQn=cu8 zCBk;<>guJ=JV6>7JNFuiB%cxnrdAwl0V4cwaVL@cqam7I97%p7Ri%1`UBpZddeXpn zG}_~#iC%T=BQ8n)ZGwG4arM)$7*pY-$3q}@X)F54^%a?2e!XRia~YdkfFz$b#!QoI zz=@rhiwN*t10%2&0hewtH1()UMsd^CE{roZIv|a1uq4VkBju!PE6kX~L`&p73PJn1 zRxP9od!ILT)+^T5q=Z|)!iPC_)vKp)E1!;6FK}0}Gj`#p!&Wsyo6bwGKDSA(*=q*-^k(2D_CBgz%(aptpE=n+i)8yI!9|xe z##IXr<7x*5>7y-eud-^O754MhsveU^vrNUy4+L{_@N=oQG`GF;@^Jy>Y2of zAB9~$(il4}G%q`gy%o4`wEE-OS9neX#-p4+e4rM&RzSpa`XxR!OIGHpg}yQXf_V3`*3tMhbT!R zrf4os8vlWKjriYoorfL{v|Od=G`@q96;n|b`N%xQ=qX~C(3WA)R8D#>{OsN2uw2we zV6_&B>fxN0j{M(t4oN=~gqoECVoT<`!+rXvXQpl49Ln0Z$-isywnySU>o33t)t33+ z@p1JG?`zo<0bCJF2k}8GuA;SS#jQf_cC?O~$;+q~v6^RNtym+RWHN^ds3&w)lb~0s zgz)1ZEfKqJe7kLxf7^LR@cHB2VulcPxdRPOBw~erX=k~A_J&@fRt@Rxk2yzi3y=!J z*RKdxN3<+}#!7V#;Vyr+510TYYxG1t%XEGYRHqL`>4(2G(3ZRvL+bO8oH%3R;J5LP z&=ZZz3S^5^&438iv+1GvvxsIat9C&8YL6^a(_@EsVE9b8!Xf?%+nd7)`k4Y~{xZI7 z^%^PB+|&aml5zg+{cIEN7jQWJOybXMPU0C*HRb#BVe*VT_ZY~EegU|SdPY>W4ic43 zI7R_qxDjvoXhoCGD$nE45jcqkx_5T>7Z_T@{`FRkYPCkVG!1`5vP&Ulb(t~s5knSO z*e^l7;HX*#rENaTf4O=WitO9?+1IMIt0*=UcAmPiOLMdC4E=LAEDQ10VNL04bO7yuHK8Ldp4pHgjG03_D8D}p9$|F-24TRPkc2k< z`;Z$9z`^_H9t5EgIp18EHX;;Hx2$tK$~C$|<9p*h`ge zJ0yx2W&fP|JyY?ifhQWOBm8@3tWgj?PaIYL%_U{J#i4Z&CLt06owYJqy4m4Rm=Yc( zihLE}jPJRzk}!7;*-Bp_eQ^fF2v5+N8eK>rLytmXEO=5eh-?orp}veB!N}WJlk3=; zF++y#2?V(kW+4C>?Cr^Q91m@S&Z^5x;=v*7#0^gEituW`50(rhQ#R|1C^W1L1IdrFgPl**8 zsp0wPw1AJe%>S$my7(U3S*=tIl;4Bk`+^$8%!bGk9J~*7qzhU7&Ox9O63T{Bbr!XO z$O#@(3E~|h@{g*mA{{VDfJc&`XToBxm$45KA0APmIjv+gDvds0tsllin~Eu^-_k)! z8J$qEFhE=${ae4_O=#OhwPc|f{#p%ZJsvfLp(`4ETunTe_#o758Gu@4SY#4wN8a4A z(*I-_fbI%3M7}WS%HMvVaBmk0Q)+{~*rrBz;r+U_jk0~^Mt0nbcyJ|MF!q;)=p-Tj zMj_Nl8HGyNvWz&dnys0tx~>_)EFT7RK^zI~(}@ry*A8#}Hnn?&9k z9nW9UHli}j8)E4Hrc&F`MldnI{7><2um^bm6XGf69Nho3b%jX;^FO`aVx~aYk*>fl z{i}%L0u26>GB2R#pU?yVGyk+F1kn9gA@mhM@K3tp0Q-L$mjV?0lf4{Z_@DA_VSWCo zP8GoVPx~5xg#Xh!EaU&wf(8fk?@*P-fUp!g?aRJcl6jQ>9_Z12~S zfdmTy0YHR+ph}zV0Fb54Gy&j&0h;<=08Olq(vECd0ayZS@*i{viDH=vL7Hl{ibybG z9as#wElNp?p5HkD9Dsc9Z;(!+1KO*u;C$Be#)#^p+jY|ZV7nJ+f3RepKYAZ$K?(EE zloYqeb*sFdzP~v=v+s|)vwaY2p{$AC7$crUBkVsD;|}GBWGR9G0!o#@m*jpM;vzYr zq+#8dGjH`h1I#HEEWW(qFIdaY?e|0 zbhVim8@A}(xXL%LmcFVlBG`{Htp~E@|2RuK`jvjfB}S*5LzbLrvC3WDy=KcfI7DEo zopr)pT7&H~+)`<9zL21K1}D*LYGZ!IFfC(^mv>J@)9+umKHzQwj5zCHFusHWR4!X6 zc4A9`p&9cZGDDfT)JZi3@7KQ-_`kGkBH19b7Ew9tl9iG3`}Z)}{k-hx{W0`VzFMAk zM6M6s?uZ}H78|W1@SKV};haC@NPlF2(u8Iaf+lQ;G(uT&4y|A=k%UHG+9yPq`;O^{ zVlcvua)Hy&;(b*N6vn2pWt53osd6P{1!-rl6Sl|U|0IOl8G19X^2!arS~;`R>A{-# zKBU!6@C-rvWsB^3z*(5>hMfS;aliGa;F`l8V2kGSP(2Y=+9_qL`KNNq)pr&v zhOt8njuZZc>c)8D-TMoRCfjw#b{m#{4OBPI6X6Uv5p@$0;1~@GVXpB&^r;ZLi)<=1 zitwy3AoUGns)o-5mf46!-@udUP{qX05|c(fZbLLxSe)4RjW1c&E>e9iM_fxxktZzXiG_F7WdoIjoN?Wht^(#obb(YXYpp* zKoTllXN%Navr}X^msd#L(DVCUd^1BzlAGcDh~&PEw~6=yn*FM+kwesL(S557ewDX$ z4`O!|%Dcvm;gMHSEbx(An^m2IzX^n~>4~=Cwf|@dj03B5go-X77C;((3*)T9+O!@S zawvN-WG{cCCF}sT^1Mfl%kT)$9v3Bi=rCl0#$F}U#&@I@hP3%IE-~+LeD(4qg{UnH zP5@^T#jJS>w1ojLkM0~P*^+N*r!sAyFh!!CxH(H6Ap!}Gvt!o?msdqjB;VIx{B&}0 zZNLyfMmo>Zq9&ODPzq7oU7p^E365dYsZw<98b~Jx=j@qjMd|xX50TrNVo|FQSx|4{zl|9CF@K6b`1cG;;&b`{y@8nTtOJt5JanzTt&+MKj&)rLx;5bZnK zpQVuYjdqpzo@*{mGYhWh$?<4=N9Ta;;rA>~_e+F7zA*$&HW%Qy*V>$1|C zOAmT>uH3vjVr8(oyo|h*n$309WcO%>O|S#<-(ET?Th@mK=+=8 zd&7Fi_D{=9$HYe1TRfR_ znw&B<@NxOfU^%CHuiG}|GxyDG85{7%w|DV(t2b4~(FNl+C|^_F^5f%zA3NrBRQ<4- z|9SZ+ed#pWo{0&@mxeSKwe4CnRHv9%zkQZW+fA3JMjyt$>vXD)z3i$`t=2JUVD;GZ z3lwgs?D@gmoa^c{cjt;9(<-mm5qUa8__1tOihs>u}twu`extg{&t#SYE;kx5gP1f9s zof$P*%g$|6)UoS$yyNWo5G|HoOK9<&>T`_jg}lpOG?BMhqzH>9h-oL#x&PPq2ljP%FvYs-yqO;|sBe)jeZA6vy0f4o88 z?w#MH70;@MKYcT&{mos{sn&hEvh&ZQ-Ucy4-6ovbac=j+l0rkt!;h-Oo>_06xaDi! z!x3+8rapSZJDxouSjF^4P^y9LpSe#@{BZFu&1Og2PW*jJLS>gm=1{$k@)O${r4Bex z_c(g}RfL&e%)rq>gVrS3`W_F``Ic=)B}NkK0ZDTyXJEs+ey6o zF3~L$4>@kz74!9s`O5B94=rZY(Sbo z%imST4T|*}c7IiJdfBWrpNos*4U(SP?QPBr+WdO>ffXH_=c=}ZS7zqEisD7PUOsJn ztYGlAiBGqU-fC((ZQ?JRPxb4cq+DH85o0&D^XQ`EN81*d)!K=55AZZOZxTr%gn+vr?;J7*cL4} zR_#)8;^_9F;mq(i5UF(J`^4srrWM{NkLSd<4`nWz_H0g<`<&f5o~>)mdX`O|JFX#J zYIE0#pqs8IuLQeU4U71C{L=BDZpj9}jSUvtxC^^CcUkpZdg$sj`$uR+q*Huu{eqIz zEj+xnIJA6Ksl#z*;I-{jH2fO3#I+sj+bp_owgVk7>&jmIpn``BAlFyKW8)9hJ#EAN*o$G=m35-PxlrE}1HI zO7Z2O-!GDfe&V>5rnLpuSxG*yiR_bm+kIeW`E zE5Fz?cC9)kC+(enJH|(=8qaIdF?tnZ8(AADv&d$X>6|t08;he(jN4q;uxjJWw~3P< znku(NEl4}IZ}9AZw&p0EqhAM1-8N4vZK7t*xu3@hGfo^D^*;IjCz-QJr&>e4yp#)U zlWeehIy3O~8{X8JvpmCC&w|yq9*nAn!h5MR7WQoPt@FrM4WAsfYtNY%d#w+J?hJ_d z#NF7DzT!{a<##U@GGy*41%2^)R5D|3Z}uR`=*8nYRo$0wjxKg{jIwFpv_tjP&Eanj za#a1(QqtHbg7*)ecPiuk=tF1nZ@y&JZY$h!!g9v7v1|4_XY@IR!;9d+@!Sp z0ryb7V|RO!5m+x!Yp(K@;QZh+*4!vnYRRL}mA zXnS$hdp$Y$QbDTanPKzqbBEk*b-wj6X+Gn$y<1kK59E!1b7+RO?&Z(L7kivT zeJNL*ald_j#00I!M{m5G{c;BTg!855C)b;U2c>ZAV>$H~GafGO9aoxEmp?{{6T3Js z$vc78yp#I1kCrV-y6kZ;>rayOihHSf5-0B|FRkP-4(et4mz|YfP^4C& zJax@Il^XF8?{&VmO`Ursz|rzd`JBDxn+`15F*;5$=%n7zLAx2JtkmXpNlb*YH@8MGnS|GdR5Bva!y9~BGx(ajUDIQvsj0mC#D)c8u%&I^qS4cs!j7; zyskf<>gt;-Uaoz9Po;6OMD8i66Y~ep`pMhVYjD(r5#@JxNg~# z{nKAgHs+Z-D4)EO5%$IRwTas0rvua0A83AaFnH#Y8AN`)tA_-P#+A0H%&U3CN*F{z2blYR!|=7=ZERF$!}|Rrbo@3r5B5%rPiy(HP-})( z`CjW)ujc+*db#%^uP!5|_P1H^o%J%F)iCtOlRr;8YP&x*yg4zTf?)^O~75ypvb%8s#o{KH))H#)OQC*O#Xa_;Kx` zcblilf#1U`*~(YG?@CtA*_XX^?nn=P#b?J1^r5|tv7>H7`p?k}j{FOqpK~KZ8m@k? zo|0*}Qfuj4i&3ZKKa`X6EsZMIf`}JU} ztz!7CvK73SJqvThb8d|`a(|>VC&kMB(S{SD&y7ZW8)KDH^@OSEYdLl5c4G|=UKVuY@KR8 z-nFK%e1mRS++BOs$4?S+%Iu7!W({_KwlMpblG)88)7Fi>yp{Jgak`QF`a!>M8|RtA zOvjm#Gi&n1%THfsejAx_N-OrLyUm_$7BNXt^Tn7$?s5lJ@x~jCU3s=G?s0ms?5w2| z_xo;MrJ+(PHS9satnXvjJf0O2e0tooRg-3193l}rIbim!WNw7bv^zyh*Y{-HwI5${ z!lFHD{UFQT=CjY;e8?==$dmQe$XNzCmpEnhH9a_{<8gXAoaMO052FPXIA&a!B2tBDgU4%}S& zez@nf^u@cX&0(GGmP2z78mGKC6#k)D?YdLa>AUZ@OikL#wz$q(H939u?XUT~rqNPC zhkdTpG4p@!mMa^YHmtWQr>)qC1w#XH&->an#~wnZq~H)bm`HFqAEc;Rlg zi^rf&2M>o%3y;B_!)9wgw0NwNS=3&fW%uHvRc1(A%jnc9!y4gOwq?^A77SL@57hjsgpj(w(gRO-^FoHc4v zpEolk%@4MwiyufEQ+rFhD>~%t%I~ge=5~)OT`Gsi0Mps3pdh|+vk~LKmtoG;4I7(I z9KSvHii7Kgmhw(F)8vUR!!egX{l%d zTf#ah81r)NRGaKyf!CS> zpQc&5~U$hk2pmk?b~AS zyq~V{{0;X6kEN(*^Lg;7Q&sbpZT&Ov#@4#-)L}#Pm8Oj9{e!1V#y!3&&uTaR9`x%B zEBDwEjkv34WNKo)vv+@;p_7_u=V$$7=H4|`HH8}&SB}oJG+VoTmF0@Zjimw1^S+;d z7XR^8NXT~@su5<}UGb$nj>kRJ`QtB9b$_3gzR6stPEq{A3MB&7QOcVKs8#Kc|jPaW7d~NZBgCq1mT%P3p?v&~j$9CKK28=VhBP5qc z4ou5ff#JncR>z3X@5=E>sbW@Kt~)&XDtAdcRqrp*UiHow{*^2d4Q zGvC(BIoZxr9>_Gm3ESywwr9MdM8VQ!%Vno21hpJUz47K&W9jMrEs?V{hb>}fyc)kE zM?ydE3vX8O)H{B!^p$u{H-i!ux*6`-5^nTT{$`}6V&T#PqF6$Iw(8Dd`X7cJTRN)b z_oBr?&A|!#G)6A`W?la~Ec<}kSA!huUpLw+zP#3}Aln=@6LnJ6(hV>t`hZ|bLX6E)W!d{ zC|z0^c3|g(IWBUg^-hMo*pmUZPc40JwCYBAd#<##oPXjddsg1k@3{~gtFm+0-IHgu z43DzP&zyAkY37bxbn05!(M-;n*ob90CD*?9*0<=kb;M=0k2dHY`G7a^=`r2&9cx=p zJUVgEyDKNludQPGvW8=aH*{t0Vl4cA<%;v5q5F%2Lnjz#oA`7o%$6$~yUe|-``60u zt!}&b=8f)n{XB0>a`BWyYQ@r{rk~8IJJfBf_}nsXRb%I@^!WkCNs~i}_^Wre{Cc90 zxNTUC#gWDX3W^FoE9+vb+yeJR@_e^MtsT!yoX`}+-r{Lu2H(GZaycHBbf+L)d54$E z*(u#arI%edEwSp_|12bJXG^8T=fJm%*bkQ9t&}j0$&DV+oOPyBt!u!BjH#a+wBho? z6GI-%7q4m$yuz-{`Z@lEs^+6>lX~V1WW74|^+8$G>671>%iMmF2|FSUCy>^H%)-f|gqe8w(m*DXk43f24iT`U?94pg``n4fn zUIVT#)K`Z5WKsec`7CJ&S;dm$OO0K{dZtVL0#t57NytLVewqpEjur zq|b*?p9y$PClxDVnphTYd<-*U0=qIusfy!@dQ0v27-k7EQctF0g1es4Yynnr^n_lN zDxXBdpsJ;$LWT1sy?qIMjGr?PbA8zgMRWaHerA9&8=%>gq1jDers9{Qe$^;Sm@-xc z8Y^2l^Z+BhC8BZ2m9ZZv6mB{;w%wY)3k- zUCL}zK6FKyoo`M3!dNt6svlbiR=Kh1f&e$RK0)!I(t|yMFW%$9zAC~0b!`OOmH!J6 z8wQLLQo6#=k9|;z9{|mwQ6bA=8#8E9nXL&v@oaug0mDspx?o$vmZ_K@&z|vwukNFp z!PG*&?9tB##?X3|lmuq0jZ#JaeFG+oFM^EnEBs#*&KSz_(*xc``IcJpjmiomvYXy1K_+lePZs5vmR@g2w89Rv2#A4Qf#ui&yD7$2$R#8)CvYlT+ zsj8;|D^*NXpiGA=Q<2+jGLN6U3hCLVp@;ZkF&p~87-=S1!80(+7)oK;-y+TMF~?^h zJ{IsT(vmJ0OpiY7T4X5$m}jMI&nU|Z&nT<^mhd%U#nQ;Oe{5A@|Jb_wwEzNyR3LvJ zSE^#{1)Ftro1iQUSN2<~K;1N3sS4dzo9DauA^42fdA3>=wpq62beY!4YC@2!nG6_Y z*(z2rN^FZA__9>CD=^!eZTTcxRu}%{*eOJ9deFGuS1^k&yHDkj`7p95A5U32w@A#)y@|v11%Rv1u?vjuR}l1kTEFBE%NM z&f}aAv1<5uoD(d5E|>sD2w@2ECpebkJzN4>k1Df(t-!Gq!@mTl!0{Echjj`VAOTtx zIDz7yCKBK|iO>V6Y%Mo@<7l#g{oL^ zR*4fvm~DhQC5{oCJ;iYlBjM924o9p2yel}t#P1#OsR~&=zm#R*bOpzf__~Wmcnr=U zLV7Pv#8q+ziG{(sN=`WOp_s-xB^WZ0qk=&~j?hR#6~~qMRMJP35>nu%itI0EDP*pg z3bd(mA_=YAuuhF*0AtiRj+lvjHBO}14VZC;6Ci%+EdhpN;%ZPA$dH6OUxo&}JA($g z-tiAt0k>*|R6hTMWI;KEAqBYxGU6a6D{c!xwWyL*<%{S6CzZkAhnG1Mv37KkU0x$N zXmK>f)L_7v;Qig2AM3h&keA@fR#-fvMzAO5njK*;R0rO*9DFm)c%r?1A~hgrFl0ECtc)t z5!$_dGWr}v$nTYqffkezI}2I*oEY(Ogd`NjsInj-PF0GEf&p7EVLo;6E97B;3}GT0k%MiT+L;9!8&H+YV!2H5Ly6binhDQ+5Ym|~-0#uZMe zSQ5Azaz+uyj3DhQRyuuSNiDu0kXNw{RlxMCoWYP!;7mi$2t%nu{Z)<)A7C9S9lW5- zV8DPmBL)m${hcx3dvDfwOE5I%Xv20Rjy(|^ND(?v6DX+&i>{#oK7>$69Pyq5S;m}r z;wwqfY$#!KG-20u%-@wLT0x)*XDHDymL@!6B;~>W1}a#TNFyH-QRS93XcZY#tg9O) zNCK};)d(6?V1E;J51tC^EIF3&!IUZ*3RX5l*e`>IpWftX z(Qq0C+vL%(=PeGChGX#;F<=7)I{>RgRSQ}N|BaxD;<16|={Il&(n0FY5w6%m!=76u zHH3mxHz04)4w|=kAeI3?O*V}PXBN@${6>y34Hr>x_&y3A1RafNG`_TI6T+v9X*i*Y zV?o2KDfr3}8h+gLSGtFS-<47@mlm9U8_U)L#H=`>G|-9wG5HiF;t0i792O08?;w1n ziiU4!sHwpkhrfAuvql~1(0YdxP79YIK$xDTg;(9>;AD@o_VK$2f32tC#pfg$LOQnC zAkXn4#Tx{*7yI$n-9z5g%dqY~#|g&RVvVBI72HR(<{E{%0eKzk!@m^0x5X4`LH>Qt zSUTzs6c!r^S$2Q(9sdABKe$JQ9s~*ZCDnyOH&MKjhmiOXdF+SSiulQ|wnrTqknr%Y zscak&7z|AUUo9f!hoyWBw5fn zgmUlSQgR*;JNR$iTY$fa{Ew7<9H8a1q!ip5{I?c&QoP8|0-k|TUQ&i2@6I=x*TGfO z6iQMn#gqIg;K{<-=D+bh!CypSH_fwr!m*}P*W`%sH==J-9=KVUT3z1ULRHdd5)E_v9 zz)T!f_=P*D4O5~L%V*jHukEj> z#GwO1NXtPfc{o}W);CsmzrgYhIVcd2gHjLd$(t%DWFnz=2AW>tJGqvkjbO|xjuR1h zfg<#PVWh4PH(%ixhV!9USYx(&VbF;UH219+$Ay@Gk0v|^t1AG<8#M7()Pb;RdOS6YIR8xj*Y}@ zcS=j^K<``Bn=Q*nHq=SVK-~zO9H=Y)1N25>S|+LpfP(iprsHe`bwm+LEb6TfUi#8X zQ1>2n4b-QRj| zA^Dh@TYjjKIfRlk1dbD?l`oe&RGOjix1R3JTJA^-^mby7KRQu_3B-TGc$vc}BAUo? zq2uLjR+od^095+Ji$>x;;}9G$oF*8%)a9Y>GqRgU(1?<+v94^X?-7A1Yhy@2}f-R$=1ufzv1IC78 zhJugKaBQh`AME-IVf!i?_NvBe&>4zdj@Kn=Xfn}YgIgG?9(Wx-{lWs!z5(@NoY`29 z>cTkY5I>sZN9<{!FjKfS8Y{(zhZLa>+qDdiFgF|{VtfbtKiD0o z{gDQ-7>&W;5rL6u43MD&)gU23Lk{f3Wn>_q!mGvl@Wu#^i})05iF_%8NUY(1Icpc3dLfmix{V^EFNe}ofM!L{t`R|Xb4H#h4 zuPhIE!HqH4Oo~TB89@dUE5f0dAR`H*7-$%ay~T=H>a7W$F&uAVU_8i6kP+f~<7FW6 zoQ4^!k{~UK!AZc7Bw5gtBBM%8P!*t4g48EWr%`Yav1>lf?)^_g0sh2d&XzBf+2AFu z4jysX+v{Z0#FJGr%1{`G>?^r6V(?Cb0g99RruOePpkd_VIdVimKJ1ht1Bjdr(3Hs0 zD3B(H61O)}zi}O%z>$P8(xg4HbCUpZ6=OhRJZ7S|O9LnB30M&h6w=)3-!-H_;U}i- zX#!THAv-A85Udh$g*<8}O>9j>vnG{LL=;g{4&L&lCR~#x-H3)$G@&m?Iuq4ZG?6Mt z4kqSaqzU`+7`FW?O=OP8PKvxi5h28+o3Kuv3?-J_qM5(tNmqi^L=zzjs6Fg9a3|tg zqr^c|4oVcz(iV>>B%a8525S{b19;u-0 zP8l`?DWQgU-=Jd>wu(F7K}DI=g(phnAj0}5MFfg3>5&0%DOp_Z60%b8b2662IzpC$ zEPyiwDSatfC{mDR!v|SeX|Q5oo%|%jhpgZiC2&rGPw7KG12qIrMUzHq7O0S<_*Few zP+X{K2@6#)8JG0IAPHN?Bm?Tr23=Jwu?j;7Rwez2rRHFm%+ZBlD_MD{QAP2?18HQz zG#nVm;u0(wJ1JXRS#7ZU8G^HHHIhk;w4&gd)J#H+G=&B~Ss7@^)6{_E3~b%=*J=t6 z8$R}wur=7HaDs?$&NR{JCd-6i4UF%h3yrW+IsOFKjV9{0YN~*ZCbFN6pplwUxRZtf z7;snXK6l?X9#}#|~KoT5Rl0jQiDI8s0gRGlDq3pC)Xjv~b=^#ZbdS zRWEUyi=Vy|n34Qhn342TG?Jo6jv$!lY2uL{Cg1fUO`MsH$xpihVskJJ`FG%xKABFO zeMmD`voTmk8%;d*($WNm0UB=KYiOH~J-4Et78A-AQ+>1nMz8vghHn^PAJF`PA}pYC z9;WwBCq>wU&3x>u=6#`wUGs4y)%;EosYJ+6;4a`yB3!yD+8kOJa7Kx#fwwVf1|gXo zAF)U{W=swQ8!0(8I?9$zw90e|Xfh?u;jjrANSu_Rh=E{WiutRTqY3LIEnPZ*^&$*F zC{plL!d#hV_o<X|@~>*)b{CTWec=tp`ifwA#7{}ga#bS(^7&m zQ!c%U(rbY_2HDblFH6j2u$_QV0Gq*b$}nsx7JDNPJ}tu;Aj1lKE4$@1k!FPndzniS z))2J}`&ySZG~sDY4kOm@p@;ie z#;ib1Y2_4R1SKo5BTc9T!&TVjr#Wa#gJL#L)PI~7LSmWPa`4+0^KE}c2oA8r-nqL$ zfGB|eO5E;Lxh+6cVev}LT*5O7v4#e3ZA<8Iz(&5+9_=#al>o*KEnjUNnwOh{sWL(7h1@{r8yy#u8QE z!MlKC1!bFXx;Nt|O|(QYrD2CVDzWIMkQm}Y56!t&z;PCP2VMnO(d+=HjT;GQ+l(_q zuRjX%kSe991lxDu622@Ir!`f;(IIRkX@UF+Oa`p>M4evtG(v91#f0-viZFyDn>mAt zyRH-wO_cjXkvBO6(h4!@;z2Yq|1eV>-WOupFN9FYNbrj1NLBpzIpig7RpS1W=yXGL zx*{Hkh)y>|ryHWv4bka_ z=yXGLx`8_~qSFo0>4xZZLv*?!I^7VRZir4d{(o`0!T%Bn-g=X|tmoCt0n^hb+s#W% zNwy;c#RzqAxd8)Y=&!#LKZfXv%hxcW=rbOVgbl|V4sL%bas;UayN8p*#OK!c2~beM z2t9E>1|96U@gKMG>t)c zFa5ufBvU-@9iNF`O&I*eWxp{QihpnM?9ICOfiIy0F+QY&_{`2es__S&I+gig4m`dv zA?p{@8s3h^^EVw|)av=IPm1G9x`})K=%cpwFxB9+FNSIRNkavrkbmtrpU{TLQTRy& zes2TZrZ8RcRApT_rm4$@gQLiS;>9$j2ir~XMiWCzR|9Sr-(6x^$6;1 z32UNs6<~J&-UKq@3J`733q-w}5(J1MEDl5&*JJ^L*XcND>Mwz$6Y)EZhNC8v>d@(r za7qxK-(HwU!}eLa_~F-Lx)k(@mIcrmM5YkG7Ex?NSR73H5JR(IR|x3{CrPF9Rn^7!HZFfD=2s-(YBI$dqOw|kE9cGDZ&G;a7afYDxW6YN#vw$qKPt! z@F}DTV=kT#Pv1%t9lLeqpo+w@J;ufKx)jl{d?>1tKR^?ULosyaA)5GtgxCx44kf){ zav0tK>L{Zb(z>28It_AQLviS6+eGf7rc{M8U=53rD4NpEZ**a zh&;58CWnZBxF(QM2G?+`lT&Zf2y}*{p+0o#%0fvvhD~bvhsTIdy!($bgr|>nnTlPqV!<;OEgA9B!(+)6Tkx@FB;9`AB9za`kTJ6 zWn=Ij*ON|N9V#(+FPCCAyc1@+f6>*2o(N>xL?d(XM`7lyXwq9euTvQM^+Ol0Yf;J+ z#-P0aH(_Q)w=NS>$6&&a{``lBi7)N>M;U#ne11K4b#rRS}fapM^ z0!x)n)+z=|_$)m_mM?{N(13+8SkW~V{sBwXSSqv`4rulZm7)AsND0b)NmaV)7Y6nd znmF>G(Dgu;GTjjPjYK=RpX76&f06;gEP41Ni#4AwsTzmXv%&W-Um9#fSn3cT*ViS~ zFX8GEPyG07D2gNP2z7s&NG37H$aplYbUeuvYl5aYw9N2$>=p{bX_1dHc;P|NyR3U1 zqD!PiQY;qyjK>PSuaEFfz*`BQqG=8%5d-a=oXk?9HDo2ChL%JDPn!zdm+>}=*E50UO&^EXa`eYxd-R_oKpcteX*BU7 zouvk{z8LR|aTrQIm4e3-UDK(zF~rWHlhvo$bbi0IeM+a5aOR`IJ~ZLAcfR3=WwIFZ z|3(bSg7Kst*iXQ!7CxU2kTU`A`S@hg#H$J9aKf8M6FXO68S!m2Z6c;eGfMzV!TgnU zV&v#90^$x~r~ZBkI7}i9tp8_h{rBxPCdBq{Vg@hPE%-Y;+4 z_)?pr;!5*yCZZo7=jN=!tiA5JVKB5hozu8nRF+1 zpXv`wf@dmDjQmq@9AVe~KY67Wv8B8z`r8`XQ?MRs*Zn_4X^#SY>vmlQZW`vjC>6`W z=^9ORq+;Vee}g81r(sHP!@`-CDA38z+C!r%`k;%ORbFLnz^ zN{SD-%s`FR-vlBWaC8Pn_~?fKQ3RRvzF7~yg9^v5dD8JBR(LwfzmbE=hrIrUJWc_A6t-rlRz#QqHGf)~!qC{;f)aQ5+(MH8+jdiZtcOjN#@O(VNz zVj4|N`($V0WxKsrG(pZHHTV^Z-``2%y{y^Tus2fEyyLS-9m1WD;AON~*nGwgrPyN$ z>tQe>6K^vX?+a6-Cz{o>F`0TU6l@K--g->XpM&wcx(g5m!KjV*;O3z8^Wj3gjyX6) zu}9I!>JUsn-vs>>)>t z5kfNOV>F?O6k-n_QuU6|1dYY)$}PZXMo$pp#V)|BY6~U{5C%OmSIyKD9x|7w z2n3{|XQm#1&cT52OjLJs2E|Ju-prxi?x4H~@9ItG;Z0_ng=ik*1w!!lg_zpGJOScH zm_HxU=25ZaLj59y-8Sg4U?C3`&&#JmTEi>Q z>l?AZQ-Vh}P_P*|FUG=bE~d-cwG6F|_v-pO`d4NBa(4nhvzUz|;M2vV(Z6~UafGTp zSkq5nRy?w>2UydGEX*Q(#gw3aF-|^^D-FpNdaCgL`QMety}Ewti>d^Qq@lM?PYptr z2v6_t)zW;*&joB~3=&wr_?5y5J|1iOridI1th=-mrhp2G)9=@o9R*VSo78>F=!i9#OYCf?s_WV!xD8-5-$v<`!&i z*J}l^G+121Li`uY$}O0Yj5;BKx-BH%JrMZUV|yHQ4#c*SBZ(>eHxn*g#o)uHVcq20 zA!{oJSG-8cFu{5o*8iC|^i6=d606kPhJG11bwwaW5)Ib{gdDuE;xg!dvvM1%J9~@b z=|aag(wA^@XD816-<`XD6Jo(qhrha*cMs~fqpfz| zgJ0XR=0^Vq?mI|dS+U1`x`5mnrU?npunjJ{h}o#zfs6ORW_?)GjybE_g^=t{OlH~> zFx`nCojiRCGj@`r#JyVe3*KM_dP%KN^6!R9!t0%+j(ANQ1sl`4hVH_ED(w)q3nx3O z&tcmx{Pt_)3wV#T_$d5RW7P+JHgNEJQs~@=)okF$ekS~i!%-1_6BUT#PZ4&g&x&wg zY4tH0&X1PgY!9M~gfD(gz1|wi*oDiz}>&G^Gy<_u@{>$KQOO8Gggj zmxCdaY~kI>0X=*H1F+ji4iz8O%crzp@jh%kmIHvXAD3aPq}d9fa3_obkL1|GJ^Fre zN+5)=l!S!+WH_-@ilSL?2SfdzbrpIz>a~AsG{~^^bZbTX)Teb1(C;sHT$sior)25Qxd@Vb+Qgy3X~PG<$C#Z zC1G_jPPS{6X@RrF*cskn&;;`!RpV4?!t)SL7Zx2v_EdEt7B1|Ew_i zYtZX76B>@-o<#RyRHEt37pD*v7=HwNs|79s#Q6UheaK&%^P3vD2}C8q`zTh=H^Ru6 zk!&q^rzluP^OJDTiwa{08kk7Jz?&i#i2VVTqxi7}IuMhDv=TJ)&l2p`-ucj?F~L}B zLVEZ^Vf`qIsRf5iapUM`AMvFWYtP+4nqw2jX48enZ)!PZXzUJ-fTsXg%CNB9!)c@- zhHXTB6eVZG-~Q~^!St_c-I4f#cVAVb8Vq3)1>Prc54rjnW@&UE!I{dIgwl961N3iU zoiaR*u@{e}1^K+ksa!*tL%}I=LhzB}IFkNM6d+n)+koNUPVd)JPEDZ%LW!y@>a78c z9JV~XJ%n}Y;tAB4wHn$^;Ag$VH-p1TWOK^#TdYjnPoapNTGvElFt`8@1TB?46CX!CGaVxG86B&03We(scvy?T~ zoWhRmGk!8l5${i70@NyL!nFcBM=Shfmf~!#z{zO-ZJO9si7lq{Keh&~Pqh;DHQyED z1yy3&LmvnbU!v?k0U-yBHnut))UpbLN;V7eCbna3$i;>A3rd1tC{s%G3q6Z2lP z@hhX#Sd72gX(a75POgLA&;Lf%t| z{2w92uLcLcU--3AUnm1`Q>5xd4W{w+0BEbhPW6%;WYu6?31_jfX>P)?EFlZ~v?;aN zr+F(1cxrH{7Huuh5Fi?$b{5sAs0olTLRU*bsKVp3*l15#3lK@1uvy`{Z5}4!>JS6r zo_>>!kW}Xo0|ihj#|reuv7gjQTUtuq34PN&#c$#X$-y+DUynynRG-J6!<@mDz$Khe zWYv=v#3w$1pZ2;N;HS-3Q0td^%zm^BCBuZ)b6CaBdK<`s+c{KdFhU5 zfMucL0tz~zr!Xo_7*rOv^3V#alhIa#E~2#GLW-vgQ!i3GCFmFI5_XXHE@CLH_mofcrID_pYq@m_GMx1jU zQ+V)XKg-X;Y3&tq3UTuyrH2U?H~$**+!a*6^EwUxzKv=2n?es!1=n%-F>jy?i0{17 z|0>!iMi^Oh6??Y{cLg#YgyVk#LK5;@4V0*bd0$o{uVGyF%|Zfs*U%ao&xMe*cLwqh z^-d@W^KrgJRq)2o2GZbs9rrs*{~?la>pCd|mv7;gN8xo;-+)W;K50JBlSmZ@mD?ox zBvUlhgcdnNJY1ptaPS9_gNla2)p(YaK$J!I^98Ja0^@L%P3fv(p_;PeSh)H(G16!z z4VN1l;^&K${WBMGw1$-j=SxJQy7Hz^J zo)ktQ!Gv7|_11$mv4)CtQ`&MHbyr2vuy%r>62xr%TRIlw4291sLLlt;KAy?vQWYAsg^D`&V#N%lgpz{FE7Wdu7n2V=E{aqYc zt*6oK+;qdfR-3)3U!KBnKY&WP(o#cds9Izw4?FH*9Hk2cuo~Ukd1Xm=dglCdhX-oOBat&9^ko(V-EE;g@|_?RVd5F&i(2G z?A%lHDHvTvfgujaf&t9zA;y0bHwLKG#y`X!{?SGOAq`&JFoUe$SVbRFf>oPnp50DN z0((34-+!2nMi9VC)Yd-(t{3%7I&7f@&i;pmaRRpmsMz>Q^d8|b^I?Y&61E>p#KHp` z%kD?GkII6g|1dYt9^tCy4KDr#AvuSzQYb#d$fiBUq^a){;vIgB-=%NCj;~J|ZzmkZ zHlou^Dp=vT(QkSuxLm=X)H;+K@-K`erp`=Ghpf^tb(qkM>SM}baWlykmpyF=GtL|8 zz=vkM+F@JGr_AWJ*tLuOGF?y$=}$<$lih-sxUzEpf%gV_FsOA$hz$JqgftMJK|@+_ zy$5?6i>J8ax+Z1>32H`0U?*$DfXC<14x69i6u(NAk6Xagr=*j(o&uk819NJ@I=%%{ zSgHiP7BW%%r3Ifg5ae4)J!+JsA}5qQU|k#T<0Z6Wc@5_iy0Fv7NFB~l$Q&<<%}1m` zwhf1k*by{xI>1O7-X6ggFslt?AvqKrO2|j?*#*zA#ta`z{nmyxDJYuo4EK5G#R(y2 zp5cUVWug#b)sCy8A(I4%1}L{-HjcDo1QT$xi&ECwj@_JRB~7?IC;4utfxoz$cLwU8 zXWJ`qh=*HWN4%u&HP%`Ss5^bGR?tNruaw5`QF;-WTAH5u4UC@D<7|>!IN%lE$j^=D|V= zzS2v>Wv_60S;L0JHy9TZ^04g%)_kYeDD&D_2oAC`#y#-Yn4czF8n$#YR--k(q@*22 zP_PAT3ow=g8JAGpEeSRj9*idWQUc=%EkEjQ4YTaHrXbJlC-cCc;thncZ?S+60FnG}hj*D7g(zIj@Z*W8V~EQ;syScrG# z6ZW_hp9mpppK*Mf+9rfd{fv#kxm^gk`r23-9(=}C+h*MErz$T$BKt46Rk-<`5YqM8 zm?q6E{v zq20541c7>nFA?g{fTBCX+RMXM7c2?=KD{a>Mz1&5~Y9~ zY9aw)zt8}m>}aIy7tZC|9fa6QztLhjfkMdpP!kQxWfJ<4w#43W?QiT2HG*k@%fGRi z-3X-#y>4uU<&iWouN!T!Vk}ME?8c-O#?gf7A2jTO1e$pK2fNBwlT8#MXAibPlEfJH z{J|Jp#t8)6iQ|)LVrUPJ0OP09#P%NS*j1;|M0XGAPvoc2M8`}MUEuYimEWWa5NT-W z#faz6qLKeHO_Vm-bNSZ_H+gb(i5IhhE6X+B#N%2LCUfZDx45pv>bd;iU@OM;Ak^mz z2pK38meRNcw!E?8X6zr0~@X~U~j^0MWLva5Y ztC3CCu4k1Ez(*%L)iK}}k!V$a< zo5(_`6h<@ehzSF%6u5GP&pwJbg{a?8y$6C-3CiH^h$Z2P?uM1Q=(DpF?YKsfu35mp zl@fiBVi`d*B?o=P?=ll@Xi-D$p-PltOK6#VC9XU137ruuqv;|mOcV>0F_2t21z141 zGS`K8kA8@ixs!<#IH^(Q+JHF&Yi8VOnz&hyb-$E>VQj1EFoox_ZXv<|3l)s$zZx1& zRpE{x;?W&3r56cVc%j1eCXCP%F_qQ;RW!@R^E6>`9aU^sM-@|V^eZq&^i51j7v4Yt zS1JxmHH@S6k^q(m&MmC+{J<3r{Q@t&LQ6HMVWu87(u9pVcNoD%pYN2~RqAMr+B-Dy zPMypDD-`@|#DwKNsvYBG2>+%6_-k-2hzWhjE=@!XTCva@o3SYPQ<75}m@4!f#t-sW zKm}5CFvY5x$h-bjz{7hSn%J;yo(T{yVrU0V5u~1h)$iZYC zY~nYJDTEC+R;EgHnsXdYg-3{RTS@>ON)I)a20bR%hj6hMAc|BF71+<@>JYIm6r4s3 zccb1`P&&d?iq<$&7ZbJFmxA@7L>KMu<1Zi-K#PU7T$h@A2TSz2vYRWwrgflL?~gtke0|?W@-eM`WWUQk4Ab{m}-O7 zS+v$VeN0$GE)Cb|V-*!cAN6ePQ?%IFr?l>*2oF4N&>cUM*dPN(B=z*p=*IvApVFpw#A;p4gDK0+53=BNXv?0#b44pbs&=V&fi065lL4&WEIUGS$e85QD0SPi=LTn%g>!Bb;A3kIP94n;se9a&s7}LCq zq8vx@dFYie#0;H$S@reY)JGk}ITE;bTn(_c#@N2_2_|r&%<#PQ4o;KTTciC-#!xbR zSQeVBv3jRXpb@qW*O5prr3iGwf67b;5(2P-7TI7Zk7EK@5)M?FX+py!}F@Zz2I0x8piXyB*%?_*L)JlpNPdJ{Y!xYwI;!5mMmF0Q-b$t*HTHnu5 zJVQuuz)hUE^H>agff##?tG-5vx5J+6BDMlZD!r6&fdlpf5%mHIH$vw;O`LVW{@~>W znpiW4s|=0dSYx<@Q03`M0(jK_SJqhvRPlUmToxonz@#KBIxP^S6h+C)H4zhAQS3&s zTP#Klz;48Du)hW>cA;P=VWTL%&)I``{k{K)pXZ#JIWs#OcXoD0T5y4(=vqT8R@(^8 z*ag!vDVpd;s0$X~mBFg9LQ71$iO?Q*#>MJ+BV4TBT&b|Nl8#)f0DWP<))vbXUcgww z-o_|!KBjY0j&deHtZntVovSy2E%YYaBAVc;SQk@0$uZ+WLmjaww;=`^bCgEnWfPQE za!05&RrHlE-eaG_ridu9DPmlL1ym^&lmIC@mm%v}Lj#c&jdmW<48@o}W_forT%exi zF<8E7s3k&Qp&0qN`*^_d_>&5o70WvytECFJW@z*bPlYBHwL`1Nyj!Es#m`<_P5aTNP7; z7b@%b5gFuDt3LdM3?4e8>uh=dzg`8+(Ik@!|CN2zg2e| ztA2{+>b-Pqgu=|mS~&VEywt7rWU4O~`72tezpGMCAN_H8-Cwnw%xc;2!5bfd$R-<> z%SQtce_%D497O$=ie~CnYslouC&-qT=v|Mn;EJN5c-;~?rqwP_8rllZJxt1JM=Qit z*Q}hX1S&k#^Ucd+?jMLc?zAW;gN8Qc{p@`pLK$pjBZk|dF4t^q@SNWoS5)V^veZm& zvc0Y0R9dgxskpVmPyJkj@~mu~Y`9$~wt>@Pn{xSZ8-=gB(oQBzVG@KJggwrowhAk; zz|2-pBx~RXIx7eVwijMCkbK6%wmc>~D_hl@&likTl7nSi{6txTmlkam-6cnJak4EQ zpx4!5W7~G$cs=kR{#1= zCL7W76B^&s0T+nQ3N*e>k+4$Y#=cg8dqF}m!~1Wx)r3JNe4HZb%=^G{)OTAvICn=S zlS%ITiRGLhws^NmS5XZmi4D$0T1b-&{aDio+wZ> z?8e-7KJ8Iom+ybmRbG)|r!QabHj*j%hpjl(UNKO;>QC9nPwt$PJHRySS9z*p4Lftb zf)GxmVK=^gUMQw5=VciQq`(A0;$#*lnk?x4NKVg|wlJz?&T1kV|8M^7%sotqJ zcY@<B(ffgQZ)k0NCo#9nxOvpu%q+6^=REW6>!#TX09QeIG6 zVdtxLT@}tr)~E#fg1uyHrjo(H?kIY>xr&18yqBbD!Ae{MJaV3-=cj%>5Dh+akn`Q% z1DEtdD~8Utc1GM7?mgktxh~1hVp2~$C_SmifXjO`2@6ESGDz*bNa%qUa&_j248>R% zJFJk}8TX-Ic-Jh>A z|45tf5cHPT-KW1!m__raQ7s1{VH1odlRRJ$n&MpZafk!!I560c2ZD2X2h2X9r5B#C*OKva zXu0v~5MjKM#Im9aJ{hjQ04~wqH;y2#RSoBRj1wj{SeI)(07EVLa#M)m`kv_FT>sCn7Sv=RH+h&)Zuu?J5qtE@o^aX z@WNz{a?lYeQ|z_G*7LYPpPO&5+V_^sATKLX6o;VB&Z+<{5iuOy`wOOHmz(i5_i&8l ztVpU*uyw%*96L|EJspW5fPo`$?51Mw^hgY$<%~erJb;PNBNZd1>zKDp;?a@lLXCD4 z*o)MI_L?F*4(-}}6k-oJNV16-HVUyH&8h$$Vey|mMjq%z*&A}Kc2>nEPX%i^8nX8V zmdB08^~C=&x6i5@_NJm>G!BAi9xJY66m6urFBuZYD1xMY?-;6lvd4CCG;OTTSmgJ! zfaQp>h^IeRU#25*@+*9uLePFQN{evoUH}pk=cscEGIT_&=lv$agmvd zQc%|cgF)DUj^~2}Pe77p78MTVa{*S7oakF2Yl@=Qe_|_%{wKDx9aOxWCZZdz>CMWQ zfev^H8jI>|n~3a|^k;d|Bs}q39K*yP%}J1}45^TH#jueM7&n`PBwfi?XK013xwL*F zL+La`BDbkD89u*eRLFY5Z!(Qi&SE8SkwZ<|@}s<}hsnF!e73m?hsvUOGJ2!aLKVd) z9({Pwq6$S*TwLLxCsO0lBktn0F10t38u2-#J_R`%FJU@c+{vglVu{-illYiO6USUUYe8he_0lB}wEZnByg7P~7_5PMk&_Ozj5l^aC>a_AfPWh|B*BJVQnpD+M zLwuix+FRcGBWQ^!57D*SPKWBB`&V5y9fM*up8pj}KRM`#$?qJ@Mb#Pb?epq?OjimW zEX7nZJ$?KCO$7qFh?<1~l3NmkpROZ5NtlHZt4ZSeOxzFNRB^<40Y7OA_7Nlh*Hw`3%Grpa z3r1IFE21Q8SK&VwcdCwakS!LQm!az{G~UHID7iypR!(|3YEj-8xc6~XJ&nILC5ItW zJa(5BgnW9IJ}NWF&1p5AvzrEKfUzDQv4rc{7+ou@JZC z;nEr~lmI&dj&`&XClisX(|q`>9>((G`M9L68^Q2ij}t$9nD1MSfm=h z0I6C`V0m?dBi`CmX4xcXqJ3uLg`e3BM^jNukvT1dY#h(>=$Vd&G#?b3UCjEYuAQc^ z!?A^UN=l!~pf|^{CTG%o5i)s`z;f%k$QwrxqlGhA(OQ6CN`<8Km?f?+#y~@h#kj1F zn!~VqF>0T(fS|KfxRBEXuRt2PJ|hy5dACHCj|xXzhZB+2)upUBta8MBkjIF*;SxBG zz+OC5!)vP@jl|F;aNL=~is4d>=bu=DZtc3ULTM+NZ>|6%Q6xEO@)1i}ip(xxG?p?$ zQcdx2DMsOLoK{hqTtef{yMdxRF2gev?zqeFM3bN6SpNQgFH~tkc14QHqHvj_g<3Z; zd>PK$th+ddJ(eTFY8ZtrFQ&5Cu^hjGQZN)-p%|{fWiT2euN6w>QyiyBE08qtv5I_Q z1&+>j47yf0+9ctQvHpdMGCK*G-F>a1coriwc~--vPyZbBr1$LAT;QIHks3K$yh8Jq zZWS?LXvR+(`;j4hrJ|!0^tl46i{>+NM!Z{zMkx5ga=TxD4%U9jN%dr!TFMTOBqt1@ zCgVZQu(6Xk)!NBS4E2J9zG|;NrAfK;$lIxw2wMf|VN+SEBfNZ^%Fmh$tMHum*;Cf7 zL??eIqw?;t8oG;jxxQ%?y5TI6;(cYQkvO9H=RW$9^bCJlcM!iPI%;xPY_$e;DUB9A z*C={P89hYCT3kP3*D9)tA8YU|F(IZx@t218CFr95Jx73FW$PD!SU+6bzfhP5UdgP(LueoRU*_^wJ5sOTBlChz*Kv(whwWTTg@?MgTZ?hT_8p)O_3C z@`~AR#6!8Xznpp;bE>9tM2?+sQXN>BeekcFt|&Z#vsS*ym2E_hZ;zH6+nh$vf&S;! zl6)`xd0d>_gmZfNCbUeW69f^`xGef>AzU}(UOM?dVYLO9@5fgWXyRtvRWLJZGoF$k zZpNuODu=8}Y04eWCvl5{r-IRUAnM2OISKz4=(WXL&^tdfnG4UYini+G9>_L3k-im! zZDo&Sa-rL)p>W)Wz@L3APmFoVb;T@_zJD#3GPfxL)GbTO$zr=AP<`f)zl1=yBlJ4D z;=^&=!SZ+DS{HAGxw!ZW!(Q5@S0Q85>gvw=;^;m+#eTJLRy_w#*H-abyaT@ouA5XS zQPMWE3NRJ1J5k!vdKC(`FWHG#-k0oD6el<5Dm>4na_~O|VfwBdCAN#NEL?(}Ym1U1 zTtr8Q{p01|M#U=?Hlg4C&k6cw7kcJ{P!$J{4$kZp!Gl%Wl9`cNS;JBU=PCkF+|0dwnrgv)bJ3J$XL}|5 z(@W~xR>R$W6oAW@2ImGAH*@o{y8oI*f5F`!z+jr zKR<%R?+;YSmcr{O&ZBU)I5Xq0iG0%6|jMlSk&Mo|Ti&qw0s+F-CpM~q;T{Z0URp{JM`02RRfsehqiN;?=TXa3CFp*~u({~*n*gW$T zh6{GVPl}bnR9vj;QcVophdy<$hKuTjZKFPUca}z(bE<3gT+Bq)DI}eN4?-!Qyap~N zqRwe3E4^6x6yRdbKX;d%MyMt}EMGW{3TL)qusVaspC?@yu1;~mo5wTgG$Y4VC^dP) z^tUs}VmDSMqOu&%B31Ov3aBauEK!s%b0*|>;&=vDJCBJ856>bXi$w&OcX|%(n7^E1 z=sDzZZv}(PS{GEACZ4}IhjJdRAvsj)ol1W($@n}%?y;UBbDN8L;*JZ`%5`O7r zR$=H#(A|Jx_a$`APi+W#Nha-B>~R^-8rwoEz(_ovps1CUjkscavU;h%Yb{YVN1-cR zw_?_0H?sZLn{CUp5m`oGhQe&z@SO%Qgk1r29mJ4+1>dm& z)f`3f6+HHuuXfcH3x#VQC>({Wu_YJN_ zqDm$X>-1{~&~_b_TtmcfMaCztp@BBGZ z_a;tFt&{(hb@MQJhe>+Jh4pnsgj!#blY@$6op;4bJJ*pz_*Kp>?>Z`Wi+o5Xu$&XrY9uw{V13b8I{qHQlyTi>ce*>Vtt<+WQ z32?(+wRdsp%4KpD;p%RhVgQ|+d+*|L?njyI<(700J-1qA(d!|mA@(I`flX}*F5Sau z#27sW*ZY9YRT+{9a*P;$68xyaFwERdOALH~HmYaL%7q6ohng`sKLjLL5cH9DTeJ9s z#0T{mdgcPE*b=ylsV>MZI~Tc)bYR8)5l*^|_zr-~i3GRZ7`_s?HDQQ;4Cv*-aGGGK z7lUmcV4@F0QJ@=U+L__i>*hQ(=d=KpKa==dCPc_M?~bZTTPgnjcl!q%I@^3++7?Ovd@4o>6PXTLxyy|oNeHliZqzM&!- zFOe#4H_MSPQQ5Wl4uD$pFu?^(^Cz%)1sHdU;r(@_UhoQ;AHtM;GQTBrZVp4lYrv?N z3d;#%s_vO_6Rq0$MEkPWQpCZWhLw_;=O~p;cuyXU=ldF znZ8rFspW~OZ_(^i@qg(}T{d*Lch?dH?~wj0)&wKhkoPcGvSZjwpo@=g$ugx8d@T#$ z>yCNiq{J7%tlw4aDL`4BF_D|%Yg-7>wKqe0A%Y#(pW*#bcWq%_gbX%dem40|D1v#} zT!wst>WK`kivgQr{Ko_5P62w14=$&8V zxSjfl=xpZ=@xX_oJu1ifp7hOJ|?(`-0=)_Z5kzW9b0OVKc#v z_5|)i?;F6W3q#yDgx4vW;SNE&9t@fN8fl9ojZi@Q62#hK2+QkB;NvokLHj!(Vg$ob z0_A9iTe4*wL-QZ7?3l=qMvxNEpjir7iZQ{Th%&YmC#&vEhA9hBzx$z@KQ7XpH+&27`V<3}42OLohUnp=lYxDuy)#A28rYX{6tP(Hj^B5DeeN zv0Wi(x<`f;?vd`&J*)*l4H$B=k@kwTNX)uC#zMpyG?jc@y6P z2-N;#z#K$(sm>*aBmy6-CO~=rB0h0dg^;D( zS_CmtRa5%gNOaLbzJ7HXvIu%KU}&HV$j1Zw>!IXg%t0n|Cq0sD7lI8n*VA`JkQl?;aoN;@#bb!)68Od4VYrHLUT{@I!2KGN5&Y<_D9-zz;B zB8&iI`%rxD;sC+O##D$1k-Ge6_S0G%Nsi zdJJo;HPI4r7DyOem6fcTP`Vi41btzFcw>!7j*%AEVDm~#q`q&;@QVNwROCW>TLGF_ zGyF%;ufDLZkK!Gz(W6gb|73zhYgmf0YcjzX0&6#hsJejmjTy2C;+rwluLszS{pBgm zT!L%ZGnt@};D;YUj8v}`i-+q&Y}bY%GYs{)kdG_MWs;K9Ncq(jNeUXEQ4V!tCAcASd=tfxL15gSp{5O>4HlZAgcAtH^s=9) z=PQ8(K?Zcr!G>aUCcYjS+i%WmYCOMz;I38S)99=`jR00caaAY$x!n#$eDC(61)L zD1w#71n%NNQ=9}PW(+<$fWl`G$VnPFkSc09l3|6j9@#Nuw*q%GE(##X) zDlQCDo5CzV^bPWCiZ`Z;NL{I^JKNNn!*M_phJFOe9t`?^NF|>bKLVPno*3u7#1d~r z?COPx`*vYi?uDcaqZz&v9Pd%?)*t!Ej~b)BaqM1W-i0@6W!jI;i(+ARX@S_=4rFCv z3#1-{2^UnzM}p167&`d??u=kKPM|-A!P*xPI9?2Ig+n#d7lG-fGECl#{EK{%zv&KE z7VgE7lz+SQ@k2nt=`3d+phNBl$2oggspXI3b8$a|_i>ozTa{N?i#PQRHkt!cUq~hoMt2V22fhr7cpm?T%Z`&0xfwTaV=k z2gvd-R*w+K)ofUv6@sLg`?e1C}NDq z|0Q29GQ>#zeApo<9Ac6`!!CmJtr)6B01DeMj3uZY%#ceE7ACGMQG(JSvXJ`+5j&(Nha!mcS!bwb#g_`lS4 zDH&p;Sf4`LML@18E5X#w2 zY@5;*jvux%JSVW<$*^`GQpvZGUeP!rU3asb9u1#Gdl{;C1DrX)Fpl8+VTMNpE?671 zdt`6P^ECZ+7rQQ^P13ug&HG^yCsL~PKn+%7-X4KL4$SgT(jPYvr?(B_Jdb6a$aaSu zzg}hV>IrbT!H`A}eVZXC7g<#4g%TFrla-`=2=dYt3B6E@!w=c-S}!De@tC1;Z-B{D z4tyoSef)x=2L9O_wa_VHnDiSBGB5^t(_AGopO1mLM;U`dAHWh!-tG@eBEcn0&?ab6 z#Y0>C>Vt$|F!h?0sJ<|}>M>*y45-RbzaLr~K@L_$9FJ63PGcBIuz4oKRf1b{ z7#a-&=q_NGybSrK4Z{t=OQ^vh(vwh6&rPUjjW`svYAO5auY%veI5gtb6|9_(LpGYp z3=YEqzH1l~2}Y+fd?DDlo*`-k;K?S2ECTCo4E09>BC%p2Rdz1H;ZT3Y8ifQ^;VZekAc&C$ zyk_wpiOb(Hw3qxpQbg{3Svodll)WelqcKC6jd@saLHlMx)&-k|@BK9gYx!^k?pMS_JGStoFg2OPo3 zdOX4|z@R#bB@or>i=Oeg0(YANhbRoEli{kRrQCh%3;R;b;O9jCNqKoCa8rwFSv-20=C!(jf5jL{`Pq z&~>W_#WVyp)fB(J$h(CH`Nc@FUhHo?1BqArFc`FkuYC1eJ_Eiv{wzNwA1RQb z%}hX(AhB)^O4~UT5yk{F7|w!aaTvpBf^!On2Lwg!8GL60j5{-IBna=ypfd+Br8~n= zf*H}tb~t;BEM^CJ;@W(H9zAXQf)NbT<0T#uyG742v$sF_(5jn!6P{R7s}#SMJDx-=N8=Go z-6L$XT8xva%W;P6GjLqE7}Z#o#mZYU-^a>4lxcV(K>Iwyegf}{47+oXQ2w#9{U%Bn z5~kFZ#$>ZCehC~iv0M*j@r>Zt4TiV}NENXZUCKf1fkC7^`qT2s`N-y25CZLsFE1#i z(K4i5icc&E#t@v(V|YkV`jo+MIiLw%Ly+4h0&G|ygYF7|c+W75;9?Pj_cz3my8_kz z`LW#m14{gh2wwSoW;(oA^x@`z^`BeBaCzsSgk=!K^W;Im`RX;K~93V1eqA* zBnV#%D8Oqjf}Y;ZwZ-wZXrKld=_JJ@1?FyE3^@TX%P-OX3v6yEj?c$oTjs;IXXJR& zpCKp}ZKEmnq~I(|Peo8ogT#|mJeYM2p}+3pni7?d$C$U;0+F8@*(j+K`1=zahfir} z@XL|x<{Jfh?r2=rJiDPl^AZ$Txg*;)uS34gyD+5pgrocu=5P!g>8OFu9Tq1)Le{&}DVF=J=K;@&Opf4 zZ&=aX19N+f%~Hz`A~62IaCHw_HRLlxRw<5&*IpE#@Qsy~dtu)HgW(s!t6vPg_W?}R zgd6^fMcQ6i&S@VKw$fn5X+H`XfeA%qUP`b|m*E@170e_eOY{N2cU-Ct1D-|E$GZm* z_u$&B*_0Lix=`eM)4GFjyo4nVC~46_z|u$KVe^9?_N3~C?6L0#F8Vd7C( z9uH*5C(y@cMC2BD4A47{VLQQskuoGrL|GU;!|FW=UaB|gCKK3s)NwdZp3HEcVBJ&( zpA&$~*pui4Vy`)yMeR(84;NF5;_+V~bNR99;P!tqpSFP=ax!t?aud0{r&NwiMvIaczsp?FBB!;_OZ4ufv6?0gET?%iWpMldLs;n6cM z?WEJl;qh}8x}An~(L1r^bYw3n^c($k6DP|Mz2h0UmHlL8?isjwRT7GGbePYeroS{9 z+MmVcD^pmX#TEGo{x1!y!3K+SfC6-(b7&-AGZtTyxY&Xr^gN(>U50c!Z~SCFk1`iE zV5RndFqheh;g?Y6r2lZVqn#M?$#T+_A@Bk~yD`Idg0C$Z3@!qegfWaFFvAX6l-uGi zC@lXX?h+WHzlg|vF2Q=UGg)J#JH6OT`!Xe&Q=ViolE`=Nq@CWX-KF;?3fE0Y4{*M} zzKp|Ax|Nlo8Q$8WMK-E*7;Ar!&#G)RW7s8z-vonm7#`n+?~p6-9f-9h$T#;B6#33G zShIy{fz5uigY#9SPnN`zYp9XFZVN53`YO`9Rb}P-RYbq027{qF%<|ybX3Kvv8(~Zi zF=~@VB4tzD5Pr@%$mV$v8QjGD9F)>7grS%qE}Wsmb-;>9hNA@MJ1|(@0DSJkFoPhd z8^ard2|XFYZUQFvVJIGqIYY;8qU0NcSTVjuxx_I{zJ=PfUe54@EPDk*>)U{|4GcR7 zPHtl`yaOoR#W3^$@}GPM`S0Azisex#^2zi0+&^t{GLs#A?;?HY(+nF4UY}#oxd+&E ziD4*#=2eE9_Yh~N8w}0v<7p*cth@x%b!*o{yq+9v~QHE-U>WAd>}o48LE( zEdMZi_5l6q%~O_LAHv7&CBq7WPHz}~5Nvnpwk6=0S zoxxGfM_c@Ogn&YRv67_$rN?8OB2&f5N2tJw$4HD#L{1@{sGA44ibqj`*#xC{6eSpD zR??rse7PP$j8xo^#c|JYVR9DvPZ9eg{9kJC#D;+9fbp&j z1a9aruKylBkA^eM1*laMAKsxc3(4R+jtnu<@QLhjxBwz1%g8y_DFmEJ5KoG5 z0lA@2;?b=TzeEmW*^Q5X49>Sj~dOam5hh4>LR> z*nrpUWC{2HxSh$cg}~r6LzRz!cIOx}v*{q7r-S$r6~qF2a_T$ea}0BSzaT4@n`pu# zI%q=0C-}tPW;yi}e74+U(D)2^`jBBD0Pp^-ZXq7NJUA=`@zKAltN3IF^_Q|KEUDr8uyebr^zw!ct_# zkU@awK-sP4FF=$H!&PTwF8^*>@(VSXW6yFP`JBKPL6mQ+GC(mta3$CVz(9*p85%y# z3yJ07vpJ0K9vNUK+~Y($~K9*Ij(mphzb&L{|m`$1`NjM5S=+z#RF? z2<+humcti7cG5&FK66-^uZdIv7|o&liV0HIF?7%Zn4V);l#PV)z*?gJ^>BI-JazwV+t&LYahj z;-nOrK*3x>RK(m*wcw3-PfiZ`y2x>`Im6?6@D9~OdQ&_El6hfcDDqF&3C;dV-x?2w zC^CFNHB_^Gv09%+$WgqMS%CN`bt+?P5=-im9=A0yDF*{jz>rGh$VQTV7Nh` z(}7`fw4avnF+fz+y0Egw0OmfJB-1a$+m9Zg?RWN?6P<~mlkYf#zYRVv1E*m1% znV}4>Mt~V3#FA?8U15aiG!hxUlcf+3L1gJ(4Nzw#L5vi*nnl~{5QnBPEF?%?$DqFr zg?_J&LeFkwrBe-OG3Q(d|ZIpQO4J+}rVXjk15F_Pcy$N!Q_zt&lVXVg|=SokMJ zN^fqusQF{r`WunDQiC7tT+IYIg#BU|OE9vMSYoMk6%S05jc8vnfSd3$MTGsUF>Ek} zo3}T^?w0=A!oUncZ3tjxh#5M=t=0_J33@6RnwkT;Tutz~mkddD@PD-dZ0JkS zX)wbj0{3AIE*5|>IFOWnIl;Nn1n%O81>zf-%+MWX>DU^A7%4c7#jGv*$ATLGh06rjNidfuote~tx+YD-K;D;2t^)FyJ?Ms*mf_=CyqcK_!SKsmFcf~ z#x*>|4zubaTa9B3?+9LJiaqt|Ak{;_#upg&*MlWGn<3{WGPSCY(xY-%iLVc{`YnPO zssCLTgBmE^)S8Nn`l!k-{9k(Zm<`n$0-8Q$7)wy_f+3gS_*(|ok0=Hc)3L~w4XR{U zNI_zJ)&@QfUl>w;;@HZgXV$jxNhx7@s4ZIlZ7D-H^#E=0&=%p=_|1xk9n6^Sa~*$0 ziXHN+jYSsh5W5mfE08$A9=7I3VX{#^QrB zl%Ec0w9#e^Jssh@+JeELA$+qP;hSyEik}@6`F=CnF#z{iKip&e8?bG$6P0Pp@R{JS z149>Qzz1iBOoBS@1Tj+UCM?czfjHZPp@3komoRFK=ptPaosWXypernU+B2BB0o1Vz z47p7uNbJh+g5V1Fb|FhUcR)!mhTR1AeHl`QpfYBSP`%y*SQ+04=Dyh0g%Um{NF7QL zBiUe@0vcUxX$*1tVg|h?I3~uJA5E4xf;N~RO>mnaC7GdlQ^3Y-4ET0m$CT;JY7PBh3S+oRv_6LHzPSNS4pp+RGEJ)~^`O6WG3G zaA*#2D_}?@XjaVdgPduxUSf`NFGO$l=&ka?jG5)KMs z<&hGKJPH=$i{fH251$+}e35ETBtuO`WfD$ zQ+`^lV0NC$FoeK;Is@(x7=&qsnlzrpO4C4?J?1j3Ch%Jz+*%{v-+>6R2e#^KjR&t& zDfHJ}{09przq_`^x$f8o-d8rV;f5J<-r5E^|JcIH(A|jZR~y77?O>&A5EArBXE;d^ zyN97cTfpMG4D$#wA21XVoW)X0&kaT#&)>50G8jifzmQ?-7dpa$X#9yKXngt2TAL4S%Lswvtj`QJLjiZc zF-#!PFD=hPYK6%JbmRCIih>QxSZ);tpCM|(Kb*RPHhkotE~moavqOVq%!CO?BU?KY z#7NO@EarH$!h?A@B3_AQX~?Zb1S+0}$9IDD1kdpdPoSj$H1uH@LeSHnp;|*a)(RB1 zrxhzrBVpd(hG8{9A!hR;mn0?rUoTAbYL6WIDiP8$1;a(M;DZy{;@lo^uM@nrm88jMeesD!*ji0e%h+I`hNR;nI@64n(;?m<=}GAVX?;eVzpBDFXw)^$hH zPu1~Oz$O~X(ji2F*BG3S>S9T6wC$o8 zScl=ukQl_d8Xtv_mw^+!dh|iv?&EzaJjC%naJ%l#VAU7rjB!(jnFPZ;8Qv0{#HSyW zCcGcumoGzH8&v3cKV<3Ml9k=J*|7+I?N$cE3^a!4Q20LH!AjCln02stJvG6kgD}g(Th)i5`>x%~a?fG#$vwaj zegZyMh9L{vBdplR!MyP}!(xKRSqz^Etj{oX84l=kp1@U{7>*FPWiwcffaTz8h8ZL9 zl1+3f4u!-Ok2Gb~w?l`~!45kqbBgn*H8o@1s zj~GHD@Ei{ay~1$vR_pS+#KG}s=t(&&7u|)dHvw(yafg)w6OgL+eTFL&5S=dux+p)l ziLeYPVMroaQp!+DaIB1>=On;$HDNRZY0eSUsLWtL8Gy$)*|L~mxE{l2f-O}Uy2Jx+ z8!==OXkaf%%B|iMgmb43!|W+!v1WKr;8dR>&7lom&P+w6I@z#ta4O6R_6%kTfSpbZ zQwi?7GK6>_VL<{C8Z~C6-87g3n=$Mrn2z04DV7@30a+~w@Da&$T-XlwVR$?pQ5In* z)EPL=4e(e^9$S${YLCZi0{xkQ8N(Sy5bPhtaF-w#i))fw#FRD|8hwwSRi4w@7>aHy za3QHYk!??-aJxD@3y0D zrF~k*4ol}DpI>-bBkyknt+p~m&j*acBN|z7v#2e;ANVJWbLm2{2)2d`5O8H|BS0{3 z0a7^}VJITV%3^505MYQE|H0yKwV&BBFu|0y?`Ju5&hvPrWX)66`&)9EP=1~ zcUHD7f%(cW2EWQdc(X7o%>~grdnu;YWk=u>sXs~cghNdfE8DE#7zzzv9!x--r9D^{wW;puQ z`UbKsDG7d0ZP~9cfsrG_B?5mJ1{VRC>CUj6;BpfN-xfhyNh@(1))Bn~n!Wo<7(Fq* zvl5XX!9X5rB5aZ&4#kULg89j4nWWYX#RNCnGIUr4s1?d^l%Q(_gXL<#Y$d}Cg3}!t z-Vpr8cpqgQwg%9g*1!Yo>VrlyT|wG@=GsT_XBw5!3Z z2Q^5=p+13MV5!Rf*s#JcRcSB2Zp4Gz8!}YFr)8;16Je3243MS_6Q|OY*amYGR`Qsi zrfe*|9YIQGDGhTB)08$sXL37z5xx!uMUG|VSbRG@v5SYAbM_8I#9h_C6A+G_*SK<$UE1rvPeGF&PYU0!?ocw;EBt0IYcRPslO(8D@CCH@Nmp}D>^X;EZ4ir~-RTH~6A@K=HeESp2uBCtSthOC; z?oXE6Y*#i{--4Yh{1eb6v#JJT2zI;DO})2{9xx-*Wv!9>Mj+?p?_FyZc{BSCs8SFIm-GxTY%u{w%koUL!zusUgzZ25X2N=}6U9 zMXHgsTPbgVC**UkUQ4lOx3Z=IZ^5Zssgic3N`JO}Z7M>u}l zS>CxH*St697)th|5sJ<;w7nXvFS;Kh#w{gd9@x9%#dYu$tCgW1)6LX)SghLP6L=3}7dw zScPC6GTQ9)LfsJ6$}cx#hu?MKAXjF7gAi>0dKh=CPWXnI5??!vUNpS{L4WCq4gGB* zQjb9NcNf=>CSm{@MXbfDi-=U-ovisO6gTS}%V9Yo*c0>=E{X3hR49hLME!Si#2|v4KJ0x+ zU2*X|u2Ta}Lmq(zwJ2N2dLrXA3bL*({Ldk>Sr(yKA&yozuYU%P+l^T^unMiNvew)z zvSB*2oCLPY;?fyp648Vd2XVqX6nm?>q7?`DgsS$4#u$b=r*sml&Z6tq@MO?FhjZ*D z#-z?E`$~ts>94)0-zpTVtkdQTW#>@V8jMnrtlc`aeDi`K=OIt@tB|XR%=2i6FBrih zN6Y`v+}SM|=KhC1u`7_lBotX-D<{l`!*CY){s;@LA$+sZICC!`)4>?gCHdL~bRIuk z&j@x#q5q+@(q*DW>XY+Orb1b z3zW*b3B?thM0fCzLgMo)Xn{SLghvo|6>%oUFdV;%D^1_N3=OU+TS-Cv8CG0_TfKn{ zi{r2^6t=6vzIuaM88#xcCU^Se929>aW6V8(25GC9FByc@7GXEwqtH{4SKdJ6_691-yjpN9 zJc`S2;#x&zQRgPE>FW&HA>t+)vo2m$Qd|ISvG1nROx}HgmSB~x*C3O*(7lCnbZQb< ziy`J=RmJ6#f3D}FZ=s^wjLFuMdOZHx3bWg&@GEPAx?w2Q#UllL z<{JG8w|)CC)$`3NRK?Zr9tyY|UZG&Kt4?89GV>nal9Om>?BlV*?ExOnHrwFLvm5br$htQ^RMJGR3Y%f=dt zWsgwDYnxbh-W6udRUdcopE6qQW(TLoIKM{jXGnaEzM^r2q2w`6(6AE>yUvCgsH`+N zDi388onl+q#jqM&#&wdz&$4WJ6(6h}yo~bY>vi*d*iN3Wuwi#8x{R+UdC*0cALc9l Vq?y+knm){|CR)M4tcv diff --git a/java_tools/configuration_definition/src/main/java/com/rusefi/ReaderState.java b/java_tools/configuration_definition/src/main/java/com/rusefi/ReaderState.java index e62ac02ed6..9302e1cb85 100644 --- a/java_tools/configuration_definition/src/main/java/com/rusefi/ReaderState.java +++ b/java_tools/configuration_definition/src/main/java/com/rusefi/ReaderState.java @@ -4,10 +4,7 @@ import com.devexperts.logging.Logging; import com.opensr5.ini.RawIniFile; import com.opensr5.ini.field.EnumIniField; import com.rusefi.enum_reader.Value; -import com.rusefi.output.CHeaderConsumer; -import com.rusefi.output.ConfigStructure; -import com.rusefi.output.ConfigurationConsumer; -import com.rusefi.output.FileJavaFieldsConsumer; +import com.rusefi.output.*; import com.rusefi.util.IoUtils; import com.rusefi.util.SystemOut; @@ -334,4 +331,8 @@ public class ReaderState { prependFiles.add(fileName); inputFiles.add(fileName); } + + public void addDestination(ConfigurationConsumer consumer) { + destinations.add(consumer); + } } diff --git a/java_tools/configuration_definition/src/main/java/com/rusefi/ldmp/UsagesReader.java b/java_tools/configuration_definition/src/main/java/com/rusefi/ldmp/UsagesReader.java index 8ba6c3cc9b..fdfc9934c7 100644 --- a/java_tools/configuration_definition/src/main/java/com/rusefi/ldmp/UsagesReader.java +++ b/java_tools/configuration_definition/src/main/java/com/rusefi/ldmp/UsagesReader.java @@ -2,6 +2,7 @@ package com.rusefi.ldmp; import com.rusefi.ConfigDefinition; import com.rusefi.ReaderState; +import com.rusefi.output.JavaSensorsConsumer; import org.yaml.snakeyaml.Yaml; import java.io.File; @@ -34,7 +35,11 @@ public class UsagesReader { Yaml yaml = new Yaml(); Map data = yaml.load(new FileReader(yamlFileName)); + StringBuilder totalSensors = new StringBuilder(); + EntryHandler handler = new EntryHandler() { + int sensorTsPosition = 0; + @Override public void onEntry(String name, List elements) throws IOException { String javaName = (String) elements.get(0); @@ -61,16 +66,26 @@ public class UsagesReader { state.setDefinitionInputFile(folder + File.separator + name + ".txt"); state.withC_Defines = withCDefines; + JavaSensorsConsumer javaSensorsConsumer = new JavaSensorsConsumer(state, sensorTsPosition); + state.addDestination(javaSensorsConsumer); + state.addPrepend(prepend); state.addCHeaderDestination(folder + File.separator + name + "_generated.h"); state.addJavaDestination("../java_console/models/src/main/java/com/rusefi/config/generated/" + javaName); state.doJob(); + + sensorTsPosition = javaSensorsConsumer.sensorTsPosition; + totalSensors.append(javaSensorsConsumer.getContent()); } }; UsagesReader usagesReader = new UsagesReader(); usagesReader.handleYaml(data, handler); usagesReader.writeFiles(); + + try (FileWriter fw = new FileWriter("console/binary/generated/sensors.java")) { + fw.write(totalSensors.toString()); + } } interface EntryHandler { diff --git a/java_tools/configuration_definition/src/main/java/com/rusefi/output/JavaSensorsConsumer.java b/java_tools/configuration_definition/src/main/java/com/rusefi/output/JavaSensorsConsumer.java index c574170983..87cf20ee6c 100644 --- a/java_tools/configuration_definition/src/main/java/com/rusefi/output/JavaSensorsConsumer.java +++ b/java_tools/configuration_definition/src/main/java/com/rusefi/output/JavaSensorsConsumer.java @@ -8,12 +8,14 @@ import java.util.List; public class JavaSensorsConsumer implements ConfigurationConsumer { private final ReaderState state; + public int sensorTsPosition; private final StringBuilder sb = new StringBuilder(); - public JavaSensorsConsumer(ReaderState state) { + public JavaSensorsConsumer(ReaderState state, int sensorTsPosition) { this.state = state; + this.sensorTsPosition = sensorTsPosition; } @Override @@ -27,11 +29,11 @@ public class JavaSensorsConsumer implements ConfigurationConsumer { @Override public void handleEndStruct(ReaderState readerState, ConfigStructure structure) throws IOException { if (state.stack.isEmpty()) { - writeJavaFields(structure.tsFields, "", 0); + sensorTsPosition = writeJavaFields(structure.tsFields, "", sensorTsPosition); } } - private void writeJavaFields(List tsFields, String prefix, int tsPosition) { + private int writeJavaFields(List tsFields, String prefix, int tsPosition) { FieldIterator iterator = new FieldIterator(tsFields); for (int i = 0; i < tsFields.size(); i++) { iterator.start(i); @@ -41,6 +43,7 @@ public class JavaSensorsConsumer implements ConfigurationConsumer { iterator.end(); } + return tsPosition; } private int writeOneField(ConfigField configField, String prefix, int tsPosition, ConfigField next, int i, ConfigField prev) { @@ -51,12 +54,20 @@ public class JavaSensorsConsumer implements ConfigurationConsumer { } sb.append(configField.getName()).append("("); - sb.append(configField.getComment()).append(", "); + String string = state.variableRegistry.applyVariables(configField.getComment()); + if (string == null) { + string = "\"\""; + } else if (string.isEmpty() || string.charAt(0) != '"') { + // huh? weird conditional quoting? + string = quote(string); + } + + sb.append(string).append(", "); sb.append("SensorCategory.SENSOR_INPUTS, "); sb.append(JavaFieldsConsumer.getJavaType(configField.getElementSize())).append(", "); sb.append(tsPosition).append(", "); - sb.append("1").append(", "); // scale + sb.append(configField.autoscaleSpecNumber()).append(", "); // scale sb.append(configField.getMin()).append(", "); sb.append(configField.getMax()).append(", "); diff --git a/java_tools/configuration_definition/src/test/java/com/rusefi/test/JavaSensorsConsumerTest.java b/java_tools/configuration_definition/src/test/java/com/rusefi/test/JavaSensorsConsumerTest.java index 5d59af96b5..86d3d464b1 100644 --- a/java_tools/configuration_definition/src/test/java/com/rusefi/test/JavaSensorsConsumerTest.java +++ b/java_tools/configuration_definition/src/test/java/com/rusefi/test/JavaSensorsConsumerTest.java @@ -11,26 +11,30 @@ import static org.junit.Assert.assertEquals; public class JavaSensorsConsumerTest { @Test public void generateJavaSensors() throws IOException { + ReaderState state = new ReaderState(); + state.variableRegistry.register("PACK_MULT_PERCENT", 100); + state.variableRegistry.register("GAUGE_NAME_RPM", "\"hello\""); + state.variableRegistry.register("GAUGE_NAME_GEAR_RATIO", "ra"); + String outputChannels = "" + "\n" + "" + "struct_no_prefix output_channels_s\n" + "bit sd_present\n" + - "uint16_t autoscale RPMValue;GAUGE_NAME_RPM;\"RPM\",1, 0, 0, 8000, 0\n" + + "uint16_t autoscale RPMValue;@@GAUGE_NAME_RPM@@;\"RPM\",1, 0, 0, 8000, 0\n" + "uint16_t rpmAcceleration;dRPM;\"RPM/s\",1, 0, 0, 5, 0\n" + - "\tuint16_t autoscale speedToRpmRatio;name;\"value\",{1/100}, 0, 0, 0, 0\n" + + "\tuint16_t autoscale speedToRpmRatio;@@GAUGE_NAME_GEAR_RATIO@@;\"value\",{1/@@PACK_MULT_PERCENT@@}, 0, 0, 0, 0\n" + "\tuint8_t autoscale vehicleSpeedKph;name2;\"kph\",1, 0, 0, 0, 0\n" + "\tint8_t autoscale internalMcuTemperature;mcu;\"deg C\",1, 0, 0, 0, 0\n" + "end_struct\n"; - ReaderState state = new ReaderState(); - JavaSensorsConsumer javaSensorsConsumer = new JavaSensorsConsumer(state); + JavaSensorsConsumer javaSensorsConsumer = new JavaSensorsConsumer(state, 0); state.readBufferedReader(outputChannels, javaSensorsConsumer); - assertEquals("RPMValue(GAUGE_NAME_RPM, SensorCategory.SENSOR_INPUTS, FieldType.INT16, 4, 1, 0.0, 8000.0, \"RPM\"),\n" + - "rpmAcceleration(dRPM, SensorCategory.SENSOR_INPUTS, FieldType.INT16, 6, 1, 0.0, 5.0, \"RPM/s\"),\n" + - "speedToRpmRatio(name, SensorCategory.SENSOR_INPUTS, FieldType.INT16, 8, 1, 0.0, 0.0, \"value\"),\n" + - "vehicleSpeedKph(name2, SensorCategory.SENSOR_INPUTS, FieldType.INT8, 10, 1, 0.0, 0.0, \"kph\"),\n" + - "internalMcuTemperature(mcu, SensorCategory.SENSOR_INPUTS, FieldType.INT8, 11, 1, 0.0, 0.0, \"deg C\"),\n", + assertEquals("RPMValue(\"hello\", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 4, 1.0, 0.0, 8000.0, \"RPM\"),\n" + + "rpmAcceleration(\"dRPM\", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 6, 1.0, 0.0, 5.0, \"RPM/s\"),\n" + + "speedToRpmRatio(\"ra\", SensorCategory.SENSOR_INPUTS, FieldType.INT16, 8, 0.01, 0.0, 0.0, \"value\"),\n" + + "vehicleSpeedKph(\"name2\", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 10, 1.0, 0.0, 0.0, \"kph\"),\n" + + "internalMcuTemperature(\"mcu\", SensorCategory.SENSOR_INPUTS, FieldType.INT8, 11, 1.0, 0.0, 0.0, \"deg C\"),\n", javaSensorsConsumer.getContent());