summaryrefslogtreecommitdiff
path: root/src/passwd/getpwent_a.c
blob: 4d84f0d55b78c5d97adcf3b6994047830f5b600e (plain) (blame)
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
#include "pwf.h"
#include <pthread.h>

static unsigned atou(char **s)
{
	unsigned x;
	for (x=0; **s-'0'<10U; ++*s) x=10*x+(**s-'0');
	return x;
}

int __getpwent_a(FILE *f, struct passwd *pw, char **line, size_t *size, struct passwd **res)
{
	ssize_t l;
	char *s;
	int rv = 0;
	int cs;
	pthread_setcancelstate(PTHREAD_CANCEL_DISABLE, &cs);
	for (;;) {
		if ((l=getline(line, size, f)) < 0) {
			rv = errno;
			free(*line);
			*line = 0;
			pw = 0;
			break;
		}
		line[0][l-1] = 0;

		s = line[0];
		pw->pw_name = s++;
		if (!(s = strchr(s, ':'))) continue;

		*s++ = 0; pw->pw_passwd = s;
		if (!(s = strchr(s, ':'))) continue;

		*s++ = 0; pw->pw_uid = atou(&s);
		if (*s != ':') continue;

		*s++ = 0; pw->pw_gid = atou(&s);
		if (*s != ':') continue;

		*s++ = 0; pw->pw_gecos = s;
		if (!(s = strchr(s, ':'))) continue;

		*s++ = 0; pw->pw_dir = s;
		if (!(s = strchr(s, ':'))) continue;

		*s++ = 0; pw->pw_shell = s;
		break;
	}
	pthread_setcancelstate(cs, 0);
	*res = pw;
	if (rv) errno = rv;
	return rv;
}
g| < 9GmRBH~ g>h2r~- [N!4MO ~+ a) ^fiR"1䘯i_F̉G1R7^&Fо7Jm~vdR+Gȓ!)7jWAQoHLdNN{P4[@|O coAb]~ 8*&kʑW#yc.sFt.(~7&k5E3oXG~ 7?E>˿M7!ANf9wrk`͚WW{K^$ uczAui4[Ǧ3w&_˓ؐ^阇̺"JJoV@I7Y-y\vd:Mǝ ##zxM2~7;){joACw =y:{U؟ %wP8Єd;T]al =ଐεدUG/p"6D ovjVk%ҫ@v߻Ƶ<>4<Š¤4a|rsծ"B7 *Rͣ~ k`oFGGAadK(:]w~ꞷ~l9(BHV\Ed mm\bE\?`"ds#q̟fId 3łzu0c@۝Vngik*(7־C#R\~/0!@hM8N굛qYn۰SJNGBTk$y5.>^Շcc`A[!,[x8rEBn$rvgAFׯސmzjoȤS75Fy4}NShoo+efvr EBzi^u?Bu"!8o6wDΰD ;("o _Cļ)㝢6Fa úxK1Y|2 3Is|_gv_4^xRrN|&藧ȢwM#fq|)e6ͳ*BMC`ݷrԿxKx/(y:oS}iVo_&ȕQf$CLQ_t="~0yW?^,n]evF0+A6g1 zaWKYdCGS9 " TWMvd=Ozg| am|KQ S]v_tC7~hy0y㟱#{p 8ϸNi?}@-!4i+j=ط {DEnF ح$:+ͽ_1E>ԯ@As)=4ȭwnFooE²?ev^:5 ) Gtnf=_-P(" gs͓_mƋ2oDW&1TaNrz5m9$% l̯rI7(k6a-aG1вF_^i 4헴+h2E9'Zəf@;[+0`F⯹ MDr8/s&}lJo2us)~6i%Pcb}Ͱ+gq;DV#'4I'>Ӷ"16b+,VO%Pxp-|247շcUp $ufz],ј[^Ҹ;/j;6rr? }c?k}Ǽ_9(J?Oio4!vKUGPȷPӗ+Y,oWī@E%МJ \܌6"XZpyX^F~td (@)>sGCm:xP@kb kPa<;cLuBMDfIK1L x@!3JC*5bRVQ#˾| d`4JY1ˏ$'zcZ"G[>g0d^ .1W!;! 7K+bV-| Q'/2S ĩN?jqT\V_ј:cdF;Dd5-N @IuԴi e?p`  `, w)8Kw#م2)}mI@{9π\ ر0Eeq|x]ȶ3l7@dʟkT0"I6ԉlXHφ*`F܉vc&(<;MʼnK>< co4nofn u2B0hwD1[NkVoUEB@Hx0f)u,Y̘jRMkj/eg*RxWc# o WWrʄ!1Iq:Gy5h#YDf>3_kR#&W LTb!V}2vC16䐂R|I-~;/s;LjO|CmK(0ڋW^Hl|fY <*rf|;\O*vq;]QB! ,GLǺ;({<',);5)YZ),ǘ oLY;"OtG1M;/[2q%&7#j0͹&*>B$G6\&]*}BZ1/4ӿH,z0a[yP9 兡[Ԟ-2!ƚt#$Q`܃0(8}k ]l ڐKxcP; b<]\%93d5:H57J$̖&b]ëZmȂ+ZCۈLJZ;Jr;+uqC0"Rw8GOPY׭0TCfk~~\H\3~p (nlЭO(`#zk8>JQפUţ[E`!=vA;+ʜj}2&4 ]'ɔÂaX3] mM@67Xo& si>4:=ydޣͷq6g&JqU$pyHr{y0e$k4 (YȍbVHp8lHS8j LH5h1(֟BpkY8pdE~W|~?s6zo@`P9&ȑ,&%c pYO,ɓ,Zn"2^ر^$p+/iN;kN쌭3qhboF~UY~CpPRk&&Ya-R2R13,30F88GST1q}`@`r(3Up<$PB,!G_ 3t9g֔]#:Ы@J#Hl{k} ͘EhlGtßW{x;d!I@NLɗfcݰSnpEwv3͈u$nwIBKOry'#c 3LF}NW7`̧q}1oLFQ^:8aQc[FqfrbD~%M9htZDWo +b&ey=N,pFULo4!2  ut@ԍrI+QLD,"Z֚`fRN \c4fiB)|S IȌL 6&5SktPKZ,ZWWJ{߲ZsbXE!ɡ_3{JW?w7-.=y I,!"Бv]X RY6{)/ ]D(BD[5Y"^db/ T廖[*ƔL6Mb^S7È8> *#-HlE/!]INM(a|f"}<[F-U|XRا#^{jjٻ3ôV{ ݜbuMf1VD FJjn3kiO))epQ\Z%%6ki=JKZJ;{r8Z9"|2)2jދ7WCE[ iC@˅!RiRO4T, VK/c |ʢ^r>joNTN&4Å-E PN F7Y4lG0[Be&T&,ZPI\B)k..KPYZu6'ZGI[ƛEx:r5gAŧb%(Rhhq, kR3dw|o2J8 ``Yab0~cQOG::qކ"g-(xEI.l]v,aGH( ˕XÏbW {rr54="P\ ȹjU(-&-$zEfEgP&n%efqr <ݸQJL!ӛH¢[ZSqL!$b ڦ#DԶd{Fs'D G`[<1-K)vzE'rC+OmlC~C٫gDcK*KHeH#>` /jȫ$wn5.C?Mxڲ5\u15Q``hbr m'™ TLoBbCL 4|O*fUh)-ޓ/@XWO ٨8rQS1 :&[bH\R(}+RL$@B d- xbV8qPp4xb3W4,{QV28i?8R"3ugoUQb.zOf([YV&yV1\I(M?sWCǸJS, +e-` Gbج 73{K? b+-rb`wTEM4p[w<)c1qYAԠ/&l+gE'թ` <(ELTqݧa +}Ⱦ:U\7Ee[ֺfH0rq(^RlTZ8ЊSdᎳXe镒EE4_KXf-)B)3e AaŶM$xI6׶:\,v3w^vFY6%?,j=()vj$L&5<_)k :8dV:n 鲴Ձ eIYxK-Eby/% u)է>e,ypHT$69vJ=61T `MQ+Tbѥ=LbKh=G :ۂa (FF"2A R]D0U@֥[L!]hWBgw]l$e8ZGb;*2X6w#XEiTD#*F-nvPJ N#80 C3sBtF>?ttMVK"w;YpGBFĈ(^`BfZAr9z&zLfZ_da$5v4~-y&]$B0ºfr%ou*"\a*q"unV,#-%jՆ֦0\}4N _VJKnSmqLN<[cwt*`Α+!rD2-r.OKy!΋r%ن#'rG&8[@vir6 Jp[C8 '&xcHMڨx+"g QHA`6 Dt”8y#tn6ؒ" u \1BYX#*%HWD7C ~ CgH[*^n!|` uf0]`ߊ 7LW/Iy9WW^w'Я{x5n[Ǝ4ʡ]2$01OE5&lnRQ$9RVD(R1n['rgtLd 18Z+^+OyL.S_Կ[m8m~L55GWN" !.b|1ls?n~8XgY9H[2+!2o2n櫽ktQ˨QzF[CcCbD8cpÑ|Aʓ,$>5-1OE,R]~&W?nb)H-琎01!{Cz&I|QYS Y_"|EUIUwiKwYAC%69:"ҨA2D@nfYw|'l^Mqk3^^ uᲔ6:<,ʭdJj+o+}ۄT Cݎ &VVTpe1坚d("Q>$g9T96M[q VArA:ree:Be QoD|e,9dE2N< '}v>k>gd(;7ݒw_xn4F{#!JQ纛 LYp )r1;eSz1 xO(s%1kFk' /crQΜa9fKJ>;xZ=vLI^]F"QnC)gV0f k;aGҔok}i#JS VWVp)J3wɅed@ph6h Ҹ"/I6cqBkݬ~J}utQK>lG+LA`:hf (Dlql\OeXErG.G զ,?ډwТ9ڔmYĘQH^&4nĚ|@ѕU =.bN'm+MeCгnxl6:q^%Vء_pL Ԯ6 I,W21nSx4Z_}]ue= +7%LWR]\/TȾl4 0oebAMYDFC;*E@=^SSH2G^ec%@ ^E'=ƺ',!]I|%ɧBᨿ` L9RDM2?|\q'f0P+*8>G! QyWf0%Eu,cbf+SHfE;X;w Ԅ̉x%=OF44B˳Z|;{@5*\Mu b9lh+$JĖ.cvv_,;"AȢ `= zCbq/!)ڥ RFP̶9 S=C"VbVHCtSbu> L C* enpnd[ƋJk̴MƢޅՔn]gVqtvq;h$`+|h#$F191 A߇/kE2q&vÔ{(\M9^Ќ%(ZMHL{^~r aY0ea#i_Y];QvH%ŸDT)u7v 65* `6+[`lE&\X$erN(;(:N[sB Y jk^L HuCEV2"\KQnNG|cfYĦS)LW(bQfغ(%M!6= o=51'PT=꘧!˓lW6!8x>t]y5#NwAijNX\s_H倐[eQ-}zYe"W|5#c^<!CtTT]l0q\T6 Tiw=u>{ Ebf|føQa׫eҹt5W~oZ0^_6Ȋe弫(wfíKpY _R(1ڠ>BBoWR!N|4)S^vFWaL1ޝ!3nW%,{@(Ӎ:aɍ$C ZitZeSH~lEmJ(5 qfD ݡHJX坑dY (CKll-nEP3CpLWQ?8(\HѾ"2&.B`7Eʼ̒h8 j e<%8ס$P+p[B+H.OSLK74!ϡؑÒ.vVP[=foj\hatGp@QjkϔHTp4}E=1c9ܠ05M efq[]qgM4M8`Tn`J:,v(,3&_$p ljh2.-ĸF.r|3 cR ǘZ }-lc9 ˛YT`5+{!L.gwA FcjQfo\&? ,LHX7dVOt&N$FzH:\ˉ-̰4r98M K‚)rK3.p C\3)4.'!ΰ5hnH3#>jl(ؒ7<]^A8$<} 7nN2̙!j9Ejk˕}->]D2r'9ծ V5LD*a"tT)TӀ!ŠkJh?7̑Mŗaq Ȣ8Ij,"!# SiYW<iS|e=E9U`9I݀u3ah/*-w^LcB^/u( ;VsGJ/YZ;EdI(q.#!}귿RP") }J9}3~ԣ^F#1 ۯYZ̻H;42|)-j`,1k+o6XN3h"r{َd!)ǨCṔ_{wVgr:>K*¡/L%7K" jִ\h|.F+Ef鋬x4w$MS&Ц8e" z!L:1 Olߎđ(bFljJ[m_h/0o<]7]T~ N{F&35<4,ArfƳ6QBqV &4#eZQ/ɵ< 3Cmw>3ۀN#|S/+ eÝ )? O(!u n.8a NG⸠bdQqc}$xcXYe#`hik,R>ep0lA]NKFqT' s%Pd&p?&9ݰ׺0O M[#7\L)kL,/EM䉔U*pҹVɟo5Je@ {z{k=+5CZ5&4cݧ_&@hxe+j5%~!S1ei͜ vz N.ƾ VgD:dUT3Gs&#M󢵳$AK*xdrHEأϺhZC-6b1Ã=GMqv}'<{(q'Ѕ1,dl<RTrJA30hVD & Y- R!""ɐh" tǥ̸h ?61+6uc&HVBKk[^ 02"< B1'R, ]Pܗނ(sMZ>}lIc sI! ߍ+s D{Z-aIQVo8jCq{,Ae2V&3ns'~:I!.)m*{!2)$Bo,tMC*a2KDk+&0\aGȒi#7Ctǿqa$Vy1bm͗Hr}r ]i:H32♐^M<3a 1~e/.dvʫ4~ƶ~D`޵ & /Ͻy#ql.aKxSձrdHP7t.ƛHQ2AkbdTu5\_vLEZY B.2'BPjBL "n*1Y+_|X#hl;!#ЖceC1t_mFILI`NWz63OFޠ!QC'*FBD16GtZS[UW(hY^ Z]?mKwf" @ 9Y$+~0reZK:Ԧ$n hC\)ZtЋ9a㨷֫@BhC`%$/'OV ;J24 sD,J)z5Ģ"Dm.ma ,לK)#|"_C-s3f]ID!9AԵ. ݊d7uu6bvr~A^ը> 0+6f^K~m"V]˳H5ܹa8 GCD9xL7Iס(I[X@|btZ xL;E< tLց8?q͊倳29@ՌRo9[z)kkyip,QtIB[ĭQ}Ԙlup\ݐ&!FFQ_A`HW\馘MYа&p?og Э)#@603K:ڄ $u qpS+H VRï_OproG;v8J~a59Ia Ӥ7{ )tSD Vh=O̴7K"hQjh,+voh3NB>sVi"]oISwqEK*_rzSJ]5_NSE+%L|׎cˤ0xm\/_5 N6`׫9y[IĶ9B#bʡ ָdk-l ^8ꟷԹjrشo}La %vf li񏞺j)G`XRjb`(*/jʩ%ht5>Vp[gCH-D6@l>EbbnV) CgŞ+&^2^ܐHvμet6c LRZ߅A OgEr6Z C[YQ\E|[L!qJ@ p|G' !Q*j.'#]GIDYGvzL*C~JF7E¹ըJ%9OֲM~>{Y{];L$Ȣ8]GY'~=kf1d~.}b*VWYQ!czk4aG "`)^9>e1hky#r䊱!'c4 gEMӦ!}-<ϲ8+<Xӵ* ,rlLlN* ~|[@d&DfL3^FL>)y 15Hywqv"M.@J׾m^b[7I25=9h Y%d-q"@[^q,YGcRb%o,%BTu02& x 11Lpc*Pkrc'AxaN>^[X$r1Gk %c6qANg7 &,/,OfT~"[6Ee cZ (L'*Ѽx(ƀRc0_$@ѵj;jjg)@od٨-lܾR>#9daG?(0`t|YA _Kȋl)x  圖d ZaSñ RcE 3>H1Нi+J#LGS-<rY)HImU<~o)Y:Ut@e/)˃ĮQ~?8xoNFq+v8 Ќ냭h墎>$42ЮrQr5&*4J^-9ţ'N#4{CD1jb$8gVsQȶ@`.rg8q%q͌\%;;MlMZ'I3E|mSF 6$qŨab'83c@ïl;Q&Kj5(|x2Hb^kD!V#64G7AE^QX=i`< ,=Xs '4NC\f̂% rV.$[j9'r. 2I.#KKippz1q4>{U**'ġfΔ,|&GeEڶ2*/RZA7)-`C&%WLj:&K8JcgI,  ⃸AnMNMu8()Y\3RxfP~Onee4i'3v'H38ˋVJd#i7alb]m"^U]i?*"iUIЭn-^1eYڶUAOvEPqD^< ^~KHɑ Jx@ M6w?8BUE%/ڶ9/ M7Y uhbPsiA~ a=dRIԲG5 B}Ԍ wG #WgݓnX4sdu7)=:) w! =ߑW)4G̈́-\cAضXX 8DžoUD(cm&7@03AZgY|^w@j#շRΛ4wS̭vAt*ۀJ_Rc^J%Hqz8>ykWl%Hj<Ù5wBxvY18V, }Fh.hQIx/$^M�I>PUX%c,/`ˊ.1sk<8qৼWz:brIvVKĺha {"fwm$qڋyiQ 9T)x}a1|u21}:l pd[y3Wv!{N{, V!~#Pj pCʪE=0;kx$;'z 4Պ0jW'y<ܜwEi@Q`t ) vxj֡ $_Ssγ#9f lT:+AeLDclZoM0`oĚ!Ff<cPܮA4LD_kwds >݋_ pv8c}K  P ăDMYsmC[Xœ&8c[J"-tشa/ETYJV6)*ZSJ@/Ƈ#-L჊_Kp9ֱ0؏lAq%oU1] X.Lh7+ ̨|EQ5^)eNJ[+?})@Z tLbD^ׯ%I ot,N0R7`:9UX*w9q[! I @) 19ܼ .9/#Bw7CNDNyxW1{I^KnP8Ľ\j_2sSaW ‚J[> thĂep |F +q򤅃&>mH|J$K^A:3x0Rdbn ꄒ @0f}8YH]W{hUX:/% W3C`8ue2P PL˔eB)Uɏቂf/Be5ï3xj;ol0c`W*CoM.¡= pm vIӘ|d)iL`&5ڈ *+W{2&kOޓ #d-aG2 f4a5B67e S'f߸ ;J%!buVR^t)|A)c]0av 1hZnlxg6Y: s/}-9iW7^h@Oky}UW/.5,YO"$ ֩v4zV3HipѨT' oS5zо<2#EȹLƋw*LH5/F밾bOW*O.DqaM2T } qwVnt6PK3 VKL4VR* aCopT+EѠMyv#V )| !O@ ٽӁ`Eo9k5rdT]X] R0ͪ }UsEO=p27 35@1I"IAi*ŁCz 0+CQ'=![%^LNȳVTj>J&O X{bD5hE\ؙr$R:. tǭ~SֳWm%GPH$J$]XN'|5CJH,ImhYi:.bBM/u:jX)hT)Qǎ}*{u c<ܶyM^p7Xn~_(7S!\I;IWEhٵ? 5({DWKFuIұ&VE(ΚS?;w!Ⱦc 2(i=J+o/7(-F:YSlp~>O;*Umfo7߃iKd3{\4FܕP)m. U͠\*r E(Vq rT#n~sN 2'NY_Zሩ;l6aռr\8V襦'jAL"Knd ke;p dtslXZXbByO˞dXTȰW- ?M:^elža?詙D/Xu^mg bW9BaNd+xWsGӂ?%0D;7 UzsNj)b$FVE8j -oљ?ބSt%'W{G7=yTG gv#=vJnC=q慢*A$Grƨ6C\2"o/Zrΐއ^'+áB.3]c5@XMOIDq@;IR籇>!uǀ @|ۜ{$qSAwX !:aK+Ė ̄>]QzB*vR s2td eDNء5-쒖`Z04NBs9mLni\\Bl )(~S㋧+q;EY~*bͱ |VhƗ"R.7Z'O8g;~9v^ly!l%pްEptM0,U {ۃND*=kT`=sBj8v=7O0N9.hy݈ɂa1.(R=ET@B/ܓ֌W>QXii7qLQ:im:93˳ P! ZCxIǼVUFe6i& _k'IkFcʲCA [rۙ6M~7P:kѭ?-xQq8iHKaqμ/_Ξ&Ulb|nQ1mџB) LI›OUҽ= _&?hʹV6Y%Y\DќCI`^v%鄩@Y}C=-g8#bBqqLX튰Q<޲xd|H@w):F[YDK,9OxɶQPKQ#1X6\]Sg^C|&6 jٜLے,?GM͙|]<\vnƥ`\ (D6%|-3a㈛V8WtASG@ģ"8D} dx?&P١9 L0.pF$arXa_Րp/:Q9Z3}H@h&a#m#T`)}my4߽ ^5na ahLHg(|[ +#;{ќ_䙳M\RYwп8?gH_Ub͛u۔)< ! Kl''`  5I"Cd,[1_þ bJa'g}a阐}Ӳb ,b"tZ#*R(DX}srt2hUv \[d]n!Ejk˘0WCS#t?V/}:+`8֢eC~Elb㍡f18A #X"5hIiNBe)Gǚ_$ j~UQ x]?:/$\NrX*$a=ů0J ruv6r&=~Xh*%v*kn95 W)[Vb9A@CC䂓ܟCvk#r/j.v%xf?ŁYh_@\TV,Fe8_p8=~Q=*h)a|&7yrkH9E婭 3c:ܛMjLƉǮ`{5:2ME:ni [10(({wIʖ) xY/PqaNt|hFIT2e=6.mFo0+Wʂ YJLU@CX- GZ9 &N_]gݳw٥iܚ`Z`*& t]H"lE$ ƘHo换vtCX /_[R*b<+`;ڒ D(?#B'{ȚwOtJ8MYq,#A2]@ qlcI:d"(IuIKG\7h+B'p<rh)ORtm&EM^F4FE;h-*nDD,SA ΐ(`JSli3JzPCl Av^;b_CSNg`oHxBFQt؄G'$bpSsR&!R*hexk;)Q+핉&rְ%?7Oڶ[A )iT s=B l1G 4DK:4|S9S4AN4R_noۻ8K5X5,l&뷚ݳFTy,zof7s`ŸѨ z7[O/Hx{r`*KäqYpZZV3 KV CP+#I1.Hv} dr9]c/ 5& bZSu(utiNbFRDOh$.Ta^i^^'~%@fgv"1mJX81"#{<Qb@NcٛZp71Roʆ"\fzV pt mD s#9ݺzzN"jf&H+a4f znZR.O>2vN.Z9ǐ#09)"s,M<'EOƅ^DY _ss!qgBL{3xHJHu qšrN0$%Cyf|WS"VnW]ײP+^|(t\] #Aijb,;!Fs@V:cŜae$s&wM+~sM5YaP)FTj(AwVeWq#uD|H"k]\ѓ , Ghr岻+,N%(b* LgւWIOQ("Fw$Lat'QEJL}]gHQpU f؉]>+zn){d8qKQ3ޥCm`~4bbLZBA{&Θ0pg DsÔ,>}h@fN$al}dNM!LsdΡJ=Jk#B$3`&@K Q~%Q/e<;-E]21SR"0]]Ds`ā{ μ^.*Q"~ gt²qnbJE!`LK$[to]aFDb_/}bUolfx{۠Nҙ/!Å/o1GX]}Jowj@K\LcO).2ڜjƠwĩ nQ;pn1TfNP-J7E-@ȰPtK,F(ᭈ]ˉЮoAZ(l8؂3dB59}'`H\z vr Vt7mu]4ot(Ҽtyl;&x 9s4i꿈: VEe{UE:UӒ Kx]OU @_pTo`̓`Uð?8n~7,zuY+dnf<*p޵gT ٤kb½4Ӌ +eL`g"0%T|c`~8穎̌ G,=at3F-W {`v&Zet8 F1IP {AAcfGō0d^{AoFYtj 0K6V4z]Y,OokKAB~@)wauG=+WJwAVֿ_?dEN/P~ Ȁ^VQAhut,_ry1Ec^W Cݝ8mΨ;Hm@5\DV_KF 0ohK5}&tX"ƍniʢW/'J,7nh2YS g3@"p#BIuWLjC-W%$+zpK$3 jֆ&]e!!v5(fcAUF}x IQn;t?&. YΈ\,ռި-k}czgr +af gy'э4N;l}*g>SnW"Pz$S6f+ufO$ɣh{]-ңxN+p ɦTxBҞVELF տTLxĞ>GH5OY AI_k,%H3ai30X%] R= Pl螞đ#,{xv %G[`@eB/gɚM2F`np¹Tw]j]w3)1P>I xߌJ=::6Q ײ"냔_T/+ԵME1ԋq6TvnAt<tN㏟Z%Wz#9u"[g{Op]m) ؊^Z5<^,R6|, @=a,qɵ@%;ʳ"ek"%P(%Ŧ?~(|xZ¹!1z.C>]J6˂RΗb#A!yF0CA;DHd4 oè'",4gs.7UxE6ǍuG`[5{5R|-rT,3f``Qo.u}Q%]NKt 'BcV%Z8 | 9"A˾ME#_? GFn$h,j101-=289JC[JY8qAdTnve}S 98 }bo(+ODK9`@(5Fކ[xwv^pR&J͋B-;ݷNƸ,[.90g.kP^OGRތv&hD>vg@@v#b~94?W<< 0I |[PΊX%}`x [Dl!,˱$5Zpts=_s[DÎW#alΈk(zأS"r\8K2 #@ws-^rf"cqXw%͖Utu*5 xllD S|'KB.21)B.$ߘAcXjSݧŚ=rk(5eҒc[Trawe텥h^?eLr.Eu#3\zHÒE~B 586&Һ":oz egdy[g4bį9(p?l& rhSLë!ǿ%8i3.=ӇGEC7]1: a<+0(PѯZdz 'wMY1֧k#_U-fMbqÞ-{<#wʩNEQ߃Au`i)zWUM ֈLAet_6LH|YeQkAծ״,O&!;Uߍ9! Đ be7&h{27v#e$DEKb&|CY 07ojF?c븧P)U*?R9$\ upo1 4 oDHyT; !e] FYhuX1%l: r,o=JzRrRL].($ Q&xe^g,Տ(MjVk{jh1h Fv{w:u7>B,6ᨘapO2gpBwO4rcЃJ1aŌۭ&́MW EjFv"!YU5fͫURi\o|cIWS+ez< ! 1_Ddn﷛H36OiXΗvo 7ͮ>l'tZ:0EjPbm93%!&7 )A@z'f3&ft.^E,k% ՜% ASU].`J08Y ׫aPCmW9tP=in3B{_ꛘ rDSoa$W7mG1*f'08+ebni!,im0)H~!BGrR1Mw%؎T`D5VQwc{o+Nby58l'';M(p iu![A ăq܈J$&ļ~%cM3Se*j[+5o`7m5p"x|wQ@^X|ruomsW|'ZKV^ weB[:\DݝƆܝ7(4ë*HWboy sݳ;{ƏxhW 193?$B#T2\~储FY-7+#ƌR\Q)7;, d^M" anˆrG۸qܕ@@l(LH-L3nE%2wf=*^Ck  Wu8V2 +>!B$u$kh\&3LƂ0p4lU8B'm;iGƩCS.ё9 -bY"!ֆ$UqZ;JfK)T^ l"pH>-![;WD oEnH:V3I8\6rƉ g*7$k$MwT"^XKE HP v>[a'ި@_$n ؖ(لW@Z _ *3Ԓ5 zs)2eJ)|.UZt}hR. .zȞ9d}1!jp%Ŏ1I:0- g s"z)ւ /D&y0hӕU96MM֝E穢 [2Fl]ɖ:HD?W$ڿؕ-ĜyQl-V&y dqedWw倲QFrrF ID *>~{˹_g$*~嗜ѯC ,Ma8kq̴JJk)B}\ِ="߂^4qÙ#fNq} >5i'!\:V.T\aE&n> p=/ XC2jg{qW,%-'ӕIOF t5 1[O;r*^[M2j ϲTDDTP@ga~q(`gz4K,Ò&T2q>8=%J? {RtV-`|@AV+a/ҼZIb41A,FELeW8D'$)dXG/Jh4+ *@Smlpq_r;œ)*/{޾&nJWK6AZYLcDJEc]OAN!]: e6!}d !RA0zەx_1p׌cnuvCO3,oIp.|ۈȕa1hN9pl!Kpc"V4@62{z3ik-F9#>x>KIr%Ep$e4r3%9BrBUb3Ia\}o~Qݑ%32i(jÀV KIh>B";0''܄* k2{%hy>; HLV_M-Nk`J#Y{Z9I(uȖ6 iI!ѰGP#AGc[;_}|9Ŗ&ӫ!ItwڸlŠ{7zAodp@ =82sT,lYE4| ,{[ke? >$Q^Tvgt,txa3@3y "@J/b~ A."a,53n.Wщ h$Ƈq5U>xhu0a3[-\Ԥxą~KϜ /5p!" >n OOs„΃$s컝l{еmO䔐x&%yZjԘ"MK7$4@3[qHBD$[DӠ?.+$Yէ6ب :QH,NLJHBhG/`rYQu8wgq1ϖ멁Fx3ik=F) q )Y-ILR*  4n)eu6A8L$=-NvȼWMIq6>god ~Zc=L̛ٕ `:xLQ.'&\xIH}EHj? Q\QY8>?ud˓N BɊYۙcX=vo5ZlDȎ0P`.ōEDމlҜZNRkِN$!ZK'*]Ҍ Ar#]/ɪIפ2Mq-'qEs lϨKO/qD=x#i1GJP߫ l9ɹ3͜{n ^^ MSxnuUKӹAPJ5KRVasuůXKXoRP#j،Zbc69%/Qm'(8:uڧAc=>^?%v~;I Ib.k$a~^ +g9/AT]|W_N2 h4-UgDO+fQgLH̜eXa[b16H,/TJ4rJcX•t ~Ns8J"B~%M:1& @9ҲZ2BP3 #+\.jShV.IEv@h׌x:Mђoe {®y2;̃"r1pW Zi= zY{,g(Yj3G\XVVƸs_8)`LV@3qb3L*1v0'-#$#96Br!YR~ [</h;sqdNfף+ؕk;%ޘd dœ k%.ZMeQ&«1/E223;N prOW?ԉy$mlY zqTUYY=9v`6pQtF^r`'#YE? Y.eK6S͈C>|-/} &I =>Y큩EE)@\25N"ȸta86B="VIXj{[یPbI6u}RVb jRk`;ȤF0ﯭ/}B+H<% KFUE{U CI9׸ΩQIni޵ȕ% T9\HND#l̶IrwAaj Y+А b*=Z8'$~pa< 颳  S1j7 Fſw;-*0h>Ri "VyvV0@ɈA4kΪ@؆wͦdbJ+a{{-i׊Zf/m , <^JFh`7[hX'X8$]!?2 ĮR %Ztkgt غIl,yy=&PȄǠN礏 躦(J].1~DW=u9@v?SE?c3Ѯ+tca0<@ǝ/n}"4yLkao+Ww%~T1݂MXk{?/$4.\'-!ҍ%+a*W#MY"\gV!e`QYg *l4XEZ O]-3b`&D>v3ƛ .&ɚe9 qHegwfi[ 7ure*` U+ᆖ᧰\b³oݳ_xm|K ~(y~F>l^S$(cXX7y, Iu65ZٻV3D#-ǓjY?L:BhvR/Rj'[JxeCE5-чJU ?FExkp;Cj6JZ6^)̤x9o:QPRɨ7 H 3I/;v>B/7JМVqRd3]Ge59r&û)0 25  V"Ȋd.*4kJ/b[F&qiKi9WH94\ :-P""ʋP<KSNt&9|HnyK 錋*F<9$Un*"5\(+Gߎ/ 2O;S%Ix:uD2%aݝwm)v߬w79Y#*3dh'u4MуZ?oNDE_~zO6r ꐱ<#<%_)ć8dX@|xOv?-6#=uW.Q'6{ RTʘ֧f'u >S7]5.ytymUԥ]!*S0acs}׹c8Jy]t[ZM?h%ʮ3<w0KHŮ#T9 qz=x4>[n>$<8?E*YEZ,*[E}.x`TVPTs[u`VXT>nQYpEGn~]POeL;Ay?%3V/h-A-n&9~nC&lЪo?}at+"֧rݮht:xôAy{jZC`DpЧݡKpRյD] Fa9JכpbTżeva8YP(Qy~`"$ׁ4 rOW<>W:&*/~v 5x=,Ns\+]ݫ+R\ z|~^§i1#<|_?T!м^%8(URn RBGz?ܯjQFN(! g:rzg6b]V.I!iI=~l6/&p< @Gm|g'[~dW5cU[k[ATWOם^t:7ʪr?*~e׬ڃĈvSЯ?9'(u2L}91[s tubޱrb0Չ9;i6tmb:ySW'fy5cOLjU&j*?I;/$& ^_+VIZCKW&w~lĜVSvo6LubΔVsvi3NNZi䬽uI;o4BW3C0cn 񃧺sZyTSur9zsN-޶- [Ο{n`6?O:g:u><=}SjŴHwnRYMRI(G:O'|%읽{C׃'Zg_Y/?_!ӈ?_K~Q?uHҝ-R8PZ)?&O9Q/W_-C=ka[_~g?ut_p'>gVi>v{gਢ^{9G: ,Rm?Qz'aw4Xr;RvOar ?z? @Bۯi?eOY.RU9r>c :l.]K˕7Uo}s|}7dY-Ewv,3"ʼnƧr-py4yA.ɚNmvqzV5\c},$ )N~y%x&(m@uc}.k9?–!c~L{ÁӇ(i3js':Q s>NNzԎ-$;o S;|oNMr|I>XnIF(8ygu+[.秽?}u_.P|tlҌ9- 01.(p?jmGDǫ,YlzOPje]r~670dstm *hlOo(htʻgACtJ]vq.wzqճ]=(\ tID'8w}hp8V to;ܷ(vRk׼ć]vr²C~]vkJvaee 7!B7ߒ_Y# ƒ\[ JyE_"o9p+*uL6r/#n3pnn`P7?k֌F.x(?{?1L˥jrG1JH(!+m _XJNUM:Y chvNtƧNɅE n|]D-pV =vd>n$_[H'>P2p^ޛ/??C~ '?U? ?NhU9R\/m@|V 6b[4)%SSLW݊8p+Tד8ze1x?ϟXU&:ofN7 ؖCJG4pe+$smܮlܪYQN7'cXjjK=dq?Ĭe[Nwjc̍]Bb=W I_tbVUܚnW]aU_̕Pf`eU˽ؒP\sUSw+`rTTԼ/^Mo ) j/&}6 8WOT ?t@Á_׼/]ä5p~oL/$`?T ?yt]`EbcE}1Prֈ}So0?9CVQ%>r3ժ{ yĹ^ >KP{k8ޗޮ1rlzd[(җ(\Q{?T?Jkxy(߁+N?Q/]QSUj2cLoϯ{_,qr91l{-!1)t/Ƥ(R kυ-\~CbX.p?:sHMwKx逓D+Gy+%,&?fR(U!y;p:Gt|m# J5&{[//%>%8>ʫax xE+*'j@Oѭ*oFDw 7%xuB\&f n}6UtVLt@5f@QZ )>C1Sg Z&-Imr|n( Qg c/us_`-=JksDF㳊=ɄG]XM|jDM)wXg$!2jp ܇06dr5 g,AQ܄*M4L߂\s+)2Y}N> ؕ}%cPg;nQ}J,,(WSN# f3@0>k[W $bUD.`P].<*pyRR]G[Iw.oJ *Iߡ$V 3Txs@(NNגʓɯ _z]}RΖ}5RxΏ)ՕΦ(llU%A}}v'"]ZW[(?LS*-`Km,pg|>\QMTЎy\TpEr\|+rL&|&w3 HAsEg*'2Qвu40hg~MBܰ~{2e߅r> &czb#̩ӅrguseՅ:*O' ^cB}ATT^[L/T|9]- L7XyY\Ox;I03U&nxrnF7=s1kILS-|ϳ]ApE$?Dkr -i&WPuףrKt Q疢{V52$ `iH>9o1j* v*|2 eF9IQⳇ0R<,F3NifaFHvH+)jPY9<3DxWt+sWO| w›f8͕TVh=a7;P8p^!'\ȊT>2ZjlNlG|p 9j8˗NRxW gP`X`Ҁ$o7'V QU|F 櫭lV%T9-ZU\Y#Vr/ވU <-i<),acN_{*Y%\hyoa*>鳱bX+hb[`Po#H広re YP&MUgi&b,ݠ_`1*UQZbQ􌹉7tAʋvvjK!Yi2G¿'&10;V%7ī VTfI*ZDUHXT֓ Gw z2Jo6|}SjYZiQٙ!EG<\I7a+hUT!#|l7CHhw?M2a IS` DFK0㐰گm:'pZ֞ .0ճ?%BS~'z_$ѩ/w( \]͖˥MYd JkjIpW9.YՒW+6~ gv1iNp^w|xL_-˕^WBΥsO:G=yk՗ ?^EqbeT>%w%>&ti\zM}VJ'( l"mOCvzS?On@K8/B]lSRт)Fc:${v9~+fB[fŔoVߛ&;_ǘ} a4+}S֝7V88ׅ0:6Oy3Xw#?)|\O_>gqy߅vDa hKM`tv݇Lӳnik4?cQIϧo6e\@Q۽,Vw1pwҚytݶƠUNfs[,uO~3\}1͡j5Omdk,5 <U.HH)ڟxU.p7\Q.O`P4nwBmZ%BǘMČɘwIZ^./£vQZxWpEC+s FﱹR诿•-2DJU)K/w*;T*{w JVnNs꫑dr籑e$y.~AC ,?=7<+kT]|TGUFj43 T~TԞ wvJFUQy_`ʿѿDzjV5'-~i'5ڷSWY#e3`|@:ew@V DE4s!w?i]| +{Ѯt % yxOJ?!~oI|w=OR9HhGlz9ڻTHa蝒>!&AK~Z mS@*:io,6;c%]g["h#E,GZ'[!ɲ?BfEUnK3]ģdQ/1IvfOA,*|"AA_xݡA6xU֦ңa7cqa?GhAԫJ^ 05Jox\UX;Ylڕ?3ҕ|`__)K K^mU.ǭCcM]'(O_ L 91#%Y|hd kzc;%Y]9Q_[B`CrK;D[]pKUn[+qw]ISpӕ(hͯ@5, _J_0Pݴ{eNWfaj:wY{ ¼L`zx6yrZ Tidfywv`뤤nD`;xho\ДS$|&)PqՊ% RUV^Ι])ڑi>.zhelҾi%8M֩ߦ ]b٢ؿCS+׫/gI[l>W_YO륗&^ Vf|7cbLI{:T+ji[fV">#:e0tQ:_f|>oNLpzSԂjU,P5*0 e s>p5 34Wt})_s VC;lnhORũ;6ψ Aiui5[gǦKϳduϪOҮU_S)u@ZAY^t?uNՔ(,T@k*k;-;h=1xofŭsR[gk֭ ^޵XT\TZu,ܪIݲ3+M=EGn+yWAe[@bQ/#n'^Pz&Q>]g'G;Hگ=ˏaPQpNLLI+DO MZ{j`U"#N{.?nx^!}hNZv($nO &Ƞ;jZ#SáΥ$u{jHLDw3G e29VTubᝬn󆚼Jbr[AT՗-5V[ auؽQ~`Re[_D#' ;UX.l F2~ac ;qXO<=S>l }D#Qu)yTLycSuN~>5i>zZiW$N?{I3LWO<-N?`&pat_ۏ^џ}U'/~y1zy?io {?bz?O8F-9sPwE5bUL׏?~Oz*/7:?/pC+0+ĢY"x)L%qt%*#7Nzǟ~˸ PmY}+ft̬^\I/Zh,2p2P].ŔYXj?gN8NrC}8_dhX >vW8 -tGiw~R?,+?TJ5ץ壊 GHUx)|j\P]ެ- ZpGyď/ z 4\oYȿ5ޗAzC>RoM+ٚ]RV14 M8@1u.-({?3cSy^W3N B8t1 {lx[L,G ԅk܎LOBI{~EX!ӫ]^3tw[kV!h lG?6~UP}v m( A+qun1טa$)ǭVNo X Nۣ.` E>ŹNEe +]}}ݠ[ں,'ZEk첓sJ#GvEWƯ)9ԭee kCw)|y+H۽.g Uw.cv c8{ Fnz98Q 9IFN}|Nz_U_3o^< {I'\2 Ts37xN(yu K*)푣-E]Gc=p*Sz~[h_uՇƧp~͐7 T2=n©zMMMbXƳ(3uH1f*,qiW/&q #Q:3WVg3@iPIZay>\ 'S>U#E }1*< Op.%YDa%1[xϩ+r_b*O} OH}N憤+}vf[S'ҧpS/ ĕ*a;L2I.s;"PUS>-:եc\3/K)C}ug4٠XUWNe6iQ%Ŏbc&I*eoRVӛ&$su@G5>O7z#_s$<^ۢpYCMR)J>gfYU'ͦwf߮K|yJwkiِd>N&UtW|>xW%\ "7|ӱx璄iU WV[USy?nDe{> nF>o@4iڥH"jbUxG'QIfbo>;I.Xb2|9Dڛ;u RW|Գ Y^Oux |d)zdAς\o7c+>,K}ʮK\ً< _ApE'/ *#_S(GZS;)aR>[ gI9{=c/_\Ϲwce!DP7" W|'Ro> sDs7(FkH\(C]ڥ:$%=&k\x;܌Az OVSl`;x|(XMr>#;΀gR,اa>#\YM|+c+EePP=mcPMxB7;hƾ 3+]W}w%ڮwrmU]1?V[M:,'0Y Nvj Ts/$W>_$),b 'ϺGNT@;Ps*p"'pz6Z7h"R, |'E%/8bt,B-ϴ~W;PMĶ%U}~Vl:AY80¢t3_bbN^&P)r|Xtʧ<$ p4S92R -WZ>v0>O+kSV}AknF'ÂAPԛ `VFQ XuU|> :R3՚:r75HRO+wS#*Ev{{[V>]Cķ5+Sgocn][u7d$ ²Mlܦ]R)A7YhldLj MÒ?1-|!_$9tq%Ěv_Ie ף!&LӍu#7ǞvP{#Ǭ{*b[WH%!^DUHsZq*XB0#Z 'fAK[Z_xiWfggN {,\ýkuCC4u :#|lLGxߗN4d=;uHJ6^W;A5pŪA-ـtXOr[c5xO p A,ԧ .-hCL.﷬x-uk7.6S Tkk_57F~!ߥE.bf@fOAچ [/cK,0@ zW/z)vץdbt:'*en$[*?ϊB' < =Bb~-/`7`])FBe &Q;p.Y fu0D ѣ(Z @lV\Py\_@CPBnDܹ 7ǟ]OhZ2락z*T&'?_/%j/߳E CXe lSR.^?js:گ<%Udח,?|Ͳڡk?!:EL6UnKa!fē=(%8z#f(!!Vj2dePd |= V|)Q)_ ^oֻ*]î_33(kAAycA|0iݮQB'%_ lY#&n5$ X1S(ow]9F ^)_7k*vl:.ޠoZ\k4>mMA5<|f\M^?&xZ-כhLEOgJiOA7@^= 7d?K.!|[5 WH C>tmHc{|Rxu+L !ȖrFZJ4K8O>>{̊q5/t%Fhb6[&x:Bh֘dxd{CKYvx1Ʃ®X(q\ &ey;Z.fh?j f0P Y!p#wž`cxVK ,^]sJ*>랷znT<6iJ'ȓWx$X=gT;9oF$W̸r$>6 &/9֠+}zoWרl5*S_9V˿໪|;g|רb5P4 KFِkgkTU: pΡkϥרf5Q8K|oywo^}>5|e_e-Xv֑SJVAuhi)E-kC4`qtwZhNSX٫'<]>v{?4z `Q/cW"ZOGůYOj#I7S֟|;/UJ/ ?xV'j9|9nZg}C+<{fe?^m䡪vJMbe,Ijug¿p|1T͢EC{rS 돕O he:zX~% \Iԫsh9?&8um *ckk`VlгjVU7p~w}r+M[ή:pF4U&ܭq|b?eZα&̭xP[ʙӖ5SVilV5' lWo;?*k6^?Sl>vl|:n}:Y8 +mvVCcUYqv*k6N*w67[a[k>։7*[[ m%f=V:Yʚ bCQ z̊ mި'qt} i#tgaUgo ZzVK:Տؽt|rҷVƊmcOY3ҩ?BB[{Y+PճOꜹf1[9-~o8Tg{ l& -\lǚ3'Z_հ=;?Ii59+ fWFQuG:؏va0ik3; |qT,ck9i5gVusy֧vO,<-ZaUwg’zx gE-,I?n{ 8P$Zz?w&vMJ [*NHBFb/՜ABjإ]8?o.>ϴH]uF.:]u=UR:#rM#qQUV[!ȭ:tː9tĢ#UQ3*+ԄP&7o:#lEU#܀y~?x=A"dE}+&[ǧDy^GZO*d_`w^3 A} K뜵B,[ <V4–0䚪USsjNa|-sy/or[WcwOFQ9uf5N]Ts?N 9#J5g)ZvFfUuÀ'Rx޶R.pZ0aw򚷛J>rwE_ƻ^v5lX5'ޞAaT۷qy[:MAkiyw`|'ЪG\TG[>ּrUov̨}? ̀iOZobpe?zjySwuzroW3ΖlvZ| J\^IN:yʪ_ t[jM `v澻} wdm :AG)ՍĘі6}&U T^/yXݹX;`mū VGC;~mϪ.Ӱi\I6QZ~qσz0pOp,?vsc,DTeTڐ#b5,@; j8.;U^bzՠjBW<Ǐb*xAPy9uN?/gTsia6]lh䄗??OW_/O"O/a[G^nݴg(a[ro_"[->Bު!$d=ʞܥX7̫oOw߃ߧA;1}QObG<#li5R?]ox^%^鷚Q9[Q>(Bu6u,ߩAn@d>!l~$d*Z<O"ҹ?WE+_i14~Y,$ 1;g5$>u8g I[z{,roa{oV3׉v ^r l_z2MWͱSt5)#:uW =G] Zp""sSFӏ""<J`d(5F)ܠqJOmDpa=S8m7m]$#pǞ+ޛU+_o:60=1#5yoOb1I1<$< sjD(aݎ٧ ؟+3;/SNmD xHWÑ90y~NAd-b,€Y"* d=S0ق<{:\d!!&iG0C Hɶ%eR.I&JvI"5grrĚHqTjFPQJ#.R )nPBTBF!a3boh[jAPr Aɡ4`bPrh%zFr'ZA!T{%o4j'F4z(4J@tBU.A{A{j rft*T:И(%Ġ0T#ިȪJ15\ n`&mqM 2 0z0"Q/Pvz3롤 A_~0E!Vx{H2Y&TVJ'Ph `( 6%BeVa#[Z1E|yE jA9d 7bG"Jk\gxc4w  ,odzjLhOBh<5nc%;`&hn7UF=MIͰJ\tgPr]Q5!;Rɪ{TQV.S@W];9H"7[ѵʣ@):ZCLv&tQ^hNg8sr|k x/8gt-~ֿ7'y<2S=6; Nl7gobO~ [`BV5ʫeiv _W~M #M⻑iۇp]!`*IgT[ ?v?f~cN^;}|"cy t YdYFj*l+H:)$9D %'E!Af'eDIfb0mBg#z(q =4NN3UTy>  wSoU+%;VL7@[{8Fe8Ksiަ=t2Ugl^57tĺ$ qJL35|;x S4 :a|@OtLѰ( 0b9exrp\`ⶉPGi9k۱xnFbp3UQm_"j$籗rhY|Md?5gU/?%ʵRq`ЄSNoOSӆCUO5UuЌQhUG㬪(,'4]5tU*gzR!1~RguRkZU+ QiZESѨV+Gg1R3nkz"p3$!5gZID|K Ubl4IK/ztuضp\+JjVʐm 2s|WǗ*p)8!X] N|ݱ31-~kʰ t)? >B4GR#ZY9 ׋*}^sG`v>񷠣cGvn=׳r*0WR}>ջ/kv?5{6( Z2B>mӾ0'5X@+ۥ$@RHYQ\MkbtMV%AMxMǰ1b`YE<%VX$ y{ GRKMzp܁@joR.j!+ji(#fG6[#ʰټLjw,ʖi{-zE{6CY4{#dvۢe>m'{jZ#Feo]9{K/Q_){ QD9 t[6߅:>Ȗc?CWroA8T}?z /CAw4g!WxwUxg`s\O|n={8CZ e ҡm>?8`K8jؾ _xd~y7 Ǘg ޅ5Ub)636,fKŭ(hRIBvTIVzIM xRJ/4iHuc&NB^Y*2ˮ ukk5W6mi+ni_eWVJ>ʮ uU^&&j&b[&" ʐ8Uf{Jq