From c7f05b95ad23f95f5f4d81d68fdcfe3009996011 Mon Sep 17 00:00:00 2001 From: Justine Date: Wed, 11 Jan 2023 18:10:06 +0100 Subject: [PATCH] Added docs --- README.md | 45 ++++++++++++++++++++++ src/lib.rs | 23 +++++++++++- src/main.rs | 2 +- static_html/ferris.png | Bin 0 -> 49537 bytes static_html/index.html | 24 +++++++++++- static_html/main.css | 80 ++++++++++++++++++++++++++++++++++++++++ templates/index.html.ft | 23 ++++++++++++ templates/index.html.st | 3 -- 8 files changed, 192 insertions(+), 8 deletions(-) create mode 100644 README.md create mode 100644 static_html/ferris.png create mode 100644 static_html/main.css create mode 100644 templates/index.html.ft delete mode 100644 templates/index.html.st diff --git a/README.md b/README.md new file mode 100644 index 0000000..5813197 --- /dev/null +++ b/README.md @@ -0,0 +1,45 @@ + +#

Flair

+ +An extra simplified version of Flask, written as a Rust lib. +## 🧐 Features +- Reads templates +- Dynamically generate content based on rust variables or bash commands + +# Templates ? + +Templates are defined as .ft files. + +They may contain any text. Special words are defined between percentage signs: +``` +Hello %%name%% +``` + +## Try +An example website is included. + +To see it, clone this repo, then: +```bash +cargo run +``` + +Next, go to http://localhost:8080 + +## Use +Add this to your Cargo.toml +```bash +flair = { git = "https://gitea.squi.fr/Rust/flair.git" } +``` + +## Doc +Clone this repo, then compile and open the doc: +```bash +cargo doc --open +``` + +## 🙇 Author +Justine Pelletreau + + +## ➤ License +Distributed as is. diff --git a/src/lib.rs b/src/lib.rs index e6ad330..d32e68d 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -1,3 +1,13 @@ +///! A simple templating library +///! +///! Takes template files : any text file ending in .ft +///! and substitutes special words. Special words can be of 2 types +///! and are written between four %: +///! %%cmd: my_bash_command%% : this will run the command my_bash_command +///! and subtitute the output. +///! %%myvar%% : this will be replaced by a given String. +///! +///! The only public function is analyze_file. pub mod flair { use std::{ fs, @@ -53,13 +63,22 @@ pub mod flair { } - ///Takes a file and submits it for analysis. + ///Takes a .ft file and submits it for analysis. ///Takes two values : the path of the file to analyze, ///and an HashMap of values that can be replaced when we find a ///%%var_name%% in our template file. ///vars must be : HashMap where key is var name ///and value is the value of our var. + /// + ///# Panics + /// + ///The file must be a flair template file, ending in .ft + ///The file must exist, as well. pub fn analyze_file(filepath: &str, vars: HashMap) -> String { + if !filepath.ends_with(".ft") { + panic!("Only flair template files will be accepted. \n\ + Please rename your file to be a .ft file."); + } let file = fs::File::open(filepath).expect(&format!("File not {} found", &filepath)); let reader = BufReader::new(file).lines(); let mut analyzed_lines: Vec = Vec::new(); @@ -126,7 +145,7 @@ pub mod flair { #[test] fn cmd_test() { - let cmd = String::from("/usr/bin/echo bonjour"); + let cmd = String::from("echo bonjour"); let expected = String::from("bonjour\n"); let (outp, _) = run_cmd(&cmd); assert_eq!(expected, outp); diff --git a/src/main.rs b/src/main.rs index b115340..23681ef 100644 --- a/src/main.rs +++ b/src/main.rs @@ -9,7 +9,7 @@ use std::{thread, time}; fn update_index(vars: &HashMap) { let newvars = vars.clone(); - let analyzed = analyze_file("./templates/index.html.st", newvars); + let analyzed = analyze_file("./templates/index.html.ft", newvars); fs::write("./static_html/index.html", analyzed).expect("Could not write index_file"); } diff --git a/static_html/ferris.png b/static_html/ferris.png new file mode 100644 index 0000000000000000000000000000000000000000..866412dc60dda68a204978cb15726b22c28567d7 GIT binary patch literal 49537 zcmdqJ1y`g!vnYz&;O_43&^Uv;ySuwP3=A;1yW8OI?(XjH?hbRA_x<)h`|f*w!R=np zN}hC8DwRr7m8ztF$;*nt!C=Dx0Rh2DhzlzM0RfMHJuFZVUnT7XERtUdu#=+Lcc98i z+>@`DBolQBQyCc`>aRQ$5I8V05a?f!uP+cVHW2tfc_1K3V4VNXD*`hCfqa!CeLb2X z7C>PCfwBHd|9-^3o-gcwQ$b@pLlZ&?8v`>FMH2&KkFRpj9N_;$BM0Qa@PWs3K>s_> z@&yOvYUUjGl|b8zYd8S`eM9;C00X6EU;+Vw&{-&}JFCk`a~av$&>Q?ELho*4{}&60 z$DQjdYh&VUKe{3io&A*LH~N=B{p|Qzg2Q+D4ICgS-bq@h>wGrhvENI_`eb494$<~I_Dn*rvJeI&$9mwul|1{ z@IMRxgTTY^w?qF&2mdR*e@ef^#|QJp%YO|8J{bKoxfLKF0U!xsL1lN~^Gs-eZI#4N zIXaz=f;!-UYSN&XYSOUL-C)D~yzl4&aQVCRKbpB&jybuESSBOJ#)m2QhAEr<_r8m2 zdmxmzv8~y7NL=)A~W%)5cYn(-iO0 zIApZHSU1Tw(lwMj7!L?O@c*A){RJx5c3bkx$(Bqc@Vw;z2YbUp-AH7lscxfqo3yvA z;c)y{eqR5@zWyjtjF!o-;%PY-4YNNm+~syHbd$-9chUJ?A5H(=S4FTOOCgE}byW?i zyfo+Sn+K1G#w~SrKW&b@jHVpljKKyAJ^HaT@3y|WwEGy!ePR4~`I!bkAPzBRzR@9& zEcv+PH=WfPZQr+Gi2AR=?(xora}HQJ9AJJdYeZE%$XU@(2}GaJ&nvhfsBWmRadotA zFiAL4=kTadvOnEsq4T&RLD#!SJ*jN!@ibKaZTM>ZAO3O>L1F}W^x)F` zI>XRPZiClx=$6{XJpq&Vl~8|@)(E@a9PJu$;|~3(2u8C>YBY_h8DtA%zZGt^&t1wN zoyCUioV;$~2Ph(4Bb%0lzP#~*ctC|xl9ik&UkY>QP*{kO49grHf!eHHL^F}{i4~R6 zX-P>?yA?I`cUo8|SD7`CU;OB-hl>eGxMiaiPm3trML(NbuEDdqcp|1fa9Z|Jc{>?y zUvs49S06vWs!6^z%2pp|Cpy`L@?A?%?f- zmg~CTrrKK7By~n?Om`0Is$9J94`Ce09Hj_-V8-qLPVB-ol>h`|?cY%i-)(U%E_a<} zy}v!IK}HLZ5N$)(#ai|q6W)OIZBGWkmZ6h3Sni4Af0ErWOzY7v09v$NGkT9 zg3L!Sn==K~;4q_>;FxT;-P+M8y*?T4B8yxW+S-C-Q2cs4hfLr}LV{??j z*un6;{CYnnj8~S-d}0d41*Eu0R|W|4o%!QTt;Xq(^=y9!pRRnjoK;jJXw^HTM!T9s zbA_drjV=7Ks2PQ^8+V;k=r`H1`542sR1!7hRXThY_1wxxNeq4{!@rbOiy#yh7*nXI z(nS)nYe8y|IV5lbO6%v5PBL1lGiDejJ-Ky=RQwGji}4JkPR^K_XuCj4xrSSHm5*^B z3#)+qcn(Rx7eG{vKKa|EaMXuiqN?5~wF<{SrSyB6Fb=C=ha3V-vN9L9roK(T1nYBM#VW5FguJy`_~adfDod1P@GaenW_NQVBs zf?H+qT}jy1myBAV+NNEXK`^k}&;kQ|I27Crw-v;{Dr1 zlZ?hWVYCxG-Kao83pSM)>0g5j&KV<)?QliK`}gr!G`&W;CB0%VD~jrI$S%8hK@y1> z^MKW`bNx0+7*CLn9ZS`IiTNFjVmsYAgNNhAn(FDBv#=yL=vnhGJi1a(!-&sGv=l2G z*Z?FppZ{me>MOu_T4AB(F;>Mu}pKy(Hb2*FMnJB~v&yradP%F#XDa zwW{QpcrP=lZ5%E1@?)f=qCoh>iWaE&nl>6V#y;)w$iNbOn#Wsid3dlWxcr1CR7Z)s@)gP51^>r=A|!MV+^5338fTt z`*3%)h^jI&8m?Nk-(yLnNXI(k&k=W9u&tJj(*i)4BB&mMpGm)$@~NB*$+NlTThQ~l z`27~kd4zg~(C~`zfr*C-h*UVru2&)|Wry_u9~Yvq?LtR)xl;G zXtdqfe>8dIDYxVcIKux~D?Z6v@=gMyn8fhiGn1G`qI#zxuTwjVaO{F&HAB1CH+Y__ zj^W#{{5X1QkYS|RsoY-Payvb4*{O0(l|`VO;r(|T{D4^`%9BD$Ue7;4VmXaa#YV~V zN1x8xJRXS|HMU$X6B8$bi)ya8m;Ls<^$BMa4VhgXEWh0ipW+qUQpqm#9ABKgguu)pL@c)GflK4%7MOsz{8`7_UiK$3$}#g`kzXTD)#Lj6{ZOlNi& z$!igyYZJZ%x55lMxPDaX+xMQ22MUnXt(B1X)(bKf5dbS`7t?jkb1VkcZkpU3TI!x< z)-0n0#UgFvXIhQe>7hDt2yZ6)%<)$3W{?>m}+GD16z9=z3{v3^5hU4$nOI7($~h zO?cM3pkgCSu6^xxkKtaRU@K_?} z0d~u+P(dV3aY4xAPO-Z8h&a0%50nr&Tv4jOf#+O#)7*hXMP1awKbi0VZ;+a{{Q_Iy z2HzIO0}RMGI)v{tA^v$=(F1faSDWzIsr&Z3x=d|IR~0|F5NT>Z#Yjd22Kf)jl4__t z=}$O{#A5&j8VTMRM^fvSi}9~HFyADhq%d+|4O5~C573TBOJBWU6tB1{TYIO1vmXbX z9TY18#W7DN)zf#%Wg9}g_tXuDR&r?zKRZv1XgrM9@5vs)%`L%*YuE3&(u0NX2s$K4 zbDKBTk?U~0>KcJV_O@1DJlB@6=9L}ljF$q48*HbsN6RyJhhff^VY=trC}!D0KWPvr z*Vfl})RXGOCnXUmptFOQ(d(iV_m$ylmFr>XqWa?-aiJe0iANvA(4zE&EjjI`d5e>} zx-$;i)UBu%>}#Bo=z9zZh=&AE;Pp$pL0ZZ@3*o^emUejGvtWD?n8h-JrhR8R7j@MtgG!DPAWPJQ zgev|N%HU$Rp3IS%aTW#U5<;RtE6-_o)mKbqVZ51Kz(xnp-b2a+3NWhLrk%e=$hv^p zXS;gC+$cEN=rh&!eFIW#oBS!;A=e*w&(8JSL}H?SL<&z!Dy1;f>cK-=YJtTKJaPuK zi$il!TMD%+VIdp${4|ib&c;iz#;iC}yD;SYt9&A2Kw~SVZ<+!Mn|7Xg7)ZQeVKio6 z%V+GIe`H9upq8$}JJmh$TS0j=^?Wb!~iyg-@v=;x*sfeH|qGR51#adm4l$ zis`=bYvt}n!;Smo{pZg@j+*y$>e-ERPDpk``n7I+6w4HYprt_#&Q04&6)#x_@KHxg z(lAq-P9ZE(2Jc!v>=-B7AaRdlqnGDi!5)10E3KWwpe7DcA^6jiyrBL!v)HGTcqW!B zZ%G5SD<`T$M0zc;tc1=!S?)wOQTC&KdZn?23KP#OlOH7eaEm|V0VA90;=-F5#6ixM~5c1W7ntH_}5%r$jS?3dK2K59}B7&R!;}n$`_09Ym`{Z~dh@`df zjTfeNgcct`EM*J(e7b=cc{@>Ner0TkER_$8>@E8iM3NvOoz^m511{Wmu?anIgc`9N zN3gt!G!|E&*b81tK$-KbA_r$do(cB7nviOJ9N{B`l`F}6aKXQ6E}_G0oK4A4fsq^ba}@$T{;a?Uan5-&>fw}`#i&VIb2a&uW(o+H z!Sc(3ceSbX4^ve} zK*;w61A8CSv+MWq zJRl(?iO3n4%>=hxttI~EIz4P@8xH?Ss@=0e9s>44ty%K;sAa?(Mu2q1nnY61wl z46v^OoABuNqM;(_g+m>~Z|(|aX|S_+p7Q+8fen(&uRwkakI+_OSu7&bQJaC=J=5bm zKBlwO1xvHq@K{xBz%uSI`Mb^=?&A=qV0203O_v>;HJ*oGmW>*XCs=e#WVQ>Y>Ue24 z^9TZhLyrFk+PSU|XN~yk+5yvMiGDcCITixDL_AhI6`6fjb;=(9OCi~wAUj*7S8oRP z!}@yRx#6Zg9*V@_;-8k$+0!g?0`)BEYpldMy zD%?*fM|cn+B!6~D=18vSo6JF<)TgPPfHhw{^t=EU|6~v@-ACtG(#nEyRrlzXoXnXJ zN34UIt4@wAfqP|aK>FJ5Hk@_sNFhiKWWYon;C+~W>rZnwUwx{j?ioNCcaacD4vLjjgcnb5FPB40X!5KdfUT6@$73+NwG;!lf~sbotkz?D`iWsv1WY~BZo1<)4ko!iCqOrs=?*Mu~1nmOX1pZFPDVl?&!0AFa ziuzkV=>@bCs{Z>)FBE63v2b~01eT8G0_;|2;E*0UQM`{_$r9^6Rz$MomgPY2YqBvo> zR!@r#Vr}|jMg-3Xto$iEQPiD~`eQaJvwlS?Ng;DMJ$yfS4!iqKIF^DgeuIr&tHErW zX)XJyaA>B+OvnoyInkjzYhB)Wz@0r<8XY_#bHDqT)$c94&OR)H_iaGqq{mev_Gm(% zBN9`JWgVB~joY>$9N>56ufzOw)Ts2+iR7YkSGhqUP3y#1)94Yybu{Jo21{s>;X=yo zZlIVxE|}}qu;yJ97~i0>qj`>5^Lcz-pgEr(McYRIoGW{Dc7R)nkBQUR8;OO|H}xOB zoS`lPx`nTh=ZlN^7nE>}g@be^IVC)=@;G4LLrOT>6nf>cO_|Lfcnt5X!`0bM?TJ6a z==UzCpwq0o$7W$ana>NGg`=v?imZjEVBWMMD;ENqW&HuNVp&E+XqfNYwgZnOi7k$5 zhqE|mSbh^E^1NU_a`j;;&Wq*o6vCjypot|lBDCCcuoSeGfa2kryLxdCL?Pn-e>#~Cffns9Gp1+;Nh5lZpLL3=LZZ?m z!-}3XC~wTS0<=)0#Li0KhK|43aYArH%5fc;&ABR^n>_}N;>Q+oCC^lwkF0_WH;H&L zN4ZAxUm+EPgEUJkFB41*YIk0_b-{Qyx4eF2xL9e5a(_^)A|LYcj|yC6#^|*b(eJk{ z^J3HfqC%9ir$$$Fq_?%(9&chxjMajJjwV@&!p`lIX9F8Ny)R7)jV>NRf-01bL<}x?U>0ZoR^P= zAUR{roaFhv|8Tl|qwwUWj1rJ?h!M|p)~~XA&bW(;yNVH;Y}M3*8knBH?h%KF7rioc zje4)j$^?DHL`^6;lT$?P?tCtwDO)?xYJ;$WRbo=HhJZOFTKT9pRMEa_*7JM%7^+w) z1}sz)MsLX#=kC`V^X_EKmEw}nF83OQgH6&8PB?-bUT3(ie5Kc`6RQjO9m2eM&nEHR zb3F?&<62h-uXWw+(58D<96a6Zu0c`4K5w5NRH0)jLi{*F85D^+CAu5fql{PQu1>hY zJlWevRN@Jfe;E6ReAjHJ)h+qk*49g;rrasUC$>VUUaNiy=qvlY3mX?Duv&yNEwv=w z#&k6?gMs{ZDC~THu^5H4wgjqO;DIA~fE5(T;HHc?Zo-1(}$_ zkm72T@imNc{eD`_#&TeQk3^>?W0WY7UQk!m^#{I@&4tN9e3Zyu5`2kJKUiiY$IZl6@q-Sl9{m_Q~h7V%+^ zjGFs?rA+~p3rELt7xkqdREnqUWLK;f8v*_~TYS>EAc>Jdnf|+M&T-L`0iAhlMhg=qPDK-xn*FKh3X(Q7AY@p_b6*ZkA;O#kB|398 zhy~G1Gxd1?ebTHpKY4J5pa#yTAJN~a?({Z##hvtSDV2oUi%jRm zuc)7S-n9*fueIqY$H@pCQ6(URPd)}@Cl(iB3uRl`vDE{Xn7caYZ{Z3Kg@g#F>w{LZ zYE$d;w39SI=iRfYQ7Uf-!rvLGUpF#;oeKVByqqKfntt~auHVtwik+z9| zX=<^_I<^4NvIM<)tKvvg1W!)8B<@NXfU#0Cuohc&1&2MJNebSjNoo!8{S*8OAQvD! zC1~Oh)cviDZY7%%cWu1l$(mkBTbyL}boFI0xgf#y+T=?!W&WbTX&`b|b~p4*%Or+76m zvz_G_YUa@kbeCp#d{K|%WL>cr5zr291Kd2wf1tZPoL#w`EMq=Alm){BN=RxP_c1Cs-KPtUGV!r}*^3Wi% zWKu`(&SbIAW@XU=Dp2vVtie%i^u&@3b;*0;Z|ussG(@9<85UBju%ui}>g`;@1C1Cg zqLhZ;wpoPJu$s<|$={?tJRu8Op0UrKf(5{Va1Kztc13f^ZM*Y^|A`6$fjDcsL-o*w zuME-++&kkpcoNDx98r8z$9llDRB!AA1e)M)^#W?vc7s7U^I#>$5<>vhkCvzrEn`>) zJiu_#C?(=J5=w1AoM;<(}0p?={eMxHDoyWg{=83$o~9 z+?SnW)ME8;5>bNq%$PD3ys^$%}U$TKf1llRWdTQ zpATn(>;94BoG_@~vk@4rc&G?Dd^Elp@zMT7>c!-gh9EJUfOeri#c|7)G)Y~ zhzE1Yd9T|e0l-D<0o+;mAZ)1j3epZe>KYJ6<$X_)57U8oU5jtzKt5u~@~Ob98?szm zEQcd64-te-J2V7)fY+@x5>Q@V|79?Lr9Zv4y0i?sI`h-1vXhjmv|T*kGnaX%fr&|* zxvkw3n?=!Y<||H)8Q}lQ0?-${Kx?lOY4=*EmtbN#&)mH5xym+x%-7*g<9JEDhr4qZ zeT3>-t?%<4zU}IK=kpORdWQ}X&jiebcA<|-tj$+L&w3VYJNqm!mk5qJ=F%*&-N)f4 z1~16&p@$x^Ku^l)il(ew*{{Y zPZB636T_II*-WsU&|ZAh`y^McXL)@ablOPW5g`m1`!b zQ`>?2Nu=Cht1MC(*jKt1Rr+*z&bh|lZPTz&^c@lUGgNLw5FMSm6i2 zAR=m*9w+O<$5x2FYAv=dUSfvX;W0d(S!=dVz#Dk=896$5k?GFsj^eablVHIcdN?g? zgKX@NWdNCeCfU9t zy6q7?kiJVsSiZUh$yg{wR6-qW$>FJZA*W{;N!9-MMBuoEqmuop;GhlW+sV8sV?u|e z7p0VBm+~5Zb}kEegX&)033$3L>VWS4{1-o_L_BD=oUUzfoPzHhj)$Vc^Zbf^O9PtL z;3S(>Ciln?B=fV7nj&f;U4N&nJ=A{nshxrUXg$o;zD2tiLOzox9K-e4u}kz}11~39 z$FKJE`!dg#7w4X$+ZVbP< z=rN({*GppzM-*|?O`EwV-OXadxvF;+!ISX|6pLlWr^U7VgjZWhn?Qyjw(7HjZ5ab< zqMR$I+>Xr@W*FUQ$#E%!8K$Rg#FGF}$v(QzdxZf4@g+fcg6(4VhaWynXI7CKYd{R7 zPo|$idemuzqYHf-JB?-P7Jp^OlpMB7a z-Jy{9PNYxfMJMSDk!$Vk5}^^?B2k8&XOLnxC!B#zOI@c4>76dpqd&AGE6W(>9>5o; z_c_CRtq{MuyB!TjH-|g!zc@~U!8!T2EQm-)`Avu*m1d3ost6|630R-0Tias%^@zr$)VbmTnJ{z+#^zq1)5L_$bOjmX(wFKO0iUOCjOPfa0 zB2BpyayU2b189CC?*@ysHiAj@ytr$Z-d!q|a>iBsLP_}~smhhFRN#9nKd$-yIa0{) z@_3qY&CNUPu;O*9&)s4RQWcn8hc%d|=f5YNlnDaB?DWxRjn_}1WUh)xWtJWeI@%73 zGKA_#6VJQ#SF@B!&n_zkQm8mEWUkkrGxgP~g9_{lGrQmSuwuf>8OF%sFi+)F?()oJ z>#^otCpCY?QzF;fo_taCfK)(Z}V&>b<< zU0zHtk3C-_GX)Clht3c81uJC7$*7+5&&lNFOv&6b5Q8FefOU-c5ZSo747~7@$db*j zL5L*IQ;WhV#+)|h)K$oye|LaL4h_MXXXBi%HG0~j(4CF)6If2f8+hahvtLDMb z5*{qFW_BGUpq0k@JW6;hdY=E}i+yP}FkE1%@B(~ZQ;wn5Si^?NPKY1F#@(*cyWz@l z?zbKUU~UEEIZX5`6X9~d2#bB0)t4nhp1(hx_aYZ!yhxHE&XmhHI=fu%mJULm$|M;S ze|We1{lq&=vYYlVMRIA_l{a#Y)ch9VWX`<55g_C-K|QFx&^C5N;XLLQVEhHN``w9eN8xDR7hXzP>B@ERd-T62d% z^Dq?!7yYR;Q_2!kAGADWYmrn10p*zNd1r>6-{-fpMHH=%Wxpf z&hyGEM%E+`f0Rp|0yiSbWq`{xVtxpd{jwXeY_b-v-QpJdXoM;?v?ac5K4f~~bI$(k z)@&q26KIP6oe+x^Yb>I@08f3S&s;6^c4jH2JMj$R=t_ZnW2AX1^yPu&4;YCS zSd=;0w>Gk_uu<6h16bmf`}~ot)cYgoggp?VzSE=;@sN`brTm%7+wND1B9VizUrRpA z`zU_ZP&BmxFZqkZd#I$F<}Zn4PcK9N7U@OKj@Xv*Lfh041rsgEINz89E{-uw_c&VX`j6(jUz8o}9*<)WXL(=c0F#G0iz zKjMQpeLH+P`><6spaWb|0;+P6v#4%VbK;Nl z2FY~oH@}1aJu8@XPmwxKFMYqH)MV5ouN#t#B9f!V?r=P~E`^trk}uI+sW>9ha8W81 zymTh}_G|MgN*FW1VS_7n#eLoDx)xgY*$)LKide)cuB8pws?mH!N?D9(wiA{n%OH#d zn;G@9!dcXyXcb$Ew0lOm*$dQ3+I26=3ZG1j@uq4bH$Lx&$AfHaSb@Imfxr%^Ko|^i z1h{j*tpAFQ8$=NJ@-_ZFV2Ozlkg@j4VCL3@Z-mg=*4B>KuU;HU+ABYM<~9GAf231D zXLuYew#lJdKA;`XEMSe%)aBTeyscp<*hT_=P`)S###%gUML$QjC;)d_JiRBkrrDPL zzA?d<2$RK#2m9Ig4-sHbPOgY9*b1=Y$B!ZPlrI9qC+@w64gD37FWetE9$V@)=x%hs zNWc~rYq-^xV@sQI0WCLKSI#dM&}FIxs$((J)>LP_(QA${o9}Iz{6m_*HIzNHb$dOe zZ{4iarLq{qzfW!LBcEw9n9uZw(Vf7QuROk?yEtm4GIEnE&GM z0!0K?Z}C$*z*3|weO-f@8&$9f5vmZ~h19?n0g5tf;6dBIAqiQEcF33GAn=%Z7KgIG?XakkBYi zpZ=+ke!>2-nh$`gtW?xLX8g{9> z^*<>x9ex%*ba3AMgk=<(95@ zbbh_wR#B0A$i&uBI{4|d2F=wp^y4R4s^(cq8C-Sr)R)AI5kPVm$2E#_l3hNHE^Y=_ z_4D||6S5=?42kjEZ{~%16ZljI`B!`PMLKw0YiYhOQ3hdQkpkKl{CT7p95v+3om75y zKxWl|Ulx}IU@x~49lQ{bC|g$H+EYFw{Ixko5TP1Op{ew5CXwBrZ*W90RKiK1S?*2a zL+kEbr_Z9=e-{^rcTx?;LH&l=enYt|QAkQDkII|>q1lVwKX7DyytK0)u96W+r` z{n9rVSHOU<+9ogUFZ0-h5$!`7Pt|3MVpzu+-HaEeNoYEECi~Qh7u2Z*26Kl$Th`5sxA45x z9;n`k3{STd-Y8AiZ<$r!eTpU6lIyzEeoPuRax1f)g5{3+>`LfQD;o2xLb41SxK}Ld z#oTYwN4|~q1rbwkf&Uquczb0F@NCY$7>@a2#yE|n5mmhAxc4;W@#VVtIsunL1_=Th zL*k{jTy`u__Y*9^P)hsavwYc^Vz(1X3Xu;I;2IylocL&b<=7SyI~+b|f$Gz6{aEMq z3*`d~$J(X_qgrZo#l7k!7~IRTmgS&2rr(92LHS8w?8k{I<;FCP&WuKk!DOoo=21D$ zmPPwz;kgk!SbaeK8j4fe*U4NfpXYsEA`@5L<5UTu45n-buDwsuFEQ)a5+MpAOdx%Ny1eJZYBS?Fi&FKLf>P8 zP{w@J*O)*zqK(zMac-zOwDxBGcu(qawPP3jz$f{L(7XjRUIW9*!pR^pB69QIY8+CsMJ3sHM};(8ok!vfRW{*pr{I zK$WJ1_CZ;y-;@!Lgrc0>KDNb|*1_Fem&BgOD^WbeLid@|b^&rp9@Wo6f5#9mn6Z7T zDY!s*NBZa9hAb=gr#NB8xv%Pn!o1o+Du$>}y6s@wxHiN+!$8bkLD?$fq43xsiL=M$ z$i|*koZe4p#E*KKWwb}}Eyp&Ztm?!F%KIvO!3CC3f;D67>CT?w{hvS+_+KYswO`kB zVk5u%IPS+0iDuEjZi-6b4_ zD=~3vYZB$(A1B;Msy%wDYVvcjaE|>X@t5(RFl)`X|1gcbm1opUIS05A+4t#Q<7Wy} zy9OeaPj3z$U!cX9@c&+Wne#{#@*@U(xcafqqL=V>6TIQYFKTS{WEY5)h=5Qz9%EI~ zz{@51Z~xV4^6VfA{JXE{n9Rpk&%vOs4?_1+1&H@Dr)92J(WqkcO%|3C*j2`Q*(gAK zt6k&p$%s3!0i%^rCuAydD9;%{6pHAhcEikat3T~ znj9YMC)5HGaKWUVR;)@7uo1`x@Dz$LTDPK#KW%j|rR`ZHweWTEljp%Mue-i0AaJYs z!3LXj|GEFNw#dOj_8!SzKH?>L(20VU`f;#=f-xH@?CdGo;^r`tb9ebg$)q`uIZ--W z2eX9o+Lm7^BLR2YyGB*#vIjOX(55R4dbJeLj(Z-m#}pQ5`GY!n}cWZ~rnmjgJ%LAiwkL zpZEmP)+qE+khCsT)jDP$U$!y&&K*ZYg!zHXW{Z`za>WY8#j4elY&RKfn&WW5_5nKo}kM z#9_bl>}X9>r^fZc?gQ|~E_lULxKGI%z}esgg;HXkY>0)LwEI73OO^R2^G3<0H2e1d zHHK2Spa?1TLx{Z+CITheR?)mIGGFq;%%iCcs59q`7YbZr)Yizk-Wh89g%y=L-h79& z0x^MO-#MOdh}Ivdz!WpM%O}Kq1#g^i&hgy3Sp2bB1kDQi@h+^+m)uET>7u}cG-J+~ zvhOke?W;SIZLSO2sLj+dq1N}$`>}H>3);dK>&4kfsgz268W1$|w;A!&Kv!-)sKShj zssw1jE0b*g7i zWT)z%%RB)^!v0b8;ddZMn7~FOb}iqX*%&ma|A-(JrH>^HSTiy|bNWi5k!~!s-H8qN zp($14i17|99wfvYV!f}=Wz}i97?!_Cx$(Y2;S8bIjWMOQhPVe|!D#;Vntp9m3dHmo z$xdd^YZqy(jVf`PvVlWbZF<6qr4uJ@ntt{Nh23yLomq`jgjLTz7*_BEB^uAXOnOzW z_m!K&C-yR^8_wyCz8B({=S*(eMLy^gJ$AGnwyw{<9{p3jKp_;Etcj*$C}behTT!^J z&fSxLA(9*=6Yq2s$_;Q^AY8Ty5Ub-`g=CLy%n{i{Tp~IJ%Aj@Rm})1>v*9g(H>TGq z@R7G*yh7Ul>xgYV*SlfZ`PI$WSSsQKkHt&DM0+iJ(oG!lz!p-R6Q}Dw09m&2CNp-lzd;Yp(4}A6D`f1O2StqNjk+- zy}*MChe%G#Y6~bKJY@>VuanKR_R{2|+?x&N(`Myyzuu0dLM^t|!8p6$_W z_(?N^5hzd3P?0+7)Az4QTZ3ee8`JlbI>I0OqRr7PZOw#nbvc!R*v$l~Xji9!H6^_d z>KN8__Zg2g=KFXC>RoE7bA)%sPmB=$OoxUIx`xtFITHq&Ae7BiS}AGL=sJb^H(DCz zKQaI4b8{ZB!mc&ri(2e(E=JLO^r zm(uf$;IZgJ0s&yBcHs2qh=um-n-Rfu((1os=&5>tVzN~vOXiwS@$JpI(L<{#neEYEiQD=Xi~dEY%o9Pz6e9yZL}zJk8qA1#b7*F_t_K?s3JI z`oX&KC$tp+vs-AOg*rJ`Q9!YXRRtzDL84%5w$Y@Yj;hY{MvW?+5Bpz50s^A3SU!}R z)W*GFn%s6oKB5@s4O=Rj5~h5rA(3WdWkV<20y3i=XUbAyR+noOU<<&GDQzJhTlOyK z+q2)~mhKgpDDzV|U_zQUzfV2X8-a2!#}Xrz3KcSG z5ljHPz-&8Ai$#lgJTGhfxE+Mlql;1?xC*C-j8RLeOLCV@+h}L0l9cKa`;_?Zmc0!1 zGR>S+D#*q^A@LH#oW0qsWKGFhy3B@fokNNl#klv;VlD$}$Jn9*7Kt?V`u5-t!Z$*a z5kinAYANVXzrtu&DE5Ry>y={U@U$ z*N}}+pr!@{7quAOk5Kg}L{yF;jyBEWKSk>elxfj(e>>zm6la6_c92NsikXZEUqH!WA{zf*&Ho<-H_lVNI_}Gxbky;D)7;Cc!ENBE4bY1X6~l zf18f+uD8nGzfDzCccg501RjvRnFHWYxM=ET!?&~lz3Pe*+?|s?iCypVbl9%Us7qX0i=sHSg%i&UnaWg0iIxq zj*pHTTtf;H(8gW$Tfh)A)#t9;traXlPS*E#Obi}zNNqndVNPYqCAP2)) z^Qx_LTWon%RIZ$OghM*0;G}4WABV|=(%s?LQ4Jr5wh$g?Y6RmlTbG(|Ab$J*SPi8= z{2RYZ-@~s?ln?Qf^NVtPI75A`p?_wHV)n>TW^RBvzr3_iUo}@|*87Kx=ewnTfRe=d z#i7x)1r!7*Qm=Y~OEfagMl&_N${uPk#Ky)Q>PSrhtwd{Z__>3wh9)!{XF$Yq517sr z7Y#T*PQhZ=|1KuA;mFpoT>WRE{qpz{LUDo^iwH-2zT275t*uyem}9!3j%K4!F6O9k zhm~p3dR(4_l*NKMF=!)!{T!BXf(+>zwFVTYb&0ePR6t9#N8X{eBl}Kr~@MWRjg8 zp+yrZ=~3c^7gO{%;P<5fR-u|drN_S6YuCkBiAikxdNzBVoUqp-8|-c8@Yb8A@p`UO zcDCTfj-r*ku9)|Q$1s#;t~l5xP+Q)V zVBX=FC36H%lK;!mO8yO`l3>6{GvcI3hb1M$gykE~@G|@Bkj#5K0^OP@Pos5z%;BW= zD*pMhb-EFFQGeb^g*Z1LRzSu)1g}JpAi(+Yw82g&%??W(wA_2TwnG)p-@*9T-rWM8 z)j8`x)hMRb1Y%H%Kn3A9)ia+!Izlx_VkUg)LWaWGWRPu;PK=x|^94;(3{E00;U5Vk zh9A4bK5b*(!ZH@$Z=#v^zHT@EHF?pHFdL?XUL$gK))qh|-E-VT{Ff(%5bRHUJFmK% ze`3*l0nxkX+(~*VdW>by&RzY2LfJGplCtxmIp1>!<3cDIPtih^5J6R@VlVA>rqs|4 zH1>!i9;fL04lQiF+B7TM&3McrzxhoInVlszn}(W)SX5k@-dQA4AwKjvvhy3+-ajst zFISGg{~112aRhJO{ln_EypNHh<$A%Z%0tGE&Q6qqoYUdbO|wtqg=CvmoofK2eZ4e)iTkqu96MN)(v{~9UvQrni`SbV!TO4~Tc zK9mNhyYu}3ra>{V`D)~^}qbHEBxtT2B6e4a3;c@9t zxH;`m_+i`L>7~xB@`3emqY_!4F$^SomsW9H@)mQ9PBgO-0N;+5NY1L#STI63xOq)8 z{9peCV0cmPX*_vrNIK?5Ww!@h8JQI=n!MSz-Wuatg+L~bMMkzBN_lV1RNjl$@b9?( z+VPNsc=(hyEBg^E07T7=TzckG(Y-dmjO-He94eO7T7oiVPa5u>9Rv_%_%cdU#tF@6 zXU}u)SY|XZO+XKCh?0Kn0Y=EMqEpip}J z-k8bAxW-9;-Kb|{c4H-wguut7Cq>L$ql9xOBEgPg&ODT{E(leR;8=ijM`r>RZ2qj} z(5?Q!Bj6G62zUf)j{yC+HW0&ATHtz5*0i!QseQ`3r%?9BL27`mtb`z^QU#Mk#Te8Z)g?-qK;pKE_ME61znHs8|T)s zqG`%&DsM!NDu7fxvXsyNlNF^xbl+6NC@8)Eq)+a<7r(VaV)X>T(Qt$*Qgcg9uCac= zxx|_KluumJ$U1*Ii1O!cdL1t55as1)lsBj*2)MWgH$%TNd%W|=4 zc+@|D+3tB3=P#Ao-`bOHHjUQS&Yy@t4U+%6{`ettK#{{VhI0CLa{}BWa+rL?Kw(v= z7$yNN`-9bdOSaCpj`n%hk=nzJj#*M>kMzdup&qk``P27vxHJ)V!Y9Jg;WPOFnp`hN zwMwH^31X|9-L@ERkUCZ#Jb6BU?_Gu4CEhc=eek$u^3POy=Ge!ZvNb&+et;-vE)U4t6RyG> zInKaE$0E3Pzjm_&P&UnNGn*d1nX=H<;$D$x^9Q|g6sBzf-?)O=g4Z-4+b&XM4&)w~ zaAWc?yZhmL?fNGNZ4-;{40Cx6D3;AMTi9uK)NHdOW|=JjuNhz@shs6!Lj#fK$H)grD{0{@mg6H)8qu}dCqEE zYu_aPlt{5qWZew<`OC^ks6T0cX1~fMjC%3nWD~KgN}(+Ja}$mLt%1%z7jLt+w*9Ps z|lt2_Ge5_xX`dKY~iAeJlnR&au3~WvCRwwUU`h&vG5?w- z&ZZY=^p~hc5HxJ_y1vVj$FuwcDeoX)xsBx^o$2zWOu?7oWpYv?J`G>pzSgcEi!^hj zujMClq`>^i??d&Nx-GgdAEq_}yfz}sM11Ct$E$RCl4}v z%e+9Ul5i$zsu@W^`m`A8SG)N^i@o))tmUshYMDh#t+%zqQWPkbPTQtUn{4gcwf3Qp z1S<#T@4vr2{McjG&h=Ibp8}s5yup&XAA%qij+vMhkq~CD&$#-kJ&*+>q$DD9q43V z*18s-g=0vXc@7M^F&z3FQf|GsA#2>qnaVkXxN^xk){=R~o_-)}_x$J2?U>h|fEWJ4 zA;a3F%P#w=ty;Cp=IpbN?c51z?$}=NX1$R6LJG6^+l0dD*^oTHa=6($4m8_CPB@y1 z6x?b6OSK(rgMUG??EWunUG+ZL4ZZUy;pUrfwquS7wp2XefCKE&M;}Gd1R0GO!mvO1 z%;axls3ZEjgUmj%80?4^;ohrgBcPi3TTO>5hcM&)SzFPz#;%GuVWNuF*n}B6KF_VR z>8PacXp7r?zBRVwRVh8FusAVH6Hg1B&eM!Uk853nr~FY!Gk+w5qXErU8|+VsWt z_@(#Q=I>l!N4)E-pf2TSlJaZ8wRpx9!`50mg8g=7CQ; zlI7hDE}qAT<@+xVq;U-@6r%fsU;eYn5D0dbO4~Qsv-pF#Q0q65WoT&iqBFob69b$p z@noO1zYCS2`F%=B*trLhP@NG_!sei6{Z0Q0J4|z#BF*8Ep(oGgNMGlfA9)|o4f1~K z_k^eehUd@!t~Ua_F6!8^?#%spvnBrdrvX_)3L?H3+ttJ{REg*Pi7X>hJn5v9>|5XZ zmLtnU4ml)v269kP+Z^7ow{Zd!dfP;6JCs)U3#RlAyUuL=*1%F!(*%thAVZO5#{qWl zE%(^>KJ-Cbc={PGyE)D?ih%LKDkR7VGu@DZOqVQKV%J}Py}N(T942)MZh*meez6~c z7)6$g!RHR9Jzw~1v)?=&Skvm6{CoA=ho(V5s@PQjfZg4;r~S3db+kX`1Qwy82~)Vl zz8QFQ=(yT`h~?pBs7A4kD{QP&G>)+$(%g%8_m7&VbfgJ6@`CL)D0S&$H9KAE+nk-# zqSRx-I-sJ{^EXZc1ZWnF+N^cHMtfH0)gbSJ6c)Lmo7pipnBD$dK$L>oj zI@yjwWT-*KXhB#-5_wlwmwoC}pR)V!zuyi%_~6|J82Qgby><`y%;!L||Eqp)_VZ1F zu~ZT8=11j^8v_Bg>ZB~mdF9?8`>yp#aFGBt(b*fl&Jkq zy}iBQ03*WZVGj0&H20u7-f*MYpOMJ5ZnM$w8LQm>8VIoJ3aeOk@c-I=wcX&zQhjp+ z1ign1A2hO%%CzGedz3lI566OBtC!M9q^#f`gf#mxS;nFin$60O+lEhoU2jIBKZO051325kP(P9F)RbGETFP! zL43@}NFdc>Ut&wI|8*l8JOXWir0D=$5;2yTh_o5;JVc5gldut{?YOtHT==IO9syN$ zj5*2;e7$@b>_x9!q;wgTO;V;vqqDQqR<3m0vf>R$e<5}&96UVc8yez zoNN@;qog_I=Z`z~vh(lUWT&0H(&ituu($%|-4&^^C6T`NwXbzobS@&&yjzD3Bhr*4 zelXSZ1F*T3`QAptXDGA&pb!FD`j?`A&#>VA{kp+f#a18~6-uO%b4^2-^jA4s8c38I zp0E!x8GI|MQS~+hA#qiLgZiN?lH(wwo455nVe7Y_XiJvLu|YQ~TCB5Nkk#i zA_8|q_`$f&4b-000pWeOqMF51j!0pmRgX$v8~$!#vf_d#^-AGbpzCF-ll+pQ8< zX<{C0E9evD+NFz>(v-M0n``|mlNp}+!0*oLkMv@mjL`HIfV4yXW zl?JJ@BPmn(jfa);(#yyGfnEp#4+auix2kJCG!_EXNrr)zT;KK3r=OwRY5J`Zt7`&Z zvGOZTs#47};`!kkTw#5Jk%`n)dKaqlJ`h*Z&1*_Uo3hhd(soDRGFvHQAW59I5H&5N ziPM8CP|bdmdxT>{sSe6V*FQNN0nHD#&}rX#2gWvg?Pt@N>{f`#Z}|OV{f?fQHEWg~ zdg!6<*4Eb2379r&n~|ap52rwX|4d*MG*NSz4kI#k>(-cE@l@Pi5E_xsoH=tWIEuO^ zsZz^I6pFR7)x8+>xv=^XJSL$gmb*e98V&*1ZznXkiP^`nQF*}GkTk#&l0rx|C1JXP zU^%5xh?aUVpLt#@7W$m8hLjnxt|nm;a)*bB{M^>0U4cQ+_n6z9191*5DZvxhC;Ix` zzMbm2s-YTo#q%GHfq>p-NhVrXbUDsurfG|j(1Np^97cpGsi_5@vkK9!U*?ecI9J1RM87Eo-|l-!ed0RiQZrVZ}Bfs58sD&K!iC_ z1Bx-SIi)XAB~BH~a>2_W%L{YZh*$$z#SX8WrX@_Z{m2N2-ADeqcffvxq$kph-qqn{ zE$6rVcD2YIACjatqJAevd$&WJ?~Ep+V{1?&#O+MIh=8f|qrR-1^!zgohJfl-s!pwW z{2F=d#QmKX<(C^G0?`8g$lxbBS8ANR1NICgbs(g0&9ki2gcOw53bI#f7To>LGM03; zZ{>Lpu{~K!)}BiSqVIFh;bEb|(AU>z_uO-ji$%B<8>I5ldQgQwAc4!tLj_}kqj1>y>uQ-Lc@a7yY?Ntwzj6UA>u(!2)J)SJpG zwWRKF+-F9Kbd50eQ25z~5Ekr1B35%|DB zFeWR9=%Qz~Zry5k+<}glAVR1lM7_&Rkmf`gwup$7zQ&7fyaK7vA%o^?;S)(FJ4^9gvBPe<=_Z>oV}|vx4X=!e;?Fl;p(!3#* zG;2Yck|X0HM_$M{_8RB(ciOEG~ zuDkL3%}LX-$3&V~u4-jFW-6bLYAZp&xqaA$P5mj|eNNW20S5bgmSfqL+SqsPDN2 zPkp?jZj!8&y!d;okARve)sk*&WgUCgUg=U;k2b%-!=xch;ViO@^x*e*AZey;T}Ya8 zp%=YB)vS`hC@AC9v>H;Aj1Q9q0TF?$VK+cx{r zkACFhtVF%*BH%+LFfDwOpGI3;uSTdBO4hNOhmsYlf+TV&ucdO{V~;)Dxrp#eQ9DP( zD1W=>pMSpdxm&JeA9?+`0SWwB@TsTD+5zA{Mj+riW5$naENJE4?KFfKP|E!%*Xq@T zN91d~6O)QCRaoa>pv#h4tJ!vyy&7}n%cY*hX}bu`)zf&OlyO~Z+Q8(ejEDUrjfa35 ziaP)8w3=VDzoNp!7@i!&dccb>zSwTR{dRXQ>e$_nB0nTu{{HvBH|>e}D4wRSAG7q}&R-K=wOQ1xu| zo{d(ZrabS|vydk5NDk6GwI^-gL(U#62*|hxjq#NTyodoTl;~og3w`s+^86 zdN5SUYFIb(1B5%j2#>ncffoY@Ur)v3#NK+9`TVwBL z$;p?g6zatNd57s$Lwa&XBq>dO?4toc+B{lLhJEFpz*t9a+Ag`|61()$OI_jBk&i{1 z5n1ZyZ-4vS_M6}Q#>Md{OH@jgm|TKmd_0W=<<=XHaZj}_2_s2sGBmm-*vZRwge)y$ z(*WV&haa}Zix=B@=bdL4UU;EPIwDQs5)oiTl={|n8T!2HRj+dQ%jvp8bg%nSZ!6WGK>B;lsQbFrD;paju!idc8uEeI-8~`w)`EV8Ud(DDPcyyI?@c+X(DNU z3O9Nm(}uDv?oRSvR=hP>l#c(NoCv^!Zs!e^&Pga(Cuq6EgAYDv^XJbuZEpO_U;fgO zp2$IxQGTZ`LeM!~Q&_!vwSD3fpRk2&rmVTSawR4g*(e{qp-NVHuUF6%5}Yx5c0Tfhuk9v z2GO}n;`Pr~2>~3$P%jyX)9n~Fv(^4Gu)<#Ic8ns4XuW-vQY$-}NllnS#jVpsSPcj>>o6lVOh}%hOIf%@M$3kFknAjLRKV@uPh>(@IBb)PU3Mw;im=%S14h$D`00}YX7B!%Y>M54G$ z`Ht%G9*mPv0Xj8PDbM?R>wA?`_A9|MCIlOu~*N@{rye_#IBata#r~=^G z+-fG0wMExA?aCb|*)hC8S7HpbK$U~0Ey3?eKX@3U9r#Pb5Kv=~B(f=V!XrPaQBVi3 zZMo!hK*lJmR;@BgPm(w#8AUsEMBaQPRf$yR&6{UWJ@r&Yjt`RAL&6I6PQL{_ZD#@893-E9^}zpRyu` zTE5`&CZs8jJ8??C^!i{esOB)EWgPi=%rEmn2OZ>={~~pV&}J8lUZ(r{<)eW5WZ*B7>1j{KADfxnBO5cq)Ip^qfXY|*EACa zBA*fxW`4OvmZ796OM(-6R@iy%N&EO9RRj8Idcz49`}6bbk0%ZRc+G7*tQ<%n$q&)| zoR&H~@W2C(G)0~w&f!EU^{rHr5lKeh`SDfjcp7iC6P_ThdWA?`ja1-_fC{CXUuNN@ zExY8oM_ZeTOr_?Q)o|q1Cz47F#Z}2U!7>Dm4r)1~s3fCP{MoRMq@p#aqD|U<4A6ds zK~Q)5Rd%kkPYE=J%u3fUOgX|7v|6iqJtLIk8KHEnu}@G5a=UU7^O~)=ywkj4pQqeLtdpG^~W0EwjD_Dk7gQQ19Ieg$e;)cn3LS&ii#ux~|8L|8?qvWF?%RA)c zfMdP6MZETt6&+u$sPg4}eY_BL?&|Pmyz=a`&$>TJP5C4+UOeSqS7VK+WLE3{jbiV>~ZtaXv5 zG+{cR=>y%oW|y@cw9fjFHs23bJ``>|8}&oAt_L4~gCQW&kh?Cs6=B!6?6bLFtEK?EI1n2#~jG_8S{NLf)Q*BcIf z5AF=0sW(P-t&pjan0p)12o7L-@=``Ww_?Eg*5jq3UCmgxMr$^wJYi}cQy{C2L6+Zd zPuZ!ATtt>r9-FE0-W4vTI$AXX8MM4|ui&0a=I08hQu$eR{E`lVEZngCA)OYQ5Y>Y5GtX1k}<}IHMWB)?hkL+<(xs z%)XwJ0EA&@El6`plY+?7&0~Uk-wOM0_Ov{m5sS!ExHQ;nPmX-3D*};f^TmPxaC?lI z?U@bKDx$1JME-J!y#v#TdJ=;2FbElG?(~%XgX-xFdzC1Eb*;2viD^KwN0^^?%rhpw zg6+tnIn80W`=3pS0Ck*VkeJ12Guz&3AMEY4oBNm9^Big7;jNk~+9^wzfE>3C0V$#b z|5q%p&c*^uLWM;AMtIkou<1^&EIa85GFXVA$lokro{&bfhf@SKRyiXtL@%0Ezxm62 z1cZ}F^JNSyI>AQ{6x>!p`8Q3#an!j*1b)Ik^sJnes@;c4hk&X(CKWB~>R&)}{B!RL zJ45PO{mF@YHA)<{scOX4G;#30#B3E>D}ZDq@(*~D__QQTN1~oAo2DLXolz$}(I`;$ z*l9>73Q|8RG{TFctQj1L_5WBY5s<-qcoTLWUn$@o^6*^{%kT?}4a^y*t zOdfvjLNjn09)4cPfMS3lalO>l4gmjAPXyH5Qd)X~inaw?ly4ynUHte8>ySZEHFiE} zg!jIlfCg!GVJHV#qVN6)z6$>dfYtY?pP9(_yZ$)%6vstCjeQadFPTYTp%qJ>4!axi6LTh*X@S;F%tWmLl z$tR?R)GtvS9Z=6w(GIe%{vES(cFWEcc1*bQNvskTZ6mz%^#hWWoLfAMd=S^)&79@e z098Tn^_0WHmE3=fiGVs+5rI^UXF!+=_t9qdq_v1NC$jTB2u8RQ=}G=kkKQAYekV$L z5)P7X_mPzOBB6wO7L4G`x?>c*$cHmuc{lj{(_*uipe|;6KQCRnnwb(GY6jZ*L{_wi z#B+8NYc@YdJIzX1D%T(=YFkqRK}VKYPhoz18jiKUgLRbxuaPH9hlKwqh(IJ|9*7s6 z>s}VzB0~~cr%r?frI%Jj6urD3hY)6=0@Xa?L=w2jTGF_zivRVHfXo+@FJYwo)+4C= z8pteV#_D!Vc27VJ`+r|U4CslEn`8Fv7nt2c%Q+Y_(2gbw z_3DWA!io?ULkN;|zj&zGF-Vsps)>>=Rel9wAW~8uMN)5LnTaG|?W9t#QK|B<1Z*~- z5`G>_NG@P!68YDih`C*|;zJ`KfQpuODYtrqXcbRopnF^IGCN)>TG~sl6cz21AWTP= zfP)(L6}hZkD^DNjxJ8zl=J3HIFfIb>h!rHooj#u}v<^4hNTRVJa?6ATjpRj6^4a>O=Lb&NWi>0(RNkxI;Y4L7Ig^Td4^F6F z-o;$%Rj=S2S^*6vlrJBqGy-aR&aEECKnGwHbRB%~k3uA}qU9YPx0Q^0L$gC1ktLJ9 zN3z-F^_Z2h~XFUh_7b8}NHydhC0VrWEv2RkLj= zJ_W`3Jm%%@K-D-0a=5XJ#rO?M2r@p>R%5qpH9PXx7$lK*c_MlQ@)CZMI4cS2{Y1bD z+N+fRPU6;YX#n1|KXa&@>{WUZfV$|zlt#e4o3UUUM+}0jf53juAoyLKSKFps7tN?^ z?43_0byJGSvhPGYIG3=S7+LIrkxv@cRZBHHv?<*Jr(ofwc2p;vpx3^3li7-!0uZDM zybI|@WZ+)RDqxcz&+~}?4&q;ms&O@QsfXd_O@z>>(vxt~lAPq=DLdNw-N`QhzyKjNH0=l>M(%CWk_x0n-@1BGT%HM*?xL8oLJo-_Lt zD(q{X4a&2KfrWY{?X>b7_h>X5LB;Kk80D9CHa~#E*bu?AYfKd0$voxT4`eS+jGi=S zs%0ZuXX#b25kj^32I7$oR_CGy?QYPCFofr$%hBmZ_*S0CE^nE|+S)9^zUCKd$12WE z4Z<8E%T?Ci-)n!wl=uipb3(~d?MD@(eFJ3>A>!1iTi<%Y6&kTI1v&Gd;~}7W#E8II z%s$X#_R~kr&bf2fQzA~0fmD%s{r#>RIFi&fi$9Tr?vYni z<)MMa7SyL#GqCsq_-yQpN{EkF$}Z_JvN~2dck-@8gN5kMC9Ly&`+QWqxVc+0BN#mB zof0Nqs*F&o-M8veOrik{U+%+w>v&kuy<#J(#`SgjtpR4E)sym1w%n_UaFxKu<#laW z+Angpd9N)i#xjWR5U%PjAVvx0{=GSz; z+6DaRB&WyJtK@|vJ5awKWcDi5jUq}Bi6ktAW^ErDSZL6wzsGqOZbH)h<1<*ZLZBP+ z$TKKq@F_gs206Zf^_2Qs%)IU1t-%0A5~XuA4*b*K83w4@H?Y3g2coYz5~UwDucI$0nrpe=N<;Qyt}!yN%J$l<$o)*u>_ zb9Ke5k$tlVHEj(n)PbsO>U=lzmTC|w>9dCpSV3<7W`jwJZ>^&gacY2}_d^}DzJ*|}A=ravZNq`yxa+1?AYDR z+iYMYtC=H4mq{S6w?|;F&0%$yWdBBo&;sF@=i;15r7{ z%e%b?(KG&i2(YWyr|Lq3m1h|IUGs2ISCO>n>MN|YsP4EuL%YQroyGL5+HlmDDbJER z_oBT^!#0<9KxC?CrH0r2dGYA>dIm?By@U4Kj;rjItq)vAs-uE1lyXpR(LzJ1xd<*C9kNd=#_5SLStIyC~3y zy3v=U&izoyN$OO?RAbYhLep1RP>d<_scKWB5Fuz_B!WpVY)22dJ2xlSd#U+qF+ zve&n8h=Op+4-p2@xyg=2RL(~GR<&s0cRO0LTQ;-4mYy}M&WbRs%G6#5Y3E7TmeI0t zOHgfL<>^b;oR)w%G$l0;4V#38IglvVa}cNW40=8ESI-bhn7>5AJb`QuaZ8j5y7DFu zT}%TpF^hlLzjb8U=g4v*%B3b0Yfo7`o3RUi{-|}*T;5KD7^HzDhm)mHS8Iwo35~iG zoH)nrck@FbdNmaD}K-4Sq$fG5Y1d8w~+<5K+f3sWKu@rs_?9ZjOh8=v+f&(r3aWkcR->jhkzH8jaaA{HagNAN;Ew6GUvWnMq6T z%-ChQxV@F%9pSZteP7hysqL%3<2#3qN9-4m+V-bg5s`uP&pxWN9<(j zH!eZ)Gd$sdUWT7-mfx!ak-c-LErmqpW3i?2OueN`VI6m5IcT3m_x)+X_ujkkRfxlc z_PEPqXv#1?uu(%&#b|Czk|#QK+rTJH#CiSWfdSDLBvI9-vp(ZMnHXi{H-4i24v&CG zz#}jU0_u~T!6Mg(GYFRka5tJvVc@uJ(7yDx4faOFgF}%t_horhq*@&%=AhqF{KPvr zn<*#;kw4$(XZET7w7nGL8+m6_e_nL|Ich@VU&u<8OkcZ|vRvnGUq6zpo0~905aPJJ z(@2FN-WXn|?m`Veax&%_7_`5KEdNagNLMd1?7#>)`;vxNWQsdV3o3{sKn^5{bkJ;Q zn6{Zw-k-3z{N2zUfM0z(L>|B)t3R{m1Q zYH%)c3qyvUHq)7~6zbYd{GD|A2Kzf*AP?Vk39KuecR00)!%}!-wafoQj6`}MiVh}ggC5FkJxEMWV{oVI&rP5v1UDa!K z=iX0OzwN%eoOkZo?z!gzcA}8PZAf?82bhYS3-cNW$CJ@m(o)%p3G^x^&@+f)>YtV{ zIdiQDhCD2vX3|^}=M!M2d*H4;8HXXQcamnBB(sQ-evZ@9=Ai))^@S85PyhlB74?rK zLM#DKM>+nKf}3KfQcJX4$DPOJl=7~tH2muk0#3W+n`r7sv_;k{?uoY5NULP7a$P!O zAHHy{Emc8FkFkbD_t=(1m7Tye)Fjr^N+T?VzoentwJ_e-Iy<86ww5y0HU*}vauZ4W zYfQ65@&+fNjNmYu#Q)@HV^-Q9K&d2-qy^2urF3X;8aWW9rW`1(VU<0@hM@OV*VqXF zT^|Z-_~0fDOaL3DtW9z!uQ_JsP8Y$SzD-Qqi&opyH_osthlh2?20=DBkr=BdI+B{wF@9{vXi z^a%nQFCxUkS3iZIdlL9u&;my8OPK$(-cK5e^5!SKC&sGvs(Y{mL7w9~a_-iy@=RKg zTgw;M5%4-6dS#viJi!lUnI))1W-PP>jj~4c1?KjR_8R-tyC1OE;g(hGJCHr+9^QMFau|QWrmF>y|cJ?IQLrRv;R^L0J=H0##~xMJp=uKmlfIm@`dR zRoN1kXEx|bEb>D6M>N9(nAvO-7RYAcov@qe;0gT1L8wjs~{rHy!#C#yqy#gg{t*Y zg;+@u7qv-*NLr=N6+K0a^KpLTsZq;Q#6Y!Z*lC{R^`NAdbr5Qm4r&p+bS_A7p+Canu>+Rw*-r)95;JFBZBuX)2 zrP!1hU5t|de!NPE80e(3HLde{yLHNHg@976YiQ1Ic=m}4TI^oc>6lxKwWlHwXKt8f zQ(-JePS95G~iq81+Xrycdk|u<9s zvnj@B%FzVf&thI+^Fo41x7p>m0v(CD;t%&wjuL^SWNIKBznf;;*gWR7H%iNgLE}z^+^z2@}7@`<#K9fBa>GZV8 z(KcV&6I0U@YJ;L|DUAlksd1@6DZyAU6>W%bxjqiWKZ?#W_Qfov&`S$gi^u*1|ZUYG)&ek0Wm>^bH-ysudp@t@QmW=gy```O&#GK|`DQer5-# zgT9YC4pgEnzaQpvFzzKPclH9hySjJ{w0Y#G7J{ue^6`lDb167Y{vwcBaHGI+_pch7p_0V zW>i<%KT*IU#Vv(#f?Mth1|nDpaIm z$?nFKg4;%oe6K*J|1UP(u0;d-Ex)emJOZ|BE3~6_0=FqcgF}pSBnp9k2m;E;c_Hr0 z3+#*|Az%t{@_D+#q1NQf<;}EJm`|Vv@NrhlTvA|=0PVyn52Eme5=rWS~4T-m87m;ey4hEc$YfE<>-ch za6^pJTQ**SQ7Y*CmmV{_56x0(FYsws@JjoKKAy)U&)$U%reSikFs)7o_rxT{AT>aQ zt146YCLEL?=Y=`e{>ge{+E(p;G*0bF`bWISeL9LrS?}H7>}1N`gL2(GCpcfpj8ky* z$@gFFl{HICJYK?-{REbx9T=;}(Ju)m`S195`*6$v>m)GF{N=Cq$)oSFuTzGDW-(^s z>Do=x?I@fd|DZZ)ix{YyUMzJW3v4Rp%LlL}On|`*g{H|j zmBrMunWP;#_Ex)3l2PKiZj;6dd4FNXNF#||hdK4qGUqcpVYJn(ReBFD+}{IH$1q2_ z#eZPRd<$*(AlD1X=NKnQCX)$Q#Tlm%K!Z_9L`V!&N11#S6nRq2JY~Aoau&@U3AIGH z^m8U6z05s53TgXfi8t8WZmH?Mz|)WDvB=biC?dJuG^boJO-~xQST9_3bEhtPpf5)U@*Nc}9g~awgi+ zEi(0xdXsj_uc-SQ&Mb?k)mQ6R*arlBYqm7N6>{W~Z2w}I8W%9QKf&1MFp=IHf<^DM zNSIBAs}KVIf(hd=-ApmIrk`VpwaW~lERxQCIMa^d?ETd74on_3(l{AVy=t5)&mjZ< zbkyKgL;W0y2%${2(mr+c+NTD#&nrN?9>-gEi zVq|0B0-jM`usfST?_>5R<{T%XNh&Fi@J+a+BY)mu1A8NZ}l4=ue7n4*dOfgA?q|-Q5)Gs}g z*ZT=DOHDB9{s1xkPR4jOH1m=AJ#3Z){uY>Jqvj@yq!d;2%PgI3J9M<#8Z_N0B`7Ic zb6K;o)Bc@x>L2qOYJL@-VM52hR99;s8iXk}Pp{txz5WKuRxJ*jMf;iGHa^qnO5Sv! zVC?J?^2Hd~(y|7#ubtTLs|ix@YC35%$0<@o-u|5V5WW*;Iu}Xi#zSl$M9Bvj;5$Mn zBqTB%dQBPXQJ{oHAltHh$xP+G+H6@b3I1@pHKO`nN{JVMpgW5o(LV7s1sGP$M8TxT zB!GFs<(MafRYwsdX`k}8-310J?Niq>4QcRt!l%me(_nsp{CdLq&_F=nSKm~o(-$G? z|NS&xcaKGNPXixb0beG96Hmu8UgyB9WFDOZv(j9-tQlfhN?vn}uKNBT^mN*&n2(k# z&;)xLqvF!%%{~>kO{ISsZS(wn5CFklImD?WgN>hRn@_4sW5qE$9!R+NO!B48k(pV{ z(VMr$9OX16i_ZxN9NGa%@blx-m)pmqYZ~J>!S|TUP94o&`RJ*<6f`F#S~kNjL?F68 zcJ`^FuwtO}rr4G}CfQ-4gQ=M5`g-&(FT3`zRpXz)ts@3X!&IXX$eb3~>_4H0fKXV@|1<+HL0pMR__mKAu$#!2`%^8X(`^7BClmHVj~R*e0&FjAxwJ&$3;s({=$KM(;*LogoPv z#wn&I%~nZ_x>r0<20u8ZQHUvOz$$4lYt5$yvzVx2LTcHH?mO%!uikOlIl4rFy;d4$ z4Ts8ufWD`QxfqkYUU6!(wJ^>7`0lMd6Hbri+5bZH_W>Wia;RC;q-YJLn4~l#eg6T{ zj=BLzXr?x*e8)IBe}LsH|Nbb<6LYcBJeH(e4VRp zV$_;{l_sg*8=OmW7ECpEd|SA5OT?sE9xG;vfHHv0lG3dmQ*13v1g{SpQJAf!Ze<42$ARry_n)Cd; zeK=Q;geqXXIgz$mZdF4O#im%<`WB-uVV}$`?I57RkL&Af5y&8wo1r^s$(uBudM#ly z_gHS5Jwg?#(VHTW&aNJtw9n$@+R4Z0Njg(8Lb?R@_e5LPPP?$hZujNn*P(isG+EVj zmfXk$tY^AMUGozedk>WAt!SN!ieyZ@t4txS7^lW`NlAlV$U_m1Ab19HQ0L`#!sdIk8 z5_d1m@<`pFUMJ`3yjV)X>{2j0nB|eQ@sG6Efw@?I%5sb=VI?j(5VwQT>uQI@S z^WB)BzefOeNAq|DB>I&E&a_rEw6)uZ>Q~yerD)MzYZQ?jbxGQ#H;JNlp9}DJLV}t% z$V^ivS;dy!Z>LUs7eM`{T?P~C?)>B6{o-mT&?XXV>~k=(!(d?Nl;8v;hNj&CY8iYV z=lpggdyys~lMuosF0vL&ZbJU+W~1%OU3!hJAj1mG!3S>0+B+B(@5H-ymdew5C>W@l zcjX<`qcV#ksUOg;LjFl}t%Hym8Sg-}mRpd-uHi&92#C_JIQ<4Ok9AVqT>r!6ZLv z;Akum(#;KUX^}FuYSRRb32Brt0Ww7RuX#yT<#Atvq)(n%?nhvTBX^CMssxS!grU6e zYhjj~X~SaGn}rc3V%p)`QRp~1-ujC7{tl~`mbGaJ)0=`x0SanhmTNcF+b5Mn(??x% zawB1l&@*<}t6@n>XDZTE-2&v!wRR%U&Lisr5Pvrj7iY2+4~yc~ zYJ9S`*r9J;i9Mg@4{ELZlr}3yDuk1Rh$0V(aVlh=G*CAO%6&(u$j6`4LUq*7{nN{& z_z+!$|3d-+_YJ5?YkvRyI!i$A##<8-IfHMvh7q+J_c8g~v)uc{RI{sKK3X24xj8X` ze0&&^1{bNsGb9OY>tJA?eHh06T$EXBH)W!oLc0}7s}R%7$3@|xe(IaXjRvNijifb- zG5S3uHTNjoS3a+>v#+-R06sHGL_t(Zsz%Qwb)KJ8rpl9M$%e`{8&kI0qH*Mze}4Wx zo~tX`X(W_ar-?1JZ72FC8V441OR6W~+Ml))7e8!w6|#!y zEwAKc=i9{Aggr>xrhq@9YsDC`UMnSKs9(!vHdE59`kM(bQ=(wdwQzl#QJuWURrWNS z&{k!Cs;jYs&@?+hJf;r^CAoE(n>*}^u`BIc-o#L>CXYOLw;r6y*lNtJGLM`P7M+Yft65G|!WW8@Yo9xR__$9%-K%5WSg= z^Q&{`LNY(l1#=NC4So?3U5kiFYnd3&e~OVR8j(zBex6MEL}2u;My6iWJ(a8SLmE5? z2QY}=U3sZQUl36pJ`Cr-98*|u#@?quHXzi@xP@BRbcwf3`~ zz4o&|g4Knw_ZzkS$jxu-;N}aty6a#~b$K@l=E=nLQD;*aR?L^d0UNm&2wVLVT|4j- zwtA?O$v-0LRZBaIV->)!nz9+}6Nt0;7Y7#*uWU9F%s5nh|J5a)92FdyiIe*dXrCTo z-T9;Y^_=q=md6cGr?88M<8&`heCP+xKV)S8x_*TYNPSZ1!$IG0MsXdInQVNtXZcwE zWGh~Zy|2VozdQb=@mA>9qN?sgq=&ci6?9wCLx#?Po+@5*?}`5RcdfPfxY<^m-{`Ue z4hj;^MolO-LoMc&M{(;Zc4k&((>9yx1DT`}2Tz*rwts5tM6>&78NRKPvM9&7UAnB_ z7&&(S$?=eR!XrDNmKqw&Ni*Z{xaN}30qdYH1|+bNSjKE&Gm_}E3Pry4We>VjM3BHD z{UuOJ;dB59*vWg=BKfUfVz!^)72wAoiGM;%Sx^w3IPrImp9_xxj-f`L?FZj4%VoDt znWc?(em9;we{8b+sO#=&z|3R3Yu>ifG#lA7#FSx{!iWc?xiiG}0V00roZ)arCjk@- z@eQHoT_O8tg~PwFIn?QTnmd-+){oC3dZc{vm>(1;!7Bfff+4J;*&9AkIV$jrmZZlD zG&4Hj=!qYAPh$lynNLZ`LTu1zzQC>(295F$NX3LCm9Q#X9eayXgEcze4I6cJ6cyhL z0h8LZkLgQ?o`hQX3LOEh3cW0BGJk23>RYe!;d!~@nXZuMyH04%kfUSEE92OQ{}yXL zQs=Y}&p;dFh7PeqHY}R9e2Wj0S^{o|a^!vj5TzG53S-dWk0Dw|NaZ2QUWp(tXckK?l1gbHZ?mYDlYhsNm7zPtpodaTjG7{0V zK0pQFZ>lU~D5E{$jJvLJJ%_SmEf|II>ctfEe_a$ zEPu-+`B>h3!=#6meeH_GAV>Ggon&mI$1q#sLO*(x6(a zO}wwawClF@C>%oq>9Q8?xcBEpvU|eThUQCKUG6dOm9)W3S`GoPh;UMiri%Y;T5y_% zkL6~Epw0EDir2APdD6Ct5eBzF%W8>+(!rAO-|usBM1d_NiUyCM;PjjTh6aR8U&<|h zh6o)wtVQqSd2xyzU@7}mWGe$r_1J1?f>Sn?b#g(zx6l}o8VqEw&V<^q!`JD7arA=r zHN1&hH~&&Oj=N5oHru*VU?TXj!pFCWutbF#`>$Y)IjO+{M2cRW9V(3~JnC}BX?J^4 z`X+pMJ-U7JPUor+kw-R8+=u~&Glsu3k6WF@L_(uvHl(isok){?RuHePLN+Ym8nRgE zZu1`DdQ}^!{183FC)%p30A#701xQOlBF#NavyM-@GwRhHNjMWznQQhNcoX~fYs8b2 zzs%+yKwG7HNa$of$sn9P1(<{Q4*rXUXb_K# zYZ}N5@%neJHnc|xH&+f_dD+CTAH!FG;T)PC7rbSUcyQ5Upa%{43XKBBH@imIWOgRA zFJ&TLN_17et2fHui+Z^fsVUsHWD z^l-Dyq0sw4q#_CS3WJbf#u4Lf2;%j_uI%uRTB7DZ?~{)HxiO; zncOo|iZiC;6)H9@EB|I+G|r&>C)_I#fs^Bc}oeH+PKS z8*PZ%k^^I}=UExk>+6nWEax5i7g(G*39eR3BLi!&J5OKQe;d9z9WhTA694#C5|8au z7Yxtf)voY!j+}62*853dcJ3b=^IhR&3VK1XS>CkVzzEMZX;#kP#h-aw47~BwzPBLyoM_vYL-_zlC##^x+OF^WTp-RDLC;EktU~Ov3~Jy-qeCsC)Eccqcd! z1M6;FBxm?G1kl z_(c*;v<1Fi{L(p>0N=nL0xBjQM1OsWlg>7$ZEI7$2uZXUcl*#9`r|@&RYlA2)Meyr zvtsi$lJ1tiSm4xd<}}@Mwwz{w)OkBXZd#t9E7sBJ&(PiELekONFm}U6ZdeXQEqQ~f*P)H(yIC|bHUDkrVds;!io+!nrqI}oB~s| zraRKzy_Gs~cN>sxk8ljXxdFj~&lY#UA{@UBj}X-aX3k z1)zYx#hx)FG^i={8@!_|&a6{|g1S7K_j;XX?H~uu?K%3T8NS{N-X4^+$zn}s|0^*- zR7B#zqO27gq3%lpH9qT-0dRv4PLDhGA1qtf8#P?*q>9H=#8ZUHKU&lUo8sG<#U+a^ zb!|xvNfml+ZnN^$%QUx3_EQ>qVOyUtFGJALt!AG{uZ*Oj-N#bWfI-Y;Eqf<}$K-9f z&qOLGr7Z*%Ow*5ErUFuF-o12@U#c49A@i97ExCd5_g!TOx_7#%SoVl2?<%<(rOBqT zZ2-YK0R1%Bp!(1q9qQ1hJ*GkCXwyc;(QdVYX>qjKCy>uH?|}L9&fY;TCVxZux>;{O zI*KEGSpU?@$l>Z(L}gI%>J@&yD>@|%AA0{JS6-9rxeOYA(N=a{2BGryTMfj4#fj(T zdXU>W0Uh3WFa2mqtH~0VAIq|}dZV4TOou`7wK;w#w)&If@)YhAm;BWWdXtAR&0z4m z9*9OQ;^?9r_8wBU^}?x~ox9yNMMyQ$O6%TJ(o`6{KVjhunUv;^MBQoZB#^NK;R0K{ z>fjNo&w5P0i5)oZ-QG-3Dms}eCk11cN$9{o^3ZcC?>sV~UDvNFRKjuoV5)j`ax5-o z!ifhuRy_!Y_y=Idno5mnxeR$?{;Yo;dQM16PO{xC8k-?{fVyjvBkxE(?d-< zd`U?^WRr2VEilIod#H z+8`Z%$k_KM-+;_5#s}%-WaPXXO&IZba&gUfm6xUU-(zf(9BdTk=ilMPF!3BOE(3ho z$VYudUD8u7K z0_4?P=h)%VB^Igt*{Scg<%%zVE{}QsU5b)_238@^`o$)U4OH0VCaWm3@f9QPC+liQ zYsfepEw+Z&yyU&TcvRQaYsA*9m(eJ8&%58}I$N)aCgyHJfJ?mLAW`J9InA zyB~h^6Y%tku>Ei&#r(i?IH_`*E!&F?V3+MC*HC0QjCWRap3y7@K36xyMTx*U1uBdfro z{CQd|;Y=bvu(60VR z&#OV)@r#4tHHJ4fp6lX`EQ?TZ^m_Bctn;`3W(6POa!dtkU#mzQcGtoXHI&g!3KB*g z`EyOw)Pn_Tq=`r+OYsngrZDGRK}r@TdwvC)QvpBzB_S}wYnWhsSN$c>=V7N`VwZPO zf_Z!C2MiINXg!zoh*kFSGpeW|vhjn=Ew);V47^<@l>*DHtKhY)2)N6XGUDH*Yc#W8 zvqbT^!d~QTqf_+3n)Y#%f|XwI1z}|Tf2o^_~e<&-KYsSZZi$mwLcI>t-f2W zgIteNX(%B-pxtVmg8uS7c3`R$ZqTW|aR(_tTOo>IP)|E_}ekeVPS z`w9~D!Z6z8dQ2JFyKQrhXcqeRn6N=~FvlkR*z(q1jsJ04+RXZSxZK2lvAF4$;f_o8 z-v04dDZ{|l`GR9mCWRvOg}rThI49Ena^${ZL4bf}w}12f#F9FZZI)kwZTEuyw7`bJ zcsIxV>a*fo*F&X#5Wk~s*dky*uK*TcR4~1WqM_#B9+F3@WND5DsHS)AML73=ux-_yFSo#MP_5l6__ypY|7e@JP8d1ZFg4y#fZ_QsTh z7p+S@E(pv}yux^gHrtOm)4YXs4JDm%U$V|gee6NP;IUrs#UjDi7z`s8YDc^*oLd*y zmge96N>h}g>QsG!^6nKDl{S?1j9rZQ4hVI*7JEGt$`pH1+2j83q_N`|-Y}m|qk{EN z0*6YsC;yIJHYwLAl;UFfB#MMQwrC%vRvo7T00=cXXlt$;~s+s*$=+%Yo4Y`Yjl{eC3$Y6*~zJoRoIv zmc#Y>K1ApLGHzf)Hg4$O&k>H=EtHBHMQfKkG1srWZ3xbowr!4mzpMr60lD9%Z8N#N z0*V}73l_7u(G-%4aoY-)o~I<L4?JrGtsdx4A^0cufIOj{DKA#SK@A+JOdl#+sBRKt&Uzq!JC@4= z3E#E++rH#6uo|d%S!%NxP4=T$Td|;h)+dd^x47%%Sp6~!Pt)i7-~{KR;A37-1bbN@ zuk)S-OT8)?9?k_frFq$b5YTVp!652^&|~*9|0l}1pN~K)!S6~v3oh_glMMa)PBjU2#)5!a6ifI$I6HZJS(o}Cz?md#-) zJo?wYN#;Ya1&uH*mbz~wZ*^UKD{(B`T~1{V`Pn9<<))6PlT$wlw8U%iA&A#wXrPJ{3_2pfwUaZvqG^e$ks zyodU$X>QkHmH#4NT~3VT20yz{4o4)nK$ESKw34Drl~SQM__OLNzD)(tIV>DzAA$aO zS!+ymJ1H((gm(tNn5;CASPW{8XyzvGsgBF?I zL5gjCyfi2MnPL3Z_(4~?-~jk@lV+IAY@hav1}o%V6--x{?H2@N7uI$lg2)EEtxQGm z?AQz)4eK>|G&H8h5B_#4pV-X=VL2f!G^HOO;-g+ez9OJ@1BvZNT1$!8KeGfaA4Dn7&c#t0|)Tj_0`HDF4$}={`cL()d z2t$-N8REQ9O>ws8SW)r`W~kJO25+=Uu{-8LvWyF_55Un z6aOXNcGzU%dHt2`F|MfK(Gybl+jo4xNB%)F3_&*DLOSk<@<-KG(o5=B*t4`2)SGJd zs*ylHr)YY`XbHX4jSQPXpMSfnWlZhF@OQ`LTaHxZ_XXw85uvM>xDLvPu?6-2GOMK=(3f?M(~OB~l-w&tBvcciZ=|IL^3Ftm zD#QUw2Q=nTPJ+8Aj)i>VgrSsje@x`#R#nD$ZWX;VX{J_cg-rAxF7222&wQ@|BAqba zY!q3%u?I1zdPAjvnWOa2m2(w9x^y8x&^0;Reh*7SdDjn<)FZT8bJwa5tC zonH)o2$Ds|t>!*xY_xAR)}6ZO>nOSS#>9N2TfqLJC9v{qR(`!sKYTD_u}fL=h|3b; zA20{teHl-+pp}D?KK7iljtRxGKf!@b503#RsYsjl&%_dk_CPsOiB0s-$a$IXog@77 zHe)k7&Mc|FpnfYd2@L(?>9kyZ$Y$pA4T_j33p;7pCeVdU?$6e2 zTMSqIcTyTJoJ5&1n(_+a4i9VY)L)X!zO(!( z64z5Z7&2`1sMn#2UAO0{ofDSK$o}0J#BfhYv%;{aAu{pES7P7V^dClH)hHjKoaH}l zd6Ut-G+j@Wgtn!137vt5E6U{Y*4k9mf$oux!{Ko=4eN?Z>&)p|A*<4{Tzq6g;7Aem zpOkfs$W6y;;`WU$-S4Q(MTz1b^1aXES9aQuZ^J7C{7S*UhB;rYa_*zNm-i?6D!zEJ z`w68QJulB8WTZfgI_c}@$_7i}`^(t?U{_jg?K94Fi022)QF20MYE56ARN z+?Lh&3_ISaBxFcRSwB|c&-M#0rPNGsD6H9Ioa)HOL!F&&8~8_?_&%+=_2)MYCcX!~ zUn8nkfNMSbURUPTmri717FQ0O?#C!yEkC3`>)cuP+OZW4HNz9^VUm5cyD1&k_fdtl ze>JL+i@lkSvK;qphocFu-U`*f<<6%S7JRm%?2=7nSpK~6He>{N8THG*R`2X(Ohfd^ z)=oz@N82?ufo?}L+p&ETahXj_9`r)GZ>EPTot#@oSPu02 zSiZuXU|fWpmGSCH%PWp;;gV!9YgXqGLcQCU6&22%M!3f)c3^v(LzpU6+F_qfS;4LM z8GKb3lKpk!Rzf1Uc`G(=zX{{h;GQ;G=x=a0~wkcQcT)NFA2i&bS6^BHPtDCaQX$v)!T6Re8 z4M)!8M~vWrQv&k414>u17l)Hj;fNN_zdir-j$`N_w!OFB9=!z8fO*^;ZmYo+&)LaW zBDAHmHfmcaoDGpX%nmi}i@rxUEz3OcbV2X~5I8(-QM(eaJ8&(=IYLB>x5w^6T8{}< zH2Ck75^{xCpT;(sM&Eo-!{bg;cx>+xRBz4L!g$5+zozB09s+yDs)CHXs~xGD=eF$W zQ7^7Xd)g^8uSmD26b<;RU`~08o$%$~Xxb>|t;tWBrquSM2{7UhI^1?~;(25fG>GQu zjso@_8X`+SO^9vj;i*+ygR`Yo?K{FFW*Rx>0Rp?49RdtTTjZ}>6Q@@yLSFF>EMuFx z;?$K|UM2j7)JoFDq63lwttIWime>F%;%qq@BjWIlKyS~BRHe#Bm5K%@>BeNr#RO9b zb)<9#)yPPg5$%DU62deCcH+bqO_#uDn=1%OrB2YDm=AA_W0^`~wmE_)*Ge+n`PqBgQHp*i> zpa>w7(_k6b9@P7|zfdQjS78A{yGl4ptdcdWOncEaqV9KE!@AWHh7m>Ld3Y|V{qGa@ zu@!&v(o=71Vr~DkOkYLS@mG0C&R=%5U~b#y|J2i-SH8L98A+@%beFKdH8AmZSOu;} zd7|S!sqA+KJx}JPz$aKR6!$vDO8tXf3Eq2Dt92mLHS~M?(JF177`iq3SXw4^5W@Es zapeT7Ae|MLv9qx5c4{-+c^_d1du#&vRV#(WE)&9D>GmAk|M;z!D1n2XAa!NKRqXLS zwba#)nTI|FZ{{~OulI6XpO%~?Ej(7gDAq^IcWGBX>t?N*s)x6|9^s45KhXNyrSvgz zhxwLyRyp64)JaT$Ykm8I^+y(z}fhzmPctBv+ET%7go*ZW# z8C$1wwc7*az;}G4yZz0XxX;_h;;h@0WtMr<%Uf&C!RgexWJ#YTc3h0c{eaP{-Y8!w zHini9;qDpcLSgY9DhSY#F2wCIlsVaCLpDmHb=Bm+0&AF4{ZB&15-ZXKhyOkxtrWrN zl=jxC-njEfCLtG}(cq<(G3-R^ay-=htTu_QgfAaI`Q1!CmMs0wjSPVc`t*H1GyXsK zI8fHmG(+JTFP2J7^8u~6C``Rts=w3SO6nT>rRH~i@HqY1G=`VFLC~6h!H+n(3$lb2 zj^(I?;mbi7EyJ6^@kIhlEDh$x=v2uB-XycN!NE& zj&tKB`FAR3v@dTpF^ASZ8yN5SvlKu<{n+i%NFuJJdXdH`Fz|xx@wt{Rujur)hi|eS_-~H&?ILe)^dt5Cs^}@9aw;Ir4Ye z8E)`o4JgwKj?NnieTC>G%rx0MOgW@&{@$3T`v8&S^w}~EHF$G@*edWen~-x7k9EGA zr{<$Ry=coO8sF4&++2Sorw*916%X- z8|j2T?fy({;B%_pk3z)Qc9zIzzgpIhWokarzj|LndsugBc3_ zsh`e&F|9wQ<$w<=x-ZpLZ;_eAvB8z(kb2P z+B!?!E>&nY7Vq!(OYM-<|T+XuVpz4sFBzt>W}V(aE&rc>K2Xf^H?A&fMnr@a=Y7lHkYb|prbP1#y>6WJJ9%FHe&A!_8s9sE20L(E5{n^N%KgV-<= zmjj=RxMXiJY^W}P>2P~t2WOtzdfG77D&K_NLZ@GwWi)G#7Y~!RI1;UJs(_2_Qtyus z$G9RWGnvzU5o;+`aXmwE=`*Ic%!wTZ4kMX^OS=vszaT)>{D#8IUsOu8$BHPr{cFM} znH#Fdmt`%+#!ieJumYW=Ml8%s!9?FK^Xg?I6bPnqt;ChG=pMy$P4+(#e;0GDOXn>! zBrQW&XC@-bfByzA{@2`N#_aa3$XSnZi{pyIQs{?&`K)9byTda{FI-qdqGj1xFZugf z>uiw5sUd7H%+Z;o>g^dG0s>eqd9n}s>;i;%uz1jlXxw^ zD~RzEw={&nNaH9Gb`f7ph}MX9jEA?;fhxy|8mM>5Jq4fE4Os zlD|HtUWN4^Eo%!slOEbqi0xqzP{?2egMJ{_4!q&#dr~SpUl_aj@pzEME3=IZ7-ZqX z?$#{n6#G2x!up{_-ffP$Ic5gdn=rq?{uA^bn@TW7_SNWbvwNp9xp9eJoI#pJnJx@LNvzU;acC zM4f9n!R<>^p(CBO`5}YB-uwM?Y8;Mt;$c|@Cbs{O0ruePA}-Yi(L{kaZ<6m z_A$0x-Z4?um&xFqFOw^ia=x*nW@SMM?KKP-q|b=@|4hMWsxoD#NccB}P0V$}R!dV( zS&_9NGZDYJ?tf@dsED+6>5ny;x*#0bfe}R$niSTH46WDOa()hBBcEgH9Df7>{9BN< zBzC`Ts3+a#!iHv`$3P0YDJBgLajjAFn+$XO+M4Nr7*Q+t(6T=g&jE-3`xMTw>5vfR zn^ZJGOH3|xD}4nXacKI*Kz(Bsotl6D(rrmY!DN{eWH2{m9G~lwGuDL((j(L*X*SHAja%B^VKA}ooCN-RErNdvskU(@M{o6 zk-~dw_nfu%l5mlj25-~fXXRslpMhmDrcZL!jiF7@F~7MQaNf~gU$TGXnP`q{Z)2EX zV`H6AW6MK-?s#OPxcU$c|J-jWy!buA!L;mx^;(pizTizW^0@fGVHZmb_0q>_2GUf8 z28ve08j6IcW>9ZcA_;2-NrAD-j8mBpy@Cb%VFJ7xh@lRaiL5UqEK~b{v$cC)xc=H% zh8d3eGFffoIXUMT*zx4Ksyu9#QLEfExs4b^bN_R^aK#|f>m$>#aYb_qS0~pui2lK| zbCc|1?z%(DO1352p5ydp4{h?`fjC5tttNY(s(2-;i2T40yyeBg$ro%(fl3KeXeF%t zUt*i)0|4JK-vSg#q2EWRf?24irX5&BBO)qZg*U$->C>vDr3x)=jX8hb()^#DF7#J1 zT&w>zCTT7mtRAN6+7pR?Km>G&_DtSW+?^V7lXL}?MKYSCQuY#xe?y__#eAx ze8+D%ld|{I=L6^c8KgPbz4K;XyV1_1I+_eVltZ`;?N<>9e3!Ww_iI$pHu+K*7`Cg` zCNxkydgbe9=-oM3F33nR7U63o(l6ad_yw4F%A)Muh}zvEK>;ejVuh_(zhFE`Xmmgx zxH52XKml2|UuQb)T9Xs&Nq;M~+EHUXsMf9h!a|>)+zG-HX9bUnVZ8(J9SSBC5sI?y>(`~We47s$3)X(Yr8#{YdFTSVh#<4f z^l!nw_XORks3c$%MyB`nzkk_@JXSKuJOY0UIOJ?t@%?hvsH{lo- zAEaX4kZ0+YR)g+JC6onq`tudUEQ@C}&eiJNo0?MZj7t%b)(4hWim_H(Ky-|oJ=s8P z!3sJ17uqBx6}h;EsYQM(qv;%=z#zE5jDuH7Dna9U3b!2(;}&Ue@^Z16s$GPR3oi6@ z2k?Q)2$SWkI9C4!*=}dTm%Vc&G??={tk6LW*EXvJB^VKzw#0G^ZJ<%*u1&bABh+D< zhc!8V)4D7%PQT?tvXBgqGNhjVW{s|5(@exNkz@!S~*GFEojYS2_1VFcV9ELp!sIy6t< zeRM1oY)k5aGtLnE;W3HJ-Ha-(UPbAfF5_85^Jo!xv6x`gB{O~aMgI5@%nG_jPS#?6 z591mPs_ImpsGnbA`%uogc7Cm(x}y?pI7bqEasEeS)qeB!tai47z0P7j=#qf7SFwH} zPMN9%T<1arY+5F_V=z<5i7$6?yS8pJiOJp7*$^?F^0Q8uJQ3zt?MXc{mEM_8b6Uwe zjHp5H##=oEDwV8@(@y?eYGE~A9#Es!f9OaXT_8h7dCzFUhhq(8kimeFWHOsd*2)mt zbhYSm`sV)O!JU+PY);5rcupVQ3lRsSpKex_UIg>=%bQ{lWaeP%#tNE0W`EZi-aSsc z+ka=U+_UD{mdATd&2lZf3gaUQb(a(LTCWmhQ{WQ6)thU`unP*Bb(8iB($j?6S3;aYwsNhUB!8BH2>|E;l_IfqYg8GUBk`^L<1&ulDM+9P;QuC8j0|KiBhO=#3rYif6QdvQmd{~ z@}Z(LuFJ$N03pxJowyBS9VD`^I6=S5jCq+d_CLktsgN_VQ2$3bZ=WuufzH?O=|?DvHEYx@)v}B3HZt3>_e#z~)s2f( zQsRtrxxc&w0{j~Z`;q5BYz;%=gaHV`{?Ql@!1kd`ft$5B5irLE9|)W?W?5uqq(Il=p5wrf-?A zb&CXSWu6HdPN7%n@Z>tV*~MSX?##+;2zI%7>;@*9P6l2l+9Qgx(9hz03#!eczY89+ zkWeXbkQf?l1WgJ**HM=8eL1(hu13_YV-BdRJAGKDQ= z{_WzJTh93|M=P&jA7?ZLx_p2h4Ox>>(&PF9#@Eq3<`3~i3rhS|Eik|^X`~)@`Wte3 zJB<5TE6@!e6sqVdzivr6TV?XjvX^6iZUwz>w2YPP?<;x66ePNK(f{|5Tn82Vim>eX zXK@75Hz~#nslT6aIfGZ=E9^0y(Z@ivog5MVgL7RK#aL752Ta{7<>43 zhgs9LsI8uVAh@cQh5sd!iiRGF&IDch6o#AG1G8Zw$FAM_ixph+h~>SbRZO@w#-32w zkfo9S%(X;n@W!~Niz?9_;L+?6t7{!&Y@8aB;1PtC7@lf>RT^OnvtE6;@SWP0A5xIa zdc~5=B}8N8J9UV_(!2c(YkPko<>djVlHiSA#kniouOuq=&B+D=?$V{bZEb!V+ctg4 z7y?DCYn<7HneZR*kZiJSLrtt5r&zP})lo;(J~9msX48xO0%-7Y&ZAzqG;P_zG4>gd zQHyMIT5QWwSyy9nu>kQEz9rUa^GtyYu&MUSqV=xqVrVE-+tw<)`fts3+@peuUpk5o z`{zkwf%1Kd4VtH2@T;SGcxV`AiP{laH8{+pJ>xGF%SE?DX}v9((hKjgZKq zh^Wdw?bZRdQEqAyK#^g>P9p^0U~%nB^(NQcNy?WbK93HDm}BFG(}e!Jo^kvdk~LxX z@&dE#K|tCZZ*aZb$FgO8ePVji%T5Q6 zqpXQ3jNOYj;>7LiWtVs-bH#?Lo%McgFdHb~tB;6HPS zKur7XhFxkufQ=Mnw#(;0EQ8n(A=g$xl?&vza*=0d6wN%)8C4glA8-No{(!hnvpQWL z{sKi6OvUMpr}yV}ewgICjDYq}Q4%t$Aw$b_cyA-qw?_|MAK-;1_g7^@%dS@9A$c`4 zNMSYv<2jX%g1%UHx|Pm)kiaRtd6*mQAT7BZ3&Oi3?##?_#n$#+BY#nJ000u}=AV2I zaf5sRzb_fp-+zrUA@rA!>nrfZe?qgc4+^kCbN<}P+oq+f~o3XV2Me3mAjzm3TD zq4Z-Bs!7hn_a0UTy7N5?Vd&`KOm>xIsUVv zr(^*Dy*d)SnD|XB=^k2qO{L%!KJ!)X?P{99o>o90-m{f9qFoGc?7oh#K)hTpr#0pr z#{GWr5tXjY@P>c4lgupU;fy17q3e)Bm0lFVP1OBY7_9Z3Y>p9;b)G_PqBEYr*m>B( zJvms?v={LlIsAvyU2hOs%?eAju2n8R^Dk7wBUMvfvNLB;ar0JhlxzR0a=$^$@hY~W z(Uze8qz61WtKGq>0lDmG&6)EG`|FZxf`GtN5BPia2QkY?WJ$SB>(ad#!8F-*#2Hp( zx{ul{M^OSF%fREIjGe(wPIh<8zLPO9N2*i<;$A!5tuxsersZE9mV6NHxt8p`(-QGK zUT|4KIs;**MXb^?)qjrfwh}2mOE~=-ZY+Z_;ltu@@zP(GqEvvR{2P%L?f7dI8TPH< zu*xI$%{~WNUGZBIz1~B1Mm`z=C+ZK3TO4T_j$Ic5D};TmRRyN(^x5W7`y_YRgmoAy ztE7?wSHyrZ4{_QdohUvnF;187=6s2XF8dFJM;a!nixb*gAm#Nxz*J!J)Vgzpha>g9 z&C1#uHVbMmw5xqIDrR{;jK%KN{<&joug6;)rh>L{`UiAed_ka46oL2&DHPQ-oNiqd zuQ~|mtko|mz!pNhv4wj9;V?lI9bX+{j>ZP_pK?-};vz6nkc7qq8th@(Tfo1$e?sC) zOoBZ;>p=Z&`P#CYovJD^-tO#X#hWGS7*Ag3SFt$0nNFzYhc?c~3A3@F0B%KjR*Ped zCWT8?xxR^rYv2gNN=V_t7JR5KLm>lQt|&;92E=ceR)bwo5!Z<*%f)Dng^t&N5y zJiaXuLzalm^+hW6sZ;6OrmI;Tk8zx&8R(lRH2*P!YNW#}DF-%H zT5}@68!b{Ji&ubXax#OWTx8#|&O@g4wEjD^VSZhkvMTt)lceUj(^f8-=Z$B&Cp`Qk zg!gd56DNqiELWkUA{BC>s2}`b-S&7MQ(8OT$zla3tuBnU$(eHsfB$(-6H?6PU!R}E z#VhK~l2fMakH{q*v$8R5F3`K?ggceLO@3!Dbs{XQF6Xtn(Z zt&v;V5qXytCYVakzFo6C(N*5L>0{ls=A{gvOh$$P>jXyh$=V-DHTIvDMm-aEWa;ze zVrwXCX0*p#i!$M~~*c|E0=tB!x;-9T+tKjcvoMKXvFt@A6X`!gDe-(mb9k_Xo>nOHyI}Al|_Jo}=mUl2L!f=3jH+Y;geIZu_fh zkz`sA2LD&RIMKRa$dC3Prdw~3NpL9$IPy34${=dHqWn=33SLzdvq7I|2DwexO5 zyN-Iw2+k2#KYK7uiz3ewe=5e`Ojk61Lm$V^XGKg7bZrlae)Jz;9QjQ&UY;|9EN?G# zO3Er%$vm5V?N>{_(?V+C*QP{dWD`f(=#8d+PWw$G=7A3wmlXuNu6oHT+Cx>1Pc4u& zQI%`kjeIs4y8C59!w_OLRNVUv)?hLL1;2ml^c8l7*pm%EL$Y>|Bm&)Y#@w4v;z)%( zFTp3I)4IbYwca(3--@4Pe7j{FI`zScS?$zs=0;P58_ME4km$)2ylwXt6DIcjgEX`@ z=Z2P#x!O%Hq~1f-Ms5gtoGzLN1*bEMgw}*E2=0ZXcah?->&!4&r|L(16Yqvx?UTrM zHIkv(N-LYeeA8B}Go7r<$}l$^n|VFq-mw+VB0vEUg9w;KgJdb4 zoi1;B%lu#fM;Jj~QldMb(2(d-tVwJkvJhXNoRqR;wYYKM F{{ZTl;J^R? literal 0 HcmV?d00001 diff --git a/static_html/index.html b/static_html/index.html index 210a4fc..bf40aa4 100644 --- a/static_html/index.html +++ b/static_html/index.html @@ -1,3 +1,23 @@ -Hello Justine Squi + + + + + Example website + -Today is the Wed Jan 11 05:35:15 PM CET 2023 \ No newline at end of file + + + + + + + + + + +

+

Hello Justine Squi

+ +

Today is the Wed Jan 11 05:55:39 PM CET 2023

+ +

This computer was up 7 hours, 55 minutes

\ No newline at end of file diff --git a/static_html/main.css b/static_html/main.css new file mode 100644 index 0000000..f7a6b7e --- /dev/null +++ b/static_html/main.css @@ -0,0 +1,80 @@ +miniature { + width: 200px; + height: 200px; + border-radius: 4px; + padding: 5px; + margin-top: 10px; + border: 1px solid #ddd; + object-fit: cover; +} + + +/* (X) DOES NOT MATTER */ +body, html { + background-color: #111111; + padding: 0; + margin: 0; + font-family: Verdana, "Bitstream Vera Sans", sans-serif; + color: #FFFFFF; + line-height: 1em; +} + +a { + text-decoration: none; + color: #FFFFFF; +} + +a:hover { + color: #F012BE; +} + +.container { + height: 100%; + width: 70%; + display: flex; + column-gap: 2rem; + row-gap: 8rem; + flex-direction: row; + flex-wrap: wrap; + align-content: flex-end; + justify-content: center; + text-align: center; + margin: auto; +} + +.item { + height: 200px; + font-size: 15px; + width: 150px; + line-height: 1em; + padding: 3em; + align-items: center; + display: flex; + flex-direction: column; +} +/* +@media screen and (max-width: 920px) { + .item { + width: 30%; + } +} + +@media screen and (max-width: 640px) { + .item { + width: 50%; + } +} +*/ +h1 { + text-align: center; +} + +h2 { + + color: #61cObf; + font-size: 1.5em; + line-height: 1px; + margin: 0px; + text-align: center; +} + diff --git a/templates/index.html.ft b/templates/index.html.ft new file mode 100644 index 0000000..3915742 --- /dev/null +++ b/templates/index.html.ft @@ -0,0 +1,23 @@ + + + + + Example website + + + + + + + + + + + + +

+

Hello %%name%% %%surname%%

+ +

Today is the %%cmd: date%%

+ +

This computer was %%cmd: uptime -p%%

diff --git a/templates/index.html.st b/templates/index.html.st deleted file mode 100644 index a1fedf2..0000000 --- a/templates/index.html.st +++ /dev/null @@ -1,3 +0,0 @@ -Hello %%name%% %%surname%% - -Today is the %%cmd: date%%