From a9c9d604889b6581353e7677f0a09134f87eb1d6 Mon Sep 17 00:00:00 2001 From: Gaurav Date: Sun, 3 Jan 2021 15:57:13 +0530 Subject: [PATCH 1/2] Correct typo --- ...2021-01-03-read-file-using-bufferreader.md | 62 +++++++++--------- .../read-file-using-bufferreader.png | Bin 23115 -> 22978 bytes 2 files changed, 32 insertions(+), 30 deletions(-) diff --git a/_posts/java-files-io/2021-01-03-read-file-using-bufferreader.md b/_posts/java-files-io/2021-01-03-read-file-using-bufferreader.md index 875c26c..1ec6ca7 100644 --- a/_posts/java-files-io/2021-01-03-read-file-using-bufferreader.md +++ b/_posts/java-files-io/2021-01-03-read-file-using-bufferreader.md @@ -1,29 +1,29 @@ --- layout: post -title: "How To Read File Using BufferReader In Java?" +title: "How To Read File Using BufferedReader In Java?" author: gaurav -image: assets/images/2021-01-03/read-file-using-bufferreader.png +image: assets/images/2021-01-03/read-file-using-bufferedreader.png categories: [Java, Java File IO] -description: "In this article we will see how to read a file using the `BufferReader` class in Java." +description: "In this article we will see how to read a file using the `BufferedReader` class in Java." --- -In this article we will see how to read a file using the `BufferReader `class in Java. +In this article we will see how to read a file using the `BufferedReader `class in Java. -`BufferReader` class reads text from a character-input stream. Because of buffering characters it provides an efficient way to read characters, arrays, and lines. +`BufferedReader` class reads text from a character-input stream. Because of buffering characters it provides an efficient way to read characters, arrays, and lines. -`BufferReader` provides two important methods to read from the file. i.e `read()` and `readLine()`. +`BufferedReader` provides two important methods to read from the file. i.e `read()` and `readLine()`. -You can specify the bufferSize in `BufferReader `constructer. But as [motioned in the docs](https://docs.oracle.com/javase/8/docs/api/java/io/BufferedReader.html), +You can specify the bufferSize in `BufferedReader `constructer. But as [motioned in the docs](https://docs.oracle.com/javase/8/docs/api/java/io/BufferedReader.html), >The default is large enough for most purposes. -## BufferReader `read()` method +## BufferedReader `read()` method -`BufferReader` `read()` method reads a single character. IT returns the `int` representation of the char in range of 0 to 65535 (0x00-0xffff), or -1 if the end of the stream has been reached. +`BufferedReader` `read()` method reads a single character. IT returns the `int` representation of the char in range of 0 to 65535 (0x00-0xffff), or -1 if the end of the stream has been reached. We can cast `int` value returned by `read()` method to `char` to get the character value. -I have given an example to read a file character by character using the `read()` method of the `BufferReader` class +I have given an example to read a file character by character using the `read()` method of the `BufferedReader` class ```java package com.coderolls; @@ -31,11 +31,11 @@ import java.io.*; /** * A java program to read file character by character using the - * read() method of the BufferReader Class. + * read() method of the BufferedReader Class. * * @author Gaurav Kukade at coderolls.com */ -public class BufferReaderReadMethodExample { +public class BufferedReaderReadMethodExample { public static void main(String[] args) { @@ -65,9 +65,9 @@ Output ``` Welcome to coderolls.com! ``` -See [this example on GitHub](https://github.com/coderolls/blogpost-coding-examples/blob/main/java-files-io/BufferReaderReadMethodExample.java). +See [this example on GitHub](https://github.com/coderolls/blogpost-coding-examples/blob/main/java-files-io/BufferedReaderReadMethodExample.java). -## BufferReader `readLine()` method +## BufferedReader `readLine()` method As specified in the name, this method reads a line of text. A line is considered to be terminated by any one of a line feed ('\n') or a carriage return ('\r'). @@ -83,12 +83,12 @@ import java.io.*; /** * A java program to read file line by line using the - * readLine() method of the BufferReader Class. + * readLine() method of the BufferedReader Class. * * @author Gaurav Kukade at coderolls.com * */ -public class BufferReaderReadLineMethodExample { +public class BufferedReaderReadLineMethodExample { public static void main(String[] args) { @@ -120,31 +120,33 @@ Welcome to coderolls.com! Visit coderolls to read more coding tutorials! ``` -See [this example on GitHub](https://github.com/coderolls/blogpost-coding-examples/blob/main/java-files-io/BufferReaderReadLineMethodExample.java). +See [this example on GitHub](https://github.com/coderolls/blogpost-coding-examples/blob/main/java-files-io/BufferedReaderReadLineMethodExample.java). -I have given below a combine example of the Java `BufferReader` `read()` and `readLine()` method below +I have given below a combine example of the Java `BufferedReader` `read()` and `readLine()` method below ```java package com.coderolls; import java.io.*; -public class BufferReaderExanple { +public class BufferedReaderExanple { public static void main(String[] args) { BufferedReader bufferedReader = null; try { + bufferedReader = new BufferedReader(new FileReader("F:\\sample-text.txt")); + System.out.println("Read file using read() method: "); + readFileCharacterByCharacter(bufferedReader); + bufferedReader = new BufferedReader(new FileReader("F:\\sample-text-two-lines.txt")); + System.out.println("\n\nRead file using readLine() method: "); + readFileLineByLine(bufferedReader); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } - - readFileCharacterByCharacter(bufferedReader); - - readFileLineByLine(bufferedReader); - + try { bufferedReader.close(); } catch (IOException e) { @@ -153,7 +155,7 @@ public class BufferReaderExanple { } /** - * A method to read file content character by character using the BufferReader + * A method to read file content character by character using the BufferedReader * read() method * * @param bufferedReader @@ -171,7 +173,7 @@ public class BufferReaderExanple { } /** - * A method to read file content line by line using the BufferReader + * A method to read file content line by line using the BufferedReader * readLine() method * * @param bufferedReader @@ -191,19 +193,19 @@ public class BufferReaderExanple { } ``` -See [this example on GitHub](https://github.com/coderolls/blogpost-coding-examples/blob/main/java-files-io/BufferReaderExanple.java). +See [this example on GitHub](https://github.com/coderolls/blogpost-coding-examples/blob/main/java-files-io/BufferedReaderExanple.java). ## `newBufferedReader()` method in Java 8 -In Java 1.8 and above you can get a `BufferReader` instance using the `newBufferedReader()` method of the `java.nio.file.Files` class. +In Java 1.8 and above you can get a `BufferedReader` instance using the `newBufferedReader()` method of the `java.nio.file.Files` class. ## Conclusion -You can read file character by character using the `read()` method of the `BufferReader`Class. +You can read file character by character using the `read()` method of the `BufferedReader`Class. `read()` method returns an integer value, you have to cast it to `char` to get character value. -Also, you can read file line by line using the `readLine()` method of the `BufferReader`Class +Also, you can read file line by line using the `readLine()` method of the `BufferedReader`Class `readLine()` methods returns the line content as string, except the line terminating character diff --git a/assets/images/2021-01-03/read-file-using-bufferreader.png b/assets/images/2021-01-03/read-file-using-bufferreader.png index 1b77eed2e36a5b1a5a7902d2fefc3b32ea3c4d30..2f3170258b59bbf4b441520cabef0728e379771c 100644 GIT binary patch literal 22978 zcmeGDXE>Z+*glL-)kSCY-rFF$=$#NH5kxXdL?=XVGa>5e!syYXghUCVjZO@rBto=k zA&6+v+2i+r_I{7|%l`1}FZt5?#vtsWV>5!8!kpKVyay?y5 zQviSn3jjd2iNN?0>!n;V{D;*&LvyWb9DtaZm;pv1DMUC>0NQB>RK zkdYGLLtTRSN;)_IV9Bkgsb(H9yWNGtcL_kgxvXHQ0Ns53-(84*ORE319K3F%GQa=7 zzFystqx=tNKinPizec%#-tsV#0?Xvkm5~h z@4${{_3#k~WZMu?n~sPH0RbHMPDeM&tLF+Jd&0LG!N&i>nkxEL z_W%IuY0qZsX*J)$XU*z^i2y{yGLy`NYQ2?Ko(ExKW`s+QN#JL zs;>$F2rCQq>EiKj6kMyRPwWe1y3U>AvnM9dwQ&x+H|^e{I6CH>L|OnUgZl+%8M(5V z4ml|{RuW-sTQ+|vj6}wEroXllg{aP=6YuZRZ)&5Bfd|!o?+p1TqjMb^tloKp`bz=% zxsKgde7;{O@Ski1ct>Ad_a7&NXyEvMu3u$w>ge^s}ec| zAihbUhp!%%60Sx_MllAikoqm8$anJFED5x(7u^;UuL_P5Em;MvzY^sE$Y{??Z@TjY z(!zCEP2=%Zjuj82Za@S7d2~@B8PHe#e2rSLBv9Fun$&YjCoJx3*}BB<0C3s8swqcG zz%S$nDQmqr6`4M)j6${u#UYyN!mG)u*Vpu%w_qyj* z1%D}0FcC}y0}-gc)h4U@-6sC^&t2-D23WVomG9!w?dS|sEEyMq2nHx*lCO4jy<8n) zy%wM%z&%!cFcGexQI_I7*5<`|>jnYvDC)k+Z$e|EghVP^Z2F~WTdCjB?K;)#w^2w= z1R(OW?L*d!v-3RmJ{WxV{!kUW_%BXGh&C1wlQR5X;kTm7EgLkYEp~O*R+B#Lkt-3b zfC>(}KyXET0qqAnrXKRWFCUQ)7%M)&dgF{mso>>bl1Db;>p&&?l9QM9wGQd3FU ztb!+}ze6A{EVoXxYoJt51|7P$lWdS7e1fUD@M{Q`UUg0f`qV2Oi`J~E_5lwVz-7a= zUz23dy*Ea}J|j&6KZb-(?Z`f1zewhl@Jy2$@@0xIYBrwf!I}uM_g|fxh!Mc-AwUoT zk4J(k;`6zPmpz*SSSPD(0@U=I%gjqR$lW5^byl(iDJVMa@kpeW(BuMmFz75M0Y!g~ zW0GaExq}_p1Zh7FP4H8W$yM^IYX~EM|4S(D zr8U#z78~hL8#rvC8aQtiWxHXkm=BvA1eFcY5kKKEannCD0Ge?pB=RB5?-xf1P;)3+ zVCC2wuOrw~HolK9@z?8y@YOD@nZ9{tG-q4}>3{eJY0}KA$NpUQxy6!B0_b?C3P{0_ z;Aa;jjNqxE{rf6*x!3O&##29`b=4c3Y6dkdN>RVXmyaCcot0)x_7zod>I3#*Y_LdF zzb8ja!--WPQfwzhRfHf07voVEFMvotQl667R{n`RE#jH8kznMIGr>N(Z7OXk0yKM* z^FUSVXCfLLB~g_OEPg(WoO~C4{`6ff$k~CIr?USJS1doGrnzjXO0nihwFh{xfHYy! z%cdqWqJh($VeXRweI}dB^)|rKKl1Px@o#{W!58$N6CC$Lfh5x0HqRrbsZruQf3;{d zuno-OFo+PRWr3qDBgrr%O|-VU{DW^B z)%d?|aW5OF1CeM>M5H@1l2(@Xix;*{9ASuJV^Xgv;6i*NXusP9F4MX2>Usp}Fn^AP zJ5s?Bd~?6CHL5CfZK<5(p+x~4U1R_s2=KrQ*C=^mbG`_UYNJ#O4;rO}S9XCbu|PAf zF0h|3h}ioUtUo``7FwqIguC&{h9+U~MARp_DQ!x4S}_ahBVlADI0^&Nw#mR3amb_e(g;tQZZo-eSB_+JK zxc4wjkLZ>3Q5s1OUgYd>|6eja|0O%JdaAttEtl|pW+qNN$?Z>E?6?mO$3W| z{lg0Y^02@?iD3zT2cZIKJYyN^Z1R)5XGrJqBGGAQyVMVA@yh1dx5m0(kv2lfiQuRY z2}rz5xAgBuIGXdvaGa;YfRlJ`@YH&M5iFEOugu0RZdy4&@wXB*UolpT*tXDB7KrX0Gh$ ze^MER@2(N=9j7S4;<%l}dlUWrmMK}a^Sy<-Lh-Mp4OI6DJ6{yX@FD8*ruA4_B*BC@ zYfxF4jVR*p9U8%Z$f3=GSR*SBW;w(xBrK5D>1gQa@F86+s$fE;BOkBRkMtr4$Irhc zd~Il-Z+$b(MAS@;v@|gm5G8qzzDB)nNa97r&h|g5;C$tF z2?UA8kMV-EW1Zy@uzDgoIHPjwJ^HUXv@Exs?Xe>tr7}DEJRqcMmtR}sV>l6? z+RFt$@H5Y!gB|tXPGy1l`uJzznMQg+aC~ z*Jr)3a$ZhjW__CX_|)MW*%+H{M~)sDP-@$KTLQ?}FO7;8eRc~|rBki3{NWZ=DE5R^ zQuyO11kjB6{dfcYeYOa-F1!FAV32yG%i5Q~CK4}Z0h(D3*`V*^_sU|s?D^ht5y9He zd#80qJ@MHv02{KeplXnRWDJ9oTtG-MiES7@r{OP9IoQw*4ic%ykD`}$Hr&OI-0p3^ zesRZRUf@Y0(@ICuPq1S+H0;GyJu@MW8KfQXuHsQhjVsI_3;P@`@)@~#$0H}z=!5x^ zsW%qBzIF*LPSq;5QD>ZNT%_b)ije$FWOk0@)%c6l`xo7{Kgecv3qwI@7;R0nT`|-c z)`65CCP9M;wPt^oi)yVt@WI0WG3Z?&LHVWmKHV!j+_o>RS)cYxFFCv)?uY;-_uP@9t0ef+$0#4qTJAWA(<4Yc1rkeBF6FC0jg{NBSFh_?62i znG`!k>Ap0rKwv1>sP7wU&lr!)BF8u!o?jApv{j!lNrRp?=wZM4S=UdRX{3 zcWxx{_Il701>!ji0FI`pTpKii94hPB(Agi;!Qu#U20>dj4SB}06qxBl8T}lHp%|l_ z2l!e$AbWWc~_Si?`@3JqDvDtCREDB6C?c%GQ=ejwB zxWF@_w|7C>4a(ny>a7C$cpzltK%#NblaBzG!!DbvvMEcz99moX?xg8LY`m;WvN!|Ow}K?f+-q3+#? zPZM%{^1v8WY;{))TTOwP`lm3fgzzR?zrUkbrQ%Kv@7NIX5dCu}Dd!z00=Biz2B&z} zK@L}$T9o-a;nXyI7*D})(>s1dfZ>(h*9ViXIbY?08u$m^Dhqr;tHCjdO+1touF(2q zvio>AY+)K$mYrYgTER>QJOE-#e(hcC0&&D?ueH1rmvixRN0^j10fxuC7@5LHU^rg} z+u8!GSSktq)|0)>hsXe+8+L){%P%H8DSY^uYQI7Y06pzg`Uu45Mhb`q;U?GTe`Fr! zs)C}BSx^iO*&Q3;}pe1yWT_ce24L7y2E&uzUu&_ zpwZn>#2+~k1Q$^%j^<`k&4xg~BNae8=6dIRN$rEr6%NIiSoS&t&!`U}cv`3y=Pm@qMh z0#FwF>eX+R9TIrwWK$;LmPat&F1Mb+bfhiL=`J?+i!eQ~>}=46Rz-Qxc}ikI+}xfD zULcnc6hA_Uwo!0-tn4OqkO$(U%@0|ofult;L*DP(K6nSfR3s%=MF7g?&n}7a3~ZJZ zn4BNnPls*QnPCNH6rK^`MP7U#NK+6AwNVmr8xd}C@$n=A7VG6*EefC+CfLN$A=EK}_FaQ!c*cEzW=DO^ zeRi1n2ai3b;KKeSu=_=s{2)k`DN;{v_0xpF?~W8rd2{XDlM8#xfkewt3+P{SM< z4Mge#aVMln{*0a$P5ZrOA{|@V$HU4T%bLbKiVf$W%KBZ!kKwQ~HBVzI+3WKuPpX zEH`-{fyR#S{hmyNqE~PNVSU{y{$4B)VA{W!av2Nk_g*bg`-$(xz=*34d!=@7dxTwR z5{2eE8GTfYvD*PC=cY#C`DPV{3qAJrx8@t0KyXiT;A~I|3Pn6Ul@7s4p51?*(E@Tb zWMQAy8)mqT@N#?`7~rx3br)2bmX?^hN@K+I=#ayPA&kSnN^Zcwg=+w3y+FusZDW}-KHf(KQ)vHx~O2oNFd4%hfwJQ58C~(x7Q`33=QLd zJU~lM%HIMCFUWtp^GshU-d1z^qWzVqz0l9CuX?0gtXyZSO-hHk$PW=-AcBM&(^-J^ zWhbfQ*;HlPSh1(>D`K@7azK!*T_FB2$^*`cO#- znL?a6qcob)uXKRo>cuv!o1B*-1gt=LanwP*g5-*b2;&g4%7A^HvC0buFvjV5)lZ+@Y* z9t|tLj(Ll*dkIIl=#vjp!`Bmq{+7JJOd*MDVqa4}LU2o)2bAR>3seRh711vKm5fMY zgFj>@unYH>{x8JDnC#`A`iP%4|6*n(P-z5YK_u>V5cJc*_N|dUX++12By^o=p}f~j zx-B|QB;4qiau{~$%YGd9ZG7SxqJ_ic%s4$pf~yyP3e2doz{y`_Y>u8lfZ+5y;v38%vZnZvs+y0K_jcr$(-Qf1>VL8=x(1Bk z)#7s?#+>Jaf5Dij%7F)Yq5}NilN>SvK9QTs7=o5{y z0T$plb0F^M-|ZRvKQP}@_Rl@VNcf!ZsBgx*@DRkK6_2lXCtoaV=aEl7xN)ou`5{+ON$f)u@yF&$N!kqx zN&@u7)8GPrL?YRYqA~658+s~41P;Yol+yh?}L5|nz%jB@eJ&t#v2ggZ10)Ek5JMOj(HfRfT!ic+4>$R^DCGa2a>-p ztbgblbHbXojk*>>SP=vXlM8bkQUCXVLb?& zd0PcMXzDSg=4kF_Cta{}S$*(t_tWbwx<0G;YY~J30iQsrB>p9v6v1?hRPE*fxa6W^ z3ED$M1lGQ)yCfc@gDXa5w_3Pl#Ec_}Tkdx;d%b24emp7P_EKxW^^8gHTh2>R-zezX z8Ve(Ma8Lg!2@EzWH-~6qT{(Li!4rK#G%l}74}Tu^!)JXP83LS?f)u6{9h-ys)^B?# znEmCNn-B@^_qC3T2 z;>W1)4cR})fp<++s7{Pu^_!_X)jxc}*AAoS6Dy789*k~JCECBzAG`GXF~Mv9N_~6GM@BhN7!y{if$AZ~yYQWyWBK*gUajjBN z_`H5sK}q`cRnX$sM(f+P7X{bHWE#Bbruu@V9q;|c<;gW9XjKcC?-|&SC!0nx{p&PB zaW(E0Kio8hlzKpfvjD*7 z!IQhPrxzeVdg@-9M)-jr1Ymw}TV&(Y@OeOiX~2IQjQ`ih&{Ep}x9x$pHm&yBav+Q5 zKiYF2cn8o$;;x$HvuX|9fRZa8tTytYhne?mBF+CV7jC}&b*b#omh^R|FL*tjQ<%~c zTy+K+bE(XK)yDKscFEVKVVC37^3jjFFFCmhDJRPfN%SGJdcpdE65F0w((@*YfYZT$ zZEnT`uQxsK#A}ov%Y(Tk_z({`g?*ldK0Tv^`w$pfE7xWmiXIW?#xC<&vwM;IEttE0 zc&o6bA$F#VCdF83_zv55P-$S5yuSUi;SGh5x#e&mUN#DUD6@0{$olc%-@*R?9_X|T zHQ3@8Hc?2m?sX!J=ll^@#uQU;0<#|W0-=KF5UHQ@#jnBst0u;H_L*$UIm2Wfd4Q9d z>e#pWQgimRrAQ3Dn9i;6q!+svljUd9b62TmJjId6Omt>CRKOb%Ag8K1WGUHE;pc?q)351NA zUJ!BEmhqNe;Uy`H9`>Y!4t{2^ul7H6!iYm2lg7zuZ3AooFFjm-K7#Xq?BzqGTCX#( z_Pk2qL0nLi!bX0HQsdW;lyKeeAwYYV+UoM!gly!Vffyq0!~*B}|1`y68R;B8o7WU% zCc4+4Fy&t9xFdZznClTYON7}kule%BY6$W_FbzPn!7slW8~h<=zp=LN9z12FFh-{b z?4@U-JQNTdxIj25;@?-{B#V=Xdmw_3cUj?&JzU)iYkl7|%2H1f7@mBd(_sxfx2Bo3= z5!@0Q*ujp;!ifJ@Z4ENT-@t-AN`8$jv6ltNefL?#JNBD~W<)T}hHo87*EI0DNmQ|> zDTVdtC0!gfyl(7Y*7+78`WZeHnnakz?Ytiu#R9ZZGewBMA#vFy3)j-m?vC}DkN;R5 zc$47VIcz1SKmYy|1mb50&7hfy4H>?uwsYl(VY!S$NXe8H0%*d)1>$hSFh!_#F34wJ zP`A!Wh8ku&$VVd={tkc``3Rs%^ChH(YHG6wf))FTf58k zyQMB|jP^D5Gz@G|f+wISmqRBT@t>~G#lp4Lb~5D$D%&otr))}*ST`1Lmb}IA`D1tU zy={rkSEBHWvs(F#yCGzvK^BNlZH(d41y>JbPFIo&_DQ9Oj307ca~e9Nc=E#Il3&c& zh}d=YJh`w0P0m~E(buuE=!=QbtJK-e4HxVU{|S2KvDzfa6~CFyU`H2(3sd&G{woCk zvSxmQrZ7rf6sn6Yv(AsXuT-NFU!_k@gzijUaX;Q$ktVZrxc_pP;M6@FrI+8RV{=88 zahnh`6rzE6Vb3!&Wy#1;yLHsZ*ELaix2;2uO#`lymm#wJ4#LNo!^Bu#VH1U|qM*j; zJedUT$I<7D{Ms#X7%rHTyqI%n&@7u{)xJA-aI3Ej#LZQw*WO3S&&X$0;_W}YEH(oG zgX%*E&)3R=ZHJRQX8pr{JVA&JH>LS>C4K(VI@Ac7e4R=^G_@^vs<-y3lzztg?mkQG z>B^zQxH~Vrh%bJF7Q-8-HetqhRE8y^66JXQN{?KkdiRC5p3=UZsKv1`Jj!i~V6SVD z*LZzBp|znFUZ{ajC;n9S8xiBGF(zI&e8<5xi1 zMX*sAd3uV-`Us><0ZQ;KGy5^uS7y+pUXXejRDE{Bm8=GS7N6n#iyT_UnKNz>;$?a@ zGu^tTF(Jv#0e`HKNQyg|O3Xe!uucX|evy>isI{9WGJH&>`p?jIwK9actFR|$wE}*Q zDhc|Kg?0EvORX(JT%F6p57NfXz5$h_Qh$*{WT-CFK6V1wrGDncBK+&ruGOwZ z4^Nd~-83)%?phNiwEvHAQbSc!J@$5_*%M@V{94%6ohmxtJ8#HGj5JBi!Nwr&AudJe zy8jEUTMk1cC_Umgz!zZccTAE?MLBL<@Rx4r+LJfGqbBJG%d2z?Fln#mcRmkDhWd?{t*qlNjHX+}=%B&WcQlYgb<0F-Dyx=x7=Zj#?r} z^oZpDlCqaUf}qut^LmKc&}Hz&RX+jeT(OUB)YKY1=KxgOHt9)Q+F~~ijFt6Nry~c; zLnA-YV*&$aHNqFN9X8_olo{Y9&DbUB_8B$AL`ET3PIajIC#@7EXU)W^yecd@ay)PY z_eJe5tfSPaoC+4cr{)eW&+e0SLh?$n^UD&+i^26YmDqgJiH#9t5-g74*8Hd}VJ>5W zwB|9+*A8jtuBoU$*yGcw?+ev}x}_OYk&T$Z0=aw{6~CPBDRqXWYf-sLq0 z9-MIK%pu!Kgya3(p$IZl?$kT#iKK>l9KRDT=yS17FW-W9IBg(hn87E~p9i&DM>(_} z=d2E~cX=<5M_{q>$wsKtArWWj{hvH=e|5n^vOmSs&cvGWE~KbU~}4!lMUfj?~1tH(UMhz*V3wh_k0V-J2~q+nVM}L@1t%LZ@V}3j;|L>ZV2gO>`S>wmp<$#( z2$yB~!M%UCKxvZ-zah-h?;d3m_d2C19r7$j+w-P|2%{g{*7K>?!XJIq`b8XrLIiM$&)F;{^lj91-SpRY*#;P-KORk7$ceyRI0zeh_=_gy z4h&d+^|*88w?;eDx+@WpA?^){?X`$J^6XdIX)v8*tL7p z;#U(E!pBa`H%LC|g=(RW-;Oq@^gV7S)BdCs_(vu>J$c04JxysTETX_5LRUl#eo`K{ zDF`2&ZT~k=x+&_N9e&p-<#%?u!ub5!!UQ$<8EGe5r$w&i{oWLjTcdlrW-|KZ7F$ks zyC9mhyY0pyLQAw5hxFcitpshqcN0v}u3n%OmDOe^t+H6()Q#v*dR9dba~44~7*E3{ zwTi;qM};yGC@3Fi)Tax^Q z7zF9}#Ak+--@#q;6Hi^-!${2$m7YoSuY0Lu0Vrrx@Y@fRGO?UdkSg`r(iDT;yZcJ? zn-qTm)OSSSC*%Hga?tf7qOF*GM)Oa^=ny39VuT>&k7{?1J*8gCnLFm0?%ePY)vscE z5>B_aUHbL@j>T4f@6b|x7#hXGfN`}|IqPMfnZ2Md!A`ZfcSWBX($Zs?=J7vAD(AA# z+_`eB6O?sIaJSRbuXPz<$x_I3Zd@j#W6E3Oe*mUN4yO@A|q#8AtHk3$lygf4c z2kh+rJn+IdHZtW-|2dJd@N^PJGx5=u4MGr)4HonT%CEl1;>Lo8yvod!NYUOHT}DkW{4-45PKDw2_SO-7Z5_oxrLi9+%$Z5F zR}h|yJ-qN)X=Q?$BN`^<`!C~{nL@~guNTeAeQfL>BD}r_&nYPXNk=lyzc=tZmk7q)b5+hfr0SO*n-X8G!SToca^0* z4fYzC=e}WqsN??_7D-dlM1`RbxeJEH3tJj?xTtgVyyU-r@9$_G*L{z6Ar_CiOotO+REtegOE_wLmw0LU7q|V|%wL^th0;%fj`Nz= z+0Mcr^I1wqKiztdztOpUtv%^09;1Vik{BxZ zf85OiX`r2)-5!`C-h5as*^$M9I#(!s&n*tE&%aC?g?y$=DSowNZPa znroo-XQEQ<9@Ce6=3Nr9F!ny?hii2;SPUrWXDK@)GzylbHnmQRQJ(d9lPe5=md7?V zx)|L`s#N&n&;k_Nze{YGCzhEMj@o>2`cTz~J|X0)qzL(7RYVxBvMzl@@UQZTB|=gF z9elka0Ph`C>R_YA4DJ1S)BaD851!?5>o7DjszX3P#pdEpf^$RC-c}%9nsOy z>Ac9VGbN6Py10+}z_!1~3$IaHI!_d1J*8&$=?$jCd^o-;#L9{4)KKlKWYEIw(71Jd zl%*ab^$WD@u`!~?(Gzsg$cow&fYZX-vAM{d$ePPw44&7N(>X!-3fRFqfhG#u`&F(l z3Q{)M{%ggQt?o0uFN|&%6-PjqHQQYkw%_lAb)KZsV%)jK z{)Ok;undvb(88V}r>LT^hINdnSgFO+W}f?^#gUxww0j5vxLJC+3_ak@+RiG^J6ff? zTK~0;aMQ#*^LuDVO=9Q;I#HJwY7O0oA4-ISQ!`%u1c5&|e6L;$`^WJpa4`r`efFr1h|@GP|i z>&EmD5fz}#I{K(W>`7R0b>6lo+vd{{NxZGi*>RJV_#h7Ro9{Y&-Mg4&CjosE$|&ULQ#69Iv`YgpVfkB}fCc#|_;GchXK$j4A_kG*lu+_9 zx7yZ@zO$)`hQwuc@Cd?xX!FC%s2Far$x$u3Nh?gJv_&Wo4TKhB2}+Xzp@_-C%vHfE zqTgqoZo1aSouwZ${pSNb>KSolu<=DKn5 z9}PUIn1?~;Yul4=_j*8cyYG&8hbG@1$C)C~%{MV}q(jN;B}M!S+3%t;5`-6Opt3mO zS%6wFgg|8MZHV-b9qSu?win?aIMa-#cu%W{(6N1eL8Il=nXQG`ND8Q96!rzSI#3m{ zByF~HLsCA4DA zQWR~9NY^kpRIeTVj92M)R?{!663Ws%`$yZ4N-QR9Gg1Klb^ne_X>07L0WrEoFKOzT zvj6wFzYBHDBJj2_J05QmTq2ZDMeflQTbNn~aig{{{Ie`ebiMv-UOm)|lxMAa9rk^Z z(BDfUoP;K-r7C=XBD@43{zM(&z4`ng%NQ80xL{5Ho{p?jNt>%2yZsR1v25z1*uiqT zbJ_eJ%hRJ_u(#l{%?x#%j?pN2w?L24el6tD{L2x_M;+}G1M<;g|NHZiFGG!uAp%X8 zDR7ib;T82~dttv~n4dlx7MlyIw@1mlhPzZ#t_+Pkj(G-31?0qOl--Q_8Z`((!OA=F zH`*-Qj?gmtXcF`2JO$D)r$>BDH$eW7Ngyrb+N&S;uQI2^%ZfTh*L8ZZ z24fn~Je}GdwjT78U;lIayn!T%;rH*vhQ!Oe)8X~P{h|+174WsQmmu!!yU{u`ZA$v* zv@mCQ>AXn6!bC?frO#(u6KVpf+YJB5`H0u=zlr)XQe<@2jjAC=N#hL+Y+C;O=X^DU zuLqrKWvh89h*bE%%XGu*}_wdg(N0mS20pv1+LTEHVR+Gw(b)Z-$b353 z*reNZ$v7EJ-I{D^NMcGb07uz#!dtpodUoQBw^Oo{kkIvp{ViKQPZ=rAojZpJ&4PHY^Yb%LATTQ+G};rT zCs8~jR6u`0{W$3%QZW<#k^d_C$@o}|5{cnG(4?(Vpe1bry^n{(-u4<*nJ*3Il)U)m zp2zWxOcbiIJiGwEdTUTGYDm*IDisOUX2Lm{`i1tsPr;fmW!9s9_$L4+7Y)I?Aa3?* z==s>QM=iLP3ZEQZ)%yqg&L1NGbLS;B#>zI)NNy7Kn2jbRZ{EtTez=;YIK8)X<1s!X zzl@fQ>2Q6o+rvJkdD{9theE`Q%nBii8<(|wV~Tk`ql?hAAJq}{nEvMyk)oYM z?qMt`SR{V&TtWN0#eMl`aQUyvTM&%x#=kx5-;!V>uwKVH`|kS{^wBwEe5W#xW#K;h z?{RV$0tMB*+=nz=6qX3>W*_qV2-8=DtS7DBC9P@wkmUoJWnW^;c=1C*m-Vd#&DpO^ zhbA{n5U^wzwGVJx-I3Y(jI<>+jMDm(m9mT3Zk7x8oiRjcitG63|7Ir%YR!1K`Oxga zc8Poc2b0dIxidNpvm;A>3dNTDZ--R|-2D~iJJX`lY(+UAPLGnlitz5J?7v|zz7mIO z6IA;l-u+EB%9ybwzH=dSelfKy{H~b@cNp!`$2#bHBVb!FTl_OQG11&XFau^_$5eXl zrSoS3a}SmU|Cfal&`l0DOx2JaViu&c}k&$Kb%@P^%>-;mhWzvF)vO-rAi z5@g#s^38_h<@}NcHttoDqSNrOOy2KnX8h%Cp^GyZ)H8BG14_>wH9Q>m~hhh2K9zE9+ z)q5A=(rBeB-257kgheUxFNPN1jbMOnE@`^T&|%`EXr2W|ns8LK;RA|;|5%;Gf_nUh zNkjyN;eS#HulN?O%@M1=@BE>qcPfNNG3-1h+SbRXv?Xj-M73@D@MG~1)bqK`1qU-! z%0loeSk8Rs2|@vP@|~{$qNG#Ux&~zN=Y;m(+5gh1zZ6afYa+cA6W;DJYauaIU!31J z#RnENkk*NtksrKPBr>$=&ev}vC1a&9wj3r|Z986mf^d1oxG8f=i!c#f6unCt7fA;@ z#-}le5WKMmmoxl3hDoHj8NW(h1^q0&5$r7%`BY`>0jDP?Tuj)3H-{9xt#lq=B1$yX z7lDNb_gu=HmSnT{7FqK>;!-C;2d{R8XRU+_!@WP`2c-omJS;}HVso3HX8Oa`s61)eNw zUtW`-8!MA4YVU3uIiY@%y3kU0+~ik^N3dYqw^*NyCMsBpl!z1hgcinDY}>^VzFH=C z_edP>-HYDRKIJJXsGm=rzBbfFJx{{tA}om8`y~`Av4r*ToQG=PelC9|h?n9|aPVy6 z16%T2_lFdT(L78d!Bm}~9=LkC@|5 z0?{;MbxT!?Bt4BSAM9Iz>iHL@cW&rw1HLb1b=fso<$Qfi4XZGIBM`hN4p(X-AakKi ze8KZCV2l#hVz1qFSDCAf(@J4R^i)iVh##*M9Tf3n1dpidb9i@3!$X~4`~D#N7+Hx^ z0lb~NfNeQ*JDtbN#u zr}l*XoF7;`d%5EtM^eHv?|#uzJ{U8Q+_zd9d;774J(`EkV#2mpa%7<`#$D;z;Jk@F zmG7WSN+ucSxNbrnwRmEqQ(4tD3h{jP0(QNa&GS^YDNF= z`|SVs|5S&0XHd@;7czcCqTqmCF4c$H1kZ1ChFwpKR7Gf6nG#KA1@)iL^N^?u$C6$~ z*!RQiag(M!Rl<~eAhbk3EcluG567j~F_<1=ewV9VK$>WpoPPmf{-HZDzWRG>%U55h ziub#%TURK^-ikaQ7m1v>kxS?L^)2`vE~CFb1bIwt1bO&_YUmIClczL$a;WbYTY!V- zS1gHX%YYtyd3*dc5qy?R+Xs1Si8NtB+!VdT7ts@9Xp#)PkhW-ve*_LQNyU0yF7ZW9 zlxZ(@y_843XEMsocmv;z{F<{VO9bs%C6j%;`_%Xn931|{h;qZgQ`sJq{E8c>oZBn(hC{8M!KLB?PwHXfxOKnCfq2 z`)J5&HBFz}puVMX?&mIU+(FLqa9eX? zA_ITe0#8#UNx}XIK+2AzjuPRqfsO_l^1*dOd59_ndjUng$G|e3Uj$ovYxv)*dyFLb zP7Lxz5>1tZ3{yhp6+)lvNIQSY3PomBe&?KeaD22t4tp^GGK@7=@1Z}iM!c2|(%TXf z4jvaPgW@%@4NZS>+a}I9jf0PADNgt^`?#IhNZ#zvHiKRrey*$dt zih$v@OR5*yVnxJnNK}%KM>qitb=TrFmE$?5!s{4rVE^{FxrgOOl)LZ0{G%ubq2EZn zE>is)P?i*3H=GPeUS3|fbMFK&InHw)Ld2>%-n|=9S5Jr}6|4EITpA*djnuZASf03N z^pgDDV%D>%`Y}C0#lYjXs@UJ_>78V7ytU#8RYPQn&Gb+L%?E~}&wxh_#K85+%dN-5_v~Z?*sI)`Fmj~Yfc-9^A{{3Bfq`U8!Eh+Ryy%gu+CB zd}Or%YWEk1t6*3EM7=Fqu#KGK%?0W1hawqKC$cnmHCRuZuD`dICkTN*qF~34eZY$gqhI3 z`kN;E&l+r~lehihS`y2$KD|hZ005RIV@Z!B^9f*!zf%b?OP$2=yJ0OK<#dRYdj zx014X26JJ*^g}XE-zm8Re{T8eF03fQ@>eS^2kVM+BRc-lP2f}mt7K5 ze^in%IUIg9&~8ZtkDDMo)o;`9o_inN{+-5O;NV{I91}uc!KHFpjR9nsJLNL+BJbzj z_7Pa^uKH&U>Q7l+g#t+&-JXtH(t9u2oH^RPxr9>)1CL_rj8P}5TQCtmN zlrk;Nv5Tq^$C*L25k&)Dy{ zY%;qOHYqu}koG-15W(-~g6YCO**X)7YD?bwy-nlc*&l^1Hoe{BoOORvdzP8FW@9OqDLEVCukQeXeQH^Jin0 z!YPXs?yqnpf?Z{Bd0Wc2AXo7kNxQY1ZQh}Lk{IAxl2U2*i=3?2s6*rPhn+iZ8|efmA&N4uFk1u?}IMXZpt+bn@fbJ z`9Bh!FAf_N=!Z4R4B^wn3w|zqeWBfgN}h!wc=UD?b}PuQ5deop{o9%@|5bnaJGGVn zisSq(I{&foG&hbLGgGz0Y|KUmhfzZO_H#eZJvuvtk@oC)K0lQfLQ|!SEuP?h(*w@; zcOMpK?3AF#^bIWrbS|I2s2p2VeV^HK=1W>=tF(XWzLpm7NId(-7@m~S(qkfZkuXss zR_6=>hP<6T;g{28tRH8$uhHcKB3KsnC8JNNp5F+&$=N)5eV0LpfY|*7c>X7MoKT2h z+y+M7!?B{|tI^aYVC{#hA)g%S5po{KkClVA(-;;Yh8W^oy1ze?p6X`8S#1UWLs13< z;w!GUod2PG?AbVZrS_U#a@?ZY7e3&*occyf!hu0oFBZmOFuX5?Mtj}#a z3Z-vqTAU>?S_~JBm}*_{cr@lz)IkcHGS}w*{-Lw0;Aj;ozznoBt5qUB%JLRfO-uEc znKB5p2n|7_pd2EaX>nnHPHq6@9y+^lT9c-_ViyYZpwG-^hPGyOV{|0^77;Nn=-%DA zyw`QB%#R-%o5_6KJ?qW=lTqa+N&%V~>Iog|HLJ}M>=KPy=dg-%60aO6%Xv8Ft!QhjCu4FNhV2} zmO~9!c+>--LJyc9R}ytshqu!}jwjxp-z6O0Rxr70iEq-_2AOot@lY%Y0Y55C z)7ll?zMt3~VK=oSuL1}KusfWyntD>kzrU;!dGP5^V9D=j8|3O8h$bb0e~A7vni)Pi zqe2h>6bm}p{}A3|47YxTCEU1yqTVioDWRCQ6+Nw0xhli8sD*Z?$Tx@ zt=*HKtnh4WdyUM)IW1RtL4MjKrsdbiZiZ72`L2a15wBTeJv)WC>UoXQ-D1>G;uRe;h^tJ1YE?O`#^&*3aifM=^dIfpP z0yfotOWeeQGm6-Jyq$ZFOxAB~RzmIOf8xGG&|7(?XtO=WCJZno)mh+V{SUPwTwsUT(Ii{j*|7IWvQCyd%;PSe0lko{zRsuJkH-pG3U38b)L^Q{ z=unr%C8GL6>!g8iF(hnT$Cl5SLI<2xm4&)RxG(>PZV1DQUt{kQ&8l*H1U({LW~s|s zy^%Vdh3`!iVN;y9<_n|AJS-$`w6$(f{rAHY?u30NHlBaj17 z%Sk&R&cp?y8n*pVFpPIYgu2~2xW}IuU0(S1-LR0KZZzin>~$trzi5>|Lm~`K=Hz|C zay%F0X2Ic7J{E`cp5$)qu$*OuiTu;aTK(CE1KB7AB~gj9U?JkSQR;N??VRo8m!L@m zN_1P)2d@t=cd;SyCr;FNHIDI~=!$A;_ukX0erGNjC@3erq(Q8{9lcS(l`WBrt>39= z0bkO`XB*q% zZ_I}q5z;uwC~AciOuZK8T3Vr#TBr(k@D>f6rnx8?)ofyAdk`^-aFpjPctqot?u=Uo z^1y1%mh5);8g`{Ex3h>`+L*j6E%;XD)G?=CmtoB&vG=_I& zx!7I|MS45t(|!?;{KR&O8w8H+rF^$V!yxbCpQO(R6|CF_-udS0=Y}OFC+Fmv4*1n^ z6Q&Fz{VbMTmHX9Nu3e3AW5MSNDGS_x!lLaJQO@pW<}IO_z^%;Jn5+_PBa?XAwV(`6aU*+Q1ol&_b@5@6ndNQl$k?G~e>pjqcn!Fc(utCHqmsE)Gz}45=p6vT^|QjD4;KdrbIaT+Vvzd#{n$K*?-UY; zkj^KmAAee2M13DLFBeRU;;ey)RYqdh?0YYH@X)dIykX5XMCOWHXp>tpMWeORb;iYH z?PU=$(AS~5JRa~0gGRE>n*pm85$ZW3P`;yguE179{g&>;c%~D4Ikx^zwA`6sn@G$_ zj?Vm=yyV+Ts0U~MM(@piCBHNGje)EL&L#L=LufIvjTN?8q19^8^rhbY$mI(Fl`ZPE zQpXA%xl$x~Jd6P?+*MsCKlCi`rSorERT7$^PUM+0>$vDz?91N$UtH-AY!c*VfGfwb zh0R0OZOVVM1talbKI(tw1JWu3g$b1alI&gNZF>T0VY^+n9&#`uy&yi3+wpubdw zW)H`2+roS$C^%p>vT9AvfU}E~KC&T=kVnNktV{KKGJ+ur{YUpz09a&uYY-jFa4LJz zEo{A7`Q@9Y&~}mKtIyfk)o4DMd2P`T3ukYBx0|V^P3L{+h$7yuQ2xkLsQee1=3M+% zkyE_v6%nb+jD|(Dwjb`?5{Zy&39n^vP`}F-sMA_cWh%+3l;fQr0Qj{W^#uUcQ|FSXKDqaL{%ddwN5hRA2Jbq}F2x3TWq8mL1{SOhVTs#Xsqu z{Vq6_?+B{*E%LeE-M82XY?NZNWa3H@e{(=Vf?xkx6?GGtQ##8%k?F_|_CIa?%^P*p zVgF!1`z4egW~@;f;CEhI?;2I|7SoxCpfqS%de1c&^hMDgG`49LGkqAxaqcYguE^u{ zqQBzAd+sATvtdJ>>eejDch2k&1x8ao=Xi`fmMy1JY|RlJ{e=~1=GO4!bjruZNEt1( z3HLGAa>CB`@ltG2RR9AnPbg71FSGmYAu_Z6=Arh%ba=OORppFnpLV1F$pXZvC_$#+ zv35-VknqYe{so`&*Cz>E2i(4|;;^sUUvRn@XQqm2aKi+aUgY!;bTrDBYk6U8PZ(03 zYIW`+4S*kfE_^S>)LQ=0P1>(kvdR=4;WYt+zo%F{OvOA44K(|1FC zA7*2QY9HC%yRhT|zEW6G)L^7xvtcvn=H23`UkksFO3L`AIg`aQ@;8bTVk%l?gC@Gi zQw|WC*8*qZ#&7LHSCtueinPE;hc+6)q8jWDn6)x-ik97Y2z?dc12fFRkf-yQt1e=e z+lrfs0aC$dW&$hX^BG7)fwH;x`=lL4$;%cP%LI6dDmh&2GlH)jgc?`&tcNFuZ|T;FgYbfSz>W{TnpZt>?7=8B7% zr%{NMN~K6jd{lM&;paiU13U}mim%kL&aJr&il$&nq??^TOJl63mz{t9pgM>sqdkiS zh}Db`Y2i{<`TrRX{TDAI-ukx%W&d-vRsUaoTFe*2zW_H3ZfRcNAS5ItjEt1{3(~@biC&1pD7Y{W5eF;LuO7%`6*Mad zZl+0aGzjUz!raY}c18qitq@!(tSS-SmIMSzdL|~Mb&>ZhcB9`Z<+nq zN4%08)jv6ZqP!6QwG=ZmdrAt#r5wzu9n1Cq2Xba&;m}Jt92e7CH~xD$^#4CR|2y#h zzYCB0znHpyVHegnJps=BlWGPot`b%9zhu4iW+4p83rpHQ+k<-{+!`7hee(I+g%-q` zHD4W^K186nxJcds=z98O%S`){m3eji`DowbAZ77`Ppsa1bFrLUmL&ztuSIYB`6OZjew@&nH%y7bl_?P3AX@Mc(X6pX8HYA!`L5n3y{U1)NoVUKjWJyrO0b zO6OP!KALc~GZ}RVllw%54N;f9znx1g9P->;&MWT0xJ&)5)`c<_iCmZqvelNY63otb zuBR}9!(F~om>Szkab_nfET=UXYidxsF7@5Irkh!T2^mba3`a1d8H{Slux@Y{(#meC zo1aBaXB0;qALha;K(gKrGHHNBt{V-MkYiQeyiZ(Da>Mm!kI;tiSCwEw`twVVh@=4p zIWH7?jDXCClR7;!UM25q8jmK_)WL{f8Ags3&7b-wJl>8j0-2;knDQam$ct8MY){dC z$}&8T30>>Eag4g(1)Tr|o0&8;zCu@?+VBX5!YX9j##{K#dN5U@R|3hf!EmjXx87Kq zbP9$d$MI0o*uvX0i;P}F%)R1(Q=-)qG{8lH9b8N>{9_N}Vx|;kFt`Erf2}Btw*e(6 z@oAb2i-l`h#wIOuXk;m*e2{!qrfv)d9I0}%sga{*=~41i{g@;LVD+PY+44Clb<&$k z`ZOMOL-3`{{&h zj7@j75L?8wS5y8%ll^iQ-_h&DKsGMh_@@XE8!Ev)ll7-49tj+QP)d}z>M-s zg#&p`f zpHXP!2j6!?J=KG9;*A{eHT&S-9@fIq58!LY1UT)S*DKR12Vq}jn5_$>fPmv)RJFY) zC(B>>R-OIs>Mqxx_~Ba9VoC#Y!dVjrySfE{RO(P*VmSPFi{+FpK7$6QPrOG(-Fv#vX@L2WMP`u6w~d_24#B zq~V6EBo8K8f30yo!;G~}^)vcIRG0{HjMGeZH1)9LT?EcqO=vcO22KB&p4rVI`gX}T zypY!(AYEHI_+yOQknC2HDsu>uMrnnu9%ST-!|3`NvS^>Oxyb=vSO zzdJCi5n;8X!^R1S_Q-?MuAozMj>xcImu$PrHL8zcbfIb;KcKauu)`z*WqoxbEVFr8 zh;uE1nF8BNU?BFm`u$?FKf)kT{c6cBJNie0>|W{LjAc@KLNZ4JWjNp9tLT=+Y~{My zCxRUhq`U1l;|MSUaTw~si06`XA65IIyMvgU^a_t_{m-sIrE~(GhEZbKc3Mf-)V_bh z!V~IU*NLzs^RKt{5+9C}Zh9bk0^t}z48~o=|JCbe1|7UJjOf`^qu2Dd^6H>l65;DY zc!hclK_EGdSdRiVSQtl-&iyFP6ErhjBDDhzlT4x$Rb^ELU$-6Dhg1r4EMe|ZVpqfm?BjJdtoMuIttIL)>a4RdN7IYMTMgeUIGW(U!xEDHnCbmE6Y~ustXO7bo1$ z5GeTA7wi%SCR4ZcX6`3oHg=x9aRr-nOu&cC?hbhEE#U+PhAcWXiY29mP34`@Hfk5` zTjy}CS*;o9Rb@;Je9Z=Gx&n2;*ens^VzfsRhcHQxDiAFb!E9gJi(z`KBUBe$rt`@UM7JzS z0FvW##axOmd>?26m_YmO3zw9nG7Y6e9GaHd#=O z^p_|=Q}%Yj_h()VegViIK_`}P|Mrd3Hv9TSKg4h_Z{=A!u{5>joGiPg-P0{)V(IEW z18y58RZydiYx5rerCUl+sp45LgPLz9fg$v)ZR5PBn5vze=biU+pSu{0Jv*dFcc@lR zDl?=L<57}TB*4X45$|_0wSO+(A7f_Ga-tZptpEDXvY9rQ>>+pg%ip?R`0k1B5MEdj zI~~aX^>cGs#f0dC*6;Sml^6L7^r!bNs6s&j`{4}S9yqtHQ>=)r*^dxSwpW1@=zb4aTZ6-rw-b!vM>E)?CGhR%pmcJxAJ(@KmVUelTNsIl$HTVF0#q8OTbd zOu9)$(%iQmN+`mh{_n+tuUEn}J}pq8ksXTHe^JpC6Owtm`>qHBuOV7F9Q)2Gdpm}@ zm%)h_#Xu^J)pb091PbvM##H{i_w)L(FVB;RD}UJ04u@o?XCQGX1u7K$c+nll%9zN= z9t;ZfUuSRu_b8@SoU^ov$z{#)lJdJ$fV~W3x0V}g4I^F;sJHVJ-X;#rI*aLc5#kzD z$ZRQJ7JtJWpJ9%D=N|8A)$H#gaS$te0vv=Px2fMpk}iE72OXGU=eeiv`OHSsataF; zuKijsVSL-b98F=qC9rf2SUw9MP+j+qniEz&`Z{174lTf~U8ltoqbTKOiT5EI{J4k&(~0Gjm!~0put)&8{^Jm z?Bs*lG4xi_xrxG&V$o8+)IhQ?Fud*0`tb_zcF#fi{7A4x=G3$7fI{X*$J0J@(K}8% zB8t%65>W_WLbgw>1hf?8_z=P!tq#(qZ&IV%XTz5bUrv0d#>2o0Omfqp#d!ggVALK?ZdsMVal#tQ8QW24@T~Ig7)61_X z!+FsEFOMW)(*JB*q1VL(%Ex8pMK zc~k5~Uo~wv1>7JTW9CAu8TdZvUXCM=DtJd1#6hrOFoqY|US#NA5BO^2Bj5$b9r^d0 z6W&xyeOLt*um|@p)#@02rrwbG>p20yVS6p} z@ujZLz8@T+L+wzk=K8%$lBWA;I3*6WYIkUB;F(G*i38T#OW3>K3x& z4ap3H#dXQ^;Movt0EQjalAC(bp;`Ahu`KuyaDE#5L_Agqf}S0!6xMwr1JptHE2Y3w zsys^>2I%fRuNRzWS%8}O0=uczA?N*gu|?>HZVnx@!#l4D_E z#-A17IGe}MHn5m_0-P5MMo^;`vVfkU50ZS2_udF5(zl0)Ow}KvB?H@BDhuqKKe~7T zCs4W37)XG%eO&kJ8f=gOo#QtDiFv@br@bJSTpZSpHyL`G#*6v$SRj0Z48qLjn0D0#7o=AzHM)1Ev+@!u{pPh*EY73=h!LpSC=IaPY82iY>6@mkqpP*~HKGY?c|V z_bSvIY|1L?w{iQqg9UfEkMUcBXA?~Ji^70VD^xb{uc)fCI{ z2xCLHJGf^}`}E+R?{;LEXL*m}O%TXf&}%IFwVil%EbuYHVAC%*q^uT`G+%K`sFHq? z8U4V$ip`p}b4ZxPy2d!gePG4qbM94g6pyuIKS6KPKB?k@dX>2GZNlyWq*!0W{laT< zgBcjX@8~J>9@v^rN}pN!=(Gn2S#ey^*RzT?za^hTgH<_Ywt}bPZs4zSCHSD zaxA)5Q$MliMCUBX0LPQd=D(p@y}C6|F_bmz^vJE2fn3vUN4IT(Uw}$3xvnJM0B62jlz$AxQf>e{1bwUGo zHcu{)^0qG!ErCtESC?-v6DB1^kjgn21ONs$|U?}Yc6TQz-pj)+k2i#FeL!kEI(f|<2D;k@1TSE&Yj8?k z#dE;|zwNmzpoG}ZVl)tI>k=#rFYGOm2GnWNDXyf`i zFdmnXVVr1EgA%Wkq3^Ady6H}C{p89C-9py-BP?F$H`WQk*nlb;TP5Iq_+;Fdg8=Tl zT^7qb4axeng?#JPoFBI5C4}0lX~dnBp4>4@7#CR{D5OQZks}XO^)Gd?!3dCyVs{vQ z4Nu3O9u<4;Mti7<7+RY)AHC~hKT;2%Mj8wmj>s80;_NEMw86cA-aY9u(Kia@*r+GO z1w^iYv&3`^MGN3|V>pT5a}?wb1qyG`3*LkRNglPe|t- zYP74^t@n<`=*jyw1`=0amk;E&w+(mpDE;p2B019MCPlrb^Ekjm;5+2`HfLP)6Q(}d z`1KOf;Ktj;3tQaC>*`lsL!wG(9*0o`XC2i`MN9Pz_rOD-=|kpub`RYCGjH0o_@V= z;}d(I8GZYYF43qhM}MYfK+xm4Cm(F0#i`I>$ZCS%KoIpmZ-}w^r0g?wrJcp6agM(& z*w93RlAt~~+4P#~yY8$`6?9kKQ6N!8mgkHa3g4qOPYpZGGKFgi zrW9dv$h}-5SGW08ET`xc`Z$3bH%j(t(Zr(k2$PMjr}*#KUKL}X#c3)pUe~<3a;iOr z%ww?Q1u%|oG6uePcl32G$r1@8;Lmu-$o$rf*K;f7Zo;@AFrMDZy2uMie(w1D^qlWb zC3M%+MNC1y1y2QK}`2hk;ng;<{tO+teD%GCKKYazc)D;!4~8($3hB3sq39{#|4I`?)j3J`g89@LYWh)9 zRqz{rv^9~hjoo&xL@uXULITS&5fwpd_+pMFXby&de0sg2IQJ$0`Dw(XPiO z=P;MDH>v_9-=nIbjTLDWnvYT5eWDg}e)Ci^!Sv=|GuRpBgb&U7Un~#QAkI55?rztv z3+}tTwYl?pDidWKk$g@1CjB;}6x)FmTM#ZK?t-{lAl~HA?SNgqe*vi(EVg4g{xwpc zZ=lMs5F2_j>SoOXKgq2T!zrSDe*9S$9ktdNSlwduTKLD`-~u;!l*VsugK@mWf_f z)J$h-eq1pJ$+H3iK@%=s`?6<$?J7@%(^~9U`{iF?ujc&qcK&koYF`!x(d%sDj6*;a zvrHL-P6!~+YCecUKVY~95{?&1>Y)tikf7B5Y{_BXTp4X;5`|rgFZO;G7$VJm(mi$q4Hw3h{ z;Z>m*L9_GjQB5ePpDx*tyFSp%Wio~6s{N0i_8M@YPE+-E?l4fx)_E(h`;!)xB<(ro zccKvtvas<|Jzitz<)et2(waXP$ph`90k_17X3Ypqh;fFA4`C46Q)29Wg{ASJ&Xwv} z^JVcyz5Rj#OjWMY0uqJxQczm^w$!|7NrqR$w*C<5F*xoOdT;Gb}O z>qYe!jNt90yU(E$-?hJeoBF`Xt`3Gff&nKTuSD#$K}ZTQHYod5kk7YI7N72e(n&(l zU8{~i-or!qN)2a4)HHUsLMLT^C>Gj z_v9X*){FP>!BstQX7$zUczh8>gaTcbpruKaj~Y#v6@ls$8Z`H98hZQ`P5_cuPMG?` z(q;O^E~Z@wDpkGb{LL4Eui^~wpY`Hs(F%VpZh72iL$mM#0+(7i0nANKMC$ot3$ymW zm|1GH@e>-#|A|HnKb?g=Kx@9`a~e}2v& zsL_qe?@~J`v3RgEwEfx0@LH+RnD`;+#Po&GUxOhh$s#Rw-l3^Ep}gt5=blEI&W$tV zuhJ--;q4D!@Y3MXQU@UnY=pSmY;=jAd&Sd5RI0AN&l8~BCOgwgT#a`Bkn{QYUP3V| zbTv&RlEss=O{h)@b2WxL#$r za3N~*Bc4HbSN-`o_d@xL@d?j_M-Y}r>$Mr_WMPlMy5#(gLYfTXU!(@_dbn6e-1rm= zXD`5MM%17#*EVbb%ZPeJICPGovtvLheu^CRJ-3Q>_qGXSe^Jf6{;bmwC;3Q>bnth) ztGeY31F9th_x8p?6J_l2U-6>f7DZdKh0e3iDta#m!(``}1CzRc#T;wjv| zGy>-q!5-(gxHE|68L)fnQmnDt2TYa$Wc;r^7ooX7heU`8xV$OYt$i6c27}H05+hZv? z!92l{!ldG#aO4P3dLuvD535QDyj4N_WE62?*%*T#zy2c|os)hmu;9J@&qAkzT5fb$ z+efJ4Z;}MghvvThPv|sey>9}jt8#T;A5yb&tR<#*JCU+BIH$E(xWt@0Z9t<#qK1c7 z1a)(SM+;e4Lg1gHgwWr1+!kIG-o4VMY>-QWqazBvnHD%7ej5t^uIti1$#a&6dNg~- z7QYl-VQ;&@E9tlMZTr?Ya>1^SaT* z8>po{8+Ja}L@lDO40sfs=T4SL;gfOk;oCl&KNk>Q&y5xxiL(W6ZF1WqDqs^tp@uH{ zfaNPkoz@2&Q*@C}rJ_A4OQWqSZb#|NkhE8UbjLYY=owotq!{sfvg2?zzR^(I`X!$^ z$xMYH?wmQT%v0k(fng%Hq;$4;Trwza0lF;e;+IwFp!E8}4GS8q2KR!+O=^OzSuYK= z;=tD@MURCO9qh$dwP2%9EgEf+&#B&pK3BPXjOy`qWb`(E>&H^0zTsPEIuJk6M{ z5BB8J54(_!X40wHhn40-m$v&<0g~(Mw*nCfeRp5yK9RmdvuClqimbc8pJib-9slNW z9+82j(=1?e9Cb|q4If))CgVZ3oexCpyVNDnr6a^eWOQ2(1w+o|OGW6T?$P=zBiAT} z#<@Szp^k)I^kK2e*|L11CBy}c%bp`uy^yTr*0g??;eBKUcigMCy0fTz#sHrYjnVwD ziy4p+FU_=1X|?D+<>6sCzCYkl7^ROnhKZqrRaonLInd29`A$Iyrm>CrY9*>0KDD|ExzQh12#Q}qd}y(#x`4khb%CSc`Y~r&VEa0;G}48eOxc18 z3)_@s&u>a%X$o8x;g99f7^blXaOw|94OBT|j}I&>CaJLwoME2?_;a)l z`K-K~bwd@OBYY3UqTO{Xc46Gq8N{(q!KS!|J5*T0DUYofvOA=}=#%bN7EKLQjKmw2 zSqgbEG%~ROEzuLDyCRE5P_q0j$RP1vaC>Qpp*;Zb7qJ(dj314Vc;gQL?~ zKM)oEAj0XO;bQ1Et+?T`-zOg@eEUJ|q-(`xsc@LT#A+KzmYq$H!N$KQHi%0c)s#k5 z@Ixle>3cdiwx0CbxM!Tx=s()A?b@#f7rkD(*aC$Dh@AQ#Lyo%HGjh=OsbV9UNUk#mhcr%^5I^Fwr-jUL` zkD3t`@JRh9lE8|S!Av%*wSjUyZPKX@OcixUTQgvZP?;2m*guLyf4{uij8Pb$>%GAi z-t+b(;BLjkUt>D(ln-{Y=z(9(iX z2Ca3;8<=m^U=t5*pR4e0#+jCaf5H9^eH)T*gv*4gAYei=oTahuXG6#m$TJ=}d~a;| zey~SInR}Mmqnfd7IF0YfZPWXzA^2gC@wMdXeMixe3iQxiNQlpD_yw&JAKLJl_PS4 zA~xS(8zFAq(QRS1H+2x0<5m1RYRvye8gmDRvUx{zmckm(7@i3(mT|dIz(@@sW?WBi zm2vb{-zc3J=Kg6ozOebdui9>#AX?YMS!Dyc7Jy=`X78OQT#*w)cRA8H8wfRcz)aQd z^_KE0>en1`v?YHCt5_~RnwLN4nP%vsQ$@Qdt%kz#quYW&T609IRw(ss4Fj zVI!Xo`^sK&zA}H(jEJnm;LBp=69!z8Y(Z=SRorx{${?TV7sl&h`a^Aps-Amm;9&zy zv7W9D&cW%iIZh@8s}HZWh_?0BPE&2(%?zkA3GES!Zl}SATJZO-X(PGN$7*0~&dC~f z${NU^XJPfoun4HOPTT7hzE%7xlq1f3DV$ry(mI_3iOm^RH^g zr7D^6jMY1`J*K^P>ZMBqhdFYu)`1$=&^o#EYCjslE1D61AH+^R2OsD-jEBDFobnMl ziY=P?#rT&K8LO!!d zGxAHOqQV}=hfnG}k;u=7ru7zjO@`OTYx#0H<3}7+pNkrZm-^LE4%L+JBlvqQ$ zI7-(0y^XDGUVok`qCi>15D`7gK95SzKz`tg7B6=qL;i~4E~|cnyv9R7U`ooVjZFBx z`Cz2{8{H^u!W|nrm=C8y!4a}HZh+mRg&hIyBH}^#b`UZ_{4fJAUW*f*{=Fz3uK z-Esd@dDODBvbEY_j*o(kN`L1iuUKH$Piv2|H{l=Oat7ms3d@9^`mKPT^4Sw|BILE#Q?b^>Jh_lWgSgdsail z#Ky>hKvQT%V`alhD9EvNarlN5>L^{%B-K(BEM;4B<>Ld4d%Y$oAURs%;*KoO;D9 ziAg}=J$@x!MSp}M7wRn)b~-j*rbjM3ZmqVvQU6To>N0H2Ghy_0-KU>j7zv7#*rH`~ zDzqoBMb3>VPM}|eB(2X%Axi70o`Pl%OMnW0Wbum-@<{}<5#ZXz4C+pD7Dbwl#jq*T zLeY!&0=R*}ugAp9WGv_Y2r?_(+k8*H5@W|QGbhfstTu=4rv3OzF31I~2z$mR`0ghr zUgrGn?9UqcCJ0bMA%Ffka>TF4U%IA2{H_2k!x;fE!>;uWU#5QeQSC^tn# zJSw;gE8_&><;UX3Sh4DE7Y3X4vaA?C6P0_o7F~Gi?zi1qks^B#r?F%=k z&Gm8P5neCKcP)9ymhI;W6rUbqEUo~_3eQiB!97<;7bI?7TZ{{VyU}v+WmqflHxX97 z;DO}T)YLI;lYD|lI)EMx+B1O)JYtO+&OAWi#vxKq+0a3k6UUN>pp6fSuorOL2A}HD zwGV?eobth>oKcrk&J&<3LBqTP?KJ2-LR{o+(7J#KU(j_SfvqZo5yOQq#d>wDiKlqa z>NMlvgLDOmPYB!^G}BxP=2G;(MzS^Qc!F8nt!??m-N=7KMqhzd&cjNCNVg(Zmck^=^rDGP+q#z-(Vyk0qv6m2Mk zuNrsRF!DTq=rQ%RjLjPI(|Nb>3z@G5et#b!4{ekH>5`6Y)}RKN#FrKm0`IxTAhAA8 zVUWP%g9;w#07Di9ns4tg9W%=S7zjtUT0l(8)bRD?Zzxvsm4Cu7+s&S3m}GYq z4g~&rS@uH36Uz-erG`ooqg7Td+QUNY7BE2%y_&;bXEU5-@c^hh;ou_waVmyMA@6>9 zg9{TzUhm^gLacuk4k43-;N8EsMCm_CDUbIA+ZgxlAXx>sW9EHiuN~-Ao>0NVzBYX8 z9SPR*lnAvr_8J(4q;B+4R_#>Y{OQ3vO#dQ^`9A7$=B*gd_}V_Bs|!E-rn@&Pd5W~& zHN7K72}hDc8)ZOip6917ptNxif)9Ag29<)LJhk|O937x*>0~zQ9m&(SD!jy~3eVf% z=9^j`poIXHnPkVxinbK6QU^s;U@kBqbg?D`g5LJ|q1c4I`uUO-OfX2S_zi8Ci$7*o z|KolbG&8=^7yo=TH98cuhB84gebY0c5Tk;?OSY+vo*?*Sf$DdV!B-4uGp=OUvRmJg z{9UC-tSj&etwdVFRBnI>Yc4IAE+Z4AflMW?;UwR_TbZAMAj_M|*oqb$`u$A6%yps} zHt0==UaLIfjb|dW`MiCAVQYHfT+33#d_*k*-8I6v>(v@J57Z7%$61ylQ~!uxDSTvB z{7=kyLr*-N!AR^{@>b+E%xsEzuPrFem25aj>kIB&IsI{TcXnfND9JpT49_up@N_cL zI-I(fAXhmZ>d#nvvO&F-Ws2|7H&!AIRC1WUUj@NRJV{-QiLoRz94Dr97cQc< zvv;ApDcw@@ezXaF&sPU1T*#?7M*sFY8z1rwCTYym8r;7K{K52i|DNL&xt!~(wcuQO zeWNem%jjLuRSfq@T(b^##e!CZuC4K z=Gj?$yGn<8>~)V6rMO>jCVsy6f6AiOG@=RTvTxG-_6o!<%La>}dB;C&f7(}jJ$%-7 zm3F*A{h^3?1^Doxn%iC{Mng)@WkupM61BJw zIeML5x*;shz>*`Z6h1Ds_CZG$>JN_FMKj^L{@ei+q`wcpc@X_DRy&M5t7&pr=bVHb zW;vn>JQPM#4@Glo#HLHTjf}!Yj>tcu46Wq7b*WL&abeL*WgR6pCt5#x%)5?-(Mrm+ z9(5BM#sQr)D4oZrtBDx%H04kSX<3%Kz)wz1A@UQylM6ob95M1TM(^kX%+f^Cj_nE+ z`zv6UK!3XUpzW&+XT#H{bkWoz;d%gpG?SZG&r2(vhH?6H5}aXuiCaH^bp)}&LjwLk zd?*<|Zw=YsjQWya`=7xwrI?@Z+iN>hqt^c;8@L`j;(&IHA#hC*k=jysxtj^DYT?$i zB9gyYnIN?4c9^2w88ntje&BbzO2yZ|*Mq8Q1gwsU3+{HXOrey-jGh42IZ%zZw{SlQybGm`#IXKQO2Q7W)P z3(H(1F~^F==1wvfy17V?gfn1ia|2dWEJ_Y}(Y{)Lu2Q;4-!Vz)MZ}5rk}|J~)ZYe5 z=yRX56}I!ZQKJqo-OvMWSKgS5xnA~>=UI){bA~B*+BrTnT4{7hQ9&5D=bLVD z?(Ov@A^tCCCYjHoJijPfc-<>P62PS8JNNkPr2nO+9^HF^2Ch8KBn3Ivc_ zG(45g@g8)uD>u#CjJ7HDws!fxHd*v#HNCW0TB`y<`swFe#@dpl(MlyQ)qUTEYfQE~ zl@oG$eikldaG_zuhcMICM{(*(rD;r4g1%`SUEkSfrzuB5Q~rvgS!<{c6PV&i$ZvIA zjgHRkQDdlG3xykJk!E~tn5?C6Ei4W^xp|tO@s!cp^=%Z})C|2F_YooQp#{J(|G7xzW?`BO$IDjg_ctya=fdo-$cM!i#vFYUjbyxZ{M28qO#Oml3F*btCpq-? zr1rBE{>v(a~4zoWBgvmGIqa-x@t07;{}OdY7sCPT6la zd?PO8KM3>-by8!Yo^)+VM2d{4&UU1!&GZ|Z()c^SjR8O{Ha$#Uf32h@MexSUlIfO- zJKrK^pGMFz5TA1qSXu_^R7k!LTkKioLVqPDL$swcdGfTqm(;N14`a09kMDinLX6uG z{9^mw>z}7D>)E4oWM)wJNTEk!=o?E~pSzWY-#2JBH<(#-Qk$GS9p)^na5e~XHwE&u z=YA8;o>js!m$W3cIm0E83EdZ1R>A*-)TRb-YbA7UDk{1i*_PxRWW3xQG1p|K)Njc1 zbjQW%LW3R18qIV77eN8)dUcvf2mOWmRFyO zCT;bCpv@A&kF#z)(1q94Lsg+bld((+A}{Lkr{l38`l0^T-xr8;^XOUGF;a8EIUjl~ z>G9Un%*z0unoR_|b{O4gB2(C}1J5*+Grv}W-{a0dG1+hwWyX%i=@Gk+F0U@sm3 zRHC0qS5Wrrj6M~br~unU+YiP4PkoRC-ka)0rop-u!-v0GNpVbG(yEwgJg55=I;pUN z@vTkC-^2y4XaLV{4VR3Eg|js8A9Rfa*QbZM+->4QiC#8sZY$kwB1-Md_JNY3(mP3Uw#S_r2fLU_6u( zG#Gu*@Bt%;KFvr0@%ILZ>(d&AFU)gLD*(r1ug%|k2{lU*BetX1Qmb#KH;f}1YWSg5 zKGud5Hyk#%$g343<3k%hNQEsye8Q34f zCQ7cKDl8L(j|SY6R7oL_E&t}FD!hZd0~-);C&E$VM-~v#cHghiFej&rUQ+o|0*9qu z65`6DH87dw3c4x^hhL|1mn#Dy`6S_QuFOLY#L*sA(*yds=t0KkLU746rBB&3fQMyE zydhe;4v}Dozvsmgk*Qj(=>JHO;;q((WPsaOKZh4(vis;>KjMd#W&qXwTNGAfHeUCz z!EVsS=Xd~CTQqV9$RJ%**vQe?+P8hn=;|#Q)b@QH{BvXrWzJTDqcCpue;~*|1|em~ zF$@)oNZHwEo}>#D2)<_JC=Yye5`}%snC@E%uuX7_TPYo_d%!;NT&~DOPWjOL&ZPRt zy3mIf@+T_!15PCRjOFqLuKPo4><*WdqsN_UMBahLe|~Tbd3@o){rtag0F#9I zs^VL_v5-xoq4PA+2J-*Wu>QZCJ{w_2AG`|~F+>r78HoTc;u?R~g%!gw*g3*i=6>y+ z!QPprgS{@F)Hwsu0Ge#Yovup>wgV%>zaI#fe5d$x-zVu#UvHw{xlgp{G$K^zw0vp5Jg2Z@3g&7BK@(@dR_ja6~sN586f3xOX{O3<%K5LqY{p# z2{b0Rucba1Szy4jQGY9H>4RO$Ko|9g5s~e6zO;`HNp*_GkF>`g(x76HE-cPSK6C?k zIfh;J=HRTDFeyi_w4u~zBU6}2$7n+_bm&ieOv#7kDGIS68HWrS<}GxPg@K^rT_RH& zuly(1`6?zQ;YZa?DLXfyRU=F8 zCVR!?-c80IQ(}M>&`;d?GH*%wU4vxz$@!CQe!8Z9buEvA`^ZasaA9?{ZdBL&o~gnm#<=4* z#P=x8=bGvZc3X^v>+d~iWW*Y@LH4u2 z*XAn<7M1xM!5MCkSK!fA)_N=Ku6BR?VY}h)KUVI2E*W97r9s`duJo*B2s>>-*E3=% zl!it~Q#amBqpgviBnI5uRx7P#9vWq-y>Y^yXAguMljUEd3 zo?A~dPHf=Fytxc-&!I)7Yy3@z#ldd4m~EOoG$zLB{O~vWFsT`Ns0mn@B~iBBsL7xF zxc7=W-uvlTb=wWI{}`S%XvL6w@5%?2uCvctHz!Xby7pOYnIhNmr{BMxi7#mA-+_M2 zO;l;>>x{UjMpxyZz#S~Mw7Bg371v*pKk`6__^zXLp7@UUde^T^>tYy7NDL!l@NIF) zmG^TL?~_dI{VCp?W-($5hRC)O}ADGUR(6vQ|ddO9NYSrVX zb`IuEgq8Tt7t&!T)}&td=O|wIBxV%G7WF(EiZA+8kK^lZf=+auni!yZ$tKPn9 zsQv+o4eajgKraO@{<#WErJ#4<2Nf;+=PMu5cIQUu62ejo%AGwrs@iqu=l)t6?aIaF zPj%d8%<_JD23dLdJv94<_Zj3!#jb?`ihnA}_NmB>UKBI%b@m=~@I)EvGFDk-^2xvD z=n$$UPXo9;nAvtjpdgSVCre~FamkPAQs~=$E-o8JGNSK6thwuJrb}}^ z|>&eM9qw&1#r{>_EMUmBH<^XB8>1u)56ogD*=1f$mS{E<&@rv$wDVpNftNlTQ0tzUr^zWCOcEe5B zm}Dx4X8OLTzxgW%l9@{?@SsG%mH>rsaL{~Gn_qcF?2;ao`POFg>)!YqHKK0SXcnQH z`iE4F4cO|!6lJNG=qeFr_9V5#Y@g|-S(B_@GR^g{V}b~+Dt2p507bg>DDgW&(` zOYIBhKjF{aOciH-v+-wkJ>0l{b@i&>;K_|Ntpc&xdUOBI50>On9H88j>W$%(6}5m6 zF2;I~Glxye{^xoZy!4rfq%$Eay6#`kk z_)PS_-JRh#VE;Eq{%^%p{~zsKS2UboyEmf?h9OF{7>wwHzldOn9yNN9Fn_&f^j?Nc zFlt0FYV7{F4m~zrmJ1*gZ3_eNWgXTIeoCb1J6JHu0R?3 z1orqf-}n<_|I=7->6w9VH3ugj0#SO&<6t*K&C_KSgKXNBB5dN_Fi&WGS9 zRRmxop$A-*-=Wh!*$Rc+l#-Z%e~xnH1r~vpe&P^Uv2k|ukXsKwsf3ntnNb4tb7CGS zSPxnWx1|W28NGUwwMI&`VAx~t6`e2lqxngQQ5&Irzu{1SYBhk9<2Kya&2XE+l6MFi zV(swW%=NG=m4uk6!$G2{y*znh_e<|V#LbCUO#Fe2k@ps)cAhvS2VT_=S$ibaof$pE zvDJ>3L}+{^Kt^l<_L2A3O6GkW&4jCj=Qjlg{CALPdrKx!eLWv@m+rxJ&$4O92HYU_ znZ-`rRt3nT*Fz1D0|7Bw`#aG-G6@Yk)=~7sH#^maEFZVV_f(!K%BH8SUDIO@ntFFl z9ts?Ec#kqy9q(m-)IbM*Vk(g+vUCh&9h?ex_IR*~Y8&X^AToSxu}-cG?D7NpFNIT= zNmJ4}!NCDjn|!jNGZ*&Wdi!<6% zugE^2bF#+BTnhnH6QOjqTOKx#SR181Kr=#!4w5&t~uSR-ZjL?bmk-vxEnZ z^~Gt^A{;1zBNl=uy}`TYrw!}tNsF1Xt9kR;t-3dUU*~WuNn?liziyf>ZWg`o`{-+t z<296Zsk6g~nit(2%mZp+o8cWqMD_)V5k;BOlKEPt4J*v(vrlrJs)KAv@`5UHmw!Lf z>+pvL1WwL}LHhfHwJ8w}+iNceC=e%|^Y7f6D3w4g^R+w?B?~fY@c~y2uJBC~N@%$5 zRDaLq?%ly#aRNS;7B^9zNkA=08osbpG<7GY{-sy>>?XtI$Uy>4e<~oYhS@y zbgD)!!hpPg!UD__#H_0eQl{WuQO;W0!F*hp=%Z+-HSs)pxUxsfLit*Eg9G8U!K!ur zYmqWGx~b9&MqwmXA-39)(eJy_ef-U;=7y^?{6OGG?eZ+f?2GI3qUJ<;MCx;fXBV2> zATQ?{8`w1IY;BFqolns}%Iy7L+ey%wpGYfxC^P{M6&5KWukPJ!` zr~YM9sNENLg?P@VFiF5uWkDWAb7M81-4`mn*Mfjnz-L}jbc;);sdz58o=G-qI<90l zKSHtlHW;p^yv&HWX^HF~c_6wAGF%eMc*>2X+m{6$xW^AKZKL{S-BW&$YGWg**i*!q z+r(I^53APG#fd0p3k?cpk5#X{QMO6Tk0%^-l4*G6HB|5~G-noJ4o2=&Wu*pdWB?|6W zXa!Wv%8j%W0E1?SlsaQ9_inS5i{&?Qay*xnRd~n6huT?>X>tFpz1h=%)A5^=?H79N zXcDcQS-U%J6&uuvm<=OtmFPQ(Z1my7+lon)J`wfZPy@o89$R&AaGpCg{{E+I7^l-e z{ZfoH&H!@09Y&@dQ~Z}V*;T+ZiI!fbd|9MYDQA8T zzxE)NU3`oOc0Ib!<>7r9*xG!iKigl(X{uJ%ui#>d%UGA2SUROpAF^W2WrOowDD*ek zH$h*XQKM(O;Z0#KzbqsXQqG0rdeh-)5ooupkI>45V!P!JsphbwS*H(g^{G;51f3H& z6ZHx7(rl((1Vi8|t1p}mFmxEmD`xm4F$h(76@;RDbZDWa;VI8H)<#B6?jW#L%yfI8 z)TvXeSfcxj^f^hhwfU+NAr)02N?q2y!(s#u6%O4=2)!G$DLfZjmt}Sr zv6Zr(U%vBHe4+MEW%=yIH6C&hljiM1xsRcO-25u!Ly)GYB)Vy z&Co6Y-FWWyKQK;DAzs1R!;QK0h%!^l4gcDf9tR@zt=WTYMVHQ(a$#fBOpK=2 z5s7;7scy(IPK2>g&nFqGF%u_Zn3^ugkg_$iMhGw*ce@Y1;JJFeGcp?a(*G!W1q`hcI=ggd?nqM-o4V)>LVNQRSjlJYq3gAHKUwU)C z3h=jlORqI+p65=*QrdKv9CriYI=afRHeI0aLsfSWa{MYA-LbN;+enY-YZtOf7h@m9 zum(3wx5?M7L)oo*aid3JEj>r^%#ExS+a|$2JD?q-j_JOx#%jBYXNDb$Fw=$~7=YtF zeV-*ddyUQ+m>e;j4DtxV(zAakbb>0y+15!m@pkI{3N_WWnPZZ>c>k~psv-`{S8s9R zNA*uMme=tmAA<@e3`(twnD?LnsU-GOZfe=^mQV#$7r(f~P6k89%3YM_PtPu{bLjAO z$2AHX$rBmEDYXlu5&Bb<*{g0QF)fV<^rvrR+AlMBb}OsvTCjz}Is!lMjVONxd`nK) z$+5$hvXOu_?Xb=DAN(PVDtO{eqF`{HdR!SM(rwZ{@F8z?2%h!Dgn#cq2EJ|KI$eGM ze`5gh;>;1%E}wPb5p@&z_!z8a)(rijLJE+KCgfAm;2Vh`1N)8(hDqO05q5%YGqj}*Sl9P;t1wJnbo+8+%RJ%!_s|3_4!k&%m zzuK3b>#ip*S#aid_>xnviKSvOR>}bpr?>4Ex1Ua(+j7t$=$2{TeNF&`Y=N;sKyUQq ze|Y)Qu;@Q+;N*xWJ;@w3BfivZZE90+zWHr8!`_%S-EJ$|DP;7FB<}8Q33HU{lOwe* z41SN$pG~qz1Q+`LgulpObeU5BdTOUT?ZP4 zbj2$C>#*~!b(JbIQD--14{8^wDd+IKfICb2H>pHm60NKZBev7iV6~P&7wyh0p-OJP zdF=&8M0byMj$0{XEr$5h?_JS|VD4)fb)V~=!a&JZA2f7oM@3BK4ukWGfvv?@xHfBk zV|$+ixFwKNE{U{yvb5>hQ)6KYPPXuXeDn=Mc&Zat`P7Y`?z5@=Jtk1te}9TP0T@%G{-*@P}9 zP@A#_*WVr0S#r-9DwRS4x6hAu<^_)8XvJiz`2!_2u8f0@vxK7p|LmeUi8JM@LK}csNrMDdcK)(L0_`0jB>UC$rC!;t$t#!Xj^uzXCIBgd;fGgcEx zA-6~6LvDrS^$FH-={Y7`QtL~pcy$PWud&>F=J`131CktmZndkP99jE{5rQ|%G}-s5 zld87@SYvk7{FsNVeVf#}D}yM^xIGSk!E7WwYTr9K=HTs8z)URCvsyps^v-=ugRnUX zvjl!QzLWj?o<@&BV_UhDn~SMmuK?49_}utpM&XNd&5XiMEDxZ_e?Hz<)m3?|go^kF Date: Sun, 3 Jan 2021 15:57:13 +0530 Subject: [PATCH 2/2] Correct typo Resolved Conflict --- ...2021-01-03-read-file-using-bufferreader.md | 62 +++++++++--------- .../read-file-using-bufferreader.png | Bin 23115 -> 22978 bytes 2 files changed, 32 insertions(+), 30 deletions(-) diff --git a/_posts/java-files-io/2021-01-03-read-file-using-bufferreader.md b/_posts/java-files-io/2021-01-03-read-file-using-bufferreader.md index 042fe0b..f4f4c60 100644 --- a/_posts/java-files-io/2021-01-03-read-file-using-bufferreader.md +++ b/_posts/java-files-io/2021-01-03-read-file-using-bufferreader.md @@ -1,28 +1,28 @@ --- layout: post -title: "How To Read File Using BufferReader In Java?" +title: "How To Read File Using BufferedReader In Java?" author: gaurav -image: assets/images/2021-01-03/read-file-using-bufferreader.png +image: assets/images/2021-01-03/read-file-using-bufferedreader.png categories: [Java, Java File IO] -description: "In this article we will see how to read a file using the `BufferReader` class in Java." +description: "In this article we will see how to read a file using the `BufferedReader` class in Java." --- -In this article we will see how to read a file using the `BufferReader `class in Java. +In this article we will see how to read a file using the `BufferedReader `class in Java. -`BufferReader` class reads text from a character-input stream. Because of buffering characters it provides an efficient way to read characters, arrays, and lines. +`BufferedReader` class reads text from a character-input stream. Because of buffering characters it provides an efficient way to read characters, arrays, and lines. -`BufferReader` provides two important methods to read from the file. i.e `read()` and `readLine()`. +`BufferedReader` provides two important methods to read from the file. i.e `read()` and `readLine()`. -You can specify the bufferSize in `BufferReader `constructer. But as [motioned in the docs](https://docs.oracle.com/javase/8/docs/api/java/io/BufferedReader.html), +You can specify the bufferSize in `BufferedReader `constructer. But as [motioned in the docs](https://docs.oracle.com/javase/8/docs/api/java/io/BufferedReader.html), >The default is large enough for most purposes. -## BufferReader `read()` method +## BufferedReader `read()` method -`BufferReader` `read()` method reads a single character. IT returns the `int` representation of the char in range of 0 to 65535 (0x00-0xffff), or -1 if the end of the stream has been reached. +`BufferedReader` `read()` method reads a single character. IT returns the `int` representation of the char in range of 0 to 65535 (0x00-0xffff), or -1 if the end of the stream has been reached. We can cast `int` value returned by `read()` method to `char` to get the character value. -I have given an example to read a file character by character using the `read()` method of the `BufferReader` class +I have given an example to read a file character by character using the `read()` method of the `BufferedReader` class ```java package com.coderolls; @@ -30,11 +30,11 @@ import java.io.*; /** * A java program to read file character by character using the - * read() method of the BufferReader Class. + * read() method of the BufferedReader Class. * * @author Gaurav Kukade at coderolls.com */ -public class BufferReaderReadMethodExample { +public class BufferedReaderReadMethodExample { public static void main(String[] args) { @@ -64,9 +64,9 @@ Output ``` Welcome to coderolls.com! ``` -See [this example on GitHub](https://github.com/coderolls/blogpost-coding-examples/blob/main/java-files-io/BufferReaderReadMethodExample.java). +See [this example on GitHub](https://github.com/coderolls/blogpost-coding-examples/blob/main/java-files-io/BufferedReaderReadMethodExample.java). -## BufferReader `readLine()` method +## BufferedReader `readLine()` method As specified in the name, this method reads a line of text. A line is considered to be terminated by any one of a line feed ('\n') or a carriage return ('\r'). @@ -82,12 +82,12 @@ import java.io.*; /** * A java program to read file line by line using the - * readLine() method of the BufferReader Class. + * readLine() method of the BufferedReader Class. * * @author Gaurav Kukade at coderolls.com * */ -public class BufferReaderReadLineMethodExample { +public class BufferedReaderReadLineMethodExample { public static void main(String[] args) { @@ -119,31 +119,33 @@ Welcome to coderolls.com! Visit coderolls to read more coding tutorials! ``` -See [this example on GitHub](https://github.com/coderolls/blogpost-coding-examples/blob/main/java-files-io/BufferReaderReadLineMethodExample.java). +See [this example on GitHub](https://github.com/coderolls/blogpost-coding-examples/blob/main/java-files-io/BufferedReaderReadLineMethodExample.java). -I have given below a combine example of the Java `BufferReader` `read()` and `readLine()` method below +I have given below a combine example of the Java `BufferedReader` `read()` and `readLine()` method below ```java package com.coderolls; import java.io.*; -public class BufferReaderExanple { +public class BufferedReaderExanple { public static void main(String[] args) { BufferedReader bufferedReader = null; try { + bufferedReader = new BufferedReader(new FileReader("F:\\sample-text.txt")); + System.out.println("Read file using read() method: "); + readFileCharacterByCharacter(bufferedReader); + bufferedReader = new BufferedReader(new FileReader("F:\\sample-text-two-lines.txt")); + System.out.println("\n\nRead file using readLine() method: "); + readFileLineByLine(bufferedReader); } catch (FileNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } - - readFileCharacterByCharacter(bufferedReader); - - readFileLineByLine(bufferedReader); - + try { bufferedReader.close(); } catch (IOException e) { @@ -152,7 +154,7 @@ public class BufferReaderExanple { } /** - * A method to read file content character by character using the BufferReader + * A method to read file content character by character using the BufferedReader * read() method * * @param bufferedReader @@ -170,7 +172,7 @@ public class BufferReaderExanple { } /** - * A method to read file content line by line using the BufferReader + * A method to read file content line by line using the BufferedReader * readLine() method * * @param bufferedReader @@ -190,19 +192,19 @@ public class BufferReaderExanple { } ``` -See [this example on GitHub](https://github.com/coderolls/blogpost-coding-examples/blob/main/java-files-io/BufferReaderExanple.java). +See [this example on GitHub](https://github.com/coderolls/blogpost-coding-examples/blob/main/java-files-io/BufferedReaderExanple.java). ## `newBufferedReader()` method in Java 8 -In Java 1.8 and above you can get a `BufferReader` instance using the `newBufferedReader()` method of the `java.nio.file.Files` class. +In Java 1.8 and above you can get a `BufferedReader` instance using the `newBufferedReader()` method of the `java.nio.file.Files` class. ## Conclusion -You can read file character by character using the `read()` method of the `BufferReader`Class. +You can read file character by character using the `read()` method of the `BufferedReader`Class. `read()` method returns an integer value, you have to cast it to `char` to get character value. -Also, you can read file line by line using the `readLine()` method of the `BufferReader`Class +Also, you can read file line by line using the `readLine()` method of the `BufferedReader`Class `readLine()` methods returns the line content as string, except the line terminating character diff --git a/assets/images/2021-01-03/read-file-using-bufferreader.png b/assets/images/2021-01-03/read-file-using-bufferreader.png index 1b77eed2e36a5b1a5a7902d2fefc3b32ea3c4d30..2f3170258b59bbf4b441520cabef0728e379771c 100644 GIT binary patch literal 22978 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