From 2e3bea7941fd48e675744a76b084b35fd7f151d9 Mon Sep 17 00:00:00 2001 From: jk <47693+sectore@users.noreply.github.com> Date: Wed, 8 Nov 2023 11:39:48 +0100 Subject: [PATCH] Add README (intro, instructions, faq), improve build, fix error msgs (#9) --- .github/workflows/publish.yml | 2 +- Cargo.toml | 2 +- README.md | 117 +++++++++++++++++++++++++++++++++- src/components/add.rs | 2 +- src/components/details.rs | 31 ++++++--- wiki/exify-1.png | Bin 0 -> 223388 bytes wiki/exify-2.png | Bin 0 -> 978047 bytes wiki/exify-3.png | Bin 0 -> 965946 bytes 8 files changed, 140 insertions(+), 14 deletions(-) create mode 100644 wiki/exify-1.png create mode 100644 wiki/exify-2.png create mode 100644 wiki/exify-3.png diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 00a0bfd..8638708 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -23,7 +23,7 @@ jobs: nix_path: nixpkgs=channel:nixos-unstable - name: Build - run: nix develop -c trunk build + run: nix develop -c trunk build --release - name: Deploy uses: peaceiris/actions-gh-pages@v3 diff --git a/Cargo.toml b/Cargo.toml index 4cd8b88..630ceec 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -6,7 +6,7 @@ edition = "2021" [dependencies] base64 = "0.21.4" gloo = "0.10" -img-parts= "0.3.0" +img-parts = "0.3.0" js-sys = "0.3" kamadak-exif = "0.5.5" thiserror = "1.0" diff --git a/README.md b/README.md index d4f16f5..589ac4a 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,119 @@ # exify +Simple web application to remove [EXIF](https://en.wikipedia.org/wiki/Exif) (Exchangeable Image File Format) data from images. -## EXIF notes +
-ExifTool by Phil Harvey -> Tags https://exiftool.org/TagNames/EXIF.html -Exiv2 -> Standard Exif Tags https://exiv2.org/tags.html + +All processing is done in the browser. No server. No data is sent anywhere. It still works offline. + + +## Usage + +Open https://sectore.github.io/exify/ in your browser. + +## Development + +### Prerequisites + +#### Nix (recommended) + +Install [Nix](https://zero-to-flakes.com/install) + +#### Other + +Install [Rust](https://www.rust-lang.org/tools/install) and [Trunk](https://trunkrs.dev/) + + +### Build from source + +`cd` into the project directory and run: + +### Nix + +```bash +nix develop +trunk build --release +``` + +### Or others + +```bash +trunk build --release +``` + + +### Developing locally + +`cd` into the project directory and run: + +### Nix + +```bash +nix develop +trunk serve +``` + +### Or others + +```bash +trunk serve +``` + +Open browser at http://127.0.0.1:8080/exify + +## FAQ + +### What does `exify` mean? + +The name `exify` is derived from EXIF, the file format used to store metadata in images. + +### Do I need an Internet connection? + +No. The application works offline. + +### What happens to my original images? + +Original images will be unchanged. All changes will be saved as a new image prefixed with `exify_`. + +### How does exify work? + +Technically the application is built with [Yew](https://yew.rs/) / ([Rust](https://www.rust-lang.org/)) and compiled to [WebAssembly](https://webassembly.org/). It uses [kamadak-exif](https://crates.io/crates/kamadak-exif) and [img-parts](https://crates.io/crates/img-parts) crates to parse and remove EXIF data from images. + +All code runs in the browser. No server is needed. + +### What browsers are supported? + +All modern browsers. + +### What image formats are supported? + +`jpg`, `png` and `webp` formats are supported. + +### What metadata is removed? + +All EXIF data recognized by the application will be removed. + +### Is this application free? + +Yes. The source code is available on GitHub under the MIT license. + +### How can I contribute? + +You can contribute by reporting bugs, suggesting features or by submitting pull requests. + + +## License + +[MIT Lizenz](./LICENSE) diff --git a/src/components/add.rs b/src/components/add.rs index 1f96fbf..aa1cd4d 100644 --- a/src/components/add.rs +++ b/src/components/add.rs @@ -177,7 +177,7 @@ pub fn Add() -> Html { >{"Drop image here"} {if let Some(Err(FileError::DragDropFailed(e))) = ctx.file.clone() { html!{- {format!("Error: {:?}", e)}
} + {format!("ERROR {:?}", e)}} } else { html!{} } diff --git a/src/components/details.rs b/src/components/details.rs index 8a8844e..1901f02 100644 --- a/src/components/details.rs +++ b/src/components/details.rs @@ -101,13 +101,23 @@ pub fn Details() -> Html { { if let Some(fd) = &*file_details { html!{ ++ { if *is_exified { + exified_file_name(&fd) + } else { + fd.name.clone() + } + } +
+{err.to_string()}
+{err.to_string()}
+x=r;kX9=0dx zV9t8t52{M@R-H!Or*Y3;hq2SOQRJ@>p9UEY{rEva4la{8p5xCmB1|kv=?7>3YddbS z?v<2Tw7IG*`H};6U7cbMq;i62?-6E48Dpx&;JKQ-mUy*>phmc@ia|pK%6(vffXegy zufG)+pra#|cgo!soDVVupUgbnR5)JS=rrog;-3f+)uXsKJ@E4pQ<^4oYAR!jq#oa; zye@E%CsC7k_)G-zoIkcQ_?3XQ7`xs;l6Tl7Xm|f~S&|o?zt$&K{LU{iFJ)Uyw0K{( z=pi(h7Zq62xK@iB-k1C^tsGFM?5qE_F~D2YR40~CTU=J^EUXB&+t-JDMX3B?A3b9{4qq{9l)V&%Tf-n!4osQ4BLtcNI_PH@ zXX0 $<8XcK>=R;5{@t?O= lqU?`&&PWt23L;iC7v53hIzXkmG zRA*^*wi3ns&`tIZHwa%X*Tm;dFeks*z|@}_2PV1aSq0IL nZ($r_ zvnaf;0wjP5ET$#yD;=0p?t7cT_;a$Vj~rNz6Ha+Xgnu|mE(NkB?A4j@aDCRpqKLLF z$F{G9IkTqiOi8&B85RK`AY@a%0V`J8u;P-3c#POBgmo5j=kjm5Av!QevX)2qem!*2 zR^ig;wPi&;_*QG}qQdGls}qZ$Kl7okqqm{F)To5qx=ZRjR!`0=cdJw0GKaTqX=BRO za@K!HAjt@o(Rm(tT=jM%`-Ggg`}(oP>ahjL0$r-z!tLIzJbg*^(NbMKxoRzDRhGlg zk|{luj;O|6;O?m#n;IT3;zbM6we-GGmk#MWRYJLQEw%YKP3EetFGLHaAia~c8D#U< zBTp7}y8~lKloH(-n? %-3#kyF6%s&CJ9!clO?bdp z%Q25arxv%gv*~$?WEfO};6?MF5*d(xfNPtab}~QSQ1?GHPPMFZnPre5p5m>tA4S|` z;70@lpT8Y_k>u)OV$VnmRP!acn5W?pdR*Lda@ZqL^zEtN r0alOdHgki&AFE;Kmky?= zCm{ ^`y=k-TA|^-S50xe~>z1#hgCz7wHBJbWr3MR*Qxa zkFAFgev>U4W^r+~-e)adSfiMjS4wH~2siBw`FKzK#>bheJWXdibtR?r%VVOs_$P}> z1Md3c`W{7> ^f07&kO!NUh01l8MF^L12|4>ZomKvIj4|b zwuga}tS1^5%K?4g_BHoepF&HLfr$xg=)+{g4wO1>d7g6N>q^Qf(kZ=Sqyv13C%a$v zxdbt|1{c!HaxwjUgJ9%oyDKkUfnw3QC;lmbMffz$(QQ>T&?0c3TGv;a6aB00*2!-W znzwavJq RI#5-FdiP>}Nr`MIks>(FPX$!8?Lp=#<2_P5M`&8t zSt_8db6lBP$DAb|+@0k7BhPsWpNYQIF)<>ZpU?An?l^Z|NgX3B5+=3;|F9)uy@w`F zhoRVFx>Hu=*EM48oZp0ZH-Bl4LkZmrUrpt!{v9peM2~W65jr>OmDD0eb{{&Z`?^w< zhZX|yPbmK|r0OaKMTBZ#`h;Bq>jwp5n;%7sUbF1SCrpefVOk_(3ez4-ybfEDE%N{4 zFDP9X{qt`BjR~TwV&mTG=e?TJ{M5|V%0`tT(PJ)zbZfN!PX-2(L{$BT?^(}cSQBKr zgl$pzc&PAapY3;;hwZaZdT0BrQzaT60vSw!s$PNb>`a%Tp^QsPS }8*f(4)%sHL&SZb_Bcg!{=2bt8fBI^*;R>hs zqSq(*Ed8i>cTDz}vUfH0_GwDgc2EdL!8RYH%?>6y&tE&|nmgFLYB%)kW|$IP)w=vP znCEkM-h}wB%Zgr^%-HN{k)6qxtHQUVA3&&F*$HM|MDZ0TyY_asWKLNRs6}8Yb5Y4z zU|<^E{qMT(BIo?3_HxeWcc7~5QhjB7@h%Ongpw_?2ztDvWC~CO=lj9BU>(PM|CCHG zR|77SXVoYNIG&kVU!{@PZXO*blL5=I>Op2MROPsT;U#;Be0XR_stjM9R~m>vZfS_6 zM;tjuz>Q&BF`{hf&u=HqZv~_WGdbno^%p&yOt1YzOe0Xu?#T4#N9yE2i<5oHjv6cT z`YWOU`|e1aj|Sy2+S5ez0^A>z8N sis3a{tw}7ezr~6OqDkBotl@BKMNyOdh^1tVgK%*p8Xv|d|4N2q#tIDJ4 z6W_MPZ6r|8TW-@=<&=ZDe7dj3O{HvwjVtFba=HI1a0w@*#j#H<%^TnPXuX#=Ci)U> zTtO%>v9$H_laNJ+${d|KmlIaH*t+Z5?%Y$}zg^DFi@+j~a`;2*CU)(JJoqA}EO7ga z7Fy{0FMw;yx{TlQKPSIkWNyTv-!`XvN7HRkdEl=hEXhn}Z)vma=rdq|Y4Ef^hz5!G z=|FX<$u)~$)J}z!d4)i>)9FF|vJ$TT-L~0ov>X?cq|d`gO<3f7U@EAK)<3F18I769 z$aGadIrO+m& Y=Z;|vB zSSh%SQvZ^}H=#z@X1|f}vov693HLZ!ALUmxfB5|GCLNZG;o!Sx nr95;EEQ8 z!oktv%sp{4H_<7i%f4h){~k!i-)Nm933g8y`6=N&P}>)^aIQo;xew!O$65|VhRc#7 zm;mtK*x{}^(ZT`Huy)i8w%#F*d32BUg{`R;5$KNT&pc&M= ~YqeL*)az!L|W! zIkS?F^_f75517pv?ai1UfxZ@K?rA4b{iAq()$Ok{oWKU;E`X6l-`3Qh5L7i&AWlb+ zgPZS3ml;~IFB(_-6m$>o0xrV~_TN;=;@=&-at+fMSrXX9PEDIpA#)cNr9yqH(}uR- zLzw{srOt!%cv5r0w^g&`#nKB^N0KTP!J}Pba<7QSZ%Jz%PUqg8R{xY-rM3U32oYod zkWGqw(VN=wbTpw}bolXoTB^9bZV{|>5zA2_)$e_D)G6=qkUy^c(iZE>v-f|Msq=Ai z%-#0t36@EBu!{DW6XA^W2i OQ5q>+enOHpSd7WlqHt0AeWA!Vf*eA}i}vCQKp z+>~FH!<#9Vz}}E5;M|eYFIhX&2U5i}N2VnWxM@BzpygjR3I25<@C(KCXPnOIaXgEG z{(Cz2-pm2ZC#E%CKt2$MJ z)=ImG7!?6GigYwA!l_%(tEZ};k+8QN%!n&q&x3h_Cr43ka1nnNA^@&Ute1m}nu#TK zUYIkNy7!ms^bd?q$4=jipFf tvwyVowL7uh|SD%BvUE;_HwMpDG4EuXKP6 z@7taxuw#@_UGSY=9g?zBCs3qanVL;1*3|95n?#pKe?Naa>8mEQf&B9yVa&sO#}_Wa z94jhlC)^T)E)sOX`Z9iPVc2`xHcU-|rzk9Y&9#%3N$3-m5!pH+mKzKdH(S|eCpft; zFQvJ-_< GKa?-%@Jza*S9y9OU{V`g0Jix3N}cklM%29K<|;ja_p0WjLt9yEhM znM2w_ytub|-&rDG$QtA9LX+yByj9?|bXq}Xe^otUal;4kaBCvZ0_aEH{r%80TlMlA zCZI}5Qh%v^+0hNIKnL!#h7OF*dH^%2V>DB7t{Nj>qKzx_9g}X9jYE=(FI9P@4Mc~i zyeI+Y5cE>C*d+KB@YSA44{T8XG*%R}%s&xH;2#BJmwke4hKBbe-P8Ch$P&x`fkiRN zATL7R`xy2$ZVIZ->I_~~Mx7?FiSq0hO{Wf?rLo(Zzn*h-&}E5>;unoK#|yA{uceDW z8p;yq{zf^Ox(ZLy$NmxR7;(s+Xj&d rFlf{==ST`N~1&LvhXqohJ4 z4_>uNVOQYLd+rfE0J@UR)ZMXs2TTcJ Q)t?#px9=PJ?3PbS+y8~-)NPMMaBf=A*>%$|n zi@hD$yf{1fZ}w-L34cJc?Z&S+;GfTU_!^T1W_zRwti)FM^t*q})MaWL)_>8JpOQO9 zZNgwNUd3GZjiB8PH=nIN>rXz}zO0OmgsDo QSf|B~Kx$3HBO2QuK_!Sn z**{Q~do(>M``tb6x6sLI*i&t;T0;Bn$T3rv4(Xrx_t4RYsF$pCUbwl2+o+&lJ lM6!=Sx$H^WLOpXax9fE}6+^BAlv`vcUx8$!C!*E*HQgqr+| zzj#$W+DXhDa1R7VJl2+J2zir~OHkEv^8kLx@Eag8<5mMd>33KOwJGgyVz7h@ngyK! z$1lC&2@jhN!BW198~5PbQ_+K)zd&-NzOp{*KW{%~3vuNwbzI>A8rR3TZnkBS-58;! z9brwH_G@OpsGOyLpSl|`8z&>ziCxwThdaC9r7Qj})P1o3E#NaPnp&ci%#;!Sc|29N zxD(b?@IxrlXsWu$cC1O!dy@IsFS02TMYmyeHbi*|GcGwGJnEzUaX)cZq)n~pzGb)S z+Y3!$uEbSgbi(%AAHkjQ3bX?q^22L&XZuOPIHfb&f|#fIk`5fVVmB4o4}P%cE%(f_ zf|n=y(Zw@HV}4|k>{y;JzcfBDe)~oI4}k7Azk0PM)6@FlZT~kNg9cG5c<2&~k^mfk z`^!~H5k5iv=GbBK fdC9d|@zI1f#T@~Pf(u%w zc8>`^@l#+vNk2As>hq+>WbY&qmz-qsC!Pz<=B|XklkX83G@nCZlC8grhs4@^mt-~o z9^Y(>)I_IIY9 >%ltG~COSKte z%!Wdw8PDHi={1}_KD0)C>_?ud!GF2xXnr~j=H^klkkNB?HTEcC|4{fZTV#-%;bBvb zU1w229J>|BO6&n{rBBj9%MtssFuG_$>w6A%QWtv?H_V5K2iW~+P$ 1g;mM)r)WVeLFg&txWL{~foch1upM^@-COk9v-r?D17UI0>u+O@W+3W-9 zQno!8;kS@*7dV+fzkrC3Jbu;?5C8T3`RiPh-co8rT^-1c{7z L(?8@ItXK{7tdhRdjnB z6DT(`;@iTY>gpc?gH$i?pqyo0MFE-^@U(VOiN#L)sT?2ep+bJBhk#$4tMQ )%FJe)58B)fGx`uy0uRa5> 5G20l3guQ$ zZ|TrZCSgUZpQJQaiGK=lz$+vpSNk4xhh^;XcBHH#9r9O 1MYs^9P> zqGDVg+YCiLe>M2)K>EJrQ9N^0p8uWF1_3Xi9hnOzUAibq>gxYyy4eOF*J(U|oTYHn z1(PKT#{5(BJW!&_3(51lyj`E4Uh<~CX|EJy-&{Nm846hpcs6Vg@%JQ$Ty(4H!1$}0 zu7q aT$c+f|-q8;{>ZLqD%#@lMM_ZF=KYRhtY}`|K5Z717T;zTP!b zapf4Fg|2Ep(jBuD_0V6Feb1tGS8>gb;Akc7FIiQ!CVtMy`aP=9TYf$7F#$Cp9Wdp- zBU YqaETkVJVXCtByx$8$-pPdG@x7?c64M3D@Z{(~#O z@!A5*QEsAYQBGG?W`zunmgrc2*AI3kh>$Bed8mx0xmsokJm<~nl*+!~bSS1 =UdHXP zYnt^YJpMx#wxqAjgACJ=6%CC@@Ov4y)Lks;F5uPIERy~PUrxT!0eCDICK982z~7nl z4?madk5Zydom668*ne~6Q?V5vqJ}sjJ+`nVo&s6ECGuA( XX;oms1I-HSYRlx7)V7kcqix#*N1Xr^^g&*n7OAx1%v$4F#HfA=sVo2CX;E hdVE;Rx92_G#Rva8pom``qi;Ew?=T+OtD^k z8+{}TnCz<1%W XU4T+2d;@OMT2E%0@rUw}4vEG?c7xgaS uNQ;n;4!V)#m(wX8vnA96>(WWh1>Bq6hHG^t0cF8)e@Vz?9HI*08k!$TZ4$3| zpo!9X)El92{o&AKN616FA0D>8Ny|pavP*Zd6>f7ta-|rJ)F193Z @7Abm~xL`_|Db7YmCRSXDM7*)bZTJIr@4T+v$e>FaY6}4%G;$jBb zBJ2`t9fdY>6xT_NKri*6tidZ6`jTk6?Al71ch2P45w~D XXwl{-Uzi8Uz5BG#WppNd;7Spp(p81| z41@z*!rpF}-4A15nSg%?coFK*>o&6dexJ1mJUc-k9)4qa?km2#{{S0<3>1aD2K(Hk z=o9ZGp{q=ch2?eEyRZgs? tB+9f$OimDw#f8{(6YU! zgsRlqH?o(@`7a*KDOE61(;36xd=8}I?V*kU*<(rr{P6>+Y@OQI`2)rGWQ)v#%l-bv zDIC3^LbBzBGQaBwTr|iS$r>J~N`4xM_8=S~cnmiaiDa4G`ao=YRkWPHR+cG=3e_cH z_G#T`jK>?oY5}+2Q!iZz3{@AyJ}^v(Km8n2Gw^$QP!3yoy^J{f0mf^0yL+GAPw;Pg z(T{ch#?3Vv37d>=q8aVqTTN=YaISIidXuv306~)oJZ!%nW1w)+1hk!K3DL_P;{%RB zPc;JG->?< 4})HU$e*zpvu#+kP3A z>}U=07T<4`51;F8NGDj+YmF9X=p|sw?zlW4y?S#^*HPNprmZQUa70M#I_iD+skb!e z!6&%A`=I~ND-*UK99C?8j#TAQYh;0{?|hN#HVC_*Hl?hU6!ese>C !_+*NF%u0W6WbR%L_ `5_8L6c%O1RM1P zeA#GdM^s~-zG#YNgbNt())d}*o@k8V%?n}cQdzg AbmFUe`p#)|NBwKalbJAKC@TJ^pL*0 jhQYd(Z=;;1gJ6a ErGeX0q~jTNu^?F<%+2%K-xxYH*EkY|R=#e@EnEr|E8 zJ=b#xaIu%WTEn3^FE8uuHw)H`;wue^03&re%&sJj@jEAlBRt0F>^!=m)$+>$v{$cQ z(~pG%(3VpsS8%2?*S|64FbSi8b{7WNM@ZU&MIn<%Yi)()qs)(P>lWdP0psg>g26pi z7CTSFNS2MuMH1jN+5{Gv!pM}a)Z3Jg+oN>}uCa1_N}N93tFLAC35W`Z9#;s4 rc<_E4_b<$2T3AKJTSDCEzsXBWapn(QG}&Vxja~ISTei6b*>!? z)VTGPY)Z;_8yi1DGOz-Pc??RYWd&^i)WlQMO!AU$CVohmNb?UJYtw;GHG)SUwhbQH z-@(BsB?<3BSCH;G10j2=bgFcccf~8j6Z)I1w%uOxF%m~>(DJ0Wx?6cs%+vUy24Tz- zmXvZ4HnO_6bl?w)MBH9>VERCOgz{aN@hk8L&?gFfXhqxe#4^Ut>eWoUO0X!u<8sVf zg`RP7mI(GTu%S2@@emot-2|nDc9fcch>&sIPyYZ@1U+sZB%b@|n9IHz7)2btKJmA~ zM}ILg*B%K%r=%Y3yIn>2{l0wS)~vdJnukq))8~Mdzxr+I&3NN$sfcV>3FP^GZhG|t z^Zhy(??U6L``k0ARTti!Rz~06Ug4;W5f=M7Nlrzy698Dcs~B84k|Or271I;HRk{0U zki75ZYJf@eh!;1rd$6c+3w1FZBdGI#|0)tA>MAG`GLwv_dvAnkDmdblkbXWFr%vCd zf#`xc(E3l(R$@GiFy0T5^oVymWJ#jHNN~P)_mA`|FdcAE=ZH6z`j%hJ8O_cYb+6)E z+qrmW3d_F^>fNe#w}&4dd}aq*M~;#8QmUk-O6Ua8mdY{YB$KB_msq3ledr-dV2 HylF;hz{x-+#gdokKs=3qhE`_a1UDKcZuL=32urb`$L3fYVT-A!7 zj`So853))+o*q?HCH@mYt-*U6oAWeKwWA%TMUhDk%}syVqDwnwSrTn%Z@KtgU%QMk zKqO!;*I;JoLnAtjYA4QwEr4f_uiB 6uGj!C|!p0?l&M84ZfuPg_of<%YHSp*i4Y zn5eln%n3t#<#(B)3rw*QbJVnDFwW;}xM})W)x4sJp0@P*%{ywtof|Hl_B&^~`s?1W zgN&f13&kbGD1#-3SPPY`9<$;dDv+6FdSq!nq;1JBW^tdbK1=}i{Kh%_kPgzmUlGhl zG5PN_ZMe{7^u%)x$Kvv}WI0~e%D!q*7Un-$BL#a5d1+F}r5aUde4#tjB#AFABB&y8 zR5l7V;O4-Hvtpd2>5w_BpZ!PMqV)kvBG1-rcar={9yS<>y-u$CZT~R_h%Z=*6_x#o zh}QpQj)_Qy4GP3}o;{d;D`9(ahzn3X^oJxYxdV7;^%*F31^y`EqH|OX9cxYW&%Wr@ zCxxM*#SevSKvq|2?J<|ai4jyk5*v=^ia10Sf(Qxn=XN$ztitLJS?L1FDz276!?Hyx zh=?%5e}&EG(uwdx8wuGUD&7xNON8xU`=&x1ZUu7iq$-C9rzSBfyrts(_{2Wj`b6t- zqF*zKoC *=216jGEaNqux?eFI$8IxtHFK!l|5`zL&nQ_)i+F@~%6)!kTmk zcHu+;Bw>$r>L?YS72N?|-I*8qd0YG5rl;ykXcY7ZKP}YqV{iqOFF($Pjv2$gVyUA` zuw6wa5Sx_z57p-`u$f|MxaR#_8^=|#T5c!y1g`!R%xj8H8#KCUrY>cXErLJG7&%q< zrYcv&p_=4SgVqtyA6)J&DrM51cJ7gC{~=A2NzjR2ze_l@%u?wKM%5*2QFGh{f7}MA z?aI+gsX8PfFUFSo>s5RHaK^GnI^gop^!M9MrrVGd!Llhw{)Skf3odAn1(r45$~F${ zAFZgqfTANWk`1-a4_KcX4(}Ds(x~L^RNKHpeaf4E>!uGHxw_#aUiieVuzCJXhib*m ze)5giCV6L2^qNXb(df&f|Cdra09#vVV_Fp$c_T8ObS_>kG-JLx@uF~$&g_qIHIy|} zcuBd!mqFoS21)!&v7$k`6Df@fg$C&0Ei!l4ND;NwM7$gfA2v9ma&4-?SYh-I10Nx7 z6Or%VP<2+pC*p_ecMel6lq?q(OgYf);b$xFylldz%@&qmWPqc{jL$+N3#XH{$$(|( z5<*BS7_$<7wA31KXshPc?`+t~!P#ZBXNl75ee%a0WmQ%{!bTI)6fJ(ryQZ?58F8(% zTK>^Rt?Oe(YR4sGVbkZg7D4xVM~B48qlesoey2QSokG7%5gUZT?<1*bA*ho#i#mc~ z>ul&rT%->bD}0Q=g0s==hala*N^VrVq5Y<5#4oSD*Tn^u$FuN=xm>)gc0Ocv>4W0w zMNTpN+CGhAT#9MbU*Rr_#&I39#l@hVc$TZvIHska9(#~Osazab7SsE66GHayWOhS& zgGH>^R$DslzpNo$bK`(}GW5dbmkhWNUu#eGbpm4UV6x+Nv1YkFg^buU5lmKQ>#QKN z7{ZP=A&-9DN3?jJq##q*M>-kux?&BydOd1{Uk)(^D-z44#0pq@$j7q)dX*G=Q kXW%c2MKJUgPQ4{;K%~EDUn|u1U~q zsXw;tvZ}hbG|4?cU|2FUf4N|$jQ^3>++Ow4wB)RsX7rgD961Bh2|?Wm$$37o@H;bW z+}ToSya@AJZZ6#Hj2D71SOhQVfbW)HcnwJ|opang3jEQ9`o 0TOAQC%)=cZAWH}IMZUVDKHO0*>>{ |`TY8%kTUs0ChqQyN`f7pBSRzgq& zI6fPyj}ZJ3Rp^toY82>n&3^wY#^slP0FGC` =+ asrBP4SmSd{;F5co` zHLEKULTEWd>`K1FPWjpV %c_&o)lvi3#hF4>1I^tLl#2eUbQig%15LkB zi>0tG{@~-TBP~fwio2tamCGn~pQA0Qlh?cF)0QM{=hJd-jzbMgK@^B(IYeBJw6}XW zTtOE q>=%f}|DBPm@Z0x#4(Vh0hE4G+J zB9BYFt`%hc`SY}$hqikK(#ik({7md^*E`j@rm7|;i}5@z?+DTXNrm*krkC$Hr?B;W zUlH 2&{Ys4mq?p<{hD>Fl{m`vH7PBEU_l)xucj&gx~}qrr)?pucWD?7rUz;%y^L zF5)bEL@xH5Q$2?}sgruVLspPKVMyu)b&j$)W`?)c8BR-nngX&PJu0B&&``V`9G4Wv z&S&;;|5Y4Dmi~DNcDhq!*R5CQYcsE;pLMtq@O0}dF&*@b%97s;8e|0$_9!Cx@Js%H zu7|qvrEJX|%8M&8Rc1A?jF-68|Ep3(lCA+yp7r-mFxwjzG^z=vnk0pAsK4nB1VwDp zlP &J{%Edm^A7LOa`m<1uhsgpsc=CF45(LST-^SrPWON+CE>-EFb)(g|63?S-c zfPcHPb<|a8xm@p^>l2#xwyUh&%Rf(_674$HIaExX7VGATu{~=gE$ZB4UmNc%Wl3CT zuJ<1(ih+fKL`of%;}4^>lAFK9?F{`T&(OW$kW~jgy@_CoO-^~pu!3uk_7VQBkC`lz zlZdLoqr7pCzK0+|hLxg{^v`wA7`8p0w8gPM0QNY|N>0h2#FkTycZIQc!5CoPMLTZf zNSQo|MDP1qkex1@?eR9x(OvN^yC+CCp-jj{6{F1%{zJKdoUJxC+UErY2Tp>={Y8li z_KMbkqUenygDW+%Dju2NC8xYhUEOZ0-}n==-+i{l4??j%19|te*EN=W+k>@B7+%sd za{)fEcAVhlr{CMhl_l+!j)%5N3a`U(?{Eb9xwt8?L2bgGCvGU};?#{FH)O5v(95Ec zEmL+r10ZiL@ER}dUK8c4I;;n_NE*eSLRCk;*AvMmy0~WjRe9KM;1L~=0;nMUH$6y; zN{!geXHp)SvJ^a%D6ex?t*94Wh4bL)6VH@;byCB26m0CWX2cArGI@&&oi_Ce6q(-v zcXQ1anVx|?@@CZie!K3nN`2w?3+>&|vsEO73besb74}%CCyyx7q7&ta-5PIoJP-DL z #F$Hi_ zUC6Jz0D8#zdhHPdl^lWGwUJxMA+}RPZ3(AXDVJ`tnZs>H|1Mq01bY!+yL?*+U7OJ| z=nkRQFu4Dpzib^s3)n|DM=nNqfOcYL_&vzcGAVjkdfP1=9{@i)PCW{5yJl?MYSHrR zz-0gDcXde5bnOxX8qB^0)BG^72(k;j+g=LBNu@Y`c%c5Ma{u#avEunIy}Gna-G$sE z7AwPc{;M-Bj_w1dwgQL8DJl|sO~a*`_77!0?1 6KyqB4Jl6Z3K^MHNCL6E05|{#+(I2MsN?N)Ny1e$IU+czhz3;ej6zx~PoNK0ZmR z8OT5Qtjy^v-SFm+)u1&-S*BSJ-6uVRi9sn 1-Rsl)GaGs<2AMZM!v{*=Qr{neW8O>W ziC2C0bH!^zAlHs|eP!+&0i{T)niU~KpK-R9&@G1D`5OAK;T#m`^Q84$i nITI$!Ie)2@x8+9H*5 zRlKNp<1Q&~Xo-=%xXkJ#ek*GrBeUU%H~#WLqBvv)%Dy<^&hbt97}TYp 4(2K)?<(ZEVn;fI_;9PASU`tV*EOFeX6JE7t`zl z!xw_cl$eX5B4(q1O0#Kg(h9HO;mXacVAtk_Ru}Om$v}x**`kl_w-X0s%`n4$FvE#S zk5C9ZJ v8@C 8nnAAl)Be{Z|G_s^x!qjLCY@SL;E+- `*~gfi?28H@rEM{^C3$ZwBFH=lgGzG@Z0xCH4Iyp-QFdGf35M_ z&KxcYG@rZ#sZMnYbnfR-B6hOEN2@5ViA6r&4=yMfTmfFpKlbBkbt0O`m?Om5sM>AY-78z};S4(2ZG!xv1BE#~0ReJST8FRu@@ zai2B=_L|(jfA$+KDinbXq227oasmGuo+{KG{c)^7nrMb}q(}V``QWkIC2simr&@e^ zl+2X?vxSrV#9HQfz!&I%Xl=_M^{(Xx13Dn#{9DeVK9}Sg&7QHrp(iuojSZK-4>IlO zpf1h8Hhf{Lj<4x%xr{^w$VNOO{T}K;qr|tId4mq$=e5sp)%MA2U|GBO&wGi(L!w>O zWQpE6YA8HPh!R9|z|)&kY+!xwYfHV6YotFp#*Zr><1z|($t;q28^67KA<$}|_laH7 zeS%+LtszVJe=L9y`HeWlu6^{DS^9TK{D^Gr(!Z;#-K5UlDmk(|>|X8BX)u=OW+$4N zvuZjq4M$RrZHTgG0+z24n|ep3mt$^&w>UK8Ve8&(*U??jDlhuXAup0jE&zY=u3hZt z|EPM;a5n$AeOQg6Eva1uHEPeIVk9VP6sb{Ek)mp^+Ix!{K~b$0N*iib?Y&3s+I!X( zTWtPUfA@VK$Md|%kr#QF>pRZRxvqV#smcDA-M}UB8g@=tw~`HST0w$Z=Dpf2_Cktl z3NEI 9E&Ia7lyd6MZ?|Vzh*tl%v1%4V&jkS9A)*&~fwO zrI9LGYq9zR4}sENC%cBckUhR+B2=@4+Yfdn2=4*?mz9hFJ!it7Ed8O(8g>sNYh%n| z^C(A8kQB9E g%M@bGR@A^7?FY(qPo0am(EkO#Ff4f$8y6Jz^rYWC Q<=b{-6eIz^BlN#Vr}nVp@O zF%IEqFE0`G6eiARbJMY>i~(namj~F`7U?9k@qQxv8aR-ToFx?a5C#% V9b!LCmV1eKBi6@Xx#R#TJ4f_T8VdASm-!lPA{##1y7p@=F)U%hQiV0(3$JO zWTRU*TlV^`e_U4b>v!vRA^)s6Y- oT65^ZxW;(uO;AsVfQ~7}@;IbO7ma8R^fG zTf=E0M0nsyxq%Fy>*ms5j)!@Zg^LI#+Pn%!BihjwcSgjAC5$Quk&WedhW(5L(1ls~ zbhXpH80O `kuVx>d z)9}04Z9u0y-XFkJQ&?3LyT~d3 TSjOc=i3;A&z%snRcG?`Q{VCe9o}po7^|?6vG}TH5 zFf}?}u2AiLs?7+DmGS;M{|4E;W#UQg;IpVzg-v01+5*gyml_E7v;Iy^fINoXYP|S8 z(8A)kYVBDQf2(0>PyTeHxSF|P@p}{=-ojtNs^@gEyqE3Rh}?FD{=;tTwTL@Hjr_PU z)!Nsbo;?T{;mr~gI>>q%uPJDyk^w&4p)Hgy@36wB`xFPRwwsVmhJRkZ wF`H8=Mzj2y7}*s)~Su7BFoRv<^M$dBY^<97fYvY^GfjG)M8dKHL7M{g;y2 z9F!@8GjqyI0${%iI$`|zuy^Gu?-DCwKdLy)TWCE=lhuLOMtxMlq)%pK>{&kB{~-5D zguCao95Tykk^S{?e~n6AShi6$St7STm8y4))CwbFQqHUC9WRMx u5Z^$PXG2oR-+3Q!Q)gT$d-8%Sn zj=JEuv8SMsmnW4&z$u4Jtw5u}hJNE2=jm#)Q5mh5dy)Fy!1d|!-dHU3_HYMhQxJi0 zbJ>VKPRd4%+qR)3`(VQx`-;Mfn>&A0`Aj&rQO$SR=kP<@E#}6h+Bdqb5XDn!i%$x! zQ+uFz_p@#O2CRdWW6Kd!kq$o^s1C8~=5K &SSsw<+P$W%FA7F* z^na%@q+iX-iOc;y;90W*(#)yatA%$j7vG$ da)aD zd&hHIQIsk#i4H79B4Of6{?8Wb`A2E3`MHoJ$i#1ywd!mr{pui7)@PmYay_7d?)qqM zV(Yi;@#uK#yx)q2G{@+9cWWoSHQ?|yOZY{s<1IUI;6~G}Krw- r(%)lxuT8O&;TY48^y?A1xs(6I*H9#DU1(ZXo2%Cv6i1B=+ zcotV|BauH@I^Vdup_sssjRTi=&irU38IQ*3m08*{(8_zCi6!#T=xf}^>3!EFuk2 ia)42P7S~DE942DO~TM#JNF?J@YwtHl~>H`w6qe5!DUYFdcUMoh(d+o{RQ4fFU zd{Kq!j;U|PKkT!FiTI$Tls=d{fvh*UBM@qMaSsJPO%9dS6IowKo+68@Z#Ntso?M5Z zFfy)}lBaD6n1w9MiiHxY*L#2S&P#>Y937g(l|d~pmC0NFeUs6pd)$6x{AvDXWO&a! z;62OC{`!a2dfBxm!kd%vIlTGfgXhr 2u# z3tXbGcw8f+d{H^Kqdv>5LZr`8l&xk}4<;R%S$^i$YkLbex|DdGtKGl~_M5F {ZApv!5|u>>9OYV5o}I^zX#YC7vldDuWD%vgxyNqF}7SakM#YjuNM_ zHi~qcI#mzwMRiN$#0Htg{hEa8N}jZB;dFi7CeAwe3 brw8sOV|ch4=DI=lAr*Ry2jdi>kdM;4eA=|WofH5}@@J;DosWa`F)`QN5Y z<8`^rF^=a^PTB#l4`ZiXq#O1RH(YymvmNJG62us+Iea-oriy-rsv1yDJjjH~U;W4v zGogIOq-2m;c0#Xlw-Z9j$T4KUmKwgv|6&$K8oRXaI5wj&wauy4lJ5S@N3Er{9yvlg zOeu39oio}nW;vk6^ ^_b;s(lw6B>P@ zi&>!yrB4#Rd(5X_PUZ-PJ5~?MXJg1de n*as`yBcf-`EJ5j!5VB>ug9gwoKtFBNVV9qIG9;;iAugy=sm`)nA9{2 F1Sn$6R_k(q$PKA>b@t1>v@D8&1h<{6!Y|x@X$@@O@{Pv&N;|E zdSF-`;}o8dNUW;TUP7gt3oT&KT^R1uyQPhb9xr_Itb0G{wG!HweJH~{FtIT6E1zay zqJ@t!+RS(ALD7+P0D AX;7JRf!)eHB(DIl>yyPwiX z!}6}(qCr~7tfyBlry5KepjrGA_z9jKkW(ibjNWp5jy^Acd9yj*ss&~&{o-6u=~ju0 zTf#XwXMGv5N;&b~enpY18s`uDc4|MgPsty!m;6yJNRgFhzeeeYafz(Ti8bvrJ@}DI zn=MbXdUGks3d#CAUJ0!SFpAuklzhE2D#srhFZyr&c*C0~d`2Vp+xXD|#VG^B+~co9 zK}x(bt;xoSc9Lbwuzh@ZkQRZgh8#ajM@e*1U4fdDu#?!%Q(nk>5ytbLM{MVx!&M$_ zv381#-uaatj#lCo0E>VgL_Opo{XpVxeOoT_OP73C5#cLc7J3lJL;X$Hyk=+XVSWQi z$}>rSb=V}Ud}bfU>Rwli8kq9!q|tevA>Q%Gm!LJW%+iJ+t-m4kn? z$#q`*)i3=X<5+MAqV~$fbMJJ+;*+a6foIjn?_{O}BY3M%*U?bjH_R{3sHq-tfjhF> zeB+f;aJ_%^zB;H$Os$e`BLraITHl{Neyd6u(Nw&m-?XRvMH%zfLM^ZL=UL)1W-<3Z zfAvi|Qbk-e$vN|y+v6WhVNM|rT!_e`gG8FVkok6+#D?Bec7^H6D8Ptry(ii*m6%Hq zCEOlAK2;>KS;n+Y8-QMd6OO9_#gsOvqT12=p=m*DG{=3KZr-@m^p_1e_khsry|!Bp zGR3(N?V|!lLlm_#KZ|~ZR7E;Zd2oRq1$O$_;`mR@)hLM}_|GS~J2|tVfM%u M*x|y1RjIIAVR;y&Uya=~mIJ>4=k=Rz{j<$I0WGQ+^KZT!zHi&T1T*y@ia9Y bT`g0 zqy0H@A+}hqu(5n({kzGy%lV=n?}`1KxCFG+zDA|uv4 F5teSIOawDBH zSpPw3WB=%bDCrIl31g6m5R3A3PV}m2!f$TW_0pNv@@kU;q++#M=tQ;pq()6Y?WNOO z{7_Y|KHT;r3x!L~xM?~|ncVvlFLq79D@#b1rWFx^PnL91E7k4)20@?eXLI&do4~Mu zOExB-$DJj=DRo-JTFahpbGLzTR7nmBDj7-y_%?6veQvKy!v~+u7O4r94?x->~zu z5VCG9cD>5)xmD70tyDFNliS422t-GiML9XcT=xx^gCpQ_nvL{uxAv%Wx9E_g0b^#j zt*rYaUXtJ8QYZ?K564c_%05lBDC}w5PO}F tSm~0Au5*>MSSKi(oNj(y3BG)vNX90Yk!9j!r>Bkat0QjOV0;_vCV2JqwSL z9|}-%7&Mg`G_mz{0_80@+MKdLq54g3-}WfMpz(PpQX}Wnv`p~D%9#N(?3({_4Gy~# zaP(Vw@#;jj+;?vV66hc6YTo~` lDekvo4G${0s&GnP zTF?p9!ourB{pI@m{&(Jloag7owqs!Xdog> |LYh^bNkO)Vd@kU*CS5)_HOmACU!bxJ7m*u-~cbCB)BG z?lc2Tz0agM8#F-Dm*+HeZ>=aC!qj #F{1O;Q^k%n(uH+ zyxu&$&kpJKe8b2hM&9Ss=+sGmm^qh@w^6&dQ2q6II!7bvjww?&i Doy zXo!!B#)jJkC7CZ!D^hvPgBCy&)uWrCIq4gDGBiuAK=0400<9@#JJua&IkLrr8Oi2l zc~suIb;)mS4lgIPUbWn_<2W(1F5sUL`N#P7q-Js;%|A$ zbw2_szW4m>kbi}(??kq*c$c#ago&f=k$Tl&G(gxUvlyCn6Zd_-Xms0)i&lPn|9mN0 zDERNjDP4S<)B5!LErPX!DqrFB0gd5HuI_?gI9QO|Wz{um(j{?ROm5S =Th3 z9J^OtTllQB<7+E=$uCXloHorBAI^cdvPHZ_*Xdj0{qDu7-c_FJ`@*`i*L_4TU2Z~z zh^ysq*dacWxUXAwRyJ+4C7;1LN@YWQ{MzfVJds5+*=-2lu~H>&sAav1RZl0=#D@i? z@>E#=dulf0LCl}HNmx&k(Dq1onV_5{+i)Aqu@{5+Ho`dUE6o{5YN37Wp@x^
I-GkC&y(D^^%yl9R$cEuT&qU)gju1X zIW>8}X831UKbOgUS&cxwlg!`aa|G5WBjBd-ek)m^6Clv(UgASiQt&LtSJHyt^XZv~ z2kP&km~hQ|L>3lR@|2diZPM- D381SqLWIZzO1LX5(V5<{#x7)SK26ww zL^^`7eYu^mx&~X&4>D%2E61c>tI*!*f a*Ny)XH7nyQQn^~;R&;kVGo zUtdh{$;N$D{;K+=ITE+MqBFoK{hmUwi=g%wiT*UUpH8}B-)a%kKtk6HSUAIvKJF&B z|08UQlKmud!?JgAsHxHc=11sfqS P_L4kq2dKZ+y)=eAFboJ;=emcQwI( zNC()!NwVv)tIRWBw9$pPRqM-6c!HksE^*x-Q{rv7yD7%YgA2Lq_j$dq4Zo`0;s86V zo;S@sLKXCDDH8Vz0D~_~fkQ;^?vR0mfMoSGu)CSpqn7QtoZF&U$T8ef;9&)trg!$8 z?qU2Op5x=0gTUzgBeD_6RPnloRRXa3<&5u-$#^lO&COQn+MMetnLSY9Te)_Bwev+6 z@j2`0faxU}cy!W(IXDHVBu;rq0SntibYiQ;V?PnD+br#W;It$z;*|HqEFXe2U~bjP zT0Xc*^PM7-9iiZY7Nj@wdg)bS<+g1o$Qbg36H;;2qxEcG2%C%_eMP=;zCDRF&z5M; zFAv|vRh<2Neb3L3M`si5Dkd5hHdmeb6hao27$VWgqX%5^<~;_5%z7;)0W~J%1?mJ6 zLt0>hFrrtrn%%P-?kZm*;Q&GrV$&hCb`uKE$M&ndXcn}Ma;iO0dYe<9&5#V*w-&_y zVZ?2J!b9sF(c@9_zwxy2p2(}F{%}u!`>qgMP &1euL`}T2W22yD zF_G$Vy8+fqx6AEbUE$$I0-qB**le?U9zCYZ9R_A!QgXIi*J-TSL>!V{WLeH+)RIK} ze>g%k&uH!ISm^8FpCm&A7-{nX@}NEke&%)eE&Af=2J@RSipAYSwVv}~+c|d`BC8Np zDm(qDEs1*R-{SMGwe^RbB;Q^wx<#3SvG1fv84=Ng%qq!__m$ZiR9k%Z-R_37liL`l z%?-9vP>KjCs~Siza@*dqd3~CPYvlCVL42n(gna6K@4p`2>^M&LM~)FF%9(}2GxmRN zPgxi@_s&63B}fO3o+5rTGw|&2OP@Vs+@wV+9O^1+GeFXKSy&?oD;GUdaNKkiswHAS ztv)L&V_8-h4V*oej{5wg4hD9GMnlvwSBJ||EZW4E3OB6zRJ(;%1NN|EU0LZ0zUsLV zkz4N60mx^iR`0$X|Lk8&3jbPIfgI6F^R}wQ;Ou^@ihk2z_k;m~>A3f6s~$;Hs!s*M zuX8NP>L|ZV4-fA}VOhmHTq0@2gZIa|vfrAK)IHON`JBX6@VXL`-=?9LeeBDX>omO| zs53k*AsDsXKjl(veEoKwT=^Z(x6$MKCo2;QHV4!ugw8Q@59KNeaVxyat`y`QPWNE0 z-HVj73RB_(quY~ 7b~t~c#nDLK1l3HH9-fw z1%Vxso+4Fhjq-zlo!+tis!O7b1QQTH?Je3<^)!INP09zF*GyXtjylkO<8z(u&7JSI zjVOjW4BQLc_*BURXUIFX6X#WQ*ww)w<{s?ZzQ^HxKe-m`JG>qrStR-ZsRh33OYu=j zoh^9EtEsJ=v-Bj=n3G2Ebn+vQc>Y~9?MSOBCgRZ#d@tH~_qU*p%xg6;P_|Xfji)$8 z4>@&;9`x$XXyqH`MR{)tqR+od@gkfk9{ob #;T$-|zsNIPz#PHaitf$fD?sN7N~23Nfgo?n->}mJqg4pTv_?F3rc& zoaz`wBZ^O>EZOtS(Q}E9kml62^kraTJ7mkl=Brmo^t31M`CrC(95q`436JuLO!EU2 zQ}JNC%OgyM_lv9#1L@DUkMlFHZGy{we3;9Qax#QdI5Wy*o_EveeMhFJutapRrS)M_ zF7-k*i4FlS_OhxKH)B rjp7l0rI zxqa{4K|Sq{@HF?%<$Y6%6Xb7Enp!c8gk@lX-h+6Ytj)lcwED_2GuC W+%hDiqvcGq6#23F-(}%B2^(|e)gDi7GW6bvl z@`#01yfMP#JKy1x)5XO~Ds8k?0aM1!+heH|^!K{E {4^R Kd# zQBn48` c z-z 5x&p|kl#y>YNjJ!fz&{}F)2T}y z!H>C6B0&bSWyaSz$3LdV2U~4!$||4U?R5G+#}y|KIMm FeF`%HO+5iz4KyP9LCnVQ{+ zyJPvG zs82m__o*^J!Y{~@pi`Kqw) ~AEo+|%_q)$&12nP+Iq4i{G a|On7I?Z|>xSB|G~w88eeo!zk}1KDUSbxy{X@R+Sx4b-ujnQ_ zp?urnI1V}^Ym&Jq3V8KC!hc_ja~s4f{yNnrCJvsW0EcM4Sn#YMF8_)?o^q-D5^k EdJXrJ$exzC@Ray$P@kz>;K1G0c*}k`dmLCjuK<|&N-m&D!r5Pr@UH $&-w=V*Dg7a(s)yU-iIR8LR=5KyRLptm# RVs#iC&f()>7@poU>~Qd >Od9@XWMQ;|CEi*30U&8li9Pw*5sj z$G8Zp-o52)19hVx;9uTPTe=tbn2w_kDF)URI~t#zqehVN0+P>_^&fZR3uQ )r)B=@Hoh?5r zGu5{^mxocmCp=DG5Z?Qa`i_LjV|(6R)t@RksB3m09bkQjcQ#BFS^Oka5TVmCLhoC# z_Riv$8A3iP))z1LqS_=}7oep`;Kcz7Usl`%en@opzf~)_?;ro|S7Cx~FOKXi^l{-E zYLUVULM#3G<(w8(KRZCys(SF~_!W#u_AdDj_4FZTIn;@oZmPbJONEic?b)-p7KTX@ zKObXj2lK`p##@|aR1Tx2Ioyu4#!x$6LmgXDR3=|&S0Nw2FjTH_U;FGF%Zf0qDWp7b zpz%RPJb$!DY#pR@-$h2*Sul8_F6C*fICgSYlMazwdU(I=E0nKoJwvI(@ubnd^3nZ9 zut6eA$r|VN)#K}SlmT92m7s}j+2Pw$-Lo09a%}Z@^Pw|nLvyOs4o> DxmFqCGA-our}q>UtI z$`pcJD)6+zCbcDTaHJp)QlFCXe2eq2;`GUeQcdheR&uX~c89N&zEv!6MUjVCZbEBF zkZ?kPp4aIt`39OLMQ&GrX#5J7ZX_WVgo>q7!AAEJF3Vv53tJC>w-JD>bKZd2e5VXT z4@o!cX2#}eQMHHCIqDx#2 )?x z;#a)Ow<<{1co&iGoTLQ(%OeahUkjfxXID+cULFC8iM-ntxHFVH G%2w z`ZG2e-)7l#X8BZ4Gw|yr1A^F1$4*&~D+*cEW>zk k&@<(2KDC}+79s F! z?+fe45&F0G;}*zx4Tz<|y8L|6Sk{<@2P25Fxtm%q{`FT0P~~I&l}8#dr>XHw<}sW- z_-W2I<9#zo#c?b7`$zu9Fs5da)4{w$YegpgQcEq?HVjkMv+Y;xpX5FO9!t(0y74e} z$@;c|zdA3z%jO^rm9qem1}tCnHy=hm<_Y!NK3k(jDeTYfv3&&m07_LV?{rhEook+Z zW^5GyoVBIH$))U@M8IQ)VaPvr#b? 7=x zCIX^YOOjVmM?z`c=`;fSfs+l*)&VPzd>r^RpaSY_oD~kve)temtwa}J2JmhM{e5YD zGJfg6_!P1qMNF!NS^u3lg_C74I>oeJm7?L<-c}^cOXVb}2XGAJX*2uqpJSdjjG$Ze zWa*sXkntO>IpzB(T>R!^olQo+-V9^N$KifY$2ic+X|wycD{WAxKQeK$6#k;V6NUKj zR_zg5syhX(UxRA|Q0|k7^A8d5ndSA=bSW11=bgo6POg?}7mtY%jcgJ^{}|afntJi@ zwLlt`>a@LNQO#~+)JB2&U3TG){fN@=%q6?ui9cEy<(2MrW?uim_Dw$d{dWDBPXok` zJ$)Ipd?yD;;k=2j26YBX-NsIu?uC0xBS6NJ85&QWpRl|NovzO`J27cwXpLPSM1&6i zd$ 09GpA?k}xP$g3UVW*ze z(Jkq`j{Yh8cv|!<(ZtoC>^vLT6jNEHWZ?WOWv6wMbzRZZVJY4LzJ{ez%lz5LI^MVS z7|e=`B~>_v$fF!T?oE~t-A7c5-(FXHgFq3Md!NWd?@7roj_8ruh=WtvJG(j$r|#JA za`=h(zXoAnnPOI17k5I(quG<1O5gX0W@r6cRf@e<2o4cuqdC7bRy6ll2Lu-Jq5TL6 zF>KB@5~^v9oh+Re>~Rg2x3>m}8!;2xu^q<~tJDw>aZkn-HXRq6vYKfJT-pS66$fnZ z1~V?O*0r=KaAPSDGLC|$FF`I{V0 aj)^;%&0?Gx0R!yo!zYbyAFyJ=1E;9bo@G$rOI}u()D-S({HFV zEB`@Iz|-X~D?`n9Gz%RSjkRexh8T*4G*7d1)VUrcV&j;-r}H5A?XzK>k=_OuS^wuj zWH=Pwk_cu7lFn(y&U($xP82*1^$Ju53G ^-&CQ3IFBJHVdkhYv|@5 2LVW@FA@w^2Zwz4t40TI2b3lS%(_H&b@ z`l79D`ak5xkuu-@6d-;alfEtUn39#<+57r^jy(NkZ}X~7Y_*5L;2)Uwtp8Op^!zha z8hk&$zBTILt9L gp;YA$~q6_$Cw`A;95Z#lwCfI7FgPv;meAlc(wkK1k+K@9Gd zKK@pFv-PlHgCgVo(s*BDI3#GME-3S9>NhPu_3mdN;N2C+E` pH?n&wFD_Kb! zFg~{_9ln2eEuH?+0}fXB_Yuze2FS8}m_w|Cw#i}Zk4obbt}wlvD+v{^mr(wzGOxlu zcs4*G5V$_FGDa1sZ_NUg?$-~;O+sy7D@23(+^04K(G`nQ(zrN=gRpIY&KnCe`0nZn zvW_5TxRy_#;zcb-IceT3RJ}MA3vf8dTl+_Js5~wssq}dKO`8elt(^@pTPw!J%(!Wf z|6w;mqJA%Fgx*Gd{NKm=tzukgtIkG 1e*sjA0heQi)S_qFE}1Ym}izTlOO$I(kv7;I{{Eg8vTA;#A!Cy zea89cEh$a5{(kmtdE!_R;L--`hIXff{Ca@)?(NKKv=?GY^B2y2L=`(N>hbPsgI?a; z<2099YI@(Hi|w5q= @s_HlvLGJH^E@3sq*mRIl2iu|eS0;x&D- z%Z^~fnQXwYy;#Xip0YoeD@!?QcFy;g(Xfr P6_RbX&!Bd`){%v*jSEvvXnULFMx%4@2hCqJ>K_|&*j6oL~F=>P`7CS zm#5P4pcN+liSq-$E1?%s{}CfXS>reNj(?q%g%L1Wih~(PiC79Uk+xmillvcNF^Z?I zy%|1Cm2``22*ukpoiCar=@y6A+0wR~U8Llwd!~NJ!8epx9A1FL3EaznIggx)y%}h@ z>n Ln4_tX*6IuMQXg}h@2#3RQxY9xx!dpP+86E(F_kWinhsr z{1Ab|Ay4|wAe%~$9C4Z%(6`=fI+DS@w3M{bMfXzicyLnlD8xB}&^i)!b~^`J-G}VP zd OzpkiKOr_G?P zw=YAcY8oTj=2eU^P>-k*60^gmT&VP(OPj=50xzu9S;$w!^ls-%f2PnKo|j!5Vq2^j zD_1TbebvdeR`>8kC6}d<+bUk)l87~~-D~SF&PTNa({CyavODize?Lvn?EPS_{%{PA zJPH+yN!q~4)%a$=MYSOUzKgv`%i%}99^S&SV#YiorBGxShNV#DkjT=NW1xbTwhi7z zF@gwI2!(&~Bf9E-Q2g8d2?`L#!=OhOXL92}G0sJu_pHB?4^FUUbiju{ula}4M}~8( zVSC1f*@1iEJ#-%?-9h~9*<}b)`Ann$Np`c~5DOD`D!43j!4*()*l=N0mn!Mzx9u#| zCN*~XdVuu$)9y)rz?UOnYhVqT4xTcyqa?T9pMj~tybOFC!!=seVqT_ynJknoRb0Hg zr2p3-rtJivY_ZjU?u!vb7S1rxlsk|8B|LoPbKab(x5ceXy+G}y5kUBu+ZMI_r&UGT zMEd>+1Jgaim*MzNY^S4|uyjOUA-Asxs5t5(Ced;}3t5@>{Iu8GDsD!xlPTf-7<;g& zKOdIWm?t-8&zfrvSRiBpBet032U?xE%(stJ3xRTMfY9;rprER(tW8Lck#LjKOw|kk z6mkLez%I5`h`;vY_wmcQlE0SbE1cnKA&C~dp^4`ICLtzlO3n-$G#|rcXq{WGEZXBK zgMqN;8139R)Whi6vwWpA*`_=-OV|KAD)3eUKEQ8C0GYDhEX^4A+xsBL3Tbninf6h6 zBzsoFGOSPx6F(dIh7$1^n^vmXni!At I z4sTXpJ;?KU{LLuf IkaxUiheF<--l#=-( l_R)dBvk>nt~gmtJ--H%dIL zDYuFOnlct{$2^ 7I1d5G5`KK`f4wmJKUtFcgewng!fAE&YjeD%k4Fyb* z$&Vb%`tr;bS6tn(b3<+&3Lh`ymQCLHG%x+>vKS%mu++35koqx4{dJ|JYhWTf_B~cq z0|2@EmTFjaz>h9YNK<=lUn@`f7y)|OMiPGz>7Bbg-x1$cNr~#fYXI1Wr_q0stO2%R zOs?DK(Cy+S0Ad7lyGDB~m7P}8_E3a018dNn@66|f #sYGMz@CzyxGQL99 Sv0hTJ#j%g~-00eb?CKDjvu8=n=J_qX6s zy$@Si$eS0>oTDd95*5>E)W4Cwd-g2kmpr9)eML(xX+i{#WdMWJ86g5O9W)*=h2Q!3 zm 2`xC0HYSg;hTi5WN@x`?j9KN}$c4|G^2G|UuGoS3m-5*on49fC6GcRPCD0+he z7-kIeolErct1=SHX&u`-0B=Nn_L7<#-#P?>CTkC_rTk~E4-qBMI4wZoy}=2CJNM^V zjpYL*=lLqL=`f#Xx45K$60pt6Vds&>K_A wfX(ppvFWm;rJ@ogSA(T=2>p0@B|#X3+L4-KqW)l=q}!K&mYPfLX|-Ou zrZ6`< LKs`Ym!TQY9l9Jl>Y)7|^%xG|UcDT%U9!!xIMhk2aJ`Y-CuI*S!e zZl+0n9K;Cwm@lFZ$e`e#YyLjo@*%cR;6~l=!P2nVXga#q((RN0D2gZy9@NQ|?)l@< zSj6?mAa>uWh?6vEo8ZN25=N`fJgIjb@aVnk%L!jZ%=%g_O`yY-;s%g8x5p89R+ef4 z(OYZbI-?Jyhq_c(j)&qD`STR`sFczqsbR%Kq{31LtJbu)8}V;Uy36>N`b> zs_>4nMdTNFQM5hh&4gE)JNY@=h@)ZF@>4r?4P$r(lJ!i6gw{(eUo`iQ%ZFe;kl_on z)`BaKu|3qSzu_U?+yLt^dFB{pKkYIi+ZJ5*?@2$bs;{%tmu)RBcB^%1`0!H`YF8$@ z-v$YProTOD+_;ObmFbQJFzyFQMLU Dd#JH97-#4HW?{ai 8CLp(28x?`q2% z{U7}xQjI7FHTu(Vnwy&dhr-8Sobzgs+jnZ?tLZenM;pSO#BK|36(bY<(pW}Yi{xFy z8DE7mRsz(QF$~)zZZ^PBLKw-_I-a%{2d!Mq>ajfF;T}e0L!}w+t6n13JA&^N*6w&3 zJHHTbz4mf5Me!|EKL0W_d&Z<~#QNCpg0)g$?lV-G4&CcnEbS`?Ou+`_qB!XsgIfgH z%P6NQPbO!vvzcqwfO`$hQkVa~_|n=Q-xGAv$C16L{LSJhcpg9*sS)sz t+ zFQbdaT+=c;*Y)n$-{on%2@nbtkyYBB`4i^^6(s8 pEL#D!9<`rbTy?;MCDl2?PGlc&G=$} za(=Uv<>U5^jjTzdc9FrJNKhV>pvbcySG-U;#P(go3G2S<8XWc6wqor8dh_%Z4iI*Y znt4#c0e@pKqBY2}f4PpGOhie0tM`Z_aFYgRTMX>DH|#+ESu DiiT#3#D2=Oq~}SURcLqiFgX#K+E_x;#vkni8&x=> z-|2C#6FCVdY8K~SX@BW%4YJNmuQBd;knX=D6?cQK_xMm<^t(S~?E2z#XeVdZUb^cS z6+b@t8?N}Iu9&zt;rxVpp`YJUwscVvJX2AjV1LsTp~~^@KBw?)Qc{VB&nO6@9~ium zTcQo6> GtY)+t_XF+t?hRyab&1 zaGsfERcj6@eRrA%(LzdBjFFcggh$@|yw0h54Vv?SU7V*tR)v`7-eUTbE}Wun!cI5O zx!8M(Qf*Hbuf1y+U*QBo5y(Sls9^819ZZ9vs@J^1kP}IbJG>veWg5NMl`iGNe2hIw zJF8pOdhR5S9C?Ca`vyQJrAM+n-wm=3Ce^P>aJ7Et8uRdY^!V7hTgh81C}EK| zmT|O8eX8xP$~;^?_HNMk6P m$m);RsDpR_4u9qZ*>sS9tWJhS1B$+YQNzK&_&R7K~}I=wbWcjaM3s! z&udE=-m{@(A!io+I@_G1?yqSVWYg({xy@}>iIz7lUoQt^r@Scz=q!Xum#)W_jP!YT z@QtPg_x@fuWi$Vc7u)55F`KAYG5N7t${3!(UXxoFooO)BQ3by~oK;=1dxCz4&wiG0 zJUHHSOf7cv_pB~o*Y^{6h-t-6=i%_815`lO vhNQd)?$UDxLh`+Wt3=cYF9 z=%+dT2oj6^-rhIA)|vJ>c3|z;$-T1JIDNq9#8ek_K(b=|AVz-|p>OA3|8C27{G{S% z&+^j->R4%4Y@cPX`B%?kS`6R9SW*Al>{%CPyuZ@2f6W*wLPg!uT3f-axjP@~pWtEE zeNM`;=3>Nh_ooq@r3OTIvi!G=p2rUz v3lA&yRl0Rb22zl*oNvGL&gzuu#(PgnB7m &SkPH;_-}iuN4i*OnOySn z)2)C+DT9wUwqXtq5|5>J9iatY^-k&YCUCA3Q_aDoH*4ctUF&sc+vjcnEz3@srD>a* z43o5hSIpSU*tOx)7RQ_CZ$!}J$KuYw HWWM>_h-AwyO4Ycg21##i6j70vS6xeq zvg>ZFu1sH4&(wpsPKImBlHvVa6TKb2{pkkx)`BuSs8$aRjW+&HdHq~=Srxr+^<)0; z_^|Tn^dHBvh2Hr&Z-yu17y9u-Roe*_#R3hQLcFNZ*eQqR *jqk4rL$X z1(W=r7oY) xC5Uc$41hi6kt3YSeE{sE*9C U79&WG=qz$-S6YP@( zypH!D8KiBhc_QF9O3HN+)jrV>U~k<89Nb}K1-FA&rd^jb(w)B37sCtNU-hlI`58NQ zu-`Pm%4V %L%*bF9t~9OF7{->=`jVa{AS D`$i8Vi~K-NCsR~vQu`ms88n;%e93YujYIx{siyJ zVCnmdiPsKyV&Bw}3@2;ZgeXDk=5W`32flOl0gJKpABCc#PE6g6Uti}!(>v?uk zY%`){PeziEeI2sPnkBojuY J~s zDBnf`ZvuL%8vu{HF5nl@CwE*6a-;1U-*{oXriq*|wF|pzmv2RP;@ouL-b368O2;eJ z)r;ijynZD4rJY(z34CT)-94{!Q|xDR#wzdQhxIEyXP~3xPdf_~u>Snc3-xMz!?giX z^+MS-2XzMjDOD#zwC$e2-mE_4X^kttV?`!l0PqiZFBHY=@hL?tyRj+i{DQY9ER<4i zW>9ogxK7j!)vd;bE_rW@?2AiuWb4=2dj3p5HAqPl)*qH4 E8I&C4I~@$i4Zm#yFgC zZG&z!B~4jVYxgn63z9pm*Gjz%i%M{QV8WX~c$Zn>ETLH!*-gD0Rc_qJ)sP0IqM5I+ zTr_m6k-SR*&ABtStxV5umsd_mKn8(j9jien&tX$g-!7?P_8tJfoL3l|OISKOgI^97 z&8f!yCwlKIpykXAHn!ISN7W|HM=TJW@ }N)k=^VQ?VRL%*nx`*hPa*3 za8B* >*$+RJ z;=QYM(wL9W=dCZ;=Rqdd@ls;GwNnOZ@dH3`mY4f6-4?2^qw|(GP^Hj3hexK(z?h|p z%1P-(yfhm=Gcl5plbACMyn9&pkIlnOzo`x9+=xPul+KK~sG^sLhtTo3(rfNQK*~ zK9n2hnUrt=G`XN54+);uCDLaNr(_C&KVVDu>T1|Ql~;JrG_z7#fX%K2y%<0!i5o7K zL?Y52GG#t;YD;6;(08welE#_10N1D$B-6|lg~>@5;ub`PbLYHoc0qs5iG#5F)g%QX z(bHRfc~hcg+QMe2Y`0f`0k4_mjGrwG@&qm)8ojEkvWo7a!fDx7MI(bTkBO8zmml5j zBzR3%D5o;X`{BhocdFipRZ%Y>!QyPA4P9k#Z$H0xTV;YGg=TE{_)tbR2yVz$+wfho z?}TaWmEsRALWILFOdhgsN%<3Wbvwff)47}CN^+Y{>h`<|w+{1`<;8kS-$gBcl3CkW zt*Slz30LbepQ2SFgwM}t$SSIbcB~AS1+DA4dc!N?mV$!F!_DT|o?HHO=VeWs=;IP6 zKTwZf&n;a&J- iB-f*wdEJ3>c^TJlsIe|8%~y8q`)*2^y^@ zvrQnE7zkId2+yBL9)TVPCT}?VG1&6F>o{Gq _zVRe;do1yZ&Bwz2e?Zn8-QZQLqRMoX|#gJNeU9fxBws450s9AkA|b(PK2GsCC}%LgZ6#18eCGb zw(#5ylfqG)=t9vEke{FCD}zknA5Le>uS@)#kGoYtt(GjkSgpO#iAv#Ama33_wI7{W zit;yg+0TEKTDcRrg-Usv*xdTKvwH9_{J 9OT6C$5ZH=r6mO}DsWYjrerfUfXs z+369>p%QnPZNwdR%Iwz1eGXW`4qn%h4*q8UKid+ZwNFN5*IPu^#osXQ%s@kHz>uQl zh=$}Bq5R_^b=y9}gXR)xZX&*L!d`GhV+h6*=E~UjG6)mYI~+fdr~WRZ&oTHjwI@cG z7Kp6?dC(Du)g%iV=>Eu{$@JK2`pfD^+>;Sf3qdAJct^YOInMT?AUd;SsJireNyd?n z>gr~PT+>tE?I*&gzVn6GoHEM0PyGH^tBDG*xUN!4_G{S=wzuH8&C7ZlWd~E*eui>i zil$Td{1eAXqA@{3At4_#uY#uD_&Za{h^7Esh(*hd!>a(JIQk~h@&3B}ygQ!z6t+<} zs2lhqBi$m}I>U!SA8vkM?>$3f)4RHEkAPrb(rZXwz4PX@e0&zyMY+Ov&no8cC{+qP zvB)?Tbq92rnyAK*trq^1(5w%k`A}-P2w}~PlZSz?z)L!fd-Lse5f6tgm6Y_|)`$Fo zC3rU>#{>sRBNadN*;d~_1HittWr&7a1AzM42++sKft080oA&oGLo%I?eH+nme(J~h zJJ(vX^;+lVa(NfIkas}KtaDDMLG#*|s)CJ1Q%|Txmpr @Gfppz|}}ONp7>NFJ!ABl(_&hX_?eSI_>u&L5NyZG;~J4Z@7Q5uaA-FZx4C& z2cTm!?5@bL$QW3 Y4nI Eq; z$pU~p=wSS$tnSIJ6I7$<&fmh?ee+G8AVsfj8i`X9jDHtp(k=2%ACqq|ao<-rE(`P4 zZrKE!X?Il6>ObTFmx=J2O2_YON<4Jg{YYsj&9JCKHikVW`u#pF%G41pz~%>lM;}pe zr?s4{L{l4F@0OzhDawBo%RW2Oc%&R?*O9PHd?e9v09<<;Mx_#SdDUwFi^JdOrtc8k zh4t6MsTNL uYh}57|dPxx9-y5-xB3dQ*7j-r-e=^Dlxt4J`~J zfoYL18ftd4`IOX5Ixp)iP@@;Vlh-u+ynY=#%!5T^iwlD}pJuFDxG|>cge1sqgq=yu zU|#kt{EvPDs$$PP_v8&J;aO15AC43)pmS)BKnt*fDlfhv9(tArDHPwJRf9K=)VtG? z`{f;;jT ~S;2jK5|IGfZ6;%9og4IxxwGD3~iP0(8pn*ex8(DUOc z%cCCQds^)L)iwL0Mw?4xF)?QUu-F_`jrXF)>-P32hN*I*MIWG@8XmRLr})1M)5(_} z%gmu%E$_}WY9AJF@ED}^{X9@AJvGr`@&1jyY+LC>S0Q8R()*(xeM^dADA>-#`u7j< zoM$(KlQf(@{jfLe1TIVe2Qe0pUI=i^{kgL%i%Kc3i@&&;dlg(#7~Ihj)?S>k)Ou%9 zQ}bxyuu@n4)m~3 r5Lfgg63gDfM|y>;}8f2oKoX?))O zlx7w-DLQwuq4vmt?eKWc?I5AVD4xYhez=vP4#U-#fd|u@&(EJa4Ab`C_z$U;mk(K& z>4fG*wl{F?H)@~S=9PmxyZa!A0@VCyeZ#rA3%4xhrjZceCh?dp3Hlf9o`ZgH$q~Dv z-^QLu9d-oIS%35gnuU~np+$0T9=(g|CKw7{m^y?o5dB$unoTt{g_c|I7dX$pN#8)$ z>MOr^=_~YM(tzgjJ!A7;X6$rCI@}B(=ytM%-;}ge)GUFct8zWa4blQGjF5kw!0xny zN4i1+hE4 pCaZyT~^SmFD9K)2Nul@es7GB;k3` zeZqA5Y i2qy z{=cscB*k-T>FV)DtAN&fQ{1iOaUV{YIhmD3PcSV!GO+SJzqL9ATV49Jm3Zfx-(xw^ z&+~Fv$=W+Jgy}M66F)P_yu0eca|HLCkk+`=iK!qUWSDCDyt`h^w+znvB0l=E&_ZUE zLSmfQ$h?-B)LIZAyq1ik7@l2ffJDg^F5c>0CSpXhPIC#U1rHGQ{|HFiyehL~kBh#P z8#_#GPRamPdy03IY1=&NnkM(n>^ZnqH~0z5`t9a$>Q~t!)p9-0?oa2k<6a oF7 zwh`%T0T%3xmcLBSI`L7?H|YLBx~Xc#l8Tx1?HX!Wdin&o&9ZM~@T~c&u*{=LExk}3 zSy}aM)DsVM>1&_FH#mJC4z{474F7()dm$9j!zdMubI$wVR76;V5Y3m@YFC>f33=j) z-j=muf>QPV$Bc}udp10?1=?L?&qsN-l!bth9odSJ&wlr!8O0-`ih{a5x`xCw>>625 z-9 =qYgS8*hZF0rK|WhfdsXTi@-ba`mS9Bc|wdj<}ns}(`OFu&S)aE zv2Q&u+iU1A5$hymrm4&i(r+Ewdcdy65d!JVgOb(e_dp!*PVMLCdtPM7r9e~aKL-a$ zffRWcX{|MW^lv-~!k+~Pbc2RuWtZfzf!7}=9!G9}s^qbMn)h4}D$m zC49Bf`-dKTC$5v0@#8V=SmtUbkIRJSA%>`hrv(P=eakO3ljH0jHk^M_ub#=NacgOJ zll&7%yDGGR!26Tqr|nhiZ7y}U$*aY8w~F^5SO6%|8cH|+S&(}H^dK0Jfz!8$QcLo_ z{(DQM373EzuyEHG>8ifGEXKY}WWG6!mvT`)2#x>N@PYnuzx^|UiRfINvAOddTrBBB zpEnoFA$!>wCL6H$%NJU72b8aVy6(CZuPyG+d5M?%n{hz*r|05T@1guCB*HMc;CzCx zw$=o%`NJO@b*2x`H^&~_&CD1f2D|_WbdJ5MW=p#vy!nO@If+-oJrut-ryj7FyFsR~ z?{_Vu3tPvk8bfC 3-o<#7oVT_dzYElh%%PRaV^sAIhic`iPp(xD)sM zHH@f}6hT%fQHeig`%4l1pnLh<56W&%D>X5t??Ulgpo;PvUc-1Tvl9QtP06pjzg#IZ zJA5%F@$zNO(KSrp&*z7;MYpPUvQH*Pg@4Rv^B{##KeXEr<-R7i0*ZYS<0SZ~!zVf# z{6f=mACg19f^v4>5>-&oD)o`CKV%8Bm$Eehd>x!ws^R3YFD)Us`G-2E{2-DP29JJI z>ePh&l~dKc;YZ8e%OtNeX?$HIFKcx%ifn F#mt=)o|T*7cyF pGs2NHa}4=jz+BqX^n z^toalno$iAFF8WMUzdO~6jW0SdlNO_zq_z;MUAw-ZX>U+t#c72Fsh&`k6K-`nCTHN zm!dZw@%?Ta+zUR~3NZ?zJLHo{i*NZBu}Vr@9s>~PCV|nXDNqYAGU4bh04x>(h?+2zoDc1*W-le}=qoGCkVa02 zgg)0%|HZQ8xu>3XsEz>?XHJkm&{|+Q@Mc#eexO(~sByzts&_bAZ%vmY@F+~X6?dXM z@P3+umX_NM_Yi8;V~p8730GLVEK=vwOdAwHg{JG_+Tw<8ZS%wAa@@?0iKDEh(NDih zuW-_dbd*kEZhHGz01JN=b-wB+-TqCY2lfK0rdD@}7*}N)lIv;-?IE1@;YkAT!|$rg zUCG}Hx;H|cYp>i>%az^_mxr({x%HiXZaQvZV8SpqD4 gS7{heZO+gzuKGaWer}QheK{2UGn#fX}{yVx#yU;&$Y_Jeo|^!>9B6r4>DD{ z7e{!*EHtY*e{=q=QE-&RNr8V1WG)+1a4IDw3DB>pln>fty-lutyHK5`GDhVeI 8%WiCEE5y}D>E0;%+yha}%smV}keUyRuCx?K*Rju2Eq&CB4Dg)JAf-W9Go{o+ zDG CvL_S zJ#Xaa2=x9yaoElKC=ghU+f$EOBW+|QEcW9XMhMO62OLS6+kQn$8}Do)GG1{lfxAgq zIbJDjUYvlTT9-n9uX2>*&`aU={@zB#hK_ sc^z<~x7CedH5ukXPZ~6HeoS%hFrK?rNOG}+-_Cll zZ>1ylso}`C{&NGZlE!xQTlnxQHIr6EkD#SaA3>-E^rNCd0 ?2GBDa$93JFPtRLi@u*_06;%3nvkjuvdRG zBjqE!CPJ^`ffv@Zkp&wGh4AOKon`aBaWSf(i4p9mZ_t7?m1Mckb2KhYIZd6{II_;$ z=K0STlRTVyJx$XHx;0G~4oaeh(#b^w>@@NS)J;9EoIi!t>Ep?_aK+)&;+nYBu5p2t zmU^s*RD@U8%(bgvhoWx3T{7-bt(=PBmUhd;c76jz$#k+K<6K7A)CNz$ZH2PX`}3ve z2VLoJ0VvgXCv~*&ya9{*+(rTNsC4@9 MKYJ|#Y&4S4K$~8f zrWMdhAc!p_I#MzF?5EZ<>^^BsQkRd`1@4#pz}$RR GOW&cx=)=fujcJm@C-+Nv8HAJKHtcHfihoWOEuv*p(sz>v zDkWHDW4EFk)7$;HrZcA6*Y?^%Cp{!SH$S;R2q1%`rpmulzLh2_3CGM7^!iisj#+e% z^&E~D-FmFS*JwU34NC2bH{_vr`kZ<2DV^@P2OhViZlVS(_l>7>G`0sd>ctKI-IC+; zmGtrHk4Tcn5n;tQXm3wHKfKL7q#XyX;T-B%?V|0@Ij;S%7*jMtj)vY&U{H(iPkUUI zNz?m~rg`{7d);y&sx;S1OUD;SEXO;ZI>ELyBzZ&;_OExC3BL1P{>}J^me;R|iIH7= z!xr<3C0#d2XWQ&w!}k-6jifEoS1MOE4$~WSm;=SRCWOMDtoa{sXz~qx__}dMd*>%v z4>hT8T1xI5w8-;pTuIwr2{pIeT&*dcYuEG=bK0Zp{*$NHPc;mWFz5@tF<{zuO;|>8 zqRT&fUP7g3bM7-+O4yk6x$a(H@duvfW!bCQYvx-KerA&=q8ctY#Ku_kc`X+aB_kL& zpSKsQd^L8c)gJV?LTP+8F>&;({xfnD6_`rPv7|^%8~(dvvsQvyyKb~(%dAZ58{w>m z-KWUK7aw-soYLtVhJyw+yOlciu2Ve{+Mhx5{s~JWM-3+lJn#*UKUt&IQ)xWyv*zwO z%}0BVXvKHoEN0 K0;Ehiqo=4uh{mk2`0?4gxuyrVJoT61Y1^FwA%Mh)AYYvyk)ho zL?hBOXjAmHqF?5B)Rtc7g$xmWc3r=n>mB$}7oX}#{)!cC*vf4lZtQIld`sQYo5`Ub zrNj@=D0MU?A |GR!lIWS0^aAnn;330_D)1-4l#YSb =NIR@k4x%oriF^l}uW=+yAXGc;AHf z#_|*WfPQdv@DFZ2-#F_A^}4oVwBgI_JqOjt;lEb8w1TOUbOv~-F^XXM9a~aH{rDI< zs|_zv?M#28W0kZ)A_pAhI-SbJH<9>^%*X0pb4c2!f;4itjl zt~EVZgn##2j)bm`FPJrs$iAgewRUtF-Xmy4OA*7kxmga%1upBZOw-FV`_z{I8^^d< z3^akru_Sk7OHHQ}-EgeNqC4ywZ{axAFGD1V<1V`N_vN*v+Z^7O8g@lyaQ4+w518*- zu~lA-j!O}SYsa_5 }QnqQhRgHRe zPQb^;O)Fvfl6_5q*wdG0$MPgMOTLoV(zi$WQxFuqsVKKB~bkNB4TCd`Iyekakj( z#tYb?CpRo`#q1RA%bV=%TP5w@xG&{8z?b2~-lU#EQggd5Ui~-OFepc^SRP2wTk`tc zO@9k`2llP{&rsw{pKjL3;J*yLVi|Ydk;r>EsQd}3$B?_h=snWm5$C#+`;R3E?rBq` zoDF+!RrE#uEXv$MD!bUkjQ58{@=n!vlV`%OHJppio_;_au)F3H_3~xF@2es6hwQ?n z)1s=c=NG`Bc5HwKP9rTBh0~+^Zf(nW3ffN*J6xM^j(#uVtUKV5*?AwuXDit0T0a;6 z_5!$HIzp`*(%oVV1)p#=ThhNVT|abueiE6XD|$%`HM^45DK^&!vOi>9k-kF7p63Im zUy%9VYKzwBrXc5&kR=ueM*n&O)3&q*-JHrxFSe{hDrcLRPpgI1>(0SCZ=a)r@SmW% zwvc3cY>m+f_f=T<`J)8ex(Wi$M~t*sm TbEw|@@|F(2smp=P;87>hkT6uS1}Hu2C6Wf)hge)Wfpkc5xrv=6o2geF$F>` zg0zR$Q*oF6db49%8>Dp1KaC9PXcwO5@9+N-c%-9o&{MRcMDL!Cmhk)=bDDoet_ahk z=@*VR=?4cb^7%f3`qS1&-dQu3;Wvbpc3pEdB7k8*A0;NF)d(Wx1|vPh%I|85Ynq@( zt1|2-_PdDt?<&xHR~KKj8sm&!$M=I?FXCL=Cx1DVMF)Yx7e3t=xDX3rRV-1eJ3cq6 zf(9PGJCv{)JdAg^5fvi}BJs72o ;6KZDn;xpWIB zY;xx$=@)2+j*XdJBHG}!z(s495Zys>;xNTa1;hGqrpV^PSgwn)(KEvFV%~b<$cmcM zCyj&l`gt{(|GJN40LLMPaAXK%Q)DRanQY#Wd~ChF$3<*Ccy}qQ!1O;~>=Vhw(f91p zL-OJVw^TNW@x0YrXq1nT>^k>o1SlANH5JNI81}0YN<(9B@1)iFl=MhO3{6O@|M_uh z5SGVU+p2;IXyGZ1+l@tH@B1g3%ZlbyG=0a~rm7mLe)GLFAA}hK{nlvC)Yza5;@Dd< zmGw~C=cG13XIh1K4$+KvZ@<;}nY}Qz4II#y^s6^jO|vcO2ee~rh5yAtSzF;R&-H5n zQQ(wNuJ@;hS~ TUPERIbs*I*B8!=?|@<8;G2RHTB#M5jtS*L+~26+wi7sSj)&ty^;HSW=Sk(7o9 zYLRh8^_p7W&faG7&H5b2;A9PYC~SN9atAc )? z3lv9R6z%V!*~nak1(wI#eO+S@3#5=(5e6~~2p#p@SG5eg_pW3lJqy{AankVuQNy|i zS(STSOQ#adIwf#1ZtCePRi(3hrS!Z0{10q~Je}8WfhhcOiZ@Z3HV?P`^y`QxkE%2G zbs+AQ|2>1*e*+T54M{BQN^cwPhv5;Iudk78i|i4BV=FytWxrD2z4x!UkbI{7mu3$3 z_E+wUAw%A-^ZHK}g*fpPQ_G6LFC2WdZ`iroEwbJ(O@&(|cCtuO*4wK!EX|jH9d6$o zAhU#3zp`{3^gq1Qf;;98?r~0sUZLF#)IyZxBBFQ^B{?oQ=^w6hkg=h Av0&Z@*xwH&7YTTJW3 0b7roMC7pHn`BWayf~Q^-M {928vfSu96!{e71RH=WH!1@-@Vz`k+C8?hX(ix<4Z z`uy!NBOjmAsLJzw=R@}e2E;(#n1}u{Auz{f^X&*TxrJZi$y$2lL~#x&$fnYkX6$(X zN>al?cK!UnV7%$>i~()ZU?A}6l7OMJ#k5*kJ#T)hy8fzIpiRta|6ZqL`=`BTTjb95 zjf?sxDvWPocCkJ_y`nk87VcmMg!qENnDkrS8)qGfUTU_Z(vi9XQrI1zb3dnJA#8OL z2NxAZOH?pBk`2FF59~`N5bvQ*YA>|x3@BnMnA`dy6)4M{+=L7GTdO2-WJY^vN7uCN z?L$Y<)XNaan2%d^kw)A40w*{Q7n}P9Veu+JZ++H$6_-@0L_KIQ)^YrAUTDgn pquZ(zpq)teqe??hsZ8kfbhpSxt5@j!1^JqN2U8ttZ&dEZWZ+;3 z2!yrNcaiRGhjs3eV7_w;hVMYg>aOgnrISY;SZurQGXqCx_PoxCvq2T@6IN6O7yeS; zI-5Okg$}bN*o$NKv)v6*!`bgsKGJC#0&fNJrZck3?)>%<$O~>oxof`1-#wH4fB*oD zPl+_j>6U4|Pnwd!kIWfEq7)@su0Hm+DX2E!#d%F+dt!Sw*3daNX!EJY?SG9ae56H~ zwpkfDE+Dia5LhYLuj~`Z&U7=bme% `Ogon;S$q>}7DWyw8-)G8rAP!+fgE?D&U zFe0>vLJei7ilb@iq&NU &rnD}z%6oi$mybYE#;YOS5n|5R;B7+iCLDg}i)->a3ne4KE z-Tu+`jcKa9Xbt}5w=PqX0YQ>$?XyvR4t3)!%keDxN~`r96&u;d2=NENR{gSYXDr?^ zbSavQuocDVsJjvQ@8d?Luf3Jtb&;IwwBUdaB@IpldNSTy|K;T)ykh$E98=f0W1?y^ zY4?~{bn>gkbq2)6fxSss-l8pNRseLSKkGe;u8MCwC5({i6}vQ2qg9pkszK6dEo1*T z1mvqZx4|H0^i@!NFj|f&V_S03mv@rw@wR)W@Vtei*Docv_sxI3Cx0eYqjRY-Pk0Ae z`$_q<(|6oGqazSiByP8O4$c=y9MTPitrC5F;%3fGNb`Flw6$UHp1fSi?k~-X|GZBG ztCy7yj=F{NIPV>o3*-O3bbRNObM2Wg3$?|SVwuqKxoEbRzzfi8H@Yf;Haz2Ji8fL# zFFu3lzUk1;J#>sPRnTaqdX@31nb#vr0eC+GHnlkC#*cP$A}R&iB}1K<)EB{fa}DK6 zpDK$AE =Pp14z&7rz-&4B_psFI_}c`=hcf&&=r-0o5# zLG3t?3dVGL*&g?8=wQ_1f|a;Un^s?4e9up-c_H*^kkSTs`#dF!^*CIl+d5l7sBc$c zzvD}j=yfNt)ZW4G$x!NxjMo6K@Z~@--CtQ0G?LC78^lq(L8(4LZ*_mizcr{m>#)WA zB9-GwoA=*1T68){b=^Fx4nJeZnE9YKwy?58ghaiL&&^e*ZmM9$SG){m2jzQ3SR*8S z)X6NDn8=!nnb|){IPr)f4uwh+FcN1Gyp`p86|iqJj6$c#?@JGaTdqVrOsJ|lZR0yI zAaQOMpJ0^%tr<_4x>wnIGx)?=K_)d7O#l7w=}>--Qv~)KjspFDYdgOM2Q=TjEwwyL zDf){V)@JNOez|Y{vp&A=Z;_YU;oxyHT=tj;thWAaH zMp2HX#6c&)WQvhORX&IObpKh=uCzCq-4g~yu#W{^j2Ie~=DT$aa?JLhMwnwFbS=cf zpi89no9&*>#H8+jY!x0aXq1$Q5Q*UGOzIVZEY<)e@ btoj&37Sqh2PpF`gF{dA>H(I1=@=FF4K>``w zctCSgjd dpc8Cezzgbr5DHbs_E=~M+ZiaCY z&9b(B0HdrcL?nVyq2Vnz+~A=D4 9&f@S#gmxjiC~Htke@ei?Sf@2ADOFM%OsCq5Kokm Qo;}2__qGQn; z>r1En1j#I<8$ZY~>)h`RPH5!>RMsj5o7u>92FKuZLp?7p>m UTXE ztm_PZ$f3?BC6vKfQHA{#Uo0*bFd38R>?flWVOk$lrh@66E$I;P2J=yP;s-P{w=rAE zr2=t@oo5QbT cQ= zDJle`JRm`ONVC9?-JZQfWHJHTnZ*L08bmJ^m8z-L)(drv{3d&20Aq^NWwLI7@JV^A zVE$46URr7*Zbk5xj}2(ESdAaJEQ4H}eM!h^d=+nmhVqZ?Mnny5E}%0Q |wh0cC3-S>Vd7n8PE(QA!}<_-R9 z?p+_36BSi`N7AVlAA?ZoK?V4%Z?GCcBgc8oK;e~Wog>r+cXkqaJJLOV|9U#~E3m1O zC)Ti>k2!`P*|cYWW0i@!Y-$YdtaQA$&el@ya_!6V#yQu$J2x1JlD;)?L^#{0)R^w% zALD}%*1ld5TLZ?*b4zH|Lf(wmD~^wP2R|+nRWQN1nme%m*6ihFG+Womq~}tTryB<< z-Qa0oA{vnr4*nnR2>-__=W=)agW;q{D;pM0@1Xqk5xYS69MU;&DFaNo2N^jRePQDv z>yf2^x4`w5&X~)@LsjRC2b*^8fQ}=FEvj!01y`N^M+Ni!`Sl1c%FT61Vj#QJ9Tfox z8DzAzywbCT=BMZjcK2V8@bU-%c%P2m{W#}@o|8%wVeLG_oZ@CVGj_87lFhoaE?m89 zV P2ELw@5Z}>@4GjAUzJ-8Jrm0`8UdnHmc6yNs(n#_4O?E4ruX`RV;k-J z&S{D_CQ;t(!di5?ppm(7DUYsRHC(L$f{GS2s#tFZ oDf9v9R!FXx?0vZ}u9BZ>TPExnv z6%YP|fLODC@+*CPfK>)y%1j>YXsfB~W!TUHis_N_qBH+yrdVEAkGkCw6_If0uK| zZ)N@oVHnFX^GPh Hn~rl)ejU046wJ z^iOl;J@-2?V8Gbw^@v&P(xT@ClTM(}Pu4=Yy2Jb2k)E)t^0CUi!Kin}e^pQ_pMTUw z(4`P~#c$5q{?Rg1WfN4e#ac=d>q#|n+nd%!k`(>GCu?)E%3&TbLng`Zl_q8Na{A2V zD3{@%BSk%Y*m4t~kF{~sVjEsxabU;(Rmk@^@y~xkDJ?k8$jJhc?&{)(ppkliZz*{W zm9kgVKls%vjBCVK;?(IC2y1s-d=c>@WhEe^r_T@EyOW}8++=pB9FdsXzf+J=m`{PK zR4ZP0@=H9t$+J+$94BJ`*W b6 Y2w z7&q>~hycapHmb;ON?1paT{h@6wh={ty^yf+l}TtPc~FtLB=dgVNW0qY2W)xU#~i2~ zY?$O1q9E(OP^ncI$N6Ab-pwG2MsLD%N@z7^Zq+$b7ePpcNi8+}#R__SH7~@3E_vvY zm3dbtu)q{bZqm28$(s+xV*C2n%Rhg$tK<*9I>zno;QAQQ!dFw6KR~bKfAedRh;%Kz z7BRH4cWZ(->CV#I6pI+_C%nPB`m>@1A0I^_DUu2X56deryHmkycBq+Hp7tb0r&;Wy zs?p9YOxQetJ@5KzxtWInS@UudSHC^@)a1lZu{URgw!eU-L{KRa0N52$P1$2h5W5ze z7-#iB$%8lE2!Z{p^cF>ANr8^|fD?Tkl(*~s0zZ_>>sA>ln$z3C6mKNN86{(!ow*k} zTslG!S>)8I$Hk2Kk1yK5Lj(upZykisiE&GDgYA5M*aGQY>+5yJ-u%Bxx<$(0m*>8W zhw^`NtPTNyU YF)zBA`z^;oVGAH3qof{eMd<++CXCpMj{ zuDyTf8iHEl_>X_UIEC&b{8SBfI_U3WEqQ#?OW(}zTfBeH3QvbR;lqVc8t_mHtJqz; z^xJUWi|?RLKo)a(UR;bFxW@r_lU30uPkH>x#=GSH!ql^Jr)1Rq&aSIlc{=&0DlY*| zJulidFHPe)Aq9HOD>31dIp;&u{rS6%t Z=D+yURaYHflBQ0l!1)W8&>m;(m4Fy) zY!G_Y>P5=v;K%mCE@rTg;$?%QxdW@t?1mq6DB^3dKEX7p=C4_dD|_Ek*E2U*OVYDk z5`Ema2~#)U8zYF=9v?Iq$!SizwnN%%0GdZo_pI~f0PecO4$A5QII44ld6x(YybE(g zMHZVo$bPTbmrx4s5V4Kd6}TAj@X2sRbGZEpKTtrR-|aJ_+Cc!6>yVgGz_M)fSNXc! zLFmIUqB*f2#hSLiqzb5DLf`h+DhJ!VIjusUcF=-J>;DZED!*Q{y$Rt=sI>CJKKXD) zKh<}waPXEk@nS?7Z>B?%=BBk6Fupsn=WYS+3I)Dr;tAu0ll_75iLo%}qJ8)mf$z}4 z!{cLSVB+ft-MQ5D2~A8)WhnNdR-T}dXbpllQU_zeAs<%p`g>)XfRw?jnx~NgVFr7= zy8Ew}89LkB@3BceL4~8+=vj!nx_U>K&|sFi-||t3{1I$3{aiD9XjPC>Mg`vQ3+%53 zu-uZzwPTp)7oqVrMMus%`1;4H)NAN#2G1}G<70VDD&74ZNim6bK#zAkki60uLl2)s zH#UrLk4od @pMBZKRuUf%lMr93?`qqEG7gE?Wk&Sq0V0G;oG`}?N{_*8i4x;`@ zk}F<&A*d!+-q_fc`(LBA;M*7?)?`5eIpy zhYO+JG!uXFe1R+!A?;`wRlsiba^M^`KU zps)|G+Z*|KSq5|Qpjkv XFzkKN)6OTvayrP@ zR4{GN<6;zqSJfIS4Whk;_)$!I729Qx)lQ?^KRw-PBR&($!6qJAlXquhmYH|>h-e`0 zX2-i7Krm*)z-0gsh22y0iqT&WJnjApnJ;KGtQ(u+B9^1;8P(tfG;gH;1dU3|*n8OL zo?)t4iX&Qk*e~;aoCRz yNT!BczU;XiS9QHN<9RT)jQJhk{Y`Bc}@UO!1?2HP8T=EBn2mG)o_P&Xl zOI89Z12w=5?LoziM5yZ2T^ZBIaQ?}Cwnx(gJoOO|;rty4zqb9W?Bl<;9~v+o2k~Z{ zZ1_FZk-Og