summaryrefslogtreecommitdiff
path: root/net/psample
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2024-08-27 08:50:47 +0200
committerChristian Brauner <brauner@kernel.org>2024-08-28 16:53:57 +0200
commit57413d8e172c10c90fbd91f98d0f7d8eb27e824c (patch)
tree85ee8b00d68a0adf810bd4cdc04009c6f8042684 /net/psample
parentf951171044762a0d179caf9f1addcdbc7cb533bf (diff)
downloadlinux-57413d8e172c10c90fbd91f98d0f7d8eb27e824c.tar.gz
linux-57413d8e172c10c90fbd91f98d0f7d8eb27e824c.tar.bz2
linux-57413d8e172c10c90fbd91f98d0f7d8eb27e824c.zip
fs: sort out the fallocate mode vs flag mess
The fallocate system call takes a mode argument, but that argument contains a wild mix of exclusive modes and an optional flags. Replace FALLOC_FL_SUPPORTED_MASK with FALLOC_FL_MODE_MASK, which excludes the optional flag bit, so that we can use switch statement on the value to easily enumerate the cases while getting the check for duplicate modes for free. To make this (and in the future the file system implementations) more readable also add a symbolic name for the 0 mode used to allocate blocks. Signed-off-by: Christoph Hellwig <hch@lst.de> Link: https://lore.kernel.org/r/20240827065123.1762168-4-hch@lst.de Reviewed-by: Darrick J. Wong <djwong@kernel.org> Reviewed-by: Jan Kara <jack@suse.cz> Signed-off-by: Christian Brauner <brauner@kernel.org>
Diffstat (limited to 'net/psample')
0 files changed, 0 insertions, 0 deletions
iO,EOmM`bK@2kQ S]&sgeҦ/9^ ¤ d z20[dWS;ӯ/c!t, 5P^\Y$ \1_fAMY!j)b۟ R+ n[9b4gE tJw) H48޷R)fk/rz[Q|"G:7OI!e.lv߂'"H~몺gTL7h}Q-B'#n#}&*2ؤ &|D&(DĥGwstRM*BLާ/*wyEp^q+h2w'm Xlib&#rG$3aRvh [hsyQBAͿmCge# t32~- GM~GR3>Zwu? [g6rYPvTβ\Ȗ]pe []felgheD4[UNl[s877QzWm .ЂHV=.Ĵh8SMt]Mi d, ڄ7(CwյW$Oauh[ҭ+LF&?C'S/U,x[8p4 02eB0Q'ptAcF|}e%Lyϫ&)$tdG dXRF0>jé!j.hhצC/v\be<;m|:-Ս660,R5jz LhA'䫠U(a@1-0XOYՑMkRV:Չ8bQd{g=FwNn%O" lMҊB"H"%k?%&B ؝ދ%aѡ33|JkiS>96LZ`%/$'R5b^h9r-. ojNdd#2QТ7car я; D *ә]pt;dgO⃒̹Ǵ,ye_)!KEj&rf_I]hOLj1&XDnD ד/?Y›8ڻdkı7Б?66x u>*V[!`덙HcשBE+W0nbwL@XB\`5?]K8q7:R鈎#땙չUseڢ^ty9lc)Y\v^l "A/j)uc2Ƞ6 $s/i-ثqZ.켒l=.k*R 3z o@emD^6 QKBIgIJt۸sf֊ {${Eo*- >]̎l.5W踒g= (0+&->e/X]:7L+M1{IMO"c ^,LkͰX:8A$/#P<_&hj[tUI%LшFh:~!K9v)Mgnh\ޓE߭Nffao4Pr-JƑ{\AO C.`촆 +}Ft^(~kѵW '*;w4䠼x"}H;<=\7bց_ׂX"eRZ{ϟ/WT {A-xQm\ZP#dAVD6/b?b[ |9td,wF_bwʮĂt=/f\9Skݏ2\h]p$ T֩BY}5Yçs2#ԣX'Lo|` iESJ*zk-A] \3&#fSܤ##ق-&- +[քK$ZVZ rIapvEd'w WvDgח7o[ӒO v녥_vZ8U)>ə1E)I/LMDZ8^ Ak*02n4l5URoYDB`LD6l+h717b F_z%nDҚk'-&qu-ӻg NG(pf8M%ʄ#ʒ:z } &lU8`(m6ny X\T`*0W〜'sŅoH[#VtSufʅKB E;Q-p1A"!-tx4S"<_$UW﹕t14,QLII}VTH !-%p~JJ1×&D ^L>,՜$s {(=!K-8s1^aOU\LӸd*p^uZ_qڽTD(ZI!btbo lQ&pqDHa#d<^ocS@zuWrC XbJd9Z*q*P_zs^0ko"rқ;At# Ֆ:+P0~@xh &hz)-y,6%a>j"*RuHmpXUޥTÓD q^]he,S8sȤ׆|Ԑ@-LF(b ޒ, =KCn4za#w&p0aoZィUv,. j܆' x 3N|8G$9r!)H=1d4Fe!&h[ 86_Dnt9 2A@Fw쬈]K|*3c/}_Ew͗ܔ*4V8:0ِ[1l͏pl:gm[d"\q9s+mxsNcɢT\f:ǭj!kTvP  ;2zapԀӧY\IN j I,"2.[\΍r"Ԅ0:iCPIA@Ed^q0X0lz5֬ɪKP ^VLwEY,ϼ˼v ,ckက *ﳁϏC.+Fmlʣ YiٷzE2Kaz8.<6'd9{$Eb>2o+h0}BބvN!C9}UsP tξ0%&~54+d/gA_f^ wS?D%c|'o8<ۿ;2zEca,2k%̥ Bvc DLa=ik9̳+JEyԒNy$d(p4.kEA x#Dt5]eA4<rkEeba13EHz@V$RO\w'34::o: F\oT5Ophxugn%]fm\= 74L$LD '7c(eV$ je_"c'm.s$]ga؈~a(Z6q` 왋aZ[-ds!Kmz%gSZiFcs 'ߔqoUJmW JBVIrQ=^̴!p[HVeh+7u,i|(A]Eg; TD$', S(K3[%|ʘ ݥ˸P`Fd7n Pk]qtu7jZv:?>PoKCS5tGiLi*O૨;쳡ވT<)JЃS|,bZI.ݤ-<~l_a?MZ HaSޓ<̨Juϸ9{ Z3 pع6[v2mjc1}LVk2Uxp{d5T~ toc5|6&$%O=-vE^ُm.)D>Kwk cW@KH7K80ό1 qoC\vN2c,:fwY ,+EPjxvG]826]DG φi?= '-윛b%bAT/GOQ_{su?x9' %\d$y"ԴFo4Y4MJ(~'N <%KpL3{k׼[g ܡS/0W+C W!@zE_vTZ|rS+1ݕaQxgl< 䢑sTVFHsWekrKN t"1w<4]ߒqѣN1Takޒ"E9ʨ- 3)}! 7"":~KF|Pxm,jLsD Z (RīDVaKdHb$ӥRάE9aMuÙ^~M_T!)I4b sZ5t@.xtuzN&2Zf2@ IE%%1Ńs_q "X4VlqP[tB^l=Q~[)6bjFĝC+vADJUFO@AG%7U!n T*<{ڔHŘwc]w1Y]O??}Wj*8w'3Hֆ/ 'Os28̻ph;4R'q;Tړʀ0sr滲VVj|]i=) "ɒ+A"T,})H{L#u o~4ޣ,wB5@q>70-YRl+NE*>FP0rHQ󵋘IhJ!Nӕ E<_]6W)Pɇd,zflOrɕqov4rA"$bD\Fz}tur^׿IH]*ڬht7@_7覹uvYC=ǒ4?OS]=\[%`&EPV2Y]>3+kTfP j),|#bz/+Nk*(tj6s7J%k_495r/b>t9} 7m*½[Y%E)ppblu/{ov3}!LchϬw³/"bna{r3T py 6"U6Sd{%NA+s^k5Qs=ͼ uJŽ*sw険P LwNlɑkXisT:M2 >ٝh*poxX10E+X߱qLĩ-ygcr6ߪ31F/nP S dzPΟAhf]ҭ +IYf[׶en'˺k/ϓޱy~ۈU.3ٍW]{-FCZblB9/ϙ. RډG\r ISEFPԖ;sZ1 qW,v+9'HoW7/u /@D7y`N19zDluz/J&o=uKp%_4\"%Iy= ~Rp4b ̦}HmTff\rn~lJ]'Ht?Zb9rzPU1*v)h8ʂ="c:?1匸";ƱE:^kTf@EP\Rza pU\QUt0t$ lV}ŧ!Aĉ:gz L*AMpE١l_0>CN|fQs8p]Z/4S70M빡aD뢆@l˧X˺ƌWe&*6Ǧ *8׌SOvpJӭfSkTҵ\Ben^V lƁAD71b j#D`M>o4Y;݆K+Sa-nG["4Dz~r=]0r̎ص&pqѰK/ Ч&yӭ88>vG^JÔMFFͫ_c*=W+J^y:۰(ݗSƔK+#M< $R;L[ٚ™dn⃬Fyl|xo@CX9{zPUbP4DcK\猪U;'/bc JP%$AIZ5\|nxp㈾nMֱ`&$X׭\m7 ^y1gukU6 x?%|sT5Zi]ʜWvk=iаrN X/QhzY@UT^Qha x3m߀, -`Wkܚ S9S.9%^.ZHmvk񇯔7cl[y݋MZc1f\D"Oi^M. )3_\Qר?+Kq&T}{ F^EOӬl"&Wt405ˌyMGjT!1?FFgvQPt)" >S &jK>c.;"Pa46.*L>壋ZępqR6R+彊8g-`&kYrʒ0؜m*c\ Ңh,E>uF*1mh | О8|~똚"yӍº{LTfWJϒ6c=`zт0e)!Mkg~CxIu$0UD\BuH=i`"52SsSy&M#Nc0/1d&h6[3:fx7H8%&Z*`#Ѫ!}PNuuޛ퉟#j==j--l6 <=;9bHHjrG08=ǼժE~LDQ˼ثH/׸=n5sonc^_[o;~zX{jsF}ij=r`{q W&}MkM`A/rIb ߚX~8ʔ HK؏U֚ԌN"&dppMt3[3Zxˠ`^FQb-34(un䢼L{H-w4&}UF$C$pl%BF@_$ oAY\L^~+xefwnO!f<,Uq"]UԎTfhJv$0?[O# ͒,Ըy2B+t-R@oq)y͙[bGH#Hs8v%[-#IwL]]>?3$±[;!<{#&CĺXu؛/+^LF) (S<*nn3.N PP+M{0ؒW'vŐ#YagX緛m||Z]:`MRlnڎe7P>U=ڝIv5 h%y(!4paj1h-Dxu;͵&!5 *w ~s9#9٢jQ=?@%XڳCIyR[Cc즸2 'qIk;$\m^k/_9VN2Hp?=;HJV4a&-TkcR{\3Dz|qF!"x9 V؇~;+߰YAӂZqchaϑUVTGhrA kBNkŋTïsN 9Q?5)zMDE!oo,Z(]o{Pn"bt{L)\Ib20fCZ+vÍ@AU%_߷2ԉ KYhNG1aQoh`2oR4QxHPCFK۾}xsZ+ yXwJһ^|pIvwi9MKA]nx?ţ%"HT$[ڮ_h!.7G# p혏nފ; sOb>)7]>:[SvˉtU>;SP0}.tL=ˮi!KNCIDzƲxVB-=Q㈗$ '9u@{(Yw sSrAڤKd o,V_"-jyzPdɩEH{F<|ޟ.IZroWrJ54DH!Bt l˽4G8fR%B ] c4 }%v\Mj:T#1: uB|KJĈc{Bw姠̨MGL^aÓ+NݙdWLN ^Y4'ҰMXNKtP$M}aX ԍ`͐ګB3-ܝ56o~`;;99igoZмDc'z\u\G^RvfDd?Or?PRs5=?{PY8=$= j~ݿ'>$''W/pMEƸ?%\^eS톑1o> }k/'oğ?\gޣ"4OLN4@Θޣ|~O4GYI[/4;O'UMR>>XoHt0LA8\&EqZH311$k%l#" ~ ™dE(r-VP)R+5#_^02'@,TRB=me҈cN,7Jr3_X?MPviM]^P-rePテ:!M߈ӓg\f}.)JF 8}}٫K+hX!$Gq+ #YnHn&m //4|*j,LSxzbxwϮ|`4%p Ca 8a8\Q8z*Bb^:&wpX.B^<ɫ,W.Wf@ P uSͲ *E뮐הůƱvѳTϚwE+myZ5BfYe$U %\imf,$$Y"V6ȭ h |ʑRcU4WIQξa0 brSkCV4n:\<~vӓr+\.:!Bio`fd*}T;uQԹ !9pp9ZDR4ԸT !0!=͔ 1)ɋ[NBDgK'M4\ϳ]EQV!3yo1 Hr67N~pٙJ_!-K5\հ!w56mNXXs;/a נ&'YJןܣنT3Ԥk+郴箥?=}ޝ?%5hMaNҧq((õLjg+ _ |'R:"=M9cyEl14յO}vֽˬ<7W&Z5$@WtxWQ")r(߆d'ԡHmObGx^Mg-U{/P)jr?GxY2cBMoi|i:ah^bX!>An׃E8phs>Y0ց (HLq5;Y3!Ke}aƋJ@+d並 9NbnDJez[tB|iB*'Z! 3ZűS|:6QE\Uېt5/P$$X$f}%`;֢f7ߖ9cp(u@r<@r%)*Jռի7=Zq=-M0Sur ƢKe DrWC#>z4W!Vǘ=ɳh?0 ia/e}Umt:hBq_xcuyk53⭊Y>s5B5fNˆ9>cU͇ xyp/AiCo*t[GG }%5eٖlK;EGgG,:ӫ kU뵇t:QÉU=7U&35*5#RPMWӞjԨ^7S DtbYRfL>ѱPm5T{N9UBI.U1*Bk)PxRÄaF;`;FW0:@fn0V|ȰƗ>4*slT4[Y," CWr=L` Y-?%[3Z P^.icRP U䧺24{?wG+'<|فotFխ5N[o &1VfK {h9MUl*g"7׷)pA֘؇y^@InuO'ci'm&=ӢGrje'Rh?:aI`B!PyK4aUm6oK tH m%ӁR 1YejXk&7(LNoZMe6'}k۪oThI A<$P_ 7ha]uM3լNS NJ%D+ոm 9G=*\Vg.0+Vy=F6 Vv{Rlΐ(cD]mىq_w$=E~.?ȃ%%_: OoP=.hGE;: Noh 6q;8]E;}^VgVt[IMdFØ.{M>~04im[T]p(d_XxqrR ~nijB~y W" Z}ٰ6ٮ6[4hPǐ '.-@"(0,LV uHvտ[4qM V(\[>ff[wNL{z_fx8MU >69v{*sSQ/xΓEP3[(,j!3@A]WN\E#uEI)R^ ;#grlj֌%U*%SRrXςzx5 ͔&`Ay^8٪cٸdx:mgY eVtzMiUWnZOVh %ƲId oy~8g Q6%ZdMQ$4{nA<%Հ;()4F+>z:VQS^3PHmvfI+*^ZCCTێ6@ >dwW!UmM*'쩃d YAz wo请:瞔KY+2A{|j޸zyH>;6Ǎ4IΙsJE1U֝v3 HHKɎ͜$R!# 9'@B9ik7xjD?=:4w=VЗ;6 ۉfXXaEd"Inml÷i?b2JxZbh;n>\hA #3]V-~ؠ% 6 Yp75ܻԱHȣX|5ާ"X\1[N@fr&ѫ>-\{ C@)2xsakD0 X ϼf:iw}™9j`&Y磶j?TVW5$ͪ+qCo<CJTEYɷ!yaKP.u,+ Wg6:F]f+\Bo.YzM2vԞTB7u\VzuZjp @g|}7HdD`C֓!HBR_è9䏺a(vMO2O۪;h֯$ӑZu5L7jiMHgMm]p  .iJ)}vDS{C=Y>->?z74$e@vp yv~[_{ӥI|m(]مiytlxatώ%ǏP 2aLGep@?M[u|*۶1 8*Q<ӽu$;`#T|Ҋ[^01iBIFfH6je_5iEuߦ1*v\p Ѻ:*nwꍲU)Aw֊ӒBw F 9Af h D}2!NuQMTD`v Eկш%4H4jbwx`=#-=c 3ɇ%cC ̒kFZ tok#8d!zGr2sw"{ U+sOR`q4 œt^VѰaV''JPADbyiPZ։ 9^z}1oBR!ۑ74gM 7 `%oGa`b}$;r׀r8MRxa.+^>$mL۪[l-՘:Z(Iz=n(\p ϻtfCihlfϬBsXK$#j19/!IJ wpcJcD3EUtٵfC"F!k3Suf`!.Vpwհ qSo(5!Tm> =ɤ# :ܣ4tD*<}a-`. 4D1)̪a "r/h_W}ĎUpKHȉ3&'S )t_pl]ƬW0yt_N,> NZ?_b!ɖu帘Y'k5 L1pBpGwUfINj>ǽV^D41-֐ ;A! nn:@)STԃU5H&&*$3ȸG6A]r5u [pvNSV4>eR)5֞G2Pt[N+q ,|uo߾#F 1܂8!^gvӌu2r_iLjzџ0j"VݞQcR?H 1[NC*!.ڎfjUQ0PGO\EnKٗibƖ:tґ_ 7 Sz ō/ ?[X44622Hg|KmgpEɆd+7gU6I&1L9R[&N87% ^ ~V 5$8e{'1)V0-hWiыQpzޮ7[=Z4> ncΌ` +,cj/ ń8KJ=D}|z8:[[Qt׵k͒+w gӘ*>:$IX?(r :>5  ܸ>3 +iZ5HafSOҦVqoT5i~F% dՂᘱf8ԩ;ԏI}V̓&ixp3"}Ww] ɺ@.+++p9>;oh78LG?*s8֦VwJ]RkY<R|[ά,rt4HbuI$SNHyI&cvil#R#k%G,ޓAye08WI\c޽@&q_ P<֠:ҽhس]09cȑùLU<&Ykra}۸w'\VÎz2Ցg@ 8%xRVP C?k\W!ح\;"VOcEÀnn~"_*mA<Շk`Nxw5i\ SD7`(Ԋ MAYd&}(ǣņv.wz^W-gϱ6pZrNHƎ8xP@wPq%xg/4&M-MPO@E}DGG'~&򺶜,k74r4-չ춻wӻ/>i*ے8$MXREW.K3lXqMSE$Ib{ ZN2s;\R)aqFz]d>2SQ/<WO :JoFA ge+J< :Lݣᄡnj/l XP{P: Mg`Ӟ6K|5;8cgvTtݘ$90Pru#k%;h}u;%>.?drX<% ╞9e|/,W8s\'MpP otU;*s =l6+>m51 W(\:AIIm jaV$aWs|'HԻ%2NLA2Z6$ 2,觾̂K)}DB[>_/\$Z]5WKzY, ڱDeBasӪ?+U9* G$+ 1٨jZPbd呎>i]PBI96_1- =%a*.GHzWYUB6* zDa`py/xJ03NI{;AtQ>$$ɳWgYSjuH>)texxeC=|˥LhW׽2da" =N9G:꬈1kv= FEr-\߀g³ ~ԷyG [KrFM)_va &XTOq@h3ˉTnA !M6]RR^;V^-&d\ot԰=nY7SF&Lu@ v& ~f-. ?4BKOƳ8V|?d2BV\4 1!mBXfԬn+o̿LGLSg|$0hغI$ jӖڴ j;:['Uk9Fq!r]Q;&w7g 'A3`7}~-ˌĉVI|$io#GAXXaޓeYҲX ^1uC%n]r-Ğ]g tgZސj >l.h̏ce5  X\)noi!4GkHnhYe$۬cr+X^5hy]fV !`͛g'.Zya'r0FuI=6hSG2u@?VӮRӖԸ,Y'[1@&NgYvyaRܸH^&G1[ .4NYnT4e+k31sC-_&m26 qI1!Sf*!hZ'ߑ`-R-2^m>$>ZqL^ÍFLV üαJx7A…YԻ$n,Z&ncg& *>eJ%nKjc HFzuᮢtTt e]/t H:d*MtTeljL6;׎s4Nuxs]aېZPݩxlu.H+:qǚt-Ôb2uZc2*δJJrAߛv3T/G2?:TGZ9Ї "2v%!G ʂ]Oi}w~^m3O_oi (%փ2{oNVL/dVYrb&olӼ ƣtz\6AXMq+ϰn*F?Q@3'Ϗ3hА21qP6؇g][ȑ{-u@FuQ,Wļ'9\K }}Z+w 'cSqH|( [rEM4-FL'w?׮aeɋ7T5+_=ԯk4{sZV /^ -TC|gF;:]3<"}#HP Rφ@Ԍv [sp"\ jx,B6˻/޴۷va 0{-5hc窨gQdx3pZkvG(f*RWyqX^z2:%$>;̽4v±xV;-Q87gIk1+1,'ŁrB)J9>@7Nq+σq[ajd̆r1,N>>Y-a[Y9|#ɓRMfEz[1[[A>#,\W+qekoSnu'ђJ#VjJ 룅]ǼYޜS3dx8ZM`}Ku~`u]?J('!7W#te;Hg0%d%IM F-ΑV"3QKEs `l由h1j23u/ǎG2A"*Zfu^ӵcZW(zOH+XT5RhTנ)鑙$-ޜVnp|k^ƴ< c$[ &:xpDhVgȓq] H>і<ճ@Ы*(hdlW '!u-bێİIs`@壵"ie4 @qS'B{bOG$қ|UsO`z(%gJKU(x$phUHAb J9xjvLS%3/ޕ_6'&q$˅t|,,˫~JgRl@kjytX\ZQSZD{YA+EjJq~ RJX608FU3SE4lֈv^`񞋋Ke~AQ5%wAƩ4 $%#m41hB #k`6ɐdɅ9}V*቞ 4"e9뺬Im;E;+[5 UUdK %Gg`\wJn'o/j؟ۚƵ{kظ+4" ٦vw4j!@B5Pz#>[)HƦ "Pzf TBP8ѣJKܡ75fK8FO(7 *Vv\dLof(Rљ-/7E'=ncR<[8ifq@:|TBڠ&)8J ֠"*; ://bCǍV4SFKvA։u.8d 艋jCqLA16(">zf祔O:8>ǨP'mzi0B.EӐy= ,?} ZB?+Uh,O Q%}/!͞0t-y¦@J+͸{lԘeQAi}vP o JtlZW{̑$ɀc)oMcBʀFiqd{W&Kruqvv[z9Cluc!4:㒏}C޳ԂL3O ~I&\L ,P2ldH5s!WênU,]aeJZMJ-oH+,m6S.aڬ0}:`I|^uh]՘>PJaR'f"6la2:{& f#?ՊX苃AT\=NNub=FbO2EOj_;:BV$R=I6k -3/:!M} 8Hl_ V˳fRZk]^ݭu#d)ġii'+'K25_%Al;C@9% \5=Ŋe?[Dx!e# #ױId&L z]Y I$6{Kv'k,`˛ńoIC*><;wciu{gVۨ[`~cɼ١$d&5).ߢ?4 5ǐ!Nwa1AI`ݺ}PSlH,?~7x&?-V< #uz&眲0VYTUZ8 _]?ny@'9 `tM nצqojէJ:CLB#8`BBI u%*0u2 ZW[ :XyJ2L(PӃ\g5_wns:C,H0<_#@czz@^re%A,X¨"JZ%AI5Z - YyAX:?xfGnlӶ mTONC30R-e62սWܵc&=藞^Ϟֆd)99T */_ȾlSD5GOzhT~EG՞vAz+\R[}E'[8nzkohCˀge(YZK_ߴ~@u"s7y9 +@kܡTH.-0SC}Ķ 4:hr|TJ ' `2蛓z1c{.a k0+?ca꼈k1ڢdlB3;.S˶-wyN`GGݲ@7l&fո3۩K,Q 1x_f.*eP/2<7t ,Mx̣1{ez= -%TjCm:l[#Դ٧&f&6ӑ"=la;ӑ. :BᒳUQ]$uv,1z9^V#-WxҚ)㝝Ī9JŬ,!9~ߦ 2r.ҬrOcCR3+y?qcq`d[; @6>TK**8x<ܢU< mWX7^BS+cdH.wVhZ? Y%Uf _ɳXkM",FI=!ω0 %Ao?ZPZȭ}rK-$o<=*=˘m-ZЅijeAt $c4%5 TpHt_ wie_t^} =V}`_Mr?Y"f+b-IO/v)K/N)YP6C7DlSCΚ?fDTVНT-uv{Z-"U])f5fYR3#_I$`,M1Vs+5&S+T$YJd FẌ́vxp@$+Cv'QQ_܍?-^?ZU*Ul,n.@3xLV>n%>^K^NpdgMg$sa,Pwh2f8ZoϚ<ߤ[#x爺rߐT@UHl+x=n0n ,#:W{8hDwdbj1uMr$L&!=L-[p9")z1!B_Kke ,lB?G໫ سe18VOTZQ͍=y5ָxKe4&]qIviv=~c ޒ)S5e_5|1W 4vŲY F}ĉ,4%AiqZxr &Y~χ% N+\o%9p< 8Nv)4?8]N^$m1lM5#Bӆ>h2pڪUj3&wsJz~{o<챠su:9`"|ɵ!T \ObkDPjFF@4+)xi7LyBCٻJ<MN9vRHU2TY\rxnoqWz}V z¦+KW/oy9q?ɳ IEf&ױ;L#`57744qWM;F@1!ܿ-&8"_lYyPѳņV%j+ivUpƮFH[n]8荪#A~h*c^Y.=Ź^OywHa"-\FoihւY`<+s7*(*$nRCPV5N!>bЬ7ҹd8n!E2U"y*Y:@㒾I4VNURs)sL5>0 IGQ7j) }<  e~hM2 hN^;|SLYma uH)}ugIp]!mzkY\clԁ,G7(枺==Y$]bD=0f&#8.F\/@͚j>x.5Sgm\O?fiZpO'R^pjYiNƆu6;.^a0TQ+<F ՅΎTua"JZXu#9Ŵ^mdfWH$fNlZơ(t 7 > ?Z0<^+N,쇡>WJHk|)M [n: f \ " ?Jm Ylҡ@=5RӦxkT}.UUg\ NZqfq[F]R'qS5zWvk"! KM:PoRy!"!+ŏ0:&!yo3a3Tq0`.naF ; =#~g[H:ʫ{V S21 ?hO/0f钧Mt!C@rТ yab|jI50Y;9Ĺ~ |%^3,ɜ/(YhE[ P0D5)" ӂ'<(,﯆o?clU2{Ax7NVbjm<8 t.[g[?byŬ>S2UCSݲhx7zCQɂ/~p]&˩ߑY,`]RrT]mvHвڔ-du%=vKrp:=ddڵK=V髊Kg` (%={Pca4tH^ۤ6'FX G&)Ⳟ r.UCwo%=[z&\bA)ŗ7 J?y d֛"Y/JWdxLR(2Tu(]M Y}(NQv#yuHX:V>&M,)CbN Enֽ8y&o?yJ=(HoD'GuNdq &Ȭ˳ e. 짎'kTP_(OVn̕piI_;/P4qM:B 5'6EҖeIN@DM FLN6xkY Ƽ &EL٥O-Rlгc $!&ڟcD}zh Vn'1HI[׏|nxv"Unq `@vlf%dPtb9Tp2v?(|.~`"zVׁ]3\èh>cެv bq[n0vPL[P@rPjmyO+rJ32YxNttlRVH +ja^tfљkM9ЌМTS\OuHV4`)xUg٥]`n޷oR\ U0+="H#5 G/iPJۤuFR]% v]uzf&~%[vnՅ@1'+1^VAB 'Ls|`TQ?6_ӕsGKzݟlVԵmZ$WXH|x' 8ږu^nRc+wmqZA@FE5U磂DEMf|!G"]YH)84?): ,qՓr*Gd-]Pd0{]'+RavEg@A 3jd};}WV =M[ur2)Qs]"_TiCʳ|4ݽCO]kQk=ekȹO9/^^p&Ơ%A€J tf?@k:xf~f:-0#$bQ5taQ^Q8Y|AIոOJXqAh(~؁%\ Q#ٺ tVzv8W O>N9ꗡEYdᣵOV$C :I(v cfg`Um[7j:R]evU6AVS 94T]ԅǗ@C'm4%@ St,I8- <ҏs)er!a^RIvVu(K1}tߘg\P<-/kA~vN]6i{FCj75lM;j4#ývǤ/gw+.#~$u2e |7Z7(svڿӾRwUF2w~hu($Zj(jQ.uv=d`Iv>;Ķao2QU= }2S5)zHQOݙmw! RtiYx3&YO=bK9RٳG/U$(#ǻY Qᙋi0cQL*ɤ6 jtfefq;Lh;K埾\N/ lao I5)3gMx:]n3~ArYE9MZov~Gش9RQ"(TBjg~ق dk<ӯ\eQYgԙ4Gvi͖j 5 JFS;4g$q%xZyhdMrp8 u.^>Tre=`+` }/sEQ ځtPi'b+ZKΏ0B1yGvk`qi"Jly8;8'B'I~j[[ǯ #.7.ٹl?oP@ڵ?w[1yxTYIfwYZ[$SZPWans-CZUWըKW(\r= YHU iY{ AA+wgP \^2W` 5/3>IBMtYB~'Bk)4n'd+ںg^QQ{+F%'7gVrҪlnT֣wJ7-^GW=kOvz߹w;U~)LkH|O]ǧNVu?p#׶7ˡE1p >@C qwڤ՚IkGa-%^ٔ_Ɖ*Nhs[Ѓ@l6%n1xwyI ^ s 'Irһb^Nxkw`}鴹L!kcBrQ7; mVL[tQ׽gӇ:}DL8y4S[6WdXt8 %/p/l3Ҿܔ+۱"}:JAEcDɅ&SwkdQIx*u2d$Sk b uwHm7(R.O VRѝ_mu-l7$ɚK]BE4-Cf|ޢ^̪Rqc6#@jCI ]Tr1Iq.,&7{5EXUO>JIE֋{? YbpOq,#g%kF}okâ}ޡo!d Ik|Z^>4g<{PXON*pce@3nR^Z*L։UWK +Ick`y16Vڱ-%k;&9 z2b\D@Z~K f UY*mi>Z zYKO, W / * =Y:QP!j:]zu0ix+^~9I;QkhzUp2<$qi,̕WG"Vm` ⣗lVjJ{fD{)M% p3͙!OY9 *h$B{f#J[vC(U(Ev+88^ZD𫋈@W/j#O$ "/_}'U1&O Yhff4XrY.['[`e䚳_QY b#f󈌫O)z1xve5}x܍q۵e9|0yɛdJ&*&A^c{n5ߍo6z3Pks'1ԫW!ݟW)yii`i\5ngd^h;.d\jBHŸ~PrL=m lGui<\W&e໘pYt(I#Z}y^zu&?th{ j?YU-p=cKQ}4: 1>nƓ c}:)=C]膿2jel+ˋ,Rr.:~\2F-B?LUҌ( ;Bov Es04//,98%"GZQ>_-BxȁezD ) ϴ,="4,# bG>ےdz8L6TO53IAy (0 VpO'l o!!˜KۋoTx"W V Ps"ͼZIjG9IMeJ1&)uSv4J#J;?H"XV(|3|c%M=Lw</Y+OSRLU4>կʉ=pz/XCn1*-r4[N矑JkCQ9$Yvhrr.@X<}n \C:>Jf֤4VEmIm2WavHs*^ɂce qH8$FU;|a PT*}ig~͹<9/J3LqD4W(p#w <;C"!E"3g^_]y H#v6s@MR|EB`Y4͔ka~FSBݝP" 5!B$Q1N9goH,rWVB}[zk XNKсҟf "l Yޭf7Z1pt$xK?kxY~ۣFIt(+|m^I?ҴhSZ,j$LO~5},K+҃g:42HtiOI3KՊ$)-TGwK~UfДv].:/4D+$QZ;,V;et/uDoՆ,JI^w/`oj-tuTnv/۷률= Чԕem/ 5}e,cv`+H ƠSf)"'zU/4=ip+^OP/tq ɑX}-A6 jvd|gP,ߥ~MVNyNhy1de<:Mɞ݃R*F_Ӣ_[V<ޛ ‹iDHd#&Y?IП3Vɀ J= 8 ?w?nGiNkITi]g"I?o6nQp_=v_io  m 8>S 1M6R)$8D~q pA-|{!&WdB(3<.YkRBv^jHW,%Ǥg@K-TS]#'5dVO[Rn}1^]KP-'hXIHob-)h#?*x GIh6;Ѫ9'@H$Ƈh,'AooĦ5:_?qO?o-b/C|~ٚlop >CYj;5?渧?H2Q1dwc=ד|*؉Ӿrn)G":NK PtD߂ei#{6ɍ}Jg[ zhe65~bמMq4z_tw9QELR1QæUg^[S!ޡ6(NF#=iFHG5&öjN'6m b;zFXN]&C;-q53NuR%fi@[Aw6iDոT:߱Jzplv{^LwFnXҿ$dpJ.L" !q$%9H] 9Z-|rN`rq[ Sbn wQ|.Xq67psh8_ssh-m2b<2qT-ȷ-|NI޹lƎ nckj^O IFQs3]E-'17FC@f9 ^PxZ18ϝGI };et[*U R->YHBj2Bڹ[|$ա~JxD^z|q/=UWEՆWzL~k[g0:ɒٓΨ2H xt ^ cku~ `Ko踗*sJM隤K : X2 >@<c1 JD?(5#v̾~14>%CJށ67вHs lKO(A&NO(f|bo/7R_'f&yr] ֆϠI]VZx@@){(N$,q4[P:&GFlj2#Mh aA\vjkк*?-f?\ۍz h{H2 oPzTۄ>%aqH9]sI@"RV-t@&>~ꦚ'35mPgS1mzÉR9TpZ%<@\YƷWOvlgٮA xT`$>)dp7)+JxH+δ7C! j6a1њ1aބ\H>8Wt'h&L6tɚ)X.-:\IWI"vI GP 5 ɖt>bDsd',n5:ZlzQt 53]lh`nj1$3FQ]/A+c9&@[HVW +Hf:6̛eCuʥ08-^U6&>ȩ iKev^8Ie11 zS(Bqw#x7B"©0 .|uQ ]R1 zSb%0d]9t+|';IRH݅)@j %#] I8n7/J.,HF56j wˆנtkp,Mw\dˮr3B _ /Je `V}nvWR ۦqH%wX%/(*jЗs_XbHɑ-VKa]uŒ~eoG9gzH9ަ!)QֶiDsU'R*n+6(ٔ|DE9qz qaű)?P-=V nh6Aj-z]5OQ %'JG:Uy4\J~fAkl'$2_n^4:œJi-PHL9"eJV eZA-UpvJ}"B\E :ΓA7y,|p_sA聶b{ڤ)]YNdT Bd{08A(pbPk]dl7u$\&lXqre(En'5|nb2`|^z1/z_Ӝ\xdmPǣVi搮JӍ%Fޡ yW3]bԴBK}MhD)'ayuپo)3Xu{} cX w9e)O{ ŒQmԫ-$s[dlTvAy֫Wu2rγDH6xkDL#bLipNpfbl(,0p64_Y{x_!KKK"5#Bb2:Bwe98]ޓNMCzVp!^G Kl?jE$;TS+CO}qyΔh;"::NfMuVd*XR:Th>;*.krz#D |Ņ<Ďo`tφtV+E+3#I,Nst5r0۹,2h2ZѻRgy$c ᖆV޻ahʄ%\@? vGOlÉHVZކ;/rFvb%ُxߵ$lwIV'\x` #>+`n%i2%#cMaڏ@u/s^G4.%8Rd72ޝu*ooY }\=9XrA!VJCt`ɞT%Э,I̲/Fa$ ޼ٍwuNR bCIHL*d9uVhߴX''[E7O:QAD$YnqӬ.J,x&RܲcIHS|YKwnyi*AH5قlP?~yE2=?ml) KJ)*i]/5%6i`s Ր􎷳eZSx  ,4Zցt< DE9"jGwRnOw3ʅ(BҌ' y_ցHvw*Bhs%( 醡cBSpB,o!LpA$qHŠgF..Kd/6tXU4=閽o=/E!Cd |8Fǘzc:ļ1qհcp-:РOBUȊuk|pZ܈p3\Ġo8G=UnkR)u42%dNRp2m=#7.xD Ș'>owpH<︠e_O~DuG4OF`͝t :J.2G+.}u".@ّCb}FI]FiqJ``'9T4;PMsɚV2lөjtհC5$âԬ&c.Iހë\Y/aGKrXʼnC4Sfh9B}:ǁQf^ ZCICh!5ARw5;/tkx%KHguiu _KOe_pv+긎 GK6v*ےB2yi }.u$#sˋIbWwLU8gT6< U lt&XNnU^[rboN׷)aZ-񣂉ð 7n5'-Ob[-'l% ě<+Io  _;E܄^>_i۝}J2{l,&Yچ HÀtYYɳUHgs=KX_RӰK|H3RFhv6:78fXc9p. ie:Z#=:`,>FmdzFښ^lYp_\n8*lLIN<}B ݑSa߅ɊcD-nK}!EI#(aMf7Ϝ甖W]YH'ҤkWݽU=QɅd<֏x8'&cS+L?*IdQQfuJ|_ /8#]v]VZL4B8/1az/QZh𚠋<78JDC^jTɒ&5.m o''[z4Sì[=9K Ņnr ȩK;>6X2(=딜 |#ZHe>-8W3G1Pr(U@ ޵ܷs jM~!wzOc3Zf٤ԇ9*!>hqY׵p4}TJ00~tgKLsҘa(L -e>1APŮ>BÖ:|d>e:.}'6Z—* ɓwWx{0fyL蠬@ /ŅugFX^! MZ{8}Hb󲲎:>FgG$֩7&^{rJg ̿Ȏ~ B">-~j*O4ѳՇqFNquR^D)).Wݚ8i 3S l/fӅOz_ C5%i IƙvxkY.d^'ڪ|(T,,ӛT灅sZ.Ә//ѽOev85=C!_-D%ڙ鵺Hczq;8Y l_v\ȿK8Xa1EY2XUuU @H5K(Jitmv8run ymb@ý2$Uemm)$cYN>X {@AH,q4 2:C?x=):2dm-E]cC1 &) ,OVY !2C7{a - 5qՒz  Dx+e}PB\{@ CKcp~M@jҪ]0F ȋg*1ױ+>aS8yozRy6 VFW[%FӰkVD@KQ280iAZ3—nz+6Y;!ɲBD8*N0mba+贋dfOxTR,NcEu,U3rG*NGB#twpHI6)$} ]=ZI3Ughqg↾4[)2JSnz7Ęv|fQfMWk+0fR$0 =&xbE%󉌢6IO^ i7hX:GRwGup> ?D6 ,YxNy3t!2$5EjgŸrX9kdJZ//QcΧJ%pr~ț Y&6܉s0 %5_يu{=^iF~O  r%!y(GBw[V ,.|ܯJCu0XIP +8RQZĕI!>c^IǼB!Yo%+`J\0eSO/SH\lrp@j@>C#kǫwHJm:&DXW76ܫ~,L7{^٦MShw&7Qjd5FHh5HLAcrR(и4S,oHIY|A5 ׮ysא oe2ﭙR0U6D2*.?VM_|}7[5Z*A!e^V_'h밆YfMeτXW$>&t0ʿm?Mֶ!:\܍9hC1cpӗb/X#;lZolMf.b{&P,[ֱ+7Ai?3Q8F㩲u =;2H"y^6*zmkB֦Fzٮ#ћJ&Y`q4%/c+FhY0>|%vQ88j%Ӑ[P86 0!:qN (ĻS%h ׁt&O40i)Mwh9yB0#S}<`(mL`e ~"м\ѹ_Ɯ~<}"4,|:vF\̕kV~鵛"P05l3rd),tCټ-w >fR07alZma_gK^ Oj3fvc}7S{hZk_I_㴼I kV'1 0R4$ 9!+UQ]k MAl:ʴd6X?1>%4kP.a|d#ΎPB4X!ٿsy*h^1!,lWDz-\E.`_nQlFێڿ:H=zt,*hp!<ؒTXdipR#kuejDgɥ3žx^pf4=֎&Y/K(s2_GyLK% bWJ`4SBnpz}H5'&LkJugȨ^ZKha?Ic9ϝ+7^+ }#*Bp vl<4Ö$ɛwHo=ړV]A؞4 W(\“uS4PNatof[Qx6כԣ`EgM2J~VD.H9j5V^"ATi4@T#F#[*uÕ72UZkE?Im"h*BkߪwI7-j  j(+k}y= c_I?\oy D5].RB1rQ(;^ IW!8^i o< HyGO4^6 )L`mRc%٫v)3򣪝1B92cF[[6$u[~ )KߕMwAǁs!5wI̫LSAIAcݢ[!&UWYRQbRi(qzw(ۃ h7i@1yb@ =jo1fϺHЗqoI8HZ!9ђ-d/xH[̥M_O <\jo=,JKǮ4$fw^!&U%K+(ڠf'8b9g|Q4P.k#;u|(NGKX$ֳ.<T3z4ϡiի\e6pt61^7YE[r 4 ԿA _Q\Fpa#p܈ ){o'DK .]?7=fP <"5gY;1=%ljF&y{wr < ɡHy~w4<S&gc^IHg`L4x!p3MԻ@%o)5[mh{MK3°VMϻ SZBl * Դ`I-zCߡ&7~&^#ѯkM-]5;O2ڒ%U c:yynu5RnS!rKOP4O` d5]vo ,I#-5Ȟx5jxm@|5WScY H^'TJKPH{zG|KBb⪵_yA4> QOV_*mn#ĨIʒVvQXMѠK+fk5 k4:[NqͨOYo#)e(պ@&41"wCGҟR]A?WNE'}J?tDsMa/MT{kGWlVxi;Xly;ďؔ]떁!Ϛ'chi=CZ2ϱ;2j^@2#ZjI*^hBY.-"oP!$Ukhrla U\:Z==# 7Gy$Kw)߉uWhUE,>.s7 N )77λEE][]"JQzXL {Ԅ ־ex4N#%s LM F0hCuKl[^n5 ZB6?EhBtC?X? 6')gCgWt! Qh3gGՆ 6.BZa6fC_u1%gep'0)idkZ)|G{"Q!){ 2gsrd{թNOq{jzNILtq#.% Ҝ+dZ<&R)@` We*]Q|RJN@S*tX=eΚm#Ԛ3YO=5fAb( o}-8ܒZ8\ 43 La%R.PvW=(Cd>'}`j<eACgV(v$,UvIS4*4ˆ9qv< `:q4rΡ,sK?G5؀nt߀˞ǥj5_TH߶bu7өen\ ^s$x3$;B;?Rktr-QQ#=fǤl_\ݏȵ;z(-Zvr$NP%ڃpлlKl#t، u"sFuCe[U.E8]Zn"FQx~ |r 9#%WDΟ:Ndd";C6sJB -oaw녞-)4P yIN8;ҋ%ow$^,Kx:rbDLЖEヹO}>9`wdjsJfBD%[ 'qtY$4Dsh9"o=m&|ie]^#{ue\-^$ l.yTJMT5{zgH8ɪ2F}dhySd() w|iZ&kai]+i*YȜ}G jQ,x6;}Ǫ@Ʌi *IMTh [3$`4Fh1;/*# cQPרo*D@2kJoyTQS&w }ta`oH"C oe+5|o(Ykj e36ս}y&-5v$CWk Dx(WRal2+ndZ޾26pr*^:+ciK> ꒼8ܫd8|TQ|+zU4njd V;" f:]({X*MvefM2aq%%f!)ZCRѯgq=/Z;^ys3ã0ފIYLK[']־:UCUrڻ:}_+ޘ ֒Xd0v6CG[SCIٔ|Á8!P= 'cn8Uc7P)#Pvjze6UAkp_ D:ygM#|56qU>$#MKz(; A҅!4g H+ ʰ&m\x ^:pȁ cg2H_IqX#Z{N4?VzTk2Z~3v/>mXy8Pib_C($%)ZΤz31_@C>4.lxslh'Ί=ن>%d!I٘.uEȗBMNPaa,eQ>@pRm!J_Z+0a]-dm}>b8W'' @y.¡u,x,*l S DԛjeC