summaryrefslogtreecommitdiff
path: root/mm/vmacache.c
AgeCommit message (Expand)AuthorFilesLines
2020-06-10kernel: better document the use_mm/unuse_mm API contractChristoph Hellwig1-2/+2
2020-06-09mm: don't include asm/pgtable.h if linux/mm.h is already includedMike Rapoport1-1/+0
2018-09-13mm: get rid of vmacache_flush_all() entirelyLinus Torvalds1-38/+0
2018-08-17mm, vmacache: hash addresses based on pmdDavid Rientjes1-9/+29
2017-11-02License cleanup: add SPDX GPL-2.0 license identifier to files with no licenseGreg Kroah-Hartman1-0/+1
2017-03-02sched/headers: Prepare to move 'init_task' and 'init_thread_union' from <linu...Ingo Molnar1-0/+1
2017-03-02sched/headers: Prepare for new header dependencies before moving code to <lin...Ingo Molnar1-1/+1
2017-03-02mm/vmacache, sched/headers: Introduce 'struct vmacache' and move it from <lin...Ingo Molnar1-5/+5
2016-10-07mm: unrig VMA cache hit ratioAlexey Dobriyan1-4/+4
2015-11-05mm/vmacache: inline vmacache_valid_mm()Davidlohr Bueso1-1/+1
2014-12-13mm,vmacache: count number of system-wide flushesDavidlohr Bueso1-0/+2
2014-06-04mm,vmacache: optimize overflow system-wide flushingDavidlohr Bueso1-0/+10
2014-06-04mm,vmacache: add debug dataDavidlohr Bueso1-2/+10
2014-04-28mm: don't pointlessly use BUG_ON() for sanity checkLinus Torvalds1-3/+5
2014-04-07mm: per-thread vma cachingDavidlohr Bueso1-0/+112
VxQµpUU$T q"U탥k OZC 7֫FϽ%x G d 2&yų^#tI Jבtŏɤ/|ɬ𩬛mX# K]l]A'Xtsө}3߬xhjiLUH]Ncu{q MxjdK S{||3Wwd>_}wGۃ5ǿ wsƺE_&ԟ e:On>r(ĝN>~OWuOxfQ?>OFAgwd~wo'7O/woQۓknNnW#.P 7s9eҘgMjߺO~7s{0'Q9|9'ؖlv6F$Fge,MؿyCD]jھDL$jиFx2Pc5_g^z>3kzL+u3RW5O?O5"?jSr{#U?o0/4W8m@Ҽ[_&qQLWb[um쯚=yv+) 3nQG@LȾ?g5+g.&x8tXJBR{"]Ѝ(C) n з/ng`6Vc`=OIޠI&7<)<<1ե=1-M2blv\cPK=UگM`L٣hE0h4f,IHV.k˨B PQGYZߦ\$0YG\;qe@0c, 7>ZU[ 60_¤Jp4OYgBiSb^% AaW(qVz5s}pGX $uΊYr]s 6 Rؙl?cw9xGx>a+RftՍD$]'Г7%|"H1,{?s[B%Ÿ >?w/-- |uceä2}EevRy@XH!+GdrT>~nU=f{Hh:kR.B1PBW`T!w4%ġ&fz1X79*^ ?+CG`E!ENuyD)YY߃2ڿ߲xE" Yg liɂ@Bg^RZ3,+qa;DZ\HϱvJdMEҕDTC؏ y8,xۍC2ω=^Z'4;(v׮>X/P;zJT` B*XW 4&7QNe0qRɾp\*ORH%=IZb?IZF u$Y8HuPyE獊<۰J`-$[\VERq 5 o,h,S3VqQzBk_,Փ*ҍ('S$ju/ Й3ua&Lg_9sZggƋg`,n^KH65C79')8@ny˗:Wpr.T븥()Wڕd_r3QGXXK`]f|/Xr}tC7ʤu4>:ʼn[?}+wɈ?=>e9_z |ht,u7y<%^uO~ELJuu"QW'NBWz~L9"K$ϐ. ۆ~&3JYR{x}'p; P^CQe=~Ҽ!,гb.ALb2YWR`\bl:FH%B.U& {B*{As2#ԇoеꌸIX~~})pp>SR'…j4&3+qZ=.{ؤ (Rv|ّ^8R}SdNo[?ȘRw gi>PRû{]6g;^iG?;z=J,rZb_PLO=U*zx(ջr(Y%5u5V=tݞ_c݉O l*cȱ2>ƞmwp !,ouz܎Pb ֝LECL '75<ѓl Mx+vlWdpf76W~G l}Y5Y'^cÉDrjy+O0N>|F:dL8Ki5/\BĜNYi ۺA6-%nٛ9qh9bqSHwN)h(}]I5Ͳ+7zEbbu]֩j:hh]5ƪ𼥺uc7^@ -;, Є G'K.snÍlFuyQjw[8lFED J3~1ާFwzv^ ;\ Gb{j8U)^@Y'lȓ'ʟ%'tݦ)!B!:KGܺS_ܫOuϜ}ι' xȯFӖ5]5 lTPjv}FJ5`˱.u M4:pi8m6gCt)E@^CY10>RS G`o+˟"Dd:H^UlS+'wJsXH>Or~IFzpif{WnWK9oِfl8 WL#SE n:o=TwsĮq$s?I e#Wn8#kL.AC<*/%`GB>JI_BM]B>/]z`٪>|1Z(ѯY1HD4oZ[[!7Yi:^ࡇ@~8q3'xt Mu 6,}B =` _5{φ_u(MB˻hUrnJ1q{h 7KcK+*(nxi0[{`c'W2,W>K֫čii#O>ώ>@)1结s M*,s_蜚}1*NտkȫlG۪mͭ"5Bp6FRvD;h>q7Tkh=~ / ޥyׅKrV1Tt&ّlKn !`8ДW 8M"eCiTA"PX=Xj:^g;Fϻ xWGِ5#7!uCp#Fͳnl0: <9yL_͓^'=)DQD'ٗgvcTK?STg Xg0hЏdCu9T va'w3e@.JC (;IM7y \ ?z8[τd7C$H6G tI= <ΐ: 3>P?xO>,kzq,x/`_Wi nI^__Og#R2QnYHgu[VBDnBܿHI$ӺrqH+7{ѿisRi$f2On8MS7~$NUM6:pPa], ōxū[YVc0uuIFIzBe$,us-f^MKK7y%(шgAU].W /iL|ۑCPh.&Y8APڋ f͜[撵UλURF NˋhgH$h8XMՋNΈtgxz}pe^LJ>qa>r#uoP-z;c4NFl:\h^3'RWDFd:5i6vcg"l|qJD=-ɳ2\Y=odYp'L#$qad?DJRO\[.ې-e4REsx~" N]::gL9Po6Yzlcn.ȏYkdCu z: PQjT*X$Ki0!89#?eVp9h t6{fǸj  |aa4ExKԐ7[VCyx" |P䫷Ɉ-ҥ hs "K 6{'Znh'Njr{}}1?__PH" ]zd___9= pB'=/\$.Y1|14I45t7U߄')u%bܸl67^vF.iehֵ:D9ӺaK8LWG6!ϏיC.h7ts̅:c԰ٗiRN gɔ8]j9RHIKa@:|F X6de)utsձ/ zcDWŽt-'IdgaC.AʗOgoH x1h:F~rWΌݒ=Q4`]{8W^;tAZ];()%gO QuujvܓNcAt'c}J"s}y{ E@Ziˬ-UaZ#XC u.Egy‰TyB <ė WOJڜg񍴹yDk/\(4Y W\nH$af2dgwlm:RӖ([L,%_5 Hm7/dWUwz!r_,tes~ްI9]uր4;5( :(Yf,n) x"v/ՃDϔEl}cҷic ZÐG^f# ] h}h=Q =r:VikU,a$Vco׈={8{/܃T_ %Im=;Q=/H K^ϧSEwFeogRZ{rLm{kkSkN7=oaSh~F>$7O3!UgYڈn) .}-:VuJ58%`ɉjOWiJKh@_{߿GB7ܵ{=TԼE}d{Bԧ%V8m-̯,yԄ5ߪiD8ZQoDđ^%zTǗ R*L:ޓt6U^ pibYo#Y& bw$!?̬]r%(2I#iьa$W. Oh<[^Z{@QqvШ dIhm5~[VBTpm怐qs>ւ~GdD]trYDuV)RDPK\ŝ9[R_;,;b3 tuS!^ޓ#bw>O! e`}d[j]/VɦIDI@'{m'Q=6ڻ38WqYyrXv#{my>QršlcK[z{.h(ল̈́J$C7G3mz23v9-Ef~}&iHS>h2"EI;U: (oHg'5Mp:s|CmH*7Z'DZ6'%6]*7G#PG1W-'~鉽g`jxQժu$Zw{_݌W>Ғ@ KeS3:'_6ʈ]*.jmͬ52RǤ;d\xh6Us+i۝~p9 r,,"F@'1|81  z6R|üJϡ#Ga#ڜ{*=HIR}d]HWG%{KppGH5;da|FfKFssfi\s> =5nQ)"BsŮ37#ױ&PՁEuLX>ǵ k@M_u7qW}~{m朋?RA*c@ .ץ8\{$RSX_}.d@FhOx'j{;.`=jI{D $ֻ51 ӭ)XC$)"MEe7aЦJ>Fe[p  ϊf#%ʒBMc ~cș& ⭠37db|\rӇ[<_:\՛VsD7 d X+TPŗuye M=*Q? R^oV0[=dp+@/{\X QnÞkY骛1hf3FJֺΔc|2ŝ,ENc hV1W4exkbuN?ڨNhVYDIWkhQRp)l*iD.Pjbz,z"M<ҺFQ l4==~|D`D2HW@B,][EF8bW(TC3 (Q̦֯ nğ|"ꕼme %ndf<XYbgp9Jr6Yqk%>,5t,wQgdlj4N2agy)9䕀Zpa38XDaM&W0oanVZ C,k0ZTE5ՇK;Bn?5VyĔGbl7#}>Fɯ`' G{F>2żz y"dI3 XNOZx'㝸's)8MzG*Z}n@jGoT[֔ {5f_D_ -: B1E:igoroA2KɃ'hunX ҇Yx@_ #z˲O^Šd}D@I؂%P{l,)&e#ɇUU M@pmlA4+8G2tEȣ oK>|5Y }]uT=nϖ"+[j,8_0zduri FJTO-Fè5 <ޭckDЀC)ՈEWZ\NgǰgztIi6_ q/ dC ,z"+5qtRhr/X͆}!LiBlO$|eSA5C)$Yz_A֡drSAaZ׋{mI / r:@ZS B*qJ.^w'J8N-cQSE)()uLg=i9&~%B9pt٬$,kn!WWW',I),)IHUCkf-MBv "lH~cяcY< +жDDR] =NV &Q=qYn5aԡ3reՊ 6#'cCFaw~(5vof+Z(\#iov NN|fQIݍ-l9Ϻ~h؃j3E~~U$b>_pTRn9[]X¿"MђXJ>! 1 }O5C-ybD. +R ,;`êwV2Nj_"ymQg(z˵Zr3Hk KDI除|mtBG)k=ˡfCP&V6lsĂ۲P +[Sgaeb=:䫭%̈]I6A_~~ծk8ӨN2Z >|^Lk#` AAF/ £LHI>^,Buܲԋl0}s*uE@u򵇅f͂I\i]op/g>Z CӯI-44*cD| @SiujOZ58d[.oˇx8!'&Ka.-~,2)#^ v U42TUWC,H=:?g}sc"?EI hh}K 7/~9%@>N4(7G!iA:F_:|1r2rR5C0N}jJ3<|$zFZIЭUsLiՊ K^;"Hyz q"XT10E[+Iz593%]KHH G~X[{Zðf8]t)V0]oܲAR&Z֬-,'koNdhU0KmrȬS@~o7>j }=s4G*I%rl{_<JRAUg?,_CZE.vQџ{ E-2z ʶf<#ka_uN.yR%$cwIA1El'vY2]utJZZ)_,h;)|e.Bъ?#o7Nͽ}H YC8,ܻ5ށ ^֨r50܎GbD'+OIEDe3p9Fg .^5\Y/lѽt&@sܬ]kaF cdN ~V_˱tL*!Ҋ-G;U,Hr09j ^qn%p6Jߪնē.8l ɴ1w>ԪCF AΒmzRcs}~.;0GL/X n 2RZE{d i >[>xDESiOm.=%+nDAt%:/= fM]6;"hCoy&ۻlX5Q49CEͭ& MGT*$4Z*6IJG/D]Z_+\;FotM%ֱ%`z_zEѤZMm:Ky0a14P(Unemb`2raȮyIm[_t0#v^=}ƻ'͌xpg@Nk!\L,FGE|6/z&`kj^V 0"4o`"mi&%UYڊ* /dS\$$2K"C/QH,E@3V⼶ڣ df8);+Bl\ (xЯKH0,$'^RiGG{sK3w~jnRZP1b (e{ƨa^ z&j1/`.RQk5r@[ -{CB1-dfаSq j:W"-gWsbq"))lvZb-Y`lVAO".F͐0` }?sdZκz{;hp4_d_9Ko5PsyY@BJ#Qvd vLѯ2WqF2gS>L]ZF%MAr.)esd")BO>8q_O$f9Z:-%ԗ+啄VVYT!K) Bڼ=47*GWQ#InuOy2iW?u0;30'Y.5$d3 2l0.h"ZCG]H:M^=qjY4#(tXsdpD\f08yEE%%,cdIĈ{RW)JB_jTF OLyS jjTՠٸQC[8T;A]`֘,v9|<%,:]1&uӱ$ք&Usvdpc2[g !'{˿3K)@-Z))t^G.!'n 3~ڬ=ΗŔUU ZMWn odP?qXH=3f\MdLrӆCࣛ~o) ʳk8rVG2}cDƀ)V_v;mL". }@RNf߉k=k|9QsG(ṞߧmM59}hƆ3"w՜5#zhluZɲ4 0u\=ptW0J2D 8LnjNybV+<;Җӌk.ħnO03}brnJCC䎪Uipk7AtP;!'},a*|KXu!iϘ xiR\e ; h`W&xv}$7T/%CSw҄1, _ctDGg\5BO(\O=k똘U}|Wdd6O 8HV 􃓀Lz/9A`J&jL>ʅ+·Z4{ްt Pc_RY%!"+{q%[qO@X1m"P gqb[xB0W =nOGdt3bdXnڑ-;GJ!'C;)[uCVZNJ {4.W6ߠ? +ʼnۋ0;|[ؗ: &m#$0";D]^kiɺ1#c?@++xq8 Z >Z 4ޞiySl|dZui(s,Y!Hd30 Zjdk8HXKeIYG/"70 Kn'A*zXHL>LWrҹaہSVGYʩF;W+rDqJX-nvN8+NPRVQjy\ "j>9i͖pZ!zmM2lN$A2#Vw=! ! 6 49LL,#&s6<,藞zn)Oi#H8g֊35;nw\?_2RpB|*iiAIf0RqD=ݮ)v5L;ڸ\FY ߌԚ_ %IL5TGWk >[yOkȃC o[nlq% t;ȽxϜϖ}> &R8 H|l 3ZJ^` 8?/- nt.aK7ERt[bv=V(.BquFĴr${5<3:A״4|(acP%hBZN_ު+Ix6"UhOpʉ*흈 9ߢ5*cP/Idi4JFicc8uq*LB k|S}woj_ 9MM9_9,!B#/ZٹX*gO~.;ɔ ';!C:'y0!.ߌ$Q!Blq`Yqއ.ꖋE}[d.}&V(Gd{wÛ4cQU'WJ븨㟯^or; D_1bFJSJvi9: OU khA!DF]WF.鋚 I뭽K ICն b.Ӡ In֮k==Qq,iR5ǜ[~)5w?!4$ *`doL_M2y645fZ#s1&Dz{=c4doۊb~Zު&mr()K9 J>xmVo:7LxFm 8x~p/PʙtOԶ' ('HPPˎK}[[%)zιCUr p,(UhMy`OBZy0~ BnrU,h@B!`=DqWvl4Feg9m˫].>_S){r:$N;jZt4+r2*~Qe'n Qo!J4Gr}m~e>E>$_5WFWaɩA eDW'PԤam1|\'25$CANJrä́%de˪!z+W$A%P'o_"`SM&v&HL6ZN/'/⏓H,D:#(ۅmʳeGJl6,[ z {Zl׫2)y( 4dT tJ]% ;1B?J<9ؙݾaPdS DsUOGRLG:N{k_{ÓY ef)qMO@LDB$:n6vn/,^ы0mI4yԆY0G16w F[`ts4\ )5\mT]7"Urzػڔ->d9o+>jFfj`*q qqKIMbaWZRS^h[Tϭ⥑LKTaZ.sGyX`s쫠mj/%˃-ܯ~Z*"D6B=;W[(F:[,}̲ ;aXpo/qxć$.C_Xp_gl?JVPZ9ciC\3Pu6Ï L3WUhd#k[9k"g$7qaegOq0ؓXho`C{$b.P VHB t[DUz<|qMui }WX5}lntgX) nuj"yݖ 5d{bi[LAKYcqs߀^S׬W4cu%>!MmfZ!`FPM&G}LNW'R信x($lG,"{x.81%QLu5AN[j2:l(  ѝďs;38VWȖliIhsRjo U@j{2tP8Mҩ0G7M+zr>֗(, ss]wLwfQg!ƣ3_4@豚eXHݎ Ω筱I/ϑUF*6[yT7R_1ў7sNdvQR.L  t;= 2g 7i#dyTMd~jtlcJ,=<]ndMeQzN _!iDzx F$IGc^O: 6uҤ(F ڒN'!4MwYMM/SPtW C&GzA a\UwV\Ff8gȭ[{˔&{šjgc-l- ۄ,UZb-5WNjp"P EZ*FnYdD=|^xqM;XWȞ6W\?2 GSڭil,xAOƭ|[f{9 .F f4 QLV~;.$bU !ʽENJ bԆ;ksڰ8‚ʲ-6\ݺ$kQm/0胮߄=Jn&% @AX ȭԋZ3@kB(le,6 يXv㽺Ro;m}c%8v(i j^ HБ4jȸ0@fLh_Í3Z-Cu Z>Q\bTg$ I`,tÑj16%QXpw3bwW-_ǂV)*;oBjW-tܘld~ o1YO5SjoIxث@Z'8 u^, YCq${bRG˘ =0p{xj5`p Âum?R֡ h~ 2a`G+!$<0nPp\ iU"i\Ѫn5!ZQR"SggmVΊm6dlOc8$Ǟ=jn0r%䀰@B])³\" VImYCV,?1o26nr tHj;`fcAp$$XR?TTz;8z/ }%*L~GkG>G67Dcގz]Zƞ0=lf]u(}xu4&?^UEjF}/ZDuTzͶI\]~ ԙǨ}R~׶ߑHk&39]Ԙ1n6TR>IJ-vܘ(;yP/)3YĀM-ms/AN8zTC/t07(\yu`M8F*WKF .N"j]Bs=đk<\uȯ) +#VC+ZYmjW%Cie$;x>z(C'|:ZA%DhQtbDn{EΉ#F}ȟ;^//ڃ}[N <0HpA=Ư tIoFAU[d_j [j4ה F?Ō3N$icYnmsoM!)Gsp[G>-Hki9^@A> x[=9h.-Y-BdL04צk'+`BhtAK {!]U-z)zR'9Fm#]G%^iJՎ ]ڭ=m׮] ~>Vdsjv*]%i SN^p[6.sX`~PlwiyD>4q ILV||qLo%6;eXB˷z{G\B̘|e<(zڒ`P x$ltkEdVgd+g@]p.%zS9#/45|ALcCƒmA~[Iۨ] RZ:@ a\tG.l6uZѐ Fw3TʨTNmkH;$p)lB{ǖ_*oWn)~ŵb]oMYX6'ݑ5 2>Yš W.aG<} O%]QdLkה貑F٣+ "VQ#K%'NYSrURNRS~f&7&NiC˩e"O1enoivGNNŜ`J7R>;-kYj4P=Sr23J~Y;O[v)HoJi}pglyhS k(wHa&=#' _?.%V!<~JoL.lHN٬Нs =!<ɍ%V~d)\Xx; q儲dUi.yz!ЙcXQ7^Ipa'v$HK.C1B9hyn?P& OQGvF -CU9KBa5zxg-y4E&-$p!:/oV )'zxoD7iЙC*0vFNSR*r_*dUԨȌ4jpĄYRB)7"Y9 *Xjk&W_.%zQ-%s_uJCnKK3x`sP[&Ipjh~¤MBXzq& QP(zj0S۞fw%^[,.5Nm+Y|[~#DVPv+"۵z yZu_pcepu+$B"@ah "[u'#;{&570Iࠦq6f['W#z=;!V}޳nH%i 1Vvqx"1yJkuB/}ZH߀ -@-AdbӦ:k@䭋m}tR~0ǝv3!RQL "'*$4*J :ReS2R`i$lZǛm|IPtA]2+a+ti;d dmLs)#0hUj&[E hA"6沏7fxf3<j ]msos.ذBL{5I%%SӔBra=^q zbẗ_7_2 &OȌ7~|ߟFJ]`/_ÉuqoajjtVdɘHy e )SBs?fwԆn% \s5L;C5j̿&IEai )* {;l50{lmtb3Ig >jYSI bKH&$F?n? L*\0~ ?O2!fg~/=ʷ vX2G_)lKS.CH~tp r[EǯI1od5:7-=Ҽz>}+hj58A; shLJ9;|G KFl!BohzwOu)j K/\%߿ nɉh{ڑ\Xl}Zݢ9 rיŪӵ+[9#[V\Uc$6ΖR`r ^ ) fy;aSڬM}RA9B.6_&Oq2W+tk ٨_ g%Oҫomt[B(YϏӑD)dl={i6g#wΠ\HzVM*d1R(y3wHG5zBUdUJ pg~!aHH^[V ۨ?{ػa-'&A5zPn![n#̹.6kՖ0S?K Mm眏1'ǧbCĵzYݽ6hjŽd#`e4 ,'NSQ/e4rl2a)dvgC.NF(.fYWٝo(G3RHM[:Ѭ7j {̘I/3Z$NwSM?j7Zjme]]X q&Б@_@_z. st=}@;ywW6EQ(^t}\7ic+ݏH>'nh YAK[\+ZtWOnbJ-`zQ9kuJHmɗ0"nKhk:ۜJ<$]\nKZ1;s 3/ }@ '0=2]BU-5=+MsZ6,5KlX0*`aB!zG>%􎲠=@q"hl"JeL 깟)sZ!DmGexӟH-5Gpp #x2p[;E}e"\>b_C휟v;ī-Zи:*6.B+f:q3 RM8c/ Z `xl9߬rGQ4#3nUUc4 җchg㔡Ϫ"y'<&,E(Z`+W]lWL-:t 0zy5ڥj2*8?J"X2 y{;VIlf: *RjIio'ҷfx[`ޡH5ZA;:_l+ Lnϯo'{*F)M%T$̎PL ę~*xGjˑ*Ҡ\E gjI՞>Vd KFaJfzaHhJjvx 8CJAMz^SCHJkRO$5='ڇ|,G.7IلXgᭋ?'9{/^>V\(Dw{D!" -0,(o^\Wtyi$\h K7{8%F8kV,e9U"pB25v(`P_FpT?-&NbbŔN ы8^#gĝ8Yx }k{H޴VX^?9|z+pv3=U7U!iYBm:ϙn Ʀ.4%~q\Pz푒C#=Z^ۚBaѳW_c%G3ʊЕhGs,A; cMJSKv6>#]w(U}B?!S]i/[gz ^)Gp7x\qha@fţD{#rޠ)ECCo,Zieo$Dn-ŰTCAuymNGȳ9ܤF}З)h@KRI{ik(H46 _R2W"@֫Rv#S b29< Bf%6 쭯5īvjmN$ ggZh4[#mTZCSUUWZhՊfņ4ewNUor̔񸥺Z@5GFiG&}3N.5˴Kr"HLn}hAos3oilHMig4%(n Ma%Yl.1iO봾C;JS^}$:j3hĤly8"ާ/r_dﭗ92 3 4$2b0D:&21"Hl[\5=ȃcj؈cjLlmWـ:KF1$sRّ-aZR Ժn$edC96+v_K9*@7<*]k!`t@T~Re~bQCZUhѥfw2I пdSؽ/QETcGq-/86$Ds&VDT&L CK|-#3xҐ:z+q?8fv"^f?TAjAEݖRA̼AkD S)גa/tOY9mHi0(1#ٽ^AXxq`^tʈc:Ķi#72yyO@-ը.̞::idMÙnQ,P TXVkfsL~PuT{D{2|6 hcQCu[ r S4ߔbh#BLAF[8W/ԄFKz I> WJ%S`;HtvX%>}OVl3[@ ZS#'Hn02 K(*bb6$ކI7_uGn#u{}8Uyr% 9]Y\ybZ5vJEE]._ 4ßK&+"  ΰ!]nA9#qٳZUr0OA&%Q;uMbT ͜LϨ!Yv "ԀfL8]m%-6%̏+_5AL\TlLQ[ivxc-3>-,7%E{`N \h"Vӡy'CXz}ue(RUhŇ5ҧI4}5hTP8E zXmy\A{rJ;j'IfF}ejQݞ?B: 8zŧgX;7bTF٢gQi;AY R* r7hI_ Lo<9iadH x\Mv xg9Be2Ѝ\¨t=l^8ÿeHa6.0$jq4 =Eu8I ] {87J='q@l{gj WxrWo{'IO 'bok7i&~쓵ȠX)<ŷcf.tͬ`#NcsF|Ad0ż$nj2D:ey\0leTGCQR|&wvAY2KUMpN-$ԨVr;6&V{ܳayƜJw3GsMC$Ý@]p?,t1$mŃk j4%=owjFM˝$70__GH~}^s# +z*ᵤGStibLI* I=9Pq!41_ a"ZQLk8y8^JRU^15PsF7HҮkWZdP2!DNӺ,Ǧw&aXHԒ /raC1ǗCN N3:dwQBspv kbɲvL0t*JE $&U0+7aM$˪usγ_ 5miοqv$b #uCtL "oZ+yi5^v)W$ɦjc2ԆO\1Kdgt!,LU-owEI/?Sf4ٞ?\І(;A~zi۵ !3!D=33А3*L?$J& 4U8d= ˜yl+х%C _K-Ռ)Hhx|՟]Ԑ$V2I!r~'ioJ R{KX'yuupuHnЖ dv97X7$bn|s QtisLLEY!xZUOʋb_ӊ\2 W Fk?:RJ:BOc ~[z.|*9A^Mk2ӘZNc|;!\2?69BVp}ujQ|\R/}{0K7iأ=oB?9:?<=X=EoGWT񲻢>!0 Cxt!e< i[~AA) vid?GU O[R^3ZȎEh>XfkVd"Ä\bع={J,}h6|=tbc p1ѷ[Y{q = !l e]}ݟ n<iF&Qc M G27TgH8jN?{InN._nHN`5UZJu69sP8%ApN[GΪ(N]K9q$j9mboO SpQ0QU cUk~E5OA]ISv0Qj| `vϕ Ѷ'gޱZxpsV6@2$tL?bb%qwj|\VU3 Q1 ̏2AV;_ ;N 4 b`Ϣf/JA]IPe4ܙγV:4ZMfeNB֢5t#adO@zd7^˙Fٳr6%V17ٜRvŴA4==Hc'm,+sx_='|W$Ge㫨"֣轭wx3X:]!w 2{K\ P7{&rOdo_c 9")|W";4ܨ0,혇vzلV3Dj!nj]gha e9$eEi &q]~K};.wv^' [Lite0pvoO=_ǐBXfk'-۟l$0bGJH!g?n'+S&" )Ad( A諤8~~eJ#w6e^R=VLyfHNv.3{Kdlk!L\nՎpEAk4 YYʁ?C~LA 9:êuULv`Yiz4XU"j*ҷcFe ^ӛFJvýwD2ZٔiŰ" sƠHAȡ)Y, t1OdPA 7ӳF[5K@ެQ7Og؃g(΍ P7r6;QUPwnu}.j9Jz3u7c{AF~5ZfI/`?ܬWRٶ.h(_{4QGAhRq* 'M?]%;&sg(WVHֲ!r-%smL:* e!<]qJZaO*y?e@JAe!snA;d Bx~.mHrrABk  Fƙřٮ%{K'@=% 3~#Y.vH(8SqW:Ȣo,<ߙVL k,M2D`H>ҝZϻnmkcgGrzASf[4);iى1}vKg` N3CkpѪ tApWM1}zՉ&OY?dh}xNӮ7iѢ>-HuF6QQ2HnBmTt܂.4l* Wi myKb~M:kڗ0]a8^2F#\4\Fat=usU>˙WvW7}vI}cRrle$F> 3^NZ&Nd#\QH\?Zn~0<`!՟Ѣ)^-KJ[Yz2ꋟG~IOZ:?B7 lӏfEiԲo␮;C+Pw*i[ )C[2YKp,l@72 bMk3mMX#iEhXRE t+JެŠiն`yIR044,Rlk)};@F#{;AR|: 陦bAtg<,Dc-kDGB!9@M+ o ־hZL$] i]z+h!>;QkBP;ZK>B*<%@B=KzI-+KK r79,J_ 'fɂ.T8-ڣh\2E74\fv(y=/4$&|ѓ9*akk!dmHl*c'Ck}+IfCKY7AGԨV)I`ԥ2:wZK@/ ), g{-"0Lg,4[&PXmi\w സAR{ggE1yx/:?ȷ{leLR*{[p8 { )测2>kS S7:^bB iD{)=4r|~ɸUoleܮ5!˸mvjWsT+p uA+ip>8;m`-EZyr|}r-{;V@ap=a|ߪ~6Ԛ?/JF lH[.q3^Yp`#?Fmrr! hey\O{n\baiq@!Ohu`\϶ש$UX_} }#ӏZ\{0/w`eSu(Yq́'NVn2WAuN.BpWijU{U0 Mb;`ꃋRrhG񡼈ifI0 oTjҵKl1FGI6'Z#y(v%#tڕw>|Z7|6 vBlͭ!O9 ]1W TmS/-ސ{J R,esg# _d^1 GuUGBpIy n&^qc1bWw z8ݭ0h `rR] ;~>0 5p:fHۦ2! E Zew#T4Wd{o(VRx 8ekɢ# Z!zxC9G[aY=@8wV+f{vzV1 iJ1ڛ1M.;zǟ l\we0MI|, YGfdˉc/s-;aF]FhK5F.˻%Fgu׊ὤ=05m"3lhv.x1\6K(X0G5I>!Kfݛm?À;4@'^q>]}_݂Ij[ W.+ߡ'G(=\'yT2_D橊欩`w%e> Ed5_LLc7r ք/۾. lqO}߲aV48wГQrTmZraRȟ{S"w$/ݏ7zr\V VKQf mRi_b8lN+E tscňY9rj&M ԅ;$=+咹-C܋Ђs%=+WU4->FeI 5@屉:zc#g4ܗ6\新1cop@gp( Gۮ!Yk2`60\ʺj{?&՘YE/q%g$w!^J`_$tziXLY<'vFP$H/ ~9;sGbcz yT# \U+UKje|65ݳ>F @, ~oWR[8|OވԸ{z!?pU5QZ^VhKAw<,z_3$զW;G˄!\TH ]&XN0kIVUri"JLegn\iK%%Ο;G sd|uFSs{UK}E$?Z uf$2^ȗ'Vpf[p:BZڹ$L2erBo g瘰GffW%|m#sa"'swmT};$Nx*N&`~ilX3d16}Ν=|ĭuprRLœZA9E%zH2Aڨ7Lz ipiU'2? ;x+;`ò>2,֟o Ux861n| .nA(YzfB95:pLD[]8d/|Zn=Y]{޿<ȎYw䱔 %`?jF7ԧFu`F\Oܤ׻ Pkǽ&@/Pb- *mOoJh- ޒtK!  4w-0: rCv(\s5`&ħ^DKLQڳC_/%򮙖G!`4dsN hag͋)ړ8 ŹJtk{9I j5M>vʀ3;9=r %ϰLܝJ_@^~Tbr)%RߨzQ1tiz(8%m>i[@ yutҋ($!TEQ5xrP Nx|_!QJ9"Y{'r3,k\)_lDH9(i]m7-nuMglɄH<?\YCUV d Ŵ%rIzPWd_N9xŝuo>9 GZruMB|zٓ i g\Pi䄿ŘK!𤏭O3~7qH(9iDfSWgm݆ȓG) bkCoUǵ^0Wt 8v-b.~~PU5*$X*GclF<"euc.sX+٘ If;T N Ag&k`L7 JWXRZ80?xQVw-ޒR_!D"\ 2fmQE-Xv Dxԯ#$P7daQOvfs:ܣBR6Ӂ?p rw2RSg )Irw$ܶa@"^Om,82$FEأs(/uIfg½?n6Z xֻ&7ӝ5n HT UjjR' g(VI mɔџՐG\rI}3~ [\P=3o˿e[MeڌYGoڋA|E`/j.'+[#oqG_!_K|Y zs)ǽcjA?v+Lt@k5R*5nJ?B7:~WUMjtoP֪6IVU^ɛQն$;z+sJRxQ )2&Kv0%ÒlGp5|0б];Mmk<78PHWϜ@n> d=rkІwi)mRbs[ըjܴ,#IOgMvF`Li:J4 I9ڥb7k~X'X>G _cˋl,OSUj"͎ө5$v7"'3:uR 0II4,d<̟)T-0|$"MANhۭHUu^ڿ4X͈?gZb!VSY/ lS,50jj-wX|mW~DnF=m"thTr?tڤX׻mJ"jx%9(pN>Kzq(PGcsl33 2L &VO@8x{>8J)}g8]1f a -~"Y- _@ Mh(WuТ zvɶw*ő`_`,u@ipާ( P~w##axv{_0?kZB\k-%R}TlқȥDqqNORp$ߴ.$W$dS 8UÞAJ.K~-u4|/av!摴kPxL}BE҉G)OxgL$xL!\ݫ;6kEpL\:t4ᅫ∂[)jvI+1I۰鍚V)|x\5ę{#Q4s MPֶ QƸvQmGj\moP#5_:U2"?!`n6jTCD>iD+cm!$'XB p{5 IƁ48e&>WGT '+~ U/@˽jLV/uUצ)8O>oY[GfvE{ƾ57 KpsIj q#9#.Ҷd@^C?_Y̼%L腞uVߎl8X#MbjGBb@~5p2crNjI7.Bl nZZY~=* >uO_R[Ͱه?foGIs:wRYi; #?&ՁBjWbe ([B"y\*VNdA̧%ཱིT˟l89[HaK:KAwct!HEl/_6}_/@Z"]DK`\ u9lϴmcCr~G4,ʒ(W-.B|i} p%W|5ݔؔ U1@+?A1`qAyNv+nNlLG80[~x[{iVL3Z iӪڝ~K ՑCUn 5454 g(a6rll6,/r6sf({oVd0Os7ov ^t쐉‘p9>X'*,t<٥7F,%p? 2fH5:@u@E \n#t O[vfGnbRSGl3+]CQaXa-| I3mYT)i!K^L$'j#o: +z@Әh׬v=.WAQmRi~4G귛wo&}zM 룾 TM=B`6p67eDlkF4S Vԭ.& Լ:ֿ}&ʢQGB㚸;2@9ǂti;Cc9)"_8 xK l{qX$m6b,9_IRXįP7g}.uv3v0pGƄ=)Tzf71ZI,𔇽1 nZ׹?$5Ox+}Zo⥽ʁ) Z`kCHUdFj.ML0U;("]\z䯙)1&-kr(05ºݬ4 Qxlng'8;3\E[,xB`FO=wijsqEPA1_>ѝ$4$ؕte֒ .$MbPT]mEN(), ١OSl|R*bg?"/"ec9ፒ`P{~V\~+b |bCyѢhTv2@!t/;P`W_va\3CQN癓_^EzKk%5dV%cQVlP@B^nvAF0?Ǟx24iw񔲞69^ 3)J~ZriVϷQʓ\6%LOe80JK9Jv؂ej޿3ax.fA=7k^R64͘ghF㚚\ӓF}oyod\6,:KX<ɭ,8iF&{X^z4$Gٌo}@'Nn=F15;uUcӐs0EE߳RG԰ a|v8VɠB 5v rE5&B1(Z g(r2'ҫ_+tML5Mf\39t/fC׶3T-L[=kC-/lt}2r:%hL/b*օI]sGɕsUlRh^I|,?L̜(`}RWG?L~lE4u`68M5^NE0eԟWa &7+hssL##:s)|TrW-Ε|*2&{ SkqD/7uFze &5+VkөWUOqe^#rfS S2rŐa׼c8 NsO*0nḻo?xxSP#r84>kA'-fܐ=d>/X9y\mJ=Ͻ u$\y؉ϭWoI&W͜3Npz^7Vvݲb=*M0kn lz AXΆ4յjU; p)AL6,|5Yզ yxNK!|:˂2Rv+5 37ȑٯLAj hC[zO*2)NޏĬ]kÂazus-^ zۃ#hWr_$hW/\ZD<AtA| „6Hiŭl |Ɗ!|[ w30rDDGJd\ h0:WTOhs`j$ ;43<ڽy:zf|4+CaJ^d1z3I0Q7*b.}5ײ)l&}ra9+O'ИL›WUzYaEV|\? x6BÐDvѱA8):Hj0)>Cҿ:dz&QXݽ)S_ V "{$N5#iȤu'-!֪u 7׫sihK9]OSb3iKYʇx!z`rO0KRjϑ*Jd MH32;E3 Õ}lxCo@]l쟧2>EoK(ԅKL8{;Ak]~dSo`)AP_rg.|=}6{,Tx%kUѨ ~Fu"WhmS|Šml$l6NRj&!V(yWOę;UQYxܓgů A@ A}F5Ckm^&vւ5)&iAuڝJ𒼲pKCz/HW(.^X]y8p"W z^8=rF>+3fHp3˫W| :zȝVM_-\WZ  X90cTbT2F4٤m(p +^gLqs lL,p(W$#'ᄏvi7P">YOVAKXT .45*.΁Wu;7 ZѬt$7(:%ңnXfdz8LF~nYK.O;?JIk?#2 1oogađ%-L76zfήfYthSq7)܌!S =vLֿު{SjScO&6[wG_USܕ`!Ap{ioֺȑTT!M-VTǨlMTF}Uf=G~z(G=hI3ڰ&8@op["/F.UNk#nUIk)F/=ND63djyV&Pˠq:Ɵivފ!YIXVA>,K.8+S oT.6]f֯JY܆ȩ$dLȒtco]'ʷ^%owo[Lla%7bޮ@VBŸNn&}3s\ aAF!i[+5M]ySRċ'<K cbpL$h $@|m*1[=e%􂏽"I2v8뙖r$!x]3o`r;9~_+LPr.Qz~!!gW+x[/[^%;>#|E107/$m )% BTqr63{T߭u$Q%e Bǡ:nƾp?C-lݓ]"E\]WmIcЯBtִU.#8b/F~*)u!P.GLΝ|ăWG?"5Z]ڴVNh7֭fZvͶnt'&K˟vѪ7m՚o@ ?p_ڐxdH70V_mFJ߿G`/Jxu3o/U=]fH\8%d `ӿ3,ϧc\ASI]ٌm (F~͉&ekO*4@I(z3o*;ML.탴B F=H=l089H@٥w U(+>޽L-zohhlp_:_~ۻwJ ΁ԧwB}$@‹T `cxL{"\Igw>swfM_WPz\g&c_cdA[!_tnC\r›VR;^YEhh;+Ci[&ɛ,ȩ)MU#F*_:یKl'ԏ|2TT*tP,(ޕލbvU#\3+_C]=SXԋh8G=N(TuM^Wfsҙ''x=/@ܗ sUa }B9ca=xd!0t0]3h'{ `(~GKˮһjtBfb.>q,_j;SsyC '<nCcŸWq`3lu8+MWnnr#t'0= rYd\"5.y^h.oEC g/Jm ~LL.1O6=ŋ *Lモ%2$J>tٜB1ԣD.IFBڗ 1Rhb<]2 0Ww0@$̂w_>}*|jnG.܍ =ue 4O%$:dcrΧJ;'ɉѩ/-O ֙$y/ξ@C'B`I>ȋ5xwFo& fzi5F>w/4҈[Y#5XM,$p,Zd.<ӵV/&_j Ie(сJRkn#*һ'$7Caa}F gI@Ail[5Y]>X]D{|]&k?8Gִor0z"5X9'`A o.kA>UZpe)y8} Z]) w+Dnt;g`>@Gl-Mj|lv=W0I#?k OhI]M d\,֦ZڅjCR2.?ԃ(sOS0']e!]r],vց`]{SC B1hʉ̗ʂ!s/ՓT;'hK P\{؁Gf|Wш'"{ΙһoI>oD.g$D2fQI 9^t@)>?%p A=>!fg"&% #-(O3 t ':xu7:{2GEH|eB.a-@KWeVy[.YqX7E5LR8@& RV|I1} HZ8ě OӤy]Sbˬ-_h=Ɯ͖Hܧ,5m3uޏ¥ ֶɈ[V%rm&f']&CFAcS ¸֞ 5Qaa3'FKwwn'x3{K74gt9ALA6U'1~`vhn" r=qw5_Sɔh%5Λ^Lkt:ͭn՚y#?գFliIKJ͌?iW҇eSN#pq=0Ҹ cH襄3,^񥜕}] |VBJR| th5wcr{Q ]`ġ+,ȷw7d:]Oep aһrE-;OrҔg<WƋLjri 8P}Y#JR={-ۥgFՀVݥxHr=XgVorpgLzf镄&zQ̝2X_ xwƽ7"Ixv𣗩aS>МU>VL#ĆSʅx/?'GU2 Gu;)k62V&tNɑq"Zsg㱞7I&n<%=G L"U+(d-q0|:>QȓfEnEE1 0!_cZڨEN4j _؆$}V4$WM"), ".jyo4p靍Zb`қ{G,ϓ9XzW>]bg4¤+2d<UQGB*~ @N1Ĉ?xr%-7q WrԇmqyLqI]tDiyCvAښ6`Ei0nłt\ a<J;MsDD6lwtr%sUɱd$*Z@tulX-+}^Bʱx\)3gF:B\P~_-~/'Eh G=HJ-aO]Ɓ)V5"qhhujo۞tƢvnϝV٩ӟ?iJ$_OX>'QxȊ,u(܂wJBĉNk%j=g.$NLHPqjX8!=RzC#B/krr43ܟ?wdo,sBؙ-q&%2asm򟆳]WuΣQ4c=Kr 3~=산ʳ'd+P''mG&3?ݝU|zLLk>Od׉gM^=(H}9$I.יS *|,0'{(qiY&`<0)t{$$"c^$*9ZFdWbrbtUbىM40ʐ IcHIVWe#r\"5l Vm~[d!OpkWFC[&.r>,C iϾ4cTj.c';Yw>3wcv$M3|Vtxߠyʄ9,i&a{ `S8E⽅UuU1 sGE3 Zt<"IϿA`GyL<#lJ \%V3?$G g.jGO{"DL〼weLFus"Cv.H胔IiT]w_:֫d"(u .QKNڳBvyٚL3~ ԕ_\b]#2a Wm~"rK5v o$}&0s5UL1,\>< i'L]!h}!~&Mn?hY ?e3(]ଜp-cؑ֫kk0ZD =y(<G J$%g# @z9΄ڥMIkaY[z縯֬ =}L.1rȷHI?:ᄃsa,@?{؇Ge0f`LYM_I㲂($wt IM2ӐS<sQֻoۘ'DS5d;4T)Ɂ8'tX0yҐ01YX;\SC4 $OqIH43+mn/wW7X\hrSJDЁkӭOI]tg)؍b 2Gʌ4MwJؔ1}do og(K.}#i 5d$hYv\^ӌ9lϮgYԿ ׷=fÇ+$Q9WȤZmX 'dcR&PW՗D8le/駎g[aN1vp9:`ĠPB)1g*"b17C"L2h ?a $L$'Xû_wªgeU'Tͣo*oI7pK NZ%m,FX-.vkQla /R$Rd,N,--" Is_br Vf?0x $1oWWǽԏ{f4S6n23 d=8Rהs_ljU̱?/9I.8]zTqv??ɫE_7r9_OG+ⒻxFϣ_Doc (Wk!NH$RJqJ#:k5lJ6bad,x>Y&(u0d! 3V ;kYtGT$/;ZYъ rgB^3/ܲ;~8=hb:4>xo9{CT!#̄-*$4--j%#6%.'ϛ U̖4ϖX;M>ɝG䣘8kRP;n$X,M(٨Ԧ̴HK} Q_* m vFaD .tTW7PΙ*G&N5ɴ$I/[oA* E2Q^_Nl[.wTÚq]Vة9w!P.3K0 mS#W8db =*g!KDQ=BZ-mfE2fߢs엦ݍy#k՞4⦲IrӞ F%}vLb`ASMoF=h⏒訍DH1JJq9a/eTvn+}(VʒtM gFMe̱d4`Xe6[Ouٜ0*}o\NmhE^ry ?nG7;/|Q~|/qcf4MSՍoԷm6l[hm? wꯏQsHHZg/^d"C| Rori%hQJhTG?TH@P)292JeA6eO=hf1,{[a [F>fc%m~=ݿ7aV. ~Am%7mU컬l^нە6`$z-Xmiɖ@@sPg[;dƁ,-}; 1L q]aL,8bѯ-_`]5%{ gĠqक़?f}Mݶ%ۀe6voꇙd@͖-q%5ՕѮ߿+8h`8O|Si8 M0~~^ l0 60Bvz[-JrN/a~HyΆ;LäcYlV_쿋DuMUTVi? zSBz-;z$sD@!vWt?/lA'ljaX@%%+''e/Ƿt J+/ lNĥ%J):ȓ^K L#8d.̹D_]>V-ϐc!%:rd(vs~!$P|3&td ͳ!jr8@ N39OR@OaZ&Y*-G##7E񅲲 D6F60`Tȕ+'--::Lϑ11}FKўM.f"˯9l ]+9Jbr,ĐLt%5br84 6<`Ppx!z3%$3P.ph,:j-ْR\GlǨp[8QuM&qɮs* I&e))grK[o~ iUV /ż64#AP1!GexNjȩ tv9ZD2hV}L9FF>q["/oݷ:RTfa{-؇^ǮH$Eq.o?*oAֺ"\WWƷ¡ǻQ,HjG%Cc(n89W=ӼaSaPJ_tt-bV[/t9ƛ~:Â[H<%h'&,&ʘ,J\3C[;kΏK6:{"IbEO44 H`#@׊MtFMɨ#px=) (Z=x{>J/KȘcR"3B4Yz'?klё5汧Ou[Ir?$QdĞK^C}S^)Ь)#d)FCŅIЮDtL&ة 5 G lyd0ouhC5PyAr7ܝc!Tˏ[YkZwgG\IWGfq۬M"FhXV+hC ā#YiGW-oTiW={MHjq 񵐁FO[mJDT2N@cGMzFfAt\v9x|@49:4RW5+{$"%* p7d*.將XQ"$&,j]Uz=??݉E39FTd<|5|&r8>loxM-)?rT?:=gu0%