summaryrefslogtreecommitdiff
path: root/drivers/virtio/virtio_rtc_arm.c
blob: 211299d7287010dd3689041ccff2f23bd6e90b84 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// SPDX-License-Identifier: GPL-2.0-or-later
/*
 * Provides cross-timestamp params for Arm.
 *
 * Copyright (C) 2022-2023 OpenSynergy GmbH
 * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved.
 */

#include <linux/clocksource_ids.h>

#include <uapi/linux/virtio_rtc.h>

#include "virtio_rtc_internal.h"

/* see header for doc */

int viortc_hw_xtstamp_params(u8 *hw_counter, enum clocksource_ids *cs_id)
{
	*hw_counter = VIRTIO_RTC_COUNTER_ARM_VCT;
	*cs_id = CSID_ARM_ARCH_COUNTER;

	return 0;
}
tGA@5ynNݍݨg)djFdtS)UԁWjutff4Yw>n!86)ѕX͓5s]EMeT\ehY:H::yw&\p#Cȉ*3U&+y~ n TgTR6Cΐ O`xN m ƨv4(*B0t "+$ȜPw'޾3F/ʺ?^Z݉/FeYNh"@ ,}ȑ5̿ANQZ`r YcjQJE4'{kL@p .9-茪r:@҈*ؔ@5=<duV)̽F!n@BPlj'> S٘?Tq6%5T0WQ(Nu櫴Nd٥(p *cs=6Y:^y-h tf/!U2;#)G ~#éJ5cGH:de g3o<VkP^)Eeyxd{"-*Y.`G/C[vĈ='1IO &4e2Bgu 1sGM rOဋA ˒0Tb^PXdAn v*Iё!Ftn465 SIhAY3Cxlhֈ 1AXP熩@Cp:7R³ LP@Rɂ3s| <{>EJ } a.9(O3Pi?+OZ$:%nF-kMU>/d 7AV<gJWc5[# |F1Td+y= "UU ㄖ׋X[4 Ξ̈bTUn.}F_@H>f..dvaU?bbLѓskF%R8#!49>V ¹B=y-gȁ|>*"j#-&( O6Uw SI,h+3P9L֩Ō*m-Uƴ]RQЄ`j?3O{$6@ȩAtdhmgz"Hc8+;푕ϠO\Xm?0dy~GJ{Y\Ϛ]ʰs,ج Y;A_/@ٟa;ɔ9kkC t*r^zDUPpsEܪ8zQm_]S`tok-/$ୈN:V]~ >*Ä^ZԢ#XΪK٦BjۡˆEļ7p~ݳ" t4N?WLcs+LL>cD[PiӦQ*mފ2 y8~TJgJ_Fԓ!  PaTG%O̠ 92R+*c8MP-bpd:6iu&|wL u2qMGb:Oshw"ɯe5G֎F I > GE"kn3PEjVdbWpQђa7& Y6{ "&:<|sX%+R{ToV$NC=Z($mQedW9}|LOHihgDrȫ$1#,v+Lj7?uܲT(7Wj iݖ^J4"F5]Xts.J#C]YiF«ELFvm|q 48EoIv5H<0b=YzYKkY:wab_)G*ӛ MFXOeL6Ͷmk)۫m1g {oSS[~HsFG$J!AxܣUMir٢8iKcMǻmMAg;+PR{-%J _DcI/[mup1yJ;~Y|JMFt]5ӊԻVhoVS}:q!G™.4P! {DtĴ {!dCHr,u&V q} j99 1;۫=3'DO@j I_&҆kAGs QGp9Ųν5w);LJ`튃{,N'oxis :b0'bp,DwFM?9I^>H0Ud/@>t:v<5twB z[gfp[\IBn@;]xi¼b6e]#iwg{Fu{栍A Nwồ8:!( uA QgkM9|'M2ca@baCP`':͞8(|/:=rKн8$ޱeJR(6h@,t ݻdk'?0lV /QO2\QaϖȒlQF|H YyK0ӝ)!0F6;oǯ\9"EJŏ.սm`LEJfۃn.uwɴvwVC\6ɧShz=Ll ֒1ުt1`L;K1O0c[+ҲPu:4X9t>?*3dW,'.h!I*OvSoc)WQ_H!4ٵgqH6Jg7w’v";xY%xK*>/:g;m)#eB貪RvKsсל]L⃵_D_IK<N1f"]J\&1wf [q%s9I;9xñt~^hjcR7&<+͌cR'_4w5u`y~~iHYGk/% = k^Ե"IcjgNlZh5wS{ii%: *4FN; Q׀+ Z4΁}ثk9!F WdݒJӫhh|pI^S<8_4_$兤! TRtWrMOIݎ,xxdϬY1 YeTb[%EEP#f3B$3-ֺ'! 9{AD7@ءw__kI(e$[׳J|3^\9o,|=cpf;"` bϡeAшuFB=!:01"ԥit.'A_R![tX>485 )He|:OOٙx[M dO[_( 32"}ҝZSTVެWz\A3wshҡ^/|-[Z Okw$CEx.Օż|O+uVK6`@NAf<9tHIݑo1i dPiP(C#b|SW2:e Dѽشi:ƒg/_G6nM#; Us\^?Tb`!u9ְﴊZlN5x^9#lOrfнKZKbK:KT0l,0X;zKsNFۺ.n%S԰ѨIkWnpcTIvŸ2v KY;I*#E! K pO M0nxj*{+#g׎vͲ~JqQvꙍ$ >oVH[ۂ*JndÂ>Ku ES#< γۣ(L< [5FVV&1 7o`',Z\&I'0 U-@"K#\؜Fasy+[RUx?JLuH!$-f^^_/}~<8%dOM\im],^.S02+8٦ChJSmtYV?*$Hiz@ǡ0$}65@">ݝ_ܥb?cBИÙx[YL[lݻ%uĵv>iVFEh(XEH« >"A ,$2{h )V<`#ݪ x;.鮪QT+rpb܍n;ÃxÄ;_؎ (+ Vծe3wvSHj jvka}N+ph,ɤRi.,} \KpTra$JoDwߞ-Z]@[.l m) `s=S?jܮ:!(2Q+ +4A@4&p4潨iFՊ%\+ur9 dhp\ !!y _.2^-2W*\TidQ$@BH;Cl_qdN-Nkb5tYūBν~fkv Kwsd{4{TBAd,Xk,J ;ZW4#43&k3d߁:9 TuuGpNG0F|íĊCÖ ѷ8/h(ল' aBEv=Fl@VÖ@#>n4^Fj0&EI5Zb:N% p3#W'=[x$&Bcyx><ul]: zZxAwVV}a|'+e8sJ7Xӥm[ZX?}aOѐL.xx畐VS%PPպS:mDjnxH+8ܸBeG E#CUZ #ꔼރ5g[d~g 'F1-A$@HKjmoQR[,X O9qnX!)sR]erWp5Gxg':NibQ-wm>y8i| 9hpM $G{PV-A"+R$m\8CHV(r,ץ^9[F=3 FQV>TtvgoqfZ%CkgS' g r؜Ӌ5i>7jKȾ!sl!Cp84CH /S$I6ʬ5RRǴvɸ%lW5T;nGkXX2%߃0z"6q6R|<>9bcd( }d{kc1EH/ݽ$}V+5'O6Zov'$ K9T]l>"T#^*YnJV6"6kRӘU%0qkF,5'#[ yER]y{(%OxGbAM㡦Vѽh)͝'?h3tSKAvAZg?JəhEcj$P?hG#aqq]o}gӽ ;XAHD8 fYd琔{pvxY_KFOoxOjw(rޛ^iiED#NY6I]//x+(%O߹iGϪ_:m5\Zۃ.c<pmSi"Jsj(N2 ,ÝS^.ʣtzZF':XMkR܊gvm!+Wm& -Ej˥m |7Sn@}Z31ח|dz>hO/Y#1:O4o3g\ κ提DZ2he) ȆP-"^O__=c)q;LR_iO _{RPpj` rI{@EvHfb] ӵIX')"MEE°]ylR{As41ĂveZPgEuPHtLJЮ$ tljn\Q(@ߎRQM8iPuQMz1еVi/liFm3c"͟a@%ۡ{* eV?@|+y%8:L|;Jsޑ,񂔏gp2=8Jr:Yq}ۉO}׺XfcA6:74v,#>^`9%RGb^qgp 0&{tI0{JTMR!Xr۷ZTE5ՋfrO TS/iĵpJ I=j%icaA[B )q5T;Yk\d[ygE5Kz$7o|~;goFhXT9I3QZwFDk@WUvMMH!+.v4saR'ҀTj("H $앤:p0]s7%IV'l_3F^QQ$ '#^RLmz: ؎|VQ|{G3riějH\o'䬭t RMn|՗9"9oJ"?gX}L>2'u`pYWÓR1eFˤ.rbHQ/tQkJ}ki*R)]C⢚AhE}Z6߄3=(O=#;H\.[VUbqߐ7^)t~DNGc1C:Ч84IWh :*`zzvP l"7G%A{Ye"xv45O $bD}?/'Y<4Pk÷` $L'/^WU}a2D4εsg !=3zAmfOZA e^Ѡ%YO5!ڋ%?˂sF XLCom4FRsb4#*,yL?`mw׋ j<`HuݿC]9y=\NgðgT펤y6^Nґ<`$Mv/Q^A7B+xO.j؇ "yX5ćoxpD:c|8)ԣծ*aIHV0D5n- 5nIG 5;q™g%TԹI]o,wnAQw8| 3:Ԙ=v ՄFzvs\+i],Pֆj5E'<_DZ;vi&],SE)(.ԵqLG=i9&~I5>vv8Hl6+R~6gCPF+g KFʴ mR}j!C13Q&ƦVcO6 ",PϖB6{6/&Ci=AvpL;dhFyU)B q=BNα8Wtm%.L:dbƁ6d$ˡ3ulX 2pddHi2:L6ayWkO.\Ilm69kG~.gf4]ْނ4=?z=h61AP맧ER(Wm=gQ1RSR[jdCz=gb õPdq1HzGj$[l! 1H mO5E;n`-'pAf@X`p Eq7-HNJ6^6YJL͙NF Қ#Qx}Xh=FRwjHtFu$3yi.٪af?8Ehņ5wvX0[AaErT"quV[8C;u'Cn~ U4T#z›@ ^z٨Ak#` AA$B/ £LHZCӯI-4h]N5y"cӄ}o):/F2m-qY >qM%1|f{wK)ɟ%=TJ)hXp$gЫ82׉D<֨VF%eZ37`%oƺ|3MuNUCщl, RpCJ+ @_quP'4[dFǧE@Cs>jcXxmƘ g<*+|m%5=-Q_)_;6gu88ͩj"a&:HZ8TXM7IJUmi|/ˣ"{?Tި*Z-vxZdӆLF(ީTƞ~WF ^!ՅlxN6 ?z;?9SfynᐖQH,]W:+ϫXU֋rA.1EJ=YkF7EM]C ޑx>O./n CRltNo>WfHUҚP^0 jJ+>cFdX}I$,+1:fpizrd|MϯhY`k8 0vYwA"!fzNƔ?o[I˽?%>ë* ET~ԃؤ h >>xDvVPjAr % 7]"j'RM y=c <3F70EdюޕﯧXA5^49;CE}dŀIj3:SߔJoQJ őS+/|,N,/, .:kWXz]$`AR"^ز"ڀpg1+߱ flAjMt~r^̓[' Vz/N}Ь ~ xkVl2^X6H߶Zv+.y}GϽWOclsڙKщ(Wa<̨+#0ʸlM(ѓz];`z4Tgp`@u q ź$3Ėhz-c 8ѥJK6o6r44H2!*N gq8gny|WTfKI7+ 't%5CןyJAL,;iۀ~bssCɥP/T nrgb֏܉POQ`kP$͂~rveBZklh_X }m,A|XsOp8DfO*]7\'X&(Bj}Ib(-+`KU ^݀ ;a:UըAqq E@ FBUwl1[?0d#$Vtǘ\K&47AŖ=ϳlBS>g98Z\nz|O2l^2,l z@C.?abt] O[U%$F02&NM켻)}0?yIJ^exXdoAl$b6 N2BۭV#g'Dߧ6d lhBffm-ZS4XG ԲB/:RͧV3uĵyh%6{vh>n}y\ p% Ʒ!-F*5Ԏ6ٗUPH%lJ{ _0DB$&J R~%\: M`m<[UIٮ2P%]0q$AjFMs*KoiY8 ca/"`A?,im=VB^\}@c } lj-Yuwu fWQNdQӡWkͲg-b}:XZ'0<(cu%ꏹ'M%SVYMZlM̬1sDzh<w@ߥ,R_MK¢|]R7>0sKcA{+Eq6gfbn&__Xvin/J+y:?Wсpu`,;fBzhGֺxlnjt+,=<)rYIEy $m;xKczUn өOPR  Kpya|艐;^<7y!ϔ̀+Lk`LSMLCho ?ȭ;}a0?x3i'YW۳44JpNQ|ކ``\ķ_k p Yc^Q'n֧:z 0`/Jqyq#~k2S d: ޮK0na'kE ~HO2AGjU.%.Bµ[%SGpۍmsAÉl'DlUFN":d‰3z]ύWE:͔ۻ#!G*6Wy&펫 lVF>NHUeԡAw[(3 nWlk;c{΁M3@1RK%$r2o,cjdZ}SVϊ%:a,x|.64 (?uy>{ncpm h݁fbK0UKI Yc4T.xͥכXs&d\,1O_UPc.}jSZ ξZUR;tWdC.kz+)#b2c4E$|yskb]c]x/=X Qa0HD~XaKCvogS50$%E%Şiv q1zwt`^0Eg߭zdya#b%Iaj95$0_Z>$2> Z[7% PƤZgmt XS-UJh|b'j[o N/+Hv{FDc'w؜rv Sq K 8˥v˭hQ79ȇåQq:t`WPsQ1monޟ]_Mߞ OC~R(gh|Z ЬUEqFϴu/=0x3o`4ʤM~[\x  %ƍ)m@-vޣ@Tt9DjbcT_K".1\έ'߆r93߰:7*WD&.T:̉nwckpcF7ML6MC{zσq๊]v<%w6S<klzSZE|ԑ?ul03`%4旕2)>rd[U k!,L%cF\鍚L I[[{$emĜBF]Qg6P?[ NVFEEmï#90@,N䒽jfʳ1/,/f-s1:=M޳4XV՚V6lFINUYۑUHNWt8Zb1Y6!-dgx~4K\(XZE r 3c(PPÆy_ݼ[]%s @64W[bC0K%'`=n5ogՏ \[hJb{zT].OquSZ`F r ` r`6#Q0)C^lrB}n1=sRXΈdkxg~*Ζ)~)ɎWW2ՠN۹|Z+c2Df4RǮdSPoG#F639+W>owZHR 3½6n}ƯqAƯ2ٸ @POx`B$7@R<cvL%;z 51 $af*OQ.iBԅ;z<ARvtnu.Qj6*.3Rr;ܔ56 pq[_fpmK`10iĆ8&Ѱ+d}-sh^?U͐⩑̌M0!gD?BWAKդ /7ˍ-d~Z*"DvB=;Nk(J:}ʲ ;Xpa7lI-wX-Yi$:f3p13 skG00Գ~UV׹V(dIȝE1!Odʑ|ٛ髋7k+JIKB˥F mײjn6/Իr]a ўջ&Х;ڟa4ܜE2\-JgHȗ)" 'Exvfy#^Z:cu&>hr kVfV"y@.@NW:yipD+(Nzüx FZE*O, / #WaG=;fBjc@nJtxMsR~c &IG Kx1K8B`e|?X\Ӱ!c~RD87:fmmmd23{F7:$Q.$}kD!B\vwD7rY[^GZuJldQ k=[[z19HJ})ioi鵨␑zO)!Xͭje؏&ѱB,vZ6QݟAmy IKv&gELh>&יұ ݚE`,ksNs\;x:]B|LyRy}H>]r)iYElSXG<8нLX Z*'mH aÝh>|#Bk$‘fJϩ>AT1/5r+>^\|`{F '@PhJT|,8aa~u/ǣ1)P!SS#@̘fa4Ɉ79XUBsczPqJ.pCx5*DoXaBu^dcN1;6'ʺQ<8J:.Y'*WNoNsGؽrst^F W9֘T(HǸ?q^֚9 Bj-m5&\8ުS5y7u`SݏDM> 3iA?Dt&2.LaC>*oq^#EOj{Tr6/Xh3uI$0fTX[+K~\q.,x;{ wYǏ]z7ee*RLTVf Go߰ud7b7=K9ѵx8@U :[8N-y1-G Yk[fؕW!u- ̥k8,s_U[ՊdEuA&/!Wb݇j7 ^G`9Y$!^6fiPQgN/ 5Ni9No.F@;DgV0sE_ N_a"{;t}aXMJA]UF'Pzie}Ț# G4vz,W\?=Wp5TZA$B j[.PpӸB`sgcV~] 8$=`8MfA:՝pP.9ܗHU\08Pdƥ Q&Wj,|qsK0E]]etp]`!]vjF5I$7_T]LK͸};A~(p,GO_Zy_/u>`qE$=4.y [އiIUYW&2+C5vɎW oh>YUl!rZzN. j;jn۶iZ]ܤ&0ڒ#…CچJr8% Rzهj]!3&6u^!SJCƲLvxUb<[dsgafFW!jW:hVvoPUU:P6զPf=zpW ۂsɐAeKQx_ViK(ή2nZ NO`KcWrW1t |ʪnVFOY{ 5I?ix||Zysg!-X Ѣ(ڑӶb4`z{AƉ#Y:8l<3 #V'g{?<n}Jf/a;%\8eG lwƫ|$aIkUn~G97ToѠ_S3}&3Poi? ti.a?v3~kqۙ^X;LTτAd[iⰷUՂ[/uc(0]{d{\Z fvmGoڥRӂh%рQW cLH6If%YA P3oWꎬuNyE3w~g wG4_C1_qYtiƊ:O< -gÛء%F-u,E,Tv@Gui468^PwkZ鄂 %n [^rWY99̘,8ώ![H}:鹎ֆdK`gbjo dwJJjmzN薂ż30 R$dg Q?l7B=j(4TF-Pɢl]uV~PО#%n[MVP7ӓA_ /.(Zεb]젦 Y\V'n͞ Zk*Q)2,QFB@&ډ9JPAgw=ZtQ.g8^Xϴ_v W'Ɇ@fՔMQt]ۀHyjJ3jcSb vUs|H|G.n.јXs9 }oGQ@Vsf[_yL[s{_"{ f,UQ4@h޿?qY[=X 5~~IHGNTS `u:MEMĩRXQ"UsPPF U#w3&dj v#}ZQbVVk21ErVB,h%S=lZWE$a8ߒ8W :ώ:-j.vP Çg-LIh~X;7Y΄* jE4^Ђ|F\2Du{Jٞ/}1^OӫpN˗`xj5Lm'^2&ST[zZIV\,:d>-DY;Ӳ[*r6ʷ=ox)ofݣM j4ܦX<#Dw+"۵zq^e~˟+,A#•6㡖 V-l$hԷZoG6˚W'Lb])ŪYةsz_ҭWHQ!I}{Nl1j{?|\]Lv ?ՕF~$lX]r;Xf;8f$\ ވ,PIT+ݎz'xs_(?W Llzk@ȠJK'uQl5fmVE_W Iw id)ݾv.N9{VVQG/:)P?J;HXؠ#=[؂!Kkh+/%k#V>AF(U5I`04qm_KĚT xF#}jW\U ԃF<5S~MjMI uliY!dEA7=DFgʂf72Bȝry}Q_=B} awyOjjVSzR IE0 rl#%$Yq(YI]]So6luHѸ`j}aQ.)S䂾 |k]DZF"#^v=as33x 5Gnoj Dfvi(g(YHߞތaE&AL˱kI2g%hȝTOd.ŁyR)SB'"F?ڹJ=\o$5~hfC87\>T}v6=6+_hrW)g ~n2AO-I{U$JYQ%e۾#S; >;KONH X3WVcP@?}u]C|пݫ-'R N[76X>$^ 3 $-aÆE6$̟Y$l5جU[ŕ6,^2Cl~%Aup@F*WLzJO ZN| zSZo+4Iռk{2@ 5z< /2}9seg7AҫaxӰ2WCNG1er<(9R[g$:L鯸AqYR3OzAigM#q4lDO IV2\_Ӕwdٚ]HiM=jh̨R$#p@_+5~ +t1QGcx#PzW q#DIuE/ږ"ELTͷJKlee|PoQޡx5%㜦fw=Cv\ ݺ1?\crx rzzַom^2 ;z5\%T^QtԻ4B42TAPo&GG,"dMRz1nևJ|SW7֡`N% rXKC2ߜGIb\I7P*^r[ etvzz5jG0-B>t|7MuPi uM@}rmo|d'zɄ'!j7Zjie#C!UE&W ď]j戏(Mo4.;I9^эd3l)婮`G5Sݷ'E.hYAK \$VweK7-zh.d%uz9KuPL!&+d1l5눩SosDDR^z74uu sM*՝rm_NTkZ8H#]$& Ր1DgFj %aoF¹4/lVr^kd9݄ve&& Bq.i5ય>Y#n~O,{:˚H灳LT_Ncmf2͚L'%>^p{+*' 1EBn`EjxfGa=%7Y*k9[>s`gMցzqw3d9sVxq+GNn#_9:R$MpN1Xޡn.+5)shj5RVMջ+;vIٰW D:'=%3ZIPR<v(I:~M-9v$~g[&2}I]%;1/'9gA:Jqk*ץ| &Y\d"b6g@o,:RT\4u-)رFoA0.$aֿiNY`XHz21ρȕ^D֫ kjiQᴧjbE[t>s<Q+S=(:P~K+.csm`$:0붮h2w[dɰ'j25hԑ;lAEfﰭVF!)BBޮ{S4ʂf }([;q:8l˂ c5MXU`Y>bi) G`Pw.SuykoSWX`\N x". d<(XׯD=O3)7eSi&Yy?Sb/zSmv3?|BBzLx9KgSϹM} 3Wh fּ8"f={sCFa(=R_^J +2mp,"9R .Ѱ]u NrQs?oǃKUvj<([򻷁489G'KK]ڔ'e J*cbt6SI.܊9" ^244I\-DA3XzE2s]@9$<6N#td(FbR4dY(ɔԠGqC';i} j'ԟw}5,bm?˴$ G$јoe!lpc}U YaS y (/&MBp-e(IF5BH5T2;$ jAD&r4kLbj՛y!gO 'bo$8ُ;WF%̦vrVvvH'8N=[IK~kW,wF6-YG$ȵUK =0L Q~ҖZTkL* HwcE-aLnA]pq0I6P+z1ӈҖ'oblhN;! ` l;9XױFyߒE*3;iYÂ9@u Z],M7ȖŠ"Wu[n$[}:<Lǜ,HNF.4Ec1jŢ̢v.Vڏ - ~h(ß B2L# >›]0*A֖}`P zU^X@PMVKohBRB54r2IPjdae!{6 IesE}qqIЎVglU" C t`b`(w="%ٌ &uPjg7ȆŸvt_7rxkC?o.l1jי˫Ɔ!orSM[Q€&A6WSSURppDOԨVrk[|7?#?˹fe}^q~oqLtmŝk jv7O%(>mwjFdt=Ibcruf[UBIӏyә-CT(G!نQ;rp5*hERgntbu\>I%7D] T ~`׊JA꤈[􂞀\Oe:b"yJ-#["QNei& +q_$l+H."6̈́[bΆ$[nHbʷApe@Sv%/3Р;?m,I'gouXZ<$^M8@EaLY+zr$+ ?'h]Ԭ'9SDZm˛9D37H%VH>Qe}Ů#xϬL2s+29ɾr.]8JVS橧WtJA|]iJ˛Nd%-BwȆ{{'Ut;Ey8u:tFn{띫 CTP憶ܠ Ka,Vaߎ%zM:R5PHAͣf=g8OIM'ʌ A}ާ^RBq b9q>Z [څBJjx}MxWbw%kx͗4"3`A^8D ;9(b$q@Bu}2D29ݕ ޣ*!3ki*` l=> R:c#?NoÅ=c@ PSTw*YЀ`!'66}*!kZe|.]DXC$PڔJcpҺ4@&U,Bh hpuuu&ZYj ty4Jf6?kkN0S0KѸ ;8⋀D"ON=ޢ~IPK_nH4O 5UZJu6h W(\z[k'8حoUI]8SPjb71@97Mөq&)ǪVjU R Pd &&y? xzt,N l}/s4 ^ɭc׹)wg sh,av$g$ NLR+5GK!N7 <7 <&<,w;棝^t4ҕP$aaJ:XMs_RQ WgIp =2X%C G @/IӼ %^|k*9z1I뼦x;VxuRhSplm< x ʟLZLi?)x8e#GM|geDa"%P A0$) 7rG {"g_~1zj|}1>S(j?-%_%P8HƤaA٪Hݕ͜om^Ɛxdbw˧| 83DzC}e@ D g7aZ|iN1\',;- YA}p'/L*[\'Tn.S؈-\m+ f2gHRIRъJomwz%QGG6B|]Rt. T7[:e pܜzh\eN,=ʙd rQ; *vz.dv&cmXZӍ\a~n=dd故lP&W|CU&)A TeAZH1z7"N ~N}m%hjȇI`cM;`(H;T 3/|rma?<WzOI3VHsPM/ixKNh. K[g8BnAر:6,nH:\'-l :y/^'J{N2ȍRP 6{ed+P9 =34 # ن\KB?YIlcHJj\bi פE\(`IHddN^tƳḾO}}wAum3NіaD[KxA?$|hQh:9+%c,ܑnb{,C9{/kB$6Zgjm@LGKjo4W$[\{&:ͮG7ҒҤF LNk, HcvWcTGWpQf;@OJ}6IUH*|H6N{sģ\LK!hW~&;fjCAjw}hḿl!%x&Cխe[ާi`Ia[>G*m؞9֖;߳{${YoR|H~sC["Nw Χ(̻ǣUmU{PoʸVB&t +.a-,Z$kوPM@h╒<:Hr`^&#wӜ>Br\A s$Gkֱ,`o@2`b;Ȟ27NCCαS.6rLqLʇlWc Oȶ{$k_L3;l{LڛIwq:FkS+aĥA#RwfB F\zSqTۭmJldQ8_#j<:P82V+F|~vb z:ޱ3j'{[kS [Z$< ͦvr R<|taC%>|,][{C ^a.[bљx\Dt.9Uf^lh M9e`VaI"e ].I >ML3.I1-(C"A=MRC h[d2jmP% `G9`ֆbmya1]/rZ# j[mBߦo9HR|VU<=pplIt򋚲v {k?z 9d䭅vd[$ޖ0ω3:8"귡A >6=r 6Aȼ,89(fni=S)I1SwzǦ紜/RHKssh RVUAonyx<`6&uu.QgT({XǪ>P[yѤ'>28*vʳF CN*ޥUF`#svړ>MNԧo \w;Lň22X{d F.4 idN Y-st30O$ǟq(i?V4v%-i G쑑8FimbwW .kNHC=S,&wYil[;0o W'7K00?(_m %}= z(epއ$O Wmr,y)TSbf> E5ԛ_L n(åqu?;넢-@-rEcp=Y5NmGNަoȔ)ݣ5}9%2'J}2込xף- OƥkL/psqV!RBaT*-] 3Mi<Y#q,tk ;{-C4Ffz$<+]咺](۽EgI[߳qĹs FyNޘ '%LL*؛#g $^&uLW%)f|2+.(k]5EҘvFe=?n H~GB'97`+9ŽsPshr@#g )€${z^_ku"}=8*XWHC*p{L ny=Q ohHR[d8 q\ph6Y/B\JK:JgbRwsY gWӳ3CI&UAz.^o6$[Ryi!Qo1zAHHuFVsj=4ȲR lwEbElsqrd3Dv1&)[R rB=/NMSÝT9{ښF4H "MDW=9. cA#dlδwBql${$ dдKuB*~>Rc@sٔ"(*Z1=~ uBvmQ A@g-ﶋE/{D:(n7aGoKEHXܻ2ޮF)dEsrsMU2VgR-BrxUFUQdK쀉9i [.ijpp] S:f+! FeSg rm@t5/C ;Q.a ^gtJVmԛLTwisddxJTm|0[u쭂cJX#zE2#ޅ+RSg߸6KLծ ^AM(z+>rr{`ƙV|uzQcW_>nQϻnLVg)B%@%(SϪVitn m -"Wp2HMjd J!@hO/iU&_ЯG4H ^ffsZ .ZV^A?qF=JW~cJ!Iҹ&0CgRpT>\DH)MT6؅qk[6ncW Z7)A˭;8QtŖmOsxӫqe brޞ]Y'7U)=Pb!ԛZo&Ej 2˫sGկUV:mr C/0ƉЛz-TFu<*WJSwm ԒR%.ݤW? dNJ[2 5C |1~R3(հ5ϥ2PʾߕXm9UXj /% I9ߞ;R{L4 ZRh'r"u**ŗ9PKNQہm[zxa@eg7ҹ6{ $?Ji>}l¿Xݾs\akӫ 2EJaۂ5[+/!}k[:棭8X1Rr g\jk7T͜^u-m#J9 y%XkR=:%u_ Sesp$G+'jmMJ(Jx# ]zVB$ŊNG!6iB&wYWP*'8_ CGxy4h`[%+%njI=d{>Uf&i١~TnVdݢ)>VrfH07:qص9mLGbzW$":mC:HыIXd*9{/ Wv;h~~GTTeL߲<<<_('=ԃG67jJ37s$ҐIڦ  Q2:b&#P|{ez4&H K0'ib-RPZupNsT8huZ\G\|Kƪ5$:-KN^As2G2& pwZ Ւ;TD{NƜ5͈(m]qf}X̘w'ЍW8A b`~JX1H69"~J.,TO&Y1ò.%'`Ǟ}a>LK}1H[AxkPU5;/X*a0F<0#nevc,c0ٙf6IQ;T ,@gM=2'@7C 5̰Sir8!zĿ[H}l.Hի8ɁWD(7-H2֮=o O>7Y`&:<:6 RZk`3!'-hGN& ?햿bS.ez0h'n hFjPEduZ_uj2V5y.|yM&:"&=2;z (MǾ1+}23/ǰy.L^.RնA;z=cYQ3I]EvRvXpB u ZzF%6Ĉ+>d 8If9@T!ID3_\ R%rªQՔi V`&ۚyh/ w ^=be9Op3ا$m`Wos8ZaOJ#CpXN ߽cˋ:YCXdV@:Ӄԉb|SNM̒h2?FEϛ3K4#\')y%CP9`\;1?fʇU(ƶPeC_XqHqO=Si-6pfQR#TMC,' K 9:c>'"FP=Xkع54,1FX}x.҆Dz"e;ɤӦ˫qVIz+G] @,I$aBn_:b9s,ѹ 80!'E l$+?/@,WqC*Q8t13DlZ>t(z[[q,Z^]'uzFF.FE! XgDk[>gW?!a*_yv|^0iNKBk͝!%R}TlROwVqqJH w(eLxN;z|Ib;xYixL<7MUPA?PVKMCnӓӓT]]ju޼ qkWkԑR 4aa1kUۭĽYM|> Ms14 0U/N|s%|);[M@e#ٹCy$m2&u6}q)+r$Oӫh Vnw$?zNqިkvrlE}HŽgl=܏ӡxiUmfb5;RZj^0 g+7gD4;WBӬKytVy7Hk- 0Ux&CLRCT0KFdtSQFCjHi” keL ST\J9BLa1'M!pؽ;S&$n Nwl4?>e0ήTcP j|RɍVAzKhv{dVKCi.mǝgNJsYZ< !7r3Nl;{"Aб5T!=&xmzWD6͞Ә _#URzgV!+H = zx@2µ.Õ^-GXDEq&$5#FlTB}/ n^r) ś=QR(]Ӻ xԬ4M/ 8ip@WPz~6A:@L8w,w D^N+gh[d,%(Ws5-M gm2#d/.Q=%|1-Kq<۔~N um-6i??S\ Kxz49IӺe n,™LttQUC@NI˶ʵ\1٭4է01^a}V`h+(5SX~Le>?.zuSi a}lǓ#MgTUAR9٥@| P|r묤xհ<<,[ELsx*+MZȾ= g~ ^,tE9 p;>6X$./,T<8\F&+f[H5L;@:5dds|^xnuV{?Tʎ͹ zfO n^٠Md滥PX$2TdPmҒKsgkJąDTyؙY1+8 !Ip[C;hjJȈʨQD~y4Iø^Sp%"^S::tx55y(Dlq؎40Vԭ. Դ:߽{&ãZ\CU=qKFWeDw6v66rR?PN82 \{^&1IQG "xu+!"I5 b Mz [}}ub Vlk&ipk;\%^.c;\!}?b$yQ{7ݪ4^Ч-Y!$tZV8LKLZXd3&.LT+DY&=bnMwۄ*EY;84Ճb ǽݍD.v.q>a049%[C\7/(gesIpiV -$x^mR 1Ya,pE;IjOaȋHYƥOУ{-%^d坵`+]r\r[U[ {)MF+nG!x !O;^fok7-ø5x>>[gJ~aΞͭmf|71:ŗFbcf^@=O+X񃠙 =- o9V}7Aº%0][Gv0m xX1=RݕYp)F`wn LsP!i0 Bdzvl7 Yf0a4I@S1'!7Ζ$fl{=dwc$;A h. c1)^jiljQ hr)N)X1Şs{\e1=AjF1I&'uOX{PEEy)ޢG،OFg?ʄvPn`TcR,Ԩp%c"{zZY}*G>dy/Z1mLtږKPqNT͈qͅNbzpT-=4[L7ױ$ߨgXYr+6Ĭy6zUrnzŸ/ϔ(S8VA &vV"L a0<>pOsD=h ʨ?B}iM1V![Yo(_c#$]Zdzt Ӌwz) Yo{0$y Bn [hB"1ȟ[j.LXsZ슔npaY:h2ץ{s7#Gt':Tb/+&fE BwhްjީrǓkPahTĭݛw aJLmјKj*#D)MmJ] L֫ɴ=/Ɍb,hHDX=ޙd2fd CLn[ 68r5FPHR\)ƷU InAWna]in%2EwBH!BI턛c?䨶 oZUBrʼn s'Nl&[cH,yD87)^yD]/lfNjIX곧 !٧C̩G=0&u"\ʇp!I'+PvAFSUt5@KM8v']"Ȧ^@sSoա8]zT6cxs$ LZ2BͦQ,*P.0pí@5F-zy{-FhE?T#RzKR͌d)էęy;C^V֑Rygŏ A&LD$?u-DE8HbZ<2{Ϭo˸Y$5WPPiVA(fzE3=(z*قqِG# 1?:gkd|AJ}N6 bd^L.ӓ ,$ks+qI1IZo}7{Hz4jyp4tY<+vƲ'!SS &|` r&PsPAE傚U=Bi5މjpzD6Ų{ uH6u`{+ I\Vב=-( ) "FQ?H ^%8[ZH W^=0Иh^v53u0}iZH tpKm-޽i=55-֟6Z{3Tv"QwۻA1h*:.LA g' Nc{*l)6̝}] }`yKSdE]Uu4&cx%GZGB Iza1]yK:o$Rg ^ҝɋ)[Pl}lp퐄bʲW%={?Xy* N|Zz'Գ#|}׍326: ,%迳ߵQcc ^P 2וJ-;sߴԵ}a%.BIf:? s$z=:F$ 0.~JKZ>VgEtkq(C.,c)ޮ8+ w$>D_32&Ad7Pzm[GaٸbMR.@h⼠:N%cxBV&|uyӗѩd䗢03 4v,a_fNDB^)1EϤʯGLD~t){.`~k脳m).++Ze 9Pg=!h!,H+Ns= 4ukIП%]<yPsxN8-|OΰKb pٲ2"^لCVXKEL)N)GiRG]g' wP;(q31N4pvm8Ev7/[!|SOm10Ƞ87\N [.GHvL$8TqОv3]W~e$9]3ԄPii ;`Cl哘].E(ʅo]Wfi٥ttU.C4 s/F~*)L Zhɛ;{zyW\POZöfyŞ-ƲҩvͶVٚ5-k>urO| M/;/oW 9jV5|_z$\;S?wҊ&ʣU@{Z<z2%xqbV?\OY_/vG ߮7jEn.3VDNLVքI!flǴcE ^,d'> 1B#6\O=:Ҏdmt}.JW 8_̓\ __ȜFzW$m@-6 BG"[7%'t(I5iMMEJWjeFs7yA@3?UTpVF~d6aKHkW[j_Y0XHl|xRQ*8E:K('.JN3xͨGmwI2z[EkB6iO=׬V_9[a1gg|Wk%im1QߕQGU)J2kSFߗ2q5@dZUUS%2 NR" pSI[0]&6SΆ+tUE\K/J}P'ಷ+8Xz}+ohM+޵-/ ң(260w(е 5iWYȯ$M#]C׶wl ƻ]Z&Ap"<<.)x!MV:aId=tډS"-Н 0?!F+SU)u227+Ne5M$MǘnOW_.qM ԝ\!>rfWƳxGp#`7|plXWB k<2 ,!Gs qm`>HZ#FIs %ition Ag9o 6&$rƂ!5<έVF`߆`\>-vyuy)@}x<ɝ?`8/ѿ[ga.@ Jj"U<8TYFTxM-RrK`JӲ$q_Ŀ?뷊+Y0}%y^&]|eeMſGMypˀNGT,۸oFX^|sAs:" W3 ӵ]z@@*ui(1u33?6 h<kJ {@'}zD·Zh ?DbRNBA`E?ww_T(*ozhП)t$nb \!-'L 'tB OI›~xwkR9PũI-jύH(>\b(6[Z*ޒ _|ї|Cmc vm  PbBV"V9E@GIŘ7LrkdY:ZY~EJ΢sZd? ٬6)ogS=1_ho?EG*4`%t-EEgA;ˌ>c, قE)o"R_Z^lq,RB},~~a䞗 p';%O:j|\OrhK?x$8c;1M<%i[H_6[~m}d[gPl콨C72(d֚FqTPU%oLi>X@אSIT .]}C% '܂~%5XؒAqI_9܍,㤣iAUJسj Ҧ0.:hxE8{|P\T/V53UtKݥlʦ4%m"8zPGwtQ~]F 7I)s$UM5B3}܉"meJii&P.sq"V>; H D=Z0V,U6<Ţk%TzU/7*JDTxL1I뢜fAsO Vt80`i$ЛSqzCE[E:TL5ڽ ^(@3~!պ*d\6/Ѩ=FɹO5S焛zj8yIq6?aŤ?WX<69JP5^p-甂-E$<>blШ7gvLҮtO 93[+ͅ jd7a@,BR56q+y%;NU~nB(2&4̦\}e^5ҧ:'3:4`aC.Z9>D>D_yppJ2B,U̜|Ċ.3ϻ".'wKLkwMؿ W\OV&);NjSn_*#C\u '6#q zw*ϻ:m<ȟ IbTJyؓC0]GޯpKYd|A"Qv?ED嶸$rV5Zw?Ğ18tE|moY3l1PxƧJQZ_P[zǁ\#_k5_ [30'hd3/'!# jC&Hn[l"2)b; .%}ƁIo`ݥ3AӋ:s75*u.T0Х $. _:.gxig01Nl+:U,)M*l{t5!]V^D1%5.JJi_U5PKOAFeY"vcIY\gsؾti]9v~/NOOLiZ%^ϜN@fWJ|bvz3.xʋ HQ% f\;{C}<]g2"qRzFϭ ikO2 ߒ{R*pK8ǟ۱k^f4PT059=̹t ;5& D9ZW+KeQ+^qEnAjԍdYL"Tr_swIu!wVK 5y\FfB) Ýx$#As'js$}gQG?'vG^k~4~~1?{gUm4*ى2XOXbYk3t~XD3{$觽Qz l$ׯ n4֧' Ph? ]`p0Kh78]XLt)>$E6%TuKX|Ⳛ_鿧/٨5?" dl%@~;'_8gt%I]&c8* ^I.7aN"9f&e57!p  ^A&S0Oެ*Ɓ YXCĹ0i?674E)\O|Dʛ2d04$;ΗZoldf7~{ԬQ,D$3+o<bK7[f~27-Y~_i?IF,?"kxZ)&37y!E=scg{JUtϓ19#1.ZZ$@^d5|^(o' ѿS~6(Vo5C-=7tg'9$Lh9uPhEh԰ysϪ<<_/%E |_W5zFW]e{v]mяA?^?90A`c)XG ߘ5 26+ %Ww0_X뗰o_a~Ѿꗴ$= _>  N/TO ?^?i'c93"uϢt[A{&1_b$>)DrY}T0 ~<`O 5>UJ/;O y?o__xV5ʗ4)6`T~_ROy~vtQ/Ȫ}%dշ]>1 7>$MْʏHҊ݈G2^L10=^%ZJo v60 oadwt3J>9F?_džSEH!'Gd78@XЯy%ȣ /$;HH [ Gce|lX9\}fqm|#ORHͯ9 ,=8[:%I_糏s Gsð\VCcyShm&v kiF%q}:q y6{3J;瑔E5ρXC-u# /q}d%5:Vp08#1hdCk?KXiy[TJ̎|CX 1"&uODf|-ڊXm(ridP}RgjQ/ڮA' l(C"} `)CZҀ $ "`X8[H~&)>/u\O]o=U_PƖ42 #r~IB6m$I`Mqv\9dz < K0^ o '?i:\_Qybؠ?lyzI *2-ӹp_SJ?$Ⱥ?JڿR,_|8kV~̲0nSQt[_kS%ITzp?G ȧִP~Ywk|]LJIc@Hi鎞}D.)ğMQOYa|g|UyZiWo_v +k?ڹLin'oZZ^}7KJJw)6?hOԙg8jiZs j 4}hnF l~ovܢmz6K,W@7}sx'D[+\sf=zfl<HRhM{aүj5Kka=X>XH+_فgonWRT3GzK|P zDZ>WZ'wx Y@{quzBh51Mt^wD/>ւοlid( -;ڦ -醧Wy.z2S+&4& CI8,ؼV b/9R[A* BN 4;L5E;+j%i4mF\yD{mtŬo^Y^k%! .N/nޟQsLm[?F gH94`P}UYOTۄWA飖4wR^|1L̇ދ.Tm47_ uyM'b\蟏=9݂vMFgmXK ڋaVGMKvq$]/N* 5ş鼂3:LYi%*`Xٹ=&^, 3?Z֘AZAu By_HZpٳ?4.a]y>.jf9Ǧ=>镩=ƭoz5Bz&U9Fڴ >R5J(oqhV))性{Z$d $tBeOy,'#h+[h4YO0}kڇߤ//O{J_S= T]{VT1:bd*} m}m$ٺ0zO~ dn 3tavU:ꤤFTez֊LIH`Uh.#eḏbʸ~#WDʀwUGphvU 3 D쮸8)qqe50tF1~w7Hyo fP߈ZYduh%%qf7Sy,Qd1L©D6M?x&|/{`Xi!z;ۘq덵1YϫGIUɧWuX%LK|{XZ{Xs$GށhLH1}lB0WANSmXbxMŦO9*J_ӝώ9Wr|M aUlL B@KIJfWVIQ]xbj"zbHuϘoWa-Cw~Њ^Zm~{͚$,}D# YkikI<6EwW ( ;i!77?Qdi K"-Z$Etl{_ky2 $ۍ&+"\zGzC*8. (Ի!~6`"VX<^F\*˴3t<뛼ε.fl%Z7f6n)uK^8ҶdPkmb[XL]F`';b`bY6v^ |OC^ Zt&Trb$:쑄s Q:^>w@|YH $a3 9L~ʌQی)юx^HEgq IF~bjG$)#`*FvϤUkGmU"2B&vJe?h1SC^Q[|\7oAk.ICoQЅ>|э'ʶ3+^]nm]53 a*;'['Uݠ~] ([?A l"*j/ S1Å㨮Op/w2a8 b9qZg`x`'Ho>LmksR3?[>Uy7p#kLϙճD7>X\9(St@tODS HDp  `ǡ>6Ѝ'~{#Pt/JR;\-؛Gt"@JqWm4"sK%}'=ԕ"rSؽBjy'j)gCk]\P~;@M]s sI9*%x'5}U迸) O)g1okc wرpH_XϪn7Ga6!9ɎJZ+u"F7b_;`)}5Q/tdUkqU~j!HeR fDO4ro5OzWIh16x ~X˻}CDڗ>~;eǹ8KǦ>$M$ M2]vvOfwr4jʺ:0CFo&u:jMxmCƜ'…+ot^AM:ww jؕcw_U- ''2~++:ƸzGeuUƐN.AǴ(xاC@WZR"r,'Yiަ|8cϯΩ-}/7ho)5擎|%Q#yjBBֽ7H!7t#q݉}TD? D  X!Tf'MdQiУW8&jm|{Ta?L3d ,omcL\{=/'Ю^X7{4[$QG!'鈃… =wHq`ϣӬyc|%]&w*[3R>uqAH,{tkUIr{ٙI;b6FBWx7ńܿ^~S8ڸWK| .Z^u_~.ӓoj{w.>@mJ4}[b7DܰA b_jfD>u. QGai\lM1J{ AF-t[(ˆ D%IX>8;{0&}, ({5hE@';$İ>AĨBbmF 5k,:1I3:+-1ǶEޥڋ{;.+b~X`/5&ˑ#S@TN^ǁw F8C> \Z+/*Sd:\Rۋ;K eV i$f1Ii#r۳)8K{G^%齳|41~3G}PJ:dؿ]k7v{IVޖ&óɫZlua'SAⶽKr1 YxvEܲJ#w 'ۅ)4mgC&NQ4]vR B֎czm|%V2OXv۱t:邉 Ǭ9 | 2 ӕ ' `q) {zdz@r)MZfjwźl_'c=NCG*hQ=KG ss׃')n"#5(ņuF1G{ t%9Q?3.,!¸!uƼ,7@W'_תANu`lݨs!ϨdaQ-xH>X:0p}R=i| <3+XqsÛ8&qXRԊ8NYkX>k |%KsjXte"Wb ˨ä[9KLjnB \O?6o_ʃ,[ASZ=V:3s(uCcO lR݀NHR!Q9'AUh>}qNlQ8*t>'%ܚІs$li `\/5wI$D0Y: A # /4beWc euwC?Q_!hb0VXʂ&@{QjNMqB:eH5ps< D; S;؇SESG;O;g{[Gw_ YpY*N\Ѱ!^,PĿEaݳO70kn5H5I ., z|B RӸ;4yCT h84k0 WG$H;K3waOiMdaw y KՁ_ie<:LD7L!V^ҍ 4,ve,QY1JJݛC :?϶_/zUe=oo3,$}`}'>QVW-,3M)V{Uڨǡ~*VktIG:^/,%^*-ח2]3 硧J TbƬ7^^EW2S4c5H|An'燿8eX