From 1751f4c5ee2b874b0202270fc982faf3b744fcbe Mon Sep 17 00:00:00 2001 From: CHooge <37962713+hyperiongeo@users.noreply.github.com> Date: Fri, 12 Feb 2021 22:41:30 -0700 Subject: [PATCH 1/6] fix synthetic wavelet issue and as_curve bug minor update to make_synthetic --- welly/synthetic.py | 9 ++++++--- welly/utils.py | 8 ++++---- welly/well.py | 17 +++++++++-------- 3 files changed, 19 insertions(+), 15 deletions(-) diff --git a/welly/synthetic.py b/welly/synthetic.py index 46733251..9e380ada 100644 --- a/welly/synthetic.py +++ b/welly/synthetic.py @@ -55,16 +55,18 @@ def basis(self): precision_adj = self.dt / 100 return np.arange(self.start, self.stop - precision_adj, self.dt) - def as_curve(self, start=None, stop=None): + def as_curve(self, start=None, stop=None, step=0.1524): """ Get the synthetic as a Curve, in depth. Facilitates plotting along- side other curve data. """ - params = {'start': start or getattr(self, 'z start', None), + params = {'start': start or getattr(self, 'depth_start', None), 'mnemonic': 'SYN', - 'step': 0.1524 + 'step': step } + stop = stop or getattr(self, 'depth_stop', None) + data = np.interp(np.arange(params['start'], stop+step, step), self.basis, self) return Curve(data, params=params) def plot(self, ax=None, return_fig=False, **kwargs): @@ -101,4 +103,5 @@ def plot(self, ax=None, return_fig=False, **kwargs): elif return_fig: return fig else: + return None diff --git a/welly/utils.py b/welly/utils.py index 839f5065..c29c5f7c 100644 --- a/welly/utils.py +++ b/welly/utils.py @@ -514,16 +514,16 @@ def ricker(f, length, dt): A Ricker wavelet. Args: - f (float): frequency in Haz, e.g. 25 Hz. + f (float): frequency in Hz, e.g. 25 Hz. length (float): Length in s, e.g. 0.128. dt (float): sample interval in s, e.g. 0.001. Returns: tuple. time basis, amplitude values. """ - t = np.linspace(-int(length/2), int((length-dt)/2), int(length/dt)) - y = (1. - 2.*(np.pi**2)*(f**2)*(t**2))*np.exp(-(np.pi**2)*(f**2)*(t**2)) - return t, y + time = np.arange(-length/2, length/2, dt) + amp = (1. - 2.*(np.pi**2)*(f**2)*(time**2))*np.exp(-(np.pi**2)*(f**2)*(time**2)) + return time, amp def hex_to_rgb(hexx): diff --git a/welly/well.py b/welly/well.py index 621bc789..25d1a88e 100644 --- a/welly/well.py +++ b/welly/well.py @@ -907,6 +907,8 @@ def alias_has_multiple(self, mnemonic, alias): def make_synthetic(self, srd=0, + sonic_name="DT", + density_name="RHOB", v_repl_seismic=2000, v_repl_log=2000, f=50, @@ -916,19 +918,19 @@ def make_synthetic(self, Hands-free. There'll be a more granualr version in synthetic.py. - Assumes DT is in µs/m and RHOB is kg/m3. + Assumes Sonic is in µs/m and Density is kg/m3. There is no handling yet for TVD. The datum handling is probably sketchy. """ kb = getattr(self.location, 'kb', None) or 0 - data0 = self.data['DT'].start + data0 = self.data[sonic_name].start log_start_time = ((srd - kb) / v_repl_seismic) + (data0 / v_repl_log) # Basic log values. - dt_log = self.data['DT'].despike() # assume µs/m - rho_log = self.data['RHOB'].despike() # assume kg/m3 + dt_log = self.data[sonic_name].despike() # assume µs/m + rho_log = self.data[density_name].despike() # assume kg/m3 if not np.allclose(dt_log.basis, rho_log.basis): rho_log = rho_log.to_basis_like(dt_log) Z = (1e6 / dt_log) * rho_log @@ -949,15 +951,14 @@ def make_synthetic(self, # Convolve. _, ricker = utils.ricker(f=f, length=0.128, dt=dt) - synth = np.convolve(ricker, rc_t, mode='same') + synth = np.convolve(rc_t, ricker, mode='same') params = {'dt': dt, - 'z start': dt_log.start, - 'z stop': dt_log.stop + 'depth_start': dt_log.start, + 'depth_stop': dt_log.stop } self.data['Synthetic'] = Synthetic(synth, basis=t_reg, params=params) - return None def qc_curve_group(self, tests, keys=None, alias=None): From fc6c7200f301d99c83638645fc22cadce8f7099d Mon Sep 17 00:00:00 2001 From: CHooge <37962713+hyperiongeo@users.noreply.github.com> Date: Fri, 12 Mar 2021 20:19:29 -0700 Subject: [PATCH 2/6] remove whitespace --- welly/location.py | 2 +- welly/utils.py | 2 +- welly/well.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/welly/location.py b/welly/location.py index ecff1974..c462ef4c 100644 --- a/welly/location.py +++ b/welly/location.py @@ -336,7 +336,7 @@ def trajectory(self, datum=None, elev=True, points=1000, **kwargs): Returns: ndarray. An array with shape (`points` x 3) representing the well - trajectory. Columns are (x, y, z). + trajectory. Columns are (x, y, z). """ pos = self.position.copy() diff --git a/welly/utils.py b/welly/utils.py index c29c5f7c..b6167f40 100644 --- a/welly/utils.py +++ b/welly/utils.py @@ -57,7 +57,7 @@ def bbox(points): def aspect(points): """ Aspect like 2:1 is shape like |___ (twice as wide as high). - + This function returns the WIDTH per unit height. """ (minx, miny), (maxx, maxy) = bbox(points) diff --git a/welly/well.py b/welly/well.py index 25d1a88e..b79bb34f 100644 --- a/welly/well.py +++ b/welly/well.py @@ -142,7 +142,7 @@ def _get_curve_mnemonics(self, keys=None, curves_only=True): keys_ = [] else: keys_ = utils.flatten_list(keys) - + if curves_only: keys = [k for k in keys_ if isinstance(self.data.get(k), Curve)] else: From 3edcb3a8e6fb477303edf6c169b135932e7d8e6e Mon Sep 17 00:00:00 2001 From: CHooge <37962713+hyperiongeo@users.noreply.github.com> Date: Sat, 14 Dec 2024 17:54:02 -0700 Subject: [PATCH 3/6] Update as_curve and add unit test --- tests/test_synthetic.py | 17 ++++++++++++++++- welly/synthetic.py | 21 ++++++++++++--------- welly/well.py | 14 +++++++------- 3 files changed, 35 insertions(+), 17 deletions(-) diff --git a/tests/test_synthetic.py b/tests/test_synthetic.py index 88b37fcb..bdb84e58 100644 --- a/tests/test_synthetic.py +++ b/tests/test_synthetic.py @@ -1,6 +1,6 @@ # -*- coding: utf 8 -*- """ -Define a suite a tests for the Curve module. +Define a suite a tests for the Synthetic class. """ import numpy as np @@ -17,3 +17,18 @@ def test_synthetic(): assert s.dt == 0.004 assert s.name == 'Synthetic' + + +def test_synthetic_as_curve(): + """ + Test synthetic to curve. + """ + data = np.array([4, 2, 0, -4, -2, 1, 3, 6, 3, 1, -2, -5, -1, 0]) + params = {'dt': 0.004} + s = Synthetic(data, params=params) + + crv = s.as_curve(0, 500, 0.1, mnemonic="SYNTH_CRV") + + assert crv.index[0] == 0 + assert round((crv.index[1]-crv.index[0]),2) == 0.1 + assert crv.mnemonic == 'SYNTH_CRV' \ No newline at end of file diff --git a/welly/synthetic.py b/welly/synthetic.py index 22b75b70..c6d638df 100644 --- a/welly/synthetic.py +++ b/welly/synthetic.py @@ -55,19 +55,22 @@ def basis(self): precision_adj = self.dt / 100 return np.arange(self.start, self.stop - precision_adj, self.dt) - def as_curve(self, start=None, stop=None, step=0.1524): + def as_curve(self, depth_start=0., depth_stop=99999., depth_step=0.1524, mnemonic="SYN"): """ Get the synthetic as a Curve, in depth. Facilitates plotting along- side other curve data. """ - params = {'start': start or getattr(self, 'depth_start', None), - 'mnemonic': 'SYN', - 'step': step - } - - stop = stop or getattr(self, 'depth_stop', None) - data = np.interp(np.arange(params['start'], stop+step, step), self.basis, self) - return Curve(data, params=params) + if depth_stop <= 0.: + depth_stop = 99999. + + new_crv = None + if depth_stop > depth_start: + depth_basis = np.arange(depth_start, depth_stop+depth_step, depth_step) + data = np.interp(depth_basis, self.basis, self) + + new_crv = Curve(data, mnemonic=mnemonic, index=depth_basis) + + return new_crv def plot(self, ax=None, **kwargs): """ diff --git a/welly/well.py b/welly/well.py index 7261033d..58ce618d 100644 --- a/welly/well.py +++ b/welly/well.py @@ -926,8 +926,8 @@ def alias_has_multiple(self, mnemonic, alias): def make_synthetic(self, srd=0, - sonic_name="DT", - density_name="RHOB", + sonic_mnemonic="DT", + density_mnemonic="RHOB", v_repl_seismic=2000, v_repl_log=2000, f=50, @@ -944,12 +944,12 @@ def make_synthetic(self, The datum handling is probably sketchy. """ kb = getattr(self.location, 'kb', None) or 0 - data0 = self.data[sonic_name].start + data0 = self.data[sonic_mnemonic].start log_start_time = ((srd - kb) / v_repl_seismic) + (data0 / v_repl_log) # Basic log values. - dt_log = self.data[sonic_name].despike() # assume µs/m - rho_log = self.data[density_name].despike() # assume kg/m3 + dt_log = self.data[sonic_mnemonic].despike() # assume µs/m + rho_log = self.data[density_mnemonic].despike() # assume kg/m3 if not np.allclose(dt_log.basis, rho_log.basis): rho_log = rho_log.to_basis_like(dt_log) Z = (1e6 / dt_log.df.values) * rho_log.df.values @@ -975,8 +975,8 @@ def make_synthetic(self, synth = np.convolve(rc_t, ricker, mode='same') params = {'dt': dt, - 'depth_start': dt_log.start, - 'depth_stop': dt_log.stop + 'start': dt_log.start, + 'stop': dt_log.stop } self.data['Synthetic'] = Synthetic(synth, basis=t_reg, params=params) From daeea4c8c79cf99e744222813c6aafa793688fbe Mon Sep 17 00:00:00 2001 From: Frank Male Date: Sat, 28 Dec 2024 14:48:01 -0500 Subject: [PATCH 4/6] tests: fix generation of synthetic plots that don't return axes --- tests/test_plots.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/tests/test_plots.py b/tests/test_plots.py index 51975ab8..56e98f04 100644 --- a/tests/test_plots.py +++ b/tests/test_plots.py @@ -9,6 +9,7 @@ https://pypi.python.org/pypi/pytest-mpl/0.3 """ +import matplotlib.pyplot as plt import pytest from welly import Well @@ -114,7 +115,8 @@ def test_synthetic_plot(): test_params = {'dt': 0.004} s = Synthetic(data, params=test_params) - fig = s.plot().get_figure() + fig, ax = plt.subplots(figsize=(2, 10)) + s.plot(ax) return fig @@ -127,7 +129,8 @@ def test_well_synthetic_plot(): w = Well.from_las(FNAME) w.make_synthetic() - fig = w.data['Synthetic'].plot().get_figure() + fig, ax = plt.subplots(figsize=(2, 10)) + w.data['Synthetic'].plot(ax) return fig From ca4d4fd5b317ff708cb5447c938538393fa51620 Mon Sep 17 00:00:00 2001 From: Frank Male Date: Sat, 28 Dec 2024 15:10:24 -0500 Subject: [PATCH 5/6] bugfix: stop is calculated in Synthetic --- welly/well.py | 1 - 1 file changed, 1 deletion(-) diff --git a/welly/well.py b/welly/well.py index f3fc0314..6a161a4a 100644 --- a/welly/well.py +++ b/welly/well.py @@ -987,7 +987,6 @@ def make_synthetic(self, params = {'dt': dt, 'start': dt_log.start, - 'stop': dt_log.stop } self.data['Synthetic'] = Synthetic(synth, basis=t_reg, params=params) From 022da34c983a18b873933508585de083150b8354 Mon Sep 17 00:00:00 2001 From: Frank Male Date: Sat, 28 Dec 2024 15:11:03 -0500 Subject: [PATCH 6/6] tests: new, maybe more correct well_synthetic plot --- tests/baseline/test_well_synthetic_plot.png | Bin 30044 -> 24821 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/tests/baseline/test_well_synthetic_plot.png b/tests/baseline/test_well_synthetic_plot.png index 0df263068a61dfa5558be504538a36f80538f05c..41d0f26c5d3a6e40d6fff71707875186a8477b40 100644 GIT binary patch literal 24821 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 literal 30044 zcmeFZc|4Wt8aKYok_?f|W1~tDkutB4p^ze_L>ZDXQ^*j7%)1mRA(W)Z7?qg{nI%I= zgEB;BiQo6$`@FyZ-~Zq9IcM)qmbIRBKlgoI-|2e73=V0nVc}7_* z-7qsF{*)+~D~EsWbvt0{cErir&GU@wIg0)nH|GmZZWrt#Mm>rEZk;QGG*t$t_nxeTw}o{v za9B2M5e;Te4&V?Epj8j0urQ0!{=dKYzh4i{EnBuQtEs7ty=Js(mZD8HmYnQgSziC* z#S3Q_m%yu68TRkr9}^Q3kZVx1|OY-Y3_~*7EBG>W$J)>t`CL`mZdT z7Mx%A#dYuE%m|Z;ic0&34@1o<8u2Rr%2C2f*8}O8uA4tLJYM8@uWKVOLmvB^D-5f1 z&UZ*|*tE%Vs5a8s)wR{@@3+RpuGg1KwLAEpH8&gN>h5B(E(@ReRklJ)5x(>#)_Raa zIdS5|m#<%GD6dzReVheDJo_)3jM&7*#Z^>R(oRlJF6DcEy2K<{cc$vv8q?=zSINl8 zSlHXIUcY`ltBA7T`kkk~d{?^oja4D4sy0%9h9X!u87*aAB75Rfq=5WHtL{!QQBlgV zW5<|RudYfvc%z)R&8&ZRtVjCn8xF5amnvFY*DfzFdo4}Y85$Y6evo4p3fg|Mn4_=6 zJt#bU^^@#uPHyhtD_3Yoy9;zjmNFVfi$tG3eM$)!s*CP-`NS!qIq>!N>Dq>b-IL!E zozx}c&c9T)@7%tHn`Qs<{7~bkKaKMJ7Fc9n1!qy$ix+b*|M4Ji|7Uir>eDNqGw04R zyf_(E)bA&dXVX;sG0$dlw#RAems5$%9$DFBlV_*4Y~8AMU-`1=jkh^&Ka5^3{>*xm zo!#N}tfbIosJ7zWI~F=7w&1cdl|y$G0{M1ZTP*zk+EwTvKub$I{`gu3uNAM7x2)gN zq*n2Z7lW_=j0csL?vpxM98k8hED#$TtF5bBI<%5^@Qk(N+<0F@W#ttY!8*+-!MA=3 zU)OtlYe?Yv?!WlsAs?mCcfmFChh*G!1}3K6xL?PPAAft;|Ib(vALZM?K>6&i{%4a( zSS7}Q9Vd$oth^l^rMMQKv9q$CrI_OKyBZVa7k=E9GPgW*=upGkw_zP0K1{Vm3+=1j zzJ0r?t?ial=fNwrHh*V6oYoVM%~@JnDt#)pYnOpl_gue!6D4PQ+AVU0u9o-67Val$ zX=yc0yN_CnaMbdiD0UW``u*FIG9QAQRo~QPQ-5nmTm0NWMGz}xq`$1JcKT@6F=@($ z>ERaswho$0Ly_`#c6k0>oMEL1sQA6Co$h4(QXR(Cc*#(Vkvmlrm_zpujX@9$43pZ?KCLpi*E zGPv`cZBKzg*<5#ly{CEJjT>B*m6c{Q2`7pi87LQei#hjsj$fEfs=vKcBh&cv{N#|f zzW%Ebvw)sD4JLNs;D--4|8wI;&op1gBXfFs3f8na&*t#-=tr*dv9_|ZrQfS-Blv>$ zUi@Y;F;MZQsfmfQf2RG&{P+9*yR2$iU;Y^{-Lh?4)$?=pF*k1pM?|n@-`{z=K2iV1 z+p|m0$8Qxj+5g!6?9?k3%KUWOVFs1FjErwjM+~x_JfWw|FD@1??AD9@c)#X+n6YFH z%7dY)DKo{i%ui{h`|?~L)8WI18}9Dq(n&X(80h7F)b#%7(W8NVpBy?D-!wKlOv$td zI`|%Ys$^S4V|dZonL>#?@{oszhj*XHcBxY@L%-JFw!*dN6cyEla!R;8*PHp6TX^Ak z{@aEIddh|F{DV$%T^~P+NlCF`b5$lO`Ha8T<~lb^b3Dg_rt_)!>NuT_(SqmCWtQg3 zRv0K)|KmdiI5=vOai0@xlGI#Wq=kJa)Rgt+bT0o~=zVcfap9#+(j`V*!ItgY+r1S_ zU%!5R+^gHD>SB`;6XoA3ar9{Vl9DWW){T|%(pDS-0^z6>65`^tYu2n$@EjN1FFt` z6Eqob4K_t!guZ#Uzwms5ulUkA06I1keL37lEl@YkK0I`<)%%@27I?d)v7A{l4aUy8cK7?7TxUNFD#v+bq-%3sgC57)!P`6zqN zw{MC3!E*J=tJ!Y*?FtIm-H+s#yUsvQze`tF_uJ@b zgQb<#$6}YEt`heVw_{Z=FHM<#e}6CG!2^lB=g%$C(?%~Z-_jn(;}GV@LW z`#x7!Oq_;NXjRANR~ajz6>ltg?%AtZew8t_tcH$`xS5d;hld&^G$SlLJUpJHrdC=o z2-W8uEZ)01y0Ik@%b8|KjEWGENL zdtZ3(Y&SUe#I)j*&o8B0NlEW1Id5-l4mV%R8B6V1H-Hm&SJ9p2!?V*&l;!+WZI_N5 zIU*LT-S9KN|8q_Fb)ckyIqfBlr z1pm}=GqcK$j-wCu7Gx$W`RuW7O4{MUSFNr6O(+1W`;xp3jay#L6^NP(ZKgToG$`+M+hDt>lkp$BeI5D}aEiS4X_ zUh6&clR;iy{+@4!UQfs28Cek#5lWHgi<>$drB1(olACz+^y%mtK0Gxa?kU=-(*M-FG}$O~{zHLb ze>&>ueyWz%NZRl%ZXO=XcQ?0so7bX3PX5e#_S2oua@DF;YIRXUv2k%%tE;KDJ%1gy zX)HNL3GTgu+xhclsd(YV?}wK2J6j%TC6Jr@@;A$WH@BuH{i8lrLM!TQVPWAYzTb|d zP1__TEh((7aqi^-G~TCcQxAm8I=+-CV5)OLN7_YcXl#sJSXjut@3$BRX!2ubrIDjd z;PMmu=Rh?$)a+cF^a22_lvkE6dU<zkj9Az2n}$vNRBsgBoSUYmrmC?0PRLDJMJrva6ZX+-+8Abq8>Qg>ll$@G#|Gx+kw1T) zU%oVChr{nHzgK-*Ayqu^-aR4mUIPP^7bn?((G>RXEjWMG!_}1(vmC&PpEQP4>yF-6 z$;rw3zp|b^)3UbSgpH#R)mBnj^5TWqh7I(nJOm51-FE+6A=RPQT+^S6UB~6vV`s$GUcM8V~fSFT2ih>1#Q~HhgO4?SBLvb$oQSzHRl7> zQ_5do{*&V}q`8Dz)|GF^B`GOsapp{5d%H1qftF1lg>&ct&BFb~MQ`qP>m~!cUS8V$ z^mG}Uy}kX}bLR#>+T1??)FrcfcjiaGeXZkkt_#1E)_{*&TJyUN1@l zg~r~xmC<%AyE;GrPr$BPV9SAT-)iS%ict#hD*5o>$S7P&Kri6rq;pP-NeCCg&HM87q{=&A?-C`ky|g$s7b>q8mA)->d@ZNF^Hwm0-!N4FbMebtL(nFtKDYX z^&@O&W%$sWLXPKIt8Kb57`8bn0LTyIEQDb-&%nR!NP9Yzwv`3&#p_F~R*rQezwcb1 zCsvgZIf8VGOG+%ea?Y5(_PrGTcRg1dzR<>6-lr#DR7Q_Keywe4ViIy7oaYQKd}4C4 z;_B-4)!T0jo0h6Do{30FO{LwqapRU9I}RK?xN60A=^_9_-j3jtQXxe}@__6E-@k{T zq$}=`-fb-aaE?;Gskk-kzP$OQxw-k^&=8%IlN0s8ffV}>PbX$)uSG|*uT1>@o%)HT zhbE8Zjqc7@!PzH@e$&`0&V~Wam!)b^smWlbW+uKRooek3KY7z$zZRaEnZfrl+jkWI zw6(QWH8&SJZ*T81^-aIG*o96`PVUjur<&)^ZIs-$EyY;!z@sEyiM;MBz6)P(FI|k& zxr)zDdGdr66$_AeNaW{zc0q*zw8N979{NKU+lQpR!3pc@SAY8S$?U!l{)|5~pT5Bx zbDSYfI*dwdVq$_d6yLMwnDeKS62+4xZkfm9+nd;h6obo_7j;JhOClrJ^!D`)j*YDW z#P{;?k&u?=1cpsvjIb`hK<6rtUd+M45dbV$vA}B;k2VebRdu-3eT3)zy?r4UzrR0& z<75$0@%HU1oUM$2c$z###uoXgA$rfucDgQ5&5*@;Ij($$7O|+IU4Bbmtbz&#qeh`o z&G+{TSw;-vY|aDsFobAGWCYQsT5U6VN6HLDkCvI) zoi|50%~SJC=TuV+23oX4Y5;AkrLGRIa!?y@A>_NqsVvN#v4x8zlr4f+niea_Rmz&m z#2w?aAy(UYq;rR$qMJ4rN!UPjJkVJ3DnRnFXQv`TeGZSh{`w zo*mt4d4PIA$!C(HbV%Kpv@e0zT{+!9p!PQP&9H^ZH~{JV?&}mJE?b|h8#jdk@Ee%TpL2m1=FbLhJ}%5WfSv5(L?C>UcX+=?K)FQ&tDsm|ETYR+PnJt$%!g< z>_lN^X6EwczkendN1h!~2u=3LWq`1;n&1+249m*kRq+Zg;%P>iUFSHtnxzUwb<)@R z`T50YZ;0Q2N#>-vc}teb&X-f~_nE%(mc#KR-#Qa-@}u{~?%DCa@R1MC$W8$C-&W|@ zcipZnW3bP&pP|krG%8B-*fE}!(CgPz*&ZGI!yI}iD2T4aW9*%0MHO#V7}w_ca#Fxm zmL}+oCD+}(dlxj6NqH9^AD^>_2hV~4hlafgjotMj1uB&)3L^DDGm^kWe2{+X}u;z*ZTI(YD) z_Tj_dtGM|1Rsn8Fmoc_*vb+(J{q&BTo7)1!j#trb%LF>Tv)S0S!^?c74sZTL!AtonDU$fh;cc6s|!Zq@%p~>U#2( zcihvu&`?@&v@P09W0tGx6--p|*z&qMCQeRHurDoBQ{L9LwylEVxS}w}iG{8rp% z$B#q1;Xv1e8>8Bvax7 z7fRvoOykEbO-|5LCQx&)n{vJoaAQrCK+!bFH1@sdk)U@CO?1PC4Wf#Q{L<3WWb^y_ z?w3=Q731ch!M6r!Cv??$e&USaURU~k9;3~+{;1bi-@MVTuB)@B7n7B}$uDw;h9xv$ z71ySL@SU%lS>_P8v~y9lcI31XX70axXM z(r-5};hvqHC3pGcNkMUOaSlGdxBX3L?CrOCEKr%Yh~kLQPBiRpveo+oezVK}pE_Iq0y4~JEPQGFWW3B1B#cn^= zg6chSIcL7%|;YXb+>zWt`TXrW=!`XMtIUJF?a<&W^2S zXJ?PyCJ||<%8DPUWg1_RW(0AE92z9zs0c~M`-H3!H;2+c+8eO_pxCQ};I(9*karvF zUWdKU%}n+zSJV(`4^}t?+S=O5e>(NK8K~?ykEyAt6OfDSro#^CvHv~ZMu&q7nVxiF zY(L>QXJwYYtE>bjCJG2&o;G}P>Xn(*uEUm!TSUE+l`o$FhzA)<_Wbq9`QpW@;g$!J zP$W}dzdrSa<)FQx>a?EFEfCCxBqafCsHNgw^*etz z?Su&5k!4~v^Rr{g2OVo*WMnlg7F^r;{U$3T-@a*z$!Ls8iBbraijR-yIb8;T2whKB z{Q+Amsyq=GaaQaEz3R`(czJo1H#M>Y>pfQw=0*|k+EBchtA zz|aJN0%h$$jo|FQ5}NFC@do-2DQbWj51o0%P$T&2T<`|aT+nA*T3Se-{f{PQwkb$x z(X`~&DsAb8y1Z@M>U)ar>i8L~CtC|4E)BrvtLii;)wfUk@!@(jEG&|{Hpcp>)`@!m z20Rsm0f+qsAFdqUPB^qy+x+p3wb6yx_^-{_dWAn*w4@#|g?mxf6L;@kBpQ#~Xcy;? zA3t&m3wd(Q#Di%qDUn6|@{Yab5WI37`xMcQP~ELomj8+$(+X~ux)qA^m*l^EDYssf z)^@cxY0%Jf$Tx%>#91l`57p8Fa2zcIriccRRgF|gFU^=GU%XLfFsL+^mk{i+o+6?| zs?u-<>ZIeWRPHQWy3){~clPXAa*_NtWuY#pEZRb$fDLCr9&>VXlC8%zuhELjBWX`+mYOnt{`D(*ysuP3LV^ykhyb_J4XrHs4AL=E-_5gm$bA zpcPki*U+rxg+gtJBZO`zf%n5nTK7Uxy-rk9T}dV`FK_oL|G)0rk3Xk=xz0?{CZ`s~ zSY7INRZ9yeH1z{0?$w7rF^pNg^K>K za*&X4@SZ%c*hiqD9H=wsGIYgC)Z^&L%6~?8`%brL@$Uvrw)pZU*0SBs1L(K1s!AHV zsrH8ahxSi4U`P2X1oW)WL+`l;W^Z@73LN{U}3VI(i`S@87>P$wwcEujAp_V{dN^Ds|<`mCnxdJnfBr z*-xJAvTopo1Q%-l&p|VIMZgKk(%Fw6>wK?|#oo#KSdC*L0VxtV;fm9-(*|yyo@GN< zfCO3{O&Hy`+`V@%_Wu3oiXf&3K6B&wC%oD7|GMa>Ttv@FP$`uKfq8M@`n) zsjMhDb-}B+<`Y1s60Z(mdFMZe??gMwm`ZIp2rwq>H9*74FUt%?#m&Ic@+?sC@P}t2 zoAlx-M9RgAPe6PFv0q4dy}W2o4mlkotE#Fh=~6^Ay1UPl4OQ=JqArI%E}0lr(%|k; z&)ec$kGMf?+XKJ*+wkz4(Xp}PC?aG>nOXsroPmvG0Tqpyzi+>~c4EoFz7#z+!(?Hl zKou_;dYM5A0jp}3$l9=A8jHZdz|orZr_Vy+Itxq6(tk}}TD1Eb#Xo60`EvoXe%k5q zgZA#-n+ufs9N0OhyW1?c?4OU#btRgS0j%1Y#b)T$U$+ zlnq0^qE!;N927hZtn>QGb#~WLYG#D43hcR{ik;80dbOO{E)Ew%)reqJGNa7u^{0IU ziTX0?`evnB=?9~=o!u&s6{o!r%s{U>VW9yWgCnG#F7p#NIoJ*WVu9Dx^78ZZ&)X4{ z3X~1W6YLDkCXhf?1_rx`#6uCQ|5}fe$OJbFgFoZDPoIQAYZ}!#goW8qY-6)FI;a86 zu9rF)08Ih46URORwUh8n8JV^4WZVjR8z3_tOfj$kKAms!Uk(}=uxPlqZ#~$8+}6hB^lFCZ(0%1dVI}X-lj~k^b=S1+ zjv5k;)ozBM1F4=3wK%oMQJ>jCZ8}1l5nvjahj>_j=6-2izWl1|TB=5b_>VU&`z8Sg@gh2O+Xk*=YhoP2t!`f9)pywx9 zju;ui&!##QQwh8%d0V=;0N2gs_m_i9pkol&y1V)7qD8*%8?fI7iximqT+RP7P~97;?L(k`LJ_sK9u&SJrbaw3P92C zJGJIe(*CW0Rt(%6oLl2`Zr;94wDNyNH^Ec}2I^UW4un^TY=KmbxX0eKRaikFtzwTc z{v@CAz3^Uv2FUrXCU66GDfv90p0oc#8eP#y@>8noACuUmBq`U8Y0@mAZ`$XQY|fq? zz}Kin(un#rR8~`8pPKr5^9E=)xJGKUu+pOkj1p8DX;Cbviy+z|{Nzb^0S|ESxmhJN z!M|sA6hI#zhUm07_bZxM>oPL`TsecJnPSE#cUlTmTL`Kgmlvni08)mPFLFUG6$_)L zwult~7!WJ~9Q+w{1$tNj?id_4IR6LMaO;CFhVX~bQ4oiT2If=!mvNncDFx;9$B!`J zPn_2(m_F<=i>GaDY`WKQ@i9=Fc&!>4f73gj-n$c>6w*3yI1L0B6tG`OGyw$#a?m(9 z1O+3KlSTbTxYn(^dh;eXyjy|aS^2uyiEuC$q&o$&va@S|N?aDF?XrJmWoD)f@hd$D z;N6S<;a4wy<1Gh2Kf#9(r^-7!kB$Cr5N42tlO8f$XlOIDhNY#rgIENH@-It*--5k&~Afm%t1SOccb`A7Vml!e*{cM>=`G`C`}Nz3qU%L`NA4NskVIw=giio;a}u7y@j6h7Si z1%vtdd4qbh)Hp+?FOXxsV7ZXnV0`RYD!3&Gb(;bO2Iyyj$@Gj2aTS&ODos{h%jYv!v2-3*BnXJ_XCxMk=$aAvOjXEUtASqcgY(#Q)z7(!4`(89^7 z>Av4as=x!bH^3G#w{M5Md#3}f+I)hzW2@Io$tHpx)89U0WAjjss$Oya#~B9){W?kO z+DCLC&$wsZOMbPyFwF89AD5Jv?Q(`GqTshwT$_LA4u8d0+{Ui%?n<;g$Ux3+Zo%06 zAgc5l-#>q*#UeqwsH&;Cs#z*0Zv8hAP#XyXu$OD4rGJ$Clh6y%#|fOvpZC_+kL(mZ zm~Q0f870k_Zj|Y=y~FD@VEO~V?zxjYUwB#zahM-*66;P)PfWe@6H+E%R8Kx@s*hXn zdFm&xp*2f@lQH#QQKyzeAg|rfNryXIQ+aiD3o01Y9evml8z8~SB(M^Aj%eZ*LCxz> z=+Yd22=MS++nnS@i)ampoR7RK`bMlyI`Q9xeMY58p`BUFr3MCK>EI9eyQx_~De#8r%}XF%x#%R7-{B(=t?}+pmMC8U~FTY8y8^kh;_Uf3Fgtqbsok zY)Q3mt^=+7I=Y~$)NLZ3&yVIc<@m4oWt((`DGZC6Q-3P^jKHh})_QWfOc*d03Ib7W z(B`j#2UXS8X?@Y@+1Y)C7dXZL{vWJYu5F7rjtC2`2i|P;?xy`g5EHJSJoiWA1cyXN zal-QCP#w|odS71RLVjp%?&H}ITFYuMMaWoaqSD^ew)+={A6VXQA4h?WDA5(ejwUWK zuiSa=wOm|3y2G^5xm5e;YY>b?lOjH1^8+pR5|?+(%}%QHKUFCK5JA1ChXWB{62oR* z?2?helG+L~Lv?_#LqI1gf>V(q6oTz@A^9PhrF$?4>y~=9=!ZvO%$Zu?1gUl4a*zc(+4WM82${(!pN!S>nI_a&t>g@(ysX z@DaFKk>!Z*86LT$lzi_r*8|6lRxf!67(Xaj9J!KH2TpKsJ$PNTVaJX&T$}XDQ44>} zQ=^CdJ3}+sM>|T7pkruUV^xFZ3?Zdj>X~_RfNTYC6>_?=jN=#f$9zYu#mx5^QY2LI z!NW6qlnymt8&UuREr0($N@Ttb!BLUt4UQZMg5=oV-fpWj)n=-@Eem@c+V^+!mBaRJB zz8a~7c$yoln4SNKD(u#me(pTByO;19}%o0ARh#RoLdS7em#kQfIo_i_7t&$hici`+2zf_qM1C? zGV9c4hoa;5Dn&@9w7(dlCD#8M^xMfcbOmRq(I;QHGC;j(OuBvh_5;}FOl*P!r|o+M z!tTKJhpG!24Cuq)={d(khg=^c6BARnPJ%+->d-x83(w3r%*fFLmOg%b=j!mgxNRh} za%<;lwt?BB4pBp9FFyev4~&koLO>^3?6$TW>_?FXMj_%{zy4v{FCDimbNVliE`m%5 z6M-Eeo*4PzN>I>3fNjq^*$jg%2B%I%{r>H`+;HLuQduN%u0Kfq4mOgk-1x*O(*hNp zIAXBi;dN&?^X`Qzt-WFGu3CWYSFe@U>#+Y3VDsb=QSVK$ z+9h8&t?Fcx8pV-o}7q3Mi zm3z0%`}TNvS=Vr<04_hn-htwG<^FvUf|5UfR`*5UfrP!Uh_SG+ zpim}j1|U9wFHNP90Y6i+*ALB)RQ@_L67JAbSkctf)V%SA=CJHDLP8pAmx$+tWxrJC zcr?rpLc&eNuOKT=B1IKuu2ZT>Bkc-a@>?jxKy*=~4zk2tYu9w;18f-r#sNepCY*aQ zsNi=Y;#2&sx2tB*6F2R)j6C5DZnedv%TxBwzs zcxOE&sXL;$Z-|es#vZLBNrU>GW#yRA&`JNtiShIJcoc$ak%;VTOsOKJcI_G?_xkli zBq!$bnI6*#6)GzJ%lrEeNs^Q@6Z^LyFa}oQPGxOgY<)_GR9tWk)-*t%3h(dkt&;x% z4^_>}O9AC~7l_01C3SUL^EdW3XRltpiiwha9=|?Cq6y=iGu$0GL{m+@kM%jwUbq##I>Ilp?1Dti}NUr!QXx8ia&q1*vw&dlHuico!jIOGGDJFe>0XQNdK~yC6eSh*d{@nXrWqG$kp) zHljn&3px+pkm!S6KQkZBXa9RI6Gc5YAUPk50K=xkN!xj2V9^3V&_IbBEaHudikb)4 zpFjjqpoWjXmiLtRkBuNa7Ep0QBO|W@p_6dMCc8%EnZc?M7kI#sR1R5r;scUstypz$ zZEvxO%r3+b&V`T983-qKb(Ogq)SGuqXg|;bQ~6lZe*US+$v~XQm69&&hIkr^*Gz|r zv_rQnjGM}u8U}O({w9GHU8@8xv1}G?JG-qE+p)Q~Jv{>GCMDUABbEP7A94H9%77B5 ziJubAWo%3$AfJ(>H4AYl%*hD|57*6`uw89D^u1lC=(6omRe(i^SBC}lkDoa40Bob^ zXn~=&HgnSD+2h&Iq-)W5t3uLKQ`Lw1Yn!44_f{S*^%%QT`|9&~^bvRg*FZjcdwT~4 z2VLs2IPf^1^Z27R^qmG z)1kYe*eo~W;*kD|Sn+i)dnpV?1fvk4fzld!D15C3GEO{FCqvN;KYw|9!&kJu?sWNB zX9)-ejOGh2UjZi`W=&XAXA!ffPzo=6q@~2~ap1=c82+1d=^LM4Es{mt5I3mU=p+Xz zxZjHdndYjlTq{oaZ90=BuG7PY#NWdLX&|?Z<`sMMX8VP&bJNplS--|O+Gd$C7o`6e zlTO>WZVdyGmWJ~=3&ZaD;^Lz9l-x06<7!GyYN~j}LiKa-qfNK#kK>K@U0%$Gn&6Wh z?XF*&f4B0&K|eob9Nw82LznGXbP}clhRg97GXo(HHD4<&Q`^D%p&Z4JnL<+QzLzf} zzOWh-Da0=Y*zmXg^YP=y1h)L1Ko6l963m3Qq|AmyAWZg?uYLJIV?K)@+CO+dEAed> zat7p#ptvY2D+8aOmo|VC>^5qd+U>3y&{I_JG1h(5S@>VP(pQ*_4NsncbT2-WWIrsivO}WGxPcfPau?=f6bfWcKz2KNx5yE?{y=k zuOVSK2qO^1(JOpvRo@fMYBd_^m<%B$%79ipewWBH@TRFxVr*efreuhLkHdf@30`;UCyD*D0&)-aD^n z(gui_*fO)pDr(rjE5M9@@>n+9O$_W+!-ytHz=|VvyL_u($}sPU z1fU(#P|cQ)+Bee?NCjrCajO$>M-R^BU}7Qe14%9-ho=gh%xmQ~6qf`~H1@MXRR62z zMMVU_{U461sCcJ4kPm!bTe>#ppMS16mHp+}x^-*&E!_?I;pfs6qBIci;@NrXNrA~a zOI|2y>1;JP969U}ngP65F@4!jhO< zy7%T@K~{jVvGD-*30yaII0nGovPt%do%1gWbDIKt{C|v%jt(H14~*jX^;Z4YrFVT^ z2b>m9;y!nG-;rA8OYwk^bjo|xjm?L7?rI?y11<_iNfbI$(=H(sNBkx#tbx;Y>&Jcc z8(?wl*|Ue=JZw)oRszC0u@7*$xYlp`o*q+Ke+MHytWX`h*T%=8~xbMNm;h+!|1mbqV z!C~*3&+u6(mmbi?VN?t$&;+AQx>o6>efVl1ZRYR0kX=w%YuTEr(HC9 z{fRkKwZXXCgPYxe@$=^8V76#QcVI5Dgofh1!8_q60pk&~6iINBKZD|!Y{e&`N+Z2% zCV3y^B^X;or6Df?;5pyw7!0-nft^gDkRdEtS!38xLd|b|IPq2KaBp~(eHCD->CE}? zLd9loXBs0Dc{sFZ5Xu6<(-?go%7blZ09KC?&QOGBu0*L#6LCO1*7l_7G?V}&s0h4; z_zQT5sDNR$HH>rguEfQ=7en%MSrx-kW?0jT@RPhEg zC61cI@|W0otq=yFLvpL3-@z7x3g|n?+<|MwvPWfQWxeV6rw|_^Q5#>IT@0wD;5~u(vn0P~ z$%o=5X%J|5FO`^27`oJUf94X)Jz8~HZ*#+6mCR#|xIfEYRTUL9t}pJM&Me3--;v!5 zvsbgfgOefc9)fWJpyXd%UktEhJAB=9EyzYAB_LnIDD$R@yDvmRj2po^6aHUx0zPn! zRLih|YIkgH9UbsfSFwu(87)jVS_SY5+DkAVc6(@aw3dMZ2UhUF6H{M&X}!xYX?m5D zKNUHNu!$%~fG7QPzYfkH(I$`P3Th*CA$#Ds}&h&VriTLTJD zKaRM*5QGNKylRylPcqW*5C9U~n&!AUS|xY5cbXqR9tJ%dscmL-&5xPp7*_&EhAj&< zzxX2$rdZiAOMGpS-!qa{-7VEF%UTZR8=%twRAJ~0d7X2&Zr&{K={eEAv2Ybbnvmff zLxao7yte$Gc_$oREH=6bV*Fx3Yl!g%?i>GD7OXf_)?lDS#N6mWzhJqycbK$;+Db%7 zWA^<4nimE)e0PV`MkA0`urMX?>~5qF#qjdSC-^yrq)y93Q@-J*H-VdduYx? z41yg0d%8f}Ade9q4gC;d*bd$!yCCzS$U*>rHFW*b!?+K3SG?D9u`ye*0+H83!kITf z-_n5JtE41^$pa$B#@xH7ZxVViF~L}s5FnM6r5o(kaNWp&5ylVq&vse)iaz?Tp1Ms_ zBnH*r5&>q@mtNAuJw{u08*Zk-m@+-lMB?HO1d4iF-K5!z?;>&?P_hz-3M18IK=B%8 zn2bb2D|q!)&!0cP%l)VE_W!2cN#Q1boBSs)IxL>tpFJwo3ViyiAl)Iz2n=90y$W>g zs`BMUgDs)M5#pl2BbZ#M7I1nQhz!+3-y!LLIQ6W&yC^tA zWUVnT93C7@uW?IVJBxQ(^fKruQN;s#G;UwQL?7}BWJm#$*9l*o(L2-TcGYftvZ4rL zltT#!K@YpT_aY;im_)AJd8}KG^bjs)8d^FsV>FvzRP(vjvie{tRuv)tXKB<`2nO5gKT0-NJwbS zw0@|xbV7ivtn2_Jxhvbehy0(Ne34qfMFUg;0)R&aQ~;gg$qR4l>)Yai9^gfdSr=Go zuH%3Jg9*r0M5}?tB&%+4^k~NgzXZL`3pLo1j)nhZt>B2rEx!LJ%tiWf0FeL&Lqxv$ z`$2Y(xpCux`#Hief^1VgHP^*pa+0)2OenL#gJvfRCBff}th}mfqN%$|vYZfKGJWB? zk?;_}9panAp)9{6XW!kvkxgu_a+o&t7UFXV*<0a(4KZ)elGcp4qcjE>5V@a83Yim6 zlZ)6RdLHzv=GKlAWGZ_4XUA$xqG}+|MMrBeS|8o~p_ZH;UNFua|!7VwHKw92v=hz>Sqa zdIO{T+@(}YO&E%i@YJ@%>5zebiu20fIXKToUml0FwqW1@<2U{?AaGG}DK62K}_%RZyvq2YbyF*)hn?T6Zj0{F7CmQ6WU|Fl*CU%rl{i zLfE5Szy7w*GU&~}2~*FzhtrJ)akfEp84-GtJB3eNvQR8viQeNQpOTlCN1_e@DM)xV z9qXWupDJYz&9xgbu+i7>gw9ByHZtGP@uWZInT{oR*K-LAN0G@iOq__DoPBM(+EQI1 ziq47^kykIQr1XWZT|ag8n&4eU{M%Xa01lWmIL>5p7&)|yPz7lw2ZU~%Y4A;Sj&p+F0)r!UXMX|iueK_a7!Ag?&q^C8ck?Q}TG8UeuR z@PXRiXhZfjZ2r@#7|qtipak-RoPc;R`bqp6&C&AaCn?x5rfq(&$dKE_fEws_%>7$H zPN2scw+SPPxJk^C$;U;af^`+3YY_hdS_8lph`18FP0k4+jpL@KaQW?ek0AdX{hu%; z0pk*@2RlI%LJVS3Xhs_?YsT0as2gzIBn^vDFp1KL=BE!irm8@BKHuv-hy6r40}c}- zpTJo)o{vF=z;lmt~9m^%we z-m$@z%hi?k0qe5_>%+$0D#)l#BP|VB5BDe|*N7Df6iY(hkf21qAT=k41F~sRXN67} z;hyaf)QM6??ha%pVj&Z93dbl{clS1OQLl5naLBfs?x(^^X7drIhIP~nnl+8MoztcC~bR_ISMh0Ep_r&9j#{R_T`T0a8B!mwn z3O236zI__cAW37h{MWwvH@-db8XgH;7NNNJ^Kaf-8cYLMJ_|tu!aV1BJ z_PK96Z)3xxrKRP^;OXvu^*=9P^mhG%zkrI<(#}41OH=NcP1w%4NPTBNBl|__HrXNo zSvVS3!o%x@OfJk^1VBB{VrjWWRNoEYwkBYHVSzlTWrW09mP-=FShTrtJIHJqFycP9 z+0o;Xbtqfp;Wd~$OMUt@%3q|;1;N(?z?7)e1=m6sOJ$TW+JY_|8Xm3zA5|qgeNqh+ z(e*0}X<~h)p7JBkYCDim!Gkt}Apd?E**q8ZG-x<*QSWBq&>F0bBAc{WK7(C4GKmBD zY@!dV==aGT9?B2~x&y{kb90l0a>L2PQ>#J-jXF({;-v%ePL=lsHc|}9wVL-5UO_~l#CY=ZE<;N0rUv?P)tnCivBU$ zu;M3a#OY(t_okX4sEB4j$eMp#Khn;KDZY94PCbN82oV!4^P4|u7^;J1Uw<;f_&)%Z zC4e91;Xn;-bJy_M?JGHdu9DYk>3BYL)YvTP!`vLZG5aOyvC2A(){+s~JZy$*j~`3o z96~|ajb}YLLpP|duC~B|vAk_{Y>TM1IvzfS8hYu{C9lbv^@b--Z1Xs19Y|}b+5W+p zG}-E!nnB2#2hN>KFFpX9DwGd0DJo5E+hLV8uoPGY_ON1xCN)5cErih@9&HWQlJ)ihLY^8 zHsXS`10Lan2-ZYkaDrF}NNUtbz1?D<%6#~h+ycTHp()_B%i^hc#0+o@ z@LmuMMP$L+e(`!~3cK;~bZ}2?Wx3|!H1W9Tl#(eqmMHJ1P zjD5PfapzHQwEPUf+@s#mcW8MJ4&PUv$A?Y=@4wz z3D*nrpF~T2+Ui#D!UVHVDS)+&keV{?_Qkw(Lto3@!kZLQ>bq# zE(h*3&(^u)?Baqtez=;gi@AQC1yA3wi->4P_!D{WN+@DDREj$uE5+7-<$q|>*4jEe z{g^ZMGWsngV8@9<3I)ismfd^_bA6QJ%K^*i!xnF1#0W@$b?~j}el!_SeGsjj8dUCs zP%kNZWC9%Bp2+?1?g1EVcL_^~`ix{3$!;P~A)z?V?Rv_ljffw_!x&+!!F&f!jf7G9w~#}T@ia4z31F=FGSsKFFAY>1AUjteW@j5gokeOoI|0*^B2Un zZ;$A<{(A$9nC@A^|GEYP{3_{=(kEnATe%{E)P)(I{ z=zS!7^d|;h!G(|J6`r6FOB<}?^w4Wz@d&oo#)!gek>@d(etuFeRmee2?=HrIt@Nx+ z>OXwAt)jdN0uio<*!dhBqOJuQh^Nt}8QJ9}X2RYh`X+g7$bVDXPy}(`q29%XcHCKy z_GENgpTKV5wgrwyPBE$5eqMvHZiMI@f<++OfUGsxns~qyRh8+7rXHeIpdenOxpgER ziQb&6d)^ax&=P(XGG(=Rm`Sx%x_L@KJTrJL6hv0x{k(8m)u6fbE0FCm7>8$9Z1C7h{vs8Xvh&IDAhh35^Xtd4 zSBi1+uA5&Wf8-#{A_&1`au6^o7n>#HKo|;cfu~I|5E%=t=!Q(8mqQLoUpB&?N`Niz4|1 z!aaG}it{g7UH8++P%9zX)ZzgHoFXDSU5|c?ej3CpjhQvbjhLe&Pewxgmdt(3+_Y82 z)uC;}1GomuK>WW+3gY0QEaM?Zhmjwc~P}&bhofL{=&hiX)EK)RaAs zsQV)%v@+XXZ2AwC>=|h`%f>TE(11t>MM_ibM&EM5>Y27bc(T`EcG0I+-Rz9u_m%~_ zBli{YC|<)Ob7YMVYGPE}IwReDN7N93@;KMv7U)6jXtRyN0N8FXTVYQHo0^&iNOz6~ z^r84+CI#_wO!x$JuImS8foUXu)UgD+R}_v9CUd7vPSb;NOaM6`j(m7jrhB8Jw!ABv z6GGXRw_7mA8F6!w^$5%Wf3sV>B<=ku2r70E9(ln|9%q64#17Y^V*-Ee)+Xp}3IdjZ zdOTkGOBn;CzGTB0lC80$#F@&--cA~gL)>-sI9 z<-L9HO~X523gyV3V9VRu*lo8~*Z0Bx=6!ddEWmIYlC}6y?U{ZWujf1?P@*r7r{su` zf58nFM_wK;1AD9Fb!FkWrGH+;!$&^PgC4zg@oGA&86f|owZ35D637u#MqyzW7~$ID z1Opi%_Uut&XGyT~u;U##;yL!1#OeU`yrakx?~>`+=l7Txk!gu?$<@^WrFX=ywd$B0 zN54M1t?scPqS(uxU!T%dUK6ek@4n`_Z<{QXOw58zf}_Td8)yDU_QxATLOaY_X#HqZ z7iJBq#n3Z*_U)UJYQF(3&@k!?Rfhb8`SZmsC>DBggAN}q?!&bK4IR0<=vaB|xgENU z#8bqw|Br6Huvw_*Xu)WSH-+5Hjyu({iS*(>L; z`HXw#pOX1I={^%azjMX`J-=*A`@V;IE5CLtW1LHSb<;{PsiW;Q45)x@fJ#NG+mL*h zUNgDfW6N!86M_`Eo|6AXIFa~@DDa}M6{<72wtKHnM~AfuGCALz2e^E4!|UZ(v$gq! zP$Tl=h1|lDip%I$!5kIX&&k25s_{pUW>PUvI$i3h@IyXAiyCU{*3gBYE<;V<8T04O zqe`Xmz53bRJ`XUljmHY-fU_zuKlG7IceF^PpEPF6RNH={lZN4{w`5Lwu}*cVi;E~> zn63KRPQ#+r&xfn=f>l0)NIRlidL$L}Fsq8sW!`NIj3Gj3!PXK6{@xkK3Ev))NwR7A z0JKFx03@jPTBazOXw(&IOTY+#T;PJvKr~v>Q+3vx*K6PwGfPoN432Z#%+@v(CvywQ z59-9MXpP^HRJ`OTOCCFn^A$LZ@H}cq`)R4eGK_S;154LxR}rfRQ|gZx?yw+DOSGx< zU(DURjx$gKVMUe=dQfj zOj|7KsgC{5cy&!HNKI1RfT2SX2R2PrGSRP#j#hez#pj^PZk0(rI|he?0jYX+72POkZ}9w96OtoLQrS)I7}0u@iu&;NBMVPTGr{ z-ogVxS<1rwmz_?ORhgM)^QvS%&Jk&qN$@SRBXn^waeKn>nK`tqIj zHq3nRO_v5-xG!&uN5S;th`2?-CTSO1uS2Uwq43Z{9Zn&X&tfE?t*l~5=^@+cgFh5! z&P@JWXdvGcmGxu*$<6I_GC&6~<9yAWx0PwdoG)Fz>FM2tz7{Z>%-xgXH#e$(k*$iW zNwkm5zvie+u3Wj2J>;?rRpQt0R*e?u3&}d%!&x8t?x^Km>S9XeVW<;Y|mbQb*$2rqnU; z5!rPDj&Hx1H+z!#OB`!L^-OVah%7#=rqoSs57|f<&Lmx#S6nehMV%N~i@z8v%=_ku z;>{V09#&Rv0erjl>p+b8twwcddUorrG$Mb8F5+Ilj6LJ|l|d);*d=+8WK@x~<`q4!Im3|-?*%Pdq#E!k%{dWa1&vd}lm4+Ko6x?o)1{m=6X=oyZ zhZwWGYZ0XCaUr;s&oXh&nRU;|fYQ_t{M(WWfSCk8-6LP=a&d9~HVxY9+{RfUrpb6? z+qP}XZ*113zqjGDNy5Io_p4gcjZs5cf`qpv`kKK?48MQ->M{trHf~Lp)0_8qQ~)EV z$O;3o*(q^N4{^hazMpAk7<1wK9Q?KY;C!>PCQGC)>0X_vzQ6>Gwo`dWzy8uv9JtKL z$Z%dgyWg9XHNsOO@BpaG=-RC#LX@h@{i6=;i4IaDcBm*CNJ|2HCBTlrmF1V*4~Ztb z%k~9Ba={(skJ;C5sx3DJpi$7iF0_0eD_1zydxk1~&VRv>*nfuW;pqoZ5Ye=E)J{^8 zwEXZ3@<3IfHYJc!Rg#LFt?N%s8-xzJ773B0se!m+&)p47qlMH?E!C(s2%*lT{Y;2Y z3Ecw0lfa)%1l1BIQp(eNNT;%y>TJoI&bmFAQrBu%e0yX5?AiL555K<5msZozXhR1F z0+Mh~9Oy-3nj|uL@7^|GG~Au$fChbkCwZU>#i~_}OLZSM zGz1egS3g}Cw0ne2Ms#5R2Rwq{d&IxWvQ*G zy56#GKe41&kf~uIkx7t=%dfgPJ1Z;Z`RJU8kFQ?XKV@}QPUi$Gy?5oG^dwfD&=)DM zkjf**>YjLzJaF*f?H5P_cjsH><>j5N+5)on@0!lHufDiS(b*0M%dpJgcWFp&+<&Mz zKYS56Zv9@MlLY*SYvI-6V^g~5jLTD;#N##3`8}*xFU1>HfL^bP_J_anjIbN{%dp*5 z_T}d{mM}|&llh57;{g6VAaNN|qWW|HDUcme{3(+cw`}JKERKoXS zUnOHBn;bErj07t{eqiD4ourk#e*~qWE;qX$G$5hV8_5c0OWsq+T&)wypt4;o$oJ;iNGLB z>(;W%gZ5lMF?GeO-o_ei0o2~>2hCa|>fr9qEf}(PZi7zbC5=5B+!w>FfeC3y@*cc0 zNrn<@BPfzc4X{e^+_x6vR;8Z>7K-ONy;mJPecHBu?=($16e9;HfJ~A|Zes7Gld$6S zC8ZrmmXT_ezZj%3fB&vC)&XT6F>WL`OcJAtmlq!L5i}dMHF`W;kT^2zO;BT+cM6+2 zkKJ4i_B`$5%X~=-r|T00lcd3F;%9Am5vEw~0po@fzf6+)Af|Qzh7j07t_(3WJC7n* zm*iI&{oxu|lF{@k%Myf?NAw_e*MqV1n*-**Q`yA>BQ_t&YI@ahuP5>|xdXzcvs4Bw z_?j8I!)x0eCOarw<37E*_5AsB$x=M&RsF5D(VQ>2?AcmX?QYIRwT)n;D?7Y(xUmw> zBem2t(N{hyirl^s(kyD@n_e0k8iKrjGe_i|f(HaA%;T*A0pQj?aa321PPDfalL9TK zZqr_m6)V)3N5M@61_M@*@v&2X%3vQB#RR*eAjszvwU_yNuY{+dGSSqErNZG&u< z;a70WOtJ! zc94WT)P?wB<;A$VS`#mN45d-#1?06kM019~oCP>&oMSK_?;KP?KYNE&L!D-ZpS6+( zm2+QpFDJxD36sg;8Nxs$RNootasmQs!Nzr0`!4+P9&HI7#ENp#^n)Fncn8EDJe?=Bjd)zes&h6yChTeAi%CZ zJ}dT*T(}R5nd@OGM%vL&2m*Wgn||A4>gljeF|wZ(jw`4EOYBbhRN_+AE>NExBg-Fi&(Wjmsj6Ty+tiej0@sA$IFnq>C)J5}|C}2W zcI_*Vsic0;5gCVX<-0bPCI{LyWAgD=zhU=$+Pxbl?f-jljo$zNK|cTM)V9LZ8KiU6 zZud7oR0i}{T{u!-rQcY>LnIm;6{5)W#m>NUwHZeBB3VSv|G}W?Km98Eq`fAKgMo6! z=MUvA%dO>@6EGk5F(3Leg_$V+jEk#1UhZ=Sy5z*$CE@qHu0Bbvb#`!Ht2&ICT#-R8 z4widxMB=@!JG{MY)Kmu?-T6NJl8+s;`|^ZDZ~@wK}?w7 zs0;n!!8_4bBD-7oC;SvSVWYMX!swWTIHjg(DCzybb6FHCbr1S7l}pXw{ijoGW@N1b zUJ-}ZfIitPJkO?=-?1ih9W9tbfz2^Xws9Vsn6$J$pjc3QSsWX(vz^Wl8Gh9oPWFAA zt=%WJ*DorIR5RPqVH$E9R?v3LfkFok9eQHU;|v@X!g5mYv&zeLId=j{#6?p7{rFXp zM#>7ZK{iW5Fsepk*ns%rjvc#5u5TN96h3JYy^v_{acn{(3!&swuwu~gWi|Y)y3pCf zAqPNR_)PFpz|5^xqv%FQE;Zjv`3*Rudwlw*3dhhU$n|LATZjM`?KIKe#yn>zk7mW@ zyZynn!CZ1}T$A0tWUn{SQYD0em=b*U#Re7$B!=!GI_)Q+EL{ZcMRD1oBelgHgtV^s*eX~ zRk*dGGgI{0!m!n3U-#(NEnAKrd7=C=L%FLl1}NB-kw-!}IH9Dp^i*kSY3k>zH0I%o z`eP@~-)tUMqy#AXCvj+1$srTo`ztMCDsX@C2|1?G`0?o_uh6hTF^e26$X`}( zqjcl8R}t|;>_H?I)vX!LSy7|Mj5&qq`N@x?5#SE#)V}>9u5sE^zuJ#lF2D-dTQ{5k z-h6|`e0F`4;cnfDo9;%HBy~7HA(STo+&_0|R67Os$=mOB*f#lo27?F3m$>ua%Mlcu zeNcF}EObfPV27cxhwtfnC;W!&NfeK4fHLUvZ6wJwa>!$nNWzJx=5Z-H653}>S1~oV zrq|g?dfmCF*FHj9z!3RU3Tr)jc{Ha%os+|#T$lbnZf@`Y`THT}aE=K`Ey>$rx|Xn~ z*!*7X5=`CL;hvAZ6Eh?6gPD-bpeL(tx8u2m+*)jM`O>_@WJN}M|daqiEjO6RA41h1+n+Z!!3UuCn`B#d-&JA zuOf#slNi!Qdn>E9$}fQzV4F|O(e(y|VAK^T3t4V~qg~VykCb2C8-@u`%lS}=GxC=O zpZ@W{h7Ilyj)g?b|6_X3{ByS&x~ACMNZ>ZVrvgA$MPYqlT=Rjjm{|i_wQSKlbtZ4v z@V>9RTfm}8P`Si|PfV)YTC{&0@aNB=p{70#;|p?gW9Q_HznjdwElk|wKGY{7Zu4-o zbWf^o;>e6eOP1XJDcp5-Nj~GZTyaRhFg<1Vt?$KF&6M(sP_bl zUi{APVs% z%8I8Pu0w?_x1T;e;NdzK>#j<(2Xr$UK73!vy?cqM*TXgfml~OxhK?RJ>LhIN@~geI zwDJ&zHb-IQ`4zD)0^Svs*#Rq1#cPKE#lJlemZ|0JTKL;y(QNzh2XoPgX(@X2?wv2S zT|ST-B%MLZIB?U)57-Ch-U?ocK)h4u&Px!P))Ni67!qW$9NokdQ?l?O-O>+G@eK#} z-M>8yRZ{Z?Nc|*HV|4S#;ciJ9gVmo_wrpz{SNARf3UAgjj&O-a-BZF3X zdL}$H^el>-Elp|VLX(wlz3AjuuUy$hKvW`U$+@MSIJ_{6NuY$CHJm7>#4~4HDNU~Z zZGKy3D)Ue=G7%2Ry6Z4_N^Q&GC+kwfs@s1me_T^jw?ZBmQ|wyKg@uJQGZUJ&DHht( zzAc}Z=AR9#Ubgy-QgqETCg;|F{r4P9zyG6SK>b>jJr8#@RPW$5ijz(i(=BYwk568- F