From ef4c0ca1203fcfc642d4ec0346dd7fe6fd698173 Mon Sep 17 00:00:00 2001 From: Augusto Gunsch Date: Mon, 28 Mar 2022 16:24:48 -0300 Subject: [PATCH] Initial commit --- .gitignore | 2 + content/index_en.md | 22 ++++ content/projects_en.md | 33 +++++ index.py | 63 +++++++++ requirements.txt | 2 + static/augustogunsch@tutanota.com.pub.asc | 52 ++++++++ static/email.png | Bin 0 -> 1458 bytes static/github.png | Bin 0 -> 1626 bytes static/icon.png | Bin 0 -> 34532 bytes static/index.js | 37 ++++++ static/linkedin.png | Bin 0 -> 1274 bytes static/matrix.png | Bin 0 -> 443 bytes static/monero.png | Bin 0 -> 2068 bytes static/quotes_en.txt | 100 ++++++++++++++ static/stylesheet.css | 152 ++++++++++++++++++++++ templates/index.html | 31 +++++ 16 files changed, 494 insertions(+) create mode 100644 .gitignore create mode 100644 content/index_en.md create mode 100644 content/projects_en.md create mode 100644 index.py create mode 100644 requirements.txt create mode 100644 static/augustogunsch@tutanota.com.pub.asc create mode 100644 static/email.png create mode 100644 static/github.png create mode 100644 static/icon.png create mode 100644 static/index.js create mode 100644 static/linkedin.png create mode 100644 static/matrix.png create mode 100644 static/monero.png create mode 100644 static/quotes_en.txt create mode 100644 static/stylesheet.css create mode 100644 templates/index.html diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..93526df --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +venv/ +__pycache__/ diff --git a/content/index_en.md b/content/index_en.md new file mode 100644 index 0000000..7a2e2fe --- /dev/null +++ b/content/index_en.md @@ -0,0 +1,22 @@ +# Augusto Gunsch +Polish-Brazilian fullstack developer living in Caxias do Sul, Brazil. + +## Contact +Matrix: @augusto-gunsch:matrix.org +Email: augustogunsch@tutanota.com +If you want to encrypt your email messages, you can use my [public PGP +key](static/augustogunsch@tutanota.com.pub.asc). + +## Links +[Github](https://github.com/augustogunsch) +[LinkedIn](https://www.linkedin.com/in/augusto-gunsch-210b17218) + +## Skills + +- Programming languages: C/C++, Python, Shell Script, JavaScript, Rust +- Web: HTML and CSS +- Languages: English and Portuguese +- Calculus + +## Donations +Monero: 86JjGobWkTwh7k5SoBhXVB4Nbx28fhVi122knfyHYWJvN33Jsn1Z6yPAXfc4dsRhLN4zAAs29fUEJWmAmVJxoPUgGmtpS5P diff --git a/content/projects_en.md b/content/projects_en.md new file mode 100644 index 0000000..651517d --- /dev/null +++ b/content/projects_en.md @@ -0,0 +1,33 @@ +# Featured Projects + +## Fsub +Command-line SubRip file (.srt) editor. Available on my [Github](https://github.com/augustogunsch/fsub) and on [PyPi](https://pypi.org/project/fsub/). + +## Inflective +Offline REST API, written in Rust, for the Wiktionary project’s database, +serving inflections of most words from the following languages: + +- English +- French +- German +- Italian +- Polish +- Portuguese +- Russian +- Spanish + +Also includes a web user interface. Based on the “[wiktextract](https://pypi.org/project/wiktextract)” Python script +and relying on [kaikki.org](https://kaikki.org). + +It is not yet ready but usable, though there is no streamlined installation +process. You can find the repository +[here](https://github.com/augustogunsch/inflectived). + +## Install-Arch +Shell scripts for installing my setup of Arch and Artix Linux. Available on my [Github](https://github.com/augustogunsch/install-arch). + +## Jackc +Compiler and assembler of the Jack programming language, for the Hack computer architecture. + +This is the project of the [Nand2Tetris](https://www.nand2tetris.org) course +and is available [here](https://github.com/augustogunsch/jackc). diff --git a/index.py b/index.py new file mode 100644 index 0000000..4c3dd8e --- /dev/null +++ b/index.py @@ -0,0 +1,63 @@ +import os +import re +import random +from flask import Flask +from flask import render_template, url_for, redirect +import markdown2 + +app = Flask(__name__) +CONTENT_DIR = 'content/' +STATIC_DIR = 'static/' + +def not_found(): + return '

This page does not exist

', 404 + +def read_md(fname): + with open(fname, 'r') as f: + return markdown2.markdown(f.read()) + +def get_quote(lang): + quotes = STATIC_DIR + 'quotes_%s.txt' % lang + + if not os.path.isfile(quotes): + quotes = STATIC_DIR + 'quotes_en.txt' + + with open(quotes, 'r') as f: + quotes = f.read() + quotes = quotes.splitlines() + + quote = quotes[random.randrange(0, len(quotes)-1)] + + m = re.search('^(.+)(\.|!|\?) ((\d )?\w+ (\(.*\))?\d+:\d+)$', quote) + + return m.group(1), m.group(3) + +@app.route('/') +def index(): + return redirect(url_for('index_lang', lang='en')) + +@app.route('/') +def index_lang(lang): + md = CONTENT_DIR + 'index_%s.md' % lang + + if os.path.isfile(md): + body = read_md(md) + quote, author = get_quote(lang) + + return render_template('index.html', body=body, quote=quote, author=author) + else: + return not_found() + +@app.route('//') +def page_lang(lang, page): + md = CONTENT_DIR + '%s_%s.md' % (page, lang) + + if os.path.isfile(md): + body = read_md(md) + + return body + else: + return not_found() + +if __name__ == '__main__': + app.run(host='0.0.0.0') diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..b113dcf --- /dev/null +++ b/requirements.txt @@ -0,0 +1,2 @@ +flask==2.0.2 +markdown2==2.4.2 diff --git a/static/augustogunsch@tutanota.com.pub.asc b/static/augustogunsch@tutanota.com.pub.asc new file mode 100644 index 0000000..53ad497 --- /dev/null +++ b/static/augustogunsch@tutanota.com.pub.asc @@ -0,0 +1,52 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +=SAgI +-----END PGP PUBLIC KEY BLOCK----- diff --git a/static/email.png b/static/email.png new file mode 100644 index 0000000000000000000000000000000000000000..e1f100d9e6bf68d18ce00cff8ba0443fba4a91ec GIT binary patch literal 1458 zcmV;j1x@;iP))h#~UB&UZ-cg zGu?BiyKhT=C^9*>&*`e}uG4kuRCg(!126|i;|Ls%$(V%R#xXna6SiSJKF4Qx2b)UJ zF?UYDgZKn>>}pf$SceC2T&WhcK_3>0JJ+tkY4Rx+8hmmp!DQTlEs8UIxNOE^;YJ;! z3zyaRB7&@BNu|xqb z(Ss)|U|?2RjtO}gKLIN%VANRUWpU%iMHil`fHCdL3gdK#s{4EvS<6I;D+hl}%!lDeFzrr5H z*)VSQ#5dCIxS`o0=>k_~IKc}1)}p zXcy@;ElzcA{-kLzgCh zXB_Kd1~0%FZ76eeL!o05ZQqI%_!Di6m&OX5+Bip(Be1ri%UJo><^yC;U0O|X4vD3S-@pqF;MfPTD8H&|JaY7kP6tnwC{yY(nVA%-2 z7s2+Lh~&y-zVP{JiME5pUB9kmUAFfKe>|k*6CW=oyu~7*xl?*JrwBIp;ERSrWiv&% zL?>Ba6Gch8E9+~b?q+x8vzkaP?dr599iWaiHL+OP9iM`avAG!tz1~SpI>hS?ro^7f z*eMw~mK8u{A*oCEh(`_OSq9VC9||`}OO70t`1>ufvg`CF$qu}i`2UQN4ot94xWEt= zO3$NxEjAyj%3dOAnr6rKtvdILs4%VbN);Ix{Ex2(!ye3NO) zEq^aswqp8NE&!Zmd|!K1Me3r!yDgSfz<}|}-R&Ar%m@FcBI)6>Tn<}kJz^uW)5eTd zUX)|SN;e*_fKgdxnH(A%6`tRrSTZ&ZfAAx*o(Oo0Wm;e9( M07*qoM6N<$f>2MpApigX literal 0 HcmV?d00001 diff --git a/static/github.png b/static/github.png new file mode 100644 index 0000000000000000000000000000000000000000..275199abe8b84ba4ed9086e712f8969047966f57 GIT binary patch literal 1626 zcmV-g2BrClP)cgfYed(|}gr0DkrD4=I_DDKefhrWsfT ztORbxCOiXZh-q>aIE@vf5BLK3TtvtRRCZP&|3q^x!Mt6 zPA&of(}DgPNJ?w{!1PQ40OKfUZ7<3W0pqd=u)7A5$ZES&2>@)W0rGj-CY1oda*{VV zLqH4A2;2f}!@hiqPUbl902u$_4RBCe#SnebMcHZ|n5b22#Zv}9)fW%J#t7BsJ zIJEC0;(ZYHPwg3?BjWckzKr@&MD`nFZU>&mZcJK$e}Qj-Z-A4)UjYM{60mk)5pW04 z1e^n20^Ssns};B`O5odp&F%Ft;h>U}fC1c|$a;q*bTY6IsB_(z1lrbNhk1*G?|Mhh z1HhzUTQ8*2HtZ8~!C;buh@2IX??q(DvCm-JArUz$B7f$=#YYP^$5D(5V2o)4HoH^g zvck7$Xt-?la|IYP0=8n`=&qQr@GTk|E{)h+fw2NStPHwX>0czYTt;*C0E{sUv2R}u zW-I-RgqBOYpY!MlcrZoK?i6i`LK-eMXT?S$XnVBFTG0mVQRdJiA{byMa0+|c^6C-V-o>pdB8HZ zT+yraFB4jBty%$2)#C6UfzR!fqKR67BRWb|frg`6fHO)m)qsX$tA||%UE%sqv6|3u zoaq5q3hKOC&~UusVK+8KbY3lJI1Xq9XfwvdRd-Y!#+Z6wmZFJTfF__z#j0F%Vec?q zp%wt(0i}PL&~h8_fMd!=tCjv`Ld)%#hb=(TV4g8%t+Gww@HuIZ=?)ld$=X@${C350 zU_qMG-XdU(sl#5zbSj!%0496>Wy4`*%uYhb%T>lUbjbr87LltXrzzc}yRO<;11CWn zQ*!T?k-I@)F1E%-+sP32h}o+`;+`Kn>0&g>hJm@G0{9*7OR1z_ix)dfOuo~PnU?Rq z(Y^wmu8DE(1)c<+$F3N0iVp#MfqRP>5!k!J71#pFG*3NfYoY}3us63+0!$0|-3R=h z5a1tQtewDPKu3zXYDfgjHxz;ihY@Lpt$n83~0uQuX_^pueQ zD&Pa)yzg@nJC$|-6EX;Je@@AtA*Rx#Qt-R5wLMWC?ucnK4n>`=g8;2LB!3C$ij9## z;1Qzd_(foGUWrzSKR#pf!@#`q$Jji{aVZA3?a)t zz(s%|U>DGwDn?pzKEW=M3!^7y=zn5D-`|mOInE@2PqG1c7WlD%5fJwdIEpxk|)(ZK0+!)gi+yML}BEuQ`GT8Hn%Odh~W^y6? Y2V9J@(B`{8ApigX07*qoM6N<$g71Rz3;+NC literal 0 HcmV?d00001 diff --git a/static/icon.png b/static/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..1e225f8393278477cfb0490c3d5d84f9b2a6b410 GIT binary patch literal 34532 zcmXtf1z1$i_x{~wfu&RFZbd@6ml9A)NlB$aX^@5mlukiPxV*&txqaZKy1^}SoS115S13yk&$F9H+n4^?} zIvo7-gqs9`zcK9O-#P*SZu`SO(A@Y6HnbzMHLp3PdNs6ggkbu2}vvczuWYF=CP~gnRnq~3UY7=7Q}}GGWe1N={Bw- z@{nE0=F$xO`e!^%X^H>NQhm1?iIp@drS8-4Wv=4UP5rv z1Lbe=d14H!ao9gB5}-fHrnUoR;93km1Et+dk@%!?9^g5SN#iD4dN$B9v43UjUtto) zJ-q})z8xZ&Fl&u$MiIOh^HGNGZ7zxr6P<8O;a~L9P-L%mks5O&)WFB@+fSRnTsyc*xuchRdBnHnQCW{E%S;R;8Ll=*N18_{2KSKfU)zSpm( zTbcpebUw84TW}VKr(0E#U>L4sY3hVD^eNrPqZ#>Q_olH-b4v zcZw0z_hH-~p-10i%UO%{zhl0W6tu-i9Z5IE?-sg>KxWYeYU3A9kW%A;W0yoFaUtSUEVA6^Lgg`Vb3JZWmg_V1+e<7vKY|Xe2r-jb~SCFGE1PiSv z;4Zllz%eM9j*^bs;)v_<*9DuejkFSl14z(0G!lmi{dSL}h3O{SJ-%YFonT;=yE8+H z+uvW5xG(vF+)rFmLT<#0Wf^k+|^zQh4X1CBTM3;t!(5O>d2Q6MKo17?L@Zd4+LNV z$q)W4h?Z$AY)4!t2ndjuFOR4d5}AAyeORi;bWcaC(R8V3t8t$(`OW&mkt{{{Ez$DR zG=E2Pl#`V>P%{YqaxJ0X{J3xsLNc^A`761Hb1KTf5hR)uj&(O)pALZo`8FF6J0udN z4#5ETkevMDFhuvmkY<%wwR2LW26$%`Z6_@=NASqvQ)@H@l7Z*u+V2&Oe6SHdBwsfM zbAACE-^@yQfcP_+U??WA=dyS3`sPn(r3v5+&ChZXmw>!$b^*q5Jm8Z#F_Sp&Nc8Nd z%dEZP>(t3AIUm-=?<&(n0{^4E6gGbHrDO}iRprn5FL6eOLGrk#=mNEKUYs<(XVYD)(v)PmF)!Yt`S}PbKo-I=g^N0K}pd( z|5Sf!S6q)&xR+p1IcX~@ptk?_=Q*^dv!8i$pc2~X-E{X)=(O631w^rj zt$30$sn(Io-Yv#-1i&w>%)s;y_btN-C-YiHJ zg-|m5bg`5cA#r2`nKIxi9aTdjb&vH)VsKfhzXG({$5qO0EZ@C@)z8DzSxZOmXg78p z5i~B>Jb&CUT-90XNXYal4wpg+sP%gixWV>+UpH3B5DgB&3DcllkRIirQDWKwD(@fZ zfbxlN#5vBbZRePIr-;MlN*{nPj9jd)^mA|tb7!FyR$q!#OKmjNS;h-Oqvm-iFW)`c=bHVn>da^{AjNcnH1I03B>4AuEjP1ohT)|*KIJ>EXa0tiKj+KDtj7nT< zp3E6oRW?Gwxj5m1hy4UFwAzU^L-_a4EkmytFVX*&t|u1ttLgz<%VT<9;jT8cl4i?Oi2iFLHMTXQ@JT2R?! zJ1P)US|X0+U6%;6L5nJQ5aHJ$n_p*-`@F~@c5QM0bg>1+)_7iDWMO|*iq_f+&B`Vv z@CTV&=IZHMyt}fKLG^aPynT)oi}XG7-lpU0U1t0H!1wF=h6!u^+b=Ji z$ttveqXMA@1K+-o-xxmj6US=F0!N5RukM+NHZCyqg=cWmF+OwT=mpO&&uiI}l)cv} zA(oh&$zekC!Zh}8F&LVdH?Tr@M05>Ya$HNiDwc@!;AQ!s`suZ5=~WyBn>b*_sQ7uH zOkour$~B*RDdJ=a1?MMpht6(?SJkO)J@F9*${nh>ktjUP4RAGyH)Ka1C+Qq@xXH7z zs!@jp&3VPbM(^C&13;_%tz|EpyEfX)PHO|PO=e-OKv71xj@a37y5&jlL<+Fv)?{n<7(KPv%EZ!hGn5o$y_+n=xuW!R! zjPwL;Pv+~k$hM_y{pXWOL2%De=&mL)TKEePYF_qtaKFy_N4t-Eu8&O+XWY^iHs9IZVv>M7MiIQkrXWU3drd_!b# z`CAQN@>&T~KILnKsZSkrPd(;wAKaeu^L-6X-##h~6?oT#XX||~J8t>8BZfNi70m@c;c<)x@BI^mVM7|nbY`Z#nUWq* zM)&Q*bKb56m(S@#kg`3fJ^vGz3X1qU=kWK}7rH$Z^WG3S>bX+k@Te&1Hq>VQFEh17 z>bZ1q*A~e7#9l^dWRc?MwzTWvkj7cL&TCQF#Lo3p%IWzcH<#^~}kk!t5^m16R^ez))sY24aq*^MoYWbca8ctMyv zfJbmLy_ff`ym6KO8rXx7s>E?PXXY**!@86Y1|)L(FP47WyB(t=HwDJtej1eS;QJZZ zbcq5$w1BC(qIRNrJ%&4Ban4Np5G>?jW?@FaAfqk4ZyKcRpLf|uULog8Rs(JgXYyXb z<>Z9R)h~sAE|4`pVCvp~pD*7TE6@&~>&wr1f19j9I6v>F6rC3N`-n4K`epBg{K7V1 z?@Z%gXp?O0{#}Y>!+K9jMUCX<)*IFc5hR+C?^ls}X`i&&NbrS(n4yuLi0XPMX==|R zS6@V}=S_dpAF&O~tz3FGb z<6vfWK#A1WbiRD!=gk5?^AR0`%RBm8EvK)3NOy%&Lh*qc*hnc#vE&AN1AboDP^bBW zm0t{LC5>thQy`9y-?~AKq?{mdIQn7&0@E6h+^T^NQSa|%h1GM%lZi1`>G9v*oosp#$Uu= z;0w&jJ>`F?l<*df1Srq9Q7T-cxly6pFq`yB=u*IsA@seGX_2-2c7;eC5#S~Af_ZJz zp3E}%5OjugG;2rv&glsFm2vH7(cmL+Hs46(Z{BvTsDOgW$u4=S! z2-HP>BArrZ1vMUSmE~df8S$r6dh&SMn&9?(rP)fx+FGsgo)V%Z%^7BMjWwPY%&YOR zi`tWt#!ngBZ2{s!Wu_;vbS{X|o97Ex&3$8HvlK@fMJ|x5P!xO?wD6wS<)4#fctvk9 zqReJW4-@r^U6*x-vg+CD98G!i0yZZGWX8iQC2^OnM!kI8v21TmD&HSUX9)4}iaLkK zs@=U9bty!*z3Dmz^{hTt9-^h#v16Me@wZHg0`Xx#ua7#oPST7F98k#UDw~eqwU$(n zO1?6a6|P@G9HvQE@sEuUIm2{K{(#32zt^GVMcwM|VvKr% zA5*hVaO~G|+-qVV#s#eNkq{fpa30g0S+V|rvA=0@7<>BM_Q&TI_|9ZB4VNg=%eRZ8 zK$oZhW#5llMRxL-t?=(tn}J-eHVCU37jP@n+BQuMmIlX@ zx_E0Ihbp;l=CWkZ-9XZ-Ybl1jujrh1Xo}*~N*<-_PXvX(%3*GaU4XU>2K+rOWk@mj zj31+(N5mISTR7_5PGF{tg}rM=%>k{#M6W_Eue{<0!;#UKJUGE#8~fK~+a$K6gcLv> zuFFEskXS^^yOyYnFC;}GEpHqx6W$Fchn-R79Ztok`R?(ov6|Sf(;74!+MlFsk!|P1 zI4#r`b#$hA>NIdE<_zxmVFC3ISwzY!w`f=sO3Rc-Mu5C}Hk2)k^E+Wvw_Gu0rC$2z z`vM~R49`tIp+8$i7zDoNv8g_9RA@0us>n zmEoqc)20n!5mwycwSV_neJN_RVrv=AyRvdwwND#A%^W7t5uG`#=Wn8RCnY`=TLbrj z#gwbO`^?Brqoc>hD{(#t$dWnDp?K5#aM$N;ll=*bdcdTtX&dUwanmz|R*|x7-Hsrw zP?ZwfDK+$DgPOO>D!$kQvQ$a5s1PF(OXnwic6<1&fLr<@$|V}2jH4ECE=;;sbx*u; zBfIu)rovw-j(t=t1tT}Yip{^K4eP=^XCeY1xrBc#SYAMbk#r$ zW!Fp4vV}{5H9~Y0PJnIuDClWxN&)&|@7AAfp9bY0%h#bDhj`t+TYt0PIJdRI>ZrJ% zkL;sR!m-;tYXgSDiaG*LV=duB>6JYN_qJc(@{ zJ89>Ui`}*4a{WbPJ*^ygEAD{Lw8rFRIei#XUAi?FWs0y;B;){o6xKEQdHR2c@aBUd zUQfwEb=IiwI}fMRs5r}cI;0GW4R5io^29a{x&%Di{(9wEaRb#>4 zIus}_m7DW+c)i72I^p8EiPhYsX!KH%9+aJ*yJ!rX!W`xuFCgXMu0UZsb;R9Bi6(&% zqfZ;$mdMmLk~C4LRqWlnIK33_h~)L-nVX5ZSgItrmY&BkF%i?t;-o<_$b{QRU$`{it zxA*rKu<%unHC#5v^Q5#{BK<@WoiZ{K;icwR683x^qmeN@srpnvvw`sxz@u zGe%ITdY)08MRgL%=N1JLzv98NYK+H6`$D;PHLG(Leg=;GcVv9%DEu@I?TI3`nvT8J zDgv$(&8ppVZd}$@W=82n_ixn&k~#UfLg6Gp;rNfH)b!@ZL>`xNNRt^)7{2H-@;)8Q zJ@D~VhNLjWf6LZ0EL^}{RfT?mO`T6KOE~^80t;}4^WkjE2hBsu_LHhCPJ29l<9kaj z#A4k^+rXwN@oyPOP~0PfcAO+T6R_=NYP5<9?uA;eQS<3t{$gS&Z8}6g-fwsXZ=Wmi zUfeoFk>swTK{Ec9gZ~mC_=pZb98m0_Fh~a8BTT_5i3nyLE;A*m;bQg1Vs&ixX3RkT z-ZYHf7aiZ?|2-+`&K8`gVOgaUU{j9S0%2tgI+Cz?`uX#Lh@oPg8ifOQNvf0EAV&u94!o&j4j zokSc!{~I-lw1r9RbUo)MagKvnP6+}`X%YGQx&x#Xnh?vYr}>r(DJV+6QITX;TM{yU zspwHz!jFnF+r-usd$&&@<{#_sBFiV^WuTDRMRe*9Dt7+7 z-WP6uW_n2pQXS^*`Lq{{rpOoCm7N*8=W}dGFdjA%sA|Ugt$=vpDhG>vNs@l6k5@S%KHIkomF**Vbt%c($ZdjFPa{)T~=I6Z}`<e_@)hOI;XV#^-@y1BfZpz8YW(Cf@g^#E&mhW-?1Y_4}1fwbitbamY+fjOc3_ zz9z2+46E{RxI5X6Fgof}r8^!a77_(N5=BP@fak)>xj1f+Y@u4PLLNFI4;|^s615i~ z?*z3cUlEL?h(xaHV0NOh$K2$C6iB$WMO$d60I`AHZz zf5f+#lE!W^Nc19fnKqHi?_*N<`v2~stH+33uor6O7Ad!L)BteVRdRt-+&i4~ z958VM9}4v)gLM(H+RAIDgizT*xZ-kNrDR`H!z{jRsgr`^wG?+dfQQ6)7AUuG)c~a9 z!b&3FJq2v{`$&!X>Fpp)d7?o%uiPr@UxR(0j}}(nzCe~}rofHE%FFmH%+d9*-awZKb%i1_{<}-Y9CNZjlu#?G z>rAiNf{FkW%Gym^z)IsmZoi#c_x=^SEink;@a}KU151SCZd{$DJQ$0j&xBSv!j8qD zoh}enwR;>%r^YQ_P-ls+0IiI|#SewYs+Ko4G1`?^ZH(>b8hNc!(qziRCU{Z1upBES z7A*@z3IPL7Fw%7c=XU%Bh2a+(=KZ9V!t|boV?Vqp>Z$*w3zIzRG>54EQB{_@fh;#% zcOB`0ps>R5ORDttMFU!}_z;+&3{Vc|cA>b7p7218O7X7dyb%JNrkx4J7L4s)nP#g} zJMK5u<2?!1H#m@30mhgX2_QRP`Ac|9v819>fOayf+?-^Kw0u$nKh?%8c$&Lxwgpks7$lu*6?2Kss)elrq6`zD&G$E)(amis3 zpZgNGpEMK|dhs0eq1nQCm0^+4^oph+r||QOYWhet?x!g74qgkT-KPCJVqNMuQw|(Z zQezqf<3?nDNvUc|5SdXkz-mA)M}AB7*7TuHExvsbjqN1-3&|wsarOll2R$t-1l1si3vWLX@a1a#!^}I;gVhqc@6PTAD zFOqor;DcKOqAAcW^soAVUyR zc;QU_B6t9r?o=DdYcBy@pYBJXWU>;FW_hT=HdDgyu-92f5NuoZy3(ur-)2!3UKlk^ zQ7Bo}&aeqfk-)JNuCq7yqkW8Dm8yz3vo-4771Z7tl%6D@g)scS)h=UZ-e=-|3s@YM zOt*Gj>%_ch`Ha8z7mk1_ZY50sIwonikgKHnoUZ;95lQ!c)o8SpLAEIJ%6${O&po<` z^VG27G%R4HKjzvIf}C5U-sHy7EI7T`Q%(6yU0du#42xTpN z;Dapg^hc7J*)cY;wf4|g*Mj?s)MyjMJB9AurjoX8E3s_j`3Y!&1pv1jS#+AF&Ghd_AdY z9GKk@$uY}(yG_waOwH3=0YCh=m>Noz2;#ho*Ht%jv>7PHwuNl{CiIfkS?P~N3k&Me20n)S_>Z=}E$1wQa0ft-I?BrW+YGhw|S$Goh|>B{H-3|4_( z|0H};7rQmhP5t-(xd13F|HO6!6dgkQg1RzAI0D*?cPxL}Ct_${EQjK-K}E=?7q=_M z30tCF;Y&8^CFNZSi>x0F0gI+TV0FG0Trj#I3n>D+Nuwo#S&XxbZyVxMz9ntz*unaB zX2ONG{CiqYz?47k#tbzX?IRBsz>+FtBtN4Xlpe805+c%O^$oVeNfHxVz<6CG0ahz3X!^C|f0L zdCe~K>0gY6#JlNWoU=xI4*f004Hqca;bD}lY~+ouklm>1pej;jF@-@AYi(Z&QUmkf~LHMxmvw1Jb9B%C^#x@n09gABOkM13Z`@S8E zhiXL~WshvZhVUfBQ0wA;t$&NM|9%cN;nS?5w6d{hwSM!YUx{=l_S*v4e|Ex9iw~X( z&dkweJ<03miRD&LP=BT@G~Vsza1j_;Iej0nP!LX*g&?tAdx?_I$vqL}$mLtIFlV4Ve(Pt|Sw0vfYc>pZgV!}NtJgb+7C|h$m#Z5u5^Dw(3 zW3lJMf}$PST--3KvaPVMF$G?xsUr{CP(%aS>(S4|D`{Gvm%gb*^Dzt^%mC@@t}N8H zt_ZiGFkeq7FGW4gzhdENyMN^XZK1&}HZ8}S6gZYz07WK0!xmR8>q627I;BIiYCAx8 zfPO8OqjzzQ_UAl|M3PFZt8T=rfvCxb)5#Ej&qQF!@oSXMS6r9Ep2ke6g`UVe91t*0 znBHSG^R$QLdiAaheEW>p@1Z`S-2Pl`jPKhD=mm4Qg8opMWHH(3Eyv@TV1>YqA-nmL5wF&j4QLF<_8F>(adXvEyQL`sD5}rkY zo3Gr4?O0}ezz_Tq=Iu6c1fFQE5Ln{**Wc|bphvAjOu_`vAdP*H4P+dxxdF0i0?)p8 zhQY*iLuA}Pc8NDziO&qJdK|S;vf=15{J>fFL%3V|JRZStboIN;E%n%cHv{X~LiN8x zf-Ja?diUhEA=5Yh);}?kl!JyST;_;qGQTNCls|R(Nocx+$@AevRN}lMsVj3 zimFC)2x49>1ub;+9X_jKtjM(tOOOFht0OL)211VD_&gQ>$Crsm@fCxlD;(||vcj%z z;b+&c%e3$Q)@lBAu0i?Ud@3q4oJrLG88MN8t7xE)OE02a8xqz$5vV18Z}Ow~8m~ir zC9d(yFO={?B8)F$;3>&hkd2-OOJ8ev!>pnT*yGavL)yQF1WDq!=b^On;BJVK%QT}H zsrr)+)1p~y+`D`j9umU;=twuoegzJc=qj`~7S zCT9AE=SQ*dqeQx9+{m9;U!GxE%!3&j`Ad8Yx+CUW+~UAz5~&uUP()wSks+X;DU8RA zeu|3pgSBk1WCD`dgfh)&BYBc1cgM}>RT-&%E^FJraQ&2f#Jcpq#Z5$HZB)FeQTtdg zpwRuxd!H%U{j_F_S8BBBmbk*|IEoi6tUL)2If$Q~JnyPj&&zmIh!!th#V1}Q99^#M zgNp#O4X9Jh7H@(KisV9#Z0eK~M3_)SB=*wX69iQA2uRCr+T_%6?~T)n5Q0lGB*TGy~ZII>*337{1_Py>ERI0rY9P;H~QkI!dsAkK#y zK9f4wsE8QUo+@k*o`+O_jp5{59N2ICAsk+Yle*h=EFdbp^+N2^!}@W~9?A3@fONQM z=T<9-=Kwl;9v#_rW3^xQ`Dh1 zztx!+{St5EPU-7?Dke8VYOyc3O)92IdWD$6M((5>b!L4G8Q8vD~K(JnrNQk6Yd*&;ASfjrHo|ZTr8Q zo7WBQ(=l*t?IRD~k0{n&f?)NNnVl^_bWw0*dM5nuvw?02TS7er z{_n~Ru(R1lqKBgBhVSH)$p$Ka!NVPbmHsCP&xlKp6S<Q0R|zZuoWkWuZLZk`RW zmT<+8oEI$2W?27Q^)A3d{&;&i9JXg2EVUgM<9awx-IbV9T&TvKif`f7NCrlw z^yZ&@YXi~06kJ=N8#I|RM2LBFnT0+#R(*EVCy@TLT-KR+->epjbO3A28H&!-iW$DN z8|o7I6B4|P`1|ntp6(*N*^6^$Umf(W4p*Q2!JUtie;C5Sn1-%V^p&&lKDTQwjjqqZ z^G`SDW)~hmoNFRSz>?YnINnOIE@h?>k@E`|*WLf24m){sx<2ePE)M$eNxP)0$c~5TuWuL&44`oLaW^224ft!R-spvnBp*-Y z>I6oSKc+la203N+W-z)7d%moN+z?dltK;d+2?qaqHXwMb!!xg!8KoH)+~9MkSFw$` z@G{JEG`-pwD7H+hmO|1469IlZTDaH*38>g66zAeIjTKa&T^_R8S# z&EWQi{LRbJDD?zPmk{(p7)dgQvfzv|cupOhUoLDPzCTc;agX?vSzkajD5V9@<0L@io984c`O0wd8=un`nh2CLZ@b&c?oYwk(zpgH4|4RPU{}gKyDVrYUsG9oYI?*F8}|g9xsm1fe8uXXRi<6*m4-tqS%R`gq9dRi1_K5+F); zSOka}n0Cz-ZGtSvZF-+=NjSHH!ZrAi1U|~gk5U~#h9qzOdp9R0_Q6xmkAPX^w)hQlS9T(6^v%y`Xo@Q`Z`bI|`3V9a1|l~gnGqq85Jj$VvR z(m4#tt2XtYumb7f1(_Z9x}l8#@NRnRhgJa}a5x{?H}MZA5=NrPPyvFGbw!InZjdf5 z=2!EG`DB>F5E%PWhmZKOxC=sc#^vvY3n?B`%myu@0-Lyhn0f!Zi15GoF=9*;_N0kI>Sihw3fL$v&`K+=Mq0!LJ?B;E#S9gEwC^uz0c)WaHiJqdK6F$%`a*ma65 zDxU#>-yAIz#rwj;3rz0;I%4ylgyKt>5VH|TXnVo8!29Gt^<)7j$oIRC=O?Jcx-#PG zgfd%ES^A|tIU&|p$*Jzs80z7N^J0&IYD4^Quw%W>NZl#1r@jFZk2$-0Pt2QW5f|ua zZ)Mb*7%b+1;%2P2gKz2{68wN{^ds*vtW^!0lF3B&3KU@Xph5h?R0r$pii43=D zsi8*leW0wG_aJVOX`A9w1rrJ8XPmNgH^K63(UnNa4TPMr$bVTuB#q3(qT`#TPRtNT z--;N70(A?UTVIejjm$Z4!sB&gB8=u>!75k^C*n->n{gwGisHE%5Ld6`3_43G7QF4{ zru0~%y_&{0Ts0AiO$Au9HmU$#Y7dG#Ze`6xrxA8PUoE<}am~IV>%=Bf=IPiE9GXaQcH8 z$c3RO*PaJ#w69Y2u7{ksl%2v^yN}f?&mF80b5LGQr`ik1EaayE6I(i}e$ywvIugY% z?&@%^4ktH*onlQ|f0{jJ6>B~DB|AiWgSRhbH^f$8AKdPLRf0nkLw=Gn`2r>jmPS@E zQ(+6-j7^MSI#y_#8am4NZ8$kME$jy3>n(9M`xC|E{^YTf;YS|=t1p&zhV?*f{uv?0 zo;b!limvgof(5n$(HpMgqEOYEDsAT{0MhqNyy5iE#K_4-tNrU(p?HlJ=hwB1D*0KM z8wbVn5etK6&O-7_$vhY(edYk}m$WFP4m$%gXky;fNxr ztT$@%tD^REj91=`n4mZMCVGl3=O`2f+CHCYYt#qm!nvmTw!K?V&Fp1PGs186V6b!PsaySsyl0 zX!TRT2N;G&Y+mAb4N5spR-cc&jzc-ua2x|k9Z1013U`pQVGhlRuw|q++6hh3MtlGzL|Je>#~X#*s~gF1c1O^Rnr_cfw4+ns>)Dc zTnre6`;0JWOD69HSnPwG$wlz^vTIGjNtjW^9WWiJtOb1l_iC>t92d>bEdKq|^w^9a zjIJg6aP5^=6mrS$Nue!qS-*BLvRnmb()6(%bl2TK#jeuUG?I~?yb6{>Fi(;1eeR%8`yk#bT)Xrj6LZqrtau2NVFBv?K$^L~fE1hG8g2CDKy-j#$n^!3r_K<|?uTk5~p8fu^s1^){FxN<6?5b6z|C&xXqr$5TOM=ie2xkF~-d49-U`jNM>jws7csp${y6 zODnfcmaQ!;Ij9~ixifa#ypmidzl?Zu4F!lCn;Kyz2ZTIXHH7-wM@6d%4qpZ$)$K$A zNiPoTkw2dC=I$*4t5+}E!F91eY}BIv5Wpn&sBI}B&ivnZ_MCRSXWuIc ztQ~T{J|d>G$FDk~v|NOZupph^*cv(P2aQiZZZo2|@4q>sAM<|SWa_giC5wyWIPvV~ zDM@WyB3#>Ph74exFldxEws)lzypMm%1%g`R1u_FETdk<~^`PNnYUB|Nxh0 zcs3#I7#tui^hRQce#}Ofl_!10%C97jj8kVk?R#j5%2>X#G&TL0mvgkW2lNNmwhwPC zVV*Fmr91=sMX71Gp+$ka=o2tZdVKFtTkHX4P4q#}e);QDQ-y?zQeNcCaF%CpW_98L zamHr`vAN#agc|pndBQlCL0s!1uU@-m@O6#K<>-1;3sl(c%V>jFr(bc|zYX3}%y#S) zvcKbuV=#57+ft{e_xpQCh0lLYMH}jqTA{@ZUue^=e4(T2hKf8t$pP5Q^K0JO6Kplv zgA0c(P5!=hw=asHPuls(dxF_zb3BJ{g*FLa*tC?@QUczKTH0$LZ9lSO(RJE!A#S*> z(#!Oi@k(`@-2V2-F-8-xkcpc-6QC0yIQFq4=uSPpm0AmPTxv)&z|_k0GIQQGcc;7R z+D}9`1Buzl!l8lJDFKULG1a*414;hb*hB_pSi2M>B<3=NQU6#bMe$?PuJgaG{>wzW zmD3&q72;*T@gZr8G26ALdkb>dAM~J+M<7gxPbnv|mpA~jS-(i=m?fq>3+I2Yz};I~ z@+RelwjcU5ju4kw!>DdO-QZcFa+|u;aA28JL9FzL6=Gm6E(c)Sk4!z=)G-;VS|iuZ zQmp$yOcby5I^{*TA14ht$#p{!*Sf@G265fNk;YHl%fC=_lV{kJXyNy3426|JY`*ch z1~)sl5KX#cUu{l`3YapIw_6F>XZ}(qN)OmrmNEZ3@wk=D zHu8J=M+`TG{F@(MAvE^^v%@N3&E+Cl7B=WxO*W<9(-qyYm@_xtT<-`*vMO1#h$1JZqSgfM8-|Z@K z-*wP@-d8D=wyl_NTGmwe*7(_2*NVfn{OdAKa8yM7s%J3cdt7##QK!hr2;Mx6f&WHW zIFFhX7liMWCku!0R0gUCHiWvA$+38My8GHE1p^VWXHnGQ9N<8|Bv5l1 zqzxppeIHH5Zbh*k_PHd~D=J!K4Q;f}AIMGH@;le!{9Ri}J~$%N?cUs7B;=$HsYA(voaQcjx$#C9JuiVzK*Yg0U}oeRR-1rN{m}PANtEW zPdcfaEG-4O^v(1^7@?-$P4(ac#LAlKZA?CDePiFq6jjg1=c>)9477c z{CD388VxRJCPNlpp=S&v!{ubDtHNL{FB+vY2-C-bCL*PL3381v)@N6T z9RZQ|&eWoT))Jm>8=;(pG6}A)G0eP7GZy8__bzWg?Ob(G1pIn07>SY{t`8IBEJivu zHO%hGm`kA9`snD0wh?69l@~?xj!fQ8tJn%hSXVcLM}M?Z)u2YG+;jEqP#y2hl@6<=!h1j3u?)Gyr{9&h8H8|dSY5r1`cjb zi>h4rStzGW8cyxhviBoP*fC+>#Bb}>L^~sHv3xtPKP?wT7DwK!-46+}q>6>Hl(;@% z8?o{8TwvNf?L$=~0OwwyIF>lj^`KDATJ7)UIa#AQK`XnJ`+l$#9x3N}j1J6}8sCeF zlppq@+neQ;Un7VGVkyYyiJ^4*_eMy8am;U|CxK^fQ@c-PC*tLf&+;(=XmQxu?MRZ- zTQ=Svk7v!&8&KV*Yr1Cvw^;l%>N^hxrfs9VQ(QAdgKGw44lB@AHnGF z6?nttK8*H0mtMjIA;;5oy9=65r!TvWAJ9MDj@H;*DV&0ZrhZ{cYL*ZVZnN2D5ZhfZ z^&#FBS&=B-ZlZk{O@Q;C7-^mz$M^ky95Sm(L0w3CPT7_Dn${e83P*Tt1j1#TuT-*(@5wgH?@Muf2Mm31 z*Ux@Y5K7!P&`U2pH&?BH^LgRD1?| z$4*ZEy1fk`xQ~NFa!?U_dY8*HU@{}nd`|dTfk+bS5BYf8+85A1n49pdeEG)JjGkE^iGe5aLx|zjpE}` zaqnk{vr?@1P#mdoajbQ zDAX$cp6syCYio6R)HvYf1~gBg$9jIzo|bNiIS{41jFH0bHqBdhmSEr^gK@h^9s>ti z3%pwn46;-3zCdlMdU_0D)wiHXd*)+!2ojpX`g_ss?&}?1K`4VbORj-l+)TL5XI$yO zH-TAR^)qK;mi7&V$Z(cF^oi*BceX)1`Bm36Kr+VBInloGk2BA!J%*!c0rz?5+<>RA z_pa{m;;3P0W7Mxcw4d&;Jg5@(`*N{~Z3l|*r~brHQOigI)ENd=JE~gs+nrXQy^P$9 zb(M!#;{HRm^Z5XBEuu-e7Ovv;S-H(jbzsuR?@0jYq83?&5Micx$AuX5)+)_Atk>5A zFp2?1p8k>Ga#9ZX$iad9CrFO~-w}AEWdc}_&F1Xv?kY+z`Bw&V=?_nzK^017EZ1X`M{va2n8yW^_i z;0WYtbtVY4-`E*YX+mhzzdT9?+ZeCWN@?S5E)oNL&9v~Vu=0XlmjMI(`a3(h=4@l74#K*}LN3W#4=|+BZSNtcPj5ozB;ATqIkQEu_ z{{Z*&d-`!Pj720~<_kf;Z|rA~27?=5LBmh@AgyJz`f z>8)Uz|ass@+)rETglZ34U$J;l44EV7C4-@-EkKDilz<1NY!TeK- zjRDN{QqgGDH2EJC&(oGko&W#20J8kO6kp{$S~pOU65andx!MBPs%Gj&fY!R70|rV9 zdmAmjCFU6hMR3L?J}~t<6{QkHrwk)?0E_fshsys`uFPuyo~~*m{NFSDhqG7#fLNjb zf1{;K;sV>HAEJz-SK&7q)HV#PuT88IF52{$? zbz)qNxQS;VWM~S0m^MFtIzb@h1qUEM#LYQ2e1CmAk8tj_Q8SNbx@r!$EzQa_j(%%V_*TW!&3D zVS;_)mZb5y1(7PXfNv-X-tOjd+h+ktKG!TbAx2NpLqMDAm5M{xoS=wul8Z^YjcmWv=YU+@NmQw|vV# zd&R}UqwL;~NK{cG9j&_a)xna^8Fp>64~VSz8Bjxwu>sl>E=(YN2}g~ zr>fILRsyj3G*N4`|Hj3y*~J&+zCJ4kdh@gJK76gzaH6c>rcg)IGV&K>mv7ecir5Tt zBEG;J5cBb~1`8U|*jWS`qMhXO{8cq9uLSFuo3x%?S}+x)@Y=A&owL0DM$G1MsC-+2 z_dY*Qm>xcrBm0fm`Lgkq1how&&}d=o{8Xyur$M2T3sf#U8B$HfJvESMd%23Q@}NU( zxLb<^RRMA^MI-~A6u|z^TDED4W?f#O7Y$LO+Vw!3IWjh0Q9(dXfI{L(Md2;xqr@g4 z+(`>;(ezzQZb@Cwa?O6(6j-k=3_vFCiF-x2GbaF%v6+Gzx@fyWpx~4-R`m{xUx3KR z`N_ir0D?4PRozpGZhjA_Oc{;Nd6T*#TM{wKN z3-=wv)da##10l_-{=vBGiN`y<c4#>Kf8PqXlo5OMN!3i@IjUaK(s4T`O1B; z-37|2OT#g?3*^EklH!TjS)g&WxDoEuN977qH2!Mz`1u5JcxUkr zpYy34u^eI?){I;XucQaqvm@p#A} z0*yO*4mN*NmzJ0~kPD=&zXN_n z(DiEHa@Gsczj@%r%IKzaOvCNeNO1QDtG?TzYELnCAPJy&`_EdSg8@GF&7gyQIBoED zP&s0#dXTh}Jl2a3F~E>>HN@`_YH74IkRZd_kddjq$pJ?~I?x%gdQ@B^Y~89=pwSs26#YzeP}Q~MilByA{>CGq-!S;WQOJ*j5) zUwUGEKjx-_T0p{VmketAi9uwK=Bb5y*`~sglVOJdE73pgnS;uq{CtC<{H)EsviV77 z>|j^0y&Q8LxWvH|>&^5<6zfQQOB@2g;ma(H`|ojni@v#Hdw1>Id~lffeJuEPd%O*6 zt(lxK|0my`;JR1rlxj~LCx_%j<@NNHFYgC|{GQg=kJD}y|HLt&;*Q$TfFw~MudkkLFEc!DD|FI#8NS9&T@DTM^P-|!G}wT_UURMZ8H@f4|If+;56!(`Izw|yZy`hTJ7Qo-gEe!Sw1L(gJ3Uq{`>HFEh=wvA zo#({o^9yRl9$J&PyocjLyl&l9V|q$OK9fUNwvz#Qjh6+E@BMNm z7>vr+%;+^hF6ZaqZal-KtB6A!5v4(P3Zm1*+Us&oZ_0N*RxS2P!>|sB2gX#6(2_#x zWPrxW%Oo#?OCFGT_X`aAUSAs)*1f#zfuZ)+|06Gu+G#SRP9^-;mag=Tqsh>)C~i~0 zrO*0LK^=LKy_vgTM z`E2yVP^NUl6lPFe4Khg9Q_k-aU#-1P<`=b$U*z)5@vZzD324_zUmJFg&2whny|C<{ z`-RBFWOe6}2S)MBg(&u|&^$cIrL7>>*mQHx1LHpC@72eAl}~Em^k*#brl|gMw;FARVF;3d-RN6N~9Z#HQLug~d-5FzN z!Zw+R)Ah?x{*Thu)l()#>ljHqF%ZMj;in9YC1^Ua;L{ClwPlONX8$eZaYVJ+(p%Lb zDoT8(wf4(@+&O@MPE}fdoVKWu!`PQ$?UCcZ{c};_rFZ+jV&r~%pru|+G3D>rM@1et zP+tshmCXpKHX;-117FE`xG?iQ>Qna89lh}tvSebt{buo0XTU8l`vS4`E;4oLg*TSU z7ee!AJ(Df<%JX{|OX+6)Y^q2%d|8rsl!VsH)wSr9*y|diq=B>QO(lKguIRm&z0lJh zTy>$~kK@c+2k06vO<);ICw=ZDM?izx;ezHUkQbU4xQNzvXA`6rywsNw6p&D2dT=*w zQa1n?JlCzYJa{=3JQsMZoS*d`PF;@}`SVV$*^qBZvc26PJhL|>Vm;6q7oeOVw#E>V{N@6$Fl6tU!&>o+y3 zp7Y)>%*rb7{?3j5mQKd*!*g)lvD>i4fb{sj54dTK8|n#Qfqs+cVZD$8h$Iu7VU z`o!H=dbO98R{Ux|jn;nBlo%DhTZ6+B@#lpsy!V?^o4k!cCj>de+q9<-D|wEW-2S$t z2x|H|x;&qz%yuh0d(j}eI6jD7xeN5Fk6(*M9i-4WD}`$zZO_@((-6Csx*NgAy)foh z=HI*%Zptn4-S+O&Dccmx`42Ta09)Yii-f4cp;N#KHJ@S4eG_h$0GyUl(#@FV)EOPr z$VoZPQ}IVxd{10$*63c40A4bY1?y{r@+zdL^LX*_Y19WDRBkgV)+4>h^VlJs4sEo31xq5gOdxFcXUci={Uu4q}sk&A?m%bp^xPLFZMJ7r1DL^`t0 zce6b0w)y7s-LygvQO|6-dnkg%Jju&+N~ z_(Bm&A6@wc$IAkRcJV(4y!Hf3mM=97I&tTGz}PO!RVKclNBC`)q$`&i>)a z7*~ADgbnu9Wu1OJ@KBmz-JMzYuk;*U4lZ?^tAD@w9n?Wjm2LhCp0^}?>&y+6BL|_^ z?N9TYrJ=UyYUisl3}aI+xY#nU35$i*L*DZ*WL)Ri@t7W1vmKri&w;oFup%eBv$UR$ z7zF3sFb{?O)^1ud#;)>+hsaL(do!DUYg+pce7&ojj9iwG){89E?12q_U=sH_U2k@g zBSFWis$U;`x;&j0`if0)9^(9JUs#O{hX1sGI{bd23E9WMZk(a`GicFph_zx@Rv;R=LznNmcKJSpZ4iW8d+9OKY zHl!NtyekjRA3cXZt6%$CyF8&Ht3Qfi`M6!XAAYgnvap-I=-`tEtcw zL>75E7FwGqlP5pRHauE#)x_q~FetP&;^tdawRz!7E&IlsQD>JPt|(pTTe&0+i!t%V z@|daJ{m+rJdAhaz-C+|`x)hkYr0dS`@M+}{JvicC%#4fGNGbg{8cScATKSLf9l`1f z(du?tl7f;JOsWk6iWL%rF84Hm#(v=G)sU1W{mafJeVQtB>325e8o~F#hlYYi9EWa! znr?;M8jxU#$xR-4cWF}L(>c@CJqa8>efZl^T?b}#d8$dLz!l>iFEeg!w$ITlFGx_+jEyklSolTLsIBgUoRlWd3GPjIoOB}4J$ef;wXQb=Caei`5 z45C8@d$c6W1En;pM0&6G4|Aj4YJZ;#V|-83RJ5jd+c*!J221{XhyqgURtN$y8z?TC z_hTgsP=RGm^8&6WUg*Su2>4IYI+UIG{CD>-PO#9C70Lg;Q6zf@T56)g|KC5w*Un%B zVpfne96JaoUgkj1bZ>k#Ml5zP$!6q>_S2Is2{5kMh#^?(*kL=D%9LG>s1e&Lt_7VDx!zPh+6`5hnjJJ($z%z(1;6ObP@C;b8 zwZvbRKC{c3e=gHR_IU5=hWu^h)v->RTD8TU$N?RH&dR*v^$9~l#j09`LEO>;DH zZ-*6RmWCMIn}Bi{gIn@n#Q9-tQkOX(TVC>0 zv$$}47rC2Y+CLSCICtI}=X24S0$4}d9azIOP|-YPd0==r`|=Rz3A^z0{npN#*Pl3^ zg%^s>U||#2uT5alR|xr!g56Md16C=v6wjzYaS}XWEB@=xPkkgsusTU_FyB?TV@L~T zm@A2L@R^7FK0kR=!ojnwm!aw39%W0&nh7Qj7EXsXR)N5HFgQx$hC>qR$3VW_o33MZ z6Mr1t3Cgkgd>=YX;(2e%eJ@DM1k_Xj?=e3!27B*tI=GDKzlV%RgiPg;BX?7wbvcK1 zCp=7I(MD}!c{`Lc=I~!!X~ui?V@SR~vL=}tuoDOnSPrB0>uvRYX2kqupUa)b`-<0t z;lt{omV;^Pe=`@&=e_S2>$BDHUw_*aIWN^?IH3_mwd`C}e_U84Hj}M~YearhyQ#a~ z6!^T;EZ3QkqOs8M2@SgQLD>!{d^s^OpesXDkXTx%s}-%x-1(palWzNwRrosnH9KF# z=a=D${Sb&a;0H!rlZ+Ox7c&=qu6Cdm3mPhHon3#Pe&gUL+hAJ-lHX8m&NB{MzQzdq zW_#v{b53M_R0`T?pK`k&KO$j7gQIxDQtKw2rAjr!OS5wiL1f1ScPpN~KXXiEDsWPv zr6UgiV97GV*nV4n`~#%S6gmo4b|$cBh2>4bbIxwu%+2`k{zM1a_vMs_lxrpI$-%vQ z=oB!IXT23h1(m#wBh^!UGrQwKFf{Iey5Dh0?xiKVu?n{T6K4+jLB_D*%?vni_@}YH zxx;)V9npWEoj(WWNXY1_2r=aKIGx`Je~~btsUJ006(SH^i`OLxj-k&AmsAVH3fo7c z6J(e2kNu?gs!-^3mIv%59uLWmGzyfuByEPrtUB#Q{Ig2Z&MrNJBh{@9%&5( z@vH|6)az3Ztc<>tzgB&gonsD}o9D30xHtY{Q$B~=U+vC8LtyO8jNusK5v^6+p?($FIcB+fE9 z^9aA@HB*_ItU9Ep?hdiLH#zXYkVEW)+jyvKFZ*`7d#{{QK?;3s&lt-qY`rlxdiURUgIa*Lqk3Jz3lG~Ex6I37GdSL>f z9=&iy^p?lfdv%_&@l&P*F7Y5(_LX!so%h8o9?7Yz+Ey{WdTw!Nvd=Kr(`Ar+9jIoc z0NitkKUXB!9(eqzDtG(`w&@}89Kv|k?UL$FMAp5zc#M?o>-%ozk*fRdT{QUNw?U!- zW7hjP(*?l}W~&`p~@8;{4Ewqd3sr$!ErQxENQ zcLTuj`1)0_&+@m#MqT=DgTfC%dh&)Qv{)2 z{lAg0j@-Ul=((on?3x$HUW#Ff4<#M@om~LzS=SY3uvHMjq9@!DJdYZhx*J|HgffwU z*XEElox@aMpb@H7h`=~l`^!N&geEgha+(n_MmS&Wy>0{Jb!gEu4<k*1-13st;W^e*!aWTY#dj+(5xRI%XD8?~^P2+1 z@me@iI96NuZ3RK_RvJl2%%!&Y{?tV9*Ys}0?kP&M#cxH}$qLp{sN8?!dPKCmD=!A} zZ3lj_Fx1%AEo#(_?gw=u;17>~Zh278**(Q}wXozpTm3)^@qR_%XSLPvG2p|mY7bYs z_$D*IHttaLcK^;GO>I?L&CN@;>W~T7qI)CqaaF)f<=0=~c(7d4GoKW#AYUZ2dx2NI ztRLuQxMxrs+NkxknD(ue5b0cPzcDb)RuFYC4uW-*TFH4vS6Ykh?oGLy^JOsI<&}72 z&liqsP3-;dee>0hgxEx~2eP2s_t=M?Ry7uULlOwdcgv5g$Qc(0d(Me?RU9S$-`bzL8_;n^E`^+iMk%LjBZNDiA1O+cD}0!KjBy2M)YY;s2_`O4#&+=9k^2;WV<`@JmB*`xu1w$U-w)&cq{5 zfp>zEW`ixsuft0HzzrO%?yt(57gYyocK59Ucg{l&P5xa8?;2GS8oaK4TZ%q1CVuYE zbh6xuKhFvLNQjX2lwkk~Dw;{Z@a1^re*Y_QD%wYMzK(7G^PDVy(bI?Y&XSJbx#T~W`p{tyMY{qp zy=B*IfWr}EG!;Bie6}QBR2S`~_G>O@BU0N&-3aXoZ@D&@l#!DQ7#cLmJh9iha3+hB zfY0%h%@{Snuk!lX_`d(XY5HmnS8pXSowC{IGC!}Rx_IbuFy6e+BU5m*YLv5f4}iWr zA=zVT+EEIvnrXpO{{bKxMj54YA#iP)kj9HctS9iCgWG= z0EL|z+4;RR`ZUqkecq6~N?Zy#85he?QaiX`RVUUSYMO^H>k_PF&J8VEyZv4_^Sud$P>4V*)_pZlClHuuJS-pt?iNAskiAv_|_7@pG2$tjWEMjt}Xi{%?qr z0@{#+tD_Z8X+=B1-wXJ`f-t6H|1y8y^j$|PZ>#2A#{}8?uDP6*{TKe0{W*6zvGmA1 zrU6;gtZzFQp0N9{oRMj(cYI_jZx>1$GXqxIg-L#@G-IYy=4|M2isKYoThe3>1pZiHq^bSAZcM}dQer$F{)bsOr0ah_{rh^y63oI zRilfD4MVu=)%noLc}f_-4dNHe;4-vy>%Ym$`z26>9I~#5dux{~(;ap2lLumO;tdah zlHK!WeKDZ4pZ^_S!+++PR*e`tCs7Q+zNNf;KoGJva*gF znI0^}<6R;*4FZ>5C4}fu=nH&dx$L75TJDwAgWqd2i@8RWY+yXQuZAbh$(^TQ0llJ7g!WF@Bo-V3 znj1_MC7o98`TI3k<}=bcET%BDQ!5`DP!g3#C8xUQQ38qNJ{32PD!7>G=(XAI+1zX5H8^kobC1+gcgE;&7{1vuN+dQJ=Jtynz<-kCgYSjS z|5BV@Se_GtX3=9d-5DDhLq;)Ho2XrXu@9kvq$|MgxzU=6LUv3c%NvND)s$5!v|ebS z=eGmY;_zX@r<+l2q+cY?v@ItIL94phB)J$r(=;bz8MszOwjVC00+O?&cCd)xz%c>* zF{WNp+Ro5GD=yaDtXCMzAsVP>@MU!54uG+peMI9>s`1Im%?b1*@sHwt#Zx$@yuq)3 zz9z4uq;oC{@;<|Kq!`HypT@OvIGm9OMOLZ+@QZ7#F}{G6r5KhLvo^f4EM0Z)0DZ5$lOf^|!%+6>a0EL1a4}O7 z>pz@B>^ALjbk->xx%YE)jLj*K*cYAnXC zp$CUfZy}0slCLZ8dU&fED*u&D99q`!>x++EX9j_AA5EKA0Bl@*)yujLt8%FXNuucu zF2Bk7|5^a>Syf~8zgkWFXbj@#y1T%T$Bz{v1@3%!2C8Xe@&46n65E4(-T&xX4FWmT zQc2%u{-Y97Y?QVbotiE_!AbUyhV|4}nY{bQWQcVaoByT~;M{V814SoOw*+ARvote0 z*%|nA5gmlIlL$vyWh(ctET$akT>I!*Y>O!fST7Dq7j1!*|4JiAZyN%Gv)+~Pj0iHz z-f9jhP&QKfSHlASJ$zN=tAwE}8t4t{3g(Z)|1lQCW*8Ed7hmSSw&>ab(}({qs6Yvv z4$OpW+*K@pUM=D=eK<)gNBA0A%SA1~_PUtAX{$=G$&6Mo2xoke*GKH%YYnX|jyIQi zK7iD_KT+0*6fSB5MPF2x)LwPeY_3wivV$ZMcs^|ZBSZoj2mLWKmcMq`l%Ru{Fkuv8 z^ySM9qPvOy`wu}HiDQvB@HX%Y89>olh04~^-XEPC;%bo1svF{E5^ zD(anHP(!*%a$?L?G5f#%^b(psjn0DY^|Wm(n+jYbf`Un3sEhtm2fOAOnKBoD{yp%< z>H{+Y(j-g_4xSKET_f1&1NhZ-yw^l9_tG!Hx0AoGiSgrsRUit8=1RL;a&SSIrC58C z8Jl)dm(Goq!~a?$Gliz^Ct9lo1_Ax!hkYh)|9Ho8NKuV^%+u4muL23yRLRBN0o;(bW=RIkHLHopV17c9 z6p@~kN&)X#nFjv&qTR2v+mojaLJ+9n?_!9P8ZS_|i9|1YoXM@rxPMq(+UJ`X8Vjiy zLWQ#rY0oOyZ1sv)c5gM$Mjd#+I+^r=PRnAKby9>5&edI05+{a#YA&l-0O;<;bR_|~ z8|%g=7npA^$~Kuoi)TUNh(tVvf7b1pf=$|K>Q|w8v4@BtKfN4&3wI8HmCK!4;?gFv zI{1Je`~AHhQi}qYsrBlKmdWAYE+9UZ<&U~f2@Kz)LW%X?vNe)D%`-$74H1pY-@V>l zOd#7|XN2RK9SH?#nq68H;dK~lljM3wP?vXkcy#&qpATTmFB%}w65=KjmMlfQMG zk}(WPIoV8S8Q~KifM8ISqwz`dd&n#;8ICqU9D?tEOs5*dCVyvF22T~c`e+le8QWk; z+zWrvRD6uk7JR;O?&A;nL|!fmM@(|k{ERN2L-P4%V06SFHvtA z)j+462?Zvs3)F5M6Y6F6?FkWzxs;~y_s=C>YWrxZCU7_;*)-mEkR7#`>UO6OnK~cw z^NIq~FV5|utiU!Tj(Jp=mN%ZojyCOa^8no%iM*wS|tK z;J#A`q{$y!>&B>rLENQuf#jm2hUXd|Qcy?F1l0}A@Td17sbVEOtyYc-X5EPMoOQN+qgQ#eME#?R<2Py6 z*X;{1h^FqO8OguVN4o3Nrf1(JKm0aLthj&f?wN_as|u>yX5-SO=W27lyZ?_OP0)e- z=1)JkimSKzP~@IK12tQ>0la;EV{x66bzISu8C6EME}a+w>%S(fznPa zZZZQ65RMO|h2#;t+Hy|}ccrPtC6zal9J;Ifg|Q_F;rON7psz?k)uZ@~ALzO4g!}&E zZS=rc)KafQRf?us@*K{q>zE!M&p*PO#wVc=K%0iNV+!x-M@hHYD7p$!Y>$}#-Er)9 zk6Xp^xi}#B_}+LBpifQ}S6>}XH2{pP|~MuKk>#+! z$&dHgURHa;ik+%@1ogKBe+b^-$0moy`WLO5d7)`a#H|ZHbt3*jj6u05boE)N%pLCn zCbs5txIxPeF*s=3BhA0@IjFhS1Oy^MXV?@?9}!Udov`YDe!ex{%Yn4|q=50eCywGo zi>Eb*`+885hnrX6RnOy0Ol544jSi-JFRO24lhSEfgxQ$2kQ4J*%eE9 zx3^`+i1WWmA41;#5kK=t(6;&r2U@D_8B%6)Mc!Jsx$>#FE#3tp4Wj@C=J8ZvwdMBI zzywHjE66wExrb?897+)#aa>}ESlHG%Q|?n|Du0ZcFXbB@0|DeMue&Nic3JTQk2wFP zv)Cy*A5r_3fK${2M?rusEKZX{coaEV6z-PujkI!x1K}9F)`ZA)BqUc0dwIER&AhCA z>rGg8cx*nrIW{d5wcav6(W|}@mJ_aP2hKh4BaO@KDa9kp)kG$#aC(qP)ES_k$bGEV zhJLCKt4#!KFg7p+)i~ZV<3jP)J6G^$^2|+M{ycS%p$V=}s{$Yy*v**tF>#ac>nx2I zoL|4bB7!8}oy{S+htVVgK(*kq;0%zZMB7eraR%<#Ipiu-YMbz6InUJi#xDxxB#{H| z-TmDQT^3Tc+g^F(g<}Cg3jkUUMThO;AfL!CqIFK=GSS9W4));{16UB#M>Np4)5w7o zFZgo@?P?BrhwaB8@07`PgH2XXlhy7kF#8mr-#?S$&1=sjKF(d`EK4y1xFp!PQDk8F z5MXkuEnc}##A_n+4%V_M^Z@1`@~qRj2wX!+g-e(J!*znA+D(wT8K@x?VLF(kgUqv+ zvVC5V!wMz~s>zMKaJm(a42nT#WILG3(M-n-XN;+UMlN#aWcVTWTP&IStXo2%(41ZM;_@92yRS{wM~RxqjKey&{FetaKt^LH<`-Bu zcgh4MR-<`0NfqKG^734y{pCFyG*T>af6s&$t{T3jq|>fj$IXB?E1Snv$X=OyVca#L zk=Sq*gcbDD<{M?b(A5B(g;@U|BQI2jEor@4bRZ=6kCOt%?owEBp$6d8<5@k5*pJB> zpjLtBTxBo6Nv`=~{sfMlQaFuF0NR};H*^Vjn|BOV>9+1wk`0D!$yF4~#%kdurm{=LVM_4k&JNE$k`E<%L?5d(u)Gcs1N0Vm92m0#bn`R3IR7sV@~Yp9iQe zIvz%DAj>3(Xd!<%QvpH8%gCDOm=>P&^8!9az!lDKd`0GbUDUx< z^N@l`sgv%;ubC3hY@Kp$PhRWBZ{(+NLS$0sJ~7;_!Y|=c`fB8TL0=oHTFKee=K#pw z;Di#J!71)Rm)PvgWGK_@jGWnaQJRy(ET80!Ts94v7j16P`zZ|9n;3WszbBmD6rA+> zL9>c+BJjIXWLtk*@@(_W1Q_Cu?)r>KitJ*nBrvug`c7pu~n<7jUNmk};HM9ba?);7m4!5lsO`9d@m zaIeYj^lv?{iZCV$!JsS;y;f#4NAN*w0JFUXVy_=DPRr70uzu)LY*e&FJ#pl1pA1COxDlLbyc(p#BR?xsSlST`!T#uuj-Uh#w%&P@1-j)iSzL3Ui$|Y zFX*AO+oF%dI$iXTOqU0;Cibc9+MXBS=ptgzwG7V$-Ba;RS*VmV)R^Hd03wwy(#qy= zvm)UEzp(wBS!0G#ix@vPWq4}W2o5aC@BvZZ9}d3s`*SSJWO~vyg7QC$f zAtbd>lK%B~z>la*yX|3gMztMnEGpdhs^WCkd-w4m9H{nulfbnfB~kVv!EZ=9r-d}} zF0~sfyv>n}bn_clvW^I>-4ph#bh;6iXV^D|1J(TPYR9nQd*nfuW=?-r3{$6+WkLHc z2%<#~T^LSlvIRfwW}P$TkVVp-If}+cb6)^nm_~J&)rY_h(CR(qcbmzikk!tFA8DF) zq*}q_)#1n1>V%OyTf-Bu`IyEG(#K7DIz+IR;`bjQUYw|(96p5Gra!9#hEFL>hNl3b zVCOL+pv)=m!2^VL#oDu9!iHbavUHKQ|C1Pv1#^{=dvyZ@WZo$rRR=>?cxp&kZl!t z3XL;j&gzgh0Dj-rq8Jza@M#yf##(v`F`4@$!Jp=c4f2icc>(=Wco%MV zj&Nmj9Hq&kq(eyKHk#`!V3vfKPIry)*)%b00N%kccZP2FRUTM4Pdc|2*EHXwl30sh z$^^MSr+V5yL%v6_RfMt$HS)^1_P%f@Hwtx6T-fei{MRG#XXcOc#M(Qg4aF{wL~X^# zjPc6w*`#)2R0Fdf_x*$VBoguW0cUgo>_cYnkr-%K{)mWJaXP)JtGnA49ODG2<$A z`xuxL5(SBzhi!Rab3b*AD-jG>o!^1+YZA_qW%`< zJQ91ZVLEg21k7O42zXPogGEn`ZgD*v9DgM(syidqgFkE}5j8ZWws2dTFnje(2xq;7E zTd-Jr>T6d1zBRpMr2?wdq7Vh*uo`N^!gWIY)&WehQ7zTViRN%gmC)%5bMP)cG4Nv& z>gn@Z16a{6)f+FI%ILwdc0V2Qxtrl9Oyo2a_i2$mUwCEs3zoUTmb-%t7u=<#5CnzCC z%Mgz=hopGez{XOmO*e@XT*EJIMQc?u#=8%M{JkTWe{B5dHM^_i+6MH!W?McrFG|%# z5P?Rb|M15+uA{p9{OdKwNUe7KY-w6S=8P+C=i{kg@xg5fr=BNzPS?Wn{4-!0gLqc2 zFUjp8;{O)Im87ZYsDl%R6W2$Q+o4FnOLchTaQK?0?PVpUZto z@DJg>+#7m<1yhWF$py8`w1h>jRGJ`<$Qp=D%n=i@b*_;3;Ej{~)3c%?5}J>e>S%~J zhMKuX10Qt*5{&;ME&fBoA9yOnXtT3CE3H=l?zfdm1N4IRIxAg zA`O4Q4v?5#X74-my;jR50v&(oaF0>=OAuKLm@}%tV5ZS&Cd#*{3<#+3%i8=YwnzJl zR%$Hy#pK$KmNpchGw^|9+q}hox_F>f=^(AYXh$Q!`Ma>HnY8cvz2|>Y7KPO!g0}}3 zAOIe7!Js~aDYrfEs|&4IwJ6?jeFQ5r^`{YxL+ucf2>H^B#iSZ#7?o9?qs^aHP7jI$7UMGR9? z$^fn&<_^cZ$)A`K^Hs=mAz}HS%5ftfvZwuCZ_y-9nKR6eo*2rY#MB}xD@^FLQ_OU? z08KN!sMD>jY_~OPojavzl?1LJHFmvlNUh-qX>}x|V20|c(%x(l;#}E`X*}x_&*VGH z`d&3F2^;AQSoQIi!#)F;-Xe>Tdtv#iX>gBS?0L4+fCH$+kMj4Fw7?XD_o9EbB~9l$jG&Kn zvwT|~X>mM6%I$|d8U8z%3W=xfW&5o*|J2$~YDYxphXi#=<%5zlty9P~EDoWW1Dc;c z_+nm0wbOnZoP2j)mg)VM9pVEiT9o>%pqqcUrR4bBMk;WAIc%UP`JK}R@~h}@@nwR(P`cD03CDBFe{VZbeI$F$T&gJ0*b-k3u+PgWH%>*SY zUUtyhY^}&>i%gXo<0SWA#Y0i&-5{w*|d3l?fLY@-$en%LTkKG zP%R4Y%IzK%E0t+qgP+Y@XLo9s<;RYMUCt)656Im8s7&ZmE=2-8;SLpFX4Z$TaUd%F zOH+5!eVJnHtX5oix_8wR)t9Xpv)~>T%65D}vy-L6TZ-Zxw&?mo;||+NW^~HumO{6? z=oLRcZJc5TyovEjSbN%~-gEWewk$J^=rXSArR<2&L=! zN>XAC`VdLuL>q>LBpHb@%f3{}U&onXED-#91^T?!+|TkRGALdCjPd(q<~m;MfCPMP zD~IMYra{e31NRFG3NX6pfV`($AV~J^zhQcS5b(ZEr2ae426G?xo5G8;UV1dm?nu}% z4MT-Y82G6!Cz(Mbhku#+Q2u9nWG?yjkNPt@_h&}=(nXC9GsOf}FNQ(@7*aA4EHOkL z#Q07Gw~ZZ;#AZ{qaaxKzS+5WV1&Q%yOkM(&T|eMfr|!|Q zgF0rlS6SWqut~-<0ht-|EN}FBhF?A8)e7oYZLt&I+Kt~x*wAvx+N`0TEYi>aIN0+} zGvI)#iG7hTk7`B-WU|s}Sk!4J#^+{;*%2Z7a9^W{R%4TJEj-wY`8!%7X!?|ZnLKFz zebsZbA-8y*?Qv0P9hY@xhTF{uUzL68soIlega?+qG`mk$O^`J{fF6K= z(p0RzfZ6b|C5JVWs=o?=cRx>d+#7ve-Gvgn0Nl|V{hUlz`}&Dkygjrx_Wa(I@8gFb zISwmkyP9Kv#7H#uZD022m<+kb2Gk*=g(8$BTndlcTOZ>{9`Aj2dKo>_?|rE_d{>M} zGIqouC2q4tTiYKbZ545Td_f1iU&YJKXeE1r%lv#>?*MUcuQ0x|o6Oj)q z1IXy|lKiKM;6|!FW906@(+>a((Sbv11gM!U58@BEEd8RfpZv@0prm-)ue0jUh{B$S z2U6q)%3k1`^5I|kBQMBr2J154Ipr~tY_7!xbi{5MU!#uS9Ux_#ePK-FdF>jnjG-3h z>zOIVp1u2wZtSN9aHAJ|a(9u6=uG)0BM;>a+{XuYaowM#Wzjk$1$)-IjVjs^p2pyC zp;?hD(Th@lS|9gjlyVm<+DBD1j-q;2fqBoMWh`yB@qT>ZDw*=JBG&7pp`{X6`lRC~ z>pDC}z%ldC%2;^0xCegbYwL5Ais$*c**$iX+soJfXt5{u6(vsQkLRWwHV0vumV_;< zA~>gs8h(dUF?pn(x5A&a7tmt7G`gF{PH9eFfYpE%8KER$zO^}HlD&z#ULU+gEwm_< z;)o~-=tRS&pvC3*TR%EAJOj^Uu&S1xzcIdAr5k@3;mh}<1N7FOTrr# z$N5{VKzq{!yXZAQ12hUYyA>`?|9!3OxcT}ql}uJ%c0Q+8+eG(FarNXSj$49Q#Gmh$ zwb>_ECO(e{w0zLhM%CVR_X@rkUerP)B+w<+a$BdbY6t)_jN+*cQhc4 zj&uZV^RensNXplRl^ZILK+`OMH`GwCib7~*;)t9YTkBhm7AZsfE8yXyd(MNeq9XX}3`&xJiQ zflg#vLgdeQGB_9G1L|^!K&=*wqZ6~M_3ttAk=;caD0J0zC6|i{6Pj25c8*VN3SYix zsGd1^bgcgx8xr2I$%`c)&$Q<9#Kdeg?8GX}DL|Cuu&W|}quH+P@JwdbzUZ1JGFqYo zlw91HbB72Xd$$+5n)wv&Iv$+%%5%h^EZlm&{!()_%RR44dj|}yOuW6Pg2$9cs6X1Y z=@Nz3xip;1-eo{Sv(SejehLO|3abty*psJ)l)G~q*_Wxo<|J198)Y3HrKnu zv}+9efnk5LPu(TFFV_IPdi?Kd$yKE8WZeR?I!zyDFn0V3D_q}D!;kUA7TU0>(f0$% z9tWe`D;C{}zbU`1NEZD8yzooKGL5JAB`Z0Kwap^&ewJBsy+G4LQa%1(Of*++SMoRNyn79fO@JAh>LJ5yqD4z z5j{(1kMLOjuDQ(qDb8ODyufy14^vvaDX+JK`)&eMp-x`0wg}B6^+uVdmr}GQUhVme zs_zCFK1r-|E51Hu(^;4UOXiyH)$V!*oIU?e`Aw7PM=8h5$8!3+sk-6RezSKneZnM4 z16qt2+}2`TPF@ULg&f+7EM_Io9E7*bX3?o|V((n~kB8l5f&tHpH+lUvRNQsMHCbn4$7FRQe(6Xk)+UM})3+wS<^zH{cfgLY~?+7GejzpZFC7mK~fRqpex=I$VF89234w3dv;eT-4r8hTqHdgMWp z-rWFF-ykDBeCeoxpntqY>mWq&rc_}@rVsvzNcE%bV+0V4?8GWcBLa;wPM#3zdrx5~ zRoq8gzaqZT>QpV!Ci{jE7)}WzjZbX$rIaoEH;rCO1J7v5#o_%kB9vgmcs`jV*ZkjS zPi+&+fmb$K(ftX%C>TM&rL#W)?t zd%e$Q#)*p|X^N3RXFdPZD?d!SSlxP!Iz2)4SJ5`uEjF;$Lhdk_ynr^o-&>U5MkCAg z@}-n7(*}&M`*0C(A%XaU@j$8uttb*qZqXSCZ0}vePV=Ks+m8%13+wryY_`uzZpfT| z3-n#DlsLaAAm%ym?z%rKamOkXzvSU14ER)0LC zydZ%@-NwBXSe+#@E=^Ddr60vYQ3th;58eqW^t>f2n&dwa0?!;S)mFXBztRy0*5ZCA z)DPN5_%O>FWHvIZFwnA5*P;ea0-WUgiX4Otxu0ZbbBol9+X9ybv3`Fm%qZ0qvdl2dANJ}$)Gu*#B@D=G zN`Pv_b1kB14q$#%f6CxTFSQ;7BJ;1mGiv0`a9xCa8(bME5b6mbm1d5-ORIr)=L;&{ zX^JUCAjM*fJ+n;RE#~KWnCJYnG)A)t7F(TJGD$s&6_xL}E6Yxg#uiQuxh=uc{{>P3 zt^Qp^bk~o}{k`5sQz|!T0icvqwmlRBB0$7G`@i4t_9FTRW+K*1Ff%PNGXDj;Byd&y$K&5h-763}QZPW5Wpy8E2 zyrwv~<(43)OD;tMGqIS2%_Pf`2|$gAnFNeyWWGV^t1k(UDQp9#XDoke1~H}`k&}pY z7-L#(IEFDt5NReJKSIqw3w3pIfYt{1)sMgLb!MgViWUG$d1>SZc<7Zsz#kL{ue$2K zVus8lf-)i2GdPx!qmj#jazV-rrV>mANZBj@z37$id3A$>0-)q~?TM6QOaQ=G*somn z)vonnU|{6`H3J~S7={pf4fFur7}H~m^kC@0rWYff*rtP!-A=6NB#q1a&W?Z1+4p-! f{Zmp(x#0f+{)!y6u0fQi00000NkvXXu0mjfXLq&a literal 0 HcmV?d00001 diff --git a/static/index.js b/static/index.js new file mode 100644 index 0000000..240a96f --- /dev/null +++ b/static/index.js @@ -0,0 +1,37 @@ +let language = 'en'; + +function loadPage(navButton) { + const selected = document.getElementsByClassName('selected')[0]; + + if (selected != navButton) { + const xhttp = new XMLHttpRequest(); + const content = document.getElementById('content'); + const page = navButton.id; + + if(page != 'index') { + window.location.hash = page; + window.document.title = `Augusto Gunsch | ${navButton.innerHTML}`; + } else { + history.replaceState(null, null, ' '); + window.document.title = 'Augusto Gunsch'; + } + + xhttp.onload = function() { + content.innerHTML = this.responseText; + } + xhttp.open('GET', `${language}/${page}`, true); + + selected.classList.remove('selected'); + navButton.classList.add('selected'); + content.innerHTML = '

Loading...

'; + + xhttp.send(); + } +} + +if(window.location.hash) { + const page = window.location.hash.split('#')[1]; + const navButton = document.getElementById(page); + console.log(navButton); + loadPage(navButton); +} diff --git a/static/linkedin.png b/static/linkedin.png new file mode 100644 index 0000000000000000000000000000000000000000..f0626552d1aebd7e3318a5e982f90601bc019389 GIT binary patch literal 1274 zcmVUU9=g*FFV#c%;zLA*MIliXJ(QGD(giFVyIMj70Ge zzMQ?c%^&_SbJp44`u>Zv*8bMFzSX1qI2D&-F&1Gi=3y#k;wb*W5Dwrwe2YPB!kz+r z%pC(*Er=M&z+>1tYHLZM3Q}MO?!u3nmWQvJc?o66W+-EcnBwSUtViO zxNX##qJ%ec4{kwEm$m)}XW`=vj_1vfu%N4o>u?heby-jv4&jeh=j6%g8vtA**A zE2dyW1;lmAmoOvT;E=wx@ zTw#M!w&Qtm2=hA?9|?g)*-q!p4|NzZ-k#9#5g|Uf0+)yO$YTn0h;Ke1S0dS=WIVBMG*NUB;8RM|gX*!**Pa-!k@j zPJ}rbjpTtJ#Kh<=@GBn7*zfE}o83`C*ekqBli~&8WGXHCBl)hZd7($^2(uo434vHz z^hY|Ib46h>-V=oVDbxupZS&0L4E;rY!cQ-^Lxc>Ni;c#g_%6ij!oX~6@!XCKeIAZf zXUn=m^W*M5A%19uEN_D0NOek3nx)oixG<)zF<451oskf3RspBPw6zML2lAx&iOx3IhPRn7O-KqE*Zm59cdGWfW;%hh_ilf`{iL~Mg z>p_;2qq6ym94f~r3rApOi%H5iy(FZZ5MTq!+asIC|h)m8x?qIs)k6Yx7(A!@vPi6>O4nJ zFx~)R#$PeZihzQWC9V-A!TD(=<%vb94CUqJdYO6I#mR{Use1WE>9gP2NC8z_c)B=- zRLprh`y%Hd0}dVY^2@s1b^dI_uLZ6J)V`! Y|7R@Y;Zyvz7Z}hCp00i_>zopr0B2sY_5c6? literal 0 HcmV?d00001 diff --git a/static/monero.png b/static/monero.png new file mode 100644 index 0000000000000000000000000000000000000000..a3dfbe4d9ef76b7a178eb21e6b979a5b7bd0b0c1 GIT binary patch literal 2068 zcmV+v26W9VAErX6l$IZYB;8&odK-vW? z2W~2>1u4)Sm=ElsaHDOsC+eennQRI|Z(tEJgiB?(PN#s^fnH^>&x#6Q8uE>n%W$1e z0?z=QN^EN$>VR(xP`uc*4H#BZixt!(L-1l7tXDg67Xh#Wyp|AinG9GU^~zV z96+4d5Fk!GuVuhIAe*AC71h96l224C5ko3d^jQgv16GlI#I1>R zE()rFbqP8@2+Rd8DV7327vO2&Py#*HQ3NMs2!Hd<$Qm8eX*JLv8S=H!?~ryizyjpc z2^|TU0J&DI2<&JBaHT`eFyJZRQ(zy^ZjjLyJ^KV1K|>w#h9GlFh;DBtF<8Zv0O46+ zA?9_s3YYfO|EauEHHBoWv4h&-ZjTU*jK4{x`qA z3`XmH94G(9Ebz#fXL5jRC+8sXNUZ|%Y(JRr03{7=iu%y+f2G+{gF9?))Q!Kz)A3x5 zf0~7_KhOt>=!$LpK4g*}V0o^m!q0l-jaHdmA@3>TiA@y}nAjWuFoNPPiKl^UBiS|w z{7yXU?1Fnvi-pLp-P@I#XJwFIPICyP%3HU5UyLG_J3ENZ<*Rc)w#=$=-gF8$5Ub`NjP$7`F z@+j~_f;QWM$-wy({oSEm>o%yU%OJzrhP~SL4Ji}?iOeP z?{Kg$X&p#>kV7^8uveV}`XKAJiW_l%lV>9y6}=-_Ik@J44rJJ?8z{Fqcn@T7Z#_3@ ziX=IK>4SXxHOjpm*oSr&NojW|_o{%8$#?dPz2XrRLETLJVDFfzLL zzMulNtM1OUXOexY4x~V;lJ9!cN~&Ug1%iJn*%z4e}P*yLwiJ|Vl?^rd=dw= zl5i3{h8^nOd@JItwCIdXifZoOM0}DO2z-ttGHJ0Nc~LpI&KHhlkTlbV5!&^SX|;;b zANT^P57N;M+3Xl-c$Ne|Y1bniyn8d`2RkapXxE!ksT9XGz(>S$j84cgmL9~U!3OPG zw?V}|a3@1&G(~H1XO6BpK&Q79-nTuxp>seMIX26o8rjRV@z;aQm@cEnXvKg6e>bqknz!TD25zNt%NEa2adfL2b z@=ABy#Yip0ml%M%xwuDT?Z91{PPM>4jyBe#F_7|8SBIO)ulSlqJaH)(ok#W$R8%5+ zfUb70*^CFNy*=g;u*lGECgnXIZ$r)}boh3lkC2~y<-r%2WP!&G?Z!qOl-l^?z@3Kv zX9cvK;WHj&X>=Waw2p>`?sW@3txpfJcyJs91*o zhU_JpFeAYDCgKMsL6{t%SQe=&F_pr0iX72Ex=HdpGNDbzyct_b_^H!FNsZ58SzrfS zkje}j1|o^iT3|QkrL!G5q+J6%iF;q57I#vn(vn0LYsf?jg>=+{Y-H9LCFRTQ#f4JY zUWApfbw+|5*E+A#2PCVAHzH}V^dY3AzL0G#9bJLvfWH#xu?};EX)06`J`&W4=RM>+ zF^wYCNIt(Bf7Pn#%?I_F^bZqDFdty}(2PuI+mSh7KN5B~N6)(<0m@J$jUI#4C3H>E z*HSLzH6_6$%2N@Vluje7PFXON!m7ZFO%0@2=LP16K+9&iYOF4k@C}W zeikQ@tj?R*loQ>M3d}}IXZUVpGb7Ev$;yf`NFClU6jn%`MatQhq7^n43k63>0qBdI yEsP@m_xYY&Sms)gW$^@ZTBH7b-gS0aF#ZGXZOiQ`qJMt?0000 + + + + Augusto Gunsch + + + + +
+
+ {% autoescape false %} + {{ body }} + {% endautoescape %} +
+
+
+
{{ quote }}
+
{{ author }}
+
+
+
+
+ + +