summaryrefslogtreecommitdiff
path: root/lib/flex_array.c
AgeCommit message (Expand)AuthorFilesLines
2014-01-21reciprocal_divide: update/correction of the algorithmHannes Frederic Sowa1-1/+6
2012-03-07lib: reduce the use of module.h wherever possiblePaul Gortmaker1-1/+1
2011-05-26flex_array: avoid divisions when accessing elementsJesse Gross1-22/+29
2011-04-28flex_array: allow 0 length elementsEric Paris1-6/+20
2011-04-28flex_arrays: allow zero length flex arraysEric Paris1-1/+10
2011-04-28flex_array: flex_array_prealloc takes a number of elements, not an endEric Paris1-5/+8
2011-01-13flex_array: export symbols to modulesDavid Rientjes1-0/+10
2010-08-09flex_array: add helpers to get and put to make pointers easy to useEric Paris1-1/+24
2010-04-24flex_array: fix the panic when calling flex_array_alloc() without __GFP_ZEROChangli Gao1-1/+1
2009-09-22flex_array: add missing kerneldoc annotationsDavid Rientjes1-1/+11
2009-09-22flex_array: introduce DEFINE_FLEX_ARRAYDavid Rientjes1-26/+10
2009-09-22flex_array: add flex_array_shrink functionDavid Rientjes1-0/+40
2009-09-22flex_array: poison free elementsDavid Rientjes1-8/+7
2009-09-22flex_array: add flex_array_clear functionDavid Rientjes1-0/+26
2009-08-26flex_array: convert element_nr formals to unsignedDavid Rientjes1-11/+13
2009-08-26flex_array: fix flex_array_free_parts commentDavid Rientjes1-3/+0
2009-08-26flex_array: fix get function for elements in base starting at non-zeroDavid Rientjes1-6/+8
2009-08-04flex_array: remove unneeded index calculationJonathan Corbet1-2/+0
2009-07-29lib: flexible array implementationDave Hansen1-0/+269
YvMdqZJUܶTwxdk^-n*ӁJʚʛ(B~u.6f[ѩeDc7a\ t 8I[~#d$A.d5v$!G"N-G9*(5œ ơ76I=ߓ9$|權[3) zT".PBx. \}}dD0҇&gī3ߣ_Ú"kjՉӕns|9z:3 OwW[/4.=M^F8dLw8Fi6.ք^ˉNqC &>l[Otg~AFpnFkWNG5K>oToHʂtFIdIcw+"CeU겍-e6F&jg'9B,ps" Ý^]Vݝ@g&~#!csҦ'X!׏^$O\&n]>/]zz`|S'`} JbJI~I_Ҁcݹҗim*pQxfI.ްlD>θ,km&U,یu 6,|B/ ]` ~1{_u(MB֚w+ΫĕBשcFjh H"MJ*('%I |Bht@;fq|p^= nlv xy_L̪@XFed7J?952*bTr[ᝪ'(\?"-ZܝyX\Fc.&ݒ(nnh灃󣿸f缢O<z_k`x'N/kj]Ij)!;v}6%7h|0 HC嫆H&4*|VP-|,5@ϋgE;uxW'5#񐺡!#F‰00HwΊn PJ.]{awgHJ{_U_d6T'fxj-#~֨ ~'f~}8l1M +.5.VxV_6u$D.A>y+4^n:xSy{nh_ڗ,F"1jn& lfIm %AplfN%vPa^l! u Wk8h~nUŚ5Ma!:&2qy%^/ Ԗn8k]ck/!@j1dۆ)O( Rʆ/X#ȃ\duY"ݻ'g7[oga8E0zwa=}Wᝇp1S1C=!|$Ņç'nuA*WiK{U/9n mv^dP]5_D /E$.o~#6^6s6k,nM1G$#K q 2cI:>)F۬b10ae",vEHK%$ɿrVN<1*<.ڲzKV]-pLx/sE7J$J~ugpa:YQBpE׵z'ĵk,TrF-4T)1L85=%&6j'鳨EDGf.k+fn>h8XfX94zk0kK:qQ}l&=r RGnYnZL&#{1`c p+rLߪ7ub+r"Cmۃ2Oj4F[kuZ Dڱco,Lݯ*YBڻfH 9ۺ>_4>ktaftwl]odcQsqv&N[#Qz<{0$HY:v榀4E!st6ISNS.BT@ŮMK= \n&(vo׵@g.|ćMq>U}T =qLc>up:SfS K38Iq\H`?gۅZ=69b5)hi U1%RS l KC}Kc6]cf=dJ6 Kq08]3?T {:.TJLD|?]=!>8jgOJw oV/Iߙ!A@҅KbzO; {x-7xl~Xw G.3רiswC9}ƨf1i47J6넍u (> zjl,qE"&%mXE=wݶj{g5/|gR8-g{״9ėA8r\@xJ.bo>JĘgjܶ7}R9@ lU7 GJwȯ/[?+>DhMZi-ugs鼦p^GRՉ&:shtwC):s5le[V^&S^vɓH!i$Q-c0jyӗekkkEWYxaDm[e";H@=j 7e<|%y],1fN&cgevDۿEcPpev_}{Q/W͒%*t͢D€BuBUV1D_WQX3 J[k\rI,$V{%u>i;UoI8wX1TC1MG~XvY!: alK(!Y9Gͮm="x{Hλ#Hha:Tsj>+hA[IA.'.Idg.\/!gI h:F>Z3cg2 m&_kmpT\1Ù{ʨ%صKbRy9@_W'ZNpպ5jykXа>dQd.͝<9a*]\ ҖY%Z@1F^p)J_'*و,?nJ <ė W7Rڜg񍴹ywnE[QTI+m̴lH$af:f~_ƋY!(A.As=y"JMHbBf{-οH(fЂDm{nY? \cOa*4l7XFW'Ul_6"ֵWDH [fy$ݥY% gDbi:)GU(gH)Ыg:R OrN%sR]\G( k^0A:p'p]XC߸@A26CeʹzٴHMKl}|ոFۭNs (bJM^ {(tDEDBUȴxkjQX7i\g8RJ BtÊBץ>"Z_V11Aluc7ia ÐG^f#  h}h]Q =ZtuRM'W[n]#챿]l+Noq at@@nRr>W$zgT{&u Ԧۑ{qmjEɽO[FX *Lڗޓt;e^ pnbu ڄkP'OpJDR2AʙeluFF|%w~^*; IPg!TKf6W_? 1#rqF3?kꫜd>QWйl2)s^rS@bNW^w>p=] !d(!XpO%S챵owBA5'X @%1N8^\;"хN~';eg2IyEu\'0ɵ` up#X;ٽDCҗ{԰!uyCc@TkO5:!׹$z{d!YpxC]?*r UGJ@o5F)wguA 9qgˍdY(Xa_qC$VyFTF$ )V @(P@li+%rEzͽƖ+}=3hNP=z^W#9wVr<@dh,n3("9FOŊͨ gkQ `JAz{,2{=QstO(4*W‚aZzCԭ#ݘLlAdD@7je@4 B_ '4Z+(eZn庼w׹tRz19\Y|ѹؠ |uVIց泇Y O|λ,{<.#- TߐT!q85Cyi3ۥ1jP##uLSM.fS5Rƨ w; ( 2Β /ozçqyѠ`Sl,5ɗl?/1r19RIݣ$?zQ+5'O6EYq8!teLpX ~tT#Q*ynKVgdld$?9lF 5ࣙS+!4_m>(y#:r;/j )]ZX+mD4xb:}f}+GمНW,;r`0ԿG_MK{ jAW;>Y鷀(Xg{l H"cv֬LsH3LRPv׌*04b, iʬy4wq]}$2AJi<s;xCT#kqA8 N&WOb=zZC{hVfLv5:PI!aV5J@1d=zGo  ޚ@qOj6"GڭU=jFfdUp jTT?+p HZjo /AXa5xYn'4 sQyMFh#!v7L";M} צOa ; i t(+x>R.Neɫg6Ȩz%/,m[b`CY=9VuX䓖(\ί2ѐdEFVE2 v >O6h?ƺK  F\uhkbx>ErxXr^Jds,^%@)1Z* U!f[c}[i=V&uB .9GV4UQ |!vEO guxx1Ѭ@,ېݣQr~6B<ӆ4 HKոQgp/DNst̮ǩLFJ.o%{ًU-?*#<F2y 0F^C3PZZ2K.B*싳XU':{h$`7zβFļ#E*AA;I>c=RAkWm1YcUMK:Gr;$By f4lZKú:UuGjԪLTUk\%ImԤ:a:Ce- >+ FүY-&KU goL;h&9q(Ї/ɖwC. I$6*j0@O'dsI v$g?mm#kvǗMhav䣙(< }ϣ@hzw-q7ԟr!ι3l"$dO"j|ڿW:hâj/Yscp`tX꓿"_X,'47|2މ?~2c9#ߤЖ ]dTZRu ̭vDNUAjMWoIjb q3΀Sҫ~ ì?Sk|J/rh =1CPSCBHe<]KIJRЅS:5dU #CP#{nv&T5[Mz˲ODvDb>8%{2P,)!VƇUUn G ll4+8Gta oK>|Vp }]uT(Mlq] -uYƚk=]XKoy/iE!esL"g#Wt>ODm4v**"774`cP6}5GǀV/'1D, OEXr02+{rJU Xv'V64UNWPF'm[ @ոZjPvekvAa^_d;P'A>g6Ig6EbExp$8Wk1Y܀oo~^ZR.KBq\zf߉fJjhş8Km~SWMQj; ~ vuYk<7Y$YMɄJ5v8)sl6+<3[dF+ ERvlmj{EC g(=P'XoF#'Gҳ6!=x kB4}`8œ{-KN)E`ȕ0!K.z(pauߓF@H[ 76d0 vRVk/oej>6FN$ef4RdVۊ?k}z!hL K$WE 3^GJ9l=-5QQΊ%T{*>$- <B'\Rs+VNNP2Oˌl̲6zoU<,s 餮@%ϙ|&ǠQW\%7&ߨkn9 ĨxI00>be8GA,x+ pE:^]&֣C.)-_(ٕd39Ty.WJoy-$ӈ~K/s5tfW0b$ЉIZJoZO1J$3>7 G g辝hG8EIJtm[z"TKmȖn7R'iOQF(+|._{Xg,ٕWb!jn1cXN(74U$y:I3Jd~Oė/qIϝ7ڝVvĨ+#|T- ?/`zb}B0iq/lO]obJj]"2bH-/`WOe9)aQF%eҝ8aH|Q5NCbہJş}u ;$>˂T>ܓik #W|쮡ZooXW>8,rTD UpsYˍ藃Pbr^$L#dUr#2cnl⵹S,_ #j.+3tc ѩ! 74Agd@o! Z5j6^!i r$ꅻ#ଋS,ΌEa-Q|U0SEppqקuw9ifȏa%4]I>U!-<+5hr'n*ޢ~Kh?޺$^o øD&:8kЃ3W+Os_rNS"#,GT4(T*; *zQUYhy)P$_-wjl mf)c;>UQrP(K!8^O?Ɵz?>84ӹftDᐕ1H,U7ΫX{_tŭrA)LgRWRQ-$ c12F~t|ߟmK_ATf͐=UNi\/X̅ F׆v=_^KfV _V|XomA8ک:eAۈQ,e9l\EokS4۠a kB~B*O:\5JPַ93<1^;KF(IOff;"C O,2@b-IHivzO@&wo%<`-@lc&~VN>awd׏CWr:ya~)6kyEz3# )}` ƨ f)9*\mncŐfb1OR'TڼV!8Rn%Zҥ|5vcF[)!l;\w[$MjpZцVڞO-`R;(v TK.1ږ= lu]wj{,f { \ıvh2r-ĢAQaLxTdg)?@_`a+ j)@ ,2 Q X[h(W e B6#A2).2$^4c%k=@$!jW7fv8 FUhmn3<3rLrb%%|d(Sa=':v1)E#v 2\B;,m *fŀpjwvnP$V#cn|qP=$tpXjAl ;GsU,rf>}m|+9=!+QG–mg%VBl|fk:4!2ONj y/fjP=G&%Lf5 ]3ܘ)̖ldot 7%#ڌ7.eXm֞OhmbUUjZMWn odP?qXH=3f\MdLrC~o(p àk8rVG2}cDƀ(VJv;m`E"a+ G}@R$fމk=k|9Qs{([Ṟ:_/P]u}5dlM([FV~&y򂯭'A L|]dW?{2U)D*!QԹ#N7ӠAچ'z^ O~4ڪ $~[LxXWFj@Z%Zq]o*+TNHcnK"!bw-T]tr%3CI6tڭT(W񦂎ȝո N~_5I UFԝ4l2 ]u%sU|@S;%}]`zN ht=\(X8]cCzѱ :BQ&,B|ԱuZ:&fUS'`0C?U~B5U$dH9ދ~p`r ¼*r|J͞7,eF yIHJG/f1tbVLkH4,,8;?8 k*Ui_Oӑ4́"y$vdm*FjP}V@|п;m^.FU5O?uiJq""*&N;B僅nEb'BxAII{Df̰]ZZ}LFO'HJ#w8 ^>lc‡giJes~]} LD㵖-E`39u~fN7m LMW׬T}0!_kʨCAZP-t}TsNpJ6wg63|r~Do7#W|I'y QpeO=+dРBt|Eۖ([cwI/ly62r/3?%EBN(ytB,+W,XOhj" nn)»۴ V7s&֒y#Y*nKLKnԘ;}@E(V ]PdC4gF=FNq>l dMW[5:5FVۣ i3N9Qe1[Wa_p ߗ; KL95xfp0_0-g 2TuHiK6a8|ߘ`*Mɞq5Iձ)] 偳:Dh%C+;+!b%0kqח2a"d'pqH$Ϙ%dFjƴиqO5̐E[xddxJߌw[ xL>pj!-2`C-I$߲#KEl,؉zm? !xBGaORTZG^E:Z@*(CTRלGll25ѩ _}wM;632ӦI6>2[{'hMRWsznqm=KHVP,H/ˉ׉IsR>-\p"vRPÓK ҹ.Խn/SUz=aPM7(H6gDg'ڝr Ce@Lь Z6ٜ0ԄÝp:<شPPr_MqmF__?Ϳ^/_mP$mgHI>,ro֪ʉ!tI !m+^rC)=Z*?)UI{`F>jz*VN[$NaGE L,{A}ȅn ~1o7V'co|jy)[pS) r=S2bpA&zզ&=C?&;atK[34G<^Mw$x8$(5{`Yh$ߢ-ikim%ctR$$<7q_twOfZB jG 4EZ9c?K2GGtC 9kBYM_ΘeڸS*M@7n]qM;jU5Vt>n4kvC :N3hGS>eU P3hߑ$$hPA<ĈadsO !6 8,8Cbuآ-2s> ?#=ei;b(*+u\W/tw79te`㯘VwTJ qު5ҡ)#nmEM慤!Ij[1i설PQkWԵ ̞8piR5X~;4w?!4\*`doLL2y645fY#s1&Ʋ{=>b4Ooۊb~Zު&mr()K~9 J>$-Vo:7xFm 8x~lp/Pʙ܉tԶ' ('HPPˎ+}[[%)ι7CUr o,(U?gM9[OBZ,~ BnrU,h@B!`=DqWvl4Feg9m˫].>_){r:$N;jZt4+r2*o~QeNyNy(?|N$*:Bi;4,!fo|2|/I>9lcO dkH,Μ*ÚgKʖUC VH/xKN43Еl'gE>e<6,MLgCl$Z_N^'r=Xd؇t25{GP ۾gzzlX86؞WkeSP iȨH)V'zJ6pw4cG&0y3}ޟ4C>tNܟ*/tք'EE H.eui$ Ryarub.lHAfI=iֹDi)kڨ4ED%w)[||J'ӯsfV|"B--MǂTic㖮f®$!xR[!}K#g ޥ#\ D?BWAGդ&6_LK -[*ׁ+\K_dTEl.R{v"8PuX̙eAv°>@_lI-\!Mm&Z!`FPM&G}LmNW'R信Ox(\jG,"ܥ{x.81: %QLu5ANfXjN9l(  ʝďs;38VWȖliIhsRjo U@j{2tP8MU0G7wM+zr>֗(,ess]wLwfQg!ƣ3_4@豚eXHݎΩ筱I/ϑUF*6[yS"R_1ў7sNdvQRvc.eL t;=]2g 7d#dyTM7d~jtlcJ,=<]ndMeQgyN _!iDzx F$ Gc^O: 6uҤ(F ڒN;~'!4MwD H/SPtB C&GzA`\UwV\Ffgȭ[{˔&{šjgc-l- ڄ,UZb-5WNjp"P EZ*FnYdD=K|^xqM;SȞ6W\?2 GSڭil,xAOƭ|[f{9 .F zf4 QLV~;.$bU !ʽENJ bԆ;ksذ8‚ʲ-6\ݺ$kQm/0胮߄=Jn&%N @AQ ȭԋZ3@kB(le,6 يr㽺Ro;m}c%8v(]i j^ HБ4jȸ0@fLh_3Z-Cu Z>Q\bTg$ I`,ts@16%QXpw3bwW-_ǂV);oBjW-Ȭܘvld~yo1O5SjoIxث@7Y'8 u^, YCq${bRG˘ð rD@]Ϻu"/oء&Ѳ5zȺ# 1v,7;&x2tgZH"@j[.2DrTtGb qZ-ɱg \ 9 ,кPW˻,%v<ȂURA[0@PgƥK'.Oj|qsD[$f [406٘c $-U+&f3K!A_J=_~#ڑ`|K 0c^'piIUYW&JC5v ɏW@cZhQߋvNUlclR=W׷_f}u1jw$ڵġL`N%5fg̅ pGvj]!7&u KJcLVG|*1`SKw4?Љ|3,@P 06qmX@ Q-x^sbHfCϽ{>Eǟyr(ˋ`ߧd&`SB G?\zmP{On)I]GǛQ}PUٗxC4[j4ה F?Ō3N$MicYn-soM!)Gsp[G>-Hki^@A> x[=9h.-3Y-BdL04צÐ'+`Bht@K{!]U-z)zR'9Fm#Gǭ%^iJՎ ]ڭ=m׮] ~>Vdsjv*]%i SN^p[6۔.sX`~PlwiyD>}q wILV||qLo%6;^XB˷z{G\B7˘|e<(zڒ`P x$ltkEdV݈gd+g@]p.%ʞzS9#/ѡ45|ALcCƒmA~[I] RZ:@ a\ctG.6uZѐ Fw3TʨT9mkH;$p)lB{ǖ_*oWn)µb]MYX6'ݑ5 2>Yš W^GIajVy͘'pSn#c\4*E{n[+d#3|vh_D/ct^/ V)b4a-$\36Dz-o]1'\GlJN2H 19̳SOV$Ruhd #D GoL٢0_ W(\|2ee!@{+ Q@\hMzFO\JB`0:"oUT૨QU9i((QCȟ RnDvM+3r6UBԪjM@]?K[J璿JdI340p gFCtQšM ~Iwl[3QLQH-Gat%'S8:ɷ=K4XF] j4WLԷFVDkz x=k}#yDay!_vH_y- :ԓ R=F^o ROpPSz_ҭWCQF>ac_74@R+`KK8ijEQo@ X21i 5A?JEň>:B?DQ{;ޙuM( DMR v2)ܖp)R4Gz-6?>J$(:X٠|Rf{2t6`9h^wn*RY-"rI L| gs3X<isRԮ9  lXi uduݒթiY!}~A?v=FgBfį/>'dF|S^#~ .D0DZNt+TC2ZEdL ZlܼDžG^!z}EVeﳻ|NvjV.ȹ ϡ R`Pm5LgS["ʰ4=g:Ng̤3TC$ Qq% th&.zyu?'3W[v;TYQt6%sIx)O@! z?:F-ܢ$7q2}tΜSzq=OO4xϠʆ9Ck>#%#U6rGqWR^P=⻧5DMD^y% .ڒ_J fw~RBY[HG.,>QDojndLbZĕxnlj -+r}JEgK)_?/v]pu)mVV&>iEIC8ʫ5Ql/ﳒ'շ6-] pGcPCS):ua.xto]W%;mvpY5s@3a(ƈyf/h ;W)0 }|6z05k ~eyYo* -[R],П_y+D:" s%+4K3TyB ngmg~P??Hnb L jq@dD_UH!nFF.soߤgB?5WkS~GH U2=4;gY.g$@P=`D_) M_ͼ;ǣ=j*u2*Uvzm?o$$-+mԟ=sذ͖Nb=KUR-jb\jK}%&ösǘ !ZN,vW^t45vlaG2y 2tbJ'sec96ٰMP2Ƴ!'#(H; [/i=-Sܣ+MM䮭xy+ 8 W &N6 vbPiϊ$_JwQ`r܋fYWٝo(G3RHM[:Ѭ7j {̘I/3Z$NwSM?j7Zjme]]X q&Б@_@_z. st=}@;ywW6EQ(^t}\7ic+ݏH>'nh YAK[\+ZtWOnbJ-`zQ9kuJHmɗ0"nKhk:ۜJ<$]\nKZ1;s 3/ }@ '0=2]BU-5=+MsZ6,5;KlX0*`aB!zG>%􎲠=@q"hl"JeL 깟)sZ!DmGexӟH-5Gpp #x2p[;E}e"\>b_C휟v;ī-Zи:*6.B+f:q3 RM8c/ Z `xl9߬rGQ4#3nUUc4 җchg㔡Ϫ"y'<&,E(Z`+W]lWL-:t 0zy5ڥj2*8?J"X2 y{;VIlf: *RjIio'ҷfx[`ޡH5ZAܞ_N*EeS.MUYRܛ~k)K.I@3g1T}GUX#U*A5˹&Ԓ6=}<Ε#X=7-1+b9p\;?f |CHjzN$MmX/__]2=ov ΗϤ!gݕ[Nra?Rs^|4йP L-B2E&qZ:aXPނ5F^:HW] 4opJȍqN׬YrLEe߁- ejP\ᨄ?ZQM}#ġ) @&q F8Cϲ;q(“is(?W(Pg{&nBҲ}u3Y,K7M5]NiJ#,tj#%ÇFz嵼5DâgyT"B5而/$).G"2uR7h īТK;dA}5{_7Ǝ DZ_8p}am H <MF sLL..! /[8GfL*!eiuV)tWqT՛z9D=TNzW-ƃ:yDՉ S¯% ^sڐ/`Q-0Sc#F@{r彸thm!FodJ ÃV 3ZëQ]=9t?uȚ3*&G)*Y̩֪昤Zdtm@3+P  h4)ŴFFы ??pxݟϯ&?_! |@kJvΑ`K}4.2ٜ9f GN3ad,] PTZ; tymmI =I oxDGp~ë?Jp! r> ,jk"8\0ZiGib݃ӿ?8"ƗLWD"MaCI#5܂r,GrPgvU^`PL^KwuĨF?9rQCE"Aqjhc-1K[lJdۙ{;Wv;j6ki0mb ;&:Z f|!7HA&ݠC#&}]20BҾ䤅횒!#As5% jK-xvB7r= ڳy\>cX"!} ڸ`&|-gƭφ4 F&%kw1hJ+mHny F,fi@..mRXAǝtf)?:7+/17k:GAyt| _2c:3t;}P\ F 9C./zVU S'Ydw2F~xҩ+1SƓěDW.܄7f.EN;f>LԴ[Dij֦:ʢّ\/ C 15 h{ۮxv.Z M"YN6}mVӐ6 '(i\"<[ /gaRoNۈZ>eF3co'ÌcѐmrxS-I][ ͐b1Bd93 9͔KkId@SZC{9ɶr.]8_2J"_萂WU!J )NNa%Bp.{濡Vt.EO}]l\u{XWg\& m@)@oWS)z% zM.'(8EIf=Ĥ_u_^jᾯ(!<%pNA{u0i4#h+#4`'§*'ߴV.3iE4ƷK.cC*$h^> 7Zg%*ڗÃy BO[xjyb$;< v]f]vng_+O|b$]e$&i[T7 O/>sV >F~y`?Y$ ;`>rWe\NPMZ/)ƾzܹt4AϪ7zcX1ax3=fInm,4sTϠX6tyhn-.tcYQhP3۳͌\+ {|EU/+ s0HRVDa.`iAfD_0y%5`XV+3 l6oE`*2n8L%v㿧$ڇi߳K({=VLPGK}I3iv[vٵX@f4`U? iQ)٤`q>)qC]p&D >;ʨ>v>T{@dQ{\STwm3ך> S҈~o u䬊"+pеgjx[@& z=%;ʿɱiL sU5wHv"ppZꦦuV RHYV4vOpl!`[<di~gE~q5ȔF_g=<%ڻy{ 9::q)ixUxhvyN#&qt$0 <yFOMdeDa!% E0;}wrG??n`E}df|?5p]%]GP8Hda#تH}fܞ80ݙ^YU>ecdxd)Kw;!68: +JkkSuZp&_6١;i+95<+ԅV[2({\б[pL+ߥhW*]qv56[ 8R=[$Oy%0_$ ]ҾrfBGQ Yoκ$As2)@ȭIډ];e[ 9SvmBpHN|9g$B-W(Kp;p֡*łi\+ΠB$Ɍ:.i<%[ j-5ezf\_{9/߸&>,4zCM @9M]Z!…!M=Hs񀋤ZFM؎uTdž6P=\S͎jU,.revLzCQ-[~՞Yp?ʖ,G,^ 跚 vjXuq˫BST kTҒef[_['wbw9D NP Fvlu:z݃{FHEao y/%;J[. c8A:P42%F̄EN U `HÝAB!גO4I@ jLSIۋ[TXl 43Xz_-m Xod*f449{}8ȍd)nrJtUl楩qԒ9 j 6Q)f}BLnB~; 96)s}p|Yhai}0A.=nH+OnqwN~O ;_k Y3ԙ ]t,; sel3U1\MiSCz`ǏLiΦ[,UK * )4 IîecoSwt-dw|:v˭P"v4]!!K9'cׯ)=#A>GgXUjUݎ ;+MU:UQwnpo`e8+4:$$y6eZ1œ1(6>`;RP?rek{ q{]44TvPF`dVMP7opԍ|ęc?#Jsc4ԍ\DT]+Osz\dž-4?4{92d%Q=:HҲf>$!$)6 70>GW mhaE"A Q`qO[vZ}Nk^Dẹ=Eݍm^k}_9‡!칶^T72=V+F~EvbLz;9ٱ3 ;{{k {zZ%\5]fSDȳ(x{|ubS%9?|(nMZ{@OK5RMT|} Pݨ<7& HaUB~ҫ_Κ}|#%Lk+G1?&u'hvdŜfŵ=0r&UM]Rߘ35+|IyO⌗ɢ6Hf2WnT'R&[c: iF_ghW˒hDRVփ 'kӶ??^֟^V?lӏfEiԲo␮;C+Pw*i[ )C[2YKp,l@72 bMk3mMX#iEhXRE t+JެŠiն`yIR044,Rlk)};@F#{;AR|: 陦bAtg<,Dc-kDGB!9@M+ o ־hZL$] i]z+h!>;QkBP;ZK>B*<%@B=KzI-+KK r79,J_ 'fɂ.T8-ڣh\2E74\fv(y=/4$&|ѓ9*akk!dmHl*c'Ck}+IfCKY7AGԨV)Y4@$ZDf7A;=YWaYhL\{iq9"ΊbT_ t*#;Oo>$Rf^mXڃ.n@d.TNJ7NdxQ }$@bX%'NVoNgLNqhV,zQ9jTTD^Qp)~Y7D}?pwZ2$ˋZMwX<94"={UVm q5_:`Ñ\"g4GxVj B$Ј "$BAݸĮB z9xl-f;I(o-tJ0y+KɴpAy[RYV;Ʀ7k̻4c- |WϏ5lN`GdQ5K-"*?G.L+M|bn[5ym"9섢4-[UuC;rb<@=8e$"_Z!+l-={X4,F\ɼ\+c9ͅ4!rL: bcĮ6$nqH[a8@a&;$A+0rw|`:kh=qtjn=Me4C@ +Gz!iF^ Qfn_^-4?Pĭc|em5,OeWrI_,=A?JGyW:S'7OU4gM5+){])"A bfSL &}1uY` } ÷ǹ[,O^oR֗{HddNvB#/%i}9~֣E\^e/2Pxo;JK#tgsZ/BWH ,FΑ`P3i.4!9^,mi^p-Yɼojii1:.KRد(Mԩ9ᾴ2YD%{KT0 ,;DYg8vx]aVUsT1L",.(G}C ,Q? Rx ӓNJp`?U9`ɖe!wϚ#ggn=hT{b[y@< "rPSjjYoӦ{@݈Þ%JїՕzOvt϶PB;3DjF;J m)莃0V "|-ʳJ.M~_I<̍#cɣ6^]sGH{̞.hjޔ?bv cIչ޼G?ߌD+RjVLb ]Y[kW;d)UF\\LXNumu,_ȌgiyQ{dyx4axUFiG'~$Zјc'43> tRiP5P+魤_6<,zn'v_  lrf3D1&%{R:rBy\=熽Hk]i< /d|i*4^3]54-%d_Z ׹,Aqb(ph?1 l2+߳6cѝY붻{#.í3F/і!n!"de}7̞+vLɑ"䞯d;{.LdPo /@)c҄ ؏2ۼ` s,ffsعN [N xR+(BsVO&ҞU&]Z!-.?W? 9jDFP669|gOc%u̐tcXGcwa O9`ҾVY#:E"K^oc5C(F)=qHsOz}٭g7 p[ّ4<$L_U蔇nIgkW36[ T,RȣS.>j?%9Lߍi6V<`KkCSvZ q گB@q%+_CJn!IƝ-C`a%S>qD'MА1ABpM|V3ioֱv@VA߹aAoeZ8}v5'_@ݒ$J< KYu;3U+`Dgd?@VyR5^T;}JPZ 3wN(cP*5JaºϐV:@$B]m jMgZ4hNhIzwa*t"ec?Jsa ?=ZM EA[׷t)df%]WY'!@n+q҄ԋhWv R:jW{v_z(KD5Ҝ?lLqn?9I-ly1e#߀4@{:Llr3ZPf:dB$2Brr뗼*m N.?GѧGc"D{8\ɚ\1yr/'_C VǮsPppz'P2QZ.Y! @3W+BϙJlC.D5\/:.M5AGR'm Ha3nN@Cz$d;&O@ +֝_egm!A[)3gtZAM|ҁS3YϬzD+|1J3Qktks.lΤ=L }u@Lz_)%pQorTv+ZG?i-q?`ӳa)Ow#M'J)G$kDn%u KB3勺 >ܰC?E=" ymR#Fŭ-G++|ќأ*YT]dX.Iۜ sBi1Sqg>H|_RK^_!]2{28!qښ :mrs)b=)`vy= ;G0 x C7{㌽y(%U ^lm-j򸶢 ]>1%U_L#%o>YY>VwSSՈVģn^xk%Bp2w[]tQߩ<dXyPwm,x&p^S KʚB`Q=1>ʴvCWU ݓAP:`[[35Ķ(B^RƬ-j?eZ.VOQ{b\1:,,7)߮lN{T Zf:gzY.[Fj!~9Q8IN|$:HdTM%t[{?E.#PF=/z>uƭJJMMw S*)>W53!b]N1o/rXZa J~bgMv{7>x+L;W{2\:h@/5e>CYm4ե$ypkd~V#˽#kOV>+Oo.p#e} ]M?h'nh FjPEMGRݯcPI- Z&Ɋ,˯}q yz7>I|&~j偈̆ޣBIu 0-v|$}x%5y3zQo1wex.RIj/j!EƾDvRdXRβf: vgIԼm'0⦾b] ڇaG.u-.-MQ BlnbUMV@`}6)IɎL)MR@)xr#!7G=PLc0K⨁klyQ1QMe)zJ͵2~^~:us7&rdYَ14^dqF=[XJ&)lvu4‘s7>>µ$Sۿ8(Ӊ}鵪kYLKt9$rp`q#y!mFM%Kc7ʏЍҨgO7JuW'NX+Wz>YI$7[mU$4G3N TgI  t _;syfDb#"I7η;eJ_qY!>NA@B!*HHj BC)- m9:g(&u}49|/|]|흊bq$B$嗢'(Kf/g-i+J1ԧ ڑ0co<;/5Q!NHb>*6MwR|ø8')bo kIE2L79?! $ZmaR_ߨj!-eq6Rw#Wr??> `p[]/VkQj ?rX7VNom>Y@&4ȹaZd~h ժaOV c%=u4|av!摴kPxL}BE҉G)OxgL$xL!\ݫ;6kEpL\:t4ᅫ∂[)jvI+1I۰鍚V)|x\5ę{#Q4s MPֶ QƸvQmGj\moP#5_:U2"?!`n6jTCD>iD+cm!$'XB p{5 IƁ48e&>WGT '+~ U/@˽jLV/uUצ)8O>oY[GfvE{ƾ57 KpsIj q#9#.Ҷd@^C?_Y̼%L腞uVߎl8X#MbjGBb@~5p2crNjI7.Bl nZZYv=* >uO_R[Ͱه?foGIs:wRYi; #?&ՁBjWbe ([B"y\*VNdA̧%ཱིT˟l89[HaK:KAwct!HEl/_6}_/@Z"]DK`\ u9lϴmcCr~G4,ʒ(W-.B|i} p%W|5ݔؔ U1@+?A1`qAyNv+nNlLG80[~x[{iVL3Z iӪڝ~K ՑCUn 5454 g(a6rll6,/r6sf({oVd0Os7ov ^t쐉‘p9>X'*,t<٥7F,%p? 2fH5:@u@E \n#t O[vfGnbRSGl3+]CQaXa-| I3mYT)i!K^L$'j#o: +z@Әh׬v=.WAQmRi~4G귛wo&}zM 룾 TM=B`6p67eDlkF4S Vԭ.& Լ:ֿ}&ʢQGB㚸;2@9ǂti;Cc9)"_8 xK l{qX$m6b,9_IRXVB}"6HbI$v>sOzvP%#\$^k%oS~ĀiQ_<9i*L'hΚ !W}\_7 Z3Twq鑿f (ɡdvn'F*ⱹio$pG.o  <ܥBb|Gw:cWҕYK3g74AQuI#(>V9Xg>OVuI:l^j7J;/CZs|;WgHlnQ_qd[v4C] =-q[r|d8[{E Xf>|@ y}ڹaWx2\{ФSzڜx V*jϤr*iml Z>ZG+OZs+Swڔ0S>'ua:x%WVAhsH3ף{mK'5V80V2stꂡIa_T޿[0dׁPc06{IV:Q^1*@cެc:ׯg̩1Q4~Ɲvy cnmM3NʍC X]]M08=WN=NX_3~PPMAjvEsCptb͟䯶r)?6tFבpb'>^%f_7sr8IJyVWXu˂SԪ43?@䯹)6ܒa94WתUr+@) Sx0۰^dէW.49-]2|t. O8H٭b֘* Gf2-@ m=9ުˤ; x?Zhv շL@u{“*m$/c_e|]پ,riMh\ c+j Rf؜G G'=+N\mi$R̈́Vp])) se#D3â 8\Q Kꆯ?9Awlw,hȦ{!1Ӭ|4Y+y΄'MDݨKd^˦Le(8,~ɍahJB><^LBc2g o _aVWY&fv`Yzr`'! i CnG*[y# I0&|`DavƦL}уZ)2P>;؏4קm#֝$[I+ܨK_Vy! O@V.$vm?vKgL58.e+⅘)?,Iʳ>G >+m:3J{,~4 #ta)4WR WwN2Zl9/eP.9"s3<MvCMOM"Cɝqn?٨%nP1^LI PVeD6HUn]@A\i MJLʎ[\:I)6`Z=B\>jg W[Ge pON*-Y HIe4퉊qŴ4W9J/,ű0${zh]_Pn{D$s:?P}Ja?SC=ll֌=J *VOI9.]4ډ.L"B[  6fGc)m]h^}ݵ$#>spuˡ9vrwaOfՒ l#!BO=IyC M2Nίt߽˻?-I2C)nIvNf[1"@$SE^/} .~OQ: }_9c^Y_Vdtmg. TFI1sEsRAw(umu7[$٠.eH8N##dPDsSZ>[>i+ِ$=ʮu~uh׍=86Q*rysȨ'i$zQ}kp;rL 'kRM27ӂ;\)%yeᖆ}_~P,9a) ]@p` CeDdxr6pL{,z}$W<gF#j͐ fWM#s?81 u&;Z&-C*,g, vr6V>,(J\ 0CB8ϒ#FW6: ^Z9*Jv|F<F#;4caP'q)nw ݟIx?s>R1)J@ *>mfZ[]YHK:zh#JۏC!t&}~[ '9GgEй5? ޥǠ_=8Li7y]Fp^"URB\ɝ;wy}%wejUVŲݶZjW땶\6U9=M;?WkjެU^*gQcB?@㏎Ro`p8޸^PoYY1:UG6n隞A?Tn-yZ%8F.E<0%ˮһjtBfb.9%q,_j;SsyC`zv¥1ϫ\F<6l5[S,MWnn@"0oXylUB.p4B[Zmv4ַ,O[&{%y6^vA|[2t&w'utXeAɺ|W2FדDpGbWgs iK,RNŖk:&dSkgC iC,ļJ!tː}Z@Ȳu w;/|E3n~$)wxAQFRt,D''|lLYc$9Q4 I$qzb%d>ZlCTD9YXۈ{'nmt fr@8JPs.~i3sB# _b۴[amD7tcdӘ\x/&;_j Ie(!@%5A&L] y{P wĹ3NN$Cdִj>}Mo,ž?V1&l3~gD:H'n5(HM=V|>nIXb-8ҳJKvʴ 5h5P$uJa/DntP`>@;1j&5rk>V6;ў+Xz$&q2Q.kkSuZEAJ!)0}5[Q8O`N(CX'S?t#oa?zk]u~#]hkg'.@S>}~J{z"{|BIJ(CB>f5Zz} @NNu"%#I2ry `ĖY[z9ܧ쭧5uޏsW ֶɈZ.V\~&']&CFA< R֞ 5Qaa3e'; @ `-<$9FZ]7bNSMII,@Z6L]}`WshZ |M,&CמNC\\MVZs&oyz݈;,-is~tq'J,CsZ'n.P?FqL-pe+ÐyWq/JHY3\+IX/LP2ń[{>jV1 z-QN2lU|{wC6cmsb 'V28"G"g(0Aj'K}9i+3+E&8A?yyZUg8]:hy^*Qdfu\ P)FCt">3$PMWɈ;7\}f7K$\5Ћڽ/gP L3 I³L dhU6b" '6Ԙ^J.U? ݇VI8L{˜ZZd#[91r#;%GƉhI̝z Cނ"( J|"纾10THl/DI OnYcUj0^|7)nhjO9Ѥɿ 3tO/YѴX\g7?(8v|w6[IoJ RiLbY0M_ty\oȐ?TE5- rg S 81b.O4\I7(wu\SStW =Q] (aQV?[ Wc(uk+uAo}ꅒNS1 &&X𝴝*&emnDAF\21C8cUr,~ ;ʳ]x{:ba wD;r,סaI#OŃs: GD'W`Ao6K\I?j{ɈCDO8T5eͲwa!@6.lc@hפ;207lK  =jƟ ҌjDe&w9J%&Gy ۂac+оp#t>[kvi S K̈˔ib:u5#ox(kD,2wtk<˦dO]ԘT #ѩm{mV=wZeN+|=%Fc\FGN.!+p VЃiQ>ZӉNk%j=g.$LH9qjX8!=RzC#Bƌ/krr43 \-w:cHEH;Lf^2MB3? ~I82#yF83oZ9-C*\)~AQXՊ;b1i[j``?@sg7術_QT^LJkÊ|ǥ<FL_#p'* sэ9OBŖ"(z7^&۞z餋h8;w3G4dr;zE憸LVplT4%k,0]+ѵ <<%dp.G-8 2fpOͮf Ynz4x~7>Q|pjb qIXL\sqm'pc9&Mr0tiZl;}v]TyŞl $_ӵW|#ii$pY;sO/`I߀:1 ɫ8mx O"d7:s*$I:H#"8<|1Wl Q"z3ˤπF2.Hz@nO2f ؕ.u lMv%ƙL^~.7F[%VT]V S 9Xdwu%;%P̦a&7t,Q gpLJەyِΖg7F?o|7q$$3nԞmPuq@dzEu? ǒVGzԿ0O aV@eA{I.[zEoD:PN oc=8 o<~@`AAV8VQ Vdd,> fʤ=)ِ͋z:h$ܵ0l7(GɅO/'ؒdwA9T4;5z299֜|Qf<(7 @xJWW ˞H.qV3*c1ߐ F-td9A}zzQ˘7.bڜ)9f<^RTy3p:/cYz")A`%&vאʤ0h35 RgȌ=ݜw͵ىc=,g Xf2>KPڳ/[yNXIƎqx֭OkFXICL)><v27 00-D}=l/M< 3q 4HJ߰a:3hF`zgR>7?h"xb7nv@t%<]`Ajg䨟J=LEhd'BĐR]GKg4CSt'sD ONHLBұ^ rt G<a|RV&0E&GwBĴp$ːwmfmJ܎.G!7Ԍهϗ-]L3q:rQ 7gb&?~V7LA#B ʏ`ÉU}@VGsʼ+ŇfԩH@F';!;ij$''p>?0Ϯh]e{|69FftZD0b7J!:H,Lj<jQdXvi|xzN~.BRC5 7M~9Ѳ1 !/ag%Y9??ᐫ[%mߵ^][Q$R5>]`Cq6WEX&.7:B8k6%՟asemZ2D39dˉ">#&Ν@2btaZ8Ŗ%1e7}'6 dhiT&54"CNK:eOD}XmcsL՜NFR $}!RX'qPKCd-fcz{O d|>w&"J722's`РϬPq.qlz?\!`UpNfMI]hCNݯM'('>\~vA`7&3!#q|M ?){X~j  P.Gs34ƹs25S+4]3~' ݣj{oi{̆W>-HR> sIе߰Nry=勦Lࡨ/ >}9le/駎gq[a.1uwp98;`ĠP) 1g+"b27C"L28i ?` $KAߛ} ~='^%4?wKG?aRd9džQ4Aw2JK(\T {ܦ&.L䴜 ]dʘ9lNQeb8YfrinC8Կ`j=\*)5j|U|8>.nbj-i>*9W"=HV -mP`o,nVbn ֿBV.K4|'+x~]E2*7@ $IIVe 'J撶M#Gq5P6專 zяC/+KM/B.ؐtI:|,& ba6wfPCvUΑ~IgaHd6/1êLVݣ#um ='o(u_A duwOgZdS54,׊#.If2}~Z#![~*P|[ok H ^iēc61~%LS\+NxCLYS:Rt^PA}]Z\;T@^v^Zx ,>T|E&q*{~ޜ!?-E[ag6vG%!]/ S[߿7~Siߨ':!2qIt|dۯk͠[%e Ihd- LXRj:g!Rh+ƳN,6#G(q́ )F6PP;V\.&vӋjw"+?4&ɣ2~3>8]z7f!ޠhқޓ{Љ%Fh+JRMǛ U<- `o=sf"IϞ̈t梴) )ҫS7X{ǹi6eIJ3"G? )w련uq:NYѶ>4<ػ?]0" O} <0׃\OHJT]Q=QۍrW I[W[ S ks/} L]ݥ IMزLf{$ԌlNE%~`HGSڒ}vS2Qpӑ$3ԩI`t)./f5򉧗R{"ݟ6YO䙹+V2oӏUн;@ k0^(Oᓇ tkahZ7ŠWHwL_$U޶ki#]XYl.`k/|FG$FN\xʻJ y8y srgaMmqMO?$H Yʛ,( SDD82?FlQ'q-BۤsrndvII$]]t; W;7AZYdD3E,=F2It |aŅ0l:f@X% 2ґZcsg{goj<ĦDP۸cq >0;]s.8 /^ԣО\ąHC隣xxt&03a&_L mC|I9Zۍ +V(+S.5G Gh;Y4RRnf5TqyS)NtΡ.̌y%M6Ԣb=ǧJ]Y,-oМ%΢Ns} 9f/#ཎi = Fh1.-.XfwfAQ$\97×4c4nܤڬY7Oh) G#Nd:n4~3EtW,GGmT'jGŒQVQ);)CS^:i/$,ͲM-8˒ci0hm>*jѲ_#aT@+Dъ kܨ:S~m*>`۬9|Qү|/qcf4 {>_o^6N~p_א:LQ D[z@jxT.C?>h|SYP*g) zuTEF,cQlT}9x0?bqժ^1[E@,vk9 k7ta8j+Qdeu€uخ#k9^hLCxN otu :*!C $6ca3% ~mj7h7yp-x]/2>i`Dr_3qGBkݛX.>@Ͻ 3=oϜ6boHuߙKQTԾOs|j0|dTF0D1ӕq=-~়@NO@м%6r[g{N`'D*(YF_#'cqQŬ9 t$^9K\Ab.i` I+QF҃'>Bce!ô#^?X/VM/B{eE^'b?8jR̞?nیMm2yJ57[ĕVWޞF~C֪Ci7wPG`o ` ,d+/D퇔О6O:J{,*+9_;-׃:ePly^ mVO݀(lQfO|w:;#ǒ yxhQ.I.uRaܚeHC^&vxE^2N9bݵ[D)]aAEl7dN2O2}0i;bTQpo\ "xH@FϻFd? c-#Ƅ);p]:M0eg#^6|!Ja4ez]YG^ F1vǮ0k_mX ߙCqbԅޅI; -&z' ⷵmzaR&\S?o{c;ON\3TJeMD8H#μWh/ײc`G2 A$ +]/Dmr=5-81l D6Pqſw2l[D p %d-щ_w#1@R9Yyk0iC9B9Vhk'=Ԫr,Dd|Zy]XpGTC`!teg&C(.á%gװ à Л)!5Ce1tLGTWk!LVhGȒ76d;F DX,p+9;lu7WMV WILH5΄6.NI9[G~5nHmx -浡 rMĐ2q va[#. 8j$c9W_?Ɲp?vHEQyew`z$ed.[kg;.D_s_]y rG C.IΏ?\QOMA!+}mݶ6E[U+oB{o0 n!;𔠝蚘R(cnw(yr;m:?~os/L쉰'e஋ZVm%eMlDX{.y Opzx@ĎR53* !r] 2/6L"S@j:z ȚaL/uhC5PyNr7ܝ_!6Uˏ[Y+VwgG\IWGfq۬M"FhXV+hC ā#YiGW-oTiW={MHjq FO[mJDT2N@cGMZF?S :Ή[GRd>gr)=K_xR2S^_rCl,(ufV@ wGuZ9 [蟟Wčp#bA2xol>Ar1|>no'?ts|۟.9aUV$޽DG3Q)m͖/; 9䇭o®HW]zOt[Ͱ*9I7*mwOX~pG4i%6o.:I>7xQ\ӸA`{Sn[Ex/&&B6ݒux?RwㅲUhyJm `$Ny`StS+{A + f]A̖A6j r []wT=_eǭѷG>o