From 02d95f34e257b4eb20e642e453cc61f372f93865 Mon Sep 17 00:00:00 2001 From: Fabrice Mouhartem Date: Thu, 2 Nov 2023 09:04:40 +0100 Subject: [PATCH] Initial Commit --- .gitignore | 1 + config.toml | 17 ++++ content/_index.md | 32 +++++++ content/hobbies/_index.md | 6 ++ content/research/_index.md | 7 ++ content/teaching/_index.md | 9 ++ sass/_base.scss | 131 +++++++++++++++++++++++++++++ sass/style.scss | 1 + static/fonts/Fira Sans Light.woff2 | Bin 0 -> 20952 bytes static/fonts/Fira Sans.woff2 | Bin 0 -> 21244 bytes templates/404.html | 7 ++ templates/base.html | 24 ++++++ templates/footer.html | 3 + templates/header.html | 3 + templates/index.html | 5 ++ templates/nav.html | 9 ++ templates/page.html | 14 +++ templates/section.html | 5 ++ 18 files changed, 274 insertions(+) create mode 100644 .gitignore create mode 100644 config.toml create mode 100644 content/_index.md create mode 100644 content/hobbies/_index.md create mode 100644 content/research/_index.md create mode 100644 content/teaching/_index.md create mode 100644 sass/_base.scss create mode 100644 sass/style.scss create mode 100644 static/fonts/Fira Sans Light.woff2 create mode 100644 static/fonts/Fira Sans.woff2 create mode 100644 templates/404.html create mode 100644 templates/base.html create mode 100644 templates/footer.html create mode 100644 templates/header.html create mode 100644 templates/index.html create mode 100644 templates/nav.html create mode 100644 templates/page.html create mode 100644 templates/section.html diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a48cf0d --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +public diff --git a/config.toml b/config.toml new file mode 100644 index 0000000..59c2ca2 --- /dev/null +++ b/config.toml @@ -0,0 +1,17 @@ +# The URL the site will be built for +base_url = "https://fmouhart.epheme.re/" + +# Whether to automatically compile all Sass files in the sass directory +compile_sass = true + +# Whether to build a search index to be used later on by a JavaScript library +build_search_index = false + +[markdown] +# Whether to do syntax highlighting +# Theme can be customised by setting the `highlight_theme` variable to a theme supported by Zola +highlight_code = false + +[extra] +# Put all your custom variables here +title="Fabrice Mouhartem" diff --git a/content/_index.md b/content/_index.md new file mode 100644 index 0000000..6f0d0d5 --- /dev/null +++ b/content/_index.md @@ -0,0 +1,32 @@ ++++ +title = "Homepage" +template = "index.html" +date = 2023-11-01 +sort_by = "weight" ++++ + +# Presentation + +Hello, + +I'm Fabrice Mouhartem, currently working as a R&D Engineer at +[Cryptpad](https://cryptpad.org). + +I defended a PhD in 2018 at ÉNS de Lyon about privacy preserving cryptography +from pairings and lattice assumptions under the supervision of Benoît Libert. +After that I did several post-docs at IIT Madras in Chennai with Shweta Agrawal +about foundations of cryptography, then a post-doc with Benoît Libert on the +[Prometheus](https://www.h2020prometheus.eu/) project about post-quantum +cryptography constructions. +This project received the “[Étoile de +l'Europe](https://ec.europa.eu/newsroom/ECCC/items/771467)” trophy. +And I finally did a post-doc at [PQShield](https://pqshield.com) about +post-quantum cryptography, where we submitted the [Raccoon +signature](https://raccoonfamily.org/) scheme for the NIST second call for +post-quantum signatures. + +# Contact + +You can join me by email at “fabrice • mouhartem (at) xwiki • com”. + +# News diff --git a/content/hobbies/_index.md b/content/hobbies/_index.md new file mode 100644 index 0000000..97de4d8 --- /dev/null +++ b/content/hobbies/_index.md @@ -0,0 +1,6 @@ ++++ +title= "Et Cætera" +weight= 20 ++++ + +# Et Cætera diff --git a/content/research/_index.md b/content/research/_index.md new file mode 100644 index 0000000..0e41031 --- /dev/null +++ b/content/research/_index.md @@ -0,0 +1,7 @@ ++++ +title = "Research" +date = 2023-11-01 +weight = 10 ++++ + +# Research diff --git a/content/teaching/_index.md b/content/teaching/_index.md new file mode 100644 index 0000000..79fda64 --- /dev/null +++ b/content/teaching/_index.md @@ -0,0 +1,9 @@ ++++ +title="Teaching" +date = 2023-11-01 +weight = 30 ++++ + +# Teaching + +Hello world! diff --git a/sass/_base.scss b/sass/_base.scss new file mode 100644 index 0000000..c085b09 --- /dev/null +++ b/sass/_base.scss @@ -0,0 +1,131 @@ +$light-fonts: "Fira Sans Light", sans-serif; +$normal-fonts: "Fira Sans", sans-serif; +$page-width: 800px; +$primary-color: #333; +$bg-color: #eee; +$page-color: #ddd; +$header-bg: #1d3c67; +$header-fg: #ffffff; +$link-color: #33f; +$link-hover: #00d; +$menu-bg: #231d67; +$menu-fg: #e8e9f3; +$menu_btn-selected: #1d6167; +$menu_btn-size: 10px; + +html { + background-color: $page-color; +} +@media only screen and (min-width: $page-width){ + html { + padding:10px; + } +} +@font-face { + font-family: "Fira Sans Light"; + font-style: normal; + font-weight: 300; + src: local("Fira Sans Light"), local("FiraSans-Light"), url("fonts/Fira Sans Light.woff2") format("woff2"); +} +@font-face { + font-family: "Fira Sans"; + font-style: normal; + font-weight: 400; + src: local("Fira Sans"), local("FiraSans-Regular"), url("fonts/Fira Sans.woff2") format("woff2"); +} +body { + max-width: $page-width; + margin: auto; + font-family: $light-fonts; + background-color: $bg-color; +} +header { + height: 150px; + background-color: $header-bg; + background-size: cover; + background-repeat: no-repeat; + background-position: center center; + display: flex; + align-items: center; + padding: 10px; + .date, h1 { + color: $header-fg; + text-shadow: black 0px 0px 0.1em; + } +} +h1 { + font-size: 28pt; +} +h2 { + font-size: 22pt; +} +h3 { + font-size: 18pt; +} +p, h1, h2, h3, pre { + padding: 0px 10px 3px 10px; +} +p, ul { + font-size: 14pt; + color: $primary-color; +} +p { + text-align: justify; +} +footer { + font-size: 8pt; + text-align: center; + color: #555; + padding: 10px; +} +footer a, +footer a:visited { + color: #66f; +} +a, +a:visited { + font-family: $light-fonts; + text-decoration: none; + color: $link-color; +} +a:hover{ + text-decoration: underline; + color: $link-hover; +} +li { + list-style-type: circle; + margin-bottom: 4pt; +} +nav { + display: flex; + background-color: $menu-bg; + menu { + padding: 0px; + display:block; + margin: 0px; + width: 100%; + } + li { + a { + padding: $menu_btn-size; + text-shadow: black 0px 0px 0.1em; + font-family: $normal-fonts; + font-weight: 900; + } + a, a:hover { + color: $menu-fg; + } + a:hover { + background-color: $menu_btn-selected; + text-decoration: none; + } + a.nav_selected { + background-color: $menu_btn-selected; + } + font-size: 14pt; + margin: 0px; + padding: $menu_btn-size 0px $menu_btn-size 0px; + list-style-type: none; + float: left; + } +} diff --git a/sass/style.scss b/sass/style.scss new file mode 100644 index 0000000..271103a --- /dev/null +++ b/sass/style.scss @@ -0,0 +1 @@ +@use "base"; diff --git a/static/fonts/Fira Sans Light.woff2 b/static/fonts/Fira Sans Light.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..5717eb1dcb61995df6ee683c8ab85823b8017563 GIT binary patch literal 20952 zcmXT-cQayOWME)m2)w}{2%;}HFfarbL&QLQR4k<@-8j)hrnibMfuWUwqsf4CmY5(1 zSL0!m#^tWuEiMdt&OKhTVZD!tj zJ8{*YivII_H#QV9w7AW$|M>sEr)PUl?gZu!;oe&}i6(MQn&8;jq;+v;))}`Xk!?<) ziR*8FOqo?O|b=ybBZDkIhnm+$o`F5r#zle(y{w;DoCtS2nrTC9QpdC*L#7cI-TTWzC(EU)Lf7oNw4LTriO6_*d~S^Umk}-)62>uTkopnX>4{ ziZ@Mz!B3u! zQHotFYghhy_pZ9UU0E|Iq{F^7VYZ3P61T-%%t0nS>lZq&O4iUapL+WLXUnVKQ+I#Z zXL86uuB>1cpI=bU(^w--VlYR6LZ@N3(>g>#CA3prO^?uC{ap(Jw=B?m)+jgi; z#NyVoBYbLcN=4^&cC|KjZ27tH?QBuiidp77`AEdE2ov^zDTPhLD^8>+7S`YVQBO6tT&sdd=492fE7`x{o(;ZKo_V^Y!8LZ-+1lXhmEXQZ2YWgH>~EiNKfufV#;loND@@~ldrju{(Y(95Y*Whb z>z^tvG4g1M9@z7snNg*`UDjn`qWpmk2kigeO8>ThPRrG`UEN9n@jDtnDNZd zKilr({zXx@_p*RhQO#{1kpxDLcE*Xnme{dAOOh!JIPGI$CnDy4tz=JyP{YEsXEhmY zcDq6gmfu%h)$8dJ75CApXv&M#$2f$2t|m1;mGjKMviF(Rm(Yj5Rvp@&@A~PPXrsKg zk>1R?#r<#B-rUK2yHvFDb;uL_9nPZ9o3=$pB&^FaU-8qi#nt0b`0ps!Oi_RLY1}I% zQyPjn*((<=2wmGN7BbOuYw~)Iw_ywk63Q_#j)4>1H%wWwV8?_TH-64asah}h()!#h zBjd8Q2~x^5m%f3dRQVB(UEON{)v zjvd`&+3;>k!LHg>h5Zk9W?cBW`@e`+Xi(p)=`3qn&qbdR;}n`W`(fGBe;PM9=4!9o z^~~M=_tEwLKCS;>^0Mr zcbcp%?*S(DiPkc=6J2Y{qjtY)i7#8w+!>LeFCDY+^6KtGMHAG068m1TCM9N1p7N6Q zf$J-Sp!G@$)^hvki+KI|bggDhxy<7?4>ZorIMOSypy_6z-b0altQ-e+ zzj-GtVx+UQtaKU zIf19OU2c(pqOgNcoT!i1;e6GWM#Jc(L7P~Gf@Ua1+)A$KdHK>=w7jxAX}MsV#Q~>< z<=bu@U$5cLtnl#p?@)DbiP|U0^M73mzjixga_+X~ir6@z-oF zDGagiR>e5{Kf-WkYMIi;mPdzX%>7@qDV6cvg^vf@?*HViDX^AF6y1>7`;cXE?(D7Z z><-z?bM)@8Sv)@5kUV|g&KGJqe;LE%oAR^8r(OJ|=dQXT=?3e;s)Wctk=JFo?t05} zo}Jk@{p;C^o|r|etWRdJ->`D%(RvbiNzvWfd-?Gfk8h|nEm!20bF?fuv`gU8w6(?} zCl>@pPPd!ZD!nmV=}3~#8UAY;!okd`XCzCTXD(}wQ|ncjop9spUfpRDC;N2obT3bi z?27#G%{D#f&8~!vYL9&%{3twmFWkr8kH^;3E>TV4v&nZM)eXW6H{P9k#B*^>%^Jm` ziiM9n6}ze=7xb)pYX7~2^Y!h%-^Y{l=cn)cxBkSoms|49R-b)t+wFS2C^B-rwb|@7 z3AXPFuLxh8wC1zk&NY+bew&_@tA72U?cDTzAMYN@nRiPn?`%&vL&*1#=d#nYUSHI@C&62=~4f-K@tHgFx6!x=Z{gy3=@(w=j(z7Is;QwHlLFzS8;gNzh=r z>~zNS6Yad?9ldI&lFUQhZ!!o-#GQ3Z#M7|Ajx!t7N zA*;uwAXGf>Q-CG2$(slfk_^-L#eVp)_D_Jz5#f}BO^2PY zJn&HFy6-V}SB$7}@wy!LXRSwaj~zB?5ILBaqJ3ocVU6tsr+>P}<>(f$CREZyj~F^0;=T=Zc1s zYq?bT{Vt`WsmwgvnUCt4ZFf>Rqm&WYtR9|m#<_cy(n#^zC|1)pKX5xY6mXu&ZI8wRXQPv9q4-{3@(Mebe;f3Dr}|SA9EQ{wv@^ z$d912arYOMAAj&xS0wM>|5N-vi~+(0+bT{lU5FRk`OW5e#nzt_w=Rn5Sub_0e#eyA zZ%e-a{(1K4d$Ui14+^9z>^2vtEdTs)a(wRZzaM2|ZK4-W=bez8z4wyp_gB$d)aKvb zs3sP3-(a_X#7V8|H62{_vkmW?_vpq@@$48$FH*)8R}ScPE7mB z)b4O)Uh)4|CQJ-}6gVEvzs|hysyO$TH@{faqlKxmCu zTziyc(r@|GHG<3xPZxwUOk8I7<7DfRR$bqwDKF=1-L{Bq+du!y*V8Z4`7hhH$!KVW zFWkrWM0rnCNIskA?lW?An~$bNN6am8OO_T{a;DAg#@T~SZ+B~-uxMU>e$z6+&kG}D zKQ36hob~p?{ihtF8jIwnvU!-DSZ#bo(kpkzm1E)3S7xi-^iiFyx_DYvcUW=iO!fAk zU0V|3m$!-)J8V6DLb*lEI!xUpf9hQK1tyheMBf)?``F&mSo%m=k(8w@Q{7(wxBk9)YUq`f%Tl)YM%zf{KUI$GkgIx>eeJdGq%>WDzllfY%)Qg~ zIl7(uS77$NU)rlD9(wgCbLu0Vmr~mILLcj^8(E%OylJi4>X%=C*&F%Xy2^9Vg@>;s z%K3m@Vdul%J4Z@imu<_p`EkEbc6adu(JSIt`HKFBMTtLfTack6Qc%$I#l)~vj&s3k z-(8>Trq(h}J+eJ^Pq}IBvnB67hn_O!e;k!&Z9cccJID8tJYsOHRpXv zsr6Kul1nd)6mLA0K0UV~J4>i4WAoRBSBKhV7A|VvZ^z3p-!rwt$L^gko~S5DGS^HS#hsGx7Dv2o2ZweHXz(czcv_kLejy+o_l}#Ez`vv1)&ws{V%Qo#!^J)d}4XH}@T)um0JHlLBXmc8$NZf{#gg5&M`5eee*YnDB4 z`>?%2#MSzU(f2%~Z`PS2MqbyvnbuVut-LS&?!Jl3g1rJ$mbACPBE4fr$f2-5hM|o@Jb(g3&T#dQ6FD1#qSy*nZe~$dTX~7kR z_csaH{n>SGo<&W?$L|c^*a~-Cc*rL;-(s4o6W4>!3$}0daBB|LS>W#8^0W5szVf@y zl54buFRyx1^YT$`>cPlus{^8w0~hL+maUN3edLz7)zEAFW`k5+zJ`zErfHEzwN z*~=aOs%|t=5Pch8={eheP3!*eu9ivGVf$C+oYzkZdcu?D|9v8*P-^@hN%~P=e*whZ@L8=Q^N)M3Cs9ru39+5 z;?Ghx|36}!tM)qkiTGb+S)-P+#7Kv0pFs09rp|}bMH_e}T~u6LRE{_?o!+oJy{fyV zVI$9;nN8CJ40ru5-2YtX_|k7vbndOInDpe7+O}U74H+MuD-S2(o9TfX;j3_ zb*mK8riG-11*yGOyS#PM%+^UWQw2qS*>k(PFW;bWMsB~0K6A@#j{ja~a{haycn9g+ zy`pA2Yp(U5zio_}r}oviF4UfJdskcQ+Q0rBE}mh1+uu*kS$b1R``-Ukzh~`p&Hw4; zThE^y=hNe*wc$_fF1Cz!{#@yk1Wx7Gxy)UB#HnmTz~w)$ip@86)(GxjtHDv7{$Fx} z)`>~h$7KpCBUdl|&&j*+>-E0+`tR`{clP|MXWu2O{qiMiC|?4r%X#1?v)eV zV)7qrxgM=jJ|(Jbrm-&c%$)_x!Zy}$7qmQT&Fu~C>Myf79cz87`;pH|b;A;+qaLA> z_2I`a6?aWl^MC*OrcAR&;iadqH`~rme-dW>&R4P9xD(x8~^@1*@D2T2fWL z?Z_cz&uvM6x22z6vuDy%jf?faw}x%}=s9uq6$WO03H!ahHPv%ZFO=MTV!ijr#)r!! zpWMIvzufSc!Op!Q@|LNWD!ka`gYD;bWf(qoP@HvSsb$HRH+NjW@o-W??s`z8)r}Y+21%Na?{y!$4(u6k#0TjmF&6sG2uJ2U4K0L_O^K=zghUk znCkBpS9Y-F-+9Dy>)kyM>gTK5ywvosKDK$@ z=RM+Uo*wwV`{6P_k?f_%8GpY~{~h!;{rwWwJL{d7=kjm$cl6q#D6&Vbce%+A{>!Vr z%T-%yZ#i~;_idT-?^gNG6c5S%zq+&{%X?9??onGQP1zYb5}bK27=Nwrjo|kxIA`eJ z7<}JavbQgyQAaNQ#z`-xnjp7y&ko5wMl=Y1DjwlIf7 z;aZBENZAwf^Rd?E^%D-+@4S6{&defd-}Wy&Wv6xcqt=QlAM?*GaglfKF+3_+tg}(+ zjYJ(Q+iLYV!zIhoy*-uqUbvd_1eE@M&9iBHz@|pOWJ$gS5e_^J3=9lQt*1?0(ERLw z-J`$%|FfO>J5l6G8N&;cUz!dF88jLgXBcuE=vn)+L5FMFT(_>Aw}(__9NfB?@5Xy23qHFp`26Tx?%c_94^|&M_hhzsUe)`)NXzQSOglRm zj2KMUG3?ZP&A`A=baiQeqSY(!*=x&h#{b)#T658Ta{apryxV@B3EO{bZH99C43lL` zw{N&>_U&WL9h*IWCh>{f*f=31a?{fjQ}d_yzb(7}%|c{F#pRY&|DG>)%;GUSq_Mcy z)Nk+0v@9dArZ$rT?n}0WtKdqa^dG(xI<{G!T&oc#7!o}|P7o3|UXY9igD1MA>&tLYp|8##I zUVdPUWO9FDYmB&u?qBhxs-I%g{aPgaro75vn3(&8mve>8qCK*j8yKv6a{ibcVVnK< z=ZqRIr(Z*OG&9;f8`%;?;!vsO}F=N4^ASTmtgiIe>cgN#+s2B$g|+lDo+ zG2slm{`46uC=0ypu@-6L=%Cx;k;1>+C|NLUQDE;g*+{9btO*K#S97>p2Ta~^ zOfFiTjePA@x?{PE9q+N|05=D ze!p{%z49lEP-`};X>$4fPKox)yR9OBUX@?Pn17!?pZ~j~dYr*kvqcWalSA2!J?G7{ zQqN;s`E!w-g0J4m0LNqB+C2F-pPY5R|3FoVy4Bl<6|x*FSYBveUGZ#+l-^e^kv00M zbG9)=%TAo2A>qMs{P(Svtw|=btgo&l`%JAm<@NBPpy#~(ymL!moI3Wr@My&Bp9QA7 zlX%Z+7=-fb@~R~q70H>wXq~3WRQ%w8jY|^aoQM_;ovp_lFV3Iv=keRXfGsN5GnIB- zs+eiC`fa%VLY-UR{%6~Cmy02>93NbASrTn@2+h9i6RWaJ*iHYr>*O*ZGXwf%yDA($&(W_ zcOPm!XmMw&MWw*}eV(e$2No~b8uE$FV_TBSJLkZMQ#Sl#`taLlyO)NGVVqK?L;K46 zf{U)y$(#DPS1-(-u~0zarFZbonHnL>u3wOv{K2>H-1VOmSH|7tOni3jddyd6H;3lU z+f%E=IJCdooVeBN)$iMR)kt0Y!qYVeccz#xGL=y17T&?x7j0G4{q3;-u6t`_-}KF1 z`Sa-(ca=^4>We04us>OIHjak;0ue&-tpCGoO@HRifUejq6J%j|x)%dn$x?DC9@%zrO$Dnikj9(Q^8+ocAWwFHKgM z|K*4Kf`ljYl-Rj0ywaVfbYs`N#PhNd4(Yj`d}|h+iTrVmJum-*5_9b}>+45NH{Z$2 z@;sY!-b+R0w?^?aC#lG7K5@-K%wbJj6R#G=Ts-(|o6mm+-PPR@hW-)f>&1dUO$s^T zRQk+s`6#3~ll#=;7QWgwsd-J6$Lnx@rX%JWhZ=XtoG4Hz^lk`}IdQ77 zXwDa=xk~PfgE&I;7DREFSaYusWtz*qLVOW_-^6zJO9w*uOdcP2G)-Ww#fGWOZ!P|C z@a;V08MPzEVY|RTgF_dzS?t6w=s)>zrC-v&YmU*U7V$ra%D0KIR!ytEwIJZ^{aS{F z8oS!eYJzeac_Tg6J`Ey49r+(%0{=aFJYGUN>kDSN$zugo6*xHuUu_~9J zA(D+@m)!)W67|N^z=mj<8OaB?+ePGN?q4d%wo~A%uwZ-S4v|AFV#bR1w8|A+eS2B1 z@3yq!C_Nf6k-@Ab@2%d1N71c^XHF62y=GwS%2K%|Bg0iF^aH~o9}R`<2G^a3=W|rO zaf{;aJGE_tU3J^Swfbl7H~i8*>G;>o#GL!duWhPkp^JV^oB3Y%bm_*}B;M>@auqD< zdrzGy&D$cHcs*uz=g@t3h!FJm*{e>O zFfZB3d)QmIc#rg~ry3cHe2sfTu5XaIUHX2

5^MT9%mg`5JF?F`Z#4vQjWLd(p%Sk_#HO%N<>QB0S`6m{XE!AJ#dL{?w{{+!uq`%7@;2wP06mRccQphs$OvE^Jnvy+y$-&g~yN*3S*{c$BNZ`1S;?g7wE9#aIgM?U?OeYB1?%qodB3 zmG2Vcj-1gwJ>h+RXJ2a0+&N!Pc|YCyX5PMw(UW(S)mwzFTCr^Xr&zDXr(B+YcIX8i z;O*YdpwsK25LYE&IRU z*h$6k)tUFr`56}%gn9VanIr@+I&JiD+Rk6*Ni9#hHQ2Z!`qn-_6DQ^Itnh3V?`>(9 zug7|xY0V8S{;A2r^$Yp87JmnvRSU?^I2)0r?XTuCfuGBc4y7y)87qZHE*~V>{6_1m5s1v_LOJG4bhdrio+>ORT5>${(*KAdo4sb|QPm;cOs zqbC>C6;&7>33+f~59|Hy|3c149}Ex?ir8|&@PlXQ`s|JyRp92|8${ck#};VYqr_011U)|_6W!1U(-yXB?HHz$6t zYrS?uX!5MOMS0!FYWJNCTa%H@y2-~Q`DBal<}YsZl<$AJzV^eZ>uoc3l-=uE)WkSh zj)g^NUWM7N6+Vs+6Q``&Np zS6`Y?F(u$_C2xmH`${_=?zj_=vVR}gdZziwyUd>#Hf+AMGqYmq3$DdKXUS#Wof%kR zaI>#xorc7Ag~ba)LQ=LGF8O-!-f9(_cysYTFJo#xudkR|GOuX;-yP10NfVEFrDSf@ z2vqy+zs9oi>;3QtSv-vzU)ar=g+6v2kl9qSnUQsWef+XDR?q%vt!HpBU%2OKy}GZF!=;ZJ zDNc^}wK#(0rggerim1-=j_9;;Xcf41E7?yRE{G3qUbw4VX6@t<+o^G~mZ^L5 z^QD~Si{{Nv{^oVuH%b1~-}(1smagoW`h!p0^Dk?d&5bB6ae1pCtz(~ZzvO>2NfY`J zdv2DiUcg+HPmdl=e)5C+=((a=vxzN|_RXEk_Jmn)ZacWB_tTk#gj2Ou%WoPrPiLDJ zr6oIibDAF8;UtlgJGp9K-s`Nnt}bb_G4sfa1M9om#9H4cpA|QEdps*pU4NPRwrQ5F z^Lh*;yeh(6b8Jq(SiWq}EV&7#U(%krAMOf@J@}tVO5*k%g+(n5JfVpl&mXb5w9Z}r zk7wz9j}Nsa3#BJBd-5!9P^$`^U-bFd0iCcH!Sn7vo!?yiS9*)>f!EWy)xR;%du*8% za_Rq$o+szF2s*ScH8)rm^7ly5tzVvo{#H9Dh{~LuxN?T-U-Q3BnloO`Tk2aXVE>|b zamN0@%k``#S8dWm>+eaub9IW`o^oH{?|Sw%p)%VQI6r@kS8Ve5n3rN%SIx3w_8<3C zXIB3Tf4unU>BKLmwdafK#Z`S=Tl0(OqhxB|FU9Q4k1C4$cPcBs6wUc{Ta{BoU)5As zwROG!!K?~lvwzLWfq z_w7_$d7bUI|2__l<<~#^wQpyP){!k=r@echn4%=m-3%ckXOj z{bJIA6(`e9Wr?0T%Ue8mbMLkJ_4i~d7&$v;sim!-mu-GN-$Xjqp8rDh6Yrv3^Z3e_ z>$pu{c7ETxU=az&cPIDX|EH~*J zJM3c{t+F#>%c=P_EpzfGtXSM&#pSJT|7xu_|l$ToBym>qOi**=c-I* zzU#C0w|d7n_!jS28(N%lB$1zS?(g*FyVIO`-x_cJZJqW?l6CL4$<3dnmwIwlpLtTp ze6ng!yk@JGo}@wGD^YzfCDY}qF@7|i@k6kuc*D%ppp`2Y&Fk)|jQ!y$9@rB$E8*61j-QW@ z9pY-A$1JheMDq3IjKkfvoAym-mHTw|*SW@N1@85SbAL*1zxuo+N-H*BQ|Y>ExSi%+ zY27-dKPfwA6lZ2yMVZ|-xtlVhQ|s97WxF5zjg{W5aa7jadcx{o-c=uZueCot;dsYU zCgR6=_40cG&sW~F4coQn->IrYw=X`Z%B{W5BydgY$D3k}J3pEVCbI!R&|Bcb?l8%~Pd9TU};9trtp+k5D(dUGnXn#8J)H4XVFS`(EFc z_kIrVwJrHM;YPDgJEroc9Gs@P`&sX?S~2Sgn-8lDC6_5wiE%u%&N;kyN6dxjrB}^w ztv>rT>f-Ohmy5$6?)WeM;$zrtd-vYE*6uO~0!$aJ%Dr*N_}xYJuM1Q~;@zL!*;Qt- zv+VYXW8aI{{k&nf{n83&5q)pt8y&G=UadNLLA-u8Wa zcWYF)!9!c$U8j;6Ew+3=TI$u|e)i{s7mYu>_AS+Xu&!@nmHfnC&Q?2vRtK&~bXnPC z@?f^{G^6y$ev>=$Og&DI7JRwqvr6s4ftUlUmaKZS{qlsG*K)CoYK8rDe`+7!@!_Wb zrE{;O-`D;O4m|q(XZZewHvOu1+SAHDW&Ak*uWC!jlnSBsBogA?%sIl_LZO6ncb_GD$i33s+s-AMs92E+cMko*MYf>g|FNU-?s~L*A}@9b4Pnt{+(!9y;4aNan1l-Y&Lj>xAj`Uk{~!d39aPu50~0 zL%SgRr|Hutem}ByuW-`oxDCcT_q;!S>vq_-QPBy^s@f3dk`^KY5IyksMp#=9amfAdLgFP;4ts-JII5@ol0#rF#xvg_Ghr-&AF zP8a=mCR%N2(Z<==mZvX!sl7opRp!d`%be+({&n-qiA|pO`b>|U;OrSo?%PS#S4p!Z~59@GGm?k zKG=lcYvuXG^$FGXExNPz|GngTUiyY=MDg?9chbvxZ|qsd|I5CiD*TYPh+=W^va)B( zU(SD!`e$PNgp20K{HBU5J0`VLjr&9C(myPwyyc?NKVIFPp7(6G`UcN^n^n#1_q_fu z?zOSDO@R0Rso?hoSsk92vg7ya?|qiGJ2q>x*wnyB`*eMNObCzsrVu#c#Hzbu^BQcn z-PKyXt>@3A{4y2yIi0_G9IsDNnai?c|G!12!xl*`eN}Z({?BV^sr%V_t!}CzVUA^& zx|bx`8$D5*yX1|>s^_g`GZvYiW!!K7rs!JEhwDEMpPQ?-`skW1UQ0dKyk~EXtjcT= ze{|J;SK9NPNv^Z^hkU)?p7H(5+Br9c)EB$mxvTW`+Orvwf4P01pPQ3s7k+=izxWd~ zmo076G;6iWbtpf7Zc#N4&!K;onMa-OJ}Tx``O}(kfQ9Rp^|qe8X{BF^l&h=D3SOle zxhN-QdhXZDTb**sVh5}B+`dhYdrSRfpO;84-NR+S;FVKs)|`DEE4SZ#AZy$+QK^$P zu-ha{(|7XmpF4KX(P*)cde~#3Z|T2a|Cgjci^c7p&S&~oG(X$tpM_5G^|rqX`|s(8 zZI{wL&_A_RX71Wsd9G()EqY=ev2@zBb=(V|Rmom>BiMa->+1%y)0$YHj{g z)1sedwY#0>(!KIdLe^a84OfZazME3p)Ag7AwPk02aGN1)tJEX*+8WM80oFQ)ZMn{g zi;w4BvU>7o$>U$VXM2B%v0QAIp8Z97!eyS_*H3S_{E}z(b@%PY85`T5SMq+{bV057 zSvPo6vR6B3=>l;dw*^Gks z-J5kV##`=%_KM?zLLR476u&1u-}y9E=*3-UVRHuF{z=C+>wP(v8+rB68y1z=^!A;q zNfE09BF_kXy=(mH%HGzGE@rQpH~sX>{PKGKsV$lUYuW-=i@46RS^MswQ6KxCl@=;` z{l@cx(rd~UW*Ub~I)AG7>IDI@9vQXyQv2%He3Yz``P;gEWu}=a%giebPrDZ%-Ki?m z9HC&qv9opA1C1|-1uVbblu4Ce_~d`9?M|kmjgRA=n6fsyEHa$bmwhKq`hq~ntdHTR zjkRSZV%N^%fBi&Dc~wG<6yvA#Df^E4%~C%poV>U~_dxjjE=|L^`Rngir#PxvJrNQ* zdf0&vhs)la+bTR`x#{L93IAuG>-4T&yz_4Q%8$Q~WIt0~{rr2^=M9rvo^&$0 z6+Kr-+mI^Q9)IMq+_8spheYSaTLgqygvXeKi)@daVeum3Na`KowMzoO&E2u9EN9K1 zBQG=lNHYEwtB-Qh?a+{U(@_M3Hq91o+(?}ch$*e zC~nN-n6yPza`A30$xTlt#P)q(82Rty1A`XvqoERqc!MT;1ULFmySKzxHRjaG2kN(P zo!lb*$3<2#`TL$-|Fd<)uipvns!#R)@xSKWlg>sPpL;d;UhjEvC4g)9+AsSPz8x^r z`j8(ZJ-hQz&|73vE59p7bTMVCJ@s&3z~oxPB{gI7`VaXUWw#qze%}ujSRS*i z;C4&yoZ!t@o_L;mqj^rZ=jhU9b)T4bS{bu6Ir{9hPw`2K_+*x`wd2W^$F*srVe&@E-X+=nz%Z6$JXXE!VfoeD4hy4_`N@u ze@V2OtaBlAKQpV~I%XT~!q@R@#q7V_a#lCKUuWHxAGfza`PtVkr)z$EZTJ81?#a$A zF4em$COB0&Oq*)fep{u_$NzN2#MaK)7d)z}SO07-;4=X3g+AI7fYa-)JrMvKEY zaiNxcbGFyAH)8k5#(p$2p7>g&w!S`mz_DR zT91Y00)^+X6q>0WRuG%Ejh*TBpOxL6lk03hEZwzGEn)FJhnA>K8}ll3QWqu%-cE=% zd0?%6Ow01xo43)@_L^%e_x#WGkiT>8=h4YkJWHCDmvt?eo34~_sGVISNm5CApX>et zlh?~j{X@T8Q05h!ba~TDkNCHBI~*^lUUa?qYxk#%reCDwZ$DrDd-aTK+F#zk(0d(j z_{06Nq=%=>>NUH!=dsPWslP}&({0Bdf%OX>PbXxGam`oVai><@L|_%A*oR z_a=Scl)>}hC3C;-zI}h6HY#r`64_cMaHFnqt?_J5?jMR=3_J~j6=7fBm`rh1*xg>1 zZ8>R%?g7>Uj>=@ld5`xzC_X;_>ZJ|qvLyc&3;zf@(^Yct{)XMt*PDmV&A%r+Yb&F? zjO3E(92RbJx(yaBxuHsxGus5r9|}0n6?S}m=i#SoeHp=Do9FJGD!#b!T*LYw`yZSr zJ+<-qvaS0zq-Or;6|XuzS?u5Ucl#&jG^f^{Sg9fY?q%G%EzLq#5*O|LRN=&GcO~k^ z>F+$-hkBKY z#1H>?7tNu3>!GG}v(5f3$IVT5uln`+(388tpH)va91KZJaJAF(T>jBs!By{-DiB0k8b%> z?(yQspLf%;f|uOMy>+Uf-Pz;fBx}dg{GD5NEoU})aa-|K?h5@a{{%8lPfnfIb+xLO zAu+98^xFNWORq_7@5yS_m~!FAUP-S|Zk|?$?o%#nL-HEd`BXGZ3E938{-CWI6t}cr zU9hs>W2#G#9ot@;z!z8LdG0o7`D86!nq`$^Eg>Rl{9C+V{YgI`&u+%=Zok}<7amz& ztnBqD$$ZL&TOJ!XhPZXq?4xEBcQodL2FUm)=TZuI~|mp z#U2)IzjWlJVv>u*$v+jF%s6MW{5*Ro%}>g4?-|DO|NCB-zp!dQbpLlyM$n~<2NNfk z=31xw%YM^PdT6xvEUQr|j#`nFv9?-pTU`-y+v1aCbmaqH91jc$)B z9@p$QRzIk?LRWX~QsWPI>Q6*e=wAAnweIoNJtwXg8Erqm*Z!41bJ^Wb(vJ2zQQwQ! zEl$dP)pfopZm!F`{U4Nn%ct&p^*H>`ca?3Ej%v2Fy{b)E6MMqk{_Dey_IA5P53jK( z{q(rJ?#Pk@;vVM2ho|vmoQohXl=}~pg<9yxAO7k*fv70BS z&uw_~!umUhq_WSp|MwfVuUe^A7gP88j^yOiA!Us=1`}iAomNg)e`vJxDbvrbT~9oU z&e}L0R90M_Fl9~tmnVD86sB7{PYa)x<25yT?W#@k#v5Ei@7%mTuk~a9O8u0pla}84 z&G~F*^1mM^dhP`u-tk}GNbil=vN~_AEfZ`msV;t!vRJ+PR)dYqw+!#qk9D`6i-|fI zxAl{Un3D05nRUO9SotiwUcAO8JnbdxT3!EXykDlwdpG~(;R!5zBOZT_nD~p+?pg`uz0g~sLie z@Q^8()gYANa)arf+v%lqZf*Y-(p6GD?d|I+<}s!XPyh3>c3WicS!f>5+VHZ9;R18) zzO%~Jza4m2e*0Q_+l29F%fWl^@);_acDP3E=S^9udSv0w2Rx7CH~)V7tHkDlY1HgV z_d?IIEB{XZ_N`Is#NB0q-I|g&Z@=X&eSVSQr~lcc!gXf4IjbhVIv!HJYj?EZu5$^& zozYx(Z%u4i|4KgWzIkgb$OLFxrt-RGP4s5ZXQb=!epjg3i#D4 zbnJb+y{1nd+qLtTF1QKFU)g@`!~F)g+uX0yzUgHbr~dk{?Z5U^jc9zW)-Hd~*nM|b z8=5f3?Fb6nr!N@0R`$i_lL1dP=I*Y0a3EXq@0(p)yEII6eKpreJ?Jow-B32iD`1_4 z{FMpJ>nt`i7l?KpzcO#$e=pYXwV&!Q%dL=pcJ)=D-lglSc5CLp6~Cn8nZdit>a4V^ z@rq~D-rxFVd^`B+tuq;{D`d8oRs4JpKQC8LD?XHe zrf5^)#*l_S|H#P^J5FSpP2^Tt^04E@&V7NOIRd`Q#w}4=cC0mEh2cT%ubvDEp&N`| ze^@)&V&kV5cYl0|+I^Up|I@N#J)(s|Y>Eq*mfcHy^xk~c5*?%e@9wv?&0br6Zpw;X zCO7mFN_QUosTSvF`r2Ur%-ff;6~#i|9m$9j-x>B-DoDpewJGk{^zFaZs{@o4?+e-< zl{-~<(aw(>;vBes-0^Noy8XfMPmbzOV@N97ANzIAKfSlz0?My|t`IP0A7j*fyEMIm*b&3;plEoa~~QC(2{a%(|^mDI< zgKewAmVH>wt(@>kcJX;__swaOQlI9D^0w+M)oDmK4_d?g+HKu7U&h-HHX141iO{|N z?ERD5-<3|LYW{iWmh8!FpAAM&nx zSg=c!F~UcsSMtY;`M(R>YxHI+%@dAXwR2Z%LfAWZuE%yQg56thdDPo%e|7YQ?Civ- z-3OM;-{9b*XtwW-%A|B_|uAugoZ#ad!4P;fs&9=Q-vqTFfjvd!$DmnkyvWK2o9AhYe&A)(op>Y;~LG_m*;7**D& zPVnnVP8MQ5oY#8qUhCW32RhX+XE?lfRMpydL+|o?pZ7whQzV29c3DQQDw^ni;}Sz4 zd#p)Z{^F%fqT%z3IhvV1CM7QVwc6&wlWp9$SGG;M@gR_!bIV!5i`$G;%G+kHowGwL zZTf0v+b`2H9z>+ik3P#2@G7lf)wzvkTx<6-bBlN%oFUz!Gbw;GH6-jndg>EZsX37! zmRE3vmAkl?vWg4t(K*oZpz+>@4>~6N=fBO_Yt`pBvG}5<{GP9UKcjoIY@#()?|fZc zaLCJ*{a$7bgYhge8y=IGyPpqe@|bfOea+tU=K0UZPYbQO^qPw=23?msUg z7mB%=&u`s)`O=Onj2E1?6?IPTe&)D^A-d$F!RD8S-r=Wbv@&j$Y;UjAUAIDAxm3&T z9@oFNtxv8=U0V9)kypGfTW@Yl2JbetU92lwQ&R$;&Pi{*)xzw4)+Lnb%$*K@b;XTc zv4V9PCa3LJoa1?>D_K zm4?zMq;KterP=I}+$nadptB!%na?ApFA<^C}>_;_D(c75WqtzywPXK=XeZ(@*i zPPyHtkkVs*e{-bq5zWAcm5=LYm~c;-$o-z{(~Pxe-(HQ<2=h z9fx*C87^yf7?bUN$hIOu2Aa4F}Bi?wW`NV!&je@`D$^ZRWSP*589TAzKyKyi_(TEeUc z-M1I@8aQv+zxjfD-?2FlPMdQ43V5?DZOKieRZ8Yg_gSYsi<=~wAsZHzy6|Z$+YA1~ z?=qfSJi5R0EWg$I{gJP?D@=)TJZCl|^J}x?tII0-S`xzB=iV#(JmrX@X~fO?zJS#4 z8$6PWO;&yC6ygYofAhc_!*WKe+s)2$^5J7oLGg~_n8xSubsPu zMVUn)-0!H@*{=z9^Ea!?ai~mHlGyIz?Zv+Fj6><+Gut;cmVT6~t$cp+`lt3y0Ui?{ zNt>N?LW5DapxX(dqI5B17FsiZ&tp3^Y+)B zx9?0fJUDU}bFRoNe|*LHs?eeRq1jJoySx-wtD9UYlRYVO(gWTN6KhtLw7&l#CQxv} zGC8;N#KAK@g~BtR%s!nQ;_z;P(3{?*%ep(a>99PTF+p!r)#@KkdyaW7`Y#^AA|oyu z|MH!A=X6J#+6dl%myA4bTa}uwyyKR$&}zfMuXoh+w+Rz>BlnPBp%7_G9hV zlWRpc@|t|S8>%m{ZgyX{MUMSfYi5bleDc>r)tcJe_TE1H>jnSKReW76+IMtqes)gD%t(L44RhG;=#=GwKdD?wXZrIwr<6LmZhV&`d*_!lk zY|csk7GAmS^_9g7_k8_Qr6?yHW=?yZ<4;Z2EDHSN44qQV(dKv}AREI7RQ(?!MM}91)D|Oq~a;`?|TV{hraEUAFtXrt*F8m}+^1apKzc^4td^#!mXhjJ6u*8s$WF z-IX3NZpgiIc!~8DlY%Lc=N4Faf1N&$Z=d_$POAWK*H&-AoPQ^NYzxu+b$g}#%;&}u zH475koIZHO`SI4rI(5#J<@d^R5ZURjeW@uS$kzJ+YsKE5^;~-lPfy+c_Q@mrjK_QX zrrCZFI(0Sa-W{RV+L*(9Un`vKYR?~iQg69mdS#)RS4HG&>jcKVR~J29ZLP+T6QLL5 zuqS8w+Xs!`tyz^-XP(Y13~_Xx%*?*mvA%J|%eucwyYD~o_>{pP$zZ zKlAYn(-eyeuitWwA~(8zE?F0RcZ#uS)A{7dDQ@TXwd}8)t)oBj;IH%FivHew6vWt= zR66^woc+(Kk_?@;9`dYzR?Lz7*mu};Rz62V@RH+KmRz)JbW`8D+5PT`&M)uw9pl(= zYYAiD16>E{!$~KpS|0O(2?riuiF?-VXE#++Wt<1-hreD1OEl%+B0bOud~)%}Go3;vzL(9d;_w0~y_;%(HfM{z=6kWNV~4Dj`@zry%N!@ROU^Xjb=R*~A*3PC zJ9g^fET-ojpN-CI@K$&$-mQswBxQK?@GtGakhQe32tZ0G#NvABYF3($QK3`7xlfJ5lmrMM@<;Qc(nJat+x1IYQHYea{ioD_<$CJT40&@E|?%CSe`g_uj^s{T; z&-oI`V)$gwbN87`%J(Xqv}xm6^721ty};ia|6a$)&+yj_oppa-{OP9u`g4@-f0KRe zVff5RZ7NGg#@WX2r(YLcl}!jP(k*M{kTa5G?d~wzCUFu8CAGVwcNN2cwH{-`1 z(~~Q?PF4!4G%c)&W8LI+|J-lc2mj9hZT}v=V`tp=MXz@r*v%LIzUW!!^qn0GlV1rg zD?0aVN>N1G%}KM_9z2WQx=u|)RC?3@#pTD_y5}mp9G}$2c~|oE!p?9tdmF#l-A22O z+Z_VC{PrbWzPmZRQHf@>vd6qzf@cplkYwnzDRuI*kEK&32yk*SkC@-@W zV(f9|mJtQN_q7KsielgCv9nZg569UJ5i86mly zXYz!^yMd0EPFk=%KIf>~&GyUqT|mXUMD70pmlbcuiCApv3{uF{k1Cov*U0<}cdnU~ zps}fyLw)?-C8B|@w?B4vid?iX@Mm*6FZKD=GMMVp$kQ%{F{vFuCRxw2&w$4dFb`3GN0Fy7A%n7efL(p^{0ewhih1y{TJ2s)iO zpdOhd?!gx)9$&n(kx@DE$|kk0#HT;+>r6@wVs*4WrvHYm)ATjV^~sli8LG9oy0?B| z-gxf|)5f~5jE=`&`6er|pJkX+=_=@yB%9WEbbgeX~v~}Oke-|xp$q6FZnvd&FA^j{EsoNiqpAfJ!w9A zD7-AP&+LKdsykQagii^pof4iTb)>H_=**;Oo2%8@tB!hfFt0YA^Ls**$hpg>|K()O zk(xXuqjcG<$zL}$SYO-Ob>d>2!c=7iQSOwoRg;60RwZpI?Fn5qah-wqi>%olGOEvI zVn1zqUl^w49r|wKf8G~*tL>J(dw5%Sz1Iofd4EpC*i8B)oWC+~Qg6)D32`=;K2M3c zpb*l;6*y}zL+D4IMB9~XPnmA{^6+1eW8SMnIS+INi|0;}++L(6*t^c`%>J)#M%!P6 zY`ptu!~c+}eS)SR6+C@Iv{bH%sK&o#pZ3J_t@ZSiE3TGw=oX&0S-U1ob%oCRH#~*g zxnBG{^Kcal-1<CO9wEkv&tmquSuSo7e4q81^)!l1N=wC6R)3eOhPCEJP ze~4=KrKCwB%poh>7#R*pb4vc5?m3MyfM@?&t{6P6_}uI_O*xiDPk;LEGYa-G zz8hkE_Cs5d=&X=mq4}G)WL#a-zi(B@?iFWciVr7kt9y9ie!~Zei~yE1!O3+lI$KUK z;g$@Swg@%pO3 z!07kdzg&J_a4)-=yPwzWR?6nuPS2c2Yqm_DP_cT?gccPw&6A#<3XW0rKW~e1@o!J> z{qE;d5l^&^8 z%l&^X)4KZdd7JmVfLZ?}A9TIedmbG5cG(Zl@0zDF7a8^GTd%(@>SOoseR1xxc_$Sk zugnRZ{O!p5dG&!4r9?G_+2- z)P2Y4McpHLp-_INd$V8npIVcWbWit$w$h$^hG#N=sJ*az!{2@@|KgHvp%dp7q!dbK zZ`rlXy#3$Z#`Iv(Xn8g!Ht+IDk-l(?D)EUuWg<+!2yx0D&tk4|uR zyh(7Fn(y3X>$hXghs5_v*Cx#9yR?~8cSpu=m5p3q%A<4izOHhJTO|K&&uh8UN14lf zj+sfH;*Qo*T77EK!;TmCyUQl1ue!2jUD>}2@x8t>Q!PTptT-;etKa1O+Um&cmbAsL zM!UaC=u3)a*}h@aUn*j-r@{Gl^*)s+op<#nJkYu<|68@?>-DMgY}5Zh@@DtU j4)HHK*6Ez8u;OvN!k&L``t4V4J+pjgo8T!k76t|Y*sy@v literal 0 HcmV?d00001 diff --git a/static/fonts/Fira Sans.woff2 b/static/fonts/Fira Sans.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..9bb576032e1ce51c88f5bfd92670c425f4b11489 GIT binary patch literal 21244 zcmXT-cQayOWME)m2>Qby2%@j=U|}5 zT#cs#8aIe@x41AcnlY&`ce1c3ur_C~cPsNWhDuL5CVt^|S->5>&E41kWs7f!-gtMd ziEPJ)Gj0)oA1wJd|Ihz=ucj%6I+~xkLK(Ne-OuR6GSllc%hE;xw@dC*k43)Pb*Oq( z%kz&_d(8aZIO=~tbza$@cXl&Z?d(hYK0eM&UK%_7T!Pt`8PoNBFSb3lxUtqeR@o~0 zm1_BxqZe;P{i#{{cTPt4v0RtiGfaxPXIsxu+EeBh>oUE=Zjs{Z`bDp?mb-8*>d+8t>YBK^=vH@z*xTLz<7(cn{$6*bE`IOtdn?aMaT#AK7BpyB z9edpGboZj!x;vc2)&rSI&mwxvK>j(Z$-?GSaTR8J)I4dp_V0#?;oU5pF_=-KdN>rUY z|NSXr*(R#`o>{K=>W&p%zvI)di5s{u3OTl{VMvxZz9x46>Th44YtK4&FXC$SRdEKf zSEu}grZ{A!ZD!oW{N=%focp#-W*V|rHG{9bS~c;o$d2DzS%PyK)v6ROgfX(PeE6Sl zwg1~b!M1}Zo*%d`Qh!W3>0*LdzQ@A5o0re8eBXOdMe%G8%O#Et6J#8i{yQG3Q9LfV zrr)41)Ab1(h6#*|Ry zUh({{dEKw7UzgUU&UdlCc&%i8@albTn`XVe!X|CZ_v-0~IKdc+HX*Sc>KXnFoIDRj zA3I3=_+Pj3(qFqwU*QI=huKRngjF;jySIF9Z_U@svu+nGGznQ+v-S;Nu#{QDGEr4W z-qvs@riAPs6&AKd2mT-5d#wIk${&U{XL+4fOYe)+t(=pw%k_Ff>$GeCXD$1(zqTs* z^%OPjwMOD94a_GFIfvxB?V4Na_;N+KR0Zn<28kJ*4r>*eMMUJJt6!ge;CLo3XkK=Q z(Cz<+-`D(KxGeVVKE1W8wX~FyT#j@I9`ESL{{OAceyy|N&1*p&3zSMTjIzG{dp|dS z->!W-iY?bkt#*=(mHzScjM4FpbHaQUG1Wyx-2bi1&-8+k;Q)t4>rex=fvgH#bS)X*Rypk}hEOuJ7Zeq7BpQXD`zV!Z` zf9|dSb5Qxu#Jztn-v7Jw`uP<#8y@|YoSYVN=jHlacjEWHvN^i`z%c{49nr@v_6m5+ z^mE-cCEP9M*t4x1Q!n2XVd(YD-O82BwJ&3?G;n!^af7LPDyKD^VwOtUt;ggC1)m=59 z%8JjnP0-D{r~OHAa{1opwederUElX{ar~cG<@G;K-~V^~#a``&FZKp}tXuK9Rdm{+ zd=72_uR6||_nmLbD?VQz@U{HJ@B0^CnP+vEOcD`eI^dkDvMILx%DaO7>JNj8GSh;e z{$!NZwqMT>e`BfREbm88eq1Z<%TG#U2uiuK_u^JfCrLHKl?JUZ9$t;T(IZ;%Ab-wB zJz-COPE)2ShOde~c~8@L-g@}OT$QevID_?vwXP@X@8^-Lo-DpPR&z-P|EiL_^_Qnj z$a+78-P-4_*ttJqDGFjAS_(dE&u(qKKYQkpjFY^&3lu&5%U3Zx&6Z|$mR%kHSTr=o z-gKLnTL`CE>z3I{jC(djGd!AYeec@eXHGN!wokstHDlKf%b6Q2PqsPzJRvV9Ej!8h z(euZ9Cs(~SQ)-{q8)a~6LSK#Q!hM>3jMk5&x)vxc{wd?~M`&~ZMXr!HzNZ)5TjIeN z6vlFn;hWjzDvNt!yH8GwHf&xIuPn-}Tp82V_H%uteIb)am-L+%Y3g%IPRYJ2S^xXa zd&mCjYsK@vH`z~=W}T>YpPRSPV|R*#zlK38Uk3jSHNjQ-r+3vgoIJ&ncV=fE`#R@a z#dq|DWEhu}G##z%n8xO@?Gw)l??lr#K@riy?VIoK@~Pyq-0r-p@ABDg4<<;yFJe=h z>3DM8<5x?r{X71miOW1VoumBMr}7(5`;O*5)X!bHHhzEI49zcMt%AGPcHO=B`D10^ z1HXk2rCJuY7a#1jI`L2VT;j^-A6PGB^tzsX5I<2WsO*u6q>3+x7(_v+*!WKP;If> z$#1v1H=nng^!J;vYypGi6M=(??H~KBx-6f?bbXHT<;|MnZRhlH#ql!*cif%je^1d0 zTHVg?KTV4_LDA^Zi*?6*XKxi}2sC)<%BXvFUg%?et3&sMIhvN<+E+UFv2mQ%gjI)I z(hB4@8Z~wu`S9=P?uj8b4pTIPBYfssC|xq{(75o*?#WBGl&I=C>=HId9&qmY`&Mtl z+Os#9#O1zZ>;GtJel%t6=hZebXYaHrR92mgei_U7GZI4% zEn0dn#Pj!pBKb(G@}f)WiF|z#>yLRPrkv)FD!P2@^wxXlss)br^jrMgH^F(S&*$!Q zo4j(DMISn#5H!o%CNby(bLFbH*R7U6^-i`wQTgEVcC~Dg#rY=`eAJu8WCi^z+D?SN zzFZc$?C;g-*_q*5RyNK$(T`?G$&&`CboBd$MwbXmuAUQRQzi%_+k zaqCr!_5FJ;uj;3r&3Kd`|FiQ?;h+C^&MvNT5azv?Z+GR;_X+P!S6?c-$zIWKWqq+H z-ON?wh0=A8cUS$ipQIMvTVSOXnk>EjUuN#&Xwe&u(#oNxH^f3r4IL&sOLt4z@I7dk z$DZ8H09UywVY6>G1#86 zJUe8WM=0lItv|K#f8E^*{X-%uHcg%ucOtYwgn!MlZM|!5v42T&nN~Ed!(?`tm{6|I zakW6pKhNj3D1BSMVD7!OA?h)6CVfttlgjkkh<8tra=)N>>(LM$zGzRqzvnNnoO|0r z(CwS;d_JXpldZz`KHU<}`TfL`Sqq9L@`m&E$Fat(o*uk0e14po=E+YxLYM@n2z|`? zxu?X!;#60=l0dSc^uCo|2RHM~zp*6Q=7Z9GlkbdQ(qCT}_-AdLXMF8y{%l;c3mKzSDJQOkG*DjH$YJt{m^oi(hy?T({Ml zF}G%!(%z5tw*)#_JQ@+EC@h$E)r75Sr?Szb z(!gwkvpv(+-Jg49!<;WSLw^?7NY(7CG5R($-G<#__l$zdnM;4DO;4AvKI@(TeqH2M z+wg~n6&tR;o+xHybnl6F_ZaWsBTGg6l6nBx|nq|RiZA(jA zEzh(vFNgI-R&opn!aWX#Z`Y6I+IH!wC1c;W;=|K9s#9kN>are7Ew#GK9Bw}^>Y!U} z+Xc-{l{fF7ale=3%+gzwC_cyZ%kG4-b)3hUuFi9>c+94k?0Rcr#lorQ7)`o2ruLNQ z27f=fO6Wy=&jG7aiC10*@2#KJD%!Cwc4}1E{wGjz>8!_5dCZz??L}`L*_v=`&lYoE zmE5%2z?U;8nszfUo7wvElIykHhNO1c96qZP@AS&OzfKCbG@Nw*&o4<9?)Qw>3%0Md z=n62KtTx*5LE~j60%y^x_V{2QJv2-Wnsl1TF z$*FnUZs@)h+P=&8g68MDc^717-JRJqXX;Vg4M+Cgx|2SO{mi$3qN=tZcBcMSZZp#p zZxplH#okTFPlg{jn$14l zu)OJSNaDR?ZV%QjDA>2lINrm&P;T7{3$7LBs!psY-$og4b_zRr^};pRUQzz*qW@17 z?_fI`&=F|0mt}QY$wA5J&2cM^90{GdGgQ24w}8;AvNF|eb0)9t&p2URH2Z~c_EF}X zIgegvYiMSqFP!Q0f*E~|EDtUMxg^S0B%$Ftt#@cEj*?RYC}YV!ZU z*IT!FSH-`*c3$e{@gpV7ms!(tge||n+Z+D<^ws5}J|eAO?IwQwy>qj(MN{0=Q+w{m zH!4l|aHS>q^vRj3cU9G%_s!b7)OxO!?aE>mng@8U49nS$ zw|BnX;yrKs9@YE&bpi(~{w&LUVZ>@2`ee(g?BEOQRylj7`zSBgBO=roJn|>Law7Ft$tmT~f#4w?)Fuoz*_NCG^mxZr2 zRRRT*PgfjMSkRH_6f(v3sClQ>uNwmTrA4uucU7howpUJJSRKAgMAB=;C(9+1X0)z% zepMPVzvr;A(31_1{xCUc_PqW2_DvB>3X@5L{hCGXhoTpyTWE!qZJsPzw(-E;qDGOL z(0dudHzuukl)F5~#PNvdX2YuG42O-{*sE+Fr}$mC_ow;q!`1&n$|Hj>T~;>it3KtL?sxy5 z{35N{JNV$FQvO9tDibPx+;m!$`9R4^Z9%l5#O9v6cUQ_tZIfw|$xvyZrz*;(zOTBS z({a%%*GZ9SD%z1DX9_p#C^hoghOG~N-nqc@+Nz+CB_Vg!L(NjcYV_wzF-s;KKjvTY zAbj@5{+axfb{u-FUe*6GJ>t~XyEYQV*+0rX41x>}{!O3fR;(9uFh}&M-CZN0jhnju zvoTq)=E_dF#M5w>=|stj|I$tR&$r}NU?=9Z*?YzvnbM+S%e_;At;QYyA`@gRC3E?ID%nnaxZl3t|qZv<( zRLx&cu{A;Zd-s2s!2e!VqnzcS`1JVn$1B@5N+_tx+SZ+Zwfj9ATXAk8XB3O-+jX9IQ&%0ceimkZ zAx{6KDAVFyg1P^EDvPu4MNZn~^P6p{-RySG13f=i@=lz(nzPdP`A6%xsatm1E_<4F zee+c7pJlc@JWf{st@`J;?6scEpLpYO*_#``jTd%Q2M7olCLZnd(&Edxkur@##>1lE z(Sc58ZoNwr3KzSpv5LwH3He1l(b!OVwBVx>PlB@sn*l?mxMGhm{|V9Ki0RLps^ zt^0W54ledXl1$-@YSuSqWu9BeKkx35D|v2DujtEco%o2oF*jz-mx=bC+mjcgYPO>3Nbiaxyh~gT zt8H93X-DCt9f5*8VgKrNcxHb!l3Sv>SwA6+%k$wM-$^W|*9+a7^dU#~?i2R7-cN~> z=bp`6Z&tCdj_-ej^rTap!c?}p{$pljh`jmdab!bdn#<4W_IvcLo>pvXI_^)+HkO8uo=Nf_ z|E#%RJ$zAfuVWKI_qok8%vFh9i`+NWr_+W zI`ieZ6iqyFxVgv4Dv+luVY5j>n4*?8*U7(&@A}^SFheP*@PW!y6G;Z&qgKquGjF6e zrAsFEN`(Ck_X;tZ>%3z>mrcQh73UjW9Yw+wnL1xr3Itu#=_}ds-1~yYO^pNYjWs7! znkq#|5pTx)V~h`&BG& z+}XPGO8tEvIn|BRCmyi8m0l@!INhR#B}R?yh>W(7k&uwlB}GZkg^zf`<|t_VUEfpY zf7-%j%8xs(elqdrHC0xi<~_R$8d#MRxgYv-3P;{P{%Knp0Df(;8iO z$*8XKjZG6<`r%aQs$*MH(>ka6&okP(OyBr)j!ELvS6g(9wcq^t6uQDZd1mBPErmrv z%`;Db-`eLK(C8_3_EOcCP5(;2oXoW^=jXX>p8I3Q!G(;!mVWy$maKd^KKIv@eN#_M zM3+{T+fO!3I^61}_Hdhw_1bKOgQxrt9I5`KIU`a}m8&5;DzrhuOr?UwMM9=QNGe8&xox1tY*JrJ~ShZ7aPtUohdwlj59vA+2h{x7&Qs#Q2RTuU( zZR|XeHbv;Ve$~|1OZT6CvFx^D{F0VEEo-+k=TFydyK>@c>Wrl?@78S(=d{b!p8R>v zdnWN+CyweBt~?#1m!53@t<(Q*?2F7k%e*r$&lN1&Jm;;(2 z$Jp~PYE_wgO2o~0cU;e#&&7J;(_^MZTdcbu#;<8#S2_E2=ZwzHA0(>homP~;H}zP% z=*zc9N^Z19woC{M51O=Q=l{Fw_dXF(wOMPHn)0Y|WrWWZt}RhEjP|OkZbe6CZrSn3 zuWHZ7)>7@R^&RC^zb-C5w_RA_*^ddF>Bn9~bZvFXS??Qr&v#q@<&w+E-yUu3Ij>|k zC;C+8cH5|TPXzSqZqGO&;~kXLtG?~Vv3}&tf(F`=4u1GGyA2oh_H}>+gP_ z_RghTH)I_nR2N+}yv^g_K z@B790)Wk-;nMt(FLr%}f{cgPfwcTI;MOo#xKD)Fh%Hi}Ct*vTzEO)5?t@!`)-%1C! z19lT**d#I*X~j-EwB>s3z17pQ{myQ_#>G5y+Bv6BTR7GE=5eThS-iWUKkjmQ;a&H3 zJFCx&pUM~7b=CZMroN7U_3`^Zc69G;Wmwu!_MYkP%+CxA47*A*Kh%g6ABy#>JlNR zRA1_Rr+Gn1to8tt84EsP&_Q;mb2-mSoGV1{q;5vtk+w= z)O}xh`}e=E)tCMxZcnd$FIlg4_x`@prK^*U@YfXw%dFdQym(#l+ShkI4+(3y7)@>L zb>-6TH_^*ebF?%{IXU?)_s&xy+JURQjzsZhUCj(yAGldFEz|I@&*!sd$73$*Z1?IH z4U2y1U27JVzL$5K*FFN<+KNf!&d#a$T`{f?eaW3E~j(19xhkV(mS8M@#{02udaK-8A11PkooJtwA22mzRn-1faRo~Qr24`p_dS_CLui{#ee5ey z%SG&!v(pwV_}zG}qU!P7j=)DS!BB3EeExvE}iGU%s#5_ z$~(EcS>SuD)s_WnY}f9xca?t&6h5+JiG$a#f&*L;3a5lrMOn&KXO&ExvgXK(rX=r{ zeSUNO{%c-Zq;SiBj|95!6epHq}cB+W_`o$_&-4>g#SDWFOwutL> zVa%#cd>V?UuPrVAyrwUYt2w*7Ls9d^#?X7t+crzF7HWNSNNQ|sUF-7a;hQxXDH9o^ z*Ut{_h?jia%gTIL(Yel5*l}|_*N1-hY2lMYBR9|KzQ7f{ATBLWwtZ1$`u2BM^}e>} z7(SP4S-aT%u;<6f*UL9N2=IThN^_CQys74^jgI}AWWR7xLr}nk&Hh^}418?;pVY72 z`MB}L-2+SCxg6;5ikovR=D3ampI1w^g`-UZ6+x<#^-Nk1u9Q zp1%^%Wvit6^RCSN!;E5f^*>+dR>*z1Iy>y*v8K!IqHlHGC!8`YD3GzRl)GfX7&C_> z&yR^;-Pvk+$&-ME^3(0^S@Ctv`Vy&fC~n^AK+{z}GG~Nu4gB~!?(I_{?)OTc7P4LX zp!vg+jj^v;;ka{$utKx2;^fH+-IEn(2VY8D=~C{+&b}JuQx^L(2<4N3qKxiJ@IoX`@($7PNuU4SNoRK%}Fob~GKR%P`+YAw4ob@`N1m*jdO*V#P_RtdSbXYshiZ1D6hx)t(# zN}B1z+$CR&SW7qUovpnvz@USx@5q+Oed}hW1d2^`KVbZr!z}!(aJR|??n(|*Dbe&z z$KN_A^0aL~*3rv5kFDUum1&EX&ia$Lu1;NWLfn-d{2H0%3P&DFm1XfRSupv!)VI3} zSxv&Gcg(RZITQ7}r9H3y%dU@y<-Vp}pZv5gES)*>;pVhQGPlpv9KGMZ=UR`BC_9^=dYmcp@ha^iV&-dDf2PM>&0NAXd|iEFV30*WH;o3Thw zO1yEyEdR!py*JY)<_hvg-}hF|@pij0uV;g@WMaB|&h!&y-EFoJQjfQ!^ju8o*?Usr zw^h<_*D{BYM^pJe#YaZp+?e*aFtyUtL%Ag3eb}EyV}Vzy!VD&i4R3iu8eTGN@MTOi zeQ>T}jsAh`=--cpB=}ShcU@WRVk5>f%QGE?UbyHD}MDevE{E^bYtr6DFXXT?y|ARy)d-@6lPxP z^ycT>@+S#RuZ5-f6pOolD{S46>Ygm-srQlb?xn)&h(TWxAccdEOc9mtW5Z8OO z)MUEr)2^#+e9lWAW$JHV+#NJ0<*-j|yXGXxa^7R7_}d(`BXl(9rq6ry``Mq=7?0{; z@1@6D{k)2wE=pue4u54W60%D5$)&KV+K#ei4{gi)e{JStV)Ljv%f$6X?)S%;ou?lB zD66|z{z=eT&+yWt`Oe!yL_(OW7X%J~4T73D4%-js8p>Ru{L(7_hKj z**Eof!Jj+pIiG!tF8gb?;K1d`%X79bvF^CWa4JVT`t9U9n>)X}`*($_dWz%1lgi)E zb1HsYYgp;6C7@li=yT-N&6U9#Uj@^qi@l%w+uiqmM1Q{1&6TN37qmQ|X3Kne^Xx@` z*WNNc@K#bLRgu|Vwq?fijKWsOx+=DcYzu{Ysh@lO;u5VRQ}<6ab}ZDGtD)A+?sW9V zG?ti3m&7~`)+2fL6E|M^!j;=?(Ee9Ye7|)3sbbH^e1)OU&M~X9)rS2)$-FGdrTO2y z|+*X>E76II_^@ zk^i^1o!P!yIAvEpx@EUzamR|2#;Gj#_sg~`g|M+qIy7h2T$RS?#<)cbr?N6{tm2$? zHGhfM$;9JwA5@u-${C)>ws}AQ)>uHVbdauli!s^pQxatk3m6TW~G? z8+)hJVe!Q7^BWRM?yqncP^z<7qIhNJan8Ga-V-E~E}!F_XOZNn%(?dWoyF$CvTqJ` zzTtM4#mqB)=WtA&ZLuk10p>gu)FA>;NYJ)7(K?+!2OJGy=MCyjmoB2ULFKD&6^ z&+KXY&3e3?aGw;MnCq1w_Bj+$NY3&oq$xAn$xHK($ zw%FxKhbA7D*OB?`aL4GZl+r!nXF|cP52w#(P@g+vl3yD0+92DQjWOMVXOWE!oqa!u|SB{|w2@+}iw}#%lt1IA=$G6Rx=s;K6dQaH{qC=8%Psd+ywASA23= zNPij2!O2TJuEnH3?6Ignw|1`O>GK=)YaH|R9yPAu2t0hM{9fj#Kb!sAHpWTcSI{=I zeK&a*v+o6+mb)1TPp^&GU2*>5)G|ZImTQq8YHt49@uk)KWK_Z0ssAG77b}0h7GAV} z>1;N0>EBg`x$0Z>{_I|?7^!>I-6tugyW&bgWE+!dnEVYDg$Y^rZd*r5IqtNx`rf_9 zutsN9npoe3%+@{`y%$;B)r$&xH*slO%SddR8qIn)me0KDx@q+Gr~C^qY+qXzS!eji zXoAV|ldl~XRzH=S&%Ag~!uj>l`?lrp*078SJMnf$yU2?y4S@;Kris6oE*F?teel-q z|2ZP%l4snktv)d7^hN(^`*JX!vGK>%i~^Thb9=VqRoA8luc|I%*5rTiI%>!NI)z{A zs+-QYCuSU<5%teyO3|*IAKrdjc%9TA%{Kb(dFfln|MtQO(ht*rMjfo(x>;cR&Ub0= zGS2*w3`}iyd9Sng<2l}cLTBwF@3dRCuKeS7$M$;EvdY;%q<1>Ei>&_`d*4|9&t^3< z+x@rV?(C60w8!@E@vpPDm-$C~+bjK^sMIbLrnhHXMc%XQuvdpaY<9i2;_Nog=$vi3 z!a1{ZU%hyil>Mi=?3uIt$Ig5FLfQYTmhWtwmprTa#*)k4Qgh-=v$Ne?-SR&wc5fW ze}2Dx<=<7zpO)^wImkv}(dD&wZXU9oRdc9&nS}S59{cj_wC}%^pC7-eW)gGx^48U% z*CZ8Iz1W?nul}96?${59+VWynxi^g8{xEsp_gykW%>IYeuV25FGG5rMeph31bjyp~ z?9147P92>2>XQEN1Yf(!@rpux*L*_OuWeei{_Apw;)2avst*SJQn7dM3Y+b#wN0ljSrR#4?dlAX z>NhrGKPTCTH|#R9x3ImxyZYdTNzRr!^EEam{kh(|f1OJ6>Ef@RQ7+4!U)kDsm<3GG zX5D*l(UCJ+yX)fJXV=}=YCpdD)Ux~6-JQcb zpI_4dSo=)pQc**S-3{G&DtiK~D(-nker3&l`}ox^-(BiI3*JrsGDl!({`YlLOn+8g zPUSgimBRde>+u83&VJfAOO%eflp0!zHKs2#?&f)O@A0k8%?C@%(i7hPi1=DHeR101 z8!z8>K797q^Yx9Nr|b6SwH|&Eb~7e|y}J5mfp_+EmoHM&s#$m4y=FH36zlG* zHEte!ab_30Z|iQ3$x{4zS9|TRy;J|aNtu*2b;60Kzh-C8=M=gx>fXz0(%5%c?^USS{&ixi(PP5jFV-XC{AKWCoU95+LK!&M`ZGy8=-Uay_yaJG0`(#dwKz~m(|UHp34 zb;chyiEfeTS#a}P5pUas9}0s1Gz9H(Epj!UrOlD|`=TGL7ygY$ebu7S>{YL>hnI#- z-171F#}jei>dJmhebJ+}Df8fmCIhkQKVC>|Qv131vG4IY$LFZZt0knjX& z&6?%4SLII6I&<2lc=65GjC1$io6)Pn)p1I8hD_;(Baxvmi~ntLblv{-rJC{@e+h=? z|Mnc3^~CJvk|Xy$?(&7sUDWouaOQNq?IHjAjIu0-o`)u z{3Fyr%I);J_>jj_9BO0du8V4Y`fnGvNOknD>ad}LHkT>1JnF>=M8XLAml z?7pcemvbTOX=zd+&$P?YwNjx=18lWdon$QS=W%+qskNmY?nY}InC@=>yM6V+ti9KA z&8O$ZMJ=eCCR+38`}YGX^X3O-W^#s3ttF*N>(ekbDZ*_0m<@5Jn z*hNXMryK20|BqCiq){AZoVOt8@5-OoH?#@$hkam-lAUA1UH>`#PQ{Pr`n=21{`G(P z6n{y5dnxa6x!a$cT`Tz7lQXF)bsKB!W;XaNNZh{h{(UL4Nq_oxy^SimdR%>GRwa|x z`W25dEbrT!Y&yMXXZrVm75&U}#qIQJ9;uXm!y)I`!4S|Sn&N^8}F@p+rMkSyEf;|=lskk{JZz&l+>_~6S`g8u6%bk z-!h@9{ONw?x!gwAeD7U-VzKMj`TI5ZSL~l7-EjKFs*P8hb#FU~&e*RVY`0yZK|D9a?Lo73d9}y?qt8zZFYT>6 zd0#v5`YGuI{ev!6lV05qoFBV4?p9dGDJ$1_j^#`l>vsRY-x$hR5$8LAhiq;P#(zeCa3eD0IK%OVax+j!PY%e&~yojjwhEr)-++PeAtq;CEF z6)CGGFicQBEMdQFone&m%^A_lu1P31-{JpNtrZ-`tJqj!`P9;8Ti?&AtclgU%eqT8 zFu(i0o%4@L#DmvgU&}4fTaYw8uv9wT?2Jgf^VbD!TKQr3-@JGKxjH_xV(G$fQx9mX z6#bj}=SEk5c5!_r|G`sE zo1E5*X=R&Etuz;pym|JQlTO+1LvcI4dzUZLi<0Kp9{%ff@<9jZ*Rq%L?#XcFUfXOs zXXdo)M|tCaUYe9&sB5>;&u~A#z$LG^AJr8NH{W>wyd(cTYRwymBk?CAs<-GC{;9bA zGs4GpmWg2StEZ=rAAhPH;&rs^qv4%PQzuk?m)oBbZtD5-RFUDg75zsyeokqM_1%miYZF*o_DIK^s(rLJRI%?)Sjm>AgDo?S4%E2KeNyn^bZaQD&Du5d-mRaz z{%DYhfB9jzU{nS;l--X z>Ju}+*tkB)%ivyl^r72CKd}XQC3a!@zALv&@Mults7;Q@&(7nGFWq3lD67$RWs3K% zD8Kg^Q|0o$&sXT7=P zU$>!xPPzF;(_3uQPN+^yx_PJV7M$_gb=f^t zR@lS)D_33SqqBXyJ9YLtaCkj^cjDqT-&$#2_w85Lsib6H7jg^N%i=s}!gu~)^7R#4 z9tH6FFUoy*`?>q+>?uO5YuHsBB14}UTHLzAa$JFu3zMDlM z=<;{@hPRG^*EZ~}IB2-It=(NxXThhF3zt6S)8?oR3^=0cVtqiR@z~Lr5+D6Uf%o5I zdyHHC_TE$88GKM#MpI8#_2KpBk8X8c*tF;m=hp)wOIF@ieR|!&)STt?<MnG`uVDa5W`z>xeWHA?bdlGR(!qAW799j5-TP5@B&xp#!1PO zJygOJ!WaMcBT^D>+C#p@2*@{rXQfN@W`_0 zr6)dK{r=+N%Rd5TY=sl{%3c>>uY9)kL(~SHJ3D#XxAl4i?yg;7t6cQzkp<`0sta=( zyZ9BCu~%_%S9eEfIB6cZS0A@9WwX5S+j6ssmrt`b7hk=7b%}DhT-q5+PIaLZySGgV zI5$!4MReVUtxCV1O!)6nY0*=2>ep|bmdfbG&71jVHE-Mec2*R%I`u!fYwkW-{B}QY|0Ip6KCiy^sr2tFyX)Pf9_XnU5@cs&J(*?s;z!QUcwBCE zJoV-_e0_gY;2Vm#uxQWW3d6*6NA{joSC7 z8i`Dt#}xR>$?VSV9pY7A4J>sh*Zv57afDgzxn07G70z}0xpEKgxqB<{1{Z_Chflp7 zyURO1Ri5z-n(*?x&?$vX{W^DNiwf`Gr+sdRggWT|uF%=W>G-1DLFU&&<^0(~YOR^d zcM6=}?X}I2W}2N>cRS|Ff!qlpNxSx)SQ%d)Z}aN>zQqn(p3SKZ|ES1aKSN+!{+t)8 zy_a7JYG$4e5!}VMckRAHjl=J!dQKERJ6GQ7knXVu=EB!F-#_|w_G3lGt=%cNjMn;m zvp+sB=UMqmtI38uvvs6Q#m$%v&Rkx>G2!T%^qK1~Zagce=E0m3tIr;)^>&)qld9C; z;&GS$ z=9#T`*T?=ibMV2Tpo8kkVw*dcoOu?No1nHg@u)*u`O)tU=f7TWCfy*4+dA>A-XT)Z$w0g$Ty4Q(6^3Rio=?5-;z8yDt-?iA; z8>_?a>fL{GTjlnaZB=hK0Wl3LB zN1~N+rf?gvm$&t^0E`XB#SH7>sB8Z{dN0gdha}; zV?Rn9`*U9}>(KCj;!*KD*S6K}2!Ckz|I2e{?Yt_p=f)}I9gS=qEMfKjcQ?%| z-5TQj>sIS0o|@0i3o>&~-4U{ld2K1(ZRsz!>K(@wk>`vbZ}A-6HGQ$HetyK&!v9zA zZGEC~?kl@i@z>32VrRazroC}#>r*qd3O!Qn?s3hhUz=b4d318GR-NzFn__AU)+Kk$ zQQCQK{nEslYTLHmdaIHxw>$5s)v_rLx{IP>baZ1mPKxLRd!Fpx92K2(V4usygIo1~ zuGH1M6(tyR_lo15ZE?#o4Xc|N+W)l~H9O@We|A#C%UUX=!`uBQ`>~I+*iHzVe9-K! zQ#3Z(Q0c>YuJ7XNA6CNU>uj&oxgGqN@=Ww@-PC{b_h!HR_ilIK>e?&MH~05N-Fau& zy;%H8^_f>}r>#O($#DdgvO4n%y=t1*Ev>@P=jiuB@Vwe^)~!E3Eto!a zUjMrC^{krAZ(BS*?Q~RbT=={oM4{PDd46JnCa+)mMk9`v=Mq1H0<$DDj~Gsxy-T^T zLw36D&6$ONdsdX4y}o)s-?r^ylM0@?2SgX?lsqo_-8Glp|IMdtvr@@kCH1Kb)33#L z$oR%ZU3|gOH*epBU8@C~LfI5G*Er`m9P{{0v7_B511#2Zw(Qd1w9a?izTAQnjefH(|2v)V=k(J@ zj$wA4ZuT?hfB%%P@o?V8_AmLo-IsU8$tWE4+GM{>{BoVQS?NAo2gw88+~vz&Un=~2 zsQm5wc}r!50;`^FGV*hCKYBdReEZ&HHyy6ti3>iwz1$Y?*KWtY&~58XH=UU^(d4_& z)Hq+UBEG9PB>j{3FwOq*WMeo7r%`zB{&tVP_kSOSr&k^K^KxWhf3WC+tizv-eO~i_ z2-UtgU9x!n;%IK$TCuac_C%-E=^5KkoVnd)`4r2dqP{tACQP>bJT=2?QoH^9YeoSt zBGY&hf2lvNR{E*s{ay9hr<7ldm}<4U>_i$PrgZh?~JEq%QX$Ye+rl2J2>IzndvTP^e2AJ^{Gh~`xq%RX6`r9k)I{!3=zj0Rr7H(d8!jhk3(XkIpuS!{NpYS!}t)Jb&yatby zsJQPMJucp_@^(sx&FN+>iP&k!>$%c@>eS~~&AWmpwmR#z#pSGd-@bT%-GMaG=}EG- z6XgGH%-b3qn&;y_cf!r^55GE!AIbPlIh8W?jLapK@bvG!Yqq6X-hc9Sb87kjP5R#t zKe@`kY^na_)!EkH3m&=Nh+Y?_Ji|JBvF*HPp@;QOWqX!)&EULuOHldw{ST{UWUdw2VB&=xjgu)%zw0S z{oEwqcc6Bn(9ENCht}yGd-JTOf6ngU$e4ylDL)qJM9fp2kX+K>6@R^nnIq-OCuWZ8 zl}bVno?YITeYfKc+rJLW+DBg*j3s8Ao+BWuwC#<+I^TfD2?sx3{-4xfAeFX+Z}Ecd z7B0cZM41$JFxc(D?d6;nx3kX9WN(;ozG6*j$Ld3`7T;c8@c*jlysEW} zUb-c7vnlTjKeOcdmyBr>=PvX%*~gjmdztdQM(0_=tNV}7*4`Hz^5A`A7Sk0`%}6%U zW#RwloUZRWV-PnnHhZVr)P!q&Ma`~Jhh+3-vqnbbJ^0xcA$7Va=Gab|Q+1(b@^|;u zrkKC4VrrkF{FU>amRRQY(vy-$eJp(zFPfMwnpO2=HrLvsla_`_2j;z5aQ^tVU{hX3 zUdFc#p%)LmvzM)XX0vqC!p|;$K0WQvWxnvwHt$tTjYr0^b5bYxSht&mHUDZTu?v1x zEZy8*DKF@d@mA7py7T*qAMBQTHx{2i(3*MZj$$+CePO;-$qStqYJx=#S{~L^*#9zN zI2Yz_=iKU5dSbCv-;#^Te@-l0WcBdhf#}E?&zK6A9DTz4>wUKHrwG%J_YRyaWn^Ep zLak``wM$1hPM#@<=kU~dQF!QmhOhUMv&yPPebWvad7qhHo>=CiRP>NPDCkW7p090@ z|4!{)75GWbT|Hy7tmI;=85ME@n_Qf97npfwoV~MaJIhzcSrYkg_+%{gt+JzcbbPqh zWO<<3F5!^R=hI^DOzTd6-s(|WB<7@d8Mn=rY~x$Sq;y->JUeCeM*ZaA87{GcCL#CbUcZxAP&nEBg?F6pzSiX*9ZM`s z@A~HQx^e%mY2{jbt1!N{m+dL*EklvcmmijWd!4a6T&ee}b^5szs!xJ;U)bs!y2-}7 zR_yitU(MIND>sVe9^SPg@-0KAb+PB%vaMHypS5vM+T*5qa;0zAfHW zc|F$ciL2scOS317f*am*UyqXR7I|Lvw8Mm><4F&zo57hR)8KNk^AGy-*W8F(xYHwJ zhsnE!73Ws$R}WI@e;>I(i%+w3F1K;LW^vOM!%Mqbd9?5O?!D`HpQqklVv_dP%RAyG z&Gmct`bYlv`0ux;dR*P=!?eY3jY>rN^p$)!nP%83F5dU#>jF>LS(Yh(>pG!oF`vUV@pUq^}aD;RlAKgy(dG$1;d_1JZh38HhX=RV%6CuCo;Omq1r z0TGwZ^i3RW-lr@!vx$j0cwYQ(UM;ozGE0J>n1%1oFIBZ!zu$6dMS904>rK%zkMhW` z-OPTdrNJe2(S>);{2Fr(lq_QB5IeYeYT|0%o>MA{jn}Mul)nC4HnmrXKXTFJ3=?Vh z0>?tO&(4QLyKN<_zU+}^aR1U@G521*q^v`wV%7bvzOhd@zZ%wGDSn@k_H$CtDVff9 z!b~)l@O)X_j<$>eUKU(j8 zsw$PcqPF6ZrlO_q{i7KNH|&0T>UY&ip=T1@Z%il7)?+!CBhJQuRVHwuQqs7-e?Uk30^S3`P=1sGwo-yY5d|+Pa>UVcCzIf-@RI178*9u)0S<2x2 zHrQyz!n)dX3@L2$H}^d8ar8*sxBhl^+f0pDc4Xe)d6c^p+Lb*K(5=F5>1} zlC-??;KZs!i7hc3?<{zEqBKHS`|Qpe^-eD|gkHK0Em$ znNHyF>% z{JDFfyZ7e)x3hMvd@eoFxB1DG9Z`E%9C_k%Ht|Wgg!HbnW(_wp4p02_>|IvnvB_&;<9z1F|9)01xnuZw|IRHM zEUL3&1)W36TegZV-ETB0%vv$(V z%`Z{!d}M+r+-j5P+u0h^W%*;m<;PF&S)I%+i3{U!zTdU5W76e=8vMW85=Hf#;_7(p z)l`ble7tI3a*J=0kz2y-cDcB#3z^l0zIeu(F5h}ES?+4bnhQIReOZ3VD#GSPj~v56 zlQo*b%ewyMibeJKPPtB+~CwuP>j=_utEI#=l=bYw1k>ppRY;)Z^p6x;W2JUzc*|F+(@+ zf{S5lepeQKGx7QC$7a}_YLReA!a(Zgg%E?5gN!nLn*uoZOo?&a`l9aK3dTHU?U2&w zc|T`eTEUlZC6FxfwlpW)PdDI*D~rfY&6S;c);2nQ`xdlx9DW|K#?SPVn%29I+8IvW zhN;&Usn%S$8=#mX9r`u8V_BcG#v7AEX;t01ADnLe*~a`j*vV`ACtYqPzS#$4Rx@db zxX*hx`;0tO@`Kb+dg?+no6+YRt@*vD8^oS4~UhX^Z}n zh*Y6t7fY^}Z>dlYoL$kzcOvW4+)NFfJGWlVSbF`L(ba;z%O|NGF`CygyH5LZh+h1x zeHY_qUQ?269Y+3(c@o+(W6usCqqvZ!;`E3d%$Ny=OnmgUbv7(P@Ta=yN^!M*l! zWyf)+;_GSlXa&uue-0?wPknx!G%<}h^y z{_o-!jq*P&v^7y`(f!2aZ)MwN36;E8uc_?+Rq@X~&QJT#e}2_T>4vwy#qYH@kCS75 zcv^T)`pU#Lo6f8?mR}}2-NE5v)@0pw9UaZO7KJ-ek2P}ntP(GpE!-h{WclG&cdeSt z3~eVmUU|+D%fMD}XoBLWqAnYiSzGn<+9%d290;DsckS{e!*HJ3EbFt=mu7Noe01w) zQQ02T;>F7jUdr0!(`c|h+3ZBR;@w#FU-xBn_m;ih8EPKzNKNXYZriC4-j?T+CVkG6 zo^mFD<-ld97w@iouZzFKAimyQzyEsyUwY9rFR#|Kp6B(ihp*~7?>je`IhSejTA}z7 zk9w|xpP%>{=FI86z2lIQ&XOx9Gq|mG0z@Q=%&Z=J-C4SY*;&n!P2QuX^)iOw8H zZPCYPXSCi6CRS5~z;B1Bl&4-D#d(ZF5UmCD%h2cqS_lfVhl>f>}G2Rl_ z5MQ2Bks@Em!Z7h%=PcR9@0z4^rn@;cEZzO_+oLxd&Q0Q3qAwXTBaSzvRzX@@JO1}i zKJM-BgE>;O5*Dp1vfUsM=Q{u69X82xD#c}mReK_rYzq&1v;3j!zwl_jMt%#wWS(c8 z^Huh4oLl(PST)mU^V;P-A1>%C-+P+#d1KSfiuhTQ4wIF(Y*+KUZuLTZQq~=1UXR(# zSJIW2`%eww<+SOXbHO-qo@IiCi=6=LyAMle|J>2Ov*o$hg#~_TOXWFVm!0Sfa8F%+ zMTU z?$7c2UpRltpY`*1xM$40$Th)$!9l=IQ)kbM2a~6lyBvFbVTs-bQ!az*Z8yq}aJp|v z*1Z}Wm};83r9S=mjZ+KR-S!=QC_VLRX_VN3*t;yDZK|zu|8i}AvhtgST)EO)HSf*s zsUMTS$F7R(FVb4z8lSU&i%`O<;*y2dJ~C71#qlpR`nV|Qp{}o;{VlmAw{%bL=(00) z_YK{)_=jO;TA;UEl<#I0JzZ(W8@*;6VkO7K)2|zF&0EJ4n|aVDd7rAOZsGKt>g~%{ zFxa0v6ngl;Rjzb@>)^P_VY%;f3FpW4`E8@0QNV6@B9E^5IWyFLpmwlFjpM zHks1@D&An)VK=_)NwN7$E_v-MJ{JJbCsoA`OklwX)xVZo$J_>FOo7- zEz8-us_7ytb=inzf|oYLd{hJ0b0i$=tyoITWHB zosC5p#2c+!m+Z*kN-jAq;X4%SavzFYJOguV)U1n*ViXKn);Qk^mJ|8uO2s* z7UOTPu4lJOUU~QIr>xSetH%y6;}n|ezU6t!(yzaoIgct`wb*|`rT6C{HC{E&r8gDj zGf&OkGHq_Mj<3YZ4I)=3*p*$nyxw?CP$QG_uJU=Z=T3HXyy{;Qe`G?-RIW2Z*P9p_ zROWX`{y)8hv*BTj&122ech}t3J(hCfit_2}o4!`v+B|Qva`?Or&-XrX)jug7DA2aT zN&Cni8NT%qFHM*4zM9)rvp%9TDD~9dcf70jtaMuHxvFM$)MUHtFVVRd8cv&ZOB>xZ zUnVilAZhK&Wi!_ujlOm>A-Q6WxiVAQEK$L=x0Dhmm(5mAUY)yb$DK0uk{^!CZ$7ig zSXWtgBX#@SXRkLMaJs+qx)Oi&k)wK@Oxn>5_I!2A=k;ryd6DmV>_KlvSbOT3>Zp3F z#Yf-Q?f-dKo+ryTZGVZH`J-6R6u|=4##7p^%}1xL3Y_lH#HrfccTZD&=H!=E<`oy5 z=N0U>zVlMAUtRm=NyAr+K}By%{XPl#)hTIun6&oPeVM#F^H0sWEoVYICk9VRa_nOM zX8C41*g{#l;0hg~bI%hQ2$%Htb%D3;Jc^aCTz@IL zaz%Q^+>4vmRR7&|&!c|L?)_U+cU^j7QpaeB&0H(J!}|DdGsRyTFCK1p zDae1GabH2)`CuWZhadwR8-ol3!vR(Xwkn1O-&HPGld6OB{BN#`2sz>WccF*KVd17( zVxq#TV)EC%1%w`G@XG$aA@_~r4uyL%{h#e?M7_g~Sk$Dv3EbfPsN?bR%s;!jz8-wo zn7qF^_%l{$KS$`6X*8*oA*y`4_EjOmx)S?BTTkc3YxHPte4&{zoP4yO~Q{BpDS6R z&Eb~HS8hMn{;Kc1TXUP&Uc)zT%Go>e-uJf1S*@DJ@{%$3wY@`&n_p)h_nrWS?!Ur& zRF``EU%}pR!|}qu$1e{TIK8;>r=_LH>ce+o5B<_pSI$k_+1q-8<;uddzgM-y=t`$f zoT6P(=^0nnuyKoTj>z0aUJnWs!>n76O|M$|+P0i`KJSZ%W-{N8?RKcjt0^y%S$K7GXu4g%+R51|9(vOcH68Q*b!Yd?7;pP3 Qr*(JcuXCRxUdF%x0IVJ$)&Kwi literal 0 HcmV?d00001 diff --git a/templates/404.html b/templates/404.html new file mode 100644 index 0000000..09faa85 --- /dev/null +++ b/templates/404.html @@ -0,0 +1,7 @@ +{% extends "base.html" %} + +{% block main %} +

404

+ +

The page you requested has not been found in this website.

+{% endblock %} diff --git a/templates/base.html b/templates/base.html new file mode 100644 index 0000000..8cbd2a4 --- /dev/null +++ b/templates/base.html @@ -0,0 +1,24 @@ +{% set root = get_section(path = "_index.md") %} + + + + + + + fmouhart.epheme.re + + + + {% block header %} + {% include "header.html" ignore missing %} + {% endblock %} + {% block nav %} + {% include "nav.html" ignore missing %} + {% endblock %} + {% block main %} + {% endblock %} + {% block footer %} + {% include "footer.html" ignore missing %} + {% endblock %} + + diff --git a/templates/footer.html b/templates/footer.html new file mode 100644 index 0000000..c362ca8 --- /dev/null +++ b/templates/footer.html @@ -0,0 +1,3 @@ +
+ fmouhart.epheme.re +
diff --git a/templates/header.html b/templates/header.html new file mode 100644 index 0000000..1886a15 --- /dev/null +++ b/templates/header.html @@ -0,0 +1,3 @@ +
+

Fabrice Mouhartem

+
diff --git a/templates/index.html b/templates/index.html new file mode 100644 index 0000000..055832f --- /dev/null +++ b/templates/index.html @@ -0,0 +1,5 @@ +{% extends "base.html" %} + +{% block main %} +{{ section.content | markdown(inline = true) | safe }} +{% endblock %} diff --git a/templates/nav.html b/templates/nav.html new file mode 100644 index 0000000..853cdca --- /dev/null +++ b/templates/nav.html @@ -0,0 +1,9 @@ + diff --git a/templates/page.html b/templates/page.html new file mode 100644 index 0000000..f65251a --- /dev/null +++ b/templates/page.html @@ -0,0 +1,14 @@ +{% extends "base.html" %} + +{% block header %} +
+

Fabrice Mouhartem's Webpage

+

{{ page.date }}

+
+{% endblock %} + +{% block main %} +

{{ section.extra.hero.title | markdown(inline = true) | safe }}

+

{{ section.extra.hero.description | markdown(inline = true) | safe }}

+

{{ section.extra.news.title | safe }}

+{% endblock %} diff --git a/templates/section.html b/templates/section.html new file mode 100644 index 0000000..055832f --- /dev/null +++ b/templates/section.html @@ -0,0 +1,5 @@ +{% extends "base.html" %} + +{% block main %} +{{ section.content | markdown(inline = true) | safe }} +{% endblock %}