ghc-ChasingBottoms-1.3.1.2-lp150.1.8 >  A Z׌/=„o_$j /V_4V'T9Ǵyr42Al4|p5j qnR1A  mCw9 T`0ytc 0kq1d,[ern@ȸ0|zD"wZo ћtNp#vRZ*јh40Z+)T;) 2B9(W%8$|V11# l}s/d74bcbc521a9e97abb664f1a48867b45289621014e44402dd682b302b1b604bee838ca73957ebd2a68ecad8590debe1faa998e0f2変Z׌/=„^rҟw'd,֯2=ҕoLm!FAP>HB?:K_TMow͜Z#GOOm=޺ W%"ЌGd|ScbuVgy1F 0!:Kh6'1~x%n0۲nV Sa~G鱷U}t{vw:PLCs ?'.ZozsC('uk4p>L?<d ' O         2 e k t        ( ,<Pd|x(89:FGHIXY$\L]\^bc,defluvwhxxyz8Cghc-ChasingBottoms1.3.1.2lp150.1.8For testing partial and infinite valuesDo you ever feel the need to test code involving bottoms (e.g. calls to the 'error' function), or code involving infinite values? Then this library could be useful for you. It is usually easy to get a grip on bottoms by showing a value and waiting to see how much gets printed before the first exception is encountered. However, that quickly gets tiresome and is hard to automate using e.g. QuickCheck (). With this library you can do the tests as simply as the following examples show. Testing explicitly for bottoms: > > isBottom (head []) > True > > isBottom bottom > True > > isBottom (_ -> bottom) > False > > isBottom (bottom, bottom) > False Comparing finite, partial values: > > ((bottom, 3) :: (Bool, Int)) ==! (bottom, 2+5-4) > True > > ((bottom, bottom) :: (Bool, Int)) True Showing partial and infinite values ('\/!' is join and '/\!' is meet): > > approxShow 4 $ (True, bottom) /! (bottom, 'b') > "Just (True, 'b')" > > approxShow 4 $ (True, bottom) /! (bottom, 'b') > "(_|_, _|_)" > > approxShow 4 $ ([1..] :: [Int]) > "[1, 2, 3, _" > > approxShow 4 $ (cycle [bottom] :: [Bool]) > "[_|_, _|_, _|_, _" Approximately comparing infinite, partial values: > > approx 100 [2,4..] ==! approx 100 (filter even [1..] :: [Int]) > True > > approx 100 [2,4..] /=! approx 100 (filter even [bottom..] :: [Int]) > True The code above relies on the fact that 'bottom', just as 'error "..."', 'undefined' and pattern match failures, yield exceptions. Sometimes we are dealing with properly non-terminating computations, such as the following example, and then it can be nice to be able to apply a time-out: > > timeOut' 1 (reverse [1..5]) > Value [5,4,3,2,1] > > timeOut' 1 (reverse [1..]) > NonTermination The time-out functionality can be used to treat "slow" computations as bottoms: ' > let tweak = Tweak { approxDepth = Just 5, timeOutLimit = Just 2 } > semanticEq tweak (reverse [1..], [1..]) (bottom :: [Int], [1..] :: [Int]) True ' ' > let tweak = noTweak { timeOutLimit = Just 2 } > semanticJoin tweak (reverse [1..], True) ([] :: [Int], bottom) Just ([],True) ' This can of course be dangerous: ' > let tweak = noTweak { timeOutLimit = Just 0 } > semanticEq tweak (reverse [1..100000000]) (bottom :: [Integer]) True ' Timeouts can also be applied to 'IO' computations: > > let primes () = unfoldr ((x:xs) -> Just (x, filter ((/= 0) . (`mod` x)) xs)) [2..] > > timeOutMicro 100 (print $ primes ()) > [2,NonTermination > > timeOutMicro 10000 (print $ take 10 $ primes ()) > [2,3,5,7,11,13,17,19,23,29] > Value () For the underlying theory and a larger example involving use of QuickCheck, see the article "Chasing Bottoms, A Case Study in Program Verification in the Presence of Partial and Infinite Values" (). The code has been tested using GHC. Most parts can probably be ported to other Haskell compilers, but this would require some work. The 'TimeOut' functions require preemptive scheduling, and most of the rest requires 'Data.Generics'; 'isBottom' only requires exceptions, though.Z׌ build85openSUSE Leap 15.0openSUSEMIThttps://bugs.opensuse.orgDevelopment/Languages/Otherhttps://hackage.haskell.org/package/ChasingBottomslinuxx86_64AA큤Z׌ Z׌ Z׌ Wꇰc3d14894b4fe661a1f17a43173a730979ed6907f86957fed64167db471354a539067669037fbcedf3bf557e5e754e10fccafae292bbf738f9d347efe75efd456rootrootrootrootrootrootrootrootghc-ChasingBottoms-1.3.1.2-lp150.1.8.src.rpmghc-ChasingBottomsghc-ChasingBottoms(x86-64)libHSChasingBottoms-1.3.1.2-7WBqvY3aqkb3CDr2mLnkSS-ghc8.0.2.so()(64bit)@@@@@@@@@@@@@@@@@@@@    libHSQuickCheck-2.9.2-LvlomhGMxrFBkX1zwiWpQu-ghc8.0.2.so()(64bit)libHSarray-0.5.1.1-ghc8.0.2.so()(64bit)libHSbase-4.9.1.0-ghc8.0.2.so()(64bit)libHScontainers-0.5.7.1-ghc8.0.2.so()(64bit)libHSdeepseq-1.4.2.0-ghc8.0.2.so()(64bit)libHSghc-boot-th-8.0.2-ghc8.0.2.so()(64bit)libHSghc-prim-0.5.0.0-ghc8.0.2.so()(64bit)libHSinteger-gmp-1.0.0.1-ghc8.0.2.so()(64bit)libHSmtl-2.2.1-BLKBelFsPB3BoFeSWSOYj6-ghc8.0.2.so()(64bit)libHSpretty-1.1.3.3-ghc8.0.2.so()(64bit)libHSprimitive-0.6.2.0-4578caNkWQ54Gt1mxLF2Yh-ghc8.0.2.so()(64bit)libHSrandom-1.1-9tceXaeYIMZ4JrKq20Egog-ghc8.0.2.so()(64bit)libHSsyb-0.7-4OKdCpwGutyB1rNRmoa0ya-ghc8.0.2.so()(64bit)libHStemplate-haskell-2.11.1.0-ghc8.0.2.so()(64bit)libHStf-random-0.5-CJZw1ZWS5MOJlR60HqKEZL-ghc8.0.2.so()(64bit)libHStime-1.6.0.1-ghc8.0.2.so()(64bit)libHStransformers-0.5.2.0-ghc8.0.2.so()(64bit)libc.so.6()(64bit)libc.so.6(GLIBC_2.2.5)(64bit)libgmp.so.10()(64bit)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-14.14.1Y{'@W@Wڍ@W8psimons@suse.compsimons@suse.compsimons@suse.compsimons@suse.com- Relax the over-specified version constraint on syb to fix build.- Update to version 1.3.1.2 with cabal2obs.- Update to version 1.3.1.1 revision 0 with cabal2obs.- Update to version 1.3.1 revision 0 with cabal2obs.build85 15240755311.3.1.2-lp150.1.81.3.1.2-lp150.1.8ChasingBottoms-1.3.1.2-7WBqvY3aqkb3CDr2mLnkSSlibHSChasingBottoms-1.3.1.2-7WBqvY3aqkb3CDr2mLnkSS-ghc8.0.2.soghc-ChasingBottomsLICENCE/usr/lib64/ghc-8.0.2//usr/lib64/ghc-8.0.2/ChasingBottoms-1.3.1.2-7WBqvY3aqkb3CDr2mLnkSS//usr/share/doc/packages//usr/share/doc/packages/ghc-ChasingBottoms/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.opensuse.org/openSUSE:Leap:15.0/standard/58c66e2a51ecd26aa80225aedcc91b84-ghc-ChasingBottomscpioxz5x86_64-suse-linuxdirectoryELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=f9022c36a76ba2b5f947cca7f68643e6e1253edf, strippedASCII textPRR RRRR RR R RR RRRRRRRRRUX(R-utf-863bdfd52500d355d04ad700a85d80c7f6d6d68aedf17a031b799b666f4127b6a? 7zXZ !t/ ] crt:bLL ~ƪim7 I$Zұu0DUQtQe (thH:X飘&exivl uc^~ɀeѰ>\mT$̸}!:QgFJ%򘰸Bt—: FqWSGSmL*2YDwqA1%,{ יp$SQQhX#}n%<j&3gu \43epbH2M|O װm7uDŽ3 ']G r b?WN .8#ęYӂLҤos`rh(Q}˸}Rd<(O'PހPGxX#hlg/{}M9`v舼Fa -h֐B>ஔ!"ԫzqǑPup 9hf1u1ZYhCz_ x34Q]HC/cABmcq0uGqEZAr\WxgQQl!gJ<k>m0puٞm</U L Mam4<,Xxf%A6jl\2<_u{] .*ּe?G.~Ydc 74Ǥ#<_@rJ߹vdK3V^be;᚛HNp:x/Rb¶Ԝ~,Qp{iN\~Fm U_oL#]֟@Q0pTBYk?Yf s^f (v'joSjxgb"-{?j yD$(xL9QPtt&J6:@$cJH؅Gtw\\5Crh2;yI=]#/[\`h" cbl<,;#W,W (lIo aY3m[R9=3J#f4`D:9Kװщ4\O;md'u3qɧṁ+Ma%IϘIn{M)+J` iP^ęlFf.O>秇vcQzSQBK1A{Hf 5P&HV\ 1nYm, Ӳ(I\w/9^սIt/{ &7fyT &Y/IT_e \\zlMj2חJ(t(-9,neZ&>쨽v37š3..Y/:j>lj͍|2H5"ǵ2{ִQa)f2L~9Yg`fwX cO! @:crnMJ. a  .(k$s?,%ʽ m`%Nx'yȕ3r°_j-r*Eu0yn"Q؜uc–V 5'x̯$HIg~ I{kUa|n5F0hyDdQ.wiJ~<ƕTr6lwE^+&,k ur."b}4竔':|ߎ=q~%h|;oaSHNLCncĭ e]vs4=3V$>o`!4Tx^]fD]DZ8C~;fmd߶N~8htѼz+>S|4OWQY& qԋ8}w|~^X2Ds!pG׿F&/|E6U,ş2~ژc٫=KZ?CC9\݀;2{8I^b%%Q~ET:ӷ M]l[ 8jl%šrKjؓl59ƚx^m22Qe⑚ۧ0c} bù}PFIq>d5݀yCab+ئ`htaF<ũs&OCf)`VcHWӴ6 L 11ڗ֑+7nH`[f"b!FpJW|˫bst˾MpD7߮-[*evy{ h?w摴& +({;3Z3={ _p[~d.94'6U9DXBRt;C7 x6-Y9D8$mJWuXd!ȁaֲNv;H8`[RR/l2 I rnR qwFY7mW mR.~rD #)^ $bO!dmR>eD>lM/ӾH-x~2{Ȉgۅ<d|kWDX(nZvT'h KWHB vfоsuN&:ޛ?-?0qY]38%YUSЇxz?_).6c1^JC_,hWD9LmV2~/2eDOqd?Eӻ@II#kg3Y0kͥ\){ҷ!^\q>gUS0 hY6?yIffV6=LyL6=vHjSk`\ >ҩ;eDN52=߬ZWU} wX%\R+3WSTbz{0Tqjxoo@5-\Vaڰ},paI҈ .s\k]Y/u=GGQ0r^}D( Q@h\29b6cT,#P\.5k W>ZI`ħ*^jjΏ`8W23uN#!R~GTiVᑄFua!mv 1HHu`r#$˘"?K oL!ӶH'( K{rnؑfjߠʶsIN԰-g>~ Uvf}HbGU[IǮ h[M ͧd]! T)ڣF="c JTa|Q ֞P 1KM1|iw[ҡƲkj z4K zR +'_M ISLF] ,W*zz savN]HW7*`~yN@Mct5)u545iHMKf{ NxJrUu,ȓی]̔,Veks{-.Ys~ަr-LSq+tR8'eq7y\+e@ J`fYhFw:q/9HkՆAm7QĺC1I@0n^.oZ@-a hYu(Zq! vqosu<,cF\Dc4xܩS6}5/pm`~,LpPw#ba4=0. ,J:=,H -f[]4HjПq6_:Pas[{2`Pj FA\]踢Ǜ:QBNѹ丘鑑X*~>9KHO EJ l+.u&YL] [EqC3%n!ȖMV%8$7/)i}COCy0?*۹x%:=a+ 3m3;/BKQ-{|;v4fX܈ -j@WRtR -ɰC5bcs<$PP=qM:N3lJQLSڗ( ;)u,CbKᥚ^T }!ĉ-\[l+t?\  .Gy]E)]ITGn~:Bc : %?QjPt+* M+JKS,J=S0}ziNΫWX95idM@ fbej zO`a30ѕ\;ni|#o_Q:TzZ_<煺&;/f2NECXlYgpɃD|7̕ N.]vX3NVp-\XMTm0/;APF#ۏvw!=TFoi8y 58'G6\'ui'^`eLWA!@>R-CE`],lӌ3p\;WHݝ:x]j8k׭o—)/m W7ZtXn|o]M#< vTuHQ@3q65LcL}s*j,5y90VU6ջʕ=6Z 5`9hۋ-om]f([Y!Il3+vEj0p"JN(39skCey7$TT/˙(ŹĄ6Pk]| d4aP -n w]߂}% p{R.5<4]M;('dt{jɃ'QRhLI%\h"u]VH}3.HBʆ>Ut*nx-703= s1;u>&VJ@I)a.Hqov#% K /35K|d#Bϣ?$6ηx gP3Ss*QօpDYx HXoWl mN``?0u3/V0 ץ,"]ZSѳH}jp/xTEٚI&ζ` k/&u~@0Nj l@b@Ґ<"P۞*_-Fj]uYp{x^Pq<|qӸp2nv{4h%%[wާGzpkc7Jw`G6n1&&9iJ `ܮ  B:Y4/J8(M;xқ?<'ی nV`,2C6ӃF~VS6Jp g]73BqD42"#>D<#8¨V+!uB.Ws bh́?p Z`N_cmKw-@JqkP`Gj.ڲAŦds `nLإ~4**u>Ίj"ߟDo = {H2w WrgӇ`h`dVc`Dinm6l#4:rZ%F*Z oe`}څ7rPL:_ZerԪ=_X7A7bԫPc\Mo7m:+X41pX/$^>~1 fjrB̮#XY72/9װ\yѠ )`Fn&1=62l-9_!G[xY\20Y!~ ,. NRp4JM &lz{չɠr)1iQ+I.lH/^bA)1'W0BmݭdQH/m¡k@|7oĔLXkD H.í]TG)0i'۞:Az9OFCCy*~צn|?)BN+`*?k΁y  oeqL%9kᖠri- ejN#PtI5CV#ˆv0^A` ᚿ9sxͥJr؁=Z3Œ煴D lUa)ِVNGfF,䚻d̢cKxl;q=nA)c7;7;( hɒǖ T[+r$*1ä^sɳxB&7((vitr68Y5"_PJGlA%1 T/16!:ӥ6<_hJZ:G[2=@e?;Kw*VY͕/kL\uxQns`E0R)BXb<>IM1Dclx~τ{ډP:rTWj[Vơu"M:μr)~Ir-~e:d<>n Ār<24$#uGN(;YDZupzbCjW( ^IxXfxrl|8^lca-LٴU&o J7bm%;/F״)ʖfq }J+BFk[RʯZN卿ruFV)P{C]<-}{lӬm6kKvvo܋S^}?P}^K]uSE0lCADw<kO(&暞tڒ0n3joo ]dYnU`8PR.?b Z^\vrN &!8޲ a%Ӳêhޤ} t ۦHu<t t OW=T{z\%Rzjmm3.i窋:M<('Au~a!hV M0 kk:M@.v%ztosbWejπ*z-&1'uT 1CG][ZG2lHdF$RA)껿WΒ$E`eDL6E c*!IwH|#3˳@ K Ğ@G~b@S"S HT6,480|9ʺbh] *߸ Y_ '. rk_;C.5MyhA1kW\A`ⵞrBhiV`x/-a>bJP57yy(^vh1@V]Q1`9'wa gWpIz-ݗ@Ԏ?o}1$䁷Qq^+!wY>d֓3Rk 1 뷰cI7 h[V%Jw4~nfU-lsV5 K2:Q󁛤7۞yG+T# !΄`ŲO94BT)R@z̓M*:l2 `>3 AIgzۜA=yKPV(osVj|OZޙYT{S: Alos[ !"0 e}lG׳ˠCc$:xDsxKP0X2-8c9ΪQaSeHۘb5E &LlT{T>@gE]9\ڐŤHLm/Kocl"+%I>a`/Cg웄ɟǞGeJNXSI(H]17Zs5)u ]ʈa̿BgĖ'e]O, kL E7V܀V{+3rYt6BŌĘ%ǛXdRgJ3P 'It+>"dgӧj(iYE#;D8 n:=PyM_t˖PȫLV5b }ρTvU0}_bc\~RO–mX;9 K>)^vp[QLCӖcWa{ЉLhQdaڂ#Fӎ(4:wk@/ECMF=k*WbGmx٘#lGQhcA2/x+Ko CyqL^NL&UQbL%lZ _U9IM;t> (O6γZ#>Ya7zk:]#vVT1sK8)x(uOD%)GeӇ:%JP0rݡhW{u;/hu'")WVcU}tl^=_'mrrhS9鞻%#kS<}YH^.m.Ms ^)48ßf q5 H,iyPGU4}av_cF^472fuz9s0S-}#HL:RÈQ(ĨRF(_*0kn#-zitvtdOVn ]9[6YY#GaRp(t̚bݹ@d !oBR2dHU;ASMb m( [2] _P&\"2`oqFzʘf.Xʀܝ?R{y:c@pc(s)lFh^aɚ]iw"Ժccg񜫕0,F¢+2K]_в%Z+E񦾐Pjl:Ūk+\JeU2\\ty6OS[[DYY٨^uD&8VⰨISlJh|ϩ;̩UQP>梴sԹs"bQncМZ]/6Xq>iRA{lצfN KZÕ&E(w,tW@ȡu@Yb ݌^.7˺DZDZ%`ˎFU?HxqxUsAO*gF1n3^pq,㼅o P+dN|{w82b&~VpW01pwȈz5 |nˊ̖ʰh=΢Q܎;5s!:˘p "JZ~7ri -I0,(V6S\ìikiK5m@~Ϥr[zX4iQ:^O**O_sN u[Hb\h \-vfЕhJ>|55>9xX#h,*ELqUyǜ7F~3R˟A:;j&э={8Ćpsсp*N߆Uo,a"@`c4hq rgR>-=`aʧ?e:17bk^B#ĉ1I^N: QE:c1n7^c Z_-dVWR$He+|nog(66+zӽ}U5DxSlV]kVgJ{h>:/b ;P- }Uk \3Gd txTOzF01WeҦU`f]@ n 0$kW]SpQg=xe)ј{tv 9m#I-`;GP[MX gYLA2д̆V7 h9SM1jb"|9ͪMG5s d\/LQ]2)PTQ\p9b|.mqƀ)>x_F g]Zn$1фT\8ފ|[-I|<(tN '~A+d,PC%2z5ƵE `P'`; U&-&xWT`WΨ^,#~HqʂVo.' U&y7h."~'|1DA uG0)߿vqn3 l2XgbCPfW%naKu67 =5:M F" m'qx̠[wo$ hzhKl9.Xk $ +*C!"!܊akc;KrxOіK;Ɲ ͷv:|X_b-w$p<9 N\o ;˚ğMJlpuIjť/&lk^j *ICn/B(UOZ{qǽI /v!*6(Tv"Zr3Pb_WaI?Ai{Ǒ:)/*^ 1NKfWXLؑ3[NnAlnfI0H}>t-dxћVp$6Nq%T-75x{P-WQ=ŀRG_c_Mq24( ̢jiwL5 m߼0dA6.Bu`&14nja?6mDں.Y[vX5Sg4́L!{5S`S-TWu`KwpR 0Mm ӪC{#5fMhۆqY* .ZנrvJa:x"m={M!a7PwqW0m{߫-z`ǨM+KU]G3`<];_INqQzNP{1j2eWHϹƁ,+2h#ԗo-Jήt_?_4P3~U22}XC[0xyĨ6 JǎFꤔ}q@I%NRȉtty" y}5HӲ=4h /$fx,KaUlJ"-ߌGgw"qr#Y(_Gdk_/ ˢխwB^MDk %˶M֪IyBa\-5[HJ_X(rī) JbB3dH fyvFVz*(5mSxڸa?ʎtͫ38AJP%B&Yy[7iۗ@#Few Y E=FNrQ'$Ieym 1T_`]#mNj-jX[esrpέ^_ycb(/>_d BLSԒVuV4aZN V|(7x&aV|Py9HQW|AI UN (( r."j+JLC$iýHoI`d?V* ,w-K7cLa[[vZr = b޾pWZ#Voz#Kv`2^>ײFA_J;`.EAT5!f\ʽdK̛ ~ˁSnlAW+CX\P7=T<&YL]l=r KBj&42@Z?aeSWF@)QA C^PU:aApݓu2$b֕[޻ZqpK2 `؋|H {}VOx F* ХEV>P=gw>b-p pt8^B:.;@HA2ɿGhؓ) Nbj?(3>q/ 7q ,O/~%O=K\n^>3rZL07xqbʺǮjiD@1.Ԇ^0B~bT!+=\ĂFgvfƔ3+՟ Y|W^oSȆ>4 %VϚ fƪp r.̅ph 9qVrF*)"pVهٳ`J*y4=r4VjkNb>t2XPHlF/B`7mIz0׎y;4"|OH~`L,=_v샟Y8&GW ceYN6"64 b'3} `2_<mK~$9.ȱ+ZfOW\X(<#i:AG#'jjDM֏>T{k^B iJ!{sAQo~|+:#N`!S&'V"Х6`jut]^S;2$7Ң?E/dw+c۳/.^ 6ZF -l*3 6QɓfzIT ?i=r'Ҡt4_I0?0Ŧ}s@p.Ԛ1Crf,cr!il;IVm)^[^1M'H&Ce2΀#y?9'6!Nf춀r%$7U'x>K"jZH>='M^8 tP佐uN~"p W`R=r.O!i0Hf7I!/C'$ hv8D(vݞk-ahl8z5i49ݤ27J)b%{bEs{AFT !$_'Q!IM@u<]%EU 'hi5E7Qz a(3NU ]$K<ӁN==9ݷrs bqDԸAYq|Frfcn 3Ǥ(1C" W xjX[QRqE/4a! 3‘I(V;@)}kVA.`Kw`:Z_{^lTJvRD[޽3x*&:ۙ('@ Wq9Xܑ7󀫁S\7#a^_/U^]E5s3".TԒeA®pqW=u95sJ s`/"Wh#l{~|꬧sǂj4;#<4ۼwrsrS= Ȁ087/M%YK+S"l\ J9tAH.XfD\/Cy1.a<6][]0LD9>` Snpv0^'Jy=IR!f9~z. quu[!.tQ\_e۸M*4%*Q%wJ*%*&]bE=\ۓ [6H13.R>;v*̀}x0-<g%߲_L`ieXLݩw#oVp3m#ajUEֱk24|;Gi,ru HHbi<)|eO`E;+A.7W-a2!vWutm}L'}n@?rMW{UZP gx ŁzKIQ8L{ 3NLgeXg]rH! _)_n&g; .@Y:<ܔd~&+5SFٿ#.Akj%"2n:VO<`kyd&68zҺ^D}Euua܎2Fo@-Mݸ,~kS `2:wy$ymumӝ^Y͊JݥI`3sJCѻNTF#fvo;v-\J dQf" 1>M^U.rh+բµ&:Po36w1X 'vx`]HVH^ߩJQ$`nosu=ѲŌvjMNdD-ǘ(< V>#ߐz2bm z ERV jqǖV6&O<:g2_2?mT?Z{IDW퉼|z^1h[ ǩ %2\WEb*)[drYmZ:@/Av6[/rQF u1~N܎t=nH<Ɏ7{j[}Z/c;uDL_ŞPtQVEp@o̤wx' ppLҖܞ-X#Ҳ?J*r}On(ځ@=Vp2Z:Qft_\a)A*ils  #[jK0z8uDf ϲ)qFdqYDRV斲\P.aFx&i;%a( + \8{6^8^OjZ<[!ď/clhN\{5 ԞW/qJ $o!v rl]ߏ*3 _!WTqHa,Rd{$ߪۄ*ߴboTFwHtGCҗϒ Z` +ûzm9y¤_]+7ղqQ7[01 Beek{2aŒ%_,/4D6xGc1I9J]ð~UIܰ8rΦ^.nFD)V`QmO!qj>NGIIˤO'b#7\hąCDݷ1\Y#-RSg_t!xd/F_PNYv bDǸ3(B{tDF9J_X=iwa"B6En glDZg- f䰃y;*>mBD&(W<1$g6 LgHaY*l}zI'9Un(%8iEh!6•l-.$ `x7¿άgPjA=%lTjbkr۩WhQv3->qX+),v`h8IG B}s7pû .%^#(J:^Vxj|A畇\Nf67_A0|57PXx6;]CZ"; !V$k|o;1'ځRp9P,lhsu)0h;iЊ#d~ⵅm_.ջMJ F}J]I'l35 pa6xF\\s9$w9xH.( 1|3n S$ Cؽ ]:Y;'$ ʁ.])RQ@:/~N9;6|M#ҫn`[M7J-q!:rp[$VTEA/̍1xg78 #cdnB # &7 zc O#yʖmQK`zqtKd>K|Xl j*}.j4Xz0XL2Wld>0~fO\zJ{d.C޲8-=GE.q켂IlI%V4;S76@+IA j5εO1 j㒜wfS0c!(ا2f}S]JpwdZadmTTmS#?Q #Y~>ru`?_q1ⲵ3~l~* &[}^[6OACkPWURHg AɷB l lfzp#rє2IabX?pC ^ Οے>PtC2N'Oy^g.]z-ױy64\AC n*LT*,MU6|[s0Dh4选ĨnQפ ^h\rKp|(UkG`, سY`ʻ`܁L}~[%s3<ġ[⚝V3Wm5QK[4y i euehO ˁ(^b!Jb@{ w[ӟHR' w/zVڷ] $7 rjSIJL˷C;gX嗙Ȅn4;!BЬ&Kz]+~"q*a?>e'C꧸|Lw"ZDid뻒 W;]h'ld_'v,ZMu^=|y[GhDR'H(pECʰR dѥڪpkobө6e6.d4v>gB"q;tF@>8 /^ ??H=U!(}CISCT lCsW^2%?%W m̊BmϋRԵ}礪V=ذ t̸ɥgj-r]F e`fsnkRYFa׺#菹lF cQ4v0 ɺk:jmfz8!(@k f]w))Ò HJd%9Z ㌫:muqTb3[ݑ"*:E:s9vr(,m'[ =N@;'%X7|k+㫀45yPqms-kPQM ˦lA])1LT~24:lHM{eFw皨;^.Tʍι ̓N{"/6|$ne=(z03[LULӴ/ ~VJL%R³ "3uB HR躪5ޓ o߉h*!R&=M!6cIְUhJ|3̰}KGtA%O|Kt? R'f f|6 U-v\AҤ)~34ܣדRۻu<ʙKԬjd33t G.!gEܲ L8lשN1 ܟ%w$G]|H@)ΑSsQ Pt_#5|El= r2DEw Ρb=2j{ ͩM1V*}N%"9mdv.h?3N*enxЀؼJ77A D篷dt*qeQU`Ua:z`."d !tywIv ʡ-K-sJN:Џ2&BBuÁp}5?V3c#r+,cxem}W[HykE6)b݄w:q3%aXVM`ʲFg%'O8AܪW\B/{_ /Ht7C(shhv6AOX\p3_#&pH~DW-|H& QXz #>(# ϴOU\#d1.mv~l3N]lYfE]:LGLDj1RňßuԊԳ "Kj;J봣s3=%,}@Nk/̆s[^x;*v{e*~$d!ء4%xQ rbDt=}Y}$-^xYxU#Oy)J.vsXunJ!io4$ObJR @LnNaBhfXu.|fJχ]֏:,m ~,E@9 6ȇ D`,}16X\U-[.^B!)Ye gHʏ|$l,4Gj3;TǾDj1=ْrN7$lj$n)kD'ˊ("+ȉŪ\Dݺ8%&}.Z?H ٯ,\Sjw;pi+ƀ@ Pi}SN oS)|&:ZJdfGg[F-;0{wt,OIɚӇz"I(K~Ne-RV\M }#c,QAK4Z:=!VrJ|+5*|VjKR68tdYjШ_3*XΛ;_u8%" Tpc. 4`Bғ;wzm0}WJsn pNG9$г0/JQ~~s2~gُlkH9.N䲄^?Rgĭr`ΠUˊc}حҰpMr b)ޖn'8i,+u"I¥L&H0R:Ҭkj e\eɖ ޵2%MY9ϛ\ rUK!R S-.}x'= ξYyd^Ri3$,+Cֵnzbb l$Cp8FA~^Fqzų/z+{p!C_W6tY~zMQ=1YIQdPH&IGUwzatfxY2&EW?JT]z# (]YLCtLKV|}W"q;Y9I0>nJ:ovb{M8EjG.l(X8%V0eBdUNj#~VE}`b'Q,t1A22e\ .7)~ WgS[p8AXb+,NTH@~noK/$zԤ}Q.kU̍}ŅO!qTLÏ>4)yɱj,lng:7ʎe IE5^5xLڛ?@C'񺵉g)D}DX, ùRd񼫉 7!n7}"rwƓ "gόa N@G mhdϞL[7uuEOR)CO>BSQ _DD8Zݼej6˴e?)Σj,I'aT4*L[T+QF@T1m, l񐀂. + >C#noFG$)oN.ÿ]UKxPJXdm}TAVJn6نUY7fi O>x"ڌM0PۗU"(ĕ[x]938dXdj=nPhXm!ñ]rIA&ER2Au;Cܨ2mx I>ҳmwR҄W`D+s bHtSrO@ÌԂ}|۾ދN:$ ůO:WQjg^苔z@:.,XzQ%Mh2sgaH6z&ȉ frbEX[G }9R#%y{W_u;":d+UڀXҼˈ* N.6%ΆI: _V`6pcIy]XF!gҞ$m.D=; xgnQx9@~r\#\;*F];}3516l'5_r99"hUV?L.:꥾nC TmBA]$>@0zLKۋWÓ!YO$ٳ>AW Vx ]D!dٺ) #E*cԞY#,pAR2>QW pC9hZts) !OC3K `&7եo ]/+Aq p{{t|uJOL<(*8Ֆ[N(@ vvNLm}8N%*UA' :7D^۞BXnm,Ԙ׿F'5Q:@Ib,~ ]{g$*TiI84ZHq$-q:wP08ԗ "z עi8"$XX/^N~N0#5,?eAyk7Eq!W}E tUDG_p*= Y{ bgsgXm!<l4a0v@Yi@uo\,+. PsniɧK$jΤH [LI)N>s+cb[LPA#կ($qѻ3b? &$}uKN.6 [ə[ڗ1BrQ%_@ONjhS혷Pn(mDe&5 ħ8~vG6c “H9- 9-3/SHjgұn2 #$QtS"ӽ.P{0 ᗂڵN%45I.p@.;NmAh |7ܞ'a j*2rRpk B  (%8K <*ϑOpNK1k@I[nn">hkX:K&mOUy 7‘v4}U1kO~&pU{JcN,򸊀zrKY[uAmoAs9ޅǐ!+?ÊøOT󯿎(f#8|M~Vq$F[X͂"/mcw+H\` !9]͈ ŪG{NC!6Q0!Nƴ+q.ک}OD1Dk%epK_Ev48-M@Xܕ1QuK;23/”񻅂eh D\DG))Cj@ffyF* 4 PA2-6EL`%"Zco4fkoܣk30'O#8 ќ׀ퟯlAPf/:6ΫdCX + 2!7z*KK* OmS3"CpYr@&|Jhu8@8UbM+l/5晌k9]n\O8b>ʣ4D nU l7ba1}͔4h;9IԦ8pL`ր8hWin/j=So3Vc f󀝂Ұ_~|߅>Ǜ͕,$%XB!T pYw' f*0݁:p"_&(wdWM/CcizNk P&JT1HhXGzgY M037#|VẺ;$\B3H"8/NX2RK4M҃C#dbOB!ulA1mPE?T620*'j`( z1{ţT,-|S oVx>^S &r(} Bh4b^pEJ@/2q|./;"U+/փPD=%M#L+\h#v-wt BIWp;<*^.{:(5u8@1E'a[>.ƺΊՐŸ͎ϔSR-=(,i BASjO`n",%K9<ǤH]FZ.t^Hڋ%?5\w 0 avskzyHFp֐?.C:@0ZJ9jKp!I@$OEmg,%d{($(Zb007E;A;1(SubVUJ/|=~HtJbHGpO"ۆQ熾pۚEAՂd<\ f \6m+y IVP{c?LJC6gi&&pvMcϫY,3{@1s[^/o&?JaL0Ѳb*-=:ENBB#6v( :-5tƆH;Qq)l]!8ʈoLUmؽuQ#XYV/#$jKѭ"e̝̔⻚Cq[87ϖu $i؋XԮcf.ҁQz2ɸ'8q21E?h v`5-ǖņ:Pޙ>F<ϯB>|d%g< P= "Bho2PePE],#qC>Î`?Y.,f^{r™(۰o<[n?#؀͔t%!?AgJɁ5Fh| qYbp){~R&VԵyPjACC/K~I+|p`j䓙]-[)'ߛ{vܨ%*m]Ri#qsbdg*"aZ0(ZE}Bmv,h{)<*E U)d$22>"gbvY*zrI?J9s`Xގ&!:mjkQlOt ;o,l@ t;0Nylgc)Wao^N+p.0ضUFe``V. DtQE鬸)4K;y`QXU`Xt/M%2=!O{[{e#JxVp]T#hn~Aqx* }V{:?Zu=aq3Pf3*P4LC9rhg#ުbpy$+/3#-Clw<dZi& W=BerΑ\EmtQM \]^Zk8Ň<鞁( o$ezװG)`>ZtV[SP{jbd{#9!x;9[ˌp)wS/3OY0*cy@ %shi>udEtO6R"RaY wS- ݎHR =v]zC),p.YX/6^5np ;b6n$ı}]|ro!1$2ﶈVÀG)=ĭMfvGbhdwg%u2PQRv? Q ˢe2z  q6\|9\Ji ђW.v΀0c/X{+Pa+|c&Pxj6/kCp_8M߷⧑͕4p/Sz6hn^kܳQԆaj ez].dz,ן9ް$trTzRo+viK2H_p=> .f'#㤈 _`Pb$s~U_ 2sk6Al?UYO*n~:De‘{=Y5CMpmȰ7 &,Jv#Ȟ% zKPxX⽐R7L$V; cz? =vy,%t bY F'2^BGbvq[q~)Gp.ѹ}A~?f넍COe P+ro Ҹ^:H5 /IA4 5Ñ^J`I7v&i-dL]œď+Q|f`gpB()+2`a邹?@t?0φ ? ި`Tw!ӶZ$%/~÷/#n~Mi@CП?JE$|lM|@ Đu!CTݻ{c{` kD2w9A*ͤS>:Ն+},Y"v ¥mDye`ymT! I-l2њK\zxT9ےH"EKP@+y>+3eau-+cTTĩ!{V7T"@RJfc:2'AICPM@cGz;S3@ߑ\"o>dj:|DžA2l}vWur^;Ak:0ͣ ]p_?z]|9|Z )?ܳ}JLĞA| 2!5;D] `|7V۰=CHe벶9͕]VS Y-z;%N1/(ՄEB3Ǝ~C KfXIij$_] 8v#y.|CZl'nWMl4GL}*6v iZ*MO`/lD$s`'hX(6jLr1eFtW2nd.À-Rr}d3|Rs9!=y-_帡Ði =: *}uLBS̟=- %0i{#8>MҌo?M0vOvmm fҪgڻ6nk5&Zۋ *tn{Ў^ZX XL0]i!T c8t' y(ö87r[mPҀ[,e .iZQtEWÿ+qo d`JR2HdƫTG ;~D>@\.|Ym .TLkGHX"\+8hsW(N6ZRrL9@ ?' Л4 㷆<<-4Nr5|a&K ūPx|ջ90!^Y,ѵmy?|+5}᥻fuӊ\K0cub:Њ7ֶEb9pvRHKZk7O\.nc[ULWRh EOyx[dpF yeO \@\]hK+o%J>E`ي")6Jr1c\٭*7 ?]? FsMn/ rTA0W-lr~DQGY4}A;Y}}-Fu')L^A\&󤰳T :9P'բBhwճ-6~0\KN%ZȘҡʦsS#+8uGjպߞ3ꁶ+O;f&<g(r`MGuZw yN*ߡk':ҪoF09jم_yH]$9&[K M1E-mHoëH-:U Jp`&9hvjOZ,0*Y<$7^s2e73g1f<&D]!yXЂ,sBJ>$DhoԪM12)ukP[{Ķ'G#f!;wW8}`ڧn`zC/Yj.ړ7C[L Af1lUz_}q^l[Oob"hh :[;B*ivF}q rSSz|@@ϑ=8Q=?V w.> J̯ Efh*.'2{)T jRu|M̀>Ο2dL5XoKFIwfmt =l^\/tͼN~"Nb殭tH_[m n"u1 PaȖӎM _hv>N}@L$ |@|<8W>$ j8gsk-YA0 yc di%t']%@KL:T3xQU5 pt#xt~bB~ g%1Xyhz%60FD0,/t/ QJ k b.~zUKdc9MT% S@~Qb>Iv,Ny 1TG.FW%iZ0òZ]U)6DuG/sj( K~TpRMFzD6=:'ZTLM.w@09ЀSD,^ x̃ʌ);ǮF*n2%nQ3%U3oiQÚNG甮v[lPk9sp壢@b?2d~;oQnۂ" [KZاD_puRFrYqt2_ޣ;;[1 4Eԝ~Q 2Hv׺)aabK(!=q]ɗ"<u/$TUԹHslbXH"%aXDCY^A+ /AE vIw1PKaKarJj{w) :%wWfc>@{2Y`/ hݢujr3TN?r2{gT#GwJQ C/2~Ud h7W҃mBy Ǣ\yw L$2! ߾If|}OS{ǰM$D*o{pfgBoyxq1o(1ҢBZ?Uhi?9ML(,"@U!N I~Ūc8wjmN:M~ۚzd%OegS"rƌAu[Hn{۲滏{.dk Ihx A{2Kk'ϗ;!=M:Et=L]3.HjT~ [/GYx/LR.Ӿx^{%aC%si|sΝ&/JՁ^}AAs\@poIcc rL ؾ XA5jŗ*qaR~(ŢJ< >v{dbGs|<(w񕝰XLL>i<3-z2}|X_4׷K|OZ)58>j?f jڦ`yj1Cv íRO떶w?̉@^[ag`|+xBfʾX@TzNٷ}=-F'mt%˩w_/Y%lol$GR F.x=7gYO~`.(,h[0\"Ko[`vT_V'x,*RAc*Dm-Lo\zT] zBE؆5<P5ZHV P*\0txA$@dQlCӌEKapMŐЅH}2n'25+&MSZ]=^rI:{񕫒۫y0;u€)FEGzu_i2\(H>.MǰSjü1nmY" +]{91hNm{LL#vBIqJ{f*wfD h 0?d%`QG+;MG5O%,$ p=V>&y.ޠ0ٙ-:OU|E}U+ q| j#/ 䔶)r}~?ly\eM,C~}BnUm*Aݘa_7Uˍwp?9|F۽U#F_PL2[-@C\4fI%gE <[M4no>L"T@z>칻,eIkԥFي€h.˜=NVڛ 8=&Af!Q]3(`:E /K0>#C( zPSσ^ oC0 V N "\M.2Nwŵf_o%s)8u9vdQ &4 ''P*uEȱɻ 0li$2G5 6Oc,>5 B1rR=_g'9l(N g;]Kug=qghon{xYju {(/`,v$)#LsaBX2^f;n0ld)o5$x~ؕW}X4TY(xⷦCk< x,M+sba֌ Q4Cy6rBs{Vzsc@ !BS=!!XPzUS]N{ pj+@ykђX~+rd~)")[΋wUQؒ_]h> wRD xNh(mIkyC : D .0r5'oӊ<&UaVg1>*з1MxZeR3}hY;P#5i f?SJ%"m0[@EкhevStF8BPi$A.H ;t70;2tK_pNf^ =w0}hnjG7 %a^Ki6qa TwQ6^J#BrXk[ Ƶc+ U/}jbM4N^c<F| V/_򹧺'EiCZwXwĜԫDiJ˩.afK%=RlܝB[P_  W&Vn )m]- J=9ɄB[dN\pbZ7G4yC i =jc81M_BuEL$=:oIyœݪ%mϜ/4 B>:eRrnh/|/ È&V! Bw5JLsln־1!kşUNcYK%mmrݧ#CmV0bh4BF2=Pڜ67s[ ?$WϻV3_ń*荡P 2VM-FQz_꺈j|w⾦O _ 6-,#m[˽l5b5'2_N#ۇ9[[ (){|o""$߮mv8(Fu猥J N<&G"R e)4v+\?!aеӐ1{eٖH9 n-ؖ* ߗp.M~י/BlbzBK$@Q T7 }L$]e~2ɐTg rklBvv ѢVx;z~ )αD ]$ͨqw' v&mOx'kAo 2h@W,)k{D)ghgq&s[:Xx#%Oe,$ZݫXG]C4X`D"TE<6#HT0'Ox+\csR|иǻū? +GV.Dz BSpL)ٜHe>{sVLV94BRw(m䋨gkџ0G&J캨?>.#="4wX/2 m+왦y~m̕):IS\5O]',iWζ]:OjU*'Rү&i/m=Y6~[ Ƿ`lr^7EAPL^^|NwW* @X ɟ#pR6pq 5pqt> ( |xgcXf5Wϐj[5Db^Yn&/`*>%It$+]ݩQ0~8{3Q~vq ^X3nHG]q2-XptqZ/j@] %_,{,Z]޼ppOE9>NP$W R*cmwv JDE8oQq`Fm9B %врh_̪v®>xܬh1aMi>Bu&&A68K  ̄ /aQ/7|#H%Nd̒p1rq]In=4 >Nj[8]|a}/-٢995@ אU!]TJLUKt M~D,>V^z^m8oo(P a`a}ugFj0ʫ)ΐVXt{] w5ES%GA+a$_ Mѯ.QJC?[NF~}*nNNP{_ƼVYXjmnfϳC]Qh3r&1oꁫ1xUGyɯUGTٿ+O*&(-QޖjDn&tﹱņHҏ*[Z/%/Σfp_\LYTe'Q㭂trx7^OvKoZ>AEIPl@ < xxEqV-[] sdg"w{߷~7ZQuV^%]8h)71>OCq޴rY|g-YZCwJSB\T һlfcA_bF _WW+訶MMh&u!?Nd%}T;q춎3D%+/65?ZƊ׵*Od"'@m`'_~8Xo|ami]­0K6VbjqaC׮Bb5lOQ7O'-y>*J>ȝe|7O*) EQ{^r&i&~Q]{R ӈZUF2_b7b2 ra>vQlJq#&`^O wdѢBN"J͈ܞ@+L+P;.܈ij|)|<J6ۂBCéןRVvrn ai7sd]NǮT%DtyC[$ag)5,:q%"|<%ۨE]dc31=C%)|O'Ҝg }M̲.]hT Z3X^ϫ"Zӌ $vX?NV PMc$U>2|^x5] ApHC-~ٴuy~F79kLi/3iCGə̫3Oc[`ޜs?>:)οf R7CP4d%ݴ%Œ^5Z5Gx\U W3GH K=eJ`|h7W oR9%Ju"e ǐD2f% w`->G* B:ӳ9c ; =;Rܝ4ъsS) Ớv⎣tHO;=g[S7-I2u5iY;!B$*BF vfEO]f>hqJMo~h U݃=gnA c=SYbUy{INmB q/xRu:h¸6#ĂZ0xlZ+ e.1'Q.Yox*:Ot -?lU[d~=h(̏[+X=._~1ƨmm+Sܞ f8~)jPf-;0 ʮBtEw9'B]y#)Lc9R/Ź40ykMl !݋x@nGxw0Ge4"l e97'D~#@W Rt0T*_o腏3F};3W\̝ۗnV<Ŷ+61mt7Ⲽ̦F44*ߪrS%>Rgz5 GGăsyRoM[|VYotF$׵JQjXC-ixQNMM|7&0oqFbMtS6cщH1.Q1w =PŇwQYp:n}DQL"rQ%;+)mW έo$<+޹+2W 2\}zXY0f\! vnoe1q ͗eEy`O|r9%IA1{G N!êŐt/:>}c Y+`+ kB~yF 4T-T6ና`Ew`f Gps{%4@{V6{zHr`a $bxixM>joQlvf͉62)#Èo*朰&VPHi$fn1OT+(aXO]qM:6::vS`Sy@V7/PAEUF m_qTzxp>3}#t!+?s!Q#i?p{y致{j\9-՟0A!Zo7&2R-'i7!/Y>'^2Ī~2#h~;َVYͩݢ7BDOΎ9ps׭6;(#:#OD;!kV{[.uӘ3hpގ}ƎdO!M hJ%1D.kAø(v|g5Db+l9kaqKO. Jw P:,-M Һ:Mʃ^080Y"ޫ !jΝF &L;vnQ8yRi/g黾;55]nK۾! {Qxz+4oRxU;8 1Q/տhIxƲcy^87UPa&Vϒ:ZJkF 3U n!3l<d !@ʴK~0d,%bXcE /`vN4<5X!V˫,[DRiԓ–H]{oD)AUif;fV6LwSŖeKrC*KPGhhnT>D.*~T,4(G1_zXK2"*L˝dnW)tU9=wCp;HE}YS^ /~h8B9k*j_e3i&h@D0 ;L<2SAV%+\p(IJD 2zRoM-CC: X22?BnlH4SKy ִi37çחƀ`DjMSr3-_ [$ ǓѝaәB%5w;pwaN\ QCцl( ^Ês$PL6vT U\&'W WV;U%N_h*NtNAPԐ"ɒK̤fjb_bpv*Z"|L &W~O1</K2UU[g#,Y܀867޲3o ?H h? w4etYdBb&BH^M̅ED 9L}rȩ-6gJ hk!Is)UT^rCȠb4_Q%[WnP0Hf$m5qlcꏵMg7t!DbɎXԗt:i9!xمj湜~g&,؇Wi=؊˜\j\2*{O&}YJq%VyCC{U~F<։g9S S:\DwW(ڹܹO R䣎zXޭ,&Ȧ:h7~oZ>ƃ`B5a ]y2>o)V,u@20hᾼ~tJ(kϢ~` UOU7ͣyƠAݱG=xR