summaryrefslogtreecommitdiffstats
path: root/include/linux/mca-legacy.h
blob: f2bb770e530aa82de96092a916e332d2a593a0d6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
/* -*- mode: c; c-basic-offset: 8 -*- */

/* This is the function prototypes for the old legacy MCA interface
 *
 * Please move your driver to the new sysfs based one instead */

#ifndef _LINUX_MCA_LEGACY_H
#define _LINUX_MCA_LEGACY_H

#include <linux/mca.h>

#warning "MCA legacy - please move your driver to the new sysfs api"

/* MCA_NOTFOUND is an error condition.  The other two indicate
 * motherboard POS registers contain the adapter.  They might be
 * returned by the mca_find_adapter() function, and can be used as
 * arguments to mca_read_stored_pos().  I'm not going to allow direct
 * access to the motherboard registers until we run across an adapter
 * that requires it.  We don't know enough about them to know if it's
 * safe.
 *
 * See Documentation/mca.txt or one of the existing drivers for
 * more information.
 */
#define MCA_NOTFOUND	(-1)



/* Returns the slot of the first enabled adapter matching id.  User can
 * specify a starting slot beyond zero, to deal with detecting multiple
 * devices.  Returns MCA_NOTFOUND if id not found.  Also checks the
 * integrated adapters.
 */
extern int mca_find_adapter(int id, int start);
extern int mca_find_unused_adapter(int id, int start);

extern int mca_is_adapter_used(int slot);
extern int mca_mark_as_used(int slot);
extern void mca_mark_as_unused(int slot);

/* gets a byte out of POS register (stored in memory) */
extern unsigned char mca_read_stored_pos(int slot, int reg);

/* This can be expanded later.  Right now, it gives us a way of
 * getting meaningful information into the MCA_info structure,
 * so we can have a more interesting /proc/mca.
 */
extern void mca_set_adapter_name(int slot, char* name);

/* These routines actually mess with the hardware POS registers.  They
 * temporarily disable the device (and interrupts), so make sure you know
 * what you're doing if you use them.  Furthermore, writing to a POS may
 * result in two devices trying to share a resource, which in turn can
 * result in multiple devices sharing memory spaces, IRQs, or even trashing
 * hardware.  YOU HAVE BEEN WARNED.
 *
 * You can only access slots with this.  Motherboard registers are off
 * limits.
 */

/* read a byte from the specified POS register. */
extern unsigned char mca_read_pos(int slot, int reg);

/* write a byte to the specified POS register. */
extern void mca_write_pos(int slot, int reg, unsigned char byte);

#endif
f^8&Pˑ;Ĝ My;f h:J:|o$?Gπrqhl k׮p D oZ-2.x|5+ d,:vZ@i6\ MoyEdX%{"Mzٱ{';qoŰ}BV ś7S8eyͭ.@ @]9I(#"Ik(pMP6,_mę/n c癈_=`VZe59T-^G ,LKTS8[k-xÞe,RoaοO~1 $XJA}[MkXu֞ꏇ/oTFk#@Pи z6 gj8dw;,F1^oD V׺q ݖN/3;pJWҥAZZA\31R}ŲT ǃp:?^A;/ a܏~+#c>A,1+vTՓql+6Wz%G05O|^'WFF֖03k<0W$Jf[U83MH4AAF=<#ȑ{x1EL:`rr}W%')G榨VA& Q秲d+ck 7Ȋy˔㳅^Ak㋛s:Yl^I3[݀$q?]*VPyW=*NQigN3S#4ʖTDgLjõBft?fr#~hzwғ|S@) ^o_B=Jkf6E:YTֹqMګcჩYOć.k†I\!ۗ#8Ⱥv))^ﻁ8R@jwUܽtviZա ',cb4Qwrϝ{_KMTͫ ,m|wQ9q p\83S<ْ k'Ibj4uUJՔyTUzx@:nFvMH4yh)zVpDYf`lb5RӦx+ֽ ~4]7s;g'X0 u椙8%6%M"؝KQKѳG*/C"} ?>!rKFD]%TO~/,"$ܛw=]͘JY\ y{^} Q&_w'JAizܢYLE`>wo =07swj.*Fyǔ 9€ɜ7Ϊ;8b^coDzDT7A֊RƛkUJ( 8U73`)~ :.uxr qKṯW) Ip*ak9| @p^^Q[`n Ra9,nB+ -I=(L ꑡVtO%oA3 /_:b# #x}s6^aݗŏ?sY0'/[CY7 ^^*ca>p^I|Q-8i0#*wF3@WCiνmrMq%yl f$oU0yC{L͖LXl[v 2̏B$rWhZ`D"zmD%Y qwv;$, ƛwXa~+F)3 5Z ث(o {A3D'1|+ȂMmْvr悝FH(c=72%/)%'h W5nz`WZf/'`~S05֛Gs+|bnOdW$`RZ7F19]GS7.O01c*4y(0\Į/}l:I&ΘD4Kb2t'oti ?JʬVBrGY+ƷOC;윹Y"Mj ]|\?n:5JG?)1p1/uXȽEQ}wp:cYxzEg^A0$t5W}\ iLW̌Odrq`>;SJ$E^.Ja-+E 8Cz`R|gQ vOe V:geU݇^ E=7j]i4%X4P0g?gMDxTZ> vs_["CZ!|lygYU=4שX v'k҈i<>`8w*:Ғ_CЧjNQړ׈tBgtVVyipv-LNCkҖTBK#u:)eq=x4?bkϟHt:ܦăK3D}]i4EyaJb u/V/~)Ș($N*S:~s^j"L%KhK<c?-mv˰wtPs(Y*ned"5.FTIOD`Y%Xv:t\MS45up%rM5q㮮\U0;OA5W>UrEK0wcgy7 7GÞx&6HLR[i dpaP IP**|-hW(~)V!*>Nxǘ4&m&f`$LKKX|a7JI?}H :EILu@{Xԯb"+BF ~dFOE9˨}3BQlGFJ`N ƾDM?l_pkjJarEAfI `+=8u`w;eKfD·`}rp.wgWAO$n%Gg[RET)Սph 1o^.3^ 4/rʹ!^kmK@QDa$oEeT#B!͎+n8 ]8 ;"Z9L9.5M$Z`^`M>h%6 o`&'\MoH pZρce3&09 j-lӑ}p8CwxvqjZN+?c Dv~|i4^ itB/;6Ąs@G$y~˯p751ɀУP?P'Y`+fé 7E$Ed%Deb~9 9΍^Ba&!Oȿ܏_jt|s"%&(\+@Y=0u{MuzhY B$1,.0՘{ 4e/)[9J f ]7^E؉&yY0#=`EC|eɋD8%E a.vCNYoT;P 3wd}ygu5يNhj zw K"#i~hҙ`.]Bj B,j7A&Zy@Ecz x`^Evt#T`PH~ lXS]+n'YTs!mol 5:qZeԐS 8SAm&(k*`1]I(h]'z Q/-U[=9$UIT<>v_^)ln7_ZYҵ-\͸tFM3 U ro_OqϮru|je#}\4ۏa!)Z uV_46 TNo+NC^ Ȣɩ`A1.(6@uJP؎9ÌHxV4_ l_%G7o2ZҊv$z}z-lUQq A4vެy-!$'#g!?#C-7sydmY+9ì̾%յSEN OAUZؐDm%KJ†AݠݚL`2_cǙL}ywtv82_b<՗D1wqrf93C0ۢp dX> 96Ӕ `;r=V8ֈ#39 Ň``,S,YE# r\hȨ-|Ij_^2F-3WiI[]L_o!B~*YFSPcO ʖ-̕S#%kKczK)ѡ8|}9 + TJ)Krh3r&[;V0L@+ zxԘ"D =K{ߦa`MW#A&5#`κS@:(f@5F(F77gq6Gٿ?[O_^s bvst1R5{ rӓZlO=*V3H9j0DD8ؘ3dCAFT8X89R!ό_ljnP.ƌ`o-x1 { &3bMWgӎ1=U,ח sgF8]rRwVڔR>sWN#be5F;*%eѷLTXyJM-xGMiiul;U @Q(ԣ_n wSjkF|ft2 h8֩otљT{B{>Ym~}9SyJx5nRb_E oDZDZ+{J34 Tޖ5\"@  Dž&ZU{ zLo# IbB( \[|vKaQOnnP>a,Rn5aSg_IDB=TsTqi¯ T@A% ^. cza[ ވȃ|=Ы;B_ȸG1J2qp+TO>v˲~GH;uښDBA 2}֞zƷO?]]>ZXp] sv=V`G>Koa [~(x,ڛo{t1Gk~`wcR#>L5L|$BaHV 흂EH3Q4~N8>ZN@MbiCg5>qꚄ_VoYPTCMf+&NE0_R 1¸qw9rCmbgn&y;~P: #A(UJ>ubf{7c%;Ijp y7053i`o Y [ݨ h$`w'}kC{wUCxŲ)V5iv bqHf0Eq_OS5+ZSMj<&׋.0n=ݣ-= ZKqBƋ Zgk+Ƕ@BQn!WcT omG%~KV.Q{ާ]?E?:^4ؚ18M(Oqvy8ЎF%"m9Zj420͘o\K+-SS\3*KQ$Ocj1&".y7~"CyShW!NyflUP0a3hnUOV9>AkʣƂSE<幛6Q*ߺ+ԆŃǎ񿍗UՁۄ{)̔K]dِP}LOX12N5..IPיOEU NH')GNFȢ탐yhGq`yJaT#kKV"n:ёfm}n+ ׌)M ];@J-ɿbxRRW\fȗ&nE }q~1 %'D_Wsrh%Ɨiy,8vK+˔*P29*xfYz&=t= :z.oYC2Omi9QzFgoV0͖|S+]Z}ߺ ?e졾@ْX'٘k']aVpxgtpK~֠Rq 2i ][:bt.T8K=1okTz7>gP~trUƙ[Ħ6[,6,1%5BiÃft}J#vǽv3v*=bŔIoW%DrNQV`+?ŸPᅲ- pASq cF蝟,&?6(27>X6Fz}*p*+u)4g/ɈabfMzH|CK !3 dאבZwjP,uH-2jY!LFރ|KPcT9V%ܚ6|.Jq!W& [kؗq>jJmy\ mhҧ)ߪ`%O{]>`[Utȕ2K br ޮ.5Ofo#~%*Z{ۈ68n`d9h6:i_Aĵ8-뇘>$7(j#s'_7[3uQ,g%;twoq忀^rSYd8ejYA"Db}y=Tܽ4RYp$#/:뛂VlL}d*JH}xnɮ4CUv纆HyfuD0N06 `u5y)֍~о\&יtʺ0̠G<7}])Nb燥) 0if j=gww m$.~벇ɛnosҤo˼ C69 4du^Q@Q3)]g *%6}VFp)Q. o`X$WI!ߣa<@vvXSơ\$4JصeƌF8:lVضPD@;>*Tk#YoCARUDrUm|6`ػ1^h n9o[ߧ YFr! (hFE]%/ Q"Obw@H &,[ #zh>RrtNuPf2U*IQ"tD M;AԼ[y)?@yMl)%}kir*;v1|(ĚZ4uQ7ΤZCLﱮUy(z7-iA fG чb.i^;_68X'. ?;uz+ft!<AJ SBֻV.|^`6HG8/x; 91M|v%Ctonɇe#)p&R69xWN# )uAWv7ƥW%>0A'Y.|x`zEV9QA]ܫOϿ$L 9}"h Q > $%)PXpRo!&8N1µ5pXc `R/m,ט׌i&҂]U=[qeǭQ|&GqI獷Q.w2EgÜfLa?*!4) ڬS5ZvپD>XzXjǩLY+cYD6K[=KƸ@ڤ~A? ;Mrr$U_;aSl-?*}D\xĭщh9R\_;d+ G :$zpm-~za1{:5sݝNDrC'^b(+$)1@дէ ^j5H\-Ij)>yJHQ<<.fOe@i!qzx)_?sn x[^lGj)hWQU(4_*1RwP@UCDB{6*\Pw@n4ԉD4W}; 'DYS0t땋KJIP# x7YH4bpj ,$L%3?=_%™n>n`єbPΡb$@^<}]AJ Q[U61m6zpU}? tcbbzi|'Y`$LI,<*YcJGuL D`^+[G2 } p`18 )w۸-.tK E Nޮw^s1=e@E-|s/$gtAG J3cippRcUMpb3W^RD6AuURJ` đS ?ݰ6=uڥ9鸧 PShdN QP]րe" +3%{u;U.{%Kwiקo!('Egs0B'\ OFShpE(d] ۳tQ|ti:y{:7dQaʏ~(5Ŗ X;cYKޅe-?C-.-9R<8FG@$ǵP"$GfY=G8Ue>NLS7da yNm'fMf*) %AХtR$LH&Nϼ*/* \O.![xLH7e̤/GBѣx+nkN|4;Qndcq&G๊βeMc 2 k}OSRƳ$-?#;VfĊ:r n8L͝[i4U1hf$_ŸݶZ鏧+Q = ӥe5UU,в*Nz֎i3(!֘%43uMl~dC;B'aϷ"^ނEZRX9c" a _b s_ \QQc(]qʆb44qhG[qGN0YLJZI5G"Hk!ŝKKSf >z0vpҀ3h2pxCR\& Hc%t65lv%}g/З!ME+IzHܳyR4s@6t'T'iHHWZKu=8pQP>" E&~ 98<>8 nyEE2cuzry;LJ~4ϺZUxjd]ywFG?+-w\̄80*J+S9NO9TΞX"+p M=dGw?5]cǿ R)nelܸ-5S%/IhX7 _%b%/"Ayό&Y ÝF`uNJ3uO,M0W?V nGmSv'k->WKW2 ivkv5e_~Rj}$ki" + [ӳ˫.5vc->NUO>Kd},4*q!E̤_ TuݣEj' k NQ^GM=d Ul"S$B۪~dcħOEM0TpOdXl}]X^mm,ԾKV `su\6m';9qϧ؍23NhΥ@/D[TAD,FG=,~qh8/epY=SX`YP3$PdhDGzdexo! nܸ҃E:D0 0W,5xt˥ ZMtmSzB)J|^7MvB$K~Uo-򷇝r =hK4]>wv}0u7T_IY5WkM+_j{}r# E] u^= > K5pbpeY!n!A15LSΪonիDD'[Sh?8YhZnuF@[V^5Y6%?%giwJu4|Ѳ5ȁԍ&{(+)3O,{:+')z">KY) ՟5CXBsOccjOY7DZ$2 \l)?_AT1AS jjd-p)^F?UL0? )nzKe( q"CnxW3{:=퇗 2И~l`k.*LvvD1MG,f9i Ƈ& _ _:K"iHQD>g)]` Ň[n-;xk;,TEP O^gM2~af{Hiy\\?)3Q:C٫Bœ5oIW, .^5#OfX ,l xH?xꏿ%!PJAMJyO@?_ !5a)nkmXqy,s +*"sNߺ{>RzG&cCkapɖ*^*5c= b^qG_ Y:\xHHJMMwܕ-F=Ҕ !Z+6Rʯ=m`ЬI|+=(G4;!'^ uc>0A' ')z+S6xM w 0w`|d;C^ c\ P 8v2 ƑSؾo-pC$N׷Q!+swHD޸nUrn3"RjoaqR5&{ύIAp(E{,G>]AWkB5 Bp+/rp~P%w ͼj ߗ0Eƾ][&_<:g@;aR=]`ļE)X nw#۾d,Z膚Dk3AKBK'X_ȡ^2)阕/xH+]-~1z"|e$Y4^EdA>͸-ܱ}sVPJ 3kxɭa!bJoTS{7ڦ9P菠} ^ʭyAv65h`yybLjFL?ZͰ%?0(Ac.Qtz iޤ3eu AcZpwg;ز^)ٸkk|n3v{#Hy\DTk=٦îouR'JZ_K\(g#L>&kcMs@MLU#d9p{ɀklBv"E_r(/l? !`̻T }6+ +@iYKC@ֳշ|u+AHgS%-+H nOY( Z4֜ZRx7]+ڲ5=7:熚3ƳW@a!D\(^fgcjZ\`FjhSI P?z& Uk{> 0ԓ< XV%!E&e6_=`<08^ĕp``񐥧38{8qfg {`¢ [+D%{N*g^N/b>}ʈBWG8CѺV&:P', -iSvR*{E?"՞];֩Vy/ooB~= &2 A}JJSq&rTZn۽Y}\H>LDj>abFLcKg1^lrn0Z>) R)j^υ3S`5׏V䜁%8$,kVa%Fh-'4mV3af{í ,qOY-,_f X?/ԩ^l>_+ i_,Zi1idO} m$%N6m1vwߥzA*聛WnCb](-_aOD*;4>}5|HŷL*qD@4ºi5QG! !$ZC6ȣhS)B[{>`\m:j`jzRp{Z⿕aOc!0 /7KWƙx;c.`4ᾡ;NhpAbvܝ zez.R젞D՟mBOL 2zgX C[!,s͖eYmaLj" ~NmӠp G,sS,PX6^ nc:EK .3[6ḇX)Iqb&CV,uæ0ph$z)h-jf* <&n+u_Atr^afZ8z@{'~K|iE]ݟDt 9J7+S| +ک-ī[2!O;9S=jY/WiCU_`@L^۞>݋3:wo7lx2#k7ío/"eVW/B-1*9L"d-ǭ/C "qi*sՏ7ruG\ "1Жe,ЃF˺l/Bv=}Ȳ%'lv;6,Ww ,}Ob&+EpO 1Dgкg- ``llލ>tJ)0d@Y5+[E -%B[3ɼ)}igipے'H/5ZHCL/i0L! { E֚Bu'5Ӟ1PڇC{xBPO `&٘*6&WV/"`0i#1IO;12uo'SV3rD\"JOoU`}cԳg#4v_}0UܡDq S@BϟHQL@ZdW*ȣ4L+Boe1;m+\&rb'piyWݤ__lg''+QFo(dTQX+JL|v_yU@| 8ɐ H44:߰+/ҁ/'M?o|7!s1 }d9;p]Mҹ:hEy }5CkR#ɬv Drk}jzs_:W ou A+=bpJ5Dgаеo]dhI'eASj'F9'|Uh9N{ÈZE6$\?ٚh|{=.-t%I.~yvr $f*c "%X m؃9}ƒPɁ<8Wj;)nkT'D]Z+G@Ou{ipKo'ŷtơ.hen]]b-6398l#//݌{^BIR;@ЕxfәhmC:Hgm2p6?x<5QItK]Rܞ?ٽC0{-Pq5S1L <ުmN{d%Ifv%Y?$^SLv0O ,<14Ubɇsj! _d)_kgezJ"ߠDm$]Q`Do&Vz_-SEK 0*|2cƻӖ,B&q[|]LQ\f ») w3۰ y*%tcK_XJvd<;}?Dw3RcB'3͔F:;JjPS\z8;&mw؇m0q@.{88tEeLD RwyP+^i$k`u#כpOQ8bg 2in[>u𣨙F"N^i6 c{\ĕZS` ݘ|7$QVBHƎϴf\|y Y$d݆X<V. C'Ŕ4;}F U1V ~`9jbY 'ɮgתK0D$ ei#U?6@%kð4o|TՊJ9ŗm~eIϟ/~WՒF\kl2rw%-\sS3=PLd;V>*|#EE7ִ*:f8OpKaLg`  !U>E6OvB>  b.aJↅVo0|9ư4h[莳4DLw-uve旇PތAl4|L(Jɒ p ,KR 9b# DHɵ,u]e:\YO^HRryڸ&)g_jw@^Vnx%Bcx̊.K\60g؃~q,BM.I ;'(> v aOt)+G_|)2ryG!`&{QQ of9 4LkfYI_7(n/CE]C6DW O!8bkҗ[x-UIKn,asи"(v/a t$ѷ |))'ܕ}G 3=eok, 6 Gd 4.]iW4`q_퓁&)K{u!cD|hNBb5`(HDtl/#o>b?ZbUTvӘ$!q, ]P:~E-PP?Fd}Ru5Ɉ>^>A37 Vbl[鶑tе,^ʤ#e=̴'ԭM=qJҷ^#J6q7Kܶ=#XIUF i T {O0wv%daUK3g9pˑ Qs3uc&r0B\-}!)\"|2\<|v:ơo Ѳ>{%Ζ{h -5b1z:, Y8]q``r e/59̧|}pK~j㙗&saeqD.VɫŸY*;HyȒvMotK.4 R=0:E-ˆL3mwS +^ZCFŝӺd s`Q˃Dk_o6e6}-fZDaEG 9^F%@>W~a?Og~f@qğjw'?ӷ\ ɝ"u"*a)3Q9j7˘F @3Hw_@`i6]8f[`z F ~EAcwUN] !9g]ip5q j^fokc URX ecot}4p<h՚Y-o9#=4B::UHb#?wN#G Ӏ=QW6c-넸OJ C"Z-wG_6k ŏ][ꚓ Drp! nBR:а?j{A6Wo53qUZaybkkT~Puh#v?Yh^4]-.%uCZoAUVVx}q[i;O ThBPY.7Z螢[K9ᬆ++U `_ 2 ȝ:A4 zP}P#CRFbX-6=Д "p[PXEϤx 8 :(m+^}IM~!XKɋ 5%1O˕ntFv)rIr&xHv,ĒLM/k DeU@С|ZH2~*|M3k.<6-`%/(iRhWF@[Y:4E;v+f1 OcMсs3E^}Á2,3?0לI/Ob/I\Yu㥄KDa3M' I[7%3^<8+ܵ c(n 8Ro\iX =v hYAAWhj*@p}gg=SVL$Onp"كx_.-mUcxYs$Ryg[>d&r&|T؏`LN)ud)>gO]|󳋿`.8u`JRq1˟0l%^랣!{4o#ԛ/FxIl4JGH2D]-U9s]dZ0skF0bfF[#_d .5O>>|̮5jg/TI^9,jmsdjL+ocW+B]uE8y\dmB`~h0}(AxZ1ĚB:aJԱxًOs[C;}PJ8;ry)Tb\ꇿp6lхib>ȤKyg+r6іZ: l g:C4XAjy;3t1Kﲤ:דE(Nj*L3TJ~[Z%a1rb>坢ZOi ̊wZp{f"rVv)I`g" aQ o'w!PaX2x^;c*R48 zLjM[ۃ ‰ϖ[((@Tx:e;QlSzu3laE˕ $nDtn,MN@x|ڥ<*ێqFa3B̆]兣sa=~HO7l,]hraY} &\ ZN0KsDKϨkxJ7Mĸx_%5J]HO[gGsp6u`ٲϥ۹N28 J ^ti FR ua'"P!{e*됌Egxvh1s;!!CKx"(Ð~{Xu>_ 3tp3@Ӡs\d"rmxEFNH:DB ˔ 5{CRHു}J&VVVN\FD\t*n ӴW ?cI+x_4 UTyZ|#r~}W=IXEY0z9: w6B z84M#OeYň>el -}+U-e9g)b\!0DC8m~G@v-LȡO69Dr5oU_+B7kS Rc"kB `rW§+؛|Jð[`.LSGX(7y;7kL-2tzstĶ’bYɷ#`ıx _zq7qr6/M5,J+#;1s#5 Շ13>02O=sGP4vm rs\c6z*́E|M#+1;ݐŕAuIu`TNӱ߆ɩ(npCI'RƀEoFW>Y:P[2`Z oH"}.юًa㳜&h8leλ:,Zw 7wRHt԰3jI:],k[!&J>6PC! $XB|f/"k c\σjrYcx5j͚8Qd *Ƀ_| H=Iٹ_/zJ4RUwܟQ3@f+j[O^69s{R'wzp=[lUbv&S0kI p.b?.7c} GEz`.cS/㪊h~w, SjH~XLU'k6VxAo9E *NQ̋NCUNbs o ^P'^Diyq`U,G ^gDڮ~V: 8ɥ*i0>1/#ʕ#F9π~*3,P`v[4me%OEpS3BD%q` Bnv 9/rҷ4#~.e|WJ\0`K"; >ҠY! KgȇETsVc8 QrTh".uq,uCd[W /YR尕dle31E|] KZxp+p1>/*FS.?uF4L10ê"x(D8Cbg"-G$Qrc wߟVf@*4w aJI'Gð}ӯ'Ni ֵ'>-= *+ Nwx4{y~1G0Wn}[:?k霔nWL0aº 9eUp+ӨGsmN,4%A!%`rlX-'¿l%PWE  rrf¾n#F6َNYs<(nD!sܱQQR®'#┗ot<Δ8? [m?{=2\{DESZI'!t1@!Ǟ(AvM)x~v1cD2) !tG+8@KZzJ<{͏J`{Dr_(aB4C}ݍJǧpM:wrh>E7AL7mW$SƞHk\PMwb#1%ct'5NV; +ϽohXN2=`'cL]f5{.5. 3'¤Z$2A,?Z4\1NvVFdYї`Kc!"hP7~us?Ÿ"8h|0'w8;r}(4|DÄcf[`|$P߶3rc2K!/Cg~ErvT-Hw8]3C4e CF!eum! gv={3:AϤ$W*aoP<.1y=ph5?XkƌpvȩKw@`qJ zҋ ŧq\nm@s+QY+pe{fp]HS.5+d' U*;lv dD` PldGrH H<8!Z1[`)t3 j8$w/D}h '؀K'MITwG=u2ѳ'Cl 蟰8ӫrH.. S2ԨϺ5 i<ʋCi Iu2},PNM8rU1hя:fctFPv7L\%alyJW\`}\ji~~ C`%+`[9%d]| T6,;`w1Av^FKuT9x?9mq( Ϲ[I$##'SzmHCIJy=a9Cnr+.zZ0%M8ƇA#_hK?Hw<8e4$^q];MZ}ۜKx/+N\"?ds6~NI.؉Rm B|}p]"BYVk&m6DŽlCtM;mdۂomCbB;>g-ȁEXkm1;B̲+3"B9.$LoMsڍr酅#iG||:|Ѧ*ܑ+=d=7ipY芠{|RJ]r g7IbpL\[pF"x.T-R!h;q Ww J{7tp֤?4c[<6td!qб2^}ч㹎[9BE-h0*͡هÛ=EjoHam D8سC3g|&ݿz~~=9%ɛٳ| f%̒\LT&Xz m&uʠ\m9.5T a1B/lEźpuH":L~XƏ^)7(R A%:$} kVގ49 'jsI|`1Thf6~]RݱRyɵ#E[ێQy<|Ë|Y1)DOmҜk;ۃjPQ*ɠ4DT,=AE'h.`ARPEoM<=FoΠ=@Պj\#B#ʄ%]V#8YVoҫ ZŬSt% /O'G_VW^kK؞X#=qR V8/w?rlIҽRRzu=:eBeOӋTmlƶ+VqI0rn YUfaG#G ?nZܐ12 fOR#c/P{ڈ 8_lu{vR4yFyT@Q} 6h-IK:6ZN~1DuLREyp}[q뉱uvllvTQxPʢ{j%vW˳?Hɼ)o  "pE)^6Tʯ68iv3yvAK' N gɹA3V0:cC\I;';y"mV6jm>bS+9J$Òz1NvFꝵ&<{dՈ"6 }偊j[.%+xswL=B_s5B=\-=&Ł{iosWԈ>}ȣ_/(0 mתoNLP̹͖3@\ JlSXzG1cyyQ 3#)lgP+,}1 Fz=\Ba.Fªb?8^eHqń}_o(H[樠Pk]s˲3K^)tr ̱%/情߁`.f{ ?+\i7p"P' Z\-U65q.U4/Hzɞ;>cAgkc}T&T* |4@iDppp.߄+>rMO ͊?0bɔӽ׵}nď3KxG6CC ݲK#l T9 N j:'-|[dO{= n&X8j Qey\%^kk3ܲgWW{?!Vz-K(wdDaVO58TDsYV{vF#kJ!R#Lݴ7#hy;TQ u@fzYU+c;B~32Fj`E9?~vXy-²Pz{tHo˄dXu߁}Ƀr~#y`a'󞁴pNH"<չ|B8O|kWɧW ?boWH bag0Crܝ˓Q()IV9]Z#Шq͐^k?uM3 w%I (`}*GW={漕 {VC& x1Q}n:v*T{$Z"o@Rr)m:@s|e W["K \ nlT`X1*-̑+yiطaPܟKu .<U!_SEҘ*uj7ʗ=BItqm++ĩv!@nW3TTY 7]+byyЀj&;Tx:OEf}T{Ga {sVgb4j6]P[ƭOB'$jPϽ~t9_HFޕ9uś XL QQvhrbmڹkC I(!yO'A^ԭf9iGe;$FWbH^6h0929ˮ:wJθLO>qtRy1~xiCщ.4a-zeҁ6_gLh"Wm0C(0zs:D{б#mG`H̪L-T)a-fPdb)j3iz; NK]l]UY. d7mj/P߱Dd<-uW ]kΈQ`³bҕ^X~6Vo:NC:U{վمk|#s\sN`TQ4%H"W##0f"&;^2\uvQvZ0jyGV@XU)LzF"O #=h}&2\S` I6b]>]ػp\4VZxkH*I0OQPN,{k4$Q U$r2t\t[Z~ kV3o'3~pyaAO[mT*f/rwh<ԺvdS1ŖF T/X* PF5T5HQef1!BX4Bwnf35YNe" 2ZQ(qg;RDNٰБynٻ6&_3i,iZ)۲mfNN D^:vSHH-G xfEF%mnj|M:>{ i'&9J3V yjn'pF]̶9 @ ]q ` ]tPÑ=EJ\栃8k3 U^4[VCW~;;̹{[yu4xI.kUw6o! zgfN@ze3ˬV~CN%hp.XctL2E~߁hGRkAݘU.,'@rԧ5hG<9)#~7vq@-7TgI#O1jxm3B6mL,BrW;q17EC,u;d1T]ʺrd\J AL&kAܸMx הfp^;9bIƛ7kD꘧Zݐ1Tn$>gGYR|S7l+兔іYP%z ꜂+ Mm@r%2RC|>92{>̛E&2XH@.5iqUwEhS]E#l4`k@|ąB(4Vnz7#@b \q}"%=rHBO}ۀyd+S_pXҟC_bb8 NNOiT͋4brϝNdcb}H\"7(1au;#( [{xߚu-PI2m@x}:*ܥ?` (Hj XzU͝,rM)@_ƀga: N}( -Ժ/x4gR:̸fDȏE~h䢏ɋEUa" 4 BγR\="юG`҅h!oe0`aJTMPs0OlŽ-*0[6o:so?"t5~8~.#WRTac[s|b+kmjX)J-ڪ8viRrl&. EHcioޅnZ wQ;@sP@PzĞQz Ű=s,fIIwDb\#s= cHPE>ӣ1-T!K>:6D:mι G5cBZmJq@4%I9kW5+?0C_7܍P5~Vf=:dr^_áxm )V2p2SSͧH8jTpsǶ{0a^2t%V[SB<  өA4ZWÒj-pbGxmpjgBAH1H<8vT"U0X06W[fzw_懲2ᜯ.+r/;E"W*@B$10Dፎb4P։Cc/Gʍ> C ?Wg3aYnERkɽDrOۢ%mn|.DjtY #=GCk|W *h^hD忸Bm듡e2TZ9|ɮilѹ`j1' h& Em zh7hc*,co30ސZji.ߟ𼙴/OXM eբ<-٘Ch\H,gȄj &b?djJ>Tj6(\\.,ԤS,_/2Lqgn>:cmG{tŮ1QT>!?JEl*s k=B;`ݧ(J - +l뼻,W (fc!摚$ ]9,6󙖗*3lBTuInK&Иѵ"qR+,)|SM JpF)NܱMFx▪BK^*Xa* ,l}]zFw3$`";'ot<#;7S/RKz.t֒z DF6tCzf͘/gSh"ќYr±+iaЧՀߚ.mfTf$权in%xai*VCv84ӱۓ t V&PYSCSg:T-BREg%pL%@G1(uT_;hs)NU̻·C3z4J+Eg4@)z, &^)Q̂Wi~"?E8D(PV|g-d,,UxW\}dD6Bj{˿)4~S"! 6,ȚiX#e8}oYWݲ~T^[q>9S׽+=M!EjUJ ,F aPdSA q4| ! jO8+(h)?ث_m.,iͱh^ZB$iW:R;ꘃn_6Ru(𝇒c`ZZ'Iݓhc9f{;Kgy{T2!TPX|UfȡR?ʹ E0bB.u_@ r&7 zn2cX?)ɣфe瞧J;g4ks.cn@[S"L-H_hd3*eq}ƽA) R`|4Zko\DSQ`~sʇ4?Xv~8QIұh\I_mO뻪W|p6 .5&`S ꨼\ŀy=GC@{h1AZp`H[ A).0w#:Zv?abVs$99JjsP] =>h&}uS)㣙?^iW3/C4ڝu#ˡ,ViSXrpD="O4#khTCt2.,2%k$Osd9",t@rq{pdGVdAw-9j<9,D>3=$|Y) 438=citx-ٟ*KZ OcW I*p":u[}Gy`N_3EḤH h\J\ܯIo yvHY2akLT^V>iB%{ZR̮S89Uz9&Më7~Gݜ r*l=&| ڱd.+ CS#rU6;2VuE7;*$3=~T&cS'zNxiPSlrB ^$IDBh>A 5Qqoҏ ae[+6dE ^ixϕk =an5.M,jZ .yS)QjOT@;ÙȍYVεD8-8zc1;ExlKQܳ [?i6墪 Dݪ@YO9yz ?;>JbBlNsu!aAIޏ?P7 a3VgKt ,\,Re+I|p, rY8t/^wSjp=GS [J3&Mzxڡ_ERy߯u$-&-Fm>z AUt> ~RL]v}r!X<(/:l~ 'v-Qg Nv 0X à`]hf!)\2l!W{ ]Ma  .7IaI[A[F{t /94яSSu%[tWI!h=\BҟWI/;Cj ֙scWM5 -[R9NP?I9oJW>~pܿ#կ/E -\T S9ẅK>oʎ̟L'-H12>H q V-napĆ~ .].EAWkVu0~T҄ulѺN؏ZJ09ZtE.sb;G6 rQBqN.iGVxzW% .|tH3^$qB-?>X|kz}@m! + z.t ߃lTcBs2/Nh?;x¤ay?s^ZN=4|qQN+RRd