<?xml version="1.0" encoding="UTF-8"?>
<Worksheet><Version major="6" minor="0"/><View-Properties><Zoom percentage="100"/></View-Properties><Styles><Layout alignment="left" linebreak="space" name="Warning"/><Layout alignment="left" bullet="dot" firstindent="0.0" leftmargin="0.0" linebreak="space" linespacing="0.0" name="Bullet Item" rightmargin="0.0" spaceabove="3.0" spacebelow="3.0"/><Layout alignment="left" firstindent="0.0" leftmargin="0.0" linebreak="space" linespacing="0.0" name="Normal258" rightmargin="0.0" spaceabove="0.0" spacebelow="0.0"/><Layout alignment="centred" firstindent="0.0" leftmargin="0.0" linebreak="space" linespacing="0.0" name="Normal257" rightmargin="0.0" spaceabove="0.0" spacebelow="0.0"/><Layout alignment="left" firstindent="0.0" leftmargin="0.0" linebreak="space" linespacing="0.0" name="Normal256" rightmargin="0.0" spaceabove="0.0" spacebelow="0.0"/><Layout alignment="left" firstindent="0.0" leftmargin="0.0" linebreak="space" linespacing="0.0" name="Heading 2" rightmargin="0.0" spaceabove="8.0" spacebelow="2.0"/><Layout alignment="centred" firstindent="0.0" leftmargin="0.0" linebreak="space" linespacing="0.5" name="Maple Output" rightmargin="0.0" spaceabove="0.0" spacebelow="0.0"/><Layout alignment="left" firstindent="0.0" leftmargin="0.0" linebreak="space" linespacing="0.0" name="Heading 1" rightmargin="0.0" spaceabove="8.0" spacebelow="4.0"/><Layout alignment="centred" firstindent="0.0" leftmargin="0.0" linebreak="space" linespacing="0.0" name="Maple Plot" rightmargin="0.0" spaceabove="0.0" spacebelow="0.0"/><Layout alignment="centred" firstindent="0.0" leftmargin="0.0" linebreak="newline" linespacing="0.0" name="Fixed Width" rightmargin="0.0" spaceabove="0.0" spacebelow="0.0"/><Layout alignment="left" firstindent="0.0" leftmargin="0.0" linebreak="any" linespacing="0.0" name="Text Output" rightmargin="0.0" spaceabove="0.0" spacebelow="0.0"/><Layout alignment="left" bullet="indent" firstindent="0.0" leftmargin="0.0" linebreak="space" linespacing="0.0" name="List Item" rightmargin="0.0" spaceabove="3.0" spacebelow="3.0"/><Layout alignment="left" firstindent="0.0" leftmargin="0.0" linebreak="space" linespacing="0.0" name="Normal" rightmargin="0.0" spaceabove="0.0" spacebelow="0.0"/><Font background="[0,0,0]" bold="true" executable="false" family="Times New Roman" foreground="[128,0,0]" italic="false" name="Heading 2" readonly="false" size="14" underline="false"/><Font background="[0,0,0]" bold="true" executable="false" family="Times New Roman" foreground="[0,0,128]" italic="false" name="Heading 1" readonly="false" size="18" underline="false"/><Font background="[0,0,0]" family="Times New Roman" name="2D Comment" underline="false"/><Font background="[0,0,0]" family="Times New Roman" italic="true" name="Help Italic" size="12"/><Font background="[0,0,0]" family="Times New Roman" name="Page Number" underline="false"/><Font background="[0,0,0]" bold="true" executable="true" family="Monospaced" foreground="[255,0,0]" name="Maple Input"/><Font background="[0,0,0]" bold="false" executable="false" family="Monospaced" foreground="[0,0,0]" italic="false" name="Fixed Width" readonly="false" size="10" underline="false"/><Font background="[0,0,0]" bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" name="Maple Plot" readonly="false" size="12" underline="false"/><Font background="[0,0,0]" bold="true" family="Times New Roman" foreground="[0,0,255]" name="Blue Emphasis"/><Font background="[0,0,0]" foreground="[0,128,128]" italic="false" name="Hyperlink" underline="true"/><Font background="[0,0,0]" name="_cstyle299" size="12"/><Font background="[0,0,0]" bold="true" name="_cstyle298"/><Font background="[0,0,0]" bold="true" name="_cstyle297"/><Font background="[0,0,0]" bold="true" name="_cstyle296"/><Font background="[0,0,0]" bold="true" family="Times New Roman" foreground="[102,0,230]" name="Purple Emphasis" size="12"/><Font background="[0,0,0]" bold="true" name="_cstyle294"/><Font background="[0,0,0]" bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" name="Bullet Item" readonly="false" size="12" underline="false"/><Font background="[0,0,0]" bold="true" name="_cstyle292"/><Font background="[0,0,0]" bold="true" name="_cstyle291"/><Font background="[0,0,0]" italic="true" name="_cstyle290"/><Font background="[0,0,0]" bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" name="List Item" readonly="false" size="12" underline="false"/><Font background="[0,0,0]" bold="true" foreground="[0,0,0]" name="_cstyle37"/><Font background="[0,0,0]" bold="true" foreground="[104,64,92]" name="_cstyle35"/><Font background="[0,0,0]" italic="true" name="_cstyle289"/><Font background="[0,0,0]" italic="true" name="_cstyle288"/><Font background="[0,0,0]" italic="true" name="_cstyle287"/><Font background="[0,0,0]" italic="true" name="_cstyle286"/><Font background="[0,0,0]" italic="true" name="_cstyle285"/><Font background="[0,0,0]" italic="true" name="_cstyle284"/><Font background="[0,0,0]" italic="true" name="_cstyle283"/><Font background="[0,0,0]" bold="true" family="Times New Roman" italic="true" name="Help Italic Bold" size="12"/><Font background="[0,0,0]" italic="true" name="_cstyle282"/><Font background="[0,0,0]" italic="true" name="_cstyle281"/><Font background="[0,0,0]" italic="true" name="_cstyle280"/><Font background="[0,0,0]" family="Times New Roman" foreground="[0,0,255]" name="2D Output" underline="false"/><Font background="[0,0,0]" bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" name="Maple Output" readonly="false" size="12" underline="false"/><Font background="[0,0,0]" name="_cstyle311"/><Font background="[0,0,0]" name="_cstyle310"/><Font background="[0,0,0]" italic="true" name="_cstyle279"/><Font background="[0,0,0]" family="Monospaced" name="_cstyle23" size="10"/><Font background="[0,0,0]" italic="true" name="_cstyle278"/><Font background="[0,0,0]" bold="false" italic="true" name="_cstyle22"/><Font background="[0,0,0]" italic="true" name="_cstyle277"/><Font background="[0,0,0]" italic="true" name="_cstyle276"/><Font background="[0,0,0]" italic="true" name="_cstyle275"/><Font background="[0,0,0]" italic="true" name="_cstyle274"/><Font background="[0,0,0]" italic="true" name="_cstyle273"/><Font background="[0,0,0]" italic="true" name="_cstyle272"/><Font background="[0,0,0]" italic="true" name="_cstyle271"/><Font background="[0,0,0]" italic="true" name="_cstyle270"/><Font background="[0,0,0]" bold="false" executable="false" family="Monospaced" foreground="[0,0,255]" italic="false" name="Text Output" readonly="true" size="10" underline="false"/><Font background="[0,0,0]" bold="true" family="Times New Roman" foreground="[0,128,0]" name="Green Emphasis" size="12"/><Font background="[0,0,0]" name="_cstyle309"/><Font background="[0,0,0]" name="_cstyle307"/><Font background="[0,0,0]" bold="true" name="_cstyle306"/><Font background="[0,0,0]" bold="true" name="_cstyle305"/><Font background="[0,0,0]" name="_cstyle304" size="12"/><Font background="[0,0,0]" bold="true" family="Times New Roman" foreground="[96,52,84]" name="Grey Emphasis" size="12"/><Font background="[0,0,0]" name="_cstyle303" size="12"/><Font background="[0,0,0]" name="_cstyle302" size="12"/><Font background="[0,0,0]" name="_cstyle301" size="12"/><Font background="[0,0,0]" name="_cstyle300" size="12"/><Font background="[0,0,0]" italic="true" name="_cstyle269"/><Font background="[0,0,0]" italic="true" name="_cstyle268"/><Font background="[0,0,0]" bold="true" family="Times New Roman" foreground="[128,0,0]" name="_cstyle267" size="12" underline="true"/><Font background="[0,0,0]" bold="true" family="Times New Roman" foreground="[128,0,128]" name="_cstyle266" size="12" underline="true"/><Font background="[0,0,0]" italic="true" name="_cstyle265"/><Font background="[0,0,0]" italic="true" name="_cstyle264"/><Font background="[0,0,0]" family="Monospaced" foreground="[0,0,255]" name="Warning" readonly="true" size="10"/><Font background="[0,0,0]" bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" name="Normal258" readonly="false" size="12" underline="false"/><Font background="[0,0,0]" bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" name="Normal" readonly="false" size="12" underline="false"/><Font background="[0,0,0]" bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" name="Normal257" readonly="false" size="12" underline="false"/><Font background="[0,0,0]" bold="true" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" name="Normal256" readonly="false" size="12" underline="false"/><Font background="[0,0,0]" bold="true" family="Times New Roman" foreground="[255,0,0]" name="_cstyle261" size="12" underline="true"/></Styles><Page-Numbers enabled="false" first-number="1" first-numbered-page="1" horizontal-location="right" style="Page Number" vertical-location="bottom"/><Text-field layout="Heading 1" style="Heading 1">Adaptive Runge-Kutta methods</Text-field><Text-field layout="Normal" style="Normal">by Peter Stone, Dept. of Applied and Environmental Sciences, RMIT</Text-field><Text-field layout="Normal" style="Normal">peter.stone@rmit.edu.au . . or . . peterstone@optusnet.com.au</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">Version:  10.12.2003</Text-field><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">restart;</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">;</Font></Text-field></Input></Group><Section><Title><Text-field layout="Heading 2" style="Heading 2">load <Font executable="false" italic="false" size="14" style="Maple Input" underline="false">desolve</Font></Text-field></Title><Text-field layout="Normal" style="Normal">RMIT file path to read Maple m-file of differential equation solving procedures with the interface <Font executable="false" italic="false" size="12" style="Maple Input" underline="false">desolve</Font>. </Text-field><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">read "J:\\Class_Notes/Peter Stone/MapleMath/procdrs/DEsol.m";</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">;</Font></Text-field></Input></Group><Text-field layout="Normal" style="Normal">Another file path. </Text-field><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">read "D:\\Maple 9/extensions/DEsol.m";</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">;</Font></Text-field></Input></Group></Section><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">;</Font></Text-field></Input></Group><Section collapsed="true"><Title><Text-field layout="Heading 2" style="Heading 2">load root-finding procedures</Text-field></Title><Text-field layout="Normal" style="Normal">RMIT file path to read Maple m-file of procedures for numerical root-finding</Text-field><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">read "J:\\Class_Notes/Peter Stone/MapleMath/procdrs/roots.m";</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">;</Font></Text-field></Input></Group><Text-field layout="Normal" style="Normal">Another file path. </Text-field><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">read "D:\\MapleMath/procdrs/roots.m";</Font></Text-field></Input></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">;</Font></Text-field></Input></Group></Section><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">;</Font></Text-field></Input></Group><Section><Title><Text-field layout="Heading 2" style="Heading 2">Adaptive step-size control for Runge-Kutta</Text-field></Title><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">;</Font></Text-field></Input></Group><Text-field layout="Normal" style="Normal">The Maple procedure <Font executable="false" italic="false" size="12" style="Maple Input" underline="false">desolveRK</Font> given in this worksheet uses a combined 4th and 5th order Runge-Kutta method, with adaptive step-size control, to provide a numerical solution for a differential equation of the form <Equation input-equation="dy/dx = f(x,y);" style="2D Comment">NiMvKiYlI2R5RyIiIiUjZHhHISIiLSUiZkc2JCUieEclInlH</Equation>.</Text-field><Text-field layout="Normal" style="Normal">The difference between the 4th and 5th order values gives an estimate for the error of the 4th order value.</Text-field><Text-field layout="Normal" style="Normal">Since the error in the 4th order value is proportional to <Equation input-equation="h^5;" style="2D Comment">NiMqJCUiaEciIiY=</Equation>, we have the relation</Text-field><Text-field layout="Normal257" style="Normal257">   <Equation input-equation="h[0]/h[1] = (epsilon[0]/epsilon[1])^(1/5);" style="2D Comment">NiMvKiYmJSJoRzYjIiIhIiIiJkYmNiNGKSEiIikqJiYlKGVwc2lsb25HRidGKSZGMEYrRiwqJkYpRikiIiZGLA==</Equation></Text-field><Text-field layout="Normal" style="Normal">between step sizes <Equation input-equation="h[0];" style="2D Comment">NiMmJSJoRzYjIiIh</Equation> and <Equation input-equation="h[1];" style="2D Comment">NiMmJSJoRzYjIiIi</Equation>, and the corresponding errors <Equation input-equation="epsilon[0];" style="2D Comment">NiMmJShlcHNpbG9uRzYjIiIh</Equation> and <Equation input-equation="epsilon[1];" style="2D Comment">NiMmJShlcHNpbG9uRzYjIiIi</Equation>.</Text-field><Text-field layout="Normal" style="Normal">This relation can be used to decrease the step-size, if the error is too large and repeat the failed step, or increase the step-size for the next step, if the error is small enough for the current step to suggest that this should be possible.</Text-field><Text-field layout="Normal" style="Normal">The actual value given is the 5th order value, even though the error control really applies to the 4th order value. (Sneaky or what!)</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">A combined 7th and 8th order Runge-Kutta method is also available. The error in the 7th order method is estimated by an 8th order method, and the step-size is controlled using the relation  </Text-field><Text-field layout="Normal257" style="Normal257"> <Equation input-equation="h[0]/h[1] = (epsilon[0]/epsilon[1])^(1/8)" style="2D Comment">NiMvKiYmJSJoRzYjIiIhIiIiJkYmNiNGKSEiIikqJiYlKGVwc2lsb25HRidGKSZGMEYrRiwqJkYpRikiIilGLA==</Equation> </Text-field><Text-field layout="Normal" style="Normal">between step sizes <Equation input-equation="h[0];" style="2D Comment">NiMmJSJoRzYjIiIh</Equation> and <Equation input-equation="h[1];" style="2D Comment">NiMmJSJoRzYjIiIi</Equation>, and the corresponding errors <Equation input-equation="epsilon[0];" style="2D Comment">NiMmJShlcHNpbG9uRzYjIiIh</Equation> and <Equation input-equation="epsilon[1];" style="2D Comment">NiMmJShlcHNpbG9uRzYjIiIi</Equation>.</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">For more details of the method see: "Numerical Recipes in C ", Cambridge University Press, pp 714 -722.</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">The procedure below uses constants from: "Numerical Methods for Differential Equations", by John R. Dormand, CRC Press, pages  84 &amp; 110.</Text-field><Text-field layout="Normal" style="Normal"/></Section><Section collapsed="true"><Title><Text-field layout="Heading 2" style="Heading 2">A utility routine for comparing values: <Font executable="false" italic="false" size="14" style="Maple Input" underline="false">comparewithfcn</Font></Text-field></Title><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">This utility routine is required by examples in a later section.</Text-field><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">;</Font></Text-field></Input></Group><Section collapsed="true"><Title><Text-field layout="Heading 2" style="Heading 2">comparewithfcn: usage</Text-field></Title><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal"><Font executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" size="12" style="_cstyle305" underline="false">Calling Sequence:</Font>
</Text-field><Text-field layout="Normal" style="Normal"><Font executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" size="12" style="_cstyle306" underline="false">  </Font>   comparewithfcn( pts, f ,options )</Text-field><Text-field layout="Normal" style="Normal">     comparewithfcn( pts, fx, x , options ) 
</Text-field><Text-field layout="Normal256" style="Normal256">Parameters:</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal"><Font bold="false" executable="false" foreground="[0,0,0]" italic="false" style="_cstyle23" underline="false">   pts   -       </Font><Font bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" size="12" style="_cstyle309" underline="false">a list of points  </Font><Equation input-equation="[[x[1], y[1]], [x[2], y[2]] .. [x[n], y[n]]];" style="2D Comment">NiM3JDckJiUieEc2IyIiIiYlInlHRic7NyQmRiY2IyIiIyZGKkYuNyQmRiY2IyUibkcmRipGMw==</Equation><Font bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" size="12" style="_cstyle310" underline="false">.</Font></Text-field><Text-field layout="Normal" style="Normal">     </Text-field><Text-field layout="Normal" style="Normal"><Font bold="false" executable="false" foreground="[0,0,0]" italic="false" style="_cstyle23" underline="false">   f or fx   - </Font>    a function of one variable or an expression fx defining a function of one variable.</Text-field><Text-field layout="Normal" style="Normal">      </Text-field><Text-field layout="Normal" style="Normal"><Font bold="false" executable="false" foreground="[0,0,0]" italic="false" style="_cstyle23" underline="false">   x     -       </Font><Font bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" size="12" style="_cstyle307" underline="false">the independent variable is required when the 2nd argument is an </Font>expression<Font bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" size="12" style="_cstyle311" underline="false"> fx.</Font></Text-field><Text-field layout="Normal" style="Normal"><Font bold="false" executable="false" foreground="[0,0,0]" italic="false" style="_cstyle23" underline="false">   </Font></Text-field><Text-field layout="Normal256" style="Normal256">Description:</Text-field><Text-field layout="Normal" style="Normal">The procedure <Font executable="false" italic="false" size="12" style="Maple Input" underline="false">comparewithfcn</Font> tabulates the list of points vertically as the first two columns of a matrix.</Text-field><Text-field layout="Normal" style="Normal">The values of the 2nd components are compared with the values obtained by applying the given function to the corresponding 1st components, and listing these "exact values" in the 3rd column of the matrix. The absolute or relative error is given in the 4th column.</Text-field><Text-field layout="Normal" style="Normal">Alternatively, the same information can be printed out line by line.</Text-field><Text-field layout="Normal" style="Normal">The maximum of the absolute or relative errors is given. When the absolute error is tabulated, the mean absolute error is given.</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal256" style="Normal256">Options:</Text-field><Text-field layout="Normal" style="Normal">mode=linebyline/matrix</Text-field><Text-field layout="Normal" style="Normal">With the option "mode=linebyline" the information is printed out line by line. This is the default option.</Text-field><Text-field layout="Normal" style="Normal">With the option "mode=matrix" the tabulated information is given in a matrix as a return value of the procedure.</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">errtype=relative/absolute</Text-field><Text-field layout="Normal" style="Normal">This option determines whether the absolute or relative error is given. The default is "errtype=relative" in which case the relative error is tabulated.</Text-field><Text-field layout="Normal" style="Normal">"errtype=RELATIVE" and "errtype=REL" are equivalent to "errtype=relative"</Text-field><Text-field layout="Normal" style="Normal">"errtype=ABSOLUTE"  and "errtype=ABS" are equivalent to "errtype=absolute".</Text-field><Text-field layout="Normal" style="Normal">"errtype" can also be typed as "errortype".</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal"><Font executable="false" italic="false" style="Purple Emphasis" underline="false">Note</Font>: If the true value of the function is zero, the relative error is infinite. </Text-field><Text-field layout="Normal" style="Normal">The maximum relative error is computed for the remaining relative errors, ignoring any infinite relative errors. </Text-field><Text-field layout="Normal" style="Normal"/></Section><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal"><Font executable="false" italic="false" style="Purple Emphasis" underline="false">How to activate:</Font>
To make the procedure active open the subsection, place the cursor anywhere after the prompt [ &gt;  and press [Enter].
You can then close up the subsection.</Text-field><Section collapsed="true"><Title><Text-field layout="Heading 2" style="Heading 2">comparewithfcn: implementation</Text-field></Title><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field bookmark="comparewithfcn" layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">comparewithfcn:=
proc(pts,f)
   local xx,y1,y2,r,i,j,n,rows,fn,x,prec,prcsn,saveDigits,
   startoptions,Options,md,t,maxerr,format1,format2,g,e,zero,
   proctype,ertyp,xmax,prec1,prec2,vars,averr;

   proctype := false;
   if nargs&lt;2 then
      error "invalid arguments; the basic syntax is 'comparewithfcn([[x1,y1],..,[xn,yn]],f(x),x)' or 'comparewithfcn([[x1,y1],..,[xn,yn]],f)'"
   end if;
   if not type(pts,listlist) then
      error "the 1st argument, %1, is invalid .. it should be a list of points",pts;
   end if;
   if nargs&gt;2 and not type(args[3],equation) then
      x := args[3];
      if not type(x,name) then
         error "the 3rd optional argument must be the name of the independent variable"
      end if;
      startoptions := 4;
      vars := indets(f,name) minus indets(f,realcons);
      if vars&lt;&gt;{x} then 
         if not type(f,algebraic) or not has(indets(f),{Int,Sum}) then
            error "the 2nd argument, %1, is invalid .. it should be an expression which depends only on the single variable %2",f,x;
         end if;
      end if;
   else
      if type(f,procedure) or (type(f,`@`) and type({op(f)},set(procedure))) then
         proctype := true;
         startoptions := 3;
      else
         error "the 2nd argument, %1, is invalid .. it should be a function of one variable or an expression in the one variable given as a 3rd argument",f;
      end if;
   end if;   

   # Get the options.
   md := 0;
   ertyp := 1;
   if nargs&gt;=startoptions then
      Options :=[args[startoptions..nargs]];
      if not type(Options,list(equation)) then
         error "each optional argument must be an equation"
      end if;
      if hasoption(Options,'mode','md','Options') then
         if not (md='linebyline' or md='matrix') then
            error "\"mode\" must be 'matrix' or 'linebyline'"
         end if;
         if md='linebyline' then md := 0 else md := 1 end if;
      end if;
      if hasoption(Options,'errtype','ertyp','Options') or 
         hasoption(Options,'errortype','ertyp','Options') then
         if not member(ertyp,{'absolute','ABSOLUTE','ABS','relative','RELATIVE','REL'}) then
            error "\"errtype\" option must be 'absolute' &lt;-&gt; 'ABSOLUTE' &lt;-&gt; 'ABS' or 'relative' &lt;-&gt; 'RELATIVE' &lt;-&gt; 'REL'"
         end if;
         if member(ertyp,{'absolute','ABSOLUTE','ABS'})
         then ertyp := 0 else ertyp := 1 end if;
      end if;
      if nops(Options)&gt;0 then
         error "%1 is not a valid option for %2",op(1,Options), procname;
      end if;
   end if;
   n := nops(pts);
   prcsn := 0;

   # Check the data and find its maximum precision.
   for i to n do
      if nops(pts[i])&lt;&gt;2 then
         error "the 1st argument must be a list of points, where each point is itself a list with two members"
      end if;
      t := pts[i,1];
      if type(t,float) and type(t,numeric) then
         prec1 := length(convert(op(1,t),string));
      elif type(t,realcons) then
         prec1 := Digits;
      else
         error "the 1st argument must be a list of points, where each point is itself a list of two real numbers"
      end if;
      t := pts[i,2];
      if type(t,float) and type(t,numeric) then
         prec2 := length(convert(op(1,t),string));
      elif type(t,realcons) then
         prec2 := Digits;
      else
         error "the 1st argument must be a list of points, where each point is itself a list of two real numbers"
      end if;
      prec := max(prec1,prec2);
      if prec&gt;prcsn then prcsn := prec end if;
   end do;
   saveDigits := Digits;
   Digits := prcsn;
   prec := trunc(prcsn/2);
   
   if proctype then
      fn := f;
   else
      fn := unapply(evalf(f),x);
   end if;
   rows := NULL;
   maxerr := 0;
   averr := 0;
   zero := false;
   format1 := cat("%",convert(prcsn+3,string),".",convert(prcsn-1,string),g);
      format2 := cat("%",convert(prec+3,string),".",convert(prec-1,string),e);

   for i from 1 to n do
      xx := evalf(pts[i,1]);
      y1 := evalf(pts[i,2]);
      y2 := traperror(evalf(fn(xx)));
      if y2=lasterror or not type(y2,numeric) then
         error "function failed to evaluate to a real floating point number at %1",xx;
      end if;
      
      if ertyp=0 then
         r := evalf(abs(y1-y2));
         averr := averr+r;
         if r&gt;maxerr then
            maxerr := r;
            xmax := xx;
         end if;
      else
         if y2&lt;&gt;0 then
            r := evalf(abs(y1-y2)/abs(y2));
            if r&gt;maxerr then
               maxerr := r;
               xmax := xx;
            end if;
         else
            zero := true;
            r := infinity;
         end if;
      end if;

      if md=0 then
         printf(format1,xx);
         printf(` `);
         printf(format1,y1);
         printf(`   function val: `);
         printf(format1,y2);
         if ertyp=0 then
            printf(`     abs err: `);
            printf(format2,r);
         else
            printf(`     rel err: `);
            if y2&lt;&gt;0 then
               printf(format2,r)
            else
               printf(infinity);
            end if;
         end if;
         printf(`\n`);
      else
         rows := rows,[xx,y1,y2,r];
      end if;
   end do;
   
   print(``);
   if ertyp=0 then
      printf(`              Maximum absolute error: `);
   else
      printf(`              Maximum relative error: `);      
   end if;
   printf(format2,maxerr);

   if maxerr&lt;&gt;0 then
      printf(`\n              obtained for the input value: `);
      printf(format1,xmax);
   end if;
   
   if ertyp=1 and zero then
      printf(`\n              excluding any cases where the function value is zero.`);
   end if;

   if ertyp=0 then
      averr := averr/n;
      print(``);
      printf(`              Mean absolute error: `);
      printf(format2,averr);    
   end if;

   Digits := saveDigits;
   if md=1 then
      print(``);
      if ertyp=0 then
         return array([[x,"discrete value","function value","absolute err"],rows]);
      else
         return array([[x,"discrete value","function value","relative err"],rows]);
      end if;
   else
      return NULL;
   end if;
end proc:</Font></Text-field></Input></Group><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">;</Font></Text-field></Input></Group></Section><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">Examples appear in a later section</Text-field><Text-field layout="Normal" style="Normal"/></Section><Section><Title><Text-field layout="Heading 2" style="Heading 2">A procedure implementing Runge-Kutta methods: <Font executable="false" italic="false" size="14" style="Maple Input" underline="false">desolveRK</Font></Text-field></Title><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">;</Font></Text-field></Input></Group><Section collapsed="true"><Title><Text-field layout="Heading 2" style="Heading 2">desolveRK: usage</Text-field></Title><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal"><Font executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" size="12" style="_cstyle291" underline="false">Calling Sequence:</Font>
</Text-field><Text-field layout="Normal" style="Normal"><Font executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" size="12" style="_cstyle292" underline="false">  </Font>   desolveRK( {de,ic}, rng )
     desolveRK( {de,ic}, y(x), rng )</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal256" style="Normal256">Parameters:</Text-field><Text-field layout="Normal" style="Normal">    </Text-field><Text-field layout="Normal" style="Normal"><Font bold="false" executable="false" foreground="[0,0,0]" italic="false" style="_cstyle23" underline="false">   de   - </Font>     a first order differential equation with the derivative given in the form diff(y(x),x),</Text-field><Text-field layout="Normal" style="Normal">                        (if x and y are the independent and dependent variables respectively).</Text-field><Text-field layout="Normal" style="Normal"><Font bold="false" executable="false" foreground="[0,0,0]" italic="false" style="_cstyle23" underline="false">   ic   - </Font>     an initial condition in the form y(x0) = y0. </Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">       <Font bold="false" executable="false" foreground="[0,0,0]" italic="false" style="_cstyle23" underline="false">rng   - </Font>  a range of values x=a..b containing the initial value x0 of the independent variable.     </Text-field><Text-field layout="Normal" style="Normal">         </Text-field><Text-field layout="Normal256" style="Normal256">Description:</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">The procedure <Font executable="false" italic="false" size="12" style="Maple Input" underline="false">desolveRK</Font> uses a prescribed Runge-Kutta method to find a numerical solution to a first order differential equation of the form  <Equation input-equation="dy/dx = f(x,y);" style="2D Comment">NiMvKiYlI2R5RyIiIiUjZHhHISIiLSUiZkc2JCUieEclInlH</Equation>.</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">The numerical solution is given as a list of <Font executable="false" italic="false" style="Purple Emphasis" underline="false">points</Font> along the solution curve with <Font executable="false" italic="false" style="Purple Emphasis" underline="false">equally spaced</Font> values of the first coordinate.</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal"><Font executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" size="12" style="_cstyle294" underline="false">Options:</Font>
</Text-field><Text-field layout="Normal" style="Normal">The numerical solution can be given in two ways:</Text-field><Text-field layout="Bullet Item" style="Bullet Item">As a list of <Font executable="false" italic="false" style="Purple Emphasis" underline="false">points</Font> along the solution curve.</Text-field><Text-field layout="Bullet Item" style="Bullet Item">As a <Font executable="false" italic="false" style="Purple Emphasis" underline="false">numerical procedure</Font> of a real variable, defined throughout the specified range, which uses an appropriate method to interpolate between pre-computed points along the solution curve.</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">In both cases there is a choice of using a fixed or variable step-size. In the case of variable step-size a method of adaptive step-size is used in an attempt to control the error.</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal"><Font executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" size="12" style="_cstyle296" underline="false">Options for both fixed and variable step-size:</Font>

stepsize=fixed/variable</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">With the option "stepsize=fixed", equally spaced x values are used in construction of the numerical solution.</Text-field><Text-field layout="Normal" style="Normal">With the option  "stepsize=variable", the stepsize is controlled by estmating the error at each step.</Text-field><Text-field layout="Normal" style="Normal">The default option is "stepsize=variable".</Text-field><Text-field layout="Normal" style="Normal"><Font executable="false" italic="false" style="Purple Emphasis" underline="false">Note</Font>: The stepsize option can be omitted when the method is specified. 
</Text-field><Text-field layout="Normal" style="Normal">output=points/discrete/rkstep/rkinterp/continuous/procedure</Text-field><Text-field layout="Bullet Item" style="Bullet Item">With the options "output=points" or "output=discrete" <Font executable="false" italic="false" size="12" style="Maple Input" underline="false">desolveRK</Font> returns the numerical solution of the differential equation as a <Font executable="false" italic="false" style="Purple Emphasis" underline="false">discrete set of points</Font> along the approximate solution curve.</Text-field><Text-field layout="Bullet Item" style="Bullet Item">With the option "output=continuous" , "output=procedure" , "output=rkstep" or "output=rkinterp"  <Font executable="false" italic="false" size="12" style="Maple Input" underline="false">desolveRK</Font> returns the numerical solution of the differential equation as a <Font executable="false" italic="false" style="Purple Emphasis" underline="false">numerical procedure</Font>.
With the option "output=rkstep", the numerical function requires a number of evaluations of the direction field for each new function value calculated.
With the option "output=rkinterp", the numerical function uses extensive pre-computed data to interpolate between the points of the discrete solution instead of using the direction field. <Font italic="false" style="Purple Emphasis" underline="false">
Note</Font>: "output=continuous" , "output=procedure" are equivalent to "output=rkstep" and the option  "output=rkinterp" is only available for variable step-size when the combined 4th and 5th Runge-Kutta method is used via the option "method=rk45".</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">info=true/false
The option info=true allows the progress of the procedure to be monitored by printing the result of each step as it is computed. </Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal"><Font executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" size="12" style="_cstyle297" underline="false">Options for fixed step-size only:</Font></Text-field><Text-field layout="Normal" style="Normal">
method=euler/impeuler/rk2,rk3,rk4,rk5,rk6,rk7,rk8</Text-field><Text-field layout="Normal" style="Normal"><Font executable="false" italic="false" style="Green Emphasis" underline="false">METHODS USED</Font>:</Text-field><Text-field layout="Bullet Item" style="Bullet Item">method=euler, the Euler method</Text-field><Text-field layout="Bullet Item" style="Bullet Item">method=impeuler, the improved Euler method</Text-field><Text-field layout="Bullet Item" style="Bullet Item">method=rk2, the "classical" mid-point order 2 method</Text-field><Text-field layout="Bullet Item" style="Bullet Item">method=rk3, the "classical" order 3 method</Text-field><Text-field layout="Bullet Item" style="Bullet Item">method=rk4, the "classical" order 4 method</Text-field><Text-field layout="Bullet Item" style="Bullet Item">method=rk5, the Fehlberg order 5 method</Text-field><Text-field layout="Bullet Item" style="Bullet Item">method=rk6, a Prince-Dormand order 6 method</Text-field><Text-field layout="Bullet Item" style="Bullet Item">method=rk7, a Butcher order 7 method</Text-field><Text-field layout="Bullet Item" style="Bullet Item">method=rk8, a Butcher order 8 method</Text-field><Text-field layout="Normal" style="Normal">The default is "method=euler".</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">alpha=<Equation input-equation="alpha;" style="2D Comment">NiMlJmFscGhhRw==</Equation> </Text-field><Text-field layout="Normal" style="Normal">If this option is used, it overrides the method option to provide a<Font executable="false" italic="false" size="12" style="Blue Emphasis" underline="false"> </Font><Font executable="false" italic="false" style="Purple Emphasis" underline="false">custom order 2 Runge-Kutta method</Font>.</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">The formula used has form:</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal257" style="Normal257">  <Equation input-equation="f[1] = f(x[k],y[k]);" style="2D Comment">NiMvJiUiZkc2IyIiIi1GJTYkJiUieEc2IyUia0cmJSJ5R0Ys</Equation>    </Text-field><Text-field layout="Normal257" style="Normal257">   <Equation input-equation="f[2] = f(x[k]+alpha*h,y[k]+beta*f[1]*h);" style="2D Comment">NiMvJiUiZkc2IyIiIy1GJTYkLCYmJSJ4RzYjJSJrRyIiIiomJSZhbHBoYUdGLyUiaEdGL0YvLCYmJSJ5R0YtRi8qKCUlYmV0YUdGLyZGJTYjRi9GL0YyRi9GLw==</Equation></Text-field><Text-field layout="Normal257" style="Normal257">    <Equation input-equation="y[k+1] = y[k]+s*f[1]+t*f[2];" style="2D Comment">NiMvJiUieUc2IywmJSJrRyIiIkYpRiksKCZGJTYjRihGKSomJSJzR0YpJiUiZkc2I0YpRilGKSomJSJ0R0YpJkYwNiMiIiNGKUYp</Equation> </Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">When a numerical value <Equation input-equation="alpha;" style="2D Comment">NiMlJmFscGhhRw==</Equation> is chosen for alpha, where <Equation input-equation="0 &lt; alpha;" style="2D Comment">NiMyIiIhJSZhbHBoYUc=</Equation> and <Equation input-equation="alpha &lt;= 1;" style="2D Comment">NiMxJSZhbHBoYUciIiI=</Equation>, s and t are calculated from the relations: </Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal257" style="Normal257">  <Equation input-equation="s+t = 1;" style="2D Comment">NiMvLCYlInNHIiIiJSJ0R0YmRiY=</Equation>,</Text-field><Text-field layout="Normal257" style="Normal257">and <Equation input-equation="alpha;" style="2D Comment">NiMlJmFscGhhRw==</Equation> = <Equation input-equation="beta = 1/(2*t);" style="2D Comment">NiMvJSViZXRhRyomIiIiRiYqJiIiI0YmJSJ0R0YmISIi</Equation>.</Text-field><Text-field layout="Normal" style="Normal">This means that the second function evaluation used by the method occurs at a fraction <Equation input-equation="alpha;" style="2D Comment">NiMlJmFscGhhRw==</Equation> of the distance across the step.</Text-field><Text-field layout="Normal" style="Normal">For example, "alpha=0.5" is equivalent to choosing "method=rk2" and "alpha=1" is equivalent to choosing "method=impeuler".</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="_cstyle298"><Font executable="false" family="Times New Roman" foreground="[0,0,0]" italic="false" size="12" underline="false">Options for variable step-size only:</Font></Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">method=rk45/rk78</Text-field><Text-field layout="Normal" style="Normal">This option gives a choice between either an adaptive combined 4th and 5th order Runge-Kutta method via "method=rk45", or an adaptive combined 7th and 8th order Runge-Kutta method via "method=rk78". </Text-field><Text-field layout="Normal" style="Normal">The default option is "method=rk45".</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">hstart=h</Text-field><Text-field layout="Normal" style="Normal">The step-size for the first trial step.  The default is "hstart=0.1*<Equation input-equation="10^ceil(-Digits/10);" style="2D Comment">NiMpIiM1LSUlY2VpbEc2IywkKiYlJ0RpZ2l0c0ciIiJGJCEiIkYs</Equation>".</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">hmax=h</Text-field><Text-field layout="Normal" style="Normal">The maximum step-size. </Text-field><Text-field layout="Normal" style="Normal">The default is "hmax=0.25" when method=rk45, and "hmax=0.5" when method=rk78.</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">hmin=h
The minimum step-size. The default is  "hmin=min(0.5*<Equation input-equation="10^(-5);" style="2D Comment">NiMpIiM1LCQiIiYhIiI=</Equation>, <Equation input-equation="hstart/2000;" style="2D Comment">NiMqJiUnaHN0YXJ0RyIiIiIlKz8hIiI=</Equation>)".</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal"><Font executable="false" italic="false" style="Purple Emphasis" underline="false">Note</Font>: hstart must lie between hmin and hmax.</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">maxsteps=n</Text-field><Text-field layout="Normal" style="Normal">The maximum number of steps to be used. An error message results if the maximum number of steps is reached before reaching the end of the solution interval. The default is "maxsteps=2000".</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">tolerance=<Equation input-equation="epsilon" style="2D Comment">NiMlKGVwc2lsb25H</Equation> </Text-field><Text-field layout="Normal" style="Normal">When the error control option is set to "relativeerror", the step size is chosen adaptively to try to ensure that the relative error for each step is no greater than <Equation input-equation="epsilon;" style="2D Comment">NiMlKGVwc2lsb25H</Equation>. Other error control options use <Equation input-equation="epsilon;" style="2D Comment">NiMlKGVwc2lsb25H</Equation> in an appropriate way. See "errorcontrol" for more information. The default is "tolerance=10^(-Digits)".
</Text-field><Text-field layout="Normal" style="Normal">errorcontrol=auto/absolute/relative/accumulative</Text-field><Text-field layout="Normal" style="Normal">For the current setting of tolerance=<Equation input-equation="epsilon" style="2D Comment">NiMlKGVwc2lsb25H</Equation>, the step size is chosen to try to ensure that when "errorcontrol"  is:</Text-field><Text-field layout="Bullet Item" style="Bullet Item">auto  -     <Equation input-equation="abs(y-y[k]) &lt;= epsilon*max(abs(y[k]),abs(f(x[k],y[k])*h),tiny);" style="2D Comment">NiMxLSUkYWJzRzYjLCYlInlHIiIiJkYoNiMlImtHISIiKiYlKGVwc2lsb25HRiktJSRtYXhHNiUtRiU2I0YqLUYlNiMqJi0lImZHNiQmJSJ4R0YrRipGKSUiaEdGKSUldGlueUdGKQ==</Equation>  
</Text-field><Text-field layout="Bullet Item" style="Bullet Item">absolute  -     <Equation input-equation="abs(y-y[k]) &lt;= epsilon*abs(max(y[max],tiny));" style="2D Comment">NiMxLSUkYWJzRzYjLCYlInlHIiIiJkYoNiMlImtHISIiKiYlKGVwc2lsb25HRiktRiU2Iy0lJG1heEc2JCZGKDYjRjMlJXRpbnlHRik=</Equation> , where <Equation input-equation="y[max];" style="2D Comment">NiMmJSJ5RzYjJSRtYXhH</Equation> is updated as the computation progresses, with an initial estimate provided by the option "maxvalue".
This error control option would be an appropriate choice if the solution is oscillatory in nature.
</Text-field><Text-field layout="Bullet Item" style="Bullet Item">relative  -      <Equation input-equation="abs(y-y[k]) &lt;= epsilon*max(abs(y[k]),tiny);" style="2D Comment">NiMxLSUkYWJzRzYjLCYlInlHIiIiJkYoNiMlImtHISIiKiYlKGVwc2lsb25HRiktJSRtYXhHNiQtRiU2I0YqJSV0aW55R0Yp</Equation> 
This is a general purpose choice except that problems would arise if y is close to 0. If this is likely to happen it would be better to use the default option "auto".
</Text-field><Text-field layout="Bullet Item" style="Bullet Item">accumulative  -     <Equation input-equation="abs(y-y[k]) &lt;= epsilon*max(abs(f(x[k],y[k])*h),tiny);" style="2D Comment">NiMxLSUkYWJzRzYjLCYlInlHIiIiJkYoNiMlImtHISIiKiYlKGVwc2lsb25HRiktJSRtYXhHNiQtRiU2IyomLSUiZkc2JCYlInhHRitGKkYpJSJoR0YpJSV0aW55R0Yp</Equation>  </Text-field><Text-field layout="Bullet Item" style="Bullet Item">This is the most stringent error control option, which attempts to control the global error.</Text-field><Text-field layout="Normal" style="Normal">"tiny" is <Equation input-equation="10^(-3*Digits);" style="2D Comment">NiMpIiM1LCQqJiIiJCIiIiUnRGlnaXRzR0YoISIi</Equation>, and is included to avoid the possibility of division by 0.</Text-field><Text-field layout="Normal" style="Normal">The default is "errorcontrol=auto".</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">maxvalue=a</Text-field><Text-field layout="Normal" style="Normal">This is only used in the case where the "errorcontrol" option has been set to "absolute". </Text-field><Text-field layout="Normal" style="Normal">If no value is provided, the maximum value is updated as the computation procedes.</Text-field><Text-field layout="Normal" style="Normal"/></Section><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal"><Font executable="false" italic="false" style="Purple Emphasis" underline="false">How to activate:</Font>
To make the procedures active open the subsections, place the cursor anywhere after the prompt [ &gt;  and press [Enter].
You can then close up the subsections.</Text-field><Text-field layout="Normal" style="Normal"><Font executable="false" italic="false" style="Purple Emphasis" underline="false">Note</Font>: All four procedures must be activated for <Font executable="false" italic="false" size="12" style="Maple Input" underline="false">desolveRK</Font> to work in all appropriate situations.</Text-field><Section collapsed="true"><Title><Text-field layout="Heading 2" style="Heading 2">desolveRK: implementation</Text-field></Title><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field bookmark="desolveRK" layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">desolveRK := proc(ff)   
   local vars,derivs,x,yx,y,df,dff,Options,mthd,rg,
   de,ic,lsic,rsic,x0,y0,tt,rng,z,outpt,stps,lftstps,
   rghtstps,drv,lftprt,rghtprt,reverse,saveDigits,lft,rght,
   startopts,xx,yy,ee,arg2OK,stpsz,dblrk,nvars;

reverse := proc(lst::list)
   local n,i;
   n := nops(lst);
   [seq(lst[n-i],i=0..n-2)];
end proc:
   
dblrk := proc(lft::realcons,rght::realcons,x0::realcons,
       lftprc::procedure,rghtprc::procedure)
   proc(x::realcons)
      local left,right,leftproc,rightproc,xx0,xx,saveDigits;
      options `Copyright 2002 by Peter Stone`;
   
      leftproc := lftprc;
      rightproc := rghtprc;
   
      saveDigits := Digits;
      Digits := max(trunc(evalhf(Digits)),Digits+5);

      xx0 := evalf(x0);
      left := evalf(lft);
      right := evalf(rght);
      xx := evalf(x);

      if xx&lt;=right and xx&gt;=xx0 then
         Digits := saveDigits;
         return rightproc(xx);
      elif xx&gt;=left and xx&lt;=xx0 then
         Digits := saveDigits;
         return leftproc(xx);
      else
         error "argument must be between %1 and %2",left,right;  
      end if;
   end proc;
end proc: # of dblrk

   # start of main procedure desolveRK
   if type(ff,set(equation)) and nops(ff)=2 then
      de := op(1,ff);
      ic := op(2,ff);
      if not has(de,diff) then
         de := op(2,ff);
         ic := op(1,ff);
      end if;
   else
      error "the 1st argument, %1, is invalid .. it should be an equation or a set of 2 equations"
   end if;

   startopts := 3;
   if nargs&gt;1 then
      ee := args[2];
      if type(ee,range) or type(ee,name=range) then
         rng := ee;
      else
         arg2OK := true;
         if type(ee,function) and nops(ee)=1 then
            yy := op(0,ee);
            xx := op(1,ee);
            if type(xx,name) and type(yy,name) then
               startopts := 4;
               if nargs&gt;2 then
                  rng := args[3];
               else
                  error "expecting a 3rd argument"
               end if;
            else
               arg2OK := false;
            end if;
         else
            arg2OK := false;
         end if;
         if not arg2OK then
            error "2nd argument, %1, has incorrect form for the dependent variable",ee;  
         end if;
      end if;
   else
      error "expecting a 2nd argument"
   end if;

   stps := 20;
   stpsz := 'variable';
   outpt := 'rkstep';
   mthd := 'rk45';
   Options :=[];
   if nargs&gt;=startopts then
      Options:=[args[startopts..nargs]];
      if not type(Options,list(equation)) then
         error "each optional argument must be an equation"
      end if;
      if hasoption(Options,'stepsize','stpsz','Options') then
         if not(stpsz='fixed' or stpsz='variable') then
            error "\"stepsize\" must be 'fixed' or 'variable'"
         end if;
      else
         if hasoption(Options,'method','mthd') then
            if mthd='rk45' or mthd='rk78' then stpsz := variable
            else stpsz := 'fixed' end if;
         end if; 
      end if;
      if stpsz='fixed' then outpt := 'points' end if;
      if hasoption(Options,'output','outpt') then
         if not member(outpt,{'points','discrete','rkstep','rkinterp','continuous','procedure'}) then
            error "\"output\" must be one of 'points','discrete','continuous','rkstep','rkinterp' or 'procedure'"
         end if;
         if outpt='discrete' then outpt := 'points' end if;
         if outpt='continuous' or outpt='procedure' then outpt := 'rkstep' end if;
         if mthd&lt;&gt;'rk45' and outpt='rkinterp' then
            error "when \"method\" is %1, \"output\" cannot be 'rkinterp', but must be one of 'points','discrete','continuous','rkstep' or 'procedure'",mthd;
         end if;  
      end if;
      if stpsz='fixed' then
         if hasoption(Options,'steps','stps') then
            if not type(stps,'posint') then
               error"\"steps\" must be a positive integer"
            end if;
         end if;
      else  # the step-size is variable
         if hasoption(Options,'steps') then
            error"\"steps\" is not a valid option when the step-size is variable"
         end if;
         if hasoption(Options,'method','mthd') then
            if not (mthd='rk45' or mthd='rk78') then
               error "\"method\" must be 'rk45' or 'rk78'"
            end if;
            Options := convert({op(Options)} minus {method=mthd},list);
         end if;
      end if;
   end if;

   if has(de,'D') then de := convert(de,'diff') end if;
   derivs := indets(de,'specfunc(anything,diff)');
   if derivs={} then
      error "the equation, %1, is not an ordinary differential equation",de;
   end if;
   nvars := nops(indets(derivs,'name'));
   if nvars&lt;&gt;1 then
      if nvars=0 then
         error "there is a problem with the independent variable occurring in the derivative(s)";
      else
         error "there should only be one independent variable in the differential equation"
      end if;
   end if;
   nvars := nops(indets(derivs,'anyfunc(name)'));
   if nvars&lt;&gt;1 then
      if nvars=0 then
         error "there is a problem with the dependent variable occurring in the derivative(s)"
      else
         error "there should only be one dependent variable in the differential equation"
      end if;
   end if;

   if nops(derivs)&lt;&gt;1 then
      error "there are too many derivatives in the differential equation .. note that the differential equation must be of order 1"
   end if;
   df := op(1,derivs);
   if type(df,function) and op(0,df)=diff and nops(df)=2 then
      yx := op(1,df);
      if not type(yx,anyfunc(name)) then
         error "the 1st argument %1, in the derivative, %2, is invalid .. it should be the 'unknown' dependent variable",yx,df;
      end if; 
      x := op(2,df);
      if not type(x,name) then
         error "the 2nd argument %1, in the derivative, %2, is invalid .. it should be the dependent variable",x,df;
      end if; 
   else
      error "the derivative, %1, does not make sense",df;
   end if;

   y := op(0,yx);
   vars := indets(de,name);
   if member(y,vars) then
      error "%1 and %2 cannot both appear in the differential equation",yx,y;
   end if;
   if op(1,yx)&lt;&gt;x then
      error "the derivative, %1, does not make sense",df;
   end if;

   if startopts=4 then 
      if x&lt;&gt;xx or y&lt;&gt;yy then
         error "cannot solve the differential equation for %1",ee;
      end if;
   end if;
 
   lsic := lhs(ic);
   if type(lsic,function) and op(0,lsic)=y and nops(lsic)=1 
                             and type(op(1,lsic),algebraic) then
      x0 := op(1,lsic);
   else
      error "the initial condition is not decipherable"
   end if;
   rsic := rhs(ic);
   if type(rsic,realcons) then
      y0 := rsic;
   else
      error "the initial condition is not decipherable"
   end if;

   if type(rng,equation) then
      z := op(1,rng);
      if not type(z,name) or z&lt;&gt;x then
         error "left side, %1, of equation for solution range must be the independent variable",x;
      end if;
      rg := op(2,rng);
   else
      rg := rng;
   end if;

   if not type(rg,realcons..realcons) then
      error "the range for the solution must have real end values"
   end if;

   lft := op(1,rg);
   rght := op(2,rg);
   
   if signum(rght-lft)=0 then
      error "the range for the solution must have distinct end points"
   end if;
   if signum(rght-lft)&lt;0 then  # swap over
      tt := lft; lft := rght; rght := tt;  
   end if;
   if signum(x0-rght)&gt;0 or signum(x0-lft)&lt;0 then
      error "the range for the solution must contain the initial value of the independent variable"
   end if;  

   drv := rhs(isolate(de,df));
   if nops([drv])&lt;&gt;1 then
     error "cannot obtain a unique expression for the derivative"
   end if;
   drv := subs(yx=y,drv);

   if stpsz=fixed then
      if signum(x0-lft)=0 then
         return rungk(drv,x=x0..rght,y=y0,op(Options));
      elif signum(x0-rght)=0 then
         return rungk(drv,x=x0..lft,y=y0,op(Options));
      else
         lftstps := trunc(evalf((x0-lft)/(rght-lft)*stps,Digits+5));
         rghtstps := stps-lftstps;
         Options := convert({op(Options)} minus {steps=stps},list);
         rghtprt := rungk(drv,x=x0..rght,y=y0,
                                 steps=rghtstps,op(Options));
         lftprt := rungk(drv,x=x0..lft,y=y0,
                                  steps=lftstps,op(Options));
         if outpt=rkstep then
            return dblrk(lft,rght,x0,lftprt,rghtprt);
         else
            return [op(reverse(lftprt)),op(rghtprt)];
         end if;
      end if;
   else # step-size is variable
      if mthd='rk45' then
         if signum(x0-lft)=0 then
            return rungk45(drv,x=x0..rght,y=y0,op(Options));
         elif signum(x0-rght)=0 then
            return rungk45(drv,x=x0..lft,y=y0,op(Options));
         else
            rghtprt := rungk45(drv,x=x0..rght,y=y0,op(Options));
            lftprt := rungk45(drv,x=x0..lft,y=y0,op(Options));
            if outpt=rkstep or outpt=rkinterp then
               return dblrk(lft,rght,x0,lftprt,rghtprt);
            else
               return [op(reverse(lftprt)),op(rghtprt)];
            end if;
         end if;
      else # mthd='rk78'
         if signum(x0-lft)=0 then
            return rungk78(drv,x=x0..rght,y=y0,op(Options))
         elif signum(x0-rght)=0 then
            return rungk78(drv,x=x0..lft,y=y0,op(Options))
         else
            rghtprt := rungk78(drv,x=x0..rght,y=y0,op(Options));
            lftprt := rungk78(drv,x=x0..lft,y=y0,op(Options));
            if outpt=rkstep then
               return dblrk(lft,rght,x0,lftprt,rghtprt);
            else
               return [op(reverse(lftprt)),op(rghtprt)];
            end if;
         end if;
      end if; 
   end if;
end proc:</Font></Text-field></Input></Group><Text-field layout="Normal" style="Normal"/></Section><Section collapsed="true"><Title><Text-field layout="Heading 2" style="Heading 2">rungk: implementation</Text-field></Title><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">rungk := proc(fxy::algebraic,xrng::(name=realcons..realcons),
                                  iy::(name=realcons)) 
   local x0,xn,y0,soln,xk,yk,k,xmax,h,x,y,fn,gn,xrg,
   c1,c2,c3,c4,c5,c6,c7,c8,c9,cA,a21,a31,a32,a41,a42,a43,
   a51,a52,a53,a54,a61,a62,a63,a64,a65,a71,a72,a73,a74,a75,a76,a81,
   a82,a83,a84,a85,a86,a87,a91,a94,a95,a96,a97,a98,aA1,
   aA4,aA5,aA6,aA7,aA8,aA9,aB1,aB4,aB5,aB6,aB7,aB8,aB9,
   aBA,aC1,aC6,aC7,aC8,aC9,aCA,aD1,aD4,
   aD5,aD6,aD7,aD8,aD9,aDA,aDC,f1,f2,f3,f4,f5,f6,f7,f8,f9,fA,
   fB,fC,fD,b1,b2,b3,b4,b5,b6,b7,b8,b9,bA,bB,bC,bD,
   k1,k2,k3,hh,hk1,hk2,hk4,saveDigits,Options,stps,mthd,j,i,
   prntflg,s,t,c,eulerstep,impeulerstep,rk2step,rk3step,rk4step,
   rk5step,rk6step,rk7step,rk8step,customrk2step,outpt;

eulerstep := proc(x_eulerstep::realcons)
   local xk,yk,jF,jM,jS,n,h,
   data,fn,xx,ys,saveDigits;
   options `Copyright 2002 by Peter Stone`;
   
   data := _SOLN;

   saveDigits := Digits;
   Digits := max(trunc(evalhf(Digits)),Digits+5);

   # procedure to evaluate the gradient field
   fn := proc(_X,_Y)
      local val; 
      val := traperror(evalf(_FXY));
      if val=lasterror or not type(val,numeric) then
         error "evaluation of gradient field failed at %1",evalf([_X,_Y],saveDigits);
      end if;
      val;
      end proc;

   xx := evalf(x_eulerstep);
   n := nops(data);

   if (data[1,1]&lt;data[n,1] and (xx&gt;data[n,1] or xx&lt;data[1,1])) 
      or (data[n,1]&lt;data[1,1] and (xx&lt;data[n,1] or xx&gt;data[1,1])) then
      error "independent variable is outside the interpolation interval: %1",evalf(data[1,1])..evalf(data[n,1]);
   end if;

   # Peform a binary search for the interval containing x.
   n := nops(data);
   jF := 0;
   jS := n+1;

   if data[1,1]&lt;data[n,1] then
      while jS-jF&gt;1 do
        jM := trunc((jF+jS)/2);
        if xx&gt;=data[jM,1] then jF := jM else jS := jM end if;
      end do;
      if jM = n then jF := n-1; jS := n end if;
   else
      while jS-jF&gt;1 do
        jM := trunc((jF+jS)/2);
        if xx&lt;=data[jM,1] then jF := jM else jS := jM end if;
      end do;
      if jM = n then jF := n-1; jS := n end if;
   end if;
  
   # Get the data needed from the list.
   xk := data[jF,1];
   yk := data[jF,2];

   # Do one step with step-size ..
   h := xx-xk;
   ys := yk + h*fn(xk,yk);
   Digits := saveDigits;
   evalf(ys);
end proc: # of eulerstep

impeulerstep := proc(x_impeulerstep::realcons)
   local xk,yk,jF,jM,jS,n,h,k1,k2,
   data,fn,xx,ys,saveDigits;
   options `Copyright 2002 by Peter Stone`;
   
   data := _SOLN;

   saveDigits := Digits;
   Digits := max(trunc(evalhf(Digits)),Digits+5);

   # procedure to evaluate the gradient field
   fn := proc(_X,_Y)
      local val; 
      val := traperror(evalf(_FXY));
      if val=lasterror or not type(val,numeric) then
         error "evaluation of gradient field failed at %1",evalf([_X,_Y],saveDigits);
      end if;
      val;
      end proc;

   xx := evalf(x_impeulerstep);
   n := nops(data);

   if (data[1,1]&lt;data[n,1] and (xx&gt;data[n,1] or xx&lt;data[1,1])) 
      or (data[n,1]&lt;data[1,1] and (xx&lt;data[n,1] or xx&gt;data[1,1])) then
      error "independent variable is outside the interpolation interval: %1",evalf(data[1,1])..evalf(data[n,1]);
   end if;

   # Peform a binary search for the interval containing x.
   n := nops(data);
   jF := 0;
   jS := n+1;

   if data[1,1]&lt;data[n,1] then
      while jS-jF&gt;1 do
        jM := trunc((jF+jS)/2);
        if xx&gt;=data[jM,1] then jF := jM else jS := jM end if;
      end do;
      if jM = n then jF := n-1; jS := n end if;
   else
      while jS-jF&gt;1 do
        jM := trunc((jF+jS)/2);
        if xx&lt;=data[jM,1] then jF := jM else jS := jM end if;
      end do;
      if jM = n then jF := n-1; jS := n end if;
   end if;
  
   # Get the data needed from the list.
   xk := data[jF,1];
   yk := data[jF,2];

   # Do one step with step-size ..
   h := xx-xk;
   k1 := h*fn(xk,yk);
   k2 := h*fn(xk + h,yk + k1);
   ys := yk + (k1 + k2)/2;
   Digits := saveDigits;
   evalf(ys);
end proc: # of impeulerstep

rk2step := proc(x_rk2step::realcons)
   local xk,yk,jF,jM,jS,n,h,hh,k1,
   data,fn,xx,ys,saveDigits;
   options `Copyright 2002 by Peter Stone`;
   
   data := _SOLN;

   saveDigits := Digits;
   Digits := max(trunc(evalhf(Digits)),Digits+5);

   # procedure to evaluate the gradient field
   fn := proc(_X,_Y)
      local val; 
      val := traperror(evalf(_FXY));
      if val=lasterror or not type(val,numeric) then
         error "evaluation of gradient field failed at %1",evalf([_X,_Y],saveDigits);
      end if;
      val;
      end proc;

   xx := evalf(x_rk2step);
   n := nops(data);

   if (data[1,1]&lt;data[n,1] and (xx&gt;data[n,1] or xx&lt;data[1,1])) 
      or (data[n,1]&lt;data[1,1] and (xx&lt;data[n,1] or xx&gt;data[1,1])) then
      error "independent variable is outside the interpolation interval: %1",evalf(data[1,1])..evalf(data[n,1]);
   end if;

   # Peform a binary search for the interval containing x.
   n := nops(data);
   jF := 0;
   jS := n+1;

   if data[1,1]&lt;data[n,1] then
      while jS-jF&gt;1 do
        jM := trunc((jF+jS)/2);
        if xx&gt;=data[jM,1] then jF := jM else jS := jM end if;
      end do;
      if jM = n then jF := n-1; jS := n end if;
   else
      while jS-jF&gt;1 do
        jM := trunc((jF+jS)/2);
        if xx&lt;=data[jM,1] then jF := jM else jS := jM end if;
      end do;
      if jM = n then jF := n-1; jS := n end if;
   end if;
  
   # Get the data needed from the list.
   xk := data[jF,1];
   yk := data[jF,2];

   # Do one step with step-size ..
   h := xx-xk;
   hh := h/2;
   k1 := hh*fn(xk,yk);
   ys := yk + h*fn(xk + hh,yk + k1);
   Digits := saveDigits;
   evalf(ys);
end proc: # of rk2step

customrk2step := proc(x_customrk2step::realcons)
   local xk,yk,jF,jM,jS,n,h,f1,f2,s,t,c,
   data,fn,xx,ys,saveDigits;
   options `Copyright 2002 by Peter Stone`;
   
   data := _SOLN;
   c := _ALPH;

   saveDigits := Digits;
   Digits := max(trunc(evalhf(Digits)),Digits+5);

   # procedure to evaluate the gradient field
   fn := proc(_X,_Y)
      local val; 
      val := traperror(evalf(_FXY));
      if val=lasterror or not type(val,numeric) then
         error "evaluation of gradient field failed at %1",evalf([_X,_Y],saveDigits);
      end if;
      val;
      end proc;

   xx := evalf(x_customrk2step);
   n := nops(data);

   if (data[1,1]&lt;data[n,1] and (xx&gt;data[n,1] or xx&lt;data[1,1])) 
      or (data[n,1]&lt;data[1,1] and (xx&lt;data[n,1] or xx&gt;data[1,1])) then
      error "independent variable is outside the interpolation interval: %1",evalf(data[1,1])..evalf(data[n,1]);
   end if;

   # Peform a binary search for the interval containing x.
   n := nops(data);
   jF := 0;
   jS := n+1;

   if data[1,1]&lt;data[n,1] then
      while jS-jF&gt;1 do
        jM := trunc((jF+jS)/2);
        if xx&gt;=data[jM,1] then jF := jM else jS := jM end if;
      end do;
      if jM = n then jF := n-1; jS := n end if;
   else
      while jS-jF&gt;1 do
        jM := trunc((jF+jS)/2);
        if xx&lt;=data[jM,1] then jF := jM else jS := jM end if;
      end do;
      if jM = n then jF := n-1; jS := n end if;
   end if;
  
   # Get the data needed from the list.
   xk := data[jF,1];
   yk := data[jF,2];

   t := 1/(2*c);
   s := 1 - t;

   # Do one step with step-size ..
   h := xx-xk;
   f1 := fn(xk,yk);
   f2 := fn(xk + c*h,yk + c*f1*h);
   ys := yk + h*(s*f1 + t*f2);
   Digits := saveDigits;
   evalf(ys);
end proc: # of customrk2step

rk3step := proc(x_rk3step::realcons)
   local xk,yk,jF,jM,jS,n,h,k1,k2,k3,
   data,fn,xx,ys,saveDigits;
   options `Copyright 2002 by Peter Stone`;
   
   data := _SOLN;

   saveDigits := Digits;
   Digits := max(trunc(evalhf(Digits)),Digits+5);

   # procedure to evaluate the gradient field
   fn := proc(_X,_Y)
      local val; 
      val := traperror(evalf(_FXY));
      if val=lasterror or not type(val,numeric) then
         error "evaluation of gradient field failed at %1",evalf([_X,_Y],saveDigits);
      end if;
      val;
      end proc;

   xx := evalf(x_rk3step);
   n := nops(data);

   if (data[1,1]&lt;data[n,1] and (xx&gt;data[n,1] or xx&lt;data[1,1])) 
      or (data[n,1]&lt;data[1,1] and (xx&lt;data[n,1] or xx&gt;data[1,1])) then
      error "independent variable is outside the interpolation interval: %1",evalf(data[1,1])..evalf(data[n,1]);
   end if;

   # Peform a binary search for the interval containing x.
   n := nops(data);
   jF := 0;
   jS := n+1;

   if data[1,1]&lt;data[n,1] then
      while jS-jF&gt;1 do
        jM := trunc((jF+jS)/2);
        if xx&gt;=data[jM,1] then jF := jM else jS := jM end if;
      end do;
      if jM = n then jF := n-1; jS := n end if;
   else
      while jS-jF&gt;1 do
        jM := trunc((jF+jS)/2);
        if xx&lt;=data[jM,1] then jF := jM else jS := jM end if;
      end do;
      if jM = n then jF := n-1; jS := n end if;
   end if;
  
   # Get the data needed from the list.
   xk := data[jF,1];
   yk := data[jF,2];

   # Do one step with step-size ..
   h := xx-xk;
   k1 := h*fn(xk,yk);
   k2 := h*fn(xk+h/2,yk + k1/2);
   k3 := h*fn(xk+h,yk - k1 + 2*k2);
   ys := yk + (k1 + 4*k2 + k3)/6;
   Digits := saveDigits;
   evalf(ys);
end proc: # of rk3step

rk4step := proc(x_rk4step::realcons)
   local xk,yk,jF,jM,jS,n,h,hh,hk1,hk2,k3,hk4,
   data,fn,xx,ys,saveDigits;
   options `Copyright 2002 by Peter Stone`;
   
   data := _SOLN;

   saveDigits := Digits;
   Digits := max(trunc(evalhf(Digits)),Digits+5);

   # procedure to evaluate the gradient field
   fn := proc(_X,_Y)
      local val; 
      val := traperror(evalf(_FXY));
      if val=lasterror or not type(val,numeric) then
         error "evaluation of gradient field failed at %1",evalf([_X,_Y],saveDigits);
      end if;
      val;
      end proc;

   xx := evalf(x_rk4step);
   n := nops(data);

   if (data[1,1]&lt;data[n,1] and (xx&gt;data[n,1] or xx&lt;data[1,1])) 
      or (data[n,1]&lt;data[1,1] and (xx&lt;data[n,1] or xx&gt;data[1,1])) then
      error "independent variable is outside the interpolation interval: %1",evalf(data[1,1])..evalf(data[n,1]);
   end if;

   # Peform a binary search for the interval containing x.
   n := nops(data);
   jF := 0;
   jS := n+1;

   if data[1,1]&lt;data[n,1] then
      while jS-jF&gt;1 do
        jM := trunc((jF+jS)/2);
        if xx&gt;=data[jM,1] then jF := jM else jS := jM end if;
      end do;
      if jM = n then jF := n-1; jS := n end if;
   else
      while jS-jF&gt;1 do
        jM := trunc((jF+jS)/2);
        if xx&lt;=data[jM,1] then jF := jM else jS := jM end if;
      end do;
      if jM = n then jF := n-1; jS := n end if;
   end if;
  
   # Get the data needed from the list.
   xk := data[jF,1];
   yk := data[jF,2];

   # Do one step with step-size ..
   h := xx-xk;
   hh := h/2;
   hk1 := hh*fn(xk,yk);
   hk2 := hh*fn(xk + hh,yk + hk1);
   k3 := h*fn(xk + hh,yk + hk2);
   hk4 := hh*fn(xk + h,yk + k3);
   ys := yk + (hk1 + hk2 + hk2 + k3 + hk4)/3;
   Digits := saveDigits;
   evalf(ys);
end proc: # of rk4step

rk5step := proc(x_rk5step::realcons)
   local c2,c3,c4,c5,a21,a31,a32,a41,a42,a43,a51,
   a52,a53,a54,a61,a62,a63,a64,a65,a71,a73,a74,a75,a76,
   f1,f2,f3,f4,f5,f6,b1,b3,b4,b5,b6,
   xk,yk,t,jF,jM,jS,n,h,data,fn,xx,ys,saveDigits;
   options `Copyright 2002 by Peter Stone`;
   
   data := _SOLN;

   saveDigits := Digits;
   Digits := max(trunc(evalhf(Digits)),Digits+5);

   # procedure to evaluate the gradient field
   fn := proc(_X,_Y)
      local val; 
      val := traperror(evalf(_FXY));
      if val=lasterror or not type(val,numeric) then
         error "evaluation of gradient field failed at %1",evalf([_X,_Y],saveDigits);
      end if;
      val;
      end proc;

   xx := evalf(x_rk5step);
   n := nops(data);

   if (data[1,1]&lt;data[n,1] and (xx&gt;data[n,1] or xx&lt;data[1,1])) 
      or (data[n,1]&lt;data[1,1] and (xx&lt;data[n,1] or xx&gt;data[1,1])) then
      error "independent variable is outside the interpolation interval: %1",evalf(data[1,1])..evalf(data[n,1]);
   end if;

   c2 := 0.2;
	  c3 := 0.3;
	  c4 := 0.8;
	  c5 := evalf(8/9);

	  a21 := c2;
	  a31 := 0.075;
	  a32 := 0.225;
	  a41 := evalf(44/45);
	  a42 := evalf(-56/15);
	  a43 := evalf(32/9);
	  a51 := evalf(19372/6561);
	  a52 := evalf(-25360/2187);
	  a53 := evalf(64448/6561);
	  a54 := evalf(-212/729);
	  a61 := evalf(9017/3168);
	  a62 := evalf(-355/33);
	  a63 := evalf(46732/5247);
	  a64 := evalf(49/176);
	  a65 := evalf(-5103/18656);
	  a71 := evalf(35/384);
	  a73 := evalf(500/1113);
	  a74 := evalf(125/192);
	  a75 := evalf(-2187/6784);
	  a76 := evalf(11/84);
	  b1 := a71;
	  b3 := a73;
	  b4 := a74;
	  b5 := a75;
	  b6 := a76;

   # Peform a binary search for the interval containing x.
   n := nops(data);
   jF := 0;
   jS := n+1;

   if data[1,1]&lt;data[n,1] then
      while jS-jF&gt;1 do
        jM := trunc((jF+jS)/2);
        if xx&gt;=data[jM,1] then jF := jM else jS := jM end if;
      end do;
      if jM = n then jF := n-1; jS := n end if;
   else
      while jS-jF&gt;1 do
        jM := trunc((jF+jS)/2);
        if xx&lt;=data[jM,1] then jF := jM else jS := jM end if;
      end do;
      if jM = n then jF := n-1; jS := n end if;
   end if;
  
   # Get the data needed from the list.
   xk := data[jF,1];
   yk := data[jF,2];

   # Do one step with step-size ..
   h := xx-xk;
   f1 := fn(xk,yk);
   t := a21*f1;
			f2 := fn(xk + c2*h,yk + t*h);
			t := a31*f1 + a32*f2;
			f3 := fn(xk + c3*h,yk + t*h);
			t := a41*f1 + a42*f2 + a43*f3;
			f4 := fn(xk + c4*h,yk + t*h);
			t := a51*f1 + a52*f2 + a53*f3 + a54*f4;
			f5 := fn(xk + c5*h,yk + t*h);
			t := a61*f1 + a62*f2 + a63*f3 + a64*f4 + a65*f5;
			f6 := fn(xk + h,yk + t*h);

   ys := yk + (b1*f1 + b3*f3 + b4*f4 + b5*f5 + b6*f6)*h;
   Digits := saveDigits;
   evalf(ys);
end proc: # of rk5step

rk6step := proc(x_rk6step::realcons)
   local c2,c3,c4,c5,c6,a21,a31,a32,a41,a42,a43,a51,
   a52,a53,a54,a61,a62,a63,a64,a65,a71,a72,a73,a74,a75,a76,
   a81,a82,a83,a84,a85,a86,f1,f2,f3,f4,f5,f6,f7,f8,b1,b3,b4,b5,
   b6,b7,b8,xk,yk,t,jF,jM,jS,n,h,data,fn,xx,ys,saveDigits;
   options `Copyright 2002 by Peter Stone`;
   
   data := _SOLN;

   saveDigits := Digits;
   Digits := max(trunc(evalhf(Digits)),Digits+5);

   # procedure to evaluate the gradient field
   fn := proc(_X,_Y)
      local val; 
      val := traperror(evalf(_FXY));
      if val=lasterror or not type(val,numeric) then
         error "evaluation of gradient field failed at %1",evalf([_X,_Y],saveDigits);
      end if;
      val;
      end proc;

   xx := evalf(x_rk6step);
   n := nops(data);

   if (data[1,1]&lt;data[n,1] and (xx&gt;data[n,1] or xx&lt;data[1,1])) 
      or (data[n,1]&lt;data[1,1] and (xx&lt;data[n,1] or xx&gt;data[1,1])) then
      error "independent variable is outside the interpolation interval: %1",evalf(data[1,1])..evalf(data[n,1]);
   end if;

   c2 := 0.1;
   c3 := evalf(2/9);
   c4 := evalf(3/7);
   c5 := 0.6;
   c6 := 0.8;

   # interior weights
   a21 := 0.1;
   a31 := evalf(-2/81);
   a32 := evalf(20/81);
   a41 := evalf(615/1372);
   a42 := evalf(-270/343);
   a43 := evalf(1053/1372);
   a51 := evalf(3243/5500);
   a52 := evalf(-54/55);
   a53 := evalf(50949/71500);
   a54 := evalf(4998/17875);
   a61 := evalf(-26492/37125);
   a62 := evalf(72/55);
   a63 := evalf(2808/23375);
   a64 := evalf(-24206/37125);
   a65 := evalf(338/459);
   a71 := evalf(5561/2376);
   a72 := evalf(-35/11);
   a73 := evalf(-24117/31603);
   a74 := evalf(899983/200772);
   a75 := evalf(-5225/1836);
   a76 := evalf(3925/4056);
   a81 := evalf(465467/266112);
   a82 := evalf(-2945/1232);
   a83 := evalf(-5610201/14158144);
   a84 := evalf(10513573/3212352);
   a85 := evalf(-424325/205632);
   a86 := evalf(376225/454272);
   
   # exterior weights
   b1 := evalf(61/864);
		 b3 := evalf(98415/321776);
		 b4 := evalf(16807/146016);
		 b5 := evalf(1375/7344);
		 b6 := evalf(1375/5408);
		 b7 := evalf(-37/1120);
   b8 := 0.1;

   # Peform a binary search for the interval containing x.
   n := nops(data);
   jF := 0;
   jS := n+1;

   if data[1,1]&lt;data[n,1] then
      while jS-jF&gt;1 do
        jM := trunc((jF+jS)/2);
        if xx&gt;=data[jM,1] then jF := jM else jS := jM end if;
      end do;
      if jM = n then jF := n-1; jS := n end if;
   else
      while jS-jF&gt;1 do
        jM := trunc((jF+jS)/2);
        if xx&lt;=data[jM,1] then jF := jM else jS := jM end if;
      end do;
      if jM = n then jF := n-1; jS := n end if;
   end if;
  
   # Get the data needed from the list.
   xk := data[jF,1];
   yk := data[jF,2];

   # Do one step with step-size ..
   h := xx-xk;
			f1 := fn(xk,yk);
			t := a21*f1;
			f2 := fn(xk + c2*h,yk + t*h);
			t := a31*f1 + a32*f2;
			f3 := fn(xk + c3*h,yk + t*h);
			t := a41*f1 + a42*f2 + a43*f3;
			f4 := fn(xk + c4*h,yk + t*h);
			t := a51*f1 + a52*f2 + a53*f3 + a54*f4;
			f5 := fn(xk + c5*h,yk + t*h);
			t := a61*f1 + a62*f2 + a63*f3 + a64*f4 + a65*f5;
			f6 := fn(xk + c6*h,yk + t*h);
			t := a71*f1 + a72*f2 + a73*f3 + a74*f4 + a75*f5 + a76*f6;
			f7 := fn(xk + h,yk + t*h);
			t := a81*f1 + a82*f2 + a83*f3 + a84*f4 + a85*f5 + a86*f6;
			f8 := fn(xk + h,yk + t*h);
			
			ys := yk + (b1*f1 + b3*f3 + b4*f4 + b5*f5 + b6*f6 + b7*f7 + b8*f8)*h;
   Digits := saveDigits;
   evalf(ys);
end proc: # of rk6step

rk7step := proc(x_rk7step::realcons)
   local c2,c3,c4,c5,c6,c7,c8,c9,cA,a21,a31,a32,a41,a43,
   a51,a53,a54,a61,a64,a65,a71,a74,a75,a76,a81,a85,a86,a87,
   a91,a94,a95,a96,a97,a98,aA1,aA4,aA5,aA6,aA7,aA8,aA9,aB1,
   aB4,aB5,aB6,aB7,aB8,aB9,aBA,f1,f2,f3,f4,f5,f6,f7,f8,f9,fA,
   fB,b1,b6,b7,b8,b9,bA,bB,xk,yk,t,jF,jM,jS,n,h,data,fn,xx,
   ys,saveDigits;
   options `Copyright 2002 by Peter Stone`;
   
   data := _SOLN;

   saveDigits := Digits;
   Digits := max(trunc(evalhf(Digits)),Digits+5);

   # procedure to evaluate the gradient field
   fn := proc(_X,_Y)
      local val; 
      val := traperror(evalf(_FXY));
      if val=lasterror or not type(val,numeric) then
         error "evaluation of gradient field failed at %1",evalf([_X,_Y],saveDigits);
      end if;
      val;
      end proc;

   xx := evalf(x_rk7step);
   n := nops(data);

   if (data[1,1]&lt;data[n,1] and (xx&gt;data[n,1] or xx&lt;data[1,1])) 
      or (data[n,1]&lt;data[1,1] and (xx&lt;data[n,1] or xx&gt;data[1,1])) then
      error "independent variable is outside the interpolation interval: %1",evalf(data[1,1])..evalf(data[n,1]);
   end if;

		 c2 := evalf(2/27);
		 c3 := evalf(1/9);
		 c4 := evalf(1/6);
   c5 := evalf(5/12);
   c6 := 0.5;
   c7 := evalf(5/6);
   c8 := c4;
   c9 := evalf(2/3);
   cA := evalf(1/3);

   # interior weights
   a21 := c2;
   a31 := evalf(1/36);
   a32 := evalf(1/12);
   a41 := evalf(1/24);
   a43 := 0.125;
   a51 := c5;
   a53 := -1.5625;
   a54 := 1.5625;
   a61 := 0.05;
   a64 := 0.25;
   a65 := 0.2;
   a71 := evalf(-25/108);
   a74 := evalf(125/108);
   a75 := evalf(-65/27);
   a76 := evalf(125/54);
   a81 := evalf(31/300);
   a85 := evalf(61/225);
   a86 := evalf(-2/9);
   a87 := evalf(13/900);
   a91 := 2;
   a94 := evalf(-53/6);
   a95 := evalf(704/45);
   a96 := evalf(-107/9);
   a97 := evalf(67/90);
   a98 := 3;
   aA1 := evalf(-91/108);
   aA4 := evalf(23/108);
   aA5 := evalf(-976/135);
   aA6 := evalf(311/54);
   aA7 := evalf(-19/60);
   aA8 := evalf(17/6);
   aA9 := -a32;
   aB1 := evalf(2383/4100);
   aB4 := evalf(-341/164);
   aB5 := evalf(4496/1025);
   aB6 := evalf(-301/82);
   aB7 := evalf(2133/4100);
   aB8 := evalf(45/82);
   aB9 := evalf(45/164);
   aBA := evalf(18/41);

   # exterior weights
   b1 := evalf(41/840);
   b6 := evalf(34/105);
   b7 := evalf(9/35);
   b8 := b7;
   b9 := evalf(9/280);
   bA := b9;
   bB := b1;

   # Peform a binary search for the interval containing x.
   n := nops(data);
   jF := 0;
   jS := n+1;

   if data[1,1]&lt;data[n,1] then
      while jS-jF&gt;1 do
        jM := trunc((jF+jS)/2);
        if xx&gt;=data[jM,1] then jF := jM else jS := jM end if;
      end do;
      if jM = n then jF := n-1; jS := n end if;
   else
      while jS-jF&gt;1 do
        jM := trunc((jF+jS)/2);
        if xx&lt;=data[jM,1] then jF := jM else jS := jM end if;
      end do;
      if jM = n then jF := n-1; jS := n end if;
   end if;
  
   # Get the data needed from the list.
   xk := data[jF,1];
   yk := data[jF,2];

   # Do one step with step-size ..
   h := xx-xk;
 		f1 := fn(xk,yk);
 	 t := a21*f1;
			f2 := fn(xk + c2*h,yk + t*h);
 		t := a31*f1 + a32*f2;
			f3 := fn(xk + c3*h,yk + t*h);
			t := a41*f1 + a43*f3;
			f4 := fn(xk + c4*h,yk + t*h);
 		t := a51*f1 + a53*f3 + a54*f4;
			f5 := fn(xk + c5*h,yk + t*h);
 		t := a61*f1 + a64*f4 + a65*f5;
			f6 := fn(xk + c6*h,yk + t*h);
			t := a71*f1 + a74*f4 + a75*f5 + a76*f6;
 		f7 := fn(xk + c7*h,yk + t*h);
			t := a81*f1 + a85*f5 + a86*f6 + a87*f7;
			f8 := fn(xk + c8*h,yk + t*h);
			t := a91*f1 + a94*f4 + a95*f5 + a96*f6 + a97*f7 + a98*f8;
			f9 := fn(xk + c9*h,yk + t*h);
			t := aA1*f1 + aA4*f4 + aA5*f5 + aA6*f6 + aA7*f7 + aA8*f8 + aA9*f9;
			fA := fn(xk + cA*h,yk + t*h);
			t := aB1*f1 + aB4*f4 + aB5*f5 + aB6*f6 + aB7*f7 + aB8*f8 + aB9*f9 + aBA*fA;
			fB := fn(xk + h,yk + t*h);
   ys := yk + (b1*f1 + b6*f6 + b7*f7 + b8*f8 + b9*f9 + bA*fA + bB*fB)*h;
   Digits := saveDigits;
   evalf(ys);
end proc: # of rk7step

rk8step := proc(x_rk8step::realcons)
   local c2,c3,c4,c5,c6,c7,c8,c9,cA,a21,a31,a32,a41,a43,
   a51,a53,a54,a61,a64,a65,a71,a74,a75,a76,a81,a85,a86,a87,
   a91,a94,a95,a96,a97,a98,aA1,aA4,aA5,aA6,aA7,aA8,aA9,aC1,
   aC6,aC7,aC8,aC9,aCA,aD1,aD4,aD5,aD6,aD7,aD8,aD9,aDA,f1,
   f2,f3,f4,f5,f6,f7,f8,f9,fA,fC,fD,b6,b7,b8,b9,bA,bC,bD,
   xk,yk,t,jF,jM,jS,n,h,data,fn,xx,ys,saveDigits;
   options `Copyright 2002 by Peter Stone`;
   
   data := _SOLN;

   saveDigits := Digits;
   Digits := max(trunc(evalhf(Digits)),Digits+5);

   # procedure to evaluate the gradient field
   fn := proc(_X,_Y)
      local val; 
      val := traperror(evalf(_FXY));
      if val=lasterror or not type(val,numeric) then
         error "evaluation of gradient field failed at %1",evalf([_X,_Y],saveDigits);
      end if;
      val;
      end proc;

   xx := evalf(x_rk8step);
   n := nops(data);

   if (data[1,1]&lt;data[n,1] and (xx&gt;data[n,1] or xx&lt;data[1,1])) 
      or (data[n,1]&lt;data[1,1] and (xx&lt;data[n,1] or xx&gt;data[1,1])) then
      error "independent variable is outside the interpolation interval: %1",evalf(data[1,1])..evalf(data[n,1]);
   end if;

		 c2 := evalf(2/27);
		 c3 := evalf(1/9);
		 c4 := evalf(1/6);
   c5 := evalf(5/12);
   c6 := 0.5;
   c7 := evalf(5/6);
   c8 := c4;
   c9 := evalf(2/3);
   cA := evalf(1/3);

   # interior weights
   a21 := c2;
   a31 := evalf(1/36);
   a32 := evalf(1/12);
   a41 := evalf(1/24);
   a43 := 0.125;
   a51 := c5;
   a53 := -1.5625;
   a54 := 1.5625;
   a61 := 0.05;
   a64 := 0.25;
   a65 := 0.2;
   a71 := evalf(-25/108);
   a74 := evalf(125/108);
   a75 := evalf(-65/27);
   a76 := evalf(125/54);
   a81 := evalf(31/300);
   a85 := evalf(61/225);
   a86 := evalf(-2/9);
   a87 := evalf(13/900);
   a91 := 2;
   a94 := evalf(-53/6);
   a95 := evalf(704/45);
   a96 := evalf(-107/9);
   a97 := evalf(67/90);
   a98 := 3;
   aA1 := evalf(-91/108);
   aA4 := evalf(23/108);
   aA5 := evalf(-976/135);
   aA6 := evalf(311/54);
   aA7 := evalf(-19/60);
   aA8 := evalf(17/6);
   aA9 := -a32;
   aC1 := evalf(3/205);
   aC6 := evalf(-6/41);
   aC7 := evalf(-3/205);
   aC8 := evalf(-3/41);
   aC9 := -aC8;
   aCA := evalf(6/41);
   aD1 := evalf(-1777/4100);
   aD4 := evalf(-341/164);
   aD5 := evalf(4496/1025);
   aD6 := evalf(-289/82);
   aD7 := evalf(2193/4100);
   aD8 := evalf(51/82);
   aD9 := evalf(33/164);
   aDA := evalf(12/41);
   #aDC := 1;

   # exterior weights
   b6 := evalf(34/105);
   b7 := evalf(9/35);
   b8 := b7;
   b9 := evalf(9/280);
   bA := b9;
   bC := evalf(41/840);
   bD := bC;

   # Peform a binary search for the interval containing x.
   n := nops(data);
   jF := 0;
   jS := n+1;

   if data[1,1]&lt;data[n,1] then
      while jS-jF&gt;1 do
        jM := trunc((jF+jS)/2);
        if xx&gt;=data[jM,1] then jF := jM else jS := jM end if;
      end do;
      if jM = n then jF := n-1; jS := n end if;
   else
      while jS-jF&gt;1 do
        jM := trunc((jF+jS)/2);
        if xx&lt;=data[jM,1] then jF := jM else jS := jM end if;
      end do;
      if jM = n then jF := n-1; jS := n end if;
   end if;
  
   # Get the data needed from the list.
   xk := data[jF,1];
   yk := data[jF,2];

   # Do one step with step-size ..
   h := xx-xk;
 		f1 := fn(xk,yk);
 	 t := a21*f1;
			f2 := fn(xk + c2*h,yk + t*h);
 		t := a31*f1 + a32*f2;
			f3 := fn(xk + c3*h,yk + t*h);
			t := a41*f1 + a43*f3;
			f4 := fn(xk + c4*h,yk + t*h);
 		t := a51*f1 + a53*f3 + a54*f4;
			f5 := fn(xk + c5*h,yk + t*h);
 		t := a61*f1 + a64*f4 + a65*f5;
			f6 := fn(xk + c6*h,yk + t*h);
			t := a71*f1 + a74*f4 + a75*f5 + a76*f6;
 		f7 := fn(xk + c7*h,yk + t*h);
			t := a81*f1 + a85*f5 + a86*f6 + a87*f7;
			f8 := fn(xk + c8*h,yk + t*h);
			t := a91*f1 + a94*f4 + a95*f5 + a96*f6 + a97*f7 + a98*f8;
			f9 := fn(xk + c9*h,yk + t*h);
			t := aA1*f1 + aA4*f4 + aA5*f5 + aA6*f6 + aA7*f7 + aA8*f8 + aA9*f9;
			fA := fn(xk + cA*h,yk + t*h);
			t := aC1*f1 + aC6*f6 + aC7*f7 + aC8*f8 + aC9*f9 + aCA*fA;
			fC := fn(xk,yk + t*h);
			t := aD1*f1 + aD4*f4 + aD5*f5 + aD6*f6 + aD7*f7 + 
                               aD8*f8 + aD9*f9 + aDA*fA + fC;
			fD := fn(xk + h,yk + t*h); 			
			ys := yk + (b6*f6 +b7*f7 + b8*f8 + b9*f9 + bA*fA + bC*fC + bD*fD)*h;
   Digits := saveDigits;
   evalf(ys);
end proc: # of rk8step

   # start of main procedure rungk
   x := op(1,xrng);
   y := op(1,iy);
   if not type(indets(fxy,name) minus {x,y},set(realcons)) then
      error "the 1st argument, %1, must depend only on the variables %2 and %3",fxy,x,y;
   end if;
   xrg := op(2,xrng);
   x0 := op(1,xrg);
   xn := op(2,xrg);
   y0 := op(2,iy);

   # Get the options.
   # Set the default values to start with.
   stps := 20;
   mthd := 'rk4';
   outpt := 'points';
   prntflg := false;
   if nargs &gt; 3 then
      Options:=[args[4..nargs]];
      if not type(Options,list(equation)) then
         error "each optional argument must be an equation"
      end if;
      if hasoption(Options,'steps','stps','Options') then
         if not type(stps,posint) then
            error"\"steps\" must be a positive integer"
         end if;
      end if;
      if hasoption(Options,'method','mthd','Options') then
          if not member(mthd,{'euler','impeuler','rk2','rk3','rk4','rk5','rk6','rk7','rk8'})
         then
            error "\"method\" must be 'euler','impeuler','rk2','rk3','rk4','rk5','rk6','rk7' or 'rk8'"
         end if;
      end if;
      if hasoption(Options,'alpha','alph','Options') then
         c := evalf(alph);
         if not type(alph,realcons) or c&lt;=0 or c&gt;1 then
            error "\"alpha\" must be a positive real constant &lt;= 1"
         else
            mthd := 'customrk2';
         end if;
      end if;
      if hasoption(Options,'output','outpt','Options') then
         if not member(outpt,{'points','discrete','rkstep','continuous','procedure'}) then
            error "\"output\" must be one of 'points','discrete','continuous','rkstep' or 'procedure'"
         end if;
         if outpt='discrete' then outpt := 'points' end if;
         if outpt='continuous' or outpt='procedure' then outpt := 'rkstep' end if; 
      end if;
      if hasoption(Options,'info','prntflg','Options') then
         if prntflg&lt;&gt;true then prntflg := false end if;
      end if;
      if nops(Options)&gt;0 then
         error "%1 is not a valid option for %2",op(1,Options), procname;
      end if;
   end if;

   saveDigits := Digits;
   Digits := max(trunc(evalhf(Digits)),Digits+5);
   
   xk := evalf(x0);
   xmax := evalf(xn);
   yk := evalf(y0);
   h := (xmax-xk)/stps;

   # Convert any real constants in the expression to floats.
   fn := subs({_FXY=evalf(fxy),_X=x,_Y=y},
      proc(_X,_Y)
      local val; 
      val := traperror(evalf(_FXY));
      if val=lasterror or not type(val,numeric) then
         error "evaluation of gradient field failed at %1",evalf([_X,_Y],saveDigits);
      end if;
      val;
      end proc);
   soln := [xk,yk];

   if mthd='euler' then
      if prntflg then print(`method: euler`)end if;
      for k from 1 to stps do
         yk := yk + h*fn(xk,yk);
         xk := xk + h;
         soln := soln,[xk,yk];
         if prntflg then print(`step`,k,`   `,[xk,yk]) end if;
      end do;
      Digits := saveDigits;
      if outpt=rkstep then
         return subs({_SOLN=[soln],_FXY=fxy,_X=x,_Y=y},eval(eulerstep)); 
      else
         return evalf([soln]);
      end if;
   elif mthd='impeuler' then
      if prntflg then print(`method: improved euler`) end if;
      for k from 1 to stps do
         k1 := h*fn(xk,yk);
         xk := xk + h;
         k2 := h*fn(xk,yk + k1);
         yk := yk + (k1 + k2)/2;
         soln := soln,[xk,yk];
         if prntflg then print(`step`,k,`   `,[xk,yk]) end if;
      end do;
      Digits := saveDigits;
      if outpt=rkstep then
         return subs({_SOLN=[soln],_FXY=fxy,_X=x,_Y=y},eval(impeulerstep)); 
      else
         return evalf([soln]);
      end if;
   elif mthd='rk2' then
      if prntflg then
         print(`method: classical mid-point Runge-Kutta order 2`)
      end if;
      hh := h/2;
      for k from 1 to stps do
         k1 := hh*fn(xk,yk);
         yk := yk + h*fn(xk + hh,yk + k1);
         xk := xk + h;
         soln := soln,[xk,yk];
         if prntflg then print(`step`,k,`   `,[xk,yk]) end if;
      end do;
      Digits := saveDigits;
      if outpt=rkstep then
         return subs({_SOLN=[soln],_FXY=fxy,_X=x,_Y=y},eval(rk2step)); 
      else
         return evalf([soln]);
      end if;
   elif mthd='customrk2' then
      if prntflg then
         print(`method: custom Runge-Kutta order 2`);
         print(`evaluation at fraction `,c,` of distance across step`);
      end if;
      t := 1/(2*c);
      s := 1 - t;
      for k from 1 to stps do
         f1 := fn(xk,yk);
         f2 := fn(xk + c*h,yk + c*f1*h);
         yk := yk + h*(s*f1 + t*f2);
         xk := xk + h;
         soln := soln,[xk,yk];
         if prntflg then print(`step`,k,`   `,[xk,yk]) end if;
      end do;
      if outpt=rkstep then
         return subs({_SOLN=[soln],_FXY=fxy,_X=x,_Y=y,_ALPH=c},
                                                   eval(customrk2step)); 
      else
         return evalf([soln]);
      end if;
   elif mthd='rk3' then
      if prntflg then print(`method: classical Runge-Kutta order 3`) end if;
      for k from 1 to stps do
         k1 := h*fn(xk,yk);
         k2 := h*fn(xk+h/2,yk + k1/2);
         k3 := h*fn(xk+h,yk - k1 + 2*k2);
         yk := yk + (k1 + 4*k2 + k3)/6;
         xk := xk + h;
         soln := soln,[xk,yk];
         if prntflg then print(`step`,k,`   `,[xk,yk]) end if;
      end do;
      Digits := saveDigits;
      if outpt=rkstep then
         return subs({_SOLN=[soln],_FXY=fxy,_X=x,_Y=y},eval(rk3step)); 
      else
         return evalf([soln]);
      end if;
   elif mthd='rk4' then
      if prntflg then print(`method: classical Runge-Kutta order 4`) end if;
      hh := h/2;
      for k from 1 to stps do
         hk1 := hh*fn(xk,yk);
         hk2 := hh*fn(xk + hh,yk + hk1);
         k3 := h*fn(xk + hh,yk + hk2);
         hk4 := hh*fn(xk + h,yk + k3);
         yk := yk + (hk1 + hk2 + hk2 + k3 + hk4)/3;
         xk := xk + h;
         soln := soln,[xk,yk];
         if prntflg then print(`step`,k,`   `,[xk,yk]) end if;
      end do;
      Digits := saveDigits;
      if outpt=rkstep then
         return subs({_SOLN=[soln],_FXY=fxy,_X=x,_Y=y},eval(rk4step)); 
      else
         return evalf([soln]);
      end if;
   elif mthd='rk5' then
      if prntflg then print(`method: Runge-Kutta order 5`) end if;
			   c2 := 0.25;
			   c3 := 0.375;
			   c4 := evalf(12/13);
			   c5 := 1.0;
			   c6 := 0.5;
			   a21 := c2;
			   a31 := 0.09375;
			   a32 := 0.28125;
			   a41 := evalf(1932/2197);
			   a42 := evalf(-7200/2197);
			   a43 := evalf(7296/2197);
			   a51 := evalf(439/216);
			   a52 := -8.0;
			   a53 := evalf(3680/513);
			   a54 := evalf(-845/4104);
			   a61 := evalf(-8/27);
			   a62 := 2.0;
			   a63 := evalf(-3544/2565);
			   a64 := evalf(1859/4104);
			   a65 := evalf(-11/40);
			   b1 := evalf(16/135);
			   b3 := evalf(6656/12825);
			   b4 := evalf(28561/56430);
			   b5 := -0.18;
			   b6 := evalf(2/55);
			
      for k from 1 to stps do
			      f1 := fn(xk,yk);
			      t := a21*f1;
			      f2 := fn(xk + c2*h,yk + t*h);
			      t := a31*f1 + a32*f2;
			      f3 := fn(xk + c3*h,yk + t*h);
			      t := a41*f1 + a42*f2 + a43*f3;
			      f4 := fn(xk + c4*h,yk + t*h);
			      t := a51*f1 + a52*f2 + a53*f3 + a54*f4;
			      f5 := fn(xk + c5*h,yk + t*h);
			      t := a61*f1 + a62*f2 + a63*f3 + a64*f4 + a65*f5;
			      f6 := fn(xk + c6*h,yk + t*h);
			      yk := yk + (b1*f1 + b3*f3 + b4*f4 + b5*f5 + b6*f6)*h;
			      xk := xk + h:
			      soln := soln,[xk,yk];
         if prntflg then print(`step`,k,`   `,[xk,yk]) end if;
      end do;
      Digits := saveDigits;
      if outpt=rkstep then
         return subs({_SOLN=[soln],_FXY=fxy,_X=x,_Y=y},eval(rk5step)); 
      else
         return evalf([soln]);
      end if;
   elif mthd='rk6' then
      if prntflg then print(`method: Runge-Kutta order 6`) end if;
      c2 := 0.1;
      c3 := evalf(2/9);
      c4 := evalf(3/7);
      c5 := 0.6;
      c6 := 0.8;

      # The interior weights
      a21 := 0.1;
      a31 := evalf(-2/81);
      a32 := evalf(20/81);
      a41 := evalf(615/1372);
      a42 := evalf(-270/343);
      a43 := evalf(1053/1372);
      a51 := evalf(3243/5500);
      a52 := evalf(-54/55);
      a53 := evalf(50949/71500);
      a54 := evalf(4998/17875);
      a61 := evalf(-26492/37125);
      a62 := evalf(72/55);
      a63 := evalf(2808/23375);
      a64 := evalf(-24206/37125);
      a65 := evalf(338/459);
      a71 := evalf(5561/2376);
      a72 := evalf(-35/11);
      a73 := evalf(-24117/31603);
      a74 := evalf(899983/200772);
      a75 := evalf(-5225/1836);
      a76 := evalf(3925/4056);
      a81 := evalf(465467/266112);
      a82 := evalf(-2945/1232);
      a83 := evalf(-5610201/14158144);
      a84 := evalf(10513573/3212352);
      a85 := evalf(-424325/205632);
      a86 := evalf(376225/454272);

      # The exterior weights for the higher order formula
      b1 := evalf(61/864);
		    b3 := evalf(98415/321776);
		    b4 := evalf(16807/146016);
		    b5 := evalf(1375/7344);
		    b6 := evalf(1375/5408);
		    b7 := evalf(-37/1120);
      b8 := 0.1;

      for k from 1 to stps do
			      f1 := fn(xk,yk);
			      t := a21*f1;
			      f2 := fn(xk + c2*h,yk + t*h);
			      t := a31*f1 + a32*f2;
			      f3 := fn(xk + c3*h,yk + t*h);
			      t := a41*f1 + a42*f2 + a43*f3;
			      f4 := fn(xk + c4*h,yk + t*h);
			      t := a51*f1 + a52*f2 + a53*f3 + a54*f4;
			      f5 := fn(xk + c5*h,yk + t*h);
			      t := a61*f1 + a62*f2 + a63*f3 + a64*f4 + a65*f5;
			      f6 := fn(xk + c6*h,yk + t*h);
			      t := a71*f1 + a72*f2 + a73*f3 + a74*f4 + a75*f5 + a76*f6;
			      f7 := fn(xk + h,yk + t*h);
			      t := a81*f1 + a82*f2 + a83*f3 + a84*f4 + a85*f5 + a86*f6;
			      f8 := fn(xk + h,yk + t*h);
			
			      yk := yk + (b1*f1 + b3*f3 + b4*f4 + b5*f5 + b6*f6 + b7*f7 + b8*f8)*h;
			      xk := xk + h:
			      soln := soln,[xk,yk];
         if prntflg then print(`step`,k,`   `,[xk,yk]) end if;
      end do;
      Digits := saveDigits;
      if outpt=rkstep then
         return subs({_SOLN=[soln],_FXY=fxy,_X=x,_Y=y},eval(rk6step)); 
      else
         return evalf([soln]);
      end if;
   elif mthd='rk7' or mthd='rk8' then
		    c2 := evalf(2/27);
		    c3 := evalf(1/9);
		    c4 := evalf(1/6);
      c5 := evalf(5/12);
      c6 := 0.5;
      c7 := evalf(5/6);
      c8 := c4;
      c9 := evalf(2/3);
      cA := evalf(1/3);
      #cB := 1;
      #cD := 1;
      a21 := c2;
      a31 := evalf(1/36);
      a32 := evalf(1/12);
      a41 := evalf(1/24);
      a43 := 0.125;
      a51 := c5;
      a53 := -1.5625;
      a54 := 1.5625;
      a61 := 0.05;
      a64 := 0.25;
      a65 := 0.2;
      a71 := evalf(-25/108);
      a74 := evalf(125/108);
      a75 := evalf(-65/27);
      a76 := evalf(125/54);
      a81 := evalf(31/300);
      a85 := evalf(61/225);
      a86 := evalf(-2/9);
      a87 := evalf(13/900);
      a91 := 2;
      a94 := evalf(-53/6);
      a95 := evalf(704/45);
      a96 := evalf(-107/9);
      a97 := evalf(67/90);
      a98 := 3;
      aA1 := evalf(-91/108);
      aA4 := evalf(23/108);
      aA5 := evalf(-976/135);
      aA6 := evalf(311/54);
      aA7 := evalf(-19/60);
      aA8 := evalf(17/6);
      aA9 := -a32;
      aB1 := evalf(2383/4100);
      aB4 := evalf(-341/164);
      aB5 := evalf(4496/1025);
      aB6 := evalf(-301/82);
      aB7 := evalf(2133/4100);
      aB8 := evalf(45/82);
      aB9 := evalf(45/164);
      aBA := evalf(18/41);
      aC1 := evalf(3/205);
      aC6 := evalf(-6/41);
      aC7 := evalf(-3/205);
      aC8 := evalf(-3/41);
      aC9 := -aC8;
      aCA := evalf(6/41);
      aD1 := evalf(-1777/4100);
      aD4 := evalf(-341/164);
      aD5 := evalf(4496/1025);
      aD6 := evalf(-289/82);
      aD7 := evalf(2193/4100);
      aD8 := evalf(51/82);
      aD9 := evalf(33/164);
      aDA := evalf(12/41);
      aDC := 1;
      if mthd='rk7' then
         if prntflg then print(`method: Runge-Kutta order 7`) end if;
         b1 := evalf(41/840);
         b6 := evalf(34/105);
         b7 := evalf(9/35);
         b8 := b7;
         b9 := evalf(9/280);
         bA := b9;
         bB := b1;
         for k from 1 to stps do
 			        f1 := fn(xk,yk);
 			        t := a21*f1;
			         f2 := fn(xk + c2*h,yk + t*h);
 			        t := a31*f1 + a32*f2;
			         f3 := fn(xk + c3*h,yk + t*h);
			         t := a41*f1 + a43*f3;
			         f4 := fn(xk + c4*h,yk + t*h);
 			        t := a51*f1 + a53*f3 + a54*f4;
			         f5 := fn(xk + c5*h,yk + t*h);
 			        t := a61*f1 + a64*f4 + a65*f5;
			         f6 := fn(xk + c6*h,yk + t*h);
			         t := a71*f1 + a74*f4 + a75*f5 + a76*f6;
 			        f7 := fn(xk + c7*h,yk + t*h);
			         t := a81*f1 + a85*f5 + a86*f6 + a87*f7;
			         f8 := fn(xk + c8*h,yk + t*h);
			         t := a91*f1 + a94*f4 + a95*f5 + a96*f6 + a97*f7 + a98*f8;
			         f9 := fn(xk + c9*h,yk + t*h);
			         t := aA1*f1 + aA4*f4 + aA5*f5 + aA6*f6 + aA7*f7 +
                 aA8*f8 + aA9*f9;
			         fA := fn(xk + cA*h,yk + t*h);
				        t := aB1*f1 + aB4*f4 + aB5*f5 + aB6*f6 + aB7*f7 +
                 aB8*f8 + aB9*f9 + aBA*fA;
			         fB := fn(xk + h,yk + t*h);
 			
			         yk := yk + (b1*f1 + b6*f6 + b7*f7 + b8*f8 + b9*f9 +
               bA*fA + bB*fB)*h;
 			        xk := xk + h:
 			        soln := soln,[xk,yk];
            if prntflg then print(`step`,k,`   `,[xk,yk]) end if;
         end do;
         Digits := saveDigits;
         if outpt=rkstep then
            return subs({_SOLN=[soln],_FXY=fxy,_X=x,_Y=y},eval(rk7step)); 
         else
            return evalf([soln]);
         end if;
      else # mthd='rk8'
         if prntflg then print(`method: Runge-Kutta order 8`) end if;
         b6 := evalf(34/105);
         b7 := evalf(9/35);
         b8 := b7;
         b9 := evalf(9/280);
         bA := b9;
         bC := evalf(41/840);
         bD := bC;
         for k from 1 to stps do
 			        f1 := fn(xk,yk);
 			        t := a21*f1;
			         f2 := fn(xk + c2*h,yk + t*h);
 			        t := a31*f1 + a32*f2;
			         f3 := fn(xk + c3*h,yk + t*h);
			         t := a41*f1 + a43*f3;
			         f4 := fn(xk + c4*h,yk + t*h);
 			        t := a51*f1 + a53*f3 + a54*f4;
			         f5 := fn(xk + c5*h,yk + t*h);
 			        t := a61*f1 + a64*f4 + a65*f5;
			         f6 := fn(xk + c6*h,yk + t*h);
			         t := a71*f1 + a74*f4 + a75*f5 + a76*f6;
 			        f7 := fn(xk + c7*h,yk + t*h);
			         t := a81*f1 + a85*f5 + a86*f6 + a87*f7;
			         f8 := fn(xk + c8*h,yk + t*h);
			         t := a91*f1 + a94*f4 + a95*f5 + a96*f6 + a97*f7 + a98*f8;
			         f9 := fn(xk + c9*h,yk + t*h);
			         t := aA1*f1 + aA4*f4 + aA5*f5 + aA6*f6 + aA7*f7 +
                 aA8*f8 + aA9*f9;
			         fA := fn(xk + cA*h,yk + t*h);
			         t := aC1*f1 + aC6*f6 + aC7*f7 + aC8*f8 + aC9*f9 +
                 aCA*fA;
			         fC := fn(xk,yk + t*h);
			         t := aD1*f1 + aD4*f4 + aD5*f5 + aD6*f6 + aD7*f7 +
                 aD8*f8 + aD9*f9 + aDA*fA + fC;
			         fD := fn(xk + h,yk + t*h);
 			
			         yk := yk + (b6*f6 +b7*f7 + b8*f8 + b9*f9 + bA*fA +
                bC*fC + bD*fD)*h;
 			        xk := xk + h:
 			        soln := soln,[xk,yk];
            if prntflg then print(`step`,k,`   `,[xk,yk]) end if;
         end do;
         Digits := saveDigits;
         if outpt=rkstep then
            return subs({_SOLN=[soln],_FXY=fxy,_X=x,_Y=y},eval(rk8step)); 
         else
            return evalf([soln]);
         end if;
      end if;
   end if;
end proc:</Font></Text-field></Input></Group><Text-field layout="Normal" style="Normal"/></Section><Section collapsed="true"><Title><Text-field layout="Heading 2" style="Heading 2">rungk45: implementation</Text-field></Title><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">rungk45 := proc(fxy,eqn1,eqn2)  
   local ytemp,fn,soln,xk,yk,k,xend,xstart,h,safety,errcontrol,
   c1,c2,c3,c4,c5,c8,c9,a21,a31,a32,a41,a42,a43,a51,a52,a53,a54,
   a61,a62,a63,a64,a65,a71,a72,a73,a74,a75,a76,a81,a83,a84,
   a85,a86,a87,a91,a93,a94,a95,a96,a97,f1,f2,f3,f4,f5,
   f6,f7,f8,f9,b1,b3,b4,b5,b6,e1,e3,e4,e5,e6,e7,yout,yerr,rs,
   maxstps,tiny,yscale,err,htemp,xnew,hnext,saveDigits,eps,
   pgrow,pshrink,Options,j,prntflg,t,tt,errcntl,ymax,ymaxtemp,
   x,y,errc,x0,y0,xn,f,outpt,hmx,hmn,hstrt,temp,sgn,finished,
   maxstepsize,laststep,minstepsize,ftd,inc,rk45step,rk45interp;

rk45interp := proc(x_rk45interp::realcons)
   local e2,e3,e4,e5,e6,e7,s,t1,t2,t3,sm,sms,ss,
   b1,b3,b4,b5,b6,b7,b8,b9,xF,xS,yF,f1,f3,f4,f5,f6,
   f7,f8,f9,t,jF,jM,jS,n,h,data,xx,ys,saveDigits;
   options `Copyright 2002 by Peter Stone`;
   
   data := _SOLN;
   saveDigits := Digits;
   Digits := max(trunc(evalhf(Digits)),Digits+5);
   xx := evalf(x_rk45interp);
   n := nops(data);
   if (data[1,1]&lt;data[n,1] and (xx&gt;data[n,1] or xx&lt;data[1,1]))
      or (data[n,1]&lt;data[1,1] and (xx&lt;data[n,1] or xx&gt;data[1,1])) then
      error "independent variable is outside the interpolation interval: %1",evalf(data[1,1])..evalf(data[n,1]);
   end if;

   e2 := evalf(-500/1113);
   e3 := evalf(-125/192);
   e4 := evalf(2187/6784);
   e5 := evalf(-11/84);
   e6 := evalf(125/24);
   e7 := evalf(16/3);

   # Peform a binary search for the interval containing x.
   n := nops(data);
   jF := 0;
   jS := n+1;

   if data[1,1]&lt;data[n,1] then
      while jS-jF&gt;1 do
        jM := trunc((jF+jS)/2);
        if xx&gt;=data[jM,1] then jF := jM else jS := jM end if;
      end do;
      if jM = n then jF := n-1; jS := n end if;
   else
      while jS-jF&gt;1 do
        jM := trunc((jF+jS)/2);
        if xx&lt;=data[jM,1] then jF := jM else jS := jM end if;
      end do;
      if jM = n then jF := n-1; jS := n end if;
   end if;
  
   # Get the data needed from the list.
   xF := data[jF,1];
   xS := data[jS,1];
   yF := data[jF,2];
   f1 := data[jF,3];
   f3 := data[jF,5];
   f4 := data[jF,6];
   f5 := data[jF,7];
   f6 := data[jF,8];
   f7 := data[jF,9];
   f8 := data[jF,10];
   f9 := data[jF,11];

   # Calculate the parameters.
   h := xx-xF;
   s := h/(xS-xF);
   t1 := (-1710+(3104+(-2439+696*s)*s)*s)*s;
   t2 := (-6+(32+(-51+24*s)*s)*s)*s;
   t3 := 7+(-31+32*s)*s;
   sm := s-1;
   sms := sm*s;
   ss := sms*sm;
   b1:= t1/384+1;
   b3 := t2*e2;
   b4 := t2*e3;
   b5 := t2*e4;
   b6 := t2*e5;
   b7 := sms*t3/8;
   b8 := ss*e6;
   b9 := ss*(3*s-1)*e7;
   
   # Calculate the interpolated y value.
   t := b1*f1 + b3*f3 + b4*f4 + b5*f5 + b6*f6 + b7*f7 + b8*f8 + b9*f9;
   ys := yF + t*h;
   Digits := saveDigits;
   evalf(ys);
end proc: # of rk45interp

rk45step := 
proc(x_rk45step::realcons)

   local c2,c3,c4,c5,a21,a31,a32,a41,a42,a43,a51,a52,a53,a54,
   a61,a62,a63,a64,a65,a71,a73,a74,a75,a76,f1,f2,f3,f4,f5,
   f6,b1,b3,b4,b5,b6,
   xk,yk,t,jF,jM,jS,n,h,data,fn,xx,ys,saveDigits;
   options `Copyright 2002 by Peter Stone`;
   
   data := _SOLN;

   saveDigits := Digits;
   Digits := max(trunc(evalhf(Digits)),Digits+5);

   # procedure to evaluate the gradient field
   fn := proc(_X,_Y)
      local val; 
      val := traperror(evalf(_FXY));
      if val=lasterror or not type(val,numeric) then
         error "evaluation of gradient field failed at %1",evalf([_X,_Y],saveDigits);
      end if;
      val;
      end proc;

   xx := evalf(x_rk45step);
   n := nops(data);

   if (data[1,1]&lt;data[n,1] and (xx&gt;data[n,1] or xx&lt;data[1,1]))
      or (data[n,1]&lt;data[1,1] and (xx&lt;data[n,1] or xx&gt;data[1,1])) then
      error "independent variable is outside the interpolation interval: %1",evalf(data[1,1])..evalf(data[n,1]);
   end if;

   c2 := 0.2;
	  c3 := 0.3;
	  c4 := 0.8;
	  c5 := evalf(8/9);
	  a21 := c2;
	  a31 := 0.075;
	  a32 := 0.225;
	  a41 := evalf(44/45);
	  a42 := evalf(-56/15);
	  a43 := evalf(32/9);
	  a51 := evalf(19372/6561);
	  a52 := evalf(-25360/2187);
	  a53 := evalf(64448/6561);
	  a54 := evalf(-212/729);
	  a61 := evalf(9017/3168);
	  a62 := evalf(-355/33);
	  a63 := evalf(46732/5247);
	  a64 := evalf(49/176);
	  a65 := evalf(-5103/18656);
	  a71 := evalf(35/384);
	  a73 := evalf(500/1113);
	  a74 := evalf(125/192);
	  a75 := evalf(-2187/6784);
	  a76 := evalf(11/84);
	  b1 := a71;
	  b3 := a73;
	  b4 := a74;
	  b5 := a75;
	  b6 := a76;

   # Peform a binary search for the interval containing x.
   n := nops(data);
   jF := 0;
   jS := n+1;

   if data[1,1]&lt;data[n,1] then
      while jS-jF&gt;1 do
        jM := trunc((jF+jS)/2);
        if xx&gt;=data[jM,1] then jF := jM else jS := jM end if;
      end do;
      if jM = n then jF := n-1; jS := n end if;
   else
      while jS-jF&gt; 1 do
        jM := trunc((jF+jS)/2);
        if xx&lt;=data[jM,1] then jF := jM else jS := jM end if;
      end do;
      if jM = n then jF := n-1; jS := n end if;
   end if;
  
   # Get the data needed from the list.
   xk := data[jF,1];
   yk := data[jF,2];

   # Do one step with step-size ..
   h := xx-xk;
   f1 := fn(xk,yk);
   t := a21*f1;
			f2 := fn(xk + c2*h,yk + t*h);
			t := a31*f1 + a32*f2;
			f3 := fn(xk + c3*h,yk + t*h);
			t := a41*f1 + a42*f2 + a43*f3;
			f4 := fn(xk + c4*h,yk + t*h);
			t := a51*f1 + a52*f2 + a53*f3 + a54*f4;
			f5 := fn(xk + c5*h,yk + t*h);
			t := a61*f1 + a62*f2 + a63*f3 + a64*f4 + a65*f5;
			f6 := fn(xk + h,yk + t*h);

   ys := yk + (b1*f1 + b3*f3 + b4*f4 + b5*f5 + b6*f6)*h;
   Digits := saveDigits;
   evalf(ys);
end proc: # of rk45step

   # start of main procedure rungk45
   x := lhs(eqn1);
   y := lhs(eqn2);
   rs := rhs(eqn1);
   x0 := lhs(rs);
   xn := rhs(rs);
   y0 := rhs(eqn2);

   # Get the options.
   # Set the default values to start with.
   maxstps := 2000;
   t := Float(1,-Digits);
   hmx := 0.25;
   hstrt := evalf(0.1*10^(-ceil(Digits/10)));
   hmn := min(0.000005,hstrt/2000);
   errcntl := 0;
   ymaxtemp := 0;
   outpt := 'rkstep';
   prntflg := false;
   Options := [];
   if nargs &gt; 3 then
      Options:=[args[4..nargs]];
      if not type(Options,list(equation)) then
         error "each optional argument must be an equation"
      end if;
      if hasoption(Options,'maxsteps','maxstps','Options') then
         if not type(maxstps,posint) then
            error "\"maxsteps\" must be a positive integer"
         end if;
      end if;
      if hasoption(Options,'tolerance','t','Options') then 
         tt := evalf(t); 
         if not type(tt,float) or 
            tt&gt;Float(1,-iquo(Digits,2)) or tt&lt;Float(1,-Digits*2) then
            error "\"tolerance\" must evaluate to a float between %1 and %2",Float(1,-Digits*2),Float(1,-iquo(Digits,2));
         end if;
      end if;
      if hasoption(Options,'hmax','hmx','Options') then
         if not type(hmx,realcons) or evalf(hmx)&lt;=0 or has(hmx,infinity) then
            error "\"hmax\" must be a finite positive real constant"
         end if;
      end if;
      if hasoption(Options,'hstart','hstrt','Options') then
         if not type(hstrt,realcons) or evalf(hstrt)&lt;=0 or has(hstrt,infinity) then
            error "\"hstart\" must be a finite positive real constant"
         end if;
         hmn := min(0.0005,hstrt/2000);
      end if;
      if hasoption(Options,'hmin','hmn','Options') then
         if not type(hmn,realcons) or evalf(hmn)&lt;=0 or has(hmn,infinity) then
            error "\"hmin\" must be a finite positive real constant"
         end if;
      end if;
      if evalf(hstrt&gt;hmx) or evalf(hstrt&lt;hmn) then
         error "\"hstart\" must be between \"hmin\" and \"hmax\""
      end if;
      if hasoption(Options,'errorcontrol','errc','Options') then
         if errc='auto' then errcntl := 0
         elif errc='relative' then errcntl := 1
         elif errc='absolute' then errcntl := 2
         elif errc='accumulative' then errcntl := 3
         else
            error "\"errorcontrol\" must be 'auto','absolute','relative' or 'accumulative'"
         end if;
      end if;
      if hasoption(Options,'maxvalue','ymaxtemp','Options') then
         if not type(ymaxtemp,realcons) then
            error "\"maxvalue\" must be a real constant"
         end if;
       end if;
      if hasoption(Options,'output','outpt','Options') then
         if not member(outpt,{'points','discrete','rkstep','rkinterp',
                                          'continuous','procedure'}) then
            error "\"output\" must be one of 'points','discrete','continuous','rkstep','rkinterp' or 'procedure'"
         end if;
         if outpt='discrete' then outpt := 'points' end if;
         if outpt='continuous' or outpt='procedure' then outpt := 'rkstep' end if; 
      end if;
      if hasoption(Options,'info','prntflg','Options') then
         if prntflg&lt;&gt;true then prntflg := false end if; 
      end if;
      if nops(Options)&gt;0 then
         error "%1 is not a valid option for %2",op(1,Options), procname;
      end if;
   end if;

   saveDigits := Digits;
   Digits := max(trunc(evalhf(Digits)),Digits+5);

   # procedure to evaluate the gradient field
   fn := subs({_FXY=evalf(fxy),_X=x,_Y=y},
      proc(_X,_Y)
      local val; 
      val := traperror(evalf(_FXY));
      if val=lasterror or not type(val,numeric) then
         error "evaluation of gradient field failed at %1",evalf([_X,_Y],saveDigits);
      end if;
      val;
      end proc);
  
   c2 := 0.2;
	  c3 := 0.3;
	  c4 := 0.8;
	  c5 := evalf(8/9);
   c8 := c2;
   c9 := 0.5;
	  a21 := c2;
	  a31 := 0.075;
	  a32 := 0.225;
	  a41 := evalf(44/45);
	  a42 := evalf(-56/15);
	  a43 := evalf(32/9);
	  a51 := evalf(19372/6561);
	  a52 := evalf(-25360/2187);
	  a53 := evalf(64448/6561);
	  a54 := evalf(-212/729);
	  a61 := evalf(9017/3168);
	  a62 := evalf(-355/33);
	  a63 := evalf(46732/5247);
	  a64 := evalf(49/176);
	  a65 := evalf(-5103/18656);
	  a71 := evalf(35/384);
	  a73 := evalf(500/1113);
	  a74 := evalf(125/192);
	  a75 := evalf(-2187/6784);
	  a76 := evalf(11/84);
	  a81 := evalf(5207/48000);
	  a83 := evalf(92/795);
	  a84 := evalf(-79/960);
	  a85 := evalf(53217/848000);
	  a86 := evalf(-11/300);
   a87 := evalf(4/125);
	  a91 := evalf(613/6144);
	  a93 := evalf(125/318);
	  a94 := evalf(-125/3072);
	  a95 := evalf(8019/108544);
	  a96 := evalf(-11/192);
   a97 := evalf(1/32);
	  b1 := a71;
	  b3 := a73;
	  b4 := a74;
	  b5 := a75;
	  b6 := a76;
	  e1 := evalf(71/57600);
   e3 := evalf(-71/16695);
   e4 := evalf(71/1920);
   e5 := evalf(-17253/339200);
   e6 := evalf(22/525);
   e7 := -0.025;

   xstart := evalf(x0);
   xend:= evalf(xn);

   sgn := sign(xend-xstart);
   h := sgn*hstrt;

   eps := evalf(t);
   safety := 0.9;
   pgrow := -0.2;
   pshrink := -0.25;
   errcontrol := 0.000189;  #(5/safety)^(1/pgrow)
   tiny := Float(1,-3*saveDigits);
  
   xk := evalf(x0);
   yk := evalf(y0);
   
   if ymaxtemp&lt;&gt;0 then
      ymax := abs(evalf(ymaxtemp))
   else
      ymax := max(abs(yk),tiny)
   end if;
   
   soln := NULL;
   finished := false;
   f1 := fn(xk,yk);

   for k from 1 to maxstps do
      if errcntl=0 then yscale := max(abs(yk),abs(f1*h),tiny)
      elif errcntl=1 then yscale := max(abs(yk),tiny)
      elif errcntl=2 then yscale := abs(ymax)
      else yscale := max(abs(f1*h),tiny) end if;

      if abs(h)&gt;=hmx then
         h := sgn*hmx;
         maxstepsize := true;
      else
         maxstepsize := false;
      end if;
      if abs(h)&lt;=hmn then
         h := sgn*hmn;
         minstepsize := true;
      else
         minstepsize := false;
      end if;
      if (xk+h-xend)*(xk+h-xstart) &gt; 0 then 
         h := xend-xk;
         laststep := true;
      else
         laststep := false;
      end if;

      # Do step.
      do
			      f1 := fn(xk,yk);
			      t := a21*f1;
			      f2 := fn(xk + c2*h,yk + t*h);
			      t := a31*f1 + a32*f2;
			      f3 := fn(xk + c3*h,yk + t*h);
			      t := a41*f1 + a42*f2 + a43*f3;
			      f4 := fn(xk + c4*h,yk + t*h);
			      t := a51*f1 + a52*f2 + a53*f3 + a54*f4;
			      f5 := fn(xk + c5*h,yk + t*h);
			      t := a61*f1 + a62*f2 + a63*f3 + a64*f4 + a65*f5;
			      f6 := fn(xk + h,yk + t*h);

         yout := yk + (b1*f1 + b3*f3 + b4*f4 + b5*f5 + b6*f6)*h;

         t := a71*f1 + a73*f3 + a74*f4 + a75*f5 + a76*f6;
			      f7 := fn(xk + h,yk + t*h);
         # error estimate
         yerr := (e1*f1 + e3*f3 + e4*f4 + e5*f5 + e6*f6 + e7*f7)*h;
         
         err := abs(yerr/yscale)/eps;
         if err&lt;=1.0  or minstepsize then break end if;

         # Shrink, but not too much.
         if prntflg then
            print(`reducing step-size and repeating step`);
         end if;
         htemp := safety*h*err^pshrink;
         if h&gt;=0 then
            h := max(htemp,0.1*h)
         else
            h := min(htemp,0.1*h)
         end if;
         xnew := xk + h;
         if xnew=xk then
            error "stepsize underflow"
         end if;
      end do;

			   if outpt='points' or outpt='rkstep' then
         soln := soln,[xk,yk];
      else # extra evaluations needed for interpolation
			      t := a81*f1 + a83*f3 + a84*f4 + a85*f5 + a86*f6 + a87*f7;
			      f8 := fn(xk + c8*h,yk + t*h);
			      t := a91*f1 + a93*f3 + a94*f4 + a95*f5 + a96*f6 + a97*f7;
			      f9 := fn(xk + c9*h,yk + t*h);
			      soln := soln,[xk,yk,f1,f2,f3,f4,f5,f6,f7,f8,f9];
      end if;
      
      if err&gt;errcontrol then
         hnext := safety*h*err^pgrow;
         inc := false;
      else
         if abs(h)&lt;hmx then
            hnext := 5*h;
            inc := true;
         else
            h := sgn*hmx;
            maxstepsize := true;
            inc := false;
         end if;
      end if;

      xk := xk + h;
      yk := yout;
      f1 := fn(xk,yk);
      if prntflg then
         print(`abs err estimate -&gt; `,evalf(abs(yerr),5),`abs err bound -&gt; `,evalf(abs(yscale)*eps,5));
         print(`step`,k,`   `,h,`   `,[xk,yk]);
         if laststep then
            print(`last step`);
         elif inc then
            print(`increasing step-size by a factor of 5`)
         elif maxstepsize then
            print(`used maximum step-size`)
         elif not minstepsize then
            print(`using error to adjust step-size`)
         else 
            print(`used minimum step-size`)
         end if;
         print(``);
      end if;

      if (xk-xend)*(xend-xstart)&gt;=0 then
         finished := true;
         break;
      end if;

      if abs(yk)&gt;ymax then ymax := abs(yk) end if;
      h := hnext;
   end do;

   if not finished and k&gt;=maxstps then
      error "reached maximum number of steps before reaching end of interval"
   end if;

   soln := soln,[xk,yk];
   Digits := saveDigits;
			if outpt='rkstep' then
      return subs({_SOLN=[soln],_FXY=fxy,_X=x,_Y=y},eval(rk45step));
			elif outpt='rkinterp' then
      return subs(_SOLN=[soln],eval(rk45interp));  
   else
      return evalf([soln]);
   end if;
end proc: # of rungk45</Font></Text-field></Input></Group><Text-field layout="Normal" style="Normal"/></Section><Section collapsed="true"><Title><Text-field layout="Heading 2" style="Heading 2">rungk78: implementation</Text-field></Title><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">rungk78 := proc(fxy,eqn1,eqn2) 
   local ak1,ak2,ak3,ak4,ak5,ak6,ytemp,fn,soln,xk,yk,k,
   xend,xstart,h,c1,c2,c3,c4,c5,c6,c7,c8,c9,cA,a21,a31,
   a32,a41,a42,a43,a51,a52,a53,a54,a61,a62,a63,a64,a65,
   a71,a72,a73,a74,a75,a76,a81,a82,a83,a84,a85,a86,a87,
   a91,a94,a95,a96,a97,a98,aA1,aA4,aA5,aA6,aA7,aA8,aA9,
   aB1,aB4,aB5,aB6,aB7,aB8,aB9,aBA,aC1,aC6,aC7,aC8,aC9,
   aCA,aD1,aD4,aD5,aD6,aD7,aD8,aD9,aDA,f1,f2,f3,f4,f5,
   f6,f7,f8,f9,fA,fB,fC,fD,b6,b7,b8,b9,bA,bB,bC,bD,
   e1,eB,eC,eD,yout,yerr,rs,hmx,hmn,hstrt,temp,sgn,
   maxstps,tiny,yscale,err,htemp,xnew,hnext,saveDigits,eps,
   Options,j,prntflg,t,tt,errcntl,ymax,ymaxtemp,x,y,errc,
   x0,y0,xn,f,outpt,minstepsize,ftd,inc,rk78step,finished,   
   maxstepsize,laststep,safety,pgrow,pshrink,errcontrol;

rk78step := proc(x_rk78step::realcons)
   local c2,c3,c4,c5,c6,c7,c8,c9,cA,a21,a31,a32,a41,a43,
   a51,a53,a54,a61,a64,a65,a71,a74,a75,a76,a81,a85,a86,
   a87,a91,a94,a95,a96,a97,a98,aA1,aA4,aA5,aA6,aA7,aA8,
   aA9,aC1,aC6,aC7,aC8,aC9,aCA,aD1,aD4,aD5,aD6,aD7,aD8,
   aD9,aDA,f1,f2,f3,f4,f5,f6,f7,f8,f9,fA,fC,fD,b6,b7,b8,
   b9,bA,bC,bD,xk,yk,t,jF,jM,jS,n,h,data,fn,xx,ys,saveDigits;
   options `Copyright 2002 by Peter Stone`;
   
   data := _SOLN;

   saveDigits := Digits;
   Digits := max(trunc(evalhf(Digits)),Digits+5);

   # procedure to evaluate the gradient field
   fn := proc(_X,_Y)
      local val; 
      val := traperror(evalf(_FXY));
      if val=lasterror or not type(val,numeric) then
         error "evaluation of gradient field failed at %1",evalf([_X,_Y],saveDigits);
      end if;
      val;
      end proc;

   xx := evalf(x_rk78step);
   n := nops(data);
   if (data[1,1]&lt;data[n,1] and (xx&gt;data[n,1] or xx&lt;data[1,1])) 
      or (data[n,1]&lt;data[1,1] and (xx&lt;data[n,1] or xx&gt;data[1,1])) then
      error "independent variable is outside the interpolation interval: %1",evalf(data[1,1])..evalf(data[n,1]);
   end if;

   c2 := evalf(2/27);
   c3 := evalf(1/9);
   c4 := evalf(1/6);
   c5 := evalf(5/12);
   c6 := 0.5;
   c7 := evalf(5/6);
   c8 := c4;
   c9 := evalf(2/3);
   cA := evalf(1/3);
   a21 := c2;
   a31 := evalf(1/36);
   a32 := evalf(1/12);
   a41 := evalf(1/24);
   a43 := 0.125;
   a51 := c5;
   a53 := -1.5625;
   a54 := 1.5625;
   a61 := 0.05;
   a64 := 0.25;
   a65 := 0.2;
   a71 := evalf(-25/108);
   a74 := evalf(125/108);
   a75 := evalf(-65/27);
   a76 := evalf(125/54);
   a81 := evalf(31/300);
   a85 := evalf(61/225);
   a86 := evalf(-2/9);
   a87 := evalf(13/900);
   a91 := 2;
   a94 := evalf(-53/6);
   a95 := evalf(704/45);
   a96 := evalf(-107/9);
   a97 := evalf(67/90);
   a98 := 3;
   aA1 := evalf(-91/108);
   aA4 := evalf(23/108);
   aA5 := evalf(-976/135);
   aA6 := evalf(311/54);
   aA7 := evalf(-19/60);
   aA8 := evalf(17/6);
   aA9 := -a32;
   aC1 := evalf(3/205);
   aC6 := evalf(-6/41);
   aC7 := evalf(-3/205);
   aC8 := evalf(-3/41);
   aC9 := -aC8;
   aCA := evalf(6/41);
   aD1 := evalf(-1777/4100);
   aD4 := evalf(-341/164);
   aD5 := evalf(4496/1025);
   aD6 := evalf(-289/82);
   aD7 := evalf(2193/4100);
   aD8 := evalf(51/82);
   aD9 := evalf(33/164);
   aDA := evalf(12/41);
   b6 := evalf(34/105);
   b7 := evalf(9/35);
   b8 := b7;
   b9 := evalf(9/280);
   bA := b9;
   bC := evalf(41/840);
   bD := bC;

   # Peform a binary search for the interval containing x.
   n := nops(data);
   jF := 0;
   jS := n+1;

   if data[1,1]&lt;data[n,1] then
      while jS-jF&gt;1 do
        jM := trunc((jF+jS)/2);
        if xx&gt;=data[jM,1] then jF := jM else jS := jM end if;
      end do;
      if jM = n then jF := n-1; jS := n end if;
   else
      while jS-jF&gt;1 do
        jM := trunc((jF+jS)/2);
        if xx&lt;=data[jM,1] then jF := jM else jS := jM end if;
      end do;
      if jM = n then jF := n-1; jS := n end if;
   end if;
  
   # Get the data needed from the list.
   xk := data[jF,1];
   yk := data[jF,2];

   # Do one step with step-size ..
   h := xx-xk;
   f1 := fn(xk,yk);
   t := a21*f1;
   f2 := fn(xk + c2*h,yk + t*h);
   t := a31*f1 + a32*f2;
   f3 := fn(xk + c3*h,yk + t*h);
   t := a41*f1 + a43*f3;
   f4 := fn(xk + c4*h,yk + t*h);
   t := a51*f1 + a53*f3 + a54*f4;
   f5 := fn(xk + c5*h,yk + t*h);
   t := a61*f1 + a64*f4 + a65*f5;
   f6 := fn(xk + c6*h,yk + t*h);
   t := a71*f1 + a74*f4 + a75*f5 + a76*f6;
   f7 := fn(xk + c7*h,yk + t*h);
   t := a81*f1 + a85*f5 + a86*f6 + a87*f7;
   f8 := fn(xk + c8*h,yk + t*h);
   t := a91*f1 + a94*f4 + a95*f5 + a96*f6 + a97*f7 + a98*f8;
   f9 := fn(xk + c9*h,yk + t*h);
   t := aA1*f1 + aA4*f4 + aA5*f5 + aA6*f6 + aA7*f7 +
         aA8*f8 + aA9*f9;
   fA := fn(xk + cA*h,yk + t*h);
   t := aC1*f1 + aC6*f6 + aC7*f7 + aC8*f8 + aC9*f9 +
         aCA*fA;
   fC := fn(xk,yk + t*h);
   t := aD1*f1 + aD4*f4 + aD5*f5 + aD6*f6 + aD7*f7 +
         aD8*f8 + aD9*f9 + aDA*fA + fC;
   fD := fn(xk + h,yk + t*h);
			
   # Calculate the intermediate y value.
   t := b6*f6 +b7*f7 + b8*f8 + b9*f9 + bA*fA + bC*fC + bD*fD;
   ys := yk + t*h;
   
   Digits := saveDigits;
   evalf(ys);
end proc: # of rk78step 

   # start of main procedure rungk78
   x := lhs(eqn1);
   y := lhs(eqn2);
   rs := rhs(eqn1);
   x0 := lhs(rs);
   xn := rhs(rs);
   y0 := rhs(eqn2);

   # Get the options.
   # Set the default values to start with.
   maxstps := 2000;
   t := Float(1,-Digits);
   hmx := 0.5;
   hstrt := evalf(0.1*10^(-ceil(Digits/10)));
   hmn := min(0.000005,hstrt/2000);
   errcntl := 0;
   ymaxtemp := 0;
   outpt := 'rkstep';
   prntflg := false;
   Options := [];
   if nargs&gt;3 then
      Options:=[args[4..nargs]];
      if not type(Options,list(equation)) then
         error "each optional argument must be an equation"
      end if;
      if hasoption(Options,'maxsteps','maxstps','Options') then
         if not type(maxstps,posint) then
            error "\"maxsteps\" must be a positive integer"
         end if;
      end if;
      if hasoption(Options,'tolerance','t','Options') then 
         tt := evalf(t); 
         if not type(tt,float) or 
            tt&gt;Float(1,-iquo(Digits,2)) or tt&lt;Float(1,-Digits*2) then
            error "\"tolerance\" must evaluate to a float between %1 and %2",Float(1,-Digits*2),Float(1,-iquo(Digits,2));
         end if;
      end if;
      if hasoption(Options,'hmax','hmx','Options') then
         if not type(hmx,realcons) or evalf(hmx)&lt;=0 or has(hmx,infinity) then
            error "\"hmax\" must be a finite positive real constant"
         end if;
      end if;
      if hasoption(Options,'hstart','hstrt','Options') then
         if not type(hstrt,realcons) or evalf(hstrt)&lt;=0 or has(hstrt,infinity) then
            error "\"hstart\" must be a finite positive real constant"
         end if;
         hmn := min(0.000005,hstrt/2000);
      end if;
      if hasoption(Options,'hmin','hmn','Options') then
         if not type(hmn,realcons) or evalf(hmn)&lt;=0 or has(hmn,infinity) then
            error "\"hmin\" must be a finite positive real constant"
         end if;
      end if;
      if evalf(hstrt&gt;hmx) or evalf(hstrt&lt;hmn) then
         error "\"hstart\" must be between \"hmin\" and \"hmax\""
      end if;
      if hasoption(Options,errorcontrol,'errc','Options') then
         if errc='auto' then errcntl := 0
         elif errc='relative' then errcntl := 1
         elif errc='absolute' then errcntl := 2
         elif errc='accumulative' then errcntl := 3
         else
            error "\"errorcontrol\" must be 'auto','absolute','relative' or 'accumulative'"
         end if;
      end if;
      if hasoption(Options,'maxvalue','ymaxtemp','Options') then
         if not type(ymaxtemp,realcons) then
            error "\"maxvalue\" must be a real constant"
         end if;
      end if;
      if hasoption(Options,'output','outpt','Options') then
         if not member(outpt,{'points','discrete','rkstep',
                                          'continuous','procedure'}) then
            error "\"output\" must be one of 'points','discrete','continuous','rkstep' or 'procedure'"
         end if;
         if outpt='discrete' then outpt := 'points' end if;
         if outpt='continuous' or outpt='procedure' then outpt := 'rkstep' end if; 
      end if;
      if hasoption(Options,'info','prntflg','Options') then
         if prntflg&lt;&gt;true then prntflg := false end if; 
      end if;
      if nops(Options)&gt;0 then
         error "%1 is not a valid option for %2",op(1,Options), procname;
      end if;
   end if;

   saveDigits := Digits;
   Digits := max(trunc(evalhf(Digits)),Digits+5);
   
   # procedure to evaluate the gradient field
   fn := subs({_FXY=evalf(fxy),_X=x,_Y=y},
      proc(_X,_Y)
      local val; 
      val := traperror(evalf(_FXY));
      if val=lasterror or not type(val,numeric) then
         error "evaluation of gradient field failed at %1",evalf([_X,_Y],saveDigits);
      end if;
      val;
      end proc);

   c2 := evalf(2/27);
   c3 := evalf(1/9);
   c4 := evalf(1/6);
   c5 := evalf(5/12);
   c6 := 0.5;
   c7 := evalf(5/6);
   c8 := c4;
   c9 := evalf(2/3);
   cA := evalf(1/3);
   #cB := 1;
   #cD := 1;
   a21 := c2;
   a31 := evalf(1/36);
   a32 := evalf(1/12);
   a41 := evalf(1/24);
   a43 := 0.125;
   a51 := c5;
   a53 := -1.5625;
   a54 := 1.5625;
   a61 := 0.05;
   a64 := 0.25;
   a65 := 0.2;
   a71 := evalf(-25/108);
   a74 := evalf(125/108);
   a75 := evalf(-65/27);
   a76 := evalf(125/54);
   a81 := evalf(31/300);
   a85 := evalf(61/225);
   a86 := evalf(-2/9);
   a87 := evalf(13/900);
   a91 := 2;
   a94 := evalf(-53/6);
   a95 := evalf(704/45);
   a96 := evalf(-107/9);
   a97 := evalf(67/90);
   a98 := 3;
   aA1 := evalf(-91/108);
   aA4 := evalf(23/108);
   aA5 := evalf(-976/135);
   aA6 := evalf(311/54);
   aA7 := evalf(-19/60);
   aA8 := evalf(17/6);
   aA9 := -a32;
   aB1 := evalf(2383/4100);
   aB4 := evalf(-341/164);
   aB5 := evalf(4496/1025);
   aB6 := evalf(-301/82);
   aB7 := evalf(2133/4100);
   aB8 := evalf(45/82);
   aB9 := evalf(45/164);
   aBA := evalf(18/41);
   aC1 := evalf(3/205);
   aC6 := evalf(-6/41);
   aC7 := evalf(-3/205);
   aC8 := evalf(-3/41);
   aC9 := -aC8;
   aCA := evalf(6/41);
   aD1 := evalf(-1777/4100);
   aD4 := evalf(-341/164);
   aD5 := evalf(4496/1025);
   aD6 := evalf(-289/82);
   aD7 := evalf(2193/4100);
   aD8 := evalf(51/82);
   aD9 := evalf(33/164);
   aDA := evalf(12/41);
   b6 := evalf(34/105);
   b7 := evalf(9/35);
   b8 := b7;
   b9 := evalf(9/280);
   bA := b9;
   bC := evalf(41/840);
   bD := bC;
   e1 := -bC;
   eB := e1;
   eC := bC;
   eD := bC;
   
   xstart := evalf(x0);
   xend:= evalf(xn);
   
   sgn := sign(xend-xstart);
   h := sgn*hstrt;

   eps := evalf(t);
   safety := 0.9;
   pgrow := -0.125;
   pshrink := -0.14285714285714285714;
   errcontrol := 0.000001101996057; #(5/safety)^(1/pgrow)

   tiny := Float(1,-3*saveDigits);
  
   xk := evalf(x0);
   yk := evalf(y0);
   
   if ymaxtemp&lt;&gt;0 then
      ymax := abs(evalf(ymaxtemp))
   else
      ymax := max(abs(yk),tiny)
   end if;
   
   soln := NULL;
   finished := false;
   f1 := fn(xk,yk);

   for k from 1 to maxstps do
      if errcntl=0 then yscale := max(abs(yk),abs(f1*h),tiny)
      elif errcntl=1 then yscale := max(abs(yk),tiny)
      elif errcntl=2 then yscale := abs(ymax)
      else yscale := max(abs(f1*h),tiny) end if;
      
      if abs(h)&gt;=hmx then
         h := sgn*hmx;
         maxstepsize := true;
      else
         maxstepsize := false;
      end if;
      if abs(h)&lt;=hmn then
         h := sgn*hmn;
         minstepsize := true;
      else
         minstepsize := false;
      end if;
      if (xk+h-xend)*(xk+h-xstart)&gt;0 then 
         h := xend-xk;
         laststep := true;
      else
         laststep := false;
      end if;

      # Do step.
      do
         t := a21*f1;
         f2 := fn(xk + c2*h,yk + t*h);
         t := a31*f1 + a32*f2;
         f3 := fn(xk + c3*h,yk + t*h);
         t := a41*f1 + a43*f3;
         f4 := fn(xk + c4*h,yk + t*h);
         t := a51*f1 + a53*f3 + a54*f4;
         f5 := fn(xk + c5*h,yk + t*h);
         t := a61*f1 + a64*f4 + a65*f5;
         f6 := fn(xk + c6*h,yk + t*h);
         t := a71*f1 + a74*f4 + a75*f5 + a76*f6;
         f7 := fn(xk + c7*h,yk + t*h);
         t := a81*f1 + a85*f5 + a86*f6 + a87*f7;
         f8 := fn(xk + c8*h,yk + t*h);
         t := a91*f1 + a94*f4 + a95*f5 + a96*f6 + a97*f7 + a98*f8;
         f9 := fn(xk + c9*h,yk + t*h);
         t := aA1*f1 + aA4*f4 + aA5*f5 + aA6*f6 + aA7*f7 +
                  aA8*f8 + aA9*f9;
         fA := fn(xk + cA*h,yk + t*h);
         t := aB1*f1 + aB4*f4 + aB5*f5 + aB6*f6 + aB7*f7 +
         aB8*f8 + aB9*f9 + aBA*fA;
         fB := fn(xk + h,yk + t*h);
         t := aC1*f1 + aC6*f6 + aC7*f7 + aC8*f8 + aC9*f9 +
                  aCA*fA;
         fC := fn(xk,yk + t*h);
         t := aD1*f1 + aD4*f4 + aD5*f5 + aD6*f6 + aD7*f7 +
         aD8*f8 + aD9*f9 + aDA*fA + fC;
         fD := fn(xk + h,yk + t*h);
 			
         yout := yk + (b6*f6 +b7*f7 + b8*f8 + b9*f9 + bA*fA +
                  bC*fC + bD*fD)*h;

         # error estimate
         yerr := (e1*f1 + eB*fB + eC*fC + eD*fD)*h;
         
         err := abs(yerr/yscale)/eps;
         if err&lt;=1.0 or minstepsize then break end if;
         
         # Shrink, but not too much.
         if prntflg then
            print(`reducing step-size and repeating step`);
         end if;
         htemp := safety*h*err^pshrink;
         if h&gt;=0 then
            h := max(htemp,0.1*h)
         else
            h := min(htemp,0.1*h)
         end if;
         xnew := xk + h;
         if xnew=xk then
            error "stepsize underflow"
         end if;
      end do;

      soln := soln,[xk,yk];
      
      if err&gt;errcontrol then
         hnext := safety*h*err^pgrow;
         inc := false;
      else
         if abs(h)&lt;hmx then
            hnext := 5*h;
            inc := true;
         else
            h := sgn*hmx;
            maxstepsize := true;
            inc := false;
         end if;
      end if;
 
      xk := xk + h;
      yk := yout;
      f1 := fn(xk,yk);
      if prntflg then
         print(`abs err estimate -&gt; `,evalf(abs(yerr),5),`abs err bound -&gt; `,evalf(abs(yscale)*eps,5));
         print(`step`,k,`   `,h,`   `,[xk,yk]);
         if laststep then
            print(`last step`);
         elif inc then
            print(`increasing step-size by a factor of 5`)
         elif maxstepsize then
            print(`used maximum step-size`)
         elif not minstepsize then
            print(`using error to adjust step-size`)
         else 
            print(`used minimum step-size`)
         end if;
         print(``);
      end if;
      
      if (xk-xend)*(xend-xstart)&gt;=0 then
         finished := true;
         break;
      end if;

      if abs(yk)&gt;ymax then ymax := abs(yk) end if;
      h := hnext;
   end do;

   if not finished and k&gt;=maxstps then
      error "reached maximum number of steps before reaching end of interval"
   end if;

   soln := soln,[xk,yk];
   Digits := saveDigits;
			if outpt='rkstep' then
      return subs({_SOLN=[soln],_FXY=fxy,_X=x,_Y=y},eval(rk78step));
   else
      return evalf([soln]);
   end if;
end proc: # of rungk78</Font></Text-field></Input></Group><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">;</Font></Text-field></Input></Group></Section><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">Examples are given in the next section.</Text-field><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">;</Font></Text-field></Input></Group></Section><Section><Title><Text-field layout="Heading 2" style="Heading 2"><Font executable="false" italic="false" size="14" style="Maple Input" underline="false">desolveRK(..,stepsize=variable)</Font>: examples</Text-field></Title><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal"><Font executable="false" italic="false" style="Purple Emphasis" underline="false">Note</Font>: The utility routine <Font executable="false" italic="false" size="12" style="Maple Input" underline="false">comparewithfcn</Font> . . <Hyperlink bold="false" executable="false" family="Times New Roman" hyperlink="true" linktarget="Wks:#comparewithfcn" size="12" style="Hyperlink">comparewithfcn</Hyperlink> is needed for these examples.</Text-field><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">;</Font></Text-field></Input></Group><Section><Title><Text-field layout="Heading 2" style="Heading 2">Example 1<Font bold="true" executable="false" family="Times New Roman" foreground="[128,0,0]" italic="false" style="_cstyle302" underline="false"> .. illustration of numerical solutions obtained by adaptive Runge-Kutta methods </Font></Text-field></Title><Text-field layout="Normal" style="Normal">First we find the analytical solution to the differential equation   <Equation input-equation="dy/dx = -x^2*y;" style="2D Comment">NiMvKiYlI2R5RyIiIiUjZHhHISIiLCQqJiUieEciIiMlInlHRiZGKA==</Equation>, with the initial condition <Equation input-equation="y(0) = 2" style="2D Comment">NiMvLSUieUc2IyIiISIiIw==</Equation>.</Text-field><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">de := diff(y(x),x)=-x^2*y(x);
ic := y(0)=2;
dsolve({de,ic},y(x));
g := unapply(rhs(%),x);
plot(g(x),x=-1..2);</Font></Text-field></Input><Output><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiM+JSNkZUcvLSUlZGlmZkc2JC0lInlHNiMlInhHRiwsJComKUYsIiIjIiIiRilGMSEiIg==</Equation></Text-field><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiM+JSNpY0cvLSUieUc2IyIiISIiIw==</Equation></Text-field><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiMvLSUieUc2IyUieEcsJComIiIjIiIiLSUkZXhwRzYjLCQqJiIiJCEiIkYnRjFGMkYrRis=</Equation></Text-field><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiM+JSJnR2YqNiMlInhHNiI2JCUpb3BlcmF0b3JHJSZhcnJvd0dGKCwkKiYiIiMiIiItJSRleHBHNiMsJComI0YvIiIkRi8qJCk5JEY2Ri9GLyEiIkYvRi9GKEYoRig=</Equation></Text-field><Text-field layout="Maple Plot" style="Maple Plot"><Plot height="203" type="two-dimensional" width="331">LSUlUExPVEc2Ky0lJ0NVUlZFU0c2JDdTNyQkISIiIiIhJCIzLXpAPF1bQSJ6IyEjPDckJCEzWyoqKioqXFAmM1kkKiEjPSQiMzNCaShbUyxiaSNGLzckJCEzQysrRGN4NngoKUYzJCIzbksxTXVBaTBERi83JCQhM2IrK11pVERQIilGMyQiMy9CT2dRSlskUiNGLzckJCEzQSoqKipcUCJcSlwoRjMkIjNwb01VdSgqNCxCRi83JCQhM2cqKipcN1YwQCZvRjMkIjNrbzFbNSYqUkVBRi83JCQhM3crK0RjZXhkaUYzJCIzX3UvI3lWRS08I0YvNyQkITNqKioqXGkrI1FVY0YzJCIzWkk2cC5QVEJARi83JCQhMyQqKioqXGkhMyVmKyZGMyQiM3VlWikqelFTJjMjRi83JCQhMzsrK0Qib1M6UCVGMyQiM2knPkMmPXNaYz9GLzckJCEzaCoqKioqXDwjKSo9UEYzJCIzdFVYQ0VuZU0/Ri83JCQhMyMqKioqKlwoRzNVOSRGMyQiM0M/RTtfLSQzLSNGLzckJCEzWSoqKioqXC1cclwjRjMkIjMpUWJLJWUhMy8sI0YvNyQkITM/KysrdkdWWj1GMyQiMzQ3JmZpJno/Lz9GLzckJCEzXyoqKioqXCg0SkA3RjMkIjNobCpbMyVbQCw/Ri83JCQhMzssK11pSUtGbCEjPiQiMydvZVcvVCY9Kz9GLzckJCIzKFIsKytdc2lMIyEjPyQiM2U+KSlcIioqKioqKio+Ri83JCQiM0ssKysrIVI1J2ZGZHAkIjNrczUrI3plKSoqPkYvNyQkIjMhKSoqKlxQL1FCRSJGMyQiM1NTUCV6VWYnKSo+Ri83JCQiMzkqKioqKipcIm8/Jj1GMyQiMysxQGBEI3BkKj5GLzckJCIzaysrdlZiNCpcI0YzJCIzI1xJcmZsQCcqKT5GLzckJCIzdysrREonPV82JEYzJCIzJT10NFpnWSp6PkYvNyQkIjMjNCsrdlZ5IWVQRjMkIjM/Jm96QUFGXCc+Ri83JCQiMyc0K10oPVdVW1ZGMyQiM0UjZUcqRyhHZiU+Ri83JCQiM3MqKioqXDdCPiYpXEYzJCIzeEAkeUU2KDM+PkYvNyQkIjN3KioqXFA+Om1rJkYzJCIzb11jJ2U1ME4pPUYvNyQkIjNkKioqXGl2JlFBaUYzJCIzdyFSV1dJbmMlPUYvNyQkIjNqKytdUFBCV29GMyQiM0Fia283aEcoeiJGLzckJCIzJSopKioqKipcTm0nWyhGMyQiM10kPjYwIj0kKlE8Ri83JCQiMzYqKioqXCh5Yl42KUYzJCIzS2lScjNea3Q7Ri83JCQiMycpKioqXFBNYUtzKUYzJCIzWkVXTXdyKy47Ri83JCQiM2EqKioqXDdUVylSKkYzJCIzXCUqM0Ykb0ZsXiJGLzckJCIzeioqKioqXEA4MCsiRi8kIjNVU1dHanBLSzlGLzckJCIzMSsrXTcsSGw1Ri8kIjNTOmdtV0FsTzhGLzckJCIzKCkqKlxQNHcpUjciRi8kIjM9dyUqNDoqXGVDIkYvNyQkIjM7KytdeCVmIik9IkYvJCIzZSY0eipbcFVWNkYvNyQkIjMhKSoqXFAvLWFbN0YvJCIzISlvajV4TVFYNUYvNyQkIjMvK10oPVliO0oiRi8kIjM1NWxSM0RcRSUqRjM3JCQiMycpKioqKlxpQE90OEYvJCIzPSc+SmVuWlRWKUYzNyQkIjMnKSoqXFBmTCd6ViJGLyQiMzBNIz1SXiRHQnVGMzckJCIzPisrKyEqPj0rOkYvJCIzIWU9cTgiM1IhXCdGMzckJCIzLSsrREUmNFFjIkYvJCIzTTYkeT4kKkgqKmUmRjM3JCQiMz0rXVAlPjVwaSJGLyQiMydvODgxNWQvdyVGMzckJCIzOSsrK2JKKltvIkYvJCIzT3dgVDN4aWdTRjM3JCQiMzMrK0RyIls4diJGLyQiMz07byEpeUdCUExGMzckJCIzKysrK0lqeTU9Ri8kIjMjcFc8JmY/cmpGRjM3JCQiMzErXVAvKWZUKD1GLyQiMyFwdGArXywoR0FGMzckJCIzMStdaTBqIlskPkYvJCIzVzRhIz1aSiYpeSJGMzckJCIiI0YsJCIzOUpnWEMhcCcqUSJGMy0lJkNPTE9SRzYmJSRSR0JHJCIjNUYrJEYsRitGY1tsLSUrQVhFU0xBQkVMU0c2JFEieDYiUSFGaFtsLSUqR1JJRFNUWUxFRzYjJSxSRUNUQU5HVUxBUkctJSpMSU5FU1RZTEVHNiNGLC0lJUZPTlRHNiQlKkhFTFZFVElDQUdGYltsLSUsT1JJRU5UQVRJT05HNiQkIiNYRixGaFxsLSUrUFJPSkVDVElPTkc2I0ZhW2wtRl5bbDYjJSVOT05FRy0lJVZJRVdHNiQ7JCEjNUYrJCIjP0YrOyQiMWtyNVxWPCNmKUYvJCIwckUiNCtGV0chIzk=</Plot></Text-field></Output></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">;</Font></Text-field></Input></Group><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">Now we use the procedure <Font executable="false" italic="false" size="12" style="Maple Input" underline="false">desolveRK</Font> to find a discrete set of points along the solution curve between <Equation input-equation="x = 0" style="2D Comment">NiMvJSJ4RyIiIQ==</Equation> and <Equation input-equation="x = 2" style="2D Comment">NiMvJSJ4RyIiIw==</Equation>, and plot these points along with the curve for the analytical solution  <Equation input-equation="y = 2*exp(-x^3/3);" style="2D Comment">NiMvJSJ5RyomIiIjIiIiLSUkZXhwRzYjLCQqJiUieEciIiRGLiEiIkYvRic=</Equation>. The width of each step is controlled by the procedure in an attempt to ensure that the values obtained are correct to about 10 digits (with Maple running in the default mode).</Text-field><Text-field layout="Normal" style="Normal">The method used is the combined 4th and 5th order Runge-Kutta method in which the error in the 4th order values is estimated by computing 5th order values as well. The values returned by the procedure are those obtained by the 5th order Runge-Kutta method. This method is obtained with the default options<Font executable="false" italic="false" style="Grey Emphasis" underline="false"> </Font>''<Font executable="false" italic="false" style="Grey Emphasis" underline="false">stepsize=variable</Font>'' and ''<Font executable="false" italic="false" style="Grey Emphasis" underline="false">method=rk45</Font>'' (which could be omitted).  </Text-field><Text-field layout="Normal" style="Normal"><Font executable="false" italic="false" style="Purple Emphasis" underline="false">Note</Font>: The option ''<Font executable="false" italic="false" style="Grey Emphasis" underline="false">output=points</Font>'' must be included in order to obtain a discrete solution. </Text-field><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">de := diff(y(x),x)=-x^2*y(x);
ic := y(0)=2;
pts1 := desolveRK({de,ic},y(x),x=0..2,stepsize=variable,method=rk45,output=points):
plot([g(x),pts1],x=0..2,y=0..2,style=[line,point],
                        symbol=circle,color=[red,blue]);</Font></Text-field></Input><Output><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiM+SSNkZUc2Ii8tSSVkaWZmR0kqcHJvdGVjdGVkR0YpNiQtSSJ5R0YlNiNJInhHRiVGLiwkKiZGLiIiI0YrIiIiISIi</Equation></Text-field><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiM+SSNpY0c2Ii8tSSJ5R0YlNiMiIiEiIiM=</Equation></Text-field></Output><Output><Text-field layout="Warning" style="Warning">Warning, unable to evaluate 1 of the 2 functions to numeric values in the region; see the plotting command's help page to ensure the calling sequence is correct
</Text-field></Output><Output><Text-field layout="Maple Plot"><Plot height="400" type="two-dimensional" width="400">LSUlUExPVEc2Jy0lJ0NVUlZFU0c2JTdobzckJCIiIUYrJCIiI0YrNyQkIjMtKysrKysrKzUhIz4kIjMpKSoqKioqSEwqKioqKj4hIzw3JCQiM3kqKioqKioqKioqKioqKmZGMSQiMy8rKyswZyYpKio+RjQ3JCQiMyUqKioqKioqcDdjVTchIz0kIjMvKysrTDlzKSo+RjQ3JCQiMyYqKioqKip6JDRqOD5GPSQiMycqKioqKio+bUxgKj5GNDckJCIzdyoqKioqUi4lWz1ERj0kIjMlKioqKioqSCgpeSQqKT5GNDckJCIzKSkqKioqKnAmPSZlMyRGPSQiMzUrKyteY10hKT5GNDckJCIzJSoqKioqKnBIeCpIT0Y9JCIzLSsrK2VgT28+RjQ3JCQiMycpKioqKipwIlwrZlRGPSQiMysrKyssMmhfPkY0NyQkIjM1KysrKClwL3pZRj0kIjMlKioqKioqKio0ZkckPkY0NyQkIjNNKysrIWZ3ZT4mRj0kIjMsKysrdG5qMz5GNDckJCIzbioqKioqXG1hanImRj0kIjMzKysrKnlwI3o9RjQ3JCQiM10qKioqKnBSJCk0RCdGPSQiMysrKytLYWhWPUY0NyQkIjMjKSoqKioqKjRSP0FvRj0kIjMnKioqKioqKj1lOCp6IkY0NyQkIjNVKysrX1opZVUoRj0kIjMhKioqKioqZnQ8W3UiRjQ3JCQiMyUqKioqKioqWyJHZil5Rj0kIjMjKioqKioqXF0lUSlwIkY0NyQkIjMlKSoqKioqSC8kKTRPKUY9JCIzIyoqKioqKnokRyZmayJGNDckJCIzbyoqKioqenooWyp5KUY9JCIzKysrKyUzKClbZiJGNDckJCIzYSoqKioqZlhtWD0qRj0kIjMrKysrKik0elc6RjQ3JCQiM2UqKioqKipvT3FjJipGPSQiMzMrKysiUkBeXCJGNDckJCIzcSoqKioqKlx1dzYqKkY9JCIzLSsrK0YxbFg5RjQ3JCQiMzUrKytvYU5ENUY0JCIzLysrKyopeUYnUiJGNDckJCIzIyoqKioqKnBQJ1tlNUY0JCIzLSsrK0lrJXBNIkY0NyQkIjMjKioqKioqUjIoeiE0IkY0JCIzMysrK2EoM3dIIkY0NyQkIjM0KysrPytcQTZGNCQiMzMrKys/aD9bN0Y0NyQkIjMtKysrXUl3YDZGNCQiMzMrKysmKSpcJyk+IkY0NyQkIjMhKioqKioqKj42JFs9IkY0JCIzKSoqKioqKlw3KHpbNkY0NyQkIjMmKioqKioqXGtlZkAiRjQkIjMzKysrKXAwJSk0IkY0NyQkIjMvKysrME9fWjdGNCQiMyMqKioqKip6M1NxLyJGNDckJCIzLysrK3ZYPSFHIkY0JCIzcyoqKioqUnpLIlEqKkY9NyQkIjMlKioqKioqXDpCYkoiRjQkIjNdKioqKipmbiJ6aiQqRj03JCQiMy8rKytbWE1bOEY0JCIzWioqKioqPlM3VCQpKUY9NyQkIjMtKysrPXFcdzhGNCQiMysrKyt0RkolUSlGPTckJCIzJCoqKioqKlIheVQtOUY0JCIzeSoqKioqPiJbMHZ6Rj03JCQiMyIqKioqKipwJG9RRzlGNCQiM0krKytuaXVxdkY9NyQkIjMlKioqKioqZjIoUV85RjQkIjNpKioqKip6XyUqSD8oRj03JCQiMzErKytTJ0hbWiJGNCQiM3kqKioqKipmUSpbJ29GPTckJCIzMSsrK2t3MCdcIkY0JCIzdyoqKioqPid6dV1sRj03JCQiMywrKyspMyJIOzpGNCQiM1MrKytwZCZvRCdGPTckJCIzJCoqKioqKlxVIm9OOkY0JCIzQysrKzsnPjEpZkY9NyQkIjMlKioqKioqejRTVmIiRjQkIjMyKysrPycpMz9kRj03JCQiMycqKioqKip6JUdOczpGNCQiMyUpKioqKipcJW9zdGFGPTckJCIzMysrKyUqeXkqZSJGNCQiM2wqKioqKkhmI0dTX0Y9NyQkIjMwKysrJykzcTE7RjQkIjMjKioqKioqeioqMyg9XUY9NyQkIjMhKioqKioqUjlRSmkiRjQkIjMuKysrXUI2M1tGPTckJCIzLysrK2EpUSJSO0Y0JCIzPysrKzRycjJZRj03JCQiMy0rKysybXRhO0Y0JCIzJCoqKioqKlxLVG9UJUY9NyQkIjMlKioqKioqPmBnKnA7RjQkIjNAKysrZCd5W0IlRj03JCQiMzUrKytJaCRbbyJGNCQiMz8rKysnNCZHaFNGPTckJCIzJyoqKioqKkgiZlEqcCJGNCQiMy0rKysyKG9iKlFGPTckJCIzJCoqKioqKioqKilIT3IiRjQkIjN5KioqKio0cyJHUFBGPTckJCIzJioqKioqKj4sJ2VGPEY0JCIzKSkqKioqKj5GOWdlJEY9NyQkIjMhKioqKioqZlBxN3UiRjQkIjMhKioqKioqek4qUVRNRj03JCQiMy8rKysnZShwYTxGNCQiM0MrKytWKGVJSSRGPTckJCIzLysrKzE0KXl3IkY0JCIzNysrK1YmKnBxSkY9NyQkIjMpKioqKioqSFdLM3kiRjQkIjN4KioqKioqRzksV0lGPTckJCIzMysrKylHak56IkY0JCIzRCsrKyRHOUYjSEY9NyQkIjMwKysrUU8zMT1GNCQiMygqKioqKioqSGhhMUdGPTckJCIzKioqKioqKnoqR1M9PUY0JCIzJSoqKioqKipIOUUmcCNGPTckJCIzKCoqKioqKipvKEgwJD1GNCQiMyMqKioqKio+ZUgnKWUjRj03JCQiMyIqKioqKipwSnNDJT1GNCQiMyUqKioqKio+a0xrWyNGPTckJCIzJSoqKioqKnAvUVUmPUY0JCIzNSsrK18icCUpUSNGPTckJCIzKSoqKioqKipbUiRlJz1GNCQiMy8rKyt2SmElSCNGPTckJCIzKysrK2RsRXg9RjQkIjMqKioqKioqUlB0Vz8jRj03JCQiMysrKysjKT5hKSk9RjQkIjMqKSoqKioqXEQoMz1ARj03JCQiMykqKioqKipmJmZtKio9RjQkIjM5KysrTDlBTj9GPTckJCIzJSoqKioqKlwnUWs1PkY0JCIzLysrKzk1c2I+Rj03JCQiMzYrKyt3MltAPkY0JCIzMSsrKywhUiV6PUY9NyQkIjMqKioqKioqXFkiPUs+RjQkIjMjKioqKioqXCFlQjE9Rj03JCQiMygqKioqKioqUi92VT5GNCQiMycqKioqKip6dHlmdCJGPTckJCIzKysrK2k+PmA+RjQkIjM1KysrNjthbztGPTckJCIzIyoqKioqKlwxNU4nPkY0JCIzLisrK0RWIVFnIkY9NyQkIjMrKysrdSYzUCg+RjQkIjMoKSoqKioqelxfO2EiRj03JCQiMzcrKys4NnokKT5GNCQiMzcrKytrcig+WyJGPTckJCIzMysrK0o2dyQqPkY0JCIzLSsrK0ZXbkM5Rj03JEYsJCIzNSsrK0MhcCcqUSJGPS0lJlNUWUxFRzYjJSZQT0lOVEctJSZDT0xPUkc2JiUkUkdCRyRGKyEiIkZoY2wkIiM1RmljbC0lK0FYRVNMQUJFTFNHNiRRIng2IlEieUZgZGwtJSdTWU1CT0xHNiQlJ0NJUkNMRUdGW2RsLSUlRk9OVEc2JCUqSEVMVkVUSUNBR0ZbZGwtJSVWSUVXRzYkO0ZoY2wkIiM/RmljbEZdZWw=</Plot></Text-field></Output></Group><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">We can compare these points with points along the analytical solution curve.</Text-field><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">comparewithfcn(pts1,g);</Font></Text-field></Input><Output><Text-field layout="Text Output" style="Text Output">  0             2             function val:   2               rel err: 0.0000e-01</Text-field><Text-field layout="Text Output" style="Text Output">   .01          1.999999333   function val:   1.999999333     rel err: 0.0000e-01</Text-field><Text-field layout="Text Output" style="Text Output">   .06          1.999856005   function val:   1.999856005     rel err: 0.0000e-01</Text-field><Text-field layout="Text Output" style="Text Output">   .124256127   1.998721433   function val:   1.998721433     rel err: 0.0000e-01</Text-field><Text-field layout="Text Output" style="Text Output">   .191363094   1.995333662   function val:   1.995333662     rel err: 0.0000e-01</Text-field><Text-field layout="Text Output" style="Text Output">   .251848403   1.989378873   function val:   1.989378873     rel err: 0.0000e-01</Text-field><Text-field layout="Text Output" style="Text Output">   .308585186   1.980505651   function val:   1.980505651     rel err: 0.0000e-01</Text-field><Text-field layout="Text Output" style="Text Output">   .36299773    1.968365358   function val:   1.968365358     rel err: 0.0000e-01</Text-field><Text-field layout="Text Output" style="Text Output">   .415900492   1.952610701   function val:   1.952610701     rel err: 0.0000e-01</Text-field><Text-field layout="Text Output" style="Text Output">   .467904699   1.9328591     function val:   1.9328591       rel err: 0.0000e-01</Text-field><Text-field layout="Text Output" style="Text Output">   .519587659   1.908636773   function val:   1.908636773     rel err: 0.0000e-01</Text-field><Text-field layout="Text Output" style="Text Output">   .571635467   1.879269789   function val:   1.879269789     rel err: 0.0000e-01</Text-field><Text-field layout="Text Output" style="Text Output">   .62509834    1.843615432   function val:   1.843615432     rel err: 0.0000e-01</Text-field><Text-field layout="Text Output" style="Text Output">   .682220391   1.799135819   function val:   1.799135819     rel err: 0.0000e-01</Text-field><Text-field layout="Text Output" style="Text Output">   .742588475   1.744817736   function val:   1.744817736     rel err: 0.0000e-01</Text-field><Text-field layout="Text Output" style="Text Output">   .788592815   1.698384505   function val:   1.698384505     rel err: 0.0000e-01</Text-field><Text-field layout="Text Output" style="Text Output">   .836098304   1.645952838   function val:   1.645952838     rel err: 0.0000e-01</Text-field><Text-field layout="Text Output" style="Text Output">   .87894878    1.594887084   function val:   1.594887084     rel err: 0.0000e-01</Text-field><Text-field layout="Text Output" style="Text Output">   .918456646   1.544790989   function val:   1.544790989     rel err: 0.0000e-01</Text-field><Text-field layout="Text Output" style="Text Output">   .955670367   1.495121391   function val:   1.495121391     rel err: 0.0000e-01</Text-field><Text-field layout="Text Output" style="Text Output">   .991176745   1.445650627   function val:   1.445650627     rel err: 0.0000e-01</Text-field><Text-field layout="Text Output" style="Text Output">  1.025355468   1.396277889   function val:   1.39627789      rel err: 7.1619e-10</Text-field><Text-field layout="Text Output" style="Text Output">  1.058486377   1.34694643    function val:   1.34694643      rel err: 0.0000e-01</Text-field><Text-field layout="Text Output" style="Text Output">  1.090797074   1.297608754   function val:   1.297608754     rel err: 0.0000e-01</Text-field><Text-field layout="Text Output" style="Text Output">  1.12249002    1.24820612    function val:   1.24820612      rel err: 0.0000e-01</Text-field><Text-field layout="Text Output" style="Text Output">  1.15376305    1.198649985   function val:   1.198649985     rel err: 0.0000e-01</Text-field><Text-field layout="Text Output" style="Text Output">  1.18483112    1.148797125   function val:   1.148797126     rel err: 8.7048e-10</Text-field><Text-field layout="Text Output" style="Text Output">  1.215958645   1.098405698   function val:   1.098405698     rel err: 0.0000e-01</Text-field><Text-field layout="Text Output" style="Text Output">  1.247523605   1.047040088   function val:   1.047040089     rel err: 9.5507e-10</Text-field><Text-field layout="Text Output" style="Text Output">  1.280184575    .993813279   function val:    .99381328      rel err: 2.0125e-10</Text-field><Text-field layout="Text Output" style="Text Output">  1.315523155    .936379168   function val:    .936379168     rel err: 4.2718e-10</Text-field><Text-field layout="Text Output" style="Text Output">  1.348344548    .88341124    function val:    .88341124      rel err: 2.2640e-10</Text-field><Text-field layout="Text Output" style="Text Output">  1.376497018    .838431277   function val:    .838431277     rel err: 1.1927e-10</Text-field><Text-field layout="Text Output" style="Text Output">  1.402417804    .797505481   function val:    .797505482     rel err: 7.5235e-10</Text-field><Text-field layout="Text Output" style="Text Output">  1.428386837    .757074627   function val:    .757074626     rel err: 9.2461e-10</Text-field><Text-field layout="Text Output" style="Text Output">  1.452387076    .720299453   function val:    .720299453     rel err: 2.7766e-10</Text-field><Text-field layout="Text Output" style="Text Output">  1.47482964     .686489386   function val:    .686489386     rel err: 5.8267e-10</Text-field><Text-field layout="Text Output" style="Text Output">  1.496057664    .655074796   function val:    .655074797     rel err: 6.1062e-10</Text-field><Text-field layout="Text Output" style="Text Output">  1.516291088    .625685577   function val:    .625685576     rel err: 1.1188e-09</Text-field><Text-field layout="Text Output" style="Text Output">  1.535681425    .598061962   function val:    .598061962     rel err: 1.3377e-09</Text-field><Text-field layout="Text Output" style="Text Output">  1.554340098    .572008862   function val:    .572008862     rel err: 6.9929e-10</Text-field><Text-field layout="Text Output" style="Text Output">  1.572352848    .547372685   function val:    .547372685     rel err: 5.4807e-10</Text-field><Text-field layout="Text Output" style="Text Output">  1.589787894    .524028259   function val:    .52402826      rel err: 5.7249e-10</Text-field><Text-field layout="Text Output" style="Text Output">  1.606700886    .5018709     function val:    .5018709       rel err: 3.9851e-10</Text-field><Text-field layout="Text Output" style="Text Output">  1.623138144    .480811235   function val:    .480811235     rel err: 4.1596e-10</Text-field><Text-field layout="Text Output" style="Text Output">  1.639138854    .460771711   function val:    .460771711     rel err: 6.5108e-10</Text-field><Text-field layout="Text Output" style="Text Output">  1.654736607    .441684133   function val:    .441684132     rel err: 6.7922e-10</Text-field><Text-field layout="Text Output" style="Text Output">  1.669960532    .423487866   function val:    .423487866     rel err: 1.1807e-09</Text-field><Text-field layout="Text Output" style="Text Output">  1.68483613     .40612851    function val:    .40612851      rel err: 9.8491e-10</Text-field><Text-field layout="Text Output" style="Text Output">  1.699385913    .389556871   function val:    .38955687      rel err: 7.7011e-10</Text-field><Text-field layout="Text Output" style="Text Output">  1.7136299      .373728172   function val:    .373728172     rel err: 8.0272e-10</Text-field><Text-field layout="Text Output" style="Text Output">  1.727586012    .358601427   function val:    .358601427     rel err: 5.5772e-10</Text-field><Text-field layout="Text Output" style="Text Output">  1.741270376    .344138936   function val:    .344138936     rel err: 1.7435e-09</Text-field><Text-field layout="Text Output" style="Text Output">  1.754697586    .330305874   function val:    .330305874     rel err: 3.0275e-10</Text-field><Text-field layout="Text Output" style="Text Output">  1.767880906    .317069954   function val:    .317069954     rel err: 2.2077e-09</Text-field><Text-field layout="Text Output" style="Text Output">  1.780832443    .304401143   function val:    .304401143     rel err: 3.2851e-10</Text-field><Text-field layout="Text Output" style="Text Output">  1.793563288    .292271428   function val:    .292271428     rel err: 3.4215e-10</Text-field><Text-field layout="Text Output" style="Text Output">  1.806083638    .280654613   function val:    .280654613     rel err: 7.1262e-10</Text-field><Text-field layout="Text Output" style="Text Output">  1.818402898    .269526143   function val:    .269526143     rel err: 1.4841e-09</Text-field><Text-field layout="Text Output" style="Text Output">  1.830529769    .258862958   function val:    .258862958     rel err: 0.0000e-01</Text-field><Text-field layout="Text Output" style="Text Output">  1.842472317    .248643364   function val:    .248643364     rel err: 0.0000e-01</Text-field><Text-field layout="Text Output" style="Text Output">  1.854238047    .238846915   function val:    .238846915     rel err: 8.3736e-10</Text-field><Text-field layout="Text Output" style="Text Output">  1.865833949    .229454318   function val:    .229454318     rel err: 1.3074e-09</Text-field><Text-field layout="Text Output" style="Text Output">  1.877266557    .220447337   function val:    .220447337     rel err: 0.0000e-01</Text-field><Text-field layout="Text Output" style="Text Output">  1.888541982    .211808726   function val:    .211808725     rel err: 4.7212e-10</Text-field><Text-field layout="Text Output" style="Text Output">  1.899665956    .203522143   function val:    .203522144     rel err: 2.4567e-09</Text-field><Text-field layout="Text Output" style="Text Output">  1.910643865    .195572101   function val:    .195572102     rel err: 1.0226e-09</Text-field><Text-field layout="Text Output" style="Text Output">  1.921480776    .1879439     function val:    .1879439       rel err: 1.0641e-09</Text-field><Text-field layout="Text Output" style="Text Output">  1.932181465    .180623581   function val:    .18062358      rel err: 5.5364e-10</Text-field><Text-field layout="Text Output" style="Text Output">  1.94275044     .173597874   function val:    .173597874     rel err: 1.1521e-09</Text-field><Text-field layout="Text Output" style="Text Output">  1.953191962    .166854161   function val:    .166854161     rel err: 1.1987e-09</Text-field><Text-field layout="Text Output" style="Text Output">  1.963510065    .160380433   function val:    .160380433     rel err: 1.2470e-09</Text-field><Text-field layout="Text Output" style="Text Output">  1.973708574    .15416525    function val:    .15416525      rel err: 1.2973e-09</Text-field><Text-field layout="Text Output" style="Text Output">  1.983791113    .148197716   function val:    .148197717     rel err: 6.7477e-10</Text-field><Text-field layout="Text Output" style="Text Output">  1.993761131    .142467443   function val:    .142467443     rel err: 1.4038e-09</Text-field><Text-field layout="Text Output" style="Text Output">  2              .138966902   function val:    .138966902     rel err: 0.0000e-01</Text-field><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiMlIUc=</Equation></Text-field><Text-field layout="Text Output" style="Text Output">              Maximum relative error: 2.4567e-09</Text-field><Text-field layout="Text Output" style="Text Output">              obtained for the input value:   1.899665956</Text-field></Output></Group><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">Using the 7-8 Runge-Kutta method we can obtain more widely spaced points, and still have comparable errors to those obtained with the default 4-5 Runge-Kutta method.</Text-field><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">de := diff(y(x),x)=-x^2*y(x);
ic := y(0)=2;
pts2 := desolveRK({de,ic},x=0..2,method=rk78,output=points):
plot([g(x),pts2],x=0..2,y=0..2,style=[line,point],
               symbol=circle,color=[red,blue]);
comparewithfcn(pts2,g);</Font></Text-field></Input><Output><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiM+JSNkZUcvLSUlZGlmZkc2JC0lInlHNiMlInhHRiwsJComKUYsIiIjIiIiRilGMSEiIg==</Equation></Text-field><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiM+JSNpY0cvLSUieUc2IyIiISIiIw==</Equation></Text-field><Text-field layout="Maple Plot" style="Maple Plot"><Plot height="300" type="two-dimensional" width="400">LSUlUExPVEc2LS0lJ0NVUlZFU0c2JTdTNyQkIiIhRiskIiIjRis3JCQiMzlMTExMM1ZmViEjPiQiMzdLJUd5d1cqKio+ISM8NyQkIjMncG1tO0hbRDopRjEkIjM7d05TKXpRJyoqPkY0NyQkIjNMTExMZTAkPUMiISM9JCIzRTRINShvQigpKj5GNDckJCIzSUxMTDNSQnI7Rj0kIjNfYFF2YzAqbyo+RjQ3JCQiM1ltbTt6amYpNCNGPSQiMyNcSVJMJnklUSo+RjQ3JCQiMz1MTCRlNDtbXCNGPSQiMz8hUihvVVpuKik+RjQ3JCQiM3AqKioqXGkneV0hSEY9JCIzS1RZSCw8cyQpPkY0NyQkIjMsTEwkZXpzJEhMRj0kIjM3KCp6PWpzYXY+RjQ3JCQiM18qKioqXDdpSV9QRj0kIjMnPkI6eDsoM2w+RjQ3JCQiMyNwbW1tQFh0PSVGPSQiMy1TWSgpNHNrXj5GNDckJCIzUUxMTDN5X3FYRj0kIjMpZjA8bSQzTlA+RjQ3JCQiM2kqKioqKipcMSE+KyZGPSQiM2BLJ2V2cyhHPT5GNDckJCIzKCkqKioqKipcWi9OYUY9JCIzIzM4UVZdIXkmKj1GNDckJCIzJyoqKioqKipcJGZDJmVGPSQiM1VNInlNcUkyKD1GNDckJCIzRUxMJGV6NjpCJ0Y9JCIzZmQiUik0VixYPUY0NyQkIjNTbW1tOz1DI28nRj0kIjNAOykpKSpHT2w1PUY0NyQkIjMtbW1tbSNwUzEoRj0kIjMvbClcJ28jeSN5PEY0NyQkIjNdKioqKlxpYEEzdkY9JCIzdDMzKmZYRG90IkY0NyQkIjNzbG1tbSh5OCF6Rj0kIjNvbTg2Oi12J3AiRjQ3JCQiM1YrK11pLnRLJClGPSQiMzVYQURuZT5cO0Y0NyQkIjM5KytdKDN6TXUpRj0kIjMpKip6Pz5LTzBnIkY0NyQkIjMjcG1tO0hfPzwqRj0kIjMrOV1KI1E/a2EiRjQ3JCQiM2VtbTt6aWhsJipGPSQiMylwQ1JAdC5SXCJGNDckJCIzOUxMTDMjRywqKipGPSQiMy5mb3U2bVpNOUY0NyQkIjM8TExlenc1VjVGNCQiM2k9XiM9SzkrUCJGNDckJCIzISoqKipcUFEjXCIzIkY0JCIzZD1DXVo0JD5KIkY0NyQkIjNCTEwkZSIqW0g3IkY0JCIzJ0hLJFw+VltaN0Y0NyQkIjMjKioqKioqKnB2eGw2RjQkIjNzYlprMFxWejZGNDckJCIzeioqKipcX3FuMjdGNCQiM2lFam84YyU9NiJGNDckJCIzJSkqKipcaSZwQFs3RjQkIjNLcFU7US0iZi8iRjQ3JCQiMyMpKioqKlwyJ0hLSCJGNCQiM0ApXHEtKkd6RCgqRj03JCQiM19tbW13YW5MOEY0JCIzIW9iWCFcX0RxISpGPTckJCIzJyoqKioqKlwyZ29QIkY0JCIzW1k8J3ltWCZ5JClGPTckJCIzQ0xMZVI8KmZUIkY0JCIzeUdYbS0qXEh3KEY9NyQkIjMnKioqKioqXClIeGU5RjQkIjMpKVFJYEZbPjFyRj03JCQiM1ltbSJIIW8tKlwiRjQkIjNAKikqKm9wTUYybEY9NyQkIjMpKSoqKlw3ay42YSJGNCQiMzsqMyE9J2VqViFmRj03JCQiM2VtbW1UOUMjZSJGNCQiM1xRRyVcWjIyTSZGPTckJCIzIioqKipcaSEqM2BpIkY0JCIzN0NeTmRrbCF5JUY9NyQkIjNRTExMJCp6eW07RjQkIjNfKyIqZjs2V3NVRj03JCQiM0dMTCQzTjEjNDxGNCQiMyN5SikqW1A9Z3kkRj03JCQiM2ttbSJIWXQ3diJGNCQiM1UoKVxYXXcqekwkRj03JCQiMyUqKioqKioqcChHKip5IkY0JCIzO0xsI1teO3EmSEY9NyQkIjNsbW07OUBCTT1GNCQiMytJd2pFJFxtYiNGPTckJCIzRUxMTGB2JlEoPUY0JCIzTChSUVBcbzVCI0Y9NyQkIjMwKytET2w1Oz5GNCQiM0ovdkElSCgqcCI+Rj03JCQiMy8rK3YuVWFjPkY0JCIzc0t2Kj4pR0laO0Y9NyRGLCQiMzlKZ1hDIXAnKlEiRj0tJSZTVFlMRUc2IyUlTElORUctJSZDT0xPUkc2JiUkUkdCRyQiIzUhIiIkRitGY1tsRmRbbC1GJjYlNzRGKTckJCIzLSsrKysrKys1RjEkIjMpKSoqKioqSEwqKioqKj5GNDckJCIzeSoqKioqKioqKioqKioqZkYxJCIzLysrKzBnJikqKj5GNDckJCIzKSoqKioqKioqKioqKioqNCRGPSQiMycqKioqKioqPXdCISk+RjQ3JCQiMyQqKioqKipceT4oUV5GPSQiMy8rKyt5PWI2PkY0NyQkIjNNKysrUHNKUHFGPSQiMysrKysmeVcxeSJGNDckJCIzQysrK2YnZnIoKilGPSQiMyMqKioqKio+RFM5ZCJGNDckJCIzKSoqKioqKjRuNC0zIkY0JCIzISoqKioqKipvJCkqUUoiRjQ3JCQiMyQqKioqKio+PHh2QCJGNCQiMyUqKioqKipSeHdkNCJGNDckJCIzISoqKioqKipcIXA8TSJGNCQiM2IrKytpSCQpUiopRj03JCQiMy0rKytBY19fOUY0JCIzIikqKioqKlJhKikzPyhGPTckJCIzNysrKywscV86RjQkIjMyKysrWU94VWRGPTckJCIzNSsrKykpXChSbCJGNCQiMyMpKioqKioqKm9kZ1UlRj03JCQiMzErKys9QFlYPEY0JCIzISkqKioqKiopKlEjeVIkRj03JCQiMzIrKyspUnkpRz1GNCQiMyYpKioqKipSVSEpSGcjRj03JCQiMyoqKioqKio+TSlwMD5GNCQiMzErKytWckQiKj5GPTckJCIzLysrK14kPnEoPkY0JCIzJioqKioqKlI+az1fIkY9NyRGLCQiMzUrKytDIXAnKlEiRj0tRmp6NiMlJlBPSU5URy1GXltsNiZGYFtsRmRbbEZkW2xGYVtsLSUrQVhFU0xBQkVMU0c2JFEieDYiUSJ5RmRhbC0lJ1NZTUJPTEc2JCUnQ0lSQ0xFR0ZiW2wtJSpHUklEU1RZTEVHNiMlLFJFQ1RBTkdVTEFSRy0lKkxJTkVTVFlMRUc2I0YrLSUlRk9OVEc2JCUqSEVMVkVUSUNBR0ZiW2wtJSxPUklFTlRBVElPTkc2JCQiI1hGK0ZoYmwtJStQUk9KRUNUSU9ORzYjRmFbbC1GXltsNiMlJU5PTkVHLSUlVklFV0c2JDtGZFtsJCIjP0ZjW2xGY2Ns</Plot></Text-field><Text-field layout="Text Output" style="Text Output">  0             2             function val:   2               rel err: 0.0000e-01</Text-field><Text-field layout="Text Output" style="Text Output">   .01          1.999999333   function val:   1.999999333     rel err: 0.0000e-01</Text-field><Text-field layout="Text Output" style="Text Output">   .06          1.999856005   function val:   1.999856005     rel err: 0.0000e-01</Text-field><Text-field layout="Text Output" style="Text Output">   .31          1.980237619   function val:   1.980237619     rel err: 0.0000e-01</Text-field><Text-field layout="Text Output" style="Text Output">   .513871979   1.911551878   function val:   1.911551878     rel err: 0.0000e-01</Text-field><Text-field layout="Text Output" style="Text Output">   .703731724   1.780644785   function val:   1.780644785     rel err: 0.0000e-01</Text-field><Text-field layout="Text Output" style="Text Output">   .897715966   1.571440252   function val:   1.571440252     rel err: 0.0000e-01</Text-field><Text-field layout="Text Output" style="Text Output">  1.080209671   1.313898369   function val:   1.31389837      rel err: 7.6109e-10</Text-field><Text-field layout="Text Output" style="Text Output">  1.217577172   1.095776774   function val:   1.095776774     rel err: 0.0000e-01</Text-field><Text-field layout="Text Output" style="Text Output">  1.34176905     .893983296   function val:    .893983297     rel err: 6.7115e-10</Text-field><Text-field layout="Text Output" style="Text Output">  1.452525622    .720088954   function val:    .720088954     rel err: 5.5549e-10</Text-field><Text-field layout="Text Output" style="Text Output">  1.552700101    .574277365   function val:    .574277365     rel err: 3.4826e-10</Text-field><Text-field layout="Text Output" style="Text Output">  1.653974988    .442605769   function val:    .442605769     rel err: 4.5187e-10</Text-field><Text-field layout="Text Output" style="Text Output">  1.745462118    .33978239    function val:    .33978239      rel err: 1.4715e-09</Text-field><Text-field layout="Text Output" style="Text Output">  1.828878398    .260298042   function val:    .260298042     rel err: 7.6835e-10</Text-field><Text-field layout="Text Output" style="Text Output">  1.905698342    .199125714   function val:    .199125714     rel err: 1.0044e-09</Text-field><Text-field layout="Text Output" style="Text Output">  1.977019351    .152186419   function val:    .15218642      rel err: 6.5709e-10</Text-field><Text-field layout="Text Output" style="Text Output">  2              .138966902   function val:    .138966902     rel err: 0.0000e-01</Text-field><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiMlIUc=</Equation></Text-field><Text-field layout="Text Output" style="Text Output">              Maximum relative error: 1.4715e-09</Text-field><Text-field layout="Text Output" style="Text Output">              obtained for the input value:   1.745462118</Text-field></Output></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">;</Font></Text-field></Input></Group><Text-field layout="Normal" style="Normal">Now we find a continuous solution for differential equation   <Equation input-equation="dy/dx = -x*y;" style="2D Comment">NiMvKiYlI2R5RyIiIiUjZHhHISIiLCQqJiUieEdGJiUieUdGJkYo</Equation>, with the initial condition <Equation input-equation="y(0) = 2" style="2D Comment">NiMvLSUieUc2IyIiISIiIw==</Equation> using the procedure <Font executable="false" italic="false" size="12" style="Maple Input" underline="false">desolveRK</Font> in the default mode.  In this case the output is a <Font executable="false" italic="false" style="Purple Emphasis" underline="false">numerical procedure</Font> <Font executable="false" italic="false" style="Grey Emphasis" underline="false">gn</Font>, which can be used in a similar way to an ordinary function, provided that it is given input values which <Font executable="false" italic="false" style="Purple Emphasis" underline="false">lie within the interval</Font> used for its construction.</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">This numerical procedure incorporates the data of a discrete solution constructed using adaptive step-size control.</Text-field><Text-field layout="Normal" style="Normal"><Font executable="false" italic="false" style="Purple Emphasis" underline="false">Interpolation</Font> between the points of the discrete solution <Font executable="false" italic="false" style="Purple Emphasis" underline="false">is achieved by performing a Runge-Kutta step</Font> of the appropriate width. This width will be less the width of the interval given by the <Font bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" size="12" style="_cstyle265" underline="false">x</Font> coordinates of the two points of the underlying discrete solution in which a given input value <Font bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" size="12" style="_cstyle264" underline="false">x</Font> lies. </Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal"><Font executable="false" italic="false" style="_cstyle261">Warning</Font>: When using the numerical procedure <Font executable="false" italic="false" style="Grey Emphasis" underline="false">gn</Font> in a plot command, it must be enclosed in quotes as<Font executable="false" italic="false" size="12" style="Maple Input" underline="false">'gn(x)'</Font> or <Font executable="false" italic="false" size="12" style="Maple Input" underline="false">'gn'(x)</Font>, in order to delay evaluation until a numerical value for the input is given. </Text-field><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">de := diff(y(x),x)=-x^2*y(x);
ic := y(0)=2;
gn := desolveRK({de,ic},x=0..2);
plot([g(x),'gn'(x)],x=0..2,y=0..2,color=[red,green],thickness=[1,2]);</Font></Text-field></Input><Output><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiM+JSNkZUcvLSUlZGlmZkc2JC0lInlHNiMlInhHRiwsJComKUYsIiIjIiIiRilGMSEiIg==</Equation></Text-field><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiM+JSNpY0cvLSUieUc2IyIiISIiIw==</Equation></Text-field><Text-field layout="Maple Output" style="Maple Output"><Plot height="300" type="two-dimensional" width="400">LSUlUExPVEc2LC0lJ0NVUlZFU0c2JTdTNyQkIiIhRiskIiIjRis3JCQiMzlMTExMM1ZmViEjPiQiMzdLJUd5d1cqKio+ISM8NyQkIjMncG1tO0hbRDopRjEkIjM7d05TKXpRJyoqPkY0NyQkIjNMTExMZTAkPUMiISM9JCIzRTRINShvQigpKj5GNDckJCIzSUxMTDNSQnI7Rj0kIjNfYFF2YzAqbyo+RjQ3JCQiM1ltbTt6amYpNCNGPSQiMyNcSVJMJnklUSo+RjQ3JCQiMz1MTCRlNDtbXCNGPSQiMz8hUihvVVpuKik+RjQ3JCQiM3AqKioqXGkneV0hSEY9JCIzS1RZSCw8cyQpPkY0NyQkIjMsTEwkZXpzJEhMRj0kIjM3KCp6PWpzYXY+RjQ3JCQiM18qKioqXDdpSV9QRj0kIjMnPkI6eDsoM2w+RjQ3JCQiMyNwbW1tQFh0PSVGPSQiMy1TWSgpNHNrXj5GNDckJCIzUUxMTDN5X3FYRj0kIjMpZjA8bSQzTlA+RjQ3JCQiM2kqKioqKipcMSE+KyZGPSQiM2BLJ2V2cyhHPT5GNDckJCIzKCkqKioqKipcWi9OYUY9JCIzIzM4UVZdIXkmKj1GNDckJCIzJyoqKioqKipcJGZDJmVGPSQiM1VNInlNcUkyKD1GNDckJCIzRUxMJGV6NjpCJ0Y9JCIzZmQiUik0VixYPUY0NyQkIjNTbW1tOz1DI28nRj0kIjNAOykpKSpHT2w1PUY0NyQkIjMtbW1tbSNwUzEoRj0kIjMvbClcJ28jeSN5PEY0NyQkIjNdKioqKlxpYEEzdkY9JCIzdDMzKmZYRG90IkY0NyQkIjNzbG1tbSh5OCF6Rj0kIjNvbTg2Oi12J3AiRjQ3JCQiM1YrK11pLnRLJClGPSQiMzVYQURuZT5cO0Y0NyQkIjM5KytdKDN6TXUpRj0kIjMpKip6Pz5LTzBnIkY0NyQkIjMjcG1tO0hfPzwqRj0kIjMrOV1KI1E/a2EiRjQ3JCQiM2VtbTt6aWhsJipGPSQiMylwQ1JAdC5SXCJGNDckJCIzOUxMTDMjRywqKipGPSQiMy5mb3U2bVpNOUY0NyQkIjM8TExlenc1VjVGNCQiM2k9XiM9SzkrUCJGNDckJCIzISoqKipcUFEjXCIzIkY0JCIzZD1DXVo0JD5KIkY0NyQkIjNCTEwkZSIqW0g3IkY0JCIzJ0hLJFw+VltaN0Y0NyQkIjMjKioqKioqKnB2eGw2RjQkIjNzYlprMFxWejZGNDckJCIzeioqKipcX3FuMjdGNCQiM2lFam84YyU9NiJGNDckJCIzJSkqKipcaSZwQFs3RjQkIjNLcFU7US0iZi8iRjQ3JCQiMyMpKioqKlwyJ0hLSCJGNCQiM0ApXHEtKkd6RCgqRj03JCQiM19tbW13YW5MOEY0JCIzIW9iWCFcX0RxISpGPTckJCIzJyoqKioqKlwyZ29QIkY0JCIzW1k8J3ltWCZ5JClGPTckJCIzQ0xMZVI8KmZUIkY0JCIzeUdYbS0qXEh3KEY9NyQkIjMnKioqKioqXClIeGU5RjQkIjMpKVFJYEZbPjFyRj03JCQiM1ltbSJIIW8tKlwiRjQkIjNAKikqKm9wTUYybEY9NyQkIjMpKSoqKlw3ay42YSJGNCQiMzsqMyE9J2VqViFmRj03JCQiM2VtbW1UOUMjZSJGNCQiM1xRRyVcWjIyTSZGPTckJCIzIioqKipcaSEqM2BpIkY0JCIzN0NeTmRrbCF5JUY9NyQkIjNRTExMJCp6eW07RjQkIjNfKyIqZjs2V3NVRj03JCQiM0dMTCQzTjEjNDxGNCQiMyN5SikqW1A9Z3kkRj03JCQiM2ttbSJIWXQ3diJGNCQiM1UoKVxYXXcqekwkRj03JCQiMyUqKioqKioqcChHKip5IkY0JCIzO0xsI1teO3EmSEY9NyQkIjNsbW07OUBCTT1GNCQiMytJd2pFJFxtYiNGPTckJCIzRUxMTGB2JlEoPUY0JCIzTChSUVBcbzVCI0Y9NyQkIjMwKytET2w1Oz5GNCQiM0ovdkElSCgqcCI+Rj03JCQiMy8rK3YuVWFjPkY0JCIzc0t2Kj4pR0laO0Y9NyRGLCQiMzlKZ1hDIXAnKlEiRj0tJSpUSElDS05FU1NHNiMiIiItJSZDT0xPUkc2JiUkUkdCRyQiIzUhIiIkRitGY1tsRmRbbC1GJjYlN1NGKTckJCIrTTNWZlYhIzYkIitvWiUqKio+ISIqNyQkIisjSFtEOilGW1xsJCIrKXpRJyoqPkZeXGw3JCQiK2UwJD1DIiEjNSQiKyhvQigpKj5GXlxsNyQkIiszUkJyO0ZnXGwkIitkMCpvKj5GXlxsNyQkIit6amYpNCNGZ1xsJCIrYHklUSo+Rl5cbDckJCIrJzQ7W1wjRmdcbCQiK1ZabiopPkZeXGw3JCQiK2oneV0hSEZnXGwkIissPHMkKT5GXlxsNyQkIisnenMkSExGZ1xsJCIranNhdj5GXlxsNyQkIis4aUlfUEZnXGwkIitvcjNsPkZeXGw3JCQiKzxfTSg9JUZnXGwkIis1c2tePkZeXGw3JCQiKzR5X3FYRmdcbCQiK1AzTlA+Rl5cbDckJCIrXTEhPismRmdcbCQiK0d4Rz0+Rl5cbDckJCIrXVovTmFGZ1xsJCIrLzB5Jio9Rl5cbDckJCIrXSRmQyZlRmdcbCQiKy4ydHE9Rl5cbDckJCIrJ3o2OkInRmdcbCQiKzVWLFg9Rl5cbDckJCIrPD1DI28nRmdcbCQiK0hPbDU9Rl5cbDckJCIrbiNwUzEoRmdcbCQiK3AjeSN5PEZeXGw3JCQiK2pgQTN2RmdcbCQiK2NhI290IkZeXGw3JCQiK24oeTghekZnXGwkIis6LXYncCJGXlxsNyQkIitqLnRLJClGZ1xsJCIrbmU+XDtGXlxsNyQkIispM3pNdSlGZ1xsJCIrQWpgKztGXlxsNyQkIisjSF8/PCpGZ1xsJCIrI1E/a2EiRl5cbDckJCIrIUc7Y2MqRmdcbCQiK0tQIVJcIkZeXGw3JCQiKzQjRywqKipGZ1xsJCIrN21aTTlGXlxsNyQkIishbzJKLyJGXlxsJCIrQFYscThGXlxsNyQkIislUSNcIjMiRl5cbCQiK1o0JD5KIkZeXGw3JCQiKzsqW0g3IkZeXGwkIis+VltaN0ZeXGw3JCQiK3F2eGw2Rl5cbCQiKzFcVno2Rl5cbDckJCIrYHFuMjdGXlxsJCIrOGMlPTYiRl5cbDckJCIrY3BAWzdGXlxsJCIrUi0iZi8iRl5cbDckJCIrMydIS0giRl5cbCQiKyMpR3pEKCpGZ1xsNyQkIit4YW5MOEZeXGwkIitWX0RxISpGZ1xsNyQkIit2KydvUCJGXlxsJCIrbmNheSQpRmdcbDckJCIrUzwqZlQiRl5cbCQiKycqKVxIdyhGZ1xsNyQkIismKUh4ZTlGXlxsJCIrRls+MXJGZ1xsNyQkIisuby0qXCJGXlxsJCIrb01GMmxGZ1xsNyQkIitUTzVUOkZeXGwkIisqZWpWIWZGZ1xsNyQkIitVOUMjZSJGXlxsJCIrcXVxU2BGZ1xsNyQkIisxKjNgaSJGXlxsJCIrZ2tsIXklRmdcbDckJCIrJCp6eW07Rl5cbCQiKz82V3NVRmdcbDckJCIrXmo/NDxGXlxsJCIrdCQ9Z3kkRmdcbDckJCIrak1GXjxGXlxsJCIrXXcqekwkRmdcbDckJCIrcShHKip5IkZeXGwkIis6bCxkSEZnXGw3JCQiKzlAQk09Rl5cbCQiK0ckXG1iI0ZnXGw3JCQiK2B2JlEoPUZeXGwkIisnXG81QiNGZ1xsNyQkIitPbDU7PkZeXGwkIisnSCgqcCI+RmdcbDckJCIrL1VhYz5GXlxsJCIrISlHSVo7RmdcbDckRiwkIitDIXAnKlEiRmdcbC1Gano2I0YtLUZeW2w2JkZgW2xGZFtsRmFbbEZkW2wtJStBWEVTTEFCRUxTRzYkUSJ4NiJRInlGYVttLSUqR1JJRFNUWUxFRzYjJSxSRUNUQU5HVUxBUkctJSpMSU5FU1RZTEVHNiNGKy0lJUZPTlRHNiQlKkhFTFZFVElDQUdGYltsLSUsT1JJRU5UQVRJT05HNiQkIiNYRitGYVxtLSUrUFJPSkVDVElPTkc2I0ZhW2wtRl5bbDYjJSVOT05FRy0lJVZJRVdHNiQ7RmRbbCQiIz9GY1tsRlxdbQ==</Plot></Text-field></Output></Group><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">The solution can be compared with the analytical solution using numerical examples.</Text-field><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">xx := evalf(6*sqrt(2)/5);
gn(xx);
evalf(evalf(g(xx),15));</Font></Text-field></Input><Output><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiM+JSN4eEckIit1aTAocCIhIio=</Equation></Text-field><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiMkIisjXEg9I1IhIzU=</Equation></Text-field><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiMkIisjXEg9I1IhIzU=</Equation></Text-field></Output></Group><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">The code for the procedure <Font executable="false" italic="false" style="Grey Emphasis" underline="false">gn</Font> can be viewed as follows.</Text-field><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">interface(verboseproc=2):
eval(gn);
interface(verboseproc=1):</Font></Text-field></Input></Group><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">We are not restricted to solutions which go to the right. In fact we can construct a solution which goes both to the left and to the right. We also have the option of using the 7-8 Runge-Kutta adaptive method instead of the 4-5 Runge-Kutta method. </Text-field><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">de := diff(y(x),x)=-x^2*y(x);
ic := y(0)=2;
fn := desolveRK({de,ic},x=-2..2,method=rk78);
plot([g(x),'fn(x)'],x=-2..2,color=[red,green],thickness=[1,2]);</Font></Text-field></Input><Output><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiM+JSNkZUcvLSUlZGlmZkc2JC0lInlHNiMlInhHRiwsJComKUYsIiIjIiIiRilGMSEiIg==</Equation></Text-field><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiM+JSNpY0cvLSUieUc2IyIiISIiIw==</Equation></Text-field><Text-field layout="Maple Plot" style="Maple Plot"><Plot height="300" type="two-dimensional" width="400">LSUlUExPVEc2LC0lJ0NVUlZFU0c2JTdZNyQkISIjIiIhJCIzKXooKkghPktReUchIzs3JCQhM1NMTCRlJUc/eT4hIzwkIjMkKkdRbXgiXDBrI0YvNyQkITN5bW1tInAwayY+RjMkIjNbck4iUmBDcFUjRi83JCQhMyYqKioqKlxQJjNZJD5GMyQiM2k4bGNoSXRNQUYvNyQkITNNTExMJFE2RyI+RjMkIjNJbjhzNnlhaD9GLzckJCEzMSsrdjMtKVsoPUYzJCIzQ3kqNC0sOyQqeiJGLzckJCEzYm1tO00hXHAkPUYzJCIzX3hDbHlmJCp5OkYvNyQkITMjKSoqKlw3WSJIJXoiRjMkIjNHJHpIUnUsPVAiRi83JCQhM01MTEwpKVFqXjxGMyQiMylvOUhlJClbJyo+IkYvNyQkITM8TExMYE5wMzxGMyQiM3NeRiV5InkkXDAiRi83JCQhM0FMTEw9S3ZsO0YzJCIzRFBnPiRwcGFMKkYzNyQkITN3bW07QzJHIWUiRjMkIjMtImZ0cSJmLGB1RjM3JCQhM09MTCQzeU81XSJGMyQiM0NMRDhENyRbPCdGMzckJCEzJioqKioqXG5VKSo9OUYzJCIzLzZJRkBldiQ9JkYzNyQkITNTTEwkM1dEVEwiRjMkIjNkLnVCczhiOFdGMzckJCEzNSsrXWQoUSZcN0YzJCIzTG5dJG9iN0IkUUYzNyQkITNnbW1tYzRgaTZGMyQiM0V5RSkzMWxsUCRGMzckJCEzS0xMTFFXKmUzIkYzJCIzJVtrVy8sV1oxJEYzNyQkITN3KysrKygpPicqKiohIz0kIjNLP0lqRVc7IXojRjM3JCQhM0UrKysrMCIqSCIqRmNxJCIzYyE9Yzx1MXZkI0YzNyQkITM1KysrKzgzJkgpRmNxJCIzMSpSIVx0Mzc+Q0YzNyQkITNcTExMM2socGAoRmNxJCIzOCh5LCI+RCFvSSNGMzckJCEzQW5tbW1qXk5tRmNxJCIzUU8lNHNxdVg/I0YzNyQkITMpem1tbVloPShlRmNxJCIzKm9rQ3QwRydSQEYzNyQkITMrLCsrdiNcTilcRmNxJCIzQUx0QXIjUlUzI0YzNyQkITNjb21tbUNDKD4lRmNxJCIzaUo7I1FIMipcP0YzNyQkITM5KioqKipcRlJYTCRGY3EkIjNQVERlVzooWy0jRjM3JCQhM3QqKioqKlwjPS84REZjcSQiM3RFanl4JjMxLCNGMzckJCEzPW1tbTthKmVsIkZjcSQiMyFvJDM7ZCNISSsjRjM3JCQhM2tvbW07V24obykhIz4kIjNCPDlkJz1QLysjRjM3JCQhM0lxTExMJGVWKD4hIz8kIjMpKT0zODArKys/RjM3JCQiMylRam1tImZgQCcpRlt1JCIzKT1DPVoiR2QqKj5GMzckJCIzJXoqKioqXG5aKUg7RmNxJCIzJVJZVWtzOnIqPkYzNyQkIjNja21tOyR5KmVDRmNxJCIzJylRYEBmQTYhKj5GMzckJCIzZikqKioqKipSXmJKJEZjcSQiMycpb24jeXBbZSg+RjM3JCQiMydlKioqKipcNWFgVEZjcSQiM2tvQ0s0XXpfPkYzNyQkIjMnbyoqKipcN1JWJ1xGY3EkIjNsLXJ4dHgyPz5GMzckJCIzWScqKioqKlxAZmtlRmNxJCIzW3Vzblc9JipwPUYzNyQkIjNfSUxMTCY0Tm4nRmNxJCIzQyM+aChbKWU4Ij1GMzckJCIzQSoqKioqKipcLHNgKEZjcSQiM003MXlbKHpSdCJGMzckJCIzJVttbTt6TSk+JClGY3EkIjM9W28wRTRuXTtGMzckJCIzTSoqKioqKipwZmE8KkZjcSQiM21IKilSJSpwKGZhIkYzNyQkIjM5SExMZWdgISkqKkZjcSQiM1N0WjAxI1xlViJGMzckJCIzdyoqKipcI0cyQTMiRjMkIjNCeVUoPXBMM0oiRjM3JCQiMztMTEwkKUdbazZGMyQiMyEpUTJxcyc0Oj0iRjM3JCQiMyMpKioqKlw3eWhdN0YzJCIzQ2BjSm53Kj4vIkYzNyQkIjN4bW1tJylmZEw4RjMkIjNDYzopM09nPTIqRmNxNyQkIjNibW1tLEZUPTlGMyQiM09ALFBrW0hEeEZjcTckJCIzRkxMJGUjcGEtOkYzJCIzNSIpejRZUillWCdGY3E3JCQiMyEqKioqKioqUnYmKXo6RjMkIjMpKmVcVy0jR0VQJkZjcTckJCIzSUxMTEdVWW87RjMkIjNvRyVbcTxyREQlRmNxNyQkIjNfbW1tMV5yWjxGMyQiM2VlJVE7MF5YUCRGY3E3JCQiMzQrK11zSUBLPUYzJCIzKTQ3Jls6aTB1REZjcTckJCIzNCsrXTIlKTM4PkYzJCIzJXA4QUN3QiRRPkZjcTckJCIiI0YsJCIzOUpnWEMhcCcqUSJGY3EtJSpUSElDS05FU1NHNiMiIiItJSZDT0xPUkc2JiUkUkdCRyQiIzUhIiIkRixGZl1sRmddbC1GJjYlN1k3JEYqJCIrPktReUchIik3JCQhK1lHP3k+ISIqJCIreiJcMGsjRl5ebDckJCErI3AwayY+RmJebCQiK1BYI3BVI0ZeXmw3JCQhK1EmM1kkPkZiXmwkIittSXRNQUZeXmw3JCQhKyRRNkciPkZiXmwkIis0eWFoP0ZeXmw3JCQhKzMtKVsoPUZiXmwkIiswZ0oqeiJGXl5sNyQkIStNIVxwJD1GYl5sJCIreWYkKnk6Rl5ebDckJCEraDlIJXoiRmJebCQiK1Y8IT1QIkZeXmw3JCQhKykpUWpePEZiXmwkIitOKVsnKj4iRl5ebDckJCErYE5wMzxGYl5sJCIrPHkkXDAiRl5ebDckJCErPUt2bDtGYl5sJCIrJW9wYUwqRmJebDckJCErQzJHIWUiRmJebCQiKzlmLGB1RmJebDckJCErInlPNV0iRmJebCQiK0Y3JFs8J0ZiXmw3JCQhK29VKSo9OUZiXmwkIitFZXYkPSZGYl5sNyQkIStUYTdNOEZiXmwkIit0OGI4V0ZiXmw3JCQhK2UoUSZcN0ZiXmwkIitnREpLUUZiXmw3JCQhK2Q0YGk2RmJebCQiK2ldY3dMRmJebDckJCErUVcqZTMiRmJebCQiKzRTdWtJRmJebDckJCEqcSk+JyoqKkZiXmwkIitGVzsheiNGYl5sNyQkISpdNSpIIipGYl5sJCIrVW5deERGYl5sNyQkISpJIjMmSClGYl5sJCIrdDM3PkNGYl5sNyQkISpUd3BgKEZiXmwkIis+RCFvSSNGYl5sNyQkISpQO2JqJ0ZiXmwkIisyWmQvQUZiXmw3JCQhKlpoPShlRmJebCQiK2UhRydSQEZiXmw3JCQhKkdcTilcRmJebCQiK3IjUlUzI0ZiXmw3JCQhKlpVcz4lRmJebCQiKyVIMipcP0ZiXmw3JCQhKkdSWEwkRmJebCQiK1g6KFstI0ZiXmw3JCQhKiQ9LzhERmJebCQiK3kmMzEsI0ZiXmw3JCQhKlUmKmVsIkZiXmwkIitkI0hJKyNGYl5sNyQkISlXbihvKUZiXmwkIisoPVAvKyNGYl5sNyQkIShlVig+RmJebCQiKzArKys/RmJebDckJCIpZmBAJylGYl5sJCIrOkdkKio+RmJebDckJCIqblopSDtGYl5sJCIrRWQ2KCo+RmJebDckJCIqS3kqZUNGYl5sJCIrZkE2ISo+RmJebDckJCIqU15iSiRGYl5sJCIrKXBbZSg+RmJebDckJCIqMFROOiVGYl5sJCIrNF16Xz5GYl5sNyQkIio3UlYnXEZiXmwkIit1eDI/PkZiXmw3JCQiKjojZmtlRmJebCQiK1g9JipwPUZiXmw3JCQiKmA0Tm4nRmJebCQiK1wpZTgiPUZiXmw3JCQiKl0sc2AoRmJebCQiK1woelJ0IkZiXmw3JCQiKnpNKT4kKUZiXmwkIitFNG5dO0ZiXmw3JCQiKnFmYTwqRmJebCQiKyUqcChmYSJGYl5sNyQkIioxTzApKipGYl5sJCIrMSNcZVYiRmJebDckJCIrI0cyQTMiRmJebCQiKyRwTDNKIkZiXmw3JCQiKyQpR1trNkZiXmwkIit0JzQ6PSJGYl5sNyQkIis3eWhdN0ZiXmwkIitvdyo+LyJGYl5sNyQkIisoKWZkTDhGYl5sJCIrYi4nPTIqISM1NyQkIistRlQ9OUZiXmwkIitmW0hEeEZmXG03JCQiK0VwYS06RmJebCQiK1ZSKWVYJ0ZmXG03JCQiK1N2Jil6OkZiXmwkIistI0dFUCZGZlxtNyQkIitHVVlvO0ZiXmwkIisiPXJERCVGZlxtNyQkIisyXnJaPEZiXmwkIitbNWJ1TEZmXG03JCQiK3NJQEs9RmJebCQiKz9pMHVERmZcbTckJCIrMiUpMzg+RmJebCQiK21QS1E+RmZcbTckRmhcbCQiK0MhcCcqUSJGZlxtLUZdXWw2I0ZpXGwtRmFdbDYmRmNdbEZnXWxGZF1sRmddbC0lK0FYRVNMQUJFTFNHNiRRIng2IlEhRmVfbS0lKkdSSURTVFlMRUc2IyUsUkVDVEFOR1VMQVJHLSUqTElORVNUWUxFRzYjRiwtJSVGT05URzYkJSpIRUxWRVRJQ0FHRmVdbC0lLE9SSUVOVEFUSU9ORzYkJCIjWEYsRmVgbS0lK1BST0pFQ1RJT05HNiNGZF1sLUZhXWw2IyUlTk9ORUctJSVWSUVXRzYkOyRGYXVGZl1sJCIjP0ZmXWw7JCExYyp6Ti4vJFJWRi8kIjJ3eDAnXEhuTkghIzo=</Plot></Text-field></Output></Group><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">xx := evalf(-6*sqrt(2)/5);
fn(xx);
evalf(evalf(g(xx),15));</Font></Text-field></Input><Output><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiM+JSN4eEckISt1aTAocCIhIio=</Equation></Text-field><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiMkIithQCQqPjUhIik=</Equation></Text-field><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiMkIithQCQqPjUhIik=</Equation></Text-field></Output></Group><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">;</Font></Text-field></Input></Group></Section><Section collapsed="true"><Title><Text-field layout="Heading 2" style="Heading 2">Example 2<Font bold="true" executable="false" family="Times New Roman" foreground="[128,0,0]" italic="false" style="_cstyle303" underline="false"> .. a continuous solution which extends both to the right and left of the initial point </Font></Text-field></Title><Text-field layout="Normal" style="Normal">First we find the analytical solution to the differential equation   <Equation input-equation="dy/dx = x^2/y;" style="2D Comment">NiMvKiYlI2R5RyIiIiUjZHhHISIiKiYlInhHIiIjJSJ5R0Yo</Equation>, with the initial condition <Equation input-equation="y(0) = 4" style="2D Comment">NiMvLSUieUc2IyIiISIiJQ==</Equation>.</Text-field><Text-field layout="Normal" style="Normal">The solution is plotted along with the gradient field. </Text-field><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">de := diff(y(x),x)=x^2/y(x);
ic := y(0)=4;
dsolve({de,ic},y(x));
g := unapply(rhs(%),x);
p1 := DEtools[DEplot](de,y(x),x=-3..3,y=0..6,arrows=medium,color=blue,
             dirgrid=[25,25]):
p2 := plot(g(x),x=-3..3,y=0..3.2,color=brown,thickness=2):
plots[display]([p1,p2]);</Font></Text-field></Input><Output><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiM+JSNkZUcvLSUlZGlmZkc2JC0lInlHNiMlInhHRiwqJkYsIiIjRikhIiI=</Equation></Text-field><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiM+JSNpY0cvLSUieUc2IyIiISIiJQ==</Equation></Text-field><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiMvLSUieUc2IyUieEcsJComIiIkISIiLCYqJiIiJyIiIilGJ0YqRi9GLyIkVyJGLyNGLyIiI0Yv</Equation></Text-field><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiM+JSJnR2YqNiMlInhHNiI2JCUpb3BlcmF0b3JHJSZhcnJvd0dGKCwkKiYjIiIiIiIkRi8qJCwmKiYiIidGLyk5JEYwRi9GLyIkVyJGLyNGLyIiI0YvRi9GKEYoRig=</Equation></Text-field><Text-field layout="Maple Plot" style="Maple Plot"><Plot height="300" type="two-dimensional" width="400">LSUlUExPVEc2LC0lJ0NVUlZFU0c2XmJtNyc3JCQhIiQiIiEkIiIiJSp1bmRlZmluZWRHRik3JEYtRi1GMEYpNyc3JCQhKysrK11GISIqRi1GMkYwRjBGMjcnNyQkISsrKysrREY1Ri1GN0YwRjBGNzcnNyQkISsrKytdQUY1Ri1GO0YwRjBGOzcnNyQkISsrKysrP0Y1Ri1GP0YwRjBGPzcnNyQkISsrKytdPEY1Ri1GQ0YwRjBGQzcnNyQkISsrKysrOkY1Ri1GR0YwRjBGRzcnNyQkISsrKytdN0Y1Ri1GS0YwRjBGSzcnNyQkISsrKysrNUY1Ri1GT0YwRjBGTzcnNyQkISsrKysrdiEjNUYtRlNGMEYwRlM3JzckJCErKysrK11GVkYtRlhGMEYwRlg3JzckJEY5RlZGLUZmbkYwRjBGZm43J0YwRjBGMEYwRjA3JzckJCIrKysrK0RGVkYtRmpuRjBGMEZqbjcnNyQkIisrKysrXUZWRi1GXm9GMEYwRl5vNyc3JCQiKysrKyt2RlZGLUZib0YwRjBGYm83JzckJCIrKysrKzVGNUYtRmZvRjBGMEZmbzcnNyQkIisrKytdN0Y1Ri1Gam9GMEYwRmpvNyc3JCQiKysrKys6RjVGLUZecEYwRjBGXnA3JzckJCIrKysrXTxGNUYtRmJwRjBGMEZicDcnNyQkIisrKysrP0Y1Ri1GZnBGMEYwRmZwNyc3JCQiKysrK11BRjVGLUZqcEYwRjBGanA3JzckJEZcb0Y1Ri1GXnFGMEYwRl5xNyc3JCQiKysrK11GRjVGLUZhcUYwRjBGYXE3JzckJCIrKysrK0lGNUYtRmVxRjBGMEZlcTcnNyQkISskKTNaLklGNSQiK3U+W103RlY3JCQhKzwiSGwqSEY1JCIrRSE9JlxQRlY3JCQhKy5Uem1IRjUkIitUT3kqPiRGVjckJCErLytGSElGNSQiK2UhUXJAJEZWRl5yNyc3JCQhK3YqSFR2I0Y1JCIrYUNvXTdGVjckJCErRCsoZXUjRjUkIitZdkpcUEZWNyQkISs9YVU7RkY1JCIrVEEtKT4kRlY3JCQhKyZIIiopeUZGNSQiKz1Abj1LRlZGY3M3JzckJCErMGcqXF0jRjUkIissKSkqNEQiRlY3JCQhKyYqUismXCNGNSQiKyo+LCFcUEZWNyQkISsqSFVmWSNGNSQiKy55biY+JEZWNyQkIStmQlJHREY1JCIrRnlsP0tGVkZodDcnNyQkIStGYDtjQUY1JCIrdjhfXjdGVjckJCErdFkkUUMjRjUkIitEJ3klW1BGVjckJCErc0JIOkFGNSQiKzEjZUM+JEZWNyQkISsuanJ4QUY1JCIrUltHQktGVkZddjcnNyQkISsnRyh6Mj9GNSQiK3dVVl83RlY3JCQhKzlGPyMqPkY1JCIrQ2RjWlBGVjckJCErJiopKlFrPkY1JCIrLzIneT0kRlY3JCQhKyI9b24tI0Y1JCIrTHIlb0EkRlZGYnc3JzckJCErXi08ZzxGNSQiK0lVOWE3RlY3JCQhK1woSClSPEY1JCIrcWQmZXUkRlY3JCQhKy5zMzg8RjUkIitwKGU0PSRGVjckJCErIioqemB4IkY1JCIrRCsiPUIkRlZGZ3g3JzckJCErVFIhUV4iRjUkIitKYGtkN0ZWNyQkIStmZz4nWyJGNSQiK3BZTlVQRlY3JCQhK3VXNmg5RjUkIitsJSopKXBKRlY3JCQhKzJBQkI6RjUkIitwIjQqUUtGVkZcejcnNyQkISs4KVsocDdGNSQiKzUjKnBsN0ZWNyQkISsoPV4tQiJGNSQiKyF6K1Z0JEZWNyQkISthXiV6PyJGNSQiK1EzWV1KRlY3JCQhKyQ+ZydwN0Y1JCIrLVw/XEtGVkZhW2w3JzckJCErYHBKSTVGNSQiK3Y9SyhHIkZWNyQkIStwLyRvcCpGViQiK0QieUVyJEZWNyQkISsnPlBcXypGViQiKzYyeTZKRlY3JCQhK0V3Nzg1RjUkIit3YU9qS0ZWRmZcbDcnNyQkISskM3R3KylGViQiK2tidGQ4RlY3JCQhKzxwSyMqcEZWJCIrT1dFVU9GVjckJCErLCgqZUVwRlYkIitiNnQ/SUZWNyQkISs+PnMoXChGViQiKyhwblhGJEZWRltebDcnNyQkISt3TSlRKWVGViQiK0NsNjs7RlY3JCQhK0NsNjtURlYkIit3TSlRUSRGVjckJCErRiV5eUYlRlYkIitNKXoseSNGVjckJCErbSwjKT5aRlYkIit0OjdBS0ZWRmBfbDcnNyQkIStEInlFciRGViQiK3AvJG8+I0ZWNyQkISt2PUsoRyJGViQiK0omcEohR0ZWNyQkIStDWGpPPEZWJCIrVVBzb0JGVjckJCErKkc+IykpPUZWJCIrL0cxdkhGVkZlYGw3JzckJEZNRlZGW283JCRGXHBGVkZbbzckJCIrRjdNKDMoISM2JCIrKytdKD0jRlY3JEZqYWwkIisrK103R0ZWRmdhbDcnNyRGZFxsRmNgbDckRmlcbEZoYGw3JEZjXWxGXWFsNyRGXl1sRmJhbEZkYmw3JzckJCIrQ2w2O1RGVkZeX2w3JCQiK3dNKVEpZUZWRmNfbDckJCIrdDo3QWRGVkZoX2w3JCQiK00peixHJkZWRl1gbEZbY2w3JzckJCIrPHBLIypwRlZGaV1sNyQkIiskM3R3KylGVkZeXmw3JCQiKypINU0yKUZWRmNebDckJCIrIjN5QV0oRlZGaF5sRmhjbDcnNyQkIitwLyRvcCpGVkZkXGw3JCQiK2BwSkk1RjVGaVxsNyQkIishRzF2LyJGNUZeXWw3JCQiK1RQc28pKkZWRmNdbEZlZGw3JzckJCIrKD1eLUIiRjVGX1tsNyQkIis4KVsocDdGNUZkW2w3JCQiK1lbMCNIIkY1RmlbbDckJCIrMilSLkIiRjVGXlxsRmJlbDcnNyQkIitmZz4nWyJGNUZqeTckJCIrVFIhUV4iRjVGX3o3JCQiK0ViKSlROkY1RmR6NyQkIiskem5uWiJGNUZpekZfZmw3JzckJCIrXChIKVI8RjVGZXg3JCQiK14tPGc8RjVGang3JCQiKyh6N3B5IkY1Rl95NyQkIis0K2lDPEY1RmR5RlxnbDcnNyQkIis5Rj8jKj5GNUZgdzckJCIrJ0coejI/RjVGZXc3JCQiKzAsaE4/RjVGanc3JCQiKz49QnQ+RjVGX3hGaWdsNyc3JCQiK3RZJFFDI0Y1Rlt2NyQkIitGYDtjQUY1RmB2NyQkIitHd3ElRyNGNUZldjckJCIrKHAkR0FBRjVGanZGZmhsNyc3JCQiKyYqUismXCNGNUZmdDckJCIrMGcqXF0jRjVGW3U3JCQiKyx4ME1ERjVGYHU3JCQiK1R3Z3JDRjVGZXVGY2lsNyc3JCQiK0QrKGV1I0Y1RmFzNyQkIit2KkhUdiNGNUZmczckJCIrI2V1TnkjRjVGW3Q3JCQiKzAoMzZzI0Y1RmB0RmBqbDcnNyQkIis8IkhsKkhGNUZccjckJCIrJCkzWi5JRjVGYXI3JCQiKygqZT9MSUY1RmZyNyQkIisnKipIMihIRjVGW3NGXVttNyc3JCQhK19QJHArJEY1JCIrZlgjPnYkRlY3JCQhK1tpMSQqSEY1JCIrVGEyW2lGVjckJCErbG4nWydIRjUkIitUJjMucCZGVjckJCErUDBGRklGNSQiKy50KFxzJkZWRlxcbTcnNyQkIStma0NlRkY1JCIrSEpzX1BGVjckJCErVE52VEZGNSQiK3JvRlppRlY3JCQhK1RDOTlGRjUkIisnKlJkJ28mRlY3JCQhKyVHMWx4I0Y1JCIrIUgxeXMmRlZGYV1tNyc3JCQhK2Aibyo0REY1JCIrLTQpUnYkRlY3JCQhK1o9LiFcI0Y1JCIrKTQ+Z0MnRlY3JCQhKzF4PmpDRjUkIis/bWIibyZGVjckJCEraCcpXERERjUkIislUShSSmRGVkZmXm03JzckJCErLWZHaUFGNSQiKypRX2d2JEZWNyQkISspNDl4QiNGNSQiKzZ3JVJDJ0ZWNyQkIStmYCQ+QCNGNSQiK1J4ZXVjRlY3JCQhK1NGOHVBRjUkIitecyxPZEZWRltgbTcnNyQkIStVVl06P0Y1JCIrYUVsZlBGVjckJCErZWNcJSk+RjUkIitZdE1TaUZWNyQkISteMD9nPkY1JCIrTy5da2NGVjckJCErPnpAQT9GNSQiK1g/LVVkRlZGYGFtNyc3JCQhKyhbVCx4IkY1JCIrKipRTG1QRlY3JCQhKzgmZSlIPEY1JCIrLGhtTGlGVjckJCErIVFReHEiRjUkIisiSD4iXGNGVjckJCErJm9AJXA8RjUkIitHbiMpXGRGVkZlYm03JzckJCErMmo2RjpGNSQiK3Zod3pQRlY3JCQhKyRwJClHWiJGNSQiK0RRQj9pRlY3JCQhK2AmPlRYIkY1JCIrNmoxQ2NGVjckJCErVzc4OjpGNSQiK1t5a2ZkRlZGamNtNyc3JCQhK21wNClHIkY1JCIrOylwJTRRRlY3JCQhK01JIT5AIkY1JCIrJT1JMD4nRlY3JCQhK11paik+IkY1JCIreUl4emJGVjckJCErZkY7ZTdGNSQiKzJ6RHFkRlZGX2VtNyc3JCQhKypwLGYwIkY1JCIrNmcnPilRRlY3JCQhKzBJKTRXKkZWJCIrKilSLj1oRlY3JCQhK25mYC4lKkZWJCIrQW86JVwmRlY3JCQhK2lIYmkqKkZWJCIrPmBtdGRGVkZkZm03JzckJCErKnphL0wpRlYkIiteJFFkMSVGVjckJCErLF9hcG1GViQiK1w7RU1mRlY3JCQhK2xzZCZ6J0ZWJCIrKXkrQEsmRlY3JCQhKyozM0ZFKEZWJCIrKT1HdHQmRlZGaWdtNyc3JCQhKyopUi49aEZWJCIrMUkpNFclRlY3JCQhKzZnJz4pUUZWJCIrJSpwLGZiRlY3JCQhKyJvTWpBJUZWJCIrUXFXUF1GVjckJCEreUolZV0lRlYkIitLU1knZiZGVkZeaW03JzckJCErWXRNU1BGViQiKyNlY1wlW0ZWNyQkISthRWxmN0ZWJCIrPU0vYl5GVjckJCErYnooenYiRlYkIis3MyN5eCVGVjckJCEraycqXE49RlYkIismWyUqelImRlZGY2ptNyc3JEZmYWxGX283JEZoYWxGX283JEZqYWwkIisrK10obyVGVjckRmphbCQiKysrXTdgRlZGZFtuNyc3JCQiK2FFbGY3RlZGYWptNyQkIitZdE1TUEZWRmZqbTckJCIrWD8tVUtGVkZbW243JCQiK08uXWtKRlZGYFtuRl9cbjcnNyRGYmZtRlxpbTckRmdmbUZhaW03JEZhZ21GZmltNyRGXGdtRltqbUZqXG43JzckJCIrLF9hcG1GVkZnZ203JCQiKyp6YS9MKUZWRlxobTckJCIrTkZVLyMpRlZGYWhtNyQkIis2PkhQeEZWRmZobUZhXW43JzckJCIrMEkpNFcqRlZGYmZtNyQkIisqcCxmMCJGNUZnZm03JCQiKy5ra2Y1RjVGXGdtNyQkIisuWnUuNUY1RmFnbUZeXm43JzckJCIrTUkhPkAiRjVGXWVtNyQkIittcDQpRyJGNUZiZW03JCQiK11QTyw4RjVGZ2VtNyQkIitUcyQ9QyJGNUZcZm1GW19uNyc3JCQiKyRwJClHWiJGNUZoY203JCQiKzJqNkY6RjVGXWRtNyQkIitaLyllYSJGNUZiZG03JCQiK2Mob1tbIkY1RmdkbUZoX243JzckJCIrOCZlKUg8RjVGY2JtNyQkIisoW1QseCJGNUZoYm03JCQiKz87RSN6IkY1Rl1jbTckJCIrOiR5MHQiRjVGYmNtRmVgbjcnNyQkIitlY1wlKT5GNUZeYW03JCQiK1VWXTo/RjVGY2FtNyQkIitcJSp6Uj9GNUZoYW03JCQiKyIzI3l4PkY1Rl1ibUZiYW43JzckJCIrKTQ5eEIjRjVGaV9tNyQkIistZkdpQUY1Rl5gbTckJCIrVFkxKUcjRjVGY2BtNyQkIitncydlQSNGNUZoYG1GX2JuNyc3JCQiK1o9LiFcI0Y1RmRebTckJCIrYCJvKjRERjVGaV5tNyQkIislSC1vYCNGNUZeX203JCQiK1I4XXVDRjVGY19tRlxjbjcnNyQkIitUTnZURkY1Rl9dbTckJCIrZmtDZUZGNUZkXW03JCQiK2Z2JmV5I0Y1RmldbTckJCIrO1BcQkZGNUZeXm1GaWNuNyc3JCQiK1tpMSQqSEY1RmpbbTckJCIrX1AkcCskRjVGX1xtNyQkIitOSzhOSUY1RmRcbTckJCIraiVIRihIRjVGaVxtRmZkbjcnNyQkISsmbyFRNUlGNSQiKy15SmFpRlY3JCQhKzokPicqKUhGNSQiKyk+I29YKClGVjckJCErR0EoSCdIRjUkIityVUwhPSlGVjckJCErUWpERElGNSQiKydwUEFCKUZWRmVlbjcnNyQkISt4aExpRkY1JCIrWEA1Y2lGVjckJCErQlFtUEZGNSQiK2J5KlF1KUZWNyQkISspNDM+ciNGNSQiK1RRVnUiKUZWNyQkISsiKkg1dUZGNSQiK0VaNk8jKUZWRmpmbjcnNyQkIStgSipbXiNGNSQiK19SISplaUZWNyQkIStabzUmWyNGNSQiK1tnNFQoKUZWNyQkIStxJEcwWSNGNSQiKzlHWG0iKUZWNyQkIStzSmVBREY1JCIrdyY9NEMpRlZGX2huNyc3JCQhKyRlPSRvQUY1JCIrc2NcamlGVjckJCErPDlvSkFGNSQiK0dWXU8oKUZWNyQkISspKTRxM0FGNSQiKyJ6JkdiIilGVjckJCErL2lfcUFGNSQiKzAoeW9DKUZWRmRpbjcnNyQkIStuZy5CP0Y1JCIrbSg0OUYnRlY3JCQhK0xSJ3AoPkY1JCIrTS1mRygpRlY3JCQhKygzQ2kmPkY1JCIrISpbK1IiKUZWNyQkISspZmB3LCNGNSQiK0NfPWEjKUZWRmlqbjcnNyQkISsiZkwoejxGNSQiK2ckeWVHJ0ZWNyQkISs0a0U/PEY1JCIrUzs3OSgpRlY3JCQhKyJSKXktPEY1JCIrcXYwOSIpRlY3JCQhK3RXXGo8RjUkIitFYnNpIylGVkZeXG83JzckJCErciVHJlI6RjUkIit4ZTk5akZWNyQkIStIOlpnOUY1JCIrQlQmZW8pRlY3JCQhKzE6JXpXIkY1JCIrW0lhdCEpRlY3JCQhKzdVQjI6RjUkIistYT1yIylGVkZjXW83JzckJCErJFEiNC84RjUkIit5aDR0akZWNyQkISs8JzNmPiJGNSQiK0FRIXBpKUZWNyQkISt5I2U2PiJGNSQiKyVwNlArKUZWNyQkIStwTV1aN0Y1JCIrNydvVEYpRlZGaF5vNyc3JCQhKysrK3Y1RjUkIisrKysrbEZWNyQkISsrKytdIypGViQiKysrKysmKUZWNyQkIStGJmZaSypGViQiKylIKFt6eUZWNyQkIStFJmZaIykqRlYkIispSChbYSMpRlZGXWBvNyc3JCQhKysrKysmKUZWJCIrKysrXW5GVjckJCErKysrK2xGViQiKysrK10jKUZWNyQkISstRl5YbkZWJCIrdS9DdndGVjckJCErLUZeP3JGViQiK3QvQ3YiKUZWRmJhbzcnNyQkIStBVCZlPSdGViQiKyNIOlo1KEZWNyQkISt5ZTk5UUZWJCIrM1pHJip5RlY3JCQhKypmOSlHVUZWJCIreXlsRnVGVjckJCErX3BYRVdGViQiK1JcZT8hKUZWRmdibzcnNyQkISspPiNvWFBGViQiK11KPidSKEZWNyQkISsteUphN0ZWJCIrXW8hUWcoRlY3JCQhKy9Cd248RlYkIis7bVZac0ZWNyQkIStIZG0+PUZWJCIrOnhGcXlGVkZcZG83JzckRmZhbEZjbzckRmhhbEZjbzckRmphbCQiKysrXSg9KEZWNyRGamFsJCIrKytdN3lGVkZdZW83JzckJCIrLXlKYTdGVkZqY283JCQiKyk+I29YUEZWRl9kbzckJCIrJ3BQQUIkRlZGZGRvNyQkIityVUwhPSRGVkZpZG9GaGVvNyc3JCQiK3llOTlRRlZGZWJvNyQkIitBVCZlPSdGVkZqYm83JCQiKyxhPXJkRlZGX2NvNyQkIitbSWF0YkZWRmRjb0ZlZm83JzckRltgb0ZgYW83JEZgYG9GZWFvNyRGamBvRmphbzckRmVgb0ZfYm9GYGdvNyc3JCQiKysrK10jKkZWRltgbzckJCIrKysrdjVGNUZgYG83JCQiK1pTX241RjVGZWBvNyQkIitaU188NUY1Rmpgb0ZnZ283JzckJCIrPCczZj4iRjVGZl5vNyQkIiskUSI0LzhGNUZbX283JCQiK0E8JSkzOEY1RmBfbzckJCIrSmxcXzdGNUZlX29GZGhvNyc3JCQiK0g6Wmc5RjVGYV1vNyQkIityJUcmUjpGNUZmXW83JCQiKyVcZT9iIkY1RltebzckJCIrKXlsRlwiRjVGYF5vRmFpbzcnNyQkIis0a0U/PEY1RlxcbzckJCIrImZMKHo8RjVGYVxvNyQkIis0O0AoeiJGNUZmXG83JCQiK0ZiXU88RjVGW11vRl5qbzcnNyQkIitMUidwKD5GNUZnam43JCQiK25nLkI/RjVGXFtvNyQkIis4ZnhWP0Y1RmFbbzckJCIrLWtNIyk+RjVGZltvRltbcDcnNyQkIis8OW9KQUY1RmJpbjckJCIrJGU9JG9BRjVGZ2luNyQkIis3ISpIIkgjRjVGXGpuNyQkIisnenQlSEFGNUZham5GaFtwNyc3JCQiK1pvNSZbI0Y1Rl1objckJCIrYEoqW14jRjVGYmhuNyQkIitJO1pSREY1RmdobjckJCIrR29UeENGNUZcaW5GZVxwNyc3JCQiK0JRbVBGRjVGaGZuNyQkIit4aExpRkY1Rl1nbjckJCIrLT40KXkjRjVGYmduNyQkIis0cSplcyNGNUZnZ25GYl1wNyc3JCQiKzokPicqKUhGNUZjZW43JCQiKyZvIVE1SUY1RmhlbjckJCIrc3gtUElGNUZdZm43JCQiK2lPdXVIRjVGYmZuRl9ecDcnNyQkIStUUiFRLCRGNSQiK0pga2QoKUZWNyQkIStmZz4nKUhGNSQiK25hQkM2RjU3JCQhK3VXNmhIRjUkIitaKikpcDEiRjU3JCQhKzJBQkJJRjUkIis8NCpRMiJGNUZeX3A3JzckJCErKUcnUW1GRjUkIitocHlnKClGVjckJCErN1BoTEZGNSQiKy84I1I3IkY1NyQkIStkKUcoNEZGNSQiK0xfO201RjU3JCQhKzQmKm9yRkY1JCIreCRlVjIiRjVGY2BwNyc3JCQhKzgpWyg+REY1JCIrNSMqcGwoKUZWNyQkISsoPV4tWyNGNSQiK3orVkI2RjU3JCQhK2FeJXpYI0Y1JCIrJTNZXTEiRjU3JCQhKyQ+Zyc+REY1JCIrIVw/XDIiRjVGaGFwNyc3JCQhKy1MQXVBRjUkIitBYHB0KClGVjckJCErKXB3ZEEjRjUkIitvL2pBNkY1NyQkISt6ITNjPyNGNSQiKyM0dU0xIkY1NyQkISs4TCNwRSNGNSQiK1ZkZXY1RjVGXWNwNyc3JCQhK2BwSkk/RjUkIit2PUsoeSlGVjckJCErWklvcD5GNSQiKzd5RUA2RjU3JCQhKz9QXF8+RjUkIityIXk2MSJGNTckJCErRXc3OD9GNSQiK1psTHc1RjVGYmRwNyc3JCQhK0ItISkpeSJGNSQiK3pKdTYpKUZWNyQkISt4KCo+NjxGNSQiKyNvRCk9NkY1NyQkIStZVkgpcCJGNSQiKyhmc3cwIkY1NyQkISsoPTJ4diJGNSQiKzNGMng1RjVGZ2VwNyc3JCQhKzN0d106RjUkIitrYnRkKSlGVjckJCErI3BLI1w5RjUkIitXa0E5NkY1NyQkIStxKmVFVyJGNSQiKztKMl81RjU3JCQhKyM+cygqXCJGNSQiK3FuWHg1RjVGXGdwNyc3JCQhKzc8UTw4RjUkIitcMjtaKilGVjckJCErKUc9RT0iRjUkIitEUkcwNkY1NyQkIStXV1omPSJGNSQiKz8jXEcvIkY1NyQkISsxazZRN0Y1JCIrdythdzVGNUZhaHA3JzckJCErWyQpUSkzIkY1JCIrQ2w2OyIqRlY3JCQhK0NsNjsiKkZWJCIrWyQpUSkzIkY1NyQkIStGJXl5RipGViQiKyUpeixHNUY1NyQkISttLCMpPigqRlYkIitlQEBzNUY1RmZpcDcnNyQkIStAJXAlKmUpRlYkIitdTTwoUSpGVjckJCErejBgNWtGViQiK2JFR2g1RjU3JCQhK1IheSFIbkZWJCIrXyg0disiRjU3JCQhKzk4XE5xRlYkIitCSyk+MSJGNUZbW3E3JzckJCErRCJ5RUAnRlZGY2RsNyQkISt2PUsoeSRGVkZmZGw3JCQhK0NYak9VRlZGXGVsNyQkISsqRz4jKVElRlZGaWRsRl5ccTcnNyQkIStCZGNaUEZWJCIrVXItQSoqRlY3JCQhK3hVVl83RlYkIisnRyh6MjVGNTckJCErbkc6dDxGViQiKyM+PUJ0KkZWNyQkISsnSFJAIj1GViQiKzAsaE41RjVGXV1xNyc3JEZmYWxGZ283JEZoYWxGZ283JEZqYWwkIisrK10obypGVjckRmphbCQiKysrREo1RjVGXl5xNyc3JCQiK3hVVl83RlZGW11xNyQkIitCZGNaUEZWRmBdcTckRl94RmVdcTckRmp3RmpdcUZpXnE3JzckJCIrdj1LKHkkRlZGY2RsNyQkIitEInlFQCdGVkZmZGw3JCQiK3dhT2pkRlZGXGVsNyQkIis2Mnk2Y0ZWRmlkbEZiX3E3JzckJCIrejBgNWtGVkZpanA3JCQiK0AlcCUqZSlGVkZeW3E3JCQiK2g+IzRGKUZWRmNbcTckJCIrJ28zWCd6RlZGaFtxRl9gcTcnNyRGZGlwRmRpcDckRmlpcEZpaXA3JEZjanBGXmpwNyRGXmpwRmNqcEZqYHE3JzckJCIrKUc9RT0iRjVGX2hwNyQkIis3PFE8OEY1RmRocDckJCIrY2JfOThGNUZpaHA3JCQiKyVmJCk9RSJGNUZeaXBGYWFxNyc3JCQiKyNwSyNcOUY1RmpmcDckJCIrM3R3XTpGNUZfZ3A3JCQiK0k1TWQ6RjVGZGdwNyQkIiszeUErOkY1RmlncEZeYnE3JzckJCIreCgqPjY8RjVGZWVwNyQkIitCLSEpKXkiRjVGamVwNyQkIithY3EsPUY1Rl9mcDckJCIrOEdIVTxGNUZkZnBGW2NxNyc3JCQiK1pJb3A+RjVGYGRwNyQkIitgcEpJP0Y1RmVkcDckJCIrIUcxdi8jRjVGamRwNyQkIit1QihvKT5GNUZfZXBGaGNxNyc3JCQiKylwd2RBI0Y1RltjcDckJCIrLUxBdUFGNUZgY3A3JCQiK0A+UiVII0Y1RmVjcDckJCIrKG93SUIjRjVGamNwRmVkcTcnNyQkIisoPV4tWyNGNUZmYXA3JCQiKzgpWyg+REY1RlticDckJCIrWVswVURGNUZgYnA3JCQiKzIpUi5bI0Y1RmVicEZiZXE3JzckJCIrN1BoTEZGNUZhYHA3JCQiKylHJ1FtRkY1RmZgcDckJCIrVjZGIXojRjVGW2FwNyQkIisiXDUkR0ZGNUZgYXBGX2ZxNyc3JCQiK2ZnPicpSEY1RlxfcDckJCIrVFIhUSwkRjVGYV9wNyQkIitFYikpUUlGNUZmX3A3JCQiKyR6bm4oSEY1RltgcEZcZ3E3JzckJCErWWc+PElGNSQiK20lKT1FNkY1NyQkISthUiFHKUhGNSQiK006IlFQIkY1NyQkISt4ckhmSEY1JCIrYjAhZkoiRjU3JCQhK1dIP0BJRjUkIit6JilcQzhGNUZbaHE3JzckJCErdlhRcUZGNSQiK0NMbkU2RjU3JCQhK0RhaEhGRjUkIit3bUt0OEY1NyQkIStPMGgyRkY1JCIrOiZHW0oiRjU3JCQhK3VRRnBGRjUkIistMy1EOEY1RmBpcTcnNyQkISs8WF5DREY1JCIrO3VVRjZGNTckJCErJFsmW3ZDRjUkIislZXNEUCJGNTckJCErTXVYYkNGNSQiK3Alb0xKIkY1NyQkIStFUHU7REY1JCIrRmRpRDhGNUZlanE3JzckJCErL1YnKnpBRjUkIitxWGtHNkY1NyQkISsncE4rQSNGNSQiK0lhTnI4RjU3JCQhK2o8bi1BRjUkIis2Zko2OEY1NyQkISt5JVxMRSNGNSQiK2ohKUhFOEY1RmpbcjcnNyQkISt1VkdQP0Y1JCIrLitwSTZGNTckJCErRWNyaT5GNSQiKygqKjQkcDhGNTckJCErTUYuXD5GNSQiK2ZoSzM4RjU3JCQhK0x4bzM/RjUkIitZJG9wSyJGNUZfXXI3JzckJCErRHJCKHoiRjUkIitYIXBVOCJGNTckJCErdkd3LTxGNSQiK2I0dGw4RjU3JCQhKzZXRyVwIkY1JCIrKygzUUkiRjU3JCQhKyopKVxAdiJGNSQiK2lzVUY4RjVGZF5yNyc3JCQhK21gcWc6RjUkIitTLnRTNkY1NyQkIStNWUhSOUY1JCIrZydwI2Y4RjU3JCQhKzlNRVE5RjUkIitvInluSCJGNTckJCErVyMpKkdcIkY1JCIrXjM4RjhGNUZpX3I3JzckJCErIilvM0c4RjUkIisqUiJSXzZGNTckJCErPkoiPjwiRjUkIissJzN3TSJGNTckJCErIWVCOD0iRjUkIis8NiNlRyJGNTckJCErIil5N0k3RjUkIitkWCdbSyJGNUZeYXI3JzckJCErLCczdzQiRjUkIis+SiI+PCJGNTckJCErKSlSIlItKkZWJCIrIilvM0c4RjU3JCQhK0ZXTl4jKkZWJCIrPkAoKXA3RjU3JCQhK0spKXlUJypGViQiKz9rbj04RjVGY2JyNyc3JCQhKyIpPSEqUicpRlYkIis6V3EpPiJGNTckJCErPiIpNGdqRlYkIismZSZILDhGNTckJCErXjZYRG5GViQiKylSJ2VdN0Y1NyQkISt1IUg+KXBGViQiKyNcImUyOEY1RmhjcjcnNyQkIStXZXNEaUZWJCIrJFsmW0Q3RjU3JCQhK2NURnVQRlYkIis8WF51N0Y1NyQkIStCRnVWVUZWJCIrdWlETDdGNTckJCErM2BKbVZGViQiK21EYSVIIkY1Rl1lcjcnNyQkIStDL1dbUEZWJCIrKXpkUEMiRjU3JCQhK3cmZjpEIkZWJCIrLUFDYzdGNTckJCErS1lhdzxGViQiK1IjR0JBIkY1NyQkIStVY3YyPUZWJCIrZy12JUciRjVGYmZyNyc3JEZmYWxGW3A3JEZoYWxGW3A3JEZqYWwkIisrK3Y9N0Y1NyRGamFsJCIrKytEIkciRjVGY2dyNyc3JCQiK3cmZjpEIkZWRmBmcjckJCIrQy9XW1BGVkZlZnI3JCQiK29gWEJLRlZGamZyNyQkIitlVkMjPiRGVkZfZ3JGXmhyNyc3JCQiK2NURnVQRlZGW2VyNyQkIitXZXNEaUZWRmBlcjckJCIreHNEY2RGVkZlZXI3JCQiKyNwJW9MY0ZWRmplckZbaXI3JzckJCIrPiIpNGdqRlZGZmNyNyQkIisiKT0hKlInKUZWRltkcjckJCIrXClbWEYpRlZGYGRyNyQkIitFNDI9ISlGVkZlZHJGaGlyNyc3JCQiKykpUiJSLSpGVkZhYnI3JCQiKywnM3c0IkY1RmZicjckJCIrZFgnWzIiRjVGW2NyNyQkIis8NiNlLiJGNUZgY3JGZWpyNyc3JEZhYnJGXGFyNyRGZmJyRmFhcjckRmBjckZmYXI3JEZbY3JGW2JyRmBbczcnNyQkIitNWUhSOUY1RmdfcjckJCIrbWBxZzpGNUZcYHI3JCQiKydlTzxjIkY1RmFgcjckJCIrYzw1MjpGNUZmYHJGZ1tzNyc3JCQiK3ZHdy08RjVGYl5yNyQkIitEckIoeiJGNUZnXnI3JCQiKyplOmQhPUY1RlxfcjckJCIrNiwmeXUiRjVGYV9yRmRcczcnNyQkIitFY3JpPkY1Rl1dcjckJCIrdVZHUD9GNUZiXXI3JCQiK21zJzQwI0Y1RmddcjckJCIrbkFKIio+RjVGXF5yRmFdczcnNyQkIisncE4rQSNGNUZoW3I3JCQiKy9WJyp6QUY1Rl1ccjckJCIrUCNHdEgjRjVGYlxyNyQkIitBMGxPQUY1RmdcckZeXnM3JzckJCIrJFsmW3ZDRjVGY2pxNyQkIis8WF5DREY1RmhqcTckJCIrbURhV0RGNUZdW3I3JCQiK3VpRCRbI0Y1RmJbckZbX3M3JzckJCIrRGFoSEZGNUZeaXE3JCQiK3ZYUXFGRjVGY2lxNyQkIitrJSpRI3ojRjVGaGlxNyQkIitFaHNJRkY1Rl1qcUZoX3M3JzckJCIrYVIhRylIRjVGaWdxNyQkIitZZz48SUY1Rl5ocTckJCIrQkdxU0lGNUZjaHE3JCQiK2NxenlIRjVGaGhxRmVgczcnNyQkISt0KVwwLSRGNSQiK2cycXc4RjU3JCQhK0YsWHpIRjUkIitTIypIQjtGNTckJCErdE9fZEhGNSQiK007eGs6RjU3JCQhKyRIdCI+SUY1JCIrcmwvdjpGNUZkYXM3JzckJCErPCc+VngjRjUkIisoZilReDhGNTckJCErJFEhb0RGRjUkIisuOWhBO0Y1NyQkIStOI2VicSNGNSQiKy8jUk1jIkY1NyQkIStQUidvdyNGNSQiKzchKmZ2OkY1RmliczcnNyQkISs+OzxIREY1JCIrKGVeJXk4RjU3JCQhKyJRRzNaI0Y1JCIrOCVbOmkiRjU3JCQhK2ZIMmBDRjUkIistTmloOkY1NyQkISttciVRXiNGNSQiKzYkNGlkIkY1Rl5kczcnNyQkIStUNV4mRyNGNSQiK08tOiFRIkY1NyQkIStmKilbOUFGNSQiK2soXCk+O0Y1NyQkIStdSyEqKj4jRjUkIitNYjJmOkY1NyQkIStLIkcpZkFGNSQiK2E1JG9kIkY1RmNlczcnNyQkIStJLypRLyNGNSQiK2ApZUhRIkY1NyQkIStxJjRoJj5GNSQiK1o2Lzw7RjU3JCQhKyhSYWUlPkY1JCIrTyMpUWI6RjU3JCQhK3JcUC8/RjUkIiteTUx4OkY1RmhmczcnNyQkIStKTSlcIT1GNSQiK2lAdShRIkY1NyQkIStwbCwmcCJGNSQiK1F5RDc7RjU3JCQhK0wxdyFwIkY1JCIrNUghKlw6RjU3JCQhK2AmKilvdSJGNSQiK0VZUng6RjVGXWhzNyc3JCQhK0N2THA6RjUkIis4UCpmUiJGNTckJCErd0NtSTlGNSQiKyhHMVNnIkY1NyQkIStMXG9NOUY1JCIramVqVDpGNTckJCEreCEpbydbIkY1JCIrRFlJdzpGNUZiaXM3JzckJCEreWtjTzhGNSQiKyZlRSk0OUY1NyQkIStBTlZqNkY1JCIrOk08IWYiRjU3JCQhK2BYUHk2RjUkIitoYltIOkY1NyQkIStnN1lCN0Y1JCIrKylvRmQiRjVGZ2pzNyc3JCQhKyhHMVM1IkY1JCIrdkNtSTlGNTckJCErS3IkKmYqKUZWJCIrRHZMcDpGNTckJCErYFAmcEIqRlYkIitDPko4OkY1NyQkISt3OGskZSpGViQiK29dSmw6RjVGXFx0Nyc3JCQhK3M5VHEnKUZWJCIrcSY0aFgiRjU3JCQhK0cmKWVIakZWJCIrSS8qUWEiRjU3JCQhKydbbG1zJ0ZWJCIrSF1pJlwiRjU3JCQhK1F3NllwRlYkIisuYzlhOkY1RmFddDcnNyQkISswQypIQidGViQiK0YsWHo5RjU3JCQhKyZmMnF3JEZWJCIrdClcMF8iRjU3JCQhKyVHTSZcVUZWJCIrMm4jM1siRjU3JCQhK15PR19WRlYkIitGalpVOkY1RmZedDcnNyQkIStUaiIqW1BGViQiKyM9J3olXCJGNTckJCErZk8zXjdGViQiKz1RPzA6RjU3JCQhK2AyKCl5PEZWJCIrIWZGPFoiRjU3JCQhK1cpKilbIT1GViQiKzJNPE06RjVGW2B0Nyc3JEZmYWxGX3A3JEZoYWxGX3A3JEZqYWwkIisrK3ZvOUY1NyRGamFsJCIrKytESjpGNUZcYXQ3JzckJCIrZk8zXjdGVkZpX3Q3JCQiK1RqIipbUEZWRl5gdDckJCIrWiNINkEkRlZGY2B0NyQkIitjLDYmPiRGVkZoYHRGZ2F0Nyc3JCQiKyZmMnF3JEZWRmRedDckJCIrMEMqSEInRlZGaV50NyQkIis7ZFldZEZWRl5fdDckJCIrXGpyWmNGVkZjX3RGZGJ0Nyc3JCQiK0cmKWVIakZWRl9ddDckJCIrczlUcScpRlZGZF10NyQkIis5WEx0IylGVkZpXXQ3JCQiK2lCKVEwKUZWRl5edEZhY3Q3JzckJCIrS3IkKmYqKUZWRmpbdDckJCIrKEcxUzUiRjVGX1x0NyQkIitEWUl3NUY1RmRcdDckJCIramVqVDVGNUZpXHRGXmR0Nyc3JCQiK0FOVmo2RjVGZWpzNyQkIit5a2NPOEY1RmpqczckJCIrWmFpQDhGNUZfW3Q3JCQiK1MoUWxGIkY1RmRbdEZbZXQ3JzckJCIrd0NtSTlGNUZgaXM3JCQiK0N2THA6RjVGZWlzNyQkIituXUpsOkY1RmppczckJCIrQj5KODpGNUZfanNGaGV0Nyc3JCQiK3BsLCZwIkY1RltoczckJCIrSk0pXCE9RjVGYGhzNyQkIituJFIjND1GNUZlaHM3JCQiK1ovNmA8RjVGamhzRmVmdDcnNyQkIitxJjRoJj5GNUZmZnM3JCQiK0kvKlEvI0Y1RltnczckJCIrLmM5YT9GNUZgZ3M3JCQiK0hdaSYqPkY1RmVnc0ZiZ3Q3JzckJCIrZiopWzlBRjVGYWVzNyQkIitUNV4mRyNGNUZmZXM3JCQiK11uNCtCRjVGW2ZzNyQkIitvPTxTQUY1RmBmc0ZfaHQ3JzckJCIrIlFHM1ojRjVGXGRzNyQkIis+OzxIREY1RmFkczckJCIrVHEjcGEjRjVGZmRzNyQkIitNRzonWyNGNUZbZXNGXGl0Nyc3JCQiKyRRIW9ERkY1RmdiczckJCIrPCc+VngjRjVGXGNzNyQkIitsPFcleiNGNUZhY3M3JCQiK2pnOExGRjVGZmNzRmlpdDcnNyQkIitGLFh6SEY1RmJhczckJCIrdClcMC0kRjVGZ2FzNyQkIitGalpVSUY1RlxiczckJCIrMm4jMylIRjVGYWJzRmZqdDcnNyQkISsyKGVRLSRGNSQiK3chKUhGO0Y1NyQkISskSFRoKEhGNSQiK0M+cXM9RjU3JCQhK05wemJIRjUkIitjZGc4PUY1NyQkISsoKnk5PElGNSQiKzReYEQ9RjVGZVt1Nyc3JCQhK1I0PXlGRjUkIisnMz0jRztGNTckJCEraCE+PXMjRjUkIis5PnlyPUY1NyQkISsoR3dOcSNGNSQiK2pOKzc9RjU3JCQhK1dzWWtGRjUkIitMUzRFPUY1RmpcdTcnNyQkIStUUHFMREY1JCIrKVxIJ0g7RjU3JCQhK2ZpSG1DRjUkIistMFBxPUY1NyQkISsieSh6XUNGNSQiKzVFIyk0PUY1NyQkIStLSSk0XiNGNSQiKyJbdW0jPUY1Rl9edTcnNyQkIStBKFEzSCNGNSQiKzYlZj1qIkY1NyQkISt5Nzs0QUY1JCIrKmVTIm89RjU3JCQhKzspNHQ+I0Y1JCIrTFh4MT1GNTckJCErNixRY0FGNSQiKyUqUT5GPUY1RmRfdTcnNyQkISthQjVdP0Y1JCIrTC5bTjtGNTckJCErWXcqKVw+RjUkIituJz5YJz1GNTckJCErJm9pSCU+RjUkIiszY1MtPUY1NyQkISs9REErP0Y1JCIrJnljdSM9RjVGaWB1Nyc3JCQhK250LDc9RjUkIisyJ3A5ayJGNTckJCErTEUpem8iRjUkIiskUkkmZT1GNTckJCErVlZxKG8iRjUkIis4NS4neiJGNTckJCErUiZwPnUiRjUkIisncFJxIz1GNUZeYnU3JzckJCEreER1dzpGNSQiK3Q0TF47RjU3JCQhK0J1REI5RjUkIitGIXAnWz1GNTckJCEreDEjPVYiRjUkIitUJWVueSJGNTckJCErIT5iNlsiRjUkIitIKEheIz1GNUZjY3U3JzckJCErM0FDVjhGNSQiK0ghW25tIkY1NyQkISsjemRuOiJGNSQiK3I+REw9RjU3JCQhK2cpPmo8IkY1JCIrZUEqUXgiRjU3JCQhK1hlJXpAIkY1JCIraUxePz1GNUZoZHU3JzckJCErJFJJJjM2RjUkIitMRSl6byJGNTckJCErc2dwOSopRlYkIitudCw3PUY1NyQkIStTSWdIIypGViQiK2gvLmU8RjU3JCQhK3gpKm9SJipGViQiK2RjSDc9RjVGXWZ1Nyc3JCQhKy1kLiFwKUZWJCIrXylbPHIiRjU3JCQhKylIayo0akZWJCIrWzZEKXkiRjU3JCQhKy9xakhuRlYkIitCcSQ+dSJGNTckJCErVUYqMyNwRlYkIiszKVE5IT1GNUZiZ3U3JzckJCErbm9WUGlGViQiK0lCS0s8RjU3JCQhK0xKY2lQRlYkIitxd25uPEY1NyQkIStTWz5hVUZWJCIrJDQoM0g8RjU3JCQhKyk9JGVVVkZWJCIrTyplNHoiRjVGZ2h1Nyc3JCQhK29OP1xQRlYkIitmJlFidSJGNTckJCErS2t6XTdGViQiK1Q5WWE8RjU3JCQhK1RRYyF5IkZWJCIrIlwqSEA8RjU3JCQhK1s1KEchPUZWJCIrcCdmUHkiRjVGXGp1Nyc3JEZmYWxGY3A3JEZoYWxGY3A3JEZqYWwkIisrK3Y9PEY1NyRGamFsJCIrKytEInkiRjVGXVt2Nyc3JCQiK0trel03RlZGaml1NyQkIitvTj9cUEZWRl9qdTckJCIrZmhWPktGVkZkanU3JCQiK18qR3I+JEZWRmlqdUZoW3Y3JzckJCIrTEpjaVBGVkZlaHU3JCQiK25vVlBpRlZGamh1NyQkIitnXiFldSZGVkZfaXU3JCQiKzdvVGRjRlZGZGl1RmVcdjcnNyQkIispSGsqNGpGVkZgZ3U3JCQiKy1kLiFwKUZWRmVndTckJCIrJypIT3EjKUZWRmpndTckJCIrZXM1eiEpRlZGX2h1RmJddjcnNyQkIitzZ3A5KilGVkZbZnU3JCQiKyRSSSYzNkY1RmBmdTckJCIrJ3BScTIiRjVGZWZ1NyQkIis4NS5ZNUY1RmpmdUZfXnY3JzckJCIrI3pkbjoiRjVGZmR1NyQkIiszQUNWOEY1RltldTckJCIrUyxvQjhGNUZgZXU3JCQiK2JUMCNHIkY1RmVldUZcX3Y3JzckJCIrQnVEQjlGNUZhY3U3JCQiK3hEdXc6RjVGZmN1NyQkIitCJHoibzpGNUZbZHU3JCQiKzVbJSk9OkY1RmBkdUZpX3Y3JzckRltmdUZcYnU3JEZgZnVGYWJ1NyRGamZ1RmZidTckRmVmdUZbY3VGZGB2Nyc3JCQiK1l3KilcPkY1RmdgdTckJCIrYUI1XT9GNUZcYXU3JCQiKzp0LmQ/RjVGYWF1NyQkIisjW3goKio+RjVGZmF1RlthdjcnNyQkIit5Nzs0QUY1RmJfdTckJCIrQShRM0gjRjVGZ191NyQkIislPSFwLUJGNUZcYHU3JCQiKyopKT5PQyNGNUZhYHVGaGF2Nyc3JCQiK2ZpSG1DRjVGXV51NyQkIitUUHFMREY1RmJedTckJCIrPkE/XERGNUZnXnU3JCQiK29wLCpbI0Y1RlxfdUZlYnY3JzckJCIraCE+PXMjRjVGaFx1NyQkIitSND15RkY1Rl1ddTckJCIrOFBVJ3ojRjVGYl11NyQkIitjRmBORkY1RmdddUZiY3Y3JzckJCIrJEhUaChIRjVGY1t1NyQkIisyKGVRLSRGNUZoW3U3JCQiK2xJP1dJRjVGXVx1NyQkIisuQCZHKUhGNUZiXHVGX2R2Nyc3JCQhKzJqNkZJRjUkIis9bSh6KD1GNTckJCErJHAkKUcoSEY1JCIrI1FCPzcjRjU3JCQhK2AmPlQmSEY1JCIrSm1TaT9GNTckJCErVzc4OklGNSQiKyV5a2YyI0Y1Rl5ldjcnNyQkISs9ImY+eSNGNSQiKyRlYSJ6PUY1NyQkISsjKTMvPUZGNSQiKzxhJTM3I0Y1NyQkIStLI287cSNGNSQiK1AhRzAxI0Y1NyQkIStTNDRpRkY1JCIrJ2YybDIjRjVGY2Z2Nyc3JCQhK21wNFFERjUkIisjKXAlNCk9RjU3JCQhK01JIT5ZI0Y1JCIrPUkwPkBGNTckJCErXWlqW0NGNSQiKzJ0KHowI0Y1NyQkIStmRjszREY1JCIrIXpEcTIjRjVGaGd2Nyc3JCQhKyRcR2ZII0Y1JCIrLE51JCk9RjU3JCQhKzI6Mi9BRjUkIisqXGNpNiNGNTckJCErLl0qWz4jRjUkIitOUVZhP0Y1NyQkIStgSy1gQUY1JCIrIzMpUng/RjVGXWl2Nyc3JCQhKypwLGYwI0Y1JCIrLG0+KSk9RjU3JCQhKywkKTRXPkY1JCIrKlIuPTYjRjU3JCQhKyhmYC4lPkY1JCIrI286JVw/RjU3JCQhKyhIYmkqPkY1JCIrS2xPeD9GNUZianY3JzckJCErOCdbJD09RjUkIisoPVRgKj1GNTckJCErKFFeO28iRjUkIis4KWVZNSNGNTckJCErLEQzJm8iRjUkIitrSURVP0Y1NyQkISszPlRQPEY1JCIrcnRVdz9GNUZnW3c3JzckJCErIVtYSWUiRjUkIitOUWQxPkY1NyQkISs/WCZwVCJGNSQiK2xoVSQ0I0Y1NyQkIStFeGJIOUY1JCIreitASz9GNTckJCErNDNGdzlGNSQiKz5HdHQ/RjVGXF13Nyc3JCQhK1pJXVs4RjUkIismXFdJIz5GNTckJCErYHBcXjZGNSQiKzBiJnAyI0Y1NyQkIStaNiJcPCJGNSQiK0txKz4/RjU3JCQhKysqKVE4N0Y1JCIrYiZlI28/RjVGYV53Nyc3JCQhKypSLj02IkY1JCIrLCQpNFc+RjU3JCQhKzZnJz4pKSlGViQiKypwLGYwI0Y1NyQkISsib01qQSpGViQiKy5adS4/RjU3JCQhK3lKJWVdKkZWJCIrLmtrZj9GNUZmX3c3JzckJCErd09KLigpRlYkIisubzptPkY1NyQkIStDam8nSCdGViQiKyg+VlEuI0Y1NyQkIStQJUdKdCdGViQiK0BlNSopPkY1NyQkIStCV00tcEZWJCIrMDpGXD9GNUZbYXc3JzckJCErWXRNU2lGVkZgYW43JCQhK2FFbGZQRlZGY2FuNyQkIStieih6RCVGVkZpYW43JCQhK2snKlxOVkZWRmZhbkZeYnc3JzckJCErJjQhUlxQRlYkIitjYzQnKj5GNTckJCErMCo0MUQiRlYkIitXViFSKyNGNTckJCErRTMmPXkiRlYkIitoKnk0KD5GNTckJCErWURQLD1GViQiK20lW00uI0Y1Rl1jdzcnNyRGZmFsRmdwNyRGaGFsRmdwNyRGamFsJCIrKyt2bz5GNTckRmphbCQiKysrREo/RjVGXmR3Nyc3JCQiKzAqNDFEIkZWRltjdzckJCIrJjQhUlxQRlZGYGN3NyQkIit1IlwiPUtGVkZlY3c3JCQiK2F1aSk+JEZWRmpjd0ZpZHc3JzckRl5hbUZgYW43JEZjYW1GY2FuNyRGXWJtRmlhbjckRmhhbUZmYW5GZGV3Nyc3JCQiK0NqbydIJ0ZWRmlgdzckJCIrd09KLigpRlZGXmF3NyQkIitqOihvRSlGVkZjYXc3JCQiK3hibCg0KUZWRmhhd0ZbZnc3JzckJCIrNmcnPikpKUZWRmRfdzckJCIrKlIuPTYiRjVGaV93NyQkIitLbE94NUY1Rl5gdzckJCIrI286JVw1RjVGY2B3RmhmdzcnNyQkIitgcFxeNkY1Rl9edzckJCIrWkldWzhGNUZkXnc3JCQiK2ApKTNEOEY1RmledzckJCIrKzZoJ0ciRjVGXl93RmVndzcnNyQkIis/WCZwVCJGNUZqXHc3JCQiKyFbWEllIkY1Rl9ddzckJCIrdUFXcTpGNUZkXXc3JCQiKyI+SFBfIkY1Rmldd0ZiaHc3JzckJCIrKFFeO28iRjVGZVt3NyQkIis4J1skPT1GNUZqW3c3JCQiKypcPFwiPUY1Rl9cdzckJCIrIzQpZWk8RjVGZFx3Rl9pdzcnNyRGZF93RmBqdjckRmlfd0ZlanY3JEZjYHdGamp2NyRGXmB3Rl9bd0ZqaXc3JzckJCIrMjoyL0FGNUZbaXY3JCQiKyRcR2ZII0Y1RmBpdjckJCIrKCpcNTBCRjVGZWl2NyQkIitabihwQyNGNUZqaXZGYWp3Nyc3JCQiK01JIT5ZI0Y1RmZndjckJCIrbXA0UURGNUZbaHY3JCQiK11QT15ERjVGYGh2NyQkIitUcyQ9XCNGNUZlaHZGXlt4Nyc3JCQiKyMpMy89RkY1RmFmdjckJCIrPSJmPnkjRjVGZmZ2NyQkIitvPEwpeiNGNUZbZ3Y3JCQiK2chNHp0I0Y1RmBndkZbXHg3JzckJCIrJHAkKUcoSEY1RlxldjckJCIrMmo2RklGNUZhZXY3JCQiK1ovKWUvJEY1RmZldjckJCIrYyhvWylIRjVGW2Z2RmhceDcnNyQkIStgcEpJSUY1JCIrKT1LKEdARjU3JCQhK1pJb3BIRjUkIis3eUVyQkY1NyQkISs/UFxfSEY1JCIrciF5NkojRjU3JCQhK0V3NzhJRjUkIitabExFQkY1RmddeDcnNyQkIStyZWsmeSNGNSQiK28tPklARjU3JCQhK0hUTjlGRjUkIitLKDQpcEJGNTckJCErNm8kKSpwI0Y1JCIrRyI+ITRCRjU3JCQhK3g7dWZGRjUkIitrPyVvSyNGNUZcX3g3JzckJCErTSpSQmEjRjUkIit0ISpRS0BGNTckJCErbSttZENGNSQiK0Y0aG5CRjU3JCQhK2o1ZllDRjUkIis9Kik0MUJGNTckJCErRmxSMERGNSQiKyYpKW9zSyNGNUZhYHg3JzckJCErM3R3K0JGNSQiK2NOeE5ARjU3JCQhKyNwSyMqPiNGNSQiK1drQWtCRjU3JCQhK3EqZUU+I0Y1JCIrO0oyLUJGNTckJCErIz5zKFxBRjUkIitxblhGQkY1RmZheDcnNyQkIStiRUdoP0Y1JCIrZUkwVEBGNTckJCErWHRyUT5GNSQiK1VwJSplQkY1NyQkISt4bixRPkY1JCIrbzNYJ0gjRjU3JCQhK1wtXCMqPkY1JCIrJz4jNEZCRjVGW2N4Nyc3JCQhK2EmNFMjPUY1JCIrdFpFXEBGNTckJCErWS8qZm4iRjUkIitGX3RdQkY1NyQkISs7UCZHbyJGNSQiKzFLaClHI0Y1NyQkIStJOEFMPEY1JCIrJCl6aERCRjVGYGR4Nyc3JCQhK1skKVEpZSJGNSQiK187aGhARjU3JCQhK187aDY5RjUkIitbJClRUUJGNTckJCErVXl5RjlGNSQiKyUpeix5QUY1NyQkISs7Pyk+WiJGNSQiK2VAQEFCRjVGZWV4Nyc3JCQhK1k3bl84RjUkIitDMHF5QEY1NyQkISthKEd0OSJGNSQiK3clKkhAQkY1NyQkIStRPSdSPCJGNSQiKyczZVpFI0Y1NyQkISt4Omg0N0Y1JCIrNFA0O0JGNUZqZng3JzckJCErV2tBOTZGNSQiKyNwSyMqPiNGNTckJCEra2J0ZCkpRlYkIiszdHcrQkY1NyQkISsuQlZEIypGViQiKzN5QV1BRjU3JCQhK1gpbyN6JSpGViQiK0k1TTJCRjVGX2h4Nyc3JCQhK0QieUVyKUZWJCIrWklvPkFGNTckJCErdj1LKEcnRlYkIitgcEohRyNGNTckJCErQ1hqT25GViQiK3VCKG9CI0Y1NyQkISsqRz4jKSlvRlYkIishRzF2SCNGNUZkaXg3JzckJCErb1lOVWlGViQiK2ZnPk9BRjU3JCQhK0tga2RQRlYkIitUUiFRRSNGNTckJCErSzM0aFVGViQiKyR6bm5BI0Y1NyQkIStOMDZJVkZWJCIrRWIpKSlHI0Y1RmlqeDcnNyQkIStFIT0mXFBGViQiKzwiSGxDI0Y1NyQkISt1PltdN0ZWJCIrJCkzWmBBRjU3JCQhK1U+J0d5IkZWJCIrJyoqSDJBI0Y1NyQkIStmakArPUZWJCIrKCplPyRHI0Y1Rl5ceTcnNyRGZmFsRltxNyRGaGFsRltxNyRGamFsJCIrKyt2PUFGNTckRmphbCQiKysrRCJHI0Y1Rl9deTcnNyRGXHJGXFx5NyRGYXJGYVx5NyRGW3NGZlx5NyRGZnJGW115RmhdeTcnNyQkIitLYGtkUEZWRmdqeDckJCIrb1lOVWlGVkZcW3k3JCQiK28iNCpRZEZWRmFbeTckJCIrbCUqKSlwY0ZWRmZbeUZfXnk3JzckJCIrdj1LKEcnRlZGYml4NyQkIitEInlFcilGVkZnaXg3JCQiK3dhT2ojKUZWRlxqeDckJCIrNjJ5NiIpRlZGYWp4RlxfeTcnNyRGamZwRl1oeDckRl9ncEZiaHg3JEZpZ3BGZ2h4NyRGZGdwRlxpeEZnX3k3JzckJCIrYShHdDkiRjVGaGZ4NyQkIitZN25fOEY1Rl1neDckJCIraSJRZ0siRjVGYmd4NyQkIitCJSlRIUgiRjVGZ2d4Rl5geTcnNyQkIitfO2g2OUY1RmNleDckJCIrWyQpUSllIkY1RmhleDckJCIrZUBAczpGNUZdZng3JCQiKyUpeixHOkY1RmJmeEZbYXk3JzckJCIrWS8qZm4iRjVGXmR4NyQkIithJjRTIz1GNUZjZHg3JCQiKyVHWXIiPUY1RmhkeDckJCIrcSd5bnciRjVGXWV4RmhheTcnNyQkIitYdHJRPkY1RmlieDckJCIrYkVHaD9GNUZeY3g3JCQiK0JLKT4xI0Y1RmNjeDckJCIrXig0disjRjVGaGN4RmVieTcnNyRGXWh4RmRheDckRmJoeEZpYXg3JEZcaXhGXmJ4NyRGZ2h4RmNieEZgY3k3JzckJCIrbSttZENGNUZfYHg3JCQiK00qUkJhI0Y1RmRgeDckJCIrUCozTWIjRjVGaWB4NyQkIit0TWclXCNGNUZeYXhGZ2N5Nyc3JCQiK0hUTjlGRjVGal54NyQkIityZWsmeSNGNUZfX3g3JCQiKyo9aiwhR0Y1RmRfeDckJCIrQiRlLXUjRjVGaV94RmRkeTcnNyQkIitaSW9wSEY1RmVdeDckJCIrYHBKSUlGNUZqXXg3JCQiKyFHMXYvJEY1Rl9eeDckJCIrdUIobylIRjVGZF54RmFleTcnNyQkISskW2JNLiRGNSQiK2gtY3pCRjU3JCQhKzxYYW1IRjUkIitSKFIvaSNGNTckJCErSjcjNCZIRjUkIitLUiMqZkRGNTckJCErLDY5NklGNSQiK3Q7bHdERjVGYGZ5Nyc3JCQhKyQ0TSMqeSNGNSQiK29vSiJRI0Y1NyQkISsyZnc1RkY1JCIrS0pvPUVGNTckJCErJilSMylwI0Y1JCIrMExbZERGNTckJCErXmJVZEZGNSQiK18uNXhERjVGZWd5Nyc3JCQhK05RVVlERjUkIis5LyVSUSNGNTckJCErbGhkYENGNSQiKydlZmdoI0Y1NyQkISt5TG1XQ0Y1JCIrXyQpPmFERjU3JCQhK3NKcC1ERjUkIitxLVR4REY1RmpoeTcnNyQkIStSdk0wQkY1JCIrTDcjelEjRjU3JCQhK2hDbCU+I0Y1JCIrbih5P2gjRjU3JCQhK2QqKWYhPiNGNSQiK2AuclxERjU3JCQhK1MkUW1DI0Y1JCIrQVRReERGNUZfank3JzckJCErbylcaTEjRjUkIis3LSslUiNGNTckJCErSyx2TD5GNSQiKyl5KipmZyNGNTckJCErPnMkZiQ+RjUkIituIVFOYSNGNTckJCErOHIkKikpPkY1JCIrK0ltd0RGNUZkW3o3JzckJCEraHEvSD1GNSQiK110Oy5DRjU3JCQhK1JIJjRuIkY1JCIrXUUkb2YjRjU3JCQhK2VKKDRvIkY1JCIrPDY5TkRGNTckJCErJFsqUUg8RjUkIitbWW11REY1RmlcejcnNyQkIStvPCJIZiJGNSQiKzQlempUI0Y1NyQkIStLIykzMjlGNSQiKyJmP09lI0Y1NyQkIStnXVRFOUY1JCIrclE9Q0RGNTckJCErY2BBbzlGNSQiK2IoUjFkI0Y1Rl5eejcnNyQkISspeSoqZk4iRjUkIitLLHZMQ0Y1NyQkISs3LStXNkY1JCIrbylcaWMjRjU3JCQhKytxTHQ2RjUkIisoKUcxNkRGNTckJCErTD5ZMTdGNSQiKyJ5aVNjI0Y1RmNfejcnNyQkISsnZWZnNiJGNSQiK2xoZGBDRjU3JCQhK1BUU1IpKUZWJCIrTlFVWURGNTckJCErLHQqZUEqRlYkIitHb0koXCNGNTckJCErdWssZSUqRlYkIitBbUxiREY1RmhgejcnNyQkISsmPjcmPigpRlYkIit3NGNzQ0Y1NyQkISsweVshRydGViQiK0MhUnVfI0Y1NyQkISs6WCYqUm5GViQiK3QocF1bI0Y1NyQkIStPJ1xyKG9GViQiKyRRWGdhI0Y1Rl1iejcnNyQkISspWyd6VmlGViQiK04/YyhbI0Y1NyQkISs3Tj9jUEZWJCIrbHpWN0RGNTckJCEreSMpb2pVRlYkIitjcyZmWiNGNTckJCErLSJ5ZUslRlYkIishM1oiUURGNUZiY3o3JzckJCErZSY0J1xQRlYkIit3ZihvXCNGNTckJCErVS9SXTdGViQiK0NTNy5ERjU3JCQhKyQ+eE95IkZWJCIrVjVgcUNGNTckJCErOHRIKnoiRlYkIitAOixMREY1RmdkejcnNyRGZmFsRl9xNyRGaGFsRl9xNyRGamFsJCIrKyt2b0NGNTckRmphbCQiKysrREpERjVGaGV6Nyc3JCQiK1UvUl03RlZGZWR6NyQkIitlJjQnXFBGVkZqZHo3JCQiKzJHSztLRlZGX2V6NyQkIisoby0yPyRGVkZkZXpGY2Z6Nyc3JCQiKzdOP2NQRlZGYGN6NyQkIispWyd6VmlGVkZlY3o3JCQiK0E8Sk9kRlZGamN6NyQkIispKj03dWNGVkZfZHpGYGd6Nyc3JCQiKzB5WyFHJ0ZWRltiejckJCIrJj43Jj4oKUZWRmBiejckJCIrJltYK0UpRlZGZWJ6NyQkIitrLiZHNylGVkZqYnpGXWh6Nyc3JCQiK1BUU1IpKUZWRmZgejckJCIrJ2VmZzYiRjVGW2F6NyQkIitxLVR4NUY1RmBhejckJCIrXyQpPmE1RjVGZWF6RmpoejcnNyQkIis3LStXNkY1RmFfejckJCIrKXkqKmZOIkY1RmZfejckJCIrK0ltRThGNUZbYHo3JCQiK24hUU5IIkY1RmBgekZnaXo3JzckJCIrSyMpMzI5RjVGXF56NyQkIitvPCJIZiJGNUZhXno3JCQiK1NcZXQ6RjVGZl56NyQkIitXWXhKOkY1RltfekZkano3JzckJCIrUkgmNG4iRjVGZ1x6NyQkIitocS9IPUY1RlxdejckJCIrVW8tPj1GNUZhXXo3JCQiKzwwaHE8RjVGZl16RmFbW2w3JzckJCIrSyx2TD5GNUZiW3o3JCQiK28pXGkxI0Y1RmdbejckJCIrInlpUzEjRjVGXFx6NyQkIisoKUcxNj9GNUZhXHpGXlxbbDcnNyQkIitoQ2wlPiNGNUZdank3JCQiK1J2TTBCRjVGYmp5NyQkIitWNVM0QkY1RmdqeTckJCIrZztPYEFGNUZcW3pGW11bbDcnNyRGZmB6RmhoeTckRlthekZdaXk3JEZlYXpGYml5NyRGYGF6RmdpeUZmXVtsNyc3JCQiKzJmdzVGRjVGY2d5NyQkIiskNE0jKnkjRjVGaGd5NyQkIis6ZyI+IUdGNUZdaHk3JCQiK1xXZFVGRjVGYmh5Rl1eW2w3JzckJCIrPFhhbUhGNUZeZnk3JCQiKyRbYk0uJEY1RmNmeTckJCIrcCh5IVxJRjVGaGZ5NyQkIisqKillKSkpSEY1Rl1neUZqXltsNyc3JCQhKzx0X09JRjUkIithZ1hJRUY1NyQkISskb3NNJ0hGNSQiK1lSYXBHRjU3JCQhKypbLiVcSEY1JCIrcSFbJzNHRjU3JCQhK2lhPDRJRjUkIitHPCJwI0dGNUZpX1tsNyc3JCQhKyQpeXIjeiNGNSQiK0FlX0tFRjU3JCQhKzxARzJGRjUkIit5VFpuR0Y1NyQkIStlNFQncCNGNSQiKycqbyNmIUdGNTckJCErWiFbXnYjRjUkIitRZUdGR0Y1Rl5hW2w3JzckJCErRkJNXURGNSQiK0BjZU5FRjU3JCQhK3R3bFxDRjUkIit6VlRrR0Y1NyQkIStYSCZHVyNGNSQiKz1mRy1HRjU3JCQhK04sMStERjUkIisiM2R1I0dGNUZjYltsNyc3JCQhKzFrbTRCRjUkIitxJmYsayNGNTckJCErJWZMLj4jRjUkIitJLyUpZkdGNTckJCErKXo0KCk9I0Y1JCIrRjpPKHojRjU3JCQhKzgralZBRjUkIitJWj5GR0Y1RmhjW2w3JzckJCErLmgiMzIjRjUkIitnWipwayNGNTckJCErKCpRPUg+RjUkIitTXytgR0Y1NyQkIStmbzRNPkY1JCIrUCcpcCF6I0Y1NyQkISt6JSpmJik+RjUkIispbzFoI0dGNUZdZVtsNyc3JCQhK3NjXkw9RjUkIis2UipwbCNGNTckJCErR1ZbbTtGNSQiKyozMUklR0Y1NyQkIStfaFJ6O0Y1JCIrYFYmPXkjRjU3JCQhKyg+KiplcyJGNSQiKyo9N08jR0Y1RmJmW2w3JzckJCEraVl1J2YiRjUkIit3XyUzbiNGNTckJCErUWBELjlGNSQiK0NaOkhHRjU3JCQhK0QkZWBVIkY1JCIrZU5wcUZGNTckJCErKG9OXFkiRjUkIisqKWUxPkdGNUZnZ1tsNyc3JCQhK3E/b2U4RjUkIitDKVsjKW8jRjU3JCQhK0l6SlQ2RjUkIit3NnY2R0Y1NyQkIStgMyVIPCJGNSQiKzo7JXl2I0Y1NyQkIStUayJRPyJGNSQiK11FPTdHRjVGXGlbbDcnNyQkISt5VFo8NkY1JCIrPEBHMkZGNTckJCErQCNlXyMpKUZWJCIrJCl5ciN6I0Y1NyQkIStFOzlGIypGViQiK2A+Jlt1I0Y1NyQkIStTNXRTJSpGViQiK1UhKmUuR0Y1RmFqW2w3JzckJCErbE9rQygpRlYkIitxLyZccyNGNTckJCErTmpOdmlGViQiK0kmXF14I0Y1NyQkISt1KD1JdSdGViQiK3VtZUxGRjU3JCQhK0BrRW9vRlYkIitkKT1beiNGNUZmW1xsNyc3JCQhKzNsJ1tDJ0ZWJCIrS0lvUUZGNTckJCErI1xMXnYkRlYkIitvcEpoRkY1NyQkISsiMyUpZUUlRlYkIis5XEhERkY1NyQkIStCKm9DSyVGViQiK1MjUXZ5I0Y1RltdXGw3JzckJCErJUh4J1xQRlYkIitDKWZydSNGNTckJCErMUZLXTdGViQiK3csJUd2I0Y1NyQkISszJVtWeSJGViQiKzclby5zI0Y1NyQkISsoR1wmKXoiRlYkIit3QSZHeSNGNUZgXlxsNyc3JEZmYWxGYnE3JEZoYWxGYnE3JEZqYWwkIisrK3Y9RkY1NyRGamFsJCIrKytEInkjRjVGYV9cbDcnNyQkIisxRktdN0ZWRl5eXGw3JCQiKyVIeCdcUEZWRmNeXGw3JCQiKyNmXmNAJEZWRmheXGw3JCQiKzgyWCxLRlZGXV9cbEZcYFxsNyc3JCQiKyNcTF52JEZWRmlcXGw3JCQiKzNsJ1tDJ0ZWRl5dXGw3JCQiKz5mNk1kRlZGY11cbDckJCIreDVgeGNGVkZoXVxsRmlgXGw3JzckJCIrTmpOdmlGVkZkW1xsNyQkIitsT2tDKClGVkZpW1xsNyQkIitFNylwRClGVkZeXFxsNyQkIit6TnRKIilGVkZjXFxsRmZhXGw3JzckJCIrQCNlXyMpKUZWRl9qW2w3JCQiK3lUWjw2RjVGZGpbbDckJCIrUWVHeDVGNUZpaltsNyQkIisnKm8jZjAiRjVGXltcbEZjYlxsNyc3JCQiK0l6SlQ2RjVGamhbbDckJCIrcT9vZThGNUZfaVtsNyQkIitaImZxSyJGNUZkaVtsNyQkIitmTj0nSCJGNUZpaVtsRmBjXGw3JzckJCIrUWBELjlGNUZlZ1tsNyQkIitpWXUnZiJGNUZqZ1tsNyQkIit2O2t1OkY1Rl9oW2w3JCQiKzhWMU46RjVGZGhbbEZdZFxsNyc3JCQiK0dWW207RjVGYGZbbDckJCIrc2NeTD1GNUZlZltsNyQkIitbUWc/PUY1RmpmW2w3JCQiKy4zNXU8RjVGX2dbbEZqZFxsNyc3JCQiKygqUT1IPkY1RltlW2w3JCQiKy5oIjMyI0Y1RmBlW2w3JCQiK1RKIWYxI0Y1RmVlW2w3JCQiK0AwUzk/RjVGamVbbEZnZVxsNyc3JCQiKyVmTC4+I0Y1RmZjW2w3JCQiKzFrbTRCRjVGW2RbbDckJCIrLS1INkJGNUZgZFtsNyQkIisoKSpwakQjRjVGZWRbbEZkZlxsNyc3JCQiK3R3bFxDRjVGYWJbbDckJCIrRkJNXURGNUZmYltsNyQkIiticTlkREY1RltjW2w3JCQiK2wpUioqXCNGNUZgY1tsRmFnXGw3JzckRl9qW2xGXGFbbDckRmRqW2xGYWFbbDckRl5bXGxGZmFbbDckRmlqW2xGW2JbbEZcaFxsNyc3JCQiKyRvc00nSEY1RmdfW2w3JCQiKzx0X09JRjVGXGBbbDckJCIrNmxmXUlGNUZhYFtsNyQkIitRWCMzKkhGNUZmYFtsRmNoXGw3JzckJCErciVHJlJJRjUkIispZTk5KUdGNTckJCErSDpaZ0hGNSQiKzdhZT1KRjU3JCQhKzE6JXolSEY1JCIrMFZOZElGNTckJCErN1VCMklGNSQiK1MmPXIyJEY1RmJpXGw3JzckJCErQEQ0J3ojRjUkIitPJTNRKUdGNTckJCErenUhUnEjRjUkIitrOj47SkY1NyQkIStOIz1bcCNGNSQiKzZnTmFJRjU3JCQhKzxTIkh2I0Y1JCIrckFTeElGNUZnalxsNyc3JCQhKyRRIjRhREY1JCIrPSc0dClHRjU3JCQhKzwnM2ZXI0Y1JCIrI1EhcDdKRjU3JCQhK3kjZTZXI0Y1JCIrcDZQXUlGNTckJCErcE1dKFwjRjUkIitob1R4SUY1RlxcXWw3JzckJCErKkhEUEojRjUkIitlTlkjKkdGNTckJCErLFpGJz0jRjUkIitVa2AySkY1NyQkISthVylwPSNGNSQiK3MvL1hJRjU3JCQhK3ZFdlNBRjUkIitBSiFwMiRGNUZhXV1sNyc3JCQhKysrK3Y/RjUkIisrKysrSEY1NyQkISsrKytEPkY1JCIrKysrK0pGNTckJCErYGZaSz5GNSQiK0koW3ouJEY1NyQkIStgZlojKT5GNSQiK0koW2EyJEY1RmZeXWw3JzckJCErekNaUD1GNSQiK3hecTVIRjU3JCQhK0B2X2k7RjUkIitCW0gqMyRGNTckJCErNTAzeTtGNSQiKzY0d0dJRjU3JCQhK0B6c0E8RjUkIitdclxzSUY1RltgXWw3JzckJCErKysrKztGNSQiKysrK0RIRjU3JCQhKysrKys5RjUkIisrKyt2SUY1NyQkIStxN2JDOUY1JCIrWlNfPElGNTckJCErcTcwaTlGNSQiK1pTX25JRjVGYGFdbDcnNyQkIStnVSczTyJGNSQiKyk+ZUElSEY1NyQkIStTZDhSNkY1JCIrLT11ZElGNTckJCErQWZxczZGNSQiKy5HLTBJRjU3JCQhK0NvZCw3RjUkIitMXFhnSUY1RmViXWw3JzckJCErN2FlPTZGNSQiK0g6WmdIRjU3JCQhK3llOTkpKUZWJCIrciVHJlJJRjU3JCQhKypmOSlHIypGViQiKyl5bEYqSEY1NyQkIStfcFhFJSpGViQiKyVcZT8wJEY1RmpjXWw3JzckJCErTC1mRygpRlYkIitMUidwKEhGNTckJCErbig0OUYnRlYkIituZy5CSUY1NyQkISt3WiJldSdGViQiKy1rTSMpSEY1NyQkISs1Xio0J29GViQiKzhmeFZJRjVGX2VdbDcnNyQkISspPiNvWGlGVkZdXnA3JCQhKy15SmFQRlZGYF5wNyQkISsvQnduVUZWRmZecDckJCErSGRtPlZGVkZjXnBGYmZdbDcnNyQkIStAKUcoXFBGViQiKylSJ1IoKkhGNTckJCErejZGXTdGViQiKy1PZy1JRjU3JCQhK0cxIlx5IkZWJCIrKilIQnFIRjU3JCQhK1AnR3p6IkZWJCIrSSU+Ri4kRjVGYWddbDcnNyRGZmFsRmZxNyRGaGFsRmZxNyRGamFsJCIrKyt2b0hGNTckRmphbCQiKysrREpJRjVGYmhdbDcnNyQkIit6NkZdN0ZWRl9nXWw3JCQiK0ApRyhcUEZWRmRnXWw3JCQiK3MkKjM6S0ZWRmlnXWw3JCQiK2o4Mi1LRlZGXmhdbEZdaV1sNyc3JCQiKy15SmFQRlZGXV5wNyQkIispPiNvWGlGVkZgXnA3JCQiKydwUEF0JkZWRmZecDckJCIrclVMIW8mRlZGY15wRmppXWw3JzckJCIrbig0OUYnRlZGXWVdbDckJCIrTC1mRygpRlZGYmVdbDckRmZbb0ZnZV1sNyRGYVtvRlxmXWxGZ2pdbDcnNyQkIit5ZTk5KSlGVkZoY11sNyQkIis3YWU9NkY1Rl1kXWw3JCQiK1MmPXIyIkY1RmJkXWw3JCQiKzBWTmQ1RjVGZ2RdbEZgW15sNyc3JCQiK1NkOFI2RjVGY2JdbDckJCIrZ1UnM08iRjVGaGJdbDckJCIreVNIRjhGNUZdY11sNyQkIit3SlUpSCJGNUZiY11sRl1cXmw3JzckJCIrKysrKzlGNUZeYV1sNyQkIisrKysrO0Y1RmNhXWw3JCQiK0koW2FkIkY1RmhhXWw3JCQiK0koW3pgIkY1Rl1iXWxGalxebDcnNyQkIitAdl9pO0Y1RmlfXWw3JCQiK3pDWlA9RjVGXmBdbDckJCIrIVw+PiM9RjVGY2BdbDckJCIrej9GeDxGNUZoYF1sRmddXmw3JzckJCIrKysrRD5GNUZkXl1sNyQkIisrKyt2P0Y1RmleXWw3JCQiK1pTX24/RjVGXl9dbDckJCIrWlNfPD9GNUZjX11sRmReXmw3JzckJCIrLFpGJz0jRjVGX11dbDckJCIrKkhEUEojRjVGZF1dbDckJCIrWWIsOEJGNUZpXV1sNyQkIitEdENmQUY1Rl5eXWxGYV9ebDcnNyQkIis8JzNmVyNGNUZqW11sNyQkIiskUSI0YURGNUZfXF1sNyQkIitBPCUpZURGNUZkXF1sNyQkIitKbFwtREY1RmlcXWxGXmBebDcnNyQkIit6dSFScSNGNUZlalxsNyQkIitARDQneiNGNUZqalxsNyQkIitsPD0wR0Y1Rl9bXWw3JCQiKyQpZjNaRkY1RmRbXWxGW2FebDcnNyRGaGNdbEZgaVxsNyRGXWRdbEZlaVxsNyRGZ2RdbEZqaVxsNyRGYmRdbEZfalxsRmZhXmw3JzckJCErZWJYVUlGNSQiK2oyVktKRjU3JCQhK1VXYWRIRjUkIitQI3B2TyRGNTckJCErSGZgWUhGNSQiK3VqLzFMRjU3JCQhK1owSzBJRjUkIitgVEZGTEY1Rl9iXmw3JzckJCErUFdOKnojRjUkIitAZzpOSkY1NyQkIStqYmsrRkY1JCIrelIlW08kRjU3JCQhK21jSSRwI0Y1JCIrb2t4LUxGNTckJCErY3dzXUZGNSQiKyhvYHVLJEY1RmRjXmw3JzckJCErIzRwd2IjRjUkIisrejRSSkY1NyQkISszNExVQ0Y1JCIrK0AhNE8kRjU3JCQhK0tvZFJDRjUkIis0R1kpSCRGNTckJCErIyl5LSZcI0Y1JCIrYnRIRkxGNUZpZF5sNyc3JCQhK14hSHZKI0Y1JCIrPDAiWzkkRjU3JCQhK1w0WiM9I0Y1JCIrJFsqPWJMRjU3JCQhKzpYVCY9I0Y1JCIrUSllRkgkRjU3JCQhK2MjNCFRQUY1JCIra0xfRUxGNUZeZl5sNyc3JCQhK3lTIyl5P0Y1JCIrXWQpSDokRjU3JCQhK0FmPEA+RjUkIitdVSxaTEY1NyQkISsoPWE1JD5GNSQiK0cpKkgmRyRGNTckJCErNzhjej5GNSQiK249ckNMRjVGY2debDcnNyQkIStBTyg0JT1GNSQiK2RbRmtKRjU3JCQhK3lqLWY7RjUkIitWXnNOTEY1NyQkIStFeSlwbiJGNSQiK2k7J2VGJEY1NyQkISsoUl0pPjxGNSQiK3MlWzhLJEY1RmhoXmw3JzckJCErQ1N4LTtGNSQiK2AoWyl5SkY1NyQkISt3ZkEoUiJGNSQiK1o3OkBMRjU3JCQhK0ExJVJVIkY1JCIrWiRbWUUkRjU3JCQhK1lpXmY5RjUkIitmYC47TEY1Rl1qXmw3JzckJCErYGxsaThGNSQiKyc+UWU+JEY1NyQkIStaTU1QNkY1JCIrLz07L0xGNTckJCErOVplczZGNSQiKzxcYV9LRjU3JCQhKztjbSo+IkY1JCIrJD50KTNMRjVGYltfbDcnNyQkISt3Qlo+NkY1JCIrcCNSS0AkRjU3JCQhK1JpRjApKUZWJCIrSjJ3J0ckRjU3JCQhK3ZccUkjKkZWJCIrdFooNEMkRjU3JCQhK0knM1hUKkZWJCIraTRyK0xGNUZnXF9sNyc3JCQhK0siKW9KKClGViQiK0BCb0dLRjU3JCQhK289Sm9pRlYkIit6d0pyS0Y1NyQkISt3VU5bbkZWJCIrXVlISktGNTckJCErc0UlXCZvRlYkIitjIXpHSCRGNUZcXl9sNyc3JCQhKzIiPWpDJ0ZWJCIrUUhUU0tGNTckJCErJCo9b2BQRlYkIitpcWVmS0Y1NyQkISszZVFwVUZWJCIrIXp4VUEkRjU3JCQhKz82SzxWRlYkIismcCRmJ0ckRjVGYV9fbDcnNyQkIStEKm8oXFBGViQiKylmJ2ZaS0Y1NyQkISt2NUJdN0ZWJCIrLU1TX0tGNTckJCErKlEpUSZ5IkZWJCIrdiU9LEEkRjU3JCQhKylSMHV6IkZWJCIrQXBnI0ckRjVGZmBfbDcnNyRGZmFsJCIrKysrXUtGNTckRmhhbEZnYV9sNyRGamFsJCIrKyt2PUtGNTckRmphbCQiKysrRCJHJEY1RmlhX2w3JzckJCIrdjVCXTdGVkZkYF9sNyQkIitEKm8oXFBGVkZpYF9sNyQkIis2O2g5S0ZWRl5hX2w3JCQiKy1ZZi1LRlZGY2FfbEZkYl9sNyc3JCQiKyQqPW9gUEZWRl9fX2w3JCQiKzIiPWpDJ0ZWRmRfX2w3JCQiKyM+OTF0JkZWRmlfX2w3JCQiKyEpKXlFbyZGVkZeYF9sRmFjX2w3JzckJCIrbz1Kb2lGVkZqXV9sNyQkIitLIilvSigpRlZGX15fbDckJCIrQ2RrXiMpRlZGZF5fbDckJCIrR3QwWCIpRlZGaV5fbEZeZF9sNyc3JCQiK1JpRjApKUZWRmVcX2w3JCQiK3dCWj42RjVGalxfbDckJCIrLSZIcDIiRjVGX11fbDckJCIrUCJcJmU1RjVGZF1fbEZbZV9sNyc3JCQiK1pNTVA2RjVGYFtfbDckJCIrYGxsaThGNUZlW19sNyQkIisnRzp1SyJGNUZqW19sNyQkIislUU0uSSJGNUZfXF9sRmhlX2w3JzckJCIrd2ZBKFIiRjVGW2pebDckJCIrQ1N4LTtGNUZgal5sNyQkIit5JGZnZCJGNUZlal5sNyQkIithUFtTOkY1RmpqXmxGZWZfbDcnNyQkIit5ai1mO0Y1RmZoXmw3JCQiK0FPKDQlPUY1RltpXmw3JCQiK3VALEI9RjVGYGlebDckJCIrLidcLHkiRjVGZWlebEZiZ19sNyc3JCQiK0FmPEA+RjVGYWdebDckJCIreVMjKXk/RjVGZmdebDckJCIrOGUlKm8/RjVGW2hebDckJCIrKW9RLy0jRjVGYGhebEZfaF9sNyc3JCQiK1w0WiM9I0Y1RlxmXmw3JCQiK14hSHZKI0Y1RmFmXmw3JCQiKyZbJmU5QkY1RmZmXmw3JCQiK1cyKj5FI0Y1RltnXmxGXGlfbDcnNyQkIiszNExVQ0Y1RmdkXmw3JCQiKyM0cHdiI0Y1RlxlXmw3JCQiK29KVWdERjVGYWVebDckJCIrPUAoXF0jRjVGZmVebEZpaV9sNyc3JCQiK2piaytGRjVGYmNebDckJCIrUFdOKnojRjVGZ2NebDckJCIrTVZwMUdGNUZcZF5sNyQkIitXQkZcRkY1RmFkXmxGZmpfbDcnNyQkIitVV2FkSEY1Rl1iXmw3JCQiK2ViWFVJRjVGYmJebDckJCIrclNZYElGNUZnYl5sNyQkIitgJXpZKkhGNUZcY15sRmNbYGw3JzckJCErJHkwYC8kRjUkIis7JSpcJFEkRjU3JCQhKzxVcGFIRjUkIislZStsaCRGNTckJCErXXE9WEhGNSQiKzF6c2FORjU3JCQhK1V0Vi5JRjUkIisoeiFReE5GNUZiXGBsNyc3JCQhK1s2XS1HRjUkIis9K2MnUSRGNTckJCErXykpXChwI0Y1JCIrIykqUk1oJEY1NyQkIStARCg9cCNGNSQiK1VQPl5ORjU3JCQhKzdEZltGRjUkIis7Vld4TkY1RmddYGw3JzckJCErQGEyaERGNSQiK1tuJDRSJEY1NyQkISt6WCMqUUNGNSQiK19LMTRPRjU3JCQhKyo+MCJRQ0Y1JCIrQidvbGEkRjU3JCQhK0RvaiNcI0Y1JCIrTWo1eE5GNUZcX2BsNyc3JCQhK0RfM0BCRjUkIisrLj0oUiRGNTckJCErdloiKnlARjUkIisrKD5HZyRGNTckJCErYjEqUj0jRjUkIitkaF9TTkY1NyQkISswMFNOQUY1JCIrcShvZ2QkRjVGYWBgbDcnNyQkISt3SUojMyNGNSQiKzh6I2ZTJEY1NyQkIStDcG88PkY1JCIrKDNzU2YkRjU3JCQhKzU6IilIPkY1JCIrNSVmRmAkRjU3JCQhK2B2JW8oPkY1JCIrW2YiUmQkRjVGZmFgbDcnNyQkISsoM3NTJT1GNSQiK0NwbzxNRjU3JCQhKzh6I2ZsIkY1JCIrd0lKI2UkRjU3JCQhK19TM3c7RjUkIitaQzpCTkY1NyQkISshZlNzciJGNSQiKyFcKT1xTkY1RltjYGw3JzckJCErNHQ5MDtGNSQiKyxgU0tNRjU3JCQhKyJwX1tSIkY1JCIrKnAlZm5ORjU3JCQhK1BUW0I5RjUkIiszJlE/XiRGNTckJCErJ1siR2Q5RjUkIitqQGhrTkY1RmBkYGw3JzckJCErTkE5azhGNSQiK1hPL1xNRjU3JCQhK2x4JmU4IkY1JCIrYmomNGIkRjU3JCQhKzlQYXM2RjUkIitaZ04rTkY1NyQkISsiKj0tKT4iRjUkIitsclVkTkY1RmVlYGw3JzckJCErJVwhPj82RjUkIitmKWZjWSRGNTckJCErbF00KXopRlYkIitULE1NTkY1NyQkISs7W29LIypGViQiKytHVSpbJEY1NyQkIStAYlEvJSpGViQiK1ohPSZcTkY1RmpmYGw3JzckJCEra0g7TSgpRlYkIitRXzshWyRGNTckJCErT3EkZUUnRlYkIitpWiQpPk5GNTckJCErciRlMXYnRlYkIislKT5SIVskRjU3JCQhKyE9Sylcb0ZWJCIrSyw1VU5GNUZfaGBsNyc3JCQhK3VMI29DJ0ZWJCIrPlQ0IlwkRjU3JCQhK0VtPGBQRlYkIisiKWUhKjNORjU3JCQhKyJHLTNGJUZWJCIrUCp5UVokRjU3JCQhKyhvSmBKJUZWJCIrMSxBT05GNUZkaWBsNyc3JCQhK1wyISlcUEZWJCIrOCNveFwkRjU3JCQhK14jKj5dN0ZWJCIrKHlKQV0kRjU3JCQhKyNRKnomeSJGViQiK3cuLXFNRjU3JCQhKz0kZXB6IkZWJCIrOS9eS05GNUZpamBsNyc3JEZmYWwkIisrKysrTkY1NyRGaGFsRmpbYWw3JEZqYWwkIisrK3ZvTUY1NyRGamFsJCIrKytESk5GNUZcXGFsNyc3JCQiK14jKj5dN0ZWRmdqYGw3JCQiK1wyISlcUEZWRlxbYWw3JCQiKz0xPzlLRlZGYVthbDckJCIrI29UST8kRlZGZlthbEZnXGFsNyc3JCQiK0VtPGBQRlZGYmlgbDckJCIrdUwjb0MnRlZGZ2lgbDckJCIrPng+SGRGVkZcamBsNyQkIis4JG9ZbyZGVkZhamBsRmRdYWw3JzckJCIrT3EkZUUnRlZGXWhgbDckJCIra0g7TSgpRlZGYmhgbDckJCIrSDtNXCMpRlZGZ2hgbDckJCIrP3k7XSIpRlZGXGlgbEZhXmFsNyc3JCQiK2xdNCl6KUZWRmhmYGw3JCQiKyVcIT4/NkY1Rl1nYGw3JCQiKz46dHc1RjVGYmdgbDckJCIrWzljZjVGNUZnZ2BsRl5fYWw3JzckJCIrbHgmZTgiRjVGY2VgbDckJCIrTkE5azhGNUZoZWBsNyQkIisnR2N1SyJGNUZdZmBsNyQkIis0Ink+SSJGNUZiZmBsRltgYWw3JzckJCIrInBfW1IiRjVGXmRgbDckJCIrNHQ5MDtGNUZjZGBsNyQkIitqZV53OkY1RmhkYGw3JCQiKzkmPUZhIkY1Rl1lYGxGaGBhbDcnNyQkIis4eiNmbCJGNUZpYmBsNyQkIisoM3NTJT1GNUZeY2BsNyQkIitbZiJSIz1GNUZjY2BsNyQkIis1JWZGeSJGNUZoY2BsRmVhYWw3JzckJCIrQ3BvPD5GNUZkYWBsNyQkIit3SUojMyNGNUZpYWBsNyQkIishXCk9cT9GNUZeYmBsNyQkIitaQzpCP0Y1RmNiYGxGYmJhbDcnNyQkIit2WiIqeUBGNUZfYGBsNyQkIitEXzNAQkY1RmRgYGw3JCQiK1gkNGdKI0Y1RmlgYGw3JCQiKyZcKmZrQUY1Rl5hYGxGX2NhbDcnNyQkIit6WCMqUUNGNUZqXmBsNyQkIitAYTJoREY1Rl9fYGw3JCQiKyxbKj1jI0Y1RmRfYGw3JCQiK3ZKTzJERjVGaV9gbEZcZGFsNyc3JCQiK18pKVwocCNGNUZlXWBsNyQkIitbNl0tR0Y1RmpdYGw3JCQiK3p1NzNHRjVGX15gbDckJCIrKVsyOXYjRjVGZF5gbEZpZGFsNyc3JCQiKzxVcGFIRjVGYFxgbDckJCIrJHkwYC8kRjVGZVxgbDckJCIrXUgiWzAkRjVGalxgbDckJCIrZUVjJypIRjVGX11gbEZmZWFsNyc3JCQhK0JwMltJRjUkIismUTpZaiRGNTckJCEreEkjPiZIRjUkIis6WVFsUUY1NyQkIStVWypRJUhGNSQiKyFRLU0hUUY1NyQkIStccmUsSUY1JCIrVTNXRlFGNUZlZmFsNyc3JCQhKyY9SmIhR0Y1JCIrNUAsUU9GNTckJCErOilvV3AjRjUkIishKnkpPidRRjU3JCQhK152XiFwI0Y1JCIrOkhoKnokRjU3JCQhKydcNmx1I0Y1JCIrMiZ5dCNRRjVGamdhbDcnNyQkIStwPkprREY1JCIrJVE4R2skRjU3JCQhK0ohKW9OQ0Y1JCIrO209ZFFGNTckJCEreCNSblYjRjUkIitlYXAleiRGNTckJCErJmVLLlwjRjUkIitVOSZvI1FGNUZfaWFsNyc3JCQhK1dNU0NCRjUkIiteYGJcT0Y1NyQkIStjbGZ2QEY1JCIrXFlXXVFGNTckJCErSUlxIz0jRjUkIit6KlwkKXkkRjU3JCQhK2JgI0hCI0Y1JCIrLDxiRFFGNUZkamFsNyc3JCQhK1RFXCYzI0Y1JCIrXXkhKWVPRjU3JCQhK2Z0XTk+RjUkIitdQD5UUUY1NyQkIStAKEcoRz5GNSQiK0k7TCF5JEY1NyQkISsnekNWKD5GNSQiK156MkJRRjVGaVtibDcnNyQkISs7bCJvJT1GNSQiK3pKJDRuJEY1NyQkISslWyQ9YDtGNSQiK0BvMUhRRjU3JCQhK2cmUmBuIkY1JCIrYWRpcVBGNTckJCErcUgoW3IiRjUkIis3Uy4+UUY1Rl5dYmw3JzckJCErO209MjtGNSQiK0ohKW8mbyRGNTckJCErJVE4R1IiRjUkIitwPko5UUY1NyQkIStlJltKVSJGNSQiKzp1bWZQRjU3JCQhK1VYSWI5RjUkIitCMkU4UUY1RmNeYmw3JzckJCErOllRbDhGNSQiK3hJIz5xJEY1NyQkISsmUTpZOCJGNSQiK0JwMil6JEY1NyQkIStlImZEPCJGNSQiK15HVFtQRjU3JCQhKz93Zic+IkY1JCIrZV41MVFGNUZoX2JsNyc3JCQhK24kejI3IkY1JCIrcEB6PFBGNTckJCErRWo/I3opRlYkIitKeT8jeSRGNTckJCErXW5uTSMqRlYkIisqZW0hUVBGNTckJCErMmZyJlIqRlYkIit0aVgpeiRGNUZdYWJsNyc3JCQhK1QvPE8oKUZWJCIrVnVYSlBGNTckJCErZiZIUUUnRlYkIitkRGFvUEY1NyQkIStxMXZfbkZWJCIrTCI0J0hQRjU3JCQhK2BNWVhvRlYkIitid1QieiRGNUZiYmJsNyc3JCQhK1o5QlppRlYkIitDXm9UUEY1NyQkIStgJm9GdiRGViQiK3dbSmVQRjU3JCQhK0AlWz9GJUZWJCIrVk9gQlBGNTckJCErLUdpOFZGViQiKzpfKmV5JEY1RmdjYmw3JzckJCErRWsjKVxQRlYkIitjcCJ6dSRGNTckJCErdU48XTdGViQiK1dJM19QRjU3JCQhKyJvY2h5IkZWJCIrKlJOKj5QRjU3JCQhKy0+ZCd6IkZWJCIrP25VI3kkRjVGXGVibDcnNyRGZmFsJCIrKysrXVBGNTckRmhhbEZdZmJsNyRGamFsJCIrKyt2PVBGNTckRmphbCQiKysrRCJ5JEY1Rl9mYmw3JzckJCIrdU48XTdGVkZqZGJsNyQkIitFayMpXFBGVkZfZWJsNyQkIis+TCVRQCRGVkZkZWJsNyQkIispNEdNPyRGVkZpZWJsRmpmYmw3JzckJCIrYCZvRnYkRlZGZWNibDckJCIrWjlCWmlGVkZqY2JsNyQkIit6OiZ6cyZGVkZfZGJsNyQkIispPnhqbyZGVkZkZGJsRmdnYmw3JzckJCIrZiZIUUUnRlZGYGJibDckJCIrVC88TygpRlZGZWJibDckJCIrSSRcc0MpRlZGamJibDckJCIrWmxgYSIpRlZGX2NibEZkaGJsNyc3JCQiK0VqPyN6KUZWRlthYmw3JCQiK24kejI3IkY1RmBhYmw3JCQiK0RCYHc1RjVGZWFibDckJCIrNCVHLzEiRjVGamFibEZhaWJsNyc3JCQiKyZROlk4IkY1RmZfYmw3JCQiKzpZUWw4RjVGW2BibDckJCIrVTNXRjhGNUZgYGJsNyQkIishUS1NSSJGNUZlYGJsRl5qYmw3JzckJCIrJVE4R1IiRjVGYV5ibDckJCIrO209MjtGNUZmXmJsNyQkIitVOSZvZCJGNUZbX2JsNyQkIitlYXBXOkY1RmBfYmxGW1tjbDcnNyQkIislWyQ9YDtGNUZcXWJsNyQkIis7bCJvJT1GNUZhXWJsNyQkIitTL21DPUY1RmZdYmw3JCQiK0lxNyZ5IkY1RlteYmxGaFtjbDcnNyQkIitmdF05PkY1RmdbYmw3JCQiK1RFXCYzI0Y1RlxcYmw3JCQiK3o3RnI/RjVGYVxibDckJCIrL19uRD9GNUZmXGJsRmVcY2w3JzckJCIrY2xmdkBGNUZiamFsNyQkIitXTVNDQkY1RmdqYWw3JCQiK3FwSDxCRjVGXFtibDckJCIrWFkybkFGNUZhW2JsRmJdY2w3JzckJCIrSiEpb05DRjVGXWlhbDckJCIrcD5Ka0RGNUZiaWFsNyQkIitCMkVqREY1RmdpYWw3JCQiKzp1bTRERjVGXGphbEZfXmNsNyc3JCQiKzopb1dwI0Y1RmhnYWw3JCQiKyY9SmIhR0Y1Rl1oYWw3JCQiK1xDWzRHRjVGYmhhbDckJCIrLyYpW2BGRjVGZ2hhbEZcX2NsNyc3JCQiK3hJIz4mSEY1RmNmYWw3JCQiK0JwMltJRjVGaGZhbDckJCIrZV41Y0lGNUZdZ2FsNyQkIiteR1QpKkhGNUZiZ2FsRmlfY2w3JzckJCErM3R3XUlGNSQiK2NOeCYpUUY1NyQkISsjcEsjXEhGNSQiK1drQTlURjU3JCQhK3EqZUUlSEY1JCIrO0oyX1NGNTckJCErIz5zKCoqSEY1JCIrcW5YeFNGNUZoYGNsNyc3JCQhKy9TVzNHRjUkIisxVl0qKVFGNTckJCErJypmYiJwI0Y1JCIrJXAmXDVURjU3JCQhK28hUiMqbyNGNSQiK2EnUSFbU0Y1NyQkISs6cFtXRkY1JCIrYzFFeFNGNUZdYmNsNyc3JCQhKzc8UW5ERjUkIit2Z3IlKlFGNTckJCErKUc9RVYjRjUkIitEUkcwVEY1NyQkIStXV1pOQ0Y1JCIrPyNcRy8lRjU3JCQhKzFrNilbI0Y1JCIrdythd1NGNUZiY2NsNyc3JCQhKyF6JVxGQkY1JCIrZDEjPiFSRjU3JCQhKzVfXXNARjUkIitWJHohKTQlRjU3JCQhKy07YSI9I0Y1JCIrV2dCT1NGNTckJCErdTdlSUFGNSQiK1JNKVwyJUY1RmdkY2w3JzckJCErWyQpUSkzI0Y1JCIrXztoNlJGNTckJCErXztoNj5GNSQiK1skKVEpMyVGNTckJCErVXl5Rj5GNSQiKyUpeixHU0Y1NyQkISs7Pyk+KD5GNSQiK2VAQHNTRjVGXGZjbDcnNyQkISslcF0jXD1GNSQiKyg9NlMjUkY1NyQkISsxJFwybCJGNSQiKzgpKSlmMiVGNTckJCErOSpHWm4iRjUkIis9P0Y9U0Y1NyQkIStATHM3PEY1JCIrbHQqeTElRjVGYWdjbDcnNyQkIStVcCUqMztGNSQiK1h0clFSRjU3JCQhK2VJMCJSIkY1JCIrYkVHaFNGNTckJCErL3khSFUiRjUkIitfKDR2KyVGNTckJCErSyJcTlgiRjUkIitCSyk+MSVGNUZmaGNsNyc3JCQhK3BAVm04RjUkIislbz1YJlJGNTckJCErSnljTDZGNSQiKzs4W1hTRjU3JCQhKzVUaHM2RjUkIisnR3ptKlJGNTckJCErb1pOJj4iRjUkIityYCpbMCVGNUZbamNsNyc3JCQhKzd5RUA2RjUkIitaSW9wUkY1NyQkISt2PUsoeSlGViQiK2BwSklTRjU3JCQhK0NYak8jKkZWJCIrdUIobylSRjU3JCQhKypHPiMpUSpGViQiKyFHMXYvJUY1RmBbZGw3JzckJCErQjIjeXQpRlYkIitZSmYjKVJGNTckJCEreCN6QEUnRlYkIithb1M8U0Y1NyQkIStRVWxhbkZWJCIrWlIjKnlSRjU3JCQhKzImKW9Ub0ZWJCIrJClcIjMvJUY1RmVcZGw3JzckJCErQmRjWmlGViQiKzlGPyMqUkY1NyQkISt4VVZfUEZWJCIrJ0coejJTRjU3JCQhK25HOnRVRlYkIis+PUJ0UkY1NyQkISsnSFJASiVGViQiKzAsaE5TRjVGal1kbDcnNyQkIStTdSUpXFBGViQiKzhyLykqUkY1NyQkIStnRDpdN0ZWJCIrKClHJj4rJUY1NyQkIStnLFoneSJGViQiK3c1JylwUkY1NyQkISslZk1peiJGViQiK1tNTktTRjVGX19kbDcnNyRGZmFsJCIrKysrK1NGNTckRmhhbEZgYGRsNyRGamFsJCIrKyt2b1JGNTckRmphbCQiKysrREpTRjVGYmBkbDcnNyQkIitnRDpdN0ZWRl1fZGw3JCQiK1N1JSlcUEZWRmJfZGw3JCQiK1MpSE5AJEZWRmdfZGw3JCQiKzFhdy5LRlZGXGBkbEZdYWRsNyc3JCQiK3hVVl9QRlZGaF1kbDckJCIrQmRjWmlGVkZdXmRsNyQkIitMciVvcyZGVkZiXmRsNyQkIisvMid5byZGVkZnXmRsRmphZGw3JzckJCIreCN6QEUnRlZGY1xkbDckJCIrQjIjeXQpRlZGaFxkbDckJCIraWRNWCMpRlZGXV1kbDckJCIrJFw2JGUiKUZWRmJdZGxGZ2JkbDcnNyRGYGRwRl5bZGw3JEZlZHBGY1tkbDckRl9lcEZoW2RsNyRGamRwRl1cZGxGYmNkbDcnNyQkIitKeWNMNkY1RmlpY2w3JCQiK3BAVm04RjVGXmpjbDckJCIrISplUUY4RjVGY2pjbDckJCIrS19rLzhGNUZoamNsRmljZGw3JzckJCIrZUkwIlIiRjVGZGhjbDckJCIrVXAlKjM7RjVGaWhjbDckJCIrJz4jNHg6RjVGXmljbDckJCIrbzNYWTpGNUZjaWNsRmZkZGw3JzckJCIrMSRcMmwiRjVGX2djbDckJCIrJXBdI1w9RjVGZGdjbDckJCIrJzNyXyM9RjVGaWdjbDckJCIrem1GKHkiRjVGXmhjbEZjZWRsNyc3JCQiK187aDY+RjVGamVjbDckJCIrWyQpUSkzI0Y1Rl9mY2w3JCQiK2VAQHM/RjVGZGZjbDckJCIrJSl6LEc/RjVGaWZjbEZgZmRsNyc3JCQiKzVfXXNARjVGZWRjbDckJCIrIXolXEZCRjVGamRjbDckJCIrKVJlJT1CRjVGX2VjbDckJCIrRSg9JXBBRjVGZGVjbEZdZ2RsNyc3JCQiKylHPUVWI0Y1RmBjY2w3JCQiKzc8UW5ERjVGZWNjbDckJCIrY2Jfa0RGNUZqY2NsNyQkIislZiQpPV4jRjVGX2RjbEZqZ2RsNyc3JCQiKycqZmIicCNGNUZbYmNsNyQkIisvU1czR0Y1RmBiY2w3JCQiK0s0dzVHRjVGZWJjbDckJCIrJjM4YnYjRjVGamJjbEZnaGRsNyc3JCQiKyNwSyNcSEY1RmZgY2w3JCQiKzN0d11JRjVGW2FjbDckJCIrSTVNZElGNUZgYWNsNyQkIiszeUErSUY1RmVhY2xGZGlkbDcnNyQkISspeXZMMCRGNSQiKz4qb3A4JUY1NyQkISs3VWlZSEY1JCIrIjNKSU8lRjU3JCQhK08peTklSEY1JCIrU0t1K1ZGNTckJCErd1YqeipIRjUkIitNNlZGVkY1RmNqZGw3JzckJCErIyopUjciR0Y1JCIrOiFINTklRjU3JCQhKzMsdylvI0Y1JCIrJik0KCplVkY1NyQkISs4XS4pbyNGNSQiKyI+dmtIJUY1NyQkISsxMF9VRkY1JCIrUF40RlZGNUZoW2VsNyc3JCQhK2AoKUdxREY1JCIrKD1NbTklRjU3JCQhK1o3ckhDRjUkIis4ZU9gVkY1NyQkISs8ZElNQ0Y1JCIrOlwuIkglRjU3JCQhK0InKSlmWyNGNSQiKyJIemhLJUY1Rl1dZWw3JzckJCErKkdyLkwjRjUkIis3T0VhVEY1NyQkISs2KEcncEBGNSQiKylRT2RNJUY1NyQkISsua1whPSNGNSQiKyVcKT0lRyVGNTckJCErKGZrJEdBRjUkIitRVFBDVkY1RmJeZWw3JzckJCErKipcLSI0I0Y1JCIrOCVIVjslRjU3JCQhKyxdKCozPkY1JCIrKGVxY0wlRjU3JCQhK05CKHAjPkY1JCIrJil5ImVGJUY1NyQkIStIdyEpcD5GNSQiKyVRSThLJUY1RmdfZWw3JzckJCErKVw4OSY9RjUkIitGRSNwPCVGNTckJCErLWxlWztGNSQiK3R0MkJWRjU3JCQhKyJcSVVuIkY1JCIrbzAzbVVGNTckJCEreSJwMnIiRjUkIis8dHk7VkY1RlxhZWw3JzckJCErIVx0L2giRjUkIitOU14iPiVGNTckJCErNWxfKlEiRjUkIitsZlszVkY1NyQkIStWOXVBOUY1JCIrRkNhYlVGNTckJCErRFcpPlgiRjUkIitzInoySiVGNUZhYmVsNyc3JCQhKz5CS244RjUkIislem1vPyVGNTckJCErIm94RTgiRjUkIisxSzgkSCVGNTckJCErTWtwczZGNSQiKythN1hVRjU3JCQhK1BJRSU+IkY1JCIrZ2x5LlZGNUZmY2VsNyc3JCQhK1lybkA2RjUkIiskM3E4QSVGNTckJCErUyZHS3kpRlYkIis8KkgneVVGNTckJCErWTdgUSMqRlYkIis4TiJlQiVGNTckJCErSDNvIlEqRlYkIisnM19tSCVGNUZbZWVsNyc3JCQhK2RNPlIoKUZWJCIrNSopZkxVRjU3JCQhK1ZsITNFJ0ZWJCIrITQsa0UlRjU3JCQhK0QuUmNuRlYkIit0JD4kR1VGNTckJCErdmRSUW9GViQiK1khei1IJUY1RmBmZWw3JzckJCErbUgleUMnRlYkIitaKGZFQyVGNTckJCErTXE6X1BGViQiK2AtTWRVRjU3JCQhK2MjUVRGJUZWJCIrY2QnSEElRjU3JCQhKz8mUjNKJUZWJCIrL3pOJkclRjVGZWdlbDcnNyQkIStlWycpXFBGViQiK2o+O1tVRjU3JCQhK1VeOF03RlYkIitQIVE9RCVGNTckJCErNXV1J3kiRlYkIitBYno+VUY1NyQkISskZlBmeiJGViQiK2woKUcjRyVGNUZqaGVsNyc3JEZmYWwkIisrKytdVUY1NyRGaGFsRltqZWw3JEZqYWwkIisrK3Y9VUY1NyRGamFsJCIrKytEIkclRjVGXWplbDcnNyQkIitVXjhdN0ZWRmhoZWw3JCQiK2VbJylcUEZWRl1pZWw3JCQiKyFmX0tAJEZWRmJpZWw3JCQiKzJDMS9LRlZGZ2llbEZoamVsNyc3JCQiK01xOl9QRlZGY2dlbDckJCIrbUgleUMnRlZGaGdlbDckJCIrVzwnZXMmRlZGXWhlbDckJCIrIVtnIipvJkZWRmJoZWxGZVtmbDcnNyQkIitWbCEzRSdGVkZeZmVsNyQkIitkTT5SKClGVkZjZmVsNyQkIit2JzRPQylGVkZoZmVsNyQkIitEVWdoIilGVkZdZ2VsRmJcZmw3JzckJCIrUyZHS3kpRlZGaWRlbDckJCIrWXJuQDZGNUZeZWVsNyQkIit2bzl3NUY1RmNlZWw3JCQiKzw+JD0xIkY1RmhlZWxGX11mbDcnNyQkIisib3hFOCJGNUZkY2VsNyQkIis+QktuOEY1RmljZWw3JCQiK21OSUY4RjVGXmRlbDckJCIranB0MDhGNUZjZGVsRlxeZmw3JzckJCIrNWxfKlEiRjVGX2JlbDckJCIrIVx0L2giRjVGZGJlbDckJCIrZCZlc2QiRjVGaWJlbDckJCIrdmIsWzpGNUZeY2VsRmleZmw3JzckJCIrLWxlWztGNUZqYGVsNyQkIispXDg5Jj1GNUZfYWVsNyQkIis0JnBkIz1GNUZkYWVsNyQkIitBM0IqeSJGNUZpYWVsRmZfZmw3JzckJCIrLF0oKjM+RjVGZV9lbDckJCIrKipcLSI0I0Y1RmpfZWw3JCQiK2x3LXQ/RjVGX2BlbDckJCIrckI+ST9GNUZkYGVsRmNgZmw3JzckJCIrNihHJ3BARjVGYF5lbDckJCIrKkdyLkwjRjVGZV5lbDckJCIrKGYuJj5CRjVGal5lbDckJCIrLmFqckFGNUZfX2VsRmBhZmw3JzckJCIrWjdySENGNUZbXWVsNyQkIitgKClHcURGNUZgXWVsNyQkIiskRyVwbERGNUZlXWVsNyQkIit4OCw5REY1RmpdZWxGXWJmbDcnNyQkIiszLHcpbyNGNUZmW2VsNyQkIisjKilSNyJHRjVGW1xlbDckJCIrKClcJz4iR0Y1RmBcZWw3JCQiKyVcenV2I0Y1RmVcZWxGamJmbDcnNyQkIis3VWlZSEY1RmFqZGw3JCQiKyl5dkwwJEY1RmZqZGw3JCQiK2s2X2VJRjVGW1tlbDckJCIrQ2MrLUlGNUZgW2VsRmdjZmw3JzckJCErKnAsZjAkRjUkIissbT4pUSVGNTckJCErLCQpNFdIRjUkIisqUi49aCVGNTckJCErKGZgLiVIRjUkIisjbzolXFhGNTckJCErKEhiaSpIRjUkIitLbE94WEY1RmZkZmw3JzckJCErdSk+UiJHRjUkIisrInpEUiVGNTckJCErRSwzJ28jRjUkIisrNFUyWUY1NyQkISs9SSFwbyNGNSQiKzxqI1xhJUY1NyQkIStvTWhTRkY1JCIrYmkpb2QlRjVGW2ZmbDcnNyQkISsiNFFJZCNGNSQiKzIjZSYpUiVGNTckJCErND4ncFUjRjUkIiskelQ5ZyVGNTckJCErIyl5QUxDRjUkIisnb2MjUlhGNTckJCEreShbUlsjRjUkIitKZHh2WEY1RmBnZmw3JzckJCErIVtYSUwjRjUkIitOUWQxV0Y1NyQkISs/WCZwOyNGNSQiK2xoVSRmJUY1NyQkIStFeGJ6QEY1JCIreitAS1hGNTckJCErNDNGRUFGNSQiKz5HdHRYRjVGZWhmbDcnNyQkIStsaFUkNCNGNSQiKz9YJnBUJUY1NyQkIStOUWQxPkY1JCIrIVtYSWUlRjU3JCQhKyI9bmkjPkY1JCIrIj5IUF8lRjU3JCQhK0AqKnluPkY1JCIrdUFXcVhGNUZqaWZsNyc3JCQhKzUiUkwmPUY1JCIrJio+bkhXRjU3JCQhKyEqM21ZO0Y1JCIrMCFHLmQlRjU3JCQhK09nI1FuIkY1JCIrMy4vOVhGNTckJCErUisqKjM8RjUkIitqKTRkYyVGNUZfW2dsNyc3JCQhKypSLj1oIkY1JCIrLCQpNFdXRjU3JCQhKyxtPilRIkY1JCIrKnAsZmIlRjU3JCQhK29NakE5RjUkIisuWnUuWEY1NyQkISs9VmVdOUY1JCIrLmtrZlhGNUZkXGdsNyc3JCQhKzNVM284RjUkIitSJikqKmVXRjU3JCQhKyN6Oj44IkY1JCIraDkrVFhGNTckJCErKlEoenM2RjUkIitjaXMkXCVGNTckJCErPiIpSCQ+IkY1JCIrZyRvRmIlRjVGaV1nbDcnNyQkISskUUI/NyJGNSQiKyRwJClHWiVGNTckJCErdWh3eigpRlYkIisyajZGWEY1NyQkIStfQE5TIypGViQiK2Mob1tbJUY1NyQkISspb0xmUCpGViQiK1ovKWVhJUY1Rl5fZ2w3JzckJCErWXRNUygpRlYkIitlY1wlWyVGNTckJCErYUVsZmlGViQiK1VWXTpYRjU3JCQhK2J6KHp2J0ZWJCIrIjMjeXhXRjU3JCQhK2snKlxOb0ZWJCIrXCUqelJYRjVGY2BnbDcnNyQkIStVYTJbaUZWJCIrW2kxJFwlRjU3JCQhK2VYIz52JEZWJCIrX1AkcF0lRjU3JCQhKydwQV1GJUZWJCIraiVIRlolRjU3JCQhK2U5cDRWRlYkIitOSzhOWEY1RmhhZ2w3JzckJCErYSV6KVxQRlYkIitjU0UpXCVGNTckJCErWTA3XTdGViQiK1dmdCxYRjU3JCQhK21WKnB5IkZWJCIrc3N0cFdGNTckJCErJjN1Y3oiRlYkIitYN0JLWEY1Rl1jZ2w3JzckRmZhbCQiKysrKytYRjU3JEZoYWxGXmRnbDckRmphbCQiKysrdm9XRjU3JEZqYWwkIisrK0RKWEY1RmBkZ2w3JzckJCIrWTA3XTdGVkZbY2dsNyQkIithJXopXFBGVkZgY2dsNyQkIitNYys4S0ZWRmVjZ2w3JCQiKzpmSy9LRlZGamNnbEZbZWdsNyc3JCQiK2VYIz52JEZWRmZhZ2w3JCQiK1VhMltpRlZGW2JnbDckJCIrL3QoXHMmRlZGYGJnbDckJCIrVSYzLnAmRlZGZWJnbEZoZWdsNyc3JCQiK2FFbGZpRlZGYWBnbDckJCIrWXRNUygpRlZGZmBnbDckJCIrWD8tVSMpRlZGW2FnbDckJCIrTy5dayIpRlZGYGFnbEZlZmdsNyc3JCQiK3Vod3ooKUZWRlxfZ2w3JCQiKyRRQj83IkY1RmFfZ2w3JCQiKyZ5a2YyIkY1RmZfZ2w3JCQiK0ttU2k1RjVGW2BnbEZiZ2dsNyc3JCQiKyN6Oj44IkY1RmddZ2w3JCQiKzNVM284RjVGXF5nbDckJCIrNkU/RjhGNUZhXmdsNyQkIisiKT1xMThGNUZmXmdsRl9oZ2w3JzckJCIrLG0+KVEiRjVGYlxnbDckJCIrKlIuPWgiRjVGZ1xnbDckJCIrS2xPeDpGNUZcXWdsNyQkIisjbzolXDpGNUZhXWdsRlxpZ2w3JzckJCIrISozbVk7RjVGXVtnbDckJCIrNSJSTCY9RjVGYltnbDckJCIra1I8RT1GNUZnW2dsNyQkIitoKjQ1eiJGNUZcXGdsRmlpZ2w3JzckRmpcd0ZoaWZsNyRGX113Rl1qZmw3JEZpXXdGYmpmbDckRmRdd0ZnamZsRmRqZ2w3JzckJCIrP1gmcDsjRjVGY2hmbDckJCIrIVtYSUwjRjVGaGhmbDckJCIrdUFXP0JGNUZdaWZsNyQkIisiPkhQRiNGNUZiaWZsRltbaGw3JzckJCIrND4ncFUjRjVGXmdmbDckJCIrIjRRSWQjRjVGY2dmbDckJCIrPUB4bURGNUZoZ2ZsNyQkIitBNzA7REY1Rl1oZmxGaFtobDcnNyQkIitFLDMnbyNGNUZpZWZsNyQkIit1KT5SIkdGNUZeZmZsNyQkIisjKXA0OEdGNUZjZmZsNyQkIitLbFFmRkY1RmhmZmxGZVxobDcnNyQkIissJCk0V0hGNUZkZGZsNyQkIisqcCxmMCRGNUZpZGZsNyQkIisua2tmSUY1Rl5lZmw3JCQiKy5adS5JRjVGY2VmbEZiXWhsNyc3JCQhK0ZbTWVJRjUkIisxPlhSWUY1NyQkISt0XmxUSEY1JCIrJTRbMCdbRjU3JCQhKyxBR1JIRjUkIitlSjQpeiVGNTckJCErW2liJSpIRjUkIitzYkVGW0Y1RmFeaGw3JzckJCErMmNbO0dGNSQiKzl6OVdZRjU3JCQhKyRSOU5vI0Y1JCIrJzNfZSZbRjU3JCQhKyVbU2VvI0Y1JCIrKFEmUiR6JUY1NyQkIStGbHdRRkY1JCIrIT5RbSNbRjVGZl9obDcnNyQkISszYWp2REY1JCIrRSh6L2wlRjU3JCQhKyNma1ZVI0Y1JCIrdS1fXFtGNTckJCErO2NCS0NGNSQiK3p5Xih5JUY1NyQkIStgZCo+WyNGNSQiKyRlTmAjW0Y1RlthaGw3JzckJCErcCtgTkJGNSQiK2BIJSllWUY1NyQkIStKKnBXOyNGNSQiK1pxOlRbRjU3JCQhK3ZpcnlARjUkIitxQkkheSVGNTckJCErKnolSENBRjUkIiswdTFCW0Y1RmBiaGw3JzckJCErK1JoJjQjRjUkIitLSVtwWUY1NyQkISsraFEvPkY1JCIrb3BeSVtGNTckJCErIiopZWMjPkY1JCIrQidbPHglRjU3JCQhK3Z0ImYnPkY1JCIrdGJiPltGNUZlY2hsNyc3JCQhKyFSZF0mPUY1JCIrSWNFI28lRjU3JCQhKzVFJVxrIkY1JCIrcVZ0PFtGNTckJCErLS1ddDtGNSQiKyE9U0B3JUY1NyQkISsoUW50cSJGNSQiK3Ypb1kiW0Y1RmpkaGw3JzckJCErSXMnSGgiRjUkIisyIypbJ3AlRjU3JCQhK3FGLihRIkY1JCIrJHo1TiFbRjU3JCQhKzw4ZEE5RjUkIitLIik0X1pGNTckJCErOW5LXDlGNSQiK1o8ZTNbRjVGX2ZobDcnNyQkIStDMnVvOEY1JCIrXjAlNHIlRjU3JCQhK3cjZjc4IkY1JCIrXCVmISp5JUY1NyQkIStiMSJIPCJGNSQiK0o1WVVaRjU3JCQhKyFRU0M+IkY1JCIrJFJKPSFbRjVGZGdobDcnNyQkIStCKD1CNyJGNSQiKyFwW1VzJUY1NyQkIStwRiJveClGViQiKzU4dnZaRjU3JCQhKy0sNFUjKkZWJCIrJik0LU1aRjU3JCQhK19tJTNQKkZWJCIrWS49JnolRjVGaWhobDcnNyQkISsva0tUKClGViQiKyMzK2B0JUY1NyQkISsnZnQnZWlGViQiKz0qKnBrWkY1NyQkISssUlZmbkZWJCIrMjpJRlpGNTckJCErIlxMSCRvRlYkIitGeU8qeSVGNUZeamhsNyc3JCQhKyhHcyNbaUZWJCIrWSxWVlpGNTckJCErOHhzXlBGViQiK2EpcGx2JUY1NyQkIStMMyNlRiVGViQiKzwjPURzJUY1NyQkISsvLG4zVkZWJCIrSj0kXHklRjVGY1tpbDcnNyQkISszPSopXFBGViQiKzFhTltaRjU3JCQhKyM+MyxEIkZWJCIrJWZXO3YlRjU3JCQhK05kQCh5IkZWJCIrb15vPlpGNTckJCErMihRYXoiRlYkIitmKHpAeSVGNUZoXGlsNyc3JEZmYWwkIisrKytdWkY1NyRGaGFsRmldaWw3JEZqYWwkIisrK3Y9WkY1NyRGamFsJCIrKytEInklRjVGW15pbDcnNyQkIisjPjMsRCJGVkZmXGlsNyQkIiszPSopXFBGVkZbXWlsNyQkIitsVXk3S0ZWRmBdaWw3JCQiKyRIaFg/JEZWRmVdaWxGZl5pbDcnNyQkIis4eHNeUEZWRmFbaWw3JCQiKyhHcyNbaUZWRmZbaWw3JCQiK24ielRzJkZWRltcaWw3JCQiKycqKUg4cCZGVkZgXGlsRmNfaWw3JzckJCIrJ2Z0J2VpRlZGXGpobDckJCIrL2tLVCgpRlZGYWpobDckJCIrKjRtMEMpRlZGZmpobDckJCIrNGwxbiIpRlZGW1tpbEZgYGlsNyc3JCQiK3BGIm94KUZWRmdoaGw3JCQiK0IoPUI3IkY1RlxpaGw3JCQiKyEqNHp2NUY1RmFpaGw3JCQiK05gIkgxIkY1RmZpaGxGXWFpbDcnNyQkIit3I2Y3OCJGNUZiZ2hsNyQkIitDMnVvOEY1RmdnaGw3JCQiK1gkKjNGOEY1RlxoaGw3JCQiKz8nZnZJIkY1RmFoaGxGamFpbDcnNyQkIitxRi4oUSJGNUZdZmhsNyQkIitJcydIaCJGNUZiZmhsNyQkIiskb0d1ZCJGNUZnZmhsNyQkIisnR3QxYiJGNUZcZ2hsRmdiaWw3JzckJCIrNUUlXGsiRjVGaGRobDckJCIrIVJkXSY9RjVGXWVobDckJCIrKXoqXEU9RjVGYmVobDckJCIrOEVqI3oiRjVGZ2VobEZkY2lsNyc3JCQiKytoUS8+RjVGY2NobDckJCIrK1JoJjQjRjVGaGNobDckJCIrNDZNdT9GNUZdZGhsNyQkIitERTNNP0Y1RmJkaGxGYWRpbDcnNyQkIitKKnBXOyNGNUZeYmhsNyQkIitwK2BOQkY1RmNiaGw3JCQiK0RQR0BCRjVGaGJobDckJCIrLF9xdkFGNUZdY2hsRl5laWw3JzckJCIrI2ZrVlUjRjVGaWBobDckJCIrM2FqdkRGNUZeYWhsNyQkIislUWt4YyNGNUZjYWhsNyQkIitaVSs9REY1RmhhaGxGW2ZpbDcnNyQkIiskUjlObyNGNUZkX2hsNyQkIisyY1s7R0Y1RmlfaGw3JCQiKzsmZlQiR0Y1Rl5gaGw3JCQiK3RNQmhGRjVGY2BobEZoZmlsNyc3JCQiK3RebFRIRjVGX15obDckJCIrRltNZUlGNUZkXmhsNyQkIisqejwyMSRGNUZpXmhsNyQkIitfUFcwSUY1Rl5faGxGZWdpbDcnNyQkISttYHFnSUY1JCIrUy50ISpbRjU3JCQhK01ZSFJIRjUkIitnJ3AjNF5GNTckJCErOU1FUUhGNSQiK28ieW4vJkY1NyQkIStXIykqRypIRjUkIiteMzh4XUY1RmRoaWw3JzckJCErIkhSKj1HRjUkIitBJEhkKltGNTckJCErNDIxIm8jRjUkIit5MUYvXkY1NyQkIStHWSVbbyNGNSQiK0ZgKT0vJkY1NyQkIStuKnpwdCNGNSQiK3RcTnddRjVGaWlpbDcnNyQkISsiKW8zeURGNSQiKypSIlItXEY1NyQkISs+SiI+VSNGNSQiKywnM3c0JkY1NyQkISshZUI4ViNGNSQiKzw2I2UuJkY1NyQkISsiKXk3IVsjRjUkIitkWCdbMiZGNUZeW2psNyc3JCQhK2R3JHlMI0Y1JCIrc1YxNlxGNTckJCErVkI7aUBGNSQiK0djJCopMyZGNTckJCErZEsnejwjRjUkIitkZllHXUY1NyQkIStyNVZBQUY1JCIrJ3klUXNdRjVGY1xqbDcnNyQkISssJzN3NCNGNSQiKz5KIj4jXEY1NyQkISsqUiJSLT5GNSQiKyIpbzN5XUY1NyQkIStWYThEPkY1JCIrPkAoKT5dRjU3JCQhKyQpKXlUJz5GNSQiKz9rbm9dRjVGaF1qbDcnNyQkISstVmZjPUY1JCIrISo0ck1cRjU3JCQhKylwME1rIkY1JCIrNSEqR2xdRjU3JCQhK0ssQ3Q7RjUkIitrJXAuLCZGNTckJCErUFkpZXEiRjUkIis6bW1qXUY1Rl1famw3JzckJCErKT0hKlJoIkY1JCIrOldxW1xGNTckJCErNyk0Z1EiRjUkIismZSZIXl1GNTckJCErOl5hQTlGNSQiKylSJ2UrXUY1NyQkISszSD5bOUY1JCIrI1wiZWRdRjVGYmBqbDcnNyQkISsoKio0JHA4RjUkIitFY3JpXEY1NyQkISsuK3BJNkY1JCIrdVZHUF1GNTckJCErYTsudDZGNSQiK25BSiIqXEY1NyQkIStUUW4iPiJGNSQiK21zJzQwJkY1Rmdhamw3JzckJCErJWVzRDciRjUkIiskWyZbdlxGNTckJCErY1RGdSgpRlYkIis8WF5DXUY1NyQkIStCRnVWIypGViQiK3VpRCQpXEY1NyQkISszYEptJCpGViQiK21EYVddRjVGXGNqbDcnNyQkIStYVDtVKClGViQiK2BjLScpXEY1NyQkIStiZSR5RCdGViQiK1pWKFIsJkY1NyQkIStUR3hnbkZWJCIrdSJwbyhcRjU3JCQhK3VYa0lvRlYkIisiUXgqUV1GNUZhZGpsNyc3JCQhK0MvV1tpRlYkIispemRQKlxGNTckJCErdyZmOnYkRlYkIistQUMxXUY1NyQkIStLWWF3VUZWJCIrUiNHQihcRjU3JCQhK1VjdjJWRlYkIitnLXZNXUY1RmZlamw3JzckJCErY0IhKlxQRlYkIitBd1YpKlxGNTckJCErV3c0XTdGViQiK3lCYyxdRjU3JCQhKyZIOnV5IkZWJCIrIUhRJ3BcRjU3JCQhKyY9Rl96IkZWJCIrMk04S11GNUZbZ2psNyc3JEZmYWwkRmBvRjU3JEZoYWxGXGhqbDckRmphbCQiKysrdm9cRjU3JEZqYWwkIisrK0RKXUY1Rl1oamw3JzckJCIrV3c0XTdGVkZpZmpsNyQkIitjQiEqXFBGVkZeZ2psNyQkIiswWmU3S0ZWRmNnamw3JCQiKzpHeC9LRlZGaGdqbEZoaGpsNyc3JCQiK3cmZjp2JEZWRmRlamw3JCQiK0MvV1tpRlZGaWVqbDckJCIrb2BYQmRGVkZeZmpsNyQkIitlVkMjcCZGVkZjZmpsRmVpamw3JzckJCIrYmUkeUQnRlZGX2RqbDckJCIrWFQ7VSgpRlZGZGRqbDckJCIrZnJBUiMpRlZGaWRqbDckJCIrRWFOcCIpRlZGXmVqbEZiampsNyc3JCQiK2NURnUoKUZWRmpiamw3JCQiKyVlc0Q3IkY1Rl9jamw3JCQiK0ZkaXY1RjVGZGNqbDckJCIrcCVvTDEiRjVGaWNqbEZfW1ttNyc3JEZdXXJGZWFqbDckRmJdckZqYWpsNyRGXF5yRl9iamw3JEZnXXJGZGJqbEZqW1ttNyc3JCQiKzcpNGdRIkY1RmBgamw3JCQiKyk9ISpSaCJGNUZlYGpsNyQkIismKVtYeDpGNUZqYGpsNyQkIisjNDI9YiJGNUZfYWpsRmFcW203JzckJCIrKXAwTWsiRjVGW19qbDckJCIrLVZmYz1GNUZgX2psNyQkIitvKWZuIz1GNUZlX2psNyQkIitqYDYleiJGNUZqX2psRl5dW203JzckJCIrKlIiUi0+RjVGZl1qbDckJCIrLCczdzQjRjVGW15qbDckJCIrZFgnWzIjRjVGYF5qbDckJCIrPDYjZS4jRjVGZV5qbEZbXlttNyc3JCQiK1ZCO2lARjVGYVxqbDckJCIrZHckeUwjRjVGZlxqbDckJCIrVm4uQUJGNUZbXWpsNyQkIitIKm92RiNGNUZgXWpsRmheW203JzckJCIrPkoiPlUjRjVGXFtqbDckJCIrIilvM3lERjVGYVtqbDckJCIrP2tub0RGNUZmW2psNyQkIis+QCgpPkRGNUZbXGpsRmVfW203JzckJCIrNDIxIm8jRjVGZ2lpbDckJCIrIkhSKj1HRjVGXGppbDckJCIrc2A6OkdGNUZhamlsNyQkIitMKy1qRkY1RmZqaWxGYmBbbTcnNyQkIitNWUhSSEY1RmJoaWw3JCQiK21gcWdJRjVGZ2hpbDckJCIrJ2VPPDEkRjVGXGlpbDckJCIrYzw1MklGNUZhaWlsRl9hW203JzckJCEreVEpSDEkRjUkIitQdy1VXkY1NyQkIStBaCxQSEY1JCIrakIoek4mRjU3JCQhK15lSFBIRjUkIisqKUhaJkgmRjU3JCQhK0s/RyIqSEY1JCIrR1wncEsmRjVGXmJbbTcnNyQkIStzTkdAR0Y1JCIrN3hKWl5GNTckJCErR2tyeUVGNSQiKylHI29fYEY1NyQkIStbRCJSbyNGNSQiK2cnKVIhSCZGNTckJCErI3BgX3QjRjUkIitZLy9FYEY1RmNjW203JzckJCErNiEqUiFlI0Y1JCIrIypvR2FeRjU3JCQhKyopNGc+Q0Y1JCIrM0pyWGBGNTckJCErMGxbSUNGNSQiK2skb1RHJkY1NyQkIStmSU15Q0Y1JCIrcHlPQ2BGNUZoZFttNyc3JCQhK1AwKSpSQkY1JCIrYUlCal5GNTckJCEraiU+KzsjRjUkIitZcHdPYEY1NyQkIStVL0h4QEY1JCIrQTFxd19GNTckJCErOlJuP0FGNSQiKyEqM3BAYEY1Rl1mW203JzckJCErbCpHJSo0I0Y1JCIrKWZXVTwmRjU3JCQhK041ZCs+RjUkIistYXZEYEY1NyQkISsqPSdvQz5GNSQiKzVeNG9fRjU3JCQhKyEqUWNpPkY1JCIrI2Y0eUomRjVGYmdbbTcnNyQkIStqQih6Jj1GNSQiK0FoLCg9JkY1NyQkIStQdy1VO0Y1JCIreVEpSEomRjU3JCQhK3NdLnQ7RjUkIitvenJlX0Y1NyQkISs2cV8vPEY1JCIrXFRxN2BGNUZnaFttNyc3JCQhK0hKKltoIkY1JCIrKTNnMj8mRjU3JCQhK3JvNSZRIkY1JCIrNypSIypIJkY1NyQkISt4cWFBOUY1JCIrQV4+XF9GNTckJCErTHE7WjlGNSQiKyhvVG1JJkY1RlxqW203JzckJCErNWwhKXA4RjUkIissTE05X0Y1NyQkISshXCQ+STZGNSQiKypwY2NHJkY1NyQkIStjcTp0NkY1JCIrb19FU19GNTckJCErMGEpND4iRjUkIitCJm8sSSZGNUZhW1xtNyc3JCQhK0BCekE2RjUkIisoKTRoRV9GNTckJCErI3p3P3gpRlYkIis4ISpRdF9GNTckJCErLzFKWCMqRlYkIiskPmpEQiZGNTckJCErc2NEaSQqRlYkIitgJGZSSCZGNUZmXFxtNyc3JCQhK1VrKUd1KUZWJCIrZ0xvT19GNTckJCErZU42ZGlGViQiK1NtSmpfRjU3JCQhK3R2K2luRlYkIisvI3lrQSZGNTckJCErdzJmR29GViQiK0ZEaSlHJkY1RlteXG03JzckJCErc15lW2lGViQiK2NWMFdfRjU3JCQhK0dbVF5QRlYkIitXYyVmRCZGNTckJCErZVI/eFVGViQiK3ZrOkFfRjU3JCQhK3dAJHBJJUZWJCIrTWRlJUcmRjVGYF9cbTcnNyQkIStLOSIqXFBGViQiKzU/XltfRjU3JCQhK28mKTNdN0ZWJCIrISp6W15fRjU3JCQhKz9oZih5IkZWJCIrJyllZj5fRjU3JCQhK3BnLiZ6IkZWJCIrZDk0I0cmRjVGZWBcbTcnNyRGZmFsJCIrKysrXV9GNTckRmhhbEZmYVxtNyRGamFsJCIrKyt2PV9GNTckRmphbCQiKysrRCJHJkY1RmhhXG03JzckJCIrbyYpM103RlZGY2BcbTckJCIrSzkiKlxQRlZGaGBcbTckJCIrISlRUzdLRlZGXWFcbTckJCIrSlInXD8kRlZGYmFcbUZjYlxtNyc3JCQiK0dbVF5QRlZGXl9cbTckJCIrc15lW2lGVkZjX1xtNyQkIitVZ3pBZEZWRmhfXG03JCQiK0N5MSRwJkZWRl1gXG1GYGNcbTcnNyQkIitlTjZkaUZWRmldXG03JCQiK1VrKUd1KUZWRl5eXG03JCQiK0ZDKnpCKUZWRmNeXG03JCQiK0MjNDk8KUZWRmheXG1GXWRcbTcnNyQkIisjenc/eClGVkZkXFxtNyQkIitAQnpBNkY1RmlcXG03JCQiK1Mqb2EyIkY1Rl5dXG03JCQiK0xXeGo1RjVGY11cbUZqZFxtNyc3JCQiKyFcJD5JNkY1Rl9bXG03JCQiKzVsISlwOEY1RmRbXG03JCQiK1dIJW9LIkY1RmlbXG03JCQiKyZmOSE0OEY1Rl5cXG1GZ2VcbTcnNyQkIitybzUmUSJGNUZqaVttNyQkIitISipbaCJGNUZfalttNyQkIitCSFh4OkY1RmRqW203JCQiK25IJEdiIkY1RmlqW21GZGZcbTcnNyQkIitQdy1VO0Y1RmVoW203JCQiK2pCKHomPUY1RmpoW203JCQiK0dcJ3AjPUY1Rl9pW203JCQiKyopSFomeiJGNUZkaVttRmFnXG03JzckJCIrTjVkKz5GNUZgZ1ttNyQkIitsKkclKjQjRjVGZWdbbTckJCIrNlFKdj9GNUZqZ1ttNyQkIis1aFZQP0Y1Rl9oW21GXmhcbTcnNyQkIitqJT4rOyNGNUZbZlttNyQkIitQMCkqUkJGNUZgZlttNyQkIitlJjRGSyNGNUZlZlttNyQkIismM0UkekFGNUZqZlttRltpXG03JzckJCIrKik0Zz5DRjVGZmRbbTckJCIrNiEqUiFlI0Y1RltlW203JCQiKyZcOCZwREY1RmBlW203JCQiK1RwbEBERjVGZWVbbUZoaVxtNyc3JCQiK0drcnlFRjVGYWNbbTckJCIrc05HQEdGNUZmY1ttNyQkIitfdTM7R0Y1RltkW203JCQiKzNqdWtGRjVGYGRbbUZlalxtNyc3JCQiK0FoLFBIRjVGXGJbbTckJCIreVEpSDEkRjVGYWJbbTckJCIrXFRxaUlGNUZmYlttNyQkIitvenIzSUY1RltjW21GYltdbTcnNyQkISteNz1sSUY1JCIrcihSTFImRjU3JCQhK1woPVskSEY1JCIrSC1tMWNGNTckJCErLCF5aiRIRjUkIisjb3pUYSZGNTckJCErOyIzKCopSEY1JCIrMy54d2JGNUZhXF1tNyc3JCQhK2k5X0JHRjUkIishKnohKilSJkY1NyQkIStRJnlrbiNGNSQiKzU/NCxjRjU3JCQhK2k3LyRvI0Y1JCIrP3YkKlFiRjU3JCQhK29zZUxGRjUkIiteIylwdmJGNUZmXV1tNyc3JCQhKyhbeURlI0Y1JCIrNTM7MWFGNTckJCErODpVPENGNSQiKyE+UlFmJkY1NyQkIStcIz4oSENGNSQiKzI1Y0tiRjU3JCQhK1cpUW1aI0Y1JCIrXi0mUWQmRjVGW19dbTcnNyQkIStXMCg+TSNGNSQiKyZIWGBUJkY1NyQkIStjJUghZUBGNSQiKzBabCVlJkY1NyQkISskPiFwd0BGNSQiKzJiK0RiRjU3JCQhK1l2LD5BRjUkIit5Mio0ZCZGNUZgYF1tNyc3JCQhKzY/NCxARjUkIitRJnlrVSZGNTckJCErKil6ISopKj1GNSQiK2k5X3RiRjU3JCQhK1s8SUM+RjUkIitLRlQ7YkY1NyQkISt6QzFoPkY1JCIrUShlcGMmRjVGZWFdbTcnNyQkIStwNUBmPUY1JCIrIkgqPVJhRjU3JCQhK0oqKXlTO0Y1JCIrNDIiM2MmRjU3JCQhK01nKEduIkY1JCIrS2g8MmJGNTckJCErKVEiRy48RjUkIituO3loYkY1RmpiXW03JzckJCErcUxwOjtGNSQiKyUqM25fYUY1NyQkIStJbUklUSJGNSQiKzEiSHRhJkY1NyQkIStfNWRBOUY1JCIrZzsielwmRjU3JCQhKzBjQlk5RjUkIitXJGVkYiZGNUZfZF1tNyc3JCQhKz8+Q3E4RjUkIitrLiVlWSZGNTckJCErITNlKEg2RjUkIitPJ2ZUYCZGNTckJCErXFdHdDZGNSQiKyt3SSpbJkY1NyQkIStvVU8hPiJGNSQiK2cmRyVcYkY1RmRlXW03JzckJCErUlApSDciRjUkIis/JFJ3WiZGNTckJCErN0U7cSgpRlYkIishb2dCXyZGNTckJCErQmh6WSMqRlYkIisoR0s+WyZGNTckJCErQSYqZmUkKkZWJCIrY1RVVmJGNUZpZl1tNyc3JCQhK0FOXlYoKUZWJCIrW0FHKFsmRjU3JCQhK3lrW2NpRlYkIitfeHI3YkY1NyQkIStbI1xKdydGViQiK21IN3dhRjU3JCQhKzMhUW4jb0ZWJCIrVScpSFFiRjVGXmhdbTcnNyQkISt2MXJbaUZWJCIrVVNLJVwmRjU3JCQhK0QkKkdeUEZWJCIrZWZuMGJGNTckJCErOXEheUYlRlYkIitILytzYUY1NyQkISstbz0xVkZWJCIramZWTWJGNUZjaV1tNyc3JCQhKyskPipcUEZWJCIrUCd6JilcJkY1NyQkISsrMjNdN0ZWJCIrai5VLGJGNTckJCErRTJ3KHkiRlYkIitYdGJwYUY1NyQkIStTRCdbeiJGViQiKzVMMEtiRjVGaGpdbTcnNyRGZmFsJCIrKysrK2JGNTckRmhhbEZpW15tNyRGamFsJCIrKyt2b2FGNTckRmphbCQiKysrREpiRjVGW1xebTcnNyQkIisrMjNdN0ZWRmZqXW03JCQiKyskPipcUEZWRltbXm03JCQiK3UjUkFAJEZWRmBbXm03JCQiK2d1ODBLRlZGZVtebUZmXF5tNyc3JCQiK0QkKkdeUEZWRmFpXW03JCQiK3YxcltpRlZGZmldbTckJCIrJylIPkFkRlZGW2pdbTckJCIrKT44UXAmRlZGYGpdbUZjXV5tNyc3JCQiK3lrW2NpRlZGXGhdbTckJCIrQU5eVigpRlZGYWhdbTckJCIrXzImb0IpRlZGZmhdbTckJCIrIyo+RXQiKUZWRltpXW1GYF5ebTcnNyQkIis3RTtxKClGVkZnZl1tNyQkIitSUClINyJGNUZcZ11tNyQkIispUT9gMiJGNUZhZ11tNyQkIitbKzlrNUY1RmZnXW1GXV9ebTcnNyQkIishM2UoSDZGNUZiZV1tNyQkIis/PkNxOEY1RmdlXW03JCQiK15ickU4RjVGXGZdbTckJCIrS2RqNDhGNUZhZl1tRmpfXm03JzckJCIrSW1JJVEiRjVGXWRdbTckJCIrcUxwOjtGNUZiZF1tNyQkIitbKkd1ZCJGNUZnZF1tNyQkIismUmtQYiJGNUZcZV1tRmdgXm03JzckJCIrSiopeVM7RjVGaGJdbTckJCIrcDVAZj1GNUZdY11tNyQkIittUjdGPUY1RmJjXW03JCQiKzcnPW56IkY1RmdjXW1GZGFebTcnNyQkIisqKXohKikqPUY1RmNhXW03JCQiKzY/NCxARjVGaGFdbTckJCIrXyMpcHY/RjVGXWJdbTckJCIrQHYkKlE/RjVGYmJdbUZhYl5tNyc3JCQiK2MlSCFlQEY1Rl5gXW03JCQiK1cwKD5NI0Y1RmNgXW03JCQiKzIpNExLI0Y1RmhgXW03JCQiK2FDKTRHI0Y1Rl1hXW1GXmNebTcnNyQkIis4OlU8Q0Y1RmleXW03JCQiKyhbeURlI0Y1Rl5fXW03JCQiK14yR3FERjVGY19dbTckJCIrYzZPQkRGNUZoX11tRltkXm03JzckJCIrUSZ5a24jRjVGZF1dbTckJCIraTlfQkdGNUZpXV1tNyQkIitRKGVwIkdGNUZeXl1tNyQkIitLRlRtRkY1RmNeXW1GaGRebTcnNyQkIitcKD1bJEhGNUZfXF1tNyQkIiteNz1sSUY1RmRcXW03JCQiKyoqPmlqSUY1RmlcXW03JCQiKyUpPUg1SUY1Rl5dXW1GZWVebTcnNyQkIStnJylIbklGNSQiK29IbVdjRjU3JCQhK1M4cUtIRjUkIitLcUxiZUY1NyQkIStjIzNiJEhGNSQiKyU0K0h6JkY1NyQkISt0bjwpKUhGNSQiK0MlXGwjZUY1RmRmXm03JzckJCErZWlsREdGNSQiK3ViXF1jRjU3JCQhK1VQTXVFRjUkIitFV11cZUY1NyQkIStjeEEjbyNGNSQiKyJvLnZ5JkY1NyQkIStwKno+dCNGNSQiKzU9TERlRjVGaWdebTcnNyQkISttP2olZSNGNSQiK0MnMyFlY0Y1NyQkIStNek86Q0Y1JCIrdzgqPiVlRjU3JCQhK11vLEhDRjUkIitEKioqNHkmRjU3JCQhK1FELHZDRjUkIitlZkpCZUY1Rl5pXm03JzckJCErZCo9UU0jRjUkIitGJilSbmNGNTckJCErVjU9Y0BGNSQiK3Q5Z0tlRjU3JCQhK3ZhOndARjUkIitaI3pMeCZGNTckJCErNmlYPEFGNSQiK0QoKUc/ZUY1RmNqXm03JzckJCErXUpoLUBGNSQiK1JwaHljRjU3JCQhK11vUSgqPUY1JCIraElRQGVGNTckJCErIylRKFIjPkY1JCIrLCsjW3cmRjU3JCQhKzhhbWY+RjUkIit3bDc7ZUY1RmhbX203JzckJCErJ0hGLic9RjUkIitCKFE3cCZGNTckJCErL0ZuUjtGNSQiK3g3dzNlRjU3JCQhKzBidnM7RjUkIit0XXRiZEY1NyQkIStXaDgtPEY1JCIrQSgpKjMiZUY1Rl1dX203JzckJCErWmBTOztGNSQiKyIzXVdxJkY1NyQkIStgWWYkUSJGNSQiKz4qXGJ6JkY1NyQkIStuQGhBOUY1JCIrKilbc1lkRjU3JCQhK0ZyUVg5RjUkIitqdiNcIWVGNUZiXl9tNyc3JCQhKyVvRDFQIkY1JCIrI0dAc3ImRjU3JCQhKztWUEg2RjUkIis9KHlGeSZGNTckJCErITQ3TTwiRjUkIisncEclUWRGNTckJCErXDkhKSo9IkY1JCIrUTp1KXomRjVGZ19fbTcnNyQkIStwOTpCNkY1JCIrYEJlR2RGNTckJCErMmBbbygpRlYkIitad1RyZEY1NyQkISslcC0jWyMqRlYkIituY05KZEY1NyQkIStINEhiJCpGViQiKyw5JEh6JkY1RlxhX203JzckJCErdzgxVygpRlYkIitNKUh5dCZGNTckJCErQydRZkQnRlYkIittLDxpZEY1NyQkISspZTJVdydGViQiKyZ6KXpEZEY1NyQkISs7JWVdI29GViQiK2s9Kyl5JkY1RmFiX203JzckJCErKT4/KVtpRlYkIitaLmRXZEY1NyQkISstKXo2diRGViQiK2AnSGF2JkY1NyQkISt5MU95VUZWJCIrUiFlPXMmRjU3JCQhK1YqM2JJJUZWJCIrXCEqSCV5JkY1RmZjX203JzckJCEra2gjKlxQRlYkIismUVQnW2RGNTckJCErT1EyXTdGViQiKzonZTh2JkY1NyQkISsuNyJ6eSJGViQiK2pAXz5kRjU3JCQhKyFHL1p6IkZWJCIrciU9P3kmRjVGW2VfbTcnNyRGZmFsJCIrKysrXWRGNTckRmhhbEZcZl9tNyRGamFsJCIrKyt2PWRGNTckRmphbCQiKysrRCJ5JkY1Rl5mX203JzckJCIrT1EyXTdGVkZpZF9tNyQkIitraCMqXFBGVkZeZV9tNyQkIisoeikzN0tGVkZjZV9tNyQkIis/ZEgwS0ZWRmhlX21GaWZfbTcnNyQkIistKXo2diRGVkZkY19tNyQkIispPj8pW2lGVkZpY19tNyQkIitBJFI7cyZGVkZeZF9tNyQkIitkNVwlcCZGVkZjZF9tRmZnX203JzckJCIrQydRZkQnRlZGX2JfbTckJCIrdzgxVygpRlZGZGJfbTckJCIrN0N6TiMpRlZGaWJfbTckJCIrJWVUXDwpRlZGXmNfbUZjaF9tNyc3JCQiKzJgW28oKUZWRmpgX203JCQiK3A5OkI2RjVGX2FfbTckJCIrSSh6XjIiRjVGZGFfbTckJCIrMjRaazVGNUZpYV9tRmBpX203JzckJCIrO1ZQSDZGNUZlX19tNyQkIislb0QxUCJGNUZqX19tNyQkIis1emVFOEY1Rl9gX203JCQiK14mKT41OEY1RmRgX21GXWpfbTcnNyQkIitgWWYkUSJGNUZgXl9tNyQkIitaYFM7O0Y1RmVeX203JCQiK0x5UXg6RjVGal5fbTckJCIrdEdoYTpGNUZfX19tRmpqX203JzckJCIrL0ZuUjtGNUZbXV9tNyQkIisnSEYuJz1GNUZgXV9tNyQkIismXFdzIz1GNUZlXV9tNyQkIitjUSd5eiJGNUZqXV9tRmdbYG03JzckJCIrXW9RKCo9RjVGZltfbTckJCIrXUpoLUBGNUZbXF9tNyQkIis9aC13P0Y1RmBcX203JCQiKyhlTS4vI0Y1RmVcX21GZFxgbTcnNyQkIitWNT1jQEY1RmFqXm03JCQiK2QqPVFNI0Y1RmZqXm03JCQiK0RYJVFLI0Y1RltbX203JCQiKyp5VkRHI0Y1RmBbX21GYV1gbTcnNyQkIitNek86Q0Y1RlxpXm03JCQiK20/aiVlI0Y1RmFpXm03JCQiK11KKTRkI0Y1RmZpXm03JCQiK2l1KVxfI0Y1RltqXm1GXl5gbTcnNyQkIitVUE11RUY1RmdnXm03JCQiK2VpbERHRjVGXGhebTckJCIrV0F4PEdGNUZhaF5tNyQkIitKKy1vRkY1RmZoXm1GW19gbTcnNyQkIitTOHFLSEY1RmJmXm03JCQiK2cnKUhuSUY1RmdmXm03JCQiK1c8XGtJRjVGXGdebTckJCIrRksjPSwkRjVGYWdebUZoX2BtNyc3JCQhK0N2THBJRjUkIis4UCpmKmVGNTckJCErd0NtSUhGNSQiKyhHMVM1J0Y1NyQkIStMXG9NSEY1JCIramVqVGdGNTckJCEreCEpbycpSEY1JCIrRFlJd2dGNUZnYGBtNyc3JCQhK3A5cEZHRjUkIit5ajItZkY1NyQkIStKJjNCbiNGNSQiK0FPI3o0J0Y1NyQkISs9IXA5byNGNSQiKyRlKTRPZ0Y1NyQkIStIM1ZJRkY1JCIrPFYlXDInRjVGXGJgbTcnNyQkISt5a2MnZSNGNSQiKyZlRSk0ZkY1NyQkIStBTlY4Q0Y1JCIrOk08ITQnRjU3JCQhK2BYUEdDRjUkIitoYltIZ0Y1NyQkIStnN1l0Q0Y1JCIrKylvRjInRjVGYWNgbTcnNyQkIStOa2BYQkY1JCIrTDZSPmZGNTckJCErbE5ZYUBGNSQiK24pMzEzJ0Y1NyQkIStRKXpjPCNGNSQiKyY0Pz0tJ0Y1NyQkIStzVSlmQCNGNSQiKzckKWVwZ0Y1RmZkYG03JzckJCErKEcxUzUjRjUkIit2Q21JZkY1NyQkISs4UCpmKj1GNSQiK0R2THBnRjU3JCQhK3ZgcEI+RjUkIitDPko4Z0Y1NyQkIStQVE9lPkY1JCIrb11KbGdGNUZbZmBtNyc3JCQhK15jTGg9RjUkIitHQzxWZkY1NyQkIStcVm1RO0Y1JCIrc3YjbzAnRjU3JCQhKzJzbXM7RjUkIisqZidRL2dGNTckJCErJCo0Myw8RjUkIitDVzBnZ0Y1RmBnYG03JzckJCErWjYvPDtGNSQiK3EmNGgmZkY1NyQkIStgKWVIUSJGNSQiK0kvKlEvJ0Y1NyQkIStcbG1BOUY1JCIrSF1pJipmRjU3JCQhK2s8aFc5RjUkIisuYzlhZ0Y1RmVoYG03JzckJCErSGInNFAiRjUkIitnJilcb2ZGNTckJCErclcuSDZGNSQiK1M5XUpnRjU3JCQhK0EoUU48IkY1JCIrTSY+dylmRjU3JCQhK1UlKkcqPSJGNSQiKypILSJbZ0Y1RmppYG03JzckJCErUyMqSEI2RjUkIitGLFh6ZkY1NyQkISsmZjJxdylGViQiK3QpXDAtJ0Y1NyQkISslR00mXCMqRlYkIisybiMzKWZGNTckJCErXk9HXyQqRlYkIitGalpVZ0Y1Rl9bYW03JzckJCErJHlVWHUpRlYkIis2Q0wpKWZGNTckJCErPHNYYmlGViQiKyplbjssJ0Y1NyQkISt6NT5sbkZWJCIrMD1ddmZGNTckJCErQSFITiNvRlYkIitYKkd4LidGNUZkXGFtNyc3JCQhK1RqIipbaUZWJCIrIz0neiUqZkY1NyQkIStmTzNeUEZWJCIrPVE/MGdGNTckJCErYDIoKXlVRlYkIishZkY8KGZGNTckJCErVykqKVtJJUZWJCIrMk08TWdGNUZpXWFtNyc3JCQhKyo9SypcUEZWJCIrKCl6cCkqZkY1NyQkISs2eTFdN0ZWJCIrOD9JLGdGNTckJCErJUhcISl5IkZWJCIrPyoqW3BmRjU3JCQhK2QkZlh6IkZWJCIrSWwpPi4nRjVGXl9hbTcnNyRGZmFsJCIrKysrK2dGNTckRmhhbEZfYGFtNyRGamFsJCIrKyt2b2ZGNTckRmphbCQiKysrREpnRjVGYWBhbTcnNyQkIis2eTFdN0ZWRlxfYW03JCQiKyo9SypcUEZWRmFfYW03JCQiKzEyJj5AJEZWRmZfYW03JCQiK1YxVzBLRlZGW2BhbUZcYWFtNyc3JCQiK2ZPM15QRlZGZ11hbTckJCIrVGoiKltpRlZGXF5hbTckJCIrWiNINnMmRlZGYV5hbTckJCIrYyw2JnAmRlZGZl5hbUZpYWFtNyc3JCQiKzxzWGJpRlZGYlxhbTckJCIrJHlVWHUpRlZGZ1xhbTckJCIrQCozW0IpRlZGXF1hbTckJCIreTRadyIpRlZGYV1hbUZmYmFtNyc3JCQiKyZmMnF3KUZWRl1bYW03JCQiK1MjKkhCNkY1RmJbYW03JCQiK3JsL3Y1RjVGZ1thbTckJCIrTTt4azVGNUZcXGFtRmNjYW03JzckJCIrclcuSDZGNUZoaWBtNyQkIitIYic0UCJGNUZdamBtNyQkIit5N1lFOEY1RmJqYG03JCQiK2UwcjU4RjVGZ2pgbUZgZGFtNyc3JEZmZnNGY2hgbTckRltnc0ZoaGBtNyRGZWdzRl1pYG03JEZgZ3NGYmlgbUZbZWFtNyc3JCQiK1xWbVE7RjVGXmdgbTckJCIrXmNMaD1GNUZjZ2BtNyQkIiskekt0Iz1GNUZoZ2BtNyQkIisyIT4qKXoiRjVGXWhgbUZiZWFtNyc3JCQiKzhQKmYqPUY1RmllYG03JCQiKyhHMVM1I0Y1Rl5mYG03JCQiK0RZSXc/RjVGY2ZgbTckJCIramVqVD9GNUZoZmBtRl9mYW03JzckJCIrbE5ZYUBGNUZkZGBtNyQkIitOa2BYQkY1RmlkYG03JCQiK2ksS0NCRjVGXmVgbTckJCIrR2QsJUcjRjVGY2VgbUZcZ2FtNyc3JCQiK0FOVjhDRjVGX2NgbTckJCIreWtjJ2UjRjVGZGNgbTckJCIrWmFpckRGNUZpY2BtNyQkIitTKFFsXyNGNUZeZGBtRmlnYW03JzckJCIrSiYzQm4jRjVGamFgbTckJCIrcDlwRkdGNUZfYmBtNyQkIisjKTRgPUdGNUZkYmBtNyQkIityInAmcEZGNUZpYmBtRmZoYW03JzckJCIrd0NtSUhGNUZlYGBtNyQkIitDdkxwSUY1RmpgYG03JCQiK25dSmxJRjVGX2FgbTckJCIrQj5KOElGNUZkYWBtRmNpYW0tJSZDT0xPUkc2JiUkUkdCRyRGLCEiIkZgamFtJCIjNUZhamFtLUYmNiU3WjckJCEzOSsrK3Z6WiIpRyEjPCQiM1N0J1Ijb3MsVEEhIz03JCQhMzUrKys0NVJ4R0ZqamFtJCIzQnc1PjEmM11WJEZdW2JtNyQkITMrKysrVVNJdEdGamphbSQiMygqKWVHJm9eIXlJJUZdW2JtNyQkITMhKioqKioqXDI8I3BHRmpqYW0kIjMyKlJldSU+XUhdRl1bYm03JCQhMyYqKioqKipccG8yJUdGamphbSQiM09iSygzMXZmWSlGXVtibTckJCEzJCoqKioqKlJKP0IiR0ZqamFtJCIzY0FNc0ZmRSMzIkZqamFtNyQkITMjKioqKioqSCQ+KFF5I0ZqamFtJCIzIzQ3bnN2QDpGIkZqamFtNyQkITMhKSoqKioqNGJCYXYjRmpqYW0kIjNdSik9TVEySFYiRmpqYW03JCQhMycqKioqKio+PlA5cCNGamphbSQiMyZHNTA5KXp2SzxGamphbTckJCEzMisrK0szWEZFRmpqYW0kIjM9Zi4nZiNbd3c+RmpqYW03JCQhMz8rKytJLi9qREZqamFtJCIzKSlvJilSKjRXXz0jRmpqYW03JCQhMykpKioqKip6IylIJylcI0ZqamFtJCIzRSsmNEtBRmxPI0ZqamFtNyQkITMhKioqKioqZjNAL1AjRmpqYW0kIjMncEtGRCxSJW9FRmpqYW03JCQhMzkrKytyXmJeQUZqamFtJCIzKWZnMUh4TW0qR0ZqamFtNyQkITMiKioqKioqNFN3JUdARmpqYW0kIjNPJ3lxem1xUDQkRmpqYW03JCQhMygqKioqKio0Oyk9LD9GamphbSQiM1FqdkFTKkhYRSRGamphbTckJCEzLSsrK08iM1YoPUZqamFtJCIzXz8+QnFPUjJNRmpqYW03JCQhMyMqKioqKipcVid6VjxGamphbSQiM1Q2PVEqKUhkSU5GamphbTckJCEzLisrK2U7JSlHO0ZqamFtJCIzRWZyUi1ULEFPRmpqYW03JCQhMyEqKioqKipcISlIJSpcIkZqamFtJCIzPEMveHldVzNQRmpqYW03JCQhMy8rKyt2bFtwOEZqamFtJCIzJT5iOXVDMSp6UEZqamFtNyQkITMiKioqKioqXD5pVUMiRmpqYW0kIjM/MyhRUkc4aCRRRmpqYW03JCQhMysrKytoa2FJNkZqamFtJCIzI2UoZWpaW3J4UUZqamFtNyQkITNzKioqKioqXFhGYCoqRl1bYm0kIjMuVzMpW2JucCJSRmpqYW03JCQhM3UqKioqKioqPiN6MikpRl1bYm0kIjMxIW9Dcl9bRSVSRmpqYW03JCQhMz0rKys1Ukt2dUZdW2JtJCIzVUBlLDlvLmxSRmpqYW03JCQhM10qKioqKioqcGplSCdGXVtibSQiM29NOjxBJVwielJGamphbTckJCEzaCoqKioqKjQqMz0rJkZdW2JtJCIzI3o/bV5SZSYqKVJGamphbTckJCEzISkqKioqKipSRmNwUEZdW2JtJCIzSTZTd1NRYCYqUkZqamFtNyQkITMnKioqKioqKj5KJVFbI0ZdW2JtJCIzRzJPMyZ6QSgpKlJGamphbTckJCEzNCsrK2c2Oi44Rl1bYm0kIjMjKUcuI3lkOikqKlJGamphbTckJCEzNSsrKyshUTonSCEjPyQiM2VNYSR5KioqKioqKlJGamphbTckJCIzKysrKyFSSUtIIkZdW2JtJCIzYiZwISlSQiE9K1NGamphbTckJCIzLysrKzU6eFdDRl1bYm0kIjNTMSplZVw8NyslRmpqYW03JCQiMy0rKyshW24lKW8kRl1bYm0kIjNKPHVmXyZ6VCslRmpqYW03JCQiMzcrKysrckt0XEZdW2JtJCIzWi01TFp4QjVTRmpqYW03JCQiM3UqKioqKip6OkpJaUZdW2JtJCIzXjR0cnJHNT9TRmpqYW03JCQiMyUqKioqKioqKm8zbFcoRl1bYm0kIjNdbVpoUkVFTVNGamphbTckJCIzISkqKioqKio+Iykpb3opRl1bYm0kIjNPd0JjVUNMY1NGamphbTckJCIzLSsrK0lrLSw1RmpqYW0kIjNFM0sseVh0IzMlRmpqYW03JCQiMzYrKytELWVJNkZqamFtJCIzSzlDTjtsbT1URmpqYW03JCQiMykqKioqKioqPV8oekMiRmpqYW0kIjM3RmpIeHkiKWVURmpqYW03JCQiMyEqKioqKipcJio9alAiRmpqYW0kIjNiNmZmQyNlO0AlRmpqYW03JCQiMzErKys0LzMoXCJGamphbSQiMyMpNGNtIylvWXFVRmpqYW03JCQiMzUrKytDNEpCO0ZqamFtJCIzIUhnKXBMPyc9TSVGamphbTckJCIzKSoqKioqKlxLQ251IkZqamFtJCIzWWVjMXBdJz1VJUZqamFtNyQkIjMnKioqKioqKj1uI2YoPUZqamFtJCIzbSg9ITMuQXY7WEZqamFtNyQkIjMkKioqKioqKnpSTys/RmpqYW0kIjNab1AwO3U2PllGamphbTckJCIzLCsrK18hPnc3I0ZqamFtJCIzIj1dYHNnaV10JUZqamFtNyQkIjMjKioqKioqKilRP1FEI0ZqamFtJCIzeWBicidvRTgnW0ZqamFtNyQkIjMlKSoqKioqKjRqeXBCRmpqYW0kIjNHMWsjeiJRQCgpXEZqamFtNyQkIjM4KysrVWpwLURGamphbSQiM2omPkpsJWYqSDkmRmpqYW03JCQiMysrKytnRWRARUZqamFtJCIzdWA2K0M9ZSNIJkZqamFtNyQkIjM7KysrNCc+JFtGRmpqYW0kIjNpP0Iob0tERFkmRmpqYW03JCQiMzUrKys2RWpwR0ZqamFtJCIzeWApPXJYZV1qJkZqamFtNyQkIiIkRiwkIjMnKSpIWFsqPSY0JGVGamphbS0lKlRISUNLTkVTU0c2IyIiIy1GXWphbTYmRl9qYW0kIjFfTW1YJSllcWshIzskIjJ3bW9WKCllcWsiRmpqYW1GW11jbS0lK0FYRVNMQUJFTFNHNidRIng2IlEleSh4KUZhXWNtLSUlRk9OVEc2JCUqSEVMVkVUSUNBR0ZjamFtJStIT1JJWk9OVEFMR0ZnXWNtLSUqR1JJRFNUWUxFRzYjJSxSRUNUQU5HVUxBUkctJSpMSU5FU1RZTEVHNiNGLEZjXWNtLSUsT1JJRU5UQVRJT05HNiQkIiNYRixGYl5jbS0lK1BST0pFQ1RJT05HNiNGYmphbS1GXWphbTYjJSVOT05FRy0lJVZJRVdHNiQ7JCEkQyQhIiMkIiRDJEZgX2NtOyQhMisrKysrKytTI0ZqamFtJCIkQydGYF9jbQ==</Plot></Text-field></Output></Group><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">Now we find a continuous solution in the form of a numerical procedure <Font executable="false" italic="false" style="Grey Emphasis" underline="false">gn</Font> using the procedure <Font executable="false" italic="false" size="12" style="Maple Input" underline="false">desolveRK</Font> in the default mode.</Text-field><Text-field layout="Normal" style="Normal">The continuous solution is defined on the interval from <Equation input-equation="x = -24^(1/3);" style="2D Comment">NiMvJSJ4RywkKSIjQyomIiIiRikiIiQhIiJGKw==</Equation> to <Equation input-equation="x = 3;" style="2D Comment">NiMvJSJ4RyIiJA==</Equation>.  </Text-field><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">de := diff(y(x),x)=x^2/y(x);
ic := y(0)=4;
gn := desolveRK({de,ic},y(x),x=-(24)^(1/3)..3);
plot([g(x),'gn'(x)],x=-(24)^(1/3)..3,thickness=[1,2],color=[red,green]);</Font></Text-field></Input><Output><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiM+JSNkZUcvLSUlZGlmZkc2JC0lInlHNiMlInhHRiwqJkYsIiIjRikhIiI=</Equation></Text-field><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiM+JSNpY0cvLSUieUc2IyIiISIiJQ==</Equation></Text-field><Text-field layout="Maple Plot" style="Maple Plot"><Plot height="300" type="two-dimensional" width="400">LSUlUExPVEc2LC0lJ0NVUlZFU0c2JTdZNyQkITM5Kyt4TyIqXCUpRyEjPCQiM1AwPXdMS1ZIRCEjQDckJCEzL10lPSpwZllvR0YsJCIzVV5ucyc9WTQ6JiEjPTckJCEzXSoqbzEuR1ZfR0YsJCIzUVw0K3VWRWtzRjU3JCQhM1NcYEBPJypST0dGLCQiM0dhJFsvTms/KCkpRjU3JCQhM0oqemokcGtPP0dGLCQiMy8wXEA5aGZANUYsNyQkITM3KnBnYzgrJCl5I0YsJCIzeTVLIVs/Jj5XN0YsNyQkITMlKilmZD4hUUJjRkYsJCIzMGchKlwmXDEnRzlGLDckJCEzKEcoSCc0SksvcSNGLCQiMyczMEkpKSl5ZyVwIkYsNyQkITNFWiRvKj4zaldFRiwkIjNRJDM+Jkc9VTo+Riw3JCQhM0M+KkhYZkAiPkRGLCQiM0xsRSI9bSFRNkJGLDckJCEza3NVWjcveSNSI0YsJCIzRz04JW8iM1s/RUYsNyQkITNtV0krMyhScUUjRiwkIjNddytSKj49I3BHRiw3JCQhMzdsdy16PlldQEYsJCIzTSkqW0M8I3A1MSRGLDckJCEzS18jPkpcXyhIP0YsJCIzbWhoPk4wekdLRiw3JCQhM1luZzZxWCJcIT5GLCQiM3FxJFsnKSl5O3ZMRiw3JCQhMy8pPjpSK3gveSJGLCQiM193Jj4lUUU7KVwkRiw3JCQhM1dfa3Zyd1pfO0YsJCIzI3BuQkJaMFdnJEYsNyQkITM2UyY+LnpOKFI6RiwkIjM1IlJFbiMzRSRvJEYsNyQkITMscU5tTV4iR1QiRiwkIjNnQz0kbydbbGRQRiw3JCQhM3UhPiwxTHRgRyJGLCQiMzokUkckPSlHKj1RRiw3JCQhMzNWXSp6YGZEOyJGLCQiM3drLlBnaCVvJ1FGLDckJCEzITMxUCZbRy5eNUYsJCIzUCYpXHhTcC8tUkYsNyQkITNPazt6dyNvVD0qRjUkIjNoeHAob0I5XCRSRiw3JCQhMy9mVlNGbXRnISlGNSQiM1snMy1sUjhoJlJGLDckJCEzUzAlNG9hPVJ2J0Y1JCIzbVsmSCYzTkN1UkYsNyQkITNtbjFvOEo7KGYmRjUkIjN1PUgqW3hnYClSRiw3JCQhM2EmKVttbiE+IUdWRjUkIjMpZVpOeExRSypSRiw3JCQhM3JuXVY0UVw+SkY1JCIzLV0nR3NbcHUqUkYsNyQkITMlXDwoNCZbQyZlPUY1JCIzLyZ6I1EsXVkqKlJGLDckJCEzKj1wUEw4NWMrKCEjPiQiMykzI1t5WjgoKioqUkYsNyQkIjN1QVAlUkUhZiVbJkZqdCQiM196KFwkW1AsK1NGLDckJCIzI3l6JSlwIilSZSU9RjUkIjN1SCxgXFNfK1NGLDckJCIzVVAneSE0T0B2SEY1JCIzWlZCUCkzJT4tU0YsNyQkIjNtYmd1VyNvXD4lRjUkIjMxIT1lSjZaaCslRiw3JCQiM1d2dVlPVDRiYUY1JCIzSl5GKCpcXF04U0YsNyQkIjNBInldKXk5KXlvJ0Y1JCIzdHlKIltqXVstJUYsNyQkIjNvYDJOQG1tISl5RjUkIjNoMVRjSil6MC8lRiw3JCQiMzJQdHpkNjAwIypGNSQiMy82JSlRS3paa1NGLDckJCIzUVh3Im8mcF1SNUYsJCIzJUhYPSdvXWAjNCVGLDckJCIzdykqKmZEI29jbTZGLCQiM2owcWMnKXo8SVRGLDckJCIzJyoqekpkJT5xIkciRiwkIjMvTUtgKFtzPDwlRiw3JCQiMyQqKXlIbC92dlMiRiwkIjNOejRGMkwsRVVGLDckJCIzSW8wJ1sjPSxFOkYsJCIzeSNHdW8+PWZHJUYsNyQkIjMvNEZBJVE3KVw7RiwkIjMhKUhaSipceiJlVkYsNyQkIjM/WzdvZismM3giRiwkIjMrS1hXJlw1KFFXRiw3JCQiM2UmUilwKUdsdio9RiwkIjNPbSpcJEdXeExYRiw3JCQiM089VHE5cmc+P0YsJCIzaDJQJT5yPGZqJUYsNyQkIjNybWtvM0RUV0BGLCQiMykqXEtvLW9AXlpGLDckJCIzP2RQKjRYJT1vQUYsJCIzI3ppLVdaM2soW0YsNyQkIjMjNF08Oiw9PlEjRiwkIjNURSRwJDRnIzQrJkYsNyQkIjNJTE1xMSZwQV4jRiwkIjNPTiEpb2lob2FeRiw3JCQiMyFlPUh6VmQpR0VGLCQiMyVHJTRyViNmP0kmRiw3JCQiM2chMzwnKltrSnYjRiwkIjMvTFYjUUNLI3BhRiw3JCQiM2slei8kKj5VQChHRiwkIjNDeEMnbyZ5c1FjRiw3JCQiMz8rKysoKioqKioqKkhGLCQiM15RW0AhKj0mNCRlRiwtJSpUSElDS05FU1NHNiMiIiItJSZDT0xPUkc2JiUkUkdCRyQiIzUhIiIkIiIhRmRdbEZlXWwtRiY2JTdZNyQkIStQIipcJSlHISIqJCIrbERGMyMqISM4NyQkIStwZllvR0ZdXmwkIityaiU0OiYhIzU3JCQhKy1HVl9HRl1ebCQiKz5YRWtzRmZebDckJCErTicqUk9HRl1ebCQiKyFbaz8oKSlGZl5sNyQkIStwa08/R0ZdXmwkIis+aGZANUZdXmw3JCQhK04sSSl5I0ZdXmwkIis1Xz5XN0ZdXmw3JCQhKy1RQmNGRl1ebCQiKydcMSdHOUZdXmw3JCQhKzZCVitGRl1ebCQiKyopeWclcCJGXV5sNyQkISs/M2pXRUZdXmwkIitIPVU6PkZdXmw3JCQhKyZmQCI+REZdXmwkIitoMVE2QkZdXmw3JCQhKzcveSNSI0ZdXmwkIis9M1s/RUZdXmw3JCQhKzMoUnFFI0ZdXmwkIisrIz0jcEdGXV5sNyQkISt6PlldQEZdXmwkIis9I3A1MSRGXV5sNyQkISskXF8oSD9GXV5sJCIrTzB6R0tGXV5sNyQkIStxWCJcIT5GXV5sJCIrKil5O3ZMRl1ebDckJCErL3FaIXkiRl1ebCQiK1JFOylcJEZdXmw3JCQhK3N3Wl87Rl1ebCQiK3NhUy9PRl1ebDckJCErIXpOKFI6Rl1ebCQiK0YzRSRvJEZdXmw3JCQhK01eIkdUIkZdXmwkIituW2xkUEZdXmw3JCQhK0lMUCZHIkZdXmwkIis+KUcqPVFGXV5sNyQkIStRJmZEOyJGXV5sJCIrZ2glbydRRl1ebDckJCErW0cuXjVGXV5sJCIrVHAvLVJGXV5sNyQkISpGb1Q9KkZdXmwkIitQVSJcJFJGXV5sNyQkISppTzIxKUZdXmwkIisoUjhoJlJGXV5sNyQkISphPVJ2J0ZdXmwkIis0TkN1UkZdXmw3JCQhKjZqcmYmRl1ebCQiK3YyTyYpUkZdXmw3JCQhKjE+IUdWRl1ebCQiK1EkUUsqUkZdXmw3JCQhKiFRXD5KRl1ebCQiKyhbcHUqUkZdXmw3JCQhKltDJmU9Rl1ebCQiKyxdWSoqUkZdXmw3JCQhKStoMHFGXV5sJCIrWzgoKioqUkZdXmw3JCQiKS9mJVsmRl1ebCQiK1tQLCtTRl1ebDckJCIqJClSZSU9Rl1ebCQiK11TXytTRl1ebDckJCIqaThfKEhGXV5sJCIrKTMlPi1TRl1ebDckJCIqRG9cPiVGXV5sJCIrOHI5MVNGXV5sNyQkIio6JTRiYUZdXmwkIitdXF04U0ZdXmw3JCQiKlwiKXlvJ0ZdXmwkIitOMSZbLSVGXV5sNyQkIipqbTEpeUZdXmwkIitLKXowLyVGXV5sNyQkIio8Xl0/KkZdXmwkIitMelprU0ZdXmw3JCQiK2VwXVI1Rl1ebCQiK3BdYCM0JUZdXmw3JCQiK0NvY202Rl1ebCQiKygpejxJVEZdXmw3JCQiK1o+cSJHIkZdXmwkIispW3M8PCVGXV5sNyQkIitbXWQyOUZdXmwkIiszTCxFVUZdXmw3JCQiK0U9LEU6Rl1ebCQiKyk+PWZHJUZdXmw3JCQiKydRNylcO0ZdXmwkIisrJnoiZVZGXV5sNyQkIitoKyYzeCJGXV5sJCIrJ1w1KFFXRl1ebDckJCIrIUhsdio9Rl1ebCQiK0hXeExYRl1ebDckJCIrO3JnPj9GXV5sJCIrOHgiZmolRl1ebDckJCIrNURUV0BGXV5sJCIrL29AXlpGXV5sNyQkIitgVz1vQUZdXmwkIit4JTNrKFtGXV5sNyQkIis4IT0+USNGXV5sJCIrNmcjNCsmRl1ebDckJCIrNCZwQV4jRl1ebCQiK21ob2FeRl1ebDckJCIrU3UmKUdFRl1ebCQiK1kjZj9JJkZdXmw3JCQiKyNca0p2I0ZdXmwkIitaQUJwYUZdXmw3JCQiKyxBOXNHRl1ebCQiK2Z5c1FjRl1ebDckJCIrKCoqKioqKipIRl1ebCQiKyEqPSY0JGVGXV5sLUZbXWw2IyIiIy1GX11sNiZGYV1sRmVdbEZiXWxGZV1sLSUrQVhFU0xBQkVMU0c2JFEieDYiUSFGaV9tLSUqR1JJRFNUWUxFRzYjJSxSRUNUQU5HVUxBUkctJSpMSU5FU1RZTEVHNiNGZl1sLSUlRk9OVEc2JCUqSEVMVkVUSUNBR0ZjXWwtJSxPUklFTlRBVElPTkc2JCQiI1hGZl1sRmlgbS0lK1BST0pFQ1RJT05HNiNGYl1sLUZfXWw2IyUlTk9ORUctJSVWSUVXRzYkOyQhK1QiKlwlKUdGXV5sJCIjSUZkXWw7JCEyMWBXaE41TzsiRiwkIjFvRTpwZWNaZiEjOg==</Plot></Text-field></Output></Group><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">Values given by the numerical procedure <Font executable="false" italic="false" style="Grey Emphasis" underline="false">gn</Font> are correct to 10 digits over the greater part of the interval from <Equation input-equation="x = -24^(1/3);" style="2D Comment">NiMvJSJ4RywkKSIjQyomIiIiRikiIiQhIiJGKw==</Equation> to <Equation input-equation="x = 3;" style="2D Comment">NiMvJSJ4RyIiJA==</Equation>. </Text-field><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">xx := evalf(sqrt(8));
gn(xx);
evalf(evalf(g(xx),15));</Font></Text-field></Input><Output><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiM+JSN4eEckIitDclVHRyEiKg==</Equation></Text-field><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiMkIisqUihRdmIhIio=</Equation></Text-field><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiMkIisqUihRdmIhIio=</Equation></Text-field></Output></Group><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">The values given by the numerical procedure <Font executable="false" italic="false" style="Grey Emphasis" underline="false">gn</Font> are not very accurate near the left hand end of the interval.</Text-field><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">xx := -2.88;
gn(xx);
evalf(evalf(g(xx),15));</Font></Text-field></Input><Output><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiM+JSN4eEckISQpRyEiIw==</Equation></Text-field><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiMkIit0NzNNRiEjNQ==</Equation></Text-field><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiMkIisqPiIzTUYhIzU=</Equation></Text-field></Output></Group><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">;</Font></Text-field></Input></Group></Section><Section collapsed="true"><Title><Text-field layout="Heading 2" style="Heading 2">Example 3<Font bold="true" executable="false" family="Times New Roman" foreground="[128,0,0]" italic="false" style="_cstyle304" underline="false"> .. an alternative (faster) method of interpolation for the adaptive order 4-5 Runge-Kutta method </Font></Text-field></Title><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">;</Font></Text-field></Input></Group><Text-field layout="Normal" style="Normal">In this example we construct a continuous numerical solution to the differential equation  <Equation input-equation="dy/dx = ``(y/4)*(1-y/20);" style="2D Comment">NiMvKiYlI2R5RyIiIiUjZHhHISIiKiYtJSFHNiMqJiUieUdGJiIiJUYoRiYsJkYmRiYqJkYuRiYiIz9GKEYoRiY=</Equation>, subject to the initial condition <Equation input-equation="y(0)=1" style="2D Comment">NiMvLSUieUc2IyIiISIiIg==</Equation>. </Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">The continuous solution is constructed over the interval from <Equation input-equation="x=0" style="2D Comment">NiMvJSJ4RyIiIQ==</Equation> to <Equation input-equation="x=1" style="2D Comment">NiMvJSJ4RyIiIg==</Equation> using the procedure <Font executable="false" italic="false" size="12" style="Maple Input" underline="false">desolveRK</Font> with the options ''<Font executable="false" italic="false" style="Grey Emphasis" underline="false">method=rk45</Font>'' and ''<Font executable="false" italic="false" style="Grey Emphasis" underline="false">output=rkinterp</Font>''.</Text-field><Text-field layout="Normal" style="Normal">The application of this last option means that, when the numerical procedure for the continuous solution is evaluated, rather performing a Runge-Kutta step, an alternative method of interpolation is used which does not require any new evaluations of the direction field  <Equation input-equation="f(x,y) = ``(y/4)*(1-y/20);" style="2D Comment">NiMvLSUiZkc2JCUieEclInlHKiYtJSFHNiMqJkYoIiIiIiIlISIiRi4sJkYuRi4qJkYoRi4iIz9GMEYwRi4=</Equation>.</Text-field><Text-field layout="Normal" style="Normal">This should make the numerical procedure for the solution <Font executable="false" italic="false" style="Purple Emphasis" underline="false">faster to evaluate</Font>. </Text-field><Text-field layout="Normal" style="Normal">The numerical solution is compared with the analytical solution  <Equation input-equation="y = 20/(1+19*exp(-x/4));" style="2D Comment">NiMvJSJ5RyomIiM/IiIiLCZGJ0YnKiYiIz5GJy0lJGV4cEc2IywkKiYlInhHRiciIiUhIiJGMkYnRidGMg==</Equation>. </Text-field><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">de := diff(y(x),x)= y(x)*(1-y(x)/20)/4;
ic := y(0)=1;
dsolve({de,ic},y(x)):
g := unapply(rhs(%),x);</Font></Text-field></Input><Output><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiM+JSNkZUcvLSUlZGlmZkc2JC0lInlHNiMlInhHRiwsJComIyIiIiIiJUYwKiZGKUYwLCZGMEYwKiYjRjAiIz9GMEYpRjAhIiJGMEYwRjA=</Equation></Text-field><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiM+JSNpY0cvLSUieUc2IyIiISIiIg==</Equation></Text-field><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiM+JSJnR2YqNiMlInhHNiI2JCUpb3BlcmF0b3JHJSZhcnJvd0dGKCwkKiYiIz8iIiIsJkYvRi8qJiIjPkYvLSUkZXhwRzYjLCQqJiNGLyIiJUYvOSRGLyEiIkYvRi9GO0YvRihGKEYo</Equation></Text-field></Output></Group><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">de := diff(y(x),x)= y(x)*(1-y(x)/20)/4;
ic := y(0)=1;
gn := desolveRK({de,ic},x=0..4,output=rkinterp);
plot(['gn'(x),g(x)],x=0..4,color=[red,green],thickness=[1,2]);</Font></Text-field></Input><Output><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiM+JSNkZUcvLSUlZGlmZkc2JC0lInlHNiMlInhHRiwsJComIyIiIiIiJUYwKiZGKUYwLCZGMEYwKiYjRjAiIz9GMEYpRjAhIiJGMEYwRjA=</Equation></Text-field><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiM+JSNpY0cvLSUieUc2IyIiISIiIg==</Equation></Text-field><Text-field layout="Maple Plot" style="Maple Plot"><Plot height="300" type="two-dimensional" width="400">LSUlUExPVEc2LC0lJ0NVUlZFU0c2JTdTNyQkIiIhRiskIiIiRis3JCQiK207Jyk9KCkhIzYkIislZTY0LSIhIio3JCQiK2UnNDBqIiEjNSQiK1xFV1I1RjQ3JCQiKzw2bSRbI0Y4JCIrV0NtZzVGNDckJCIrPHlZVUxGOCQiK1xhViMzIkY0NyQkIitlRj4oPiVGOCQiK1pHXy82RjQ3JCQiKyI+SycqKVxGOCQiKyU9emA3IkY0NyQkIitEdDo1ZUY4JCIrMllPWjZGNDckJCIrImZYKGVtRjgkIitMZV9xNkY0NyQkIitEQ2gvdkY4JCIrKGZbUz4iRjQ3JCQiK0wvcHUkKUY4JCIrPWdxPTdGNDckJCIrO2MwVCIqRjgkIisnKnkiM0MiRjQ3JCQiK0ksUSs1RjQkIitmJ2VoRSJGNDckJCIrXSozcTMiRjQkIitRJCkzI0giRjQ3JCQiK3E9XHE2RjQkIit2TGE8OEY0NyQkIitmQklZN0Y0JCIrbj8xVDhGNDckJCIraiRba0wiRjQkIisoKVxgcDhGNDckJCIrYFEiR1QiRjQkIitWQzQlUiJGNDckJCIrc11rLDpGNCQiKzozPEI5RjQ3JCQiK2BkRiFlIkY0JCIrZmpQXDlGNDckJCIrc2dhbTtGNCQiK14jUid5OUY0NyQkIis8ZXBbPEY0JCIrSikzcV0iRjQ3JCQiK2UvVE09RjQkIitgPDlQOkY0NyQkIitjSzc4PkY0JCIrJHApSGw6RjQ3JCQiK1VjLSkqPkY0JCIrRSMpPidmIkY0NyQkIitmYEAnMyNGNCQiKyozJCkpRztGNDckJCIrblopSDsjRjQkIitBMiR5bCJGNDckJCIrS3kqZUMjRjQkIisxKj4nKm8iRjQ3JCQiK1NeYkpCRjQkIisiUlRJcyJGNDckJCIrMFROOkNGNCQiKyQzO2p2IkY0NyQkIis3UlYnXCNGNCQiKz5GMSp5IkY0NyQkIis6I2ZrZSNGNCQiK1hrMUU9RjQ3JCQiK2A0Tm5FRjQkIit3OyEqZj1GNDckJCIrXSxzYEZGNCQiKyY0W20qPUY0NyQkIit6TSk+JEdGNCQiK05kXUk+RjQ3JCQiK3FmYTxIRjQkIitBeThvPkY0NyQkIisxTzApKkhGNCQiKzI/OS8/RjQ3JCQiKyNHMkEzJEY0JCIrVjdTVT9GNDckJCIrJClHW2tKRjQkIitFNVYhMyNGNDckJCIrN3loXUtGNCQiKyMqUiI0NyNGNDckJCIrKClmZExMRjQkIitrJ2UwOyNGNDckJCIrLUZUPU1GNCQiKyE+dDw/I0Y0NyQkIitFcGEtTkY0JCIrRV9LVkFGNDckJCIrU3YmKXpORjQkIitHJzRARyNGNDckJCIrR1VZb09GNCQiKzcieXNLI0Y0NyQkIisyXnJaUEY0JCIrRElMb0JGNDckJCIrc0lAS1FGNCQiK09fejdDRjQ3JCQiKzIlKTM4UkY0JCIra1ItY0NGNDckJCIiJUYrJCIrZyo+S10jRjQtJSpUSElDS05FU1NHNiNGLS0lJkNPTE9SRzYmJSRSR0JHJCIjNSEiIiRGK0ZkW2xGZVtsLUYmNiU3U0YpNyQkIjNIbW1tbTsnKT0oKSEjPiQiM1p4YVAlZTY0LSIhIzw3JCQiM1JMTExlJzQwaiIhIz0kIjM/ZUt3W0VXUjVGX1xsNyQkIjNtbW1tOzZtJFsjRmNcbCQiM3lZaihRV2kxMSJGX1xsNyQkIjNmbW1tO3lZVUxGY1xsJCIzYyM9cCRcYVYjMyJGX1xsNyQkIjMlSExMJGVGPig+JUZjXGwkIjNSUSEzciVHXy82Rl9cbDckJCIzUW1tbSI+SycqKVxGY1xsJCIzKipSLi4lPXpgNyJGX1xsNyQkIjNQKioqKipcS2QsImVGY1xsJCIzKXBWLHRna3Q5IkZfXGw3JCQiMy1tbW0iZlgoZW1GY1xsJCIzISlSNCZHJGVfcTZGX1xsNyQkIjMuKioqKipcVTdZXShGY1xsJCIzU2ZlLyhmW1M+IkZfXGw3JCQiMydRTExMViFwdSQpRmNcbCQiM09qYk89Z3E9N0ZfXGw3JCQiM3htbW07YzBUIipGY1xsJCIzei5xSycqeSIzQyJGX1xsNyQkIjMjKioqKioqKkgsUSs1Rl9cbCQiM19iLjhmJ2VoRSJGX1xsNyQkIjMpKioqKioqKlwqM3EzIkZfXGwkIjM9bVY+USQpMyNIIkZfXGw3JCQiMykqKioqKioqcD1ccTZGX1xsJCIzVU9WWHZMYTw4Rl9cbDckJCIzbW1tO2ZCSVk3Rl9cbCQiM3coeiNRbj8xVDhGX1xsNyQkIjNHTExMaiRba0wiRl9cbCQiM2t3NW0nKVxgcDhGX1xsNyQkIjM/TExMYFEiR1QiRl9cbCQiM3kmKWYpSFcjNCVSIkZfXGw3JCQiMyEqKioqKlxzXWssOkZfXGwkIjMnWzlNWiIzPEI5Rl9cbDckJCIzOUxMTGBkRiFlIkZfXGwkIjNzW2dmZmpQXDlGX1xsNyQkIjMzKytdc2dhbTtGX1xsJCIza0ZQRl4jUid5OUZfXGw3JCQiMy8rK108ZXBbPEZfXGwkIjNhUS1CSikzcV0iRl9cbDckJCIzUUxMTGUvVE09Rl9cbCQiMyIpUXlrXzw5UDpGX1xsNyQkIjNKTEwkZURCSiI+Rl9cbCQiM2tJJyopR3ApSGw6Rl9cbDckJCIzaW1tbVRjLSkqPkZfXGwkIjN1TitVRCMpPidmIkZfXGw3JCQiM01tbTtmYEAnMyNGX1xsJCIzPFh0XiozJCkpRztGX1xsNyQkIjN5KioqKlxuWilIOyNGX1xsJCIzRSopKSkpPnNJeWwiRl9cbDckJCIzWW1tbUp5KmVDI0ZfXGwkIjM5YmY5MSo+JypvIkZfXGw3JCQiMycpKioqKioqUl5iSkJGX1xsJCIzTThwNCJSVElzIkZfXGw3JCQiM2YqKioqKlw1YWBUI0ZfXGwkIjNBJ1smZiMzO2p2IkZfXGw3JCQiM28qKioqXDdSVidcI0ZfXGwkIjNtJUgxIT5GMSp5IkZfXGw3JCQiM2sqKioqKlxAZmtlI0ZfXGwkIjMwdyY+XVdtZyM9Rl9cbDckJCIzL0xMTGA0Tm5FRl9cbCQiM0MiKWZGdzshKmY9Rl9cbDckJCIzIyoqKioqKipcLHNgRkZfXGwkIjNFcHMjWzRbbSo9Rl9cbDckJCIzW21tO3pNKT4kR0ZfXGwkIjM2UiU9WnQwMCQ+Rl9cbDckJCIzJCoqKioqKipwZmE8SEZfXGwkIjNtSTFfQHk4bz5GX1xsNyQkIjMjSExMZWdgISkqSEZfXGwkIjM2N1tcMT85Lz9GX1xsNyQkIjN3KioqKlwjRzJBMyRGX1xsJCIzNXVqa1Y3U1U/Rl9cbDckJCIzO0xMTCQpR1trSkZfXGwkIjNPeTdzRDVWITMjRl9cbDckJCIzIykqKioqXDd5aF1LRl9cbCQiMzUsKnlCKlIiNDcjRl9cbDckJCIzeG1tbScpZmRMTEZfXGwkIjNhTmYlUW1lMDsjRl9cbDckJCIzYm1tbSxGVD1NRl9cbCQiMzE6TCkqKj10PD8jRl9cbDckJCIzRkxMJGUjcGEtTkZfXGwkIjNdLVVCRV9LVkFGX1xsNyQkIjMhKioqKioqKlJ2Jil6TkZfXGwkIjNlVDprRic0QEcjRl9cbDckJCIzSUxMTEdVWW9PRl9cbCQiM25ZIVI/NnlzSyNGX1xsNyQkIjNfbW1tMV5yWlBGX1xsJCIzKVJxU14tTCRvQkZfXGw3JCQiMzQrK11zSUBLUUZfXGwkIjNYWjJWT196N0NGX1xsNyQkIjM0KytdMiUpMzhSRl9cbCQiM3kyIipva1ItY0NGX1xsNyRGZ3okIjNsMW4nKmYqPktdI0ZfXGwtRlxbbDYjIiIjLUZfW2w2JkZhW2xGZVtsRmJbbEZlW2wtJStBWEVTTEFCRUxTRzYkUSJ4NiJRIUZjW20tJSpHUklEU1RZTEVHNiMlLFJFQ1RBTkdVTEFSRy0lKkxJTkVTVFlMRUc2I0YrLSUlRk9OVEc2JCUqSEVMVkVUSUNBR0ZjW2wtJSxPUklFTlRBVElPTkc2JCQiI1hGK0ZjXG0tJStQUk9KRUNUSU9ORzYjRmJbbC1GX1tsNiMlJU5PTkVHLSUlVklFV0c2JDtGZVtsJCIjU0ZkW2w7JCIxKSoqKip6K2MkKnAqISM7JCIsI2ZWR0xERjg=</Plot></Text-field></Output></Group><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">xx := evalf(Pi);
gn(xx);
evalf(evalf(g(xx),15));</Font></Text-field></Input><Output><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiM+JSN4eEckIithRWZUSiEiKg==</Equation></Text-field><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiMkIistIyl5cD8hIio=</Equation></Text-field><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiMkIistIyl5cD8hIio=</Equation></Text-field></Output></Group><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">;</Font></Text-field></Input></Group></Section><Section collapsed="true"><Title><Text-field layout="Heading 2" style="Heading 2">Example 4<Font bold="true" executable="false" family="Times New Roman" foreground="[128,0,0]" italic="false" style="_cstyle299" underline="false"> .. an example with no analytical solution for comparison (working with a continuous solution) </Font></Text-field></Title><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">;</Font></Text-field></Input></Group><Text-field layout="Normal" style="Normal"><Font executable="false" italic="false" style="_cstyle266">Question</Font>: </Text-field><Text-field layout="Normal" style="Normal">(a) Construct a continuous numerical solution to the differential equation  <Equation input-equation="dy/dx = 1-x^2-y^2;" style="2D Comment">NiMvKiYlI2R5RyIiIiUjZHhHISIiLChGJkYmKiQlInhHIiIjRigqJCUieUdGLEYo</Equation>  over the interval <Equation input-equation="x = -2" style="2D Comment">NiMvJSJ4RywkIiIjISIi</Equation> to <Equation input-equation="x = 2" style="2D Comment">NiMvJSJ4RyIiIw==</Equation>, with the initial condition <Equation input-equation="y(0) = 0" style="2D Comment">NiMvLSUieUc2IyIiIUYn</Equation>.</Text-field><Text-field layout="Normal" style="Normal">(b) Plot a graph of the solution obtained in (a) along with the associated gradient field for the differential equation. </Text-field><Text-field layout="Normal" style="Normal">(c) Find the first positive zero of the solution. </Text-field><Text-field layout="Normal" style="Normal">(d) Find the coordinates of the the maximum point<Equation input-equation=" ``(x[max],y[max])" style="2D Comment">NiMtJSFHNiQmJSJ4RzYjJSRtYXhHJiUieUdGKA==</Equation> on the graph of the solution. </Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal"><Font executable="false" italic="false" style="_cstyle267">Solution</Font>: </Text-field><Text-field layout="Normal" style="Normal">(a) </Text-field><Text-field layout="Normal" style="Normal">We use the combined 7th and 8th order Runge-Kutta method with adaptive step-size control to construct a continuous numerical solution for the differential equation over the interval from <Equation input-equation="x=-2" style="2D Comment">NiMvJSJ4RywkIiIjISIi</Equation> to <Equation input-equation="x=2" style="2D Comment">NiMvJSJ4RyIiIw==</Equation>. Note that the solution goes both to the left and right of the initial point<Equation input-equation=" ``(0,0)" style="2D Comment">NiMtJSFHNiQiIiFGJg==</Equation>. </Text-field><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">de := diff(y(x),x)=1-x^2-y(x)^2;
ic := y(0)=0;
fn := desolveRK({de,ic},x=-2..2,method=rk78);
plot(fn,-2..2,color=brown,thickness=2);</Font></Text-field></Input><Output><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiM+JSNkZUcvLSUlZGlmZkc2JC0lInlHNiMlInhHRiwsKCIiIkYuKiQpRiwiIiNGLiEiIiokKUYpRjFGLkYy</Equation></Text-field><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiM+JSNpY0cvLSUieUc2IyIiIUYp</Equation></Text-field><Text-field layout="Maple Plot" style="Maple Plot"><Plot height="300" type="two-dimensional" width="400">LSUlUExPVEc2LC0lJ0NVUlZFU0c2IzdlbjckISIjJCIrJDNZVysiISIqNyQkISsjcDBrJj5GLSQiKz8xJlFTKSEjNTckJCErJFE2RyI+Ri0kIisoUUs4JnBGMzckJCErMy0pWyg9Ri0kIispZTNjImVGMzckJCErTSFccCQ9Ri0kIispcFs9eSVGMzckJCEraDlIJXoiRi0kIitKIzNccyRGMzckJCErKSlRal48Ri0kIis4OFtsRkYzNyQkIStgTnAzPEYtJCIrYmEvJyk9RjM3JCQhKz1Ldmw7Ri0kIitbN1AkMyJGMzckJCErQzJHIWUiRi0kIStyJXlXOyQhIzY3JCQhKyJ5TzVdIkYtJCErViQqSDc5RjM3JCQhK29VKSo9OUYtJCErPGRzckJGMzckJCErVGE3TThGLSQhK1VrZCk+JEYzNyQkIStlKFEmXDdGLSQhKylwbzooUUYzNyQkIStkNGBpNkYtJCErQzs5PVdGMzckJCErUVcqZTMiRi0kIStqQW0keSVGMzckJCEqcSk+JyoqKkYtJCErX3ImKnBdRjM3JCQhKl01KkgiKkYtJCErbiZlcUEmRjM3JCQhKkkiMyZIKUYtJCErVyVvbUQmRjM3JCQhKlR3cGAoRi0kISt3KjM2PSZGMzckJCEqUDtiaidGLSQhKyYqby5tXEYzNyQkISpaaD0oZUYtJCErOU1tellGMzckJCEqR1xOKVxGLSQhK0kiMzRCJUYzNyQkISpaVXM+JUYtJCErLXYzT1BGMzckJCEqR1JYTCRGLSQhKz5edSg0JEYzNyQkISokPS84REYtJCErTU4jKTRDRjM3JCQhKlUmKmVsIkYtJCErZkkmZmkiRjM3JCQhKVduKG8pRi0kISt1PjRXJylGZm43JCQhKGVWKD5GLSQhK3BHTnU+ISM3NyQkIilmYEAnKUYtJCIrVSRSKnkmKUZmbjckJCIqblopSDtGLSQiKypmJ0csO0YzNyQkIipLeSplQ0YtJCIrNiV6QE8jRjM3JCQiKlNeYkokRi0kIitqKHBFMyRGMzckJCIqMFROOiVGLSQiK3hoMDFQRjM3JCQiKjdSVidcRi0kIit3LikpPlVGMzckJCIqOiNma2VGLSQiKzUjKVt3WUYzNyQkIipgNE5uJ0YtJCIrb08ieShcRjM3JCQiKl0sc2AoRi0kIit2ZDkiPSZGMzckJCIqek0pPiQpRi0kIitkdVxkX0YzNyQkIipxZmE8KkYtJCIrOnMsQV9GMzckJCIqMU8wKSoqRi0kIis3KlxSMiZGMzckJCIrI0cyQTMiRi0kIitgW2UpeiVGMzckJCIrJClHW2s2Ri0kIitzZFYyV0YzNyQkIis3eWhdN0YtJCIrOUYpUSdRRjM3JCQiKygpZmRMOEYtJCIrWjBVLktGMzckJCIrLUZUPTlGLSQiK1BqJHlQI0YzNyQkIitFcGEtOkYtJCIrdlQvJFIiRjM3JCQiK1N2Jil6OkYtJCIrLWkmeUEkRmZuNyQkIitHVVlvO0YtJCErLydSPjgiRjM3JCQiK28nKjMzPEYtJCErTmVDdT1GMzckJCIrMl5yWjxGLSQhKzlSeiJvI0YzNyQkIishNGsqKnkiRi0kISs5cU5CT0YzNyQkIitzSUBLPUYtJCErQXFEZllGMzckJCIrUzJscz1GLSQhKyNRb0B2JkYzNyQkIisyJSkzOD5GLSQhKyd5UisncEYzNyQkIisvVWFjPkYtJCEraGl1MyUpRjM3JCIiIyQhKyQzWVcrIkYtLSUrQVhFU0xBQkVMU0c2JFEhNiJGZV1sLSUqR1JJRFNUWUxFRzYjJSxSRUNUQU5HVUxBUkctJSpMSU5FU1RZTEVHNiMiIiEtJSVGT05URzYkJSpIRUxWRVRJQ0FHIiM1LSUqVEhJQ0tORVNTRzYjRl9dbC0lLE9SSUVOVEFUSU9ORzYkJCIjWEZeXmxGal5sLSUrUFJPSkVDVElPTkc2IyRGY15sISIiLSUlVklFV0c2JDskISM/RmBfbCQiIz9GYF9sOyQhMi0rP2ojUmlXNSEjOyQiMi0rP2ojUmlXNUZcYGwtJSZDT0xPUkc2JiUkUkdCRyQiMV9NbVglKWVxa0ZcYGwkIjJ3bW9WKCllcWsiISM8RmVgbA==</Plot></Text-field></Output></Group><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">(b) </Text-field><Text-field layout="Normal" style="Normal">In this case Maple's <Font executable="false" italic="false" size="12" style="Maple Input" underline="false">dsolve</Font> cannot obtain an analytical solution, but we can obtain a check on the general shape of the solution curve by plotting it together with the direction field.</Text-field><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">p1 := DEtools[DEplot](de,y(x),x=-2..2,y=-1..1,arrows=medium,
           color=blue,dirgrid=[25,25]):
p2 := plot('fn'(x),x=-2..2,y=-1..1,color=brown,thickness=2):
plots[display]([p1,p2]);</Font></Text-field></Input><Output><Text-field layout="Maple Plot" style="Maple Plot"><Plot height="300" type="two-dimensional" width="400">LSUlUExPVEc2LC0lJ0NVUlZFU0c2XmJtNyc3JCQhMyRSViMpeUFPLiwjISM8JCEzO1FFcSUpM2InZSohIz03JCQhMzFtdjZzUG0qKT5GLCQhMz1PKEg6IlxNVDVGLDckJCEzdiE9WGUlPiJbLCNGLCQhM21hUztvU3RDNUYsNyQkITNPV2FKTXFZdD5GLCQhMzFZTT42KzpBNUYsRjA3JzckJCEzJVFNInomNCZmWD1GLCQhMyFSdjAnUiZveWUqRi83JCQhM29BYCgzZHI1Iz1GLCQhM3NDJVJnOTg3LyJGLDckJCEzc1FweVV3KXAlPUYsJCEzN21taV0rIVwtIkYsNyQkITNBOXZ1J1x1ZCE9RiwkITNlakAsNVkkPS0iRixGRTcnNyQkITMpPkZFbFRIOW8iRiwkITM3ZzQsOk8jKiplKkYvNyQkITMxaHEhbyJSIT5sIkYsJCEzKlIhKilcUXcrVDVGLDckJCEzb3owRSU+Kyl5O0YsJCEzJFxzJylROic0RDVGLDckJCEzcnY7d2JEelA7RiwkITNdQj1VbWFTQDVGLEZaNyc3JCQhM2JhOjpRdjI9OkYsJCEzIyk+K2YiUmJLZipGLzckJCEzK1glWz1ZQT5bIkYsJCEzOCkqNCUzWXUxLyJGLDckJCEzTjN2IWZcKDM1OkYsJCEzbHNKI1xmQGAtIkYsNyQkITNXNWwxTklUcDlGLCQhMzIlRyZRNUEhMy0iRixGaW83JzckJCEzKyE+VlpZJiplTiJGLCQhMyE9YS07VyYqKSlmKkYvNyQkITMyd00jPj9yMkoiRiwkITMjZXVSZVg1LC8iRiw3JCQhM1V5Yks+aGZTOEYsJCEzMCJvM2FRaWItIkYsNyQkITNoS2VbamNbKzhGLCQhMyJvQGNEJj0jKj41RixGXnE3JzckJCEzdytMQWI5UyY+IkYsJCEzWGo4Pyt3KSkzJypGLzckJCEzJD0uNSJ5PSR6OCJGLCQhM2xqKXoqUjc2UjVGLDckJCEzaXQ2YEUrJCpwNkYsJCEzRTI5JltVbmQtIkYsNyQkITMnKjQ4Yid5PTM4IkYsJCEzW1tBckZQZT01RixGY3I3JzckJCEzOycqXGkqem5zLiJGLCQhMzZOK3YuP0tGJypGLzckJCEzeUordi4/S0YnKkYvJCEzUScqXGkqem5zLiJGLDckJCEzYyopcCd6SU5dKCoqRi8kITNNQipvUiUpKXlENUYsNyQkITNuQ3FyNnROLScqRi8kITNDdUUxJSo9Wjs1RixGaHM3JzckJCEzd0ZVP1FSRD8pKUYvJCEzaXg9MSJwZz1tKkYvNyQkITMpSFZpJUdGVFl5Ri8kITNON1EqMyRSIlEuIkYsNyQkITMiXGpgJyo9RGpBKUYvJCEzOHNuKG9kZV8tIkYsNyQkITNfN2JyISllPSkpeUYvJCEzayoqXHZoYjM4NUYsRl11Nyc3JCQhMyFRcnBidzImKkcoRi8kITMvbjMjUXQiPUIoKkYvNyQkITNNOU93bmIjUS8nRi8kITNJOHpoRT1vRjVGLDckJCEzWzQoUXohRyQ+WCdGLyQhMyNvMTx5diFbQjVGLDckJCEzX3cmZjxhOV48J0YvJCEzaCFcVy50NHorIkYsRmJ2Nyc3JCQhM2VGKipcIypmTlhkRi8kITM2PV0oPStoTyIpKkYvNyQkITMrbytdMlNrYVVGLyQhMz4pXDcpKipRaj01Riw3JCQhM3M1bHU9QGNxWUYvJCEzVltUVE1AKSk+NUYsNyQkITNHRzppP0pBJVslRi8kITNDXTtnTSNbNysiRixGZ3c3JzckJCEzIz1IYCxiQW85JUYvJCEzREZBQzRCaDQqKkYvNyQkITM6ckxeO1QlKT5ERi8kITNSeGQycChRITQ1Riw3JCQhM19hd2lEIipHPEhGLyQhM3lXblkjWyRIOjVGLDckJCEzQCIpKXBbVixwI0dGLyQhMztkQ1k/RGNcKipGL0ZceTcnNyQkITNZM1graHByKVwjRi8kITM9XFIjPVwoKW8oKipGLzckJCEzYTgjKUdCUDtZJCkhIz4kITMzMHciM0Q2QisiRiw3JCQhMyRISHlDKDRZMTdGLyQhM0tZYmB5NXI2NUYsNyQkITMjPUMtVllbTD0iRi8kITNaLTV4NiMpNDQqKkYvRmF6Nyc3JCQhM0E7TExMTExMJClGZHokISIiIiIhNyQkIjNgXExMTExMTCQpRmR6RmVbbDckJCIzcik9KSozOiUqW3MlRmR6JCEzdW1tbW1tVDU1Riw3JEZcXGwkITNxTExMTEwkZSopKkYvRmhbbDcnNyQkIjMnb0MpR0JQO1kkKUZkekZfejckJCIzeTZYK2hwcilcI0YvRmV6NyQkIjNBU10mM09zbzcjRi9Gano3JCQiM0siNEohcFspKlxARi9GX1tsRmdcbDcnNyQkIjNbdUxeO1QlKT5ERi8kITM5RUFDNEJoNCoqRi83JCQiMzsmSGAsYkFvOSVGL0ZfeTckJCIzeTYhUjVheCRcUEYvRmR5NyQkIjMzJnknekpfd1JRRi9GaXlGZl1sNyc3JCQiM0tyK10yU2thVUYvJCEzKzxdKD0raE8iKSpGLzckJCIzITQkKipcIypmTlhkRi9Ganc3JCQiMzspW2A3KXlWSGBGL0ZfeDckJCIzPHIleSR6b3g6YkYvRmR4RmVebDcnNyQkIjNuPE93bmIjUS8nRi9GYHY3JCQiMzk8KHBidzImKkcoRi9GZXY3JCQiMyk+aSVSRDBTIilvRi9GanY3JCQiMydcdnQ6ej0jZXJGL0Zfd0ZiX2w3JzckJCIzVVBDWUdGVFl5Ri9GW3U3JCQiMykqSFU/UVJEPykpRi9GYHU3JCQiMzFHSSx4OU1TJSlGL0ZldTckJCIzV102JmZ5IVt5KClGL0ZqdUZfYGw3JzckJCIzNk4rdi4/S0YnKkYvRmZzNyQkIjNRJypcaSp6bnMuIkYsRlt0NyQkIjNcK0w/cGtcLTVGLEZgdDckJCIzNChIRylvVXdSNUYsRmV0RlxhbDcnNyQkIjNGSys2eT0kejgiRixGYXI3JCQiMz8sTEFiOVMmPiJGLEZmcjckJCIzVWZAIW9JLk07IkYsRltzNyQkIjMzQj95WVheLTdGLEZgc0ZpYWw3JzckJCIzXndNIz4/cjJKIkYsRlxxNyQkIjNXIT5WWlkmKmVOIkYsRmFxNyQkIjM0KTNUdGFxZ0siRixGZnE3JCQiMyFSJDM9LjU9bThGLEZbckZmYmw3JzckJCIzWVglWz1ZQT5bIkYsRmdvNyQkIjMqXGJeIlF2Mj06RixGXHA3JCQiM20iXCM0L0QiKipbIkYsRmFwNyQkIjNjKltMXCdwZUk6RixGZnBGY2NsNyc3JCQiM11ocSFvIlIhPmwiRixGWDckJCIzVXNpXzslSDlvIkYsRmduNyQkIjMhUXZzIVJKYGE7RixGXG83JCQiM3dkO2R4MmEmcCJGLEZhb0ZgZGw3JzckJCIzN0JgKDNkcjUjPUYsRkM3JCQiM0dXOHomNCZmWD1GLEZINyQkIjNDRyh6US16Jz49RixGTTckJCIzdV8iPipwQCozJz1GLEZSRl1lbDcnNyQkIjNfbXY2c1BtKik+RixGLTckJCIzUU1DKXlBTy4sI0YsRjM3JCQiMyMqPls6YSEpPSYpPkYsRjg3JCQiMyllYiVvbEhgRT9GLEY9RmplbDcnNyQkITMnR2gmKSoqNGYyLCNGLCQhM2MiSEkzTShbYCgpRi83JCQhM08oUTkrITRDKik+RiwkITMtVEldIypmJSl6JipGLzckJCEzdi80RSRwZVgsI0YsJCEzKEdrUTcoSFE5JSpGLzckJCEzR25zbmcyQ3Q+RiwkITNxNVlGQF9bKFEqRi9GaWZsNyc3JCQhM0sjcF9daSM+WT1GLCQhM28oSHQudCEqXHYpRi83JCQhMz51UmhUU1o/PUYsJCEzI1wuZ0hnVSR5JipGLzckJCEzaWkvM3ZnaVk9RiwkITN2SzM4M2U6OyUqRi83JCQhM2tENlgiW2VhIT1GLCQhMzNOQyQpeXYrJVEqRi9GXmhsNyc3JCQhMzVWVmZbIypII28iRiwkITM5YEIuKClwUmQoKUYvNyQkITMlKiopKlFaM001bCJGLCQhM1l6NElZaiRmZCpGLzckJCEzR2coZV9ubSN5O0YsJCEzdmUmSFI1ZSM9JSpGLzckJCEzMkhgSDIoUnRqIkYsJCEzdW0uNlxtPHokKkYvRmNpbDcnNyQkITNdLV0qeWonUT46RiwkITMzIT0qKUczSzl3KUYvNyQkITMxKCpcNWlMaCFbIkYsJCEzX19UV103IT5kKkYvNyQkITNcI1JcPHZwIzQ6RiwkITNEWjd6REdtPyUqRi83JCQhMylSa3JMSFkobzlGLCQhMytUUDBKaT5zJCpGL0Zoamw3JzckJCEzb25FMD1sJHpOIkYsJCEzYXg9WnBNZG8oKUYvNyQkITNSKSpSaFssdDM4RiwkITMvYjknUScpZlpjKkYvNyQkITM8NVUnKipIKUdSOEYsJCEzKydSUVFWTUpVKkYvNyQkITNJSlpDISkqeSUqSCJGLCQhMyMqZisvc2tpaCQqRi9GXVxtNyc3JCQhM0lAQVNvam8pPiJGLCQhM1lZLndGYik+eSlGLzckJCEzRzY2JFwncGtNNkYsJCEzOScpSGQweU1eJipGLzckJCEzJUhzUSVmZnVuNkYsJCEzbEZ3VDgxIVtVKkYvNyQkITMoNDRbYiV5Rkg2RiwkITM1Uyh5IWY4dlckKkYvRmJdbTcnNyQkITNxMFBYXEtoVTVGLCQhM2RqIj02KyhmMykpRi83JCQhMz9OSFkwdidRZCpGLyQhMy1wXkBLanRDJipGLzckJCEzNV4yMUBKVVAqKkYvJCEzbyx2byE9YUhVKkYvNyQkITNPW0FeYk1OeiYqRi8kITN2TkswZDVVOyQqRi9GZ15tNyc3JCQhM0F5TFtOXFwtKilGLyQhMyNIVmgqNExLaSkpRi83JCQhM18jRyQ9Sjw8a3hGLyQhM28qKj1QQissciUqRi83JCQhM1UmPidwN3d6aSIpRi8kITMydjJYJW9xLlQqRi83JCQhMy9pNCpmRGElZXlGLyQhM21qSyJSRyEzbyMqRi9GXGBtNyc3JCQhM01fVyJHdT8zUihGLyQhMyspZXUpM1JbZyopRi83JCQhMyJlKCk9MGY3RCVmRi8kITNlVyhlV1VcR1AqRi83JCQhMz1MUl4jKT08ZmpGLyQhM2kiM1U0JCopM3UkKkYvNyQkITMpWyY9c0MiKilIOidGLyQhM3NMXiE+VF1JPipGL0ZhYW03JzckJCEzOHdIZTxLMj9lRi8kITNbLiNvKnlBaiM0KkYvNyQkITNVPnFUI3lFKnpURi8kITM3SF5PYTVxUyMqRi83JCQhM1MtOCdmNFk/ZCVGLyQhM11gRkp3Qjo2JCpGLzckJCEzLVJHRTM8LClcJUYvJCEzPjRxIj4yTWg1KkYvRmZibTcnNyQkITNvPSpRIm9mdmlURi8kITMpNEZERCNlKXA/KkYvNyQkITNHV3hfKXA1Ul0jRi8kITNpaCEzM15aajcqRi83JCQhM29zaHFjOyFIJUdGLyQhM10zXnhZU1taIypGLzckJCEzT3haYzczQSQpR0YvJCEzYjZQMilRRywvKkYvRltkbTcnNyQkITNJSTRIbHBUc0NGLyQhM2MhZnpAJTQpSEYqRi83JCQhMzsmKlJVIW9qIjQnKUZkeiQhMy1VUDoiUl8uMSpGLzckJCEzOyRwVlRNZm06IkYvJCEzZVM4PDVtNTIjKkYvNyQkITM5PG1sPk8oSEUiRi8kITNhdF9eTiFwYysqRi9GYGVtNyc3JCQhMzstTChcLVoiUXpGZHokITNPN0EpXF5jTUgqRi83JCQiM1pOTChcLVoiUXpGZHokITNCPzZOPW8oKVIhKkYvNyQkIjN4J29cX3h4WjgmRmR6JCEzI2UhXCY0RjBTPipGLzckJCIzL0VVNCNIem8nUUZkeiQhMzl0MEwmZl5iKiopRi9GZWZtNyc3JCQiM1lHU1Uhb2oiNCcpRmR6Rl5lbTckJCIza0w0SGxwVHNDRi9GY2VtNyQkIjMrUycqPSopUm53QEYvRmhlbTckJCIzKztubjgoZi4yI0YvRl1mbUZoZ203JzckJCIzaFp4XylwNVJdI0YvRmljbTckJCIzLUEqUSJvZnZpVEYvRl5kbTckJCIzaSRcZyo0XXdCUUYvRmNkbTckJCIzJSopKT01YWVXJHkkRi9GaGRtRmVobTcnNyQkIjN3QXFUI3lFKnpURi9GZGJtNyQkIjNZekhlPEsyP2VGL0ZpYm03JCQiMyRmcFFTIVImelUmRi9GXmNtNyQkIjMnKWZydCJIKSk+XSZGL0ZjY21GYmltNyc3JCQiMzl6KT0wZjdEJWZGL0ZfYW03JCQiM21iVyJHdT8zUihGL0ZkYW03JCQiM0spUj4zWGhUKHBGL0ZpYW03JCQiM3N4OWgzVU0hPShGL0ZeYm1GX2ptNyc3JCQiMydwRyQ9Sjw8a3hGL0ZqX203JCQiM1ghUSRbTlxcLSopRi9GX2BtNyQkIjNibi8oUjBwUV0pRi9GZGBtNyQkIjMkNHF2MVQ3IzMpKUYvRmlgbUZcW243JzckJCIzX1FIWTB2J1FkKkYvRmVebTckJCIzOjFQWFxLaFU1RixGal5tNyQkIjNuQ1IqeW9kaSsiRixGX19tNyQkIjMkW3hbV2xrPy8iRixGZF9tRmlbbjcnNyQkIjNzNjYkXCdwa002RixGYF1tNyQkIjN1QEFTb2pvKT4iRixGZV1tNyQkIjMzNVkqUVAoZWw2RixGal1tNyQkIjMyVV95KFtiUz8iRixGX15tRmZcbjcnNyQkIjMkKSkqUmhbLHQzOEYsRltcbTckJCIzN29FMD1sJHpOIkYsRmBcbTckJCIzTmNDcW0keXRLIkYsRmVcbTckJCIzQU4+VSdvKD1uOEYsRmpcbUZjXW43JzckJCIzXSgqXDVpTGghWyJGLEZmamw3JCQiMyVIKyYqeWonUT46RixGW1ttNyQkIjNfMjFEWy10IVwiRixGYFttNyQkIjMuYyRHbXFgN2AiRixGZVttRmBebjcnNyQkIjNRISoqUVozTTVsIkYsRmFpbDckJCIzYVZWZlsjKkgjbyJGLEZmaWw3JCQiMz90WDJlbTFiO0YsRltqbDckJCIzUy8hUWdpJCpmcCJGLEZgamxGXV9uNyc3JCQiM2t1UmhUU1o/PUYsRlxobDckJCIzdyNwX11pIz5ZPUYsRmFobDckJCIzTi9pZSJmUysjPUYsRmZobDckJCIzS1RiQCY9MzcnPUYsRltpbEZqX243JzckJCIzIXlROSshNEMqKT5GLEZnZmw3JCQiMydHaCYpKio0ZjIsI0YsRlxnbDckJCIzWyY0Um5JVGEpPkYsRmFnbDckJCIzJUh0QSRSI2ZuLSNGLEZmZ2xGZ2BuNyc3JCQhM1s+IkdaSXc2LCNGLCQhM29WNkBrNFY/ekYvNyQkITNfISk9RiZwQikpKT5GLCQhM19AYlgtZEJZKClGLzckJCEzJ1FbTmNIM1YsI0YsJCEzR3RWKkc2OTllKUYvNyQkITMnW0VCKGUhPUkoPkYsJCEzZXVTMl5MWmAmKUYvRmZhbjcnNyQkITNvNiM0U3Ihelk9RiwkITNfcSNmL2ZOQCN6Ri83JCQhMyRbWGRFJmYoKT49RiwkITNuJVIyaTJKWHUpRi83JCQhM0U3IW9sMGppJT1GLCQhMy9qJClSYyopSCRlKUYvNyQkITMlZmchRyNHVl4hPUYsJCEzVW0nM1pdYidcJilGL0ZbY243JzckJCEzVyE9KylIaD0kbyJGLCQhM1UkemFaXE5cI3pGLzckJCEzZV9KYC5zOV07RiwkITN4cj0iPjxKPHUpRi83JCQhM0dKdCNHQj94biJGLCQhMzNHKilIXCFSYmUpRi83JCQhM1x4JXAqWy8pb2oiRiwkITNDVl5ZIlJTVWEpRi9GYGRuNyc3JCQhMzQ9VSkqPk12PzpGLCQhM1t5elQ2WXpIekYvNyQkITNZInk6K2VZI3o5RiwkITNyJ29bXzBzb3QpRi83JCQhM1Q+Q2Q1K1QzOkYsJCEzISplVSR6VnchKWUpRi83JCQhMzclKTNRUWgwbzlGLCQhM244UCh6KUc+TyYpRi9GZWVuNyc3JCQhMz1kSicpbz04ZzhGLCQhM1VWSi5RJCp6UXpGLzckJCEzISozTiF5ek1sSSJGLCQhM3hATmpHdCd5cylGLzckJCEzRlVdJVFnbHlMIkYsJCEzX01Edm1zXyFmKUYvNyQkITNDQl1KL0FUKUgiRiwkITN0dXojeiM0YEImKUYvRmpmbjcnNyQkITNQYCNHKEcwTS03RiwkITMrRDVZK2Z4Y3pGLzckJCEzQnpdZy9HKjQ4IkYsJCEzPVNjP20yKik0KClGLzckJCEzbzdwazZ6RWw2RiwkITMleSlwTlUqRzlmKUYvNyQkITMuI29mJG9AaEY2RiwkITM8P0k/KEdXQV0pRi9GX2huNyc3JCQhM0kqMyhbZz9wWzVGLCQhMz81X1JDUz4mKnpGLzckJCEzRyo0SF5SekleKkYvJCEzKVxYckFrczluKUYvNyQkITM/LC5LYz0qSCopKkYvJCEzIUcwLEA1PmZlKUYvNyQkITMjKXlAUVpEJltiKkYvJCEzK0hMKTMmKik9ayUpRi9GZGluNyc3JCQhMzEuTyJ5JW83IioqKUYvJCEzYSN5b1Z1Q3YyKUYvNyQkITNxZEkmKT0pUmJuKEYvJCEzayMpeUhBPjkqZSlGLzckJCEzUzl3S2dxRikzKUYvJCEzUVNKTFZ4ZmcmKUYvNyQkITNNa0lPciVvQyR5Ri8kITNbc0lyayRcaFIpRi9GaWpuNyc3JCQhM2daXC1lIylmcHVGLyQhM1wkemJuMDo9QSlGLzckJCEzYyFRM2AyTlAnZUYvJCEzcHIzIio0OyZbVylGLzckJCEzNT9lUyJ6dHJFJ0YvJCEzJ0dYeiZHI0hwXClGLzckJCEzKyJHR1teYmM6J0YvJCEzRyMpKVIyTCc+J0gpRi9GXlxvNyc3JCQhM29ZOGNYa0JHZUYvJCEzYV95PnBrTXokKUYvNyQkITMpKVsnUVdiajw8JUYvJCEzbTcpb3U+P3RHKUYvNyQkITNsO1hnKClRUjJYRi8kITN3NXNXRFN4NSUpRi83JCQhM2VPIXBNLTJNYiVGLyQhM0R0bzA5XHIuIylGL0ZjXW83JzckJCEzJHoyXkgqUSs1VEYvJCEzYWhYIikzRU4lWylGLzckJCEzLyZlOlB4aW1iI0YvJCEzay5AJnkwOUI9KUYvNyQkITMrJD52TU5odSJHRi8kITM5YSM9QjkielckKUYvNyQkITMnPlVjKkcxW29IRi8kITNRPFFULU5pXSIpRi9GaF5vNyc3JCQhMyFIaE1NMUpeUiNGLyQhMzVqeGxhWG9OJilGLzckJCEzN3ByKSopcEE/USpGZHokITM0LSozPzYjKTQ4KUYvNyQkITNzd0siZio0WV82Ri8kITM0eDxvNTNtNCQpRi83JCQhMydwcVBzQDdbTiJGLyQhM0kheipbNlphRiIpRi9GXWBvNyc3JCQhM2pSJyo0Wj5vNXJGZHokITNBQWVncVRnXSYpRi83JCQiMyVIbio0Wj5vNXJGZHokITMnSCUzMSdcaWc2KUYvNyQkIjNDc0FESjAtPV5GZHokITMlUkwqb19xLSpIKUYvNyQkIjMpZVBGJmVASlhIRmR6JCEzQlY9LC8rRUAiKUYvRmJhbzcnNyQkIjNXLXMpKilwQT9RKkZkekZbYG83JCQiM0M7WVZqNTgmUiNGL0ZgYG83JCQiM1djK1VQQigzPSNGL0ZlYG83JCQiMz9FYzQ7Nl95PkYvRmpgb0ZlYm83JzckJCIzTyllOlB4aW1iI0YvRmZebzckJCIzRSIzXkgqUSs1VEYvRltfbzckJCIzSXQ5PjhgP1xRRi9GYF9vNyQkIjMpW0M1eC4nPSlwJEYvRmVfb0ZiY283JzckJCIzQV8nUVdiajw8JUYvRmFdbzckJCIzLF04Y1hrQkdlRi9GZl1vNyQkIjNvIlsmUjdoZyNcJkYvRltebzckJCIzJ0cnNGB3SGZZYUYvRmBeb0ZfZG83JzckJCIzIVJRM2AyTlAnZUYvRlxcbzckJCIzIzQmXC1lIylmcHVGL0ZhXG83JCQiM1M2diM+YWZoMShGL0ZmXG83JCQiM1tdXV09eW54ckYvRltdb0ZcZW83JzckJCIzOWlJJik9KVJibihGL0Znam43JCQiM0cwTyJ5JW83IioqKUYvRlxbbzckJCIzY1shUmpnKlF5JilGL0ZhW283JCQiM2kpZi5gPik+TSkpRi9GZltvRmllbzcnNyQkIjNzLiJIXlJ6SV4qRi9GYmluNyQkIjN1KjMoW2c/cFs1RixGZ2luNyQkIjNXcHpPOTNxNTVGLEZcam43JCQiM3kieWhfdTlYLyJGLEZham5GZmZvNyc3JCQiM256XWcvRyo0OCJGLEZdaG43JCQiMyJRREcoRzBNLTdGLEZiaG43JCQiM08/a29AYTFvNkYsRmdobjckJCIzLF5PKFw7QGQ/IkYsRlxpbkZjZ283JzckJCIzTTROIXl6TWxJIkYsRmhmbjckJCIzaWRKJylvPThnOEYsRl1nbjckJCIzREM7I0cxLClHOEYsRmJnbjckJCIzR1Y7TmlXRG84RixGZ2duRmBobzcnNyQkIjM5I3k6K2VZI3o5RixGY2VuNyQkIjNKPVUpKj5Ndj86RixGaGVuNyQkIjNPIWVGJSopKiplIlwiRixGXWZuNyQkIjNuOiI+OydRJT5gIkYsRmJmbkZdaW83JzckJCIzL2BKYC5zOV07RixGXmRuNyQkIjMhND0rKUhoPSRvIkYsRmNkbjckJCIzPy1nXStKaGI7RixGaGRuNyQkIjMpZiZRTyUpR1gncCJGLEZdZW5GamlvNyc3JCQiM0didWxfZigpPj1GLEZpYm43JCQiMzc3IzRTciF6WT1GLEZeY243JCQiM3FhJyk0NU9TPz1GLEZjY243JCQiMy1oZ1ElUUI6Jz1GLEZoY25GZ2pvNyc3JCQiMyc0KT1GJnBCKSkpPkYsRmRhbjckJCIzIyo+IkdaSXc2LCNGLEZpYW43JCQiMyNvXmtWcSJwJik+RixGXmJuNyQkIjMiZXR3NyU+KXAtI0YsRmNibkZkW3A3JzckJCEzVyNvKHAmUSNlNj9GLCQhMz1rK180dlAoMyhGLzckJCEzYzxCSTl3VCkpPkYsJCEzZ0wqei9cQUUiekYvNyQkITNtRDsmKmVTMTk/RiwkITMjUSN5OCRwSCVbeEYvNyQkITMnPmouKjQ9IUcoPkYsJCEzcjxPKilHUFo+eEYvRmNccDcnNyQkITN5c0YkeToiUVo9RiwkITMzJSpcMVVpSCozKEYvNyQkITN0JCpRJCkzYkc+PUYsJCEzcC5dJHp2LjIiekYvNyQkITMzYUc8JGUuZiU9RiwkITNteSZlWWZCL3YoRi83JCQhM2dgJHp0P0xbIT1GLCQhMyQpeio0TS4vYHIoRi9GaF1wNyc3JCQhMztAJ1JuKHkyJW8iRiwkITM/TS8jKT4kSEQ0KEYvNyQkITMnPXIkZmNhRFw7RiwkITNjaiZ6LG9xdSF6Ri83JCQhMz8kZj5kRW9ybiJGLCQhMyNHTS9FciV6X3hGLzckJCEzdU87cSg+QGtqIkYsJCEzP2M+VShvbSM0eEYvRl1fcDcnNyQkITNtPFElKVwyO0E6RiwkITMpNCEzMzRrTCk0KEYvNyQkITMhPj1jLERSeVoiRiwkITN6Jz4+NGZqOyF6Ri83JCQhMyEzKHonZUo9dl0iRiwkITN5OiRvOTRSYXYoRi83JCQhMzleZ3hjPk5uOUYsJCEzanIoZW9AUCtxKEYvRmJgcDcnNyQkITMtQlhedzBZaThGLCQhM0s8S09LU2g0ckYvNyQkITMxVkA6ITQxVUkiRiwkITNXIXlPdydmUSEqeUYvNyQkITMnM2EtWyZ5TE84RiwkITNtY2cpKlFIdmR4Ri83JCQhM3FpKVEhZSMqSChIIkYsJCEzOyIzTDUkWyRcbyhGL0ZnYXA3JzckJCEzOj5rSngiUmo/IkYsJCEzcFVAZSRHIWVMckYvNyQkITNXOHAsY1QqcDciRiwkITM1YnlUOyg+ayd5Ri83JCQhM10uXidHJVFcaTZGLCQhM2VwdEhqZk1keEYvNyQkITMoeUpCNyg9JmU3IkYsJCEzKW8pSG4nb2siZXdGL0ZcY3A3JzckJCEzUUVlQmBPT2I1RiwkITNldSVbMFh6Jik9KEYvNyQkITNrSDxrbk1PWSUqRi8kITM/QjpYXDBVNnlGLzckJCEzYSU9NUpSMD0lKSpGLyQhMzVVTlhpZ3hYeEYvNyQkITM3ZidlTyVbUUkmKkYvJCEzanZST0hwTzJ3Ri9GYWRwNyc3JCQhM1skb0IpKjNFWDIqRi8kITNmUnQmKlFZYjR0Ri83JCQhM0V4SCVvZFNAZihGLyQhMz1lRS9oYFchcChGLzckJCEzek9eWk4iNCQzISlGLyQhM0hKZ0QmPkgxcShGLzckJCEzXHhDVnVQJ3kieUYvJCEzPVVNODE1TDp2Ri9GZmVwNyc3JCQhM3VFQDZPJz4qKlwoRi8kITNTPGIvQE5AJVwoRi83JCQhM1MsN0EocDhNJGVGLyQhM1AhW2EqeWt5MHZGLzckJCEza1B4TmNnNig+J0YvJCEzMFMnWzdbUHVnKEYvNyQkITMxYktTeCZIOD4nRi8kITNtdXMpKVFVNypSKEYvRltncDcnNyQkITNdbjNrOVZGIXkmRi8kITMjPTsmKlJWLGprKEYvNyQkITNeRiJmYG9EKD5VRi8kITMnZiRbK20mKXBgdEYvNyQkITMjKilHaHZsVldbJUYvJCEzPicqKWZYQiRlOXZGLzckJCEzJz1YYzo0WDJqJUYvJCEzSnonKiplbDkmPnRGL0ZgaHA3JzckJCEzOFdPKD5IXDYuJUYvJCEzc1gmKlF2JGZ4cyhGLzckJCEzJCk9SXB1dF5ORUYvJCEzMV8vaEMxQ3NzRi83JCQhMzwnZnMxJzMhUSNHRi8kITM9LiNmPkshNGV1Ri83JCQhMytWQDFPLWNeSUYvJCEzKVs3KkhLamokRyhGL0ZlaXA3JzckJCEzXmw3c0w/QjZCRi8kITNlIzRkWHYjNGt4Ri83JCQhM1hrP2gqSCxALSJGLyQhMz8wSFdYcyFmQihGLzckJCEzSyEpelk4KmYicDZGLyQhM15jY19MTSQzVihGLzckJCEzdHRdLW9FREw5Ri8kITNnMD93IjQjcHBzRi9GampwNyc3JCQhMyc0aiEqZVhzOUYnRmR6JCEzMTpfJSo+cFB1eEYvNyQkIjNHazEqZVhzOUYnRmR6JCEzciN5YSszQmNBKEYvNyQkIjMjPiEqW0UjKUh4I1xGZHokITN1ZWQ+eF4jR1UoRi83JCQiMyFIdSc+QjEnUj0jRmR6JCEzI0dcKXpsJFFnRShGL0ZfXHE3JzckJCIzeW4/aCpILEAtIkYvRmhqcDckJCIzJSlvN3NMP0I2QkYvRl1bcTckJCIzJUdObCk+TTxrQEYvRmJbcTckJCIzcWYjM2BtITMrPkYvRmdbcUZiXXE3JzckJCIzO0FJcHV0Xk5FRi9GY2lwNyQkIjNZWk8oPkhcNi4lRi9GaGlwNyQkIjNkcFMqZiFlJ0clUUYvRl1qcDckJCIzSUJYZ0lrNTpPRi9GYmpwRl9ecTcnNyQkIjMlMzhmYG9EKD5VRi9GXmhwNyQkIjMlPigzazlWRiF5JkYvRmNocDckJCIzMjYoUUNNY2JeJkYvRmhocDckJCIzLVpOVzNcRHBgRi9GXWlwRlxfcTcnNyQkIjN0LzdBKHA4TSRlRi8kITNJO2IvQE5AJVwoRi83JCQiMzNJQDZPJz4qKlwoRi8kITNbIlthKnlreTB2Ri83JCQiMyRRZnZwRjxpOChGLyQhMztUJ1s3W1B1ZyhGLzckJCIzVHcrJGZ2Lj85KEYvJCEzd3ZzKSlRVTcqUihGL0ZbYHE3JzckJCIzZyEpSCVvZFNAZihGLyQhM1tRdCYqUVliNHRGLzckJCIzIW9vQikqM0VYMipGLyQhM0lmRS9oYFchcChGLzckJCIzSUY6Pkp2TmUnKUYvJCEzU0tnRCY+SDFxKEYvNyQkIjNxKD1NQSpHISlbKSlGLyQhM0hWTTgxNUw6dkYvRmBhcTcnNyQkIjMzTTxrbk1PWSUqRi9GX2RwNyQkIjNnRWVCYE9PYjVGLEZkZHA3JCQiM0AiKSopb2clPmUsIkYsRmlkcDckJCIza0xUajo6J3AvIkYsRl5lcEZjYnE3JzckJCIzKlEicCxjVCpwNyJGLEZqYnA3JCQiM2c+a0p4IlJqPyJGLEZfY3A3JCQiM2FII28vXFIzPCJGLEZkY3A3JCQiMzw6KzZpOVsyN0YsRmljcEZgY3E3JzckJCIzXVZAOiE0MVVJIkYsJCEzQDtLT0tTaDRyRi83JCQiM1lCWF53MFlpOEYsJCEzYyJ5T3cnZlEhKnlGLzckJCIzbURUJz0iKUcuTCJGLCQhM3lkZykqUUh2ZHhGLzckJCIzI1EheWkzdU9wOEYsJCEzRyMzTDUkWyRcbyhGL0ZfZHE3JzckJCIzTSM9YyxEUnlaIkYsRmBgcDckJCIzNj1RJSlcMjtBOkYsRmVgcDckJCIzP0g/OCVvIlsjXCJGLEZqYHA3JCQiMykpW1JBViFbRWAiRixGX2FwRmJlcTcnNyQkIjNLN1BmY2FEXDtGLEZbX3A3JCQiM2dAJ1JuKHkyJW8iRixGYF9wNyQkIjNHU1Bobl07YztGLEZlX3A3JCQiM3MncEpjODdwcCJGLEZqX3BGX2ZxNyc3JCQiMzwlKlEkKTNiRz49RixGZl1wNyQkIjNDdEYkeToiUVo9RixGW15wNyQkIjMpRyJRXCQzajIjPUYsRmBecDckJCIzTzh0R2ZNJD0nPUYsRmVecEZcZ3E3JzckJCIzKz1CSTl3VCkpPkYsRmFccDckJCIzKUdvKHAmUSNlNj9GLEZmXHA3JCQiMyFbUFs1JWYkZik+RixGW11wNyQkIjNFb2o0IT4pPkY/RixGYF1wRmlncTcnNyQkITM3OXFFLjgoPiwjRiwkITNnJFJlanhAVkQnRi83JCQhM20mKUh0J3BHISkpPkYsJCEzeU9cKHBiNiF6cUYvNyQkITNTPzdpbidIUSwjRiwkITNYcFsqNDZEYSJwRi83JCQhMy0kUiFmeV5mcz5GLCQhMy9MdCNHJm9cJilvRi9GaGhxNyc3JCQhM2EhPilwUVcmeiU9RiwkITMzeSM+R1Zqa0QnRi83JCQhMylmWm96QTcoPT1GLCQhM0lfU14rKnBvMihGLzckJCEzO0wmKipSXmBiJT1GLCQhM05UcGdySV88cEYvNyQkITNNJXo5MT5MWCE9RiwkITMvKHolPjMuKDQpb0YvRl1qcTcnNyQkITMhZVwkZlwkZlxvIkYsJCEzIVssRTtnaSxFJ0YvNyQkITNDUClSUClSUFs7RiwkITNlOnRxSjI8dHFGLzckJCEzIVEoMzBeLGl3O0YsJCEzOklDJD07OisjcEYvNyQkITNtM29hVyhwZmoiRiwkITNRY2BeYU1HdW9GL0ZiW3I3JzckJCEzd191Lyp5JWVCOkYsJCEzLWQiPSo9Yi5uaUYvNyQkITMhb2FfNEA6a1oiRiwkITNPdF5UOXlIbXFGLzckJCEzeW4qbzpHNG1dIkYsJCEzXj53blBNdEFwRi83JCQhMzM8VHptaGttOUYsJCEzZygpKmVdWXJQJ29GL0ZnXHI3JzckJCEzRzNuWnFnKVtPIkYsJCEzU200ZSxALSJHJ0YvNyQkITN5ZCoqPSdmIXksOEYsJCEzJ1JPXzxCNkIwKEYvNyQkITNwIXoxL2NEWkwiRiwkITNUdlAzZUp3Q3BGLzckJCEzITNBKSpRNWhoSCJGLCQhMztPYEE6OCllJW9GL0ZcXnI3JzckJCEzKFwlWyI9ZDgxQCJGLCQhMz0jeV0yJCpcRUonRi83JCQhM2ooWz06dz5GNyJGLCQhMz9bRGUtTW8/cUYvNyQkITNnJkhfaztdJWY2RiwkITNocVBvIUhCQiNwRi83JCQhM0kyMidHXFtTNyJGLCQhMyRSSzh5LWNDIm9GL0ZhX3I3JzckJCEzay8uKik0VEdpNUYsJCEzQUt2WyslWykqUSdGLzckJCEzJXAlcDQsKmVyUCpGLyQhMzspelhHJFxbVnBGLzckJCEzM1U/RlRoRSZ5KkYvJCEzVEx0JFtDdTkhcEYvNyQkITM3NEg0dnlXMyYqRi8kITNFcjo2cVJ3WG5GL0ZmYHI3JzckJCEzKzo7cENcRU8iKkYvJCEzNUUiKjMhUlteYidGLzckJCEzdlhdKD51LC9gKEYvJCEzRy9VQ1ZcPXluRi83JCQhM0cmW3MhZS8lUSR6Ri8kITNaJnk3PmNpLSRvRi83JCQhMz1ZXFwiPUFCI3lGLyQhMyhbQHRTbUgmSG1GL0ZbYnI3JzckJCEzVUNtWyQpZTohWyhGLyQhMzFSV1VkVjBkbkYvNyQkITN1Lm4lKVx1PGBlRi8kITNLIiopM2YoKnlpZCdGLzckJCEzRThLP29aQmdoRi8kITMvM1U/WVQ1PG5GLzckJCEzNygpNCcqZUNpXWlGLyQhM149IyoqPiU9dDhsRi9GYGNyNyc3JCQhMyZHJyo0Wj5vNXImRi8kITMjWzpSUl1QUilvRi83JCQhMzlLK0gwPSQqKUclRi8kITNhdlRSSGVSXGtGLzckJCEzT3NaKG8lej4pWyVGLyQhM2BtRS0nUWdCaidGLzckJCEzK2lzOSV5b2FxJUYvJCEzI2U8WHRMJGZha0YvRmVkcjcnNyQkITM/IlFPQVZ1aCZSRi9GaWByNyQkITN3IkdJV0IjXDVGRi9GZGByNyQkITNRVmlVMzd5VEdGLyQhMzdmPEFqJHB2ZSdGLzckJCEzIXBQMFlaKmY9SkYvJCEzKHAqZlwpM2Y9VidGL0ZoZXI3JzckJCEzWDxCZjFzeVJBRi8kITNFRXVpXnA5cHBGLzckJCEzXTc1dUVoYSQ0IkYvJCEzNy9mcSJRJz1rakYvNyQkITM7bVB3ZFdaIT4iRi8kITNjKWZjWUQvb2MnRi83JCQhM1FGWHNVWiZIXCJGLyQhM20lPXYnPlRfQmtGL0ZbZ3I3JzckJCEzS0hQJm80MVpkJkZkeiQhMzM9aiQ0Y3NqKHBGLzckJCIzaWlQJm80MVpkJkZkeiQhM0k3cVJzMidwTidGLzckJCIzOWQkWyo9cUo0WkZkeiQhM2FLdG4lPV4yYydGLzckJCIzKjQkPUR3IWVBaCJGZHokITNvKSlmREtOUUBrRi9GYGhyNyc3JCQiM3E6NXVFaGEkNCJGL0ZpZnI3JCQiM3k/QmYxc3lSQUYvRl5ncjckJCIzNm4mcGIoKWVHOSNGL0ZjZ3I3JCQiMy8xKTMxZnkuJT1GL0ZoZ3JGY2lyNyc3JCQiMzQmR0lXQiNcNUZGL0ZpYHI3JCQiM2ElUU9BVnVoJlJGL0ZkYHI3JCQiM09BL0NlYSlbI1FGL0ZeZnI3JCQiM1MqR2g/Pm4hW05GL0ZjZnJGYGpyNyc3JCQiM1tOK0gwPSQqKUclRi9GY2RyNyQkIjNIbio0Wj5vNXImRi9GaGRyNyQkIjNrRl83YD8hPV4mRi9GXWVyNyQkIjMrUUYmZUBKWEgmRi9GYmVyRl1bczcnNyQkIjMzMm4lKVx1PGBlRi9GXmNyNyQkIjN1Rm1bJCllOiFbKEYvRmNjcjckJCIzQz0sOGwmKTR0ckYvRmhjcjckJCIzT1dCUHUzciMzKEYvRl1kckZqW3M3JzckJCIzPl1dKD51LC9gKEYvRmlhcjckJCIzQTw7cENcRU8iKkYvRl5icjckJCIzcHhUZjNpI0d0KUYvRmNicjckJCIzeTs8PCZbV1YlKSlGL0ZoYnJGZ1xzNyc3JCQiM0VdcDQsKmVyUCpGL0ZkYHI3JCQiMzMwLiopNFRHaTVGLEZpYHI3JCQiM2QmenNlUXQ5LSJGLEZeYXI3JCQiMycpMzJcN186XDVGLEZjYXJGZF1zNyc3JCQiMzIpWz06dz5GNyJGLEZfX3I3JCQiM1RYWyI9ZDgxQCJGLEZkX3I3JCQiM1dQNSlvOyQpUTwiRixGaV9yNyQkIjN1REVaU1tHNDdGLEZeYHJGYV5zNyc3JCQiM0JlKio9J2YheSw4RixGal1yNyQkIjN1M25acWcpW08iRixGX15yNyQkIjMkZSgpZmk1VD5MIkYsRmRecjckJCIzcVglb0ZjMDBQIkYsRmleckZeX3M3JzckJCIzQ1pEJjRAOmtaIkYsRmVccjckJCIzP2B1Lyp5JWVCOkYsRmpccjckJCIzQUs1Vj0yUiRcIkYsRl9dcjckJCIzI0gpZT9MUU5MOkYsRmRdckZbYHM3JzckJCIzb1ApUlApUlBbO0YsRmBbcjckJCIzQydcJGZcJGZcbyJGLEZlW3I3JCQiM29mQ0cjPThubCJGLEZqW3I3JCQiMyNbXyd5KWVqdHAiRixGX1xyRmhgczcnNyQkIjNWdyVvekE3KD09RixGW2pxNyQkIjMpND4pcFFXJnolPUYsRmBqcTckJCIzIlE4bkU6ODYjPUYsRmVqcTckJCIzaXM9MHdNOGk9RixGampxRmVhczcnNyQkIjM1JylIdCdwRyEpKT5GLEZmaHE3JCQiM2Q5cUUuOCg+LCNGLEZbaXE3JCQiMzEheXlCTHFoKT5GLEZgaXE3JCQiM0AyJzQ5I1tTRj9GLEZlaXFGYmJzNyc3JCQhMytOUT9vbEw3P0YsJCEzW0UtMyhvZDdVJkYvNyQkITN5a2h6Sk1tKCk+RiwkITNbT2tleiozYUMnRi83JCQhM1tTKVFbNTRPLCNGLCQhMy8iPnQzcSZSIzMnRi83JCQhM3dITkBTOlNzPkYsJCEzYS5PTyFHYTowJ0YvRmFjczcnNyQkITNRKSlHQiYqKSpcWz1GLCQhM2wiSF9gXkRPVSZGLzckJCEzOXlQVnJuOz09RiwkITNLclZKXjYvVmlGLzckJCEzNXMkemlaPl8lPUYsJCEzXXolUVdtIWYlMydGLzckJCEzN283WyVwW1UhPUYsJCEzcyJmKm9mVW5ZZ0YvRmZkczcnNyQkITNNbnRyZUQiZW8iRiwkITNeI3ojNC5GInlVJkYvNyQkITNxbGZodTJfWjtGLCQhM1hxUWRqUiYpUWlGLzckJCEzWy5dZD9zM3c7RiwkITNBYlAnW3UhPigzJ0YvNyQkITNlXDRiZF5gTjtGLCQhMzkucXQ5Z0tSZ0YvRltmczcnNyQkITNwLSM9a2QlKlxfIkYsJCEzUW5cISpRLCZlViZGLzckJCEzKW96ImVCYSt2OUYsJCEzZiZwaHhfOzNCJ0YvNyQkITNnNzJQX0RxMDpGLCQhM0d0IzNqWlcqKjMnRi83JCQhM0l3eSNIQmFmWSJGLCQhMy1tRkVOIWV1LSdGL0ZgZ3M3JzckJCEzSS1DTHhNTm44RiwkITNvUFBNQiNwSFgmRi83JCQhM3dqVUwqPTgkKkgiRiwkITNIREhLVnVwOGlGLzckJCEzIUdhMCRcRDFMOEYsJCEzQ1FCTkssXyI0J0YvNyQkITNfJGUxJFFoLSZIIkYsJCEzaGxZTnMocGsrJ0YvRmVoczcnNyQkITMjUVkpXDMnUl1AIkYsJCEzSz1rNCUqMzAlXCZGLzckJCEzeW9bJFtzJEg9NkYsJCEza1ctZHNkaHNoRi83JCQhMzd3eC5YUj9jNkYsJCEzcUs5OVckb2gzJ0YvNyQkITMjXDM5NnF2QTciRiwkITMhKlE+YyopZkJsZkYvRmppczcnNyQkITNpUm4qKlJGKilvNUYsJCEzeS1BaVttISopZiZGLzckJCEzPShmSytnczVKKkYvJCEzPWdXLz0rd25nRi83JCQhM1xFY0RkLWdFKCpGLyQhM20kKXoqM0BtQjAnRi83JCQhM3koXFdEZHRAXCpGLyQhMzFNaCE0T00sKWVGL0ZfW3Q3JzckJCEzV2pJWjxYbWsiKkYvJCEzJipvdEBud1kvZUYvNyQkITNKKGYkPlxAKy12Ri8kITMtJUhcJSoqKik+aWVGLzckJCEzLyQ9alclPlR3eUYvJCEzR3AqKlEoPjtPJmZGLzckJCEzXz9zTXlpYVp5Ri8kITN1Tl1OLE15WGRGL0ZkXHQ3JzckJCEzOio0V14jKnA/VihGLyQhM3lCQSNmazIiKSpmRi83JCQhMyxIIyo9M01FLGZGLyQhMz1SV3U/IWYmb2NGLzckJCEzMzBfKVtlMC46J0YvJCEzbG8xTil6JGVOZUYvNyQkITNbKTR1dSopel1KJ0YvJCEzKSk0OHQkKUhCV2NGL0ZpXXQ3JzckJCEzNSlmYXFPbFhrJkYvJCEzO0QvKnkzRXU0J0YvNyQkITNZKFJYSGpNYU4lRi8kITMheUJ3KHkwQ3BiRi83JCQhM1k4OCFvQyRcLVhGLyQhMzUqKSplb3dtVHcmRi83JCQhM2cxJWU4KydlbVpGLyQhMz5RYDREYS0uY0YvRl5fdDcnNyQkITMhb0oucWxwWSpRRi8kITMuXCpvdm4pR1RoRi83JCQhMztZTG00cSo+eCNGLyQhMyVScig0Kil6UERiRi83JCQhMzNCIkdkNCYzaEdGLyQhM0Z2Z0EwTyopR2RGLzckJCEzaVNQJypSLy9wSkYvJCEzU3kmM1ZfZiYpZSZGL0ZjYHQ3JzckJCEzYTklR146TlA9I0YvJCEzSUBTLCMqPTRnaEYvNyQkITM5Olw/eSIpZlw2Ri8kITNuVEVsdVpkMWJGLzckJCEzbD1uNkFoNjU3Ri8kITN2IzRyPyUqKXA3ZEYvNyQkITMielMoeiFvdW9gIkYvJCEzVWJjJio+PVYkZSZGL0ZoYXQ3JzckJCEzPkt5TCJHJFxMXUZkeiQhMzc6UWtxU1NsaEYvNyQkIjNdbHlMIkckXExdRmR6JCEzJXklRy0nZmk3XSZGLzckJCIzMlo9PVUvRzlYRmR6JCEzL0Q8QTRAKHpxJkYvNyQkIjMhWyx4IXBJZCQ+IkZkeiQhMyt6Iyk9eFo4I2UmRi9GXWN0Nyc3JCQiM1s9XD95IilmXDZGLyQhMz8/UywjKj00Z2hGLzckJCIzKXlUR146TlA9I0YvJCEzeVVFbHVaZDFiRi83JCQiM105bUA2c0BCQEYvJCEzJ1E0cj8lKilwN2RGLzckJCIzQ0RmYF8nZWt6IkYvJCEzX2NjJio+PVYkZSZGL0ZiZHQ3JzckJCIzXVxMbTRxKj54I0YvRmFgdDckJCIzNz9MK2QncFkqUUYvRmZgdDckJCIzQFYmUTRkImUwUUYvRlthdDckJCIzbURIcUVpaShcJEYvRmBhdEZlZXQ3JzckJCIzeSthJUhqTWFOJUYvRlxfdDckJCIzVixZMG5gY1djRi9GYV90NyQkIjNTJm8pPmBuXShcJkYvRmZfdDckJCIzdSJmVCcpKlJUTF9GL0ZbYHRGYmZ0Nyc3JCQiM01LIyo9M01FLGZGL0ZnXXQ3JCQiM1stVDlEKnA/VihGL0ZcXnQ3JCQiM0tEIlslW3gtJD0oRi8kITNhbjFOKXokZU5lRi83JCQiMytMI2ZlVmAjPXFGLyQhM3gzOHQkKUhCV2NGL0ZfZ3Q3JzckJCIzaytPPlxAKy12Ri9GYlx0NyQkIjN3bUlaPFhtayIqRi9GZ1x0NyQkIjMtIlsuQXNhLXopRi9GXF10NyQkIjNjViU+JClRPyI+KSlGL0ZhXXRGYGh0Nyc3JCQiM2ksRS4rRTI2JCpGL0ZdW3Q3JCQiMyUpUm4qKlJGKilvNUYsRmJbdDckJCIzInBWdVUoKlJ0LSJGLEZnW3Q3JCQiM3lcYnVVRXldNUYsRlxcdEZdaXQ3JzckJCIzQXBbJFtzJEg9NkYsRmhpczckJCIzRWslKVwzJ1JdQCJGLEZdanM3JCQiMyFwYiZIKVFIcjwiRixGYmpzNyQkIjM2WyM+QWpkNUAiRixGZ2pzRmppdDcnNyQkIjM/a1VMKj04JCpIIkYsRmNoczckJCIzdy1DTHhNTm44RixGaGhzNyQkIjNzQjZPPFRnTDhGLEZdaXM3JCQiMz8kM2ckRzBrcjhGLEZiaXNGZ2p0Nyc3JCQiM2EoeiJlQmErdjlGLEZeZ3M3JCQiMyJIPz1rZCUqXF8iRixGY2dzNyQkIjM9KEdId1coSCVcIkYsRmhnczckJCIzW0JAMm5kL006RixGXWhzRmRbdTcnNyQkIjM5bWZodTJfWjtGLEZpZXM3JCQiM3ludHJlRCJlbyJGLEZeZnM3JCQiMytJJGVGNllzbCJGLEZjZnM3JCQiMylRUSN5diIpeihwIkYsRmhmc0ZhXHU3JzckJCIzZXlQVnJuOz09RixGZGRzNyQkIjMjKSkpR0ImKikqXFs9RixGaWRzNyQkIjMnW0goUSE+WjkjPUYsRl5lczckJCIzJSkpUiY9c3pUaT1GLEZjZXNGXl11Nyc3JCQiM0FsaHpKTW0oKT5GLEZfY3M3JCQiM1dOUT9vbEw3P0YsRmRjczckJCIzJypmNjsmKjNSJyk+RixGaWNzNyQkIjNZcWt5ZiUpZkY/RixGXmRzRltedTcnNyQkITNoaDYtSzluNz9GLCQhMyk0QzckZiV5IillJUYvNyQkITM9USl5emNHdCk+RiwkITNuYnhvUzojPVQmRi83JCQhMytgJkhnYDFNLCNGLCQhM1MmZSRvc29MXF9GLzckJCEzQXgyJz5RQ0EoPkYsJCEzUCJvSUVIZXdAJkYvRmpedTcnNyQkITMjW2xsRC0xIVw9RiwkITNPUFwvcSdvMmYlRi83JCQhM3A2NTVXMW08PUYsJCEzJSlmXSYqSDhCNGFGLzckJCEzSXAiNFRvM1wlPUYsJCEza3VFaEYpPjtEJkYvNyQkITNLak82XmIpUiE9RiwkITNIcj1gLyJRQ0AmRi9GX2B1Nyc3JCQhM3kpUWVSMjxtbyJGLCQhM2MmSGlWMl1hZiVGLzckJCEzRVdcUGZpclk7RiwkITNsLHhqRCpcWFMmRi83JCQhM09vP1VORGV2O0YsJCEzI3BuLCV5RUphX0YvNyQkITM0KUhlR2FGXmoiRiwkITM8cUI8Z21WL19GL0ZkYXU3JzckJCEzTk9aJFFKX2pfIkYsJCEzJTMmKnlDSDpaZyVGLzckJCEzP2pfOydvWk9aIkYsJCEzRVg1XzJaRyZSJkYvNyQkITNXMWc6M0cjW10iRiwkITNtLFRmKz0xZF9GLzckJCEzIT0hUlNQVkhsOUYsJCEzQWdzKzs1PSI+JkYvRmlidTcnNyQkITNvM1QhKjQpKXlwOEYsJCEzbyRlQUlyPWBpJUYvNyQkITNTZER3Y3kob0giRiwkITMpSFR4cEcib3VgRi83JCQhM0EzLF8wd1JKOEYsJCEzWVAkb2koKTMhZV9GLzckJCEzZW1CI29aSFJIIkYsJCEzIyopUlRbPXFvOyZGL0ZeZHU3JzckJCEzS1E5XyNbTyU+N0YsJCEzJVxoKSo+ejx2biVGLzckJCEzRiUqPSIzJm8qUTYiRiwkITNGI1EsITNBW0FgRi83JCQhMzEkZmA8JzQoRzoiRiwkITM9Kio0aSZlMClbX0YvNyQkITMjW1hgNHVBMTciRiwkITNvcFMpZi8iKW82JkYvRmNldTcnNyQkITN3IyoqXCMqZk5YMiJGLCQhM1c7XSg9K2hPIltGLzckJCEzeWwrXTJTa2EjKkYvJCEzeSEpXDcpKipRaj0mRi83JCQhM10zbHU9QGNxJypGLyQhM0slW1RUTUApKT4mRi83JCQhM2dFOmk/SkElWypGLyQhM1ctbCxZQls3XUYvRmhmdTcnNyQkITNHelkqKXkocDo7KkYvJCEzczxYJ2U4OGcvJkYvNyQkITNaIik+eCgpbzQwdkYvJCEzU3lhOGtvKVImXEYvNyQkITNwW3kkNEFGMiV5Ri8kITMxeFE2I3BTdTImRi83JCQhM2lvQiFvTlNuKXlGLyQhM2NSTnMhZSJRcVtGL0ZdaHU3JzckJCEzO0htUGhbdHh0Ri8kITNgKVtzcyQzRjxfRi83JCQhMysqcGM+WilmYmZGLyQhM3EzdnNpIkhGeSVGLzckJCEzbVE5YThZJ1s6J0YvJCEzbyoqZk4+UHBsXEYvNyQkITNJR1IiM1hOQFAnRi8kITNVMyZ5MW5FenklRi9GYml1Nyc3JCQhMydweSkpNGxiIyplJkYvJCEzWSRSJVxEeWklSCZGLzckJCEzZzM3LFxWdTVXRi8kITM+LmNddUBQMFpGLzckJCEzP0RSIXloJmU9WEYvJCEzTWYiXDtzMW0hXEYvNyQkITNOPyQpSFZNQDhbRi8kITNbaD4hKjNHSGZaRi9GZ2p1Nyc3JCQhMyFvdiJRXk4jcCVRRi8kITM4Zkp2JDNGIkdgRi83JCQhMzwxXEc6SnU+R0YvJCEzYVBvQztIKD1uJUYvNyQkITNfKSkzUmgxMnlHRi8kITNTaEdnKSlbOnlbRi83JCQhM0tcUzlYeD4xS0YvJCEzMWIyNE10dlxaRi9GXFx2Nyc3JCQhM2RAPnA6JDM1OSNGLyQhM0N0OiYpeitlVWBGLzckJCEzQzM5azxdSyM+IkYvJCEzKVJVWywjKj51bCVGLzckJCEzRmUreU80VkU3Ri8kITNLanZFX1QwbFtGLzckJCEzaUs7ajs1LHA6Ri8kITNJXDcsUyhva3UlRi9GYV12Nyc3JCQhMzRELUBOO11BWUZkeiQhM3FtMmtBd29ZYEYvNyQkIjNSZS1ATjtdQVlGZHokITMpKkgjZnRQN0xsJUYvNyQkIjNvNTAmZSN5TGFWRmR6JCEzMUY7Kj56ODcnW0YvNyQkIjM5JkdHVypmaHUpKSEjPyQhM0tyODZeN2xYWkYvRmZedjcnNyQkIjNVNjlrPF1LIz4iRi9GX112NyQkIjM9RD5wOiQzNTkjRi9GZF12NyQkIjM7dktiJ1ItcDUjRi9GaV12NyQkIjMhM3EsbkpBVnciRi9GXl52RmpfdjcnNyQkIjNdNFxHOkp1PkdGL0ZqW3Y3JCQiMzdnPFFeTiNwJVFGL0ZfXHY3JCQiM3d4ZEYwZ2YpeSRGL0ZkXHY3JCQiMylwaEE6IypvL1kkRi9GaVx2RmdgdjcnNyQkIjNQNjcsXFZ1NVdGL0ZlanU3JCQiM0kheikpNGxiIyplJkYvJCEzdS5jXXVAUDBaRi83JCQiM290Zz4jUTk5WyZGL0ZfW3Y3JCQiMzV6O3FjbHknPSZGLyQhMy9pPiEqM0dIZlpGL0ZkYXY3JzckJCIzQSxuJj5aKWZiZkYvJCEzVShbc3MkM0Y8X0YvNyQkIjNnTG1QaFt0eHRGL0ZlaXU3JCQiMyVSKj16PihvJXlyRi9Gaml1NyQkIjNJLyU+RCl5PmhwRi9GX2p1RmdidjcnNyQkIjMhWyk+eCgpbzQwdkYvRltodTckJCIzZyNvJSopeShwOjsqRi8kITMnKnlhOGtvKVImXEYvNyQkIjNHOSlHZFdSZiMpKUYvRmVodTckJCIzVyZIayk0aiMqeigpRi9Gamh1RmRjdjcnNyQkIjNBcStdMlNrYSMqRi8kITMqZSx2PStoTyJbRi83JCQiMylIKipcIypmTlgyIkYsRltndTckJCIzcltgNyl5VkguIkYsRmBndTckJCIzIXAleSR6b3g6MCJGLCQhM0wsbCxZQls3XUYvRmVkdjcnNyQkIjMkXCo9IjMmbypRNiJGLCQhM1M5JykqPno8dm4lRi83JCQiM2JROV8jW08lPjdGLEZmZXU3JCQiM3dSKHo6UGkvPSJGLEZbZnU3JCQiMyp6KCl6QmY1RkAiRixGYGZ1RmZldjcnNyQkIjMxZUR3Y3kob0giRiwkITM4JGVBSXI9YGklRi83JCQiMyEqM1QhKjQpKXlwOEYsRmFkdTckJCIzM2VsOWghcF9MIkYsRmZkdTckJCIzcSpIVykqPVBGUCJGLEZbZXVGZWZ2Nyc3JCQiM21qXzsnb1pPWiJGLEZnYnU3JCQiMyFvdE1RSl9qXyJGLEZcY3U3JCQiM2MkKlIlPT54XlwiRixGYWN1NyQkIjM/KTQnZmljcU06RixGZmN1RmJndjcnNyQkIjNxV1xQZmlyWTtGLEZiYXU3JCQiM0EqUWVSMjxtbyJGLEZnYXU3JCQiMzdsNyJ6el14bCJGLEZcYnU3JCQiM1FOXVohejAjKXAiRixGYWJ1Rl9odjcnNyQkIjM5NzU1VzFtPD1GLEZdYHU3JCQiM0diY2NBZytcPUYsRmJgdTckJCIzbShcZEQpenZAPUYsRmdgdTckJCIzay5JYjo2b2k9RixGXGF1RlxpdjcnNyQkIjNpUSl5emNHdCk+RixGaF51NyQkIjMwaTYtSzluNz9GLEZdX3U3JCQiM1laLyhSWSRmJyk+RixGYl91NyQkIjMtQiNSIT1jeEY/RixGZ191RmlpdjcnNyQkITM2Kj08NjhwSCwjRiwkITNJJSlwXiEpbzJiUEYvNyQkITMpMyJHKSlvMy4oKT5GLCQhMzNZaiJHWGMjeVhGLzckJCEzRVZscGNoQTg/RiwkITMzPTRNaFVDO1dGLzckJCEzR3Y6M3lyMXM+RiwkITMlZSV6YUw5I1FRJUYvRmhqdjcnNyQkITNRNCh6KTM0WVw9RiwkITMpUipwUUR1KHl2JEYvNyQkITM5ZHB5ZGQ/PD1GLCQhM1FPaiV6IWZYdlhGLzckJCEzJnpDOFxtR1klPUYsJCEzW0QkM05XLyc9V0YvNyQkITNzIUcmeVMoXFAhPUYsJCEzPyZRVVldJkd5VkYvRl1cdzcnNyQkITNzVnJ4KXlddG8iRiwkITMzLSdRZytSSXckRi83JCQhM0sqPWNYYSMpZmsiRiwkITNHR1pIRlZIcVhGLzckJCEzdT0qKT06Lzd2O0YsJCEzcUplL3dOUEBXRi83JCQhM1Y3aDdcd3ZNO0YsJCEzb1EncDJGaidwVkYvRmJddzcnNyQkITM3JSpSImZnOXdfIkYsJCEzIWZcJmVvP2F0UEYvNyQkITNXMGczJVImUXM5RiwkITNbTXl1azd6ZlhGLzckJCEzV3ImMyIqNCoqUl0iRiwkITN0Mlx1eDozQ1dGLzckJCEzX2EvSVJtb2s5RiwkITMpPSMqZkgxWF1OJUYvRmdedzcnNyQkITNVVnhhWDY1czhGLCQhM0tiTXozUyR5eiRGLzckJCEza0EqPTZfbFhIIkYsJCEzLnYpUlhLKlxOWEYvNyQkITNGJipmNzRUekg4RiwkITN2P2gyaylcVVUlRi83JCQhM0F1J1FMJTMiSEgiRiwkITN5JTRTTkxJdEslRi9GXGB3Nyc3JCQhMzNyOylvI0dlQjdGLCQhMyE9VmgqNExLaVFGLzckJCEzXmg7WDEwdjQ2RiwkITNlKSo9UEIrLHJXRi83JCQhMyFHJkhnJTQ4J1w2RiwkITMnUnhdV29xLlQlRi83JCQhM2VIQyQqZSh5Ij42RiwkITMraUsiUkchM29VRi9GYWF3Nyc3JCQhM2EpKkdOMEdzeTVGLCQhMyg0bSZmSF4qKkhTRi83JCQhMyR5K3JrJT54NyMqRi8kITNTcHd0LiNRTEklRi83JCQhM09dL1podSk+aSpGLyQhMyhbIioqKSkpPmhETSVGLzckJCEzZ1glKlJDZkomWypGLyQhM1Nud10mPWFkOSVGL0ZmYnc3JzckJCEzQCZmZD5qJDNSIipGLyQhM1kqZXpAJTQpSEYlRi83JCQhM2FsITRaLiRlRnZGLyQhMyM0dWA2Ul8uMSVGLzckJCEzaGUuIjMsRUwjeUYvJCEzWlI4PDVtNTJVRi83JCQhMylHR0JqR1MnSHpGLyQhMylIRjpiLnBjKyVGL0ZbZHc3JzckJCEzZih6ZmhdIyopR3RGLyQhMzlFJ0dxOSsnPldGLzckJCEzY0lOPEYzVy9nRi8kITNDL1pJJz1MUCJSRi83JCQhMyNcSjlxR0VaOydGLyQhM18iKT0oZiNbLjFURi83JCQhMydlRnd0d2Z3VCdGLyQhMzkpZik0bSR5LyVSRi9GYGV3Nyc3JCQhMz8/cSEzOGtnYSZGLyQhM0ktWUdrPlQiWyVGLzckJCEzIVsoSD5wZSRSWCVGLyQhMzFHKFshcDgjPiZRRi83JCQhM2MiPXJdI2YsTFhGLyQhM2U+IUhyNG9rMCVGLzckJCEzcT0iKm9BN3daW0YvJCEzJ1JFRlcxXyo+UkYvRmVmdzcnNyQkITMkUXo3d1p0MiJRRi8kITN2IXkpMyMqKm8iM1hGLzckJCEzOXBRMCo9JCplJkdGLyQhM2pcWENUVjtEUUYvNyQkITNNcyE0S256PSpHRi8kITMpKSkpSCJSPz5GLiVGLzckJCEzIno9SicpKj5RTEtGLyQhMylHN1Z5O2ZMIlJGL0ZqZ3c3JzckJCEzOyhweHNSJSkpM0BGLyQhMzB3SCcpZm0jKT5YRi83JCQhM2xLYzBPKltXQSJGLyQhM0thLlp0bV04UUYvNyQkITMwMVMiUSRbTlI3Ri8kITNWMDRsX21xQFNGLzckJCEzdzsuLEZbXiNmIkYvJCEzV1oiKSoqPkE6NlJGL0ZfaXc3JzckJCEzKlxldDlKb1FKJUZkeiQhM0NKKVIyJipmSl8lRi83JCQiM0k9T1o2JG9RSiVGZHokITM5KlwkZiNRdCwiUUYvNyQkIjNPUDVvZVxQR1VGZHokITNOcilIbSZHWT1TRi83JCQiM04qeSRcejZVTW1GY192JCEzS0pJJSlbaGg1UkYvRmRqdzcnNyQkIjMmZWpiZyQqW1dBIkYvRl1pdzckJCIzXSt4RihSJSkpM0BGL0ZiaXc3JCQiM0FGJD4mKlx5UjQjRi9GZ2l3NyQkIjNRO0lLMSY9M3UiRi9GXGp3RmdbeDcnNyQkIjMhPihRMCo9JCplJkdGL0ZoZ3c3JCQiM3Moejd3WnQyIlFGL0ZdaHc3JCQiM10lZmRNKnB5dVBGL0ZiaHc3JCQiMyUqeWEub1lHTE1GL0ZnaHdGZFx4Nyc3JCQiMzl5SD5wZSRSWCVGL0ZjZnc3JCQiM21DcSEzOGtnYSZGL0ZoZnc3JCQiMyl5IilHXDIlKXBZJkYvRl1ndzckJCIzSyIpM0p4KFFBOiZGL0ZiZ3dGYV14Nyc3JCQiM3lLTjxGM1cvZ0YvRl5ldzckJCIzLi0pZmhdIyopR3RGL0ZjZXc3JCQiM288IT5qLzInb3JGL0ZoZXc3JCQiM3RjcSZmY3RjInBGLyQhM2UoZik0bSR5LyVSRi9GXl54Nyc3JCQiMygpbyE0Wi4kZUZ2Ri8kITMhKillekAlNClIRiVGLzckJCIzYSlmZD5qJDNSIipGLyQhM1tUUDoiUl8uMSVGLzckJCIzTi9qJmVsU0wlKSlGL0ZjZHc3JCQiMz4iUVYuUUVxdClGLyQhM2F0X15OIXBjKyVGL0ZfX3g3JzckJCIzOzY1Wlk+eDcjKkYvJCEzVWdjZkheKipIU0YvNyQkIjN5KSpHTjBHc3k1RiwkITMmKnB3dC4jUUxJJUYvNyQkIjNqYUgmUUQseS4iRixGXmN3NyQkIjM1YitjMiVvOTAiRiwkITMlem0yYj1hZDklRi9GYmB4Nyc3JCQiMyc+bV5rXV0oNDZGLEZfYXc3JCQiM2ByOylvI0dlQjdGLEZkYXc3JCQiM0EhUUkoUS1zJD0iRixGaWF3NyQkIjNwLjRTdVg6OTdGLEZeYndGY2F4Nyc3JCQiMzNCKj02X2xYSCJGLEZqX3c3JCQiMydRdVpiOSxAUCJGLEZfYHc3JCQiM0NyMWFkRChvTCJGLEZkYHc3JCQiM0cjKnpLQmV2dDhGLEZpYHdGYGJ4Nyc3JCQiMyllKyczJVImUXM5RixGZV53NyQkIjNjJSpSImZnOXdfIkYsRmpedzckJCIzY0c5KjMhNCsnXCJGLEZfX3c3JCQiM1xYJipwZ0xKTjpGLEZkX3dGXWN4Nyc3JCQiM3cqPWNYYSMpZmsiRixGYF13NyQkIjM7V3J4KXlddG8iRixGZV13NyQkIjN1OVc5PUhAZTtGLEZqXXc3JCQiMy9Acz8lb3YmKXAiRixGX153RmpjeDcnNyQkIjNmZHB5ZGQ/PD1GLEZbXHc3JCQiMyMpNCh6KTM0WVw9RixGYFx3NyQkIjMsPk12LCFRPyM9RixGZVx3NyQkIjNDJ1EiKWUjcCJIJz1GLEZqXHdGZ2R4Nyc3JCQiM002RykpbzMuKCk+RixGZmp2NyQkIjNjKj08NjhwSCwjRixGW1t3NyQkIjMncFguTCVReCcpPkYsRmBbdzckJCIzPEQlPT4jRyR6LSNGLEZlW3dGZGV4Nyc3JCQhMydHSjpZPEJLLCNGLCQhM2MyWmp5YyU+I0hGLzckJCEzOShvJVFEb3gnKT5GLCQhM19jPi4pKTRzV1BGLzckJCEzaChRKG81PzI4P0YsJCEzI0clXFR3UTYkZSRGLzckJCEzN0R2QFhLJD4oPkYsJCEzb2dtKClSZjBdTkYvRmNmeDcnNyQkITM/Wm9ZJ3pfKVw9RiwkITNKI3phWlxOXCNIRi83JCQhM0w+KSo+cVEibyI9RiwkITN4cj0iPjxKPHUkRi83JCQhMy4pKlJcKipvUVc9RiwkITMzRyopSFwhUmJlJEYvNyQkITNCV2hqOnJhLj1GLCQhM0NWXlkiUlNVYSRGL0ZoZ3g3JzckJCEzWUJJcFk1KnpvIkYsJCEzPU41UilbUjAkSEYvNyQkITNlNC5rJ0dVYGsiRiwkITMhKkdjRnlyN09QRi83JCQhM2c4KSlIMWRydTtGLCQhM2tiWD8teU8pZSRGLzckJCEzNCVlLz1LT1dqIkYsJCEzR2onUUAmbzBOTkYvRl1peDcnNyQkITNETW1iKXlNKEc6RiwkITMlXHBNTiQ0QVVIRi83JCQhM0tsTFc2X0VyOUYsJCEzOXA+OExkV0NQRi83JCQhMzUyWCcpZkxFLjpGLCQhM2svdSU9ZTI1ZiRGLzckJCEzV1ZZKSk+QDprOUYsJCEzWj1lWDUxPD5ORi9GYmp4Nyc3JCQhM1NZZ2pPJSk9dThGLCQhM11POWBmbzxxSEYvNyQkITNvPjEuSSN5Q0giRiwkITNjRl84MikqWydwJEYvNyQkITMwM3pRS29LRzhGLCQhM080SUw/dEkhZiRGLzckJCEzXT14KyY9Nj9IIkYsJCEzX0VpMmkmcCIpWyRGL0ZnW3k3JzckJCEzJXkiZS8nNF5zQSJGLCQhM2tdJSlmJT5Tcy8kRi83JCQhM3c5dkdQQTMxNkYsJCEzVzgjbz9aRSU+T0YvNyQkITNtQkJvQDJpWTZGLCQhMydmdCZ6WF1Gck5GLzckJCEzWU4pM3lTNiE9NkYsJCEzbmR5TXNSIik+TUYvRlxdeTcnNyQkITMjZSo+b0AqWzgzIkYsJCEzSGZiZFVjJUhDJEYvNyQkITNBTis9JHk1bD0qRi8kITN6LzY0QzVzQk1GLzckJCEzZz1WSCN6YlJlKkYvJCEzO3kyK2Uib2lbJEYvNyQkITMlZWFPOjVvTlwqRi8kITMzKXkmemBlKkdHJEYvRmFeeTcnNyQkITNFdzUmSCpRKzUiKkYvJCEzKTRjOSkzRU4lWyRGLzckJCEzWyVlOlB4aW1iKEYvJCEzMy5AJnkwOUI9JEYvNyQkITNXIz52TU5odSJ5Ri8kITNmYCM9QjkieldMRi83JCQhM1NAayYqRzFbb3pGLyQhMyVvIlFULU5pXUpGL0ZmX3k3JzckRl52JCEzY2xDXipmXixoJEYvNyRGY3YkITNfKT5hcjE6bDAkRi83JEZddyQhMylmVSkpKUhnQmFLRi83JEZodiQhM0VqRTtiZF8pNCRGL0ZpYHk3JzckJCEzNEIlWyE9LWY4YkYvJCEzJUdcJzM8L1loT0YvNyQkITNZczomPnk0a1slRi8kITNDcixlXGk/MElGLzckJCEzI1tiZCFHdHRXWEYvJCEzNSY+Tz5BKVs2S0YvNyQkITNpOjIiPVRrRyhbRi8kITN5KTNDdW0hNCQzJEYvRmhheTcnNyQkITNnOHpVZlknUnkkRi8kITM3SC11a1YjUW8kRi83JCQhM09cKFFzKy1GKUdGLyQhMyVcVkU+SVVHKUhGLzckJCEzWip5Lyd6YmUtSEYvJCEzN1xuPSdHUTQ+JEYvNyQkITM1KG82NWh3SUQkRi8kITN1LkptYS9HeUlGL0ZdY3k3JzckJCEzJXlUYjYkSDYmMyNGLyQhMyFmYCgzaD9tJHAkRi83JCQhMyk+Ino8LS9BWzdGLyQhMztHInpiZy9JKEhGLzckJCEzNSJ6JCllZVsjXDdGLyQhMzNjV2gvdEwiPSRGLzckJCEzNiYqemo4dGQ0O0YvJCEzL29BXFFkc3dJRi9GYmR5Nyc3JCQhMzEzOEZJLl4mMyVGZHpGalt5NyQkIjNRVDhGSS5eJjMlRmR6RmVbeTckJCIzUmY5Y0tbQEtURmR6JCEzY1AvZi9yXHlKRi83JCQiMygzL0RhJTRdMV1GY192JCEzcWFPTFkkZmoyJEYvRmVleTcnNyQkIjNJOno8LS9BWzdGL0ZgZHk3JCQiMz1AYTpKSDYmMyNGL0ZlZHk3JCQiMyM+YVx1dSUzJTMjRi9GamR5NyQkIjMvUWBwPmd2QjxGL0ZfZXlGZmZ5Nyc3JCQiM29fKFFzKy1GKUdGL0ZbY3k3JCQiMyNwInpVZlknUnkkRi9GYGN5NyQkIjMlbyg9MSgzIjNrUEYvRmVjeTckJCIzP3pcbGIrZjhNRi9GamN5RmNneTcnNyQkIjMhZWRePnk0a1slRi9GZmF5NyQkIjNVRSVbIT0tZjhiRi9GW2J5NyQkIjNfVkMlPm5pX1gmRi9GYGJ5NyQkIjNHJEcqPSllTnI3JkYvRmVieUZgaHk3JzckRmBfbCQhMytsQ14qZl4saCRGLzckRmNfbCQhMzMqPmFyMTpsMCRGLzckRmlfbCQhM2FFJSkpKUhnQmFLRi83JEZmX2wkITMjUW1pXnZEJik0JEYvRl1peTcnNyQkIjNxJ2U6UHhpbWIoRi8kITNXZ1giKTNFTiVbJEYvNyQkIjNyITNeSCpRKzUiKkYvJCEzay5AJnkwOUI9JEYvNyQkIjN1czk+OGA/XCkpRi8kITM5YSM9QjkieldMRi83JCQiM3lWLXJQZz0pcClGLyQhM1E8UVQtTmldSkYvRlxqeTcnNyQkIjNtUis9JHk1bD0qRi8kITN0ZWJkVWMlSEMkRi83JCQiMy8nKj5vQCpbODMiRiwkITNOMDY0QzVzQk1GLzckJCIzcW4weD9XZ1Q1RiwkITNzeTIrZSJvaVskRi83JCQiMzNYaiUpKj1WMTAiRiwkITNrKXkmemBlKkdHJEYvRmFbejcnNyQkIjM/OnZHUEEzMTZGLCQhMzNdJSlmJT5Tcy8kRi83JCQiM0c9ZS8nNF5zQSJGLCQhMys5I28/WkUlPk9GLzckJCIzUTQ1bDZFcic9IkYsJCEzXU9kelhdRnJORi83JCQiM2UoXENiIz5LOjdGLCQhM0FleU1zUiIpPk1GL0ZmXHo3JzckJCIzTT8xLkkjeUNIIkYsRmVbeTckJCIzaVlnak8lKT11OEYsRmpbeTckJCIzQ2UoeVUkKVIkUThGLEZfXHk3JCQiMyF5JSplO1tiWVAiRixGZFx5RmldejcnNyQkIjN3bExXNl9FcjlGLEZgang3JCQiM3BNbWIpeU0oRzpGLEZlang3JCQiMyFIXE4sa09uXCJGLEZqang3JCQiM2NjYDYhKXklZWAiRixGX1t5RmZeejcnNyQkIjMtNS5rJ0dVYGsiRixGW2l4NyQkIjMhUi0kcFk1KnpvIkYsRmBpeDckJCIzKSk+WC5Gd2hlO0YsRmVpeDckJCIzUVwoRzosKCopKXAiRixGaml4RmNfejcnNyQkIjN4PikqPnFRIm8iPUYsRmZneDckJCIza1pvWSd6XylcPUYsRltoeDckJCIzJCpvRTxuKHpBIz1GLEZgaHg3JCQiM3VBMC5eJj5KJz1GLEZlaHhGYGB6Nyc3JCQiM2UobyVRRG94Jyk+RixGYWZ4NyQkIjNJOGBodUpBOD9GLEZmZng3JCQiMyVHaDckKil6I3ApPkYsRltneDckJCIzNnZDeWFuMUc/RixGYGd4Rl1hejcnNyQkITMrWT1DZXdVOD9GLCQhM29rTU1tengpMyNGLzckJCEzK2EiZTxNc2wpPkYsJCEzNExsbEw/QTZIRi83JCQhMyN6TzsrelpILCNGLCQhMyk9aChlVUElKlxGRi83JCQhM1M5MmwnZUQ9KD5GLCQhM00nKkgpcDR0anIjRi9GXGJ6Nyc3JCQhM29eYHBMMjxdPUYsJCEzI28mUSslKm8jPjQjRi83JCQhMyVbSnJIJGZcOz1GLCQhM0FUaCpmNXQhM0hGLzckJCEzZz9aXCdSIT5XPUYsJCEzJ1xzXiM9IT5DdiNGLzckJCEzSzFeKmUzJFEuPUYsJCEzJCp5bU08Yks1RkYvRmFjejcnNyQkITM7UHgiUjI7JilvIkYsJCEzU3hCeTgtIno0I0YvNyQkITMoZWY6JWZzIltrIkYsJCEzUD93QCd5KjMtSEYvNyQkITNjMV1mPkdRdTtGLCQhM2EsIlswYyJIYkZGLzckJCEzW1dLKDQlUTxNO0YsJCEzIlxVP0MvbzFxI0YvRmZkejcnNyQkITM4SyQqSHhpbUg6RiwkITM5aWlXNSxqNUBGLzckJCEzVW4xcUFQTHE5RiwkITNpTlBiKikpcCQqKUdGLzckJCEzJD4jbzEjNFtFXSJGLCQhM19pbkVHMSZ5diNGLzckJCEzRVs5Ni42cmo5RiwkITNrSiU9XSRcbyRvI0YvRltmejcnNyQkITM9UnF5I2VZZlAiRiwkITM7J1xeV0xJPjkjRi83JCQhMylvaXpRMz8ySCJGLCQhM2ksJltibXAhZUdGLzckJCEzUDMlUmFrdnFLIkYsJCEzc0wzLTl2R2NGRi83JCQhMz9lWCkpeSdvN0giRiwkITNNb2xRIVJhKFxFRi9GYGd6Nyc3JCQhMztnImU9b1stQiJGLCQhMy94LykqPSZmMUIjRi83JCQhM1ZzXlpeWTMuNkYsJCEzWT8mPjVbUyRwRkYvNyQkITNOcGZyJlwkM1c2RiwkITNsdU9mXSw+S0ZGLzckJCEzODxTaFolXHI2IkYsJCEzKSpSXGg3XkJ0REYvRmVoejcnNyQkITMjPlpmSSMpKm8jMyJGLCQhM0FIeWVnKT0kW0NGLzckJCEzNXVfU3A8NXQiKkYvJCEzY29AVFI2b15ERi83JCQhM1d2NTh3KCoqcGIqRi8kITM7eEZVR1ttS0VGLzckJCEzdzAqPW5qPWBdKkYvJCEzQyc0dTJGU2ZVI0YvRmppejcnNyQkITM3Ol82WGwhRzMqRi8kITMhPWxqeWlqQG8jRi83JCQhM2lYOWJALCdRZShGLyQhMyhmTU9AUE95SiNGLzckJCEzO0siXCFHKDR0InlGLyQhM3U1b0gpbypSIVwjRi83JCQhMz0neTdmTnQlKip6Ri8kITNiUjhOJlFKSUkjRi9GX1tbbDcnNyQkITNLVXdReSVHK0UoRi8kITMlcGBCeExnRHojRi83JCQhMyVlb1hcJltJdGdGLyQhMyMzWXdBbVJ1PyNGLzckJCEzb3pvUCgpeSZSPSdGLyQhM1lfZC9KQUgzQ0YvNyQkITNJPS81RCM9bFonRi8kITMhel06Ink8JipmQUYvRmRcW2w3JzckJCEzZXBlUiIzVixcJkYvJCEzKDRtZiVvTChwJEdGLzckJCEzJ2Y3Lyc9cCYpNFhGLyQhMyFvTFM6akVJOyNGLzckJCEzTSpIalZUM09iJUYvJCEzXWhzWGwjMy1QI0YvNyQkITNTaEgjR3kiZSEqW0YvJCEzYSRIM15cc3dDI0YvRmldW2w3JzckJCEzZSJwIVtrLHNrUEYvJCEzJVw7dFNHJFxjR0YvNyQkITNScmY9LWwlPiFIRi8kITM3TG8jZnIxTjkjRi83JCQhM2JIX1lQZVw1SEYvJCEzMTBLJyoqPSd6XkJGLzckJCEzLyZSUTo3KilwRSRGLyQhMy5sajwjW1xSQyNGL0ZeX1tsNyc3JCQhMy8nUndTZ14hbz9GLyQhMydvIXBBKHpbXidHRi83JCQhM3lMcERIPEdsN0YvJCEzbCE0dEY/Xls4I0YvNyQkITNvMSwqbzU3bEQiRi8kITNwQyNIc1FRSk0jRi83JCQhMyJcLDxUITRtQDtGLyQhMyE+endHOiN6VUFGL0ZjYFtsNyc3JCQhM3BqNFhGJ286I1JGZHokITM1R04jKWVxa25HRi83JCQiMypwKjRYRidvOiNSRmR6JCEzU3BrPFRITktARi83JCQiMzNMLmElKltyaFNGZHokITMnM14uYFJvME0jRi83JCQiM08pUV1JMVZDJlFGY192JCEzVE9zaHoiSERDI0YvRmhhW2w3JzckJCIzNVBwREg8R2w3Ri9GYWBbbDckJCIzUSpSd1NnXiFvP0YvRmZgW2w3JCQiM1tFS1dFNyNvMiNGL0ZbYVtsNyQkIjNDPWpASENuNjxGL0ZgYVtsRltjW2w3JzckJCIzc3VmPS1sJT4hSEYvJCEzUWtKMiVHJFxjR0YvNyQkIjMhXHAhW2ssc2tQRi8kITNSTG8jZnIxTjkjRi83JCQiM3VPOT9IMzxjUEYvJCEzTTBLJyoqPSd6XkJGLzckJCIzQ3IjR15heCcqUiRGLyQhM0lsajwjW1xSQyNGL0ZqY1tsNyc3JCQiM0hIVGc9cCYpNFhGL0ZnXVtsNyQkIjMjSChlUiIzVixcJkYvJCEzM1AuYUptLWpARi83JCQiM2MqcE9jZSJSWWFGL0ZhXltsNyQkIjNbUHE8PCM9JTReRi9GZl5bbEZdZVtsNyc3JCQiMzsqb1hcJltJdGdGL0ZiXFtsNyQkIjNrWHdReSVHK0UoRi9GZ1xbbDckJCIzIT1YY2ZXdiRcckYvRlxdW2w3JCQiMz04SEIzXiJvJm9GL0ZhXVtsRlxmW2w3JzckJCIzJXlXXjo3Z1FlKEYvRl1bW2w3JCQiM2M+XzZYbCFHMypGLyQhM0RZajhzaiR5SiNGLzckJCIzIz5gPCdRcE5cKSlGLyQhMy02b0gpbypSIVwjRi83JCQiMzchKVF2NUw+bicpRi9GXFxbbEZpZltsNyc3JCQiM1d4X1NwPDV0IipGLyQhM21HeWVnKT0kW0NGLzckJCIzT3MlZkkjKSpvIzMiRiwkITM3cEBUUjZvXkRGLzckJCIzNyMqb1FBK0lXNUYsRmJqejckJCIzSzQiR2o4byVcNUYsJCEzXyc0dTJGU2ZVI0YvRlxoW2w3JzckJCIzNHReWl5ZMy42RiwkITN4dy8pKj0mZjFCI0YvNyQkIjNSZyJlPW9bLUIiRiwkITMtQCY+NVtTJHBGRi83JCQiM1lqdGhQKVwjKj0iRixGXWl6NyQkIjNvOiQ+ZClRPTs3RiwkITNhU1xoN15CdERGL0ZfaVtsNyc3JCQiM0tGJ3pRMz8ySCJGLEZeZ3o3JCQiM2lScXkjZVlmUCJGLEZjZ3o3JCQiMzplc0FANWZSOEYsRmhnejckJCIzSTNAeSgpelJ2OEYsRl1oekZgaltsNyc3JCQiMyl5bStGc0wuWiJGLEZpZXo3JCQiM2VLJCpIeGltSDpGLEZeZno3JCQiMzN5SiR6IT5OKFwiRixGY2Z6NyQkIjN2XiYpKW8qKSlHTzpGLEZoZnpGXVtcbDcnNyQkIjNKJ2Y6JWZzIltrIkYsRmRkejckJCIzZ1B4IlIyOyYpbyJGLEZpZHo3JCQiMyNwS1FQXl0qZTtGLEZeZXo3JCQiMysqM2dCXGYiKnAiRixGY2V6RmpbXGw3JzckJCIzSDo4KEgkZlw7PUYsRl9jejckJCIzN19gcEwyPF09RixGZGN6NyQkIjNPWT48cWlaQT1GLEZpY3o3JCQiM2tnOnghZSRHaj1GLEZeZHpGZ1xcbDcnNyQkIjNZYSJlPE1zbCk+RixGamF6NyQkIjNXWT1DZXdVOD9GLEZfYno3JCQiM3VLTykqNEEwKCk+RiwkITNLNndlVUElKlxGRi83JCQiM0cnR1xMVHUiRz9GLEZpYnpGZF1cbDcnNyQkITMncFUrKnp2ZDg/RiwkITNxOjpvPnhjYjdGLzckJCEzL3QmKjQ/Q1UnKT5GLCQhM3k6PWw4Y3d4P0YvNyQkITM0c20rS20mRywjRiwkITNiaiNbRl9FbiI+Ri83JCQhMylwOjN0dFk8KD5GLCQhMzknPigqSGQjeSMpPUYvRmVeXGw3JzckJCEzbWROJUdFMC8mPUYsJCEzbXF6WlJzJCllN0YvNyQkITMnKTNKI1FTaGkiPUYsJCEzIzNPYlE0J1x1P0YvNyQkITNZemldUF8vVz1GLCQhM0szXWMkb1MjPj5GLzckJCEzJyo0dXklSGlLIT1GLCQhM0laJSp5ZjNjdz1GL0ZqX1xsNyc3JCQhM1lWJVstZjEqKW8iRiwkITNdImUlKTNcN15FIkYvNyQkITNjKilbM1ZuVVc7RiwkITMpKlwoW0MlM0FvP0YvNyQkITNlOlNGQFk4dTtGLCQhM21uV0opb1VAIz5GLzckJCEzPTJlcC4jelJqIkYsJCEzR0QrT3pHYW09Ri9GX2FcbDcnNyQkITNDNDxRN21PSTpGLCQhM2NvIyp5VClbJ3k3Ri83JCQhM0shSD13UUwncDlGLCQhMyNIMVc6XCVvYT9GLzckJCEzJ3kob3QyTT0tOkYsJCEzeiZwKUc1aGlDPkYvNyQkITMxUSJcX2kiUWo5RiwkITNVQVdMeiY0KFs9Ri9GZGJcbDcnNyQkITNxNjpbUS1HeDhGLCQhMywkeV0yJCpcRUoiRi83JCQhM09hXj1Ha1EqRyJGLCQhM1pbRGUtTW8/P0YvNyQkITNNaSo9SiRvNkU4RiwkITM8clBvIUhCQiM+Ri83JCQhMy91dF9mXnIhSCJGLCQhM1xDTCJ5LWNDIj1GL0ZpY1xsNyc3JCQhM1kkcDkiPWdXSzdGLCQhMydmNi14MmUzVCJGLzckJCEzOVInPV9KKCkzNSJGLCQhM186N2piX1pBPkYvNyQkITMiWzRtJFI1O1U2RiwkITMhUVptbTJKUio9Ri83JCQhMyIpUidwLz0hZTs2RiwkITNrMGsvKXAjW0g8Ri9GXmVcbDcnNyQkITMvJXlMJUhdPyQzIkYsJCEzPzoxXGVUYlY7Ri83JCQhMyVHOmljcVx6OypGLyQhM0c7RiVbPHooKm8iRi83JCQhMzhDOyJlSSV6UiYqRi8kITM9SEAtX3V4JHkiRi83JCQhM0p0YmooeiJvOyYqRi8kITNBb3dWeVt3djpGL0ZjZlxsNyc3JCQhM2F4NzVJeHpoISpGLyQhMydmNCIqeil5LHA9Ri83JCQhM0AkUWxsJCpvW2coRi8kITNdTkFNWGFKazlGLzckJCEzSFYqekRtRiI+eUYvJCEzMjZeLFdUKkhrIkYvNyQkITNwc1YhUikpeTktKUYvJCEzK0NKI1sveTNZIkYvRmhnXGw3JzckJCEzTDtCZjFzeVJzRi8kITMjb1VGOyZwOXA+Ri83JCQhMyE9LFRuN1lONCdGLyQhM28vZnEiUSc9azhGLzckJCEzLW1Qd2RXWiE+J0YvJCEzJSkpZmNZRC9vYyJGLzckJCEzNUZYc1VaJkhcJ0YvJCEzeCY9dic+VF9COUYvRl1pXGw3JzckJCEzK2JfLVw7TXVhRi8kITM0UyM9bHVZIzQ/Ri83JCQhMzdUWig0TmVjXyVGLyQhM1IiNDpvZSczQzhGLzckJCEzOSJSOCxGayhmWEYvJCEzLEpVJCo9M3NKOkYvNyQkITNcbFwnKlxWTS1cRi8kITNxO3puMWE4ODlGL0ZialxsNyc3JCQhM3ElM0F5Zno8diRGLyQhM2pwM1UlUiYqcC0jRi83JCQhM0Z5WCUpb3EpWyJIRi8kITMnPVk3KlF6TDE4Ri83JCQhM0RkL2JfXyJmIkhGLyQhM3kqeVp6anFZXiJGLzckJCEzb2hZSSEpUkN3S0YvJCEzWixjIz0yZitUIkYvRmdbXWw3JzckJCEzOyM+XC41dGwwI0YvJCEzeHU3Ij1qNlwuI0YvNyQkITNtUFQpSEJnbkYiRi8kITNxYz9fLDxVKUgiRi83JCQhM2FqZXUpPXM5RSJGLyQhM3dYeS9gWmgxOkYvNyQkITNjcy8qUTo8KEg7Ri8kITM6OXNpVyJRIjQ5Ri9GXF1dbDcnNyQkITN3RmpdUU1CNlFGZHokITMkUSplJzRELnMuI0YvNyQkIjMyaGpdUU1CNlFGZHokITNrUHVPIzNJaEgiRi83JCQiMzkmKkdEclFnOFNGZHokITNqKjNteWE8VV0iRi83JCQiM1FjaGcjRyFRIzMkRmNfdiQhMyxKTSE+ck8qMzlGL0ZhXl1sNyc3JCQiMyk0OSUpSEJnbkYiRi9GalxdbDckJCIzXSY+XC41dGwwI0YvRl9dXWw3JCQiM01wdWVXNic9MiNGL0ZkXV1sNyQkIjNmZ0dXemhoLjxGL0ZpXV1sRmRfXWw3JzckJCIzZyJlVylvcSlbIkhGL0ZlW11sNyQkIjMvKTNBeWZ6PHYkRi9GaltdbDckJCIzMTRpNjk5dl1QRi9GX1xdbDckJCIzZy8/TydvQS9SJEYvRmRcXWxGYWBdbDcnNyQkIjMhUnV1NE5lY18lRi9GYGpcbDckJCIzS2VfLVw7TXVhRi9GZWpcbDckJCIzdjJtKSlIZEJTYUYvRmpqXGw3JCQiM1NMXS5dY2woNCZGL0ZfW11sRl5hXWw3JzckJCIzOTo1dUVoYSQ0J0YvRltpXGw3JCQiM24+QmYxc3lSc0YvRmBpXGw3JCQiM1hsJnBiKCllRzkoRi9GZWlcbDckJCIzUC8pMzFmeS4lb0YvRmppXGxGW2JdbDcnNyQkIjNWJlFsbCQqb1tnKEYvJCEzcSY0Iip6KXkscD1GLzckJCIzKT5HLCx0KHpoISpGLyQhM3lOQU1YYUprOUYvNyQkIjMhPnMnMy8hUnYlKSlGL0ZgaFxsNyQkIjNdI0hpRnkoPVgnKUYvJCEzR0NKI1sveTNZIkYvRmpiXWw3JzckJCIzO2NAbTAoXHo7KkYvJCEzbDkxXGVUYlY7Ri83JCQiM0cleUwlSF0/JDMiRiwkITMlb3JVWzx6KCpvIkYvNyQkIjM5UCk9JXAwLVk1RiwkITNXSEAtX3V4JHkiRi83JCQiM0FVa0I/PUxbNUYsJCEzXW93Vnlbd3Y6Ri9GXWRdbDcnNyQkIjNlUic9X0ooKTM1IkYsJCEzVDpAcXghZTNUIkYvNyQkIjMhUnA5Ij1nV0s3RiwkITMyOzdqYl9aQT5GLzckJCIzQVFzJ1JIczY+IkYsJCEzM3VrbXc1JFIqPUYvNyQkIjNCJHBqRzpgbkAiRiwkITM/MWsvKXAjW0g8Ri9GYmVdbDcnNyQkIjMjWzomPUdrUSpHIkYsJCEzdCN5XTIkKlxFSiJGLzckJCIzOzc6W1EtR3g4RiwkITN2W0RlLU1vPz9GLzckJCIzPS94YUwpXDBNIkYsRmFkXGw3JCQiM1sjSFJyXV5mUCJGLCQhM3hDTCJ5LWNDIj1GL0ZnZl1sNyc3JCQiMysiSD13UUwncDlGLCQhM0dvIyp5VClbJ3k3Ri83JCQiM1k0PFE3bU9JOkYsJCEzPWpTYSJcJW9hP0YvNyQkIjMjPjdqQWY7eVwiRiwkITMyJ3ApRzVoaUM+Ri83JCQiM3NoM3Z1JD1tYCJGLCQhM3FBV0x6JjQoWz1GL0ZqZ11sNyc3JCQiMywhKlszVm5VVztGLCQhM0EiZSUpM1w3XkUiRi83JCQiMyNSV1stZjEqKW8iRiwkITNFXShbQyUzQW8/Ri83JCQiMyF6SmY/cik+ZjtGLCQhMyV6WTkkKW9VQCM+Ri83JCQiM0dFdmpIVE4qcCJGLCQhM2NEK096R2FtPUYvRl9pXWw3JzckJCIzSTRKI1FTaGkiPUYsJCEzUXF6WlJzJCllN0YvNyQkIjM1ZU4lR0UwLyY9RiwkITM1aGAmUTQnXHU/Ri83JCQiM10oUWciSDlpQT1GLCQhM2czXWMkb1MjPj5GLzckJCIzK2Qjej1QL00nPUYsRmdgXGxGZGpdbDcnNyQkIjNbdCYqND9DVScpPkYsRmNeXGw3JCQiM1RGLyEqenZkOD9GLEZoXlxsNyQkIjNlR0wqek9Wcik+RixGXV9cbDckJCIzcVY9cGlLREc/RixGYl9cbEZlW15sNyc3JCQhMyVwJkdLRyJwTywjRiwkITM5ITRfaVEtSkElRmR6NyQkITNHVnJucjNMJyk+RiwkITMnZlhUIUdrTlc3Ri83JCQhMy9ULGdLNCFHLCNGLCQhMyE0T2x3aGtNMyJGLzckJCEzd0ckSEppKXByPkYsJCEzJyo9I2VveiJIXDVGL0ZkXF5sNyc3JCQhM1s9O1lzIVwwJj1GLCQhM3cuLXdrMWJjVUZkejckJCEzL1tdPyVmPGgiPUYsJCEzZ1cxPis7LFQ3Ri83JCQhMzxDSEVUaCZSJT1GLCQhM016akUxOSsnMyJGLzckJCEzdiM+eFhKKT0uPUYsJCEzOW1jV2U/J0gvIkYvRmldXmw3JzckJCEzPVp3QDN1OSpvIkYsJCEzIVFPRTpWWDZLJUZkejckJCEzJWVvOl4jZj1XO0YsJCEzZ0dTXkJAYk03Ri83JCQhM1VeVUU2OClSbiJGLCQhM3ckb20hPS0jKikzIkYvNyQkITMiPj1ZQVZmUWoiRiwkITMzSyMqPWskPUYuIkYvRl5fXmw3JzckJCEzS2M4SVw7ITNgIkYsJCEzczluVU9ydGhXRmR6NyQkITNDVicpcF0kKT5wOUYsJCEzVyQqUi1gSFw/N0YvNyQkITNLJCopcHEkUSo9XSJGLCQhMyM9KFttIikqXDg0IkYvNyQkITM1RjM1dnk8ajlGLCQhM2khWzYlZWVNOTVGL0ZjYF5sNyc3JCQhM1UmeSJwJD44Ink4RiwkITM5cFo/IT1lJD5bRmR6NyQkITNtISlbKEhaYCYpRyJGLCQhMyl6PVknWzN0JT0iRi83JCQhMz0kcGtxZjhiSyJGLCQhM11AL2InM1kmKTMiRi83JCQhM3MyTWBYUVAhSCJGLCQhM3UtSGFjVidmdypGZHpGaGFebDcnNyQkITNZLHlsdCF5UEIiRiwkITMvLic0XHJnSydlRmR6NyQkITM5SmJuZl9iKjQiRiwkITNnL2Q8JmZTLjMiRi83JCQhM2hwbVY5ZCc0OSJGLCQhM0NmczJzREZkNUYvNyQkITNbS0NEKSlcRTs2RiwkITN1NVUqZmFTXCopKUZkekZdY15sNyc3JCQhMyVmYVdwSERMMyJGLCQhMysyJil5ViZvYUYpRmR6NyQkITMrTVhiSXF1bSIqRi8kITM1VSJ5RzcpPiJSKUZkejckJCEzOXA1cCpRXC9gKkYvJCEzX1coPmU5M3hTKkZkejckJCEzbShlTzIiSG1DJipGLyQhM1cnMzFBc3ZYSyhGZHpGYmRebDcnNyQkITNBI29idjAneVshKkYvJCEzW1MzRW1hKHAvIkYvNyQkITNgeTQ2NDEpeWgoRi8kITNlViNlUys3cD4nRmR6NyQkITNgJCopUSlmJ2YzI3lGLyQhM1pfZF0iW0RqLClGZHo3JCQhMyg+U21GeixYLilGLyQhM2N0KVw0biRwRmlGZHpGZ2VebDcnNyQkITNSXG1MISpIK0dzRi8kITNmXCpvdm4pR1Q2Ri83JCQhM3d5bSpITUlgNSdGLyQhM2Nfcig0Kil6UEQmRmR6NyQkITNtYjkxSCU9Vz4nRi8kITM/bDJFX2ckKilHKEZkejckJCEzQXRxSHRQUC1sRi8kITMhPiFlM1ZfZiYpZUZkekZcZ15sNyc3JCQhMzVEXlo+IkdfWSZGLyQhMyEqKikqNEBuQiF6NkYvNyQkITNZcVtfISk9eE1YRi8kITMzXW5jWCpIayhbRmR6NyQkITN3LW45J1J3TGMlRi8kITNRSXktciJbWyZwRmR6NyQkITNAZ0wjXHRtITRcRi8kITNRNitNc3l4InomRmR6RmFoXmw3JzckJCEzJkhbUyZmNktXUEYvJCEzISlHNVJqPCFlPiJGLzckJCEzLSE9RXJdWEIjSEYvJCEzKjRPY0YuXCczWkZkejckJCEzTCsibzZDdSE+SEYvJCEzK1NXLGUiPT56J0ZkejckJCEzbyd6RDduVTpHJEYvJCEzTWhsXCNmW1d3JkZkekZmaV5sNyc3JCQhM0tcM3cnXGAqXD9GLyQhM11OIlFIZjZMPyJGLzckJCEzXSFbc2wkKXpMRyJGLyQhMzUlSCZHUDJiTFlGZHo3JCQhM3FsKW9FeGVWRSJGLyQhM10iZkpLODdacidGZHo3JCQhMyopb09GS3FMTTtGLyQhM1tJaCp6MCZcY2RGZHpGW1tfbDcnNyQkITMpUmpYP00mZVpQRmR6JCEzX0txcngkKlswN0YvNyQkIjNJbmMvVWBlWlBGZHokITMiUksnXCopR3g2WUZkejckJCIzYS5MVjROaCYpUkZkeiQhMz8oNCRIK1NxInAnRmR6NyQkIjMrSEknZmxJMGsjRmNfdiQhM2ElbyJ5a3chW3YmRmR6RmBcX2w3JzckJCIzI1Fbc2wkKXpMRyJGL0Zpal5sNyQkIjNrXzN3J1xgKlw/Ri9GXltfbDckJCIzV25XbWdYKCpvP0YvRmNbX2w3JCQiM0VrJ2Y1SScqKilwIkYvRmhbX2xGY11fbDcnNyQkIjMhRz1Fcl1YQiNIRi9GZGlebDckJCIzJG9bUyZmNktXUEYvRmlpXmw3JCQiM19tJilcRENmWlBGL0Zeal5sNyQkIjM9cTNXJipSNyZRJEYvRmNqXmxGYF5fbDcnNyQkIjNCdFtfISk9eE1YRi8kITN3KikqNEBuQiF6NkYvNyQkIjNXR15aPiJHX1kmRi8kITN5XW5jWCpIayhbRmR6NyQkIjNkJkhgUWdCbVYmRi9GaWhebDckJCIzN1FtMmxLJDQ0JkYvRl5pXmxGX19fbDcnNyQkIjM0I28nKkhNSWA1J0YvRmpmXmw3JCQiM3NfbUwhKkgrR3NGLyQhMydSOng0Kil6UEQmRmR6NyQkIjMhZSg9Ri9cIipRckYvJCEzZW0yRV9nJCopRyhGZHo3JCQiM0VlaS5nJmY0JG9GL0ZpZ15sRl5gX2w3JzckJCIzJz0pNDY0MSl5aChGLyQhMz9TM0VtYShwLyJGLzckJCIzYyZvYnYwJ3lbISpGLyQhM09ZI2VTKzdwPidGZHo3JCQiM2FxeCNvKzJlJSkpRi8kITMnUXYwOltEaiwpRmR6NyQkIjM1aS0hUihbO0snKUYvJCEzJlwoKVw0biRwRmlGZHpGYWFfbDcnNyQkIjNLUFhiSXF1bSIqRi8kITNZLCYpeVYmb2FGKUZkejckJCIzUVlYJXBIREwzIkYsJCEzbVoieUc3KT4iUilGZHo3JCQiMydHKjMuaF0mcC8iRiwkITNIWig+ZTkzeFMqRmR6NyQkIjMtVGojKjNQYFo1RiwkITNnITQxQXN2WEsoRmR6RmZiX2w3JzckJCIzZUpibmZfYio0IkYsJCEzPylmNFxyZ0snZUZkejckJCIzIT4heWx0IXlQQiJGLCQhMy0wZDwmZlMuMyJGLzckJCIzVWptKik9d08jPiJGLCQhM1FmczJzREZkNUYvNyQkIjN5KzQzWCRvcUAiRiwkITMjXEAlKmZhU1wqKSlGZHpGW2RfbDcnNyQkIjM1IilbKEhaYCYpRyJGLCQhMzFuWj8hPWUkPltGZHo3JCQiMydleSJwJD44Ink4RiwkITNFKT1ZJ1szdCU9IkYvNyQkIjNMdD5ncEk6VDhGLEZgYl5sNyQkIjN5ZUs4QEdIdzhGLCQhM18wSGFjVidmdypGZHpGYGVfbDcnNyQkIjNxVicpcF0kKT5wOUYsJCEzLTluVU9ydGhXRmR6NyQkIjN3YzhJXDshM2AiRiwkITNlJCpSLWBIXD83Ri83JCQiM28xLCRIOzEiKVwiRiwkITMlPihbbSIpKlw4NCJGLzckJCIzIkg8KipbN0FvYCJGLCQhMyE0WzYlZWVNOTVGL0ZjZl9sNyc3JCQiM0gnbzpeI2Y9VztGLEZcX15sNyQkIjNrWndAM3U5Km8iRixGYV9ebDckJCIzMSMzcD8tXyRmO0YsRmZfXmw3JCQiM2NecjMsUloqcCJGLCQhM0BLIyo9ayQ9Ri4iRi9GZmdfbDcnNyQkIjNbW10/JWY8aCI9RixGZ11ebDckJCIzIyo9O1lzIVwwJj1GLEZcXl5sNyQkIjMsVlBTRDByQT1GLEZhXl5sNyQkIjM/dSUqM18keU0nPUYsRmZeXmxGZWhfbDcnNyQkIjN1VnJucjNMJyk+RiwkITMlMzRfaVEtSkElRmR6NyQkIjNRZEdLRyJwTywjRiwkITMkZVhUIUdrTlc3Ri83JCQiM2tmKSpSbiEqPigpPkYsJCEzd2dgbTxZWSQzIkYvNyQkIjMiPm5xb1AsJEc/RiwkITMjKT0jZW96IkhcNUYvRmRpX2w3JzckJCEzIil6KDNjIioqcDg/RiwkIjNoU1JqI291KjRURmR6NyQkITM/PzdSJTMraik+RiwkITMnUiNSaiNvdSo0VEZkejckJCEzJ0cleUYmPiN5Nz9GLCQhMyRldDJkUV86XSNGZHo3JCQhM2suOlhbQ29yPkYsJCEzQ1QjKVsmXGEhZkBGZHpGaWpfbDcnNyQkITN1IlFEb2AoZl09RiwkIjM9RWYmKm8tRndTRmR6NyQkITN4JUdUKUgicGciPUYsJCEzYTRmJipvLUZ3U0ZkejckJCEzTXRoZStoI1IlPUYsJCEzXiIqSCEpNGcqcF8jRmR6NyQkITM8OW0qeVJqSiE9RiwkITNZdzxdQTRSJjQjRmR6Rl5cYGw3JzckJCEzW0JsMil6RyMqbyJGLCQiM2onZXVSZVg1LCVGZHo3JCQhM2I0b0ROWDVXO0YsJCEzKSpwWChSZVg1LCVGZHo3JCQhMyE+IiplRVhIUm4iRiwkITNzJjRvM2FRaWIjRmR6NyQkITM0bSI+byoqPVFqIkYsJCEzXXE7aWJfPSMqPkZkekZjXWBsNyc3JCQhM2AzJkhJQVw0YCJGLCQiM3cpZSlveUdsb1FGZHo3JCQhMy0iXHFweF0hcDlGLCQhMzVzJilveUdsb1FGZHo3JCQhM1kxJVwhW2F6LDpGLCQhMylmUHQzTFUuZSNGZHo3JCQhM2s/REU+KjNKWSJGLCQhMyopZmM4YjxoMT1GZHpGaF5gbDcnNyQkITM/InpVZlknUnk4RiwkIjMjKXoqb1NKNVxdJEZkejckJCEzKVsoUXMrLUYpRyJGLCQhMzxqKm9TSjVcXSRGZHo3JCQhM3JvNjVod0lEOEYsJCEzJSl5QXEneUcwYiNGZHo3JCQhMyUpeS8nemJlLUgiRiwkITMmRyNlWXIvJlJVIkZkekZdYGBsNyc3JCQhMy5CTC5wS0FNN0YsJCIzLSlcXlYoUmFSQ0ZkejckJCEzYzQrSWsrNio0IkYsJCEzTyJbXlYoUmFSQ0ZkejckJCEzTzZLNF4xY1M2RiwkITMiKnBlQHd6a0ZBRmR6NyQkITNcJ3BcOEBsaDYiRiwkITM/K1hccSJIdFEmRmNfdkZiYWBsNyc3JCQhMy9MTExMTEwkMyJGLCQiM08iKkdjaHZidkYhI003JCQhMydIbW1tbW1tOypGLyQiM29YOXkheXl4USIhI0w3JCQhM0x6LCJcZTV2XypGLyQhMztibW1tbW1UNUZkejckRl9jYGwkIjMxeW1tbW1tVDVGZHpGaGJgbDcnNyQkITNYJkhWIUc6U1chKkYvJCEzVyopW3NzJDNGPCNGZHo3JCQhM0lsTGlRXkVBd0YvJCIzMzFcc3MkM0Y8I0ZkejckJCEzJlw1My1HSjojeUYvJCIzeVQqKlJrIUcxViRGY192NyQkITNmJWYhWzxAISlRISlGLyQiMyF6IVxAJEhMMjcjRmR6RlxkYGw3JzckJCEzU1E/TndzOENzRi8kITNfPWxwVSplcTQkRmR6NyQkITN3KkciKXAwJz40aEYvJCIzPU5scFUqZXE0JEZkejckJCEzcUk9eGtcdCY+J0YvJCIzOU1MKik+WzpmNUZkejckJCEzXSNbVCFmM1cwbEYvJCIzJSpwbjVXOCRHWCNGZHpGYWVgbDcnNyQkITMpPS1ATjtdQVkmRi8kITMnUW4ya0F3b1kkRmR6NyQkITNvdCp5ayQpXHhgJUYvJCIzXSFwMmtBd29ZJEZkejckJCEzPVtcVDxpY2tYRi8kIjNFPVAzITNpeVEiRmR6NyQkITNfO2QwU1FENlxGLyQiMygpeWkpKSlbKFtWREZkekZmZmBsNyc3JCQhMyZSWWdqTyUpPXUkRi8kITMocCUqPSFRWmNKT0ZkejckJCEzLCo+MS5JI3lDSEYvJCIzamoqPSFRWmNKT0ZkejckJCEzQCg9eCsmPTY/SEYvJCIzeV0qR3VHaSRbOkZkejckJCEzdSMzelFLb0tHJEYvJCIzJz55JyoqcClSKHBERmR6RltoYGw3JzckJCEzVSpIPDAsIXpaP0YvJCEzPXJBKkglZU8wUEZkejckJCEzUUlnIkdLVmJHIkYvJCIzJHlHIypIJWVPMFBGZHo3JCQhMyNwUFQmemlJbDdGLyQiMypwdzAhKT0iXEM7RmR6NyQkITMsMDElUSdHJWVqIkYvJCIzR2BCalomKkh4REZkekZgaWBsNyc3JCQhM0dLJypcaSp6bnMkRmR6JCEzaFMnKlxpKnpucyRGZHo3JCQiM2ZsJypcaSp6bnMkRmR6JCIzRWQnKlxpKnpucyRGZHo3JCQiMz9MKEhHKW9Vd1JGZHokIjNHV3VFMSUqPVo7RmR6NyQkIjNnVTNJLiNwa1wjRmNfdiQiM19jQipvUiUpKXlERmR6RmVqYGw3JzckJCIzc0xnIkdLVmJHIkYvRl5pYGw3JCQiM3ctdF41K3paP0YvRmNpYGw3JCQiM0FjPnpgcS1vP0YvRmhpYGw3JCQiMzlHRlxwL1wocCJGL0ZdamBsRmhbYWw3JzckJCIzTS1pSStCeUNIRi9GaWdgbDckJCIzR24vT21WKT11JEYvRl5oYGw3JCQiMzN6JSplO1tiWVBGL0ZjaGBsNyQkIjNjJGUoeVUkKVIkUSRGL0ZoaGBsRmVcYWw3JzckJCIzLHgqeWskKVx4YCVGLyQhMzt0d1NFaShvWSRGZHo3JCQiM0FENV9qLERpYUYvJCIzIykqbzJrQXdvWSRGZHo3JCQiM3NdXWUjeUxhViZGLyQiMyF6ciQzITNpeVEiRmR6NyQkIjMhPUdXKmZodSkzJkYvJCIzX3lpKSkpWyhbVkRGZHpGZF1hbDcnNyQkIjM0JEgiKXAwJz40aEYvJCEzWzxscFUqZXE0JEZkejckJCIzdFQ/TndzOENzRi8kIjM5TWxwVSplcTQkRmR6NyQkIjN3KzpjbyQpZlByRi8kIjM1TEwqKT5bOmY1RmR6NyQkIjMpKls9SHVDKnkjb0YvRl5mYGxGaV5hbDcnNyQkIjNfbkxpUV5FQXdGLyQhM20nKVtzcyQzRjwjRmR6NyQkIjMqKSpIViFHOlNXISpGLyQiM0kuXHNzJDNGPCNGZHo3JCQiMzdmJmVrUU5eJSkpRi8kIjMoNCMqKlJrIUcxViRGY192NyQkIjNncWc9XFgneWkpRi8kIjMnbyFcQCRITDI3I0ZkekZcYGFsNyc3JCQiM0ltbW1tbW1tIipGLyQiMzF1JylvJW9zbUspRmdiYGw3JCQiM0VMTExMTEwkMyJGLEZfYWFsNyQkIjNpIikqMzolKltzLyJGLCQhM0hlbW1tbW1UNUZkejckRmVhYWwkIjMlXG5tbW1tOy8iRmR6RmFhYWw3JzckJCIzKzUrSWsrNio0IkYsJCIzQS46TnVSYVJDRmR6NyQkIjNaQkwucEtBTTdGLCQhM2QnW15WKFJhUkNGZHo3JCQiM21ALEMjb3NGPiJGLCQhMyo+KGVAd3prRkFGZHo3JCQiM2JPTyk+N29yQCJGLCQhM09RWFxxIkh0USZGY192RmJiYWw3JzckJCIzS3ZRcystRilHIkYsJCIzIT4pKm9TSjVcXSRGZHo3JCQiM2sielVmWSdSeThGLCQhM0RsKm9TSjVcXSRGZHo3JCQiMyJ5XGxiK2Y4TSJGLCQhM2F6QXEneUcwYiNGZHo3JCQiM28oPTEoMyIza1AiRiwkITNDQ2VZci8mUlUiRmR6RmdjYWw3JzckJCIzcSJccXB4XSFwOUYsJCIzWSplKW95R2xvUUZkejckJCIzdjMmSElBXDRgIkYsJCEzIUdkKW95R2xvUUZkejckJCIzSyRmXT5iLyMpXCJGLEZgX2BsNyQkIjM6enV0ITMiKm9gIkYsJCEzZWdjOGI8aDE9RmR6RlxlYWw3JzckJCIzKzVvRE5YNVc7RixGYV1gbDckJCIzI1JfdyEpekcjKm8iRixGZl1gbDckJCIzZUBXbiEpUVNmO0YsRlteYGw3JCQiM1FuVF5PVl4qcCJGLCQhMyUzbkBjRCY9Iyo+RmR6Rl1mYWw3JzckJCIzQCZHVClIInBnIj1GLEZcXGBsNyQkIjM/I1FEb2AoZl09RixGYVxgbDckJCIzaSRcITNtMHVBPUYsJCEzPCIqSCEpNGcqcF8jRmR6NyQkIjN5Xyt4b0tdaj1GLCQhMyFveCxEIzRSJjQjRmR6RlxnYWw3JzckJCIzaz83UiUzK2opPkYsRmdqX2w3JCQiM0UheTNjIioqcDg/RixGXFtgbDckJCIzZ2RAcy95QCgpPkYsJCEzXE54cSZRXzpdI0ZkejckJCIzLShcWzpiPCRHP0YsJCEzZ1QjKVsmXGEhZkBGZHpGXWhhbDcnNyRGYFxebCQiM2pkOS9Ha05XN0YvNyRGZVxebCQiMyFvNV9pUS1KQSVGZHo3JEZqXF5sJCIzPGVJLCFcPz8kZUZkejckRl9dXmwkIjNZeFczKXBbUDwnRmR6Rl5pYWw3JzckRmVdXmwkIjNGWTE+KzssVDdGLzckRmpdXmwkIjNTPy13azFiY1VGZHo3JEZfXl5sJCIzMXRHKy9FbDFlRmR6NyRGZF5ebCQiM3QwK0AjM1lxQidGZHpGW2phbDcnNyRGal5ebCQiM0ZJU15CQGJNN0YvNyRGX19ebCQiM1ghUUU6Vlg2SyVGZHo3JEZkX15sJCIzISlHKSoqZltrdXgmRmR6NyRGaV9ebCQiMytYVnhDSVtSakZkekZoamFsNyc3JEZfYF5sJCIzNSYqUi1gSFw/N0YvNyRGZGBebCQiM09KblVPcnRoV0ZkejckRmlgXmwkIjNhWnosXW87YGRGZHo3JEZeYV5sJCIzZWY9YiMzM0tfJ0ZkekZlW2JsNyc3JEZkYV5sJCIzbSo9WSdbM3QlPSJGLzckRmlhXmwkIjN6JnkvLT1lJD5bRmR6NyRGXmJebCQiM01eQzssZT8ieSZGZHo3JEZjYl5sJCIzLGpQNzVCcStwRmR6RmJcYmw3JzckRmliXmwkIjNFMWQ8JmZTLjMiRi83JEZeY15sJCIzcT4nNFxyZ0snZUZkejckRmNjXmwkIjMnUjIlKmUlNCVSNCdGZHo3JEZoY15sJCIzK2JDbj9oc3J4RmR6Rl9dYmw3JzckRl5kXmwkIjM5ZyJ5RzcpPiJSKUZkejckRmNkXmwkIjNFQSYpeVYmb2FGKUZkejckRmhkXmwkIjMlKT5wJTNfZSplc0ZkejckRl1lXmwkIjMjemRnVyU0NFUkKkZkekZcXmJsNyc3JEZjZV5sJCIzQ2cjZVMrN3A+J0ZkejckRmhlXmwkIjM5VTNFbWEocC8iRi83JEZdZl5sJCIzIT4iNDsmPVQubClGZHo3JEZiZl5sJCIzOno7ZCpIKCpRLyJGL0ZpXmJsNyc3JEZoZl5sJCIzQXByKDQqKXpQRCZGZHo3JEZdZ15sJCIzRF4qb3ZuKUdUNkYvNyRGYmdebCQiMz0qKmVTOTF0eCQqRmR6NyRGZ2debCQiM1EnM2VCOTIieTVGL0ZmX2JsNyc3JEZdaF5sJCIzdW1uY1gqSGsoW0ZkejckRmJoXmwkIjNjIioqNEBuQiF6NkYvNyRGZ2hebCQiM1BOKVFjXD09cipGZHo3JEZcaV5sJCIzXWxFVnopKVsoMyJGL0ZjYGJsNyc3JEZiaV5sJCIza3hqdkshXCczWkZkejckRmdpXmwkIjNZSTVSajwhZT4iRi83JEZcal5sJCIzd0RBbDMmW1ooKSpGZHo3JEZhal5sJCIzVzVxVDI9QSE0IkYvRmBhYmw3JzckRmdqXmwkIjN3NWBHUDJiTFlGZHo3JEZcW19sJCIzO1AiUUhmNkw/IkYvNyRGYVtfbCQiM0V1XVZMWCY+JioqRmR6NyRGZltfbCQiM19gcSczOzw1NCJGL0ZdYmJsNyc3JEZcXF9sJCIzZFNqXCopR3g2WUZkejckRmFcX2wkIjM9TXFyeCQqWzA3Ri83JEZmXF9sJCIzYW9OUG1FJ1woKipGZHo3JEZbXV9sJCIzNylcKT0rZj0iNCJGL0ZqYmJsNyc3JEZhXV9sRltiYmw3JEZkXV9sRl5iYmw3JEZnXV9sRmFiYmw3JEZqXV9sRmRiYmxGZWNibDcnNyRGXl5fbEZeYWJsNyRGYV5fbEZhYWJsNyRGZF5fbEZkYWJsNyRGZ15fbEZnYWJsRmpjYmw3JzckRltfX2wkIjNXbm5jWCpIayhbRmR6NyRGYF9fbCQiM1UiKio0QG5CIXo2Ri83JEZlX19sJCIzKVIkKVFjXD09cipGZHo3JEZoX19sJCIzT2xFVnopKVsoMyJGL0ZhZGJsNyc3JEZcYF9sJCIzZ3FyKDQqKXpQRCZGZHo3JEZfYF9sRmdfYmw3JEZkYF9sJCIzYytmUzkxdHgkKkZkejckRmlgX2xGXWBibEZeZWJsNyc3JEZdYV9sJCIzcWojZVMrN3A+J0ZkejckRmJhX2wkIjMnPSUzRW1hKHAvIkYvNyRGZ2FfbCQiM101NDsmPVQubClGZHo3JEZcYl9sJCIzLHo7ZCpIKCpRLyJGL0ZnZWJsNyc3JEZiYl9sJCIzcWwieUc3KT4iUilGZHo3JEZnYl9sJCIzczsmKXlWJm9hRilGZHo3JEZcY19sJCIzMzxwJTNfZSplc0ZkejckRmFjX2wkIjN3dDBZVzQ0VSQqRmR6RmRmYmw3JzckRmdjX2wkIjMjb3F2XmZTLjMiRi83JEZcZF9sJCIzOzknNFxyZ0snZUZkejckRmFkX2wkIjMpPTIlKmUlNCVSNCdGZHo3JEZmZF9sJCIzJTNYczE3RTx4KEZkekZhZ2JsNyc3JEZcZV9sJCIzJSoqPVknWzN0JT0iRi83JEZhZV9sJCIzciR5Ly09ZSQ+W0ZkejckRmZlX2wkIjNrXUM7LGU/InkmRmR6NyRGaWVfbCQiM0JnUDc1QnErcEZkekZeaGJsNyc3JEZfZl9sJCIzQyYqUi1gSFw/N0YvNyRGZGZfbCQiM29JblVPcnRoV0ZkejckRmlmX2xGaVtibDckRl5nX2wkIjM+ZT1iIzMzS18nRmR6RltpYmw3JzckRmRnX2xGZmphbDckRmdnX2xGaWphbDckRmpnX2wkIjNbSCkqKmZba3V4JkZkejckRl1oX2xGX1tibEZkaWJsNyc3JEZjaF9sRmlpYWw3JEZmaF9sRlxqYWw3JEZpaF9sRl9qYWw3JEZcaV9sRmJqYWxGW2pibDcnNyRGYGlfbCQiM1xkOS9Ha05XN0YvNyRGZWlfbCQiM1wyQEQnUS1KQSVGZHo3JEZqaV9sRmJpYWw3JEZfal9sRmVpYWxGYmpibDcnNyRGYV5cbCQiM1c8PWw4Y3d4P0YvNyRGZl5cbCQiM1E8Om8+eGNiN0YvNyRGW19cbCQiM2dwXWU1b2c7OUYvNyRGYF9cbCQiMytQaExnMmJdOUYvRltbY2w3JzckRmZfXGwkIjNbaWAmUTQnXHU/Ri83JEZbYFxsJCIzS3N6WlJzJCllN0YvNyRGYGBcbCQiMyRbS28oXEU0OTlGLzckRmVgXGwkIjMlZSlRYXRDeGM5Ri9GaFtjbDcnNyRGW2FcbCQiM21eKFtDJTNBbz9GLzckRmBhXGwkIjM7JGUlKTNcN15FIkYvNyRGZWFcbCQiM1tsKT1dayE+NjlGLzckRmphXGwkIjMneUl0Ulghem05Ri9GZVxjbDcnNyRGYGJcbCQiM2VrU2EiXCVvYT9GLzckRmViXGwkIjNDcSMqeVQpWyd5N0YvNyRGamJcbCQiM09QWS9Cc3EzOUYvNyRGX2NcbCQiM3M1KikqUnZCWVsiRi9GYl1jbDcnNyRGZWNcbCQiMzldRGUtTW8/P0YvNyRGamNcbCQiM28leV0yJCpcRUoiRi83JEZfZFxsJCIzKT5jXEUvNTVUIkYvNyRGZGRcbCQiM20zK18wdCgzXyJGL0ZfXmNsNyc3JEZqZFxsJCIzPTw3amJfWkE+Ri83JEZfZVxsJCIzajxAcXghZTNUIkYvNyRGZGVcbCQiM0xmb21jQVNSOUYvNyRGaWVcbCQiM15GcEdOMSZRZyJGL0ZcX2NsNyc3JEZfZlxsJCIzQT1GJVs8eigqbyJGLzckRmRmXGwkIjNmOzFcZVRiVjtGLzckRmlmXGwkIjNxLjdKIillYlw6Ri83JEZeZ1xsJCIzbWtjKltYb3Z2IkYvRmlfY2w3JzckJCEzbXk3NUl4emghKkYvJCIzPVBBTVhhSms5Ri83JCQhMzUjUWxsJCpvW2coRi8kIjNrKDQiKnopeSxwPUYvNyQkITM9VSp6RG1GIj55Ri8kIjMzQSM9JCo9Ui5wIkYvNyQkITNlclYhUikpeTktKUYvJCIzOTQtXilHYkMoPUYvRmhgY2w3JzckRmloXGwkIjNNMWZxIlEnPWs4Ri83JEZeaVxsJCIzW0d1aV5wOXA+Ri83JEZjaVxsJCIzSU1ubnkhSGx3IkYvNyRGaGlcbCQiM1BaImVPQDQpND5GL0ZbYmNsNyc3JEZealxsJCIzMSQ0Om9lJzNDOEYvNyRGY2pcbCQiM3ZUIz1sdVkjND9GLzckRmhqXGwkIjM5LSIqUjlEaCw9Ri83JEZdW11sJCIzVzthbEV6Pj8+Ri9GaGJjbDcnNyRGY1tdbCQiM2BqQyIqUXpMMThGLzckRmhbXWwkIjNIcjNVJVImKnAtI0YvNyRGXVxdbCQiM1BWYlEmcGknPT1GLzckRmJcXWwkIjNvSnhdaFVGQj5GL0ZlY2NsNyc3JEZoXF1sJCIzT2U/Xyw8VSlIIkYvNyRGXV1dbCQiM1d3NyI9ajZcLiNGLzckRmJdXWwkIjNSKFsmRyFlPW4jPUYvNyRGZ11dbCQiMys+aHEpPSY+Qz5GL0ZiZGNsNyc3JEZdXl1sJCIzSVJ1TyMzSWhIIkYvNyRGYl5dbCQiM10mKmUnNEQucy4jRi83JEZnXl1sJCIzX1ZzWSZ5OiJIPUYvNyRGXF9dbCQiMzktKkg5aSdSQz5GL0ZfZWNsNyc3JEZiX11sRmBkY2w3JEZlX11sRmNkY2w3JEZoX11sRmZkY2w3JEZbYF1sRmlkY2xGamVjbDcnNyRGX2BdbEZjY2NsNyRGYmBdbEZmY2NsNyRGZWBdbEZpY2NsNyRGaGBdbEZcZGNsRl9mY2w3JzckRlxhXWxGZmJjbDckRl9hXWxGaWJjbDckRmJhXWxGXGNjbDckRmVhXWxGX2NjbEZkZmNsNyc3JEZpYV1sRmlhY2w3JEZcYl1sRlxiY2w3JEZfYl1sRl9iY2w3JEZiYl1sRmJiY2xGaWZjbDcnNyRGZmJdbCQiM1lQQU1YYUprOUYvNyRGW2NdbCQiM08oNCIqeil5LHA9Ri83JEZgY11sJCIzIT1BPSQqPVIucCJGLzckRmNjXWwkIjMnKTMtXilHYkMoPUYvRmBnY2w3JzckRmljXWwkIjN5PUYlWzx6KCpvIkYvNyRGXmRdbCQiMy87MVxlVGJWO0YvNyRGY2RdbCQiM1UuN0oiKWViXDpGLzckRmhkXWwkIjNRa2MqW1hvdnYiRi9GXWhjbDcnNyRGXmVdbCQiM3U8N2piX1pBPkYvNyRGY2VdbCQiMzI8QHF4IWUzVCJGLzckRmhlXWwkIjMxZm9tY0FTUjlGLzckRl1mXWwkIjMmcCNwR04xJlFnIkYvRmpoY2w3JzckRmNmXWwkIjNVXURlLU1vPz9GLzckRmhmXWwkIjNTJXldMiQqXEVKIkYvNyRGXWddbEZjXmNsNyRGYGddbCQiM1EzK18wdCgzXyJGL0ZnaWNsNyc3JEZmZ11sRmBdY2w3JEZbaF1sRmNdY2w3JEZgaF1sRmZdY2w3JEZlaF1sRmldY2xGYGpjbDcnNyRGW2ldbCQiMyU+dltDJTNBbz9GLzckRmBpXWwkIjMpR2UlKTNcN15FIkYvNyRGZWldbCQiM0BsKT1dayE+NjlGLzckRmppXWwkIjNnMkwoUlghem05Ri9GZ2pjbDcnNyRGYGpdbCQiM3dpYCZRNCdcdT9GLzckRmVqXWwkIjMvc3paUnMkKWU3Ri83JEZqal1sJCIzYkMkbyhcRTQ5OUYvNyRGX1tebEZfXGNsRmRbZGw3JzckRmNbXmxGaWpibDckRmZbXmxGXFtjbDckRmlbXmxGX1tjbDckRlxcXmxGYltjbEZdXGRsNyc3JEZoYXokIjN3TWxsTD9BNkhGLzckRl1ieiQiM01tTU1tengpMyNGLzckRmJieiQiMyV5UTd1dmQrRCNGLzckRmdieiQiMyVHKzxJIXBpJEcjRi9GZFxkbDcnNyRGXWN6JCIzKUc5JypmNXQhM0hGLzckRmJjeiQiM11lUSslKm8jPjQjRi83JEZnY3okIjMtdiNbPCk0ZVpBRi83JEZcZHokIjMzQExsI1t1JypHI0YvRmFdZGw3JzckRmJkeiQiMy9Bd0AneSozLUhGLzckRmdkeiQiMzF6Qnk4LSJ6NCNGLzckRlxleiQiM2ooKj1YUiUzWkMjRi83JEZhZXokIjNhdSZ6diY+TCpII0YvRl5eZGw3JzckRmdleiQiM0lQUGIqKSlwJCopR0YvNyRGXGZ6JCIzIlFFWS82STE2I0YvNyRGYWZ6JCIzInBCTDxQXEBDI0YvNyRGZmZ6JCIzInljIilcMTpqSiNGL0ZbX2RsNyc3JEZcZ3okIjNHLiZbYm1wIWVHRi83JEZhZ3okIjMkeVxeV0xJPjkjRi83JEZmZ3okIjNzbCJ6Zls3UEMjRi83JEZbaHokIjMjM1Y4JzRjQ11CRi9GaF9kbDcnNyRGYWh6JCIzN0EmPjVbUyRwRkYvNyRGZmh6JCIzcnkvKSo9JmYxQiNGLzckRltpeiQiM19DalNcKTR5RSNGLzckRmBpeiQiMz5mXVEoKVt3RUNGL0ZlYGRsNyc3JEZmaXokIjNDcUBUUjZvXkRGLzckRltqeiQiMykzJHllZyk9JFtDRi83JEZganokIjNjQXNkcl5MbkJGLzckRmVqeiQiMz8uZkFIKGZTZCNGL0ZiYWRsNyc3JEZbW1tsJCIzalpqOHNqJHlKI0YvNyRGYFtbbCQiM1tgTyd5aWpAbyNGLzckJCEzRkwiXCFHKDR0InlGLyQiM1UpPS48SisnNERGLzckJCEzMSZ5N2ZOdCUqKnpGLyQiMykpZidbWWhvcHAjRi9GX2JkbDcnNyRGYFxbbCQiM1xpa0ZpJ1J1PyNGLzckRmVcW2wkIjNpUU5zUC5jI3ojRi83JEZqXFtsJCIzcVlVJipveHEiZiNGLzckRl9dW2wkIjNFIlwlKT1BWyt1I0YvRmBjZGw3JzckRmVdW2wkIjNbUS5hSm0takBGLzckRmpdW2wkIjNqaSdmJW9MKHAkR0YvNyRGX15bbCQiMyd6dFVYdCJ6SEVGLzckRmReW2wkIjM9MTwqW11GQnYjRi9GXWRkbDcnNyRGal5bbCQiM3lNbyNmcjFOOSNGLzckRl9fW2wkIjMxbUoyJUckXGNHRi83JEZkX1tsJCIzJVF6TysiUT9bRUYvNyRGaV9bbCQiMydRakJ5Xl1ndiNGL0ZqZGRsNyc3JEZfYFtsJCIzSyM0dEY/Xls4I0YvNyRGZGBbbCQiM18zcEEoelteJ0dGLzckRmlgW2wkIjNbdTJ4Nzsnb2wjRi83JEZeYVtsJCIzYTJLN1p5P2RGRi9GZ2VkbDcnNyRGZGFbbCQiMzFyazxUSE5LQEYvNyRGaWFbbCQiM3lITiMpZXFrbkdGLzckRl5iW2wkIjNLKVsncC87VmZFRi83JEZjYltsJCIzLWpGUT8zWmRGRi9GZGZkbDcnNyRGaWJbbCQiM2YjNHRGP15bOCNGLzckRlxjW2xGaGVkbDckRl9jW2xGW2ZkbDckRmJjW2xGXmZkbEZhZ2RsNyc3JEZmY1tsJCIzMU5vI2ZyMU45I0YvNyRGW2RbbEZbZWRsNyRGYGRbbCQiM1Mlek8rIlE/W0VGLzckRmVkW2xGYWVkbEZoZ2RsNyc3JEZbZVtsJCIzd1EuYUptLWpARi83JEZeZVtsRl5kZGw3JEZjZVtsRmFkZGw3JEZmZVtsRmRkZGxGYWhkbDcnNyRGamVbbEZeY2RsNyRGXWZbbEZhY2RsNyRGYGZbbEZkY2RsNyRGY2ZbbCQiMyI9XCUpPUFbK3UjRi9GZmhkbDcnNyRGZ2ZbbCQiMyJ6TU9AUE95SiNGLzckRmpmW2wkIjMjSGxqeWlqQG8jRi83JEZfZ1tsRmViZGw3JCQiMyt6UXY1TD5uJylGL0ZqYmRsRl9pZGw3JzckRmhnW2wkIjN5cUBUUjZvXkRGLzckRl1oW2wkIjNLSXllZyk9JFtDRi83JEZiaFtsJCIzSUFzZHJeTG5CRi83JEZlaFtsRmlhZGxGamlkbDcnNyRGW2lbbCQiM29BJj41W1MkcEZGLzckRmBpW2wkIjNWeS8pKj0mZjFCI0YvNyRGZWlbbEZpYGRsNyRGaGlbbCQiMyIqZV1RKClbd0VDRi9GZWpkbDcnNyRGXmpbbEZmX2RsNyRGYWpbbEZpX2RsNyRGZGpbbEZcYGRsNyRGZ2pbbEZfYGRsRl5bZWw3JzckRltbXGxGaV5kbDckRl5bXGxGXF9kbDckRmFbXGxGX19kbDckRmRbXGxGYl9kbEZjW2VsNyc3JEZoW1xsRlxeZGw3JEZbXFxsRl9eZGw3JEZeXFxsJCIzIXoqPVhSJTNaQyNGLzckRmFcXGxGZV5kbEZoW2VsNyc3JEZlXFxsRl9dZGw3JEZoXFxsRmJdZGw3JEZbXVxsRmVdZGw3JEZeXVxsRmhdZGxGX1xlbDcnNyRGYl1cbEZiXGRsNyRGZV1cbEZlXGRsNyRGaF1cbEZoXGRsNyRGXV5cbEZbXWRsRmRcZWw3JzckRl9meCQiMz5lPi4pKTRzV1BGLzckRmRmeCQiM0E0Wmp5YyU+I0hGLzckRmlmeCQiMyNIc14tel9OMyRGLzckRl5neCQiMzEwK3pFMmg7SkYvRltdZWw3JzckRmRneCQiM1Z0PSI+PEo8dSRGLzckRmlneCQiMylSemFaXE5cI0hGLzckRl5oeCQiM21QeE88dzciMyRGLzckRmNoeCQiM1xBOj92aVVBSkYvRmhdZWw3JzckRmloeCQiMyxJY0Z5cjdPUEYvNyRGXml4JCIzU1A1UilbUjAkSEYvNyRGY2l4JCIzbTVAWWspKUh5SUYvNyRGaGl4JCIzLS4hR1giKTQ7OCRGL0ZlXmVsNyc3JEZeangkIjNEcT44TGRXQ1BGLzckRmNqeCQiMzsocE1OJDRBVUhGLzckRmhqeCQiM2toIz5bM2ZjMiRGLzckRl1beSQiMyN5JTNAY2dcWkpGL0ZiX2VsNyc3JEZjW3kkIjNBSF84MikqWydwJEYvNyRGaFt5JCIzPVE5YGZvPHFIRi83JEZdXHkkIjNRY09MWSRmajIkRi83JEZiXHkkIjNBUi9mL3JceUpGL0ZfYGVsNyc3JEZoXHkkIjM2OiNvP1pFJT5PRi83JEZdXXkkIjNJXyUpZiU+U3MvJEYvNyRGYl15JCIzeUg0KDNpIlImNCRGLzckRmddeSQiMzMzKT1WcF9vQyRGL0ZcYWVsNyc3JEZdXnkkIjNZMTY0QzVzQk1GLzckRmJeeSQiMyY0Y3ZEa1hIQyRGLzckRmdeeSQiM2UoKWVtMyYpUiE9JEYvNyRGXF95JCIzbXgzKEciM3gkUSRGL0ZpYWVsNyc3JEZiX3kkIjN3L0AmeTA5Qj0kRi83JEZnX3kkIjNtaVgiKTNFTiVbJEYvNyRGXGB5JCIzOzclW1Zfdj1LJEYvNyRGYWB5JCIzIipbR0RrSi87TkYvRmZiZWw3JzckRl52JCIzPStVOm5dXmNJRi83JEZjdiQiM0JuQ14qZl4saCRGLzckRl13JCIzeFIjeW5qSUNUJEYvNyRGaHYkIjNbLVNdNjQ5b05GL0ZjY2VsNyc3JEZkYXkkIjMiSDwhZVxpPzBJRi83JEZpYXkkIjNdJVwnMzwvWWhPRi83JEZeYnkkIjNrcS90VyV5XlgkRi83JEZjYnkkIjMncGRVIyoqZmQkZSRGL0ZgZGVsNyc3JEZpYnkkIjMxT2sjPklVRylIRi83JEZeY3kkIjNNSi11a1YjUW8kRi83JEZjY3kkIjM7PCp6L1FHZFokRi83JEZoY3kkIjNjaU4rN2lRKWUkRi9GXWVlbDcnNyRGXmR5JCIzIylIInpiZy9JKEhGLzckRmNkeSQiM2VQdjNoP20kcCRGLzckRmhkeSQiM200QTBpJEhgWyRGLzckRl1leSQiM28oUnUiRzQlKiplJEYvRmplZWw3JzckRmNleUZgYGVsNyRGZmV5Rl1gZWw3JEZpZXkkIjM9R2kyaSZwIilbJEYvNyRGXmZ5JCIzLTZJTD90SSFmJEYvRmVmZWw3JzckRmRmeUZoZWVsNyRGZ2Z5RltmZWw3JEZqZnlGXmZlbDckRl1neUZhZmVsRl5nZWw3JzckRmFneSQiM2lPayM+SVVHKUhGLzckRmRneSQiM3lJLXVrViNRbyRGLzckRmdneSQiM2k7KnovUUdkWiRGLzckRmpneUZkZWVsRmVnZWw3JzckJCIzQ3Y6Jj55NGtbJUYvRl5kZWw3JEZhaHlGYWRlbDckRmRoeUZkZGVsNyRGZ2h5RmdkZWxGYGhlbDcnNyRGYF9sJCIzdStVOm5dXmNJRi83JEZjX2wkIjNubUNeKmZeLGgkRi83JEZpX2wkIjNAUiN5bmpJQ1QkRi83JEZmX2wkIjMjPisvOiI0OW9ORi9GZ2hlbDcnNyRGaGl5JCIzSTBAJnkwOUI9JEYvNyRGXWp5JCIzNWlYIikzRU4lWyRGLzckRmJqeSQiM2c2JVtWX3Y9SyRGLzckRmdqeSQiM05bR0RrSi87TkYvRmRpZWw3JzckRl1beiQiMywyNjRDNXNCTUYvNyRGYlt6JCIzU2diZFVjJUhDJEYvNyRGZ1t6JCIzLSgpZW0zJilSIT0kRi83JEZcXHokIjM1eDMoRyIzeCRRJEYvRmFqZWw3JzckRmJceiQiM206I28/WkUlPk9GLzckRmdceiQiM3VeJSlmJT5Tcy8kRi83JEZcXXokIjNBSDQoM2kiUiY0JEYvNyRGYV16RmNhZWxGXltmbDcnNyRGZ116Rl1gZWw3JEZqXXpGYGBlbDckRl1eekZjYGVsNyRGYF56RmZgZWxGZ1tmbDcnNyRGZF56RmBfZWw3JEZnXnpGY19lbDckRmpeekZmX2VsNyRGXV96RmlfZWxGXFxmbDcnNyRGYV96RmNeZWw3JEZkX3pGZl5lbDckRmdfekZpXmVsNyRGal96RlxfZWxGYVxmbDcnNyRGXmB6RmZdZWw3JEZhYHpGaV1lbDckRmRgekZcXmVsNyRGZ2B6Rl9eZWxGZlxmbDcnNyRGW2F6RmlcZWw3JEZeYXpGXF1lbDckRmFhekZfXWVsNyRGZGF6RmJdZWxGW11mbDcnNyRGZGp2JCIzdVpqIkdYYyN5WEYvNyRGaWp2JCIzJ2YpcF4hKW8yYlBGLzckRl5bdyQiM1Q4Qyo+MiozPFJGLzckRmNbdyQiMz8nUSZ5Kio9XlxSRi9GYl1mbDcnNyRGaVt3JCIzMVFqJXohZlh2WEYvNyRGXlx3JCIzbSYqcFFEdSh5diRGLzckRmNcdyQiM2IxXSMpKikpR1oiUkYvNyRGaFx3JCIzJW8lNHBHeS9iUkYvRl9eZmw3JzckRl5ddyQiMycqSFpIRlZIcVhGLzckRmNddyQiM3cuJ1FnK1JJdyRGLzckRmhddyQiM00rdkdkKGY+IlJGLzckRl1edyQiM08kcGpEMXFPJ1JGL0ZcX2ZsNyc3JEZjXnckIjM5T3l1azd6ZlhGLzckRmhedyQiM2MoXCZlbz9hdFBGLzckRl1fdyQiM0lDJSllYjxENFJGLzckRmJfdyQiMzs1TVBxIylHeVJGL0ZpX2ZsNyc3JEZoX3ckIjNxdylSWEsqXE5YRi83JEZdYHckIjMrZE16M1MkeXokRi83JEZiYHckIjNINnNEcE0zNFJGLzckRmdgdyQiM0VQS3oqKkgrMVNGL0ZmYGZsNyc3JEZdYXckIjNDKz5QQisscldGLzckRmJhdyQiM1tMOScqNExLaVFGLzckRmdhdyQiMzNlRCkpW0UnSCNSRi83JEZcYnckIjMvcStVXElEbFNGL0ZjYWZsNyc3JEZiYnckIjNpcnd0LiNRTEklRi83JEZnYnckIjMzaWNmSF4qKkhTRi83JEZcY3ckIjNnO01XTUB4ISpSRi83JEZhY3ckIjM1a2MjeTl6dj0lRi9GYGJmbDcnNyRGZ2N3JCIzZVVQOiJSXy4xJUYvNyRGXGR3JCIzNyJmekAlNClIRiVGLzckRmFkdyQiMzgkKj47Qm5BRVRGLzckRmZkdyQiMzFmIT15SGt3SyVGL0ZdY2ZsNyc3JCQhM3EpemZoXSMqKUd0Ri8kIjMhZnEvaj1MUCJSRi83JCQhM1hITjxGM1cvZ0YvJCIzIXlpR3E5Kyc+V0YvNyQkITMhUUo5cUdFWjsnRi8kIjNfXTlPMiYpSEZVRi83JCQhM3Z1aVBuKGZ3VCdGLyQiMylRdE1zJ1wmR1IlRi9GXGRmbDcnNyQkITNLQHEhMzhrZ2EmRi8kIjNzSChbIXA4Iz4mUUYvNyRGZmZ3JCIzKVJnJUdrPlQiWyVGLzckRltndyQiM1k3Vj9PXydvRiVGLzckRmBndyQiMzNvZyEqbzdROFdGL0ZhZWZsNyc3JCQhM1Ilejd3WnQyIlFGLyQiM0heWENUVjtEUUYvNyQkITNlb1EwKj0kKmUmR0YvJCIzVCN5KTMjKipvIjNYRi83JCQhM3lyITRLbno9KkdGLyQiMztWLlVIVGgrVkYvNyQkITNPKD1KJykqPlFMS0YvJCIzOzQtXGxUKCo+V0YvRmBmZmw3JzckRltpdyQiMypmTnFNbjFOIlFGLzckJCEzX0tjME8qW1dBIkYvJCIzc3hIJylmbSMpPlhGLzckJCEzImYrOVEkW05SN0YvJCIzZ0VDbyFvRTtKJUYvNyQkITNbOy4sRlteI2YiRi8kIjNnJT1OTDYiPUFXRi9GY2dmbDcnNyRGYGp3JCIzTyxOZiNRdCwiUUYvNyRGZWp3JCIzTkspUjImKmZKXyVGLzckJCIzKGYuIm9lXFBHVUZkeiQiM3BnTXF3LyhbSiVGLzckJCIzQi5RXHo2VU1tRmNfdiQiMzsrLlwlPTxGVSVGL0ZmaGZsNyc3JEZlW3hGYWdmbDckRmhbeEZmZ2ZsNyQkIjMlcEs+JipceVI0I0YvRltoZmw3JEZeXHhGYGhmbEZlaWZsNyc3JEZiXHhGXmZmbDckRmVceEZjZmZsNyRGaFx4RmhmZmw3JEZbXXhGXWdmbEZcamZsNyc3JEZfXXhGX2VmbDckRmJdeEZiZWZsNyRGZV14RmVlZmw3JEZoXXhGaGVmbEZhamZsNyc3JEZcXnhGamNmbDckRl9eeEZfZGZsNyRGYl54RmRkZmw3JEZlXngkIjNXTVpCblwmR1IlRi9GZmpmbDcnNyRGW194JCIzOVZQOiJSXy4xJUYvNyRGYF94JCIzYyFmekAlNClIRiVGLzckRmVfeCQiM2QjKj47Qm5BRVRGLzckRmhfeEZkY2ZsRl9bZ2w3JzckRl5geEZeYmZsNyRGY2B4RmFiZmw3JEZoYHgkIjM7PE1XTUB4ISpSRi83JEZbYXhGZ2JmbEZoW2dsNyc3JEZhYXhGYWFmbDckRmRheEZkYWZsNyRGZ2F4RmdhZmw3JEZqYXhGamFmbEZfXGdsNyc3JEZeYnhGZGBmbDckRmFieEZnYGZsNyRGZGJ4RmpgZmw3JEZnYnhGXWFmbEZkXGdsNyc3JEZbY3hGZ19mbDckRl5jeEZqX2ZsNyRGYWN4Rl1gZmw3JEZkY3hGYGBmbEZpXGdsNyc3JEZoY3hGal5mbDckRltkeEZdX2ZsNyRGXmR4RmBfZmw3JEZhZHhGY19mbEZeXWdsNyc3JEZlZHgkIjNnUWoleiFmWHZYRi83JEZoZHgkIjM1JipwUUR1KHl2JEYvNyRGW2V4JCIzKzFdIykqKSlHWiJSRi83JEZeZXgkIjNHWTRwR3kvYlJGL0ZlXWdsNyc3JEZiZXhGYF1mbDckRmVleEZjXWZsNyRGaGV4RmZdZmw3JEZbZnhGaV1mbEZgXmdsNyc3JEZmXnUkIjN5Y3hvUzojPVQmRi83JEZbX3UkIjNtVUFKZiV5IillJUYvNyRGYF91JCIzJUhUO3Q3ajF2JUYvNyRGZV91JCIzJ3BKcHRxVEJ5JUYvRmdeZ2w3JzckRltgdSQiMyY0MWIqSDhCNGFGLzckRmBgdSQiMy9SXC9xJ28yZiVGLzckRmVgdSQiM0NDdFFzLFFbWkYvNyRGamB1JCIzO0cib2EqPWMoeSVGL0ZkX2dsNyc3JEZgYXUkIjN3LXhqRCpcWFMmRi83JEZlYXUkIjNBKEhpVjJdYWYlRi83JEZqYXUkIjNfQSQpZkB0b1haRi83JEZfYnUkIjM7R3cjKVJMYyZ6JUYvRmFgZ2w3JzckRmVidSQiM1taNV8yWkcmUiZGLzckRmpidSQiM11fKnlDSDpaZyVGLzckRl9jdSQiMzYnKmVTKj5RSHUlRi83JEZkY3UkIjNiUEYqUikqPSkzW0YvRl5hZ2w3JzckRmpjdSQiMz86dShwRyJvdWBGLzckRl9kdSQiM3olZUFJcj1gaSVGLzckRmRkdSQiM3dmO3RCNio+dSVGLzckRmlkdSQiMyYpKWZlXiIpSEokW0YvRltiZ2w3JzckRl9ldSQiM1EkUSwhM0FbQWBGLzckRmRldSQiM2k7JykqPno8dm4lRi83JEZpZXUkIjNxKioqeVZUJT5eWkYvNyRGXmZ1JCIzQUhmLGEqPUopW0YvRmhiZ2w3JzckRmRmdSQiMyk9KVw3KSoqUWo9JkYvNyQkITMpbzErditXWUQqRi8kIjM2PV0oPStoTyJbRi83JCQhM2k0bHU9QGNxJypGLyQiM2I5JmVlbHk2IVtGLzckJCEzc0Y6aT9KQSVbKkYvJCIzKyhcJClSbDx2KVxGL0ZlY2dsNyc3JEZpZ3UkIjMxIVtOVCdvKVImXEYvNyRGXmh1JCIzJSo+WCdlODhnLyZGLzckRmNodSQiMyU9NycpeUlmRCNcRi83JEZoaHUkIjNNZmtGPiU9J0heRi9GaGRnbDcnNyQkITNFSW1QaFt0eHRGLyQiM081dnNpIkhGeSVGLzckJCEzIXpwYz5aKWZiZkYvJCIzaypbc3MkM0Y8X0YvNyQkITNhUDlhOFknWzonRi8kIjNsKSpSayFHMVYuJkYvNyQkITM9RlIiM1hOQFAnRi8kIjNQKltAJEhMMjdfRi9GZ2VnbDcnNyRGY2p1JCIzVDBjXXVAUDBaRi83JEZoanUkIjNlJVIlXER5aSVIJkYvNyRGXVt2JCIzV1EzTnlLUiQ0JkYvNyRGYlt2JCIzR08hKTQiPjIyQyZGL0ZqZmdsNyc3JEZoW3YkIjM/Um9DO0goPW4lRi83JEZdXHYkIjNDZ0p2JDNGIkdgRi83JEZiXHYkIjNRT3JSNl4lPTcmRi83JEZnXHYkIjNxVSM0Zm1VLUQmRi9GZ2dnbDcnNyQkITMmPSM+cDokMzU5I0YvJCIzbUQlWywjKj51bCVGLzckJCEzNTM5azxdSyM+IkYvJCIzTnU6Jil6K2VVYEYvNyQkITM4ZSt5TzRWRTdGLyQiMyxOQ3RaZSVcOCZGLzckRlxediQiM1tbKCkpKmY3YGBfRi9GZmhnbDcnNyQkITN5RC1ATjtdQVlGZHokIjNrSiNmdFA3TGwlRi83JCQiMzRmLUBOO11BWUZkeiQiMyF5d1NFaShvWWBGLzckJCIzUTYwJmUjeUxhVkZkeiQiMztxJDMhM2l5UV5GLzckJCIzMyNIR1cqZmh1KSlGY192JCIzWUUnKSkpWyhbVkQmRi9GaWlnbDcnNyQkIjNHNjlrPF1LIz4iRi9GZGhnbDckRltgdkZpaGdsNyRGXmB2Rl5pZ2w3JEZhYHZGYWlnbEZcW2hsNyc3JEZlYHZGZWdnbDckRmhgdkZoZ2dsNyRGW2F2RltoZ2w3JEZeYXZGXmhnbEZhW2hsNyc3JEZiYXZGaGZnbDckRmVhdkZbZ2dsNyRGamF2Rl5nZ2w3JEZdYnZGYWdnbEZmW2hsNyc3JEZjYnZGZWVnbDckRmhidkZqZWdsNyQkIjMlRyo9ej4obyV5ckYvRl9mZ2w3JEZeY3YkIjNbIVxAJEhMMjdfRi9GW1xobDcnNyRGYmN2JCIzaSFbTlQnbylSJlxGLzckRmVjdiQiMyMpPVgnZTg4Zy8mRi83JEZqY3YkIjN0P2gpeUlmRCNcRi83JEZdZHYkIjNCZWtGPiU9J0heRi9GZlxobDcnNyRGYWR2RmNjZ2w3JEZmZHYkIjNiPF0oPStoTyJbRi83JEZpZHYkIjMrOSZlZWx5NiFbRi83JEZcZXYkIjNXJ1wkKVJsPHYpXEYvRmFdaGw3JzckRmJldkZmYmdsNyRGZ2V2JCIzMTsnKSo+ejx2biVGLzckRmpldiQiMzkqKip5VlQlPl5aRi83JEZdZnYkIjNtR2YsYSo9SilbRi9GXF5obDcnNyRGYWZ2RmlhZ2w3JEZmZnZGXGJnbDckRmlmdkZfYmdsNyRGXGd2RmJiZ2xGZ15obDcnNyRGYGd2RlxhZ2w3JEZjZ3ZGX2FnbDckRmZndkZiYWdsNyRGaWd2RmVhZ2xGXF9obDcnNyRGXWh2Rl9gZ2w3JEZgaHZGYmBnbDckRmNodkZlYGdsNyRGZmh2RmhgZ2xGYV9obDcnNyRGamh2RmJfZ2w3JEZdaXZGZV9nbDckRmBpdkZoX2dsNyRGY2l2RltgZ2xGZl9obDcnNyRGZ2l2RmVeZ2w3JEZqaXZGaF5nbDckRl1qdkZbX2dsNyRGYGp2Rl5fZ2xGW2BobDcnNyRGXWNzJCIzcVFrZXoqM2FDJ0YvNyRGYmNzJCIzcUctMyhvZDdVJkYvNyRGZ2NzJCIzO3VNemw0RiVlJkYvNyRGXGRzJCIza2hJSSdRN15oJkYvRmJgaGw3JzckRmJkcyQiM2F0VkpeNi9WaUYvNyRGZ2RzJCIzKFFIX2BeRE9VJkYvNyRGXGVzJCIzbyY9R0Erdz9lJkYvNyRGYWVzJCIzWnRxKHBTIyoqPmNGL0ZfYWhsNyc3JEZnZXMkIjNuc1FkalImKVFpRi83JEZcZnMkIjN0JXojNC5GInlVJkYvNyRGYWZzJCIzKSo0SCE9I2ZaemJGLzckRmZmcyQiMy9pJ0g+bFN0aSZGL0ZcYmhsNyc3JEZcZ3MkIjMieXBoeF87M0InRi83JEZhZ3MkIjNncFwhKlEsJmVWJkYvNyRGZmdzJCIzIT5SZS4+QW5kJkYvNyRGW2hzJCIzOyoqUVNKJzMjUmNGL0ZpYmhsNyc3JEZhaHMkIjNeRkhLVnVwOGlGLzckRmZocyQiMyEqUlBNQiNwSFgmRi83JEZbaXMkIjMlcEs5VmBZXmQmRi83JEZgaXMkIjNjKio+SiUqbz5nY0YvRmZjaGw3JzckRmZpcyQiMydvQ3FEeDpFPCdGLzckRltqcyQiM2E/azQlKjMwJVwmRi83JEZganMkIjNbS19fQSQpXCFlJkYvNyRGZWpzJCIzSEVaNXgxVixkRi9GY2RobDcnNyRGW1t0JCIzU2lXLz0rd25nRi83JEZgW3QkIjMrMEFpW20hKilmJkYvNyRGZVt0JCIzYCJvb2RYK1ZoJkYvNyRGalt0JCIzN0owdzBCYCd5JkYvRmBlaGw3JzckRmBcdCQiM0MnSFwlKioqKT5pZUYvNyRGZVx0JCIzPHJ0QG53WS9lRi83JEZqXHQkIjMiZnB3I3AvMDhkRi83JEZfXXQkIjNYSDtKbEspMyNmRi9GXWZobDcnNyQkITNFK1Q5RCpwP1YoRi8kIjNTVFd1PyFmJm9jRi83JCQhMyF6QSo9M01FLGZGLyQiMytFQSNmazIiKSpmRi83JEZfXnQkIjNhJypmSm9HM0plRi83JCQhM1AoNHV1Kil6XUonRi8kIjNUY2AkSG9MQy0nRi9GXGdobDcnNyRGal50JCIzLVNpeHkwQ3BiRi83JEZfX3QkIjNRRi8qeTNFdTQnRi83JEZkX3QkIjM0d3chKSoqKSpcLWZGLzckRmlfdCQiMytGOGRUN2tqZ0YvRl1oaGw3JzckRl9gdCQiMzs7eDQqKXpQRGJGLzckRmRgdCQiM0ReKm92bilHVGhGLzckJCEza0IiR2Q0JjNoR0YvJCIzIyoqZVM5MXR4JGZGLzckRl5hdCQiMyFvM2VCOTIieWdGL0ZqaGhsNyc3JCQhMyNbVEdeOk5QPSNGLyQiMytYRWx1WmQxYkYvNyQkITMrOlw/eSIpZlw2Ri8kIjNVQVMsIyo9NGdoRi83JEZeYnQkIjNNcmJmQ3gnUiZmRi83JCQhM2oydXohb3VvYCJGLyQiM20zNXJZW0IkMydGL0ZbamhsNyc3JCQhM2VMeUwiRyRcTF1GZHokIjM8XkctJ2ZpN10mRi83JCQiMypvJ3lMIkckXExdRmR6JCIzQztRa3FTU2xoRi83JEZjY3QkIjMvUlxXZFhwZWZGLzckJCIzPTtxMnBJZCQ+IkZkeiQiMz0nUXklKik9YCUzJ0YvRl5baWw3JzckJCIzTT1cP3kiKWZcNkYvRmlpaGw3JCQiMzs9JUdeOk5QPSNGL0ZeamhsNyRGaGR0RmFqaGw3JCQiM11EZmBfJ2VreiJGL0ZmamhsRl9caWw3JzckJCIzJSpbTG00cSo+eCNGL0ZoaGhsNyQkIjNvP0wrZCdwWSpRRi9GW2lobDckRmlldEZgaWhsNyQkIjNBRUhxRWlpKFwkRi9GY2lobEZqXGlsNyc3JEZgZnRGW2hobDckRmNmdEZeaGhsNyRGZmZ0RmFoaGw3JEZpZnRGZGhobEZjXWlsNyc3JCQiM0JKIyo9M01FLGZGL0ZqZmhsNyQkIjNmLlQ5RCpwP1YoRi9GX2dobDckJCIzVUUiWyVbeC0kPShGLyQiM2woKmZKb0czSmVGLzckJCIzNk0jZmVWYCM9cUYvRmdnaGxGal1pbDcnNyRGXmh0JCIzTShIXCUqKiopPmllRi83JEZhaHQkIjMxcXRAbndZL2VGLzckRmRodCQiMyFbcHcjcC8wOGRGLzckJCIzblclPiQpUT8iPikpRi8kIjNNRztKbEspMyNmRi9GaV5pbDcnNyRGW2l0Rl5laGw3JEZeaXRGYWVobDckRmFpdEZkZWhsNyRGZGl0RmdlaGxGZl9pbDcnNyRGaGl0RmFkaGw3JEZbanRGZGRobDckRl5qdEZnZGhsNyRGYWp0RmpkaGxGW2BpbDcnNyRGZWp0RmRjaGw3JEZoanRGZ2NobDckRltbdUZqY2hsNyRGXlt1Rl1kaGxGYGBpbDcnNyRGYlt1RmdiaGw3JEZlW3VGamJobDckRmhbdUZdY2hsNyRGW1x1RmBjaGxGZWBpbDcnNyRGX1x1RmphaGw3JEZiXHVGXWJobDckRmVcdUZgYmhsNyRGaFx1RmNiaGxGamBpbDcnNyRGXF11Rl1haGw3JEZfXXVGYGFobDckRmJddUZjYWhsNyRGZV11RmZhaGxGX2FpbDcnNyRGaV11RmBgaGw3JEZcXnVGY2BobDckRl9edUZmYGhsNyRGYl51RmlgaGxGZGFpbDcnNyRGZGhxJCIzK1JcKHBiNiF6cUYvNyRGaWhxJCIzI2VSZWp4QFZEJ0YvNyRGXmlxJCIzOWolUUJBM3pUJ0YvNyRGY2lxJCIzYyoqZl0hW095VydGL0ZbYmlsNyc3JEZpaXEkIjNpYlNeKypwbzIoRi83JEZeanEkIjM/eiM+R1Zqa0QnRi83JEZjanEkIjM4IVJFPEU1ZVQnRi83JEZoanEkIjNXTSZRXi1qQlgnRi9GaGJpbDcnNyRGXltyJCIzIXlKMjx0cUoyKEYvNyRGY1tyJCIzLTxnaSxFO2dpRi83JEZoW3IkIjNXLTRdciI9TFQnRi83JEZdXHIkIjM/d3oiKXkpXCFma0YvRmVjaWw3JzckRmNcciQiM2V2XlQ5eUhtcUYvNyRGaFxyJCIzQ2YiPSo9Yi5uaUYvNyRGXV1yJCIzNDhkbCYqKSpmNWtGLzckRmJdciQiMylcTXUjbz1jcGtGL0ZiZGlsNyc3JEZoXXIkIjM9bUJ2SjdKX3FGLzckRl1eciQiM2lvNGUsQC0iRydGLzckRmJeciQiMz5kJlxfPHEmM2tGLzckRmdeciQiM1cnKno1PT9YKFsnRi9GX2VpbDcnNyRGXV9yJCIzVV1EZS1Nbz9xRi83JEZiX3IkIjNTJXldMiQqXEVKJ0YvNyRGZ19yJCIzKT5jXEUvNTVUJ0YvNyRGXGByJCIzbTMrXzB0KDNfJ0YvRlxmaWw3JzckRmJgciQiM1ErZSVHJFxbVnBGLzckRmdgciQiM1dNdlsrJVspKlEnRi83JEZcYXIkIjM+KipmXCkzZj1WJ0YvNyRGYWFyJCIzTWg8QWokcHZlJ0YvRmlmaWw3JzckJCEzKlFoInBDXEVPIipGLyQiM10xVUNWXD15bkYvNyQkITMnby92PnUsL2AoRi8kIjNLRyIqMyFSW15iJ0YvNyQkITNSJ1tzIWUvJVEkekYvJCIzOFowVXIyMi5sRi83JCQhM0haXFwiPUFCI3lGLyQiM3Q8LEVwTyFRcSdGL0ZoZ2lsNyc3JEZcY3IkIjNhJCopM2YoKnlpZCdGLzckRmFjciQiM0dUV1VkVjBkbkYvNyRGZmNyJCIzY0MiSHI9SGloJ0YvNyRGW2RyJCIzNDlUTCJcLCc+b0YvRltpaWw3JzckRmFkciQiM3d4VFJIZVJca0YvNyRGZmRyJCIzL2QiUlJdUFIpb0YvNyRGW2VyJCIzMW0xSlpIKDRxJ0YvNyRGYGVyJCIzeWMiKSlmKipSKHlvRi9GaGlpbDcnNyRGZmVyRmpmaWw3JEZpZXJGZ2ZpbDckJCEzJFJDRSUzN3lUR0YvJCIzW3Q6NnFSd1huRi83JEZhZnIkIjNqTnQkW0N1OSFwRi9GY2ppbDcnNyRGZ2ZyJCIzTTFmcSJRJz1rakYvNyQkITNPNzV1RWhhJDQiRi8kIjNbR3VpXnA5cHBGLzckRmFnciQiMy9Nbm55IUhsdydGLzckJCEzNUZYc1VaJkhcIkYvJCIzJHo5ZU9ANCk0cEYvRmBbamw3JzckJCEzcUlQJm80MVpkJkZkeiQiM185cVJzMidwTidGLzckJCIzLWtQJm80MVpkJkZkeiQiM0k/aiQ0Y3NqKHBGLzckJCIzJHlOWyo9cUo0WkZkeiQiMzErZ2xbQGVzbkYvNyQkIjNvSj1EdyFlQWgiRmR6JCIzIlJNeDUhKVw+InBGL0ZjXGpsNyc3JEZhaXJGXltqbDckRmRpckZjW2psNyQkIjMkb2NwYigpZUc5I0YvRmZbamw3JEZqaXJGW1xqbEZkXWpsNyc3JEZeanJGamZpbDckRmFqckZnZmlsNyRGZGpyRmdqaWw3JEZnanJGamppbEZbXmpsNyc3JCQiMyNcLiFIMD0kKilHJUYvRmZpaWw3JEZeW3NGaWlpbDckJCIzYEVfN2A/IT1eJkYvRlxqaWw3JEZkW3MkIjMpeTopKWYqKlIoeW9GL0ZiXmpsNyc3JEZoW3MkIjNtJSopM2YoKnlpZCdGLzckRltccyQiMztTV1VkVjBkbkYvNyRGXlxzJCIzWEIiSHI9SGloJ0YvNyRGYVxzJCIzKUg2TThcLCc+b0YvRl1famw3JzckRmVcc0ZmZ2lsNyRGaFxzRltoaWw3JEZbXXNGYGhpbDckRl5dc0ZlaGlsRmhfamw3JzckRmJdc0ZnZmlsNyQkIjMnW0khKik0VEdpNUYsRmpmaWw3JCQiM04menNlUXQ5LSJGLEZdZ2lsNyQkIjNrMzJcN186XDVGLEZgZ2lsRl1gamw3JzckJCIzSClbPTp3PkY3IkYsRmplaWw3JCQiMz5YWyI9ZDgxQCJGLEZdZmlsNyQkIjNBUDUpbzskKVE8IkYsRmBmaWw3JCQiM19ERVpTW0c0N0YsRmNmaWxGamBqbDcnNyRGXF9zRl1laWw3JEZfX3NGYGVpbDckRmJfc0ZjZWlsNyRGZV9zRmZlaWxGZWFqbDcnNyRGaV9zRmBkaWw3JEZcYHNGY2RpbDckRl9gc0ZmZGlsNyRGYmBzRmlkaWxGamFqbDcnNyRGZmBzRmNjaWw3JEZpYHNGZmNpbDckRlxhc0ZpY2lsNyRGX2FzRlxkaWxGX2JqbDcnNyRGY2FzRmZiaWw3JEZmYXNGaWJpbDckRmlhcyQiM0MiUkU8RTVlVCdGLzckRlxic0ZfY2lsRmRiamw3JzckRmBic0ZpYWlsNyRGY2JzRlxiaWw3JEZmYnNGX2JpbDckRmlic0ZiYmlsRltjamw3JzckRl9ccCQiMyNlJCp6L1xBRSJ6Ri83JEZkXHAkIjNTbStfNHZQKDMoRi83JEZpXHAkIjM9d0Anb0lxOkQoRi83JEZeXXAkIjNJI1ExNkZFMEcoRi9GYmNqbDcnNyRGZF1wJCIzImYrTnp2LjIiekYvNyRGaV1wJCIzSScqXDFVaUgqMyhGLzckRl5ecCQiM01AOU0wa2Rcc0YvNyRGY15wJCIzPT8rZm1mcCVHKEYvRl9kamw3JzckRmlecCQiM3lsJnosb3F1IXpGLzckRl5fcCQiM1VPLyMpPiRIRDQoRi83JEZjX3AkIjM7ZGNSKEcwc0MoRi83JEZoX3AkIjMhUS95REpMMkgoRi9GXGVqbDcnNyRGXmBwJCIzLCo+PjRmajshekYvNyRGY2BwJCIzPy4zMzRrTCk0KEYvNyRGaGBwJCIzQCVvSiYzNGNXc0YvNyRGXWFwJCIzUUc3OSR5aSoqSChGL0ZpZWpsNyc3JEZjYXAkIjN5JHlPdydmUSEqeUYvNyRGaGFwJCIzVj1LT0tTaDRyRi83JEZdYnAkIjNBVVIsaHFDVXNGLzckRmJicCQiM3M8cCcqb14xOnRGL0ZmZmpsNyc3JEZoYnAkIjNLZHlUOyg+ayd5Ri83JEZdY3AkIjMiXDkjZSRHIWVMckYvNyRGYmNwJCIzVElFcU9TbFVzRi83JEZnY3AkIjM3OHFLOGAkPU0oRi9GY2dqbDcnNyRGXWRwJCIzVUQ6WFwwVTZ5Ri83JEZiZHAkIjMhb1pbMFh6Jik9KEYvNyRGZ2RwJCIzKXlYWXYkUkFhc0YvNyRGXGVwJCIzUUNnanFJaiNSKEYvRmBoamw3JzckRmJlcCQiM19oRS9oYFchcChGLzckRmdlcCQiM3FTdCYqUVliNHRGLzckRlxmcCQiM2duUnUvM1AqSChGLzckJCEzUXdDVnVQJ3kieUYvJCIzcWNsJ1EqKm9ZWyhGL0ZdaWpsNyc3JEZnZnAkIjNxJFthKnlreTB2Ri83JEZcZ3AkIjNfPWIvQE5AJVwoRi83JEZhZ3AkIjMlKWU4dj1EYyNSKEYvNyRGZmdwJCIzQkNGNmhkKDNnKEYvRlxqamw3JzckRlxocCQiMz1RWyttJilwYHRGLzckRmFocCQiMy9rXipSVixqayhGLzckRmZocCQiMyNRNVNhdzthWyhGLzckRltpcCQiM28/LjVXYFshbyhGL0ZpampsNyc3JCQhM3BXTyg+SFw2LiVGLyQiM0dhL2hDMUNzc0YvNyQkITNHPUlwdXReTkVGLyQiMyV6YSpRdiRmeHMoRi83JEZbanAkIjMjb3pTIXknND5hKEYvNyQkITNXVUAxTy1jXklGLyQiMzd2M3FuT087eEYvRmhbW203JzckRmZqcCQiM1UySFdYcyFmQihGLzckJCEzSms/aCpILEAtIkYvJCIzIVs0ZFh2IzRreEYvNyRGYFtxJCIzZ1dWWm1sO3B2Ri83JCQhM1h0XS1vRURMOUYvJCIzVCUqekIzeklJeEYvRmlcW203JzckJCEzdUwxKmVYczlGJ0ZkeiQiMyRceWErM0JjQShGLzckJCIzL24xKmVYczlGJ0ZkeiQiM0c8XyUqPnBQdXhGLzckJCIzSi4qW0UjKUh4I1xGZHokIjNFVFUhRyNbPHh2Ri83JCQiM29Ybj5CMSdSPSNGZHokIjM8Mjo/TTsnUnQoRi9GXF5bbTcnNyQkIjNrbj9oKkgsQC0iRi9GZ1xbbTckRmNdcUZcXVttNyRGZl1xRl9dW203JEZpXXFGZF1bbUZfX1ttNyc3JCQiM2hASXB1dF5ORUYvRmZbW203JCQiMy1bTyg+SFw2LiVGL0ZbXFttNyQkIjM4cVMqZiFlJ0clUUYvRl5cW203JCQiMydRXy8xVjFeaCRGL0ZjXFttRmZfW203JzckJCIzR0kiZmBvRCg+VUYvRmdqamw3JEZdX3FGampqbDckJCIzJyo0KFFDTWNiXiZGL0ZdW1ttNyRGY19xRmBbW21GY2BbbTcnNyRGZ19xRmppamw3JEZcYHFGXWpqbDckRmFgcUZgampsNyRGZmBxRmNqamxGamBbbTcnNyRGXGFxRltpamw3JEZhYXFGXmlqbDckRmZhcUZhaWpsNyRGW2JxRmZpamxGX2FbbTcnNyRGYWJxJCIzYEU6WFwwVTZ5Ri83JEZkYnEkIjNxdiVbMFh6Jik9KEYvNyRGZ2JxJCIzeWNrYVBSQWFzRi83JEZqYnEkIjNFQmdqcUlqI1IoRi9GZmFbbTcnNyRGXmNxRmFnamw3JEZhY3FGZGdqbDckRmRjcUZnZ2psNyRGZ2NxRmpnamxGYWJbbTcnNyRGW2RxJCIzbSN5T3cnZlEhKnlGLzckRmBkcSQiM2E+S09LU2g0ckYvNyRGZWRxJCIzTFZSLGhxQ1VzRi83JEZqZHEkIjMkKT1wJypvXjE6dEYvRmhiW203JzckRmBlcUZnZWpsNyRGY2VxRmplamw3JEZmZXFGXWZqbDckRmllcUZgZmpsRmNjW203JzckRl1mcUZqZGpsNyRGYGZxRl1lamw3JEZjZnFGYGVqbDckRmZmcUZjZWpsRmhjW203JzckRmpmcUZdZGpsNyRGXWdxRmBkamw3JEZgZ3FGY2RqbDckRmNncUZmZGpsRl1kW203JzckRmdncUZgY2psNyRGamdxRmNjamw3JEZdaHFGZmNqbDckRmBocUZpY2psRmJkW203JzckRmJhbiQiM3VCYlgtZEJZKClGLzckRmdhbiQiMyFmOTZVJzRWP3pGLzckRlxibiQiMzklSHNQYl9fMylGLzckRmFibiQiMyRHZiNmOkw+OCIpRi9GaWRbbTcnNyRGZ2JuJCIzKm9SMmkySlh1KUYvNyRGXGNuJCIzdXMjZi9mTkAjekYvNyRGYWNuJCIzTy8kby1ybkwzKUYvNyRGZmNuJCIzKjQrZT47NnE2KUYvRmZlW203JzckRlxkbiQiMypSKD0iPjxKPHUpRi83JEZhZG4kIjNrJnphWlxOXCN6Ri83JEZmZG4kIjNNUnhPPHc3IjMpRi83JEZbZW4kIjM7Qzo/dmlVQSIpRi9GY2ZbbTcnNyRGYWVuJCIzJCopb1tfMHNvdClGLzckRmZlbiQiM3EhKXpUNll6SHpGLzckRltmbiQiM18zQ3RHLWZ5ISlGLzckRmBmbiQiM3VgSHB5UFpJIilGL0ZgZ1ttNyc3JEZmZm4kIjMqUl9MJ0d0J3lzKUYvNyRGW2duJCIza1hKLlEkKnpRekYvNyRGYGduJCIzKUc4OSoqUlJoMilGLzckRmVnbiQiM24jcFEoUWQ4ViIpRi9GXWhbbTcnNyRGW2huJCIzU1VjP20yKik0KClGLzckRmBobiQiM0NGNVkrZnhjekYvNyRGZWhuJCIzY3onNFZzUF8yKUYvNyRGamhuJCIzQ1pPWXpCVWsiKUYvRmpoW203JzckRmBpbiQiMz9kOUZVRVpyJylGLzckJCEzUisiSF5SekleKkYvJCIzVTdfUkNTPiYqekYvNyQkITNLLS5LYz0qSCopKkYvJCIzaTljY2t2dSEzKUYvNyQkITMlKnpAUVpEJltiKkYvJCIzU1FMeTp4Wi0jKUYvRmdpW203JzckJCEzJT5nOHklbzciKiopRi8kIjMnWyl5SEE+OSplKUYvNyQkITMhKWVJJik9KVJibihGLyQiM3cleW9WdUN2MilGLzckJCEzXzp3S2dxRikzKUYvJCIzLUZOTEIqb2c1KUYvNyQkITNYbElPciVvQyR5Ri8kIjMjXGZgPkk8MEYpRi9GXFtcbTcnNyRGaltvJCIzIlIoMyIqNDsmW1cpRi83JEZfXG8kIjNyJnpibjA6PUEpRi83JEZkXG8kIjNfOXMzUXV0cCIpRi83JEZpXG8kIjM5JnlFZkxxL1ApRi9GX1xcbTcnNyRGX11vJCIzKVsiKW91Pj90RylGLzckRmRdbyQiM3dheT5wa016JClGLzckJCEzPzxYZygpUVIyWEYvJCIzbWMlPjdrIyplRClGLzckJCEzL08hcE0tMk1iJUYvJCIzOyV6NEV2XkhZKUYvRlxdXG03JzckRmRebyQiMydlNV95MDlCPSlGLzckRmlebyQiM3dqWCIpM0VOJVspRi83JEZeX28kIjNGOCVbVl92PUspRi83JCQhM1NAayYqRzFbb0hGLyQiMy1dR0RrSi87JilGL0ZdXlxtNyc3JEZpX28kIjNKLyozPzYjKTQ4KUYvNyQkITN1bnIpKilwQT9RKkZkeiQiM0tseGxhWG9OJilGLzckRmNgbyQiM0shKlspZiZlK2QkKUYvNyQkITNvMXhCPEEiW04iRi8kIjM2eG88Yj43UiYpRi9GXF9cbTcnNyQkITNUVScqNFo+bzVyRmR6JCIzPVgzMSdcaWc2KUYvNyQkIjNzdicqNFo+bzVyRmR6JCIzV0NlZ3FUZ10mKUYvNyRGaGFvJCIzWUx0KFJoUndPKUYvNyQkIjNteXRfZUBKWEhGZHokIjNHRFtsaW1TWCYpRi9GX2BcbTcnNyQkIjNtKj4oKSopcEE/USpGZHokIjNVMCozPzYjKTQ4KUYvNyQkIjNfO1lWajU4JlIjRi8kIjNAa3hsYVhvTiYpRi83JCQiM3NjK1VQQigzPSNGLyQiM0EqKVspZiZlK2QkKUYvNyQkIjN1RWM0OzZfeT5GLyQiMyt3bzxiPjdSJilGL0ZiYVxtNyc3JCQiMyN5ZTpQeGltYiNGLyQiMylwNV95MDlCPSlGLzckJCIzIz0zXkgqUSs1VEYvJCIzbWlYIikzRU4lWylGLzckRmZjbyQiMzs3JVtWX3Y9SylGLzckRmljbyQiMyIqW0dEa0ovOyYpRi9GZ2JcbTcnNyRGXWRvJCIzKWYiKW91Pj90RylGLzckRmBkbyQiM2tgeT5wa016JClGLzckRmNkbyQiM2FiJT43ayMqZUQpRi83JEZmZG8kIjMvJHo0RXZeSFkpRi9GZmNcbTcnNyRGamRvRl1cXG03JEZdZW9GYFxcbTckRmBlb0ZjXFxtNyRGY2VvRmZcXG1GYWRcbTcnNyRGZ2VvRmpqW203JEZqZW9GX1tcbTckRl1mb0ZkW1xtNyQkIjN0KmYuYD4pPk0pKUYvRmlbXG1GZmRcbTcnNyRGZGZvRmVpW203JEZnZm9GamlbbTckRmpmb0ZfalttNyRGXWdvRmRqW21GXWVcbTcnNyRGYWdvRmhoW203JEZkZ29GW2lbbTckRmdnb0ZeaVttNyRGamdvRmFpW21GYmVcbTcnNyRGXmhvRltoW203JEZhaG9GXmhbbTckRmRob0ZhaFttNyRGZ2hvRmRoW21GZ2VcbTcnNyRGW2lvRl5nW203JEZeaW9GYWdbbTckRmFpb0ZkZ1ttNyRGZGlvRmdnW21GXGZcbTcnNyRGaGlvRmFmW203JEZbam9GZGZbbTckRl5qb0ZnZlttNyRGYWpvRmpmW21GYWZcbTcnNyRGZWpvRmRlW203JEZoam9GZ2VbbTckRltbcEZqZVttNyRGXltwRl1mW21GZmZcbTcnNyRGYltwRmdkW203JEZlW3BGamRbbTckRmhbcEZdZVttNyRGW1xwRmBlW21GW2dcbTcnNyRGZWZsJCIzQ1ZJXSMqZiUpeiYqRi83JEZqZmwkIjN5JEhJM00oW2AoKUYvNyRGX2dsJCIzJT5wJTRpLiYqPSopRi83JEZkZ2wkIjM1QyhlPzZbZSUqKUYvRmJnXG03JzckRmpnbCQiMzlQKydIZ1UkeSYqRi83JEZfaGwkIjMhKipIdC50ISpcdilGLzckRmRobCQiMzEtRD9Edjw8KilGLzckRmlobCQiM3UqKjNdYWRLXCopRi9GX2hcbTcnNyRGX2lsJCIzbyIpNElZaiRmZCpGLzckRmRpbCQiM09iQi4oKXBSZCgpRi83JEZpaWwkIjMxd1BTSF8yOiopRi83JEZeamwkIjMxb0hBJW9jVCYqKUYvRlxpXG03JzckRmRqbCQiM3VhVFddNyE+ZCpGLzckRmlqbCQiM0kjPSopRzNLOXcpRi83JEZeW20kIjNjKDNVdl1xRSIqKUYvNyRGY1ttJCIzI1FmekE1UDYnKilGL0ZpaVxtNyc3JEZpW20kIjNFZDknUScpZlpjKkYvNyRGXlxtJCIzd3o9WnBNZG8oKUYvNyRGY1xtJCIzIylRXFwqKikpPjUqKUYvNyRGaFxtJCIzKVtGJEhob3FyKilGL0ZmalxtNyc3JEZeXW0kIjNPKSlIZDB5TV4mKkYvNyRGY11tJCIzb1sud0ZiKT55KUYvNyRGaF1tJCIzPDJkIio+RmAzKilGLzckRl1ebSQiM3MlZmFVKD5lKSkqKUYvRmNbXW03JzckRmNebSQiM0NyXkBLanRDJipGLzckRmhebSQiM3psIj02KyhmMykpRi83JEZdX20kIjM4TGVrXyJ6LiIqKUYvNyRGYl9tJCIzMSo0IUd3QSJwLCpGL0ZgXF1tNyc3JCQhMzZ4TFtOXFwtKilGLyQiMyE+IT5QQissciUqRi83JCQhM2kkRyQ9Sjw8a3hGLyQiMzlOOScqNExLaSkpRi83JCQhM18nPidwN3d6aSIpRi8kIjN2ZkQpKVtFJ0gjKilGLzckJCEzOWo0KmZEYSVleUYvJCIzO3IrVVxJRGwhKkYvRl9dXW03JzckRl1hbSQiMyFvdWVXVVxHUCpGLzckRmJhbSQiM0EhZnUpM1JbZyopRi83JEZnYW0kIjM/YDdSLVdDZiopRi83JCQhM3lgPXNDIiopSDonRi8kIjM0LCNHOSNIR1MiKkYvRmJeXW03JzckRmJibSQiM1hLXk9hNXFTIypGLzckRmdibSQiM2UvI28qeUFqIzQqRi83JEZcY20kIjM/IWU/cSY0PUEhKkYvNyRGYWNtJCIzX0NqVGgjKj5GIypGL0ZhX11tNyc3JEZnY20kIjMlUTEzM15aajcqRi83JEZcZG0kIjM/dF9fQWUpcD8qRi83JEZhZG0kIjNLRSNlbEdcZTMqRi83JEZmZG0kIjNFQidmXyVcPyRIKkYvRl5gXW03JzckJCEzZUk0SGxwVHNDRi8kIjNDV1A6IlJfLjEqRi83JCQhM3gkKlJVIW9qIjQnKUZkeiQiM3kjZnpAJTQpSEYqRi83JCQhM0ckcFZUTWZtOiJGLyQiM0MlKj47Qm5BRSIqRi83JEZbZm0kIjNHaCE9eUhrd0sqRi9GXWFdbTcnNyQkITMkXEl0XC1aIlF6RmR6JCIzWEE2Tj1vKClSISpGLzckJCIzQ1FMKFwtWiJRekZkeiQiM2U5QSlcXmNNSCpGLzckRltnbSQiMyoqRyV5QjFHJFIiKkYvNyQkIjMjKUdVNCNIem8nUUZkeiQiM29oRitRPHlQJCpGL0ZgYl1tNyc3JCQiMzNGU1Uhb2oiNCcpRmR6JCIzT1hQOiJSXy4xKkYvNyQkIjMjUiQ0SGxwVHNDRi8kIjNvImZ6QCU0KUhGKkYvNyRGXGhtJCIzOCQqPjtCbkFFIipGLzckJCIzRztubjgoZi4yI0YvJCIzPGchPXlIa3dLKkYvRmNjXW03JzckRmNobUZcYF1tNyRGZmhtRl9gXW03JEZpaG0kIjNXRiNlbEdcZTMqRi83JEZcaW1GZWBdbUZiZF1tNyc3JEZgaW1GX19dbTckRmNpbUZiX11tNyRGZmltRmVfXW03JEZpaW1GaF9dbUZpZF1tNyc3JEZdam1GYF5dbTckRmBqbUZjXl1tNyRGY2ptJCIzSWE3Ui1XQ2YqKUYvNyRGZmptRltfXW1GXmVdbTcnNyRGamptRl1dXW03JEZdW25GYl1dbTckRmBbbkZnXV1tNyRGY1tuRlxeXW1GZWVdbTcnNyQkIjNrUkhZMHYnUWQqRi9GXlxdbTckRmpbbkZhXF1tNyRGXVxuRmRcXW03JEZgXG5GZ1xdbUZcZl1tNyc3JEZkXG5GYVtdbTckRmdcbkZkW11tNyRGalxuRmdbXW03JEZdXW5GaltdbUZhZl1tNyc3JEZhXW5GZGpcbTckRmRdbkZnalxtNyRGZ11uRmpqXG03JEZqXW5GXVtdbUZmZl1tNyc3JEZeXm5GZ2lcbTckRmFebkZqaVxtNyRGZF5uRl1qXG03JEZnXm5GYGpcbUZbZ11tNyc3JEZbX25GamhcbTckRl5fbkZdaVxtNyRGYV9uRmBpXG03JEZkX25GY2lcbUZgZ11tNyc3JEZoX25GXWhcbTckRltgbkZgaFxtNyRGXmBuRmNoXG03JEZhYG5GZmhcbUZlZ11tNyc3JEZlYG5GYGdcbTckRmhgbkZjZ1xtNyRGW2FuRmZnXG03JEZeYW5GaWdcbUZqZ11tNyc3JEYqJCIzVE8oSDoiXE1UNUYsNyRGMSQiM1FTRXElKTNiJ2UqRi83JEY2JCIzbWIlZiQ9JGZFdipGLzckRjskIjNnVGIxKSkpKlx5KCpGL0ZhaF1tNyc3JEZBJCIzJVxVUmc5ODcvIkYsNyRGRiQiMzdjZGdSJm95ZSpGLzckRkskIjMzVEx0JFwqKjR2KkYvNyRGUCQiM2tvJHkpKipRbCJ5KkYvRl5pXW03JzckRlYkIjNALyopXFF3K1Q1Riw3JEZlbiQiM01pNCw6TyMqKmUqRi83JEZqbiQiMzNhRjhoJVEhXCgqRi83JEZfbyQiMz1uPHlOYCVmeSpGL0Zbal1tNyc3JEZlbyQiM04pKjQlM1l1MS8iRiw3JEZqbyQiMy9BK2YiUmJLZipGLzckRl9wJCIzIW9GbzIwJXlZKCpGLzckRmRwJCIzdWpyOScqeSg+eipGL0Zoal1tNyc3JEZqcCQiMy9ZKFJlWDUsLyJGLDckRl9xJCIzLVdEZ1RhKikpZipGLzckRmRxJCIzbiI+OGY5d1Z1KkYvNyRGaXEkIjM1TXlWdTl5KykqRi9GZVtebTcnNyRGX3IkIjMpUScpeipSNzZSNUYsNyRGZHIkIjNubDg/K3cpKTMnKkYvNyRGaXIkIjNoSGZbXmRLVSgqRi83JEZecyQiM007dihHc2lUIikqRi9GYlxebTcnNyRGZHMkIjMjbypcaSp6bnMuIkYsNyRGaXMkIjNMUCt2Lj9LRicqRi83JEZedCQiM3ZuMkpnOjZVKCpGLzckRmN0JCIzcGVLUGY1R04pKkYvRl9dXm03JzckJCEzbEVVP1FSRD8pKUYvJCIzZDdRKjMkUiJRLiJGLDckJCEzNU1DWUdGVFl5Ri8kIjMlKXo9MSJwZz1tKkYvNyQkITMtT09sKj1EakEpRi8kIjMtI0dLN0I5dXUqRi83JCQhM2k4YnIhKWU9KSl5Ri8kIjMhZStdQ1FXInApKkYvRl5eXm03JzckRl52JCIzXzh6aEU9b0Y1Riw3JEZjdiQiM0VwMyNRdCI9QigqRi83JEZodiQiMytNJEg9VSM+bCgqRi83JEZddyQiMzsnNGJscC00IyoqRi9GYV9ebTcnNyRGY3ckIjNUKVw3KSoqUWo9NUYsNyRGaHckIjNBPl0oPStoTyIpKkYvNyRGXXgkIjNtOiZlZWx5NiEpKkYvNyRGYngkIjNtKVwkKVJsPHYpKipGL0ZeYF5tNyc3JEZoeCQiM2h4ZDJwKFEhNDVGLDckRl15JCIzT0dBQzRCaDQqKkYvNyRGYnkkIjNhYkRMdl4xWikqRi83JCQhM20hKSlwW1YscCNHRi8kIjNpYVAmenVWXSsiRixGW2FebTcnNyRGXXokIjNJMHciM0Q2QisiRiw3JEZieiQiM0ldUiM9XCgpbygqKkYvNyQkITMxJEh5Qyg0WTE3Ri8kIjMnemBXWUAqKUcpKSpGLzckJCEzYVRBSWslW0w9IkYvJCIzJykqKkcjKXksNDQ1RixGamFebTcnNyRGY1tsJCIzQSsrKysrKys1Riw3JEZpW2xGaWJebTckJCIzaic9KSozOiUqW3MlRmR6JCIzI2ZMTExMTGUqKSpGLzckJCIzeiE+KSozOiUqW3MlRmR6JCIzJ3BtbW1tOy8sIkYsRltjXm03JzckRmVcbEZoYV5tNyRGaFxsRltiXm03JCQiMyYqUl0mM09zbzcjRi9GYGJebTckJCIzZyI0SiFwWykqXEBGL0ZlYl5tRmhjXm03JzckRmJdbEZpYF5tNyRGZ11sRlxhXm03JEZqXWxGX2FebTckJCIzayZ5J3pKX3dSUUYvRmRhXm1GYWRebTcnNyRGYV5sRlxgXm03JEZmXmxGX2BebTckRmlebEZiYF5tNyRGXF9sRmVgXm1GaGRebTcnNyRGYF9sRl9fXm03JEZjX2xGYl9ebTckRmZfbEZlX15tNyRGaV9sRmhfXm1GXWVebTcnNyRGXWBsRlxeXm03JEZgYGxGYV5ebTckRmNgbEZmXl5tNyRGZmBsRltfXm1GYmVebTcnNyRGamBsRl1dXm03JEZdYWxGYF1ebTckRmBhbEZjXV5tNyRGY2FsRmZdXm1GZ2VebTcnNyRGZ2FsRmBcXm03JEZqYWxGY1xebTckRl1ibEZmXF5tNyRGYGJsRmlcXm1GXGZebTcnNyRGZGJsRmNbXm03JEZnYmxGZltebTckRmpibEZpW15tNyRGXWNsRlxcXm1GYWZebTcnNyRGYWNsRmZqXW03JEZkY2xGaWpdbTckRmdjbEZcW15tNyRGamNsRl9bXm1GZmZebTcnNyRGXmRsRmlpXW03JEZhZGxGXGpdbTckRmRkbEZfal1tNyRGZ2RsRmJqXW1GW2debTcnNyRGW2VsRlxpXW03JEZeZWxGX2ldbTckRmFlbEZiaV1tNyRGZGVsRmVpXW1GYGdebTcnNyRGaGVsRl9oXW03JEZbZmxGYmhdbTckRl5mbEZlaF1tNyRGYWZsRmhoXW1GZWdebS0lJkNPTE9SRzYmJSRSR0JHJEZnW2xGZltsRlxoXm0kIiM1RmZbbC1GJjYlN2VuNyQkISIjRmdbbCQiKyQzWVcrIiEiKjckJCErI3AwayY+RmdoXm0kIis/MSZRUykhIzU3JCQhKyRRNkciPkZnaF5tJCIrKFFLOCZwRl1pXm03JCQhKzMtKVsoPUZnaF5tJCIrKWUzYyJlRl1pXm03JCQhK00hXHAkPUZnaF5tJCIrKXBbPXklRl1pXm03JCQhK2g5SCV6IkZnaF5tJCIrSiMzXHMkRl1pXm03JCQhKykpUWpePEZnaF5tJCIrODhbbEZGXWlebTckJCErYE5wMzxGZ2hebSQiK2JhLycpPUZdaV5tNyQkISs9S3ZsO0ZnaF5tJCIrWzdQJDMiRl1pXm03JCQhK0MyRyFlIkZnaF5tJCErciV5VzskISM2NyQkISsieU81XSJGZ2hebSQhK1YkKkg3OUZdaV5tNyQkIStvVSkqPTlGZ2hebSQhKzxkc3JCRl1pXm03JCQhK1RhN004RmdoXm0kIStVa2QpPiRGXWlebTckJCErZShRJlw3RmdoXm0kISspcG86KFFGXWlebTckJCErZDRgaTZGZ2hebSQhK0M7OT1XRl1pXm03JCQhK1FXKmUzIkZnaF5tJCErakFtJHklRl1pXm03JCQhKnEpPicqKipGZ2hebSQhK19yJipwXUZdaV5tNyQkISpdNSpIIipGZ2hebSQhK24mZXFBJkZdaV5tNyQkISpJIjMmSClGZ2hebSQhK1clb21EJkZdaV5tNyQkISpUd3BgKEZnaF5tJCErdyozNj0mRl1pXm03JCQhKlA7YmonRmdoXm0kISsmKm8ubVxGXWlebTckJCEqWmg9KGVGZ2hebSQhKzlNbXpZRl1pXm03JCQhKkdcTilcRmdoXm0kIStJIjM0QiVGXWlebTckJCEqWlVzPiVGZ2hebSQhKy12M09QRl1pXm03JCQhKkdSWEwkRmdoXm0kISs+XnUoNCRGXWlebTckJCEqJD0vOERGZ2hebSQhK01OIyk0Q0ZdaV5tNyQkISpVJiplbCJGZ2hebSQhK2ZJJmZpIkZdaV5tNyQkISlXbihvKUZnaF5tJCErdT40VycpRmZbX203JCQhKGVWKD5GZ2hebSQhK3BHTnU+ISM3NyQkIilmYEAnKUZnaF5tJCIrVSRSKnkmKUZmW19tNyQkIipuWilIO0ZnaF5tJCIrKmYnRyw7Rl1pXm03JCQiKkt5KmVDRmdoXm0kIis2JXpATyNGXWlebTckJCIqU15iSiRGZ2hebSQiK2oocEUzJEZdaV5tNyQkIiowVE46JUZnaF5tJCIreGgwMVBGXWlebTckJCIqN1JWJ1xGZ2hebSQiK3cuKSk+VUZdaV5tNyQkIio6I2ZrZUZnaF5tJCIrNSMpW3dZRl1pXm03JCQiKmA0Tm4nRmdoXm0kIitvTyJ5KFxGXWlebTckJCIqXSxzYChGZ2hebSQiK3ZkOSI9JkZdaV5tNyQkIip6TSk+JClGZ2hebSQiK2R1XGRfRl1pXm03JCQiKnFmYTwqRmdoXm0kIis6cyxBX0ZdaV5tNyQkIioxTzApKipGZ2hebSQiKzcqXFIyJkZdaV5tNyQkIisjRzJBMyJGZ2hebSQiK2BbZSl6JUZdaV5tNyQkIiskKUdbazZGZ2hebSQiK3NkVjJXRl1pXm03JCQiKzd5aF03RmdoXm0kIis5RilRJ1FGXWlebTckJCIrKClmZEw4RmdoXm0kIitaMFUuS0ZdaV5tNyQkIistRlQ9OUZnaF5tJCIrUGokeVAjRl1pXm03JCQiK0VwYS06RmdoXm0kIit2VC8kUiJGXWlebTckJCIrU3YmKXo6RmdoXm0kIistaSZ5QSRGZltfbTckJCIrR1VZbztGZ2hebSQhKy8nUj44IkZdaV5tNyQkIitvJyozMzxGZ2hebSQhK05lQ3U9Rl1pXm03JCQiKzJeclo8RmdoXm0kISs5UnoibyNGXWlebTckJCIrITRrKip5IkZnaF5tJCErOXFOQk9GXWlebTckJCIrc0lASz1GZ2hebSQhK0FxRGZZRl1pXm03JCQiK1MybHM9RmdoXm0kISsjUW9AdiZGXWlebTckJCIrMiUpMzg+RmdoXm0kISsneVIrJ3BGXWlebTckJCIrL1VhYz5GZ2hebSQhK2hpdTMlKUZdaV5tNyQkIiIjRmdbbCQhKyQzWVcrIkZnaF5tLSUqVEhJQ0tORVNTRzYjRmBqX20tRmlnXm02JkZbaF5tJCIxX01tWCUpZXFrISM7JCIyd21vVigpZXFrIkYsRltbYG0tJStBWEVTTEFCRUxTRzYnUSJ4NiJRJXkoeClGYVtgbS0lJUZPTlRHNiQlKkhFTFZFVElDQUdGXmhebSUrSE9SSVpPTlRBTEdGZ1tgbS0lKkdSSURTVFlMRUc2IyUsUkVDVEFOR1VMQVJHLSUqTElORVNUWUxFRzYjRmdbbEZjW2BtLSUsT1JJRU5UQVRJT05HNiQkIiNYRmdbbEZiXGBtLSUrUFJPSkVDVElPTkc2I0ZdaF5tLUZpZ15tNiMlJU5PTkVHLSUlVklFV0c2JDskISQ7I0ZkaF5tJCIkOyNGZGhebTskISQzIkZkaF5tJCIkMyJGZGhebQ==</Plot></Text-field></Output></Group><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">(c) </Text-field><Text-field layout="Normal" style="Normal">We can find the first positive zero of the solution using <Font executable="false" italic="false" size="12" style="Maple Input" underline="false">fsolve</Font>. </Text-field><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">fsolve('fn'(x),x=1..2);</Font></Text-field></Input><Output><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiMkIis3dyY0ZyIhIio=</Equation></Text-field></Output></Group><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">Note that quotes must be placed around <Font executable="false" italic="false" style="Grey Emphasis" underline="false">fn</Font> to delay evaluation. </Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">We can check that 1.600957612 is the closest approximation for the zero with a 10 digit value (under the assumption that fn gives values which are correct to about 10 digits). </Text-field><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">fn(1.600957611);
fn(1.600957612);
fn(1.600957613);</Font></Text-field></Input><Output><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiMkIiwrKT0oKVxAISM+</Equation></Text-field><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiMkIitqZzFvZSEjPg==</Equation></Text-field><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiMkISs0bmVpKCohIz4=</Equation></Text-field></Output></Group><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">As a further check on the accuracy of this result the whole calculation can be repeated using a higher precision. </Text-field><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">Digits := 15:
fn2 := desolveRK({de,ic},x=0..2):
fsolve('fn2'(x),x=1..2);
Digits := 10:</Font></Text-field></Input><Output><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiMkIjBDJlE3dyY0ZyIhIzk=</Equation></Text-field></Output></Group><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">The special root-finding procedures <Font executable="false" italic="false" size="12" style="Maple Input" underline="false">secant</Font> or <Font executable="false" italic="false" size="12" style="Maple Input" underline="false">bisect</Font> could be used.</Text-field><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">secant('fn'(x),x=1..2,info=true);</Font></Text-field></Input><Output><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiQlN2FwcHJveGltYXRpb25+MX5+LT5+fn5HJCIuVzVkJlJOOCEjNw==</Equation></Text-field><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiQlN2FwcHJveGltYXRpb25+Mn5+LT5+fn5HJCIuLSdSIypbJlwiISM3</Equation></Text-field><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiQlN2FwcHJveGltYXRpb25+M35+LT5+fn5HJCIueC4nZXFNOyEjNw==</Equation></Text-field><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiQlN2FwcHJveGltYXRpb25+NH5+LT5+fn5HJCIuQG4uQ3NmIiEjNw==</Equation></Text-field><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiQlN2FwcHJveGltYXRpb25+NX5+LT5+fn5HJCIucFZxSDNnIiEjNw==</Equation></Text-field><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiQlN2FwcHJveGltYXRpb25+Nn5+LT5+fn5HJCIuITQtImU0ZyIhIzc=</Equation></Text-field><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiQlN2FwcHJveGltYXRpb25+N35+LT5+fn5HJCIuNkJoZDRnIiEjNw==</Equation></Text-field><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiQlN2FwcHJveGltYXRpb25+OH5+LT5+fn5HJCIudkJoZDRnIiEjNw==</Equation></Text-field><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiQlN2FwcHJveGltYXRpb25+OX5+LT5+fn5HJCIudkJoZDRnIiEjNw==</Equation></Text-field><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiMkIis3dyY0ZyIhIio=</Equation></Text-field></Output></Group><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">bisect('fn'(x),x=1..2);</Font></Text-field></Input><Output><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiMkIis3dyY0ZyIhIio=</Equation></Text-field></Output></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">;</Font></Text-field></Input></Group><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">(d) </Text-field><Text-field layout="Normal" style="Normal">Now consider the problem of finding the coordinates of first maximum point on the graph of the solution.</Text-field><Text-field layout="Normal" style="Normal">The maximum point occurs where the derivative is zero.</Text-field><Text-field layout="Normal" style="Normal">We can refer back to the original differential equation <Equation input-equation="dy/dx=1-x^2-y^2" style="2D Comment">NiMvKiYlI2R5RyIiIiUjZHhHISIiLChGJkYmKiQlInhHIiIjRigqJCUieUdGLEYo</Equation> to obtain a numerical procedure for the derivative of the numerical solution.</Text-field><Text-field layout="Normal" style="Normal">The following procedure "dgn" gives the derivative of the solution.</Text-field><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">dfn := x -&gt; 1-x^2-fn(x)^2;</Font></Text-field></Input><Output><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiM+JSRkZm5HZio2IyUieEc2IjYkJSlvcGVyYXRvckclJmFycm93R0YoLCgiIiJGLSokKTkkIiIjRi0hIiIqJCktJSNmbkc2I0YwRjFGLUYyRihGKEYo</Equation></Text-field></Output></Group><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">Again quotes must be used with the procedure <Font executable="false" italic="false" style="Grey Emphasis" underline="false">dfn</Font> in a <Font executable="false" italic="false" size="12" style="Maple Input" underline="false">plot</Font> command.</Text-field><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">plot('dfn'(x),x=0..2);</Font></Text-field></Input><Output><Text-field layout="Maple Plot" style="Maple Plot"><Plot height="300" type="two-dimensional" width="400">LSUlUExPVEc2Ky0lJ0NVUlZFU0c2JDdTNyQkIiIhRiskIiIiRis3JCQiK00zVmZWISM2JCIrOylRPycqKiEjNTckJCIrI0hbRDopRjEkIitdIWV3JykqRjQ3JCQiK2UwJD1DIkY0JCIrM29xJXAqRjQ3JCQiKzNSQnI7RjQkIistdmVeJSpGNDckJCIrempmKTQjRjQkIisqPUdVOSpGNDckJCIrJzQ7W1wjRjQkIiswYGMvKSlGNDckJCIraid5XSFIRjQkIistJilcLCUpRjQ3JCQiKyd6cyRITEY0JCIrJkhpVyR6RjQ3JCQiKzhpSV9QRjQkIitBNk9CdUY0NyQkIis8X00oPSVGNCQiK2InUmUmb0Y0NyQkIis0eV9xWEY0JCIrK29XRGpGNDckJCIrXTEhPismRjQkIis8JmUiKnAmRjQ3JCQiK11aL05hRjQkIiskM0dVLyZGNDckJCIrXSRmQyZlRjQkIisoKiopKUdSJUY0NyQkIisnejY6QidGNCQiKzQhZnZ5JEY0NyQkIis8PUMjbydGNCQiKyJRUlUwJEY0NyQkIituI3BTMShGNCQiKyFIcVNVI0Y0NyQkIitqYEEzdkY0JCIrInoxS28iRjQ3JCQiK24oeTghekY0JCIrWTUtQTVGNDckJCIrai50SyQpRjQkIiokcEA/SEY0NyQkIispM3pNdSlGNCQhKilbOHBTRjQ3JCQiKyNIXz88KkY0JCErYnUrUzZGNDckJCIrIUc7Y2MqRjQkISsjPUhxIj1GNDckJCIrNCNHLCoqKkY0JCErWnNHX0RGNDckJCIrIW8ySi8iISIqJCErdGUyQkxGNDckJCIrJVEjXCIzIkZlcyQhK1csbCxTRjQ3JCQiKzsqW0g3IkZlcyQhK2o4d1daRjQ3JCQiK3F2eGw2RmVzJCErJSpRakViRjQ3JCQiK2BxbjI3RmVzJCErYCEpMzRqRjQ3JCQiK2NwQFs3RmVzJCErIj1ObTMoRjQ3JCQiKzMnSEtIIkZlcyQhK0klNCF6ekY0NyQkIit4YW5MOEZlcyQhKz46YDcpKUY0NyQkIit2KydvUCJGZXMkIStBLGZVKCpGNDckJCIrUzwqZlQiRmVzJCErK3MhRzEiRmVzNyQkIismKUh4ZTlGZXMkISsuRztsNkZlczckJCIrLm8tKlwiRmVzJCErR112bjdGZXM3JCQiK1RPNVQ6RmVzJCErVE12I1EiRmVzNyQkIitVOUMjZSJGZXMkIStRPEovOkZlczckJCIrMSozYGkiRmVzJCErMEI6VjtGZXM3JCQiKyQqenltO0ZlcyQhK1lOSyF6IkZlczckJCIrXmo/NDxGZXMkIStPdUxkPkZlczckJCIrak1GXjxGZXMkIStKMyxWQEZlczckJCIrcShHKip5IkZlcyQhKytDMk5CRmVzNyQkIis5QEJNPUZlcyQhKzNmUCdlI0ZlczckJCIrYHYmUSg9RmVzJCErQVI8WUdGZXM3JCQiK09sNTs+RmVzJCErSSpRI3BKRmVzNyQkIisvVWFjPkZlcyQhK2ZgOE5ORmVzNyQkIiIjRiskIStNPiIqM1NGZXMtJSZDT0xPUkc2JiUkUkdCRyQiIzUhIiIkRitGYVtsRmJbbC0lK0FYRVNMQUJFTFNHNiRRIng2IlEhRmdbbC0lKkdSSURTVFlMRUc2IyUsUkVDVEFOR1VMQVJHLSUqTElORVNUWUxFRzYjRistJSVGT05URzYkJSpIRUxWRVRJQ0FHRmBbbC0lLE9SSUVOVEFUSU9ORzYkJCIjWEYrRmdcbC0lK1BST0pFQ1RJT05HNiNGX1tsLUZcW2w2IyUlTk9ORUctJSVWSUVXRzYkO0ZiW2wkIiM/RmFbbDskIS1vcyw0NFRGMSQiLW9RI3ksNSJGMQ==</Plot></Text-field></Output></Group><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">xmax := fsolve('dfn'(x),x=0.8);
fn(xmax);</Font></Text-field></Input><Output><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiM+JSV4bWF4RyQiKyI+KmYvJikhIzU=</Equation></Text-field><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiMkIitAJilSZ18hIzU=</Equation></Text-field></Output></Group><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">The coordinates of the maximum point on the graph of the solution are approximately ( 0.8504599191, 0.5260398521 ). </Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">Alternatively, the numerical procedure <Font executable="false" italic="false" size="12" style="Maple Input" underline="false">findmax</Font> from the relevant worksheet can be used.</Text-field><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">findmax('fn'(x),x=0.85);</Font></Text-field></Input><Output><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiM3JCQiKyI+KmYvJikhIzUkIitAJilSZ19GJg==</Equation></Text-field></Output></Group><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">;</Font></Text-field></Input></Group></Section><Section collapsed="true"><Title><Text-field layout="Heading 2" style="Heading 2">Example 5<Font bold="true" executable="false" family="Times New Roman" foreground="[128,0,0]" italic="false" style="_cstyle300" underline="false"> .. the numerical analogue of an "indefinite integral" </Font></Text-field></Title><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">;</Font></Text-field></Input></Group><Text-field layout="Normal" style="Normal">In this example we construct a procedure to evaluate the function</Text-field><Text-field layout="Normal257" style="Normal257">   <Equation input-equation="f(x) = Int(1/(u+exp(u)),t = 0 .. x);" style="2D Comment">NiMvLSUiZkc2IyUieEctJSRJbnRHNiQqJiIiIkYsLCYlInVHRiwtJSRleHBHNiNGLkYsISIiLyUidEc7IiIhRic=</Equation>.</Text-field><Text-field layout="Normal257" style="Normal257"> <Plot height="207" type="two-dimensional" width="311">LSUlUExPVEc2MC0lJ0NVUlZFU0c2JDdVNyQkIiIhRiskIiIiRis3JCQiM0FMTCQzRldZcyMhIz4kIjNvPjJdM1InKXolKiEjPTckJCIzV21tbVQmKUdcYUYxJCIzVkg7Pm8sKFwrKkY0NyQkIjNPKipcN2BwKSo+eUYxJCIzTVNjdUQoPlRpKUY0NyQkIjNQTCRla2BvIT41RjQkIjM5SSRlPT89K0YpRjQ3JCQiM29tbSJ6PilHXzpGNCQiMyUpZm83JkcqcGR2RjQ3JCQiMy1ubVQmUVUhKjMjRjQkIjNOW0d6NT5eUXBGNDckJCIzSEwkZVJaWEtpI0Y0JCIzTlYnSC5GSTRTJ0Y0NyQkIjN4bTt6PixfPUpGNCQiMylmWDgyIilwLCdmRjQ3JCQiM3YqKlw3RyRbOGokRjQkIjNjRiVIdDohZV9iRjQ3JCQiMzVuO3olKmZyaFRGNCQiM0dBPz1lRTh2XkY0NyQkIjNBK11pbEZRIXAlRjQkIjNmN3dRUEJ4T1tGNDckJCIzQE1MJDNfIj1NX0Y0JCIzMFxSKikpKjNVQVhGNDckJCIzSG5tVGcoZkpyJkY0JCIzUyF6biV5ZyxxVUY0NyQkIjNrKytdN2VQX2lGNCQiM11iJTRhdFIoNFNGNDckJCIzUSsrXVBmIVF6J0Y0JCIzIVwiKXloeChvcVBGNDckJCIzQCsrXSg9dWJKKEY0JCIzSWRzXXcwKSllTkY0NyQkIjM3bjt6VygqUSp5KEY0JCIzMWNtV2YyYiFRJEY0NyQkIjMjUUxMM0YtR04pRjQkIjNtJikpR1l4aVI9JEY0NyQkIjM9TUxMJGUnM0kpKUY0JCIzI3pLVWNTRSNISUY0NyQkIjM/K103LjxHJlEqRjQkIjMreUo4NSZSOSdHRjQ3JCQiMylITEwkZU1zdykqRjQkIjNlKipwOyRvSEdzI0Y0NyQkIjM7K0RKJkgiZlQ1ISM8JCIzIz0oM3lgZ1YhZSNGNDckJCIzNSt2JGYpWyRINCJGZnIkIjNrPF0nWz86TVgjRjQ3JCQiM2NMJGVrYDFsOSJGZnIkIjMnUUokPj05K0hCRjQ3JCQiM09MZSpbLi1kPiJGZnIkIjNdVCwjPUxVOUEjRjQ3JCQiM2ttOy9FZ3dbN0ZmciQiM1o3US9hJj4/NiNGNDckJCIzem0ieiUqZiUpUUkiRmZyJCIzdlRoJz1eRl0rI0Y0NyQkIjMvK3ZvemEnPU4iRmZyJCIzWVptTXhrKnAiPkY0NyQkIjMob20ieldoby45RmZyJCIzW1FfUUFRJ28jPUY0NyQkIjMtKytdaT5BZDlGZnIkIjMoRzNZYm9jKFE8RjQ3JCQiMzIrXWk6amY0OkZmciQiM1NPIVJGNFFybCJGNDckJCIzOStESiY+ci1jIkZmciQiMydSUThCYiM9I2UiRjQ3JCQiMysrXVA0cWA7O0ZmciQiM1hiTk8jUnJLXSJGNDckJCIzO0xMJGVNJTRuO0ZmciQiM0BRakJQdSlmViJGNDckJCIzNysrdiQ0djVzIkZmciQiM2EpcEQ2cShvbjhGNDckJCIzY20ielduKikqcDxGZnIkIjM3Mz0yI1xtKDM4RjQ3JCQiM0grK0RKaVlCPUZmciQiM10jKnosP3ZRWjdGNDckJCIzQ0xlay5OeXQ9RmZyJCIzQSk9cidwd08jPiJGNDckJCIzPStEY14memojPkZmciQiM2FpKSllITNHdjgiRjQ3JCQiM0NMTDMtPSF5KD5GZnIkIjN5UGpmVCUzazMiRjQ3JCQiMykpKlw3RzhPOy4jRmZyJCIzK2BVPF8xUk41RjQ3JCQiMyFwbW07KlxbJDMjRmZyJCIzaXphP3AoSGEpKSpGMTckJCIzKnBtVCZRel1PQEZmciQiM3Y3KSopenFWJEclKkYxNyQkIjNpTGVrRz00Kj0jRmZyJCIzXV4hZmAhWyllKiopRjE3JCQiM0YrK11pNFRQQUZmciQiM3F2Km9hJGYqZWgpRjE3JCQiM3FMJDNGOSF6I0gjRmZyJCIzSTdha193JykqPilGMTckJCIzJ3BtbTslPktVQkZmciQiM3pAaSJcIXliV3lGMTckJCIzLytESnFKOCZSI0ZmciQiMyEqUkoyc2hNI1soRjE3JCQiM0crdm9hLW9YQ0ZmciQiMzlcI2VgdyEqNDooRjE3JCQiMysrKysrKysrREZmciQiM2I3MyQqPj8kMyJvRjEtJSZDT0xPUkc2JiUkUkdCRyQiIzUhIiIkRitGW1xsRlxcbC0lKVBPTFlHT05TRzYlN1U3JEYqRipGKTckJCIrdlF1aD4hIzYkIitvMm4/JyohIzU3JCQiK0pua29PRmVcbCQiKy9zXjUkKkZoXGw3JCQiKzh2QillJkZlXGwkIitiZCY9KSopRmhcbDckJCIrKGVfMF8oRmVcbCQiKyRRJ29xJylGaFxsNyQkIisxUG9WJSpGZVxsJCIrekMpKXkkKUZoXGw3JCQiK1ZzbUE2RmhcbCQiKz9DJ0g3KUZoXGw3JCQiKylSJkcyOEZoXGwkIitcd2hyeUZoXGw3JCQiK2V4QClcIkZoXGwkIitFUDpEd0ZoXGw3JCQiKyd6UCYpbyJGaFxsJCIrJ1FyP1IoRmhcbDckJCIrW2BJJSk9RmhcbCQiK0NPVmtyRmhcbDckJCIrOXZ0Yz9GaFxsJCIrdE5QdHBGaFxsNyQkIisjSGIzRCNGaFxsJCIrWiI+Im9uRmhcbDckJCIrUCx4WENGaFxsJCIrTCl5PGQnRmhcbDckJCIrM25nTEVGaFxsJCIrZyZ5NlInRmhcbDckJCIrMy49L0dGaFxsJCIrZzYtTWlGaFxsNyQkIis8KTNxKyRGaFxsJCIrOCF6XTAnRmhcbDckJCIrcTYkKXlKRmhcbCQiKyRlPyk0ZkZoXGw3JCQiKzg5cXlMRmhcbCQiKyZwI3BaZEZoXGw3JCQiK1gvaWJORmhcbCQiK0AiZSo0Y0ZoXGw3JCQiK2onRyhcUEZoXGwkIitHYXFrYUZoXGw3JCQiKyplbFgkUkZoXGwkIisvX3dKYEZoXGw3JCQiK0pOVUZURmhcbCQiK2A1Syk+JkZoXGw3JCQiK0V0Xy9WRmhcbCQiK3I8RCEzJkZoXGw3JCQiKyVwZGJcJUZoXGwkIisiKm9WZFxGaFxsNyQkIitlWClScCVGaFxsJCIrJWUkZU1bRmhcbDckJCIrRmRybVtGaFxsJCIreF9NSlpGaFxsNyQkIitALEZgXUZoXGwkIitzJj5OaSVGaFxsNyQkIitsISoqZkMmRmhcbCQiK1Y6JGZeJUZoXGw3JCQiK09uYU1hRmhcbCQiK0A5QjlXRmhcbDckJCIrLmoocGgmRmhcbCQiK0c5LD5WRmhcbDckJCIrTUtgPmVGaFxsJCIrTCJwbkAlRmhcbDckJCIrWCdSOisnRmhcbCQiKzJoKHk3JUZoXGw3JCQiK1EuKGU+J0ZoXGwkIitnTyNmLiVGaFxsNyQkIitHRyc+UCdGaFxsJCIrdjg3YlJGaFxsNyQkIitMJXlXYydGaFxsJCIrJVsrJXBRRmhcbDckJCIrODFpWG5GaFxsJCIrajc4InokRmhcbDckJCIrJ1FtXCRwRmhcbCQiKyMqR282UEZoXGw3JCQiKyhbJzM/ckZoXGwkIit5XkNPT0ZoXGw3JCQiK3krKlFKKEZoXGwkIit1c2BmTkZoXGw3JCQiK3FmYSt2RmhcbCQiK20lZnhbJEZoXGw3JCQiK3omRzlwKEZoXGwkIiskKSkpUjtNRmhcbDckJCIrJGVJMil5RmhcbCQiKyNSJmVaTEZoXGw3JCQiK2wlelkwKUZoXGwkIitzQysnRyRGaFxsNyQkIis5WC9hIylGaFxsJCIrenZHPEtGaFxsNyQkIishKiplQlYpRmhcbCQiK1xAWGRKRmhcbDckJCIrOCV6Q2kpRmhcbCQiKyNweV80JEZoXGw3JCQiKzwqW1chKSlGaFxsJCIrVz5HUElGaFxsNyQkIisrKysrISpGaFxsJCIrcT9hd0hGaFxsNyQkIiIqRltcbEYqLSUmU1RZTEVHNiMlLFBBVENITk9HUklERy1GZltsNiZGaFtsJCIxIz10OiF6Zz4hKiEjO0ZdXG1GXVxtLUYmNiQ3JDckJCIzQSsrKysrKyshKkY0Rio3JEZkXG0kIjMvKysrcT9hd0hGNC1GZltsNiZGaFtsRlxcbEZcXGxGXFxsLSUlVEVYVEc2JTckJCIjISohIiMkISImRmFdbVEieDYiRmlcbS1GXF1tNiU3JCQiI1hGYV1tJCIyLysrKysrKyskRmZyUSVmKHgpRmVdbUZpXG0tJStBWEVTTEFCRUxTRzYnUSFGZV1tRmFebS0lJUZPTlRHNiQlKkhFTFZFVElDQUdGaltsJStIT1JJWk9OVEFMR0ZmXm0tJSpBWEVTVElDS1NHNiUiIiNGal5tLUZjXm02IyUoREVGQVVMVEctJSpHUklEU1RZTEVHNiMlLFJFQ1RBTkdVTEFSRy0lKkxJTkVTVFlMRUc2I0YrRmJebS0lLE9SSUVOVEFUSU9ORzYkJCIjV0YrJEZqXW1GKy0lK1BST0pFQ1RJT05HNiNGaVtsLUZmW2w2IyUlTk9ORUctJSVWSUVXRzYkO0ZcXGwkIiNERltcbDskITErKysrKysrckZmciQiJUA1ISIk</Plot></Text-field><Text-field layout="Normal" style="Normal">The function <Equation input-equation="f(x)" style="2D Comment">NiMtJSJmRzYjJSJ4Rw==</Equation> gives the area under the graph  <Equation input-equation="y=1/(x+exp(x))" style="2D Comment">NiMvJSJ5RyomIiIiRiYsJiUieEdGJi0lJGV4cEc2I0YoRiYhIiI=</Equation>  starting at the <Font bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" size="12" style="_cstyle270" underline="false">y</Font> axis, and going as far as the vertical line through <Font bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" size="12" style="_cstyle268" underline="false">x</Font> on the <Font bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" size="12" style="_cstyle269" underline="false">x</Font> axis. </Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal"><Equation input-equation="f(x)" style="2D Comment">NiMtJSJmRzYjJSJ4Rw==</Equation> is the solution of the differential equation <Equation input-equation="dy/dx=1/(x+exp(x))" style="2D Comment">NiMvKiYlI2R5RyIiIiUjZHhHISIiKiZGJkYmLCYlInhHRiYtJSRleHBHNiNGK0YmRig=</Equation>, with the initial condition <Equation input-equation="f(0) = 0" style="2D Comment">NiMvLSUiZkc2IyIiIUYn</Equation>.</Text-field><Text-field layout="Normal" style="Normal">The function f can certainly be evaluated by means numerical integration using <Font executable="false" italic="false" size="12" style="Maple Input" underline="false">evalf/Int</Font>.</Text-field><Text-field layout="Normal" style="Normal">Every evaluation of f would then require an integral to be evaluated numerically.</Text-field><Text-field layout="Normal" style="Normal">A procedure constructed using <Font executable="false" italic="false" size="12" style="Maple Input" underline="false">desolveRK</Font> may be faster to evaluate.</Text-field><Text-field layout="Normal" style="Normal"><Font executable="false" italic="false" size="12" style="Maple Input" underline="false">dsolve</Font>  applied to the initial value problem above, automatically gives the decription of f as an integral.</Text-field><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">de := diff(y(x),x)=1/(x+exp(x));
ic := y(0)=0;
dsolve({de,ic},y(x)):
f := unapply(rhs(%),x);</Font></Text-field></Input><Output><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiM+JSNkZUcvLSUlZGlmZkc2JC0lInlHNiMlInhHRiwqJiIiIkYuLCZGLEYuLSUkZXhwR0YrRi4hIiI=</Equation></Text-field><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiM+JSNpY0cvLSUieUc2IyIiIUYp</Equation></Text-field><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiM+JSJmR2YqNiMlInhHNiI2JCUpb3BlcmF0b3JHJSZhcnJvd0dGKC0lJEludEc2JComIiIiRjAsJiUidUdGMC0lJGV4cEc2I0YyRjAhIiIvRjI7IiIhOSRGKEYoRig=</Equation></Text-field></Output></Group><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">We use <Font executable="false" italic="false" size="12" style="Maple Input" underline="false">desolveRK</Font> to construct a procedure for <Equation input-equation="f(x)" style="2D Comment">NiMtJSJmRzYjJSJ4Rw==</Equation> which can be evaluated over the interval from 0 to 5.</Text-field><Text-field layout="Normal" style="Normal"> </Text-field><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">de := diff(y(x),x)=1/(x+exp(x));
ic := y(0)=0;
fn := evalf(desolveRK({de,ic},x=0..5,method=rk45,output=rkinterp),15);</Font></Text-field></Input><Output><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiM+JSNkZUcvLSUlZGlmZkc2JC0lInlHNiMlInhHRiwqJiIiIkYuLCZGLEYuLSUkZXhwR0YrRi4hIiI=</Equation></Text-field><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiM+JSNpY0cvLSUieUc2IyIiIUYp</Equation></Text-field></Output></Group><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">evalf(f(Pi),15);
evalf(fn(Pi),15);</Font></Text-field></Input><Output><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiMkIjAjKXA7b19HbSghIzo=</Equation></Text-field><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiMkIjAkKXA7b19HbSghIzo=</Equation></Text-field></Output></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">;</Font></Text-field></Input></Group><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">The construction of the numerical function <Font executable="false" italic="false" style="Grey Emphasis" underline="false">fn</Font> is rather time consuming, but, once it has been formed, it evaluates quite rapidly compared to the function f defined by the integral.</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">Here are some time trials.</Text-field><Text-field layout="Normal" style="Normal">First the function f, which is evaluated by perfoming numerical integration.</Text-field><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">st := time():
xx := Pi;
for i from 1 to 10 do xx := evalf(f(xx),15) od:
time() - st;</Font></Text-field></Input><Output><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiM+JSN4eEclI1BpRw==</Equation></Text-field><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiMkIiVfUyEiJA==</Equation></Text-field></Output></Group><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">Now the function <Font executable="false" italic="false" style="Grey Emphasis" underline="false">fn</Font>, which is evaluated by interpolation between precalculated values in the interval <Equation input-equation="[0, 5]" style="2D Comment">NiM3JCIiISIiJg==</Equation>. </Text-field><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">st := time():
xx := Pi;
for i from 1 to 10 do xx := evalf(fn(xx),15) od:
time() - st;</Font></Text-field></Input><Output><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiM+JSN4eEclI1BpRw==</Equation></Text-field><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiMkIiNSISIk</Equation></Text-field></Output></Group><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">A graph can be plotted using <Font executable="false" italic="false" style="Grey Emphasis" underline="false">fn</Font>.</Text-field><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">plot('fn'(x),x=0..5);</Font></Text-field></Input><Output><Text-field layout="Maple Plot" style="Maple Plot"><Plot height="166" type="two-dimensional" width="390">LSUlUExPVEc2Ky0lJ0NVUlZFU0c2JDdVNyQkIiIhRitGKjckJCIrWCYpR1xhISM2JCIrLnAmKnBeRi83JCQiKzR4JikqMyIhIzUkIiszJ1tIJSkqRi83JCQiKyNSKCpSYyJGNSQiKygqUVhjOEY1NyQkIit1cThRP0Y1JCIrOl4hM3EiRjU3JCQiKyhSd1g1JEY1JCIrTihIKSpRI0Y1NyQkIitzWjN5VEY1JCIrbCc9ZilIRjU3JCQiK100XFlfRjUkIitzaiU9XSRGNTckJCIrVS0vUGlGNSQiKzVkdEJSRjU3JCQiK2ZtcGlzRjUkIitkTHA3VkY1NyQkIisjKj5WQiQpRjUkIismRy45biVGNTckJCIrTWJ3IVEqRjUkIiskXHU2KlxGNTckJCIrMGokby8iISIqJCIrZnMyJ0cmRjU3JCQiK18+alU2RmJvJCIrZWx6P2JGNTckJCIral5aXTdGYm8kIitxZ0hnZEY1NyQkIispPWgoZThGYm8kIispcHJ0KGZGNTckJCIrUVs2ajlGYm8kIisvIz5vOydGNTckJCIrXHooeWIiRmJvJCIrOCl6UEsnRjU3JCQiK2IvY3E7RmJvJCIrNCkzT1wnRjU3JCQiKzx0LG08RmJvJCIrKjROWGknRjU3JCQiK1RqMHg9RmJvJCIrXk5Nam5GNTckJCIrI3BXYCg+RmJvJCIrSVQ/dm9GNTckJCIrImYjPSQzI0ZibyQiK2QhUnIpcEY1NyQkIit0KHBlPSNGYm8kIitYOTslMyhGNTckJCIrdUksJEgjRmJvJCIrc0NNd3JGNTckJCIrclNTIlIjRmJvJCIrQyJlTkQoRjU3JCQiK2A/YChcI0ZibyQiKyllZyZIdEY1NyQkIisrI3B4ZyNGYm8kIis8MT8sdUY1NyQkIitnNHQuRkZibyQiKypwRyFldUY1NyQkIishSHN0IUdGYm8kIitZYTY5dkY1NyQkIitFUlc5SEZibyQiK3YxeW12RjU3JCQiK0tFPj5JRmJvJCIrb3JjOHdGNTckJCIrI1JVMDckRmJvJCIrd2F3YXdGNTckJCIrP1MyTEtGYm8kIit0ZkIncChGNTckJCIrJHApPU1MRmJvJCIrOT8rSXhGNTckJCIrKj1dQFckRmJvJCIrUjN0aXhGNTckJCIrXSR6KlJORmJvJCIrITQibyp5KEY1NyQkIitrQyRwayRGYm8kIitYOlk7eUY1NyQkIiszcWNaUEZibyQiKzhRS1J5RjU3JCQiKy8iZkYmUUZibyQiKyVlPDUneUY1NyQkIiswT2diUkZibyQiK2RLQyEpeUY1NyQkIituQUZqU0ZibyQiK142WSkqeUY1NyQkIismKSpwcDslRmJvJCIrRiVIViJ6RjU3JCQiK3llLHRVRmJvJCIrSkQsSHpGNTckJCIrZk89eVZGYm8kIitmVjxVekY1NyQkIitFPiNbWiVGYm8kIis/PDpgekY1NyQkIisoRyFlJmUlRmJvJCIrJUhSWCd6RjU3JCQiKyYpUWslbyVGYm8kIisoKkh1dHpGNTckJCIrVWpFIXolRmJvJCIrOzpqIyl6RjU3JCQiKzYwTyIqW0ZibyQiKyFSRi4qekY1NyQkIiImRiskIisvb3ooKnpGNS0lJkNPTE9SRzYmJSRSR0JHJCIjNSEiIiRGK0ZpW2xGaltsLSUrQVhFU0xBQkVMU0c2JFEieDYiUSFGX1xsLSUqR1JJRFNUWUxFRzYjJSxSRUNUQU5HVUxBUkctJSpMSU5FU1RZTEVHNiNGKy0lJUZPTlRHNiQlKkhFTFZFVElDQUdGaFtsLSUsT1JJRU5UQVRJT05HNiQkIiNYRitGX11sLSUrUFJPSkVDVElPTkc2I0ZnW2wtRmRbbDYjJSVOT05FRy0lJVZJRVdHNiQ7RmpbbCQiI11GaVtsOyQhLDNPZiYqZiIhIzckIi0zU0Z2ZCIpRmBebA==</Plot></Text-field></Output></Group><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">Now consider the problem of solving the equation <Equation input-equation="Int(1/(u+exp(u)),t = 0 .. x)=1-x" style="2D Comment">NiMvLSUkSW50RzYkKiYiIiJGKCwmJSJ1R0YoLSUkZXhwRzYjRipGKCEiIi8lInRHOyIiISUieEcsJkYoRihGM0Yu</Equation>. </Text-field><Text-field layout="Normal" style="Normal">This is the <Font bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" size="12" style="_cstyle279" underline="false">x</Font> coordinate of the point of intersection of the graphs <Equation input-equation="y=f(x)" style="2D Comment">NiMvJSJ5Ry0lImZHNiMlInhH</Equation> and <Equation input-equation="y=1-x" style="2D Comment">NiMvJSJ5RywmIiIiRiYlInhHISIi</Equation>. </Text-field><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">plot(['fn'(x),1-x],x=0..2,y=-0.5..1);</Font></Text-field></Input><Output><Text-field layout="Maple Plot" style="Maple Plot"><Plot height="300" type="two-dimensional" width="400">LSUlUExPVEc2Ky0lJ0NVUlZFU0c2JTdTNyQkIiIhRitGKjckJCIrTTNWZlYhIzYkIisrY195VEYvNyQkIisjSFtEOilGLyQiKztMLFh2Ri83JCQiK2UwJD1DIiEjNSQiK2ZnJG81IkY6NyQkIiszUkJyO0Y6JCIrSj5rTzlGOjckJCIrempmKTQjRjokIitGKSopR3UiRjo3JCQiKyc0O1tcI0Y6JCIrNXlEND9GOjckJCIraid5XSFIRjokIishRykpKm9BRjo3JCQiKyd6cyRITEY6JCIrKio0KT5fI0Y6NyQkIis4aUlfUEY6JCIrJHl1KGZGRjo3JCQiKzxfTSg9JUY6JCIrIyp6cCEqSEY6NyQkIis0eV9xWEY6JCIrRSthJD0kRjo3JCQiK10xIT4rJkY6JCIrJVxLKCpRJEY6NyQkIitdWi9OYUY6JCIrbW4tJ2UkRjo3JCQiK10kZkMmZUY6JCIrdUZ3bFBGOjckJCIrJ3o2OkInRjokIitEVl5AUkY6NyQkIis8PUMjbydGOiQiK3I/NCk0JUY6NyQkIituI3BTMShGOiQiKyMpKTQzQyVGOjckJCIramBBM3ZGOiQiKyg9NyUqUiVGOjckJCIrbih5OCF6RjokIispPVxOYCVGOjckJCIrai50SyQpRjokIitvOlB1WUY6NyQkIispM3pNdSlGOiQiK3Z5ay1bRjo3JCQiKyNIXz88KkY6JCIrY1h5SVxGOjckJCIrIUc7Y2MqRjokIitsKilmVl1GOjckJCIrNCNHLCoqKkY6JCIrKlFeLjsmRjo3JCQiKyFvMkovIiEiKiQiKyYpeVt3X0Y6NyQkIislUSNcIjMiRmNzJCIrJiozYXRgRjo3JCQiKzsqW0g3IkZjcyQiK1U7TXVhRjo3JCQiK3F2eGw2RmNzJCIrZ11JdWJGOjckJCIrYHFuMjdGY3MkIitvST5vY0Y6NyQkIitjcEBbN0ZjcyQiKzckSGJ2JkY6NyQkIiszJ0hLSCJGY3MkIit3OGxbZUY6NyQkIit4YW5MOEZjcyQiKyM+RiFIZkY6NyQkIit2KydvUCJGY3MkIitDaGI2Z0Y6NyQkIitTPCpmVCJGY3MkIis2OWAkMydGOjckJCIrJilIeGU5RmNzJCIrKGUmSGZoRjo3JCQiKy5vLSpcIkZjcyQiKz4uInpBJ0Y6NyQkIitUTzVUOkZjcyQiK190KHBIJ0Y6NyQkIitVOUMjZSJGY3MkIitjZik+TydGOjckJCIrMSozYGkiRmNzJCIrS3BbRmtGOjckJCIrJCp6eW07RmNzJCIrSiQqPilbJ0Y6NyQkIiteaj80PEZjcyQiK0NkKHphJ0Y6NyQkIitqTUZePEZjcyQiKyZ5U11nJ0Y6NyQkIitxKEcqKnkiRmNzJCIrP2tnYm1GOjckJCIrOUBCTT1GY3MkIiskSFQ5cidGOjckJCIrYHYmUSg9RmNzJCIrSl5gZm5GOjckJCIrT2w1Oz5GY3MkIitZcicqM29GOjckJCIrL1VhYz5GY3MkIitWN2Nhb0Y6NyQkIiIjRiskIitqXnYscEY6N1M3JEYqJCIiIkYrNyQkIjM5TExMTDNWZlYhIz4kIjNvbW1tO3AwayYqISM9NyQkIjMncG1tO0hbRDopRmBbbCQiM3dLTCQzPFhaPSpGY1tsNyQkIjNMTExMZTAkPUMiRmNbbCQiM21tbW1UJXAiZSgpRmNbbDckJCIzSUxMTDNSQnI7RmNbbCQiMzptbW0iNG0oRyQpRmNbbDckJCIzWW1tO3pqZik0I0ZjW2wkIjMiUUxMM2kuOSF6RmNbbDckJCIzPUxMJGU0O1tcI0ZjW2wkIjMib21tVCFSPTB2RmNbbDckJCIzcCoqKipcaSd5XSFIRmNbbCQiM3UqKioqXFA4I1w0KEZjW2w3JCQiMyxMTCRlenMkSExGY1tsJCIzK25tOy9zaXFtRmNbbDckJCIzXyoqKipcN2lJX1BGY1tsJCIzWysrXSh5JHBaaUZjW2w3JCQiMyNwbW1tQFh0PSVGY1tsJCIzM0xMTCR5YUUiZUZjW2w3JCQiM1FMTEwzeV9xWEZjW2wkIjNobW1tIj5zJUhhRmNbbDckJCIzaSoqKioqKlwxIT4rJkZjW2wkIjNRKysrXSQqNCkqXEZjW2w3JCQiMygpKioqKioqXFovTmFGY1tsJCIzOSsrK11fJlxjJUZjW2w3JCQiMycqKioqKioqXCRmQyZlRmNbbCQiMzErKytdMWFaVEZjW2w3JCQiM0VMTCRlejY6QidGY1tsJCIzdW1tOy8jKVtvUEZjW2w3JCQiM1NtbW07PUMjbydGY1tsJCIzaExMTCQ9ZXhKJEZjW2w3JCQiMy1tbW1tI3BTMShGY1tsJCIzKlJMTEx0SWYkSEZjW2w3JCQiM10qKioqXGlgQTN2RmNbbCQiM10rK11QWXgiXCNGY1tsNyQkIjNzbG1tbSh5OCF6RmNbbCQiM0VNTExMN2kpNCNGY1tsNyQkIjNWKytdaS50SyQpRmNbbCQiM2MqKioqXFAncHNtIkZjW2w3JCQiMzkrK10oM3pNdSlGY1tsJCIzJykqKioqXDc0X2M3RmNbbDckJCIzI3BtbTtIXz88KkZjW2wkIjMpM0xMTDN4JXojKUZgW2w3JCQiM2VtbTt6aWhsJipGY1tsJCIzS01MTDNzJFFNJUZgW2w3JCQiMzlMTEwzI0csKioqRmNbbCQiM11eb21tO3pyKSohI0A3JCQiMzxMTGV6dzVWNSEjPCQhMyVwSkwkZXp3NVZGYFtsNyQkIjMhKioqKlxQUSNcIjMiRltjbCQhM3MqKSoqKlxQUSNcIilGYFtsNyQkIjNCTEwkZSIqW0g3IkZbY2wkITNHS0xMZSIqW0g3RmNbbDckJCIzIyoqKioqKipwdnhsNkZbY2wkITNJKioqKioqKnB2eGwiRmNbbDckJCIzeioqKipcX3FuMjdGW2NsJCEzI3oqKioqXF9xbjIjRmNbbDckJCIzJSkqKipcaSZwQFs3RltjbCQhM1UpKioqXGkmcEBbI0ZjW2w3JCQiMyMpKioqKlwyJ0hLSCJGW2NsJCEzQikqKioqXDInSEtIRmNbbDckJCIzX21tbXdhbkw4RltjbCQhM0VsbW1tWnZPTEZjW2w3JCQiMycqKioqKipcMmdvUCJGW2NsJCEzaSoqKioqKlwyZ29QRmNbbDckJCIzQ0xMZVI8KmZUIkZbY2wkITNVS0wkZVI8KmZURmNbbDckJCIzJyoqKioqKlwpSHhlOUZbY2wkITNtKioqKioqXClIeGUlRmNbbDckJCIzWW1tIkghby0qXCJGW2NsJCEzY2ttO0ghby0qXEZjW2w3JCQiMykpKioqXDdrLjZhIkZbY2wkITN5KSoqKlw3ay42YUZjW2w3JCQiM2VtbW1UOUMjZSJGW2NsJCEzI2VtbW1UOUMjZUZjW2w3JCQiMyIqKioqXGkhKjNgaSJGW2NsJCEzMyoqKipcaSEqM2BpRmNbbDckJCIzUUxMTCQqenltO0ZbY2wkITMlUUxMTCQqenltJ0ZjW2w3JCQiM0dMTCQzTjEjNDxGW2NsJCEzd0tMTDNOMSM0KEZjW2w3JCQiM2ttbSJIWXQ3diJGW2NsJCEzTm1tO0hZdDd2RmNbbDckJCIzJSoqKioqKipwKEcqKnkiRltjbCQhM1kqKioqKioqcChHKip5RmNbbDckJCIzbG1tOzlAQk09RltjbCQhM11tbW1UNktVJClGY1tsNyQkIjNFTExMYHYmUSg9RltjbCQhM2ZLTExMYmRRKClGY1tsNyQkIjMwKytET2w1Oz5GW2NsJCEzWysrXWlgMWgiKkZjW2w3JCQiMy8rK3YuVWFjPkZbY2wkITNXKytdUD9XbCYqRmNbbDckRmV6JCEiIkYrLSUmQ09MT1JHNiklJFJHQkckIiM1Rl5qbCRGK0ZeamxGZWpsRmVqbEZjamxGZWpsLSUrQVhFU0xBQkVMU0c2JFEieDYiUSJ5RmpqbC0lKkdSSURTVFlMRUc2IyUsUkVDVEFOR1VMQVJHLSUqTElORVNUWUxFRzYjRistJSVGT05URzYkJSpIRUxWRVRJQ0FHRmRqbC0lLE9SSUVOVEFUSU9ORzYkJCIjWEYrRmpbbS0lK1BST0pFQ1RJT05HNiNGY2psLUZgamw2IyUlTk9ORUctJSVWSUVXRzYkO0ZlamwkIiM/Rl5qbDskISImRl5qbEZjamw=</Plot></Text-field></Output></Group><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">fsolve('fn'(x)=1-x,x=0.6);</Font></Text-field></Input><Output><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiMkIitkY2JBaCEjNQ==</Equation></Text-field></Output></Group><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">The original function <Equation input-equation="f(x);" style="2D Comment">NiMtJSJmRzYjJSJ4Rw==</Equation> defined by the integral can be used; <Font executable="false" italic="false" size="12" style="Maple Input" underline="false">fsolve</Font> just takes a little longer since each evaluation of <Equation input-equation="f(x)" style="2D Comment">NiMtJSJmRzYjJSJ4Rw==</Equation> required by <Font executable="false" italic="false" size="12" style="Maple Input" underline="false">fsolve</Font> involves the numerical evaluation of an integral. </Text-field><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">fsolve(f(x)=1-x,x=0.6);</Font></Text-field></Input><Output><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiMkIitkY2JBaCEjNQ==</Equation></Text-field></Output></Group><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal"><Font executable="false" italic="false" style="Purple Emphasis" underline="false">Note</Font>: The function <Equation input-equation="f(x)" style="2D Comment">NiMtJSJmRzYjJSJ4Rw==</Equation> is defined for negative values of <Font bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" size="12" style="_cstyle280" underline="false">x</Font>. </Text-field><Text-field layout="Normal" style="Normal">An observation in this connection is that <Equation input-equation="dy/dx = 1/(x+exp(x));" style="2D Comment">NiMvKiYlI2R5RyIiIiUjZHhHISIiKiZGJkYmLCYlInhHRiYtJSRleHBHNiNGK0YmRig=</Equation> tends to infinity as the denominator <Equation input-equation="x+exp(x);" style="2D Comment">NiMsJiUieEciIiItJSRleHBHNiNGJEYl</Equation> tends to zero, which occurs for a negative value of x.</Text-field><Text-field layout="Normal" style="Normal">To find this critical value of <Font bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" size="12" style="_cstyle281" underline="false">x</Font> we can solve the equation <Equation input-equation="x+exp(x);" style="2D Comment">NiMsJiUieEciIiItJSRleHBHNiNGJEYl</Equation> using <Font executable="false" italic="false" size="12" style="Maple Input" underline="false">fsolve</Font>.</Text-field><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">fsolve(x+exp(x)=0,x=-0.5);</Font></Text-field></Input><Output><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiMkISsvSFZyYyEjNQ==</Equation></Text-field></Output></Group><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">In the light of this last result, we could try to construct a numerical function to evaluate <Equation input-equation="f(x)=Int(1/(u+exp(u)),t = 0 .. x)" style="2D Comment">NiMvLSUiZkc2IyUieEctJSRJbnRHNiQqJiIiIkYsLCYlInVHRiwtJSRleHBHNiNGLkYsISIiLyUidEc7IiIhRic=</Equation> on the interval from <Font bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" size="12" style="_cstyle282" underline="false">x</Font> = -0.5671432904 to <Equation input-equation="x = 5;" style="2D Comment">NiMvJSJ4RyIiJg==</Equation>.</Text-field><Text-field layout="Normal" style="Normal">This time we use the default precision of 10 digits. </Text-field><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">de := diff(y(x),x)=1/(x+exp(x));
ic := y(0)=0;
fn2 := desolveRK({de,ic},x=-0.5671432904..5,method=rk45,output=rkinterp);</Font></Text-field></Input><Output><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiM+JSNkZUcvLSUlZGlmZkc2JC0lInlHNiMlInhHRiwqJiIiIkYuLCZGLEYuLSUkZXhwR0YrRi4hIiI=</Equation></Text-field><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiM+JSNpY0cvLSUieUc2IyIiIUYp</Equation></Text-field></Output></Group><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">plot('fn2'(x),x=-0.567..5);</Font></Text-field></Input><Output><Text-field layout="Maple Plot" style="Maple Plot"><Plot height="300" type="two-dimensional" width="400">LSUlUExPVEc2Ky0lJ0NVUlZFU0c2JDdnbjckJCEkbiYhIiQkISttVls8XyEiKjckJCErayh6P2omISM1JCErcWYnUjUkRi83JCQhK0YmZlRmJkYzJCErbSZHUW4jRi83JCQhKyJIUmliJkYzJCErdFlcPkNGLzckJCErYSE+JD1iRjMkIStcKVwkUUFGLzckJCErImV5Q1cmRjMkIStOSFwjKT5GLzckJCErMiJRbU8mRjMkIStPLiEzIT1GLzckJCEraHImXEAmRjMkISsieUxbYSJGLzckJCErOWlGal1GMyQhK3gjSE5PIkYvNyQkIStAViIqZlpGMyQhKzFdJSkzNkYvNyQkIStGQ2JjV0YzJCErISkzJTNIKkYzNyQkISswYGtHUkYzJCErPWlpXXFGMzckJCErIz1RMlMkRjMkIStydStEYUYzNyQkIStTWU84QUYzJCErR10qUilHRjM3JCQhKzovNz01RjMkISsoR0VnOCJGMzckJCIqQklXciJGMyQiKz5DaCZvIiEjNjckJCIrMDFLdTdGMyQiKydcQ0U4IkYzNyQkIitma0c7Q0YzJCIrUFtzZD5GMzckJCIrIT00dGYkRjMkIit1SEB1RUYzNyQkIipOV1h4JUYvJCIrKCpSVyNHJEYzNyQkIipUdmEpZkYvJCIrISlHP0BRRjM3JCQiKjtrPzAoRi8kIit5V1RPVUYzNyQkIipZIXpfIylGLyQiKyFRZChbWUYzNyQkIioyWiVlJSpGLyQiKzBfSzhdRjM3JCQiK2g/Lmk1Ri8kIitPXnpDYEYzNyQkIis0OGFuNkYvJCIrKXlMJHliRjM3JCQiKzU/KyRIIkYvJCIrJVIhPltlRjM3JCQiKyJvJEcqUiJGLyQiKzMjPkowJ0YzNyQkIitJWCJIXyJGLyQiK3htV25pRjM3JCQiKyF5W0JqIkYvJCIrdEMmelYnRjM3JCQiKyhcOkN2IkYvJCIrUitjMW1GMzckJCIrMHV1bT1GLyQiK0UyLl5uRjM3JCQiK2MyLycpPkYvJCIrJVsleicpb0YzNyQkIisjSCplJjQjRi8kIitGI1IkKipwRjM3JCQiKyk9X1BAI0YvJCIrOWUrNHJGMzckJCIrRi1cT0JGLyQiKyY0LThAKEYzNyQkIiteU0xWQ0YvJCIrZDRsIkgoRjM3JCQiKzMkRyhlREYvJCIrNmE/cXRGMzckJCIrbj0lem4jRi8kIit3bUJWdUYzNyQkIit4IXBYeiNGLyQiKyNSb3VdKEYzNyQkIisqKj1UMkhGLyQiKycpb1pqdkYzNyQkIis5WXFLSUYvJCIrYElHPndGMzckJCIrIXAmR1hKRi8kIitXYURrd0YzNyQkIis/K1xsS0YvJCIrcmhTMnhGMzckJCIrM0lUdUxGLyQiKzoyZVV4RjM3JCQiKzBZXCRcJEYvJCIrbDc9eHhGMzckJCIrMjZhME9GLyQiK2lRVDF5RjM3JCQiKygpPm1BUEYvJCIrNWEnUSR5RjM3JCQiK2EhcHIkUUYvJCIrU20keiZ5RjM3JCQiK1V0L2RSRi8kIitgK10hKXlGMzckJCIrIlEvRDIlRi8kIitqI1EqKip5RjM3JCQiK3plZCE+JUYvJCIrbXhzPHpGMzckJCIrJm9wd0klRi8kIis4b1xMekYzNyQkIitMbkU6V0YvJCIranddWXpGMzckJCIrIjQmZVFYRi8kIitOYiYpZnpGMzckJCIrLEQpKVtZRi8kIittO19xekYzNyQkIitYRFttWkYvJCIrMyczMil6RjM3JCQiKyR6UyF6W0YvJCIraCVIJSopekYzNyQkIiImIiIhJCIrL296KCp6RjMtJSZDT0xPUkc2JiUkUkdCRyQiIzUhIiIkRlxebEZlXmxGZl5sLSUrQVhFU0xBQkVMU0c2JFEieDYiUSFGW19sLSUqR1JJRFNUWUxFRzYjJSxSRUNUQU5HVUxBUkctJSpMSU5FU1RZTEVHNiNGXF5sLSUlRk9OVEc2JCUqSEVMVkVUSUNBR0ZkXmwtJSxPUklFTlRBVElPTkc2JCQiI1hGXF5sRltgbC0lK1BST0pFQ1RJT05HNiNGY15sLUZgXmw2IyUlTk9ORUctJSVWSUVXRzYkOyQhMSsrKysrK3FjISM7JCIjXUZlXmw7JCExKyFHcGtIeUwmISM6JCItRzgnXDc/KiEjNw==</Plot></Text-field></Output></Group><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">The value of <Font executable="false" italic="false" style="Grey Emphasis" underline="false">fn2</Font> is a bit suspect when <Font bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" size="12" style="_cstyle283" underline="false">x</Font> is close to -0.5671432904.</Text-field><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">fn2(-0.56);
evalf(f(-0.56));</Font></Text-field></Input><Output><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiMkISsqPTVScyMhIio=</Equation></Text-field><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiMkISsqPTVScyMhIio=</Equation></Text-field></Output></Group><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">fn2(-0.5671);
evalf(f(-0.5671));</Font></Text-field></Input><Output><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiMkIStwaEMiKWYhIio=</Equation></Text-field><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiMkIStyaEMiKWYhIio=</Equation></Text-field></Output></Group><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">fn2(-0.56714);
evalf(f(-0.56714));</Font></Text-field></Input><Output><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiMkIStCc3dEdyEiKg==</Equation></Text-field><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiMkIStCS2VEdyEiKg==</Equation></Text-field></Output></Group><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">;</Font></Text-field></Input></Group></Section><Section collapsed="true"><Title><Text-field layout="Heading 2" style="Heading 2">Example 6<Font bold="true" executable="false" family="Times New Roman" foreground="[128,0,0]" italic="false" style="_cstyle301" underline="false"> .. minimising the global error </Font></Text-field></Title><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">;</Font></Text-field></Input></Group><Text-field layout="Normal" style="Normal">In this example we consider the differential equation  <Equation input-equation="dy/dx = -x/y;" style="2D Comment">NiMvKiYlI2R5RyIiIiUjZHhHISIiLCQqJiUieEdGJiUieUdGKEYo</Equation>, subject to the initial condition y(0) = 1. </Text-field><Text-field layout="Normal" style="Normal">We construct a discrete numerical solution over the interval from <Equation input-equation="x=0" style="2D Comment">NiMvJSJ4RyIiIQ==</Equation> to <Equation input-equation="x=1" style="2D Comment">NiMvJSJ4RyIiIg==</Equation> using the combined 7th and 8th order Runge-Kutta method with adaptive step-size control. </Text-field><Text-field layout="Normal" style="Normal">The numerical solution is constructed using the option ''<Font executable="false" italic="false" style="Grey Emphasis" underline="false">errorcontrol=accumulative</Font>'' in an attempt to <Font executable="false" italic="false" style="Purple Emphasis" underline="false">minimise the global error</Font>. </Text-field><Text-field layout="Normal" style="Normal">We compare the numrical solution with the analytical solution <Equation input-equation="g(x)=sqrt(1-x^2)" style="2D Comment">NiMvLSUiZ0c2IyUieEctJSVzcXJ0RzYjLCYiIiJGLCokRiciIiMhIiI=</Equation>, both in a table and graphically.  </Text-field><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">de := diff(y(x),x)=-x/y(x);
ic := y(0)=1;
soln := desolveRK({de,ic},x=0..1,method=rk78,
             errorcontrol=accumulative,output=points):
g := x -&gt; sqrt(1-x^2);
comparewithfcn(soln,g);
plot([soln,g(x)],x=0..1,style=[point,line],color=[black,coral],
                        symbol=circle,scaling=constrained);</Font></Text-field></Input><Output><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiM+JSNkZUcvLSUlZGlmZkc2JC0lInlHNiMlInhHRiwsJComRiwiIiJGKSEiIkYw</Equation></Text-field><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiM+JSNpY0cvLSUieUc2IyIiISIiIg==</Equation></Text-field><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiM+JSJnR2YqNiMlInhHNiI2JCUpb3BlcmF0b3JHJSZhcnJvd0dGKC0lJXNxcnRHNiMsJiIiIkYwKiQpOSQiIiNGMCEiIkYoRihGKA==</Equation></Text-field><Text-field layout="Text Output" style="Text Output">  0             1             function val:   1               rel err: 0.0000e-01</Text-field><Text-field layout="Text Output" style="Text Output">   .01           .999949999   function val:    .999949999     rel err: 0.0000e-01</Text-field><Text-field layout="Text Output" style="Text Output">   .06           .998198377   function val:    .998198377     rel err: 0.0000e-01</Text-field><Text-field layout="Text Output" style="Text Output">   .152417527    .988316193   function val:    .988316193     rel err: 0.0000e-01</Text-field><Text-field layout="Text Output" style="Text Output">   .279076821    .960268779   function val:    .960268779     rel err: 1.0414e-10</Text-field><Text-field layout="Text Output" style="Text Output">   .435141605    .900362029   function val:    .900362029     rel err: 0.0000e-01</Text-field><Text-field layout="Text Output" style="Text Output">   .549440671    .835532733   function val:    .835532733     rel err: 0.0000e-01</Text-field><Text-field layout="Text Output" style="Text Output">   .641529597    .767098283   function val:    .767098283     rel err: 0.0000e-01</Text-field><Text-field layout="Text Output" style="Text Output">   .716000056    .698100222   function val:    .698100222     rel err: 0.0000e-01</Text-field><Text-field layout="Text Output" style="Text Output">   .775756132    .631032823   function val:    .631032823     rel err: 1.5847e-10</Text-field><Text-field layout="Text Output" style="Text Output">   .823378676    .56749234    function val:    .56749234      rel err: 1.7621e-10</Text-field><Text-field layout="Text Output" style="Text Output">   .861144294    .508360606   function val:    .508360606     rel err: 0.0000e-01</Text-field><Text-field layout="Text Output" style="Text Output">   .890986499    .4540298     function val:    .4540298       rel err: 2.2025e-10</Text-field><Text-field layout="Text Output" style="Text Output">   .914505606    .404573228   function val:    .404573228     rel err: 0.0000e-01</Text-field><Text-field layout="Text Output" style="Text Output">   .933004953    .359863526   function val:    .359863527     rel err: 2.7788e-10</Text-field><Text-field layout="Text Output" style="Text Output">   .947534164    .319654515   function val:    .319654515     rel err: 0.0000e-01</Text-field><Text-field layout="Text Output" style="Text Output">   .958932231    .283635288   function val:    .283635288     rel err: 0.0000e-01</Text-field><Text-field layout="Text Output" style="Text Output">   .967866081    .251466198   function val:    .251466198     rel err: 3.9767e-10</Text-field><Text-field layout="Text Output" style="Text Output">   .974863769    .222801776   function val:    .222801776     rel err: 8.9766e-10</Text-field><Text-field layout="Text Output" style="Text Output">   .980342016    .197305681   function val:    .197305681     rel err: 0.0000e-01</Text-field><Text-field layout="Text Output" style="Text Output">   .984629022    .174658777   function val:    .174658777     rel err: 0.0000e-01</Text-field><Text-field layout="Text Output" style="Text Output">   .987982758    .15456413    function val:    .15456413      rel err: 6.4698e-10</Text-field><Text-field layout="Text Output" style="Text Output">   .990605753    .136748827   function val:    .136748827     rel err: 2.1938e-09</Text-field><Text-field layout="Text Output" style="Text Output">   .992656843    .120964428   function val:    .120964428     rel err: 8.2669e-10</Text-field><Text-field layout="Text Output" style="Text Output">   .994260476    .106986474   function val:    .106986473     rel err: 1.8694e-09</Text-field><Text-field layout="Text Output" style="Text Output">   .995514129    .094612995   function val:    .094612996     rel err: 5.9188e-09</Text-field><Text-field layout="Text Output" style="Text Output">   .996494092    .083663163   function val:    .083663163     rel err: 1.7929e-09</Text-field><Text-field layout="Text Output" style="Text Output">   .997260061    .073975475   function val:    .073975475     rel err: 6.3535e-09</Text-field><Text-field layout="Text Output" style="Text Output">   .997858733    .065406038   function val:    .065406038     rel err: 3.9752e-09</Text-field><Text-field layout="Text Output" style="Text Output">   .998326627    .057826857   function val:    .057826857     rel err: 1.0376e-09</Text-field><Text-field layout="Text Output" style="Text Output">   .9986923      .051124254   function val:    .051124254     rel err: 3.7164e-09</Text-field><Text-field layout="Text Output" style="Text Output">   .998978076    .045197376   function val:    .045197377     rel err: 1.8806e-08</Text-field><Text-field layout="Text Output" style="Text Output">   .999201408    .039956804   function val:    .039956805     rel err: 3.1284e-08</Text-field><Text-field layout="Text Output" style="Text Output">   .999375937    .035323316   function val:    .035323317     rel err: 2.0949e-08</Text-field><Text-field layout="Text Output" style="Text Output">   .999512326    .031226751   function val:    .031226751     rel err: 4.4833e-09</Text-field><Text-field layout="Text Output" style="Text Output">   .999618909    .027605018   function val:    .027605018     rel err: 2.5720e-08</Text-field><Text-field layout="Text Output" style="Text Output">   .999702199    .024403157   function val:    .024403158     rel err: 3.2783e-08</Text-field><Text-field layout="Text Output" style="Text Output">   .999767286    .021572547   function val:    .021572547     rel err: 4.6355e-09</Text-field><Text-field layout="Text Output" style="Text Output">   .999818148    .019070181   function val:    .019070178     rel err: 1.2690e-07</Text-field><Text-field layout="Text Output" style="Text Output">   .999857893    .016858026   function val:    .016858025     rel err: 9.5503e-08</Text-field><Text-field layout="Text Output" style="Text Output">   .999888953    .014902437   function val:    .014902439     rel err: 1.4427e-07</Text-field><Text-field layout="Text Output" style="Text Output">   .999913223    .013173677   function val:    .013173682     rel err: 3.9624e-07</Text-field><Text-field layout="Text Output" style="Text Output">   .99993219     .011645442   function val:    .011645445     rel err: 2.7822e-07</Text-field><Text-field layout="Text Output" style="Text Output">   .99994701     .010294479   function val:    .010294484     rel err: 5.1095e-07</Text-field><Text-field layout="Text Output" style="Text Output">   .999958592    .009100228   function val:    .009100225     rel err: 2.5010e-07</Text-field><Text-field layout="Text Output" style="Text Output">   .999967642    .008044511   function val:    .008044514     rel err: 3.5204e-07</Text-field><Text-field layout="Text Output" style="Text Output">   .999974715    .007111266   function val:    .007111273     rel err: 8.9928e-07</Text-field><Text-field layout="Text Output" style="Text Output">   .999980241    .006286286   function val:    .006286287     rel err: 1.1263e-07</Text-field><Text-field layout="Text Output" style="Text Output">   .99998456     .005557008   function val:    .005557014     rel err: 9.9118e-07</Text-field><Text-field layout="Text Output" style="Text Output">   .999987934    .004912332   function val:    .004912342     rel err: 1.9217e-06</Text-field><Text-field layout="Text Output" style="Text Output">   .999992934    .003759136   function val:    .003759149     rel err: 3.4385e-06</Text-field><Text-field layout="Text Output" style="Text Output">   .999997934    .002032503   function val:    .002032535     rel err: 1.5681e-05</Text-field><Text-field layout="Text Output" style="Text Output">  1           8.084348051e-05   function val:   0               rel err: infinity</Text-field><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiMlIUc=</Equation></Text-field><Text-field layout="Text Output" style="Text Output">              Maximum relative error: 1.5681e-05</Text-field><Text-field layout="Text Output" style="Text Output">              obtained for the input value:    .999997934</Text-field><Text-field layout="Text Output" style="Text Output">              excluding any cases where the function value is zero.</Text-field><Text-field layout="Maple Plot" style="Maple Plot"><Plot height="284" type="two-dimensional" width="379">LSUlUExPVEc2Li0lJ0NVUlZFU0c2JTdXNyQkIiIhRiskIiIiRis3JCQiMy0rKysrKysrNSEjPiQiMzMrKysoKSoqXCoqKiohIz03JCQiM3kqKioqKioqKioqKioqKmZGMSQiM00rKytyUCk+KSoqRjQ3JCQiMygqKioqKioqcF88QzpGNCQiM2kqKioqKjQkPjskKSkqRjQ3JCQiM0ErKys0I28yeiNGNCQiM3EqKioqKjR6KG8tJypGNDckJCIzKysrK1hnVF5WRjQkIjMnKSoqKioqUkg/TysqRjQ3JCQiM28qKioqKlJyMVdcJkY0JCIzMSsrK010S2IkKUY0NyQkIjM6KysrcmZIOmtGNCQiM1cqKioqKjQkRyk0bihGNDckJCIzYyoqKioqPmMrKzsoRjQkIjNvKioqKipwQC01KXBGNDckJCIzXSsrK0A4Y2R4RjQkIjNkKioqKioqRyNHLkonRjQ3JCQiMzorKytlbnlMIylGNCQiM18qKioqKkhTQlxuJkY0NyQkIjMiKioqKioqXCRIVzYnKUY0JCIzKysrK2hnZyQzJkY0NyQkIjM1KysrJylcJyk0KilGNCQiMyMqKioqKio0KylIU1hGNDckJCIzYSoqKioqejBjXTkqRjQkIjNDKysrI0dLZC8lRjQ3JCQiM3EqKioqKipIJlwrTCpGNCQiM0ErKytrX2opZiRGNDckJCIzISkqKioqKmZqVGBaKkY0JCIzLSsrK1peYSc+JEY0NyQkIjM5KysrNEJLKmUqRjQkIjNDKysreUdOT0dGNDckJCIzZyoqKioqSCIzbXknKkY0JCIzdSoqKioqKno+bTlERjQ3JCQiM18qKioqKj5wUCdbKCpGNCQiMzgrKytreCxHQUY0NyQkIjNJKysrZixVLikqRjQkIjMpKSoqKioqUiJvMHQ+RjQ3JCQiM2ErKytDLUhZKSpGNCQiMy0rKytseGVZPEY0NyQkIjMrKysreXYjKXopKkY0JCIzJSoqKioqKioqSFRjYSJGNDckJCIzJSoqKioqKj5gZGchKipGNCQiMyUqKioqKipSRilbbjhGNDckJCIzeSoqKioqZlVvbCMqKkY0JCIzLSsrK3hVazQ3RjQ3JCQiM0ArKytpWmdVKipGNCQiMzErKytPWicpcDVGNDckJCIzRSsrKyFIVF4mKipGNCQiM18qKioqKnpgKkhoJSpGMTckJCIzWSsrKz40JVwnKipGNCQiM08rKysqRztqTylGMTckJCIzbyoqKioqKjMxZ3MqKkY0JCIzMysrK191YShSKEYxNyQkIjM/KysrRXRleSoqRjQkIjM9KysrcFBnU2xGMTckJCIzJSkqKioqKj5GbUspKipGNCQiMy0rKys5ZG8jeSZGMTckJCIzLSsrKy5JI3ApKipGNCQiMyUqKioqKipIUERDNiZGMTckJCIzRSsrK2syeSopKipGNCQiMzErKytId3Q+WEYxNyQkIjM3KysrITM5PyoqKkY0JCIzJyoqKioqKnpUIW8mKlJGMTckJCIzUSsrK3AkZlAqKipGNCQiMzMrKysjZkpCYCRGMTckJCIzZSoqKioqNEVCXioqKkY0JCIzJioqKioqKipbXm5BSkYxNyQkIjNZKysrKjMqPScqKipGNCQiMzkrKytQPV1nRkYxNyQkIjMhKSoqKioqZik+LSgqKipGNCQiMzQrKyt5Y0pTQ0YxNyQkIjNZKysrYkduKCoqKkY0JCIzISoqKioqKnBzYXM6I0YxNyQkIjMlKSoqKioqZloiPSkqKipGNCQiMykpKioqKio0Mj1xIT5GMTckJCIzdSoqKioqUiQqeSYpKioqRjQkIjM1KysrVEUhZW8iRjE3JCQiMyMpKioqKipcXyopKSkqKipGNCQiMzUrKytEUEMhXCJGMTckJCIzJykqKioqKkhCSyIqKioqRjQkIjMwKysrKW9udEoiRjE3JCQiM2MqKioqKlwqPUsqKioqRjQkIjMpKioqKioqPkFXWDsiRjE3JCQiMy0rKysvLFoqKioqRjQkIjMrKysrcXlXSDVGMTckJCIzVSsrK0BmZSoqKipGNCQiM0ArKytbdkErIiohIz83JCQiM0ErKytDa24qKioqRjQkIjNiKysrRTNeVyEpRmZ5NyQkIjMhKSoqKioqZjlaKCoqKipGNCQiMzcrKytZakU2ckZmeTckJCIzYysrKzZDISkqKioqRjQkIjNrKioqKipSJmZHJ0cnRmZ5NyQkIjMnKioqKioqcGZYKSoqKipGNCQiMzkrKyt5ITNxYiZGZnk3JCQiMysrKytXJHopKioqKkY0JCIzUisrK2dATDdcRmZ5NyQkIjNLKysrVyRIKioqKipGNCQiMzMrKys5ZjhmUEZmeTckJCIzYSoqKioqUk16KioqKipGNCQiMyYqKioqKio0XC5ELiNGZnk3JEYsJCIzZysrK14hW1YzKSEjQS0lJlNUWUxFRzYjJSZQT0lOVEctJSZDT0xPUkc2JiUkUkdCRyRGKyEiIkZmXGxGZlxsLUYmNiU3WUYpNyQkIjNlbW1tO2FyekBGMSQiM2UoPToiUVRpKCoqKkY0NyQkIjNbTEwkZTl1aTIlRjEkIjMhZTJFMGEpbyIqKipGNDckJCIzbm1tbSJ6XyI0aUYxJCIzKWZcc15mLzIpKipGNDckJCIzW21tbVQmcGhOKUYxJCIzKTM3ZmswRV0nKipGNDckJCIzQ0xMZSo9KUhcNUY0JCIzUlxOKyRIJ3pXKipGNDckJCIzZ21tInovM3VDIkY0JCIzXmw0JHlpJCo9IyoqRjQ3JCQiMyUpKioqXDdMUkRYIkY0JCIzJXAjem0iM1dSKikqRjQ3JCQiM11tbSJ6UidvaztGNCQiM2lhYSJRXG4vJykqRjQ3JCQiM3cqKipcaTVgaCg9RjQkIjMiUmoxciVlVUEpKkY0NyQkIjNXTExMM0VuJDQjRjQkIjNfLkF5dTJQeSgqRjQ3JCQiM3FtbTsvUkUmRyNGNCQiM3dJQmsjPXhgdCpGNDckJCIzIikqKioqKlxLXTRdI0Y0JCIzMXE5IkglSEAjbypGNDckJCIzJCoqKioqKlxQQXZyI0Y0JCIzQl9eQShbc09pKkY0NyQkIjMpKioqKioqXG5IaSNIRjQkIjNtOiNlNyx6QWMqRjQ3JCQiM2ptbSJ6KmV2OkpGNCQiMyk+I1w7KnA4QV0qRjQ3JCQiMz9MTEwzNDdUTEY0JCIzcFchR0haTGBVKkY0NyQkIjMsTExMTFkuS05GNCQiMyM9MVcoPmBZYiQqRjQ3JCQiM3cqKipcN283VHYkRjQkIjMhUVpOY1EkZW8jKkY0NyQkIjMnR0xMTFEqb11SRjQkIjM9YD8neXY5bD0qRjQ3JCQiM0ErK0QiPWxqOyVGNCQiM11reFUzO3QhNCpGNDckJCIzMSsrdlYmUjxQJUY0JCIzYzI0JXBwcFAqKilGNDckJCIzV0xMJGU5RWdlJUY0JCIzW0VYdSZlOWspKSlGNDckJCIzR0xMZVIiM0d5JUY0JCIzRScpKUg0ZnA/eSlGNDckJCIzY21tOy9UMSYqXEY0JCIzX2wkelAhPjVqJylGNDckJCIzJmVtO3pSUWJAJkY0JCIzZTAmPTV0JD1LJilGNDckJCIzXCoqKlwoPT5ZMmFGNCQiM2xkJnlaLmU9VClGNDckJCIzOW1tO3pYdTljRjQkIjNdL1hAJG9TXEYpRjQ3JCQiM2wqKioqKipceSkpR2VGNCQiM2sheVNoWD5iNylGNDckJCIzJyopKioqXGlfUVFnRjQkIjM1bk1sVW0xcnpGNDckJCIzQCoqKlw3eSUzVGlGNCQiM2JYJHoqUXFQOHlGNDckJCIzNSoqKipcUCFbaFknRjQkIjNRWGhJYW87R3dGNDckJCIza0tMTCRReCRvbUY0JCIzcSJwXCtZSD9YKEY0NyQkIjMhKSoqKioqXFArVilvRjQkIjM3OElySHYtYHNGNDckJCIzP21tInpwZSp6cUY0JCIzUXlubktkO2lxRjQ3JCQiMyUpKioqKipcI1wnUUgoRjQkIjNHIlFUWl89NSVvRjQ3JCQiM0dLTGU5UzgmXChGNCQiM2ElUnAoKXAiKik+bUY0NyQkIjNSKioqXGk/PWJxKEY0JCIzPTxIbVVOeHRqRjQ3JCQiMyJITEwkM3M/NnpGNCQiMy5waFAvL2c7aEY0NyQkIjNhKioqXDdgV2w3KUY0JCIzNjlSPUAnZXUjZUY0NyQkIjMjcG1tbScqUlJMKUY0JCIzcnB3ITNNJHpFYkY0NyQkIjNRbW07YTwuWSYpRjQkIjNvZmNqN2oiRz4mRjQ3JCQiMz1MTGU5dE9jKClGNCQiM1BuQnVSSXFIW0Y0NyQkIjN1KioqKioqXFFrXCopRjQkIjMrQEk6L2ZQaFdGNDckJCIzQ0xMJDNkZzY8KkY0JCIzYXUpKjRHSD8nKVJGNDckJCIzSW1tbW14R3AkKkY0JCIzcyFSTDZSLl9cJEY0NyQkIjNBKytEIm9LMGUqRjQkIjMheVRBRSg9IWYnR0Y0NyQkIjNDKysrXW9pIm8qRjQkIjM/VUoxTyM9S10jRjQ3JCQiM0ErK3Y9NXMjeSpGNCQiMzd2Tz5VNER0P0Y0NyQkIjM7K0QxazIvUCkqRjQkIjNtTFcoZUxeenoiRjQ3JCQiMzUrXVA0ME8iKikqRjQkIjMxSC5mJW9IK1oiRjQ3JCQiM2tdNy4jUT8mPSoqRjQkIjNHIz56Xio9JlJGIkY0NyQkIjMxK3ZvYS1vWCoqRjQkIjMocFZcOEgnKTMvIkY0NyQkIjNbXFBNRiwlRygqKkY0JCIzPyY9aEoqcD1sdEYxNyRGLEYqLUZfXGw2IyUlTElORUctRmNcbDYmRmVcbCQiIzVGZ1xsJCIxazkuZUBSISlcISM7RmZcbC0lK0FYRVNMQUJFTFNHNiRRIng2IlEhRmNebS0lJ1NZTUJPTEc2JCUnQ0lSQ0xFR0ZbXm0tJSpHUklEU1RZTEVHNiMlLFJFQ1RBTkdVTEFSRy0lKkxJTkVTVFlMRUc2I0YrLSUlRk9OVEc2JCUqSEVMVkVUSUNBR0ZbXm0tJSxPUklFTlRBVElPTkc2JCQiI1hGK0ZnX20tJStQUk9KRUNUSU9ORzYjRmpdbS1GY1xsNiMlJU5PTkVHLSUlVklFV0c2JDtGZlxsRmpdbTskISIjRmVgbSQiJC0iRmVgbS0lKFNDQUxJTkdHNiMlLENPTlNUUkFJTkVERw==</Plot></Text-field></Output></Group><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">There is some difficulty in obtaining values with small relative error when <Font bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" size="12" style="_cstyle271" underline="false">x</Font> is close to 1, so the majority of the points for the discrete numerical solution are crowded towards the point<Equation input-equation=" ``(1,0)" style="2D Comment">NiMtJSFHNiQiIiIiIiE=</Equation>.</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">A continuous solution can also be obtained.</Text-field><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">de := diff(y(x),x)=-x/y(x);
ic := y(0)=1;
gn := desolveRK({de,ic},x=0..1,errorcontrol=accumulative,method=rk78):
g := x -&gt; sqrt(1-x^2);
plot([g,gn],0..1,color=[red,green],thickness=[1,2],scaling=constrained);</Font></Text-field></Input><Output><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiM+JSNkZUcvLSUlZGlmZkc2JC0lInlHNiMlInhHRiwsJComRiwiIiJGKSEiIkYw</Equation></Text-field><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiM+JSNpY0cvLSUieUc2IyIiISIiIg==</Equation></Text-field><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiM+JSJnR2YqNiMlInhHNiI2JCUpb3BlcmF0b3JHJSZhcnJvd0dGKC0lJXNxcnRHNiMsJiIiIkYwKiQpOSQiIiNGMCEiIkYoRihGKA==</Equation></Text-field><Text-field layout="Maple Plot" style="Maple Plot"><Plot height="300" type="two-dimensional" width="400">LSUlUExPVEc2LS0lJ0NVUlZFU0c2JTdZNyQkIiIhRiskIiIiRis3JCQiM2VtbW07YXJ6QCEjPiQiM2UoPToiUVRpKCoqKiEjPTckJCIzW0xMJGU5dWkyJUYxJCIzIWUyRTBhKW8iKioqRjQ3JCQiM25tbW0iel8iNGlGMSQiMylmXHNeZi8yKSoqRjQ3JCQiM1ttbW1UJnBoTilGMSQiMykzN2ZrMEVdJyoqRjQ3JCQiM0NMTGUqPSlIXDVGNCQiM1JcTiskSCd6VyoqRjQ3JCQiM2dtbSJ6LzN1QyJGNCQiM15sNCR5aSQqPSMqKkY0NyQkIjMlKSoqKlw3TFJEWCJGNCQiMyVwI3ptIjNXUiopKkY0NyQkIjNdbW0ielInb2s7RjQkIjNpYWEiUVxuLycpKkY0NyQkIjN3KioqXGk1YGgoPUY0JCIzIlJqMXIlZVVBKSpGNDckJCIzV0xMTDNFbiQ0I0Y0JCIzXy5BeXUyUHkoKkY0NyQkIjNxbW07L1JFJkcjRjQkIjN3SUJrIz14YHQqRjQ3JCQiMyIpKioqKipcS100XSNGNCQiMzFxOSJIJUhAI28qRjQ3JCQiMyQqKioqKipcUEF2ciNGNCQiM0JfXkEoW3NPaSpGNDckJCIzKSoqKioqKlxuSGkjSEY0JCIzbTojZTcsekFjKkY0NyQkIjNqbW0ieipldjpKRjQkIjMpPiNcOypwOEFdKkY0NyQkIjM/TExMMzQ3VExGNCQiM3BXIUdIWkxgVSpGNDckJCIzLExMTExZLktORjQkIjMjPTFXKD5gWWIkKkY0NyQkIjN3KioqXDdvN1R2JEY0JCIzIVFaTmNRJGVvIypGNDckJCIzJ0dMTExRKm9dUkY0JCIzPWA/J3l2OWw9KkY0NyQkIjNBKytEIj1sajslRjQkIjNda3hVMzt0ITQqRjQ3JCQiMzErK3ZWJlI8UCVGNCQiM2MyNCVwcHBQKiopRjQ3JCQiM1dMTCRlOUVnZSVGNCQiM1tFWHUmZTlrKSkpRjQ3JCQiM0dMTGVSIjNHeSVGNCQiM0UnKSlINGZwP3kpRjQ3JCQiM2NtbTsvVDEmKlxGNCQiM19sJHpQIT41aicpRjQ3JCQiMyZlbTt6UlFiQCZGNCQiM2UwJj01dCQ9SyYpRjQ3JCQiM1wqKipcKD0+WTJhRjQkIjNsZCZ5Wi5lPVQpRjQ3JCQiMzltbTt6WHU5Y0Y0JCIzXS9YQCRvU1xGKUY0NyQkIjNsKioqKioqXHkpKUdlRjQkIjNrIXlTaFg+YjcpRjQ3JCQiMycqKSoqKlxpX1FRZ0Y0JCIzNW5NbFVtMXJ6RjQ3JCQiM0AqKipcN3klM1RpRjQkIjNiWCR6KlFxUDh5RjQ3JCQiMzUqKioqXFAhW2hZJ0Y0JCIzUVhoSWFvO0d3RjQ3JCQiM2tLTEwkUXgkb21GNCQiM3EicFwrWUg/WChGNDckJCIzISkqKioqKlxQK1Ypb0Y0JCIzNzhJckh2LWBzRjQ3JCQiMz9tbSJ6cGUqenFGNCQiM1F5bm5LZDtpcUY0NyQkIjMlKSoqKioqXCNcJ1FIKEY0JCIzRyJRVFpfPTUlb0Y0NyQkIjNHS0xlOVM4JlwoRjQkIjNhJVJwKClwIiopPm1GNDckJCIzUioqKlxpPz1icShGNCQiMz08SG1VTnh0akY0NyQkIjMiSExMJDNzPzZ6RjQkIjMucGhQLy9nO2hGNDckJCIzYSoqKlw3YFdsNylGNCQiMzY5Uj1AJ2V1I2VGNDckJCIzI3BtbW0nKlJSTClGNCQiM3JwdyEzTSR6RWJGNDckJCIzUW1tO2E8LlkmKUY0JCIzb2ZjajdqIkc+JkY0NyQkIjM9TExlOXRPYygpRjQkIjNQbkJ1UklxSFtGNDckJCIzdSoqKioqKlxRa1wqKUY0JCIzK0BJOi9mUGhXRjQ3JCQiM0NMTCQzZGc2PCpGNCQiM2F1KSo0R0g/JylSRjQ3JCQiM0ltbW1teEdwJCpGNCQiM3MhUkw2Ui5fXCRGNDckJCIzQSsrRCJvSzBlKkY0JCIzIXlUQUUoPSFmJ0dGNDckJCIzQysrK11vaSJvKkY0JCIzP1VKMU8jPUtdI0Y0NyQkIjNBKyt2PTVzI3kqRjQkIjM3dk8+VTREdD9GNDckJCIzOytEMWsyL1ApKkY0JCIzbUxXKGVMXnp6IkY0NyQkIjM1K11QNDBPIiopKkY0JCIzMUguZiVvSCtaIkY0NyQkIjNrXTcuI1E/Jj0qKkY0JCIzRyM+el4qPSZSRiJGNDckJCIzMSt2b2Etb1gqKkY0JCIzKHBWXDhIJykzLyJGNDckJCIzW1xQTUYsJUcoKipGNCQiMz8mPWhKKnA9bHRGMTckRixGKi0lKlRISUNLTkVTU0c2I0YtLSUmQ09MT1JHNiYlJFJHQkckIiM1ISIiJEYrRl1dbEZeXWwtRiY2JTdZNyRGK0YsNyQkIis7YXJ6QCEjNiQiK1FUaSgqKiohIzU3JCQiK1hURndTRmZdbCQiK1QmKW8iKioqRmldbDckJCIrInpfIjRpRmZdbCQiKyZmLzIpKipGaV1sNyQkIitTJnBoTilGZl1sJCIrY2ctbCoqRmldbDckJCIrKj0pSFw1RmldbCQiKyRIJ3pXKipGaV1sNyQkIitbITN1QyJGaV1sJCIrR08qPSMqKkZpXWw3JCQiK0okUkRYIkZpXWwkIisjM1dSKikqRmldbDckJCIrKVInb2s7RmldbCQiKyVcbi8nKSpGaV1sNyQkIisxSjp3PUZpXWwkIitaZVVBKSpGaV1sNyQkIiszRW4kNCNGaV1sJCIrdjJQeSgqRmldbDckJCIrL1JFJkcjRmldbCQiKyQ9eGB0KkZpXWw3JCQiK0QuJjRdI0ZpXWwkIitWSEAjbypGaV1sNyQkIit2Ql88RkZpXWwkIisoW3NPaSpGaV1sNyQkIit2J0hpI0hGaV1sJCIrNiF6QWMqRmldbDckJCIrKCpldjpKRmldbCQiKypwOEFdKkZpXWw3JCQiKzM0N1RMRmldbCQiK3RNTEQlKkZpXWw3JCQiK0xZLktORmldbCQiKz9gWWIkKkZpXWw3JCQiKyJvN1R2JEZpXWwkIisnUSRlbyMqRmldbDckJCIrJFEqb11SRmldbCQiK2VaXic9KkZpXWw3JCQiKyI9bGo7JUZpXWwkIis0O3QhNCpGaV1sNyQkIitWJlI8UCVGaV1sJCIrKHBwUCoqKUZpXWw3JCQiK1hoLSdlJUZpXWwkIisnZTlrKSkpRmldbDckJCIrUiIzR3klRmldbCQiKyJmcD95KUZpXWw3JCQiKy5UMSYqXEZpXWwkIisvPjVqJylGaV1sNyQkIisoUlFiQCZGaV1sJCIrS1A9SyYpRmldbDckJCIrPT5ZMmFGaV1sJCIrTiFlPVQpRmldbDckJCIreVh1OWNGaV1sJCIrJW9TXEYpRmldbDckJCIrXHkpKUdlRmldbCQiK2QlPmI3KUZpXWw3JCQiK2lfUVFnRmldbCQiK1ZtMXJ6RmldbDckJCIrIXklM1RpRmldbCQiK1NxUDh5RmldbDckJCIrTyFbaFknRmldbCQiK2NvO0d3RmldbDckJCIrI1F4JG9tRmldbCQiK2glSD9YKEZpXWw3JCQiK3UuSSUpb0ZpXWwkIitKdi1gc0ZpXWw3JCQiKyhwZSp6cUZpXWwkIitNZDtpcUZpXWw3JCQiK0NcJ1FIKEZpXWwkIitFJj01JW9GaV1sNyQkIis4UzgmXChGaV1sJCIrLDwqKT5tRmldbDckJCIrMCM9YnEoRmldbCQiK1dOeHRqRmldbDckJCIrMnM/NnpGaV1sJCIrMS9nO2hGaV1sNyQkIitJWGFFIilGaV1sJCIrQidldSNlRmldbDckJCIrbCpSUkwpRmldbCQiK1ZMekViRmldbDckJCIrYDwuWSYpRmldbCQiKzlqIkc+JkZpXWw3JCQiKzh0T2MoKUZpXWwkIitWSXFIW0ZpXWw3JCQiK1xRa1wqKUZpXWwkIisxZlBoV0ZpXWw3JCQiK3AwO3IiKkZpXWwkIitLSD8nKVJGaV1sNyQkIitseEdwJCpGaV1sJCIrJlIuX1wkRmldbDckJCIrIW9LMGUqRmldbCQiK3g9IWYnR0ZpXWw3JCQiK1tvaSJvKkZpXWwkIitXIz1LXSNGaV1sNyQkIis8NXMjeSpGaV1sJCIrXTREdD9GaV1sNyQkIitpMi9QKSpGaV1sJCIrWjgmenoiRmldbDckJCIrMzBPIiopKkZpXWwkIiskcEgrWiJGaV1sNyQkIisiUT8mPSoqRmldbCQiKy4+JlJGIkZpXWw3JCQiK2Etb1gqKkZpXWwkIisoSCcpMy8iRmldbDckJCIrRiwlRygqKkZpXWwkIitLcT1sdEZmXWw3JEYtJCIrXiFbVjMpISM5LUZlXGw2IyIiIy1GaFxsNiZGalxsRl5dbEZbXWxGXl1sLSUrQVhFU0xBQkVMU0c2JFEhNiJGal5tLSUqR1JJRFNUWUxFRzYjJSxSRUNUQU5HVUxBUkctJSpMSU5FU1RZTEVHNiNGKy0lJUZPTlRHNiQlKkhFTFZFVElDQUdGXF1sLSUsT1JJRU5UQVRJT05HNiQkIiNYRitGal9tLSUrUFJPSkVDVElPTkc2I0ZbXWwtRmhcbDYjJSVOT05FRy0lJVZJRVdHNiQ7Rl5dbEZbXWw7JCEiI0ZoYG0kIiQtIkZoYG0tJShTQ0FMSU5HRzYjJSxDT05TVFJBSU5FREc=</Plot></Text-field></Output></Group><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">Values given by the continuous numerical solution <Font executable="false" italic="false" style="Grey Emphasis" underline="false">gn</Font> are not very accurate when <Font bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" size="12" style="_cstyle272" underline="false">x</Font> is close to 1. </Text-field><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">xx := 0.999;
evalf(gn(xx));
evalf(g(xx));</Font></Text-field></Input><Output><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiM+JSN4eEckIiQqKiohIiQ=</Equation></Text-field><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiMkIitveCxyVyEjNg==</Equation></Text-field><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiMkIisieTw1WiUhIzY=</Equation></Text-field></Output></Group><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">xx := 0.99999;
evalf(gn(xx));
evalf(g(xx));</Font></Text-field></Input><Output><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiM+JSN4eEckIiYqKioqKiEiJg==</Equation></Text-field><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiMkIit2TTdzVyEjNw==</Equation></Text-field><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiMkIit2WjdzVyEjNw==</Equation></Text-field></Output></Group><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">evalf[15](plot(g(x)-'gn'(x),x=0.997..0.99999,color=blue));</Font></Text-field></Input><Output><Text-field layout="Maple Plot" style="Maple Plot"><Plot height="300" type="two-dimensional" width="400">LSUlUExPVEc2Ky0lJ0NVUlZFU0c2IzdobjckJCIkKCoqISIkJCInYGV1ISM7NyQkIjBlNFx0XjEoKiohIzokIidBVHZGLzckJCIwZ3BmISk9NygqKkYzJCInI2VoKEYvNyQkIjByJW9PbCY9KCoqRjMkIideLnhGLzckJCIwJ0hwJVwpXHMqKkYzJCInPil6KEYvNyQkIjAmb2UsdTh0KipGMyQiJ1wjKnlGLzckJCIwRmordkhQKCoqRjMkIicyIil6Ri83JCQiMFcrRTRWVigqKkYzJCInZnYhKUYvNyQkIjB4SEJUeFwoKipGMyQiJ0B4IilGLzckJCIwcCh5KHA0YygqKkYzJCInTSNHKUYvNyQkIjAjKik0IjNnaSgqKkYzJCInNSZSKUYvNyQkIjBZdCFSSCRvKCoqRjMkIicjelwpRi83JCQiMHZyOSV5WngqKkYzJCInUD4nKUYvNyQkIjBELD5SRCJ5KipGMyQiJ3pbKClGLzckJCIwREduVVwoeSoqRjMkIid4IikpKUYvNyQkIjB4TSw2OyR6KipGMyQiJ0wtISpGLzckJCIwI2ZeXioqKSp6KipGMyQiJzdgIipGLzckJCIwbmBOeWcwKSoqRjMkIiddJ0cqRi83JCQiMCVwInB6QzcpKipGMyQiJyYpWyUqRi83JCQiMDxjN2M3PSkqKkYzJCInISoqZipGLzckJCIwJT4qPVZkQykqKkYzJCInM3coKkYvNyQkIjAiZUIsOjIkKSoqRjMkIidqYioqRi83JCQiMC93Ij1BciQpKipGMyQiKDdgLCJGLzckJCIwTlBqZitWKSoqRjMkIih2Uy4iRi83JCQiMFlyO0NOXCkqKkYzJCIoWmMwIkYvNyQkIjB4NClmV2YmKSoqRjMkIignXHo1Ri83JCQiMDFQNkpvaCkqKkYzJCIoRzw1IkYvNyQkIjByIkgnMyl5JykqKkYzJCIoOXg3IkYvNyQkIjBdcllQR3UpKipGMyQiKFdpOiJGLzckJCIwKVskPnhhISkpKipGMyQiKCM9Jz0iRi83JCQiMCVmXFYzbSkpKipGMyQiKF51QCJGLzckJCIwN0tFeUwkKikqKkYzJCIobWBEIkYvNyQkIjA8dyRbJVEqKikqKkYzJCIoSElIIkYvNyQkIjBEQCJlU2UhKioqRjMkIiglZU84Ri83JCQiMHgxbDJwNioqKkYzJCIoRC1RIkYvNyQkIjB2RGhsMz0qKipGMyQiKHhKViJGLzckJCIwZy4yWDVDKioqRjMkIig7JCpbIkYvNyQkIjBwTyUqXFJJKioqRjMkIiglNGI6Ri83JCQiMCNIYjRYbCQqKipGMyQiKHcqRztGLzckJCIwV1sibyQpSCUqKipGMyQiKCRwPTxGLzckJCIwTCswWz1cKioqRjMkIighbz89Ri83JCQiMCdcJVxqX2IqKipGMyQiKCllWT5GLzckJCIwZ3EjUTo9JyoqKkYzJCIoPjU1I0YvNyQkIjBdNl5WZm4qKipGMyQiKFQyRyNGLzckJCIwejEseEB1KioqRjMkIihqc2IjRi83JCQiMExBLzw5ISkqKipGMyQiKFZUIkhGLzckJCIwanA6KSpIJCkqKipGMyQiKEgieUpGLzckJCIwJXByI3pYJykqKipGMyQiKG8jSE5GLzckJCIwXSJHayFbKikqKipGMyQiKCFmL1NGLzckJCIwMVllTF0jKioqKkYzJCIoWVJ1JUYvNyQkIjBiJSk9djclKioqKkYzJCIoSihmYEYvNyQkIjAuQno7diYqKioqRjMkIil0cixqISM8NyQkIjBHVWZQYycqKioqRjMkIiltKG8rKEZqW2w3JCQiMF9oUmVQKCoqKipGMyQiKSpwJz0hKUZqW2w3JCQiMDlyej15KCoqKipGMyQiKTdIQSgpRmpbbDckJCIwdyEpPno9KSoqKipGMyQiKWI2XicqRmpbbDckJCIwZCYpUjRSKSoqKipGMyQiKjsqPUM1RmpbbDckJCIwUSEqZlJmKSoqKipGMyQiKjRYYzQiRmpbbDckJCIwPiYqenB6KSoqKipGMyQiKiVRWSU9IkZqW2w3JCQiJioqKioqISImJCIqZXgiKkgiRmpbbC0lK0FYRVNMQUJFTFNHNiRRIng2IlEhRmhebC0lKkdSSURTVFlMRUc2IyUsUkVDVEFOR1VMQVJHLSUqTElORVNUWUxFRzYjIiIhLSUlRk9OVEc2JCUqSEVMVkVUSUNBRyIjNS0lLE9SSUVOVEFUSU9ORzYkJCIjWEZhX2xGal9sLSUrUFJPSkVDVElPTkc2IyRGZl9sISIiLSUlVklFV0c2JDtGKkZfXmw7JCIxLSsrU2FNNF0hI0UkIixjVXBPSyIhIz4tJSZDT0xPUkc2JiUkUkdCRyRGYV9sRmBgbEZgYWxGX2Bs</Plot></Text-field></Output></Group><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">;</Font></Text-field></Input></Group></Section><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">;</Font></Text-field></Input></Group></Section><Section><Title><Text-field layout="Heading 2" style="Heading 2">Information and examples for adaptive Runge-Kutta methods via Maple's <Font executable="false" italic="false" size="14" style="Maple Input" underline="false">dsolve</Font></Text-field></Title><Text-field layout="Normal" style="Normal">The Maple procedure <Font executable="false" italic="false" size="12" style="Maple Input" underline="false">dsolve</Font> can be used to obtain a continuous numerical solution for a differential equation of the form<Equation input-equation="dy/dx = f(x,y);" style="2D Comment">NiMvKiYlI2R5RyIiIiUjZHhHISIiLSUiZkc2JCUieEclInlH</Equation> by an adaptive combined 4th and 5th order Runge-Kutta method.</Text-field><Text-field layout="Normal" style="Normal">The options "<Font executable="false" italic="false" style="Grey Emphasis" underline="false">type=numeric</Font>" together with "<Font executable="false" italic="false" style="Grey Emphasis" underline="false">method=rkf45</Font>" achieve this.</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">The following subsection contains the information from the relevant Maple help file.</Text-field><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">;</Font></Text-field></Input></Group><Section><Title><Text-field layout="Heading 2" style="Heading 2">information for: <Font executable="false" italic="false" size="14" style="Maple Input" underline="false">dsolve(..,type=numeric,method=rkf45)</Font></Text-field></Title><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">The following information comes from the Maple help files.</Text-field><Text-field layout="Normal256" style="Normal256"/><Text-field layout="Normal256" style="Normal256">Calling Sequence:</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">     dsolve(deqns, vars, type=numeric, method=rkf45, options)</Text-field><Text-field layout="Normal" style="Normal">     dsolve(deqns, vars, numeric, method=rkf45, options)</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal256" style="Normal256">Parameters:</Text-field><Text-field layout="Normal" style="Normal">     <Font bold="false" executable="false" foreground="[0,0,0]" italic="false" style="_cstyle23" underline="false">deqns        - </Font>set or list; ordinary differential equation(s) and initial conditions</Text-field><Text-field layout="Normal" style="Normal">     <Font bold="false" executable="false" foreground="[0,0,0]" italic="false" style="_cstyle23" underline="false">type=numeric - </Font>instruct <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">dsolve</Font> to find a numerical solution</Text-field><Text-field layout="Normal" style="Normal">     <Font bold="false" executable="false" foreground="[0,0,0]" italic="false" style="_cstyle23" underline="false">method=rkf45 - </Font>equation; numerical method to use</Text-field><Text-field layout="Normal" style="Normal">     <Font bold="false" executable="false" foreground="[0,0,0]" italic="false" style="_cstyle23" underline="false">vars         - </Font>(optional) dependent variable or a set or list of dependent variables for <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">deqns</Font> </Text-field><Text-field layout="Normal" style="Normal">     <Font bold="false" executable="false" foreground="[0,0,0]" italic="false" style="_cstyle23" underline="false">options      - </Font>(optional) equations of the form <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">keyword = value</Font></Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal256" style="Normal256">Description:</Text-field><Text-field layout="Bullet Item" style="Bullet Item">Invoking the <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">dsolve</Font> function with the options <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">numeric</Font> and <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">method=rkf45</Font> causes <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">dsolve</Font> to find a numerical solution using a <Font executable="false" family="Times New Roman" foreground="[0,0,0]" size="12" style="_cstyle22" underline="false">Fehlberg fourth-fifth order Runge-Kutta</Font> method with degree four interpolant. This is the default method of the <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">type=numeric</Font> solution for initial value problems when the <Hyperlink bold="false" executable="false" family="Times New Roman" hyperlink="true" linktarget="Help:dsolve[stiffness]" size="12" style="Hyperlink">stiff</Hyperlink> argument is <Font bold="false" executable="false" foreground="[0,0,0]" style="Help Italic" underline="false">not</Font> used. </Text-field><Text-field layout="Bullet Item" style="Bullet Item">The <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">rkf45</Font> method has two distinct modes of operation (for procedure-type outputs):</Text-field><Text-field layout="Bullet Item" style="Bullet Item"><Font bold="false" executable="false" foreground="[0,0,0]" style="Help Italic" underline="false">With </Font><Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">range:</Font></Text-field><Text-field layout="List Item" style="List Item">When used with the <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">range</Font> option, the method computes the solution for the IVP over the specified range, storing the solution information internally, and uses that information to rapidly interpolate the desired solution value for any call to the returned procedure(s).</Text-field><Text-field layout="List Item" style="List Item">In this mode of operation, <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">steppast</Font> defaults to <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">false</Font>, indicating that the method should adjust the step sizes at the end-points of the integration (in either direction) so as to not step past the end-points of the range.</Text-field><Text-field layout="List Item" style="List Item">Though possible, it is not recommended that the returned procedure be called for points outside the specified range.</Text-field><Text-field layout="List Item" style="List Item">This method can be used in combination with the <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">refine</Font> option of <Hyperlink bold="false" executable="false" family="Times New Roman" hyperlink="true" linktarget="Help:odeplot" size="12" style="Hyperlink">odeplot</Hyperlink> to produce an adaptive plot (that is, <Hyperlink bold="false" executable="false" family="Times New Roman" hyperlink="true" linktarget="Help:odeplot" size="12" style="Hyperlink">odeplot</Hyperlink> uses the precomputed points to produce the plot when <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">refine</Font> is specified.)</Text-field><Text-field layout="List Item" style="List Item">It is not recommended that this method be used for problems in which the solution can become singular, as each step is stored, and many steps may be taken when near a singularity, so memory usage can become a significant issue.</Text-field><Text-field layout="List Item" style="List Item">The storage of the interpolant in use by this method can be disabled with the <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">interpolation=false</Font> option described below. This may be desirable for high accuracy solutions where storage of the interpolant (in addition to the discrete solution) requires too much memory. Disabling the interpolant is not generally recommended as the solution values will be obtained from an interpolation of the 5 closest points, and does not necessarily provide an interpolant with order 4 error. </Text-field><Text-field layout="Bullet Item" style="Bullet Item"><Font bold="false" executable="false" foreground="[0,0,0]" style="Help Italic" underline="false">Without </Font><Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">range:</Font></Text-field><Text-field layout="List Item" style="List Item">When used without the <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">range</Font> option, the IVP solution values are not stored, but rather computed when requested.</Text-field><Text-field layout="List Item" style="List Item">In this mode of operation, <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">steppast</Font> defaults to <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">true</Font>, and output solution values are computed using the method interpolant. This approach provides more efficient continuation of the solution if multiple points are to be requested. </Text-field><Text-field layout="List Item" style="List Item">The use of the interpolant with this method can be disabled with the <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">interpolation=false</Font> option described below, but also requires that <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">steppast=false</Font> is specified. </Text-field><Text-field layout="List Item" style="List Item">Since not all solution values are stored, computation must restart at the initial values whenever a point is requested between the initial point and the most recently computed point (to avoid reversal of the integration direction), so it is advisable to collect solution values moving away from the initial value. </Text-field><Text-field layout="Bullet Item" style="Bullet Item">By setting <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">infolevel[dsolve]</Font> to <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">2</Font>, information on the last mesh point evaluation is provided in the event of an error.</Text-field><Text-field layout="Bullet Item" style="Bullet Item">The following options are available for the <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">rkf45</Font> method.</Text-field><Text-field bookmark="wmitable" layout="Fixed Width" style="Fixed Width">  'output'      =   keyword or array 
  'abserr'      =   numeric          
  'relerr'      =   numeric          
  'initstep'    =   numeric          
  'maxfun'      =   integer          
  'number'      =   integer          
  'procedure'   =   procedure        
  'start'       =   numeric          
  'initial'     =   array            
  'procvars'    =   list             
  'startinit'   =   boolean          
  'implicit'    =   boolean          
  'range'       =   numeric..numeric 
  'interpolate' =   boolean          
  'steppast'    =   boolean          
  'stop_cond'   =   list              </Text-field><Text-field layout="Bullet Item" style="Bullet Item">The <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">output</Font> option specifies the desired output from <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">dsolve</Font>. The keywords <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">procedurelist</Font> or <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">listprocedure</Font> provide procedure-type output, the keyword <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">piecewise</Font> provides output in the form of <Hyperlink bold="false" executable="false" family="Times New Roman" hyperlink="true" linktarget="Help:piecewise" size="12" style="Hyperlink">piecewise</Hyperlink> functions over a specified range of independent variable values, and a 1-d array or Array provide output at fixed values of the independent variable. This is discussed in more detail <Hyperlink bold="false" executable="false" family="Times New Roman" hyperlink="true" linktarget="Help:dsolve[numeric]" size="12" style="Hyperlink">dsolve[numeric]</Hyperlink>.</Text-field><Text-field layout="Bullet Item" style="Bullet Item">The <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">abserr</Font>, <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">relerr</Font>, and <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">initstep</Font> options specify the desired accuracy of the solution, and the starting step size for the method, and are discussed in <Hyperlink bold="false" executable="false" family="Times New Roman" hyperlink="true" linktarget="Help:dsolve[Error_Control]" size="12" style="Hyperlink">dsolve[Error_Control]</Hyperlink>. The default values for <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">rkf45</Font> are <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">abserr=Float(1,-7)</Font> and <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">relerr=Float(1,-6)</Font>. The value for <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">initstep</Font>, if not specified, is determined by the method, taking into account the local behavior of the ODE system.</Text-field><Text-field layout="Bullet Item" style="Bullet Item">The <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">maxfun</Font> option specifies a maximum on the number of evaluations of the right-hand side of the first order ODE system. This option is disabled by specifying <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">maxfun=0</Font>. The default value for <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">rkf45</Font> is <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">30000</Font>.</Text-field><Text-field layout="Bullet Item" style="Bullet Item">The <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">number</Font>, <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">procedure</Font>, <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">start</Font>, <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">initial</Font>, <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">procvars</Font>, <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">startinit</Font>, and <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">implicit</Font> parameters are used for specification of the IVP using procedures, and the behavior of the computation, and are discussed in <Hyperlink bold="false" executable="false" family="Times New Roman" hyperlink="true" linktarget="Help:dsolve[numeric,IVP]" size="12" style="Hyperlink">dsolve[numeric,IVP]</Hyperlink>.</Text-field><Text-field layout="Bullet Item" style="Bullet Item">The <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">range</Font> argument determines the range of values of the independent variable for which solution values are required. Use of this option significantly changes the behavior of the method for the procedure-style <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">output</Font> types discussed in <Hyperlink bold="false" executable="false" family="Times New Roman" hyperlink="true" linktarget="Help:dsolve[numeric]" size="12" style="Hyperlink">dsolve[numeric]</Hyperlink> (see description of with/without range above).</Text-field><Text-field layout="Bullet Item" style="Bullet Item">The <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">interpolate</Font> argument accepts a boolean value that indicates if interpolation should be performed to compute additional solution values between steps during the Runge-Kutta integration. This is <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">true</Font> by default. For loose error tolerances (such as the default) this provides more computed points, and results in a smoother plot, and more consistent accuracy for the interpolated solution. It may be desirable to set this to <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">false</Font> for problems with tighter error tolerances with a specified range, reducing the amount of memory needed to store the computed solution.</Text-field><Text-field layout="Bullet Item" style="Bullet Item">The <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">steppast</Font> argument accepts a boolean value that tells the method whether the computation can utilize values outside the range (when <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">range</Font> is specified), or compute values past the requested point (when <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">range</Font> is not specified). The default value depends on the presence of the range argument. It is <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">false</Font> if range is used, and <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">true</Font> otherwise. </Text-field><Text-field layout="List Item" style="List Item">When storage is not in use, this option must agree with <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">interpolate</Font>, and provides more consistent solution values, and more efficient solution continuation. In this case, <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">steppast=false, interpolate=false</Font> means that the method must adjust the step size whenever near an output point, and must step back to before the step size adjustment to continue the computation. </Text-field><Text-field layout="Bullet Item" style="Bullet Item">The <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">stop_cond</Font> argument accepts a list of stopping criteria. This is a list of criteria that are monitored during numerical integration of the ODE solution. When one of the criteria is met, the integration stops, and the current point is given as the solution. This option is discussed in detail in <Hyperlink bold="false" executable="false" family="Times New Roman" hyperlink="true" linktarget="Help:dsolve[Stop_Conditions]" size="12" style="Hyperlink">dsolve[Stop_Conditions]</Hyperlink>. </Text-field><Text-field layout="Bullet Item" style="Bullet Item">The <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">rkf45</Font> method is capable of computing high-accuracy solutions for IVPs because the precision of the computation can be increased by changing the <Hyperlink bold="false" executable="false" family="Times New Roman" hyperlink="true" linktarget="Help:Digits" size="12" style="Hyperlink">Digits</Hyperlink> environment variable. However, it is recommended that the higher order <Hyperlink bold="false" executable="false" family="Times New Roman" hyperlink="true" linktarget="Help:dsolve[dverk78]" size="12" style="Hyperlink">dverk78</Hyperlink> or <Hyperlink bold="false" executable="false" family="Times New Roman" hyperlink="true" linktarget="Help:dsolve[gear]" size="12" style="Hyperlink">gear</Hyperlink> methods be used instead.</Text-field><Text-field layout="Bullet Item" style="Bullet Item">Results can be plotted by using the function <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">odeplot</Font> in the <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">plots</Font> package.</Text-field><Text-field layout="Bullet Item" style="Help Italic Bold"><Font executable="false" foreground="[0,0,0]" underline="false">References</Font></Text-field><Text-field layout="List Item" style="List Item">E. Fehlberg. "Klassische Runge-Kutta-Formeln vierter und niedrigerer Ordnung mit Schrittweiten-Kontrolle und ihre Anwendung auf Waermeleitungsprobleme" <Font executable="false" family="Times New Roman" foreground="[0,0,0]" size="12" style="_cstyle22" underline="false">Computing</Font>, vol. 6 (1970) 61-71. </Text-field><Text-field layout="List Item" style="List Item">W.H. Enright, K.R. Jackson, S.P. Norsett, and P.G. Thomsen. "Interpolants for Runge-Kutta Formulas" <Font executable="false" family="Times New Roman" foreground="[0,0,0]" size="12" style="_cstyle22" underline="false">ACM TOMS</Font>, vol. 12 (1986) 193-218. </Text-field><Text-field layout="List Item" style="List Item">L.F. Shampine and R.M. Corless. "Initial Value Problems for ODEs in Problem Solving Environments" <Font executable="false" family="Times New Roman" foreground="[0,0,0]" size="12" style="_cstyle22" underline="false">J. Comp. Appl. Math</Font>, vol. 125(1-2) (2000) 31-40. </Text-field><Text-field layout="List Item" style="List Item">G.E. Forsythe, M.A. Malcolm, and C.B. Moler. <Font executable="false" family="Times New Roman" foreground="[0,0,0]" size="12" style="_cstyle22" underline="false">Computer Methods for Mathematical Computations</Font> </Text-field><Text-field layout="Normal" style="Normal"/></Section><Section><Title><Text-field layout="Heading 2" style="Heading 2"><Font executable="false" italic="false" size="14" style="Maple Input" underline="false">dsolve(..,type=numeric,method=rkf45)</Font>: example</Text-field></Title><Text-field layout="Normal" style="Normal">The following commands give a numerical solution for the differential equation <Equation input-equation="dy/dx = 1-x^2-y^2;" style="2D Comment">NiMvKiYlI2R5RyIiIiUjZHhHISIiLChGJkYmKiQlInhHIiIjRigqJCUieUdGLEYo</Equation> as a numerical procedure <Font executable="false" italic="false" style="Grey Emphasis" underline="false">fn</Font>.</Text-field><Text-field layout="Normal" style="Normal"> </Text-field><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">de := diff(y(x),x)=1-x^2-y(x)^2;
ic := y(0)=0;
dsol := dsolve({de,ic},y(x),type=numeric,method=rkf45,
   output=listprocedure):
fn := subs(dsol,y(x));</Font></Text-field></Input><Output><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiM+SSNkZUc2Ii8tSSVkaWZmR0kqcHJvdGVjdGVkR0YpNiQtSSJ5R0YlNiNJInhHRiVGLiwoIiIiRjAqJEYuIiIjISIiKiRGK0YyRjM=</Equation></Text-field><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiM+SSNpY0c2Ii8tSSJ5R0YlNiMiIiFGKg==</Equation></Text-field><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiM+SSNmbkc2ImYrNiNJInhHRiU2J0kkcmVzR0YlSSVkYXRhR0YlSSlzb2xucHJvY0dGJUkpb3V0cG9pbnRHRiVJJXkoeClHRiU2I0lpbkNvcHlyaWdodH4oYyl+MjAwMH5ieX5XYXRlcmxvb35NYXBsZX5JbmMufkFsbH5yaWdodHN+cmVzZXJ2ZWQuR0YlRiVDKT5JOF9FbnZEU051bWVyaWNTYXZlRGlnaXRzR0YlSSdEaWdpdHNHRiU+RjQiIzlAJS9JLV9FbnZJbkZzb2x2ZUdGJUkldHJ1ZUdJKnByb3RlY3RlZEdGOz44Jy0mSSZldmFsZkdGOzYjRjM2IzkkPkY9LUZARkI+OCVgNiRJJEdldEdGJUkkU2V0R0YlYjYjSSt0aGlzbW9kdWxlR0YlNiNJJURhdGFHRiVGJUZJRiVGJUYlRiVJK19tMTk2NTg4NDhHRiVGTz44Ji1fRkdGSjYjUS9zb2xuX3Byb2NlZHVyZUYlQCQ0LUkldHlwZUdGOzYkRj0uSShudW1lcmljR0Y7QyRALi1JJ21lbWJlckdGOzYkRkM3K1Emc3RhcnRGJS5JJnN0YXJ0R0YlUSdtZXRob2RGJS5JJ21ldGhvZEdGJVElbGVmdEYlUSZyaWdodEYlUSlsZWZ0ZGF0YUYlUSpyaWdodGRhdGFGJVErZW5naW5lZGF0YUYlQyRAJS1GXG82JEZDNyRGYG9GY28+OCQtRlM2Iy1JKGNvbnZlcnRHRjs2JEZDLkknc3RyaW5nR0Y7PkZgcC1GU0ZCQCYtRmVuNiRGYHAuSSZhcnJheUdGO08tSSVldmFsR0Y7NiRGYHAiIiIwRmBwUSlwcm9jbmFtZUYlT0ZgcC1GXG82JEZDNyRRJWxhc3RGJVEoaW5pdGlhbEYlQyRGaHBAJC1GZW42JEZgcC5JJWxpc3RHRjtPJkZgcDYjIiIjLUZcbzYkRkM3JC5JJWxhc3RHRiUuSShpbml0aWFsR0YlQyRGX3BGXXIzLUZlbjYkRj1JIj1HRjstRlxvNiQtSSRsaHNHRjs2I0Y9NyRGW3JGW3NDJEAlLUZlbjYkLUkkcmhzR0Y7RmZzRmByPkZgcC1GUzYjL0ZbcjckIiIhLUkjb3BHRjs2I0ZcdD5GYHAtRlM2Iy9GW3I3JEZlckZcdEZdci9GPVEuc29sbnByb2NlZHVyZUYlTy1GYXE2I0ZTL0Y9UShzeXN2YXJzRiVPNyRGKC1JInlHRiVGJ0AlMDkhSSh1bmtub3duR0YlTy0uRml1RkJDJD44KC1JKHBvaW50dG9HRjs2IyYtRlU2I1Ewc29sbl9wcm9jZWR1cmVzRiVGZHJPLS5GYHZGQlolQyQ+RmBwLUZTRmZzRmNyRiVZRiVGJUYlRiVGJQ==</Equation></Text-field></Output></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">;</Font></Text-field></Input></Group><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">Note that there is no requirement to specify a solution interval, so the function <Font executable="false" italic="false" style="Grey Emphasis" underline="false">fn</Font> which gives the solution cannot be using interpolation between precomputed values in the way that the solution function constructed with <Font executable="false" italic="false" size="12" style="Maple Input" underline="false">desolveRK</Font> does. </Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">In order to obtain the first value asked for, say <Equation input-equation="fn(x)" style="2D Comment">NiMtJSNmbkc2IyUieEc=</Equation>, the procedure must be constructing points along the solution curve all the way from the initial point<Equation input-equation=" ``(0,0)" style="2D Comment">NiMtJSFHNiQiIiFGJg==</Equation> to the point<Equation input-equation="``(x,fn(x));" style="2D Comment">NiMtJSFHNiQlInhHLSUjZm5HNiNGJg==</Equation>. </Text-field><Text-field layout="Normal" style="Normal">For subsequent evaluations of the solution function, it appears likely that any previously computed values are accessible, and do not have to be recomputed.  </Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">The graph of the solution can be plotted as in a previous example.</Text-field><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">plot('fn'(x),x=0..2,color=red);</Font></Text-field></Input><Output><Text-field layout="Maple Plot" style="Maple Plot"><Plot height="300" type="two-dimensional" width="400">LSUlUExPVEc2Ky0lJ0NVUlZFU0c2IzdVNyQkIiIhRitGKjckJCIrTTNWZlYhIzYkIitOPCJSTiVGLzckJCIrI0hbRDopRi8kIitoMF87IilGLzckJCIrZTAkPUMiISM1JCIrYTk5SDdGOjckJCIrM1JCcjtGOiQiKzl4WFM7Rjo3JCQiK3pqZik0I0Y6JCIrSDUvUT9GOjckJCIrJzQ7W1wjRjokIistPXokUiNGOjckJCIraid5XSFIRjokIitNSiJwdSNGOjckJCIrJ3pzJEhMRjokIitnbmskNCRGOjckJCIrOGlJX1BGOiQiK3hbYz1NRjo3JCQiKzxfTSg9JUY6JCIrMGJJSFBGOjckJCIrNHlfcVhGOiQiK2V2Iz4pUkY6NyQkIitdMSE+KyZGOiQiKzhYUFRVRjo3JCQiK11aL05hRjokIitwejl1V0Y6NyQkIitdJGZDJmVGOiQiKzdLO3JZRjo3JCQiKyd6NjpCJ0Y6JCIrJSpvQ0VbRjo3JCQiKzw9QyNvJ0Y6JCIrWGVbISlcRjo3JCQiK24jcFMxKEY6JCIrMHE0JjMmRjo3JCQiK2pgQTN2RjokIitdeUx3XkY6NyQkIituKHk4IXpGOiQiK28zYEhfRjo3JCQiK2oudEskKUY6JCIrVHMpeUQmRjo3JCQiKykzek11KUY6JCIrWylSYkQmRjo3JCQiKyNIXz88KkY6JCIrdWRTQV9GOjckJCIrIUc7Y2MqRjokIishZkhVOyZGOjckJCIrNCNHLCoqKkY6JCIrWSczOjImRjo3JCQiKyFvMkovIiEiKiQiK3U9K1VcRjo3JCQiKyVRI1wiMyJGY3MkIitEJ1s5IVtGOjckJCIrOypbSDciRmNzJCIrJVsiPj9ZRjo3JCQiK3F2eGw2RmNzJCIrQU9IK1dGOjckJCIrYHFuMjdGY3MkIitDYVNfVEY6NyQkIitjcEBbN0ZjcyQiK2EnXDQpUUY6NyQkIiszJ0hLSCJGY3MkIis0SStVTkY6NyQkIit4YW5MOEZjcyQiK1QpUkQ/JEY6NyQkIit2KydvUCJGY3MkIit6WDAtR0Y6NyQkIitTPCpmVCJGY3MkIit6LGouQ0Y6NyQkIismKUh4ZTlGY3MkIisqZnhzIz5GOjckJCIrLm8tKlwiRmNzJCIrIjRKeVYiRjo3JCQiK1RPNVQ6RmNzJCIrd3UzMCkpRi83JCQiK1U5QyNlIkZjcyQiK3oiKTNxR0YvNyQkIisxKjNgaSJGY3MkIStiWCRIIVJGLzckJCIrJCp6eW07RmNzJCErKik0KT01IkY6NyQkIiteaj80PEZjcyQhKzdFMycqPUY6NyQkIitqTUZePEZjcyQhK1hKd2RGRjo3JCQiK3EoRyoqeSJGY3MkIStmIVFEaSRGOjckJCIrOUBCTT1GY3MkIStULU82WkY6NyQkIitgdiZRKD1GY3MkISspenJreSZGOjckJCIrT2w1Oz5GY3MkIStlSEticUY6NyQkIitxYEtPPkZjcyQhK21dYzh4Rjo3JCQiKy9VYWM+RmNzJCErbjJ3MyUpRjo3JCQiKy1ARnk+RmNzJCErUiUzND8qRjo3JCQiIiNGKyQhKyM0WlcrIkZjcy0lK0FYRVNMQUJFTFNHNiRRIng2IlEhRmdbbC0lKkdSSURTVFlMRUc2IyUsUkVDVEFOR1VMQVJHLSUqTElORVNUWUxFRzYjRistJSVGT05URzYkJSpIRUxWRVRJQ0FHIiM1LSUsT1JJRU5UQVRJT05HNiQkIiNYRitGaFxsLSUrUFJPSkVDVElPTkc2IyRGZFxsISIiLSUlVklFV0c2JDskRitGXl1sJCIjP0ZeXWw7JCEyLStBJDM9ME41ISM7JCItQS9XJFJjJiEjNy0lJkNPTE9SRzYmJSRSR0JHRl1dbEZjXWxGY11s</Plot></Text-field></Output></Group><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">With Maple 6 <Font executable="false" italic="false" size="12" style="Maple Input" underline="false">fsolve</Font> gave no value for the following, but Maple 7 gives a value which differs somewhat from the value given when the numerical solution for the differential equation is constructed using <Font executable="false" italic="false" size="12" style="Maple Input" underline="false">desolveRK</Font>. </Text-field><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">fsolve('fn(x)'=0,x=1..2);</Font></Text-field></Input><Output><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiMkIisvdSY0ZyIhIio=</Equation></Text-field></Output></Group><Text-field layout="Normal" style="Normal"> </Text-field><Text-field layout="Normal" style="Normal">If the precision used in the construction of the solution procedure hn by <Font executable="false" italic="false" size="12" style="Maple Input" underline="false">dsolve</Font> is increased to16, and a parameter which controls the relative error is adjusted, <Font executable="false" italic="false" size="12" style="Maple Input" underline="false">fsolve</Font> produces a different answer, but it still disagrees with the one given by <Font executable="false" italic="false" size="12" style="Maple Input" underline="false">desolveRK</Font>. </Text-field><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">de := diff(y(x),x)=1-x^2-y(x)^2;
ic := y(0)=0;
saveDigits := Digits: Digits := 16:
dsol := dsolve({de,ic},y(x),type=numeric,
              method=rkf45,output=listprocedure,relerr=Float(1,-14)):
Digits := saveDigits:
fn := subs(dsol,y(x));</Font></Text-field></Input><Output><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiM+JSNkZUcvLSUlZGlmZkc2JC0lInlHNiMlInhHRiwsKCIiIkYuKiQpRiwiIiNGLiEiIiokKUYpRjFGLkYy</Equation></Text-field><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiM+JSNpY0cvLSUieUc2IyIiIUYp</Equation></Text-field></Output></Group><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">fsolve('fn'(x)=0,x=1..2);</Font></Text-field></Input><Output><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiMkIitTdiY0ZyIhIio=</Equation></Text-field></Output></Group><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal"><Font executable="false" italic="false" style="Purple Emphasis" underline="false">Note</Font>: A quick way of obtaining pictures of various solution curves along with the direction field is to insert a list of initial conditions after the plotting range in a <Font executable="false" italic="false" size="12" style="Maple Input" underline="false">DEplot</Font> command.</Text-field><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">with(DEtools):
de := diff(y(x),x)=1-x^2-y(x)^2;
DEplot(de,y(x),x=0..2,y=-1..1,[[0,0],[0,0.5]],arrows=medium,color=blue,
      dirgrid=[25,25],linecolor=[coral,green]);</Font></Text-field></Input><Output><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiM+SSNkZUc2Ii8tSSVkaWZmR0kqcHJvdGVjdGVkR0YpNiQtSSJ5R0YlNiNJInhHRiVGLiwoIiIiRjAqJEYuIiIjISIiKiRGK0YyRjM=</Equation></Text-field></Output><Output><Text-field layout="Maple Plot"><Plot height="400" type="two-dimensional" width="400">LSUlUExPVEc2Jy0lJ0NVUlZFU0c2X2JtNyc3JCQhM1dtbW1tbW1tVCEjPiQhIiIiIiE3JCQiM1dtbW1tbW1tVEYsRi03JCQiMy0nM1xhMlpDTyNGLCQhM3VtbW1tbVQ1NSEjPDckRjQkITNxTExMTEwkZSopKiEjPUYwNyc3JCQiM3VTZlVLcndtVEYsJCEzX3AkXDdiMXIqKipGPDckJCIzV3NTVWAqKikqXDdGPCQhMyVIMXZbTSpHKzVGODckJCIzI1JrNEMpKlspbzVGPCQhMyE9P3IuWiFlNTVGODckJCIzLWZceTFkSHE1RjwkITNtWm1tJFJ3dSopKkY8RkM3JzckJCIzQW44MWUxO103RjwkITNtXylcJylRSSUpKSoqRjw3JCQiMyNmJz5GdkU8JDMjRjwkITNpOV04aHA6LDVGODckJCIzZS9SSCEpeSMqKio9RjwkITM/ITQkW0snbzUsIkY4NyQkIjNEeSpvZm83ZCE+RjwkITM0XiNHMEtMQyEqKkY8Rlg3JzckJCIzQ2phJyplWjklMyNGPCQhM2NUYFZaITRTKCoqRjw3JCQiM3ZPWC5UXyZlIkhGPCQhMyVlWWNfNCpmLTVGODckJCIzPG5wUCxwR0hGRjwkITN5XkctTisoPSwiRjg3JCQiM1EnSGZ3UCNHVUZGPCQhMzdcN3JIRng1KipGPEZnbzcnNyQkIjNxZUViNV5APkhGPCQhMzEhW05UJ28pUiYqKkY8NyQkIjNnMlM2YzpYWlBGPCQhMyo+WCdlODhnLzVGODckJCIzLTkpKWZAKUhtYiRGPCQhMyNla0Y+JT0nSCwiRjg3JCQiM1d0NWAqUU8nek5GPCQhMyU9NycpeUlmRCMqKkY8RlxxNyc3JCQiM0NTRWhpMzljUEY8JCEzWClSPSFmIkcoRyoqRjw3JCQiM08jcD8yWiM+eFhGPCQhMztnIik0JT1GcisiRjg3JCQiM0kjUWxHaTY7USVGPCQhMz8kR2N6Oy9WLCJGODckJCIzMyQ9Y0xhWnNUJUY8JCEzXj5lYHgoeXgkKipGPEZhcjcnNyQkIjMreUZGZVJ4JmYlRjwkITMjXD5vJipbViopKikqRjw3JCQiM1ZAc3NUZ0EvYUY8JCEzXiE9VjVsMCwsIkY4NyQkIjNyb2RoLnAjUj8mRjwkITNbdFAjb1VOZSwiRjg3JCQiM0NyOyQpZV5YYV9GPCQhM2tDVFBaN0NjKipGPEZmczcnNyQkIjMsYyVwYzR5KVFhRjwkITMvSlxIW2N4bCkqRjw3JCQiMzw0cyo0ZCl5RmlGPCQhM3oxMDxOQ1U4NUY4NyQkIjMycFgkW05HTS0nRjwkITNKXEg+SjxaPDVGODckJCIzNS9yb0kwYSE0J0Y8JCEzU2J2NCRwKlt4KipGPEZbdTcnNyQkIjNLZjp1YT0iZkcnRjwkITN5J1JXIlJjeEkpKkY8NyQkIjNFdDxmeTlVWnFGPCQhM0BnYjNPQyNwLCJGODckJCIzMT14XT1QQ1NvRjwkITMxIm82bW44Ij41Rjg3JCQiMzc+YiQqKSplJlsjcEY8JCEzbURhLE9mMis1RjhGYHY3JzckJCIzWi8iKT5FTiVvOChGPCQhM0tNa1skW0NkeipGPDckJCIzYSYqPSFRWmNKJ3lGPCQhM2RjOGxedlU/NUY4NyQkIjMlUipHdUdpJFtsKEY8JCEzMDJHO3U1bT81Rjg3JCQiMyl5bioqcClSKHB2KEY8JCEzRjdGWl1LXS01RjhGZXc3JzckJCIzN0ZoalplNCIqekY8JCEzTVNwUHpdTGkoKkY8NyQkIjNHUzAuPjNkdicpRjwkITMoZklpP1xtUC0iRjg3JCQiMyF5QS8wVGh6WSlGPCQhMyVwTGlpQko/LSJGODckJCIzc2VkIjMoUXonZSlGPCQhM3l3dSg+Tz5cKyJGOEZqeDcnNyQkIjM/R3d6PG1tWikpRjwkITNvQGAjeU1ePnQqRjw3JCQiM2kxZGA6bm0mWypGPCQhMyV6WTxfJ1shby0iRjg3JCQiMylbXUYlek1fIUcqRjwkITNaQHZLPkk8QjVGODckJCIzXFZbXjB5YTklKkY8JCEzWXBTKW8sQnMrIkY4Rl96Nyc3JCQiM1QwY111QFAwKCpGPCQhM1QwY111QFAwKCpGPDckJCIzZFIlXER5aSVINUY4JCEzZFIlXER5aSVINUY4NyQkIjMmUjNOeUtSJDQ1RjgkITN1Lik0Ij4yMkM1Rjg3JCQiM3UuKTQiPjIyQzVGOCQhMyZSM055S1IkNDVGOEZkW2w3JzckJCIzI3pEZiwoKTRqMCJGOCQhM2NMP2VMJ1xHbypGPDckJCIzZjN1XSd6Yy42IkY4JCEzbCd6VG0uOjwuIkY4NyQkIjNDb01hTWxzITQiRjgkITNUUyVHKCkpeXRDNUY4NyQkIjNYbVYnRzAlZTE2RjgkITN1LTk5ZGhBNjVGOEZpXGw3JzckJCIzeFA7RDpvKj45IkY4JCEzbVNhSDZmQGsnKkY8NyQkIjNFJnAiMz1sTCI+IkY4JCEzI2VYcSkzJXlOLiJGODckJCIzKSp6diVvYmZBPCJGOCQhM0h2UjwlKmY/RDVGODckJCIzKzNHR2goWyEqPSJGOCQhMyEzWW0lbzUoRywiRjhGXl5sNyc3JCQiM3IjcDokSCVSdkEiRjgkITMrL3gwJGVgIVwnKkY8NyQkIjMlb0klb3EwWXM3RjgkITNySFVwVFk0TjVGODckJCIzYydwaXk+aFJEIkY4JCEzcVtMdWVMXkQ1Rjg3JCQiM1U2KTQoPSYzOkYiRjgkITM8Jj4sTTIkRzk1RjhGY19sNyc3JCQiM1p3Pm8ieTBISiJGOCQhM1ovIik+RU4lb2oqRjw3JCQiM2cqbyUpXCkzd2A4RjgkITNiKj0hUVpjSk81Rjg3JCQiM0pYZyFRZU9lTCJGOCQhM3puKipwKVIocEQ1Rjg3JCQiMzNTaFwyVypSTiJGOCQhM1IqR3VHaSRbOjVGOEZoYGw3JzckJCIzSzooR0BTJTMpUiJGOCQhM2xATz91VTFGJypGPDckJCIzRjxZP0oqW19WIkY4JCEzJnpqekRkJEhQNUY4NyQkIjNxYFtbIj16eVQiRjgkITMuLiMpM1swekQ1Rjg3JCQiM25zWXhuZl9POUY4JCEzYUYjPmVUKlw7NUY4Rl1ibDcnNyQkIjM3UlciUmN4SVsiRjgkITMvJCpbMik9WCM+JypGPDckJCIzKipmYjNPQyNwXiJGOCQhMyIzXiM+Ilt2IVE1Rjg3JCQiM1dEYSxPZjIrOkY4JCEzXSYpb0FCKj1lLSJGODckJCIzJTNvNm1uOCI+OkY4JCEzPTBUPTB4Tjw1RjhGYmNsNyc3JCQiM3dSXFMncCYqeWMiRjgkITMkXDlxJz1xKUhoKkY8NyQkIjMnZXNoLSg0eClmIkY4JCEzXiYpSDgpSCwoUTVGODckJCIzJ1tHXkcmNFQjZSJGOCQhM1AkeSRwYEQhZS0iRjg3JCQiM2h4eCI+Z2g8ZyJGOCQhMyVvZUhfdCQzPTVGOEZnZGw3JzckJCIzOU4nKVtiTGJfO0Y4JCEzPEkhKVF5Tid6ZypGPDckJCIzKyhwV3koKnoybyJGOCQhMylwPmhAay4jUjVGODckJCIzJUdiKUhDeSdbbSJGOCQhMz1wJVJcSGNkLSJGODckJCIzV14iemBrcFdvIkY4JCEzcmAvTlInKnA9NUY4RlxmbDcnNyQkIjNXJHBHQ2ZtcXQiRjgkITNdZShHSlI5UmcqRjw3JCQiM0MwOGQyTSRIdyJGOCQhMzpDcm9nJjMnUjVGODckJCIzdypSVXckNFZaPEY4JCEzMmQoKXAtNHBENUY4NyQkIjMlPSdmKXpATnN3IkY4JCEzNy9KIiopPkMjPjVGOEZhZ2w3JzckJCIzKEdeS2tQXjkjPUY4JCEzbz0iKlFFVWorJypGPDckJCIzS19UQiFIOl8lPUY4JCEzLSkzaHRkTypSNUY4NyQkIjNaKltLdzUnM0k9RjgkITNdUyk9OC05Yy0iRjg3JCQiM2VMSUonUmErJj1GOCQhM2pJJW9HL3QnPjVGOEZmaGw3JzckJCIzJClSYChbdEFkIT5GOCQhMy9IOXMwRCd6ZipGPDckJCIzKD0qelgpZjV3Iz5GOCQhMzRkeVVcUD9TNUY4NyQkIjNYVG5pKno/RyI+RjgkITNbTSg0IykqNGBENUY4NyQkIjMrcTFNdUUjSCQ+RjgkITNaclNKSyFmKy0iRjhGW2psNyc3JCQiM2c9byYqW1YqKSopPkY4JCEzY3lGRmVSeCZmKkY8NyQkIjNpekovXmM1NT9GOCQhM0RBRjwvRVVTNUY4NyQkIjNlNnV0Q1RpJio+RjgkITNDbkopZV5YYS0iRjg3JCQiMyJHeEJvVU5lLCNGOCQhMylwZGgucCNSPzVGOEZgW203JzckJCEzLmRPOT1UXjlURiwkITMvRyIpXCtZUUsjKkY8NyQkIjMuZE85PVReOVRGLCQhM2MvXyRHdFs0NSpGPDckJCIzI0hDXnUyc3JcI0YsJCEzKTQkKnplR29BQipGPDckJCIzK1BSSDNDZW9ARiwkITNNW0YoKnpEYUUhKkY8RmVcbTcnNyQkIjNVaDY/QSllV0AlRiwkITMmb0hVaCJSZkgjKkY8NyQkIjNXXWxXJXk/X0MiRjwkITN1TjU+PCVSUDUqRjw3JCQiM1dDTXQpNCtFMyJGPCQhM1VHdUd5JmZSQipGPDckJCIzSTRjKlJaTzYwIkY8JCEzaj4zdF9lLEchKkY8RmpdbTcnNyQkIjNZcXp6ay1lYDdGPCQhM1gneW9DN3I2QSpGPDckJCIzb2lgYG9Jdno/RjwkITM5WVgnM0BpQDYqRjw3JCQiM1kkeihcQnZdOT5GPCQhM0xoUCtMXC5SIypGPDckJCIzbUxuZiZIYnMpPUY8JCEzOTglcD90IlxLISpGPEZfX203JzckJCIzUzFzZiNvKUcmMyNGPCQhMyk0RkREI2UpcD8qRjw3JCQiMylRei11SjZaIkhGPCQhM2loITMzXlpqNypGPDckJCIzJyp6TkpRZUBYRkY8JCEzXTNeeFlTW1ojKkY8NyQkIjMxeFVRZ2kwREZGPCQhM2I2UDIpUUcsLypGPEZkYG03JzckJCIzej9NImY0ZXIiSEY8JCEzMXpYUDJ1Km89KkY8NyQkIjNdWEt2cSYzJlxQRjwkITNhYChlZiNmVlkiKkY8NyQkIjNLIlI5PjRkVmQkRjwkITNpWCozSSEqUiNmIypGPDckJCIzXU4vY0A8Q2tORjwkITMrISoqKUglR182MCpGPEZpYW03JzckJCIzJ1wkUiU+PVMrdiRGPCQhM3MkPTd4PSEpMzsqRjw3JCQiM2koUipRXkpIJGUlRjwkITMpKVs2aVhKWHMiKkY8NyQkIjNeSDYjPSg+VyxXRjwkITNlM2AiejkvVEYqRjw3JCQiMyEzUClINl9ML1dGPCQhMz1WUmIwNHpsISpGPEZeY203JzckJCIzQ2NMTmQ0LSZlJUY8JCEzI3o8czNHLiNIIipGPDckJCIzbFVta1UhelxUJkY8JCEzb2E2WV8rOC8jKkY8NyQkIjNOXkhyKio+I2ZBJkY8JCEzOTh6QCJwXztIKkY8NyQkIjMpXD41RXBgWUMmRjwkITNRI2YlKilwSjslMypGPEZjZG03JzckJCIzKFIlPWFDbkhCYUY8JCEzWy4jbyp5QWojNCpGPDckJCIzQUBbN1UqcExDJ0Y8JCEzN0heT2E1cVMjKkY8NyQkIjNXekVOJkc1dC8nRjwkITNdYEZKd0I6NiQqRjw3JCQiMyczIj4/enVLJTMnRjwkITM+NHEiPjJNaDUqRjxGaGVtNyc3JCQiM3dGJzM5JW8jZkUnRjwkITNHX2kzTHJjXyEqRjw3JCQiMyNbcUM+XDF1MShGPCQhM0shM1otP20yRypGPDckJCIzXS0pUVM8Y2Anb0Y8JCEzWyRIVCM0WWFKJCpGPDckJCIzXjQhSDMlZlNBcEY8JCEzQHVBaCdwdTY4KkY8Rl1nbTcnNyQkIjNpLCZmVC0xTjYoRjwkITNRS0omPlsmKjQsKkY8NyQkIjNRKVxTZShSXCcpeUY8JCEzQCstUV55TEEkKkY8NyQkIjMjW049KnkkPi1vKEY8JCEzKVt2U111YDpOKkY8NyQkIjNBQF5GclwwZXhGPCQhM28wMDdkbkllIipGPEZiaG03JzckJCIzR1RXUipRKSplJ3pGPCQhM0drOiNwLiI+cSopRjw3JCQiMzhFQUZ4I28ycSlGPCQhM0tvPFQnSFVKTypGPDckJCIzaWE4Kj5QWERcKUY8JCEzLSplLyIqZUMqcCQqRjw3JCQiMz0xUidvPSR5IWYpRjwkITNRVl44PHI/Jz0qRjxGZ2ltNyc3JCQiM0FvSG9tSD9BKSlGPCQhM2ZQYiY+KSpSQSQqKUY8NyQkIjNnbS5sbS44NiYqRjwkITMrJnp4OE4kNCwlKkY8NyQkIjMlPiYpUSFRbE8uJCpGPCQhM1k9OEJXJipwJlEqRjw3JCQiM0g7V1IhKSl6MFUqRjwkITMoKW8lUlVwbk1AKkY8RlxbbjcnNyQkIjMhMyc0OF4qKio0bypGPCQhMyl6KT5cOSE9JykqKSlGPDckJCIzIlEhcClbKys+LiJGOCQhM2lXOCUpPWByTSUqRjw3JCQiM2AkM3c3byZRNjVGOCQhM3l5PSUqZm9SKVIqRjw3JCQiM2g8WylRNil5QzVGOCQhM3VmdF1ObyopUSMqRjxGYVxuNyc3JCQiM1dBOT5RVzJhNUY4JCEzNyM9Nil6UixxKSlGPDckJCIzM1dfWkdBZjc2RjgkITNbXUBfYCQ+TFkqRjw3JCQiMylwMmshUWtdIzQiRjgkITNWWiE9KjRBLDMlKkY8NyQkIjNEXm9TcyFSdDUiRjgkITNLJFwzVXQ8PEUqRjxGZl1uNyc3JCQiM2khZVMoRzAsUzZGOCQhMzl1ZFQoeUFrJSkpRjw3JCQiM1NfRmYvR0skPiJGOCQhM1dldiJmYTVwWypGPDckJCIzJ1I0MThFdVA8IkY4JCEzKSopKlFKQjcpW1QqRjw3JCQiM2NRJ29fWCd5Kj0iRjgkITNbcE1vTDBnIkcqRjxGW19uNyc3JCQiMy0sVDNITiJlQSJGOCQhMzpgKEh1QSVRRikpRjw3JCQiM2EpKmUiNFonPXU3RjgkITNXek4hZjVcZl0qRjw3JCQiM3dXVyIzT0pfRCJGOCQhM19uWlp4O10+JSpGPDckJCIzWSFId0ZbJj5zN0Y4JCEzcXRfKkdLcCYpSCpGPEZgYG43JzckJCIza0RVZyIzRzlKIkY4JCEzKVtUMFRfRkEiKSlGPDckJCIzV1NDMSZlUV9OIkY4JCEzczx6QTRlNUAmKkY8NyQkIjM8ZjpFYUIqb0wiRjgkITNceFF4KEcjUkElKkY8NyQkIjNpQCcqUTZWaGE4RjgkITNcUyRHIkhnJ0dKKkY8RmVhbjcnNyQkIjN1KnlUOFRJb1IiRjgkITM1NSlbLSZwQyspKUY8NyQkIjMkR2EiKj4jSF1POUY4JCEzXUFYMyRRJzNMJipGPDckJCIzInlXbiZ5SXY9OUY4JCEzKnAuaypIRSxDJSpGPDckJCIzaVMkKVFrUzJQOUY4JCEzSWEnUkxOSltLKkY8RmpibjcnNyQkIjNHSClbInAjPT9bIkY4JCEzc1dbaVUmKXoheilGPDckJCIzJClwNiYzdCIpel4iRjgkITMoeVszMnpNRGEqRjw3JCQiM0tnJiopKTQoKXorOkY4JCEzZS8qKillV0xaVSpGPDckJCIzWV47NDtAZj46RjgkITNAYFNqInpDW0wqRjxGX2RuNyc3JCQiM2clemI+Pi1xYyJGOCQhM0loMDYoW1FMeSlGPDckJCIzLXIzcnVXbSpmIkY4JCEzR3JGQVlbKipcJipGPDckJCIzIW80cCZ5JzRJZSJGOCQhMyg9Z0QqR24kW1UqRjw3JCQiMyo+IXBhKDN3QGciRjgkITN5NXouQTU9ViQqRjxGZGVuNyc3JCQiM1cmPnVrPSp6XjtGOCQhM0dsbF52eFV4KClGPDckJCIzcU8iZm85TTpvIkY4JCEzS25uInliMGZiKkY8NyQkIjNbOD4ib09sYG0iRjgkITMjel1mVigpR1hVKkY8NyQkIjNhPSVwOEpGW28iRjgkITNpYHJSdDk+XSQqRjxGaWZuNyc3JCQiM2QycU90J0drdCJGOCQhMylbYTlJQEBGeClGPDckJCIzNSIqSGpFOGRqPEY4JCEzcyh5PS43NzFjKkY8NyQkIjNRdSF5TThZeXUiRjgkITNhMHNoXnEmUlUqRjw3JCQiM18hb2doU1Z2dyJGOCQhM3NZQVg9LzVjJCpGPEZeaG43JzckJCIzamhqLEAsIjQjPUY4JCEzJyp6ITN6S14qbygpRjw3JCQiM2MuLmxYbHZYPUY4JCEza19fVTA/UWsmKkY8NyQkIjNoJ3lcTURNLyQ9RjgkITNAWHl6VVVBQiUqRjw3JCQiMyNmcihRPytLXT1GOCQhM1EhKkhAIj0zNk8qRjxGY2luNyc3JCQiM2JTdCo0IT1FMD5GOCQhMyM0YT4iZkIiZncpRjw3JCQiMzsiKmZMSzoyRz5GOCQhM28iejhVKDRVbiYqRjw3JCQiM3E/IlxIQTlKIj5GOCQhMyQqeTYpR1YsQ1UqRjw3JCQiMy14a0tRPjpMPkY4JCEzU19YYC9yUGwkKkY8RmhqbjcnNyQkIjNzei9LSi1dKik+RjgkITNzNiFcTFFZTXcpRjw3JCQiM189JnonbygqXDU/RjgkITMpM0slKSpccCkpcCYqRjw3JCQiMzE6OVJHRihlKj5GOCQhM1EmKmZNbm9gQCUqRjw3JCQiMzEpSGREdUxnLCNGOCQhM00pUltSLVEhcCQqRjxGXVxvNyc3JCQhM0c3UnI3Iyl6JSlSRiwkITNxIWYqXGM1NGIlKUY8NyQkIjNHN1JyNyMpeiUpUkYsJCEzXHVxOzVjZDYjKUY8NyQkIjMnMy1aK0dDUGMjRiwkITNVKVFwaD89Uk8pRjw3JCQiM0VHZEBrYyRcJj5GLCQhM3MjcExiSHlZOylGPEZiXW83JzckJCIzNmBKbFt2JzNNJUYsJCEzV3hwdCh6X0RYKUY8NyQkIjNFXjghPSIqekRCIkY8JCEzdyhvSCpvUTY5IylGPDckJCIzKy0nUSNRZl0qMyJGPCQhM19kaSVmMFxiTylGPDckJCIzdHpuLjFpKilINUY8JCEzb1tBcm1kI2Y7KUY8RmdebzcnNyQkIjNhQ3YpNCgzP2w3RjwkITNwcjMiKjQ7JltXKUY8NyQkIjNpM2VNaUM4bz9GPCQhM1wkemJuMDo9QSlGPDckJCIzbmVlZVVBPEE+RjwkITMjSHlFZkxxL1ApRjw3JCQiMyUpKTMoSC9KVG09RjwkITNJN3MzUXV0cCIpRjxGXGBvNyc3JCQiM2VbM09gNTcmNCNGPCQhMzVnOWs1OXVKJSlGPDckJCIzOV4iUm0lKnlbIUhGPCQhMzQwXy1jXyNcQilGPDckJCIzWylvVSRSSzthRkY8JCEzZy4jRywlcHZ5JClGPDckJCIzc0MnKW8rI2ZccSNGPCQhMy1HJzNvWTxqPClGPEZhYW83JzckJCIzKlJVcjQjcEtDSEY8JCEzJilmI2Z6TmlHVClGPDckJCIzSVVfcFgoUkJ1JEY8JCEzTTB1cTNWIVFEKUY8NyQkIjMhM2xWLC48XmUkRjwkITNXMytqKilIXCFSKUY8NyQkIjM7KG9JeV5fYGEkRjwkITNnYCFcTXkqKWY9KUY8RmZibzcnNyQkIjMjKnB6emstZWBQRjwkITN1X2E4KnlQeVEpRjw3JCQiM29pYGBvSXZ6WEY8JCEzVzc3YHgpRyl5IylGPDckJCIzPSR6KFxCdl05V0Y8JCEzakYvbipmLGRTKUY8NyQkIjNtTG5mJkhic1ElRjwkITNXemd0KVJlIio+KUY8RltkbzcnNyQkIjNfeDUkRyZbKFJlJUY8JCEzVSRRNDolZVdjJClGPDckJCIzT0Aqb3I5RGdUJkY8JCEzeSJHZF4jM0E1JClGPDckJCIzNzZBPSwiZjtDJkY8JCEzN0lCY0BeQkMlKUY8NyQkIjNyJj0lNFpHNUlfRjwkITNXcHkoemFBaUApRjxGYGVvNyc3JCQiMyZHKilmS2g8cFQmRjwkITN2OlQ7YVcoKT0kKUY8NyQkIjNNc25TYCFcKFxpRjwkITNXXERdN0F6WiQpRjw3JCQiM2l0XWJQNSNlMSdGPCQhM3E4Yj1rX2pYJSlGPDckJCIzLyNvUnJaXUkyJ0Y8JCEzI1F6W1RTRnVCKUY8RmVmbzcnNyQkIjMjSGdVR2JoUkQnRjwkITM/WWJqeUosdyMpRjw3JCQiM29IMlwheXIkenFGPCQhMykqPTYuKVtgMVIpRjw3JCQiM3kqZSVSJj1OailvRjwkITNNbSZHOVQ0IXAlKUY8NyQkIjMoSFtWRkUmKlwicEY8JCEza01sXmFvbGkjKUY8RmpnbzcnNyQkIjNlLzVRcz5XJzQoRjwkITMwdWM3UzhrSCMpRjw3JCQiM1MmKio9dy1lTiF6RjwkITM4Iio0YUVgLVAlKUY8NyQkIjM+JVsydUYqKUdxKEY8JCEzQy1CSSQpWywkXClGPDckJCIzLTk4LHVfdGF4RjwkITNjL0dccGVCIkgpRjxGX2lvNyc3JCQiMz9nV19gISkqXCV6RjwkITNrLkAmeTA5Qj0pRjw3JCQiM0AyQTk4J287cylGPCQhM2FoWCIpM0VOJVspRjw3JCQiM3YpeUBib2ZkXilGPCQhMyF5JUdEa0ovOyYpRjw3JCQiM20tQ0VCJHA3ZilGPCQhMzA2JVtWX3Y9SylGPEZkam83JzckJCIzJ1x4RkZzSiMqeilGPCQhM2RJIyllLngmbzgpRjw3JCQiMyQpZmJnNTs1TSYqRjwkITNpTSV5SScqMylIJilGPDckJCIzSylvQ2BxeWVLKkY8JCEzTGI3eGI3Zk8mKUY8NyQkIjMqKVJzPj9sNkMlKkY8JCEzbzQ9IVF5dEdOKUY8RmlbcDcnNyQkIjNVJHotVl5peGwqRjwkITMlSEY1RlRvYzQpRjw3JCQiM3g/KHAmW1BBTTVGOCQhM0UjUmNSRCkqNGQpRjw3JCQiM18qMzx4IUdZODVGOCQhMzUubiZmcFhPYilGPDckJCIzaFUjW1AwWWAtIkY4JCEzRSo0M0omcF8jUSlGPEZeXXA3JzckJCIzaSRlWXMjeic9MCJGOCQhMyFlPT54Nyc+ZyEpRjw3JCQiMyFIMz8lUigpejk2RjgkITNRenUlKlEwWjEnKUY8NyQkIjMhKXBSeClRWFY0IkY4JCEzUyIzdVo8aW9jKUY8NyQkIjNFeFkwXEErMzZGOCQhM0FMLk1XXmA0JSlGPEZjXnA3JzckJCIzJ1JRcSdSMSxRNkY4JCEzX3JEUFtJJjMuKUY8NyQkIjMxXEhtJHBBYD4iRjgkITNtJDQlSD1PImVqKUY8NyQkIjNPdFAnR0VfYDwiRjgkITM3OFtLISllWncmKUY8NyQkIjNPNj02eGlaIT4iRjgkITNBKlJWYHUmPkwlKUY8RmhfcDcnNyQkIjNmO0JnNSFmU0EiRjgkITNLS19FMyZwcyspRjw3JCQiMydIbyhSKik0JWZGIkY4JCEzKUdWLCVlclJmJylGPDckJCIzP0tAJ2VoY2xEIkY4JCEzXSFmOFMmKWZJZSlGPDckJCIzRVBiNjIpZkdGIkY4JCEzbXZeLTJcTmAlKUY8Rl1hcDcnNyQkIjMxU1M9UzojKjQ4RjgkITNvUihvPnJmJykpekY8NyQkIjMtRUVbRV51YzhGOCQhM11EenBhcCt5JylGPDckJCIzMyV6U0BvISp6TCJGOCQhM3ErSl4iUSlHKGUpRjw3JCQiM3NCITRLT0NfTiJGOCQhM29NbXc6JUgtWilGPEZiYnA3JzckJCIzR0xTT1dPYiZSIkY4JCEzKT5xbnhyPVQoekY8NyQkIjNKKkhwKilvenhWIkY4JCEzP2oqKSopW3phI3ApRjw3JCQiM3MleVpuNmQnPjlGOCQhM28oSDVNLCd5KmUpRjw3JCQiM09tZ19aeWhQOUY4JCEzaUtyKj0hNEElWylGPEZnY3A3JzckJCIzeW51IUckUSU0WyJGOCQhM10vVC5cbnppekY8NyQkIjNNSkQ+bmgwPjpGOCQhM29nRGo8KnBRcSlGPDckJCIzcy04OSE+VDpdIkY4JCEzZ25sNClHajVmKUY8NyQkIjMhUkVjJD4hbytfIkY4JCEzcTNSOF9DeSZcKUY8RlxlcDcnNyQkIjMjKlIvJzNjK2hjIkY4JCEzRWx2J1sqSChSJnpGPDckJCIzckRpIWU1bTBnIkY4JCEzJCoqNCp6ck9wNygpRjw3JCQiM1UrXSh6Mz9PZSJGOCQhM19COiR5djI6ZilGPDckJCIzaSlHKSpbNSllLTtGOCQhMzBmcVkmKlFNMCYpRjxGYWZwNyc3JCQiMyMpKT0zVl5VNWwiRjgkITNVLktwbSZwcSV6Rjw3JCQiM0tWXi0+M0gjbyJGOCQhM3hoTSgqKjQoZj4oKUY8NyQkIjNDPztWbyhvZW0iRjgkITNlWVBqai5TImYpRjw3JCQiM2VFT3djPj0mbyJGOCQhM05nOCU9Z3pLXilGPEZmZ3A3JzckJCIzbyNwViEpUiN6TjxGOCQhM19lLF5Td2pUekY8NyQkIjMrMWomPmcyVXciRjgkITNtMWw6RSFIXXMpRjw3JCQiMzc8X19QSkVbPEY4JCEzV2wkeTIjKVE0ZilGPDckJCIzKWVQbUAjeiV5dyJGOCQhM0ZMbyo0IjMhKj4mKUY8RltpcDcnNyQkIjM4QkZbc0xQPz1GOCQhM1U3WmNIWExQekY8NyQkIjMxVVI9JUgkSFk9RjgkITN4Xz41UEBMSCgpRjw3JCQiM3onUURrXCJ5ST1GOCQhM0VSREVGJmYtZilGPDckJCIzIXkiUWhPOWVdPUY4JCEzJj5cNElzZmFfKUY8RmBqcDcnNyQkIjNwJFxdP0EyWyE+RjgkITNVOS4zXTEhUiR6Rjw3JCQiMy1RR0c2aF9HPkY4JCEzeF1qZTtnd0soKUY8NyQkIjN4QWAvL11TOD5GOCQhMylITEZGP2IlKmUpRjw3JCQiM2N0ej9RbVBMPkY4JCEzO3Nra3p6OkkmKUY8RmVbcTcnNyQkIjNLeCw3ZU42Kik+RjgkITNLImUxaHlSNiR6Rjw3JCQiMyI0Iyl6PVcnKTMsI0Y4JCEzJ1EzZzApb19OKClGPDckJCIzIXl4J2VOdzYnKj5GOCQhM1VtOHBxISllKWUpRjw3JCQiM2s6IltISkZpLCNGOCQhM1hkQUhoZTpNJilGPEZqXHE3JzckJCEzdj8iZihHQUs8UUYsJCEzUzUjM3YleStud0Y8NyQkIjN2PyJmKEdBSzxRRiwkITNQKHkiXF9AKkhMKEY8NyQkIjNhTTlFTkcqPWUjRiwkITNvKlwoXEY8dSt2Rjw3JCQiM0d3LnMoZmBvdSJGLCQhM11WJmZnaHYpNHRGPEZfXnE3JzckJCIzd2FoJTQvPGpdJUYsJCEzPyIqKSllN1Z4a3dGPDckJCIzNV4/ZGlcLjs3RjwkITNmMTZUKG9EX0woRjw3JCQiM2tpU0F1UV4iNCJGPCQhMyZcTDxdWV1BXShGPDckJCIzXTsnSHpyRSI0NUY8JCEzPXd6Ul0nKiozSihGPEZkX3E3JzckJCIzI3p2ZydldTUiRyJGPCQhMyUqPkNddkAoemwoRjw3JCQiM0F2RG51ZUFfP0Y8JCEzJnlkKFxDeS1VdEY8NyQkIjMjeTZdVClvd0M+RjwkITMtXXIuJmVAb10oRjw3JCQiM0kyKilSJ3oheVg9RjwkITM3Jz5NNSk+Lzl0RjxGaWBxNyc3JCQiMydbY3pFJUcnKTRARjwkITMjPTsmKlJWLGprKEY8NyQkIjMlW1Y/dDpQLCpHRjwkITMnZiRbK20mKXBgdEY8NyQkIjNVYSQ+Nzx5eHYjRjwkITM+JyopZlhCJGU5dkY8NyQkIjNTczxBYXVpJW8jRjwkITNKeicqKmVsOSY+dEY8Rl5icTcnNyQkIjMiPih6U2w2QlBIRjwkITM1UGNaWUxHSHdGPDckJCIzUiVwZTddTiVIUEY8JCEzb2dWX2BtcnF0Rjw3JCQiMyF5KCk9ejFSLWYkRjwkITM1JnlzbV9CZF8oRjw3JCQiM3JlNW8lUihmRE5GPCQhM3cvLHJVQ25GdEY8RmNjcTcnNyQkIjNLTFhOPDp6alBGPCQhMztCSF52VUoxd0Y8NyQkIjNHKnp5ZiI9YXBYRjwkITNpdXFbQ2RvJFIoRjw3JCQiMz1fIkd6S3E7VSVGPCQhMzx0WV1WKlIvYShGPDckJCIzZyFwciw+OCZvVkY8JCEzODEnWylvQitSdEY8RmhkcTcnNyQkIjNxKXA1QCMqcC9mJUY8JCEzSVVVZyopb3l3dkY8NyQkIjNqKkgqKXkySSY0YUY8JCEzXGJkUjVKQEJ1Rjw3JCQiM1UkUWRaMiZSXl9GPCQhM1s4YlNHYCUpZXZGPDckJCIzdGhfJipIOys4X0Y8JCEzb2ozWSpHITNhdEY8Rl1mcTcnNyQkIjNzUTAkZixBJz1hRjwkITNkLidlZTo+LmEoRjw3JCQiM1tFaHRdWS9baUY8JCEzPyVSVFQlM29mdUY8NyQkIjMrN3BrciJcJnlnRjwkITMzVCUzLFE8M2UoRjw3JCQiMz81d3IkZipRZWdGPCQhMzlXcVNAPFl0dEY8RmJncTcnNyQkIjN1RWZkWSssXWlGPCQhM1VvJFw3YjFyXChGPDckJCIzJWVTZG5HQkwzKEY8JCEzT0gxdltNKkddKEY8NyQkIjNPeEh1OkI9LXBGPCQhMypvLDdQcS9lZyhGPDckJCIzLyNIPSwvSE8hcEY8JCEzbVptbSRSd3VSKEY8RmdocTcnNyQkIjM7UUVxJSkzYiczKEY8JCEzQUh5ZWcpPSRbdUY8NyQkIjMlPU8oSDoiXE0iekY8JCEzY29AVFI2b152Rjw3JCQiM2lnVyQ+Nis6cyhGPCQhMzt4RlVHW21Ld0Y8NyQkIjNjWTBrIm9TdHUoRjwkITNDJzR1MkZTZlUoRjxGXGpxNyc3JCQiM0pRVnIwYHhIekY8JCEzTVNCejEhM2pSKEY8NyQkIjM1SEImNE8iKm90KUY8JCEzVmR3PyQqPnAud0Y8NyQkIjMheiIzdTVFQU8mKUY8JCEzYW8qbypcOm9md0Y8NyQkIjNzWllNMidvISllKUY8JCEzJzNaZmhgLXpYKEY8RmFbcjcnNyQkIjMtcGgjM3BzLHkpRjwkITMpXFknRzopR1ZNKEY8NyQkIjMhZTsyRGtnSmIqRjwkITMhR2A4Wj1yY2woRjw3JCQiM0FBXWVYZylvTSpGPCQhM1koM3UkeXEpW28oRjw3JCQiM2opeVR6akBaVSpGPCQhM0VRUVghNFM7XChGPEZmXHI3JzckJCIzWi8iKT5FTiVvaipGPCQhMz9Ma1skW0NkSChGPDckJCIzYio9IVFaY0pPNUY4JCEzZGtOXjtiRi94Rjw3JCQiM1IqR3VHaSRbOjVGOCQhM1pxIUc7dTVtcShGPDckJCIzem4qKnApUihwRDVGOCQhM3JBcnMvRC5EdkY8RltecjcnNyQkIjNvbHgkKUh3eFw1RjgkITNZRXc6UUYqSEQoRjw3JCQiMyUzISpHby4qKW82IkY4JCEzS3JCJT1FMnF1KEY8NyQkIjNnSiRbJTRRPSc0IkY4JCEzVERSdVEjUlJzKEY8NyQkIjNHXS9hc1RgMzZGOCQhM18oM203c2doYihGPEZgX3I3JzckJCIzZSY0PHErZWc4IkY4JCEzO3pWXj1dSDxzRjw3JCQiM1dQaUpFYEYoPiJGOCQhM2k9Y1siKVxxI3koRjw3JCQiMytQSE9qUCZwPCJGOCQhMyF5MVFGeTZvdChGPDckJCIzKXpAUEMsKjMiPiJGOCQhMzc4LVwlW29QZShGPEZlYHI3JzckJCIzWyczI1F0Ij1CQSJGOCQhM2V1JVswWHomKT0oRjw3JCQiMzM4emhFPW94N0Y4JCEzP0I6WFwwVTZ5Rjw3JCQiM1EhXFcudDR6RCJGOCQhMzVVTlhpZ3hYeEY8NyQkIjNnbXEieXYhW3Q3RjgkITNqdlJPSHBPMndGPEZqYXI3JzckJCIzIXlJZ3JZOyUzOEY4JCEzSzdWd3paL21yRjw3JCQiM0dlal0qPl0jZThGOCQhM1omb04tQWJSJHlGPDckJCIzXyg+YyUqKj42UjhGOCQhM3cjKUhXTDBrXnhGPDckJCIzJz4pellnKDRlTiJGOCQhM2JjeWQtaTBGd0Y8Rl9jcjcnNyQkIjMpKlJ1W09uRiVSIkY4JCEzQVZybyVbLSdbckY8NyQkIjNnIyplJW9mYyFSOUY4JCEzZWFHSjp2Ul55Rjw3JCQiM0EnKTQhW2B3MFUiRjgkITMheTM8S3Y3X3YoRjw3JCQiMzFIbWM1azlROUY4JCEzU2Q0Sy1KRVZ3RjxGZGRyNyc3JCQiMy0lcHl0eHIpejlGOCQhM21NKSkpXCdmPE5yRjw3JCQiMzQwOGlBI0csXyJGOCQhMzdqNixOUyNbJ3lGPDckJCIzRSdbJW9YPUgtOkY4JCEzXUAhXC86cnJ2KEY8NyQkIjNaV11WWklgPzpGOCQhM3MjXFV0LklsbChGPEZpZXI3JzckJCIzMVchUndxL19jIkY4JCEzLzVhcmkiUVs3KEY8NyQkIjNjQHctZj5ZLDtGOCQhM3UoZSVHUD07dnlGPDckJCIzL0k/IXopSEIlZSJGOCQhMyEzJzNyZ04uZXhGPDckJCIzbGZpd3o1KkhnIkY4JCEzMzwlUkFWIVJud0Y8Rl5ncjcnNyQkIjM7b2BmUFhIXTtGOCQhM1M8YGYsbiVvNihGPDckJCIzK2t6dCZ6UUlvIkY4JCEzTyFvLyUpSGBKKXlGPDckJCIzL2NIVkIxUG07RjgkITMjenosaFB0ImV4Rjw3JCQiMzchPmAkKUdHYm8iRjgkITNHM2B1SUZKd3dGPEZjaHI3JzckJCIzRkwuTmhvO048RjgkITM5aWlXNSxqNXJGPDckJCIzU2wnXCdRSiRbdyJGOCQhM2lOUGIqKSlwJCopeUY8NyQkIjM7KWVtUiZmbls8RjgkITNfaW5FRzEmeXYoRjw3JCQiMylcRlclW1c5bzxGOCQhMz9LJT1dJFxvJG8oRjxGaGlyNyc3JCQiMydbUGFHYlspPj1GOCQhM0JZIzMnZnV2MHJGPDckJCIzSyFIN1E2PW8lPUY4JCEzYV48UlNEQyUqeUY8NyQkIjNUekcycEg3Sj1GOCQhM21nSyhSWVVzdihGPDckJCIzNW5DNCc0TjMmPUY4JCEzKT5aeTpjPSkqbyhGPEZdW3M3JzckJCIzaykqcEl1XU8vPkY4JCEzOTVfIUchbyE+NShGPDckJCIzMUxqLWYjbypHPkY4JCEzaSh5JT4oPiQ0KSp5Rjw3JCQiMzFGN04kPSpvOD5GOCQhM2VHPDxueFljeEY8NyQkIjNdbTRAVlFmTD5GOCQhM18jUnRgISlmXHAoRjxGYlxzNyc3JCQiMzchKnoyPCRSKCkpPkY4JCEzUURNITQ8USkpNChGPDckJCIzTDM/I0hvZzcsI0Y4JCEzUnNsNEg9Oyx6Rjw3JCQiMz0kUWQlPWNOJyo+RjgkITMnSFkpKSlvYGdieEY8NyQkIjM5N0EiKjRQVDs/RjgkITMrPSV5VSY+SSpwKEY8RmddczcnNyQkITMqKlIoUlEpPktVT0YsJCEzcSY0Iip6KXkscG9GPDckJCIzKipSKFJRKT5LVU9GLCQhM29NQU1YYUpra0Y8NyQkIjMnNCVwd2AkRzVkI0YsJCEzbzReLFdUKkhrJ0Y8NyQkIjNdIXpXckNzI2Y6RiwkITMpRzdCWy95M1knRjxGXF9zNyc3JCQiMydbJlJxZ0xIIW8lRiwkITNpOiUpXClcd3Enb0Y8NyQkIjMzcmlmSXRqKT4iRjwkITN3OVwkWyRvRG1rRjw3JCQiMzdjdG88JmUwNCJGPCQhMykzKXkicCRHT1dtRjw3JCQiMzI0W3I8Z2AuKipGLCQhMyE+VCdHUTNyaGtGPEZhYHM3JzckJCIzJWU0Wic+STwpSCJGPCQhM0kkKWUiW1VcNidvRjw3JCQiM0hQaW84LjtOP0Y8JCEzMVp1XjNSPXNrRjw3JCQiMyMpenVcdCY9VSM+RjwkITMnUSkqXFsjM19bbUY8NyQkIjN4cUdVJT54cCM9RjwkITMheT5TOCt1VVknRjxGZmFzNyc3JCQiMyYpeVp1LSgqR0VARjwkITMlKnBtKltnRTQmb0Y8NyQkIjNVQF9EKEg1UChHRjwkITNXZ21WR25TI1snRjw3JCQiMz8mSHRpKFImenYjRjwkITNlTFJYJz5AY2wnRjw3JCQiM0UjSGVyK0NlbSNGPCQhMzlCaiN5L20ob2tGPEZbY3M3JzckJCIzPUUjMzlfeUQmSEY8JCEzVG9BX0Y1KmUkb0Y8NyQkIjM2UyVlXzkpMzlQRjwkITMnPjE2ZUlVdVwnRjw3JCQiM18nPS1jY0E6ZiRGPCQhM1syQ14xdCFmbSdGPDckJCIzIlxRdV5RNXBdJEY8JCEzV2ApXDAhKkhiWidGPEZgZHM3JzckJCIzNz9UZyZRRHV4JEY8JCEzKkglcF42X0w6b0Y8NyQkIjNbNyNIeCV6IWZiJUY8JCEzUShROz03KSp6XidGPDckJCIzJCoqKjM5bCdHWFUlRjwkITNbRlNQNVFvem1GPDckJCIzLWhkciNSJT5dVkY8JCEzNWFGJSlwSjEmWydGPEZlZXM3JzckJCIzMzMnRyh5LF8sWUY8JCEzR0JIJCkqUUMlKXknRjw3JCQiM0MhUnI3Iyl6JSlSJkY8JCEzNDIvXVYqM1xhJ0Y8NyQkIjMlM3EvIUdDUGNfRjwkITMrQEZdUjpEKHAnRjw3JCQiM3lyOlVtTlwmPiZGPCQhM0tEcScpRzssKVwnRjxGamZzNyc3JCQiMyZlWy1jaikqZlUmRjwkITNDWGY/dm5OYW5GPDckJCIzTHpUMUohbzFDJ0Y8JCEzOSZRRiJlbCgqeWxGPDckJCIzbTksO2clNGkzJ0Y8JCEzVTd6UWo2eT1uRjw3JCQiM2p1LyplU2tCLydGPCQhM10pW0FYIlE2OmxGPEZfaHM3JzckJCIzSSIqZilRV1tERCdGPCQhMzcmPUpEISl6RXInRjw3JCQiM0lUdFcqKVt5ITMoRjwkITNEWEAhM2BgMWknRjw3JCQiMzkyVydHc3BIInBGPCQhM05WMHlldDVXbkY8NyQkIjM7WkAkXDpqKiopb0Y8JCEzJmU/IVJaI1txYCdGPEZkaXM3JzckJCIzV2cjNCp6TE0kMyhGPCQhM3NNZyJ6QHRQbSdGPDckJCIzY1IyND9tbDt6RjwkITNtJkg8YTZnJnBtRjw3JCQiMzE2ajJcY15OeEY8JCEzPSRveS5QckN4J0Y8NyQkIjN1RDtYdEIncHQoRjwkITMnUkpMLjFWVGMnRjxGaWpzNyc3JCQiM0txIzQmPiNHMSN6RjwkITN6eSlvPl5ZJDRtRjw3JCQiMzUoUmRyV1FndSlGPCQhM2VeV09AbylScydGPDckJCIzPWQ3MV89K2AmKUY8JCEzJCopKj13V0ZNLW9GPDckJCIzUV0sVEg+bSJlKUY8JCEzQ24pXHk9ISpmZidGPEZeXHQ3JzckJCIzKSlHJzM5JW8jZncpRjwkITM7XmkzTHJjX2xGPDckJCIzJWZxQz5cMXVjKkY8JCEzQXpxQytpdyF5J0Y8NyQkIjNnLilRUzxjYE8qRjwkITNQI0hUIzRZYUpvRjw3JCQiM2k1IUgzJWZTQSUqRjwkITM1dEFoJ3B1NmonRjxGY110Nyc3JCQiMy8kKlsyKT1YIz4nKkY8RmNkczckJCIzIjNeIz4iW3YhUTVGOEZeZHM3JCQiMz0wVD0weE48NUY4JCEzI3BaJHlLTSF5Jm9GPDckJCIzXSYpb0FCKj1lLSJGOCQhMyFIIzQjby1FdW0nRjxGZl50Nyc3JCQiM1ksc10iKikqKXkvIkY4JCEzb2IsUTBsZ1prRjw3JCQiMzBsJWZeeHcoPTZGOCQhM3F1SiZ6I29zJilvRjw3JCQiMzk0eWg1RyZ6NCJGOCQhMyd6KUc/Kyd6JXpvRjw3JCQiM3lNQG89ZSEqMzZGOCQhMyl5QXM1UmlBcSdGPEZpX3Q3JzckJCIzekg6NyhlPVU4IkY4JCEzIipIKD4jZiR6X1MnRjw3JCQiM0MuPUBZWjYqPiJGOCQhM1orTzZ1UjBHcEY8NyQkIjNhdzAkSGpIJnk2RjgkITNNOCZRKFssKmYqb0Y8NyQkIjNPQkhJKSoqKWYiPiJGOCQhM2VHRyxeKFxQdCdGPEZeYXQ3JzckJCIzIUdpaTBNUjFBIkY4JCEza1YoNHc4QDVQJ0Y8NyQkIjN3d3RWZjFPejdGOCQhM3UnZUJkPjdCJ3BGPDckJCIzI3lqUUYpZkRmN0Y4JCEzIXB0eFxkJnAycEY8NyQkIjMlUVsiPmYjUVNGIkY4JCEzK18zenhBKjN3J0Y8RmNidDcnNyQkIjM4WmZTRCVbcEkiRjgkITMhPUdsJ2VXPVdqRjw3JCQiMyUqPTJFVCM9KGY4RjgkITNjWyFvWSgpWyIqKXBGPDckJCIzV3ApKnkmPUotTSJGOCQhM1xsd0dfQVo6cEY8NyQkIjN5USoqPSdIYmpOIkY4JCEzKWZ0XUVyWk55J0Y8RmhjdDcnNyQkIjNvMWBbdWstJFIiRjgkITN3TFcuV2JiQmpGPDckJCIzKmUtWyllb0lTOUY4JCEzaCcqKSlIKnl4KDRxRjw3JCQiM1Y9REh4RFxAOUY4JCEzYFM/XCZ6MS4jcEY8NyQkIjMqKUhUVUwiWydROUY4JCEzYVVfZU1lNS1vRjxGXWV0Nyc3JCQiM0EmeTV0d0EpeTlGOCQhMyQpKT54UUFJeUknRjw3JCQiMyFSQCpvS3M8QDpGOCQhM2JKaFg0Sl1EcUY8NyQkIjNFP1QoM0pPSV0iRjgkITNVMyZcTlhsSSNwRjw3JCQiM2skZjhJOHk0XyJGOCQhM2dOTTUhSHpyIm9GPEZiZnQ3JzckJCIzOWooem4mM0xrOkY4JCEzMyNmJ2VdVyZlSCdGPDckJCIzXS1wKSk0ZUwtO0Y4JCEzR1FudSMpKXl1LihGPDckJCIzLSd6cDI+UFtlIkY4JCEzPyk9XlhuPVcjcEY8NyQkIjNoKnp0OiF5UC47RjgkITMhKVJMeSJIMSVIb0Y8RmdndDcnNyQkIjMhR2pXJVEibyZcO0Y4JCEzI1txVkdQKnAnRydGPDckJCIzTypwKSlbPmxQbyJGOCQhM2FEJypbZ1JqWXFGPDckJCIzRUEkUkU4aW9tIkY4JCEzZmBkXjsnXFsjcEY8NyQkIjNdcS9MKFxnZW8iRjgkITM9KGUwYShwTlJvRjxGXGl0Nyc3JCQiM0cxOzJqQmNNPEY4JCEzNzVvTCZvYCd6aUY8NyQkIjNTI1JHcGpQYXciRjgkITNFP2wqemt6TzAoRjw3JCQiM1Feel4+dzJcPEY4JCEzKytYZy5BcENwRjw3JCQiMzlXV2VvI0clbzxGOCQhM2VMRCcqPVNdWm9GPEZhanQ3JzckJCIzSGduUU9STT49RjgkITM/KlFWTU8nPXVpRjw3JCQiMyFcISp6LXRBdCU9RjgkITM9VCoqKSlwcDlmcUY8NyQkIjM2WCdIaDhgOSQ9RjgkITMnSD09ZF1yVCNwRjw3JCQiMycpMzNIXnIyXj1GOCQhM2FBYCk0X0NVJm9GPEZmW3U3JzckJCIzLEslPS4uVVIhPkY4JCEzQT1qM09hISpwaUY8NyQkIjNwKipbLC44Ukg+RjgkITM5N3FDKCp5VWpxRjw3JCQiM1RZWTNWQidSIj5GOCQhMyw+emxOb1ZCcEY8NyQkIjNsak9oLy8hUSQ+RjgkITMhKVxuIlJsOClmb0Y8RltddTcnNyQkIjNPTXRhM0hRKSk+RjgkITNRQCQ+YlNBbEUnRjw3JCQiMylRbV85NDw7LCNGOCQhMys0UyJ5IzQibzEoRjw3JCQiMyFHJGZ3T0plJyo+RjgkITNvJGZ6KDNoZUFwRjw3JCQiMyoqKkhCKVwuZjs/RjgkITMnKXBpXl4xXWtvRjxGYF51Nyc3JCQhMydwPExbRyQpelokRiwkITMtP2JbPk95aWdGPDckJCIzJ3A8TFtHJCl6WiRGLCQhMyVIOSI9WkkpUWcmRjw3JCQiMy9mPyI0MSlmWERGLCQhM3l1J2V3Xig9IXomRjw3JCQiMyVcNl4salkkKVIiRiwkITMvO3FUYCQpRztjRjxGZV91Nyc3JCQiMyQqbzw4U05EV1tGLCQhM0l5R3MzRjRoZ0Y8NyQkIjN1KltgRUpUQT0iRjwkITNtJXlWeiZSZDBjRjw3JCQiMyU0cWoncCYqNCkzIkY8JCEzeU5ESGJPVSJ6JkY8NyQkIjNxdyMqbz4pKT5VKCpGLCQhM1tkQ2psJ3BwaCZGPEZqYHU3JzckJCIzc3AnUiRmeFY5OEY8JCEzQ2s4XE1DI2YwJ0Y8NyQkIjNWak8qUmQmKik9P0Y8JCEzcylIdkBCVzJoJkY8NyQkIjNga3BWZUstQT5GPCQhM2FbNzZuYD0meiZGPDckJCIzOlt6JnlxRzIiPUY8JCEzN114Vzg0Mj5jRjxGX2J1Nyc3JCQiMzNDKSkpeWp0QTkjRjwkITMjKlIzRW1hKHAvJ0Y8NyQkIjMjZjw2QE9FeCZHRjwkITMvQmVTKzdwPmNGPDckJCIzVT1zdU9vQmNGRjwkITNzdDA6W0RqLGVGPDckJCIzP2tNR3FkVFxFRjwkITNLJylcNG4kcEZpJkY8RmRjdTcnNyQkIjM/JlJxZ0xIIW9IRjwkITMiPjNsXjtWUC4nRjw3JCQiMzNyaWZJdGopcCRGPCQhMzAiZSw6XUJIaiZGPDckJCIzN2N0bzwmZTBmJEY8JCEzPFpYZS4mSDUiZUY8NyQkIjMhNFtyPGdgLlwkRjwkITM/eUkmXF14JEdjRjxGaWR1Nyc3JCQiM09CZHhnKyQ+eiRGPCQhM1QlKXA+aHBcOmdGPDckJCIzQjR3YnNLU1RYRjwkITNjeSdwYXFwNmwmRjw3JCQiM1RsKDMkcCV5WVUlRjwkITMxVixqQEl0QmVGPDckJCIzJipRcFBibWZMVkY8JCEzOnNZbz1aT09jRjxGXmZ1Nyc3JCQiMzIiNCUqPnpTV2glRjwkITNfX2QkKTNiSSIqZkY8NyQkIjMheSFmKzMjZmJRJkY8JCEzVzU0JHk6aGBuJkY8NyQkIjM5XU1bPC01ZV9GPCQhM2kjW3EkPVw6U2VGPDckJCIzaVJBdEhUNnpeRjwkITNxR3ZPOWBQWmNGPEZjZ3U3JzckJCIzQG5ZMyMpZlVPYUY8JCEzY3gpWzs9QiwnZkY8NyQkIjMpeio+ZSVvUy1CJ0Y8JCEzVCZ5PF1bVmxxJkY8NyQkIjMpZSJlNEFBMiE0J0Y8JCEzLXI6aVA+bmdlRjw3JCQiM0lVIVF6SHhtLSdGPCQhM0tRcyo+RT1BbSZGPEZoaHU3JzckJCIzYz5lJCpvPkxmaUY8JCEzYTZFKD1XQjUjZkY8NyQkIjMvOHZSazgrdXFGPCQhM1deU3pDS2tYZEY8NyQkIjNPW01cJHpVJj5wRjwkITNzeVgwSXlXJillRjw3JCQiM00zUUFSeHB2b0Y8JCEzIVs6Kj0iWyF5Im8mRjxGXWp1Nyc3JCQiMzcxc2YjbylHJjMoRjwkITM7Tz4+KltfTyhlRjw3JCQiMylRei11SjZaInpGPCQhMyFvc3V1PDlJeiZGPDckJCIzU3pOSlFlQFh4RjwkITNvdDxXODI6OWZGPDckJCIzaXhVUWdpMER4RjwkITN1dy51YV16MWRGPEZiW3Y3JzckJCIzJ1IqKWZLaDxwInpGPCQhM2s5VDthVygpPWVGPDckJCIzV3RuU2AhXChcKClGPCQhM0tbRF03QXpaZUY8NyQkIjN1dV1iUDUjZWMpRjwkITNlN2I9a19qWGZGPDckJCIzOyRvUnJaXUlkKUY8JCEzciN6W1RTRnV0JkY8RmdcdjcnNyQkIjN5eV4oeTBJbXYpRjwkITNtb1tqWCopSGZkRjw3JCQiMy1jImVhRi5uZCpGPCQhM0oleko1c250IWZGPDckJCIzRTlnbz1PayFRKkY8JCEzbz0lekgvPnkoZkY8NyQkIjNuWF9gNzNtPCUqRjwkITNRdU9lUTIhR3gmRjxGXF52Nyc3JCQiM1VCaExpWmEwJypGPCQhM19pI0c7KSozIipwJkY8NyQkIjNiKFFtUF9YJVI1RjgkITNXKyVRXW9kdidmRjw3JCQiM2FCLDotJjQhPjVGOCQhM3RER0VYMTAzZ0Y8NyQkIjMveGB0PjJzRDVGOCQhMyp6KTNWRUkjMyJlRjxGYV92Nyc3JCQiM206KTNicHRpLyJGOCQhMzJyMUhzeilHayZGPDckJCIzJzMmeTpySFI/NkY4JCEzIT4qZlAlcHlQLSdGPDckJCIzd1VpQVZYZSo0IkY4JCEzKlxPKmVHRCdSLidGPDckJCIzJ2ZQeTcibzU0NkY4JCEzKWV4bSVSVm1bZUY8RmZgdjcnNyQkIjM3d0hSd1ViSzZGOCQhM1NgIz4jPUcyJWYmRjw3JCQiMyJwTlNwMHoyPyJGOCQhM2M0dVdbUWZzZ0Y8NyQkIjNPIzQjeVhrLSE9IkY4JCEzJVEnZi0jKT5GYWdGPDckJCIzSyd6UDpaKik+PiJGOCQhMyc9XmQxLjVQKWVGPEZbYnY3JzckJCIzRmAlW1w7cyE+N0Y4JCEzQS8tTTZQN2FiRjw3JCQiM0dZOjBOeSM0RyJGOCQhM3Zla0tiSGE3aEY8NyQkIjM7ckIzXGFiZzdGOCQhMzd3PDlJNycqb2dGPDckJCIzW0Y/PUlmXnU3RjgkITNoVlMpWzBBViJmRjxGYGN2Nyc3JCQiM1JneUJgZWIwOEY4JCEzWWhEJFJubEZfJkY8NyQkIjNvMClHTSIzNmg4RjgkITNeLFR0Iyo0IVI5J0Y8NyQkIjNWKSllQj8nPThNIkY4JCEzI0dKYjsmXCcpeWdGPDckJCIzK0ZmPy5xJW9OIkY4JCEzY1x6PF52KCpSZkY8RmVkdjcnNyQkIjNDQXQhZmBLPVIiRjgkITNzRHgvMEN3KVwmRjw3JCQiM001Z1Uoeis6VyJGOCQhM0NQKj07RS96OydGPDckJCIzM0EnZiwuJFFBOUY4JCEzKSplZClvNzteMydGPDckJCIzQC1SZHc6NlI5RjgkITMpKVIhKjN0YSU0J2ZGPEZqZXY3JzckJCIzI2VWOnEoKT55WiJGOCQhM1VNZ1VteGchWyZGPDckJCIzSGpYKUg3IT1BOkY4JCEzYUcxQysqZWc9J0Y8NyQkIjM3TCskKTN4di46RjgkITN5VyFccGJ1KCkzJ0Y8NyQkIjM0KVJ2cilSUkA6RjgkITM3RWktVVIoeShmRjxGX2d2Nyc3JCQiM0djJTMheXFcajpGOCQhM0d2YSJwaDhwWSZGPDckJCIzTjQjZScpZXBKZyJGOCQhM28oPV4oXEl2Kj4nRjw3JCQiM0s5VEJYKD5hZSJGOCQhMzstMmonSHoxNCdGPDckJCIzOTJdMEoydS47RjgkITNbPmorPyEpXCIqZkY8RmRodjcnNyQkIjNlXCV6SmF4KVs7RjgkITNrLngtOilcbFgmRjw3JCQiM2UjKVE6IXpiV28iRjgkITNLZipROyZvNjVpRjw3JCQiMyF6dXFkR0x0bSJGOCQhM0lDcTE2d1YiNCdGPDckJCIzU0hnb2hDPCdvIkY4JCEzeFQ0aiQqPlwtZ0Y8RmlpdjcnNyQkIjMkPUFLIlwsKlJ0IkY4JCEzbTZxVSU+XydbYUY8NyQkIjMlb3huMyYpNGd3IkY4JCEzSl4nUkFaOSE9aUY8NyQkIjMtclJoYC5ZXDxGOCQhMyNHSCUzIUduOTQnRjw3JCQiMysoR2YwVCVwbzxGOCQhM0gwYXVEIT05LCdGPEZeW3c3JzckJCIzVCUqekVYJW8pPT1GOCQhM3VvZ01hL2VVYUY8NyQkIjN5cScpUkAjKXpaPUY4JCEzQiVmP0JAJzNDaUY8NyQkIjNuWy07PmZ3Sj1GOCQhM0MtOmVzdS8iNCdGPDckJCIzdTYnNEpjLjgmPUY4JCEzPzVbREtJcz1nRjxGY1x3Nyc3JCQiM1otMDomPlhOIT5GOCQhM3RoKls3d215ViZGPDckJCIzQ0hHPVEiKXlIPkY4JCEzQix4VDAqKnpHaUY8NyQkIjNBL24vNSg+VSI+RjgkITM3LT1LTjpPITQnRjw3JCQiM3dBNGxRSSpSJD5GOCQhM0AmKTR1eFR2Q2dGPEZoXXc3JzckJCIzW2ROZTgrMCkpPkY4JCEzL3J1aCNmcVRWJkY8NyQkIjNfU2tUJykqXD4sI0Y4JCEzJD4+XFMyJ1xLaUY8NyQkIjNTJnkjKj5VJ3onKj5GOCQhM088I1FLXUcmKjMnRjw3JCQiM0R5JkchZlh2Oz9GOCQhM041ZzpyJnkoSGdGPEZdX3c3JzckJCEzZ0tMTExMTExMRiwkITMrKSoqKioqKioqKioqXF9GPDckJCIzZ0tMTExMTExMRiwkITM3KSoqKioqKioqKioqXFpGPDckJCIzaG8jZi5tZFxeI0YsJCEzXSdRMSkzbGVUXEY8NyQkIjNhbyNmLm1kXEUiRiwkITMnKT4oUkAlKT5ceCVGPEZiYHc3JzckJCIzQ3k/cyEpXCkpKSlcRiwkITNTU3cnRzQ2JltfRjw3JCQiMyMpZVdmbyJ5eDsiRjwkITNHY0I4MiopW15aRjw3JCQiM0VeNTEhMygzJjMiRjwkITNrVi9zdiYzRiVcRjw3JCQiM0ctQkZPYEozJypGLCQhM18hKSkqM2VoW3ZaRjxGZ2F3Nyc3JCQiMyVIUUxbbCQpKUc4RjwkITNvWl5WKFJhUkMmRjw3JCQiMz9dKipceSdcVysjRjwkITMpKltbYy1jL2NaRjw3JCQiMyJmXl5LJVI8Pj5GPCQhMz9fXUgzbjdZXEY8NyQkIjNBVFJgV24+KHoiRjwkITNPNSV5Qj9Oc3glRjxGXGN3Nyc3JCQiM2tqLUQpPlxtOiNGPCQhMyQ+JUg/d08wT19GPDckJCIzbE8oXDwhM05WR0Y8JCEzdWFxekJqJVJ3JUY8NyQkIjNlZnpWaSopb2BGRjwkITMjb3JlVkUpKj4mXEY8NyQkIjNdKFtPVjdpY2ojRjwkITNdW1FbakdLIXklRjxGYWR3Nyc3JCQiM0tUXHUiKik0QSlIRjwkITMtXCNmYScpR1ZBJkY8NyQkIjMnXHNAXHhjV28kRjwkITM/WzJhTTZudlpGPDckJCIzQ2BtOSIzKVwpZSRGPCQhM11zRjNWIyplZ1xGPDckJCIzPUdxVFtPTHdNRjwkITNLdyYpR0F2LSZ5JUY8RmZldzcnNyQkIjMlUiYqM1Rjc2MhUUY8JCEzXHonbycqKUgyM19GPDckJCIzbXlWQXAybUZYRjwkITM9PDhMNXEjPnolRjw3JCQiMzd4ZSNcKVJPQldGPCQhM2FzelQkeXRBKFxGPDckJCIzRk86NCFcRiQ+VkY8JCEzI3A2UkB0dzx6JUY8RltndzcnNyQkIjNiTSt2Lj9LRllGPCQhM3khKVw3KSoqUWo9JkY8NyQkIjN5aipcaSp6bnNgRjwkITMqZSx2PStoTyJbRjw3JCQiM09MIypvUiUpKXlEJkY8JCEzeSVcJClSbDx2KVxGPDckJCIzVVVuaVMqPVo7JkY8JCEzTDcmZWVseTYhW0Y8RmBodzcnNyQkIjNtQnVLRFR4WmFGPCQhMyMpPUNddkAoejomRjw3JCQiM19UI1I4YSMqKT1pRjwkITNJeHZcQ3ktVVtGPDckJCIzI1F5OzNiTDk0J0Y8JCEzLV1yLiZlQG8rJkY8NyQkIjNLdGIxanVXN2dGPCQhM2MmPk01KT4vOVtGPEZlaXc3JzckJCIzJVxGJlJYbz1vaUY8JCEzKnBEbUpzZDw3JkY8NyQkIjNtZCFReltZXjEoRjwkITNvUlAkb0ZVI3lbRjw3JCQiM0NvOG4lNFJJI3BGPCQhM2dgZyRHKFtlSV1GPDckJCIzPVIjKTNMLTtpb0Y8JCEzWmUuP2lcTUpbRjxGamp3Nyc3JCQiM0UqcDVAIypwLzQoRjwkITNJVVVnKilveXddRjw3JCQiM3UrJCopeTJJJjR6RjwkITNRYWRSNUpAQlxGPDckJCIzYSVRZFoyJlJeeEY8JCEzUTdiU0dgJSllXUY8NyQkIjMlR0ViKkg7Kzh4RjwkITNjaTNZKkchM2FbRjxGX1x4Nyc3JCQiM003VzsnPTN0InpGPCQhM3JcZzwzRDZCXUY8NyQkIjMxYkFdIVtlJFwoKUY8JCEzJ3AlUiM9XCgpbyhcRjw3JCQiMyNbYTpYViMqXGQpRjwkITNJJioqRyMpeSw0NCZGPDckJCIzVT52VSE9T01jKUY8JCEzaU1YazkjKilHKVtGPEZkXXg3JzckJCIzd0MrLUN3b14oKUY8JCEzJyo0Yj85bWBpXEY8NyQkIjMvNUxKNGRrImUqRjwkITNGKFsleiZRanUuJkY8NyQkIjN1PSd6am0pZSNSKkY8JCEzdVg3YkNnKVw3JkY8NyQkIjNSaW9GZi5LNiUqRjwkITNVQ3pBLmxcPFxGPEZpXng3JzckJCIzY3lGRmVSeCZmKkY8JCEzRSQ+byYqW1YqKSpbRjw3JCQiM0RBRjwvRVVTNUY4JCEzKFIhPVY1bDAsXkY8NyQkIjMpcGRoLnAjUj81RjgkITNvTHhCb1VOZV5GPDckJCIzQ25KKWVeWGEtIkY4JCEzX0JUUFo3Q2NcRjxGXmB4Nyc3JCQiM2xHPkdjcSdcLyJGOCQhM1N3MFwoPXd1JFtGPDckJCIzKHl0JVE1JypwQDZGOCQhMyMzVTREIlFfaV5GPDckJCIzOEdXeUhNLSw2RjgkITMvLjknKkhZMSk9JkY8NyQkIjM8KiopNC9pXCI0NkY4JCEzLSFRL1pDTGkqXEY8RmNheDcnNyQkIjM7bzYkcEQ4NjgiRjgkITNxM3ZzaSJIRnklRjw3JCQiMylbOy1rMj9BPyJGOCQhM1UoW3NzJDNGPF9GPDckJCIzSS4kZnVBJFIiPSJGOCQhM0UpW0AkSEwyN19GPDckJCIzeUZIS3BuRCM+IkY4JCEzVicqUmshRzFWLiZGPEZoYng3JzckJCIzNkE9bTs+bTw3RjgkITNOL3QoRzJgc3QlRjw3JCQiM1d4IlFMM1FCRyJGOCQhM0sjcEFyI3B1aV9GPDckJCIzNUkpPiQ0bXdoN0Y4JCEzKTMnM2t5JD4pSF9GPDckJCIzcWtmbmJSIVxGIkY4JCEzYXMqXD4nKkcib11GPEZdZHg3JzckJCIzImUmW253b0YvOEY4JCEzQFFYWCY+azhxJUY8NyQkIjNFNT0qKip5KlFpOEY4JCEzV2VhYS9lailIJkY8NyQkIjNLc0kyITNVQk0iRjgkITM3bE9lXFEnPkMmRjw3JCQiM0lYLklxUUZkOEY4JCEzK3o3SG06byc0JkY8RmJleDcnNyQkIjM1JCkqb3NuRDJSIkY4JCEzaSkqPSRcPE9SbiVGPDckJCIzW1xWMWN3Z1U5RjgkITMxKTRvXSNRMUVgRjw3JCQiM3EpekdER0JLVSJGOCQhM29iLW8/bHNcX0Y8NyQkIjN4LkF5dGtfUjlGOCQhMyYzJT1wdDotP15GPEZnZng3JzckJCIzSVtSIz1cKClvWiJGOCQhM2FJI2Z0UDdMbCVGPDckJCIzIzMwdyIzRDZCOkY4JCEzcW0ya0F3b1lgRjw3JCQiM3c4cyp6SVBXXSJGOCQhM09EJykpKVsoW1ZEJkY8NyQkIjM0XyNIIipvcjxfIkY4JCEzMHAkMyEzaXlRXkY8RlxoeDcnNyQkIjMlKXopUlBjQUZjIkY4JCEzLiFlcSdHLSl5aiVGPDckJCIzIWV5RUg1V1JnIkY4JCEzazslSDh4PkBPJkY8NyQkIjM5NlFoJFFtZmUiRjgkITNHMDZzTVUlb0QmRjw3JCQiMzQjRyE9c0IyLztGOCQhM1FTUXYnUSF6YF5GPEZhaXg3JzckJCIzX1o7Ozh5Qls7RjgkITNFNmcjUiFRSUVZRjw3JCQiM2klb3IsXyY0Jm8iRjgkITMnWylSMic+J3B0YEY8NyQkIjMtXjNpKD10eG0iRjgkITM9Km8oR0lKJnpEJkY8NyQkIjNRXVhVKCp6WCdvIkY4JCEzVSdmaUYnKTNlOyZGPEZmang3JzckJCIzJlw1KVFOP1lMPEY4JCEzdlEqXCRvJmZ2aCVGPDckJCIzcyQqPWhremBtPEY4JCEzT2QrbEovVyNRJkY8NyQkIjMjekMhMzBlIilcPEY4JCEzP3UiZSZ5UD1lX0Y8NyQkIjMhNHZpbSN5JCpvPEY4JCEzRy0oKVxiUlx2XkY8RltceTcnNyQkIjNdczgqUU9KJT09RjgkITNJJ2ZFLC0kKjNoJUY8NyQkIjNvI0h2RklOI1s9RjgkITNPK00oKXpwNSpRJkY8NyQkIjNHem9BJylbMEs9RjgkITNDKD4pelFPKHlEJkY8NyQkIjNDXDBBTi1eXj1GOCQhM3knUillInpqTD0mRjxGYF15Nyc3JCQiMzczeD0nKT09Lj5GOCQhM25YIzMnZnV2MFlGPDckJCIzZkJjOVo5Okk+RjgkITNhXjxSU0RDJVImRjw3JCQiM243aVMtalg5PkY4JCEzbWdLKFJZVXNEJkY8NyQkIjNPK2VVSCVvVCQ+RjgkITMpPlp5OmM9KSo9JkY8RmVeeTcnNyQkIjNJLV4nSFVZeCk+RjgkITNwX2VPWShlPGclRjw3JCQiM3ImKlsueE5ENz9GOCQhMydSOU1PRFQjKVImRjw3JCQiMy08Vj4iZiIqcCo+RjgkITNxPi4pXG5Ka0QmRjw3JCQiMzZDZyhRbC5wLCNGOCQhM2VOZSEpKnlqXj4mRjxGal95Nyc3JCQhMyozS1tUVGs9QCRGLCQhM2FXTzZ0OjRLV0Y8NyQkIjMqM0tbVFRrPUAkRiwkITMkZW8+LXdUNyFSRjw3JCQiMydcJFI9I2ZbWVsjRiwkITN1Kltqa3NxazQlRjw3JCQiMztRIVwqZlNfZDZGLCQhMzR1Z3YwdihlJFJGPEZfYXk3JzckJCIzY0kuMSlcMTA2JkYsJCEzS2VQQUAlZjJWJUY8NyQkIjNnTDEnbyw7YzoiRjwkITMwcyY0QCJSZC1SRjw3JCQiM2V2RSQqNG4zIzMiRjwkITMhR0sjPissXSg0JUY8NyQkIjM7IUhUbEsuL10qRiwkITNYcydHJWUoZWokUkY8RmRieTcnNyQkIjMxTG5CJj4lM1Q4RjwkITNrRE8kZlchb0VXRjw3JCQiMzMrbTRRIlxBKj5GPCQhM3QvKCpSKClHbDFSRjw3JCQiM2Q9MkZQN0Y7PkY8JCEzLCN5WVZ4UDE1JUY8NyQkIjMxUXNqWlZFJ3kiRjwkITM2Oj1qUWwleSRSRjxGaWN5Nyc3JCQiMydIVmAtMygpKW9ARjwkITM5RSdHcTkrJz5XRjw3JCQiM3dtbHU+SDZKR0Y8JCEzQy9aSSc9TFAiUkY8NyQkIjNldWgjKSo9cTR2I0Y8JCEzXyIpPShmI1suMVRGPDckJCIzNiU+WCdcTV1DRUY8JCEzZShmKTRtJHkvJVJGPEZeZXk3JzckJCIzK2kneiwib1YlKkhGPCQhMzpRWWs9PTI0V0Y8NyQkIjNHL3FbYylIQW4kRjwkITNBI3Apbzk6RUNSRjw3JCQiM19aKUdgayUzJ2UkRjwkITM6J28oR2IsJlI2JUY8NyQkIjN3ZylSJHA/KVtZJEY8JCEzZV0zciQqPV1XUkY8RmNmeTcnNyQkIjNwNGxNKG9leCJRRjwkITMrN2kwVWdVJVIlRjw3JCQiMyFII28pZmt1Yl4lRjwkITNPPXJGIkgyKlFSRjw3JCQiMyZSLigqSCFIVkBXRjwkITNbcGVpKSlwdkNURjw3JCQiM2FnQUk6S2IyVkY8JCEzPSJ6bCopKkhJXVJGPEZoZ3k3JzckJCIzayhHVXUqZStSWUY8JCEzTVlgTGMnUlpQJUY8NyQkIjNFNnhiLVQqNE8mRjwkITMvJSl6KnBuJGZlUkY8NyQkIjNFNSNmIz10cGNfRjwkITNTUlkzXS8lKlFURjw3JCQiM1VwW1VCM21fXkY8JCEzeSR5MCkpUlYlZVJGPEZdaXk3JzckJCIzbSpRVXVzJ2ZlYUY8JCEzNT0uYCVISSlbVkY8NyQkIjNfdlVBUipwITNpRjwkITNFN0khKVFJXSUpUkY8NyQkIjNDS2EoZjhYODQnRjwkITN3d00nXE5tcTolRjw3JCQiM0MwTy9BTEUrZ0Y8JCEzJWUrPT8wKXBwUkY8RmJqeTcnNyQkIjNtP1RnJlFEdUYnRjwkITMqSCVwXjZfTDpWRjw3JCQiMyM+QEh4JXohZjAoRjwkITNRKFE7PTcpKnosJUY8NyQkIjMkKioqMzlsJ0dYI3BGPCQhM1tGU1A1UW96VEY8NyQkIjNbZ2RyI1IlPl1vRjwkITM1YUYlKXBKMSYpUkY8RmdbejcnNyQkIjMtbnlvXVs3KDQoRjwkITMhKillekAlNClIRiVGPDckJCIzKEg4NyRcXihHIXpGPCQhM1tUUDoiUl8uMSVGPDckJCIzKWVbaDdtLl12KEY8JCEzWlI4PDVtNTJVRjw3JCQiM3VCXV1CbCU9cShGPCQhM2F0X15OIXBjKyVGPEZcXXo3JzckJCIzS1BZWUpwQz96RjwkITN6JXlvQzdyNkElRjw3JCQiMzVJPz9OKD5rdSlGPCQhM2ZYWCczQGlANiVGPDckJCIzOWhXOyE+dTZlKUY8JCEzQWdQK0xcLlJVRjw3JCQiMzEsTUVpPiNSYilGPCQhM2U3JXA/dCJcS1NGPEZhXno3JzckJCIzX05SJT49Uyt2KUY8JCEzZyM9N3g9ISkzOyVGPDckJCIzSSpSKlFeSkgkZSpGPCQhM3laNmlYSlhzVEY8NyQkIjN0SjYjPSg+VywlKkY8JCEzLTNgIno5L1RGJUY8NyQkIjNacyQpSDZfTC8lKkY8JCEzM1VSYjA0emxTRjxGZl96Nyc3JCQiMyVSKGYlZj51JSplKkY8JCEza2pdb0RbUiY0JUY8NyQkIjNcLWFTIWVfNS8iRjgkITN1bSNbd11RekIlRjw3JCQiM1xyKT5jXCVcQDVGOCQhMzwoXEhpTTMoNFZGPDckJCIzb14qb3czZV0tIkY4JCEzOSVbLVVXWFc1JUY8RlthejcnNyQkIjN3JClvbEk+KFIvIkY4JCEzVWdjZkheKipIU0Y8NyQkIjN3I3k0Z3QlcEE2RjgkITMmKnB3dC4jUUxJJUY8NyQkIjNkNSlmLSdSQi02RjgkITMoWyIqKikpKT5oRE0lRjw3JCQiMyM0TzhyYG4hNDZGOCQhMyV6bTJiPWFkOSVGPEZgYno3JzckJCIzUnhGRnNKIypINkY4JCEzO2o6I3AuIj5xUkY8NyQkIjNsYjAxaCxULjdGOCQhMz9uPFQnSFVKTyVGPDckJCIzZ29DYHF5ZSM9IkY4JCEzWyllLyIqZUMqcFZGPDckJCIza0IoPj9sNkM+IkY4JCEzRVVeODxyPyc9JUY8RmVjejcnNyQkIjM/S1ddJ0hXa0AiRjgkITN3I0hDW1NmJz5SRjw3JCQiM09uYlwuZGIkRyJGOCQhM2hQITQmR1JuOFdGPDckJCIzNykqXDZ3LyZHRSJGOCQhM0MjZjVhIWZnIVIlRjw3JCQiMyFvNjIjUjM/djdGOCQhMyJRdkt6UUZHQSVGPEZqZHo3JzckJCIzPlwrYW5mOS44RjgkITMrPDZtQXVZelFGPDckJCIzKW9oRSIqcD9OTyJGOCQhM1E4QW41ZidRWCVGPDckJCIzYD44PzAjcEtNIkY4JCEzQnlyXy9NKFxTJUY8NyQkIjMrKGYsdTtId04iRjgkITNVZTJjdmwuYVVGPEZfZno3JzckJCIzJ1xHWEhrTigqUSJGOCQhMzc5ZiYqcDR0W1FGPDckJCIza1ohKVEhcChmVjlGOCQhM0M7dVBqQmclWyVGPDckJCIzPGdSaUF5KVJVIkY4JCEzc2gsaUYoZlVUJUY8NyQkIjN2KFxmdWclKSlSOUY4JCEzY2JLLDRZZ3pVRjxGZGd6Nyc3JCQiMyFmVCRmYipcZ1oiRjgkITNgJ1x5TDw2ZCNRRjw3JCQiM0EkZTFXL11SXyJGOCQhMyVRJFsmKmZAaTJYRjw3JCQiM11YYWokW2JdXSJGOCQhM0ApZShmNiNmKT5XRjw3JCQiMyRSJikqSGVLNUE6RjgkITNacVljKikqMyxJJUY8RmloejcnNyQkIjMnKXprZzNuLWk6RjgkITNZaSI9NisoZjNRRjw3JCQiM3kmPWchZSpSWWciRjgkITMiejs6QUxPWl8lRjw3JCQiMyNcSCFHeEBZJ2UiRjgkITMsK3ZvIT1hSFUlRjw3JCQiMzc/eGJnY08vO0Y4JCEza01LMGQ1VTtWRjxGXmp6Nyc3JCQiM1MnNDgsPmt3ayJGOCQhMzMjZidlXVcmZXokRjw3JCQiM3VOLUFWInBjbyJGOCQhM0dRbnUjKSl5dWAlRjw3JCQiM0VISjVDMDxvO0Y4JCEzPyk9XlhuPVdVJUY8NyQkIjMnRzgyXDg2bm8iRjgkITNPU0x5IkgxJUhWRjxGY1tbbDcnNyQkIjNmay8rRyoqKUh0IkY4JCEzUXJxbmNESSd5JEY8NyQkIjMzTSYqKj4yNXF3IkY4JCEzK2ZpbHcyLlpYRjw3JCQiM1klKlEsI1JOLHYiRjgkITNdc2NvbE0mW1UlRjw3JCQiM0t1TF4oZmAicDxGOCQhM0sqKnpvMEohKVJWRjxGaFxbbDcnNyQkIjNUa1xBIik+Lz09RjgkITNpNXdwbUwyelBGPDckJCIzeSs8VyZvQydbPUY4JCEzdz5kam0qZlViJUY8NyQkIjNeVy9ELk5KSz1GOCQhM0o9PCZbX2JZVSVGPDckJCIzSSgqKVsjb0pwXj1GOCQhM1N4KTRWdyk+W1ZGPEZdXltsNyc3JCQiM29vJzRQT2ZHIT5GOCQhMyFmXCZlbz9hdFBGPDckJCIzLWpPaXBSWkk+RjgkITNbTXl1azd6ZlhGPDckJCIzIip6QjY8cm05PkY4JCEzdDJcdXg6M0NXRjw3JCQiM1xRayxaTEtNPkY4JCEzKT0jKmZIMVhdTiVGPEZiX1tsNyc3JCQiM1tkTSlHJHlaKCk+RjgkITN1KD4vKHo8RXBQRjw3JCQiM3ZTbDZuQF83P0Y4JCEza0siSE9iclNjJUY8NyQkIjNTKnpEdnlrcio+RjgkITNyJ3BydmcmSEJXRjw3JCQiMyhII1IoPS5OcSwjRjgkITNfKSkqKSk+eCVvZ1ZGPEZnYFtsNyc3JCQhM2tbX14lXDBVNiRGLCQhMytsQ14qZl4saCRGPDckJCIza1tfXiVcMFU2JEYsJCEzMyo+YXIxOmwwJEY8NyQkIjMhKVFhYEMxd2RDRiwkITNhRSUpKSlIZ0JhS0Y8NyQkIjMlSHhST0hwTzIiRiwkITMjUW1pXnZEJik0JEY8RlxiW2w3JzckJCIzeiE+Jyp6cnYkM19GLCQhMzZGLzhNcyQqM09GPDckJCIzV1pxJ1s0SGU5IkY8JCEzJ3BCT0RWSHgwJEY8NyQkIjMvVFouT2FUejVGPCQhMy1eZWxpTD5iS0Y8NyQkIjN3TD5PY1s4OyUqRiwkITMpUSoqKSk9W1gqKTQkRjxGYWNbbDcnNyQkIjMnMzMnb2wnSDROIkY8JCEzXjltMXR6QDBPRjw3JCQiM0dfc2tuT1MjKT5GPCQhM2NcK2ckcFs5MSRGPDckJCIzN0InKXAmcGNPIj5GPCQhM08oNCpIWUM2ZUtGPDckJCIzKT0pPiRlUDl4eCJGPCQhM08vKTNlJVJDK0pGPEZmZFtsNyc3JCQiMyV5OyZlZU4iKXlARjwkITNRNi55UiNlKClmJEY8NyQkIjMpPSRbVFRrPUBHRjwkITNvX2opb1UzejEkRjw3JCQiMyskUj0jZltZW0ZGPCQhM2djLDgkUlBKRSRGPDckJCIzTC5cKmZTX2RoI0Y8JCEzJTR1QUM8V0Q1JEY8RltmW2w3JzckJCIzTyg+JDR3bFYvSUY8JCEzMyMpeUhBPjkqZSRGPDckJCIzJSpvTWQhNElBbSRGPCQhMyk+eW9WdUN2MiRGPDckJCIzO20lPVZ3bFBlJEY8JCEzOSNmYD5JPDBGJEY8NyQkIjNlIT5PKXA5J2VYJEY8JCEzRENOTEIqb2c1JEY8RmBnW2w3JzckJCIzOyYqSF5WLHhGUUY8JCEzKzA4SiZbUWRkJEY8NyQkIjNWUC4jKSo9amJdJUY8JCEzM2ZgTiI9RzQ0JEY8NyQkIjNuIT1pJ3l6VD5XRjwkITMrYFYmPiNvaCFHJEY8NyQkIjMhUj50RVM6IylIJUY8JCEzVjx2UGcmbzY2JEY8RmVoW2w3JzckJCIzazI7VGVsKClbWUY8JCEzOyNlI3opPml3YiRGPDckJCIzRSJSKWVUTTdeYEY8JCEzIj4zdXlZLyE0SkY8NyQkIjMpKj1MInl1a15EJkY8JCEzPzFoVHdEI1JIJEY8NyQkIjNbJXAkMzouK1ZeRjwkITMsNT5pYjNPPUpGPEZqaVtsNyc3JCQiM20lUnFnTEghb2FGPCQhM1ojM2xeO1ZQYCRGPDckJCIzX3FpZkl0aik+J0Y8JCEzaCJlLDpdQkg4JEY8NyQkIjNjYnRvPCZlMDQnRjwkITN0WlhlLiZINUokRjw3JCQiM3l6OXgsT04hKmZGPCQhM3d5SSZcXXgkR0pGPEZfW1xsNyc3JEZcdiQhM0VOKik9JXBkRF0kRjw3JEZhdiQhMyMpR3hacyozVDskRjw3JEZbdyQhM0x1IXpKKFJkS0xGPDckRmZ2JCEzJjNfO3NjJz5VSkY8RmJcXGw3JzckJCIzS1JZMkt5KlE1KEY8JCEzITMoKjMpem1oaU1GPDckJCIzbWdgI3o7LWgqeUY8JCEzRiRwZG8pKlxTPyRGPDckJCIzNVdiZU1kIXB2KEY8JCEzcTxoK2dvMGZMRjw3JCQiM1dDeE1oU0UjcChGPCQhM09QTS93ZCtoSkY8RmFdXGw3JzckJCIzNUQ5KDQjcEtDekY8JCEzdWUjZnpOaUdUJEY8NyQkIjNJVV9wWChSQnUpRjwkITNNMHVxM1YhUUQkRjw3JCQiMyEzbFYsLjxeZSlGPCQhMyl5K0knKilIXCFSJEY8NyQkIjNzKG9JeV5fYGEpRjwkITNnYCFcTXkqKWY9JEY8RmZeXGw3JzckJCIzMWJuQ0g5XF0oKUY8JCEzQ1c3L3VTY2BMRjw3JCQiM3d6bDMvPiVHZSpGPCQhMyUpPmFpI2YtSkokRjw3JCQiM2VEeENEL3AyJSpGPCQhMyI+aHYncGwhZlUkRjw3JCQiM3dwUCpbMHZ2UipGPCQhM3RiYyc0Jio9eUAkRjxGW2BcbDcnNyQkIjMpXEs+c3giKWVlKkY8JCEzbTcpb3U+P3RHJEY8NyQkIjNdbiF5QSM9VFQ1RjgkITNVXnk+cGtNekxGPDckJCIzNFtsIylbJ0hCLSJGOCQhMyMzejRFdl5IWSRGPDckJCIzNHUoPmNJSVktIkY4JCEzS2AlPjdrIyplRCRGPEZgYVxsNyc3JCQiM1RIdiEzTmZLLyJGOCQhM2Q9SHYqekwjPktGPDckJCIzNlAiZmVKMk03IkY4JCEzXVhQInAnR1ZaTUY8NyQkIjMpb2FxU0ctSzUiRjgkITM1ZXohZkY2IylcJEY8NyQkIjNlbiZcMkUyKjM2RjgkITMlKVEqeUtPVHlIJEY8RmViXGw3JzckJCIzKHAiKj0oUicqKSpHNkY4JCEzTy5NVFJTVGJKRjw3JCQiMzI7V2gkcFZWPyJGOCQhM3JnS0RGRUQ2TkY8NyQkIjMjcF1HKzMiZSQ9IkY4JCEzdjVPVyEpUVNHTkY8NyQkIjM/LlhzV3FaIz4iRjgkITNZaVtxWCg9K00kRjxGamNcbDcnNyQkIjM/IjMmUShSVWFAIkY4JCEzbjtjUSNbXDA1JEY8NyQkIjNPPVxoLXdiJUciRjgkITNTWjVHJT08aGMkRjw3JCQiMyU9LWlhN3VQRSJGOCQhMy0pZmlsI0dyXk5GPDckJCIzI3lTNCE9TFR2N0Y4JCEzNTAhKVs4WyMqeUxGPEZfZVxsNyc3JCQiM2ghPSlReTc+LThGOEZfYltsNyQkIjNZJlt5IylRdldPIkY4RmphW2w3JCQiM3JJKHBpLXFTTSJGOCQhM0UrU102NDlvTkY8NyQkIjNZKG95JlI0InpOIkY4JCEzYlAjeW5qSUNUJEY8RmJmXGw3JzckJCIzayQ+cmw9KikpKVEiRjgkITNZaEQkUm5sRi0kRjw3JCQiMyYqUUB3WVRXVzlGOCQhM2ktVHQjKjQhUmskRjw3JCQiM3FAI3BOJj5sQzlGOCQhMyNSSmI7JlwnKXlORjw3JCQiM0RnI1JsTCE9UzlGOCQhM25dejxedigqUk1GPEZlZ1xsNyc3JCQiMyEzKFxlWyxMdjlGOCQhM0N0KEdZQ1x2KkhGPDckJCIzSkddVF4pcFlfIkY4JCEzIzMqeS5BdTZwT0Y8NyQkIjMtODQ9ISpHZjA6RjgkITNZJjN0XUYkUiZlJEY8NyQkIjMwVGhoJTQjUUE6RjgkITM5VHoqeixXP1kkRjxGamhcbDcnNyQkIjNVRFVnIjNHOWMiRjgkITM7IjNzMj4lKil5SEY8NyQkIjNAU0MxJmVRX2ciRjgkITMhSGUlKmVac3hvJEY8NyQkIjMlKmU6RWFCKm9lIkY4JCEzb1UwV2EqZSEqZSRGPDckJCIzVEAnKlE2VmgvO0Y4JCEzbzBdeiZwSyZ6TUY8Rl9qXGw3JzckJCIzZVJEKVxNcnJrIkY4JCEzLUIoKT1vJCkzbEhGPDckJCIzYyN6XSQpKT47J28iRjgkITMxVHpaKUh5OnEkRjw3JCQiMyFmWjBCOTkmbztGOCQhMyFSeXNgJj0nM2YkRjw3JCQiM0sxRmMhUkVwbyJGOCQhMy1fQCZwQyZRJFwkRjxGZFtdbDcnNyQkIjM+ZzswcV9lSzxGOCQhM0NQaT9HWyFbJkhGPDckJCIzW1EkWypIWlRuPEY4JCEzJG9VZyVRPSc9ciRGPDckJCIzWzJEMD0yVF08RjgkITNhb0hlNzVcImYkRjw3JCQiMzFpKTNMOVAkcDxGOCQhMyJHRlRHTzxXXSRGPEZpXF1sNyc3JCQiM01iWyg0PTR4Ij1GOCQhM0ktS3BtJnBxJUhGPDckJCIzJSk0PXAmW2QqWz1GOCQhM3hoTSgqKjQoZj5QRjw3JCQiM3cnRyk0TmFgSz1GOCQhM2VZUGpqLlMiZiRGPDckJCIzNSRISU1pWz0mPUY4JCEzITRPVD1nekteJEY8Rl5eXWw3JzckJCIzIVIjKWVoXyVlLT5GOCQhM2gqKm9DUFs9VEhGPDckJCIzInlddXIhKVsyJD5GOCQhM1prKD4lSD1bRFBGPDckJCIzYj9FMVx0JVsiPkY4JCEzdzdnJjMhPikzZiRGPDckJCIzP1VwJ1F4YVckPkY4JCEzKy5vSik+ci9fJEY8RmNfXWw3JzckJCIzJWV5I1s8J1xzKT5GOCQhM3VRNjhtWmxPSEY8NyQkIjNoN3NeI1FdRiwjRjgkITNNRGJgKz4sSVBGPDckJCIzJSk+S3ZTQkooKj5GOCQhMyNHZ2gnKSo0NyFmJEY8NyQkIjN0SEw2cGk5PD9GOCQhMyFmYHZnM3BqXyRGPEZoYF1sNyc3JCQhMyV6byRlXSRRKFJJRiwkITNxPnNPcWEoXHkjRjw3JCQiMyV6byRlXSRRKFJJRiwkITMyeUZqSFgtOkFGPDckJCIzPyo0cS1ySmZWI0YsJCEzdiczJXonKWZUOUNGPDckJCIzNSYqUlZlVjA2NUYsJCEzNy1cRXAhSENFI0Y8Rl1iXWw3JzckJCIzZ2RgRk5tLyRHJkYsJCEzOzA6SEJoJVF5I0Y8NyQkIjMpMzhSSitpJFE2RjwkITMhSFwzbihROjtBRjw3JCQiM1M0W1xYQUN4NUY8JCEzR0ghRzQtP2BUI0Y8NyQkIjMzazBcUT0+YCQqRiwkITNhSV4tJ28wR0UjRjxGYmNdbDcnNyQkIjM/ZSY9KnBeWGU4RjwkITNVRGh0Wm9RIXkjRjw3JCQiMydceDlNO3lbKD5GPCQhM05zUUVfSmg+QUY8NyQkIjNBandRI1E6OiI+RjwkITMyaVQnSDR4IT1DRjw3JCQiMyUqKmY+JmU+S3I8RjwkITN1MixmVzgoUkUjRjxGZ2RdbDcnNyQkIjNpbmE/eGpVJz0jRjwkITNfOV8lKj5wUHVGRjw3JCQiM1FLWHpBT2Q4R0Y8JCEzKkh5YSszQmNBI0Y8NyQkIjNFV0M4IlwnUVlGRjwkITNJZmQ+eF4jR1UjRjw3JCQiMzxPKWY2Lik+NEVGPCQhMyNHXCl6bCRRZ0UjRjxGXGZdbDcnNyQkIjNGLCY9PipvOTdJRjwkITNDeXBXMVxVbEZGPDckJCIzL2wiW1p4PlhsJEY8JCEzYD5JYiQ0dlhCI0Y8NyQkIjM7RTxiIz4peiJlJEY8JCEzWUJvemZTISlIQ0Y8NyQkIjMvUCNHJFJkM1xNRjwkITNfMiUqM1IzQHBBRjxGYWddbDcnNyQkIjNhKjQ/cHVgYiRRRjwkITMlKWY+TyFbTEh2I0Y8NyQkIjMvTEtUJ2V6eFwlRjwkITMlei5RJz5sMVpBRjw3JCQiMykzJUdcY29qPFdGPCQhMyZcQDAkZiJvJFJDRjw3JCQiM1NnPUo7LDwiSCVGPCQhM2NKPlYqcDZRRiNGPEZmaF1sNyc3JCQiMyFHRV0jKT5cbWwlRjwkITNcVUg/d08wT0ZGPDckJCIzYU4oXDwhM05WYEY8JCEzLWJxekJqJVJFI0Y8NyQkIjMheiZ6VmkqKW9gX0Y8JCEzI29yZVZFKSo+WCNGPDckJCIzUidbT1Y3aWM4JkY8JCEzeVtRW2pHSyFHI0Y8RltqXWw3JzckJCIzb2NAQXJwZ3ZhRjwkITN5MXYjSDhVT3IjRjw3JCQiM10zWFcmcGY1PidGPCQhMysiXHNxJ3lOJ0cjRjw3JCQiM1ldMDNxLGQqMydGPCQhM29UcyJbQCpIb0NGPDckJCIzIW96O081XEYpZkY8JCEzc2A7d0xnVipHI0Y8RmBbXmw3JzckJCIzVVg5VHBqJkhIJ0Y8JCEzay4rQlEqZlVvI0Y8NyQkIjM8KCk9I1IncFBTcUY8JCEzJ1EqKnA8MVNkSiNGPDckJCIzUWcqUkhrP1kjcEY8JCEzK25zeUhYJiopWyNGPDckJCIzLGVcI1FuIVxLb0Y8JCEzSGMnZjZRKjQtQkY8RmVcXmw3JzckJCIzOWwmekUlRycpNHJGPCQhMyM9OyYqUlYsamsjRjw3JCQiMyVbVj90OlAsKnlGPCQhM29OWyttJilwYEJGPDckJCIzJ1FOPjc8eXh2KEY8JCEzPicqKWZYQiRlOURGPDckJCIzJ0h4QFVYRllvKEY8JCEzd3knKiplbDkmPkJGPEZqXV5sNyc3JCQiM2QjPSVwJ1FhJUd6RjwkITMlZTczdDIzJSlmI0Y8NyQkIjMlW1tzKnpBQFEoKUY8JCEzJT4oPXBBPmYsQ0Y8NyQkIjM9QWduc2xcKGUpRjwkITNZcVt6MU9VWERGPDckJCIzVWU+LU1ESFEmKUY8JCEzaCVIdk04JSlITSNGPEZfX15sNyc3JCQiM2F0UUVcYCY+dilGPCQhM2QuJ2VlOj4uYSNGPDckJCIzR2glcFMpelAiZSpGPCQhMyVSUlRUJTNvZkNGPDckJCIzIm9DISlcXSMpPVQqRjwkITNfUyUzLFE8M2UjRjw3JCQiMy1YNDBGSHMiUipGPCQhM2dWcVNAPFl0QkY8RmRgXmw3JzckJCIzb2lhJyplWjklZSpGPCQhM1dTYFZaITRTWiNGPDckJCIzdGBNNUNiZVQ1RjgkITNMZFljXzQqZl8jRjw3JCQiMyRvcFAscEdILSJGOCQhMzU7JkctTisoPUVGPDckJCIzdkhmd1AjR1UtIkY4JCEzdFo3ckhGeDVDRjxGaWFebDcnNyQkIjNrXyhlS28ieVU1RjgkITMjcCxOJVtJRC9DRjw3JCQiMylRInpTJClcKVE3IkY4JCEzOSIpXGNecHUmZiNGPDckJCIzSTJRMEk+JFI1IkY4JCEzY09qYklrbWJFRjw3JCQiM1pjP2p4Iz4oMzZGOCQhMyVIViQ9IT0zSFgjRjxGXmNebDcnNyQkIjMiPkU6JypRKyRHNkY4JCEzJnBkIVwoPXd1TCNGPDckJCIzOHIhPVAlSC4wN0Y4JCEzIzNVNEQiUV9pRUY8NyQkIjNRaHg2am5OJT0iRjgkITMvLjknKkhZMSlvI0Y8NyQkIjNVS0t1YEhbIz4iRjgkITMtIVEvWkNMaVwjRjxGY2RebDcnNyQkIjMuQEpMUG5tOTdGOCQhM0UyP0wzcjt6QUY8NyQkIjNheW9taUtMJkciRjgkITNEISp6bSIqRyQzcyNGPDckJCIzQUU2JSkpbzdYRSJGOCQhMyJ6Tlo3Z1VOciNGPDckJCIzaURYVUxWYnY3RjgkITNya0giekd3b2AjRjxGaGVebDcnNyQkIjNCSGtXR0xWLDhGOCQhM2Q/YCN5TV4+QiNGPDckJCIzJW9CPyNRTEJsOEY4JCEzQXhZPF8nWyFvRkY8NyQkIjNjOyU0WSw+Wk0iRjgkITMlPkB2Sz5JPHQjRjw3JCQiM2tdIj1zV0AiZThGOCQhM00jcFMpbyxCc0RGPEZdZ15sNyc3JCQiMy1rImZsZTMjKVEiRjgkITNfbFpIVm1sJj4jRjw3JCQiM2VvVHhZWjdYOUY4JCEzRktfcWNMTS9HRjw3JCQiMyNHXylwX00+RDlGOCQhM20yVHk8U3FWRkY8NyQkIjNiJXlMMGk1L1ciRjgkITNxJmZZc2g4OWcjRjxGYmhebDcnNyQkIjNBWlNPKj5bWloiRjgkITNnQ0psOyxkb0BGPDckJCIzKj0mZmorPUREOkY4JCEzPXRvTSQpKUg5JEdGPDckJCIzbmk3OC48LjE6RjgkITNBLDRtTmcvXkZGPDckJCIzRjEnKUgoPi5FXyJGOCQhMykqUTZbS3F5Q0VGPEZnaV5sNyc3JCQiM18xVDouTSU0YyJGOCQhM0FWcm8lWy0nW0BGPDckJCIzN2ZEXmpLczA7RjgkITNlYUdKOnZSXkdGPDckJCIzdV93WSxLQyhlIkY4JCEzIXkzPEt2N192I0Y8NyQkIjNlJkhMczI4W2ciRjgkITMmbyY0Sy1KRVZFRjxGXFtfbDcnNyQkIjNRMTQob2ZzbmsiRjgkITMjUi5gVyZRKlE4I0Y8NyQkIjN3RENZTzJjJ28iRjgkITMnUSdwYVhoNW1HRjw3JCQiM1VkKTR6cCR6bztGOCQhM09EUHgzRkpkRkY8NyQkIjNvMHM9MCEqNChvIkY4JCEzV0ZcemZCJXlsI0Y8RmFcX2w3JzckJCIzZChlPm9YZUF0IkY4JCEzaF5pVDJBKkg3I0Y8NyQkIjM1Ni89Vjp1bjxGOCQhMz1ZUGUjejJxKEdGPDckJCIzK0l2IlsuTTF2IkY4JCEzWWxPaihbNyJlRkY8NyQkIjM7PG5XQ1dbcDxGOCQhMz0yO3RyWlNwRUY8RmZdX2w3JzckJCIzJTN6RyIzNVc8PUY4JCEzNzkpRzAlPSRbNiNGPDckJCIzTXV5YGVjQVw9RjgkITNtJD1yJWYib14pR0Y8NyQkIjNLRVwoZShbcks9RjgkITNDbnExbmk2ZUZGPDckJCIzWyZbW1FHdD4mPUY4JCEzWWVWL1RZbHlFRjxGW19fbDcnNyQkIjNRJip6LiFmakIhPkY4JCEzRzNBOEo+bDNARjw3JCQiM0xPYEhWKHA0JD5GOCQhM1sqeW4pbyFbOCpHRjw3JCQiM14qRzx4aSMqXCI+RjgkITNFQChlZDJad3YjRjw3JCQiMykqeTE7SitjTT5GOCQhMykpb2BoI3BKaG8jRjxGYGBfbDcnNyQkIjNBJHBHQ2ZtcSk+RjgkITM2ZChHSlI5UjUjRjw3JCQiMywwOGQyTSRILCNGOCQhM1FTNyhvZyYzJypHRjw3JCQiM2EqUlV3JDRWKCo+RjgkITNjcHYpcC00cHYjRjw3JCQiM2loZil6QE5zLCNGOCQhMzFTNTgqKT5DI3AjRjxGZWFfbDcnNyQkITM5aE1SRyl5dSlIRiwkITMtPlw/KCpmNmQ+Rjw3JCQiMzloTVJHKXl1KUhGLCQhM1k3JUdoTDxpUCJGPDckJCIzbVIxVHZlKSo+Q0YsJCEzVy91QGNEbnc6Rjw3JCQiM1lSUD5GQVJ4JyohIz8kITNDSnh6OScpSEY5RjxGamJfbDcnNyQkIjMqeWgqZV4mb2FMJkYsJCEzS1xtNyMqUS9jPkY8NyQkIjMmW3EyOiIpPko4IkY8JCEzPSNvMTdXKkd4OEY8NyQkIjNRancnXHdfYzIiRjwkITNnd0YsditheDpGPDckJCIzJWZyd0JfVCc0JCpGLCQhM2ghZkRmJG9rRjlGPEZgZF9sNyc3JCQiMzs0NHg+WHVqOEY8JCEzcVo6UzApZkYmPkY8NyQkIjMrQ0NjOCkpZXA+RjwkITMhUXlKel90MFEiRjw3JCQiM3k/ZSY0J0glKjQ+RjwkITMlKVJAbEZnPSFlIkY8NyQkIjMzIVEpZSJSJypvdyJGPCQhM0ZoVT9hXHNHOUY8RmVlX2w3JzckJCIzTSIqPUQuJil5Ij4jRjwkITNJI3otV15gcSU+Rjw3JCQiM20zIltuXDYjM0dGPCQhMz9SMCQqPSl6aVEiRjw3JCQiM2snKjRzOihbW3UjRjwkITNrRzNqZlB1JWUiRjw3JCQiM2xMSCY9SGJZZyNGPCQhM2Z1bkQ2IVExViJGPEZqZl9sNyc3JCQiMztaRk5LamY8SUY8JCEzJXolKipSMThiUT5GPDckJCIzOT5SSk0uMlxPRjwkITNhJFFMcC0jeSVSIkY8NyQkIjNxKkdsQk9CLmUkRjwkITMxSkNqemRXImYiRjw3JCQiM3VbJylcVTVRV01GPCQhM01RQDl6c2RMOUY8Rl9oX2w3JzckJCIzMUxuQiY+JTNUUUY8JCEzWkVPJGZXIW9FPkY8NyQkIjNfKmYnNFEiXEFcJUY8JCEzLDAoKlIoKUdsMTlGPDckJCIzLT0yRlA3RjtXRjwkITMsI3lZVnhQMWciRjw3JCQiM19Qc2paVkUnRyVGPCQhM1I6PWpRbCV5ViJGPEZkaV9sNyc3JCQiMyNlcm0iKSlwQGlZRjwkITM0Oj01azVpNT5GPDckJCIzaiRHTD0sJHlQYEY8JCEzUjs6QnBBckE5Rjw3JCQiMzFcW2V3c11fX0Y8JCEzZj48J1xQJHo3O0Y8NyQkIjNtdXMneTJJMDgmRjwkITN5eF0vcD0hUlciRjxGaWpfbDcnNyQkIjN1TmorRVc1IlsmRjwkITNdKXBDeXdiIyopPUY8NyQkIjNXSC5tU0FjJj0nRjwkITMoSGozYmN4U1ciRjw3JCQiMyMzai5eIyoqbykzJ0Y8JCEzYCNlVy9xPSZHO0Y8NyQkIjNXOVlfdWBSeGZGPCQhMzUlMyJ5WVVTXzlGPEZeXGBsNyc3JCQiM0kmNFonPkk8KUgnRjwkITNlJCllIltVXDYnPUY8NyQkIjNIUGlvOC47TnFGPCQhMyF6VzwmM1I9czlGPDckJCIzRnp1XHQmPVUjcEY8JCEzVSUpKlxbIzNfWztGPDckJCIzeHFHVSU+eHAjb0Y8JCEzPyo+UzgrdVVZIkY8RmNdYGw3JzckJCIzMiI0JSo+elNXNihGPCQhM14nM3BAJSlRWSM9Rjw3JCQiMyMqM2YrMyNmYil5RjwkITMpXENrNlwlcDM6Rjw3JCQiM0NeTVs8LTVleEY8JCEzOzxRcV4jKVt0O0Y8NyQkIjNzU0F0SFQ2endGPCQhMylIJzNxWiczMlsiRjxGaF5gbDcnNyQkIjNSIj5hd2BuPSR6RjwkITM3MFVDVlw9eTxGPDckJCIzLXdDLEgiKnpNKClGPCQhM09FIiozIVJbXmIiRjw3JCQiM01FREQ0KlEpKWUpRjwkITMxOyxFcE8hUXEiRjw3JCQiM0RjUCc0eHpJYClGPCQhMyFcYT85eHFJXSJGPEZdYGBsNyc3JCQiMy1yenprLWVgKClGPCQhM00meW9DN3I2cyJGPDckJCIzeWpgYG9JdnomKkY8JCEzOVlYJzNAaUBoIkY8NyQkIjMmW3ooXEJ2XTklKkY8JCEzMGhQK0xcLlI8Rjw3JCQiM3dNbmYmSGJzUSpGPCQhMydHVHA/dCJcSzpGPEZiYWBsNyc3JCQiM08rWlIiKlJcJGUqRjwkITNvPWxKYnE0YjtGPDckJCIzJypIMCczZ107LyJGOCQhMyFHIm8seWlCeTtGPDckJCIzJFFzaTg3RUwtIkY4JCEzW252XCIqSE54PEY8NyQkIjM5Si0kPmcvUi0iRjgkITMleiJcPigpKio0cDpGPEZnYmBsNyc3JCQiM1h1PlpebltVNUY4JCEzJ1wpcEkqPTFXZSJGPDckJCIzMiNwJT46KnpUNyJGOCQhM19Zai1XciMqWzxGPDckJCIzTF5lWzlqVi82RjgkITNRJUc+cndCYSI9Rjw3JCQiM1NOUU5RJFwmMzZGOCQhM0whXDd5JjM+NjtGPEZcZGBsNyc3JCQiMzx6ZG9RSiR5NyJGOCQhM01QYT0iUlpjXiJGPDckJCIzKFFiWlk+K2I/IkY4JCEzOSUqeTlVZm88PUY8NyQkIjM3N2IpPUk0XD0iRjgkITNRIT0nZShcdyRcPUY8NyQkIjNfdCZmY0VnQz4iRjgkITNrVjxvZCkzX2wiRjxGYWVgbDcnNyQkIjNyOEQnUTk9VEAiRjgkITNjJCpHalZTJ1tYIkY8NyQkIjMlZVtQaCY9KWVHIkY4JCEzI3pWKygqR3AleT1GPDckJCIzeVNtMyJcXF1FIkY4JCEzRVNrKFJxZ2soPUY8NyQkIjNHSCRRQWlSY0YiRjgkITMjKjQhKkdCOTAocCJGPEZmZmBsNyc3JCQiM0onPil5YF8pM0kiRjgkITN1SSg+I2Ykel9TIkY8NyQkIjN3cCV5R1QieWw4RjgkITN1K082dVIwRz5GPDckJCIzM1ZzZipIJz5YOEY4JCEzMTgmUShbLCpmKj1GPDckJCIzISoqZXBcbWwjZThGOCQhMzhIRyxeKFxQdCJGPEZbaGBsNyc3JCQiM11lQ3d4M3IoUSJGOCQhM1VxXUQlb2FxTyJGPDckJCIzNXUzZGJDaVg5RjgkITMxaCN5IVwneWknPkY8NyQkIjNJXzxpSlJmRDlGOCQhMyM9WDp0S0sqMz5GPDckJCIzNUtCdUlYZFM5RjgkITNFN1d6I1FgVHciRjxGYGlgbDcnNyQkIjNJeXY0Kls/VloiRjgkITMlXF04SGVSJlE4Rjw3JCQiMyMzVS00XnpjXyJGOCQhM19FKT4vdiR6JSo+Rjw3JCQiM21qJTQlem5OMTpGOCQhM0g0ZmRLJDRwIj5GPDckJCIzb0ByZkxKd0E6RjgkITNvLVExeTxeKXkiRjxGZWpgbDcnNyQkIjNJdzJHTG1lZzpGOCQhMyIqW3k4MSFvdkoiRjw3JCQiM00qKWVRTCszMTtGOCQhM2QjWyY+RmB3Oj9GPDckJCIzXXpQI28mSF0oZSJGOCQhMzFPVjVCellAPkY8NyQkIjNPPy0mKSopeSZcZyJGOCQhMythOiVHVU14IT1GPEZqW2FsNyc3JCQiM3NEUiRRPHprayJGOCQhM2pVeEhvLTwtOEY8NyQkIjNVMSUqXGZUJm9vIkY4JCEzJykpZU5dMWo2LiNGPDckJCIza1tVczMuK3A7RjgkITNvSChIb0ErUSM+Rjw3JCQiM28lcFUnR15BKG8iRjgkITNsRmdtaUYnRyM9RjxGX11hbDcnNyQkIjMxSClbInAjPT90IkY4JCEzKVElW2lVJil6IUgiRjw3JCQiM2lwNiYzdCIpenciRjgkITNmKFszMnpNRC8jRjw3JCQiMzVnJiopKTQoKXpdPEY4JCEzLi8qKillV0xaIz5GPDckJCIzQ147NDtAZnA8RjgkITMkSDBNO3pDWyQ9RjxGZF5hbDcnNyQkIjM4eCFHakNXcyI9RjgkITNBYFcoW0Q7QkciRjw3JCQiMzEpZVEuVUElXD1GOCQhM0V5KWUleXEsXj9GPDckJCIzK2UnMzUpbyVHJD1GOCQhMyNSWylvJj02WyM+Rjw3JCQiMyEpbyMpZixXMV89RjgkITMobz9pMXZsViU9RjxGaV9hbDcnNyQkIjNtRjhneTw/LT5GOCQhMysuJXp3eThmRiJGPDckJCIzLy8/dGE6OEo+RjgkITNbR1JsWCY+dTAjRjw3JCQiMyQ+ZSRcXyMqNDo+RjgkITMnZiRbImYhM1FDPkY8NyQkIjMsWEhXJypvak0+RjgkITN1VyIpZWxqMF89RjxGXmFhbDcnNyQkIjNbXV5fJ3lLcCk+RjgkITMvOC8hNFs/NUYiRjw3JCQiMyd6JVtaOHMxOD9GOCQhM1k9SFZfR0ppP0Y8NyQkIjMlXHU8JSp5PHYqPkY4JCEzQlchR0ExaE8jPkY8NyQkIjNrZGdxKTQrdCwjRjgkITNhK1EmWypcS2U9RjxGY2JhbDcnNyQkITM7IipHMCczRWwmSEYsJCEzLTJMIykpektwNyJGPDckJCIzOyIqRzAnM0VsJkhGLCQhMyEqeU5WeSdRdFImRiw3JCQiMzNQNy8sOUo1Q0YsJCEzNWFnP3lKejJ1Riw3JCQiM19VTyJmdFNKVSpGZ2NfbCQhM1M0J3peOEkmSGZGLEZoY2FsNyc3JCQiMyk0V0daRkNsTyZGLCQhM1FxbzByTyplNyJGPDckJCIzYUFRPlJVLEk2RjwkITNkV3o0YypIeFMmRiw3JCQiM1tEI3lIcyhvdTVGPCQhM21oM3pWY0Q7dUYsNyQkIjNfa1g7VGIyJUcqRiwkITNROiUpWzk2JkckZkYsRl1lYWw3JzckJCIzOSZII1wpPSEpb08iRjwkITMtO0x6ZTByQTZGPDckJCIzK1E1JVs5YGsnPkY8JCEzKSkpW0woeTVjUmFGLDckJCIzYCcqNEkpNCcpKjM+RjwkITN0Sld6O3UxVXVGLDckJCIzdS81ZCZbKEhrPEY8JCEzZnVEI2YtTkolZkYsRmJmYWw3JzckJCIzYS1VPkk4KFw+I0Y8JCEzZlFbaWMlenI2IkY8NyQkIjNZKHowKXAnR10hR0Y8JCEzJVJFPS81c1tcJkYsNyQkIjNwdjk7NyozUnUjRjwkITNVR09oVU5gJ1soRiw3JCQiMyVHczowJmUpPmcjRjwkITNVU1llJD4hUmhmRixGZ2dhbDcnNyQkIjMoKT0nKnpydiQzLSRGPCQhM21GLzhNcyQqMzZGPDckJCIzV1pxJ1s0SGVrJEY8JCEzW3NCT0RWSHhiRiw3JCQiM3dTWi5PYVR6TkY8JCEzZTYmZWxpTD5iKEYsNyQkIjNeJD5PY1s4O1ckRjwkITM/UyoqKSk9W1gqKWZGLEZcaWFsNyc3JCQiMzhtJFJKKVJRV1FGPCQhM3NELyp5M0V1NCJGPDckJCIzWW1SPl0kXCopWyVGPCQhMyM9Uml4eTBDcCZGLDckJCIzWDNnRVYrVTpXRjwkITNLKiopKmVvd21Ud0YsNyQkIjNnaHUpZm10TEclRjwkITMjeVJgNERhLS4nRixGYWphbDcnNyQkIjN5dClRWjtiYm0lRjwkITNPdTQ/RVclPTMiRjw3JCQiMzdENkVOW1dNYEY8JCEzTzBwbC9DQVtlRiw3JCQiM2M8eHNZUHZeX0Y8JCEzaXh4YCE0Pi93KEYsNyQkIjNEJypRSCsjKVxGXkY8JCEzJypcQEI5XD4pMydGLEZmW2JsNyc3JCQiMylmPDhTTkRXWyZGPCQhMyt6R3MzRjRoNUY8NyQkIjM9KltgRUpUQT0nRjwkITMzZnlWeiZSZDAnRiw3JCQiMyEzcWoncCYqNCkzJ0Y8JCEzKSlvYCNIYk9VInpGLDckJCIzU0Yqbz4pKT5VKGZGPCQhMydlZUNqbCdwcGhGLEZbXWJsNyc3JCQiM09HUFNwRU8sakY8JCEzLSQzbF47VlAuIkY8NyQkIjNDLydIUm1xPi4oRjwkITMoKT1lLDpdQkhqRiw3JCQiM0Yqbz81Jj0qUSNwRjwkITMxIVtYZS4mSDUiKUYsNyQkIjNdOFs1TnBvQm9GPCQhM08hekkmXF14JEcnRixGYF5ibDcnNyQkIjNaI0doMlApSDxyRjwkITMnKltBQWZrMiIpKipGLDckJCIzXzwoUSNIO3EjKXlGPCQhMzkrV1cyLWYmbydGLDckJCIzJSpHMiozYSE9ZXhGPCQhM0cqbzFOKXokZU4pRiw3JCQiM08kRydmJVEkenZ3RjwkITNBK0pKUClIQlcnRixGZV9ibDcnNyQkIjMsO2AnW3YnM016RjwkITNPbihwdCh6X0QmKkYsNyQkIjNTXjghPSIqekR0KUY8JCEzdCIpb0gqb1E2OShGLDckJCIzJz1nUSNRZl0qZSlGPCQhM1l6RFlmMFxiJylGLDckJCIzLCF5T2c/JyopSCYpRjwkITNlKltBcm1kI2ZtRixGamBibDcnNyQkIjMlKVxNYjojelp2KUY8JCEzcUcnKjNHZWdpKilGLDckJCIzJ1wpKXp4NmEmeSYqRjwkITNTP3FkUTMxL3hGLDckJCIzcWVuMUtNJGZUKkY8JCEzN1o0YVxDRTEhKkYsNyQkIjNVVipHdCEpcFdRKkY8JCEzNWlbKFI+RG8lcEYsRl9iYmw3JzckJCIzV2cjNCp6TE0kZSpGPCQhM2xBcSNlJSkpUi8kKUYsNyQkIjMlUTI0P21sOy8iRjgkITNXRSdSMyN5RWkkKUYsNyQkIjMrSnchXGNeTi0iRjgkITNhL05YcS5RIlIqRiw3JCQiM2RpXk1QaXBCNUY4JCEzODMpKioqcHM0M3RGLEZkY2JsNyc3JCQiM1MlPWFDbkhCLyJGOCQhMzsjcFtqWCopSGYoRiw3JCQiMzcjWzdVKnBMQzZGOCQhMyVwJnpKNXNudCEqRiw3JCQiMzFvX2BHNXQvNkY4JCEzXS5VekgvPnkoKkYsNyQkIjM/Ij4/enVLJTM2RjgkITNpZG4kZVEyIUd4RixGaWRibDcnNyQkIjNFO2VyLVdjRjZGOCQhMydmSVVeeV9UKm9GLDckJCIzeTt2aEkqb2Q/IkY4JCEzOVZWXyIpUV5zKCpGLDckJCIzcXlORy0jUl89IkY4JCEzUG83RS0oKW83NUY8NyQkIjMnUWBDXTVOQz4iRjgkITNnbSwyRFF4ciIpRixGXmZibDcnNyQkIjNVNUU+J0gjejg3RjgkITNJU0RUYmRdcmlGLDckJCIzOSpRMlFxMmlHIkY4JCEzKTNURDY0OyZSNUY8NyQkIjNBT3c/UlpQbDdGOCQhM11aKDN3ZmIyLyJGPDckJCIzSVNzNHhRb3Y3RjgkITNPLyE9ZHlxcmYpRixGY2dibDcnNyQkIjN3bXhieFViKzhGOCQhM2t4JXlVKXozaGRGLDckJCIzSyoqKTMiKlE3aE8iRjgkITM5PClRI295YiE0IkY8NyQkIjNnMyVII0chKVtYOEY4JCEzRVJgI28sQzYxIkY8NyQkIjNzI291XERcJGU4RjgkITNhIjN2JXp0R3MqKUYsRmhoYmw3JzckJCIzWWJaX3J4UyhRIkY4JCEzcyNbeVpZMW9PJkYsNyQkIjM3eCYzPWNEZlciRjgkITNrOykpPT9nKSpINkY8NyQkIjMuNXVScihSZVUiRjgkITMrOVpldyl5WTIiRjw3JCQiM0glPVNkU3MxVyJGOCQhMykpKWZeKDNTJVFHKkYsRl1qYmw3JzckJCIzUTtCZzUhZlNaIkY4JCEza0VCbCMzJnBzXUYsNyQkIjN2I28oUiopNCVmXyJGOCQhM0tLOVNlclJmNkY8NyQkIjM+S0AnZWhjbF0iRjgkITNBIWY4UyYpZkkzIkY8NyQkIjMvUGI2MilmR18iRjgkITMocHVeLTJcTmAqRixGYltjbDcnNyQkIjNdKj1EY0NvLmMiRjgkITMnb2hoPkF1bSZbRiw3JCQiMzh3OS9AJSlIMTtGOCQhM0EuMFpXIyoqND0iRjw3JCQiMyc9TiZlKWZpd2UiRjgkITNHTk4/MyNveTMiRjw3JCQiM0w1QTklKmUvMDtGOCQhM08iPUdtcEYvdCpGLEZnXGNsNyc3JCQiM2FHRXd6JipIWTtGOCQhMyl6aXdMMnUkKXAlRiw3JCQiM2kuMmRgUC4obyJGOCQhMzUtIUgkZiNIbz4iRjw3JCQiMyc0IzM0W3I3cDtGOCQhMyFwKm9hQidbLjQiRjw3JCQiM0svMVJXPkkobyJGOCQhM3kiNG4tKj04JikpKkYsRlxeY2w3JzckJCIzUDVkSXU4KD10IkY4JCEzX1J1W2dcciJlJUYsNyQkIjNJKUclcEQnRyJvPEY4JCEzKjMjemhxXlwzN0Y8NyQkIjN5J3BvWGwqKjN2IkY4JCEzQSU+V1Mqb08iNCJGPDckJCIzU0VIVll4bHA8RjgkITMmKlxGZGxQcys1RjxGYV9jbDcnNyQkIjMpW0x6QC9DciI9RjgkITNFPyJcazgkKVtcJUYsNyQkIjNJSXRbQ0VhXD1GOCQhMyJHdkBJTnlyQCJGPDckJCIzZnBuLnF3I0gkPUY4JCEzTyNmQj0iPVwiNCJGPDckJCIzXSE+QDUjKj5AJj1GOCQhM0EuTzBjYFc1NUY8RmZgY2w3JzckJCIzdnFnMlhJNS0+RjgkITNtL2IncGx0JUhXRiw3JCQiMyY0RWQjKUdJNyQ+RjgkITNXOSwoNEk+UEEiRjw3JCQiMzBpPyRmU2teIj5GOCQhM10hUj5CRiczIjQiRjw3JCQiMzgsUkovUG9NPkY4JCEzZDprT2sibyM9NUY8RltiY2w3JzckJCIzeSt3XFI3Jm8pPkY4JCEzYzg7JCopNHUmelZGLDckJCIzQShSLTB3W0osI0Y4JCEzaS5OeGMjNChHN0Y8NyQkIjNzOlo1I3lxdio+RjgkITNnUnY6aCR5LjQiRjw3JCQiM11DbkZ5JlJ0LCNGOCQhMzdbYmtlWGpDNUY8RmBjY2w3JzckJCEzK1tSJVxEeWklSEYsJCEzbVJSJVxEeWklSEYsNyQkIjMrW1IlXER5aSVIRiwkIjNLY1IlXER5aSVIRiw3JCQiM0JqLik0Ij4yMkNGLCQiM2p2UjNOeUtSJCpGZ2NfbDckJCIzUCMqUTNOeUtSJCpGZ2NfbCQiM2NyLik0Ij4yMkNGLEZlZGNsNyc3JCQiMzNVL0dacyFvUCZGLCQhM25QKCoqW2wlKmYkSEYsNyQkIjNQQSdRPiVmKSpHNkY8JCIzS2EoKipbbCUqZiRIRiw3JCQiMy1kdVZ0V091NUY8JCIzRyV5czdiLGFEKkZnY19sNyQkIjNbKHBDcFNaY0YqRiwkIjM8Q1A6KT4uUVMjRixGamVjbDcnNyQkIjNZP3QjUXk9ek8iRjwkITNXQkRRMExcL0hGLDckJCIzcTdnXVxYVGw+RjwkIjM0U0RRMExcL0hGLDckJCIza0l4P2FfbTM+RjwkIjMjeUBFXC82JSoqKilGZ2NfbDckJCIzKy8nUSopZVNNdyJGPCQiM3FfJCpvPTBvJFIjRixGX2djbDcnNyQkIjNHSjslXDtFZz4jRjwkITM7Kj5zT3FhKFxHRiw3JCQiM3NvJGVdJFEoUiFHRjwkIjMjZUBzT3FhKFxHRiw3JCQiMzA1cS1ySmZWRkY8JCIzcy44Zj84U2UmKUZnY19sNyQkIjNQKlJWZVYwNmcjRjwkIjNvdTROMiQ0ZFAjRixGZGhjbDcnNyQkIjNHMz0pUXk3Pi0kRjwkITN3Qjh6aEU9b0ZGLDckJCIzLGVbeSMpUXZXT0Y8JCIzVVM4emhFPW9GRiw3JCQiMyNwKG95JlI0InpORjwkIjNGejFcVy50NHpGZ2NfbDckJCIzVzV0cGktcVNNRjwkIjNnI3AxPHl2IVtCRixGaWljbDcnNyQkIjNVTT1ERC1bWFFGPCQhMyNceXBXMVxVbCNGLDckJCIzPSlcIjMzSiZ5WyVGPCQiM2UsKXBXMVxVbCNGLDckJCIzSWZdKWVfSl5UJUY8JCIzQzR3Sj9TZj5xRmdjX2w3JCQiM2lwOm1zIT5DRyVGPCQiM1BAZjU0Oyp5SSNGLEZeW2RsNyc3JCQiMz1tbW1tbW1tWUY8JCEzIT0qKioqKioqKioqKipcI0YsNyQkIjNFTExMTExMTGBGPCQiM1kzKysrKysrREYsNyQkIjNRRmYubWRcXl9GPCQiM2NtN08+Ilw4JWVGZ2NfbDckJCIzckVmLm1kXEVeRjwkIjNrJHotJ3k6ITNEI0YsRmNcZGw3JzckJCIzNTorJlsrTmJbJkY8JCEzKSl6PV9oR10lSCNGLDckJCIzM11tIj1tSjY9J0Y8JCIzYScqPV9oR10lSCNGLDckJCIzT1FYVVJKKnkzJ0Y8JCIzTjNlWW46ZTlWRmdjX2w3JCQiMzNXJVtqKno7dGZGPCQiM0twSjsqelwvPCNGLEZoXWRsNyc3JCQiM3IjcCNHb1dWLWpGPCQhMyE+SFdLQDdOLSNGLDckJCIzKSlSMTBsKSkqMy4oRjwkIjNiM1ZDOEFeQj9GLDckJCIzJSlmTC8tJnBQI3BGPCQiM2dWYjpsQURuQkZnY19sNyQkIjNlVzZRIipRZkFvRjwkIjNPQ2FWPWkpeTAjRixGXV9kbDcnNyQkIjNsKDNDcnhuIz1yRjwkITMlbzUjM3YleStuIkYsNyQkIjNNN2YoR0FLPCl5RjwkIjNbQkAzdiV5K24iRiw3JCQiM1lWaF8kRyo9ZXhGPCQhM2RVNCt2XEY8dSEjQTckJCIzcVA/eGZgb3V3RjwkIjNWZlhTUlFDLD5GLEZiYGRsNyc3JCQiM01VPjE3TiZbJHpGPCQhM2x2RG1Kc2Q8N0YsNyQkIjMyRFpnYUoiPXQpRjwkIjNJI2ZpO0J4dkAiRiw3JCQiM2tOIVE4dzAoKmUpRjwkITMjKSlcME9HKFtlSUZnY19sNyQkIjNnMVx2KipvIylHJilGPCQiM0Uxayp6UF1sbyJGLEZoYWRsNyc3JCQiMzctQiZbRDpfdilGPCQhM21KZzkkUSR6cmxGZ2NfbDckJCIzcUs1W3khPSJ5JipGPCQiMz0pPllKUSR6cmxGZ2NfbDckJCIzOSJ6NlcoUVE7JSpGPCQhM11ha0tAPjtnbEZnY19sNyQkIjNHZ2dcMlxfJFEqRjwkIjNUJD1ScCczQyw5RixGXWNkbDcnNyQkIjNxTExMTExMJGUqRjwkIjMxdScpbyVvc21LKSEjTTckJCIzdW1tbW1tbVQ1RjhGYGRkbDckJCIzLiJcYTJaQ08tIkY4JCEzSGVtbW1tbVQ1Riw3JEZnZGRsJCIzJVxubW1tbTsvIkYsRmNkZGw3JzckJCIzd0l6I0h2IUdVNUY4JCIzUVktOyk0JT1GckZnY19sNyQkIjN3TihRUCJmUUM2RjgkITMlKXorOyk0JT1GckZnY19sNyQkIjN2L0smKkd5I1s1IkY4JCEzQDgkR2N6Oy9WIkYsNyQkIjMlXEctNVUiUjM2RjgkIjNsZCI9a0NBQEEnRmdjX2xGZGVkbDcnNyQkIjNCemglMyNwWkY2RjgkIjNiRSlSZEUmPTo5Riw3JCQiMyJROihbN2smZT8iRjgkITMhKjQpUmRFJj06OUYsNyQkIjMlZWcpZiJ6W2A9IkY4JCEzKWUkZmw6ZDgjeSJGLDckJCIzJ1tJRnpyQ0M+IkY4JCIzYytWb2BkXnQ8RmdjX2xGaWZkbDcnNyQkIjNBNSk+RU4lbzg3RjgkIjNJcGM4bF52VT9GLDckJCIzTSo9IVFaY0onRyJGOCQhM2tfYzhsXnZVP0YsNyQkIjM9Kkd1R2kkW2w3RjgkITNPNzJHO3U1bT9GLDckJCIzY24qKnApUihwdjdGOCQhMydwTTdGWl1LXSNGZ2NfbEZeaGRsNyc3JCQiM1k+JDR3bFYvSSJGOCQiM2EzYmsqKWUzZURGLDckJCIzaVl0MDRJQW04RjgkITMpPVxYJyopZTNlREYsNyQkIjN5PU8pcDknZVg4RjgkITNRcyEpKioqNFdFRiNGLDckJCIzR1k9VndsUGU4RjgkITNvP1IoejguO0cnRmdjX2xGY2lkbDcnNyQkIjNLKkdIcysxdFEiRjgkIjN5QyNwMEhiayZIRiw3JCQiM0dWUzVFdC1ZOUY4JCEzOTMjcDBIYmsmSEYsNyQkIjNML2BTXEUjZlUiRjgkITNDNzI2JDMqRzVDRiw3JCQiM05dImVlI1xxUzlGOCQhM0klZT1DNmhEVSpGZ2NfbEZoamRsNyc3JCQiMyM+QiZvUjUoUloiRjgkIjMhcCdmTVIraWBLRiw3JCQiMz9uWkpnKkdnXyJGOCQhM0NdZk1SK2lgS0YsNyQkIjNbZkl5UlNpMTpGOCQhM0chR1pJQyZbJlwjRiw3JCQiM0IqeXoqUkAqR18iRjgkITNhJiopM3RBUFM+IkYsRl1cZWw3JzckJCIzLWxZSD5aSGc6RjgkIjNZV3FLVjZ6ck1GLDckJCIzaSs/UFo+UDE7RjgkITMheS1GTDkienJNRiw3JCQiM1daNCtka3IoZSJGOCQhM1IzaSI0JG9VV0RGLDckJCIzZSNlPEZUdl1nIkY4JCEzazdHKSpHaFwjUiJGLEZiXWVsNyc3JCQiM100YCw6IlJpayJGOCQiMyRIJyo9IVFaY0pPRiw3JCQiM2tBIT0kPVU0KG8iRjgkITNHWSo9IVFaY0pPRiw3JCQiM015JFJyIipwInA7RjgkITNLbG4qKnApUihwREYsNyQkIjM3dCVIM3VGdG8iRjgkITNXTCpHdUdpJFs6RixGZ15lbDcnNyQkIjMpKmUkR3MkPiM9dCJGOCQiMy1SM2xZYUFcUEYsNyQkIjNxUjt4aSF5Im88RjgkITNPQTNsWWFBXFBGLDckJCIzRSk0enFtTDR2IkY4JCEzbyRcJUd2WkAhZSNGLDckJCIzTV9CSiV6eidwPEY4JCEzLXRDcU87SnI7RixGXGBlbDcnNyQkIjNQcj4hKTRPMzw9RjgkIjNTeiFRI3ktdU9RRiw3JCQiMyNRcGtvMCRlXD1GOCQhM3ZpIVEjeS11T1FGLDckJCIzVCN5eCVwWyZIJD1GOCQhMytBTj0jNEU7ZSNGLDckJCIzZ3MqbzNkUUAmPUY4JCEzZWVhaDoqUiJwPEYsRmFhZWw3JzckJCIzX0onZlkmKXA/IT5GOCQiMz0jbyEpbygpPkUhUkYsNyQkIjM9K1BueU1FSj5GOCQhM2BsMSlvKCk+RSFSRiw3JCQiM3U+YChSSyc9Oj5GOCQhMzlTLHIqPmN3ZCNGLDckJCIzQUIoZkxVKnBNPkY4JCEzM0glZSQqZjp5JT1GLEZmYmVsNyc3JCQiMyMzaiMzVlEjbyk+RjgkIjMhPls1XzJaRyZSRiw3JCQiMz1udCJwOndKLCNGOCQhM0NsL0B2cSVHJlJGLDckJCIzVyYqPiNmZillKCo+RjgkITM1RzUlZis9MWQjRiw3JCQiMyp6LylISkdOPD9GOCQhMzg6RTJnLCI9Ij5GLEZbZGVsNyc3JEZkY2FsJCIzYSZmTCV5J1F0UiZGLDckRmljYWwkIjNvM0wjKSl6S3A3IkY8NyRGXmRhbCQiM202MVkpW3QpZSMqRiw3JEZjZGFsJCIzcTAoW0psOFAyIkY8Rl5lZWw3JzckRmlkYWwkIjNCaHo0YypIeFMmRiw3JEZeZWFsJCIzMHNvMHJPKmU3IkY8NyRGY2VhbCQiMzMvZShHLTYvRCpGLDckRmhlYWwkIjMnXCN5QGI6UXQ1RjxGW2ZlbDcnNyRGXmZhbCQiM2AwTnR5NWNSYUYsNyRGY2ZhbCQiM3A8THplMHJBNkY8NyRGaGZhbCQiMyxNQSgpXCMqZkMjKkYsNyRGXWdhbCQiMzc0VzJrSk5zNUY8RmhmZWw3JzckRmNnYWwkIjNlIUc9LzVzW1wmRiw3JEZoZ2FsJCIzRFNbaWMlenI2IkY8NyRGXWhhbCQiM3NRSTBDSjghPSpGLDckRmJoYWwkIjNnLSMzdGtGMDIiRjxGZWdlbDcnNyRGaGhhbCQiMzcqUWlgSyVIeGJGLDckRl1pYWwkIjNMSC84TXMkKjM2Rjw3JEZiaWFsJCIzO2EiMywvTFo2KkYsNyRGZ2lhbCQiM2Nzd3glPUB4MSJGPEZiaGVsNyc3JEZdamFsJCIzWTNDdyh5MENwJkYsNyRGYmphbCQiM1FGLyp5M0V1NCJGPDckRmdqYWwkIjNWbW4yKSoqKSpcLSpGLDckRlxbYmwkIjNzRThkVDdrajVGPEZfaWVsNyc3JEZiW2JsJCIzK0FwbC9DQVtlRiw3JEZnW2JsJCIzL3c0P0VXJT0zIkY8NyRGXFxibCQiMzcpKSlHaGRaaSEqKUYsNyRGYVxibCQiM11eTUN2ciV5MCJGPEZcamVsNyc3JEZnXGJsJCIzdXZ5VnomUmQwJ0YsNyRGXF1ibCQiM20hKUdzM0Y0aDVGPDckRmFdYmwkIjMpb0hUUDZJQ3YpRiw3JEZmXWJsJCIzKXo/TTUrKHBcNUY8RmlqZWw3JzckRlxeYmwkIjNfTmUsOl1CSGpGLDckRmFeYmwkIjNwJTNsXjtWUC4iRjw3JEZmXmJsJCIzbyY9QDNqcmpiKUYsNyRGW19ibCQiM2EoZTg8OypHUTVGPEZmW2ZsNyc3JEZhX2JsJCIzIW9UV3U/IWYmbydGLDckRmZfYmwkIjNpbEFBZmsyIikqKkYsNyRGW2BibCQiM1p3KmZKb0czSilGLDckRmBgYmwkIjNiY2AkSG9MQy0iRjxGY1xmbDcnNyRGZmBibCQiM1EpKm9IKm9RNjkoRiw3JEZbYWJsJCIzLSV5cHQoel9EJipGLDckRmBhYmwkIjNJJzMvczV3NiwpRiw3JEZlYWJsJCIzaTxXJioqKjN1KzVGPEZgXWZsNyc3JEZbYmJsJCIzMFBxZFEzMS94Riw3JEZgYmJsJCIzTVgnKjNHZWdpKilGLDckRmViYmwkIjNpPWQ3PFVTZ3dGLDckRmpiYmwkIjNsLj1wczklKT4oKkYsRl1eZmw3JzckRmBjYmwkIjM1VidSMyN5RWkkKUYsNyRGZWNibCQiM0lScSNlJSkpUi8kKUYsNyRGamNibCQiMz9oSkAnSCdHdnNGLDckRl9kYmwkIjNpZG9tJ1JwJmUkKkYsRmpeZmw3JzckRmVkYmwkIjNldHpKNXNudCEqRiw3JEZqZGJsJCIzISkzKFtqWCopSGYoRiw3JEZfZWJsJCIzRWlDKG9CdyUpKW9GLDckRmRlYmwkIjM4MypIM0dmJ1EqKUYsRmdfZmw3JzckRmplYmwkIjMhKWZWXyIpUV5zKCpGLDckRl9mYmwkIjNnQUI5JnlfVCpvRiw3JEZkZmJsJCIzNSMpUjBXJ3ooUmxGLDckRmlmYmwkIjM7KlwnZlRHKltcKUYsRmRgZmw3JzckRl9nYmwkIjNhN2E3IjQ7JlI1Rjw3JEZkZ2JsJCIzJ3BiN2F2MDpGJ0YsNyRGaWdibCQiM3UhPnowcDUiZmlGLDckRl5oYmwkIjNRaCdbNCllXHAhKUYsRmFhZmw3JzckRmRoYmwkIjMhKT0pUSNveWIhNCJGPDckRmloYmwkIjNHJVx5VSl6M2hkRiw3JEZeaWJsJCIzLXRLVClcRWEwJ0YsNyRGY2libCQiM0ElZSI+KEd6VnAoRixGXmJmbDcnNyRGaWlibCQiM0k9KSk9P2cpKkg2Rjw3JEZeamJsJCIzUSpceVpZMW9PJkYsNyRGY2pibCQiM3FEJj4zIXooKT5mRiw3JEZoamJsJCIzKW8xOnpsQUdRKEYsRltjZmw3JzckRl5bY2wkIjMpUlYsJWVyUmY2Rjw3JEZjW2NsJCIzSVZCbCMzJnBzXUYsNyRGaFtjbCQiMzprMmBFIm9nJGVGLDckRl1cY2wkIjM7P1xUJ2Y8SjgoRixGaGNmbDcnNyRGY1xjbCQiMylbXXFXQyoqND0iRjw3JEZoXGNsJCIzX0w7Jz5BdW0mW0YsNyRGXV1jbCQiM3E4OGolZSUpenkmRiw3JEZiXWNsJCIzUiVbUSsoKlFpJHBGLEZlZGZsNyc3JEZoXWNsJCIzdy4hSCRmI0hvPiJGPDckRl1eY2wkIjNrV21QdFNQKXAlRiw3JEZiXmNsJCIzcSdwKD5KLz1qZEYsNyRGZ15jbCQiMylSZCpSd1pgInknRixGYmVmbDcnNyRGXV9jbCQiM2JBemhxXlwzN0Y8NyRGYl9jbCQiMz1jdVtnXHIiZSVGLDckRmdfY2wkIjNxQVpBRXgqSHYmRiw3JEZcYGNsJCIzSW0iUjQsSCVmbUYsRl9mZmw3JzckRmJgY2wkIjNbYTwtYCR5ckAiRjw3JEZnYGNsJCIzI3A4XGs4JClbXCVGLDckRlxhY2wkIjMzVTJWWyZbPHYmRiw3JEZhYWNsJCIzX0wxODFKQGlsRixGXGdmbDcnNyRGZ2FjbCQiMzY7LCg0ST5QQSJGPDckRlxiY2wkIjNKQGIncGx0JUhXRiw3JEZhYmNsJCIza2dGWlZSIWV2JkYsNyRGZmJjbCQiMzE1RCtCXSlSWydGLEZpZ2ZsNyc3JEZcY2NsJCIzSDBOeGMjNChHN0Y8NyRGYWNjbCQiM0FJOyQqKTR1JnpWRiw3JEZmY2NsJCIza3A3NGJJKUd3JkYsNyRGW2RjbCQiMyhmPTYtM0AuVSdGLEZmaGZsNyc3JEZmYl9sJCIzNzklR2hMPGlQIkY8NyRGW2NfbCQiM3E/XD8oKmY2ZD5GPDckRmBjX2wkIjNzR2Y2eDJtYzxGPDckRmVjX2wkIjMiPmdOJj1aLjE+RjxGY2lmbDcnNyRGXGRfbCQiMyVRbzE3VypHeDhGPDckRmFkX2wkIjMpNGxFQCpRL2M+Rjw3JEZmZF9sJCIzYWMwS2VLemI8Rjw3JEZbZV9sJCIzYVV4UyhcJ28wPkY8RmBqZmw3JzckRmFlX2wkIjNZJnlKel90MFEiRjw3JEZmZV9sJCIzT1w6UzApZkYmPkY8NyRGW2ZfbCQiM0skPiJvMHQ5YDxGPDckRmBmX2wkIjMpPTJIInokM1khPkY8Rl1bZ2w3JzckRmZmX2wkIjMpM2FJKj0pemlRIkY8NyRGW2dfbCQiMydSei1XXmBxJT5GPDckRmBnX2wkIjNdL0RxdCYqZVs8Rjw3JEZlZ19sJCIzY2VsMkFgcC0+RjxGaltnbDcnNyRGW2hfbCQiM0EmUUxwLSN5JVIiRjw3JEZgaF9sJCIzZ1wqKlIxOGJRPkY8NyRGZWhfbCQiMzQtNHFgdik9dSJGPDckRmpoX2wkIjMhWz4iPmFndioqPUY8RmdcZ2w3JzckRmBpX2wkIjNvMSgqUigpR2wxOUY8NyRGZWlfbCQiMzlHTyRmVyFvRT5GPDckRmppX2wkIjM5XmwpKmVicEs8Rjw3JEZfal9sJCIzdzw6cSV6J1smKj1GPEZkXWdsNyc3JEZlal9sJCIzMT06QnBBckE5Rjw3JEZqal9sJCIzdzs9NWs1aTU+Rjw3JEZfW2BsJCIzYjg7UGUqUjBzIkY8NyRGZFtgbCQiM09iIylHazlWKik9RjxGYV5nbDcnNyRGaltgbCQiM2tNJzNiY3hTVyJGPDckRl9cYGwkIjM7K1ojeXdiIyopPUY8NyRGZFxgbCQiM2ldKCkpR2o5W3EiRjw3JEZpXGBsJCIzL1xBYiczSDQpPUY8Rl5fZ2w3JzckRl9dYGwkIjNjXHVeM1I9czlGPDckRmRdYGwkIjNDJillIltVXDYnPUY8NyRGaV1gbCQiM3VbTFszRCJbbyJGPDckRl5eYGwkIjMnUjgkKj5MZiFwPUY8RltgZ2w3JzckRmReYGwkIjNrWVU7IlwlcDM6Rjw3JEZpXmBsJCIzPCkzcEAlKVFZIz1GPDckRl5fYGwkIjMrOyZIOzNYKWY7Rjw3JEZjX2BsJCIzPXFDaiZvQ0UmPUY8RmhgZ2w3JzckRmlfYGwkIjMvRyIqMyFSW15iIkY8NyRGXmBgbCQiM3kxVUNWXD15PEY8NyRGY2BgbCQiMzQ8SzJrJ0gmSDtGPDckRmhgYGwkIjNEKXk3PmNpLSQ9RjxGZWFnbDcnNyRGXmFgbCQiMyJ5YWszQGlAaCJGPDckRmNhYGwkIjMsKHlvQzdyNnMiRjw3JEZoYWBsJCIzNXMmSC5TKUglZiJGPDckRl1iYGwkIjNIP1JFLDslMyE9RjxGYmJnbDcnNyRGY2JgbCQiM3U5byx5aUJ5O0Y8NyRGaGJgbCQiMzM/bEpicTRiO0Y8NyRGXWNgbCQiM1NsZCQ9TSEpZmIiRjw3JEZiY2BsJCIzI1xUUWhNTFV3IkY8Rl9jZ2w3JzckRmhjYGwkIjM/W2otV3IjKls8Rjw3JEZdZGBsJCIzaScpcEkqPTFXZSJGPDckRmJkYGwkIjN4W1NAbSY0el4iRjw3JEZnZGBsJCIzI0clM192QzlBPEY8RlxkZ2w3JzckRl1lYGwkIjMiZSp5OVVmbzw9Rjw3JEZiZWBsJCIzLFJhPSJSWmNeIkY8NyRGZ2VgbCQiM3dfcnVObyZSWyJGPDckRlxmYGwkIjNdKmVeY1pDInk7RjxGaWRnbDcnNyRGYmZgbCQiM2VSL3EqR3AleT1GPDckRmdmYGwkIjNBJipHalZTJ1tYIkY8NyRGXGdgbCQiMylHKm9OSEUob1giRjw3JEZhZ2BsJCIzQUJWLzU+R087RjxGZmVnbDcnNyRGZ2dgbCQiM1QtTzZ1UjBHPkY8NyRGXGhgbCQiM1NLKD4jZiR6X1MiRjw3JEZhaGBsJCIzMz9bZiU9VnRWIkY8NyRGZmhgbCQiMy0vMEsjZSRlKmYiRjxGY2ZnbDcnNyRGXGlgbCQiM3NpI3khXCd5aSc+Rjw3JEZhaWBsJCIzNXNdRCVvYXFPIkY8NyRGZmlgbCQiM0wiKXksMTVTQzlGPDckRltqYGwkIjMhNCMqUTAmKnoicDpGPEZgZ2dsNyc3JEZhamBsJCIzP0cpPi92JHolKj5GPDckRmZqYGwkIjNoMU4iSGVSJlE4Rjw3JEZbW2FsJCIzOUN1ditTVTs5Rjw3JEZgW2FsJCIzWkkmcF9iQFthIkY8Rl1oZ2w3JzckRmZbYWwkIjNDJVsmPkZgdzo/Rjw3JEZbXGFsJCIzZV15ODEhb3ZKIkY8NyRGYFxhbCQiMzQoKipHLVRsPVQiRjw3JEZlXGFsJCIzOno8XDUqKWZEOkY8RmpoZ2w3JzckRltdYWwkIjNfIWZOXTFqNi4jRjw3JEZgXWFsJCIzSFd4SG8tPC04Rjw3JEZlXWFsJCIzWi5PXTFKYDQ5Rjw3JEZqXWFsJCIzQTB0bXEwWjU6RjxGZ2lnbDcnNyRGYF5hbCQiM0UqWzMyek1ELyNGPDckRmVeYWwkIjNhWFtpVSYpeiFIIkY8NyRGal5hbCQiMzdITVcoKSkqZjM5Rjw3JEZfX2FsJCIzQSFHKnBUJjMmKVwiRjxGZGpnbDcnNyRGZV9hbCQiMyUqeillJXlxLF4/Rjw3JEZqX2FsJCIzKVtYdVtEO0JHIkY8NyRGX2BhbCQiM0JcW2taQF8zOUY8NyRGZGBhbCQiM0dFNm4jZW4qKVsiRjxGYVtobDcnNyRGamBhbCQiMztJUmxYJj51MCNGPDckRl9hYWwkIjNtLyV6d3k4ZkYiRjw3JEZkYWFsJCIzPihcPXVfXyozOUY8NyRGaWFhbCQiM1UpPVh4J3BGIlsiRjxGXlxobDcnNyRGX2JhbCQiMzc/SFZfR0ppP0Y8NyRGZGJhbCQiM3E5LyE0Wz81RiJGPDckRmliYWwkIjMjKilHMDZGcyc0OUY8NyRGXmNhbCQiM2dLJnolUSQzXVoiRjxGW11obDcnNyRGaWFdbCQiM3V6RmpIWC06QUY8NyRGXmJdbCQiM09Ac09xYShceSNGPDckRmNiXWwkIjNvN2Y/OFNlJmUjRjw3JEZoYl1sJCIzMCg0TjIkNGRQRkY8RmhdaGw3JzckRl5jXWwkIjNjJVwzbihROjtBRjw3JEZjY11sJCIzI29dIkhCaCVReSNGPDckRmhjXWwkIjNXcT4yeip6WWUjRjw3JEZdZF1sJCIzISpvWyhSSiU+UEZGPEZlXmhsNyc3JEZjZF1sJCIzLHVRRV9KaD5BRjw3JEZoZF1sJCIzNUZodFpvUSF5I0Y8NyRGXWVdbCQiM1FQZS4ySCM+ZSNGPDckRmJlXWwkIjNyIiopNGFsR2d0I0Y8RmJfaGw3JzckRmhlXWwkIjNtJXlhKzNCY0EjRjw3JEZdZl1sJCIzPTtfJSo+cFB1RkY8NyRGYmZdbCQiMztTVSFHI1s8eERGPDckRmdmXWwkIjMxMTo/TTsnUnQjRjxGX2BobDcnNyRGXWddbCQiMz9ASWIkNHZYQiNGPDckRmJnXWwkIjMhKnpwVzFcVWxGRjw3JEZnZ11sJCIzKWY8Li0lZj5xREY8NyRGXGhdbCQiM2wiZjU0Oyp5SUZGPEZcYWhsNyc3JCQiMykqKTQ/cHVgYiRRRjwkIjNnUiFRJz5sMVpBRjw3JCQiM2dMS1QnZXp4XCVGPCQiM11oPk8hW0xIdiNGPDckJCIzVlRHXGNvajxXRjwkIjNBJXklcFM9amdERjw3JCQiMyc0Jz1KOyw8IkglRjwkIjM7byFvMEkpPUVGRjxGW2JobDcnNyRGZ2ldbCQiM29jcXpCaiVSRSNGPDckRlxqXWwkIjM6V0g/d08wT0ZGPDckRmFqXWwkIjMzI0dUY3QsIVtERjw3JEZmal1sJCIzU11oXk9ybj5GRjxGXmNobDcnNyRGXFtebCQiM28jXHNxJ3lOJ0cjRjw3JEZhW15sJCIzVzN2I0g4VU9yI0Y8NyRGZltebCQiM3dkRj0meSs8YCNGPDckRltcXmwkIjNzWCRRaSdSYzVGRjxGW2RobDcnNyRGYVxebCQiM2AmKipwPDFTZEojRjw3JEZmXF5sJCIzSTArQlEqZlVvI0Y8NyRGW11ebCQiMzxLRkBxYS82REY8NyRGYF1ebCQiM2dVLiUpPTEhenAjRjxGaGRobDcnNyRGZl1ebCQiM09QWyttJilwYEJGPDckRlteXmwkIjNbal4qUlYsamsjRjw3JEZgXl5sJCIzKUg1U2F3O2FbI0Y8NyRGZV5ebCQiM28/LjVXYFshbyNGPEZlZWhsNyc3JEZbX15sJCIzZ3Q9cEE+ZixDRjw3JEZgX15sJCIzXUYiM3QyMyUpZiNGPDckRmVfXmwkIjNHSF4/JFJ3WFgjRjw3JEZqX15sJCIzNzBaX21lLGRFRjxGYmZobDcnNyRGYGBebCQiM2cmUlRUJTNvZkNGPDckRmVgXmwkIjNDMCdlZTo+LmEjRjw3JEZqYF5sJCIzIyplOiopPkU9PkNGPDckRl9hXmwkIjMmZSZIZnkjUWxpI0Y8Rl9naGw3JzckRmVhXmwkIjMrZlljXzQqZl8jRjw3JEZqYV5sJCIzN1VgVlohNFNaI0Y8NyRGX2JebCQiM00kW3IoXCcqSCJRI0Y8NyRGZGJebCQiM1deKClHcXNBKmUjRjxGXGhobDcnNyRGamJebCQiMyFHKVxjXnB1JmYjRjw3JEZfY15sJCIzST1dVltJRC9DRjw3JEZkY15sJCIzKkdtViVwTkxXQkY8NyRGaWNebCQiM19tbCIpPj00WkRGPEZpaGhsNyc3JEZfZF5sJCIzXUElNEQiUV9pRUY8NyRGZGRebCQiM2l5MFwoPXd1TCNGPDckRmlkXmwkIjNSJ2ZRK1BOPkojRjw3JEZeZV5sJCIzVj5jSGJudy5ERjxGZmlobDcnNyRGZGVebCQiMyM+KnptIipHJDNzI0Y8NyRGaWVebCQiMyMqMz9MM3I7ekFGPDckRl5mXmwkIjMpNGtfKClSZGtHI0Y8NyRGY2ZebCQiM1lNcTM3UDdqQ0Y8RmNqaGw3JzckRmlmXmwkIjMpKXlZPF8nWyFvRkY8NyRGXmdebCQiM0JBYCN5TV4+QiNGPDckRmNnXmwkIjN5KHlDbiEpcCNvQUY8NyRGaGdebCQiMzYyJGY2JClweFUjRjxGYFtpbDcnNyRGXmhebCQiMyVSQjBuTlZWIUdGPDckRmNoXmwkIjM9blpIVm1sJj4jRjw3JEZoaF5sJCIzeSIqZUAjKWZIY0FGPDckRl1pXmwkIjN1Lk12I1EnZSlSI0Y8Rl1caWw3JzckRmNpXmwkIjMlWyhvTSQpKUg5JEdGPDckRmhpXmwkIjNFRUpsOyxkb0BGPDckRl1qXmwkIjNdKTRSVidSJipbQUY8NyRGYmpebCQiMz1nKT12J0hAdkJGPEZqXGlsNyc3JEZoal5sJCIzQ2NHSjp2Ul5HRjw3JEZdW19sJCIzKVs5KG8lWy0nW0BGPDckRmJbX2wkIjNPNkh5WXN5V0FGPDckRmdbX2wkIjNnVSF6dypvdGNCRjxGZ11pbDcnNyRGXVxfbCQiM19scGFYaDVtR0Y8NyRGYlxfbCQiM2ZOSVhhUSpROCNGPDckRmdcX2wkIjMhUUZFN0gob1VBRjw3JEZcXV9sJCIzK3NdP1N3OlVCRjxGZF5pbDcnNyRGYl1fbCQiMyV5dSRlI3oycShHRjw3JEZnXV9sJCIzRmBpVDJBKkg3I0Y8NyRGXF5fbCQiMypSTG1CXigpPUMjRjw3JEZhXl9sJCIzRiNSbyNHX2ZJQkY8RmFfaWw3JzckRmdeX2wkIjNLJj1yJWYib14pR0Y8NyRGXF9fbCQiM3o6KUcwJT0kWzYjRjw3JEZhX19sJCIzPktIJEh0JCk9QyNGPDckRmZfX2wkIjMpNGtiKmVgTUBCRjxGXmBpbDcnNyRGXGBfbCQiMzsiem4pbyFbOCpHRjw3JEZhYF9sJCIzJSo0QThKPmwzQEY8NyRGZmBfbCQiMyJ6RlRVI0hOVUFGPDckRlthX2wkIjNjSVlRMiRvUUojRjxGW2FpbDcnNyRGYWFfbCQiM2dVNyhvZyYzJypHRjw3JEZmYV9sJCIzeWUoR0pSOVI1I0Y8NyRGW2JfbCQiMykpSEMsdDQ0VkFGPDckRmBiX2wkIjNRZipvMyxleEkjRjxGaGFpbDcnNyRGaGFbbCQiM3UrVTpuXV5jSUY8NyRGXWJbbCQiM25tQ14qZl4saCRGPDckRmJiW2wkIjNAUiN5bmpJQ1QkRjw3JEZnYltsJCIzIz4rLzoiNDlvTkY8RmViaWw3JzckRl1jW2wkIjNrUWlgSyVIeDAkRjw3JEZiY1tsJCIzeEcvOE1zJCozT0Y8NyQkIjMhNHVNZ1Y6JXo1RjwkIjNzOTMsL0xaNk1GPDckRlxkW2wkIjMnPW54Wj1AeGMkRjxGYmNpbDcnNyRGYmRbbCQiM3leK2ckcFs5MSRGPDckRmdkW2wkIjNpOm0xdHpAME9GPDckRlxlW2wkIjMkeWNuLkFhJjNNRjw3JEZhZVtsJCIzIzMneSYzc0FrYyRGPEZhZGlsNyc3JEZnZVtsJCIzTWFqKW9VM3oxJEY8NyRGXGZbbCQiMzE4LnlSI2UoKWYkRjw3JEZhZltsJCIzOTRsYHQjSE5TJEY8NyRGZmZbbCQiMyFbI1JDJVxBVGMkRjxGXmVpbDcnNyRGXGdbbCQiM2skeW9WdUN2MiRGPDckRmFnW2wkIjN3JCl5SEE+OSplJEY8NyQkIjNnbCU9VndsUGUkRjwkIjNndElyayRcaFIkRjw3JEZbaFtsJCIzXVRKTFZ4ZmdORjxGW2ZpbDcnNyRGYWhbbCQiM3VnYE4iPUc0NCRGPDckRmZoW2wkIjNtMThKJltRZGQkRjw3JEZbaVtsJCIzdTdCclcpXGdRJEY8NyRGYGlbbCQiM0lbIipHMSIpXGJORjxGamZpbDcnNyRGZmlbbCQiM2UkM3V5WS8hNEpGPDckRltqW2wkIjMjUWUjeik+aXdiJEY8NyRGYGpbbCQiMzVnMEQhNFdGUCRGPDckRmVqW2wkIjNzYlovNmVJW05GPEZnZ2lsNyc3JEZbW1xsJCIzRyRlLDpdQkg4JEY8NyRGYFtcbCQiMzglM2xeO1ZQYCRGPDckRmVbXGwkIjMtPUAzanJqYkxGPDckRmpbXGwkIjMpcGU4PDsqR1FORjxGZGhpbDcnNyRGXHYkIjNbSXhacyozVDskRjw3JEZhdiQiMyNwJCopPSVwZERdJEY8NyRGW3ckIjNUImYoWyRwIzRNTEY8NyRGZnYkIjMqWzldJSo0cVdfJEY8RmFpaWw3JzckRl1dXGwkIjMkXHBkbykqXFM/JEY8NyRGYl1cbCQiM1tzKjMpem1oaU1GPDckRmddXGwkIjMwWzBtMSk0d0kkRjw3JEZcXlxsJCIzUkdLaSEqM20wTkY8Rl5qaWw3JzckRmJeXGwkIjMrMnVxM1YhUUQkRjw3JEZnXlxsJCIzVGcjZnpOaUdUJEY8NyRGXF9cbCQiMyd5bE9xbnRoRiRGPDckRmFfXGwkIjM5N3dAJClvbiFbJEY8Rltbamw3JzckRmdfXGwkIjNeQGFpI2YtSkokRjw3JEZcYFxsJCIzIWZDVFMya05OJEY8NyRGYWBcbCQiMyRRMCIqcDRnMkMkRjw3JEZmYFxsJCIzKzU1cTp4JSlbTUY8Rmhbamw3JzckRlxhXGwkIjMzYHk+cGtNekxGPDckRmFhXGwkIjNLOSlvdT4/dEckRjw3JEZmYVxsJCIzI1wobzA5XHIuS0Y8NyRGW2JcbCQiM1U3c1dEU3g1TUY8RmVcamw3JzckRmFiXGwkIjM9WlAicCdHVlpNRjw3JEZmYlxsJCIzQj9Idip6TCM+S0Y8NyRGW2NcbCQiM2syKGUyUmIlb0pGPDckRmBjXGwkIjMhcHMoUS5gIylvTEY8RmJdamw3JzckRmZjXGwkIjNQaUtERkVENk5GPDckRltkXGwkIjMvME1UUlNUYkpGPDckRmBkXGwkIjMqXDBCaXlpI1FKRjw3JEZlZFxsJCIzSC49JzQjemtFTEY8Rl9eamw3JzckRltlXGwkIjMxXDVHJT08aGMkRjw3JEZgZVxsJCIzTT1jUSNbXDA1JEY8NyRGZWVcbCQiM3RuUzVTUSZcNiRGPDckRmplXGwkIjNrZyd5SiY9dShHJEY8Rlxfamw3JzckRmBmXGxGZmJpbDckRmNmXGxGY2JpbDckRmZmXGwkIjNbbEU7YmRfKTQkRjw3JEZbZ1xsJCIzP0clKSkpSGdCYUtGPEZnX2psNyc3JEZhZ1xsJCIzSC9UdCMqNCFSayRGPDckRmZnXGwkIjM3akQkUm5sRi0kRjw3JEZbaFxsJCIzIz1ONl1yLHkzJEY8NyRGYGhcbCQiMzE6KClbOiIqb0VLRjxGYmBqbDcnNyRGZmhcbCQiM1sjKnkuQXU2cE9GPDckRltpXGwkIjMhXHhHWUNcdipIRjw3JEZgaVxsJCIzRyFlJGYiUnQ3MyRGPDckRmVpXGwkIjNmQyhvJ1tFaS9LRjxGX2FqbDcnNyRGW2pcbCQiM2MlZSUqZVpzeG8kRjw3JEZgalxsJCIzJUczczI+JSopeUhGPDckRmVqXGwkIjMxQmhBN3hneElGPDckRmpqXGwkIjMxZzsoMyhSOCg9JEY8Rlxiamw3JzckRmBbXWwkIjN0VXpaKUh5OnEkRjw3JEZlW11sJCIzb0MoKT1vJCkzbEhGPDckRmpbXWwkIjMlPSlRSDZbIWUyJEY8NyRGX1xdbCQiM3M4WHI+OUd0SkY8Rmliamw3JzckRmVcXWwkIjNdRy9ZUT0nPXIkRjw3JEZqXF1sJCIzIypRaT9HWyFbJkhGPDckRl9dXWwkIjM/KHAkM2FjPHZJRjw3JEZkXV1sJCIzI0hSRFFJXEE7JEY8RmZjamw3JzckRmpdXWwkIjMpR1l0Kio0KGY+UEY8NyRGX15dbCQiM18vS3BtJnBxJUhGPDckRmReXWwkIjNxPkguLmpFdklGPDckRmleXWwkIjNTMGAjWzEoUWBKRjxGY2RqbDcnNyRGX19dbCQiMzhtKD4lSD1bRFBGPDckRmRfXWwkIjNGLHBDUFs9VEhGPDckRmlfXWwkIjMnSGw1ZXcleXZJRjw3JEZeYF1sJCIzdWkpXCRvYT5ZSkY8RmBlamw3JzckRmRgXWwkIjMrRmJgKz4sSVBGPDckRmlgXWwkIjNTUzY4bVpsT0hGPDckRl5hXWwkIjMhSDEwIW9jYXdJRjw3JEZjYV1sJCIzJSlINmYhZShIU0pGPEZdZmpsNyc3JEZbYXkkIjNcKG8+LXdUNyFSRjw3JEZgYXkkIjNAWU82dDo0S1dGPDckJCIzZ01SPSNmW1lbI0YsJCIzR1UpcG9naW9CJUY8NyRGamF5JCIzJXpEeHYjZVgoUiVGPEZqZmpsNyc3JCQiMycpSC4xKVwxMDYmRiwkIjNzdCY0QCJSZC1SRjw3JEZlYnkkIjMqKmZQQUAlZjJWJUY8NyRGamJ5JCIzQjQ1OUxLJGVCJUY8NyQkIjN4KUdUbEsuL10qRiwkIjNlZlkhXGR1cFIlRjxGW2hqbDcnNyRGZWN5JCIzUzEoKlIoKUdsMVJGPDckRmpjeSQiM0pGTyRmVyFvRVdGPDckRl9keSQiMy5dbCkqZWJwS1VGPDckRmRkeSQiMyNwXixaeidbJlIlRjxGamhqbDcnNyRGamR5JCIzIWZxL2o9TFAiUkY8NyQkIjNKbmx1Pkg2SkdGPCQiMyF5aUdxOSsnPldGPDckJCIzOXZoIykqPXE0diNGPCQiM19dOU8yJilIRlVGPDckJCIzbSU+WCdcTV1DRUY8JCIzV01aQm5cJkdSJUY8Rmdpamw3JzckRl9meSQiMypRcClvOTpFQ1JGPDckRmRmeSQiMyMpUllrPT0yNFdGPDckRmlmeSQiMypla1gheUpRPlVGPDckRl5neSQiM1kiW0EnUjkkKSlRJUY8Rmpqamw3JzckRmRneSQiMy4/ckYiSDIqUVJGPDckRmlneSQiM204aTBVZ1UlUiVGPDckRl5oeSQiM2NpdXFXamQzVUY8NyRGY2h5JCIzJzNhblZMSUlRJUY8RmdbW203JzckRmloeSQiM3EmKXoqcG4kZmVSRjw3JEZeaXkkIjMrW2BMYydSWlAlRjw3JEZjaXkkIjNrI3BbSylHUiU+JUY8NyRGaGl5JCIzRVt2X00qKilbUCVGPEZkXFttNyc3JEZeankkIjMlUiwuKVFJXSUpUkY8NyRGY2p5JCIzeT4uYCVISSlbVkY8NyRGaGp5JCIzR2IpcCR5cEV3VEY8NyRGXVt6JCIzPUVgSiJHTk9PJUY8RmFdW203JzckRmNbeiQiMy8qUTs9NykqeiwlRjw3JEZoW3okIjNtV3BeNl9MOlZGPDckRl1ceiQiM2MvJGZIX1xPOiVGPDckRmJceiQiMyV6ZCFcaixGW1ZGPEZeXlttNyc3JEZoXHokIjM5VlA6IlJfLjElRjw3JEZdXXokIjNjIWZ6QCU0KUhGJUY8NyRGYl16JCIzZCMqPjtCbkFFVEY8NyRGZ116JCIzXmUhPXlIa3dLJUY8RltfW203JzckRl1eeiQiM0RaWCczQGlANiVGPDckRmJeeiQiM1gneW9DN3I2QSVGPDckRmdeeiQiMyM9ZEguUylIJTQlRjw3JEZcX3okIjNZPlJFLDslM0klRjxGaF9bbTcnNyRGYl96JCIzV1w2aVhKWHNURjw3JEZnX3okIjNFJT03eD0hKTM7JUY8NyRGXGB6JCIzLUMhPWE9SCNmU0Y8NyRGYWB6JCIzJyoqUXp4VVV2RSVGPEZlYFttNyc3JEZnYHokIjNTbyNbd11RekIlRjw3JEZcYXokIjNJbF1vRFtSJjQlRjw3JEZhYXokIjMoWyRRNSgpXGlCU0Y8NyRGZmF6JCIzIXolMzgqKXkpKUdVRjxGYmFbbTcnNyRGXGJ6JCIzaXJ3dC4jUUxJJUY8NyRGYWJ6JCIzM2ljZkheKipIU0Y8NyRGZmJ6JCIzOzxNV01AeCEqUkY8NyRGW2N6JCIzNWtjI3k5enY9JUY8Rl9iW203JzckRmFjeiQiMykpbzxUJ0hVSk8lRjw3JEZmY3okIjMjW2NAcC4iPnFSRjw3JEZbZHokIjNjVihHVXUzTSdSRjw3JEZgZHokIjN5Kj0pPjtpN1pURjxGXGNbbTcnNyRGZmR6JCIzR1IhNCZHUm44V0Y8NyRGW2V6JCIzViVIQ1tTZic+UkY8NyRGYGV6JCIzeVJGI3pVRkYlUkY8NyRGZWV6JCIzQnkwU1hmXTVURjxGaWNbbTcnNyRGW2Z6JCIzLzpBbjVmJ1FYJUY8NyRGYGZ6JCIzbT02bUF1WXpRRjw3JEZlZnokIjMiUToxKUcqZiRHUkY8NyRGamZ6JCIzaXREeGRuSHpTRjxGZmRbbTcnNyRGYGd6JCIzIXpUeExPLVlbJUY8NyRGZWd6JCIzIWUiZiYqcDR0W1FGPDckRmpneiQiM0txSnIwTzI+UkY8NyRGX2h6JCIzW3crS0MoR1AwJUY8RmNlW203JzckRmVoeiQiM15OWyYqZkBpMlhGPDckRmpoeiQiMz8pXHlMPDZkI1FGPDckRl9peiQiMyRRdU48N3VNIlJGPDckRmRpeiQiM2RoJ29QTUNLLiVGPEZgZlttNyc3JEZqaXokIjNlcF5AS2p0Q1hGPDckRl9qeiQiMzhrIj02KyhmM1FGPDckRmRqeiQiMy1LZWtfInouIlJGPDckRmlqeiQiM1IoNCFHd0EicCwlRjxGXWdbbTcnNyRGX1tbbCQiMyUqUm51IykpeXVgJUY8NyRGZFtbbCQiM3ckZidlXVcmZXokRjw3JEZpW1tsJCIzJVE5I3llWSIqM1JGPDckRl5cW2wkIjNvIioqXDovRlIrJUY8RmpnW203JzckRmRcW2wkIjNtZ2lsdzIuWlhGPDckRmlcW2wkIjMvdHFuY0RJJ3kkRjw3JEZeXVtsJCIzYGZ3a24peiUzUkY8NyRGY11bbCQiM3NLYGtGLWAkKlJGPEZnaFttNyc3JEZpXVtsJCIzVUBkam0qZlViJUY8NyRGXl5bbCQiM0c3d3BtTDJ6UEY8NyRGY15bbCQiM3M4O1szeW4zUkY8NyRGaF5bbCQiM2thTS1wWDgmKVJGPEZkaVttNyc3JEZeX1tsJCIzOU95dWs3emZYRjw3JEZjX1tsJCIzYyhcJmVvP2F0UEY8NyRGaF9bbCQiM0lDJSllYjxENFJGPDckRl1gW2wkIjM7NU1QcSMpR3lSRjxGYWpbbTcnNyRGY2BbbCQiM0lNIkhPYnJTYyVGPDckRmhgW2wkIjNTKj4vKHo8RXBQRjw3JEZdYVtsJCIzTE47d0R4LjVSRjw3JEZiYVtsJCIzX1ZWTWgmW0UoUkY8Rl5bXG03JzckJCEzSExMTExMTExMRiwkIjN5KioqKioqKioqKioqXFpGPDckJCIzSExMTExMTExMRiwkIjNBKysrKysrXV9GPDckJCIzJypvI2YubWRcXiNGLCQiMyU9aCQ+Ilw4JWVdRjw3JCQiMyEqbyNmLm1kXEUiRiwkIjMtei0neTohM0RfRjxGXVxcbTcnNyQkIjNheD9zISlcKSkpKVxGLCQiMyV6TktyISopW15aRjw3JEZoYXckIjNdVHcnRzQ2JltfRjw3JCQiMzdeNTEhMygzJjMiRjwkIjM5YSZ6VVUiSGRdRjw3JEZiYnckIjNxOywiPiVRXkNfRjxGYl1cbTcnNyQkIjNuI1FMW2wkKSlHOEY8JCIza11bYy1jL2NaRjw3JCQiM1tdKipceSdcVysjRjwkIjMhKlxeVihSYVJDJkY8NyQkIjM+OzpEVlI8Pj5GPCQiM3FZXHEiSHRRMCZGPDckJCIzXVRSYFduPih6IkY8JCIzXyllQHd6a0ZBJkY8RmNeXG03JzckJCIzT2otRCk+XG06I0Y8JCIzU2NxekJqJVJ3JUY8NyRGYmR3JCIzOldIP3dPME9fRjw3JEZnZHckIjMzI0dUY3QsIVtdRjw3JEZcZXckIjMmNDo7bDh4Jz5fRjxGaF9cbTcnNyRGYmV3JCIzKSlcMmFNNm52WkY8NyRGZ2V3JCIzOF0jZmEnKUdWQSZGPDckRlxmdyQiM1NFcyJwdjUlUl1GPDckRmFmdyQiM1pAOXJ4QyhcQCZGPEZlYFxtNyc3JEZnZnckIjMlKT04TDVxIz56JUY8NyRGXGd3JCIzciJvbycqKUgyM19GPDckRmFndyQiM3pEP2U7aXNGXUY8NyRGZmd3JCIzKD4pMyd5RUIjM19GPEZiYVxtNyc3JEZcaHckIjNiPF0oPStoTyJbRjw3JEZhaHckIjMpPSlcNykqKlFqPSZGPDckRmZodyQiM1ctbCxZQls3XUY8NyRGW2l3JCIzVyZbVFRNQCkpPiZGPEZfYlxtNyc3JEZhaXckIjMnKnl2XEN5LVVbRjw3JEZmaXckIjMvQENddkAoejomRjw3JEZbanckIjMnKVtHJ1xUeUoqXEY8NyRGYGp3JCIzeS1lJyo9IWVmPSZGPEZcY1xtNyc3JEZmanckIjNNVFAkb0ZVI3lbRjw3JEZbW3gkIjM1ZWk7Qnh2QF5GPDckRmBbeCQiM2lWUjtGXlRwXEY8NyRGZVt4JCIzJylSJyp6UF1sb15GPEZpY1xtNyc3JEZbXHgkIjMwY2RSNUpAQlxGPDckRmBceCQiM1NWVWcqKW95d11GPDckRmVceCQiMyZbWyVmclk6VFxGPDckRmpceCQiM0FOIlIwcj5mOSZGPEZmZFxtNyc3JEZgXXgkIjNpW1IjPVwoKW8oXEY8NyRGZV14JCIzIzMwdyIzRDZCXUY8NyRGal14JCIzWi01eDYjKTQ0XEY8NyRGX154JCIzOmphTiZ5NXI2JkY8RmNlXG03JzckRmVeeCQiM1EpWyV6JlFqdS4mRjw3JEZqXngkIjMxNmI/OW1gaVxGPDckRl9feCQiM2dfKFthKFIsdltGPDckRmRfeCQiMyNSMnNuXC5EMyZGPEZgZlxtNyc3JEZqX3gkIjMzMD1WNWwwLF5GPDckRl9geCQiM08lPm8mKltWKikqW0Y8NyRGZGB4JCIzNWtBd0pka1RbRjw3JEZpYHgkIjNPdmVpXyhlUC8mRjxGXWdcbTcnNyRGX2F4JCIzJT5VNEQiUV9pXkY8NyRGZGF4JCIzMXkwXCg9d3UkW0Y8NyRGaWF4JCIzJWVmUStQTj4iW0Y8NyRGXmJ4JCIzKCk9Y0hibncuXUY8RmpnXG03JzckRmRieCQiM2sqW3NzJDNGPF9GPDckRmlieCQiM081dnNpIkhGeSVGPDckRl5jeCQiMzM1JnkxbkV6eSVGPDckRmNjeCQiM00sZ04+UHBsXEY8RmdoXG03JzckRmljeCQiM1UkcEFyI3B1aV9GPDckRl5keCQiMy0xdChHMmBzdCVGPDckRmNkeCQiM1dQImY4aSE9cVpGPDckRmhkeCQiM09FKzBRNSg9JFxGPEZkaVxtNyc3JEZeZXgkIjNvZ2FhL2VqKUgmRjw3JEZjZXgkIjNLUlhYJj5rOHElRjw3JEZoZXgkIjNtS2pUXWguZVpGPDckRl1meCQiM3k9KDNQVj1MIVxGPEZhalxtNyc3JEZjZngkIjNHKyJvXSNRMUVgRjw3JEZoZngkIjNHKz4kXDxPUm4lRjw3JEZdZ3gkIjMzVSg+JHpNRl1aRjw3JEZiZ3gkIjMvZSIzalV5KnpbRjxGXltdbTcnNyRGaGd4JCIzIXl3U0VpKG9ZYEY8NyRGXWh4JCIza0ojZnRQN0xsJUY8NyRGYmh4JCIzKUhQNjZEXmN1JUY8NyRGZ2h4JCIzdUc7Kj56ODcnW0Y8RltcXW03JzckRl1peCQiM3c8JUg4eD5ATyZGPDckRmJpeCQiM3AiZXEnRy0peWolRjw3JEZnaXgkIjMvJCopeV93Ykp1JUY8NyRGXGp4JCIzX2VoQzgnNGklW0Y8RmhcXW03JzckRmJqeCQiMzMoKVIyJz4ncHRgRjw3JEZnangkIjMkSCxFUiFRSUVZRjw3JEZcW3kkIjMvM0JycG8vVVpGPDckRmFbeSQiM3ordUJQNj5NW0Y8RmVdXW03JzckRmdbeSQiM2VmK2xKL1cjUSZGPDckRlxceSQiM1RTKlwkbyZmdmglRjw3JEZhXHkkIjMtQj1XQGkiPXUlRjw3JEZmXHkkIjNdJkgsWC8xWCNbRjxGYl5dbTcnNyRGXF15JCIzWyxNKCl6cDUqUSZGPDckRmFdeSQiM18pZkUsLSQqM2glRjw3JEZmXXkkIjNrLD0/aGo3VVpGPDckRlteeSQiM2MsO1QzaWo7W0Y8Rl9fXW03JzckRmFeeSQiM2tfPFJTREMlUiZGPDckRmZeeSQiM01aIzMnZnV2MFlGPDckRltfeSQiM0FRbi1PdnZVWkY8NyRGYF95JCIzWUY6VVE5PTVbRjxGXGBdbTcnNyRGZl95JCIzPVlUamA3QylSJkY8NyRGW2B5JCIzT2FlT1koZTxnJUY8NyRGYGB5JCIzaXknPl1Lb051JUY8NyRGZWB5JCIzPWlUPjVpJFshW0Y8RmlgXW03JzckJCEzbXhKJFtHJCl6WiRGLCQiMztYNj1aSSlRZyZGPDckJCIzbXhKJFtHJCl6WiRGLCQiM0NBYls+T3lpZ0Y8NyRGW2B1JCIzUyEqeitcInprKGVGPDckJCIzaTo2OkltTSlSIkYsJCIzOVwnXEtKeS4wJ0Y8RmhhXW03JzckJCIzQm88OFNORFdbRiwkIjMpb3lWeiZSZDBjRjw3JEZbYXUkIjNfISlHczNGNGhnRjw3JCQiMyEzcWoncCYqNCkzIkY8JCIzU0hUUDZJQ3ZlRjw3JEZlYXUkIjNxMlUuLHFwXGdGPEZbY11tNyc3JEZbYnUkIjMlNEl2QEJXMmgmRjw3JEZgYnUkIjNZbThcTUMjZjAnRjw3JEZlYnUkIjNrO2FiKkgiW3JlRjw3JEZqYnUkIjMxOio9S3YmZlpnRjxGamNdbTcnNyRGYGN1JCIzUEVlUys3cD5jRjw3JEZlY3UkIjMvVDNFbWEocC8nRjw3JEZqY3UkIjNPITQ7Jj1ULmxlRjw3JEZfZHUkIjN3eDtkKkgoKlEvJ0Y8RmdkXW03JzckRmVkdSQiM0ckZSw6XUJIaiZGPDckRmpkdSQiMzglM2xeO1ZQLidGPDckRl9ldSQiMy09QDNqcmpiZUY8NyRGZGV1JCIzKXBlODw7KkdRZ0Y8RmRlXW03JzckRmpldSQiM3khb3BhcXA2bCZGPDckRl9mdSQiM2onKXA+aHBcOmdGPDckRmRmdSQiMzhBbC5YTyRIJWVGPDckRmlmdSQiMy8kKj4peiU+SUlnRjxGYWZdbTcnNyRGX2d1JCIzbTc0JHk6aGBuJkY8NyRGZGd1JCIzdWFkJCkzYkkiKmZGPDckRmlndSQiM2QjPSdIWzxeRWVGPDckRl5odSQiM1tPIipIXzhIPmdGPEZeZ11tNyc3JCQiMzVtWTMjKWZVT2FGPCQiM2ooeTxdW1ZscSZGPDckJCIzNCoqPmUlb1MtQidGPCQiM3l6KVs7PUIsJ2ZGPDckJCIzKzxlNEFBMiE0J0Y8JCIzPCU0WCFIWipmIWVGPDckJCIzVFYhUXpIeG0tJ0Y8JCIzJ29VcFlTW1crJ0Y8Rl1oXW03JzckRmlpdSQiM21gU3pDS2tYZEY8NyRGXmp1JCIzdzhFKD1XQjUjZkY8NyRGY2p1JCIzWSczN20kKT03eSZGPDckRmhqdSQiM1E1dlomPScpWylmRjxGYGldbTcnNyRGXlt2JCIzLUhaWnhULCR6JkY8NyRGY1t2JCIzUVE+PipbX08oZUY8NyRGaFt2JCIzXyIqW0FgZl5fZEY8NyRGXVx2JCIzVylHRT5ocilmZkY8Rl1qXW03JzckRmNcdiQiM2FdRF03QXpaZUY8NyRGaFx2JCIzJ282a1RYdSk9ZUY8NyRGXV12JCIzZ182Wy05LkBkRjw3JEZiXXYkIjNbc3leaSNSI0hmRjxGampdbTcnNyRGaF12JCIzayh6SjVzbnQhZkY8NyRGXV52JCIzeXBbalgqKUhmZEY8NyRGYl52JCIzU1hzb0J3JSkpbyZGPDckJCIzeVlfYDczbTwlKkY8JCIzcSopSDNHZidRKmVGPEZnW15tNyc3JEZdX3YkIjNtLSVRXW9kdidmRjw3JEZiX3YkIjN1ayNHOykqMyIqcCZGPDckRmdfdiQiM1lSUVNAZ2hlY0Y8NyRGXGB2JCIzP3hkQlNPJWUmZUY8RmZcXm03JzckRmJgdiQiMzclKmZQJXB5UC0nRjw3JEZnYHYkIjNIdDFIc3opR2smRjw3JEZcYXYkIjM+K3QyUVRxS2NGPDckRmFhdiQiM0kqKSkqPkZCKz1lRjxGY11ebTcnNyRGZ2F2JCIzeTZ1V1tRZnNnRjw3JEZcYnYkIjNpYiM+Iz1HMiVmJkY8NyRGYWJ2JCIzTiwyayVvJVI3Y0Y8NyRGZmJ2JCIzTWAiNGdqY0h5JkY8RmBeXm03JzckRlxjdiQiMyg0WUVgJkhhN2hGPDckRmFjdiQiM1cxLU02UDdhYkY8NyRGZmN2JCIzOyEqW19PYXEoZiZGPDckRltkdiQiM2VARXk2WU1fZEY8Rl1fXm03JzckRmFkdiQiMyVbNU1GKjQhUjknRjw3JEZmZHYkIjNkaUQkUm5sRl8mRjw3JEZbZXYkIjNFXjgsOjwheWUmRjw3JEZgZXYkIjNeOSgpWzoiKm9FZEY8RmpfXm03JzckRmZldiQiM1lSKj07RS96OydGPDckRltmdiQiMyV6c1pdU2koKVwmRjw3JEZgZnYkIjNBMTR5UjBiImUmRjw3JEZlZnYkIjNKRHdkJD5AZHEmRjxGZ2BebTcnNyRGW2d2JCIzd0kxQysqZWc9J0Y8NyRGYGd2JCIza09nVW14ZyFbJkY8NyRGZWd2JCIzUz93cjRAKnlkJkY8NyRGamd2JCIzMVIva0NGeilvJkY8RmRhXm03JzckRmBodiQiMyEqKj1eKFxJdio+J0Y8NyRGZWh2JCIzXXhhInBoOHBZJkY8NyRGamh2JCIzK2pmLnF0KWZkJkY8NyRGX2l2JCIzcVgubVknb15uJkY8RmFiXm03JzckRmVpdiQiM2FoKlE7Jm82NWlGPDckRmppdiQiMydlcUZdIilcbFgmRjw3JEZfanYkIjMpM2sqZmIhSF9kJkY8NyRGZGp2JCIzVUJkLnRZPGtjRjxGXmNebTcnNyRGamp2JCIzYGAnUkFaOSE9aUY8NyRGX1t3JCIzKVEsRlc+XydbYUY8NyRGZFt3JCIzTXNCZSdRKj52YkY8NyRGaVt3JCIzISpmNyM0a1tfbCZGPEZbZF5tNyc3JEZfXHckIjNYJ2Y/QkAnM0NpRjw3JEZkXHckIjMnNDJZVlghZVVhRjw3JEZpXHckIjMlSDsmMyU+PmNkJkY8NyRGXl13JCIzKVwmPVRNTyV6ayZGPEZoZF5tNyc3JEZkXXckIjNYLnhUMCoqekdpRjw3JEZpXXckIjMmUicqWzd3bXlWJkY8NyRGXl53JCIzMWpbTUpeSXdiRjw3JEZjXnckIjMpKnpjIyopWzc+ayZGPEZlZV5tNyc3JEZpXnckIjM6JT5cUzInXEtpRjw3JEZeX3ckIjNFdHVoI2ZxVFYmRjw3JEZjX3ckIjMjeVdHTTtRcmQmRjw3JEZoX3ckIjMlW2w1YjQpKW9qJkY8RmJmXm03JzckRmhecyQiMyFwQlVgVzpWWSdGPDckRl1fcyQiMyN6NCIqeil5LHBvRjw3JCQiM2dTcHdgJEc1ZCNGLCQiMyFIQT0kKj1SLnAnRjw3JCQiMyUzeldyQ3MjZjpGLCQiM3E0LV4pR2JDKG9GPEZfZ15tNyc3JCQiMzthUnFnTEghbyVGLCQiMylwIlwkWyRvRG1rRjw3JEZiYHMkIjMleVQpXClcd3Enb0Y8NyRGZ2BzJCIzc15hVCdccSopbydGPDckRlxhcyQiM28/cC8mXEE7KG9GPEZiaF5tNyc3JEZiYXMkIjNHXHVeM1I9c2tGPDckRmdhcyQiM18mKWUiW1VcNidvRjw3JEZcYnMkIjN1W0xbM0QiW28nRjw3JEZhYnMkIjN5TUoqPkxmIXBvRjxGX2lebTcnNyQkIjNleVp1LSgqR0VARjwkIjNtaW1WR25TI1snRjw3JEZcY3MkIjM7c20qW2dFNCZvRjw3JCQiM2slSHRpKFImenYjRjwkIjMtKlJ6bzg3eG4nRjw3JEZmY3MkIjNZNHFdJkduWCdvRjxGXmpebTcnNyRGXGRzJCIzPWs1ImVJVXVcJ0Y8NyRGYWRzJCIzanFBX0Y1KmUkb0Y8NyRGZmRzJCIzN0Q0I28tRXVtJ0Y8NyRGW2VzJCIzOXpNeUtNIXkmb0Y8Rl1bX203JzckRmFlcyQiM2cqUTs9Nykqel4nRjw3JEZmZXMkIjNAWHBeNl9MOm9GPDckRltmcyQiMzcwJGZIX1xPbCdGPDckRmBmcyQiM1t5MFxqLEZbb0Y8RmpbX203JzckRmZmcyQiM0o0L11WKjNcYSdGPDckRltncyQiM11ESCQpKlFDJSl5J0Y8NyRGYGdzJCIzZjYxJFF6IjNPbUY8NyRGZWdzJCIzRjJqWS88S05vRjxGZ1xfbTcnNyRGW2hzJCIzTyhRRiJlbCgqeWxGPDckRmBocyQiM1laZj92bk5hbkY8NyRGZWhzJCIzPD9hJSpwQGI5bUY8NyRGamhzJCIzNFczIik9Jj4jPW9GPEZkXV9tNyc3JEZgaXMkIjNlW0AhM2BgMWknRjw3JEZlaXMkIjNCJz1KRCEpekVyJ0Y8NyRGamlzJCIzOSl5X1goZkEqZSdGPDckRl9qcyQiM2lESiVmMyZHJ3onRjxGYV5fbTcnNyRGZWpzJCIzKXlIPGE2ZyZwbUY8NyRGampzJCIzJXAuO3pAdFBtJ0Y8NyRGX1t0JCIzVVxZJkgnPiczYydGPDckRmRbdCQiM2s9Kyt0LT5wbkY8Rl5fX203JzckRmpbdCQiMyFRWGs4I28pUnMnRjw3JEZfXHQkIjMsIikpbz5eWSQ0bUY8NyRGZFx0JCIzbUw5ZCllISo0YCdGPDckRmlcdCQiM09sTVtYSk1QbkY8RltgX203JzckRl9ddCQiM1ciM1otP20yeSdGPDckRmRddCQiM1FgaTNMcmNfbEY8NyRGaV10JCIzQlM/NEMoKXksbEY8NyRGXl50JCIzXGY1c08nZUBxJ0Y8RmhgX203JzckRmRedEZeW19tNyRGZ150RltbX203JEZqXnQkIjNtYilcMCEqSGJaJ0Y8NyRGX190JCIzcTRDXjF0IWZtJ0Y8RmNhX203JzckRmVfdCQiMyNwPGB6I29zJilvRjw3JEZqX3QkIjMhejohUTBsZ1prRjw3JCQiM080eWg1RyZ6NCJGOCQiM2tXLzhMUCZRWCdGPDckRmRgdCQiM3MvNkVVNDJKbUY8Rl5iX203JzckRmpgdCQiM3AtTzZ1UjBHcEY8NyRGX2F0JCIzOEsoPiNmJHpfUydGPDckRmRhdCQiM0Q+W2YlPVZ0VidGPDckRmlhdCQiMy0vMEsjZSRlKmYnRjxGXWNfbTcnNyRGX2J0JCIzJyopZUJkPjdCJ3BGPDckRmRidCQiMydldTR3OEA1UCdGPDckRmlidCQiM3EmZmIkZXhqRGtGPDckRl5jdCQiM2chW1ViMFRDZCdGPEZqY19tNyc3JEZkY3QkIjN5XSFvWSgpWyIqKXBGPDckRmljdCQiMy0lR2wnZVc9V2pGPDckRl5kdCQiMzVuYy8iM2h5VCdGPDckRmNkdCQiM2knZiNvP2N5XGxGPEZnZF9tNyc3JEZpZHQkIjMkKSkqKSlIKnl4KDRxRjw3JEZeZXQkIjMpZlZNU2FiTksnRjw3JEZjZXQkIjMxI0hUeWBFSVQnRjw3JEZoZXQkIjMwITRbKClcRjdgJ0Y8RmRlX203JzckRl5mdCQiM3hMaFg0Sl1EcUY8NyRGY2Z0JCIzMCxzKFFBSXlJJ0Y8NyRGaGZ0JCIzPENReXp5RTVrRjw3JEZdZ3QkIjMrKCopSEsvYWheJ0Y8RmFmX203JzckRmNndCQiM11TbnUjKSl5dS4oRjw3JEZoZ3QkIjNJJWYnZV1XJmVIJ0Y8NyRGXWh0JCIzUldAeWVZIioza0Y8NyRGYmh0JCIzbyIqKlw6L0ZSXSdGPEZeZ19tNyc3JEZoaHQkIjN3RicqW2dSallxRjw3JEZdaXQkIjMvMlAlR1AqcCdHJ0Y8NyRGYml0JCIzK3p2Im9yJFsza0Y8NyRGZ2l0JCIzVVh4I3pOd1JcJ0Y8RltoX203JzckRl1qdCQiM1tBbCp6a3pPMChGPDckRmJqdCQiM003b0wmb2AnemlGPDckRmdqdCQiM2dLKUcoSDZrM2tGPDckRlxbdSQiMy0qenFWSkhlWydGPEZoaF9tNyc3JEZiW3UkIjNTVioqKSlwcDlmcUY8NyRGZ1t1JCIzVSJSVk1PJz11aUY8NyRGXFx1JCIzalxeaEY9OzRrRjw3JEZhXHUkIjMxNSFbQiIpMyJ6a0Y8RmVpX203JzckRmdcdSQiM085cUMoKnlVanFGPDckRlxddSQiM1k/ajNPYSEqcGlGPDckRmFddSQiM2U4YW4oXCcqKTRrRjw3JEZmXXUkIjMhR2U7JXonPk5aJ0Y8RmJqX203JzckRlxedSQiM0E2UyJ5IzQibzEoRjw3JEZhXnUkIjNnQiQ+YlNBbEUnRjw3JEZmXnUkIjMiKlFQYkNzdTVrRjw3JEZbX3UkIjNzaXEiPW9LKW9rRjxGX1tgbTcnNyQkITNYQCJmKEdBSzxRRiwkIjNmKnkiXF9AKkhMKEY8NyQkIjNYQCJmKEdBSzxRRiwkIjNpNyMzdiV5K253Rjw3JEZlXnEkIjNLK0RdcyNlIypcKEY8NyQkIjMncFA/eGZgb3UiRiwkIjNbYy8lUlFDLHAoRjxGXlxgbTcnNyQkIjMyYWglNC88al0lRiwkIjMiKTM2VChvRF9MKEY8NyQkIjNDXj9kaVwuOzdGPCQiM1UkKikpZTdWeGt3Rjw3JEZqX3EkIjMvbEUpXGBceFwoRjw3JEZfYHEkIjMjUS0tJ1wuNSpvKEY8RmFdYG03JzckRmVgcSQiMzIhZShcQ3ktVXRGPDckRmpgcSQiMztBQ112QCh6bChGPDckRl9hcSQiMykqXEcnXFR5SlwoRjw3JEZkYXEkIjMpUSFlJyo9IWVmbyhGPEZgXmBtNyc3JEZqYXEkIjM9UVsrbSYpcGB0Rjw3JCQiM1NOL0tkcjghKkdGPCQiMy9rXipSVixqayhGPDckJCIzKVxOPjc8eXh2I0Y8JCIzI1E1U2F3O2FbKEY8NyQkIjMnSHhAVVhGWW8jRjwkIjNvPy41V2BbIW8oRjxGXV9gbTcnNyRGX2NxJCIzIUhPQ05sOzJQKEY8NyRGZGNxJCIzTFJjWllMR0h3Rjw3JEZpY3EkIjMhXEBGTFp3VVooRjw3JEZeZHEkIjNDJiopKkdkdktzd0Y8RmBgYG03JzckRmRkcSQiMyVvMihbQ2RvJFIoRjw3JEZpZHEkIjNRREhedlVKMXdGPDckRl5lcSQiMyVvSyZcYytjZnVGPDckRmNlcSQiMylRUl42aigqNG0oRjxGXWFgbTcnNyRGaWVxJCIzcmRkUjVKQEJ1Rjw3JEZeZnEkIjNfV1VnKilveXd2Rjw3JEZjZnEkIjNfJ1slZnJZOlR1Rjw3JEZoZnEkIjNLTyJSMHI+ZmsoRjxGamFgbTcnNyRGXmdxJCIzVydSVFQlM29mdUY8NyRGY2dxJCIzejAnZWU6Pi5hKEY8NyRGaGdxJCIzIyplOiopPkU9PnVGPDckRl1ocSQiMyZlJkhmeSNRbGkoRjxGZ2JgbTcnNyRGY2hxJCIzZUoxdltNKkddKEY8NyRGaGhxJCIza3EkXDdiMXJcKEY8NyRGXWlxJCIzNSQpekcnSCY+JVIoRjw3JEZiaXEkIjNNX0xMMU9fLXdGPEZkY2BtNyc3JEZoaXEkIjMhPjw3JVI2b152Rjw3JEZdanEkIjNLSXllZyk9JFt1Rjw3JEZianEkIjN1QHNkcl5MbnRGPDckRmdqcSQiM2stZkFIKGZTZChGPEZhZGBtNyc3JEZdW3IkIjNsZnc/JCo+cC53Rjw3JEZiW3IkIjNjVUJ6MSEzalIoRjw3JEZnW3IkIjNYSjUuXSU9Lk0oRjw3JEZcXHIkIjM6SDAlUVkoNFV2RjxGXmVgbTcnNyRGYlxyJCIzLU5OciU9cmNsKEY8NyRGZ1xyJCIzP25rRzopR1ZNKEY8NyRGXF1yJCIzYDdmaUBINjp0Rjw3JEZhXXIkIjN0aGhhNCpmJDN2RjxGW2ZgbTcnNyRGZ11yJCIzIXpjOGxedlVxKEY8NyRGXF5yJCIzS01rWyRbQ2RIKEY8NyRGYV5yJCIzVUc+UGUjKlEkSChGPDckRmZeciQiMz13R0YmXG5cWihGPEZoZmBtNyc3JEZcX3IkIjNhdEIlPUUycXUoRjw3JEZhX3IkIjNvR3c6UUYqSEQoRjw3JEZmX3IkIjNndWdEaDIxd3NGPDckRltgciQiM1w3UnR5I1JRVyhGPEZlZ2BtNyc3JEZhYHIkIjMlM2kmWyIpXHEjeShGPDckRmZgciQiM1EiUTkmPV1IPHNGPDckRlthciQiMz9LPkU8Iyk9anNGPDckRmBhciQiMylveTRiXkppVChGPEZiaGBtNyc3JEZmYXIkIjNVRDpYXDBVNnlGPDckRlticiQiMyFvWlswWHomKT0oRjw3JEZgYnIkIjMpeVhZdiRSQWFzRjw3JEZlYnIkIjNRQ2dqcUlqI1IoRjxGX2lgbTcnNyRGW2NyJCIzcChvTi1BYlIkeUY8NyRGYGNyJCIzYTlWd3paL21yRjw3JEZlY3IkIjNDPHFibSVmJFtzRjw3JEZqY3IkIjNZVkBVKHpWSFAoRjxGXGpgbTcnNyRGYGRyJCIzIW8mR0o6dlJeeUY8NyRGZWRyJCIzV1hybyVbLSdbckY8NyRGamRyJCIzPjdIeVlzeVdzRjw3JEZfZXIkIjNnVSF6dypvdGN0RjxGaWpgbTcnNyRGZWVyJCIzTWw2LE5TI1sneUY8NyRGamVyJCIzKW8kKSkpXCdmPE5yRjw3JEZfZnIkIjNdeTRiXClHR0MoRjw3JEZkZnIkIjNIMnZsaSpwTU0oRjxGZlthbTcnNyRGamZyJCIzJyoqZSVHUD07dnlGPDckRl9nciQiM0U3YXJpIlFbNyhGPDckRmRnciQiMz5SIipHUmsnPkMoRjw3JEZpZ3IkIjMjSGVneGM0RUwoRjxGY1xhbTcnNyRGX2hyJCIzZSNvLyUpSGBKKXlGPDckRmRociQiM2k+YGYsbiVvNihGPDckRmlociQiMzMtIykqUWlFPUMoRjw3JEZeaXIkIjNyInBhI3Bzb0J0RjxGYF1hbTcnNyRGZGlyJCIzJ3l0YCYqKSlwJCopeUY8NyRGaWlyJCIzT2tpVzUsajVyRjw3JEZeanIkIjNaUEt0ciRcQEMoRjw3JEZjanIkIjMieWMiKVwxOmpKKEY8Rl1eYW03JzckRmlqciQiM3dgPFJTREMlKnlGPDckRl5bcyQiM1hbIzMnZnV2MHJGPDckRmNbcyQiM0xSbi1PdnZVc0Y8NyRGaFtzJCIzLEc6VVE5PTV0RjxGal5hbTcnNyRGXlxzJCIzJSkqeSU+KD4kNCkqeUY8NyRGY1xzJCIzTzdfIUchbyE+NShGPDckRmhccyQiM1RyI0dHQktOQyhGPDckRl1dcyQiM1oybWklPlNdSShGPEZnX2FtNyc3JEZjXXMkIjNodWw0SD07LHpGPDckRmhdcyQiM2dGTSE0PFEpKTQoRjw3JEZdXnMkIjMuUDo2SllSV3NGPDckRmJecyQiMyo+ZUBkLylwK3RGPEZkYGFtNyc3JEZeXW8kIjNyd3E7NWNkNiMpRjw3JEZjXW8kIjMjSGYqXGM1NGIlKUY8NyQkIjNfP3EvIUdDUGMjRiwkIjMqKnlzXGclW0ZJKUY8NyQkIjNpR2RAa2MkXCY+RiwkIjNvdUg4ciQpKT5dKUY8RmFhYW03JzckJCIzVV9KbFt2JzNNJUYsJCIzNCJwSCpvUTY5IylGPDckJCIzU144IT0iKnpEQiJGPCQiM2F5cHQoel9EWClGPDckRl1fbyQiM3gzL3M1dzYsJClGPDckJCIzLCF5T2c/JyopSDVGPCQiM2k8VyYqKiozdSsmKUY8RmRiYW03JzckRmhfbyQiM3ImemJuMDo9QSlGPDckRl1gbyQiMyJSKDMiKjQ7JltXKUY8NyRGYmBvJCIzXSUpKVIyTCc+J0gpRjw3JEZnYG8kIjMzYiV6JkcjSHBcKUY8RmVjYW03JzckRl1hbyQiM0oyXy1jXyNcQilGPDckRmJhbyQiM0tpOWs1OXVKJSlGPDckRmdhbyQiMyFRWVFsczR6RylGPDckRlxibyQiM09SIWUpKj5cLlwpRjxGYmRhbTcnNyRGYmJvJCIzbTN1cTNWIVFEKUY8NyRGZ2JvJCIzJzRFZnpOaUdUKUY8NyRGXGNvJCIzJ3lsT3FudGhGKUY8NyRGYWNvJCIzcTd3QCQpb24hWylGPEZfZWFtNyc3JEZnY28kIjN5OjdgeClHKXkjKUY8NyRGXGRvJCIzJ1FYTiIqeVB5USlGPDckRmFkbyQiM29RaSpwMWw0RSlGPDckRmZkbyQiMydvZUl6RTN2WSlGPEZcZmFtNyc3JEZcZW8kIjMrJUdkXiMzQTUkKUY8NyRGYWVvJCIzayZRNDolZVdjJClGPDckRmZlbyQiM0hQVjVYOlZVIylGPDckRltmbyQiMyd6eilvPVRXXSUpRjxGaWZhbTcnNyRGYWZvJCIzbV5EXTdBelokKUY8NyRGZmZvJCIzKHo2a1RYdSk9JClGPDckRltnbyQiM3JgNlstOS5AIylGPDckRmBnbyQiM2Z0eV5pI1IjSCUpRjxGZmdhbTcnNyRGZmdvJCIzP0A2LilbYDFSKUY8NyRGW2hvJCIzVVtianlKLHcjKUY8NyRGYGhvJCIzMSwiUV9EZHc+KUY8NyRGZWhvJCIzd0ssOjcpNFNTKUY8RmNoYW03JzckRltpbyQiM04kKjRhRWAtUCUpRjw3JEZgaW8kIjNGd2M3UzhrSCMpRjw3JEZlaW8kIjM5bFZPJHleTzwpRjw3JEZqaW8kIjMnRydRPCh6SWFQKUY8RmBpYW03JzckRmBqbyQiM3dqWCIpM0VOJVspRjw3JEZlam8kIjMnZTVfeTA5Qj0pRjw3JEZqam8kIjNnPlFULU5pXSIpRjw3JEZfW3AkIjNPYyM9QjkielckKUY8Rl1qYW03JzckJCIzM3d4c0E8Qip6KUY8JCIzJW9WeUknKjMpSCYpRjw3JCQiM3NlYmc1OzVNJipGPCQiM3pLIyllLngmbzgpRjw3JCQiM0Aob0NgcXllSypGPCQiMzM3YSozVHYrOClGPDckJCIzeVFzPj9sNkMlKkY8JCIzdWRbJ0cpR3o4JClGPEZcW2JtNyc3JEZqXHAkIjNbJVJjUkQpKjRkKUY8NyQkIjNiPyhwJltQQU01RjgkIjM7di1yNyVvYzQpRjw3JCQiM0kqMzx4IUdZODVGOCQiM0prKjQyKDQtOCIpRjw3JCQiM1JVI1tQMFlgLSJGOCQiMztvJmVOclJURylGPEZfXGJtNyc3JEZfXnAkIjNnIltaKlEwWjEnKUY8NyRGZF5wJCIzLSk9Png3Jz5nISlGPDckRmlecCQiMysnZSMqPVwvKSo0KUY8NyRGXl9wJCIzPU1qS0E6OGQjKUY8RmJdYm03JzckRmRfcCQiMyllNCVIPU8iZWopRjw3JEZpX3AkIjN1dERQW0kmMy4pRjw3JEZeYHAkIjNJYT1NJ3khPiE0KUY8NyRGY2BwJCIzPm9LS0A0WkwjKUY8Rl9eYm03JzckRmlgcCQiMzVOOVNlclJmJylGPDckRl5hcCQiM2FNX0UzJnBzKylGPDckRmNhcCQiMyFwMmBFIm9nJDMpRjw3JEZoYXAkIjN1IlxUJ2Y8SjgjKUY8RlxfYm03JzckRl5icCQiM3NGenBhcCt5JylGPDckRmNicCQiMyE+dW8+cmYnKSl6Rjw3JEZoYnAkIjNzbU46Jkd5JHohKUY8NyRGXWNwJCIzc0srITREUGs+KUY8RmlfYm03JzckRmNjcCQiM1VsKikqKVt6YSNwKUY8NyRGaGNwJCIzPy94dzwoPVQoekY8NyRGXWRwJCIzc3BqRGAxKW8yKUY8NyRGYmRwJCIzeU0mcFp3WEM9KUY8RmZgYm03JzckRmhkcCQiMyFIY0t3IipwUXEpRjw3JEZdZXAkIjNzMVQuXG56aXpGPDckRmJlcCQiMyEpKjRxJnlMZ3YhKUY8NyRGZ2VwJCIzcWVGYDlVKTM8KUY8RmNhYm03JzckRl1mcCQiMzotIip6ck9wNygpRjw3JEZiZnAkIjNbbnYnWypIKFImekY8NyRGZ2ZwJCIzJ1E5TikzKmVeMilGPDckRlxncCQiM08zJyo+ckZLaCIpRjxGYGJibTcnNyRGYmdwJCIzKlJZdCoqNChmPigpRjw3JEZnZ3AkIjNrMEtwbSZwcSV6Rjw3JEZcaHAkIjMhMyNILi5qRXYhKUY8NyRGYWhwJCIzMTJgI1sxKFFgIilGPEZdY2JtNyc3JEZnaHAkIjMpKTNsOkUhSF1zKUY8NyRGXGlwJCIzdWcsXlN3alR6Rjw3JEZhaXAkIjMlPkkpKWUleXN2ISlGPDckRmZpcCQiMzlNKXBjJmV3WSIpRjxGamNibTcnNyRGXGpwJCIzKlwmPjVQQExIKClGPDckRmFqcCQiM2s5WmNIWExQekY8NyRGZmpwJCIzOUdUU1JyU3chKUY8NyRGW1txJCIzWHZybFZwP1QiKUY8RmdkYm03JzckRmFbcSQiMypITidlO2d3SygpRjw3JEZmW3EkIjNrOy4zXTEhUiR6Rjw3JEZbXHEkIjNVTSRSUlk2czIpRjw3JEZgXHEkIjNEJj4/cW8zbDgpRjxGZGVibTcnNyRGZlxxJCIzMyczZzApb19OKClGPDckRltdcSQiM2IkZTFoeVI2JHpGPDckRmBdcSQiMyk0SXZmZnkheSEpRjw3JEZlXXEkIjMnKjRXUDAzXksiKUY8RmFmYm03JzckJCEzc2RPOT1UXjlURiwkIjMqeT9OR3RbNDUqRjw3JCQiM3NkTzk9VF45VEYsJCIzOkgiKVwrWVFLIypGPDckJCIzR1Y3WHg/PChcI0YsJCIzcy1NWFpdMSwiKkY8NyQkIjMvUVJIM0Nlb0BGLCQiM1AmZWdMdiF6MSQqRjxGYGdibTcnNyRGZl1tJCIzJ3ouIj48JVJQNSpGPDckRltebSQiMzIqSFVoIlJmSCMqRjw3JEZgXm0kIjNTMWYvYlBQKjQqRjw3JEZlXm0kIjM9OkRnIVs8YEkqRjxGY2hibTcnNyRGW19tJCIzWlxYJzNAaUA2KkY8NyRGYF9tJCIzYyh5b0M3cjZBKkY8NyQkIjM9JHooXEJ2XTk+RjwkIjNRcyZILlMpSCU0KkY8NyRGal9tJCIzZD9SRSw7JTNJKkY8RmBpYm03JzckRmBgbSQiMyVRMTMzXlpqNypGPDckRmVgbSQiMz90X19BZSlwPypGPDckJCIzU3pOSlFlQFhGRjwkIjNLRSNlbEdcZTMqRjw3JEZfYW0kIjNFQidmXyVcPyRIKkY8Rl9qYm03JzckRmVhbSQiM3diKGVmI2ZWWSIqRjw3JEZqYW0kIjNHImV1dFMoKm89KkY8NyRGX2JtJCIzPypRQy5WJDR1ISpGPDckRmRibSQiMyNbTU0hXDU9I0cqRjxGXltjbTcnNyRGamJtJCIzNV42aVhKWHMiKkY8NyRGX2NtJCIzJWY9N3g9ISkzOypGPDckRmRjbSQiM0NFIT1hPUgjZiEqRjw3JEZpY20kIjNrIlJ6eFVVdkUqRjxGW1xjbTcnNyRGX2RtJCIzIXA6aEMwSVQ/KkY8NyRGZGRtJCIzOSE9czNHLiNIIipGPDckRmlkbSQiM25AYTZVMW9UISpGPDckRl5lbSQiM2FWKFFNO3EiXCMqRjxGaFxjbTcnNyRGZGVtJCIzWEteT2E1cVMjKkY8NyRGaWVtJCIzZS8jbyp5QWojNCpGPDckRl5mbSQiMz8hZT9xJjQ9QSEqRjw3JCQiMyc+Ij4/enVLJTMnRjwkIjNfQ2pUaCMqPkYjKkY8RmVdY203JzckRmlmbSQiM2EjM1otP20yRypGPDckRl5nbSQiM11haTNMcmNfISpGPDckRmNnbSQiM01UPzRDKCl5LCEqRjw3JEZoZ20kIjNnZzVzTydlQD8qRjxGZF5jbTcnNyRGXmhtJCIzVi0tUV55TEEkKkY8NyRGY2htJCIzZ01KJj5bJio0LCpGPDckRmhobSQiMyUqekRIKWV6PCkqKUY8NyRGXWltJCIzOUhHQHdsLXYiKkY8RmFfY203JzckRmNpbSQiM2FxPFQnSFVKTypGPDckRmhpbSQiM11tOiNwLiI+cSopRjw3JEZdam0kIjN5WChHVXUzTScqKUY8NyRGYmptJCIzVyI+KT47aTdaIipGPEZeYGNtNyc3JEZoam0kIjNBKHp4OE4kNCwlKkY8NyRGXVtuJCIzIilSYiY+KSpSQSQqKUY8NyRGYltuJCIzTTs/NSp5THclKilGPDckRmdbbiQiMyVmJ1E0UmMnKT4iKkY8RlthY203JzckRl1cbiQiMyVvTVQpPWByTSUqRjw3JEZiXG4kIjM/ISo+XDkhPScpKikpRjw3JEZnXG4kIjMuYzlSdGskXCQqKUY8NyRGXF1uJCIzM3ZmI3lcT1c0KkY8RmhhY203JzckRmJdbiQiM3FfQF9gJD5MWSpGPDckRmddbiQiM00lPTYpelIscSkpRjw3JEZcXm4kIjNSKEc6TTdAYCMqKUY8NyRGYV5uJCIzXVRbNypmOjsyKkY8RmViY203JzckRmdebiQiM21ndiJmYTVwWypGPDckRlxfbiQiM093ZFQoeUFrJSkpRjw3JEZhX24kIjMkZVY+KzZfJT0qKUY8NyRGZl9uJCIzS2wpXCcqeks8MCpGPEZiY2NtNyc3JEZcYG4kIjNtImUuZjVcZl0qRjw3JEZhYG4kIjNQYihIdUElUUYpKUY8NyRGZmBuJCIzSG4mZWVsSlEiKilGPDckRlthbiQiMzVoIVEvLGtaLipGPEZfZGNtNyc3JEZhYW4kIjMlKj56QTRlNUAmKkY8NyRGZmFuJCIzNTxhNUN2QTcpKUY8NyRGW2JuJCIzS2QlZmIvVDQiKilGPDckRmBibiQiM0slKlw/L3RZPyEqRjxGXGVjbTcnNyRGZmJuJCIzc0NYMyRRJzNMJipGPDckRltjbiQiM0s3KVstJnBDKykpRjw3JEZgY24kIjMjeUhwTHE/JDQqKUY8NyRGZWNuJCIzXyFvJCoqej5dMyEqRjxGaWVjbTcnNyRGW2RuJCIzNCFcMzJ6TURhKkY8NyRGYGRuJCIzJXAlW2lVJil6IXopRjw3JEZlZG4kIjNCSU1XKCkpKmYzKilGPDckRmpkbiQiM2ciRypwVCYzJikqKilGPEZmZmNtNyc3JEZgZW4kIjNddEZBWVsqKlwmKkY8NyRGZWVuJCIzX2owNihbUUx5KUY8NyRGamVuJCIzJUh0MldnJ1wzKilGPDckRl9mbiQiMy1DYUg2QjohKiopRjxGY2djbTcnNyRGZWZuJCIzYXBuInliMGZiKkY8NyRGamZuJCIzXW5sXnZ4VXgoKUY8NyRGX2duJCIzKm8jUSgqZVchKTMqKUY8NyRGZGduJCIzPyI9TypmPTkkKSopRjxGYGhjbTcnNyRGamduJCIzJSoqeT0uNzcxYypGPDckRl9obiQiMzVaWCw4N3NzKClGPDckRmRobiQiM0dIaHIiR3ckNCopRjw3JEZpaG4kIjM1KTMiKVsiSEJ4KilGPEZdaWNtNyc3JEZfaW4kIjMnW0REYSsjUWsmKkY8NyRGZGluJCIzPSMzM3pLXipvKClGPDckRmlpbiQiM2gqW04wNDQsIiopRjw3JEZeam4kIjNXVy43X15BcyopRjxGamljbTcnNyRGZGpuJCIzIVJ6OFUoNFVuJipGPDckRmlqbiQiMzlWJj4iZkIiZncpRjw3JEZeW28kIjMpZTpfLyE+JDQiKilGPDckRmNbbyQiM1MjeSl6R2kmeicqKUY8RmdqY203JzckRmlbbyQiMzVCVikqXHApKXAmKkY8NyRGXlxvJCIzJVIsXExRWU13KUY8NyQkIjNHOjlSR0YoZSo+RjgkIjNWUnQpZlknejYqKUY8NyRGaFxvJCIzWU9cUTRgSGsqKUY8RmRbZG03JzckRiokIjNBKysrKysrKzVGODckRjFGYVxkbTckJCIzbyYzXGEyWkNPI0YsJCIzI2ZMTExMTGUqKSpGPDckJCIzUSczXGEyWkNPI0YsJCIzJ3BtbW1tOy8sIkY4RmNcZG03JzckRj8kIjM7al0oW00qRys1Rjg3JEZEJCIzdXIkXDdiMXIqKipGPDckRkkkIjNBJSl6RydIJj4lKikqRjw3JCQiMztmXHkxZEhxNUY8JCIzTU5MamdCRDU1RjhGYl1kbTcnNyRGVCQiMzI6XThocDosNUY4NyRGWSQiMylbJilcJylRSSUpKSoqRjw3JEZobiQiMz8rInBebjgkKikpKkY8NyRGXW8kIjMrdnIlem1jKDQ1RjhGYV5kbTcnNyRGY28kIjMybWtEJjQqZi01Rjg3JEZobyQiM3lWYFZaITRTKCoqRjw3JEZdcCQiM1klW3IoXCcqSCIpKSpGPDckRmJwJCIzVXYpR3FzQSozNUY4Rl5fZG03JzckRmhwJCIzQV9rZTg4Zy81Rjg3JEZdcSQiM0cjW05UJ28pUiYqKkY8NyRGYnEkIjMpR2FCMmUiUXEpKkY8NyRGZ3EkIjMkelE2I3BTdTI1RjhGW2BkbTcnNyRGXXIkIjNRZyIpNCU9RnIrIkY4NyRGYnIkIjNuKyU9IWYiRyhHKipGPDckRmdyJCIzQ3FyVj8kZXAmKSpGPDckRlxzJCIzRj1rQ0FAQTE1RjhGaGBkbTcnNyRGYnMkIjN0IT1WNWwwLCwiRjg3JEZncyQiMzkoPm8mKltWKikqKSpGPDckRlx0JCIzVm5Bd0pka1QpKkY8NyRGYXQkIjN3KGVpXyhlUC81RjhGZWFkbTcnNyRGZ3QkIjNCMjA8TkNVODVGODckRlx1JCIzRUxcSFtjeGwpKkY8NyRGYXUkIjMpel1xISlvI0dEKSpGPDckRmZ1JCIzZFctcEk1RC01RjhGYmJkbTcnNyRGXHYkIjNsZ2IzT0MjcCwiRjg3JEZhdiQiMysqUlciUmN4SSkqRjw3JEZmdiQiM1shPiQpUUJqKTMpKkY8NyQkIjNCP2IkKikqZSZbI3BGPCQiM19XZCUpUjFDKioqKkY8Rl9jZG03JzckRmF3JCIzemM4bF52VT81Rjg3JEZmdyQiM1VOa1skW0NkeipGPDckRlt4JCIzX0g+UGUjKlEkeipGPDckRmB4JCIzSXhHRiZcblwoKipGPEZeZGRtNyc3JEZmeCQiMz4xQjEjXG1QLSJGODckRlt5JCIzY1VwUHpdTGkoKkY8NyRGYHkkIjNzSm1QUHdveigqRjw3JEZleSQiM2NOX0EhUTEzJioqRjxGW2VkbTcnNyRGW3okIjM8b3VAbFshby0iRjg3JEZgeiQiMyFSS0R5TV4+dCpGPDckRmV6JCIzcyp5Q24hKXAjbygqRjw3JEZqeiQiM3kzJGY2JClweCMqKkY8RmhlZG03JzckRmBbbCQiM3pSJVxEeWklSDVGODckRmVbbCQiM2oyY111QFAwKCpGPDckRmpbbCQiMyVmJz4hKjNHSGYoKkY8NyRGX1xsJCIzeWoiXDtzMW0hKipGPEZlZmRtNyc3JEZlXGwkIjMob3pUbS46PC4iRjg3JEZqXGwkIjN5Tj9lTCdcR28qRjw3JEZfXWwkIjNHKmY6RjZARXYqRjw3JEZkXWwkIjMnWyhmZUclUXgpKSpGPEZiZ2RtNyc3JEZqXWwkIjMvYy8oKTMleU4uIkY4NyRGX15sJCIzKUdXJkg2ZkBrJypGPDckRmRebCQiM0FbLUVlKyV6dSpGPDckRmlebCQiMzckUk5gSipHcikqRjxGX2hkbTcnNyRGX19sJCIzJCpIVXBUWTRONUY4NyRGZF9sJCIzQTF4MCRlYCFcJypGPDckRmlfbCQiM0o7bGM3aydbdSpGPDckRl5gbCQiM2FdISkpZkVwciYpKkY8RlxpZG03JzckRmRgbCQiM3gqPSFRWmNKTzVGODckRmlgbCQiM3AxIik+RU4lb2oqRjw3JEZeYWwkIjNMQy4rOGctVigqRjw3JEZjYWwkIjNJM3JEclA7WCkqRjxGaWlkbTcnNyRGaWFsJCIzPFEnekRkJEhQNUY4NyRGXmJsJCIzKFFpLlVGa3FpKkY8NyRGY2JsJCIzKD4oejY+WDRVKCpGPDckRmhibCQiMydvczI9JWUrTikqRjxGZmpkbTcnNyQkIjNNUlciUmN4SVsiRjgkIjMuNkQ+Ilt2IVE1Rjg3JCQiM3hmYjNPQyNwXiJGOCQiM0UmKlsyKT1YIz4nKkY8NyQkIjNBRGEsT2YyKzpGOCQiM1NcNnRuMiI9dSpGPDckJCIzaSFvNm1uOCI+OkY4JCIzWF0qZSJbSFVFKSpGPEZlW2VtNyc3JEZjZGwkIjN0JilIOClILChRNUY4NyRGaGRsJCIzOlosbj1xKUhoKkY8NyRGXWVsJCIzVG5AMWpXKD51KkY8NyRGYmVsJCIzJFE4L3hraSI+KSpGPEZoXGVtNyc3JEZoZWwkIjM/KD5oQGsuI1I1Rjg3JEZdZmwkIjNSSyEpUXlOJ3pnKkY8NyRGYmZsJCIzXjZgZ11xVlUoKkY8NyRGZ2ZsJCIzQG1hXDFPKzgpKkY8RmVdZW03JzckRl1nbCQiM1BDcm9nJjMnUjVGODckRmJnbCQiM3NnKEdKUjlSZypGPDckRmdnbCQiM2FKQyx0NDRWKCpGPDckRlxobCQiMy9oKm8zLGV4ISkqRjxGYl5lbTcnNyRGYmhsJCIzQykzaHRkTypSNUY4NyRGZ2hsJCIzITQ3KlFFVWorJypGPDckRlxpbCQiMzknZjZveWZRdSpGPDckRmFpbCQiM2wkcDo4ZHBLISkqRjxGX19lbTcnNyRGZ2lsJCIzS2R5VVxQP1M1Rjg3JEZcamwkIjNFSjlzMEQnemYqRjw3JEZhamwkIjNWZEUheiwhcFcoKkY8NyRGZmpsJCIzYShHZm9uNCUqeipGPEZcYGVtNyc3JEZcW20kIjNbQUY8L0VVUzVGODckRmFbbSQiM3kheXMjZVJ4JmYqRjw3JEZmW20kIjMpNExvNiVbYVgoKkY8NyRGW1xtJCIzX0xVUSc0dGd6KkY8RmlgZW0tJSpUSElDS05FU1NHNiMiIiItJSZDT0xPUkc2JiUkUkdCRyRGL0YuRmphZW0kIiM1Ri4tRiY2TTckNyQkRi9GL0ZhYmVtNyQkIisrKysrNSEjNSQiMyMpPiNINyk9ZUwqKkYsNyRGYmJlbTckJCIrKysrKz9GZWJlbSQiM08nUiZSWikpXFo+Rjw3JEZpYmVtNyQkIisrKysrSUZlYmVtJCIzUENIdj47PUVHRjw3JEZfY2VtNyQkIisrKysrU0ZlYmVtJCIzXXlyN0pIXilmJEY8NyRGZWNlbTckJCIrKysrK11GZWJlbSQiM0VGTGBaXkhTVUY8NyRGW2RlbTckJCIrKysrK2dGZWJlbSQiM3YsKlJ4RlNVdCVGPDckRmFkZW03JCQiKysrKytxRmViZW0kIjM7Jio0QEpiP3BdRjw3JEZnZGVtNyQkIisrKysrISlGZWJlbSQiMy9wdSI+R2woUV9GPDckRl1lZW03JCQiKysrKyshKkZlYmVtJCIzM2IkW2omZVhSX0Y8NyRGY2VlbTckJEZkYmVtISIqJCIzPzdgZ2E4JipvXUY8NyRGaWVlbTckJCIrKysrKzZGW2ZlbSQiMy42Z1NGVElDWkY8NyRGX2ZlbTckJCIrKysrKzdGW2ZlbSQiMzNfZj9GT0QrVUY8NyRGZWZlbTckJCIrKysrKzhGW2ZlbSQiMysiNCMzPXJbKFskRjw3JEZbZ2VtNyQkIisrKysrOUZbZmVtJCIzbSEzWmNCODFkI0Y8NyRGYWdlbTckJCIrKysrKzpGW2ZlbSQiM3hJPDFkY1dEOUY8NyRGZ2dlbTckJCIrKysrKztGW2ZlbSQiM2U3VW8zNy4iXCJGZ2NfbDckRl1oZW03JCQiKysrKys8RltmZW0kITMrIik+bSVwendyIkY8NyRGY2hlbTckJCIrKysrKz1GW2ZlbSQhM3EnKTMhbz56LydRRjw3JEZpaGVtNyQkIisrKysrPkZbZmVtJCEzeW8hNCl6MF9ibEY8NyRGX2llbTckJEZbY2VtRltmZW0kITM3QkpcSHZZLzVGODckNyRGYWJlbSQiIiZGLjckRmNiZW0kIjMrP1JwJmUheTNkRjw3JEZdamVtNyRGamJlbSQiM2Eta29KSUFBakY8NyRGYWplbTckRmBjZW0kIjNOQidmTlRkXyNvRjw3JEZlamVtNyRGZmNlbSQiM1RycXd5Viwzc0Y8NyRGaWplbTckRlxkZW0kIjN5cXUxUV0jW1koRjw3JEZdW2ZtNyRGYmRlbSQiM0Ncd1p6NSskZihGPDckRmFbZm03JEZoZGVtJCIzRS9TKCopWyhlImYoRjw3JEZlW2ZtNyRGXmVlbSQiM1MoUVY5MzItWShGPDckRmlbZm03JEZkZWVtJCIzJ0hieUZgVCEpPihGPDckRl1cZm03JEZqZWVtJCIzJyplZCFISEtIIW9GPDckRmFcZm03JEZgZmVtJCIzUWYmKVs5KFEwRidGPDckRmVcZm03JEZmZmVtJCIzSWs9OUlMWCRmJkY8NyRGaVxmbTckRlxnZW0kIjN1RVwpKnpJOGdaRjw3JEZdXWZtNyRGYmdlbSQiMyc9IVF1Kz9XYFBGPDckRmFdZm03JEZoZ2VtJCIzeWc1dTlgW1tERjw3JEZlXWZtNyRGXmhlbSQiM2x1J3kqSCcqPTQ2Rjw3JEZpXWZtNyRGZGhlbSQhM0EiXFxoclVQPCdGLDckRl1eZm03JEZqaGVtJCEzTWUiKVImXDY0ciNGPDckRmFeZm03JEZgaWVtJCEzRTcvNTZTSSdIJkY8NyRGZV5mbTckRmZpZW0kITNxXVk8N0pQIWUpRjwtRmNhZW02IyIiJC0lJlNUWUxFRzYjJSVMSU5FRy1GZ2FlbTZlckZpYWVtRltiZW0kIjFrOS5lQFIhKVwhIztGamFlbUZbYmVtRmVfZm1GamFlbUZbYmVtRmVfZm1GamFlbUZbYmVtRmVfZm1GamFlbUZbYmVtRmVfZm1GamFlbUZbYmVtRmVfZm1GamFlbUZbYmVtRmVfZm1GamFlbUZbYmVtRmVfZm1GamFlbUZbYmVtRmVfZm1GamFlbUZbYmVtRmVfZm1GamFlbUZbYmVtRmVfZm1GamFlbUZbYmVtRmVfZm1GamFlbUZbYmVtRmVfZm1GamFlbUZbYmVtRmVfZm1GamFlbUZbYmVtRmVfZm1GamFlbUZbYmVtRmVfZm1GamFlbUZbYmVtRmVfZm1GamFlbUZbYmVtRmVfZm1GamFlbUZbYmVtRmVfZm1GamFlbUZbYmVtRmVfZm1GamFlbUZqYWVtRltiZW1GamFlbUZqYWVtRltiZW1GamFlbUZqYWVtRltiZW1GamFlbUZqYWVtRltiZW1GamFlbUZqYWVtRltiZW1GamFlbUZqYWVtRltiZW1GamFlbUZqYWVtRltiZW1GamFlbUZqYWVtRltiZW1GamFlbUZqYWVtRltiZW1GamFlbUZqYWVtRltiZW1GamFlbUZqYWVtRltiZW1GamFlbUZqYWVtRltiZW1GamFlbUZqYWVtRltiZW1GamFlbUZqYWVtRltiZW1GamFlbUZqYWVtRltiZW1GamFlbUZqYWVtRltiZW1GamFlbUZqYWVtRltiZW1GamFlbUZqYWVtRltiZW1GamFlbUZqYWVtRltiZW1GamFlbUZqYWVtRltiZW1GamFlbS0lK0FYRVNMQUJFTFNHNiRRIng2IlEleSh4KUZcYGZtLSUlRk9OVEc2JCUqSEVMVkVUSUNBR0ZcYmVtLSUlVklFV0c2JDskISIpISIjJCIkMyNGaGBmbTskISQzIkZoYGZtJCIkMyJGaGBmbQ==</Plot></Text-field></Output></Group><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">;</Font></Text-field></Input></Group></Section><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">An adaptive combined 7th and 8th order Runge-Kutta method can be applied to construct a continuous numerical solution for a differential equation of the form<Equation input-equation="dy/dx = f(x,y);" style="2D Comment">NiMvKiYlI2R5RyIiIiUjZHhHISIiLSUiZkc2JCUieEclInlH</Equation> with <Font executable="false" italic="false" size="12" style="Maple Input" underline="false">dsolve</Font> by including the options "<Font executable="false" italic="false" style="Grey Emphasis" underline="false">type=numeric</Font>" and "<Font executable="false" italic="false" style="Grey Emphasis" underline="false">method=dverk78</Font>".</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">The following subsection contains the information from the relevant Maple help file.</Text-field><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">;</Font></Text-field></Input></Group><Section collapsed="true"><Title><Text-field layout="Heading 2" style="Heading 2">information for: <Font executable="false" italic="false" size="14" style="Maple Input" underline="false">dsolve(..,type=numeric,method=dverk78)</Font></Text-field></Title><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">The following information comes from the Maple help files.</Text-field><Text-field layout="Normal" style="Normal"/><Text-field bookmark="usage" layout="Normal256" style="Normal256">Calling Sequence:</Text-field><Text-field layout="Normal" style="Normal">     dsolve(deqns, vars, type=numeric, method=dverk78, options)</Text-field><Text-field layout="Normal" style="Normal">     dsolve(deqns, vars, numeric, method=dverk78, options)</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal256" style="Normal256">Parameters:</Text-field><Text-field layout="Normal" style="Normal">     <Font bold="false" executable="false" foreground="[0,0,0]" italic="false" style="_cstyle23" underline="false">deqns          - </Font>set or list; ordinary differential equation(s) and initial conditions</Text-field><Text-field layout="Normal" style="Normal">     <Font bold="false" executable="false" foreground="[0,0,0]" italic="false" style="_cstyle23" underline="false">type=numeric   - </Font>instruct <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">dsolve</Font> to find a numerical solution</Text-field><Text-field layout="Normal" style="Normal">     <Font bold="false" executable="false" foreground="[0,0,0]" italic="false" style="_cstyle23" underline="false">method=dverk78 - </Font>literal equation; which numerical method to use</Text-field><Text-field layout="Normal" style="Normal">     <Font bold="false" executable="false" foreground="[0,0,0]" italic="false" style="_cstyle23" underline="false">vars           - </Font>(optional) dependent variable or a set or list of dependent variables for <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">deqns</Font></Text-field><Text-field layout="Normal" style="Normal">     <Font bold="false" executable="false" foreground="[0,0,0]" italic="false" style="_cstyle23" underline="false">options        - </Font>(optional) equations of the form <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">keyword = value</Font></Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal256" style="Normal256">Description:</Text-field><Text-field layout="Bullet Item" style="Bullet Item">Invoking the <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">dsolve</Font> function with options <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">numeric</Font> and <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">method=dverk78</Font> causes <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">dsolve</Font> to find a numerical solution using a seventh-eighth order continuous Runge-Kutta method.</Text-field><Text-field layout="Bullet Item" style="Bullet Item">The following options are available for the <Font executable="false" family="Times New Roman" foreground="[0,0,0]" size="12" style="_cstyle22" underline="false">basic</Font> use form of the <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">dverk78</Font> method:</Text-field><Text-field bookmark="wmitable" layout="Fixed Width" style="Fixed Width">  'output'      =   keyword or array 
  'number'      =   integer          
  'procedure'   =   procedure        
  'start'       =   numeric          
  'initial'     =   array            
  'procvars'    =   list             
  'startinit'   =   boolean          
  'implicit'    =   boolean          
  'abserr'      =   numeric          
  'relerr'      =   numeric          
  'errorest'    =   symbol           
  'initstep'    =   numeric          
  'minstep'     =   numeric          
  'maxstep'     =   numeric          
  'maxfun'      =   integer           </Text-field><Text-field layout="List Item" style="List Item"><Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle37" underline="false">Note:</Font> See also information about the <Font executable="false" family="Times New Roman" foreground="[0,0,0]" size="12" style="_cstyle22" underline="false">advanced</Font> use form of the <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">dverk78</Font> method in <Hyperlink bold="false" executable="false" family="Times New Roman" hyperlink="true" linktarget="Help:dsolve[dverk78,advanced]" size="12" style="Hyperlink">dsolve[dverk78,advanced]</Hyperlink>. </Text-field><Text-field layout="Bullet Item" style="Bullet Item">The <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">output</Font> option specifies the desired output from <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">dsolve</Font>. This option is discussed in <Hyperlink bold="false" executable="false" family="Times New Roman" hyperlink="true" linktarget="Help:dsolve[numeric]" size="12" style="Hyperlink">dsolve[numeric]</Hyperlink>.</Text-field><Text-field layout="Bullet Item" style="Bullet Item">The <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">number</Font>, <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">procedure</Font>, <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">start</Font>, <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">initial</Font>, <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">procvars</Font>, <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">startinit</Font>, and <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">implicit</Font> parameters are used for specification of the IVP using procedures, and the behavior of the computation. These options are discussed in <Hyperlink bold="false" executable="false" family="Times New Roman" hyperlink="true" linktarget="Help:dsolve[numeric,IVP]" size="12" style="Hyperlink">dsolve[numeric,IVP]</Hyperlink>.</Text-field><Text-field layout="Bullet Item" style="Bullet Item">The <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">abserr</Font>, <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">relerr</Font>, <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">initstep</Font>, <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">minstep</Font>, and <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">maxstep</Font> options specify the desired accuracy of the solution, and allow for more detailed control of the step size. These options are discussed in detail in <Hyperlink bold="false" executable="false" family="Times New Roman" hyperlink="true" linktarget="Help:dsolve[Error_Control]" size="12" style="Hyperlink">dsolve[Error_Control]</Hyperlink>. The default values are <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">abserr=Float(1,-8)</Font>, <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">relerr=Float(1,-8)</Font>, <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">minstep=0</Font>, <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">maxstep=2.0</Font>, and <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">initstep=maxstep*(relerr)^(1/6)</Font>.</Text-field><Text-field layout="List Item" style="List Item">The <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">dverk78</Font> method is capable of working in arbitrary precision based on the setting of <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">Digits</Font>, and can be used to obtain high accuracy solutions for ODE systems. As a note of caution, however, it is often necessary to work with a greater number of <Hyperlink bold="false" executable="false" family="Times New Roman" hyperlink="true" linktarget="Help:Digits" size="12" style="Hyperlink">Digits</Hyperlink> than would be expected for the requested error tolerance, to prevent round-off error from giving an inaccurate error estimate. When the error tolerance is too strict for the current setting of Digits, it is detected by the algorithm, and an error is issued. Asymptotically <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">dverk78</Font> requires Digits set so that <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">tol = O(Float(1,-Digits)^(9/8))</Font>. </Text-field><Text-field layout="List Item" style="List Item"><Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle37" underline="false">Note:</Font> just as for all other numeric dsolve methods, any setting of Digits that is less than or equal to hardware precision works in hardware precision, so for <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">Digits &lt; evalhf(Digits)</Font>, the algorithm works in <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">trunc(evalhf(Digits))</Font> Digits (see <Hyperlink bold="false" executable="false" family="Times New Roman" hyperlink="true" linktarget="Help:evalhf" size="12" style="Hyperlink">evalhf</Hyperlink>).</Text-field><Text-field layout="Bullet Item" style="Bullet Item">The <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">errorest</Font> option allows control over the method used to obtain error estimates, and can have the values <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">interpolant</Font> or <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">pair</Font>. The <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">interpolant</Font> option is the default, and tells dverk78 to estimate the error using the interpolant of the method. The <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">pair</Font> option tells dverk to estimate the error using the difference between the computed solution and a lower order estimate of the solution (hence 'pair'). Typically, the <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">interpolant</Font> option gives a better error estimate than the <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">pair</Font> option, but requires more work to compute. This may also be a better option for expensive systems, as dverk78 with the <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">interpolant</Font> option performs 20 function evaluations per step, while the <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">pair</Font> option only requires 13.</Text-field><Text-field layout="Bullet Item" style="Bullet Item">The <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">maxfun</Font> option is an integer that specifies the maximum on the number of evaluations of the ODE or ODE system in one call to the returned procedure. This limits the amount of work done on any individual call (See xrefdsolve[maxfun]). This option is relevant for the procedure-style <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">output</Font> only. By default, this value is set to zero (disabled).</Text-field><Text-field layout="Bullet Item" style="Bullet Item">Much finer control over the behavior of the <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">dverk78</Font> method is possible through use of the <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">control</Font> option, including the capability of running partial calculations, specification of the scale of the problem, and obtaining information on the last step size used, the next step size to be attempted, the local error, etc. This option is somewhat complex, and is discussed in detail in <Hyperlink bold="false" executable="false" family="Times New Roman" hyperlink="true" linktarget="Help:dsolve[dverk78,advanced]" size="12" style="Hyperlink">dsolve[dverk78,advanced]</Hyperlink>.</Text-field><Text-field layout="Bullet Item" style="Bullet Item">Results can be plotted using the function <Hyperlink bold="false" executable="false" family="Times New Roman" hyperlink="true" linktarget="Help:plots[odeplot]" size="12" style="Hyperlink">odeplot</Hyperlink> in the <Hyperlink bold="false" executable="false" family="Times New Roman" hyperlink="true" linktarget="Help:plots" size="12" style="Hyperlink">plots</Hyperlink> package.</Text-field><Text-field layout="Bullet Item" style="Help Italic Bold"><Font executable="false" foreground="[0,0,0]" underline="false">Credits:</Font></Text-field><Text-field layout="List Item" style="List Item">Much appreciation and thanks go to Dr. Jim Verner who provided us with the coefficients for the <Font executable="false" family="Times New Roman" italic="false" size="12" style="_cstyle35" underline="false">dverk78</Font> method, and the related interpolant. Without these coefficients the method would be restricted to hardware precision.</Text-field><Text-field layout="Bullet Item" style="Help Italic Bold"><Font executable="false" foreground="[0,0,0]" underline="false">Reference:</Font></Text-field><Text-field layout="List Item" style="List Item">W.H. Enright. "The Relative Efficiency of Alternative Defect Control Schemes for High Order Continuous Runge-Kutta Formulas." <Font executable="false" family="Times New Roman" foreground="[0,0,0]" size="12" style="_cstyle22" underline="false">Technical Report 252/91</Font>, Dept. of Computer Science, University of Toronto, June, 1991. </Text-field><Text-field layout="List Item" style="List Item">J.H. Verner. "Explicit Runge-Kutta Methods with Estimates of the Local Truncation Error." <Font executable="false" family="Times New Roman" foreground="[0,0,0]" size="12" style="_cstyle22" underline="false">SIAM Journal of Numerical Analysis</Font>, Aug. 1978. </Text-field><Text-field layout="Normal" style="Normal"/></Section><Section collapsed="true"><Title><Text-field layout="Heading 2" style="Heading 2"><Font executable="false" italic="false" size="14" style="Maple Input" underline="false">dsolve(..,type=numeric,method=dverk78</Font>: example</Text-field></Title><Text-field layout="Normal" style="Normal">The following commands construct a numerical solution to the differential equation <Equation input-equation="dy/dx = 1-x^2-y^2;" style="2D Comment">NiMvKiYlI2R5RyIiIiUjZHhHISIiLChGJkYmKiQlInhHIiIjRigqJCUieUdGLEYo</Equation> , with the initial condition <Equation input-equation="y(0)=0" style="2D Comment">NiMvLSUieUc2IyIiIUYn</Equation>. </Text-field><Text-field layout="Normal" style="Normal">The numerical solution is given as a function <Font executable="false" italic="false" style="Grey Emphasis" underline="false">gn</Font>.</Text-field><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">de := diff(y(x),x)=1-x^2-y(x)^2;
ic := y(0)=0;
dsol := dsolve({de,ic},y(x),type=numeric,
              method=dverk78,output=listprocedure,tolerance=Float(1,-10)):
gn := subs(dsol,y(x));</Font></Text-field></Input><Output><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiM+JSNkZUcvLSUlZGlmZkc2JC0lInlHNiMlInhHRiwsKCIiIkYuKiQpRiwiIiNGLiEiIiokKUYpRjFGLkYy</Equation></Text-field><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiM+JSNpY0cvLSUieUc2IyIiIUYp</Equation></Text-field></Output></Group><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">The value obtained for the positive zero of the solution now agrees with the value obtained using <Font executable="false" italic="false" size="12" style="Maple Input" underline="false">desolveRK</Font>. </Text-field><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">fsolve('gn'(x),x=1..2);</Font></Text-field></Input><Output><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiMkIis3dyY0ZyIhIio=</Equation></Text-field></Output></Group><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">;</Font></Text-field></Input></Group></Section><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">;</Font></Text-field></Input></Group></Section><Text-field layout="Normal" style="Normal"/><Section><Title><Text-field layout="Heading 2" style="Heading 2">Tasks</Text-field></Title><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">;</Font></Text-field></Input></Group><Section collapsed="true"><Title><Text-field layout="Heading 2" style="Heading 2">Q1</Text-field></Title><Text-field layout="Normal" style="Normal">The differential equation  <Equation input-equation="dy/dx = y*cos(x)-1/5;" style="2D Comment">NiMvKiYlI2R5RyIiIiUjZHhHISIiLCYqJiUieUdGJi0lJGNvc0c2IyUieEdGJkYmKiZGJkYmIiImRihGKA==</Equation> with the initial condition <Equation input-equation="y(0)=1" style="2D Comment">NiMvLSUieUc2IyIiISIiIg==</Equation> has the analytical solution</Text-field><Text-field layout="Normal257" style="Normal257"><Equation input-equation="y(x) = (-1/5)*exp(sin(x))*Int(exp(-sin(u)),u = 0 .. x)+exp(sin(x));" style="2D Comment">NiMvLSUieUc2IyUieEcsJiooLCQqJiIiIkYsIiImISIiRi5GLC0lJGV4cEc2Iy0lJHNpbkdGJkYsLSUkSW50RzYkLUYwNiMsJC1GMzYjJSJ1R0YuL0Y8OyIiIUYnRixGLEYvRiw=</Equation>.</Text-field><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">de := diff(y(x),x)=y(x)*cos(x)-1/5;
ic := y(0)=1;
dsolve({de,ic},y(x));</Font></Text-field></Input><Output><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiM+JSNkZUcvLSUlZGlmZkc2JC0lInlHNiMlInhHRiwsJiomRikiIiItJSRjb3NHRitGL0YvI0YvIiImISIi</Equation></Text-field><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiM+JSNpY0cvLSUieUc2IyIiISIiIg==</Equation></Text-field><Text-field layout="Maple Output" style="2D Output"><Equation style="2D Output">NiMvLSUieUc2IyUieEcsJiomLSUkZXhwRzYjLSUkc2luR0YmIiIiLSUkSW50RzYkLCQtRis2IywkLUYuNiMlInVHISIiI0Y6IiImL0Y5OyIiIUYnRi9GL0YqRi8=</Equation></Text-field></Output></Group><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">;</Font></Text-field></Input></Group><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">(a) Construct a discrete numerical solution for differential equation  <Equation input-equation="dy/dx = y*cos(x)-1/5;" style="2D Comment">NiMvKiYlI2R5RyIiIiUjZHhHISIiLCYqJiUieUdGJi0lJGNvc0c2IyUieEdGJkYmKiZGJkYmIiImRihGKA==</Equation>  with the initial condition <Equation input-equation="y(0)=1" style="2D Comment">NiMvLSUieUc2IyIiISIiIg==</Equation> over the interval  from <Equation input-equation="x=0" style="2D Comment">NiMvJSJ4RyIiIQ==</Equation> to <Equation input-equation="x= 13" style="2D Comment">NiMvJSJ4RyIjOA==</Equation> using a combined 7th and 8th order Runge-Kutta method via <Font executable="false" italic="false" size="12" style="Maple Input" underline="false">desolveRK</Font>. Compare the numerical solution with the analytical solution, both in a table and graphically.</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">(b) Construct and plot a continuous solution over the interval from <Equation input-equation="x=0" style="2D Comment">NiMvJSJ4RyIiIQ==</Equation> to <Equation input-equation="x=13" style="2D Comment">NiMvJSJ4RyIjOA==</Equation> along with the direction field. </Text-field><Text-field layout="Normal" style="Normal">     Take <Font bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" size="12" style="_cstyle289" underline="false">x</Font> from 0 to 13 and <Font bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" size="12" style="_cstyle290" underline="false">y</Font> from -3 to 3 for the plot.</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">(c) Compare the values of the continuous numerical solution and the analytical solution when <Equation input-equation="x=13" style="2D Comment">NiMvJSJ4RyIjOA==</Equation>.</Text-field><Text-field layout="Normal" style="Normal">__________________________________</Text-field><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Text-field layout="Normal" style="Normal">__________________________________</Text-field><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">;</Font></Text-field></Input></Group></Section><Section collapsed="true"><Title><Text-field layout="Heading 2" style="Heading 2">Q2</Text-field></Title><Text-field layout="Normal" style="Normal">Consider the differential equation <Equation input-equation="dy/dx = sin(2*x-y);" style="2D Comment">NiMvKiYlI2R5RyIiIiUjZHhHISIiLSUkc2luRzYjLCYqJiIiI0YmJSJ4R0YmRiYlInlHRig=</Equation> with the initial condition <Equation input-equation="y(0)=-1" style="2D Comment">NiMvLSUieUc2IyIiISwkIiIiISIi</Equation>.</Text-field><Text-field layout="Normal" style="Normal">(a) Plot the direction field for this differential equation for <Font bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" size="12" style="_cstyle276" underline="false">x</Font> between 0 and 5 and <Font bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" size="12" style="_cstyle277" underline="false">y</Font> between -1 and 2.</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">(b) Use a Runge-Kutta method with adaptive step-size to obtain a numerical solution of this equation in the form of a Maple procedure which can be evaluated anywhere in the interval <Equation input-equation="x=0" style="2D Comment">NiMvJSJ4RyIiIQ==</Equation> to <Equation input-equation="x=5" style="2D Comment">NiMvJSJ4RyIiJg==</Equation> to give a value which is accurate to about 10 digits. </Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">(c) Find the first positive zero of the solution to an accuracy of about 10 digits. </Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">(d) Find the coordinates of the first maximum point on the graph of the solution to an accuracy of about 10 digits.</Text-field><Text-field layout="Normal" style="Normal">__________________________________</Text-field><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Text-field layout="Normal" style="Normal">__________________________________</Text-field><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">;</Font></Text-field></Input></Group></Section><Section collapsed="true"><Title><Text-field layout="Heading 2" style="Heading 2">Q3</Text-field></Title><Text-field layout="Normal" style="Normal">(a)  Find a continuous numerical solution for the differential equation <Equation input-equation="dy/dx = (x-cosh(y))/(x+y);" style="2D Comment">NiMvKiYlI2R5RyIiIiUjZHhHISIiKiYsJiUieEdGJi0lJWNvc2hHNiMlInlHRihGJiwmRitGJkYvRiZGKA==</Equation>  with the initial condition <Equation input-equation="y(0)=2" style="2D Comment">NiMvLSUieUc2IyIiISIiIw==</Equation>, in the form of a Maple procedure which can be evaluated anywhere throughout the interval from <Equation input-equation="x=0" style="2D Comment">NiMvJSJ4RyIiIQ==</Equation> to <Equation input-equation="x=8" style="2D Comment">NiMvJSJ4RyIiKQ==</Equation> to give a value which is accurate to about 10 digits.</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">(b) Plot the graph of the solution found in (a).</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">(c) Find the value of <Font bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" size="12" style="_cstyle278" underline="false">x</Font> (other than <Equation input-equation="x=0" style="2D Comment">NiMvJSJ4RyIiIQ==</Equation>) for which the solution has the value 2.</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">(d) Find the minimum value of the solution <Equation input-equation="y(x)" style="2D Comment">NiMtJSJ5RzYjJSJ4Rw==</Equation> in the interval from <Equation input-equation="x=0" style="2D Comment">NiMvJSJ4RyIiIQ==</Equation> to <Equation input-equation="x=8" style="2D Comment">NiMvJSJ4RyIiKQ==</Equation>, and the value of <Equation input-equation="x" style="2D Comment">NiMlInhH</Equation> where this minimum occurs.</Text-field><Text-field layout="Normal" style="Normal">__________________________________</Text-field><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Text-field layout="Normal" style="Normal">__________________________________</Text-field><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">;</Font></Text-field></Input></Group></Section><Section collapsed="true"><Title><Text-field layout="Heading 2" style="Heading 2">Q4</Text-field></Title><Text-field layout="Normal" style="Normal">By solving an appropriate initial value problem numerically, construct a procedure which evaluates the function </Text-field><Text-field layout="Normal257" style="Normal257"> <Equation input-equation="f(x)=Int(ln(arctan(t)+1),t=0..x)" style="2D Comment">NiMvLSUiZkc2IyUieEctJSRJbnRHNiQtJSNsbkc2IywmLSUnYXJjdGFuRzYjJSJ0RyIiIkYzRjMvRjI7IiIhRic=</Equation>  </Text-field><Text-field layout="Normal" style="Normal">for <Equation input-equation="0 &lt;= x;" style="2D Comment">NiMxIiIhJSJ4Rw==</Equation><Equation input-equation="`` &lt;= 4;" style="2D Comment">NiMxJSFHIiIl</Equation>, to an accuracy of about 10 digits.</Text-field><Text-field layout="Normal" style="Normal">The function <Equation input-equation="f(x)" style="2D Comment">NiMtJSJmRzYjJSJ4Rw==</Equation> gives the area under the graph  <Equation input-equation="y = ln(arctan(x)+1);" style="2D Comment">NiMvJSJ5Ry0lI2xuRzYjLCYtJSdhcmN0YW5HNiMlInhHIiIiRi1GLQ==</Equation> starting at the <Font bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" size="12" style="_cstyle275" underline="false">y</Font> axis, and going as far as the vertical line through <Font bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" size="12" style="_cstyle273" underline="false">x</Font> on the <Font bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" size="12" style="_cstyle274" underline="false">x</Font> axis. </Text-field><Text-field layout="Normal" style="Normal"> </Text-field><Text-field layout="Normal257" style="Normal257"> <Plot height="246" type="two-dimensional" width="347">LSUlUExPVEc2MS0lJ0NVUlZFU0c2JDdVNyQkIiIhRitGKjckJCIzOUxMTEwzVmZWISM+JCIzL1Q2WkwoUVdFJUYvNyQkIjNIbW1tbTsnKT0oKUYvJCIzKGZbWCczLEdSJClGLzckJCIzLSsrXTd6Pl43ISM9JCIzay14ITRIV0o8IkY6NyQkIjNSTExMZSc0MGoiRjokIjNDcCRwMEdJIylcIkY6NyQkIjNtbW1tOzZtJFsjRjokIjNDTTV2KnA+KXlARjo3JCQiM2ZtbW07eVlVTEY6JCIzZSp6IT1FbHkmeiNGOjckJCIzJUhMTCRlRj4oPiVGOiQiM2Mhb0cvUGRnTSRGOjckJCIzUW1tbSI+SycqKVxGOiQiMztCUChHLllPIVFGOjckJCIzUCoqKioqXEtkLCJlRjokIjN1ei8/QSx2R1VGOjckJCIzLW1tbSJmWChlbUY6JCIzQUx5cyIpW0pAWUY6NyQkIjMuKioqKipcVTdZXShGOiQiM2ErJj1fWSQzcVxGOjckJCIzJ1FMTExWIXB1JClGOiQiM21YWnJEYmsqRyZGOjckJCIzeG1tbTtjMFQiKkY6JCIzKz8kNFNPTD9hJkY6NyQkIjMjKioqKioqKkgsUSs1ISM8JCIzQ1gyTi8peXV6JkY6NyQkIjMpKioqKioqKlwqM3EzIkZccCQiM3AqelFASjJyLSdGOjckJCIzKSoqKioqKipwPVxxNkZccCQiMz9XNiYqUVs1RWlGOjckJCIzbW1tO2ZCSVk3RlxwJCIzYVNYNV4hSCxSJ0Y6NyQkIjNHTExMaiRba0wiRlxwJCIzKXk8KXoiKVIpcGMnRjo3JCQiMz9MTExgUSJHVCJGXHAkIjNUIXpGT0pMSnEnRjo3JCQiMyEqKioqKlxzXWssOkZccCQiMylvPiFcJ3o9dyVvRjo3JCQiMzlMTExgZEYhZSJGXHAkIjNhXjBaUkJYa3BGOjckJCIzMysrXXNnYW07RlxwJCIzaTooKilcIm8wIzMoRjo3JCQiMy8rK108ZXBbPEZccCQiMzdTYktxKHlbPShGOjckJCIzUUxMTGUvVE09RlxwJCIzJT08aSNmI3lPRyhGOjckJCIzSkxMJGVEQkoiPkZccCQiM3NdRmhVPGRudEY6NyQkIjNpbW1tVGMtKSo+RlxwJCIzbz4nKmZKOltedUY6NyQkIjNNbW07ZmBAJzMjRlxwJCIzZ1BOcigpPjlLdkY6NyQkIjN5KioqKlxuWilIOyNGXHAkIjNzNzBzX3BcKGYoRjo3JCQiM1ltbW1KeSplQyNGXHAkIjNXaEtXSGBbandGOjckJCIzJykqKioqKipSXmJKQkZccCQiMylwWG40IWY1RnhGOjckJCIzZioqKioqXDVhYFQjRlxwJCIzUTJrRVNLRyZ5KEY6NyQkIjNvKioqKlw3UlYnXCNGXHAkIjM4QylcNGchNFF5Rjo3JCQiM2sqKioqKlxAZmtlI0ZccCQiM1EhSEhsOm9JKnlGOjckJCIzL0xMTGA0Tm5FRlxwJCIzO2FsRD4ibyVSekY6NyQkIjMjKioqKioqKlwsc2BGRlxwJCIzaSkqM3hUTzknKXpGOjckJCIzW21tO3pNKT4kR0ZccCQiM2kxJClvR2ozRSEpRjo3JCQiMyQqKioqKioqcGZhPEhGXHAkIjMlPi5Vb2wpUm4hKUY6NyQkIjMjSExMZWdgISkqSEZccCQiMz1rQyJvRiU+LyIpRjo3JCQiM3cqKioqXCNHMkEzJEZccCQiMyUzKjQ+RyRvMTkpRjo3JCQiMztMTEwkKUdba0pGXHAkIjNlI1IhKkhDM1g8KUY6NyQkIjMjKSoqKipcN3loXUtGXHAkIjNZLzhJJSkqWyIzIylGOjckJCIzeG1tbScpZmRMTEZccCQiM2ZHJGZsNlgqUSMpRjo3JCQiM2JtbW0sRlQ9TUZccCQiMykqM2g+QGkjKm8jKUY6NyQkIjNGTEwkZSNwYS1ORlxwJCIzdTFXViZmX3NIKUY6NyQkIjMhKioqKioqKlJ2Jil6TkZccCQiM3o9NyJ5REdASylGOjckJCIzSUxMTEdVWW9PRlxwJCIzaSY+Kno0I3AkXCQpRjo3JCQiM19tbW0xXnJaUEZccCQiM3lkJXkzdGRFUClGOjckJCIzNCsrXXNJQEtRRlxwJCIzJWVNb1I8U2tSKUY6NyQkIjM0KytdMiUpMzhSRlxwJCIzLidIbCM0OUQ9JSlGOjckJCIiJUYrJCIzJyk+SzYwbXJTJSlGOi0lJkNPTE9SRzYmJSRSR0JHJCIjNSEiIiRGK0ZpW2xGaltsLSUpUE9MWUdPTlNHNiU3VUYpRik3JCQiK25ZYShbJCEjNiQiKyVbVW5VJEZiXGw3JCQiK0wnUT9fJ0ZiXGwkIitdO140akZiXGw3JCQiK25Xa00qKkZiXGwkIitMaS1VJSpGYlxsNyQkIitGcilwTCIhIzUkIitmKioqeUMiRmJdbDckJCIrLnIoKXk7RmJdbCQiK2lpblE6RmJdbDckJCIreEcmZSo+RmJdbCQiK11zOil6IkZiXWw3JCQiK0lIMUNCRmJdbCQiK1whUm4wI0ZiXWw3JCQiK1AjKVxqRUZiXWwkIitOKlxOSiNGYl1sNyQkIitxXCU9KyRGYl1sJCIreiM+IWZERmJdbDckJCIrdGgoKVxMRmJdbCQiKyhwQTMhR0ZiXWw3JCQiK1pBVWNPRmJdbCQiK1ZmMDBJRmJdbDckJCIrPzBfLFNGYl1sJCIrREpYREtGYl1sNyQkIisrZS5bVkZiXWwkIissXyNwViRGYl1sNyQkIishW24+byVGYl1sJCIrciE9PGokRmJdbDckJCIrUCU0XylcRmJdbCQiK1pYQSxRRmJdbDckJCIrYE16WGBGYl1sJCIrITQhKVIqUkZiXWw3JCQiKzhhRF5jRmJdbCQiK2lCMl1URmJdbDckJCIrIUghZTFnRmJdbCQiKzV1b0JWRmJdbDckJCIrOEk1QGpGYl1sJCIrZkRfcVdGYl1sNyQkIishSCU9bW1GYl1sJCIrPihmWGklRmJdbDckJCIrcUt5JSpwRmJdbCQiK1lhbmtaRmJdbDckJCIrTD1rUHRGYl1sJCIrWmFPL1xGYl1sNyQkIitCSVxfd0ZiXWwkIitxVDFGXUZiXWw3JCQiK25ENSMqekZiXWwkIitCITNQOiZGYl1sNyQkIitQOSdbTSlGYl1sJCIrJGUlSHpfRmJdbDckJCIrcSFSPmwpRmJdbCQiK0RmIlJRJkZiXWw3JCQiK0Y4ZiQpKilGYl1sJCIrJnlOQVwmRmJdbDckJCIrZzBBRSQqRmJdbCQiK1BMSCpmJkZiXWw3JCQiKz9rVGgnKkZiXWwkIiswSF0qcCZGYl1sNyQkIitdY3QmKSoqRmJdbCQiK09oVCN6JkZiXWw3JCQiKydvJGVNNSEiKiQiK3gtOyIqZUZiXWw3JCQiKyJRU3AxIkZqZWwkIis5Ozd3ZkZiXWw3JCQiK2chKVssNkZqZWwkIis2djVqZ0ZiXWw3JCQiKyNSJHpLNkZqZWwkIitaKHAoUWhGYl1sNyQkIispUT1xOyJGamVsJCIrO1tBPWlGYl1sNyQkIitVOUEqPiJGamVsJCIrUGotIUgnRmJdbDckJCIrOEgpR0IiRmplbCQiKylmbUBPJ0ZiXWw3JCQiK2BKemw3RmplbCQiKzYxJypIa0ZiXWw3JCQiK0RyQys4RmplbCQiKypwIj0pXCdGYl1sNyQkIismUklNTCJGamVsJCIrd3FOaGxGYl1sNyQkIisiM2x0TyJGamVsJCIrcVVfQm1GYl1sNyQkIitxKD01UyJGamVsJCIrbTYnR28nRmJdbDckJCIrO0klPlYiRmplbCQiKykqKlxhdCdGYl1sNyQkIisicCZRbjlGamVsJCIrckZiJHonRmJdbDckJCIrVmczKlwiRmplbCQiK0UjXE8lb0ZiXWw3JCQiK0hfKUdgIkZqZWwkIitlJDRfKm9GYl1sNyQkIitqYEJsOkZqZWwkIityLSZHJXBGYl1sNyQkIisrKysrO0ZqZWwkIitkO0YjKnBGYl1sNyQkIiM7RmlbbEYqLSUmU1RZTEVHNiMlLFBBVENITk9HUklERy1GZFtsNiZGZltsJCIxIz10OiF6Zz4hKiEjO0ZbXG1GW1xtLUYmNiQ3JDckJCIzMysrKysrKys7RlxwRio3JEZiXG0kIjNnKioqKipSbHJBKnBGOi1GZFtsNiZGZltsRmpbbEZqW2xGaltsLSUlVEVYVEc2JTckRmNbbSQhIiYhIiNRIng2IkZnXG0tRmpcbTYlNyQkIiMlKkZfXW0kIjIvKysrKysrKyRGXHBRJWYoeClGYV1tRmdcbS1GalxtNiU3JCQiI05GaVtsJCIjdkZfXW1RNHl+PX5sbihhcmN0YW4oeCkrMSlGYV1tRmNbbC0lK0FYRVNMQUJFTFNHNidRIUZhXW1GZV5tLSUlRk9OVEc2JCUqSEVMVkVUSUNBR0ZoW2wlK0hPUklaT05UQUxHRmpebS0lKkFYRVNUSUNLU0c2JSIiI0ZeX20tRmdebTYjJShERUZBVUxURy0lKkdSSURTVFlMRUc2IyUsUkVDVEFOR1VMQVJHLSUqTElORVNUWUxFRzYjRitGZl5tLSUsT1JJRU5UQVRJT05HNiQkIiNYRitGXGBtLSUrUFJPSkVDVElPTkc2I0ZnW2wtRmRbbDYjJSVOT05FRy0lJVZJRVdHNiQ7RmpbbCQiI1NGaVtsOyQhMVdFLUBMOSl5J0ZccCQiMSdbOnMkNGA+JylGXVxt</Plot></Text-field><Text-field layout="Normal" style="Normal">Plot the graph of f over the interval <Equation input-equation="0 &lt;= x;" style="2D Comment">NiMxIiIhJSJ4Rw==</Equation><Equation input-equation="`` &lt;= 4;" style="2D Comment">NiMxJSFHIiIl</Equation>. </Text-field><Text-field layout="Normal" style="Normal">__________________________________</Text-field><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Text-field layout="Normal" style="Normal">__________________________________</Text-field><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">;</Font></Text-field></Input></Group></Section><Section collapsed="true"><Title><Text-field layout="Heading 2" style="Heading 2">Q5</Text-field></Title><Text-field layout="Normal" style="Normal">(a) Find a differential equation which is satisfied by the function <Equation input-equation="f(x) = Int(sqrt(1+cos(t^2)),t = 0 .. x);" style="2D Comment">NiMvLSUiZkc2IyUieEctJSRJbnRHNiQtJSVzcXJ0RzYjLCYiIiJGLy0lJGNvc0c2IyokJSJ0RyIiI0YvL0Y0OyIiIUYn</Equation>. </Text-field><Text-field layout="Normal" style="Normal">When <Font bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" size="12" style="_cstyle288" underline="false">x</Font> is positive, the function <Equation input-equation="f(x)" style="2D Comment">NiMtJSJmRzYjJSJ4Rw==</Equation> gives the area under the graph  <Equation input-equation="y = sqrt(1+cos(x^2));" style="2D Comment">NiMvJSJ5Ry0lJXNxcnRHNiMsJiIiIkYpLSUkY29zRzYjKiQlInhHIiIjRik=</Equation> starting at the <Font bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" size="12" style="_cstyle287" underline="false">y</Font> axis, and going as far as the vertical line through <Font bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" size="12" style="_cstyle285" underline="false">x</Font> on the <Font bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" size="12" style="_cstyle286" underline="false">x</Font> axis. </Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal257" style="Normal257"> <Plot height="193" type="two-dimensional" width="324">LSUlUExPVEc2NS0lJ0NVUlZFU0c2JDdTNyQkIiIhRiskIjM6JjR0QmM4VVQiISM8NyQkIjM7TExMPWRYaVEhIz4kIjMxN0UkKm9KQDk5Ri43JCQiM1JubVQneWRKQShGMiQiM3UrJSpHXSgzVVQiRi43JCQiM0dMTG91PUUrNiEjPSQiM2dhMyNmbCg9OTlGLjckJCIzaUxMeVVLciFbIkY9JCIzJio+W3clZUdUVCJGLjckJCIzb207JT5SYyRmPUY9JCIzTl5GRnpBKzk5Ri43JCQiMzxMJDM0MTIvQCNGPSQiM2YjbzM9ZSJ6ODlGLjckJCIzIykqKlwoXHAqKlFkI0Y9JCIzZ3lSISlleFY4OUYuNyQkIjNHTCQzckhDKVxIRj0kIjNCTUJfK2AoR1QiRi43JCQiMysrXUYvTGFDTEY9JCIzJG9EL0loYT9UIkYuNyQkIjMzbm0nPid5KSo0UEY9JCIzJEgoKmZgKWUnM1QiRi43JCQiM09MTD1Rd1tcU0Y9JCIzb1g8WCZmaSU0OUYuNyQkIjNTKyshZihSb0pXRj0kIjMjKTMoR0VPK3VTIkYuNyQkIjN6KioqKlxbJ1xhIltGPSQiMyIqXCFHQHc9WlMiRi43JCQiMz8rKzUlKSp5Xz0mRj0kIjNiPzpxMkxYLDlGLjckJCIzIUdMMzZYPjZfJkY9JCIzQyIzZyFwIz55UiJGLjckJCIzNm5tY1xpWT9mRj0kIjNrZ2FkZSdcRFIiRi43JCQiMyFvbW0tUGwoZWlGPSQiM1coKXAtWFg8KFEiRi43JCQiMzMrXTxyd0dfbUY9JCIzVTRUUS1ndHo4Ri43JCQiM2htbUUoZUAxKyhGPSQiMzVfIz1cVm0+UCJGLjckJCIzXStdPCwiKnojUShGPSQiM19dPzMmbz4/TyJGLjckJCIzWytdX3JDc1l4Rj0kIjNxOVxcXGAtXjhGLjckJCIzam5tVEkkUWs3KUY9JCIzcThRaURsInlMIkYuNyQkIjNFbjtNQmc4diUpRj0kIjMnKT1MQTNoKVJLIkYuNyQkIjNjTExlI2ZgNyYpKUY9JCIzRHEqKmZdLjQyOEYuNyQkIjMkR0wzNi9NPkMqRj0kIjMreCtcYWE+KEciRi43JCQiM3cqKlwtP0QtI2UqRj0kIjMnND9cWEoqeW43Ri43JCQiMyFRTCRHJVJGJFwqKkY9JCIzJyp6Km9EQytYQyJGLjckJCIzMSsrLUYqeUcuIkYuJCIzYF0/S2w7dTw3Ri43JCQiMyEqKipcXm89K3E1Ri4kIjNbQyF5VyVIdik9IkYuNyQkIjMxK3ZCQi0jZjUiRi4kIjNLSyhHTmo7ejoiRi43JCQiMzMrXUNLOSFlOSJGLiQiM0NvJykzdGNJPzZGLjckJCIzY21tS3NraiI9IkYuJCIzKW8rQG4jKVxMMyJGLjckJCIzNysrWEUhKSopPjdGLiQiMzBDJSo0XnJYUzVGLjckJCIzQUwzRiJvb1hEIkYuJCIzb3c+dCdRY1UpKipGPTckJCIzNSsrcmtHWiNIIkYuJCIzW0UiR2FbUCQqWypGPTckJCIzWW1UUVp4OEc4Ri4kIjM9VGwsQFA4KikqKUY9NyQkIjMxK3Y5RXlUbDhGLiQiM294XDIvQSkpSCUpRj03JCQiM2FtbUo8Zic9UyJGLiQiMylwLDo7eWZuJXlGPTckJCIzJCoqXFA0cEIrVyJGLiQiM29tYWZ1OWgoPihGPTckJCIzWUxMNGlUeHc5Ri4kIjNDZCs9PWs3TmxGPTckJCIzUkwkUW8jb045OkYuJCIzTkwzJ2ZNWS0jZUY9NyQkIjN3bVQ5KUdHO2IiRi4kIjNZX28mZlo6WjImRj03JCQiMysrK0EhKm8oZWUiRi4kIjNbP0lWXF1eZVZGPTckJCIzIW9tXkpsSF5pIkYuJCIzMVM9MS9HYy1ORj03JCQiM01MTEQjelAtbSJGLiQiM0BIJlFhZikpcHEjRj03JCQiMyUqKlw8NlJxd3AiRi4kIjNRLDRFUEsmKUg9Rj03JCQiMzArRF9rIilcTDxGLiQiMycpSDtfWjskKlwnKkYyNyQkIjMtKysrKysrczxGLiQiMzdRREVSKCpbUDYhIz8tJSZDT0xPUkc2JiUkUkdCRyQiIzUhIiIkRitGYltsRmNbbC0lKVBPTFlHT05TRzYlN1U3JEYqRio3JEYqJCIraU5AOTkhIio3JCQiKyN6K2VfIiEjNiQiK2BOQDk5RlxcbDckJCIrLT5SYEdGYFxsJCIrWE1AOTlGXFxsNyQkIithcFNZVkZgXGwkIitKSEA5OUZcXGw3JCQiK3onPSRcZUZgXGwkIiskXDZVVCJGXFxsNyQkIitGdDNYdEZgXGwkIis8JTNVVCJGXFxsNyQkIitOaiY9dClGYFxsJCIrJ0cuVVQiRlxcbDckJCIrS3Z4OzUhIzUkIitvWT45OUZcXGw3JCQiK3ovR2w2Rl9ebCQiK280PTk5RlxcbDckJCIrdXJJODhGX15sJCIrdTQ7OTlGXFxsNyQkIitFM2RsOUZfXmwkIiszPzg5OUZcXGw3JCQiK0xabypmIkZfXmwkIisueTQ5OUZcXGw3JCQiK0ZfbV08Rl9ebCQiKzt2Lzk5RlxcbDckJCIraWNFLT5GX15sJCIrIjQjKVJUIkZcXGw3JCQiK3MyT1s/Rl9ebCQiK21CIVJUIkZcXGw3JCQiK0giSDU9I0ZfXmwkIityTiJRVCJGXFxsNyQkIitPWXlRQkZfXmwkIishbyVvODlGXFxsNyQkIitWVVVzQ0ZfXmwkIitaSWI4OUZcXGw3JCQiK3gpeXlpI0ZfXmwkIis1MVA4OUZcXGw3JCQiK29EW2xGRl9ebCQiKzwoekpUIkZcXGw3JCQiK0ZjWDtIRl9ebCQiK0VbJEhUIkZcXGw3JCQiKyJvPC0xJEZfXmwkIit6TW03OUZcXGw3JCQiKy0kPS1AJEZfXmwkIitdbEw3OUZcXGw3JCQiKylwbHpNJEZfXmwkIitUSio+VCJGXFxsNyQkIit0W2EnXCRGX15sJCIrKjNzOlQiRlxcbDckJCIrem8oM2wkRl9ebCQiKztUMjY5RlxcbDckJCIrVkxBJnkkRl9ebCQiKyEzJ2U1OUZcXGw3JCQiKzA3S0lSRl9ebCQiK2l0Kio0OUZcXGw3JCQiKyZcQC0zJUZfXmwkIispejskNDlGXFxsNyQkIislb3BvQSVGX15sJCIrUldkMzlGXFxsNyQkIitaJGYob1ZGX15sJCIrcCl5eFMiRlxcbDckJCIrRU9JRVhGX15sJCIrPywhb1MiRlxcbDckJCIrb1QneW0lRl9ebCQiK00jSGVTIkZcXGw3JCQiK2ktLD5bRl9ebCQiKyFvIXAvOUZcXGw3JCQiKyozcmYmXEZfXmwkIitxQ2MuOUZcXGw3JCQiK1phcTBeRl9ebCQiK2J3QC05RlxcbDckJCIrNVFmWV9GX15sJCIrUipSM1MiRlxcbDckJCIrV0YnUVImRl9ebCQiK0ZuRipSIkZcXGw3JCQiK1ldJXlgJkZfXmwkIisoND93UiJGXFxsNyQkIitzNmUpbyZGX15sJCIrV0N1JlIiRlxcbDckJCIreHp2TGVGX15sJCIrbyIpeSRSIkZcXGw3JCQiK0dBQSMpZkZfXmwkIitwUmoiUiJGXFxsNyQkIis/clhIaEZfXmwkIis2V0wqUSJGXFxsNyQkIismcF1aRSdGX15sJCIrKUhycVEiRlxcbDckJCIrK0MiKT5rRl9ebCQiKy5ESCVRIkZcXGw3JCQiK1A5XWVsRl9ebCQiK0tBaiJRIkZcXGw3JCQiK3hHUDFuRl9ebCQiKyh5MCd5OEZcXGw3JCQiKzhaIXolb0ZfXmwkIitLd152OEZcXGw3JCQiKysrKytxRl9ebCQiK2k4KT5QIkZcXGw3JCQiIihGYltsRiotJSZTVFlMRUc2IyUsUEFUQ0hOT0dSSURHLUZdW2w2JkZfW2wkIjEjPXQ6IXpnPiEqISM7RmhbbUZoW20tRiY2JDckNyQkIjNhKioqKioqKioqKioqKipwRj1GKjckRl9cbSQiMzUrKytpOCk+UCJGLi1GXVtsNiZGX1tsRmNbbEZjW2xGY1tsLSUlVEVYVEc2JTckJCIxLSsrKysrK3FGalttJCEiJiEiI1EieDYiRmRcbS1GZ1xtNiU3JCQiMi8rKysrKytdJEYuJCIjdkZeXW1RJWYoeClGYF1tRmRcbS1GZ1xtNiY3JCQiMi0rKysrKytTIkZqW20kIjItKysrKysrPyJGalttUTl+fn5+fn5+eX49fn5+fjErY29zKHh+filGYF1tLSUlRk9OVEc2JCUqSEVMVkVUSUNBR0ZhW2xGXFtsLUZnXG02JjckRlxebSQiJEIiRl5dbVEiL0ZgXW1GYV5tRlxbbC1GZ1xtNiY3JEZcXm0kIiROIkZeXW1ROH5+fn5+fn5+fn5+fn5+fl9fX19fX19fRmBdbUZhXm1GXFtsLUZnXG02JkZnXm1RRX5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+MkZgXW0tRmJebTYkRmRebSIiKUZcW2wtRmdcbTYmNyQkIjItKysrKysrUSJGalttJCIkPSJGXl1tUSJ2RmBdbUZkX21GXFtsLSUrQVhFU0xBQkVMU0c2J1EhRmBdbUZiYG1GYV5tJStIT1JJWk9OVEFMR0ZjYG0tJSpBWEVTVElDS1NHNiUiIiNGZ2BtLUZiXm02IyUoREVGQVVMVEctJSpHUklEU1RZTEVHNiMlLFJFQ1RBTkdVTEFSRy0lKkxJTkVTVFlMRUc2I0YrRmFebS0lLE9SSUVOVEFUSU9ORzYkJCIjWEYrRmVhbS0lK1BST0pFQ1RJT05HNiNGYFtsLUZdW2w2IyUlTk9ORUctJSVWSUVXRzYkO0ZjW2wkIiVzPCEiJDskITA+WVo3RiVHekZqW20kIjFkMGlMeVxWOSEjOg==</Plot></Text-field><Text-field layout="Normal" style="Normal">(b) Using an appropriate initial condition, construct a numerical solution for the differential equation found in (a) as a procedure which can be evaluated throughout the interval from <Equation input-equation="x = -5" style="2D Comment">NiMvJSJ4RywkIiImISIi</Equation> to <Equation input-equation="x = 5" style="2D Comment">NiMvJSJ4RyIiJg==</Equation> to give values which are correct to about 10 digits. </Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">(c) Use the procdure found in (b) to help in calculating all the solutions of the equation </Text-field><Text-field layout="Normal257" style="Normal257">  <Equation input-equation="Int(sqrt(1+cos(t^2)),t = 0 .. x) = 8-x^2;" style="2D Comment">NiMvLSUkSW50RzYkLSUlc3FydEc2IywmIiIiRistJSRjb3NHNiMqJCUidEciIiNGKy9GMDsiIiElInhHLCYiIilGKyokRjVGMSEiIg==</Equation> </Text-field><Text-field layout="Normal" style="Normal">correct to about 10 digits. </Text-field><Text-field layout="Normal" style="Normal">__________________________________</Text-field><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Text-field layout="Normal" style="Normal">__________________________________</Text-field><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">;</Font></Text-field></Input></Group></Section><Section collapsed="true"><Title><Text-field layout="Heading 2" style="Heading 2">Q6</Text-field></Title><Text-field layout="Normal" style="Normal">By solving an appropriate initial value problem numerically, construct a procedure which evaluates the function</Text-field><Text-field layout="Normal257" style="Normal257">   <Equation input-equation="g(x) = 1/2+1/sqrt(2*pi);" style="2D Comment">NiMvLSUiZ0c2IyUieEcsJiomIiIiRioiIiMhIiJGKiomRipGKi0lJXNxcnRHNiMqJkYrRiolI3BpR0YqRixGKg==</Equation> <Equation input-equation="Int(exp(-t^2/2),t=0..x)" style="2D Comment">NiMtJSRJbnRHNiQtJSRleHBHNiMsJComJSJ0RyIiI0YsISIiRi0vRis7IiIhJSJ4Rw==</Equation>, </Text-field><Text-field layout="Normal258" style="Normal258">for <Equation input-equation="-5 &lt;= x;" style="2D Comment">NiMxLCQiIiYhIiIlInhH</Equation><Equation input-equation="`` &lt;= 5;" style="2D Comment">NiMxJSFHIiIm</Equation>, to an accuracy of about 15 digits.</Text-field><Text-field layout="Normal" style="Normal">Plot the graph of g over the interval <Equation input-equation="-5 &lt;= x;" style="2D Comment">NiMxLCQiIiYhIiIlInhH</Equation><Equation input-equation="`` &lt;= 5;" style="2D Comment">NiMxJSFHIiIm</Equation>.</Text-field><Text-field layout="Normal" style="Normal">What is the connection between the function g and probabilty theory?</Text-field><Text-field layout="Normal" style="Normal">__________________________________</Text-field><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Text-field layout="Normal" style="Normal">__________________________________</Text-field><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">;</Font></Text-field></Input></Group></Section><Section collapsed="true"><Title><Text-field layout="Heading 2" style="Heading 2">Q7</Text-field></Title><Text-field layout="Normal" style="Normal">This question is concerned with the differential equation <Equation input-equation="dy/dx = y^2-sin(x)-cos(x)^2;" style="2D Comment">NiMvKiYlI2R5RyIiIiUjZHhHISIiLCgqJCUieUciIiNGJi0lJHNpbkc2IyUieEdGKCokLSUkY29zR0YvRixGKA==</Equation>.</Text-field><Text-field layout="Normal" style="Normal">(a) Use <Font executable="false" italic="false" size="12" style="Maple Input" underline="false">DEplot</Font> top plot the direction field for <Equation input-equation="0 &lt;= x" style="2D Comment">NiMxIiIhJSJ4Rw==</Equation><Equation input-equation="``&lt;=10" style="2D Comment">NiMxJSFHIiM1</Equation> and <Equation input-equation="-2 &lt;= y" style="2D Comment">NiMxLCQiIiMhIiIlInlH</Equation><Equation input-equation="``&lt;=2" style="2D Comment">NiMxJSFHIiIj</Equation>, together with the two solutions which satisfy the initial conditions <Equation input-equation="y(0) = 1" style="2D Comment">NiMvLSUieUc2IyIiISIiIg==</Equation> and <Equation input-equation="y(0) = -1" style="2D Comment">NiMvLSUieUc2IyIiISwkIiIiISIi</Equation>.</Text-field><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal">(b) <Font executable="false" italic="false" size="12" style="Maple Input" underline="false">DEplot</Font> does not perform accurate enough calculations to construct a correct picture if we change the interval for <Font bold="false" executable="false" family="Times New Roman" foreground="[0,0,0]" size="12" style="_cstyle284" underline="false">x</Font> to <Equation input-equation="0 &lt;=x" style="2D Comment">NiMxIiIhJSJ4Rw==</Equation><Equation input-equation="``&lt;=20" style="2D Comment">NiMxJSFHIiM/</Equation>. Construct numerical solutions using <Font executable="false" italic="false" size="12" style="Maple Input" underline="false">desolveRK</Font> with the initial conditions <Equation input-equation="y(0) = 1" style="2D Comment">NiMvLSUieUc2IyIiISIiIg==</Equation> and <Equation input-equation="y(0) = -1" style="2D Comment">NiMvLSUieUc2IyIiISwkIiIiISIi</Equation> over the interval from <Equation input-equation="x = 0" style="2D Comment">NiMvJSJ4RyIiIQ==</Equation> to <Equation input-equation="x = 20" style="2D Comment">NiMvJSJ4RyIjPw==</Equation>, and plot their graphs in the same picture along with the direction field.</Text-field><Text-field layout="Normal" style="Normal">__________________________________</Text-field><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"/></Input></Group><Text-field layout="Normal" style="Normal">__________________________________</Text-field><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">;</Font></Text-field></Input></Group></Section><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">;</Font></Text-field></Input></Group></Section><Text-field layout="Normal" style="Normal"/><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">;</Font></Text-field></Input></Group><Section collapsed="true"><Title><Text-field layout="Normal" style="Normal">code for pictures </Text-field></Title><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">fn := x -&gt; 1/(x+exp(x)):
p1 := plot(fn(x),x=0..2.5):
p2 := plots[polygonplot]([[0,0],op(op(1,op(1,plot(fn(x),x=0..0.9)))),
     [.9,0]],style=patchnogrid,color=COLOR(RGB,.9,.9,.9)):
p3 := plot([[.9,0],[.9,fn(.9)]],color=black):
t1 := plots[textplot]([[.9,-.05,`x`],[.45,.3,`f(x)`]],color=black):
plots[display]([p1,p2,p3,t1],labels=[``,``],tickmarks=[2,2]);</Font></Text-field></Input></Group><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">fn := x -&gt; ln(arctan(x)+1):
p1 := plot(fn(x),x=0..4):
p2 := plots[polygonplot]([[0,0],op(op(1,op(1,plot(fn(x),x=0..1.6)))),
     [1.6,0]],style=patchnogrid,color=COLOR(RGB,.9,.9,.9)):
p3 := plot([[1.6,0],[1.6,fn(1.6)]],color=black):
t1 := plots[textplot]([[1.6,-.05,`x`],[.94,.3,`f(x)`]],color=black):
t2 := plots[textplot]([[3.5,.75,`y = ln(arctan(x)+1)`]],color=red):
plots[display]([p1,p2,p3,t1,t2],labels=[``,``],tickmarks=[2,2]);</Font></Text-field></Input></Group><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">fn := x -&gt; sqrt(1+cos(x^2)):
p1 := plot(fn(x),x=0..1.772):
p2 := plots[polygonplot]([[0,0],op(op(1,op(1,plot(fn(x),x=0..0.7)))),
     [.7,0]],style=patchnogrid,color=COLOR(RGB,.9,.9,.9)):
p3 := plot([[.7,0],[.7,fn(.7)]],color=black):
t1 := plots[textplot]([[.7,-.05,`x`],[.35,.75,`f(x)`]],color=black):
t2 := plots[textplot]([[1.4,1.2,`       y =    1+cos(x  )`],
    [1.4,1.23,`/`]],color=red,font=[HELVETICA,10]):
t3 := plots[textplot]([[1.4,1.35,`               ________`]],color=red,
           font=[HELVETICA,10]):
t4 := plots[textplot]([[1.4,1.23,`                                   2`],[1.38,1.18,`v`]],color=red,
           font=[HELVETICA,8]):
plots[display]([p1,p2,p3,t1,t2,t3,t4],labels=[``,``],tickmarks=[2,2]);</Font></Text-field></Input></Group><Text-field layout="Normal" style="Normal"/><Group><Input><Text-field layout="Normal" prompt="&gt; " style="Maple Input"><Font italic="false" size="12" underline="false">;</Font></Text-field></Input></Group></Section><Text-field/></Worksheet>