From 4787d0dd2dbbd802a1899665b2c61bea10a41afa Mon Sep 17 00:00:00 2001 From: Tobias Peper Date: Fri, 7 Mar 2025 17:31:35 +0100 Subject: [PATCH] Aktueller stand --- sqls.txt | 15 ++++++++++- .../vz/rest/FillAggregateTableMain2.java | 24 +++++++++--------- .../info/peper/vz/rest/VzRestController.java | 21 +++++++++++---- src/main/java/info/peper/vz/rest/bo/Sums.java | 24 +++++++----------- test-tabelle.ods | Bin 0 -> 15062 bytes testdaten.ods | Bin 0 -> 45875 bytes 6 files changed, 51 insertions(+), 33 deletions(-) create mode 100644 test-tabelle.ods create mode 100644 testdaten.ods diff --git a/sqls.txt b/sqls.txt index c36f118..85aab11 100644 --- a/sqls.txt +++ b/sqls.txt @@ -15,4 +15,17 @@ SELECT SUM(value) FROM volkszaehler.data WHERE channel_id=4 AND value < 1.0 AND SELECT * FROM volkszaehler.data WHERE channel_id=4 AND timestamp>=1704063600000 AND timestamp<=1735686000000 AND value>0 ORDER BY timestamp; -SELECT timestamp FROM volkszaehler.data WHERE channel_id=4 AND timestamp >= 1740697200000 ORDER BY timestamp \ No newline at end of file +SELECT timestamp FROM volkszaehler.data WHERE channel_id=4 AND timestamp >= 1740697200000 ORDER BY timestamp + +-- + +SELECT * FROM tobias_aggregate WHERE channel_id=4 ORDER BY timestamp_start; + +DELETE FROM volkszaehler.tobias_aggregate + +SELECT MIN(timestamp_start), MAX(timestamp_end), SUM(sum_positive), SUM(sum_negative), COUNT(*) FROM volkszaehler.tobias_aggregate +WHERE channel_id=4 AND timestamp_start>=1704063600000 AND timestamp_end<=1735686000000 + +ALTER TABLE tobias_aggregate MODIFY sum_positive BIGINT; + +SELECT (timestamp - 1653030000000) AS TS, value from data where timestamp>=1653030000000 and timestamp<=1653030124133 AND channel_id=4; \ No newline at end of file diff --git a/src/main/java/info/peper/vz/rest/FillAggregateTableMain2.java b/src/main/java/info/peper/vz/rest/FillAggregateTableMain2.java index e31656f..40fd274 100644 --- a/src/main/java/info/peper/vz/rest/FillAggregateTableMain2.java +++ b/src/main/java/info/peper/vz/rest/FillAggregateTableMain2.java @@ -27,11 +27,11 @@ public class FillAggregateTableMain2 { private static class AggregateToSave { private final long startTs; private final long endTs; - private final long valuePos; - private final long valueNeg; + private final double valuePos; + private final double valueNeg; private final int channelId; - private AggregateToSave(long startTs, long endTs, long valuePos, long valueNeg, int channelId) { + private AggregateToSave(long startTs, long endTs, double valuePos, double valueNeg, int channelId) { super(); this.startTs = startTs; this.endTs = endTs; @@ -48,11 +48,11 @@ public class FillAggregateTableMain2 { return endTs; } - private long getValuePos() { + private double getValuePos() { return valuePos; } - private long getValueNeg() { + private double getValueNeg() { return valueNeg; } @@ -73,7 +73,7 @@ public class FillAggregateTableMain2 { processChannel(startTimeStamp, finalEndTimeStamp, 60*1000, channelId, con); } System.out.println("Saving... " + SAVELIST.size()); -// saveValues(con); + saveValues(con); // for (AggregateToSave ats : SAVELIST) { // saveValues(con, ats.startTs, ats.endTs, ats.channelId, new long[] {ats.valuePos, ats.valueNeg}); // System.out.println("####"); @@ -101,11 +101,11 @@ public class FillAggregateTableMain2 { while (noNextRecord || (currentTimestamp <= endTimestamp && rs.next())) { noNextRecord = false; final long timestamp = rs.getLong("timestamp"); - final long value; + final double value; if (rs.getDouble("value") >= 0 && rs.getDouble("value") < 1) { - value = 0; + value = 0.0; } else { - value = rs.getLong("value"); + value = rs.getDouble("value"); } final long tsDiff; if (timestamp < intervalEndTimestamp) { @@ -133,7 +133,7 @@ public class FillAggregateTableMain2 { (intervalPos/3600) + " / " + (intervalNeg/3600)); } - SAVELIST.add(new AggregateToSave(intervalStartTimestamp, intervalEndTimestamp, intervalPos/3600, intervalNeg/3600, channelId)); + SAVELIST.add(new AggregateToSave(intervalStartTimestamp, intervalEndTimestamp, ((double)intervalPos)/3600, ((double)intervalNeg)/3600, channelId)); intervalStartTimestamp += interval; intervalEndTimestamp += interval; currentTimestamp = intervalStartTimestamp; @@ -181,8 +181,8 @@ public class FillAggregateTableMain2 { stmt.setInt(1, ats.channelId); stmt.setLong(2, ats.startTs); stmt.setLong(3, ats.endTs); - stmt.setLong(4, ats.valuePos); - stmt.setLong(5, ats.valueNeg); + stmt.setDouble(4, ats.valuePos); + stmt.setDouble(5, ats.valueNeg); stmt.addBatch(); i++; if (i % 100000 == 0) { diff --git a/src/main/java/info/peper/vz/rest/VzRestController.java b/src/main/java/info/peper/vz/rest/VzRestController.java index 399292d..e76a859 100644 --- a/src/main/java/info/peper/vz/rest/VzRestController.java +++ b/src/main/java/info/peper/vz/rest/VzRestController.java @@ -47,8 +47,8 @@ class VzRestController { channelId ,timestampStart, timestampEnd); long firstTimestamp = Long.MAX_VALUE; long lastTimestamp = Long.MIN_VALUE; - long sumPos = 0; - long sumNeg = 0; + double sumPos = 0; + double sumNeg = 0; log.info("Number of aggregates: " + aggregates.size()); for (Aggregate ag : aggregates) { if (ag.getTimestampStart() < firstTimestamp) { @@ -60,11 +60,14 @@ class VzRestController { sumPos += ag.getSumPositive(); sumNeg += ag.getSumNegative(); } + sumPos /= 3600; + sumNeg /= 3600; log.info("sumPos: " + sumPos + " / sumNeg: " + sumNeg); log.info("timestampStart: " + timestampStart); log.info("timestampEnd: " + timestampEnd); log.info("firstTimestamp: " + firstTimestamp); log.info("lastTimestamp: " + lastTimestamp); + if (timestampStart < firstTimestamp ) { final Sums startSums = getSums(timestampStart, firstTimestamp, channelId); sumPos += startSums.getSumPositive(); @@ -81,6 +84,14 @@ class VzRestController { return new Sums(sumPos, sumNeg); } + @GetMapping("/data/sums2") + Sums getData2(@RequestParam("timestampStart")final long timestampStart, + @RequestParam("timestampEnd")final long timestampEnd, + @RequestParam("channelId")final int channelId) { + final Sums startSums = getSums(timestampStart, timestampEnd, channelId); + return startSums; + } + @GetMapping("/test/{name}") String hello(@PathVariable("name")final String name) { return "Hello " + name + "!"; @@ -95,8 +106,8 @@ class VzRestController { final long endTimestamp, final int channelId) { long currentTimestamp = startTimestamp; - long wattMillisecondsPos = 0; - long wattMillisecondsNeg = 0; + double wattMillisecondsPos = 0; + double wattMillisecondsNeg = 0; while (currentTimestamp < endTimestamp) { final List datas = jdbcTemplateWithLimitedRows.query("SELECT * FROM volkszaehler.data WHERE channel_id=? AND timestamp>? ORDER BY timestamp;", @@ -107,7 +118,7 @@ class VzRestController { { final long tsDiff = Math.min(data.getTimestamp() - currentTimestamp, endTimestamp - currentTimestamp); currentTimestamp = data.getTimestamp(); - if (data.getValue() > 0.0) { + if (data.getValue() > 1.0) { wattMillisecondsPos += (data.getValue() * tsDiff); } if (data.getValue() < 0.0) { diff --git a/src/main/java/info/peper/vz/rest/bo/Sums.java b/src/main/java/info/peper/vz/rest/bo/Sums.java index d3dd10d..0186dc2 100644 --- a/src/main/java/info/peper/vz/rest/bo/Sums.java +++ b/src/main/java/info/peper/vz/rest/bo/Sums.java @@ -1,29 +1,26 @@ package info.peper.vz.rest.bo; import java.io.Serializable; +import java.util.Objects; public class Sums implements Serializable { private static final long serialVersionUID = -1816023197422851264L; - private final long sumPositive; - private final long sumNegative; - public Sums(long sumPositive, long sumNegative) { + private final double sumPositive; + private final double sumNegative; + public Sums(double sumPositive, double sumNegative) { super(); this.sumPositive = sumPositive; this.sumNegative = sumNegative; } - public long getSumPositive() { + public double getSumPositive() { return sumPositive; } - public long getSumNegative() { + public double getSumNegative() { return sumNegative; } @Override public int hashCode() { - final int prime = 31; - int result = 1; - result = prime * result + (int) (sumNegative ^ (sumNegative >>> 32)); - result = prime * result + (int) (sumPositive ^ (sumPositive >>> 32)); - return result; + return Objects.hash(sumNegative, sumPositive); } @Override public boolean equals(Object obj) { @@ -34,11 +31,8 @@ public class Sums implements Serializable { if (getClass() != obj.getClass()) return false; Sums other = (Sums) obj; - if (sumNegative != other.sumNegative) - return false; - if (sumPositive != other.sumPositive) - return false; - return true; + return Double.doubleToLongBits(sumNegative) == Double.doubleToLongBits(other.sumNegative) + && Double.doubleToLongBits(sumPositive) == Double.doubleToLongBits(other.sumPositive); } @Override public String toString() { diff --git a/test-tabelle.ods b/test-tabelle.ods new file mode 100644 index 0000000000000000000000000000000000000000..b1b2350bdd1f798e39a0e3e20135482290d1f21a GIT binary patch literal 15062 zcmb7r1yr0#)9w%;NPqwd?j(3{x8Ux>zy!D8?h;&sL(m|>ZE$xF?lQQ$OR%81WcS}M zyWid2|K6JOp40D~sp_tls_L406lGxHUIGA!0D!HIzIuQKcL)Oj0QmVleg&{JwKQ~a zwK3GQv9T~U&~q@gwqkU$de303XK!lHU~OY)_1@aR(bCY$fx+I!&QR~Yy@{crgW_Lg zK8pDd5k9s=tgVbpjUDZNlV;DtsAphcXkqyHYHi2(&zvNG!)a=%XKZNCC~WFrsb^#V zFU9ixr4jib%udOH5gto&VXKUsc_5fKsbx9#+(%zp^wv1O@eWol$-@4#U9 z-e@Rh$jXli-T#;`z;Jj*kP#l;>1^XHiOGzeM;%36VH*i02c8xI~A4xgri7OFZwFQ$^Iyw#MabbGpNX6*bi8dpp= zM|qBe_uS(LlJ%I#MTUcdg1WDwyc1O!Od9Fr7-@B}NfXd0$TQFeJND8;!A(BJ+61#F zg#!f5=pMnp;jN+;KSgs~LI&41VAZ@8qVs)ugyKX*rd_A6Ze9}C6v5-XBRh4WYjh84zqZQ(_7ZToGG*Y^bLwRw+{baRuH3dE*n+K#_M{o$(lw&PYcc< zIs9gF!r`Uxd+Nwz0jD|YlsEgW=XATt&oXO01NR<}4FY29X0c|<xv>j9te8} zR|`Y?pKIEsu3KE!wu2W zd#U)BU8XEpCbVCU7hD+lKyIF{8f7bih*GYu7{l_Pm`EwMXz0&EPtq8VvnEdLE+)7~ zSVH<(HeEELfMUQ!W^!0vhRq60(GGH;c(-b-OvLNB0Zc4W1}yDwA+cW^U3)9p%no_t z?J^iT!hukh20D1gB`P}= z{*q_V&!S37X+n*9MW^yZHljP1l?oUsSmE@<76HWL(5BEocfF3h?eZ=Q;ZS~=(xnfqdH zofTe|fN8ds$X=-nFMczdU9qBNjG9Avxo&!g^l__Hf#iyUCZvESv%J_d48EAsStQiT zF(RDSEz6KMC^yh&KB`-<0TKMLG02sYgxB#}8p+7c(dt>cHrhcW$3FR;WJZ##te-hZ z7_bs`GU{8=7sqOiTTS{AB>%;3oho&;=_8L<`z8fJ@q-(>$n^CHWQ< z);;P|HBd((bE7pNLu)vNOM6D&uSY{+1S9es_{75Vmf;{IJbgiNmLQ2=k?usWup6_P zQsK7c^kv@oizQ7W+9?T^SGCRD^GaGGAL6DbQ4b-dQeN7hcdq;$9jz23oF!}Y4=Xs3 zc+=aOv8vcC*$`S{w?I-%W7K=myX)@xE5+4Rgu`VniPx|~HylhIgp;#sI;fd7YZ))u z>N~k)(HJq$9PF(g#y3;6Dr1b07KzI5zeS9?!!CLZsqrMLssdw74je#?6+*Q@{&XED zq6e5=c8_%}VwZr$uXQ2S!^R zyCnCpN;rtx01?QcoM13+>Nj#`^DL354Ic zIl8*K5>B%zK{uiBGonAdaTGO z6LK(0@XU5J6gK+o`_}qkRIJ^VUINR$&!dN_scI&eu93t(O*GoixgV)r9{q6Jd9UEi zCuJhqktiW1%@RQVh331tj}v95COVSByEt*==m0_)+D?=_(Lh>cSNRHYPIt(Qc+bL9 z$$mll!*HPM4%htQr4hk`O}SIc{oxLGcCS2l___L5W`dYYEl!&$`7kW;=dl)ER%}iL zaS>)Npq7^plXPdvqb}=^-8xYoZf;zG!Ld<7N7`FL%gbxOTnL_7u zp|4(bubQp;6do#pHH64)@lRu^E%syvF73j`4sKWPrYdjmI2q!bKA-&el+n9QzT;5ZRp3zZT4-SG$6jGF$G zvX(Uz_xAX)kGZk@42L>4!<(hB^=6|rZn@Qb>MMYhvES(rE}&hnT4-4LYr=OC?sjzk3e{ufLi&=h~ujL+O{p=^~ddy z+{BEM8ccZRp5ha(BO|5&tq{c6b#|e+ZmLf!z6C;xsos!O=3Exz@8#Xf8WY>NT$vfM zJ-We2*{TW|JP0qczPvmAZo3R#$@Mms&FKdGRDiG{1 zWFW&71E}~k_7%C}>9Z&83;-OA#o_Mkn%FK3?DB<5ZMpc?YTd3m&ck4gQYA(a;am0{ z)2Vu1a`kvY%UV9`$xKZ2Z8*9oyiv=NU!l?&h>amNt2kO#b|73E${K%NPjt~2?Mg4uS z)409GdTD!-TFLc`&7|3Q8(Uss-9TP0w7VXhA&Vh~2zJ(mcG24%jUo2RP9vMUvg=lZ zp`udw7Z=r>4FrROB`1}^MMc6HD`UbA64rY)IMB$|(-M9{lE;^2ZC!^TB=QS4KEVlK{^p znDTa-ScX9~#L#sF{{gZ|=dpr>Dhy$t4)ZHBC)7SSVW$?KY2`dcygHLhJ6f$?>Doc* zA2*k=gM1^QVFMZVTbb7byG;SP_1=T$Y^9^J3N((L_L~I=14oiC{3%(EJhP7O8pVzq zU0C0Fa9e)~{894Z2gy$l!F?DZvkMOZ9Mk=qhxmCTw>NZfFtsxN?Fw?JrevSRf$n)+ z+Iw=O%PT*}6l_hnoFkvC&DSk8{~<=t(ww|1>~)w&Ys(W^N-`S>rv5?4qdsxT<&t=7 zFv&nykY!s02kC1uPt%Kt#wiS&=N|pwgsJR@b9ccOr7ba%cO9~Yp*aw<$=St&i z%0&F4 zAKNvvVg)K-1xXM?L-O%FZsiOFRim=6ILAiteH+cgyl|@Cabtf(L97jw79C~cuFLa7 zdLXRXlTWjd2|T4Q`dC|7QT8&aL}1cEmjOF^EK>B`8TATl7?q%VaaTC5?KD7o`UUI`=Qjr6%{}~rR+%8B z7WJ2tVq7Uafw3DO3Vh+|9tA#{)Hnwo(mt!~0V%E?ylCW*Y_m?mr$tw>G@b_7Mx^ZZ zkZQ}?`La2zRT=oBj1#M>lik4n_?&CH6T9tXAeA49Wr2gUdKluyxjDOxmqkvcSM{4T zQX!}{@q5^4Ql#XiaWP!x=Hr4XnZ4(lVMtfrcpn{cD;AsKPNS*y0dIj^l!KwTN^xE3 z+;=W=aHniEJ-Gf)-gjJ2QOxJ*!aPU{i+FoPP*yT5EMm5)fX*k^Z2FZSD~EmZV}>(^+p(iJKG?N3 zR$wWprDWGDLr2L{0blslsWHzhMXFkuk%_aHUyVJKmXgZM4P>Pd*VJ{>XECvo9q4b= zkriI2pq5Zm>4SSV(<++K?jorNv?_eAd62PF6k%_ee7t(!W-XpFiRaiVTG%r>{Ly5vu`&); zl$St7#{Zf0K$Vgd1p)vtDv!?);$w~k@Oc}T1ps(*uP6%=gNJ*H`0OPrCO+0PM2zQ{ z_?W0TSlDoAWY4gvUJ_7Z5VH`H)8f45e2tAlLGY597?qh2os^iAmJFYR5{HtKlHv^; zEej9(8wy@#Y7Pz#LV6)$CNWY*VR9BRGInW7E;(9ukvE)D3|wMwcx7q$fvkMu^ul0X zAt?^=cU*G%Z-K^wZ-|5$NhLWb#rW8i_-SQC_*8@#K*B6QQ7%^k*2&4@y^F1dlamwJ(pSqi(9r3l ziAS`PM}UP-yqj;ZLtvt7M3%>=JRgg9fwo$~&hLHQoul1Ne7t-ky{&_N-Qs;LKKa?l z1-T}KdL{+hrhart4sp#0cgca;nRUn#;2qtBPvt>Jp3FQ!Bc% zs=j8{^ySnK71nkX)qO2&8ice=R5y2(v<(-vO_Y9}sqg5o?VV{IU9KBkX&GDXC{FCD z{L)*S`?aa6v!$WGrF^U@ue-f@u)V7PYZJ7+c&4XjX|#29sBUwtskgVUV_>3Vc&>kV zd}MTZU}7FR^mTrsZ*pR6Vrq6`W^rz6d|`HcadEL{daG~obYfv+Y-x9XX>DZnaB%f} zV)bBQWn+HhV0rgwX6Jl+wr68;@?^1he|_e3W$0peZew$EZEJU9XM1z^aA#}naCc*W ze}DbpZ1wnN_vqW!>E+t#&Hm}d{`t+p_xrQM&CAn`i_`s^vyGecgWK<0ci)fB&dyFR zuP?99&TsFpFHi4o&L18g9#6rKA3qG>v{eBB0)8n`A&|@5Vd@7ENa9ORqpK!alSKnY zl2Qzj2pq;oO7RIkd@(r|Uq-=?=v}0B%txm%nW^lIS(wiQ+xw^s6UEneTw)2c64Bw2 zTH0*k%Qq9k>LmTg*fVV*+Aqd}7mGmWLzy3Utu)%JU?dSC^ONU3ul9UNIUzLhos%2Gcve z{7?Bw!_m**?!J=4#dk?>m}We1WL`PQZt7KuO8-ZYuM57o{G6`QQklvGUh1a=YDC#p` z7=Sr>r;Zj<*^V8By4L%AsKeH~=_^m^+cHZ$^!td8m3~!pSlXcw>F+W61c_M1L>u&c zmEZM-N)iPhLcJphy+^Q?(IM~(k|1ypti!~XYr6EUSzAzcsERMHnp&ac$Y9vjVFU^t z`F0EL$p`P@yDHF#rI8r#IbDfR>jxPe*JrL6&&_K@X3?VkZwm$|Uy9wLt9&z1?qFeM zyZbq zICM`Wn0B{tE&FR}iTp6lGqbvC1rsdT_{Aa>Rjn^1iT6~daNj$)pA5Fl?trgHorY+= zSlk$XY{n_mg!s+(2!~fdTw5e$iZxtE&{TL4Kv$;5op)ztQHt+eP`)l0j5bq?CL08W zk0sTK0J`QV)@TpEM?%)a8yZK`M$xWb%<;q?3vin?udkwR4^b{xWt$jP7mpvSqv(6~ zet$(%T&9p0e2WM!dfrU9*cCuy579!-?*9VGF#)V*7zco&X^{*1WA`Em1H;u=B1a8c z-X8LdfEr`iTMpEDvEDSHkaoYuKXaes&UIU>u24j%oWj;hsz6DfYJ5(*wOmgO(=V)6 zBVJIF;k5p3S5uk4y{wd{Kw5Cx|4a^=z^!6NT=L<`E$uA^Y2-16_kErE{ypkv1dFxA zz0axj+8Q-Xd&O(k&f=8upkU@o0`1e5PG;y@_G^#vFl~WElr7E8I&T?gA~?%cW87R`KdYMHZW;bwRqg09J9@5Tn0q42YSspKMc zx+WT&Jb=M97e}yIac-%o>n6*4(*CnyP2P#v$oO27YW!%vIJJKe z{9cBuy)$?HXd^m@ny;&DWL3g|)GsCQ*e_FgO=Y7ItK?kyJACO>9~Jqzi^v}}x^V?o zcbNxwSAK&T-eb#JB9#esk;9#?pF$Na>}HV;t@yslc5E+Tp}f67ZQs~^g{X`4wmUy3 z!r|Ng=TFLqyZ|QpAZrMn5i61MWL&9ydNHM)9JEN^by;2$_oz)B8(>b!WHHFYo;j`7 ztuF^R4SGd~hc>2kPL}0Z6(x5h`=ua>e+Ct>_Hqv_(yYPzF?!x5SDkmw+{jXePFr$7 zavAxo1Lbu6#wB;oR5zh>8B|wZR(66oBf}En(qbPj{Bvt%M$rN{;~^egzEx+^&<3WI zK@hKlPtqGF6nXRAPZ0G&yskX+MU0{|M{jz&)1hubBSR`xQ|Q2sxa;xx!HLy+wAtcm zj6Y;EM>}3zQi^0qn~wO|ohmXvH|X`d_iE$;Kzdw>rPr;!G*F2Y&{_9IMUHwY9~zNo z3XcyIs8c=stQFp(prg>2!Ta{WU0e$s;-NhKbPzbN4ygIXgmj0+?uE4Mrz^%E}pu^ zB=<5x3&pcep^904G*I7B81DkjCDb<&p}@Vho%mp??h53g`1C83aV$rPaA~jpW9G|G&b5W_0w`4vmYV0^!C!`iYZ%rv2$KMQ+nv8H?}G)@U^~`qTR8(Q|4K1R zU>!HeBt#X-o{$g7U-(&ppRRDxO3vtTUZKw}Q8?mMvU)dkFXIln#~enoacCDaD{j&D zcG``}zuFkgVU(ub`nX?n24!3=z`5)eFVXDf9IpwdFtF(&{PMNCS)qEkaOO>tovy)r z%Jis)#CokigwPG@26c4`QB}X=%s3Kvhyx}Yw zniIQ3eaCE5Go{jF-r%6EaTHv^LJwho<=ymU?TMK*$GdWJ(s?{Y!Z`2hEW;8PR=T(}f zbajX(leoSIIU|j zW)fxMSv>Blq~Ba(Z9mS#7t@ByK$O$$+vp6k<#{*hYcP`h4RpT=^uL03bL^>m$t=YM zvbNv>rM=YbUC&`se%!XE_tY0vUS$s*x-5n(xf{Ne)1ue?^0N2LDy-&xL3%ZA-(5}W zq#W43o?v}tau;@7vn|{;)0BpOory720^*91d9KbE@9J;FgMjYhzSNIRnh&B)TkWf6 zP(9_*X&#dmRTZ2{?nGZd3^Y22`Q2k>hX_Lmm8v;#P00nXsJ3T%W-OZ8sGvM?9O_&E zDCD#qXoW7bS>WI^NDv3B!fb}r7E(UdW@#f3cq+1e(SN3kG&5+RV_5?mdp+gqfvR}I zHIG<)e!k5A1BKAujA93-oaN`;Fk ze=O>(idivB{~lMTyu;4~EfUm6xbmEhWX?0L-jeNeKo)cnqeg{UR$z@-}v8ivx672lY{t2m{FCcCGPNj^W2v@$)-zl(cSa+Ly zI_V2!$-{={1a%5S+T#L>L0<;mF3qCUyZoh$HfC{J26STcjsi|(2-PTTp~>%KiN*q!t#@9)x3%F60^nyD*D&H64UD0YK{BC$B~4AK`y-h=DNz@ zZ!_RSw1!%!vv8<~x1&Gs$m!^e4+zg>g;K)SxDN+?(~b4yn@PQew$}c8%NcGNvumA_ zK&BSFj(T&gJt$o>({Ob>iaA5!>GH$A9ki1C{y`{S4D>@vV0;cWoCdv#dbAD-Hm|hnER61 z6EZ!x8bdpVRLZMM!2L$d1A)rWUJ@EVCQawB>8EZz^_CQb6D`6JdG+LL;x1>ynfu{j zs2T>8`uPRh(+A$jSAxb((pXMtx`#|Cg0}NjywRCdwQkcWnydBJFku9BGTWgh@NiTU zUA_G+pVZhIYjPbSxGS$l4Q?(iFu?305r&}v`!&y?@Vt#u>N)m_WVKB7_8Lv3$W>sF zS+td*u4ArcvnJ+zu2 zsWDjRag@KJCeY_%y6LNq#sJYGnHx3EY^+OLX-6jUSq6yld!sGZT(i(H_Sa$SY|e&` zMH097-g>==Z_W;3lidUoK*?+g0aKnM@dJZefPxiaJM2hMSE6+2sFl;SiAok8xJF=g z5kY@ambjqg3z|{JkXapEO+lEloTZXpz-iJfA@C5rKOF05lQVUl)L^9FjGC{N^zqPy zpV}hv1X%6QI}j3fa&)vm%Wj1TY&f)-Vb95Zkx44N$IBB-=3llLCK}isM7Fr$Rm3Sp zGSK$D0Xd9@aXk9;-{ZmGJTAG4s#*U5t054J*?hdBBBbOUm@?;#N2gkhW?t@GwM}`j zCX4O~_oEZ3i#V=~xRxZg!F~k>zPAC2#TR?9%tkK~K>NNWJZEH|8)Rbl zc+}n1XgddqR5T`ounS7R7`l}JAp`#BIisZ>HO^ z5c*99!C5ya&SDEUkCeA1h*l%hdz&h62*E|aYy{SYeO5yxc8UvZ5uM|Wom2Z~7Bm@& z#V}fif~~-bIqJ1oo2>SjS!^#TzE_2Qb-pnHxZbwjcyxi#bPQq+`>yQ`lx_XyeZ`#s z!D9>@Ekm;M*)T2EYuBBZK3U6QQY#v})cwd7@72y)0OxKaOB%-|2z+u~)%97%VY!VL zV9x%AM9&sTGUTX2vln+**i+uz`9>*~a}iAw z7+_2?uZ+RcIKiJPTXxBWEcb>v{{^aq*~@*YEEPUrwbkfu$kT=$byD^qB@>Q<>S=*E z?WNT}0{#C)%0F*o|8W5!Af-Re$^Z6s{|gn~@f+TJ&y&mNIuGG)4n|#(W*2H_k)!L< z9ygBfzk>@Heq^9ue6#!^0Lk+UAOzS-FMQ$q3>CY}QyK~dFkQMEaXkrFQbPqKplZws zvN0*RYlX2{f+V6^L!;(!=KG!Na^)?L14H1&dXCss?Ur7=9@~Zc`r` z7lW+dKQz?sh>nxI;_O^d3g~-#7`vB!oOYKQ&kDkJ5F;0Mf2V`m8^0sJfMT@DCB&Yw zY>hP8SUvGTZDj(lXq^T6a3GMIB;kY27lBT~QS$U4FDIfae@L-VR!$~$&-|1ZdF`uo zZz|GgY+Ck}`+lod@oNa3iQ0xQ75bXU4J7|9DOMDvN40pp;dIH>)eK+cgo4Fh*68l% z2^+Qh_}P0eU>tH*X`(ke$rKnm+#=0mobX9AtLV~GK)8C~gY}Mgm1$1bap^hqF;n9$ zHGsbMV+@>CQSwpw6@yO1aJdqMNvaaAH?b^_nS!g(PjSe8xan(1Dp_!2;n&1j)IuAh z3(jt+A12foE3!ihUMV!j?2GUDs;58zxork{nqs&*`Tc0x;_mWiK+eW@J{Hm6V(H&+ z4gsK`1haC6BOzw9`TprXTN^)luiiK%N8>1!;5uq{8pm!&^iVCrApy|~=vepF-Ia_E zyO??Y^Ed*dHy9E14Ebi^0&3`2jisEp(noD{k$9*buAh~#?$NxC`7HTFhcGKg*VLEU zevDVj>$9hTmA1Qws&I3X6x6!46sp1g?U3bfkl-7{nV zCgKgnIO#;xy%cy`g$j`=_>%E{d+6Y03Cy5}k`-&AqtNCta!^j`CH@y;!x?1PtT2LI zIUyXWH_ZND@ja(kKO5e0*4mem4%W2?jNN4wdONR^3|4^0Fvl6WzlJj`Dg?^@2-f!N zzHXSb2M$@tJJ$;RmN@wRn8k`h<9}dsqm_*B1v>GTzc+CdLo3@dbwtp_)ld#mRq%jD zWH0wcnkh>%If4@+&GQwxIX@+1&X-Mly%-EPnb{XUn`2?QU86nbE#v?Am7EvC8!@)g z;+X_TZFucNkrO8<&sMKvUqB>SxkYO9VxzXJHwyB?sCk}qvh?Ayo%4&9=DJLAp<;p> z7(Vh-r|-6)Fx{g=hRZ)C|Na(?_IX-yZ$cX%`P?Ak(C=Mo)6?aG7n?HdzD~-)djVcU zjIXsER7PE??SYP|Lk)tX=8hAaGI3!5B59T=~s7x7H|Sn(#Pt#^U2{ zyzg>M`ZqbBq(5Gb#s0@vhoGwLlglX@k<75L%}obVhS1>C%aJ6Pj#=3o+Q^+w9`hGZ zgfS)%K~2kX@ckFZWHA0D_ zh?{yY>_K<9PqNmLxW4N+jNffg))vMUM?nx*K;l!1rtG(krk{f(uNIRV zCIbus2sv&2?Nwy-KQMbO;ROG*&0o?%a^b?a0<_BppQEVX+-Ih}jgV=<0Bv;4?0o@6 zd;Jhq?9E?M;G`)ds#T!4~dwv%L)O&KM^viBfy#lr?v+d({<+ zLqN_s5C*Z_)bfTZyj#!!g!FI=RKt~`I6BbGYpH8jpXIc+DGqIq+XOA#&_=Vn^+lN< zIw<29P5bkh``1lXKQ$-ySm?y0E|n;ufNbfm!rw+}?eFy*uxCV&P2XtXh;wo=Mn3?- z3J7>W73x^$La*5Nw~Po7k<=-(Vi~P{^?*sKJc~~xP~vYu*37rDBC!B_<+^9Ewf~Brs$#@}J#2YLZ=B2IqbV86iw9z{IZR@k9+NDbY^F&NF?Jt*>fkw#U1{nM~1Bts>^B zhvmv$X?OpexH{M#rC{#IG-fxHfN9Q)SntjcbVh9N z%`KGGZ)Yc`TEGUe9KDVe-;}O((J2$JBw6tnf8ih)2-=5ZM0l;xI)+D{Qx+O+&B4ie z6%vDe#Rjk1F#ObJ*~vQ1rnoa}T%EG2KLSGkJ}aS9R?9pufjlBMB@^xO>aHVvo>qFu zHgWbjWsRA%F|Q;?b^u4<%5F09d%O`WaC&YF92@QVb+hEcY43PARZZ|%;q^!~0kk3g ztuS;~UFHGO#aLsKv%LkJlhRByUtG1tEqN--Rmk^L&U3<09Exp+i>T7~r3B2e7QmD(-tuonor(Ybi4R+3jaHP+fOLBi|DYiz|5rM7u?!(6x=SyS6vDVR&f; zeevtGZPNUE0|d*sa|t4M={C<6FVpopvB6ffdLE@^Az|WEn0+7#62Kq%y#Foi`Wd7_ z<8BzEpQPSSei#1v$1*@lOkT7^Sl9QTffZPfzmgLJ3DHZ*i!=TQpz>HTSsWv0)k%sj ze#IToRl|~fm@8~skw5t&8zJ4uChEjn_v5E|91YtwNXSc>*;Cf0W9E-TN0W_vh|Fq{ zs2?`XRbgthH4gAEn}0wAW~>_L&XJ3KMD6fFn}oUhReIc+=d`o0l`f)QSC1nI9?mbo ze!A0O?8)A@pgb97Fxg&Zvo)ZiiaN!s&IEcO`6_#x1krD1b9UE|8v8SwHbShxOjANy z{p;71x)t`0iVh};b^DIyPfQBUco0kyk=tjTUSdj2x*x!#>7?eN3+*}pNGap<-QCz~ z25htQI8W1s`+H>&Txyz9U&IF}nDd#P3EC96(PTVh^`1<33sTs;|Eh12S?PD~U|~vu zT6*oEMM~Rxc-?U;a^$6`mH;OwLR{APLjMEQ2lrB@U;OU&bYACYp}@!B`yb4Y(1$mV z#R7^lFi&0r{ux~MbA5i%A5gRZ=KA#u0N^Jc>lc9@oBs|b`)mKdI01m4aI#+%@!0%t zN&gqP?4O1G1bh9Wfyd^53;Q$J?4RZQRXy0pY5Z?Fe+8fYv!uU{i2rXS{TYn*&vJfN zbo?U6zmfA(v)_SV|F2RC|3=C$u-ZRM`KwN=e%Y1FTewKm%qSnV(gI`7A|IPU4GM~RHxQg-DTERa!{{W8ucNx&HE?Kbu sxhUulDSu4UpRLDFyZno`+5W*wE6Tt>mcj!77>^&rN28;`@$>Ef0KV%MzW@LL literal 0 HcmV?d00001 diff --git a/testdaten.ods b/testdaten.ods new file mode 100644 index 0000000000000000000000000000000000000000..9e7a16ab553b47dbcd6c33bcbb720106e00b5512 GIT binary patch literal 45875 zcmb5V1C(Sz(>B<)t!ekPZQHhO+qP}nwmt1>+qUiQ?RkIf**)L??b$qaPu;4@h>Xa% z8P9WXM#)J6gP;HaKmY)22AXOFTd_yb0002|JAS?bur{|gc5=5f*0-~>GB?zBGPkv% zb+Iv`vDJ4pccihkGqy3ZHFUN%wsE3yv~w`lH*z#HHg=Nxf9U*C^S>L;&zYdDjfuIb zv%`P1IWo}d8yXs08UK8=b)fw}OXB?(lIGU>rpAu60_INE`gV^0jWE`KA?##pYh|Zz zV{G-`$o*I5+Bw*oIv6`T8tDIb=KfbBIy&h)IsbpiVf-H~{qINnucS<@Z1tUt|Nq)( zXKUwd_Y+U&|7KSHtI__6{NFZ0KtTNGa{6)Re>a$)Gi!Yta}#4nCmIJMlgY$Mn?O2* zplhyRx6c<#`QI`Yj6Gp)L6F z{(RApQsY5RfjAv9l0%Fs_wwxh`ImbmdfoGZ1zdVJlrhsQTVXIIhdMjmbyr$}+g{0L z9#@7Q&htaJ+eArvSqxXQXPunx-^X7x)8CkTwM{NUR(w;1rf+e_O?P<8qP238;1EsE zW^2*h!zp&DttjQ93r04x#&572maXn1z_2-cQ-HOv$`b z+g!1{HEgA^%JmmEW@FKJ&mX=g%FwMe*6YbGRz4qZu9Fi`t;#BLgh=v;J_yR>a_9%o zci`Gt=U0+ecz6kbR23(1I$XRy)meOI>e}q24!+ne)~vXm>wTW+>Pm3|a|sJVO5I&_ z&`(t+a+y6K=P5hQ=8D4-4!()*ofbgG+MQZ0T&w72lw)P-V<$CYP(WBxc}cauqkp+A zjB{w&4KpW0g07^RmvX{M(G9oQhXbM>(|=WbN7HT61f}I{<8TQddTlB$F~Elh2adzT zaB0Dh2mO|mQj}_>*0djgVVE2P-6~TSaaT6S@mNaU&XC{|aB_WjMDiw%YQTbNliM!q z4qV>}H?qevwRdnXlycqpRIhcZ6n+S)v&`}a+7*|m?QxZm%#za7IX+alk!5GdQRvYc zfgWB-pwBooDv9>tgQJm-Ha-^kb7#}}l|1uq{!#kmnfyY@)I{>$m$MV^`IVu`8)epw zB;V)VyzCcz8AU4>AR_0t#F%1YC2;wL;xkN6Xe_hUE$whRP5uq|FTz=0rUX?#5qAA= zBMkMkKpdUit&AQ2#rRT7({ZB()#ti)r>Zpl$$!tddcuavSYzEhaSe;rp)?jZ45Zym zEC7_h`e5WE=cD2y0oRY%O+5knQh}2E%ww3v9d7E=3&73ue$yHUlQqpa==U+>@n{Yv z+ijU_!j0Ec?euo0Y2!7`*G&i*;O)&^sSfUbP$p(?q@79M4zXqljHw-xJvou-SVBRR z(FDj4o2G-UxMG%)U}~meih{NM)kv7YIELYjoww6Mr?%! z;{bi-is9e*8k+ufC1>pTgX5kx2eimwl5$i_KIh~OlX%P-f0O{n!XDI-2u<8m3L4D@ zWjaUQUcDoqN{yLjA0!e-N2i35lz)9rZzElCM z9%*`_fFMG4tJQ=$#OT`tYO1jXtEE}M7;DI!2wtNeyvIetupCW4Nd%(%ke$a$3n3v_ zyGE*nkRX-*8Mi)=5g<6^Z3rzTZhkwZ#nihRRq|q!taM`kp5oI6`i^og5ijPMDAOfT z{PA8MpEAvap$-y4H%+$-`UHzY{r*jX7}QwLMrHiays0P#{OB06Sqrxc4^6Pg7ylbKvom%O+u*Y2Ey30#3*-^;xoMHlEu=v6>0{t zzkO=`cFS0#YO5FMKGep7Ac%4IR*J&K_4gnN>(k)ml6KeHQ76?)j)w(@^;KjED)5$9W z=!1i6lwD4n3KQUuQfO8Z^HR{l3RI^a@qN2zCHPk12a`}#GamoWq!z1h5)xh)X7?zV zY8|uJ#3(1MP%gcS929$zUOc#p3>*~?d?rM^%R$5e6MGg1D&qXb*MSUJ)QQf=Aq$EB zOg<#44#qAENsz1mfD1@Ssx`{PC+A&?l+fzyg)+j*&ACSXJlLWA zK%wf{elUroVQlB`sa0soYQ}E$Q}Q=1@$Rfkb=uPRr3rtNlk&5}hd#Lnw%zoiCYfid z>O^!E4N^tES;m@F|JW4Q{ ze#x^lagm_}9+EZNahy?VgE1QAA-|$0x_LV0A%i_f$BBiRCH*M5)&x^p^+(FxC0e-G=Gtl5p?|y~pV&;0e#t45#6$ML8 zLZN@WD_B*j@`q^oaL$cz)lHQhLO+feG84cguHxw)Cf2&WUuBN|=m+117MCt)YAjMA z#C{O47@DEgAlu_?9MWgwG_Dzc6FbVF zrOk5QwC!=2k*v~%LO9U=a2fe@f!}TAJaVP2e_HR3-OlZg>DI6-8l)v3;T%g5DHkh8 z%y!czx;6z&3AbIE_eF5i$>v3w1HpgcU|>g{OxS_N0&ggQEKhpfD;9e{LGhR#H52mM zUreX|g6U132gqvwI5pkzlyGN|E((dJxV$FB-6bR3qVs~CQ*KVidGmGwUqZdU;K}O* zx~q>UGYVpekFY=N{Cfc~k@2#}ESluV(KkC=boq@c$~BE!vHvAf-kW$aSEcPSb#F9% z+7x1)n}t&8*sZ6%m(@7@;DR43fiin*R^OH@>MIOB9eX1@k3C)KBI~jBfn9I3Oro`1 zcv|H#jbR*m9WXvx{RMJYTK{*WL1Du-{~3K6_!-aQ@$)1mno18kAj8RGPhUHNQb#=?r|Z{H2h^Ft?ygRM^NLf^ut&7O6P`WpK-hr#dmFE zW(pi^EnBN~+TqPrz{8iDf%DcQEqrhz{oWr&N`d5PgiJXrrsHZWA1OoArNO3GINyYk zl9vO}y}LVE_5j4XGzJCV3~?`*Z~_Ib+Au_DaRY~p2w6}ntJ`Y7;aAJ?_7^TOc=7>% zIVUF%kEP#rgtQTJOhO!TS7B_uD*7Z;l;K0k1^4N0APL0n8cwFT0Zn!kTT`vyYT2l{ zpaH0Xn2Nd^pN1yXiWDI1dzDh@@;+GPj3O5u1|rh#+?18OMxdQ%SH=~0S^(=5 zFQuC>d*kaBRe~!!k0PU2(J`BNrkdW>{a7t!Ooulr;}olO_0}=X^5xEyR!ctOVe%zH zWie#3P~z1wFCe5fe{NIvcP18n9S1OCKx}kB?*m_sKdo=uYk6R5M^u1eF^ro+nL4XV zAtU8lhg56VT`9#uRAUue`p}jL=QN}^G9;($CznJR&b(aaOdfsluJ(NYQ8jbHl?+En z003Q?|Bj49|4=nUTN|f;_r3qPnzps=`sm{4mM%dX-z-lv@f7q}erD0i?{#?DMqy1` zf1pVGJd*L>6yX%&Lo&YJrbh}bMv_zAI?+XsQamg4?qYDE$A8b$Ic>k(STmn`P@EN2 z?psZ*5V9X5Udymj@6TIJzdvrLy`7&%TzfqfrGFomwPC0h9#*Bbe#$f3K3?bacx-7= zofXXb9#(gcHRR|jxht}u-+QSrp^dPwYq;xs&9OGI1g<~bFO=UPBd7V zP1oclR^)6tUl;1;O#r)<@7c&N6uakodB`ij1^6)MJV<6!J2$tvwe`PsZZaRnG&St@ z`nqwKrHMbk66n0fg8vVQp79d`d@ z5(>9?1MWTd^|HI~VI62ZvL8{5xp)YqjR54aKlB$i^VjuosNGxD^5M3IBY#%6W;5(g z&E(BjpHM5}TcVfJ!^n`?T9+rVLmTf#V6U{qc8)hya|;!zN9wBYYsr{m$yC<>SFI-1Ltk6F}dC-%(T>KZNH6o4Ve%t~7` z-0luT@LuW>kyNifLgtLshgy>3_NH6l5@`sDwKMHk71h>Qq>|XGQYe}9KvrRQ@50D9 zGlY97-j7!h+ROr7>NSTH+4pnR*2jjv($2}&Qcq{Q63dx_E84sB0(jLA>F?*ctalt) z9^Eff^(ANe&%cG!slMN4KHk2j>jRnBT~9r7<*^ec^pm|VW0$xl8G0SgtGUXCpLyn+ zwzUu!WG?irX)>y&Xztc;GEcEr-aIIYUhLjkdXBS(S4xj7Ogshr6zJBq7U5$5+0hT{<(ZA-1S?;W$n z@1G@)b+FEwG9!guxUBG?kXcQioP_NXo&5vrSKliIAdC^m$!tt%aHX;$I1~6IRDYnSK zU*#M9+`XT_srF_i@v6>asAZWSR|`ST-mN8b$X!&c=e#Wd}7tdE6 zWVW}n)Vtnq?wDEpEk&e4+PoMvjjM3QX9L8_puKSWs7d?YE3bwlc5-Ko~tHIpVyp7wYv)LC?n$`&Gm4rr}Eb|1t#VcvW#oF}(phF}$ z`2xowC?@QTYXCh;8&)c!29&kpn{)3hI(rN%Yt!OPa&{G}?fKPTT3}2C_A(g3+)vO5 z6Uxpu2vmC|t9r<^qJ#e!R{(M-sT(M##97ei*lDc+Vl|1(VkMxVofa=CR5C*u%I34C zXk-@`ZDFu<3R;Wo2w)LmN1(Z@1s4aRJde%aFXRs-DPx3JD(nr%!OY~3Cn={BE}A4j zhvS$6*DpIe#`-7nW@E_gvgkZf|?-BGJ}pR=gIDYB?&&;~?vKbl1_9|Vzf z9d!BM3{^xRefjL-JIx66Bd`f-2l<@Vqb%wkS9Q`)zkpRC!do>Ypeor96&!b9^^?q9 z5yz4kjYz7f$#&oANi^*f_YmU)uR{-HtgzmJ5IB8Y$CN9scJ zY?mTFE?UwgV%CJ}$A>Oz1yGso8`U0OAW!<|2K~{bCMkLs2iCTL!y$<>A`fqqiW@XV z!+H>z!*19#jPp5z{UBzV+B-Q@FyA57PkMDv5g7#(kA^9XN1>4n&H}6(6>KGm=a9_) zna%v5KWf_A`lg$0^TI1TWV=kF;uXX#_h36SzC;#qt0(kgyv*P+NJzG^y-Cr5g+Yo( z$L#`GZ%QY%yN=A^Y60i9>P4xIRyZ5P#4W=Ddgsi$O*-cVkuw{__E`Jp%)oGuSn`ge z5D;LerAHkYL?~Ohz8|@Pu|InD*{9u`Ro9n+2kD5>+zYt~aW9gFh zms>E+X0XL=+YB$m9hOhnRpERPWieq-*F}mkGeij^wN+uT5GDzGu+tFs z@d_AL>8a5&IGzfl?cgCMxx3{UQz)z5_kxDHvt%3@XoYV5=)(EY)y4g#Rs`@JmiH<; zpjHGNO=2EJ=|_DxgC!V(CHu4{>RUknAOE0@lK6m~%9(CrAu@b}jA8IF`~3!Su;m@w zL<0ZgUTmD3=f@~S!Fpi`6Si*=j_)PKgj-OQscF1V3vTD8h1nHiO!VuZ_V5Sd4lW|o zvluaBl{R#reo{~gyAhp3Te4TJuy?8ov-*hPsY7=o}94-C3N2 z5jPA~`qMar`5=m?yB@2f5xKg9naN@ETT2MD1)}kFXDKG`pb^xw3}Zp-iZwTy_to+dF#bO|A9PtHAAddRnZ@ z>olIv`}_`YFNW8Q?xkzcbO{m-Qg~G+M^kJf%M?%cmleY+6N)$rqC^Ch1Xz~+?B`%I z)?2}SbL4=i*X+*=`u60wYv$;a+2;O8VTjASUz2g4m&1(b+Gp=AKKi}J#yr>KHP={u zd8oDT%l9W67qU2g{=$yMujR_F-Puv13kltQv|QbKdGco37F;|G2910y!a zWyj+PUA_oFnDFb^#8DYodckm2bVng|QbUGqx=AO6qO#LsvSg$N*$9UO{(^{NO#osk ziO69(WS9QHGK1Rg>jV@$-2Ow+VK(L*T^493ov}m|;sWAMZ-`K(WN^k6S6Y0h|!APVp5$E zSDzk`JK*8KI*~DhS#n@n)4mFk2R}ptu?ck*h{It{&i;esste+OklY#7HLYh%T3D5m zC?C<3Zc!AAHlKPfWq+_0gmzjwrRPoh17v(Ggs?NkYklwoX19He@%q0A0N^IYfog-p z;yp{$|KTxdJuAWggyI#kp})pO24Gu1@a=*gFU8LDl?)i_5mUxq#M+1dll>}vq9^T^}J{Bvb$o(@_ezLyi&$`RMRi?XeVsT{8p6p{DAXB{U@E@I>-~_zb zf1AoJX5ZK;`j`0Z;{GK*3^kYyq9_K;Y0!}nNJOras6JzIOo!mmpLD$VpM+&a#pWU^ zcjcso#6=v1Lck>#nqi>#Br;j;|`gA zli04-@6laGXjl)TQ`pt3AHaMB^FjLAa&mJ1Ny&+H;~!j-L(uF+=Wl+em9$u6UiSQ%;E9oX)q_lKHTJ^Y87i2l%t5#90O ze)$3O&Iuw|Z;FTIoAwMLs{Y4is<~eE79-S+c%h}VVzJ~OoXdCa7dGo3NK7kT={BKS z*?cQ$RttS2fvATImI^+AbV#Ze?8LEn*D1}#c%hX%;2VPwCyC~1JxT2vtdFGf84yMz zum-1Tc$qQ*{9b4!K{tj3ox`jvrP`F&^G6O<#DPs;9mYt#1nXFidd~Oui&`>>`)Y=d zTImZG+`G6vreJTgV;frRa}UYFT^ik?D?Xu$i3cV?b3d`)NL-op3xp5-v!aGy$@~LZ zEH}G$8StU!PlRjw7Jd3ssXuu0K>i=R8T`Q;km1z6&_Qt?9HYA4&nxDKHRco%sCJF9 zA2!At03P~hDXnzWLmF6{0+x#{>!^PhQFXKn-0sE+nK_g)ka|vb(jPo@c)idQh^@_* zjhsnjJkEtR8b*gTVhSnb0Yt4RbqgDA3meJMSrhx**-%C^ey492g*R}9YO?O!4wmU8 zx`g`2R5A08iEVe&G0TL$&++iHUXJi9pnsx?7m1?Rk4OwHgAwVJUr!uu z4_YUTt6?~5jhN8=G@EM%Q_%LqT%e7F6o0fe*@WV0prEJFd!e8M!#P?BP3~gB{?paL z?dzj1uLbfV3S!RkCC2`>rkrvMf$2H_Geg_~p8xo2{q0!W#ETKo22sEfZn#lMvn3!~ zRKg5X=muN=Kc3O{k7x8SD)@N{#cdFAiG-xEz#Sl{X5=+8nT#S@1aj3)#Zfqx)7$-H zQj!Nk5r7>^SZ$&pliY+v7cQD;|GCF-7^)V2D`mF(f!zov=T0TeHW3i=uV6l#BzysF zk&|XoEduHhfJa9z5H2F(o}9lJ#BL%Wvy4c?_}Z0l?fgl>9_1WA;E3cH%iH<8pPi8W z{zgmu;>?BQxufaxky5%Ig>?@^?ph-b$?Hdccx70vYkO%0x!T`WXwHjBg5X&h@CTZu ztyerI`92k~*+j&mxW8TsK}N!e*+t?63Av&|#Ogj3k#llGYodAB|sOz018~{g&!zB*0T` zd0rxpv#)EyyNm@_kI>$S=-mjhK2y-vTe|x!wlv9*U(W?bV}nQcSEMy~>YK}4<{PwE zXwI`t#>}>Vle2ZOz3K2+S%qhLaJnjnb@9Hi{>NiRj$ijG-#*X0|DKWNe?};r|I`eb zr~>{s1q=V`JsgdloXl-Z|Hp>5#MgM8Vf1Yu=TW_DM5EcDw6ZD3-uoc4A^8Eh(v%x9-b}72F_%yn{AkFGMn<7|t0X zLuXA?^wn$Y`128-suPDWoK@RGxVPAfI|$~!bOGa5wh(M+0{Pyry*MVaFu4W%zEJr< zc33RFhRdawW@jSgmKt?EA)OjZTtogs4e5jfNriWTL3QOM zyLpS`E}z=>G%^8}5D5r>{=o4k5>2oV62huEl$wg(z%J+)I2m>JQTS0~9o!}|ZJ*?r zkZVDvdk5vzGxUM2v)p%lHqk%9&?i^p0ped&#@=lsK@;9gA!F5@g(iOlu7HwF&JgxG znWXt$AD94IM|;WNIwHSZqXrQ67`>fbm()R+j6B;6IpK(~;LL+CbYT;@=9l3zmzGCk z+Y>ulvvmY1;RGGaz%l4y<1ja}A!)JS{jb^zr?qdk|a`FL^6ncA_HkA zy@832LAy-5wv(5P{mKF~RVTKDvQxsRD!sEV@B-)L7BAf`^)UZ%x_wN{{i^&R*6~4F zAmvBxo)W0>Mt4AqLKX6C?{Z1geq$1%l)&igKvsydMnDT)M|Xam?~Q%DR^p4qtyw9t^GlfVZ=7=iNktGgq)T#ZlVfU=&#@(XLBr2c( zMhY~o`X#rlK1d0Taw>_N9+Z@)T%Y>YI+!CZL)FU62BB|Xgv2ZLrD{o(f$;zgGKw!Q8*fZ=B1UuQ{d$?*Q=Z$h?? zRjpsAUZ^Q3)gPdO3Dn*CQaEU)I2sXo@Q@EY7Qocp(@%;Ra4&-VIRV#ANnGXH@<}}{xofBJXFU0&YMvbkxh0QT1O9@WCk!Bf zFr5UC?aM=*<-N!;?C7{cH+KcW5D=-!CR}IV>Zo8jmlL-_2%Z(Q>Tp5*PEBW23#P0y zbvRN*w-yap)W7En)zoy#$3;J)g&di5Kv`qqAKRl3{hzW<-5C)Vf-N?d`c^W46o)Me zxX2FCGn-O&@@do(HQkAw4K*udqi+pESdk7h z|Nch0k|ySAj_P-^o6pvmHqlp?4rt#uv_hVA^mMb~jU?)P614lU*`erf)V2g&5=ve~ zq?L?3u`k%&4Ln@^1hjcCIDWCwd*4Lo`V`V=0okK0wsGD>=T|)%(K=Q($hmI(`ZBZ@Ul1Q!`xZ^)1JAf)ub6 zkk|Jdq5?8`cK-~WCUqmFt5jpLMajq|p=;ADtMGXyWU9M9*C=fYKP~Lo9dB%G?#PI4 zzcXEE2>Lql*U8(_?yteR0YecpJA`&>a|JQh?y-2*L7PO`xRU{U9!UGWoCoL z?6S+G?@#&%hwzcSJzN9@0H`JXUt4DXtC|#HclA$S006+h<6qIBl9{u$fsMYol_Raw z|2n0yvoQ^qlM#i5!unSL1uHHlqyPW_82fYlh4`tL0>BDeKnDN-29T3d5(WYU0tA5q zg@Azq0fYd9fPnymhK2@(MuA4eM1cZDghRwcghob2MnuIz#lXQrMZ&>A#lgV=g2RVE z{SAdfkAh8th)aiuj|WG{+o>e7MKJLiUb>l0T+fI7m1tziwPf&2Uxl4tl0{UVU0R=8!Bl`6TZA5$j|N|i<+lholRP)MqyUEsKed_& zv%WODi9ENUpdi19gpioDxG=wzn2?y5n2@xJxV*Zuq>z%VoVvV(qN1XLiiWD1vVxk9 zy0U_XnzEXjny{+5xVF85mWi~!i<-WrvZ=d;s<5$^lD(Fgg@J~Pfwa4clEF_iu`o8X zvM@HZG%~X^Gq$p_GO~6twfA(kGIFwUba$|Da&mHXad&oea&q%>b9VG{ck%J@QM2~f zwhu9O4L9?Sck~Li_D^y1k8}!6cZtmNPACbmRtvG$4tF&U@^X&%G7I;2Pw}_P2z4rm zb}NbZ3J(ttiB61;i-<_bNQw?lj}K2uN=iscPfE*5Pfkcn$@+OqOG^t*Eep$TNX{;b z%5TmnC`&GDFHa3F%1)`z3N0^4Z^@5tFH5eds3@##D5&WuuWqQVtF35gZ>lP)tF7y3 zsAz0#tZ(UPYU}Q3Zs=-n?(FPLukO!o7%pxbE9;(Z?*3ELH(foj*gi1cI=a#}x!XOv z-(Q_J+>kxmTJoo>dA7TJe4t~Yzk18#Ly8C#0`1<2e$ z0rwJ+fDo4>GJq;z$U{R|BUhH`V8mb*!~-)fiT4BIAY=K!wA~U6A|VYHZUEN z_vnvMl8g2}qrqu`DD>W}a4HBw#UV#Vz9+o%+u!b~b$N>vVP-AM&Wd4q_14}Y;i7R` z-Lty+`K=awzgc3mBnqvmb0}d*zy*DW+RU|5h1?+Mf?A}(0<{qea@9Zva!tE5HE;8< zMr5GH?_A(XrIc@U_%z=u>%@NZ>2!DTbLDpASX_%zB#irZZIAcL96be>5;$}Kj{`$v z>7DzA#jyx5pXpsbMCpAt#VHm1q0G(ul~SG6DuFkNFSg<2(j|{kL}V!*Tsw zX22W~{R|z*mzjZ=fk6&xXI2Pg5lbHDUUaL*5cWFNVXTme&m4#CtbXPa9;D5|9~$sH zp-Ryz*jv#=3|wtdAjgoLw|MqwAG)4h*;rc4pOOuS#kGd7os;^_^uGsig9s<`9NmcD zz9c&=9B4HeFBa&Bu}wx^cXLc12;&9ZURyJFyYLLjt8}cu6i_T$w}!t#+!&FM)X8dT z7>;+vLPhOBN;XsHZ3?yRji)_^Tu|LSt5566zuHFsEW#`2wzA>+!Iff2q*pIX4i77Q zg~1PyMha~gGMG$6BgJBx%n$Ot0_OuAan9iVB2B9&-7`|B9S(ngth{<6hW9~%j2wpn8 z%I}NGHZKMg4-^ij0tLjL!L@Gjb5nL##IH1DsaHYX-!8s7Iji>wFM;Ef55WKr_~(>Q zgTHo>##p3c$;0M|7GWdH*=cuNX@^&nzVfP6eN}ygz0)_)^tfq6O7;NkCf1;SIOI zozr7ZXG?jZgtr@GG+(P-VMW|g{qZsY?kWmnZ~&JP-Ic-apy2i(xvMB@!Or1byy(<* zi8Nl` zsA6iHR2sm0k@|pc8Nn+y*sc;}hfez-xa57vf=6CVw&Q2+t2TZ6x!pHwhOZ+wDv+v?fs07_ zYfC>Ki>0j6Bh;#PPV~BKa*ORYGsNnq?+yI=UaT+p#~`ogv(By#vZ^Wcs&0zZ%oQ5w z0fc*F=W|ET@0}NiCCLU?#;x=3r_@JZ`Y&x;2dgpNTH*8j-k*=|>Ran?yy7~Y-^XaK zFRfvu~pY5%e4try0mp&8I(<5C+=AX$%#8}`^NdF1Z7_< zq-@+h&FtP=+&g+=AG6-unFRMEeY2lTzE0nNX?^$h{c1rEV|TeuXFCn&K(Fc+-kI2U z^TR?e3we~wvvjNheTk*Kpn7juq*@0I)24B4+$%LJ6<%eY8l41P=W3XrUi{<=2EqBm?FP0iu_z3nHLc#<Xvp%J)U`&#?Ne#wMJ3<} zq)&Hzb14R|a*1jy(4B8{R)MOQJxgVWinr5Kdw;{NgG*b1mc<)#TR1We`3>tpi-ZcFjJtT}WpnXio@Q?;6Is9BlR{ z37S44!x8%y@1^X{(ZEAgVbFOI^Vvx3C|4*8%30Wa&zmVmxT{YYJZ=QG){{+EO>N&i z%PiKu7vL&R+|BX41a;)&ZGiog@RQP`?Soq02g9W*h?h&=(al_I9ty_#b(Y=t-iZmF z0gt(3^_?YUzr)2}x4X_;Uz(k>u~N4hw%?oFyv5VdMMJF;!#2VfwL0q9bl(WBW77vX z?6i^757TKr#>TGwZ|9UTyeeSWYH_Oa*zZG$!;WCO-cz@tksmNXKTy=Q#n!w`4>w%^sVQT;YWqU|nJ?Ry3THmzMXZ_F z89$~80%Dp9A z2@h*N@59mq@B6Yr)Dl_C9lswd_VEE#$MWLuzr`T5txFWkHp%~v{1H!gDB|kqX2)6q zT16oZa$@%Sh3Y_fI4<(%G4K6lKgbK&68JsVGKg2jfL!*)5YE5egho(ak?p6r{mU?Q zv$uvG4>8}^>r4I*=n&GEnezt(;+GjBaE5(+`>N1VK=EH!_!4k_26_K5;Bs25DRzd)L^;lTHY_nuSkjw3}O5=W(8MB8&n?(93!5QSm|3XH`}vk#Fww_d}MeqdUIuSY$1=jgm>)pW*9)V?a?zrkzH(FdvM zGs5C{h*B?wePzd0(|E_x&v56JDkGD0U-M<4krZ5j(>F)4m3bT-0)a5ec6}n!^m!4k zaa)X2NS>Yc-k`EDPk822k8P5F9m>@jA4O#Nd57>O!q_aW>bK4K-o#j~BQYd7SoDip z1h=kz`ftH;brSzV5NRm;*6AZFMOh5o8;v8m2SX9hAFa{$gNqW+n~3jGt>oI8=EPv0 zN2HpWyWFe1vU>+4hiB#|$$LmY-1%(T#fEkpbuKGLElj*Cb_n|=xA7=&_%;AvDWLCm z*(E%D$X3@z7)@7YQ2IZ1uCNXZMmz_K{^6ldynx&BE{1ZsAW-x1aHp4%eRawgG8LrQ zKYL6{bkAwNE}HRTv@baKc0K0VlbQ1-wA|jzZP8^uHa<*%2r1I@<>PzR{sIx_|4=+pJE3SjFzQ1hpO?@^Va*@?KnLzv&zQ3V#y{p4Cw(>*K5e0X5GA_{62TFuAt_XV@dS<)YxQa~TEPah zJT`r?O6WzbT}1fkIwH0i!Py3ryl!7}I~MtRNW+BoULazjs_Q8Xid@ns+K5>;rh7fP zihB`coEXVjA(=NCYK@@_rA|`Szt<0Q`^H6dD{Pc%fvk_O`8L~{=rXtd68qb0Q8bc8 zVi>hF^+yl*EucS>ZL?oy>p_p3J@D7ibfH<9Mlf)RP5RnGeES|?R;LGa;!hW({ zWE#ED=WMi^KrHQ8S)@=j+ATO|%srvSFJQxH4}WZ(1?Z(`+vA%xmFGbaydV)ThNB>y zTNS@=R9lZIcjJ852Y$Ng4m96P0_O0GY81Sq@Lb*)>{u|sGV0TwR&}2vq57@ z14`e9bvd0O+4{by)tJOLaRzP9fG9)r3f>vN|+h-sAw`+u{A`zm1 z=3znMPW^=!7>((@Jhs4FvPl-sIg%Y78QiIu(~2t{iU?n1Mt-=e>Gvt8u`B@miXtwj zf`*-Pie&V>s!`F4YkgmVGlIM};TqMriC$S@pRK!IK>gE#`&3P&XyHASgkCA^36WG( z309Z<0=M9QK9F}@Al_pm|4v2{`aQ$~6lo2+3uxr>)^%Atj!eeNgC*(*n2B^2(S;6M z?^xR|m+5C*Hds;-KhW(Rr?Rbhl)b}C#BvfB^PQRf6l#3nVjB3LxFFis1N4SEj9AAS z`P$@n5xPnoDpNelE$k?>Q}p589mYz~m%&Y=%OzsadU+C+V#tm07h!kKn)Ms|FvO6;EDb=jxFsE9dWJ|8NUTOS?;`Z3I!i>Nu%w16r~evREypg zr(ZDZ;0}_aaL{pHL)EwLuuhhHtonIeJftPVQKZ<_3J-tg<59Gc;~8bQp2hjfJ`P3| zDE{cc^FboJBLC#xcGOMQAmJ(Hg44476AJ$Jvxgu69RKtwQ1Kh=NgMEHZ9-D2$}d*e zt9o*`8P)ms1H#hQ*ODQ+FVAwx{`B{+8~E!*0hU8A{!UF2#HLQW+{FQwAwmLAO)8!4 z49HRBn#=X;PmQZD@Av0!<|3J=ZsU(k>WRtE&arobFKryyz{Z>8R^HSP`fm2xA}v5X z-2|g;O`wTNGyTIwZCdQ*W95KxO47__yjW!(KaL^86!^ZSd3m1_Dtw-6=> zK`a|m7w*6r5{ChPPN6Tic&Gc{0@95b!-sfb%RY3$A8ufI>jolCP0&#dNW*Ycv>m|) zA{pOu-`aPDYB$9u^B4w3v(yNTF10(qD&V$jHx;~Q0z^r~Ll93>=c{6t4r75r1+z&n z?&Td9S#?#tcV1X14DaNhT{_pxl$_9V-`D7vzVx{FD|$XF&S>U5!M0AsP&b9Fxn78P z%FZ$?YR?fP9N5>@2}e4|o8m{lTS26J8%1;H59vzrhVdM4V#jwxC-wbNhGOkFm)!^G zF`rq_sCZWVR%ZInrUdBPypIqkxqv)w7Vwxhio0@pB(rSz)=;8Jf*}xb` z6e_&~uziIbV+#Zj3?cRN*Y)}IYdjhFJED{FSllKPPGsJh?H@jbrsLkW47&EBtjVa*1bvc7iS!7MRc{U3N{a(*h1iAbV?q4T}W=q4zu8xAX>ppvzIKOn)9xZwuAKgWclQ4zD{5lw?CIU+*fg)yn<& z8YfGi#`o#C0Xn-vLS2Qg4r)CvO>)A7P66)lc<$MIo&NpdhL0 z&;@nU7*%EiU6jH&WVt&soN!M1iYrFrme8Iio zek>(`+;ST&KgX*`mq^^E(B;ttWwvJ+nmJ*Kne$zoOi`r6l|Xn6oz6z7sTh1p3m&gg zcO^F7M(_i4QJUT68-3;~F4udCSv-wHQa-DbIIB-Aa~xYcw)sE_hFopFu-D3r<>g0s z2Sj@7r&F3GrFoC5chV+fuMZHkwlo`~eVgEy+@)%|L8-VD-4-!=gfa!D&XcQKTJJX* zHqCuXo3h{#YG*hSY1O&Yu1g|un#4)MhB*?kpKn+f1vbHb0=bM}0i0*oWU5!F#9@Ls zQmO2Wa)^6CJl)*2e174AYHR31IQ$u!nu~S)!A#TA@#`_sLVG zCtjKPv^B{{J}2&nzv&3MGb(|uYw#PD_Onl6Nq!DLwUO;AL-X43em1uimu^VjU4=*6zulLvl*#Nt&QwttJ+Tk=)oYLP+xS-e8Z7PKmGM5h2& z^jaGo&Yvx$O;Be1jro58;y@k0-@W*>Q2Y^*JcRuR>lv&?I*$;fbB{HkO2_>EBpBpK04)$MR@NW&(O^dHf*PS{)BJSAq7R_<5q6flogDhqQ6q z+N!{7ehB&cW(Ol0KbY>U)s1<(jf_)h{@_QCB8PRZ{*JyRL8N~Cn`F`$018O%B?)d( zMC{P`qg6anpq1^jku}AJ2c{P%H+)S1}m?x z3Ypk$)I64i%M=on>@t&l>zi;{vYyfdv&)e9L$hFOJGvx~Mf%XGUp4O___+}JoL#V{ z0o8Z}Sx%2a$Og;KcKxI|V+5wh+%4^>+%;`;ZY?%*Eh}v>+V0` zc|%PfgE0dIs@;RA|3L<5_bZrQLt5`%dI@w>f}2*Ka}(+&4Z}2m1 zmy{OGV&AF;#kmQUN5eQ*jy4FK@0IWVJk#MoT_!2Uy`B0aUJ<`>qe#9HoGW9$F82&J z42>Qd_vvTrc8a&*m0D2Mx3k=|s9g~Kq4)4PUYFyz!7}~PIwlr&<0pGi#ME;&3r4r& zaXx>xb|<9P5>{UEwqIqaWUe#~KoG~XUJ})2AWdbsOz}$BQ1PgmSqh1FKAF*S>HK=Z z?1@bahs#~J7%a0VRuXH3(zOe}JytBJJ+XXuI}!jNJaNc4&RjB1f%#*Et>d*FUfn`=Cp=zjW&ZftCNN&x z?j>k<`)xa4c(v{OGpHUb{($wBGFqTE4gQgPM+?}(1MI?u?9WRXEo_tc3)tB-eE|B>z}b^6u3m9&RA2e9uZ?Is^JlohP-V7AgT z6BcNE8d?Z{ zv}A!HJR$_Ke@E$rKTd$u`jNn9`mjwAme9lK!q7qj?B`Is*d1e7YbTHR4`cCieHNIQ zQlS7kN)OB!MI(oT(w}^oywYdEw1*n#NV3M>?h%BUgr`1X)ji z{J@;)H@cHpx{Q&152}=g6;9QHhXen7;rX@4A!jv1Lo4+3n zOKv`SwlBXmscc^>JHLzYN2TmS#*;s<&xwD=fcU}47tkH?M|DSw@Ah2=pq`5^^(j{4 z4@i0XvGH)bGf`+6Tmk@1?pozGBCXCNOZY?YsC4qOhy0?SPxf8pv80Qmzf$QX4r;*i z%4~Zg>#0Qmm#wNDMbU=uP3EG9!On@gCue7cRXKpj9lP$MQW|RO=aJK$)sF zxyxN?x>C*JgFWbT_gK_!zP+7Y`$jv`M2rFsSv$#TX+7atMED~;P>X(+Kej(beq<7V zj*dWD=BrGw7Oz~UkQ>f`C_0oFjF2_?!zizGQKPwHjYj?eL%aAi%9w&5gC+by+b&T< zr3eC*SGt+#i`0?Y4!-vGOAK9Cbws&on`D@}K#xk8)4(4;Bd_p}x=i?kO?3dBc8yf) zCiSO#SCRq@WllE{vZnsvBhMh=5N1E>uvWH zAtzLF=xXPSM_pq+>b=!N2y;Hs&fnK>1mk;nrJbL@{|J%)>7SNYEcuZ!-kH)PQCdwG z7eEh4zR?@+O38>9UnEXmQBw>&@?UBE&Ja$!T}eX23z<)AVNi+A>U!c%oiIvW|B(1| zQl6)XEKTV8iY#+Ui+~kwDqeb}y4(h&UMr@`^8i=sbK5mG2P02`R76)*X}ME)oL`nz4cJl&@tD^U0sc zMoJHs@0G=&-bm@5vqy%%Kqks_vJ*W1&V?9=qx8HGIUY@p99{g5b-u^r- zx+LCMl_TDSTEww$y|r)uLE53!^amU11DoaPJ*D_xe{b&)^qD`L@W!*~M7UDu z!Zr)=kLKlGO5a2H7Bwp-DSfgqd!%9=QoGP&*tBAP`$640+`$&8ezwkAIbjWFdMOI# zJ}wA(cz(DYPbnw7ihq>o=k4w5?f+d1zC%ABKi}^WDhVGxakl||LGOPWT~lYoSx`jg*g zTFCB_7S{>e{M7<>c1x|OtF!fb+cuuRM9}>0{|52r!mh9W{(mI?yf%v%K2gQ%t9MhA z$%);48@enm7nVNztOfKa%7S)|>%5ISdz7559`gE1lYO2WSmhs04G8h2nE0R`| zCvl9NId84_^Gpe~U!{v)UghC@lVmhE+IQIq0uO=#fl0OmKX;iH9T0s0cP@D)YnB6j zeC#;aaD4U*Y8%@6s$?w9PW!o|@9N1ew=Il6j~Es}hnOLGW#?SkKM@-9Dd#kdDht%X?^ED{CsHqQRGxi zp^UH)03c(BSZ`Yo5I-C70-i2gAIbj1O#b+wi{c-ew*Vag{9N6Kf3(Ps(q-Zo9xc^`g0B>t#qqxB$vBuQX1owXM62m327`u|5_1CD5a9mtrb7mBtFy6 zy|MlFc8Gy)A4B+~g}D%B0e|%N)jy~8=wINN<+M?s3sIkwtAGA;`NDsy8C@>!kb3m- zK}aV*U`_rQfS<1%ZHk{CaqVIWe_WB>KoPyV0L)Z@%GT+f$Ihq~-juV4-!eVAKuRStLv$GaI?$GhdJ5XP?abls;;5FHkLePtd!7Ls7J`G&IS zXxOMOL6y@;a2j0(vI~s(c}l(o_(#V&Kd%^|tS;5xD;j(S(x>2+%v$fK=6^EOdcvtB z<}DhFz|wH9dFL#(m+0^iUxx5&-Hu;Rh=!f2X05l^yfesZ>nrn{0Qew>p9`}87}WOJ zHa=*Z@#h8kCiJlNcr|P0_Zck59&}RR`n7E~9`F3Lp!mnvKo5zRkWHc#v^y_G(B2es zS1%jBT_wI-W>K4vEkJ!s$nLHy1??_tahtHszeLF1PAb~k{!`z1Ncuz2e0~20{ywV5 zD&AT7nAJbe`@i82$7cG2$)L=iw0WqB9(<3`=L?ix8^Oe(TRTY!^-_8BM3b-h>75iT^+eQ{YF`h*Mz1_jfT6Z_px- z{V>OI^B{VpIczz#*B(sNYlrn!d_2O8!b|M!k}dD=6oc_by63|k48_dSm?_+s@YxU6 zLfDj5_#<&m4bz85U6ouw7il(2{0WS`jQJFO0oFjB`!?SE(Vq&P*e&J#I3%i(o#&M= z!&q+{x0d0*C*jVx!$lB3xDv>G;?O{Or60eMvtSlYum2TCj~4kKFeUX+w2;)=7QYRK zO~{6hDisU4)S@jUVhVzhtfD{KOz>Kgw!P4Sv-6UC;ZO!MokYFNd4V^7^x?IGA1Pv? zg7jS;`opB&cGR*0XY#|yIEWu)jTafnANSxc(w)0dhk=%M=YDD6KH5GCv26y#g`Dfd zHl=a=!9w{^5*%&acr~zuOB*pyk3704=8bj^?$*mU(0uw(`u%0z@#k->jakK|Kq-^m z?*F7z+Q84hWag3`F~1|W=EBkK{UjGDg!9qG6c=|iQf ze&g$z3{Dq_lHh;FlU@G^)zRe+NzJ%F~U zBk#+HT%Nr`L0qX=qDxSe@s|j7gu78@J(0c8=`iXA=NY5Cf+sSWK&4jNfAq<#_+S%x z4NhkJ*B|U0w+*F`dbWvEEX2aO9nRUtvY!ks-%1Ncd5Il%xf zqQ*{%{=mcQ4U08cZ-354`ai|E`Um%b;|vLrZy7)Aw{z{68jvp3<#&E0+kAm|`a)Tp z1@@9e(eyufxIh8#F5I&P6Yv0^8ercXmtaHF!R?>wAm=3$=$hdeoA{ zg5AeR#=SxMqdDiVB+1nW#2k>@$o&A%v$yCOsO^{a`tCa84i$3$mH8N`Edid0&Bt>J zU{Aan`^fCOLf8|Vf*+lI*Cy@lW#=E6eOCy3d-=IXYu{bmEo6&6Ipi+1y8h!^%1$9i zm;K*E??Z3;#=kuF)S+*Tt+a_%N55fK6o)K1`53~7r z=f|oZ%MkJ{bsIh1yNwTw)v}L*KZNQ@4+}LO`Ad3@H`v=X_)h8lv%;@;&E0?WrnQ*Fe9&?PEmu3I^uOx;?QY{FK->v@@(Z>iSL zo7i`oNfma#5QGwk6<<#n*??NzL%yl-gV?BDl7rWGi2lhxzV^is=(HMXNax|y#7p0V z1sgh5L%BcAf(c^cgx}}i7tCTff)r6Sp*H+b*QSKxy*(oo3KadCN%W=YLp(=mp2*Ooc@Eb>}T!lXH*9HH{O6$)cs z2K2c{NSF2YAAS50Me@C*5N|6irXq*~<%`R>IORk)gN69H2p)c7kO_WHk@}(LTcY%6 zCHVP8KJn+xIeY2~z|HLQ5li}6luMtDS2gnFM__N~tv~csF;cXA<}yqGxZ5%LoC1sw z;>{l&AHp5(0=E?t%+y%hd&v37IDI}2WM7e}(QN)8dp}r}H4WcLIP~+?U48Qgzmsi! zB>QtGp8gD9(*IkbW>Fb)7?a^J1Y|d2(H~+!wfHn&{ZR=Csyaep-O?hafz##1{WCxq z{y=HY4M-mmXfT^Ufbp+@uV_SwaYka2>LW*MQNhg>t-&8`m}&&0aP>9x;peDS z<{NDfvMSB)89%ZZ|9r%Rx$+<_e|#`i>^oQPb^{H<&&!PX`B3ynyoZXBdbl=XT1aC& zTzJHvmr8u1C2^p6q)L^_%j>|rrHAnRvAFZ+T1Pv1(W8MM;qwE}MyorA+@Mdc)hXMC)KLfi^FRF^ zX0NiKk9!a9ne^)aey4D)fw4HiazkHN<8#{Y*PeXDEyoP)GGe?`9L`T zzE2pXhj8$@D~Ufh*T1BvyStbC8F;Rzx4XChY>xo`CA~fU$8D;vUI838Xpg;DgT2`z+^OL#0P| z=Y4N1^cQ722b+a^I}Hz5@AiN1o{{dxGxP`KpvO2O)3tX;&m-Uu^Y$N_g)+wJ4TuO> zAYq1q<>rKkOyYz0s__!iHsY?r8HsPT1@wp_J>X887f2*d8+!&`k`I4uCp|5}PjH=F zBwN~rT4Z#1jYtPa2d#JYYlkz^rC_|xP>7`);b~V)wzr#)CzfuxL@tZNyFlGS znMCobmW)WISYvc@D8d{6S9=8K4>Rp0K4+VAn0%xUoqDc0gE@e{5O4cmU8?9Nsy&6< z3CFilt9$T`+6AM#_|s$N()V#6_4q2!*LRmWZssoOcB(BCUy@J0*Z3e9%?+sIc&P1! zd5@>THBb9Q0s7r3W=XG zP+sXn!Pc1S+{K1M9BI0<7D^xDr*anQi5W6wl;Mse7_?VHAUZ%F32y!7MpRxc^nTE6 z{Xx+VM4ruyOVBO=27X{@=*tz!O%ke&NGfsOc&#yWe(M;x;n|!qf;>x14?g_SADwF; z^q`cChaO2M@y`v`=kSem7cEU4f0_BT&$)sEpO_3Rq|it4fgFVfr!yDWUQ%Pe{p$bY zjNy3LXOP}A26UC!l3TDx6xh|RW_#Bo|qefSjD5w9$P z`NQ1(N0~g1&eJm48hlV{cZNkp6fv4JgTfe$ub=ONApZ75vYJekYIUB=v}|+elKx9V zZhb!bgRE3{k!Ra9IjEfj(*DWa>d75g{|@Gl+LKxM&MuSRV5!w21{AhHbejze?m`_A zL5K~Vp~a*KhUy{sAS{HVM?R5=S}W;~A_-SS(-2W zyCUMukm=Ak;F7%a=@U<#%Hc-LJAG6?Ju^j(57-Z0WX@CXfUC@Ts=dEp{#i-Lc#-+; z62YMhnSWg*G~?2l(=g)#yGASNj|eH}Qyf7Z;Ya~$3S~AKCm@mF8!WW9mohhL{`Nv+ z{`QEG93I6J|F{OOlWB}m4Xq3^y~uYDpa&)(Ej@yzmfn3EB}^H4`j{9OiOUauTST(9 z7g7AYg%Ge%@O=8_=?~p_V@V-7xBN(jv?Z0qr!v)<-j(=m#3ovh|LPjx(k&jrxCg95 zdL!^6p=2M@aUN)V_UAhH*dC;tg?Af~!A2s|wKpjCVG)I${aN&KYeW(d{gxY%ke^;4yNEC+eJs)$M&Tn0%6Mdct}670FTNPtNg`*c=8>w_l;3OAbPx;p@@;tOWxzb zAEh#dzs#i?&tCfL@4zvUO49;+Cx4mr>>&MdX}H8+ZikoI`q_5=vcN7VZzA#^?s6Xb znh@h5J!`;nb7IUS={ekm#3#nX`5e%~fOHYEr)543*4ck_kZta%b4X)6z?4)Uq9|Ui z5iP4#7lTmauRq$<2We8_wiCzR2eE%8(0Iuz)XvAgt2>!@3U@%a<)=>Jg+gyRmxM%D zlJ}nWK6_&Khk3{87b^13(NKaK^*dc$U+)u%*->)vy>5DNhzzgB2c}5*ArgOYwf%>= zO#r<1@)Dc2?|wPM)V^z_{fF620Dp#xdJ}rsUcT3wI#YTGuRj*G-D>0er@pPN8UNSZ zMvw5n@D@%?Q}geQba>0yZJTMg*Oj;GP2ZdK?@x>v50B)h9{2$rc>mXaqSIR@cWQD8 z|99Igy59$n@dL%JHjCoVCmAthFE0=BFV`k`Nrn#r<>tDbKtXHhRwY#YIqlj>ao-0M z9(ZGBrZSkSwU)O>;14G-UfUt8Kb(!z;}PTw|BpYzFTfwVck|AXd8$+A zQMcXNLu$JJs5y3sE{E6;$w$2DQA73$&_~C+d1noSE;%%R>b{*gw<9s|qDL*c)!q-t zef4$G_whH?!t;lD^eB@J^S7Vc0J~Nt-b;5OHbE9WO9GaJc!!r~Jpmx5CQSOQeXs@o z?O_aupO?yf7moG0-FHbpd*4QZ_@jy9=ptVAYnvPaW7Bv_pM|aa7qkn9@B4O1;vg&W zhfcnv8#RsDfLdj7-Kf@aBPs%W-9_dMDgdJ_c^4npj%vpo;GZvi<|d>03DZ~S8QXu! zT71cN0rf}x3|{goQVH~k!nDwgGbY-M>f5U7J(a@K!#w@b@+Yu_N4|iXR^6s%-84u} zct@O1VcJ&a0MdY275y*&{UB>Bp4>u0TH^yvFByzFgwr1vWw-gzW0&jBQHaamp2k`2 zNpfz^q#BfHE&ia-%@`8I{wf(=1h%-0*@D=g0U9V3ecybl4p|a^p5IvmrfmJVjmRYM zh`VIFVD=I{I8OZCY5(Hc|CoD^%N{*84i87Zb~0f9M^(B@$*HZZ|=D5I~~F_g2W^srJq&JhXc&X5VwY5EltSO0kuU<%89R{v?z z8UspalDp9r$4&g>&%@U=pt9j1SQvQyZhiQ)8v`%dE|k1t$8F`a-Ypp2MKZ7?p8jxnpn<#ZOT`M+7mMz8k>lu zp7Wexz$H6e1)|4A0zB?FlO7tVLjv?DA}Ja!69<$cBbJP=D)4*j@dukQnxY(R{AeL@#7Qt z)7{~&+4WZ8k0x>Q2Opk%{~W3mZ~XA&sSnR#EtlWknF0F`=0Imhn&@MMR=S*N&cI7n z-ulD+`LCLfNH!wf*m?E3im`ZspEd(ua?Qz8Cr_P4cLmZPcZjh-p}2SvKvnPxIYthWF71?{_q zn@q@Vd-nFyWK;XDt>*&}fF3#%64+q;dAI2f^%3ZgnCn&7fA-I}U;q5;8+bjFYtB~( z{0w*hmFbD=UtRy^I(K|hS@jj)4uAS}ef^^A=G^U|+s3!mKf-UWe`C_4ci#2u!i`TY zsk+W60)%WbZ$Z2BX9VreOBo<+llTeQn>W5&f#p^7V}=h}#a{Bu>W_i+c%0&$Yi-`2 z!RG6q3tEr9+Dv*h=VjB}RFJEROxTLOyD5-fk+X+$wq~~CMRGz)B;XZok)L94H=-09jkxS!W7LzO9J4zB}k%Qws z+_&rd4UXIs5tu*B%(oQDFeD=@>xmCwv)by&FeDV>j*MZZ7>pmCv49>C475$$(Y8UC zuAwCW++0MgW!bQ&EsS(nR^pKLVOtG8hPb_e_fqJ8s4C0Tl=~|?Z#M5b|TRYN+ zg&;OGNQ*S%lMy=(Vo5xM@j*xrYJ#|zBByME2#~S5FX_SGTV@^op?MuRA@T+E1u;HH zgrKsmh~npoq!9I(H&G4Lv1C1y`Ny9d@pBqJJtxrQlCy((>5tjV=>Pg1ApKHDb)%AM zE}!L#u&3@BR9{WM6J%S)$SxWdRp`)2Gis)dGU$>(%%zOt5_qQI+dOeY?`Y%?TGukS@|k;OQ~Wn4g;7np+odd%NCIB~>!Mm>oWw zJZu<@*=X14@q{nAKhZV;_)Tv?6c0>sfT!81HuUYjXu{PKyzRC)}!YtOGS67)cw6Js;akc91L7C15M0O>mgi-LBRLIb5${%dJ>kWhO_7XGq z=P9n_QPU(oXyqup667@au91yYv9pmuRPyt#w>=G>LW*-&smK&RPjsVuFCO_BG_ydY z7BJskm7FG9ickCKK{*&tqyhA3AugItujpb!wBzN zg+H!|<6z@kj5O{c)osTdH=}gX9=a9QkDqt0B=iNCN^iiK_j&V&&eQk!^_}9a_#o)3 z=6Bt(089xsREl4vm*kVbBx3ZT>qq2E3~YqUq3g%S;`LRz`l#blHQq>HVm8$rb=)vW zpGQd#etp6d%eB%cwtkyqkDvBR=i=)t@iKx9!+jkcjcbV!-qjWoJ=qHl4~q~{ZYG6 zsqhAI(iE?B@_IuH6V*@#<<*oPK|Or(mvmq)?z)MTLQ^SJpwHtW(W}x6^Khx3!u1Wq zp!&|bbsmagOMwxOPF75SG3am?&%>@nvjTS!*A9u|MmS9eX&nVYbSj@Nlr+iq54@~iMp7!>>v2;E7qx}w_7|qPZ1DGp7 zpKuq^PYt?Ri@J(7=|SNy#Mq3lXYt+Idi?q0gxA`B{CTJK{S$vddi)#IKUe*SKkjce zJO4`Y=!&fM2O*nwE@^o0#=iS{(s2X#9XQ}kj}xS;^GHMc+-K;&WG6rVs30922TS1I zzwD;=7F{llT&c}kzo+d!|3ppBU$UsR`mMk1Y2Z$l9PGP6xWneX>$$!(xi?LJe5_b_ z{xEMpm@b|Pik}xr=D$7*pBX5x%H=+bNp-m9 z@vf^TyHLtiI*!sJ&99*=59WK^mk;g>Y{sP{7*l(D5%YqT_@fCDC2Hi!=o(}Q*EnuO zWn7_Mv@pJw7Sf~yih##T!AXncRaDmxD z1LYO_Vn`2SBi#%rKClZK%tW)%)R(3S5r%;pbpP7(eL|#Gjj` zKbo__`VbLz3o2yJO|`T z>Zl%6UTbXbYVik$x{RKaav8V&P$`B2o=po|L*SCgZ@i2$neVQ}xdcu0g;lsS`-Kf`EqDi*gqpwd6 z>EaXr!Fnp3yyZ@x5S^SAPGMz^9xdS$VpQ|G?z5MaXGQu{b9ilw<6*=`Y(PeO^hcW? zvAZw`|Im#;V9oe*Hqu+Qri&arrCg&$CI3~83Eh+jkh--KbwrZN-KpNgW9v=mam4A3ytT^1_wh%Dx6{086Z{A2lg3cX9kt$|1*WB3C%T zgg-92+_qx;xt?f>jFH+-GUd`na$B^BU`!4}=I5}mb~cJR~^Mxn%5GCZtq-8uiYFTssX&dC)bHL@35A#zDR`XkC| fVID8=8 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