From 049c1d72fd70604ea77f6fdb148daa3c6fcd94b6 Mon Sep 17 00:00:00 2001 From: Magnus Lie Hetland Date: Sat, 22 Jun 2019 21:40:29 +0200 Subject: [PATCH] Initial commit --- .gitignore | 3 + LICENSE | 21 + Makefile | 33 + README.md | 5 + VERSION | 1 + doc/fig/hilitefig.tex | 48 + doc/fig/pausefig.tex | 56 + doc/pseudo.bib | 35 + doc/pseudo.pdf | Bin 0 -> 512615 bytes doc/pseudo.tex | 3387 +++++++++++++++++++++++++++++++++++++++++ pseudo.sty | 503 ++++++ 11 files changed, 4092 insertions(+) create mode 100644 .gitignore create mode 100644 LICENSE create mode 100644 Makefile create mode 100644 README.md create mode 100644 VERSION create mode 100644 doc/fig/hilitefig.tex create mode 100644 doc/fig/pausefig.tex create mode 100644 doc/pseudo.bib create mode 100644 doc/pseudo.pdf create mode 100644 doc/pseudo.tex create mode 100644 pseudo.sty diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..98b26b5 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +build/ +dev/ +build/ diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..84cd608 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2019 Magnus Lie Hetland + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..9aeafae --- /dev/null +++ b/Makefile @@ -0,0 +1,33 @@ +LATEX=latexmk -norc -pdf -auxdir=build -outdir=build +FIGS=build/hilitefig.pdf build/pausefig.pdf + +doc/pseudo.pdf: build/pseudo.pdf + cp $< $@ + +build/pseudo.pdf: doc/pseudo.tex build/pseudo.bib $(FIGS) + $(LATEX) $< + +build/pseudo.bib: doc/pseudo.bib + cp $< $@ + +build/hilitefig.pdf: doc/fig/hilitefig.tex pseudo.sty + $(LATEX) $< + +build/pausefig.pdf: doc/fig/pausefig.tex pseudo.sty + $(LATEX) $< + +pseudo.sty: VERSION LICENSE doc/pseudo.tex + cat LICENSE | sed -e "s/^/% /" | sed -e "s/^% \$$/%/" > pseudo.sty + echo "%" >> pseudo.sty + cat doc/pseudo.tex | sed -n \ + -e "/\begin{source}/,/\end{source}/{" \ + -e "/\\begin{source}/b" \ + -e "/\\end{source}/b" \ + -e "s/_@@/__pseudo/g" \ + -e "s/@@/__pseudo/g" \ + -e "s/VERSION/$$(cat VERSION)/g" \ + -e "s/DATE/$$(date +"%Y-%m-%d")/g" \ + -e "s/[ ]*%.*\$$//" \ + -e "/^\$$/d" \ + -e "p" \ + -e "}" >> pseudo.sty diff --git a/README.md b/README.md new file mode 100644 index 0000000..244be76 --- /dev/null +++ b/README.md @@ -0,0 +1,5 @@ +The **pseudo** package permits writing pseudocode without much fuss and with +quite a bit of configurability. Its main environment combines aspects of +`enumeration`, `tabbing` and `tabular` for nonintrusive line numbering, +indentation and highlighting, and there is functionality for typesetting +common syntactic elements such as keywords, identifiers and comments. diff --git a/VERSION b/VERSION new file mode 100644 index 0000000..d3827e7 --- /dev/null +++ b/VERSION @@ -0,0 +1 @@ +1.0 diff --git a/doc/fig/hilitefig.tex b/doc/fig/hilitefig.tex new file mode 100644 index 0000000..7ea3be4 --- /dev/null +++ b/doc/fig/hilitefig.tex @@ -0,0 +1,48 @@ +\documentclass[beamer,preview,multi]{standalone} +% \documentclass{beamer} +% \usepackage{mlh} +\usepackage{pseudo} +% \pseudoset{kw, hpad, kwfont=\bfseries} +% \pseudoset{kw, hpad, kwfont=\bfseries} +\pseudoset{hpad} + +\standaloneenv{myenv} + +% XXX My \== gets ruined by the standalone preview option for some reason. + +\begin{document} + +% \begin{standaloneframe} +% \begin{myenv} +% \begin{pseudo}[hpad] <1-3> +% if $x < y$ \\+ <2> [bol=\onslide<2->] +% $\id{foo} = 2$ \\- [hl<3>, bol=\onslide<3->] +% howdy +% \end{pseudo} +% \end{myenv} +% \end{standaloneframe} + +% \begin{standaloneframe} +% \begin{myenv} +% \begin{pseudo} <1,4> +% while $a \neq b$ \\+ <2> +% if $a > b$ \\+ +% $a = a - b$ \\- <3> +% else $b = b - a$ \\- <5> +% return $a$ +% \end{pseudo} +% \end{myenv} +% \end{standaloneframe} + +\begin{standaloneframe} +\begin{myenv} +\begin{pseudo} + <1> Go to line 3 \\ + <3> Go to line 4 \\ + <2> Go to line 2 \\ + <4> Go to line 1 \\ +\end{pseudo} +\end{myenv} +\end{standaloneframe} + +\end{document} diff --git a/doc/fig/pausefig.tex b/doc/fig/pausefig.tex new file mode 100644 index 0000000..9cb10a4 --- /dev/null +++ b/doc/fig/pausefig.tex @@ -0,0 +1,56 @@ +\documentclass[beamer,preview,multi]{standalone} +% \documentclass{beamer} + +% \usepackage[notmath]{sansmathfonts} +% \usepackage{mlh} +\usepackage{pseudo} +% \pseudoset{kw, hpad, kwfont=\bfseries, prfont=\sffamily} + +% \usepackage{expl3,xparse} +% +% \makeatletter +% \ExplSyntaxOn +% +% \int_new:N \g_@@_row_num_int +% +% \cs_new:Nn \@@_onslide: { +% \int_gincr:N \g_@@_row_num_int +% \onslide<\g_@@_row_num_int-> +% } +% +% \NewDocumentCommand \pseudostartslide {} { +% \int_zero:N \g_@@_row_num_int +% } +% +% \cs_set_eq:NN \pseudoonslide \@@_onslide: +% % \cs_set_eq:NN \oldctrcmd \__pseudo_old_counter_cmds: +% +% \ExplSyntaxOff +% \makeatother + +\setbeamercovered{transparent} +\standaloneenv{myenv} + +\begin{document} + + +% \begin{frame} +\begin{standaloneframe} +\begin{myenv} +% XXX Begins on line 2, as it hasn't been incremented yet. And several +% solutions (like \onslide<+-> or \pause) just break down. +% XXX Working on an "uncover" option. Should probably have a similar thing +% that dims out the previous ones -- or maybe even a "dim" key... +% +% XXX Use the suffix package to get the starred versions +\begin{pseudo}[pause] + Eeny \\ + Meeny \\ + Miny \\ + Moe \\ +\end{pseudo} +\end{myenv} +\end{standaloneframe} +% \end{frame} + +\end{document} diff --git a/doc/pseudo.bib b/doc/pseudo.bib new file mode 100644 index 0000000..91e2024 --- /dev/null +++ b/doc/pseudo.bib @@ -0,0 +1,35 @@ +@book{Cormen:2009, + author={Thomas H. Cormen and Charles E. Leiserson and Ronald L. Rivest and + Clifford Stein}, + title={Introduction to Algorithms}, + year={2009}, + publisher={MIT Press}, + edition={third} +} + +@book{Graham:1994, + author={Ronald L. Graham and Donald E. Knuth and Oren Patashnik}, + title={Concrete Mathematics}, + subtitle={A Foundation for Computer Science}, + year={1994}, + publisher={Addison\kern.063em-\kern-.1emWesley Professional}, +} + +@book{Williamson:2011, + author={David P. Williamson and David B. Shmoys}, + title={The Design of Approximation Algorithms}, + year={2011}, + publisher={Cambridge University Press}, + url={http://www.designofapproxalgs.com} +} + +@article{Knuth:1975, + title={Random Matroids}, + author={Knuth, Donald E.}, + journal={Discrete Mathematics}, + volume={12}, + number={4}, + pages={341--358}, + year={1975}, + publisher={Elsevier} +} diff --git a/doc/pseudo.pdf b/doc/pseudo.pdf new file mode 100644 index 0000000000000000000000000000000000000000..9aab07ca0a30ca99b3ca1606c0eed9239056493e GIT binary patch literal 512615 zcma&NW2`XU+NHZ}+qP}nwr$(CZ5z+BZQHi_EF1mqlkarzWOq8dQgx>?|JTelt~rWS zK}3v}k&YFLbbfhc9g2~Gg@A#;-pC4yhX;yY#?;Q-#e#r|k(Ghq|GS{*#Vl=HOq~em z#cT{+OhrtM?M+Of`1qilU7Sn}ZJ|6iM>I6!x7!i@UhC$C15}BLwYo{Hf_0AtuAhkj zjZE}_yz!TJuI)ywDr=0*V+nqFRcS79HjeJ411=EjxZYL-(T?_Uh6k?D?~(WT_xe2E zrAh$hGxxPXU&{p|QbxF7lSCK|llFfwx}pElyS+|*&(*I^uSpH00E*eo)Uft6T_9Lg2K|zov>mVJ>`JSjlIflowpfJukd=o3^^(t{O&;WxdAg)WK zjT0ngWr`qo@!xFKPQdS+ov+039TFK+QXmByNoAoHQDsg|W&j<+ilEb&P8$`EnL?O_ z8I-|IOPG;$-w3a)mF^$)3AAFERFY`S19INd?~2^HLjiYP5v8=WG1*> zo+~NT8l56D$leZ0(tau`N~>LH)`upmtJ`2ZXt(b=vfEo>b5+`k7Y$r57%R{6)I+TND8c}V*9A~t z5oZz?hY+Qb#qq6sq?AKX`n3%-M!D$7Hsg-IRdB8nE-Ect-pfT$?(+o7F1saw#O^_S zqqXIVH{W79fL>b>uR>(QpO`K%j|Ps_Sc>aY{v1uF9Vh>aC-7YFh$aiy$!RAk;u3N7w|BMwxH<4%dn>c7T1jqY#7lIdtqp zHr_u^B#2jUJdla#ld9^%qfG*kY{FbUt!c<4za*-}n4!`vPle!G>M9|4l?+^5KD&v> z(kaInrUWx>fN;cK4qv8pMo_O`-!Q~!ALl1~f~~rf2yX?+nG{^Qqj^wVO0&SaST8JT zsi9ogi;DW8XdchvFjGCrmY^n6HRyj6W)ve&1r@FW0*r%rFBms&B zwm4C6B+cu*Fc^QfnY$=l!r_ro(NscnV057N2HzkU0TBU$<>+W4<~}62wA6w2JIn3( z@VkUY(X^=CUJiegxn=86%V5+2HypKQPl4+-ZrGg8C?jUXj7*yYiKR5hiJYo^e0h&P zPL@Le2H9hANV59i^x()KA|sL!96p!nVyKj&r|q#LiO6yLaD=U0%Z513n1e)H@Z`*I z-2fg^OrCt`htaj<;1pQWE3j;RJubxAIHv8enULC8C(4q1e}n8Rkxx4ab(nMAoKVBA zJ`|XmZ32q$kux9<%n#f{kq9@5s?ef|R}0nD!G0!rc;C85=(tsBTr?IGF>SW}8` z>n@si=$X!YHt(^9*BZ_I!fEbfLc_vljeRAICqV3?w4d?r$LlwUTmP(ImJzs?SY3S=%LBq8<7Xf2^0W7O)m1EvGDnI_P+b}5J#Y%N;df>$+`2yH z+06(ER;MU&W=nAXSM{eLNQ~s**V@M1GOK{dAp;xu1TG%bV1gN0M{>flpak$M6*=(l z4>JbslPD+BATO$;4B&BxD;R;0>hl2u9FZzoAdF{PE)o+2G zk4hYjIcO(SAtmDMzHUh8AT#|RfJ^DM7ac!vP>9aXOi~f1L{&@z!xOn0; z4d;@h=_DmI|5T2CwM4Ti&hoh0m?wzM=+;M~QQnuY%?yx3A_(PrG2`YKjz&#mDZfb3 z1&U*!4cb^5zXd~_vHzO4^B@<0UKG^z_CD9{I`XbggZIP*7H8V*;}An|lEB@?sHcxl z{os4P>Cr`w`|!$62WpyoElz0S=2atoWfI4}^Ah-<_x*O*E3?82_dJNpz^Q_B;pDvt z@)%vq>Am^`1#!{z@K61sw9E3vo}`k4-U)a#(8C>{5D@d9oi^MSyB>R&^v-7&(GiK; z>Rd%bUbI#om+qwbSR0iWy9dVwLo?B_g18&FYrAT#_S0U4bS2JP%3c}+bFb|NaTSFb zD0)g$4V_AdKiPK0E+-CBzM>aUStiBb_cs@xbKTRllbIANG>)O-r#SvF6?oCzL*NzO zd$zidAkyTybb42zd@z?&hJwDr0$Z?R3XYE#dAc?zI?!T$)4@Kjw#S-a9FTpeyggt5 zqXD+6TuUYuFvF?L3~rxnd+C0NJwpc2#lYrWfj?UE@iy!9o3Of~G3+sd8}RVhj1XIi zKAnVD7y*1zgM4XGsDx-^D5Yo%ajT0BGZpPG4*;p-|>ZCWiN8 zR^*H&V+{pQsQixf-6=VIPmPgE)^&APng-FV?nMLRJbx-I{ksV9>%sUYJ0+WCrEj`9 zUyrVqbL-x{enE_2jwgoE)qz5;X#pj5p4Ce zc|Jc(JEB~tcOzns~2+nF_w*9w^wB`!YN%W z@yE_iU56qq#He&A!!fbe?xi|@Kwi{5i|XoO&N>mKO!wF6@oddLS#@$zW4N7G$JS%e z^z{&iJ)~ST^*c=srpbb z$@=SZH7ooJ3t!7=cllV8s$qh9^CA6kyWR-R3X|Zd=%37GA5x8qkmMI79?+tZ>KT&- zSUN3Hnk2+o=lP;sf9A}5ncpK+Cj?Mi*_`9H;SF_^R=z$E(gQvNt$GoQc``gnne4e0 zM(*64hm@oN-(B3u35pyCOmUh-%AC-hlVwN3XbBA%pf1(^^u_M8;Bow$j(N?am>}YU zE;4Eh$<}5F?yZ$(pYUXHuHa7Ar@Pil>DFC~nxI#?n6ld#@i^Hkjp1ClqVUqhoC}i# z&+L{_tzekTsM-?)7p96B)(YPB7*;OOm!q_NEN5so?Hd{Ecq#BLXYu$PyR22jX)=`8 z_woekrFLGEp#lI6Ir@V@z{1q!fh|`c9afjwxSPy~Q)#t4sNj-jxZS>Mc!5z!hGcYH z*ctz1Ww|>v`HPz2=pDQteb;SiCMsxcjPN_R3lU1NYQYb>zR&dVzz|E$Kb0Q^8%UZDuoy1lO>Ui? zO>7f7^-;oQ#Jv18Pqu!D!W>~RFn%0C0dc^9A%bCPWOL-5r>fqQ*iS|}4Wv!2#*d`- zl!*JCiwY?dRo%3>vDyyw-1V8KJgVx^vwA?;X!EdX2!o=h5b?+_ut zd!|G-kl(K%BWnC43VA_EjUnrE+&2$EtUU|kE!t+QcbZ~fB2DYTYi7r9@x%mikMg*k zKuslFU&rBL7%8&?A?{co=FQ^_u1CyFw|CFE>bfH*- z(IV*B5EInLIhIPf3FcKJ<7(f@rm>?q9=5?tiql3$4YirpLJp z{9+Q@l#js~b9zq*96St=Tm~_1(MFkIbVrFgMQXB-cpOdp z(FH^3uJZiuAR-O7)DMQ0@paa5V-YfJAOL|z?lmpm1PaoF13!m|G0#LtORF*;NGyuB z8$L%l&soyoI}C_T5{|Zne8ADo8G|3bJsQa+46;z$TxQ`o@zCO@{QHU@itDVB7~_v7F*Uo37uT!5evO3^I~Jpw#Fn_r`-{AXDLw z-Q#m+$N;68Q#P06L2wQ^EX6c?M4s$T(i{jKslubVX+Fw~-xDi=XgxQBAQ1fCc)z-h zUN?`^&F9C_8ZPs)%@jW z6(}Dk&UC?yL6X%`x)hi-SK+gP0Cdc>;*L^DoUWzwVU)NbUTg*p-!ttZ0q7pX{RV6}e zd^1|Y?yI{)Q$JzefqgW2t&a6g>gZ>UMUH!m0~ZaY!2uYhN?DsJFYh-Un~I|8?!LG| zOKFN2$1Amr3V$@sRF1Xa?*N2~+MICIsuSd;USq0Aa&RV5K?#Qs*An#a1w(2TY4BK4 z>N`A|I|{veNGc3Ch|1)3s_c2|r5IU@3aZg?s8~sxJ!2ATHho|T;of-s+}tyul%85m zQ(+&rexNe$^W@P6}mMyX!j=TU}kGO#$U@9fbiVpMJEXxi}-%DMPzF=-mVd*h% ztQM6*EwLj5u1<8z2&Fv8ZYr_%fB4h*_ecYS~wfUy*QqRK7tLk!;T#`3La2NsQbv59F5{Q?Ey zq=nwvbM2;9zfbYSsIc*7&PbdI|5p7ngYzOIRw4iRhaag3{{d73Xdss)Qip6$>aW*C zN+0qSe0@`oncBJ8Qy(JaeM6HG)EahV@`g{bcZhhq@cL+VTirV9-zt1*e--T}@`j?gC^h;pTN0zKm&IOZktoli4EZNTPDVT3uJ+e}r9Y2azd9_=H?A+Xey~Vd+<-&@>zNykcc;AN@RCY0*;~VGTmcb(MXX5BZz`> z(pxPhAfO3pJ$#-LOUNALbUiF7A(4^vqCw^eh74LE0AwRZgTFx>Byq2Cq|)?+fy_SO zj)e_dLr?&Xs2a*~(5{tF3c`N(1WG_fKQrX&!UHg$IK*%Q%M@TdNIjI*YElcFsC8s4 zRZXFlr6w944Yc72c`l_|ADhheegEfx8^A;@tr-vU5CxioEmGOV~3AwDwuX z=)fUVPEB|yDTbDYDi~SV4(lhL_O8?@@k9qmnB2gz4ZcUPbbY0f|Gq92_=#nPUIzqx z0+aGJV%mE@J&(yg;O&0Q74BNs?(Q+K@tDwGO^)tS@Dclc!@%d81D+nH0$zOE$+&n* z{?f1TQ(fWr*C!iIxvr|pP_82TzL~t-W!HmHUU{_WVVbw`7`~-3WF0XMtXXw z>)*iP#?&je-N$W3HBpcTbCZUY*OI!NW@3TE$HP8)x;-o)~CKGgYB zo2ooEbe1xQq0iMoAXV(hWk?(Ol@y z0ndK29jwbaU=aR>iV6mOQIRaRuPBA|XEH;U^o<3I_;L_nWkvWN0HRA*Fa)8)b>N`} zK(Ot=A7A}pGUzzr?fbpj)9H$!=xAjjA`D%te*gLs)aoiz)stA(>6$OfL454MZxnrS<0C_Vc*IW;pzTY)}3F3d}$i5ljQ{+Yrn+Cs$t0iQS&3&GD~M`4MZ-uT5@WauxX=j=%}guva=nVv0B)p02|6e6uk%8ooW zGio-No4zXp)P_G4q7BN;Q!J%cp%Wf?ncea%a&JPc%yjcp5$5*jm%av52pKsNrBA+)g=}f$7G42W|#O*O!0PB*3fgPaw_^QhXB;io zu?vl@RZEkHpF_a?88c?@D!1Ud>rjTM0*=_OLaHO@pfr6i!|re9m9BJc3KV-SJI5m! zh>0~!?<2Drrz3XD+I%?pZ)~cF_RuwT{eytJk6x9(hMqS;``GEQBE-oNba+@stUJQ7 zVwfm+meC8Mg@Xet?c2bFR_@2iv_dITd|#wz=D&BtiTtBCgpI33VlUuIe+7q-seH~7 zaazPyqG$q0EKNU-Am|PLu80&^&rO-?swMQPT|K&L_vQ<=yadsw*zY?n1$z9Nw1dl* zZb~;(I7Y+uX2oy=bSmoWHqVG^>)aevDM6|o1MF~+HY@r=J^{al3L?iDEkC4&pZL#W zAR>&~%ny=1n-}G)Pt{h@zeGBmFTQ1&0PjkXo49}j%<=iE7ItLf;$F**6;-RkAc4c5 z^hP2bU}lM%<2;R@B*lYwFF{Iy7*A*b2*Q^Td+8oS&Kk&FCTiEx-#WkbiMZ40y%`-B zLg&^+d}8Cyu=;xBWc08U7CzyrQh%I?N7jsq698T&a$gxoy%?4HXHa@d;fx$vCU`yCvh-xGW;8J{Lh&x zGXn?Hf6EjzT37blqlmw^eL;X)DM7y0x539uk%442M`SnQ7>M&gZhQ*IySRjSo@AbB zsssPXNw>5*?n_io3joROv+L{Y>FX~uR1a+WyImgW?ew9&{v$l}s0#rPL!<@?3HmMG z&;5Z4_B`AV8Uv<HHPzOEi&0C%JV!ekv%|`&!;-9j~+gbETc# zogJHKrSD&d*K3dYdOrX*u}w&@W8guh2mXB8p+rwtVZ9vQds)JI`g*xFAn-u`Ek(7` z&c3Sbp3)@dF@JDoP~kO@$cTwGU7O^lUL<2oRuG9bbz5|`T;mT*#_hA3JAI&tMg4{) z60@tQS3@oFMx?fOzJ^jvzgLtqEW3!!Hft%XW{NR3*xBpgH8qd(_rMJkdI^Nk6%OS0 zZT4^+TkS8WkHbfKqB>k%m9wmtY-yeMcoQq18<1+?Raa39Bwrs`8mj+vy*swmVK4XA z@$n0mb|I(k-oz}Oi_Rh7=qlCCiT5pe2QH{iZ?krkuI#6S+3VuIySneykfG;2b8bo- z1QRvVmG_|xoQT{u&$gY~kcQq(b#7*WO>NgL;^ws3jy@7=hWZFeQI~lvPg$LMT<>2r zLbb<(cl2r$pf!?c5`fJf=^6ExJjkXqE;AZ&+QQfp)7H(3T$h^*eXiA552eMM8y=U7 zX6mJ!V%x-j*39`haIE2EYPc@-cM!1nC~xfwFP zthqK>S9(N)cmjk6q^~VM=HI4=JE(lo9gM_8dq|l{+Kic~NnJ*+CwNn{nPABDI*rtp z(Nlq>Hg?iPquI_O0bZzaK9>Y<@5gXh-Kf~Ps_F#?ls-8>^6ghKajK>2|EbLUCjj?6 z2;%3Gw65TyE;ce+-cq2V!g4p;t*@-M_k<6aJPM7%bbjt6JLOJF0Cg3|M6J>`ZUy&P zJAmX)VBRQ%L`~>17A+*8$#Diw>B6#5ce|(^W65Ji5TZqafnD-;awIfHIGT%wQMH9y zVFbf)FI`7LfszWz4h{to+k&rHTQOg_RGkb^*+xC>B!Utm6J_FSZe{Y~IT1)=a0O0? zs+W}VO4azLaEsrJO^y+j3c4gISiovX=drCx2L;Z6)gS6G<-RZHPLc*`u+D$aOIv%b znQMK-b+z82%i+=kLs#xp8M9a4NS?~cgW_;l-1#hBV3Bn7*CEiPOl)h}!-$DP^HBlb zU@X(pM$3ktk%aoIt`7ww`E=M}I@hz4mWqP6bn-Km6(1Lk687=S|=W}iD; z5jiif%Jyh80j&or1*gwUmf;=~&J2=)=tu-J6=lD9xea(4;O<8gt7K(ZGSG7;bWwBW z>~PD(qElmZ;|`wfCd8UOK)ULE?k%2uq_m-4lS&MFqO8J(Li}S5UPXQfrsLo6BeOY2GNDw&(BqDV_%-1gd!490 z)N6m?+{5ARNOm6M0s-QmPd{@UpnLtzd+y2fR{WhU3m>t8i-72T-KRiz-MjLcq#;0%s1q=w~!3BfO z3dV=g(fLCoii0ceX9fU*&PLF7gP>%59H@&nXcAuQ3IelLj~;!XFz&)LWYeK}bhek# z)tO1!h$ch=7eEs61hW=^(;rSEg-ZwyP)Zd=I7wdxiwfDtD(Y)dNyx65$%Zn&2{wEj zAme~-*#G@9AKt&7*&59aM4RN*S=^^xb!uKs`C9_Bxu^yJ4WDS(gTg~31vteKlteE5 zHFGk0i;5oX3t;x$Q3y~gKi>~Y7BW`PKqhI!IyBF;BfPwUi=YOH`{u2Y1vFP<8U2gJ z&TQ-D?KU+VFne0>oSe{@WG70|3E@>J^(uMk-0&jF%3}1L=B0dk3n)Y; zBO;svW}ykdcPq15ivaqdDeK^uvD96PGX~IK<`K`sZzsat{A+L>)a{dpaJJcV5VWK; zb6*(8PdB4c9#ee42e2~Cunh{B2&9q>f=DB3ejqjkSOv&*pP)V(6gojcrp#g3&=FE2 zAi9_VyWhha(UHRg=ubxs5Son`;3s^Is<%aB7AP&8%oZ5*WEK^z_9d}Q%_!sN^5tIX zvjn#BftP@ncuB40Hl3>g3N^agYq-lq<(xMAs73-VbsytW3}nV67BA7uF=(^&(iX!r zkx&dGp&Isd9H10lF207 ztZX`he%K6rXI1B}CNiv`afXo)QjKcC_G+Te#mm#hEM^W!hF4qPbsJsZZA>^h?JWP5 zlFyzV>UuHqP-u>Gn|N$)2z}v74K^Z&jr-{s2QgLlu4bKjd5XAKLv`*Gkv{(zz@>rm z4Ry$fl5g4;&9Vl$cWBl_-)zL-xM(CJbRKmB?ipux!8d$3*R}W#(gO;h2(8gCG+wjq zbV?V^mEEZ$C2fk-p}||I$T8}WIIJK7*usVDQ;F=29l{~)rKv&#LzX!Rc6dWn`caY3 zvkaWU5{2<^BzjUBmPOsIWI+S)u5cf67#-W*YT~O&reyi94BT zK*)dAzv55>wnG_Jd?>zmW$7v`cVl;;T%AC=UIi_Uw2A8!*n}Gz5PxGU` z4@m^VJ`gV1RtHX%B~^$rEx?>_EjR8UYD zFkvML(*V31kP)LBO_g-;>7KWv2RR=A;mk7|)Qwv&I|M$#p6B}vNsh_#Kstef;5uAt zLmOL7R0ej)iIB9gUMm;*ThHYw{B(;&;-4byHlcMk_Q+Sm{|cP(Pk^u1o-KOJxYyXu z?pLRQ8x_IgT}F}BeUA3M0YZShOc_SFUcxhuNF%w!gUh7n3=SQe5clZ_><7!iflkc> z6ZE(IG>?+q>4&`D#s>tINCY(L;Sq+9(Lx)UIsk`fQW zr4k%W_g-?^RedyGSOMGV2b9@QfTQ4by8L8Ij4OWT?OP9rhvKLl;2GEq_A_ShpG_FE z?}E$N&c1UKpZ{nqb+Be9_x=b`$gy|-*X{*YkFstwz&#Iur@>`fSe9nzM?KOyFN0HU zV!FX(X8UIiAnX0D4z%r;9o$?l1{SQfxLv6`y2dJ$E1rxAtt)#ZOox{0DOu&*~uO^3kJ%vgW5LW zK6Xth_yM9u2H3t|C*^k&Oa)_F6bnqLez|WuL%@2~*n=&O%WW!PJw}YVV9NH27uUU8 zS*%~-t8DqtW-D7YsA>cV0|$VG-eK!zI~yJ%9GPK6&3wuL19Ouw=lP@iXT*jp$}t4k zDaP0RG@>dt#^6v{P5t&W?TU>vC+#BfTM+yXMgT&%;}~F&h-mq9X0m;V6O3})%G(Fm zs2@hjJ1$uOrt=Bz4V8vp@YBZg+5e0dOw9kTGyng(CKJnlU)R*MwLfY{{K?ZV1cu6q z5rfeeiL^=-R@}F%`&KY;6bv+S4^+0iff;xcL(&Ta}R#1NKcxD!eej#`7f8heUOOy;GX;X>>`VxFvmoS5|B`T zWRzxEP%f*JkK!i!8}%4q?WZ(D$oYh)h>YYU^15kLrU;G1WXbX4`{V`fIwb@<^uauyFAnn{5+I*ijzB7aYgy8;Wq|=VdBeu6 z97P}qqRNKucVeW+-sMo0o$G6WH@86)#XRD`%Unq{hb?-l*N*NlR0ny-u%EI`>(2A* zP_(PA>sm$al73fF7fa{4&dg%v#YpGv0o2x>uJ6!TsdDRe3%qafwndEDX@{!Mqih(K z{c~9b-ZcSoM7Oy}LV=0*ah7$Ap&wE1M=x(F;dG%0n^0^gj%MiA_ zmlKvubu{!Y#=d6UMh^;XwxvYFB?+c(VicL`Wc+#e^M+wuq!Z|h=Vsi1f=$hSQ&kGGfm=GHd1FOcU zDcC4WS2r_x$VEJu!5l_GHy8ulf->{k1`1ccCJBjQ@RfnHlZJL%4SaS@?kLWa86Sfv z_te8^&-S?#yQk*vmdqhbXz2L+>^QtB%8S{3&e#$jl#SevdgO_yF(^?l`_&j#+pVlOizXg7eLal4Qp;W>D@t+`D* zzLSlSyCUt>kko5L*>JrEjmeOMW#6A0Z^X;Gce{9N22y%5Oo6b>K|qrcmR162Y&4S* z1C(Xy&&f9&?4FC4u1w399m79G3u;D@Q}RQpS81Z93)2~ock`RE*J1hgSb0zYnLuPw5>+45lK9n%@%PBY4 z+5>5?hZkc%{}$eCZxM3Z?gc4gY?RmC_?9H0i6FzIIB}0hoY6VUz#r~I`t91lIYVr% zz`bX|Hnnvj2!S=#_if6Hs=9%Fwkc1S9TsyovYNgouF=+ZuM4$^>Ka(TMlb{gT6GoJtO&9sJU&DKL=#*r; z?%jG^K+MAxni(4AokEO>!RXTPKAnU>K5`7CEFQ$a9%5${XoQh(zZf1YM%$-Qornxy zHiq-sh2+B*_Qkar6_=`Xcb)f|OoW1aei}}^caB>&z1l*hAwHa_AJA#=aNRezmXpZo zF`IdJ4w1TxDPi#y7DAP#c)j*FXDQBGQ>x;h3_?$=f&l{#LE|mQ`mmR&EPISuw&dEv z7p+KQ|EH~*3n-d0zIb%^iSZHzzN_CJ2PqifFa%k^`X4x&sDFXLEciGGp^*bDHZ4 z8Z8n5a}lM0rQ+_EU2Isb?bhMpXR+Y<%p@$scy6|~4g=DUh+b#2O=7R3l_7tlu)x^& z_bDWT9Ky~6<{AUB!O=qqA7qR&2j&|JI<}A&mYaH4-cf4fS?bGkO{td|n0UBX*wxW| z5Q$4ask```Z7qOJ^7KZ6YUDI9$K>j)>Pj4LIi(>>o^uK1f<>Y<0r;Fp#Y9*J8TO4D z4UJox=W=Wpy27%e%Uk;#EO$F|jMtGK7B`PeywK%1B{F9-7RvTOKfL>x{1OkpERDpI zjX)vUx#e4Y%TXYZ-0&NSZd{5y)7V9W>7u{`v((A)-AA!Y(nqzowG%>~oT;(5_cSyb z9>LCRG9c(fOGkHq8EnrOaTGEp|B!znffHK?9pe7w#${TZyjTzv5;=LBK=^9c8q&Je z;Zx^m&F^#=$Tt4eglVEUA@CCmbgk;CJ_-Ug=L6EVOBFo>r8v$3M|p1eY~A^~gpw{L zS9xO$1Z&B)l(FESyWbcEUp+KWXk7W&00)zaY3fvSb}FR!-XWzE$8e$x3HTW9RXo`w zk`06{Wwuz3#ohCLRI?W)ww~J~XD(!1B#E;j-LT60Z`4`NsmMe~*s4B{3qv+L!&_1* zM%?k`KHg)5ewR_XTStyn#?;JZrZ$9UId|=J(ekqZ5AXc*mC-9W$P*Whn3txLh7kU% zIDB6n%uT60r<1X5!x~(JEl8vw9`M$j0ye0wG}+2m6uNJ)h>GvY{|gYYGySJ)Wn$#y z_-|e7iRP6(PTRj+s}VoS0Od2&)EXZYh6Qv9*au+%VxfQm`M_mbxwbX_+7|CrSm7@( zGtO-Spq(I)%f@6i7W0~phY|N*1<8a)nmAR54oI*n4oSf)mUfz;wrY2sDr#q4wtV+o zPL!LSt?aFQdcWQ;atAoiVWwQfgR&j{5G@PtB744UpPtgNGTLcexPdn^a_J|hyH&T} z30GM!;5PX2Qk#f@J~VK8I2g|O9Jsg7rj?X(n6h#8HA~HAk|JyCCHtw3^h9Y5uIYNzsijZquzY zPkZ@O(HctK|0WsoEXGh@XqTaJkRmECU_|y5M;O30f}CQTqYwf!7*RRA#C6z{UDd%R3x-wm0{!Rrk$QO=5 zb_EhBN*AUGRor(7bge8FmZ1)3zO+$&@8dPIe;e-6yhD^&99;BxoOd`&404tL#PI0? z0a(jN)`9O6XFDSYoF)ENfB*={a_wuInOuC0Z6=Cd{p1i{?1+d{_>mty&orjL>GPO z^P}6_^E8{yPH<->i*gt=I-BWcwvTdLpZV-MNbo8_4H8dAG{m5j-Ey(XJ(&DikP?|o z!*AhpK~5!38I-PQwyz5!}ZN}(?3&vjpJdzvv9 zX?v@KU9)wqz>S-C#vvq#M7;+gd8ign{VQJ>+bCfOw{6#EdzP|&BWsu3Q#~obMZw%K zh|$z9UIDUbi+}&3JxLyzLY=O&=+Ow#qye{a9R?xs4#)Wz!egYJ?T)Cv1}@|HNS!?( z^cc=mzQATaoaV+}5;fK;9Wb^5@$(0D{A}3+09tA`=1eZVT3DVbhhe(AW7EB-iT8vi zEz`a`8|s`y`>qSrUA3%WGPMh!-{}_OQFw1P;h`3Nx_+K1GrNJ3KM#u#71=81yzyeX zH(x}nZ^+KNV&K?%*+{yj%Em!Y6s>s8HYhJ0HUwK=7v7zXG9Y0&ye*|gx}#ATPC(Zf zFm&S+rgyNi_zI}fW?bW8L0BPgCyrnyh4GCpf;75mq1|4tW-TLYnk+##B1rgH}Vv`n27%md<5aK|d_XBYdL=4`UCUBt8 zxi~InF(GR>dC_j{`(>F;#BK%7i#SQjwQJkHID2%g={ zK=e$1)+zWD>XP^b%!$OuIp@=n%w9Bp`q09SgqjRK+8*PvycW>Qa8ro5C zlpT(UE`myH36`FgmrtK$fiXtkz(T!w?w``vZutcAVAn>@Hu&Ep@qw<5Stt7Lqev5} z2f)3;1uEt0T5umw(sj-1+EO+l%TH|aBzvzWeXi4x0G!OZ_>g1|&d%)=83qt_7PYTTY32FC|A+{XKldcyx>lbM|M9L*8 z{t7MuY1T5ldY>#HM8Omp_MgqAe`@M6@wg25SP#L2G;i7_G9q4Z(2?}Rvi1)_RBfL= zXU8W`8-Ryf$_{n1jsnv$GaSN0Z-IUjLvI$0P&N0yHhH<81+0czRbw6)>`22Brt%1u zyanuSZWT`FFrmpq4HA}or_XVVY#`ovZ@@O2G=GGru@Wq-|7g=1nkII00_F3}8f1rj z>sWzp9bB(^_e%eQZM>Z`{3qrxvj6-4F8{9@8wdOUuCe_?LCpUx2K8vl#$%5m_B^UT zEzA~{cU65*YhWbYjI$*GgsFig(YUPt!4Rz%fYO0d`0?GvhPx=0@#1>u58wI8$jVw% zT~V#eW@Ja#p&8H=Le@Q!&{2Uw{-GLe;e^hhUMWpmVEczu%v4j-*JqSwk6m%PEmPT(uwsvzDxev2$93#1on%YN%#O?iJn2 zQsbk7A@5CV&Qlr(5BKQ~4$s-Gz{sXV%sqI?XDgb7r2FyJV5&pHYglFloK^pMYH|Wk z$vjEHW?&5kKqy7VOCsb>W7<(HY2Ro@hB1Z1^8^b>gc4E~Dsw35DA)23n6(NxS<_|C zF}v+Bncie3F{Nkcl|jR%BLT^tf~NxGMm8HM@Kw_dxm~iRA{h*>a%9z&U~segNYXJg zlu`3{!#8anz8R`EsTLUtWw-*nyFzI=ZVZC)JY;{Sd9 ze6~9}X84*K`*v^p{QTY=aWrD(*|U4OJspLe%QQ0L80W2%K~=`@;=n&c^gztMWauA_ zZotdmM@>Bnkbh8w(IjiN1b}xU#s$l~xMt`_3d48b3g3F(-2r@Uo7=f_`gZ&)SLX4) z_i9adKI0V{YWH$A^Mm+qD$mQCBD8=IMukTE&V7FHR%T&+y4e6@^C);4dGsWtzP!Pl%+`}bYl zH^!PU*}vllxNY+cyjaQra)+e421O*{jXV?6uq4ozNVprinCj&_y$`ho;+ zHm-+N*gac)J6xl)Xz}iMx32eO`3vbR4@`m!g9+pWqF%?L-xm#G5HA4;}h5qh9b7gOs@ba}lt4IdK7!^g0h zbB!KmN<<4(b#l>|YfL;{9hiL#JlOnv+i?6nZ-M^$U*>)Ozi(%T9_xGdUv95v9>0&- z2M0U1_lBQdHCOcMOsQF(NeHq4P-zAbWN2nHVIgeDJVnr8@%`q3Bm`c9UP3KlCl3%b z$4tN^G~gn%-Vaa+FHqkqoBQ4;lxKPBRzgZ;m8WZ&3VU4cw7c-Q%xW`=NJq9?RafkdEO+KMd z?(f~S(+Ava#y?}uqyY!@&c<6sc9y^LN2Y2zc#~X3Gj99UxspkKA!Jy1t*}PfJ75y| zsW4WVT3X2{n&}iUheMNU%obT9Ou+8}=BAM}lHyGtQ@)686^di|?A{`iw`v0)Tm%Gc zyl)>sc#iY=K*DqYNe_BFB{v{p2`BD=SHOmoAZ%RW2o`h_`mbHqnQnNBMAp|B=O|Gd z5{wZ6^BqJWi4*N|Hk!GG{S-71AwbTGynxdSDC-|+iJug`d#)SE9ww7ZuT;HUX!#Y+ zwafp--CMvm)^FLKVPd<(y@zao*OJtFM zs&3I>^~F80r4;QlI$W>Ek9Xf|`DG0?_Nfi7a`Y#bI&@Ex(cyrV)D7b0VC(HaZcaLh zTGSb!k2(EG$XCsZyndBRWQ*~~Iy0K! zx)nSrOh+A1nBu@pMU6Jj?%uFCU<)+2m^^6ty#@^+)50 z=#WbccoZ^Qz)>1@?to5zXJariq8#YuFVJAEs=?3m0_WX~^MZ+fjhZM1Sc5i(b~^9F z_LKUX!#_Lg|6?Z)CjS-?c{VZwas=ycdHs#qrp=!VcuI)?dslf@6(=CLdW4uC=~9)_ zXAPlh-a`KlaV%@OTWILvPJ>G*L>z1zCb-{a_>X*}Kp?p}>gYQcO9i)`FQ9qDa{a&8 z3#=^Mf0spAnVA3OvGyr#+qjKpO~|m3^gPSXcMT&rc%Q!#D!6|_Y|MIt(Iq(XO}|)-99Pb`jzWtX=VXMzA`StEZH5x zbTjv4Dxa=RN0t}{TWZ7PY_Jm85*ZfN-1Axl)!gPGOZTbs4#j*E8FNlJ1_t1=)L3Z^ z!OXj>h?p~6_hiU%t*NrdmdO~Irj`V@k270*GMbr(YtlPkv)|w~6-bw+ks6A(+NT#X z#|-$5ZmNdh|=t%Oz=x&R7qX@W_GMO`e$R*F#(EyK})*Cz3Tsx(q~X+=<^DJ4KA!!?8k^S2G_idYbioQnzB_tldrkFZ8VSlE1sH&F3vf ziVwO>jtCYl>cH+TfaHlZ)a=E(X-Rk_je>*-MywoY`Ev96COFDc#w?H6w0fx_cr zJr`=^5&oIiOX8Z8qL{;T=CN4fB*w>3`k*sJ>FIhCS@le9^*f$O9twSEm57%JHJW+D z(j=|G{Z)y)JU6GX zlWzi&L!st}sAmhE{Fo|i>T1RFCXkkH@$V9wx&SEXhVNosB5F+w6_@9Z8tcf5*N308 zsx#Cb)>lF_@ZsiCHwSj^=Tg(Hw~;E#VU3m)tu85Q*P$J2V0h6x`bxwTkoBEKBh9!I zbysWkb+FfKDWiK&w7RZ38kfU0J~|(%4vXsRr|+;Ot&g-X`48SkWq zP6+8%C?EpK<&hI5)<5&h8=jj9+*igOpNtCX&bEKDwOWZ>w`_6+Kf+QPjy>toN^q1ktT1J=; zI|qK@bov(qCGy^Iyj7xEdN1Oy({r%y*RCwabX1hqh_ngWa?<`7K6GWz^Q~2;M()u* zq`9ivxLCbOHc4cUls}=^OdzmRQj#ha4jPW-kBfJk)lQ({(v8iK)w1^#V#HD~gqQ!4 z!SMutW6MxP5b@c(qRrfG)ANG?f{V{=`9zh*YA7n85?`^X=K3ZBAFJeH)OOmtS>b+t zMNlSg!Cu&3*}V?Ap$p`xd2`*3=WfDDxTm)eb~;jMyM+3x=ZQ7yuz%-HA2ub+OKDSq zEKpPF_fSfR-Be@pbq+VUPQSU%G6Zogv$nk?QlK+l!L^cg!`IoDAL0AX zf&*Q%rJ?hEb-~v3vXgf$Aj*FCmM1!ml*^K}ShS3km)6^lE(`cLO_L?Gg0Q@c8-dg# z-ZCglm2arK(GjK#sbrzIY8`RDwTAmj2TqxOA2v(M0W0%cyzJ_F!rfVks<8&-Pn&`q z^Gu*1lV=F0u&Me0k$}k5h)IPL3lSm*u%xIo0m_yVJ|(+G>Fl~y?EqTT7ouGbq?6#Jqr=q6DVHF!*w1M!S>2;|c)OuW{pxqGLzLlqG;GUf35W^S7^3 z01IvJ)SQAd3pv+3OHWwxOYmd@&hVLk1W@440LlU3??v}1qvJHI2Sx6dA0 zaSJQY)P5(A>3rMvS%tg6jB^xVnQO&YqfBvVCPhhgCA%q2loXCh*@U!M@825A_;_*)twoCFDP7W1TBv9 z8yp&8F+bS(^83BN>do`ECdCv(LD8z11ssHWKxckGMmlZ>ua$=h)L}#!oSM5K54uu3 zzAG+}k+y3`_4e{QsmIC~r5|=5=ko;usy%zx$AhCb`YA`Nf;oniP~r8>Wwoi^{8>)e zMw1yjEVJisoj-L`SN@&WpGBGe=ka)mAT=uN$2R!;M2FK>o|o$zU-mfCY>Dy{OFlvX z>r-V;3$P@_QLDZR(l6n=i3EOI0{^9&ZjNZ=bvdyo5cngo{5^wRMWoujj#_~`I0vm7 z0^?8XF=F^g)(hE@m+q@?VXu7vr)k5)D^@fjLy)x+F-DH`XdbYWWc5iBBn%NGJCPC$ z@S?}DIiM~oLvq&Bz+jF!7XVPvG>-q-7;8Q;Si2DA(3PAC7a~WHsyTgPwrS+s`VCRL z8={IZ$1sj0G?AmTL85jEc-MgD;~>ON074TXQ8q*(YXu1d^mr!_|3exmi^bld0mz>M-gcFu|)b&1- zmj8e(&i0f@ujrJAov-)Jku8dCKIF9yk(|Ft!6g44i^(|99mVU=8~DIraJGwyysjCL zYP9n=-Ei7I)x;bF>2a`)pQ9+T_1wW`2u;a{8=nqG1^k`<^;wv|6*O0X1hdsWfIW-C zbi8}l&-)D}1~J3&RgBKbU6SuNR5kW-Xw1XvTNWe?F-(tStQ5_O{3IY(FYHwKPp z4mH;ql7W+yAmHcMR)P8Sl0||rs?7Dp1sdb0uQCm?>EJ4@o6k|y@#XeOvrof7dJ5YeRxPL{t z(G2z{jACIQG4iRM@X5rg*_B$}Vyve<~I zZ0}rY+_M>xUGEq&swIRGC-(SYS#1m@=gkpa{k$wm3n)wkifh1*AnC>fZ8w^UGEQw5 z5@1S$pj7r|Z@Xd=(ac;Y`0&QGOWn{mUJ*#AnSK&!}kiExClH#fi}LqS0_lqhQf zD1AqW`~(&G5;XrOJpm`z-+KZUPA2YuRU;hI(urFiM*m~=XP7g|UiBN!+{4-^4}O-5 zArQn46DpDoQ8ywHOQmQsYFTIGtLu0;ifnv~2m!{Uy3O%uvTf>V%EJEG@_G@KzGr)j z-}ATLUNKEf;AqF@cM1oZUjdlsk{Lt~cAQ%Zp8{tLJz84UA9lH}nohoThpEf&^9Spl zyE!!k!{ZXBZte{*C<2UkF^yK4tt&-XG0O-(x#&rO8g>-eu0`R|LDew=vIg<5LH3)dPOfxJ>I{ z7tS#qghXO+7JZngY@50tf-YZ4aSIs>2F9@M%4&stxo;?|@`9zZv&8*g*2=2PN`W>0 zdPp7N+u?Ne&0Ff&za1t%oX~>I9iyxz|#g;9V!m-PAKreOckfdo4OkIIW>ExS*50OS}y5onq z0o0LY(?%p8Up6Q@puH30*|sCKbA6KmCv4IhAI+=*?->k^fA))%e4fp(DHYL5RVHWCXf!cdy@aXwbdrsl;_RRch4rC_+}UQwJC!W=v- zcAD1Ra~{Wrf2G7@DnWumzS7H3)WVb;JX4%-x{IiiHs+jE(PcPDj+G$o#e-NdAwB<6 zRDmep_8s5|S3B!h`9;{Y*PqCI&~{=Yg+Kfm#~E>VR~qA?w~etF`*D%`U=)tPVjP#s z?3k*?Z9LTKca=bGkfHo{PMFIFm*bSysJ zwu_h}n~#j=aO_Ri3hcPlxY!O1KSbk{s|2ypXE{Kq6kc7$Ge*BxBH<~XgB_Dr?He-! z3&i4e@WjC+fgw}@`f)}$t~uH9dYBhxd z0}mFak4Urx<_Of&k@^ttCm5twSS>X1&E+(}U4Z8KtnpR8sO!K+efSa!Z|f z$LT|8#if86(PsFafC!!$d;^v*VpGv#Zh{p!!jG>?-co&DFQ6LEN5aK+Le{6w zvzAAc?qf+A-{=w_t<$z4SO#KEq3X*Gjzx^G5P#$Z!j*?|h~oTxaCwTPQ>6~~p}jjB zHl6}ddD=L~j*>zK{Bufr@QNb>yimYF0{(jva}^oE{IB@J6R~#0kt*6N>2g@M;l4uD z6Vyd)bpPCNwqWBd@!kva3#UJqvZcHy!_zvupoy>CUUGp8GH=i_A*8DMZ{S?3&b#q6 z6|xYqc9j#1fQXrC&YqR1A5N7i&Q+@If3Bz`QehUyH{MifS+{gf#&KE zS9dj!NQ3=rgXf2SWPH3Cw?GnZqZ%H8m6EzGC4M2`Mc(_{maSzRc#we8u$YGqikvU^Ii_)9_Zu;7ieIEX zLU~X_*ZkUgIRtGmG-`h7==SjYql=`dW(j0C=ygkT!^e`V3U!ctZ^LW=AA}Z(%^u5Rg&-Y}**Ifw1=4=OSqjl^gbZ#uqa-*K!{xHjXf4zcju(lRc14 ztQ5snO-w_UlBDcKWi2D*>@ljDU#;y{JDH=iMpSrey;+b3bR+WV6LQEu>l<<=iv z({y05e#co8sVoY;wr$?0XIRDylPS6v1h4Ems@=Ygf(e6D)NB$LTYc2O;%FO#iMJ0S zvx+~fk)ET?+duxG=qD%$thJ4lobi}ku6gm!;Y??RN z`haRl+z_}Owm_0)?1C-ugwoRFl~-&%Vv+pI+x>)J?$Jo~)~%gWY<(QXWJevkn$xSDILX zCCqVNdhQ1i@)sWDhKjX)R|ynX4%Vv}JB}y)A?Sg=KQa%X#D_Vp6aKm$hkVq3W=M({ zZlP1ez4`@V!S5L@8A6$>V++^`A3G;~z1|~ND(XMQvDp@u*7617Fh}g2EHF0Er#64I zn=wGYGg(puats?3qhs~UO7#La)V($Lxs{sZwdc+mczh522tCc z`qUF*N4u@U<3X0i623fdn5VMCPi^t?%LT?l6=uK|WSa40+Q-on)&O{cM~4T_C|2Sp z9tb2Pm0Nv%@Ef%ku3Bt3a_#LnIZWicn791>C#2linegAMTsBtbe^TW#bNtKBkW-qQ zaetg4{bmgE`SIk%O+vR5BRdMH)()KPg)q6$qzD>0mNDd0@ua5Bem(kK!-c&zx-|?H zTLe5vlZCMkyzIRX7K#iOax!{&z&y{8B14yJjhg~I`(-X=LPF z2zS{&9ES(EI=k+I0!&CWt!#?mC)jRL1&0RgU%S7FIcr^uQ>^DqxEbEnVBQO)Y*!l2 z#@>9vcbiKYD7WyISw!(s!)P4U5eKz7kA3`rFs*}#TLz+kh>=F_DaZJT^_T0qY> z;(?XCkL9KrEepNGT6O7W4N}VkbXoCEwgQ(I_%`80T-=zy%4O8q&9}Wu6tgK|bHG7` zk3AHbF8enFz?Xr&c=F<}||UXU~~Mq%;R ziQDBcwN-+2cRKo!*`$bM13I*J8vezHQ`VjARUgx6c%=%qzG665;SD4siSGXLb1RPv zLYHWato|-%Dkz7V&kS8@vvvj$oe|Hh~I4L{L zo_SO%#X3kqdG0q=*ZoJjRuU8GV&@RQ-;VjLr%(HLVBcy>Xr%&OO7@0vFLR*su8!rl z7N^FAc0mC9)R8r=hnv#L!U1ZaYJ?#4W4FE_%;&x!fvJgJr<5COp;5#lCgU$szdRjE z9--8X+)piB!lcT&M#4w0Ft#Wh;tGFBq!` z2W8q8X;*EDQid-c5kToTOJ#u37YDg@yDdr`n(gF_NiyUQl=r;oDD_W9tjjr!v^W;_ zkz`gj0opTi?{~#RB%niGbgzxW2|Wt$xFHOkiha{EIEPcaPB7ywSce#RuG8)TTtz@! z6ZEUWL{cR}fv|B4l$z9QO@r_mC@gTPo%b(|mnnuqMyC3|U_vX>-XSMs$jcN%!9v;aGdKMVB znfNpO0_xMaVmo2OnSi1f!IM`X1U=+(cPmqxPVHB$g*CA{8u)$mtvRxDoFsnmrXq zuE!QmxHtksZ-Pvd6Z!6YPMPCJHt;n0a}7f4v?5*GG;M8RNFv85< zd?l0QN&fcMVyTM$WrSnh(me2is@eFG+H4$Kkd&ERI>13pKA&DeybCn_j!R)gAfy|+ z3&k6i#rJ1{B=4>)?UN8C6kkECs&s<{|Oj&HE zB`-NPa1l)Q=-#xNmv%w?#A|9Sg+h1TfTaVv%{z)koabSOxl}EKD7&D!0Pc+@4q>LZ zU!OV(w=NCSA;MTGHgMP{WoWPTF=WEhef43H)HgPSjqO>$A=7@zl(w(eI+8I`Jlf5X zkMI=py_QDx?-&Kwy}E%%#)ys*221173J1YI*V``yENev+@iC~j49^etfvuXhf9As( zrRRh^agW&ZEn`<{^+R&)31Ct2xixP^aLwcP9TNM4%yAN6O-;urg>3DC0Z{8#@Uf!l za?An*I^n2LAwkE3RqKVLn@}*_p-_I4Gx}5_*uS+O9|bsMB4F`^Yu3pm3NN!3)mJX( z=?+KZ*Xkm+j){0sX&AoWKjXyj77T_YUUsEC*mfP=|Ax%j8qItXhfq6bol4F(PCn70 zFC{!Y+74k$;>{xHxBp65;oG%MV$LZ;Ubbyo{0(mgYWv^@CNC6cRYBDmEr=80_keX_ zBql^<5jo}(FiiLh8m5K76{mogOYQW~b}6Wq!u!S=)VDtn)1mIio-yH!b*m;>c7!FB z&D|Y0SSN|eS!r|zw%KI(LH;ct@WOiwZwA;TpvE635x9Xnqf6LOFg1d_1t3+DFv-wX zEV|?_rg0f5>H*ooGTjJ6ufbzozXSM!5D(N`|0hKZ^WVq)H2>JvnVPu3Fsis3yZpn) zPTbzR29=?_>JKku>L8b*x4AE zxjFS<7?n+(?OmNrOr44TiVYF5x3PCpaWFD5{l}(*xtW8LxiOIrqoR?^pYRYnMp08Y zOA}LN31PiI*&+Y2_pf9BY>9ceNT|5{2^abIZE<@$mp>2xB#tn15V8F+;`{Sfi2fvw zFe*CPo2Zz&5a|#x{>d;QVpKKta3T8Z1^?&3BiEnL@?Qm(#KgfTase6*LL9C_z)S&A@{kOz~i(@b4RCR9?DiQ`wBs5wcUQ#i>feN<-Y zYNW-8DX-h{&j9()TJFEigZ{Sx^2ZqQA7K5T00{fP0El7-!XH33?$8P5^NC|O$@FN2 z$T^B^!lAWQBf+T_%>@)+p`Pek-K@%AB zdIUswORLe=KZE2y4*~r*L&Exh5G36H0wnPYfBlLKU4Ni)yM+yvoVGvm%m#4gbN((; z0sG2({$RfBykMdT=}x@8^^!_kuo58{HDpU5`VsJ}8E)E024fETF|(rGHu@@8ZEEsW zW#M%FfjJtz2EnotE))opYOc~%nNiH};9$Mk!q|UbFC}tF5IDTf5qS$Vdr_W$kZ#(J z0Tngzm^n#L_!CK`h7$PotL@;<86;;ra3Ucu^(e>Z7aTQ({+c1SgtDxz-I$muG|MBV zrlirvKLLg1KO2_)H-p0Ve-0>||H`jP-2Yr|{(w^SpFqii`p0r}j>gM%L`^(($1jJv zXgq|F&ZKA<&IgsL-K$--D#+Wb?yR(ge)_1MOj3~BrtQP8*WpMq#84BE2k09QO<-|O z{tz3(Glh^w{*EXyTC6rvb``0NhI@api~oF*r;&9Zk1?;#>PeeeDc1C@acUqJt`q#v(D=`W6aO#Ka4>Rp{$DCY*#8PA`@a+-Y^)6I zY#jf86e1k|ONGe4Kt{?m^Iz)>_$*)P%?bju+kVldb~zDoovDbdA`&Q*vzK&IBZ{c7 z?BmYY2hUG+Yq#ED`X;zfI4}}TXYfz3w?G*^9h%qOPdY^3N+?`d%=BULUtaj;*XVJu zz(I8i)m zqzbYpeE-m}!i#JwKR2+HJtxmefk|utra^wCa$Q6l2*&4Tq~EoP{W~M9On77C}q&6W4hPyu2NF zr!3c6nGMISsxn|jK08E~BQTvPoOZA%ob)+9e9!~ah$15|JL!UYk3K9QA;`Hk zoP~5Ff&%m>5vz~~bj;0dKP5C{lt?Nh(||Zcy3tD-8=>ElbcB zQZPhz;qO~82HtdLE(xsOF(PO$#P(zWM0P_Gw!^fNnPwd^tK-%_$tYa3S-uG-9D~EQ z(5X#BCnP3;w)+8^M8co&lw?4PzGsjnq+=KSEtlC2Flu-?Zl0c{4Z?NQ4O{ z5e}pvqaSoUW`t@-M6CLKg!=${`#D}E2{3q^2W9r3pD&D}Vhd#2OhP87cTo)u%SpMu z+6uT`@`^y@a|BzSoXk2gKqAQ=a<%J{#tzLU5nYP}kysLw;$ABzc+95wNR|8HwsXW= zsz0m<+|4)lcD%oD&~WnJ8LvHE8rN80@qa9QdCw}msl)S9PWf_PFK*>nJtEgFEsZ=T zpc*ah;$S59;zA^D7{2fbK1%tr3nq$O;Xvq*_FEBQyTt<~axh|S{uWxVBn^K87_f(3 zmg?)(Jm1`T(mM6nQfkh0+8=+Q?CM}CWTsu#cWC0ZOrU(4o_Tt)WbvQzmy;&^GS?)S z&dw`KHrThF2iFt?;*1x_p84j$tDM*?Mkcj$sJl${;>FeR{pkDS1Kt_;lJlVoCZnep zmI}UxFI%*Ib>k?jB?5!*^~Ce4&8OWQ?->T=WkJXgg=&AdOcsh{9U0ZI^52E&|xP7nzrWKIwdSx2~*~%$sEspEb56f*=^NCGc%SfY4|H;n8G?6*5pRI{c zGIAfcCFkEeYZe>%k`m(9dSjGunuM0brGC+g%_PbvTytb>7vRMr7tu|LOD&VZ2%(Fc z=PAiurIOkxA<4+6`9`Afh9`#r%~kZK=xyZ1Hi|K)H#OQ<#T>{I)=EZP09pHdtJKUj zLiZwif%3-?~$k5T-)*( z^V;0!&DUBBe5&g4x3ne@2L7e1bl3{=pBU&-SJ=1w3Z+uWGCA5P!9B&nSi&}0$JlKv|t zPsa&2rH;hx-pR4Z8cE8uxNdM~(jQ2bR%Aa(`B-2v+q2ZMbyOK!;xAzsdH zR62!FED9*vGwXyiPkqq!~skj}M%WX5b;tZv5& zDA{MMeZ}oTmg>!(mSr`i11)*n?9hkEUDiPG3hNVhG=``HzO7u?sv6?1EUW+(D!;VYiv+g#|H!D61KhHJ(gQt{!2l(59aZzcwA!}#%JdZ&$ zCgtX;&6bsQOXM!d8Tvg6iJ{x6n#yWA%xd1{I#91d#M~mGS9TJX1MQIn)lJ z3rAMohR>s!Za;2(B35;tLo zvd)OoHtRDADl{qYJi#SU7}&#fwl3w9#?HZT>nt|s*P)jTI+&$K>A^6x@e~HQkaR=< z1GrJJA_{yAGMSyTjA(76i+k@H%ESR+fMyhuqZj!#G>|B7m1v#PkSibvn%rU~@5XmP z9{tU>Jv@YDHWFztekQbvS_DC=FN@=f%SMTiiUlDQiEq#bwk++VgAT|x3GX+DbnI^) z=~OFW1Bo%t@UG_|f5|ydJ?G9;tjl1nFp^~yozvJ4h&>rJ%O>whT(OIMS`m{7Q$~kP zj$ZA(a4@S|$vvb-{5Jk;wPZw_iabr zLgqe+#6gH!V-h?bif`kL$^Ll0w;7AqoF{oJLoYl&&22oa5@d?>M}1M zMiS`Xmu?DQUKl$zd{)tGNcMiE4$>^gVO}<3Mw-tLJf^&IohvLBy1jPmmF+j2I<@Jz zxH&mSNBp=;;w1WRh|C8ixAAKI_Ch-MbQ_7Dc!kQmHJwB_M&t-dQgps^nG646IEk3& zwe`b>gj-j3W@a6A#r}J9Fta`$zfbYgu4IqGv2((~jZ3rYGcMU{)T>vA=HBAC6!=p{ zpdS#Uu2hBZdcqK2mXF0R{Pp|wn(yxXmkMc@sy<~31xMBmUh}AfcQuQ&8I3n1tH!GW z{683GkL5GX=Xv}&MB2JHxcc}%~5<2Qf!VA5Ls@zF$ zaw>Ug!=kGKd7}yn4@yZv#gcz=(&`Ve%cv(Ez{iJ*(n{Pbq}Zn}9hKl&uqe(YIZ#!$ zwYN7jFl2Y8P`2K*`d&tNR-Y73Dkp@&_%XbPW~Bej=`0|Kt*M#>9+Sigll}RVyMLT( z)UAQjUR$)OD1dZYj?+Ht(`5O+G)leOM3+vracX89XPqbndwbGBb}Hk7n*FW>RlxG~ zno)4z2nhabA6WWP+ke;#tnACr-xm_N{kupTf~jxokynWQ=#&apnWrynsKzgu<`><9 zCxOrpEbhOTy=*LhwFLJ69-aK(+Zz2{g8SdKHDY1@N94-?eW-M`^1n%NZ|DT;eZ$iY zdI><#5%jpmfq_^stbPi_(3eQf@(~wzFIS1KW$HSPM6&qqAiFSd!||BlyC5UlIQOaN za$g?orL{jf@)ME!iSp>Vk6B-N-*F-{B2peU-@g;=g!O9Se;KA4^%bE|W}GLQ)04?d z%+P%2zXzWePhw{nz+|0T&~EK}TA?3$A;w!B-$>8i0Tg3JdpH>zGx2~sE3_qZ9-O^b zaDXX*Bc*HYO6*71_T19f#JtK%Kx74cCt#~4a9*;6WU2g-tHx>~A zexlmTes_w8Z7uO&^TN7_!EnRf?CjYM582YmNr95BSl@o#i_)){=M4wRm9o5n$Crth3$mbGe>BT zYJ@btq+oEv`QbD74p|6n$i$Y%>xWLQeWGPU-LJjxM;Iw3s(0yn)D1=eX6A<23`7&+ zM)s2`fOm1ehMFKtiJ9pT$Vy>t40yU~Z_~{QShaJ;=iApFsHlmRy869+!l2j($EhEi zwEa1=#tq0^z-+-k!G-HD4edWxss9jPSXep#)v5m}EbBj0|Gzu@zy%tqQgW6yD913M z*Fa(u3SM@O{0nOD0t%=ipu}jrH(m^%d)&>;(@4m3W{z7e0_GhF8yfDmG9m(fkidT$ zh+a+X`k~$U!ww}%f>EHz7Lkm`G5W#-ow*tc8Hmc3L?B#&>X!6`i`iX?+g|_%v7A#a zP%Q?OMMr?CoO({V1R(Azx3V3p_!65&Zifx-1UffS^OQnwzSv{uxi}<44J{MNSax&+ z1wF}vNE1Bt%PfHX7GM0cKGCAvUk><`#pp1G$?md>66ub#qh5TDP2Hzno=u**c`x1l z##qsoy0a#hm@GYz8mJ-!WSXZB(rcr`BUY>1_M&mItK^bduyv@vE+2;`u6F~2i-*g0 z+%P?;lB_6%h+EcoY@gp2wPEo;73Vn%XG%t6#bowXbX>$X&3#rEDs%0>K5xCy6>7yD zd)Tw* zYZM`Q45^R)FknURfhP9I^l2838u%wXvR88GJN7K`d!08(ewZ~3m`K}X?~;t_o}H3C zp9)lK*~ke=c4s@EPQ>!6Rvqg$38{9RI@_zd&u%aSOEqQwn6@NJQJ%C>RR9;!4=N_4 zk-^J+qH1e?@DQU4pq3Eo%t%AC6_gUA1HmixwO}pwyk`{rzYML~h1)1;=+0{_-i&3= zpCFmCJ5nTtnFd16i_H=a2wqgtF-0YJI36AJa+|t3xC^b%_i~QZw7#uviSf{^MussR z6L$nGq5);)$OHHS9v~qRX&(Qmcm*g}4oo0&?i?M9+R{=x$}~U{%~#{i<#B9RyW+kg zhI%53rk8Q~We&;aKL!Ma3pblJl@YOc_YE0PUo_*|G2&I}LQjr>?v6Yr&#F6+@s?0U z+KmQFkrIn<17~z5a*wbWug1+z=wg_*Q}y^=@U1XPJym+5T0wqag{1~Y>U|B-yyX{S z>&28tG1yPQOY_`QNxL7cAgO{W`lze#Ggyk$sg`pm=q1d@2uCQ^FKRoYe|n{i)?!;Q z&urLjVQ3l5J_B1?ho+jrPha7u$HXp`IE<{HO@gU}#Lcfl5LOg)s0TAmp8P5ZtEqaD ziCm06Z_~GRSjG5OYY_E@!;aLucoHEW@$9BIcD$sWrJT?LmVHw@Bl*qlXA6jC1eT}~ zX1$w$htAa}ob?Xl(v~A?)217r(e25|Ce9Z0ny^IO=*j*Cuq$XyzAPS((@AaIlw>D% z$~sXv+wfM%V|N1zNx0OUhf*U67Zx1o=ThQzRoH)Nl&Ebw)FGqNcGWLkK98(9zuBp zKo#35rif=j00SR92#p+%(@}{V{;v(Nv}}QAu^$n7H^Vzy(0mGVTZbS zpp&K^BgTge8Di-t(xTV##0frTv(*%E6_<@q*;c>dC_TfeEgYmj?KhIHtZ|4&G?s7XwIpX4zj#=#_$JT+D6jlAgxA>ODUGlF|S{HyHXg8GB(B*O_})5DM5 z@RE=^1h}fEQKIK|joLy<=-K;%GKqyT;;Gc*aCweL)eQrWq)#>(4WiTeqabB#sm* z#&^>ee_GRbS*Q{yM-*R)TzJz$ z^Nd^hPcQz?5Un%@su1* zW8dg23T&~RvqZ)r(A$5Gj~_7pI?WwIsPExnOufx(^7p5EZq!Xu@@B9x1@!xP9#61u zOl&v>trkyETuWbgtt|css-V%%Ys6OnlRXr|ksBI=%C6uLg&=3BpcUKOv+`=C5Q8e2 zUySh8u81Oo6e2Zz0U5b$Q-)EI*94i}^)OGu;8xx$HBjOP%YYbGd<(UxrN3r18hB;# zV>C3N5*FV@LUA*K<)(8GW^gZX@vU9}Nq2Kr`gcz4{292KKIFrc@~c9h2fa${S{p_@ z4lb~%-lJ*rtbP)*y6EyI`=BMa6nJ>BG$~$gtt<&DRZA*0P@^l7FXC0v&-RGMPva-R zI+L6fI!N`Z{0|f2Oo|Vbtt~3gdIV(IEM{}Oa~U=JEf+Snay_M z9KpC7WCxQ;&nGC}m-EXQ@wSnQAeCNI2gFS0;1qguLSq`CnLy2#UiBHmAs`FDotq`bq;Ho#B)R@~|?R~|3p z2P#|eYIge)KkqAT&>$35Rv7~9Pum$BoAcP2qNQHmhrqj%0+N2(IwkQ|K$3T6hSOZbL~jPE>sX0X8;;{$35Sv;XHS-Tz(OykXS&opMugyH!n>l#*cAv}y2R0!{& z4MN?E9vm7-o7(|JEfvo?pp=P(NLg^@(r(X8A$B9W{Ba7NAnEZ)=1=)DLxIK=-(YE+ zcvI649Ysg1Az#fZuz98&PmwAV4PbShZ4TDHOs7sHfr6<9YGZ?{6#yUljaS;w z`AMQ|HY(ytig$aE{7SO7TD72(6o(^MC{z{T-75zTx%?~^`RYtST3*slz>gOqmv&_s z4pTO#XQ}cQ|9z%0MB3`)&NvwOjG^qpITA%eb?@NZ+lO-5FUIDCEq_;GOkRxJoa-#2g+S zk?%?p?WM7p(ev2vW^MX8;wC4*tN|soza3ANLH5X@8Vw+69ML5|Vq`-6N*&}fWIF3t zr*GDv7=aU+XYm_=rAb5S_GJEyMz85W8RqQw3(5sZiSXC&BGoYOUsw^2f?Q@I0!q=H z)3g0Sbbiu7l%=@AkgC>T1GpojqFdqdnbO-hRkkF9!WXdhIO5o>_z>9ZjU|oPe^nVq zqWD&jg0w}# zLvWD?9zU>0#|d$C(8sH}@5*7af=?PumjB+H6_895KP zh-J}lu{+RcG}4rR)Va6Bf;zfHLRu9EY!hIN#-3BnO?>OTvEn!oG7p_((=TevdYLt* z#|$;)pa39EW_vNlqv5bpZ??cRJAVNqB!V^VZ$7SyNCleFHvg6s!+HUyX*XkAH^bcs z{euWu`wT?9mTKBTFOW~mnZeqymxut6L3JHrmCV7D_KMUenI*LZkzI+Lv+5+JEC>ai zLu-yF1uCkwk2htL9)Mm#TAkFU2ZUlWeybePn-+-8!K1;kb0E)?Vtwen*w%>t#tWmv zysJ@sndTW2(l;pvbxNE4HNxVOjx}N&8gPJ9+1EQek-1Fv>T9B4KzY<8n zJMDf0CX*Rrv!umZcOrNs>#TB-U7r4w1h4*#e)lYl;a}CrXsaqNGndjdJ;;P>ZWt^D z7l<~5Q$oe1(b;$?`M?i#LB+-dY0^m_Y~6h&+o32QtXNDeL6#g9Me-5)*^6B{$tG9? z9F=W>fdrn^2O4b?kq9)dZKh~O3KtDQ&^jGW@L0jlNDuC9Dm~tp*V_>sa-?qFJ*k@& z*@fR&o_@4m(t%}MyU~hapFX+_B((zg(LHDQbq|I#i&ZJjK|*FRVz!C^*G0)72#V6b zp?OS2!Q?O#<5&X*zsE9pCT>_NGbuXeU+vBi%v|^bf+R?j1W_JN^xIP82?wr%fywr$(CZJXaoe|?kg{O`lYoyF_T_Q`81cCjrC>{=2U-`aPc*$g)2D28-BGc&N@~oM81K^?omcNZklZ`sZuz8dJU4<(vy(x^1Z|IUMtfoU3U)VDx*NoS0P4A-}J zsi@qB;;=K8e8=WQ4et!qYn`CMPN~%ff(mp{_%DI36wJLIrZ@|IO&4nP3<4A zI`-}^-hcnvkmH}zW|PZ~%RgREAMVquuTKz!BHg2Lt=C=o9OssS;MEp7b4n=vm|~W> zgg^+?RwmnNCJv`iLOqZk0*$%?$S?ui@z!nXi2YF>?2Z*aIlx$##s_a4)^PFscL$p0`PP;Ic@XUM-L~)R z;xGygd;@E9Nm~H!BCtR#jNzf@0@;U>7}@UAlb8{n+=DvXh86Yo{w<*ce7m)t_}5zN zwFd=KXzvGD5CYsbFt|(-x6z&36~ddnUcl{=xa>8Cl|-h>SL z2j4;9y|;ZLY2nMZb%noxXMt|=h@=;<-NGoe4Ve^M4iMTv)MmQ5jlgGDu^|)yAIm!a zdLg86#v7>7sNW_E75Uh8a$m|sTGhzgL+MF6KEbuwHI!O z?sg1wO3?j5PjcI%y8cYG1zcpGxS&Qj#DtnPO#zPVwa+SJ3Hju3_|?sZ8B@jS=>exK z5Kp9#;|tMh>J%=XpJCNS@utbp$^qf;=*GPPM84$aTJDQEx&#hJ+8u_^x3m3ZV%oRI z6?rM~1DRyHnm*0zbH%xpcxN$Me9mUdpfSB&Hzg2cW|Vj8_VF1WdE)u2zgMkwHtz(>3zcRzD2CcZm=Te^)6 zLuT#MwW$odSPblvrRf*d2aB8qn+%6)G3gYnAJQ(xW)jH(XKi{Oge{ZI!wzQ!O_f$e zS5``>xrnxnL?oawV2g2h46lT!AK(($+1ZcMAwMWjd3%XelaesJ=59jb32JQL*B+6A z2pQ22NgBv*6FR-l)XthSwU#~;EGhCvWi`F^$}*K4Ne{&l<+-J z=8410Gv^a_LuyqLkW837+DIx}ppXqpfg=CCC+q`#Q&N;Rl_Kzg9F48;>arkqW}ssE zCM1TMcN3?3fic20@6`Ee+m^zZ0tmgL@_0MSE{rGtHoVTW1mppTgkk z7-X~e>0;b2J3%#PzQwNVJ)!{MXZ@96pt$DxJYEwogk$H$gWvaW0La%g&`hT` zPC2_jF)VHgvevt(47?-uk(U+}NATU$^(iFXq6bsQ%8a9ut3=kh*Krf+B4)-2I?Es- zk>ks@IR^B0#8cWp5!he_LJB4Y0s3cpk*%*Jl%#9hw_8|j> z<_1@)bU~A)#2yqU4T>3VOGFDw#z?t==znT1hy!hSJFbtN7W#=z#?WLzp$f5oN3G#L z@PwrIfzh@M6+KJ&l2*7tu$Wl8aE~1tJ#3GGQQ?ih0CLCCsX`VtG-~U5(_)yzulUSw zn6DIBs43g+kY6zqHwvOB4Yd~s!Vv;Qz2eqFV(!*!$AOWcNt|H9fOx?6lU$b8gh%GO zz2BvH+Ro===9Ty!<~Ts^POQ~&{A6$&J*9g9S`brNff4!@zrtZY)16rDZ&M=WLyp7{ z=E6)2M4-PZ+%D71MI!@SFqJNX;ooUA{wCw3sQ%9@GWDP>Td|$)13VTMhqiiCz12*wv9vCL7}y1rM-Sx6V4UP zVkCk?kOzj#0CGinx9xgcj^4@OC_k*YjW$5po3`^bqg&#D7sCKfF~=Dd<&Ku0E$DZn zxO|Hg#XywC+9xzbc9$fNyft9zcymGDqUXVl-OgP=y+AUhW`mC4$Q2AA^46(SQge0I7!(tH6J)4F7wn?q2Y7(6vY(bt4a^B5JxLjG zf8cYn5YuyPbW<#OER4tw}pN^6i+77SR;HksJKV;}pl`+BJK3ubOM3^eH6@9YLtL-RT6BhjC zbatMxkITqb-Qd`%y$6BsS~*_WR><>wj(vOB$|MF9f+#eds~G1E?ZEKND2%nR6Vc=i z#(RPvz&}9pzAP8Je=hwxX#{0Y`X(usnIVAo`=3?4I8~4#D(7Pc<@9~K z&kzUEARD+dI4u>9@68XCZXRbgvl&jwgw>{e)Q~`A3-XbHD0af>h%YkY+-L`} z?}#ccxJM_wa?{`Ku=|i8vjq<@aTPWGK1;od&M>pjY^jy^$If#1LT@M)F2P}_tiWSF zTkc>INDcO>HVb4-vlBq_&+*Xuat?ozT3(};ovNhbyqpVKJ;pmFP(8W4pr8GP4Y?)Y z<)qDtE#qB1a?G|610^kV^RprG$B>XIJo?wUOU z!s4@gJ#OOEH%vT+>gUC(e^FxlOnHFPDsFfR_*lY9{|3FZ5qh*zaZj~6`v&yhd(W39 zsw@sK__G4ciln?+qzKn*6(jdm!O;o1`}Q&0co%FB+^W!{6YoB(Hzp#G=6x2-(m5(a z`taZnSumlE!i#?dlLt$mF7zAVcJ7X$?%nt^uc;P9LE#k<%bJ$f4{5A)24dw1c2laxkB2#K^yy54#bT^p8a_K_~olge2hxaJpy`0{93*2gFK;EHb_X03` zxr1MV37BWot;J!6x>0s!EDeo1 zGNS5Gln{kQlbLavf)Z&f+P-*37v^J2Lg(_?UDI~suI>NQ}AQCAr zgBp{#1S3!BE;~=dDmca3p@cHn+8K>X5TmPduyV#gMTf=w%gVq>4XLh=c$xtUlg={c zjj@Zh&ya~=)xt7qKSuS9abD+m&fFXHE7>#iZ|Er}sJitDyQn&LFErieUSk`=DpF`} z&|Gkf)Os_GY0`Zg>S66v^S}6OsM##-1dL_5pj}@X)w>zJYPtTX}5Y;1y1jWf3xz^!r<|q*lFNvUu#|2CyyV} z%HrN%hxuPVTitr~Q!l@lV|KTDbasBe96jp0JsZ2fA1-Uz-(IQbED`W6Cj;P=x6s@A zIOkxeYySS2*46Lg$XXsillied-|c}+A*MTlo+uE$%<;PKrAoJYw|ccWO%lHjZ?^z{ zPyF>gUl|}o^C{iMbs$K86Cmeek1d{W?ZZ^$5t5#`;G7-mT6P+!1HteNRy^Nh3nQ-O zpn|2Fig58SD0m-&a4^Hrh~ibR_rj3mMIUR7iv-)-L%L|Eu!72E>=Mr_&kG~`BYH}) z3?AB@%+u$5OQCU=2+>uX0}l}%R+~;kIe?@gYCLj8NXPc#fkRq-R@zsfaeMP8yq~df z1~4JcpJ#vqTK{>8mjCP7-oQCrysp|bfa(wXtzNJ1kE9_8yx7k|B6z6e{)Tr&giDW_q)MSh*;{+@9rs@N3~e=bt08sZrlE%`D} z+jMpnYTiciaWO&NSn+W%b&AhbzTLa)tEZdS`^$yr<^bt|IV%R0jK+qerUHWhGCwBO_f)8M3*jLFe!0f|d zp8i+TVoC>ouc4;_c>kz3@CL5l3`|sfx&f{ht}UJ|W_3(U?27@k znOYcI>`VUbyHtS==pQ(1E7%^a#pSaMT(jVY%&X`qYz@aUE?|g6tdSB*9BL&vlb&2o zWFp-_Ool;k5v-*7>b%n;y%m#Tz$f)shCPyr* zMZ#9s^9B~04wuv*2;TvhVLa<01esjlr!kQE=opCuS}H;j%kIQ43zN?KUvCN7@t(!9 zigWRSATo?E)?glL9fVEt5NYFBEwYe=UFk+i!ytC)92B~6iIsm3>gurA$gBEK6Ujo9 zFB80^Gz`s8Xp;uU9uA7@7?3lbVJjeR2yC1NG%__BbCE}ERI+gF1ZB*h9pyBpPQ9(# zG#UJTkOP~tn;sF!fGcThCCm8jr{O?j5{Jt7IsKLb7;?e@%(L>{3>V2mr(pLb(?4d7 zga^s10gDsf93J@xF04j!uKmO42pkR+5XNDQ66bF!NWYr}+~Ftp<~XNud)gxD0;{FE z6-|QGXaaU>M6femDf0i6c0=OjYS4XC(@mm@5bo7{MPn zalO{SnGg`pp17(Ge+)M-9D^MD9tgLN2|s@dFek@7xpvyjTdp2pV^v z;@#YOxRQ(Z>NplP0dEN@SP-i|uG3uQmjvuYV2BE5vkW`1u}oxkW1qv=D#8E|Ww{W^ zyLo}$@WapETUW0xyGxhvZh8gN*+Y)>A)U8)0-`W3^8i5Ler7aaF(az+z%`gyR`Q#9 zJOiVWr!Se$`HVf;!*_SXkxLI9@GhFv6FA?ju|!1v2TWip>Oc44!j8|Vn6oIc4V8kG zt5e1T7TB{b0saK9Q#1-g$Z$r~YDXjl`41>sgHxg;hz^4*@I0t_a@Sh5o=YHvDUxJJ z3iv}GTIM`8VF(Kw5elg*#X@@oTCp4`1yy%2+c0p}m-5>^d0KIsZ)3)Mm`Z+GI+d03 z=Mcgv&4)~3gDcrgW0snk^EdT@&2Rw0;zHP~*^QhKQ71f|6q)xv6{8JHae5!F3wXA= z4O3Rp;STVzqe9%~$0Anm!9^>qNz%XwB%ibfkfKmQ+<2m}M?y=}k6hV+lE zRSyr^Vb>V>MtNRC2dCa7_~{@3=gV2#FSvf}xon}1Es4EJapTwfPVj8X*>c!f3JNuZ zD5}JKBHGS}` zB>G@OdcdLQtA73ZZs^paBt`2ZNWYsi?tE_7*5azI-Z{9D)7}1dJ`8_O6vaeMixh`W zoghZ_Y~sh0UEPE*>D|bQJXuIfr9ZFswbf>(i!N?sQAeitPq#EaZ95puV4Uott4zAB zKS5;6Wr0J4MpXbL6F38nW(%1A_~9QVqZ<&IK!wX3i6E-ynK`8M^J*EOY#HXFFQ^5T zdLCK6t9OUH&CuG(hpAjlE3yCOM9WMU#w-IrJeH!sk7OVvX*xEaiF0w`O10YpaRDdU zMM}V;m}_-xhYq%;Gr*M#7quS}c#$GetVBx3o<9G(`8P?lLZtu~)GcdFYMi8DC2G|D zp5>;gV&Z_I@jy(B>L$Ffjp%C0(!kx^?->=;zufmkDNz!Ezt-B`6K*tnRjr#x$oh7$In)mSQ7fIu%@oA&K zs4+M_f%l!Z{th@15HCl1lSRVv3=2v@MFKxpOp!>@9U7^*+J7t}W3u+s$0ROHrtaC; zN&BkD=cs|Camps~wTo%fyqe}XxyM6sU^tRE8nj|yEdjq#Io63evnnkkTRC{DgyO*|bwZq0=?}#m&*~ z<3nN=sy=6MaBV1&D57^(LD|nfqqODNBjF_;`&j;}q&X%@zL@$^g*q_{-E zXxNJo$Qm-vh93oljcL5imyEwSEtI}Y{B{sMs`%CGw4WBgEyYjjf4-dV;d9?CzqtMQ z_J70fPIDfH?$(V_?vi-B>e&{iF74p)xm?JYJcn*B&*EH1siyAqX8G58-8_AbQPMFu zpT0KENcqR-52@E@pDT_hT+>>0dIuq{)4XHu*E`9Yxa@fROQt6^qfCj477I?p&7#rP zHc2jRc0I4xHkkh4vlvmNRhlaQp^b^o$qXk3e#G9ij-D}+wbLFAHHW-COPOahdatx_ zb6U|7CBw{`v!o%D<=2wu;Abf6`ey+Be)}^9z^EZJSLQlhaRtsoOh;NoGB5nccEfB$ z(;qoGh_I$glEVmm0`>0iHw@)XHT$#^Jr(Spd}e*Qg*z3p;2iT|166}1o7Ql<=@fvb zs|E;Ztco=_QSZLvEY!uxU3Nq;ruAg)Jj@j!479%`hhGAX9|!O=L0I;18%};X`_}6}v$y$I2@ud-?{RPofF{Ie>vcjM$YwR*b58 zXJIyIyFmUfu090X?|u|!KD6kvVYsm_qS|)$%8V20R}4nts-=m@>%2Yy+-5Mot4I3w z-wGz)o-D;w3b|2hjp++18mg-LXNQTYp0_0M}D+O z&fh7Dk?vpJ!t}?-U9jQoU(cU*h3Ib(6sMnGamH1epDgjhbj-Ivk4CxhRg)^P5y=b` zZx9S}2K-Fr)!Y8ijo{QZZ3Cv>9QAwsDzLn*1~KJ^Z?ev?_rEoWKx|E`@R$k92}tL> z#1A<)nDfP}79wuUSdut4JS=h?+fyVS#1+Ry{s-@60HP{AdB&ErGB{pU;Sn<|NJfE2 z^G#z@ft5Fm_1Tzps6j=Y)*Dh(VsQfN_Gfiv-utkAZsl5Z?m* z6Q!@W^mU#Ei*)ws%GZ1f2TgYKTg2=#_eRq5A9PKP_gjhV>{Gm84dW&^UTOG|gQQdP z8Z)kJI&@!7K9$zuC#9s^6ax65X8+V@ zgZs*AUk|zmS3JDDpLwr7@sL@A zRvKSY9^8o?Gal3fn5b~~Tw71@uvza~t@LLwz9%eUlx~Gc_e?dUs#L z=5pCY`5pO$zXP!`2?tKVPPfMEZ$b*KbBCoeO4aATeq3JU`@OKt^E*sv!Q)C`QTiUY z4(AlN3)M-#Rq%0e$tZ$k-E)sK2cs9nY}Y||pSOy+<@9*i%w8Z_D24AoF+!VodxP8M zv#qH$7b7qs0e85HZGSQE040P;w>YLB+9rd90GxHlSC$D#ZVBW3|6!%S8z&By%g(^uDQ_vD&zb zlsxls3GFrLXj)j5D1ft2Pbj7kp!`0aw9dORag(#(a#VS>RtujfL`(!>a>3o|?b9 z^C5U|6NWU&k%JwsUicn=RP)9KqpeHP71{KP);t3-?h8@EB1n5Z_w6`cCEocICgb@_ zCac~!+Ngh7%lq^Z)63jLDgeGiAsCjO>8X>7p(RX$qv{K_g-Mun2Aw76sbYdVW~<8L z#-EsU3htpp0J;b)v%M3~V@srz!_zx)TRrEL40EYyP?L3c!h$l>pmNodNp8>(ts{}_ zi|!{!V$fyYVVGKE(Zkdjl@nCg-Cwo?4Yvx9AMles#pcmCcd%a?1 zoz?Rq6c@nbs0=U~2|Jv|-!jDXz05&_onz(EbZVm@5S zLPOqmHw;5D#BX-;BH{l!)H1~!aO51hNwG&%nKLh0X3L1*d#Voz?C_8<=Qoeij1lqU zO%i2?he`Bo4s_!hi@s)FvXZ^Bu>CZ~Cyg4#eF?BSkjpf{*O-Q%)!b9r_FJ+gG07&u z@N%xeDSw@PibAOsJ~K29o@>dZW+MYo=Zeu6Fxm2sSb(E$$NgNLy^vYg=GX zgW2;T73Og-*ZZXRIf8~wx&lA}QjhvvKe_sb125&m zl~{Yj8+aX_gT3|wtCftRQS*=819|uwQZIPG=kmMs3iTUPewjk5FTxw1G1S!9dtVx4 zh2`bl&1c;9onZHF9Q)|oal3n3L?mmsIuoP@9vI~*A6gb1N+1}_ye+w^=g`fY&(E4F zBn0DFgh9L-Kt2Gaz?+Z2-Sk7T(6Lr@+^yS@>`_7jIBe7EmD}NP5J+{Bk`&zfL*_sm zsXGJ@hZ!+{M&&5$!MRPHsY^|t>Cx(ziLy(t+HpVPCWsN3@;ELdhdK3^Ibq%F32*W+ z|Eww~VAhG6&tlh@_unP-ZQyPq&uHDvX9f5N^4OjT3ZW5rm4feJTEV~X@WQWMzs$Ae zk*1BKCnC!v=St~s15(*=C|HP!3XoJ=6I9;I?ocxK3_{_-D%`~`k-2dyL7H{&J9Q5x zL`v#y`hS0+6A4Kr0NrOdgA_(@13Y>R!|CH zSe!yP{-9u&X02Ikq=KSiAl#=yjN_^|enPUtRkktgmmy*8RXj#`DG^qDQ}U&Bh%og8 z`;)(EjC;n&-f->WON%c9v80qv6?+$8WrEjNDPlX}I~soCIHdFPXBer}@}!CSJK{d! z0yJprDS%tvm*OPZR4RA79(uE0$wG4jIMhz{p_lSt5sKyX{EH^kce9t?`_GA&?f*jC z{Fm^-&cX2iF!BBuO)rT(Y{gr=^sv7 zQZiYl_Imnc0T_maI-}5RY~SI8ommBGTU7GtM%8goYTq7dKAcIgAy|}ZU*w)f%TDi` zJ5cYIXz^K9$UV1YUO0IAuGWt}0xhskWFIXuQuT@ON1~k~^Pp6xr{`n;W7aEc zPkuFkmV+U~CP9>c+AyLrgDGYZhpisd>?BSJqA)$uL=G|p*H-KuzWR^zBP8V+SZ~GSKzp5VPtPjD4oyUqX)E>0i?5}rvESB8Om};` zRvpdAaYc=Vj+$FbdndfMwj_xG0Xe2UZ&?u1h{DVE1(`@BB4uMyG6zF(5TJh5Bz~06u?;tS;@HYCI)GmZ^axMf$>$M{LaXYQJ>yNT*s6424`y#Tz378)PThq*v*t z+O3+4fd#=`bWD#aVOwNxZI*1k9={fx>UFxBR_)UT?2p7@VRH<)$&}%*w5tvir{Z}2 ztR3bpG&N#lN1u_gFaOJcq~yS3g~L`9gXhShtgUbLL>we41({7(J;|Ql(7$-~BFFi* zdiiTlo)!jnLKE-COPkMzooa9(JZNg)u1hOvWGx$EZTl@<*h0%IW&59zX;0zT)Lwm~ zWCrwlGPk3c?fO>P?s~UPqX_7qLshE71G(0g=Ix9Xug|{@sl>8hsN(`T=9Q6Kneu`@ z(_+h*Ec_W(e9|Jjrn>5G0*=+dO(+~do^0-tjW9Co-TrCN?(P0*KIWMxknVUdEbiyr zn#h{9@*y;L9TE@5@uJzlnoE-Lq7;b@Pmp5=G{%rGom8C*?-WfbS+?dhU!3_P$Ole> zG3KRkfte~Ldq23LUuDlYOCE4-EgjGtb0|C0;E2W!*1T=nBbx4G5b|K&0sp+OFAn;2 ziX^Y8vg;kz%NM1W;EK+63}YwPeYM&8M!RhMMvtV1FjsEjf^b&iy^e-5|A=;gBwl- zL6rCK`Dj^1)Y4soFbd9q4!}5a7~VmA@)3%<1t zZnLZU*HP2C^dw#o!jN8?rNd>}byy)UP|dldl)`X9w6wGF#ZgIg&p>-{qrvfdrN zoQMGeQ7m{)o#d#Bs35UGS~c{lh9LU$T~w+D&64iGezMes*v}%eI?K=;Iv(h2YJ28y zuW7m{G|gV1St3ccd=3beRvEub3S}iIj+RhE{gj1u7LV`=>JB9hZF9i~9=UgPWfj-% zimF@HS2$~r%JX^qm4YYSpFs%l_%Hltr2NpIta0I=emW0-Y|z`(Xi>#9q9d3Wo}BmD zORp&@Cey|w8AuhXul6ciRhTHP4l0-CrI&z;HzV<^>+KC2(}{4S_1>aw~PC9TkoAfK~85u@7=(Q5&1dK2SdZ zyq;xP2|Y?oKR0V^-4XIgQT$NS=&L|`&(m7H^^M5}PNI3Iu4eTXgYQrp z`QJ}I77=~%>-%g}jzt81OGSHYQwcv&xQWK<@nH z#)w3qBSs>=@?afm#ub&0}qzpc-zt2I2WJy<51-geJvuA|RyKln+Q|L^#Sm2oO#M8tFM?R&a=aIv} zSbYEGMl&ssyP2H+=LM?4kk2L@Yap+{Am%AiPTK|w)goS-SciEriW1c4ELV$Z-VNDf z`RTc_(JtDop-d}niuREO1FL9T^jbS@d8yzm+xkHZO_6|4>u3I*T7~h#?6Y$ARrYnf zzzaO|ztNmHmFlTlb#clcq3Hq`WT-;~U^t7r%DKwX6oWLsdhi%MevF+w#q|o!F`XKE zl;=9_QSOt-YXJtwoBiq-+#CeohEKv&WO|jSak8Vq9w`RJ6W7y3Hi}`wk1I4f3|MSL z;0wQ>dlNhjhRp8oTi&dxqBbHHKZOhso__%s#~$Us3P&O!J8F+TTWUtg4@+CjPMdlr zRfEhFHk9_1&l28W{+{}|>JfOsB2@B+>QiZQ6mM8PIJ#ysL!qTz}dt?|mOJo=-8f8_KO*kcf_I z(FWok-ca`li8JnX@sJV`7`@6qmpy|a1Td#DY2D5vAhH;+tRDuorC1CUiOPkRb|wRS zgM~i=*Uy^*sClJp^nNhW%rhTXYS{Bo)GK$(v&{V8p$1qO{~tJy+xCb5qE~i%g}_nD zyTdVkqqqnJ_}%9Do;tdp&TsHgwCh8fNo#4`lAs@Y-9n4`Xh&TSwhBf4r?m>lGWKCk z*#`+N8Q?AM?s1=cVSdU0q0^H|jtujg2nv?^ou6-{0lN9XS}wVzL`+ofSo_RgR#@~G5yH3Fp|LOOzf`45~> zLa{{mNti~${UJq#&=~QmveRV;7g+ap8!-3u{a~!HdB?>aq+m=1Y6c}8>WU(WmXB9i zyx6Aie7xybA2<1Bj8#^>7Z>RfGrY2GZKn2{a3C0iQ3lak>N^=p3d7=&TKjiM7FXv{ig zCpUShYwKQF^iPHdregdi zIVr02bhKsdP@H7aSYry_74p*eS-Xl`B|K}Wtp!-Y3IG@OWgGTdsy>uvnc{R}a-YrRHlI4{?5rQdK zf>MkhrH1rR$Ng?^q5pY$%!FtUt*&-7zioeAJ<^n~l)dgDZ{kENt69_0mYstbA*fX+ z)hUwmIF)Yd{j@74x?3j~xHh$-Hdt9Kiut&iRx$e>&||tGb|k!$gaebPV}L#fN8s?>~I#-{AuHNuR+B2-o> z`G#`_jI5Rz1HUhNWPL?X=_Ad(@xemvTs)#^vwG;uiwG+;p%_Ids%K!RAT(#GP+;#= z;_anN5hQ5LM*mdAG#B1Pgi7-zY!$MwNn>`+T>J&ctuU~n;_n+Fb_qHC(oNd zW1m%GR3$NpCHx-TD(8VGyaoz~#~}>boTAr_x|Un8I{2|#4sQI;AKDc?m|J=`b0$O? zgnrdktAl(c-)&M*%?bwIk~fW&Bf+#sW7)80K5H%71l@WO>@Fvbn6I?WS z&NM!RK4H-4H(XREga|=6v`piCMTF@APoa{-y(O3WReK4*otJ85ATqJs7&MJLT7?23zlvFF65sR^wVM^|6GvZx^iU@D6mU!Uz5Wv1v z5~iznRTOzsr6kUd=*O6MXh?2CjUoC&eZ}*~TK8!;D%!B#f9#eA<-UHu;+5xHdV)fe z0)zgmy;EUOe5gSaXQc{q79@Uwwy^TTARykx)t6dV%rWj!5rI(p;EL8f-MqiLV=foq zk(vBgi<;#CVmJundUPt{aUo%8a^8ewRsEn*?7$)f6TuzpxK9p+z`TYK+Gg{S>nxMF zb5n_%?wvIBIAH4v8L5;uAU9!w#6x%+aNo}8LWYw>8r<9*c!^deZUn|k89w&Q`Hb4I zR$hO>gaWK$X5DN5goRBsSB`0~MMVIcsN1kSo?SVjcYX%Y)#D$qbJb;09u^WgU4FLF z(~|T$;P=p7?P!m6gF@m#uEFEdNjMWhaca#2rS`}POn z2~6o>oPa?y`d&Kg;-dL8-FFqFiLIJL!lhheqO-C0`G8G@>=mVZ&`zm_2CL)&btF1q z^`JOg6O{$lNb~E#c(P_F3%+XK*X})-ep%05-~a9c>GF*I+6t(PzJ$M8Ev?E$DIDYtm()8bW8GVuBm6QUTY1{xjvthxIl_(aX+wRa2KJQX19J?bCWPV( z2=7+7&i0Zln(C1JHnF$;T-kX)S0WaL6<`6qF)Z)Thn!6l(NCPamg5kjM4;Rz6Mw7{ zZ6xD?4;K^%RO!A~wKt`gWRhkDrQZ2|25APg9&LXs7&@B?xHXK)SBy3e5+O(W2t?_y`3kt>X8PFC}1(3MiTXj3PI%#od z&L~!PHX&2J9AUEA&nSV*8B>yMe?%Z#!I4C-^V+THQ-5w+*{X{wj%dDb_icwD1V_Hu zMQymgq8SpAu)xf^lj5!bA0Hf}4`6eZ=}G$0LdJF^(!mxe1)aWQpFe+Q&=js8M-f6VCu)k~t!0P&EvnQ#0qauX<&uaJsR1~>oFZ_YG|a);TQDqw zulxs{;ZaWZKifA}Hs=3>6!rh}4F6jbI48sZVFG7m{U5u3y0v!WP}q@t^Lhv3_VKn{ z+b52>s)-UDND^*HhLFy05a59`h$$vvGILVeet&u{ZZI4A7N!^2k)k@cSzpXMeZ5V! zrC=!~=Hu_lOF$O_7l6!{n18HD z=UYZ*lq(dNksbyFkyiPnphSOQ zL8?Wor&uwZTeE0X|2(2q0h*CQne-+iv{r*$lqfckSe^>X^(*3;X%LwQupO>cDsX+-3Vbg`=r{hqA! z>hN%Zm}O2`%l8aMst%jtWcuh+8Qy|%gdZFhJ);wTUA$SRbB-HuTYWpu`j^LCe+0h& zd8_{RdMzM9D&=x0S#Ok4(VU(Sr$RA+*9#+(I;c43ciHURr|3_eF+Et|Oddb`4ATtp zzQpV;#zH|)8U@mPYNeQu7E7Y)`v*&gKlNsRSaetTweGg7^UBxfBkI@Z^>hF3=A%~k z^`dTPWc$bE^(Jn0dvf~Y+U(b${#c5%L(=T8;y$vDeiPgtwfvcE3Fs=dlSw~z`oc%G8K_jXIj&Az&Ezn0TWI%mq5kBWM;YWr8BzJe2j2U zO=V{(KsZ#@9yo@L|)w*cR^Jo1cU7X<^TX$d3B;7kIZVVZPCEIj6^5 zW4t5Dee>|M5NXaI{%0BpD`DutdUf6Rpx#92Ts?hpf%MU^eNXb$?ZScZujqX@xmRwr zbnF_C20l+5&a-T{@cYBp!#)kZ-I|6Dn}cRvZD7Y2{hvsBw{|bJY^%Jcmw$ii->;`X z!nQx>=(#M=PM~Z+wN}7q$S-*_A!;7F-T%FHwiWSL*l}kgO?AYvs&@2)Ep;%F!x(ph zCzU1Dl*WT*^u^gm{@=~wc9`h`20KJC3}B8DNF2Ai=P1w+9l! z`Zx+tZQy2Lxi|^JYi@!ilPFNx2DwD|$XK})P>%H$@wm_3I~r5-`c9XR(^{8qtXzOD z+Ov#ekvS!Z?n{+>Fux!knhv8C=8-ZV03$~8IuC*Eczz7%<5qlOcqV$mlx{5J*=NM!pp(Id(Kq7v{IpSs-c}Ut|016k9Qa>@ASQq{H$^Kje$$98s z(L|km+T22vQ^+f15kxt&z{$HrII!Fr!im9E=qX%1Iy6D9%{rrnnNh|lj?U1`2LpNr zvpV115FnR>2!f%g3yBCxegMO@m^m2&=~7`>ys7bY^X8uV`B4%Mlu+ZATFJ2NJb)NOWuU+LUP|H?(>Ku-zJj+*F zKHn&L^WTM7`W`3iJjXk)#LLVlW5?@GuU)a4O$pEcb^U*oyHh+zpG$fs=$tXmLt&$ zPr5ONd`$w?jx3_No*!==P~Vk*>^tB>eXljAm0Ev5A?;pcq(a=bn0P%+(q>;z>Q@#% z&(UNkDI01@U4Cua-wALi$BMTA+5>hW{*`{M|8;5AAnFm*Fh1h?CMQ|apua2J*8L&PCpmn`CTVD33WMi3y{!#V5fU4x-sXb&bhyDb7yR#6PUy1nlO@&k`f(sw57;kgaEv3bnaX z<*+bZs{b0*U884C3@Qtb$9|mkUI6?RgTpRH6@6U)IzkLsvnpcR;&4o{h2V_wHf8iX zc2=>4Xtz@Rn=MgcxPQ5YS}wuA1r@cJCzAjq;qT%1tMqSnQ6BxoaP;h|S`-bZ+EdO~ zdg%%?V@OokvzZk&h8Xf_2Yp}T``3M5gw{y17i1ux=ZRhRm z(f<4B=3RGfLr@<=F+%6JpV)#>>PCW)d2IamH*$|}&^(O&EZQF0EkB8XD*W?14}#}m z=e!v->rGH`e^L=!CT^UjL$(_Ct%Vun#7@t_GQxwm5Udr2lizg1w#tnuY|uJ|tnc<- z^whCbZ~jKOJJr`Ez0lMcN8E>3uT#M`!13nJiw=5r6s)Qg)7Ob(AlbzRaK(Xqj9xsk z9o@qKKQHAQF#FM{Y6;7!=yD7jqODA(-b5@Wlq8}$0*|zjGnl0M4~G%A_F(1id__Mx+9-4? zLUu{2R8FxU-9TTs>>N*~v1WX%d&@ZrO>mS~Wt7wbN($vg%Q@`n_;Lw3Ll+GdL$R^=&!Thz&miC~%)(dO8;8Z`6%>3`Iw3VpU3V=u` z3)W?8rMxAxZfKKg#wOXU)XgyEj0gqA2_7`B9CL}cUxwV|11xW~>st)jXdtp1$G^9V zVul3=7s=17&;j`W3T_M5``bZ%f6ey1`85@}d%7GKuuXT~#jFGq1Cvi77%js1%T#Pk z*NNR#MNjXz$-pB*OipB%q-s&&PBv*hug}~gu%1I$Q6+#}-2>q_hLx1nSQ4q6q%>om zLn39wB@Aui{3rQ&Qmx^zo1k)1kpS~aLFwXW%-hX?z9n{#TfH2D(aTbywT58$vsMjj(E)Z(|zwJUa;F~vM`*Vs=16vC~xA}Q)Crw+;^RtF1fD1hrs+FsGMirFEX_9l=SVp@M5K7{?Uqj@5LYcyc*bz ztqW~vcZ`hMAXdg%x?;OGCjkl$R0%Y91=rOH`5BlKGW%)Mu&PK+AIR!)9pIKyqh_a} zXN#+B6y(Vf4u{siIe}=RWM84L#EF5TTvTL(H>;1<ogCWy6~5Kcw2acF znb*`0PZwLn@lN{rLM9eN~y?<2Oo+OO;*u0xJgi z3!gA8wk;R_J}hz|*`SkCdN`;1)Ttn%trS<7CWW}bX4`q|O^WkR2`H8ThSM0R*L=`Zy(su>Oug=x%X8^UR9o zNOSeG)pTdeHZl0G6DKqD*s{33>qG72vfLo9RfZ@>vr`7UJur{Q&nc7htYsSJ zBwE}tRy!;M!g>@<0P28(mX`271M1)=9ve&j1ri;Gpk~tAH6wVA&_q~rYl`b!PKPbu z9oiY{#6&1gBw>CTT7-a#pe$=g-ZwGqZ-I;=r@tR+T}pA3>BQsP&B>m=-uPa^$g)}Y+zHIeQrF_E+Ub^Wug*#d zku57+*Dxl+35F!TC9jEArq=3(kD*N)4sgnkIjyfNeP;n}{%XwA`@A|~Vc(KhZ@_%F zMc71mJPmos7GYvliEo$2sz0w2lGfI?3u^su{rzqGK=pd`H>11LrZe+`fwDS~a#{r! zWZ`rr?GWi0({$qU2>rnka-6W}dgW})4DG&kq`*eXj1b9q$jL-t3c(Tz!jfbWVaPDa zvG)TE+=r=##@%aK_Q;{XH%WpC!K)i@SR*u8Qzu~ub=7VbX@(9))MEOXa>hX=m%Lw- z`?2(2;<{j$F18(*agsx8V)QEPq#$O)X*O&Bg7CkIX9$VxDxLA?rj_BKHyErt{&AK< ztx2e!ERxIdOjWr~KkP)N77S%i&ud*LoAbVIaw@BNTR_A!ooGI95#0N9|s@dvku9y9o& zE~6yBI-^|$FwK%PY9n4{Ca~yz=ufC|kdgRk19Jq|2B#1a1GM+65m$l*jNCBMuWulc z+%?ci`lNrvrYL{A{+W<4w{Y^X>AF6P=BM9<&PuejFDpk})V>4q7|2J}fOA^gg@O&P z-#D2c4QK%pjH%t+I`vA&wt4XGpMnM%DxK6dn;MV0x8>%BTsl^mdm)Yn#ur$RYjd{3 zdx9vWf3_2q#le59C5pT8OkGm{f$INjP`CQS&t!bM^erY^H7jPhVW-R@=$`-q&vu*) z?df&|%r4D0V%XXBd|L!b;;IO&ZQDW*Wa99K-^%wGqfK()KbcsP89QVZMfEhXUA1s; zSi^TTmEB{z(fxD>CDp{29y5@sUw%E#TM^X}fEzl>6BkPKDPA$8dD4vR8ftAdf~M=v zHCYY{-F-IAVA22-zWj_e5?mlkHpKGH;pd+DNllNqN*YT!$B^5ZEY+gq;J#^u3sY{8 zBem|sn~vL!X3-Q{ik(2xJ^2U5)a%pwqfZ88Jv7VKp+=n*Zd( zJV7+kx`I+sG^wm}$6qSxRY3d|_P0+<_b7KnOINxT%>z3R&3Lakx`|p4%9LR4P8*x9 z5Y;$OiHcbR#IbzJyvks-JQ||{vL;p1>N=Q+$SX=CW%+yHPI#^NL5b^w@f~v3#`Lh>pO7kUtW!USO?GAxWnhJ z4S_te!Kj5#vaj@$ccl_%eAT`lUvA-a7}9OpUdj@KD2W%kuOuB)o(S7(?f2B0a6jBY z(I`+%#(#PV4nk_f3(lIk2qKo_Qatr5<8W1Ga>da7d&DS5@uzuxBo&1}dblH?!WS_% zNgnaV+*5+JVMjfII6a9{+<4?bI`c=b^gR<%-trhb@d+gMTyu@>c%+FF5~__L>dGHU zT+Wb@>51_ArGs*Pt=pV)J~XI~^FK#YB^+|_1iq$)dW{Cv4d$r6!5A{87no$=h7CtC zyMH-3yFb52nvp|V3)UTMgNkaUP9*t)mv&osiWxfbztgK7%XJVR3ObCXZ&-WXM0z@?h`VR3#hUYpy6l($sbtL`Ha5ncs*1xo+)O`ZSf?DM?F-^gGiVM`7=8NrOg zF`9>4{r!A>d~QU2;kqod!j9&4*=aB4V~l`Hfxd?N)!qL-iXBtoh^qZdyq61GP1Po_ zNfSUf>J9QW-HvoN!YRxvfi#YijVg-K7$6f~3WuF@c?H84<|(Slo}`KX@P>a$wQ zUpl?qU-Z6(<~8{=;Z;5YRz9?&b=X#c4UuG-pk}L!CSCZA(%19hW}ZZ6s0sSKhkFdE zIT(c4r;CV2l*C}VF?WFnok?p@=J4O?`WbEwWsP9Ft?dlGnzYAT4-BsMP4N5O2I0E& z$A_qf*@6!xde7$N)CvYxyTqOOwc<0A?O7q&hD9Iy^V=qL9d>xf;r^;6xoAT`Y_dZJ zv2wl?>TqI6CeeEp=#)0%fFZGP(!g8^Iu@i|dY8a1Alo4~d@mX8{{xWz;KOdN@lP(d zwejVgOAR$xDG|v~>zJG!W?xd5-)t>swTczrfoQDw2eUmEKe{zvNe92jnN=enaKgnw z+p(7Q$O9+q&rBlJx+j=IL=Es`4G7>3yw6SEh(b#e4v|(MoVmMZyBuHZ(kiBlkR223oD0ImrW!%|66!NwOsv#W*6^8720duhnYsHynq(N5$4k5&%f|awh1%#CpG3pi~TLZnaD6ha11Y` z3qG64UU5g7oH$*f9>{5O^#1Q;wRyu$2q)IY)bPbX8M#g*p&L;q_#O%F>KE7G%7z0L zEPeueltaTHFbaqQLrbc6GJx_!c_g$KwcN!IdQ{vBK1-j&r%H0;-5NhoiG~>4+<&>k zLRCotEa?irbX;5Kt$eR4m{Z)K2juCV0x2EZM0WGZFNMII(_em!3XlaJ7ex0nWRrY% z!JD?DDMrqmvu8mtLx0Vpq+vZRarPj8jon;QJ@gbNxd!^pWNVm>lCr;> zJoKE1z)$(i{gg$2B#3W?mcctXAM0P=D7#{YfURR&FW6BUS%aTPmmHf->=;`*YIU{JuCv_;fDJymG!u>P z_Jp(?rr-2?IsuM5uOZ_T4Y*IssOj-G<=5jMHy_fYc#l#WtW6AL#C+=>J=T4YPlS!3 zTDVxozG#KKp8zJv_^l` z#dSZ6zRiK?*7O;sG#lhHTD2cft~Ak|bYFa}g4!M+&%&L*okp3zElt0oDS7{nJtemk zt3+ebR~@VFB{vLK_XYs>E>Cbbbh|J?$w(9+H2r0N)F5GR?35lAwy zK2yS}=jD&+La)1IV-nNFErhLFsyipo*UMaQ?cz579`N}2wHDjfE) z5%@AFWr#)gNfS(N)QT>M681BNj|5}2Z9VFy?LzBd;!-@U|4{0e3L53qnz7j&mrrSZ z9-Z_O9#+q$Vqp4Ico@DLX2_$^8FdIu@$R@MZ!lRNY~d6V=iwO(9=9TDmzAPYMA*6W zg`n79zB$HzkYRu361ip!REX5!l%DohD8qe}Bsv=Vb6oAC?Tw32*GKv&;CK&ku9K0s zU3vr}x(FMbK|ZqAS5DHbrCg408|H?AIx5tg^HPY><3vaSWpbKZ)bw+SWBowNc}1Pu zBUhOjt{eBeos{v*<0V8eb-O$GL!jq&dcfg>W{*eO(I2Fr*8~Y!Pv6>XEO)>;-LzMc zu&|tluXK8kJNl`epaA7>)}TpFF(F>WW8Dc?jB+&P*~t@@5>}qy7BX|*oyC4+qSHRM zbXkgDo@~9lg}4@$o7zx<|Ktf_Z=56Ajo2V17;lTzkzxQ)b>|NJf=p|mnmGG3ETF5L z{m3ULB6f& zRzBF`o7azUGjM%x78DRXtl!p(3$$ku0=^*?9d_~47U;yswM1w#80;8p1X3ACEnzmz zjfG46bI7eZ^*Dv;yjW%&d1Nvn6}P+QEf~bBZp12M+;p(}L94?|%wwsR!QO=Uv8w-D za!P57ACL1Q+cQqp9?cKj)gEc?ywrZie>W*(Sl&(N(}K{dI0sgo$!tad-|s#imtj|+ zUfSbILArJOM?eTSyzI{oE@X4}eiWH4(tGqo0T!;aUlUpNkN!Z~7b}Lh)^2*{rbA#< zm}LBbwEtAqTaNkMm(Lto_cCmhXH7fy=T%Fv`^7kfH=BUg~$Xy+B^ z4*^yg!@E`HY_ySW1;5~p@+82`JmU*cc!^>Q?y)xnz1bt@ktNI1zTsA|I-tv$v(oyN zH|rz}mLy9oQT;@|Nu&Z-!Z|M7Y@B0D;-5xs?gg$977)Ul6X?e80DAi#BSzgSi#6tE zhA0*e<;@HcnkiK4^8Pgxl|WfX*RJkX#1?tONP*0s7~apv(8na2=;pa)AN8me>wCZ| zd#2d)y7>&@cNw(&?jSM!R=_A#eNRcT49KPZR&H=B|5+!K*wCzgt~+B4YSF!e-IwA#oge7>%eg?ClvWq#HVRZz&L^l+*sAy% zyjR5a8%=w=?Cg-Hz_a8!8QFAlsIeWCpzd>~K(+(q#-Q782NQR~n<;Y$rX~VhYi{HBDZx*7%_XX7deAuGiyXcV7uuF|akd3V%|9x=>%(rvSvQQ&Fa)Rl zJ(tIVy8r;l7Cv{8B;a0HK@{*5=4Hbex(f8`Z?pNl24shOBosaYH)u(tH8_{uhK4nEk9xv7d? z+W&Qh-9UA7qD9uBNus;v_zZGcqRGF2?r$XT8F~@!wN<{y&^&TwE;wFMgDni|v0~&kX74I_Um$o-Nnzn5yRS z;ZMbjVoJ#M|9u2+f1dkx4&lRyxZTIK zE8rNZekaa|Y1$3OVvAP9!Va^vVngijnbf>6#=`6;<5S^TQVCmdm!s7?IjP*{6v{?B zO(~ESQfS)x#Kww@o*0p#zLUlltd;IbQJeMzE0kytgUU!$fe@J11}hBFLgY?B5ZsIn zS@cR4P8zjUOqyi}*hOObhoEDE9qIly@O=d#f- zSFCBRz%`TLb||x1uw0eFrdc(HNuSEwwd$QA^(eFHG&^|p#A;eQt&S^ja?IEw6`C^k z(uXW)c__FM`sy9it%+S0EJ&{iJ4^*#8YcanDYHN*{zRyGPX%y~9Pju;J9@n*W=CYnn9Tof!`7=>9R>}&)XR@`u5fV`|r#SCSL zuNB2Rc@22I;-c_SVznd1ngOz9#4s|Z`pO_UKVAIz#f9zC=ME$54aD=f>-XECrWL@G zx*Ux{v9;)M?f=?;FOlg%ef=hO^#Mp%E|ZKz+nbj*1V48dFa;M=yv zJTHz~-;Hz6N;}Sawb(7oO?PF|0LJk0I&Z>h;m+1wh_h_-Jmkk6`80zy2(S7CXohGb z8SX%rUv>L~IB-I=UL8N4-FeqLVF^79z%6$fY}jplk{Es;TNo>CGg@%<{|0E;+Z(&v z04+Bwhc3_d-+nu-cTD@95k+m+9&J}&ZHV`RPpnE}Yogp0clX)f|I{K*USN2=Kl}|5 zi{*pNB84f|%z$+HRE326cy6)zI`|(u0C}0Ci4}_BBD+b{s0Ywko$bgCLXM$kT zmws(8S@jC6k6%7j+2ToIdr2{oUXwP9`xE#-;oK|aDHi3ru; zkvWbDwTd*I(rD@T{9_^i)i@2QpVIEewoE0LA&lgWV!O&96~lrMWw?YmdE-xY8VI)Q ztc{P>plY{jhpPSsJJM%PoLcv2;MB4P)oW`I)U7xsJc#7~bz@9G_7y!(<(4};T&Y+A ziX0Yx+eS;QEV6c!fS1?*RMW97(D>O%x#U}0#7Lm;Z z-w~KZ#4gxxYYGWZ+YoI$Cym-R4pgFWzrx0_z3s2b%e~w;_M_VoE~*7sR?KgS2vhN| z85y}DtRs$z#2`h}kRfbK7}!Or>On`_wuE##nbi1oX11ExqT9cPICRAtCTd>wDXrw- zFT<5lw9q#(?GDCVV>FvYkv5fNkL1S$EaTcux(EV1k4%x4m&tzN|M%0lDxWW;;}hs$Qb?L9L@wF(f;| z=o!Cx5?1A~hucKz=Mh7@Bq@qHu*FLU`eq-fw)Xv_OqMwC>*X?*(8*B(dsCE9kG>`u z$bUqHm;NT5jpCs|zC|(j3=}I95{6YV+5(01KBFP!hm>Mwazzru&M5vo3DBFUpcKYU zG{#+8wRsN!_=a71_~C4NJWp#1u5M#pb7W<$*LGa}W;1+Se6w@E|FV02`kV}VJp_~w zQX*?cdm?F&lE{C-pVx;~(Ex*YaQcGiI^hFF$e%E02Dg&#BGS6}%K0Ifbgl!KX*p%p zGX3SO6rK-ojl~OBy1@`boh!T2aUJEX7*Q5cSDBJ#WEu>KjE9Pq;-I#^!Q-Wg`jweh zk!JSj?((TO1UZQTB8}DGynRYCpI$n08k#H9lV#TBBSSKNuL26ZUQw**m)amSe5gOh zFq$H}=(N6wh)ypYI5pj;zgRgC^O5*84%Ljz0JxRJ73#1F%M^Ng)&#vZfcuTtzHS=THpwO@%jOL>wh91IAHco)~mblJwW#O#QxVMXH#B z`B3bibJPBV!R)>YnY2xHvU1DxR>CheqWU(}8j;*+K#o>*9|KdiUR%u7Iypz$m z4*E?0esYT4BPqNOQW4${MfZn>)x#)7t<0_@)uj;}_4FUzWo#f90?S*Dl=?%7&u{(In$p(^lrsOv*FvFs6U@zpLq;zq;`S?I%@Le}7|6Y3;`Gxyl)7u+ zJ{-H(RWxA0X3?Ww)HfVJg;>mHTyht9a-kxZq#X?(J>kZcYD9Sv>O)$zQ5OAfyzV## zV+onBUnnPyHs@N-H4yN4iYbbUHj6AD0#5G0zX~%gM`=cUmTPlVdjDcF==u275;#PM z+$GoDKV`YC#F9r!F^e;GVbF6&R)iD1GiZeZmHdyV1t*QBJ3X_PT_iW0KV$_n-OV!J z1hhYiE0+VFnT&BOF1aNUHD9WBqDd%zOaq8K|bh~s|8;`T9y@3D5E++mO&8)S* zpF*bLh2$JEU;WcSoVLEuN?JZkP)LK77u#aZii~?6o~Rm6tWjew7*xmjzoR$r3 zK6$4XO*3~H8%>|kt=Trq;6VYmez5dDOUHrp&VTPNtU#=^h(Glk0{`Vyf zma(}wP8VoPqQ1KBcV5M(>#wXrH&TCeg`L5SVSt$?v6NlPi66)hHlcNJ9=66teW((E$HR|9SulaJY@ohcnvu+|r6w>VBfZu_2=>`qm0s{1lo*l&rBPRP0VBD@8x zsvYQ1cn-bhcx7yK^Uz+y{TW~Bfsjq_TNPN_?aNR0OPp2VT0;PAYcB)ybTRsjr65H> z{m}rdgPa<-j!vs=r_GQX=1Wfu?TF8}_1|QdIlyf@XBD1tUxC`ktd3CN69B0MCo9JW z*h0K1uk2K7a;@oR@w{AP;nLgjc-4awXQ%u*2fxn%kl`o}Qs^8$Ch}4Hc4zj<#w^#Ca`2UWI)shroYY zj1I~m8HBpP&y*-I!mdc-#v>$Eg0pWy#x(d^CLI{-m zci>G0TMT0OCWJZf4fdlt$I#rp=kfWa-vQrU(YZ}WnALk5i&nwjFmgH z`WhkWfr%*V@z24Jk#IUloluZR?prYDb)%?bQ^-=vASu`nlBBySZgkwecR89}zD#DB zlJwW*u3i0g1cNVwZoI7BXMzc#Kg6Pwdr*EG6nRy=S1Y~yv6_Ax`jx+_2(qqNjJ5_giDK@VZTGV52Gbzy1-UCisl~TlPGS__`JcM z)>r3pXTR1P>WXDq`hsGh3MWcqv$L$TvsO)%`}boGb~FJjJGOh{se0B})a+IhP4G3H zb6|A=S^CFay^|%)Zg^`=1UtwZSk*l|VbC?4J3Om|6D2OsO`9vYElg&2mlji4cLK<4 zklB|zv(hOCY58ml+Y^UG+`Gfk`ujNAMr&13B%mt}6+EeSbM?INu&5(fImwo)nTgNJ zmiwCR)pt$$f;suLTnWj!l8+@T_Wb%TI=2rd9k4cm7v1Gi9G;^hLDD(kn&NQYSR#Yj zB|mTO6Y}h%VAG)3g)XE5Nj?+TL?=P3+$-3Z_;Q0yW~yE7!-U5?DbkUkA8HxkiH|+RDeD4k|DveD0S21*Eg% zKojcHD$r_=p?iNoz19dndno2AoncuHKcX$-T{^RdflY05I&;<8N%G?$a&QE(*!z4x zy&|HiU^pVQm5qJ%X^*OKgifeF#cfQY_xkLrQ2)5q^u;|MOK03Q!6$A#7pT?UJ_{U3 zfDQDM4CzGcDsAJ>h&Uk1=`eZuQPp4b4`S_{OWwx|t!F9$Lr#7=hys!Zn-F7ei@IZi z#A8BVxFeO8?ue32`R!5$@6%+r)~?m2LL58PMv$WJ)!RuHyQ(H?0}_!X*xR5IB9P=H zfF=;ty%Jq}u%Sj&h}GlrCO~E`v%+P$vSzsUujMMO!S?h)~XQ1Oyeaz-fL)4BZ`S4$Z&RgZOIfQJsX+a-n}#XnubeL{d1Yr%ZgRUI3NfQ zbef4y5V!<)bB+d~zPhvjIGw(6`Y;Z)8l&2l&odu5A(q592&*c#+vh~>vnBepk5&00 zy#}(N>=;N*2TrVX9Mm~4)5k!0d_N2|j!4Ek zlRBg{6WcY78$L)Pe~^X+78t&_I%bGhbz>S7PnH4m2iy3q(Fnp$yy6O0<0UUz;M+;x zuvffNP2-VqdkRmiJmO$aV0K&x^f^|;6VDx;L2Fn)f$~7V-U#U8$X0(#=^z617{BV^ z?Ywt_Xl8ci_cX^iSNn3)O>P!OHX?m(Hl+{#q3DEt)ELEV-T8GqGchD3*QXNGNpzn3 z1|7u4#mJtuP{qAzJ(F(Bav)ij!WPUeTxQE%qkC{0*e?`h$#ZqyA}fTCx6n zoQ|vftwyN=G`mL0=lY7M^-UnVv=)G5`TkwotvZ!QBB19}s)IbN=9jp=0xa-8zI?g1 zkiFXa)9D;`*;O0+&K6SbSW?#}d@rM2;lo1k?R$NqED8@C7OUO7?O(QkD-1DI+af&c zzGqr4{JGV_D7Z7r?fQD^Cw+B(AB5%yR5ZhZ5K}sNihL1#D*L+@{|y3N5eodzs)&o_ ze>k_n#=_3>zpsim<2G6m{v`nHc6+QxoA~J1E9WuH6fK8|&aVq>ZU(tuk>F^T?H5J=9aQ%IZut1?j`^N5tAk8Ls)7$TT zIe@RxcQ};Op)C_03q=+@(PjT>L3CXjY0S3j9Z}tLG|fV}_mf$6*K+q4;NwBRs4&F( z&tP&}W?Ez0EZ;^BqQ_zr9DrsrcutcIg6}qC@XNbnrwmel0)NbcIkYda62Q+%>wM#? zkTHMgRIEk6*GryljfZB~!r3318_S9JGPaJN+KwU-O7n@IwdS*Wv|2t^Ud`a9zLsPE zXXT(apC)#o;l+_`kJ%6zbeScI1849@iL-6lb~NXte|2|S?$gx*%2>a%y4t8+nx^(& zWuVXIP7t(WwIvgQhGV%ABlvthzAdpNMyYmp?~DX_Z(=I3?#;f=JhY?&CFCJl67~U@ zNqQtSm!@8@{MzMx=$nhzNs`7x;@pjMo5?x{gRC2XMJ2T5J-gj<$Q>okBS}+t8%{i+ zXH(!Z)t0e=UgkkujT6@jNk` zyp_QrxOJZ9pOFX&bgE~6(}>mSJ_aAMHE{S{6!0`c!y3!peC@ST6~nqDCaD{AY^%>| za$!8a4-6ZsP9oc7EXi}ioJLIxkWM1qYI-vj8D#cVR_Zzul{ZHy6_MP{eQC_i)8_^l ztFnr7XjhqM^}FdRfXGO)%4)~lG%2J;Vlu?Hrt23k1tc#o+XA)B+=X6u4%Y&?WY&W?hd zdGHs4YpLEe4yR`2Jd<*r&<-DpFI5Ep?XBfpy&VfcPA-x64$<*)wHq?g2f&P3DhG`& z{#`r$<5JTi9+9}}pHGDxJ)x&$*1RJ>r>aS$vJ&u8VRYT>5ripac<%M~h5Cv<4XXfs|gwWA$`jf);y3`8Lpx(MmA zGXH7+T8KTABO7Kj3dXN98{4!b;TVKxMQf~;3&1lYQboqTI`3p%37bjyqmO;9_b*=b zt+64!c9nlT6Vy`QdZIhALXkP7$#Ha|i!TERQjTacjjxdNW2779>|qpqg(Qxxk)3=~ znQrmxN+pCtccdBLppp#pU%pHy{e(pS<>q*CYa|ZK!pPLc~|$gBK>d4CT;0p)cqgdZ}QCYvdgDZKTbLJ^d@MeL3p=K z95ZI|viLKcUT`-b*`fIS+5Nq=!5trH+F~8yQ2ILBqRBSsWdhiu_d!4_x$2B2{8?rW ze3%fjh>*9!mGuVSy>0JRHNFove)lo}K;4PRSv*tUya_i_fIkI9PG&^HazC!)4w|{4 z6*^E}+*gv5R!4Je#ftV)V%^B!cXt8zB!Vajv+6(IIF;F>zb9$$yMUwCp_uwZp|XV| zeRxQz8mWkU@mV)=(OX77@Oh60HEb;`i+dgf=4UFM!<05T4h)teS$&}zs^r(19EA=# zlkv$j@$Akz1Iw;q{uEaU-pf6$8d4CrY2;5g>6stlV1ZKjs+_sR$RJ-XGdO~a2uB1p zyu)s`?SksMbJWcuu{-k(B_A%P7)JZR7w@CPMJ;QYLEjcL-s&S;+v0G>QB}bltb*;0+2jiS zi@EyqvdFJ&a~@RcA=e^xGk{>!>T-++z$Y%OxN}4Cz!@fcXBY71086}l#FARcG{qC^T>zhDu1kcNT-SH(RM3n^*kyG>QS70NB_46~k*NU_5##@d1&A^) zehKYwXHtUSGE9L%6ThM5V&qKKYJiZa!wi$?OQYM9T>V`;zVw|^(G=V`L;HDH;ks>I z?#N7|A9UsV@*aX)8*m^OH6k-C3fVOD!jH=3|I6R--Qb98W zyn9DSUKaoP8s%#izhJKZT2XK}h*m8^31bA}NbmF!Q%Uyg^q1w!j+kJwU)|w?i5*1l z)shGc77N?BfW~AtRvZcYjg+@r-Kk3M}y*unSp19AUq;%xaTtgzaC~nOt zn&?D*09tP0P}bB@;|s3AQ=}pL>pz3bgn8?^~AeS^u|i7}j7u$`T+M59p;{s`~T0dNC(Wy7qybR3UwCuRL7r13z4h4=W)& z7YZf(m^ASl;**9HMG%P;g$e33P8ij=PbuZ&ABT-ML6QcmWlQ^tP*f-*r&&z@t*#xpu17oTy_-$`>!@^{$U`U=rJ2~ zX=R%8PXSEItFt>;@cd-ho|>$n0VIV{aLsI0qWv%SL-~n^y!EjBhdP&5dJv9SO_b2q z*d$dw$-vb9w0POYMISu^akOJ*(Yr3Ghn7PmK(F!H>wO5v7kLkqPQgON%_T z>t;e@A?*GWYsj_SU%Y-YXD)VyOg)8JIB+V`={tMeEYMBysL9LiwM?EH+l+?0;n6w; zjRXj0GK{Hm;j5QX=Y?WL8PQ2;)VHV<2FM?QSrH}{`;rCVk0hMefb(CV!BXis*Y$j! zpN$ih`bccY_t+(S=i}i!+H&k2Jo|HwA*WU*xA%rx3Y7VoYL^tHC6zV=fy;Sqd03qjF*GV?V0g9R@YzMu zc?OsBe(VEbs+Rk1Y>h&zTv>U?QS$4_rDA!xjg~oJ1rh0WL9_YVbp zvHtap!{Ou?L7;qpm7Dk%1zLBalfJ>~@OeLs7afbW8FF9`WlO2<$2ZT+F_4YfS5WjB z-tw)^DtasyrpS;*@G4C|a>*xj;)q-MdwAZNGLOrM{)eiBo#Q|EYFN4de^AuRHH`C%4nN$x7DB{_|zNK_I;3l{BO&$|#}-4R=J=E>nSs`DLN3FN;X?Y1(-Pp31r?R=v-Btw=u ze!d_}C^U&QnmS&ZOT9!K3j(voqIpGtB@?B*^Y`JUomGT?9CmwmqgyDmVnu~m_j!c% z{5rg!FT92eqD?X`&m4KVgnj3ZsooiVXM?BI(fM`1yUpRddyPgbZ_{ynW+=xw8k~1+ zz99a_ia{ijRbVS*WM>x=89wv=1iIhS*0SB9FI%wSRb!5#IFJU=?oTSRe`ByUm{vELj4w{ zi&oO|V|8Vy+6~Is^2XKrWaAr6UEuCHbmtgVAR4<}8;~13GC5&0Hv2l7(oUNyM`~EF zgIu0?Zlrhzoo@*2@F|O+WxUBo&;C7qkH%g%N(AW@4QzX7s!|kIia}SUCh@ukIjF1C4D(_EUAY z=0PhyU2^O+nX@airI~9aq$tZ8x2H9AtSf1Vq9*&r#3XDH=1gyaG4D*cl;`nQCvLAS zVzTa}Z{~K*fJ)Rv)z!r@jOr=b<6xQIsp$TBiYoRJkuWys!u#D?otk@ znbkZbj@@j_*2a}cq;>817nS+Tu5Gn2*BN{N)n#R5jTsB#GwTsC6ig{L>4QpP4TDbB z?TJCiCn6=Jt;#f8{tK`xX(T(xT9EJZ?a+}4HV+&1@BEhOd<*O)nBs%m2dvn-q>{q? zL#yl2^aA_N>=D^IrpYZxw2?kU*@Nox=?2h`gHgAQqOkK|4~+U5XbfG>m??a)m1c4w!Yj!*xuS-iEQIu`n+G3@}ItmJ-2==s<|_9;Tr)n#yL*x z2fq_c=OhJ+U#6#oswt$uVj5Il7>leZN#A>sB+~UKN$2PQ|G|$D1`eKI_=w`FB_0ri zg%swYFA42r0E#g*lh<<{?d}eu>Wrip; zDQbX0>1ZBPgwos}+U%1sMJSl$lJeEtQ@uuU9CQf6Ba$M%s^#+z~^AnmW;Nhms_45Ge*QC&38u`cmLkA@Kbi1)bA<6t`Kz z+Q;FzbEBgv*5QAcFtGT762e9Rd5iY0xY_22kMSPXJ6J&9k$*}aUYK{Zgk=g|*A)Lg zd$v~fX?nYD*3ov{E3;^+cXED`L||0qt+OuoWQlS~t_+5xLL@2Q{*X+69@O0f`oPja zqm3QJV1v0M8Wbb}$J+aYVgG?I1_p(ogn|ihJafVI;3S*2h_0D6RDTTL=>;M)P?1w# zFC<1pU)gi+qKCGHtf#hU4B92~hdaA@LB|gS_pR#8IKvPjs}QG+T1QZaVZ5_cCyhW^ z*R6p9gE5>+uYnTa1?aS^xyY=1uc(m%GBSV1Qztb&Vfmy{cQGMAkF0!!?x>v)x6SLg2A>yK@oNsXD-0XU@7XTdfN=w3+9O+rS>uplEtJ5R3GVE`>K zp2(bXwqi!_Kk4RMG=l^MPbQPMX&geH(cXI`htS0aDlwn>?zG^FYr zHG4yTCf$Fs_*Z(B#5c(o^LsHLAkSe6Db9CTighB<%~ROm&v%g5$f=(qH{_@$8QZ*; zNlZeb@FlJ*$+CI3|Cq=2!4L^cl-nu~l+ex3sD87Uj3AP_Xab zm6zefw@-QxaQw-@Nm_V)=D55T=Xl(HMeL5YJ=BCt$Sn9WbKM~_2_}<+Hp;e6zB4{( zF|#0Ar*Plba;Em&H?KLkrqF26Hq1S-}%=Ot3tR3U%U0+*P4fUPp%cm=hcok|CDsu!@n<}sVxMk?5Qay zqBNY-4~Gi3qYu>lcbWpLj2rO=zOYDhJB57Dc}n=c#v=-e>&5Q^>5odfYx)sOzX+K- z=eICLYi>x5&Z*uElkee(DSlvM)@f26iU+^aAV~H+oF3$e*KQQmGIB~Qg*dv3SI^I0 zR8^TMsvZeh&@cry+~LkfR@7|*yI!@+3hOv4DuYec&(U;hq-eg|%8K|PW7^I3KPkxy zROG6tg?F}|++d|zB!|$g4Hrn3f1D^b?BOFA@~1YpP==?Ybq6w)GI)6&o!=H4ua)TE zHk)zH|GGxgY)TGI0^XNkJ}iF7AKv^^LZss$d~b15Pk<7*Vfly0_Eqys^pU{Tw^Qu; zu9$6f;G=gLW0UC%#_KA6pzX_Zk_3R&5ZJzKByTO)8&V-V^m_z_I$skHQI#K>%fQ1g zb(h7Mpy(T}ASQ{Cd>lYUzgt_%9Gr1YH@2$Lic7zR0ubl& z0H&zH8ouPtIFyH_2XdzM4Ok{B){wpnd-ob|H`2&3a?#^gi<3nksi^VjRC!{iiMlMa zpdJwH;Rl9WgI>@{k;3cFw@KZof&^2BzxTJelkiKVb_?0VqP&oP>-|V+FlS0w8n+ki zXC~Jd>t}}=|Nh6v!xSpl2eCG~lsM_rwss3PgK^W@Sq zF;XcGBB+rP{}N($Cprb~^lz5RU1_-Dt1)!%+aikI!zh}sAME!bMhL%b^gu7F@9rNs zz%wG1_D!5n!5xxh4f9S4>vqf5(-EqOP~Cm=Re$)QxXM1(1W8x5t^tFa!Qb3U)Kz0Q zuiQm%i77^;Bjd|)@sf+CdGxG17L2dncC5ue{?(Dgpay1_nJdnSKz!{)u&FL`05Km6 z&{uX^o$$ooR2=uky>p0(Npt_!9!juJ{d9?@63!|SbeX)K{(Tpu0}srP{^d3R7!EbvgNu`tNWnr_cf_k-NBI1+MIMGFP3GT4K=^Xu5jq zzwv`_=fV8fqMx1Z{}j3YKS|>Z|C=<<$jR~F9aRi#DaPTn!usy&=a04tup&uDsMtg7 zk+@*x0RrVhv+%y|duz6dU2PBUVA=op@XyTT+|r%mHs`d#Lr+^!oFj`S;1@3w5rWc^ zhUb;_V?n{De=Q5C`Pl_P+_HjJ(ApRGrQhcO3ya<9B2|Oj5=DAKEf55~41CYzV}Sm} zqT0uu6|KBGhUgxLu zFJKncCmGiU^hES#8ofzkgfwZdX)5@uijP~361BTt2pqVF&11uN}Rpw-~#pMEavd=FW@pp)ji z3H6SZ6IP^($Vn8Q*Rvxj^WV4TPUK4lqdH|g{U{%l$ zZOCuQJ8~Me{<}4!lW!ZHvh8oEf0A-d#ptTbjrS}mRCq!gVPkp)Z0rz|pKwq(2vG&K z!;sUitD+IaNr4Q3Z9Vtt6a)mrW&-;hQj%YM#Tp!@q;76rx&L9Ge?}T|YWO-z{{z#0 zk~YPvNu1*I@O{0RTKUTzr==$Ky!9ENLG0rSi7+0_c!V^Mg!Q~YmP6TYkb_398z_r9 z8Y`Aps~S#jQ%=*G%5JDa!)`IoWzcNefW(9&SF;Y_GqhDKZ#<Web3-^?R%P+4uHq*AL@Ss|q#WoaW2Q4%x>H9rv($hG8U}e1rj> z(wG~BwqpM5e*`s>8KtK)8>P3uU&{_dcZPX6p9SFh?Ap}Ju6@}DI_vR63q`+#|FGxY zNB`;3xJWo+toe#<(+whniAFwMN9T&8Ii(c z;vnZOgH=+(w3i+-<%I2rT}RpYAA7q5rP#G(@{6XB*Sw4Rn;fR?NB#-48`vQQP<}y- zJYa#TCpAG@GxhzDh8y-ED4fRfr)|v5nr)C1I5d=j6$?X$al+19g>^! zgfff_0P2B$pzV~1199v1Pnh2@*Y=6@7la{g^JaQM5ttYx)Y!M933^%z{s4RDYj_?p3u4 z6s?ry-TDYP_ZOGrWa}dply}%@geVKr_17?I2>~w zPDyDlM5u5yIzk601zthN|Pi`@}QmO79NXvbKA{TL3;G0U+dQ2{nP6M4dTgF)!8H>BW8)YyLlC@~H zk9c)~suVGK&K_9n9DCvpfnF18AU$^^r|yw1x@A1_a{j>6eFjeY)bw6&;5(XhJ^N;U zbt#DrQc+zuZqL@S?`(2EeN$I$%VNA{%Xu=Jmzy8 z1TI>-CuiEnpyyEbWx2@^Jhi#zgirLW#)J^DE+Y>sph3)rldqWTh!D&>&B$Yc^_W|< zRK_~-pk%=WZBkU8L#)VIsXCZ*WQ-&n5I{g1Cqq5qxej7Sk<8GI2G(T%Xd^)Z=j{?l z9|9A232BNrTN=vBtw!`5CKalN#x|6AMR3|$(?jw}HIY&FDZvWTa>bC&Cq<)zg@XYe<#Ty-h-2gQdrE@qqN{JcJ;l=Wb zqW9*`0m(B38B2;2(Xw?10e_UGEQA~`hQ6=08L$%Wj<-;h{BzI=El#n*AI&ynk~4Al zbY+8M;K2>Un+faX|C#sG|N7J0+wT8j-dnU!aw^67$GJr+@~S=HjYwz_ zN4OrmJs-FIff3$;@2!06&TXL7aqwdRRD(9?)aW6~1&SK2ce-EUN>4+i|K>iZr6*?} zdHlqak1VX}uw0;&!IQ3g01sO093?adae^xZIfkc0TBD94QMMf$~bTRI9Y^bT1A^pNA?-ka3UiXZFoH#82IqrTr^yz?WnN-$x9W!Pa%4ZM*ii3EnJw}2Vbp%D!58Y`0=g;G`;6TBdkM<)vWK&mk$uHo8%{3Nz_l;S?oR^K2Kds|9@ehrE{Ae z^Wlg;%HSXrk!=0V^s#_@`;B$r&Njw=jC+sFscRtw&Ib683)eH zRGc%CO(BWr7ft)WqC3C;nNBG)K$LA?&>o@oVcshy@WkabH#OkAk^KY>rW2qUS5 zOEqY~T@i9?}_-%r666cwf|n|$rp z9isSAD3S#;IL4Oph3$WfxeSX||HA?EZjj|~QG$I?mo4lV7{uU`pDGjSM zZNWUplWWx!xiznC1BzVg10j07aMhcd)a;DqCrC!F>V zL@pE+S6Fl0yfJ%a5Dk{&Zty1g9#d#XlylpaC;1g>Hlr|@t z-s+)-q93Ryj9dgMnWSfQKp7fHVweRtG?$>X{XjpN-nXRfi^6f>d+#+%OYU{mtZv>ZH7kcDxslYH-^>uSTMcOMfLmF z<4{@;+!_wO9Cl0v*V}f|XRWrw#qQ)R5Zu-_7G|&OXkw5y9FXjN4jaK+T`tZ(jHN3< z&?b8jvbH65Ce(93cLOzqR{oE~BL;E{u)7)vyb> zC2$(#@Q?I~$emtmIfV%WGv@y3mWD=6^UnbSnxQK^=qXw>(wBi%FX0PiINBb7m_Pm* zzPxXMtoMnN)AJYopE*jx`LsL!6PR=>3FthiARS8>a8ej&Dzd_E^@lCRSGZ5=8T{bY z*7-WH4!W?Q%*ACU!)$Zai#G zM#?3ODgV%lxLzUgI>=-sx-t-|awQ_uHH=$Ibo^^J`rdbrmuVZYH7>9gIT^xr=VaeY z39{{#{BnOZ-xxo?v(~vY;LCIN_9&pWtLOO5Y;>adzqG5wstiAUJw+!n4Xu|aeEjaQ zYx7M{_1VgXoC}z_d<_PZ;%Mw@aD|cBmn!rHfD`~Mlra>1(ru-?TNHKOlA+oTlCgKJtZI#09 zFFNfb|Jaqq-y(=ONI1Rq3RP~rmQJfdQQq=9&K`AtL(IDMY&De(LC`2*O9A)G3xgUhQBGmK0pqrSB? zUDh=>lnCqb&su~@q9JkJ3Qd@qy$I~jRmL4l++@M3N=X(xY2edL=j{M?>Ou`l`7e%x zKY&3dk0+OBD!q*R=aWT)$Gw8`q*M32267j2eXD5y=&4oPSyRtKX0#FCd2oc*$r-yLgQ+%&~GgqX6k!dPt)_FC_Q>dJDHXsT_7*d?-iVz)R$Y$qE8MDpIZA-SYtpf zLeT-<2Q@^9zP!1j%jt0(1t5Dms=;|O{b-!}U$^t-E()M@L{myc1VFeJg4|DX4?1MF z*wtTsDXK@Fm?ueB*V` z*!D=mDJNVhHqwx3N#E@z9Cm3wF6AyKfX2Hvrs@t@N&UMc8?r+{r9=CO5ys2I!fe{YoiDCkYmLqXiUs1uG6F2&6X~6!ftRZDASH5 zWH~W2n$rt_qiI?_2{57FatFb>J&v06ge9$>L#OwKY)!(kyiVwiB;{24G;oxK|lw<)jN-?+V5A$=xgZP@aE)LvIX=Gh8{|mL+=8tB0<8u$|eKW z037;&+3k5vkhQ4>o?%efY!*!mR9{|k<1`5>p#JgQ2x#=^zGS?_WN<3G9$5i_S8EF@ zrjZ3^8(0B^cY-;KU7lcb27|rYdRL~4P_nuLV7@f;uW(DU4+aps@>gc+AR||L2(ul} zw@@sgm$YY8TrQYcai6juUoM7v;;8wa1AZe?fCtCJI2~cDo{3e?z36J*cP5mVA~!@pi(5@#l9T0}1Fal|6Ux9=l#ZqKcSGsQCdRBEu5BCc!%)Z}7$tp`l8QzA@lT z42$Xp`{3bY)CE6$H~DwqV#l{*JuooHM55ci9lsBbv8TJ!hQ%;$y;<9YSRm#`G~2T``f&+2x1~jfw?E19t!qk`6Ihw)|WC zbUlpAwq%(@myxqU2&pqLa_KGrjE}gL;>Vkdpt`LYEi&F^92T1z)vdjXZ%%%F!FVxEm<{AtP+*n|TRkqLLCZjoTMnJf=78m3L(eAqPB0BD~amFB^*GgSTt z9U?DZ&{Wh^5sebTSmo$PrK5+c+QA)Ixzc)mtzG(}VM!pJCc`FC8MmbynC4ToU5|XY z;hQ+YCrI~rMF}^0T$g+eJSx?mKvFMNMcX{LED;sC6L$bK=E=S>^HI5x!bxMUKLiT(jZVZcn9^rf$)6nV#fp00{(tyYytbVJZP+!?$_lu#gM+f#M zOm|CFjAYKc3rAx>3c5;?f8F{Yj2#pkc@1}dfoZr$FOq?zkq#X(S)s)gWURSC%N#>z zfmDVw$sT(DR7G;nLseZVDU2R$uw7=gcL-B?{G}yaR;|*&kAtZ0m+QbN7=1YJb=>+w zfSi3yAA-P&cZLIPHIm%~{bm)>5mR2o9FK^vn5?+Fh^WjEd}J(yHTYue1v_-#O#=`4 zmdjy9)@w^u4emvhjT1j?C@7ULNbZFXpXl90K5fq*y_mm@H+T}2{;gA%$2#W{kfBBX zWpEvnK8DAGL(QRvTK*}5sQ!U{bb?%yIC#*C$z~))#tkiUef*}Ho^K$Kh8Jn*fbd1FWJn*O zSy*@cx8!ZJexAa9CmeW`Kp@~5zQK}E3<3ohDkBj3yH|6Mi*ftBw)nvOQotuj&;@sj zVhwfBh&!A2XyAE`CsYg3f0i}ns2&AiFbdDW<|tryU{kx$@iV!$>7?fnTUR?fwQBk1Oqslc5pRNSZcgwOOs#$jq>?T(E(kcRHElDh zoGZLU9FByJG&(+xJ#*s&?4M980y-`liW^WMIC&TjCdou>r};uJQ-=g}m4 z$P@`PA_mLHI6DjAVV@K1-i{}P!c7?ysnaF;V^nzoX^ba~ZZr|&12CB4U5@2? zq6v;Aqr}C0M4pC!M9%(akLdi*?hE-j*jDSF(^mV6_2Q#|17^W820oOJZDOaFqf_)& zZm1uRY%rLG^`bk)@}i6Lhbk0?NijqDpjQWiLF~~9+&_t`eGF|Ee}ZgSJbz4l$P@g- zPpj%>?&318A<6lf!W5uJ5vSm1ml_tc(13{RjoO^#GQrhQ5Wi(dB^{axuS(MbO@ePL z2Y-QwetQHcRY8OG=R`Y$o5-Bb80{)Vad_}ZCqy zB@4v}ASJR-@q!3u`-K@CBh>v}U;ttBmcNUDNJVD;Yag_H&$Y~g ztIJ+&rvi1bmXcPLO?17;*=dy zpKVreeIoBrgQHLH&{jox%Sf@f5^rR?oi+}tH4` zU<6duGPR}>_Tkch${oYuubQs%z5vj!VigIH(_r)iB^quSkP!H{|1!xY>o?c20%tC1 zF+xW}hG%Gk^PNFWUSe~(P-Rs%ze75jrRiU`0NQM~1mBILb)r9I!tb3_e=?dloOZ%R z{frBblL3W!r@6$S(+fXl{l(74dUGr%B=^KqNrvLMWOW}Zs8&@PD~F`sDK+gJ*UHP| zd-2kQW6#MS(?Pa(Pup=hH;LXj_n359+;c>dWR2uZij7JN;QA1s5e;O|4Sm&u6XDPd z&20nzY_WxbwryV>6QN0FZ;&LnTzzI&-s-f>kogFu3NI#?=Q&w?XSUUkn+d-G9w-N! z#6Tdwvf*Ad{7q=!WE%WZtGLpH3LF&%uV+UU3k6?;YTyo70l+FgPP=j9+ck!-z1Dh~%T@ zITF$8MvmMFqlOHu(I{Gy!@d|vR#Bte5`kr}&y@l+jwhF@yeCUl1-oDy&o;Dfth!kS z9Jhd(Gr6RZuUH|^UtrYE-2ZbM@Ti-2jB{D7uG}J+UF2f(?o93NkJLtgK^%>fF_)wS zS)XH8sDFBi+*K=o*Ar?q^3A=`IU(%PZala7|3m z(6tZU4YNIa;Sq5blIIVL zCaqBeEMl?OFC&luW2@xJa!jEv)K8uOgF+JaGJ8!KmTBs7XPA(e5R7HR_mQFm4osw= z{gjC~TJh6WHFg)KJuMO>41|LtQpZ~uC-}z~bew6@_Wx4Av;1Gu)tT8@+5Wrp>}zeC zxWktJ#7YdDk+*A5A5@Zn0A>`7=Y#&nQ%;tW;5V^#S7y<)CuU9mS~}mtge6mG?mX-i zTSC*=dl6Aa;`B`OJlJPd-KdRUJXH?y{=7dglk1yR^31TVRB^SZj7e2;jW9O6TxWg9kKy1FmVa}Wj{T|oiAdT(KRgc6aDZHX$moY1BwP~mYQ!6bPp z_1sLAh24HuvwFARWdpD9uMWb<^)62|5Nn?>{%cB*g<8=kzuA(9X8mOU-5$QE^FA?Z z6!o-I{Wmg_J7^JmGa)dG2n{nA?)8>Ire>JqCC#G`X4*-f)JJ%h`w*&y0o&(|d8Rc# z@q=}cBuXpS-}IQ0hP}s9&h3Rxzk>|Um)jsEE-K_!X8vzU_gt$kl1x(xx9XQOA#2Q^ zEoq^d5#nI~nJufn&DfPW>&Y+T>MV?t!eX5uN4_Q7@->r(OO6n^ud73{epttrU#waN zTEDiceE+Mw;_4sF=p=uy`$wc8k!C&WA=9r9`NAAJ-QM%vg+6uJtEcIoUMZusU8|?M z0i)N`-a*QU2c11|noy<}^pe&vR93d@FWI$;xiRcrVBa@{k{uZ?Gs-CDG!)EJ%+3lo z{^Y#f7&}vDmWL6yNB*7OczY7ekFjqb>W6P1eTA>2!|iYSO`y!K%Nmb|_p9j_YCLlx zD_$Ny5JXaGQ0?oTkBp6MR?hW6o|HEyHiIlPB>ldGNX-g$+T_{E9uM5AL~a~x+C~oP z>+?D?D^Hm)Vv)aNVtUGs5kjMK{mv1K}PwO3J4M)M5jPL^OP(u38yLM|~k@*&|vH6~d*=Wzgt+hD^8Fhx!HN}^mNOZOCSj&;4vPpg8 zYi5>9SXLz(3gSuC*H(P(`U$l(2OJqb%k}By(}Oo;3Zb3fNpQHn$aG zhH}Yh*-F4jBW7ec9wI;h@c1K^`K*g>BCFbdVk=*x)n0mPA;if3D5uGA5(Q9IYW2z= z7N^zF#obs4lwlLAZ0vhpK6M~XQ<2#t&=dkRPUFv_aBi?))cC%nbgFH22FaF=c!h%? zGoKz(2vQhh%61i>j+LHGwMJvK<^&f335OMbtUUD3HJfm54FW71-+ryM;>@8QWHBM) z)+iN+@$ks|A&vap-Zwp-pB4IFUxM^&odQ#B;N|jN^-4>AYiuH z<^UBBO>K1C{) zM7x<65|lu3Ok5o5;Zm&(HrvY@N&z%n>a+ccNNj1}8Z?|N|8!^~I<$RwQm`{T=u$rI zo^BQQMxXc%#x;L_^fj0QX4mk6$WY7Nho2S=7Syp=Y`c5EUtzE185bFbUII&gTS5?7 zseb$Ppw8XE`$sCx6O)%KWCsAUixOTG)Z&*Iw^YV3sP1T3ErMWTi;&DDuP|RPEY`9T zhA0ZqTvL6O;}$3VG+%6F)cWy|hALpSi;N)65<@Z)FhmaSplHOk5YTC;QR;C~i!Te> zndHiqpc~iV!5+(04vd5$t0q}EvFv6F1K6WEA`H$+T2f#UK`*W2<;gGu+W0@RxDvb#v2N11=3~s?we1-jzqX*Kl6BHs6>ta;8&aTG+G-`dy7y zHN>iWmI&fkxl>LOQHodaM>Jx^_Ve#jM>@faZTg>=DqNEN>;xN|9dObYznL-^T>y(J znFsDH%?}`ah4+Oi*k(>tg0ayuXfwLzSr<17o7i5|f}q}QL~Uj}MRJECoPfV%I!O1JQb{b5Wp@mv@F#yB)WjRhvrpANPmF#@ZPBR93HNYYCgSRY0^b zqq>v^*pAq3(VWkX8|;}`u`y`b$sIrIg5za~Jvha7r61n|TTwe*QMoE`?N96{_M5@S zpvR0kr;+)ub0{Lm)iCLXwSGS1rR1n;t`*>9O}mbl0;6-n6Mj8IN%YR|eQ4Z*eOSag zf82OlU;8%rR$s1jwYWP7tsBpGyu6e!XK%CKD6bOf9(H0M!oqS)8s|)pNKaA8hgSua z9?Mdq-rWU0Sj^{--?tFseAa(0)9e3WM}ECc-0*?OME=M3b?#L77GdTzT|UQ{Dn+tFL*9hl_ynVm5< z^uV5Oj3U^Q!%Sn!83I`F7Q@(R56OaWUwrGY({N(ZW2Se*7> ziZSKIktU{AcFcfrT19Uq?_-57kpSK~C5)D2Vj^Di_)|5^ zkxzQ2+iNSrtgYzr0g^;&Mp%f}Oun&=O^UG*kO{oVL59&h%`_ zf2b>M;Y25@T!KlH4Q1GS;wtX5{5TR7rr57W27Opp1ta3tBL#NJMakd?{ z;*uf)0e4nHvR{I;@xgz#0ly-81ArYWG<`EBQJa2Nt)z@n>Z8upo1Y>`le;D=Bggk} z=0+M2#aMt-ulMF$a}HQ|-lmO9@1OwMru8AWEU&6_2c{y!N!6v!gSk`)-RK<0<5nZ&XePkWS$ivgP?NkHmIruMV{0{2mW- zo))}E0@Vs5^7%4^>X#eIx1YjEl}|gAE}BS$19wj0q|ai05l--={&c z6&@YPh9VIdvf-(Tkp|r}1grz2A&8xWNiS09yA7a5B!p(SY32!iQkaL$Q z+~=b;*ab&o-FG27pfuApII*t=wgS@&g zkmx?WzaIZ?uILv+fF=q(ldwOTLwq0yw?oQ`PSYC_cDLEjfrGDSN!;++o@ee87CfJm z3=cy~)Bd?^1i&3P&nGTn!AU{~x&_7QMsPP*%PfZ}xwN!6y5KN50w(lxGhq?akgGjt z3z_e;T}raN3-C-!8saAWI|c|pTRV=+A5bOk&MQwUD_teNy_7{Z?ZQN$A8<(G!NKj{kO+qg|(CbqY1X)*K1Cph0Ps1#OAihx7JkY`8A~abO8aY2~IT4jnS*UO?swSRr7Xy+B zsVtb4D3)4H?j#70HqLqwfGgRAM?*gB*-$97LhK&jR#u!wwh}~Y#fC|vh{~%F&mt&I zBcoN1MivuL9d@r!Mcytk@5zKW1z;$ z(eT(xZ33|bA$sDq6fkPVfcJ>QURNa|c3chJbqXZgP*^54{9@Bm1#mDgBe@ppCO)!m7r#n8Z`~Q-(*_>cYm8DJcteoF{s1JiVKp} zI)zsmsLisYp+E^@AIE6 zJ^gBS^Huaz>CsL`eqHO<$?1vV?NPg3+g|QXJ?qq1tx+Q`-P)F$qaoQ+Ol*{Z`6D?* zQIN`8K8=GtzCp^Id($7F%*+ngQhRK~-I&&Ks}F$Vl3cdS$;RWAY~eyXx$Q^mH`mK& z`nTU0=Hl{qtM)$Xs+P&+=aDV5LG;DNW;m+ua?c5`XY5Hcqr<%vuR)qCkmYF9E-CuJ8YcyfDkebajQN}v08_L1mwHM&e~%a_AaaF)!iZ55v++~U0! zbR14fZdYbk;C6nlz=-v0)%_lRy=0VU3M6Q*g04r2`1)mW#*m|lwI2{m(7NpzuC zrpSoik}Fetmig-iH0?}w!H3X3pc&}{;UbD1kfUHGoME2-tE&U$CkQ;+!%R1qNh5L` zEyE&wjb?JwXjA7%*2QRxhB7w8LT&MOdj!1=c6utrDm@^b&tpie0|<(R9F1n03>pZw zPh_FM!Prk84F;U9e*>#dpqenib(W;+$G*Tqp1E*wJ}BZth`FW|xCj{A4XOayXQ7bs z5J*G37oeB08Dag_kpYDOJ^6Ji0D>#}Vt>g?JwE>e5twr5Epf~@OMVhf8LQKC>ikqn*jPuR-<_9Xq&#Hb3z%2w0Sg43l%2G zqt^DIjFxCf03Gt-IZ7iRlRrykkW~p{OKGUw`L-Z;ZV_e00CqSiYoKlT>2&A02za`2 zKJL+HjONZJ2n=&EAPP}7+WDZavO+zHDsg3u#Onqm6V~7ovN0lC3nytths-kYkkp!p(Wb#LP{2M6p3liXwxng;cw66&Sl7Ue(%rGFHGNrE+n$p2Y=>exqk_D88pz+t~S!X3@htatw1T7rv zoRspYRGfsg3T1LRl9C5X#=lkbv;?-4!tQc=?31@zFK#)*Bt`Gwa3IH@Ty4;~H9%cZ}^i2XEsH z>^i(OJ2xzCWV)xj|L&yhtn55HY>hHLu|21FZJr+T;lI4K&5ru;tpHcu)E5Aub9k0c z1=3=&3uyj@T0m-Sy_`WR$X`1B;98zodOSKRs%GG|bTQ@1{C;}`|M<8{y?%Z_xm|Q_ z@78#GI$3u9x~x1mYHWYKet3)bzJuh7#7NvxHR?1^0s>LFxTW;(U6h)i(cHu}5K9?b zTcqe-wgt$S%!_MY$joF%-_$p2R3>7`GIAL~;+dl@^JsupSgV|?&y3-uM~TnB0z#I1 za4pAa%+B0=qBpSN2-M)1@eor0P&KKA2r8H~%M#qR*Q-sJS3aH7C2Novegww}=udF!#V}6{I?SI}@z}EiFkKghBb`>O#SWI4N z8)ze%d$nizP{iq9k`4teCps*Q$LbF+Y2n^(vI)y&CoDZ(6SZam)FTTfu zqNa6t3;*Q6_?$&eVWbYq@kN#s)H5_59j}FAMtQJ03g^lbRmnGQV7d(SnBZm8axiM` zf{5kOe?DzYOicn~7x-+2&I7q`>Gh_!d@Wx98lW*7B;`mHH1R=uHYVe3ivkm79yAYH?OUGwP005aU-h7syn?yI@-b{XFu3A_dh`VDIJWf|q9! z)f<_jaJbet8-tMI*2Q%|9Of6prqiHEtq?{-rhYwmk_SIg2!4H1nWbp_Q4@rN=eg5>EJN-u+nUXu_b zd6px*>E;<=*HZ(0MuVoMRhUu*;&*1AC>U0Fni?Fc0xO`n9T2zGurczv8Nlh6+>}-w ztR5dKukYp~zpRy?dfsmk6$yVqJ11{km8_!Kaj3wl#;s{`Tb?ZSHHV;@i~)0(zj%gh zNf)nWrCbqQbFiG}-%1MYeUKLt{nT)aA71Luhi5WPgO_OEYF?TREBq8#Iust5obX)r z;QX*%n~RX5WMR3&8RAyWxxF`gV3}U?Z|}0@^8s~;S!lG+WEz9zDM58lZB4 z8(&ka(&CJ!Dd!?yy!AdaZv!aLw2t_v&?C+%h$;OS66|r3MSaliQZnl%H)v)urI}}Y z4aw|nUHxMAbLy(-U*LTQi7SdUJrp#dd3 z#!f;z6hTr}kpS&jB-NzDQ^9Voy)I_eh3eSMAUQRJTuMk6wYDc>3L3`*Z_1lxa7!kvyxB>A{vwLfC;N__dEdjo!&!}cgWL#qPWicg;FVLR3M+Wh z+N$l!+X%c}dd)N`EHvDFXzdy^uDh%AZtst{L$_iCydG%cGTcG4h;|_l;G$51ZQ9Tm z?`Zzp`DK>Y!_Q#nx@Rc;`^iG-rrxr$q~C~fpvZyoDg-=gmT0y#bVXm%y+Se-;C)yo z9M(_r!>gAkbRFOMxVp5+8<~`!{<67Qu8Kd2xvUT+yw{L*XDtq*eGs% zYFwdhD$EH4IuW|7!$s>XI7mw-P^e%u(G$0PS}RkANiq^%1MOf_xoLT$X$Ss~MFC(lxDLA%dbT0zMzn%FAKS;{^Vde^rsyGtZa|@7GOiggLc^|(UgZsO zG&#%s!gLzO0?0hz$0CAU_Xq<{&39zg7LNAEA?H@AfbDbVB|KJFw-f5E%Qu0SI@b>z z)`vw!zai~q5o~{hK{DDCkt~17+a8nv^RR}FmLp=?$J{YCb$b{&m3tUCx_0+C6qqRb zoyhOytL20U+g07t*D68P){+(VyCx&3X_=cJC@sLX1czw>UOGZo2tF2n4+DdtL1uTo({gE?cws?DmjdT$kLkZ>zGaq z=@TOfb;JJZd9)D7og17$=-ycw*P{(?5_9W*I1DK=TA>K1jd{L140&^19Cd+8=1`2` z_I<0L>zzf7O6soqBY3E2LwtY%bf4IYi5TL_$&uQQ$dJm!eHc*5TcTR+z$sycyTR(F zqS6FMT|ye~1D?isMA#uurx|*LArf!Z;vORMhbGP8#W-Zq)hh9VLFO*5x`pB6gh;k> z+_%iOVHQguMeXi>jgl%n>Oj7Wp!Tk+ez$iY46JyLOgduLs$r64@o!!{xoWpv%Eyaw z`VD)qEjxnCS&5S<&xio^PTO{JCSuhUoixwM(OD$h`x$+`L{yMb(I91+yYJnWy0}I^ z+w;V6a{@J*ehrc&1#%S;>YRNhQa9BDc}KyZU=nKbPOX(sPs7{S_;LO(=nuGS^6T4) zxvWFz)X5!T;i0Hb^kG&rlUI<>LbmNt#P8*v)7DysnjHE#!nd0`GiE!_bY+bmIUEE6 zs=8f^S%`tMyj_Gj0JHA1KBFGgq0MBFW**tB1mM_V>eczyHRF!))icB1??-bX>b^m1 zd4QF8w5k3*$mADFp3n{?NIPF4R%(ml`N@TdsxB!~H3R1d-HF9)Z!Fwz^15cfTUwqB z(^wGOrR40Rux})?%pF}17@v}DD!}FKy6Gn;+6t3nGrKvtv)p?!&e={!63WhVv)oqe zbHc4%j+c|!B!kAM?X9}!OuxKM+Hc~lczu4ft^A4!kLqLQr(LmyO8JA-&#QVK8UwbS zq`SR2(mwrJ)ZZi2T0&U0dQi;eHKJys+lC;FfmM8%5o7|Kw{;j~9xxgK<;~Q9lyN$Z z!}gM{N<1Ykk4x`8+%3rIiNNy`at*vOuJ!V9*M(g>#MZU8#~FAa_yz; z#&hw7_nez0SSlbug}j1dDla~*Iv(i!wYE_e4a1sWx0;E>dR`(B}#85QFe=qYH85sXl{-6E-h1@L} zd(ev5JyUy2d#*Q$x`TAzOB88T2k4L{bz^P{Z;`pBqSD-%z|)mT@WZQ2BFZZz-Qj6c zkKNn*7*=A2hOfM%s$8_NG(e@@<(^E(L;0Coa~i=U*pO81G#-AuX3^;Tv;d{irM_13 z8+Cq=s=-rLgZ+8GDXwHC#yofh{hK%a6FrgnHSWxY`sK1Id3tC~57_g@LD!WHQIe4$ zRq^|KERQUDQN$e6e(9I+k4ioaLdN#Y?&utTG91^HYR9aq$u^pmqS}K3drb&^8mNFabpH2@0S35J4yR|Kd z#4rlm(^6BiESK~8C9(qofw&v~CI|LVf-DQv$%;aKWmg?t}L`1GVx z7GL7!k#8l>RM4; zhUil>-`n(35R1>umK7QgJC-+dsp1Ni6^6-39aa(U7PCO~%d%_a4f%GtGD+^k^pSD})!E^+3v)|erQEwE}n}J7C*f0SKA|&ooaRkH&PHciJbtY;=pGwOL+#YbNj8rh4(ti>FIEu zg`+hwyqq8DFR_G%x(6%vkb(O3q zHTC`igN7#m+%XD4QzBaI{yhwqe3Cb*qsib)MO#hH19d45rl$RDHWxhBgU|!dEeh_Q zgDG}d8WQ6Wcc-L`x^#<2DFS{=V3J|S(bEXsHBuewdLHL7Z1%NM~_ABCQSho(n4tgaM(cmLLO?ra0C;)F+uY*7hpb2ubv6tnZvzg6Beow66<$ZpXTTzX?fq_4V z@zVBqrF{x@0kqFdSOWdnO5M(9<8b+c$lrSHey`Tt5lM^;DSPKTEbuj-a59900^^<@Kw**V0_@D_pU2ZD1;t0p z2St@IzUgYIYMKrKE&W#4So7k6e!lJy`9}ZwmnUcx1(B$3u%2<~yM{?tpWH5NT;yKb zdo|6_6>BaGz)3hrWba7-iZcih(1bb6%3Cb_xeh*9dn@VZ88B#yTu|GShOLBtU7*kE zFUX<15bZQH3Q?dEsLZ*mCt6}LiRl4P27p5A(Ar|nhoSPL6-+LiF+T>uqIMJ*V_}Bw za3Iid>7SrOAVx43rr1Fj)|kCHBq*@*91R-V4$zkFFk{;c91Gn&VD_>GPL49lf^-=< zIlSS!CtnD{A6|Ug)F2Z=uOQ0o=TQD$k76owsMUUbmM(Na$reml0-|(gyGtPFA9um~ zjH9S9rxJm(!+5&B_=3Kc*MoU2yufx;{UR=r{IP+v?kR+Ru^ksMfMFhGEhjQSVQ$5gchr8k?~v=;VbkHP^SxYVP}v zz;Pg^LDS+dR~8O}2OuVgTvY(;K)@su(YEAH`k@I0KrbuXfMcDv<@<>S37*@kDo}(- z^6BT41xCvoVmhx`jJqGgvB%1ZC|4At`;vPAZQ)m-HoGS?xl&kR9s|PGz3%UnEM~u#ecE%45mJ zRK*YoGham!ujnHnJmrg?>W*#0!-_SD%C4>KXngS{+7O4&9^@r0B1cqHug~YTg*a6k86}?1QFsrz;0~$Zw{#J8_i)gJ-Gf zbnNdUA`#2-Ip^NPJsrIZ-H|$9^>R?JV}iOcu)rO4LWY$RSf++u(OXmC;+oC@CFr$G zz(7;>F)4jT5B-9#$tju4p>z3G!tGh@dy~_C3KtHYZYX9tg+vwlLX6H<)q}5Zu4q}) zw#uJ?3QI99$?EWZzNu4!0dfWu6yA*9)r}LI_-===*iXtd9;$A8x(Sgqq}E#-Zwqc5Dp?XHh7#XdNbm4NYAXHJJJ)#C!5PR~}wxs)AO zEBOLV{(cRDP4&1vLZPS|j)s83w;}OUamG5we&F)xfQa?IhcJk~b9b@HBO^#vm}}A= zRO&T3^Rv;k#3ObzH&iuZA)35wZN$b=YLbgadtd*_=+EJGxSnzToZ%^8S2Yu3VjW1A zrJ}Zqii5`NUD61E4|7!`nH9UfIb>us2O)XpUo|Nr`cGvr^M4T7FtIcI&yTw`HGhx0 zQGI4=XP=AjiA>zc{|WfnM3Py{ql}uoH?4t3({2bEjs3fn3h4WM!P9Zdr-|lm`v;Bj zi(N)>p57yT%f7*3;?VfR;qe6{>xJ|hO^k#%9zV>YkVZJ<)U?X?Aq&!_^QZZOIZCZS z)CoP^)~>UTCf0wG-3SIWNAaVW?_oyoz>?L#?I23z53Fc{`1BZzXtX0UYEJsUBqn; zN`9Q4Ubv_Cfd|CaMPHnXb*P2wXk`N);vfZ4cHSm5kzxQI(80F{GZ5_6YG5_D?bc3B zwnN=G_shRigRK>O)IA)^3Zirbk$;V6JI>8nQ<%$l`AoS~Y%)%;nUmh?N=MvMukWq0 z(d1e!FU%DOmx@>IN|o2RC!m|ERV)UrPl1^N^^XIzdNJNo{y z&N?-Jn#99F%#%^7{@scoDvL|bKXy*QXU3NUd*d`ifS&+4LD>(x_+yktk1n>7%5MjU z$F%Hf)tR`{Fkt`*Hntftb*~vYFA%aW`#97VgLca9kN-L-b*DD*ZCrMP#ey}n&G&XT zYhyR6vgBvCR`sfb_c)*f=bRQ$FPZE}5=~7biK{jMQzsY&u_$wb0(@}dlL*At&lr|3 zUWL1B$E!bl%KCJ(?q8Rr8e7)``B7pTW6ze|%-MJYuX)ky#2@ zSTb_b0@|j+nQIL)ajb}Nm}Nom0914aPPl9ao@Nu&sEtlb`R#V`uWPrzoYRV? zt4IUhdZHNT7H@12aW75l@7SaD9{BM9*&~QEAzPph@*jJAS2DRk%rx#kxR8ZKp9>8^ zKXg&4f~^HV;5?p&g~LdJ-ibs5e}!=d0KFK<4m$z@6b5zgzoE|5y7@%J3o$13l6j%b zWXcS9YZN^l-+Ql8y=(E@SRYC7paY4wGC$G-?1#+Eq#M|0YYMP`wu!^)D{m5F@MHqn ztBtYvl{)pv^8YJ@gN+kl7frRS4Joh>`-E||S|3D?yX+q~Puq<g4` zn1_8Rk=7R=+WuC5Nda4h|JYy_0n0vz)hZ6ArwEq$-EEH`_lK_Y13czb$pUPbUc6!+iF7XvLxa0i6H zf$#q|Rak66Dv_gG>*T`i=4s_~Yxn!E5pd19wavY{;Qr>WH`dTxfhzjs@C@HkC+>mB56^&IKo?-v z8NvdpQ9=Cq?Zz)cw^DIVsWHOvS>R{P45{*ij5z>k=uE18u*pbt1dGj3i}p0pG)^ zMQ47C8*P9|$Vz*e1*J9M&Hd7j8=ZBwJM#IWFiq@EX494Mud!DdrS+cS;kOho!as<9 zAlHBOh|Nq%R}4jG&J@*!yGvsIWr8KLDs&%gv2=kWK#jTg+wBnSrP_fHE{JgZ4~x-g z5I_|9aVLxsASCT8hld$ipEU`IHwl??pjH66ZL{-EP&2%AV=@>Ja=NUX@u?)_DA-M> z4{Ta0f>8HKQTZo@Gm{t;bq-;(u_iD|LW7A#t|p{ux7*FSTl(>O^UH+NlE>pA*gu=7 zi&BW?)b4BKWQwomY%5wLw$_3Tl-JUhAKYP7SZ+wP7S9c%`K%HtdQ;Hb+jd)Tw1ujD=1&Uf+;w#77D%S zsI7uJb_$uq;9V+p&H2D53S>Rf!Cb)if&qF;wdG~tg$7;%UMKbpaSrV$-YX8L^h`kX zuLJ?R=)p~9g}YL+>MG!wI}UBSjzleJB)$tAb_6n%QFOGuNe$tXGn-V_mH;O=Y3K_d zcc(`i*sE!S?A9&5%sBL_gh=WN5oSr9nxdn>8Z|}67&750dZ}(%O)S}B>|dmtpvxdD zj~}Wk;r(HfU&*7AGpe}~Iv#2)5;~J$`wEdV*v530_qL~Jg5fCf za0#Wgvg3~VSMk5ZV`KxZ;RNa?-TW^PHMRgYEkcjus>v736J2z{4vCRzp^n#ccglDm zm>-MT?e=rWAAT|T$ddeQc~9k`Y@?%%&8;RvFC4CF=KdcN8;zDfJ2nUVl44bkVeEGxtRm;}?MaTB}QjQG{<3(7wX`ZxX|(&)c}ky$_Y4Cu86Rm`Rc|j#X zq-w$?*^4sw*dItU!;xI_OAxSbF0jbicY-ET1Ct`eZ;XNRv-WpE(b*22FyK*rum=EE zu}$t}jhCPf2>92bz+l;ESm+`Bl<3RdNe9cmD=tO}-q}*r#rXnH7<|LhSU%h8sV}j? zsx}m(pvdS2dZOB`?dlCF+Uauu;_U%Fa2l&w!Gtl8k$m5hLL9V!p+}nZ{DC!qa#f-c z@y`#5W$Blt9q8m&E6i)_!;KDX*eR5dqx?oDP`l5iF}u@jLTcJa)Tr#+eU~0cPVtUL zio^E0Da4T~dkd?(z2yA%;DU85$KDYx~gI*Dss&jR`-O6mQ=A5IQr0Q2M=JqUVEEG@nyph z3~}px87aT%uf)Z2r{A*9=)~^;-p8jqMqc-0bgWyaNjJrYj-I*qaoYq*EQ}wzr`z+% zZIqyvNY6MFL9p4?)$P;#cAPmQ6B1jl#Bh4ug*H*mZ4?cv+% z<@n@Ra3G+_A}=WHFw~PR}!> zLmO8QXs*2U4BoYamxk}^-!h?l_0^x^yU_#r;lh|d*s;bu%Xe<~0*!My(a%;*riHxN zS8HS2;If|f1!6J+B#ye_ z#sY4l1Z45?a12``F&iVOvU?{rOq2U>tv{ zR>|vV#dc;n&|3j*$|HnQXF`N`zvojAf`B)ylr9M->}De_0t%$3k>$>iT}bOt2XhsX zL1?BxEwtx|Cr6VUph2w2xoo+)5yW66@`{6$s*evVL`;RUywTfz&1-C9I$D0doIS&Q zr^3pb_uumZAYUOOMkoc4*w&7XvIs1fClJZJIp=O^z0ckmTf46 zE@CQ%k2wEAo(o}a52u|n#rg_UVQA8T#-L?}TE|sfoVW**EhwlZAcKb0o!!}M2j(wJ zkxxesfn~II2r}>@5%fVOSt(CVpB1%k{&E)XNnUuHan?T;QUGw&YSj<`JSwyjZbwt* zI6=lN1P5ieW;7mokO-T}LJ#BBZ)B*+k^Yx_Jd(`xFc(cn@t}+R$cO%wkM^R|I{8g9 z3CD@sm*U7Hb8n(4D|&rW%vz=Nplt5EY;OJkUT^DWEz!^GX0_RuPdd{aqYHi|fU>~p zU|g_PSV^q^@@yyR*kRYMuZZrQ3TuAVxX#I_uBJ1ZNj!~;-yX{nDoP$oQ0e*q8pwQw zrv`)yuSJEV6hUWRWU#22JVMyVGCG)3hPZu^5$?KB%pqOk7Hi* z=#)&=`ZK5(?0jz&(E?)buH7QL$kpW!(`H7h5X-k+dWQ1j3dAPtMl0X|^RJ>eP`V1? zw6-HwfK(Jr!v0mQQS04`D#1vzVny(xpYbR#-=b#77g2K!vbqb-C4*4~5Jls1q+Djd zB3b4@D%U4RLbS%oMSS7ITCJBXzJWbgr)R0xhl$^3bpbQ6LZbnyH-^nFRtwB~pyyIe z|It&w^ujy4M>dK?Bp&KOtsy}m9yN0ln_l5d#{z}X7+ZCw9_N98Ff=YYjS@a@r;3Xv z!wE3x-+t8$FkIpjOga5|lAkKW%3+=r*zPquBszQ$IQ^OJ1@vWUvy4tevYUEZar#<* z1sNn}38w>YF!{s9onKQLB3+q{_|%QB&_2bAvrCVPgSpYWdJZV02~$5;?B0O0;Vij5cjjFJ2&NN`6>RJ0!iDuZ%WBX3BMf_@)N=w&39anB@NixGF#763_A&)|job?4_2RaB(1(Gg#?icLnyRBCC+Hrn9+{J#so%4?zWME_wU3t<~NPG}z=Fiwm2Fa^eK0}>9EB%}bDUp&A%3QRML5uLX4&#>}URF|Xv z4H8SY3**9HH0D@VvhVI_9&B-+4mZ4}7g7Iw_?e$HO;CNhY~TJ_0RdzyQwN5jMnpM< zMm{^YYkj}!^N>ug(_W&p>X>GU4zW0k*r51{_x_QT==cH00m;g)XK!sC7yZO-O^co( zH(*LAspOEp21r5$-;Y7O?0R9J*xt0->0Z_CS-1A*t)XCS^p7=weiEozRs1Z24O;tP zF{TT8cz=vrm7~n6_v9~<={4yus`{+(+i?RSibIicNcnv~oBdG9eBDvQ`>P+>k4JZ~ zc7xXcoKQEnNCv`O*S@j=jFt0-+F-@-5}rPsr;;almG>OSkh_v6!zR`o(TlX5HJ{#UD7!8cc_i zm>hb^QNi#DrG5^0{MzC8Dzpr)cVS(I~)gJG?(}~O!S=clP zM7OknQ6&5>v&$Cx=W9AOw%+t!dt5^fyCtY4+qubM?fksg(XU}R4}Uo$;$(BqNg}nm zq~Jc3pVCBF@?_!}b>ie%W;tT2m8LgD6u(eu(OlA?OeL`vM7|K;DOU-W;z5iUd^w<* z{-5usC93=Wkcyqh;wGVO7OdNejqjyQe}f82iQ)(lMoL}@&xNF%ZF6Gd^$7O`ig*5% z8BiybV)(@!@wKI$(|~>Ym6eAcEn|v%56AJ$70+Lt9)?7lT*cQHW(7srF-r!n_tnvL z7!Hh}SWx~+lt6)^KRwE4zJ@3&&yM%=%}SRI)HdT%I8hYl;?qi`DZQ=)7N!A;;@nW@ ziE#Jq5Y0Q|ceq1+IXS=XXQ48@EdOp`YHiu6_cW3LMupQ3truka^Iy9Ji#3$hMP(hW z*s*vKa_f4Y(R^+P5yjnuJewVzC;_33WB&;m&BhkPl2y#D>@^J~dy@~S+*Zd!OwDREPr!x7(ua~LXucsK=n--KQ`3wLE0>Uz2ts$o!F|A zr|?4MdK>^}K$$=5s5om`1Or>v;LJdyk}Y&+P*j8DH}+_$vGL+8uTp8%rmI;Vepp=$ zxtJ(Z5^(XlL~>-W?#}z{-K;@>6^UrgMJV-eN?TZV=^NX&5I(?rbEQI|)#~5&kqhSo ztm&*FLRD`pxBIjjL82qMVjaDfJcbw3(OeU)Wak+N@Mj)($;Wm;wJ6oTRU73W4ML;> zg)R2=oy#Sr%F7-$7jEjFo9JGDaFT#Bkrys*R;F$>0d_9yDccZ!o^C2_LmM)w0fJF$ zd*iQ2PAn|wW$tZ7@PD&dgpkYzt28&5ndpL&fCEC}h&%a74i~m6>4|5y$I1UBU8fGl zr!Qq8QG=gu?$>{oi+{SbjsA7@#agoxxoWSqRo9J$NBr=;FtHzvx4)AOMAS4=e?DJ{ zjB|9j9PmYBKV{bIgJzq#d|D5Fhfpj5-4wH9V=RD$OYG1i6LB-Bb@<@k>43>C|DD98 zNpn-@8ujx4w&@*;M0}g&U(X`z5iUBKr=}1vQ~$VNib8DquufiC=AXV`=*1k}%^SmR z_16Zc!x>q%2ws|$Bk2c0kH&NBDBqaSqtzvP;3|%2^h(z*sO%70Q`-@6BaeXX9AbB^ ziVPwPzwXoLH}WQO@>fNqJ8iQ{;RVYyelc#mv|lCZpwIlGeSBG?@x)=9$XUH)WUE91 zRyN8tX_U@Kpem8%-YIUJy<__Jh$@iie;bQJ!yFDnsPOYm2jsVOz5!?x+i-S+cPgjg z1(~|!*`T`s5OU7XpWTxGjp4-_&7?fcY_^Fd~TXuxGQ6Q^)7dUpNCU0HzydM z2$2A078qy`;ihU1y}^dxaj&mezEUF$aCt4#0dd+{R9^~94`rIdCPC8kHGf#mvyEIk5a1&hD$0evZzFi5H2z9z z`1U6Jt_6P8LUbq5#~lZ0ovDD@)th_@nI30x%SQCxt!`|gJ3y!_?$ggjQnR^IuUk{` z!e^BQo&rOKGbA%4k(k%H2KGRr@k{^LVca_8!pd2a?(1|06?Mdd^w-Sb*%1pN{J!7D zBB?#p1MHk~k)Vl#bt77}Og>+>yH7Fb*n8?PB3X!eA%9GfJjEpR`uQ8oy)+*zT+Tr|Qk zZ7k3#L#jlB?9P?1^AQbGuVHVwD@XO}uc#XM)87CWtwJhQ{eM8JiJQq&6~;Eyy1Nxl z%IRzTv9zr6=a#q8$eyl|zRdW~grC9JI_vN5b^a&3E?2r*sdBOWI9h7($A<}s#4+Fr z$Z;xr7PNnE+~k`U2m_OshsR;W2URZb_zUbgv?KAA?n^@E1u2#O!up$5-0%7v8)Esne19^?_*?Km z09Jb6UDvjXMaL-)G;eC$Ag`fn&bLr*x-$2ZT@^bmwibQ;@SqaIf%f(4bJRl*)}8m7t_A|#aO(8efkOk` zCfi6tGPjRGQu8r)vU*wNOQhRRh9=Qk(;N-|JUddPK{`QCk~161#3yD6N0CY-`%p02 z1ZPP``2#@Q*%_=yaHeAXsJvtU{b2Z_W!#?o=^z-+%>;9;u}cFDW%37M|LC1|Y+63d z&2!;)#uP>}f!SjL`0~}-_AlME-tXIqt{!O)v(Ib1{M@n{&54SzMHf%4jZ>oS#7dcpAC)Mg#Kfc3m33z}Fn10y74OlyFtR5|;*W0g+ zSE24^Mh-EtiG6z*)=x4^=B-jAijcy?QPd*M#@%YW$b^>E|w*=8122MCXW(p;D&u;pxLj%u=rF3Qg!-n=ue_Y>bm?cg@x}aEs z`4A5!o!gB;2nY06U9y9iP*-0B2lLd>AkdXv10LB zMYrCp&5lRXs}sz(%303%dJp*lPf4X(0ZPfZo`FZP*N~mPBK{dF5rRZOfSJFyKF~Zk|qma-5t( z2U<_wb4r0j_gtt@UWvenfCGt)^3v9$y?%h5vl|Ki(*}X_zoHoaw{V8ze-09#QvW}) z?cW&)%N+4|B4_LM{aLbApcSI7E5!uxYMPC6jRaZzi`Rh9o9sQghQlKhZ(b0HxM)hB zNtn=wJ8UKxHbIO|cSOFsiM=0&T|o4NbU6^NsI(ZVxMX@CIKAb}UKwx11`0+h4v2bfXDfOOg1X6Uv0mrqrlTcb0oPgh>&mn2{ZL zf`UV?{l4=x{Q^%hBu;HJ8!7B?V8+i8XB?JU-|d$h_C#j;n!2ple)typZqI7BxH=Lv zd%F&wLxz^h-K~P!>&kaIZSU5v5n{)mkE_%yYbEZ_%4w@ZO7}@69LjVwt}x_j4vq@c z6Ml;6WCmyib4ARVg*m_O#@5n#*Cfu6r`2t}Rvpals5u8E^- zi*U(#CfCGL2T_6sqyZ)B$-pDKe}|FB5%eyUO#DbaF7Qn(uqHzvagu5Ad#dZG&Y<|T zK6RDFNnZ9H(%c%VO)INm=tJw)Q#pXYIbFN%GLdPdVzN?}3epI>nchcn{Een!u@=!M z5fy0CtEh>wWdr~3i3AFw2F=onwdeFXhgEM-s{2|0gCh?m`Mt8+Up4rcun;5Soqm6# z!y>$UqvV#0;88^2@KW9#OlHybNK}+bfG*udZukf_Jn1YBd|{-qkGN}>syhNx!l6_i zWpZ)YZd6oGE^1aa_eVjYu+EZ^2d%e?^GQ`6B^!2~)knMvO9s32mX_j<_D&lbM(&8Z z)1=5Ky)zo|QY)rusCQ;tnk7 zpt{jui`k!Cxl8ZNm&*334p~0iAYQU_gS8)9U64lJ`a8^K{lB~yk>^AmY%`Q*BoA+m zGxxAXqKT8VKf{(qS&(MhMukwH%TiX4cVO}B9Kg6|h=@51sL>WKV06fWjH<(XapkAL zQ+U1`1)Db^-O|eJZ%_*Uh!%Ga{qFr>Z7>szq%1U833OpT@EBipf6X1+e>bJl;})9?>>IZRaIF8B?(j! zPypo$(KNL0RF|DiC-BYclo^wT>?m&^NvkWl2n7l4EuT2fLg9JFhZ&F+<4N7EF%+_> z)qK9|gULnd{ca_V-}a^Zg@$@$@VvPQJo~4l;8NB>(sJ` z$ZzqnVP>@vZ;4;iy_>Le@f4ekhPyuU)0s~GHeE;+C@X)(PW6%w8);Yr6t^ZR>=VdLAt5}Xt$WFJJ|Lj#KSpI2+u?I+Wv;V< z+L2wDgEloiH?i<6-gP>&nz+v8rFjV7OapqBD3@S`cVjWE(gp2QNl?&!8Jrqhou5v^k8M4ga@!CIIEs3{XoB|w*xK?Gjxb#IED`+RuX3rCM$X-wE^yFSSL$MAV6?J5bzh1XaTRA zx@yQ*FV|!V6VNrgN0aEIV`$dT6~^jy(F4Kmqnr<*-LXe80{|kb=^8v`>Z}A1zvolZ zzY+*PKHO-2+UdS31I@7%&LVFbiyNB5SYKXhui+{4(CJoZEc!Rb%7mbYl=t0EZi6xd z-W$mq{4qt2&N4!s)kcEBy}h;yb{W<&wN+()lqEQ4qs_MfVC=>;Qp4uyUtHxtgNE3) zms&VGn;JNl2GYbMKSCG^TYm=bq6Il@$SMu~#25Oi!Ctz{wv=;BlcET4kWWbvc27Ch zbF>DR_Z^GS{Bu<18K6y}j&rWwG*G#M(4Uc&Ib%7w^smEul)pso=5S}G2D!RV@Tn@> z@pewq)Zs5HQR1G40o<}1iwp%ViFyHdYa0KAE+g}v8n#bUztjyAGDIHExX{#o+BU3? z-#?4O;f}9a9og8G^d>z{^}AO#N14YU@1DuGD~^(^etN_|2g(nQ_p?POAQ>|m5>A-J zh*TvBZqs3jeQ9xLhm$%%H@zGSh4r}Je#AV0F{-CkCKf;#&qCclL z^ySC<7$hdg7j2;EaXW-Z{4e`XZ;3F2q?A4%iId{TD}0dNxZi;gP^^$Y2NNNGn_}b< z1jL8aAcSBS?Gwn!C?rM|M`E~cZCy2X`Fx>DW*lT6`tpiFHIAc@d5H-{((bsOx!FpO zWbdAM9$?m^)lnQ78fOQ4j{n6&b|4~3<+_oC9wO`=+4VbN#CAi#z^FOVP+rYfg&k}} zJhbj0cXpJYy2hSfOoN(ZXA)La8nK}xgOZecXKa;beky7-lO9IS%v9YLp?N~TAKbCJ zot?;%wp9YJD9D2F6Gv2D-%HDT7a;9DbbJheWBwP;J8b~8_U*v(ZMp*`EBIv3guPFf=4|yCR*xvXhpd$$ zPl-rfv7Eoan<^ly!Y-ZTyvV!VxHp2>ht zy>)E8{hs#(5Se%1Ud4i_OC{|waW&2NzKHf$=md{CU|Z*jPdA0&JbK^ge=+t>L81iP zx^>&OZQJf%ZQHhO+qP{Rt8Lr1ZU5`s_#^Il*l}Z5%&7N@e5je3V~#IUDh9NubyX)c zn{Z5>sbqx4!|%@j4`+y}89N7-Br*+A0-#1#3V)MY9YBdi@J_7&h9cdP0D^FNS@tXs ziU_Q`GWEs9>!4^hYP1&MBeOokh*y` zJkYZZFLlpsK{YS0%JzaxC!rJT!CHxc0So~J%i4Y!rB^S-R{zdc31-h=m~9tr$BjO$ zky?u@W0yMxw0it9dqxa^r`aeToJJG$=(Q{)1Nw|kenWJ8y6?pO1$a{%%Qj3b^~0jF zx-*$`MW=ej^4BOTy@ed_jhOx7=}Dq0w-;N3iozjLT)B)8JCCwSs`x6~hXp$<#-Zu? z&Xju|FBGLxqUrvv(VqKNY6^jM*5Zf-xqx}wN!OTd(%qFts@6YkU(Q(#X zgg8mNJzXvC2rrW24Tv(r2=S@mwKm;_Be_Z@YSv;2c1IM~riq94{*cy}q>rbLswugW zLoO+6bwkr)iP+$9rNW7}(&PqCzQ@xD+Cvy@gz15ue&fA=tbJ3e_C zkGi#-PeV9+Xm;CJ6Yb6TVpUY0UeEpc9@CNrlPJ+H`)Yg_6vdg*AoXLsJzBqkPkG`y zF9H~!zr=5i3aVL_GBAjF81TbATb1=-B?xT#8&G%FQ#6tgx|z!qN|GBFoN!kFZ6 z25B}y2@9CKq$(?rQ!3gN#H&rIB5{U}cE)6F+Vl=hN=Wr+qpP6p0t}4mm&@+IJ0Df} z6kZjn&zypB^!wx)IGB8ab?Rv-<3(lUX~GZHoq;{siETPMdHLGVKq8-lDVF7OKFsO< zNbm_6W1TD=l}uJ(0JP%$L>1RuvyksAwv-T!$tCE|j=xC~MMs(D%2UJ%r!jv%;;e${ z1!x3Xt#vUJ{55LiFbknHV`Ws>G<%|3VD{7%EFs^^yIVAb_{}XZiG_&yS;S?9kw6Tr ztlYe4Ln>35RWTFh9ygO5S}a@}-H`P2TcDt@*Z8o#>HFe&c6@hnnC>9mHf@~MrCM2B zAzmcPxfzFa{@S2|vHAN-hb$YYm~H5l&*@qL!oG(PA_`90>*Rh|6JBO`ISo)+&Du;X zQ>BI0w#rgfE6nLzqtpk82H1|e`?WT!L(g4qL^lzQXR%sd$Xn7xhKq4Gd{1b@`@tD7 zrM+2G@JFWF{y9w~Krx!v5ElL{-ouco-45(G0l?TZiyF8R%w_?$`a}^LD`nhABYUvb z3&_GS7<^rY_0}W7a3FZ1YToj4dgu&1<1z{ySiR9t0Pfz(nFk{7*|gZ7x)Yk2rqdPl zZ*HI>(A|rp$2w)5*czQnLuDQ6@{oY8w^QR0oJ)2$G%t%s@J6Hgu}&AD+c<4(Ok!GX zKsU=j-KeIDItBZqQdFM8Ik)5#JLoM~J{mgqLxn8w|5cJY-T9@aaZRu{3-BDCpA&*? z1%rnxf{%^yOGmvvQrXVnAiXo}j@;B9X=QO}YVrD-$=S|*0^1&hS!;u`G_i8}Tai;Z zj|p6wcC$<^vS9L+W=BvNtz<0lHAb|lRuW4Qq0OF>eQyY_eB)NMSH z1xlLia^q|Z7Y#sz37UwfnIM(UT9^W9l~oOUJ+gQV#!@4}z-Ef{0@cMS0vHLo1sOhH zlbS2{#n6b6F4Lt_dSvYn^oi}smpLZqv0ef5U}3XdNR6ppd0_Z?2;(ez&ajgmWcsJR z{I2!1NiggMU9h#zS0s%iuK-33P%Q54O_q5;@I2@){89sZ?&ZLKp!|{s{IbsMK8S(q z)tlW2pjgf=jTwXk@}oL_#-t)&?RvQyu%B0lKKqPr+L3cqR$%3kyma8NutPfV0Rn=} zYY$DVGnkD?xqc9hd0?;i<6D0}71^4*PQ4uisF4xBsWH>97&*@6P$s@dBXU^ul7w#0R(L@ zDvk1Z?eZcwF!SE{EYPpI8vH$=mZ!d1q>dEzpeKI?L81-4)i8*h-7_XI_~%eGeDl5%z!ZZf)H}p z&Ai7U*$}gtKeq)~M?Etk@-x?m#@Kd8gLJADRFi*woB2>+&h*ED|774lTd<@-{aO<^ z9PSoR?Q4AB8-13CSaKK|_-!p2#-HG~wwZwms8*X4q;}A-QTa?C&(t1f8D~sbCsnQj z{N7`XcOW%&t#@GN#__>@#Hpo|h6vIm7}$ON_7fzypwn4$Cv#afqteQoc zQMO}On?->=`sH-eq_gqBMA(2fR}sKpF4PTUp>&uvLHRwc5^q_YKeW8eudn#+s&Y1{!BO@ z?i1LlpkfrP%< zq(!Lr)9?^T@@3|@*KKsqsfGD)uUOlAaAO^vB)ahTul4mgPn+Y9E<~;}JG1+CFiM_F ztL+VXkHa?4!4moyvF~n`E!u9ittrmVNOfJ7*t4xyU2YV z(6@SV75B}?obetk=^F+WqoJ!P61cEz?hV|HlmfhkIs~t!8-XGOMQ=(Mh$YTIz_nrv z&>_+l5T}z+LL)DrtU|V!SeIx?QFO?(u29ZN1riLL%$6odlj`$7l2lGZ^>Z5fi=;!U z1iDpOTIo*I5`jt4v7yNpRxd;AuFOghNGetD0xE9RNGsvMc=WQuCKic`(q+`pmd;XY zXvf-FK0iWbbi1)bhF*n9Ud{n$y*b;@XyVEV))WmpZA#24k11+c7!nKuNPwYa55s!^zn4V6$4x~Yds>Qci-rAr&b!7T)Ko!RZgl0s8noXhJG5|aPOQ;F%Yp~@S zpGa@5tH`wM#9BN&z~9{8A%!Ly=qEMsojQ|x>=9~D|t{GYOn7etJ(sa{5}ym^-hXd5V< zNVqYb8qvG$10IU7Q#{SOG`s-USG|UwPV~R8ci+wJ+JAQMa&go0{m#3bx9`P9Uz@e$u5D#k zHN#3DzO($R;kTt7!>+_@+52ttb^rZv`TS1+^Cn0oYi26}cYXl7qGihvp<K(Lv@l6sw6*wc58^Q$bLT;W8ni;|Y{W!%nTfI01@4C@P6B-p~*LMA0cdN!v zA6mDXg+D5@Dd*1o{KsB!QEF$<6cz~1u33L%7Le>IL=bEVWJp?$Y^faKV2+4Un97%nC@!te(V|H~0Hq(<6NnB0 zp4Z41L%awHi-b^hHv~gMIz**}kHA|Xh`~wd|03>Bj^z?k_5`=~s1XcRP#Vxk%u<~Y zF2Os4kY#Wr5G>9^7@OHm1UXV!KBoU!ZjZ=|9TwgD<*gA6nhap=4mP0aeQE6JpZzoi z!DE0Y=o>;UKU^i|&H{go0IyDxGe=ZzByQp+faN8ua|z_Q;EdL9R2@;ZtR1ij9hJXc z0-)%;H&yIqRyvPK`+6=7HtPL%+`atUIjKQTDmt^c@N76Tst<#9! z8=+0~h{URN9&$+6q!o)Cyya9BfDpAs3){)5jco&LqC;tOBecB@c&iHb6eqO1iEZ%K z!tS?Gjyv)>szYt_qxQ|qa5vB1nn!&U|76_y#1ZGS_QUFh*WtTpt!)OSYpS~A|1a;q zTa>fjf2aOW&3OO)S0m)&uRUAfMO+_xtYag!*yFMGh{UIq8*qQ9SW0y0Y$}}HJzQ5x z@pW5|*tKE&{GPkNKM%_OM`k){(7r*Z=G*PTuKoLE>&{K*hsjQlH@*;7z!=qs{%?+52?+A6j|Kd^N(NYnoFsdB$AG7MEC)V(^@&Rs#C$;er1_E!)6bbmTWA^E36NqX`VLud#N$$6L{<4JPDU-% zOVN#4uxpC~?YWIXl)2Y4;7ikl!L>(j`!0V@k46wty##1=W{zRSQ_STLXF~2)IJ?;XzRo*kO-#*v49&pcyH*Ip8 zSSD~SO5CJIPT&ayT_O!~N(@=4!W(0PhWI@KVUPPA0saUuFz5st&Q{Rker;?877+_o zxbd9I+$~x;Fdb@L{>CK>RXGkqQrF99Md(ZC9+O}lKd!IyaSuDA6%R%vZ~ZdQkaT5k z47c-#xLZYM4%-O^pWYmhUEj@dVcdi>K=^;0%Zz~vjbSrs&F#KNAz}V zQ`N*6bUwv_(eeqLhHn^~nkSi6jy7F=++jL5FON@5d4O~(_=^7MKfIi~ca}ELPq;$+ zSR-QC)$!j&EpERww81}0mNXoMU)hdoaK1@`t4~qVf3h@lw_=JhiM8711B>xQa;M+& zb-PqwN0kTihWL*ucKu{KTn{@u`*MHWjrLaa+4_AXTBe4fYrAz+Tn1kDywJUtLSeLM zVai@F(>8z#l(~{653g0hmYuA14+kq1Rj6e_HzqwxjR(y#t^dqMIYpZ}AkznU^Jkj_n8X1YFt)p@2bV)#r$Z!jh;sSWfqw$NYMJ zOUQ~2Qv)PmqN$=;v~Yh^cNeB8l~S1cKQsKwD933`ENBd~8BTc&k%lrKgU5#=p7Wwa zz?Sz7YeleVni8=nrnScz$~S5%ET$OCX85#p!%5mZ!wU&E(?dnGf^fGN+BAfPME1p@ z5JRQ2X&`#f(O6T}EmQl5wzvM}k37AZ!>vk_RAx0XWc|%{OXMRc2Sv_wOKNgFCgeyH zYT^)e39vQFw47KzR3@G#T8{$w%$T5fTW_XUpss+!>gwZGeyWP{AW72KS$>+>GVSs) z*s|~H-V1ZjKD`h7FvX|XZIsSlC*y!0GX9?)ry)GF? z!|$6nlj#jm7Et(hxW zaBg{_p*3(`_&(8w7A5>0CT9T>XwQ+gGmd`?(~$@rrA@#16Z!z zZiEf0aZ8UdnABHKF8h-ww^(M?5XlV-X`i6C(SMVhiO;TC)2Luzj|^Q_Cr%Q>Y8R2(3D9V+9A!aNE-vD?zR){{5O0;c{JG2OjuGfUix6w$p#42FS87GoBk_Cf2|GQ~(B{^e|p9Ar+MoQ^acvuc>M(rZ@+Ay74i{TCQ;3+1GZA9+Bg*RuIp zG(ChNMiUP~h+D>I&lV>Fl29(SS>!QRAlxZ-MPO_{84(6Naosyv)&L;sw=ZMP=7G+9%6LsMyzot?jj* zbV-Pzfo{sCheA3GY)0M6pwY^y8`yEp$`!$<0g$4)GA@cpOZS@)?)G*T0VY9H3YP@~ z950u2;RhmsJ#(YKBReZW^FgbLONw0I>9wwUd79Uhoezs6i%ge*;qN8Pd&=xW4eNB% z_s+pj6QYP28Su4H5n(%|hm)bH5|jKeh1 zsM2@KF`@yHD~{z@Ki}L`VuA zBb|2d-NX*>+8(iV}$K`~%y<6pYR)My%aEJy2aSL+EkIP$Dk}r1^m$8Q{T<5ph z+j=@O=Uh(ENa9Sn0I{?ru?R1qJP490ujDzSvIh_|P6RG|`EpPIWQ<)v70@tffo@mW z-%8DD*!wx$6x7rHf+}hK2q0c8@b8jvl-bikiIz#K+yl8GW%!Bva=R+fF?Ra%b87J6 z%;E3#qfg?abua$&cK+NeDz77*WA)McVY+;uq_)k`4)gxv3&!6c!m#A=eU#&WNC4Hp zh{=G}cG-roXiF*cio(taoAk|8P1o+bsWXEpqO~*< zn)+Ih)6YREXZ%cK)tj!$!`1Z8XPVFAzf6Cia*@fyk`(lu8&$Azy9VM%uAG*aby!fF z?49+ptg2^VQphkwq>L!|;OW{tg!Pg5XM2wl^ zKS=C3EvISw-D_0E7FM*dk-S$@>9rbn5CsT>sVO0kMf6rQk=m-12Qleo9>i|MjTenB z12z}7?KH+=@nBl3J#f@-LI*o}4+%%0aI2Cio=uWB9}wP1+08Ot@dpHHhJ;o^W-MG#Ws<;x9+ zb48d`aK=|Fk~jpa#lFywr!)Y(xaz$jGv`C5%rksw>Vsf>1E?~PdFx%N9QD4raS+^6=9+Z4v^M|l?`?*|)tal$jUVMe)F=@zk2PFz2 z54Ri-4i{a8OIV`&8f%BBy9A);U~){d|+-YTNkznhbY z-)t}LSJ4+1IKQUQ>^DCtRp=Zjw1v&;1Y{OqKO5kmX^wy-mv>8}y@YbYQyUzOhso-< zB4d}uieCdD#q0WtPps(ohySL6I9EIwab|0XPYGCS3p$c~MSb6BYET$*=Gj?=8_W~I zffSqc&6TkgNT4ImPPFgKMQJdI>FPBPp!~Da-j!B}KK7n!F*kEfWA%e-`2iJFiA2$y z!!5#|o?7G0M%6b7ihfE*hP@5RsbdLEA$OCp^*pt*^b#sA+Yi;__+IK7e_ij~5Pbuz ztnd2iiXyLoh_cXbcuqMO_u@GQ)I(zau-!A3=E2=lr9|)~N8fcxm<{H-@1py+1jDeV zN-^h*q$Om!pxG93#ng;G4UEiU?y9Ne(2Nn6N9Kmku%?_^eVIo#$rlnY!jQEGWBaCQ zSvWz2r9IB+0o=E6t zI-FCI(~moiqHk-(n7WO?YZLt8l$6&?3)NxZsA89$HavNmuVT-;G^~rzziHi8!F`Sq zK%P@u%AnB7Iy44h%}!hDPx=ExEAT)^bCwJ}1XmXC^9F5jPbgaB&>5uZ;C1)aiM$!K zS3gaWGf2Ar0o|^(jk+ro#TDetI)E_^-lc_g8(I8wyY@l^;P+JTd4jR#xI=yZHf8-+ zChB|Xlko%yT+uy-8{j(^@nIWHo5uNJije(H%XwEZ_!Q@njrzSo?h@`o{o2|YiR6vS#PoXAO75W{*t+uN_;X8KgoV!0*-9_ z)IZxaI{GXNW)6ndKdG~4XE#F)y#W2EjlAx1vRuZB(F6m9vz^Gggm;p;9E}KRTYy2H zJDgei1$>-%X&MS^;n9NhkU@TSj{}m_b9am~PW2}@co<>0GX=6IBM&RA7k_QIfzI4Q zZPJ%RAyW5hm6L|jK0ASS*IAbac`D9O_I%R;ak*U76)Gh-!GY|p>uyeg4tx(LoQZOz zKkVNR{D8^UIR4Xqfb&0%YB932{I@5W!&vLFTO;>6dV+nBQw_W|J?@zHaFY!NzzziJ z0{UZ~dybxF7!G5MOcZTSHVJ17BYa#| zv`R$K{(P;^AG21+(#og3!fX?2WirD@?tgbU4GsW~)zwaT-mbEa8tLACSuABs53ny( zM1Lz!z z^YNnd6pTtn&A`P#d`z^vPbAvvGVF6IIG%S_#Yo2GcXJ>1-U|bwV&=veF(fzwEh?c7TP)QXUx0?U|A z<(Yui_N2hQjmAFEIn+R;xsgYNBq2pwg?7N1oa_rrQEvTR(P&Pwr2N~q{HW63~ zUzYaQLabmxwkQq7<@bqZLPer;?Q5q>%{Q`Os(g9D^}^u|o6IY2ti1-YM;Xa?dANj~ zgKU#}>fHQtugvC8F2gHPj2t78iVc#sX&o^(SY#<#O}&Q0aLIbV!gzr7j>}x;1G7 z!J=C-!S(fcDYu2fLs+T~gS;SAq)#(0Qg!tc?T{G2 zpRX*?wEUu~fU44gxcfX!LI@pkht`_g&>*GD$>Q>vQ~JB74zWd?pGn-V#O} z9N-26|A)fyg^!?5JUuW9)OoRE_t4OES1kb+A1;0r#Ix=fjjNjws^~o!&nk39t3ZYZWQ349h!8u0! zp|sRyy4%SBBaXovbbv^*>P~%3mC8Sfv_nNT4~vzn5m#sS-LIl$h-LYHq};$G&X(JI zHVnEK?yXngaaGX_WIjg@>-o}^K&!snY+`<=?^Y`!{3JfN+R)$X~x8 z`&1If#KJ$Rr4^7g?H1VN3iifSqYlGHUsa{YzHh<|x(juNfU6WpxTEJlaSfs*RDt<6 zu{N2{;-zu)20oq}dcP%O2`ZnqYxadrT1PAE95dli;OIN$U!woRBZihi5c+? z!`~EDjgTOm8ZgY|^1dp?%ms_ijrcA~E8J?YL9`uaDG|;naB?ev!SW_Mjh#U6P1}T_ z0q%zN?0!e2&_Jz&nKg;};@*a0nPJ>bCpAVs#U4(4W8jd-+SFmpa?u*%WO@Uxe?t`L zF2RYeTD-WGZlgS^WCUkw+BEbEo7xiKJ@7Z35C}6a+_Id)D+m zI2-|_dY{aq0dYFp;JUHFzz`B+e52ULFZZz}TUYGng~^Drr`1odOw_zZJi z;@QIx>XQ(ucSx&x!fA0j1L*(LJoN%Ool*YtmuUA9ItCEJ9Cn+8&C9IgV-&^%=JHkI zyH=Fhm(uCzMAOHLMe1AXAKTJ`Y;nSLTAk*Me=VR}pt=W9V)pPVye+v>YcC~?6=$ph z@adfi*2@?znASHEv8Jw4-pZvpl+-W!Y}J+sBNV~k_V%?iz}A3$N5v3<)fx}%*OvJhT<=>m5 zG9O>7^m{LbJ6(g&frAVc4Xz=~#UXGw7PR!zbi;t#S18s*cr;541d+#B@j>GZhM+t# zz5DL2_e#o{a*$bX&V()Q9~5znBofm zU=PfgXvR6Qi|eE98ySaUgZW**V#tBs76ypeT9uc}@cs{pEIPzq-0g8-%i6iqZKsOk zgF-WFdjCyl6R;3^cZsX_AU{?evJ6hoS5W?H-EZ$_CGkjNOgJ|uoy2aj`n!?o-TAP> zCtE?v8-LSmu(sX+OHwmsw_0aS_j0z)d>B@2T~NeYM=(;XQWNo_C3KE7*kO$*GcsS z^yTnB>V%wn&o;VG+A$o8yTun$5NbX;M%Ik9H{v5ixf7f2Vl=(kmk!r9$1{DR@Xxu0R`^G%UHnK*79t0rvBN*vQC z<#g2_*-o_q$?V|Py87w8XetwU$kqQ0e-KTuQ0(sb>0Jlh{Md`kH;_~&=k-zZ%(=>N zoRkg8c@Ko?&r~QfqqAp<9SirBDWcZ23ubRf+r8Gh(mo%*QG2V4&phIy^*dDB+=;M% z0UhrqGUV;C9Z*33dQecuC3Z?tTP!f*yXP1Kb8?6eD#gm^W|JX<%x3F3pSIe}Jjcce z3T?-fk9RwWhaMbfHQL0tB$vr(W)&AvERJrgAA|&;HrUl3xX6eC>%s=tW*d}WY1(O2 zvu^b^uSro?GP7P*+cCdsR^ie^>E`1PR%mczi{_u3b*iX0tZabMkxQWXYI!9qSM|e3 zWlwywVRDmO87sxw350~of(%p(0JLv5Uamr;?g^fz0;23|A76)*4yDuC)H&8RjB3}5 zb=I@WqC`jcE9}&eOkj#Ad9Ik7^q2nX4br|Q#{kt9F!PH-KB$q(?U5ZY$ zqXa~xd(N?6&y*=i)g%?9H7xW2yU{#r>RI;-18>UO$gDkgYD;j$ppGX$e(IiA#~BXR z&UQNq(2l(V^OTlG=~|L7@shRYRg<&}VY_q;0T@ip#y!ZH5Q6w8qXNaJ)fv|ZrR{{Kr3&QlS0SIFia-tg zf$p{QyZ|-T);>_*n&D$y|9jg*Q$za##^lW77>+{sPl+hQy@kInqc6DvVQT3%XjHHE z-ZL!+-iQ}*TW!3hEZq?nZ#d{=M1skK;XQdf^0FIfo?>uhajLuuUDlbuRV*}aOm`>% zjMmvFDME0=Z@Vy$pzkI>wAa*zdFN<-XkSGoIk1vb*^t;#ivepA`uLn&8&TBoa8M@QtpWcfi0n>nidUJH*`b>t-y z?|Uw!w7u?8uUlYR)i4Mb0O>Hnr+QKHB!I!OO|`UlSO^8kcsPV~D>uy@3!n z0F*IopF|y-!t-R;q-Q=9@lg)ndq=>e^GLJF<#z_7un)a%re^ObIZg0kX!TRaH}Y+++yHdN!axo{Afa9zv(Zkl;;IZ0zORt%(G zj6OaNPf31~=uF=;NX95PD@xKfLe+UX&{$@Q!*6qPV%k{R)-&O4nlAwn39jzV?wTSpc> z1~RQrc>;y~tr9!njbA|F3igrgw6hvbPDv#UVr=|C0a)JbOVG71t%eN1m0iR)+uHq{ z=XP6khz4bjX9NM4NS?<{ko{UhNPjZEt^ji^`{DYuiMf4-*{}c9+K5o(~!%_;&kdQjy~4 zbLd>{vaYMQW95?R*0+!B`YBEoo$QIwN_PSnX8ANVBtxzAT+`lfAPz{etiG4K?5$zT*C#GX9PNlBr(4SQ+#7P^OCf>YtvKLPx{N(Wh8 z^l;f6DhBmQd6dr0dlM1gIeHhcVI{-3)xg?|;AZ%aTL`Xu%l&XT1Xt~PwT7(n6M0-2 zDg0aN#$!Kv-;3j>zasP4#)-J+?|QzooQCCb%#DS#I927YY| z6)gM)uao4~`9pn<|K^xYm+r;Z=y=s8ltfrn`9|#JbGsJ4NcQpQBjOQnTVA$=Z^A8% zW`dk`mRuap8fT>)CF3^P0_JU*&s{fofeOzOJLGDDzPKv`lP}eD8gC`{92Dtz)74?; zhJtvLLs`t4`G;mDy5*$&#YAZ?d>o6d(cu&n%r!8c*Osen*|ufm`Ta>20X3yZfVyx1 z^#25LOES18*;zc2)InigBa?It`%xwcMy$_3fVCP=gjX2Po&r{)B1_ap@zC3+b(KV; zSELzjw-_dEt1bl3WrP?RbIt+4jibw&c;@)zA_i%VRpX|bQiQo|_w`0%%~T2niI#6B z=!7To_oRF@V zRi4$(`>NwvPDasexZ$B{?zh9Exvm-Kcu1>m!wC(ImHerea&dw`!ZrlhKhi^!F*%)n zhbHDCy(}+jkWx->3i9{0P$WQ&>*VZxZVhlUdwwY8O*}{`*IH3Cm}5ecpL<>%2CE2F z5z-W_R$M4MghTeb$YtK4C}O6qG9h_K$p;HivWtT(ELrqSm~yiL9nS}D_h;CD;}5#m z@0f3QMLtGuSLMnaW~^>^hd0_snvQLrpP5H4X;`JbC)0Jn)xr0Vd~#KDu0-r( zl_1Pur6JJll=ml`4P+Bz4-M!SoQt;LM_?myp{iu<$pgdU+6xTCF1k7KmOfpjIP6@5 zU=;uSAmx1lW+?PoK(_8-Pv~%MXuq`3#5N160957!RWaxUVw;8r&ZluCba^bi_Jqk8 zr$Yp~2UF59X&?GD_pJTAi?1svM5$juplR0r5Fmv!%PJ<=Eetszq|+DN8e~{qc=nNe ztIzu0$Ct_??i$LO5Mwk+dsuUZY8KODh>;YF4o`o3ll+zz!~uWn{eg?*+rb(BqpQ6J zss=fWkMyniTowSDPWFs3PP4%BTbgFPDl95H&9?lXasD)jJh<5nL;dgjc#NttY=kwA zh3V+e&#l`*)QlxBDi#h~C#ukpq3s1PIi1Cp8MunHNmPB~YlWq$f(f)Y!S^jwl^k4l zx{Q&i$Q{wsVixt0$J_nr-+Q~+#B2ygBUO>amU^Qn-a(*F+&)No6uw>ZX$iw9jV-_Y zGv1^)UgpMono(=!pmw3+HsQT6!K1&x#j={pzyi1cFBAc4G8$;p4pO4$^{Jb;%rk56 z!q{VC-(?{Q!H#6%%?1v?1B+%(s2$cj9ynJn;u}kl>=^n<5{JFyeb&pyzDJ0~xLGI> zxWRWQ$p@$cM;5VRiPwNBMc~25^Ij57Hkns@_(dzS%vI0nDywF}ksmM^5+K$saWWwn zB6y&*3OOO?E=mP?D$Zendk+Nm%i1?XoyC9(UrA$+&e`z>l~LwgztL0Ac*ahMs0y?} z)IC>$a}JD{@QHp$N&GWHKNGHE;CB0vX>hpELN5$~Luc}FI)4izToeOZEP{ya5bWl0 z3nW%aIJqVwa>SV(bWHrSZxG!f)BLylvOEqd5wq7}_$K2;XZdlU!28~-Ob8CeC8G^PKR+4bP{S);APQSP4;21)i_lCX7AkF9@n(Q?ryH*tcgbxDd z8fn(r*Oy6{{b`S#Y|>gsSJ?=~M`>_TS`-pWlY`Br3w6pPW=9lU+-_5g7bE0st$7kp znj3q(`4mbaGeJM_rx{n!r(eyRpU?Af*dV2kv4e`l=GQ_FX4ZiXFp1uVU6WADu%3#On=I8i05k|tZ$E6karkJYyEvVC4=FTgdL4?tTdV(~~C zEoZ#-9L;pwVy{!~5jlqEWuV1J^;@9YSI1DO`aIMSp5wO5{f3sH0Bz$ez#VTL3eoLX zHv$O5)g_NsJYjZ(Zbg@Tm!`%f-m~v474uL}fQr#&<`?L6P6G8mbnJ{Qtp7_2_y1z5 z*_r+?Q_cKOCHH?GD0)!~YiAQj0(wzv17{Nv6C*og6DU4DC?{t}69XG4_l;>yEjulC zB;VJ%J)@?+hj`{et^I4;Oxq10t^9DME7Gx`>TC{C99-eVfT!JC_T;mn3M&Vv~K0D_s|eC7!D0uj_Pk*}aWGEH45~bpvl1Pm(w6D=bhE@R;DiXkK zajx>%?7$09fC(4K02s~%2jKiqE@1%IR4P#6M3-0u*lRI~PNp2-HA-|)^hkrUti2+P zmk`*Mk)cjx#LLoZt$=0b%iQ=h_Ekq#W*qYEl91J5Svh45GkEZcENwlXe}3uKjtwdG}HoQQixo@FgCbx+xixiVWH~* z<5h^%dx=KCLenqwhJ&vz^nkSsH9=z$yMsh#GQMH__5>u!NGZ95*(j@ak%h>(MUY9DG|=HAWKQyL6Vq{6 zD#HWE8)gFb4URrUnL3Ut(-6zMR8W*K_*^_anY_((38I07J~A+W?q~f775_dX;;9Y+ zJzbn!TpW+H@8ZbM7~-}TD{(itK(xwUi?8%Ua{ijHmS}A@UE^;gpx&^;8O}*wu);Nl!}hFljM=jV>mK%L*idwj2==rk++vNw$dy)E z__%hf$A-Gye*Imu9etjdyScBsZQISWLEoHz`xqX-bJnz(KCi&cwe(HM*;v$!5b`Sb z=;9TKc`f3t@mRga|66(dlE2<~h0hX`#@4(fq>c~Z_2$7#J3CV20a(4u%R2aY|GlzR z`}Oy*Rd^h+{L<|DIHj~!*M%o&KC_x7%GtB1iM?)%A`Dcrw~&1m=o zJPR+wXkWmfQR7md2)miWv>4;fWr#d{c#vZa7e3s+c>)C+VZOM4v>jZ0Y7{sS$pUd8 zSSTDQvb$dMWF0h%gC9mX)*RhzK=P9lEKJP z6+u8>gstd;0%_(48hpXPd%!vc1nELVD9|!i=xr+EXBP-}X_KmnM72%GAN3AP86*)P zXkjoEMl72CF7fObEzBR7vzhqU1&2Wo;1#H%6_iCqs5wvocwEKRouKakk(h>Pk?MU0 z(HDfBUR7&6F~N2qz}aa?pp3v@!Pa01!p#F?blJ44)5DFg_8LE`iG_Fta(&uLPoY|P z5;9P~iJ}6CpU%OQg0^lY>-fp?=)Oq5QiN_nOr#c#fQgczdeA5Np|1rh5Y}uY01pBG%i?w=YeV@BSvkW?mfT45IN zy@#v;&)~xgdlFveAm`=2iF-uRcat%drOPO~279U|XR=0t=31_VHS&KK>C6QfW#BeK z)=_*!u>88BONXJopLOxo@SjQ;(UHDh+-Er&GD626fRW`3Cc?LQ@f>xh&9b+;Q0IV)L-` zA+V2A*!o=gr{cNg(hYFN%(;jAkSRy5Ma%1I)boiuT2cNw{8o=hvvozQqwFoYfc+al z+q2kFD~xOzJ2!|G>IN!u9WANnM>gEk(|LFq4v?BmF$unM5U{_y%eH4e)}#S^EHh4+ zaAS04xx=g{v64P$-qQ;tsEsWZS6*q`nFjmlBQA&QJT_^)gbQu}^m#{oBQDnx`t~`p zl>^rw%P_ zqfcEMFvu0DB3YYy{qyAzweUCH>+%}DXUia9@QY_8v=QwTwX#V3Ad?nQt=hdY(%nt!+(5xKOd&z?*Y~2XONBn!q4aE0257KM) z5%&7$QfKO<8yw5St2&Fj7%zV>-;sXozYvfqleHAk;8}q? z|Hfr~=7ZR4gzmLIFDdf$C1Rxp_J zE7Br$Uln8&IkyJ9AZB*y>uTxHZ`qQB9)7~TNxM9wq&Zil{;V)}OcYU#0ADf95<;Fy zMb1o_!~Ok{28)(KcmNcYbjk`GULJ1l+3N9Vd;e+;c{VKf7ASvZg|nGTK-8r((}q3E za1`PcN-k;{FjLN4CBTO!ieb*=M_K*Y%vRRl-7aY2LjzwxH6`-)VWn+lc7@Do;S@a1d8)viwa=Nr}Q)u3lP%rm{w>JoY;pxMY; zArtn?Di(X^A!k}Sbo30H`m`*_%vuMF-P@gDz?#FUK6|vz7rWyVC6;++_X!WTwETWX zI^ZZ?uYI-C+`Az84=o!L`+tB#m^e89dpJbX=6_Ni{zoJLPgxE7mqj8X`H09ohrj_R zpK=RF6Qz~^%+l=AXz{SYd%~_7pf0Exd{34{X@u!&FqPSXa1MUG81d z?k#;T&o8A+Q8ub(+5E5yiSdLZT~YKYP0IW*n?6-l z&$a6RN7*~Zh!S_-nr+**ZQHhO+qQkW`?PJ_I&IswZR2)kGWY%`c{6z@sc)4^DwSWd zSM9ymvw|L8aZ}f%%!&B?-s_Y!b@;9t>{k4v`@WzrK7n&+rySi8_U(o;kzQBap%if%pgIZZojZ+bAG&Oa~ zEeP8>?98s24zOt_{fYBj5sl>6aL2kXJfM{l!(X%my2hLwpCfiQZj*Jt=re|mU6KahT0D4r%L@lGvNTUD8#~Uia5&p208{9C*(}-4S=I z0$_6*$8q7v*i{_dG*?=ijGn^**E)5NsLUizV4VHBJnruxbB2ib_QcE+kEnhd?&S76 z4;Iky{*fFK#L;$_%f29og5a-4xL?nQu!gC}y_)&OImW5WL6QlDN2rWYs`OC9iorDC z*p6fnWufuCC{aXOGkAb;u@DS}@Q2NE(_esT8Em99xtF`B@4?ezCmG1VeoZOP?gWSs;3j5-5e(m1^(RKuNg_G5lZ0xp&jNXB!R0(BtdZ=B_g}oKO9MC-*Ni!hPwx$s zkYb1suxV>`HXAV0JT{wn&^kF(qcExhlu&VrffZ#zq?nqwv?!z*Wq7N}w)bJ{g{uHU zA-{vfi*juMo<;LZgHZ(VdR2aZaFTN#D1EJ{z6De`0U}QBoY%%KNZST;Pz)Q=5YQE) zGH`0tvE!CI{ek3_(uW*`g6*ek)o!TuO6R08O%pvj7w#P1i9vimXY&1SH`*D84Asj?*%}8F`fK6YDzq^ZG(RWIqunSmXZ=y z)1NLeAIj3>g07&>DEWr3F~m_)J8QnzR@f=Kk(CB@=xe(4`dMR3A^hd^s?v*p*d9Mx zn!=h76{1+oshk(j7?*~AvYafTCPQbbEDzbbfu(&f*b%WZfLf+~IblVoG71FE%E=4y z+Ia(n20hDgWT>5(dzM)W{D;rwDsZ_2t7;ETJ=#OrZL6Alqj;_zR8FT{Vuf}pKz%7C zST-+Tz?0X2m%A`4|5^lQ$X;hh$&ir505O>zTKPPtlU+=?92I9l-8j9Yt&J`%!>V4` zK5m1JK&LNJXZjpC9o2CM=}Nmx(7Ond!An!mNG+}r`y=8ISb3DNBG$21A8*Ub)m2P< zgk9BNb|RSjID*dty(YGkYeY+mrgnSh`pI$1T7W~Yp>*djH9aJ_IrOgPzQDM+XEWbq^w>?dpS z${Sf)ixYSQ>t)k=1>lD3#fVR#;nuKNMMsE3OhQtbp@`rj`jj$1IpciVSa(NdWAFV_ zfB|rHLZDIFC4U~AG*t8tI`;Wph4l-|`Bc~>%8LM~MCGEq1Agj0k=)1Y>Gd6{>z&0E=om}PCrU*+bNJB;cwSOS6NoFE7sq704V&3m_QJC1CgQxAKGDRG`F0u zTMmRVt!?1Yvf_8sqV;%>kN&v3v2KSJ$klP&~yzm06esTLY zDY32W-#*B#>UE$At!%y-!uLuoe=6V=vglrB@qWTp_$2cA(YiM z^qVB4tcx}HD7+g1!&{_WM2HJSYcP!{`iH%-FeDtFKk&^}RA2J5;OQX3d!&HWwxCB` zo3WEbOQKLGM_Vtu^@LrK)k4M?h@;q8p6ZEo%BUPRF}a||liG7W*XGid?7QPOuuT?^ zVraSL*Ak@9VwNBz&-^Y>7W!A_s>f>82I?s->yf*v%jNSUEz8d4t5m{9&5R>F=Kj*t`xlTX`8UV9r@^EdN@d!c*XqE~q{%IsVrK9fx-UV&7GTO=XjcnNz z5enO1vLTJwoxFw3u%oi<>f4` z83~{Q+mh!}q~!wiv|AD5&WTVm`EKO@c)MZQBoT3s3t{Oy=MY~N*v5d?2WvAOOy>C_*!p7 zLIDSfG7j=|zM;u_ng1XVM(gYIW*Vp5t43%KyFt}#7kF!Js8iN!vh~#3A^MP|M_a|` z{VieoUfMnmBlEX@8HIvV>lh3_rq!EBMNEe8b@ z1}6bNj=zQ?btG?;$y=Qd@8(ZVdiIep(hMItn^rHIdupZU%%_>f^%c)`x7YC2gFX99 z&cB%M5Yl{@?#ycPq8TH)?uc-i(ZS9&4|{aY`sBL;+Ei-PerJ0N#ib)IcJOr@nWW`4 zulAr!vj-r!0|Up&^{@M_DftH|s*BoPqq^gVlFH|i@f6-|2! zD6WTAQ*^TdkE9KSQ$_^~IfWbuFL&@=I%_L7b>{C#q5A{nG-oj78$fVaSn=jNi%=bg z!GZbqAk$`;}=m2)$S>Ik!=OWZfa_8{N!41ddk*Le!RpwX%~>8O)y}9VS7CW zf38&UYiXa6t+#%G-_g+`N->D++vr&3;IjbNr;0$U6KP^lpN@7M6pDyLreD|3r^Gs_ zO0|`rEJtg$?C5f(&(6f&GMiE>wbk754L=O`dipF*s~BR;*DOG(_l~Fh_d0#XuL?#7 zDom&H#DsuR^_;`ejC|lEQNt;fD7shV;%i|Z6=+b8L*vdn64odHv+Yr^%G=n7@zdr> zX3)pWn0!TWr-=cs=jHK?4^P)~e|cq&;0=j`&&yN7kAPrzqh^0;mWL6DhEPgm7I;G} z2)NSr!L3^gev`bG`DeU>ybrC@2p7b;nVm9mchFXVQ5v71a!Q_BLEhh>izHpQ~ zA>oUyl=im{PuP7lvbUWU@}MM#NEpq_v{C5SOMnDs-DAPyM&Fgj-}&fWwd|B)O*L7| zU12eyLd_`oC#vdB^cJZKtv3_JqExVCtfR|>jBAJL0N6+s*>S`0-y1=k&yqiuY7?qJ z)ex!wp=coIVPJfxQe8U!68_i6;{h<33V4{}+r{rInp}c3&6K8kS;e1GqCx-si-}MB zqpBXP8BRbwy+2ocZk1RW-(o0;(m>&Gbk$s)?E?^yzKE|;kUes+t5U(z2U*3#Egq>?ue2F?1xkEml(Q{3M${&`3l-@oR(Ml6bxJV zLRNC7#D!nq{mSM9y15^JRW}J@=qqmvi>ZilQ8gdVB@NYb z+cpN+B0|A)I{?NOv)?{g3`j(tIeQ_}PW$w%bJ@^UE-1NGR}@^im9WGb{BRk|A+cS~ zVuRgwx-3QoOgN#l2-q2uk)ntMi=@|yl;Z^2;zkr>j(8BfVHHz6(@V}mQ#lcfJE_0T ztm>q*#?>n0pPp8RwvIx5ri&jP{OUHyo(%B$0F>;u3#C=XzI~ZM$LO-H>LUHj?iLFL(Xx0Saigjc}He z?v0n=>>mV(=&(H+L|VT*$)Ib@tv1q_D!Jfd4G!D+nwlw>djv$21J9Xrn-vpMwmqi$ zzjb0rjIFp8F-W6=Uh5hWjA*x49TWF%rkVqtw38*Y3Ui*z9W(<6RcV<69zaJ7pDMZm z?|f{z766!ZcF$@Q2JlZ5I|#_^qjO^RY-Y@+aFHbhr>Y*y)ylD3K|@@R)VA_hf#e$N zm;G!HOzFu|tE-L@+|2Q(K=u_n2SeQJXINqG;r!wmn|q6DF@H!FSA4u(p}gG=T!tzS z1_x%4ybH85x4zxMV1dboE#YCQf`%qct8DfX{OTC+9|6f+V?q?-h;}QtH|s#4JBM({ zfEGcGvM|TnXGa8iaKPZJ3MJz1;n8F(t=+>;jY$`TPc;qSs~R?Nd>}CGhlZJCuV*#) zc9D(s8S!)`tsCzfHAIyqe)Lw-KA8*S;jiS2hHnT;3z^ks+IQnIWKM&xTa=dJ9Oz*| zVO=QXq>HmLs|8YEK|-*(H}Jy4D#C8U*N{6znZYXLd*M#jzqD$(DR}MVXc>v(S>mQ; z^rUu6GjE~g^zu!hf*#;!c!{%Tvb%axK;$#JX6qD3-x$1O!Sy}fx%OD%w8%eumO;?I zry(z$j+KB2NHEOl3>-L}-+H-DGqde2z4~Lqk^{p|(6F*U;89Il+xvqo#VNHVITs_= z^!J*1fK_U4uGz_Gtz#2b>ZDpf)&+*-^Y?WGu@lWZwbVa4!B^g8$@`h%+^l9>#ai1f zwcj_n+)wn6Uyak-FctPTFarsj z4CA8cM1`EYbgczwD|$u?eeBP5cG`7q;g0Lrk)4>3?q1pvR^j+x^}xFPP2mB`^8elEURP#>iDa=hAidH@E$rK0z}K8I&EXl` zP*=B2qBsLTwjq7fG%inzPV+aWXh5_WM3!1~x#r`@(#}+nb>O(Z_aT@u{KCQ+Yli)X z5Q5grnS-3d_g=Iz5Sc2+jqy3k;mz2hy15 z-*gr~w2*jUpFR=zJEI*0y7zXa3%8ROK%PoIzkd|rGp!Lt@qgwifKOfjVobp01BX0+ zDR|6CFJIkR)mR9ULpn4T{IGGpL6mD4z%~A>r)-*6HT4SV$XPt5RNDG+4i)cMzM%P< z7#NTdmE}`ZL<~Gebxtiy;4zo=4(F8HpG4@if6?^1=rs#@Rt6O_m{H&5U$?_$!joO-NV3&zTCsqR_H1k8-Crx6eDj_& zM+(jj=HnfbM#)fFf<{S<4ETiU4q?`B*HAtG{0a2~elLzO`VaDuiS56onElU*JLB(W z?SDCO@77d||BY$;zbR${?Iht@gu&K8@v4R<;!6lAX;gj~q0mAkNs%s(Q@)fkkSo9h?rO*}HTOb!GAQYay#hK$T>r zodJI%sOb)}Jy<2;5?rVOHwrIRQYRBCz8VE8;6^nH2f2W(lM9G%$+?WG6nToOh@}|j z)T^Nck#H4vyLMHBfo{&s2;MZzXkaz*Ze3=t3>a;Tbv4`BLNY;aolBEU?FmI76fyk;WY=&*o|HX@=^>k%A9 z%|NJg;3@@@bfC$_hEymEz*I65f)aDVAPE|6*+z&J4A4OsM5>bGfUR9%)`>+u;Vw%Q zPY1E4xu6XeIxK4<#1mnaffPnX#0l_7!EpgqNSd{`b#+E&2U;fe~E>hbjxncI_{l*j5PKgwXN&}Mk_zIU1#jV zKYMHH`ntQhRPWiI!AXM(SAWmGzjA-h+Z!+mNg{0ou{3tJwtK#KG6t=zc4?LmRh5GzMbt` zFzOpa4eU+$_fCv)Uv+GTKd&zzcOR9GjL)OV@B0Pb^_ua=_wz3FO+*uhtI&s%$%)-n zq{xxZKY5s2ooDDMa5y7h!AgIaVg(li8gcNN-aT`M1FU&u@UR%vRzOk8cwI?+qKw|3%>`=ma`Z=D>s^n1ZB>hnzlh@m_Wt_`OJ zdg&4Gjl1mF>)FEu-9+o^PweU2_?YpbwRvgc;VMoT?35eb<;!u0R#2?Tcv z6EcXJbP8!f;LwoDQwy2HAeumE9~Kf3noMv+$wv9;#V-^giX)%_T+vH_?Cx6dR^_D# zKtc=g2D94v_gwpRY|#vx`)hDI_+K;|b5ew-z^ZX3*-Z?o8O}@}3-QY4Nhm@oQDw+Y zaY_W$a}3&WUiWvpgVSrF96f|8tLQ42lj#AH8Bcl z#}K=G*3sM5vJY5wy#c6x#+*Kfe-ncw&|e)x#i2^M=2ek6*@0}qbsio2%74Wm#M^XR z{kqpl9SUHMPnx|&<=mK*2jHXc%(%a6RFgi_VkF1po2+sRexu=g*V?m$yk51#Q0(tdD!pelarkJ6--&I#l0sFEJD~=3-@s8+fic=@O>;r zlUnmVlNj>!;8+V3ryYi|=YG>;I9m!D8`>A6&=P3vwn!a?FzsC7NJ%DF&v90PNlKSE zLvD}FfP>`gUx%4-R@WZfRJ`2JzVh?SQ!6-SzEr!vv#^TVt5*uaE)?aTM3hTb{0-HD zML(u^t?C{-oa};0mC^st6;3C0BMUE-5fYwjf^?6ps{%}k5+5dNFaO6?N@xsC0h?*R z(3NqTM(X1G=im#!HjOWc=)~(Px&#Do`M6Jz(=?QE(zNRKq5|KnELG6?P_Q##;P|t> zsq)Fkn>*N^;(-!B7F~c{D#~2RzQla2FgaL7W*qVT$%$@Zt7iLYpiOJ0ZtGhO`wRTy ziNQ~>&-`l>&OjDY3S<+FGIT=uV3D2}bqE|W& zd)qS%O0XsbDyge8rL-ii;qUL-_iUr5e|RS#Et{^b6v{7KNN?U6-4`vL-`8JakRP82 z5s)y7!UR@3bbmh_shDZIy1y;MOnIqb>-`3*VPt~?t!~1ll8@bxq75}Z?_rOmd8FRr3VHEMeMaW!aEpD! z`&9NF$K7#a_en;2P;kVh>*g<|gw&Gft?Z=W<}$SARBX^JMZkGu+A(81Y+Ypq9JsBT zTecxMEt~ZPuuDYR5M%i!OVvKkrfTV{M`Y|Jfts~83gMxDpO5E@@!QDwhH_|782b-W zhMDDmN}2!N>H3A4{g+Z@NK4;-lMTuLrF2#}plU8+&tIt>Z4`GFgcBwFct4!GNR+Vl zuz9+ZT77=_?&yBYKCFnuO8sImb^)Lz73)t{I=*=rb7RRERsPrnG8W&Do7??ks4P>W zWld6JbcmxQ%~522215?1x#+#y-HkFe+S4@)st}ExTzhD^>mGjRgi|zeyT;#a^5&9l}UDbjTJ8EgbnGCTgVYkcnUL#C0s6!v{xX={3H%Up8Ai zIo9iqvcx@b;^jsJFCorUD(Gbc3+OST%*_2E0o7YEFQt_1Zg<^3ZBGjaz*3yV<5md4 ze_)>7D_;Rw!UpaD-3ue94s*d|4Kl@ia9NN;UqYdy@XM?s7puUJ!!ZvrNTbgDhH*5s zkQqaza6+Y|6C*EY!mSRy!Bq_B8AWOHS+Mh+hK1o-rkDzvN49*%DJWzZlb_^Y`HnFE zD49@n2Q?xFk>@#5Q5a$xZ~iHtijhemgSk#&g50p;BZTZn37wm-y&lW5pre&D4Z*ys z@`+>9_G3*5eX2wSunBQf=4@VHNG?v7I%Ww!Lg!@w zl8bbNt_3BUtQrXo#E~+Uq=H0UKGlGfjM+6RK$kFpxy`O9jx6XOyv0=_qXs_@31#i) zx}!m#|HDM6NJLZyYmtY=)fg8=4pjq8LP)DBp)^mCJxQ@4d^g|7K3w22z-UW$sJHCu zbU)laXrT8;1{nc-&2u<8_USl8nyr~uiirWJ6C9LuUV+Z2$y{=7J&=nDb2=$F4{C~P z*eK`#AmdOAWY)_f_J~XxZYh@5s!qL&7li?Wz-u6E)Z$gd4LF7)o>u07T;oy%Qp^w4shX?&D?JPSBYrwvSbSA`^1sr+TsKU z##|;L+Y6u?;4A`i-*y!v#swd@RXn3sP<_FeHLwzc^I-{mpC}VhcGdy!Uq`-m=cR*)w;vv8Pl``4=+?33 zJ|ZE(;Zcr~e~UfrHPi8nxmmba8hS8|GpJstY)JqUq%z%g`{q%HPzBnPL&V#_O+t{F zz1`&^@K}MDGt9ELKFjW(393Z0$?+_G4Tbd7tEspOzi8P+eG-2}NIeP`rocWKwdlbU z4P+p*R~}m0SM*?wI#M?CdHFr|*}A-)OraqXisY!@e(bG@f(}7UqtY1nwVg$;d+`#4 zhNARCn?moHpZ4URXXX#`CoCd@>l9Q=V(Dr59Ff zR~bxQ-1hgTYv1Sid~LGvjPx0w$F{$Ie6pMIx_$JDQ+Wr?mZzG|5b)zMORRs#Cfe+G z7q+^|_A76m?bn#b7T>SvBYtXc@kvB1VA0pAGfAu0SG-P9k~;TrX>fQRO*9Zs>>lW( z%W>+{I)7>uE@>jZ&VkOYtkAG&THF=nYCF%pVu#q8qn#<5^C>iF?v7M1%#UTyz$aX{ zQbKdn-E)pFTris6$ZY0Sv3aEWUSFSaTAHIfF3w|fn;v7%OUhat+-&8aV1o@sIagIw zGTTc4YZQjvVf(vE=~Z-4BqgY-E-SOg+CQ3qr0*8!dbI$;M-AZ4$;zrD0ylUrRc$wF zCZT~+`XBcvn|VJ|JnwRKH{R;i@xXS8a^{*>+SiG?bfXC@0qM@TNc-k@ds3zsi9%D2 z@k#Ytn{Ns)*Yj18c26@Y9vm1p70ns(;^BObxQk}VLsGGQd|YtgK-<+;qdeva?}(+Y zmgdaiK&H_-+dO)njUBW_c86d50u=OLXKHe7f*m8;bVlpWi^`Z##RYGSFMfS=E7_(Md^ zW>k8hm^!c5CUbzGW^7iOdW@c@vxlqELPV7C6$BnD9_oOITQf&g!Be+bwNZo$i{1TZ z_cVFn7B~G-j>z1%fexVEhp~jBxnXu_Kw#CrT^H$HGLLZIljfq;a~jIkQX|ZEQ_u}J zs1PcyLLP?TYV+D1kgF=I&uQ<{1W0=6f-@nqV72W&tT?;DJpOJt{|99y9Cs`8mh;6wi0Tq0~Ly@(*@m8;cz_QKWK!pRO zHE^3d)*t9(EV^qV7Z)XyP#i%8p{y0Zjt3;EU>8|mry%xYvsL6%3&|&m32GDQoXgD} zlXRDb*|q?ry$iyUp2x%9^F&y4)JZU>(DP%`sE)9X0uIpbE>Jn8SY@F5N3`6bXw_F~ z?<*T#`CzmtzGRrkSR~VCQWXw2!x-EF!h3`W&h4zB@2d8JbU3b3xftz@>eT?%scBpn z<}`!;ZFb6>c8nZevFeUhAd>A_&Dhlu=;Q%&C=R0B0MBPmHz=nF_F5aFj zzlO&_6msFz)?O^Ntc5*4M)J4jcTZ);{fUn!sNHkl+9*0`p+t;vpTtkT0Se~sodF4f z{DJXaQ|#A;BeG6a;P`{v%*NrX@0;E!=Q*Mb<>(*027DORkf!^IE62@~9=y9|l2~klapoIi-J$0@K^;ejqupdgR%i8%8043iN)5yx`9T!ZuNI0x5=sS58suP*xZIH zc8&WM@1KSKCNi{tgz7;OsNZk-_8)N$pZM3_!?piORC4^M@hKb2f9)Z^(%Ojo%}Mfo zQ9qsf-BVTWl3efd0IrG!86$!NlMHw=>Q!|1La8j)lf1ecy!}@iCA#&_w00?Dz>iTU z-W6Fzq**HWH$yx#Lfk&*?p9`(K0c8GG0Id&gzSW7#Z$#5_Y0}7jQtP(dkk~BIafz? zUHZ4Kk1_P%nwujmh0LU4}13Og^_Gq?w7aylL`K8ofQ1dM0`5( z;(jD%PP9x>u3E9;k?M*seZS-H>M-cGj4gp$1GJ;OTn4>=dnqNH2Rx_lo)-##QfpnA zu&E5dWuTlt7(1u0R$yT>;x*y00GOw9-wk{CxrgjZs_g z1v9B5h2&w4TxQkApeT;n`!k47pV;)z6 zr7daZ^i=1H4T?^JY+k+5Qr#VXQ4$)*k0!g+l)pdm<@&_&i~r*>e?4x+{C44-!RF(M zO$pv(|CqAIf9_7FYWZy8hRtW%ae?`>+aOIu>)yqo5 zl36)L6!UZEp+@)%36UV4SA?b!ECZ-iF&|cvS;EW8YgDZxrT6y<5@rsF%@k)0;5N`% zhv?42g7%O)fRL7^iFcE}7Z%usj*|elvjuaT=z8x6H0M63B0$O##{yCaacl;iBO;8M z2)jpbk$hGINE?}0n;TwHXn=a>bwYhYzbQH9;-_Dqg~O{HZWb%5~ zGeQbQLwWYr8wO7aQ+P78UYKhCI81BS`a?+bH)osr{7UEF4x#bE+Ubj9LUl)&R5f*m zn{45Y9j?rR(g;sUS~bN$6cEQ`eeAeM0||EQO$N=jovyb{X{F&Upj;cBLD5j#$qNYN zSM>;Y`F>}whCrk{&!3vp@-2G+Huk}4o<$Wj!=oIoIHB^!)x2G`y@#_pL4|}ji;1k` zH~sp(AJRVbe0nILaGDAHVX(h_UBG?fHf?qp=M`@5J6{rvFfFL+wR*a`AJkra1>8%ekkp@l=Y5^)iPO>U^;mfslGnSKE69kSm{u6}j@XommH9 zHp{#uZ-oSQE&1{j{bnUDX!|I9dl22rKLR;|ZNXyN-p)P5*!J1F;KtY3USJVx$xi?% zal`8cI~xHgM{ervS2$`Idw=E;1LFle4Som@CFcQJdiQQeIpTlfnATcwh*&XeaW})3 z<(F`UvGGiXP0--(>03$`VF&d+AwDb`;xejM(4asqRy$oSp1L)4xLfhoYf_Odvmnyc z8*k)}t67wdiewz3<3wehIQ)5GC^N2>m#y)stX4OD<%vR)6%qbw>HV4;IM>afOOgXm=n-H7cZhP-Yu3i%JW0vsfNQqvL(x#JT3t zfW` zO57}*(ntSgm`X`5Z$A?aB1Cue*s|(Mo(qU$U<`4WFrd2QT;vv}Pb>qk12`iqjh*gf z$bS8W9%$GyBEC(>DC-5cp9JtoQoW3g^)iIMTG4`7!lNveUFCO?AdjqfIYG#_{L5`J ziB7IhU~!y$&EB@#5glupGv91{e(tOrSj~)m*ZS5$>0l2&RkI&Ik_Qk^%{%}+iG;=m zTn9BDem{fJcYh2RXLC8XMBZ0n^(n|>Lcqi>pf_Yw0#gWQ)_Xi91g8e-&8$`X7C$m@ zF&xP=5PvZydTRUf5{0UIhNvY0K>mKie6yAP2e^>}RhJs-9 ztd{Geueuh&p+;)F{!5J~2lAyUfTuI%1Q2u8HYL=)lb`KsdEi!xV6I>Uf)P(LA8-NY zm4q#%c=`k(=&u5@h7E4m%gg|@DJ+WHuI7M1NJ?kJKi<$WE@Ml!@WbUTm+lSF9S;~S z%i-jlLN%mYb)YQByo!-m>V+5p(y2g}mPG}PAJY}W6qC1PPg!QFjXh`9mPf)P?sD`F zr}xjxk=HzuB6r5|JobK=m6nG&=qLr{q++UTxbCG#LoX`(kowa-2OdeykF~Y*tJixhs7_VQ=gaKET%)r~V$b|e%eS?CSxElE(7hoqYtPHD zqyM-c;4VQPF8@d##8-vWlNrNH=oJ(J&YMrEPusDnJ}9*uK^_~pS{I$R`lH7aioAHA zypDIoqxnvlL>eCZ_v?k+`N0-wjDSiR;L`XwEOe+)z5Rxzb-rQ!l0q$xrVwfew^u(b zjk`l0FD4}gDd@x!p_n4u!63UmD2deF^< zq%4_$b$(SscYN4laZ}J(pv(-%kMsNp1&Li>UeXmmMRdsex6fNal1_lCqBP%E#p8xHN zX5?UH_-`AZR~pj4&=Z87n_7f~f$`pqJz@D=G}#OQ-ZqHc<9QSy;{`odrXz_*FZAfo z7dZSxQtfT=0|H)@)n*DO4*6+zVMF^P!<#QqH+i6ctHgNufKm)k1r(wjdD}j|cT2z( zFFAzWy%EKdr&m0@wm%I0*ITiCX{jm3G73myc%~FZ`DPLUFr7cwzyIj({d|}0G1zPe zyt(kPWw}*>f1kY?we)7%%~~ry?uiG9_J<(I=NgMTX9+6AZ$EkpMFbEc)7azoArLbx z{QgbS>HUK?q8GG80o}GaV^v`!i(pLC^6-Dpg@8tT<4Q7OPmdc0316MGwW`-mZr6b* zhayxzH+x*UWJdrep@3cZy4I;E+^W2M=W5Js6xxge(p!|qKuHm-angff!g7J&c45hyHd@wI1+AftdIuIi4kVBI9< zi(f@Apt@kWB)yw5Bv#C;@>wHDW1r{QF_|G(oimj<(uM_l`$)CA zM$A~OTpz+!b0DGUduKyyZB8lxtp^8j2Zjp6f%FmV(pj2`zBN;5)v>)v-m!JBVOrXf z(q7zfacKhSN{r=s$W(DvopP|?s33k|^^B{frvYo_NNd7qvbI@Bih8lEZTIhSFVL)I z_py_r{G{V)*!mk6j4?_Qa}a6>Ah>xz6mM>7&{F*TZfSrj1}KGG;Yc4{?8Q(9xrJ= z618J$B)95a`?wS*IHOa=n-vtfxSx%Ak1xEQYnF>%*Sfhlu(~&ZB{Kzt;-<-w_8nxB zz_Al3o-EPmKcmhR;nyT4l!Lau+_l&`62h}tg(wCx*r^gEpRaZVU=6f<2pSg`Pg_&= z8BfY)rApf&!_|GK^9T+6MKefy!ppp31TskYp4TlNnbzlOQL36iIc-gbtdmKr? zJY$hH<6?|h#(+NjY2kYEPnDaOYuxp^`!;B;5-pY?h^=Bn870AjcJB3tTf8o-%&$xp2_QH}fHE*YcVd&dZ+rCVuR<<`7&tc}SjZtS? zc3#&*dt=r`m>|TKk+FZ0Pq)@h!l+W1cHqF*SvR*C>XjY_8a>v7@2)g_^QCsf!C=T>7ZB*<#LTw$eq*Q#Yi>qd%Xo>EwcP9-s1Q z;j5?T!n~CDO9$Lxo&nO4Yk?h7&BOPcr!He5%y=yVpVopnci)M~sT&;}Kqyx5V-NSU zlqrm01ir7ElAV6B9*nRbKMG-*O|W~AsT;nBT)^2KCDlL^j6Lv@&PS>%~_*D{EJEdh`@} zfC|grY9p%2Uqj1b7*}m~C^5r7P-5JWF7Ivw0?{O9BdypH z4bK<-y-#5VG5u}M{}^L;{o=g?r*+bw`DI~|dT~Gu0-RDSvAOq!(Mh+WLT#zd{!QRg zvzmnvi7og^L#_bZF5@=+1q?ek5Fz`p>$+|(la$tv=xAXs@kRUlF%8_bNxO>HOi=?? zmm~yISQa|uQ$9pqL$S9SUKv`ad`wjO@vWVM?sE$!;Q%vK*d62>q?}0{ShINq9W=HY zxW*-16$nj0PVShZAfVzkUBeQ(;f3MPKYsPrg<|fX3^p^U*$ajSZVs%~&k%(lu9+c} zlmH^%cd12DbJFOznK>o-51y4HYX#FYJ1|CRrCc;w}vP~5tW{Ha1XE2bnNa({@M zA3OK}#E8+0td||Nwc*sG3thg=!m&~92+u_X&II2*9k-S4a^Q}{plx5MJFL0%N#~%C1u7EQj${Kd3m}#XXcI#(Au1K(jU}KG ze7!v2NRQvcTNw543thXN5?j*HWPVrV17M zhJtC1qNibTqf`>2W*Y#yLFUY4shS)^MdAFghl17AP1*m0^Z|u`I9P=sIn`I@A2Faf zAby4Oig27Bs4P_)?occjFHS3GKWn;n1{-fy)5j_01m{nq+a{>_8L@Q^Eli^T=btl=hS-hkEb2kM^&L~m5;XcQJFJrTgsYF-8= z&=^3g3yM3wzCNa+T)W&iV)MnWVLp&h@<1)g_4^*$8@UvaB{uSX`@X)Ox~!~~L#PyC zA2&W{@NMkSuKor7vq$%8=inb_P8oH>H2HphgipDvXTF&sI{g^3>DHuVIyfShNT*@e zaj%)mLv;AxW*KyXw-Uqoy$omjk-yIqvpjqQinomTo&|2V6a>1w8+LcJYuWU(?)rLT zmaIg>XWlwa)c&;Tb6mSeV?H--(xha9!yiubXX?@7sokuwM~BzNq2)9D76?`M-OfzNHZ2xqe&HQxf ze)DDa=vD8~E$do)F@G7q`@J7?y?}#z1=IH966Hk~OK>0~f|5OR#FR6R>OBwqgIaK} zT&V;I_P+xd-dMVyD5L*ui|gYkK}UmrE7U7M!lsF6LPzAtxg~leW)?dPWyg1)XJ_i} zYCDB0N!5LFVf}hN_x}0VZ=E{+-m_nDX-ua-u==v=`1#s$8L?MqhtGVv`ihTTc zmwY5)mC)6Cq%%)gw-SkVjKZQ*Rm4%$>S&A^Gb4L>F|>+}6>}dGn746BHNlyvvuQw5 z#%m@$Lh5G3Eh5wKTTMy+BN1kst}VQeE1HOS>&ZdkOv$+NqbkW)RtB#6ns}h&i2VL|@ zAX?o@FBc-Sn$rKntkim42Ds%AU6RB!Sv$?kWe@_xYHLz352pI z7BK&0An=*i$Y5)r*PqB_v(ec9u zjbR&^nAnt_EaPfEz6$)$!zdIYdEd?Q8m!P-AJh;5h-iW|_zGW?W zmWi3ur5MS{PcD$*M>B{A?LnI;kCFUhdPwh)MTLvK(zYrshQsW*rD2gI@k*sAn4P%A!!BwY1kFaf66xXP&- ziU^hC$H_#nhIdYE(%`lBf}yK}TVC&)mjvT|W=(Q;7^EBIvCJf$>;^8;{k#7?O{{JO zr)OKa9L4xaDQ#J;TcU}TZqR4EWXznGE?>Oi=kCbV zONKlc4c5-xL}2>mu$l$Cm`%hH>xpU}M^emIGLdLWQ5(q%8ILb9=1^Y@HXc@NtZ;a2s(?rC*D7}) zDUR|VYBvkZe?VCPwB2*w`6ik7$CJsEOtO>8-v6%bq*h&PRjrEmEW|<~8aWvd zjAyl>x*ExkS#EZE_7!L??r(z7-l}nSd*F#D>rvxRy(KcUeZ(faiC`+I@^QU?^4KT&sy8`DV)BWnGYNi=Rq)AZdeh%#<4pl@0nh0(P^e@K^Q zpm+Rsb$e+L*dfXUv*W1XL+lG}`N|Y9N9Z9s$^HaDT)*Y!j2Qe1 zVRhaRB#mG$b_N?TdAl-}0>YCgYb|mfL3-0~R9Nav@8TPna{JE0%Q%NOVx4~&Y2}+? z>MGi#vtESrw8fB9mxwW6zR^hFAi%&uQLlM}P9y5J1kqVV}9&?^iBt9~nE;HMtQ}i@MN+X{~a17J$t6 zEM$&C;6)_5u|DzYg2B|Y0TO9s9HMj_2=Ywb7`n({x8{vzmCZ%7OtDq^6D>A>s$}kN zWeA>aZf9=4yse1Nd7T`tli6Lc2qZR83D*>^rRh(-2dV=hh1&=QcWWKT?h>d=idCr1 z9Fb-JJMd8gE^r44-5V7TV-|0&>q~xf5DnZ3)9l}m#iRFa*zGEHP-^5j4m2PW+eU;` z^G^Um9EkqVQzB15?BGRb7wzCG(RDwEXpVc^j;BRt7fE;m_UqtHI^G3TQQ{%qf40vXUrM(r5pt#Nqp<$M!A7?^f?cS6$`+*-CxeQZOTpzc zzD>QX5rg^btMdVIlEI=Msdvfgr;X+M$!{xZzUXLuS+Bo>+_@JWkqpvP8|{2D=q1+H z#fgU_4bo)nx&R`ypm}$`yw{djUF3l#<(#LlIVp4-a{kA+me_`K@Ug*h^%&PH9Xd z7N|)d$2v!P<@qSDi)$ByTu+cb;$JxR(=-TXlkBhCO%Xf_D}{n?3m1=V$lkSNVYBn_fqB7Vq#&~m*y?BYN`WiG^N-&!ZRhi1e4mg#_z0Y8wMEOlp70EyA zFOs2RQHIsDAh?n^1M`H%Ga-u0%(JBmrpb`H!?dz^RWK7dDY7V%&V}I`qaS;ya1Tks zYR7|Q79>6O~hW-7mE#l~Om9*r*<9N!fEG;d!=c${lB>~*n% zbG2Ve^v085RBDuNHDyR0)}p#(#!6AOuVg10>$l;4nA~;Tq0h49e43R3Knp$7ueWS5 zW=Y$)o!5kG%%hUl1i4oS$$V2b_ao#!zK0ZiMRp4VVggAFIk#VH7vj@M$O=?tIfLrglg?D?v+i3}?2`9$lC|zu(Q{i7geMV_jwuQt-gT`Vk z5Ka#Zi_VAh=Hk7&C##d#letcxo9m$iR=r!fd?MfVrpwSQ@mvB;VBe_VcKq>2b=&Hc zp|1FqsB{gXVG&F@4(qwoq3qpX1cb|1oFf(d4Iz#hFM^&*B+!*%X488`C%LVN7vZ0X zkU5cE=|x30&jY^%%c2tDap5cbwmC>G3b9Cszfur@?I6hYyxWVTb+uqZNBD^rUC!kU z40c9`?IAV=xokg#sR=Kw3twP$U+^*z;Q7?!p~2}ZUvdiq$`Ixi;a+^_zCSMcv(?-slORjq_gp%saDC=TC9>jg%Ve6GG-de z+j!~*1=VN`r}s;4S=h)XANXlQeGpjVARZ9eKM`S4a7q3XrgCxp z2X314AJYDpO}W>aTK~gM`|lYL7a}HMGK)r+QoUILNThYZfI+YA88D zxfgzRvExmDxA#hR3md>(X`>}@3m{ksMElSt_%zIWexTh=^B+VBHAO<|SCWpCo|omc zAQH@YUw2hmlC7Uo9sp5%W;~EnhRs5f_D_Li!oYyh-WZENlQ4- zeYzrgE~YG2ba&MJlF5aEzB%RAeW9AKR=L4W^1dMb4x1p5!ZP4cLqMxNdr-i{3Dihv zJdYWg-~>j{zxEt^45Poyv@yQRhr?1$aKy3*k8}9-e}SWsiPHVfC1||WXU)t6*{*A! zEH3P5P6=x}N59)U1jsq)IdXohzDf%qf1~WH=w1&+#H8T*wy5DAM~}(ikFcjHzY_so z;U~8YkDOV;3}Rqpa2V^)HUUX1T0zJ}=we|z>TLO~^R@MswUc=fT&nfi2*0y<^+uML zAsW*Yfk++#F8sGv>;HhF2vKRvK(fHZghH>8l#%*UUOSLZl!t=ca6W^O7H z9TMFra0#?}7^q!EZOB(e4GRxz3z1(Lqct)s*-q=V%km6Kn-7r4v1ELyET7)6;iMjm zwt?ZQ^>@8@Dm{HI?o@kn%1H1hUbn{6RkD68ny542k_GGB<$Bbt+FQ&CuW9g#X6h}H zl5W9InnsGMyjvZ#l zyVKn=m8%2HD8X6UIeNF$7%UuFBh+`>XDsWZ*K?tBF5||6*>oUvV9^KNG3I2O^VkQI zOqInrTat8=ijfDS*1IbOZ33aJ;?KFmPHs9P$r{C4;)?b7^|W`D@r&WYdHh8;{!5TA zbY+miq2*t$^g&&70mILNEZxeMs3VDN=wHzglo~s=3>=e2{>zW#JYNh!AyvB0d5pXUV){J_Xu5Y{F!! zC!>D*izNw;970}Kz~*scRbDpkU!)Cdfbb5v6ObrP?VQ@Td?-7^1K8mX^pXp+k0XPZ z8q{_J6zIp^sX|kGbArCXPsvGLwY$Cs6mxE4;NjgcnjvxB1oimB70#!`)nVDjbBTwC zV(964lCY4e&JdA(^J8K|dDG#)`*ZmITi&n}3dMloc%1BkNLf}IIeUpP3kWFO=sgqOfnuv`n#GJJRMvn8?*Q}BBjGK=eCc|>ZH2_AIP-1IoV zcR#5<`$M&an_yVfR*Q#lC;kC+gxAR#trNL&2Q)koq5 zh)5yu4l1rB8{*15fD|!ED^0uwyxw55S)WWJ5si0T5DX_Xw#?>W=mqOR&WR`Wt+B*) z?<6ny3&7!ownU0f*?#dIB1m%%Y%rLA)z3N^t?+?vtB9(w=Mfs4b#}w+keq%*ddxP} zfYNOnyX!8}N%q+Lxt^Pj1j=rm5X93D;TK;%yi9V$9^VU6H69X#hhX`2g8-Vsam|^v zmRfGB6TkR0?p8a0o*!8+XA3E~yg)yhE)PyeYe}f{@Zu?A3l)ds|EnvQPJI@BrhpoGJSCu1!^w+}9MiXj1BE+<5+Yvv31NR*kThcPHWRryU-gj0QDC=r1DFuK?IbK`A&;ZCyDG6-JJAO3Tl+ecdm&H7pvN2 zBv&uv9EXi7FEwstqALEN_*F1H5aa~vNico?nmWV)Ph5()DL&-z2&WV_a%R@NBe3ZF z2wum4@~7%vZ6WMh6^Tyep={>lab}PeUOQ%IXr7BKZ3YuXSgNk(*BFGd_hRk3EOG0- z`pnodWNGSxty*?~LbeGrEn^Nq*T|7pB=;1f8Fh!tA$YGl=PC9^w&*b)v&&O|M$A&}=d;SuVuMB+r zt3X(+Qw^Dbij`5M&CpqpO1^(u^Zr3blLsaJrSR-~>FG}6%3dsxhL6{Voq^d_HNfrR z33V71LrO&LK12PbD@LpxJYY{&2ueZ|q(Gw-Bd+yb*BO;XaX&E1QU0O~r3h*=mO0Zc zXNzyUKP)hzWW%k`yY2iDvL&e3bV}#y=S(+>x|oQyp45@7TwW%+d(XAJz>1pF&usx0 z>mJ9p!v4uG$&b(VB$LxjDQ7~mB9q~A21ju*8}R-lHqmt$kiWKV2h)Dh%sqR|+f zaGKLNBt(q0wCv3@|1n-sOg)%j!(q%dl>dE zCSQJD{>IAwUZ3CTOUu_dvu=V5x1_~AV4l5z;yt$`pNv1Y$}@-=3LAOsQ|X?RV!3#C zQ&nEnLJnXlx6Vobm@<77w1^eoec<`pKaS0-lB3S6E~H>P7#}#1rhm;SnQ>R-cJ*lq zElDtG-aYz)Si=SFrgQeOpKWa9nIxXnrCZ0|9l^BDgiYbg>EZmHb_ z36<@hLjI$5r|eKc+a}!Js_WQ)GLq0`;J%yBsTpi2rF!Uc(%s4|2n>`{R%r~?pa^$; zAe*G@j*u3oP%#Bjx3T-UoQ~vOaa02DGiDG1FVKqBSYoxaVX;}%(wU1CbP3WuBTS)( z@cgUXwoV=G5x9_+3k9z)>5H=!b-ZKGCCQ$ z@!Ynqd*s{T77|Ra%?FStj}5L(iYH2dduOXzSlU^9L*RPcy%}Q!4|U7lVGPXoty|``lC- zJ{{iYJB&vd5SbE5K~j(N<;CZ8){*qQO4sGO$X$n{hP=w8!{_pLnkYWK=e@-rx6{|~ z8;Rg2t6&hBIqXeAk{{D`&+U4`}jiw2j&$%eQG{NM29;Ntq9ju2ProCU(p4r!5%b2`*{}(+XTqQL>OKXwg2Fa`yac z9;%s=L?pxUI!8G9oJKv%_RU+nH?H;MwFwdXUG`f2+^@daW=a++bK0FDWA+!$YhJ=Y zjWwU1wGm95L^R)XpExnWUawhA6P4yuTsAaB?n3b>3g{z-3Jx&#y%A!Fn83|i-l3c~ zC~BN1O;W_v9VWD6#+;RH^T={7f)tF>q(*AgPTSbuy~|s9XfNfRk?2AQ6~c)W;8FQT zDeHeOM=a_SQYPvcfwKAYp=fIcfYj9k=rzT^!5gDLsT&1e8Z$!&+eSqE*Nm8@{WTbG zu+iWar4S1RJ~L*=pxwwgf#adnj<-5(R%Y~!DVJFPU=nV-vB<1{2XD^)t;Ozk;Z<3o zFz5!PQzuzJ`vC3c2q78ZDKL{uv+RZdx}AiLWKfXxE-o*B`GM5ZNcxTRQ_$hJGxyym zC`0ejWEBViJ&6mVMfEEyzlwr3iPzF&h4IQ@4k}A4XU{A!Y@dwe8*`{PZaOZSX5i7t zJJ^M}MWJ{a9x5O%aN{-gE00}5gr)W7q@Ic!u!%w&!x~Y{->^P5%%S!BTOz3Ie{>J; zvLAZ;ETix6{L6;uUy7Ay?jCpzH2p*URe5=nij!R^%WE|3?yB7{Ea>X>U0r$NIHU3+ zsc6rj$Yr1C_zD&xNX|cyXcxg#|DiZwWBcDT2>+j&GW-AA|HZ-jUu()^nmP`uod0vj zK9D>MN#H+fnotWxD=d<#3x!JClHe;f5+^OzOQl2kdifg9Spb_$wn}M7+??6`8h3fp zm1ocuh3RsHE!zr!&$|jh#CBx>AFu{ak|E--TvSx%2o6@|2o}BGi9|^?0~Qf+aF55& zPWhtPFC!KmlogHM4~f7sO0jSr6$mFn_H7*sLM$3u6jBR=0@j%g0i9U4#(Q2&c2b?R zq^MMFY}<`BW*tMTH&kJ-qcL^m5JtDvgOr3#trV6}Q?zq@6ynB}{8f0NNDn!jA%RS# zQU?Ubh%Lz)fZkFEU8&zbzHn!0m8jGzA`t>-)KVuL&UU0YS!s%=7-@}b4=Fiqo)f&p z;eR|xjTn!@g&0uN1@%#(=i`fbaCCnGlG?#@ahmSHvf}&IvDm28xonMbUJY|lxkDr5IMOpQYDH^`(rX$p{wJHVk9Kw zed5->PNeC`JtPGdAQfD6FhXGSDpDiMFuTOc)!~sqjG$ z3!9K~jAb}nCQVvw#x(-GRcs0%F)vDPbkek=1&*$w5+nr{4pLaH;gd{|% zO{L!XJ8JwV8sLwQUru@1^7MA_ag<`VPd^`XG;8kF5A#oNzBxMCJUH=ef%Ech%0yVJ zk=p>kE(eiY^qcYut%@{t`vw{$N$70BNY`s1MoOmFKn{A+LcYr~&aG2MOv`ZvqbMK_ zKU%*zp$cF>UnIQzTE4k<2Cmb{Ikt8&;_SiwG4}52)ePVg)Y7+g_;|gUIL=ucG;%0Im=T4(7hYvZ@D8_bB=TCK>2h53d`S* z3(KG8LbCN|Exg$asX(plQ*q z;_z9k6k~L^1lLUDnam#(8{o^?joXHAu$$xn1Xy-8qwbMiD|n7pQ;nuudjMRJ@-Jc^ zo?L(Lx9x9&&;HHcfmiozd5(#iPJsa4zJM2Z9syqdel9IL0)LJi%N~IoG&H-fDO+by zze`(|e<#S9De{=7_;-Sq-+0=oB=gU&Uaey1voR9)>gtR*Zt&ecirhHn#rO`cK03U7k7KO7PFCL92~JS+Pf1l#K~GPVDLjlXf5R&ak6X7cRjoPE!^x%E?MBU* z&3U$lZb5SEsH*ti# zXAvt^s_(4Wsa|a+q{}G6kyZqq7tCuh^U~U*2Ta8%$ELl-awvTLB>S2VM@{wg|AYpg zI|UA4UibfiYU~`G|A851X8W)08fG=*8~|KMeWx0ZO_;cKSpG7m3c^8hjXqS0gB!n8 zz@lXVBIHwPf8;QPzdw>m?4;ZNY*d9XBu0{m&-G$Ezvd%rf`HjGBsw&Ckpu!$z`=+C zS%9$o7D_hog*0D-w=CBuk}BKZ2i`Dxi6FZ7`+4pY#n~GKm7+oC0*4+o8R}fv;vs27rVQ= zTj$TyPWR_NWI?%sMF22eA<@#SsG{?xcIB!`T?|V?3nf4=BSvIh!T$JmqiudZF3NB+ z{3G-ko-o`UtvyKby>r}`R?ki*?cXw?hE8$3w>DGGr50yxM~E!w8;0Mf6oc}im(7rD z9^YsczZHJ z*g$_dK7BFU(5_<2>*)5u4z4;i(*DtVyF7`KxLGmuse;JUX{*u(E~VB+;SlfX^Rj~C zeo~rIpBi`ansu_E8DbjV-qCAr-kcQS4U6k8`c&Ak{8Ad>{ zd1%_6c4`Jt!hHlI>dW&CYJO4i$_^=!$|2|q;TOQ9jEQ_zBLTtR2wS%o(aCF7$*U0i z8MiL)%bl+==b7QFHiwEQl7w7^OIL(iQ)8`p>(6G^GUD1&VI?z;%O*zNsmA8i#00H3 z1tTBP(~t-vJiX{c7d#N-r?A%J4S1rd=LgwSztr?$YFlMTR6&u0;Y>u^q~J8zA#i~Z zW%x**%qMe;VN#RU@K(Z>Un(o=Qf1U@;PA55Z+_jy;e2r4%f8ovC6A zzxA>m-tzlm<)CFVbsOARFsCvro|Sdr4Ml!Uf{#b9OIb}DT!vChsj4eycQtR$0p*go zw7U^lWlM}Q`%Jb%bKS~lCyT&lsee(+IyWHa9W7HjrWlW>_Sq4u>uCx3kSX^;(CROBs-zlOl0tdx)X(V1u+ca)I#x#S;ATCvt0< z^u!%^f%JAtqcX9#u9EVeZ#-LpV9wg!-@As3Q*Gxo1$gdklur!DE?iR6q=261)Hi`X za+E1ngb3Mm#RfRsfAp1*K({~fKO`~^7MA~z$hf)x`w?MHy?@*thTnVx(n3U96SJsH zu>b@WQt7qp^3I%nHpaO z5dRfD5epqZNb%m&OQwd!GAg>29l>HI8TEAeI$SkF;%1f}W^$}QWtz?$%|8`OMc#|3 z-hLbN^PKu_o@!HKmSzc=$(k@M!ztA1(VO@>zCM<)+CRC$We3oQ$PeQNy(JSHx3hsY4mOF#Z1 zd)~?5%F@Wlg%|iMI@|~JzA%19Tot>C;3#6)RHvkUN-AWS>}d;?iVwP_S>`2>_3m`F z>lTNCG94AZo~EUuR-EtIR3rO~VXBxW)$(}yH(Oyo0H!Njc1Xyy`ZX}UxS+~jBTiWP zmr**`!2-VoeF*u9ITFl3PY0K>p+Wzx%qqsyA$dR8OU4GnRcy(R+@qC>XYdd|L(1Xob*A@2yCz-7bGo<(1S+DYYweLq z%iMRfmc_piKgZ)URXZ^sFTB8a@QEe1=rx}}?}x`P&^aNszp3&N*D3jI!$u3bT;$^u zy)vWq%y-^%8HL$ZTp_WUxx_MNEjkZrfV1GWoQ*O4B5p$ufEdvG1rQbnYZ@b`6NUa6 z@7KpWo+kRU|9d|+^!)98=5yJ#ZR|~X*tZ_p7kwCxB*F39svj;nQp|TSL&NxMWCGnX z?6Dkek5da$S=bLUT6j9bf4;u-?A~1Krtx=*W~tqpmI}x92$IA)-+KIB_dzeNKhn?m zfUoH^BpykScK5fwso7R}wWYN*f}2ccBGp!9w#|x8<1(lqSWq}2%mYb=TurmQ^uw0) zg4B#&Ca0=t_npyjS5CY5vQ|$%ZYYLVQH2>1UA3LR0>8sBwVTR=emUu|jdet4$-_+T z=zNv-w+FeQ_aJw~d#X2?Z1KE|p5VPVZcGnhNW=mXbD=Tk0{>WD;*s%-Xj054Rn(h6 zSl-mPy5Fgq-{R)KWpV)0IKdI)8LaC|!VON$zRxDIr@a2pLFr3osOO2ic71$5dG)yA zHRZC%Y0uFYr^^&4#vUHgeyp*)g7^;(NJ_K^kyfAWIzn-Omb-zmuWqXcrJvn;h48-S z;bmAvh#L8q;h!xERIiBGA*wyXn`(aS*Pr)vULIX;xMr34)}eYX_eya}d}~mFD@68@ zr`@HzPI-yDAtf z-OQsUP_!-OI%#YDSveKG4R_PHd3u&IR@SR5YUQcV_^!$`yfOAGOlYw;3w!1#NjeWX z^6-W4ZiKn+5Sf$=1l@7XW=YW02d(tCa%1ZDIoTWH?vpCpSR497M%4QilT4LOeeM0E zSokY_blO#lNfFz*=awm)_>s*`N>M!w;*?-mhGWI!qymxKH|3p|FlKB(HZBz z+d2vV*s0}qrl>sDbLk!dsk3f@4QU3mk@0N+qtqZ{8IF>@)>_B<20(%9^M&4vqBO^K zjt(C5f3!2GHpv|gKe{QaXe(sS5>POxGvzUaVdi~>suxjL(yExX6vA01LHsV#k%Yic z3Zxi;EAK@0h$wkBblx?0_Nle#G~FdZRclA(k@X!91 zg-FtcaFEF$|5>w@$k?3ISZM`w;*aU-Z-6m-iin=>>d0qhwfgx?>rI)Q5gn@`?@V?+ zkhcpS+Qvq(zf3rSFE52?2d$S_1i{7pkUx)9i8nOpDmKqxv+#f>Fo5uguxE%^?mtup z>>N!0t1|fiBJMa@|2J{>U++$<)6!AU{XfLrL^+~BKDLjo1{I353{F*AaiWYJGGc12 za;haJJ#N(ZhyM{c&XQ;r#|O|q-tOeE>qCfKMJh<ldJs}T* zj;`#@{G@ehyWkxW_h|x~U38IG0g9ABd zs?L7)Po@q^=~~ziM0kLpI$JQ+w_YgnaukYq9swXw+~^6OPR8>QH8v(T~DQIczh4Y}$$D{$CI z=$L5pu*fm*k2SCmgw%m4nrrO7RWJfM$J9~<7GyjlJ2s@SBt0|_P|}thqp;*OX?5au z_PIEg3rR}?i*rK`0v;`50)G4*KuO{s&vvp+8aOK%nGw;@;-~ z6qEO2?i9Or*w!(V_RG62X4U|bb&ZJ~=)|2{5iZ19#Qfl^i1rY3^?R zeq3HpA6;*{V_W(*X2!48*l}?|EhFOqc>@CRwLFAXdb|cXok{nhRI;S(2^ZoQ$gY4X zWE(gyAC8VWa)oYVN|^fe^c_Zaw06I}y4XT?88Mk$+w|(&HP%dO{xX(xPS-qD%)Z@Q zuX{{b2-5HAyj<;=yr4Yk;>QL7?WTuK`p9%vvTfT(VHGr% zJo(xTk|Uwe*|mo=DzzRfb;d4kmK0?nHL%6EK~|b*4ly#B)=@}`{Ei_mK~THxD32al zC27j&s_u*EuiDD?Zk3ylqS)B`YDRYWE#Eo}iSy9BtZCC6# z3q6_L-Itn}QE_lAbwcxCmJ&B`!3;5cjqJe!TTi%RfY9YLQEz|@Ybqjla132o-;R*A zwAs@03bTDKpUQI6r{(p^~Z=Hw~`PaCmkyV2a0N|vK~F(i_$ z{2ViUotpjJo%*62{?)2eeCtNqL0}jYW_Vp= z^7YHqM!Nm@a&NtV?WHsE=-cAxZVib7;MzQoH08r4c5Q9!fX$1;c(bfYw^|RATl>ZD zEWXHZ|K|>f6!8X*ntY2_CIjCs!F^vQ7%-HFAH2A6HFd~R%4a#5dlDL4KETeJ9ucl% z+>mL#5D6%mMU&5@PgA%>V4Y*ZC%}V)Up`P2z*i6)@G=wJ`)u0L*Z1R;I|a0;={oEx zWDxEuXaHg^DPJ7u+ZX-aZIb?q91rPC`#qYxBzirHz9ee3vfP*}_gNB;R&<(?W>@R8 zITw*Nke78>{$x59%>~y!_Nb?7SaWOspS#Atv;66Ys7kD;{tf6T=u3aL^H&x`tx>v@-Mk+J=w6m(nc| ziu?E1Ldpno1R=SfZoOS=0&Ic!W5GP=*F{&xV30zxRDL`rl&qgPd+e01Aja*T>~re; z8zId*9#)P0vBO~Om7ZTb+WI2!4)9xj1W7r}v5YdbIWR$(>zV!Y^YaW?=TRm-^vvZ> zF-`>T{fxa3$l`}fvYt-Q5LDVflLHWCwB+oYo8r1Ao|effm(;KZw>M5g69`sEcq4c* zpMV78e*W3m5^QV;3%uwE#bJg;fsM}85{StLPfrW^)6WJQ_IrEdLCB9-Yfb)9nl}jo z+i9=*^Fl;_d$jt;+7`8Az@uB8_2W}NWB+NR{Kg#%Lj8L4ZrTVJqJ_kuN{>18#d{)rf;N zgv9_eskH=em`w{pk#FFn^N4K>%xfjAW1H;caCqZsH;#0D0+*I65rT(7?w%^h6BQ98jM!&8bM{YO zh!(}cF%`Q#-O<2^)SGvMAGr0xZPRteEwRQce}}uLcoLGpm^ydO zuUZXCw|cBQ)T67FDQ6PxfVTQv-yh7%=noJzCnP1(&KqT{6DU*X7E#0O5P71Y4V!5) znh@|a*oDtOC*`XlQc3~(qp+D!#m#x0maou(zI57!v{iF?y;CJ_G%Xh;RpmD#q;x0g z*#MP?M&!8D*z$8W=)*2&rs?u^{#1`w?AU%iI72}bZE*O*_SsQf7JSV;r)#ZDg1y!E zPFx2;hg+BnA@^1~g?#ekPaK-+6ep2=MUIFsN|Vp7DOfE^vwF{VVa+sW{^{fO{y^8M zYanE+O9v^@Z4E1_2v-R4P#8ky0ff_2uDBwMl<;rtM(PD~;yqDf)){O1z#+ouACcAF z6;y4^74i-XFEfJiaB{Q1b~A62nM+FP8b;`+S>qNZ5oY>pg-+cvrrItw?VFa~5!cI| zRQJVfx<5G_`Wn+O#|X|ZQ1^ZLCo|Q~IlIJYp^M{m)(C~e1(;sen%^e*;$gL=Uf;ZI zb|^d@Tr@h1LBs^VCCqZ|Tm2xNJX*#M{nNscgWW9v*eApYe9KBgY-BW}YUGCnimF_> z^dj*VPZ+0V&G+gAy^E(){zk+EVW4L>8W>Y?N*O&YZ-s)oJiXv)yxgIWtEXbQX3boI zVW?cyA%4ERUNp-6Nr)jd6$s`UG4E5Y=phv*uk9)6%N*BvpxjcOp{$l<7mTY`qV>@t zBBE?|3OjdG2o^ zFF7}M6-|stPLA`J`0~7WYRfL(jWy$`L?n0A&yC(N`+cv!pjVXWKhjPLMo(D%;Gd;W_31K0rT9fBROo%_-x|906c{G+>c}2WkcMB z{SkP#`GLLN-Y@OyK;~qcu@Jz&zHc(3?r7&bza}nx<>rZ7M!N}MzVm>3UP82i!f83s;Si1N*ymx3A%9MhY;Z;4VwbxY+LKAqHxN+f7)E;1Dq|V2|d?f2{2qcTG?`9HEtxdOc<+DN3IV zYkGcB(nuRqcpq*#{fMFS2hrKVW2z!mdyk}*%_2lJPqy@+#H!ggp^1cQ#V9mRlgX)f z@0j~+U&7SgYWJ+J63l9iM#-$Gx_tJjW<#S;`c}6dbS(>bl!}Rcj_HDME)2n|uSXPD z)#y9eXe_pMZzElz&!Hztv%E~zX+T5Blsa2)G_6L^4a~Q1p{AsciW;xie+%WZIc*9H z{Ok4Z3|?W;3eXajmZkdTO;Oes_1)jMre{BhH68Tj;4kOL>o8K)hJ8qJZcA_a8a#{Cx1S<{9mpw7IQf zU)S*oX5`!gY=>lPVE>tDluHO_7@XQFY)=B&j7mUzpn`)VBZ5b}Sz+J%Q08JMBc;WP zr!waU$a1Pk&Dj-Xt)b*C%9t&#|E4Ku4}1P}Z@*GvoaoK&s+-q2K7-U0M7DhfH+XmX zhP~S|PXifsRCqAjFl?I?d!gnZ1Xn+6!bagl z8PNr^_I-n@a-PYpjrp7XIy2jg$^)w3n!kFT@Q&Va&y*orFA)T4 z8M?+W$D4i{Y;6u!GPJ#iZ)*%xwH26W&LsG+Yl*WsIK$NDkbU9ekIO1 zFpuextbyIdZkgLg&TBMgor$iZ=0}h>%PjdgplEWt{W4po6OLJ{&+D`oE7C-H1;1|; zwevfkgGRp()29G3i^L3uD)GO<{Wf?1Jz;6_(bpwVC=PMaJt&73;T+b5>T*(}0Th4J z9690qp=sj`FT>IaPlNLnrI`$TFR${vC)x#FA{b5aM0EtkC{aqggQOcxrLKZ!rA1PQDK4LdwxASK%QulU zSyr9nr#{yytH!MMR!l=KqD`jfW|6oyauUsgMAG-7&BE^sjx2gd8DRlo$m>}KEaYt@ z4deX-p_{duOX(g*t`|NTID)mLp5 zQOj$E(Q@m2UhnpG{XB|Nf5Ca`QHHI+mw)DQemR9f=WFbfb=`bH_vdwn7*P}c#2>!7 zdkBQq#yj9?TZs~X*FzHj^mp2?i{oQgmQ62onw=kj??e+WMzdd2q zR%VBdF`R~;%VPnWz>N$4SlH67Xqd+2y2?g*yAWmg+}Vw(asV8YqujIQjVkjgjq6JN zg3_!VHf^JyjR`nWo}Ku}^NxOMIw(0yA5&y9H6s+}v92tN)W~glqyY{s3>o^_VEL$3 zt&pPDcr-#40ESC$xE&-kk!?8$v(%QB$MtL~|s!%h+=bRFoq@CxO_?uDQhfpr4p(G_yWy^D+pWbcm`+uW{0fu<^J( zy+=x;4(m8AK^g85dKJ+QRs&Qrg-I`pmi`uuu@t_(YGS3<4281PtZi_KjIDQ-2+O!! zS2MG|6G3X+Ul*I{1*3$-!V-i4 zY@V$<%yKK-ZxZ@8!~o&U=L5!JZRI(ij}M>azB@7md`i-Z*yS-jQiQ4d z)${Y^KAnzwAkL_hcvL-Zbv#zeZbjR|&8RgzT$q2VUh+m_Z!Q^z;u!#!ZoG6eZf%li zB8ma!%kY@$4~H0)cD9~G#QDvIYnuR{4&H1~hYi8M(Lb;M+q358>161@yeVtMeZKGf z+qw(-q3J?jl_Ba_ib6Os9mR;NR>+*kGe4X($E-_P}m;2t{{@!ogaU!0Kof9G==RWPl zET31PcQ)JkbL%_k?*>Bt%tHU>w#G&G;vyxVSm}^2lQp;*T{LgPdoIZ9&D77${c7Xt zHr<)rO5WwqMmK99ndtGq+87AwpZuFmt?W^vGQNmLi385*tj5^=Y)vdnIlWUzUiON2QH=AWHj`nZ0hWJ6_n_`7&3y^eg@ZZ46)d zTq@;;Tv9vc0v?(NpXnUFBNc?Ek5Up%PuNL^glqb@k8|iEMq~yaajEn}a)>;u`F)8} zXUn>MJ3zC~y=7;7#}2v#r-ic$3o}vOLD}hI(T`^FM6xF!?@YY}9#WodePhQg?k*~6 zw2w2I)9ZK9cFAmoysOAx`CUhgOORf3lTx8{&k?&i3Yi?txU2E2eR0yBU+E2d{3M&s z8JCv?izL1a{A+eT7dHeo<%m5K&6fn1@|HS7GJ9c)?jk$T4$NPy{HNkI=n@T2e{bj$ zBJ^Iyv6NU2b*i64&vv1_Odkj!{x8PPF-Eqo?bdDEwr$()-L`Gpwr$(pyY1b!ZQIuF z)9;sj$(wVYoII7(%*x8F`D3N3?ujw3!J=p-Xa^4mH}I(cGV;e00 z7^7zmK^TAu8J!(T;ZfwvGFguv>a&f|&Bu-L6=3MUy=JgrEIz5@n*1y&Tx(lw({jm? zEQ&?O%`)qnUw%XLmKXC#nKx-SZPDXk6CgBZi?IitwyK~@N}8;JK=$0NEtsxtbnJ}b zA5_=2%dH8UbvjZ~(rIL&j=^cIk}zZX+Dmz+uLoDd^@_*j!YAPTyv5X{9UtyD*Qu zE~)bL1e$xUaFyGH9ZSvrAyi~mU$vF+l-|k(JMeF#iJinO)=;Ug^eSEWb;*3CirG^k zwUktiu5*JPS0;K)1Vu#}&alW~44V;N;H790*WvL|D03uLdwWA?zI%H?C>fVWdqL#I zosrVc$Xv<(k3N)8^hH?LRs!W{9$M^9#Z5uDyr?n_XFNF2FCyCy5J!@K{~xL$JL^AW zL9zd2UH)r7U7C&61_Q##&WRGlusLuN)!SN#Af^_y7bC^t7Mu16Uzus_!J1Sjo|e z#|_N*j%f2}ZKC=)Emlq+aSJ(CgKrP_crPCMB#v0RSrm2_;)t2z!Irh7!__MVLBR>9 zc`78k5H&=CJZ6K9lR!$v9i@>ZBIFOMAklfe%Xerx9hi!mfjRKSE(>4QYj&J7D;D_w31oZh`ddaGOq-V3R@U z1I;mw!IVr9Y^B6%MULD?oN*we)pz?dA&$Cbp2~-zZUKsz9_|b^>xHXjqlzhl9orOI zdAa9ye^BG^&^p+_I!^;<1bq&O+j&9%UTB~$XN14;H~X5#2R_?89O!i^(_W+ZNF7ZX z#~NVGqgg}pO9^fePT^_4s=T6AHUO;sXjJ3I3sTGBQ_CV(VsQ4N%CVV4?>?=Hax;Ju z9koN%T!&ZBk;s{N!tlE!qcJ?V;DpyO8J#1@85|${qy|O|SiBL0)7*iIw3jB@7)nDz zjoKGFZElq<%@^A-q~O5~ftB6dfTIF8iV4KDl4AuersV6*9f29l%*4_w@z4oP%s^&I zPXI>Z^6Gq6Gaj=U9A)|wM>vFaeKAP3UuB0a5n|xf>QPaBD6{)>c?jm27E^1F{ zH!d8S*Sp1bx4lHPYQQK^IA`yT;eLD&JU_dIq_JDFqYiMGe!!lGOsfCzYvTCFT_?sL z0q_63pyGMIhP7CXP)aOu~ZK*Q~7NWRu6ZouAhG*@I+oMAQ$ zQiC9fZyVmL_(~d1G!7CADI7S$L5Nh6mDP)=?jtb$7^tKxBfF$i6loEk4iqj^*WHQO3ShAgj{xUh*_{e;6AHB^g5#QDo*54tB`M_1N> ziOd~6y0j>rF#&K%7a%uOT-e2ddpzDRE42n(vz=o)->*g3p81Z6utKjpqCK8#5N9C; zD2LKGH?E=aQt7+UXZiKT25B__q+R$}J~t09*KE8v*jb|Nr<2vEXFaq%D^+S%O=bW1 z34M*v6d`P7tdi1}`%XKQMS*E7@=((1NvlKH&MoxH-;)Cf)NjjKC){A&OZgG0q;go} z#^I@N6m)C-)1$1&Fwqdm07L8(=A-soR_!h;?u|`prs`0Gb$AwT^kw2R*4S>?&L6Tx znYVb3O4}`)CtR+~yrf6l_p7>NxSM2vsky3-Q9^lww{lGBC1%8jiDe{Pr^cBot=!%` zJBXtXg58Eyx>>nc-&!_3$f#4&xDUGF3*IA%Z=TYmQn=Ii;Jgva_!Qe92vOFwTErP| z>?D zMVQwm8~i|3epXO`E`ui&Dsx-z@A7ddD+;R*^qm6 z^37VgeeO!?ny&lVKZ|w7&Hi1k@cX@SZKZYTUL9lREK*0G6p~Z<{P*DY+K9730S`j? z11h#G4+~+WdnT1ya+sXt>gB!}X9hJ+mnarBPIz5jIc}kH4tY1JvL7jOfI=j~Mxk3t z2+!#g%+J{PpU7|Qtp9ze`TrH_{MX`{h5cVkd`r~&V^P=L9jGs+K{|{blpe$gSsh8!Z9p$&-flyn!PwxPtvuib8^$YYiUcr zYw3{80enMR&1w^c4DTvVK`?P%2RXWOio-@u)Yu{@tEE52v=PY$9aEi^BWa_8rk#?g zz$PYD?h4h4lG0vkD$EBW5>i}dsX2q5RkS`;ml1Q@jLNO#b zQo*W_)&Mvus_H;rfHVVT8-axhIi3+S_(1xA5RhI#^gouIh4&z+>dpmc-a`=xjaRuO z{RIaUm(HvpTcipSu9PNxLJTZ_M5J(xE~`+S9N#FErlg?fN8xfX_!K^A|*{MnjA;NOrXH-QMlS`fRdvSd{*$Numd;}-OmnM2E{tbUQhta*1`vj{qxgbCSLRB3Q8i# zx4lX{UvrrTAwWjCAdt#IDFLDdnH@Dkz>af}4+xvST;ex5C)j#+j!kLVHB={ypm@Ze1BgZJY3tY)7EgyHf7L1w)Ur|H=P5R4hA{* z>E1J(B2`upuFnAH1p(#Y{pT#sp;7gC=85voh7A0iIO(sUBzd~+7pmS4_W9~AmdZ9X zn!K3p;-73Y+$M6aYo^;Xbf?`u;KQ=suG@CrJN1rN>{{bq@V8RPGPIr{#W9r+OLT(l zy!uEYZ>-wX`egJ_864=Db>Bnzz4flWPLXv&BG(Z3b6_asqi8# z!$Zs6DJluE3ddKQ#8^!7rj&{qms<60^E6#nN{p-NiM6F zCVE%>+^YLPsCklmg*_IbaM!M`K3(OZlU8*`fcLW!Ias}GTU4J@^rl)q-mM{bk~K7t zx85>CB#Rha$5Ec~b4vfzlYbvll0)}YviZyr{HilmGJK!59{>3VuxjGWxpDQ9@pS2e zw$%KhD(`2va6UBk?Begrh4*>3=lx>g&CA^dr0!Y{wyj6`170rLy<8C~%`g81HiLM> z4D9x{Hv{S<$KSivoi#l(%{Acc+tjsnQ#x_Bk~Z_S6V#h}^n4v=(V@}8-OJyVVY}0v z(GoWBydZ4MCUwoyaKRks6!W#`RBH*UAW!r)xPPih+Q)ikw+piAVRu@Rm3yUkh0F4| zYkM8x>3P~yT(F+#^^zl^TX#|Asw37~gq1YnvK6Vz{385V*^XbdGWmtkZF)U&%Id@~ zR+sU?=sC0**Kc*~8~xM8=rOY$zff)J|L!ui88=6L>F}rynkCi0 z_K>3g4MtQi>i17m;(v6n{l}^OZ>PlRHg-Q;v;SFOV$_cb58Z1h*29T5Gz;i~P$1~j zFZajOa-k7PSN`PoMti^HNQ@_1PgGc810qS6#`@t^bmGSiPv->X$g8dDLV6p9aRfV} z=%0@w6#WXGc6NB00<4mcW$XSE9ui=Wm))`UX%Kwn=Jg`#w?^^93l$1vLQ-4~1evV= zy4jXTm-DNquZdh4b+4IDGc8wp?u&kIY0K))6KmeoS;N;OB8xa6#(Cvu@%&D44@MRt zapJ)QgK*-#58J3}#c#g>p-4{TZed_nnmIM?wGL?``+^1mVndw?y<>f z4ssbjrwz=AYR#B5g=G4Q0N)?C0-CrGNzE16_1{U9;teBvCpmqXo!oP+6~i-{q)nyL zj4r>CQ`~5zQn9`^eQWI5qr(8Xrm9J_$gM@wu)rgK)(j9adADzsL6gLyT`05ame>-l z_YEfy$xdQ61w04`|9r%-c8Q$|l=iSMpy>-=cDrq-Cl;Yd$nW2aj?X5f438-FxIE*S zXA~htrOP~S=$ID6d)eFQm{@cXmB`eoZizOcAlTf+7YAqSiF$J)FzC@VqQkuHwi;SNOEPRC0PVIysA{ z-iSY~eueihe1MvUj+DEH4HSCi6DimP9a58dEs}g7dr7KRo~Q&IE@9nF9h+XLxnPASA~>VX%(Fv0S*a0mbEpqj0QH$xDU)_bS}1;4MH-H^;k{S%Jk!^ zYQ>42Rv*cth{n?1p7@vMy5#)$RZ00pokR~67LERGj{9)`cD!^iF0j`#KBEmY?Gi6^ zgSy*m%~MeUjz>3iLF($7KMx(PkD0~T+nIm2EGlShN7%Z23>0UL?4iH2*59Bo~*I8sg7o6Hz2KFn**PD`fJ;0A2SqI8ULY zb)*>3ExJ&3;6t8?we%d=G7`}-w6&1X4SH}&=s{(L*hStu&7srvbFQ||ac1_Q|2&LS z=>i!D5N;VgceT+Mo08I=6kX03XPU*g2-BfG?=RKZ<}Y{EOVHWaU4dFdk}rYFkfPLI zAvLIaBobE%RH6QDq->Y4TGe3P0pr&Yc75;h?6?hrcILD0MK35=nt9%x71=;7a`D;d z*0?+{%ZVtKWB#kVoomX0Ji+e_m6Kb-Ta~^awH79shB{WJ9kq)sEx0Yki@y+K@p9(; zqX>y%F>df($0RY-U$LQiN%E5{oS{r}%*7Pq=7`1?mrq5pWS4m4jhb0toyv8T?B}~U z0552O+XC3hgSYZzMXj}mef$EK^O7~W7vn#D_WE4+|W)|)X36F)hrnl%`-Z4pOjBwJ89Zk4t|5LP@u%Lr^STyjV@Df`SN^7m8a!V%3}+4maRaqZvy z;4m)#iP6Q$_zx&cCPt2bjj|lVw6fb6z3cP?4e+j47O}df%d@4EfL`Q8DTnWGf18~U zRF}4jV8Ca>PlX+LyUJP9P%IYV>|q%KY-x{M^SJ7Az2u@EapB8td;WN-`pJ|ZjnKde z?`!XHXuDNEgd%qa9u~dSrp?(QQ?t@JU$EqQ*fcMkuk2IcsaVNOW$I3kG;dV(P&E1N zrj+~}JZgevOpS#a;o6t#PXwJ(NRs$^Iokr}0v&{p1Xbsr;(oS@mERRK_X>gz0}xnnpg!DWVN9dI((Jcd9rcYg+kXg>xiOI5 ze=mY$9){mt{&53W!)DL}6Bya;B@3yNNdwtr2R>ucbEhpYAd8nUXMqNJ64t2{wHaHo zC+~?S>t%6Cp(*n&969Yobo#m>_p=(!`iU$XSFmA5{Gf@?UD6dW)BF-w{oWhINzP|3 zBEe9WY>`wbLUQgJk5Z)1=pW@p^V+^;ql?0d6Lp8JES+oa9y^PcR|Zy8<6zSFaT*xP zM)M--vz|*XnRcjP^WIGym#2MhUe7?Np$ODC$6hK%JCC~P+;9>4D=xhZ7;QT&qJbjY z;T^?CI`?ZArh}>eC)ih`T#9%BOiU(IYN6xK0!LZYG_8+2m4(XoG^-*Jr|MFI2ARd_ zKum!Jum+>=qXM3&BxcCCO*J*Ba&2tcQh7pIT4zZUHDm9 z*@>_*9*oH61>9`q*4~z)`C+JDCI_NV|7H0aDopiEIrxbeiNDJZ~Fa(vno# zVbw9#tb*Gxe3iaanB$=Sz0l(!N3y?gU$_T<7XXuNZE7n>lxZ^_LRymY605^uLiY>1 z6_0IoTRtd5bMk&v@u)vvXb(8ubT}nlj{gv$Hi11U!;{cr63wnExSqBe(cu_>tz5j` z%AQUr8lxE>fx0od8yv}FTjxgWTK?oxnur+kFvU9d1$ZqNg%T%YQ*TF0a9f6O5OuQGIR}6F z@I1o7fG<1QKfe~>q$lRyVi6xah)+Lwv{QnX%(C*}DxO@Qk36pTPx0LH8&jrTDlB<> z)l3TS-(B7h;`y}T_)qdax?FMgIiy<7^p^` z`AH;cLx8D_5?(3fPAQh$yl46+C1z0k4g=gh&N5^U+ia;Fd7L9WU#`{rNt4f4qR+2l zRGh3+O4-RhL6^6CeXt^e$zEr1nGp7UjLfTUAXw+OoiL({#`{1r@nQHfv4fb^~Owvqy0c+1- zx~!IN&@r5z+VSb?3~D*dc(TNkD*r2SAr#E`pyl;$A{+;3O=3O%M>!u_N97jBAS}dy zroi>G@~p~&gd8+S)%Al8O#CTDY;ZH;@ex`4U=&#azk}5<^bI zv1o09O?^+k#sSm>6yW^%Etj{Sd-u=ZgZ+6*n~|ekMY=S0As}85y&Bt@T=xXixYUes z;4|!>^^>311T9H7;9(6pCanh1+B%O17;zlX0r7J*E;`o3>n|o7xeN3KvxvjJ8m#@iij8*P^ULV8*QGJ7_}Y4`3(DE;^O8k# z*Z2Sx*ks}JO+Jdq%(r%<+KbDZi?3SbHx9VgD}WHMlmlpK#_gC)^B=#$Ej0y!Iz?71 zZ~qWGdLjaAS%M054(=qh1nL)Hx7xEs{zc6|LfG81G5ko7K(SU&N$r|zH20FNPZ8>u z`4)RJ0P^3_QE^=Br0S@-t{z>HCXN9Yv~iTksK zn|5nC=Ws<7|{I`#eeZvy;(_&z(cxHZUl&@Q`lc8WBSMhL^<>k&u6OZ@c_f4FT`E$3kZ zok0hD?iyyr7aiNmCuU~U6k_$vKCpEymo%W*-tkxD6;zw^OBx8V2*(BxM~3pPK@yg| z0~6^1RbKI#1#(6T#z*&md`kYJ#|MNI{nLt;^}nY#|8@_Q{of~{cWeAm#>8QMC}WIq zCGbwB)-yvY!Gk5gQ#2tFshVTlA@)#+{?M&&Nj&bnJY0r`vLKX+_>AJ^4X__{j^H__ zp(&2)c*a}G!%DfMc^}$}wA6|H`az8C2~5?C0wsMpQ3hBs7lMs-0n7!W45eiYNrH;h z6sWRAhvwRN$O=aJRIC!49cbPOGwtq9K~Vq`cFM2HvlzXAF+yPvgqDW2| ziJzB&k6cw1_z}~iW{-(ZsiIP6M(0@Re*lKKOZ^d}G%Uo19}KK-*L8xswP1@xpzx^{ z9c97dsV{`r$d4|c1wv6RU(=01P%!l(1!KhtF(Hj>wig&f!V-d^jnnisN-82Xc;ca{2|eoL#ZDk<5KJM*{CJh13RxBf zd(o-TDHgZKsZc3WmB!n=SVCl;v%f~1*4EiZ0Z~-W*R#ZcS82YSK`-VL6-QFj;Y*wj5bG<~t7Hkl`M$VXkW z4X)$)9j7-9QMqv_G#MvjigJY9f1B2K(+Q`X_4oJdGw@<`l?|M&nDMXeu-mn4yky;! zo*8>}MOQstoPBMqEMWHLe6P=X-!SiQZOhe9a18xA<6tf3hig+dD!n(sR(XfQcDP|& zVru)L+41eYvx0eY;`e5)q)jqAHZM!JOHt%=L~8As=S=r9e;_~dHEESfoQtj`5+k?I zAz3{Kh8WS>vM5!bqXjc14%ZmV{Ul|&=8308c1Ly0k(OG`)L6|i=$~&zg@Q7-lLmk~ zJp>vE;6&-Nz(@>T;3#y9f=F2#cV!HmzIH7SA38_T5Th75 zNXrUA2-Gd6KM^I4L`>s`@UgOERqQ@{i7_j#UPyip&2J{6D8FAeNAO;xSbC?$oF8pJ zCY3(bVylFVt6{5bG5(~xHs6bCbtoCh%y|{+A$*vszO2VUddkm&miiP_b+;=t(io!5 zM6$(Pf&tH2$U3VSqd(}dOMe%{FdOMfkaPS6`5O2p+^XT$p+rFP@eoam3I#O7lVU4` zmqaF=Yu>t!^Q%?Ws?RF&ZQ1DdnUJktZ-Wa;nSEKy?{igHnB{rI7E4;ck&EB#OW*s| zFJjG3j+@i4Wz?_OJps!+zcogvnm@ts2r)qH8t2%AlW?<)bAS~`z0UMXx}x3)*Dwpa zxr^S;EqIwu>nh!f9t;WV&z47UWF@9%q#pnM>X_U@A+dNwQ zkTpV9e6ee~;Visqg_8(r4R@16o49I)Gw@h<^#Vt5DdE^vPKqK{_rzW;yM3GIV7W*Q zuGV$q_z5;G66xj%Hfjsi(`O)hq3NeBYV+_3a*x#MVk2BWotDfhx%3ma6-bKK%$^f& zb%y+6_gGGU`-l3;$@&jGGbR>}e=U-@($I?A=s^6bj|RH{G3e^dM55=7ppgUu$k}|w z5cPI82BS4_r8KWC|p#|S-Ez`|H=Dqnq|>FE2e`s58L)uQe|1aWNNK(C6+wU?3h0oD=gMK zz4vgMI8jNoacd>YW*4}>Qx$nA)?C0k-^(Lr;@46SMbBu^S(X~fFi%os@!}j%R^ShyG*jh z=aFpGJ9^LVQl?48{i?2T>3O3@P~GOCTy_=$bKLm#5WY{TwZDgWl#ar&7(W=CERc~G zHTlA8yw6;_+un}mkvy8=k&9TyGC541 zzT)9Cw!=lT*M1&R%dv-D)ktru^@C(f^1#Pokq^d2fTLXw+Y{P?Bx1nC-~`?y(NfHE zzzD6<-8-N)Qx`R57JZz;z+e)?1&~`SbCo=%wh_bw0m(RHzXf*+Fb|mxyoFF@bq(dk zB&m9xrvmCL-E1g0B^dGYwEA~x(JbF|MU?-~8Xe|lo*AS|DjHA&j$@m&}{X%e~@SF%m&o5kP+0&)P*N~g}P~*3$&k(?S6i;RBSQ_(4?2# zJk{+tnNjB2ac*i|(-b4~%^|eeS$(bghVYba70}@Isbl+4RJQWyZi0gR7E5Zi9qo8! zg#mMRSvgrBReIrqUJgpV$%3ZJmoWssl~`bsrL|-r^NeSco_rgt#5|iuE^CJCM_6E- z5t(vW`3(~=dRs(v$a*IT?e&BHU;y%KM~lQ=`MN7EOfK}&#hw$vBB=Xnh-iX%l$BX3)Zpk32Y6MBZjj{eZve}3 zfP9D3sVq{8)p>J!C;0Yo7@G74ePdyh1?niC(D^$>zd;67`((Dy-~S@n3&ITmxYdPe5t-(?fi9k& z@u0W*qJYoz)$Cffk^00{ydv3B)~8|MF+vdF?HP?qPVgR*zW2QT;_-%dn|$1PS2;uK z*5O|Q{!xwY%r@}>@5qgM=Lq!dElMX?5p+wBqIN;Fdo~rQDIkx6N|GB-pta*g3lg&x z%UbO#nyZnn-xIrZus9M)9YB0IT>kkTi_vwLyF1_<$yLSpeGll(@O=*%b!%31#mHv3 zjLIO?04JoKsA_U`kL|SzQ9POO2mWO3Z@e2}GAvUF{;mh|7_@(D*&%~RJHj_K+MPYZ zcisY!m9h>T(0Iwjr!SETB!LQ|EoOc@0EBikETcsgy?aci7=`sIR6*~9Oo;UcdWWbd>rsCnV2(&lXwW^1y`S>xn}1N4uoZvP#ytX zXI&+Qb1He2)b7_>^O15Sx!@EqXX<97WTSVXH}W6aj*?4PM1ki={YZ5Q{-)NUL%E^3 z*OoZtnfsu8r5KbvQh zko8AS&)7p{jf2FZg9v&EZC#WW%zT(xjIpVb21ibNG7IF;hv(NyG(SLkNJrqy%_$G} z-&aAL&*UyhZLsukcP_hoA6rZ1olz+SH-rtxZV-&}o2bIq+)qeX-}wI zrhlkI_>hI*ytz)-wb?0);9&{|JDg^KCULROpF#vWtLSLK-UG*)=D+3e^)O*x_60pw z2jaL{K}^BM3r@5HsGE(9fF5TZ>?Qlb=@{KFpW?4XLDm>VNc*6AUvaJqd-jiGspMm6 z9@9*z@>r&)Rk3w=I~&Sv`DzGM+^0GTXE#{pePd3mblCue{>Jk{C_c07QThM%&PuBq zRN=kg+Hggx4>Q!ap98+-FgEbM0#VkX{8FNq6Yv87=N|%u2!ASM@a6(UtzSv`ucFpEn1|7!jkG_`?XOlXj6IyUT z&2#!At?Afl^1wG>1gMemKTQNV|C{>szl01n#(z)9z!JN6z6V?Rb8093@@_iz3wFusS(|f0AAH6<4j`0s{)qQk z5~n|qM0`%iJvaSi${fC3J?=hZA;|f&FYQj0e1Y#N!; zP106PbY@OiZH^1a$L*s{acG7%%bgiOuPu%E$D&4T4LVshyb0s3SR?QKV_uhgg`TWg zPBa}iOqeUOFM#FmPbDkp;fMheqXM9s$sMbbz)RqTC~w&}2L5o2e52~&Kx6`LAl26y zMj6x!whNV`Zl*f~yAcjkyZBB1oskAIo5kkLq%gzRY`F@1+m@t10V^9A6r_23S&y)Q z%i!6#^1GI@UDi!)K+NXAIFg76gC1?)h2~jYI%8^);r3~vSgMPT!Yi7_CL$%9;(#1O z0?I=!vkp@!?URWpZ&Wt(L~+a?J&aXsXz-FJh!(kJZ^JlLQE>i_Z~eYyBtWXXV7ZO5 z$f6Ebax7V53Fi*v7webnjv_Yh6#hSA4D(DwwdS?(aqqx#d9D9%r(PQt!!CehBjYEvmo5H!L>XA)EttibSFYQ%X zZH+h1)ev?!()w~_0!()0uqDR7U#+02KWB^gvCd7@m)wF8ogxq29G|vVRE< zL877%SGwN%RcCsx3P&%DR8^cX4^r~KYEmA_{!VI$9HiJf6eTU{h(^|+ucd=|?*>=|2Bw z@2iv25FKNyRo3G+&)1XtJ!Z|azQ7Z(1I6_?64(=F$zvho$jl#+mEs+or5~JSp}b{( zhgpGV{JW>Lm!jxtbHB?;h#phMlm)DYITTJK%7J%%O!3r5C`V{SY4g$K(bmKnw*kSlTi5+IMs$|+$(u*Cl8x6aI@eJWbbjk(_lsitN| z9ei-?)k_0`xArIg!frJ;IQIDplgu7fVbzmeomKmdEKa5>*spC=nmJ6n9IO>Ws-99R zcF&7XU38n$5(pM5?3Q9=+EXo1pfXn`WK-ZKDc1t=mquy{o(GE^SF5c8l?vzal(!jR~ z1LRa&u_TiSjDm45#ayLnStAm>0ue>u%$W8LjzCF=&9?yKKqaCjK)gftBT z^JpC^wV?0Z*GU3{8otVO2C>T4QtvEh+j!41n|mZD%(axydUu^1S}>k{p@@_?)dTwR z7bSdQ%e`*#!!THJZH6zMlYoJMY6ln#hb{m`N)O%gYt5zU{%eS@NtvWMS)B4vpnHyO zrLV@VGiA3;)_}%d_kICA2yzD$Jh0oOdSf>h{0f5D-xU!q6ztP zrPj8~Q`H~R5T?U)d#9-Ej$h4>4e2H2rdCrYCwW?t7hhe8EQU4)-0>mmC3vYgwn~z` zJ{qkzZzNNv58!2=^ zVEpnzl3{!F!w$0&7?tg#`LYfFLRH*25^c;*j7xV83 zg?D|-qMN-|jE4~os&h%5YF>Rb(cb2lQL*IRcjNy4a;-3__QJn>Upate$=1~$p5kf( zW*2QQVU7L~DpBg7N?S~kkqBWl^=yH9SN8Vduo2ZMx638luwADu`7Z_c5#Dub)qcCd zlEb_ysLw=EQ+pNFBx!)DeniLd8N}A1RbW?3hlj94D*z8|5W8QJHAhWR_GoME z$b@tk!u0xkHj~Qa$(d(B7=4yV zqB~r}SZK!nI|4B1_>tT&jA@8M0b6i^=q_%op6r+Yqw6XI>5Iq%(}5h}dUT!7UuFY? znGOlZ4q#_g`Y^^hlVKv0rp32K1;b(0N+lXlkkwKbD5-Cgg3vG<6-PCo=oo9omIh&w zDZ?pJWfFkw5v>{dgk{yqIYr22goAs#lyYE5juoy6VM>GcNvY{9gAjQoCOIDDR9@vy zBoe1>J2MFa)e~zhu|l;uC>mtQVNtU-i4>>3tnnYeEHc)OK;qb04+*o=lr_*4uxrP}*6+g*^`&SRoKbwlayB zp#U(Ot>Yvu(^@k}IBCtb;hu^*4`_?Z$PRQ++9=RQDw0~2Xf29GoTW--K+MIIp!H5G zcZ_GZEmw&pJK~=W?kqN{kIhGFW4==;dY!FGgTwd-hmA~f1SJ27_vXZCb%ZMk`uR4o zk8xl^C-`UYYjEBAM85`Lk^_jO!Ryjn>8^@H#PKeM-OSwQ2CEg1(8&8J=G(_g*oTL1 z0dMP=wb$I5A*|8jWLBWMr@kz?qQ4nvRMS_oA<~vaT0P9@Dej{B1mIsGY;Zd&D_(&t zIv_v8C9g^x<$}tum#APVh-4J0jNSr9GY(%lDb0RBozm*h&1OmKaSi%mfX;MvTq+KN zpdiX%z&Fi$JQp2N;C1vw18T_9s#ZqB0-wK7gc2rwkNFT(NzvmA z$mutNpAHuJtz<4tr8NgXb*V1!Y1=Ro4AfI99Dt(g)je5_)rvk1ZindiVcM~X2J?a$ z%}L+`$aW&!)ox~`#WB$?%RMv6 zjTh>YQ=9NKNrGQLT*;_PW^_c&!dx9N2nE!XzfK#B954uAn=RI?V%Xws9Xf|To0e%0Rxs#p zp)F{9CX+WxdYz#v6+v^8B*V_?XXf0pOwl?tTkle|>dLG@gf_5|oG3dzh1m$Jgyvq+ zvp_P;3K9w91O|`-dyH6sx=ayc@iC{riNT70ttz%clE4zNfWTs;pBhkE@hu>$7}u@N zOh83uoLs<~8Nh(yGmjgjy(!;r_K@NVceS}Ath&MsLTQAwV+@?+d93K5LfmSoizMvAQno7iZ@A~D43i7?6MtzSq|WkC=T=#U{oL9&QO zLS2z7ljskkv2Gx>nwZ`NG{(9sT>104#Gf}>j-ZYdTb*&DW;Tc(Yld229hDDrgJP#V zqc^Jq?5ic8Fsv(g7T7t)*h4ET1?nFPgkVQEYToijjlE#H@=)Q#-wAIfP?n<56(A@T zy*2TJJ8TlUcEug>Ct66wrMCh8P+mQZS0TJRe+t4+u+OOW-_TfcJbOU-79U_AN=R1x zhf{2VypyXM?|8+2#Xq6D%=^7w1>a%<_AAL75F)*g-9)x(m04z~q)jTCX8K@g3D zyL<#t4K3N>%K^qMKJ)hN7*h+c_6$zdo*=(r&so18u)yX zO4ATTr;nVO3 zGKLCu5^9is@ija-y>_biL#Sfu{UnFitJ4@fS~uxys`u#If^I=caT|oq!5%mL+FG~f z`nr8t&-3$Xa_7#%qf@IpriQ1;k?)n6DHS(c!?%V>!|)-Ch2_;m9*ULg|ARWm#VRdA z3HaPce#RmrpGKbsXmU4zin2q4&OcoELX#pM5fouayl5fcu$rkVMMI$x1)btUfWWCs z&>5`X8$R}2Eh_}IPq=@R9#6+;gh~5{F^blY)lfr78>!;=4f?2y5Qlg}OiBXe8fB618k91^?*K$K5fw&nzNns zKno}{Wl@mvHDc#31(prbYOt71(OCTiOd+KxW-VnRnibv@c+CY^t#zxQDUXm<{8;Q$55*6ZMogC2(Qmrgg|0% zAaVdr8a;=?hC)G0kxt zo`#dA8w9tTx7OJWxuJK=3iu*gUmWC-Sur1*-$AGAH>+yT1*p_U=UmaL;ly7QSk%O^ zXGP}K(H!1!g?ABTIHFn;Qn;caNo|^So>S14ohsrftrX#j`EGa7P0c-X1(n+SXJ=FX*sXYj<%-vUy5#z9K7e< zo!Yz44xQVz+jQFO#_#%?Z_}i7e*{<& z6_pnsn`UgB2Wo}`0+2C^1LrUq^jh8bQX~8o5bR8Tg8^XM=tC~aL~CRo zpFUAye%x-^0;y)(ZdsgE$*#egP%PMdp5Vqa{TfbrUVJ_z88}v)WZ^|`eLGNm^3tJ4 ztgk-&(Ux8%?2(=`AU!+hU4Q5P8SekRYgw2${u|iGzclxMEX@DcdAHwcMfsP|A|-@d z&C`)aVJh)6_6sQlJrN5k7W-NtVmvT(FGQ+uNT)D5eDCsfNfvd{uF9{BO#<7m zwRGKdv&ttOa7-wWyrb02w;M-MiD9DbPeKmjjBkna&+qm6%%cbtq&{Wi?1f{JQOX(- zLNOGDVzUj}9TZ?HyxpnMO8r%(UTNpw`gZ$1Ti}LmoMOZ*?c4RG3dl;$_371U%m{UV zxyRW&_1&!u|A!uK4<=1%bWv@vH*KrvpNfItbMZ8}^1WRY3Egn6P#0@SOw~$l+^F<% z1Iacj`!mb0wvuP3vOfHmLAyggzys}>;k?!fe8c%nt74(GrzL*Pz0G~1sd%CvE>6Q_ zqp@_{PJ3ChW#&|UtjQNz{Bl{mHdmry4Fe4#`z!nQo+seZwex2k(yI) zZKw43$&6iOb*chI%N?MP*C3*fIw0YRv=qjoROB4^aJ_ z(ACh1OZoN3bO)duv@}S!^bY7-lTD0ew+1pYn9lD+Xx11k`7i9-zsl%HW!pDn)m#$D z(cbrexr&fSEh?E-A@3B?3+tIH$|g9WCyn$c4km>e$+hUH$@e9mMXY%$wbs+c%}hP5 zcQ@^NIb;w6+8nd2KCjw_AgIeC#0P3nnp$}{!ulFJp~X}rq=LL9j;DLb!kYp!j7*R| z($!8WLW>|8C1$ zceL<%74EL(`MtvlDike%L&O@Vlstu`kWfI~9d4q2l%IB_9Q@%u%Qe7>+Pj7P&Z7Y0 z+mnt_CI)(^2EvXmhjLq)-0y7O{b<7*-acg{o#V3#or5B0hIDwiMv_(x!WJ#Dx3zH< zAL(~i&lgQkGN1bcHEf1+uXG`Lhz1>KUY?v>6qC8cL@~-Z?B`038$g*`t{bKI;v%Bw zS@ZY4s7Ld7V%GY$5yC^LtYDP=$KoA08VNGVEkUj&Z2CtD9#OJSG&$dx-r@JdUx~qD zndcCfi<)g6Zn?OU#lfd@;y#;?5@cRt_iWFcQ!(p6hyvRC0_)3t9B|HM1q`#7$Hqik zJAHU>Ph;=TEmLl{76SicWpwzuX1}(1p!=XO3it?O_&JB&CCmf^dvEYqJgUTWphugU zU;d6p6sa$qAHB6|7<4?zWQZ!7Sy%@TWZZpIC!F&-?0iUY_(QCHxcd-Zy?;2K&H8Zg2eV^@g>?lz z^4FG#Jx@oipzGXT%@Cp#(1U$QFkJbTW5Uw4!>}6y|@DT|~YFP+G!)nXczO?RObXaAKtSpd(Ar4D2ocB2nLoUF`pYRkS zy0;WRnpg}BI)>(lO=CPZF)*yiN7}_W!9?qdU1Ch|9j1Y_!9wVrn_qC1Ev;!hbHBbC z%aX#NMam3oOnGETq)Ha?-vtD7F$&}*nk7?!9<%$)M2V0GDFzH&i303-H24qxPqR^xp zZQ2y6%+Uxr;<{eJceHk7fr4FX)aI~kHP4O!>Ub-|Zuu^VOK_+r?O9_Klk>+5! z&E5K1b_>%vmY;|Pg`Y5pA}~xu)`EqP)U?!|Mn7;GSoNZtqI1YXQGcmM2|v~kSZO!U zP!XtZp7Jt>n-5;j7OTN3quMX)k{bniSc8U{Rhn&5x(wxgV`!#{w1NemEZmE|xKp44@eQ ztFvC*8brFBr>5rm%H7lJEw`8cGw5I5!w$x0uOK7S<;;y6^x-ARWK?#)__UFKhnCbZ zV##(6>%Dy=k#V{*y5@$Hlzs5vCdfb4i^%N=&V2;6kpSskBSt7BKFHukMnF2= z%EW;5=PGc$u~-I;2?}97T~RW63`cIY=ILCDjvdY*njr}nqXHW=NC?1b1q{A7JB)CKoclnG~Ma~wXBqKOVgBA?s~aBnLImuL0gzV}5Y5TSs_ z5h53mm`&_7jrSj(8eTc1h$@}QnjsiMOQT#2WfTwrDP8Dv^d=Med^~-WPQ-V;Cg=BK zNaRq&DL_j@aY$Rwnx}NUY8j^oH7=a2R*4gIv;37#(hoM(EM2W>*E}xjv2(Ts7Wnee z`(5>C;kyL0z6BMk3%$)enZOKo8YmOlHw@fgWH78t8F0Xdz3)!FkLV;UGJ`M3Rg@^c zMbjWkOpswMi?Q$+%;c1qVb8!UBJXu4a00FE4Et6 z`0A&@s#-K-zZGNh&uMUJHIMN?C6Lht#DX$)K~p>qH)knx73yKW7KD0P4(lcLJYty2Z5q39nmRz-`(H(GV#JR+P& ze|=Cdo_y`lA6i8IVi+;~8W>=BD!5=iwJ|H^5hUPr4swI_F*U6}PHCx)mc&3ewnNpU zu8=5PhLP`fnleg)K>X)wK@B7Euie+f$|c`4v?`jd-(Kpe*IuaKps4Q*`-s|ZtG?SC z4+g&Nm)>_iX}&%z^&sSHl^>n8e|LU!>yK|PTKx^mn#)Vo^|a`Ws)2Owb2n=su=NFe z_;r)}1HJ6k<8sYTcpKaMnnH84>HCT7WFLhET)gl6eQopg##(1N*rc1CzDh*9CS^rG z&dpqEMAFPmb*8O5{aA_BY+Zh9+(=bAyY6@0ZAt#wn9E>~^UEq^yjBR#SzpaBV!TiY zwz5o0?9YU{;KO&L(kQN<9N}=Hu-23>6oIp6tKFbL;UYiDrWN@SU+)01VREA!bBWD= z!um_8R`WMKZG0t$M55I@CX3Pl7sS7nv5RW+U)6X6@vEfD(wdw6Fw3L8(EAEF{=KWR z$xVq3@e__1&asEt0^b@_Gk4>C5)<|CSd2dVWDbgY1R7^|x{Pf>fr?O;!VnU88@?ac zln-uO|9NcdQHxI0(ITYG?QtruH>I+vb|Z9~!xodGu4W)~1GB~g!}O(0VoP^!K7a(y zwr}UDgr*FKXT4IL(DC(8K&^fRdp5g-xRcF6mhh&z6pI~Twwu$fN-Z;r;7L<0dt6G5 z?stu!0T85p88%oPzcnN(nQEAa4&uOFp3L+Qw$jW>#h6 z7$f1o-nnM~m|zoYNH^i-WXMJPVYI?Z7ICWa3`s+>e6nQ#f3?!+`1o%}QY8m~D&oQtwa_G*hCM-o!(-~;dl4;YDf)ifNu6-A>d zw%eoTNf&?8&h))|s_Gb@vUd5c7JxeXhHL>7GX!G-hpLT^g>NZz4#1r%$^Q9oPGKhY z|9T4l{|1rR|BGuH7t^o*DSG2S(mibs6u;HFJ>yP9UOcBT5e)Hqsitv=HIUF;knLYz z1(lV!Yzc6hnq+{U-6L_1DYD|tij_F?pemY2swxJ|C(=Sm%&T~!vI_Jcc6RYISy)2%Xa-Xua~@H4X4G zKBJWA*Xlh16D4PBS1>gQhUm;-W+CKe7EOWn@>#JPtHF-LW_cY!xYyhhjv z3D&5c*sRk4e1%g-!w&nrSKYG?CWDq8`X=8MaD|}JfQT7h*C|mMTQwmJx`UT zGG(jbc7uG*4poW~jer}}&bnX%Cl|ppSxz3(PMRz+AJLgI4>zQbhCeMRyhj^b8tJR< ziI>CV+vD50t-DSC+ZwI>(WhhUcC}M(?D0@w=T=|uI{nj?$iE>&&xYgE!4bI>^Ne`~ z82`0MlY?_^1xe8@Jlur!@~&@%ZDGIv1bsPP->_UUpSc^OW+(Hc`WmW~2zrsizq%%ZLM%z1R;(KEU$56`0+2HQ?)5JwzV3F1`^ClOpJ_K% zT{(T-p2l8# zc&JSEncEVz+0^#GIiK1-zGt0wn8nHKOIyJoU#DI-5dg;VqQgiWFk&H^jj*Ah7$F5! zXHc}7*m1ZXR3ixv*;1C)dF`&!00FVN9LY*(meacoz~MQ2sy zh{ZfJD#ZplGL>=MNSKjpmuD2LZRN$@L!s2A`)ejX8_$+-wsO5n*y1uJY+9-9x)MBl zfW*~-^z6{)B7 z23H(kJDXhbd|d6a|Jb*D>iCZ>Gn-t9e_NFEL8ab}-}yp^UJ}Lq$ZWbvO779Ww)t(O zsF~B1@+HM#F3LMY6M{U^auNbvm$tVO0xeb94?U)MwYYQ=18vzj>Bjp0y-$txapT}I zNcOYg;EfozKUg?8+>fa3ul5o8$CcyBSQnpxq{BszSd<#Ni050C6kB9$|3pka&6B^I zr&~4?e&XAk9Wy&pyT^N8R%w{?C~=m=aH{qqyN&0hX^IBvpS zbexVV5<52%?%%u{GtAvJXRAfgI#&uR=O;RK9dQ_+_hY{uv3_@MYM*I8mzs;?7A-Ws z;41>hRD!P@|J{NfI|5OKgK0Iw?HhWPHkC#}jZ#@W+QBtIa>sI#G=8=H#DOJK`gCILqnT{q0;6!CM^D)CN2JN9Q~D`@@7@y9>{+ zu2gfTYa_(+#h!z9!9i2?i3Hk+}FYpuCH>)ySm*Zik|(YKz4kuk5@bL$=F9R&>N zz-o}#fWj7j#ifmjz_7ryJX9hw`Y}Pof->`>KV{}246FOinIG76xFA9hLpCp;0Z3xKuk=)SQ=c|YnTVLu2BSLJ3+~5L+2lhvX z@L6pF`x%VENCPXdFtP%~>-2Ao^=r-|K)oSpWZ(eRTnX^v)xZV11;if#fkRUV#K6y8 z5E@tb!<7RA&fxge&UDv3D4^e%&mwG=Bw$h7}iHS|ABd& zH$|ouA-0y0DM$_GyV8G#&fWlq=ij)Iew`i9($?hB?f^hyWolvLe2Wdt&4hD|J9@&5}coG6R zv$O*HdJA%GTXhBj!Mnl>%)0@of7ydg_5m@m{c-?01C5odF#w1HkU(R9`U%7B%`ZUa z3IG{=5J2Dh`2c=P-?-?F3*m0k9h+ice4Xqn-??0RWUPHM6wZe@6F=E%5RA zF$6b0jNz+)>MCIF^8cVWw=#Y8azjIQ$NxgAXK8)2N0qx4lhX|dYb-^8pa4uw2sr)e zb(wfTu%7FqaQZfiy(t&-m<{_(6#x zfoniJ(;1%ZRRDmy2oVKgW(DB%W)XPUyC(sg^Y70VT!70r{)3JmSU(4sPu!on78Zx* zrcaN$FW+n5t1ZA@ufCCB0qh)*o8!(#0Bv72MZtBU^j;O~^bOc7+<2`t40!Bkk#6T9 zDv2t|@GM-fYbQ_O&_2OYsx9(^_7C~j@7KcHaJsZgQzcTl{roQ)eZ@oX;U0t52Eq(V!Fe;}^e1zhH0b z+|o$ZsJSQlEb{Sr0CTt$)VW|Vtlazi0J!DLi`|LyN}apUxCV{JY_eo2i2F1ANckvN z+p?3G_$LFM5uK~7&c86lSf%792vRBu3-)F>6#0@DHq)kXUPK1i*U@=5r2(qjg!vjo z+QMVOw}ktj$9rQA{K7R|3cQ~$WJ1#Zs&FS{5?VC&@NX1&%*(Gn=4U@2@&UC76>#Pf ztJ{%FZZ4IJk|Gf=H1rJB_Aq-QG5H*|-%sZl3>y10Q*2&Z!+vJ|x?seIIH37XdsD)x z$n1;5gcc?tJ5&{3_AAE@)H%LHxK)1lvk6YTJmL)IPf!y9tBb(vZ5GUEHfAJ);Je_P za7)8yT(FB8jD4L;4@QT28I3Sj!uuXN%M40(+%iT6YSqMletPAr; zA?NWP#vfHvUD&omVnTU{W_Nt4CC1QfTqYG;X6U`_)ughc47g?f#D%KFEM63GTY zE%&p6n&$KS2B*4X3LfPLN@lc42`CD=!94MMo!T3DPH1#&e%~8Zm3{K0DpUxf9fmqq z1&r<}maV@2RcglizgqY$<38p7d!>euhOurR!g8@V-E0YI8Srqd)!ob>qP{$q+fsgw z$+$FjuD(kFal>~9)<^@U8+jzrpZm1p#<<1810pB8IMXa#Lwl!3gQQvW#MJc?f|P%O zq}<#>aZoENZex(w={AXtEtLRpkc~gI70=Qz8I-X!hKGQT5;kUbx!QHbl)6*|qzN>W zS13W!#Prp9gNVlcJZ2mEplbjs3rX%JZG!4FEQ|ic3Ga$2Tw#cIwXpU$b@CJZ$In7h z11F~5)d}>EBigO+ImnFHRW-OE89L+Nv_t}f$5JO=<7~8glb;9LepAds(MFT;hH86@ z^~EV=q40dvkX84tKq@x12R`wmFot}xNk^xieqOG2=aY^%E#)Q%mZo$T?q6-+)?m0X z0>Np6;LupQPCsA4OfyJILrpfO@v;n$+Q2GS`eCFzEJ?l(dXcZhFns0O5Q5M13bwF^ z*uS1Q$%e{?zhq1J{O1@Hen0-azEV?qe}Og}a_K#dp+!Yt8<8gFY}49jeTv3A4kuzX z*WY-Ak*X)O>#J+zD9^2kA}TyC%8TxC5wm)@H?}9bupwEbzd1&PN?7Jl_Y#jN$VKgC zEo)LTg9>OW*U4p`m3VLI9y)_1lJr0X8-=?*CT^EwEmu~n$`=Q6g^7BgYxC2B?lg8xDWoy5-6`=d^Gqa3!C} zPl9WyMR7B{X+LHdQG(vV;*dhdj3RH(8rUSA*i!l>1!NR8U6sOsU5TJPdM_YQ5jqe`_oa% zj9$+_GEo0P7DkVOejg=MZLJ$h+~u^O(#s?HXx?pnZ($5eqY}739A8i5{-a{1)qx8E zy^5$=FA_ecCAz(EH(15~Vu7x|02=mIHDUG2^CO8Kyl8YRSBNn*{K!ec+0S!OM5^%m z8i6Dw_L+?(x)F`F-=r;eUEvT%iPy6gOg3G^ueUFiUlC!n@lCO(G0`Q+d-Z#?9FgL< zLund2q0{?M_l62UJF>fpOhe@XjSLcOdceuJ=hzp;(^Hor7aMi!n;sAiv_H}L%`WVa z6nT89v=|KEWQR7%5wRU$IG~hD=;nI4&k94c^#p+vP{jGq%PXz#v3I5IuLjI~r2Yy1Q?kED|CmjJ%^ssB8hhsX8HIQ_N^j~(U|`bEp; zCm`0izG<9oRVyaA+%G(DSJ~jB@L7YSUsTbz3#y`O|5WJt=#)IBxP0lQ65XpR$2q_G z!^(zcsuNg>tu8UBL)|VvGfDjMq65okhd3R?GN_|gNnO`qE=-IA&F5;s;rABDdxCV1R=%R3&DCzw%# zSga>zPjA}Wu}j3ShKy&P+kw?IXG1)XO`F#7r4cG-BCeiMN46QA<}Ywop9mxKRjW0msqKQH4i!ksQE?XE;o>O2Cx&Y|8fx`QV;t9^6#Q49KOuCN{{O%!#HKh zrNq}(JPqn78suikv6Y@Mc)sj14Zlt7q(^Kv-1D=D&dH%lrEWaTZ4#v;ye6xltcQ)3 zILO6$#Qvnx$TZ-8l8%W+nO&_|&H-5CagzVDrU#lLtE*)FG>}1-Kwu!5LnK^62;S>d zI>KEJMY1-6Z4Nx@Mi-sK)Cg*P?lO*dzzX?|{607&JWF*pJjPoeJzS@6Qxuvz9yg5l z=EgEn(`%V0nrrFEGMu>NV208UUgTV$fi|9wbFfl=$1o^M&0OK#JzhyrdhcjUc9M|8 zRDs-k?7pzyNdi9j`z~|0#h3gX`Z;z>w^Kl?+RqA=Cvax=$3!{|m_WLP#$ERf9wM$k z9|v8|sJJ&KvQ*>JDp#H*wUB<(XhxwePiB=$rP{!3Bn*Y0u;?wB+75;qq7+V|>KqJ3 zIP0UEgu_iKvCTG%j-_0wT*0~*wupG=HAw8`P#&myQYe z6apHVxnh?%6&g=D7}aILz85>IE%*T^qEu%9oZ?3+1){54dh_~GCuQlIGrr!cz?y%Z zuF=W~x^VxU#B!(iP{J@Mh-fN&)@+Y@J(Sk2Vj|%y@%_Hv@NvDI!9Li1=A550%UC8x z9m0~Wu#QyZ*>jm1VD$8>^xpSo_8TIhfz^TLH_T*ykthnS3#r zNzy6`6Y0Ws^+VkfR3A!GC?G>EIg~(c9XoHha??|-)f&RN5`ucw-po2U2aMEHgD|%NAz!R5ZJ-o>w<7eX4;u8IxgDg$&WXBDAFy3x3HqNwomz$ z163FJiT$TXVe_D3a&O0$+20n?zF%&wP%*-BHlBn`Js(9B=4+yMZ}W^TLaf!>q}inQ z=Ei?G@4dpLw-oGXGouV(Y-hgh5aThDX9+-@OB$&}Rvu5pDtvgd_LCE)bMF{o!G;Ye zxO}Ug%q`3x(pH?>on2GnuwfuFvtX}C7}xi~JWu(zpqgmCtdP40%)IBF52o8Tq2a;R z(_yb=%778Ux?*WXcI6f^K^2PGb}Oz~1Z5=sI7YCrTB3pc{L~n78kZu5n?7SL?dHLj$rA=@#_ zj5d_xF(;y51pSDOQHZK3AM=V%>^(kC`PHZF75_$?#s>CX#~fFQ6yl!Sq(bbFht z20plqCSR)G6sPpEY{eB2j6T3xGFG5EO%N7JS<9Q%;qJM&J4uYeK5)dp?Mu+RT7SLM zz}Ep1G!zL#-xKq@H*ZX~LOqB_tk1;5MPNVsA=C#ly=-`FjLjjg8F^%a2W5y#9ng(v z?l*}^7eW<2xat=K&Pqcl^EqH$j%pA@MsX>+oZQgLTHNg0VuC|YQByf>&jS2=p&03} zJv|zZ4lWJCrBe34!Pso^iYfn*yadW3tXQd!U|Hj|+4=X!p0gh%mc|8GY%Q1*mYQ;^ z_tqax2Dh*-8?mU1hjf{TDmw(rmrZJ;7{>NjgZEbao|w|ZUtKEEm2wIv~XKsPgwg+0S1Wy#1b#tTvFKH3+)1sYp7r zA|pjPq!U{X?Dn!P$lO^_?7K#O=ASz!2eG~VpM8LhC}^5dzvJlx6I>#-k&r zr&zmacZ$J^-VTwHDddu*lvx#%Je7TO2@=Q_pZ=g(tG`*{@ccQqo)C5%QF!?yUU8NT z?fK|G1@hA4Gq%Ut!K8H0a-&J=~4xb6ZCKO0^h()oW=**y1;1_3-3zz|u3mpjAEE{Atot5!{dcCG_Lg1KHbw`wtS722`*zx7m;^=uqaGDX9V6=Rr9!kg4r$_ zSTW3EarI&pAkT#E-4|IU8#Y5A<&=yEJb$d%ibbKil;C~zHT}HV(GNuV9~2-jW0GV{ zQp;;YesKO0N%DC7c=I8~H$JgmT|sL}>5^kxL+**xx;|V*!Y}J?I?6O!q6PH~8#N>l z*;wHzUfeEav<2D13EXU-&gA2I6v`k9M(@zyox=ySs=g~%pW;~v834a%i{{5}SbxL$ z5|*V4#k^e6fphi zyQsQwQ)iJ7^shLLztZ>m-%^X(hYluKT2KxHIKem(S(|$wjV2e}#>Sjpp5+4$tHU5Q}uUNDGKbt%PR3< z5>2FOFN(44P}7JRd0Kbo-1NYY5N?PxLo~icFlSFE@<9;gE?2X77X1DwcV~j)dT@Q%APl5?nPIac6a$mNO73a?K+Mo}=y_ zM@HgS3VFuhGUPN3IL6XjyevU$t$8LG2RNf2N8i1()raT!USd_q!4P0ER(7>` zw?+*ORd;%Gm#SC}Wpts#QT)>U_0jKIu@l-8<%XjgS0^MwVwO6svgMy@rKlUG=rdgl z3kUP~DPTm8L~klW5OZ~L?5h8oAq@IeqTNERud&4&%~2mApk-6@GhI`GH;>}tugSxD zUfd>}hFZNn1+|tKfluKUQ;(Yo@WkzpkO{&&H$$MS+1J!AHT%BwC&u7}i@aF${e!96Ga% z0-3J<28(@OjPSQdkL@6a_%~-Kkr?YudI{cvj?~pG8V_OlTXYx~mjX zy5D((8lkxjN^~DVuMD{oj5#Yc+wrggoysUpcQY2q8{8vt6^!eT;%|A^owB$Zy7@x- z?v-oEQbE=m12WgDQRi2Q=(C-6s$SW)IV${CdgawMd&do-w}GoKJYP2* z0sKU}tyGJEQBqOq1Nmwa(TCFHp1dj?{XZ`};08BwshPYJf0*M8i!}7x6>rZiTH@$2 z>w61mXwtWcX>!)!p7{~P2%%3N)pbIe49naOzhqL z7URe&*83&ac}qpQo`0!nirAFXSgd)%>$&DeQj~d}dES{LxH19kp0|?$`1#2s)3DNK zL<*TQocO~&X~{8nv1vu=Mkt&aVov?s%s&F_?EwNko2$omZW5ezVmXpae+IV$@bhq%7wI_G9Fb0XL!pagqmSAg|wriEK6q*{`KcbZgX$zl~g^4RmLd}BM!&;uvXPX^$mA08JHWinm{?q z!i6OnuEMlP-xEq~g_%A!P;AERGDVIJSPm<``4wijB^6d}^D91w@g=rp@ef57zLQO)yPDuGygihqtFQ!#B9p=Ze!knPS(UXww8maTPG!aSEe#4W| zrYnAhIWM?1gnuLMdL<1+X&T`%LA-uqD5)AGeh1D@(_uZj^FLx-)*v37;z*^SjCNeT zb8*AD<-4x&bDiBtL{QgGsv_j$^DVL4!PY2aE@x8F6UDk^_yhs-H%>M66Ozt;R6S3j zM$FxHl5z2WfDch@*%}G(Z8s$RwAz0cROgPz9!^-hCDro{YG0*Ry;4y-_<->Q&!JY5 zHKWLHp);1ncQ7=k+b3_unar}{px~yk5b=&j7Ew=wS0!uB6)nQuWITny)UJ_4mb-j`xJV=X1-av?kKpF-|iU zJs7hwAxnh*mv`wp)ipWkodg}5Ab@|WJ{09LW6fVtYQ@5;rET3b9xlz_|5d~TX6RWy z8Ofm*lcF2?BveZ+qWJOT5^NI>N3dC=?;Re0e0wdWwAj$DVVFcqGsBe@?)M==t8T2J zb6`?cT-os+vF~PsSJuqX2$b>u%!uoZZcU!$+lT85@w$b|`(GkSH#xJ!dNj3s;w%CR zXGETdj*>|?LevkYHNC|wN?`LqencoK&F-lc(mO%P|QNZ zmZo`5VUa`emEfSzF^c97eB(lYN=Ds-cQ}S-%q5yzbMg%Q?&+zes4m5}#wy))MdiQ! z6_dm{lzD8QkGSJyoZLX-u{TsF%!fvHrXzVF@*A6#E`7cYM3-b$ns(4Y!pfz}#@lN;Ou38$Lo+7-Pa@MYgNeuyNi#vU3CnYN$P_D9b? zY6DZ#!re&ZgCy1r>hLM8j!$eNc+}o?v~Sa$Z#|dE9&*-~2=!*usDF+`{DX5b&SyTl zJHvi1mzz#Z9}H+rh60|VZQy~uSnK9Yc4x2+V;YMmF_V?sbvw(vAS>8N!vr^Cl!MAV zAti%ig`a-M_DWOx_H!)SxuYkPW79&nZ@>6;Bt`t>pgb;_)@MWB#D~;uZ_MuELy`5n zI;`p-nS2O5ixN|OB)?8^{al@C)Kz&u9ky5f?u9mET(%F47z`{xpsNKzzKa}v z%lLsUQ#)zXf%yKZCl^+(=nbtSqHvNCW`P%nRkIO?uZw9doW|H%@cp{jD#GzXgjpw~$P6%JrsN$$YLz=yi4n z+2@CCVvbD%F^8$`Nbrg*r*S4ULf;Z>K>3RA9=9d$>;%`?l>=hl;B&&k&d%p>Sa(R- z^;zSlT`FKvn}d3r&Lw*>H?uo7`PJf=(dvz z--d-TxjG~)O>4XI?OqwqB4?Uo!tAT(5t<>@7|-NH$NMnsg;`|bhgeMTd}ZP;u29z- z*+F&kL=D_iY{&4r>-t*hn?qs}S!uOkUW|XRema`aE-EH_I4HaW&fQp+u@DIK#TOh_ zz2M1S&`j5`66K*+w9nsz$4-h%unuA3TypDiB4G#XAzo4`ro>?S)mp#A&N}(vgk(Td z;pCs~OAkhk?ve##FR~h_hEG;v9aWD$tXEjf;JT9f^VdCY!Fg&`aj|21tvm?oR^XwU z>tgN7{Y;P@ChbD_F@Y$VVC6vgcm*|{^r(9CSLW7IgQ;NxtZllmiQH>KH8Pf7c`vKn z^*8Z*JE)E&vw(u-Z>8R3lUt*_zP6w9Hphsx2o9U6BIO@WGW?`xlpi*b(c^=5=)?@U ziHk-4$c`b=`8!?|1!7MK#lqCD5l3#c7>*Ft(1`z*1Mq)dgL3f%t4;*U5`JJ$AMIgx~nXumE33Ws0fSL<=ztis=4(u(WH#GOYY#u!$6(*s4Ny{ zn(7G$(^c_q52t2M6JPNnQJuy@Y~7bxmtNOEL4EnIE>vU7a~{50!p$SEv)Uo&=Kq^Q zw^fuC+ZVchRah3DOS(gs!B9a!*bg-zpY|l5OsF7j*^6U<*~F*luUT#px4Rma-8D#aO@ljsT{70o(hWkQ zSkmszAdg6NH&RH8b6PL9r!<4F?L`yMR6Bpd3NZz0-a1npt0}wE8MTWbM0gbsiz0a= z_{*TarQenG4x>2r=6!hG`>=f&>UzU?$XTYA?RC%tr^|=Z-O=KfL_jQkExpw}f<9YO z7TNRSccs5sz{`O;)!5u@B5r-WKI@guKfU$}-Wu?U`+Z}#vdbMoPz1DMuTO-dN^h$@ zy2dcfK7;K*u1XL3jf-0q`?F3VQ>~FZO19zm&qy?GKvjuAS75UxHgEFH>+~VtleZiY z!E|#TK5L3lT{F%wUMd=8dnIFS3Y`LHy2D$db50U-i(7CTaLS%i@fYxtmvyEjIW7F% z(1&1z6=MGxB)RJc9@j47XQ{`>4w-Jz!Q>7hgQ{qGU}iyHFu3qmrl$Cp?rm#s=DRA% zILo;4{t|}fMvC9ufn?w(*+DF$yI={mMot+lOeP9PO(kZuG4X1bamYD^n3TgZY%D4O zZS}*YSDpR(OkXYWF6a)iraa+0%M7Knz87s2DM%R3cHK?@7QroHUt-bR7m+K(95Azb z{}>mm_M!DF_2}wD*!m9}W6^1qhHJ??e)uf2ynhTUoSCIXB5=3IKw`91bRb3T{+$-t zP`t;B-|OomEruB=L>RcmqQbDfjGFr0jZR*$`=U+yM^bp*YZ~|KHqUpC0aKI(v+u31? zua)rS7eW-l|BJD6h7yK}66M&ozp-uGwr$(CZQHhO+qP}b{>cXKoDE*sNymL|->M=c z{!P-8lrK?{1iXJ&yw%RROKZ0*X{|v_(6XkDSGbE-H04vV_WkE-3mY()N}oDXzafZe zZwo29^SL9L(`_ko>j58cagrBg`$Yu{pZL=}^^{By#*%@oTaK~~5k-wna~i1u8i&1_ zR_}ENE3p5Lw9}vL=}Y9w%v{9`K6p0t=&CGu#CB1rsULI8JWpdT+GK~L7aC*GlUA{frE8| zjeM7OCiji1_7gL%JvKQV3(d(S;*cz&R&Zf-SA@0^=^4-I_xrk4E2Pgs49!I61t%PO_&U%nIOv~>U;N!B+l+iems+Tkfwc8PrAa+ z)F)@>AH8mNDyweRMO{1W#9*Fkg&c}ce#wF>32&GY1R|@&zwQu)I<~ki?d@Qsj}7*ZmB`oGw5=Yy8XUOg+wV?MgJP*hvWC@`C?^pT zQKSjiRcA}TKjs5XOA5wCaZQrn^ip8QSpoHlq4y;dA$fRX`X{;Q&bc72-pR(G=#tE1 z91Horme!Rtu(ti<9YP4F{w4;~cGdG<9!dzbswl_evnj7Q12xmgeF4QG=D0N5N|uIG zFXeThlH<`;%Aagsk?OeZ+H_kI71f|eQED#*_3RmP>n)xHN>$tHM+4O)E|s{5lKY1J zbv#!1x+cC!yWFlNgb@s|!8Jh0-M;6(;lQ7F+CQ8qqQ_{byObl_2Z+c`08>=VW6sL>6}J^sdrBeJ_|#fg))m~+R zmoE;CKc zI4HzwT`h?KIUvgw!3nz6$gPz|l3q}cZB#zQ4G_(5nX!yI(tli(!iz$xvCG9&fTujCUD~`ArfL}N^zh0jf$r9s#%sj>p z@|(d&E7K!DVk;-%ge&N7_Tzl@z%06}O93RqD|Cu2WXJ7;w&((iDCdAkNfATwrEv^| zc@^T<-8RzrHic3v_*s}e3&R{MFQSs|;R>wgN@hn~i+L&9>51u0qAoWkFC(_ZeBG?9 zmP3)@p+~Mw=r<95Efur8o7NCP59Zjff|YWj<|Kx{=uxA6glfHK$&;_`IJqqa@y%F| z;Q(#2%GUPtZGv!uyxoYW!L~GFu`A;0Kwg~KfU$i+O?&e9fAz=hfG_hc?J^?!!-5x= zcEUJrseDE;39qZ-U6mAv%8 zgH7!W=t>?`fhVD6GOAN(`xjaJ*?WB0t^sn4>S*`4*1@E8E2P0-95Nkhnt$A$L))p4 zK(05qE(bL5sz#4ZQPdn}yL*%ITqX|-o5e!0)o*ySVZ$NPAEbm${SG1AIa?k@p>HpG z3@AXW_;3W3%_-Bs5wg6nQBz6dcOZ8Qc7H+X8iO@J{(VQBrAOM^;@h`1NCu6qSvqP? z;XwsDR4Jer)jBX4&dX%Wa|a~--GdgdDi0q_;E|a&YVRQsGi&LQNekp||s$5iXVipdGuSG&4 zq~UcMx~+awVigPSXi}D5F&*DK@WzHf1VsCB1(+he1hr~a!FBZM7m5rZPW5_HTFUf; z+-dJXWNQgYGW@Eb9MND!ht1#2f95i#J~JD$GW@RLBe`VJJVF@au*)%l*y{*Hm_^)e`OcQmdciA?{U;TcgWF|T4imKOA6v-`h}$0N*?6ibn>a>w_8JKxR)g9G4yX6T+Os!^ z&iv$o>7dU{(Cn(*-#H)&#T&C=A#v*PI7nak3{=f`m5aYzFoY@X)WwvO=yrR0E8nZ% zD{yyM)tfzdR0R{YLgC`6kGrPTt^a|^xXDNgW%M+^(|uY(T>N~M zJVir2?-ZKQqU6nEx`I!&cEvau=vA@boCP{PL$rX%X1l@9p8tNQ!vAChE5Y@@G&kNv+L<$04P-w7IR+T!&d=$d?XqYmveoccs_`qbXlvFzpru1yyGmTQC+L{a>E% z)1F}|4%7j6@2;1YcH)5sCVmv?4tj@v9-t}rGDpf4e!nI#$U!(1F8P_zg&^UAWaKPU2yuX9AxKu=BGxWeg zTtbR%ngh*;qsoH7Y-wx4M+pWuS>MFem$5muD5mLPHkgi`9u5m=&&#(v`Ll^c4kYa0 zwm1y^4k^e^{RNO-zn-~&WHX`4`M2_DuesYGudZj_9%)b=@#${Xv1O8pJ>ewDFuper zZi}dG$~1tLEU3nPPAF}+%iuWrF_d0ds$-fQC24=%o+U$v;2QSwn54F>Ui^HH z0m*et6@lM13m^+#@pj_j<@E8%WYqc(7>{#-3_J3Nv}MMe5&Pc4Lf(U=<3CD7Nfdi3 z=8|YxEa??uijhfwlLYv1!>^igE|T9g3xAVbD4b9`u(`W5w*r4f5FySX$3iGPX*3tk zRljQaf^{;O&!N6(t3x6nWpK7P%;*A3?0pf74{|9fdqB&Q>ke7VPr$XNA)lL`gvS9iPD(JGU$UM4Z1Tr@1@zit54g$LG}t8R3ho7|ILMvI5tMe0!x zMM>+$q9uw1ns_^KDyk*~TYOITY-%=%l@O3x*0P1LB=@4Z(U_jIoPe|K=&7Jk5Q;D# z9`axQ5Q~51kGeR)>qn-~mBOmPDs>qpp4&C$8 zr;E6Pw$4LRJ=`blYun>V4<(i!=a)ptbzaNvkfoA17rj7K1VgMA0y!a4J@q5s3$0$b zjbIITi@7eoS+ER?_zs3(fKR%)!Fp!s;$xR^7H7lw<d2HV`;kcUqvod_Up1z z+2{1HVIUi>1b0>_K*Sn5U;sr$MhH;a9`R){3^iQjxtPHu6t3cm=ju}?#*;xl^Yo`Q z(q}%XqeRJfWUL~tqS96+@&FC|g8T<$(6@%{&W|nM&=`l#XaHAdG$}Mm91jjF+YD3O zm3*=a(YrD;+DSlB^!n$zE-Co$<5LEXBGy%@e@x;XJvqM`!&PYOEG7n1z)#xc>(^! z1OGMKOb>6_97bmmTup8UJbgyQAp@qZ673z6+8$_>YFirNx?#r-dl!h>uIo72OCLCD zTz=N>^SMoW8o&w(29gT<_>avvP%+fFw0w z{@}}iRy}M8%5wAxt~JmD zI+XW{kqIn~PEoPu|@o*XPWTuD#Cd%^MD(j1%4_O--v|TQHEfcktki6~Q&`n`$&)02c!R$1j#pHP6dT_c-bGUjvY0XJRb4mhhtVM% ztlRf{)GY0|{z-DJ{vp;=%6ChU4ktx3JJWJ~Q;71XxNBb>NOPNmp^#J?3r5A`s#*Mb z2W39t-kY`!a8w(;&GH%*GCZ%Q5+-yFrK|$kcjg*v(H`2E362K~J^yq}NwDcy)^#Rx>u$e2kK?rG%j6YtnEA36$@Ri!;!&T+Qdc(Q`M@1f~Tuk8PTKXdJZL;GhzJ` zAi4&Z;kl>tgql?Vajzc_$CIaR!7R4}O`t%`(f1cv5b#+=}K;_~w*_B|DH&!DAH+ zV+(teM_FXGyN*cvX3ofDC%o$OGH6Qd61GvH(s{9!;>p0e$Xf)NBRQ3m(TLsMStvCv z1D`oA3%CImQzmy~T{UQ*@cR5RLnuxgo^78R*>p1UCXa&buW!4D#2AVXY!H%}jlHFP zp(_X#c+?r;KrN3SeH4S^Ar|0jxg_e3wbKpO%J<@%M}J=e4e{axv@sNAad|#Dg9O0$ z8szhL_6^C_NmJK}W&49bK&ZPLB6cd|@C2_+yHVDs6D}lj+D;%v7jR>(QC|>t-=5mU zqfO2q_|oX}_5aC}bNnAXIRiT*>;F>Y|MBDuEDY@bd;EWRaz<8GrvG1_yaiM_djqL9 z284{ASO7Z^%xZgQ2NwvId0zcUHn0nMdj~fV4C3~7AP^Z}+`h-ybap!X>CbAX%d_V8 zuA)+>%kr+Rx0Fy#)d+FdkONsvYd<3P@I=tTwqZ30;|0F`>8 z^#M?8sP`Raeney7UpYJJa%BJ)=AGSr~x$nu|OB_!gpP51w&QkOnYJKJae^E(m;zLLdO1ws*ClSW-9yE;2DvvGA8W z(hR>c4_-4!EhUEX7})jI3B(sSpF;%j`iZB3E~dXT-x}+J+SXjZBFy2{_^c@0aVUT-;C@?DwCTP!dABy;zXRhB8{gZ(ttB{1 zaC$FWkZaign7O}vPtHK?egHCXv--BPKHNW|ES28}S ze!xSpd0<|ucu;`vpO3GJeGTJMc`d6qzrnwD6H`nb85tUr&%fvIHZ^6GOR#%m1919A zM*u)-ep*_9wWpvrzcU3ef#1p_Jt-6GnSB4f4&SveZ~4E9jT1V|`Ck@dXa7IhQV1Va zIt>1=xb>F+9R8#;y3{|jiNA*9Ke>y(rtiIx-#!uvPA#oJME)`!JczA7*cG5Zj(#Y8rSPViKTnfv{y8E7Lo3^#Hw{4?5&~O&C6n-^h>^U^ zkEPlNuia{bR(+FlqT@Fzu>Nr%kl(mFk8$bhTs@-Lxxw!xP)F}v_A)-(2ezO*v&%lI z_8vv#xn&k@*$o&o-JAce&z?U}~ zCr5yE5#Ov|Vp)KubG~6veYCHzcEIVwKLmJxjYGRbLqK||ADQjB;z#%f!1R@0(%iG` ze7|#!|AH>h*-OWEpFW(^rGJBG)%$(~RQ?;+dhgv)AARw-{nig`jeKkt2exJp-?3k0 zhZ|rY=)7*WA9UWdOP6}@+GQ_&_Z{+Ce)k@h>3=C79_JYa|6QYq^DDY~#)<2zx5oE- zCW!MFG8e-B1Dyx$@Qcoie)tIfn+7GFjf<0O@;G+QD|O8GJ@$nG;|iRWPdh6h^A1F9 z1-w~XB@(WU+4i3tD>kXFMFVr}agT`WMN%5mH%@6vTrZI-Mf=(y!P{=5fZWnAr-Sov z%Bd>0dN=1MF+tjKE_<5Y^!5VDm2~$hGTjia36fNdN+CJ9ZM**$+BW;Il%`Oh@i*F4dX zG6cu(3)V8*3U$@eMGQfd2= zt5O&T(tRVTKqrb{LMLxW=S?}3bUUhgmi=OXkg2rUf(ODrrY^%nqgccqYy-?q`lBjzu}*!}0gt)AI8 zN@poxu4L16TG^1e0jn?VfwxF0;lu>mI#TEYJS%(e!U^7;er0*Z^rPYrBvHmN?*4r> zVf|}OU3Jw}k%7k%xIXcJLS?ZNt+ZxN_SXt^MU$TWvEEm|{O}Sgi-J>v|5U!|+f%X( z5aakb+40h^!TtLHmGQAs5=|y?eni;;b3& zy?177ydR&Zo12#z&X44(fmY`f$Gu%mKV<~8pX@^|oaNOl+j0Gc#F;i8J7!&xKRZT0 zQ%4tQnoO^iRJY60aconrw@`U-jJ!EqTxw*VAo{T28p2oS@YWeV?Go-i6)p`mhP9#u zCKN8)YNB3^(JqfmQWJx>0=wBx!&}BCm{^J5JkWIGs@bRxWgy!i2I!DJQ>ewrUbY=N zVuL6QXqa#9Vcs1qtDS(im!>50Pr4S`Vx?Gd>aky%Q%BMhHg_{P1@ zaNVrQ`HZ&H1k?u)_ut1KfROwbL$B)f;AkP9|5-_rS_yt!+g4Jwv+b-E$MAf7%Z*ms z+EHtMhaXTgC_|PoylHMsS5A8hTc_Q;E6-)|`GOA<7A|~fh+L0ewrX0|lHNk&m~h=E zYu4(gMPY$;!@Szhiq%qRCEn=eu4TscU11Gn6cwXzY*n!8I`Hmg=u1EhK*0J&>|ep? zX($Wf;|0G*X%^HV$i`+>4raLJe%dNG;{W-^<3~6w{1ThFN^?6h?(XE62j>PKr{n>K zO5l*UVciITN2&$8V*@o}o=>KjM^~4fl3f3G*{R~7|G3`r6ax9-FW~6OochY^*JVby zB<$xZ-)^a-snI2(`qwyv0;xg9(r(PW+;Rv2O&_C6>M zMS&oYNYZk;#u8aZy-<2aMh!sA@I6rLT7O@-82_8}UWH)&0ifaj1jZMlxxPM5Cy!k+ z)7(wuwq_?kvn+%rDQDr3`@&J7_8kJ9-Am)iBi~RZ!!sDdeO1qt-*gIm&6E>2NTHw0 ze0Tw>@)$AZ-%RSRu~1?^u^KlK@uL0cj}r_mK&Frdw=1J}S- z3lvKwR28(eWHlyM4yF|f(?e!#j{fVhHqBFj25;&NG3m-?WP6`4{h@2wjtDeI*lzZ0 z+);303>?O0+1Yvwm*dJyIrQDVdRKe!wyh>EN$+&5$>c)@o(>ZOuYduL=nj@uw`}&P zlF~5sBYP7UEUo*<`2%cOm)phJgMpWEr)10WN-&p11p$Xk+uxIpOtDf}&mdWDaNLQ{ zJ~}8A(xSLUS%lngjNTXVOVYm@Z&f1Qo*6l!u?C4~FJZY5<1mm_DuehD5!K$a@TBBF zzVs|aimvfZ>58fmcF(%0E~^mi9ZT^JfLPfQ?KH8&v88;r4vQ^ZLbQooVXA1Q7eV8{ zzLV;q;=e_LM1`JY(;W6b73TG(q)e+1l^ydV8PD(5E6c(=?}7gUj$w>wJ%C3OMg(N? z`2WqouDpZlj386Jt1*JxrpS8}W?SDCmyT>(Y?9pVD2UZ_aWTyfrob0huHv{PKAJ5a z37VR_KU7f`>yn?er8t_kn-}($6Q-t}kQ`_GD4k4rvl>b1+q^*mM&`@F&F>AJd-U0= zJCYH&V0!NR+19nl!dM?%i!a{&)ScJ4w6m1>;~_yB-L+dX{t+jpBu&iTLCYW4*L6kd86%7gAIwF{?)3`jR#)XPM1PRMOQx|HfSk{ji@G($y+ zbD?$cz$V}v^(W{uGpq^BRq8E7l+V;(JS10@S0z{o?S~cvM@$gqQW3FigDzp7CPXvx zrb#h`@7nOE^K=WQheP5qE`1k8rwQpbh;Bj~2>uEtT^E)-8XI~?c=DnCHi)qDrDpp3 zDvK)!)!+xjI#9a*%4ty9@>rVoSLukapSjm#fr^~?_KFjh4jsUq+^1|wJ&)A@ZH+oj z>Yban%w^djK~rTQ`DF9fb9LjIGJF$BMVm%agb9I+2JT(~k4|_vHIKv_y$eDO0)@v^ zo_(vNlh=U_BNhAHsP0QEU%=dlls!C+PfcZkXpz-m$Y+AT3Ar~2qgmzhTg(zLo9#-5 zp`-F2(VkD8!P3`r!6?1!>CCV0Jf2-seEwFG=JLKyiH^Q^_f zHe{nvMK%A1qNMXsPs!W}sn$q|mCD*Pl>`iD4JM@D6YslfXDF8qC5Wcc*R?rV>lStP zRclN8e8q4a8`~zR;%TYl1Wz69ZU4uW^ z(giSMh$*my*P&#>UTg`JSX^W*;SdCE1I2A*LH<2s}CwvcEiH;dSC163a@Bx8=qwn9}naD0+Aq&ah))l z9k7WkRFzK2*^YxH0E!GcBth;l;y$&ICyojJfO_J`man6GreZZDL4?HHEJ~*_SU$B) z;ecx|FpKZrzBHKRY?s=sXb86`>ye$jfG(x>(WfCRSszgokq@Zn8EGv(e2n&eOz^Pa zJ~TbNk^GravH!<(Tx1^&++=6JtvPW}>fj@OGu|k_CnTOQN?iDwd^3<{4yJq{@G>nE z!mhGL7qLE!5qkrnp&#{8dPzz(APbd|)oiz@B~8)6vDdacrM>hewU%BLL-aM{`Sz;~ ztBqk_)juBrzvms`FQ?~_e@3`)#LLi1E-Pm81B!chZ%M_PM}6IsJ`MFF%Q3CAbOF9Z zH=V0=Q&ojUCj{FZ2&b+*nzCdu(&$#_pidF+sv^oBY2)ShB0aa3COf&MjD4aI0iuI{57tKcI;8NlvBq{ z0%35_I^GHx)|-tB_s}9q1MlOg-AlwEbc5J0M8ftz8f;!J2e%yPGU+tbT5wykXQ#GG zPwnU4(*!UPXXbw^De*q@FMDetwbHKGZPzCEg|5P=VI7Q__({s?2Yxq z1|@sDw;YUx?pV`}QfY@y{#AqF z0EI$S!Ch-6YIm%7%H;?v!|I*>Q5uM>C^Wov(NreYSgT{vq1K*-qLxTQGgl%$VC}21 zh!=;NQQfMu=M-a4a9Q`mR8MuVZ zvA0GQDqm)%9k*5K`0QKw9w#QLzavm=I%%hh*|uXG9s93qt7>gje!;U;%;^zL#e+ozTdB^^0uTJhe7Q;5 z+v!ewLEhzW;#*_eUbtJviC}9!H1~4{gU7SJZ6{EXhlpaEOu7>M-3A#sdl^0BwS_j_ zMI^-a+Ia^Y!V5c4IjmgJ=v_#`9XF+eB1Y(*lJ_9!x>>1Q#wamQ^9C0IyuySI_RNau zCz;G5De=px5}!0BOY})~rNztpGye|=TSmQM9N8XLQ)YTJgx6-7=G%SOgxB8OOqyz) z`7nYK} zV>SUWxvk!epGZ$sE6Oy?q6CnRzPl!B+EEvG_mq3POJOx@Dai1vNj z)v}CB^_;?^X;<0$pvC9YMcmBHh&@4(=PIoeNnDk;cbggYY6)KKw;E?Oi76jmp*o4- z84>s+)_(I+{z6R!{S5TZYHvy5v>2BS>pvs53|E;;X}WSXf;dZ3&|+2Q+pvt6c_2Bdx0u+fW55Roq%>qXCB)$LW&E z^=FvPodvl^gPKD^jLmptUn`NTPX-*%H=_1oB*z0_OjJ+RpNf)2Cl=j3n`Y>!B3#ASh*XS=!%gAepmxZ z1rG?K$%s{ZNmaxH$3tzIK~05T30de@H8dga;t~3`IaU>j6QU5Ag=Q614};}~COE!g zpKA;XEJLZW!u#Id04CEG4g6&3SUtDTe%rCqj0+&Z?Zv|^oeQN$MX#4D{5^s=cYZFt zk0ZbUPC^AUX(2^=LhcpSXC_W}&_oOQfzi|%8{;5vt5N5}!EJc+kET%U?f+IF>Mn=9 z?+j}1zZ3eh!hSv%i&Gv_gO_$9Z*kZ# z-+?_VMA-OO{L|6b^VD`YswWfg&hcw_8Ja74>5)>JKaq?0+=zcB-p3ijHkR@@k?%Mx zd`vj*u3x(DbUphq*YfIAyV->zQV7+ZJSLjSGt{v9B*pYV-EvfGw*qGIM+k{&8LENj}(NN8RTuLOdc16K`QrM($}ppCvuaLW3Dn*zL%$G)@|*dYt%d%JF@|8e|r(E0WrB|<)l>-<8t=T=-o@OIQ27DG=&0cAT^%lSE zy)RVw@&OMyxW)hlEEx)6GBt9G=a$l9tb9iKUsdA2@*+yx$aYAQabH>g`=oR)DBxmpWyx-A^vh;rxzYP2(T#l#-$GA%hmJaX9INZkj9NtH9EFf|(sZKVL_ zs-ZWWkmN-4gJ5xTEeEMJ`hfmC&a1Lx(i}J2?s#V3*0{zylEG?MP&jyAr1IQ<)qO!w> ztZkCZY*X!E1QPQA+eaU2jx_cei5%CixY98dr6h`%o}I+cvZq7I`;K;4lqTKIjH*f< zP#kM|^OU^AlcnTd|5a+v!t-1lV{eOcpmrup6|N-q`9EXT94;o(R7C*Y^7nTvRxg6_ zRjQFTZ#wEI9lvxFRZm{k4GpKL_H*gEPFhV@6fC7;4l9z76;n|z&)g%Imf|8_t#&mx z^BFFC`r)emjUOZCiqDH$YB9xs>`JoJHNn;4mhy>QCZCYu2=%Yd`Aek-L8DIyg3GdOfkHmDY$WI;Nt&q>5zhK^x;sHwu5ZjeH(E=AI8T$h0$ z<^3>T-s~s+Ta*3=EefKc$fAN#bmljZw-oHx2jKb7c6Gwg&#-#m=4r=}BVIAlm#zYng z{9HY#b`O1jE`V-p1E@R4?hxcbZfe&R#*mQjWRVhZPsIZR+XOVk7(`LxWp{L_q@!z; zge8hdkHz!gY6*MYW%%=}OfeQ_u-+7n&0A4D*e0~EMwoH6ptT=yl>UMDlwugBYh48_Ne{b>y zuJ`V0e>|~N;91ZQ|5EZwNg!CaYZc+9Rqdc|!6pALr$Gzm;Ie`v-nt{ND1Pn4%MeYw zlj1n`lq)IolqhwC4R@OlfunDF#1dfqKOLDap=uZ1bW)N$BU{*GIq(+u&=k6TULf=t zV|+CRQFhh(aDH2v;v@$D8O0^_!j=m5Ix$nRK(-1%+HBX7t`CX+_Q(mI!o8=#s(5xU zV9L^1_*5|c7Ss!+6jlmRDcyG+QJYmZ9u8u#-apJu@t%gQ5SP3p7FA^S-l;=MGt&b~ z<}b-^OV1Hp(cXG|Poc->mz$At*wN-3H+Sy{YJcN8Rp)j`QsS+dZ~(+(KD2+2KU~G^Jtp6R2RJ*89u%#Nz%VBN-CBccS7xMh^&z zS9Ru23)3@KPE$>96*Pk_Jtt{mT^eyh0A$f(M3FU4IBNpz5A{Nl`2|+VtO&bFw_^nj zT~_3$KkR~w0Tp82{Zy$0-=XTI*)LZyTn)$}!28L$$p3vv%n^0u3DtIh+A;YeHeO#9)oi&7=UqoeZv1lliTpW3Ty~Ekghe+CZw8RR|xN1 zme=&o*yk}KaZB$;hmp0ZB5N%Wv>!2kDjJDtMl5GmdB0zT@`1;qDiyj;+t{;qD_0SL zl*l;E90yiaL7`Ofmfb{o59=U!{RJh zh1`YO!G?+xrDN8-uhc=#$RBF```(v=hV_Q*J!U|5gq=9GkmzUuQSsAzv_|v2Iif$F zeJ~j#;33(IRh>di_75%^7^rcq*oguaMWJ_z6!BYP{AzEqIOzQHNx z{?|^F*%}L%Jgkceq0JBxxM_?ub%iR|2^3m~`P0bG1$G*KK39}!suH#Pb9v`@XJwp~ zgP3x{P6J6^2&YdlwdhAeAqMana;86Ad#w+pq=7~H)IdtA*?4+pb`!p@k!lKj0MErF zcT(k34r{`4(M99Q9s^OSihN7qZouHwaY~X49GrVvo^_AgsB!Jq+=k|2yJ)xGcNPZF zixl(5HW4mPIa8J$kIxgkSeh@nZN?QsnCl=@N0}!8f`y3433cAb!a}u(PAic5&Y?G^ z*F)9*z6v;_DT;C(3R|xG>Ffh?T`E4#ni&ta%#=@FoN+Y__J(SZ5^g*=ze{lk%5gQa z{<6^#lR^gS&4qL9Qi+kA)HuME(p2RZYA5|EsceGv@|#k3QFuF_;%V+S&xV6!#rHr? zGUhSDYWCItQkRc#NlMBMeiJIImoYGUHL}4O1i5!Z4}wvJjYL~)`d$0FOM z*?%e3z24y>{(xom$3?d5_**$}CEeS$m-%#M#kBpS*KI>8kKqaZCMe3*N3^B8?C8>@ zbSzb>f1t7J8RIk1eC-mnXY#4IS2uSrA*;2GSrOIidGpEl>G&XaBb8nG>bKjQttUzG zP8bSov<}#-7yHBh1}Edj!u+&+%M-aBb0+K3ACQqqX*H*M0UmvUkj(VVsIxkxbRfI! zmOgN3N(U@G&s{VSc=Voap;#4_BoW@HzouYz2@}F`;}ZpeV=$;DvG_rn29Z0-)kVW_ zE!ZYz%03k5)&{zPrER+WmUwi`d>pqH+s4yO zK`Uwdc3_HjMecHBk|^d!*aQ&>-!i+R%zL;$v@|pm%z{w#AXhlvackwlv2}N~5nDCd z(>w997h4?AsZe87NP^kck#p0gj!3;?l5(AoNSTK+Tm=P?^4fMBp+?6H>FG~lS3JK6 z!IQ5;-qWMlP%A0z6jpk5>3jopM*Cz&c8DW!<@f-G!n^1gkQH44sInagFfc<F^l+zw>du1D4LXD{W({_O6z0O3ACH*Nn1n7+Rc3K?!bP;NC z+8~7TLx5gXPNR}WW1*}EWecXhPvP{^f~C||j)%bEH@{oAvo=$g<{BoV|GiDpO!imY z(7fz&rLmEuM9PaD+4c+}Wiy6=ud`wt_qd1@7Z7YrC*#4!iS=&ZU$818L0h3T5uF@o zAhj2FgUwQgG_w9?@o=(UxIFJx!0{Lj`y|CYh%MNyH$s8{p?w`6s_nbT7EqiBc|yvBR+iWX$|AU=m3nJ zfl;UESs#2lb??LOBEh??rdINaNCbv4t>=kX%Kb??oqy4uIYtnjL&zdYU5u|3f;peP zHh2O6dr9E~bFuji8CLN!M`HgK%d9MXFJwvo9?59#EF5b}GPmP)wz#X^l-kErAdffj z`x$Yr649PCrR1KfUD4}@Ol$VH250uz4?+l4<~546{SO2WDMXr%T6_9>(TAAbGTz8b zD@6f7#!AK~v%(iFq}ExzQD@=NqK$N3u)3j5dB}h&aTU#JHO~#Ntj2zXc^0Bi!1vWd zdl)Cgi{5C!K4(Hf>iz2 zVZ~4-YU$BtWJFE?3F=A?A|@qh&?#K~YbKv)MjEfix&&Z$t;2X_R@!_Pbtpg2Q}=n@ zUg~^$=f`%{UCV~tzQRz6v>$yN@Z!k8+^(qcnK{&I{;q4J0(e=U#a<2yTW#J9xM@Xn zs%OoP-{`UtQjLWi?|=Cu6t>g62EWcp_m2!Y`p|)`TL2Q=+iRT^O9%NH9uY@t_aD>J z`U>(Oe~Q4pd|-Db^oX3bt75DZo75)P$F?|1%a+#aV(`FFfp+mW6L&OXk}`Nk5j?$O zY&Z3(8YXUmWaBH)X-?4FH#wK#jr6FQ({N=gS=wm43o-q zWX#{rU^Ll5C=a!h%a;PRsPalefOSnbY=sk!A!s-+OjLY z22Be-UD?!XRdW>)!bN2_u`OzlWD?yKhR*^oPB6EJaU{{R$XFRw*)z6xl&b7-m!sG7Uq&9O{jITHZQQgW zNd9&9|MVr<-;X&6fSDBp*Q88cVpSN;pCeeD7<#Ux(j*t8nL$0?O1P`gO4d#`>NFoa zvto*LRM9gSm5$#h${pj2EMqOdqng&|gJvbq?rl+dM|gDRlz#Zq6VBexS{7)PnD4z6 z6!nqG5q((M!VKA8G>exP&en(1euGcPoW+Rh_kdemMC0ya23^+&K%vyweXKO{XebR? zt|GXu)IeJI(5n8(WUG!r`_zR8!}7f6Y3SDBhuM5;LtdHCTCo(jr_pjdr9lbsj8=7s z>UfbBrOq=hJem>{OpN~A6>8`TB)#H9t1%_bvk#dnRRo^$Eh)uQUJ||YgvcLyTGuIZ zf{-G7UuBFvN))?BWj^qD$kmJA~@zHK2H3I(+W9JYg3b16+wr#s# z+qP}nwr$(CZN0W_+qUg_n;$U~@fTCOidy70v+~|^|K@w&%Cz2bdeKIv{GlTC?76P` z^JPs3IIcM9<5*bEbEmt86;s|NV^o2FSNfr-z>9OBCTw_#G9}Lunmf zEI$awfhcU`Nbu?W$?*3VqIzwR#jb8ro(YQ%$4zVY@UirE*@>S^*b+##J& z_;uaVkHC$Mztkb@X0dcq=tjoYjd>Hkv!wlTQI721gYD^tm6O64$SRAOa#}HnPum$& z=VG%}Qo!(jR4tsBy|{36(2mC&G2T-)syca!s?+@}gJU`|%p~_=abSf>${<}>!roQB zPn8?kZNqf`65T4v#6&;U;HV^6zAJ}sQ%-Zoe$9%ki_!FEuA|f%cU^P?U*08Jug`Xm z?rYy-K_ht|PnWKgLD;nF0ECdLjlgQM8N|02lFHI8_t~E1)Qbqgvq-|7pZVj!^8FX! z8RlLM@)FH^(_|%l%y4j|4Y-C^W6$;e)u*hHtD1R zndS#ZN~XQY5x8CpODeSb=zFRKKDp2&H2vZsIpcK4)Wk2hFJjPU21PL7J$-RV%P-6J zmGD$GpV@d&L+kRX6bLg$H=T8;%&PzR6GACt*D`>VGE`S9{*}{VV>Cl(w}e>UcOZ7- z)BBFjPq=Z@qQh0@>mE?-^&QeSGb#oYbu#554D<0#g}LWDzO(BX@R_<81P{hjl0oo^ zHslh;BklEmfv!)VEAAvOVdw>mp(~khYm8FmCATtZZKRp!Ld6UTr&z!7qD&WbC1v@z z;$>qB9Ou;B7SHHw&yx>Vmr>n;GSgknTP`ys-4Ss&zma_4s$lr#fxP#<&sopHto0nk zcyE3Z!H#T$$_#C!xFhqJRw??@6&{lpvp{Fk7{@5Q&FwoqBD|!ixn^o|E$;CC@>Gk9 zt_!s7Z?XZiG9hU-n^=NaJ7_RiAjjf*65k)R3@R^0k0*X^qD`CF%)>j!3>=lZ-T4!% zG>wn(jk^Wh{Ym$VR^qdN3-(po*a@xmiFE~~cx(L>VWUKJYIc})+FLwqJsq2lf;^I6 zX7YTAYLiTmr6(6Gdj*jDn@!PwX^u=TBV-zw+jxQXgU(_1>L`DwNqm*C}j&=WnGbJRk*`kZ+8tdjAP z>^#EaS6A94!?`DFY&9-s*)$7OY*dwV9V>nv@=38uc(b?W9Ur&Hqf5xMWwR!In(!dZ zC#PZY#API#K-7=CNSEraeOodiGuPQzzLhtHJC=Sn#x~+xv5@{42ZXmRtdP3v2O zvf6bIdKdwNa9A~x*1P%zL*G##8BXy`{yF`kPjQ4kxK9(m{XE`Z@abjV(de!pKjx<&6)9=PQ*hDa_^J{Nj`lT-IJ15Vu@I zLGf|u(Wt@{Fdm43F%uc2vDSd(6gd%i`|Ld~pf!n}h@%HB8n<7Bo0nFnTiU-sNU8Iw zY0#%TJR}<2xWw>h@tMA=!^H8VI3HsKgc;;3xEJ$_zd{LPJ<{sV6P*sC@Yo&`$W6po z#i*nAHAZuMlM0^v+YdnZc`53@89vw;{)^#*k%5`2`}uq7y}O@nQrBLW(QbN^;e~0w+_FZ>Z_iXujT5SWdH?_gT&#@J+|uq3KoB1W z3~@AKqCXc(kiX{#Z;$ER4;PETF8u}{nGC#!63{G>MHDZM$_|r%1_Ek-5771&(hd?F zzz@KNK>h@ectZda&*~ED4?u|nAi@rF6+TG-+Un%wudYcLAMx`JrO#*vW)BGoS^w<_ zF1{9sOK?(3?;lAq0A(FDWo`=vYW{DA(huJB6Qqw&Cq!@^$j+vvrNt@z8;fHPK4~^( z4S)_Y0F@8v3c|%6B;cPX0<0`!)Bn3P5-}TjN9SYsjrQ`J$m|R?;H>iu*MfP z$UjF*1#r+BR{(19?;k>$wqBc5eGq?m2oNX;2*ADxMroG+<<^8dB zP~ddmxDLd4c=On=y$?UUH$B>4Kc^q2iC>?kU$w+)WR#Dnz9+WBUm^OI5dQ6-Qi8Bm z$N+5+RCY&P{a>kN;NO-WN_~W(@fSZiRD{y8ka&L$qOi=Is5IcQ&otZva%cz8pd~^G zrz$ReE4{4t;x&1yFzLd1!q=x4v(WrY|4>*^0c< z-gp9kr4Kz401*3$A5m@q*^u3E{Jx4WY{H`QFHu1N*%rS9f(5xtwgXUm%ipNrc;C`r zB3)Y&N8uOz1M|nMz+~eWY(fgt(i7HLc_pzbzZ&hWF&tC4(i461HK6;jj9a@$y}>s- zgks)DKSX@S01lkUE`L9lyPxK@jUUyQM^knIKYm&OvNyeOZCY95sDjeJe)REzG(Z00 zk;nK58T+l?y2a8|Y+O|ISMXp9VDG?0*d~wQ!j_>wfC-@A3E1yo_CJVF?*R4#zy9JT zuDwpg?XF{bz-xY-qm$3A&%H5+0+sc^Tm*XGeC1!g)(CI-*8)F+jvK!(f@oH^AY%Rk zroAkW5Z^Xmc3`x$B;BprJj6%3$Gl#fD8Za|3?3s z<;~#YAea>W@_dhCXXYs*oUm~U^Ohkx+iSLft-DLfd3 z4Je{>$nRD6F;^NK$abnuPbj3>y?db%Lf8StX{pZ~A|31>6%%hv1&#)30RWll4e?GZ z7871c|Kny|ngF~9{*ZnbCZVCFXuJLJ*=#~KiaDDgdG)sl z>74+*@WDmMI>Y}7i0ExQpY$x##h55{p)>DpZZ5pcSPArHuI^9~Wm90OSbJ3kBoVP6 zR`Ilr9MDG|{yuwzu66L$WuOyHEM(17=3v^Z>3qwPIm!fG0ZKtXv6&j;-CNSCM+!+` zlX5JJCO>Q!aSCsYRT)_et9dkL8%OybM@N;fjD9+%XySQ2zC=gu)PgqXv1i?!L9{+K zNWsrd;%+;-LpODhdt~(Kd0Sl&VSBIf)~*db*ViG(e72KP&dO{bGNwMxqci-BlL)Y5G}V zz{l8lm`cej1dqOl&dYMxQ*Z>%8j~2miHD~5EvJ-fS=R^L(6h=Of@W+2m7lOnz@pZ| z$>+*Qc$JEcl<4{KfcY4*a~6JX`tI9FD|?3qAY%wWrZek8s@iImFuYqiJTV{@HVQD^X%$0bck6b#!kBERB8{1#Ao2^J0tUZ9890+# z(#-T(i+YJ!Pq~s7FyZ%cAD%6ak-ow^sQMt7Y&tCRi7s@-7WNE-2>hYjg!pFf|o zIwLavVl_EQD8BV$fi!;)ors(6b**)eS;I<}CS?p&w9p^N!I@qa2s|LoOcAGZ_JwQ)Z@06Jl#(2k0VbJs*;fY5c|qP`9>A z8`Mx07g$S%PUr`vsD?^fi5(>Gyv#wy{!8kXcnbD! z%DjvFXOyQ7?ZVM@r2}VnUX_-L`<=ItDN>v-?*$!swn#e`cphNzF-wIT5QzoWDQwN% zdypWkJU)$r=}IkmsVY-lDgfiXUl(XGy5spIU36Ptb65={L)k*7GY`xiLEJ4DPJUO; zFSuVWAURr9%?_f^hg2J?+n{5i?Hxwlnz>Eg#2X5jUIBm4eC>Ia80do37I<&*Z})TsZ`pc;aKR`z7-h%YA)& zt$ad3($Y!44S_rxPItd~2V;0w)V!@_w#e;3%GI7MXugGhPMW_=WwuC87%^>oUwjmJ zGEkb2D3y|XF5zy>w=yh)b?}6VBqvD5_N}sqY?s`(dNOb}kXFu9r5vnPMz@e{_6Zfb zL`i#>9TrJ)1|bWA{5cLAV~dqp730`i&L{3e4oGi6jogd66UGvmGu_2g?z9g0?(`gJ zntXk1mO9w7*4mIbAch9a6{C5F+ePs>?VL?bHefwsNCX`ys22G2#BEhnS%CjoYz+@w zt32Yx(>A_ggeknAr_pin+i5a1L$i`d6Tzlk)5RtJxr+U*e7CQL)U|dfxYo8d9+K4L z{lNeHGI zX!I%d?TmznIDm5IW>dv5>M0 zUGacFJ1@#=2zrD^=1!NW#nxk&;3CMV;|<_m!&?4u_;&8RRIR4TUGklqP-nFa0=v>} zhHm!~%V9N{Zc7taD3?!C(ozFR@mP3TzoJ%ag^n2%a(d#9$TqWQ72|EoNK4l+`ZWu<+6j;z?2co zp2Y2=T*zY-E))N4qJv74eo`qcbp%4`G&Gd^c&XeTt@-5xaa#aq`6x-T&B}j3RUJ)o z@Xs*|9?COR@?(XNW0LLDoeroZM`;;t<;X*#1}6nhkmD^ZD)&IPl55rMQy)#el73SM z55twgC(ULhSjAg=1X0n><)>+)d%O?aitmiw4s7<1OA5;}lww7u|l7>I2|Gm+ZuZI?D26E)5QM7g*_PY!SbCh+<;Sh#q zdq5!>b#I^@Eoz8_os4)6Lb+Fv)uEr`p8_>$ALLm21YlQo%jN7QodD3pb9Zs%tD{M2 zBu6duTY1ScF;{NnhxXb<3QWuq6my!|qkC^vi^fsKhk{Y?6gy}tc%eCY7eZ7kN&ofg z3u*^cm>~%7M^@cr86*x|>O?O=A1hG4F=!z`_=!j^YuK6%GuLd9AkVb((KvTZ!z(0NBWNnu_ur)y~y z-2>;GQNh;4W5tFR=X%*cL=l9k0omSXLwNw>NpU`AG_qZf$Xf6|b0J(@#1$%^CaZfK zrVO}SWhR|V58XT(a(3Jq@;ZgVxeM=nP{U~5=H87{;VWZ*iefllh4`jz*OXS|Y|1<%->eghC(#}kPz*?`>!?&&*L}Kcws*X0MS5Kc`=Mt&-v$I; zxX5cImsUDSq!+Hf)R!>djORWNKz|w5;lat$Nx-_xLVNxV7jkskV$m4Cl!>9ad7k-U z>PgH!>wDyIAP?=wWI1!({&71%sRd%kV-tevfqi~_QO>1>=gpqK@778)Q zgh*@dmgtF8#F83q3MT8Cs*a%ny17#L&G`a~I$2CpxOc%udvrq#xU18Chdbp9f#)67 zev9GlFnTZ7VO6lpgst{Qu^eHBh(QKJgHEBok>BvU-MettR6bu63Kynika~~oWev11 z(K#nCAyzgj8>+XfH1KV+X-Sbd3rQC;(e%KE(w!d~B3mswBOsUo-OIDMn&bp~#p?cn9PmVet1umZ}w=~vR zWU}o#J6GaH;N&iMCImDBUkR3}jB@n_l$NaWz8Yn?y~1<(W|wd;}}J!lW7FICU7n z^;Wr_-Y8MCa_*MRR1m|!TPS{JXf)<63>hkK3My>cV{h`&CprwMQsehXHEM2PZZaYJ z%lF&J*6qPb`&t3Cg~-!q{5BK8zynR5be9410td@BUVhjAN2a%`KP)*x4L_81C8Uj* zr-vC9kENnxf#cjt(v?FT{pyXv4^G(!n@CHTS#D(8Pi#1V*q>44a3-XA$!sY;qW&2t z&YsU@heo8raU6i$_APy5ZgA9W0nMt0Q0axNr>t`Aq1;sO$%p~}7>FbP(syg?U(&E? zj^+=kur&LC4`gCCAzy5eQ)V&RG6=J&bomhP+qCAguRf!&x4AEp#0t@Yf{>9xi{078 zN>AG6lcEf~(+88?nLNPjCu3YU){VB4L7{)R8(Ezk$E3{Ad~_}oD_;9?*1Nt*egrbh zWv4U8Lps7`X6Ik2dbb{!@JU6D)m3?iNllWPDe?Su3re@gn(;AT|4BdL-BsI5#5(|V z>}N*_PO9`YxIY!I!#dV0G*Vycfz3C_41~3Lko(l$Q-R-SFGuwLu$?FIkaSsLJt|TJ z&`TE3ur@zEORvn=)3hIi8;fi_oM2Z=YL4!Dx@6;6PA{|+2~#mMnR(e2 z9}!cG5k58d4YA&rCbFLyFU&7^enR=do$fz%S7{})skpz>@BBSK96XJe zrNp~%ssN)#oz*VyNIwUW0S`#hUDwX?ZqCtXs}z%!UKxx+6w`gWaG zz90iW?*h&0KQUoz-QTP8!pM@J`G_j&N=cGF8~aM3Mx~u8;kJUmr;%GJ3URWQywjZ1?xz!fgKuzR-x8b2N8WzDN(rmy9wdDdoFK)XRi z*V0whQ913h7-ZJui9X~~NoMRiJZ&FwsNX+4`*6+u(G+Hc8OxtAG;w0zXe4oWLvyw= zEyxR2y6qw?biqsg9{(cf=9t4YBW>*sBdXg2oz#~wv$4o>W(qwz^mK_{N&{QAn-SKc zl}L1u?DaSa)s%qrD7Vw9r;=GKnYv)RpC=EI?GX3!$vFkQZPl{QrhOind!60hqE@>` z=1sUKJZD*2z$QS|>%DF76ccJUQc^1(;cS{AwGImsw^x06y1*=WH5cKdj*DB<2xOk( zBWt@WdRgarPT+_6T-@SB=f&PEmHTk~Lp;24yXoNeyPy)<{phk-9`EVWW+r+^C;>}( znQe{enU=Sh6WlX4L>$cttQ$zWyFou%00!9Ptr-y@X+cQ#bMZG5DU57o-zY{@MOFj^ zIIg3=NNCAM$!2O4HeDKUWKD%uc31{h#w)7a4bVXmjcu}1c{iNS#973ig-tTpc)nr3 zXFh3KWu4qzn5uyMAEAwKE<_76a{D{H3NjiHdL{2ei}b&07KSdL zm@u=zhCf^GjH4GS_mG-gaDSuHJGtOvjdR@F@j%+v$-rx4Ps&iQ7;Pl~D5i3E?Bd`A zv;;bThy>f6Pb?p=M%GlE7Ik*o2b~+vgtEv^{Cqesy%fxc3Wq!x`m=YOxz3V;OCOsI zYbURKt&uy%AS=-URFX_~Egb2j29j5Ar;Dw|&n^Cy2r3NT7X~#^+L3$X-Pfvb-w>s; zSAirJLHbg77%FB#skO$a?XXrwgnp5cONv9f(RT_W+j=uFP(3zAh?F-OlO3y?0m*@D z)qUEUR}3xOkp^wR#letaEE+(-BNd;PZsS!oP0Ah9Q(UVk7*4g_CCPov3PWd$2OROJ-W%) zDFqhXi8R4Uv7IqwzJUl20_=(F;uhHVFZaHP4aRC&;Q1}{6A+5dG;)&Om!jK+%7Flq zTLBS>O5fc<_Ovj?dkmf()P@#1^^cyy+Gk7M7!0rxWd|SZOc4As(~f@8;60khk)T95 zQ{z6Twu$t$sN0e(LxwZ=<+8bCt2Rlwr9be};6>q}J)6N#n$y8BWscj|`3{IIe#V2j znh#6i+t{p%w&u$D_(r3tnd5K8%l>N7WETMdO>qN90sJX@TK-|Xu)YHH=(WR)fd;TrbHJigNHFD|umW0hio zUtdk9YTtdELixGRtoj3{;xCg-JwDk+R7)eUsaG+bEY9AuB`*|weTu^6#ocCaF37?F5pkcfo_Z7Le z777*_;R(s92tq1VDnUx-@Zo1p>}{%>N#o7#`eQArJD*X!_Y<3R5w}=d1=|hs-P;qT z9|L8R)%Jv;!Hw!{4G81ejnH-W3BuI2wcJf1hL20Hw`OkRacV{dU1naB#?IE(eT-5a zc<$kItLNOH7#kYPooKsGtgwxt@^(QQCsL?HF+>kRho~R>J{+_?Q4ite2Qg9`@@vdb z$;?;0PLwC|?gE!W^O49xgp2ex4OESW`UL|UKHj3#i z?`9FB6?V`0M*$z!RXVwoTddZjD z?feCFxky??&8=%iuNA*G#E`+~PcwATqN4OY<-Mi83_Gj|O{+0o6aE)erwOFauZ0ps zqbk=Xw3f8Z>Qv+DkZoP9Zv{#1O3O$y4H%iJ9bIN#UR77_WZ zu69Cat`5;R7T>I(NVkaBOIn4gezsns=$Jp{a}Iu@4toQ{MKlkb*HA-}OE+>jPg}by z-Tl6z%M=g8VS5Pj8ay@PmV)9d!;^y9*#zCKt@uzEwKl77%?L&V%vwj^*gjbvA)SiH zv~h`o$&Tk$1ly<-XHpaLknXMN3Dk{?uc-O%`CMb%tGWjzo{UWCFpkRZN+>Z7U?pd6 z6Nl^oF_07SYkpzluB$@w9D2k#TZsj~sFUQeI{w*%a=8yxQdo1O_KMyd+NlZ%elewt zJKS=HziOEHdT%AjTNmy@%P@^L?GUWPEbIHIL(q&l?5SgU^Ei@~y?b8u#3uJ}hVL$r zVWh|Iu|HSA9;I|lHjOANTRBoG{Z%}diEw&4eT0iO_~V%y^{k@ZYnk9emU{AeJ0@$jO(n$k(9J_pOUz*tMJO zL(bE(ZHoVoTG^g1xjr7_UID@~;d(741670YET%XMrhrsZI!j%AlNz=>UA{0#e^`~C zb$i3yl~3fP=VdwD2jLCv?gvja*`@EKrnci>N&|$uZ)RO;WozP$!lS=7AVB$M%o$3? z_FfO`=;eyv5XhBA<1>xT#nP^zPzwze*+(Z-w`?GASCvIG#U42{WvyGBT-4eN76%>)gZkJFP*JPwuAwY5U%X=?wWBbgurDePb>a2&^>(1g%g{SMT1 z;>6-Lf&pB-UV(_r&~<3(2UKjb6Pnybsz^$9J|+nqFm$2>E) zZg5z!SPevg%-_P^C3}gFU3Rx%WSo*IaMyDNkrXx1=NPEoXi6TCX17vVDnIQEI8jr)}!&aNT`L8WuN*Af=AD7uYyKV&zO7NH*J4lH$0P9I9m-uJK<7m8_v{nU*$So2 zl0DgT=!O)RB)F~lYXDV&*@k8>?_#sW@}moEKg)w*qNY^v8L4aM*yw%G zQ!o!j->cTIwVd}OI?-5&i675YsO}j&ON}ppEVT-OAF(e2EOr&673pE_LQdG zZ~4vCUx;6?76*^$Jy#G>^;auKMhb)*0WvMu%~I>jt&_6Kko5_MyH^pCFP~Pkdj*?@ zZJ0j!+XlEy2f#@Jg8GgjXB(HmojpYclG7wV%t~l-^Q!^75xnIw+y}AjuZDkn+rbz0 zrE;X@$H#q1OC$bb)~K*Bx%5i%eJ72uIL$xHSe3x|R4fjsMKo)53uDfylP?z2Z>Nmk zt=Fm%&Cr*`Q!>wUm{S4NHTY=0-G9*RyBfUZj>jGtt--I_MyTY*Z^n#hA4}^Un2*Pa z#(nvb9HIK+z?Nsd^P1Lo#9J!}ueX^mGVPvth%p#7>)VbIUa7_#UW&{Zq>p26T1j8N zo-a{eHr5$(8+y{Vb*!E~lF9S$o~N0~lf`MWBJF(0hb5ean7Ui!NxLW8H#Nr?T17Aa zxy5*itK1kxv@odmbN+ZkP&wL1^zA=VzhIL&;?0$#xI-2=FTarEH+O;_T!b9BTul6$bP9;Y*ck-Sksd zG2q`->OXZ<;Pu&llBp=RJ#!{n>5X3QDZdF7>VqJnmdKt;Z-#Km0zKww_ids)kLKJ} zTe_quvLS#+@4xMjZ@>4kXOLS2-74Y^)eJ4j6nlfGa@M`AeI2 z8N)wLbnipl>&`Q9!Bu5V;IRdZ#m54({02T_F9)L~joo3yXX3@{EEFLcP;JvOp_%CT z7hxXktgA})WoX$($@sQICJ^P;{Ky)|Wj6d(jJ(N@l@_+N$teptPG-k=>}1?1rwyMF zU2io{=iX$mE5F4Oy)*`?PFAWk{bqbo*YKRc+c(+0F1z-tG-m$H*m$t!rZih{{ZPwy zokugap`LB$u+?pui30)!gKz+LD!#{zbqiz#$Y5W?ZW?$e)&ZO=3c4-3ZYx=M&enWu z+@m=m>mJYlo&D5;;T2sDt$AZOLGGOmWH4S-2D7bV3z%3}0FJbl9Gixj16R0`hr&GtEAuS^FJ%RRf{xxe|9zW&K~ZS# z`K?l9pycL`HjIzSbg7m*3VzS#mlCzeWQeZ&>V_YtH4Y7+n|9Xjk{NF6j_@@Np9{EW4)s#*yu2#0ErAMhB%u?@HX^M3`>SrzvVOa@ zn2~*wxt;H3zwp)OG{S)}xx@t=kNOQ{G8W-@SsjJU$Bx@}%Xd2ZY>aXP?u`BuYT;=w zpHFw>`Txo;abIb+UPh?2Ipn`l7K z;M{4)>%_nGCBRG%314JJ9`6|<_X14AmGLhL3jE`X@*61WeL^?XMjy5+tljGn@sP(9 zY3d~+P;Pl5RCX0_rL?VE!VP3`b?nl1ZN#nb`>{8k@J&1ihx2daqU{$1ymVM+;i~qc zq`5q))qOO3KRf6u8n4q|fMwt$tN*I0`=^p4ursuT;^zL3ZjOO~ft~69K$O{;8UFM5 zzeRNnO!V~sZ-{a$sC@Q18cj4PtSp3VQUCV8QxE`#Wwj+?9|-!ohqpy)Ztv#S3IdO{ zmyprUZ)tHhdK8Xp#aQ3wh!hsB7?s)hQptA?0a_}1Pk+uzB^%a0BEw8FA zFB%#EHZ=6D9}uCeHvnWl_8Lz97)X53T2OXE#SkG}uB^TkRazSFuLsCn`aF=jhetc+ zk2rYvMnHC-DZiIL(cCbU@$14oj5)M?SbBf}ZSJp1plIL3@Nhs}#`^Yl4y5_%6o^A3 zN}&lrTaZpQfF*%hd=mB;&YhRBKhhlB)2g}jm@)t?RsCZgoJ)8}6xSRih&#ht;57fs z3>`)7%LxHlpOl+_M>P=tI-v2dS^YpBAdG*nE}VZ##PhAApUE#R$lqULOmkDP1}A_G zufS^>Ks0?V1bz+4fbrqM5I}%twqIO`W|z>eBj9a+eXaa+sXqLr000UF6@WXFf!-4* zRwp2?Hg+bCARE8gv9HdlNvqUmHuSKy^?)m#>;%8ZBmk~}Dczk;vPZozDplXMZBvssKk^vs*~a1uefQXBcMIw{e9EZeGq>fKmvFss*_zMgudZ%)T7I9yHP)4V^vjujYP&z24u(eIkALO4=L?$VU$_h%0`CpcY zU0DW(aPYpYgdEtuv5|2geUtq?K>J?qw;wlLRDw4;yx)nGmR5fNU-ZxE*JF|Iu%=Bt zqWpI&A#=cA9cjo1A{_+(6Z{hFdi%!o?k|IHzm-pXieEp*U!CLM%BNowl4DD&&#=6c zS^wWSd~@)>&tFsrA|17~bXNHg9vWbu{{YHh-|d}|1Wxr;+y4N{I{tK*1eSL1L>8i| zaDUKZ`L6ZNDC)t-v_Y>7O`prGf10g+blJ7)dBi~vV19gtyNny^zv6C9Ca0`*YY|V; zZGO&yID4zJC-K4Gv4eC|FM2)1H?jn#{Os_t$ z!04IQg|u}Q0qB@Mfv5>&$9my2qmcWkKQ^Dp4#4Q6euLZrrxN{$ZB+r9p7_F{`>OBQ z4*mhBtA2yn0j98i^V7s@dJ%7>!1s2~OhnQH{=%vLs=IptOqKc(&!B_Rp+|4`GV1;f z!hC`kVFhS9zO8yYM)`&GIJbMIdt)Se)4L0ad+yzXCd~4?XaGpJ@$3Ed!{|}J`UTa) z;`|!C4XGK7`b&878|i-jL&sQ6cdh*cs<+Yp1KopS|B3FMvHFca_Oh^fsCQ@LJnPqw zPO0nH_p2D3QI)h9W&ERljNbkQ{_DUI#E(b7bTrHnj_DWgA|roklR{p=b$FBBSGAa| zh08k9;7u%?raMk?IL-bXJuCI_@2AvDy(GGtD|raVj%oFTuG`I0;*y)A7E_`Gj#@&- z=p?tU!0e#gE`02CE-T-$IcZ4zEi&7)KslV4o--kMn#OCnV$Nr0*_m#rQ|S;z%3%_; zm9oW671d9*kMv;qqo?F#!J0F_VbUYymDXyKmeZbVfq+_rB1T&`{~L~DrW?tq$j@9K zv?;8OYCvy>M*lUMaR^i?(a&Ez5V%0miWL1?O*LWD0V}n&g8A=QgNNNYr_F**%tFZW z%y0uCri>t2Yl=jm2+5^e9haeW7%EN!O4(IcxBcVsl)U2Fh;P9gwpq=Ma{W|m%L9!e zcKe*Z$81T)&3KGn?ZbHE$Dxk^GfbpIpqvTUuFqw~M&TBEfwGgXJ;;rS?9o<^5v6v6+|)aGA1sA;aqJD>2HMu9ues_p$EZ z)+hx!4pq@LF#{1#o2A;f;^Wh;yhcX&m5dTqu}H7>O&i@$Wlw7?%BM{MDDTN`&1-f) z>nS7O$lyCbaVDu)&Viu9yL8QgvB|VnFWw&#il7LFFiO=4+V0+mQQYgGX2AyHPSj7a z9eghyyuo6?YWrOkMyv-;e;(vrNZ`!5A>MOEQ1F{Lmhw_mf`c>&L zroC<1yr|8_py8-?Oc>W~Ts7%61vG)y2a_S)()VC2{~}HVcMNpgb;=Hh|E*%;6 z$3qvZhI~FEWV`X7(?cp(DZ#+W*+BE+kL!`*+0t2rLpC!*Va@l;S0BJZ2w3!uqhh{0 z16M4@gJ|Ckx4QNRt4;- zr7kq8Igy3Ul5n;0>2KCo?f$-Icn0o69Scb(9woES|rnfyUfRr$P1nTWl^B8Id&$)M_fBG6`;XawO zC|ZteD(6`jECKNwpNTuSxTFm((m#yM$R6Tl!ERsV_eZ{`CB8f2>-k<5WOGDc1^|wP zr+I8Vli)d$NpP3EBd5FrP*xoIrI$j&F5mBpAg9^Lxt2`qB*@t6L$Wt-2j)r52M=~y zk*(|)1O8G5gUjmJXp+r8(xmp8opQ2X3Y!$IO!uL|RL-ovuC z#y{(%GE_3|;)ETyo_y}8w&4iwtM5aI-XMjT5fLm?IW^<05fiLwyDgXt6&LAZ%cwKBUam_3L59OZ0nl5?z({?|aR9_liJ) zTf0vvPcsnd7wE<4ft68a;c?;XiW2Yp``11dvt3>{Wu#L3qEe&BG$awd+oVg?x992Y zU7(j7BCrZE(c3>}9zJN?CA%+CJXd9%I+mm$>ZC<~8MegrF9+JDbGh;a95~={0qgk4 zwPBahEv5nO4793f9BKEha7r`B-xy@t!BDF~X4QEUOhz=QqTZ~niU%Jfo)Fc}ybc;r zqq7=1;D6>?%LQ*8t~ken{55tis{GjF-m2fI_xW}$#-LanUzBkeGr#DzCQ)9N)_Jq~ zoQJD<%<^QkmUm6QtK*m`+vm7ZtXr{C%dHVPUyz|L6IAI{UL}}Exp{>DRI4boOazPI zO2>GfIKB~NYvhg=8zwQo&nfL!*N;30=7jLS&eNS_$C*PVlwHK%7 zI!})yq{v^OcQK2bt6KL{sR-muAQ13WO;Rc54UWh_5AF3+MEfw;o}db7tlyS%3edm< zTXEe9oE&r@&cYZ+ZXelh<>VI)ZBLE8@Lgw~|I_o3X4^tGWK`JSaX_+8TqoL11G>`J zl)Lg%V=q;@BH*tL%sY$R}}Vok-*7T4)L{U?NHIl7 zdb}-}c@;H6m(=O3J}e9@Ie?5%jQMWD?<=&Qn?(kR#G>YTf-8vSD$#{RzKBynYTqGp zQAulObkgp^k?VcRtfC*3a94Bci(Xx-e!wchr$Wg{_QvNj*H^~tdy%?xyh!UMDX3d1 z|HMj!=9=z&Rr+(SBbpYxf+9@in8jKbv+1-!093wU4Cq3ew)*)mPt_kinZ=iZf=11J z<2VPhh!_i|Cq+85XaS5w^9$N?&`i_pU9n*{5h5Uh?re;2JSe0h+(L?dSbRLM6sQQY zB?LeyL_S`vCy%QJi8&I`=ryxd>S-TcusUHM%slD{XVGh2>lmo54l_qhq3S@=_T(ix zgJ2pj>#rZ=Yl8Z<-6|RjwvCDd)Q|ZQ6qA58bQDmGle=`Eo<9s*dH(G!9+rF-15*_Y zs%o@oLT1Q*M{QNYdCjTrnU>nI)z3tkgG>#XVxrPnD|OQuJ`${;S!(cl#}brRM5-by z(T^g#*VAqnEz)j=gpBf)0r6L+Bu@sDMVv)AJMeib*&zjem(@d2ybo&;o-{vOzc6My zwL@|}NgsIdzKpeP+XmgwobNKoJ#Ef}nR;Cd!m7(j=eKILa(-I`kwap zSZzdlH(z4{cPx%_r$@A1zd^Brp6J|I(@5zBzE-W zW}hyU)*1Y=qz0e!Z$-0ge{PMND&;q|Qsq4GEh6pHc*BWH=klVFSP*G0Sa>+(fy!qY z{6)@Ok`wg~ij51e^37LwYmb}$A^f-pQlYh6Du{#g-t`zI?GIW~*ZxNl&) zTPAgy-l(g^6*Q%_*>eIO1ru(PU@%96MRmJ7WtdN(x35(*jQ*M=GfP3PvQZl);|7hW zjg0AHCnf&A?4sJ<;UD=-RE%tg*?k&c@>QXe0KS0hQQICxS z|6Xa((X!FsuC%^(Ull`Bpi}uv-yntP;PGKF6+Bz~!o4h(+J)H9Gp?R6 zkqT0(#99PfwgJ>bjb(^gz&O{RI5B2<4dZt_E%@s#8()|6aw;_P=s7Gi&p>B}Y^JoE zJ~cKxYJ2(z5$DkTRMj;7Xv(G{4p-o8!Xa^2GRa1cXr&saSVp>_E`Wsl-6AHL*$N$4 zH1ldLCDy`)iBGPTZdflNjknW9nEAWecOW z!nO+W?{#?ZF!2#IJtk7f`3ooC%JzHDj# z;y4o{aFMu|ep^4fy@b*M7$*!XT<#kyW$x1~*{)WEOwOLz`+m)W!#`ymZcF_pm71GDx9m!GNuH}KI%U5GD*kG-qO_hxBXRk6E23&HSWpGLy-NEUy4X4+u}n%SBWT*ws@Q-a7Usj*T2{NHaznlrgp~y+^O#uZsC8M1RDEjAxn-af(-GFeBie z?GyK+QSZSbsTE1ZdcOKIqX2{K0%U&T+C}u1V`0|4eKF2WN?%Y=O9682i$#SxUPTqg z2kY#N%ObO;(#+mzFzcyFy2OtH`hf+7-`IG9JXPG34C|V|x|u?CE#t&ocCCNqwk2tu zHHc3wOflq0LQCyjk0Y0sDXlK(g&uQY$~O`!T+E6wdQEZEw+i9fom-wHbAa_!mIX14y87|TKxl=y$Twh;biL}Zx=|SX>V?zWJIo2E$GGG{SRgD&?Jl&Y}=M?+qP}ncGXw5 zZQHhO+qP}n=H0Jz;x$g=-sbuN8L=W~&M~S+#5T=FLmE6{!&DBzXxZKqy?NvLb>i0+ zA&MzZ2-l;hWt`)Wt=#Y@$Fql1ScZfm<}T^3(2{>VFw{ua>>SzB^M$KU9Xiq6Fo3s? z0){y!nvGRu0@jHLgZz?P#+d;Asr~g)Rrmqs5#!kI`KOe9Tka&G^!eX9 zt%}^&z3uR!m&9C2FsHApV@=E9#)TB8loj%pir4&jxWIF_ny9qusnb~Wzs-IDhUT36wnSJ2FrseW|dzDi}j% z+9N*q1bU!e1xE6Y{$myan&tIJXXugs&R&6u>COpxOUMn@M_|R3^ZXbBr^kb_bs-18 zjK`W}$jaj`BH9Xn386$35bcZGOWZwFfLZbP##5@5p>C5x z=ihi?5j;z9Zius?TKREl<$UG|m&RmN-m<>P7H3~?KmS`hTvey2&>-@eSIa|+gvO0< z-3%Q=c_>5dKPSm|+nnA=hJAjrV?ZzuzJ9hnI!=;Sa3Cm@K7Ta~8V!HjVrn(Omw=$!-QOBtO-08Yun##PPGxotJ zd8+J^-x1Ra{8n33wwWxzKT!%ExsQ5e))r^qS3Kt6UFDo5-#x8lR!cR8X)(ZX=Bnj% z#bN?wA-T1giby&yFZVBSdgUBYZA&&p z@mZqq*6#Qz-fj~>tEw3P2mN1Tigs zn?!#zz{tQrNvVTP<)o;v_6A9?`DJvFhgje63!ZkE^wNNL)P zKb+&qDh2L)Yh#S*HTb$6DL=q88vU)!2P-+?S)ab)4Mvrs>K!WoDT|A9A;R2Dd2ROY zGFDc!dYcc@KD_}Q3MLv9F+4(C)#Cu4)qN4&h&Xa`__rL=ZNmeu!qR)Jo7w10%9Z0G zB$CDj`V#?)Y-pFRvOiuMs6(<_;!#4?xe+>+A}zKU1;Cwk-bIy%H$b-8IJFw^GFrYyne19!vPvos zb|=7QvNO_&%E}+uFqS?9TaH7{2PCVQNT9VqAbXTGYC`-7M9z{6nPBmiVw5OF_RgPN zQ*oL$eq2sxEt;C4^&vjN7N^&S!mP9t_OajiJI>KXb%9rFN0Cb8E9?AgG>@=9hw!U- znJ;%>51LcGM_J)K>nF-J+M%FoF?192<)w79Por~5o@SXu;C7EY&8casC4{+DPY+)4 zO0Sf<5A0CKUqaFm0S=-J5Pe1!5Hb}8R9YAyI0QRx-38)bhy1*44Z;t-^z$rEv>jgk zbDSy4EW$SMnKv{z@MI{|Ts1BtG7fgRLzy!}<$%0AOITDDVGX$pTkK;$lG!EpNQi)R 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%0AY*%^b;&=IoUVOI)Uft` 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

k31GBnD}CJ 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

D@ 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 JW__6Ze*hHPvflsz literal 0 HcmV?d00001 diff --git a/doc/pseudo.tex b/doc/pseudo.tex new file mode 100644 index 0000000..d2efba2 --- /dev/null +++ b/doc/pseudo.tex @@ -0,0 +1,3387 @@ +\documentclass[a4paper]{article} + +\usepackage[inline]{enumitem} + +\newlist{inl}{enumerate*}{1} +\setlist[inl]{ + label=\mbox{\rm($\roman*$)}, +} + +\usepackage{tabularx} + +\usepackage{float} +\usepackage[small]{caption} + +\usepackage[citestyle=numeric-comp, + giveninits,doi=false,url=false, + natbib,sortcites,hyperref]{biblatex} + +\usepackage{noindentafter} + +\renewcommand{\subtitlepunct}{\addcolon\addspace} +\renewbibmacro{in:}{} +\bibliography{pseudo} + +% Avoid too much space after code: +\def\paragraph#1{\noindent\textbf{#1}\enskip} + +\let\origbfseries\bfseries +\def\bfseries{\fontseries{b}\selectfont} + +\usepackage{tikz} +\usetikzlibrary{matrix,calc,decorations.pathreplacing,calligraphy} +\tikzset{ + auto/.style={fill=black!12} +} + +\usepackage{old-arrows} +% Keep before hyperref +\RequirePackage[hang,perpage,symbol*,bottom,stable]{footmisc} +\renewcommand{\footnotemargin}{1em} + +\usepackage[pdfusetitle, hidelinks]{hyperref} +\usepackage[xparse, + breakable, + hooks, + listingsutf8, documentation]{tcolorbox} + +\usepackage{pseudo} +\usepackage{url} +\usepackage{amsopn} % For \newmcodes@ example + +\usepackage{mathtools} % For \coloneqq + +\usepackage{amsmath} +\DeclareMathOperator{\MyFunc}{my-func} + +\usepackage{cleveref} + +\usepackage{booktabs} + +% Avoid stretching formulas: +% http://tex.stackexchange.com/questions/104127/ +\thinmuskip=3mu +\medmuskip=4mu +\thickmuskip=5mu + +\makeatletter + +% Copied from http://ctan.uib.no/macros/latex/base/doc.dtx +% Protect when used in moving arguments. +{\catcode`\|=\z@ \catcode`\\=12 |gdef|bslash{\}} + +\ExplSyntaxOn + +\DeclareDocumentCommand \bigpar { } { + \bigskip + \par + \noindent + \@afterindentfalse + \@afterheading +} + +\DeclareDocumentCommand \textb { m } { + {\fontseries{b}\selectfont #1} +} + +\NewDocumentCommand \pkg { o m } { + + \IfNoValueTF { #1 } { + \textsf { #2 } + } { + \href{ #1 }{ \textsf { #2 } } + } + +} + +\NewDocumentCommand \code { s m } { + \tl_set:Nn \l_tmpa_tl { #2 } + \IfBooleanT { #1 } { + \regex_replace_all:nnN + { \s+ }{ \c{textnormal}\cB\{ \0 \cE\} } \l_tmpa_tl + } + \texttt{ \l_tmpa_tl } +} + +\ExplSyntaxOff +\makeatother + +\NewDocumentCommand \bootstrapped { s } {% + This \IfBooleanT{#1}{version of the } command is only available inside the + \refEnv*{pseudo} environment.% +} + +\NewDocumentCommand \shortcutted { m m } {% + If some package defines \cs{#1} before \pkg{pseudo} is loaded, + \pkg{pseudo} will not overwrite it. The command will still be available, + as \cs{#2}.% +} + +\NewDocumentCommand \pseudoshortcutted { m } {% + \shortcutted{#1}{pseudo#1}% + +} + +\NewDocumentCommand \novaluekey { } {% + takes no value% +} + +\NewDocumentCommand \initialkeyvalue { m } {% + no default, initially #1% +} + +\NewDocumentCommand \initiallyempty { } {% + \initialkeyvalue{empty}% +} + +\NewDocumentCommand \fontutil { m } {% + This is a convenience for typesetting #1, and you may freely redefine it + to whatever you prefer.% +} + +\NewDocumentCommand \fontkey { m } {% + Used to set \refc{#1font}, which is used as part of \refc{#1}. May be set + to take a single argument or none. Not restricted to actual font commands; + you may also mix in \cs{textcolor} or the like.% +} + +\NewDocumentCommand \setandused{ m m }{% + The command set by the \refk{#1} option. Used as part of \refc{#2}.% +} + + +\NewDocumentCommand \fontcmd { m } {% + \setandused{#1font}{#1}% +} + +\NewDocumentCommand \bracketing { m m m } {% + Text or commands inserted at the #1 of a #2, when using + \refc{#3}.% +} + +\NewDocumentCommand \leftbracketing { m m } {% + \bracketing{start}{#1}{#2}% +} + +\NewDocumentCommand \rightbracketing { m m } {% + \bracketing{end}{#1}{#2}% +} + +\NewDocumentCommand \seealsostyle { m } {% + See also \refc{#1}. (Note that \cs{pseudo#1} is used internally here.)% +} + +\lstdefinestyle{tcblatex}{language={[LaTeX]TeX}, + columns=fullflexible, + keepspaces=true, + breaklines=true, + breakatwhitespace=true, + basicstyle=\ttfamily\small\color{black!80}, + extendedchars=true, + nolol, + inputencoding=\kvtcb@listingencoding, + literate={\$}{\textcolor{black!65}{\$}}1, +} + +\let\braces\brackets + +\makeatletter +\DeclareTCBListing{texexp}{ !O{} }{ + empty, + arc=0pt, + boxsep=0pt, + overlay unbroken={ + \draw[black!50, xshift=0.5\pgflinewidth, semithick] + ($(frame.north west)+(3pt,0)$) -- + +(-3pt,0) -- (frame.south west) -- +(3pt,0); + \draw[black!50, xshift=-0.5\pgflinewidth, semithick] + ($(frame.north east)+(-3pt,0)$) -- + +(3pt,0) -- (frame.south east) -- +(-3pt,0); + }, + left=1.5em, % \parindent -- but that changes inside doc + text above listing, + before={\par\pagebreak[0]\medskip\parindent=0pt}, + after={\par\medskip\noindent}, + % Because listings messes with the equals sign: + before lower app={ + \pseudoeq + }, + #1 +} +\makeatother + +\def\refc{\refCom*} +\def\refe{\refEnv*} +\def\refk{\refKey*} +\hyphenation{pseudo-code} + +\title{The \textsf{pseudo} Package} +\author{Magnus Lie Hetland} + +\colorlet{dimmed}{black!30} + +\ExplSyntaxOn + +\regex_const:Nn \c_var_regex { + % \A + ([lg]\c{lst@um_}) + (.+) + (\c{lst@um_} + (cs + |clist + |dim + |fp + |int + |muskip + |seq + |skip + |str + |tl + |bool + |box + |coffin + |flag + |fparray + |intarray + |iowr + |iow + |prop + |regex)) + \Z +} +\regex_const:Nn \c_cmd_regex { : [NncVvoxefTFpw]* \Z } +\regex_const:Nn \c_pre_regex { @@\c{lst@um_} } + +% Cf. https://tex.stackexchange.com/questions/402135 +\NewDocumentCommand \DimmedAts { } { + + \tl_set:No \l_tmpa_tl {\the\use:c{lst@token}} + + \regex_replace_all:NnN + \c_var_regex + { \c{textcolor}\cB{ dimmed \cE}\cB{ \1 \cE} + \2 + \c{textcolor}\cB{ dimmed \cE}\cB{ \3 \cE} + } \l_tmpa_tl + + \regex_replace_all:NnN + \c_pre_regex + { \c{textcolor}\cB{ dimmed \cE}\cB{ \0 \cE} } \l_tmpa_tl + + \regex_replace_all:NnN + \c_cmd_regex + { \c{textcolor}\cB{ dimmed \cE}\cB{ \0 \cE} } \l_tmpa_tl + + \tl_use:N \l_tmpa_tl + \use_none:n + +} + +\NewDocumentCommand \Abstract { } { + + \begin{abstract} + + \ior_open:Nn \g_tmpa_ior {README.md} + + \tl_gclear:N \g_tmpa_tl + + \ior_map_inline:Nn \g_tmpa_ior { + + \tl_gput_right:Nn \g_tmpa_tl { ##1 } + + } + + \regex_replace_all:nnN + { \# .* \n } + { } \g_tmpa_tl + + \regex_replace_all:nnN + { \n } + { XYZZY } \g_tmpa_tl + + \regex_replace_all:nnN + {\*\* ( \w+ ) \*\*} + { \c{pkg} \cB{ \1 \cE} } \g_tmpa_tl + + \regex_replace_all:nnN + {` ( \w+ ) `} + { \c{code} \cB{ \1 \cE} } \g_tmpa_tl + + \noindent + \tl_use:N \g_tmpa_tl + + \ior_close:N \g_tmpa_ior + + \end{abstract} + +} + +\ExplSyntaxOff + +\makeatletter +\DeclareTCBListing{source}{ !O{} }{ + empty, + breakable, + listing only, + arc=0pt, + boxsep=0pt, + left=\parindent, + before={\par\medskip\parindent=0pt}, + after={\mbox{}\\\def\if@endpe{% + \@doendpe + \let\par\@@par + \iffalse}}, + #1 +} +\makeatother + +\begin{document} +\maketitle + +\Abstract + +\section{Introduction} + +The \pkg{pseudo} package lets you typeset pseudocode in a straightforward and +not all too opinionated manner. You don't need to use separate commands for +different constructs; the indentation level is controlled in a manner similar +to in a \code{tabbing} environment: + +{ +\pseudoset{kw} +\begin{texexp} +\begin{pseudo} + while $a \neq b$ \\+ + if $a > b$ \\+ + $a = a - b$ \\- + else $b = b - a$ \\- + return $a$ +\end{pseudo} +\end{texexp} +}% +% +If you prefer having \kw{end} at the end of blocks, or you'd rather wrap them +in C-style braces, you just put those in. Fonts, numbering, indentation +levels, etc., may be configured. You import \pkg{pseudo} with: +\begin{center} +\code{\cs{usepackage}[\meta{options}]\braces{pseudo}} +\end{center} +The only option usable here at the moment is \refk{kw} (used in the example +above), as the \cs{usepackage} command is a bit too eager in expanding its +arguments, but there are several options that may be provided to the +\refc{pseudoset} command, to configure things (see \cref{sec:cmdandkeyref}). + +\subsection*{Alternatives} + +There are many ways of typesetting code and pseudocode in \LaTeX, so if you're +unhappy with \pkg{pseudo}, you have several alternatives to choose from. I +wrote \pkg{pseudo} based on my needs and preferences, but yours may differ, of +course. For example, I've built on tabular layouts to get +\begin{inl} +\item automatic width calculations; +\item line/row highlighting; and +\item easy embedding in \pkg[https://ctan.org/pkg/pgf]{tikz} nodes and the +like. +\end{inl} +I have also set things up inspired by existing mechanisms for numbering and +indenting lines, and treat the pseudocode as a form of text, rather than as a +form of markup in itself. The latter point means that I don't have separate +commands for conditionals, loops, etc. + +The basic style of pseudocode is inspired by the standard reference +\emph{Introduction to Algorithms} by \citet{Cormen:2009} (i.e., similar to +that of \pkg[https://ctan.org/pkg/newalg]{newalg}, +\pkg[https://ctan.org/tex-archive/macros/latex/contrib/clrscode]{clrscode} and +\pkg[https://ctan.org/pkg/clrscode3e]{clrscode3e}). +% +Rather than locking down all aspects of pseudocode appearance, however, I've +tried to make \pkg{pseudo} highly configurable, but if it's not flexible +enough, or just not to your liking, you might want to have a look at the +following packages: + +\begin{quote} + \pkg[https://ctan.org/tex-archive/macros/latex/contrib/alg]{alg}, + \pkg[https://ctan.org/pkg/algobox]{algobox}, + \pkg[https://ctan.org/pkg/algorithm2e]{algorithm2e}, + \pkg[https://ctan.org/pkg/algorithmicx]{algorithmicx}, + \pkg[https://ctan.org/pkg/algorithms]{algorithms}, + \pkg[https://ctan.org/tex-archive/macros/latex/contrib/clrscode]{clrscode}, + \pkg[https://ctan.org/pkg/clrscode3e]{clrscode3e}, + \pkg[https://github.com/esneider/latex-pseudocode]{latex-pseudocode}, + \pkg[https://ctan.org/pkg/newalg]{newalg}, + \pkg[https://ctan.org/tex-archive/macros/latex/contrib/program]{program}, + \pkg[https://ctan.org/tex-archive/macros/latex/contrib/pseudocode]{pseudocode} +\end{quote} + +\noindent +There are also code-typesetting packages like +\pkg[https://ctan.org/tex-archive/macros/latex/contrib/listings]{listings} and +\pkg[https://ctan.org/pkg/minted]{minted}, of course. + +\section{Overview} + +The main component of the \pkg{pseudo} package is the \refe{pseudo} +environment, which is, in a sense, a hybrid of \code{enumerate}, +\code{tabular} and \code{tabbing}, in that it provides numbered lines, each +placed in a tabular row (for ease of highlighting and automatic column width +calculation), with functionality for increasing and decreasing indentation +similar to the \code{tabbing} commands \cs{+} and \cs{-} (in \pkg{pseudo}, +combined with the row separator \refc{\bslash}). Here, for example, is +Euclid's algorithm for finding the gcd of $a$ and $b$: + +\begin{texexp} +\begin{pseudo} +repeat the following while $a\neq b$ \\+ + if $a > b$, let $a = a - b$ \\ + otherwise, let $b = b - a$ +\end{pseudo} +\end{texexp} + +\noindent +There are also some styling commands for special elements of the pseudocode: + +\begin{texexp} +\kw{while}, % or \pseudokw -- keywords +\cn{false}, % or \pseudocn -- constants +\id{rank}, % or \pseudoid -- identifiers +\st{Hello!}, % or \pseudost -- strings +\pr{Euclid}(a, b), % or \pseudopr -- procedures +\fn{length}(A), % or \pseudofn -- functions +\ct{Important!} % or \pseudoct -- comments +\end{texexp} +% +The longer names (\cs{pseudokw}, \cs{pseudocn}, etc.)\@ are always available; +the more convenient short forms (\refc{kw}, \refc{cn}, etc.)\@ are prone to +name collisions, and are only defined if the names are not already in use when +\pkg{pseudo} is imported. + +The \refk{indent-length} option, which determines the length of each +indentation step, is initially set via the secondary \refk{indent-text} key, +so that the any code after \code{\cs{kw}\braces{else}} aligns with the +indented text (a stylistic choice from +\pkg[https://ctan.org/pkg/clrscode3e]{clrscode3e}): +\begin{texexp} +\begin{pseudo} +\kw{if} $x < y$ \\+ + $x = x + 1$ \\- +\kw{else} $x = x - 1$ +\end{pseudo} +\end{texexp} +% +If you want, you can certainly create shortcuts, e.g., +\verb|\def\While{\kw{while}}|, or using various declaration commands, such as +\refc{DeclarePseudoKeyword} or \refc{DeclarePseudoConstant}. Procedures and +functions capture parenthesized arguments and set them in math mode; this +carries over in such shortcuts, so if you define \verb|\Euclid| to mean +\verb|\pr{Euclid}|, then \code*{\cs{Euclid}(a, b)} yields \pr{Euclid}(a,b). + +These commands are not used in the internals of the package, so they may be +freely redefined for different styling, such as \verb|\let\id\textsf|. They +generally do some extra work, though, such as wrapping the styled text in +\cs{textnormal} to avoid having the styles blend, adding quotes (\cs{st}) and +handling parenthesized arguments (\cs{pr}). To let you hook into their +appearance without messing with their definitions, each command has a +corresponding font command (\cs{kwfont}, \cs{cnfont}, \cs{idfont}, etc.), +which you may redefine. These fonts may even be set using correspondingly +named options, either with \refc{pseudoset} or via optional keyword arguments +to the \refe{pseudo} environment:\footnote{Because of \LaTeX\ expansion +behavior, they can \emph{not} be set globally when importing \pkg{pseudo}.} +\begin{texexp} +\pseudoset{prfont=\textsf} +Euclid's algorithm is initiated with the call \pr{Euclid}(a, b). +\end{texexp} +\noindent +You can also configure the quotes and comment markers: +\begin{texexp} +\pseudoset{ + st-left=`, st-right=', stfont=\textit, + ct-left=\texttt{/\!/}\,, ct-right=, ctfont= +} +\begin{pseudo} +\kw{print} \st{Hello, world!} \quad \ct{Greeting} +\end{pseudo} +\end{texexp} +% +Note that \cs{stfont} and friends may either be font-switching commands like +\cs{itshape} or formatting commands like \cs{textit}, though the latter are +generally preferable when available. They need not be restricted to actual +fonts, but may include color commands, for example. + +You can also set the font for the entire code lines, using the \refk{font} +option. The command you provide there should just switch the font (i.e., not +take an argument to typeset); initially, \cs{kwfont} is such a command: + +\begin{texexp} +\begin{pseudo}[font=\kwfont] +while $a \neq b$ \\+ + if $a > b$ \\+ + $a = a - b$ \\- + else $b = b - a$ +\end{pseudo} +\end{texexp} + +\noindent +Though not the default, this is in fact an intended configuration, to reduce +the markup noise for pseudocode that consists primarily of keywords and +mathematics. The setting \code*{\refk{font} = \refc{kwfont}} is also available +by using the \refk{kw} option (with no arguments), e.g., by importing the +package with \verb|\usepackage[kw]{pseudo}|. If you need to typeset normal +text in your pseudocode after using \refk{font}, you can use \cs{textnormal} +or \cs{normalfont}, for which \pkg{pseudo} defines aliases \refc{tn} and +\refc{nf}: + +\begin{texexp} +\begin{pseudo}[kw] +for \tn{each node} $v\in V$ \\+ + \tn{do something} \\- +for \nf each edge $e \in E$ \\+ + \nf do something else +\end{pseudo} +\end{texexp} + +\noindent +The row separator may have multiple pluses or (more commonly) multiple minuses +appended, indicating multiple increments or decrements to the indentation +level: + +\begin{texexp} +\begin{pseudo}[kw] +for $k = 1$ to $n$ \\+ +for $i = 1$ to $n$ \\+ +for $j = 1$ to $n$ \\+ +$t_{ij} = t_{ij} \lor (t_{ik} \land t_{kj})$ \\--- +return $t$ +\end{pseudo} +\end{texexp} +% +The code is normally typeset in a two-column \code{tabular} (whose preamble, +and thus number of columns, is configurable via the option \refk{preamble}), +but the first column is handled by an automatic \refk{prefix} inserted before +each line, containing the numbering and column separator (\code{\&}). You +disable the prefix for the following line by using \code{\refc{\bslash}*}: + +\begin{texexp} +\begin{pseudo} + this line has an automatic prefix \\+* +& this line does not \\+ + but this one does +\end{pseudo} +\end{texexp} + +\noindent +This star also works after \code{\cs{begin}\braces{pseudo}}. Note that in +order to prevent your code from ending up in the numbering column, you must +insert a column separator manually. A version of the \refc{pr} command, called +\refc{hd} (or \cs{pseudohd}, where \refc{hd} stands for \emph{header}) instead +wraps a procedure call in a \code{multicolumn}, so it can be used, for +example, as an unnumbered header line: + +\begin{texexp} +\begin{pseudo}[kw]* +\hd{Euclid}(a, b) \\ +if $b \== 0$ \\+ + return $a$ \\- + else return \pr{Euclid}(b, a \bmod b) +\end{pseudo} +\end{texexp} + +\noindent +As can be seen in this example, \cs{==} (or \refc{eqs}) is a notational +convenience defined by \pkg{pseudo}, along with interval dots \cs{..}\@ (or +\refc{dts}). Other special symbols may be found in other packages. For +example, if you want to use $\coloneqq$ for assignment, you can use +\cs{coloneqq} from \pkg[https://ctan.org/pkg/mathtools]{mathtools} (perhaps +with \verb|\let\gets\coloneqq|).\footnote{Tip: If you want to use a left-arrow +for assignment, but think it's a bit large in Computer Modern or Latin +Modern, you can use the +\pkg[https://ctan.org/tex-archive/fonts/old-arrows]{old-arrows} package, +so \code*{x \cs{gets} y} yields $x\gets y$.} + +As can be seen, one use of \code{\refc{\bslash}*} is to get an unnumbered +line, but you could also insert custom material in the first column. +% +The lines are numbered by the counter \code{pseudoline}, so you could, for +example, do: + +\begin{texexp} +\begin{pseudo}* +\stepcounter{pseudoline}\Alph{pseudoline} & Look! \\* +\stepcounter{pseudoline}\Alph{pseudoline} & We're using letters! +\end{pseudo} +\end{texexp} + +\noindent +This is a bit cumbersome, so there are some shortcuts. First of all, rather +than replacing the entire \refk{prefix}, you can replace only a \emph{part} of +it, namely the \refk{label}, retaining counter increments and column +separators. You can set this key for each line individually with an optional +argument to the row separator, i.e., +\code*{\refc{\bslash}[\refk{label} = \meta{commands}]}, or at some higher +level. Within the \refe{pseudo} environment, there is also a counter named +\code{*} that is simply a local clone of \code{pseudoline}, letting you use +starred versions of counter commands, similarly to how label definitions work +in \pkg[https://ctan.org/pkg/enumitem]{enumitem}:\footnote{Also like in +\pkg[https://ctan.org/pkg/enumitem]{enumitem}, there's a \refk{start} key for +setting the first line number.} + +\begin{texexp} +\pseudoset{label=\small\arabic*:} +\begin{pseudo} +Look! \\ +We're using something custom! \label{custom-line} +\end{pseudo} +\end{texexp} + +\noindent +Note that if I refer to the labeled line with \cs{ref}, I'll just end up with +\ref{custom-line}, which is probably what I'd want in this case. If you want a +custom reference format as well, you can set that with the \refk{ref} key, in +the same way as with \refk{label}. If you use the key without arguments, it'll +use the same format as the one provided to \refk{label}: + +\begin{texexp} +\pseudoset{label=(\textit{\roman*}), label-align=l, ref} +\begin{pseudo} +Look! \\ +We're using Roman numerals! \label{roman-line} \\ +And here's a reference to line \ref{roman-line}. +\end{pseudo} +\end{texexp} +% +The \refk{label-align} key sets the alignment of the label column, and can be +\code{l}, \code{r} or \code{c} (or really any other column type compatible +with the \pkg[https://ctan.org/pkg/array]{array} package; you could use a +\code{p\braces{\dots}} column to get fixed width, for example). + +Highlighting can also be done in a similar manner, by, e.g., inserting a +\cs{rowcolor} at the start of the first column. Rather than doing this +manually, you could use the \refk{bol} key, which inserts a command at the +beginning of the line---or the \refk{hl} key, which is equivalent to +\code*{\refk{bol-prepend} = \refc{pseudohl}}: + +\begin{texexp} +\begin{pseudo*} +I'm not highlighted \\[hl] +But I am! +\end{pseudo*} +\end{texexp} +% +Initially, the \refc{pseudohl} command that is inserted is simply a +\cs{rowcolor} that uses \refk{hl-color}, but you're free to redefine this +command to whatever you'd like. + +In the previous example, there is no spacing to the sides of the table +contents. This is normally what you'd want, for example, to keep the +pseudocode aligned with the surrounding text. However, when using row +highlighting (e.g., because you are stepping through the code in some +presentation), that alignment may be less of an issue---and you'd rather widen +the highlight a bit. The horizontal padding on each side is controlled by the +\refk{hpad} key. You can either specify a length, or just turn on the default, +by not supplying an argument. There's a similar option, \refk{hsep}, which +controls the separation between the two columns. + +\begin{texexp} +\begin{pseudo}[hpad, hsep=1em, indent-length=1em] + let's \\+ + use \\- + some \\+ [hl] + padding! +\end{pseudo} +\end{texexp} + +\noindent\label{p:overlays}% +For ease of use with \pkg[https://ctan.org/pkg/beamer]{beamer}, the various +\pkg{pseudo} options support \pkg[https://ctan.org/pkg/beamer]{beamer} overlay +specifications. For example, using \code{\refk{hl}<1>} means that the +\refk{hl} specification would only take effect on slide~1. If you use such an +overlay specification on a key when \emph{not} using beamer, the key is simply +ignored. + +What is more, the row separator \emph{itself} takes an overlay specification +as a shortcut for the one on \refk{hl}, so \code{\refc{\bslash}<1,2-4>} is +equivalent to \code{\refc{\bslash}[\refk{hl}<1,2-4>]}. Just like with the +optional arguments, space before the overlay specification is ignored, so +you're free to put the specification in front of the line in question: + +\medskip + +\noindent +\includegraphics[page=1]{hilitefig}\hfill +\includegraphics[page=2]{hilitefig}\hfill +\includegraphics[page=3]{hilitefig}\hfill +\includegraphics[page=4]{hilitefig} + +\medskip + +% ! Copied from Beamer file +\begin{texexp}[listing only] +% In a beamer presentation +\begin{pseudo} + <1> Go to line 3 \\ + <3> Go to line 4 \\ + <2> Go to line 2 \\ + <4> Go to line 1 \\ +\end{pseudo} +\end{texexp} +% +You might have expected these overlay specifications to indicate +\emph{visibility}, as they do for the \cs{item} command in \cs{enumerate}, for +example. However, in stepwise animations, highlighting patterns (showing which +line is currently executed, for example) tend to be more complex than, say, a +gradual uncovering---and therefore in greater need of abbreviation. + +\label{p:pause}% +To control visibility, you could, for example, add \cs{pause} at the end of +each line, before the row separator. You can also do this using the \refk{eol} +key, either per line or at the top level, with \code*{\refk{eol} = +\cs{pause}}. There is even the shortcut key \refk{pause} for this specific +purpose (equivalent to \code*{\refk{eol-append} = \cs{pause}}): + +\medskip + +\noindent +\includegraphics[page=1]{pausefig}\hfill +\includegraphics[page=2]{pausefig}\hfill +\includegraphics[page=3]{pausefig}\hfill +\includegraphics[page=4]{pausefig} + +\medskip +% ! Copied from Beamer file +\begin{texexp}[listing only] +% In a beamer presentation +\setbeamercovered{transparent} +\begin{pseudo}[pause] + Eeny \\ + Meeny \\ + Miny \\ + Moe \\ +\end{pseudo} +\end{texexp} +% +The \refk{eol} value is only inserted wherever \refc{\bslash} starts a new +line (i.e., not at the end of the environment), so in this case only three +\cs{pause} commands are inserted. + +The previously discussed configuration keys are described in more detail in +\cref{sec:reference}. You can create your own presets or \emph{styles} using +\refc{pseudodefinestyle}. This command takes two arguments; the first is the +name of a key, and the second is a key--value list, as you would have supplied +it to \refc{pseudoset}. This is exactly how the \refk{starred} style is +defined (see~\cpageref{p:starred}), clearing the prefix and reducing the +preamble to a single column. This style is what's used in the starred, +unnumbered version of the \refe{pseudo} environment: +{ +\pseudoset{kw} +\begin{texexp} +\begin{pseudo*} + while $a \neq b$ \\+ + if $a > b$ \\+ + $a = a - b$ \\- + else $b = b - a$ \\- + return $a$ +\end{pseudo*} +\end{texexp} +} + +\section{Reference} +\label{sec:reference} + +This section gives an overview of all the moving parts of the package. A +\emph{default} value is one used implicitly if the key is specified with no +explicit value given, while an \emph{initial} value is one provided to the key +at the point where \pkg{pseudo} is imported. Several commands (such as, e.g., +\refc{pseudoprefix}) may be modified using corresponding keys (e.g., +\refk{prefix}). When the behavior of such commands is described, the +description references their initial behavior. + +\subsection{Line structure} +\label{sec:linestructure} + +Each line of a \refe{pseudo} environment is (initially) structured as follows: + +\smallskip +\begin{center} +\begin{tikzpicture} + \matrix (line) [ + matrix of nodes, + % Hard-coding, or it would use semithick, rather than very thin: + inner sep=-.1pt, + row sep=-.2pt, + column sep=-.2pt, + nodes={ + inner xsep=.5em, + inner ysep=2pt, + rectangle, + draw, + very thin, + minimum width=3em, + minimum height=24pt, + text depth=.5ex, + text height=2ex, + nodes in empty cells, + }, + ] + { + + \refk{bol} + & step + & \refk{label} + & \verb|&| + & |[auto]| save + & |[auto]| ind. + & |[auto]| \refk{font} + & body + & \refk{eol} + & \verb|\\| + \\ + }; + + \draw[semithick, decorate, decoration={calligraphic brace,mirror}] + ($(line-1-1.south west)+(1pt,-4pt)$) + -- + node[inner sep=0, midway, below=5pt] (prefix) {\refk{prefix}} + ($(line-1-4.south east)+(-1pt,-4pt)$) + ; + + \draw[semithick, decorate, decoration={calligraphic brace,mirror}] + ($(line-1-5.south west)+(1pt,-4pt)$) + -- + node[inner sep=0, midway, below=5pt] (setup) {\refk{setup}} + ($(line-1-7.south east)+(-1pt,-4pt)$) + ; + + \draw[overlay] (prefix.south) node[font=\footnotesize, below] {\strut Inserted by + \refc{\bslash} (not + \code{\refc{\bslash}*})}; + \draw (setup.south) node[font=\footnotesize, below] {\strut Part of preamble}; + + \draw[semithick] (line-1-9.south) + (0,-4pt) + -- (line-1-9.south |- setup.south) node[font=\footnotesize, below] + {\strut Inserted by \refc{\bslash} (not last)}; + + \draw[semithick] (line.south west) rectangle (line.north east); +\end{tikzpicture} +\end{center} + +\noindent +The components in the \refk{prefix} are populated by the \refc{\bslash} +command (or the beginning of the environment), the ones in the \refk{setup} by +the \refk{preamble}, and the actual body is supplied by the user, inside the +environment, terminated by the row separator \refc{\bslash} (which then goes +on to populate the next row, and so on). The \refk{eol} part is also inserted +by \refc{\bslash}, except if it's used after the last line (where it doesn't +really do anything).\footnote{Thus, \refk{eol} acts more as a line +\emph{separator} than a line \emph{terminator}.} The following describes the +default behavior, which can be modified substantially by setting the +appropriate options (e.g., \refk{prefix} and \refk{setup}). + +\begin{description}[style=sameline, font=\normalfont] + \item[\refk{bol}] This field is inserted by \refc{\bslash} (and + \code{\cs{begin}\braces{\refe{pseudo}}}) at the beginning of the + following line, using the \refc{pseudobol} command. Because it's a the + very beginning of the tabular row, it may be used for things like + \cs{rowcolor} when highlighting lines (as with the \refk{hl} key). + \item[step] This refers to a call to \cs{stepcounter*} (where \refk{*} is + an alias for \refk{pseudoline}), getting the counter ready for the + label itself. Note that this does \emph{not} use \cs{refstepcounter}, + so at this point the counter has not been saved yet (and so you should + not use \cs{label} to refer to it at this point). + \item[\refk{label}] + This is where the numbering label is inserted, using + \refc{pseudolabel}; initially, this inserts + \code{\cs{arabic}\refk{*}}. + \item[\code{\&}] At the end of the prefix is the column separator, closing + the label column and beginning the code line column. + \item[save] Now that we're in the column where the user will normally + insert text and code, we save \refk{pseudoline} so it may be used with + \cs{label} and \cs{ref}, etc. This is done using + \refc{pseudosavelabel}, which first \emph{decrements} the counter (to + undo the increment before the label) and then calls + \cs{refstepcounter}. + \item[ind.] Inserts the appropriate amount of indentation (with an indent + step length set by \refk{indent-length} or \refk{indent-text} and the + indentation level set by \code{+}/\code{-} flags or + \refk{indent-level}), using \refc{pseudoindent}. + \item[\refk{font}] Inserts the base font, using \refc{pseudofont}. + \item[body] This is where the manually written body of the code line + appears. + \item[\refk{eol}] Inserted by the terminating \refc{\bslash} (using + \refc{pseudoeol}), unless we're at the end of the environment. Useful, + e.g., for taking actions such as a + \pkg[https://ctan.org/pkg/beamer]{beamer} \cs{pause} (cf., + \refk{pause}) between the lines.\footnote{If the same action must be + taken after the last line, you can simply insert it there + manually.} + \item[\refc{\bslash}] The row/line separator. Ends one line (inserting + \refk{eol}) and begins another (inserting \refk{prefix}). As in + tabulars in general, this command is also permitted after the final + line of the environment, but there it does no real work (i.e., it does + not insert \refk{eol} and does not start a new line). +\end{description} + +\subsection{Command and key reference} +\label{sec:cmdandkeyref} + +In addition to descriptions of the various commands and options/keys (in +alphabetical order), you'll find definitions of a couple of counters here +(\refk{*} and \refk{pseudoline}). + +% Not really a key, of course -- a counter +\begin{docKey}{*}{}{} + This counter is a duplicate of \refk{pseudoline}, available inside + \refe{pseudo}. It makes it possible to simplify calls such as + \code{\cs{arabic}\braces{\refk{pseudoline}}} to starred forms such as + \cs{arabic*}, like in \pkg[https://ctan.org/pkg/enumitem]{enumitem}. These + short forms are available (and intended) for use in \refk{label} and + \refk{ref}. +\end{docKey} + +\begin{docCommand}{..}{} + This is a shortcut that hijacks the normal \cs{.}\@ accent command, so + that if it is called with \code{.}\@ as an argument, the result is + \cs{dts}. In other words, the command \cs{..}\@ is really the call + \code{\cs{.}\braces{.}}. For any other arguments, the original \cs{.}\@ is + used, so while \code{\$1\cs{..}n\$} produces $1\..n$, \code{\cs{.}o} still + yields~\.o. +\end{docCommand} + +\begin{docCommand}{==}{} + This is a shortcut that hijacks the normal \cs{=} accent command, so that + if it is called with \code{=} as an argument, the result is \cs{eqs}. In + other words, the command \cs{==} is really the call + \code{\cs{=}\braces{=}}. For any other arguments, the original \cs{=} is + used, so while \code{\$x\cs{==}y\$} produces $x\==y$, \code{\cs{=}o} still + yields \=o. + + In some contexts, this may not work because \cs{=} has reverted to its + original meaning (as is currently the case if you try to use it within a + custom float, as in \cref{sec:floats}, or a standard one such as + \code{figure}). In this case, you can restore the \pkg{pseudo} meaning + (and the \refc{==} shortcut) by using \refc{pseudoeq}. In some cases, you + may want to just use \refc{eqs} instead. +\end{docCommand} + +\begin{docCommand}{\protect\bslash}{\,\colOpt{+}% + \,\colOpt{-}% + \,\colOpt{*}\,% + \colOpt{<\meta{overlay specification}>}\,\oarg{line options}} + + \parindent1.5em + \noindent + This row separator is the workhorse of the \pkg{pseudo} package. Just as + in a \code{tabular} environment, it signals the end of a line. It is + optional after the list line, where it doesn't do any work. +% + The command may be followed by a series of one or more plus (\code{+}) + signs, each of which will increment the indentation level before starting + a new line; similarly, it may be followed by one or more minus (\code{-}) + signs, each of which will decrement the indentation level. +% + Normally, the command will insert a \refk{prefix} at the beginning of the + new line; if the star (\code{*}) flag is used, this prefix is not + inserted. + + The optional overlay specifications refer to the \refk{hl} key, so + \code{\refc{\bslash}<3>} is equivalent to \code{\refc{\bslash}[hl<3>]}. + This applies to the following line, as do other options set explicitly as + optional arguments. Note that options are set locally, \emph{before} the + new line (and a new scope) is started, so unless they are handled + specifically (in order to carry over), they will have no effect. Thus, + even though all options are available here, not all make sense. (Consult + individual option keys for intended use.) + + The pluses and minuses are conceptually part of the command name, and + there should be no whitespace before the + star (\code{*}). + % + You are, however, free to insert whitespace before the overlay + specification and the line options. This means that you may, for example, + place the overlay specification at the beginning of the following line in + the source. +\end{docCommand} + +\begin{docCommand}{arabic*}{} + See \refk{*}. +\end{docCommand} + +\begin{docKey}{begin-tabular}{\,=\,\meta{commands}}{no default} + The actual command for beginning the \code{tabular} or \code{tabular}-like + environment used by \refe{pseudo}. Normally not needed, as the + \code{tabular} behavior may be modified by other keys, but could be used + to use some other tabular environment, e.g., from packages such as + \pkg[https://ctan.org/pkg/tabularx]{tabularx} or + \pkg[https://ctan.org/pkg/longtable]{longtable}. +\end{docKey} + +\begin{docKey}{bol}{\,=\,\meta{commands}}{\initiallyempty} + Used to set \refc{pseudobol}, which is inserted at the beginning of each + line. See also \refk{bol-append} and \refk{bol-prepend}. +\end{docKey} + +\begin{docKey}{bol-append}{\,=\,\meta{commands}}{no default} + Locally appends \meta{commands} to \refk{bol}. +\end{docKey} + +\begin{docKey}{bol-prepend}{\,=\,\meta{commands}}{no default} + Similar to \refk{bol-append}, except that \meta{commands} are added to + the \emph{beginning} of \refk{bol}. +\end{docKey} + +\begin{docCommand}{cn}{\marg{name}} + + Indicates a constant (such as \cn{true} or \cn{nil}). First wraps the + argument in \cs{textnormal} and then uses \refc{cnfont}. See also + \refc{DeclarePseudoConstant}. + \fontutil{constants} + \pseudoshortcutted{cn} + +\end{docCommand} + +\begin{docKey}{cnfont}{\,=\,\meta{command}}{\initialkeyvalue{\cs{textsc}}} + \fontkey{cn} +\end{docKey} +\begin{docCommand}{cnfont}{} + \fontcmd{cn} +\end{docCommand} + +\begin{docCommand}{ct}{\marg{text}} + Indicates that \meta{text} is a comment, \ct{typeset like this}. You can + customize the comment appearance using \refk{ctfont}, \refk{ct-left} and + \refk{ct-right}: + +\begin{texexp} +\pseudoset{ + ctfont=\color{black!75}, + ct-left=\unskip\qquad\texttt{/* }, + ct-right=\texttt{ */} +} +\begin{pseudo} + $y=1$ \\ + $x=2$ \ct{this is a comment} \\ + $z=345$ \ct{this is another comment} +\end{pseudo} +\end{texexp} + + An alternative to using \refc{ct} is to simply set comments in a separate + column, as demonstrated in \cref{sec:tabularx}. Or even without a separate + column, if you use a \code{tabularx} as described there, and set the + tabular width explicitly, you could insert an \cs{hfill} into + \refk{ct-right} and get all end-markers aligned at the right-hand side: + + \medskip\noindent + + \begin{pseudo}[ + begin-tabular=\tabularx{\linewidth}{@{}r>{\pseudosetup}X@{}}, + end-tabular=\endtabularx, + ctfont=\color{black!75}, + ct-left=\unskip\qquad\texttt{/* }, + ct-right=\hfill\texttt{ */} + ] + $x=1$ \\ + $y=2$ \ct{this is a comment} \\ + $z=345$ \ct{this is another comment} + \end{pseudo} + + \medskip\noindent + + Or if you'd rather have the comments right-aligned (like you can in, e.g., + \pkg[https://ctan.org/pkg/algorithm2e]{algorithm2e}), you could use + insert the \cs{hfill} at the beginning of the \refk{ct-left}: + + \medskip\noindent + + \begin{pseudo}[ + begin-tabular=\tabularx{\linewidth}{@{}r>{\pseudosetup}X@{}}, + end-tabular=\endtabularx, + ctfont=\color{black!75}, + ct-left=\hfill\texttt{/* }, + ct-right=\texttt{ */} + ] + $x=1$ \\ + $y=2$ \ct{this is a comment} \\ + $z=345$ \ct{this is another comment} + \end{pseudo} +\end{docCommand} + +\begin{docKey}{ct-left}{\,=\,\meta{text}}{\initialkeyvalue{\code{(}}} + \leftbracketing{comment}{ct} +\end{docKey} +\begin{docKey}{ct-right}{\,=\,\meta{text}}{\initialkeyvalue{\code{)}}} + \rightbracketing{comment}{ct} +\end{docKey} +\begin{docKey}{ctfont}{}{\initialkeyvalue{\cs{textit}}} + The font of the main text of a comment, when using \refc{ct}. +\end{docKey} +\begin{docCommand}{ctfont}{} + \fontcmd{ct} +\end{docCommand} + +\begin{docCommand}{DeclarePseudoComment}{\marg{shortcut}\marg{comment}} + Used to declare a macro that expands to a comment. For example: +\begin{texexp} +\DeclarePseudoComment \Imp {Important!} +$x = y$ \qquad \Imp +\end{texexp} + \seealsostyle{ct} +\end{docCommand} + +\begin{docCommand}{DeclarePseudoConstant}{\marg{shortcut}\marg{constant}} + Used to declare a macro that expands to a constant. For example: +\begin{texexp} +\DeclarePseudoConstant \False {false} +\False +\end{texexp} + \seealsostyle{cn} +\end{docCommand} + +\begin{docCommand}{DeclarePseudoFunction}{\marg{shortcut}\marg{function}} + Used to declare a macro that expands to a function. For example: +\begin{texexp} +\DeclarePseudoFunction \Ln {length} +\Ln(A) or \Ln[A] +\end{texexp} + \seealsostyle{fn} +\end{docCommand} + +\begin{docCommand}{DeclarePseudoIdentifier}{\marg{shortcut}\marg{identifier}} + Used to declare a macro that expands to a identifier. For example: +\begin{texexp} +\DeclarePseudoIdentifier \Rank {rank} +\Rank +\end{texexp} + \seealsostyle{id} +\end{docCommand} + +\begin{docCommand}{DeclarePseudoKeyword}{\marg{shortcut}\marg{keyword}} + Used to declare a macro that expands to a keyword. For example: +\begin{texexp} +\DeclarePseudoKeyword \While {while} +\While +\end{texexp} + \seealsostyle{kw} +\end{docCommand} + +\begin{docCommand}{DeclarePseudoNormal}{\marg{shortcut}\marg{text}} + Used to declare a macro that expands to normal text. For example: +\begin{texexp} +\DeclarePseudoNormal \Error {halt with an error message} +\begin{pseudo*}[kw] + if $x \== \cn{nil}$ \\+ + \Error +\end{pseudo*} +\end{texexp} + \seealsostyle{tn} +\end{docCommand} + +\begin{docCommand}{DeclarePseudoProcedure}{\marg{shortcut}\marg{procedure}} + Used to declare a macro that expands to a procedure. For example: +\begin{texexp} +\DeclarePseudoProcedure \Euclid {Euclid} +\Euclid(a, b) +\end{texexp} + \seealsostyle{pr} +\end{docCommand} + +\begin{docCommand}{DeclarePseudoString}{\marg{shortcut}\marg{string}} + Used to declare a macro that expands to a string. For example: +\begin{texexp} +\DeclarePseudoString \Hello {Hello!} +\Hello +\end{texexp} + \seealsostyle{st} +\end{docCommand} + +\begin{docKey}{dim}{}{} + Dims the following line. Equivalent to: +\begin{texexp}[listing only] +\pseudodefinestyle{dim}{ + bol-append = \color{\pseudohlcolor}, + setup-append = \color{\pseudohlcolor} +} +\end{texexp} +May be used to dim out inactive or currently less relevant lines (possibly +using overlays; see~\cpageref{p:overlays}). +\begin{texexp} +\begin{pseudo}[kw]* +\hd{Gnome-Sort}(A) \\ +[dim] $i = 1$ \\ +[dim] while $i \leq \fn{length}[A]$ \\+ + if $i \== 1$ or $A[i] \geq A[i-1]$ \\+ + $i = i + 1$ \\- +[dim] else \nf swap $A[i]$ and $A[i-1]$ \\+ +[dim] $i = i - 1$ +\end{pseudo} +\end{texexp} +See also \refk{bol-append}, \refk{setup-append} and \refk{dim-color}. +\end{docKey} + +\begin{docKey}{dim-color}{\,=\,\meta{color}}{no default, initially + \cs{pseudohlcolor}} + Sets the color used by \refk{dim} (available as \cs{pseudodimcolor}). The + initial value is the one set by \refk{hl-color}. +\end{docKey} + +% Wirth notation, Pascal +% https://proofwiki.org/wiki/Definition:Real_Interval/Notation/Wirth +% https://en.wikipedia.org/wiki/Ellipsis_(computer_programming) +\begin{docCommand}{dts}{} % The name in Concrete Mathematics + A two-dot ellipsis, for use in the Wirth interval notation $1\..n$, + typeset as \citeauthor{Graham:1994} did in + \citetitle{Graham:1994}~\citep{Graham:1994}. Its definition is the same as + in \pkg[https://ctan.org/pkg/gkpmac]{gkpmac}. Also accessible via the + \refc{..} shortcut. +\end{docCommand} + +\begin{docKey}{end-tabular}{}{\initialkeyvalue{\code{\cs{end}\braces{tabular}}}} + The actual command for ending the \code{tabular} or \code{tabular}-like + environment used by \refe{pseudo}. (See \refk{begin-tabular}.) +\end{docKey} + +\begin{docKey}{eol}{\,=\,\meta{commands}}{\initiallyempty} + Sets \refc{pseudoeol}, which is inserted at the end of all but the last + line by \refc{\bslash}. See also \refk{eol-append} and \refk{eol-prepend}. +\end{docKey} + +\begin{docKey}{eol-append}{\,=\,\meta{commands}}{no default} + Locally appends \meta{commands} to \refk{eol}. +\end{docKey} + +\begin{docKey}{eol-prepend}{\,=\,\meta{commands}}{no default} + Similar to \refk{eol-append}, except that \meta{commands} are added to + the \emph{beginning} of \refk{eol}. +\end{docKey} + +\begin{docCommand}{eqs}{} + Two equality signs typeset together as a binary relation, as in $x \eqs + y$ (as opposed to the wider $x == y$, resulting from \code*{\$x == y\$}). + It emulates the \pkg[https://ctan.org/pkg/stix]{stix} symbol \cs{eqeq}, + but for use with Computer Modern (the default \LaTeX\ font) or Latin + Modern (available via the + \pkg[https://ctan.org/tex-archive/info/lmodern]{lmodern} package). It + should work just fine with other fonts. Also accessible via the \refc{==} + shortcut, and configurable via \refk{eqs-pad}, \refk{eqs-scale} and + \refk{eqs-sep}. +\end{docCommand} +\begin{docKey}{eqs-pad}{\,=\,\meta{length}}{\initialkeyvalue{\code{0.28mu}}} + The amount of space inserted on each side of \refc{eqs}. +\end{docKey} +\begin{docKey}{eqs-scale}{\,=\,\meta{number}}{\initialkeyvalue{\code{0.6785}}} + The amount of horizontal scaling applied to the \code{=} signs in + \refc{eqs}. +\end{docKey} +\begin{docKey}{eqs-sep}{\,=\,\meta{length}}{\initialkeyvalue{\code{0.63mu}}} + The amount of space inserted between the two \code{=} signs in \cs{eqs}. +\end{docKey} + +\begin{docCommand}{fn}{\marg{name}\colOpt{(\meta{arguments})}} + + Indicates a function name, such as \fn{length}, and is initially + more or less an alias for \refc{id}. The optional arguments (given in + parentheses) are typeset in math mode, so + \code{\cs{fn}\braces{length}(A)} yields \fn{length}(A). + % + Sometimes square brackets are used with functions that are meant to + indicate array lookups or some property access or the like. This works in + the same manner, so + \code{\cs{fn}\braces{length}[A]} yields \fn{length}[A]. This behavior of + picking up arguments carries over if you define a shortcut, of course: +\begin{texexp} +\def\Ln{\fn{length}} +We're not in math mode, but the argument of \Ln[A] is. +\end{texexp} + + % Should typeset \fn{test}[A] followed by (B) in normalfont: + % \fn{test}[A](B) + % Should typeset \fn{test}(A) followed by [B] in normalfont: + % \fn{test}(A)[B] + See also \refc{DeclarePseudoFunction}. + \fontutil{function names} + \pseudoshortcutted{fn} +\end{docCommand} + +\begin{docKey}{fnfont}{\,=\,\meta{font}}{\initialkeyvalue{\refc{idfont}}} + \fontkey{fn} +\end{docKey} +\begin{docCommand}{fnfont}{} + \fontcmd{fn} +\end{docCommand} + +\begin{docKey}{font}{\,=\,\meta{command}}% + {\initialkeyvalue{\cs{normalfont}}} + Sets the base font used in the code lines. Initially, this is just + \cs{normalfont}, but the \refk{kw} switch is a convenient way to set it to + the keyword font \refc{kwfont}. This is presumed to be a common case, + under the assumption that most of the pseudocode will consist of either + keywords or mathematics. If you'd rather explicitly mark up your keywords, + leaving \refk{font} as it is, you could use \refc{kw} (or + \refc{DeclarePseudoKeyword} for common cases): +\begin{texexp} +\begin{pseudo*} +\kw{while} pigs don't fly \\+ + keep waiting +\end{pseudo*} +\end{texexp} +\end{docKey} + +\begin{docCommand}{hd}{\marg{name}(\meta{arguments})} + Typesets a procedure signature, like \refc{pr}, but is intended for use as + a \emph{header} for a procedure, rather than a procedure call. The + difference is that \cs{hd} wraps its contents in a \cs{multicolumn}, + spanning two columns (i.e., both the label column and the main code + column, but not any additional columns added using \refk{preamble} or + \refk{begin-tabular}), using the preamble set with \refk{hd-preamble}. For + this to work, you need to use the star flag (\code{*}) to suppress the + automatic insertion of the \refk{prefix}: + +\begin{texexp} +\begin{pseudo}* + \hd{Algorithm}(x, y, z) \\ + setup \\ + \kw{while} condition \\+ + iterative step \\- + \kw{return} result +\end{pseudo} +\end{texexp} + + Note that the arguments are mandatory; in order to function properly, + \cs{hd} must be \emph{expandable}, and therefore cannot end with an + optional argument, the way \refc{pr} does. + \pseudoshortcutted{pr} +\end{docCommand} + +\begin{docKey}{hd-preamble}{\,=\,\meta{columns}}{no default} + Sets the preamble used by \refc{hd}. Initially, a single left-aligned + column with \refc{pseudohpad} on either side (see + \cpageref{p:hdpreamble}). If you introduce more columns in + \refk{preamble}, you might want to increase the number of columns in + \refk{hd-preamble} as well, or at least remove the right-hand + \refc{pseudohpad}. +\end{docKey} + +\begin{docKey}{hl}{}{\novaluekey} + Prepends \refc{pseudohl} to \refk{bol}. Normally used with + \pkg[https://ctan.org/pkg/beamer]{beamer} (see \cpageref{p:overlays}). +\end{docKey} + +\begin{docKey}{hl-color}{\,=\,\meta{color}}{\initialkeyvalue{\code{black!12}}} + Sets the color used by \refc{pseudohl} (available as \cs{pseudohlcolor}). +\end{docKey} + +\begin{docKey}{hpad}{\,=\,\meta{length}}% + {default \code{0.3em}, initially \code{0em}} + Horizontal padding on either side of the pseudocode. Useful, among other + things when highlighting lines, to have some of the highlighting (i.e., + row color) protrude beyond the text. +\end{docKey} + +\begin{docKey}{hsep}{\,=\,\meta{length}}% + {\initialkeyvalue{\code{0.75em}}} + The space between the line labels and the code lines, i.e., between the + two columns of numbered \refEnv*{pseudo} environments. +\end{docKey} + +\begin{docCommand}{id}{\marg{name}} + Indicates an identifier, and is simply an alias for \cs{textit} wrapped in + \cs{textnormal}. + See also \refc{DeclarePseudoIdentifier}. + \fontutil{identifiers} + \pseudoshortcutted{id} + + \medskip + + It might seem more natural to use \cs{mathit} (without \refCom*{tn}), but + that may not give the desired results. First of all, special characters + will not behave as if they're parts of a name: + +\begin{texexp} +$\mathit{foo-bar:baz}$ +\end{texexp} + + This may be remedied, e.g., by using the (internal) command + \cs{newmcodes@} from \pkg[https://ctan.org/pkg/amsopn]{amsopn}, but the + kerning, spacing and font application in the result still leaves something + to be desired: + +\makeatletter +\begin{texexp} +$\mathit{\newmcodes@ foo-bar:baz}$ +\end{texexp} +\makeatother + + Compare this to a simple \cs{textit}: + +\begin{texexp} +$\textit{foo-bar:baz}$ +\end{texexp} + + The decision to use \cs{textit} means that you can't use, say, subscripts + or the like as pars of an identifier, or mix in greek letters or other + mathematical symbols. Though you can still easily typeset things like + $\id{foo-$\alpha$}$, you'll have to mix in the math mode more + explicitly (in this case, \verb|$\id{foo-$\alpha$}$|). +% + \pseudoshortcutted{id} +\end{docCommand} +\begin{docKey}{idfont}{\,=\,\meta{font}}{\initialkeyvalue{\cs{textit}}} + \fontkey{id} +\end{docKey} +\begin{docCommand}{idfont}{}{} + \fontcmd{id} +\end{docCommand} + +\begin{docKey}{indent-length}{\,=\,\meta{length}}{\initiallyempty} + How large each indentation step is. If this key is not specified, + \refk{indent-text} is used to calculate one the indent length instead. +\end{docKey} + +\begin{docKey}{indent-level}{\,=\,\meta{length}}{no default, initially \code{0}} + Sets the current indentation level. This is most usefully set on + \refe{pseudo} environment, in concert with \refk{start}:\footnote{The + \cs{strut} here is just to even out spacing above and below the text, + which doesn't have fixed-height lines like the pseudocode.} +\begin{texexp} +\begin{pseudo} + this is \\+ + the first part +\end{pseudo} + +\medskip \strut +This is some text interrupting the code. +\medskip + +\begin{pseudo}[start=3, indent-level=1] + this is the \\- + second part +\end{pseudo} +\end{texexp} +\end{docKey} + +\begin{docKey}{indent-text}{\,=\,\meta{text}}% + {\initialkeyvalue{% + \code*{\cs{pseudofont}\cs{kw}\braces{else}\cs{\verbvisiblespace}}}} + The size of each indentation step is set to the width of the \meta{text}. + The default is set up so that code following on the same line as \kw{else} + will be properly aligned, as in: + + \medskip + + \begin{pseudo*}[kw] + if \tn{condition} \\+ + \tn{something} \\- + else \tn{something else} + \end{pseudo*} + + \medskip + + If you're not going to put code on the same line as \kw{else}, for + example, you might want a different indentation size. To set it to some + specific length, you could use + the \refKey*{indent-length} key. +\end{docKey} + +\begin{docKey}{kw}{}{\novaluekey} + Sets \refk{font} to \refc{kwfont}. +\end{docKey} +\begin{docCommand}{kw}{\marg{name}} + Indicates a keyword. First wraps the argument in \cs{textnormal} and then + adds \cs{kwfont}. + See also \refc{DeclarePseudoKeyword}. + \fontutil{keywords} + \pseudoshortcutted{kw} +\end{docCommand} + +\begin{docKey}{kwfont}{\,=\,\meta{font}}{% + \initialkeyvalue{\code{\cs{fontseries}\braces{b}\cs{selectfont}}}} + \fontkey{kw} + Note, however, that with the \refk{kw} switch, you set \code*{\refk{font} + = \refc{kwfont}}, which is then applied as a font-switching command for + each entire line, taking no argument. If you provide an command requiring + an argument, the \refc{kw} command will still work, but the \refk{kw} + switch won't: +\begin{texexp} +\pseudoset{kw} +\begin{pseudo*}[kwfont=\textsf] % breaks kw option + foo \kw{bar} +\end{pseudo*} +vs.\ +\begin{pseudo*}[kwfont=\sffamily] % works with kw option + foo \kw{bar} +\end{pseudo*} +\end{texexp} +\end{docKey} + +\begin{docCommand}{kwfont}{} + \fontcmd{kw} +\end{docCommand} + +\begin{docKey}{label}{\,=\,\meta{commands}}{% + \initialkeyvalue{\code{\refc{arabic*}}}}% +\begin{texexp} +\pseudoset{kw, label=\footnotesize\arabic*:} + +\begin{pseudo} +print \st{Hello, label!} \label{li:label} \\ +goto \tn{\ref{li:label}} +\end{pseudo} +\end{texexp} + + Note that \cs{label} should be used in the actual code line, as here, and + not in the number cell (which is generally not explicitly written, + anyway). + + \medskip + + As kan be seen from the example, \cs{ref} is unaffected by + \refKey*{label}, and in many cases that's what you want---as apposed to, + say, ``\kw{goto} {\footnotesize 1:}''. In some cases, however (especially + when using one of the other formatting commands, such as \cs{alph} or + \cs{roman}), you \emph{do} want the reference format to reflect the + original, or be similar in some way. To do that, you use the + \refKey*{ref} key. +\end{docKey} + +\begin{docKey}{label-align}{\,=\,\meta{column}}{\initialkeyvalue{\code{r}}}% + Used to specify the alignment of the \refk{label} of each line. Whatever + is provided is stored as a column type (named \cs{pseudolabelalign}), + which is a part of the default \refk{preamble}. In other words, beyond the + basic \code{l} and \code{r} (for left- and right-justified), you can + supply anything that would be valid as part of the preamble (possibly + using functionality from the \pkg[https://ctan.org/pkg/array]{array} + package). If you want to get creative here, though, it might be easier to + get the results you want by specifying your own \refk{preamble} in full. +\end{docKey} + +\begin{docKey}{line-height}{\,=\,\meta{factor}}{\initialkeyvalue{\code{1}}} + The \meta{factor} with which to multiply the ordinary line height. For + simple, sparse pseudocode, the oridnary line height works well, but if + your code + gets too crowded with text and notation, you may wish to increase + \code{line-height}. To emulate, e.g., the + \cs{jot} set by + \pkg[https://ctan.org/pkg/amsmath]{amsmath} (which is + \code{0.25\cs{baselineskip}}), you could use \code{1.25}, though even + \code{1.1} should help in many cases. +\end{docKey} + +\begin{docCommand}{nf}{} + Switch to the normal font (i.e., without bold or italics, etc.). + \shortcutted{nf}{normalfont} + See also \refc{tn}. +\end{docCommand} + +\begin{docKey}{pause}{}{\novaluekey} + Equivalent to \code*{\refk{eol-append} = \cs{pause}} (see \cref{p:pause}). +\end{docKey} + +\begin{docCommand}{pr}{\marg{name}\colOpt{(\meta{arguments})}} + Indicates a procedure name, such as \cn{Quicksort}, and is initially + more or less an alias for \refCom*{cn}. The optional arguments (in + parentheses) are typeset in math mode, so + \code{\cs{pr}\braces{Quicksort}(A,p,r)} yields \pr{Quicksort}(A,p,r). + See also \refc{DeclarePseudoProcedure}. + \fontutil{procedure names} + \pseudoshortcutted{pr} +\end{docCommand} + +\begin{docKey}{preamble}{\,=\,\meta{columns}}{no default} + Sets the preamble to be used by the internal \code{tabular}. The result is + available as the column type with name \cs{pseudopreamble}. (Note that + this is the literal column name, and not a macro containing the name. + Initially, \pkg{pseudo} uses a \code{tabular} as redefined by the + \pkg[https://ctan.org/pkg/array]{array}, which prevents the expansion of + whatever is provided as its preamble, and so we supply the preamble in the + form of a single ``column'' instead.) For the default value, see the + actual implementation on \cpageref{p:preamble} as well as the explanation + in \cref{sec:linestructure}. +\end{docKey} + +\begin{docKey}{prefix}{\,=\,\meta{commands}}{no default} + This is the text inserted at the beginning of the following line by + \refc{\bslash} (and by \code{\cs{begin}\braces{\refe{pseudo}}}), unless + you use the star (\code{*}) flag. Unless modified, it inserts the code + necessary to label the line and to move into the second column, where the + actual code is inserted by the user. For the default value, see the actual + implementation on \cpageref{p:prefix} as well as the explanation in + \cref{sec:linestructure}. +\end{docKey} + +\begin{docKey}{prfont}{\,=\,\meta{font}}{\initialkeyvalue{\refc{cnfont}}} + \fontkey{pr} +\end{docKey} +\begin{docCommand}{prfont}{} + \fontcmd{pr} +\end{docCommand} + +\begin{docEnvironment}[doclang/environment content=pseudocode]% + {pseudo}{\oarg{options}\,\colOpt{*}\,\colOpt{<\meta{overlay + specification}>}\,\oarg{line options}} + The actual environment in which the pseudocode is typeset. The + \meta{options} are local to the environment, while the \meta{line options} + are local to the following line (in the same manner as those set in + \refc{\bslash}; i.e., only some will actually have any effect). The star + (\code{*}) and \meta{overlay specification} act just like those on + \refc{\bslash}. Note that if you wish to specify \meta{line options} + without the star or the \meta{overlay specification}, you need to supply + at least an empty pair of brackets for the global options: +\begin{texexp} +\begin{pseudo}[][hl] +First line \\ +Second line +\end{pseudo} +vs.\ +\begin{pseudo}[hl] +First line \\ +Second line +\end{pseudo} +\end{texexp} + There are no \code{+}/\code{-} flags here, unlike for \refc{\bslash}; + if needed, you can use \refk{indent-level}. +\end{docEnvironment} + +\begin{docEnvironment}[doclang/environment content=pseudocode]% + {pseudo*}{\oarg{options}\,\colOpt{*}\,\colOpt{<\meta{overlay + specification}>}\,\oarg{line options}} + An unnumbered version of the \refe{pseudo} environment. Equivalent to + \refe{pseudo}, but with the \code{starred} style applied + (see~\cpageref{p:starred}). Unless this style is altered, this means that + the label column is removed from the preamble, and the prefix is reduced + to only \refk{bol}. +\end{docEnvironment} + +\begin{docCommand}{pseudobol}{} + \setandused{bol}{pseudoprefix} +\end{docCommand} + +\begin{docCommand}{pseudodefinestyle}{\marg{name}\marg{options}} + Used to define ``styles'' or meta-keys, i.e., shortcuts for setting + several keys to given values (used, e.g., to define \refk{starred}). The + \meta{name} is simply the name of the new meta-key, and the \meta{options} + are just what you'd provide to, e.g., \refc{pseudoset}. +\end{docCommand} + +\begin{docCommand}{pseudoeol}{} + \setandused{eol}{\bslash} + It is inserted between lines, but not after the last one. +\end{docCommand} + +\begin{docCommand}{pseudoeq}{} + Similar to \refc{pseudoslash}. Switches the definition of \cs{=} to the + one used by \pkg{pseudo}. Useful if \cs{=} reverts to its original + definition in some context (see \refc{==}). +\end{docCommand} + +\begin{docCommand}{pseudofont}{} + \setandused{font}{pseudosetup} + It is used to set up the font for each pseudocode line. (See also + \refk{kw}.) +\end{docCommand} + +\begin{docCommand}{pseudohl}{} + This is the command inserted as \refk{bol} by the \refk{hl} switch. + Initially, it's just a \cs{rowcolor} using the color set by + \refk{hl-color}, but you could redefine it to whatever you wish. +\end{docCommand} + +\begin{docCommand}{pseudohpad}{} + Used on the left- and right-hand sides of \refk{preamble}. + Conceptually, it inserts the horizontal space specified by \refk{hpad}. To + play nice with \cs{rowcolor}, however, it is not used in a + \code{@\braces{\dots}} column; rather, it's placed in + \code{>\braces{\dots}} and \code{<\braces{\dots}} modifiers, and the + actual space inserted has \cs{tabcolsep} subtracted. +\end{docCommand} + +\begin{docCommand}{pseudoindent}{} + % Protrudes into the margin: + % \setandused{indent-length}{pseudosetup} + % Manual: + The command set by the \refk{indent-length} option. Used in + \refc{pseudosetup}. + More precisely, \refk{indent-length} is stored textually, and is converted + to the length \cs{pseudoindentlength} when entering a \refe{pseudo} + environment (so that units like \code{em} and \code{ex} adapt to the + current font). The \cs{pseudoindent} command then inserts a horizontal + space of length $\cs{pseudoindentlength}\times\textit{current indent + level}$. +\end{docCommand} + +\begin{docCommand}{pseudolabel}{} + \setandused{label}{pseudoprefix} +\end{docCommand} + +% Counter, not key +\begin{docKey}{pseudoline}{}{} + Counter for pseudocode lines. See also \refk{*}. +\end{docKey} + +\begin{docCommand}{pseudoprefix}{} + \setandused{prefix}{\bslash} +\end{docCommand} + +\begin{docCommand}{pseudosavelabel}{} + Used as part of \refc{pseudosetup} to save the \refk{pseudoline} counter + for use in \cs{label} and \cs{ref}. The \refk{pseudoline} counter is + \emph{incremented} as part of the \refc{pseudolabel} command, but that's + done using a plain \cs{stepcounter}, as any use of \cs{label} will + presumably be placed in the pseudocode line (i.e., the next column). To + save the value there, \cs{pseudosavelabel} first \emph{decrements} the + counter, and then uses \cs{refstepcounter}. +\end{docCommand} + +\begin{docCommand}{pseudoset}{\marg{options}} + Used to set the configuration keys of the \pkg{pseudo} package (using + \pkg[https://ctan.org/pkg/l3kernel]{l3keys} with + \code{pseudo} as the module). These may also be set as + % package options (in \cs{usepackage}) and as + optional arguments to the \refEnv*{pseudo} and \refEnv*{pseudo*} + environments. For example, if you'd like to switch to \cs{rm} as your base + font, you could use \code*{\cs{pseudoset}\braces{font = \cs{rm}}}. +\end{docCommand} + +\begin{docCommand}{pseudosetup}{} + The command set by the \refk{setup} option. Used as part of the + \refk{preamble}. + + \medskip + + \emph{Not to be confused with \refc{pseudoset}.} +\end{docCommand} + +\begin{docCommand}{pseudoslash}{} + Command similar to the \cs{arrayslash} of the + \pkg[https://ctan.org/pkg/array]{array} package. Switches the definition + of \cs{\bslash} to the one used by \pkg{pseudo}. Useful if you've used + some code that modifies \cs{\bslash} for its own purposes (such as + \cs{raggedleft} or the like). +\end{docCommand} + +\begin{docKey}{ref}{\,=\,\meta{commands}}{initially empty, default + \refc{pseudolabel}} + Shortcut for setting the \cs{thepseudoline} command. If used without + arguments, it will use the value supplied to \refKey*{label}. +\begin{texexp} +\pseudoset { + label = (\textsc{\alph*}), + ref = \Alph*, + hsep = .5em +} + +\begin{pseudo} +print \st{Hello, ref!} \label{li:ref} \\ +goto \tn{\ref{li:ref}} +\end{pseudo} +\end{texexp} +\end{docKey} + +\begin{docKey}{setup}{\,=\,\meta{commands}}{no default} + The setup part of each pseudocode line: Save the line counter + (using the \refc{pseudosavelabel} command), insert the proper indentation + (with \refc{pseudoindent}) and switch to the correct font + (\refc{pseudofont}). + + \medskip + + Rather than setting \refk{setup} directly, you may wish to add commands + using \refk{setup-append} or \refk{setup-prepend}. +\end{docKey} + +\begin{docKey}{setup-append}{\,=\,\meta{commands}}{no default} + Locally appends \meta{commands} to \refk{setup}. +\end{docKey} + +\begin{docKey}{setup-prepend}{\,=\,\meta{commands}}{no default} + Similar to \refk{setup-append}, except that \meta{commands} are added to + the \emph{beginning} of \refk{setup}. +\end{docKey} + +\begin{docCommand}{st}{\marg{string}} + Typesets \meta{string} with added quotes using \refc{stfont}. (The entire + thing is wrapped in \cs{textnormal}.) For example, \code*{print + \cs{st}\braces{42}} yields + \begin{pseudo*} + print \st{42} + \end{pseudo*}. + See also \refc{DeclarePseudoString}. + \fontutil{strings} + \pseudoshortcutted{st} +\end{docCommand} + +\begin{docKey}{st-left}{\,=\,\meta{text}}{no default, initially \code{``}} + \leftbracketing{string}{st} +\end{docKey} + +\begin{docKey}{st-right}{\,=\,\meta{text}}{no default, initially \code{''}} + \rightbracketing{string}{st} +\end{docKey} + + +\begin{docKey}{starred}{}{\novaluekey} + The style (defined by \refc{pseudodefinestyle}) used by the \refe{pseudo*} + environment. You may modify this (again using \refc{pseudodefinestyle}) if + you wish. +\end{docKey} + +\begin{docKey}{start}{\,=\,\meta{number}}{no default, initially \code{1}} + Sets the starting line number: +\begin{texexp} +\begin{pseudo}[start=10] +Maybe we're continuing from some earlier code? \\ +Anyway, let's keep going! +\end{pseudo} +\end{texexp} +See also \refk{indent-level}. +\end{docKey} + +\begin{docKey}{stfont}{}{} + \fontkey{st} +\end{docKey} + +\begin{docCommand}{stfont}{} + \fontcmd{st} +\end{docCommand} + +\begin{docCommand}{tn}{\marg{text}} + An alias for \cs{textnormal}, to break out of the font set using the + \refKey*{font} key, for inserting ordinary prose between the keywords. For + example, to get the result ``{\kwfont for \tn{every node} $v\in V$}'', one + might write: + + \medskip + + \centerline{\code{for \cs{tn}\braces{every node} \$v\cs{in} V\$}} + + \medskip + + This is equivalent to using \code*{\cs{textnormal}\braces{every node}}. + \shortcutted{tn}{textnormal} +\end{docCommand} + +\begin{docKey}{unknown}{}{} + Unknown keys are checked for \pkg[https://ctan.org/pkg/beamer]{beamer} + overlay specifications. That is, if an unknown key has the form + + \medskip + + \centerline{\code*{\meta{name}<\meta{overlay + specification}> = \meta{value}}} + + \medskip + + then it does not trigger an error, but, if + \pkg[https://ctan.org/pkg/beamer]{beamer} is used, is rewritten to: + + \medskip + + \centerline{\code*{\cs{only}<\meta{overlay specification}>\braces{% + \refc{pseudoset}\braces{\meta{name} = \meta{value}}% + }}} + + \medskip + + If \pkg[https://ctan.org/pkg/beamer]{beamer} is \emph{not} used, the key + is simply ignored. Note that because of current limitations on how keys + are handled, + % Cf. https://github.com/latex3/latex3/issues/67 + unknown keys cannot have defaults, and so there is no way to insert a + marker for when no value is provided, which could be used to determine + whether to use + \code*{\refc{pseudoset}\braces{\meta{name} = \meta{value}}} + or simply + \code*{\refc{pseudoset}\braces{\meta{name}}}. Instead, if an empty value + is provided to the unknown key, that is treated in the same way as when + the key is used + without a value, resulting in + \code*{\refc{pseudoset}\braces{\meta{name}}} + rather than + \code*{\refc{pseudoset}\braces{\meta{name} = }}. +\end{docKey} + +\section{But how do I\,\dots} + +Some functionality is not built in, but is still fairly easy to achieve. Some +streamlining may be added in future versions. + +\subsection{\dots\,get log-like functions?} + +There's no built-in command for math-roman function names, as used in $\log$ +and $\sin$, etc. (other than just setting \refk{fnfont}, if you want it +everywhere). If you wish to define your own, you could use \cs{operatorname} +or \cs{DeclareMathOperator}. For example: + +\begin{texexp} +% In preamble: +% \usepackage{amsmath} +% \DeclareMathOperator{\MyFunc}{my-func} +\begin{pseudo}[kw] +if $\MyFunc x \== 1$ \\+ + $y = \MyFunc(z + 1)$ +\end{pseudo} +\end{texexp} + +\noindent +The spacing is then correct whether you enclose the arguments in parentheses +or not. + +\subsection{\dots\,unbold punctuation?} + +If you use the \refk{kw} key, all pseudocode not in math mode will end up +using the keyword font (\refc{kwfont}), which initially is bold. Though some +\emph{do} typeset, e.g., grouping braces in boldface, you might not want to do +that; the same goes for, say, line-terminating semicolons. The +\code{theoremfont} option of, e.g., \pkg[https://ctan.org/pkg/newtx]{newtx} +does something similar (for italics), but uses a custom font for that. +Packages like \pkg[https://ctan.org/pkg/embrac]{emrac} rely on straightforward +textual substitution, replacing certain characters with marked-up ones, but +the way things are set up at the moment, our font command won't have access to +the entire line when it's executed. + +If you're adventurous, it's not hard (using the +\pkg[https://ctan.org/pkg/xparse]{xparse} argument type \code{u}) to make a +version that \emph{does} gobble up the entire line, up to and including +\verb|\\| (and you could then use the regular expression functionality from +\pkg[https://ctan.org/pkg/expl3]{expl3}, presumably also reinserting +\refc{\bslash}). A simpler solution is to just use \refc{DeclarePseudoNormal}. +Here's an example based on pseudocode from \citet{Knuth:1975}: + +\begin{texexp} +% \usepackage{mathtools} +\let\gets\coloneqq + +\pseudoset{kw, indent-length=2em, line-height=1.1} + +\DeclarePseudoNormal \; ; + +\begin{pseudo*} +procedure \id{printstatistics}\; \\ +begin integer $j$\; \\+ + $\id{write}(\st{Closed sets for rank}, r, \st{:})$\; \\ + $j \gets L[h]$\; \\ + while $j \neq h$ do \\+ + begin $\id{writeon}(S[j])$\; $j\gets L[j]$ end\; \\-- +end\; +\end{pseudo*} +\end{texexp} + +\noindent +If you'd really like to avoid the extra backslashes, you could make the +relevant punctuation active (though that's probably a bit risky; make sure to +only do it locally, at the very least): + +\begin{texexp} +\DeclarePseudoNormal \semi ; + +\catcode`\;=\active +\let;\semi + +\begin{pseudo*}[kw] + begin integer $j$; % Look! The semicolon isn't bold! +\end{pseudo*} +\end{texexp} + +\subsection{\dots\,use \texttt{tabularx}?} +\label{sec:tabularx} + +You can use other tabular packages such as +\pkg[https://ctan.org/pkg/tabularx]{tabularx} via \refk{begin-tabular} and +\refk{end-tabular}. Let's say, for example, that you wish to extend the +\refe{pseudo} environment to fill out the entire line, and set up a new column +for comments. You could achieve that as follows: + +% ! Duplicate of the one inside texexp, so it can be reused later. +\pseudodefinestyle{fullwidth}{ + begin-tabular = + \tabularx{\linewidth}{@{} + r % Labels + >{\pseudosetup} % Indent, font, ... + X % Code (flexible) + >{\leavevmode\small\color{black!60}} % Comment styling + p{0.45\linewidth} % Comments (fixed) + @{}}, + end-tabular=\endtabularx +} +\begin{texexp} +\pseudodefinestyle{fullwidth}{ + begin-tabular = + \tabularx{\linewidth}{@{} + r % Labels + >{\pseudosetup} % Indent, font, ... + X % Code (flexible) + >{\leavevmode\small\color{black!60}} % Comment styling + p{0.45\linewidth} % Comments (fixed) + @{}}, + end-tabular = \endtabularx, + setup-append = \pseudoeq +} +\begin{pseudo}[kw, fullwidth, line-height=1.1]* + \hd{Counting-Sort}(A, k) & Find positions by counting \\ + $C = \tn{an array of $k$ zeros}$ & Element frequencies \\ + for $i = 1$ to $A.\id{length}$ & Count all elements \\+ + $\dots$ & Etc. +\end{pseudo} +\end{texexp} +% +Note that using the \cs{color} command in a \code{>\braces{\dots}} +modifier with a \code{p} column places the text in a new paragraph, on the +next line; you'll need to insert \cs{leavevmode} or the like to prevent that. +This is true also of normal \code{tabular} environments. Also note +that \code{tabularx} environments with \code{X} columns don't interact nicely +with \cs{=}; so i you wish to use \refc{==}, you can reassert the definition +by adding \code{>\braces{\refc{pseudoeq}}} before each column. + +See the \pkg[https://ctan.org/pkg/tabularx]{tabularx} documentation +(page~4) for an explanation of why we can't use +\code{\cs{begin}\braces{tabularx}} and \code{\cs{end}\braces{tabularx}}. +Also note that because \pkg[https://ctan.org/pkg/tabularx]{tabularx} passes +its contents as the argument to a macro, the parsing \pkg{pseudo} uses to +determine if \refc{\bslash} is at the end of the last line doesn't work; if +you add \refc{\bslash} at the end here, you'll introduce an empty line. + +\makeatletter +For simplicity, I've used \code{@\braces{}} to remove space on either side. +For \refk{hpad} to work, you should use \code{>\braces{\cs{pseudohpad}}} and +\code{<\braces{\cs{pseudohpad}}} instead, as in the standard \refk{preamble} +(see \cpageref{p:preamble}). To keep things configurable, you might also want +to use \cs{pseudolabelalign}, rather than \code{r}. +\makeatother + +\subsection{\dots\,get tab stops?} + +Some packages, such as \pkg[https://ctan.org/pkg/clrscode3e]{clrscode3e}, use +an actual \code{tabbing} environment internally. While this may be a bit +brittle (e.g., creating problems if you wish to insert your pseudocode into a +\pkg[https://ctan.org/pkg/pgf]{tikz} node---one of the goals of \pkg{pseudo}), +it does mean that you can use the tabbing command \cs{>} manually, to align +various construct. + +If all your tabbing is done \emph{before} the text on a given code line, you +can achieve this in \pkg{pseudo} as well, by using the \code{+} and \code{-} +modifiers. (For example, the tab stops in +\pkg[https://ctan.org/pkg/clrscode3e]{clrscode3e} are set at fixed intervals, +just like in \pkg{pseudo}.) But what i you'd like to align something that +comes later, such as comments after code lines? You can't simply use +\cs{hspace}, of course, unless the code lines themselves have exactly the same +length. + +One solution is to use an additional column, as discussed in +\cref{sec:tabularx}, but you could also make creative use of the \cs{rlap} +command, which prevents its contents from taking up horizontal space:% +\footnote{Note that \cs{rlap} doesn't start a new paragraph, which is why I +use \cs{noindent}, here. You could replace +\code{\cs{noindent}\cs{rlap}\braces{\dots}} with +\code{\cs{makebox}[0pt][l]\braces{\dots}}. This isn't an issue in +\code{pseudo} code lines, however.} + + +\begin{texexp} +\noindent\rlap{This is some text}% +And here is some more +\end{texexp} + +\noindent +By using \cs{rlap} on the code lines in question, you can insert \cs{hspace} +that begins at the beginning of the code line (here with an example +convenience command defined using \pkg[https://ctan.org/pkg/xparse]{xparse}): + +\begin{texexp} +\NewDocumentCommand \C { +u{/* } +u{ */} } {% + \rlap{#1}\hspace{3cm}\ct{#2}\\% +} +\begin{pseudo} +\C $x = 42$ /* first comment */ +\C $y = \sin x$ /* second comment */ +\end{pseudo} +\end{texexp} + +\noindent +See also the discussion of the \refc{ct} command for ideas on typesetting +comments. If you wish to align things across different indentation levels, +you'll have to add or subtract multiples of \cs{pseudoindentlength} (see +\refc{pseudoindent}). + +\subsection{\dots\,use horizontal lines?} +\label{sec:horizontallines} + +Many opt for a table-like appearance when typesetting algorithms, with +horizontal lines above and below, and generally a header row on top. While +this may be part of a surrounding floating environment (see +\cref{sec:floats}), you may also wish to include such lines in your actual +pseudocode. In this case, you can simply use existing \code{tabular}-based +tools such as \pkg[https://ctan.org/pkg/booktabs]{booktabs}, making sure to +suppress the \pkg{pseudo} \refk{prefix} using the star flag (\code{*}): + +\begin{texexp} +% \usepackage{booktabs} +\begin{pseudo}* +\toprule + + \hd{Bor\r{u}vka}(G, w) \\ + % +[bol=\midrule] + + \kw{while} $E(G)$ is not empty \\+ + \kw{for} each $u\in V(G)$ \\+ + add light $uv \in E(G)$ to $T$ \\- + \kw{for} each $e \in T$ \\+ + contract $e$ \\* + +\bottomrule +\end{pseudo} +\end{texexp} + +\noindent +Rather than \code{\cs{\bslash}[bol=\cs{midrule}]}, you could also have used +\code{\cs{\bslash}*}, followed by \code{\cs{midrule}\cs{pseudoprefix}}. (Note +that the paragraph break between \refc{\bslash} and its argument has been +commented out.) + +\subsection{\dots\,get an algorithm float?} +\label{sec:floats} + +There are (at least) two different ways of viewing a block of pseudocode: As +an inline element, like equations, or as a float, like figures and tables. For +example, \citet{Cormen:2009} place their pseudocode inline, and refer to the +algorithms by name (e.g., \pr{Dijkstra}), while \citet{Williamson:2011} place +them in floats, and refer to them by number (e.g., +Algorithm~3.1).% +\footnote{A third option that is sometimes used is to use a theorem-like +environment for your algorithms. There are many packages to help with this; +just search \href{https://ctan.org}{\textsc{ctan}} for +``\href{https://ctan.org/search/?phrase=theorem}{theorem}''.} +% +Some pseudocode packages have a custom float environment (à la \code{table} +and \code{figure}) for use with algorithms described by pseudocode. Beyond +having a new float name (such as ``Algorithm'') with its own numbering and the +like, they at times have rather distinct styling (horizontal lines in +\pkg[https://ctan.org/pkg/algorithms]{algorithms} and +\pkg[https://ctan.org/pkg/algorithmicx]{algorithmicx}, and a surrounding box +in \pkg[https://ctan.org/pkg/algorithm2e]{algorithm2e}), which may or may not +suit the styling of the rest of your document. + +Rather than getting into the business of float environments, I leave such +things to separate packages designed for that use. A basic solution would be +to simply use the \pkg[https://ctan.org/pkg/float]{float} package (which also +provides ruled and boxed floats, should you wish to have those), but a quick +\href{https://ctan.org}{\textsc{ctan}} search for +``\href{https://ctan.org/search/?phrase=float}{float}'', or a look at the +\href{https://ctan.org/recommendations/float}{recommendations} related to the +\pkg[https://ctan.org/pkg/float]{float} package, will give you many options, +with varying functionality. +% + +\medskip + +\paragraph{Note:} The definition of \refc{==} doesn't properly carry over into +floats. It's properly redefined inside \refe{pseudo}, so you probably won't +notice, but if you wish to use the symbol outside the \refe{pseudo} +environment, but in a float (e.g., inside \cs{caption}), you'll need to either +call \refc{pseudoeq} to re-establish the definition of \cs{=} or simply use +\refc{eqs} instead of \refc{==}. + +\medskip + +\noindent +Here's a simple example using the \pkg[https://ctan.org/pkg/float]{float} +and \pkg[https://ctan.org/pkg/caption]{caption} packages, reusing the +\code{fullwidth} style example from \cref{sec:tabularx} and the horizontal +line ideas from \cref{sec:horizontallines}: + +% ! Duplicate of the code in the actual float +\begin{texexp}[listing only] +% \usepackage{float} +% \usepackage{caption} +\floatstyle{plaintop} +\newfloat{algorithm}{tbp}{alg}[section] +\floatname{algorithm}{Algorithm} + +\begin{algorithm} +\begin{pseudo}[fullwidth]* + +% Insert pseudocode and comments + +\end{pseudo} +\caption{...} +\end{algorithm} +\end{texexp} + +\noindent +You can see the result in \cref{alg:example}. + +\floatstyle{plaintop} +\newfloat{algorithm}{tbp}{alg}[section] +\floatname{algorithm}{Algorithm} +\begin{algorithm} +\begin{pseudo}[fullwidth]* +\toprule + + \hd{Bor\r{u}vka}(G, w) & + Construct MST $T$ for $G$ wrt.\ $w$ \\[bol=\midrule] + + \kw{while} $E(G)$ is not empty & + Not all are contracted yet \\+ + \kw{for} each $u\in V(G)$ & + One light edge per node \\+ + add light $uv \in E(G)$ to $T$ & + $T$ is the tree we're building \\- + \kw{for} each $e \in T$ & + These edges are already used \\+ + contract $e$ & + We focus on the remaining ones \\* + +\bottomrule +\end{pseudo} +\caption{Bor\r{u}vka's algorithm for finding minimum spanning trees. For a +node $u$, a \emph{light} edge is an edge $uv$ of minimum weight $w(u,v)$. +Contracting $uv$ deletes it, identifies $u$ and $v$, and removes resulting +loops. The result $T$ is initially empty.} +\label{alg:example} +\end{algorithm} + +\subsection{\dots\,handle object attributes?} + +In the \pkg[https://ctan.org/pkg/clrscode3e]{clrscode3e} package, you'll find +an assortment of commands for handling +object attributes such as $A.\id{length}$. The manual says (here with emulated +kerning of the dot operator): + +\begin{quote} + You might think you could typeset $A\mkern1mu.\id{length}$ by + \code{\$A.\cs{id}\braces{length}\$}, but that would produce + $A\mkern1mu.\mkern-1.5mu\id{length}$, which has not quite enough space + after the dot. \hfill(page~3) +\end{quote} + +\noindent +However, this is a font issue, more than anything. If, for example, if you +want Times New Roman (like Cormen et al.)\@ and use +\pkg[https://ctan.org/pkg/mathptm]{mathptm}, you at times run into the problem +described; with \pkg[https://ctan.org/pkg/newtx]{newtx} it's less pronounced. +With other fonts (e.g., +\pkg[https://ctan.org/pkg/fourier]{fourier}, +\pkg[https://ctan.org/pkg/mathpple]{mathpple} or +\pkg[https://ctan.org/pkg/newtx]{newtxmath} with +\pkg[https://ctan.org/pkg/libertine]{libertine}), or even without any font +packages (or possibly using \pkg{lmodern}), the kerning works just fine. + +In general, then, I suggest you try to use \code{\$A.\cs{id}\braces{length}\$} +and the like, and see if the result is satisfactory: + +\begin{texexp} +$v.\id{prev}.\id{next} = v.\id{next}$ +\end{texexp} + +\noindent +If you \emph{do} need to adjust the kerning (with \cs{mkern} commands or +perhaps using \pkg[https://ctan.org/pkg/microtype]{microtype}), you may of +course do so, but \pkg{pseudo} does not (at present) include any special +attribute lookup commands that do it for you. + +\subsection{\dots\,get vertical lines or braces?} + +Some packages (such as \pkg[https://ctan.org/pkg/algorithm2e]{algorithm2e}) +have support for using vertical lines to indicate the block structure; +\pkg[https://ctan.org/tex-archive/macros/latex/contrib/pseudocode]{pseudocode} +uses large braces. At least in the current version, there is no such built-in +functionality in \pkg{pseudo}. This could be added in a future version, but if +you want to play around with it yourself, you could use +\pkg[https://ctan.org/pkg/pgf]{tikz}. For example, you could add a \code{node} +at the start of each code line, containing an \verb|\@arstrut|, the +(\pkg[https://ctan.org/pkg/array]{array}) strut used to indicate the extent of +a tabular row: + +% ! Contents duplicated +\makeatletter +\NewDocumentCommand \pseudoanchor { m } {% + \tikz[baseline, overlay, remember picture] + \node[anchor=base, inner sep=0] (#1) {\@arstrut};% + \ignorespaces +} +\makeatother +\begin{texexp}[listing only] +% \usepackage{xparse,tikz} +% \usetikzlibrary{decorations.pathreplacing,calligraphy} +\makeatletter +\NewDocumentCommand \pseudoanchor { m } {% + \tikz[baseline, overlay, remember picture] + \node[anchor=base, inner sep=0] (#1) {\@arstrut};% + \ignorespaces +} +\makeatother +\end{texexp} + +\noindent +We can then use the resulting nodes to draw braces or lines or whatever. First +some example setup: + +% ! Duplicated +\begin{texexp}[listing only] +\pseudoset{ + kw, + indent-length = 3.5em, + setup-append = {\pseudoanchor{L-\arabic*}} +} +\tikzset{ + braces/.style = + {thick, decoration = {calligraphic brace, raise=.2em}}, + label/.style = + {midway, left=3em, anchor=west, font=\strut\kwfont} +} +\end{texexp} +You would then get something like the following: +{ +\pseudoset{ + kw, + indent-length = 3.5em, + setup-append = {\pseudoanchor{L-\arabic*}} +} +\tikzset{ + braces/.style = + {thick, decoration = {calligraphic brace, raise=.2em}}, + label/.style = + {midway, left=3em, anchor=west, font=\strut\kwfont} +} +\begin{texexp} +\begin{pseudo} +if $x < y$ \\+ + $x = y$ \\ + $y = 0$ +\end{pseudo} +\tikz[overlay, remember picture, braces] { + \draw[decorate] (L-3.south) -- (L-2.north) node[label] {then}; +} +\end{texexp} +} + +\noindent +If multiple blocks are closed at the same time, the bottom coordinates could be +things like \code*{(L-2.north |- L-3.south)} instead. To adjust the end +points, you could also use things like \code{(\$(L-3.south)+(0,.2em)\$)}. + +The actual drawing of the brace (or line or whatever) isn't automated here, of +course. This could be done by some hook triggered by the \code{-} flags in +\refc{\bslash}. If it turns out there's a demand for something like that, I +might add it in a future version. + +\section{Implementation} + +\lstdefinestyle{tcblatex}{language={[LaTeX]TeX}, + aboveskip={0\p@ \@plus 6\p@}, + belowskip={0\p@ \@plus 6\p@}, + columns=fullflexible, + keepspaces=true, + breaklines=true, + breakatwhitespace=true, + basicstyle=\ttfamily\small\color{black!80}, + keywordstyle=, + extendedchars=true, + nolol, + inputencoding=\kvtcb@listingencoding, + literate={VERSION}{\pseudoversion}{3}{DATE}{\pseudodate}{10}, +} + +\noindent +\textbf{Note:} In the following, \verb|_@@| and \verb|@@| represent +an internal prefix (\verb|__pseudo|), the same way they do with +\pkg[https://ctan.org/pkg/l3docstrip]{l3docstrip}. + +\bigskip\noindent +First, we just define some metadata: +\begin{source} +\def \pseudoversion {VERSION} +\def \pseudodate {DATE} +\end{source} +The \pkg{pseudo} package is implemented using experimental \LaTeX\,3, so we +start by importing \pkg[https://ctan.org/pkg/expl3]{expl3}: +\begin{source} +\RequirePackage{expl3} +\end{source} +Then we're ready start the package: +\begin{source} +\ProvidesExplPackage + {pseudo} + {\pseudodate} + {\pseudoversion} + {Straightforward pseudocode} +\end{source} +Tools for defining user commands: +\begin{source} +\RequirePackage{xparse} +\end{source} +The \refe{pseudo} environment is built upon tabular functionality, and we're +using some extensions: +\begin{source} +\RequirePackage{array, xcolor, colortbl} +\end{source} +Though \emph{most} keys aren't available as \cs{usepackage} arguments, we +still use the mechanism: +\begin{source} +\RequirePackage{l3keys2e} +\end{source} +Inside the \refe{pseudo} environment, \refk{*} is an alias for +\refk{pseudoline}. To perform the proper aliasing, we use +\pkg[https://ctan.org/pkg/aliascnt]{aliascnt}: +\begin{source} +\RequirePackage{aliascnt} +\end{source} +As part of the initial setup, we also record whether we're part of a +\pkg[https://ctan.org/pkg/beamer]{beamer} presentation; this will affect the +overlay functionality: +\begin{source} +\bool_new:N \c_@@_beamer_bool +\@ifclassloaded{beamer} + {\bool_set_true:N \c_@@_beamer_bool} + {\bool_set_false:N \c_@@_beamer_bool} +\end{source} +We're now ready to begin the actual implementation. + +\subsection{Variable declarations} + +Many variables are created as needed by various \code{set} commands, but some +are declared initially. First, we create a plain-vanilla \LaTeX\ counter for +the line number, as well as an outer one for the environment, the latter just +to avoid duplicate labels: +\begin{source} +\newcounter{pseudoenv} +\newcounter{pseudoline}[pseudoenv] +\end{source} +Eventually, we'll be saving the line counter so that \cs{label} commands will +work, but we'll only do so if the counter has \emph{changed} (again, to avoid +duplicate labels). To determine whether, in fact, it has, we keep the previous +one we saved: +\begin{source} +\int_new:N \g_@@_last_saved_line_int +\end{source} +Normally a counter is just saved when it's incremented (with +\cs{refstepcounter}), but in our case, we want to increment and typeset it +based on a (potentially) user-configured \refk{label}, and then actually save +it and make it the target of \cs{label} commands in a \emph{different scope} +(i.e., the next cell in the tabular row). + +\bigpar + +The indent size is set through the configuration key \refk{indent-length} (or +indirectly through \refk{indent-text}), while the current indent level is +manipulated by \refc{\bslash}; their product determines the actual length by +which the current line is indented. The initial indent level may be set using +\refk{indent-level}. +\begin{source} +\dim_new:N \pseudoindentlength +\int_new:N \g_@@_indent_level_int +\int_new:N \l_@@_initial_indent_level_int +\end{source} +% +\subsection{Utilities} + +\paragraph{Variants.} First, let's just generate a couple of expansion +variants we'll need of some standard commands: +\begin{source} +\cs_generate_variant:Nn \tl_if_novalue:nTF { VTF } +\cs_generate_variant:Nn \regex_extract_once:nnNTF { nVNTF } +\end{source} +\paragraph{Defining columns.} The \refk{preamble} is is configurable, but the +\pkg[https://ctan.org/pkg/array]{array} package makes sure it doesn't expand +any part of its preamble. One way of inserting a dynamically generated one is +to simply define it all as a single column type. To avoid getting an error +when overwriting this definition through the configuration, we'll also need to +be able to \emph{un}-define column types: +\begin{source} +\cs_new:Nn \@@_undef_col:n { + \tl_set_eq:cN { NC@find@ \token_to_str:N #1 } \scan_stop: +} +\end{source} +Note that the implementation specifically targets the +\pkg[https://ctan.org/pkg/array]{array} package. The following command then +will either define or \emph{re}-define a column type: +\begin{source} +\cs_new:Nn \@@_def_col:nn { + \@@_undef_col:n { #1 } + \newcolumntype { #1 } { #2 } +} +\end{source} +% +\paragraph{Defining commands.} +This command creates a new command with a \code{pseudo} prefix, and defines +the prefixless version as well, \emph{if the name is available} (i.e., +undefined): +\begin{source} +\cs_new:Nn \@@_meta_new_cmd:NNnn { + \tl_set:Nn \l_tmpa_tl {pseudo \cs_to_str:N #2} + \exp_args:Nc + #1 \l_tmpa_tl {#3} {#4} + \cs_if_free:NT #2 {\cs_gset_eq:Nc #2 \l_tmpa_tl} +} + +\cs_new:Nn \@@_new_cmd:Nnn { + \@@_meta_new_cmd:NNnn + \NewDocumentCommand #1 {#2} { + #3 + } +} + + +\cs_new:Nn \@@_new_ecmd:Nnn { + \@@_meta_new_cmd:NNnn + \NewExpandableDocumentCommand #1 {#2} { + #3 + } +} +\end{source} +This is for defining commands that declare styled shortcuts: +\begin{source} +\cs_new:Nn \@@_new_dec:nn { + \tl_set:Nn \l_tmpa_tl { DeclarePseudo #1 } + \exp_args:Nc + \DeclareDocumentCommand \l_tmpa_tl { mm } { + \DeclareDocumentCommand ##1 { } { + \use:c { #2 } { ##2 } + } + } +} +\end{source} +You use this with a capitalized name for the kind of thing you're declaring, +and the name of the style command to use. For example, +\begin{center} +\verb|\@@_new_dec:nn{Keyword}{kw}| +\end{center} +will create the command \cs{DeclarePseudoKeyword}, which takes a csname and a +word, and binds the csname as a shortcut for the word, properly styled as a +keyword. + +\bigskip + +\paragraph{Argument parsing.} In processing the multiple \code{+} and \code{-} +arguments to \refc{\bslash}, we'll gobble up one character at a time, each +time performing some action. We also supply code to be performed once we're +done. +\begin{source} +\cs_new:Nn \@@_per_char:nnn { + \peek_charcode_remove:NTF { #1 } { + #2 % body + \@@_per_char:nnn{#1}{#2}{#3} + } { + #3 % tail + } +} +\end{source} +% +\paragraph{Indentation.} The indent size (i.e., the length of a single +step of indentation) is either set directly through \refk{indent-length}, or +indirectly through \refk{indent-text}. The latter is there the default is +provided, but \refk{indent-text} is only used if there is no \refk{indent-length}. +\begin{source} +\cs_new:Nn \@@_set_indent_length: { + + \tl_if_novalue:VTF \l_@@_indent_length_tl { + \hbox_set:Nn \l_tmpa_box { \l_@@_indent_text_tl } + \dim_set:Nn \pseudoindentlength { \box_wd:N \l_tmpa_box } + } { + \dim_set:Nn \pseudoindentlength \l_@@_indent_length_tl + } + +} +\end{source} +Note that the configured indent length is stored in a \code{tl}, which is +expanded in the \refe{pseudo} environment. + +The indent size is subsequently used by the indent command, which takes the +number of indentation steps as its only argument: +\begin{source} +\cs_new:Nn \@@_indent:N { + \skip_horizontal:n{ \pseudoindentlength * #1 } + \ignorespaces +} +\end{source} +% +\paragraph{Counter copying.} Inside the \refe{pseudo} environment, we want +\code{*} to be a duplicate of \code{pseudoline}, for convenience. This +requires a bit of work. We use the +\pkg[https://ctan.org/pkg/aliascnt]{aliascnt} package to deal with much of the +book-keeping, but in order for \cs{newaliascnt} to work whenever a counter +already exists, we need to undefine it first. (Here we're relying on the +internal \LaTeX\ convention of using \verb|c@| as a prefix to counter names.) + +\begin{source} +\cs_new:Nn \@@_drop_ctr:n { + \cs_undefine:c { c@ #1 } +} + +\cs_new:Nn \@@_copy_ctr:nn { + \@@_drop_ctr:n { #1 } + \newaliascnt { #1 } { #2 } +} + +\cs_new:Nn \@@_star_setup: { + + \cs_if_exist:cT { c@ * } { + \@@_copy_ctr:nn { @@_orig_* } { * } + } + \@@_copy_ctr:nn { * } { pseudoline } + + \group_insert_after:N \@@_star_reset: + +} + +\cs_new:Nn \@@_star_reset: { + \cs_if_exist:cT { c@ @@_orig_* } { + \@@_copy_ctr:nn { * } { @@_orig_* } + \cs_undefine:c { c@ @@_orig_* } + } +} +\end{source} +% +\paragraph{Label saving.} +In the body of each line, we make sure to save the counter, so it's available +for the \cs{label} command. We've aready incremented \code{pseudoline} with +\cs{stepcounter} in the label, so we first need to decrement it before we +again increment it, this time with \cs{refstepcounter}. However, we only do so +if the counter actually \emph{was} incremented, i.e., if it's different from +the last one we saved. +\begin{source} +\cs_new:Nn \@@_save_label: { + + \int_set:Nn \l_tmpa_int {\arabic{pseudoline}} + + \int_compare:nF {\l_tmpa_int = \g_@@_last_saved_line_int} { + \addtocounter{pseudoline}{-1} + \refstepcounter{pseudoline} + \int_gset_eq:NN \g_@@_last_saved_line_int \l_tmpa_int + } + +} + +\DeclareDocumentCommand \pseudosavelabel { } { + \@@_save_label: +} +\end{source} +% +\paragraph{Saving and restoring.} In general, we could just use local +variables and trust the scope mechanism, but if we use global assignments +inside the scope (e.g., because of where in a tabular we must assign things +and use them), the original meaning \emph{won't} be restored. Of course, this +should \emph{not} be used if assignments are local, as it will globally set +the original name to the meaning it had when we entered the scope. + +In saving a macro, we also supply a name for the original, which may then be +used to refer to it until it's restored. +\begin{source} +\cs_new:Nn \@@_gsave_as:NN { + \cs_gset_eq:NN #2 #1 + \group_insert_after:N \cs_gset_eq:NN + \group_insert_after:N #1 + \group_insert_after:N #2 +} +\end{source} +% +\subsection{Styles} + +The first text styling commands are only straight-up shortcuts for normal font +commands: +\begin{source} +\@@_new_cmd:Nnn \nf { } { \normalfont } +\@@_new_cmd:Nnn \tn { m } { \textnormal { #1 } } +\@@_new_cmd:Nnn \kw { m } { \textnormal {\kwfont { #1 } } } +\@@_new_cmd:Nnn \cn { m } { \textnormal {\cnfont { #1 } } } +\@@_new_cmd:Nnn \id { m } { \textnormal {\idfont { #1 } } } +\end{source} +(As a side-effect, we've now also defined \cs{pseudonf} and \cs{pseudotn}, +which we don't really need.) +% +The \refc{pr} command is also a font shortcut, but in addition takes optional +parenthesis-delimited arguments, which are set in math mode: +\begin{source} +\cs_new:Nn \@@_fmt_pr:n { + \textnormal{\prfont{ #1 }} +} +\cs_new:Nn \@@_fmt_pr:nn { + \@@_fmt_pr:n { #1 } + \ensuremath{ ( #2 ) } +} +\@@_new_cmd:Nnn \pr { m !+d() } { + \IfNoValueTF { #2 } { + \@@_fmt_pr:n { #1 } + } { + \@@_fmt_pr:nn { #1 } { #2 } + } +} +\end{source} +The \refc{fn} command is similar, but alternatively permits arguments in +square brackets. +\begin{source} +\cs_new:Nn \@@_fmt_fn:n { + \textnormal{\fnfont{ #1 }} +} +\cs_new:Nn \@@_fmt_fn:nn { + \@@_fmt_fn:n { #1 } + \ensuremath{ ( #2 ) } +} +\cs_new:Nn \@@_fmt_ar:nn { + \@@_fmt_fn:n { #1 } + \ensuremath{ [ #2 ] } +} +\@@_new_cmd:Nnn \fn { m !+o !+d() } { + \IfNoValueTF { #2 } { + \IfNoValueTF { #3 } { + \@@_fmt_fn:n { #1 } + } { + \@@_fmt_fn:nn { #1 } { #3 } + } + } { + \@@_fmt_ar:nn { #1 } { #2 } + \IfNoValueF { #3 } { + ( #3 ) + } + } +} +\end{source} +The \refc{hd} command is similar to \refc{pr} command, except that it spans +two columns (effectively ignoring the labeling column). Because it needs to be +expandable in order to insert the multicolumn, the final, parenthesis-enclosed +argument can not be optional (unlike for \refc{pr}). +\begin{source} +\@@_new_ecmd:Nnn \hd { m +r() } { + \multicolumn{2} + {\@@_hd_preamble} + {\@@_fmt_pr:nn{#1}{#2}} +} +\end{source} +Finally, \refc{st} and \refc{ct} add quotes and comment delimiters, +respectively, to the typeset string, keeping it all in \cs{textnormal}: +\begin{source} +\@@_new_cmd:Nnn \st { +m } { + \textnormal { + \l_@@_st_left_tl {\stfont{#1}} \l_@@_st_right_tl } +} +\@@_new_cmd:Nnn \ct { +m } { + \textnormal { + \l_@@_ct_left_tl {\ctfont{#1}} \l_@@_ct_right_tl } +} +\end{source} +Beyond text styling, we also have styling for entire rows, i.e., highlighting: +\begin{source} +\NewExpandableDocumentCommand \pseudohl { } { + \rowcolor{\pseudohlcolor} +} +\end{source} +% +\paragraph{Declarations.} To declare shortcuts using the various styles, +commands à la \code{DeclareMathOperator} and \code{DeclareDocumentCommand} are +provided: +\begin{source} +\@@_new_dec:nn { Comment } { ct } +\@@_new_dec:nn { Constant } { cn } +\@@_new_dec:nn { Function } { fn } +\@@_new_dec:nn { Identifier } { id } +\@@_new_dec:nn { Keyword } { kw } +\@@_new_dec:nn { Normal } { tn } +\@@_new_dec:nn { Procedure } { pr } +\@@_new_dec:nn { String } { st } +\end{source} +% +\subsection{Notation} + +Here we'll define a couple of symbols that are useful for pseudocode but that +are not necessarily entirely standard mathematical notation. First, the double +equals sign, ubiquitous in modern programming languages, and useful if +\code{=} is used for assignment. The horizontal scaling of the equals signs, +as well as the space between them and the padding on both sides may be +adjusted by using the keys \refk{eqs-scale}, \refk{eqs-sep} and +\refk{eqs-pad}. Initially, these are set to emulate the \cs{eqeq} symbol from +\pkg[https://ctan.org/pkg/stix]{stix} when used with Computer Modern, Latin +Modern or the like (though the command works just fine with other fonts as +well). +\begin{source} +\NewDocumentCommand \eqs { } { + \group_begin: + \muskip_set:Nn \l_tmpa_muskip \l_@@_eqs_pad_tl + \muskip_set:Nn \l_tmpb_muskip \l_@@_eqs_sep_tl + \hbox_set:Nn \l_tmpa_box {\(=\)} + \box_scale:Nnn \l_tmpa_box {\l_@@_eqs_scale_fp}{1} + \mathrel{ + \tex_mskip:D \l_tmpa_muskip + \box_use:N \l_tmpa_box + \tex_mskip:D \l_tmpb_muskip + \box_use_drop:N \l_tmpa_box + \tex_mskip:D \l_tmpa_muskip + } + \group_end: +} +\end{source} +For convenience and source-code clarity, the following shortcut (i.e., +\cs{==}) is defined (hijacking the \cs{=} accent command): +\begin{source} +\cs_gset_eq:NN \c_@@_orig_eq_cs \= + +\DeclareDocumentCommand \= { m } { + \tl_if_eq:nnTF { #1 } { = } { + \eqs + } { + \c_@@_orig_eq_cs{#1} + } +} + +\cs_gset_eq:NN \@@_eq: \= % Stored for \pseudoeq +\end{source} +Similarly, there's the +\href{https://proofwiki.org/wiki/Definition:Real_Interval/Notation/Wirth}{Pascal +two-dot interval notation}, whose implementation mirrors Knuth's \cs{dts} +command from Concrete Mathematics (see +\pkg[https://ctan.org/pkg/gkpmac]{gkpmac.tex}). + +\begin{source} +\cs_new:Nn \@@_dts: { + \mathinner { + \ldotp + \ldotp + } +} + +\NewDocumentCommand \dts { } { \@@_dts: } +\end{source} +% +There's a shortcut (\cs{..}) defined for this as well (this time hijacking +\cs{.}): +\begin{source} +\cs_gset_eq:NN \c_@@_dot_cs \. + +\DeclareDocumentCommand \. { m } { + \tl_if_eq:nnTF { #1 } { . } { + \dts + } { + \c_@@_dot_cs{#1} + } +} +\end{source} +% +\subsection{Options} +\label{sec:options} + +Much of the behavior of \pkg{pseudo} may be configured through various +options, and these are defined below. You provide these either through +\refc{pseudoset} or (where applicable) as optional arguments to +\refc{\bslash} or the \refe{pseudo} environment itself. + +The \cs{usepackage} options (handled by +\pkg[https://ctan.org/pkg/l3keys2e]{l3keys2e}) are subject to full expansion, +an so many options simply won't work. In order to make the \refk{kw} option as +easily available as possible, however, we permit it here, by way of a +\code{bool} that triggers the \emph{actual} key later on: + +\begin{source} +\keys_define:nn { pseudo/package } { + kw .bool_gset:N = \g_@@_kw_bool, + kw .default:n = true +} +\ProcessKeysOptions{ pseudo/package } +\end{source} +% +We now define the actual keys used by \refc{pseudoset}. Note that \refk{hpad} +and \refk{hsep} do \emph{not} use \verb|.dim_set:N|. This is because the +\code{dim} would then be interpreted at the point where it's \emph{set}, and +not where it's \emph{used}. If we use units like \code{em} and \code{ex}, +which depend on the font and font size, the spacing would not be updated if we +change these things between setting \code{hpad} and \code{hsep} and actually +typesetting the pseudocode. + +\begin{source} +\keys_define:nn { pseudo } { + + font .tl_set:N = \pseudofont, + font .initial:n = \normalfont, + + hpad .tl_set:N = \l_@@_hpad_tl, + hpad .initial:n = 0.0em, + hpad .default:n = 0.3em, + + hsep .tl_set:N = \l_@@_hsep_tl, + hsep .initial:n = .75em, + + label .tl_set:N = \l_@@_label_tl, + label .initial:n = \arabic*, + + label-align .code:n = + \@@_def_col:nn{ \pseudolabelalign }{#1}, + label-align .initial:n = r, + + ref .tl_set:N = \thepseudoline, + ref .default:n = \l_@@_label_tl, + + indent-length .tl_set:N = \l_@@_indent_length_tl, + indent-length .initial:V = \c_novalue_tl, + + indent-text .tl_set:N = \l_@@_indent_text_tl, + indent-text .initial:n = { \pseudofont\kw{else}\ }, + + indent-level .int_set:N = \l_@@_initial_indent_level_int, + + kwfont .tl_set:N = \kwfont, + kwfont .initial:n = \fontseries{b}\selectfont, + + kw .meta:n = { font = \kwfont }, + kw .value_forbidden:n = true, + + hl .meta:n = { bol-prepend = \pseudohl }, + hl .value_forbidden:n = true, + + bol .tl_set:N = \l_@@_bol_tl, + bol-append .code:n = { + \tl_put_right:Nn \l_@@_bol_tl {#1} + }, + bol-prepend .code:n = { + \tl_put_left:Nn \l_@@_bol_tl {#1} + }, + + eol .tl_set:N = \l_@@_eol_tl, + eol-append .code:n = { + \tl_put_right:Nn \l_@@_eol_tl {#1} + }, + eol-prepend .code:n = { + \tl_put_left:Nn \l_@@_eol_tl {#1} + }, + + % Defined differently in beamer -- see below + pause .meta:n = , + pause .value_forbidden:n = true, + + cnfont .tl_set:N = \cnfont, + cnfont .initial:n = \textsc, + + idfont .tl_set:N = \idfont, + idfont .initial:n = \textit, + + stfont .tl_set:N = \stfont, + stfont .initial:n = \textnormal, + + st-left .tl_set:N = \l_@@_st_left_tl, + st-left .initial:n = ``, + + st-right .tl_set:N = \l_@@_st_right_tl, + st-right .initial:n = '', + + prfont .tl_set:N = \prfont, + prfont .initial:n = \cnfont, + + fnfont .tl_set:N = \fnfont, + fnfont .initial:n = \idfont, + + ctfont .tl_set:N = \ctfont, + ctfont .initial:n = \textit, + + ct-left .tl_set:N = \l_@@_ct_left_tl, + ct-left .initial:n = (, + + ct-right .tl_set:N = \l_@@_ct_right_tl, + ct-right .initial:n = ), + + hl-color .tl_set:N = \pseudohlcolor, + hl-color .initial:n = black!12, + + dim-color .tl_set:N = \pseudodimcolor, + dim-color .initial:n = \pseudohlcolor, + + dim .meta:n = { + bol-append = \color{\pseudohlcolor}, + setup-append = \color{\pseudohlcolor} + }, + + line-height .fp_set:N = \l_@@_line_height_fp, + line-height .initial:n = 1, + + start .tl_set:N = \l_@@_start_tl, + start .initial:n = 1, +\end{source} +% +\paragraph{Line structure.} The preamble for the internal \code{tabular} is +defined as a single column type, to make it easier to apply it despite the +\pkg[https://ctan.org/pkg/array]{array} protections against expansion. +\begin{source} + preamble .code:n = + \@@_def_col:nn{ \pseudopreamble }{#1}, +\end{source} +The preamble is laid out as described in \cref{sec:reference}: +\label{p:preamble}% +\begin{source} + preamble .initial:n = { + >{ \pseudohpad } + \pseudolabelalign + >{ \pseudosetup } + l + <{ \pseudohpad } + }, + setup .tl_set:N = \l_@@_setup_tl, + setup .initial:n = { + \pseudoindent \pseudofont \pseudosavelabel + }, + + setup-append .code:n = { + \tl_put_right:Nn \l_@@_setup_tl {#1} + }, + setup-prepend .code:n = { + \tl_put_left:Nn \l_@@_setup_tl {#1} + }, +\end{source} +\noindent +The preamble used for multicolumns is treated similarly: +\label{p:hdpreamble}% +\begin{source} + hd-preamble .code:n = + \@@_def_col:nn{ \@@_hd_preamble }{#1}, + hd-preamble .initial:n = { + >{\pseudohpad} l <{\pseudohpad} + }, +\end{source} +The prefix is inserted by the row separator command. +\label{p:prefix}% +\begin{source} + prefix .tl_set:N = \pseudoprefix, + prefix .initial:n = { + \pseudobol \stepcounter* \pseudolabel & + }, + + begin-tabular .tl_set:N = \l_@@_begin_tabular_tl, + begin-tabular .initial:n = \begin{tabular}{\pseudopreamble}, + + end-tabular .tl_set:N = \l_@@_end_tabular_tl, + end-tabular .initial:n = \end{tabular}, +\end{source} +\paragraph{Details.} Finally, some tweakable parameters. +\begin{source} + eqs-scale .fp_set:N = \l_@@_eqs_scale_fp, + eqs-scale .initial:n = 0.6785, + + eqs-sep .tl_set:N = \l_@@_eqs_sep_tl, + eqs-sep .initial:n = 0.63mu, + + eqs-pad .tl_set:N = \l_@@_eqs_pad_tl, + eqs-pad .initial:n = 0.28mu, + +} +\end{source} +% +Now that we've defined the real \refk{kw} key, we reexamine the placeholder +handled by \pkg[https://ctan.org/pkg/l3keys2e]{l3keys2e}: +\begin{source} +\bool_if:NT \g_@@_kw_bool { + \keys_set:nn { pseudo } { kw } +} +\end{source} +% +\paragraph{Beamer overlays.} +We redefine the \refk{pause} key if we're using +\pkg[https://ctan.org/pkg/beamer]{beamer}: +\begin{source} +\bool_if:NT \c_@@_beamer_bool { + \keys_define:nn { pseudo } { + pause .meta:n = { eol-append = \pause } + } +} +\end{source} +There's also the mechanism for handling overlay specifications on keys. Here +we handle unknown keys by checking if they end with an overlay specification, +and if they do, and we're in \pkg[https://ctan.org/pkg/beamer]{beamer}, we +extract it. Outside \pkg[https://ctan.org/pkg/beamer]{beamer}, keys with +overlays are simply ignored. + +Note that because unknown keys currently can't have a default (which we could, +in this case, use for some kind of marker, indicating no value was supplied), +the only solution is to treat an empty value the same way as no value, in this +case. This means that \code{foo<1>} and \code{foo<1>=\braces{}} are +equivalent, and both will trigger the default of \code{foo}, even though the +latter of the two really shouldn't.\footnote{See +\url{https://github.com/latex3/latex3/issues/67}.} +\begin{source} +\cs_new:Nn \@@_keys_set_overlay:nnn { + \bool_if:NT \c_@@_beamer_bool { + \only<#1>{ \keys_set:nn { #2 } { #3 } } + } +} +\cs_generate_variant:Nn \@@_keys_set_overlay:nnn { VnV } +\msg_new:nnn { pseudo } { unknown-key } { + Unknown~key~'#1'~ignored. +} +\keys_define:nn { pseudo } { + unknown .code:n = { + \tl_set_eq:NN \l_tmpa_tl \l_keys_key_tl + \regex_extract_once:nVNTF {\A (.*) < (.*) > \Z} + \l_tmpa_tl \l_tmpa_seq { + \seq_pop_right:NN \l_tmpa_seq \l_tmpb_tl + \seq_pop_right:NN \l_tmpa_seq \l_tmpa_tl + \tl_if_blank:nF{#1} { + \tl_put_right:Nn \l_tmpa_tl {= #1} + } + \@@_keys_set_overlay:VnV + \l_tmpb_tl { pseudo } \l_tmpa_tl + }{ + \msg_error:nnx + { pseudo } { unknown-key } { \l_keys_path_tl } + } + } +} +\end{source} +% +\paragraph{Option processing.} To let the user work with the options (other +than when they're available as optional arguments to other commands), we +supply a command for setting them. +\begin{source} +\cs_new:Nn \@@_set:n { \keys_set:nn { pseudo } { #1 } } +\end{source} +% +\subsection{The row separator} + +Much of the work of the \refe{pseudo} environment is performed by the row +separator, that is, the \refc{\bslash} command; whatever part of the line +structure (see \cref{sec:reference}) that's not in the \refk{preamble} must be +handled by \refc{\bslash}. For example, this is where the \refk{prefix} gets +inserted. One reason for this is that there is no straightforward way to +insert the column separator (\code{\&}) from the \refk{preamble} itself; and +if you want to prevent the column separator insertion because you need to to +some custom work in the first column, you'll probably want to suppress other +parts of the \refk{prefix} as well, so they might as well be collected in one +place. + +Beyond inserting material such as \cs{tabularnewline}s and \refk{prefix} +contents, \refc{\bslash} is also an entrypoint for local customization, i.e., +modifying the indentation level and setting any locally meaningful keys. + +\bigskip + +\paragraph{Indentation utilities.} First we have some functions for modifying +the indentation level---essentially just incrementing, decrementing and +setting it to zero. +\begin{source} +\cs_new:Nn \@@_inc_indent: { + \int_gincr:N \g_@@_indent_level_int +} + +\cs_new:Nn \@@_dec_indent: { +\end{source} +If the user happens to dedent too much, we might as well be a bit forgiving, +and clamp the indent level to non-negative values: +\begin{source} + \int_compare:nNnT \g_@@_indent_level_int > \c_zero_int { + \int_gdecr:N \g_@@_indent_level_int + } +} +\end{source} +% +\paragraph{The actual row separator.} The command consists of a few +interacting macros. The implementation of \refc{\bslash} is +\verb|@@_eol:|, but that is just a thin wrapper that counts pluses and +minuses, before handing the control over to \verb|@@_eol_tail|. This is where +the remaining argument parsing takes place, and the \cs{tabularnewline} is +inserted, after which controll is passed to \verb|\@@_bol:| in order to begin +a new line---unless we're at the end of the environment. + +\begin{source} +\cs_new:Nn \@@_eol_handle_args:nnn { + \@@_keys_set_overlay:nnn { #2 } { pseudo } { hl } + \keys_set:nn { pseudo } { #3 } +\end{source} +The variables underlying the keys (\verb|\l_@@_label_tl|, etc.) are kept +local, so they'll be restored after the environment, but in order to carry +over to the next line and its preamble, we need to perform some global +assignments here. +\begin{source} + \tl_gset_eq:NN \pseudolabel \l_@@_label_tl + \tl_gset_eq:NN \pseudobol \l_@@_bol_tl + \tl_gset_eq:NN \pseudoeol \l_@@_eol_tl + \tl_gset_eq:NN \pseudosetup \l_@@_setup_tl +\end{source} +If starred, clear out the prefix: +\begin{source} + \IfBooleanTF { #1 } { + \tl_gclear:N \g_@@_cur_prefix_tl + } { + \tl_gset_eq:NN \g_@@_cur_prefix_tl \pseudoprefix + } +} +\NewDocumentCommand \@@_eol_tail { !s d<> +O{ } } { + \@@_eol_handle_args:nnn{#1}{#2}{#3} +\end{source} +A new line is begun only if we're not at the end of the (or, at least of +\emph{some}) environment. (We could have put the \cs{tabularnewline} outside, +but then we'd have a conditional at the beginning of the next line, which +would mess up \cs{bottomrule} or the like. We need to keep \verb|\@@_bol:| +alone at the start of the line.) +\begin{source} + \peek_meaning_ignore_spaces:NF \end { + \pseudoeol + \tabularnewline + \@@_bol: + } +} +\end{source} +And here is the actual \verb|\@@_eol:| command: +\begin{source} +\cs_new:Nn \@@_eol: { + + \@@_per_char:nnn { + } { + \@@_inc_indent: + } { + \@@_per_char:nnn { - } { + \@@_dec_indent: + } { + \@@_eol_tail + } } + +} +\end{source} +% +The \verb|\@@_bol:| command (currently) just inserts the \refk{prefix}: +\begin{source} +\cs_new:Nn \@@_bol: { + \g_@@_cur_prefix_tl +} +\end{source} +% +\subsection{Various user commands} + +A few user-level wrappers around internal commands. First, a couple primarily +for use in the \refk{preamble}, together with \refc{pseudosavelabel} and +\refc{pseudofont}: +\begin{source} +\NewDocumentCommand \pseudohpad { } { + \skip_horizontal:n { \l_@@_hpad_tl - \tabcolsep } +} +\NewDocumentCommand \pseudoindent { } { + \@@_indent:N { \g_@@_indent_level_int } +} +\end{source} +\noindent +The \refc{pseudoslash} command simply redefines the row separator, and is used at +the start of the \refe{pseudo} environment. It may be useful for the user if +some other construct redefines \refc{\bslash} as well. (This is similar to the +\cs{arraycr} command of the \pkg[https://ctan.org/pkg/array]{array} package.) +\begin{source} +\NewDocumentCommand \pseudoslash { } { + \cs_gset_eq:NN \\ \@@_eol: +} +\end{source} +We also have a command for restoring our definition of \cs{=} if it has been +overwritten: +\begin{source} +\NewDocumentCommand \pseudoeq { } { + \cs_gset_eq:NN \= \@@_eq: +} +\end{source} +Finally, two utilities for working with options. The first (\refc{pseudoset}) +directly sets a collection of keys, while the second +(\refc{pseudodefinestyle}) defines a new key which can be used as a shortcut +for setting multiple keys at some later point: +\begin{source} +\NewDocumentCommand \pseudoset { +m } + { \@@_set:n { #1 } } + +\NewDocumentCommand \pseudodefinestyle { m +m } { + \keys_define:nn { pseudo } { + #1 .meta:n = { + #2 + } + } +} +\end{source} +% +% Not allowed to use \code in header, here: +\subsection{The \texttt{pseudo} environment} + +While this is the main attraction, it's essentially just an augmented +\code{tabular} environment, which does a bit of setup initially, using the +various macros already described. + +\begin{source} +\NewDocumentEnvironment { pseudo } { !+o !s d<> +O{ } } { + + \group_begin: + \@@_gsave_as:NN \\ \c_@@_saved_cr_cs + \@@_gsave_as:NN \= \c_@@_saved_eq_cs + + % \pseudoslash is inside the tabular + \pseudoeq + + \int_set:Nn \g_@@_last_saved_line_int {\arabic{pseudoline}} + \@@_star_setup: + + \IfNoValueF { #1 } { + \pseudoset { #1 } + } + \@@_set_indent_length: + + \dim_set:Nn \tabcolsep { \l_@@_hsep_tl / 2 } + \tl_set:Nn \arraystretch + { \fp_to_decimal:n { \l_@@_line_height_fp } } + + \stepcounter{pseudoenv} + \setcounter{pseudoline}{\l_@@_start_tl} + \addtocounter{pseudoline}{-1} + + \tl_use:N \l_@@_begin_tabular_tl +\end{source} +We use \cs{noalign} to be able to place these definitions inside the tabular, +without messing up \cs{multicolumn} or \cs{hline} or the like. It's not really +supposed to be used in \pkg[https://ctan.org/pkg/expl3]{expl3}; the +alternative would be to create an extra dummy line, like: +\begin{texexp}[listing only] +\skip_vertical:n{ -\dim_eval:n{ \box_ht:N \@arstrutbox + + \box_dp:N \@arstrutbox } } +\tabularnewline +\end{texexp} +This would give us a fresh start, without moving vertically. It's probably +more hacky than just using \cs{noalign} here, though, so\,\dots +\begin{source} + \tex_noalign:D { +\end{source} +We keep the \refc{\bslash}-definition inside the \code{tabular}, to override +the redefinition placed there by \pkg[https://ctan.org/pkg/array]{array}, +without patching any internals: +\begin{source} + \pseudoslash +\end{source} +In a \code{tabularx}, for example, the body is executed multiple times, so we +must make sure that any resets that are performed---such as setting the +initial indentation level---are performed each time: +\begin{source} + \int_gset_eq:NN \g_@@_indent_level_int + \l_@@_initial_indent_level_int +\end{source} +Finally, we handle the line arguments, just like with the row separator: +\begin{source} + \@@_eol_handle_args:nnn{#2}{#3}{#4} + } +\end{source} +Definitions and setup are done, we've left the \cs{noalign}, and we can start +the line: +\begin{source} + + \@@_bol: + +} { + + \tl_use:N \l_@@_end_tabular_tl + + \group_end: + +} +\end{source} +The starred version of the environment is just a wrapper that uses the custom +(and overridable) \code{starred} style: +\label{p:starred}% +\begin{source} +\pseudodefinestyle{starred}{ + preamble={ + >{\pseudohpad\pseudoindent\pseudofont} + l + <{\pseudohpad} + }, + prefix={\pseudobol}, +} + +\NewDocumentEnvironment { pseudo* } { +O{} } { + \begin{pseudo}[starred, #1] + % \begin{pseudo} will "eat" any remaining arguments to pseudo* +} { + \end{pseudo} +} +\end{source} +% +\printbibliography + +\end{document} + diff --git a/pseudo.sty b/pseudo.sty new file mode 100644 index 0000000..be50cdd --- /dev/null +++ b/pseudo.sty @@ -0,0 +1,503 @@ +% MIT License +% +% Copyright (c) 2019 Magnus Lie Hetland +% +% Permission is hereby granted, free of charge, to any person obtaining a copy +% of this software and associated documentation files (the "Software"), to deal +% in the Software without restriction, including without limitation the rights +% to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +% copies of the Software, and to permit persons to whom the Software is +% furnished to do so, subject to the following conditions: +% +% The above copyright notice and this permission notice shall be included in all +% copies or substantial portions of the Software. +% +% THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +% IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +% FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +% AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +% LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +% OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +% SOFTWARE. +% +\def \pseudoversion {1.0} +\def \pseudodate {2019-06-22} +\RequirePackage{expl3} +\ProvidesExplPackage + {pseudo} + {\pseudodate} + {\pseudoversion} + {Straightforward pseudocode} +\RequirePackage{xparse} +\RequirePackage{array, xcolor, colortbl} +\RequirePackage{l3keys2e} +\RequirePackage{aliascnt} +\bool_new:N \c__pseudo_beamer_bool +\@ifclassloaded{beamer} + {\bool_set_true:N \c__pseudo_beamer_bool} + {\bool_set_false:N \c__pseudo_beamer_bool} +\newcounter{pseudoenv} +\newcounter{pseudoline}[pseudoenv] +\int_new:N \g__pseudo_last_saved_line_int +\dim_new:N \pseudoindentlength +\int_new:N \g__pseudo_indent_level_int +\int_new:N \l__pseudo_initial_indent_level_int +\cs_generate_variant:Nn \tl_if_novalue:nTF { VTF } +\cs_generate_variant:Nn \regex_extract_once:nnNTF { nVNTF } +\cs_new:Nn \__pseudo_undef_col:n { + \tl_set_eq:cN { NC@find@ \token_to_str:N #1 } \scan_stop: +} +\cs_new:Nn \__pseudo_def_col:nn { + \__pseudo_undef_col:n { #1 } + \newcolumntype { #1 } { #2 } +} +\cs_new:Nn \__pseudo_meta_new_cmd:NNnn { + \tl_set:Nn \l_tmpa_tl {pseudo \cs_to_str:N #2} + \exp_args:Nc + #1 \l_tmpa_tl {#3} {#4} + \cs_if_free:NT #2 {\cs_gset_eq:Nc #2 \l_tmpa_tl} +} +\cs_new:Nn \__pseudo_new_cmd:Nnn { + \__pseudo_meta_new_cmd:NNnn + \NewDocumentCommand #1 {#2} { + #3 + } +} +\cs_new:Nn \__pseudo_new_ecmd:Nnn { + \__pseudo_meta_new_cmd:NNnn + \NewExpandableDocumentCommand #1 {#2} { + #3 + } +} +\cs_new:Nn \__pseudo_new_dec:nn { + \tl_set:Nn \l_tmpa_tl { DeclarePseudo #1 } + \exp_args:Nc + \DeclareDocumentCommand \l_tmpa_tl { mm } { + \DeclareDocumentCommand ##1 { } { + \use:c { #2 } { ##2 } + } + } +} +\cs_new:Nn \__pseudo_per_char:nnn { + \peek_charcode_remove:NTF { #1 } { + #2 + \__pseudo_per_char:nnn{#1}{#2}{#3} + } { + #3 + } +} +\cs_new:Nn \__pseudo_set_indent_length: { + \tl_if_novalue:VTF \l__pseudo_indent_length_tl { + \hbox_set:Nn \l_tmpa_box { \l__pseudo_indent_text_tl } + \dim_set:Nn \pseudoindentlength { \box_wd:N \l_tmpa_box } + } { + \dim_set:Nn \pseudoindentlength \l__pseudo_indent_length_tl + } +} +\cs_new:Nn \__pseudo_indent:N { + \skip_horizontal:n{ \pseudoindentlength * #1 } + \ignorespaces +} +\cs_new:Nn \__pseudo_drop_ctr:n { + \cs_undefine:c { c@ #1 } +} +\cs_new:Nn \__pseudo_copy_ctr:nn { + \__pseudo_drop_ctr:n { #1 } + \newaliascnt { #1 } { #2 } +} +\cs_new:Nn \__pseudo_star_setup: { + \cs_if_exist:cT { c@ * } { + \__pseudo_copy_ctr:nn { __pseudo_orig_* } { * } + } + \__pseudo_copy_ctr:nn { * } { pseudoline } + \group_insert_after:N \__pseudo_star_reset: +} +\cs_new:Nn \__pseudo_star_reset: { + \cs_if_exist:cT { c@ __pseudo_orig_* } { + \__pseudo_copy_ctr:nn { * } { __pseudo_orig_* } + \cs_undefine:c { c@ __pseudo_orig_* } + } +} +\cs_new:Nn \__pseudo_save_label: { + \int_set:Nn \l_tmpa_int {\arabic{pseudoline}} + \int_compare:nF {\l_tmpa_int = \g__pseudo_last_saved_line_int} { + \addtocounter{pseudoline}{-1} + \refstepcounter{pseudoline} + \int_gset_eq:NN \g__pseudo_last_saved_line_int \l_tmpa_int + } +} +\DeclareDocumentCommand \pseudosavelabel { } { + \__pseudo_save_label: +} +\cs_new:Nn \__pseudo_gsave_as:NN { + \cs_gset_eq:NN #2 #1 + \group_insert_after:N \cs_gset_eq:NN + \group_insert_after:N #1 + \group_insert_after:N #2 +} +\__pseudo_new_cmd:Nnn \nf { } { \normalfont } +\__pseudo_new_cmd:Nnn \tn { m } { \textnormal { #1 } } +\__pseudo_new_cmd:Nnn \kw { m } { \textnormal {\kwfont { #1 } } } +\__pseudo_new_cmd:Nnn \cn { m } { \textnormal {\cnfont { #1 } } } +\__pseudo_new_cmd:Nnn \id { m } { \textnormal {\idfont { #1 } } } +\cs_new:Nn \__pseudo_fmt_pr:n { + \textnormal{\prfont{ #1 }} +} +\cs_new:Nn \__pseudo_fmt_pr:nn { + \__pseudo_fmt_pr:n { #1 } + \ensuremath{ ( #2 ) } +} +\__pseudo_new_cmd:Nnn \pr { m !+d() } { + \IfNoValueTF { #2 } { + \__pseudo_fmt_pr:n { #1 } + } { + \__pseudo_fmt_pr:nn { #1 } { #2 } + } +} +\cs_new:Nn \__pseudo_fmt_fn:n { + \textnormal{\fnfont{ #1 }} +} +\cs_new:Nn \__pseudo_fmt_fn:nn { + \__pseudo_fmt_fn:n { #1 } + \ensuremath{ ( #2 ) } +} +\cs_new:Nn \__pseudo_fmt_ar:nn { + \__pseudo_fmt_fn:n { #1 } + \ensuremath{ [ #2 ] } +} +\__pseudo_new_cmd:Nnn \fn { m !+o !+d() } { + \IfNoValueTF { #2 } { + \IfNoValueTF { #3 } { + \__pseudo_fmt_fn:n { #1 } + } { + \__pseudo_fmt_fn:nn { #1 } { #3 } + } + } { + \__pseudo_fmt_ar:nn { #1 } { #2 } + \IfNoValueF { #3 } { + ( #3 ) + } + } +} +\__pseudo_new_ecmd:Nnn \hd { m +r() } { + \multicolumn{2} + {\__pseudo_hd_preamble} + {\__pseudo_fmt_pr:nn{#1}{#2}} +} +\__pseudo_new_cmd:Nnn \st { +m } { + \textnormal { + \l__pseudo_st_left_tl {\stfont{#1}} \l__pseudo_st_right_tl } +} +\__pseudo_new_cmd:Nnn \ct { +m } { + \textnormal { + \l__pseudo_ct_left_tl {\ctfont{#1}} \l__pseudo_ct_right_tl } +} +\NewExpandableDocumentCommand \pseudohl { } { + \rowcolor{\pseudohlcolor} +} +\__pseudo_new_dec:nn { Comment } { ct } +\__pseudo_new_dec:nn { Constant } { cn } +\__pseudo_new_dec:nn { Function } { fn } +\__pseudo_new_dec:nn { Identifier } { id } +\__pseudo_new_dec:nn { Keyword } { kw } +\__pseudo_new_dec:nn { Normal } { tn } +\__pseudo_new_dec:nn { Procedure } { pr } +\__pseudo_new_dec:nn { String } { st } +\NewDocumentCommand \eqs { } { + \group_begin: + \muskip_set:Nn \l_tmpa_muskip \l__pseudo_eqs_pad_tl + \muskip_set:Nn \l_tmpb_muskip \l__pseudo_eqs_sep_tl + \hbox_set:Nn \l_tmpa_box {\(=\)} + \box_scale:Nnn \l_tmpa_box {\l__pseudo_eqs_scale_fp}{1} + \mathrel{ + \tex_mskip:D \l_tmpa_muskip + \box_use:N \l_tmpa_box + \tex_mskip:D \l_tmpb_muskip + \box_use_drop:N \l_tmpa_box + \tex_mskip:D \l_tmpa_muskip + } + \group_end: +} +\cs_gset_eq:NN \c__pseudo_orig_eq_cs \= +\DeclareDocumentCommand \= { m } { + \tl_if_eq:nnTF { #1 } { = } { + \eqs + } { + \c__pseudo_orig_eq_cs{#1} + } +} +\cs_gset_eq:NN \__pseudo_eq: \= +\cs_new:Nn \__pseudo_dts: { + \mathinner { + \ldotp + \ldotp + } +} +\NewDocumentCommand \dts { } { \__pseudo_dts: } +\cs_gset_eq:NN \c__pseudo_dot_cs \. +\DeclareDocumentCommand \. { m } { + \tl_if_eq:nnTF { #1 } { . } { + \dts + } { + \c__pseudo_dot_cs{#1} + } +} +\keys_define:nn { pseudo/package } { + kw .bool_gset:N = \g__pseudo_kw_bool, + kw .default:n = true +} +\ProcessKeysOptions{ pseudo/package } +\keys_define:nn { pseudo } { + font .tl_set:N = \pseudofont, + font .initial:n = \normalfont, + hpad .tl_set:N = \l__pseudo_hpad_tl, + hpad .initial:n = 0.0em, + hpad .default:n = 0.3em, + hsep .tl_set:N = \l__pseudo_hsep_tl, + hsep .initial:n = .75em, + label .tl_set:N = \l__pseudo_label_tl, + label .initial:n = \arabic*, + label-align .code:n = + \__pseudo_def_col:nn{ \pseudolabelalign }{#1}, + label-align .initial:n = r, + ref .tl_set:N = \thepseudoline, + ref .default:n = \l__pseudo_label_tl, + indent-length .tl_set:N = \l__pseudo_indent_length_tl, + indent-length .initial:V = \c_novalue_tl, + indent-text .tl_set:N = \l__pseudo_indent_text_tl, + indent-text .initial:n = { \pseudofont\kw{else}\ }, + indent-level .int_set:N = \l__pseudo_initial_indent_level_int, + kwfont .tl_set:N = \kwfont, + kwfont .initial:n = \fontseries{b}\selectfont, + kw .meta:n = { font = \kwfont }, + kw .value_forbidden:n = true, + hl .meta:n = { bol-prepend = \pseudohl }, + hl .value_forbidden:n = true, + bol .tl_set:N = \l__pseudo_bol_tl, + bol-append .code:n = { + \tl_put_right:Nn \l__pseudo_bol_tl {#1} + }, + bol-prepend .code:n = { + \tl_put_left:Nn \l__pseudo_bol_tl {#1} + }, + eol .tl_set:N = \l__pseudo_eol_tl, + eol-append .code:n = { + \tl_put_right:Nn \l__pseudo_eol_tl {#1} + }, + eol-prepend .code:n = { + \tl_put_left:Nn \l__pseudo_eol_tl {#1} + }, + pause .meta:n = , + pause .value_forbidden:n = true, + cnfont .tl_set:N = \cnfont, + cnfont .initial:n = \textsc, + idfont .tl_set:N = \idfont, + idfont .initial:n = \textit, + stfont .tl_set:N = \stfont, + stfont .initial:n = \textnormal, + st-left .tl_set:N = \l__pseudo_st_left_tl, + st-left .initial:n = ``, + st-right .tl_set:N = \l__pseudo_st_right_tl, + st-right .initial:n = '', + prfont .tl_set:N = \prfont, + prfont .initial:n = \cnfont, + fnfont .tl_set:N = \fnfont, + fnfont .initial:n = \idfont, + ctfont .tl_set:N = \ctfont, + ctfont .initial:n = \textit, + ct-left .tl_set:N = \l__pseudo_ct_left_tl, + ct-left .initial:n = (, + ct-right .tl_set:N = \l__pseudo_ct_right_tl, + ct-right .initial:n = ), + hl-color .tl_set:N = \pseudohlcolor, + hl-color .initial:n = black!12, + dim-color .tl_set:N = \pseudodimcolor, + dim-color .initial:n = \pseudohlcolor, + dim .meta:n = { + bol-append = \color{\pseudohlcolor}, + setup-append = \color{\pseudohlcolor} + }, + line-height .fp_set:N = \l__pseudo_line_height_fp, + line-height .initial:n = 1, + start .tl_set:N = \l__pseudo_start_tl, + start .initial:n = 1, + preamble .code:n = + \__pseudo_def_col:nn{ \pseudopreamble }{#1}, + preamble .initial:n = { + >{ \pseudohpad } + \pseudolabelalign + >{ \pseudosetup } + l + <{ \pseudohpad } + }, + setup .tl_set:N = \l__pseudo_setup_tl, + setup .initial:n = { + \pseudoindent \pseudofont \pseudosavelabel + }, + setup-append .code:n = { + \tl_put_right:Nn \l__pseudo_setup_tl {#1} + }, + setup-prepend .code:n = { + \tl_put_left:Nn \l__pseudo_setup_tl {#1} + }, + hd-preamble .code:n = + \__pseudo_def_col:nn{ \__pseudo_hd_preamble }{#1}, + hd-preamble .initial:n = { + >{\pseudohpad} l <{\pseudohpad} + }, + prefix .tl_set:N = \pseudoprefix, + prefix .initial:n = { + \pseudobol \stepcounter* \pseudolabel & + }, + begin-tabular .tl_set:N = \l__pseudo_begin_tabular_tl, + begin-tabular .initial:n = \begin{tabular}{\pseudopreamble}, + end-tabular .tl_set:N = \l__pseudo_end_tabular_tl, + end-tabular .initial:n = \end{tabular}, + eqs-scale .fp_set:N = \l__pseudo_eqs_scale_fp, + eqs-scale .initial:n = 0.6785, + eqs-sep .tl_set:N = \l__pseudo_eqs_sep_tl, + eqs-sep .initial:n = 0.63mu, + eqs-pad .tl_set:N = \l__pseudo_eqs_pad_tl, + eqs-pad .initial:n = 0.28mu, +} +\bool_if:NT \g__pseudo_kw_bool { + \keys_set:nn { pseudo } { kw } +} +\bool_if:NT \c__pseudo_beamer_bool { + \keys_define:nn { pseudo } { + pause .meta:n = { eol-append = \pause } + } +} +\cs_new:Nn \__pseudo_keys_set_overlay:nnn { + \bool_if:NT \c__pseudo_beamer_bool { + \only<#1>{ \keys_set:nn { #2 } { #3 } } + } +} +\cs_generate_variant:Nn \__pseudo_keys_set_overlay:nnn { VnV } +\msg_new:nnn { pseudo } { unknown-key } { + Unknown~key~'#1'~ignored. +} +\keys_define:nn { pseudo } { + unknown .code:n = { + \tl_set_eq:NN \l_tmpa_tl \l_keys_key_tl + \regex_extract_once:nVNTF {\A (.*) < (.*) > \Z} + \l_tmpa_tl \l_tmpa_seq { + \seq_pop_right:NN \l_tmpa_seq \l_tmpb_tl + \seq_pop_right:NN \l_tmpa_seq \l_tmpa_tl + \tl_if_blank:nF{#1} { + \tl_put_right:Nn \l_tmpa_tl {= #1} + } + \__pseudo_keys_set_overlay:VnV + \l_tmpb_tl { pseudo } \l_tmpa_tl + }{ + \msg_error:nnx + { pseudo } { unknown-key } { \l_keys_path_tl } + } + } +} +\cs_new:Nn \__pseudo_set:n { \keys_set:nn { pseudo } { #1 } } +\cs_new:Nn \__pseudo_inc_indent: { + \int_gincr:N \g__pseudo_indent_level_int +} +\cs_new:Nn \__pseudo_dec_indent: { + \int_compare:nNnT \g__pseudo_indent_level_int > \c_zero_int { + \int_gdecr:N \g__pseudo_indent_level_int + } +} +\cs_new:Nn \__pseudo_eol_handle_args:nnn { + \__pseudo_keys_set_overlay:nnn { #2 } { pseudo } { hl } + \keys_set:nn { pseudo } { #3 } + \tl_gset_eq:NN \pseudolabel \l__pseudo_label_tl + \tl_gset_eq:NN \pseudobol \l__pseudo_bol_tl + \tl_gset_eq:NN \pseudoeol \l__pseudo_eol_tl + \tl_gset_eq:NN \pseudosetup \l__pseudo_setup_tl + \IfBooleanTF { #1 } { + \tl_gclear:N \g__pseudo_cur_prefix_tl + } { + \tl_gset_eq:NN \g__pseudo_cur_prefix_tl \pseudoprefix + } +} +\NewDocumentCommand \__pseudo_eol_tail { !s d<> +O{ } } { + \__pseudo_eol_handle_args:nnn{#1}{#2}{#3} + \peek_meaning_ignore_spaces:NF \end { + \pseudoeol + \tabularnewline + \__pseudo_bol: + } +} +\cs_new:Nn \__pseudo_eol: { + \__pseudo_per_char:nnn { + } { + \__pseudo_inc_indent: + } { + \__pseudo_per_char:nnn { - } { + \__pseudo_dec_indent: + } { + \__pseudo_eol_tail + } } +} +\cs_new:Nn \__pseudo_bol: { + \g__pseudo_cur_prefix_tl +} +\NewDocumentCommand \pseudohpad { } { + \skip_horizontal:n { \l__pseudo_hpad_tl - \tabcolsep } +} +\NewDocumentCommand \pseudoindent { } { + \__pseudo_indent:N { \g__pseudo_indent_level_int } +} +\NewDocumentCommand \pseudoslash { } { + \cs_gset_eq:NN \\ \__pseudo_eol: +} +\NewDocumentCommand \pseudoeq { } { + \cs_gset_eq:NN \= \__pseudo_eq: +} +\NewDocumentCommand \pseudoset { +m } + { \__pseudo_set:n { #1 } } +\NewDocumentCommand \pseudodefinestyle { m +m } { + \keys_define:nn { pseudo } { + #1 .meta:n = { + #2 + } + } +} +\NewDocumentEnvironment { pseudo } { !+o !s d<> +O{ } } { + \group_begin: + \__pseudo_gsave_as:NN \\ \c__pseudo_saved_cr_cs + \__pseudo_gsave_as:NN \= \c__pseudo_saved_eq_cs + \pseudoeq + \int_set:Nn \g__pseudo_last_saved_line_int {\arabic{pseudoline}} + \__pseudo_star_setup: + \IfNoValueF { #1 } { + \pseudoset { #1 } + } + \__pseudo_set_indent_length: + \dim_set:Nn \tabcolsep { \l__pseudo_hsep_tl / 2 } + \tl_set:Nn \arraystretch + { \fp_to_decimal:n { \l__pseudo_line_height_fp } } + \stepcounter{pseudoenv} + \setcounter{pseudoline}{\l__pseudo_start_tl} + \addtocounter{pseudoline}{-1} + \tl_use:N \l__pseudo_begin_tabular_tl + \tex_noalign:D { + \pseudoslash + \int_gset_eq:NN \g__pseudo_indent_level_int + \l__pseudo_initial_indent_level_int + \__pseudo_eol_handle_args:nnn{#2}{#3}{#4} + } + \__pseudo_bol: +} { + \tl_use:N \l__pseudo_end_tabular_tl + \group_end: +} +\pseudodefinestyle{starred}{ + preamble={ + >{\pseudohpad\pseudoindent\pseudofont} + l + <{\pseudohpad} + }, + prefix={\pseudobol}, +} +\NewDocumentEnvironment { pseudo* } { +O{} } { + \begin{pseudo}[starred, #1] +} { + \end{pseudo} +}