From 8535207ea86f3980a7f97f6e81f73c15a4633bbb Mon Sep 17 00:00:00 2001 From: Andrew Heiss Date: Thu, 25 May 2023 08:43:27 -0400 Subject: [PATCH] Add initial home page --- files/img/dataviz-flowchart.png | Bin 0 -> 69048 bytes html/home/title-block.html | 20 +++ index.qmd | 52 +++++++ schedule.qmd | 79 +++++++++++ syllabus.qmd | 236 ++++++++++++++++++++++++++++++++ 5 files changed, 387 insertions(+) create mode 100644 files/img/dataviz-flowchart.png create mode 100644 html/home/title-block.html create mode 100644 index.qmd create mode 100644 schedule.qmd create mode 100644 syllabus.qmd diff --git a/files/img/dataviz-flowchart.png b/files/img/dataviz-flowchart.png new file mode 100644 index 0000000000000000000000000000000000000000..bd47e8ae5ba356018eddcb8fbe9456c50b4b08d8 GIT binary patch literal 69048 zcmeFY1zVI|7dAWwsDwdCmvkdYcXxM#l(dvIhzdwINK1Fa42`06N#}rcGc*kOZSMPd zp6@@r?>h$^Ff&)|Ywf+(I@h_*9ipNnjfqBx27y2@Wo0DPAdn~F5Xilg$M?Y}f9l#) z!JjAZWprI25GJ|1-+S&}u8I%{IYd@MRKp`}2X6abf87`19s2Oe{pODk>D1yM>o&{1 zEJ~G?O)Qo7Q7!ykm5^JsGp(o`JGgo5nki^CSnGY7=914*z{&^bNQVz*C>3mGv?y=w zhSyNWhEuW#wNzk$YG{eh;e|@;h*afbi+Vd)vAO^~?t6*Wt$9kot+5 zj1$PiNk_q3t6#mna!8Zj{T|GtV}R~A; ze?vXAvsCREvUeXsKJ9#TRGSxwZ1l0W&VtrP-x#?kCTh*?B_NTkH&ylX-VY!UO}jt1 zYb&eve>R<68!=H(wxOfkrKP30q8zb(LaT(NDRr}k4tPJQAdn&rn?ETE7c&>m=|Y*< z0pBeaMs_M){N7INz8_|UKyp>eX|$~v7|I#w%jlN{%wf0{?iS9@7JjB3yG97#dk_&D zTpT+(mO;)$M>-ZGN2^zT;=PL$>&wy~s%0UNk%%I(g?hMo@gEn<3Es@v^^Mdtk_=r0 z2{wy+;pgY+^VV$(j7o+P1*IXi*g2x}#6_!`E0>ro6|oC_ zp?n__J*a?tk}>M5X@)0^Q&*Do+$)k9@M#;pHG6DR_bQq_ts%)zPsArv&9`aW3ot2 z-@=@YWkat5On|*wfVXbm`yS*YM%7P~?pd3`p1#ABm(wrRW(o`pxuvdzSUm1QqGjbU zXOfJkQ!+FAboHOn>_xE$U_m~H*Bo>xTGVY9p6hVw9(W}^%B(yEk4Hem%36`-_gN{a zW1YD~?9N~<{L9vVocv1u7> z1qS6z$np3IHF!b?&+f*Z_vYKy{jt%pU%*J2o_Ev3S;%NP82>pQrJMfWBd1NlkxQ=Fr1`3KwVa4jC^2b}5Bp47_U^thPw6%k^`5Q)7 zi~EpDB@_qYUOoacwNt^gw+9RmNOk{riy5KSrBcgauu6Zo#GK5dgKH&O+_Fm=k4}e< zHpI4sY2SlX3YFEv`Au#4+J<`nX{K4+O(IdNus*j%nW1gPJq>rX<68pw&w}3Hr8};3+B13qU-Z$!g zP;tY6d@QY7dT%~z-iz^+o=kY99b9F)fA=sVYQQCwV-h&J^_}s!`MIg`k}ZNi|ML!( z(6fWQpZJqv^_+)$8!Wli!t<12%V1t#a42uv?0T}{3R6K8?)r`w0)U5VLoQ9l?y+cR zAG>*kzS8F)2;?JG3ceMM1!`*MUqS+K$Efxv*5=mM9X*C`!6lmV@)D3t4Q~^RDDpm! zgXz>E)A_{b(m;~N53WYmb}%YEVNe0wyv2U)-x6zyPW`mlw#K??J4xikUG#mfSADluI0Xo;hbayj@4Y+ zz(G$bE(hyNLM;QSz-IqaH;|8#8JRTUjR%2LI-JiL6v{r6_qhj7^zBYGz91k_YkW)( zhR98q8J+b_^&aHMg{Vw24c!?U_%DW}PtDS%LHmDM1ws%SjrG5GAB*o!{qL*r|Ddnl zxN?8bFDHs}fD_x@-TZHUEQAgoEqhZazkjosQAZ? zG{gp<|EB3wlwCQ~_4NY3szzxJ$32mi0rlC<)Nl@;-H_QuJwywLG!^TgR-L*`rcC3< za7ZrwYy&`=35S?1OQ|nQ@lmc`xg*MsNW0mOVCDUWyJ-CRS8_QAV=$Mxi<5c&ZPZ^M zNg)!4gj?J=cvfC#DtovpvW{nQ-Cx*gX|2Y%F2kZ6-oLzivfR|FuDF;d7D`HkbNlUZ zWm2a`2)U=gL_oI*4alfgF8xNWB3%{O7!SN4-CptDl0j7w%C|{v$U?WIX&o&bJ5MPM zg@qq+Mi$;6zV%`=84`)X^ z(@v7Ps5;xRIVkViRw?$&;Qb%w^7+AF$S7MduAxQ90|H*5nS+gK zp;i0(DW(zeQ+SqCMG-$pu00eI_izpyeR{Eb)6$4tW-S}JYVeEYiG7uNXl##Du+&x8 zNC_csOuQs}H^F`dqwrZg=&xAulJQDcO#W|)w6f}|i*=FmLJ9gh-(SZUGzY5OyIVxn zq!bq6jeCO08HVA=E|^`B%)vboH_VgqbnZt~XN@&QDJUQ)sQjE-?&(U(3}vamG`#5| zDUqZnbH{MtRnc6~Gh-v`7AO7B(9$}uEiX7~G{y;j?X5p9wt21EfcFu@-G8Wk zmtQFLz4h!5^Xi5YLu7)K?~#)4k-V!_VS5>C{hq75P+pmLfZO@Rlc0No5c3uTB`3M& z$}$@gQa7mHH}_27SqsA!M0n+s)hQBCJANlu>6PVFM)|gbwSbfP5D0`Sd2+Ssu%>Bp zzKKuW&F%v^)?onO;u0Iscp-y-ZIe}4>bEDIwDl(d;O_nEm2ICX~P8 z)>#F^8?NmiL183+Bh4U?F*Dep0rEhwt&eP$bUjELuX4rN2fu5>?)w{-36Axt(v1z{ zo149@{D_~o_CiM7rylIbF}Yh!LdWgpHkS4@f1rZnv!@zX1B(!u42vj6=oj{Pdp1dq zBU*lkscCr-L-CsOEM5}5PdL4wO#f!4J=XAu#B_W}9`-^lU&JlJ6i&hcP#A-UVQZ>Y zqnQ$&HX}80;j65NR0EMR#-CY==tKJ{$7Sg*%b#JoK5f{|xN7$imVrfWEZ=izUDj`ab_-;mWq! zzLh0dUf&Dt{`yM`XOe?LK7pB+Bqoqp9GA-u6O){}Ky&j0ms-aQ$j6h<(d-8|OGB-x z_Q3!(LPgz2i9^%veVgBdw^>w`vsLeOBJ|VgHy#Ngx^u4$}YT#NTB} zxv+WaN4t&*(cp65ZhRNq5Qwts*rut1oLl zlVCdc1w6wljCS*%746Em8)LTV$L~KGA)R9uIhZ$J2q>|HE8#?fFKGs>H|cSM=3 z?v6iR*Sy~j;51_7u_<;FQacJ*J z#O1({BB>#_7mH4NFOsWnlCVTR+mP;c6`Y^Dj%|$NMFXcqIf{Xn=b&?9^(ss6!+ydNy^8jzj&# z7OrCZJ45xKt!ryp%k=?}@Xg!zW&(F;zjBg~)F&4>xt~SCgaO%Zexe|Y_L*VZD1las z7OY0qjBP{zv~xl!%I$|$st$4GL#s&CS%Qr(_)z+#x(JW5lH{tAGt()CEU?TZFF(-w zL~YKsKa9j2ho()?a!zV`G=|!+(;E z?Anbvz>96)Y1Jo>XHQ>0qZIZ*>rbuaYr)R8WVH7GJ9V~Glw=oFXa$xkK7q>@ zNelK*!PslU*FDO(4isaXu(L;>1yvuFdn#dba*gqZfWRG=M0$Lz*xgpzT)V%~H#;iq z`Y4)aUI4cvoka%w*JMULNjVO5wSB=okeQ93c2z_(TPtO!!Q@HH1nbC{5u-napM%Zf zXj|h;q{nVmN((LQ(fwEun|@`-{H?iXl!Vx$jcR9Ek}jUHpE;2-vx}4Pzq!3)56YZ5 z8yv*S*;{(%7&7B>4sXfMygqiUkhRp{i#uH*Ba7K={HyEd?6~tYI7)o9UIk0j9|dc+ z<->M=PM`8b8et)a^>&nzL zcQQD?%W_fx5hF}TU-V0}_TcZ6lSUuIbuWn)20m$92QAmifM1^Hn?F(>NLlh1c@>bO zc6LVOON}gz9WCG*smgMJ_2Z;%X~( zrF+H9=Exw7#0;!js_x?SMt-{LO$q4Wlz&Fj$AOEr$pBNumD2kEh(zp7w#qa?S4iT56X@XRcXR77%t zJckZ*WI27-)5bKUVsJGw{}8pL+tm~EgeWwOV8gSF z=F4=-I=9r3tOK*o46$Tft{6?if2uF= zMAJ|bK%y0!Su*Le4AQ3;^ssNM%u+5q$?rx91|Pg(R+S|l#7C$8i51psa#1jKCNF$rlz;Hc2JUi3=pewI#Rb|(|ywJ zV;3LWsFRVU(7QixZ^4hUxC>5B)(W!2C4RdV z%yP5q&EL4K2G|N{*qXL?1)=FH)q8Xr^>(QlSvR*0v_NB$BO^ISr$7E!Osa#)Yvm;_ zW~Qhe4p&VHzqvkm#Lk=7&c?a#v~^WFIzFm@k)WMp&m0YP=H;a4en;SsAoD9@3q<>t zVR*F|CA7Qi7yERVtZty3w0(%rqP^^6Mr+7m*fWWt41RCT9-l4~OdaYJm}BIgNh_O8 z>h8m?5=IXSHlJDIrkwSrv!Z2XfAjojIeL1?V8-y zdZQ4MoSFUhX9ib`WuUTC-KBf}7k;zv(&J0OorHSx`qbla#``Qm;+?4bJYu)0d?Q8j z>OP5sL)?wg8}8=6Zb+(3!rfG?-MKjf>VG{Veb!u zVN1Nm#SuC&e?)v0K^(}AK;`sO>?`VYyhd&>TpUe4YioibJ>V&l5(&)>#i@*DJW~ye z<2)*Fim9pJ*UKF?_)ZQ9=(s=>=3uldW)#mkq&Z(qfMI(hTH$=yK2-nA_VQM1>b^be zz#wCDb=yjsd)hS~a`K_&Ck9!%&z3?rc_r)6esqwqx~BbAzhMQwIiakumq126#GU9; zbDOhrnHut~+)>TBA8Ny_ursA%)fa-hJ|&OT3FYuRnvu#M@-1Y`!q9OZoE^HV>Eipo z(jj^y8$8LCy^>>A`utQV&yLb>hiS(_0DLG1C(P{nlX zH%OA6L)5L+EtO#o`AD8^6crhw@qo@1<+sFi4Q=NZ_GnF*Hp|)X>CnTGb`L*;fvOj` zvc$FF(y1z__C;BA&mrVL^Si#};V57pOz?h7)vG^T_EweD5;e5)TF=jxF`j!mwB_vZ zNjHl+KU>7RaqzhF&$qoA->evs*bRl5A3=S^@{-=)YUIy)+QW|(&E#S&LB%Ps_>IWu zISNt8u2GX4&CDD%h)&Y-11}iWN_ld3nuKt~6SUj<7JQ)ykd^48P{ABQ%M$|8xgE}q z;o)xsVkI!OV}6GHLUUON7<@?OQ>FN&Y{nj~wL<++>E82#E4ciD78w)1n z@05!DzZ0^n)64N&v&p&caI4{2PU9l^yZq&=SdLIXeWT++S64cpgDd-xjDs1eY(=`y zZ-~sU^3igMz+_w^r%S5xR02#k$%YK%f^$@a#vQ#rIQ?NKJ^kC>e0fz7$DUN~tnS&u z+xhANz?{oz3f6CaYmSJnR=rr4y;|`JUucZnsVJCZgpe;1A$-h51o)uhI*%zPcDE4!F94D@Nl~0%#;qPUuaXgmzK-2N2r|O4mPyXplHy&V= zdaVc;JY5nra0rOZi0u;PCkkoQrKl-Xv#DTk?DZCOcVRyqaj_x}>)ClfE%w)Up5fFx zzU6|BZVr9zUT3@2uMEFFn14aa(es7eWNk9D^QE;owFq>GRgY6{S{Ex-wt81dlfN+4D|YpNiuI~A-GXYO^6M6i6Z8Ige$l)d zqUee?M|!*7A`WUr>87slTRd8I3X4-;7pb1=btcqu9a1GGy==YldYjmC4?-T_PkosE zZlW`6%-vVUvaau66dvHJ_=bpy4ZZl_uU4Qp4oTQe*uJtQ!xXT(cUz-iblq1p+Va7( z(EQi0*))~8mp;OdGZLsTocU@NkX;n;@1AY3N#bsQuPP5GVNJs`^#7byR(@x z4ms4Jt&Vi-$?gcNg#%Zb-9fV|9JpN1*NEICimj><#Z{$H9Q zKPbLnR
lX;V+hLlF_i)rAa~AKSm&9@G(IZ*8d3p#|_I?M=BuT?%rVm$F ze^*-?hruLbPIbs*=-xc`Glx<6anDhOYBq)1~(-?U-YoN6i!a`c)5H`HAE~ zBGl1R(TH_&+tL}b2Sm$|@J2KuG*;Z+xYgO|^>G4q@YBwk&@5;^jR(`e=ss9zn}GBs z$>w49q#22UOUS@^(L%dNr&KYNI7%X-1t*ePF>rsPle59gA&l^)hqNt5$yp|n#y(rG zJ^)!^ig-u;FRTwBVwYe&)5{E^2{W4g8aq+$SLMnFZy9PmTO$aSpD~JTbpPloDU&Rh zJyQTclcT?z^1J3S&x4;0%6qb{ha+{;)>vwwL~J`6JowS(##dJOGp2Fx37!fD+!7F( zdhU zw|?_jmxwWqh=?hrxBi*?a=$}z_}jg1(%rQ#n~$X0W|xIePN3OK_2oDZAkSr6`7A z2t!4^b++QB_HY&PF22Zb@xk|%}b@Z6lrXGRT*UxIYuoI|vHgfv(@(9B*)v)B6_^GXg6X zCf|Cj*8ROjRnzP_|2aNN^wPQ?-pFEO@0U01u{E1zts*iH%*$M^-;E#Rz4ascv?(u8}$GQW9qmF77 ziyft@QY{SSeoc2lzEy_e)U%BGJ4{HiTE2#d<@`#Glk2Te2s>5HA|L}x;C=_9yx4&}=QpHfmr(7`jS%7wo%;Mmo3{kq?>R|nuUHs|*W0DhaO@TCBsaxSu zF1Zgn0ypvHYdwJ%JX8djHcI4=7TF^=!jB@7y+ROv;ma)N+zWAc%xr>H{AeyZ z&zty`(_0-^5qxdelO-NmLnhk_8V4yyGcHlx{pO)*g&H6tMnC@|xL3p542}8wun2I5 zu7m1@bM2ohNUT}Jx>Xd3Zm z^auiHBJ?q3chECD80m+TIVBnQdz+s*>9G-@KxDr~ai0`sqnSAYQ~ippv;sHre$sS2 zALu^0`)$i?lr!LJ^CcvInS@He`Z?2B$G+I50UM`6o-e(v){2QqimiGvBpXjrQ*Lz; zPmc;QCqPEClVUF+1=rHCxUaM(DJ0b@SgM6@@QFV9#tJR+!jKc~^!Og6%`bJHCuUa(j^-NGJ**U7QT z6-dd&W%P3r;bWMwvfOwm*3*TTE&GUi!9bPM*mcWyk1p|kgiC$z=mzH_W#Kb8KLI-T zDIBMKK-FD?2gX^$lRs4*WxVmUk{lGFP0B|fwa<0JcZq7)BTv#E(BqxeyrOxjTr z^Wx{W(kKNqu?EDj6}!SURB3$!zPq|qZAkA>4mFAm?6q8mRF3%zsPVkz__~tH$dDqo zd0$dBFy85@wx^r)z=6*(Jr&0o_mfB#Jz1{;hz!$mkt5!>z%#WlrqgGNH!J>Lr4LlE zHB3B-%a+~O6*@_kq`=VX5*wVGs_3=)UW_~-%Corjqc1A=T9%2ov!$@^*w~aHm z8-I>JgnaZ87=HLb^#$|O0uH%bUzVhvCtTFleE|$TA4RL>wzm9GVnV+5Q5aeY5frE9 zvF=I^rq-UxYls6@id{5CEKA-p=t+7&(*7PZ1NQuLE@!i)(YBV;6{AnACV4i$J4?T- zcvYtlwNN4Jz4_*|7`_oX8gSr{f-lv0H>I5w;It6Je zMwdZFW*L^xutq)EhGTbB)kYe*n*B2I+vAFn7S@Z*pZRQ*hg{3NookkZ?c|R_yvkO3G z+%i`wb9HMG@u$gsUxHEAzy+%mah>=N4rXrFsC9&un@U#`J;;4dVPR8m*zWBonJ2An ztDk_o`go+Sh~COFD8Ahf#Tgmu zF_4gF?`^9KbP&-DMoFyDczMerdDW_}h0TrGy)kB(-MFD>(w~Hf|;V>5`s}`TM?paMh#bry=27#~pyA1I`Qx@c9K0m!XH6&G)fsXM&5+KKEAES&u^jSs zMgWvg+ge?+`{M)d3@Sv&5$$1I)qMdLM>~qutJ=!y>_VwLfj|puMa+>&e)E~QH3iI| zkjq7s+iMp8cYegW*PP_4jI(9*vhZ1-W{1+Q{9M;9&{;WqzaX;yCz5*$wp$cwYFtEE zb-GB^Va&9Ft9^X(y?4cc`rine7`D1)GsKO zfRugIMRLpsn47Dt!N|7U*qLwc`WfEd9Nqu{+UnjeqwlH*d!i?L&70Kojd!|f@hhS0 zcGRIwZC0m~N%5}E#kv0I9NKTYj5^cllVL}w_O6m7_suUj0ziv~^{Gz0M$*YNv6BA! z)ov50!nO!gG~W?@Clu@beHkWv=^!vW*5TS?60@+U2AUK+XFV;)w%Xw%K6Y0(i1hPK zVW0fU_`TzurDPXwZy~aa`7=!T4d7smpHE8Uf%OOelXIv?PTln3}*t}ZB`I)g(TNLuk5f)(_;DFF4rzcT<{~# zsO%QHL%-Y1kAi!%A-Q^Bqb>*VQsjTx>)i}XsDb2{v%^y zC)eP^#M5KNE7WSNd5ozK69PIASr6{%gop5IHOPgu1%0q!XOw2ppZ_w8-;^-l5*k58#L zZ-1_W^xn5Ul|j+K}kXI#!K^-?m4sk=9OZIc9WY_ zb)%*3tCzVNndWC)0Hx14?loB_7<;gG53hqBlqzXkkNnY#rn8kT*fIXZ$FU7g&@7-T zCV*$2hGpD!oUYz#zF$H_JZqG8P@uADdz>%>;`+)kcU!G!Njma8DO-?fV9-kIY(4*? zac*wBFS`JZ2>O!i4eGY|;MLZ`Tnl|YI_hfV#I1UkIGIsr7op0-(HZ~%9 zSyc&E>LQ008e_9K1_Ri>#21;qN&I@c9a+RvU{tZSZkfGt+`f6r!C}iP^2!X!~eR)i7KBS$1G2Fin+|=gQmK?DH2tK}Z^8LaY&% zb3R=Fs+8TJD3ai zZ=_a53D}(=P|X?!D<=S7lSD2Ezzzb(z0LYWSGiMA%M@=ArWme~ss{eDP&Qzk>}I0D zBNSLkK*OWuYW9*?xKhJtN}OIBNt58b{IWkIB_UY!Z?R0ZtKD#Hoz-3yqouD!M`6Z# z-4*+_f3Zueo>QAhK4!{e#pdK^^;AYy7UzS%f&6DD%-)(ht#~qAKwuc8z(ZT}>AQl1 zwkpLHxssKnY~RquWiFz5!kV+9En{Lk-h6cG9e?F@x_jhp+wG)d&*Vop@2kwSr$tjN z5Rp?x2E3ahON4f9yDn979?NxDJC5kumQU5|@-|wFnPprUt)g9NLg6{zT_d3^$O?TF ztHw~?CKM}yue(1VbK+K`#v6oPq5XkG?%S1bJ{IzAeZn)`c|J9pTyJwMh-w*?=~8EG zm2VDW9DNb9YHE3Rb$I)Xb*3N7GBe1JSyq^z3!BzWmdae&rmDzzvFL zKPbzu6_8alj4RJ-0Ck||_027V@q-Tl305&MaNf)173&=lr2+xN=zAT$}DqUD_ZL2DgO@$5ZnO)iMRYd!|I@v@?Zu2meS_NeGv zhsq1*adhe{i{%SO2I#2iaE1^HJ2-vow}^dISHxnP^d!x!y(vd7+}IDPpm~<4fiq4v zJ>#p@Sg)>ueAgJEvkJ5;-6-_4N{CX2nL<6HrBam?k^h({Kwlh-XNa>3l&7G?(tpj} z8a*ORou-4-j6~?s+-;v3J8R0$#`70)3Ybc>J%TVvPsm#SRJ)M_x zLOqE<3@AZOY?P#2J7F?qq&D7?x}_L0qXCQ)NNSjP-dSQPmMj$iY|@pS(2;%BWjW>t zi1-inPV4Q2k;7MIjB;F?skI>)BO1SNNI^4JB5Z5*<;yRtZ;<-AZLe8)*Fnp4ijaIJ zUx8V%kg~YyMZ$_bFT=LaPRP^Sul4EO(XbhmGs%g;k;5h$G z8e&WY+mrG6hWh4>P@i9TC)RM^+}`?93os3+AJrG0ExpZ+4fZ)0`Rwrlk5_z{O9+0+ z6MDIfh92mC)PRNaoyOXZN`JlM(Jk23AiBE`igUrG{148&JPgCtWDb`X#=j-q} z?odF8wOuTpY+I2&Oq9W3C}F|9{#xh$>hNa)EN~Kv#m-tO*ZiXA8*L%t;tya{2|l>0 z_ORk;H6PRI`zuv*6flj(ng$h7BogYH31Te>UO1q&LA2`x+y&pr!ihYz*eNk8qhvJ3 z9@9N{Z_0HgszQ@xA!Zykvq>R&(&laoM4Z{Pr2g1T#Qz|8vt2^m7Rr&u^!wzh|F$&m zaJ%7db*5m=N_>;(Pg^409lUvGLltT!IGK&p4=m*OlFRaqlbJ@mc2fE|!W)@C?YpV$ zO@L&AUav^^k%kn_vd_An2*qE;h#-1)Sh#L__SGv_Ts@eqakQu_0uQ1vPhiAtD-kW{ zLu06Al}ugLw6AfQ%!Rn;e4{AITu+W4b6aR3N>PLqsLaM7h}`}5I)#e+1Ye@rEoPqD z;V}=pZwJ&JExF(g0*Mx;PF~yWcxnVtJH!(QuJ+Wlc|T%aM%-TM@g4ul5Io5)KrM}| z^z*pAMi=zOnpA(4kRV$TvUGY56g()m?xyqCQC2Jsf+I;I_o=OZk-pJ=-! zu`GUrk=fTF-E9nt3hlZ&M)USqvZI{O;GZ!|9yZ1J(h**F3ftE4ms zXi_gCnqIBTc^S3>0kARXE6?sF6B%vroz0Pz1N~r_mMBrf>tXln26THtJf>`Vl};&f zv3wCtZhM?MD}ZY|AHidyX3IG6Zdyw&?J{Tgp71voc8?|3VhZ6+eZ~4Z5P=)>tdWGY zhc6=4Si?1sy&nju6EX$ee|9^hR~caC3nkPI_SMH{P5YMXVBuD}--Y`~F4u~QiPcNos*c6m0LWz;n>TRl6irnK z#dC9=(XrY8p_7~pugq9It>p68%B(gTSo2;#I&BQH9A0elzBCYoiIXL_xk$lTs4j4)5N(%{4Dt`47Xk%*GvVl~YD)wr`>SiN=zDuf;xRW&&I(%TA zY`(X_$S;0-7HHqj$n!v}3y5hR+Z_RN)q3PfLTc~!fRt+g%b90_QBu^}Hu2^-U*ZGI z+*vPNjpqz!J#&oXRZy>v$%HQV5Y2>*Z!9hH*mAGlT5biJ*uul+Z!d*?rAJcYX5{&A67io8*@_#y# zZ3gY0cS6DC2IErfvt7aQ#I@z2;_L3xPZPdSM=v|BO3wAEo!`ETE5-TRSRbs)6}&-T z#b?U?nWD`vFHm2#RD38rFu|Er`~-jlLXVQ0#-TLm;l&TqYlqt&VIeFedk^l;6-(Pn z?wcM7^^lOu(2BYXG^Pdb3r*ZGrCA8{xO{65IgnDG1b3t23w$ z#j5ym_4l1OIb3QdrPj+d0CRW~U7&SUB*D{4GrPDQRrn>9`?|~Jp&QaRqXH-_OArhE zK!kd~B|F5|=_yDO9P`A!gU@bv#P*q&T`oT{M$HS1UeAz`Vw|eowJDdlk4pT*nwNw@ zr+UvuJHRszx~7{>yO67B`E+$Fc)u0iptrdG{u`hwW|jSN7aAz*rH2`hFghB8*1Eea zCcItFPCc2F0mtxEsG7&*iQ%zBm47!N;sNb`Xzx|FjD5R|_%v&vXW$A)9u5`&wNB_L zf}d8iE;7G7U7D}E&Gc!aWR^d+>Rp;{yQ>U;28V^Z zu@~9s*z&UqJ-*gmjeX4(`sDJ8oomzU1Mbz6;LjuOxXiU>3gQdx&4=~nFfTTwE# zYyo#-*Y~SkSg`K{n5_Mn74T+}$9UqxxwBslBn8!ke=Z24DOA3Z>w^mUgR`XR=I`TPlBM9`WcH2v6EHy9BiC5S1a6;0*U+L z@1_|?yG@?g(NwtkRNb1Ay9`v|%c5(-9bj09Wx>6sru$Y~35 zvkP}!oAXdeea?AmEthXbnO{4~S&cwjNIL9i@ied9~RJKl@5 zwwtE%?!&BMhCl0$yw4?LOe2ga32C2Xj?;1&jEdShCXZWh8;=buE`rKd05oZj7_lq8 zoE%I=b-lgWS(?_h2`$*84o@rAU!oNp_5oRslKYiyHnd?%7)MV-J? z_t67xS$v>y=@%wVNH+Fo5GK+z0{52P76pNsiipA@bbP}8;-;zUi!5K+8XQ3!ljaY# zQf{GhM0Z)*h)ikP>;A76U_i57_sWLvB;o4LRlplaEf`G1^1PY zza4u)Z4;C3voclgRg=xS0Q6tItN7a9a-9I33!i_k;O6eER?zrfv~ZhVq2VBRksuBE z;iUzyJy=C_`H3rljRD#>Fz6poUK$r&JEH$^EIeu&XoeTx0sv27#IH+GiE|FR6fIva4k zubGr|N4!*!t#WP7Z)$_=Rs8Z^zoAGJC|7Bf)wj{dZ{zHe>R*BV{|+_6-KJqOpKD$N z>L(yIM`4XuQEBM#*c!n1WAo&em0?fkGn{(9Y;RSPv%L#zr+NP%IV_s}&Z!_woS8>_!>Ga|Yoz;>2 z3tqZCjLO9D;SVO4;Gph}*RGl!DhqsWGK=*5{+n6$K6*Wjl+-?UR6S>{?n}EBdm$fY z@3s!z@*Ar*6antEsL^_v$p6?`R&h+b9FP7W5b-hI6QZ zNuDBuN{wfT#6@14+6pkvwj57{p}Akwo4t3C%f6pmWE#OFmoxd>z}B@dpqMii_}h#U zB3_vjYrG|R0Y2-@uvG%1<}8U(PNSr~o6gAF@65#^;ihvRhQRi`j%n0Yq^r93F4zSV zJ6(LJn-xM>zWKwPMIRGA=c*eHB;h|i_JTwwyctri>HzlBR9s9pANn_9_NC11!GnTC0{s?Ze>-eyrXquWe5j zm!Y@|pl`eD>0GIsS=U-P`yLI2U5ob?G*RaSvSaaZwNshjWlb3%`OnQLs;+3x+BbwY zKFn8F9Uqm^b7=wNP;E&+VvN9T^W`JpmhGkk%u*OnJztcF0DioUyA~72h(@15pQhkxYic)7m(@NtLr`X zzFBew)BEp4>O1>qjp0Wp+}gCPPX*H}F%%_R|LzCmR~j<)vl=x}7&ho177pERwXTG5 zYZK_@PRPya=tA?Vk2j<3RaN+F=k2bHZ{XTC{Y2V{+En^j)8U-3qEVaHYs>B7g?J)+ zTU%EJrKrHt+^L(+`9tRrV{4GScTdK#%}zIU8*Iu?ESHNaU=AfEky#Hu2S@*?ifN9k zKM5?xuGk$s@T3loD=dojMTf+se4uL-M6tH`;L(YQbO&1=txr(gE^Xg*5T1SN;&1x! z%O+~P`LM~mgecIg;yOVP4o`mt)b za(#C}KOuVlPykf7gs7d+ly35OQ9Kx=1R!aZfN_su44Fyn+-SxO zl-U#MdC=S-ryyyuh6QNpL$(LLb?dYIDSqlcZnLceE-vK_F;<>FN7~!s%EoHJwzbk1 z`$;460*Mav^VQ3`P(uAjTbO~sNH|YVeyo@ETrn-(rJL8I$)U$I`BnMzhvze4n6wF< zCS%-)3H-1m!9CEswODLl(I%9SB4rW0vT?{d9uLQj@?LB`9)Dsep1wHF?Gu-i?OPV~ z)zP2BczXP*IeR2q@RDnV*)v!=;Z4(uNXg>(Y4fXw!xK-*yo)tB8tjgS_1WGvIVE@b zt9P{aX<(7#oD+Fi!pG zDT9FG&-`Bh9TUSIPC{;+-#X<2zIOlYMwXf_FqmYK#|iI!y3XHte-t4WCH0R8^ZTfE z6meKKG|JxRV!kC{km&j+^@Ht!&PMwLAfFp)DEW6s%$(Q$4i4G0aa+U8)CUvq{#k*A z;ni=tkKvXsX5(v$tFeYvY>200?{+=kT=?IRIrcd=0AW;jx5hi#N8GJe%D!*WlWE@D zQE7thUZbNfiL}sr+b-?`_T^0W^Q{fd%~TocPfUEhj&L%GlC92Xuwj&^ss3@j4(S9i zo|pOmAA4W@RaMlrdk_Vsly0QELqHG^l$Mh2M!KcDySt>jJ0zq_q#LBWyYB+u@qXVQ zaPM#T48{QV*?XU}*Pd(6x#sgcbE}cCr#6P?vKS7UCc(q84VPSCD2nb`c3Ugl0s{KH zv^9cCkj6g=*9_Zs4R73c6QGZhEm@pVjX6wE{HL1&9NRygs|8Pz1US1%>o$}L52!DD z)q~w@W(jFY%9p35B_cfNx6@$dj*8L!x6|OG7*OU^Y>!OoN01jd0nHoG+DR(mh4L6| zuKZWrY)@X_CkD^}+$Vq*#ZkF^*U7*joVF^L+qnm%(u{$M6kw=!^Bkk z`8qCn=rdJAN(heEN0CaBfEw)0z*Y~^4v<_wYJqQd$7krb&V z+!U-HKsjLY+GgqZ-5;`3z`{F*g9n&`4rN$E9tOF&N#46{l!e+zZ33rPZ^b?W{?pJq z{i zx=YZ@nLoe;C4LcGe=s4XYa38g7CvvGzXkh1Acme#9S`{WfE`m7xP?DYxs5DDV1r;WD& zHtw})-`qgW$PG>sn{-NhY){4KxUv8mR)K~MJN25_JLO=lCJyg4 z09@7LEzJv95(o6s!!A_I#2<|8x^0I8i%5Ou#q(N$Fj2kWIscss6^I(aK zi)d=jUV2dil&TPSaXw)nBZcshT{EW)gaT4*q*RFk5RvvTE*1}WH&cp$#03aS(Kk;f zofMu%f?V^>RszUmhIcYEvR$N)8Q3{gY)jSL@Ed*fyK1;4MI>TlQiURf0TS)oK59p#h)DK#ShkRGi$}YIKxDO<<6L%zG$j8vS6zDo zrhaQnQrM&=L8S-)3q3NY!8yOB0@q3D9*ewyy4C^zfZU~IDaHBI=J%w=f((AJ^x?bP{2mQ z>^J|bKO5NK9?k#1x~DuICIk2J$=VshK5R54b+26EHFF&xeR<8>rU?z<%TcPFHHmYr)z?@$vfrT} zTJBD(r_1a$)(LzK`rA->#YDf!WM91fHm04)L&Jb(Yg401nmICm@}qGB>MUR#X8h`8 zkLdtzEbsQ$S9pfp z^b>pR*4JbSW`1?%0R6nMi?YO_%PAQ~6Iod~csMzQ?o6CH&bl{3Y5G^U%+UC#HIJbo zCISS0cCH-+a|cwTbNgLZ1ODPHA8tF|{S;?2n)&v@x#XjAWXn7(8P0Eq3yaCAs^J+M zM+SMh9CZZLx~A_2S3_^&pF{i;XPLLF&Gd0BLK4?f7}omAuu=-K1SRuEC|lARgo(P_ zwQxXZ7tH5WnO~KvD_1TT!rvw&DlsPBa>lVz`#9Dzuf{5?$z404e6zADY4lTa$I;|! zU4?~A`R0gQ^Y}5;Eq>J)A{I{YFd6L+-i>ROnpRF^i2HNkgIBT^Fur5{8t?8S$#OK6 z?<)i_w(2{yBqWp;wR(cDN5PG6BoxL@!Ld~eX`o#dax7h-@QU7^?+g7ME57?U`mN_R z!mEyQo4W5t*9-c>`)Qz<(+WzW2VNGKD}05&q!p;t-4ab}x7%6%d&0{@8?LLW4C4uifb2>*HO&q=d zJ~aIM%O@A#`i|e1DE~04s43jlVCGw=t~;IJVhIK&{1y+GYgD6n63qV&$ig?0(a&Q# z8SppsG)hvWHQ^c#SKDJh{h+F-nB!VfM4Ml@n6jHG6-qF=f$5Lhd=lRno@l8#Iloql zK`?ZwXn+9&Be)f3RbQ2DD~WI;vaJM0&A&$iEi3C+l%7#1qj|8SfrIw=%3+sA`H+35 z_#NS!BU``1cGGv}N?BexdPbki3n+iLceWJj;=YYnSF@3Um5vtc6%BlJ5Z6;2V*5$d z({;tsTXvypDL(oqsQP#kqS#-9`H+xNqpU$q*Bj_Mp))85 z8IrM#$5b-SzT>k&CFVo@1+L3{(9AlN`-jGQpRRT>&;7h(Q4~Qx$@T_bgm4BgmK94y zKbpv$2VOeq`pWy@+DWyNPkV^KLa^UtiRV7~n~JNJic*)-kU&i(0}NNEEttFeu7~<9 zQS6U>E!P?k3HM5wGEGNaVoQ!62|T-3?rzOBvfcK7IzAjzKojwvx!p}JGA&#k?NAtx z>8W-VH1_|QKXE_GY5Mc$$V9+|iOx5@?Wni6exVsTcNTMb^TX>7epi*kn#@YF<&vH@ zPP_Ft^G*Bo0*CjVzmjsflIrY;Ryq8A*turT@?UY5mT)XOwM>44tAhup4+{8EOol}xGpP@g%^FJN28#mEhLjt~c~?mAyDtPy_TnAZIM>s*bygXG#t|RWyC3KKiCTw5Q`W2(<6@}Mel>=t}mh(Jt3`P%j zybc`Gn1>e^A1@T!x0H>bXHE}MS8_9LmX!#?*avXGZtB8H9;^_!W511ewQ-6xgQ=$> z2ve9<%H+xl#Im^C({K}fDEiYoX-t7p}vCBFwrH!~777y{!=_@srOFTH(61bfLa> z|2X_@-%}7Iz+<+-GM{bPM67q)F~3hZk~pg8MWLh-FvC0k!A)Quagk6bL1D_1O!KuY zO|XJ1u#y23wAdO=kNPFIE*!X1g;l=5P|e3mm)gEtO=rLFn`2z{e}47l20k&Y;%&-m zxkSlA^BRr=o~5~ED8clas*=a?P3h=E$5iF1uviDZeNog2=3=gfXyUeBcWT(4h3b10 zH~3E5hK!8|_d62M)DYP-I^mbTN)B=K!{yEpMy#rCAvN)5_sB1_tJcAWOuzW6e8?s{ z`)gI{CAp94$I&;29`wjhZe9(6y|<1x$wyAdPSN{ zuQyWi-soIqUD)cyW|tIu9oYkT;j-{`#AK$Vp8$Y)r9;e?m^T3+|4WiEBBP6 z$+usS`7e%1o$z}d0D;iB!l+%9vA#9AB+lWu;eNU)1}M@|5*_7h$9BSHI8wbC{Ycef3w{kaL|qvr8JQtvxIa;8!^kH(HM4w4^REze_Y2$O z6d>-WDx_9FWnNHG=}Kw2de@^-5r_3-(({WnJ}ey`&ryR4xZm>_gbC;cR|3Lon zU~k>WDW^1kXgD{xdrjw+)gO=~foWaNCR(KFDwkSItM2CHzNY#o`D8x{bDwEM$4rFZ z(&lyU!u{dSUnn&HXWt{695yYl6p5p&mP*QxJhomoiXM0V()%&>Lh^4O=^1T@+tIT2 zbIAUL8hz|bGSe&HHl37UQ&muY@LbGV_TPogo@&`t+iD>gN5*WqjYdw-8u@8>XAZ5Kp~PM;YI3i=Keez?dKW$pX1n41xr zAx$;b$WHKKbi2T4Oi#AHBR}B3jKl8!G#PIrywQ*^os6k{7?8c zt@U-7n4FxVY}>H(gQc;m;)@AN^xR;FH&gX<&2|er*dc9HGrV|o z50_=AOj4gYJbyAKW1k$tM;_0_ldkd+hP<~Tn#a$4p#p1shP-t2X1w!eEX3YNLOw%& zb9OwZlz?|TE#u(e2CuohYxfjZ{y^e(JrWWV zDeDYs4f+ZEk{q~|FSy04Fd)1H2L7s&%|Ctr)5iD;rTMz9K)m=zg9(#(M0$|lWLKE$ z0pw0bT3T_o-eJ+;w+Ts<;>2U#fAgRS3+uh_eCa+wErK6Moh}seTE|azVzD?x`COGJ|+ExGa0x9`p+W4cax$|I>%e#$4c+b8L<<=)L~{7!cla{e^4 z-IUVjxtVR7y250TaUeC>dMCO}21m86*RFp)wq)^)|B({dKaAR+ zB^sR~KPc*?t?4Ztmy7UNKpuTA7H&1bE#SK`npy?gy5_NcSPii~Hsi>o&FX^a)?!OA%B8#vA(}4| zbM|?ts0i!`zbdEm|InOB@x{_X0Sg! z_>@GR$CgA5=X+j5@A{BpTYieDQFh%%f9Oujp+Mg`r&YZV=ea%(G43=NvfN5&=lJwM zTQYj2$4u?o6?b*;+P?~SND{Ui-&zlDdo#Ep;CDoX#YfRvz36h^$dVwDVw|k+o8=Pp zE?1pM>F$o$Lz|yTC-&8vmn0k45>oVD$$<1UonHt(wV1;ePawej$Z>$R( zuWkJ%f6p&cC>?h%sgz02H9!5SSqBU2b*(}L19~4nGr!3G;jLY2 zx<;t7iGUZ;_xPsDSZ%g#=Hm|Rw-V)eY0}}xn@lyiFF+p)HvNJ7Tp7=u)`)41je!W` z*HNA%(P$o|lH<#68J(O5-+wn=q1>0hWn~I2;ZhxpyL|grHBnn1CNtz5M%S2B2PJDl zVH^FuTNntKRirN2UU+-FCR!bgpwzJX*W^hP5BYyfy8hP~UhqCPZ zBKmdZ_~}jp4%$^w9vH`^lq%|nRX6*bvlvI0M&-p4{p2>Zfp%10GbE&OF|lJ@Nm%Fp zY@LU;$Qj{KuznNS)4auGpcjPr!{MjX@;HT-^U*2fyxA)xTRc)G$+}tpwsx-O*v_5p z87wvOyss}q;(-o1Os~rnJEYEOGA}_nBQ95#vgN^O_{2@>k8{8i7O$KQqI50StLnMJt~oal=g~;q&ahgtF?soo%})Eig#<-M zrlxYCn{&%`2eY-?4Y8xpPB@x^6Me?7M=ZYlcxJw=y%aE+*iLsT*2Zn}UIWuCZLOLs zTdt#%`2a}?m1#O;m03z8#aV9x3c?;glBRNZP|lOncIhRI>6_a#UQNABxCU_@}J$- z7j9@PllKONo&2tK;Rc6DgJG#IfIH)XRgP!A3!bTUI$ts_!D{WHxn?y^IoTjAGZ^dsF?E zwYBQ{y=6*X+c$@(lBQG$n(fEh{)nW0fggOb+zDLra3ldI9{pjIO8h0ia0#+o&K+Ka z`-cJ{nAsi+oJLPC*yY!HOo1O=SCA~*y^+~tHd)9LMg@7~p6M_Vo6hh3Fc!$+h${HO z`nQ*^R*!a7f5%LSPhS&J{s9_7ir^WI{Yjlt^gC5EX#{24GAao-8~$>rqQ#+1p-!U# zm|XcxdWj@qU(;!{@M5XOL|Sy8L#6_PeDLCA_KE^_>d&r_-ICcjbWF=oZ24S~0CL0E z@$Ks`rUE)aT$2UIYaT3J+RUO4H9iK_XkjK}$o zY2NC6LoX3?n4=053x|+jZN{Ze|9O#$MW_2*19)Bn;1t4R1@-Uvdx&L!sRuSmMVHfP zi-|rX;7v}|TNf_>O)G`|p6WQ`8A0K4D}L8kYgU?Y=~)XJq29mQianAGzmy=5zoA8; zVUVS1TXn*#(wIKR0PD#EY=?x#5oc!&(R$vziCWB^~ z1)4HeSp#^u2=zWtL!K5?fmHdkNr_OJ^a2BA;#s;pa?Fh4!~$OV=DgS$NVVdzCR(Aw zgi`Xpa|jTK_8YBX^emKE70cR&3xouH2`lzg} zp)PbgGhV(bIwpfkP{t4a!&b$7Skx)_^{YOssVjT7d?*ZTR_|ZE6IX6^SV%ZBEzHAP z$dBd74DV(~RWn{k*wjM38I6APlq!bhPdVxcRL=SKUfnC zC*uhHu)ZEZqVP+HmcyD}_uKeJhY@FHi_wlo>fuIJ+D~>~C-eK?jRGJ8474&7Oqqzz z=Pg``Ok&ku{)3R<=lm+IIWOg8z;9LNk1##9d=!O>EAC(I=kCGPHE4&U-;LxURp~R>_R}UC2mb}5X>A4ic=KNsaQUD$auD{9Qnd@Gc=7Rd62YKI5W;- zf2p*D!DKlv>LhRBQ%$GMY7g%!P53BUK?vr}(76?OR)I=;Fz1g}U62U|@v?q0uBIbvFXEz_Z7z9ceQk(rYH-p~zl*Ee z!##ky5h+Q)_#a16u~rKOl9C<_ki8yxzw+9916OCV4xlgkJNj}jG)uW}+poqOlLeAq zKZDu$dZtJ)%$rLVWfUqEnJfE8OL)>h06B{kUS{3@ITd{>9HeZGh!I9fXMnri-&T$i z9xQi3fj#Q#of7~cFdMQ3d)B;^`nJS%TiK$9lm|}1YM3zl>WEv1T^C%eJHQ6AhVhWI z5EQ~AWinz%KlVMv`u++g-3sX3^KZ%pf{3VX!^i+?m}Ar5FK10Ina44tpivP!StII0 z+(gP}^dQ=+8Gkf-?fIDdQxvcsBjHcTmGx&e61jt7p3eg-J=G0NTGZ=b5{hbjuVrA? zzMk=vkMQQwL=^~U=6FT7`LOhQM(aX}fuh{Y=Tt<-O(*KDb`_y3PF(L*EUua7V!4e0 zYGXG9y=?%RVd|$6S+iX%p728F<+nW*ct8&E?kgV#?FzbeojfN-%Bt8X9enJiE`y=S zy~kH4q~sZ$>+Pdorz5%=d{!?3#IiA;KK^+FgQK&cK_+X^TfD{v+z`kBUFU9wgsp zKi#vAbr?Cp&IU9%LzpU0nz-3C0#UqZ14UYlNQR-Nsj2T7L^aTQmr6kZAPO$p;nYt2 z;T5g3j!nVT1S*tDV+;`YVxvA*p>q>ZQE<=>*3sA-6~n6$MfP~9F|Sjl6m%5hxPo5U z$@n>z5pN#{)&Ej8knI_nzv9^s>Lz2WrWl-3)n7CD9eI?cM_ zA3@teSu)y*mp;(jbX$VJ$sh2eAXp-ACm|)cxW-~_NSXW8={9Wa%itwVY)JeqXAyO@kFKZ+xWkw`SS)Ppb|)m~1DxhBj@@}_ z3gJWj-zt^AFd>OGxc*S2J6c;Pc~?|yXM}vo1m83o0*={9Z{sjUFp!=%UQ4Tu+=3S@v_WUVS zFG7_r{7G~mYt0*oW+A}6E80Eh)0{w^I%=AY#Y2XQL`ADosQF7cz0SJ(+%qV7XK%>~sW-By{FTw;|5Xh>Q0AW|1W)+wj+XuBk{u00$Y)WxS{_=tm? zV%q1rrHD#37P#-Pe?l*7KkRXDG&wC))Xl^CR6Yid6FEht)+x-Z8k3K@TJJEqt^X$6M%u@M0z7=mz>F8A)mIm+N#4+6$xk(s2Nshj0)%GA?x+>d2ViVO>5@puRAD7e9nS?-U;vM>l>z4~^D#^76D?$AdKV(B)q~^eJ{n(v;rQ;<-|HI;&^v}vNvB*4sD6$P!^;KdMd3* zWFNWajxqb?w;#N{OHPl5}bIUy)sk7PrmRS@b zehu#l<%TB(uoDZu8NL5IOI=SKE_klj*Pu%#4@)k>{9Cz#f|pZNHddj6P|v5rf~FYn z1$cN5%ep(Sv)=X_w@a+=?6FZ~`|ATD4_rNJ~?dm}xe1y2bSJXFZxLE#2v!*zpHck$%z02<_Sa5EuVVAE1bT}vE{`nUWmRFwP zAMZaLcWfW4=Ex>3D51X5#otSN*+OUTco|^5@PH*{=)%N${^L=` z=P|Z+QxzXW(|Zv6XY)xl-hXLds{Mk?R4x^%oVp2o(PFQ+cmb3TOWJxmBBiiWKqBz4 zA|8Z#@{yQ8}hPnNyok> zfN4nxu8if3YT5b`Ytp+N7zHOMQ@sMn(=5=?jLgq1uuv^q`9x^$*e6PGcOiR8mZWE^+YCQ7_Bd0s zod1B4G`a_`9?QFw6{}##b~djZWot+fpH>+Mbc<^ zyo%|cge$wc4@&dw9MVQrx#Tea&>A#u9s#eF;6L-$dp836JS}{469r_84jVrgEG+u~ zLj7=hasiMWHr5_h#D8PY`;dcl3>22i!0o{lrS{Ya=8uohmTHpY;@K8U!&<5@vx(ec_^qL^GH@NZly z*FhVqL@4hJzTv?F@$=>sliiDp-%Ox{8Wj^>8k#}*Rhl0{luPC0Vm`7^o(zNt?yZ?u#SdQJW2E_`-?errQK~f%v>84!QvJN(KL6H_;&GJ!461Dz9#>Z*LmLZkal2)w+NQ!G72q?7u$Ee zhPbxhlxK-Tm>ECQRjf zKumJ+Xb93#8ZEh=`>sP@9+YJSJwUw^NE{H`xsgtp@?qJbM@U592`i-c;!4<3#fNOV7V++th zX(>cu08pZ?HH^88M=DY)_!X@D>^Y~|XD?V;<%+18)tQD8OeKbNK~D3H=bAPAyVLv{aV@Yt`m5SwRqRRgm?i%zr#SP| z;WMPkT^dQ(lbzd~JMFy%eBub5!xAU$UpmvyimF+~-$S@_T))p@qsbk>A;mLYgRsPS zT`}S|Z&3SHrvkYbH6ZW8a5z*Q;a#lQ!j$tw^8S2R`glN-F{Y%@Cmgm9zBILWLt+tY z)L^+-{w8Zcl&;vx(VU0WTJ3xR$E5+UIBpjSJ#%@aEhNU;k9F0v=KcmlP`t3QpYL<- z2r+O1!zC@Z0S{F7A#ye!UVCOr0n-I07@V^>e4uKdd%^Ia+JzD>_E^lcF&Ou_>1d~ulXc8v z)qJ$=<9fV)KQ$g=Wdp#wHrx}kTY#kqthZlWH2$QUjG!c&vhf((>1(QEi+K8)5*l zC;VCQ$iV4Qf>+9(!Fk*#QFr1d>8MjMUQ-5%O`Z7=ZE! zaEr?Ew`p7w7#r{tmd@rv24W(wCTGMLnk?Kw*Q}yib5aiQ0MY7{Z<`#=aR5FqjnO-< z5x6(#1KB>6zm$x!@Ay`Eo1@4HVheXieb(%3@(CmxCy`tgTLU^=D4i$pR22>+M^jSL!>#)w1 zLs79~$@|rWKKYW1dLu4lq~yRiYn~P;Jg*HMmgjVMziFpMfqT=wfkWIi8#&pNXOY~> zw96^*9t+_yA_rBiVKeI(l#O#;^mG)|Gk@-_KX@gZJkcAlV?(yl9G6#>hI03DE8=Ak zRMyjCa=i~NGRN_HkUN`LH#*u$0{{UTUm2boD29AL)qd0TjTv}(W7MWT-t|x^t+Brs z*iTpMQ5MOpLe;4_F>>@NkfWE;dJ^$+m|U{zjYy-RS{uIfddw*L)Ap@ zBd9{S*|amV9JJRk{TJ<5vO!MSLl!0r30r~6R|9zwGX?|9=|y->db+P(GuiFaj5^5I z9UB|l5gm2S2EjS3JBbPQmWX~?6;u&&2z!kmwE8bwS#^*}Ll~9{ z!wNY{1|wrv-`;#2y_5W+yPy!rPf^I5|HUbW!-Mo-RWfz!Ml-zpK3Ha2xuLY!H&mgz zS*B%9{$z@yzv5*nm`XX>qRNrceqA+T9lr%4t4JS!a|Zo|811DQY_IEJt0E_b_cIc~ z{o>xkM}U32U+SS!GFJQJokMOzikw2olUrGXe%9VlLuzX;$p9e8DHL2-d+;Zp2OG>d z?fKN_6JN5p5&8OJ&7IMk>KG;S!wER~VLt)((-3+<9$SR2o{+D<3#dXJC!PDLAY!*~ zeioDc86^FU1v^1@Wy@dcXVNf#M9ur(>VUr(gum!~@?|1q=r(y}z4}eL_nx6`r^8)h z#QycL&h;fU>Ac$gr#FwBN4Awz!|LC(2nd%X0<=E?)vu+dhFXt?N~D*AZJ7BVi;@TJ zA)k~2CT5qlz(Vuakn+0t{bLHX`Nl+6OB3>UbFETQEy9J|ER@UC@`C~597x%FO$*Pm z%jb_SIGS=)?n|c|1PaD97d56|BIwdM{+$V>9yx5yFfuP2%lsSAl zt`lZ#EoalgLLi+%AM4FZc)wqEz)SZys4KC#fA(l6_U868!=aq*V40gk@+(K&Qh4M` z#Jeo(39hK99}Ir!M72%qzT5DB_-GBtkQUNRen&NBM(o|rmBG#a)lT&k1tF%V%u*)! z<@f7!@2$j(4F*T{p<5?n3&(dUUzXo<0YdF7$eTEjD8e6H_6y&dKlH!VA|vDbMI@XM z@C8FasE_nV+i_!*yevE;&C*H6!nk9rs3a`RY&i48%Z^3h+FR`>B?s-Ke9Hkm8-!HfcdB-fBODn`fJ)XOF96KK#IB+k7qI@y?q9U>8 zk=zH3r3p^zj;45Xt+QBMYbPuQ7>Ar}rd-}Hu~uk3VcZ9 zcGB8(HLRNP>jwL#ho;O=l}GqR%X}pbh?z)bY+%g+=9Yc&J3;e*u5g(Y8j=Nh`XoA9 zT38{k?gFXT^>GHQUCEw^~P1#;e~q@Vd~Dt z@X(q0bJ_@h05d=cdna;Xz|T7rwU@`%)a(=T%k@m|CV(#&QH=5A9wOEN02=dXVt)%N zj3~mojk&UrgO0-&(IL#RcdERvht8n+zN7Siu1={VdI?eLsq7QCIjV~0NX3QjfxAt~ z<|dFFkxipPA!-3wq4MtKdXjmC+3Lmy9($=0^AC{DL&D)0(&j5abWfjM40YZw?;Xd|t^E<}Qce8Adi!-&u55+GDaH)qs?~l6ci6*(&5ymKX z_<@`7j|<=j+>JYH-?-6tG~GLE=|}qq&(}qFxlwH?y*RjgL2Ep7sQRc3;j3UmRpTCn z4f^!NFGqOddAFV~?=+UpH;AK^-45A6^{d*dz_22My=(H%dK-75>{x0JUYX45L-pqd z(C2N(P-;G@s6IZaM{45ine9xWPOb0MxhEg**;XZwgWaqP%}J5#&D_-Jv)JvLpMs_4r#ZZ$ z8PDWHl_Oc|&ZBZd*u#8X(8W5lDR)QI8kl4(ickhT*gggGABhWZgZo-23gW{bV@kEh z?;6gWG!*jc_$p*^t+v_M1DwOX_;Kbx9#d5xe7q$pN}KugnPg+|kMHimJiY6_w`cfK zw1Aup?uiedH4=(4*fm*}n{du_2#zhAfAmt|H@+!%0WjMYLl^FXC%fgRgnAUH@cn0u zFxzO{;^^+qz-&cr6xf!&10zyL0tzvZt(e9GS@KeRRj0$F8LyI0`$vZRfpfXjsu7JK z3xl|OK3X-zgkhF0CbngObl)G`bH1)ABD(%nb8>KNP%GZ9mViAVnosr*X^lNGP3R4I zun>B(cAw2T^!n|0!Ca5K!2f4F{qe~X=W;tkYG#e3!Djc<{ zXls5y6GBxBBv)r~cRU+7VcjYhB|}(gX!%(q%g)KKUiR8|-mVV+iV}jKyllE|M6}syMf*JW>tU?(dHh!O7Mo4A1)dLfs(gq5S*oDFiKu`W@ zU9Jc~9j!v!CvDD?71bd69i2Dyf4+DpL>jsIdifM+&`iJ~W&8AAM@wVTY@goE^rs;J zij4}=7@;zDZkHgU&d+FhuSg;hZz##~A_9v63?R1Zw=PV(UnZZY_mP;mZ|`xy*SN3=u`0<|4UE?QE}$b_EbtS!P0WSU#_ zPvXwbSe+{z8v=EJHC&iujnCta78xV`oZ2>6Aq4&67BssWr|VSc#32not~P6MqV`CZ zCOIGwI#_`SN`PuTY;7C>mi|lZ^ej+{27K+qhugS*P}G~AY!6PSjcPgn`OYEz+lp~v zxZ8TCU>3m_Y6Sa0U`skRV3IqEh#jXnn6}g@)*W%@cx$-H`z41Y4CzKKDbo+G1Q(^KsK6WRkq_=XHZkU zy{rsJ77YaD%Vw=IkUG}-D7}Dj=T~2WKv;nkEx13<>~vxIn%%yy!DcCCA#}z1NWoyP zW_#O?kzGf8>-s`2o6DMux3lo2rDOK0<84_8;uG#=6EJ$jaN+4o#-e2B2HI{ zM6g=QxAz*gjh6l7I{sRzS(ftVs9=D_!)ZXW0BUo62PBLMuE2nA*IrNT(x@r}`Qqbx z`&1Y{R+gW!i!GHCkc>)gSx)?n$7m0nsT6#Z;UM{5gnG}KZuVn9X~c?Go2aE&u7Bky zk5SidQqUK!z4h`}B(Dxv3^KCizxbs6s7IR%nC+<9d`<8BJNVCo)-cMcQ6&g}T`XBYvM2DHwCVrlKMQVijA39o8px+; zUPi|})6?sT1(K*nK}dkN|MUA?as&{K`EZIC>V*hYUDs{umVam$t6$wsex3=TeVIoDBF-GRz&NqDFN&TY za5UHMeS*G00!wMY%|s!NhM?^X{8|%Z2T4EHV_0|JD^ipjvnmP2bDwrPA@IYD0)Byz zE}5juHqMWyLRbagj1K<`AfEzNX8u|XI6{?h-gx&>4`?iIRuuMW6WP5IxC4i|_eRsg zxWpK1OUEFdL#EdIjO|1VkAdi8ODmpvaLXQJD0;)Q;H~kNGlGo2Y)!v z=yH}hM9M^~TSYa`*Khjb9rQa`Ki+vM(jwGbjQ+W>(9%k9-q>VvarNN1&jfNVuxc1# zz{O?jV|GZsAyxTTq~-dJFF59O);zkEQ!6_57w}c7z@@gj^VXKB(wiF2qdvH9Cg%6P z;YMfQXC0))`cm0uE@*o@CYhuw?n)nL&5gn#N>yhh+>2%UecIjyimwLiQFb>cj`f2w zE^_=bL;HHWyn8K^H=QdBMfjLwU(>J(i>Ge1p#Dn*cDQM&ITeC)#tNifJM5<4{jHI`QhQB7CtLSx6wKy5a2F_ZT}<$rX2 z<(r~gd0l`0UaqdHnlJhTcx6Eguo=q37bgnVtQwQKuM;qF^92C5#k1A?g&<|d6ljDy zH!iv-EyoVbWIS9dEQZ+E0R_}}>P_2Hc^(W!MtBMey!rR4 z9UY{PApY~GP6x%Av$5x;8ZQnpxuTl!jyZrXBkd!<@?f~i{4-#I(1h%aIYXB{Yd0auALsWgaOj?UE#i0lf`ra z&hWj4kdRQY!oWH~&=B%rk_W>QdveJd!N-JJTArqNJV5bxbZ;?4TizyrOL3-3rr}gT)vAuf`0A}C1erXw6ITF3VJh5+T6HBLg>3SWM6l^DP zTgS;E&item#;a(XYaIAi`Ab;jx$q3w44pNvhxbH|-_M&+muq)rK|jKH*gqAW-!5vs(r`XzUTaswY`M)|pf%-R%!A{QW{|(J5Wh9+ z-#iY%Ri`=PO=m}VCZ{x9Nl`D<14_L>0Vt#|m`!`kgZi`@)p=Q?=Q-D!x9X@l!2E9Y zD)Pgm;OEc}6TNG=lbaV*{p<)1qCTfR5&mK<{}K98{Wy;zL0M(rWBA6?_p_H^XLWl| z1@MiS4onMw2YLsY{=ndU_~76n7FJc3jBGVw%H3{ru9q&l!njc5HjHcK^k1oA;NJ8L z$lqtc+J|@2D7V#m9l1w=*pDCQQS8^VTY(!foLl=_K_QvX9) z@&4yQ&3InFHkY@p{!)wDE|I|GDtI#Xqw?>#3zvb+C@uQ_CKiOw_pPYEf#5Xd!V&w# zk5x~t;kK7=Xwc6X4i5uO@!|vihY^ zO!oa)s400R;!s+&O|CsWSc8qW;^_LB`@n{+L;e}70>f!kVcRzzzXK3s3xg!+cXU9h z(PDS|Q=Quxr!!!DVYH8>Tc5Q-wEzk^d`6!U_jdc)X!(eig= zuVhaje0>^Tv-i-qvhJn5>&~-qkF>w^lDNeb>c$egk<}fkbrzeU2S$_>D{|*sWp2UW zPBY{JD{?s2^>s19FVkOur~7m_=hUgaYSmh` zqd_-nh(9sW$wi5tO|~zA#ZL3t%W=y4t(LEfhszM>$b0Ft2g=oU%$i87(~9@bGI7OV zS}qr%%(c6_(FL%%9V!r$S+GIXm)R}ZT1w6Q3u3|zHQd}W1RulQLM3{sfhCo3l?f&) zv6qGQYLzkZe$ff7QxYH^;aLf2<`JP0;y9;1QHhP}R8OPqAKa(-1|jI~WgLrnt5sc@ zGs}^b?Kducb0$B{o*NTit)@!3?t*k?K7g+EaU*MA8)xs>*X)sz=r1KU?6m7>qeAEe zR&Hs8;{`q!BdzvfIv}E1o&k$kS`3#2nb5bl{}g{!h9(82R0_wPjP0$?q}Rxe8gxsN z=Bh;HijJ+cAQEn;wU?Ko4xF1bf4#1a&=6Y{Ic`S6%*xe$G%)~Dx#|z9E8bV|NtN@z zVh?~{*)oFVgem}@w@Q>3lpvs+xt&Hx?wT17BG=h1;95-%n{`y@I*Cz}gzDMN3gTGP z6&mt#YNeZdB%m>Fv2_p&WSL#UA z?m77K9D4eIv*cqS96a(|0HY3COk-L_z{rPcQ7VgnTbPWauka#6Nvj*auzc?Cl6-|d zeuUDF+?L6JDt3C9qtS6+LK(e@uI8wFTF+PIaUm=igp?Eg^Ifn1apSX4@$AaYhfLHY z;0sz`=~x0;72zHgGBJd$h(AVe8*)dzYmkR4=7hx5e$X{*}~85ie?=;a0uv8HEwLfk>6+N*!2q_ zxj$NU4L|23@Fw+U`YG+#0_;gIR#(?+NR-y`3h}Z;J#rI#Aix(5@s|Sq$JK%7GT8WN z{F11ll1MWL3QEC{+%$YB>g8iaMN_KE(Jq$a)v-w6Uz!q*%$%tc6(!tHs_+-b5s9B% zJ_46ZF%M1-%ZgldFWb*rL^SK1kmL6N?P6;&SrSKOzX^i(tG3>Bu`*a zE-6u_F$G<6?3A|^mrDwLXQj`T#%e?K$rygt{z}ZoBp^(!^G^IbJt?`DocwcIrJSM?BUYYV+ouB_Ew&~jyuR-!P~wsd4UU~}`HzcDW)-M->$^XCe9c+|!vYv0JzbkxPFh!Gy5q1WdzhHyBbBrB9FUTgmW~PHn%|$X@AbZMMy4Oyi#57WvLU^O1En=t-{Lh;~ht-h#-7e z`C`A^1j?}fHb3jdyt^>dt$?;_gQO>FgKrR8NZ2LOOnv$7N?nZ(Mgh(H@Tkq4d2fnvyRZh*3Sq z`l^y2>2+{(+>25a#gy75`D5TwoAb4a%AWqXDkGMr`H3%=4$vyKSwAn^i%Y44b)YUn z&w5`t0L+H3h9&TO7Lhkl@ewrL+|x->09xb`rnV@?Jh=R0>e%~Rm&JOoZUK~aiDK$u z`aaU)B2K2SVw+l3$-4pcv|_--KG0g}Bf&MU8+1l1X5%J-hRDZMy=Rv{4te7dk|wF0 z(V(I^<`rLzG7wD2=si!WI{i(Dk`kCDGZf9!%W0&ix&AkwdI1>s zs>%^Mreo<|->B~aYvoT*_JxHgE(-cZ@k(|a_)}+}TYfj@02i&&%-eL)@$0$(<7k$~ z#Fd_>t>Qso=8cHJVKL2{JZc8+Mdo)KppnsZQK3Yw_Yk+UD=7jR!^Sz=C%)5SD5c|U zgH*~`U$Z(KdMuf$NpD^m6?YhKr^r0zD9~;8CQ8MkxxPiX*=avV^nPCqV;~}eAmlgCwTn<_952NTts9T82e)hsuY^+U<=}w;bLB6D3G5&C>O-i!OT71V;|aptkG^2 z?gp8A>XGB%S=TKimyB@o_wm{VEvfTj)l<}km3=ZW_D{b;$Y<_eI;EWW)RI7ADUg0= zbV2$RqYK2|kE{`<Xk^KZ$;e+-Y*bptjd)^VV9 zPUh~M-r2ViV>4E(Dn^IYSYnuCq+`FNq!p`BH?R7x(#XQHFZCypDIaAy&`yf<4o<-r zvk{s0SR04D9oEL^mlRj+cc}^MT{A7ErJrPaw@Bd*tF=F2>s4u zs<^{n2 z23u?YgNupQ!kMI4iz;vA%)P{b(`Fv*9B8QWilCxkoD?F}Y(c7tWAZqEo}prJDcM1*{_Td!mHsV|EN+9C_NIdrQGQW97vqwhU9Di1E0U+3xk| zX0u9g8Y8&Cs!;`-d*_W$Ow9ALSbPkQmFzRJWj z;t+(B;BPJ1+S#<=c$OitQS*T?LLPM09q*jXkpt-9)N>f_K%4$%WS*3nV9QMCu^({1 z9TGr=`>#WD^A-&D7=snLU!V11n>slaS)=x9{rpZOFdy82fQ*;` zRibg^gHF2{8R-=uVgm8@fjSQSGQqg&&L}L80*~*Bz-^Oy1zXw|?z<5EmiGptGr}x0 zMU}T*{Dyk1-SSs|(*XihHJtZd+d~k2xc1satk*}GpK;x_H}?!GsFlpATt5?Xn#J>&N5zHTaSAl-D`%p z>CCBb_tQ$HG?q_>G7p;gS8prVQdPAGQ8(rLx(DsodxtyPv-8MrA_}gePc#r!!fj$X zL88~R{}v0xb-|a@6O2G21@x$RF+Z+{XgjQG97SK;=Gie=UmhkbJ}$+&OTWT4%6b!@ zAeQm?wE9=WYzaf2+>u4%!}&NLIjhzNjys?4=>wSE@-DWl_Iio%m4rVq56{;?TX64< zv4}(}{?eOQ0=JFg&6BV@9V@W7_0jkHVMO)P@>~e_q1Fj$Y63|@wz)#!LT7z4`l-y6 z(3_7q4jGX?5RV-KcSr0&Dr{DG&};;W+n(!1s5q5Lj0{6>IJ`w4f*6p`kbb{NRmIUr zoyLKjA#E+Ch^!?(PEDUs3>q@fK^mu;;xI#>bF=WHim8ExLYhsAF{ua+4jv_@jD;$^ zrIImM71GI=fe?vYVh+{d=IR|o0cAXrH%h;EJ^#D<`EV5`mH|3f7JLmlCX?EJUn1KB zD-k1A3w{qe>;0%6@h8p}V4m-N`;~4|oESwCiEyWunB41(a^De|@=-~8_~Sd}UlP3O z)-3>hGzW(TNQ`g>T06G!{Zg9;7jr+`8!_e*+0S@9O>`dxBz3r%+lAQ@b5p zLs~YlS`5(xdcJV>uDTEJxQbZ$e55k6(EvXni!2Y6cZ0v0!Q8B~ttnLPAV1R?n`}Xl&Lo?h~{3-Ley(p!|eBVmP*D{HTpTm0zpr z6=6suvBE2-4=A_U!()z3p*ct42*CZEB`xy$Mkk6eV3Ea`dgPH9dou@IcTk#7K3%la z`8;|?xv(Wf|eXymjw-x_qY7$CiR_YlcHTFfzJ-rgD_#@tqGb)EVO{_{M>u$(0wXAR(_oJ zOTj+i7Jy{FI49kHw@#w;lfP6nPZ+7*;OYsby+yIh5eV^g=r$(@8L+L!e@V^PW|148 zsjRoBcZT@JD?3fY$gF&V9qf5dEQ2ddC59XXVo4H@^c`?{hdfxi1Z71P5377PZv{O4 z;^@M-%#j^xD9GfrU7Gw&!nM2!%t?}py4}}}6yIYBq_7MJ@aY4qYq)k2aIzu@>K3L( zh6{%PT=lzB4&LlDUo4LpsRs+jpGA?$A+#BciB63H%{~c^3N&_iH zozy8RCIV#i=kL-HDI6pyI7r*ko=3Calp2YROCzdkx$3}%&Fhkx&Lt@4i0gCDonV;5 zak?0BxuoH9d6wCa=52VOIy!^^G#B1d!L}3K&uy{*heBu_NrN0uOZ!{ES)nsK%4m>z zu#oyXg11XfNgPTxJF4k;`#)E2Yv8?!vQZNYIkw9P7~>R`-uJETrH~|?GKIQWN;|^X43#vyvVwscC6i)W8Rx>dF zB763Ejtag!St5{{&~bE(TvEY~-6JA5rq=?6U8ITh_y5uYa4d=O-ca{9r@v#7E`nGZ zp)P(3ijSDZgffW@R8lm`ytG(}uH$tl)^ArODm@ab6zg@oT zMwQJ~_m4rH&aRUYOHo-1OhACGpIB7WEHpBVaMfs?Kh}?&4u9HBG0)0Z67#h)=@01) zBc0M<|4;iyCT{8xS~2DKs4QO2zC4eslopWB+{*E=d=!mMsL{Gi&*%bD{US19^ILIa zIoBvm)n+-(uXnW&mM22Gis|}e*G;&%O#AJj&g8FdKQt)d*UDb*pJ{a)|4Fp_#n7)Z65 z?vMSw73=FeW`Eq4L^l`ajv~dc39kd^2%V$4^=aAS(5YS=XEVsXB8ynE&4I2=D4n<2 zgdfDSAokpGM0ok=>RC1E%gwrQ*Ngj?4Cx|rRNAQrH3lx z;UXrR7C$h|52?^(BVpSvYNC~qJ;Nu%TXQhvDd?1=HJn9V4VC2;8(JfPU4!L5^m||(cgeo zR~7igQ+GVQN&2waJ=1u~rC8S)Dzg)t6FFG#x@L4voxG-F zvi&|IQ-?%fJp8w9DcT!Z&H;^`Bt)?GfO&3{PAfZqmRsyAoP8a-+a|(wk+4z3kM#6^ zBmR5puM=N4CY}GiwyXeOsoGj5kzTw0ypn`-es2D0d!fU&UP|Tt-Z8zuScAsW z3wj3l_f(a;zE48qM;sb#F0KujRcS{(@-?_(Bc1iu+|?%9iG_0>+Ea0fR7xlUWCIXI zaeVxd=uTp85#*v1SZI>*&J^KGf5)g3Pp^!%nOqmlO`+7-%_}JF-idU5ig%ezFGEgUcQ*Ym22gu1 zOCAxn%RGcjGbvqhR@a9dueN+{6Ccznb7(4d*0+oK4n5MsH?_p~wMl3S2gh;1?l_!*mGnQffB-gcKGH!ElPB*xz( zTTv~9o2@Cx`cvdMz zA*1r?mNOg^eOu?4oe^3H9yK@o+xTunJ&Y!wqCJi2uGQ2ctK)I2S_jJTJ4o9PlYpV5 zP(;!)X++hZq^bB;lhcA82UB@rHi!2MiB?zbArDK|g|s%-@QNy7?fd(0E$whUAG7cJ zLyw@t0_s=(A}C99*D&SU!wP2Z(czN}rv`_dD#cNqBS6*D2^hXco*K4==4F)2pjpXF zKJ@Hzs{3V2lKi811Vn{s(PD zZe7H=oAjc+j|yIHA%u_suud;s2`u%`nb=3dqEhL5!#1Xc4fBdr`dL~KwaYl6ViU}X zggDk_Vv0F&A?Ek8h`EWA>~u@v(IWD{iN;&^4c-5LQJK zXU~)@CkgC@8uJl0?}kjBsT3Tb;4gWf58fRrhAtjhL0sGGynlD+d!x-3 zvTfnuAjgmKW@`VrKg&p*TrDPj2YaOA)ZRQNzMYKkPBQQfN97dlm-0TpjSkyD(jp#n(?k7_Dy=)cXh z9@ke1hyN~mL^VoO(-SzjP{x)N>?R6@3gaIiV^AKseL>F%c}Wq`{nPX0?jhcWuL+l$ z7d4uC)_&jlp=k1=Ouf065^!;!XO)@^N~3wJsoFP;+k*U@iNkMu9IsvrO-P`d~aCHQ3xHEn|U=ovWj*6Yi6#@5yPEoLBgM zQxF1Mx=E9;A6gwu8c(e>>(*WPTPiowkiRFk|s{%`wbEkPg&+Oq&moyRs6AAkyj1iAyRsPwVT+`WPEjmJzE8Gw#HZzdk_< z(YbKbET3*E8MOx-`!FkR0KZ-?0_%p$B7AR~WH)f#flEn4;|A{|&P*}fL0C06lp6eI zVlhOZ9g1i#@1_E_g%5Kj^+k9CrS!#YNX5NlptR-N&#n7?n_3(%9p$sz4yMMoJAXF` z(`%}+^~V#=fB3FA8}!9jr^o6WWf!U(=k2nn}1Y&*-m7O<4g>RVioYZt^CP)qkCKL&T3&4`K@ zuE_6#brVg+@;zEhg2SDF9DZ1klCyX_(^pT17QqE09lq(uSu&sE*`+qi#4rX2Au5lX^QLU($D1~rLp&eT z3LdNT%RJ8+UaPbu;ZBmDpWMYicr@Ng=C43WQiLn&Acm$=gsSGPDp-okGQXg`bU2f< zSiF~Bt)REgSIRGZ53ll}3)bkrPh?Jx+TlhyZ(72Q3p=dJg}93t_QSwghG$f3$Y~PV z&zWyTrr(f34!6U@$PT#$3%&;a9t7 zc}C@g@O?K3I%g|xvg*1nzkY$S$ieGS$>i>4xtoJ$`AFgEdcG%rq5W=A-RJhILiy=o zd9`g~PBjhYP5k@+`=oxF=p*q&*k~b8{L}OhTg#SGMRk~IIuib)=)|w~gXuBBZ+?LPQ=BBa6*sOs7Z6M;utlppAQ6(91$9i5;iFEihDf zv#A#O=FNjLPNG=88Si?TJ8QL)AZI;(%DxEofI$kI&nm^|cw{a!eN(GaeoIbwNv#fd(at z@?ikZVshF9O%UYnolC!XTsq~Cogq@~go`)sZ<{=oTfA#HA{P%1j= z{zTuUS2E6Zk4~D>O<~S|!X`+?skI3YdRxOhKAVOpHSkr?s49gW4Yji2owEs=A3vcFcU&ZkE?iq z7DAL)u9)`sO+H^7HMzjA4PH^~OafxT-TcxtLPp03FY`K841Uwnij>B8nWs+QhElc} zpU+Z16+CB&NZA6u)kvkWmXyWxu{u!(no9W3f!bAMbZ+jLqaX!2rL$Cl%hJy_U)Km; z<@i$?@(!4`$}tK`5_h@0mrG{aqc9gqdS)ek#GtY{Vd3YtV z(w5Y3VhTG{1%dN;YM!fK+55fty0WbAL{_3~t(Bi)Q9_^vb z9o5{7y4E>~Z*n0zEz0godaF0*A12rAbQ)r-3PaEMY?@RpVU)<-`mam@m$b*s0Z!tBtewT#CaEZDlDBqZXza(F-58i%woO@=_ zXVfBvmSjloP141HV&A>Gcj=&w>cqxu#Q*C)cK8`4O!k@KC3Xl84Xz~VwK&bb~utgIxNOy`G9J0GV# zBW-ZY-nBQDuHlq-;s0}UzLEU1a{2j%U~I|{P#R_D4$fdq*{t|qLA+*HTi+edRD#O_ zikchgt&j;n?a&WdQnUj5S0!S-0V{qnf!!%vxF^f4cU7xj-yb%tHjTZbQ)HgM+TD0s z_So^VYZNmTF`~2W%|IEDeS(h{G;d{L^GZm;=%LD^dS#fwC6y&LiEfKQ?lZ>^;i_jA z0K?n$Zq(d=2E@p6I}i6@A!bL~>qiTx`lE~o_ex2UBl#4)>EPMv@pRjRt|t&&j6+Xj zo_YMBpnv{nD|5M44|{zsF#MvpCSJMRg>OZ`d!x1aaF+6pfY~P!Y{AS@FV(gJHK&Z# z5p^+ozrAhn1*5`d?D4>DTkw(1A3ob*vwB6(`d|)@+~fRgdt5FC zjkL~6pO}noU-$Yx7UmCF4^645CnY-~T^4Z{rxT6RHB}xi>MuB&vi5$m?Kq!&a;nNI zuWf1)O)GD5Smt3fDoA=$8^5J-$LWLEu!2KJ-w(1+|IVkG$35Tcy}P<;UIh4RS{k={ zy(5B5XJ^+t{#hLr)5PByS3UV!2VX)pOBBJxRmp)8_jCOUz*y^x6@X3&5gb^xuWo5^e`}NLV zbL+9@35W!`XF`MxtS_K8mz>=^Yw?`0q&!)!c=F>_!`evumAKJu!s^AaI<4=lELVre znE#7-(5d|NG9nXVu@C-BKRdTk4{W=WCr9V*4bq0a#<9Dp%-Q|wy3%@4s&=|NS07~ zya)MxeWyzkxz)71Hi9;uL>23JRVc>NcjkRH$r!yH**IUz(gvAh5s)bOX;Na_mIRV2 zo)RPQR{W#vLCN%}k=(|)sL$4vLlfno*b(%JZR4Bve8WA&WoSh;E~R~vWgw{=om z|7g32rRY>BRB+3_x*_o7+vGSOrk{UG`hqVJL(#(%3F^?%pLXxJbxaM3U2aw3?7c%0 zd9MiW1j&K_r-)(euCtq!$@1xfH#KzGA|EdgV&Warv1j3CCkTmX%9b^xF=$cx*yLGN zmLc#r)oE|M!Z&ZZK|;6b?oGnLw9_mvhj@irA{}(y*)D+iL$G{z)}VmEem)nHL*SlTXxGlE<30#3ej-`cg`#)l&~>STaYy9i1|qnC9HN6&fzun+XN2?pwGfTziD zdwl~#-Dz`kd!j9UGZY@z^5Z~#Nl;uk0FhhVtn*83pz%kqRLn7}3ih^#%agrEE>5eb z+B)Ccp`w>{F3O0DWE}toAete4Rcy7H|0vYc&FDQL=FO)Z6&|fkvHlFwsM#!FM^sln zH-we8ODvO`Z8k^4?>k<85APf;`f6TW-tHNMNM_GgSK*%ARDnOg*#5>TpMhKF#cOKx z)Y@$0028D6&v$Ga<*k6lM2A)WG~vpLaiO!+g1+T+Q`meNzMRO3Zqu+ihDMYk>w3P_ z`p(x~@@Jw1_47?Y&vDt$A)nIXdZW-&h+H5Fid=`9CxYcf08{pvUsSuii2S27$Z_Uz zp>tRexb7;0+}iqEge}$Kt@6YCe#s6`|8EQzqUr}Wh`7&hSySr)O}mCorfgf)&RxS% zHRsaG!ynF_j*bz0avA&IFPh9-@dPCRbJaS^>>Ej@ZwF;97nr|e&gdrZz=(J3TK#9=^U_UPre1+U6QSxTEO#bl8()sKZh#k%&SXLEH`=HVaJ>SV)k&C z0t)WMmfkBxCCE9fU3wp9Koys08}$ab*1%fk^;g1Y zZ=msS6NC2M5DIea!TBrF*}kicGK0KQ#}mh^u>24R^Ujed0If zQY_Md3MOEo4p34}zsqTmcc~Su^kE;Ma+6Y~-Eu}(gpOL7Q?+8+)oR-{E7%2T=)0#G zinrav)SgEjO@#E{s>6Yu8Yh+VwF=*}Gk{2;4_rC$sA3*%+-#a|hdDD(KKYJ$oI~gQ zB?)L^P)aPd=2A0d+b`EWG2KB+OpX|3KQ3TsN-g|G;5}F*qxkV-7jyQ=cmBt}rx&T6 zOK83$SL=Q{HQjj1v8!!Pa8E@G_PN8@LZ3;Y2=39f4*4 z=S5I>sPB7-xSrP(9^EX>=3>z#n|87oTmT^YGp^UNE>S$NZVco7o6;$9L;G;A04!LL zy?7Y>YT|(>re0W=PL=gl)>GkFTBShAUB(?F4l5!`ypdAg$mBw)PQ*BFi-J1bWB?$6 zc^tE8(=72u;W$?iF}#E;=7%N|mgY$*==Quw~rhOYk9i;3q!JMJ@zy?Fg|CO&)0Btu|>pps#=O=LFDM5Dr6t3C{WSo-}f z>FBN{3RtC@JWk@=?Q-8I2shh}-ro9t$PVeq-H*sWY46aRh|Qi?$7Z2EPlL+!sXCHz zU7U~=*Y)PdpPwLfr}&tc{q{nY{DUuCU`zf~za!bSO@I<{a4_$H`vdElqf@Su?O~T- z$^gTh6KgOe|j;iPpP9nJkn^Z*Kj(= zWLr4h*O!Bf*n~Azn>*W{izi_8CedZeqprE7h3U7PQ?*V3v4|L$(&4he@kmW!P8OJG z*4_kt$P=xUy>9@%317P=HnI#OU1x{X#q%C@*i($k@(al z(LYY0JO+m_TZtaooQWjw5GkbIB$VoLMI3(VVs&-uI*Pu{$)Dnh-=sB(kdUgKB<@C#!dG8X%hzA4thLorzG1vssrGVfuJ^#~La!4ijnGA4d!rckDs~4=4QXgT40D$z1JtUH z8G??ZMIQW5AL*&BgNp_|v^5*!%mY65u$!vGBe|hSanryMXGD@{zwJoQ=PG;UE9A3ym8JRT|)KNBWP&Bo0fSm|q1G#}-jBV5r|I2?MWuu37cT z_^?x&)HlZa;VSxMsW(KLcps#NqLoR213qNq*)cBE7)vS{;#dKNO3(5t!aP#f-90ND zPPvIcrnK>Swn4PXZMk5s!Y8X4FlX=i;aBz&Fy_G+ke=L*A7MXG3$+4p!ETLEmD6SF zc;t!F^b1kS2G1`9#||mmyFe33zkV=Fc!EI01b7b)a7o)gmLxR7fu}1I${N+01-yjZ z{HkO#)gym}{BsmI417DkPv|FeEnjEG*{fSNw^y>fEsqz5VK-^-E|b=2!0Ub{)^XK% zUFZ~e&d9j^e8kM`dj1mN;kOwGyz-(YwPaB%olE{ZAfj?2FJU__=O>m<&-FP*=|AtP zTNV#3IJ1`nha!~q2io$F2MJk&g3X{LmCf{aSBYWJ4qN-@&7h$Ak*t(o2-N}_KQY-8 z)&|*95KylONw&I;&SCIEIIOdFRdTY!ns){Buq-Bp0Nmj-JUb$-*-3TdUd|H6R!K>N zH{ANn9Qb@T!Gnw+Tp1y#3ZIib-`k|9zI#b&^M(lHotyk{00~3cfJqW+&OdQy`4G-@ zYp)utbjn& zTR7-m4gC?!hk1S&Ab=?j$tKXCGdDDaJjL1kZDF18caau;S`fnJwf zozgLCCJ27*nL?LThy6*B$d)r3EHo&omy>u z_Y^0j875b@q70V!qxtp2D=6!KCw}~#VYf=l#Bq!+(0Bb=I+klF`Cp+Q3=c@lS~j;a z3!B=ftEZbt4&C9_#kH&={T8Q`)AgdAV%*4&QhWF7MNLiL#vAg;HLPHuggXmhq5f2H z)$q+Rb9lLgx7vVCEXVjbrz29U$?%AIsn>L;uKKNL|efNu;>hh{(F$jd6+ zuXEblEn8W>9m^6mSs!K1UKQ5FAD|dpZh{uHB8;PqgFFM1yc_7pbk{Xa-;qNMQeTqg zy-#?7CjCZw8aJXqUvj!YWmfXZ`Q?D4@IMiRloGGxFvM81D!{x42N?}1;=T;CMS1kO zR8fMw%L-@&%_D5W%q%TKZ>G~_RtY)C>snMYWN;l(ht`MAk}#VvdtcncV*>W{&rr1S zQWhvRuy$%dk0fEkP z3p(lvJ7O?bs4LX!;+8GuuV9r0DgD#Jh+7PrG{D>!M%>t~8lxlBt7hDKd=u>R4~CheTR><8J8IBx z?+3%AFy+CXxQG9MtC;{jNegBonoXH*QSCfKfer(?fx_sj9xs*G5A0Xf@i{q{ekW%? zmYzqR`Eix12k!oOg`VZLKWg=LOZ}*H#1s7H60iW|A~E7`qEXEPIWVUR`IKm8t@)x3 zoNml)&Km>4q2Tcrv{zO8UX*q7a;SIz)=P}NS3lE5E|3x4dA$Y*c-^MC`j$=ciZ6al zU<%Q<>UAyrCNokufa)!ecXI$>2a&Bv{+5V%XkmMgW*86&gXt+Bn>4lTErSm#SiuKK zz5w_QbRnWznVTRu8=cTlWX$oN5d%y9K|Y>7-<2qEbKADT=RT^}Da*GFzAJo9C#eGx z(pa$fSiR4NNSU;ib#XWP*Ih#$XehW6K>q2Jmj7U&983=pcrA%zf)xv|uz${ye=@9G zA**!+N|we2@Uc=Bfa-Fyw(jO2kLy?dSo}A&GyA(~IM^CI`Y&qkds&<1a+I_a#a9O0 ziFrDDjtX;}i89nH-}A<)_I%+R6-}A&k5IO^G5US^yt;l>p;9RPTb2E-pPnYq*ZB%_ z)lWFD^y<|-dIE3G{7V}n%aH}aVIL(Do9#JbvFPzwREeF6JjmCj`r6XULN4`|&Jeb8 z(EfjY+gn%xR3n{LPzQw}Zem@@hyDsd(OMO*&C6*rGp8qbcT+m*vqU%W*@I9Mh6l++ zi)SVxF~8+%^sq_Vhv_-s(P8thN)`JDk!?}x=SywAM^1|R{zad)d@37WnmkHOhZ|Ul zbe3Zny_!OVSX|LUA`-7oQTr{AHh@ppy_FYQ7%rZ=Bc z-)@p&t8BIWMu~Y zq_ZT!x9t{aGxC)5&d62<#Li86ks{`9)$Gy-VL79iQyikuQD7*E7PZ1&(8+I~ z>Gf*d6lxEsyc}KCHh+Bf#K1SWE_SP}x5f0_*>p^}DP6n*9f3&C+g5(kjSW^%K0|k= z(9a&1B%A?OKDwcM)#vU?H84>Y%mLD2NAJNRNWIP7;&|X`9raS_aT+~*gN=pinHh*U zt^c&S6`hvB?c#TQnYfMYs$Z1Asc*f2`DcO&5k*e7b!Ipc%K-}~0|_I2yC@Hmv$f#e zQ*XI7+_RDBH%@^(9-jEG*bKh$#P@zD3ajG&cf`9xgYSyQ?8&>@k_Uh)a5s-;mM#)6 zhfRq*#^A`M>1!nEy+5d6Q&i~}V83b(v)K&M7;xM*B>jz!W?T*X-kt}Gg$F0I7@j-8 z-Nz%^Ul&Ip#LTpEdvl8T{&8CbPfW!}0)1 zhD`yLvqrF76e_Nk+O+MQL2ZQJrUtnLXbpzMMmH?~OO*$e-{h6Y-o;pLc1sL<*|xQSV3Wv)FwKr4f8$NUr+ z2DcQOIenk^saoYU0GCZy@4~baQ>-vMO}JSjQek61Eii2R*0idOR4i}oc<~(z3CZP6 z`CM<3-KtU0e51BxJJw4yRUA>;0-(bWK%-=*}2jL%xR>=ndLVJlpM! zvh56U{i=D3dqjDPBEb&M50gk!#6am1W;5HLqtYzLitTc75hI3?lfupii%wlVF2l)g zu&T`eqe>Mf9OI=B9hh4KF`eCBW&nBd75*OXQb%GQnLZ;u?WX(RE%Gacr_t`{qD0$@ z3J`ywPbKJ?!(3VkFVScItIhtnb*3kWb*(3^YtCHqyPeM_9V5i|Mjj!fO4`xW8qSE+_#f4~w&EDy$t z%Lr$Q-NxVppL+IL?HkgagFa5N6Hk-4o;&0Vb2>5FsOXqa#Zz?LXqZ0sd851!O04-amoA4 zLAM<*fK^HDBCps{YOXeR-F!|f@D(21Z8Xp{f$400?rhlUY9KAtUko3_*|11YJ7Kd3i1r#kqb%N&CJ4;q?eTP&iGhdz&M;^D4`KUkj3yt^6tIG@2Z#w zDMGE5l#v4Hwb(PVWfIo+La6$lt*SK18|%Jh3oq}BuIFl4o=yv_E=KHYK!Cmh+<g zTVL>K3(kP=vWei~Rvr4KOn5zgz02pKyC_EJ|9X`fkKzCrC=ukNA1_kAhJoIAXp-G>$?yOju#=n2Dy4CD{toM}UmD#6vdhIVpWwA_nNk2m8Bucd>;_Lq9WV8Z3DvDHC z>cEPCU@sN%S^-{8OB{ODZx@8xv{MEjXa4fzA6nN2Dpf;4S8l7c_ETF-36#mDnw7Mj zW9EI42~qslcpWHO01}tl2+Xy^yQEHV0vwo!k((P0eK`N+r?2@d(mrwnRLjhDBtDKh zrGBs<2Wv)`t&m18pH#yL;w#iHSkL&dNf)6p~B!xya z`)eSJ4MoP~6{=<<6YmS#gBccKHu%TTv{xLtROWJx|3(Q!hR{)zs{aazv}>o_MG84y z3N=PcVRO@b2~kx|FHsu+0Lz3<@<#4nNX+)P~4>2U9}&CAlZr$x2m zxFYz7JktP*xW^tBD~VY+Y?(%nGF}6JT_7|8l#y57KVku8cLVxi{Ky+qkFP6j{WOD- zyJ^FbOw+0~z<5-|EbAz@$3xCAsDFcFve8 zmh4>4IhrYgDGN5gd>} zZ-6NOIDZaBMAy)Ha#d0)44p`L&}d@1lnh$bz?}p@UqPZwIw)0;JQyx<&sncGUzRng zx3`SRE!T4-?$v}v0Q~!)A1QE{{=;q8=|;S4azU0I?2yW%_Njhzx4QPB!5VC94XVEC z6SU0xv=m}k-5w@$g+u|yPREvH9!zn(+PluSd!TqKQo2E>u%uKS+`CvQteZ)XLog{c zaIl5|Is5m18&$*v-C~Cajhp|~-djdR{k{Fd0|F`%(k&p}4N?QrDbn3tf^?%I(mk|* zbazRkbax{l-3SaIeKx<}|32qFFV0%ede&Lbt7jH3WEReRXV2c(cVC~{#+E8emw%wi zkENz^bEc!S-z4v&H~P@07Ib`A;-6|>G@)|!wI{(JkL=|NAF zM4gxmZ}6$E^StBt{G^8%b53;I&b4U?V-u&nZRJ^tBt^BobMt?_=eGEuB| z(C)a34IQd;SyjcKR5mxDuAD^l2v*<*ZmC@m{#IY(gF{H1(S_`x_ELMf|VlkD5}4-SxFuJB*=(U%pz7``6}y* zI47c3FTHF82?pn5#yB?tteFw{3>h?e`^XGL_4~pO z$h|oinR3Os(&O-#^>vuh<e^BdDx0m@+ZA+m?jP7vpTXTeu1m6zQVmd5 z`YN%M{bOSK%)5JFJ6z@YKvpGB(T!`-NY4G7F7}hh1eB>6k&?|;gyP;)H?zOHEf>0% z%=W#s=ihg~H+dckv$PZf&v6`4t3jjr# z_0GLXhk3UK& zje>PEv7A!(6s73cmMbb>)&&-RGmHF@jlDMWXIkx!(&{g!bh`H%?O1Ak{bLNPHYLi_ z{E>%)(s1B2$gcc40bc;xQ1w&S*d@m{He7ZawbqPZZWm_0jAT_<%Ma*RL@8zyF0^p- ztE=iMms94RuzFpm*1t0tUepT9srvl2{V%4(((>R#^P7Dio)h&NGs|07zd04@*=Bp# zF_^8`qkVAD3fXD96V$Rd?j;`kcL~J(X9 z^+_yo$HkPuphX^_CV4o(eRi375~O$-ul z(qcvqhdV{6l{47KdZz!vTzd7xfO!aJ`|7sYP$Dzi_VX5oDVj_3`c{b?@5eMiviuBIMQA9=;?8WeFS*lVP_jCft*Vw*|RGoUJ_ zG`OAS$9qrjrJwcloKTe?n3A^auedc>oXU0vhK%w=TJ`w7?TEAj(ApH+m9U3&kPH!S z3ishRQ?LTeGG1M!0X7GUo?V>=;4dIF0m=fofn$?_@DM zZw`XzbUhoHXT6*_2vNE@g|CrZ=X9K?OQd(Y5pm;icR?u+)pAK_@uSqfjaR-*)`cg2 zP>l8s75L+U?U46OzCX@oZ}2T7bM$q2$%G|gOcd~Ko#hx>EEEYlT6@(Q398{=|AMa0 z8i%TMka3J_oih!lW;|u8E9@~K=sCyD9CqKSGaNb?j2l7G^H4Ho1V%@jO;tKE-tZ`T zk|Tf>(6;aF+CHk&wq_lha=42ZUS1^Cwv`nAYUvn^8lRgS4hY~B;Kj?GA$7O8cP?y7z84An$dR5zfPo(jja^?=2H4ONjcSS31(!uOnw{dfR_9A_+ zJ)}}89gV06)L)l&`-m?tC%SGwmO>cX1POwov_6qlH+r3JtuB6|TkYcU_Pz-n1u}u~ zeccp>nLqslndCbgY*k~iNYV~1^NQ!5it))*Z3hifZOgc&hI60n`(97Jmz1POCn|bq z`>JS^8L$koe$WZ_;Ij6fG6{C1|1{n?Afj}36V5}X$n_fwzb0*T1}Sqgo1$=5hP5$N{` zg#bwt6Lz#o?S4=O5$2^QY_Jo{>Ib=FBMvx=VWBjI)U zk9Hh6GcJ8m?2H^;%P)ve=t0B%>az61wfq1)b;b5s^IiJJZ01Wkx=&;%;!}TeF26Rv zNC~;~0mQ?-O+v%&__unhf>$`@r@tvvy33&_*UzWbP)hyFSbzBpdk;0>PX7$8^ltTa>fm66Hw~y7z(>Yt*AC#zN(!1(L5~JaDB-|SgMMal0JtYEUTm;5o%F?i zd30+^$%G$TsdV>%;bhuMCcAxBT*8JKAQwj3bIbN$`V z2341d^V3)?sWdt1d05;O*$Q#-dU&2HS_caUalm_5_-GmZv+xgsasQ*HY|HrGbY=uwL-KH5&{I|iR>I;LSfeL?W)`VPDWEz%?E_zZE7qU z>wSy;axkX3r+9iK1=ak_g3@8+9z9remZI}zROCGpzv7PW`_kBWvAK^vPTKuvoM^w| zZq|gA4G=lbi2^>-!K^GADX5{c^}T4w-`+}c@~_`^>H0LvY5KEko%K$l`L@rPHg_1Q zsQH2Hl7o%2EjRekX*iU+ZA$CAiO|o`ykpyEsp_ICXFH@c;;LuexbdHc1N4&9HzQ5E z_8fPvFQl~pa#vBpij=nAWftWmm4q~!coSBwTMt?&!m{}!3n|(nTF;q5=58`9CN%@| zhTG~mawwmoPm;b5_hl7hiEW0O1~ z{43)f;ZB{B#tNnO7zqUjcbws2_6X6-3yy?p+WxWBtW$5tA+Gj%kY(SA40fqh1j(w!y#8_ zaa`F}F)}Adu3=pn-*1~+UJF0r;%5=ne#3E|{H>Ro>yT9N`Db67$gd4QoKj>j?`Wj9 zHnSKx7{AQhl!;{@)6Dg?Hm}oK8n!Y}EzW7`th(zKZG_g=OZVcrA&92nTPE~%N;ow% z84(uh51ex7f6*4*k!s72>d@I$dA>RC^ZGn)%`ou9Z{Uv^xpM@{yQdszSt3K9MOpXr znI=&TrlP)!nyoPYw%ZuVaFlH;uLBeA!zBVlVD-~fzkX*2C2wgv|aDrr{}@4(o^bba0$Cg8Jx_V$u*^RC=7<= zcMx4AKLB$Pdm8nYwPza4Py?cY3Q6r~jb>lemm<D9$Z<2zpI9Rg4i$CaofT5wqSBUZz3$H1Xyh z_yLxMB5&8fyM#R!#(gaKw9ecB`yWm(+3_ZEHwMygfQ&hvn{9|BcW|*WQhs?2&rg1C zN0!?5hKuvJ)k0{vnTW!<@T$SRQWf>9Kb=WCpQ7*nfw4YhJy2qSC65>s|6A~YG%C7Y z?RBnIzQyO(Yf3EZg>c*9h@juwY@aCkWTqsmM8ju;RFmBQ%*x>>Qg&+faFpbzD1-2$ z_)To}9k-EoDVCa^bUeT;0|Zq)*IeaICdzCT5E|=M7zOa^lR0Y3HTF_dd4>)CgnKl+ zyO{kaso?c8P85+-Omj3PemVd?;U~`MW*2TXB2Vz`wypd{{cOYOW%{(v*{WnL*^h}? zV1HkvJ<86i(!ulEA&_D^zJx5~VkU2dqUPQ2G&Lq$EV_oT^1R!LnTyt6RKzYz;Xfldb7WwY>{WlUCiuBmomafu z%2Xx_{V$>fASV6^HjnZrLv^!Ib|T+Pldd5i1r zco(mm1*2=%RDUYEYcA+ySLu!ZAtR_jWm56y`{Y z&U=IB=Kr~_~&z|s-YgV3Im9t%a$MV=fU2( zuj=Q&7)zsjZ;90u;XMrs`49XYvurLl*$#2la6<7`hK?$x`#)IE8s6_s9Rl}KSEVj? z8pF(}PALAT!;6@)2~*0Q_vUDE6up8k1+EJ+>Zx{<`1j znTkqP7`jXJ1J=}4+h57yDE~c~^}X(Tz!M7X(%BxO-?`jz%IYd5g^Ti14Zx&7JYssg z_{UT!OXEmpiiGEyai@Je#kueOaT{m4SBiqH-oLC0Z6Cv6gO3ybn%^rF2F%P?*p6@@ zIgc}Fa4+0q6;!*Nt*)A#uJqY5=vI|heuPia3W~;Pl|Kfl>6F0vzvF6Y%*y6D`?~*P z>Ec>>63D?-oF$w<$ie#L;y3#>z9_&$uq`zxobjiTNdk57GE|?fQ1zcNM5m8jL)D~4 z0qrFSj!;S~1G{r!=+5?jT}%%^U;gD)Bt{-}2D0kP<1?H!_yj8juTLYlwcP+jASVL? z++>Hs4YpwX0C+L1$QoXMJtYaOWk6fQI?{wA9LK<*1Gxy{Q%F<9ZJo}* zywPcwgNXg_RMazc8{V!TKN$?4SU1G1%f3Zuh}Kn%=kIoJ?2G4|60(u+w#^WGP`J;X zk<1xW_dnzy=&{`qCK^0HCS!R|UQEf6{xmo@DS{~$w=9^Ou1SU}^S9R2)rKIGt@Yvd zHZi4O8=$djb!6=!5RN=vMuL!+xj466Sot~hYPwg6mYkUCWygD=F=et&@%=!b+}W66 z;O2OJb#G7vTy9ma3ej8RGeUqD=i~h=wTcl?@kVu(_R6vsg*B3eEfW3IuFBczV~<8G zRp7@&dM@GDbk>|hZ-L%U*obE4kE$k2ma#V`_SKpGqkaM3FZu;>WNbNRygYfk5l>xS zh2nl0ommzP?Xor%&lxMO+@H}hOCGryQ`th-Jo2qN1=T=BjWNQ!O~MPDKQH?O zFDe{F<+Lgl8!sKPE?H-_wZ8vFZ1-A@_go-wy8K4tO_|{Hy_ApZUQRyv?O`)eWS8xg zcj8jP8NmQvAa8!3mE~mF8D!pBx3!g+EfVlIGU0pFR5am7w?=Q!{?uQfq@{tnLBK}`_3w-*ghR(PU6WXTPqx$ko`c<4Alr|><;OmNZ(02N3 zpUq4C2c634wOseh7#zdP+&kE$M3r7WuGW7t5?-|Rpgz{U^-HJy!M@_0f^A8j9`XHS z^`kd0bY&xPQ4F#M;Sw1+vh3mrb%-M$450~mPEk2;uAb&DN62Mx9s8Z`)b?hVhIA?5YGM^`Ug&K8lcKayLABh*nm+-wvr z@6g3rh34j=qW=2&LpQPsX{B^+=H;rdwicO{I?M2x>V9W3oIJVYzuLy6?}j3qWu#nR zvZWT{(gUL>K=3(l<$?0^#jjf+j|Mq8YOtA~W+#I0gSg=2Ba~h4HDJ@_!=6Wy(aydW zf@GTWx*yCafu6?floR#l-RgJJRDH^sUVubC^-6&Oyj$JUeu?z`h*#f)Qi^fA zZwfZwFC5S4@vRe};**1M<;ohb(DW-PMarg(a^V^=Y3a@?bjT?)AZcg56)hz4BOkL3 z3o{{C*0O!mGw5&d&FL3tcN(vBI7iq3KRq==tkf3myQ%)#3)&sD@XD$=Xf)LK>kY4c zDr6_~Q}EC>&sU!iH2HG=L_#t|2uFZZIhIq??Frdju?#-m7D#zw47B2k7>8k1eWo%U z*(-l;JTSXOIdqjDL&PaAq>fwei@NPju&^zEp6`EC!Z1Uj5~yI`nDT;J4PxrqH}pc@ zIONDG#z{6-@>AFu8sfrbz|AYCBB*S$#7l2cfDg_)+Qkp|? zE0DG@mx!w`^~c_n(IQ(@wK5gJ-`?CTwfX3fx+i8TQoRS-xyytlepKF$ci8x5 z8~mt(?L;jgRv`oF(i2fggQ^=E$SK4v$wJ#`(AH~*`)3!alaSi*th?+>6k#?EW#pUl zhK0Rn$#WLI6_*t8It=BdVL2u?;XUd|5{)la()Yt-Mi;nVb}JKx8FsrbA=sG%jm7#L zrdy=sB9V4(YT+z2kE?;Jv9%{u=B2)-klyK&0L)SO@MIX@z z@Ya?@0mf8qLT*@TzgVoC=Kw}aBxBE zE@ui;PbH9k5K;$p=pj@mY_`k0#Q``LTSP#KM$*sI?x6mA!qfc&qD<5p6~=z5W?ihc z_mVi*q113Q%fZ%ndmSqaQju8kW}VCk6c!I#mcN}I*KnB`GqcCb8tWH(r0&hmRYx)2 zZl}%^`LUNssV*grGq2`>s;$=5?k?fwOz-JHRUi8L?$Dv@h!+saR8iQG;lv&wVN(&d zKf$9OVqbwO_NCO!@8lh`3CKy6;`byFSV}OQvle~FY(`4i>En>aaruI1hs7YVy8zso zm3-T%(6XiL_dBsQ_OvIu?*4{)DOd>0*+VOHGfSgQ$>dNkt9?=TaT) z*CEUAgXn~pVNxhmyH?u%yFOoRYi%l{h9A2Fs#Ck8lF_OAJ-k7I_IkbAd%a#gfo!av z9c3+)_8d=kyU*`$aG)N3P4xo)J5F9n2J1P9o(caQNukr14cG%@4wN_ww*6m#Z2)yGgbr8 z+UZfm*pbo|NL4Ux2c{rVDMX-Jo*@hBqyTn=Xaq*7;I5>jME;cL9TZm+uspn(-PPGm z&zMZhlA+oN+Vc0ElC-Q8K#k ziAn5^FO4cE@uzJ~M2^&;jb8Gt-vA9)Tf~2h zP{7@Kh)@_a6#s(y3>?J^+!~c-Z{^9Cw@!X})H7*8H-J>8zs()agQ>KfT5CXLa$_qS zuxx5s&k9FszIX^7Fr%jdBy;CXJBdSv#bfhAQYt6qnzI)L#?a6n1sxkQ^L#Dsax`>9 zb6PHrqTX&%5Oe_|HWK~a;(X1m9|%24eBky@E2cX(rkJ#r8hB0Isu)g+ z5`O&z`iC%#ZQiTFq~2r@UP1gEpFwGyIz1Dj8w5g4D62s#r6A5bAPL>WIHhElicmcM zC;i2{_tywteaURk+~bG-0(#dDnzRr-VX2bdOV7P^k^4BHTm`XCv-j_*DdbKaYY5RO z-5u^h7D9#L#XL%1En(YJ)I(zjd}-y#rOT1KirH!7`!ffiD?<_t0l$k%`KzAoXhmaF z7`$bn7Bg#@8C0;ZNV@@PLq9F=&6p>Co85`d*SFPd^jnCH19?jR{g#QizO}1s2(P~D zTBEB~=NmS6ONN2UbBCJ}n-(4|o!B0_5|e|ByP%9#L*16@Zxl^ns|dQnW7!AM!(twY zF`GVc1qkaS08g8dtISf8$_> z#v0fhZ~LX{%|P-32uR=~rRN|X2cmg&Oht5fl&ebw`%ig*o=|?;R5lSQqpxgu`BY#I zR2Ea!(z72(WT9@}z92HrNilvdsnFi8DEH-eI1;SyAz9(d^$H2(xcskd1jPj~(T|Ub zoJMe^Tu31%M=QxiYrp*e_67nV5Drx8V59J>X`3WuA zlnvzz>r%~aA zYPzt)-@l7Z`MbK40v$ja!uG_@{~>39uGEdwithC#1i-?yv(gEdVjllyt(sOn=#_B@X|tm z5@tqc?KJWh!t3t8TqNwGAZff5qlJa2zH``B=O#b^lt1w8nYQu6g>2Sex1Z&J+;)$Q zBwJHJE&kmFTDXc~(;>W|?&xibyvb-Upp?^pWU60x8{UHIS54qo{EzniK^j4rG_nJV zq$){Hk=o?maV|Svw6N5LE2-uDUb8+ot}~js_%~vpAprI%D&fqo`Vo!UtJ3O)?qHExZuhq_B+5OEJq)J~ zlm}Bs!nXtNH`p|V!qE}=h4Ckv2JeEa)U3mM@Fe${Vz=Y;Y2$n^2FLubr}EcpvQU)T zcl&`lS=G4rto0=7waQvhHm&o&aRo2GB0xUBPAnC^(K#!9=GVZmCqEH^?!4crmA9BX4%-Xw@nuf5Rp{el$u`= zlIuIydeGfXLDPYgysU!+Qcg6V|KtrMlEEuQ5I_n6`@36Jf-)t1I1DU}SW25%v!IU^ z`3yW0!l?n$ng!@g^~}X;N>RcY1AOB=4b=ia@p{%|WNnhZ76Z0ezUG%#4xns&#mjeQOFcuCT-=et23u=s@k z@e$Hcs~qUpxdjn`Z?IwJNz8^p#1Ae8Pn8(;x<`Q`pojs*z)(vy$gBV%hKdbezC22e z8V9)m-%ZgNb8kR`oVHU4v<_&;-A70_$TP9P9u^!eHIl*aN@12U0X+U)m1V{B8vy4ES_?A1>rHgBQKd`=JT+-TjuJMdv-sLQ#WlYNid&q*@if%}E3sYG4Key)ACG23HWcOn^rb z?BD|N7+~%#{TzX;3x9+!o)3@gK2GOc*fx;%07zWBt470q7goc942u)|B3ij!cVlMG zW8}YAf}mI6u|aMMFm!YD_Eg2XPzFNT>Agb>+ptJ`{O~C}8&jOj9KYaeMF4Cd_Hm(cL;f!A|WWL%A|Up;27-<7mu z%tOIE{xwHd2%rYUVED^g6RvYWR41q^Ao>q{C0AV_ErJ)T9|#MGt4Er%*n?X0V*r$u z?xP`)xe8PSoJvrVsvzrAa)06q(gJQwX)M<#!kKDjX&!;akhh8IQXd8!E-H8SGw+#2p2yDW=TZuRjnMv11Yhb0^_C3c!D(Bl zBp?2Ida2hHcl?!W#52{`RN+>!sT+lhY$i zfA-q(vihdKGf{`k(o}JI{R#%DjqW?H*~kUY zkN1&b%a`ZAVHhhPH{Q-9-5+vc>iPWX?{P>=Q!C-htgCdp75_!jHYMzRId<2!?0Yr4 zm5*_Ml#}OUzCoa^cQ&Fw)||Cd=|6jM=m7oNn6B3lX*pcHu6thYU=#M{W~L{;w#a-) zUs1PpS#WIs_+!uEko2X~+0-seF=E>)69~mLy5`j zGA6dR=3PsX@`RyymOb45T71ph{Vm_1d++%};7G3P7Wt|R-?#T(Ki&LAdC{Q=_8?{x)^>d?RgB>rTxUgZd7jH(%J z-WJQN8tNr#Z;EJNById1?wQG8iMu)95F|fvelbL|eC5Mzg~_CTXF?k{*V=MXh9p10 z4JOBWF!i08;i5v4%cccqvXkko`Rosv*D3=t($v;|%!GI%ZFvou_=b5OGSBdoLH0+PZ@5R;Q`@xbln!4xj71_MYM0$e234sq-wJXm{nfzUNEO{k?y!-;hDA z`@pJ&1HWmRPtGp>kHF-0UidVw1yfQPs#rgF3XQ2&&4$O&UqSfpb$sz{ythT3uh(&H zmybd2so7Q;j*3RM%~OU6y98in$Cr>H!V!}jw*VIvKOm5hn$5aQh_tjQHiWH$7y=8A zR%z1wURvd2lU}Qu%Ij**_%kQ-cNa5EtSVU(nBXAJMI~{mmN9z1GmQ$HZ){!(2ze%_ zY9lR?LME_Pe%i;|B7m=*Eo;hhvZ6OoMTY$p75pcoH}PT6B^%ksKhPR*+q)Fu|Fa26 z(wMFg)%M;?(>O|GGfW#P@PUub^^<28ENO9ucs>}~+4J=V(((eceSJ?a=oyT0RE^aK7UsjyNkO}e;D$sJ2KV0u7tj%($ zQx!$z6^EN|B;KL)H7k1a?Yj*sbdtl=d-liwb>Splno2hp8+X6A(*1X~Nyvw}U$yyO zZj0Ox3?yD3)ub=G`n#)AawaL5{NwQ-EHpmgqfO_W=X3nM@(ira5xD##hZeWr%NUX8 z=n6vE_De~n4qtaJRgoXwp^BDfvCea^ap@2fdIwjz>>0T2cx>o%x)SD)5Rhe}t4bSp zxxcuvMmM5FR(YQAgoP2^!S|om7}d|y8^8@kIn!z}z!B6zdl7&~9n1*)ie;gi4Zy5;7a$v-gPD3rR`%~tTX zIjNV`^2}Fk*dBVW46zjJIXj;&mAyKmY**u1TU%4-V!%F= zWDj}d8_nSf zz6{Wd*wrN-hay3uiJ=#!S+plZM3C{9L>brWBq~=|&mcRa{lq^kl2r`5@uZS9Joog+fD+@^C%RL)qg3?QO95@d>zuB4N=q)#9+ft@u< z1=G>vXL1mkfMFHN40lsMb*D;fh{{XGMhP4O9^?x+I3u2Vb2!JQWjArevZ+zmw1NuK z&dIow_I4;mAa&y5`Va$$@q_qj-vz=1S`kH2Cu?Y_DT-IeKbO_EB0Um~o!YF{xBV5T z)`bd&TIOS3tkMmk>>!Oi#7N53b-rcEmyC&+#~1kn(w_G6;UA4!F-zwWNG37gFwbnxR&oJ$PR~BxOe55;7b*U$>sXH%?0KqP`Ph+z? zb}C-8)z|;$36>@&bCV?l*B}^pA3^zqBE%0!z-aFZEq_wJTYKh0pNI4zrzqm&olIz^ zT_M+jI7l^#*Kc?!EB{vWmM8l_P;;j7(^E*_xHcn9qY0DY>4|b{sWdnfNhU8oRX)-V z%{;8DvqTjc;v>nL$U?LGOlzvg`_jklBHi2MVXVf3iBA{Y%XpJQ##+m?YzrA7GGFtC zH^nTg*NBzoYJXXiBSK`dbZ@b-)ufU?M^`PvU9T}N4iQALC+{}SsUi&Gs8dJc>q=#> z=^>(3X13MP<+T#pP;M|{p9>jqV{3@bwZ+OHZl(4IyYC`?L_#2j151x*>T0G*IzER8 zq-gj}u$V)lNp0O+El)!l!$dr*a#a+6AcFOS>+0H&?%F4q(#N1W+gd$Y-71VChzMbp zvWH%e8kWYrrB&Bes?05BImm`ULPi_x6(`5mwYm+M<5c=%3^A?OEba48K5x>|pV1x*s)2izRz(Enk=1@5k3fAwtxuhwW__J=7GXq@|U7 zg`nK9^Y@SsyYT}Xyl~pH?(CdESh7N1+tF2}JM`$N=|zAq0%UVqo6&B$VO{{nK$(y9 zVV5SeM9xVLQeY7BhCYr+CBfHa^=AgO!N=K*8AI?9M1jd>&|#^usAk@Tf5&M{Ed`7n7=*nOol@}T_cwEYbLFkcA43Wld6Z!X+M24Gi7Oomv(cP!eQ4;BJ}#@P z4bGa9@sQ_y%BFr3EoAz(x@5^NjY}dvcP%4j7nu3J6p(Mk5?$RqO^wx;NUQ-cM$<&r zh}+BR!ELMg$B2-k*L9Q0Eb-X>1+kgLNtRIno-lS}f$|<(&7gJ3843;|r2PLxXfm`^t+iG-lz^ z<5=HxM^rj*^;}=6sUwP(OyY*knRqKwO1hut(}NO6Q3pQRMMev!i}hPfEy(vUP=vrb zf0j0M#)2Lx{xc#n^6V@EQ!h>fvHcfpUhGN~`Otf>{0%@2e`Bt$JsB0`+p zoLP0)5V1b#OCMO2KuWlWK*aL*n1=VJK1LM4oee?wRg^TiVUtBa6u|mFYimF8yMOB~ x1@-^kYW#n>xc~nz_y7LJ`2WG!0bSh +
+

+ $title$ +

+
+

$subtitle$

+
+
+

$details$

+
+
+
+
+
+
+
+
+
+ diff --git a/index.qmd b/index.qmd new file mode 100644 index 0000000..e9e55b2 --- /dev/null +++ b/index.qmd @@ -0,0 +1,52 @@ +--- +title: "Data Visualization" +subtitle: "Use R, ggplot2, and the principles of graphic design to create beautiful and truthful visualizations of data" +details: | + PMAP 8101 • Summer 2023
Andrew Young School of Policy Studies
Georgia State University +sidebar: false +toc: false +page-layout: full +format: + html: + template-partials: + - html/home/title-block.html +course-logo: /files/img/eval-hires.png +--- + +::: {.home} + +::: {.grid .course-details} + +::: {.g-col-12 .g-col-sm-6 .g-col-md-4} +### Instructor + +- {{< fa user >}}   [{{< var instructor.name >}}]({{< var instructor.url >}}) +- {{< fa university >}}   {{< var instructor.office >}} +- {{< fa envelope >}}   {{< var instructor.email >}} +- {{< fa brands twitter >}}   [{{< var instructor.twitter >}}](https://www.twitter.com/{{< var instructor.twitter >}}) +- {{< fa calendar-check >}}   [Schedule an appointment]({{< var instructor.appointment_url >}}) +::: + +::: {.g-col-12 .g-col-sm-6 .g-col-md-4} +### Course details + +- {{< fa calendar >}}   {{< var course.days >}} +- {{< fa calendar-alt >}}   {{< var course.dates >}} +- {{< fa clock >}}   {{< var course.time >}} +- {{< fa location-dot >}}   {{< var course.location >}} +- {{< fa brands slack >}}   [Slack]({{< var course.slack >}}) +::: + +::: {.g-col-12 .g-col-md-4 .contact-policy} +### Contacting me + +{{< var instructor.contact_policy >}} +::: + +::: + +```{r echo=FALSE} +knitr::include_graphics(here::here("files", "img", "dataviz-flowchart.png"), error = FALSE) +``` + +::: diff --git a/schedule.qmd b/schedule.qmd new file mode 100644 index 0000000..551064e --- /dev/null +++ b/schedule.qmd @@ -0,0 +1,79 @@ +--- +title: "Schedule" +sidebar: false +toc: false +page-layout: full +--- + +```{r packages-data, include=FALSE} +library(tidyverse) +library(knitr) +library(kableExtra) + +# withr::with_dir(here::here(), { +# schedule_nested <- targets::tar_read(schedule_page_data) +# targets::tar_load(schedule_ical_file) +# }) + +schedule_ical_file <- "blah" +# base_url <- yaml::read_yaml(here::here("_quarto.yml"))$website$`site-url` +# ical_url_absolute <- paste0(base_url, "/", schedule_ical_file) +ical_url_absolute <- "blahblah" +``` + +::: {.schedule-page} + +Here's your roadmap for the semester! + +- [**Content**](/content/) ({{< fa book-open-reader >}}): This page contains the readings, slides, and recorded lectures for the week. Read and watch these **before** our in-person class. + +- [**Example**](/example/) ({{< fa laptop-code >}}): This page contains fully annotated R code and other supplementary information that you can use as a reference for your assignments and project. This is only a reference page—you don't have to necessarily do anything here. Some sections also contain videos of me live coding the examples so you can see what it looks like to work with R in real time. This page will be *very* helpful as you work on your assignments. + +- [**Assignment**](/assignment/) ({{< fa pen-ruler >}}): This page contains the instructions for each assignment. Weekly reports are due by *noon* on the day of class. Other assignments are due by *11:59 PM* on the day they're listed. + +::: {.callout-tip} + +## Subscribe! + +You can subscribe to this calendar URL in Outlook, Google Calendar, or Apple Calendar: + +::: {.grid} + +::: {.g-col-12 .g-col-md-2} +

{{< fa calendar-alt >}} Download

+::: + +::: {.g-col-12 .g-col-md-10} +

+::: + +::: + +::: + + +```{r build-table, include=FALSE} +show_table <- function(group_id) { + # Add a heading + cat(as.character(paste("\n\n###", schedule_nested$group[[group_id]], "\n\n"))) + + # Make the table + tbl <- schedule_nested$data[[group_id]] %>% + select(-subgroup) %>% + kbl(escape = FALSE, align = "rlccc", table.attr = 'class="schedule-table"') %>% + kable_styling() %>% + column_spec(1, width = "20%", extra_css = "padding-right: 20px;") %>% + column_spec(2, width = "50%") %>% + column_spec(3:5, width = "10%") %>% + pack_rows(index = schedule_nested$subgroup_index[[group_id]], + label_row_css = "border-bottom: 2px solid #000000;") + + cat(tbl) +} +``` + +```{r show-table, echo=FALSE, results="asis"} +# walk(seq(1, nrow(schedule_nested)), ~show_table(.x)) +``` + +::: diff --git a/syllabus.qmd b/syllabus.qmd new file mode 100644 index 0000000..e213e70 --- /dev/null +++ b/syllabus.qmd @@ -0,0 +1,236 @@ +--- +title: Syllabus +--- + +```{r setup, message=FALSE, warning=FALSE, include=FALSE} +library(dplyr) +library(tibble) +library(pander) +``` + +## Course objectives + +**Data rarely speaks for itself.** On their own, the facts contained in raw data are difficult to understand, and in the absence of beauty and order, it is impossible to understand the truth that the data shows. + +In this class, you'll learn how to use industry-standard graphic and data design techniques to create beautiful, understandable visualizations and uncover truth in data. + +By the end of this course, you will become (1) literate in data and graphic design principles, and (2) an ethical data communicator, by producing beautiful, powerful, and clear visualizations of your own data. Specifically, you should: + +- Understand the principles of data and graphic design +- Evaluate the credibility, ethics, and aesthetics of data visualizations +- Create well-designed data visualizations with appropriate tools +- Share data and graphics in open forums +- Be curious and confident in consuming and producing data visualizations + +This class will expose you to [R](https://cran.r-project.org/)—one of the most popular, sought-after, and in-demand statistical programming languages. Armed with the foundation of R skills you'll learn in this class, you'll know enough to be able to find how to visualize and analyze any sort of data-based question in the future. + + +## Important pep talk! + +I *promise* you can succeed in this class. + +Learning R can be difficult at first—it's like learning a new language, just like Spanish, French, or Chinese. Hadley Wickham—the chief data scientist at RStudio and the author of some amazing R packages you'll be using like **ggplot2**—[made this wise observation](https://r-posts.com/advice-to-young-and-old-programmers-a-conversation-with-hadley-wickham/): + +> It's easy when you start out programming to get really frustrated and think, "Oh it's me, I'm really stupid," or, "I'm not made out to program." But, that is absolutely not the case. Everyone gets frustrated. I still get frustrated occasionally when writing R code. It's just a natural part of programming. So, it happens to everyone and gets less and less over time. Don't blame yourself. Just take a break, do something fun, and then come back and try again later. + +Even experienced programmers find themselves bashing their heads against seemingly intractable errors. If you're finding yourself taking way too long hitting your head against a wall and not understanding, take a break, talk to classmates, e-mail me, etc. + +```{r echo=FALSE, out.width="60%"} +# https://twitter.com/allison_horst/status/1213275783675822080 +knitr::include_graphics("/files/img/syllabus/hosrt_error_tweet.png", error = FALSE) +``` + +[![Alison Horst: Gator error](/files/img/syllabus/gator_error.jpg)](https://twitter.com/allison_horst/status/1213275783675822080) + + +## Course materials + +All of the readings and software in this class are **free**. There are free online version of all the textbooks, R and RStudio are inherently free, and GSU provides [free access to Adobe Illustrator](https://technology.gsu.edu/technology-services/it-services/software-computer-purchase/software-download-and-purchase/adobe-creative-cloud/). + +### Books, articles, and other materials + +We'll rely heavily on these books, which are all available online (**for free!**). I recommend getting the printed versions of these books if you are interested, but it is not required. + +- Alberto Cairo, *The Truthful Art: Data, Charts, and Maps for Communication* (Berkeley, California: New Riders, 2016). + + > $27 used, $32 new at [Amazon](https://www.amazon.com/Truthful-Art-Data-Charts-Communication/dp/0321934075). A **free** eBook version is available through GSU's library through O'Reilly's Higher Education database. The easiest way to access it is to visit a special URL (), log in with your GSU account, and then search for "The Truthful Art". + +- Kieran Healy, *Data Visualization: A Practical Introduction* (Princeton: Princeton University Press, 2018), . + + > [**FREE** online](http://socviz.co/); $30 used, $36 new at [Amazon](https://www.amazon.com/Data-Visualization-Introduction-Kieran-Healy/dp/0691181624/). + +- Claus E. Wilke, *Fundamentals of Data Visualization* (Sebastopol, California: O’Reilly Media, 2018), . + + > [**FREE** online](https://clauswilke.com/dataviz/); $32 new at [Amazon](https://www.amazon.com/Fundamentals-Data-Visualization-Informative-Compelling/dp/1492031089). An eBook version is also available through [the O'Reilly database](http://go.oreilly.com/georgia-state-university), but you can just use [the online version](https://clauswilke.com/dataviz/). + +There will occasionally be additional articles and videos to read and watch. When this happens, links to these other resources will be included on the content page for that session. + +I also highly recommend subscribing to the [R Weekly newsletter](https://rweekly.org/). This e-mail is sent every Monday and is full of helpful tutorials about how to do stuff with R. + +### R and RStudio + +You will do all of your analysis with the open source (and free!) programming language [R](https://cran.r-project.org/). You will use [RStudio](https://www.rstudio.com/) as the main program to access R. **Think of R as an engine and RStudio as a car dashboard**—R handles all the calculations produces the actual statistics and graphical output, while RStudio provides a nice interface for running R code. + +R is free, but it can sometimes be a pain to install and configure. To make life easier, you can (and should!) use the free [RStudio.cloud](http://rstudio.cloud/) service, which lets you run a full instance of RStudio in your web browser. This means you won't have to install anything on your computer to get started with R! We will have a shared class workspace in RStudio.cloud that will let you quickly copy templates for examples, exercises, and mini projects. + +RStudio.cloud is convenient, but it can be slow and it is not designed to be able to handle larger datasets or more complicated analysis and graphics. You also can't use your own custom fonts with RStudio.cloud. Over the course of the semester, you'll probably want to get around to installing R, RStudio, and other R packages on your computer and wean yourself off of RStudio.cloud. This isn't 100% necessary, but it's helpful. + +You can [find instructions for installing R, RStudio, and all the tidyverse packages here.](/resource/install/) + +### Online help + +Data science and statistical programming can be difficult. Computers are stupid and little errors in your code can cause hours of headache (even if you've been doing this stuff for years!). + +Fortunately there are tons of online resources to help you with this. Two of the most important are [StackOverflow](https://stackoverflow.com/) (a Q&A site with hundreds of thousands of answers to all sorts of programming questions) and [RStudio Community](https://community.rstudio.com/) (a forum specifically designed for people using RStudio and the tidyverse (i.e. you)). + +If you use Twitter, post R-related questions and content with [#rstats](https://twitter.com/search?q=%23rstats). The community there is exceptionally generous and helpful. + +Searching for help with R on Google can sometimes be tricky because the program name is, um, a single letter. Google is generally smart enough to figure out what you mean when you search for "r scatterplot", but if it does struggle, try searching for "rstats" instead (e.g. "rstats scatterplot"). Also, since most of your R work will deal with **ggplot2**, it's often easier to just search for that instead of the letter "r" (e.g. "ggplot scatterplot"). + +Additionally, we have a class chatroom at [Slack](https://gsudatavizs20.slack.com) where anyone in the class can ask questions and anyone can answer. **I will monitor Slack regularly and will respond quickly.** (It's one of the rare Slack workspaces where I actually have notifications enabled!) Ask questions about the readings, exercises, and mini projects. You'll likely have similar questions as your peers, and you'll likely be able to answer other peoples' questions too. + + +## Course schedule + +We have no regularly scheduled meeting times. + +Instead, 100% of the class content is asynchronous. You can do the readings and watch the videos on your own schedule at whatever time works best for you. Many of you work full time and you have childcare and parental care responsibilities, leaving you with only evenings for coursework. I've designed this asynchronous system with *you specifically* in mind. I also can only really do teaching work at night when my kids are in bed—I recorded all these videos between like 10 PM and 2 AM. We're all in similar pandemic boats. + +Each session has (1) a set of readings and an accompanying lecture, (2) a lesson, (3) an example with lots of reference code, and (4) a short assignment. The [schedule page](/schedule/) provides an overview of all these moving parts. + +I recommend following this general process for each session: + +- Do everything on the content () page +- Work through the lesson () page +- Complete the assignment () while referencing the example () + + +## Course policies + +**Be nice. Be honest. Don't cheat.** + +We will also follow [Georgia State's Code of Conduct](https://codeofconduct.gsu.edu/). + +This syllabus reflects a plan for the semester. Deviations may become necessary as the course progresses. + +### Student hours + +Please watch this video: + + + +Student hours are set times dedicated to all of you (most professors call these "office hours"; I don't^[There's fairly widespread misunderstanding about what office hours actually are! [Many students often think that they are the times I *shouldn't* be disturbed](https://www.chronicle.com/article/Can-This-Man-Change-How-Elite/245714/), which is the exact opposite of what they're for!]). This means that I will be ~~in my office~~ at home (wistfully) waiting for you to ~~come by~~ talk to me remotely with whatever questions you have. This is the best and easiest way to find me and the best chance for discussing class material and concerns. + +Because of the pandemic, we cannot meet in person. I can meet you online via Webex. [Make an appointment with me here](https://calendly.com/andrewheiss/), and then use this link to talk to me during student hours: . You can also find me through e-mail and Slack. + +### Learning during a pandemic + +Life absolutely sucks right now. None of us is really okay. **We're all just pretending.** + +You most likely know people who have lost their jobs, have tested positive for COVID-19, have been hospitalized, or perhaps have even died. You all have increased (or possibly decreased) work responsibilities and increased family care responsibilities—you might be caring for extra people (young and/or old!) right now, and you are likely facing uncertain job prospects (or have been laid off!). + +**I'm fully committed to making sure that you learn everything you were hoping to learn from this class!** I will make whatever accommodations I can to help you finish your exercises, do well on your projects, and learn and understand the class material. Under ordinary conditions, I am flexible and lenient with grading and course expectations when students face difficult challenges. Under pandemic conditions, that flexibility and leniency is intensified. + +If you tell me you're having trouble, I will not judge you or think less of you. I hope you'll extend me the same grace. + +You *never* owe me personal information about your health (mental or physical). You are *always* welcome to talk to me about things that you're going through, though. If I can't help you, I usually know somebody who can. + +If you need extra help, or if you need more time with something, or if you feel like you're behind or not understanding everything, **do not suffer in silence!** Talk to me! I will work with you. **I promise.** + +*Please* sign up for a time to meet with me during student hours at . I'm also available through e-mail and Slack. I've enabled notifications on my Slack account, so I'll see your messages quickly! + +I want you to learn lots of things from this class (Graphic design! Fancy charts! R! ggplot!), but I primarily want you to stay healthy, balanced, and grounded during this crisis. + +### Late work + +With the exception of the mini projects and the final project, there's no such thing as late work. I would **highly recommend** staying caught up as much as possible, but if you need to turn something in late, that's fine—there's **no penalty**. + +### Counseling and Psychological Services (CPS) + +Life at GSU can be complicated and challenging (especially during a pandemic!). You might feel overwhelmed, experience anxiety or depression, or struggle with relationships or family responsibilities. [Counseling and Psychological Services (CPS)](https://education.gsu.edu/cps/) provides free, *confidential* support for students who are struggling with mental health and emotional challenges. The CPS office is staffed by professional psychologists who are attuned to the needs of all types of college and professional students. Please do not hesitate to contact CPS for assistance—getting help is a smart and courageous thing to do. + +### Basic needs security + +If you have difficulty affording groceries or accessing sufficient food to eat every day, or if you lack a safe and stable place to live, and you believe this may affect your performance in this course, please contact the [Dean of Students](https://deanofstudents.gsu.edu/) for support. They can provide a host of services including free groceries from the [Panther Pantry](https://nutrition.gsu.edu/panther-pantry/) and assisting with homelessness with the [Embark Network](https://deanofstudents.gsu.edu/student-assistance/embark/). Additionally, please talk to me if you are comfortable in doing so. This will enable me to provide any resources that I might possess. + +### Lauren's Promise + +**I will listen and believe you if someone is threatening you.** + +Lauren McCluskey, a 21-year-old honors student athlete, [was murdered on October 22, 2018 by a man she briefly dated on the University of Utah campus](https://www.sltrib.com/opinion/commentary/2019/02/10/commentary-failing-lauren/). We must all take action to ensure that this never happens again. + +If you are in immediate danger, call 911 or GSU police (404-413-3333). + +If you are experiencing sexual assault, domestic violence, or stalking, please report it to me and I will connect you to resources or call [GSU's Counseling and Psychological Services](https://counselingcenter.gsu.edu/crisis-services/concern-self/immediate-help/) (404-413-1640). + +Any form of sexual harassment or violence will not be excused or tolerated at Georgia State. GSU has instituted procedures to respond to violations of these laws and standards, programs aimed at the prevention of such conduct, and intervention on behalf of the victims. Georgia State University Police officers will treat victims of sexual assault, domestic violence, and stalking with respect and dignity. Advocates on campus and in the community can help with victims' physical and emotional health, reporting options, and academic concerns. + +### Academic honesty + +Violation of [GSU's Policy on Academic Honesty](https://deanofstudents.gsu.edu/faculty-staff-resources/academic-honesty/) will result in an F in the course and possible disciplinary action.^[So seriously, just don't cheat or plagiarize!] All violations will be formally reported to the Dean of Students. + +### Special needs + +Students who wish to request accommodation for a disability may do so by registering with the [Office of Disability Services](https://disability.gsu.edu/). Students may only be accommodated upon issuance by the Office of Disability Services of a signed [Accommodation Plan](https://disability.gsu.edu/services/how-to-register/) and are responsible for providing a copy of that plan to instructors of all classes in which accommodations are sought. + +Students with special needs should then make an appointment with me during the first week of class to discuss any accommodations that need to be made. + + +## Assignments and grades + +You can find descriptions for all the assignments on the [assignments page](/assignment/). + +```{r assignments-grades, include=FALSE} +assignments <- tribble( + ~Points, ~Assignment, + 15 * 10 , "Reflections (15 × 10)", + 15 * 10 , "Exercises (15 × 10)", + 75 , "Mini project 1", + 75 , "Mini project 2", + 200 , "Final project" +) %>% + mutate(Percent = Points / sum(Points), + Percent = scales::percent(Percent, accuracy = 1)) + +grading <- tribble( + ~Grade, ~Range, ~Grade1, ~Range1, + "A", "93–100%", "C", "73–76%", + "A−", "90–92%", "C−", "70–72%", + "B+", "87–89%", "D+", "67–69%", + "B", "83–86%", "D", "63–66%", + "B−", "80–82%", "D−", "60–62%", + "C+", "77–79%", "F", "< 60%" +) +``` + +
+ +```{r show-assignments-table, echo=FALSE, results="asis"} +assignments_total <- tibble(Assignment = "Total", + Points = sum(assignments$Points), + Percent = NA) + +bind_rows(assignments, assignments_total) %>% + select(Assignment, Points, Percent) %>% + pandoc.table(justify = "lcc", missing = "—") +``` +
+ +
+ +```{r show-grades-table, echo=FALSE, results="asis"} +grading %>% + pandoc.table(justify = "lclc", + col.names = c("Grade", "Range", "Grade", "Range")) +``` + +
+ + +## Star Wars + +Once you have read this entire syllabus and [the assignments page](/assignment/), please [click here](mailto:aheiss@gsu.edu) and e-mail me a picture of a *cute* Star Wars character.^[Baby Yoda, Babu Frik, porgs, etc. are all super fair game.] Brownie points if it's animated. + +```{r} +# blogdown::shortcode("figure", src = "https://media.giphy.com/media/j4q4h9uWKWwnYT1k3Z/giphy.gif", alt = "Baby Yoda with IG-11", lightbox = "false") +```