summaryrefslogtreecommitdiff
path: root/Documentation/filesystems
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2020-01-29 11:45:09 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2020-01-29 11:45:09 -0800
commit5307040655d0b8d465a2f54d9c67be5b3a780bcd (patch)
treec66ea3edf2b1061e0b11ac2978e06571d78b6dca /Documentation/filesystems
parent6aee4badd8126f3a2b6d31c5e2db2439d316374f (diff)
parent587065dcac64e88132803cdb0a7f26bb4a79cf46 (diff)
downloadlinux-5307040655d0b8d465a2f54d9c67be5b3a780bcd.tar.gz
linux-5307040655d0b8d465a2f54d9c67be5b3a780bcd.tar.bz2
linux-5307040655d0b8d465a2f54d9c67be5b3a780bcd.zip
Merge branch 'work.adfs' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
Pull adfs updates from Al Viro: "adfs stuff for this cycle" * 'work.adfs' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (42 commits) fs/adfs: bigdir: Fix an error code in adfs_fplus_read() Documentation: update adfs filesystem documentation fs/adfs: mostly divorse inode number from indirect disc address fs/adfs: super: add support for E and E+ floppy image formats fs/adfs: super: extract filesystem block probe fs/adfs: dir: remove debug in adfs_dir_update() fs/adfs: super: fix inode dropping fs/adfs: bigdir: implement directory update support fs/adfs: bigdir: calculate and validate directory checkbyte fs/adfs: bigdir: directory validation strengthening fs/adfs: bigdir: extract directory validation fs/adfs: bigdir: factor out directory entry offset calculation fs/adfs: newdir: split out directory commit from update fs/adfs: newdir: clean up adfs_f_update() fs/adfs: newdir: merge adfs_dir_read() into adfs_f_read() fs/adfs: newdir: improve directory validation fs/adfs: newdir: factor out directory format validation fs/adfs: dir: use pointers to access directory head/tails fs/adfs: dir: add more efficient iterate() per-format method fs/adfs: dir: switch to iterate_shared method ...
Diffstat (limited to 'Documentation/filesystems')
-rw-r--r--Documentation/filesystems/adfs.txt24
1 files changed, 24 insertions, 0 deletions
diff --git a/Documentation/filesystems/adfs.txt b/Documentation/filesystems/adfs.txt
index 5949766353f7..0baa8e8c1fc1 100644
--- a/Documentation/filesystems/adfs.txt
+++ b/Documentation/filesystems/adfs.txt
@@ -1,3 +1,27 @@
+Filesystems supported by ADFS
+-----------------------------
+
+The ADFS module supports the following Filecore formats which have:
+
+- new maps
+- new directories or big directories
+
+In terms of the named formats, this means we support:
+
+- E and E+, with or without boot block
+- F and F+
+
+We fully support reading files from these filesystems, and writing to
+existing files within their existing allocation. Essentially, we do
+not support changing any of the filesystem metadata.
+
+This is intended to support loopback mounted Linux native filesystems
+on a RISC OS Filecore filesystem, but will allow the data within files
+to be changed.
+
+If write support (ADFS_FS_RW) is configured, we allow rudimentary
+directory updates, specifically updating the access mode and timestamp.
+
Mount options for ADFS
----------------------
)CnM2D*55TsSF"aӲ^lK>vODہ&ّ6˺hz?NpuzOMLMJHڴ9TөմZ-5cT薟=u`ͯEFIEtr֙yG*t׋񼊺yn, 9;ת?s9u]'f}]e-h&SoM^Cg괚S3NR|HcJ'ջl':SIt ͮaO259F:Qw`*& s⃉||+}.𓽵ywc,t6`IFU Ӭ:^oAwRV4Ij gQ>6x]5n@tvDa ^fc)X4s]}}9_tȦNoWP.XIJkvՈ}WL7E#Kv[tϬҥlnd[7rMRdⳚU|^k2ȧR&-FoboČ[6`f;-'/."] .ZK ,+8{ ! FI *w}p`_:`klj֌We"~)r1Mg>,MnzbBk}m:$K.FlvN\Z&Vڐ9G봪K7V#`謹זM -S$ ypQZ]EONl4k<|x kAnɻ%dW,I?'j=I^Ky\Nizq2D$REKZC]oS)e/%<|YLn${zx,Ȗ"98<g;h4^'s)RgAXқ&ĸޜ`"\FIgBL2/~C O$ů6/LgLΆٙQ\d܎0]:+Z͎2g2^Gj2|҅\a7^:sV6,#fn6;FݬxcŮmUx:֫@N#%gaxV# :}jI7(bseewܟISGi824ɖ- !!$me :K 'IdЭ܀g NcUmED|j{knvM%Y޿0Ӏ(76|2:MN^𨛼h{A‹ǘIRәTn\T Zh BYw$8hywκbe54)i. dlʩ3 y\BT8#$J:Ct$k%{`S)QKlە畕ځK[:(BϨW}p~g.lIz۔Wn oD/zu-v6tIŘCCݝPNv׾il..?E *^26`Ńukj:_ Y+FqhY`Il?7+ 瞨dIbt參 I9VDoLҲ8UEjt6=F$;DiRMFmx)VW5MRgˡ}ybǸhfj@G^~d^ 2Tujds1 ?;ۄ7>2pf" Ţ*שvZjAv{p{>9"<*a{Z %ݵEgZ,0{șˉ~zsWfzO">qUWd}pkTM~Ŵ>kn SXI#2Zֵ8= wt*86:p/(@x[`:aqm+jcیgP rxAN/=: ?JB1YR~C}7˛mиh&XɆʋw$tmck4!CZŠa5yW4hłY!:G Ә0N67"joEsi 410됗l"Ys.^jTkŽfⷔ8ڽH6DX3c[ZeOZ:?M0p|etĜ !ؔ`8wń8vqRQM]'ʮl[2 =Xc]k(,;yrUsؙV*ȵ4)0WMYhWgyDUHp|63}󍴹<~p-*ES3gz>$őj8vOy!(A.?2=,#7Mҭt= :Oa A"q'1| -hN3HU'1G@F3jN= ?5Ć{`^9ޚ!5 4]R:$C° xb&~oKPUN9߸ z :hkwHxp*vb"͎zC#j=Ɏ k Dn0@[9$@A262TvkӑDBB5 (/ #9C:5'g5K>7AP$}\u9TN^urϒK)//[j5WS2l99ć%ut6-Ri k9( ya]7G (uo~TdGC)fLBemDNao!m 1? V4(}0>jxQiL Fџ`j"מx1ip8Cg U#]&zQ:el-eE2? v%:b =8 '7uHr1%Wbfb|Ʌ3tER,X!z zϙ=Hoo^DFUҦ4^\p#'; }âZJ`;0-cvˑ#3/48Q!8X܍m|# 5hxMK԰L!I{gdk#>pjUkך 9}N>.-- TߐTs!q85CׯС6A3Q)N5}j{CzIK3=NQ8'C4;\cGPGƆ,ZWMýԬ\0f^@~ p9 ;ᜇf zewL#%ُjיSLwHWG%{\Gg@OŪݓI;;ۿ%RmlH~s<X3/੹q;ɫ!_m>(Ft*qA9 ޷@ݠ؁Eugg_lKc'!1ȸ 3}\?".2@W2]hwESj|o  I#KP]pWȌw쀶9Y鷠;ؤAJD$\vd瘌'DY{kFpLwxO_] 3w,,X[y3 pC0(K$x$I8k`L;~e.?quzk-wոUo[f(Zң0D6l u"}fXDG&Ⲷ,jWN@utRJu]!yt1C Tz8i@wuRZ܇vi_ קdfW/y$6 Qsn>?Z!AS{.9㭻u!ЃT )Ad$E Z1bod|CF4s ~m*V]N ̾G-z/H{p\X.l\l9 aM IIhcuYM6-:++Twܴ\@0PG0FhO|QTO=,6`]I06H2= aNN *};K;%OċJNl硾WZWɇQ&.פPp\F^oQ0[=d$revn\[z_L(IֺΔxCr2],ENc 0N91|n^k8kƤIhUY,٬5ĬwT{8j*p &.IDm Z=Gqp;D&.>xwKEMC-3$i$Јt%_$_-. bp`Ɩg46K!(+H\z7Y* e}W'tjKptX%66o{iB*3QX\%% qJ _]n},5v-wqgB{)}%(K$/61- s$a+/_/n1\*V!QS#*Yme:\gRPY{`v~)-;|/{1eĥlhM">## R(:B&u!iAVE5IL"PI(p4rQZ&;ID4]GD~UPSUϢ޿Bw@CN4  wP鶄D8*&N hXP[z;qQfL5t3m]ՙ$)݆PBLg(R|,{K/&'6__%@ V$Rt"ysHPN $66N#¸ |bXLKN Z:vzӝZuyiI2+I}.,{S ) \K]ѠB\JDZ\ƒn#2 0y. ?@2]}_,5扐%̀dcy:=.xg"j\ <|^^Fh_ix@?*jhe^?e1 .B#`uaeZgq=(O";HZ..][v.s>+'hɝ[%^| \N D.&[`)蚪lcʼn] Z ӅU1X\^|ނ6e} :)BO{T'%BPOh9L/.{ )r]̗wby5z 7艬rm}HgwS5ŸHYKNcuNf{ˊ?]C 29A=ޝW}btz{l2p8;i]!URӖԸ|\'%7Zy/yWAMTS< IBzV?A1CMɼ=b(hfWׯ&%H?% I76)߈Jiş8Kہ9:EMU^pѺS;@Be"=R=ptݮ$/,+!s)yu’2xB% 6l $~pjd&94J,xI-oǠ؛?+j܆NWq@fE+P> `;;S +=8ѕfc%G1j.bpaj'3 # ôʕV+&ذ@8rÑ!)aw 3ͧFzq.GGڑ/8z8YXG{G 7['7`Yަ YpIYo^ U27sq^'z>ĝhhU 5HlgT 4WHZ^&$2CjpWՃ]RC'c`W8\>Ѫ7M@6b.WӴxk0ۗՀ9jGxT{7 ԄTGc12P(`Lb^砉geeB4u L vVhЗ^_g{-M !\bm6"/69eMwxbWhRwGz;}<4XE,cLeM(F[\^Yafgm2 u8wEͩ`ȳt|~>g4V|`mA8::eARڈ0.P,%BKEo\޳B{`jNoUi;?G(d$qswaΧ793> ^;KFxTNJ,j_~n>pGvBZ_xd~w&#Ue!o촅H-t agEջ,H)nѿ'~rwE@Kd_mQL=k+)Kd: k橽 ("6 A].moްac4} ,=)NjG(80QkFمXXSHGkKUdqt?8r׎|bX ?܁םz.PS/&t3 "QNdzwYs1F>~cmLז1t݄SY9 QK1 XHaRo ;M_4&f(Qh%>9x j{Tk/u2%^Lى6j%]TnG2C\)ŀˆz E4[ t#6o-8EVR C/;d/*, ;koY37^>bnT)KXVgbZy$WyZ)!ؚ^+2&5'&q$LMjt:Uߥ+igu|dUw`gD: ;>?V[0RZ=ʼȘReמǩ $itZ%B$ :q=duEZ Bn}-1^(]׬4\Kdl;c5 LE&lal@"5(TSm8:}` E }EV1ҷsuw,V6CR7MVbmk3ِm 3nxsDf-;ז3 8}^ҫDg7Γ'N;PLMߡRŽY/M)ug`-bʙB%/l^v \Lp mù3L̅KRå an4d&WtL+Tt8r¥ nh>-EZQ=]1Txk7F#Tu0"rH3 z޳:OOH^CǍSFKT۠~ ayysw(n15> (WSi~N">,yޅ).U$./\i3t4>)LѠ)JjEjiᠷCJ~W`I3gT-SM;,԰l3"f8L;$}_g/;$GbIjMbB WgI2ynbϑZ>BF@ϠXN־sXn\96oJ|Dҋz渿Rxx1i9&/L)"#b5:?EF;o@J9͵r珲;Dz(٣{ W)J{mH~@W}h6Eł~ \[S4DG 4B?1LX<'zw__~A[2 `ѷաnK%֑#,\=@+:SBSPiLn7끵u̪!/ 2cIOG wAf\7KYHK)miLƐVV|$Jb>:j1 K~)jawa2^l!jL֫dcplҢs_n῾K^Z/Hsqz&'`^H~ [꽻{*կwZ y)屸пYl;wV_:+t#U-kOڰr " K-7qycC~nB~_ Xsn/ 3`9fa}pǓ"z8 ]i~d? [h7 'h\6~&%45q[.s,ge~\||\ \:J"]ۙtnЗucØGN("cuPXs^ zz\ѣ2mlk\pbF[G[0ŗIsEx )R6ؤ$ 1v82 xčA+=* ÷_ejU׎:eI8M5x w@Kȉԫ}[jPu&j3]UHH)a^8jON)ax{BX5ǛD9xdlRMh > _O&ȡCnnC 0H "Ӟ-Chޫi3`l}fmp`9.q枙wbEpRbFUӫbE^͋0Hyw88U0̲Mqk0Y_SQS跈4b S3S;tW e^4@AkӊhȞރBiio{S$KiF[I_iMtT"7N괧KSP8DPЂo1X\(~m͠q2.bvl:-`z>͑6IY$VI{&sۈ)&:8Z >>VTp4-'N13vJ. C+1ieq/C0|{2"xY_#``6V[{?)b5 K/|Rzx8Eg6ZRGbCq uAZe,-_Q^ xkڱQo*Mo?nlCz8D%E*ӖH&bnurqm=`VX0H\2ԙYYorpznãK ૔{ ͪlt=`@˦Ġ9^zWᡕ(BfMiƄztWvx6j~qۨx:Y{n//CQ(mgVHI[>,rgh7jBEK0mv%>h[T2/͸dPC_&'4rhq1D$ $H\ Lzg j5c#qJX+G־˥FY15M3PƪT>qP6VjvUc,]w?z{/"ӌ9:$7qtEkUCl dydq@&q<#PP1C.EB BCb@t 6\*S_Y31M!Wֿs|h?ȽvvN:E}]W&:K zWbV` 1-F@ !bڽ3vOlQ~Xk}``NuN2*LMg$F@DՑkP9.^wGESm^(%PE,%g]%gCS66t9cBt,{ZWShFCI8k:m)ogeUCnV%;Yo6KhJm;Xf҄ JVa8 \2")Dz҇(=sV^^A!l*!y1Ok_buس$p>S7Ooi\\~29I@E2ǯé\K}8#bs\p͒P]4jޯiZɓ!y񓚺j<|v 0p #rVmn],RNz Je쵚syH7|Flщsomr~?<dlJwZQ FKWtکZ %Yċ=V/s'1 d *5ձnV+ ]?bjr=T&NlZu ˡ )ݵcjqbRN[>5SڰHf8nRZyu5[zRhȓKRְѝ6zڏ6?δ##U"Gk!mml~C Jm+>jۖFljDܩ=75]'󣡮yI:n~g[!CKd! W,RmiCɉ}cj=%nM|5/<l :p9K,M Cb)Ֆca[g˾ϜY' zZ,MC>V& n]Ǭg\^hk3';Ϲ E ^l=S[gw=87PFB׶rzE.I^]n /]eOH(ckkD?~]-qqǬ=]օ4V8W}6"gfb/QarH.U驫[+y ZC[ }xunj Bc>)xv-H,J^V)W9t&17bLQ;@\F9 6c*4'Te:5|j3aݑDk7  6\_+?^JE18ɞnN,XK/Kܝ.oy`nQkU*ΛȲfTܰ+ŕ3y8Zg{Sܖ`Gauq.'[^>oPg.m"Mۑ2E'$VYERU?Cr$yY .ey'9ֻ)fOMrB]9Owך5/O0iӰ[ 1Kѳa!3ؿn&'֪J?DҸ* UiBdzM{DݝCwY:ِ`>VXC={hMġkF0Z-; 2WRmsB;5sW%-9✴Nz$]psewjLA*%cRJtT7^14 (*|)fd(1Qg2ȁv>Eрt (+e^v ߗ/yYh۪T6*6c5n]" ,͸zŶz.n+jo u1jTw$ҺDL`%qg̅ p[w/f['(.u KJcϊLQG3XGv3M&1T1:{S2tт@K@GZMvv8<.=W+&VRyO'՜[i˨慈w~eаga36I +cljtf^%:_H$9s=>\Hs;jV"gSMT\<}ȏI@az U|!j?]ӄ$#`[Y>Poh7ƖTs䀙{EW$5`;2ȆZd'yЂ`ͩf$w$UWըKg(r"sHN}(5vBd{QLK#'v 6@(DbF CS%d+aG X‰znR2BфD[7qʋ+j%P7)ImG:?"גҗE֏[Z EkLNkLǷamq7'ܷKS=D a L!S壙6 I}`p@40q3Bf[1H==%͞ 6fM>7 \aQw'mѯȵ4< d]mKcGP7A~iӵYF/'TI_ke-YP3Ĕo &ҥ_=hy D>CDC1U<`] 'D2;g5zX"P8eR7Й6ҨGqtݯӭf;iYF?UMfՙ6g}Mf¡ֽkʲm.hrrp6hV! G;-`)+d2E;-|>L9Ǝ, ] ݩ#La')8UK-ǹL`X·8ɭN"Wa6F ιMMST*/%.U1N:/Tv#5!ی<'HY)j6M6+?چh,^/5ڤ)}B&,#<3& +zzn(4$FZOsK!Bz5?(8F QڥiՐUZº>b\cU>aH&.x5'w֏E"_OxHzpTGkReṼKFfxY+pA|=i2Ip#&ik&8e/"W.Iƹ;|[fFQA TXjI>ƯH + dД=FHB%R†w, Bd@0N N^#^ HLfΒtP\iVVsž󭥐Ŗ?n.7Ev8h!C?~㴺9؆Ϥ _p_''j_zNg9Ra4Mz"W!ɦRIK5]ydYބLN){ol8Xl4ڌ}z\[ :E~kh#d1`sSX'&9h~NϤM")uvx[ ABq@Չ,G!%V?\Q=?bzSuYSŧN̓Gj# FI#,iZqwoFh:<\^8$#nTM۵br]S_-;"j|]QՏ\S-#7"$S ~]slv: LV.cw'+&F/;T E|er.}WkOF4\KmwejMt|4X*pD #:X&׮&~{1x(?w2\̚)^1B5X̸.1MSQ  CHE[f dcħ r/ xH =h#^"thSw;.o`FljCHEdǕ3_?o\&fKq!xcnFUڟ~ ]|?c\ZÎ"Z#tռ#!)ĬPzr4嬈\vrbt??'`ܟ7 {%s _zojKo+lKU[ЪFlbM{\1YТ QBRnat)%;|qnXпƸoˠ.'JDHU)0;ŧ3NVq. mo_[lmt,c3=%(oTޛM`a&:.AkLN ˽{HZ]+їdxrJ>JT8oqEs*GBoAd#؉ns -:]#\쵴}u~+V0P+bG3Պw4p^9f|W-}h˗e<>""jiXF6R9Ic^4c>s+HN|FxE+DX^u&fO:a Q ꂔdWz[:] v ^'rLP29b9IGIg cL"xtEY.<8l2^zOLӚ:JsR }"oQn5__%OOmtgݘhGcTW6zMf.㟅 .z)`! Dsj11=n1Dmnf +x@VSQ7vB(AdpO=Yп~,eY>.V68,[TMSgs/A|ޓ頗Xǣ%j=Z\(a,S\ci^3^~m<3I9DIB7lv,/nIqv=q鯄Ql72DR,([@3^vЮm1C"{, ҨO1snQoǨzAvA)014We1чyk̥NdƳfY^4nGr@Rl<{J`MAzy<ͱǵOM'R5Ŝ-IEeM¦Oq~H9>8#ft z /=)XKM7qhфS?'n>'ʉ;@sY`Fdˠ^&#z4xrQrn>)KWU m~4ם&jbtIaSF=5lvf?sNVo7Aӌu?/aD.z:Aވ@8a]jW eWHCr=mfTܪ5K(J٣x $:БskC!{2r[>xM x^L)8*t7,/; (ryw`Іrz˿;2*1Ȱ:Mߙ錈utڽ٬#A]z*l Ddز|>\AdY9ȇO zoz|v8>A1M-?O)`]NH)'{ u +-:'n-{̘:Mu>qyRk_ xN,V7T"!onjCӐ\Hdz!d@`eL%U9$'Xu-tA|S ֐F4*5{Mw4)b,0.+!{lO]Kl -92|F \dgf*lrhA< wt'Y-+] x^&RPz%mb*aGƦJ" v9& &w 測 ffQpxP-c\qcFzWJ}BМ$/]>0Zh+r*6o ̒ <}f:6 p=YQ8yҔ˫4]c>%oYj~g*@`2DWk[ϲ VcЇ u1c3wS 'i͔Axu}R_^JM!͉+$Pcﵪ킟v;Z0cts}AlZuJ༥;1 !Sdc8smratp n)Ÿ>Wp'4 fчBitEfe uDU' I2FX{{vEd:qpj;BU2ES$ |U]BuMI[?_F(!^L!F.Me ]P.^nG9G47#1Rv=C{+zQuD8oұ%nT} $5ctWV{며c{MхEz)#fv=s 5AR\HfqtO6ѝcpIzZMAV{hm괺45U+zg g CV*Ȓ՘ou:Pַ6ˆ.BODno'u̲J&94IW#`%P;&2TAUk,KQSז4kY`E"v$N К~XIE9@˔pP9MX7jIpZDu+490LЫŋffi#uFPa#iC|Qi:nBrQeRvAb?b6gX~c2O՚ ?l"HD!bfWaYEWThh5-uH q QiDQ(DR.!9@ 4{Yd,'ݑh^j;T(O԰:cWG-HT(wNQ6*kQV(`ENF)Y=iNN>l}a[54I> zB;dfFX(IZÈo&u ]Ӳ]bb @DՠE/:l 0lo=qf ZĤ`yI.L"^/r_dB ęep^D[0᎙3"H6[0R=8kq,19ew*&=@n;j)`X=^=8#FZFrj6$~ȅQW$/eZU[# - χ\Z >XRV@b2Bع{r$dOJykme]޵r~'#5+3=MB5?53Td(oIvdOht)В kHg*,i5lJ/U<Q{"m`nAcW!Mc_0]ƱPFlw9X{ñ2G;j Gu5髦fOG6͙ ï%De=Л2)^fR/jTD\=B4|Av9aglG:|Fo%9!k9-)̞C)f8Ț:*0G)"~1i0)IlcD7*XB;- SpWdm}h_hWrxEұM;#h`) 7=6(cj"]c4 ɭaAˀ2 FІVS3kĨ{йI*l,|dVR5ׇ_fwIp d! K@,pˢ\ŬwX_Yt2 ze 36s@;#B|"=mUKY s>4]1$Tq]e6NkTf,.vbOCMB];KcCQ̒zx2/0K_n 2R'vQOQYegf˓j"&:G7 !a~aO\]اe ; l]S*ۦvH6#c<$8) JP[%&ܘ8j<TЇ)yrqeoH-;Bq)HY.ƶiF}vUGQ*yn.Δ ",(E ,z sq&ejϟΓc3FU5=VJ2h-1 j xsRVR=xֱBnO}4; <euBr~CDݷfTS +-Z x)JDP:H=/N9h^茋Q 9Co&П/꾱¬Qmԫ-$YdW9AF1ԫWu1s[E3)A2V6f8 7c7K3+i[Eg[DDѥBݑY"L-s&9QepU[/Txd9uy\m>l<%7C<ث (qڜn5B1Bvdˬ_>ji8-{s{8[~ r 3Q[:@S?=6';%T~e-w.WR hY\H(]LpɌζJH z9C*d>@ Kv.(?KizzW,M|j{g@b<\zo a^R" 2mE\.P_W+@kI*K4 nG|",y 2neEF7Ɨ1?ZK?N鸹ȋ]zrɛ_YBՅMDpe ߯ [.z9$me&,-8 Z'<]#̇JҺ |>|}⭕x u܃$} WB_G3jueQe%+;(vWǽl|%կbHiE>[i=<-ΣJV>4X##qg!lv>?lkc 2Sj㡹 B4y ĘfB\iح\=LP~+$K̇p%` lhS%  ]04vmX0 G :9{\kzN`Mi5+NQi ;[vY:q1bglpՠ1nSei')ΚD5W8[ͯjG‷hG@ÚX)4eƒ GT4Tq g"H|[?{pHnU)_O~DuGNF t :J.92G g("{ }8;cv&U[$UMJ' /vԾʱyT[@=FW =TCrJj2澢 {ؘv?+'|-Nа͡7݆i4 a̼E &TfI;e|s|^a90-4$,N숬̌zF| oCЁ~n55S-vӇvXXDjGB3WL#Wej0]di &sBAA]~K};.wN7$[Li,āV4twgO?C\ScqaMȡyVѡٕ{-w2|3Y+k&d3y7ɣU(Aag l)wPI>Dh@h?ofw7+Y!f a@g"qe.Ռs#?:p# ]n8+ ԧvvwMˑr I|˥we-A<`'DG^FwQݬ*^[봖R}e'< D'hӻvej:Xj2|ev rN`_s-OKqLE}X`hfKBr̢^vwgE)i^6 pG8\$GMF9iLڰ:gjT ϖ2[ȺnvOuG6jaK [2qSsr CY>:.Z!Nzƒl)ҽ 8.bƭF+-mHwwrx7ƪ+Ո z)!E6 C@R6=L= R9y g=W[Gn6n4{팈~< CdfF$4K =eNlG+Zޘt{ &:Œ'p%#M8wT -!PLuW:l18ztz3i).?I(2YiS ښ,E]ּeωF.͒AɁᅯ Ro% Ndokz(3Li'*o9GyȩpPzrix3 H59C&-3su%f驇hm #13>mN ֣b%W!{0@dA"&vlFzf{FI]rQJ{WVǑ<[E]|V拌_-L `TWƘџ((nwpTNR>/9]a|DxAeQi.V1j>4蝫~i5h3[zT,TdmrK 7z>js5=s;ӕA: ?s<݋ 5qy!ڍ^ P5 U;lϕ4վ6 $<@kGmirI=s~*~wStiOZJbda4$ "~\e\?R!0Ez8ǝCtaUؿ *$/ISF>)^@FFaA;K8h#v3TA!g!9't_a { FPTjW;m&T>r"};e`}im7[&I::.%-y6œIw|(vĽ "4Z!ihYAfҺl7A8O.n ^tq񭝗#t9nhgy:V<6s1X9ή!q޹ĆEƒ`%O!,!]4BRO#Ii+-PhG]bq=V}s_|Ʋ`{o>h_DZS,G(w]M[˳ߟI^mz)>J_k:9񐧛FupHE0t2uVWuG͎O]Uo-O?]ɦnL}p _| "YNLB9VA w׆(RyM"p,S-T!)Lv` BA{vɘKBUT 1<<< U>@ts]1Ɂ?l7D> }~#E.qH)<)7hO7xh1M2IbD>ѝZ|EjcgW'#{zF8W߬[9iM0n]h')+3 #k&W+6mJ1Ru~Eʼn6OY?4jux^miѢC; ZMTcC3l܄HV8Ez p3%sq{;O[z+Yɡ3(&` MퟳZГg2ŸN?H`9wվشj,f 0 4^ʨrR]'i0Vw-sx"eJTe6-YFߴde%l|9? \!e?B w_lOf.d<9L6ID;;kմtmpDΎ߉->zW(5Rܑ9x|i{B nK焦]UЖxw_oԫv4VBuͷN1o~'|5B+;}WI22aoW# Y-/tq>YGA=QY.&[ёPHA4&edpiI .JvnLda rh]zh1_߼w>,,tm6Nw f 5ӃzZeW9&J_a fTȟhT9-"lL 2GˏoUiHÄWd/~NT˳TOR]3Η?E#UtSMS;#n6R[yRӾ?4Tȉ A!s_a EȡEпK2,xކ/kelJV'hS!7fV7םq`]ɰS0;\3_;}=jX[l]۔F WpQIܕ#I5p9dk_qg'ŧ7WhDj+Y :#4}\&$W]7g޹ ow8wsE2[V^)7'YHcW7heWeg^WThj=)؜6 :9C|>oU̗K9~_ +&;eMSI,hsgh]/w+43Yz RW nJNh/@YqBޞJPc.!O18d7_%FpS 7i:f'd7^ _?IS9O]f(Eڈ`w#sxi-MI6J6Z-鑕{J'ꃧ=i P8ruxΧo8;~H # =F7}rx?6kϞ0̶)FOi\o҈^AH6r&+ "RsG2klZF w2 "a6v֞g%y-N v#l ||s 7Zw\9P@]JHEKrՋͲM G4uxǧ3M5=fJW<)t| `݊I8> Rͮɺ9],;Ez J ; %*TC5cOiF%ۦD[ˏʞAd2|+xqm -^| )KgPǞD'hڋrz/"QȵAmB0ؓM>,ܷ}"ɾʹ/ݐGUz.9 -m.I*V!Po}zMꄾH-;Kh{[ٺ/ +I8j:M:Փ޸۫%Q~}Tu9Roh6D@{T:"'NeB3K!_xj.zy+ 8=*?KlZt`dCW5K.+j8G^L.MbnB-""s1w|0 `M=jjO}YwP ~%ߣWHLZ)3̎[NZZ.}[ՠpA5tx[` iv^zs?+|Ehp;jx.-e}DIdN<R}1꿽4>㋩1}^R.{y-]"U(z~J`g!N9%΋Nqn(BgؙƋt[zz<2ٸy FeVml^U 5>Fu<{:g6[9p\>ȬO|;L&2 P(Sμ0מTYk2`60i=G܍8X)w#.MuhGw{mcq7Y)Y_O5nYjV40wqs F9+՘22ݬQq,B{6܏Ԃ[y"uyiPqlfqz%}{-4Hq$SUK`Ȇ[ڸ2qc o i:ﺉjNԬAaVu -IIdghIk{nMsR My[f6+\"UrSbl^ok,3nͰ$[ ExPf3[ǚ-Zl|*1h1f=mBV: i4*(4ݰgEohjS/ubaf~9ff?=˨n^mvo NYŻ2/E뗾m0Y)Zͺz[T뵣wS'_CxVm}s5(v-Y.C4򲨅gva%lLj}Y{T$˴v{gOdE'r7=lZo&#\O8׻+0֮ZڎflvV)A0h)|&)aGH~SzJkS7@hijO0AGEg#:auK(V!\> rA$HǬ4yR]{"&0a!7!;s;R v1ibWYYH88y]ǹY|FyLs $2y$G{~$|('G]eѧ2> \\r^NogOs/c<B" f3,ñ3l`gĦX0UX\=\<\e\06mH}<F @lfK !_.A8h+$W/~8(FZ#4X ntHij5CQG"O˶ɳb/L htrS+'@Eٞ%;KԶ\KHv޿1kx-6J)_&yAقANY瀵' tX fu9}NY$\Tx4y5=,џNٓx |J/{eM˗ؚcj1|ڂ5P+qQ>¿1Ba@IxPKʆD FqԗuL=S HۓQp:`?6LAce@2ʲRƬjh|;/f߮цh {bBWmG Z,-/`\eI=n]th:糼]8-:)T$;Q}tlXh]!Ag4K%q?M@ H 29Xe8m:6%ן7xj$g(RhL_y̮oNșXnl(^7|pWdS}#hj*P2#RUh?k=@[]쓈~}%\a '8h׊6;dzOc tC>uX,zskFQk8LAK3Q#Fti6!,CkT5LZfD?Y..C NN$oPFAm܇$y\m"!=N7 [Z/})L!8Vy"6%:59A Fjv95:&/j)v7c8k$QɈ\Q{V(p@ nvhLԁpk`d2ޫ'h!iWɨC52:/,Nm[ 9YLMǜ@F-Ұ[IHxQl `[! g IEW{"4=PCh/|nϸQgωLhFk=,M/kx1$;OʮI3iEMR|$IӆAdIlg//\_e7@h(S4,^͖^Ս2;i-../饺Ƚ*ސ)8 3Fr]H!e[vJ~+я89#.%sPT5͔[dF`xƿ ?7 OY1_څxOi#} R $3ҨU$:5"*-NÎ!^:cjB^i h)rvcv,c"_@~.MZɩY-v*JIՔ-87`."XN],'8%zOk[jGv|Zmp ؖX-EK`:QN'ڣcX%rOjv& ܴ>%Q܅By%At @"!pl q ~$'9/`'>W}Tg+֥cEM5%QrfS/| p[VjᳱV-OAs>G#V*)aj,p ȑS糖0nh5ȷ}=Š1?GF ":l+'c6?uwhm^@8kB6μeF0qG#CEZL)\3 ]GnA4$MgԆYя\$%b ~⚜mx\բI '\:D^B,GX6OЙOGEϜv| }E b&/K.K}_p˨d{!;,r s?4f!E F4iq61#[3zְB%` +mkdndx muNLɳC tj||RVFݞNg# h'\3UER=եHxP8|۵Hc|\_fob.q|+3?:ϳy81X,S=db#( HPjfy6dOUXhzK# nH]N&#!ɂOKXL5vpO$`f1/Zt`U;'k b+ᾏ}0'fӧOj6ʀ7Ma[w\|B@qw;F"vsE_]Qv4c9tRlIu%FFB,9, N( ([?;+> [m$\$xzq fŽr#+HA[\dar2Sa̸J/1ig}S-Ub;6k6D_NVkYgݩj !Q\KZؓp`h7lͣ6}ƈ-">=Гْx;3Ekp 9aT7H|Vv7ΣͽNkbeh܇GWii|OXcyc-8CY滯AûsN"ԫv]QOmRzJ{Dӌ &&a'.*eK==I"#\ZoJv/14H@)]cDUP/&[ -zh-b >ɻٗBK2ܴ{ .ˈ 52M >eV#bؗǏEcϙ)*1'IJKnueWy9aHWH>k4{šSgq +O/b&f}f35 ?3 Fړa[; S r'ac9MsOy/qlO2±nTt|SQ44+D/ܐ=@d9Y霹b9/CsYИ|BA*n%߲,s r@#:Ж믌poK@~ЙhY ח7 qp#O-F4Up$yJ.*KhB*#^2$ϞZ!2_y8p(=?aP8ŷDh}[͌"%#gXV2%YG@eE$sZlꆯ?:`DwlInv "axpy<&aSn.e/2{=YÅbڥSw.|}5[4~Y=ora+_ic6[냦. aV,NJ'L1Erp'!0h #Zת[ n E esqpmGS2EB BuHF 4 llVQA^tNCLô,< Sb3iIkd)zrj(<欈CT)(m:!K{,~t&bu+)CMDd%z|Rf=`r9yz#:>a֮ v7ܔ`;uO3΍{>)v|:|A֩Oнj_F"X[HtʮXmGl4SG-i|!MCf镸RCR$һKL'd|+y /d1 ?'ُͣRmOTD>ĨIK (|Z$B8HE2YK(zVҒp6C)"\RC3?85F W.4xWf#kQprwz^U#uQ0pg356=zfkq>OS_OrJڃ2\n!P$k YD1*)]?7#|!jPh>jQ׻:ˑBwU'TӅ<@n"\)+j1Tz !@`3?X l}GNpGJ3.ɚf`sJ 7 mIIZl6Qs"xC1?Ȉ S Fn}`-)C:%k;;? C 0 il_n/PJ[ \>2X}Ec>/$)B#Vz?6NʁrogJʀ_0hs='DeΤ*đBJM,sZ;dnC=N^Z4yǡ)9[iZt4m,q@#UK/%兊X\F8ޕ{K#H6׭g<ʖ.E؃n㨟'Ah$3~N]H~uE a//]+EuT45Y][ vbվPn]l]7JP+WYG@='\vKBkcy^Gvv )'u{RE[іP~.T$'߈d,-|9tc2D/Z1rfYH:~2-[$!A,..g^!G:lw tp39ijZiӨOCկӀuSMT&&3zI-3NaŋK-dq1sYBfs$NI0*;ъ0(3 oIhWޒԭxgTodA7:ʇyLz*1.W-zόeqOdnɚt5c듣cM0T{r-47͒}KG9-ikay3s~u9/=dҬ;iWfzA3 -K<'`OeûGU2 N=A5};f>BqgKS\xwcPc6=ȉUMѝ19D䒘SvfQ V&L$hx8HIzd0ڃ%s k%tƊ%hBG՛6o@^t

ꕶ)Ч#eg@eߍ.9h~Lr5F[VϼKӑHj Ȫ3jK:΄Jj)?Wp]cϭzM,[t?:LZZ%|`dxn!yUn&g=6gp;nwn[>:Dy g53jm64 =W?wb-.D|zW8'Q4XF;->o Syһ]p$ HbV޸OBx}-!?HbP{p'_˿D5M~o6/1M1ʺY1\H=N5y].#XtC=|M!),$I>SV+,8dCpe]Upy6Hv;GjN>E&Hze{Oc=[>~Atyby{{/TQ08>(F'mrH[HOx#=}6X[/\*t~xNNfD: "ͻ"xez4\߭g\A PW]78I\`s)Xq^P?:IEMQc`:>@ w<@ԙ> <ό0ɛP` ` =#ʃxqi*t(c0/xE-ЙC91ǿ/<8ʸ<4Z8~vx(/~gH%y;wčdztAHs.̳l4ɳrRBFzߘJσU-oCN/jErB=G=%uGd=nH_hN7NQQ8@~)Pɝ,.&Oo*V/g tkC?5Htq ?Q$c#UŖgʰ}?#Y}/U{4MWՑЛ]逄.l|>2˦ߟJɎu5DIν\XI~Ͽ5Ͽ9(sٍYѓ Qg61K{EG}!' N$K_b1#L#m8pzQtq|l{W4x:lN D&G7*Y TK'Lah+6<ȥ$d4i6U;hWNSq Υ \;0$Y%+KSSJ6 (CvugFtMH,Zb/A;q?6ڕ~垾1Ԃo>e%}J`g=:Bs44@Cx1:t[zO.Fot+ 9N&oj*x1xv_Lo_k۽N$WITMe7~#h5^noOj脫 è5ɯω0:F̍Pr:HP[+D`WX2ЛZikQ |c^7rSF2/*#]DѢ!Bsi}C7/GpSP̾|:-J*tL E~:T.)hswҊԨZƉoz??dVLW5D/^BG&mT] \:nP|YİF3g ezw3/5ydxdY+T'MP=#DpzѢ9FrA) _ʌvyb UC6$L< ˱:qແ.1?X` t%A@[#chP^\IdĐ5$,z Mr:KzDAWF")/>XTex'aÃgbǚE&J,+jEYI`)jgח]zfDD U* 4.@7E[  xFd'/^b&s~.\od 1@^ٶ6U/@4tGgQ+#㳗H*+beF!bBȗы+%#r3AMd&fqMfx)vwr3%?Wɑd`1g7B8swslY!$A>Q<~^[~tWmVگhg=^ڃ%k)1WwFqL#Wʡg<Mct EoyNJQڏA!3?0 6k3N@Bp~cQkFjKJ@ً JrJF236tBLc0L3(oFf,~fzX Պqhm"Z#*Ɩ. QF7byxB~_iڴ2:B1נKݍ 蜽ɜ*IL3Kt<;a a 毲y T>l&e4zrzvZK\gk^flg-m=i$\LzoCі6^x;]zr~cWb1s1ڸ9vٱYYP)a^g@uW8%ߎ=I|=b}fHdDm#2qncD0.ݩ#Œu|q>PSVjQ=X6*q! >? ,f}6wϵ:N\;{)SdYoRmrޤ9l}l]?Upf'XE*[Ps8wE߻\ Noc!%sϽ.'ۮPyLIsF*_fM( O&_8?*C3}+H=ʬrVԮ~gΠCnBi2gBcIX'd/a&7k2R F*Pbr kXl`:SSEU+jTZse&g1"4~ec c `KSiج=#җXpZHYX`?{O+Yy?(nyr^4cJZHkK\ 0 췭3CbƗ^P;׎+@'EH. {Q:xԯTa #?*_,+#c,v4 = ;]6_ uE#bŷZø%9ջ͛)>p"^GWGP͢~EJTJ&>+7vlua}~OB+UC0}:n>s& G%? "'IzEI mgZAy z$pWN}F샠<|Mj0*jK 2`)9ճ<Pyײ2=1~Z¥"u{r^Uzu.*erM+tʺ䠇s{3)vQ!3L,{FUa*+5PĆ^@L{D!j+9qeea6Hv ]LJK^y|6!MJd= F)L+:rQ}?oB M8,}Dv^ѿv=Si"C{{Բ_PO0] ?+cOHuQ%›+27fNJJ+)d8lRRfݺp@b PoXg1 @,ޕ"fkX$:Rb'Y4DVmq*̞q[m·%G']{%'B.l|~daNn̄ZcC,&K5tpobI_5ݝbn;*M$-}ONG缤?g# %:SF?_/!ZS.{]<'aogFviwe)N`[~'ˉsF+]ϋxf%'yH&. {0/b3<?w/Zٔ}]x<Z&K+G)YI]%yPV/n OLvU+Zyޘ%?!Ul;LpQl35H'u ȓAVLW弢C:iA0SR8~E7 "VA@|k! QcFcv<=Y-5?Hkx|46_Qd't›!R+E[ Z;%[ <oh?w5 E/^kSm,/2KֹܩZML,O:<0O]c4B$i3"4J<`fw;t&^r님+Sk%&cFܟv9pyW0;BnbYn 9gq2}NG Q,=B0 d>=| ? ci۵bΫǟFwa?K^s ǐbWq$~ȵ3"#}.#S0VePveդٓ[V1<.1Kjj"TOȹMO./`~TGuivb g [ʬE/Pԥ&ΠOyNckRs=%DYj"4{:PPEU*I7TU&Y$eO )fY"rI<"m֯oakOKVڕEi>er:]BӰ>G9':Pi'-@NMQds1 bm)64TlLUp`.B |/d" ԕ 3u00 k`\^ZM786>FT`Tm:2)/-K^JT`LKl?_Õ'i,o3Ro4 /?-_ĉz`0Fg!7JR. O""}z!\- (OD0B%7zE&۵s w?ȏyޞ~Yĵ&iJEl=̉$?}ڎV욋ס{-(T ѵg=Iur6W+tVh ¯W0MDh^߹Z9^CdTڬms}3I51Օr"..6$SܬmBmQsz1I5/yc`Gcw6 .ǡ۞fJ~ZH:;QWz\~q9Bg>qFofL{5:] _|ue- ۯ|WYE_M>]Jcv14 UO|^oKf1qSHCjXfWSӶ%5U,ZU,v󶊅Ɗq[i[ǂ=@ҀD QG{JBDi0ޭ0v.pDBcF}fЏ`(4x^6xAg3ϽIdl?krqx"tџ2b|¥z^{vi@tU^4<=q3Ǥ`k4,dNk3vY#[3{0|ȑïoﴌJ}=2 Km,4 K^c_$[;MR_ԋƥړMť.LCgncl{!zM5 ^SNAT߂q!zgyFc6-e 1˔M%&u"eoɑf a<`e|ͷP)fVVksߐqVdùyh4FګOjns?'dT,kBřvp-`ڛ3Qǽ[jFVTJVf9YueR yĉy}b#^~$zOʘ2@ܚkLH8~6i$B B[ 3A|cdl2Љ8<"Ȥ"/4ȱ!G#iAaCOod$IHB\|vY?S2Y޾C=6nǭW#Đ/ifXv#=`i[88KTJ=׶ׁ^ B6DGlO0 L14b[ :0%+I~~qμ0ZV" I+6MX-ӈ[okZ^Ѻy.xrQn0OZIYE!󜚳EYxm`<<{fŰM3@ pd%aza< fZ߂R[nr;0=}g捦Dz{M\Ҍʸy6`Cu#ν- 0o{vwo5,#:4jڃ.t%KGKB~Xx\=ӡvܹEGz@g?bf81oI[OC '$f ٰ㬸6sL[B`^ 㭐bbH+}zAfi)Ƞs>-%M ShZ~z,j:ŷU-EyAV:J[ڒcn6'.{MBȷ~4qiA cB$ŀփGȴ;C| E޿qBxzYެXIc2;;\R.MMQMaN{1ީ5߷;yG]{W^U n3rMҳ|7=^Nq}>מzWUn囟pJ;O:쎚M\zl[ {:|Mfu [T}6W-0%"A)6t+PXbth(D5kk=7ހl@cZ:[X@&*vr'=0Xyq cL9olm~ɞq;X-\Q_En[iTv*Dxsw@knTpWE wu|~|b:p;iDP6Q|w(~_8}6zCGљ`p%MrJv1pEfqkbOԁ,CsJ–ï O6״B^A(GM'J<@`k,㽖bɬ̷D,͒^vU6EW*ǧ'8.]W叿!|5NkxG$"[]U*u6K賻GM 1O)}9x*:$5Xsy.wOʧ'G8mB ¨&VWx]" *[^>\I61_'ܗ lnlrQ@GR0bb$7"J%|p;Wny tioK*b&= v b {72_=T [l=RLTL'6/cN G'pN41`I[C/ )TZ6eU1MhH#vX;Di&lo*S[]n_^G/!1SfЙluXq%؂z-nJ u&vc'Ftce#wZ@֯OT4 SY]%!ǵ+n mG7J%RxqdړÎ8EIsO|_\[;`eUݤv@Ltٰ