From ae29bf6b2c55e12f21e122e6c9ab1005549d84fa Mon Sep 17 00:00:00 2001 From: Dave Davis Date: Tue, 15 Feb 2022 00:03:51 +0000 Subject: [PATCH] Initial commit --- .gitignore | 33 ++ .mvn/wrapper/maven-wrapper.jar | Bin 0 -> 58727 bytes .mvn/wrapper/maven-wrapper.properties | 2 + Readme.md | 29 ++ docs/images/architecture draft 1.png | Bin 0 -> 97272 bytes mvnw | 316 ++++++++++++++++++ mvnw.cmd | 188 +++++++++++ pom.xml | 78 +++++ .../io/pdfit/declutter/DeclutterService.java | 34 ++ src/main/java/io/pdfit/pdf/PdfService.java | 34 ++ .../io/pdfit/readlater/PdfitApplication.java | 16 + src/main/resources/application.properties | 1 + .../readlater/PdfitApplicationTests.java | 13 + 13 files changed, 744 insertions(+) create mode 100644 .gitignore create mode 100644 .mvn/wrapper/maven-wrapper.jar create mode 100644 .mvn/wrapper/maven-wrapper.properties create mode 100644 Readme.md create mode 100644 docs/images/architecture draft 1.png create mode 100755 mvnw create mode 100644 mvnw.cmd create mode 100644 pom.xml create mode 100644 src/main/java/io/pdfit/declutter/DeclutterService.java create mode 100644 src/main/java/io/pdfit/pdf/PdfService.java create mode 100644 src/main/java/io/pdfit/readlater/PdfitApplication.java create mode 100644 src/main/resources/application.properties create mode 100644 src/test/java/io/pdfit/readlater/PdfitApplicationTests.java diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..549e00a --- /dev/null +++ b/.gitignore @@ -0,0 +1,33 @@ +HELP.md +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ diff --git a/.mvn/wrapper/maven-wrapper.jar b/.mvn/wrapper/maven-wrapper.jar new file mode 100644 index 0000000000000000000000000000000000000000..c1dd12f17644411d6e840bd5a10c6ecda0175f18 GIT binary patch literal 58727 zcmb5W18`>1vNjyPv28mO+cqb*Z6_1kwr$(?#I}=(ZGUs`Jr}3`|DLbDUA3!L?dtC8 zUiH*ktDo+@6r@4HP=SCTA%WmZqm^Ro`Ls)bfPkcdfq?#g1(Fq27W^S8Cq^$TC?_c< zs-#ROD;6C)1wFuk7<3)nGuR^#!H;n&3*IjzXg+s8Z_S!!E0jUq(`}Itt=YdYa5Z_s z&e>2={87knpF*PKNzU;lsbk#P(l^WBvb$yEz)z+nYH43pKodrDkMp@h?;n{;K}hl>Fb^ zqx}C0|D7kg|Cj~3f7hn_zkAE}|6t|cZT|S5Hvb#3nc~C14u5UI{6#F<|FkJ0svs&S zA}S{=DXLT*BM1$`2rK%`D@vEw9l9%*=92X_2g?Fwfi=6Zfpr7+<~sgP#Bav+Df2ts zwtu~70zhqV?mrzM)}r7mMS`Hk_)NrI5K%CTtQtDxqw5iv5F0!ksIon{qqpPVnU?ds zN$|Vm{MHKEReUy>1kVfT-$3))Js0p2W_LFy3cjjZ7za0R zPdBH>y&pb0vr1|ckDpt2p$IQhwnPs5G*^b-y}sg4W!ALn}a`pY0JIa$H0$eV2T8WjWD= zWaENacQhlTyK4O!+aOXBurVR2k$eb8HVTCxy-bcHlZ4Xr!`juLAL#?t6|Ba!g9G4I zSwIt2Lla>C?C4wAZ8cKsZl9-Yd3kqE`%!5HlGdJJaFw0mu#--&**L-i|BcIdc3B$;0FC;FbE-dunVZ; zdIQ=tPKH4iJQQ=$5BeEMLov_Hn>gXib|9nOr}>eZt@B4W^m~>Zp#xhn1dax+?hS!AchWJ4makWZs@dQUeXQ zsI2+425_{X@t2KN zIbqec#)Jg5==VY3^YBeJ2B+%~^Y8|;F!mE8d(`UgNl2B9o>Ir5)qbBr)a?f%nrP zQyW(>FYPZjCVKDOU;Bw#PqPF1CCvp)dGdA&57a5hD&*vIc)jA)Z-!y5pS{5W6%#prH16zgD8s zexvpF#a|=*acp>L^lZ(PT)GiA8BJL-9!r8S$ZvXRKMVtiGe`+!@O%j<1!@msc177U zTDy>WOZu)W5anPrweQyjIu3IJC|ngdjZofGbdW&oj^DJlC7$;|xafB45evT|WBgGf-b|9y0J`fe0W-vw6xh}` z=(Tnq(-K0O{;VUcKe2y63{HXc+`R_#HLwnZ0rzWO*b#VeSuC4NG!H_ApCypbt1qx( z6y7Q$5(JOpQ&pTkc^0f}A0Kq*?;g9lEfzeE?5e2MBNZB)^8W1)YgdjsVyN+I9EZlh z3l}*}*)cFl=dOq|DvF=!ui$V%XhGQ%bDn3PK9 zV%{Y|VkAdt^d9~y4laGDqSwLd@pOnS&^@sI7}YTIb@El1&^_sq+{yAGf0|rq5TMp# z6d~;uAZ(fY3(eH=+rcbItl2=u6mf|P{lD4kiRCv;>GtFaHR3gim?WU9RjHmFZLm+m z+j<}_exaOQ1a}=K#voc~En+Mk_<(L!?1e#Uay~|H5q)LjD*yE6xFYQ-Wx{^iH1@pP zC0De#D6I26&W{;J40sZB!=%{c?XdO?YQvnTMA3TwfhAm@bvkX*(x?JTs*dFDv^=2X z284}AK)1nRn+8(Q2P?f)e>0~;NUI9%p%fnv1wBVpoXL+9OE`Vv1Y7=+nub$o7AN>y zB?R(^G8PYcMk4bxe7XItq@48QqWKb8fa*i9-N)=wdU-Q^=}!nFgTr_uT=Z=9pq z`{7!$U|+fnXFcsJ4GNm3JQQCN+G85k$)ZLhF{NbIy{REj84}Zt;0fe#>MARW)AoSb zrBpwF37ZVBMd>wZn_hAadI*xu8)Y#`aMbwRIA2n^-OS~M58_@j?#P1|PXJ1XBC9{4 zT^8*|xu<@(JlSOT*ILrVGr+7$nZN`Z3GxJJO@nY&mHsv^^duAh*lCu5q+S6zWA+`- z%^*y#)O7ko_RwGJl;bcEpP03FOrhlLWs`V_OUCrR-g>NJz*pN|itmN6O@Hw05Zq;Xtif%+sp4Py0{<7<^c zeoHHhRq>2EtYy9~2dZywm&OSk`u2ECWh6dJY?;fT-3-$U`!c(o$&hhPC%$~fT&bw3 zyj+8aXD;G!p*>BC6rpvx#6!|Qaic;KEv5>`Y+R(6F^1eIeYG6d1q3D3OL{7%7iw3R zwO)W7gMh27ASSB>-=OfP(YrKqBTNFv4hL@Im~~ombbSu44p~VoH$H-6+L_JW>Amkl zhDU~|r77?raaxD!-c$Ta?WAAi{w3T}YV=+S?1HQGC0+{Bny_^b+4Jum}oW4c=$ z#?D<}Ds{#d5v`L`${Pee;W84X*osNQ96xsKp^EAzuUh9#&zDX=eqdAp$UY)EGrkU% z(6m35n=46B$TNnejNSlih_!<)Iu@K!PW5S@Ya^0OK+EMWM=1w=GUKW^(r59U%i?d zzbo?|V4tDWGHHsrAQ}}ma#<`9r=M8%XF#%a=@Hn(p3wFBlkZ2L@8=*@J-^zuyF0aN zzJ7f!Jf8I+^6Tt$e+IIh zb80@?7y#Iz3w-0VEjgbHurqI>$qj<@n916)&O340!_5W9DtwR)P5mk6v2ljyK*DG5 zYjzE~m`>tq8HYXl%1JJ%e-%BqV4kRdPUZB1Cm$BQZr(fzp_@rn_W+;GwI$?L2Y4;b z)}c5D$#LT}2W8Si<`EHKIa_X+>+2PF(C*u~F=8E!jL(=IdQxY40%|( zoNg2Z&Aob@LEui-lJ#@)Ts)tE0_!*3{Uk)r{;-IZpX`N4mZX`#E|A;viQWImB6flI z?M_|xHCXV$5LOY-!U1_O1k;OWa=EchwlDCK4xHwBW2jE-6&%}og+9NILu${v10Z^Z#* zap|)B9a-AMU~>$r)3&|dQuP#MA$jnw54w*Ax~*_$iikp+j^OR8I5Fo<_UR#B-c>$? zeg)=;w^sGeAMi<3RGDRj$jA30Qq$e|zf2z;JyQ}tkU)ZI_k6tY%(`#AvL)p)iYXUy z5W9Su3NJ8mVyy)WqzFSk&vZM!;kUh8dVeA-myqcV%;xUne`PbHCPpvH?br`U2Y&dM zV!nJ!^n%`!H&!QSlpzLWnZpgi;#P0OAleH+<CfLa?&o|kyw1}W%6Pij zp$Vv5=;Z0LFN|j9i&9>zqX>*VnV3h#>n!2L?5gO6HJS3~kpy5G zYAVPMaB-FJOk3@OrxL(*-O~OB9^d{!G0K>wlzXuBm*$&%p1O#6SQ*?Q0CETLQ->XpfkW7< zj&Nep(}eAH1u$wWFvLV*lA{JOltP_%xKXC*a8DB&;{fD&2bATy>rC^kFY+$hFS7us;Y) zy_H?cv9XTHYz<4C<0b`WKC#{nJ15{F=oaq3x5}sYApT?Po+(Cmmo#dHZFO^{M#d~d znRT=TFATGVO%z_FNG-@G;9az|udZ>t@5l+A-K)BUWFn_|T#K3=d3EXRNqHyi#>;hX z*JQ`pT3#&tH>25laFlL6Rllu(seA*OboEd%rxMtz3@5v-+{qDP9&BcoS$2fgjgvp$ zc8!3=p0p@Ee1$u{Gg}Kkxg@M*qgZfYLlnD88{uwG1T?zxCbBR+x(RK$JB(eWJH#~; zZoY6L+esVRV?-*QmRCG}h`rB*Lv=uE%URF@+#l-g!Artx>Y9D;&G=jY2n2`J z{6-J%WX~Glx*QBmOOJ(RDRIzhfk&ibsm1t&&7aU{1P3U0uM%F2zJb4~50uby_ng+# zN)O9lK=dkJpxsUo7u8|e`Y~mmbxOTDn0i!i;d;ml#orN(Lc=j+n422NoSnlH6?0<0?th-qB7u}`5My%#?ES}>@RldOQz}WILz<$+cN~&ET zwUI01HCB((TyU$Ej8bxsE8oLmT-c7gA1Js?Iq`QMzIHV|)v)n2 zT_L(9x5%8*wU(C`VapaHoicWcm|0X@9TiNtbc|<4N6_H1F6&qgEEj=vjegFt;hC7- zLG7_=vedRFZ6Chbw!{#EpAlM?-sc#pc<~j#537n)M%RT)|L}y(ggi_-SLpsE3qi3V z=EEASxc>a{Su)jXcRS41Z@Mxk&0B7B<(?Izt5wpyyIBO|-M}ex8BhbIgi*X4 zDZ+Yk1<6&=PoZ=U-!9`!?sBVpYF#Y!JK<`fx}bXN651o0VVaW;t6ASVF@gq-mIDV_)?F^>rq1XX0NYy~(G=I6x%Fi5C2rMtvs z%P`g2>0{xLUy~#ye)%QAz^NkD5GUyPYl}K#;e-~UQ96`I$U0D!sMdQ>;%+c0h>k*Y z)sD1mi_@|rZnQ+zbWq~QxFlBQXj8WEY7NKaOYjUxAkGB8S#;l@b^C?;twRKl=mt0< zazifrBs`(q7_r14u1ZS`66VmsLpV>b5U!ktX>g4Nq~VPq6`%`3iCdr(>nS~uxxylU z>h(2p$XPJVh9BDpRLLzTDlNdp+oq8sOUlJ#{6boG`k)bwnsw5iy@#d{f_De-I|}vx6evw;ch97=;kLvM)-DBGwl6%fA%JItoMeyqjCR*_5Q70yd!KN zh=>ek8>f#~^6CJR0DXp0;7ifZjjSGBn}Cl{HeX!$iXMbtAU$F+;`%A<3TqbN#PCM& z&ueq$cB%pu2oMm_-@*aYzgn9`OiT@2ter*d+-$Aw42(@2Ng4mKG%M-IqX?q%3R|_( zN|&n$e1L#Ev=YMX5F53!O%))qDG3D(0rsOHblk;9ghWyqEOpg)mC$OduqpHAuIxr_>*|zy+|=EmOFn zFM+Ni%@CymLS-3vRWn=rVk?oZEz0V#y356IE6HR5#>7EigxZ05=cA|4<_tC8jyBJ| zgg!^kNwP7S^ooIj6riI9x`jFeQfRr4JCPumr<82M zto$j^Qb~MPmJ-|*2u{o7?yI8BI``zDaOCg2tG_5X;w<|uj5%oDthnLx-l4l)fmUGx z6N^jR|DC);yLi4q-ztTkf>*U$@2^w5(lhxu=OC|=WuTTp^!?2Nn27R`2FY_ zLHY-zFS}r+4|XyZw9b0D3)DmS!Gr+-LSdI}m{@-gL%^8CFSIYL?UZaCVd)2VI3|ay zwue39zshVrB+s2lp*};!gm<79@0HkjhgF^>`UhoR9Mi`aI#V#fI@x&1K3f&^8kaq% zkHVg$CTBoaGqEjrL)k*Y!rtiD2iQLYZ%|B}oBl8GHvR%n>HiIQN*+$mCN>I=c7H2N z&K4$4e@E^ff-cVHCbrHNMh4Dy|2Q;M{{xu|DYjeaRh2FK5QK!bG_K`kbBk$l$S4UF zq?F-%7UrX_Q?9M)a#WvcZ^R-fzJB5IFP>3uEoeCAAhN5W-ELRB&zsCnWY6#E?!)E56Pe+bxHjGF6;R9Hps)+t092-bf4 z_Wieg+0u5JL++k)#i0r?l`9*k)3ZlHOeMJ1DTdx9E1J2@BtdD3qX;&S_wMExOGv$T zl^T%oxb+)vq6vJvR`8{+YOsc@8}wSXpoK%v0k@8X*04Se3<8f)rE|fRXAoT!$6MdrKSuzeK@L*yug?MQs8oTbofqW)Df# zC2J3irHAaX_e~SGlBoRhEW`W6Z}&YX|5IMfzskAt{B*m z*w=3i!;x5Gfgc~>y9fPXFAPMhO@Si}SQESjh`P|dlV5HPRo7j(hV=$o8UMIT7~7+k z*@Sd>f%#{ARweJYhQs~ECpHie!~YXL|FJA;KS4m|CKFnT{fN`Ws>N?CcV@(>7WMPYN} z1}Wg+XU2(Yjpq7PJ|aSn;THEZ{4s8*@N!dz&bjys_Zk7%HiD+56;cF26`-a zEIo!B(T|L*uMXUvqJs&54`^@sUMtH-i~rOM9%$xGXTpmow$DxI>E5!csP zAHe|);0w%`I<==_Zw9t$e}?R+lIu%|`coRum(1p~*+20mBc?Z=$+z<0n&qS0-}|L4 zrgq|(U*eB%l3nfC=U1Y?(Tf@0x8bhdtsU2w&Y-WvyzkiyJ>GZqUP6c+<_p0`ZOnIK z#a~ynuzRWxO6c;S@*}B1pTjLJQHi(+EuE2;gG*p^Fq%6UoE1x95(^BY$H$$soSf=vpJ)_3E zp&$l=SiNaeoNLAK8x%XaHp3-So@F7 z3NMRRa@%k+Z$a%yb25ud&>Cdcb<+}n>=jZ`91)a z{wcA(j$%z#RoyB|&Z+B4%7Pe*No`pAX0Y;Ju4$wvJE{VF*Qej8C}uVF=xFpG^rY6Y+9mcz$T9^x(VP3uY>G3Zt&eU{pF*Bu<4j9MPbi4NMC=Z$kS6DMW9yN#vhM&1gd1t}8m(*YY9 zh2@s)$1p4yYT`~lYmU>>wKu+DhlnI1#Xn4(Rnv_qidPQHW=w3ZU!w3(@jO*f;4;h? zMH0!08(4=lT}#QA=eR(ZtW1=~llQij7)L6n#?5iY_p>|_mLalXYRH!x#Y?KHyzPB^ z6P3YRD}{ou%9T%|nOpP_??P;Rmra7$Q*Jz-f?42PF_y>d)+0Q^)o5h8@7S=je}xG# z2_?AdFP^t{IZHWK)9+EE_aPtTBahhUcWIQ7Awz?NK)ck2n-a$gplnd4OKbJ;;tvIu zH4vAexlK2f22gTALq5PZ&vfFqqERVT{G_d`X)eGI%+?5k6lRiHoo*Vc?ie6dx75_t z6hmd#0?OB9*OKD7A~P$e-TTv3^aCdZys6@`vq%Vi_D8>=`t&q9`Jn1=M#ktSC>SO3 z1V?vuIlQs6+{aHDHL?BB&3baSv;y#07}(xll9vs9K_vs2f9gC9Biy+9DxS77=)c z6dMbuokO-L*Te5JUSO$MmhIuFJRGR&9cDf)@y5OQu&Q$h@SW-yU&XQd9;_x;l z<`{S&Hnl!5U@%I~5p)BZspK894y7kVQE7&?t7Z|OOlnrCkvEf7$J5dR?0;Jt6oANc zMnb_Xjky|2ID#fhIB2hs-48Er>*M?56YFnjC)ixiCes%fgT?C|1tQupZ0Jon>yr|j z6M66rC(=;vw^orAMk!I1z|k}1Ox9qOILGJFxU*ZrMSfCe?)wByP=U73z+@Pfbcndc=VzYvSUnUy z+-B+_n`=f>kS8QBPwk+aD()=#IqkdxHPQMJ93{JGhP=48oRkmJyQ@i$pk(L&(p6<0 zC9ZEdO*i+t`;%(Ctae(SjV<@i%r5aune9)T4{hdzv33Uo9*K=V18S$6VVm^wgEteF za0zCLO(9~!U9_z@Qrh&rS|L0xG}RWoE1jXiEsrTgIF4qf#{0rl zE}|NGrvYLMtoORV&FWaFadDNCjMt|U8ba8|z&3tvd)s7KQ!Od*Kqe(48&C7=V;?`SQV)Qc?6L^k_vNUPbJ>>!5J?sDYm5kR&h_RZk)MfZ1 znOpQ|T;Me(%mdBJR$sbEmp3!HKDDSmMDnVpeo{S13l#9e6OImR$UPzjd-eCwmMwyT zm5~g6DIbY<_!8;xEUHdT(r_OQ<6QCE9Jy|QLoS>d(B zW6GRzX)~&Mx}})ITysFzl5_6JM*~ciBfVP(WF_r zY>z4gw&AxB%UV3Y{Y6z*t*o!p@~#u3X_t{Q9Us8ar8_9?N% zN&M~6y%2R(mAZ~@Tg1Oapt?vDr&fHuJ=V$wXstq|)eIG_4lB#@eU>fniJh zwJY<8yH5(+SSQ=$Y=-$2f$@^Ak#~kaR^NYFsi{XGlFCvK(eu{S$J(owIv17|p-%0O zL-@NyUg!rx0$Uh~JIeMX6JJE>*t<7vS9ev#^{AGyc;uio_-Je1?u#mA8+JVczhA2( zhD!koe;9$`Qgaxlcly4rdQ1VlmEHUhHe9TwduB+hm3wH2o27edh?|vrY{=;1Doy4& zIhP)IDd91@{`QQqVya(ASth4}6OY z-9BQj2d-%+-N7jO8!$QPq%o$9Fy8ja{4WT$gRP+b=Q1I48g-g|iLNjbhYtoNiR*d- z{sB}~8j*6*C3eM8JQj5Jn?mD#Gd*CrVEIDicLJ-4gBqUwLA-bp58UXko;M|ql+i5` zym-&U5BIS9@iPg#fFbuXCHrprSQKRU0#@yd%qrX1hhs*85R}~hahfFDq=e@bX))mf zWH%mXxMx|h5YhrTy;P_Xi_IDH*m6TYv>|hPX*_-XTW0G9iu!PqonQneKKaCVvvF^% zgBMDpN7!N?|G5t`v{neLaCFB{OyIl>qJQ_^0MJXQ zY2%-si~ej?F^%ytIIHU(pqT+3d+|IQ{ss#!c91R{2l*00e3ry!ha|XIsR%!q=E^Fal`6Oxu`K0fmPM?P6ZgzH7|TVQhl;l2 z)2w0L9CsN-(adU5YsuUw19OY_X69-!=7MIJ^(rUNr@#9l6aB8isAL^M{n2oD0FAHk97;X* z-INjZ5li`a|NYNt9gL2WbKT!`?%?lB^)J)9|025nBcBtEmWBRXQwi21EGg8>!tU>6Wf}S3p!>7vHNFSQR zgC>pb^&OHhRQD~7Q|gh5lV)F6i++k4Hp_F2L2WrcxH&@wK}QgVDg+y~o0gZ=$j&^W zz1aP8*cvnEJ#ffCK!Kz{K>yYW`@fc8ByF9X4XmyIv+h!?4&$YKl*~`ToalM{=Z_#^ zUs<1Do+PA*XaH;&0GW^tDjrctWKPmCF-qo7jGL)MK=XP*vt@O4wN1Y!8o`{DN|Rh) znK?nvyU&`ATc@U*l}=@+D*@l^gYOj&6SE|$n{UvyPwaiRQ_ua2?{Vfa|E~uqV$BhH z^QNqA*9F@*1dA`FLbnq;=+9KC@9Mel*>6i_@oVab95LHpTE)*t@BS>}tZ#9A^X7nP z3mIo+6TpvS$peMe@&=g5EQF9Mi9*W@Q`sYs=% z`J{3llzn$q;2G1{N!-#oTfQDY`8>C|n=Fu=iTk443Ld>>^fIr4-!R3U5_^ftd>VU> zij_ix{`V$I#k6!Oy2-z#QFSZkEPrXWsYyFURAo`Kl$LkN>@A?_);LE0rZIkmjb6T$ zvhc#L-Cv^4Ex*AIo=KQn!)A4;7K`pu-E+atrm@Cpmpl3e>)t(yo4gGOX18pL#xceU zbVB`#5_@(k{4LAygT1m#@(7*7f5zqB)HWH#TCrVLd9}j6Q>?p7HX{avFSb?Msb>Jg z9Q9DChze~0Psl!h0E6mcWh?ky! z$p#@LxUe(TR5sW2tMb#pS1ng@>w3o|r~-o4m&00p$wiWQ5Sh-vx2cv5nemM~Fl1Pn z@3ALEM#_3h4-XQ&z$#6X&r~U-&ge+HK6$)-`hqPj0tb|+kaKy*LS5@a9aSk!=WAEB z7cI`gaUSauMkEbg?nl0$44TYIwTngwzvUu0v0_OhpV;%$5Qgg&)WZm^FN=PNstTzW z5<}$*L;zrw>a$bG5r`q?DRc%V$RwwnGIe?m&(9mClc}9i#aHUKPLdt96(pMxt5u`F zsVoku+IC|TC;_C5rEU!}Gu*`2zKnDQ`WtOc3i#v}_9p>fW{L4(`pY;?uq z$`&LvOMMbLsPDYP*x|AVrmCRaI$UB?QoO(7mlBcHC};gA=!meK)IsI~PL0y1&{Dfm6! zxIajDc1$a0s>QG%WID%>A#`iA+J8HaAGsH z+1JH=+eX5F(AjmZGk|`7}Gpl#jvD6_Z!&{*kn@WkECV-~Ja@tmSR|e_L@9?N9 z3hyyry*D0!XyQh_V=8-SnJco#P{XBd1+7<5S3FA)2dFlkJY!1OO&M7z9uO?$#hp8K z><}uQS-^-B;u7Z^QD!7#V;QFmx0m%{^xtl3ZvPyZdi;^O&c;sNC4CHxzvvOB8&uHl zBN;-lu+P=jNn`2k$=vE0JzL{v67psMe_cb$LsmVfxA?yG z^q7lR00E@Ud3)mBPnT0KM~pwzZiBREupva^PE3~e zBgQ9oh@kcTk2)px3Hv^VzTtMzCG?*X(TDZ1MJ6zx{v- z;$oo46L#QNjk*1przHSQn~Ba#>3BG8`L)xla=P{Ql8aZ!A^Z6rPv%&@SnTI7FhdzT z-x7FR0{9HZg8Bd(puRlmXB(tB?&pxM&<=cA-;RT5}8rI%~CSUsR^{Dr%I2WAQghoqE5 zeQ874(T`vBC+r2Mi(w`h|d zA4x%EfH35I?h933@ic#u`b+%b+T?h=<}m@x_~!>o35p|cvIkkw07W=Ny7YcgssA_^ z|KJQrnu||Nu9@b|xC#C5?8Pin=q|UB?`CTw&AW0b)lKxZVYrBw+whPwZJCl}G&w9r zr7qsqm>f2u_6F@FhZU0%1Ioc3X7bMP%by_Z?hds`Q+&3P9-_AX+3CZ=@n!y7udAV2 zp{GT6;VL4-#t0l_h~?J^;trk1kxNAn8jdoaqgM2+mL&?tVy{I)e`HT9#Tr}HKnAfO zAJZ82j0+49)E0+=x%#1_D;sKu#W>~5HZV6AnZfC`v#unnm=hLTtGWz+21|p)uV+0= zDOyrLYI2^g8m3wtm-=pf^6N4ebLJbV%x`J8yd1!3Avqgg6|ar z=EM0KdG6a2L4YK~_kgr6w5OA;dvw0WPFhMF7`I5vD}#giMbMzRotEs&-q z^ji&t1A?l%UJezWv?>ijh|$1^UCJYXJwLX#IH}_1K@sAR!*q@j(({4#DfT|nj}p7M zFBU=FwOSI=xng>2lYo5*J9K3yZPwv(=7kbl8Xv0biOba>vik>6!sfwnH(pglq1mD-GrQi8H*AmfY*J7&;hny2F zupR}4@kzq+K*BE%5$iX5nQzayWTCLJ^xTam-EEIH-L2;huPSy;32KLb>>4 z#l$W^Sx7Q5j+Sy*E;1eSQQuHHWOT;1#LjoYpL!-{7W3SP4*MXf z<~>V7^&sY|9XSw`B<^9fTGQLPEtj=;<#x^=;O9f2{oR+{Ef^oZ z@N>P$>mypv%_#=lBSIr_5sn zBF-F_WgYS81vyW6$M;D_PoE&%OkNV1&-q+qgg~`A7s}>S`}cn#E$2m z%aeUXwNA(^3tP=;y5%pk#5Yz&H#AD`Jph-xjvZm_3KZ|J>_NR@croB^RUT~K;Exu5%wC}1D4nov3+@b8 zKyU5jYuQ*ZpTK23xXzpN51kB+r*ktnQJ7kee-gP+Ij0J_#rFTS4Gux;pkVB;n(c=6 zMks#)ZuXUcnN>UKDJ-IP-u2de1-AKdHxRZDUGkp)0Q#U$EPKlSLQSlnq)OsCour)+ zIXh@3d!ImInH7VrmR>p8p4%n;Tf6l2jx1qjJu>e3kf5aTzU)&910nXa-g0xn$tFa& z2qZ7UAl*@5o=PAh`6L${6S-0?pe3thPB4pahffb$#nL8ncN(Nyos`}r{%{g64Ji^= zK8BIywT0-g4VrhTt}n~Y;3?FGL74h?EG*QfQy0A8u>BtXuI{C-BYu*$o^}U1)z;8d zVN(ssw?oCbebREPD~I$-t7}`_5{{<0d10So7Pc2%EREdpMWIJI&$|rq<0!LL+BQM4 zn7)cq=qy|8YzdO(?NOsVRk{rW)@e7g^S~r^SCawzq3kj#u(5@C!PKCK0cCy zT@Tey2IeDYafA2~1{gyvaIT^a-Yo9kx!W#P-k6DfasKEgFji`hkzrmJ#JU^Yb%Nc~ zc)+cIfTBA#N0moyxZ~K!`^<>*Nzv-cjOKR(kUa4AkAG#vtWpaD=!Ku&;(D#(>$&~B zI?V}e8@p%s(G|8L+B)&xE<({g^M`#TwqdB=+oP|5pF3Z8u>VA!=w6k)zc6w2=?Q2` zYCjX|)fRKI1gNj{-8ymwDOI5Mx8oNp2JJHG3dGJGg!vK>$ji?n>5qG)`6lEfc&0uV z)te%G&Q1rN;+7EPr-n8LpNz6C6N0*v{_iIbta7OTukSY zt5r@sO!)rjh0aAmShx zd3=DJ3c(pJXGXzIh?#RR_*krI1q)H$FJ#dwIvz);mn;w6Rlw+>LEq4CN6pP4AI;!Y zk-sQ?O=i1Mp5lZX3yka>p+XCraM+a!1)`F`h^cG>0)f0OApGe(^cz-WoOno-Y(EeB zVBy3=Yj}ak7OBj~V259{&B`~tbJCxeVy@OEE|ke4O2=TwIvf-=;Xt_l)y`wuQ-9#D z(xD-!k+2KQzr`l$7dLvWf*$c8=#(`40h6d$m6%!SB1JzK+tYQihGQEwR*-!cM>#LD>x_J*w(LZbcvHW@LTjM?RSN z0@Z*4$Bw~Ki3W|JRI-r3aMSepJNv;mo|5yDfqNLHQ55&A>H5>_V9<_R!Ip`7^ylX=D<5 zr40z>BKiC@4{wSUswebDlvprK4SK2!)w4KkfX~jY9!W|xUKGTVn}g@0fG94sSJGV- z9@a~d2gf5s>8XT@`If?Oway5SNZS!L5=jpB8mceuf2Nd%aK2Zt|2FVcg8~7O{VPgI z#?H*_Kl!9!B}MrK1=O!Aw&faUBluA0v#gWVlAmZt;QN7KC<$;;%p`lmn@d(yu9scs zVjomrund9+p!|LWCOoZ`ur5QXPFJtfr_b5%&Ajig2dI6}s&Fy~t^j}()~4WEpAPL= zTj^d;OoZTUf?weuf2m?|R-7 z*C4M6ZhWF(F@2}nsp85rOqt+!+uZz3$ReX#{MP5-r6b`ztXDWl$_mcjFn*{sEx7f*O(ck+ou8_?~a_2Ztsq6qB|SPw26k!tLk{Q~Rz z$(8F1B;zK-#>AmmDC7;;_!;g&CU7a?qiIT=6Ts0cbUNMT6yPRH9~g zS%x{(kxYd=D&GKCkx;N21sU;OI8@4vLg2}L>Lb{Qv`B*O0*j>yJd#`R5ypf^lp<7V zCc|+>fYgvG`ROo>HK+FAqlDm81MS>&?n2E-(;N7}oF>3T9}4^PhY=Gm`9i(DPpuS- zq)>2qz!TmZ6q8;&M?@B;p1uG6RM_Y8zyId{-~XQD_}bXL{Jp7w`)~IR{l5a2?7!Vg zp!OfP4E$Ty_-K3VY!wdGj%2RL%QPHTL)uKfO5Am5<$`5 zHCBtvI~7q-ochU`=NJF*pPx@^IhAk&ZEA>w$%oPGc-}6~ywV~3-0{>*sb=|ruD{y$ ze%@-m`u28vKDaf*_rmN`tzQT>&2ltg-lofR8~c;p;E@`zK!1lkgi?JR0 z+<61+rEupp7F=mB=Ch?HwEjuQm}1KOh=o@ zMbI}0J>5}!koi&v9?!B?4FJR88jvyXR_v{YDm}C)lp@2G2{a{~6V5CwSrp6vHQsfb-U<{SSrQ zhjRbS;qlDTA&TQ2#?M(4xsRXFZ^;3A+_yLw>o-9GJ5sgsauB`LnB-hGo9sJ~tJ`Q>=X7sVmg<=Fcv=JDe*DjP-SK-0mJ7)>I zaLDLOU*I}4@cro&?@C`hH3tiXmN`!(&>@S2bFyAvI&axlSgd=!4IOi#+W;sS>lQ28 zd}q&dew9=x;5l0kK@1y9JgKWMv9!I`*C;((P>8C@JJRGwP5EL;JAPHi5fI|4MqlLU z^4D!~w+OIklt7dx3^!m6Be{Lp55j{5gSGgJz=hlNd@tt_I>UG(GP5s^O{jFU;m~l0 zfd`QdE~0Ym=6+XN*P`i0ogbgAJVjD9#%eBYJGIbDZ4s(f-KRE_>8D1Dv*kgO1~NSn zigx8f+VcA_xS)V-O^qrs&N9(}L!_3HAcegFfzVAntKxmhgOtsb4k6qHOpGWq6Q0RS zZO=EomYL%;nKgmFqxD<68tSGFOEM^u0M(;;2m1#4GvSsz2$jawEJDNWrrCrbO<}g~ zkM6516erswSi_yWuyR}}+h!VY?-F!&Y5Z!Z`tkJz&`8AyQ=-mEXxkQ%abc`V1s>DE zLXd7!Q6C)`7#dmZ4Lm?>CTlyTOslb(wZbi|6|Pl5fFq3y^VIzE4DALm=q$pK>-WM> z@ETsJj5=7=*4 z#Q8(b#+V=~6Gxl?$xq|?@_yQJ2+hAYmuTj0F76c(B8K%;DPhGGWr)cY>SQS>s7%O- zr6Ml8h`}klA=1&wvbFMqk}6fml`4A%G=o@K@8LHifs$)}wD?ix~Id@9-`;?+I7 zOhQN(D)j=^%EHN16(Z3@mMRM5=V)_z(6y^1b?@Bn6m>LUW7}?nupv*6MUVPSjf!Ym zMPo5YoD~t(`-c9w)tV%RX*mYjAn;5MIsD?0L&NQ#IY`9k5}Fr#5{CeTr)O|C2fRhY z4zq(ltHY2X)P*f?yM#RY75m8c<%{Y?5feq6xvdMWrNuqnR%(o(uo8i|36NaN<#FnT ze-_O*q0DXqR>^*1sAnsz$Ueqe5*AD@Htx?pWR*RP=0#!NjnaE-Gq3oUM~Kc9MO+o6 z7qc6wsBxp7GXx+hwEunnebz!|CX&`z{>loyCFSF-zg za}zec;B1H7rhGMDfn+t9n*wt|C_0-MM~XO*wx7-`@9~-%t?IegrHM(6oVSG^u?q`T zO<+YuVbO2fonR-MCa6@aND4dBy^~awRZcp!&=v+#kH@4jYvxt=)zsHV0;47XjlvDC8M1hSV zm!GB(KGLwSd{F-?dmMAe%W0oxkgDv8ivbs__S{*1U}yQ=tsqHJYI9)jduSKr<63$> zp;a-B^6Hg3OLUPi1UwHnptVSH=_Km$SXrCM2w8P z%F#Boi&CcZ5vAGjR1axw&YNh~Q%)VDYUDZ6f^0;>W7_sZr&QvRWc2v~p^PqkA%m=S zCwFUg2bNM(DaY>=TLmOLaDW&uH;Za?8BAwQo4+Xy4KXX;Z}@D5+}m)U#o?3UF}+(@jr$M4ja*`Y9gy~Y`0 z6Aex1*3ng@2er)@{%E9a3A;cts9cAor=RWt7ege)z=$O3$d5CX&hORZ3htL>jj5qT zW#KGQ;AZ|YbS0fvG~Y)CvVwXnBLJkSps7d~v;cj$D3w=rB9Tx>a&4>(x00yz!o*SOd*M!yIwx;NgqW?(ysFv8XLxs6Lrh8-F`3FO$}V{Avztc4qmZ zoz&YQR`*wWy_^&k-ifJ&N8Qh=E-fH6e}-}0C{h~hYS6L^lP>=pLOmjN-z4eQL27!6 zIe2E}knE;dxIJ_!>Mt|vXj%uGY=I^8(q<4zJy~Q@_^p@JUNiGPr!oUHfL~dw9t7C4I9$7RnG5p9wBpdw^)PtGwLmaQM=KYe z;Dfw@%nquH^nOI6gjP+K@B~0g1+WROmv1sk1tV@SUr>YvK7mxV3$HR4WeQ2&Y-{q~ z4PAR&mPOEsTbo~mRwg&EJE2Dj?TOZPO_@Z|HZX9-6NA!%Pb3h;G3F5J+30BoT8-PU z_kbx`I>&nWEMtfv(-m>LzC}s6q%VdBUVI_GUv3@^6SMkEBeVjWplD5y58LyJhikp4VLHhyf?n%gk0PBr(PZ3 z+V`qF971_d@rCO8p#7*#L0^v$DH>-qB!gy@ut`3 zy3cQ8*t@@{V7F*ti(u{G4i55*xY9Erw3{JZ8T4QPjo5b{n=&z4P^}wxA;x85^fwmD z6mEq9o;kx<5VneT_c-VUqa|zLe+BFgskp_;A)b>&EDmmP7Gx#nU-T@;O+(&&n7ljK zqK7&yV!`FIJAI+SaA6y=-H=tT`zWvBlaed!3X^_Lucc%Q=kuiG%65@@6IeG}e@`ieesOL} zKHBJBso6u&7gzlrpB%_yy<>TFwDI>}Ec|Gieb4=0fGwY|3YGW2Dq46=a1 zVo`Vi%yz+L9)9hbb%FLTC@-G(lODgJ(f&WmSCK9zV3-IV7XI<{2j}ms_Vmb!os)06 zhVIZPZF)hW--kWTCyDVRd2T&t|P&aDrtO5kzXy<*A+5$k7$>4+y%;% znYN-t#1^#}Z6d+ahj*Gzor+@kBD7@f|IGNR$4U=Y0J2#D2)YSxUCtiC1weJg zLp0Q&JFrt|In8!~1?fY0?=fPyaqPy$iQXJDhHP>N%B42Yck`Qz-OM_~GMuWow)>=Q z0pCCC7d0Z^Ipx29`}P3;?b{dO?7z0e{L|O*Z}nxi>X|RL8XAw$1eOLKd5j@f{RQ~Y zG?7$`hy@s7IoRF2@KA%2ZM6{ru9T5Gj)iDCz};VvlG$WuT+>_wCTS~J6`I9D{nsrU z2;X#OyopBgo778Q>D%_E>rMN~Po~d5H<`8|Zcv}F`xL5~NCVLX4Wkg007HhMgj9Pa z94$km3A+F&LzOJlpeFR*j+Y%M!Qm42ziH~cKM&3b;15s)ycD@3_tL-dk{+xP@J7#o z-)bYa-gd2esfy<&-nrj>1{1^_L>j&(MA1#WNPg3UD?reL*}V{ag{b!uT755x>mfbZ z0PzwF+kx91`qqOn`1>xw@801XAJlH>{`~|pyi6J;3s=cTOfelA&K5HX#gBp6s<|r5 zjSSj+CU*-TulqlnlP`}?)JkJ_7fg){;bRlXf+&^e8CWwFqGY@SZ=%NmLCXpYb+}7* z$4k}%iFUi^kBdeJg^kHt)f~<;Ovlz!9frq20cIj>2eIcG(dh57ry;^E^2T)E_8#;_9iJT>4sdCB_db|zO?Z^*lBN zNCs~f+Jkx%EUgkN2-xFF?B%TMr4#)%wq?-~+Nh;g9=n3tM>i5ZcH&nkVcPXgYRjG@ zf(Y7WN@hGV7o0bjx_2@bthJ`hjXXpfaes_(lWIw!(QK_nkyqj?{j#uFKpNVpV@h?7_WC3~&%)xHR1kKo`Cypj15#%0m z-o0GXem63g^|IltM?eZV=b+Z2e8&Z1%{0;*zmFc62mNqLTy$Y_c|9HiH0l>K z+mAx7DVYoHhXfdCE8Bs@j=t0f*uM++Idd25BgIm`Ad;I_{$mO?W%=JF82blr8rl>yMk6?pM z^tMluJ-ckG_}OkxP91t2o>CQ_O8^VZn$s$M_APWIXBGBq0Lt^YrTD5(Vwe2ta4y#DEYa(W~=eLOy7rD^%Vd$kL27M)MSpwgoP3P{ z!yS$zc|uP{yzaIqCwE!AfYNS;KW|OdP1Q%!LZviA0e^WDsIS5#= z!B{TW)VB)VHg{LoS#W7i6W>*sFz!qr^YS0t2kh90y=Je5{p>8)~D@dLS@QM(F# zIp{6M*#(@?tsu1Rq-Mdq+eV}ibRSpv#976C_5xlI`$#1tN`sK1?)5M+sj=OXG6dNu zV1K{y>!i0&9w8O{a>`IA#mo(3a zf*+Q=&HW7&(nX8~C1tiHZj%>;asBEp$p_Q!@Y0T8R~OuPEy3Lq@^t$8=~(FhPVmJJ z#VF8`(fNzK-b%Iin7|cxWP0xr*M&zoz|fCx@=Y!-0j_~cuxsDHHpmSo)qOalZ$bRl z2F$j0k3llJ$>28HH3l_W(KjF^!@LwtLej_b9;i;{ku2x+&WA@jKTO0ad71@_Yta!{ z2oqhO4zaU433LK371>E{bZ?+3kLZ9WQ2+3PTZAP90%P13Yy3lr3mhmy|>eN6(SHs1C%Q39p)YsUr7(kuaoIJGJhXV-PyG zjnxhcAC;fqY@6;MWWBnRK6ocG`%T&0&*k95#yK7DFtZV?;cy;!RD_*YJjsb6Q`$;K zy)&X{P`*5xEgjTQ9r=oh0|>Z_yeFm?ev!p z7q;JA4mtu@qa39v%6i)Z4%qwdxcHuOMO;a1wFMP_290FqH1OsmCG{ zq^afYrz2BQyQ0*JGE}1h!W9fKgk$b!)|!%q(1x?5=}PpmZQ$e;2EB*k4%+&+u;(E* z2n@=9HsqMv;4>Nn^2v&@4T-YTkd`TdWU^U*;sA5|r7TjZGnLY*xC=_K-GmDfkWEGC z;oN&!c1xB-<4J7=9 zJ(BedZwZhG4|64<=wvCn4)}w%Zx_TEs6ehmjVG&p5pi46r zg=3-3Q~;v55KR&8CfG;`Lv6NsXB}RqPVyNeKAfj9=Ol>fQlEUl2cH7=mPV!68+;jgtKvo5F#8&9m? z``w+#S5UR=QHFGM~noocC zVFa#v2%oo{%;wi~_~R2ci}`=B|0@ zinDfNxV3%iHIS(7{h_WEXqu!v~`CMH+7^SkvLe_3i}=pyDRah zN#L)F-`JLj6BiG}sj*WBmrdZuVVEo86Z<6VB}s)T$ZcWvG?i0cqI}WhUq2Y#{f~x# zi1LjxSZCwiKX}*ETGVzZ157=jydo*xC^}mJ<+)!DDCd4sx?VM%Y;&CTpw5;M*ihZ| zJ!FBJj0&j&-oJs?9a_I$;jzd%7|pdsQ3m`bPBe$nLoV1!YV8?Pw~0D zmSD-5Ue60>L$Rw;yk{_2d~v@CnvZa%!7{{7lb$kxWx!pzyh;6G~RbN5+|mFTbxcxf!XyfbLI^zMQSb6P~xzESXmV{9 zCMp)baZSz%)j&JWkc|Gq;_*$K@zQ%tH^91X2|Byv>=SmWR$7-shf|_^>Ll;*9+c(e z{N%43;&e8}_QGW+zE0m0myb-@QU%=Qo>``5UzB(lH0sK=E``{ZBl2Ni^-QtDp0ME1 zK88E-db_XBZQaU}cuvkCgH7crju~9eE-Y`os~0P-J=s;aS#wil$HGdK;Ut?dSO71ssyrdm{QRpMAV2nXslvlIE#+Oh>l7y_~?;}F!;ENCR zO+IG#NWIRI`FLntsz^FldCkky2f!d-%Pij9iLKr>IfCK);=}}?(NL%#4PfE(4kPQN zSC%BpZJ*P+PO5mHw0Wd%!zJsn&4g<$n#_?(=)JnoR2DK(mCPHp6e6VdV>?E5KCUF@ zf7W9wm%G#Wfm*NxTWIcJX-qtR=~NFxz4PSmDVAU8(B2wIm#IdHae-F{3jKQFiX?8NlKEhXR2Z|JCUd@HMnNVwqF~V9YJtD+T zQlOroDX-mg2% zBKV^Q5m5ECK{nWjJ7FHOSUi*a-C_?S_yo~G5HuRZH6R``^dS3Bh6u!nD`kFbxYThD zw~2%zL4tHA26rcdln4^=A(C+f9hLlcuMCv{8`u;?uoEVbU=YVNkBP#s3KnM@Oi)fQ zt_F3VjY)zASub%Q{Y?XgzlD3M5#gUBUuhW;$>uBSJH9UBfBtug*S|-;h?|L#^Z&uE zB&)spqM89dWg9ZrXi#F{KtL@r9g^xeR8J+$EhL~2u@cf`dS{8GUC76JP0hHtCKRg0 zt*rVyl&jaJAez;!fb!yX^+So4-8XMNpP@d3H*eF%t_?I|zN^1Iu5aGBXSm+}eCqn3 z^+vzcM*J>wV-FJRrx@^5;l>h0{OYT)lg{dr8!{s7(i{5T|3bivDoTonV1yo1@nVPR zXxEgGg^x5KHgp?=$xBwm_cKHeDurCgO>$B$GSO`Cd<~J8@>ni>Z-Ef!3+ck(MHVy@ z@#<*kCOb5S$V+Fvc@{Qv$oLfnOAG&YO5z_E2j6E z7a+c(>-`H)>g+6DeY1Y*ag-B6>Cl@@VhkZY@Uihe!{LlRpuTsmIsN4;+UDsHd954n9WZV6qq*{qZ5j<W)`UorOmXtVnLo3T{t#h3q^fooqQ~A+EY<$TDG4RKP*cK0liX95STt= zToC<2M2*(H1tZ)0s|v~iSAa^F-9jMwCy4cK0HM*3$@1Q`Pz}FFYm`PGP0wuamWrt*ehz3(|Fn%;0;K4}!Q~cx{0U0L=cs6lcrY^Y%Vf_rXpQIw~DfxB-72tZU6gdK8C~ea6(2P@kGH}!2N?>r(Ca{ zsI!6B!alPl%j1CHq97PTVRng$!~?s2{+6ffC#;X2z(Xb#9GsSYYe@9zY~7Dc7Hfgh z5Tq!})o30pA3ywg<9W3NpvUs;E%Cehz=s?EfLzcV0H?b{=q?vJCih2y%dhls6w3j$ zk9LB0L&(15mtul3T^QSK7KIZVTod#Sc)?1gzY~M=?ay87V}6G?F>~AIv()-N zD3rHX`;r;L{9N|Z8REN}OZB&SZ|5a80B%dQd-CNESP7HnuNn43T~Agcl1YOF@#W03 z1b*t!>t5G@XwVygHYczDIC|RdMB+ z$s5_5_W-EXN-u_5Pb{((!+8xa+?@_#dwtYHeJ_49Dql%3Fv0yXeV?!cC&Iqx@s~P%$X6%1 zYzS9pqaUv&aBQqO zBQs7d63FZIL1B&<8^oni%CZOdf6&;^oNqQ-9j-NBuQ^|9baQuZ^Jtyt&?cHq$Q9JE z5D>QY1?MU7%VVbvjysl~-a&ImiE(uFwHo{!kp;Jd`OLE!^4k8ID{`e-&>2uB7XB~= z+nIQGZ8-Sbfa}OrVPL}!mdieCrs3Nq8Ic_lpTKMIJ{h>XS$C3`h~ z?p2AbK~%t$t(NcOq5ZB3V|`a0io8A))v_PMt)Hg3x+07RL>i zGUq@t&+VV`kj55_snp?)Y@0rKZr`riC`9Q(B1P^nxffV9AvBLPrE<8D>ZP{HCDY@JIvYcYNRz8 z0Rf+Q0riSU@KaVpK)0M{2}Wuh!o~t*6>)EZSCQD{=}N4Oxjo1KO-MNpPYuPABh}E|rM!=TSl^F%NV^dg+>WNGi@Q5C z%JGsP#em`4LxDdIzA@VF&`2bLDv%J)(7vedDiXDqx{y6$Y0o~j*nVY73pINPCY?9y z$Rd&^64MN)Pkxr-CuZ+WqAJx6vuIAwmjkN{aPkrJ0I4F5-Bl}$hRzhRhZ^xN&Oe5$ za4Wrh6PyFfDG+Nzd8NTp2})j>pGtyejb&;NkU3C5-_H;{?>xK1QQ9S`xaHoMgee=2 zEbEh+*I!ggW@{T{qENlruZT)ODp~ZXHBc_Ngqu{jyC#qjyYGAQsO8VT^lts$z0HP+ z2xs^QjUwWuiEh863(PqO4BAosmhaK`pEI{-geBD9UuIn8ugOt-|6S(xkBLeGhW~)< z8aWBs0)bzOnY4wC$yW{M@&(iTe{8zhDnKP<1yr9J8akUK)1svAuxC)}x-<>S!9(?F zcA?{_C?@ZV2Aei`n#l(9zu`WS-hJsAXWt(SGp4(xg7~3*c5@odW;kXXbGuLOFMj{d z{gx81mQREmRAUHhfp#zoWh>z}GuS|raw1R#en%9R3hSR`qGglQhaq>#K!M%tooG;? zzjo}>sL7a3M5jW*s8R;#Y8b(l;%*I$@YH9)YzWR!T6WLI{$8ScBvw+5&()>NhPzd! z{>P(yk8{(G&2ovV^|#1HbcVMvXU&;0pk&6CxBTvBAB>#tK~qALsH`Ad1P0tAKWHv+BR8Fv4!`+>Obu1UX^Ov zmOpuS@Ui|NK4k-)TbG?+9T$)rkvq+?=0RDa=xdmY#JHLastjqPXdDbShqW>7NrHZ7 z7(9(HjM1-Ef(^`%3TlhySDJ27vQ?H`xr9VOM%0ANsA|A3-jj|r`KAo%oTajX3>^E` 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 YM{}PByk10KD_nuQ4E7Du?}+~TKh4V)`~Uy| literal 0 HcmV?d00001 diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties new file mode 100644 index 0000000..b7cb93e --- /dev/null +++ b/.mvn/wrapper/maven-wrapper.properties @@ -0,0 +1,2 @@ +distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.4/apache-maven-3.8.4-bin.zip +wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar diff --git a/Readme.md b/Readme.md new file mode 100644 index 0000000..3cc43dc --- /dev/null +++ b/Readme.md @@ -0,0 +1,29 @@ +#PDFit +PDFit.io is a webservice that accepts a URL from a user and returns +a de-cluttered, ad-free and readability.js inspired simple format or +PDF for use with e-ink and e-reader devices like the remarkable or +kindle readers. + +Jira project is located here: +https://davedavis.atlassian.net/jira/software/c/projects/PDFIT/boards/4/backlog + +## Application Architecture + +![](docs/images/architecture draft 1.png) + + +## Sprint 0 requirements +- Introduction to Application (Overall), +- List of User Stories (Overall), +- Demo of User Stories for one +- Microservice (CRUD Actions) +- Report and Screencast required + + +## Sprint 0 strategy +- Build out the declutter service using the Jsoup and crux libraries. +- Receive a URL in either the body or a URL parameter +- Set up API V1 +- Add decluttered resource to the DB +- Add ONAP standard CRUD methods +- diff --git a/docs/images/architecture draft 1.png b/docs/images/architecture draft 1.png new file mode 100644 index 0000000000000000000000000000000000000000..73fde7917af67e2555555f6cea29a08904117941 GIT binary patch literal 97272 zcmeFYWl)^m5;Z!wyA#}92OAs)cXxujGdLl5fZ!I~-QC^YC1}uK!4d)qddYkI-tW(; zy5GMuRWtR>-rZ|=uU=2rv#0h%sw&H%Arm75001;OS+F_)0GkZ}z%V1iypAmC<0Jt9 zRPMf-x)60!FA5hoXDeF=OA3gOizS7nx2+Wb;Jsd)Y3)fX;1>2`j;9Z8*vEo!OL8tY zx$2crm2r|IlBll{%ksTj(IU+rI#2NBXYT3~LT^Ugwq<4Yjk-{;+pI9Ui0$(O&vtMB z(cR_4^4&x3^UH_YPX2ekxl%nvvpp}rwR_@rS6AO}U!9o~`dhs~@>>FWIA4CnJa4Uz z-j<>aUrH`S-TZ!TSAA($jrzhjFbg+wr`vO*{qh^@>u-_gt``)T_u0?m=W&zIpI&qd zT4NrH2vv~Be>lsFqR8IAF(ST9>Th-Tf4k?d5cb~uz8M?(yN>JqQ)Od8W%1Wu|9SF; z?+=ZlmiC*ugiitn0?%DEPmE)SccZ_U08(oO1edJ+N`*JyRDXqmWZ~AaZ->Y*>nOO72 z?Xzjs>(~ViS-QG&jp6R*dtxGY_Z>6 zthD_=?*hWJ;TvN;PJg+$?AbMLmOzZ6Eys8pV6IuG7tU4s-iL??>5jha7W(n*F84iS zZ6s<&K^6W9tY^TdH2miv*b`dNwZ#5DhWFBwJCwvwbPmM@pee%DsAx2P%<|*z7e`b7ZV&V zM03U;ML@<T880v^6z5u>#rgSiDqF6Mdo+jjTs$uh1x=fmmc#}8e@FV0`H)bIGX z?`nM>Dytml=X{ACI#k7fMqcdmu#{wTj(%=znoM%#w5PxJAaFMP0RMfzNY^={swT&r zI#tNsUZ;N@Wvt47Qks@GQgwQ6m8dc_Vd1v8-F4An^|mHNhh7_Z0tuGw?!vw!W_W|H z#AB0Wq(#nHIx@+x$yh?p-mqq;?;=xWI)SX#FUf$JrJ9C1zCI?!>#O9q0BJI29b<)V zO9fNiLP9I~!gPesTw)Vwh>Sb}XLQiutPi@?-x_^IRL8o09vG~$_A`W=g3qh~gMjFa zudaSddpT@hsP7+gntj_!m0;uhXLV70aj*$!zy0_DC)Ic{q+#&uKqP5&%MufIfB#c@}p&Yx_0~mDT(D(WV-Gm zn)@`^098Tj>!Xr@5>nx)!kznU!R0sZ=N6EZrPHi!wi7~k4S+?C_onp3Xu4rRj67vV zt-bnK$f@i_9|?z3Z&ks}u`RqacieiL(Ya8}mLhT4ww&ut__kb3Q*;IEx%O>#tSQC)(~Pge3-VDep6n48_GQMD#0 zRq-xePUdU&wIMpCuqs+6VaZb$v|HW5%$HMup^8 zf&6OOxRMLOXziP^P-dJwjmut>GqnL1$S_^}>W4V!>!u+EA8w0*pym%*Ris!V=KOLd zSYjnc4q-r)BFRZX?I>9ov_`4-rX&-d`}Cec_#>3OA)i%punm^16DUm61zd;g>?!n3 z19LB;q;Kekrn68uDBSK+Nwn#6clr(l+My34@3T}#DZrjeVc1sm1xq$==6SY(Rl|-j z>^k_9dmAi2^3(`SoM0|Q03@?%C6`y40MD=wLq!s*cl^fkC3|#xCx%qwQ4d+6P(xaY zBbB)L%A_ljR*q^+l;09s##Fttgq6-xcv9CXndY2eV5d+0{G46cvCO6sy7FYhfuqo@ z^%>o8>lh~7nf0AndbFPte6lL=oqgslx~8M@3c}4yRrHI7Z5=U%g)JD%a zc%Gt|P`Mr6cFZa-vi0!{$=b6Q*azT!kG$0hMWsc@b^7crP6cEfGv4L7S`INUtQNj) z@7{rKNy)ey$X%fwGvuB_-&8Z)9n~*@iubJ+4BT#^>eF6_&SihAaz-Z1X9UG6L-y&p zRZk*>IpxD4IS+o5IReN-2 z&X#;ZI^wv!>;N{xiHfx=eGuZwhtIrG`XjhY_SPvm`$lM?2e!RBa>dsb*n+wVT^DG5 z=2DFKY=#S7?K3)3b>~MPt779W6_LCo!W%Oi{Wp?Q@5<4!_Vgw7%Yqi`$X7ebc z0=H{VFkQqd_@mMoX72toFmCCn(K=L~jWDGYGj@SbB`9YU_YvIoGSbatN zrgz5G`#iQcve$*y1Yv8cmjoHTV7O$~ch_azx}8U|j_8r5(X7+BL-v!Hq}#{8UqfKo%J zOv7!cc7J*7c5Q+~XPUReJNU8LPd^-{K~wA2#xwYRg5@Y zarq_d9q63VQimE2IN&aq#55KUb|?wY{F1uVIS#V`xs%29UD;qf577*1X$BU03z-Ue znys~EVg@d-wbVuVtqD-ux#Dwt|BgO2Gwcq)y(9P`?^l?0crf(y(JeZBcm(PyQ6|M!i$h|#^xW2c`@#s1;|*$xZ~Bol7sl* zv$3Aj0uU*(IObWQr&danwn-FzK$RFtmRnI(ay zQygf30gwpXe=YW+R}758ejJzWVlnrt!*+7P35>8SyYz8mPG~sTZT*zk4B@afGrQR2 z>CxNyVjPh!D}@{BROIMN8Y;t@6i)LL<&YoPFBPA=ik%&v0Uu0&s#Hm>K!*jY7zxi* ztMyhoB3VlJzI!(to*bxo>_#k03cDZ$e*&D73Il5o28FXYXCs>E_|thceZ0s8d~NE|*wl+ARzAEHfrdn<7d#`a(*|)*(x+C<&@xm92910#hjP1V)H; zv^)A4iNX8Oh-3@?`PO|Ti(ufFjgH6pq{7*efep<`7p>sB$^RC93JPk_S$t#2uB&B)vL-!!0+ioua3{F<|x7+ae?6jnEFKM0t^3LMmr`Udiw z*_|g^8cLZS!PQ9!Ap+QhZamcrlXwTbzk|B`m>riLwe3AJ0A2rRWFN zy%mZagDBw;(r`e}{BYcL#%Y|-WKq{@nNpDqb_DS+ZXUw7n>qMhD4!INRe3w8s=TLm zJ29I5_)t^TAYE4yHYQAmAKXYkQ%~`{Tf*vdQOlqGr7W`x_H!4Yn8vtM-|v;%>iuzj zB%wwOp8~9uHY-C1k_5)QS!NKJO7g+IA~89}T@sdsEtthFM%NsHh}OZ968yfG^sosR zfUhuqQ;ZYWKnV}TM9g=!JVNJZdt4-4SK9=L91>+&o}b~fa|f4w7H3_ICnekZXqbP# z==i$FMG^)11V(Zo1$+1z=q%QLEjR`)-gFk7Vg&*by7kQnvGn&?ZF%K^wpUT5qw)}s z3V$*RTxc!QHxnRJc)GG%iQ!6JrK?!l(IdWifj@L z=V+yyCdOfFy{y(0_T)kY!9w;!Ro8M={5d!ZR>d)okebX2TEtmt#-2&Yf6kK1%mwDV zw=jbO_q8L0g3Lq=$)-vnYRqmx2dM5M1vr!R?qKBf%Pk>h{^#9 zYw}w~eg=e!7MtcAOL~mLH)lxe7;y>MS3=EaQRy19g!5^M4u)nkzE~|<0DdOO3P$gG z(DpagU@mS;uwqc`#0KAW9o2a|EWWD!OBW^byCth6@KLyeBZsAgJ^le}09NfhqOfi! z$+A~Hk)NqopOy)B8qZE=e>mJq)OsKTt1Ywa4u1G`7cpEJaQEcYM6aUO4rF^wJYABoY|*9WW?K}; zw~oW1H9@NOUA{h+fvG=~&j)8yO_Qj)p;!K#*d|r%$fMl%-S2m5Fog!0QTp5)P2!r# zbYJ29GRz=c2RKQ*K$vT#FJW9Qx@5GP-|T?ZP`s8B5uEZSiM$mA@1kvx43X=&Lh-Gv z?KQ976h8AE??$CkUKdY`oL6Syb?%!-#Gmi%hd*)YMvGpFciL}htlfAn}4O)*a6VOpjUWF2ed;}f&1Z;yU%Hu6*4WFcAD^+#$w#_N5tlo zM{zXaV5MQ;9 zAgi$eo)s25=zHPrPOo&(cGT%~6;w;!QR~-MA2aDnFvG}}Gg>lm&=%RiEy&pUdf+)i zA_xnVK1zEa?o*lt(V-or&*>KH&eT2Ni-ldO9Anhf}wMP2)S4u;|T1})(!k;@^bwAAQRuq5~kg4OnGuh6kpyu&AR0Nu0R zghr_VbbzFhTvlz`QJhWcc%v61zo0Tj=3m-bCAz3&d15XT=3;8*LgCtxys7j*AMgToFeWfPGe7Jb^#>Sum zN>)k$FmTMr^hS+0AEk01o6Re_;aP^+?Mv30{AIL@vvT>S-^OQM_91+Hp1?>1? zuGg>fI{Dy+Ujm6;+Fzzxd00t~33@<4B8h;Ua#Ht(IbhGIh}0*hoA0m-9W*K$Cs9v9 zh8ac5@a%}tQCc#-b`6E+`N&2MWE0bM=PO?$*QcpGBa|GDQ(GjfRTNQ*{2ryWmdmFx zg8dHE<5%p*1#R3CfyA(IwkO9<3mWWM%q3p={K!+a;|w-ixbA%}w;`WNiM#Ev2MT;( z(1O(mdX6ft8x*9t8}jNibVfL`k<#0M+s%W%3xansH9yOszv zSxfQMHA4cU6 zh*rO%@WBpCOfBObBs`Qi5q`4Ea0Wz`z#+#lAwt%jnZGNBG*ssK9?MwVydDva#E~Ma z$%5Izob(d3bE%XV3)^jZbth+owtUHH0e*zm4gj)9$SL)s%4p zKuWw&T5Pi_tBVw97{IZK<*q7)0%zZz(UvX8UV_y<&wCcsjK7S61IZOmad+{NjOQYF zRLz1=FllSAQ-(C7s?yX2v~na2uqZz8JfjM;m=)a2vNq#*`PhZdAhA!u0wvs3b9nKJ zqJPO?Z}-{di5}Kem#+i@tB|j5?2z;p^)$T@lcfxPf0y&DJt3w1|^EskjV@~;i*Y(g-jwroV(%7>di$*{4sEDjTc zX{3jrqc{GxM-PT%;^(K^9piwp?E5PJQq&Gl2}^f7m`63ugZ6GE{O=|+itgzImP2e4 zDh*c}ZHc#f9Gy5$wDRi7k^n43-E}ytlN;4-rt5R6{&qLd>!kPKcQ4--^BUq|2O)M; zw#S~prd*vyIZ~bc@$Z*>oeyW-zNNM<2|SwGTdZLyw#vSB3_MhR~!aWa#YX32(jJOSEEPzVq+wds`d zNs3A~RUpr2DEK^hJq95oq1a|heM)UZ&(zZ@zjtrSDc}3QCw{A#`^eQ!k9_f%W!I;3 zeAxB*+RnJL+Y?OOTOKJCWs7l`{+U4`WiH=^$X~U?u+2(>A*Hy{i}iR;&jlu5tYGZd zNDh^<0tzWC*0Up0h9}Lf>Pet@VbgXM3ae%&M3W6tg1)dY+BQ?^^C5(&{ zQerVmLnZPhSTM3mX#A3=T;9O_fK@^l`}KQyh6}A@BEoqJ?=-nw|2z?6puWu8IuL_d z9Zf-H`6s@&5(FCR3j6vyo4-{Jgh5$j)%{&53}%=^$MVr7=$A6rys^0rfIL1xJ`N}D zLAtSboQUD*^>IWgVp%a?q!Az}mRr@sZF(;Ellb|1%kF@TH2SO;S)n3Qh8Ajomwn!K z`GIn?{y@~6iSuQk@tX5wX`~2Lgc+y{x`y5{hb7dHq70?vT0cR?(nheuuL-lJ!+Tn{ z!Gc6z$kt@a=&(oaMwC8ZHIXonFs?kU9^5WfS}w4XyXSuq$GHtI*u5{OW+ zjRD5U+=f7ktnApMTdNeZzjkj47FS75mtcIMoL?()>3?jj^emJ;6z%l1!>(7l(PJvX zLy#{8L3BYccR|z_c!gqt9 zZ%@;<4gGmA9OHe`(b z8WzSf7h3~wG?+7MpC&ejLO*XdU;Nb3-q4yLw>dTb1VW38%-FZM+R5TdH7Fl(#92aO zr)LVwTa^QCGz5?1rFxDPr;ZY)gTF?YtnA497T9f!7Rw6Q?WH&S;qtg$oY*E@E>ROY zBRa2EzV8x!rODt@28kcjeU{)so7M#qtyB|L2(I}L($}it&S-Vz`ZbE;J zJ50!jL@r*6M-_=)e4%O@U%o%p*eG#@-v$wO)Fg0I8%*dopD*pN`GhJ5s`Sw{i6|Ad zkjn`ifn8LL$)5kZ<4ztSNjkTD1VV}urX@4^Fmr}L`ndzN^^vQXN+w2UP)jpWxm3r| z;S0y0>=)Jb$V4S-MzlQ}qcdoM7**u>Mw+(~2=B%h?XhDi3drI&bWx5;(L(C7*G=jx zDdktLjmN*2oAZN2$gCFDmg#>eTBp>TJPXEeJgy9>nBln>lcQfvhTW+T#q#=X(-6M+ z9;W&$5q@rf^xa*r)$$4B&>k9L7ErL9v8+OY{EqmF7Jqx+zy0BsgGezqzwuMqsXwYn zS7in0wQ3d2Tl8i7`IF@;grRh21sJOfLS4BNZ8>{ZA)nv!18MhHf1IgtxA!65(K8c= zz7t?WBv;Q1MfrW{(I5PaT3!)Gh!j`adRCS+edZD)MyIBsBKKHw(~^mC@p=pt{Pm-Z zdYuJ>!)cobl_rQ$a#!z+(7TnljeY|G?%R=eAa;c;y+}Asf-)j@Y?bR(7t&a99i%0T zsy+Cplq0Es?+mf4fx&w3DBhVEp=Q*tIm6s6`#Oz2qiL(URwWJEE3S!7Ujeq5?+q~9 zY+K}&U$eSXnxn#VIiNi_c_5U&bLVBB`&fDnJ#fKI=ypl?Q=F&_i|F^$s zqLMe@-mcou;)53`c;aFiHeKrah}T-`7t`rarAmQ{`{a!Kv7Q*UW#1S07E) z74h=s2L(V55F5KU)8vj|znIQ1gai~>^uVlKZaOV6E*35JfkdTD;T-QJ7bq_0gfWHX z^4dtrQWN{4>ph}OxUA}Wt`x&82Y47r>0g@*lh%dGc(J1gk_^0=iU`njT4(}M!9*`}xa#~?`l8gR z4DbfiEG`YfERIQ7a8XB<%hy+9`>)cagffw7Co;*XKv5!Nhjks0a}+ z5npb-T85v$7s6P{9Rcx#4TYMIjN)NHGa=Y$5DKh*?X&=R=~A18)3eho*Z7kaM#-VO zk=pt7WbUsi@V)K`0|iMYCYaaD$|WQH>+h9hArR1)5Ur+a#eH|4nBHh(1N&oy{oq@; z{daBc9GMJ2LT_6QIfH?2(%;mWaB!9taE4#!(+^T0SG@V3n?&b+{(#aU4m&WJvK1p8 zN*88XvfsG{9mWaGUooUQFNlffLIb`|MP&ytRqu1DaU68bd)za|RB<{&N%cXK(rkia z01lOS28h3CW_@v3i@Wte4#zuLcboh%Ma>Av^MXnQ0E`Vtc~) zvPqYp0|9zH&VEW?Hk}C(6>7Xe+*)k@P~HFiAyOCsh(A9V2o?_c}t z^Yx1;F8}})YAY$JDkmxVkK-q=hfcEIB?!w7ijfSz)sRZiNB9`QZ&9X<50)ZnMwTkW zvIB~)}X;>-{4U1n7i$sO1sU|_h`%^1eIVueI zeDvL;WX)TuPZBlQgaY`gLGWuoLtgqXovI%XLO**(dyLm(Ld3SO$ANT}6hY?B zj%=nD&SsWu-i|J>$Atg@AyID^Q*(Pu2!)xYwXKsd)n#Wd6@{&ZFqICE5{HtDq@|6m ztgoA;hOe@wxv#ysfCZJP2(pkj=oP@x5@Jf>?dag-4)PYJ`U@BIdi`gZor>Zw6NtSq zm9CO1g`~5aB?XWT$i~4c?LZ1yTn~{~hA>n=q9P1mXf>XZP~*V)No= zb9S?4=M)eSVCUds=i*|0wP1Dkae|n7vpTs`|AF`$2H4Ww+|AYnV(aWg@dwk?%-I7X zOhxrNPw|iV99@)@{t55o{&yB$`C#`pbz$dZ<6w7mWdC;$cZihdE6Cpi`agQOYrdYU zVpq3xclK~Ix0Ld&{M?a$0#>HK>jukQcE{SWJZJOB~D-`e*ij&LIlGT!f-<%Z)6tH3yurlXi<+Zf31PTb4nwwg2 z{sm=W4w80ub2NP|r>&!@wI#cYll5N{e+UPOtI7#eaj|jyYedz-6k_%2AWWrb>*V46 zuL(_CM@tQe=^r*Zd4WKFJ^^liUI9)HegW=(8EIR(xxXs$4<;uE8~5LE|C9yvn#?P) zrhjz$3hX1C3ZcIhMb_5+)xzhG;{UFB4NKR* zef!%j;9&dL6a~d!vIUu%|7{U>Q%_5azZQD+``eVcjj5Bhf5P%i!PIz^mWi#$MaYYqw(mXS@14XMbq?zxeulE&eaA@CyCEMgA*(|3}yV==!f1 z_^*urr>_6e^TUH`w)h5WA#kEPS=Q;^r|c4lnP3Kal=eo|G`lzMr2p?2wr zY2FMhT?(sMj;sHi-@RSZxAVGHsu7I)v@{VJnC1p&^32dGqO+X*7@?h{PgrR{`uR`@@Z7{O5eiC%kw0IdskG= z>dVu>^v3ziQ$cpeR&vw&*742S;rIFN%g3kZ`^V>(=h>I1#O2+qn5O#O)1NO-IWdi; zczAe1Lc$WELs(c?H@_Y^eS2e?YHCOJPp^KxJf-vV^BF(tNbeQMeG{rk6uh6Xza$N7)ni;IgCJpO&u)YNj3Bhul+3wz%q zt5?j^rVWxN@9v-Y1NvWH_Ki}fBqYS?>FLWx4~mP6U!FG-6BA!v&a@LIRARklBm#eeDyQbOW*E8A?^+kK_~#>J6%Qzh*v+ztb{xHg7lT*v)eH3CyVM3y4fTI9M1vYPI!GsP0{P zc`97n{R&C%5f7^O2#onqGV1uD;PRq})3cRDKb%lGn21x}yQy5}Rp>}AvU=_S01D2Z zHxwWvi|}<20V1a)h42*`9iN}rBJdkK06+nd1B+{VuYc=Cfh<~XUn*!PHAO1#Wx7f% zre*ej{`z$&TGG=ugENV)10~fI6fR}NFVnl_YD7Jd6=PRqXdc4u}>4@pm>k0wYy(+mLLCqbfaN< z^E?F>ION%lR+2tPBnuID3{RT<)4RQB?isfby4uMiMwW=iIWY7D7UtNLv`)mw%Rg=p z7^QYe%42afcHTr)3k1b>OsWw-G<7r{1Qf4sJLg7fSp0Jvs;-> zbmld|Erdqi47{-Qh~C82UY|WR+pv*?y&IfYem!gFaou={kx_zUiQ@tQkOe>gW~l0+ z&Eo?n1ozhp+~F!O(}gIK#C-Yz?{wG?oj>Jp)WI$AnuVVw)5qp@7A){ytlJaCaZ&9x zLZMl9ImlvnLFKh>Yu$57#;tN1V;Cz}@Q%K3#Q=*co9BXmqBZUtFT=uz#WsD~IVrmN zwTIQCI&IXm|4Lf;8cV)ir?@uWH5!zX=IIBj_Jo4K{>FRno>};AFMuz^QubHEvWK}r6)?EE;cdL7u zhH70RtU7~v`;WN1KGIo-Y#6Fz-uT>1nC2y^UtYtFXr&o#W0vOrDN`qBtsFJh=pIkk zZlg<`E{ocmH*FWte?p0{st+etX^Ul1x&7l= zPYCLje^3W<aD9wK4KO^lZgpDlFy&ZmPM=)7Y z`KHU5e)WzIQzNX4tx%anDfuj=>%n?r!tH&LqLrIZ`&L#~%z}kn;rwl?eqp>E4PGCZ z>WVxPOr>G7+jbxg-+*n)kf^ZlZgkrXPRe5z}8{2dPe8?8ue`!OVN(uRd< zGGgTj9+)~vjDiq#1`!@6NR~#ML)q|`GpKQEdB+19ZJ6i9a$cz~#)(J2MZLW11rl6& zX(kaJAyFz_+ycj?4cCK#nl3c}2uZTvq>$VRK<^45m39C>n!%qR^ut}v2>MDAc z#R!xWM=C=h3A#q*Q#+pFZ8Vzjy9Zp8unD2HhPi?uAOA=|@6fkfx9^dS2`_D4M2>dZ zU}Mb42l#lVa>x+1heYH^pT|q_iAtKw9>Szgd&_t4dR0>nw=cO}0jZRYx-3H|GnDB< zxOV;ubVo8UuDx;V3YD4*1xUo#`sJF5?z49Ok=_&~cuZoy`l_|fLz7l(a7LjciQmnf zgld05qA7u|iAbnb;i_ERP(63!;qBOpiDA?6fZ>zjn3gea#ZtPv@;mObqm9}n33%@q z%-Q>87v+P!P|D3XvkDj%k2o`Xqgt9-HKdAVXHq!hco*`B+#LC)Cb5(;Fuc2j;EV5X z?&-^*r@L9>fHSGW%rjWIpd>XN20)x2xsL)KV&V6?LS8Hk<)ARo6m&n)b?6r?w$fik zEC^V}^-V)2M>Q&ada!IfhAn$P4p6eZ?>P+Lm2$XwPf#<3buF{CZaD$hP?00cRCSry zlH@0c+)Pa)6|L*iqdhw}w9XGWEM2uXrnwlu5fxGMB48?B6ZQ96C}5HMHZTji)>a}EwaoseP$O?|ELbldgHLHs7YIEgH0YMUaq z@#drSSV^`CKt9N(N{1QmQxr|drx-(n{KcA@_>o`>#nP%OSDN5ZW2$k@KqB!nhWvuP zW|4+;86@Z2)YsO5(Zt8f)>xHHUOvso-;XTKp{oy*5*i@ zE?W~L6&%?!@IH?J#YC6*U%K*t>)N z(8BOz(JPt)^@NdMCfhl6Ktdk8h2uIl10t&@&5zn&c--z8b;jxJ$42wlPHk4W?Q2LZmz*<i8o@;~j}C{1h6vGb^GB@NCR1bwAD2AYy*g?6)cfF|J0xr!kl$Tn z`r6fFGahO(tMW%$X@U{wmC9(E zu#5tbmD91sc;WD~?4Sw|9pM53bcglhW#x?dS8k8KyHThzJ ztQQ!gA^TI>KKO_j^HX!LGrxPMy4eb9Tao!$M&`h!Owd}?d(vKUTpOA zxfhlBY;6m{CTaH~p`-!O3T5WjgW+gu7H>@2kvNdGhSO_oWCAh#o-4@-g~B$&ksSd( zm0aHtI&5K59I1df=%t#42RPZZaZ;+!NWZyAuta6o&_1q~rA8D62s?-B@|UqLrEeMD zp9F~X1v)KAn}h~MspQmAbHbECS?CU;ueC_}i(sdzodNuV1#nb8$K7ZQ!nn~6o-Sxg z?Q@VV`VBOTr#e+sQZFTH#}AL#o;B%{sDYm&T>^^Pjaj&aC@ur=RP*pW653`9Nhn=j zdoT2GamI*$G>#^|eZZQ_T;HApSb?1>azO*FLsDgVxN&JnO`ea7R+fR`X1gLtPI4c{ zm3Gi}H3CM2_Sz~&B@#@u6}l6u7{46hQX6a3|8eg7I0k{J2x9g7RMo=v0*W{kkG1eh z@DNBta$AdiXG}6_+F=ZXJJYeml(5m}=Q_{#U_kv1bm&TRsNIAyK`9m-oF=Tu4OY(0 zE;#h#eRz{#B zU7qKR^)5cjAXhL=N!Fx5@swf8_{-B`c)|y!IY|Oj3)1TraP$bsKk4Hl1WG7{#jkTP z=yb|lf;j9$cp(V<#ILO+>6> z)?5jll!*>pSpD_*Tt^1>YSx$R8S=!p4>8gpc1=FoV5KM~tI^@@l#rCa)is1q;N4Lz z@FSGv>t}#lRa}o=+j3=e3=0jA&&wH*e-Eapk6DT3`M5|&b&5cSkdAJBLT3n!9R98d ze+6b{n8hlz0+P;_x7W+uZttePe=E1F7CFf=g}o=Tt!ri$3q3hbH1?c8xS z2mf?I8pif2>J{9h&0Oxwxa$?H3i#LFi_utI$dv&(F2i@~FsR)jmA)Z%#alpvD>nw} zc3@x()hnxpm9`|0ZvrnG&Y!l~Z z(}m%7P!H?R!yMT=^iiQF&oZ~;O)$cIE}OHMM&Vy$`o+yOE?23a56)k-b#nyig=NKM zIQ79WFleEA-bd3emCeJGl6k*}Mxm&#IHgnTmVhpAuU zxG%}BkZ^+YH9r+b=OWKRrdQ{oY^TAs8o? zdYO>V6Z@u2u_xu9wlHn*R1``}jaishA*o&4&T)ElZMO&Q&Op8c5erVn$qF`RdEHek zD_f7HYoG{p+d#VmFGAjPmgT?`DClKLOX*>bJhPG$UwOZx#J zNM-i3tb1v%0#WevBXJKq(;DQM%8H&klNC{eB*;Wn zMVi@&;$Z>BE$Gakpd>u_%MN++2!(IkYIvLFh9D@+%0A0j6Zk{$L8fX$WS^?3bRnbE z89gKE_I3FRbRfOA!UzE)uuazbT|iG$-Qdqywh#_@%j^Y$B|G?eT|jaY1$rr0 zYGGL{$aWn{d$`gCO^Oc>8|?sUZ#|h_wYV{^WM@X-5g&fQSF_qL8$y(wTNsM7p!BXE zX%Gij74iWp{hirWXvZlw9MuNHIkU^pz9=JIJ1TZTT?wZU*sn}CzjeKW{en(fBovx2 z=pOwwv)w^@n;=`&NMi5dsIE*i3rAq`RfvdpITZsCp&_F+ClI zahRq?uGBTty&=-byx!KHO=tvfkncj9%zSeyyn$RjjA!_7t1e|GdT3>Jru|Sm2w@sH zJzA<V-Kwk;c*_0slpJhbF@a(JC*4`#zK=EemcqL_ER+)pw zTbEb9&Ppp9aE0(>c8UeBjNmRiq|eGqaGtGhiFv}-yNGwrTw#$95|b~*WwXg4>H_Bt z3{#{J(82kd=a++DFn7uUUvnn*;i7`N6IeNdpcPaOpDEzzOLFU?m*vw~nM^C-u;u1~KVhw*C5PGg z_{niWG4%uU^Hc#s&KbE(PYF!f(?-)Hsy%b#b~=bAAs@NerdL^_mhEwdu_=<7Fpv?J z3enK@@gAQCv1!m=V~DSby3_K;<|2-=V;)-4K;1*4Yo-eOs+PFySf>S^G__9?mGz8R zwQY`eD=-7$XEAZ<;tS;;@Q2Wkc^^x<2>D};mpM#K$?cO5)@vGSLuKL2Iab-^wZPN1plx zi!A*}o(MJ3^c1!%Tuf7K-YSWg!AWVq>_J7QvC}Z`U>L^$^{<;Q?FN-r&1LoCuvW2! z059f$OoZqgdA!tDC=t4fl^-HXkD=Up=xd9b_G-DJsw4-_ z#OH1#q;u3oq%uaMrEhot7N@T?Kzpe1PJ!||vu~p|D``r=dm>i-n4>d=ramY^FS48wF_Y)&4`|Ascf7%r%rOcECjxV4l zsS@TzJg{1rf8}Sz+88#mGDPZ83%puEh*0j!a!S&tLOi%KtE4xk&`fIt;vOMnXYr~{ zL9s`V;$C#2t9J3K;o^h*^_4`a%OyR-fVxP|^;{E?;Trn8a>>gaLgUvpq{u46^|Dmo zf?8i6TMd8bfmm1O;-?i1YeSw0AYUr*Ck4<*lu>h-bazST^~LtfW3%pXVP~;u*(u4w zxXJH}k|v116XWgK%&8@X+(NtXV?zamQJ%SFJ?3eI#FEzrEwT)?JO(@uMyW%0#Z4B5 zIsYWu(5pn-i@@-}En%jwN{=_wkdp?c?3f~DuM}T_wX;oRD5KAzB@D>br-u>kI-&LkDdTv75F;4!xt~ZB)eIU}f|V%L|d&GBxb5!NvjC z3Z$e7frPM9b?x0qO=vtt@vQs6Y(C0;Y{po6mliu=dD_{x6aqWb!dcP8k+S??90J(g zX>6{V!U*NVELr}9=ZZe9B&sbAB&kz+cojvvuGpzXIMkxXk z(j_?>=@vmcH=5C1(kUR#2O9ZSuFJNA^w_|TFwv?( z*2zD@6x>f`vG_I~n3kZ`o1F5s@rpOAA*ecWx{6~U!c$N9JATzvE-+Foy77#_3D}f+05fO%2Y&X zOnw7%_KDt;e-~4?8ghaZsJ!~QxcB|W&)duDVkZ6Z&Pe8-x?tB;uNomu2ClVdR?brq zCDo{!LWgN%Paa$irG>!>n4YJ}(d*txK%yv7xNv#K&WE>)!&@YeSQjsh z+i@;7;(@m{z}1SNc1GXD5QTxqO^SC_*&M1|Us7^1`1s7zp1;SABtQJ@@nqdY-aqVe z|BUZ6p-(4J+dib0HXJFZ`((~2Vy2b9P2B)?9lPT?OT8AJdt!L1d`NP_Ns2p5n@#|& zZX^j>X`E3E4&9-WMerM{$$b;2Z_%0nRXU+z+Ad<$X5 zhirVN(Uf}2;-tj7fYeMGEI{lelXyRR5%O&%j}gjBdEVcgD-n4Uimqv`05f0D;oBWK6gzPw>2?42yljUP-(7~dZ{9-z&f=8Eb0Hnw;7Sk?qW zkz8S|IIG5q+$6AKnqIyi*nPuPn8X5Wc28A_UCLnKK)=EF_5M?HnTbp^*zH_f{U)Le zjwb|<%%!>lcAbNMt1K2hcU@buET3?cpF@Li3n=(ZDP8ZC;~;o&9--w7ss(jf($1W; zZp~H2NL75*9U+w|2;C$g^%>A&f-)5dU+UBm-6-)0WN2$0P@r{`5U1?+z0aN%{V%O` z#Llv6+^VoJ$bjLp^tM`rZE|)Gcb9We3YOt5?Bn4%%v=96im3Kgu6(-xO+u!pSthF) zZ$|bcrxbg6u2R7-Dq?)Z6Gvl3?g4$+w{NgKSH5Xwzw-1Bzyt*Ck)!7psJNtPGBlf| znyAm_@f^>MGz0#6MKKFamBjDg6n&+*ik5c~cowA|7~jar{ZcXm-yeALfkfDf-h;1H z=j2R7cj>^tLCBY_{o1mtQ+ve+rjg(HL;3OvPGTf1Hi&}NTV?5Qn!XmMBc%IrkFm`D z_}J%T-%Cl z8D3Z!Zl$)(Nvdw<^&4g6!N4Z2=ym1DJ~u1EG6D9fO)iHVXB8$`e<3*oY`14zZhPx% zeJ9`y8xwGmF4^aYT7eo*VTDgDK^ay;bQ4i*+V3Paihwu}Z56iX`A?{APh7|1r+DHo zrq{`RPe5dTe|vioy=*i z_PEZqvbk&1kfZAlhtJJ|m>Q)s<;&L-3oF85BT(m$y2O?=*;I?3FO=@Zrj7@$>Q|o% z)=E`E?TG>0Awn5>+Pd^wU;$;7%Tmie1u-h%e$8aRBJNQ_%d`{OnDU=b5Y%kUDiQe! zS$9dPk3xB<Xn5qHdwN`J=Z$Fs{Ntko;$Ja4kKWmInM4??0Z>d zXEcSdYc=3=aGrhFSi+j&it!ulx2x7nP)%Khsdqp5h=B?eO6~?o#d=u^cXL!iH=Jhi?FX{mg%i2#wsmqVD;(!vtMh+NVyOnpHvqai%68{e-b%#D ziWebqsEIY33d;3i{$S#FQsbi!Z$3dR@X8uVh+XRL!t;<0&%`uhTt(6<0l`OSgweoA z@OnyPc|vsPz>D@G$G;xg&ypcf2kfc&59=InB|G)J%oSIw^-fa2&oZQqJ2`^9U%~sY zqMeVhP{DuQ?So1aWF$A6PZYKFvc=V<{vj;N(Rt2kbt?hADhbh9t29gxyzjGUX3!rc z4zZO>@ztL6J?BTeS$b&jV9hU%abFqGJkQnYwR5T7u11g_6rxhP zwCIwWNv>Au>;3yTh8;lTjyG7pQ`nGz+N$fAK_vEsbrkCcbk=MlJh$MaeB*z!%VBmN zp~ho#PL^QstKmWVw|_&m+Vx-x?Kh{sfMTTLRH#!)a3AyOGI0LtHRQ(@o4L!X7^Y`dv*gJ&GO zL7CJ0@BczmGw)T~1*sugK7WUXTH2vqD~i(7ot>%TBE2Zwo-RNhGJ!pF2=sNaBx)tE z3-kmW{((dElmZh0e*)=#0yWsqmCt^h-id2v;uZkVD`D0*3Ui3YWOen==h)&Ne9-5( zq69A#?^X<=3OFl%_PdI>cmFC!U>^Hva+44ic@1yz3uV)Gc^(65-*%kp$-0hDrq+C= z+lhSxfs0~0(Ngi!*$_H0i(lYTH^bd|&{IL^&h0D(3m{*bd2pDCMiDVf+Yv9t0PY$0 z%&6V-@H&y-MFz;$f`9Sv2D8GRiKUY5@9*Q|vA*yj+WSNH;@VnL7>tZKVp`$@uQPm- z@WFQS<%wZNpOqNpcUiMhs}!C2G1EX^KM=?PuPmE}1U%)8txELI+KjdJ3+pNBhCwq> z=f~T|#yB0ow(Yw~b$LWK)}P$Y$jO_}{cMg{vcW+^b~r`UkO;vdgAi~o3v;vY!K`aQ zKe(V%5a_YRAtgZcG|hR!bu9&-%dvn=E@DJa)8X}355fqiqxas#pxW;U& zhFzTs|5q~4=W#Gh>^%K0#`LT3XZb4!|3P6`6s9(1{SwAs{fR;En;xa&@mdI*8_%*{ z8UDWsZ+fkq|4Mx=OAY(9dtbpGG|xUHhbm`PBAa?K~L zF`i7EFE%pw+k<}6W%wyww{X74Y~}sQlp&`c^JX$f2G^xGo^fEv1eAFtmEu!B19JaU^V?JG<46NDpVRZIC6hg(PKkpnhdQCFUlN~L^CyZ^L1LKT4= z^siGWOLQ9;`-Pr=sb( z0W%n7hWfi0MWkuoxPQ(hU~@TpjL1Sj)h0rSuWPBU5*XU#B z?*WBkHZI+2AHs*4lpaS_ANdkvS8Ltp!fRP^&mxrF0RD~9!2r1QD=?iJ@I^L`0MLyC zq=6vm1K4<(!0#R37sSz$zn@xK7>^K_kO9Vwd|t~2)6@5}tzl{0L})_TYnv<6C&3#i z>L{>S#-!P2%j&vJ=}YwE)!72t?LDI1?*`q=xn2IH#pA$v7wtm(NRBcSOh=+#D-TMJ z2UXuy`Z6Xoa$TzcTeh%zts{f1rC&WDe*^V0$OFK#(!&2-F^vM5$_t!EJJuX-{ziN! zTh^Cov-m%&9JF`RqOB>@n+~H!0$u}IE0uh z(K8Tr#+n7tB^4FG-(90rUx89VO;$M!B)^V6oG1qHgh9Qi4k}u&m5an&4=1&g)=JJQ6(H zqh-yJ4(^S`YayaPBrz4vcMxEB1rE|IA+Y9mi3r~s+(S#yJkaz3CNx9hh`M;rbH zLMD4=*#{R)aTWVM3Te)&h%oU<@n~AN62q>WUGlpAi+DWd$QmaT%|iAb>OmSZ+k99P z!D8^&vuHg1KOMLHuSAo$z|;r*^-eetg*-rp)RI+_ z)om+%DQ23FXPW=q-DvRBJ3`oy58=9Td6Ub>>9Js<;%rO;7_%!!dTyl4pD^`_Mv*Mm znxCTE{vqGjSfIly7K3=^ofJ5f-D^j}t|R z>r8N9MTx_B6f5#;z-Gk0XP5Mm} zbq!eI$ToQ#&=YRLe~+UuR|^tSks7 zxS#;0!@r3?ma)ZRp#rl7n;hok!wGu-V(2)lFcrcDEYFr47?T-5{(#f5{TjX8 z-8ZW6$PCGp@mv#w@?O1N(UDZWy3B6Q0(kxC&gZ+6ObGycT1MfF9*Iryv$kMIjdRp-MRyO_ zq2!FF_nr_NhLv|$|_AQ!vUt^v!A>p*B=_M$ARr(N}k}XLVAX)N)+EaW;#jjA=3QD8&w^#Z-*$RCz z_95g;UUzs`dwl>}9!a-QY6#ycG#RRiK|*Bp`!b+`w5N~YN_FC^FPFn60QP;MR|HF+ z#Pz`bfC;2xqt|u zBi_8|D-fOLbGVj-z&KI{ADj%|UgvbCOqB(leFrdd_o+wk{b zN%N1qmGj)Y+atQZ?O{o}Eq@{j?L1oP%v8c5n`$z(LAhSpS1H>`OXyC^Z{X|5eYv$eBKU$_}+lPzw z+&*mBQ#iJaP^QeX&)L6pOaEXH^x-w(RkUyO5lKgZMB&cQaSrdI_(WG5DfiesWUouv z?hGcY_*;ZLTxfLaw$DTNbZLQL|H#T51+y>-D1CBFydFO&+h%c~yDyp%3+k>c}w9d|QuxOMqvV8Zyxe=9;=Yg9@=vFrcFl<5-q zkYn6ayif59h22zhuVm31fBq@1S@U*j-JaDM*jya{Ervyk;xTv`iUDJlML;mQIkbKp z7)Z{r>|)1B4F(zuG+eLr^+BQ;ZhOX1czJ+uG>=i6&jAv`3-{WFS@QVK+>B&k*p$il z_;SFbAFAKCdS{``5`WenV|WhHLZ?J4#)=42bqTpnJQVcd7EmH{jWI+))FdAWy?nS* zJ!L3n@$*0_mf3T#&66ZJT6k!4YEnS5wdyv0e$>BcX>c6{X8KeU%uQcDwJSE_ckhzY zf(&jC!J47IAN1?<=h)=?ejC4sHqDIdXF4R{<7UOjg&_y#u2LoY*QtWGKX+^4%OYAS z!BbJ#lEU&JZ0T2^Su07os+E1@OHyQaj#x7dR=DSpO7typdN)nA*w+^Du zKQ(Ki%ozD#cZHcBHDK*fW*mw42={g=A8I@YzC-BVVn`o3qokzw{pE|@hB7H!AF{jK zbKUm{g{Yvg2(Tk(>tZSAM(*l=iK}$uZ&Fuz%5MugtcTBn<_q@c>zvk!%{VQ2=UV*c z%3*_tiAL__daYiUe?+$sV`y%6k-xSzcA>l5M*Lsp4?tU7hBZ&ei->ZOOUoo{l7?h0 zW__cI2;#jYDUc~COmh|Qdh-1SeD5{v^Y#znJi^1LF>jx&K!*#Fo6+EyF{qdOU6sSA zD%|TCVL@)+^miY}$F22kh>xGiMSU4bw3?*L+1P9iHSCY({aR2SQg9n9V~+FO2~8aYJ(+yE%@6wpWk#LtH7~=j-B!DDfnY39>+g&B z`+2vD(@UWko-@*k{wvL`34;Uu@r`%^_q zgAb0iLwl9;c%T&W(@?vTFRapJz9)j@X_;O-^kH7bD#XIIl`GhUMI$)^Eb+sid!N&_ z-i%4l!BAt|W3O9zMf5(ImW}aCYy3lHAu2?tzD1xi*>i7KIapwtk#3*+0Q9~D@OyDoA9PR?B}BKC9L*@< zfx^2w>_h78&xxUL4}q|X$3oxb<1!;gJLw2yM7Sh=It_ta_msNSAqv?d_n1qM#f%^Y#*3b0lo#$TjVUK~mIfEGJ>#tP2b;aM z-uf5c7xUfeVFadNIYKWp>2o%vqf?P7aamH~c2N9ib$fj{>fm)Q<>+Mv$|j**IU|h( z7pe^HyJf%s_i>+;+o*a09sGd14rRt4EKa9y zlvR#jH`-jk7+msmm}~KVkH}eW&=G~`U(aQ1q8`Gh?w3oLU~B6FV*?->0aNE? z=ySo>Al;8H7p>abLa-ahp}VrTZwUx)=>Z9d3AF6jQV2*{GY_DQSfqwAWsHf=Du4vSArcVMkt>KejajlNcRC4(1?f`=T>jpy<0*Q>Cxd z7sJCfGo`vUcC*E^hYm|^w^!3TqN09&XvNdifnc{Zr9mWYa4Z-b3urw1ly3rU zSYPDCWIkGB7IRk<%Vh&N0Z#AdU}bE=(x-JRjv@$>$WhNcYo z;MOd{>ucXxOmwBP8+ToD5#{$VXw7${Z=kJB;rsbVn=uXLI~D0PkmqerIpXC zxr%RMkwUsg7!dA1)&i4o@2WX@F821YMIl4TkyOM07hD(0Fte-d?HB>hpVGuy<$dD4F0d%C`ScQqA+w1lJy zzB1DxT$`;Aw|nzu?mxa7!ut@JS8ZNoyPHo=E`7d!2f;*IiT$>W-9SIZ!+QY7tMdc{ zGFFrp3Cy7LM)Visezt{`m1CdI+7JTNuSD%imo*NkJPsC&-g~kaZhJ0`{JvlKxSVE3%@sjF*Hf*+X2aqunILA{Z8MU4h@O%xVQW&i?C-%*>N5KEl*LvzXQg29Dc`}M6lo!OK^KMSisnvx ze>;i&Vv91;n$7u0cdm0ep4<>*DZRRU*nV>Z3HIZal3qjSrL}Lhh7dGVeRGki_mjOC zc#wK2eXE}V_VaXGO-AZ)RSoVi!EoqMwfM^E_p-7-=}f-|fb~pyfs!%md1;@uYpEuz zMZgG#Vt&*5oPXReV6uFdPu?LSb_rAv0)b$+reDvi2WpTUt(pF6z? zT7B?W*(*C5YqO&|2T{`+ty0FCsYW%GhW(W9in`SevMIwdWPEQq!bSd}sRs^*VqWu;$Ly$O1$|o&bI&03ssG z0LzQD(8lax!F+GF_w6IO6t{4?I&ZQJ`f zGuPV+G1Wb;+E7*9JMu^3j*cu-mOi|P!TSW?xzYVGsj35XAr0S{Z@W$?H>-LA724;B z4&6_bIPHhN&Q4ILr}u81n@SLvIGBlS7=x;Vu7K}Ma2_q3_}&58!AelG%cZ__>A43g zcvbfm9A2fOGM8;hc>P{C2+pfLU^;sdLkGHlDop>)NZjGtP~cEI=^X+_I*>#j2#!aW ziX8*Kk6Cjjxj)bKBIus&aGhY;NICC_x+J^fYKY-h6xAZ zvDX`R5C^rI8ZjCD&mwyzl3n`_eOLQS$unN22QruKVb|Xa7cVO32MFC4I^Sf<;kH#P zWBcMp6e18x+RSgL|K@8Ji78Zgz}-wk!+n8KU^}N9(fXjr{sMrwflu&+^>y`s`j$1j zdDg7swK(j}8`t>%`JMa}pl#FfA5Lws;bxfpnR&I-`R#DVA)~e zCU(*6*(~<4AQ{%h3?2H+4j)uy>sBn2Wh9Z3#-I#rv9RQ1@G=YAbko=(LLkpN-?}l% zBC@U+cIG>LcvCReT9vHEnADfB+sk=uEcMkFfb-)h6eM*{CI{TQ;5y|nO8{JL5yv{$mGe6^xeS}{Z4!F!A4HCXGgP;azw2qT0Sl ze0EX3xo&f3X{gcc6rS%7c)3}13BeVZ)bQ*>FIqHU#q2_I?@w*YgFeHOhW`&O)Ji*l z(%MQDOG&QrjcqX$^lh=$G@8IUV<45%cl@_s-d=}V21 z%a(~A*xpJIT!WP{fUt3U2Fn}z(;w$6LHrC@H8uRZnt^BV1Ph$ z-_}U@J4LK$dRwdSMeXJ8%nJvhZ-?+{v&uTi?vm!R8K13QTtm5QLqBzOQu%@HqJdOM zSNXw9344-%&^ati>V&@Qrn^HLNH$;q;m1k_O8LhxhxB{jx^{Ulup9g{)6UD%^G`I+ z)U&B9JAc2m69cASH@zfUK);72;E#(|!LaaWg|;_b#{J8am}HbJ!}$4alMtH^B0w85b97z^~6?;l2oZ z)u#}c24B*Ls4S$*#chpIfI^Usie>xF`i#Gl@pjO|AK2 z^`$Nn-skH5zFws5w^!ZT3>GHnYd<62`9m-0KHm(m)SoFB zA23O6AfvQ@l_)EBxd(^*w!GZ!O?M|d&^LA}Sgs*SJu*B7MS?xh|4T_ifxsy)=`nlN z3vS~Rw!zBFNQwZk;#^V>GPCVrb%(-oHT62X?tF(rsSV`3+BIA85;HF>UFbOluPwct zpH};}ySFf2-^en{f(^w9_q+({U6hiQC~Lb|<#dp~-Ak`%Y4UVK?&!evuZZ_9@Yby7 z>SHb|bossKOI?lZ=N6ZoznuV)X+ll#jcB9CY=9LTCB56>XVRldSKDLlK(MBlh{c|( z$xVjXC}Q+Jsywpm-aq_7=FV}gMCReR_i<1-a^<2og*BKD4GEn!VyR?!Y^Ae5f~6n2QSh zRg}ksjiR<(HlwPsq&7Bp+G8VOg|~=h+!O$GpNx8pmR~$3Z6<&}TPcdUAUPP9WsVXFXcfjmo#6rI?lF03SLbqr z{3DKZ9lXhFW7omz+lS3_d?(DAQ$>y;76GBGDmk5j?E04ZQzGc{SHz%VbE8GkATA;;G%obe^!B! zK==>3|B76C2c&)-U46lzWis&)e19}Wb%a|vh~P02cU|2R)n14NBdUwv$T_$JH^M&i zfFB42-x9yos@|XN)iOe%YzUwZ%Z-Qkx-|ud>CkQ~`2BUXT8++v>;?FKZghFM&2ze0 zYx&*>xx;N#Zm?KBT?=(ryrUev^<{G{tZn?1@14!eJFc$1gr zX7>+|Mu-k@u`iVMn5%LbjM*skJ(_S&;2Z=HM$kR#L~lv(LvQHX3N9u>rU!M(zqEN> z^cVfmX$z9jYHRjL%>vw;g@q9;4`@!M;{_NfRjaTcGNWF{*Fqci8(qI0bN*xK6e zVnK_olph)oe%IH#erxc~|G4+vUvLckqO9xLUn7vz*?Sv{!>Sru@OJ|GyKWtsFKvV< z=w|bv4vz^mO&RG|32l00Vf=_Wk@E*&di|lHvMU8w$@0kn+?w-XanJB$fwI%n3Zh|} z3c3K7-pe?b-l{SJ?YMTg4}Q=OnbKiAQP~Sx!Z+=MZ!bX<_RhTGFSLpW=wK*UThuC; zKC?!Lw_6bD_0$G2xNPv-hj^SQgOQ5^2Oa!vo@=*tv8sIkQ}SnWLnw6N!-e)4mZ8D! z2e-gc5jr~ySFP$A!C5oDx#1e4>+YtQ8J^FTmdIKI(djSVF8hH4KP1XsdEl;?bD7a2 z-MT2JpzX$+ZW<{kPE~vjc6(U8ww!Tg%P*S$FkU|#ti3;iIg7tf5Q-Lugw99qG8y-) zCy9eAtXGe{TC_ahle`a`4U6(-MZ%iX{_l6tlI#xuruDXG4eG*xUX zjC*FkxAEPpJv7~_)dPxUo^=8*EpoNyHVpINg}+-#Gj3+R)YF{GJ;%m>G3jIw*^)Y4{eG{x_sPRB}lh9yg0i{(ygT-uwgW(H}h4SysjlZBxuU zzsc6}b73T~;`l!5{#9k^-^X_Io7+POu$~dRq*v>`j#;;G&a|P~5%TeG|NGqd;?>?b zE7ox3K+_dciex0A^CZB9H6Pr1Or|>U}Iv!hj`fTpNe#!k`mx-)xqx({h2w# z&+cV!?{l(S2_}k^z6m^UGE8l9Ltfn6%-V`9@$IKQT=x|5sx3{NJfx5E!vD=K=2|gWYVLX&r;i&Bh1L ztNE}j)z_N+xj*6Q+hj820cMYcvc9E@!TH38%>es>cg zTA5u?d2JJSpS@!+5cKRq_>x#UHcs%){uT)*sTC_WNwLMc; z_tVc>@`_9a3)Uo&`K_7b*I?XV}jNm$aIq7MTVHEk7C&9A8dkVTKahwvIp7 zg3}WR3_2XMVOY!B;NeV_Wo`R{%LH8MSGhXam+jvGxq#o+FAi{~8x?-%0whi`oiLIQ zh;sPNL9-U3+@BUpC7B)cli?OmOd=1%xnvor9Pd z417Q0iRX8c);a1)AMNJ|7EO$)O1nO)*Hbq;iDo}Gs~Ws=lH#TRRo!$UA8JAY(M5NN zBzCXGrwB8|NA3&R1U=7?p0B%N{fMZfxO_9sf{#6K*Uq3%qT_1xZUjlSO8x6lH!ZC>Bj`ux`2#GK^- zqb#ePozIeO``yveBd(*^>@-Q?P4@2ow9c;5^t;oX zK?5ofnN#-x&dV$$pk4l2a2V4%JR?ET=xJ*Et1!7fLOKVq(JNOZQ6 z?=NXdj<1H;ezle)$s?vya~aYt7w=Q0xv z5l96F1FeoSB&9E&2&MdaOU3X4%+BG=Fm6q(jCiv@{8D1xI9c;W3$ag0b8gKGa!#wA zrm5LuUy>Hs1U82`X6x^)h*KYzF(w|;Mb#G^=w`Y%)HW>4RpmA-<=TI6gBq%I`Eq#F zk&hLrV>Z!jn}|1O8Y?hid-H3-#XXgP!H*P}iQ{?jUy2x`90t`P)~q=`U2{+OR_v6Tox4xRZm_okAyVrkmv^cz@o{Mj4LBo%bo;^45NTc=Od(H&pukRVBl^JCuV^EZ-9Lc`?`w;lXXF z+;RxLp&^0Dgo(uaw8Td-laG8ZEc)lz^srHZ1uMV;QI!X=q4xI^BRA#0LShODz}Z@u zO)6R)1*B@t`1>&eFUGh)RyIMy_|l;=*x^g$jJP&rD|BfTtnu0yn>Xs5aqj0C?l#}qK1>jaiP1n3#LVrus3!BfIevmK?MBx75%Il-n!o(7U;Oq|93QYj z-XyGi&zPvQw4MwP`T+04zU3#WEO9#_UBfVy&zf_J7#52Jo2=8NTbrA2r=!7Svoanu~|GO*B|^da{$*$uy#Zu5Jl~b&bd)F@P5_6^JxV6KPv1qSY@<}+ z!@|VwLjd3h7+UjL?@QFGGK>y_j}J~kB~+3SuL&pub7*SBo(Ir8kI8iCN7A#u#Yo9C ze9|K3NB!XPemGzZvfVMrmWKKNE5tIvT`DMJ6nCr^%9pA`%?KmH+M3lneqRag|7s=}vv5pR+5LicBrmiYZ z6lIl1hwmR1rYO(H##Tk=#Cv5qn)rm7!wMq}n6PIVw^gD%AqZ8Eo%zn!8U8_9Cty#8 z+>I2lx?NVQW7mS@Vb}!^|HBLVKwUx8FJ7d^yb;q~i3-@x=h#1ipLDPzFr306Y{3%! zID>tBL6;sv5Y=DhBx2xGSdQGwt6XeB7XT{~+I4(J>FOU2P<(MiO&|6r6d;En6Z-cG zmXa=;aMUveP%G5#9!to{KrwpbVU!i){up-Vxoq~V`G7ZQ)#ES9Xrentvg;F=9)^!T z7H~{+fePC7(@4}l|63(zrE)9L44uIGA|V@nXl_(*swY4Nw*sw>`njrz((jCRC?mUb z0Ih$b{Q;j`BHyhQB6ZVpTZj}8)ROt9=&w(}FFP{(R?k!t+#`*lChJ8x%pax9F;o;W z<$oBVoMR3xHh%X9%)M9ODDe@aMR^Jr_?;YpBzRf5(lc)T%fY&tkI-Rid%JX!3oJ;Y z9_9_>lEObqd(FpdxE|)|X%CVy#QX1~CX#;Xy;hbSdU)-=X!SB&9~A0IU5uiHnDorrumpR73_j3?fi zc^&jSgH7UNCCTf*o*y7()4v*Yq^&_3w%ck%HVh|OieMLzKry=@8YDo?=?is^ChX05e3a}jcu?WsZTn&Pt zCLBO7cD9ma%1yPvlTqh{F0J1*6Bu&Y4FxHL>mKjr23`TXP^@Fu$cPL^mq*GB!amOH z1)7mPg;+Z>`zXaoSnQ6heKz}_x)8)HZ@Oghtn|;54;dyNIcES8b*`Ir$D7S5ORxOM zchO+nns>d8Sz$Wxc=3CMp+sR+j^lxfqKT^CP_aDQ*M(ffZSV0Az^TXaeDY+y<}sfv z`l=)L>|}7VWK_t}<=f>pY=D^U)ks=KAdELfRO93gi-31DGaylgI#JS=O4c~nN4cLrBj+x_YXGHmoH3z7-+Y5u;H~gCw!3~XuPyal82p)kR z`P_T49SZP-LYV<;;oz{i)+g!7xyX(oYaQxIj22C?h+l~Lh`M@rWrxPRk;&!ax17Oq z?8hv=FT?UHL=iwX{^%m0hvh?vE6kDWy@d*!!~W+P&yo`Pcij=n5n2;P(Ie>?i$6`R z5%~S920h1`hq0*=+E6Q<3Pzi@>-fHxOijK07N5KnKZ!_U1X)9WF@9k=tPT(*Twlr= zj(a@?*N3N;+AF1JOBvs-`XBydl&-xg&|ZADh7ywfJ!hPB(_z$!_!tvaY|zgZ)g_1L zWW7}`g)l(49wk7xBE(G<4~i%`qc5SX67cU|edeP_xaxDi9beVIjOV7ITS;(M;#w`) zK(FhiO1Vc-(7mlnACQqjepy~v_(EZKfmO!%UG7wH^tHp|DX^7d*dyzbgQa@iBWE?b z*IlM+3O1{1x8z@=rj)cjiZNlu%(}JB^;Yuo4%(bQ`Kx#Nv zrlORA6)ZcemHK@E?keF8K8H2oaJ<%5NKI*jgX#TTy3;bm zi*@1mM@c@(^ZZP{#o%sba5CU%oI^S$Zky=6uqQm$$(p#X!_x0wqB7vR;gYTT^|@_6 zjfLA6OM^PsI~Bn4eD#l9t#>gh%+Vjpar2}RhQ!SU8QL6xAVJRbdeQzJEEdDES3D4;hi*SMu@PEz?(Op zzvFcbSnm;?bPz@UjWYZw^53f%f8)A^mr;D^MOBYCua2N4EX@YHp?@QMZnPZZkUF0W z?E~MBQLKTKUT?=L_uuEdd-bANnYhl0H9YcrhfA-STELzcMqkIudcVT)R#bz1L`5fadV(d#*7eK`=Q-GH+B)(j>USp2T80u^l6ugf6jX2^XHya$hv$twecq!9 ziSjjht=;r-tPA5!!SNqZ^Z(Iwm0@xAP`0?cySuv$?(Qyy;_mJ+xEFVKDXyi!K%uxh zv^WgzR-ilI?z6vVlH51BNv@oGA~b(CE@_g@n3WVZS%hER*MFurR+c1i4s%=6gKFdL z*baZ6R!{X%5-PK`Q~A4h@=+!DV|jg2F_+i&b*Zr}Azp8|H~?>kld=QnM^n^Gyrv?9 zV}~IsIuD0Q!4ru1v`nicA%lTKwG z`Z)h-vwfUFf^k2|;kqP$=0r=lsN*`>*U8t@Y4;KB;Ba}7q@KvZ=Dl@kZuXdP!=3)lJw#&&jYt7c9{^Dx_5UA^QvFe@ef^mN01$$i>5-;uVY~6T- zrq*rRk68?n1&=OZf3HnLfuq7!(oJCu4c}rZhoh6=unL=Kh{Hx2++9+ z5>@I;wi~C^+OKqyNPFp1k*lF6R`se(9~ZKC5U%t9vchYz{SgZMcVy23uLMIN$>85P z$lW)xo4?$G=|NVuo>90(plj|kmoS*O$_Oj+g5Ge_ z`~{{O-WZIE5nDE$V6po^;~S1Y}33iz3L!!(gh)RlCD&cnkELtllXKSE4>t4t&X2 zh*P1_f9;5VgOIiHGCxx`oe4y@>TJrSdC;j7C2RXZDzWCX3@6}m(`AN=-|41qzBoYg zT+k?siUue7G*x0*;YAygM*PRii1~`>X(}&b9}fivblqgI^_aha#wIX++Jr zVaFUbghUAf5+=UaJC}vZI>R#6Ty;sCMe=@mz!j3z&Z3PjXhhzQlOCjR;eshDa+T~d zCI1PC)cJXMO50i{W6`JZL$;`jRReu58Q5J+II+ivXafv~y|(b9el7ZC;dOqUob@Ru zPHUHzf&JST0)yC?(1IF4yga!86Zw%DWCM`y>7-+|6J>8v%@$51gG#W?m^KwmwHCY@ zG=9OHgbLlYS;?H9DE4=O-41({PIjXftHIB69EBybe{$Xtx@B-Ir)eAf&G}N57U#@r zf1L2zw=azE@#)D(3|0Umk?y)Jwj5YdffmKqItza)CF)J7Vp(=$Z-}sv)kipu%DOOT z#qexKw22Ee`fKarT|DV`?}d#(dN3kLY?gB2lEJ444ssN7bn4LR-nd1-K%h_8z~Q(W zS{-X3jtMp%Ix=t593o;u_V@LFzkN2(2^~o@H7ka2B5>P)IsIw zmy6n;mVi-{H-)lALdOm{k_M{ZbV>e!+cWkId%f46>O`2`eti+E{K}ZDJ**SElRPE% zKvHTRj)a#N26?F2Q;m`v2{aG;9cT`V3qW|R@gSDPDn_swbq7%WL8{Q%)>d06y!qUl zmYhCW8_u-AE2vr<^;0eQyBat3N`Ku^W8TNyXhmR5f34&G+$Mt#R7MS;-`*G-5)RRMj7GEDLWQ_$@2lx>MACwsainl{3-LqWj z#Gk*)R%ec|tL3RZ_u`+ka4#Ya+E*-&pK=qx@4UiL+23(V!Vu+onGMJ-ZY;Vm%V z+A_#d)emws>pH>|l85cGA3x_&aZ-)VC&BK=rZJ%wFb~}gQ{d&vLvQFpQW#I;L$8XS zI?|=uSsZyNOKW=r4S%hOJi@%!KfGrLTAinZ@C&oV)lI!hd%1GG+1B(?Lz~O~BZFE? zzLL+}&Kb!`amA}A8H7(BxtAR|g-RQ=Usc#8hYl7D-&d5_i_`h^d^0gfe;Yfm9_rPF z9;xjtG&Ki%K>TE)I76VOdYLYA(HU#w-oc1FKOk+ZA^P zbG5N4@xw5kk9)X_xe#)~ViP9pCsF3%4zD|O=9H9S+D~-QN{i@*OjUWYw&L3L<-@|v z)o19nau|grYMBT_1E@9CGUn0^IX|!g$@A(JPlW#}37hgJY7%kQqa?qQF)@6W0E9`1 zQaFuQupvmA2y`pcuxl1nA1vD~H_a(Trmq@6jR69_K-enkHdx~a*O~wZlv-EQJo?dz z$nLP#enFH?Bq!by-xRBoRw*BVyGV{~HDBVwP%YvL8WuHsnefz_tLx|)Q`hCwJR)4D zQjM$8Af#SEhJ9h-zaxGrH=pAr$28;9Cj?t|VC7YHgsHW*V>Q$$oAUe3huV{r5uUQW zbydPIhBe2bt`Gxp20PN+yZN~(vUp-l;N1tI{&0TeXjnG*9L3>w7)YCCW7SY1uzIe_ zMZsKcv<0YQf1p+rz464NBCo&5D1S1NtaSJ!^k9E~&Y-+|aESNieC&*eR6{6ptV6iZ zbLxb0_sm!zBegMdJ&$%*BUqcO5rNdyV{#V@pgrRm0xC{EZ z>`F&teQnaSe1OQb<{=Q9jtL+^Gumx_#nPuh=!~(?gi0!;uK3pfMrvNJz=S*Ui2ym8 zmJu3S2Z||Y;uBmbPz5eUBVJW~wY|?7_x?Hm|FHnBU8dxl0;Z2vuT`e*hr*7ZZOLq1 zmqo9jXe+Xe_Npb`L;f|V5!ZqVW{!i3kAr_7+ow0h)FdV>Madp&7?HgHZ#hC4wH^r)y-2Ed6;Dd&B}`}iIi z+V+J7mZ_-c%I=srx?j0CjX~pzO6;PByc7=Xxy zQaj4$stA6D)^8?V`rNd;K3qmECOdA_4y}c!6P?p**nwoH5u6&>8qz`7>%S(KGk>h$ zozi@nQ!ok&iTEQ|%K%$wn?Cfyzfjf`GY?(tn!4Ge@hpMtE;gOW?Pu~4moRCQ^yCxX z$c1e0qR9gg`aFINb2z~H%v*C%rpl3n(sNUYstbQ%61_wjs z`Yb`_pg>KzbWzl=3>`;+CC?3+)ztRb#d)Z|-nX>ftZ&0msM*U}lB{Ovo;9pdZ2~0z z@qsbGN39#r7EJYa z-~c=(w%U3cd*Zby6lsomxi=-RL4g7rKw<2=3n|R zJWvP2wglp@Cm8>HC$L;$07U)c3aqD#dT(aRdh!TUxNo0D=s;JNK}Z|$j5cL=_37`z z7&+0@OK99i`(7j{FSB7fSwe9X$|GD*~*ElP?N7oK7)fVG4 zwgIRC;Fq@U7y{rQ0fHm8+P=sBkyHRpO0%_X{u+twE3(GOv0nEu!t{Mm*KyBC8ZS-3 zh|M~3JBWC{c_;e)72$-vZ{;xv0T=T!0~6Z`I&imbXO+zXUd@nc=!Xhz@p3(sttz9R zIqKu3&%5?~@TGBoKQYOssqmMJc(7Zu-}Ch7*7~dw0b^unmfn*YS9Ikkj_%#9_slYqr-HcT-M!JjS|! zOc}BpT=%i!hm)Bkl~&_!5|~SM!g3zVSyoK_BFq?^`b>Jh(jfdETNMU+j~{GO47+81 z{xzZBH@I4!>3 z(b9)JZ#Dq|5F}pI4OG@9Z*j46`#RnD1H#iI;pI5^!FZC51Q@)0N&Jc=s3Jl@*!_TG z?A;DBy#^sh&YlZieBGf~RpWAJfjhn&$-~}EG3ghDgyz!M+CDXDE^KAkHH5aNhD++i z)tFsj*BB9~=YZJzuru=OLZZ3@PcN{sD8$Ws`d;P1TlfIBXt!qoKG6UXmIaRWcw%Hb zTuhy32)EF}A0D?KuS0g;OLI}XMY-nf}tX)E9AN$j*HvavHX zDPeS01n>(ExeTQUa{0uny5hC01K#ws_hSeSlOKKT0p?wZDOVD3vmrQc#g6BwYX}I{ zdPsj{j0eR(+ZqPpg8eXoO><*0ka9GxPa1x9sNaw06ZEAPxj(FuPHroqSDBWc6Hz`I5DgMf$gCUm|Rd8%*53D0$uoZGcvSyVI`AA;JtiW zBXUCj@Dv{jzT=rs&@1eoyQ7>*V+l4Oi9#?yX{7KoEq`_pj^gta;pMbGd5$l7;c<%` zyjQke)HV82UQXO}6wlM=ejXsQqyDXGg`ubIm7wD+Jztet#ma(KcnjUXha6@s#2D7o zjo&WxG0Md`V0^sR=?u7=-0&eJas>Or`u(Uh^0!OVSh3?N+kjC+K`|=+Jl{adR&|@Q z^MVL@riAYB1u!Cs+tJ)vz1#8FFgA6e@&TXs@puCQ<-Sg*$4-W}Izdj66iuhb%}x$y z@snX6XaZ`I3ErTXW+f;9*|(49#P{SEfrKfS}_prE#kujAU3HT_#^qCMG-!4R;9FHqz(BsICziCSmiiu@65~euK z!rOI8LSpw1Uh1@G?(PS5f)Kln?*IU|V(1R*H{e*=jF%(6eN565T=Lgf9v|KlBcS- zpOwB?l8kf??@mPO&SUl$>^p4NRSxOnfr2YRPJ!ydu#DyVe!6)05AZ>R)6D6?PAdA6 zCmvvaYwP^HU8B3bxtUXU2?SdB>J|{tc@3*k|D&1FjGU6E`>p`tu?dvnrss$Ao?<8A zJjj~VEW_LEV}3Ju%C>VB%|ZIZtJ|7-CD~1NWY1pgb@-p9+bG5zQmk&F;y}UZwzl$n zdQ!xN8>>Uzz9h+3U z{{(kxel?iW)U9gP3hf!Dz0;bPzv-EZU#-sCfvczaA?~y3x*kzuru315vC&`7lnj0UYI6aMDY@gjmLHpaRUC( zgm?XbjiofSRzXD%AD5LO%X*#~M9rMBkdi294&7^TlZ?JiqcAgrHKf}~Wd!0e);{C8 z!9OQ`eo_$69NORi0hatM3^Wj)L&x;h_z5Hpr%~!rfHRKjtD+0K=^fg;`S>i)TX0M6 zl7v~#mb)2GyWiM0nj?(0kxF-JI+|Q^SKn|0HBFs!D4%D1ZPy#%&df`q9t(UzDT7C; zU}tR8o&|^sjvpyg78rrxrrHL?xfglnwmTZ2eyYfH`mW01O$5l~9X6GQ7v-iY{sshX z`eeC8iAstkaBPpsAU!WF-2Z68_gsuByFF}j(Krzw-{-_CXCj&rS-FZ~_{P$Q)l$>Q zb~`K6?xWAi;VKhK@HQ-eaj}w%0w&)ma|r{CJ2Df|29a9^b+?C#Ud$&xBy#GRgKDjt zxX?ARW{K&Z(073W@J?K8tVq?i)ln!Y3E5L+6h;28QXKvfvIrfg*arN@KfHpzfNLT} zw+qGJjJX&)S)FFW8vzApJKf5w8XW!^aLDiagVr%luaR7<@6ki0$gbS|df(7mH+F%w zhc69F-z13JBF^L5EcfWXc-r8TdQucP?S-K93M-Ne(lC>M!psv1tW894=jdH72OwqN zOb^f&Ux*5D%6QS9o}NNW8%M*>JQUIWdw&AYosow`HFC?z!~YG8p7o9N{+ol@5=0Ok z`1jun$ABWo)oz%d^sB^z55;{+zL>olhiCg}oVm({dgD0hjhvxS#w76&lzW`rPkEex znfnxeB+O4q_tiArSSg}7;^B@2DM9EJeHP+jI>9eDF2M3yQx z+H(_cX4CnX_>{xf(fjBP^nc_%ekZ4POk8Nue`1U1+x%G2_|BfmqQ=hVMb*9w-o{CP>C zS<4pfv_dC1Z}#J)iZU;mv47eRO=a%9#kavL2lgI~%$AQB-kIKBha1-8aIL zw^<7w8CfAS?gZv(7T`@e+C5x?F#*T0#)`wWQ83i3-26LZ1AdS4QlaY?%xg?|+fmuf zZ_Og0;b$jK&6!h1L8t*8;fS|;$^;P%--^-_M0>aiuQh*}x#<0Irpbu|vx~T8QL64x z6nWNZ604}0#oBl2N_u);b$61+qEMJ@F)nTs;Sj*td^i_13#O`uhOEVzkD-dc&JEue zULoz>u(m9<-yP%3h~PGM*Sq+YIC!`6_d=UF<0u&@Tbw=whO<>mB*~XQ;+tsnZ1b^~ zlSe%7I8I`K95}d+z%+Ayu-wTnuy^cAe&PYz430wYosy@4~`$$Rj7Pl6pC& zeAmK*wiYAx9#J<33RStm-b?np(hf2X4fna2T6m$@`yeN})V4T(axZahHr6Si?fzsW zm)Lr2fd+-U6cU~bd0Xn03zI4pez6o-2lkV~6U!FMzjrB$?K*H`LPH0}CA(kYoZ15M93!44_o+t?Y@6wVUYhzQ~5z2Uuyq}acN zWSm@?p(2Gz{37p>J1w?GM}Q&EU)|feq<@IEx%+B}&d72P^unv9aAsPx9x64q)|IV? z#H=+mVwBF*V$k9&d52|n&?C*RZu#)kPpb5ZCntjQ8M>uPgwy$?NzvI!1+j1^oH4HDJO~iUa3T*3eY7JJFm&)AB)r(9Miq5%+!?Hjp zS;`{PxCp;+?&Imdmjy--sO&>g`)5Egq)1C{3w+_RhUT(=6C4@RaWQ0V;3dlU(WI)g z3ZXgCD`+2*$SDzS^F4OsybOx|#rh#x{s|)ytbtza{g?*Y0ZcTwVPTxo`!x@+;4Wc7 zD5%tXsYHrIhMZj1^)xOQ`N16)%mYp=UwJ#E?nLNqy**&9l8_rWvSrktv<&OVCWyK8 zPh^f9YITCw(YW=SpXhLx=KVaP@5VM;UHY=FyHok)Rm`hAcTU_HCqdElnQ_&P73A<# zygj$(7{YBS?7Zy2p@SV5i|LGpYXcgXUZ%YzWOuD^wxljgl9IY^{Y1{=Zk+B@rh#wk zx%Zj$Q;2fT6Afb4tDPG^6PvCHmx{hzF~nm|{iGdmGxsSN&L{ouCf9DzAPosRr05yj zpu;^3?u}DSjrWi7G3AVBZpIrB2UWot`@*h5=lY?TO{pOHmW8S?6hZU+wD&}r^_p(> zV+r(BltC}t=yNio{vr(VzFz?T*st`AHA;$es#Rv8?`KNN@M?uyP6qUK&C&X&K0d>oKBTEZuV!+l` zn?MqAlEJ$4ltcR$xBU*Jq4?=c(J$9WX5S7oPgkLn<@DT0;N}a&96&}7mWfTxwZ~bq zMRXd4LVXAGXo+*j3F(noZVpj=YY(WJK@$0<{~1Q|J=aT0XMd`kvl4$gZap zpu^Zgt7<N6veU!!bN7d5LSCsPvm>6~=guFAS?7A3(zvU3H!*=~epFR8 zL;9Qp3MT9iC>h*6`cT_$IKMNyMe;oBioT^0G~ZlC*_d@ zK5|_q3x!t{rCMVMfxSL;9I}?82S^6N>+HVv#~Y!+$fUxuiTtZ~pVy(iq%=`sU^Ji# z&-Gy8Qn(sHHD7HdhtXjrhbXeeYIl_1UJ!2(^>=4u88XGu>dMZhaFgH;@l@JIbRtgV z1W#Rofl{2h+%aR`XN@0b+?q%+0`q_9;KkzX5~x?~yol5M-R<%J1*o0Oqb70gr1tuh zEv6HoL9@lzzDKi&8>H7aFn{}$t!VvIrM8(A@L0!bxm6VlBV5})QvBCx;|sH?BaAxM zNYaXT{;K}7=0z1q4sgG|!qxptS0OVIXgxLyfQk^50=KtgO{-pavv=S%k2GF1yV>o! zU4OCgMDJ4eY~Q0P_4ltSR*HdByO60)qHqRo(eGDD5Y35Gq}S^v*RW!yG2u9rD?aWQ zsNf?yG2psao9uX6n?mQaQK7+FMeik%ZS&Gur%7lW>C~SqzA?b0g|X~*ARRpW(uAjO zHAN+uL`f8hICJTlyEUASbc%h$T@v?fbgTGc;s0IrQJVJ7MA+Nl80s-@P4W$41jd~Kt(+u@{ykJz&XEx%(d^kyF}p@k-nuKTObN9NjC7EVSY z(V>f#Omihrj`ItzqUCPQ_L^7%!*2Na(B4mQnIrZ5U~T3u7QR#Zf{WLJZRSKOph?Nb zn%!`1$89o#sF;H)$x6p;eWO#BG8I9Z$e(lPQTa}(ZxhpdqyN!P!v!X0S)d=ka)Bzf zT00AI8jh1m< z`Ur0EDS&RazgDz+y-}Q{B){{F0(&Oc@?A(+4QsT?+_sA=weW1!qmS>Y7^u?tl9=#~ z9wXqHzd~E>R2kOF=Nk)wckjabg`I?hlyLiu$r5cU9L^~E)Ui@!L<@A`+ijAoY?+p{ zAB#0qKX2jWs7;d0{@qvh1vHyU%3*Mv%}1bJsRZC+=ToFr>j2}2)ktN7miY<>*a%DA|BP9 zg!5<9NW1n0bS4D`ng=*2B)IwNx3$6NoGvWL6kh#=SF@2&~e*h|< zdKgu_Dl8yAI20kA;E7Iw~C_9tgJxcRloW0 zhRwX2p|&a6!BpsUYt9-oj8v^H(S%xYZdA{lt5?_GTA=N$LyO8}Uz6dhWTPF|&FqrK zu(X35%R;lM=DJ0c_$yt@Q13{eQ1{a5(?KCCvdS6a1U55^$x+>Ph2E%DGID*QMwCSE zvizC%$q2K8^FhV$$6y33*xstgWgGf)t$OVF4!+94?9?Mvq!?B!Vi|l=Ly==b1TkN&PHH;c8ZD|)3BE%>$713c3`_}lY=9gI)7NBv1oy#V| z(|KLSO0Jsn1s;0m2wOHU351K^`-DE+uHPegicVwD7xPr+d%6gtzU#(TT8VUJCku^7 zzG9v-Lfd-SQWGc954=e^>fM3`7S0M*AAK2iOal|Bx4?Cc(ob@SYL&z53IWm-X_e3| z#}7l4ALVL&bhk@J{Df2c17soX^}(*#t!|G7kpfRU_GC}p7WSe_pE%P2t@LfKp#KK8 zdJwuWQgQSUabB73{=+uM{N|CZTsQT+FPAwitH7>NgMXq+e{XRB z-0`dOIa{g6gebGple=~)^X6|*)}Wq7yf_EV8Zg1+BG6Jv?#n`a{zP~*^lohHBM(~+ z^q3_jk}HP>170=>UOr<4F&;8Y1ccOvCf;86#?Pdqse?L4s#0sr*?pNFUJYtL^t=7f zh7E7NkK=f$GTeWP*RUoI;Q-nMqwnqyy?Pd&zaogzi9?-$*7VEB%K?=w8b8yxB5GMn zO*RgfSE3noc6IlDPoqEvWb-yOw_CT}4w#K0m7MI`H;=NlbhqWrV>MCM^QNY~Bf(lz zY~#OcEkcsta<}{`ZtFS8@4!wx=0ueH8$u%b#i$0qQ-3TFy3FHzB#@Gi1aC0KyOCSC z)gscef6sTS&IjS%(Arsc-$)Qc~lVaSKQF;Rbp zkdwxb#XxypkX)~qe?bX~wK7T=FZ(OxvkekW#^^Mw6-@cA(k;GB`7H=Nv6cmL5GW? zqhBC-zqO65BX)?cji}Xa**3Jl`Cs=qHj5dk$6LCO`U@MCyN#&>3&rqNEDiTkXRwgY zKf}<*h7INGra>1(t*@mDF>eM)J2#oA9L2arL`3w87pcGpQyN}e=B~KTxjN}DHGk4J zj4^=)*FA6rM>BXs%enfK z&TcArSaZmo1b-*3g10y!z@icd7k5b$I#S?ayv{h#@>GTw-)BALxCpa;gJ?<-hdIX! zB7rb5A-#0Nt9v$Ll?Ut>!_}Ktnea>O*VxM2CN{{|VNe$>u?K6Iy`Mm_t^(D-&c7x7VmHtl0;$jZ~0OyWb;9sh`Q)f!fH=iN>(@GTSgk_#$7n+1t@$`Jk0octM-4tGnUg(G*v7Q zhF>zdaGgYYgzx=6VvN;H-B3^to)h}72POP)s_e{qM^E$7ZsV+E#^9&K5~+4Ef59Vc z#u87+qSa-nby}I1=MClm4N;cEN3l`)djlI1$hxx%O7?`T8s1;>s9C&(HOIo~KKlt7 zP-}&~YY3V4vo`pY#0{cWqC0-A6^n|CHc10N9lpx*KTab;Cf}bu_&Ys3q`AhEjP;|$ znt5#xTfs{H)Tq|wt-A*0@5So3W(87Y^_$2Sq|9=7VqhaRra2H@G(`G^`!#N`layxLPf3A(_IJ5K zEfpRjxTgE8p)RDSGsue6{amaP$Ie={l)0)Bt^32hCRv6ww3OQ*wxc)r5C!SMD2D?N z#mcE8pHzn`)n!D=T#i$4hydkW@hfD-C3PK&_9lWJAWGTG5X#uu$u{@Js2D(~x3QB0 zd5*KjsJ$pQIx;R`ja0`vr3qY)lqn3MQz30$K!SW5J(2UJ)0$y+FRe^kYU5ATkU%>c zH>&}6Mo2>%(%CABPAt5JRm(s$Z4p$GmJF%}{S}&dh!Q@Sqr@p&cA)-d{inOuOY^*a zW%lOI*@8rX59w5|(Kf;&cR(zh@M!zTZRR&oI-EgjNS8Hvl^x2SLbkyZyMt5 zUx%G%-i^9ZGu5HpYsZ`<#o#kcc%Fa%h2}&uvDy(POVF? z^=QFSfj*FCe9BZ9$C=(aXTXNd%GZW1Hnbz?T)~D>AY{sPjg%=#Ylm9|>nZbQWZ@hn zxiQlrPcHq}YLZdo=t0Rl$qb>TE`8VFS4*;e|3r|mm8NlN;D6etxU+US+SxU#ftt`~ ztq)BZ8pRAdp}?LIEB*AJK>24wOCG_4rAOay{5Wd0fT*f!zpu)9y*o6)aW}U z5z@d8mDPaAh?rtx3`Do#| z(%KRo({amr@I6Q0y)G|-MkNCi$3B9{IYW4n5w9xgqWg(F-R$xv$S!~V|XuD$KXi(M7{&sI%GIiqbqP7 zXJWUF;k9oB#gkV_l6SYv#vJ(5IBoC~26EkeX(1?WS)a!bX9V)dz=Dqk_|qE7RFrlW zKL@eA9^ul5OQC<9P8Fnv_;_$*7_7?A%jk!n4B4~eIiqeV<-s>`#?K(Mq{l=#;a(G*^$lu1!t zIA<59oH?YwXuovW+$wI^IaMC&&0Lf$@u%XPI zHkfvs^P*HWR#6Zj3y-?$A|t|F96yT*uJ?nwhY;sGEZnjLk#la4U|W|R_?MdoRch1W z!SCt6nj9_tRoNSO&VKJo-KeKi{@c_^UfsZ>!=f~#SL6|hnEQzl^9%`!aCl^*T(2fC zNzPZn%J3RdpF8n39}PFpUu8AWeOm{V_YHIUDGKfW%hTDV@?oTONl5ZtdbGLmeUl|x{;1$_sqqQIR zZHqVoO^XOy^5nC_D>&gS7Pa4!CW>-S0FglZmb%|-bD!#;u9I#A3TRl$$ON6 z>b!xD+th+0pb5npF1^YU3n76a(h+P$Qh;cqbkviWhLZPlU1?2b$rf33Qk3!?C?z2& zxlE?+P$|apM3nMi)%dyYk49edI7#_5SvPh@*GHncMzGKvlTiVUZj)h3)fs8-&+Nez zY+RlGN;i2B)TBGNI--qdlqL7TP0j#O%jn@tk~#P92{e=(#u#;q3sFn6JkjRYTZJc? z{6cKs8I{(TYcCXBokD9|#pkt zdIElwXZz_caI=~&r7C}FXLu1}7d_w-es1)ejHwx#*RueMvl;cbv zE~0$$ii@h)=%BnjCCjz)+(Cd`0?ArdAfej#nkk&l%h(gNEM#ZQs%s|C-T2T3A{{xp zyZf{|;hT)+I^d$%KVAkCUJi_uMIpwmACVDt`H&-D;i#sK>FlFM%=AS9M#Ul<{%-Rl zD<6w>mrD+zPgWaOYn!(cOipUu0NO=_2>2C}<{dRTrD3GuJbBpEof;U{@zG~zc&InB zS4NSf1vt27kACMg78lmEA(+Z*`q1QWm;pxArMrbVecKMbrvH-2FiZk3&zC;kSO+Zq zX#=bL3|RTqJi{Yj*LB1W{twNxdoIFQ^Gb-Mk~#ke(gNRivJ*P4E-#8^rJE*ih6V1d zaj!_@lJ*7E>gS%P6ROG)pA`ddXkt)^1gBfP#*T$5j}v2CgxUBfb&_RYckd@*SA_?6 zkNPIEpOlcvt6k`-HC56Q;e6JVpWj$m|5$0sDfT9k)Gp*WASGU1KL9sOHZ|U^?u%cc z9!7e&qU<1(9KW@EwS?@x}|f+IXrr-2D+5LC;o7av6UU$?7##Hh3<|iqASiU+R%K z=5JZI=wy|&3!je^0n3E7rfoEDf@g(ITxShb`IVpBUx4YYx-cR-_>p36gU>K3 zRGcFb9Y7PF0n&>JqgY4C2|<#+Qx+`VkLrusHmXlM2h6PGF%fmbHx(TS=p~qS zJ~0bW^1)#dHKdy@&GkL9`zL^Gt_^W|BkID8Dh}U=QR1jt2gk+Au*qdLOK z354->L`!b`tKD+lSrSL$JLNCjfk66HSx8vOs7$VTe2rL$aRUpdTex)V#7?_5Nmb62 zyRvUnZN@9Pbh%_?0M_O`maVULpls@pVz2(yPz)H1{Cm>hNjNmi06YcO%gA z`&-eZ)>xJyYSUR63)K#;WdPHyygiQIT2DrHWpr%WeV??}G1WCRbbr}-!apeL8j51q zDafou-1>}VG$opUh(jxE;aqKN4=xq-U_h&@DsomXcdZ<_X#X;y=9!{cdYB=2fvm}_muCPx> zrN?V6j2|z^6LT@)3@wdsWd^lMdK$%AupHb$)Rs4C!NIF+n%z&v(w3nI8}|sZ9ho`# z9AcbQjm|TqM!YqPJFyVC0uF~7V>eeYpGJ0DYThl&n6&C0h%v4tuG~+GA&%CSaD)45 z^pv_Ev6X0g3LG)!D%OuFyY!eocH6Tc6}^y@-o z`~|QE8PYMzfpi|{CWlnYJ)~nbcP2)y#&RS~(sI7yJ<|Fc_{PaOIBRCfY}?j0KMCS4 z-E@EvfiyD@$>@#Zbtz0F`k6qc@3&iW6Q=r4K!xsxA(ukP$+WQNMLiup?<=aq4+uhl z^WK_DSI=GUTgq9kQi+icvE2Wl*I|j>3za4NTgyqe)9spVxOO^P+aBCiLlg~$T;`U> zdESz|HrLF1NQSHj8Un4$NLAR3i?0_l+gs^C(ce5(TqsPmT75f;UPqvv1LUpmkrBdb zPQcpq*Dz^w_rt|;_@_@}EB~c99llL6iP1yCvFLGCHcZYi3>rl}R+s0t9Xsphkh5y` zup_lQ2%U8(Y{6)ur$#4h+GVptpSkSVdhaFGKZTq~x% zTQ?`$5OpWyDJ0hlbTIM?3F?SqE~X7~3kop&F1Rg>N??ZVjXtXZb_480vUzQ@Z@=DZ zb4&8bRYOAKbd?yi!F=#(jJ{SxCMxag>q16-v_*Dpi&DF+aP1+)<{c_d2zA^x!aoy~ z7u(p{zTy%)>viwU1Ei{kp<56{IGS$di~lV|FD+&C3AM%G8d!*O% z{a)pxqUe0p)NE`lJO}6yi@%z03&)c@V(s{ba zC{@)}t}467F`h;!ai~c)b@=9F#%@X*)RWbvZm!cTzxXoXeOBcb!_7ea@zX)s#2Yb2 zwVx6i34q+pf}*XRz|d4%8%4Lv`VoJ0O(!CNbf!;Xe%8(udt??Owncj-(=L^Ya2K6- z%_|;YMoX&+foMFYBLt4hBzUs97C_8X6dszT8}e!D%OZg7%!2W5*>K_FbC^x<9J6`@ ziAd;WB>vpBM)nLVD{FpJD7H_rzxl3JlC6ia5Tp>P#8CQJqfvqgshZTma(N&^yfyLj zzUR?Q8!LOZm{`f3N>^(z$ay@X+tDpzy7)L5-40)3%A;r*dX>~oO%7&s zh_J{LrW^w3pG&L?HpJUmU3T9V8{`+gT@K)yVE=Ws$&UgCYrIqog7`4fwLR3HSx6!1 zfj32E8O5rWYx@r&sJoe;p(dmJ5rM-JYA0cPzIRGLTl z*@3k?c%ATYIgGZ}nOxizP;7mS3B8`_&CNTKiD!_!V6>ToehzAjjgIBzTYsGlZ-F*) zoha7S`=E4LYF4iy+-yq8U1Hj12$S(*|SOZJqjoJS<+cLtR)pMh$|g@|illB*`4pXGmg(p>izZKB6KSEjpQ zkL4uzd2O7v{H{dY#+EB{Ly4)HNmaoAtEo?GvNW6*HCU}kjj>!GVI}PVOm5+3+{j9@ zdo33@i;34&#Klcka-nh|Ogg@T0|>>W5(KER^Gp)4nnsHTuM{jRV95S^w# zCdOvGm;tE$hn=95N+LD9tBsDqofvdUr9bNlwiES3sWyT(s9GJ>3<8}(FU%S-H79Yp z%1W=0Jpt~y7b41likgV@953S)Ar%n3+PDi_5mm+LmVF3pO`dZ1>=ex$vGWA+J>TQ$ ze@kk1@HE5Qz?MIh;>_zrsa+W2bFdeF4}~s2pUS(Gg#X<7E!VGpE^e55ueXOzRXpKO zS>P8&*B}L6)v{FlzFIdMFbtgxBx68x8DSx{w_reN3CeqZGIqX%gzhi-Rua@ox>Lu9 zuPz*-ZdezK4tIw%NBawpj3U)yt-LF64hjflj^&Mghl_^E!A2FD3R2TOad>{?ViInx zuc$3MGoRdbxhd4>5~qWpa)i^jC&u?P$I@fwk;eJ-?J~ z&PNx?Az#36xqTw@%^6w zTcBZWqN(0ms2)X9FVSN($zqEbzd}gf@U`n&Y(liKAc)Vtuc~@m_HQ9xrxO2*?l7HI zDNGCoB`wlz_qcPCBHNn^Pp9~Zx54hsUdFA6F;H7*k5x&yZ{F^p++DW@a{?O~ph?oK zf{vl3l762UDKsbZJy;v`PrOZHDQ_9z6-N8Vj6uMqT+@~7IAMzse*Shg5y3T7_DI59 zJyzQw*0>`fo?(}Z#sK=5c^2#ig|@v?clPft6p0n-QacOP=~dIMuC)iR04~3_+;5hP zv>2{%+zu7Q!er-#h=A!k!t#D$^|s@Vxg&g;?a1`+nZx;29ngh2qybmf$bz+N;^VG2 zDa`323)V&OW8r_-n~%WZsmrt&2dELEsw(YSv5+7l@88U4lc6A;k{x}I#6rGLK8HX{ zoDu!E7Z`T0Dl6}@fj~pR^2iZ0ZmIm@GLOeU#0tCrAu z*PNP}b6o$dJU77{ezfGjMTG|xd{K>fCqM+{>}o~NgkB;u2w8qCP=KaNLxFeNa0NN> zLam?k8#f^jVtXLZPApf`R;=LC3jF{v{olwGNGa2P%E0r@&4Z@o&u_i(zgTB1zzh&C zvKwhw&V~aVEl+R8xKa4p?XsQw8&OdA zX)7i%%gX>lpm(GQBK|lj5B-}j{x3fwgD&_6GhF;N<=>5~&x7y3N6ll(D+yLgl?-vA zwMH%huX{3UeA1^2qQhzB^R)Qzc)3u&XrqRi! zY4CCF!kzKig5uN{%$C=y=LW$hy0k+?vo~W0CBmuRfc|;L3dMtqrn7f1CZbXTWp!X= zFoyH;rILk#&)Y*~4-(D4;#@6Pt{k87DyTXSggv?=koCqU1@R$?5CbF>q z(DFutH>!nbn#^~}3gnB{QIb#j>}{DyM)70=KMUYBU$}CK=*_a_Ig393dACk*2~q^O z=Uf}0);G=w8~R?s@dH7z9@A^)4jp)5I77gVnF`qUC2&oY#4_<&dCgKdzGD`}^AyOM z`K!ahPvEFEhPUTKgo%KS-Fkx|TnEdUX}8C7@n$t&$fqI%V)_U#D&2t>mVbji1+M`v zO_la`+`gK$oC`dq${@4K(BovZ3CrcF^acOBec0t{-Z;nGYDCWcjR6JeZJCem!qlGp z64te{S(0mtr;285(14+-6@f(uS-xJ{_u3)BO#Pm%UZsIRiuaK25A;6Z6jO&Rxn?%rMWTZQ_wE4a)b94PQ0~sULNuA(n6!( zs}qk_{4m=jReOG4XxsF(cpxq57H)@>;KZtM7%xmZ=eDqCyOduqp5rr zewIg2rmkzHeQlxv{0E5x&*oE!ikM5s3;wdPMz)Rv;R2T%UCOCIhIXo7)fv;zDZ|g8 z$h$4QjVBRz(j(8qzaXK_hSKkFz58q16h|Syl2iuI~c|s_qEH z4bx&Tl1fUG@Ll%Ht&5w@f_;y5%_vTM_V$MImPhOb!1oXW-qjW(_hA%z~NoLOb@2fZI#>q|gPUI@woTG(I!#$1|+8R^8y<#NH#iNKwX`ZMcn0dPxqG3j-ehKj6P)T+llKo}?0YA(t!oLfqrsSUn8iXO0GUhxsS~zuOcUJaZaKg4LO` zaYF=U&1rNA!5o0w5^Vv6P3C@)^qM)LQ{leoD!me9xB_LBInr16>H0CKqXYRjxl|l5 zi0TfuCPmL;e7|g%m%yuiKXASL3_2RZ+b_A;v#hv}Dubwh%;?M^NezUHZ^%R3qgaTB zi+^hhTf^CFWLI?9>nu|x@S7~)ifNKQd-eI>!TEZ}Gy3G|if6#X=t`rpAMAFmHM>*a z3(;!?^7Y9B{((PxGlnPvlg-E%ql_m7w9LN1D4y`K5(B4c&D{wG0xgE7_KQo=M$r zA8^)$Eu5Ec6nf(d&b|EK^7=F`NO};=8vqD0XXv#nkqp~m!)vXT>ogrrkK^Slo=(Ao z=bPV|L=j$Z%d$5)%94PJ=-Gob*=Uek+=ck&S}H94l0n&hbYJ@ML#{8i5wiDBFPx4& zN9Ha_nkG{+bvu-RT;nw*NBoVhTFC~$|8oJdK6yOER^GsD?q<+&_dB#?A&@rTWU%g* z9!*(*7&XmN-M~jMP}ji94b60V2lvr13f)~U1{8UJN=b?t?6Z) zzS5}OKX?-6>DV4{{1|P=zSfuPe*E}#A<(GB{}`VJ7835kI~mbr3f&PgOqY^vRIw!L zZ#heocZ}wwFrBL?b6I-X!`)nX*)rb7pq;-_MjU}0bs1NZY*0}-ytB!ZHa6}Eq|_a3 z2dTkM)vOQ5WV~_jfY#vzp4!Ho^V0M$cfP!C1xt);ZwqFi(=GahH~`JT-*a_mCOZ3* zd~v|+<=mOCm2J;}3Oj!Ir+S~lw2g4XFT>9bI=!(2oKKfw`r1xyFC)xEm-K7M`z5j7 zrEx$-4#B2QOwhbo&ZDa;S}FTOJzeH6z5q4SXj$yn>wxEgrk91+#1_Bfu>pLVtvHus z*|gS!HofmD+{YGVu7i*S6ESd)g*OCe*RFMf;g5GAyI&S(amME{bY63>tHTIhqe>w-}L zMSvIn>urkv#ch2?|0K?!dNc?zUw>aWc&+6*U!S4&zg!&q;i$gZdz|j=WNQyvLY#0I znYf+y4Og@HRM#%$5Awcmk2$EBMTYBCIxQZ839DZr>{NJ5rx{yr7g-cn+M%)4VX=uK zHUH$^J7^(8L8S$-VK+OqpzV7iMB=t)yn0@<3riAkm;YLRrBUnsG^|Y9xaIyfI%C2A zJ^2 zt^L)eY(ZX@(of!sU&AM3Z-s9sp}7anfcEH&JpBb@?`Jy4_$;5j<*|%~4e!_avBm4k zjW_65+D;pOu*dqSO5@i84J{QafIG)$cr%1{a9)2QRFE`OGItCE0#BCU4MZZBr%nH4 z`iLD~7|}GZ7puDE4l&g&%u(IqHq|I0kY)bOV2&GXd`J{D?hSrA{KPQ#jmG%sm^&#+ zuLEm!w(%=R&-4>BMvqJ{%vBJK^M^orE}fICA1eJZ0)86tGv}YV+F8uX?2+`hunx#P zq2%HaNt5syXdztmvM;zL%FEnyC&|h9`}1-=S=!x(=enZPt`Q>N(Ji}^ap&#zLZ$yz zb9is_Pz?MssDzJ#3B6^exP_5Ox}~yA!SOQ;6aT940tDZA!od%AD#Bxov;zvbT=#X z3{7|%UwRHdN5o7)wq zfTtCH$F-Kr5nTTp)^^d#n|{CZkQ@Co^6$J}^sC#tq3XI*6xZRdog1`tK8nD)74LU+ z;WCrMSWr;aF zo8M_aYs9eAz4aT2=4`TUI4-$4IN;48GU<7PHll-=#~wro#hZd)hS8xWV+v_D9aWDWj2hvQlO zuCB)Y=%4yZfk(kO_4V*aQ*kUo=gZOBiuMLw&9;~_^Qma|onI%j`}L#H`RXduG}JT* zI6)ADxDW@7HkHw{Y#IFd?Y99ERAWT@&hNCOs+;j*c@{&l=V|mKcSIeix%JsHgM(yE z@(0ks%P>2>Y5YLJDFj)Q$4-)uLf5bEGMGOK#Pq43%I|(l+ZYkl;tPW{I;}R{{%g#h zmP14c{tD$n?p^pnCbp5_>2p7Y2o{~81hpKrYRR$9A_HI|5Bbc^KUvbN%l?Qxh;`d1 ze7;n9nnKUTMF4ngFNE7w2!5D3q9fF%F8Jji~+(;g(Fu4im+kb=D4 z5CvRz2AqygSS1eMS zzKd3|7-G_Vl`}LyU)ZkakC(CR*lbkL`+9EhqVrj|O)NYw7H+7S{GIj~F-6qc>BhYE z8RT=nHR1P?lKp(bzVZF~I3W6%Y~z05jsr{L1?Ic)G(hImhR^|nRpLiyi6{JRC`!Y!Y>JssFyXc(xeZ5u$ELkB`B;Z=#`(Ln>GOW zRZQYtAEWU2?ZC%e?|iY78|*|BMnC}I8FH;;0aHghp1sI1w z<$hIE+?qG>k_7mWAh(9hll z9E4a--NRT(P|GKtI-kehQuO*S$*S||x;_V9@kYbY>Q}o>A*Ac#<>=|9dKh;-#a|~WKwl*M{hcE&DwPpitA&OMi7x%$_bE!fzIB(%%+ey99%GVZn zFYR`(64F|V!^D&|{bk!ao*GhaIPL0D+xYpamZ-Pnmv$k?dsa-9b@rdOe_ze8w9F*I znSX5Mb}=Xy=G0EH^(uE)G3wAkj~X`Qm|uiXr=ijO>u-KTu_fU~%V<3B&<#{40Uvo{ zH07={9&U)a_LL?MlIol%zKo=>has(uDE8E;pNCcW<7b+uIrb*7D0;>3&AwIDRU_N_ zRa$grS*-Q$C!>;H0Xm2&%pF2h3-;3L{WsrbOlhbptHBmT#tFppjqu5 zLBYNTim!9~olJ!@`O?;Chc~dw&WCMZr}n!SvH-s)Pp9_VWqqgTv*(R=SnG<@iz_Zz zbd3^p73x}2pxxRU|5MXK8?^@8PCRk|%vPvgb`gc#`1@T{GQE`!~e6<7Y2Azw-GOsAu@* zthKT|%oifm7|?7r_?x)V+Z7~9V4JipKuDl^&y@=jNWrXpHV&DuQEePvJc$Vl;YSSf zn?6e;p1YztdLXg{xfL{j7T_!$+i7XiZ$RB{@%hJA&rCR+`e!U>1}I^PpxpT#R&V_J z$p3n};MDGQpxxx@b603pU#$y$58 zcjzHopc(UT|C=;jH^!Ht8*$Nz4spmrJuXlh;&Wxw_w!i(koKn|E|~u-=&`oOuoW@u zY~A~=^ZAj#bKrE^HxLNlo!e1P&yhLm=s;w!sOCz+l^zjUEoGxM5&|O=7Wa$qH?@aO zGQ1BqFPO=SALx=2nor%633Us5#R*tkdQKBxSh-O)2qo=%;28J_2>FRPRSTP}v+!#bhxg1oXKwZ0tu5bvqzJo@X) z)DvXdr#@~FP=6|7_z40T<$XDtQRueZf!5(F$M|0j!~OF5^KJrB z1X}iBXu#z~uXOMF`%G~Y&j3J@(pVS>@mPe~h$c?h>{Z&SEFF=~?4IPGJG)05$$PJ~ zM!Wx_RX!{aO^Wj0Q+Vj3tH;rWGiGR;P`ES1F(33q?)dar^g%8W-x(3)bJ77~dNF?U z!u9oWiGE>sPbl^a%{{m>5xdbH24lQ*a=L+e3;mGUDO~ohI?xWJQW?s^ZX^Nw@TlKw z`tP4$I>rGe1)SL$xo>urdNV{Tx9>%g#}Ac-W_}Jzvv39nsS;?!ZcvS zhZ;ABWcJ`?Kg@d3UM(YNnVt9hB9D-HNh9XzF94C3dy%t}KuGvqHMH3mJhKzCq3VD6 z0#dt$iOfxXJUzx_;_x;$Ha{S_Z|tD$szZO300F3Lm|qEiu@j{NA)?;^oJ+fG+@WC_WPrPb>D7c(!tIu3+Ong%ADW=rgJ3aPc?(;*+XXuVhT%1450!7koU5;r;H~yAU#{9x zWz#!AMde3fDx&V*IFmN9nC0re7*V6akK(4a>-~70P9S zD1`k;i~As4&+>6fzFRk;?Bp_#o-B&DqqihozO+K##@Qb{qh52RA?zuKH+yR4jn~Y} z3BbdD(nQ6C`~h8#*;qIubo&=dzAdsJ!OLpa!X!h5{~{lykadZ^z~Tn5)>jMF1+zr2 z)81!~+)U!6-vS`ChjserA5M=)OI6H-Yw4L^42`|Dgr^ofUDgzQwbk@}GF?HHFrbHRZ6Q|1bk<}&9=)Q?a=dWuXNPAU%( z>0S%^&eRRH+H(f{09w><&u_mg>`3u^wSf8&pv+SRu_M_bg8@dU#@}22H-|ca6WW^s zVJs+N<7#*K{?q(QSXFA-n{eK=!ODQ%xxdHN*sKLz2L-`zwo;N*4$|($WSM=7SbD)5 zMCW|dhzwuN4Mh1Yt5%A2iAwmP{Aa6u-2XyK*0O;U6&e4VL~>U1{!8`_jhvbB;2Ptp zBG8e^on4W2!Dqt>=@s+T&-jK>wO%|vxntuS;sg&{3HyAKKTu(MeQhgSZKEN)KY&() zZvlQ=n8u6UGrt3vK9;^MGF3!dtV?i1Y`H!#CMVT(NWeVpgZ9ySrX75dyrkW6n90qM zn%nY-`E+FUr^^;{>ju=S=cY<%Cga^gQnfPoNz1_lj5tTb8?bqaWTt( zLFDk_&ae*Tmhzt6ih0=|SN6QTSu~^aZ$e`Dp(2B4O!R#w+;{V4rYzvj<@Ii*?`@_q zc%Nj~;$ws?_g&2jt)is1T=>|1`WRa;MXN`mYR<1+gQ5Z0_N*9mEhIglq|J~VgiDxCz4oqLfy^9^)(dJC*c3}5l{5*l?m7VrO1yoE3p;)h5fg@CT!?RNdcV&z?sHd-y& z3dR>2yhFB32G$cTV9PlwPAEs?YF<<6o~|z$RD9o;7n#3izdK)Rz3b11HXmd?Wxrkv zZoi&yw6afS*&09wG+IHWW!I5A@<@XOPNmW2hB^_be&m|6^o_Nk()K3DJO_Hsu_hdA zFA!&AmDZ)!=H&hSrrfK)@j$1t_HlPh0Q;@!pI(LF|Uzi;|N3xJ2uvgRhxVToO(9cPY-QdqhZ{+5(X6tEdVOCz*^7?o3@1vt_Sy_z}uJe48 zpI_tY=jT^e!j}{&1qOTB_%LPcsV1zafLxsy?u2WNjrybN+}zxq?Fe)bhA_Ky0(mfd zesPcr`jyTH-4l{1*Luo^54H0=4S<%L>*&$;+@lxn+=?$xg$+v;ksaXf$gu453b~g# z#~KO=J;V3pTh2+FNVUUc#b3sulXFR_o}?`RtzM9V7wfUD3kk*{7fzt#%yu_*~vXUKn@@ zj8!G9uUxzjQv=rLi;VYfe~(y{lq@J56P8tM{Pwj`eobC-+Mdst9Vev=b1S$UAyb;|sd ztqm@#D9nR9d zS2_saPtu1>e}3<$9gUkZsw|!BV8dA3TWIp{w=bXz3n1|=_U>} z^zZ$c7upr_Y|jBnDBsl-8oz)-^Y9(MeodobLpj%20jWt*TKGl9^tw=En2DKH`VN`x zHWF7gv9ZmBE!ky1jF)V%?75&Qi-#CZy|0H@0m6lF;L<-znm~zUQrs;2Ui`6jCTxkCyXrcLzqj`IT|gufpgy81Kb{ zh|Ch{dU)f(S5by=Y_6>^&DGBMrex0DmiI%IorO)>Du@Y08d>MC-{PxGDI4Z9zh4PS zjycH0QHB6utJChp7X>U`h#34gj8{*{^E`SoSkp&=PixK@e(THwa zo}z)LK;niZ)ZGUc6QY-sz*Ro8Y~w`78%8gx9l!)ajN(^6#it*O3U8U;XD?s%cL&ctAKaNEaEjYz0=R{8D#OcPMn!ausLTpK`B@q?ZXS-v3LR6rzNOTPlDm#xk{t zq&O;~o9nNSM7%w$YSDaVcVYrr&cR`$>($_VV3W0)`am#{^+PYmm|GF4M&^x~wn4m|urJ_SMMjD{iGV*#Q-Yo_`p`)1JrMhICS^V~w!eVXyL~%EdxOF6 z0w^bZg*YAh%UxUTWGOm8h!!i)baSj7nOJu#@oq(tn}ZuYNfJ>qjl9^wOp~;)Ga&Ck z;i>T4|M;mj{~p}<50F$%Uo1;hO3K|?Sh$Llk|3*Y$xjreV8{wUWw8uKv~0$?4TfKS z^s_5%&*-u$T}L;mED9*;uy5bMn8{U9I;rfuvrYp>H9EHyR!%v=Z=)C6D<2z0i>>ll z=R|$KujHS#v~l`DWp|~&O7to?5;|d(gX2;Q?qG-BX$(4KB~_f8kx1tZM)PREep8n$ z@c;+v*e~R{RIQ{v_UfI_-rn38LS4AYe-G;@J?0Q*HWnA3rFZseC4hghz%|vN{B_Gp ze^3Rb-rC415JuSu6`19AG5hRkc4{603sepKBuF0c$H=xUw~-BgpguUyc5Rt^smUga zO6BA& zgsZ1^U9=v6NMl(0ge@^C-Wb?&$?DDhqrLQhQhO>GIT3B$zw0b;TvcDCx_QzocZ zjJ`S8wcCQGxsD;+6+{V%>(cFf=s(Gf9~0yh(Vq%Xs@NPr7x)HR&LBYRk0>=qokFiK zV#;O|$IhBq-SRdP`avP(S{f-L#8P}%P&FQbuQGRqB|2O1?3-slO5G3E*W z1ePTEtX~pV$vx;&Jt3M>jqZOpSnqbR|*R$RyFjEnK%&9xRUDJyNk z6tTl1c5?I)F*7f+;3+9*V=o?zXiDC~xuB5GDS&zt3;D5~&~y1)j#$?wQlUFGpYq(a zvWWJw`d2$CxkrZzS-M7TjsuNm#w^>Du*$@bB;lhuY7hCp74?ei(WvRxoXS;t%v{VG zQ>ZO7H9E`*_amdByvM=+&jn!Tx+<;xQ7({+?ADjsK&oXi)`0#Asb+87hg&#EzXCbF zm8?09%c?rfCumxye5bXH`?$5ae2X@f+kL_Q?sj}T=`!*+aoFRjZ1X3j$M;g0%e(Wb zJ%2grRJt7FFq@nc6^Us8e`j#2k^?oP$>^C0tA`(&I2T7LHF=VQ7%fbv+M5+s^uqau z$L6Zvn_TXX><;1mJ`J;MB`R8xW5%R6QOZP;<-{F0{rsi*BcNn#$2`QZ$Ec@DmtA5@ z=fkzf<~s~c2Bl~8pP~3=>B)1@dYgX0QIW4O$_}7<-~?L(NqNVC`82;Qd`wuvkQ@9p zA;NFu#))x)4rJZ+Ru?7g*`GO%qo+N(XUfvOMd$LUvs+#ZJk1Z#|+hcqv`E-f2t&8z_Knub`Xx zrbX=Ml=vT!Rtn0akikXjuf3l#<0%ZPr_Ru;;DbfyGj3J~Pm83Ks%f@{Sr-}o;ni*e z;2&kQbGCmc-YgCuXyoG~0$8<_`nXHN6_*I*w?4y|j0uwt$FjO~HLN6q5E5i{vb!gk zG%9r3I&^K(Yu!Wt*c#5mjW+u+%~~ddvGyl0hex|XmGJ1)NN{$0EH{q%ROl33YnaO< z=I%w9z92zv@?+m5XqC(P(O-rF6{YSApMvO}P0+gOxs@M&8L6B)&1UtNhs&H%l_?MU z*u?flrt%Ae`Hqs))qy>NXf+ffpjK{~T2e?eMoCdT8D==mXok>nFRst* z{p`Tmch7?5@dyNl)M{%wJTMJ;yk()7)4KP@8CYw@!3Cce$+ zYWBLAvHgocn;vYTpx$Jf6q$Qjatm#kLt^)XEgl_4uX)%FLTZvWPqJ1$MV}nYm2SE(gqZtzBR5s)qZqBCOL8*H7{mR zVqph>OHf42bMm`03?8;@_e`6c3xIqkKB*3p(#wr}`j(|)BN&ZtnG>kRKHDF>EB4Ft zv+t6U+#lO@0YQ;uRLXdz$5H`t&AqP!CKckxB=XU%lv$-LJ{ersg)F+dw>3p=1HX2NQrRI=+!C))I3r?=#vt@%m;O}eupvpm$-tl2u-MAf+p5*! z6f0AGeKM72+o#4$c=>&0%FrvF!6lU}HcG|t=T)y{2J9G1)t~{ME|2orSc$3{Na^1C zVnpB|R>SOrvTs@{F3*Toj-Z#l<2Q)Vbp2htwwd#h(Ga$g5jJ@5`nbADqBSF%`Ui-k)sAkOV!rVi?I-;*kpqQHIQLRqq$j zpXLt9+S;@$?lba`+pMfp{#gtQHiKlJ5H=%!v?Owl_j0Q$iNCHuv=r$m_#J{zgJ37U zc=XjW1Ce11>n6OH(!i*7*t}+?-RNJwbCcMnVwFhT<_KqtH-$v@5lh2OF_sQi-ekIP zP{JyI&gFRM?DjegjW`p~s2-(m1oU=-gkz!SPFTPY-L{1lWknD|FR^{G4H)# z)LF}`&aP5<&;BrrIW0X*&)H|_J(i$SOG1xorPkvSCCf;Fc@KM=>GBEQ&;Fmh9HH#= z_fX<%72MOJiI9an*DR_AcF8m-6RoJ~Oy%ktEiy5b?LYNL<*HD+qWCun~bPy6iDG4!Sc_EUch7mptB z6ITggzPm)b&D}VNqzg`sip&=dn%;L21=*EV9SoNdIHy(DQ`%!7%%u%Byg!QDn?2iA z{D}ie8y`!$WwjKbXOcla`t0p;BFJBSA&OshcHV?NrNywxYZ{=Re7_Q3?PVA2(ly-h z#I=a)rASzAFeE4Rqb>?3ACHbGcH-b}W}mPmJ||H7H%W20-JTVVea+Bk>-mXqk$D`- zKSP%X6%TF=Y$nE(KYT%kjd_ei_A7s3aUOez3-gKWdzj815mu-;39h$@F_`d=pul$D z6T^FTRL}EuJ<`!V1tD-?kpO4}mayRYmo3ko@?PpkW3W&#Y6KSe=G9_mWXxTSm7M6k%j;8-(7htRqLgK}BQsC{N8E z=yA@YTi8?pbU_WsyF&=kzoSOnZxblM&x!xNJFjiojPxHZj!k?U zy;!=!rIm@~FmAr0uQ#}8n~N)X_=*XxmHOpJlH-4Zlbf&A zcyCrL8Sy+Ge)Y?ig{O|u;>%z0MWtT{lD{16nKHZmO}gl`op*Nk*^D{D;?M<(cn0Vk zz2_h<_@TPR#JcA@QT@&Dt27UUdxy9_}$b_{G$qJ`+W!qvSrh%CL{AoE5J>} zyw3|%+IT{^P+ScT6`=vk?r;|? z8U$klGh+&FsY(Kzj~0CUt(^Z<(W;ch#L;;!ao$HTB=V^EyJnfVg%;&;P6)t^k;d|L ziNc|X>J)2w*KxpQDZ|>Rlw_;cir-H4mG&OvH=Hjx!A>|@Dw-5*ljMK+DTt@(Q0)~Y zI=-!>Y+)o0R&<-VWAuc7!<sl+8c~j3DLWJu z3}Yk@7F&MbNzIRYlHiYM$ZQmyiiVbNGEJAtR_Z2p?yk3FE|B0PZh7(&yrF~@;?(1S zFH_J4B4WD;Vl$Xj&CdH+N{O=Og=1>#z=wTBdB75{>{Yem=-x1^DTh;~wEIQ%>qgS) zSoGd-G!#6()S>6Ci)ydOpMA82-6I^ds`GNshR0{KItImZ$;=(elfFdx`UZ8wuWMb? zi0;e$m1m%|0BeC=ziLQOgfxCO@`vBdBVYCsb}w;C``_$GIvkYp;VX*U6{F3il#&MF z>zKuFwK!z;9=xd>$39aOdpdy`to+p}Z}Ui{J!(AeK1ybo8)TkZK`N~E<2Vp9Nw|)) zzffP@7~J%6Rza(tOHmvz5RibVhJ9gfFlVEYffmirV;0=^x5R2Q+hlhIrVZIYz?N9Pf!jlCnm=nUh0zw-4l^Fy#<)iMG zI9y7?`IV)7w!p0h{>}Lmt#G;b-Ff3o;9`XY0ssoCweGH)cJt|B1Lwr4T?2% zE#^Gp2(Qv##pm*g(4WkI4iKbYtL<1~lc8A0t4CqvA)38@G)DO=G!}4Yx6tZqcTVu5 z$Fe;(CSLw?Kv9RP6YW8{87Fv&At^4{QA0w2)x}QfkCSOjCf(=Tya#bA1N{xvAnK9SVz!_Vmn~XZiDmFCo`qJ;ey~<|y zv1{R$>|8@uRDc5kSZF`u+MIe4Ha}#1X`E$Y)N)&wiF+xDrK*&Ri&~;4L?-!1(y{JO zNjOQ5%JYx-rO1<`A;{vqC0S9JlG|A$li1j;_^KA}4Yq41_SH&;=a#XC@QtDj)Rb?9 zh~eJxPh;vBA1yIR>PB3e`@hht76tfMyNl(ZH)mpH?~N)20z_+se@_ITEkauL)5sUz zq)TNOgJt#wjAW5a+MjY&y;J6wtOOx_F!j=MS3)O>4Z)Xpu_(Yi)32`|v9>P`2X0`u zXZ=ataVkn3ibv9&3q{Dj1Dd;=)pftwcQ)j0H@0c?2X0e;Sr(IZ7UyL^9aYGdF3=vM}q=~9}tosy-V#K-4;hbkuTe!sFMAy2Kmf@<<18AJzhXoF;g{l(RT!>zHl6MFT zh^+BVt#G%bWw11Q)oMAmAX(x9n^?C>Pjx$L!tLugOV3tU?ji;S+0YVv7mtx$e%kAXAV3N!afnKj;SD4U^ z6WA_tGSMSKa{X^1dU&-&V9N}w8fmK}K!(n_ywkPDk_N^4*i2d;kP z4*S?vq0BztEgv?GPF|$$D?=Tly5A*Aq%Ir?Jj$xyOG;{JrYy!Gg&Ga55tr;~|0U%h zk$_sPi#^mZY?O223M}PR5Qelngj!GMs5Ost$cXSlvf4_9#AnOfij;q>IsOTw()3to*>1F9qUSA*U-TnlysGue=4%3kFZbe0 z2|zKGQMBelP!G2!9OY68uj8=DrdW*3kF`|@3y%fa0s?`P&IJw@7A`!UXv8e*28Wb_ zxH1wE;sSrOrst9~2P~bpk8mw_K4e}b;v30P4->tc?3%68=8?q<%xk5m(A0T1f!y6~ zXkcvb3gNb&W}alh51T5%>d^W3W0gf^^Fe&Db1$C<>R6NECXip6bFWRbJGC^M*PQ|v0FeOQ6x*3mCj zY8ZI2Pe9kTS*yB@4nFakdD5;ICQg2Qk+P#v;^pGiMyVYH&{34)nIgN95o^7CdqVSC zL;9j`*O4$fhW-a#9KwYylFRRSmLvkaJh2t>Mn))TNrU)PR0c;`Rg2?YF5N_lzZglv z5j~QyIHWE zr@pbl#;a7M-uZ#ax48X!R$R#e%qaUk9M)#b+Zw?=G4ZxCM!z ztA@InObI6cr9F>(?YAT5O7`_pcUQ3p7d~J2Bg3~i>E9Y>wPYe}Wo#bdypDtbBX;Hny7sAuwk?Z=XGs zzDK;mW-5Tm#}x!nPp0}EqBGE!MbtFbWSXfr(ug|fLl+7HT&t*{(Ts!3pFmS^SD{@AO`(OUk`$D)jcJCNS; zkbGG}@i-_m-ASPb7OjvE-K5NYh8CPoswi?0d>oKB4WJbmRUOBJi7~P5YF$B zcVm-VAJJ*6p$s)0)G_~?(3D&e>DsDEjUCBxKx^W<=f;gcAOwnOeBYDO z`ESuIM&$7@Kl>lbWcDr$Uvc(z$M_N1cQQXlMtcL!h zvQQ*iv-5HuHR?cug7j&|#=gi6-3_>-J=*!H_c)`uTafR%?}(=s=y;=!lL`%apU=Ur z;@9bQt`O%2AO?Q+%4??A`-Tt!;US%P?8>o1!CyY5ZdG#)xH3e9({w3mq0(y5xVA6S zNz>??(6xZ3%1NK7MHB4Jv2I8e+hUT;gX#0fdDe3|xGx!coF4yvFf=J@K?zSSoM{pH z4p#x{a|W25#!T4ge(KW;A4?P9Gr$>j!s&H;iD)0<{9O5C3sIVU;}bX0p7`&FP)?uV{lbW9ZqpN)j!I$G3D87Y^%mg@~Q? z2psxIr6z}Ib@S;&d>IB2i=0(Q4CUwo@A#?6EK@e5!59T41lW=o`u05g%cCJ_rsxB5 zIKEB#OPx+kY#>cRr35Qb zoZu~5N`ku=cW7{TD^Q9{a0pKE;!@nTxNC4N4m;2L9s3U?S!?B%=dk_{N zt2HDK&0Pk9{0CbSjfF$as{%Jy4GCn{$9kInTrQ8AEB|t(!0>x19OSCp`E?3&I?XC+ zIe|S)K2gB&Wy3-|5jH(B@b_`(@vq$+(k{*cTz|nZo5GZfN)yHi)5`86-}u(4&M$=o z5`q%f;5)ZzP8g&cBIo&U@;9HIs$(jMn(QiQW_r3ftK&%HM15|Lpyz%{y`DE@=BDL$%&oN=)!&^SB)0r z(FZ5M{^D=Q5vBawKX1d@A2>Vv4$-Gm4RXYiuYIv{q(01V7xNz3rlrYJW$* z<|-HCRVufI*Acb#*>=oFkXr`8vnP%28utUj_~UAH+~giHF)xi?iV4P;#5zry#6FvS zpJdQ5#q^T#_Vv)BA^@Q$AVd!f_iZVW!;fWZ$J6!A9tj$wlY<*{;_%OY+Jdqx+Wz4{ zgr6WnQiEvx8S?2GkcYlpcZrnK-uuay^PZbEw#kIVEaV~oD>L|3`@`*=GcfWp*Fa6Y zE6(7K}5#q^AE$^>D#I0g}e)S4CTT+3LU^zeW#A4%WeYg#}tswz- zd+{CWdY#{|%XFJk_a5X1F=4`^m+-GU9x224W$uAK`yl zW1R}Or}GnP(xUU54=dS^r+a#S{~dJVql2VzIkOlQ?nb7kPYp^2@P7yarMj|pMskBf zEZGQR0o2Me9$s&t2WPv+`T8o6v+tkDyWMT=QRFx+-WN_QpYC)W7dAxx=`7(SwjQrH zGT{Z6mvXvxv&*Sdf2w;28V8y{Y!F^$#Z%wgpI3z`hTV$T&u9^)EZnMW>cqxI?{Kis z{^I$AQca6J5fh;CmUl!FPspsGlZb*LIg&L)pD@|`kcevdLzgn70 z^j9JlridZ^BCu3%J2#U0C2{0;F}e6p84B%7LgtPAi~vBK{Lscbf}{{v}Vss z@G5t=_cSp{YuH#{r=pyHBT7f{^}MHak!&a0ODF7)bG^Rwum!Zop@jSfRKa|y^)UjSr=2laEah#Xi0_Ygy~jc*2kJs-MIGJJ3{h8Lh^ViN6|jWC za=x-xtC1SkB4ZxWx9L;pN$=FUpe=*ABV+Z)N1)225%|iBCEa0LO_OihXmo991L1Di zJvlem+NVqN&6-CmmEL4h?U%=&t}YMCbnPKmxn}Llp3)&m4NH4?sHW5{#x;Hp(N5+o=)P4=LLR2fH*oK2 zWVaf;gvRiRD8*~cEn7?qCP-Uoju^2gaJnxOV`OX<&63n$9uRG7@k87IB9j)S!8p1m zkLB!JL095uu|ko~uo;|mqHAK?~cYKqXUH{N%@N=q}Zdn<$f|13Zsjxmq_ z4{AU=Y`!D{L^%Xpu=8G*Mk?(QBiUCUh$f5k?DjquN^9AzeLuhimzJnP*-0t*#wG`t zk_f!`5&&TQ;D-tf^yf34!tof0Z$9m;NwR1VbedIJ=@z|;s)_y$_LmGu-wpsM=aXR+%4C5WprLCs!()Lr@$oBJx3=dstZoZAgv3tvSvXA2W(H=J-QIV$=qxe1BF z6PA^xB2O|$P%{m$yfCmY+U5UDKSKzK_fbdGDB+kcLa|qC3z@h%L|KIX+u&g#SVv)G z7~nhTuIILTKSU5?m;`>raFp@P_ z%_uJ|_cNz1(5c;)bp8&iDay79+l8KFo&8d1(U;uumw*0 zuLcA1PT(1#Ut0uYr2xhzZ8^e1CqhmO*jmMWi*f#L#;@n!e`fs(5y^OZvC`NZpbdszJgv7;wi~+zWxML)b<@3vr;kaw0qcI7gbN5YQ~tP1je*NgA6Swr-C1DwkylEq>EKH+S6WQt zXM5TaA({u!HtJq5OB5GoDDQ%uz&}U2R>3u4m+~VOqXKVU!QKYs+S1K;@M=C&NK``r z5?ZhD`P067Ktc*P=qZFnG$|d13@s=OcQdQ^5F_Mu(y#Usxqr;4ygPnx7}-Rs2kGvHeQA=rFhy>prtSbtl+ zPN=~X43ajMGlz=5P&w&p;R2As+k-SRFbTlN7NUv4|0(aD=c&V0YzMks$ftD^R``G% zBC|h4ZuY!GT8piTOV_Dh{{SQ2cM1Z$e};eK22gZg61#} zL$d!)uA@#>ph69q_RT~BKrzOW7VWyNw1f9T&rEqo65oLKZGjkWYqw*pTf0kjhzF^9*xov%X%1tE%JhI(8k zkel*c6~O^SHT?;>!~?BL!9k*k;ZS#N!7duNnv9^#W^(ZArLON4G=fuPB@n_xIvwc( z0(}(9vVs6RMF`%Zskae<07+e;0~At#iyl1K^n>Ga>)k!oX~)yp=$wS#f#~ zlQB)3n;c@cY2B`^7wPJ6h{VXDq%UkVbNM^{YqA^OXgOCoRKF(OH!i6RXDgCmHbsk)wPkc%&5qwMVW zxF~;0VRLOH-s--mi3MG4dK%Vp?06m<220e7G_CrT*t=T&cK7kAzuB5|e7PJJl<<2v zZd~)H1B+_>0R8sA&`tapD$S7iJffbvYxNy8B(_tjnZQvY=Aiez8OB@B$3OO0w7QfM zIu!sqt8POycuA0b@e213$bJB;~9h{jP7_QZ3r_JSKvG5*_R;H9D^NY#opLi5s1(vm!VE%tvTj zHDCS(N`|&7=m2M-As|;@wIz{Y+oMe-&Dp$!H@)zy;443!bBrmhPYJWwN#~$BT1kKo z0rdH{A78bJSN&iLgRa&6VZ{{K_H=)&e8wF4+awJhEkB5+!e-lI}RD8{>9`*iogDu-wQl=qSkT38`%Q3}nuZO)Cu$twGtf zb~L+@Je7_<63X;%sTFq(Yrfck`o9#j)I4y6!6cTwu3=mq7Z-)6qEFK^yWKHkJMdG9 z>zlPZ_;E&~(bJxm!=B+v)6@Nf#u-RMnPi_>m&V>mht^UtOIsrxG)HOW3EP^89Ec*D zhWF<0LTl(xQP*f_MLrqSW1jdsw+WqI-F0}q>`F*H9gGcgb=)Vx{HwWtxBh-Q0=v8U zpHFN3b?msmQ2LSNb;q1Dy(fOdJ*D95+A1{T7k>~d4^4E#d((%|OGZMQkg${I4lGBy^I=)p z=c<{;J7C(j8NbDOn!zM$63V{1Iy-2>y7M6iMA|wD3Ig=%QRuQiTY3W9o`=ee23LIc zl3?vuW;X*Pnh)177n~NHMu*jB*1qyWICSY$bOeGuT6es=*tdWaslmT*rgebr>t=ok z{cPK7&j%#AUN|0&JOu+v$19UoEdiFQ*)+l{@F#?2`*CLYwAJr0MWS_e;bFJ`P-M;X zU@zs2x8?NlB1OWNBy(Zs;fPk46@q@M0HFrlLZh&k!`M##N68s9x2w-`;44@8z{# zm2va+*x~82-%irY>5i5|`!hxjPAYY*PBMsqU}DaQT>qWK?Z{l#a+-dj@9SyK-dw}@ z{d2a7l4|{m-%9R`z>@Gj5j7lJgQIGiGB*96wE4&*?okAn&>=au!b|Aq^BJSmGwDui ziPJjwcA_fowUSWlOK1cV8zQ*(QTcnkXgU4|&~$u$zyJJndp&3La(gVehVI|~d{5=r z0p_e1v1(V#lFUxa_oZ(p0CGUl*(Cu;Y^|D8mMLd8p8Y3g3}-Wq4bXHmGRK> zLl6a;Xxff6j$zJ1%*^9Gn<7AyBn7zPy0;fal<$q76=Pj+8h!CIxc5>Izxa10cW%y6 zU-9E#6dL_Ks#r9>UvOOCBegy2aLdDVNhQX^+n@a^s4vA4px^Gg z^lj>31v3mKd-3NUuEnspyN7FA)YhMOAcTlaUVQ`@qAcleA#(}-FTatPy&gV?a!{B8 zaKPbQ-}8&Xw4U>G)(C?I0(E=F6cnY!C-zd=O9 zUF!YUp`2snb#)41*${gU>cdf9ov&Mssi?x`k^n#Dy_vI`-$x5SD2-UT$c%Uk&Xup* z$D*U!w?yE(`ID-PvVfb)+6U1j*SusTI%(J{Z2LO- z2$>m5L^4nF1<;xopwklI3?y+wLWDo6L`SxuX(PWAsg?k1PgpK8v_U%05>E*>LBvR~ zn?3`MlD5r#BW|qk%ST@fb*l)7ULHO*i!`4$jo$0|pkr0!YwnpB9&@a%5eT}*qw8Of zAc{wna6z6n1JiKJSD^7d@bQ2_CtsTt7l&E()9CY(fC5m(8X!cv<5V+B$<^};=o=L7 zCaoe>?K$MgKJG8y9mxWqFGr+b#<8Qn2Sc8)yn#wYWif^w0#;;H*{g0P3WEhSdSpZ6 zVCU-VvA-6Rb@!=FqOr9#vOs+}X)LL#0e@3qL~!WpgL0+1=|2U%h*P^BP2=>laTQwu ze%%VgD)rB&ez%6!nwbSe{JHcI25c0$!U%I(yvIH7q9G||j+GT#Cu_FreKZ&^XL>GM zSHB{EgGEdH^vW1WBQl6da*7-~G?L^oUBbP zUIE0>LM*f%yZkKO0zgI!f;HZsnbJk>xTxAQ&>%K7TAOKyQD07uzEr;hm$QKZ-%!ZZ zqo>_v2S3BFx>DMoZ*k~awMx}(%+1p)Z!|yCT_6=T(!Q+6{{D@UdhoRiKC{VFj61NP z8KnmCx>2D9ORyfHJP-3cN1iE3|EB=Sz>MgkKs$#}OrWbtHoTY1`^f*mO6Pp}OdBSD z1wqq~g8lr@@TCRRT4)t2i!w?ytiYZ5+P6+Olj4Y)93}C%-`Mf6;`rgIUHw$-ecmB^ z%IEfHy^nOh^FK~aS=B}ARcAqdu@Y&2ffQ0O1S>ePV7lGo-bcJRpM>a*4onVT0rpe( z+!Q$bgzR%J@(u#DmXW&NFTji8sKOn)u0b?FNs{^Pi25SEzKC)eS~Ph4S()3x zwRcoaGU2~QBL)&APD^VCsZ2mgf?R&3aZkR)bVWLT!kuG3QQ38#v z9e7AS0$mXWFL(}c#3n+T%Fnom$|4|pWbqU#8l*i0?bs@`a7u-7F7IJS&=v*C0H#BY>|Bl)MTXe`}E)wvAA(wR+U{q+`-zAS zUfOUzftq^0mA}Kxh%%NEjFdl?t6Gvb^8+v?sxY*n!08Wn$j#r$Z;U#Cwkz7YH?eb} z03JJIi+k+em8(sRt90?S%?(illX|DKlS8M$op1O5`%qNZ(FOyXxT|WCv~o5-6KqcO z*V+Lj0NudB(jcEvq8v3^@Kg((Ux;9_&smo@UF+E`(YUA-Jk65U{}5$U5kYO4v|XR< zb+X|oaox-#qxqk%H2ObX={4{>NP?}KD9zVvn}AS-PwXR_tBlhe|3omW42R-LK}Y-rlj@U zU)6xnlh_8PL&p7pZ_IvPc6c1F(Cr`~2l?4P7i0zg_k&Lp-pPD)t={wnYirJij-u;NEnfc!6%eiL%CqJT*BJ_ zW&(KhOHz;))NNn*-S3++UV$ae7)fV1LlAO823x*z(IiuT|0BWpp}Kx4H?64BjHx)%&+L0-Vj ztL=EGzOMS7blD#cGpMn0B>ZE@csND8FOKc)P1a%i^`X(4Xp!I3q29{)ifzLYMgAN! zVLcL?!95%KSRFlKjOokr{_Zqb|A6`}9O8NoKjp*^r2EQ#om5q{D0}daQ!2+7=W<_~ zbCucx(Z}BuR1+55+9K~9y138FgAt1I6OWy254B!>PM2S+lgJ#{K(%JtQY{hs0R5X` zjGlk2YH+_w7MHgdu%G=qWq0@n*d-jluWGQ;VC909pLmb3)Z47g;~_yiPXDm-y>Q&F z1JSdje#*9a?@Pas?oO6~d|mCmVc!t)C7ZE^37Xvrg25Kx9Kx)<_xEe~R& z&A;G=1P*UcJ;a@xiiM%w%l$~Z{~Vwk+wKCLxosk+z8J2W_`9Pk;> zY9)HoBbSFYD;J2(w)g(m8t~BG`tX^DEqG||qb5n+0Vna;F^lMqUXbFgdO6CvdNE;@ z+(t4B>0DREXZ)|F!8vF39nW;P_&zM>TPlBGVf2gAz8_g;(;tRuB*fnl%Jj+PmAxe| ztbElPAl3ROb?vrPeg=c(>SjLp?^%9ZRa6!wMc!UM3y{PYhX{@u^W|jMVdPgXO&PW# z^jC`t2E~%I;+gbO+>m?ys|RV}VzHkIR*V^15kLSib6}7)C%tog1GUMeHbLsgNn?h6 z@}EJAcvzQ3LJr9GZAZU_Uv&qEO|?_SL)8ABYi?CE<1ynTX?st=3~tUF`Gl&?Z~Kd# zds$i82-IGlqX{E)M(o>gNg-APNvcNgY?XBshV>_&52Em5hArun$Shx*c`|U10!=S- z-p5Q90+=v>t@6?m)v`6JkQl7IdB$^@KhICwa`@f{o9z^ZD_XkA^9RKmiIVtx!k7sa zBG#gW`-|>r^SLF&#l~QL&n41sZE6!9+U?cR(8p@Yifc315XaE(B%*3L?YHI-T$; z?S+%TFwMq+@>@+zv)-1&gJjN|keuP$U~G2XvniMRM&gJ!*rD`c6D4?*O0$bWja(sBa7I(5bLA?@epsI^2C6JcC$-Zqa^ zQ&SW^1!=0BMOQaBpZ>@;TB^+peSQxC#)Qrwa=O9ky{g08?x{$Poo}3mG02+E|GDKp zZbXiV#S`IBQlWW%jE`7+Ym)VaDV=FlI@ALRwEcV4D!J@N@*q42q{f)nk9V~gX>o4p z4S9F~i?;B|%!sV)>-pS22!{O{cel5fxU2Bb%&z#quSEk&ef{+H{~n&NXGB}Fwgy9k znoBJwo;Y(tkD4tlxKoVP>e-r3G^rb_)Xw#NL!#!4dae5V?lp58%w652Hw z`g;_KT@glv&6Gv{2_c)0Y!>$N|F0e1er;5JYC>6h$e-CZ}&&VlRY{hHWBPE!{kJOGN6$gopn-`K^Q~IR{uq?K)0ik8zq+ z*EwlCjjnnylIz=@^nmmdHbCiEWJp5PRvZpreI|kB8)z(ntVSHjK<%>0^S`==?PRcQ zyFY;~sdPPSK&3s=zuUc@Z;C^mHB){LHIb{U=T9?orcfBu$Q&+{ji^``CJ=#M%%7f> zzp=1^zV|fMcrASFB|cA+NWDPTCwghD1`B?^vUZQI8t zQ+S1x+=hAOV)y<^CTZ)h~ zJ$ksma668nVMA+xPia+iW^nb_z*(ubm1%^}7I#ckXVC2(W=&0s_h=KKRzG|rGC!)1 z$C)V(ra6TeR5RdJ$!$tey46a*uw(pN^(LmniaMOAALDX|+48u9|7dhDy-2O52^&&+ zxU{%nmtlNzk7C8CvYz(yHRq=0Xm>5DeGI8ap%iA-PRh9)grTdRh}Xjv}7ialRT82*>_uGXX!? z`M3N}lZ@Ahr=H|M@a5*^+=ywEFi_olG~rhbMa|+j@S_k5#~F%fE}Ce4!|orEwC@&q z7dC8xYPPoRLs&BFc2loT=A9|fVV6#GHHy>$Anc`JzYI)%edC)q{)f4H5p)?K>S53AI}en|bFR)H@24bpkE@gNA4PyIHMX;^eTr3ptuJq0jR$ z(--M*;*-J%KB4PEocTW&??Ci4v3PhX0280;Mc=5PPN69{=*BkEL$;)|#l6?>)mqDY%zmf#f+?!Saq4aUG z0kT~aX1R@&V8vofF+@{byoZkuO_Vw22S#uLt}2^W82dzqSRiT!T@?cYQWEn^-1e2n z=RTgEqU0d|X32;St!=F{HQ6-=x47KbQT!Y4B^j+2h*a(B}xmTfx8njwMncGc+ea=liCFdmAK& zZG3ok@_2dOJj^_+{K=wCGTiJZb+f)s2uwNsPq}|7s}#x_>E$M#1m@}45s_Hy+rp(k zFr1kbY^PGW^X~~@w0YETp~>73L&A8I3Z|3IV%!f|Q%Ay>O}&tGe<`M+*_c91Y+w7Z z+wFH}U7!_l5$*lB;=_AR+IPFLp8#dkUz0CQwWTR#h|>?s4=AH?Pwd=oc;G9Um>%z4 zbf`0jh!sN7Fc3DPx^SYSJA?OV?ugD*K+q@F5pm%fr$-E?>Al1a^yqWYD%JT`Y z*6;MumYG7-7*pR@ipIuUI;~YNI*GP}JxxcYnqWSwa2|2%6Lj*xn*TMPnq~4}{byje z*cee1O@*YjF4e0DnePq;UyWbgO~Q$}twURJ#qpsqJ`KQIYF+4}{0h0{Sd~ik+5evf zP#U28WxG6j?es%Uwv;K;fzb9CNuarmK?iD>|7ui7k|1Dhr?Xpx_0L-qjKaw$+SMD z8qBc$Kv-siOR2MPpRGvaP5ueKs@_4XPw@HdVRvCs&>QdoGv+|)?+8cpkiIlnl~oDU zx7`Sc#f49ir>}oed_!#Pf{UllDB-yGb|SzK1BEUxiUF9rdZa+jT=QoxF_;FOKD-W9 z*8FF-ekZ^*d8O;4KPveSP81C+P9AXN_EinrH39|vyVIu)rhAL&s&sq=LAaW0BJbsO!#ewdi&eZC}|?9h!_hl5<~feGb}mP8^bSRX8a(pd7I<{++6f$f_;~=h$Yd{SYuu{E;ewyOE%US9sjO3_rAL@XmR2 z;oSTH&E@ODl?(+?C4NQC%uGufR;3)5Q)NFWv8f$TLo8rjK*)F4@Bf#+TPwY6z8{Iy z@uV)Mc>MYL1I12^wKCPE*t@_u0zdTAA9*ECUcgQvuwqczTcfOMa`R`C(CG}~5 zFI74}6k<(>pg|D0(LF)qdp?Tj%R+&;OHl!Xk4OnM!m(&oY$T~HQ9(SnZN0qa`=~XW zO&ir9Hg>}twFMdunYei&7fosxFFRG5pGYbVL#HnEguWWykuz=i(d@^Tt@{5vr@sFH&xkL_p~k%HI@T(_P9B+MmqUzw&5Ui0i)K{yaZHpf<0Ws(;nEdSs=XFg z`h0Zq6D_!29bJo5!|Hg}Pip29ks`Z&{01+C0jbt7;OVcz3&DOtl*N{Hz->ILY4LzoKnTp~PNxrDIBIh8*Z!dS1Ox4Usx(uX} zOd4kQAM^NlcmI{Sc^#1oukvI0{ie@Mj^tlGaCaz{Lsz>z+_Hou=~Yve%CLP3VjEK_ zjOuPij~U!DL()*h>#`LXdUyTnPYPEp|E;e$SrH5K5q>s4Q~JOS%DjgmS64T66~JlL z$dcV6`@1U5mmf=H(Q}I1q+z&9;CX&iacm4{j1Bi5^Uu*@K9u(6WzeOj-r6BiVI#ig z>b1pOs=3m2YjW$)MC`Mv9oxP zq(46s6*SCHRR(9x%OUt4?wbtd%O{E`X5(Y1r@9vLD1s&hIyVCD4c)>ggm)&)e4M ze5Z`jk6UJwk%lO{cH69$J@!o@$=9Al7Pwa9SoCebChe39XW%N9<~jJH?W z@(k6QinDPwpuBPvxt=emkX~XXrwTr!;&>R>EJ zu(bdh%B*>9xS?25tI+Nq)Xn#+7`5WPMpAwPQeBncVAXZ)slDbNsxqP?N{#y&E~~;( ziX4ur(f))7Hl)lvW)rZ^&8oj6d#3s3_>Xr%Bo8m9QOU9VIt#I7NIi4VT>iV7=ew=c zYd-v6f8g5C1P`*2Il0fjijJq1Jwr zm!8y3c4=`_m=#8#FJ)}D5Uh(EHBOWJGjx^R+4`+9&{^J zAHTHkT3YrQ*0$8;ovfx6Hg=*zo~~mg?~13jAm~{+c+PAIx(;azuufazSvRW%myd<} zBP$^edbA)0Ro+6KvTdcIBis)%1bqknC`J^V;_w|;<1{@i(yCI&2bScJR*P&bka9IE{ zzSSD~kzBli=sn1y3vY@x?ug>Ef4z3P1H=s$C+57ryE{OTYBu$@%RyB;Cvwwz=5Y1h zT3B&)WH0o1EbD+NvsJb!fDE5f2v%e!r@Q$#9p#8BW7hKr|HhRKsxd33_Q4)@&;sP2 zBw88oECOvahk5dJz6bSYR{6LkSk$6bg%>);kw!(SW0Y=K+5HCiYenmAarim&-t)s5=EFH$aMpL*VQ zxS8p>ozU69I!K3RW@Yb}LS&e?KiC#1S^e!7c17C~&0Td7K&vd*))0NzzDiA!c4yOm z$cni<+h{r%dYmQwz?Jpd@1D+a6ilKfk3b`|pF#aIR}ETuRt4Q;pRo=y78h11ORO%2 zZInDXUIUq^AQT`P5Zi>h0oO!Erky)Z*=4*Rb}FBP4)D|R!Bbk@N9*eB$J?<*$C`b# zp3WaH9*1o)>=01|z++C3)UA}S{YM*mdBlM=FdDLl7&c8c2tya`Pcx4xMWQuEau;@>(82Ser(xyWbk(0>=OnzA zGJtFpBi}vqGF}~M%2k5W!az*_V^23_Dn98rZAWt_B{^c_O2sy#X~)(obZxHzLu8II zQMP5to%HY9t*vj+V8x84(39c#^Nne`0-S4*y}H9W^J@40E~4Ksw(xmp=r7K-0GA$g z@Ib#Hn-D2ZhgIsU$G7Of`A6r+<74At!2F3VegBoBp_hG)SjwV7PF>n!7p~gcyt2{h zh%SPJWz*v8Qh76Txpk0xehm$+AL>a`?yMv@nD{c$DQp`!>#iTUOl=|ftp*5q9<1!; z;*|K1fv2(`SAU1+=#wP)7O(YOBed#vCiTVD)Ymz(=#EM+o|9Vkt62PXZzy!eVrge# zb|ZKCJ+u1F===Z5ZYX(lj{9Vh7X1gZa0(vO4NZZko`dCEfaxVo)58>5^f!{Jy*Tlv zMR>h@#^E46L3uc_?U$@hWv$Zz4uiLC1z%Od@4YPd{tCJ@g~kj{p0`hr#)Vr{PdM0; z06%1kl9q&E$51f*x{u}ho1raQ4W#o4Lbec1iVh_NYw;-dQ2 zA+?!D&#Ea=|4zf2WsA_sT-cjp*lWuSU^+P^w5O}1ug9`*Bj+9M1+foBg8YJ`{!oij z_;cnA*cCKTqAscxPalkeg~EG3yOmuWH=UW}z<$T?Bhr+p;1Veu(ILL`0gl@h1oD4i%wlbet3BvO~1)Ba{Rp;3v!K7v__psW)&NDept z-$@hizA!1;i}5+NovvZ^RhmrUats_V(2rd+^Ckx8Yh39)=_KY=q3< zULZxF1(FIJwOm`!K6`mTbOEev^y4fcbGVF47uA9+)d%)l?@``SJu02)BuU{9{bF@K zgKNXOyt}a|ogOugs|fQ=LFYTsjPW})kqFU}xe+bqnvubK^!Cq7=*NI!t`Kj_4_4{1 z&8{)UDgm>yM{BU^H4~>_%9yH!QPph5c1>`f30XHla@<6+)ob_b@e%MB;=X%1pnZ4L z61Z!o(ZYWp-e#%0v!Bx!F0lkvfLJYZz|;B_Bxw2lGr^jQ-RIzvL*Jfhb#Izv=@ik2P_ecxK!b>fT7{Mqe&0%^ERw=L>QDkBU)aDa!PA^}`e&$A zJN~=4F@0RXWD{k6o81E_hVTokg<66KSAJhz#?Y26Zi`Bcscjl|jQQ8`f94PkBg}Y~r#iYl`MfdB2aD^KW{vH}rYK$u`fF z*07sE_d8m*UOP2Ga1@2LKms0!zO7Sci^!(3=?#Aezbdm=^fw*o*mxPIW$ksuUdL31 zBoaTh<0l_c_!7S<^XRnp&~XBHlZ&}`hE(oPfmv0t-)IaIGW*m`dA{x-4;(BGA&^Y+wfl9YwkQHul>ydTxo&@H{!YbM9HhWK5?zxgvo*1r`L%=aJDZFjo~55y#3nw;(67Cg5Y zqjL&j=kMwz#rtv#)Aee&P5-`JJd4UPxGP)xoli4i+QxN=rKXR`K!$t^YlP@)f5Kl` zqWA-t`F_TZ%X9!f?uy9fu&vfW6GpzZj`bNweXM%~DPn-SSH*)*AQe?L&DPIqYLYBf z2X&Ocg@$CY)ApE)*r%jIChLcrr#&H6z@{@GL*Wx(rCJ{KkYEM4 zB>gr=BU>HWmcNz-JSCD}@9h>f3Oq|zne@BT_ji9PL*a~6lf8OHtcgo4cJKarrcOsP z-V@I+o4g&mn72MHHaf4dUDrGXhtwQ=4#uJ4>UU|vA2fMpQ#b;=6}SU6IGg2uQ zRP~p~Vh+9#UsmVqhsxkHy3BK!Z&HFRV28q3a^`jW#~yrZX$57Nzji}9U63n3++!!q zC$i^v8M;!`QGR$}xd+HpIj4;oU`%T%Y^}pdHhse-y#gtyEORcU-{H1f#HD}36p?HG z#QUwu)880U;O>qS654QP$0_o=u#WB1^fzXTol6!yb5^&ke7R@}qmVCMs4eBHcCV04 ziRr%Ng+(Q?Rf$92_zt@8b}bXd|)QGK$2FgNot zwJJe{V3roUMNgm$(Eu=Z_o>LgKTtghva|Uje^d zg@}h^8yNM965N#D^s-n4+~xIH7n}BZ5z3R;lD2DwOu{wm;Y?SQch20&Gie3q_0rTf zq2z`Z{ei+qS4Sz7ZvT)&KfMifrkg;-en8K3%E#`kF+=V{QLadH4 z1B)MfUM{;_I5OoBF*WtG_{H8TLZol^_8H6nWqSCb)OEL?_PY|8az2faUo1yWP&(OJc-Bee>Yy6O4h_JM1&0F#9?QoZHv+Sp%VUmmjk z!$Z2%LCAOJ_2#Fk0n$teZdf07bt~6|SS!^XTK8&T@7=kHSvaJ7QMmZ_^^Do|A8^c| z7rIvaU^4(6%H4tIq0}rNybPLu?Omn9fi!p>a}sR&Ft*Q^akyWz5EKjl;`U3!>QD;p zS&@lQOn}Pt)5~nm_@dp%GYL}^Bl#=(^^<77C|dTOad>rCCi~9?usrye`%t5hGfxWE z_mJ=t5h*qD6WWY{HSfnR8aS#O?)M8{?cnQ!1u(K2Z)#T_kAr6SXIvlyI?126e{5_D zbdfEI7#4k1QYbEu-L804fTIuHIfNzxwexhiv0s#8fYh-w>Nm#jrDgAyd5$obg5I+B zn=wuv?jIk~9Lt7^TjIDWxw_vJHivmJtL4Ye?4P~SKPx~{&+DC}I~eGzX@|GRpFN@H z5VqBZ>igds-js+;V{yE=75kN!56m;_mz&(#YoP?BApuuv(uQRO@rakEvt`O9dlOWSdr_KgUaAgzARf}vrW^BeO zK&*!2OQxA*6%fq$?E3Kd92l=D_b;^jyCY&7=&cXVSDHZep_F4B;3EJ#cQ9Gf!DoVO z*!8<5Q1yN6LZI_n=f{RWlT@if@iaJvK~B{Pysu`3rzE(OV@ODgV6wVlCxBOlCp2;9 z7T)$ZQh=lMze7#9rFwv}K3STi{-ibGFhxvY$?Hsc-UIG;*7|R&w^(i3f{ta4N*6xu zHJ(O*0Dfu17B~P?nw9sFGs`_5FYAz^H~TgeS)<>Dy)Z~IL}>1`)~M;SaC;vEW4k?u zKF~Pff**X<3=;Br)4CE*d$3;Y=H8SSF;qYCO`VSC{!{BWp7ZVP*F*l+l;$myb)o>M zZye3po|Dn{UQ&I{pD7uvI=b>XIzkcv8RV6E{{xF(elfz&nWCU`BmutsCDaQ50p5M| zvm41C=NS2iSGY_1K$AcH>|>P2{2_f@g!xk_e6{3=*YQqH4xP0B0b>_?e)DyP4)7~)xOj47><5We!KpL;TAsPSNWiQPRkMU zI6Y&s0?A4>of?R}VVoGWC7$jQDQ4GXBh0K&4SwOv3znK~K2|tZPkNh-OOa>Kb@H@ed&u()mpCRasp}*Q5DN!Bb4!==W>dD>k z#kp5Cj2^O@vycz^fz$b7QLffY7#!5#BREG$K0E{>A(KWa&_09tBHl&V+{+J{1zK?K zA$C;-_Q6g__g=r>AXD1iA6OFKP0zcvc*&!2_U2Yc#<~w}#N)+*ckRzEIy;<|CVN^$ zIx$d$(U{Ujf?|q(Zn0H{VS;(xq?9s*sSn6wgLTT2y}zun7Y);mr=J{BPh(k=%rE-| z5|cyxjHn9|f>|}f6RiJ!Ifu1K?B$J+{CV>fDn2v}Gxu?DW0w&B`qUacy#u2nhf$ei zY~5ryFw+fU`t_Q?%=oFYr+iQ~Q$+qQL~<193v$oalL9w9o!|fCz7%7|6KpMfU9RMR z)-Q)Vt>|p+pTnzU6#@8}vh&j+WzY*|#;v&LByxZtW;_8k9K!MCLOK|buT|*d#v~#} zA(MEOnf!h_S>T8&!$6crNJKQ}@W}fL7~uK*#mV9q&k8TEh}f)vdI>R5Ojrx7C z#qRII8rK%S8LPEb1Jllu;*npL?0n>=ftE!ixWFIbaf8TTX1A(1$_!mo>+O?^8^c0~ zGO9)})7}fY*gP6u!;2T$9DA4o`O+$ryt=|7@}Vt8=Mc@ zqw{1`!RlJNJU|0_FICG#3uRS>3N=8DhKeKlfMYbjb1^2=m(E7!Fa$bs{(s{cn)GWtpR(*08N-rh$Bg|2v8F zse_N5knm?XnF5q6;mP{Q{^W$#DCa{mRW>zTW!*6hhkS9!_R_b*kVbvOw)^E);wg8s zJsw7QbTBzp<%0DgyiTp6!>B>N488N|^Nh8uUlNWr$b{Dr=l*X+GZ;-T5A>b(G#<#p zd&$$3{MHe#u9BSQ*qdRsx(c9jTX>{rA-U@?773NXGftGXre;cgh(@i6f!&35+N}cHXXNFglge3A@dI)?@T*qvwlW7?|`I1DmO7!s~*0C9Wm^hLg!SK}4@oT2qp1N&e)XL|^g15&M zhfelbc-PBLu+Ke{=0~H7>ShcNEHkUT0=bY6gky+^Zo2!0`sG(lm};ljQAwU?i7M0o zs|9$z63NK*-4)rAk_g_dMvi{GGFoPV6*Rjj{)=iim2{}ttll|JYRPFge9O)!(7yg4 z%-Sa?$Bkg69G-x)T)EPl=Hz{k+4#M8JpFyzC%O`mBBn{byjo_M&9!Dj7%0fIGRdWjhhA#`dEVia?1MRk$vKyr&LJP8UiR~*)jMOFd z1JI^MON5kh5QAa$a+$2NuZhn`8MpD%i!a%>)L+rTl`SQ3(fYoqGx^YczxDEA6nv_$ zJdv;-GBfmhx<Kpk9LPx)x@5xJkas`I+akvS&>3Brvyi`#oGr}3|d6ajs(13(;W zD@hl(dOqHiB57R8@0DxL@L}v3QQdcMl5nV61#2D&fWZY?v!ZDb{yI~cx*BoS0)GF) z-(NxM?FXBUQ2^>WtH@a6pa5@cD@PKUo&pK?KdY=cqtg*u@KB7dxWiBkT|%^fS1c|f zI|mz&aNEW$AtwtPI{zgg|`BfyFy{Wu=kG`{Ic z2D`ZL`HJly45qQJD2KX77%qnB!)0AH_RPq?Cm=p~w=5}qCo61Km9ec2gZGkHIQX3a zh3QfclE$JMc5|NY1(@SXW`pd(@f}%J3`;E2nWJFXYqnd` zGrMn!X>f)HW?>CJSthrdwK}8s)8R!n`1&|aBD41ODEj52 z7yxwsV2&W7K$>fft^%V`f#%B$&h31@w~^RRwRSgG%9suMC#WAW6-*l)D&!W7w+$;0 zKr|v0_H{gOPz5f$b2dy&l@e=8Srzg8ncJgh?;~nmz6zf8_!VMO`S8`ao5Ixz7Tu-u zcEYM@1_E#R6Y~B_O1`AmhLy6`J4J-r2?Nbb?-Hxd3s`FF0RVA&zrJZ=a#9e6EcU`H zvwO=UpoPJDy>mBk?IO7j^gD4y>+B*U$tgD>=dGy(zw0lq+d8Ghh30Z5BypUh^G-_8 z?*dI)sxbq8rR+cEn?pfIc*A-Q`HY1Hv^-kOa6=7|Vq$GZRP2a{z-MF!iO`<_1QQ*% z8^~0L;(>14lC4kLE@IBvplyusksb_s`KA<;cOQrfgksZ9Zc)BF%qhm&;>|p}o9wmz zY|*kL6)&r~Nok+8-*`3kT5t4^)*_8(A(&3-^GJu zvP%eFlIr(9fKN@!Toy`%M33d~v;yM)cA-BsqOfPNDm;#g0EEX`*fs#BKYU#?ioz&G zbADs?kt#{wBgA?|J8*s5$o@IWgNgh&PRzk$ga=~dfY8<%(gM#kAF3v4BH+%94ZhZj zH^yeF#PXk9$TFXAM=x_l#aF-Vi$2SZd}d1`62<&D*zk13Ok$6 zvF3B5IN;{etg%2GYL8WT9!wGJnqO*M<+Y z80aZ1Ey`_gxJeVBEfO3dMSpTRCeuj=Im9z}eb(JW2UaPg$qOcFR!x!SmCut}{ZkEJ zQ?VD-#IGMHVC6EZb#xQ${^#24f}q?{nEHcyLl%u0lrC?y3ZU-kBLPPK#ckIjTJeB4 zp`*g-^Ys49V6C!2$U+IRWx8BXQj)@wysO|eya&3JI^$eC*M_41qx+w%cZFv8H|Yob z6+*u6dzc-s3H{3NGJxX%~$MqE2!!^Rvu^C;q9GeV1)81uj*_%pot#xOyNg+5o% z)$o+c=3HP<&^mq5LXf7)(uOkXdJ7b9k~tg| zTvG=npu^)X2+YjRwoLqy&+krA-->*t!`s&8&vBy>>#iV`ekE?<+Y5`>wSNQC4p+r9 zm1rBFL}(X@2-__q17tN-)dgw8Z+2#6jq~}~bJ{4>DtZjvA&C>nIPBA=jvXs;rCyHn z=Xz|Z#*F3g-v6vKT0%0fQxj+@@V9{qT%kel$H9!}Z9p}_n>oI2r|MrQ+BF+i=EIkv zX#=#E1Q1OFVx7R!$8@P6e+kdhLdfw=aK0^-`d23GOIt&;2sWKT~ZorRK);TY%8XF_4J?_c7+Ry{gqm0U z{QR6gzJ#rTUU;oPvaaCB#60t_-P49Py!_}vDHV9jNDH~5OaLh&Rzs|GPOnSzb*$Nk zrz7Pv_HIx3Ih@aSGS~ki^7!xHznPWFW40O!9C_&DK+l_5uDp95Y{0y?G(?2p^C|~0 zbjeC%xWpJQx-V^%)VZD9^{1D2$$eXU`$J&xeQ??H?<1<#y_~F#5G|;c1M5PgOX|DX z=WN4N&}2hIz*8$B?vv-VJ3{*$YT()lK0H#}%>mChCpDqY?HDx6ItWi=8b5$%UFYjFb4P@(_39-6Zz1+2 z5#Ai%b-Ey^*Uq`7AnzhhoYgCbRef{M_uL$=m}1rbkly(cC&8Z!rBb6@HS7VgzwQTe9ksqJm}0L8I<&PsGam{ zD5!T^!JJc&4{`{}ae9@7u($hG&(GCL25L<+8tfL9I84xknU&u1$P^q$$}gB2?_+Sa@GDTO5shheReDIhzLRXKaB%Ew!ii;pfoJ}~ch@iH zDXz4+X5=}?EVHq{n}~~v=S^qfug2>{+#ZwvQ(0U1pN3z5!1=e|=i%y>X^Obj|7b+vsPyY!qp?hd7cyvxbI`3}mk z^4TU#1*Icwfrkxz_VF+8;dUqK7{d3iz$2YF(Fz_~#uH!8d1?)HN zCIKe}<@g(QM6R*TT2!C(&h2lAPNdSpxdX1Tw|IK*j z{#>09;LpLEp;8PC6ux-Rm16@E(3y#Wp}4;{{JzLnKZhTDxO(n%wA~;3MN*MDA^=Gm z$A)C|)2k?K=16r?VUqZLx6lLZ$bnYjtHhB%mzl5qX2;2g4ajM46K%}`YI8tSU54am zxyL*~c@1|U2gXjqKO#~(X&~G0>D9(vK{N;?1PH}gi0lCs_zLef>0yeq$j$Hh?kNAy z>0|D!VhfYy{FEifF)}2grza)&8rkKde{orY&9H!QTiwE)FvKqM_Wy`**V zZt%|i{+Qlm_}hz1y&6+lJ!6NK5`pD3Y1(|Z`ft2#zoykdaM_;#HuK4bKv!?(T_J}Eb_JtMd_ZFnJZx&ai zbOcT#DAk&4%(@>FU5(LIwKfOlSF;qZmYrgC&$s0z5cI*`XpkCNZ$dyJN<}`WVPaca z4Y5wGyL|E4Gb7(I(Vg4Xpjk3LE-r2@l|DoSj4hz5YzIs&%S6AppHf861r=*mOBB6$)8qCh0RB=YH)1!TjyJO0vnrFSqXd&;bV95 zQAAWmSjV8^qoW_)pZ6z@Gq|RO)(ryg93Jp9txwM8nWCQ{`4!Sop;7qNhecw~ND$+b z7X^f7ixT3{yWG(zqGI+jF=2NGhh2Az_1)Lg-lRNnLKsVyqSQ;X)q65WqyRW-{DRI; zNQBmknJDQ|bCuZMB$&v>QY7)3PTGPINV=?frcOquW=S|*D`P`2};MN}{uBs+UGR^o_z0+{S$&P-z z*<;;~@0o7mRFOk?Ykun2fyj>DzV$*vN#Wo-UJ%qnl#~PN0i^C0f*39? zg9OU3u2c-x%WJ?_B;Scraa74P(r{Oi*>!192pwN>V|Wop*Ihm+gQf8w2JC7*9l$3P zKKXOIkH>96EDF;*A~PB+K&)^RdXr8Lh~u_4{k&t(JPLP8q!R*Evc;WPb`cXwBdHS! zGGj}$Vwr(=`qXqhaAGrxiavAt{@c8?0sFyB!M(enSRLTRPko7%1W>QjMW%ZygIc{l z1g51{r(cC66J5ur#jY!_I$^PB)<6c25FN8rWsC~xY5bEg0snnI<@36_&dRAL+5Y8G zQn_Sv+3O);U~6t|5~E5Ojqs;x0#Vb`S84&R@d?5YQ+N(ZaP4D_b9Dp#w+m@%n=ilj ze1fko0B0yBEgmO-0D7D4#@KPREk;RU3u5i%SrblBFE+goS;3Sd>!Fbqag^xq{_e#; z4gG*RnUv+}y_U0xMspTC4_wTtyK`M39i5y?-5XgHCK{ef^ul0k&K2_4bSB)J6TD-{ zE@R_=jM@>@Qfd1@JBb`sK?Fg{J-5)9GV2OD*^Pc9(farFE}piq&HZxqL1?oZ=`Zei zzOVc5KO3;C@II>)0hJP*GY74suH%k zY$T<*o;Vn6kM1jp2qhZ=f1=|vs(S|ceAA;z4^`YZMrn1hkCd~A$jjNQ%=RPFH~wnS zn(8)h^4w~(mb)EVbjvnqj%`E&0ks%Z%t%4pcxjgP5LWPJd<#&(Zz1<1NC2pWt8yTow zusi^P`#tU=qdj2oYx_ygnE+e%jje-%O?X+Fmp!q=B{d1fd&Iy1A&US4SC3OX! z3`zu`BC82;1^wF@aD21b^?Wmd&jU>Bvp<7_^90;Y30*{VSPZB%jw^?Dg@OS9QV2m} zKP%D&Zz46GSjegsP^^RKvostvMGRa;}ggRBlTx=;)|q<*uv-E{o={cpp6VOa(!sj3eV z2tgg0Q#QNYaM4KaN3LB(gPwXP9Gl%gkirqq&#AqKG`ZY2KDn96$R%ge851qs<8WaA z5LYKi?sYoJ8Ftd_O6&XkgJ5BR0K+rf zDoG0HymvrV;?4(4nU|qsL+ug4%dT?g83+8w7!!YwG|&e`n*?IaFX=d4HZM07?~{@p;XY`4hrgbNQ^ z2*3K>I8FQ&WE4DfWQ>eGpaXCKOl*o4_FTTB6U9XgSb+=?-v|M$2eHmwSoYhafyg1b z5#Uwb*YZ8*AJ9nH(mv+?aIA?7dM)s8mj4U#A7aT9VF>qLdFpip)CO6yzz_9>_ThZ` z)p&W|vUV78@tmN|`Wvqi<_W^hDFtGSo47JvzR2C3*wz0eC=0X|=&|7Em!JCG;B^x1 z2c%yS(b-Bn=NO~gR~u*2Kxg@r$0r(Mm~1a#tQxXPmzX7`SHbknOE=`+a=QGrnrrHM zJKYy0{oWaEmEHiW1&=WBYVNUwm5ewvql)n7@oK0G%w>9pk5xc&4v`9gUrq3ermc&J zB3(Cna9fB|pU$WCz_Y)C){;$os(du9!x%muF{0&uUFtXQYWt-aDS`-z^XFJ|X-t!# z9#y^Y9i9J}enz^y4`#b30)tyaNkq&|arsV>FBjmHc0ehFZ)Ow?ymw={k05q{=+c4k zgWHe+3Q*^+gSe;$NlEv?Z2sby_#@eG#l*jfxl<7frBk3qsAe+*#SjdiqjF8nX(Rn_ z46Ufrm<1J{&oE6CtWBN*2(7)K7Ag&J3)5=%zolJL_GR@s+x*2|=FzF~`oj*$1PcM} z_gYK?1K!}ZQt}{{NRr9f%hZ!yy2!Rn6Bj}k?~zLO-k3+-A8z9YQ_E?+xkneZ*m0LE z;|(ksW@1MpuEmO;I}+-?HsD|xM+%!B`TNm(U5PMbu2E@sXrNP0!-O($D9fI1c@+zx zXvO!P1AOX zT<=*JTxXm)Zg%kZd;J0A#v$+a9h*;&B_&JlqE%2W;R4-UePw{#pV>3}bu9+P0479C zZ_2So|5ZbUFlt@W%~sKFTWhY2>M-tSBljU{;}FgObIAra$AW|8Z>%}xgP$~(<7DJ%96iFNcNdAI|&z=c4aA9kPYthD{u$<3o6Vz z9A)3iId3d_@&A>0=3*7X72W1(WkvZ+Sxy)ZD(ma_9z!KD(Cl3x@?EHGJdT-E;W?sn z;)o#D*3tc;K~JRITwU5i+5d!dR10b$Sy1OyIWfSaaP3gzGyQjM8H4P>Nx)$ zgw?e^CRPei&}?FePYD91@N>Rj>RNqgE9V7cbMjt_Js|+8TNe=PuBt# zpDRN=yGy$`#EU@b@R-m$Z;%kA=)K{RVn4Ixpwu2oCb8ggBpop%OY{>(3C|>>$qaCo z)AiS&oaX)lM&%N7DInVhcCV&+JCf+fB~5@{Mp!ez{72U0(<|9hPukSJSHIMYlOa@f zS8SI* zVzjcEoTQM+kHJ}>fNT8T81hyS6iSzgW+{7CxyY!|)0J~S;LuQ+=bp%5s? zj?GD3pUcdoC)2xqUZUyV$hiMsb?wBqY$(4<9bqq4oXlTJ+2~)@kQLJM6e8Dl_?PFn zIFmdlGEC-Dg}HJ;=?*({v6+;_PbAk&jzGBk7G21CZgJ%bdp@R$t{P-`JCe|ynMe^) zAYH3Mo;hbSl*Xpu_KKdYNN)6pL>MPf$?6*?-6%iFyx%TuLd!S_@@Qtl$1$w90AB}U z>bQ_{d0t0eR*SJUtS^A~A(9*mCk`?@)}W;`deAdooT@ONUq1^m0gfuKL49*eS?JHR4t3 z4~_JMY2UXxRBt_zWPw=May)T>V@(%Pq5=Uooro$gb^k_7Zj2WvBG-mOo+&8qB>!4l>~BKeOxJ1mXngoPLHW0DKJbVP;wx552LG}zxPf|<#0E;aEqK& zwK~_4+vP{OSWPP|ZL=d9^DfSqbElE7uI*E0W-j9jRp09miVNlrqW~b+&v~&=64(P50{>Ghgfa zLo1~f)jDl-*!@rB3X@GR^J!1K5vp!;M3JVp4LWqGdO_jyOaqpho01%&rk6-CH!|#= z$lr&VRQvIx3$+}Y`dby-_{we7_vpgVrp=Sy4i%|OoCvGNK$9dM#^Ac8))00%}+?AJs%>-!bU1E!kkpo@T-CpF{;;%R=eD~Oj3)rug{?s z;;?pgRX#Zii3y!bh8P9YY)$ViJ;hbS*j8nYhogT5^BDp9?YW;*?G{u?WW; z>ChJ-E`k<1Y}J^MqPims?zh<34xSH+Y`gsGVkMSDLJ)dQ-D1o)b>Y0fVT4-l37D`j zAMB>SsIaiMBH2A>KGr*MGY)uspm{pOau0z|so{T85qMQ5zr@@pf~mE_T4aJ>&xM%# z>8AyK63tSEtp2&Yakw3aS<%MAiAcYtc3j51yDeSAJ-<_P&2V zpcT8&?hdc{;L}Ktu>_%Td~+E*Kj;VO_5APbtA-t?-S7tEZCrV6zm1aE`wU%3UwIeB z)o(cu3~Fb2(QseSVG`%$=jS)sZThYyPzHT`jAGh74G88`#z$NH*S2zO#7x|4LVWFUc8$_{57RsSjdF-S`<0WC|J- zy6VMc!3IWpQa|B0ey0yU5f9*Qq&cE6y^jLnC$cR33i*%qH&p=CI_7^JEf~u{jvE)wP!zWTL>cD5A>iq!gDu`nB2BM=6d#s#|$( zChe6U5I-$8=nYrIe{?({Rj9H!1IanQxbTz|i9QQf(aa-jDUQ{1F{*S`P#0ohV;_n~ z!cGi@+r_c`D%GtMIn^4z6#aA+zAu(zS8{P)hj?4+uuWR00v0LR-4v)1|LOA22c0xp zKE7qVWJ9pYE*`!i9oQ~CncNbe%vK3~R!i{rv02l zf5N?$uXpGj<}mIwxnOExSsGuuPr)Hv|9(Irkf4Qe+iizY& zt+wMzN>49>2s7{U&J$K~t=&aZz>Ju@RlI;9yAF~)Us$=XOGjtUufu}Sa^Go}Foa-H zVG;hX3w--3lrfHi1ViXtjp7O+KqI#1#F1$4*u5B}57=LDJ5>B zq?xSW*cpLXXlOdPk`(;Q$AAt2?88xkEVuetOX-L*yQkON320d7JIMBub(TikA?8t0@no%D_OEfqdZrVl=ltVa z0=F=?|GuxDkJ)7Yq*O@QjG@E8Y7y7yC%|rm&?vgFC+qp)fdCic_SmsEV*+ww0m=wY zW4?dCdws}(UL@^U3%fR5=0n)NIDO7sJ^cFK|Ez(%bdNbgasIzcoALVP6{)&bo`hI^ QI}+kjlm*FDOPh!N4?*$N&;S4c literal 0 HcmV?d00001 diff --git a/mvnw b/mvnw new file mode 100755 index 0000000..8a8fb22 --- /dev/null +++ b/mvnw @@ -0,0 +1,316 @@ +#!/bin/sh +# ---------------------------------------------------------------------------- +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# ---------------------------------------------------------------------------- + +# ---------------------------------------------------------------------------- +# Maven Start Up Batch script +# +# Required ENV vars: +# ------------------ +# JAVA_HOME - location of a JDK home dir +# +# Optional ENV vars +# ----------------- +# M2_HOME - location of maven2's installed home dir +# MAVEN_OPTS - parameters passed to the Java VM when running Maven +# e.g. to debug Maven itself, use +# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +# MAVEN_SKIP_RC - flag to disable loading of mavenrc files +# ---------------------------------------------------------------------------- + +if [ -z "$MAVEN_SKIP_RC" ] ; then + + if [ -f /usr/local/etc/mavenrc ] ; then + . /usr/local/etc/mavenrc + fi + + if [ -f /etc/mavenrc ] ; then + . /etc/mavenrc + fi + + if [ -f "$HOME/.mavenrc" ] ; then + . "$HOME/.mavenrc" + fi + +fi + +# OS specific support. $var _must_ be set to either true or false. +cygwin=false; +darwin=false; +mingw=false +case "`uname`" in + CYGWIN*) cygwin=true ;; + MINGW*) mingw=true;; + Darwin*) darwin=true + # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home + # See https://developer.apple.com/library/mac/qa/qa1170/_index.html + if [ -z "$JAVA_HOME" ]; then + if [ -x "/usr/libexec/java_home" ]; then + export JAVA_HOME="`/usr/libexec/java_home`" + else + export JAVA_HOME="/Library/Java/Home" + fi + fi + ;; +esac + +if [ -z "$JAVA_HOME" ] ; then + if [ -r /etc/gentoo-release ] ; then + JAVA_HOME=`java-config --jre-home` + fi +fi + +if [ -z "$M2_HOME" ] ; then + ## resolve links - $0 may be a link to maven's home + PRG="$0" + + # need this for relative symlinks + while [ -h "$PRG" ] ; do + ls=`ls -ld "$PRG"` + link=`expr "$ls" : '.*-> \(.*\)$'` + if expr "$link" : '/.*' > /dev/null; then + PRG="$link" + else + PRG="`dirname "$PRG"`/$link" + fi + done + + saveddir=`pwd` + + M2_HOME=`dirname "$PRG"`/.. + + # make it fully qualified + M2_HOME=`cd "$M2_HOME" && pwd` + + cd "$saveddir" + # echo Using m2 at $M2_HOME +fi + +# For Cygwin, ensure paths are in UNIX format before anything is touched +if $cygwin ; then + [ -n "$M2_HOME" ] && + M2_HOME=`cygpath --unix "$M2_HOME"` + [ -n "$JAVA_HOME" ] && + JAVA_HOME=`cygpath --unix "$JAVA_HOME"` + [ -n "$CLASSPATH" ] && + CLASSPATH=`cygpath --path --unix "$CLASSPATH"` +fi + +# For Mingw, ensure paths are in UNIX format before anything is touched +if $mingw ; then + [ -n "$M2_HOME" ] && + M2_HOME="`(cd "$M2_HOME"; pwd)`" + [ -n "$JAVA_HOME" ] && + JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" +fi + +if [ -z "$JAVA_HOME" ]; then + javaExecutable="`which javac`" + if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then + # readlink(1) is not available as standard on Solaris 10. + readLink=`which readlink` + if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then + if $darwin ; then + javaHome="`dirname \"$javaExecutable\"`" + javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" + else + javaExecutable="`readlink -f \"$javaExecutable\"`" + fi + javaHome="`dirname \"$javaExecutable\"`" + javaHome=`expr "$javaHome" : '\(.*\)/bin'` + JAVA_HOME="$javaHome" + export JAVA_HOME + fi + fi +fi + +if [ -z "$JAVACMD" ] ; then + if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + else + JAVACMD="`\\unset -f command; \\command -v java`" + fi +fi + +if [ ! -x "$JAVACMD" ] ; then + echo "Error: JAVA_HOME is not defined correctly." >&2 + echo " We cannot execute $JAVACMD" >&2 + exit 1 +fi + +if [ -z "$JAVA_HOME" ] ; then + echo "Warning: JAVA_HOME environment variable is not set." +fi + +CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher + +# traverses directory structure from process work directory to filesystem root +# first directory with .mvn subdirectory is considered project base directory +find_maven_basedir() { + + if [ -z "$1" ] + then + echo "Path not specified to find_maven_basedir" + return 1 + fi + + basedir="$1" + wdir="$1" + while [ "$wdir" != '/' ] ; do + if [ -d "$wdir"/.mvn ] ; then + basedir=$wdir + break + fi + # workaround for JBEAP-8937 (on Solaris 10/Sparc) + if [ -d "${wdir}" ]; then + wdir=`cd "$wdir/.."; pwd` + fi + # end of workaround + done + echo "${basedir}" +} + +# concatenates all lines of a file +concat_lines() { + if [ -f "$1" ]; then + echo "$(tr -s '\n' ' ' < "$1")" + fi +} + +BASE_DIR=`find_maven_basedir "$(pwd)"` +if [ -z "$BASE_DIR" ]; then + exit 1; +fi + +########################################################################################## +# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +# This allows using the maven wrapper in projects that prohibit checking in binary data. +########################################################################################## +if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found .mvn/wrapper/maven-wrapper.jar" + fi +else + if [ "$MVNW_VERBOSE" = true ]; then + echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..." + fi + if [ -n "$MVNW_REPOURL" ]; then + jarUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" + else + jarUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" + fi + while IFS="=" read key value; do + case "$key" in (wrapperUrl) jarUrl="$value"; break ;; + esac + done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties" + if [ "$MVNW_VERBOSE" = true ]; then + echo "Downloading from: $jarUrl" + fi + wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" + if $cygwin; then + wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"` + fi + + if command -v wget > /dev/null; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found wget ... using wget" + fi + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + wget "$jarUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" + else + wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" + fi + elif command -v curl > /dev/null; then + if [ "$MVNW_VERBOSE" = true ]; then + echo "Found curl ... using curl" + fi + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + curl -o "$wrapperJarPath" "$jarUrl" -f + else + curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f + fi + + else + if [ "$MVNW_VERBOSE" = true ]; then + echo "Falling back to using Java to download" + fi + javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java" + # For Cygwin, switch paths to Windows format before running javac + if $cygwin; then + javaClass=`cygpath --path --windows "$javaClass"` + fi + if [ -e "$javaClass" ]; then + if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then + if [ "$MVNW_VERBOSE" = true ]; then + echo " - Compiling MavenWrapperDownloader.java ..." + fi + # Compiling the Java class + ("$JAVA_HOME/bin/javac" "$javaClass") + fi + if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then + # Running the downloader + if [ "$MVNW_VERBOSE" = true ]; then + echo " - Running MavenWrapperDownloader.java ..." + fi + ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR") + fi + fi + fi +fi +########################################################################################## +# End of extension +########################################################################################## + +export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} +if [ "$MVNW_VERBOSE" = true ]; then + echo $MAVEN_PROJECTBASEDIR +fi +MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" + +# For Cygwin, switch paths to Windows format before running java +if $cygwin; then + [ -n "$M2_HOME" ] && + M2_HOME=`cygpath --path --windows "$M2_HOME"` + [ -n "$JAVA_HOME" ] && + JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` + [ -n "$CLASSPATH" ] && + CLASSPATH=`cygpath --path --windows "$CLASSPATH"` + [ -n "$MAVEN_PROJECTBASEDIR" ] && + MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` +fi + +# Provide a "standardized" way to retrieve the CLI args that will +# work with both Windows and non-Windows executions. +MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@" +export MAVEN_CMD_LINE_ARGS + +WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +exec "$JAVACMD" \ + $MAVEN_OPTS \ + $MAVEN_DEBUG_OPTS \ + -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ + "-Dmaven.home=${M2_HOME}" \ + "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ + ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" diff --git a/mvnw.cmd b/mvnw.cmd new file mode 100644 index 0000000..1d8ab01 --- /dev/null +++ b/mvnw.cmd @@ -0,0 +1,188 @@ +@REM ---------------------------------------------------------------------------- +@REM Licensed to the Apache Software Foundation (ASF) under one +@REM or more contributor license agreements. See the NOTICE file +@REM distributed with this work for additional information +@REM regarding copyright ownership. The ASF licenses this file +@REM to you under the Apache License, Version 2.0 (the +@REM "License"); you may not use this file except in compliance +@REM with the License. You may obtain a copy of the License at +@REM +@REM https://www.apache.org/licenses/LICENSE-2.0 +@REM +@REM Unless required by applicable law or agreed to in writing, +@REM software distributed under the License is distributed on an +@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +@REM KIND, either express or implied. See the License for the +@REM specific language governing permissions and limitations +@REM under the License. +@REM ---------------------------------------------------------------------------- + +@REM ---------------------------------------------------------------------------- +@REM Maven Start Up Batch script +@REM +@REM Required ENV vars: +@REM JAVA_HOME - location of a JDK home dir +@REM +@REM Optional ENV vars +@REM M2_HOME - location of maven2's installed home dir +@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands +@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending +@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven +@REM e.g. to debug Maven itself, use +@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files +@REM ---------------------------------------------------------------------------- + +@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' +@echo off +@REM set title of command window +title %0 +@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on' +@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% + +@REM set %HOME% to equivalent of $HOME +if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") + +@REM Execute a user defined script before this one +if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre +@REM check for pre script, once with legacy .bat ending and once with .cmd ending +if exist "%USERPROFILE%\mavenrc_pre.bat" call "%USERPROFILE%\mavenrc_pre.bat" %* +if exist "%USERPROFILE%\mavenrc_pre.cmd" call "%USERPROFILE%\mavenrc_pre.cmd" %* +:skipRcPre + +@setlocal + +set ERROR_CODE=0 + +@REM To isolate internal variables from possible post scripts, we use another setlocal +@setlocal + +@REM ==== START VALIDATION ==== +if not "%JAVA_HOME%" == "" goto OkJHome + +echo. +echo Error: JAVA_HOME not found in your environment. >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +:OkJHome +if exist "%JAVA_HOME%\bin\java.exe" goto init + +echo. +echo Error: JAVA_HOME is set to an invalid directory. >&2 +echo JAVA_HOME = "%JAVA_HOME%" >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +@REM ==== END VALIDATION ==== + +:init + +@REM Find the project base dir, i.e. the directory that contains the folder ".mvn". +@REM Fallback to current working directory if not found. + +set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% +IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir + +set EXEC_DIR=%CD% +set WDIR=%EXEC_DIR% +:findBaseDir +IF EXIST "%WDIR%"\.mvn goto baseDirFound +cd .. +IF "%WDIR%"=="%CD%" goto baseDirNotFound +set WDIR=%CD% +goto findBaseDir + +:baseDirFound +set MAVEN_PROJECTBASEDIR=%WDIR% +cd "%EXEC_DIR%" +goto endDetectBaseDir + +:baseDirNotFound +set MAVEN_PROJECTBASEDIR=%EXEC_DIR% +cd "%EXEC_DIR%" + +:endDetectBaseDir + +IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig + +@setlocal EnableExtensions EnableDelayedExpansion +for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a +@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% + +:endReadAdditionalConfig + +SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" +set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" +set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" + +FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( + IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B +) + +@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +@REM This allows using the maven wrapper in projects that prohibit checking in binary data. +if exist %WRAPPER_JAR% ( + if "%MVNW_VERBOSE%" == "true" ( + echo Found %WRAPPER_JAR% + ) +) else ( + if not "%MVNW_REPOURL%" == "" ( + SET DOWNLOAD_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" + ) + if "%MVNW_VERBOSE%" == "true" ( + echo Couldn't find %WRAPPER_JAR%, downloading it ... + echo Downloading from: %DOWNLOAD_URL% + ) + + powershell -Command "&{"^ + "$webclient = new-object System.Net.WebClient;"^ + "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^ + "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^ + "}"^ + "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^ + "}" + if "%MVNW_VERBOSE%" == "true" ( + echo Finished downloading %WRAPPER_JAR% + ) +) +@REM End of extension + +@REM Provide a "standardized" way to retrieve the CLI args that will +@REM work with both Windows and non-Windows executions. +set MAVEN_CMD_LINE_ARGS=%* + +%MAVEN_JAVA_EXE% ^ + %JVM_CONFIG_MAVEN_PROPS% ^ + %MAVEN_OPTS% ^ + %MAVEN_DEBUG_OPTS% ^ + -classpath %WRAPPER_JAR% ^ + "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" ^ + %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* +if ERRORLEVEL 1 goto error +goto end + +:error +set ERROR_CODE=1 + +:end +@endlocal & set ERROR_CODE=%ERROR_CODE% + +if not "%MAVEN_SKIP_RC%"=="" goto skipRcPost +@REM check for post script, once with legacy .bat ending and once with .cmd ending +if exist "%USERPROFILE%\mavenrc_post.bat" call "%USERPROFILE%\mavenrc_post.bat" +if exist "%USERPROFILE%\mavenrc_post.cmd" call "%USERPROFILE%\mavenrc_post.cmd" +:skipRcPost + +@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' +if "%MAVEN_BATCH_PAUSE%"=="on" pause + +if "%MAVEN_TERMINATE_CMD%"=="on" exit %ERROR_CODE% + +cmd /C exit /B %ERROR_CODE% diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..0546a03 --- /dev/null +++ b/pom.xml @@ -0,0 +1,78 @@ + + + 4.0.0 + + org.springframework.boot + spring-boot-starter-parent + 2.6.3 + + + io.pdfit + readlater + 0.0.1-SNAPSHOT + pdfit + pdfit + + 11 + + + + org.springframework.boot + spring-boot-starter-data-jpa + + + org.springframework.boot + spring-boot-starter-thymeleaf + + + org.springframework.boot + spring-boot-starter-web + + + + com.h2database + h2 + runtime + + + org.mariadb.jdbc + mariadb-java-client + runtime + + + org.postgresql + postgresql + runtime + + + org.springframework.boot + spring-boot-starter-test + test + + + + + org.jsoup + jsoup + 1.14.3 + + + + + com.chimbori.crux + crux + 3.0.1 + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + + diff --git a/src/main/java/io/pdfit/declutter/DeclutterService.java b/src/main/java/io/pdfit/declutter/DeclutterService.java new file mode 100644 index 0000000..c8fce46 --- /dev/null +++ b/src/main/java/io/pdfit/declutter/DeclutterService.java @@ -0,0 +1,34 @@ +package io.pdfit.declutter; +import com.chimbori.crux.articles.Article; +import com.chimbori.crux.articles.ArticleExtractor; +import okhttp3.HttpUrl; +import org.jsoup.Jsoup; +import org.jsoup.nodes.Document; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.io.IOException; + +@RestController +public class DeclutterService { + + @RequestMapping("/") + public String index() throws IOException { + String url = "https://realpython.com/python-sockets/"; + Document doc = Jsoup.connect("https://realpython.com/python-sockets/").get(); + Article article = new ArticleExtractor(HttpUrl.parse(url), doc) + .extractMetadata() + .extractContent() + .getArticle(); + + System.out.println(article.toString()); + + return article.toString(); + } + + @RequestMapping("/abc") + public String index2(){ + return "Hello from another mapping"; + } +} + diff --git a/src/main/java/io/pdfit/pdf/PdfService.java b/src/main/java/io/pdfit/pdf/PdfService.java new file mode 100644 index 0000000..d1b19c4 --- /dev/null +++ b/src/main/java/io/pdfit/pdf/PdfService.java @@ -0,0 +1,34 @@ +package io.pdfit.pdf; +import com.chimbori.crux.articles.Article; +import com.chimbori.crux.articles.ArticleExtractor; +import okhttp3.HttpUrl; +import org.jsoup.Jsoup; +import org.jsoup.nodes.Document; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.io.IOException; + +@RestController +public class PdfService { + + @RequestMapping("/pdf") + public String index() throws IOException { + String url = "https://realpython.com/python-sockets/"; + Document doc = Jsoup.connect("https://realpython.com/python-sockets/").get(); + Article article = new ArticleExtractor(HttpUrl.parse(url), doc) + .extractMetadata() + .extractContent() + .getArticle(); + + System.out.println(article.toString()); + + return article.toString(); + } + + @RequestMapping("/pdf/abc") + public String index2(){ + return "Hello from another mapping"; + } +} + diff --git a/src/main/java/io/pdfit/readlater/PdfitApplication.java b/src/main/java/io/pdfit/readlater/PdfitApplication.java new file mode 100644 index 0000000..f165a49 --- /dev/null +++ b/src/main/java/io/pdfit/readlater/PdfitApplication.java @@ -0,0 +1,16 @@ +package io.pdfit.readlater; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +//Add the scanBasePackages parameter to the annotation as I added my services in +//separate packages so, they need to be configured on application start. +@SpringBootApplication(scanBasePackages = { "io.pdfit.declutter", "io.pdfit.pdf"} ) +public class PdfitApplication { + + public static void main(String[] args) { + SpringApplication.run(PdfitApplication.class, args); + System.out.println("Application Running: http://localhost:8080"); + } + +} diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/src/main/resources/application.properties @@ -0,0 +1 @@ + diff --git a/src/test/java/io/pdfit/readlater/PdfitApplicationTests.java b/src/test/java/io/pdfit/readlater/PdfitApplicationTests.java new file mode 100644 index 0000000..48d4c28 --- /dev/null +++ b/src/test/java/io/pdfit/readlater/PdfitApplicationTests.java @@ -0,0 +1,13 @@ +package io.pdfit.readlater; + +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; + +@SpringBootTest +class PdfitApplicationTests { + + @Test + void contextLoads() { + } + +}