From ed1fc84a3819b2d1013e83c0e6ee9cc36fc4a9ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Walter?= Date: Thu, 10 Oct 2013 10:10:54 +0000 Subject: [PATCH] Bug 55058: patch for missing function FactDouble Returns the double factorial of a number: FACTDOUBLE(number) Number is the value for which to return the double factorial. If number is not an integer, it is truncated. Remarks If number is nonnumeric, FACTDOUBLE returns the #VALUE! error value. If number is negative, FACTDOUBLE returns the #NUM! error value. Has a cache for more speed of previously calculated factorial Add additional sanity check/integration test FormulaEvalTestData.xls git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1530907 13f79535-47bb-0310-9956-ffa450edef68 --- .../poi/ss/formula/atp/AnalysisToolPak.java | 2 +- .../poi/ss/formula/functions/FactDouble.java | 86 ++++++++++++++++++ ...estFactDoubleFunctionsFromSpreadsheet.java | 30 ++++++ .../FactDoubleFunctionTestCaseData.xls | Bin 0 -> 28160 bytes test-data/spreadsheet/FormulaEvalTestData.xls | Bin 169984 -> 170496 bytes 5 files changed, 117 insertions(+), 1 deletion(-) create mode 100644 src/java/org/apache/poi/ss/formula/functions/FactDouble.java create mode 100644 src/testcases/org/apache/poi/ss/formula/functions/TestFactDoubleFunctionsFromSpreadsheet.java create mode 100644 test-data/spreadsheet/FactDoubleFunctionTestCaseData.xls diff --git a/src/java/org/apache/poi/ss/formula/atp/AnalysisToolPak.java b/src/java/org/apache/poi/ss/formula/atp/AnalysisToolPak.java index 1a191b174..5274b2348 100644 --- a/src/java/org/apache/poi/ss/formula/atp/AnalysisToolPak.java +++ b/src/java/org/apache/poi/ss/formula/atp/AnalysisToolPak.java @@ -101,7 +101,7 @@ public final class AnalysisToolPak implements UDFFinder { r(m, "EOMONTH", null); r(m, "ERF", null); r(m, "ERFC", null); - r(m, "FACTDOUBLE", null); + r(m, "FACTDOUBLE", FactDouble.instance); r(m, "FVSCHEDULE", null); r(m, "GCD", null); r(m, "GESTEP", null); diff --git a/src/java/org/apache/poi/ss/formula/functions/FactDouble.java b/src/java/org/apache/poi/ss/formula/functions/FactDouble.java new file mode 100644 index 000000000..28c217186 --- /dev/null +++ b/src/java/org/apache/poi/ss/formula/functions/FactDouble.java @@ -0,0 +1,86 @@ +/* ==================================================================== + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +==================================================================== */ + +package org.apache.poi.ss.formula.functions; + +import org.apache.poi.ss.formula.OperationEvaluationContext; +import org.apache.poi.ss.formula.eval.*; + +import java.math.BigInteger; +import java.util.HashMap; + +/** + * Implementation for Excel FACTDOUBLE() function.

+ *

+ * Syntax:
FACTDOUBLE (number)
+ *

+ * Returns the double factorial of a number. + *

+ * Number is the value for which to return the double factorial. If number is not an integer, it is truncated. + *

+ * Remarks + *

+ * Use a cache for more speed of previously calculated factorial + * + * @author cedric dot walter @ gmail dot com + */ +public class FactDouble extends Fixed1ArgFunction implements FreeRefFunction { + + public static final FreeRefFunction instance = new FactDouble(); + + //Caching of previously calculated factorial for speed + static HashMap cache = new HashMap(); + + public ValueEval evaluate(int srcRowIndex, int srcColumnIndex, ValueEval numberVE) { + int number; + try { + number = OperandResolver.coerceValueToInt(numberVE); + } catch (EvaluationException e) { + return ErrorEval.VALUE_INVALID; + } + + if (number < 0) { + return ErrorEval.NUM_ERROR; + } + + return new NumberEval(factorial(number).longValue()); + } + + public static BigInteger factorial(int n) { + if (n == 0 || n < 0) { + return BigInteger.ONE; + } + + if (cache.containsKey(n)) { + return cache.get(n); + } + + BigInteger result = BigInteger.valueOf(n).multiply(factorial(n - 2)); + cache.put(n, result); + return result; + } + + public ValueEval evaluate(ValueEval[] args, OperationEvaluationContext ec) { + if (args.length != 1) { + return ErrorEval.VALUE_INVALID; + } + return evaluate(ec.getRowIndex(), ec.getColumnIndex(), args[0]); + } +} diff --git a/src/testcases/org/apache/poi/ss/formula/functions/TestFactDoubleFunctionsFromSpreadsheet.java b/src/testcases/org/apache/poi/ss/formula/functions/TestFactDoubleFunctionsFromSpreadsheet.java new file mode 100644 index 000000000..d56e14df2 --- /dev/null +++ b/src/testcases/org/apache/poi/ss/formula/functions/TestFactDoubleFunctionsFromSpreadsheet.java @@ -0,0 +1,30 @@ +/* ==================================================================== + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +==================================================================== */ + +package org.apache.poi.ss.formula.functions; + +/** + * Tests FactDouble() as loaded from a test data spreadsheet.

+ * + * @author cedric dot walter @ gmail dot com + */ +public class TestFactDoubleFunctionsFromSpreadsheet extends BaseTestFunctionsFromSpreadsheet { + + protected String getFilename() { + return "FactDoubleFunctionTestCaseData.xls"; + } +} diff --git a/test-data/spreadsheet/FactDoubleFunctionTestCaseData.xls b/test-data/spreadsheet/FactDoubleFunctionTestCaseData.xls new file mode 100644 index 0000000000000000000000000000000000000000..885acc157f61fc33baddc8736970ad76d9f6fc5e GIT binary patch literal 28160 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 SZ-G@N&*mSa{vBj&@&9jUe=gVn literal 0 HcmV?d00001 diff --git a/test-data/spreadsheet/FormulaEvalTestData.xls b/test-data/spreadsheet/FormulaEvalTestData.xls index df81bc8a78f2b08e0e17ea7794fd86cc234fe20c..672febdf1fe37b428a64402720cb402346d39623 100644 GIT binary patch delta 52331 zcmaHU349bq_J7qJnOu;BD}ewxA;=XlC@4n`P6Y%N1q})asE8aYE-2`rqN1RnqqYhP zuIvvL1vF?-K?cS37SF|V!4nh&ycSl_{J-B<)jd5dpZ`F*=2d;`)vNbjon75Ce|`G= z4e3k!=*~~~eNF35b>YAzfwaOK3Kp$=^lxnbL$`v&Nz1sGM}Sh@t5$f`v`e7u z3&8kESA(kij~X!IoSI<+1FCgyY;5Jf!}VdM-mI&v$}iN{*VT@{vSl<~sX-Ga&KfY| z>WeO)+@L-SrmI<}DwPQizazW@;g!9?4T=u+QEEBDD-fnZn!^Z}BAnJ&sc=xKy$EkY zSk_OeEePi!Y!*`LIfQ2*>|CkTHiY*e>6{%j)*Gt zG``$D0ujxj;*kI&ya8cLSn_9tw;`N*rc%LNrM^Wt58>pql=>6lHwfqEDK+M7r4Aze z1mVnIRd{0!lh1xlTEzEWQyd=nw8r%tOyjS;?yunN91bgWWa z5x#@4KYV5E1xkH@@H2!X;Um#W7lOc-FA<&%=NLN<0E9ab4u@|HAFtFa2wz9o557?~ z0S<-m1%%z;6TL1%tq`t7SPGvgn5fjf2%kV$2%jjJ1RCM}2phvEnom}05yCqV1~Xv) zMi;|t;T&@j{*3SsgfrnBS6>2;Mz|m0B>2X~mn!uI!aWEtgl}9hMX3)Fet>WYd}7RH zO1+ElHH3ZP6E#zn+KBKqgni)?RhL6>g!Kr!z$e;IgQ=TDm0E@`IdF=W)0J9+a0$XN zeBv;|=?E{I0S83*3&Km`8@JAc?Ga{PftCZ`co<~W z7YN@%SPh?;nA!q=un|A8jn~}~{SEpJU9VKT`;~fdE!x>u*yByKmye;dZ={dl5Q7oV)vou_E^K_9JZ z2WnL_Osnh9)oS`hz)jO?{v54}7ie|KVm(-OMn8V>{aRH%q*Zj4R)2d+tEvrJo%_62 zfmgM9;0>*w`cSLwUm$LuR*V1ADul6Sb$UQ;Y93Gzfj1u!~Sy4OM5kRBYs} zy(<=|(V$-f$FPd1oAK`!m1fcDYJnOfsg04EA*o1@y>#mdEw5L@!22cD1S!qntlq!7 z7nbQ8V;vTr6>O{0>#keaM}vIfw&8kWEcNz{x-ho&_O*zaxoCJWRb|KGi=IH-)WvOa zyYlMPW0#OwtZ(o@C_VPy*c4C` z?|B;6=J$@!OJbAny#e2M-}@A<_uhAs9vXY=zLWJ$v4B$^EL0V-9!^I{InL>f>td&K zxKJ$#XT~-=?eT3~I4!ov=?q-|SnmB@ff#guDXvrRe-qb}A2<)tWpN$i^C#h{ii?||#8yw>es{;wd3m4yAck`>5(gx3L&FlLHe?|h^kzHfMh z*}iLuO4N#^i}*`F4s}3C`~jr zcNLjDyo$xWwdzM)pZf<o| zj9Q(dGYi$}D%8+Q4a!?{Pwe8yPDDgk6>Mm$+K+$ip4h6#PL_yJL!lZp9*FNB8;ty2 zA3p`xOCR5h>!>GK{xx!aSgx#qS$#7^SKVi=C5Ji zf2{ch*ZZI3_sw$sTCS0&DEr`0TCCesPay5{r>Lx>PZ3wNmdZF|Ex%tS*ZbwVc`fVr zy!7EZ<GvRkLd4nECxmh}uPR~9?@nPO1qJwst`k!zh?cgeL;9ld#HtWOx}KHkTVDXaxjGV?AhFlgvwfeuk!hnhQkLsCvV=!AQpSJEb+25rpJ&WTay?(J zQMs;?>l@Eg_Fv?h{{p_(4S3;H8oMBv+R#)Ddi{xeVzkzqK_9}a&n}TVvC9k$=UWk=aggh{` z#Dzz(8u!dUb)ZoOHSkat_)r7eUu_3Vj#G^qGS$Eom2&s%t-v?`b#_M8a=qkrmUJ7h zb!%SV8UQivE!O#tx0tX_uJ6nBSGhKSoAEv6dY)Y8%Jm_+Zh4!mzmsdmJNRDL{hbaP zQRlzQZ1d#$uw3KsQWrV!0n{T0Hmv?ZbTJhxJX*2TS~0YpIor#1$o8Tjv=F;|J4IZ) zorOKaYuzW?4`?K9iM{zgz3tHZ-Jq@mflyuN56)nv=6-Y%u1|kdhU=#v72|sJBetTF zk9j@)<4(B#?c-8hmwj9YMkTRVKRy}MQAscPm!SUD9x3DMuKL$nT~er)8PQWH`b8o- zVqnIqAHH4q?BQ?wVFdVuqF*f6g>rpDu5ZhAzg)9Fr5cv0OsXM5bCOpvW1t52gWmL0 zR`y!CuH?1upP!~uv)eyoAwSEt>F4}@l3Yj2^%}V@lk4WsskJXZFU0k)&&jUz3tms> zwQlAY*9AcA|2J7=@1#_ZqJcpwHn8d@QbWWfOSO~ezwM-1a$^tfWC1ViWC5S=EP@5b zsq~oM)dqCIE*3RVu2XrfyK7g5M$|)JQMcRVx>v4EzUHW32Vd{|burS$f6Y;R(bpXL zUy$n$U$Zl5@=Y;{-5cxq4GMg8%s1qA-nSHJu3R6I>lV3wCD-70Ol>FE!QWA!X>yIp z_4)5UM$D4$d*Hh5drGzUdrHzsg<>ssQ<775Gj_aOZV{xcB#0sn(|tG2xR#lw@@5PoYW= zcK}rz8*#W4X|oO!vFtFV+jf|YcOTw>>+=70$MxO+Qk?J~HMkD>qhF{{byTt2|2PQ@ zoY>2MR3kcc1Z}Xc+mYrhZ_rU1>e8e1p(Wvr*quk|Lr)&1XT2k72jrUbCvg>j(v;`P zH7YTW$oJR&Y(V^Le-ZP8Tr(Q@y^CB&$n^@j#^m~}Tz53IL#cHte6Q9(-&>-O=t8GJ zYZ~OHV2X3P*3`ohX9niV_%he|O>53bqDX8L(8ap2zAB*iXkI#BBUoHcs8VA zL+9&|?gmWLu)dy{yHhmA4JU4b{U&G~k;v0cFvkS{7tv6X^MM5Qe?|0`0LYipbx{$V zE6CxrEmm6n(MnsZvvpWqqTEm6eHj|9(<#hgrJR}!JrBW_3=Ow&c4uhJ+vo+6HG9{O(yt<30^~h8qd&~&QDpoHNM`eB2MFM4LdoVvnBr-*}9!r+L@g#N_j9_ zKMS9CMm7^&-l|ia>ij?p=dNZNb0=p#q7m$9raOV(4xQmdnrqGxAJsvpYjaU?&v2-I zbaQ<**}Rjd(Iq%XP0*>OQ0JTAww6?}^Fm7&?0jh=Gh68sK~?n=)LN1DbX7O;MBXl zFu1@3Q4>63f>#irl&FJ#k&YHA6YL3PYykBm%5+XZPjn`npx=OWXQ))CyrVeF@Q#9; z(NTmv;$R{8Wwcto5i$$wLplIu2B3iyRjLl@pqgj3F{DbV&%>z=jTLqrG$Pw#Yzj13 zT*$>$oev!H`EU^*F6`pwe=oQYaZ$?|@x>hl{uj)xk>QQhYe< zhp)kz%icx1^|+NDIPs5QRLfVM!p^fS3}I@Tfp%A&~_f6{zvJ2CXkg zzN?YM5*h^fH;*FELlBy2DnRF)ZPQf1P1^xieGL1Lopnca#OLb!aczttueItI*oLjq zOVufu!FN=tfov6Yw$|vT&Wz4_UNop6CO6zg&IqheAn5uR8M0}%MdQt z+q4WpMpHqis1lXo{MALb@0Af?-pY;#z$&p+EUv=lzcaS0 zZiU<_$ZbAsof(0M$$b@8p>FQ>jP_uKl6!4e-SUJ?k!U^yq9108?BG>J2g($=vh-$^ zr!t*`U3GpmOR95&txlF?zR^pn@F=S9W=k~_p{v!c9!2CrOXUgj zHcRDSAkf=gQW6(gs}vIxN0I5{mMRqF6QJnRPa^EB>B~;hiMmyN<%#-q z9bIFwC4wa;MYUsV1E0jFBoJ!IQUxE+`JsLH)Pt36QA!&OU?l*0!{z$<&~`~645MI( z({b4w@L)9QgAeed6@skyC?Ypns)rz-w^UC-zTi3G|vW81#~io1B+=pz&|E znBEfkl1KTg-AB@R)0FD!lT__WDK~D@Dh0XKQdL5&4wyE17-L^&{g}Q_#uv6t{K-Wk zIOw#lzZg62I{Fy0u&DmR;Bk-g3pGH}p0H^Hl7t#8LaniBg9Z7drG^Ogl%<9Wa;-;E zZR^~we5iv3Y5Sa^X!ldp9Dk^DLQmZq(P2bC`{Ce%)%!{%`rMwnZFHFM zUk{G#e1~~XPDdOjJ&4Q6#L(ScCam)ak?3hF(Fo!8jHN~jRcEQQ1-Zea#Eqhs93{}_ zEHzr7^&TaDWT`QNeBM&Ef_%ZF#E&dBR**b}Ktaa|arNgOZGEl6Z{JOK`2 zrWiE)3RP9VwU@p?pA)y4CklG2r6vjWvZXGOVqWnm7PHNx{2pCP6IONx19Xm$oIBQyGqjD@hE@kvn1_ZX96;0 zZMTrw68WC9h+N*ck#mwtpDU&Ft}~T7S2BF)ypIg}Bj+asr+sYGqLTJ6kMfs3U($Bi zwE12M)cz>ZJ~Ur{W*@BXJAGnNH%XpPJ<88-fuw!reAO4V`P@QomB=rgjDD!imo{>t zR~F@8B(?dsO z_Xzd9r5r)-_9%MJ9=CnmFVG)s;xd8$=uw33wbXJ!?z7YiLH^`XMDDlLN zY@ME6oBQXitNqYm~ln$|yAsaxxI5#MB*I($@$IB1zZDolTNeyV~Fe{s^Pq5EHL z+G!q!1 z66kJAZ4u}mk0SI3OT`8GBPbfCwHU_9enB^*HPW3;H9EDg-wIsrYy-bz<6b*X-0O^U zbbsCSgk#}v9|yi&;C=h+I^D?mxxa26-D`z>MTErp0jbO4 zMZ71I!VB!;`8}|$QIjq8p;Y6Lt;L7J`>@oawfazavv~8_9>$HhsBAqBMm388@TTH7I`U_`yns6dzPYtap6Nm1c*-VqL2{T zM&p7I5Z3e~k^jGte>0}(A32W>(nY6yB>Bu_b%#{<4*&??A@Dpnbc#9=RFEe!K-meu z^XDL49sNW=EfLKup9m;!wfDKOYh}|u7i7Mrz7UG7h52?0atv4-ijFk}TvAkLq_OF1 zP%~%Xb{^>)%v~&KsiJAUdH-6Fq2% zE<-dGXg*SobNvu~8lqFZXoLP_h@OgQu7CXKQK#wAh~}C{U#TWdo<$}N&Zg6JzpS0I zya`;{#zZ@5r|SY>xlF*pPkc;)r<|^PrsSEpixvvCb|EFaIDa7(MA9j;vU*=r~PnUk-uBCTq~MPunZ-wxCkf32LwN-f-PHXRr8AVoABzX>5+)ZIamq8L(eVSCV(qDo}Jl9+WkD6Dct zmA?jPloDHqU(J-T)RMmmvv!s`B+&LAMVBqJ)L}t(u+$Mjp5ReLcC^${L3XlKgCIM5 z6lPP^stZWoPH1qYw`y!aFMwMBDZDG&(jt87i$gJ{i)`daB)VE|d^KR>%e}Mf@?h6s z`_S{TxiB;={jA)XcOi*x!Z1lClT>V>c!DH)4DP)&1k#D%CX0)3ZWyVHqDV-ThQb;G za{oJpJ+@mI8*So~Z*H^5jSnJ#2OgEhE1b*V=|*#p*6rTU11n@N-F3&x42cD*MpT|aV{04I?aBd3L3o~ ztYn1_ZmChu$}@F(KZRr035;7^Vp6Nj6{qdss47U=vNU_FEh+4=#;P-v)A%giYM|^O z2Q|*TK#Tm?o#W7P;v&b1OJ$sM#aWnU9m^u~IPffiKXsOVJJ8`p2V`i5DRO7(UgI$KxdM1mnTTUB)Vup#&5U>v8k zov#obO%=W^ke3}&D)L^TdfzztIp#GnA@w(P_P+Ki57}s|3@IDkj94y1^5;p}9g!AP zSE~spp3|-4<8|=Uif{z?KH6bdPPL1-i`VFWs%=Qs1YU)tM28v!e%~{hS3J3B4Mfdw z9vOwvG$R;B^wGzE{$Th;Uw})7vwf8A6wQ>PT3S&vlZv9KnW$lcn~Cu=qVUvnwQ6OB z&k~L}?kcSvu8A}aYWPLm12!19qWyA-n3W~FIBMd zBCP#RkzAf^y;?l2DNT2(YJ;L_$)+L*cDsdYCRBl?a>dGp9>wNSuD19TCHNQ{x`_Nq#ysh$e=3dW7ME#bqEX5mafOD6!a?e!gxQH3rBtY7oQZnY!EWQbYUQ3{Es^o_L*`H(|&;JRML2 zqq3NMu}+D#4xd@7#{RZxgZXY7j9Mx4eU0#+VmrhnStj4uE{iS9MI_rUA4ZbV(uXi@ z(A7mlKy)EvvfVW8`;FuN% zI1klyRFd8n*^_MsJk_14TE#s?vds#{8pB8YkYt+`m}4J}{D|Z>S72O2oF^dOStzyY z;LNx{x5Q&O)JLIDmxa;@+;|q}em9MPbBSh{(3rb}rY$f=XRh5!f;rL+$uyYd0OEW(Ru@&^6iZTZTf))+ zGT2`cSPWjt4qoDPzW_T%CDyUsBFbQU*j9ELUJ|93O7*eRAo?yfu4KQ93hej9s8Z_l z=~7g|_1#iDq2c;^DFnv%sLh;k>QW<+6kR4x-PziqOa$oyiVYfqivALU%SkZYv79dk zC_Bcf%U~Zdzyty0g8?M&>$5-^Oe7X0gSJRdo(q(jPDXTZ5zY_eFzg~BN%v)@^A^8# zStWNqWo9%<;}XF|Bo7m1=zd%?xQOH)s4SRe5K#$Xbs-T%&Ri2w483F}A3# zw2T^gZrMSW8g4u*=YD4m%(&P|Jh2>Nv$O3amFQ-v&O&v!RJkBe^eB#?6`<&|r8cdM!D$MRKy&mP;pEDqagj zKovXVCh6uCnVk8js+2fxv@>ThavC>w8&o;m*h68aGR0XjN#|F9RnTN%eUiPlLIw_O zQ-CG))J-(g!)ZQQx3iO$Zbm*aLO0XB+3!-i{VvVLerMNU)LtQ~J;|!JLYSXyRg0pN zG+SXbi|#s#+U2W?=rO9TaQkbfw^1O)UESJOB>HOt@VJ(7!$1Py@2`nz3ruo(+y4Clxs-89-m zl-3hUW0UA1N^`%{_1y0=;9HE0Q}%nJGwbB?OW}4HPt@o* zHUO&!;@}PQn{i5jTbRH5#X2wATijBz+x(oCw!slyld%{XY1@nC6R2Vdsc0T(nkROx za8YDW^9C+11&-^~-Y~Dok%3M)lq3hO>;gv9^xo|G41=XtS200^;=(A5HHc9T+iM>&Ltm(xEA&1|s^;cTA18VV zcBK0xse+EwN2*;a=N9|ORHRf+h4rz0v6Av-F9;H3O6O21R_=$wSTr^?VAo1ZRS8uE zigUKtGdO2E19P)K^mD3pD@@k9>gkFRoVY!yZ$!vVq5e*HZ0gisdl`;ApIvQv^%q_> zpi)!^1?{06MBzgN^+!L^MCGQc358e9x^l|&OK|3?CU6z7Coqk^mcTj_FV!dH^fxYK zH}b*4dFWEz5z#V}_eFnlDeg-27iGEI{zPX@(WQO+i^hD>ut^#n4qL=1J`xDC+)-y4 znZ;MGG|zaE#mp%>ze#_iT(7{PLFdeuu=HW>5Dy1WpkfC|_4|XFp;-OzPswKvuvA2@4vvK=;h-;(f9+z;AUTZKrlUuqzf%@u-JHjEqt(uGSE^(gc@Y2 zp@JOjQS^o(pxCVrwT=j;ikqH8(YR48n|5`fMVQWu2&dKMIQj+*I3zwp&0<0ZFE zXg-BiSksHQhSI}vahP~ZmNd~}GRHPIR7Qy6PY0MDF+z+o)KVjb8fK}p1v%WKXrePL zHA;{pEHzq?BRvYps5;Ypza7Qsa!zo);V&Y-~{UsasKksj*2~HArgFO?CAZrP56@734CaCQ2AJ=_g;!wZ zH13!w$~g3B$jn}_ZHqunz|EZOs^esuBF_`IZHA%6MbTXcS7uK zhZ`5nB#t}d@ZqozM;nbg@uu6F7Erv2@G7U`O5H3vUUWXjI?{OSNVMyC(JiMPP4M0A z{A(2FLMh^Q<7Ff^)*de|e5eWsU4AZPfFW zQ+qYeh+lIx&xoIA9c7{jeZDwKTUN$8LDK>%Yof1L%avXYF+e0f6Mem!i(m!MnzpFD z{va$0l1@!VL>GaZB538)N&zv&NUtXSo(rL?Bt8?(YDM-fT!iV>+`e<7>9S-i-bKjN z#OwEZh7)P;z1c#w%f>5=4yiHo3HBtE}}WNSnAEnEa0;*@{vxvA*3f1{fjio-YP z_heUsh+=4wO}R2P)NIO_IS8SK?u7+d*;(^ef?`}L<_G~4u77X>E;8yOVa z`6Mw|Eeu9Kz{Wn5Z91h%o@wYalf=(lGZ-v8ErX3tGE+ZP%p_5n#+@dKvzftok{y_N zx?_^K88uu)wP%@nVoE*a9k=qnkTZXX_q0SBWCclMO$^ z5Idapvvr5sSpvVr@|q=@pMbL=tm>?!EMz`g%DU8|XG`8GQdB!y7BXVc#)rpkW;+#g zaO!NfG2qpS=*tn^ced# z6mOp`e&RzpTdvW~Q4}3U^+@pi4m?}WmbRfLc+o)_@c$N^6U1XX*XWkWNG}RZK&hgv zs59bP3^}u9t1mDiVx#L!`}#)7s`pl_GKgX0Eu; zR4e>ksmkS`QdE027gcHGcEX(6zv9f83r)>6{sU?7DltUQbsm_D+v0P@fAD@jM6%2BsmkggLJg0#thoyPOB~@w_8E03SBRTUVYe$hNDiTe%5}BJgGen{iJY?E)o^IdN z>|&&I^iHQY*=7`lfmJ+(F8oA0oQgIlmKBD|zEDL*g2tn5YS z<8CeGf=nEob7lKrlisA9Kcc!-m^%eGnVo`e^RZKK#ubp0o_3Q+eYU0tl(5c_NIrO? zh&l*S2Pt+-sYYKWPjVp|FnhxECBU4S*XtIi-efuy$<8I;O&DB7-{yv)$=wgpW|He} zXY~w+o%r>-T;Jpzyk2+9K{i*zDicC1a=J%#VHEE~@uFEoPmG66RVi;zmo`C1QOX-X zHNnfosTN4JMxk0%&H_^{REg?bkR-iHH*=?h*pXqnUp^BPQPCRJ;>cV3-*_cZMN2KP zLS|OcQg|nuX!BO_<#SLhb$hD_f!Cr5wNR+hmRcmpF&@Rir+M3AFfQ7M!Hx!W>-22vP4W=+rrv- ziO4lpY+S0AI4|C$yXP!1_C%!VLzg&z-lU5WEe`36?zRBOX|eACDZtjEbDi;sjxH6> z7a*F&E*0;2(vAvCrGTeAihSLjs-<8z$=eu9Q{Z z$u0zj6HQC&ewl`}T?k+A#7>v@%m_=&_vy$E=KJEvJka2WQDEC?ZY4~*@J#V{EXK&K znXsc~Y*z~Ri8y!NtXnj7d?NsrhWG9`FWjs0`jLaju?IOi*WRML zcXbjQ)Kc0qqkuGJcFkEcTJwI<{6r_dP&XgVzUqFfxPx2hwfBpoxcV_MeodGhY`*-M zbbrlxO8$Ol;H|o-%`&m-Bx}`WQto7H)Md_1x8k8}?5>M#g&8h&P>$_=Og}IcQlEgm zcGH~_CY$okSGQuaxXkveZtlu(hLgPz)52vwEA@=S7|v-6b(>R{`Njd}nP^JGK~3B1 zu(S@`+4uBISUrZ5l?!#tqUBPBi%|vEdwG&yZpN%-x%1gVbg3((-j~>VuaHcaO1)dF z702|%v$52}bQm{ChQJ5fAw8jxu2p!=EPAahs8qF;YjuqQwnYL}lGx`&MlR;?FnV4b zylCl_Qt}j(%zkSnUKjA5Zq{O@WHe_&ua!alBKmRMv!-UQ~tiWJYQSD}CYuS+f z?aBoY{D7XMzYLw&*9mdICKUHzGS+2B0OOFj4uhIJW*#Ign1FfC*@dEDoa3w#>;z}o zl`(sg6R&f=TC7`5goue~5jhq9HE?ZkeJ~}SB6qPUbvxweQXt`9>#*SfASbV>@w7Mw zT9KPTt`f|L`}=jyg?H$@+V!IT7}U?UvOY=uybHG8(|on$6&6)kAqv{BF^-n&rR7HC zcG!C7{X1~~Y`qAWB~O>Hw=$Gg(eLZT5$-|JhN8>d3yOYFCxQe59U(KdTqlFcK|J~11i9H7 z*xQ>cPVWm(R@LlEZ?H9q^0f{>Z!yUf)+}Y~#R(h;Lno*g(e4Muy@z`1jdZ*YRfTxp zmF(&@#T>PI01&PDMl9Ihe5mTZIO}J+X*b=od(_whRwHXA42r>k_b~$))y>94JvtWe zIkr+$Og>O_ba%lEi(>LEM+#XAnHVLA9FP-mZZK2MwtZ9(MWJp{ynlcm{s1b+hPBaF zu0s_oaIn%`&9em?MJlsx$8^71y&5hrc7W;}|9|6Tz^SmNu zuw`xxvH@3Ok_3^`MV@T}{X3v^hiw8idjhYCFppZ6uL*9IrCt~6AC`JckpG8!EyD6G zNxW4X>TRJGT57vMZ}TYD@ODeRC&)#X`cROIJ&MRXEcKBf@3hnoK`z0It)=)KlE~jJ zpuRs5>Ml!tF3`I@icDjc`a+QRSZb#r@AW7m?*m0w-zi$c`%A4tcc6vSlX0)9JplOt zuq`A2$iNeRiDWhfWViVNHwOTjyA-+E!2QX5{S|s9{12iF$&gao0w+xY51|;l?wn*c z59LwJ_EP&@QYQx`(Ym{g-1fVOXuq4LX)r9@#j^l2?|CT5vk-Wbl7rVCGb$uOJ`xC?Z#Yl1J%K zhZ?nSj1wq#_$T%b*{XgON$?(dOVL9Au+(po|Nks?NRX>N zipa-6vAtm224y~6qa5OdJZhh|>xjXW5Z|b>g%JBtMj(!N;Twc;Ua;9XKTbsAKD&!B zF3o~WF*0^VFd%z8Xms<58i<^@kQ+`elf=Mc5cUqZWm1fS{c{ZpV$WpQBN^mFRAQ28 z_{eh^zXuNo(=bV_?#NjZVTnm+vnnui9$BWF*B&}%ig^fAOnU@YZZ^4PaDExU%*$+O zL_*&4b#kD?^zVnoPLIPDoAC_pVJBy~t{iySP7&#Phh>Ur<_1T^j89lI9+9kT#Ejk5 z5iz5?>r#Ywb>6#Nm*yPtnJ&AE(QhJJA8`&W*QX+tM!9U$tXN*?U?o#eeMonU9u>|{ zf-{@O(In1XM<2CJv#U%xZ9n;m@uSXKond4AZ0V{EA~}BUKwPy!_^x9_8kw03k_x#-@clu1t%Bu#8o8HZ3AZ z{3-)lM*-5vg~LEzh&@px6v1vBj=}19jcy0XAk`EvbQg?vG2t{Puu}Kb5$DvE`lKe2 z5Y-XD5Mg+12|G8e#6B)~A)W)2%R804GjMpw@Ge1d(&KqqBO$x%lPM>R5-@tbpA*+$ z?K05i@M)w3jBf8%Cdym&va?TI8XhVmjtWT?6+DYd(*sjQ1@3pLs*R`J%@jCQs_1@~ zYFP~BcjHA!8;?^`Z0sy9L-hZg)qjQ*Uhh$UD`raCMw^zIWW_Au^1MyU666b($`s_iT?T)O4@5St$uzG*x=l}auB*gLT}qrQ9>odBnUCVWM)Y-? zt3-Ib0gBVm65)~8Wx%K-MQP~LFn!@Pw5e#KRG@DH%645U&>Rb;p~^(^w=Cl_LBH)$ ze!)A0aG0-Jy<-zQc#@M%Ct>rhP3t6Vwu4Gh6-W!J%hY3AJ{mqP@*;+sy-wCYaE`JQ zniyV@HRX@Ht~$fa69)Z5_d+z^oE4aog=n_UPR^2l=)Td;!ty<^WIZ~AWsQ2kvNSRD z;tiG?eY`Um(U&P+xrq0^6|Y=)eIVkUfHc-}{-s%;cmH8arNRyFAl9sy4z{dP8pAw; zHc?&O8RG}hET_km^xe-dc@}8o{$I2Ln8kLJfVBfc$r}yXP0FTJwTq*g_v#m}oxk?NErjvL1x|7RCg z44V@@L;lSP^3G&#o?8(XUWF1f1XD;O!gzQE;s)XZ>%`oiER<+49HF@y$ou+ya9>W} zW#Egz%K(oi_NG{~AQt*~L*hxHUZF@l5+8sgR>acIy~JLh!d{#x_OkXe%V+%Dk+gtb z;@z&=x!CR{{k6MIq2g53!AkS`!(O2@b%EPy_Yysrr}}$^Ol8g9hB7sZHZ&f z5Q9SX7NI@|m4cs8=`BJ%_3XdSpZZi7wVCM5e_R(ud&6n25qKYg<42D~+CBoGx8O~I z^9LpRc*sgA=1W^lrR4j!NBKRzO44@Pv?}3Ak7w7JhZk9P4r3ivsGOlsVE=f^6Z#3K z#VXy{DO#gj1v+b|?;8ELGk4kC{e{;n$j!xHpB3uWnc**!{dfy|h0hxg5Zg9J)OT?;I@VOT3VCFg!npyEy2H za7}58h7lx(QZQ#DN!;IQz?*{5xASZ&?ilkFpIZ`}OX5h*;E+rqc;b@}8q{bPhUUU^ z;qIr_+>7AdnsA)=9$j2whE3>T?AKvN!fjY{gT#d;+7Ds1PQg>UMePt#@oR{nvkoz8 zgbJ&Pu?jIeLqkLp5jmMRB&n+GGlxhY;8sd_IZL0?`J;!5)m{fPT6Cxs_lBj03H7F> z@E&^<_?Ab}zHfu#U^N1QU8cSp+2`W4d-CEOegbQC`{+nv@D4zfVI)8`9*D)AEiB)) zEYBA7c1w*C>OD)17UXO8p59;=6pRFf+xvEr)Nj##3f+gfM-fCfFc? zj`n#RyD8*tXhSTa1;Rl!sVaEqZGKX#Otvn7CA=>+&TJv`hHYQAQtrJcGN9ugWcVp| zT;T9OIa+WBHX)g>4@bt)7!izQ&gJVcl#Uh)Cc5X*7z&!ZlH+D1U-Ip->xAsdy*aWc z;LwT9k&xH)^6ramk=-Zm^jq?s)b%<$Ym6wK)!K{}HO47hugjuiAlbEcYC8tSCcdZR zyE$W2EB1RI8EN-gVep^^3Yj-AGGrkSgjVy zlv`y)L@k6CvJecYwNM`*atp|1!m-pK?h=HoyJfU>5j25CNHMbPmXn|^A~BRw)>;gP z6GhfwLe^x(*P16s<(#L>gt|@?6EU@sbDl)tXu6CqyACe@TY3Hl3gWDL8t2eZ8Zst6 zwJ;Kv+vkMFhU6s*Zsz3W_6oSToNG7lABIY4g0W(P55bJ<*s-1o*igqNsoTUryHQWQ zCd#i)6XRE(Ve6`kQ_Hd9lJ-QpjHa#*Om237Zk1)M6cPPduW~J?0Qx=FWX_WOcVy6fa0CyiJqd& zxwivOWgXTV6P?;R-8Bb4sfMD>hrLUg^I)BBi)gCKd`hc0?7v~66D^*bDifW#zU&}FAgl1{0W`%mB@%k`7_LuG`^LX^_-U^QdC4rvuRO5ri0=ZM^um$*X(7j3FkC) zQ@IiMHx{t$aelAI!QQADXk-ZBf-LHsx)J+KQR5-~-TYDKW)m$Q;){N7BVLFUm2o`K zEvv^#a<4P$G~rBi=w z6x-Q+Dbs9J%$I`N$lIs>p2Agjg|1Pj;df2&+S}$>Sj!ngs4MN5S5PfDPTZ}>iCcJ_ zxJAc_TYQ|jB_T#SYhKWAL^ExrZxR(WveW{h8e59xV`b}6oWEpSYM~%=EJX>bRTGaQ zvZTp?`2Hf@CfS^RoUUi;6s{Jp(AZE6%tBQ< zp(-*j_Z}NvQ`VJI-w3Kgm9CWfy3dKOlxm)9O|epHSL;!1!Q(xOUHb%&Vvl|i zC^oQ_b{I7LDa1sia6HEtDED0F$b^A!VK<2<|- zi_A4*F`FI18d(uyf{Ft>d`#UF*vz5b`y6Xzr3VMLxHnx!1uh@M9oGEMCWit zBPY7XTaOHU?$Nej$Y@ywhhN3k;}Dq{7P2vzE^eIs&xq;FtK=W44Z1} zLQjivZLL(?(=&ZR95BukK{)UAs?IB3FIH=6?Y`bxjr(VM{=}+kIL>{q>s9SK0`M1p zVe~|V{qWZnf93e=hQIFktH57x=Z)8Oe%`70+6RAw@z)oBmH1;;=jiLWKRyW55d00r z-)ZDsBj^x9-Mi>G~w4&;i%WI>;O|T5mLhdc#h*;vq^wu!?40TqnNS z3?;C~t&>_d2gRFObw1yuFVw*|@p~>qux$Xh{7C!-ad1od#BZ!3hMQDqG1~PPXx4># zT~_?YIG|4SpSsn_b>f!7LGJk08MoxR(qBxXiz2kn*^az9b!PaJ%v?LvIe#F!woZI5 z(TUWdOLE=GN?rs>Wr&l!?Dgu5&+*(MUv@#6+aWT!JF0VLyoOd+=UZ!PnOq!S zeG_MLH%N`mX+f|CE4~GR#@-+`u&2(f*r{{}q?@;>Zjc6I+@W6F0eg(%4)x*=dDa~u zl51+!9SW-#cPOR8CgO$m;xdTyFdYTMcN3NJ<%$MUf^41}C?ybiDnX<2YJS7~1S~Of zwI|FedwW!`DL@{X$y6+Y`;U}^g(SwR&XRjNa-UZ(YEt~X$5Ryba14kCfAQr^ zxCIM1AVWqw9-t4}0%(SfqMDXsg_G4r=gYTn8UsA3*p5}^xYmoJ%vM&JFG`MlQD(7v z(Wgu<` zNGOg(Oxqzyj!A|JpbU;q+*#YZ!MbI>I9g-|^# zwNsEMc@!&hvZZzjvL`6I{|qeN%`I@}hWD-ef8)H*6~nhC*lmJ6CfI9&eI_^{fm8m0 ze&L*6mj5@x9~9Y$eMZlwCxk=jN}`AHaZ)U0^=WRP7=Xqq*VXZY4((kVFS=WR)Xaa>&bN z!ilB%m}2CW0bJU6#U#3N78B)>HQpbFJGwml!#hNcV#``~tSzJ%(z`1S-uh&1yceO! z%hbt;sKhvLgpreCKZOorXu(M_7v&%1c{*J-pZP$Zyi2{6YD#M#6sz@z)i$e>)j_A< z$NH4$LEkuj(8}b#H{Fcm2YuuCui^#+tQ-6)3hH586gEwW5?AsodAZFv93|K$B75V@nk)oitkpc_0nZQ6so@}3cdxPiP|!bQ*x z{KX`W>A47cK_D}0Np#dt=1F&9BCpJGA#{Ubtu}u%?x!EOP*!VkbDs<@Ik3K7NX*Ri7V+K-=`)+_sEfp~6^9>*Pd3llfEG2^uC zzrNW66drlw-GyI5zlAbzaLPl88)RewMS%`EBX{WLC*X}1kRqXuEjW}9rOTa?*_*z&7Ak-mqXrT^9b@(ajHuk8=5AD0bjn^02Eqbc~N4^7-g@f`}pt8CHJv+{Ep{ zMpe+F>8iv74FoX>M4X7kT`w0wE#3J18QWI8^9$^C2sJXO9fJmR|GLfA(%#+O15{G;q=pv}>gdpQo;_W6bf+k2HP=9e!JfUf1 z#W_?l$=cJ>cDGL}6^$hOC>aq&GyU@2Y4_C6JcK&eqQSsN{}VcFeAGpWkA9a06zd(q zgM9WrnRHd(ne+RH#Ur^uaT! z4u|maw1hegE5CwF3|-XKhl%mm-7qySN*6pL4tY8%V<80u(17`@CN}c7KsAj^`1-)?cf*e%o34xn35{KIZ;FQ*19E8`tbOakIf4HxO7bBQg8{i&$^&s5MC6LY7J$peQU&`s6{H1O>5#N#KKBUaF6vKpj zR(Sm-ig20GjRMLREC^Woep%e>J^rXemOg?o_yIrp+R_P%ByGC`1?au*^!__?J(uqVq3+de)J z7eR^{L;LveWJtl&uC7DWZS9~NcbiycZJ*hvMvksvFa zm~Xl~67x-?73tN0_B>1o^P0K9M58r^p9*YY*#Sj;iznD*z77X4&T~Gm4xL!dA9hdYY@6! zws@*}Dlc19ZC(ojIYdDBoM5_aPG*OxA=Ce7hh1IJy|a_*P4~_Yvx?KCa4Cp&G3!Y7 zq1CD!f>HjaB7ZkaH5014rPzz&r+7Syop%K&{wg7~0jfiXUv4jN^D|VP8%}Ym^86w4##ZQcgp1iy`bg<-W z+%-negE}N~*D3Bg;1xWL(US$^rQBSv!S6fCPn?J{cQmQIdkKq2J^AceDSrv7l+yx( zD?w3I^dDJ8IsbX=V09th$tq6=@SUONEFRf)01O=geh#i;>A=<3e2waK{RX=bxnd9K z10Oc9TxaYzn0@An4*3!(nkFwvPbS8%8oEKA=*1kt%S)=fNoBp=RJKRAUWS{$28fA* z9ow2KEWIJmN_tREJ#)~jh6#-WkXc=U?9Vf2B7w6{fah$lG{~L#O z%l}5I-p7gSbDTIdTGi6o{~bpB-VmE@r9`US$5N$2^|e%)sH&ewQB{?e>LAGJ+HmP4 z$Qd3*PK4MmqD)4A$O3o8fgT-6$zH@q=b4j04CWl(02Eq9iG zkDuu)M-xQ!8Hwmmzt{Z{9cJ{|iRdo7^~uf4;dke%z*SkevCXzwj&Z)F(|tEKLKp4U z8ORo4wyP4^R`13Gh2>~y$+=wuu0|_0D}g?1kFG{^2BR-cM6cSTPeF9%G3fn! zbS0u2F?vn{-R}o|GNKzJI_QhO`3D>tC=X{HgWmE3evq;}oXzNq5=>hDsJkFK=a}fx zKZ?FX-E=tD2UFneL2xpsp^GzOpDuDf*{gHFBA1+HkTNXtgoRVM5BGM;!+A{g zX<+C+T@_{XIT!!TZ%TC&A87@zpzC%MA8Cnt8H%pa%A@EJ`JmX{bb}*|wnIfX7=1M6 zD{ih-P;ESlCT{Cd8Bvg&8JGfS(L#@Eq{gTskD~p)^C+6F*rRBz5|5&hICnHWX`4j8 zrg+zOJ1?!7ijG##qPC_Ew17E_)J;@vhQ4m1)_PATRO54&s*q-Rl{SS{NJE?jDh1Q{ z3hBgA7CzjquETr{Z)!+0KLVlS8UxCh7MQdXnwYwAP^fU)?$<3RS4bD1-~bpo1S|*G z3>++j#Fn>0S;$Fb=y=Eox(@flqL!nmtR5oz)exNr{(3mu_Up1PJ*9SkLnKw%Qy{ZJ zu`IlF6xXnNy&I>?xX1709nd|R_LQ33Rd(8rw?CO*Rfw12q&njc=;90Uk~QGn*IO0B z2jp!$;5tv^3hWnP;_XE}w#dCbCx$dpE*DdI}wb0pl0G(G) z8NiEPuTHDmavciq@3cOs+aa2x-RaMccx~dv%@DoBIqM)g=w4EvIj9eZ#9m4DF)=iX zTNM-IuLH-(UY@ij-7l1h;n3?!WMZr^JwzHRwzsJH8VF)2_U+e#;tM!>i&+2s>zTQ~ ztS_#@9O7qPl!Kp=0>oY872yu}_@8x$XdkK2Tw9?&lJixYlSTJQ%Eq!PrQ~_GWW1^w zY_F4&OOTdWZqR)z#SoMED1rE{{#FF66s9|`xc$z^s;%>ZTjw@I-C+uiOUzBQLYKNGRlJTt6Y~2Cgm2-m(vKI4+k53DXJ=~ z3J;G7A0~p6P)r<`G`zwDjH$mW(b)CcEI_NQ#!{=O?J7?(RDg-0`?xBh`&5bhe05{E z+N9HcTqUqes*?JfE~!c?&F^P1fi=pNx205xw7GI_avZkA%#4b&D*m-k>7(~!+k2^A zsBXrze3KlbtcKwm`zBZQO%CBS@(KPZ&Lyg0#PL#7Xcphrpxfh(rfR3)H{8gALTDb9 zTgA8I&_&YmE{6eWs#Tn|tF{wJbAPqJ_*xXYqUQRG=H`Q9qwnwe+Nw)(s@ZVw{7tvG zpuec_lAG?>6`k51UeO=D8u|kMdL}mlYIHR^Kjx-h@16d}?;Xbeir%xo=`s>;5hScD zqUn0`S1&f)9R0g4X^OWiA@U!!SN2Wck%uB~#nZz*f5&f*fe8{O{P@zlv7=`qVK98g zK1pNV#_5*L=InmBq7f1Kdy%0ymJFVV)Rgv62c@Xa4^}<&gu&t$H$o6Y z1z^jYK=Iflln&~9Js!BNf#X!FZ;Pl7AFb3d6 zaog&D;Mw9h+oHd9Ui|D?ap0Y=4&#Iq-s=dB1)>o|lMUV*XV{qczJU#`5srJMvfh0g z<%NbCA)U(q;vD{9aiGk1Cw17gtFthlZldWhfpc^M7*hX2Ia+pJT$~s@yS?*$`{B>6%P^1 zFMx_^qajHuW~Vbmv}m90O45)?rE=U<);#J~-LRv{-CCOrtZ+y3s8~`h>3BnIAMy9N z!E%Gb{8IK%@r#=wCWRg|9bC|oblCEm(MY@Yw19|y1O_Al7Szy zx8_jWwP{s^^Z6tg((EWsZj6Q|$3$E>y*;ou0yq@v%s8S8tMK}B$mT`jw}Udt!+n`A zc<|&-C{ZMJvvx3tG>szrJKK-ID^N0`KY3z$<&PU{DT(u!iKdcvf3fJLm#;iuqPrXw zv~;jvL=a8Oj&Q~zIyy|0aT&}_l@IePL)!1Kr0P&+|{*doKI*5l;D^sL}|L z?W3JfzIR`%>o9K|;arI59wS6RWW|S@nn$WEB!G z#TxDGM08Wk8l7#ZFT4eEgmgg(Hd`=5twcg}q==8*FVX7AB=M<>kx7!%c}H5I zvoQ}y1!Y=>`A(tC+ssCaBu4imrEsIXvqgE+Q680dHh#SnPB+7nqlB7isnG(x!lQ`f zS#oX*j}}3LpiJu@ji!*ozM%R>q_;&neczwXBM6vtW1H1Q(B0+vMVAFPeM{w0G#A3U znGYSYJ!bDf$bI7*aV(z4Z}7uOJQ&XsS$Thn+#$vmS};)}jpIk8H535C-rN(4o|h&^9_+y2c>4p9DTS%y-7L+w0uxeC|5$m|? z&oN?)1Vz0kD5`j`$%uT^VIqzCN>EhI#dZlgMl^E3%f|uYprxW?r2dJFtY?B^eO#(m zT#S1!^u}7L#nqr_P}CHHx*y!)gp0`?S-4P+MbOF4D7xi?)iW9@iI8(HQMqs6LRj0w zBh$M6=UR4%wdUr7JTvJcsDc0c=B2Tvdk+f}x%VJ$=pv{U_d_0X??G-2y9m?lF%O2p zqlDOB+eFXoLa07}F>+Ty&IJ&GCn80qencj3*3utR<2ZKUqNwWSFP?bL_iN5Vg{CSw zqf#3lYy1JIs4(N07I-lWFgBfW;x=Fwfpg)cLyjnXtSJ0%keVIKSWn^Xc*cs?xXLv# zeqEXvzwQhVd1pA4#U5#_^g`xtF9h^yz+~q@3_-ki4up(wpWSn@*Z1ASHj1%Fx zvqWz}1zm56B8oLmxXW%)Fk%1+c(-lF!Cma#aE*z5HBn^5TJ|X_{$k#a16#<)o;R=v z{I*Y+wO%#zo5#N&zDE%9>*E)M$A@Kt7IllG+kE^={)Hny-Cs#Y{24*9XE=_zm5ZY5 zPSRfZAd_UCy?+VpEs*{Mzi zQ%d~Ug;2SHU$dV5<3jqxA#Hve@fr^?PC72}8hMSCi(-RL@L6Jfi@z!*KZlO` z(>~+HKG(n)bd2$yeQ4G3VhZCI(3(%-^n&rC;D1;Jn;5??O^jb}CdTS$s3^%qc}js! zOu^KFS=)}6Zp!`6I`PGO?N#F@N>%Av^^<;BIp?PYTBY%}`b0QiW9NpHK-0ed1uK&- zVUllM%eYIA6E{^@ybl)5kA=^Wr2nP_-iTgn{d=P5Z?2^#2{q4BED?)(kK)jLy+^Sn z9J17z~c_4WsX{u*1Gl)%f%2NYnIa9@Q*viL;PPE;* zBsEZuXc|#&xk>a?XLV|z`|!(!=Z&_6%fWIA&J`P3E(fQ})mD$<+kIZP6xD$Rnawvt zxGZp{rUmj@6RFC~q^evc8E&>|S4oCjJj$<-S(0|EO`Da(WwvlxXwzm3@-|THo@WDz zfu6S?mD+^{HX9vGroxYCwUslpI6!M)Au~?^Dh||#&VjT5eqROpnT~lD|D}rjbAodK=eJ7Vvp2UqdTd?5wpz7rBD8~oqF~F-%FQ?KKdelD|p#J(xX4(G}mpficRD9Qd|F3M&Mtu5GYcQmGU z=E}))V`zBO*r?Ufk)lOtD3ysRa0~fbtB)Z;ih!LNSt>6eC+5Y_(M14fexyrX6hKLg zq5e!^3SXu80&=-gBDv@w;eDy;4O((;8a9UA4#3jjm36?*BZ2#Mo9UzR0m8doXxxuL z_@INwS$FEKfD9nbd1=6y`Zyq~p<6!K9$MNqjtJ88lCW#jGp<$t*qU@q9TU zx|Yk?1|w@Nm#mG3TF2C5hEhOYC$^h-6o);IFgnf-wnzE2@YBgYjl&nNlXM4!;ZKCw&gS!c)k*9B_iLcuv&Y4;9EcR@9$T zsgukt9K&yo%q=W)tD&A^YMY_9GIG01Nf>U2OQklk+xWS-3ERddHhqriBFheO_6pZUWM3(F z$&ah;MY0xb>VD#Q2{$GGEaH?KKTyGDV>Tjb@~Af-i&WPOal$i@8B7F86lJSE_UqHoTvO!Nf4LNm!%nyq zdGVx6(b($WE=Aq`|F{%&`JK6nKDK-`Ns_@wT`1Z4eU~Eho^mPb>Qfli6n$(zJqYMy zD>>iE7J8dyA5xvXF=!`e;GJ4pRP5xG?lQu6G4+h0o@MCoU5bj#v!Hx}7Usz&lYTaW zm#Y7Yjv{J^vpIBTRsHnF#&8w84U6}{@TVn)S_97@1C+oM4b$rD>w!|;r81-9S*~5e z@Hts~H|ww)k5SKZx9TmGMd#V9%5z{6#Ae9zplE}f&8nPt-_&^*v||IkdZSdH8?=*g zb9eU><)0v{Z?w74B_}d5v6;G398k5-}W1Gz01SQezuaH?d~_Ga6%}_ypn-S5jdI6r`B;Ywcu<_>4>?#oFL61-HV_5 zw2O4tQE?@LjeO+Fz3kY2D5fdOV|xts0xSIoL+xkeUYDvM=nEhz5A5d@O;MXaUxCx1 z$wZfw$=dOFeZ|RvVi4^49-j(KkmWbO#P-KL1cH+e#8uJhxq)CI2&Yo5KO_Z_rR4@f z)qXty%4FFbOqJtdofii1@D|iv>3PA?g~tEISryB^|HqNmN_AzqES(FNf?59R za{N2QG5eBhmih!&E8=nDC%bYcS$G^+TRmBhT#{fT?t}K^js)B3^DCcWJCQpQ#zcec z`9zB66DHYCi0gSgLut~EAK(*T6UfPM{K0nCUdKeLS41~{QbxLK7HRl{ntPz+@k^-L ze?P}*_UXlh59HtR7x$+kWQVn$zwh9s_m|=O)TW=NC=QIld-ZF))_igBYs`G{+8De; zWAFxur>0KC#Kwy-A?4AR*`WIkb%3dap(uVFd+$<|MPD-1K}LdLDWm}P1|5o!(xpnRVUnm&Bahf;)xLDSBF_mwjx6p zwp~j7cs@1rVnmR|4^$(Z9596DxK=BS2uoCVNCu%bZvk?pA{Ib7RU1OGGVdtcfKo*V z#~f9E4#}$MQK;ga7kL!1{209o^3PESBR=_Ym`$0B2Q@{RIbf)FStuoh3j7{q&SXEI z3ccUDoC`V?{5@6|zEk0T4-)yvGS!?Z$Em%OZrl&;3y}E zW?t#dj8UB+BnC=DAN^M!fji2Y=nOQ<@s;qB`Y1Oj0z%1mAF#RJfjmu7b{aO+X^!h% zLy_mdRUo#a5Ff#KeK*SQ6F88hTzyz0!o+p<3Eyw_0$aoMyjsuKYC5cYTu- zg>B5X!M-V&`yCHe$k{nQwBHY?eOJnoxtSO}ftBgABJwcG27kxY!DJ8CM35+-_b6@- z!|Df=_lieR$6xwQo-Z7=p;s5f!AGOZzt!rQR(Vc59 zo7VL=hhH;m=r3g>4}W9zaBJ-|Me}i`u9kn>na`g7^3>k!_Wh3>9Qg9Jq0jB5Yvc-V ze*X(IuU=Dk{EB@C-`xIw)9?-U$$Mpfrgf|R=|gg}wV-)MbA8i{riSpGrdg@Kq1>E# z9g(@ANMocS+}Kv%I;*Wg|03kF*14g1Gw022o!L64b!J;L0`S`~+dkGKOReW0mTgv6 W?l10t;+5Ae58T>luUactW&9sq%se~* delta 51694 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

k#s^Ybns32|Lb@FBgR;>t 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 b*(~Omae@0!6rTUH83RL4k2L&TG`Ri?jZJiO