summaryrefslogtreecommitdiff
path: root/include/linux/buffer_head.h
diff options
context:
space:
mode:
authorMatthew Wilcox (Oracle) <willy@infradead.org>2022-04-29 10:40:40 -0400
committerMatthew Wilcox (Oracle) <willy@infradead.org>2022-05-09 16:21:44 -0400
commit2c69e2057962b6bd76d72446453862eb59325b49 (patch)
tree618562570ea6415752e472f1faba16ecb9c841bf /include/linux/buffer_head.h
parent7479c505b4ab5ed5f81f35fdd68c44c58d6f0439 (diff)
downloadlinux-2c69e2057962b6bd76d72446453862eb59325b49.tar.gz
linux-2c69e2057962b6bd76d72446453862eb59325b49.tar.bz2
linux-2c69e2057962b6bd76d72446453862eb59325b49.zip
fs: Convert block_read_full_page() to block_read_full_folio()
This function is NOT converted to handle large folios, so include an assert that the filesystem isn't passing one in. Otherwise, use the folio functions instead of the page functions, where they exist. Convert all filesystems which use block_read_full_page(). Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Diffstat (limited to 'include/linux/buffer_head.h')
-rw-r--r--include/linux/buffer_head.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/include/linux/buffer_head.h b/include/linux/buffer_head.h
index 805c4e12700a..31d82fd9abe8 100644
--- a/include/linux/buffer_head.h
+++ b/include/linux/buffer_head.h
@@ -223,7 +223,7 @@ int block_write_full_page(struct page *page, get_block_t *get_block,
int __block_write_full_page(struct inode *inode, struct page *page,
get_block_t *get_block, struct writeback_control *wbc,
bh_end_io_t *handler);
-int block_read_full_page(struct page*, get_block_t*);
+int block_read_full_folio(struct folio *, get_block_t *);
bool block_is_partially_uptodate(struct folio *, size_t from, size_t count);
int block_write_begin(struct address_space *mapping, loff_t pos, unsigned len,
struct page **pagep, get_block_t *get_block);
nՖP&7CpLgY/E\@ނƣ1EGMد:STʹ;m70ɂ=oMr{& - RGL[?)8DCRb\# ݣ>UxhS5|h`9_vkG|M{f:)N|{N- +4쇒@ED_GEɢLWL9o2#X !dwxzcR,=?xp{#O7pF7qt9 F ԡKZKN衿%3:<,In4 1V$MʥG$A'{:P Ux%E`ټxQ! z$-R<0X#q?9d٭LgRuOc>D9J(Dʚkpr!qm@"0FnncdL=FtQB GS#z)+U ƟIm]az;l܈E(Pݶη}Fѡty]Ks9>}h{G,z7HͶ%EnV$zu=HQ؈?a_E(w3si-H LdٝX,ܪ=OJfOخ=)^1d%I\I,BӱuYN|-Ÿ8DJZb3qdq_˖A?d)1dϲ<בșwt<$KQH'tԕ$5GA$HY 弯R@\𧛩[k8Gh*H8 $iV` t% V{_wƻfKS4 U_,RD ó|u6Ow)/6w!ɂ*IISVõ۝G~DI<7su_^)1LV8/?+Ʉ+Jf5e!ʤC0nҾ%u(RڑEn$|z1 7|M_ɟ"bTG|j42xx,doD'M ^ydTyk~P2&V$)F9mNdۂ%`hf@Qd>(c{aC nmRCu^p_N,8U2I# ] $Msf؁Q^+%.໅,_I@jlϪC;&^RdɣkQw$YHz:1Diq MTeO0r ˛tumH?"ȸ'nbc8HEU4? N{18I4%6$%wiL|RZoLDʓhT"xH] quM:gs;0@4{I怊rҺ\+.ϹfrsCܦ~|y HAǽB#T^kb bnf:y6dq7 ;\\Z0 l/ L:7wL1YYP7ĸ@ϲ:y-1 2V)^ЙZ%X$K;T! \UU^SmO= kp@K~Sc4h%,ͼJ9_Nʗ|KO.%8r|+R-N& BH^ph[lU:iHmk.o4i[;6 ׯ*RwzN3l*$،T)Ym޻/ObRqB;)x(‘l?k=#J7 챼hVG^(uEQD ()\Qs2+Hv|zܕ|JGr zwn9Hz`sum`HX440vтНVSڝGEw,];va?+7+ߕ:TU@Ʃ^Sdȝc j=|Uԭ_) , YtqBf?IP3doI{ZrY|.dȓI].+օ?-IgvDPm_*-X4 D=N$^V*Nj6g'L&p-)Y%"!t"r ʗyrϡwTQcQYӤ@:CѮ#0w="ȥk/n- $do#Y qcWW}(c U502>uh9ل)L!Oy/xa`F5C_5zrξ/ZW,sߊy9lQx2!i֛o*ZM)|CĖe XPq<%xY- #= i\oBB VscX!ȼτ.bC-Tq9U۠QX'jLH 8 D^|kg~" <})G6QX3>kdٲWNF^va-!{Aֿz~ѧś Og? ^;&|⁹Ry[1"[SNU#a52U*>Wā{Şc776ޚ/F׮/6Bh ;_hab|6ʼn^ͶBJ1 R (ׁ) aJmʤ}0Dm*8oX9(+J ^UiZU $iVوANңƗcA`OaY/<?Oz4UoC3?A4$tfecžӾ\ʳ E豈2'Đـ E@U *Ԁ%* adnBL֕g8Kn/C__8JM6&Wb qBx>|OW!UY %_8Abg]T.^z._9{)8WbR.[dEO&UI%4qdCYaиp{ !QA e^)/C[pcL3#$L]K+L\,:2_G;roȹ %v|$Qx;M9W6H,\* 3ZJ] *>,_jʁĆԨl ,kKhxjhqx &#-@2%!|n-Q gFt '#xjM'f }zs)߉鑡]iA4F^&*Ui)#2;ŰjFd<>G2Q EPiۣg|DpGgoЮB]cV(g3yQ:McMI4*&XQcy[ӎӜ=tރE,!gi,ZGϷĪ|\o:M$p(qQ>dX9!19@iD<=c sh%/bs1ahd|n;_R:JA84ћ㯫6uaJ BSLf|8J}ivzgdTS8 #]"40a(8p&'/ 3!#gsd; :`hoD)Z7@k$.ڽaWBat}󮰳q9:eaW`WF/_q789;@}"! M[4zLOٱhi%cgCg .# A|Ur-O^i$Qh|@\|/GGƮc^}82>ՊZA9~[4M8kI?nSqn `KrTAf[Sazuy^ uo4n4򖨫4t PD{4:Mj,e1&:7akRpf,l'LgKg{Sά gݲ6U>[Ɲ]YFs6z(=)5Gc[3s6\jy,k|6`>5{'zGH[;hENB4@ï ]g͏ׅHIFo< AlZqI4|ؕ 6Qɩ פZoۇ<$0:-ÊNy;&! yk+&wVS311j&9<>=韶[V#'ע}l> &sd!5a\(E }ѫ8nm<D/XcŎx$Of3{7XB+(Њ =$IwZA,p9r;Vj)ϴ4̤6^Fr}=^;g W{4X*컯k[w,1L8<](A|cȺ/nydSXcA1,[֜BөajA8UYTVJ!D9u^P['0$ktL2N-O8޴M!QcUktڭTF6İ'?bD|m ޼uLlq 10USt]B!(rF"Hy1]b:u9WQĸ?ؚ$E3rnEs| oy ::srg%w'c0&&Wk|L1v51JPƁRCxJ*=v}8`,hhS>KF/ fYGQْ#W& Sa#þeg`$kJ  _E;z-pDIRYLv=|i4-Yס]&[Wkryd&y>^MV6vꨦFSQMJD :X it]E* FZ_̔3Dl%xtzFrK1L^CDw^:]Y e^=)Ϊwf^q%rƵRZ_a37=syXf\~s4Xލ1kL^ [qifl̳Ub7p4+lL;IJNw8K;;q=k9ޏ]]N5Ow}pXAx~o=)D94SfRRlP ^jgS&Fr#ˣ]drp19!aO}s#<Zוh wpճ64ySU$L\.g/7p!h4nyr-]LzAYwN@Aku#SwB˸HytDj-K*QYy3h`U&*ӫctd_DH'q݉!L}PdmmL Dv+w- ś">,]f`] N<"Xq,9_gB&`Sy'{km}f^*T/$Ia !]wS4'mUBI!Mɖ K9 @dlUjB.9cpp벾r;%iI|r"c2yғh̢Vn^'ۅUOzve_:ڱ%Ga Tty٘k< yUj_E2R(//8{ޙH``\,o. cjC LݕN=婖 iA+GI{?Wn"b3]$PD(%ʮj*Lƞr Y+`XFހ;*;{ Pp:=%KjI-K%Uj@)oi\WF^ίg,f`v{ 77/ˎ^Z"@]]x'_= 'ד*nZZkFQJ S'f_~aOy%{Wo^ܐr 2nD"7ȗVՠ$d%+m@1.B3+*.x;]97:;jNԵ덍Smd4>9|-Ł E{{'Odwˋp .<,l6"ׁ7wi1,jr{::\/czv8ST$?ӚK ּ4kMܹΧhkV]d8óQd i^-m\{!: ]_GXG_^[cG4LN8`mC?SO\ћ[zOFpovp 5AᰥC#Q*IEcZfptXxGAR<*/.ydcQFjpO{6p:k[zZ]W%V\E+l%n w={ܷ/.@Pz6+%mM`/v ˷z|NAC ;Xb+T(7lБ7w#w$$f׾t^#W ը٬i{de$[m$3Ș`H-0G5B场`.VULiT$$\'YeC)5+џG ]_h7!ړ8x=0S7@#~74iYhT+T]c_gq%#Ew0WqOnaq~<24VTE+)˲XAFZq%ghm@x)#o@)WDÃa0/Z&lܽx)̦2PRZ$[j,4z&>havDRќµKa(zw'[Fdf3 Z]FERwʀa`HǑ':B(+̢M*9jRM{lM&Oҹlj5Rx5VH8|1wi}$%)ć#}mXkH*M2T,CCB.hG]' DyaZ~  p`OwtHO!|;aonӾBzf.jNS&q}TZl*6LK{Ks/deV$;IKuZS'6Jæ")JKSF,+\p ϻdj^3LhcןHsXK$ft~qs-2 U\sp} /Y1F!{hL$\\VGꭼO٫wm%v> #iCxu}n~/-x']5(4}]1IjOQGtM_{C7Zz 1sf(&-[Y{۱IC̝QXɾݏ/<ϚڰVфd*7:4˨ےNdMࠅa(t}Xv؋U Ԫd%g ^M^'tWlԋ]Sl9<2F%xUtB9-Ri ȨK)&ya].(ì+J^o{:y1 VW?(6!jujWc~,Qx_ٻ=L hDťI“Ix di}"\qT-ܝcP L{rwZo yc4#%aD8#ܫ,?R\.LdB0ǮH4?4[FgV4h7&2F4X '*fvgԠUD#nhi|F }h]Fa adZ~|GKRЋ>OLdMs%Z]&݆$Shʇ%~@^ڻѐ\5_Zv[#PR{UD[Sj^dDk8ݸB  ".e#C5ڲ#ޓ=;ö/\Йw)W+Nfu0ڒ$c+iE/-Œ蜓k X0PԳ3T#޻ɣ3,V+g|~#̍)k֒VށrWZ>tԸ?vРK`RO 5oMj ˆsqB(Gsz۝WjhvItzK 7$fw|:hS]ΧXH)g6gNv{g- ;R\nN/ȦtmtdNί&)MIGdKU2 ydꪯf9ՇXհNV5z$9Z-uJutx*\pM YRi yZ2ax}DPR ]jZLTh~PRSWwYY䘖kFQly3֥\r0# ;xfG4+`|4[͕͗-ût(I-ŪՕCl7vpNFdɌmD6?fx?aPgIıL* 'yu3~}=ue[^-ҟ`(3 bG3wO,Rute J(P~~Л=4= S>@G9W97dl %^E@S*$u/(>GMVO%Q:"aeUoՁG5UPC{qV `w49L8\_6բ?O|kX"pM~Qd&b_RG I3A \,~q[v~{%oJqlj9buE?r0)FoȲ K0ƨ1` (@3P7Aݣ^*lv^g;v1<\OiNuZPߪ7GfZ%AV+ o´:(UvEhЗ~F>nO$:A8" {;d1E>?]4ڸkGꚬ',be%т?w]g+f 6!Z_,7ɍvbX%n; F"F`0?>KBD+^x!QoL-` ݗW? 9 5\ YмrMHnBV>^!~⹤jIaIljM}EFٳ,nd,q->]+Nj/z|yQF@aځ6FaU ,`KviF(E@:Jrn=u5![Wr+ojdf '~ b9jwޙ*f[w6Ӻd<;66̝תm  W(\ºN&I4 :,GZÐ>A7ph^| T|o8X Z 6$P0狉^(Vbvw{~2[jU2͜,xAl,I7́~Y(:KGQ-/A!b;Va-xGJZlv2!,;#Ŀ2<@k-F 1·$>ODGiWC}HIX/'Ԛ|b;"VqF0߫L~_HfԭZ-*/'L@"uFK#XEZZ<:wkTD6#A X@9vL`nHSD$3brU޾$7d@cNԧ ux3RR.tInsݑ3w 9xF 5mw^ո]NȲFשiIt%feԉ4ǿHb Hg-i&f Q{ZHdYV.β]HjQ@7.MoTwۣ3wB /4l$ Z=}xQ 4s֎QDn9Bqz$Q;>;;=+$#~'us>b7C/q }>]ܸX7vEʡ 0y/TA@67f W(~( /L-Y۞Exީ] jRC%_e:yU꽗FIT+ޒq~!uRa ֜$:]!g7@?dā+^JxeFK{Iw k4_I#KCoHvx"=MSuwU9F'ϥBD!"V?W/Bϖ0-b!(^ ld˃u8[%Ev.H*)Os~h _TB%&k;y#Nq*vJ&+lJz[S3ޡb6pS^Xn>KàÂ`%E6r6޼="MoCnėpd#y Z?J<pmlɛW'pRqLa'r0CԴ;q51>G;n&զu&M5Q0VW`vhT0B oMSҧ?Ȓ[C^Rԧ+5!U]d=^]}7luEO%r-bϐkL%3pЮc+lh,5ݳs(Gժ M 0EZ]@d%Y[:7'Z٪KP+=Pey[_QfxAֲkH&r9aȤdޅz Q1)k5qd1$.s|p%Rq"ZIZ0[Nv]wT cmz;+@\zFk>Y&.E @TNK%y:SKEkI4 ??>dשa *t接vnDũ`%mUt4Dhll`˹4_$qHrnm:v~ +ػ8 C:&jtK٣MPD}JQImR/=2zD/RXzVjFf@fPMՄ.B  Txv"w˱LݑhK&lW6U{3}vԎv=fvZ43/+ԂFD;1.IԒ+=FYЈU=- '"D.WdQ0u%hPz#$yl -Zp\ҵ#ZȄhm@u3¬X ds&Ubw97ZM?]B YJDGA _E;Ϟ]玈m UA`?Rw:7-Y 8yD?d|f\jՃ3L79kzb"kAjC} =)qUid_$38v.+q}RBjMM6;yS}oWj4 Wzo{aC[LoֱFxѭ#i>K|phzjDV [}^knTyjиqɚi$keWm?W{dKvIƫ0HQq-,[ X@2q t[\:)3n_kUNЌa~g5% ͎g*?ܥnsK 6B[̤5:y\gpڑe1n;剾!0$X4ytEQ$¼>,Rֈ(*c2IC5"^skb Vdfࣾ}Z4Un'6R9L*?q#QeY^FrObvQ$ͯe\0~TZl;Su|[; IñNqi}6PNm 5:-hYq@:|AmP2_̈́ʴ Yz*0߈UtcOVa0;3(Wx/^F ah'>Y$<-j}4OU3^7¥}>V (O1rxq[{.eL2 aU2 d-nV՚,] ͥ8ۭM*\she -+[[6V*'<}J3J${ c >ۓ!dhyHA|٧dXJПI6ׄ&g>?N06]9l>1"Y\Nd[G#ƶ3&~!&=MnzP}I`:Y/eGPdbu!<LU""7X/EPR3U{+bר)$\ D.;6 y$:a C>D\<6&פ ~Q z+8g KRц~{kVy 52Ҫg&'8kr=QMg?%[w# ]8f}SWPgI[j TtA]RmPŒF: !q`63F,spG]nTRO tZxQz"?ar1~(EgiҢޝ+zGzrY]LFXHङN8։GqH/T. n`Ͼҍd窋Aa S+"lgYYϋ~|[.G:n4lMYZ: +'г`OqcvɭnjWvrT ҤOp%n!t!1$? ?O FcKECIj,Dn[듚j԰ :qS ڠ'h7Ep ?0d$$tDŽ\'dQ7EΎlB5?::Z\>zb~2l^=ցl@z\|p6(ZDbxr?G$5" F0\nAd켻)}ʒ4+?ȉK_^Ut\Wh2&>6 Q&N2$Ycwy D?7 Hɢ|.tinlZT4,J\ ԴR]cPV `g? Wj;-֗M@Z4N-I0j c7+$hhl3tz`;s2<︇/LC545iz*Hr! B^}/ Z \8m~oW >ZۮM?cvNo#j5j)rmo/ΑGf'0D"JNJ~:wp0G;8v;pԘӪR+.H-Ԥ֫@HTIUr#@mtCA~Z Ǽv 9|;(1h#̠ܞQ~-ƧC|ЎU^B:jgNFATs:iH3s'wmp=1YS8V&d3E!,#tJ)2bfZ.@.&JHbtpx̢ vL;:mڼS4+{>v|f,$?})рzݍcSԫ$;;z,W7-I# T ̮=5g`LSsiJ lB(g\([,7~eO.;/?y3G%^}吔5];sA~aʃ"IPDկty)OU]/g"?^f?f\ζO$e"U5 c6ߓUR3 Eذw>2W"P3E.olWL])[B#1TJ䗩sVK- lWG: ÉiS`;ȜK?KPWd؏!$<{p+=;RN ÅkS(ˬu2.bI}/YO+D3.5F#R__rޤVuє̀zGU]ZARWñjM:.m^ySy6ʫX8(™t޹A*4k[};Wd$Ѻ`6W`v<Ad ޷⥩]ķô.x>.i".G$L7m%], aLiJ/r ^g99$-=u+6^0,ֵŬvIMıPQl 5MRHѹp^dDY:\iN/pF}yP\uWɠ1jkVMk4Z6uȒ UdT:*+.9Zho,Qf@.nMs!g`W馜Py*,l乞' Ŕ2X$VQ&׈wbdqm~&H3Ꟍrh,?8 >F8D-+[{Az#e:»Ǖ,eMHɈ`ѺLd)˕]g1{ SnNGP:\͖jtT4w?rzTw?/y3_5[4`N,5o2!ּwrօ>‘׏ D@CGm[65T4>T" QJءSf)"u[nƪu{39UM!W/q~lĿw` kYG ױM s`%WfY owv=Pmosѵwj:+}h]a̓/uTp&FOINU]8 Cw[rPA;w;]xxvp>V煻 D,9k,e/);k kmr1Cle΁܌`佘O9JŊm ^hWil6Y ۥF(AbKAӯMc5JiE*w *йE+goXgZP0r\%uYrv}MKʎf\Gge0_Fe8' Yء.:@=!'hzKIS<]kꯝ(r[SPnԹ]]Z.HĚ1Pf$#;+Z+ܸa%j| ,_g &_ʃ&yr>j 0{z %R\LTxK&H%h`\%;t DNFh*O/I u2!n簗!eWٷ+6_bOI6#ݰH|n.;V]\ a)ǂ#^$7:KM癅 NHW%@V^*WvhJDu07#b~08.(-@KKvc+Ԙ0_^\ /u0f!O.h}P9wZdPMEJ:@׬B2V[=q;w7$syRQjcRƓQC5jՎRI- 8. G츐ptOPf^dS>PnWWoSrCq+Zd#&2sSHig$`\91@a. [)2 ՚)ߎ>Rtrc._EGHR$$QV![vsR[VTS+$aئnP4D$PaWS&[L֒n*/Ǡ .I!7-d\0] P܌*v:Cw6+ZqJ& 5ҸEJR܇lhy&Zh"KމAU{22Qc]\%M1k:-g'a@3";6 &Dz33$s:'̙ۂS=s'rIcfr-D]XӲ'03O@IAOZH$o(a3LMa7`3OBfvP  ٬y)G.&PG,$vy&ۥM(x\DheS$ FhC m$.}UTu-0^rcyg{zcu` 3^0A-Xd ";i:zD!v1 B_Y@( r&5!E+Rqw-VMU3\l_Mۈ s qZ5ڜ ۅ:;bָp yUB^z!03~x\1`y1B39/>enmms{/w40NIǩ"U MC|vQ)C <"#,u}PRoc{v]n|ĨUb4fazeE=2jYHyvm'nXTsh~>>uшÖ:WL&*<^ڃ9dXtrxQ> aaܹ ~FV׹A̹%B,$T,F钄IEf:gv~Z'Й7;ۤL8.{z[eLGvwrBy L#?~"v얜U@L2 %M\U&GYG2gF6/)[j)<=V&ELOͻ 6s8!$OnU ͝MB'1"GOp*…-fG{91w8Mr/kZ!/^,X(dm>Svvw^8"2 RVI %gFVo৯Hn@%kM.ֆw䳎n~Қ2<':bIms|5x)(rLj5pJANPhFJ\: x6aHm[@8% /&?"s\1Zb6CIږ6A@Ԍ'9N¦cR@漧s70ޫ+Md۝ZxV,1SU҉P7qC\b[f_ߜ9kZ|տ_!F:aE/'DGDU EBfv9vD]jds'}f?.m:N"Pv2 ѥAo^RiK胀V/O(-vSe0Eg46 ]Οt (/dIffPE+ (/ԅG^ |ik1lxx^ێƈٟMJ? &5bP`nY4. Ъizg=[D.ݭCo^:^`v>vX\K=y hRׂt=a] xHV\2pH&ndfIYG7j. u f׀t:Qv%0n0=PIojt1-i8AOdI= L% 5'8UvH|a)+^=QKBzgc&Cա@" e纪ΩIe\-v:|D;ݖDZ9 ̺%p咶R!NxMT"vT$M]購>_#X+blN2[j`}vsj5ڃx5)MIE%1ӵU `vj-8?=?㮈Yxc+ϴ\r)]KT4jj#*& cÒNaUY;Z֊'Iu N;0Qh1-'u ^ݼ>6v"gXN<,ɐ1c wTR͗|w!ߊ\'CveXvVZAZr[dm<ISqcXS6鏝dZFS5u \-Li K`Nrp9Qj#\3<}`(-s)q |qeV?ڀ&M 9 5PN6D8c|f<)X悑 И XH' !t7ĴY{zT/AW1^iTqqv~TjX=χ)RL.c?v|/sTHȶ6y>(=4;G 6B7&7VnGr;R\pQGލnY kWN m:r>Dn4Mx9:N^bTҝ3ƴ-!_ ϖ7L(Ac  L]{ @v Љ ],K.-ƕor#vtn- |+|٫}kL֒'I-R<{K-~tG5] 5 Vouܶ}7p`OAT@6W>u& Ytfo3R &[Tanv괄"6@ u9 ߷?xu^yX^Jzvv>-ٛ\^nv]A˚ ]=AH*B.7Êl_le^0'/ 5$ft$ғGS 2 σsv )Ѱ @ԁNK2AgV)B27hkZukt n&b7T~sf"P $=p3:w3J3o>|+Ďg Q껋9)'{k!@Y͚T*aF6zdAtg-@"!س}H0^ 293܄@Sx!4|ھ%֐t0%zcj?[[<_]gBW a4?aj 4kmwDB)_dB$.L||CC&72FjDj¼4cGfcrd`oU±&kb.5_:!۶m' Ķ Cޓ 9|tF0;=:@ Jc tw ,O%2&Pޱo$OpT8ZV&~8s Gw Ypm@EG3/;–;'Ӫj=o˱36wHW[wiZo4؋m97#n5+@*tۄaҫ1j%Ewza.Q^{)G8@՜Z0wB2!0O䂍蝽| Y뉿NמMʵJ7 O#^Z/S4(>Tg;Qp5" {ZP{Hr@_ELನ0NrxA&KG)1KF񊔇T9V[K"{9HR#x2KUC`&3W!ܹoDŸ[xVЊ)"\>I#rA,55'ٗT̀(e_34+h3nbNlcIE%v{+d r;@^ DVPe5-7NRشZ;;o|85:!L2`\؀ {bgq[ZUF".GgE#e w4|wZ#Xt~t齹@A.TR8!D6D,/"W!dN=;lr;&r nvnn^'$Z[Xh@UJÊsνEg[ym{9)t@i/Qݫ#opIo_Ŭƣi?9ϗ[q3"  u*So4ڈ s&[1\sBxDI^rv" Oߴ O WV-?8feefeF+(RY2'ת5<{x.8wRzdC1yvAA)c!PֵwsyN8 ˉyHl Hw.猍WAU.-[~Q:4X> `}fBaLqK)bv2kV51#QKrGpS J^;{/@LvbhBzl?!/uv7ȼ LK)b(Ѓߪ'. ɉ h˓H֕Zldqp+۽9!̣ƬӉ`_i\9 8W-9Ij֪z;lr>!-Mth\Yl;wezi[{/J lcSIi_.i᯵j6^^}g֜ɇhKcX[-׻ j -͟:&xzMjd_oGx$f\xՉ2WSF2]v'2˰` ;Vor-Ć_LI_Ôo=RU?th zO=3*mQÁ[{ E-B7Yb|\'(;9 CKwHKҬjE6-.Yg6jKyCKM)"̘LWdr|CCwLac%CJ~EDݵLg "87F489{[xiVĎ?AO`SOd!=y"EM!{aS=< 2;W)BG0 M^9f{sx4{Q5JݐBZdV ȜgƿQspP{ԤGjMm;PLfH¶CU@|yǨi{n8*N#x"$w&oܪՍ6*s$X,A- WPv~FY@ٻnfkm5OBbk$؆Mqɲx sz 7w=ٙ-LfT ?lܡ͈Dj攤]4+P]+ĐvҬ^?`'IFOcF 8}[1&25n4{,O !K./ ‚Dxb2%-f\8.M>Z ,y7Ǵn+ɽ1(Q(5ABt9U!8StfSe)C%}Fथܗxg~gF˙ZնZ,;6)߫=TBAZzFFL v$AVvK{N 0 ,2n]}E֣<峻rxwĻ/_GOۃF ׵ԫ=OzސF#~~I\n[QZա]Gz3&m:Ho`} [;6@V^:wGƜN!_J}:iΤP$u*nj׀TjHdٜ}dG_J-Tz5 C2*NB=}cZXFa+Mob4(s [uqۧ]sZ QxTQ8|6a0ԋ͒qXqj[Bg3 e;"brǛj#!ZQAMxݘOKmP>\30iuRbLB5VિE Zy\b8tD:bҎ9wte,$5O {]/4=i+ҳEcXE{I6']'Կ a?YDeh.k2wbMrGK6vqaҔJ~VWxoٿw/@{gF"&YKV .zqL#ƙ^3U =j:ߵZNM=$L7I1٨1@uY~>ȴuRo7Vkh%*bkӐc׻+pm%]vYfJN ΔAOT14Kœ.i ljVPerPi+ rG%'8p{hڪI^lb)G&z6P&<ިwUs3n7$?%.WѤYу`gL]ybn--./${qdp{t4Us:d2UѸIî9UjuԨڮ0$mW(\"U#kpO%"uغu(F {/ W8ުdyGM&n#k|XXkeZF*Rc YJ2DvE5% sPW؀wNo^ |> D2i&i'$.Y2 J"HuV|Y,a|Lk`ݔJ)u~^̏Ü8T{Jw8'bJJ _^Ж\\r\zMs 1]β4;K>ԏ#ّ2]OQu%)])GY\Ւ:~hX_.p ~BY(Db ZyEэvh).F!X-ٟUĦIRZ):>T sViT;ڰSC|d=UFmp%lpdڛ{x+Ӻ Q\l K@{m'dhӑ䝬@2Okc:kNguA.p h LxjhN#x :AJ>!3ze<\&^/"V׾)~@lG,h#wRbD.fuչN.FOF~o늴噪9ftyv4B_ i%ߜ}>Ɉ$;]0y+ &5Bkϰec;q̡6`5 Frk:4YᩓQk(21ҵYc,./o h&,ȯE}PmE.?;`kDYbz*s懋dsnM&{Qx8F߱y>M6 \mg2jE?]Kj1H0OPQ`54Z>oqK2s⻵c^ ـ:Ya#Lv"p/fTEeXЈ2ltPrR`e@eSh%D!5k~厷Σ/N(HفJ!`iDu֜$\Z"ATCAIyه? 3:]֮tF(5[/k\;)"Cը_u}Ҥ!u}.D$bjUplCتvAE #3|H FWS$8bnb{Zˎ j,$x|WWrv?ab[k c ֺ1c?bc-0L;}h'IG2 gˎcB^A,r?ms3N˼d_wKe`4M7j&dMuAnWF!Ҫ6 UO Wt)}lʜo!2[i>ont‰? B'~$u`BԵ Lzܤ? 2'MFIO@.RjZ+##J-Oohjk4Zi>$1e4h%hC3a%D4%d1DU0F~uHWN('sԻcmIsg\{<$1M4/@QBەzi "xsعuRW}_J6 w4[*eH^[Z;:DVjtf*iF5Xr5VU#*QH>5uuybuBX4#"5zԊ>E>CL RR>l $iɜZFww W .7C14#QO[Y;ۤFA ]'Mոe $W}BCy5 .ju ՘LǪ3y2%3zoV7ulOUmH[B̷{KƁs!OJ}죶 LKh I9?"<wrnH@EfMM`[LTU -5qY:^-&O~E=VKG`}-NP)GjX8B_>74Bc*&$6!Vnw$!` ۝b:X¯$p0H@ꘇzRġp|FQi{3k)D}a SmmV:o~5~Ӻt/'`=-uNxzlP֩+|5"̗WrVAO9>>=[.mŇ~HU, JY0,w_"b9bIcAc=} ?jÊWz+}o>8iխ EKNv#55jsX>Ivp.9AoɬBBU(ybC\vGOש! >g7cפޅR~DlsC5H3G hbCwu^sFE<~칉9|>72ڷbT}&#uu-ͭ\GB;#57۫ɅBOftCW0h@"q g*7aw`9M]r/h|06֪ݒZum7璊dGLp"p{~|NS/ Og>u9̼̋W2(B(n/:h[FdF/eY+fHzB˼feXѰ Am +8%'`)]ɱΏItqiqy sw"iC7Zi.qR|c"6`ƵJzhKZY~H v|l6@ɮ>)d9m.r8q 洦]$}jMTU:%մ꠩*lsfc;.uнF͟:|bƾƽΣp i5jd:vyqv>wTmmYES:X+XC4px>R"HHэ& -27޹Kb|1ݱ/ȡ@gr'BViWN5 2B1L^9VGmD6j,Nܸt8{j/6+FR` ̍gJpخ5;3lUuRjyRIOJHgMH 0tY&ml* 4Jiq_E$r@}e AÍF\q,Bhgkֱ>V߄9D8O޸ ,!ƱțX=on|F3H!y6qaHx)cGԂLywGs|4^JLc S%rb{#/){Jb$q X2zPlpjV3?; |N]]8:9tui\; }qd/Sff۵VKP̈́*|]{pW>G=]Lם^v-z4Pf`{cU@aHVB}xa9 ɎU~Wj]iEMfaPbNRimUrwF /^o)TNƚ{xra ~)  /I0m Kry0:\kUlߟT:#'Cuk/cњn wh1+w\Ci%zG).m YY A>q|[^\۫֫F sj ;:܆GqWHZ~Zs>+`$}LΏang[# iN<=#+| xs$:X_2#Bf y4)" K \OJ)F #bIlO$EJ[eSR$u"Sog.(7t,¹T-eB#[I#H_|B5~D3P3*ç7Iۢ*6UT˝T^mҦ0wV8J5Qȳ~HtbNIB:gelx$6Mv 4ϓ޻;"w >Q U>"H,v9߻¬muI2f>P8E:"i4hafb.o:*/lnI*fakWawGn 0BjOTgCz50%Mv`FS{Jɾ2OhdI4 TW7%=01f qZu6 K\=gI E FwH m@"_u(WX+]g@O(US $y˸#˾S%%,Dc*Cr*vӒ5dxtezOr , iĝ4 yȓQv^|ngKtɚOɆsq7/,7IZ P ɥRS&k6 b8k`Pq|44P\ۭz]:5| wKXeoՌ_sK.rs@5?&^"&sy]f;wʋ‹t:+ⰕbB3'Ur8wɀOq2Ys-[H=}]$xOf-Kr09gm~a#S#o(Ɏy~8NԳ㑽)pEHg8a䏌5o=1cw} |I9Y3HU bh }@<*; u{Xj,O~v>_BE yױ6m;TPC1 ܻd--xV{_7>"A'猂rV52bW@8epP+|兓s2=2{e}gPfhvZdO; r,ż[w;[xdOx[14)%DZ'4Y-*+T&TݪYji}z h j޸l9 ф )y_mɰxTg1-ёeě?N䆉3L\vG)%Dz{X9HgLsޛ5i l+YG5x4,NE'_1:\Տܗܡ<$BG[LBXM&.fȘKk>j=!Z*wzuID}V!*wP{M+lq 4Ŭѫ%j5|/hExF %Q `{>$&H,8MNR٪^I:]Q)N8U2FXК_ ڭ[`:d:Q|[.cdQ1LejhGF(CْV;W~a`Ieߒ!8oK#7k 'PQpO+D-s"4GX8"`Av3*e/ R,,wCQ7s1Z4bG r /&ÙNqg$}f\3$-C5Z \3ǩ(Ȉdof%8WyItR%}e>?_#B8Jцtm΅4S(3Rq,R{Bn06BMH_yZ̟}X6^#[ݾX pu1c竽zB.Jr̶YaS$$ʨ0r}ZhV<1V:YƤ kR)0*,u+:\%mT%2ޮ5j(L6γ(6OlpJabJ虻2Oʐq ­y`R}etapćB yf|#VpO^<;ڛN<5rBjuh*@lMv1Fxe\ݜLR@T5kU]MdhGB%V*"*j՚7P]4nUv6bs9--G婽w(!m^\ *Km1rf w0 +SIҺoRbHgJs Ւ%!3]{h/hq?)fTrR\P6c<- q@v3)4K JI¤RRwT"Ɏ&AdxԧbQdV \RVIgq>?ȵAmb>nK~X6)DXy 1տsG9Вg7SA+CyZ%K?eꝫnDI-ɬ9,6GB#wp ZK*3S9ɉW\}]{*1}zp%yX ނX 'gB.pp1cR51!8G AstN" SCf"#,UvISHߛ29?m N< `-q?&FrL*DT3߸k#@[]3}\"rzIMcؾGsxd1jX lunpf9{ND#;B'W iY']cw^|D aI|v:BM.d 'A \%-+T0|!L"6#K]O?|fHyoFj>}3?Id" ytjZ$'x(|auO};dQۗ,?o[_]aԪ46ג%_ӦLl@V%Op^?'Z6$=Ә.!dC ^,y+@O%]cńSovf7X@nn.3A%kcptyG %/Dah9"ݯ"]&ه1߲.f}a@K}95H[ V0w>-{SuUe08F7汇)q/,3m0NvLPjn>ib֑2tZ?EA}&sѬRv uuR=P@'K-z5HK$ގ- v+-Y놂NWB>}~˫2mY+E/k6tx#mf:3 'Qsۋ5&w٬|h0^bAld86l! 8U:q"k96ʁHfPtkjAO+C䭥3'՚\]lwmh!ӫۛ7i~ZdUj [W(\R咘ht:9q6b]PПuK3XU# =7p+?_VepU;W#|B%bvӋ>|\D/R< -u6Pb=s}8T(!(H $߅?/`_ǽ,/"7qG>Og@oHj/Ap7#´v ѫdPߕRB;٪8$B[?` @te|U |Z$޾kI/K&SmETX3TR,tWn%ogtG-V$›.o^ކWz5 饉* %&-\ŕj6|o&v,Jj3RhFg6֛ d",@,K-*[N q6N}}+|#@SBp:C8/EZ0U܅X@vR{6(0C I8U$;ٱO\"xtdY$& UJ=ccv{D`tNUߩۀvM?m6Dv'}D wlJ<6iUr}bIO{LRZj& kn$4~%ZbTܩw4uJxOTmL:f3I FS t:cIv*&ɘ^f4Ilq;-]NHw`xbJП*+P3IEРIr<9wQ d= & {jB FMj U=Ӻ18Tnx M6^Ԛ>YMy< |R &We$ g y8!)~)O'5ak;6Ыl"$w 4^lcɮO/Џ|{vX<.ǚXL㣛GV 4mjXl:" j`h'9i5c 3CXKoJ7Lsd':4Čb2nU[JX4umP!SwZCĠ r0 &Qx+}Er*6:Va4-K e6R*o9:"d١OBut ;R*MgaPP,vI_ lđǒڌlDЈF ]ܧɹG}PP ndUg r>2FQH;w\P. j2^٫}+&p~f82%ȎSJV795d2;لƝnM$[]Wo W@ KGϮ vZ܌*[u9֏υqiq:;G<0 N&˥.m3A1> 1ng†RS[啍jG4xޅ R`%B{ԜTktVkȶ0\a0Zl$m)[;vvc8qX½,Pa՛ TfE_ M"DU -4r/\KAYTݹ0Aw]FM m-UVD&f,l!p3fftQ @ HkJ' W w=2Ԭ65>|tuQw`}=qKQ!N?ywu%b7C;Q$ph\ &寓@fxX''QZjT2:p渕R/()9ļ[#n&֬xDNkٳ& qlr˥r<wUAאzlR~\ki\aX Wcb`9Ѭw \ڻ1^;!`a[éߟ,0 cOֽ\Ɵ3#c;.7F OJF0JVT^!!B.?!yCjN=f_[pdqv ¥¸Hk{loz<,.qƑR6v0bC{uҤ̎T7&&3߀%|j65v ^<:zlo& ,di1)8!9W\}KL8FC*Qa((oc3IS!u+fQߞ_⯛ Qsy}ݓm+/ }ڵi&{ y^ QgzMba%;S)Q3&:%%34մk?Մ 55'`l+\pq-}z\Ei'4i&z9WT ʹ`sl?٧Qf?M"-IY\BUBOXsl=1 7Pߨ&Yr+J<(z1yg d.u2Xg./ 8`P~P8VC¹ aqכ2W]Mkp!tO(xx0A }M۱UD'{Yn)*^c|]уv8Ͼjvn+f@тeռ[%&s7`{6;Ӌ؄KF#DyM P] ;N鬞setzT~ ]Ґ0qt Hb]ci[UX:\[(U0Vɾwrq-Nʎ(J.3=8og "!)#mOX:(FKSHZ+uR:m6ĴHE𘺜؞xĐXql3>^;͜ Abf.*KtgX7e0p$å$yG7GEmb>MeV&)ϡ"/ 3)~9)0bnxM Mv|WT`Z--mڐ3LLgIvu"Yh5t=TL{K2 %Ѫ~HI2:jo ؙ̤b'$<cj@K53vVk p'NM Ic|>w"1YB濰C !҆ Bo# ̠%YΚY%XA46pR]Ax9BNˉzjT^''e/3 4H|-"Lr~5.&ϜPd`&Y[{"iLԴ~ T DңY/&`AW̋YZhg,r[ZUzp 8taԫ.@r(`_蝨nrgG$9%x`rلdF>{wQ͑b *7X5G'j!-\բR[SEe Ul@cYz~}~Ci!4 [ס( ;V&=g.fz*s XJaP?۽ME%ó0hu=-[DEΤ+āOJM,s@K;P߸{޺ 8YjvP[vM2hQ70k>DT|a1Лuǽ-5 Iԙdnp%]z=Eqs=#aOPL";wœ-BoBRx7Jm=1Hd7wmD\&.UIuHFƞf1R_xI ˉWU>P 8EDh l~3li ܣmz]Rj4~4/ة;Ovi ݻa y;쥥]0>c=:7"aw;wIVJ@>J*\> Yp TX\YAaxa^7RWsZ}0w.|&LvZjIg\|XS~ @bY~PFpYyOwu1d;N&!/z˂[:ゴR$͒X,jyeԣO'(V1&(GG# "|g|~1wn'\61s hj5h(: nqT8B ~j-j(FFʊHw{o[ٛ -'9~ L Fi& s 7$o%) -1URϨ1A}C磲W8t9g/QbgXi'J;$@vo57 5-=S)wE2\7wĐrq/KJEË4/?"fmޮӬusX-^o[bhًZW)@]Nvht:fN_KtD K;W&QI3vnS yFnW|D rݪA{uĨ߯Y~'MWW_|ON~&8h 2-dd”]fu5ܢm5LSXg JEC/1N5 T`6Pv祋,")3"Jrsh$&[VJ_5#h%e~O`eGA+Am~2# :"M;;Am"Lp>(nG?k`f3L:mБZ:HK+/xoKZϩ|ш0 +r;LRsE_tVr[L(A.tWgp t%}cj@5 +.SOlxq43;Zs-0C}_DR0t Y>a=a&+$}2&@~U[BQJF_@rsA/ЕM91X俺w|T[[.ErxQ+ޯZCH1y[wċ{ 1fNs#[9l,N]~|U:P)j }pfXo|P;#|%@?Hv^YaVjcT~aU|cފ(I]A54]j2s5ᣏl}XhX#k+."hߏϗ~7Jo{t}gH>K'0$dn^bs0o_#7PYBNݴĔEذ bGp_=leW0)V 76(/7eo}6TDe @܎P0ADc9[kAEԚפG(]nK;)}tl;Aʉr'^&s

<?yt¥kH'It}ZfԣW9N\џP*{Lj|/j?|uoc5>BjPupumڙ,VQd?`{{a`yMϋ Ft-V OV+EffXj/Xh[MI–)g,"G:"g$E#ڟ"!+h07%W7))VGQŌ .zohTr&ĕFkQ##5oBcEÀ>vV?ⶊnw{zxw?_?3Y3 )0s|HԞ Ukusmw{׎ \"w␳QG*fXFĚa:ټapFC %C 'xY$f$O]{2"Lҙ/'Ld=!Q+DY|I2s__6{_|OH$s#^E!_W n2ҞզAM[CZ Zz|ee*Svku_#)3KJ6%jɳͺ@VG"VϼupR;0Xq ˒n,P[mY相!>>~t_r^_G-T_ U_^U?=?% GL)|@}0qlBT?[YNb\yx#$wnz/7vKC3IR{/rݟީpg#͇A <;7os-3/]0 {wbh]!Js02~aMHo'sE?߃ 7Ksi[B6}.j*_"EYq 4ɝ` kX/FO|rВ+s?0W_a~%~!ٔ{{ K1ܘ}dfy-! q慗|:PG1Y{<BGB 6/bz7bmP>E].= .)C*]5b{?hz:?@ȧG!*`wo VN0v܎mi*Z>*Iҧ< HueNc,r^ NѰaHEfnkgŋJh B^M>dr[0JϹpfHyM + fQu=?1V Hh''IAc1D=?S"4i&Ѕ4KM,<и7zN@V_s W]W==ٸl~񥿨\n~ſS/X;q~长腵+\9ʯNoyaLnhL_|/L-gz6~N3EO7\|Z7?ǻV3&+Ǎz2ЏtIwåǒ ,FJ"KM$\ƴ iqwDb E8P#g?_gȣ jh\y#随_ 7&`2.iF9@|Yٛ Veg?Z3uU}4šVD~ P.giY)P˩ܠ7uh\֌V7hpጔD!#s[f T(xe<20_?pP_;bҦWX"i]VCwif."Ͼ_iAo)&+̊m(f; 7֣[Zy،4; ;^:40Alsc8GG5 ?aBۑɎ3f~Hi߈NǍҝя4ۘrBɤe$aȤȉ>hCLG9,?_~P.38P$G]__DE O?A_c9O}~h{Ux)5K3 ^e~1;~=d6vx?gX3;Oޜp YbMW^\ (ڑ`:eLEdSԝw$qρQ,`oI0u|+uVk?Dv/T?WƐǣ۹ħXӷdݑ m!n\́!f& ~I9>lgU9%aY,ZnG_Hrƒ+y Y٤Fp8Of/oy>„At >fꙌOd;7l6q jɻ׾4UzV'&a)"@RY/PHaJZs ώ2?7:ߨ6w~$Ihj_rD0_K2[@rS]G<7'SGOr ;i <ߑ0}%wF?C׃Xu7!걐I ﰶzp;[03AՋI U^TTL$yJ"|>MY+D@2-+(V˾W]EUDR_9O(惟e2*F4vɽ7R?/qYpsh˘°`2:N|F !ɹe-xbe?ށu|c${]iV p@} yY5Ixczlpj ;.0?Zg|?~i7k şGB]YYא~~ rDB^=w??q[҄zIկyǑ$Dh*/m;N ! Ib௿bl<‹L5T=_d[ 'r2:L?}*V]`AS৯yojzwg=K? &wY;~W~Cil%m`,b~'blUdaw;fU}<0Axym^cy;`DhA|t̀gEA.@vPO戂n%h59 A-f0,=;9G3i(*=CG :x89W~`r|]R-Ö1AڗzJ8nAࠏ3{/3(A