python3-executing-1.2.0-1.oe24090>    f} ;G|`u` @W6@cyr!3&p'uN,DnW>lqMаX@+#"MNB"vXKrKaxΝiʟ,10޾y?9CY_YlnNڔźJpB8[Ɨ3^d !/Dس s.\(μ֣#|$2OPh' neu1mt%%acL>O3)`3`'4]~jR}@X-J>H4ZPEŴS;Lv\F7 ܌XOngkmW,~Jp{%܉6{1wf8j`t]^<_8fde2d472853d9f407f267d6974d8c1541fbc884feb4683f6b775be94f9f9238322a63fe143f9658b5ecec13600ce6461527cb461*)B0@+O]>=2?2d # jPThlp 0 d   % %4%&&&'0''('((P8(X9(\:(F(G(H),I)X)Y)\)]*@^,b-d.e.f.l.t.u/Hv/w0Lx0y1z1d1t1x1~11Cpython3-executing1.2.01.oe2409Get the currently executing AST node of a frame, and other information [![Build Status](https://github.com/alexmojaki/executing/workflows/Tests/badge.svg?branch=master)](https://github.com/alexmojaki/executing/actions) [![Coverage Status](https://coveralls.io/repos/github/alexmojaki/executing/badge.svg?branch=master)](https://coveralls.io/github/alexmojaki/executing?branch=master) [![Supports Python versions 2.7 and 3.5+, including PyPy](https://img.shields.io/pypi/pyversions/executing.svg)](https://pypi.python.org/pypi/executing) This mini-package lets you get information about what a frame is currently doing, particularly the AST node being executed. * [Usage](#usage) * [Getting the AST node](#getting-the-ast-node) * [Getting the source code of the node](#getting-the-source-code-of-the-node) * [Getting the `__qualname__` of the current function](#getting-the-__qualname__-of-the-current-function) * [The Source class](#the-source-class) * [Installation](#installation) * [How does it work?](#how-does-it-work) * [Is it reliable?](#is-it-reliable) * [Which nodes can it identify?](#which-nodes-can-it-identify) * [Libraries that use this](#libraries-that-use-this) ```python import executing node = executing.Source.executing(frame).node ``` Then `node` will be an AST node (from the `ast` standard library module) or None if the node couldn't be identified (which may happen often and should always be checked). `node` will always be the same instance for multiple calls with frames at the same point of execution. If you have a traceback object, pass it directly to `Source.executing()` rather than the `tb_frame` attribute to get the correct node. For this you will need to separately install the [`asttokens`](https://github.com/gristlabs/asttokens) library, then obtain an `ASTTokens` object: ```python executing.Source.executing(frame).source.asttokens() ``` or: ```python executing.Source.for_frame(frame).asttokens() ``` or use one of the convenience methods: ```python executing.Source.executing(frame).text() executing.Source.executing(frame).text_range() ``` ```python executing.Source.executing(frame).code_qualname() ``` or: ```python executing.Source.for_frame(frame).code_qualname(frame.f_code) ``` Everything goes through the `Source` class. Only one instance of the class is created for each filename. Subclassing it to add more attributes on creation or methods is recommended. The classmethods such as `executing` will respect this. See the source code and docstrings for more detail. pip install executing If you don't like that you can just copy the file `executing.py`, there are no dependencies (but of course you won't get updates). Suppose the frame is executing this line: ```python self.foo(bar.x) ``` and in particular it's currently obtaining the attribute `self.foo`. Looking at the bytecode, specifically `frame.f_code.co_code[frame.f_lasti]`, we can tell that it's loading an attribute, but it's not obvious which one. We can narrow down the statement being executed using `frame.f_lineno` and find the two `ast.Attribute` nodes representing `self.foo` and `bar.x`. How do we find out which one it is, without recreating the entire compiler in Python? The trick is to modify the AST slightly for each candidate expression and observe the changes in the bytecode instructions. We change the AST to this: ```python (self.foo ** 'longuniqueconstant')(bar.x) ``` and compile it, and the bytecode will be almost the same but there will be two new instructions: LOAD_CONST 'longuniqueconstant' BINARY_POWER and just before that will be a `LOAD_ATTR` instruction corresponding to `self.foo`. Seeing that it's in the same position as the original instruction lets us know we've found our match. Yes - if it identifies a node, you can trust that it's identified the correct one. The tests are very thorough - in addition to unit tests which check various situations directly, there are property tests against a large number of files (see the filenames printed in [this build](https://travis-ci.org/alexmojaki/executing/jobs/557970457)) with real code. Specifically, for each file, the tests: 1. Identify as many nodes as possible from all the bytecode instructions in the file, and assert that they are all distinct 2. Find all the nodes that should be identifiable, and assert that they were indeed identified somewhere In other words, it shows that there is a one-to-one mapping between the nodes and the instructions that can be handled. This leaves very little room for a bug to creep in. Furthermore, `executing` checks that the instructions compiled from the modified AST exactly match the original code save for a few small known exceptions. This accounts for all the quirks and optimisations in the interpreter. Currently it works in almost all cases for the following `ast` nodes: - `Call`, e.g. `self.foo(bar)` - `Attribute`, e.g. `point.x` - `Subscript`, e.g. `lst[1]` - `BinOp`, e.g. `x + y` (doesn't include `and` and `or`) - `UnaryOp`, e.g. `-n` (includes `not` but only works sometimes) - `Compare` e.g. `a < b` (not for chains such as `0 < p < 1`) The plan is to extend to more operations in the future. - **[`stack_data`](https://github.com/alexmojaki/stack_data)**: Extracts data from stack frames and tracebacks, particularly to display more useful tracebacks than the default. Also uses another related library of mine: **[`pure_eval`](https://github.com/alexmojaki/pure_eval)**. - **[`futurecoder`](https://futurecoder.io/)**: Highlights the executing node in tracebacks using `executing` via `stack_data`, and provides debugging with `snoop`. - **[`snoop`](https://github.com/alexmojaki/snoop)**: A feature-rich and convenient debugging library. Uses `executing` to show the operation which caused an exception and to allow the `pp` function to display the source of its arguments. - **[`heartrate`](https://github.com/alexmojaki/heartrate)**: A simple real time visualisation of the execution of a Python program. Uses `executing` to highlight currently executing operations, particularly in each frame of the stack trace. - **[`sorcery`](https://github.com/alexmojaki/sorcery)**: Dark magic delights in Python. Uses `executing` to let special callables called spells know where they're being called from. - **[`IPython`](https://github.com/ipython/ipython/pull/12150)**: Highlights the executing node in tracebacks using `executing` via [`stack_data`](https://github.com/alexmojaki/stack_data). - **[`icecream`](https://github.com/gruns/icecream)**: 🍦 Sweet and creamy print debugging. Uses `executing` to identify where `ic` is called and print its arguments. - **[`friendly_traceback`](https://github.com/friendly-traceback/friendly-traceback)**: Uses `stack_data` and `executing` to pinpoint the cause of errors and provide helpful explanations. - **[`python-devtools`](https://github.com/samuelcolvin/python-devtools)**: Uses `executing` for print debugging similar to `icecream`. - **[`sentry_sdk`](https://github.com/getsentry/sentry-python)**: Add the integration `sentry_sdk.integrations.executingExecutingIntegration()` to show the function `__qualname__` in each frame in sentry events. - **[`varname`](https://github.com/pwwang/python-varname)**: Dark magics about variable names in python. Uses `executing` to find where its various magical functions like `varname` and `nameof` are called from.fadc-64g.compass-ciMIThttp://openeuler.orgUnspecifiedhttps://github.com/alexmojaki/executinglinuxnoarch!o }}``8MLAA큤fnfnfhfifififi_6ZfificLVflflflflfmflfmflflflcLVcLVc]/JcLVfd3ea89e8e3fafa527ed38821537edcdefb8757d3af007dba30efdfcd58c052b8608ea050c32d7ca62fad3415ce3e0bdcb74b066ef602a0ef0989320a874b18a96f725c4ab24a4df6cd366ae0e77c745b0bbe63c3d3cbe58204b22da887e0aab24e1bdb2d376ed588191c1143c7f7efd164f28384dff4d9d99409d1ea01826ef0e01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546bd4a14031597453d3228ab10b398cef9cba18cdc185f0f5d032e770328f0a09186fd46d7f736d4aa734fca6a4e8bfe5be76dd28f0341948a6da9f9770542c7f9831efd2e4a58d69f6085252b9c9b840eb6c833e5e205853710390720c67f1cd4ebf281d24696788a2ac49fd2f56f4e1686be69c058666ea4feeeb983556084c8bbf281d24696788a2ac49fd2f56f4e1686be69c058666ea4feeeb983556084c8b145e5bb7484360d3b44e5693447afcd1f66d58f0bdcba8a13b176090c4e4a52b145e5bb7484360d3b44e5693447afcd1f66d58f0bdcba8a13b176090c4e4a52bed0227d0220ca10f2d4d243ed9d3dbb4bca475de3f3244eab4d857d3016796385224cf1eecf0a8ce7fe90ce8253bfb7365ce6e46af4c9c1a76fb7f64b352c79d3a9384d19cb7306e37e306982a0c5db879333a92e931207dbff03def8ebb68bcf3a7e1ead8c8df1ac03fc1ea5143caed0ec20e9b1b9f9cf270be255a74bbadd653e41d2c9632ebf3a6d8ec4b86fa1af218b786acbd152c4909bbba62982a4fa053e41d2c9632ebf3a6d8ec4b86fa1af218b786acbd152c4909bbba62982a4fa09dfe4fe633e74a38e8ffc616961e403b22d91c5fe13722690efd0e1b65c5620ca860e842d612e694a28ff237820f6ff97b751d4e6195a9a78c5b6b92951302e2337b3dad13958d59a1b4bf147164e9f5c8a91ad56815df819264ac0364c07d4fe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855e466e563231b93c2724a8b23e7d46f8b6bb32ea7cff8302cefb8a4c1369f5d3erootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootpython-executing-1.2.0-1.oe2409.src.rpmpython-executingpython3-executingpython3.11dist(executing)python3dist(executing)@     python(abi)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PartialHardlinkSets)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.113.0.4-14.6.0-14.0.4-14.0-15.2-14.18.2d,@Python_Bot - 1.2.0-1- Package Spec generateddc-64g.compass-ci 1726931297 1.2.0-1.oe24091.21.20-metadata_list-compact_tlv-python3-executing-1.2.0-1.oe2409.noarch0-metadata_list-compact-python3-executing-1.2.0-1.oe2409.noarchexecutingexecuting-1.2.0-py3.11.egg-infoPKG-INFOSOURCES.txtdependency_links.txtnot-zip-saferequires.txttop_level.txt__init__.py__init__.cpython-311.opt-1.pyc__init__.cpython-311.pyc_exceptions.cpython-311.opt-1.pyc_exceptions.cpython-311.pyc_position_node_finder.cpython-311.opt-1.pyc_position_node_finder.cpython-311.pycexecuting.cpython-311.opt-1.pycexecuting.cpython-311.pycversion.cpython-311.opt-1.pycversion.cpython-311.pyc_exceptions.py_position_node_finder.pyexecuting.pypy.typedversion.py/etc/ima/digest_lists.tlv//etc/ima/digest_lists//usr/lib/python3.11/site-packages//usr/lib/python3.11/site-packages/executing-1.2.0-py3.11.egg-info//usr/lib/python3.11/site-packages/executing//usr/lib/python3.11/site-packages/executing/__pycache__/-O2 -g -grecord-gcc-switches -pipe -fstack-protector-strong -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/generic-hardened-cc1 -fasynchronous-unwind-tables -fstack-clash-protectioncpioxz2noarch-openEuler-linux-gnudirectoryUnicode text, UTF-8 text, with very long lines (465)ASCII textPython script, ASCII text executableemptyASCII text, with no line terminators PPRRRRRRRRRRRRRRRRUJAYEf[utf-86d3475579525005933163578b9864c5ef959bb12a9aa79bd67b9e6bf5186fc3c8969cc836445716c9f3d19315895b087695426db44a466c165fb02188ba426ba?07zXZ !#,] b2u Q{LY]x3~-mj_ޖ0?1x]8](]`wXC˰ Q,59t2l ): PrB~^$ݍăgzYt/d kNn~klHۺ n(PzbqnkY6نճ#h¸ϰt7KI #e0U(8g>8xiCp7/&p_ap4#߀C1&hwk##Xǎ@/E!, P@9︇_jjʏR۔F)Q3EznIt! mz}j@fGijbB2 8e$v⼺gZҰZ$>c4[ʇi  ߸ɿd@#%.m^\۶h:;!M&a)WdFMYzzN[ \*2id2>RtW&Sqj1QFT1K y tЍB[[E KV+u <{@}1eBS?2d>IJaeua ߟNwݬRF Fx$ H[//4r$[d}I5 1HW!L r'AMv%B =@HrdISG.f.T-}'v훿DJs&rUPt%Y##(gŦA0}[F|AWrxo /'聢=h"%&X0D/0}͡"piЯk2] E4ʣ\@1+zo>'mH&"&;= zn v+1v,W4LCEOqcL@V`'}:$)L^ra xAmFj_yyP(t=zZf:gMkZ0#0->S=þD BM4E旗T [mQMpqX\uK)pN~@i G[rjOz" JV7( mnL")B5[D~4?0c~?gݓkwU@Hctov!=3}U+Fc);-lfjoj,͘R 7ֲ]6v!3 vS?&@bm4p+oep)T'"#6ʘL}j=B7yVm$tILvKj \a4ongF3 ;f n0/C2/P;+XsK-ziߚbXqψ1X;Qy{|{N _ۑ!i<$>9%nCB9NM*'}Im܀L7Zap$$F >(rdiUy{"F6I4uM٨65sϿ._7%]( >Ga nEcmnhʉ;u2VPFnB2Rw;4zT.[TC'L=#?0~FS+#d߹Pހ̭V\=m ^#Y#1ٶg}:4WK |$P=1͔\ˇz' lck`{6C;:\Q; ҶR݈pM~#p[ M̉{Mey;(QT\=UD;i{OWƜ" Aꑵ ,rymkoKD3G&-<_13 o:j^$bg<@/d=ULVm+fv qtrQNaxa٘M-3v?XL,HHhF ζf|Ç_+>TS[L*zS햏1`k}΄7%$oNֳbbl[Ȳ Ižۀ@#]㦥4|Kv_m&kvJ;gL(pEug0l%Lm‡r; Jǣ}ѯ<$1-_&*S)tcc,̟iqaO+|_|on:1ǴvP7o-_k\=o[MBFf:6 Z:Sf^DI|$E˗#|` a 8.`Ak'KgDR2e_- 0Zc^DwQNXC*+RG[]HkG(P+#ޕ?$x-տ!]i PgbL,fyo1EM0{lBW"`IP$W#A=Q}( .WdN@q0''?ZD=1`&.Lb!4_Zw`-\njDl&t7dW *3RotN"8`;y_Z/!d.;oW i[ 9NtNYS8om>4"dDkNQ·"&/rgK!t$u!LRtI[1|(H!i#TC ٻ&XS:N&]KzS{v/$R֩OHvJTS MX>_&|,.gb;^8y.0OGU(Eޢ}C MSy_5=.i&́RwtG“̚4FIc L;Ơ#!WK=w۫o^sI:/ݸ:!jCG(47qeBUnVOˉUNBGM+u{Gj[ `2rw&,Hܨ\@#FqC H C{]u_,EiYZHd {U aJbK oFW4ƛq-" ?5 O,F#HҰ7Z\ Y沎qCx(o3ty g=LaAj-7 e3/8Ӕpm̲E-In0 "NGNF |d0w17l?>_2bʣ㏁Yb@)Av;yz#yު|C!j9^#YGs7M6[ma2EuM ],'V~"ؾkcZƓ3p?mIGM:&;ġAWRB~`2%vhj`ۂ^_0!+1/QA焣 ȑD\V8S>{^zt_͜Ml)Ջ*G}"%_CCTqN|M= / pM c}-~kX*I`%oku]Ve$}yB+dnd)5U#|FPH8b }#D8@+ݮu+ڿx̔B߃ěʦˆ]d8/:nn*PcpA )F4b[t NXe='`kp@qujO6-'tBպ$zb " i ċVt3 9Xʲ5NQ]r- [dz:zgNZc@ְ#ůD%t!v&{#R 8[M rln^6Fy'^\[bĺeUlc]#_-2'MB:OdL,[ /_3Me2WY/Um_Df$ `upڄш, \Jf?>>r}Xscd 48,돎Y̛ٲeG}KbY’-B}jH >}0Q H\]Ɍaw $bֿ=8ݷ&V΂jDݭ^0rd rZ^#M9 ͆"`|,N4gfCb- А!E$Xi,.CX3#-[VS&Woێ d@&}GUG3A3c Xz&Aߺ89P WdsFd5CygMY6^ A t(7PbÁr b.%ђDߛ^>y˕ !:喨dmO%W{P Ff> x  )NAp!Ev{9 0ʥTGƦ4+4*6iUն"s,F!CC?Sº)6- m ]#66x4nG ?'cV=2__YtH,aF7-+l <-P+Bb[Ǿ K~gujz`@!#%$*S%]GX^&2:|vWxM٪s })s&)pf C%'i¶F;~Vfɤ"gY#a{Ȧց(#N7J_vW@u"gC&t&̠okl-b7p3&t3 3 hԞi%5˺ R&*XV?Bt1xQ^ƞ=(N/2c0usVDDp_#Y6[Ĭex}tlK_=砺\!2aew!B#8N'4}:ިsLjD5Ώ1@tѝr(F#pbBtWҋh{>+`o h;OV&%~RW=o"xfISj(v0^/|o)AE'` +Oa2j8 ՛cϽ%1K;"\vKcU,Sn'9Z7ջ*l/+lA~y>j ΡtwC_V d3[CjCJ=FҀm&GO@0e1oɖ"vi8}I:gMП^21lW{&+;junu>)b:12`[*3:@Z`O0qO4v9]zl3mTG̘TӵeNd7 Gm98,‡(D^LZ1])}]F:ÊLaC :x0(2՝X)@ҁ%9+UTwM po  nqnhʧtq \2|6HLqԺ_,2u9rM>wZ@[ כȍ}k-DN:;}#<S Vz?%2b!pr|_ DFp"v"ITHBA )al)\Ȟ0`/RTW9q>rN?nZcH}@Jm+!sjiTuk85~U$" Ol,==lЀ0BT_^'/-z$}%&~>![eD[I/S6PT+ji9|%M-1EYDA1" >HEDNAhZhx6YbU}+E ­mxRqy F*QVtjSוiǕ䯴pi|v9+U ύ)|4iƒU5BSƼsIAsK<'̪c_gr'?o΀j$#qU\Kw39[xQ#uNUejאAf Ըko3{A1#Xdp8) WAT)#+.f`X؍~_]yKֱQʭ7grjʠedG7>t~@#R\ 5lv(&-x_~iLL%Ж{Ry_+mzzRⷪo3K7gE$vb;i>>*n 4hs-.f};e-|3pR^ ^Cm}F7+o! FVvZT1)McF} 7ɌV5N1{}P:i[ ɂWǛs#D]>S’`QSVɆV8u ib+É`^w3,z@x@G}D;45!VLt;OLS'k]`c+xTG|>,tL]\]ƕۜze_HuB <5נ&/F'LT`Х.9 ɚ-sx=۪lZ׿$*;#&`w'E>BNUR/"Xʈցh*+ʼ5w7ެc|fQsa'Y9 F4Ĭ7-g~*@N$b/Ӫwyn/t`'iujKMLr~ĉȈGcף$c&Q?2*W=Ab>Qڜ0l,LVNY&C, i'S22r1bw`A"Fxw8d=N;_lsG2|]8-ן.>T*-z :#m榊#F *151W!SB[%+í)Dش 杂&*)\fqBoj 0 KkGN*@#lAg-, ;RZ Y%NcmLd5>8=ޱk`=QFDFɑ4kt+>*)iۻmTIh%KAcq*|0aqVʒ7|_ԝ ؀KdX+…*nA)ӧed4)r4_צ?H:68s<+P]o˼ ~Q~LZsK1rqx+vEؓ(~aBqU2p"?}"/E/ثiӊx~v4iHS۷ a6[;ӽ(USu+0@Dˁ _TsXR\ؤ:ֿ7;\"zxVERvUd6ޅ.Cc99x&7K:1 S@&"fOɶ`Y~O'ZiH'UBP^1AVVu#;_Qin.-xh + !/2j|}R?nf<mnnCtA䖔dxȣ, L_!E(ILf3&aE=]'O93P}נJ0G{(owv'#OAqQ'AҨX@?lN8,00+c嵉..G aJp|r.S@-!An&Ʌl:Q{s@xh¶k0S m[z? K}OsqS)8`][(`03eHm,_Ao*N=%u~9/稄؆}z an{}@|gxMjy7Du׊ۥ-4&T2FIi UiS֝+pW&C"tgyZ c%rbzG;϶ls7i pN^}L,M27I8SY!RA#P\FӔYy!,qs+H_--$2>d CKPZ6f+ͨO728aQbS.o I.Y)),2LSÍ^LuK~ltRFp:R`b&N컵xZ1?[f{Ԓ.l)?7c䗰6/vC7Dc4䰧A+6s$'t UyڍKf@ ~0_UI%].%~շQו/n5hRNyҚ&~nKCcti2@AAk)i©+NGFc MX'ʉs=o{e磋I9xqf<ʅ^b+E ~fI ί]FXz9HRqc q39e| yd.|`JX,_&,5"GY8 JUn~xH|4 p؏cnŮK}_<0đӨ@|GN^}KKM1adƳR`'CdHphG`qoHH~!IŚ>`!3eItQx!C9KTdfG'8w_Wʕ ;e94u# P0*8eOW-Wz` *t98Zqh"%ҊYsae@=\nj_*ރa5(-ҕ*KRH}|jS!3_==ubF!\/̏/ {tR葐ɭ0i%`^I5#+<)oey9"ʈ~γHK Ϩ ZM1dgJi^!hI j8Yy}I-`ԷuH r-of߽.3R?O*+5ٽ3H 7PaǬz|=O\K a.K4 F)^;)ޙٯES<`"ɴ.Ntl$u.z|R3X*\WJnA-b{e'W'2M 1t[4gDP&ı1 sk4֯/ԽAtv_EQ~go2Ի` ZVzg{)B֪6 &z+Oվ /gޜVl M95 1sT7g,Y ,؊)ΊHCe?/z*l%/XYE[ɲ(I c쒀753Zdm"9`޺RUrk*w#VﳎiY:DI71 '?Q"22G]?b/ӭne]ŪvIޏd,#mR,VBp$+ҟ@F<҂Fڛ&}PdU Mo.[j;2Ȝ͌SzEpʓ.1owa{x^b.~!:M A !{:Q^'$ވwa]ȯ_AWOF*TvQUQ/aʡF2>5k (_ >|& mk5uez%6aq76Vj1z pџwghrTW ӚqPp@2ZO;,c:t<}aFʛ{t5GQ#r9Nc FTK6ByD<'H#]Lt6#*j/qB+}el1r鱭7sS8QH.=+17 6tFEwSu$l{= Ԍe9P^?Ze?l黶=\(H|u,c!2w4AyB3%&M"!דMyM{:r䥼w"͹ oacrGVB-T)tN$wl&7B&߂ZGA^HtW!5m)6t5YzRʉ ;Fڷ*+r4o8~FMSKf,meDDe' +YݓʒzX'YQ;I86P[YXR0/(#çwFip{P]`ʨZQ &_m:/9 zf&\rվý_TܪzS~yBզ?MTDcUћ>ZkJQej2-[^tɎER=C7dQo6EQm'l$3C׍LFRytzB1d&Q+>T ^q(;*Ү}-,wR[QaU*"3&g vLL7i8~;8tIR{l!!q n} G0·L \ԷQ*L[*semd2udrD}*D)r 죛_ҎƱ,e,oJ)eT93YԥG}s^M7;׽(63`R/Hߒ\}GTkRP6 K4TO0psxF³\PM9"bWgHLY9R֏[BA U{Ɓq3u5 g ܹy"$ճdKo:/4j1ݝ> u-ђ%6z߈c fXZXDi|QEΧ8/#K ]j"ӯu ܠyS:NVNծ{U۳bZ]yaMA*M[F)\ [>{~lUH{,k[pTEHϝ\oXt>'JVXʞpi$n[4\JaZ Ps4v Wc TN0V ˧ōq޲oEMI쭆6n(.[ef%FEp*M3w'ǘa9uhFMmդ 97 ܑynΛR0{TĐLo&AbmK RDԹOSgaU(̖01>Sw{Q Pjb[:=FgHw-cR0}4\Enڊv^X j,.xBZi??v)?y%c=c,+$`.4q8pC(;x3!Ԝ?F<. Nl*y'W vtUT ՇXe7'`$M$*0G~ 4@]z&iM͐?NRbc-dNIЏ2ځ5=[SLEVmJ Nqf|l,λbUJ9-[ԭi*l j;&T̲0Lu@":5t7 ;IBأZ4L`э9 6 leS\nr cg5}8pīgW2"+p͹~5UhrQY AȪV~WEE!7º__|{_9djf\ i: _S7Fg}Ԉ!,#e @:5= 4/^X<gғm~w1|`RV~mq.jQc@CCg<?.!aK97bw.IP|D88fL̾HgC^# *,# yigcJGy}tMO5z;4k >a.Ju-`t|~oEcrv j$SDžڂI&}] 0z.yڄ1XFVH(zhW)ER".5{WK:NOwB{['" $Ls++8Axhؠżo]( ,^P| fS x6f&R"F4T]-<((k ~~ \^DZ!7&wd t}'~y[exV%>oVϨOx佨ܕnl@ЇM.[h)Ga<+T)W~M2ޏn0HIrW^xmj'+JYk𔲲W`]Sk>\3jӚQdK> X#W#L3_Ta@6"2ՃWQDjOߧ6>LeQgf]1.*,V<S3<\AW^xxĸ&f C0™[#Ӭ(x+r-1U(k+.䒵XM6ԅ\=O3;Xf!s~;.`룕 /\:;rLVY1 7gmsYvJ/ l7Apr/˟L/-zs s c @ݫLn ,2qZPLYȗB,p\M#v)`o N_eD V8@u-uٶUWa% yG5}7BE'RΩׁESW#GO7:W9 p$Jau5pvT[g`Ax`ar賖PY(̔F@} =\RQ|%+*|+j!_B+<P*3lq F;#ek* U 6d Ut[1琒TMje*/*h[f:Lf5ĖNp{Iر[Ű'̍&Gq64)M4nࢌOj ˯veڅGn#S:)˞ȢHR: B8'TYk[ޢ\EC2#+cj&svY}wC,m,jeu<\PusIabQ1mT}7o$TsQ8`l5Ev {+Zw6lGVV{h]󀦠:uใNoAS ,&GH qe1MB濇<*5e9X40P14 n <i"mSkWG OkD Οŗc5AԮbQ'.mFκ>f7(n9 JF.j~U&gh?()k; _=2 Z|:E^dwVA=שKNRGuX }nC-uA}|2M&h1JWBZj'H7;.#ɱy~SPNph Ltb1 JN9w(^ PDeYAybG=şc~u K~Jq%"\1:SDj]/eʙYqDds և0];!?0 #ʫYZ:o흂w"woȌDhWqmclF;ȤMh]ǒ-|ZN4馼,.D>}2 /-`K gϑ(/Kwck2ѱ284塇ٺ^4)D%ާm6,EcZf|Z^8'wamGtuFdfkfWid@U/!/Аh UdE {gD`&ۧUz;vga^X7vgj{BQL*"ޭ1a:so'J:舺 csa'r-Q=$p 5k`^ZahܩM߼F9N\ `0G)]}ί]wlwLW45)%:p^/pnq(mj FHˠ5Pqc]w\E A@9Mh݁WmR>86Y%Ջ"{"ΤWi7xq?a.Wˇǟiҩ*z*6wOO{Ϻ8,Nj/ǥT!e{x=#oz|7 c5yA/|o?c8t) #Ea!1W&{O6Y4+g˯8%Aq?‰6V*Ct!ugB2YH72XBdWZ. FuP-=}TPpAndvP&i6<:tT+f}S5YA,6 ~tpl_y2hIS!+wϊ̬j/o [ڽHaUY @Ik܏M IJ,WωBQv# Ž|M_ {–+ӳ\8p,^MiJ`oCP)vD#2aarY4N.QZNO%1vQyZkO/\NKZE&@ΔʑKd49*.N=e`{ūUOQ0WiD\[!ɢֺK+n/ t-*@`~ yn'ć"D @:Լ!ge#?)7`#[ZЍG$ÆO4~? Hh6gbFiJ5uaZ;|iT b@lY/tFvN㩖?5NjXLv5iIۑ J[3CNS ]L(:ay/#<ô_-Ѻ#e&=<ӳ=E}'gu6F8y5aviFDӵBLOŹأ O{p~w)X7#gXO>SObJgX7tق]@n׶1s™r!=?p}u~<yNr)n7lf`gBKy{}͈cJ2le90)UkQHrۅnEƲP3FPTsEbx 4T5ȠcW4EɆʁ)  \N:%@ݩK̔#:p& 8߶-R ިX{p] ~2E<V\G? =b]DSk*H!!EAs y2TGyw@JƈHC^g}/M @V7OTm̉x4'57ҸLS+ Ŵ^(QևN$0>4S3KeHOiԣJ3><jkBDf X1] PG|i@72ŐDWͿ(ͱaHM`28wt*-"smkc|"UG>.}I ǜHd)*#팝xݥ&zu94|@3ӊSԁL %hnEKS1 a%\:|ur/[NțӌkҼ`'3<==换Yabrɮ|sH*m'Rn^rlY4lFzG4*GŞ =E%Gm^n+k17hx4Uc:Y :q9ꆮ8U {, L\y9Wp.fX0=t|B/F&Tt6HYe+޾`̧V_ք[BO#N. Wpڶg:|cS;G /29rxD 2lD4rPniۥ(zp)̐,q@ 8׍dq_!Ia:TSN) Dxr.\9-GQշY'HO/ڋDDRM̦%K-ќ Gׅ'Qr…bn˟f2Ƒ0P+Ű蠲7zdC(޻RT%HC!uПϖD6 A9ɲGAQY;^S]kMlq,_KdWf':¥n N(љe4g&q]ϝi췁 <ᔗ\. DAlP4VBH fcmg2} 0g7ۃ㔟JiM3;Cyp^ 5e5˜:gؼř5*T[ăf?߁w8Fu"5FpfImnj\S-ՓF׌W2J- -?!42?U$wcc  0zݍzLMN*UuZo,Oa%!?9ȩ,_m FqsHj @DNXu[+*|v .~1兀qRE) {<x!5P(_v +m"xrY[̕KVM |ef]pA3<-O .[<umbw !lr^zj#f3~{T2S! ,IŎ3\x-H~}y<3͜~Fw;g3ʵ{8C$Z6 &[{$z}J#7*cD Svl-p@8I񓠠W_m/Kvz-O;hn^O!++?Ejjt'ȶq/3 Z4ts| ?\UԪy6<׿Y> >KR[4KX0 מ7 |t]bKj[<,8InewxzGBuW"" ˽FՌb_K4om3Ҥnбg|}GDVͶB߇! oEcB^ǘhV&zCW} lRD! .<% 2 oN$Z&WtE ,Z4"Tj&,[.J _1&߼ܖyv@O]5ɌnQ?L |dlT0>3w,n`봸x KlRfȨyV)5N䠑JKtӗYS UьX7`d]f6 4֜T ݃ewR +϶ZIASǜ}Vo4'y*)[TG&~DQ`l*̕{Hv<o!҄Cr;"l@]Q蔞ރxՇVswXȧmQ\-c>7::0wGhN_[λBFjF <}wETF285NT1=4l-^X9o׫]_]R܄rwQA_I&G+%{u| yuXQ0+yHVֿpϔ0ɧ7xʾG^8șE*tMN&Ag$EuV] PH^,RizXAˈu%r-Cjޫt]6o)}y ~)ޮBw.`r'ּаm @#VjͶ*3Ԛy2}!uztו)BZzd(ة Wb>s"4nq =+Vqڰp` Z.9쉩Pd c*-aiܻˆaZAϴ"ٮ0,OoS^V*BuW"C^R&&;eχ:s"_Se=#:NX-etnNT.n0w {Pa`d-z5f/U)dX(>e*'x 9a|ޤ1t T`"YԾ58]Qw1k@z B~e`r6SV}#]$0oݣv~;/^6o'޶91A[%ϺOFzz1>NjjMEH\7ۈ\{}֋ C|)Mu+۴Qh\:Ktcla, ZQfHl!f61Dr2' ǩTDX' F_ɿ:P4-beޯ<47}Get2vJkkMCj2fj@5vyBH|Vs@r&rҹu>l~,1 a^{ ^5dykD5'XʡV8p)3y$0+[Wv00њI{`YwU"B'!FRjnuuo9?T5-[ICQ_sR ? 6g8-,K)]t-Ԫ(eLJ,'alOnu6}H! ̼^0uĘ/JQ~sYJqrݫi&S2CթY&8ab+q 3|s ye^U`4U9Kܝ,94mo w1.t, _?%eFrf%?יPt~z⹖+dJfm {] 6͛@-u$3^/.4gǡsnTiƳS#NJЃ Gg1pp6<- To/y|4`^c̶(`%#% j%nQEYjⶁ[WI~$DJ.W0Ky`uLb4]dG[z46𿆃OmHhOo!$+1*+O,IQ9 αRn&%Iұ?TsFUdU>g1Ap|wTWoà8W [Rw{i.2#fe2]FHL*VW` l&vb[ϋƥѨRxmjϸF3^Ġ< ؅%n̉8kvW bIOXC%j [dIZ..> ^9vZ(PRАZ+  K W +XF< tZb7AL1fn~*cr:pª!;V[hwFe)lZ0{ `XحP%,eLDԄe$nOK"+Dx| v]rqҵ~x{S4 >:}"}/7)/ ?b"Z+9T 6O ZW-JC ?SzjQ5 joU9 }8)~˻반sk^x|jp꯾@Xzmpwfٮ)&O| G&>8J vX<-4|ma9,l4Ӎ5A/̨k8|ۜ dX{BO]g#ؔ$,'·0q@ Gj6.ee4-7h Bw`mmǖק!í5R$iqj+߼ѦtQ^||Im6`iU$3bsB1bFUmTH5Ϫ0ǘCбG/29O⪣ka4⤅;WqG377/E:ַնa,V,<;@ D͘~ xF婢#4B@/o#,GJ:]xj"#(ѩfC3_ Jjl+1QKM顪|z-q v)Nԟsu.V˓u'% ZR$:@ mnw1,_9yOicq&15q׽\>hQS1溬n2Ua7zљMa 2^>!UuΝB͢jNTb"|XհNbnW-)ns.-=za6 ! aX:ԳĆW3AN q |鑴`kеZ+ml^(EynUt {Ͻ'5o$2!7yҶrHWaJ+zNJZCqzO L!v=l,&>-MܖT>Ph;4QVNg?$`PKR&b>'%N^j&Ǭfhk2e](o"jLj5>R={?_P'YЮRw#.ʴ$/ٷif#å$X,`{GZO-nuTQV`%م8[ХT2I1NIWr 7ed־)Q?VQM;r""3\ڨ< Kjk-55rр)g4\Nyda:5 l(b{݄YwgU*v;a0s:-dZ f<\TCƴLz@Z'`?mPZI|YN_5甸M2[3Mt -?WJ܌#bE[eC]NbdCO,w3ցlΌ߇ߥ eav+8ag&ZVyMT'Xj!!7[߇iclGxgsFIq1b]3$U5S0r_h.Fў2)Qj,[IZG=J݋G 8ǞynO]GA( iMvLn' }N0j ds*Πz3 =8HM ݹCe7-an]6f68}zvͦnJ %#X} 4+[z[ DjYAm,#Znˮf Wr\7j?'1>=/sLmÂm(Acb&ːƐ'A0.F 1P)w '{1i>mm%eƒ,'{/$E/BiF+T FFO䈺~mcZ,l$'kloa |ϱR3ѷ0d$X؃IR&=Clϲ6`8x"JK_wxvߩ™ 3S UpU<Ԇ+ε>LI=cϲ+jg]SM p\2ϣ fɓkUԱv]XE{\%hb7 cƣ'u]tQ@0K}B^[<BYD&^n8K]=^/hhbR,I$So0Zma?a5y[X^ Ӹsԋ5 !.[ED6[SUp.Pъ'[h`l~0—8`,MsĞ+,9-:wxx6-h4Hȓ KswwtZ+N|o%-d`!}BYw~vVi.&z{Qd", ]^L,~C SVҟcFRE z~W<56}?qevsNn;bBNCfo,B1}Hw.aZp_"t yEFUXSȸ93UQi|56T6%]=]aDB?P0hB`>*ew5!~6+vNƬT|A˄{B gS$֨ԑG^BĮv %<o(rg3qG͒bMtmtmetug{ JOfEE9YKGǬx=m(5kkv~P*ZtSg]r$:&=RC詜*9jG-TiicEaU؄P$OTˋ$ʖu+#r/LS)D_ ydB5OD0O:XEcٍi|Xo/W@nRf~ƵL:HRLx{^Hr]FImX^m7E\V~@//N0y9kDZݿև9@@%5wL#XC"< TG%Uqw/vxh&(Y 8M![ `?G%R 'h/*mi>~{0Zuf[+l}}@WX&3PHW襴6׃sW#,W` u:,U}0pS܁/(,˅w2fX=i B(Sw'`XwMD!(Uˌ1}%:}e0\IV}ihQɯ2r 6Iay{mBڳj d])# ,u@_` jidց3NRb[F#Sܾ~R>UEQXJxCJa&`%(o{Շ0ߕ\.97ߣ'Xp""P]a[6"ΨOvÊw\Sw{xYԊiSBFQo&bd'1\:C "xVUؑ9)K, `[RdX+W!aEOs &t3[s],~b cKsR& &6y<?  #s:oca;|3*,IE;)SӴtD6zxgyp)BX'`O]e(AykvrNzڸZ6ѩzJ^*g'qIQPÐ01\/3+Cw҇S0te+O3v˸".ǚBǤJ j_;7q4Q䏸d^'!:l]\aq0qTd!xCz6!D~h>M=wӸIf?Ghŏ) XU%YvlwS۶et}2/bаJDJBv=৔dYt `Mw#(*F?(Ar52}ɔ z^jSUVmFwUe@sU;c';uMے/+ O2_ɗo6XgrT?sI<9Qގغ$x"ǟ[.UcMn   n!⾧< e<۞-ָ la3hBLeǍ@BS{˛ <ݳi\wR)7X{ݦ3lEɚĥ]S/ae l){H>'JQ_h\S^XBizύDHx7P%bgjL,}.b,?O&ZN:QϜ9f~nK̹,k"㾍)q'|72zh#5 m!%rDM/(ޚ۹6p]%?+Yf əxKV_Ύ޲ieHQr' yOT?v3Ct\[a'ɧ|* Zl] 0KQMʭKLHEx'[ؠ a϶6fзi_c.%gjZGwIEh_em[~!6l]roe>b:䄜ITN[7;?N 3T04Q_M+,bfQҴ*  Vr5YĨO.?!ŕ}91DYacF!M҇KtwdNQu:izҺ J& ~VDK$ohOݕIx賭BIYVg 4/;;%\sWD`gCEzBhx- @dzj)2{|DƱ6}[bpヶm)uļI6Vk޽ _H3i-ɓ 1pt7aОU|NL ,4QsJXSP{n[_6H7{~\%"Qޗ3Q{|Q9BwI`>]Wu$e@톖5O#<,~I=+iHӭ'o*#sbKY㥈=@2jp*{*zU+*¾{|c/;@l=%QISoU +@x類ׅGћ Xrj zq" %3X 920ɈhFu@KAKFFO5/Ԅ-1q3 lD Wpf;EL -. 1i,' kspVX#GaYe:Cױ:ŋi'9mċ!eb321]`ڔ7ғy=D:R]: x\(j\,-6D!}lEDL3AeAnȧr)֘=nf@8%|GK5I=BPts?{Vj V{]X3oxl^c B #'qb4U X,zfL,tYxmVO,死hM+," 0mPj[} ,'G6 PAqKk>;[JO ؊MDlWShPC6Q0 IB;,`P:ؓՕ(3˽ZAtvVf |&p2We| \FzǧO>^h?-^k"Iƴs? Zyk+Kz 8Y+pV$|y}.B| _(vHNj*(!0$B ;` Vp@Pb -K5ILqJv!/x6[oݕ:~oF3EkG!lEܸ|1lh Lnzz ʉpY` xxJUhm JUJz\a_,I6Q&W77!Vefˣ'kʇ)ٜӤYWbd݂HV:IHszfQPu)_ڷD,_fnPJܸip[`Lb!C{'ypo_m ;ӛWfTzP<;%M,'Jv)&_'D3-h f~@1ɱͥ4IFq9~ku1>I*FE0ܕbW'#1[@ǐ0mKȈFjO7ҮA,vʴ3+{xU$]2ϯ+@itt`@JI Rm~\ }ۿ#`~K;r/ȁ?LEǾ,5SwOB@X"-P܁"u@;z-Gd9̩F: ᢨ _ ֥k0e)綷x92;L%e-!f:ׂ3YP9쪎pfu{HFjm9 ՕLjD9\Py%aC|I=\~ζ%A^<l3_Pxi)m :oLNnrV쾸*zgAY2Z+yRSQ),׌B|Ϛ sS&/MK]StG:AGu„-6d 'Q89X@ݢ5h" ;=sg"Za J=(ڊ_hK/> _#m,R1Ž EVe$gYٽ":f Z0 h|!rU=:lTPJ`fťƖfm5hUśV㌁Fjwޜ_HsY'ms5sWv5Yo% lc\7sn,s76㣒` ҄& iMLFj~".iJbɣ.vHONK{Efs3pײXmB0A#ߔޣ͝$r9'OeRx^쾐_m2ޡ^6闬ѓ6CJ]*+ԇ;% Ә}[fO}Ƌ@C'%Jmzd n1U1Im 1}gTH.b%+-ڗVĤ;wQpʪ ܝ[pC"ed]y\ÍJǽr "]]V!BFaiUQ5,_޳J2FGcbbǡqb39J LLֶ9x㞜`@hHY2v4g!tDPGmEƀ"ζQG~p^zK3unק*{x9uCȞ@튮hAfzo3=^{G#bc1q%]vVTlUvS fu isÞHC[(& / &Lv$Cp05O5o VyGMQ= f“BI›G u> x"dˎW'=b4]Fq⯶'/Yb!&->91dV6ؤuyIcfcZI}`=|0o'";f) 1l5a qNбv2ew0HPKk(yM9ZV+0)>?RfI޸a`krtͷ9J F*!]xSz*MFJݬʑZKAia8wU$sݯf=2uU7˼Zg:Is3Dl#e*Z[Bj~5NYU#fmw6$j$q3S8b{m6<],kHNrY讯Ȟ\[p˳j-nZ~q;X!VZ2=z\G)ռ5 NTܴ?`ӔCqt{_B[] f' H>"-o$=2~PC[pfL_G<B幱_W܉th5P(2"/[ļm9H:2_4ys"E<ѻsX`l:ѧY&ME"QцGf3^ y`|g5Jtiȉk}4k rͨyJ}TTȖ47AӇ i_}=Qߨc &>mt|bج5 /+z PzT0vIS`%ރ񿐰hط1x z H1F92ywG%>QTH (Vd0RICȦ>JzQekd3!;30 pZ9]lΧ?25%<\K"첻tj#ǭc*_5POd<ݞspN_PQ;Q%­|daH;JWȔLd`LJ kNsH4`;mg!ypE$_Mr1Q#Μ+.v:WxG@JOy,L(&sL4Äxl5_n Й`RLb,I65ьύ7,!֝0[{\ `ێScѺR :r,{x94j/_X OcJ 34AV*`<?ߗwYs}oIk'&zCUF&׷?|}ў7mZkycӈUV`'P?K^. hybYH鹜s=0JBH,Wd[jX2[V>6SD?YANx_Ņ͍;') @ < @AyS\l3Ue;h9>0 }"0P>N Z_Ҫް0Bc~}&QBb-m| 7ݝɼn9t182KnE-jުvzKݙ_ިAGaQo( fP LaUmPBaI3S"4۴g2/ Y;ث>W+$f3-$ʞG+$C*?}ڃH1!?Nl:cW٥( 8VUAm\+ˆDRdѤOϭWO4%ݦiG`JK'rUVڦ)lfG;㘞pCoE^9]@mhFiLu;.'*'PFt"0 Q=~;EJ)3P5t3P91fX 3 Ef6m!08ͣ ]/]Ȳ4 KmԬDYrAPs+͸ ұ'AR/BQG . zyl9)j/('~ †޺ Áf?K2mdzI1&FpNG ID|"VUƤK}7Lk]t]! sH݅)Aq/&AH-wkTQtzK8;Y,5i#&ڋ/)>F> .:T9Wfއu҆0(Qvt'8mZ0&#whYklR5(nnlq]௣cɀٮ^r,shZl@Nc@Fĺ"`Vv.7hPW źornDN~5f7t?~²_tMlbD,,G}T[B !)˃}yzb#>c狢+9{y(1!-nIyy\ NYHF&QnhDFn<(A-$&1Ƕ!6b*#EH ^I꼤b c,SJE'Eж`[wqP\ܢ/\s N&-κ#eF"C6S}!s`)i7Pm:ob BdȅO\g#SeGٻ+M+F{^A8)1n{j*QDsȀ֛X2ȈBt+obG-7mU7,S^SXc.)k6Nb! U1OzȢoق;NQpCv3U(Rr@`8Lp HW p\µ-f$E6gHJVz'; ƕowI 78^ Ēv!F F_Uǧo?^3IBBS0CP}WE%']Ca<(!rM]j$F*N 8H ع|` Y#Z&Ұ{oFU|)IK) t%"bCZrqI9bȖo.A28 5e&YS <3'd oܤF޲Fjfmw%BɗjL#ٻ/Lttm 0:ՓֲIԹi匯;4óp;UT|NF-K+@Jl hbX{C1^/8*JRMt2 (`BТp1|V#N\!G3++<twX]&' ֣pQ 2nBl2S]~:AGzD[5E{P}6DEXшBm Nr s| Y딤Q>O*l3+h uxb4/g­5`7|3?5`E9b*?]fn*wvc<ꐟk j+wldA\y^T;~]U;BL/'s5TiRE_`'`%8+)]+fG A&"bQgpt;sE޼J=nX'4٤~W5 3=9ӭTMIlئLjBO+F#{H^A'~DJ=wD"'ߴj"q%oJ_wȓA+𧇚J4Ei.d~!q{ŌOUI{{tt:Lǀc}PϬ ~i 3NqҚ浃VrfDzv/2ktI.K}8wΎ$ȴwBPQ+)x;o:!v́KAOn*qAA˳B;EY>n@{BwyܮBk+ uLC7i' :Ը͜22[cTEw|l \=_*y2 EhFU#>x8rrQYCt_1b?;ti.'DӒ#-"Ƈ /ގ'pO,Fi|u$ObW:V';/<تMKNXЍ =op,;pgfpG xSO}xo4Ɂd#˽ng*XBQ5E; Z Yڻutu:p a_[VBu~ }>EhO7`az9;UIqfNc0LBy\hH `ʉ@m= 5U($͒ `p61G~lT^1cxg|/s!G;K)#P/{!V!(7 5]%V^c^7Q;zR| ݾֵU"ċ^_2){loM6u=\:c~O<Է9f)s{ O͖xN԰%Qi\XT,+50-L(`ZOuK""4.-AwqôsWv?2PcvB]lHrdm̩H܊W-R?* <i7V/3Zҍ)g=1nMBړw#~ +1"Y7M{DO H}^j.:3ꅎiqp¢\XUDyRk_RѤ:AGShLkjjWH+1MaO:RjkHe[Yθ:%KhFKpӹ6⬿b/3غ! >̅u`_)D"X~\'A|ןdk4FӪΌ߄_,&›30M =/s̅Be"e)gplGi}zMDž?m[lQ3S_ńT:$o_~ؗ(exO)ki򎄿ܳ󵿕z[zO,V" =6|U* tW<1]; Fls%ܬW{# ~ ZBƨg8;"I7; Au .W8 9}`&㎨+D+=1= sKEҳ4u_Y Z|`ao_H) {[&n6M2"3klͅ+φ6~f qwL]F;<V(LnfUVUˢP@%pŨ7 i췖zlpy㉞@ΙbKHd<&,b9aL&>Gc5vo}*co3M?`PO`TزgB7ڞ Vnm׭"~ZQ;ONRb$(5jm9B}>Pw0cPG< *XlJ"~텿7O׵s"; OSgeR~#/ =0G'o`_c 庰Cd&ŵ%DLho8e:83C9.{JؚHQ6(&HƎAM%A5NuySBiLˇ'p59&5~?`ec\Bn>_۫B\+ \pf,gs~[m3T JQ=iurG)dVKhOjP&D VrF6&u, 6!kkE/|9+(7#l2'xnupXW4r# $Qt붘ZcfQqU(ևAR e!o4ځXgfi&ۧekdwSϊ(*LP-oKn~>SQҗ`Rda\iǫRÈE\0}>CcS`1 xb|340u<Վq!ɩ_e'Q#멻hbVV>E+CZ'.(W]1$7;HWp<ZQc%_B@B'+BjZ7S 10Pl`RiDֿQR2gF2,"I`d;'0=V_!BbUb M4mC*#uҎ`B _||v?Ĕ'h|mL-#ud "z K(h9:"(u y)8=Pvb@Ex툖FQV&br{3,78wڑ?y? 8>ݚ 4X%ܦp5Y+)4ՍAߠUs JC*֤5P+Vdt֒mG=Yߞ3!o~h"gEKH\LCWWYG"ȯ߹Dv(1_۩/ѱ(."'6Ͱ`Wu >;1rꑵL0Ewd@Gf!Yх]1pb!&gև[gj;gѭWt C~Et QmthO<_BԸ:Bo[}2!Υ%Abeŝ1iЬ("HmG0}F=tvdJ( QlZu nx)w4GEʔ>qXNs>2 nFS.vʫ(?,*B@4Ocׯ7tQї$FuO}]crVQD}FZ%08soB-qvXJ_cghkLwyic`2px }uVa,.l3v1"fjeC#RGe!aͬRԃH*C,$+1QM@3+|#G-7@ OƇ{&,db L0ft[y-KZ[* $X_1FY8Pv?}B& &Jl%K@s8cdGZ #gd'·v3bgM'/vHH"U %鉽 >*i4Œ'qJGZ(J*bPL(Ε3,qؿu \3d[sHKy! Z()nIoWiҼޗYNo0Q)lf"BƉtF8d 6+u# F|-Rȡs.F13_&W1(Hٮ_*riրiޚb,C]yɩ3u~vQXnyI!C€Z;Uz f4k3)c+$ Nq4j=0pdgX-R 䖇,8x@Wֻ&ͩ=^ۋ`L7 ʕnЬOmyXSx- 3xbYջ^e 򷬷CKZdPWΤW>@.,?~dVgBnS8ۙ|sjUaQ];i䝙lA2Q_F#z>B7dTw hi ĵ;"ګU19f>" qqF"1+E0+TJlj]޺ "B5$qenb3C' cH5jy,23ޝdedXoO`cXT>ּNP) q"s 8li6Xņ k6D7ef49ϋ&Yެ$bhR]9]Z:+cx}R6i9φ̲HPCk{%^ڼr-+ӧ]oJ#TXۏv7Tk%ZK&\*b7'ɹι`1zsr*{'ֈIX&^<":,@{2'D^/t#/i!ξMǬӑۼxoR #4LCHJo3ܘ?K /g#* -[Ֆ V7a).5~t5D>^'xDӇxPe#W/I~6qw@O+D#YL\VHM}0w[.ܘ/rC~#VܸIҲ~.3~ĐAg߆ ~HڳK:9d7&c,cM[d~.cnB$17*zx:[G{5ݡD!Krw 3+vԅ2 3.1էmm+2|ݬab9*-5mlnF>ζq>_CMpE#YYBEG.Kޥ?ĩdEql=1XiT&Dfe&z[R YZ