From cfa89c8921a206fc7c13778132a1332c6f513b28 Mon Sep 17 00:00:00 2001 From: mano3m <-> Date: Sun, 15 Sep 2013 01:19:22 +0200 Subject: [PATCH 01/10] [uTorrent] Guarantee a folder uTorrent does not create a folder in case only one file is present in the torrent. This is a workaround that detects torrents with one file. It then removes the torrent and readds it with a specified subfolder. --- couchpotato/core/downloaders/utorrent/main.py | 49 +++++++++++++++++-- 1 file changed, 45 insertions(+), 4 deletions(-) diff --git a/couchpotato/core/downloaders/utorrent/main.py b/couchpotato/core/downloaders/utorrent/main.py index d9330076..ce82c8c2 100644 --- a/couchpotato/core/downloaders/utorrent/main.py +++ b/couchpotato/core/downloaders/utorrent/main.py @@ -77,7 +77,7 @@ class uTorrent(Downloader): else: info = bdecode(filedata)["info"] torrent_hash = sha1(benc(info)).hexdigest().upper() - torrent_filename = self.createFileName(data, filedata, movie) + torrent_filename = self.createFileName(data, filedata, movie) if data.get('seed_ratio'): torrent_params['seed_override'] = 1 @@ -93,7 +93,7 @@ class uTorrent(Downloader): # Send request to uTorrent if data.get('protocol') == 'torrent_magnet': - self.utorrent_api.add_torrent_uri(data.get('url')) + self.utorrent_api.add_torrent_uri(torrent_filename, data.get('url')) else: self.utorrent_api.add_torrent_file(torrent_filename, filedata) @@ -102,6 +102,39 @@ class uTorrent(Downloader): if self.conf('paused', default = 0): self.utorrent_api.pause_torrent(torrent_hash) + count = 0 + while True: + + count += 1 + # Check if torrent is saved in subfolder of torrent name + data = self.utorrent_api.get_files(torrent_hash) + + torrent_files = json.loads(data) + if torrent_files.get('error'): + log.error('Error getting data from uTorrent: %s', torrent_files.get('error')) + return False + + if (torrent_files.get('files') and len(torrent_files['files'][1]) > 0) or count > 60: + break + + time.sleep(1) + + # Torrent has only one file, so uTorrent wont create a folder for it + if len(torrent_files['files'][1]) == 1: + # Remove torrent and try again + self.utorrent_api.remove_torrent(torrent_hash, remove_data = True) + + # Send request to uTorrent + if data.get('protocol') == 'torrent_magnet': + self.utorrent_api.add_torrent_uri(torrent_filename, data.get('url'), add_folder = True) + else: + self.utorrent_api.add_torrent_file(torrent_filename, filedata, add_folder = True) + + # Change settings of added torrent + self.utorrent_api.set_torrent(torrent_hash, torrent_params) + if self.conf('paused', default = 0): + self.utorrent_api.pause_torrent(torrent_hash) + return self.downloadReturnId(torrent_hash) def getAllDownloadStatus(self): @@ -224,12 +257,16 @@ class uTorrentAPI(object): token = re.findall("
| - UnRAR2 (version 0.99.1) | index c:\python26\lib\site-packages\unrar2\__init__.py |
pyUnRAR2 is a ctypes based wrapper around the free UnRAR.dll.
-
-It is an modified version of Jimmy Retzlaff's pyUnRAR - more simple,
-stable and foolproof.
-Notice that it has INCOMPATIBLE interface.
-
-It enables reading and unpacking of archives created with the
-RAR/WinRAR archivers. There is a low-level interface which is very
-similar to the C interface provided by UnRAR. There is also a
-higher level interface which makes some common operations easier.
-
| -Package Contents | ||||||
| - |
| |||||
-
| -Classes | ||||||||||||||||
| - |
-
-
| |||||||||||||||
-
| -Functions | ||
| - |
| |
-
| -Data | ||
| - | __version__ = '0.99.1' -in_windows = True | |
ml53`RbY<7T{=&{NJ z8T{VurRFE@w#Af4)VkTX{rZuo&XgbZ#jzyD7qIBL_XE5H6A0N>>1QEQQ3Q7cd^KUsd!5{I~zUy7w?cE7ETsF~fJN4MR` z-rdP%UC3efzGO+NAF DqoRO#VZ@&!b}I?go3eo@Pw zv3G-qqtSb &xN%qfe|O$=y&Y@eo8QK> Y-(qC?Tll6l_w5P#7I3f{o_G}UA258WCIA2c diff --git a/libs/unrar2/license.txt b/libs/unrar2/license.txt deleted file mode 100644 index a395801b..00000000 --- a/libs/unrar2/license.txt +++ /dev/null @@ -1,21 +0,0 @@ -Copyright (c) 2003-2005 Jimmy Retzlaff, 2008 Konstantin Yegupov - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS -BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN -ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/libs/unrar2/unix.py b/libs/unrar2/unix.py index 9d87b18c..21f384cf 100644 --- a/libs/unrar2/unix.py +++ b/libs/unrar2/unix.py @@ -38,38 +38,38 @@ def call_unrar(params): "Calls rar/unrar command line executable, returns stdout pipe" global rar_executable_cached if rar_executable_cached is None: - for command in ('unrar', 'rar'): + for command in ('unrar', 'rar', os.path.join(os.path.dirname(__file__), 'unrar')): try: - subprocess.Popen([command], stdout=subprocess.PIPE) + subprocess.Popen([command], stdout = subprocess.PIPE) rar_executable_cached = command break except OSError: pass if rar_executable_cached is None: raise UnpackerNotInstalled("No suitable RAR unpacker installed") - + assert type(params) == list, "params must be list" args = [rar_executable_cached] + params try: gc.disable() # See http://bugs.python.org/issue1336 - return subprocess.Popen(args, stdout=subprocess.PIPE, stderr=subprocess.PIPE) + return subprocess.Popen(args, stdout = subprocess.PIPE, stderr = subprocess.PIPE) finally: gc.enable() class RarFileImplementation(object): - def init(self, password=None): + def init(self, password = None): self.password = password - - + + stdoutdata, stderrdata = self.call('v', []).communicate() - + for line in stderrdata.splitlines(): if line.strip().startswith("Cannot open"): raise FileOpenError - if line.find("CRC failed")>=0: - raise IncorrectRARPassword + if line.find("CRC failed") >= 0: + raise IncorrectRARPassword accum = [] source = iter(stdoutdata.splitlines()) line = '' @@ -85,39 +85,39 @@ class RarFileImplementation(object): self.comment = '\n'.join(accum[:-1]) else: self.comment = None - + def escaped_password(self): return '-' if self.password == None else self.password - - - def call(self, cmd, options=[], files=[]): - options2 = options + ['p'+self.escaped_password()] - soptions = ['-'+x for x in options2] - return call_unrar([cmd]+soptions+['--',self.archiveName]+files) + + + def call(self, cmd, options = [], files = []): + options2 = options + ['p' + self.escaped_password()] + soptions = ['-' + x for x in options2] + return call_unrar([cmd] + soptions + ['--', self.archiveName] + files) def infoiter(self): - + stdoutdata, stderrdata = self.call('v', ['c-']).communicate() - + for line in stderrdata.splitlines(): if line.strip().startswith("Cannot open"): raise FileOpenError - + accum = [] source = iter(stdoutdata.splitlines()) line = '' while not line.startswith('--------------'): if line.strip().endswith('is not RAR archive'): raise InvalidRARArchive - if line.find("CRC failed")>=0: - raise IncorrectRARPassword + if line.find("CRC failed") >= 0: + raise IncorrectRARPassword line = source.next() line = source.next() i = 0 re_spaces = re.compile(r"\s+") while not line.startswith('--------------'): accum.append(line) - if len(accum)==2: + if len(accum) == 2: data = {} data['index'] = i data['filename'] = accum[0].strip() @@ -125,7 +125,7 @@ class RarFileImplementation(object): data['size'] = int(info[0]) attr = info[5] data['isdir'] = 'd' in attr.lower() - data['datetime'] = time.strptime(info[3]+" "+info[4], '%d-%m-%y %H:%M') + data['datetime'] = time.strptime(info[3] + " " + info[4], '%d-%m-%y %H:%M') data['comment'] = None yield data accum = [] @@ -136,12 +136,12 @@ class RarFileImplementation(object): res = [] for info in self.infoiter(): checkres = checker(info) - if checkres==True and not info.isdir: + if checkres == True and not info.isdir: pipe = self.call('p', ['inul'], [info.filename]).stdout res.append((info, pipe.read())) - return res + return res + - def extract(self, checker, path, withSubpath, overwrite): res = [] command = 'x' @@ -159,17 +159,17 @@ class RarFileImplementation(object): checkres = checker(info) if type(checkres) in [str, unicode]: raise NotImplementedError("Condition callbacks returning strings are deprecated and only supported in Windows") - if checkres==True and not info.isdir: + if checkres == True and not info.isdir: names.append(info.filename) res.append(info) names.append(path) proc = self.call(command, options, names) stdoutdata, stderrdata = proc.communicate() - if stderrdata.find("CRC failed")>=0: - raise IncorrectRARPassword - return res - + if stderrdata.find("CRC failed") >= 0: + raise IncorrectRARPassword + return res + def destruct(self): pass - + diff --git a/libs/unrar2/unrar b/libs/unrar2/unrar new file mode 100755 index 0000000000000000000000000000000000000000..3de167610fa729a05a45520e7c6447e2cb2d1954 GIT binary patch literal 234984 zcmeFaeSA~p`9GetX$cTK1q*`WED8#WKoylrQOXG5q>4(B2?z?J&L@Nf5Gkgdr1W?^ z3S#kb)6eEMw)wy&6i|z8tqC~Y5SgH&Rzyuqr&SRuL;8Eault-NE%@2K-`DT^-}-{& zKKH}*d|&r 2Zae^vs#_Zl1m1uG_A^ SG$(hxa7F2Ubt>f31tmP1URi2pNZ zW&n`q_H_I^7-Vzi%-IV9^KZWWMx^=Ik&Y_RvF>D-s|s{vQj(cg@|b yHrP2v4@iToB=-Ydd+&zT@@ pmue3fZ_XSn`lqR2*6;U9?^l03=n{E{elG<86D*@3or`$La+GC)Qied4N1ps zx7~5OdOBLSp~pO~;gBi+ehdcT)#3llnU|DKy8Ozt_gx3iOeW^Rn($5E%m0o{;5YBM z`S!pK^KB-M)n0VL_8EV<8R?lbe-XTG9 q%B2hLm=62xW+XJ~N2{GqqreEm?{%$YYF|9j*A z(z~s3E|20qRS$I+1m?^>>#QN?4?&xouXnjJ+q{41=CKN!I}IDP*aH>}DRi2&YePJ_ z?y11ozRgv4EePCj+mJC%Bg&t2k+0w5%XeS4YY&W*Ha>~@8Gq*^&Hs01 uUyI(HXU^~#)BC%uQm-+wzej)7UH?gz`>)9I#yObnFEc*9ddgLL z^WgZ@@3LH`-)ravCD};$486Z3@(g_-6MDfakIQsL>H=A9+f997##6ix9^&f&&+_jx z#`gDE`ZJh$8lL{~9mq8O`_RhE#{?oEQ}2)JG2sn(%n^~c;GE L10d+Z%WJEMTMvi*8v|7kN`U3n8n z{ }nqS|(V!_KG@ zb0MQm;ZZP#$G3f(<%;=RNTvd1`CG`I`htYlDIh3p+fFz!|2{%Vp2-@X{tyGy -e zI4Fj?v?SEeXZ`b0-ziKrqI^t$vsN=YJ6xwl{?7Vn$56`BTmGTM{qFs2*`k-XxU}$k zDe_ShqD- BT$5Y zzh1t-E#SweD+qNoM@MI8C5Kr0;PwcvOe4q>uz3Khsrt--K$9o(J41SX(8iWrrm*$q z5s(+zkAGvOxDNKErZZZ RQQmfAeZ3JrY70Rwil3P_?t|BlbA0EBf!xfB^4;*S0EB5I@0gc!Vjvn z32wcHW7a7&X9ErGeKZVzpI*K%XHm%}T87b})s*ggd#_POG P)7RCrKku z+xBF4rU(~6e9}RXq@K3k2SL~dxe;l@@72q_E-i97WCLPs+6R&@f84h5sQ+N9(Q;`d zCL1^#I)Wu;RrwE!^0M6c5|!Xm1)?!PZd*P4{35oa2$6rEN#D6CYe{+u0EUnnT|S z8K` &NPPK=ugzJKEh)iY|yMr)7F(c#<>wQ14@y^5rsruQ)npVmA6Dlg^u0~y@I5x^K z!Koky_Mw+Ix#$BF=6~8vC(-$t_@Kx2N~iL{@$75cPJHz60yYmi=>XP!EU;^AuyoiE zt%6eFK!IkPJ3x8qUJ@sUP5&pvC9i@aI3JBaBBkO_X!fe~Jn2SWbR)O)BJ?HnB8LTA zU6y_t1T0iE3l*k+r`|YLIZC~GpqN=R%#7wu?qRSp_;@UIe~A2IDB4kB|M-!A+QR{x zpap#14ufMU1#P$Jh8C#-03&imbMs>G@G6^@`z-zV?aC8^IYNl<1OU2FKA8G%@TAvG zC2FTYNYfuj0dqILi#ES52I>vNR)DqPsCYRbF6DSB#=@+e30baC?P#;D%@xdJ#> mN38Nm8#P)liN1!^T0 z)8t~T>_e4!7Cu xzQz~wpr>mS3Qj<{gAfk1hWJkaaDh_ zq%XeaSYzBq1 #?hzY~U7*FssB(7K`aq&-Y%)ho{+h3&H+>WFX^h&M7V}J>q8CXWA zYmUvVIZxHR8dVEGkU7OSa*Ag`cM^i`cUfPfw0YzN&-_7V&=)ztu*zqLn5B7 i$#`higHiNw*2NqwT(7;?WXCACm3We!kx}k~Pg$J0igpDEBJjzuB z&fGbfx$Jv-b8iKVCP)rCi0wNFM60Q@;~l52BRti{F`8`|b!Cp%Hy-$$BN1#{3qKB1 z5+l*V%O&YG=Xuh7!N `T7v(KSOmou;2tH<)pML;TswE%gXv(a+E z;C-wDbD=5It>jt5*Rkmo0q5067r6DtzT(HN)zgP$yNt5D1be!rH*SOP_xlo8<0;jP z%6)`-99mn$;e!MZM^FT@u zeH0-K!M#gxAoezVJGwcRQl0=9M w=ZcN zoNbqgO~4`eiW&k$?_uZ51x %pgk;4ahFUOe-FkpVQ~FI^}W6z(r5sh#r-Vb!*Dm<^+VkPIr^b4 z!MqsVmrIYj^@OJ=8r)~J+TBd)Osi2I=R|;zuA}Hvu(g^_=%bxeO^hR`Lfun#Rk;AF z)#Rc^B2~kdqXTt!=>Ko1#Wx4?Y$EP BJC%E~|H{N)|*naTi`Y*Dn!9$%FeGLn6TqILyqY%NjpES6jc;=$+TFn@^)<8GC z!Oe_?UmeYxnZ OrXU0EA5k$n_M$dd%CU>(S2X8gW-pEaLmFKT`m9ykdQc4?zlLR{3#CI_ z8(P0YAzV#_T^8TZa~zG*f&CUK 3z@Q! zy<47%EZuh;x%}j4xdhN8Hg?NlcFUA#+O;gpYwu^QlD49^7W5v}V2$Z0 w0TEtR z&owbafq1f6++dA%7qy`MJJz^%?NQ+zR><%O)aoqJDyFksWx|42)bOvPN_Y|g-x6g* z3z!{w;vX*cxIDwmvh`-^x++f>n4D3z{>Li6gvwCcE@OM=mf*9de?6>jAR1 =ODVWm0lm@U<4*KyY z?`AwO%m|;y<`^pelSTnF%EaEeA$T9U;7`nI!R~tz!YnyV3-GKF0eXsd1^)>T74yit zZbc)xNRLHIh9*S_SGZ`x|0Y9Y>!a?!Wr)z6;NkkRNDz$|zW(DPgmtRXxZ8(tnfiGX zvn3Q#iPr3ezQVegJWzP`O+IUVb{XnWBHVq>7`YoOIiEVLv7+6FoG~26AQ4<3*YrlV zVdyIJ&PXhWY;8|~^3a7YE&Ku+7PcivS|xDqIg934C4Z=I@)%KV%g@|O4hy^5Ws^~6 zd2%t;sqz$YG;hcPh`=-s_XUA`c-l$YmaVq%o(GiVCP-aMgL|D+pgH-DRe}K}XW>9h z@7LJrGYadD1|9sZ(Ms)DCEEZkaU)HtWSh)@VcAjySt1TE_YTz_Qe# =+cA5q|4+ zSw>_(5@t0&wVHE`76@vwDlL*CE&LQjtSYG1s#L3SRYkr+E6!564&Y?Zb7MzmO9MH) z06{R|Js7HG#pznOAyw}fcmq|&u4FG*qfx7 C zt5Adn$+s1TAwf6{G8S6m9un+fYzKp(C0Q=b-(U#CYNcSP)BhC7GFWeDMKg}W-*M1p zL=AU{sC(r?OlPERMI*&YBR0MX9h$C1&ZYhwIRd0-I=Ca-U7-_BxO$MfI{Lp G$JR}rwG2HCrjFHj<{z<5dJkrfFzJs`99jnU-VZIy8WQ}6wq;y4 zk=CNvn&LsTu_6K++J=-ZAb6mc$D)N6xrwF_*^dw;={MyY^1&0>!KXfAdf+w)k{Rbj z4rmd27FDfCDrjNZ txB~!Jv}We26h!Bwc3_imXY9@W?Dc*#OfdhdCXGIUTRZJVvcxyMVNv&unP<0WsX* z$NCXiQ9tS_=1K0c3A}KK7JigWl>0CSWmpS2wXKCI!1?F^zSGunXMoniYOoeNT0?Z8 zB(2d~oB;8M|0a5+d36#x0-vHtU*;JS{77Hs9TI%k9LLR&c;XOsnkPCH+#=QFi~14| z$eux7VB%i$XBZd6##t%hM?ST#W|4?TdK1 m8OKlZ^gMYg z^I@@$JPk dQoJ&3x@3-Gy| zf&_CF50>7=fso%nE{>`LZxm@6ECF~=Oc5o5K50L5gPwKnZLb#ADL$1p+2*5;ZG@4s zd$=~&zKzIwJ~msqXe<&?B%Y1s(SDYG?ItCE!`DB4C3pfMUF~HtYJsa_{I>KZeQjBQ zlRT-2l|f87)7r8}Bn-5qu;15hZG%gSG0_wlkS)BFa5kV-oLJmJgCfW=V?0|2Wx>C9 z-Gpyi1KTQ~Z?wolm>w@t+39v_2;PBm7IJ>;pf$&dY@UZthwDuIpI}u$%Wa^}`u5cv zdDZH|bg;sWP8T5eDIOZ=nVR72;zA1gLHD+y=pp$SF-WVd+I;%9*eQ)_ (2T8pCP{osAPoVL(DA$l(wBFWV+ zyK}O74c%09(2)+6-@l_{Wi?u)=36$lq+qLW%>u&y9bnw0V8lG@;8>1@v;Ig{hbH5W z)g%+MO!I_fYdml+=n~C!AUh%3p6^7ZoviU#0h<322u;_?kQgDIZA0<`QnwgRhos0f z$BTKaOu@ pwW~$Sq$dsB0p-a)K_RwN^j42;Xy_wmSa `rHDdnZ zG^iN}jfmWKT6Y3isQjQSa0cBzxn`wd7r0=sL5z!TS`D*KR$cC8JMeU*=a@4hZ`v~; zTLJfxq_-&OUC;ya*0xArU+_=Ww~T`*D)%lpPyY% b%gg!V!P=R*1>DG7c-j!rUj_0}PQeA4}t%I}VfD4PFiYB9kkZqK*viAw-E zG`brL5<4M=?IJ-~%;5Neza#jp@#k0h-$z^2@qtKA)*{%QwQULeR5;@S*Ny3cS~Fu{ zaERU|%22U8Y{6RWkzIQ&ycdz1rJsI+?J8j2)9;c^naDuwby@oP86}_GLJN2w*oLB& z?I2#o=wVGdZ0y1;gyT9sTQ3ZTV`JbkT&|)r-=gl=Du)yvOL9_l7{>B8M<>u^03N1{ zR(?g%A#jq#wqI}}z8|d%(K?fXyBS9d1ItL*1h-MTk5d>eJW5zN{{?68-$!f%VG!Up z;znh&bYILp|GN1$@wW@{5)#gWiCdEpD|0>2 ;w z#vIm{93B$ lienBmF3rJ#$`hd 1th zE83|f@ja#nb7SMOh7H3(kLc(uSK@QdWAqRIVp~VqKGNO=wn*zplEM#&r!)^+RX7sX z!(mble{Z6qZLOQ&)s1N4Ux1gYJtSpxqSk3rTQ+6ifWtxUdjZ=xl(-WDbiDpKZ@}wI zuMMiWLPDa2&)cyRsOtsEqW|t)=T-rc)3Wui(o&}X8BHf2Z;KvH8*XafRQWaW9WS!A zACvboUsc)XTFnUA(mfZ`i9?uPhsr;91&XcJN1jX5v08uydPj3-YBkH;T>HRwaq#bs z)};-+S@9{0K1#l4t %c#3U>IQcjt%#6z>KC1|a2w(=X+WCP9-v^C`3Lv#FBlp02F^L! zzDJhk&G%ubYd1{T *R5C4qPOx=avCNGn^|u5GaVcr)L%fKgWD< zY|xtm8O@rWd@Vh$$eDuw8+xw&cl1nm=o$KN=oy+x52HVdXmHVyz(9sI|GL5B8tKoQ zuc=@q#fLMje~NOm6O=R5I0UJ5qrY$P==IcBU%gdHrC-d=Rf~+W;6BRbU c2PPUJHdk_o z*tJa~R$Z`?P>1;;)<>{=iL({1_NaLf!i_y4Qc5%!a^AWfg9g*!rz;{f5Gb`A^{$?m z2}5be##hcW1hT-K0TPt|#g1Euo?zd@G!0_XWLlIKg&n=!iqQ>oymWpFM;_$f4hI)Q zZ0WoV985c>))scafwo*iQ=wVs6bd^#?TcQ ;I9zeLH zTnHBXrU$=~#Xf4$S%r(t7X7`8(Ka*tc9lKxEX1=|s+6+>>g=Qna$?t`+mvGhbpeit zan%{IETn1azCStvi%hgw&!Ip$EL1k+K#_H4Tk>~GTH?uDUIQ=OJ@YBmQ}!2$T!Odg z7YQe7SjG|%IB}?D1Oh`afe6O)zLU+p31kOU_LYNLFfU_7A&0w3s-udJt^+6jeKF4p zDm?iZf?n)&S$d$G_;WdE!g&FW`V!&B4nINOuh13{lh4@xxxk)okcg3JV@JYGtcD;j zFc 76OmigX~Hem6J>&uYkM$f=^Ktdi48tsGZ$uV1AI66 z0j4^CP&QK0>>G$veASImN~HI0*hY0eK0`%kY2hd???od&!J{iw m`sa|EE+uZW zniaH~a8Ck6+y2FO2meugxAstj@y?Ib3GT6ijkJN~I8Mdyfe*7o?KWzM0~QXR8j%r9 zlx;VviAoCMO%%?SSe~WswYU%KBIP`B$}d;S*@Ve+(2nypwLW_3pNn6$fb}- zEHVoP zs 1hk{SQKEZ)T82*t#{ zC=R20s>VvzSi>4JJxA+4sj@XJTY@sH{E5SxxgT9v_wApwnrgAo?Kti?v9QhDKufh& z_hYka7t+Z-u*W_OyR>i{<`;;>8SudZd%*%fp#|0%u~csG3mYP=1cvG|09Xs(fyq`h zay7s~*#r57zgT3jowBM~*Qn0Jv-OhTuJs_DJeT05oi5GL4cI!}4YV*!8b@&nX_>a- zUOW`v9oPnvU$YOo9N8nI3ngeq2$W*jF+*Hkw@|Inq=mb3HrNifDKM+TqlC0w+`ANd z-KKm+!#Rq-S`yU0DJF1{o1tJj0ubc3YG+|?AVYbCERupzH@k3nSzLz}_HyDWod_OI zGppILWb(e6WJ%XSL7pj|hf{bh(kvy?1KT(GPGCvDW0P9xcZklk$iF~KMI*hL9GJ1? z^Wpn#ZN(D;-9xqFhyq%1sTRH%y-#^2ckyLfcsGz09!T7YsKIWv7Oj{RsnSfy)6(gb zsuq41bDOgw%+<$6o^U6&;h9G{#HdqU+&CFR(T^O~?oSf@j>5Xc*_=Wh%dN~MQ?@hF z!aTB?;ZVZ+X*^tG0u6ti=5Zx>_zps6b}a>-n9mGxOQe|N&~H#LLl_9*l_Pg2&cP0V z5j|@IZN(~HXo~l+iWjS~7tWg|!-XnLhYf2O9?Z!bo)}ck6k-D$e;&Kx3H^v$3x7l% ziG9F&%m^z$JXIGX+wv^5#^UONw1PS3EhbOZG~=ppPg0(+I70+SkAFsbDA#FdNczD^ zt16pz4UP%rx)KKWZ&WV%%kLlGgObF48$_?q9T1;DkTwXQBKR{ NN$p#W)w0ol- ! A~ 2{Tcqlr3JD?Q3^C3sa_a?v6c@eMpTK*@-tPD;d(1KCR-5XeNgX>o%jmNiXK= z4$c*!k>%+{_^ZL2De6U4iCr%PO*G>vD8UkK+@0XzaZ5kjm+eYCFUe1ThZUvWNT%j4 zCvd3r_pXX`f^EuyM5}f-RAWW*Xsi(zJ}v)2BXSsBD0#9e8PY9aoqs-si|1PSHDHFt z**1E@PSy1uLf3O@J`ZWy3$8sn6x$%d(yzfCudJDZ% }XH19UG(S7Ybcz=q%)_m&40gs~7M(a>IFZxy)VYoG9>7oV%%VNtz^ywU zcDu~-e2lO|8K4FRVZ}C&y0--tZ<~y9tt|js=y32*396^mr4v)G 3~4NTDt7Ngz_q8vcw< zYiB+xV+X2g%m2w-%si_-eMRc9p;Waoc>fiH7S7LE2j1V>5QnkS>JMIpkWv5B<0=Ye zP9c0MCN>;YA}&B Fhs zlkDMz)X9_Zn1b4EmRowpvnb~rkz80Ce53-D4aNKqxpK pf$QTp~{$sIzdb{ z5WV(eYw#;Q`_eNd5AonRufR;TFk_`xSZeCzp9e)EL}EoA`ZGX*p$Nqisd_>^Et01v zE>KSw;$|z!8H<;=ai((?O)({^(KFm&jcPyu0 =IG&>*zQT=?WKZKzRj*fuA&H%|BJAer2Qix3OIZawWGQP8R%(agL ucixuBo;lcJ_;!7YhVsIO%#nB}=9a@LK`W=dq|6{WH`IVWnx>TMVSsnLF zC9B?0TJpC>Ecs1p-rWL=KN*{uKVtE>5vd&9%CPuS+*CKB9V|Xii4qETR*NR#^>RmB zJeQZCwtN7#^v#FU7XQNsV)5^zJaSmWCk)`cX^zE94y5rea$xbSh4OB?SiJqzwwzDv z?WeEhX=;q{T%Znm kt67$NG z#aBCmx$GLTctC^2L#wvM)zITl^z?QWk#$lCXF*prvQ%?UCN?EWSNNW%0)w7uoiX zO;y A?EAvhyvMDLelW z3Ehd-@ChrGOlHfIBcanDQxY21xt*OmCm?*r1yt2@ke`9W0#|#@%D(wb`|Q&dsc}SB z#Z~Rl|5lslcz7h#9OD~VL0EyTZLh-6#5rOe-n>!`a9qp47T|Wg=*qci^ncRs5vQGf zhmNa{*d;W}@^Nexr=dGH1jeZo<= 3mExJHfna=v2gI^6j^59{8h{?tTh6b5`J3|MWd5qkVyYzxBeSgW4nS(&`pXc=gt zqkFkxq27|lKs~w#{(Et0Rzw;dorlNntN>y2FFLv>{vYp-g(!ZNlkZli&f)_d3={t! zVMw3l!8Wo7MrDob#ja$HmoT>gjAPZNN7eWq`0`eb_hM%m<`x~7=eA9bl9+N;{4wm_ zp^G9i8fv|;cLv|r!cW9Yrxk89zQNSF;(NY@1FH?P^Mf7Aq=Z8E^RQdtHkEe#I!`N1 zAVjQFm*vMQ9btu*^~5VA4m5bQ@N58!`ag9W+uw@oO>X0@(8uno($4}phhul*djWtS~^4Y9-BrmUPvnm_L;Ia8NSb zh&tM(5t6mz(Zf8-_km|1{Qzg1{C%04Ld)IDGExrE m5KHSHzZ*mVs(n5( z=J!! $!dY)wjQo>3NA?mOVm&k8KSnZ=c9gZY+pjPt-!+!>Yv z+~@<7jxvCM01u`Me)4JS_yuHT==kZwycLd37#EH=I&4|`^+1_4)3V28;Ux&}7@|M< zDln9`naRh3m%-icKT!{u>hR{W4|F+K&1`{j0qrO?(BLpuxy%>VjR*TM&5;ko{L+n? zwH~9|(VDr5_!P2ZD(L!-3Sz%D_0h!RDCn|BT)Y`;zd@=OA;M#f 8AOYn2q zL92owT!~9ifM}b2t8iQLGiuVlsjK#?3V~DI&{g*{L@dFcig$URLIX4!T6Vn4K1l*U zoMO?j$p^Y~g#za1yioz2Dlh)*A4JfWzJZ5FauvvYiZggzXju 8+s1)yt!xMB!A@P~J(w6l+p9e5^&d#-BPjeubaw*1_@S3VJ=H?yQJ0h3hwT zmKimZW6_V*D+-=&0JHSjaDJaKJ9XJdHC7iZoxAq*1r$*$?p ~b z7|x5YRzl4a0N*NmL}vJS%*LbX-$d=$fx-hp=Z-U@BD^uf-f)YfcM`ypSTKTMeDp&U z5PKoMWll!5@m>nQF(t$75=R JN;O+x;pMll32XMF!Vm z{zD^ec+EqZH#)}4NWv#e({!)uGD{W207-VHdzH%%_8=)~6ugFo$iVTo2R{{rF^I $gfbj!(wvP>EU~F>x1Hqd5#RSCr&jX|Pp;%h?$Au}Y>tUjoI@ zKZ{a7!P{+9W6a=qfGDtHxVSsQF!)ULp4}owKZ7h3WxmJ4rustkR3oOh;w62^QGqj6 z5L%q?3S2=@IE1kncVmKgz`X5#KndXpYqXc_8|V{B6jV3?uXq9r4|9NOU$S^LX0~7u z3!SM^Lao$|CVu~Jqij!NI?55J;MhzLEc*Wg Gz$H87;`Vem<`U+%iOUFKu0}TPmw=w z(PN3LKn!$;cbCYE#?Y2MmaD~L(h@o?2O`9Y2W1=(KTsTR`3-cychX=(6D??IWB5jn zNPp+)n4Ul_@$AAJhbt#}TKFAcL*vkre3uq}kq_u _ZV(X?;#Vb^2`@|5q!8a?H`(dSkIHI;2VY21HUc`HBKo zO1`VNx&x=^t%#R-bIR1Wqf*W~P=t2I7*AqTDi^QBvh$uso*JPC!rN5gm5V8TaW)GV zB>I|yYN9JlrI !h=0ur|6UGFKHbQj{APi_bB4UL==EyQ`QTC zSr}L0a _NnWWGi)wrg3*J7~KR#;|m}xl=I=ja>RPhbJJ8#z> z@_*9a+l0zLaRqbqHrKL+@w+F&q2O7IV2Te*Zb7#80QQ<(OL0*{)3NvrkV=@%qA+D^ z{a}xfGPo(qEL6vTtI&JVT^}|4bw*jE+rPUz&Lb1)%0baSyONQmIr fjxUJu5D)d?4MkWU4W597nB>VX(uE{z8Ag0y7b3Ysk}a0= zE BVO zBL#87t#b!IkJm6YA}iQQX7t YTX zz@7G`k@xDwT4U%T;@8=W1s2)UMj{FdpGO3;*FfA(msbW03=v|cBHl!|hYHV8q|uK! zq(rFeP%W8r1+K;}CTXu|B=7e6=-bON1qF=nX9J?bkCkEOJi3%?8lT(c@1mT-xAdf) za~H}JIe>3FpFW5ywJiedNS$=q2SBRtn4~M~? F~I-LQ|@wPv-JnI#z6ql_*U`Mrrev;yF$EbsX z9p$Lip %?!mog!5t#~8M=; 6?(qGf2a zN#;T#Dz+<%rkjmqv*G>Yx1N`J2ju`4wuVNzMk8PraY=jxW4H73;Glbqa@FCh>nK+N zzB;~l%CWt4o2QO~6@ot+#g7aeDh5NR=Q5?I4uzD@>E}B)zxC$Dmj4m)D@v)kD8e#9 zE(W)!)WvC~dpygu%I=~2z#BSSN8M*u+1{>-f`Znhg*5zLire3{KHA23mp*MjSZ`Sx z|LkGR1ne27ctor04WsNS_Td*k6)%C_2%9L~W0XG4Rqa8*WRv|)3k(F)=dzbETLmTk zExqP$<+bjZp=8r%A$`?5c5YWZ(eJqM=a|1^J@h|7Iv=OdWB#>L!_PScribf6Hts;F zD9#S*uv^p(H$vK6OS@|KH=x=kk_pjc9G0mTE|` YJ!1df51lkSlEjcgk$Jd>cT-6{ 048xZK7_3P zrvGVb_@Z+mccqvRwyqE2Wl;Y0dgD?%1o*-RwHBc47QS?g%Z_S+C5W=8De%wE0o>B3 z$mT%QVpnq`%ZMfuurlSH;rrvY)ie~o&){TdilAPvfYXf?-yg_EM_J)Rk3cXAQ;=0N zP#rJyxJIeMuONQ3?i{)Z5jNla5{op!iy+r-(~T1zIkWn#lyU@TX*8ljsE9K*n-V6R z<@e#9ff3;#`U)DjoZw(5GAyZV$e^7Zsc1@FYYmzbOi&qSgtaMOo@r#<_h&$=Xd697 za|K2tmH@@|pg8cdSxsuuCLbO%55CT4Y#$`E0ZV`LF0}=ahBgv>C#x6_O@#17M~Z4F zzBd5m0}zhs+5rHrKwS5MfRJNk5*(;_1B8tRsACaagClDk%rA$fq~!WrP%nE*^72`k z4&=#lP$nTM?#cJ0VfL-?j2bk8(wD)lXb62Lat)lcQoB;Rg(KjGMTsQ%o@pA=d(wbP zV}tR?h1iK<-%whv&+;rcL~)6;SXM29hYE=7WmHLw1ta#H(vBK0!Leq% y zfNc8v!nktHvc7T|hr1MbEsnei_V=wye{Vwq`jIRxT$05E-ocE+7O*gHXw$rLDAOX; zupGOkmx1Ik1M>v`5=)tvrQfhfd9goCMN5Dum0;w#d30umU3eb~nR`8Y9G3%Ta5*4+ z3bD2V>!p(LXyJa6$kD>z5pQd*7WpX{rTe3Gn|eR+PB@kKkjzY$cFLp~*H}?MR7?Kd zeGcf+E^3c;0Buk;zy_&$y{QuTWpFUGj9z3MTidjAj5okB0yaa3%kI*? ra2xr^VycOXcanFQ~=i-Fx)%dpbKiD#xdbN^S79?rv zgUC6kk)eP=U#(2WFxzY%A_HRh6q17HA 8uY4|L@h&c4 zKu)Z?Rn?uQ>gLl#=b&!lHPo`ZL@Fe=#nTT>Se>F8gt|#Ayu;wM@Jf*vjLt1noK%;F zx={7njAm}4xE?6li{(;SC&ZR$lx{&I9u3e@7vLq PAhJ`m$o_*M+IG0~g>Ma<+pV6*fu7AS8_BlvhY zs1oq@3d>jkNh85~ky8k{C@+gJ{a6J~>Cl-f;*>Sh>G7BE2jzb6fzaez@#BtK_&C~T zgBiLHXX`?nE>*tedr%U3v4DKx>IFV6eK^U1l}w+E`uNVh%?^G-C}mi+iGo@OWPncD zNd)#X?X_@E2FImdZDYmlz>NjviacOAepNm`^|}ImM?0Ah#W`WlMwhda`5-H))hE7l z=g*?2&7vou-S`t0B9y2@;KPtfAR7YNkh+G{)yvoCF6^vt9*xEGAYOv#f0?Wte4mE7 ziOE9HuQyJYkq&egqu$(+73TnV;8aT=ZOdRPwxh*otED2e`wKLmTqm>1 y~$qLCL+3W5W00=fFh-eCdG&Rx<#J_ zRCLIOIe;v^40BSNJpoN=PJbH6sLCvTnd+{64+|I{+M}J`d~5vL`?Ay`mj5N7h%O%p z$;sNdTVCl9z)!)Pey1{|<3Tg(=ncK3m$A2j!kd3VU!gbNs)CK6w<5Y5gs^+?!kkRb zR7iX$&id-DodR7ls*A@VO8jLup=zInOE>&4(+|GRu`KS!Oa%l~EvKE+*&h$*t(U)y zQEzWHXbZ|#(e%E+3ck0ad1#C365(P1&}u3_17&*C#dD3yVi>fxv2q_W@N^NLM4zje zk4rL5?y8DYfyLNfAJ3Mje)1&eeX1%>vx~B%s6U>}im_-3TB|Dt*oC=LNMA!Jo$v$- zt12ns(3T0P-CtX=Fk2lLJPF^S&)ixBZw*kdyAeiDXWbY3qpmB^E%c%&M~j>Q55PXd zBRav|MsO|JE#ECh(!Td?HOk%qAal9&z6YiE`LVgX6V0O)gzl=Suc`orrR%L1KBJ<8 z>yq=ONdd6xtxL4X0+6&Bl6K*(qwCG`b>IFDa~=@X1;?^5xLn>gXe;KLT?8ZrLpBdo z&H_|-ut#VM#pntgf1q*{0J`PvkI@iO U9PeKGeMRsS`zpk-Np>x0 lQOP)z@JQ>Zt@@f+g!O(lVkv3dYFp-l>-4+Moa3y;C`k y(NgApzK2C^;vUb}M~xD3q{2qFUTNjGBl z@-;p} uJIdYl0e+|F(Rtb{fA z6Bct`d4D71iVKkh^2{a}z3VK0oqMa{e>&;I1fr Z8$H4? 1Bb}?H*R@t*THxEO2I|ZQ1F1dEH6(6zJuRr!2#->pUGAab@sHyuaqE z;G?0%S>uAMLyNPg1}(U9cPllzoFgPy^Z~bsg#B95@D^S7LYCBv-7l}FDPtvR4I6R$ z?f`0H_DV@ifs`Pz|3N>-SMy xq6{Q`;{qYSFvn)Vu2f327ax4x3_d>i028%2N za)g8D(?J5?5A*3w|7c?v01Ti^ZR4tgsOV*P0}CujtJ%a3Z0QYl?Sm5)J$NHY&Ffaa zVdcMN LR5W-B@^URbq5JSgCurKqlD7f_}!>oj=$GeDr; z8qgvK!8PP{pn`+HJ9tKDvlzD){tyMB&9@@AuU7dM9u8DU|I#9jY!dWFE2WPmHsFyO zaGWvC?Q`6ZNJJ2_aW=k|Ui`N^@c??3ohpNc%KQf(ka;t{5! l^tT9Z1P8|x+ud<=eJ{s!FvtbQ>IYnXWEBb-G)M bxYy(^v~QBI4dF?W>=$i4Zy(~j9KB!Xz|!MTkOF$ z*%H|d5B$Or73=5Y4G$1Ff2l8!nn2B 5Xs^(y&sHiHT zY;OTtv9g+l^(GJ;F;Hhgj=c4y^CJ>v&4zlr(AN}+>?zqBjW&|!fCQ(Y@naG(c{!HL zZfPUk?KBgj1Yt92JK-!5ftkgZ@R=7n>o?ruweC_g9&q~@TFc3XKtJqQD&}Nry@+6i zHJL>Iob?o)SFyz5gs)9@m~sxdoWlw*j^|EE#nKhcw|)VSe48#76xza}$`#ZYidQtU zNCFtj+` KH^57(rVT)5Dy(1riG8d zPa$+m1?dlk4xP8?0bEsq&om-yZ8bGx;Wrxj0D0~dq#s0fl@gmro W7 !g@>YHS|Fysoj~HyeB1z&wlf+Blwg$?vuR;v@6&whjL3Q- zM8;T^0jtYad14y+S9n2(V-dzRSnK#Z0YuGe={Ycyu z1J{caSz~F4HH50?fg4Sjf%=b2@p}8olBeDF(>?NZ*nYZ`Pg|x|5PlWT@fqsPeX|7I z6U+d(iLA8ZCY#oa 9X_!2%v!71I6U;-c;rcMxai9@3!B(}J 27%(MpN6qLngIL@PPXLnfzp_>zf5OuQwY0eyFj-zbsQrKrsF@U$P&!PhXhidFW# zm35fnoJOTMuTd$^(o~8wHI-^cd&X|D$`(SB6ql{wCEKhmoQfRYoQqt(D
CW-vM9)wvZ0>1lGwhPLYWsoSUK3J$9Jrp55o?!b8} zkrm*qPY!ipAmm84ZIv3Nd#=WJ(5EhYphDsh3+zfy+m*(#lAZS+@)VBbZ!%_qGDbL9 z3mmMxxP=L>9dP`zA2pGYu@f082uQw3O<=uXqpaSGs71=o;SO?%^3W#gBx_OLfe@wc z4RriHGBx}C^Fpzvx%x}LY{+uq*55 i*&{QFgH~(`Hyri59GCLo>5fd6eXWVEY}01#dl+c zcCI0~xrh$4jUq>`52YK{q+lj^KnxO*-T%R#0>CRl;TSBbwYN%!1c5P@zHyrBE6YX# zYr3zzkA;5rm2BFU{&08IS5CW*(J!Yx1giE5YAWvnsKLXEbF>v(K|yHCVmxC>_9Z-+ z_s_utem$X^TFAs~k2h_sEi$mcKiq&}gHuy0(t09{DAK}Du(xU~X9V(uaOl!9Jn_d- z@v0>>*EX)11+ch68kl9?PkXMY?>m}3Qg+<5@U5&=Q%ORqA_oDo_%!Wd%-`xlpLw*% zDwN{n$k_h*;E?^*g(#aBHL)BewJ8TWFV`e+u!bBMR~N*__h;4U_< 5n8p02dHu1LhHwxiVT)6Up+I9j7u zU_PUUM;@{ee+XS;7K;6fPi)heO<-x$sJr4QBfxJdrZji_6m?82Wg#*XN`9y&M0K1D zP`un nuuA!nh)-J`aP1h!2?=^L4cMW4SodY|k(pb6E*< zp%eT5xYVtjS#S=*1C9rkt!IcGJO`X(L#;v<95zevs6DU)!qlufr3Vk=MV!*1Se`?5 zs>UN(-kc_cjzXe>wre +7ph@;AW CJJnFK#TKgOqu%$mHGv^sLzO{`lmdxm-lD ze4ykGPUSj`LX;~*5G73JlM-9Z>yg2~*m8!v{EIDTxXV9aR*WgRjUSfE;^n7`DB}e+ zI~6m$L$UcSSd51ASSY2`zPzOiJNgnY5Ht(}OQWNqomhx=L`@&tjvm;A9#lSozrZYp z^q?=pkPzNbx%j!fQg7zQwfSetr?5@l@Q|^Kl)QhWGQAZ%MgdpyN6h|h^C4Vx%voJi zGidxqJzQ}76udYRgoZZBG%sMUCbCFvhpIi6yKsmYRAg>)+dCkE6Sy9)VT~Shb&OBx zmYA6%G_lIp8MU*%LNT1ik|7+XWD_uOr&?tz+<`Sm?86tSz;fEME94#;CvNQZ^vG%j zRqjoEwUyfnI70w;%brB>U-2E8H7!8`S}p^R?I 3H@O|7VZDY?llmi7Hf}4ZCF 5wHRa+-L%uA($WcYzn4@00d&JL@+_*bM;q9tV^p30}q`R9uNjN+$|l q3V83zzH`XC5lDmEUOuxCV$_|xyn!-S)eicu0M8Hk(MEHUr&Io@<9v}CN> zO pY zbdzR;Ky!*oVmo=Shpd!9%<)R*tvO>^3ms(Bg^-V|=TH!_6 0L;q@4C^V@9@p21Ji)}2Jfr#%CNA?C) ?7*-Rc>eheBr#AibY@>EDQrZJg!wJM9A*6v7lo6LP zrNFd^%ebtsSxa2TGQ4Y>xbO=xW;JmcQ@o}{T*hS{vzEw=i%fxIjO%Sy3(_h1x^VB- zpCyMLy_S4qQuHqd-tB`-a|1P*T}fj+ehrN=Gd9&Wj`ONBJ)-8+;JWK{ancfkskvsZ z79NI8A-n|zCR9QR^3Y7mRYIkhVmhv}?n;c!wl9zT0+KK{&^GCTuByOy)Y4bmF8Qx8 zWifD?S?WMqKR^6m13nTjVM9CRUyRCObUJH>IP78UMrui#kR{b3o4TXQDc^{L=r6L)LQl#Hw!k%gFqwa#|A>3y)wuovg5F_Mmi zb;wA%a^)iUqeHMP55Ae^|2#W-u_>NJj#f>^r$g~n=4{QGZnK&m872cM4PcgCLfSqY zpz^NI$ot05o0E~(8*Njr5HN1aDEkZH(sGEhy(GY+KwiNuiG-UBrcEqN7!OzB(=oC8 znA4iGl3(pi>`{<}f`^=fl!=W~1#6swlvSOLg2YOm9#3nRyX(d(o)vXuHI_MBbL``p z8KdZzSQVkHxUEc5D67BNdE9z-@_uFKP0Yw+y+luix}yFOlpvO>XrOJ0iHng{O8yv+ zQQ|Sjc#RUi>A)!QX&cAn%{5B$u!7p7s-y=@_8A*;+TyPSd=xzApoGO=jI6m8TUfU( zdtqnn>Zl}Gm|L-lHC1*m;=aerKbP0inm_rwN2Gphw|K3WiNE00!@2D+bzWx?qIdTIa| zS;aLn?E$VgF7=IE$&FWS#r=3n56L6oOsv%#IY4uPkFF^-FjwI`0_2i-2QPDA_m+8> zDf6)8Q)v+2p`)}1!4O Q{BJYBr z_|!q$t$9t1j`jG!15uCWZ{cfD-a-w|$r(&>#{^3G g{fT zrj3U=>}VUOcoV}&AOt>;B+$%c-iM6APR9ACK#HSjA`!-`^-b9acUy~l$0AGd1R^tH zR|`AU)l-peTKwce>vS-6AGCqBiYDXxx0^akn5qj1w;uDFk}47e!G=UDh;mes8quCZ zd;9zh=?o45S+h`4yv0ODPcpqpJW7SP 96X)o5>NPr6e5+061T>jX|_=cuKPSV7> z`=$@mL^Uyo#P#skvGI8b-tWN_k6(#Fv~8IH9T?piA?0%fB4ost
{%1*IC9>CY%;bOCzaK_N!xg}H}L>aYyq;i!X1Z=ugzKkw%vZ)OU3txU? 6GcMG5^kRGr{8H<4w&NcdAs zK;~A=^0xhucn?YANJW%IjHTo^ZP8m4K=zqoFmb0u@dktfy4elTDG75?a6%A^XsfUW zX^E#pj_VI#J2im+_Mm!w&R=oO6}M(TlYKMw_Bgy3jw(yy xb@HlwZ{y?=3W1SQgwDb-PGv#UcJ?)1m@a&05@#w=i;j zbyaw6YyXRVp{f%6E+T%kDfw5_g9BJ}CTpF|T0UPBYoWSb(P@#T*Jq=}qik`CYtaMx zm)VQ&WyK!87S+O+YLRN4<+RSmPYxO_iK*xW-1n7R{pxq!c#F~*b|?=os>o64ZK>a- z&*#`9Z!U%iAn2(7TmI|^w&08LzCP 9_57FCL`WS~xqEa{_bnTnlHT zEnFDd1{+zZev6GO`rO9md*Z-R4wg~_H!+3T{&89u>a}mfwEjd3Z|2kA2q&=!wDJwK zci`JN0s2VXVCT%hx3!!{mFnYNa$LL7q*KLS_6p?g!P9sTe5U*kg0|%{x3P6V9l+{! zAuU1>`rcFO_vY#!U)=e1J(`s`4OtzlT_kz -O~4Vs^8l~zoGf!`Wu>kUCWx& zSoQ(SKD;|Bu?Y228jgV}^d-3}o2lf}P{~%Z^dxGR??wxZ!cbslRdq76>Ra*NV>d6S z2L{SUB;HNNTX0@0f1Tx9gi0u6CD<~4g`)?I{{y3yDzqW;r!vuN*wwX~6SSJ~ZW&FD zUg$yvh1<|)ic0eWy)4h=S`FqTqwV7S`vD0*MQuY8Ds7nfWyJ#J#BhTJi*~IXAmJbF zP_4gOPxVUShSrZzNDrtsL_48S!Uy=Ek^o #Q>Msfl~M5?exO~+Jo8ieBY0(b z`C@yA^wo;=`zdj-$rnF;GG3bFZ^1~%7~2eaFtQo`W|H-ymx0`0c+0}PH;?(HaU2iM zE^EQ0_poX9Xu%u0Jr(EjooUUO#TgZBjItk8*}26PG^R}igWMzM4zFOXKNBFH+sxGp z!t!&m<%xe4#G!*0y}TtqSgkkuWbaLSfZjZnLkG;y{}kTrh09TRmxbPtWt6SO%O~i~ zOP?`UDB^J&^eL^T2TzBVB2mJ=(76GRNaM}$c}_YT;b-Rt)4#5eh4ksA>ji3#QMO5- z<{G7VH3<-Q;!Q3>z0zZp#TD2b8*Ch4b8WCpcM`Cywt}1!cwDdd8l{Z_yt7e;`*0w+ zi-B8l1m2Y^#RA-GltGZBnZYvYY(|>#vXf@WENOEE#Yo`IdcDsm#U4E5(GBN!1^99J zwQB*c8U7{(9LHr_6!2~~aOkn*I2$ *8T|k zoml%5h@QmSpTdBk)tqne@C6cM#K@y~L|Tm8PK%K dPOCO3YbKi4U|Gq z1XR?3s5_9_Kq*9O;eEfqGc(yB;Ol#j580V>=A7TZ^E>~3=bYaWg>OL+=S4-~op(`q zzDollI?s^amTlmiDG7(pqe6jj==?gtIM|3b10#AW+)2Mju^>7h-U9|i h^t_r6@wOB6NBh{f(s)KP@TeI4M#tM (qtY-OU6tq$sv(ik0_ifUS34ipIvM&@Ae2pZsDVQN zR2_ TuX1lg#6B>AHK{sk=;gmUFPf4;N8zClmm8bwT3Kg^oGU$+UXAm2 z!dCvs^eZGQ-VF>S)Lc(ooGh(DC>1~A#y9cJOp pRF$#F6Bm?kBmtr=g3O`e2f zT1=ZYagZP5RP#~wl`f8Y5Dh02RpOJ%6xjZ5e~*Gvoo&@;lS~kX*CEbpkfO8EbKpED zjtTPEcoX47U)BXcmMN5#G?8wtaXN}X7b^U9>xC&m)Z*}OflCa9wWC`6oqz}<7$fz< z5*Ov~`5!+;6y!z_)1r4oqP`We_M4nC#6Lk4a`>$0{;(Scjiwz;(iEhkH0|emH$09Q z@wIqO$=N?9M!lf{#k3erfNwv|yQnZlQck8DKnw021CZF-k-!XMOQABlVDr}roUw?n z6S(S)srja_CrQC5&oy#29k M$niVgmYh{%EoC%Oa_&MNY4Mi^9$DS^{h)6+ehA4jwCH>I8#}j zh{mS+Ha|VL;fjv>O&|~RBv`HpjYVuGg-Vf42kC`uDgYFXUHE-oRGpm&f52yM0(-F> zC)E%ZN{sF)l~CP`*~oaT?c_B$F8dILK}))FF-bKylca}byc3KA7LE*d$Oj>mm^b}5 zFdv2;IdK3A({g+W?4Rfv67_?=N Cxj-c?HTo0Xn|zr0Ti4baEl>30c(ba zol )#)W3`xY6W9f{vW}Kuc)EwPRil-2&n|t z^x|CMm$Kr3rj9STq5>Bf;F2s1H7a@Sh*62+Cs`QyVT54_p{#M)z^wF-nw9+F3Z+ zqLgDzY`RhLr3sfJQ%zvBMpfaymGuwEYJV9yxNVve_jgMkwMJv14(M&Us;QXsj{Pw- z(Rz$ZV-JSbno^Zx8=PABAle-4R*}v^zFf8F%iv0ja~Rtzog}NE6?~*mNhzu1j5FzI z#ApyPR`C8Pvm)ETEm0M`C8}3q;uY1Jo`r++ke(sZ!?6>}8tbx 5;x*4TruO3#)3>Pu?J`NS8YGz(n MV!UvKuwXV`*bAR`qs-Wmwk;+Dgti!m3j^9>96VI3(aH=e zgIGl2rXN>>!qr_(7D}^@NweyhGU2=vMxu_tqq0yVN)AVNE1SUo6%1cr7~-dDcshR~ zMopY+(?-jS1M0at%oaM*ZB5L=+`9|Q6l8p6UEBC`XByExGYttF-4~yLl5X$Oo`0C~ zFdy}Ga=enWV5T7v+VhW7Jmzx}KYDsY)=WcULXkb#fk27PY-!et+xa`wkci?|q!DZ! zpN6}~=E{tyy98v2r(}KOaMw;S1KNTy3rkuYie3y3;NKJ$J6wbn&4#0g^Vl$Dgj=8r zh^8Ynu`{Uizt^H!dFkid&uS+%4hBc?4?yu6Xe8k^WRVQSE$A0xlt4Ei5bgPHh z?o(AgD)fmw&>97q-yQLchgXhwfd|i9e&hF**6xo!?w-B$MzT5SSY?*4c$1}PpM$iR z)26KF+IQi#{YC2R!JO^s%W Ixh77I`_59qrV^PzzXT>T1(| zly-ETYpC()9g*&+kde1(jsTV3EfKJbvZ<}fIVP5BEl%q*^h~Dc`v=@N+j{ht9B_qI zyYA2cjAOJlnALTftDp5@`75;gA>VKrox@I!*-U8lPkmTj#M~pax{hW_SVe<;&5_rB ze1&un+n=xC1Fr*Mgu-kH*GXh!5;S1WW0=Rmc35N_w_Xz5wVc^mIha*s6$5{B%SRAJ zXJ~vQtJ~&inkyS4MBj|#ige4AjMbf14ro3#7iM0}xxJ>}(bfUcca2?k9#k-W5fsio z=xUw1x(s~?Jn@}dya_``&EGn6dn?VlTch3D^R2G^leRr qM&5TB9PwXd zR^;nxx)aGZ{d%+b6>;Y^cLK+zSMc> >d3B%^F`UBQ(`DRRb@AXa$ZSaX|QFtB>yR?Vq7u;|vAAqBR}puRelQ zPFHAF%7qtuv518RB<^fLnAn4q{s&x)SU}OynFbNbq0U}xfu>#H9(6%;_o)c)0zyB$ zv1J?g=Gv1WSf%~$IY->@QgbOu=Q3TAum%Js(d#RZ56M~~i2gC+{c}Kon58LW(hfua zwEWU(xwADBoj@=*(O<8~=ghXPzt5ZBvY|tDnvri^=P$iJclH;|{@R*+Xl*bXRt6{! zR&c8Fv#2&RS=n6uVTs_X!EAF*zIA<|^oHEo6(+PcI2INT6YB~ShtiM~fat &tK(&b|P5gGBNz( zjZ6&e^~>QTqMU8CdwFN7T&kDq`9C`a%d1@V#@ZTRBD@Vgo&8$F3IK%1PS&X9c$F(R zaMGpRh%~bmG+LVv^p73)*L+J`@I1c9j$>cvHhBrCE2qs!b8}}_0t RBGxZn5ssbYgKGS;8oSGzCt204IpF|=v40NDpO?aDVomoBH$bW__SdnJr zWcq_ki;n{Itn)#x6-;7O2&=;IR8VB1Z!BkNSivUHhB5Ie@$AQ|fguQwwWz_*0 iuHnJYof5Qfx UCl<0{ZpE_2h?45& z=vM3`5~^ YjF+slM_z#J#d$<)`#nAywtJU3B4%PrRqHD)>9A |r9Aj5bmID>Bcan+aZxWl1MbTyZca&nW!BO;*jgQU z4rx;T8Aff$=4^vaAE2>mUI$lk>^0>UHnt7u!|FHH3~^h*vYi3nrdQn1_?w+R>XcNk zzn+ FZI7dOui1~-)R=6`$_QUYRy$y!GREC$p li!+is*mitONwD@X(!Cdy>&%_cBrP-rD5WGyQ->Bpm#D*dn7~Tfr#i52d8J8JG zFF{W=z`Qw#mEAm9&~@=6VijF-DmOK>PTdcTxV1H=>{y_W4cbKj2QNW#D~vUVzM(u! zhj*w?x3ZcjvOClFK*x|?E*G$K@dfNfAIC6mkbe9&IKMvrm8jwI_zV(5zwI;?^MPz` ztSLqoq0_x>O! cltlrN@8Y1(@|R7c>nUj?lOEq}>~3Y~ e^oeH| zqZQ7-;aVtN1M?FGo!2PhvTDAE8MN?l7}Wm 9E7bj};m9yg?LxA;+F1-+ej# zJLcPjXsINec{@o|NnZ;P)V6K-u0|a)f4lMWKD8L_GnRfaK5B-$ nGaO!b_4eyq2i<5jEYMn!j>#oR`rjm0Nv^1SP&xf ze^VNYM5yX-D5=U>GE{Y1Qse9JNvisIc-Z}JMpaLy`6aoQzqGQd%6lu4= YJNa1CdT97VWL;z zAu5?!I$uqp3MM+FOmFOwN^eM|cM}3L20vH9lS@t+>OAY}Q3zkv`Txm85|`{=op%AS zpur36`y>a|b?I#|Y{pXv5!%o2O%aWn? =P=lF3dlB}AnOCs52(;wF4oBN??_ zOO0pL?ZuWV+zVmYF{kF&wcdq^kuek#QP#~FL0mk^BWzQ%jTt$dqt3`RbB!7K&P*5+ zSYyTrvwVb6Rlwm4{luuz%w)_B&B}Z(L04iR+QBI)4*bC=i2)y+<#3xHMh0INbm7ia zxC=aDDzt^8qr_Hk1j6|UW}F;a;QTqfVRjqGo%ssq#wZ-NIU8b+E%hDy2*=EKakf}7 z9DBiWA8STpcm9Rh4W~;ewru9X6P6KCT(;rq*S4UsLHRqwwAUfHGbQ~6l5(nBF}!#F zM5Zwv%PRG&>jA)NX+lX>#qj7B zQPPZ=m>Mkp4O9qgs;KrO_yVe*uVmNU;Jm@bn~Zjcf|9n`hrB>9$C%khm7yPf`Z9 #JqW#8uqc8CO-6O9nuonMFr ztBQQJ@3Zq7oKNEGV8r9d5?^!WHM`}&c}%V0P*cl+U|lQ08F{G+vH4`Ip^r)T{|cIJ zu}Z{hanpGj%uZ06;WW-;@3ra2Z>|ZeJ$IYIY!6+t^usXM;!XBL&)Uo>u^N(|lDFi= z3*!f;89m4LwH)XNFU$DfvM;M>7qs(JAP1e-3-ZDYkZ#GBb0!bNd2MH}7d`30>3`yg zQI!u 0cME zx ;-F^_dhCM*~fgp?ELVw5h z9&0j|v--_>{a}k~Lq^e10^OSj-dw|#(#EUNu=Va9E|(@h3t;bX?6_!7NSxC`JWW(8 z;|g|sU@EfX1y+ABeQfU!tGoDamE{$MJ3h~CCfIqlL&^&K1RWUbk v{^MKwzlBc_!^x|+n!s$8b~+w zbmE7oDH2jPNBfx_7}d-x@ ;zUh)Ak1CL(vOXzVsfDbb|h|Ljpm!R!;NT%f!bP|9h*PO zS96bf!x(HY|DoAPF`AE4gvPFcspxl|YZacMyA8I*pbxEGCp{fHm&aW;2fU_Y8_KFE zk4sSHOBb-LYR+dXVCjpnGlm2%gE ~Nq!?75~mAu`2LR-l2TeeN-mMls{N`0MS50f1hcK3Ox2irv8a zi;gJ1jEr%4E}g#gRkr78$1OS*oE#CwdH%t~BFDXOKM#-3ppBw3qg(=!-9UeevH4Gv z%*qMSyt-DNNs}(`Xn8j5!Cd-;oWvYPQwJ$voo4Be **{0JzFm#&2m5-@=jMG) z@5$Hd8$s<+EXLN%MDMD1VtWrq2vSeg=&~Q|PXhJ!?Gzif5vS!4h~A^A2?@q596q3L zW MO$eRBASSptL&2 zsw$TY6S!Psf3%AeFV}ZrxD{Ip0io{0lgMGzj(`Q@_z3M6%|>{5Dl996Y{p~>-D;2` z;?)ZRX*nQ4f*4BkkQ0%xy}TX =O7294Gg*JCOJ=uIzku$liY)nlZ;f?XXbPNVK(+ zbq^O5BBZQH4_fM!%b~J!YWgK$PsZ?222dEsb>Wbkm>Lx&!2Q<^0nZj dbAc z0+uzT7u_B6h|VSMFvdo`#JQLcE+v_$4H<0go{xGn9okRJs!RKG$j;GR8K_`=;95XI z`s77fKK-TNPYL(}HCJ&S4ONmlD?@&QmV-jirKX}Jkb5&qqD^nR9b3_4s0}+u11cE$ zSKcVn3->pGYe6RkoZDtt&;18763l;r2nxs2k74sM3+6{4w-1!Mt^%y6rN09}ralM+ z!d^s6(S$Qo*>r^FUw|J;DslGBe3ThM<38A8>NXM}$prVJYgvFDd+B%I05df?Fz{fq z H;FbUEN#`fmmR zf4mcii(%8|ulX8dtUY{>r@<`@?R>YyOlIxIyG{F Ol3eq4!AJtY_|06_|ju8nLEGgE?~u0hlQAxxfJtqw}cG z62bk+LGvLyLMPE-Cc@%0AWf)5bgMFQ88Gs)f*RHiQ2YY2pEPzc0=Ky$!kXegQTOpl zbX8j8Q(#s)H=tY&Xm%12Qh7+dCzBkZQ~0MOs`H6*ekMyEqk9+l)$LYw8(H?E4e0o= zOtgWPLNCtKkh_2>U5q_t4!ci5sZ(*fMTK~MR E?Ow9NVYKwTX z0++I6p;#;?f-d1V6>rBcB}6>;!0rx}LX3$z&6_=d_2HjVeiqYNK?A-JOiS+kn4awq zs8YmG(~6}19omNaY!Mw*$|80O?R)^$1&treGKegZfM&e|xVm6N <6BUc`rpZSd?g~Z4gE!pk_^zWxdfn4XjpnESx@?- zZ`+pw3r*11Laed%ETsZ1{v8DVPfGH4NNyLia(PN-e+fbBQ7MrmOT?64VjoII^gJjn zsFDpGQ^CCzzsF(p7i(1u^dw?o%yy%nzXHU!DzU|z=iR8S!7^|2geCnt0lntm)u~)j zh?*;`poPpnD?i(s{(3qveH1i#0gI!gJG$Gd@Z;tpsDP@zaZ+dh4L_{HUVKI^)rAX{ z?s5<*rijd>C}Zl4sShMmD61c$&$8Jkpikp?lDo3lY8y<2Td>*!#joP1A87C$#7=}G zatxV=&$3FwM{2$uoA=N2qv_bZ6W@yN!$1mgv%hW4L$$6tS@xxx5^f~qps>p^krhKS z7~1rUT~ivpTn~5gz+6c *s)88p~9{_C#m zp>IPInx6A{wp@ Z)lnE zHqwiu%Y6Q8YdB{TCq4}mrtsJR6W!${x(%OzbbhMgcJJ*D@9j?KO)X!XowDt#0~om9 z4#?yzuqNQEYa3CH5Y&aMANFtN`ZI4@I~{k}8 $$(%sY*b z)&`*fGdIfKYRCr%q-Qv{Wi?E2LW2+zy0~S`eh4)kMgiohMjp<3km2K>Kr7Ji-tn9o z*Pa&ReSI(v>Vxqqj2C(_F6HQfk`Rn?o &5@y>GE z7mq3yHTpMCkvabb2Va7roAXwgoCq*PZiBorh|uErcrtwnLlg4o`Tq}2HLZWk&E+^% zK&vC}mUh9%5333>nYsZf5(%&Lw!Z>cmX0bbQI%(ckOTyq13G9rN6-KSqRXZ7wUuYX z>N*fs*Fo+Xdi!-G *Lc?NOTbMJi@gh8 UO^pdWiSF+{96tlsqr{y8>V zL-hFak?jHy=cWe&ahtyVJFrz+dc?uM;|-7ug!6Dvr1)t1O3ake*5~Ob0yQ{F>`z}J z5jB6M76D{>-P3{ITPL5#2#*GioggqVH5 ARk_C?(bC}j$y2S7c! zUBSUbP}=RZpLoWy5+EZckLNQDZB|HkWR-Ax^9 %+($qmE5p391ojOakYfZf)&e8uPV~eLZCiF+X&Y!Iap^~} zs-d!gZ#m&HCOr-iWlt%l@iZ{Q>dRb!)dLF-_-6kK1>aBMvKjpt`)uTdx~${b-}AVD zAs6ZB*cjr=#{*WpOzR&xg1wygZNjFcx{i_PI_?M8z4ZJl?^Jre;LvmD>FN1lUwSz5 zW~u63iXKt`ddP(sbSVhRm`_r)Kv5)P4>sYX=mQM5dMU~!MW|O04|Z8c^Rb)z0!v^1 zv69lOJ4H%r!Vd9#1?GhGHvGtX762+Sm4Ym`CVJN>C6zPLL`*D5kmauQq56$UKZKKU zpQd7*L&cO+s91qEKmGMjQPBj({_m)8?0BA@t6>)f_y;Ax{* V~M2rC)fguUh`&FRT_26>GAc=g=tnIU@atleso0_R_7lqA88yHjwLjl<*^Hq+u`- zxS53-IgWVH_D9eGb@K{W4r|y0`cPL)1ibw>njgD=ps%L)u3MIaj zK|&0CqpJ$b%*W6rTlyUiErSKYaLN+jzHxdgmSKB|r9a^$y2PR46DURo6|Rlck$3^| zqqr#X^ev9W$2cI~d+qcRe-GwZO8h3!_-TnJQ68cX${NgsKdwYQ C zS9}~K;9Vn~oq%5r{swy2BXiM;vV9B#ywP^CubD%%a&)%yuJ*++kEs7Iu!>2^g;Z3j zElB)H1-5Q{Gzh0#WLLCnLC!)_!g?E@`8>pDTgwOBzY~N(QX-q3k2~-j*p~U_DSqKD zYr;F$=EHJpO{C?c{&gR)cVkL;D;5}YGgI<|i~0Kw@Hu?;0si&OEG-{pDWG**InyA7 zAr9z^GSfkZ?id?-h28HsqI`_SJPfI3#+&b-H}ki?=9=qLFtuR?X=8y_-ytu#TKxBT zX-N;%I|tx6s5P-67bii9XaErb#M*N8tU(itqoU6IF*U%C@3GorzG$__7*apvq^^?G z?!gk}Ee%fM`eF&^u%GB1+E*hpT)@fkdk_Of7eP}0Wa$58d{0f1zJ)j?GjI+?wA_CN zmuY DsYiI;3@Y2JGHr?^36nh}(|2(d#)tifO zD4^AUa4&!M^hS?X(VH<@=Z+6`xEkjH%^(g4)dz@b#f0dJ73I ghHLQ7byhe0|Ks@!!0To1 z%LW$My6po{h2F@osz`2u>y0c{ku*^EMut@6@B2hvt|HwPL}`oAdPH;Sr!N49gvNIC zHi5}GC5LJ*z(QTnSJY7&&etZ%kV)=`p)F2-QdSh4^%19KZh&c!n;m3{fSsN A@Veh}zXleO4fc>N;+M4Mle(bp!*ul3f*?h*gK+C@213UB&1{jB4OTSQn z@*7>9|02rv R`iTRSh_}Rza3?W-=;l)%Ok9AgQBRLOjCs0C4vaWBY4AIC3m< z `1;nCo`BIBh~yL>MSF4NOIZVZ&;Z|kB)hKq2(X=O`710{)LH#RF#5Kx zj++S|=taxYx1uGH@zM^Ayg3ntFQD3dXTGN GFe*oS3FqSEQU@1deg%;3z73fU6~8(z zzdvT;CE7e_CH!5Xq}$r3u^Jr_|%3yAlR!XGOQ9AvejXNRMkj)$3qsZ=|&;kIqxelR|Zjo zurlpf8l*g@)An53i5(G5pi!TfjV KRsM=(jNewG@q38;iMk6QcN6#lz-w=OIibfWL40`=4AV$WV3Ua z8fO_4pDTuI_0t(MBS%g1wM813uokdqrZ DEbo0)s@Z(;Fv{1OaD_XOq?IK)mBVzU!cQldo)&j`fp;XN6$+lv7;4nCBG zcSnC`KYxlK+X?s6b>#}sVce5*=IW9PbF|>I=YfUZf>n3yC_;V$hV3hWuI@Pd!Fivn zJ3ymMD42Ya+;JpbhUEk{}Z4Vt?RRfDduUqxQ*62<6xMvnFDh~|K= SvtBc zkR&1_S;oXLP~C$LQCn~~bjNBCNr0d4BBZU!gEvAR VfWjME1be?Qq|NtR_xN$RHu^T+i>-UItjbQFwGDS1 z{1X|xzW|2|jO1jXv2w04tSNXg*5?xI)ZP+pmXqZt8P7?iiad& z%X%tB*@#do93%NwWQ&ocb@`JQIF>JNHrF%sx8LKUCp=54W196nh{KG=jOfx-JRgzF zmkQUbM}m*yqp9#h6<(|!OVooqA~0O4A6=U;YB!qUdLx`L!wa>i@vsQX%5OKrOSGqP za(}V*^frIH9|w{GaAu5rIOuGyCy(&33sK@aB)k{#d~vwhR3fNdn&9v#+ 6S+w8v;II; Diy(Ou+~URGL}A>3zdNDcKf&K3{QVMt ztMMm#QD7vcpFt~jeXec?%z637`dfgI9*g3);l `pxzem% zZQzDQ>n=o?;k7soo{HazcV^UU*JaI{Xhv3vqd+*PP4bKXFt&~F8oi$HTH*x85XSbR zLt5f5cq>9Vyn|=SHtpf5Xf8{3X%A1v(-fHS QhV+HiqK*`qmf3Zg}B`WU&IE^vNycbRSc}CM1B(6Jg08P5q z_z#SB;0oM`mm`u}E)F0f6`zO@g~h{>ofqoq-21QK7~|N~EbgATjJ$@Iv)ZjV7pctf za*W`6R$x^JM=g2UQ4g;u!U{n2eLa<{3p6~4!f!Sac8L%%f0_Lgpexy~UEgNYQ<`48 zuzPM$zk4AXry8aXFV(|OVCb;4B+2$bTNI((tD6m}y=HWyeZeQ-Fn&KiqM1PN*{bOe zLUEjRc~hFKL>(I`)i8<82H*(}=U-sOao>l-mSa~TuhS2s_qh+^1EgG}RUN7+?}SkS z7>p;33cyhB!xI$&yOKheO5l++L`Ef|@@5nDCDEWrV#&HBsdq(^dKZ%31cwleraeqw zR(g1$-+o7AwYXbbxPxzZFZSC!d8yYfMk;RP)x(HdD^W|3>VG8F62JW 2qqs$4i6*I14V7DE@!wj#`n|Y>C*;_Cy#~c?E3^DQDj#U$0wH5y*yAD|M zIgV#qKH+*)<|Dn%T8fce#pa9_t-Ba3$z~3LsXV&OL?U|{JElCF$32g|X`c^CAA7^j z;p1KVAEYW?2614wOyYGUscQu~KZX|ilL#4kHcx~aL+l?OCH>0`zr7M~#>b $?0`f~ie zhd&cFvkvKg0(;d{c>WoGgD^Jz8vdr^???FSk2e2zXyXg;{5AfDVl=rDuy_?+5%M)) zqw+R{O~5`U58GV_10Vjr03+^A`1^PKJ%PV={GErim!Q?$3|cP+?(z6Lg1;*et^hr- zuljDnvk7po2aKbDI{|P9gZ`WG_jQCHA}$P^$|1PrB`FN)kN|X}o~JbZdIYpJ8jn_S zY=}eUlf>0AUu109QW{;ZE#US|v`{J=2G{gOudNx1NrF41tdeXPTUMzdrLnbWCr&NZ zQ -M3vVmNF^uS8?vr(=|U_d1k7X4%CjvUb5=--N(}+1M}*TMvf$fqADC zW<2C18ylFF4bv%;!F|!J9GjC$*bou}T=>}7E+bt=fVX$jhp8X9!p~{|qKdw#^#k zq)*Md8UBA9n#DU26f1T=T})n%DT~N(C>#~nA4T~X9T$^TP;OL>b<@Q;5oAYFkyDbI z^{i6_vwxcy#zFMWGN8U$2GlpBt5d>}R!VLs=#Rd%MXSG8iE}&dc&*zj;%o; oeq51AJ(xOH--o?Iow3@-L3=3-C@4r(TB9SK*yA3neaVO6 zHhPo=|KLohegJW9q5-4_;kDq;H_*WfcPg=Yl)*^0$G!5oRESVYw~ W_Y8gbUP3}yV6 vFIZQyQEv%~p?Ge}^@t4m|)JjjC4M${!0qK8^dJ z52_eJ@aqU91`+vng8Vu`ejSl>MqRxelZpkuMIzk7=2n!SBY1Y9N=4ZVEzBsRRiAUp zD30uzWu#0(?j Jdv;K0WMUKd&Xeb4U%h(IjmZ+iAR>hdnluf?fw>;x!wUr zw=u!Ue47w(HoK6>Xgw;M$f$N5wzn=?h}lX>^>VH8No4nA1aQgE1ee*ESnx5+?s1HL zjg0)9zVvHuxeYOPzV-noQ}F`CNXr5z^RMlLOCt;*q{s6b8Eo5u3+0U7=eHDpq&fB= zd!}5sjU&X52+@Etdk_zxH*|+2ZlhCw6yr9ygYNAWZYD&xzn_9eO!fBz(ejN$D5EL& zQk{!(Ner`X7LTK-Td1fv5_YemUW?$_wV*V*MO$zll9}NxO207x>nGXHHUKNyZfq{C zMb@y;?qo%0xDa7
~F;gqj5igxzb=&M^IaHwzdh4g>l_j`1mqrjq&iT{W}MJ@GPbV zSK5MUK&;3_MVp8~Vp!WGzprf)Hs4LcdX&rbd}iD*6q*R53&+DVkru-F90_;Jd#*H? z=;<)3^dd*IMI7P*x&nZpKD^u`QT--6`=i1N`$z5R?XlW7p^7Jw2r98t0aqimw>Uf- zFFJ~gr?mR_kDyp;-$Lp?s!@{BZtN_6_1ICPMMb}lzCEFNh}R>%hxmg;_2b0-J4G=i z?hN<#sNvpC@&R{R<-v0qFO0-!?*ld3o0F%-hYDqT&|TFJ#;cgYNK`fg?g+=Ps8>VZ zfl?LFF0yi+VC6ap45wDEKGiio&F#D?@C7?idA*WKu_mM5!9y%6G={`@9!j9I!LvIt zsdreM!j4W+&>U8&L&)Y1(>47)gwEdd!;vqt>0g5AP}Y~?ar8n@pm!0pTaq7AnrW}T z`!~mGKSa?qAx0TEp~H`()Y~DY_{|uf3hVCZ*!Ht<+=l2TY1%ZS8g2`rs_jMF;YJFy z%7%Tmg)@4m3S37~-6CaFiBz79E=S;WU9rc&@3Dy#;Eq;}#iaK!24GK=sh?iKreK); z0gI4kN0Ht#^e4U2djz4gOAnL${e%kBE*4F(q{!wNYwd-YhIvF>!W3ahMva3XQ_cFZ zS1HdPd_y(ZMnSv68H-sg&>nje!bL4{lud8<+s_k{M=UnXW)S-kLT4uy!*=@$K!|;{ zx21cCrVVF&S--cNO$V!~Gh>ZkkIzz!_DzzILoG=1=OD{tZxX+-c1Z`1#oUxNxxlDi zad4b#_?le~4bD@Fi**-KXe^hAB3A_TyE|~dU$CThMa?DV94zSr6jp6J)Tk{dt7P+i zYmDOFRJar}lCA$}Oo2ziA3- P|{c;Ja@8j_z17kIN0xSa6HVu zmCfH!djN^j>`mAhXI$x#`US=gQYJmkzEtU8Et`}<_5`ZpQ2SaIvS#<=W0>7Y%@}4E ztH-aH1e#(0m~c1|v+s~Md%T(roXZihX76B6n`d)P*3jf8S0F7WVR`lfiS#H+fWYEc zOHdOZX~o5cGLLSx? &ib;uf;qd8UB{UXEcTORd#L>jJkY7ir0NZd3LIP~6?-_b z*SRC&L4y5kL)en7z^>A_5&IAqJ7xyTyu%kYMX |8I&jg+vdv!w&5?y0(TlLAyIWfV%z(!Ot3*E}!*PZweqfb5@PzwUj`7h-@nh znVpj1i_7+PK-tT7*=G{)FV&YDh-#=knGdwLFeqT?z_r2NIn{Qme%f=buqS?DAcLhpFf@1(f%T|5JRG&R7N*#+iX<(vz6pQ?OfS?l2DzI9JqmudXonqb-ggxy-lzJolOZzyrr5*WYUjYm;*oj;@ zvZP0=?14or{ubh)H{w!`cN2^SiIQek4zktb5F&kCz*8gkqJEK^CFK~LT9v)vJvr*v zKh>W*Sy`WF 3k?e~Dl>h7l#ZplC z@hni3=@D0mTrD<5aoAh@YH>6C?$cjK#bjgJ6f=5+2L}$_kNE Lb! zL7Amc^5fZ19)DTHy$^yY**eFyc(!N@xSV0;!Fkj;YgV}k4=3ZXe{wM~!(msR(y)F$ zAi!sJhz#HV7rr~^7^K{aj;R(0YtTr^oc_$@;|Q)#(biwgdQhDmxHrdoO!82j3b=Ee z6JOHsPfX#@T=?+-0gSUhVMWTTQyey2fZ4 &%Tw<=8k)JkL48ff$7KJ@MCwEOxLXSY1HFH&eswPujJko7**=ep )s0zNa{N!A-3w29E!dVe+qyPz&`8I z`IAu?$##UT=jNj`Hk!8ZU7uf$_jm{2ADv&uG&@w9Z!*npl_tV8Y;%xi8q;*DH1IWr zgW4+1x0z<0N&`mW{zIjiz%(mWn(<7tN~IagG^ PBr(N3#ofhRvN)bSwl#M6`=&66OEi%>kv|r`b@(#XpU5?vNN!?AATiX8liI}8 zKw>H`i6pg&8Ci)Le%^I=g6Nt};WJScaB@{4o#d&)-X6)&pNZK$A#qZWV3UnPfixnH zgbTb1t1APo{67o%9W8tN7q>eU8y(}Z;R73vz#{fFHnDWfIOUYc7YqdsIV`3GsbCo; zNCgWBx6d}QaD-4wG%;}z(omjwLn2Bu5nN=7C=nGP)z4FPz@oqe1O*bT3P>VRFp*zi zGQR^7i3FseVet?RVP2mJljI3d09P=PPr(FmhfbsspoH$gL@Ebn7Gb_Gr41h}#8Zin ziqI^${gN0!5TO0dq=NYn(l~@7kplV eU5Zdu93|!df(}_6F9eYm1aq ya zf%b4-Era78;r*$w`1`}wA__4T-YBvRx5Ji(Zkd~mqPVzzl{I%2h87#m=xQtHG3(}F z@lm-cSq_W1$7uedhd099xK3_~tKArwKN=e*gVA=`l^9-?>)_D&X}Dgyc98Zkj~F0P zVBXIp>HdSSsrX|oP<;{G#xNuvejPV2w2xaDSOo5|D}5)THjS(Q9D|84ZaItWLd<3_ zW;0@NeR=p#UJN!-H;>CsRJXqjj6TPsFK%YX gma54y& zg!*;d__}pwF}BF93(Wta8HNPbnz)5Ly3Ptdh9Q a z0QQhXF5Ok*;vu~m+P55Dt%K1&I09UZvmp?-f$K?eDGshD4R`W-QaA>{MQvb7Z^ap_ z)i^LU2s;l%3b%Q6f@eSJ5tfG-p^{m}M{ztA2XPMT`#!O%d;BQvoGTMkvN~CGCvu~E zkxKe~9Jj~KV?)r)1)XB~I4^p@g6L?zS0hn&X-KbM<*$LehOs<)#_>%fM+YkCjw%+S zh|?9@QOTk?gb`kfAyQq-YD9~VAzpHJa@@o`?Db!om^kbt)!=wuGz~r6Z9Q7VJ~^@& z(lo+PAnJX~ESi9*>V;NW9m4yp=ZZKih$gJ@4G6!B?;J8z*IU6lL$ DBS5$SZy%V|Kt 7I+$s@CpRp_VB#v;rZ}1c#!rCcvgN254O6j z252}^P P$%-?qcRF5%Pl?}`89z0MbI!*07CYe2#sO(#YS8hE zi)PHcKHG#bG?<6mH~rhuzq_Zgr)3T7kZY<(Umtuejnz+V$@csiPsivJB^;~G$5zC9 zF9cV~d< hys?uG+H+{w^>z7@=ZBm 9d4EhFcfD>GR=^`+e``w1)6w0(2EfeAq*$2ju7&V zRLeH(H}3;Fg%c?N8j3Szq0pqz_ mLgzETH#9eZaZ9!Is+=s?NL?$7>YA}VVuAfTB0IIx2(Xl zhbo^EleB_rDKfcSjX47<+7C=Y5{ff@VVuAfS}7}lbju2#JyatITha=uC&;A3)z~wj zqKyJskTDczdXyD_E3{Hp_~M`<(;ljkge_?W)o?QDpc;P$RJ4Pbf&@ZCdX$ximZ%8Q zK}C8zRI(x=X;oR_n~Q3~8Bo#Ig0d1$3Xr}qPT&eHQ4yqricEW`mI+rv2sLmNgAP|^ zg33tJexur8_3pLtXo>j^ ?Do&3gJ}fA;z%`S`=HzV*LwQ z><5YuwQRZ&`~XHslAz@9?r%qr+sg@&gOgt#eB;N4oKaRegp(CWZZ=UYA+cYE#8_Q? zqGc=K5(dTv9&~n;Ji6nS3_f^p#}JU@5V$Kz?|L#HS}%Gb_R7$DQr)r*un8w5zNi%j z_L79*z$U*Q?C}I9Ih6E~Rh2q5tQ!#FP8`3~Fco6Q<%XmbR5am3LLO$ypRgUAWYojC zQuq;yME(p)iBr3d2+no~iwd#U5hp`}Q$-U#%ErS?oP_P*q?|mQtAtOXh&U%OsA>{4 zt4DBdaj>Y6%QZuSQ$-VgNU|%;#7Wq0xj_IPP99B0!$69Na}{1pkzz>dl9BvG@KWc< zoeH^}GbDIbG;xFkgu+g|gzuIqV0(DS6Os617rd*5SBfkob;n5h7$b&o;#DD+dxiwB ziYAVbIOA5>rCiC88gWsM9^NtmD^y9jl6{dabtxzxcRReQkjptkf>TA4en{8DOq_)6 z;G`TqoU4Ub<`7;dFes9wE@cbOJq}J4+K~|woGO~|Az5Tsn2D3H9h{V*hjXof6^h7b zIfEiawo*Crk$nPXt3oc<3<*vZP52?nt}qiPVY_7t0eCpaQOcD9V1A0D9&sOqm(6JI=Co157$HjmmI1r$+Ac=BwEA^!{TiAhzqX{uaW(N3lXFh zlJqbV7hyWMC^HY&I^l~s1XnqOBDIicj}h4erNy1+9&>vH3nB;+azh4%i&zNF!9rF& zEX~4^(7;lg%wVJ|B+3F?19TLAGd!L;1O*}pE+nZHBBCHDw}8N*hoX#9k{rTFGZ~5O z4@rH486GN$AF#4ffN#XQDFB7yOs7yti2#TKZjmvo-miMJiG(IO1o%dwe@{phz`%lo z#m1k|*OHaBf?};YW{zcB50MlEKsoeN3?BVc2-6}LEu6j5t%4ct2sN>agqqlDIXxz6 zDaQ1dVA)$TqXUr4SPP{WM)?qtNE%M
oNiE6XUkT4R1XaRC?oaqV$AqtvklZ>IjVp!3}t6M4{rngj( zP?ZW^%*f(mT({9hQ3+Ebs-%z9%k42J6#^Di3MNVgF+dV$Dz9M3q$jkg1TFam(+-dV zr#&ct+&T(O!jr<3Eh(8m%7vjMLsBkr`I;m&hZFMWVYv+fRWu~GIu@#40ZS^%CDK)_ z3Z)x$1DR1MNKvS6eGzad6vU`P5im}nATgRGr%*_Y _6u42k+X-pn!{9g* z6$&<#24V`6jA4;?V$%pgsftKSJVaATmH<%2fqd}Z8A6Q+uO*fa2g?p@ZUKnF@g0OL zxD?RBBx8tW2ig}vbFh#{56dkCD*yz`9zbHDZ>EBQ8ByJK 87GLrai&0l@Us9dOfrU8RzY@nb+C{< z4@;*oA~dk!x|6|Zd#FhYKf286hnRb?d@K|+3SME7$)Q>3nFz-%3Q*v|zlG$)1v}yI z0U)z>U8uG@RJ$}(yF$7p=0!Q+Q=uY2prITP1L&B^5sCwyJbBP>C%CxaCiMNJKC%jp zRCqD9X_-?H%au>6!IA(4!CV5fFv% l3JS1u1L`a~x?qM*pJQP7)pjHtPSQ11FAyz;MNurRT zoL9rlu(?B6nsLy9pD_u z v}jI6El|P%g4K0{bN(;Lg!F zA%)^hsBnn15ptlD9}jvr0xE|