summaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python
diff options
context:
space:
mode:
authorRobin Murphy <robin.murphy@arm.com>2017-08-31 11:32:54 +0100
committerChristoph Hellwig <hch@lst.de>2017-09-01 09:49:17 +0200
commit723288836628bc1c0855f3bb7b64b1803e4b9e4a (patch)
treefcbae67d6c048e45caef3de2f4a9dca879d6b9fc /tools/perf/scripts/python
parent2fd523c57e520899e05ec663d04743005bcef5b2 (diff)
downloadlinux-723288836628bc1c0855f3bb7b64b1803e4b9e4a.tar.gz
linux-723288836628bc1c0855f3bb7b64b1803e4b9e4a.tar.bz2
linux-723288836628bc1c0855f3bb7b64b1803e4b9e4a.zip
of: restrict DMA configuration
Moving DMA configuration to happen later at driver probe time had the unnoticed side-effect that we now perform DMA configuration for *every* device represented in DT, rather than only those explicitly created by the of_platform and PCI code. As Christoph points out, this is not really the best thing to do. Whilst there may well be other DMA-capable buses that can benefit from having their children automatically configured after the bridge has probed, there are also plenty of others like USB, MDIO, etc. that definitely do not support DMA and should not be indiscriminately processed. The good news is that in most cases the DT "dma-ranges" property serves as an appropriate indicator - per a strict interpretation of the spec, anything lacking a "dma-ranges" property should be considered not to have a mapping of DMA address space from its children to its parent, thus anything for which of_dma_get_range() does not succeed does not need DMA configuration. Certain bus types have a general expectation of DMA capability and carry a well-established precedent that an absent "dma-ranges" implies the same as the empty property, so we automatically opt those in to DMA configuration regardless, to avoid regressing most existing platforms. Fixes: 09515ef5ddad ("of/acpi: Configure dma operations at probe time for platform/amba/pci bus devices") Reported-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Robin Murphy <robin.murphy@arm.com> Acked-by: Rob Herring <robh@kernel.org> Signed-off-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'tools/perf/scripts/python')
0 files changed, 0 insertions, 0 deletions
܍z\bRzNꍦ# [-""jh0Nt5==_+גWLH_@qK uEy[3{_+~ptqm3]bFdkڶ;PR~?H/,p]NzD\7 {1u34CDu'FVDHU4sܣ+Pw\!iuя2T7K_ /"\7>`&QUڿs/ܟ9?XǒG^㮚}ǿH9Gv1}[rlom{$"KJu.a|! 6z\+5ܹ7oH!L)]]ML;騾h C?s~g4s(<ۦ0]x.kmVwtZF !A這4ac=*UH¾ j؂n"(GOH)-QBxeٲFm`x27~O%_ 6jg/Ą%3ЮPvDR[G8(1n<k˵Ps&V[ϒ{Y_5wZK 'RDT-A= \nwm=`wu6}S2_xVmw셂/~Ɛ|aY;n tݎqSx- pJdE 9P<腪rcħ5ȉ½3α{P8 1Bw}f0I!z~}A`U]aubi-^tEt4Q'gp^芾|K=2 @$ V^MN$5%b I7~jX ͺwjG2C_X@Gp{Iwkӄ8^Pq]T-erT(~΂LyG}|LAo%Og%T].x/Jh"Ym$&G$]_a)Fv}ӂ=#2cA"3iqDb_9"aH<7O|C INܙTE:ws35]>tn-0&BR C,L!MDWuj;ځB_>KO/-^Got]oc`0}hm Ȭu'%w׮yjnT#U"mk; g_e7hk!L)u-ыdMƓnNj=>{, <[cmU2!#7&Nã呔_[0B[CSM;m2МT+ { 61)|b꽹2Mpmp_1p~[f ^ZwIsc:qLw$!~ÓoRrm<1w s q]+&OiWk2 ;{:!ηpHYgάRGOW}xg[/XǛl2O"L֯;EL0#IZ鐂{uECxáͼ4c@g1hX>] n +UNշ*Dd>G;%Zd_yf]#NW/`o~G`ʢ7i0 vok,N+57fl#,^/ j];Pc|z\ɖq^Lv@DL %U-MF]@@l=I:|z.MC& 2J2:hآ wO6K@Sxd0=!:ZpY@:ML 5R\3 ?jZ8~)E쇋w -NVOx|gR1@|e b7G;:G֛7C D7*ջ돚QxKo4_+9ޘ˥p-2xˋz>WDȪ IhHtQpCQrF%Ec17VNхG[.3#*<(#{`$eWzl+2SAyCJrA#7oE>,|<0*`-#A/1Qmի_Q?aW) H Y$(v$d{'C8_M:"i# n BC fՄ7b SjU1X!7߄\?5kCxrV!Fr%Mz6'kQ֜o9ٻYu1[٥HRg3ڿ٘qC.YS[ a&70M9͛eF;y3^{Zdkߛj~y3T~~X4fzf>jh]m;@q]*c_OD Tt x7[3 m7 HOмo;! ̿Wgfcb!阷9=`[śhS⮐F<>VhIsŖ@ؑ囶KcS%oW(_<== $ 4] P=%|dkkت]R PZ/̐Z*~p>moD:XC2Em"tX%+0ya~w勜Y#8F!oy 0?d1RH5hGےj| ߆Ă؁#UbZGdzFP{>|=+̩L%n{ƷW*_Ib4q~Xyցd<{ zG|<o&cb]NމqH4<тwŠQWG%ex9dJerYtgc҂nEqAK[SaI]^\ޔH\ ]h@ûz("Fʹ:)xa= t eJǻ?w?~d1lŨnnQGŅ|mZ mcw"Sr V!v1R,>1bjס;3ޮ\oתeî<'x#=g9;üI˩ f$f?A}0)upp sI 4`t ǯhd>8z 7,Gu_jd^m,5Uc+c$| fɄY:K9/x2eh.9 %J5&ը=U^M;jɸa_R &>S Զc?5aI`ŮD`,фUV[a&!Xrl=-wdKVB6U"&FE.$76Tjz5Un:#$5juɌnP8%m~TU55mbPb3Dkm[jUxf֣+B+A%1pAL"lm ԉ*|}H]*هI gOܔN?:Ɂy#_"%H2BUH摿܉E% XZ m媋MLɚhу|4(+"E)&yh'A[ݒߝ7hU4Ɩ/ *aIWθ1Egr׮=Y`Xu/6?=|iIJJ8p\To QI5G|BJM@VU?G,ٖ1 xʢi5Vr}/vksGu`w1VZmy?IGa^$V6vꨦFSQMJD :X it]E* FZ_]*rI z6RtjIH+)nX}"2Г5 da\,ouv2]b ޲|{'D?f3/}~V o7e]0Y^ bϦG>PBeAXWJyw|8%K!I-KUjC)oi\[D>^_/o,`~G'/ˎ^Z r_]];&= ۑUT?jhV*齡]NYԹ,$|αjt: %Z?1 -V1xOtp4"x~y!)1B +&eSGXћ[zOF.v_ ؠUAٰ¢Q*MBEC=ZerhtX:[ ~ ?*3ç+P -G$3 LI =X geގnAAq^N{^dNu2Tf@U{5XͱR괡: 3N{}$,Ϯ!:I5(WȐÀ4wy:F*f>P7GTMf: :>UL-k*‘z,<2⠺ц-5C+}:{0vnՎ,p4{eK+{j0Sv]EŌ%oyx(8?t:gFƔTc٪f,4ݒ2 SK^|֣B"Q2@OJrp+sjdk%n1q b.LfZ@lp ڵ2I$u&vU*DiL}%TCcy_=X@!iH(~?M泜W6~ez #7 Z]'^g, `k?$ !TYo5fWuM/H :&'B6iZ[+n^ 겜5>5Q9]Z*8EذxJv*a7p,ȤI)eHcH(ЩG[ۛXS"Iȅ;Qvm3Z//vxw}geeB,ː%0ܥMjf 螹n.,K }/^h _f = ;'fv:UHfaVaSV#UvP8d2QFƞ7^£쐺=箓[d\pi~ugC~%˷,=4&pE.y''ZyLW-PsC$qͽOU#4n" v,",lthu$}Uc8C"zL{L CK\5ZRX"hy Y:b뒉N[ veFZXˣُoX >;?& |+2U4lLB@vfkI -YdMCa t}Zu؉T^ԪdŁ .Z8 ] 7tUlԋTkrtb҉rZا AWˋ+xÄZ^[)S]^o{H"0""Տ'+<:u;1/W)<įMwken}n࿰i7pgR)4u[+df<6i#%{j۳Yo"Җ![s3[iS'5I/m%슓cydZ vJZSo{+CeObEjr>$)}9}T#7˃#,㘛Tkg|~#陖>)֒ނrGF^q7q/^1Jwёb-$ p ޚ<%B2 5ɵqBHL\+TV}7t;⧄sM\G꾾 K)`Ɔu\ԉ64z\\Vtq,rs#vrq=%N1'{-![b!_ps 8rCʬ#PWj.$i>IJu`'#j֨;P7U7݃^WsRZΒJiR apX=tP}W\QޘjZf_RSqȱ&K+!{`Zfr*˥YtCdy[-$c)!ѤotV7oS+j;2R'[Nw'mKGnQ z(T+&L#Ibl#Z%9 f?\E ,NюaT9,rGW2WEt-ZyQuO60ǻ3w Rupe J_(N}kx?(m؋=MiBOtD ɋxkSux C:Dl)3ITжi[uLj3a8PQ5#zw(Akg ^g1#kMQ 8"ѴEf/%e9ؐ4weYmzckyzNGE}UCT`qm \XJtE`D'N{7GEe>W.p`9+3^1iunңώMɥko2ݡQ }I>>ǵ 5%@E?=Yx0w7fĒJ fhko-a+R rmᒟ?k6{cvqjv6$;Rf1>?-ugu[8;Jm$@3eJEIfb mw &⥛0l]0@?~Tid?Jϋcmt+$6Sn8$S]I=Pw'/Ŏk5$Ӆ$ HvgNƳO0x0*Q#Zj{;/̓ *vbyLujO]OHէΕY :FXq~aij') Y9ޣz՝4پzGu;㎪MnM=kƵj[Æ @ƭ.\8\ i9Ï ע7b|IAH̒W\qG1:UQ }aҊ~V[(<P4GZ*b$^%G1Siv[zLw[tL^L~OFOl}jh߉&;Z2ķէNvT7ܗY|v4VG*X\lc{otz&\0Im򳸢oGS_HDQӈvIxrJC^|͒jh|ItdcE?ޙVR7&!ɌUuX2%II} )iUeVӶjjnPY8&QV֨T뽱Sթ֞H:u5m"P8%(#>"gfJ Hk#I@CR ðr%fDR\ pqi2^|!HakǡGi̥U2lDTDggWDL;IЍoc:oYp';+_2tb+}Z]Pɝ;绀h!I5bSwޮ/Xe|$ 9wa|w"jp{B#[8IK~21KhؼB9{EpXuiA\0fG V .8T@u:ө_U{[e6,gޒq1;Kp, NW EuFA+pDlc2Ԙd,)O._a{C)[q1á:nVSR s)FXؾ?7(V я}"a"p /BG9h!q5ˊzD$|1pSlC'|MTwk1|Ź3B^+{ ]=3zEwW, VRd/{xaPvw|<쩳49 p |6@YB'!$[6O&%\b˙dAagŘ!5$ņG0@5;[_tHk갿}Ðm}`#N.')r*wlzYyӆFfb7 > ӛ 9&9!R|cg3|cE6S Tݱ|'fv>F5WT=H6M5դڴn7դ]5E J >E,^I9B:tYrgrZ8Kiyo&47S%S^4 @;sJl%ak[섦RkL%`Оs+lh,e޳s(ôժ MK(Z]@$ZOR7ҶZ=X  եXqӲcPzYMYNXf|4W\4|=A tsL}ֆN#B?qBO19MxwуA…_%s8э5&]tL,LZ1 , )M %Rh>[:\%z'$?pL'pp87O 8IR&~{3LD\ ޚX%0~±4: ky5#NZՄ2~{_%l,ɼa=t[od1LLv/R`,|Nr0(4g{9W.'p{T 'of cXz)\es2iJZݐ/C@:Uea}{C<V(  K׎CEfKWrXk&=¡ /~lIɄͶ2 S2;^ӣM6/yPVsK'uI꾣;2_q䧞|01EtrmIZrX c'& 6P<;Hw 鰅R$vqdsGX!(!U?m^dMswmL4Es~ ڷrZ`x(B]\] PYE\d08]>|ྟhQ uhsMNҳ@2fȄa_ƸVnSz7;;@n|_.06^w-2cEqo J}TϠV8XwH 5+6yܛw\\OJh64htKP!?iUcy a[Grj#=g|{@n!,%%YP|3xo{~`.N876$9D6]uS-jTz.?x5t{(Kꔩq-$2xSWd^MӛP#igjޯOv@/aÇXA$"^:Pm0Kjٟ/}S/W}N,ÉC@2w袢 +zm 8#W3Ζh혛id>P(o󂧃_?^^1bg0V|XmBrZZȒ.\FL)݆w;?QJa$צYJ}Ww9A3:1;M% O*_vrrG 6( O[Dn@ZLj $;剾uB!~4yt9$:oݑ?>>)_`|pf0SKb&v -^skPd(23#7X낦80gB [VBXQ}kƷB詗zс\H]ICkLkd=ZԖlɲFln/v*7jbj[4"BDz%4 k.0+aևLr_k^J 5R҃do3o¤F =YYpO'Yr:OhŹ-/n^FPa`Y$O:7J5=i*C̅?wdԆsn s^yC)„$CMZ:)psk.LRHb/PCh\㒷hr;+YB>|Y慊3Um,i" oK̕hIƵ&K8*'>MO'P)S̤ [ɠt 3t 'wS"-=vF!4J,>f)\ՅtOvE}&Vg8l4GCX#jpL@6ɀJ󙪵9W @&*-qn l≹L$iZy+{6@˩s(Zlr;rwK$?"F0=vX܌rSd^"r+}Dxqmpͽ$6F0E#{u D_ߧ>6 |Bpga&-*\$Z0(BR+&31yfvUu;'s9S+R=|k{l8} }G]^92>[G6C٪7LkQC&KIS_gP>MMgeQƝJ/rwFDZ}Qu`twr\Ղ=VvklAkc{؅RFXyZ@ ܘq|@7};$ȬHdSIL_˯"Xg8v&n]D;UQc1:ず@4Ij5.鲺R[29íᾷ]$8ه5m  *yػw+з̡tɪCrKĬT+%gtʅk)&>zvܬ *!U=?0Hu<r4 J4^SbNII6{7{fE7[keI61S=2}t>dW4q 뫹!طQɺ=҅c4SI\-Ǝ= 6g LHn`3 3̧"K3 k3JJܚ1N5zUt~g:,W7oZ{n>t XWU:t 6Bރ4悸0zgƗ(7^7-"0/3̮=u8c؄P>QEYXo8( ^lv^>lx3P%}দ >!4jIaG7q#^z[- "$:jz9#E$F6S\pR#?ſTFT7s,'+ufajU |)DJBi j|l~0mY0wKc{<R+aD׍Z{\`h{:~ }e"GmҥErLysp+=7I0CN cwSS(ҀluLk/#ܓ9Hto9YJ&FB ҷLF7pUp4%3Qq&-jkpZz=Sqwe?k@}q999-hX9(t:ҹCk f8թ(dufP  x%z>XFۤ4΍N|wR*B.LDO, aLik3^F-7Yf IKI${K]M75Lqc0uc]R. 6\f))2/2q,4pIwCw2# RA24FaԪ)zYFY"Zg\=!t)Gv %߸pӷvQp1n#鳰ez tOJR)ZƑm0k=F&<6)3wIsb\NW)3$@G(WȲUpek6\Qv#,s\mP^ _䎔>D: |Z;13.U ˢ- Pv;>bP,Jgq)K#a-3d=XaJÞv$zJfQڕ<;0ϑ#}`KB|Wnn`ݮm 0-iIjvEǽiFcҲ$o҆!AjL>+2؈'M,4nih=Gli;3 tdX6r͇zl%z`kӭOdiX5@I6]R\15d\k4 eEEԷY'̤¾kC?6yд% ^CoCv N:@\r%F0ýE;%3(˛ч5w%ӊj:)?Bz\=ҤiBVØS*7Izr*rNf"epF>X*)f¯ᲀh;bf(J9,| %eƦK]\k`q#MMp9*j膓7}hl}.IW0 4q؏6~|׳cm۽/oUP] $.u>T"?qqsU3KH\ɫFC@b>׶"?¸xHERgqb HKߧ^׷āu &bMJbϴQOƴF4PffwO wpPc=څ%u1rd勾\Un }>tz 5OojT %k7))b֩W;MuUO`E~fyhG,.C)I{HۀH4~GKe}O#JE_cxI%ԮZXeB.KQbJߔ+>3ޕ9-lb`䯘ҳ^oP;7mCV5aTkИ }Ry)-*E˵\nÌ&U |>"5띪rC{]rPA;7]WEvoc}prJ.4y/'B֍rbfQ̯Wo5U$|s *qI %JIHδZ}:K,$qgF8ccj^w$D먑cJ@ %z=?' f9ly6L#ۛ9^,Ҫ:*ʼn2~vuچ5;YYeN=itWcEu@WwXaIf%qUՒKى# UpoF0I7"B{fYѭVMKyж$T[mǯtBMa!D;PO ⲕD%;J :RWIlk[iᅷm6lv 0=KEQVd(9\ Mf |2Ğ,Ɲa/T)v(:")B|5+ǂ#^ 3sR,d8$ʤהGkV|=8{jjN]VJ*.c!`\p-MJndֆDҝtXw} /mC.bp8rv9'%((YV@?rA3Z$xTjP (|ܘSTk 8m*vyꁻ_31`nE5%A_D" jsFN@Wd%?h*bTdk6ZR[:1Khy&)`E_ JJl6M2YoS2Q ȭ[ U}Iq< $Q;7 Cƨ+)6WcZ{IGS B #D ^ I8䜎 2TϭEX4vҘF2Qy^ .lh "sӠsЉRopYmPV'9pl\5//PUD6u]ja':>nYI4*Yy&ەS(,ۢʶwS$ FhC L$y6}UT@-H,tdgaZaDUR-biD3+^E>]M٤{H"g2 s-VMXk)ݶ juL9o_nkez֌2+h #w+}MQ:\vWR^ ΢*}j–z~V_pE)Q Dj.soQ`gln_"_j,j˰!z]a`#,}G>FVujjY}Q %Ѹ\nnaze-2Œ6ӸNM ٹ葓zs@5jYv/ƧN4beҀvSC/=d-V"h?^0xsX8{!jGTvXFk#lGO?Kt5]G*siiaz!yuI¤J+:evZ'%5fۛL8.{z[eJG]hys ܰhiSrn- M+ʡXuS{ XnAD${1`᥁VW iN] A,TU4^$zy#+8!r~A@  ImIzն}z/Ĺ>,ka7*ZʘԱ~y7T A`6$ w]j=!3iTd$F>op<[eʳ  ahs̷.=iYNeM+^` %; Lb`Wj. {Ws7K>aU`jufp7J)?u6ʵz?}Gr-l/6`l!u4t쪋 5<5e^0ND P1 7IEI]u9Mt$2lЌY_r0^ ]oGjM^ȰX9Osk.2I,t%uReh"ܘRd\t=Y Ȝ[_t.ϖ7ivjͶzdVǼNeϑq!loK~k~˧~{n=aɔu61+/bi$:ҬHxx]bZږ1Ŧk9lp;Odsݣ'^VjzIe2'K$+>6V/O(-䐾wxFlhAtEA DL8't>It,*̯ɾHuBH {Uz #Vڴ36TuY VYN%J']6h9 < & 3IwmUOLK9Vp%A~sS,'_ 7wdAGށz@ MucUXƞ0=<..TPvvy>(=4;G 6B7&7VnGr;RpчY 8 Lrv{ 7FC!$pIl }ΌcZ :];;Ւh[TWTq{t3 .ޏ\3r.tltaIAW;}bj׶/1>N oY꫋9){c)@YZR9Uƍfm:r;S'% |ϸV5Zi [O!> (_&ߑ̀iB #5z"[x5a^ő%1p\QJ2w*X 7BG/XYmSͷyՁ`b[XwdC&_1VT~:,SSs%2x 'IbV 'βVUwgr7c.q9|!$.ȴZ%۩wtlvi'-,lQv;~iif;|.9fvu1Rgw#dLlY>RQ㷅[Ƥ ^áVR$-Tʼu Rޓ\ u'S^$^\03WO0!Kzܰz=61Iai+#|Zeʢ x3=]Y"Tѥ]DuTx#-#$9 G񯢇G&pYOvR_>|buI:Qss ±Dҋ۴~a&!85jx,f?^ 2T'g"ga LjlP@_Uw'V?ڂ40…yLjPIZK?3 JY݊$ZG"Gk!9%>[zYeq!&UBRVsp/:kΓIҵH{ +^D%Q[wd捷%5M;y"Cp\";Fi8gu~ʿ\> [-vH Yxmȿ|,glh֗GJVFY.ft.3^AβWWvt_kpKU灻J1jg?|]`OlAA)c!\ֵsyN8 ˱:Hl HOLk;?*ƔqM?}'Q:4X>dWiU( #a&>̻)3@NUG8THfLTi:?J8hGj*ĵY"}:*?*I~A=:kT% sV!ZS>f4ZR/B`mP'LYuËh;viZuInD@5!MM5J Ele7搥I39= :$N L `(N9ExB/zI_i@un0{-T:Co_CI_-IU5"%\V/)77#Lvad&/=av;n}5kI))]f$.R(!m13)К䤠e=Q#ǘ2C08i!.?ᓒdFZu񢒜;"NFCŵrs5YpcL%Gt*\q`oRh??}O( yRJQ]ίf'&yM ȡmʂ1ԂWh:'$N4!=x(/H5G[+2x1 Npj:CTKr'U4CI{WJE?L28p+۽rr@eEDuYwW!׋ħqmW&kN^ 4K4'DZvu2z@Z‡J?ٲ.8]{m7fe{'Jgͪ lcSIi_h᯵j6FoB=f5gq)ܑVhVnC[A~Kz9_}N&5ov#-ASxFa}0j8pz](z{d1Nό?%ij5ZtBɈ35 .|%$ۍfL&+LrCCw&x~fȱ!ӊL&giÁ6kŤ[}++I{rAM3VHkWW*,@ͼrğǃ?&58'VkJpgz!οD4@h]\6M GiDODP7d-|S]_[Z[9)!&Guʢ[P^_+Ly% hfs|:%t63{۝ݽЗ`XJeGىaXfyAϮBOëˣĮ%OW Cۊ^vk!mw{}  G 2NݶfZ5CArP`9rD7I:6 hQ+)NK>.F覡͔}( OVU߂Gcv Ps ƗI@ZLs 78z#RhxR++I:j4MZ\D3Xg'6A0x׬Df9_C~7Z>4M_JZayk@*5$FlΈh?9ЗjD*Ixy!Szu~ '^~b9-,wMs XʰJ즧zugE ԹA\ [uqۣ^ Z Q-YMo&L'LF@|!v=v$0ZZ8v)ysR0W(5PֺHoMXs̈)_) f-zJyP@Kç+y ,`HqQ^[\Q.f$O%v{H`lA=A)iC aV^ izMrWH6AL$ᅔR@>IDJݗ(~֬˃4ΓdέZ4/2q;`X˯f?$ށcŖנ)<|hUQ K8 Iq3ah]B2g)`z@cF>d& ~{u ͣtحڪ5QЎ^4_ImݷScߒJlgM-vokc>CQ^NrzBhI/ryt0ݢ;lkNZ}RQ&Tݙ + }_ ږ:42HQMQfJIb'e//nYnӔc2+d䢾cHe[jG!@2(eiØ}1<[5.Yz1V3xgxsM5? VA*'m*tгL2244+cO❰1]qX_~Y %eW/TlaCmW4MܷÊSCh:Q +!;Е;>U{ސX Iˈ we6d|&QԖu J0ccV~"%&^Uf۪\wwIV@襬XǕ3G _qލEfHow˿녜'm}y^Uw }C0VA){n5}^xwG$&gS +Ҵ/<N0ąIS+j?ٮ1^WOWizof=3g#Z% diY yӈqג*rN5[zZ]WfƍQ&U՛z$٨1@uY~1ȴuRO\(DnCT.OC_b Ÿo'dyRJwzQ0%Wݤ$fFGe)Yb,;ΦViUX.*&ʮL)ri"d0{WJjhRm[aX D"= 7jhU\ƌ Oɤr]G4ist:Ui.YZa8^}<Mzm՜:7Lt4nҰkNըEfvG54 I e<^z{\:1S M.)ob7fѨj܋7ֹ.%Pĭsd/º kv#LHE xP$KRhѶF$a&;]G]H&̈́;d @$Tq >ǑJ_YcZTM"Anm+U:Y? v4wU}~Ρ Xmʹ >(5k I{6!Y&!M8R|Ir~+o9  LF o>ӰAvp}ȲD!IBaj)/uz 5W":q H .6v+-ť-WZZЙɚL߀q5vGDGRS% BNl}E[8GEl7*W(Q 1=}|6A,:# z7٭]OCjBH"QrG\C"Oi=twbuҪiȫ봤`Oe%uJ&7iqV:ZJ\g`6Msr 0}mIfif=FX =R!Udk =6sB59djn7Zv#g2iӢS2VxR xܢ-:CB9ꢲX+;^sw$ȹR'B-Ts[|iR.J1Ӓ4@jj%ퟰJhQ/즿d3m (IsJ6L"fr?d\7ęnp&0R 3BU7G7a;c.E[3if;IX`7 d42ۑ(@2!: }{Ba~\1NcsgGaVt"R%Qsm\>Xc`HWD|<(C,3Q$܏_H=A-'0I*MVz zk~k?0(A[f[I$${A*_!Fsd+#n55:Jlrc@KHguݤsTCpB)2b|Zfx:4L_Dn+? OG {lKQ nANu'_촸 j3$>fZOܲz~ryo=[򄂔|IfM[kI: ߌ{z+IKCti\_B,ۗҊ!*WÁVe b((,׏dGl0Oe^ eڈikd\vd]hTW|'ٺ+il6DAo9h@cƲZXAZwz+IG2 gÌ"B^hAh*Lrhap|N7~a`˟ܕJ`4 M7j&dMuAWF!Ҫ6 U?/1W㾲 )}l*9H?썃cv~rN.P:7 ~weI ѧA_/׫&i9aL26Jzr$?%VժXTjyvUJqif 483Ӱ}>H|E8G {b$=dhJbAzjQN=w˿{;+I%E΢j!o~- cȬQC1Te̘οr f 'В[{ KZ1e+g!_(BTh/pɥCW>&vd(>i[.k %-w׋Raj4^"3!iHBEwX|O05 z{1+Õ3wP0hov2.!`)wNhyRr%3mmJXꐬ(4fGtT(sn2%CYǫj&‹b_JγqG4.%oSobzsC/Q%](3.WL'ҷwSEs 0&\BitJ[+Ye>19noI%d 1\3ve*fd_WVUt^kE-Y噪E—@7tz]=d]]S6e<KVKYsIzUZͅՏwVʣ58qVΞ?.`~|2a<$//hrSnvul)~_JLiv/Uʐ2ܤ>FljHr<]`mPZ)W k?@""hf{g yb uXr4#"5z=&^]Ef_|2>^|y=^ V} ۛD. 8iɜZFww g٥XP &vTV6,!`qBWIS5np#D5}>KxEy5 .ju ՘LǪ3y2%3zoV7ulOUmH[8C̷^q\kR68S"Z┤ATtG%R5PQYS)'UAUj@ECiKG\W,Ӣ_bv{X_;FqMJQ3w'עO 0P$t }X_^S3]7I9-$̏5r>vk+<4 b:桾^e@-q(\߅Q{~Vn~#P0,t?gߖf\kƵc=9MeȨs|aKJ>W.|5N~+gTA٪u!̈́a]|8gT1v%dW8]UꇷȂaʽ_kI&MtG'X}Rձ>)2iаHH3И5n4Oo Zt`Ű_a^=2F| Cxs3hUHe8;Ol7&5D̢t@j )wTZ!۟t Qµyaלo=XOjB3;vl] X0o@"bmu !C>g?2'3(")h9 6K.ا$*1ipx8ނ!W6t` _|.7x a]XU%\Zn.$7ɼ668M9N_:NP!uraٛ ^pyɯ$q+eQ4QMw/:h[FdFdY+fHzB˼feX9a:GSp_#JO*$Sc1!Io 2heoy sO"iKr{?C;l>Mt=6(?ڥv_emQP9m 8K3 <*d.{N)sF,@K0ZXVVS% ~ϰHuX:4(Eq<i.qR<c"6`ƹ[^GZAr.0R2 h+{;fǤԇt{>u_; \%Qڸ>nAٜTo6UєjuUgV4^@R5u>#K1Wl^޲=jh O3ёҒ{@UGj=ke:v9;;{|*6 CpSKz#Z]v"z8<53v:7n4d!Cfni担4˾#fH Y]; 0!FCz XUuD`HLzڨq8MpJeջQLqqpϢ@ TEŹI{MЦ_.Wz.YkRNQP7$#I0?['l(}d}9`Ody7!dQ臢hp= `5=^LTڙ祼',9ṷ,&|<>GRG}4?"V!XQ m[uˍ.[w$T.„xPޭ۴b'CZ|.!12߳g>:zk9^B-%#Qt]V[h_54G0ӵ$KУ,FzXZ5a^Cm%'MK/-O \H&{${y@QW΁OL' ivk1Rk^jl3,ޔB('zhUhջ @Cp['ܢTs~_ hB$v[hK*@ǐKˮKN\*8nߧ'(㚳ĉ/F % hh`Y vAf(0fpMI1Z #L!*mZH_`|܎U̬l0k1 8}B )0ϧi'k]H "9: թJWNbڐEыy QЅܞ$C;qOH^W X;- :Q _Muzpǵ[ s5_/K#j*;˷7Wd4ɣ)WfeF&LJGl-O5czO% ʟHTbO-Ւ,F& m f4Z;'.u1juinղ\B(>JyP(]kU̯FW+V{RҊrW{޾B:e:%Zא{@¥<=rj&82 g37O+QXtOaΰVIMRI'C?)S]#7!}g(W9`4Iֲ㫀#y|O{* 9+ ݃Lfï 7 8+ Fpqvϛkd0($EZӰ18%܅BV\i;,=<=xr+`@"g~b_<͜+؆I#`>QK2e]o̹<&5Rjec "mg!Ðlӡ5}Ih]gGr`۔|AsWիU[͌Bl>;uómե^v]s2X7.qhRfuL3Z]gs=S:G=͝Mם^v-z4Pf`{cU@aHVB}'Z% e!5c2<IT[>re?\rj N m5'PI&j<y}U?$׫ Mz].2+z.3:i49l4\ˍ؟ڝt΋DNMz͉AqӮj7Q{=O sK<֋%GjPO8p*I{EwY|)ʒ@fSE KX>BtjS[kAOۣ iUktyxomAio>Ց ;[q%+ڀ WLМ\FNJ*|2e7`fI9 ^4]zNVP(z2Ӵ'(:7#Cb8C(a<;.0v;zt"cP ;0дv9 ^j]{gF1j HUՇHTwVM"L2JY'\ ;"%~6x[V0:.uýM@~QXqI4U;!! So6UK:t*7bָ>P8C˼Ah&<悎@HE{bzuoT$@zhJx{]Qo~? P-$E9GgeIlv 7!%K7IȞ !+ÉFdC OMZ+_"O^=fC])cx[ ;>[(+*lza- cONIwx>ԭ/q @g N.o9R`a-V̪pMEHIvM\ .)25U.ޑ |K$$,=6aؚ^XN@CsҊd Նau )KߕOṕK4)t{_ZW_t*dn|qVF/[iIBﻤyv&hE,~$Q 시F),Vxp ճDC!Kbo 1׭;$Uʘ{_c+ZN鈤]䊝#r#*렿4a1{_:MGI]/{u$ A_==Qj 4=inNe*"%Ґ/ܨY?dsvĘ9 ,$Gi(-P#RP?,%55!ht"%\>|Qo7lנ^'Z8zB|!ff-?=4'V?؉>_4AՅVGEemWBA7%㣲VO TޕOH4j[Zu~3Yը؉r zIgWN9r8ep%-gdOL~>콿ܧĘ|Tg:aފ_,Tbl4"nV?p0_ۜf3GM'8keq9.4bLt;$+吾S(%miR\C5M>FGuB>ӁϡdukOhNK U|DVSV y*LWɞψ5if|0kr5G𝏚J=vWM}JI8 Q)K|%;?puvq3+ϳ2KPxD•ps󺓥&2i3 ihQi]6 $DFO>yc&Z.zK6P0m6ɼJP|gGC5弌(J.?^EDY+]r\jf ]؂GF>G&bƧ)amfpP x[]R8vz$#VGU_.ƎSH 4kkpMGd8I ^dN\Uz4Mo%d9$00zya3B L|~!V G)%z{\9H T漳ik8A+k*5lrEyNdا)f^5Yr˭^6!8Q4現@mP2CbdJ*!ZtrhT KZ+D[ÖN߻U?- ?*9LmIaH#[Jd*8oj[\9 )S.ܬ5؞@E#G\n9z0٨j ̟j_9NEFH66)Hnoc% J!UҨr ()A"Tm`̳m^\Qb%Ls |#R+G ()13IӛiI\%K>IKC\O=e׻JЏֶsx+с??6`>OL?Х$)upp}kiKTl}nDcJQA5@&!()[MtlΆ΂IIItGo$-#߯!;Bl(1|6ı2tul˹ߗTn%~lr^(Ǿ覶൨hώ_>>ب}D{o㹏Oy;^乲cI0Ф)HM[]T6x$0V^8@XC5]5O2f$\5Z}NJeKp4bV~˥#qptpvם#g{*}$8etIܽz)k {%O= yW&-Yؓ$D҂~]֩nHDA}]NDl ~ܤI]F 7RTޙğ/l2)]D =*my oWz4XI>x#tѣ$E -GoUǵUW+a+kg>c$ uo ;USC]iE|hʵnd[8ߍyaJ<`쇧PwҘ F7R:('M,:`N<ׇHh2=*aQYW|B $,_WB@츤opK2]Sd3] d1e-el2٪W1`3a< Ӊ4Wٮ|<+ Z }ګkd.ldCnst,  [&jxHfz-%Ղ GHE k<*Ѭb0ILAE_ѣvLnoJ6ޤ=R`iVil=pJ͖<֫u3q>b]ɠ_3XU# =7p/|pVU%En*eXP>t[8@KOl27[l=>co`5D7ieO+#rt]~O$b$n<{0l^y4hjXCм50 H@uj:Qu4=Q|E["g'ۋ@GeI$@Ê ,S%B7؄3Z2`z65;.-zj۹B6V(ae~FL$k#K2`G4F#~ZUѓ3mO8R;NZ;DĚ4zl H"d#9*pB־b'|6(H ٳzЫu1paC6Pl<4I ~0J {[Y_DB|NKFP. iu3_OG \xDXhcIm ѣdPϖ€Y'ک($DY=a1PL,6H#^C}IƳ`R^I*TҎ_c(rtW.%otDŽki̋wW|eWzǒZS .2~yjOF4BݎYr}'hRyA0muVZ]w[_Aپ W>D!)/w!qryuإcRS٠G,/K#icסdS}*p4REIBekh "fǎ1W ptqn}j3l'}D wl<v6iUcbbJ{LRZj&e$4~sO=s4X<.ǚ&٫)-)GGV t 6{ RG,Wz6cUC_'mi5/c 1CXC}oZ:7\ZQZ恎64w0r[֨!|"#M.=]*uVA0Qh4HѨ 8+0Yq6@w6R+ne#^up8YLv蓲̠M'xԫ<:W,.Lf\hnp=WP 93K;z_x49(  C@-™L||]XGư ▍\*xɳ+=?۩ bUY2Vg2wW4VZ,X!tZ*;=ZX뀖!V|LLﰋG+ph5l͸'7eJO%hI}򝝄ޢ58l2$;49'_˪CRO4fͼ!s~WJ!֢M͹ q?-qK+Ii["̧׮dFXǑ/fd(5魟+7s5yx7{BpإXihN4k=).0+u,ZɚE 3ؒ=<rΜԓXnn8Փ}I|T4QʺZzY,t2`a=)ě}1?hQK9I 3JzZr14!oM#/ \wpTO7&X!3߂L%$j>M!@=:zno&Y'di18Ь9WW}g&@&#/0h]"!`Q !Q,dfCR "Gxq9ވnЃ4({'V dOR 6kӰ2X:QjL<ܣV#"҈]A)Q3&:%%34մk;Մ 55'l+pq-| ݮ4A^hדJPX\\0~X (&༷Pl>,DR;' @0) ԜgJ* ;=ߪQr +8䵨z9v2:_c/wWJN]?)+ߡW\ ~koe.$ks C`3z&[ Q.`^-cQcK^s1sC5F$N8 Ii^zjd[H_,'ߣ"4"5ijz34fw8vVW.As`5ԨM,P8%?6^ .+߳B}`}'\¹c?^޼+躤dih@Aww^HjWEܐ>[h1j󧙞9]VVvC+ψԄ'*_ I}b+ғTl]mVh_sYhKiohTZ^Xk8I[PW0>t[馳}XNK!|:rRl:%{f8].SH*~ Ws~p# Dioy0$yJ. WKlB2h%^0(Ϟ}"`R}C4q(e=ځP]8ŷX؛)AJ"HW3OuDJ6/Mg_qU5Y;75_J uhޱjޭՏu[Ѐh ã_nw QaIEluGC_'s8UL w[@إo`M|$+S{hfLS)cL|nF4 Nݪ2 E^|VO/b4CÐQE:6F8;@Q|ưL{1<>PNа7*3[t/$h4"䇤4v9# kY,M!qk ZչW+]QK9u9[O4c!4e}|9$q2Nl. ig H3Jv0?s#+IpC] .N>MeV}f913Lԙ\+w]~~d[)P g=~|Vz5dx Yu]ո.A (f8;#Um"8Ӟ`Rc 6CIkRHugT(SU3#wz@SZI%Oj< { $?^X@=DɀD?6OGmQ9$-*$K3@kxr m`-T.T@YJYS9tI4DISf$]A yqd; WujT^''e/56 4H|)x"W{zzSO&w_9rM؏EӘLR'A x@ңY/&`A+P\v3} CGXsq*=DCR0L|Z :8΃G/u#J-ICN$+3h51)Էm$@'Ykz@  E %xkL ѽB=+ZSjp-hL4K/nu-Ðr):6:װ{벱?ok Hg=U$ܧQ.0]4Ty\Js8hpޙTc8pHHie"gG꙽+T͡ Ueф-q:6:Lԧˡ$Pb_F8$=}P27c[( E ~cYu#jZU wj:SHgFdjS ɰ=UͶTu'_Wf?Fm;A+STS/(z)IAfMYMwO=Xڠj7?KG/}~i).I5ͿZY&(PӰ8 YBuI?=h^5Sg)xLiqi =AxM{v14kh 'xr/rTjVRWn ޛ%眜OUSp׿44(X0f"VQ^c|Vj[hdI5ۨL:ckBxKDe b=M7֩Ü^j\4:$79~[^:F%1"[ K ,)qL@"=VB {^x& q 9q(JMՁ!Hv/_ZUD/{LcBm`An1".F" O0 E̛e'[+V+gR{(G1r7T|to۪u`Xu'uSSsMW"}%)Iyi=F%P38X?)s3zIsuAq~8rZ搲 rP/.s٧^ng7ei7xZ r_2e(u&3['cbn7D4W){5;K۵fӮAV_Zb-I~k_Ɔ#Mon~[߿nѿWIgK{IjUX\7eW)_e 6)/fvߐvJ?;ܒ1{ih,=!8Kڥ4oֶg~L"G0 0 ,ql7C. +l$\(,0֏,6>jƳrJ&K' I0Ҳr#Ny>I_ ד[p~&;A}Kp=kwPDą$+6@H,d,?;ܥU|ܥ7o8V7G#"/Oe1G7+km{%*ӑDt(j"ɧ&w7y>gR3l0da8Ofoyl2UY LL4a|sB "}i=C<&ן),oG|T`^=Qˉ W )|X3]_δ<NJ]jŞszy}Px/Eҷ.a '$ub7~ sAQޕ w7@Y25),%c9>A$kpЎ ]Kz:f K)Ĩ|bT7]k;t9ϮI&<}VVDY^H*x/@95ے,F7q/AgZaJsTKHuwEGsaQ oeG2y1)r ;JfQ^4d_or3ի4 YЭ&cLjo'.I_i!@]f*mot$QKVo$I@N# I|"`t L |ta %خt2y%)w%r<7왿*#Sَ7,Ȅ OíRҒo08dĩ8emNnƈ1^4iL2OzyL^)3&w=!19(iZ|#"r32HǰлY`:K߁ VW?Ei!~Gck Fp$A$ ckor:Qڧ1H'9=rȠ0tRDw,Y⽁k -KStQ Mz}YN25cIAg&77߬}_ޜcpI(Ѣ 1"0SZ>{/Qިpa=W rJ&oAB슞=ऌ8VBދׯ,QnٸAde *. J(I֠Yc9h >E&!w!Q.'-59+uQenَg~AJyr$^$sI&[% Ӛӫ˾hgݤ\PvPj" 6s zWl'؇O?;^ؓ33u͍O럓O2`n!ݙ 歘_6Zq/7D@nĿP+'ʽID޿d "^P]ٴۻ0*a=͔B٤2U).ugcDDF ]֚]Fʌ9($:bo_a3N*QI~10 _uS_B"yR*|]|ic|6_cR/p&dlҬ/ڟ\*q~: !'hO?Rm\=`x}>-:4%h4lPb'l]~7rN~}1MzGֳ1<1ܕLnҧ8;N|kRTZvy8iS0vjt" bs|]/YQJ9@;vJX=o9z4bM}-|=$LuTY w}:y^·s GgeצtnfSF*M ؄5حVmɦ[ /&[B`G$DhC N#m,.Z#'4 d&pvW^>< kǔfs,^)z\ Sd|3,B4' FBFe[D?&}/+sCr1mN!œ|dQ~vjr.>V`u~ rquJ@YFYܗ^T|+,c$/z-X~TFaI~ |?r6X17.C#N~JٚzUA*!KȽ {8VOcmS.Bg%1o/+'R..;CHS\_G=C&zfb$Ї~Yz]`|ZM׹4'W+t,,tmeNbd/Fv9m@EABtI?_e=Y4!*.CP1!#{y$Iێ60Rڑ BϨOqZ4N"3K?虌`;/l~p/2aJλowިc_%So 8uIkZF~ʉ}/sziZzcQj  $#ww#]Vf5ǣ.F'QL4t~7X/TY8_},6^.L|pSY\\E <ѹ߱_ILe Hԉbq(Z"G^ 6N!9@J,0uTߤI$7qk2d_)IKX#>Br0 aHEpju<˩UQwCɹYUp w>i~߻ۻ}e#nIl[AerrixN1.ɚQK8]ѬW%k疱$;12:.R+[AV}L;;c$HB#əcy)%I%y&A',^8T{ "/T.ҡzWK/OIrBt_ՠ_T/[Źg1 =:Pgȓ.$z8aJ8 K+G,jhT%5g6G_jO:W,DqUB g"vO g+RoN/uJ?CG9I2MF67l?N Pc %X=2ēnY2 &1\ uc0QuA uP3/`M0x}".VINf#)|"M PO? {vqA01-/g̕ nzP)%jUG|\/YkT<)0ԁaO4)9~5ut_uiT`n6v= A`ЈNe=&l)(rwwE~F_EN8A}ޅ cRtȲ\=f鮺tT.pWnxO<)6nnϨ'_hkzkuI+)uVn`wB E [΍>0yN8b:9C]E_+# 8ɍtycc8aB5͌7m-YtW# F2{O^s oq$+^r9 bjl?rFw=[ ?os+ U+%EK&qwG-? oY̢Ickf/V~DZxYO.?tƣsu)JT AXYb;Y 9Aǃ.uf͒+0NʤLʎ@/ U.E"t=U"9q%֦KSC&ezFIf4Dq߈:$x@MquX2 66 \XX.CAmKTKi5! B1/ gkNߛؠ(5.G] 5ԄR" nWԁVt,r ҡBNx_?Uti 0Ҭj5DT0Ayl0u@8l1|N%0Y:~Q(|ĝ=¯WֱxcipL̕#s:/{OzeDNP> a!4I^--Nbx8#bAڭk,h-ZQ+6` XhPXgG mBj)%)S&# E f:!%Z7l#Mב:_+ ߋ|lOte GmG:6욋ףm(J#taAs-ÙT'a0(n j9aI^&b @}?k"IoͿ] PsVzӧ6u5 Q#-R?Q'\E|HWqr2:4]7`,%hl+Qo ]'c ;%3ϳ1."qџwn殫u+щXns*ĩ s||哜͸=St+~Nߧ ϗn ~zOw%޾?O+/toq_UN~q |ǥ ӶQF`y9Nq*:)x))6Um]O*v'U_gKqͭI;/|Xf aP,0؀&5 K?3g* PRz?%ɝX)"#GŸ8o>J.o