ࡱ> `!#[y Rлvgnv)`(.^f#x| x[u&t؎ؒFVH&%R&Eq#($,YQ&-v:NK63L:_:3׸Kx=x w)h|sλ.$nPR^-VtNt`MMRUIy遼r1_񾲂"q tY>fzՒ05̛yzdtIOPiqT eׁ)gE-2Q S;!-5[_in,ReN+ܣJ>)(Rk֨F3|7.@ <,/Oӱ՛G?QYRc*U Kٸz$V{Ri׬JlowJ"eLho^&+5HbF? f1AS  EBњ- b2(ZLr(.j+M.6I<q]H`-wvgXqA4.Eǯp2~oGtzE'%T&3Ip9&.gy=sy!iͨ?5TF9;5?'| |רjyVu9fB#ʓ. `Ul▚% 7g|0M>z=y1Ui2Y61q$.9;;gpfāv›uĸdmhŵ$th'z@Gs/1ƽb^lf؄HHn4vbۛ~s{Ks)ݔEdU~#zv{&6z\oF|TLǛ#6;]X(":%Wlw;bI}HE9Ǥ1dF OcGy~_n:(<nݜ 氪"J"* q׉NEX\c%(JQx |OsKDļL:MrBɮ4VB2=.=^J9 KӎbK7*I޸"Ɋ;}g_LLK61vިM,GrZ[(J3*c%%Y"vGwtۣb;rebwimr%_I~osODMSLlr\*\]]ʥٵ&ʊt{n{=XE.TB4{8_ JZ|f]&a] -4厨񧪨yj\E~Q]5S6@Ǖ&]mY,~rV4ю)c'nufΈ0(1hYI620#^:]Qff,Kq(]'g%gdZ#2bN6m>#dft-uw 8Qϻ e?%%U GWC7 s!FO{)\j&+b .d ֮Hç'[QLم(UɜWgW&z(\jwy#q `bcuCQ||p (%te~`0DsD!*mcm2n8(aq#TB`+>EW4vIyg0!JL8fE d9Z3( j^ca-ix>J[(Y'TR+«5x7nQzqaq/>+Z8kU=jpx%1${^^f_i"{T "L`~g|JVs)ΙFQfI"^)̊[_aၗ]9/漚Me;?rd%E`>_˕^GzU1 s`[8)>1^tXDEg&Wt{2Chz|t{Sq,2Kj1["zY3#?^ 1i6bL.  h&3G~>spK%xdw.Y+cCžJa7 /u_ *ś9 h6A[VYGή=Yׅ>Ap݉u@7҃9 ѝ lR->ZFHW'R+GH5uW\bEWΫ/^Oz~'=zqi-ԓ,䧡I}իR[F/.߼~E|^?ҾD?ҾN Ggҟkߡ}оM-c?о0J~Έ߇>ҞFCC}Z{$F8(0~?}=h'/` 1O@>B<={џp a!=o]g>G?FԞFmaa-a`:ohЮMY P >)gi}RՐW U)hM]!8n}[J7RoJqv"~ !xߟrvv7~J]FR)uSꕽ#җW?ߢ_E}?CIȟI[orWFw/so__B;uC|=zF6}T}sa#~> OOA4},y⽈x."x߂75p?o̟ .caG ^P?<9|DGnq~>>< <? 1#S8En?79N`݌?ݟ~w Ě 1C~CM/q4tg`sWB*G%}5_? 7_Nq 9C7'~;7boL17 +{9q^p9 ^.i.л9^dvo[8Oqp}/9zoYx, #v8C8 B~XM '`Gc GOxS'إC@?Հ'U7A%!N@ A ѯC7܅w ;ż{콤{Jv?񐃴T&TZxU}v༐֐RvB `|ˇ|.@ >ja[>u |N2˿l#+X-9<-@Hӵ5}LW*t tHŴ> v}!rxz}1Hu:nnBut/h> y `W jjF 5um- 2tNشpٽ|h2Ĭ0읾Aڄ݄FY3`D[?C2;#69" XжMIt;8]з!vr.{ 1>x7 !Ou7/Žp=@44sfR7f:R?VK&v 1Ë#{pý8&qw-9jpV>_͘ 6!XЋv?l0F#^sFaFtqc+j Fg3r'fX#̱A rdi ӭ#Ϸ6alsA#;>됫둳w#:3dBN[oA^o.6c,/¾qEu7Pw#o Y$Qd7Ps\"C{ v+ 'VrHp#Ip Ap8<YcXG?7{91J e{{Sa8@^%G669C/}8xn#d6 a7n ?:sӁN  ^؍v0\aSf1+GQF߬DZ&աFT}(J3CvcYG=dh.]s2ѷ<U@hGh sQ'x}  -t?!ashż|;_y=..;/[9eR -"-4EJG2-R.: =>a0R, Gv G cH6& g@Ql"w=86HmB^y?pm"8@{xKߋx~/<;Ǯc%?g^!50bn(0՘CȄA\H<0nwoˇ=YOH'T7ʅ,}rVF[nA߂Lu+260/c5މ9 &bD^!xsp/܅ypnXEc5?wbу'}27sdFVrL/a~> oF!>  g g  ;-|.nR¾ ѿ\aƹWBV] .;}9,ȍa>9t+}Up7`~a;8g 8Vg;f0bxF_\rfYbTz|2l&1McX} 8lub Yo9s`l7 8pxBw}Άro[wG;|G' \x9];=v9WTFèu͍ 0 b\̥Zva|'xw>n4A&Y;]Bv>Kҕ`0Ff%;aQ"[TU+ h0+u^`]48tS!}k{e=f%Z%SXF%'yQ6Z $7چΫi O5,:Iَb] ЏSmx 2 8j+g%ʫ_]W|Ar”$Jw˓Yslr5Y7RZXYY-kpyJ+-dLl!sr t:YNE'Q:IZЦIjI:Nҟ6lOK_]9UB%*Hr.SH 8߈ʧyᵡlo#"">6!-?ԅ`{*(`Lr _%0^ C6nXOcu~T;ɗ ZtޏxAD5'ߜJGm:ƷܡwVQ/"3\;,yK'BeB粨7Y g٪g*XVU^Ɓ9V$Q < E^U-(khpxku?TU@rs}nGڢ*ZnshYЪ.QݞfWu;rR=-j|;^Qt'לʸf;C%pvQfO|uŖe-zADKTKUxZOr+^O}B|S)'GEn2D ="~K2,nG~fςK5M f`D%`e-ؼ1/_]c}1_cQ;)ș6S"邩AH{DjdWBA[RM+ڣ|QG*na6VuJKry+˽N׷'co4RQr{rKn^ƘVVyjh5ɚ|m!92?nGnpd=D69U~ Sm|RfZRa5JA0Gn%,ڨwWT#e$Y-_6O̴N S-Pg&ϛt[$'VaLêMymM剩vՖARk]Z-Uo \r{ 53c# L2ykfO L%%ufƈ斸g a)M=kL'-G[&:NaW,lV)'6bЧeꡰm&#vfcElJFƉ%Ŋ6q.FƉn18e}L#4}X2Υ_i񶯌 } I6}1H!!h+cVjOOɔ&gsnR';V-d E)nM}dXԌT+t5ծ{dsX-f"YStuaz:'C3}ęMPZd\ܟ!/vD!c{E #^3tqfG$0_ܣ*nG/>& qޥڴyE[(5+HM"lWm֠am%6c_J" #iy勃0;g;K̭*p}\&uw {;Kq 2Sg k?M8SI~x/l il#'O=zAn];@|v໓n@-켆7+}\}#r#P#>o_G7f\}#>>o3_ohkk?6ƿP[ğVAϏ:j:?V6i?KNiO9>0~{lW@ :=O1>9Y:Ns ShU*rs| cCa|1b8NMOϣqΟ Ȝ}\ٗg[{Q{CGk帏vAkF[c3yl&M侉4SjF=;k7}SQMڊ`?D==\/лw"ׁ|zw'1tQn8vad>.ڇߍ+ލwK/{U;q?~~/"^RwJ;OGqǵ?;a7 :IOkE]{5]_! *sLyc>> ?69PܳCyM|n8.^{? G׸;B^.^UL UG' 1> bK_'}q7.u ߁^>;I ]E7A;02Gtn\#n<ƾa1e~A[O#A;ZM]5Ձ=q5t o2> m?ܠ;?Ԫoid:f4 %t^Dl5fhڑ>~MNvdʃGy1?G^%Sq9?axQ>r}yzO  qalbU)tNs _(Џ rǐ?Z=GpëAY:'=$2tCG=njy^vAkF[o3m&M侉4SjF};k7}0դVlwpA!هA˱q7.u ߁^렆E}}\+BJ%r}R)Rwç;'iP֮V${Մ-AyMS^L@31 o2> mMAτӏH0P m6lz /j@(/iU>?V]K,)? ڧ4Oly2t$+hVOp| 2vӮQfqLd, 3ʓiPSJ_xʜBO mv+ؾ' tz<>gg=K~raͪ9BX1bkcŴbA3jb4ZY!-䷍wn jWr#A0q>C r{wC߉\uߝE_tO8yC#sDq?ouoWttyUZ[RINJmXVrVhbK5%Z=f ~|^F-ؗ<خ͠^(:p;"|z9w.1iQl):/ǎ{.JsCFn+\BUBԎ vQ=R"FrPb#x!͌۠w%#Α^t{#\#ݢfҗkΑND%(vJ/Ao>K]B ;Fv!Sl): jtڸ#7ɦTEb{5y"V[Ed'Kv`clI߂Fx#nav8cVda#NG Uֈ9'6躰S#3bŭ\c,B֍s5O, #2KoEgQDgQLgDW/֞L(8$[g*Ax+b͙mb5g.{Pb RM7_Du~Q9\jJ8f% Wr}|@ס Ý:V }nKb5%2@*Halíbp# <@ww#3kŢ:lxĊ안yDp5<'rNaz6iFG6lθ z~/O,2K+DWCWCQt~y)ױmtqP(j"kbPX7G9ET2ƥKᗊƅ7 UvʱgbP(چ6dKĪCD6r+_C-r<"SlX;"SP;t{2K:ClDk`mܯ;Q7*j{^8DQ>X#v :Aeɸ{ 8SJgpJD6d!["Cl%!w[}`5pCۋL=>D`"&`p_`'d&\@6$VSI|}]<:Ţ. Ҁ^WI`/0L48kV,f,M.],zv1:uyؼ sy]:KB^s]|> deg7́NWN4nK`@}U4z{{{:lFF F]b@Xփƅ7 8ɵ;o=P}6! oE.9G.[&Ĺ|c'ndzʁ^^/vc~׎o9-A?nyߋOoY wST8@yCZ@縗GTgԈ:Ee`( P^B w؎\ 6a#cz8@'ndzxz?]zrdMb Y(\~n/e},NHv6ֈ5h{n|V/OϡϗE%'rN lw2؜y|.P =8_B_/LN@QxnϾw㛸:v@X 9X]"߿_hkX nQxny爭pUGrs;KQЏ൩שc-Y(]~62_K|]bia,Fx)>H b_XÆGҟB.}9Dׅl<_ v]{w/{g? x9dg\osOg}촉-bs(`5buQ3kG ߍ[2_nv<+[A^.Ev"~v̉N.6s‘o^|V/{ߏ>qd˘/}o7%y6RLyJE _X)eƅJUH˸1Qi lPk*+t*S['_4+y|ew`RHV6eW ?SaUk@-2n5J{ Jkz6 kZqnǞtYiTb+%eQ%Tr9` &N؂%6V|^vSd~5X r@w%-A^^jOXN2ɺIKl⩏Ā_OR~**g*_ rJƫ*oP(oD"􋔀_\=uȿ_*󱝃RB`'dtuihp;TGdF-"/ٖT@tޑn32 2?Wyܟ1MyҿXy{=r^Bc7GmȵWAL]`|п @ڻͻ|=.KN"sJ:}E7bPDg5tjj5]n\͕n n. Elc./}*Do't6d9nbz m{7HWo`wߩۛ;sL|,."Kb21z ")Ȥt2C6%۟Rrѻ_5b 9+: \f3uM]0oƗ#銏|{ 7[ [t%`1:?"x߷9HǙi[ho7_ǫ%图}>uxΗbhKo%_/ەIN[ mпE_AUd ^oxo%jIݿAK /dl&:oM6jfieF~_9=NG?S5ӾU`%yʓ\9Qj uy~,R&qƏGS^_^SG!p?/A{{_}`5X6,w'ϜV2Z롭9'c-W*Ftu:A7t_r'ٻbA_\>d}TrTB t˻4ǔ}IvAx{W#ls[XV\3eey@ p2^r;IjgxخU> Vp\вg!bbCʜk&ù/!\bWci?t#W#BI |7 6σ+$X(^w 抛nx57P`F|!cggwϟ{w_}ya_B\sq71n>%=MDeM kLq|&`!3;<`#MSݰ;]Ĕ3x pys>x y$ܼD)x$8qC (De˖eEIj#Ȗkd.9:Iٔ׎'fpzfz$˔*_VbĘk1UGb c,o։pΩDu,㓞3ʨ9chxnQ2XlcO|%*.5X`'4>5TdJC 5B1=6uDupS[!cT˫Fz0=V ׺ 5zDO9)G-=n;" mlk7W D(HroKCyۈv2.fwe,[noXGeSV*)!/&&6׫͙ʶ2gYלԂFkfyZmkj`dt@emAuu<>o>)Wyս坪å:3gg.#|_e[ۺmmYA[`[lu&ˤ\Ye=!֫*ɍzު<_ FBʌرa`T;5شOUd1՝oTrm-`.?RnUSK{lZUt0vT\UZ;S3CI .<]}Nx+8wԮ[UUw]- ]%Ն3-&\NߪKk4@>Y+ۚ)gmU[Z}nu/ҡFk̪ښ$IkkW1݇xp!Τ^Iyz]'`b5Rp|;;Bjdťҡ"*oa= %5XkN(684@'Hhs,nK[KuusbG=cӶ&pAP^!j$Smh Swt Y"U8˃CyQ\Ti+nӅ ]cʑ1NU-wJ&hbGT蛽;C J:}:oRr\M)IhS*KgC0hZf8zzft~zz͙fEgOho6$JjM9w2%:CFQ5wQVoF5^-jݼ7>S>;25uꋔ|k\7yDTHCGFEP SC8IHk%B_3e;Ko /v߶>kCu"z Bc bmX5wϡ6 qQ r P= Tgi0VK8Sp+)A5# N8<)FQp Fe)߉lm:ȿjwH&k'Ӻ e [EWkF^].ac^-Ve#z*j$"z$\vwGP˛+ê+eG[Gx#覱}}" P32n>jK<z3dr jэF- 8s+RHh~`9d(&كOzTYwM-sWqj#?챼o12.= Y o]|8ĚsGwwy]dc-wrP>ȸ0:mR>nf38}:}|aqeW|ɐfK(;{pރ\~g[e9{Ⱥ{Ⱦ{ȹ{Ƚ;t]4Nz7-zuE:ХλhSԙq>НλhOSSv?:KE*aCU-oHڏD~{߈oNj:ޗ!M摃ћD(D'B([fAѧ0 ƌ-@ѧ:K#S1Ӑ_t:n;!<< x15bՈ<9%UnoIogVۢN"CMuKg U_ˢGYC;U?wMs7\vM kcB_Kf~өz&y[n(zaSͭƐ7bZ ЍHO2Q nuJUNRs42*)# mi\Gֱ5%ӑ1J;ܙc&()2&Ό3D~pAlجՕCcg]+Cؔ#3;#Fu$I[}gGPq83s]ç+SH?qݸ\9wt~e ?>sw5njYw3HeYw'}|79w?ݑXPW.FtK!98yzqr!gF X~r'}L7̌{t3v:{1=;{3LG܌'qo~t77cuo~nVXVGi+8BVAظ0ڋ#tN+Q|R++=73.C+ l`?T RWKERxZ[.*@%Z8쨶Vi)l< ہ|(c>&m׶[uaѶZ-OhۉCT p9V'`dJ zҖj6S%x[-}+'/޺^N-YEOE,#Fh+jBwYwGooq6*oj hЖ֗5`iӑgYoh7le}Og e^A*2]ͅ^mx # 1o5rx]\tb3RM7e[_d4%/NwȊm=htToJOPbM>kI 8g!F/g7Z&s~xBԖZ"ϣޥ<,gD?-_,_Y/kS-/hS,σ3Z:Ȯh3-Ojs- ң-3y< /j\+@"Xl Z2z,RYgyב?5awM[b@w:639[_c""#,#*N5$N轇;42uÌD=JZ\=W-TnThK,ȅRm/f{\Wyы^̙z掇9T *@t6r y6G?#̧"m({\K 2 m\[e"'d!Z*do Nm9.4.4+g;jj3Tw4b~_3L~]_EM-6 mX`~Y[ ^$ m -d|$VSſߋAXl]-U[M7࿎5nļAuMcG׎>?7 2D~k/2S'jdeM42ңңj+s׵ܓׯȎC5X!x=J T<%^o>ΨgtK F$njmj{{R(BT Urp8|at |-zO~-~ט5dou ?glS8T;𞋟LWihXM/i˚ +σ3ڈr]Xf6=M`GB|隶hzk+L_ԖseyM_SMρgS]Cv׈yM 3CA7{3~l_c"(#ŕD;Ր8;bOFfK"O3ѷms F +{Ŭ%,34UrfHTPNߕiSL` YJ/Oҟ|k2w<\c~2ϪA%(.eG~ "YA(k3Ya=LGkǘsT9Xg5t-zy?IS6USީ|W*j b |Ǽb1o-/ux"6|CXem<-ND-Uow)hs/c*c>6c@yW[^6zo&_Gz7п b k6 x"{ʼTyєxjHLIy6GcrDuy:Y` ?yr\lJ}w^3)g.z6s޼%̯+ȯvbyuuyvy;wZh'^f'u4g+rmCxw)+WS3SLr3G1uѫa܌`'O %\LA,/ <[#VR:PĪ$QMwjf T*G>LɁ%ȗKJ=Ftb'@sv%<|^TJQ=Zإ|6q^+9Ȳ Ev3#EQbvA:-cA'.C;y l7߀|=zbC\b$:easRہl':sXhJ*&^0M9ae4$z4A;+sK"5ZxDӵZ1C/C^&A/C'^\ ?994zsk*)=6|ۘvAzwv tOY̛940R8MOS̑YY3GVTᕵ|T#lL)#qqkhJ*Lw5ѐHGQYFNz.iI$4#B RHH9tXAt2u̡t\ 9YJ\/gn%_B.F/8|14S贈e䱒yk/JO;;3X}3*X=;@F6 y)SG6Çb>#LBSXa>^;@>Ezȣ},8gDOu刜y. uZ@1'#@R1y*,2d4%RC]7ze^Ooeg錎svXM%-O$u 83iC! kЭ$tH)킟Nf\sg32_3Hk'"_r|.rb ^PFr ^PSe2 *^H>r!yʂ;t|Fo7fiбtlCmA7)T`fBTcETs>0SqtܡZjt0*ک>|+TD2&ZR`6sdq,9?Se9b`uA4 t[zl걩]3p *A9tR%蕠_]11]B')C ^-:t粂k>FSb7U70GmN:L"o Xǵj3 '<'&?7ד'o˙%tbo@8+f23S|7 o@A,^4Ŷ ?>`*Z"i@-zb.1P/a)/SX3b;5g3qd l:dΟM@ɴ%<~2DU5%XEK~d+DA[<>s}yݢ8߃m>ʼn w hxC8a B +$f!'iapbxNSǘ<|21D^DޏDYu0::VC'+emA7o@ހ^HN&|D& ҏ)̫Zj\_/|/a^,㉛\YN7I kG…,~gDSA_}+䉦W'A8W&ZJDs_kw_@VW!X<'JZlg-*.l{T|v_Nd]zE#5ȫЫDJbV}ߓO- )t'+FSq"qo5g$Sa D`$SyՠRʄ'P"Ţ2p\JEÁ q(q - `wGEq|t남 t[ljt{s,e1G;~vE,"Qr8`WA> xnd1&O2{MTEbO`"~ u~Z̜XI$k"NJࢣ2,ف 4zhjZtjE%w"1Ќ6]8 }~7r g@godVl ́&Pu"qٷ*rJ ̌\f]~o&>ӁK&$)L) 2~> g@d>_ &4 :P *y8/bq\4 RQ_!j~p}nQ(l{э ߁o'`sN's4A{7"o@:YGzrhO!&udcLi ѥQ"Qol:f#]_.6I[@NGv#_Dԋ=t.-:b׏"g'3>D? }~7ف<'|/̊Bx._1b\řfcM}ws[m&m$̈䃝{?<u:Fs-$*#3bSyzlx{;us:/<+#?^eؕ'ɡ$:eas8a0{ā 1'vZ"JiW)I0bģ\o7!ۀN6}A9zW4kQ) yw>TJ]`RأT*BJcr 賁Ǖ Jw@ V ++\>ӡSS3خG (4p)5,dC+ 76 }Okr1N>ُ>|{~vOD~/貘d%QvǔGT0J{^pdbZB'bWVC)BVT #8@v|Зha>;J&!*3$n_T1sk=1]H]☍Q#. '^js(0>oQ0>t:=WO\t֫Ǘ9׸*s%%9_Oru FQpP%Vlݠ\&p <~ou<6wE^_/A|ݟOu:! ubLlkIJf7S 51d,;vjF-ԃZ*OwZ ;EL/~V_Gon3>ν3~jm~;EY]~wNb~bqjYlsˮX Y&oו@ pxvR8]Eަ/V}E95:וye|^$o闔?.lOfn_?5`[п.jn#j' Z9n%z^Ɂzem NVv%%t(9`o9 3ІUqR4 ߵjՠSnnmB}Nk"˩D<*1X>Dёuבukt_㏸>$v3孿RǛZ0>:Ms/3[Wfě7F4egΠy/;Fv{bgʎ\q N6Ђn ;fv ⫍A;;3ຎ- 43h&j% :YUD^'wy2o׸~7뼉_M:oO%vβ3|Fo)vYp@ /bs7˼_2v\"̧N>O^3fo4>:cg G0;~<`gСGгXQB0跣סlЙ©eeZE+a ˑ (Gߋ?~-:s.(ty} zwi.4qQ,h%v_GAȠa CG_EwC2h ;ı(qñ:m΅IQ:ˠgESĀ E?(Fѯ /tx;DЏGѻRDA'(:zJ@`:^'~(עC?E_L,NAGǠw4Yl2$j4( z5L ZKů/~>HAlj,6y9=[8n3D4[~@bC֨`Πc>נ#ƿ6h[cנf_5//5W~?x ^=flm3ڶmAd|2mioؒ %3emi-Π}}6#& zHtmĿggʼ|Y5GRC+w;Zyql񄨘Z{}ICUpj1ڒ ֺS {jfjUe ݀QQU##Fjm7jV_af1[/-&TJ\{C.<Yw\UdiZ+u5GsY/<恱Ϲ`焨wm\q7c| mRԪ俼upA2 yM@S,r= gB>{Կ a?U Rx{XHH QsJnuk>c5F b5B &DLjAf:5Js2F|0Ճ4?͗o+Ղ[Nʫ/ 8ƻ4n/m.Uo$ /I΀cUN5V(kHBrpԔOO+Ϥ45/w:jLy2!j޼U .G˶ۍʽt'QV.dXe.Gåm5L9Q/irKk Z\\Ŗkbcf˶mu4dkה߃"ͽ"ݜ(MI)YTᤧHrJj)CvAqՔQ1Xߨ,;/7lJDbݮf˿Eo7W (Y*gȻGŔVc,^Qem]3[|h5¯Fy\AZN+Zn0Ok\n嶫V KZhT"k4g"h{qZe9 ̖_ZwUMVqW;\nXWHX5tȨiϊ1x D J}itOger=8k&4 62H:]ބ>3?fz%x~s/34/m~#Y.qMe)@kj(P*AU~ mgϨ*:3)sn7)=Snb;%#d]ET _~IHojɫLd-izlyJ_v}\djM4J:GCUO%/i`ES+} $[ZRb~ˀpO+ rzX̼ /@ RD5a~պd;6&hi<Äirs &ecO[71V5>Nœ|ZZvYz*? 3kYK&U2>tվ:j&kV)z>;A]%>b5%V}$2 ټ\!A6oМtICMj:CMt5S30_ dk6U*.]IuSdɌ*j>Z~sxPQv(ܗ #셗oWVrƏcϹbQ/Q^E[rCmߣ߹*W9 J}B/k#ݼ?%,NJl&ˮ[3o}|o|<\^^\Wזms T~mF4P^v|w-PM#]CNC.kgjv|2!n\.WߜrGM7u|gEZMdYy Kԁ̳4_5O?,KЗqPUyQ52OVQ[Sy`[CUu%DYۮ5ilxZVX7QnhoMr8=5ZYk_ק(ǺJ_s*]騪lHЪj2w7>czt{wv,(|q'y%u+W7膾 B]t \ {UlfolKrTYcU A}N~QG:g:eͪ[xH;WG~N?zc!oZv-Z]ꪒo 35NwM.Zh~XZR퐚(YB~Ex+ZlL Q75̝Z#W,)p#8-/ qB]t%}>, ˴6Yb̓+39jo hG0ߦ^4*%@~դ?FKQ"XޣOWk^VܮIbWd`,yV\'"Vz`+O1,6|Z<+F|B|>BIⳑg"ȣCېDطPT xZT:QhE/8;"wX>pd5omwP瀐܇>|:逳v|wn8`܂}vM7h{aSfz.uo5K';[Go>QNxtg%kX̸F+ľ+B~O19"ssbS˻`~s7~s7Zlx ~%RG DMf~mRAfr2C}62>3MT)/A {~ pgCsXI'~S9#DMGN'ǝD?G$9u:^o"oGP|x9 G Kױ>w#7"Qsň3ⅈ$x(#|1{+8F}OkbcSĖލ8Y"I*qp<aw %Qrc+ؼqJJmb뾽^r߃{~PpZ9oFt Զ{cuu_4gov02׻o{] `܂}vM7HFr71fma>;@ {}z .uo5_'l|[GmR|G}ZYZve[ Bz7 xsŸYo bE7߀]!܅a1b`_'6zo.o.P p 9OtVjkfh&jo_3Z 6xMTw9]b-;tȄ |@*Ha| DlK 6~O H Yd9n%W}>g UU7WESP*}] Kbm|5Ng]t$"t(t*t,\f̠f2I'"~v$[q3.%Bⴸ ة_xf&щM+ L3G#..N:舯asN9dn @AYmfV#zQ:q+~]]t4sfC'5M'5V0 0ng6vtMD & bM-MQ q(:| tM! '^'E _ේZUN6q~ Эkq>ụy>~w-ܬBx-_;2Nj!sMLE>̤ۙ]4]S4>tBI4h*nc8l 15'xQĞ16*o.o.P p 9OtVjkfh&jo_3Z 6xMTw9kͭ`*n&l隢L:tMSw+D1S1`k@BpEwRħmԆIbCxk^й!|lrg3¥Gb _8?ÿ/ߤzᯈtLG Qp\8y67UYIwEf2J6eg?/?ݳ?KgE>/l Y_%e(-ēs? ßvOSspp֧IRȎ;BE^!j}:@%k8 N3>xuqN\vfe$|qNr| G;JΣ> 8)dO;Y=[1? k?\vk;qlfdc=uP:XGi&xmmq= U}t{]صqy3&우oįnbp|v6w#ۋ}zb~~]_VS*tk9n Эkc>ụy>b-ܬBx-vP o[-d |*qG|[c1"o YHBNO1s^́ΉMc| 9k\fkrLDd BDMf>mRA,x[9B*$&sggiإrLa| DlK 6NO H<Y&,laa'[@L3?φ/z¾/ΆI^"N$ 8"GF~7sw~ >,s!ya,ϊˌmq*~/&΅}9!&y!9v鰧Ys2`$xTx:<*xȿ+};8M,>J'a,} qN01Em/`"_y~;)5l 9sTA{P|  ;]_|>6ӈA AqqzCs5om۩}x.aj~@\ /m`蛰k¾Fr6clc{a^ts_ේZU^ˀl [nu\ 1:Q<8ȇߵp~ ~ [-dSaT?'<: `ŌoDB + g!-b>kXʼT9ͅ\ͅj~5dMtVh_3u4QG7~-pc_&o* ͂#dS> aoH)/A {~ ~oIT+]6zvI@ahA燡c\﹟jsO]з7C_[ o }M_;% _,)U:x[F }P9/BW{9r O='ЯR3pr.NG9?GG0\bXGa{'Ip8y2g9xN88 c|qǰ;Q(1㬧1pSȞDwz{~~A=~vm7o#XO=Ա:Q:8n ~[ 3߇>݇>|:g;@y3&우oįnbp|v6w#ۋ}z{~~]_VS*ui&7ouq-u̧y1A>uYEpke[ B  |G|[젘q7`W}~,$w!sȨ9/E@ĦB1?ͅ\ͅ~4nSA2J-LMDMp`_ XIp 2gr2= L7 IȗOΆ rmcK4Tӑe&[qqqc^?LGJ7KwZJJw?T*}U =^=^8.E:kb!{c;]sgwc}ͧG ?fϢEY_#z|=`!EcrB_hI`)4yYFe ga*a2yC|;HǖH7Lg4 *tUpc+XBGOgfhd<} v1g;#Ffo]aI;28!#b:X:JeQttKOK"xrB烹fw3o.qo!oo.oZRA2&"K@g5ï: pa+5 ͂#d.#-Хе-.~|RBD^,H烹fw3o.qo!q-!DKHk )l o}.GǏEp \ϋx+­~C@]9l 9C-OQ 9(# 9,B`'x/؏`1}gu )8'd!g9|Έ}!O >Cc|qǰ;QzfBWlr ٓ`sV1~A=@+6#kD@uԱ.=5?.u ~U\: &݀:~7:Q<8ȇp~ A:~̵= |8ec1"o  -b>kX́ΉMc| 9j\fkH,:Z &h&80Ånk$ 27 ~o{'  o*IȗOΆ 9,$ӑe&[q߯L(el_ ~"~]-e< x^R+^/o+O)gO3o'ϕS$xLL98U<&Ss|@vo`&~o)OZψ-}KyD<.װ{U2u|O9abCo/ /q^y װ9'Py߷x|G9 (Կ]|Si7gFt E^xࠎ׉1)9_(MԼڷqlg!Ny2[>|uҎ.v0nAތ &k$g#C3뢅m`x8/ubo.VU2MotZjOcσ|] 7^α~+Z\o)T2|K3.B /.d෈;(_:s 9jfiܦd7Z:ڛ § ^7c,]9Bz?%>3M q%ao/6rۘMb>) o&faon1Fel <()tB+i[b򆘡U/wĭʋf1cc>;{UyTnsOǛ"](vkeFYq` t3n6g{qP~]lr㟻F=P8P臄᜸`8o8CO.IqdGG*>+ LsͤM5k6=Lz\_抢&# LtqNr| G;JΣ>.N0IO!{l9ߋ= ^^᷍c+6#kD@멣:Q:j_M|6k h;a= d(z`2TiMtziOwXD( OmF]6.^Up2s[GR|G}ZYZ젌*Z\Q\d䷁cӰN_7jJ_wdMa@?31b` =7~s7~s ̆ M Y:: pa+|5 Y~sE5LJ?6 u3N6 nM&DE_ K4Tӑe&[qߋh+ϭ*'(SzDF5qbvTP nP oC[5v5Tw1vC͢2 lGתN;kSo q( v 6cc֎f5 tEqe1nw{\0W pqeoRoTwqdʛ*ʛʛʛʛʛʋoWwzE1Ėb|㳨z_'n0h좱lr&w4s7cc֎fA* stc]jJ+0_/Nbz]rq?^ܦu݌"wwa~zb pH5]ܬtU/SCbx%/F߮v^C=w1~9Cξ ;sX~;M/:S>b9(Ug6],FQH[.^wo 꼾hu^\035]jsJ5JM+jbf5X5mTM@>#91Hh}c פNkt}t 1ۡ6P܌JK @eWWK :H.lշ]%vĬķ8 5bfېFN=|v-}ės~B`B4W] _KE;ip(qRv/4RzuZuꝬB:Cuc}"_x8\(V](B*"&;Xw34bOs2:57uw7sZڻ{a'ܯߛ2F2cy ^_vkzwuuv5Q][f֪[j5gevvv5q6Nu%6kzKcWW9EލlĶH]ڻ b5w]<Ďإz:lmTz |vk'yrW\^L5$IŽcc ~.ۤmQ:{ԩV0ͬ ԛXoXwY7'[T{kw;ڕƚڝ {SF3ؑH֮J( 0tsY袱z? zGx~.qz괪;Մm@ՅA=cFVXoQ-u9;_B]|R]52N@n; C]y E7b{~䵫` oykիw3y[8T}$-]z^^pZO4ϴ`,{&uCOZسS]ӦU=;ԕ==zujX۳T:kzW9=lVs{j2^ǡA΋{Ԃ:Vl¿v5,bf;[Bc-z5yff7|0=m'.򴩛{䵏7ITM"*I$7: X;wx6,;z:f ;:|k:_q/H羹JN0}{:>Sy;ocΚJi;`(5}{X[MLhwwcqo#Ք:t7"5$p.aF.ݮ#YJC?.? otEkԵ]GMW(R@y% ulBˡ+wgʮ:Q%]Ϧ&բ&PkWjFxQu!랮moEBΥ[jZbd֧ ݵYk J*Xp_WzoW:yĜK]͠qɱ{gڥ&K&K.3|.զ&ӢܩlSxeuEv5sYѭ.܊܅ޅKcZ⸉Weuwn!v%v*Z'Nlʸ ՜=߃; 芰)|8LQ7c}kdXd*P=JIy'_jJKOg֓<ԓq416"_>gRs/cRѳH)QJ{=V36èT"5xf{sbWaU! ѓM11 czp`꧰#x{SuG%v_&Sotg(Ot[9ZIi)*8ǯt'+' T%WXsT1rߞ1pAJ3ܿNP漃{xNfjHQm j(Դ {?:=3<>g?[ /v=SNPW)O"?ӵJykծ eٮ = /_/±`rNGIƏSS)g |=_X/' p䇹l@ϓ]`瘳#״ d;k⚲ȝM^V3*dЭV1U\GW0z o.X-;r+ Vޮ5J렲`L3(k1X\b:]ڻ`rD%!y(2 5*/j_ zmMf-qMe۸wp=tp]CeY4.(ShpTr;.ߗ~!˭Lɩ&@Ś+?rB T_ FT(19rbvm)g,FqUǟbC^ W~|Ƙ;yvv# ?(BAɊo#٬2BEv-eB1N7:&"UPmĿ̖b!Uꨩ((LWRh)sZ$ajg/tx=z!Q%jBRJ] }- B)!JQ͒.3u"\",-UVxJ=7.u1Gc\nGE,O uU`eF3 MT(ľ7{p{Uջ;/eFª?$\J2P>JcX{NqU #rLgVQ{B"|'^_/+j']\Ym44Bf+f MWBz>2Ol&Ի,ngIX.rML(lr.D́ȥصeK~QӉpXnv:,bLK,A iUBcUW~XxoE&FHKU,ĥ21[N!IǸ ʖ*zfny7DŽ' 5'8wP ^,nIb"\/#(T}$cEFxzkqdzÚ;[zѥ^n ZNUd,gŋy!#q8%e!2AtСsKoɊ&P^b,t_(cS6bz!!lF a#=3N[(`o3c ({mn '4Qi/so6D>MjzBttIQGvwre*D UTkXiQ`[f}wȤQQ+.RlgL nRH,l^+t,GQ(LمD ֚mUk& 2В7,A\zWb ~l/ G#H} "K4 yi΁.~J!4H*YFREXqЧA%K i#b:G,uN$lw>#)Bayw/:,K'ټA*>y؉jC$;ci {B[7XsqJe:2(j [Fy1> 3qX{~Eݫ i,^jO4]uuBn ES(z(ޭ=u `4y["B^{:IW-fJwEL#{%[~] C]R })_ ix*Ӗz!T}t?^&3>%3ꫤSHtO>}xR^O5S[NOAġ~=K^}9C:v * n$[rjW0; @efY`Y/}OcV T 0xz}#ۄi$f߯~]YUഄre+{ %'!쥗waml#z̾~fh '1u>'%#4'@77&=6xo%|~ &f`L`-T^kY}}Ed]4rD®UtK]v^ECh^ ыޫD3|(T6F3^fZ؋:JlXƂ()E+;> ýXl?'k إ6+[#c7;n.N'&^| ,LfWWy KfP/"􊥘b[xEЖ#,FBAg%ᗤg0/:l8ioǤcbM:c/HeƄ7L~tmOư3zm1 cLIFIL? &QLlX`d/Sݵ>M!|,92ѐEHudDI0pϒ4Oh UntQ>$19| ј,$QLR cm#FI)$dJ e"Y7e`J!=3#O7wє )LJ!1!)&6$mJѳSD{Vh$9K5Nj&yKNOA_lI䷵1 ¿X!PmGw _!8ǼoՊ޿%V7H+T~ɭUJE2ɢ$FyNW2:i@_sU-N Y~!>^DQJd BnH'lIMt2N#KjH"tpS!@fmAb%,`tid yd=7C}#`߀v ـ؍ȡNN!8&:`)8 F,>fъsWq3\qZe3t1 z @tt~fe ? <f*䟦b-BIy[haBva=D!OM*lM*8d{6O13;Ѻq|ٿgaF2܉`3FF$3ញSU|';PoCP8ͨ&l3!_ R-׃oK'se3Pzd؈yՁz\O@3L]סf5]5AZ̝:؀Ӂs;t[Vr>{Vd-frmtE-tk=3N^)ʹY: iv#h;ivZk7Ր>G 0泶^Eu&nDu&ka^C4h ڬy@,8ze וNO]CFVo?;} vku [Lwρ 6ݡy' p-tvznfnVoZy`~@6!.u}P}r@7ҽXg@aUr^}֭h}&O+g~G_PϪϨO'T=Qnǽt`?pOQyح-}P4vhAGv~!ȞV=D gYգytz/}$j˯Fo0܉d{DXϫT&j7PW o`wH|#} Ӫ@-ja#jhmrFh}㞡S=I88|vӣC o@5Gsx OcC#~q' ~|p0}{p#{! hw 9} W8;~yy TCU}T܏A')|R4=7fn Ý)sύCc6̏N̏&̋ @;Ђj 5@}_A%_Kn=F; uV7 1o:gkű݀C|P/WZAzu܀Znqxvf+e9a=OuE3Psj"A*f?AfO#> +GCJI m"ȧ d5%.+;w"Be,b-)VKH5ö5VORjA< !\Wbȧ>-ˁAoA_]d.yu@#YI!oAmӆm Hk= gd1z&bz{H7栞栮nļz,]/uGMRAp, q]=`S E d6j:L|`Ĺ t̗ka7S{ T{1c?yP&䔄NF~)ə~' &'#|֐%z8H`l 7k j2;±z,M"֒A+%dN Bא`>I A d< `rȅ|Y҂>{b\x6ˡERgJ@!oAmӆm R\2\oV]H~"_5%}4m%c1  \r10 13A1l,*DWIhhL C$>Dbi@%WĀ Jp edڀ29`m!k5|2ĂC XBq1XEjC|r&M ؠ/2y^ɕf[s!v:k3z@C+8%qBE/ >>@пDe0TH5S*=/M)[QZovr$_Z`߭hMDYȣRIMFGqjs Uh'|X_#[Y㫀OoB&\G"n9u吗C_hD[燰=3{&2 71?88jpw@A..D}^/9Z25{vfXCbP[c /|e8KPPc>qQSç ՈA<bM므Eȓ B0/a~C&īGlvQDWO3*ŵ =e+WO L)1<\I*!>!7z `Wڿ?oؠC_ zO y {OyxAj%}#>όREhwm\Yy>[Bc 䣞&>ކ-{O%r/2??&uc}ֱZ:rɛ_p 9*-:fg{db :/vO݅GFZw.^VCzE{ vw.{-]%l\&=A䴻4W#bDd @t}t0/^8Z+⥣X撃c8g 9cG[E<G-9;8"A/1.(RaQA ;P1;P]634AІ>cFT;n- @t EFZ@. w@3__BKE<BkHQm%H~[R'pTC_+!Z( ])8AgHN>'|V@!o vm5:}҈jmU&_1ַ1ra W].,쳈1<`߈wb4:Z`])r吗C_q=COZN"kaV^}\ᜡr:ofȚ)OBQ`TߧedJn5^3P|oC"7ˁeK π~,[ 'k#Kv+ s5dFfۂmmBr!5+V.gM1Z,3{ K|χW=@ kD&X,l)tb_w@Jqv9];ՓqAԑ]dEW2®ZrSWU,* v6ˎ〿\r30k쮵] RXe22m3 S<8փ7M $ оב[˅.ۻH#Mic3wYsyٷ+-J}Y\/xo[ʵ266_:7K1\y3&t7 mt|gJ|j o~o&|Z}i8__|~ |gB u^ΥgR"`:Fr>Ft!Ȃl%t's1Q yh 7rgF = X, mA4سiC91v!ٜ 00CLjgaEExCE}K1/]q0^W%\<0cp'`|8\q_祘Eb6G0'm6^`:p;}s_{Mܗ l ʛRo&w.9e>p"-$O~ +Onf*wtMŊG4YR|61@ ?>w{JʞVcc:|>>N~o+]ޗ^sF"utr"@ό]w1vV˹L_%W ؁c'[ۈ&w]'wr>s=znξ[k] m'/|-S6%h["X;X|C `0V:xxMq|vppZ`[%T 0wszGvPyBE"ٻ!6D)D؏﵋؋"s/z7щ]Nnݎ]{9v帛(Ǯގ Mp7w帛(wMTnSDl]pn‰ '&UE"~U݄wNM8 y_5$<@; D+vm;{N%t`w {h]D&<8+!w@_rؗwpß~F n: M; `ڭGhGlO-jq/7dN蝰sލvQ{ w#w'1%wn7'_$1=]Qm@YƟL!.n2g;-n!}/yu.MpsͦJ,(Sxe'*MԠLL.PI|2(Iܪ*:dU9Qw*(#3QM8S9~PGPj:^%kT&4R*N+TǃUP7U`[.ߥ.GuDT_S}!WTQ}*US}$q`H^pOS~S7ԯK_V%^SE7_ ީ~1#r {/T>(WHo;%ޭuB?4xf'i64I|5@S/L'x)b=֔JAc vhn=@,xPH#5h$U{A0Q;Jk5Eڠdihx@7h?thߖ6_k_ڗIi3OHiwK#WN=no WIB/LJ<_Hᯓl>1p?-Ձ@d_*~/Cg_Ͽ¿$s_%#]--_+J+|_3$7>o?X9OkW|~5i-?ĿJk%+{$$z4dĵ䢞QD496|.n u_H^9vyZƒ8c?&$~));vɕe$$MWYǮ$%~%rrޱ_MD}5HWw'W%><==א$~ =K| iI|*1wO%%~-辖\'idħϗqut%d:t g{d^2h,ix,qe|5xFj28G.lXp|q _WGlٴeZƗu3d|XY9 tyG'*σ=wvvo$F< 3sveF6eM0- :okOrjJ:/%(fj&w£ o?x'i5Ұh3ljV[j`DzG|/Ml\wlO]q'j3v=%ue!hh#m]kJX]wucDZ=]dxthlBMcG69oOΩ.im#TZ(zf| l=o66Οd{5SkLDG*t]j0-oS\&T>˽"#bG+5Nu }v2g!N?K]ḲǮM;/"WDE6iׇa2dwЄ g稪 >Oduյ%51cȋB C] Ƶ@U]SpU\7T\ki/nOT>KTVڐNT)>opVޜRrwM:ܡwVӳDft0oXR:WI j/Ս?ҍ?48%e\_}C~YGxӡ44j ;dSFrm}wޢ: O/ׯ +لohyU{}:h`_WùB/ xw9T"|ͩ{v۳cb>-^ewף'>ĖĒOGu{C5V$|MU.9)pi%.) #\a׷3q|L^an k 7 L"8/,1/S_C̬c}q_,wJ.b9DQWR!ZifP QS#z*dԍPt+>2UI=J ԋ:j: (cݠ詆T ?A!#+1vsBo.yWz=yc2SS^iP9ԴoEzuI[qT|-+z{lҒstkz#+%,73׆wpK LJ|:km1_T]sbHsv6o'd\'kt2 t$&1ňxz튄kJR\3'&dgz(!$}~xb))t%ӝ+qhILu3 }kb-N9M-i9?;xScJZ45OW#>M-TjҜ骙$.gtc$خۑ:IΌL[Luf07`:N>$OĮ~aB_Mz8U⌬i)dS9KQ2/.=$z)J&%%5u j\*P/^\z)2AMԏӍ5Tf8"V&Fkp讴 lk< TR)! Csz(gAq8'8[X<)&4OR͓tGH&"ғf)ҝOL OIvra!)5J )Nu!԰`)v=1g5%Нi*MJRLum')##,r1#%m1~hlMٛE^x5t6>kY>6߁~t(u͠c<.2dd\З.jGW!nf6NS:~u~%MNq@~y'{E9wvxmrhY:@hsgA_aD\xXKѹV"xb\ n];w GRqy}y׮rŅ+=Ryn4:Cm5YJWWgSDY\\.?&A6,g! geB׃//Gv~ #3II|dbc}3rCstJſf)߯~' bz$?`q~⺏%ֽl'ᵑbLuqn"ĸQ ~j ^YG#^ m-͸ z'Rh9BvQNvۃ^Ƶ;Vu\긂긫?l׸FU=f} ^W d[rXNJ;¹.'%%|'_Uq喸 l/7퓏% lSnk&Zdi\UqM4p ~gxwBGgGg#*tׂz%nlC=n݌w@Ώy~l݁n z&Ƶ -덝;=f%{Hcʶc%)j= l= E{FvǾ$v0g8g|T~S}RFb8>00:ž U"yzMvp~]r_ GƧ'߰9'8s._3Y~s}/Db5x#{A/ḝ\tBkF.ZE35L<?p|wxG^HekAx&݅\n];w G<- ~dWz}iArqO}1^K'ziOښ]3qm"Mij6m6z8R{}TF4x +䮗@f~r~cOtPEtS';9nx{kظ;s1y\Lo);3wPwP>nY9ʳ[1ooǼ)wk՘_y]P7u/ntB)bu)w7';}B~%7Oc9:~|o0 s{+|<NcE(`(S8< Nr<^Da7M_0{'^^rKn{v;o;6Bc3ql"M䠙6']2C~R>[1g/sw͸ z'ǦINnx{kظv/ԇi͓F/}^w;}sʷ;7OoʟYߖ?_o7|]_(# zh(& |[)jY?Oj=Ndɿo D-+9e,? U"E" < N0>&߰9O"Oʿ/Odg}F9|:%m}NߢO~}W쾿$?s?qG^NhM 1o&ĺ87fbB\ۨ?5z@=Яl~ޅnֺ͸ z'geYItO75c/ װqwHVG8}c1tj?!I{S^{[-.^[P3{WJ pXS wp)vKgO;@Ss䯴IJ9Q-k3u,Ӛd|z^C_ғ,!+[ am<[h@f~r~cӏ|蔿F]dv^}^e>onݨ]}}CiY1?;r!-ˀ@gRq;J󖧈r<)wjs7e o~-o/oNS_2W;kTkR|(-ϓg8g|wKf|E;-? o՞GI'=7qL`|t=zc}<KՀ'^rK.z8n'ᵑrL 4&q)oJvz_ƽ3W7û9nƜ[͟c-ٟBA QtO7y/ װq;@t_ }ltzU P&bFn$^b /E" "Y*n@zO̗AN"[Kds{*Ə.t_4Vx"Wv )V!K/\6f6sa܌bdqσ^e#?zT^]z Uot+efXxG7bt(Ŝo--nn#֎@=hf~(!603%F[Эl]A+vQ9ځ\(`3MЋoDBmf! ht323gpCAfac&?ac-;*YQX5:w%fdXZ"jk.u;dPwi~1{`l>"i+RֈZtBOU"ɸ!V/n|=_IAxRܢbBTT)3z|@o#3}iG<9)A Hf񋤑V8j^^"qH;RX4RB1zT JvjvH͜yi;w߁0z"hD|BT_ GaL~*nC,a`p7~p(n"jZrZ, W%nPJC/_,rA_3\)EĺB? 72H oY-B~ o^=샷 zdĊ rǏ)߯tvCwܷkuCݠKlڡVQ3$CrVUҡ*yRlr2P˜m *onb*BWڀd EFCE~= |!S&Q6"*r]xoP3yW}_% ȤBLޱDߗ/1wSdTb줖՜F s_A*Hg9T#Ϣ~ԮB&5;M.Zy9y?~vga2A?e m[L֐w }s0o7gޯu0LtŚAu"VdI,縍O#[2[+`xxX,@.E@tA_MMh6>>>Q**VQ>El(`((eT2 ;6P66e_bBtn@w!66bh c-z?]toozw`s;v:E-[7scs_@%܁ύj>љGd4bd8X#I`1guxtlAkAa.f@%r"8$;99 S}N"Ct|>u^2suO6^mzɜtf;#5}Y}=ao+Dfc=qQGPLUUfM%[k[h˴Ze.F~>F`-[H5K`K/Xo@ Ǽ|k2tUV[#0KН 1NoG69IM2twn S?!" ,)~L~2?fV]QxRN +bgr夲^ * 'Y'ӜgMsU{u'i]AE`";Wۅ^| g΁@7D`!ݹړG1Ǚ4:A@xaF?)7nKeVFDLo.7O%>uFzr3Ley*Pɸz)mB~S`q z uۆtWq"q\y2g"<-@HI/2#}aI2*#|yu!{Ŀ|B|oޑ׌49YuWƭ.s? };Cߍgc9b44`_ 7Wmk߱}ip =uڗϋ9׿8fwb̺v5bS٘={.랾ւk{ϢAYK85",C <( / 0DArialgsl~(0(z[ 0 DGaramondl~(0(z[ 0  DTimes New Roman(0(z[ 0 0DWingdingsRoman(0(z[ 0 @DSymbolgsRoman(0(z[ 0 PDe0}fԚlgsRoman(0(z[ 0 @0.  @n?" dd@  @@`` s  " "#Y$( j%+     ()E F HI`M  [ ^_`ubS f gh`$2$[y Rлvgnv)#2$+K\būZ`vdž&#2$;<`#MSݰ;3J2$iiXnƳ͌YQ9~2$ xtZr1+|$2$ZK]#̅yQ&3 rAA5%"  33=VGw@8%&wʚ;ʚ;g4KdKd@z[ 0ppp@ <4ddddl 0D~ <4BdBdl< 0 80___PPT10 ``?  %M2  Ordered Binary Decision Diagrams!!&  %Two sinks: Boolean constants 0 & 1 All other nodes have a label var and two children low & high Semantics: given variable instantiation, walk from root to sink, return label of sink reached Ordered: same var order on all paths Reduced: no node has identical children; no isomorphic sub-graphs b%@,@W( Why OBDDs?A canonical representation: unique OBDD for any propositional theory and given var order Supports constant or polynomial time queries and operations Satisfiability Equivalence Model count Model enumeration Widely used in Symbolic Model Checking9' 33V3333933,OCRBottom-Up OBDD Construction Bottom-Up OBDD ConstructionOBDD packages, such as CUDD implement Apply (conjoin, disjoin, etc) garbage-collect dead nodes Apply is efficient: quadratic in operand size Problem: intermediate OBDDs can be much larger than final one many dead nodes uf100-08 (32 models): OBDD has 176 nodes under MINCE order; 30,640,582 intermediate nodes using CUDD; taking 25 mins RD 5, DPLL Based Construction  Caching for DPLL  Caching for DPLL Caching for DPLL:After instantiation of v1v2v3,  is either contradictory, or determined by clause c3 alone. c3 can only be in one of two states: satisfied or shrunk to v4v5   7   ;  ~ Caching for DPLLdIn general, cutset_i is set of clauses mentioning a variable vi and one > vi After instantiation of v1v2& vi,  is either contradictory, or determined by states of clauses cutset_i Number of distinct  is 2 |cutset_i| + 1 Maintain a cache for each i, and use the value of cutset_i a bit vector as key 3= a 6 [> 8  CNF to OBDD( OBDD(, i){ if(contradiction) return 0-sink if(satisfied) return 1-sink key = value(cutseti-1) lookup = cachei-1[key] if(lookup `" nil) return lookup result = getnode_node(vi, OBDD(|vi=0, i+1), OBDD(|vi=1, i+1)) cachei-1[key] = result return result } Z[bjbj@bj bjbjbj"bj D !9  ComplexityFor each i, 2|cutset_i| bounds number of recursive calls OBDD(, i+1) number of entries in cachei number of OBDD nodes labeled with vi Size of largest cutset is known as cutwidth of variable order Time and space complexities of algorithm and size of OBDD are all linear in number of variables, and exponential only in cutwidth Variable orders with small cutwidth can help h   b! $ #    33    x?6  Complexity Theoremssize(OBDD) n2w + 2 n: number of variables w: cutwidth of variable order (size of largest cutset) Time complexity = O(sn2w) s: size of CNF Also hold for w = pathwidth, using a slightly different caching scheme Cutwidth and pathwidth are incomparableNo 33, 33Sl &$= , 2(Relation to Previous WorkUOBDD size for monotone 2-CNFs: n(2^w + 1) where w is pathwidth [Langberg03] OBDD size for circuits: n2^(wf 2^wb) where wf and wb are forward and backward cutwidth [McMillan93] Complexity of Circuit-SAT: O(n2^(kw)) where k is max fanout and w is cutwidth [Prasad99] Complexity of SAT: O(m2^w) where m is #clauses and w is cutwidth [Wang01]V5 33+ 3333 E33 833 5 :D E 3)Relation to Previous WorkEComponent caching: identify components of problem that have been solved before Compilation into d-DNNF [Darwiche02,04] Weaker and more succinct than OBDD Supports sat, model counting, model enumeration Model Counting [Bayardo00, Bacchus03, Sang04] Our OBDD construction algorithm represents another way of component caching vwS|OS%84*Two ImplementationsRecursive implementation Built from scratch Closely follows pseudocode Uses unique nodes to eliminate redundant nodes Underlying DPLL engine not quite optimized Iterative implementation on top of zChaff Trickier to put together Produces some redundant nodes Runs faster overall +K3 ++K,< ~OImplementation on top of zChaffConvert zChaff into compiler for OBDDs by making it find all solutions instead of one Add caching Advantage: highly-optimized SAT techniques are harnessed, such as Unit Propagation and Nonchronological Backtracking Generate variable orders with MINCE, which minimizes cutset sizes6BPCWhat to Compare withTraditional bottom-up construction OBDDs are built for literals disjoined for each clause conjoined for the whole CNF Use clause ordering heuristic proposed by Aloul from University of Michigan Use CUDD from University of Colorado Use same variable order for both programsJ#S#S,#xmExperimental Results)Effect of Caching on DPLLRan program with and without caching, on same sets of benchmarks On some instances, few or no cache hits had occurred before, and turning off caching did not cause any significant change in running time On other instances& $6,Effect of Caching on DPLL+"1Running time of Bottom-up Method on Random 3-CNFs$2 &b" %  /&3Explosion Rate of Bottom-up Method on Random 3-CNFs449/"Top-down vs Bottom-up Construction##& EDPLL represents a top-down approach, with a view for global properties of the CNF CUDD-based method we use represents an enhanced version of the bottom-up method Clause ordering gives the bottom-up method a global view of the CNF structure, hence some benefits of the top-down approach Pure bottom-up is generally much worse vF_ m8.4Running Time of Bottom-up Method w/o Clause Ordering55:06Explosion Rate of Bottom-up Method w/o Clause Ordering77! ConclusionDProposed algorithms with bounded complexity (sn2w) for OBDD construction Proved structure-based upper bounds on OBDD size for CNFs (n2w + 2), using well established graphical notions of cutwidth and pathwidth Have an implementation that runs faster than comparable implementation of traditional method on a set of benchmarksE33533 33 333 33t>~8 u  ` 3333ff3` 3333f33ff3` "3333̙ff3` Kf3̙` &e̙3g3f` f333̙po7` ___f3̙;/f9` ff3Lm` ff3LmNLm>?" dd@*?nAd@q<nAqFLK#M n?" dd@   @@``PR    M`2p>> &P(    H? ?" `}  X Click to edit Master title style!!  @  H|? ?" `  RClick to edit Master text styles Second level Third level Fourth level Fifth level!    S    6( #" `] `}  ^*     6p #" ``   d*       64 #" `] `}  d*       C @ABCDE FjJ@3"0`B  s *DjJ"0 `0H  0޽h ? ___f3̙;/f9___PPT10i.  +D=' = @B + Edge   `(    H+B#style.visibility<*8`%(D' =-s6Bwipe(down)*<3<*8`D&' =%(D' =%(D7' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*8%(D' =-s6Bwipe(down)*<3<*8D7' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*8%%(D' =-s6Bwipe(down)*<3<*8%+}  ($(  (r ( S o `}   r ( S ? `  H ( 0޽h ? ___f3̙;/f9___PPT10i.%0/+D=' = @B +?Y K0 0~ C(   x  c $t `}   2 N < { D ,$@  0 302 O <w ,$D  0 312 Q <?"` P ,$@  0 3zB S @ s *DP  m ,$@  0B U c $DP mM ,$@  02 V <?"`M G ,$@  0 3yB W @ s *D   ,$D   0B X c $D R ,$@  0B _ @ s *D ,$@  0B ` c $D T ,$@  0 i 0"  u 2 ,$  0 > DEAD NODES 2 2 j <P?"`+ U,$@  0 3x2 k <\?"`J b  ,$@  0 3yB l @ s *D m ,$@  0B m c $D M ,$@  02 n <?"`m,$@  0 3x2 o <?"`+z8,$@   0 3xB p @ s *DJ ,$@   0B q c $DM ,$@   0B r @ s *D R ,$@  0B s c $D I ,$@  0B w s *D  ,$D  0B x s *D _,$@  0 y 0$" T + e-CNF: (x + y) (y + z) Variable order: x, y, z.0 2.B z 0,"  T  XThe Apply algorithm: combines two OBDDs using any one of the 16 binary Boolean operators>Y0 2N"2 { 0į" ,$   0 =x + y0 2 | 0̳"  ! ,$  0 =y + z0 2 ~ 0" k,$  0 B Final OBDD 0 2 H  0޽h ? 33CC___PPT10B.|+5D(@' = @B D?' = @BA?%,( < +O%,( < +D ' =%(D ' =%(DD' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*j %(D' =-s6Bwipe(down)*<3<*j D7' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*` %(D' =-s6Bwipe(down)*<3<*` D7' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*_ %(D' =-s6Bwipe(down)*<3<*_ DD' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*N %(D' =-s6Bwipe(down)*<3<*N DD' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*O %(D' =-s6Bwipe(down)*<3<*O Dr' =%(D' =%(D7' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*X %(D' =-s6Bwipe(down)*<3<*X DD' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*V %(D' =-s6Bwipe(down)*<3<*V D7' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*W %(D' =-s6Bwipe(down)*<3<*W D ' =%(Df ' =%(DD' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*o %(D' =-s6Bwipe(down)*<3<*o D7' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*p %(D' =-s6Bwipe(down)*<3<*p D7' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*q %(D' =-s6Bwipe(down)*<3<*q DD' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*{ %(D' =-s6Bwipe(down)*<3<*{ D' =%(D0' =%(DD' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*Q %(D' =-s6Bwipe(down)*<3<*Q D7' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*S %(D' =-s6Bwipe(down)*<3<*S D7' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*U %(D' =-s6Bwipe(down)*<3<*U DD' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*k %(D' =-s6Bwipe(down)*<3<*k D7' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*m %(D' =-s6Bwipe(down)*<3<*m D7' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*l %(D' =-s6Bwipe(down)*<3<*l DD' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*| %(D' =-s6Bwipe(down)*<3<*| D ' =%(Df ' =%(DD' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*n %(D' =-s6Bwipe(down)*<3<*n D7' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*r %(D' =-s6Bwipe(down)*<3<*r D7' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*s %(D' =-s6Bwipe(down)*<3<*s DD' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*~ %(D' =-s6Bwipe(down)*<3<*~ Dr' =%(D' =%(DD' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*i %(D' =-s6Bwipe(down)*<3<*i D7' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*x %(D' =-s6Bwipe(down)*<3<*x D7' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*w %(D' =-s6Bwipe(down)*<3<*w ++0+N  ++0+O  ++0+Q  ++0+V  ++0+i  ++0+j  ++0+k  ++0+n  ++0+o  ++0+{  ++0+|  ++0+~  +c  K0 4\(  4x 4 c $ `}    4 c $ `<$D  0  H 4 0޽h ? 33'  ___PPT10 .`4W+&§D ' = @B D ' = @BA?%,( < +O%,( < +D' =%(D' =%(D7' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*4`%(D' =-s6Bwipe(down)*<3<*4`D' =%(D' =%(D7' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*4%(D' =-s6Bwipe(down)*<3<*4D' =%(D' =%(D7' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*4Q%(D' =-s6Bwipe(down)*<3<*4Q+9 K0 `X!@ (  @x @ c $ `}   4 @ 0|" V ,$  0 |x=0 = yF 2b j b    : @ 0" ^!V ,$  0 |x=1= y + zF 2b j b    2 @ < C,$@  0 302 @ <  ,$@  0 312 @ <8?"`  P ,$@   0 3zB @@ s *DP l ,$@   0B @ c $DP l L ,$@   02 @ <h?"`M F ,$@  0 3yB @@ s *D  ,$@  02 @ <?"`J a   ,$@   0 3yB @@ s *D l ,$@   0B @ c $D L ,$D  02 @ <?"` l ,$@  0 3xB @@ s *D R ,$@  0B @ c $D I ,$D  0B @ c $D P ,$D  0 @ B! ?"nP x & = (x + y) (y + z)b $H @ 0޽h ? 332***___PPT10 *.$ +WD(' = @B D'' = @BA?%,( < +O%,( < +D@' =%(D' =%(DD' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*@%(D' =-s6Bwipe(down)*<3<*@DD' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*@%(D' =-s6Bwipe(down)*<3<*@D ' =%(D ' =%(DD' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*@%(D' =-s6Bwipe(down)*<3<*@DD' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*@%(D' =-s6Bwipe(down)*<3<*@DD' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*@%(D' =-s6Bwipe(down)*<3<*@D7' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*@%(D' =-s6Bwipe(down)*<3<*@D7' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<*@%(D' =-s6Bwipe(down)*<3<*@D<' =%(D ' =%(DD' =A@BBBB0B%(D' =1:Bvisible*o3>+B#style.visibility<*@%(D' =-s6Bwipe(down)*<3<*@D7' =4@BBBB%(D' =1:Bvisible*o3>+B#style.visibility<