summaryrefslogtreecommitdiff
path: root/tools/perf/scripts/python/bin
AgeCommit message (Expand)AuthorFilesLines
2021-09-10perf scripts python: Fix passing arguments to stackcollapse reportMichael Petlan1-1/+1
2021-05-25perf scripts python: intel-pt-events.py: Add branches to scriptAdrian Hunter2-4/+4
2020-05-05perf flamegraph: Use /bin/bash for report and record scriptsArnaldo Carvalho de Melo2-2/+2
2020-04-16perf script: Add flamegraph.py scriptAndreas Gerstmayr2-0/+5
2018-06-06perf script powerpc: Python script for hypervisor call statisticsRavi Bangoria2-0/+4
2018-01-12perf script python: Add script to profile and resolve physical mem typeKan Liang2-0/+22
2017-08-15perf script python: Add support for exporting to sqlite3Adrian Hunter2-0/+37
2017-06-30perf intel-pt: Add example script for power events and PTWRITEAdrian Hunter2-0/+16
2016-06-21perf script: Add stackcollapse.py scriptPaolo Bonzini2-0/+11
2015-08-28perf scripts python: Add new compaction-times scriptTony Jones2-0/+6
2014-11-03perf tools: Add call information to Python exportAdrian Hunter1-5/+10
2014-10-29perf script: Add Python script to export to postgresqlAdrian Hunter2-0/+32
2014-06-25perf scripts: Fallback to syscalls:* when raw_syscalls:* is not availableDaniel Bristot de Oliveira4-4/+8
2012-09-17perf scripts: Add event_analyzing_sample-record/reportFeng Tang2-0/+11
2011-09-29perf script: Add drop monitor scriptNeil Horman2-0/+6
2010-12-25perf script: Finish the rename from trace to scriptArnaldo Carvalho de Melo7-7/+7
2010-11-10perf trace scripting: remove system-wide param from shell scriptsTom Zanussi7-7/+7
2010-10-26perf python scripting: Add futex-contention scriptArnaldo Carvalho de Melo2-0/+6
2010-10-23perf trace: Use $PERF_EXEC_PATH in canned report scriptsBen Hutchings6-6/+6
2010-09-07perf: Add a script to show packets processingKoki Sanagi2-0/+13
2010-08-02perf: New migration tool overviewFrederic Weisbecker2-0/+5
2010-05-10perf/trace/scripting: syscall-counts script cleanupTom Zanussi1-1/+1
2010-05-10perf/trace/scripting: syscall-counts-by-pid script cleanupTom Zanussi1-1/+1
2010-05-10perf/trace/scripting: failed-syscalls-by-pid script cleanupTom Zanussi1-1/+1
2010-04-30perf: Remove leftover useless options to record trace events from scriptsFrederic Weisbecker4-4/+4
2010-04-14perf trace/scripting: Enable scripting shell scripts for live modeTom Zanussi6-6/+24
2010-04-14perf trace/scripting: Add rwtop and sctop scriptsTom Zanussi2-0/+26
2010-02-25perf/scripts: Add syscall tracing scriptsTom Zanussi6-0/+18
8G. 5zբwsMtlϧL|jyQ :vI5w"uMNdM~{;@SIMV^yH;v{㍥]y{שjX2Ҫ?hbI3)Vh&vpeNV8W,GٖyaH(I=rmlے䭼e4REsdQo \0G 7؋]^^ qu6`1v7_GHMv!&z‡MqB=T (<ɛqLcNO\N%Z,X,0#q#=mmj`cմT-VĔK^ Ǖ1 W..1DŇ jp69HlwoKdž2IucOǹ*I)Hd 18P=GLzF yFƙi_{$HpuALf%yomwM,}w)A}B_5FewO&H|WY'lo@!YSck~Ik8 vP q|w+H$OBܐ4Ih^ U:P~Q`27B$Fid;= {&2si*bJgU ]+ ~MUNr]˾ciUxO{N"<%jL .Z~ݔFTT5?.0{4R9Pݦm wJ]ȯ4:꼃 W0}KZi-ugsnꬡp 0SՉMcuxs"`9Pv62m\W)\6GKM=G 0b) ShA^~ˆV̛,3ײה8(n96nCw60zF(d6)[<󹗄2w$0fN.cgUvLۿEcXre[@}{Q/͒%U7e-̈́w|$R}5괐@LM5UE={!m?l{FdPUh]^0rcHFqKɾĊJ,JmGcI?FòU,JI!lq.d7v+?Tnm#0u'/DBs9Cx]\IЛcŽfvnYv?a0O"; [pW|$?zdOoy@01{rfO/ ֵG 8*X{ʨ%صKrRy9@_W':nIʭE-o`tC8 ֧3r 'Hsأt'i3j-JTb(jb 26,>OLuY&w'85oI!2٪VIL>65OhㅫWE&K"\[ߏd8NG?ϓ})(A.As?mwty{)B'8,4'Q[o5 V@w}) TMR$cᗍu'RÖ,d'vY^ :ƃU*A1/״GT]Ք#YmR M&I©s&;:W#t('!"ZL&? r5V)Pz PaFr^>m:Rӑ([L,%_5ivKHm/dUwz=4r_,te{qѴI9'=uބ춺=( (YV,n+ d2QΠ[DM~qFÙkl{~?^ovJ6#&K뒾6y1ܿj=Y*}~e3V9"^ nyCbݤq}H)# +B`]ؽ-Tb y ~ /$PD*=XuJM'W[a 챿dsR]I|'ݷ~_F(d |/ml9{ =!:cj\ZSv 1~kF|7A0$}^sh5=F- nUS)[NN,%V{"M+VZAr~=*2An[4w=,/{H +vNHUy:$wQ.IxI#i"ư$jWӼ ȧz?6[koPGTfU shmuַr@Nkf[' 4a6 4(=ɀ\W]c.ﰏ` ޓAiV2ѳhT˦yvuvظh~:+K%r('G?bFn^t朇[U$ۃ?zV)c'׬8GR&8b,q[ڄKT?ޒY鷀(X'{l H"cfRLO LR|P.U1a<m]v+;Dn9̢]aim7ȋȘIDYlNVE|Sm>> с<ĵVTSyk[K{ƪY-V3DmQi" sP :c ËMqПNx}T{ I'V4txYo" ^[-REtk˥m |?>ݐs8*<l$?--٬ZɩGm̘ 9jwq.kghCH#)N0_`l8lHbO!d-u1 xAFh'T<|ۣjս 0h"[vl\lٚ!ЦǢ~ћ0mhSE%^\2ܭ Ѓ1B|,ӢzubYGeIkӘr& :9x˩f#Yz-Ms/Fq^@9UFj2Y*IK8ҋŅ(pgvjG@[j7- _ ƗVbf}gԣZfH&7Q)3%[):Nxt'!Fc4{J+a 25ZjUTeP%]iVsTQ,Ѩ5ՠ\jzWU8C6Ǵԕk3Իh8`}qp'D&.x*53iMFk$!n7T@#ҕ|; h< Hѻ=$CJ/-X%n'ƒb (1O.>Uu}'`G6QD;+zA V#{XhdWGor1,z+\-/D@{WYpɿ`u?ڒƪwvFKc0RĤzj1FMX n[TX>zsCw ]W/ 9x=2ֆaR{"t3㻤6 Ƿ艬lĩ}HGwC5wHV~2u1V:M=g ?\유[w}bh4+R_f@ eqwQ Q A55j~zK_TYMI ux;{jd]$SN{GbYyMzъi]H_#g 5'iE2W*4{=QulKHNuz2N7 (!bEΞGz'yjQ\;@w 9m\kd:aɈKx<`MIB\twle&j4J,xI-݆A7rV r:] x1¡4} `;q,gdV1pU+G1j6MX ¤#뒋ڑVF:C(W[,`;n8r2Vd4 vRcZ/oB;6I{\#_pB'p3 `]Rނ?cz=hv1IP$Wy2(JpOԔ=ץ=8r670YEGd%Dž|>Abv;nO5C-`D.+R ޙYdžEg[B:~sPIDu"ɣ/jWr i|,0'㢃&'\'\ 脎ۓS X{Lj!%KC쇠(Mlrea V$HǠKøzrW[8k8l&=y}O]"qTQd/||x;{I2BF19 "ҽ2S B= %]Чj~;Ybp0}l,:XGCA0]o~§&ڬh6 %rR/>ͥ*UIfS _)f6 &%svžU7ߨbh)M&LҔી'&LRVU9~bԪy#@&l8.!_a#}Bгi{일rK)%;Lʐm#>8]ui:O$湜VZTkKw3$p*f`lE0Lm.UǴ/@?"V=w8LM#irs2fcnlS,É #Yo.U3 C 0>W4ɳF'd@̯! J9Ô6\,>i r$i ( 'ΔϋE -Q䑸5W 3cEԑİqE+en) kjȏ~>H7]hE y-O47SfeJWJdJ9RfCHf+ty $.c)4J~xx؇;K9}q|zQ:E {9yﳦ5xb%WJL 8 qk1_ǣivFfS aQ\Y/WEM3Wԋ#Cto:27˭0إ#9Ʉ1s<?'JVPoL*!‚,-G;Q,H20)j ^qn%p6Jߪ6ē[picml%]Tʪ"%g?kgɈ)ڱ)Jw>_i ,B0h:LQ/{'U&ւVިh6YC}v|f:f(gElowOv` >t.}B]/G & sl8.ȥ}Yf.,ЙxzI +& vΞ<@jsk,Ij~* ? MR BFV"y[Z_ \'FotM9ֱ9`z_zEѤZMm:sy0a1hS(܍D6PI@0wpgٵ4@^RiZW[|+ڑgl;okɾSͳfF=ޛm@k!RT,FIy=6O{=&Tckj/k 0"4oMa"mi&%SYڊ*ϥS\$%2K"E/QH,O3V⼶ڡ dⴑf8.|; +Bl\ (_oKH0mIN wq٧-6瘗^gwjnRyX>ij-2p.UY;ދATC2̥]>*Z| C?cg)bűՂv,zNYz`U-eb/HJn [Xe 1p=ժdćȀ>Qn$8~D:Biz~G._iu-e\c= S@+1ֵy(uhwB9}Q韣ha xdoX:3z4#P:z׫.HqTCZ=6XC0 +V2q1Ӊ*78M--TCnj/6h%"2d L#ef-GDS<Ő+vE󐔎rv!nTdOFTBs`Ȳ6{G.ͭwECAEMb0\G]:(ֆyf{ˋ[)NVveCZ7+4o)oeΆ 90ć4@:C~ϗ/P2zQ86yY8"q ( ,A+j3U7b& }܎ThZ*XZ8h`O)[Q2,ZYH `Tk#TF$o م#}_W/(#Ò\#R:KnMljó|&3M>:9[nNgߟn.[񧼏W@hz) L0w/rr\;-RiѨEto|#e#'|$ v܁>r{;D(yq~kZ*aAu: ]v$c@;ۭ&`,3˵HhDx4¬͑)g럙_x^xj%>v] ?v_GAHV21gj>:jyɩ_GMnix=taVl!FVĀ@dc`g̢p_݌n^Xjim/ +z ԧ(*LڷV =3a&Ckw6OVNڥFMTOSZ>h#03{4N!W&_? T+A=Юp4[l =Nƍ):3/R+`E[ܽӒڇR!l/|/2z3pqSC|5 4;KA+4 p}vԦ(4m;,̱N/IY"W ׏(I)|`==+zj+5L[ǣtaAqt߲Be˔ZKe-\p)fTPóK «ِ&n/j5aM7$P6u g'֝rO5 7;˥˭3sPa" C ^ui>~n폿>\/yT_'mgHI>,rXWґ!tIE3!D;lf@\S7{(d&&4kN㳮 `f[Q;6edž)gPh9=ļZvx\sMT=)vW9% nΓ'?93۰9O*%'w=uL\nw\kp?cFMD6CC[:dσm3d} r\7+M-==|lk+;TyšĿ񷿉{0lCbqAKmŋ)jC-q25T#!MZدFR- ,~ח3fY2lUU*#]U6BqXQ BU6U+]wLsfԬޛ34cv(y0sXy)(ZrhM1q\2lV"F.4v}In[Էy&ngE="{,M~<[3=ɽ~|Lau͋<].Ð Lt s-V*4 tI@t kqJPA Jڼ2L_hsYo!PĽMG\a#BZYR69.=QiS Ǭ^h{ ]jϙ MJcD.+h3ӹLMyae o!\)˱i^E-۶ˆR6J4If04 (\|@TfϠ6E@ۺ7QP;K(v%4/@ t uĶ'3('_SO놋1|][[KR ctrG{0M*_ >F\Ur jrZ4MjMfBZoZe6~ ss݉h@B !=D.<hr xWge`L|,KD/SXHr1'jXdUB/6xI/PByYqNe ^I_-%SX3My 'Vvߏ J%x$&jVmbgVgVk$q^J ST679|({dl2O6)Hmc>G [g%sڱb oq_q =7Q $<5nZ?j02JFXbXduV 욺{X`wd)λ*L R$gN̅OǠ@o]f#d:ֺTW a#SS.zZ TW~z9*+%U}5Z.5׺5H_wg(Nڻ6gcp0f|'cDʋ1ir[GR9urǑ\_b%RG%ggz~KpEʥdY3!5ien q$L{ ɠhBMu/2lQ$@o$̏8dK?}]vlb҉d6FRJEq)ٻGpN&u;wlR8F^ryJ 4)i#9ݠTUoCɦf $F#K?vb@Id(?هdj03ぎ^>מ,WBik\AS0Q0Ÿpٟ晝3Kv*Ԙ$/S+xid,3Ļt!նw 2N -T2JhL4I⽵su Wx?-Yd":=;Sk(F:Y}̢ ;aXp/a<ć$_Xҋ_g:o?R兖SJ8cIA\z3Eu7Ï L1e:U`Ed#k[8K"Sv6͢aeǥ Xv"Y,*JI߯ O_[aB5. -s{zӬK_9u֜UЩgڞ4 ۳թYb60퉥m+24.5Zs1}zW4Cu&.W:m[[!`Z=_PM$G}H͔W'R信y 4oC,"%{x.80 ŐALnW[1O*nEÆ Q83CknlHd zZ_u{GQK SXĽ3pvѴ)a}mC&Z>^q;D]=h/"UOz=GrYv5@S ;uٙn !*0q ^Zkժ5J|aE%(%c S'덍HB :݃@s !%/~xvp7D6GK{?Lǯ6}{m⬳]vZh^oM3\2-`KXLo4)²2:6gk'}sR8)R]*َ7!v ɣKE"M`0j.L*;|+q.T3-2 ށ\iuXq _| g6!l~UV:DC*JH(UYV&_" CwȚ ϯq"wJ!3}eXRC-ffl\Uv~Mofa , iЎ]SmjN0Dd|MO=Mm\H)m)UEІ~ntXbi9Frk[*eQm0BW%7`NUf?'1Foep ry 9jt߄t䖪rd^ZVko(yC"gUWWWjuzGz`OCyL1UN/b@އQC 6c*Ty#R]"nKT{ :?YElpj^Bafuywg:GiZnMqM'ݻ>Z%8 1ga~,sOTTsN F72WVcԙ#FE#SQ/H,,dj{a9\[ڼ,GБhteEր3 "GԵe[OxJWU;>Z_Yiw$fZNw`g{OR<I㼐VUfFq%2v66jjE618c rCz)H] .еM/LKk/` 5 qIґK9 | ($eF0Gm uAnp.6JB%5I*7yŤlATԣ|V8+Q'd?Zy?/ݔ!D;fq< cҭvlTWUj_ {YE[oU XjM UKU7ΛTmNoN>F^!֬T%MfƬ-1;a.8dmx> dn3{,%rcPg B4+mϤuħ6z^XqF5JW ^jaL5n=R%\A'FYժ&Bq"$T ~ɯ"Y K #>Eo) ^2z#WJx+ r_d1_NWF-߃VVf\Zl<oڏIlHaɗ.3h9݋Qt"n#{AΉ#Bk|>?ر!aߧ`&`S8 G/XzP]vѪֲ3 qo5^Y5d_6Á5UvjVj4;Ō3NĭivCZnÍ2oM!:! _Hw֎(8|k(9#|9#T}1꫏њ#v4+֖zr Il!o[`)I kly™`M_$mOՙ&Ɔ\+#KC y]UΩj!|R%9F[GZ7k`zAY Wҙ&kmf)I[fik̨(wKաjF$$UUj,iUIsg(r2L޺,Vz|\hQ\L#%[qsDtoV;NR [eΆ?"b-:ɱ5Ѓ3"/r` JNm?פ$n,]gZrYU'Y9P(T| a٧u*gkmH'K `w:N 3_ؐ`cFܘjqm_ pscAuvsݤVJS6蓡Pk vjT4@ȊfinP8I`QԐ0{jXL$TIVyVRvc=,s>=Jt;oD1OFsd4+:E+6VV(k>j`)'.!{{e>_!hI0uħH\X>I!X@3'ڲmgjGFE`3Os>;. DlXj$>r{ ߭;|eEף-t;T:W[r?(L 9qhHd_FM Rxz3"l5H/YDh+~ùt毩.&-gҌ˙![JF&ڽxےc&pc[ 6Ǘ]Cl- ON 3hq;ɟOV?&RU Ude`O'o٨L޼9_? W1}2fڡ%O.M-' zpdKEf g #/󸛐26Slg{d^A+h&<m$i2gOp!JYf)P>Hq9h]Yh._@\R3ŰV+K!J{HdJ^ [܎@&ŏ1T@0vDP  PH9I)@eb9zךΚ ifϡUK( ZH`D9TWRfoO8BwqЉCJCV]GSi+rqJdԠ AMUd܀lF&3lT8dQT q} n".`LKo)Ζ|ڭTrH&5Eq L0Zi06[:z]xk"$ O?ƘI`~[/szk*JU, hځ('1?ҳ{}煉nyhyH']~1"S)B GV\=y1w\%Nj7(6etgO?I;u6Ԡ?j6#Gzih.pnVRN!u.S/] JgJ mhG%h+]ȅG#/yZ;L0u%fam2~RZOn hz1,f͡o{tF!hGLrHտoj6yG`FUN( Cn/]7=;5zGjEqzq\rV@>71_6"AH0ڙ)]T#%\)w'oPRg[S=SRb5 U,hQ)AN)7-Ns&Մ|g7ser7NVhWQDWat9P~^*"ʍik~=kGݘFdVS-&\ls#SxwECm D fv ihQ(+<.pZ$Sb{ӱԵB"V*W{tJ22olnx:[JqbAsʴXЕ h%Z[L;]#St,lϮdXDS\HuGgfBXnV˲|9X٠3=#7^K<LvηI4,kXn% s ^kF+'oqtOLRQ*Zw1btҴ^֕ ,[F]r,0_BFtE"L@KW`R4ޚf< Nu N]\}ya N!vޞT2-PPqᝣCHCҤ$= 4z\N Kk*^hkr5T36YOӁD)dl/{tj6#N3Ӧ 1Sna5& U݄A QU2JevAm?zD{$$-˗jsԣ5|~h>j! `uK|"'fu^)7D/.V)zS>Ɣn 嶪 -֛z֤I7;0eH1$IP8*V6&al_%&ON.k8s55 aQgtptNiz(o}wmEKM|G_Lmmb`мi~#VzcYŎKIEd;#Oּ`NfZAm@`FCj5;}yTЎH{4N-hMRTFΈ#zNËN'TJ h5w[2@(^)>MŦE~j񶈫^z.M𞶝16ɿC dNqrH'o_]6;|4貢L.~0<#Dv_p9ȑQFs~T*ޗs 9UӭPqH/W}LU\'kt?O-:t;frS&d~p;?4x]Ed;"jR#Z'ƴcOz[CslsRaxQK+J騎6C*Z-$,P/2#4/E[hhfqmeCG6Ž/-}HoCFSƏ^~B%]uCkH:=eꦻzvt_WYnuSPqrgTW=k%Y'[N8,&5@(mucۮ;R)3ԧ_\iJ+㒱APLx(ы_]v/Jrj&&)W5KM.ѡmYnjR.gXxՑǠ9@tL/(0jp"'_m"Riԫ`UU礙\&rexHבIvE0/}5w!jASMR~:Od@%fbU9}N1) 0\},щ^YOXӷ܎9R|P0u ^,腀@y<6"F8|yBzr!|vO; `h\pcD3iA8J_.KQ0Va񜯗*'ة&[/ oO_˪6(i$n=R`aB)DgQKx'<&,Y$֨HoErzA=74%}_F8*1JT`dȐ|zDdR 6&(un{{U%\:h8ϤoLz)kCkz2v;斡  ݋}:nvjjsk/AGz2g(yµ!g™ ,92"r5z}φ1&ԦksX4kKTbn`5l/$).<<uoNDQDZh%'w2q$߾Dd]SXٝA FdC"q -/Vs;\ZysTM%;[C$ڙ9fL*!gaq-vǠ]E1U5W7zf_[ݾ*mUJ#W {Ֆ*#լG g(>${z7YHRL>ϏmnW;GbMM8C l 6r,ڧ+ ^ROhU1f\~5 kUaR0C~\ +&}<|=q!pƯW]wFBPtpeAr oY ڟ K  Rm?=ztg  Di1l~fZZkP%.[(a*W+ xkU6mC3'U4(H2܆!j`R[m>V̏+_땒xLTZ1mۥa7)ֶ1ڒ&d\(`CS/\:$F, ;*ՠ>a~KiԢZrWݞ5ZTj :^Q ̚򺞷z  %0>YR53}}OzB+N߂ސ*1*"41Zb Vs \B$^iF)=A*u 6y|{xS9ndޟ$O_v-'[P*WTj( s‘_ [;k{reb\&ʇ{'*7FZ_ưTA>m#0beR}&I5D [Gn<a@Y[]z,hΣgg*áD]O+9NъyRŁ J_ITsb{͡%+Jm@j)ZjT3y9X:+;˼?_nJ ȑcK°`t%T_$}*YE& Wq:`h\4XB&A\yϿ e*4U+- ^׵R5F}?:K~w;lB^ g$Jڗ%y BR[,UkK6w/hy:H{m۹\Wn%g>UA>T$~l;Rz_K< :Y)7UmقlhvgKx&7rd@n^޳me\ pNZ)ؾzl|鬃ZE5:CPcc\f45]͒ZY`,Am塹|){qyAq6NNOwhVhɾ=qd` ¬hc4 )+oy ۅ71.^vټf@!PCԯʷڸ6ۗ=f6]Xǝ_]F1ر`HeݘhF,&}bиDAH{C&bq_w'=qk4UJlTXAI@>TRD _Ú1dDz}7Olkn듉Jݪp4PaEUڽRaI\c=3NI"kU'u䬌B,iOp$gC&D :s{>E(~c*j4p*M-zWu=*5A{)V&3\ẽV;bM:w$ r" U[([)JL8nS/Wjx ڠix7xaA*2hf}A{cGI4Aid%a +@Jρ_^F;yJ`/L II%YZ.":N^% 7Fɷ<^O Kx=ѽ:}6<]L3Ρd.t&WI︗e(%^&'/EtASHo‡~urDX6^<0bnIӟY9x_׊/ Mgg_qI'1JP;5+CЁv4U4K_vC;d*A"r85<-cQ gip=­]_onAdߒyÎe Sm3_ t &ΛgF['*6 #&˄Y? ݉d;.Cg?ng+U&" )h )O08~vo VH W`Xy/Fow7k[Xk '?ӈ,l%`Ýޥ7Nnqh/,*P2FQ3d]I%;-ޕ5IiU+Y|rS*WZLBThIt`~ ODm&gJj0,ZKb<6:g=} *v5$'T{hMn=n Qdx b,ygϵk QJ{苂SޯP<> D'0wm'] zo~ dͳķsznb|_IsLE}X%՚.;Br"#;hk4z+:s/SwaI^< :GeUi5U»?"뺢-٨md%55`H츩 ,CI/IXO[-i>i~6]vbwXu)˫c1 mPҜh+ne60y,=Xݨ_1})|k(3k/0L2G~DwHvYQ 2up%=$U7T dp(m:jp2n<^]cj[Zxk~;Jbgd1:h,KViS{pYUE'v!q[A+Kj ׌H !A]t<?[ne&#I?zSch8IS!FM0R; 0xHsk۽Z[[pL%gʾ̩U`=/f/>*o- b%>  ~C & ^ G;$TdW <[N]>twqk<Җ~y0sC*)ϴ  7My81#1Cĸ@k;'loxkȵ4/bM%E*FYVH5O=ƽ,3B{}k.9722SE1vܒԽ>F3 n33] ;Yo*A,a< WoGJ^iePs`O.MTuqz_;/jB$64Zf]MK/j{e-w ḹWTRqYvRUIe ;U$7Q-c9 D囮=6 l9[ڔ8l_+,|2Ԏ/Km0͑bbp.JOrX;Ơd+T2R Y!M7G$jȢUX 0˷aԞT#o/A[ivKzНHUWV6r"};d^5i$sW*YF w;%ũLM +0g yކOY;{'ihl?`Yd4ZWa'x@=F|k/Q[cQSw \i~irkgTbCH"vBIF/!!ލմ[.') 3WtڅdG]#b:v~)r%)[3vG{2#{BJ~5;]gmm'0_ԫuz5z|n(GMu {Y#Ews՟;ә*椥I"2wfB Gt֟c ϩr]ͷl`Ga0_#kw][1p˥z-??;&Ǎ})trnZ$>®KOXV \P*P!ɹ7'VHU ʧE! Ե*Ss pr[$55wrr¤ypwc;>prs޸,9&LMo> `Ndһ lqyR˩Tx9I,m4+sZ{$e2/*e1MFǪh1/K4+z=Q+~i DA˄f+@;!^Q2M>OZ=IExttH[;>$kF*;,fSQS<Q\l36U D "sba EȡEѿ32,x)_:ˮ+/^I_V[/8ޤm7Ԗ[qG/Ǎfa4e]ɰQVRnpMwPo6GL{h2T8٦فpeuY+u2K|RLF;s$5B@;g"|8N‹77h :kcgGRY/'i 9O9"p͏ sEYS/.- #(lpBl>=_ƌmNmdnrfEIOR uif*Mb),pOvV?7x;_]viVfgA$.(@i&L AR𮳱ˆ<<ՕҞ̟"cܽG2I&)\_ 3Ӊvkk?\PI1敳y*iᱛ̿r1JT6v9B 3\Qبֻ5j IV2nVj5he\m[Jj&>tP8o:栳?xܜI>Y^'WgOor 1r]x K^/UiD599lNj !_#c3~xs ||̗ϧmwPq[Ȃk&V.ɴ`FyRY ;;%)_:ˉZnc|Xp:156%"(76`,KB9lKxN6 PH@/aPR|TR) qux$+H]) >fHV{Uh ?ʧdy7 7]¸ X!wd^vCsq;!oo:MVYEN9], s`OmS/-Z{E)YK4F\ɼLgg9 7K%il'C{S/h!oݎZ^!] J '&'5u$1Z1×=\Cc3UU6 | a)g*,z!iFZJxTRZ5hy_])\ F3bS?=9ܐp1jJ̍KXU ~)V>ň$#7(@nҔbwc\wN?<m5aScٰob{`688%f~fH#Ϩnȥyy7(;L@Nl¾?Md2o{K7t픋_'1#s&k>@C=Q<:igdɬQ-&Pw VGoӫ[0?j_m }\(epb_$OV!>Nohʚj XRmRDV.{8چN>2ܚPxrE.G@-pEs=Y;q>*\jIKY_!)=:,Rsts Neky(/gu\Շyt2PXu[RC!gSZBtH ,ΑeƈioKCslY[2ٸys'DY\oYWӤs%)ڀ k*lY-@.&cRQ G9jvASucBd.0؂nv"RjGXmPЏz@Xz2,A aOB#?Ejcg1AERY؋dK٥!wϚ:aGzГYwŶ8xQąBʅMZ(A3=4Z1>ʨT+K9hluƭ -׋?v[JW[xo9t?a6WSϮn'9uur.^<2mYJ"~(w`9ybµY–&b`d]vqőQZN.y|m+59s3ZI0Ρ.TPU7#Ѩ7ABwX8.ZU^#ktB {kΥ%h&N( ӊ:2N1=1ՏXM LyW Gr3 ?ּ0Ӑ0\Gcbs$Xψ{ЧI^RCn!аޮSLv+Ꮮ}8!`@ bj!Ƙc 51.'П/QIsjx3>MC$pTF&P-MSI#lt7umn$' dДIuՁ B>! l=L+6̣mFzG]jkyg^- +4 C`AJu{{X7̞+vLɑ"/-od;.4r2tZYDrQj1IB  h '}h`M)C=uSq#-Ɩ2{U),00МC *'iZ4$-Gΐ _ʵАW5x"#(SgV)|gOc%u̐+CP܁Ɍ2[ov's;y*Zu( Ew XncdL[]T8d-|^Tv5Y m6!#i=*%y,eCA6RJ*.sVF&.7g7PS\*#X5GJm|52A}ozK s,x)'Ll ).yfsJ*uWFZ hmc2s zŕ |*iZ'ޣ QP@Nٴ7!bUW6qT <ҡCƧr5f\#fí>gJ{LZ p;=GOktd[K&j3K,P.g}T.}tGYRxQUk#YCI%tk-6 RQ]`r=UnzSvɛȩϴ *Xʝ,Aד9&TٞUϥE0E~X g@~{H_Bo5tgilXdQ3\)KS'^OY&vMeAW/G|i0}JoaL'#ͨ)?aJCNU ] WVa=pr9A?>u8S eJẗy9qw:{91w|0s.| 9ϰL؎Y?35ҿ!4Y6R :sQ3ZcTSPFq$u |ҶD4QHB6n*z Nx|_ _ X zsq/wEZwo~czeM+ ( S [tUFCU= ԙu1U{*Y\]M:Q)Q&H1|99Om(wxu1ő Ч ^ܤ k׿QFCM}Zn˫dxr:J|7T׺̬RBI=`c4a*7{LgyC.gRImQ~&xɗˆY-ýT?o¶ǣ`o tb8 I $ͤ'!%D "сr hrPtvLzޞ)ҾS{uѦ!@ٮ _1Lӝ٦HE (p7fl[(UcFkH_ @;E L7V3J,ֶ. Ta[+75@T)ZÁUs0IS*{NZ7lk55ޢW!&#, Scpσ=ǚ`6 I%^dR~?Ճñg`iM5$Qr*]kSӧf׬BC^jv3.ܡD,A7ݖf$2Fs"8ݥmOĀ4.dym6V|됨v8I3*5nʶzgȺhWKbGEhC#+{F4GrIsZddf4ONWMnoʦ߰s.y[Ds#PF̱"w"9?CaRt`N-N؆BXʅFGt`S_9YhF5^ze{N`b4Mґ_8(>cq߉sMw̖ݬ١eaKsHdh2\'Kk gZbk)IݔDkYؙY}f!1=Hvw_!5QQUDUiPnNL̨ aX~uU8C Y]L{'SSND@$Lf@3j1a/AW5Pm<K5r+3,L84 9H ~+C-S' daEFpE:ǃǐ8%v<iYdb$V?X`®.Fy%e&s!^Fx@gN8;wZ15uUcӐw0?ZcB|h6~4"þmԨݮ6Ր 5(׆l(pќH^NVy҉k4ͰXɧ(3qOe[EL"y$l6`M(4!CS2y1H74cZ-Hjmܟԙ=r9J!bΖ 3smK( 5ڟMpiN`.~w6Ίqmt= BDnN&WnN'i8K:Ѥ[BoEA*zj`!toɃik(*M(r)my\QӫM [2?<\|'r[Ŭ0UA>0-@m<;Eww^Mfd4  oaVY&7zoPiFPHT(ԵOqQ/Un0&zaA޺ƦL|ѽj)2PoN; 5רm#%$[)WI+ܨK[.i! @vν8m?/KpNMbWG31׋{ۣS|YP']TDZ2t9XhoX)Sĝq.d: c7)/`sa\݌n k$yI1I RR;$=j,8 -^ԇo^ORSc9jщ _q*PsRAE[✚vU>0e5ވGJ8#519aq&ou36oV"|Zzh0JDBb~+ sFH Wh o^1۰h^ݶcj=`55= M - }2|ok ןd3'S6vx"6sΗ.qd, z*àIN7DS*m6̝=(=qu/)qw:e"В_CaX xqS{ 1A2p55IzTpmYdvJ. ƴ~P@~^毖T}}ߏQZ}&ߐAfܙcl^iSdtOwU.TF@WtktTɀnmo0!t$A]ː8 SG=>D$N0;-~˕RC}Zi+Y$=..7u~sh׍{tl:xeW:aq!NC 1YnD׀;;8 m= +RN~R7j5[L%[}W~.}$'&Ysyܳ2sB2Dv bsL,z{$W<F#͐ fWs=: q"9]_-5pU X>щcPV`T4h5TVp)xuIR)̷=bACi/@F'nbZ}rR*7GkGڕE7<9FYЕYGp3/$W;(ҡX}o6r^iYK#6᫭69GJ~An)j9h8VD%QW;l>@zfN&ih=T:q* c!sDuֽߪ{ir/,%?h?-{ʂL\/ @g0$'3^>evrF%U%dFu4OQC+$!J #UkAW)tW= %ihdg̱& `+XGK*Uim-Wu=k-FcW7n eL8 2+א@eV5Q4)T[1 : iz)ee'8}Es ﵒxy6V*ېUb܃͌:-XH6v0OJ}Oٞbk8G~ y[;[h2G[& Ő6|ڬVyLDʟm&v 93$ ANF!9i[)M~f`>Zy$(G/ J="HIlQ-ݥM+]{LGkB[xNlE_T:Oo 9:{ v!Zr#(VgHcЯXtU.c4sχ^*(u&-GLΝ|zWܠ)^ڥݚ۶j-[vj-VdsZ̭(fo@_frbrѠjR_o/B $b?:?M7Š&jGh4jr+e?c{QBP/W7?jTZV?7R n`,b6ym.%_ͬlL`K]ȯ9@ԝ݇M&V^{d,O1-]edߚ9ز*|7nض j9M 5 Rg"xJ(v**^ F({f;M[ ?zF'р}9n`}"8(ƕ=z,@S-< q%eLh̐>>5'dCwU&DP 5q&ԏ4 = ɷw^–76$WK9p^'`w'W%ą+h(R5Abl@w؅ʕ(>К85 NnFz7_zϸLJs$`Xs)eL`ӈ [㔓84J ^aUhy _"7w) 1J+|.d&3+nfwj|).~WqĊ+鮐*LW_S 9׀(r ZF_CH'ςs%6\~w*dx"]xXcw;tDp^JNJ), >xٜ1p1$'#kkՒckcc W畼:^Eכ2D l =~J47D84Gsg ]u- OǯH:! #Ɯ륲9vJ zcO"a 3 -&psh:'$̏A%5ԽR_;9/Ujf9 JR&LUx sHAofsYC}_^SYa.L 8Þ(@޻9= E$9O摱=}.@vrHmkgs-#}|Lk4gaewEEKkgyI.lOWЭ^L(&J=@FvH&ڼ_sV]%_oΑ$`3/ ߯A^[G8;Gt[fbbf?ɍ@:ϵl8Zhl:'lƏ0nGEl[$CY6pVNH}voPSP(y]i^y茩 CH/tCA}!i>>. +nAcO!ӳ^El˗˟!dJIJ8v> flO-}A>F9N>3SޓD hgsI&!'>]-"^+.QHO5]I:"s1B{ly@H#Lz5Hm Jo-Mq ͳHba: g[2_|1IsixXRtcyx驡ܯČM.,imhG.,ltoK8{x=&#QI}Qۇ|x!T/x+fŇ8Q:&Y5U7[$華J^v?c' Gw[ HŸ j@3n .F ]49-]Cut{$xs*J7M\OcD,Vj~n[VS+*qDnRNe^ES]*̲A1vj*DWK˚Lrb:;bbKB`:2:K$ꍭ2"xKlew^lg sZ1SNq0 ot>[rho4)Oݷil/pҥg8rto&52¸:}M9mS՞1k.<^=kr ɒI)I#uΜf&RME `řKAMN*lU@,Jf?sa@"Z@ 44\_(|)_Wѷkxe7˓+[|+p$7*>&0 ?ZzDq&Dn?K *l|?ϜB"{=?|=r,S6g8]ʥj'GfVab:#+X@GN ߆ >H^t!r1wcj R|V'x#ѹIRʷّ\)fɣ\9([bZXa7:#Q*#]8; u&8[, zBxp\7#Hy0[;ISqqJY Aok4DSAx-^[~aB`AY* YqIJ HlMSL؝C,]4dǯ#g_=]/%xV|trs 1."]wΏYbf XGr6M5Bs6\*DG)n8X:$Cr3 !$A|-&Ϥ냾,7pȴ8EH7t@NY7q"Dqnj<ML2 |kM9s8;|tLrZЛIǃ'W7_Of4{ 8,U g|I|b=3]=<#cfӏfMWMz?@x;A|@츹N* cm AK0U3(}8|)1&mݣ0H6تca@tigjz}h77ZT>6{Row Pjj&WxAWP9 Oo}EB C-Om Y8?̳ᐫ[%5ҚI%ZG>3$W񭾽3̌றb%ZƫyGjg!s*xrNv EP0.!uj} (L-blڡ|w'ΜD=2bt ެ2NO3 t.0uƹ(;sv9 u|; xk~R~9f)F'6?8%>?\h:sAG%a9::C6thPd%"Ā`o^;eq)2BT"ƱaB:|mz Y\7vn6`7pBa?EeoqDa@C)j%B ~F}y*H抳_32N (h @bb;>|"WȇvvRy6}ȗokMv+Vޒ vvf"X&!xZVu8[ X)t܀|2c$$} R ?:Qqz}Rxq}#φVMòMgb!&'/[xlgNQƁ?\DdD~82)wUb쮤5_IpIe0z9Y;g{DzCDvkuDJpQ x&bKM_x~&"MCtF:9xH~j!+=Do_E#W@oׇ=DV%saD0#:҇!B&YzEb rEiB'Bq-m_8\?+fgs<1]mEGʑ. OK8H 1lhSAgǵ^ &iS B)H0bb2ۧNbd "fd_|̈o?HDtE5uvSՃ/Mno IIW`՘M8?z:h 9 eRǴ2JGAM$:u?S?ok_O쇿/j K^w1CrH 6c98ݻ"޿5$|_I$ntv=IT0@VuOZ!)"T!.u_^3wIhJ Q!8mHwjF+qR{C_!8tоqf-K1's̷$/:r:b,\Wbfu9[_}I;JG1K4SC1\u\Gʚs`HeDl}TomKFkP\31gB̖n43KНbA*.B:L#>]Sm uX..[4K6Jt "#c-8}F\ nV:bO=euqE+Ĩvxnbp8[\X(ܦŵL9B/KoA@* *b;E2Q^_NuBhq s FfTܖ[utqKcXJCsM/PY0$v\3S"FYZX. BeˀUVr/b8ci"K~J/{e5Q~,Ox*:)zy.!K馒3p, @NJjsuB n435f!KQ `Y:z0.oi3c,U&l9Nd8R ll{Dnz;(m -h!D:uH*D@jE-&S$H2&:{IxPjŷqrieel! 1*e}zM3SXcqa!P0xOBX%}l,AEge8,c BmJAӋ"ĉ+;r”80bwK"A;};tH6yy-vp#E:Lљ Ϋ0~"eB,*K`-Y2nlVD2EYY2J$8'8u97gN^8B;ɢ:b}>3cd͛Jq$LSfFʏ,)hz#Es$XZޠ9>c%-<\@Axc?n=:^1l FK пYYP7W|d(ΡmQoIG$Zs#8}mmf@c+I5&qSY,I;9iN=pD;Φ't0 ^5` $if$v(Y*+ڨOԎD"ShF_ 륾hب'1!"p#Ԣ,9|30ٲz(#6{_{tri%C:1ZQס~Ӫ -ՂL OcJ4Ls__MW>3Vø1h3PC'=MSյmԿoߓmn,(ಿ:F!#j)z!pPD}/He觕Gs*: pQ>lCǽB݆B |,=?|͖?R&\S}>USTV%oSFrJp }(klqEzHGC]&Lŗ>⷇y@}w9.udžቱV6 ܸ.j(2'^61} j}t) .!bt{aQaG%ÄcDz=\a$S 8&gȶ0v#TWLbG`;7Lڬ0Lu ?ECA}بQyO0z6|E񅲲 D6F ^V#6\X8WԠB>$D `0+y n.QG-&)q'2 XR8cķR+B d􀃵(JRȒ} p@mϛń4fJHTkUxhl}mCa:f3<9ȰKPvyBb6i}$PC%# hfp0a kOUtٗHbt$,I}Qb^#f_1z76KBsy`ݠ]&(^&=USzo׿;ǝp?kKrCc$# xkU |O?)<+=bA:ET,{Dq`w(Cus }kݷO2Vހ|]yO>5ܒɔȤ |ҍ,~ 6j_LÁN,lԴ&{{Rf]LB֢H6 z ALpLqa) ϰV%=Q8G ׁK5Ԍ.K N<B4Y(?4%L ,dM+Rĕ ~:)`+8-*5%XGt1TQ\~")[]H XB34TY$4:z .yd0uhC5^r1'9RN KhP-?[(oqgͮ4q⹒."Y'Fh _IxK@߬#ÀpY6M4GV/aj5BS/bx8P#X^h,dt5sV,8C@G-ӾȥH %^xLԹپJh -,*@R„@ܑe]>}bʝQ<3cDL5HszVSg/H.Oz1yDq {r.TWpxᬆ~~R!cf˗I[! &9;Gbԛӹ;ڰ{ʽk[=崞~3ݭֹ.A <}ov'. k0bn};:7 :(|U5(m67u햸^dݮq,0P5+fŏ}l4Z Rle,;.Ć/F:ɮS`=T0ݔ%72@0CQ4;xe[Ĭ dld 0{ ^wh@ָ*;ne \^kfwq k]",^{WmK}EƳHK-г3覊n( "7I e(䮜YjnUbd^"[ab-[vU["I9q3YK85MkxWe7nժ h%.{ VYv wFkt̖x`bW; &s냘+ۍ?.}'ܟvR|448yI7d)<q΂FI:ܽݯNڬ'Bk65 Z IY:g=hIDAo$?6k#?i-@Zis!Ŧ&2IA#3"=}!#S8VeXvah͝[%lȝ9)/K!O􍽫l'hxCU3qT!44+pE}({ KʪJsA|$͠OSA Xw܊[Ҧ0S@/I e$l+jE<=wznZkȺf/}yNC{$ @~֍뛙mq}:RKu{1OY tFGH,g #N3T:{[ 0SCgVxƜa)12TT'.mBLHzA*.68Y&Uad0I `\[tQcxnkk ٮ_T!dAۚ-tdPAlgLq}|w( nZy㟯;ctٚr8'l㳮)lczf.