From a86d68b8f9812c401a7ba8f09d36576cc442e448 Mon Sep 17 00:00:00 2001 From: Mitchell Plamann Date: Thu, 5 Mar 2015 00:37:10 -0500 Subject: [PATCH] Initial draft of proposal.txt. Placeholders for missing sectoins. --- proposal/proposal.pdf | Bin 0 -> 42950 bytes proposal/proposal.tex | 143 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 143 insertions(+) create mode 100755 proposal/proposal.pdf create mode 100755 proposal/proposal.tex diff --git a/proposal/proposal.pdf b/proposal/proposal.pdf new file mode 100755 index 0000000000000000000000000000000000000000..2cffc63b45bfb4750cac4b326cee61304779872f GIT binary patch literal 42950 zcmb@t1y~+UvM`D}!8N$MySuwP!QI{6-Q696JHZ`-dvGVXJA@yyUv|H}XYX^)`R|?g zXw=;c zF|%|uvd5zpvD9-k5;8KdF*JhW;em2+v^UbTf^uDUfZCdIVPsOJW16aGs$o)s5Lc{W zTBxUMkfUR*nPa2_3@;=TvUn&=PAo(p58J{asuj!yOy6Z1GN zT}|M|eV_OsvAD1}_i!>`Mtp!+IBbL%FH5TmUkl)9m#Fu@ikkIr?Egnmf2{A{M9uP# zf&ZnbKcN1PL?V(m)MbyR^4J?B3F4=p?Zf-=)DM}z{z=k^0u)4%v6<=ep2opyWp)2T9HDRQrm zUc0zB@$10hLjfUSZ(|-n%OquRYW`IN&kBRtkB4aD%428S72~BS!)PTbfyX|C#65>& z?}HP%7v9LM3!W{a))YC>ECuDuUB`O!x+EetWi4rRU1tc3>rf!+hgTe-IQU7egEN4o z&Kw*C3CYT=qoZo2T;J{+4b~HgY$?~0z!CfUu=+}Mu6>B4JX2eOm*q3F*Uo&y1sQA^ z_N0@E97us5U!BKW;vyBTJ7Ei|t?C#*F&nx2zre@D^0;hs7Zo8*-fP#J3mRxe^2j2T z`h=QDQ&DQyN6T)kKCN5T!y-GWQ9k;VB=dhEvGjj2jUoa`fVX~b0in?veOp}|vR__* zo4=c|FRMlehl1)T5*bB~skI8t%37>PgHvcM`LA1){^MExvv>aE9{s&B{%w=8|6gs= z52!zc{$&rC>G9ql=nsSNzqJkY9|q?S!oM~w11mH0|I|1%s*BgJHX(E#tF~vbDH9BM z$;&8U4cUJcL+MxwAp?g2w+TiJNhJ{L;Cg$y0iz)_uhr%Ov;>F(Yny&`x*j+!DA_QX zmQDl{Pak4!c3~CvR18#xFPx>*VGOCo!JIw)2mEnwj;tmtUWSN@1n2|knJwW>iBp`p;p zq8$w=9JP5Vg~_MeQtX5-&_AZh)kFo=f*g0JXE_B##si9Aqvd=PwsE%GU(=+1ek*mh z`{^Z=@2+`2ZuI48vU*ix`pv~XhH+?Tn)tWlNqg4e9F!HG0MUPdH8;S76J)el(MJT7ldVOvMb1c<<>y9@ z+8iK>Xlk`QE7QzI(!Bv|k*KSQe)ZIK@}7Ns4jR>)^68ptA&z>+ous?p#7(9cEF&~u z;;l;bpw>eq;ZO9G7vPnS#{*5rMd2r!{6&muBp%&sZv!U_=`Osd9f^JMm{fHC@}h&C z`UK@PsR)NjykVj4wv99zvfsq6tKqeU+0#4V{l-T<|-p21k12YuX)3CTV1thIaD8McLjgt@=IQW0B>KNGg)f`9Lo@yv%9%R70uI zw^XLwQnEa=aGCA9!XVSlW_di@!HQ3$Kwl9lJR}FB>5)kG{L`2aA}X23_(q2{GsDie z)9%SfGZYUS+BWO;AU&;$Ca)zw-#Tbb;3}cdUv#$H8)0f5_*A{T{8Qxxhhx{qvc67b zNNAMtk`r9*ife@0$j;d3*R*>Xh~UqW#wxjpQg7%-E_L*^l$ulLNDrOzfBFO{)x6(Z z-fh<&$Q5Z40|gX@)j!g9+r;j?s0E&G&=hTQE8N3b^v##G@TrF<;8=#T4h7H4@<~t0 zRblDw>*gItnv_m92UklSNz*J${?)0tu7iI}8WI&dV1){FbI&+#;%oQL*ZfgUHDS(j zy&~F6cr0y+X*Oq`dl~#t91kZ{)_fzq2ChLr9nY<@KD}*=q3;7Xy#a!ZRCNKZxlM+C z*qa1vCghhj{oSR@A-bvz)<1=a0-hy((bjae3>Tw|hE3*o=y1_XaX(8gMhf|Aw7E15 z_65=|Tnp2_Ki9FF^jZ$zC)0(4?f8g0v>AYG^x-EP85g4n$2|<8DK+#!FTjD|utyno zY%wtQ;JesAwS*w|t~D*#+C1)VIov*MW{g2;2>y)KQPZucmphl0K5p}3yy%0DNO}|H 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

hT0;P;09bz+pR zh7|N8SOMHmCCS582&37@MRJ~%i*0Jd4RE$2LN)~}qyoZFs9~;Ra=Y zItUsjkLLttAx<6DD3ZRyMm&y{R=4C<#^|Vsa#4RZyZUQOM_pXZ;>9c+T5T&eyrOf} zYED^lLx}asaRzB%X_O2;d9a&O%voDRsf+(7oL>$RYy$&hJxZX2eJU#RLfHD#K{)mR zJ$x|QM8|_T+%M9;Nrc`Elg-Qh5rSLlQ$%|%=rylx&j9hNM4<;D8k~D8Gp*j1z20F189_)mo^NqpU~QQTPcxM5R}^Qf zs*r~AU&t$RwqUOlS^)IIu;UqA6O)JZlYn!-!^WVRe4$-|;2cogh+6v=odnnln?Hsv zB{j++F2#YDZg4V~_%+YTJ>EnWggSS? z2v`XCkx5!(_6qXlX60o*}9 zwu7+}YUe(iVo4harP?a=?_*j7(c%ed?%6i`i_)ylk>|JdI&P){(%hWkwIb}3As`mmP_Hd}J)2AcIcMZC?e*19BhSI=cl>9t}bC5#u4@O zjJR?BMf2K_eh*CxagGCPYIF^7L&hdSf)P;B+R@X31nUT7=)SF+4g+)q7>Cr8_4nm{ zQ`1mx^zOq07||T;g={BpH{px0L$U($iMq)fx1XP*S&vjj)svPzPM5Tm4i<}qWoD*K zXbT%^^bzWlk1i-45gt^Ecw7nAP6Q$uheKIbQK-gNa^>%_0kvH!44t!Yn7ky6o~Z!S zIbd?ssi%Y&slA<7i<0+*N<3?45rw0i%bhWTm=;2?meB5#`^xv?%cITn1X?OU8gS9- za$v*BqL4NXCC7TP$b8zhNu2TN8n)TextvmgWfC9XN{5}yW9!Zj$o89lw!>N>+45-v zQ8os|Au(X4`|ASPLCn)seSJZ;&H=SYO~fXS3ZK$CG7;>h=vRrZv?ITC<55O<3q9Mw z9!=G((!?1meYM9=h$|^xA%hS1=hoaToN!j=fMb?t@S{~_;+#6Pc)0lTNsBb=3OBog zNEQ9D;bnP+A+-`*%@|I=qqr+}E|S~!8^Rb3L!TpGW6Q6$Zkpq!RP3MVhOPmMEP^$_ zE<%XNp-!<>*n2XNd{0cUc4PGTH?#ZSVz4H9$`?$`NYGCDki@7lFG#-OEGiFGM4oG6 zXoZg*r8qAP#ayVV2LL;D1(PHcXQUQOOgT-h$V(9dolJTP6_lf2nIRsyF7Awnkb=Ni zRXn39?@rzLLj`tf4@Ox^fq#DT@CC4M22Ce1!H9ca&k=0@$`;I}hwws^b=sB~VwJW* zp)yhdYeTF*L}+j$Uw_jya((wBa!gK#0*ND8<&w^7c0?M$bYQ6`)Cp&K!W~$b2J1Tq z=|E=v@?eef$p9L9@)1BW?sZApIX$(I;+d`S=ZfK4mfIM~>s+0d%h7tokUOSk85vVK zFw2wl0PAz^!Xk^~=0&k~fv^?D*It5KRypn7X~^A!`n*u!WnqHyU<<*7>)Ik97ZvkX z8m!FIFW=1!SqnxIhz7e@oPR1eCV<%}5YC`JjEd(k@_45QT#qc<1+khYyili&0d8DE z1DZ4VGZi${IpkchR5|I#m!lV5wp)bQ?8%5ETuzh059Mwdev2pQxWAyGRY+OP)3`mU z&4ND}{@iva@FiK69R!VSD^Qv7O0)K7KpYT>i#WlOH-uc3jIZjvZn8ASI}USd!5|2BRR`kM z<+il2wdl-|WpNEJscST%GETmX0sK1_85N%=x71%*q6PuTqb8zcz33GhEvoDLKi4gC zgNRm$p)OkT6aqm(6-#O_uMfarGQSy(qErN7GGg?w1me!j(h6M{ z4)!j4TWjAb6%ZQlbK6A`0eYZ6C5WG@D;{`)S6SV9Y_p52plF#+*ui+PIy&!Q6x>ze zb5(!Cpi6;4Y7oO7G&;Lh(MAzy+27)M5o(ApidNVJ&>P`&*D%K69IjE z_{E1sIFog@19y?#J795~4PuB_G5(7H1af6+_E*gz?jjn)OlsdxMsSgho>R|!bmena zb_|D|H0oOFRzpAs&ekF#Q}*KW`b4EX`+Q#BWLM^~mK2Q12lW;{phT7jx^5aG>9VbcT0_+Vx*3je457#87n7C=m$+%)lO$8*+Q#B zyGYz8=Rf^!Gjp`9B?e>cb@62lQvDg7zu3>Ot6=DL{IJjmf zcX73qWs-m3P!IyaGX#|5xrOa1O7=-Pc&MRET759-B-9hO7r;MpT0J4Q21)xe_ypz! z(#kn-aD03!NA#;_a%%y6fV~}$^6jM;+A*b_&BCMz4UK!|Wgp>u>y**-;%FxBMu2v@ zRLs=e^0ILxA=dkV@-+49<<{C|HBp7b*T!IT#C`df$h8qagO#7EXWHJ00>?`?CD|20^{T|`LL3?h z5z|V!&_2X=dRZy(8|xgx(TaO7QREHKZj;I0gWwCjV;=KNj&$|j@c9@~ZIh6M%mTG$ zgmj~wLL-SiO)udC-vvr(-uAqvv63@z`Ht&64BgKm0MPV zzR_zK>us3LfuEW`#lNk>vyvY3a#~gr4c8SCy^#bTZJPB9JSJ{|b#B5eefj0r)yGD7 zGRa@TyxbJGH#i=ee6}u?DSd1J;zXh#D^gjbMxbKZTQ7Y#%_2Hn?aogfwxwhpSl_XI zO=SWbL!e#Oadoh$H=oUwZ?mcf>WvGflNr`su9n%%i$k}%wl~x22N`cNLjeqU?H0ka zE6CWwxxtDPMzEMOHvsH;pf`@wTcMAcbge7e%zYXIzxKqx3>n_9j`&>_5{CzdI6-?@}Y{dtI72r0?NIz@(m0 z?l4DO3~dv3t3s(m`pTEIGE%X?>5R9HaDx(=ux?DuVO7IeGR{+u&5JSU!Q~4@xPcmx z<&<2l%OQ92=oz8rR~u=uH1FA(pwVNL4aD-g81fmXiP6F%&Ylo(DZQ|i!&JdsveJs6 zpA8D~Aq=us8B3WGAhv%-r?21u~%HF=>oU~)FYTIU-I^MS}s9?I=LgOlrlo^kG zmmFc|_o#>5ZpIxaQXo^EH{OMt_f)Gsfr@Wf6Bc_HY&jJ?8HRXy(gvVC_|@@Ky(2o1$He%e=zVW-jc$qg zYxi6ioz$VXNTyoEqp*`R2`B{hW>Q#L=62YrLm4afv#MoaTeN(ipgHbkx1h=>uLD|~ zQp2hg?3rZgw7rmb?D%!G6Set4+Si% z830u3dQZSIxA+Lo6Ksu_@izn!4cF9aari|w{qm0=Zcir=^m$-d%%5Zs~)U@EcD2(FM zqg*@~7`WK1_{A?xPS#QI9Tq z{urT(`99nxqlTox9C9b0zJ9s8nYOHpJN2z#sw|4+iA+38tpK6E)}$OW@nIXfVeq*Er)I zPv#bUK-gEOFQtuSaSjaSe$Rxu){SVdggZ1xGjpqRrYZi1+iVarh7Hkra=%O=`GM{& zOI%x&d>%=-z`*=X5}C36rk6U&q#Jc4dRHFX` zw8wC&c%+yH6QUR4FJK=>tCT4tMK2+kMy&7q6OfsWu4HaK3XamIekx$N>_&#PVxB_G zi9viy8B{8X#z{GSQ+^!z07XlCIHAVgcy$I@e^RZoGUfQS`{lT_X-Z(?(Su)9fsZ0`37n$7%%l6n>@!cq_RbZ z;-`^`zHV?jw2TFgS#P{L!5V_Bz*oVZ zT=zWOo;lG4GhC)e-teQ^+DoA9Dz4{Ky@sKf)bhwLI^$Zix*6@@24d9ZC6z0FY~gV) zN`9-!<=T1|I*kN+LQ(pIiDwPa_^(K_Zh#fr%!s$>c2I=9A zG?Uh)Kb(%;SSw-fdUl-8^)5CGumf_quRid4axp1>t_!xFO}6vNV@bs2YZL|*_FnW| zS0gBkjgVBXy@(4ExoGxEXDN#NE`K=|s2*>OHp=hEUr7o!&lbDC_k2RU zD%+4ENfd1#04<1nACx@g2CVR`rCV!fNtA)+V@zJQK!w$q?A;QX-kbpFpLcF?1f4Y} z(ub?QU#o2+a3a5rg|(}P`4-T#oCAq$4#w7$-j7h;bVp{l$MHijGKB&Pkr9G-YZZ@H z*n<72Vu?2;;0oRJD0$u#%+FL`i6mFl+NsKI8WYW=iS@h?3I5v?HcQYo;uByrU_ptH%k*a58ab z*)ux<8iXTW%Ed~+0;`%kRwDpu{`QW6EU@1*J+J%@e<^ETV>CCKX|uC>b2ZJoS5*Rc z!JFK#2`q=_a|Ix$FNnVZ_sMprgNntPgRIf3TSLYixpa2y+Y1KJe^6teqBE}$^ zTd{03s688qhvdpZVWWmD59KC-#i6H}A^xZ#l^=5*PVU2;9Rd%RHUseVaz0N99U(#D zN=w1c><1?h{)w4Tt_V$8;40YSDnd3tJR)i`8ys_Kaa(I~M?dM!(NTZpIdoNT;FTW7A5!3`u*%Np|NQ{Y#XaKP1 zNtv|PHM!aQzWLiEF}*l|68FPq&D#8eBoxegJiByogc$Io^B zJiWtMA%!lvYwMhx4--=6Iz8+!3}CuIB*VRjREAwj_iaar`gXS_VXcXH097f?ve3U3 zsHQH+%*JrHMLwxJY6)^u5MAXiY!HNZy2Op)Mo!dWp=}Cs`B?V#eb@4j|9O-zjp+nO zQ96>gP}Ir&D`D4Mgwvm*t{y#1Y~vO6g?c^sJ#x*4c&_6tU)2t5j0~A>_HJvvgP}by z=h6y8X7mGWtqv2QS~tST0U!M(&Vs|gbVaGrJQ=WSgA_wDpvS0Ky#bY$pHjkM-b2$3#@^X=xbrL($ zC*UW^p_$t{Nx0GYD<|%h(+SqQHp=zyt#Mmpw_g)o#a-}5WBT`D=4vL}7_DW3d!0sR8`5pz=#h<)M@J7@?@O@+z34^91=(4C@5@>_@Fbna7o0=c{Ox%3AEGNWlFXyLQr|unm z%8HSJlRF(W<=uK`BAw%Spm`tDx32a{#7nA^{E6_PYBwB2od_B+KVo!+UYF?{45(x?m1`Wec85l-b`ODfkf zaz~Tuz`B%c2cADlUG(TrsFb?`wuQ^qsmX4#yjsu~wP)5`YGf65r^6sx;}E3|ox6=T zF^|C{r*2Uc_eEVvPkj%ofb?O&+vh<%NOo*iqQES47v8{0`?IGzb_P9Ln|fz-T(`07 zn5RRH6*CdNI0jX7Ltfxw^)o4w2%7!(oOw$-u~HoI2Ex9!3*m`2=yU9DOCt)|(_0Dp`g8}|I#su80l zqayYN^tNhc(o6M~S;EJM{b6i?Z#JJK$E5N)YR~;gd0T!nLSzOrAt8euC@D1g*LKPb znU`*~F#{4AolUM$QFe0(2g{`vwC|A6SBk~jh<@A?rK$w%0(Ol1cl~*hbSI0Yh*r4w ziBO14H#G90KyAiWFg1-~VW*$1D?*$Wo|b<+n`Jl5Y+u>%K;wQZEv(x^5TFByPZo}s zSpnU-E7FNpVr!Ms5$|jEe*dp4gS7T>n(68wpD2(^v?tK+C;L!>^F&>G0e7Rh46Icl zmA2zw`>o&I(jw5a7Aop7;KZoLxV7$u*(EerGevd9kRK-0TR+e4TKd4Zx}|Zt)$=+_ zk!27DlGGws-3Hbow(IFmXileP#x+Fhj6RaPNPEf!=kG>w%H$VRV~yAJ7=u(U5#jDF zv{M?*4ms997RP*RC%j3qHLTe4w$M$^*F=>aWfD!)DXrG3Jf12@)veITNbr7QIPO*J zv*3q5daiD_+}1%pEYme>D0;He-4jRoww!n5Oph;rVGSR_jqiYYD87aHm0lPj#f`@t zxM8lNZs*ad9OfnOddc>=kBK2`I!c@1yq3oPim|K=Y_&Z-9RY9Kg-K752uablTM?A> z<=s#sp-x7@4Y?#NRX#vNal>dd4y|TZK z`hR(%A+f1_mBxUZx-Ql#8*!p!kdOhxE1&R1n01q6W*0B%IK9}uJBHI)3JSzVjAg)r zQ6L`0&?8GemTunXVSPZBsm zB^PCAMKT>>lX`JdGWxcmatr>Ln_+wEGjBcu98g{z)>V)=CP z=9&YXh0y$F>ioyp=B4mk>D2=hZPU6MMhvRj0@qb7`BkaveP-GL-WAaB36FN1KB;mj zGo_=nHPIk<-LL4C4oiox2XL}9kX~lADhhc7Vhgomo57AsI(8_W&HEwP@kjaXc z+zq0vpYL4|P^3x#@Z4zeFhv)ZJeeod=>U`#Z&H{AWVwzXl!JNkja`gz?0js^Pwim$ zvpb<0)kQ$Zq^k=HvKe6=z>av<>#u+6+h}Y$gH(>Axt1YdFxQ4Kbvb)%F0r%1#8$eT z!iRjP8GQ;H*>?{St@J7+$HK8-c8rUg8n)!a>8@TC7~|eq>DUC_tU`9ht*gnOsNxYxz+)X^$-q^M9c5|j|^6|OQ=hmKqU(qzAtihRmSEIiBLF+O2 z>+rq*hp~GM?j-yhd>z}iGjV<~Cbn(cwr$(CCw4NiZQHiB^X#efod4F@t=g)7)9<>v zs;j%d-Ph-y-+_tgJ|*3n*Ok{d=g&s#MJ-7Qgl(X-s}xkTmJl~p4E(-LZ2*}cMrXgR zVkeg7XcEbeZ78KsD%`U$JXXYTxxR;{3-FdVm?7^Qd0&SA_2-QYa~LIRsMsB6)xgex za*)0dnVAcc3K;%V#B`;EaE8y9@6x;7v9Dd(m2NHF_a4faNcc#d`hl^&*}zH=X2;6z z!(E+#&jc6HPo3e|C9shKd_YkuV3px=KCh>!57NmzOUwokj>ET#o5?kqwu@ufzR0;F zF*bwTOXvnamF?)>X^=ukNR!1%(#MjG$oRgj85-hel7li;IRzsp1zrB zUxg2M4bUG)H?NO!y0^J)q6vXza*@up1P+VtPP1qn-4%;wB%g%705404&suq~rO2SuhcGmVH|pn>wxs&=KrM3=J}Oj>(XYSQ-2 zA*j6EKcnLA&D38vE;FmF6Zd`>E28ur<=_1anpMC`$|WZy_3xod(8A#=?ke7F@Karx z&a6zEYX$%bxi`juOq(o_+&F*)<&o`rxkba*J$oPoq4Q<`wm2&U%@M*kq!%u!=zQ+{ z58S3$A1A5}&LCFbW}+^#2QmJI`ty4HS1-qB2v@+biO=F$RZa z{){lG88;HvNkvyNR%i?1k^C+9w69Mk=h>57U`Pdz6q=tlDIv`;DC2^?tTx~`Rv1Pa zB<$&3ck=2?(@zD;E5v#nC4d_#H#*p#Hvt6=i*=K~5i+A6m}ltt2nQmvRGp`|3Vbr_OIEG8f2hDG)Oq6hAoNJRS|0oT!R0B?t+eki&JbarMXslVchG45cS1kcHz@avv z*5>=zc1YpO;WEQJy1Ci`MpeWTjMvMfhi;?p=hJr@pYlZr%pLy%Rc@bMTl3*X7|4p_ zzBPu0%OEL3^VY_YO#8Rq_?@sQnujL|*d*8PZkZ@|Cf_LBk=+5b_k+%jTBvQPe*ZBx zQE$HYy9BN8Q^D+}o_>3#&&{89Rn18o!Q;x8I`Be##-_d%L&*BG@2&%zE3*QgH`z&Z zm64n`dX~wT)OftZqI=llXhsA2Vs=vDaBQbeHOr71j5=cM^+n3_I^f{o+Dj)qvWV;i zgv+1|J!Q0MPqk0c+2_cn5<4#inOj)%HbK?*F76n9+aM=O35UithGsXxGpBTkPy#$W%VwO8jr8J%qH?MG3i@g+z;x zF4@@gOt>#Q)==T9*>ImpK4Q~pe`Xos(2I1}6KC3rpr)R=3u4FN*UjpY8UGZkbl}*$ zNsVD~?;G9(4Z@?0fZ=I_5^9ojhW%V7+;#c8& zRz#|Im}%9w^t_Y|0&Bxp%Z)6o`S914JoItRTW1SnwI_>^`2{O()&$|}kyPy>Q4F8E-&p%C zXzZRH5u}ZGv+>+=Hl-4e*q!Rvy&|=G-g}A{rOu(jqx16ee7gQa>pm+p|MraRdI23B z`PJ8@6E9~eWMSSqJtP1%%nodoKd4>ReGjXxoV3Uc2fJlvaK>kM@~2^VJTeU8!Hekc z0ABQ1eH2Xo%*fnKbE~x}y=MK?utR+A+EB=aqKOtIY0V1$HNyD0+Z?`~OSl>}B3_9T ze&?yW6v%(yDm z@_`L=kQ?>GSd^1g{QQjdEyEV+l6bu<`xZC7a};(&dCnk&=w~$2v2Rq@I*p|jALbT~ zJQi|geQ)A;K1Q9bH+nP)rdb96O9aDfy${~LxfQ1J1u8z~D_Vw8KcQpnknf%x!*T=O z_U%vN?1Yzo8ZjbTbXtvgm&maWZDCkSjT|owT0{nfoip~6-`hJ4itL83dxO@sztzvo z{UvJm1i`XR5B`F6R*idBTg#G}JT_-!Y=h-M2zBD78R)gfmqE6b`w`@iwZ<@c<+9=0 zfwM}}w*S|$+Y9r;+CVMLas}VUXpJFw^Vyy!Nz4m3yyr39!pzgN+TiDmUT%8?}P>mOA{pGP`E z1Z2q_?G6QoYy2Q@_SkA-Qkqh7FZk&)BfAmk9+fg!6HM%ad$P}fahWn~9TY%5Vxw-l zV?i&4R@V0T*DTECzz@P&k)fbF^=JqAMhMled{~ubaVt_AiPD*-t<=ZkywPqABKwmB zqFnFNnv%BQmD*V=V*3&hOhzbz9ggY_cM#_11=d;}4<2P3+Y+!r*6*Q5<81hW9~^tx3V>G7-abnLGUmFg(igw#HI0=$FVGYR*c>94kyTh8qrsrxj=0-ha$f zwC3Kq39ZYBl6sz}^o^Q_`mBCWO-gA?Ea&?cI9V3LjYDkaGKd$gO$CDGo97T+V`p;v z$u$4HKWYDw$HV!lX`~>(hwmBP?GsA)H;vBXLX~rtyl_m8%k*=b$*^3c`7+yrCCLH* zjaJK0;QL4359u^}!D}$?SiDh>)Rd9YX>*W3QYK`j;P3RzN9gf(rBGinc8emUc4%Sf zmE@~d!!6M`#Fj0_@wJo(>n>a<(#*W2u++N{=PCzvRNn11pIIyp7vrNQdm~pU&zWYLd0AU<43lTjyKg08oy5TD_R0p-F!dbw_vA8g`(3 zKX(|4t)n6_oZv5VVl@iNORZ{?ySeNUmNvF@G6y}F>(3y` zvnn0G{^Hd)$J$KI!^`RFo!Ii!Wa<~Ik3xYfAQi?@1Bna9v0bW^G?cR#D3mi%hP_^icN3IdN5@=Z|(ussWywqFex?!3-z4AhS!YJ~&;Mttk8`}f<@IPrZV{uWJ9 z3R5{LE~zyAb!=qUt5xMl^?|BQNS7og{N3*ru%`HSE&gZC#?gfx=JElvFV{fhvt;AG zV)*A3N1;ACWM%zcYiD94--0fOgU0|ud)R%=v{QCAp(*G9oSudE~JFovNPRfUAJ^Km^BzW^q@ z?LK>62-M_BTja@JNXdx1&ssb5&vf-)J(Lu@u?M?U*T2Vuu)`0YA`jWAf1g! zDClkH(h;w!POy1&3GK%`58=gw%<4p|j<~?hocJSnxmQjS9byg5l`4A!*LALRJN!P? z=7_E$#S{9G(;Zjg{qm>1DHo+w2ozf?6aT6S96u?CsSCX{s(A2B_d|ZrMt09*4Zi|a zmav-+Mir4vG3`(8qYR9M4%5Naj&Iq=RnzI7wq~nj1BV^M1hx6c2QzCyH3%q92oOAN zLIL|i*a69gtoP2S{OKG_W!4B|%DzE+`5W?1tB`2==t>t>MN&k4rN2_jB^;vrPDA*D zhHf|M#MuiFoqPbw@2P9ZAohA#<^^fAr5H$}3MgE$i*!av^IlA|(-SgWoj99wTC8%( zyeyC9e@~|(adgS$&RN}9lbAf-$T`sQm2}`FCiGENOi1p)xs0XWryfLNkI!yV1LbCu z8k$=xPbUf#v_%}bM z9nIQ>w&*S1-*dwr96khk=Kb+<6bCvwCn*$l^KVJ!0oOoyY3%Qdt(_?vYZ|J}j0tZ; z80{CMQb7zX)=!#i#e+MWAr~T$k8%@)8 z)Z^Gx6>}Kkc##%Y2z`fA#O;2q6|H0N5R)3vMaQt~W8cbq(l=2(H>uGS(ZT$mwb%crrtyCk9coIdVsh#4PeHnMh{(scjT)cD`~ z4n{T(B06T4e__x6%06(iG5iPcVCVc#;KBA^yZ;S5m>B-)kN++3U}X76KmMByvi&c@ zLjWKM5CVt*BmmL?8Gt-M0iXy_0w@Cv0EPe~fHA-X@IP@Pz!YF=@o#fA0hs>F8UxG$ z765C24Zs#)2e7j>0oVf^0ZsrX6IT;kfRlwgz!~6d?r35HaCWl;xBy%MZvSaW{wEnx z{12AM{GUU(lQr&FiT&mMbj<->v?nd2W zv%z+=+LEK37-^$yt!%x~LeuiF^zhf`{gFfOCGYy-0Ow#G*2&;cHyd_+AxutuMK`1T z=Js?*Y(#DXE|Hyu)#Z7$wH=M!47pSp9E%(HXG&vVLP7)waEvzX)s=9Jw*Mv&d_EOF znmLHRDFlOqgF{~eu<#{5cMk0ooi4;P>OT;1-@|9i zkLv}gm7g=A7ye@JK)HaB6G}D(}qNQqKZB zs+kFNl^viA#Oy`kKh=W>gzCkmG~p-dRQeM|eh9|^!odY3L;KSK%p>iO@KbIMjKEK! zC1rNf^8+Mh=HH%_kTbDE(6$OndnIlCuhb^7Te~^=tq0A?vG&tk_f_=)TWWrDxo^F1 ze6|bnimRfa{JG=Np^nx5iMp|NUyGw}_q;N{xIOrkm-t=s0sEkKVQ6e|0%s5G+4hM# zfd$3T?Ce^{c>js}0Z0!@I_jCXcWG&2{+WR@2bSe`BBfBm&2N0rOYd3zaX#U@0Q&?i z;c{}Ux_?h>eCw(HFhfdVn&rn}^WdRA?4AeSaqa5a{w%2i;iHls_{~*ls%NTid2-Xk@C9{rWtUb`PW_nn zeNV{W-4L~vd;b2My7E&dHM4u?L;UH5g5B@}>N-nbK zPW-F|zimDLcPF*F4&X=3hu%C-?1q*LSJ5=>kfKw)o((RS)k8#ml`j{v2(nZV;BWS6 z_0t?gPz%}flA-iDKzli{n;BvbivzVdA4njO#*Ms2+cn|+3xHO!13v%d!38;GfE46Q zW%y1QgLP8{zGeeu<0|?zumw$S@|EaD8CcW!~0Slip zhRD1*#LRCLRW6r+3PLn245HJH$P4k-+;Lxj%ssm9GjS$7Nt+u!=Nea$Uc zy7--1{9RpFo3rxZRHk9}$9_n&pO94)AW@uvR&V1|Sg8afi9l;?8TQ4JqHK03ETJ~9 z7}k3}c9j!yesuyegH1vRh&u2_<}te5sBmS7t`gOYs>xsc$s z*i8y3%Fj<#!FtL|7duruVp>)Y;L+8tOP&&y-n*Bm8gDO95jPKLDqWRb#Bs}*@L@_- z%eGe@li3g@xyGu{Zs5x6H2zAp&6)ng!q`GI=m9)%cJNm;BT)xyCX|?N>g-fBFvm5no!+Nk1Q)kiYOQJgz6L6ebb-LG~Er{hCl~K3> zfx@!*Lw!)Q`Fv46A_UxVG+WvHQfA!~P_FBhxix;{`^hIIqgEZqL5hyw+RGTcc>+6w zi(g$a%u7ty4#M1_F~Ub3udQuH)SXAW3KrQ%PH+?<@gE+U?Xi4y&Bmb)1o$%q+yz^C zjSH$f43Xhw(qBtpI8;darST5$~;k_XTH8cZ=*1lWX`*VNET zi7-)sJ1q3eB=ag}_1bqlQ=>#xn8o~T%z*E{UnUsa2Zi1L1 zI5R3cbHqjJv;s0I_3(m@&&gl~z0wbdE1yJ~R`dj@Xs7p;y26O`8dvJs@R!`Qj2do6 z!Q6HS%TsS&HRk$nGbxeL@>o5tn4S+qm#|>?Gi(|O>O1N z$uPAe8Q?({J_nPnx@@3$)-3Zdd9DzUZseIJrKvHYQ@stwuF?^hWmjPsEY&}Ux$%I+H|j1$#I<2Cua+TVY~6ubVa6qBq9nbs z1o(jaQ5xnj5oBlGQ1kjemjT7=~oSsj|Mfr&6ycFr$4MfY4OjgIyn#+x)p0)G@a!weYQ)MQS_ ze<25_r`ocySrI)dBe=~)DHJL6MV5#WC!e{ z_EFrgB{&%j<~S=70L@393l8|?>F$RkNQEPKQU5*WCc1haszt>|r4eRoLRO7KZyekh&Mji|C|<7Md9|J@cVX2*Eb>zg19JMA~q z|IH-WaiEe*mKr2o#QU62c#{hou_zas$0r-2rfb+aE%?luY=e$SJy@wl56l}@ct3sh zb*(A#MN0I^=Gs21n$Rrz5kL9`{9GV94Cqp%(%`mVifA!64jqlYSrbpY`nc`S_z}TA z1%C!}YSSs&oLD5&=6$pV8?a0grw$Sozi)c64W%~}W_&7fHbZyZG^~e0*)&0V=ikv| zeZoe8EQ1;j$+bdo?v=bLS!H5HS&n#p$Sq@jnv12umS|29CQ%1dqj2JYqooeT?R2%B zC9>ouf}`G>j<=$a#n7Epx*a_jPdAC$h!Ui+Iefz_0SiSjKgIs?bnkgpoO9y;n+F?`lZ}_Y2xZeaZv^WxJ@U&%>h%7r!iG&sqpC z`Qn$9^%CA7vxs|e=>>)T69V8&|5X66$?{$8qhIkMlN05%x-HtuahbkgjXP{b?3_Ul ziAjomI3RElF4Kp3)~cMjwj|y!38_pzMm^LmgD={*#S2DSDX# zE9}bG*{`|FGF~(UlxV9I21RO3*UoxnjK94iR{V-A66a3h2i`I?pPsob_6QfpFFEmV>rC^@V0MfX_iuUne{rey8s zbS~_Qh;)L@i^+XZm!4vH*TRRCCIBVjrOm9m6q725?&*8Zjg56>+`+AKjdh-Kh@ZR>5CAa2vU3 z{drPFWNb>W=tPUx;*VL4le|GzNT!Fd-0bh;I%d+f;&fd!@IMExHi+=9Nc%-ZpVc%> z%Hp+xrCUvYmXQAllc$C|A0i$CCEN{t&Mf2O+XFl+&zWtaXmR)fct(VUr~#^c#(v%7jF>HWQ^`#-I^0UIb9Eb#J#Ww zCgCgEI>ZdIL%i2}oW)q~+>HA`xiB1^x1Vn6oGyqrA3`<%!Z^1sxK*nR^V&}OnAkMB zN31X>-9Qu%ma?n5IN5cPOcsCK#uD8>VNjeh)_PrA@Bf$M@5#T+L#;_EQF@m%H98to z49DGOI$SqHeB=?7dv9GQZ6kDxQm{$;vMbU{j>1C9PL8=P@xxUi4j=8Q%jI&_*fAbP2}{pbGw~$K1`;xHT|j zGXq~A2$PX^#%3`ODc8d1E;ej#_{QamW&o;e2SxU3{9sM4U#|4d`lTJ1djMJ852a2H z?eTQnS0odlYll~3F3~*n?d#UxMeVwG-6tUxD2V7419298^Pr;>d97Z zO;k8ejO+Mjd28-uGkoqrYT01AKx_Mh>#RB|o{Tz5RJh$9q{oPQ#c9y9Gp;}JlEKhI z3@!kZ50oMoYtnZ#BD63`Q`XcJmXc2z4dCZ=gV?}C?5oCt^Xdt%#~SDl^w(1w=@X*G zka1$)I*FtH(5~tZiS+=@;R#IJ*Esg}=_T+$9v~r)o^p!LgE3-jot#hx1tkFcbl7xU zgryB5{~DKsdgQSBTV=tUj#~M!$z|f=4?NGGc6fVtap_>0m>g8fv*tuc+l~E|oK4M4 zLHW2ji1=a^@_hQ@z_0631rlo4zS-Q#@38uQyw~t@v3eA5?m3vrrYOdSecr zCzljgH3BppecL0leRT|P1QPQwRF11XM?Q+X*%Y{G{*J%x|AO{3AT_zHT!91(JPD7R zh2J_yq^yl4)mFXH_raC;G^q^NQ7f`HjyQQ}O(7fHeGOq@@X)fhCksDkQckdaKbha1 zvo%yJ#P$TMHH8$4s$`w)n^|#1$X%01G9Dh1B0-l;#Gw!1+tO66%TgPsD3_rpu9 z1)EV-vn-T*3VTtK=NYR3YEZ0DvmqjhN#jnnHrQJKdMC&_5!?RYJ3b$5G*~TOK}d1f zerv9HC^d{2g=L{^rX8GdQcVHb4m*!WGk}P1UMkV9;Wo#u*Ww8bE-2MZ4n-Ne=vfp8 z!3kw4P;5{E)zaLd|JvEU)MCEjyhVN6V<(gH%~$${$Vf<$fMhd8aQO@@$_D2gRgoXDxWA11tf@Vi>`~ffBe0wB~OJ~K87Rgz- z_E6p7H>1(hocJCQ+)jOpqe!124V4u+u8$i3_aiUyfe{Jh5z%)%PEN6Q;wey} z2}%^HFF;hhpMmG!`w#z@EL;KCxtC6K1p6?aH^|@JUwLF;#ylA4$VI)i zitY>>_9wsnEYGD|9;eGT`H`paq&h+JB^70OZwB4L)h))uk8xk@|$ZPSn?r0MLy)!B!T(NcXJ7)O`V^_Wl5EhhHSmI zm?oBr)h*nmlz2C}V+D$*D4d<=Cy}~c9}kVoA^A<~j#G0Migi&5YezAkkFOTv81v*6l+viX+!q`et61OOlVfS!Kjl_N#s+eYMC@P%Hk#QyS_j?WI8 zd=B}5@;30B3xiTW6wDrAc6}0l(LTDPZIU zEZOEUhran^qZ2Rugay_}1 zz7cFI6q4TQ_0-N%S>-lx!JgbObE{hifk9Xa{n47jo)j#nD)j{l0e|sfW>%xrS8p#- z-oPci5aZFFHQ*k^;ec~k)-%7vQ1Xp#9qxi~E0JMH5)`>!x69|ub|SxC za6p87Ri-mdA{oY~>X$R@#h==64Z?CWkC!aU!8d1>GN2aqIcX83d!Qz4O#4vcf0Txz zTYG>BWdS%6|4Nf!^)u(gNQ-?rQdt^M#{ar<MZfPtEeoNG2f25}Z#k|&uy z5JG*MJ5Zv|E##)_L9$O1>aL2-QP#lpYMSf}Q~rAjJC;r9LA@d?#xhyRXb-}n{lUO= zV%Ph6Uvu2){=X?N=ZadGxWhf1ZaC5OdjA4Ve{bvcNPpSzQ(CQ&yuQW47!N-$%D-ZL z7}e!1@>nRL`E?-7if4RZ4c!EH4Xl z^31Aba|VqH(l|pQi;{#HW0>j21TMz~ZXKE;cU>sDwg~*TOf^hgE{qT_n5z?CsXHw@ zs;V23gLoO>eKbkl>0qU=6w#F-bRp?2{p_WDo2ovt)&%t|xp5QQA-&*iM)|v#WpSq) zBkV`T@mZaEES={}%ibtjJ9&J7VnZ#_p>Pnu)PFL5wcNN|Db}IkGOU00&f=Ek7d4F3 z$67f~me*vhnOjv$4b-z=YkRuQu}J_XD`u{W-RG!XW#z(xs=9EgNYFLg^6C}-Nb3y6 z+F^9YX}~Q%O3f=b+BJ8>)Yr@tJb@dj>eAA9~^*3 zyHMv9$SNiE`*?dXE=;SKKEQ*VzU?%lf?^Ag^$Aq#wk9o!iBHq*b3Vwal)tx;Wq)ZV zt81CnS3&{r(N>T{=Q}8f7cr;eUMam&LR=4IgsY@on9nrWi%Mw|$>1^?-p8_Hta2U8Qc zEhv2a-O$Y`smnr@YC^$p->0sT8o|jFJNsY$)-bk4zM3e%l$zPXW80-tR;)fx{H74^ z1CO-mEfe~k(x6+KwK^P!AYFlF~A(C>bbdwZ+<(m09JfMz68#G*a%dDq& zi8Fg3*3TLD#rjE6Z?mqfXm3Tl7aQ1-3|_Gpox#tsw&>3pV%}V%vr{wBOR}dJg<|s7 z8hPC~Nl;;P?l`nmKISevv0BP=8-~qmL%aRc=vHnxhs~u8s?z`?luy~3^tI%1`LyYr5H{b~vKhROOb`X1Zbt=r~r=CuS|d#Za372CI3 zWeBPeTu5+BK2bXN*fG$JmQD`i@LkstF~`X)aQJ$X5ocSPktTibkgK1z24|*J@iZ!Y z{ZXFV<~wS9UCQMkD#$&O<%!AFaNX#ek`;>lC2>*dC=rsqu-`A`9;#bs#a-!9xr4Ee zo*>4UdPTC&tBy{2IP(@1r@@l&tf?D>tckcSxATk~Su%(y>-Gv2Ph=OSi5b{oTb?Je zdGa;kD`@I-q8$^uS2h}?GOFVW25^xzX>d%~tabk)nk6mx5p%@>9gq0u*IGNFkUo!b zb)iMkm(yTrvCTOpj;2RzuaV@ekE+c9av{Q zP6fl32AR`!nnltvj7wJZ_UT;}u;#yHR-Ldxcm*xi2<=f|-di&om`T@HvjHV3{PxZp z-*mPz%+9Hp=R?H`^*tl#x|j!hum8^N`7U_%E}$eBR@A%hz0(KspcF9Bp6$>kymLvN z1V3w~!m9&XB5Ny(XqASN3!ydOEpQNjG3$@}scPC!is4gov47LHig}}v5*1|&Mlt;) zZXluJxofl6LK-yDBjqd;Ae}KCi@SV>Cl#defAcAWE&z9!O{Ze_&gPNuKw6{FR-`Sy ziI`fx)3zfKN8P-865U==QJ-GWsF_)spVrlrj%km`5gDW-Q9T#)(EerHaBkkq7H%QE zkqZ6HE3C5+Jl&Saa-_O9$^+$wi}^vtHAMW-J4ao2Q&KmpXrwZ!Ctg&Iqhuk}xdb*U z7|ZX@_Ev-yE-&E0sGKLBG*kfbygsV5-%KK6V2$DpHgZ+* zg-dpSdFlS@x4W;q^s&kB@G1v_n35P3k7arYseX!Y`2mbB6ac&b`49r^X|qZr5wG5C zf-|Ay(awwa99B4#>CKQmCuQB=baa(T&Z>RhZCE&JlqiOAOkAr&&8Ac;{nYG+bRT0g zQKg$(Tch|%H`0z$Fp~*-L$~nw+CLvgd@GMaHT5iYmgAf^`@h#HqV)YZVEzoxbiJhg z9i26plcJ}b=x^m1i`0Vpljf|oi7)+mb$$9L{uPohWp7oPyr+zv@YJm$B5j*rg(1O5 zi>@3_3w8sxq+j6bZ*9)@1leAAG$;A4n^lF0xbPefLj%BKe=c@%9~%v`veY=BgI<2T zKsMqeAKmpnCnZC7)ZwE~3=QQbw18*NX$x6v65sJq6w0NptY8!eQ+`yE*P;Kz2bne6 z_6U*D)Z7r*_wi*{(5s^k8MoGDDGLo0 z$5j%MSe%x`2$LbHL&Lu|VudOC>lvJyYP5f9*|a`pF(Zn+3?F?WSF|;hYW^mT)+f;F ziAuvB&>)WzOHl`~pEE1e{Kyu!@4raaMijux{bbXrl!GTmG3TX%27_$CxaZH@zIK(vJaAE{JrtOr(N&5m%Mgej`+W4*Li7-;?HTQ4J$~1?>SU zPGnX_CX4u}d8qx8t>YyzoU-4wu}i52yOoQMRgAtNUhyX^@FDHT~oDi=NwRUr;YdhRaq-Q)3U+ z1dTIC$Q34jXl?_m}w?exv_2hnHbz)d=+Ntq+(dDgN%~ z-rxz{e!&8#REY?)MEH7z3A9ZZy)EtVsRCw9EoQVXz-P|swqy9!e<@yYL)Bn&9@KLL z@hvX$nLA07U0=Urd+9u`AHSYX_F%i4hK=|(C=*9MHS^(5QeZHPBM2zu-oK`-Yhbo& zXVUxo3bE0UT zNg1H(1XJqaYCbufB#{4i8G1}0`EX5##r4mIDrq*PZ@qwY_Jl~Quc^3xr^DxjvQ$Vk zYi9S~ogn9eu;3C9PEs$WVHw1uZ|7yOk)RhEU^DSg%u&SM;-j6FhO3f2;jI>Ln2!qj zQybG#W%#W#DiEs#V4w8}ISpxQz{y$sOLi$f!T!X=`g<0e0&W(6rOY~FmdU(_?2u9- zKdRXAYm7~zxJQkzSuzmSu6sSO6>*VmC`hq$EK|{gm-hMK2CF&$@f!bUNv1&=lV?|> znW2RUxY?as3Fl{fC0e*Ya+O$FYktzTAwe;j3kuqLNu&B-&KTD$tKMxHsryV9@H1o7V@EKAI|W{DGU*7M0;VZ{~C z6qn|H(G10NbyZz%nqb#}3pI-55&&3ijwK zHJ1dVg*mR+1fT{T&nGK^`j);q5B9>4#$(6b6{4&v-pr2qL)xv=`1EJ~bPgr2XviX8 zS7z~*VZ#Zgnk;uV1R-kFXXe^}+E=ASg|O83$4JU{6fQnZES59G@tDpX$JAvm_P(!L zKV11IE=)$;f$hcr;*P-=)kxf}Oy|&@3iuy4NW3T;1(@rH!FN8|Tn2GP6uA3qa177X zT%G_vS;~f*NO&UQ#WUs{v-mM3NZC+I_zUA4I~f;& zUl{O<0P?P?G)D`?B8oW08RUmZyycX2PEWnq@p?YA>rxpgJmabp)2J|Ep=iS`%1>3G{rt-nxdZqWZm~;PWaiTmDX2%yiA=K0+-_!KwHaO#9-gjT++S)QjCX z7A-Yo8z!F3o08 z0jAgacF>}zj4J#0)*-E@D{5K7xmJ(os#O%QPo6E|+UZBQE<~AYlvp%OveICx7FW6X~cIej;BuG#nN?JckLWa2U{P!i$+6cUPy9LKhs`vqTH*$>m zbj+23SejpcA^9nn4ahpGBAWF|y%{7VaAnHnU5d%61SgAFYMqk+SzCQ|p(6TdgLUE& zqnjpyl|GTVfEFa~fEy)~KH2Ejo5K#i4rSvkn};jlH*6?;B%~IqV%k-R`i1KJesf$L zhbYehP%BVyIS+`;>^CU)v7W)ahN5T_*G(7-rs#5ADFHxzI#7xSp74t!l{vd_ zpb=8(fMwlXA~&tu5Ggx211htWQCoso&9oh|sFD7Adp93FxCN_Y{A{X|7=in~uL!fS z5`6&1$olSP+%!n8-o|OfPR`bDR9Wms{di+m))=jNaClCW=8WgPzl(tZPtRq-u!yfm zH&DL@>vF~#(x#oeaQBN)nM3NR<5lGgtdO%pfqWu$1ekrh7Fk_UY=QSnLHx;qLt3Tv z<*RtqDrnWperAdb;TbGlI9^c!@S$4cMwrtKGocM!Y}k571WlsrVm%V)XpXlL){Ng> z0{m6|C8;J&U-1M5c|B|Z1G4Nd+;l^1O+kn0>dkXldaZUtgmo-94#SP{zNuHeI%=E0 zzZ*o#DkLuKEB?D9R3nuGpqb|H`}FS6()t{#Z%f8=R-?zPn!>I8EGeG%#BgaxvFrSX ziz`&*QfjR1y#$5Am;}0EaS*IvrdD7Ntb^r=zxJ7Cyq(3@XQM} zUW%hgbY`z8s1%3Rvg{KaC8-BhJTH!oco55wgHT$&dVE~cBD(0LaP0R^GuV}$?t;Vw z3{h1yN%A`jsc~G} z`TiokQK*}A<(`jTDA37}!UP#4x}SAS%Y^(E$VYEZg|+(9W=PGZ|G|a>&hqx)Pt1oH zt?6G+;ck@DWRW41Y(P8uZ)K_-jL*lowQ9cLC8xt)yr46sGZ|Ye!=55zh zt1S$*_1zrzR^?c3X~%xyLm}D*KkIP~KP;o2Ryfk9jHY9_v9(RU3fYz8eJ_mc4!;t0 zEFp4u`ORRPyis5;z~w>kGQtd%nf9BlkftoTM8JfRK!i0p-~E+fFw;b7-Hlu>Q3$@1 z0*dnxL0U&7j*A|ED|HL3GF{1qno4p>8F>2vp3Gm#?DFD&RCeC+RQ~-Rk7!Vm?2Kb& zJHr`PWK;H@ad2>Kj*%T@lQOgS_}a?KjF4GE_DWVHk(4CA>*)La-qC%3@85kM9*=Xb z_jzB}_4>TW=a0*IJl_J*r!rWs6c#M0o_ai!G3`+r_i&rlRg87Mrk$A-SEa)OJv;Jv z7|PkbjN}}D0;C}qQp=_f{y1i%o>+dtf?O6Fv1*p zdGq@2zj5?NVd{VMO$WpB!y|A!^GsMyYT6#~3nh`T@Y=fpfgt0EYd*JtCqC;eQJa)IIw4o&HJqme(6!5mSQ(q(?)jkbR{dw5J6y4| zJ29VrJY?e;t|yl4xfs#o+i+(H8X|wK!DrUo250n&XKkN-m{xbX&U8@>m7`6;N3mIz zS?+afI@whn_oyzC?Iw=1QPe<=Rk3#tV1k5Q(0Ymv=CS=&HeFnKe>be=rJ^uWmMe4V zsvUSXZ9}u(@xl^0HN8?0k>@<=moSk>WT!j!_wv?Q8@@MC)htwW6xUO)mIPM7_Ve|t zh04Fz=And!_`S4d+qB=2`#ol`Y>Rx)%>GHF#ITZCrh9ChKl;|b-y)1kKr;_Yt#(06 z+3zcwLFgHs@0quLf$^5nMYF{NQOX1lH^hBxiiOW5w?*EkS0>|9ItTpBj?|#HFWDl< zMVyA0TiJ5T15rlYUuX<=_@ zRa2NI5oH)%U0wewNP1O8FDN54N!FclsDJX*ID_V=^O-F_=1{Hh7dj3J@kw1;(P^^G z9kc$4v5ls?XI>0&at+})VY!o96ZSOPb#Uk1;D;SgJamh5r_Zi7eZ72D$51F+GE%^u zJ>W-yl%T`t=oepi5>`f{YgV$HqkeT88=>ZTrBAbWRE;i)ntg=Z%qLF&xEevCZ4`fd zljzK;lERX1x~K5NPmcsaQlMR>;Fq>y-%6I-`=43Y^HbA&f3MX_|~ zquoB>e6SR5{$1`FwEfDln~a})(?R)E+*IXg-TbWgD47W*lalvj+r-7+-cHa}i=-@x zU*FDIuPJjFnNE|x-WU>}OBu}c(B}kQbA^RUnMJ;tH&LeC>6WntP>m@^{fTteWkt)g z3f`oZ^@VgDWXwIfm)AQF&{w&2uU2oDotd|>9^#FDej95bNQbSiP_I6LTs3Vi+cZxZ z?_KH0glz=|Q5>j!bw{=*l^NdaXSVzP$Q*6kmY!nkE^-&lGJdhk{ZePbSolPSK@eZb zwyB6I4}&PD(UtPFuE?&iH#FReL&jf5%5(#aHx&9D*&<6Gh3T@7n$nf2A(m4jAD(uk zhR@SM2mAFNSM2lhnFXq|Yz{9x^3xtj9Kcd_Us5l4)W%Lr~hLORr#&>m&m9Zb^ACFV) z=<6=7ok@`&@0-?^;H3K0*jESUt_mwqJ!wA|B>0$v=9F%S2m!!U$&zspc9g8+&GmV1 zsWisN@U?P~WZ67XB_Ln9$?tiuCzNx2C_K%unHAYK^e@EM@$&fX?MS+o zNk`;%;b?>EY*seURVYf)Y+efnlNX8`OrJtq?UHZykO;9YU2||eQ1k^$^szd-#U^bJ zmJsh`t4GT?#JT5P8-M?L74ur5XTLbiKl=nmU5u)0i#}IzQ_=n;#j6!ht2@kV4nFCf znK=}ggMEmS=%6Q3Bf5~a)>m~i%OWbSb}MkpEnnxOOj=N^bW-sZCQvYA&~l z!K_unmfG0&Z(Ov?=F{3S!(Z=h**%f%f!}+Z?>tr58uDb!+pK_Y$`@rB)uG*NP1P5k zV>}#_K$zH6lD3AizT$zRQk;EsH<0Zqzo{OjIOCkbs-ksl%7BHqp7EFBMY(&G+M?fNR0x5`VP2d)ohVXc6(e11;D2CfGY|!5 z23v$n>FhtR!PhcxP}kt`y$<%7$g+^V8j)&z)~Zo^&dJ_X%9wc))t(jcdW*q1wBNH! zliV`dS&u5E>0Q+Dxj3WL@r#}&5*mt*&&xS(rg+{oX~e#Jr$VgW`2G5&IU2}XSTyZk zuFb07d)bq8)16v9?LPVuCW(w$yecnRbA+t6a+SyEt6x7kXE=7pUzGU0M2c(f*O&*r zB<;7wU-Lf6JD)*UFWV&SKV;N8UXeU99r{h>^43{VjyIf@>qNvkudImZ#wMK{Dy?g7 z04N`t1-?s9*yW3Ea24c}sFCMtIoZ>w3ov1wl7Q%98?Ho4lpw!mrQf3Wo8ip#L z-6*^7Gr2tzEc0D|C>0NxNAX?XS4tK4TYO8#B0QnpxvvuwKNzd7jz)-N1v3p)?S56Jmw+_ zvAbfc!kxJsU-gINh?6Xui)c8Rth9Vor?$3Lzo~7F5xjWA^H~FoVSP1sZ*TtXrM}o$ zP%}dv?j^IoxHyL#7jx0+gbIdB_iD)z3q;A8Yzz`thky0Pl@CpigK#Pj~@pa8Q-n zx+lQQJ-xFhd^^CtzdUCwYul%yf{8Kk#(MRbhjKz@vZn39;F(z=&+B@$su`=(=vSVB zCA;+_N|ck&z$&|P)Wu4h-a<+rbn>G@w==pl_8%tcpg?y1MH8u`LIG*r6ba!AhL4>Z zXWUGBky_Ge$g1atEU#qAWZBZx)(jzD64HScZ$cBMw#FYTQonW2^YpKy<>uX>1DKN#oDC{wH!snzSsy5u9L$+x=Pz4LM*WmIo3 zJ%&G@{2XtPK(n2Vm%uQwO_*vN#JvQuVMRRSD?#^0nXEK^QWPGUNs;wRCJ{5~LjflC zk;r)S)?`xL?ILw#dtc#hu$$_MozgobXF6VGP8w8U_G+gDJRCm{3#&!l7w?loJqyRJ z#N(_N321(pxFb}{w(W(RT1^6|tVAT=kK}LxPslk(Hmj|A3NP12cZ1cKP|EF%Z+Ei@ z%x$oAp1`J^uV5X0(WZnCYZgQiWyV9{d9znXxYsm>tC4Pp9(6^9p5TvR^vURF9bS*q z4UqA7{p{RT8WcyHDzP4g8>`;XM%}#wf8E@U7V9Q>ExsJy+r5A1`;PoawoWvN-p8 zxs(@2YOg29R=n1RkaW!SUWLs+P3)1NPv985=~u4v?VgB9%zS}6)|!r9Al1x-pq5c} zx~=L0O`%xO%kTlkk`Alfyd*A9E-Dm9kK3u~k^JX5oJ^lTzx)~=iz`=ptpQ>dTGoxP zGmDSs>*|MoxUxAzYC3ZNrAx#lr@egDXco_49T}1zLMSIEE6I(!p98OEofGO+EbHgn z&{X*B8s}b=7O!uMNq2AIDa`*g)?(ORV5XJb{$?`iCTj>nrqYIEIM?69dd~l*Sb;_^ ze>J@&q#?pfa3EkIj>yGWSy3dK<>J`8PRUQ%P0ih;ll4T;u`^ix`dL94O)}my4LiX< zUQp#;Cv_(By!SN3B_h+l9s(=u-TN`oRLuHrgfl;8Rg#*8-|n=k3ReKxm3`Z?j+HWEp=NdQtqkliw+UPsv{&s>PQ8$z}t&wE=ry^*%H4T zBhMa#qV~CrI_TZ6p*3YFH40ruk&htDmoDW|AtOY{uCg`TcdV?OF1R50rGWJjN8&qg z*_mj>kMX-XGv<1FiimN#@f|1Nf8JN-Pf`XHRKOKM73_CCBaj)a2kh~Ssl!!VLh0DH zTL&-nHe2tFaQkQ)?E^mx*nPql7u@v>JGmsFskRMbzTg)%oHVEA9}pqk_N+9FofJVn zTB%F*l#=H9yg1Chm@MjRk5w9|%@E#R$jLeJVETkA)W*31abG=3tDfW0oY%9PE+!WK zMapmMWfHFx>r0L7C$&S-vGmq{>7FZPp2(X|N~OxaQWY*bpYX4>yu<(b8bv{{_6;5rbLubL zA7lvYi};In2cB68RTJ1~8~b!7#a^@R;yHEivX10M@pr}5X1u&++3cSrZI!^F(GaIU zUY+G!qNh*aIUpt_+}_`+IY-}Wbo;%ZshH^S#d6-6?X{ULtArq*~U|*vG(NRI*4Z9x!($o7UTV51X zF>5G1y~4|p&+iB2Lnq|+-u^ifdGWOiPL@f+iglfnDLuyFn6y_Yzf+U%+qzvI6oEXL z#S+86SgS>wOVGmPKBAlygq&0qUS!$i!EtXEvX!d7VwTlFaj~1EckP>ZOKdHXLNi0& zoBLH{XC-;9{Rljn-C*{lF`ELcxTb_jj;f786DzPq@(w|q2-7;lI7bnHanEZ$9gKYX zg!zXQXsK}`Y8`^AKJy{qdIj%lgurgwzrmUSU=7g!cj~#0in5-T%rUHq2FA+mAFw9) zDdIn|CNTJ~Sd$}jYmq46@LyOHsL+4Fn*75s^q*7{8Gvgd2bKpb0Cbb<;2Vd86BV%P zFO(B)unt)FPu7XKqn)Dz*xb?H9{rPha?9KfZGRkmVg;a2tUaBq0nP~)Yy-AEMnQ2x zyI>sbFqW?1!%r^w!R}xuj0@J$0_^OD!MS3AdpNr}x&kKrS3jvK_Sl~{{|9~w_!ig` z>;?A1xHuj`so=>ezoJxNzo$^v!Q9aT>tF>06>DjU0R)<3a3Dh%fO7!}3W70*>jVi3 z|ElZXtpfyy{~4Y?1MqWQAh^(>tV0eAp7-*T{BnqiIRwVwc`!d$_H)iXLI}7FKGrzQ zp9=>e1^pTC#%JhgYMg)x#PGvVyZ(gH{0ye?F9aIsuLPQZ z0ewionr>#Uo=zAL7;gl~IZ|jG29Npyf&U5X132Id*ahq4>gWPGqy=fk0wZ?&9@WXV1|4JF?FrB~V7w_jtlj>n#@`R!5})qppuhg96F;JBDxo4fK~ZJeuj(h(VG6 zvy!7TxQ{8p5A!|}Bq*?5{jCIl@RyR~y@?On(cGz_tuQzM>E!4JR1|RL4Xg#eGx2u- z9j+MIEe{W%hlK%x9^U-d!WI0zAf(Z*Xgf!s-4Cx0`kAU<26q1{L(Rp}!p$7x0^(8z zo}Xg$Ku#8xz#BhQ01gp=3Ibb=vfnWl{0&s*N0>t%~NbX-6`IZaDk^}-0M3MmXtUq7CmV)=U1pQ@$2?J5Zzd#Ou z+n_=~ogA|PYddCxLt!YOOOE)#p(uQ{AF)9oNW^hJ2m}EK@^{Qn5CKe7KWc*t;t5&D zY%u)ZaMT7t!GK~vVuM4Wkl*~^f(W3bj`%^~F!=GcL7;GawH@(;1EbrIYlcJN0G;fp z9|VCA{w;n8xX|%)A#gb2w^$*NsNZd<-_C_YP{O~(6d?rtO$!o+`fY7U)bFtu`ZsYA z0>m6&o3JqQ`1PQW-|GbiL*e`LNc>3AGiS@$ZYaFcM=;#VM+yj6uNzuX55d;+a;r^s312Pm7mV?M5VMwGDL|PgSkrk4J uBBY?gP&iClRu-rpDRIz$cQFQui<977(fEBC=q)%5f)XU*;E+|7Bl$m;JW}%j literal 0 HcmV?d00001 diff --git a/proposal/proposal.tex b/proposal/proposal.tex new file mode 100755 index 0000000..2262e6d --- /dev/null +++ b/proposal/proposal.tex @@ -0,0 +1,143 @@ +\documentclass[11pt]{article} + +\usepackage{setspace} +\usepackage[margin=1in]{geometry} + +\usepackage{tabularx} + +\usepackage{tocloft} +\renewcommand{\cftsecleader}{\cftdotfill{\cftdotsep}} + +\usepackage{txfonts} + +%% END PREAMBLE +\begin{document} + +%\doublespacing +\setlength{\parindent}{2em} + +\begin{titlepage} +\clearpage +\thispagestyle{empty} + +Letter of transmittal goes HEER + +\end{titlepage} + +\begin{titlepage} +\clearpage +\thispagestyle{empty} + +This is a title page + +Included is an abstract +\end{titlepage} + +\pagenumbering{roman} +\tableofcontents +\newpage + +\pagenumbering{arabic} + +\section{Introduction} +I'd like to introduce some things. + +\section{Literature Review} +\par +Here we will discuss projects similar to ours, as well as technology +we plan to use for our project. +\begin{itemize} +\item Building an In-Browser JavaScript VM and Debugger Using Generators\\ + http://amasad.me/2014/01/06/building-an-in-browser-javascript-vm-and-debugger-using-generators/ + \par + In this blog post, Amjad Masad describes how he implemented + debug.js, a JavaScript debugger running inside the web + browser. Since we wish to implement a c0 debugger running inside the + web browser, Masad's notes seem to be relevant. Specifically, this + post discusses the architecture of debug.js, as well as various + challenges Masad faced in developing it. Debug.js was designed in + two separate parts: a virtual machine and a debugger. The virtual + machine handled the task of evaluating the JavaScript program being + debugged, adding support for stopping, starting, and analyzing the + program. The debugger was the visual interface to the virtual + machine, allowing users to control the virtual machine and see its + output. + \par + Masad also discusses challenges he overcame while writing + debug.js. These included being able to step line-by-line through a + program, keeping track of a call stack, handling errors and + exceptions, implementing native APIs, and dealing with events. While + many of the details will be different when working with c0, we must + still consider all of these challenges in developing our project. + +\item The Architecture of Open Source Applications (Volume 2): Processing.js\\ + http://www.aosabook.org/en/pjs.html + \par + In Chapter 17 of Mike Kamermans' book The Architecture of Open + Source Applications, he discusses the design of + Processing.js. Processing is a Java-based programming language + designed to help teach computer programming in a visual + context. Processing.js is a project designed to run Processing + programs in the web browser using only JavaScript. This was done by + writing a own Java-to-JavaScript compiler, and running the resulting + code attached to a HTML canvas. Along the way, the developers ran + into several different challenges, mostly due to differences between + the Java and JavaScript languages. The largest difference between + the languages was that JavaScript programs do not get their own + thread; the browser freezes if a JavaScript program tries to run for + too long. We must consider this issue among others for our project. + +\item Node.js Documentation\\ + http://nodejs.org/documentation/ + \par + This is the documentation for the node.js platform. We plan to use + node.js to write the server-side code for our project. We believe + that node is a good fit for our project since we are writing + JavaScript for the client side of our code, so this will let us work + in the same language on the server and client side. Also, we can + make use of the existing cc0 compiler to translate c0 source code to + the bytecode our virtual machine will run. This is the same compiler + used in 15-122, and integrating it with our server will make it + feasible to run actual c0 source code. +\end{itemize} +\section{Plan} +\par +Our goal is to build a web application that can debug c0 code. +The user will type in or upload c0 source files. +Once this is done, these files will be transferred to our server, +where the cc0 compiler will be used to +generate bytecode corresponding to the user's source code. +This bytecode will be sent back to the user's web browser, +where we will be running a c0 virtual machine. +The user will be able to control this virtual machine as it executes their code. +This will give the user the ability to run their code line-by-line, +to set breakpoints, view stack traces, and see the values of variables. +By providing access to all this information, +we hope to make it easier for users to write and debug c0 programs. +\par +For version control, we will use a git repository hosted on GitHub. +We will use a Gantt chart, shown later in this proposal, to stay on schedule. + + +\section{Benefits} +\begin{enumerate} +\item Write c0 on cement +\item Write c0.js +\item Write cQuery +\item ??????? +\item Profit! +\end{enumerate} + +\section{Approach} +Use JavaScript and c0. + +\section{Evaluation Criteria} +Can you c it working, or not? + +\section{Qualifications of Team Members} +We are all c0 experts. + +\section{Sources Cited} +TBD + +\end{document}