{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "ch21-cell00",
   "metadata": {},
   "source": [
    "# Scientific Computing: Precision, Performance, and Reproducibility\n",
    "\n",
    "*Mathematical Rules of Thumb · Jason Karpeles · Chapter 21*\n",
    "\n",
    "Precision, Performance, and Reproducibility\n",
    "\n",
    "Open [the interactive reader](reader.html) to explore the supported parameter choices without running code. Saved figures and calculations below can be read as they are. All example inputs are constructed.\n",
    "\n",
    "Optional reproduction requires Python, NumPy, Matplotlib and IPython. Code is marked collapsed, although viewer support varies. All mathematical functions and inputs are included here; no author-machine paths or other notebooks are required."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "ch21-cell01",
   "metadata": {
    "collapsed": true,
    "execution": {
     "iopub.execute_input": "2026-10-03T00:58:20.781574Z",
     "iopub.status.busy": "2026-10-03T00:58:20.781482Z",
     "iopub.status.idle": "2026-10-03T00:58:20.827479Z",
     "shell.execute_reply": "2026-10-03T00:58:20.827413Z"
    },
    "jupyter": {
     "source_hidden": true
    },
    "tags": [
     "hide-input",
     "illustrated-setup"
    ]
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Calculation definitions loaded; all inputs are constructed.\n"
     ]
    }
   ],
   "source": [
    "import io\n",
    "import matplotlib\n",
    "matplotlib.use('Agg')\n",
    "from IPython.display import Image, Markdown, display\n",
    "from cycler import cycler\n",
    "\"\"\"Constructed teaching calculations shared by readers and portable notebooks.\n",
    "\n",
    "Requires NumPy and Matplotlib. No measurements, online data or trained models.\n",
    "All stochastic illustrations use stated, fixed seeds.\n",
    "\"\"\"\n",
    "import math\n",
    "import itertools\n",
    "from collections import deque\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "\n",
    "\n",
    "def canvas(xlabel, ylabel, title, two=False):\n",
    "    fig, axes = plt.subplots(1, 2 if two else 1, figsize=(10, 4.4), layout='constrained')\n",
    "    for ax in np.atleast_1d(axes):\n",
    "        ax.grid(alpha=.18)\n",
    "        ax.set(xlabel=xlabel, ylabel=ylabel)\n",
    "    np.atleast_1d(axes)[0].set_title(title)\n",
    "    return fig, axes\n",
    "\n",
    "\n",
    "def integer_ticks(ax, axis='x'):\n",
    "    from matplotlib.ticker import MaxNLocator\n",
    "    (ax.xaxis if axis=='x' else ax.yaxis).set_major_locator(MaxNLocator(integer=True))\n",
    "\n",
    "\n",
    "def bits(x):\n",
    "    return f'{x:.6g} bit'+('' if x==1 else 's')\n",
    "\n",
    "\n",
    "def result(fig, ax, metrics, text):\n",
    "    for a in np.atleast_1d(ax):\n",
    "        if a.get_legend_handles_labels()[0]:\n",
    "            old=a.get_legend()\n",
    "            a.legend(fontsize=9,loc=old._loc if old is not None else 'best')\n",
    "    return fig, metrics, text\n",
    "\n",
    "\n",
    "def illustrate(chapter, demo, p):\n",
    "    \"\"\"Return an executed figure, metrics and interpretation for one example.\"\"\"\n",
    "    fig,metrics,text=globals()[f'chapter_{chapter:02d}'](demo, p)\n",
    "    # Mark a selected point on comparisons whose full curve stays fixed.\n",
    "    if (chapter,demo) in {(9,1),(11,1),(11,3),(13,2),(15,1),(15,2),(15,3),\n",
    "                           (16,1),(17,2),(17,3),(18,3),(19,3),(20,3),(22,2),(23,3)}:\n",
    "        ax=fig.axes[0];ax.axvline(p,color='#a26913',linestyle=':',label='Selected input')\n",
    "        ax.legend(fontsize=9)\n",
    "    return fig,metrics,text\n",
    "\n",
    "\n",
    "def chapter_01(d, p):\n",
    "    if d == 1:\n",
    "        x=np.linspace(0,.2,201); exact=(1+x)**5; linear=1+5*x\n",
    "        fig,ax=canvas('Fractional input increase', 'Response multiplier', 'Where linearization bends')\n",
    "        ax.plot(x,exact,label='Exact fifth power');ax.plot(x,linear,'--',label='Linear estimate');ax.axvline(p,color='#a26913',linestyle=':',label='Selected input')\n",
    "        a=(1+p)**5;b=1+5*p;m={'Exact multiplier':a,'Linear estimate':b,'Absolute error':abs(a-b)}\n",
    "        t=f'An input increase of {100*p:g}% gives {a:.6g}, versus {b:.6g} from linearization. Judge the {abs(a-b):.6g} error against your tolerance.'\n",
    "    elif d == 2:\n",
    "        k=np.arange(1,21);tails=p**k/(1-p)\n",
    "        fig,ax=canvas('First omitted exponent k','Infinite tail','Tail = first omitted term × 1/(1−r)')\n",
    "        ax.semilogy(k,tails,label='Exact tail');ax.semilogy(k,p**k,'--',label='First omitted term');ax.scatter([5],[p**5/(1-p)],color='#a26913',zorder=3,label='Tail after exponent 4 (k=5)');integer_ticks(ax)\n",
    "        m={'Ratio r':p,'Tail from r^5 onward':p**5/(1-p),'Tail / first term':1/(1-p)}\n",
    "        t=f'The tail starting at r^5 equals r^5/(1-r). At r={p:g}, its multiplier over the first omitted term is {1/(1-p):.6g}; a ratio near one makes the tail much larger.'\n",
    "    elif d==3:\n",
    "        x=np.linspace(-3,3,301);y=x*x+p*x+1\n",
    "        fig,ax=canvas('x','x² + b x + 1','Roots change at the discriminant boundary')\n",
    "        ax.plot(x,y,label=f'b={p:g}');ax.axhline(0,color='gray');disc=p*p-4\n",
    "        m={'Discriminant':disc,'Real root count':2 if disc>0 else 1 if disc==0 else 0,'Vertex x':-p/2}\n",
    "        t=f'The discriminant b²-4 is {disc:g}. This gives '+('two distinct real roots.' if disc>0 else 'one repeated real root.' if disc==0 else 'no real roots; the two roots are complex conjugates.')\n",
    "    elif d==4:\n",
    "        r=np.linspace(.005,.25,250);fig,ax=canvas('Growth rate per period (%)','Rule-of-70 error (% of exact time)','How far the rule of 70 drifts as the rate grows')\n",
    "        ax.plot(100*r,100*(.7/r-np.log(2)/np.log1p(r))/(np.log(2)/np.log1p(r)),label='(70/rate% − exact) / exact');ax.axhline(0,color='gray');ax.axvline(100*p,color='#a26913',linestyle=':',label='Selected rate')\n",
    "        ex=math.log(2)/math.log1p(p);est=70/(100*p);m={'Rate per period (%)':100*p,'Exact doubling time (periods)':ex,'Rule-of-70 estimate (periods)':est,'Estimate error (periods)':est-ex}\n",
    "        t=f'At {100*p:g}% per period the exact doubling time is {ex:.4g} periods; the rule of 70 says {est:.4g}. '+('Good enough for mental arithmetic.' if abs(est-ex)/ex<.03 else f'The shortcut is {100*abs(est-ex)/ex:.2g}% too short at this high rate, because 70 matches continuous growth and ln(1+r) falls below r as r grows.')\n",
    "    elif d==5:\n",
    "        x=np.linspace(-4,8,1201);x=x[np.abs(x-3)>.05];y=(x+1)/(x-3)\n",
    "        fig,ax=canvas('x','(x+1)/(x-3)','Multiplying by x−3 flips the inequality when x<3')\n",
    "        ax.plot(x[x<3],y[x<3],color='#136f75',label='(x+1)/(x-3)');ax.plot(x[x>3],y[x>3],color='#136f75');ax.axhline(0,color='gray');ax.axvline(3,color='gray',linestyle='dashed',label='Excluded x=3')\n",
    "        ax.axvspan(-1,3,color='#136f75',alpha=.12,label='True solution [-1, 3)');ax.plot([-4,-1],[-9.5,-9.5],lw=5,color='#a26913',label='Naive answer x ≤ -1');ax.set(ylim=(-10,10))\n",
    "        v=(p+1)/(p-3);true=v<=0;naive=p+1<=0;ax.scatter([p],[v],color='black',zorder=3,label=f'Test x={p:g}')\n",
    "        m={'Test x':p,'(x+1)/(x-3)':v,'Truly satisfies':'yes' if true else 'no','Naive x ≤ -1 says':'yes' if naive else 'no'}\n",
    "        t=f'At x={p:g} the fraction equals {v:.4g}, so the inequality is '+('true' if true else 'false')+'. Cross-multiplying without a sign check gives x+1 ≤ 0, which says '+('true' if naive else 'false')+'. '+('The two agree here only because x>3 keeps the denominator positive.' if true==naive else 'They disagree because x<3 makes the denominator negative, which reverses the inequality.')\n",
    "    return result(fig,ax,m,t)\n",
    "\n",
    "\n",
    "def chapter_02(d,p):\n",
    "    if d==1:\n",
    "        x=np.linspace(.5,3,151);fig,ax=canvas('Linear scale factor','Relative size','Similar shapes scale by different powers')\n",
    "        ax.plot(x,x**2,label='Area');ax.plot(x,x**3,label='Volume');ax.axvline(p,color='#a26913',linestyle=':',label='Selected input')\n",
    "        m={'Area factor':p*p,'Volume factor':p**3,'Boundary / area factor':1/p};t=f'A similar shape scaled by {p:g} has area multiplied by {p*p:g}, volume by {p**3:g}, and boundary-to-area ratio by {1/p:.6g}. These multipliers hold only when every length scales by the same factor.'\n",
    "    elif d==2:\n",
    "        radius=10.;x=np.linspace(0,12,151);exact=radius-np.sqrt(radius**2-(x/2)**2);estimate=x*x/(8*radius)\n",
    "        fig,ax=canvas('Chord length','Sagitta (same length units)','Shallow arcs and their approximation');ax.plot(x,exact,label='Exact');ax.plot(x,estimate,'--',label='c²/(8R)');ax.axvline(p,color='#a26913',linestyle=':',label='Selected input')\n",
    "        a=radius-math.sqrt(radius**2-(p/2)**2);b=p*p/(8*radius);m={'Radius':radius,'Exact sagitta':a,'Approximate sagitta':b,'Relative error (vs exact sagitta)':abs(a-b)/a};t=f'With radius 10 and chord {p:g}, sagitta is {a:.6g}. The shallow-arc estimate is {b:.6g}; its relative error grows as the chord becomes less shallow.'\n",
    "    elif d==3:\n",
    "        n=np.arange(3,81);ratio=n*np.sin(2*np.pi/n)/(2*np.pi)\n",
    "        fig,ax=canvas('Polygon side count','Fractional missing area','Inscribed polygons approach a circle');ax.loglog(n,1-ratio,label='Exact missing fraction');ax.loglog(n,2*np.pi**2/(3*n*n),'--',label='Leading n⁻² scale');ax.axvline(p,color='#a26913',linestyle=':',label='Selected input');ax.set_xticks([3,5,10,20,40,80]);ax.set_xticklabels(['3','5','10','20','40','80']);ax.minorticks_off()\n",
    "        err=1-p*math.sin(2*math.pi/p)/(2*math.pi);m={'Sides':p,'Circle area fraction missing':err};t=f'The regular {p:g}-gon misses {100*err:.6g}% of its unit-circle area. The n⁻² curve is an asymptotic comparison, not an exact formula for small polygons.'\n",
    "    elif d==4:\n",
    "        a,b=3.,4.;fig,ax=canvas('x (length units)','y (length units)','Can sides 3, 4 and c close into a triangle?')\n",
    "        lo,hi=b-a,a+b;ok=lo<p<hi\n",
    "        th=np.linspace(0,2*np.pi,300);ax.plot([0,b],[0,0],lw=3,color='#333333',label='Side 4 (fixed base)');ax.plot(p*np.cos(th),p*np.sin(th),':',color='#a26913',label=f'Reach of side c={p:g} from left end');ax.plot(b+a*np.cos(th),a*np.sin(th),':',color='#136f75',label='Reach of side 3 from right end')\n",
    "        if ok:\n",
    "            X=(b*b+p*p-a*a)/(2*b);Y=math.sqrt(p*p-X*X);ax.plot([0,X],[0,Y],lw=3,color='#a26913');ax.plot([X,b],[Y,0],lw=3,color='#136f75');ax.scatter([X],[Y],color='black',zorder=3,label='Apex where the reaches meet')\n",
    "        ax.set(xlim=(-9,9),ylim=(-8.5,8.5));ax.set_aspect('equal');ax.legend(fontsize=9,loc='lower left')\n",
    "        m={'Side c':p,'Allowed range for c':f'{lo:g} < c < {hi:g}','Triangle exists':'yes' if ok else 'no'}\n",
    "        t=f'With c={p:g}, '+(f'every side is shorter than the other two combined, so a real triangle forms. Only now is triangle algebra (angles, area) safe.' if ok else f'c is {\"shorter than 4 minus 3\" if p<=lo else \"longer than 3 plus 4\"}, so the ends cannot meet. Any area or angle formula would return nonsense or an error.')\n",
    "    return result(fig,ax,m,t)\n",
    "\n",
    "\n",
    "def chapter_03(d,p):\n",
    "    if d==1:\n",
    "        x=np.linspace(0,.8,201);fig,ax=canvas('Angle (radians)','Absolute error','Small-angle sine has a cubic error bound');ax.plot(x,x-np.sin(x),label='Actual error');ax.plot(x,x**3/6,'--',label='Cubic bound');a=math.radians(p);ax.axvline(a,color='#a26913',linestyle=':',label='Selected input')\n",
    "        m={'Angle in radians':a,'Sine':math.sin(a),'Approximation':a,'Error bound':a**3/6};t=f'{p:g}° is {a:.6g} radians. Substitute radians into the approximation; the error is bounded by {a**3/6:.6g}.'\n",
    "    elif d==2:\n",
    "        a=math.radians(p);fig,ax=canvas('x component','y component','atan2 retains the quadrant');ax.quiver(0,0,math.cos(a),math.sin(a),angles='xy',scale_units='xy',scale=1,color='#136f75',label='Selected vector');ax.quiver(0,0,-math.cos(a),-math.sin(a),angles='xy',scale_units='xy',scale=1,color='#9aa3a8',label='Opposite vector (same ratio y/x)');correct=math.degrees(math.atan2(math.sin(a),math.cos(a)));wrong=math.degrees(math.atan(math.sin(a)/math.cos(a)));w=math.radians(wrong);ax.plot([0,1.1*math.cos(w)],[0,1.1*math.sin(w)],':',color='#a26913',label='Direction plain atan reports');ax.set(xlim=(-1.2,1.2),ylim=(-1.2,1.2));ax.set_aspect('equal')\n",
    "        m={'atan2 direction (degrees)':correct,'Plain atan ratio (degrees)':wrong};same=abs(correct-wrong)<1e-9;wrap=f' ({p:g}° and {correct:.6g}° name the same direction.)' if abs(correct-p)>1e-9 else ''\n",
    "        t=f'The vector and its opposite share the component ratio y/x. Here atan2 gives {correct:.6g}°.{wrap} '+('Plain atan also gives '+f'{wrong:.6g}°, because x>0 places this vector in the half-plane plain atan covers.' if same else f'Plain atan gives {wrong:.6g}°, which points along the opposite vector.')\n",
    "    elif d==3:\n",
    "        x=np.logspace(-12,-1,120);direct=1-np.cos(x);stable=2*np.sin(x/2)**2\n",
    "        fig,ax=canvas('Angle (radians)','Relative difference from stable identity','Subtraction can erase a small quantity');ax.loglog(x,np.maximum(abs(direct-stable)/stable,1e-18),label='Direct subtraction error');ax.axvline(p,color='#a26913');a=1-math.cos(p);b=2*math.sin(p/2)**2\n",
    "        rel=abs(a-b)/b;m={'Direct 1 − cos(x)':a,'Half-angle identity':b,'Relative difference':rel};t=f'At x={p:g}, direct subtraction gives {a:.10g}, while the equivalent half-angle expression gives {b:.10g}. '+('Binary64 rounding made cos(x) exactly 1, so the direct result was erased.' if a==0 else f'The direct result survives but has lost digits: its relative difference is {rel:.2g}.')\n",
    "    elif d==4:\n",
    "        A=math.radians(30);b=10.;h=b*math.sin(A);fig,ax=canvas('x (length units)','y (length units)','Side a swings from C; how many places meet the base?')\n",
    "        C=(b*math.cos(A),h);ax.plot([0,22],[0,0],color='gray',label='Base line from A');ax.plot([0,C[0]],[0,C[1]],lw=3,label='Side b=10');th=np.linspace(0,2*np.pi,300);ax.plot(C[0]+p*np.cos(th),C[1]+p*np.sin(th),':',color='#a26913',label=f'Reach of side a={p:g}')\n",
    "        xs=[] if p<h else sorted({C[0]+s*math.sqrt(p*p-h*h) for s in(-1,1)});xs=[x for x in xs if x>1e-9]\n",
    "        for x in xs: ax.plot([C[0],x],[C[1],0],lw=2,color='#136f75')\n",
    "        ax.scatter(xs,[0]*len(xs),color='#136f75',zorder=3,label='Valid vertex B' if xs else None);ax.set(xlim=(-3,22),ylim=(-8,14));ax.set_aspect('equal')\n",
    "        m={'Height b·sin A':h,'Side a':p,'Number of triangles':len(xs)}\n",
    "        t={0:f'a={p:g} is shorter than the height {h:g}, so side a cannot reach the base: no triangle. Arcsin would fail with sin B>1.',2:f'a={p:g} is between the height {h:g} and b=10, so it meets the base twice: two valid triangles. Arcsin returns only the acute B; the obtuse angle 180° minus B is also valid.',1:f'a={p:g} is at least b=10, so only one meeting point lies on the correct side of A: one triangle.'}[len(xs)]\n",
    "    return result(fig,ax,m,t)\n",
    "\n",
    "\n",
    "def chapter_04(d,p):\n",
    "    if d==1:\n",
    "        x=np.linspace(80,120,201);fig,ax=canvas('x','Square root','Tangent estimates need an error budget');ax.plot(x,np.sqrt(x),label='Exact');ax.plot(x,10+(x-100)/20,'--',label='Tangent at 100');ax.axvline(100+p,color='#a26913',linestyle=':',label='Selected input');a=math.sqrt(100+p);b=10+p/20;bound=p*p/(8*min(100,100+p)**1.5)\n",
    "        m={'Exact':a,'Linear estimate':b,'Actual error':abs(a-b),'Remainder bound':bound};t=f'For x=100+{p:g}, the linear estimate differs by {abs(a-b):.6g}. Bounding the second derivative on the intervening interval certifies error at most {bound:.6g}.'\n",
    "    elif d==2:\n",
    "        step=(p+2/p)/2;x=np.linspace(.1,max(3,step+.5),301);fig,ax=canvas('x','x² − 2','Newton follows a tangent');ax.plot(x,x*x-2,label='Function');ax.plot(x,p*p-2+2*p*(x-p),'--',label='Tangent');ax.axhline(0,color='gray');ax.scatter([p,step],[p*p-2,0],color='#a26913',zorder=3,label='Start and next x')\n",
    "        m={'Starting x':p,'Next x':step,'Next residual':step*step-2};t=f'The tangent from x={p:g} crosses zero at {step:.6g}. '+(f'The step overshot: the residual grew from {abs(p*p-2):.6g} to {abs(step*step-2):.6g}. Newton is reliable only near the root, so bracket first.' if abs(step*step-2)>abs(p*p-2) else f'The residual shrank from {abs(p*p-2):.6g} to {abs(step*step-2):.6g}, so this step helped.')\n",
    "    elif d==3:\n",
    "        x=np.arange(1,101);a=x.astype(float)**(-p);partial=np.cumsum(a);fig,ax=canvas('Terms retained','Partial sum','A p-series threshold is about the infinite tail');ax.plot(x,partial,label=f'p={p:g}');tail=100**(1-p)/(p-1) if p>1 else 'No finite tail bound'\n",
    "        m={'Exponent p':p,'100-term sum':partial[-1],'Integral upper bound on tail':tail};t='Adding n⁻ᵖ forever gives a finite total only when p>1. '+(f'At p={p:g}, the tail after 100 is at most {tail:.6g}.' if p>1 else 'A finite partial sum does not establish convergence; this selected series diverges.')\n",
    "    elif d==4:\n",
    "        x=1.;k=np.arange(0,11);part=np.cumsum([x**j/math.factorial(j) for j in k]);err=abs(math.e-part);nxt=np.array([x**(j+1)/math.factorial(j+1) for j in k])\n",
    "        fig,ax=canvas('Polynomial degree n','Error at x=1','Taylor error for eˣ tracks the first omitted term');ax.semilogy(k,err,'o-',label=r'Actual error $|e-T_n(1)|$');ax.semilogy(k,nxt,'s',linestyle='dashed',label='First omitted term 1/(n+1)!');ax.axvline(p,color='#a26913',linestyle=':',label='Selected degree');integer_ticks(ax)\n",
    "        e=err[p];s=nxt[p];m={'Degree n':p,'Actual error':e,'First omitted term':s,'Actual / omitted':e/s}\n",
    "        t=f'Stopping at degree {p} leaves error {e:.3g}. The first omitted term {s:.3g} predicts it within a factor {e/s:.3g}, so you can read the error budget before computing e. '+('At this low degree the later terms still add a noticeable share.' if e/s>1.2 else 'Higher degrees make the first omitted term almost the whole story.')\n",
    "    elif d==5:\n",
    "        x=np.linspace(-.5,.5,1001);x=x[np.abs(x)>.004];y=(np.sin(x)+p)/x\n",
    "        fig,ax=canvas('x','(sin x + a) / x','L\\'Hôpital needs 0/0 first');ax.plot(x[x<0],y[x<0],color='#136f75',label=f'a={p:g}');ax.plot(x[x>0],y[x>0],color='#136f75');ax.axhline(1,color='#a26913',linestyle='dashed',label='Blind L\\'Hôpital: cos 0 / 1 = 1');ax.set(ylim=(-6,6))\n",
    "        r=(math.sin(.01)+p)/.01;m={'Numerator at x=0':p,'Form at x=0':'0/0' if p==0 else 'nonzero/0','Ratio at x=0.01':r,'Blind L\\'Hôpital answer':1}\n",
    "        t=(f'With a=0 the form is 0/0, so L\\'Hôpital applies and the limit really is 1; the ratio at x=0.01 is {r:.6g}.' if p==0 else f'With a={p:g} the numerator tends to {p:g} while the denominator tends to 0, so the ratio blows up (it is {r:.4g} at x=0.01) and has no finite limit. Differentiating anyway still returns 1, a wrong answer.')\n",
    "    return result(fig,ax,m,t)\n",
    "\n",
    "\n",
    "def chapter_05(d,p):\n",
    "    if d==1:\n",
    "        n=np.arange(max(21,math.ceil(math.log(.01)/math.log(p))+4));x=1-p**n;error=p**n;certificate=p**n/(1-p)*(1-p)\n",
    "        fig,ax=canvas('Iteration','Absolute error','A contraction supplies a certificate');ax.semilogy(n,error,lw=4,alpha=.45,label='Exact error to fixed point 1');ax.semilogy(n,certificate,'--',label='Contraction bound (coincides here)');ax.axhline(.01,color='gray',linestyle=':',label='Target .01');ax.axvline(math.ceil(math.log(.01)/math.log(p)),color='#a26913',label='Steps needed');m={'Contraction q':p,'Error after 10 steps':p**10,'Steps for error ≤ .01':math.ceil(math.log(.01)/math.log(p))};t=f'T(x)=q x+(1-q), starting at zero, has error qⁿ. At q={p:g}, {m[\"Steps for error ≤ .01\"]} steps suffice for .01 error. In this affine example the bound equals the exact error, so the two curves coincide. q must be strictly below one.'\n",
    "    elif d==2:\n",
    "        x=np.linspace(0,1,501);fig,ax=canvas('x in [0,1]','xⁿ','Pointwise convergence is not uniform');ax.plot(x,x**p,label=f'n={p:g}');ax.scatter([1],[1],label='Endpoint remains 1');m={'Value at x=.9':.9**p,'Value at x=1':1,'Supremum error to pointwise limit':1};t=f'Increasing n suppresses xⁿ at every fixed x<1, but a boundary layer remains near one. The supremum difference from the discontinuous pointwise limit is 1 for every n; this is not uniform convergence.'\n",
    "    elif d==3:\n",
    "        n=np.arange(1,31);tail=p**(n+1)/(1-p);fig,ax=canvas('Last retained exponent n','Uniform remainder ceiling','A geometric majorant controls every x');ax.semilogy(n,tail,label='Geometric bound on the tail');ax.yaxis.set_major_formatter(__import__('matplotlib').ticker.LogFormatterSciNotation(labelOnlyBase=False));m={'Uniform |x| ceiling q':p,'Remainder after exponent 10':p**11/(1-p)};t=f'For |x|≤{p:g}<1, the series sum xⁿ is uniformly controlled by sum qⁿ. Its tail after exponent 10 is at most {m[\"Remainder after exponent 10\"]:.6g}; the bound deteriorates as q approaches one.'\n",
    "    elif d==4:\n",
    "        pos=iter(1/np.arange(1,10**6,2));neg=iter(-1/np.arange(2,10**6,2));s=0.;path=[]\n",
    "        for _ in range(3000): s+=next(pos) if s<=p else next(neg);path.append(s)\n",
    "        fig,ax=canvas('Terms used','Running sum','Same terms ±1/n, new order, new sum');ax.semilogx(range(1,3001),path,label='Rearranged sum');ax.axhline(math.log(2),color='gray',linestyle='dashed',label='Usual order: ln 2 ≈ 0.693');ax.axhline(p,color='#a26913',linestyle=':',label=f'Target {p:g}')\n",
    "        m={'Target':p,'Sum after 3000 terms':path[-1],'Usual-order sum ln 2':math.log(2)}\n",
    "        t=f'Adding positives while at or below {p:g} and negatives while above steers the running sum to {path[-1]:.4g}. '+'The terms are exactly those of the ln 2 series; only the order changed. Because the sum of |terms| diverges, order is part of the answer.'\n",
    "    return result(fig,ax,m,t)\n",
    "\n",
    "\n",
    "def chapter_06(d,p):\n",
    "    if d==1:\n",
    "        theta=np.linspace(0,2*np.pi,361);z=np.exp(1j*theta);fig,ax=canvas('Real part','Imaginary part','A power multiplies the argument');ax.plot(z.real,z.imag,'--',color='#9aa3a8',label='Unit circle');ang=np.linspace(0,np.radians(135*p),400);rad=.25+.12*ang/(2*np.pi);ax.plot(rad*np.cos(ang),rad*np.sin(ang),color='#a26913',label='Unwrapped angle path');point=np.exp(1j*np.radians(135));out=point**p;ax.quiver(0,0,point.real,point.imag,angles='xy',scale_units='xy',scale=1,color='#9aa3a8',label='Input z (135°)');ax.quiver(0,0,out.real,out.imag,angles='xy',scale_units='xy',scale=1,color='#136f75',label=f'Output z^{p:g}');ax.set(xlim=(-1.3,1.3),ylim=(-1.3,1.3));ax.set_aspect('equal');unwrapped=135*p;principal=math.degrees(np.angle(out));turns=round((unwrapped-principal)/360);m={'Input argument (degrees)':135,'Unwrapped output argument':unwrapped,'Principal output argument':principal,'Full turns lost by principal value':turns};t=f'Integer power {p:g} multiplies the argument: 135°×{p:g}={unwrapped:g}°. '+(f'The principal argument wraps this to {principal:.6g}°, dropping {turns} full turn{\"s\" if turns!=1 else \"\"}; only the unwrapped angle records them.' if turns else f'Here {unwrapped:g}° already lies in (−180°,180°], so no wrap occurs.')\n",
    "    elif d==2:\n",
    "        k=np.arange(0,7);fig,ax=canvas('Derivative order k','Cauchy upper bound','A larger analytic disk gives stronger bounds')\n",
    "        for R in (1,2,4):\n",
    "            b=np.array([math.factorial(int(n))*3/R**n for n in k]);ax.semilogy(k,b,'o-',lw=2.5 if R==p else 1,alpha=1 if R==p else .35,label=f'k! M / Rᵏ, R={R}'+(' (selected)' if R==p else ''))\n",
    "        integer_ticks(ax);m={'Disk radius R':p,'Boundary bound M':3,'Second derivative ceiling':6/p**2};t=f'If the function is analytic on and inside this disk and its boundary modulus is at most 3, |f″(0)|≤6/R²={6/p**2:.6g}. Doubling the radius cuts this ceiling by four. A function that stays tame across a wide disk cannot bend sharply at its center.'\n",
    "    elif d==3:\n",
    "        theta=np.linspace(0,2*np.pi,501);z=np.exp(1j*theta);w=z**3+p;fig,ax=canvas('Real part','Imaginary part','Boundary image and roots of z³ + a');ax.plot(w.real,w.imag,label='Mapped unit-circle boundary');ax.scatter([0],[0],color='#a26913',label='Origin');roots=np.roots([1,0,0,p]);ax.plot(np.cos(theta),np.sin(theta),':',color='#9aa3a8',label='Unit circle |z|=1');ax.scatter(roots.real,roots.imag,marker='x',s=70,color='#aa4e37',zorder=3,label='Roots of z³+a');ax.set(xlim=(-1.4,2.4),ylim=(-1.3,2.3));ax.set_aspect('equal');count=int(np.sum(abs(roots)<1-1e-10));m={'Constant a':p,'Strict domination |a| < 1':p<1,'Zeros strictly inside disk':count};t=f'For a={p:g}, '+('Rouché compares z³ with a on |z|=1 and gives three interior zeros.' if p<1 else 'strict boundary domination fails. At a=1 the zeros lie on the boundary; above one they lie outside. The failed theorem test must not be treated as a zero-count proof.')\n",
    "    elif d==4:\n",
    "        theta=np.linspace(0,2*np.pi,4001)[:-1];poles=np.array([.5,1.5]);res=np.array([-1.,1.]);z=p*np.exp(1j*theta);I=np.sum(1/((z-.5)*(z-1.5))*1j*z)*(2*np.pi/len(theta));inside=abs(poles)<p;pred=2j*np.pi*res[inside].sum();fig,ax=canvas('Real part','Imaginary part','Only poles inside the contour count');ax.plot(p*np.cos(theta),p*np.sin(theta),color='#136f75',lw=2,label=f'Contour |z|={p:g}');inside.any() and ax.scatter(poles[inside],[0]*inside.sum(),marker='x',s=90,color='#aa4e37',zorder=3,label='Enclosed pole');(~inside).any() and ax.scatter(poles[~inside],[0]*(~inside).sum(),marker='x',s=90,color='#9aa3a8',zorder=3,label='Pole outside');[ax.annotate(f'residue {r:+g}',(q,.2 if r<0 else -.3),ha='center') for q,r in zip(poles,res)];ax.set(xlim=(-2.3,4.6),ylim=(-2.3,2.3));ax.set_aspect('equal');m={'Contour radius':p,'Poles enclosed':int(inside.sum()),'Sum of enclosed residues':res[inside].sum(),'Predicted integral 2πi×sum':f'{pred.imag:.6g}i','Numerical integral':f'{round(I.real,9)+0:.6g}{round(I.imag,9)+0:+.6g}i'};t=f'f(z)=1/((z−0.5)(z−1.5)) has residue −1 at 0.5 and +1 at 1.5. '+({0:'The contour encloses neither pole, so the integral is 0. The function is analytic inside, and nothing contributes.',1:f'Only the pole at 0.5 is inside, so the integral is 2πi×(−1)≈{pred.imag:.6g}i. The pole outside has no effect.',2:'Both poles are inside. Their residues cancel, so the integral is 0 again, even though the function blows up twice inside the contour.'}[int(inside.sum())])\n",
    "    return result(fig,ax,m,t)\n",
    "\n",
    "\n",
    "def chapter_07(d,p):\n",
    "    if d==1:\n",
    "        # The perturbation is aligned with the weak singular direction.\n",
    "        A=np.diag([1.,1/p]);b=np.array([1.,0.]);delta=np.array([0.,1e-8]);x=np.linalg.solve(A,b);xp=np.linalg.solve(A,b+delta)\n",
    "        fig,ax=canvas('Condition number κ','Relative forward error','A tiny right-hand-side change can be amplified');k=np.logspace(0,8,100);ax.loglog(k,1e-8*k,label='Weak-direction perturbation');ax.scatter([p],[np.linalg.norm(xp-x)/np.linalg.norm(x)]);m={'Condition number':np.linalg.cond(A),'Relative input perturbation':1e-8,'Relative solution change':np.linalg.norm(xp-x)/np.linalg.norm(x),'Perturbed solve residual':np.linalg.norm(A@xp-(b+delta))};t=f'A=diag(1,1/κ), b=(1,0), δb=(0,10⁻⁸). The actual solve amplifies this chosen perturbation by κ={p:g}; its small residual does not undo sensitivity to input changes.'\n",
    "    elif d==2:\n",
    "        x=np.linspace(0,1,101);A=np.column_stack([np.ones_like(x),x]);b=2+3*x+.1*np.sin(9*x);coef=np.linalg.lstsq(A,b,rcond=None)[0];res=b-A@coef;fig,ax=canvas('x','Observed / fitted value','Least squares fits a constructed dataset',two=True);ax[0].plot(x,b,'.',label='Constructed observations');ax[0].plot(x,A@coef,label='Fit with intercept');wrong=np.linalg.lstsq(A[:,1:],b,rcond=None)[0];ax[0].plot(x,A[:,1:]@wrong,'--',label='Intercept omitted');chosen=res if p=='include' else b-A[:,1:]@wrong;ax[1].plot(x,chosen,label='Selected residual');ax[1].set(ylabel='Residual',title=f'Intercept: {p}')\n",
    "        m={'Fitted intercept':coef[0] if p=='include' else 0,'Fitted slope':coef[1] if p=='include' else wrong[0],'Residual RMS':np.sqrt(np.mean(chosen**2))};t='The data are 2+3x+.1 sin(9x), not measurements. '+('With an intercept the line recovers 2+3x, and the leftover wiggle of RMS size about .07 is the sin term no straight line can capture.' if p=='include' else 'Forcing the line through the origin doubles the slope to about 6 and leaves residuals near 1 that slope steadily. A better solver cannot fix this: the model itself is wrong.')\n",
    "    elif d==3:\n",
    "        A=np.diag([10.,3.,1.,.1]);u,s,v=np.linalg.svd(A);low=(u[:,:p]*s[:p])@v[:p];err=np.linalg.norm(A-low,2);fig,ax=canvas('Singular value index','Magnitude','Truncation error is priced by the next singular value');ax.semilogy(np.arange(1,5),s,'o-',label='Singular values');ax.axvline(p+.5,color='#a26913',label=f'Truncation after rank {p}');integer_ticks(ax);m={'Retained rank':p,'Actual spectral error':err,'Next singular value':s[p] if p<4 else 0};t=f'Keeping rank {p:g} gives spectral error {err:.6g}, equal to the next singular value in this actual SVD reconstruction. Compression is justified by an error budget, not rank alone.'\n",
    "    elif d==4:\n",
    "        lam=np.array([1.,p,.3]);x=np.ones(3)/np.sqrt(3);err=[]\n",
    "        for k in range(60):x=lam*x;x/=np.linalg.norm(x);err.append(np.linalg.norm(x-np.sign(x[0])*np.array([1,0,0])))\n",
    "        err=np.array(err);hit=int(np.argmax(err<1e-6))+1 if (err<1e-6).any() else None;fig,ax=canvas('Iteration','Distance from top eigenvector','Power iteration slows as the eigenvalue ratio nears one');k=np.arange(1,61);ax.semilogy(k,err,'o-',ms=3,color='#136f75',label=f'Actual error, ratio {p:g}');ax.semilogy(k,err[0]*p**(k-1),ls='dashed',color='#a26913',label=f'Predicted shrink: ×{p:g} per step');ax.axhline(1e-6,color='#9aa3a8',ls=':',label='Target 10⁻⁶');ax.set_ylim(1e-17,2);integer_ticks(ax);m={'Eigenvalue ratio |λ₂/λ₁|':p,'Error after 60 steps':err[-1] if err[-1]>1e-16 else 'Below 1e-16 (rounding level)','Steps to reach 10⁻⁶':hit if hit else 'More than 60'};t=f'Matrix diag(1,{p:g},0.3), start (1,1,1)/√3. Each step multiplies the error by about {p:g}. '+(f'The error passes 10⁻⁶ in {hit} steps.' if hit else f'After 60 steps the error is still {err[-1]:.3g}. A ratio this close to one needs about {math.ceil(math.log(1e-6)/math.log(p))} steps, so use a shift or a different method.')\n",
    "    elif d==5:\n",
    "        rng=np.random.default_rng(705);U,_=np.linalg.qr(rng.standard_normal((50,2)));V,_=np.linalg.qr(rng.standard_normal((2,2)));A=U@np.diag([1.,1/p])@V.T;xt=np.array([1.,1.]);b=A@xt;Q,R=np.linalg.qr(A);xq=np.linalg.solve(R,Q.T@b);xn=np.linalg.solve(A.T@A,A.T@b);eq=np.linalg.norm(xq-xt)/np.linalg.norm(xt);en=np.linalg.norm(xn-xt)/np.linalg.norm(xt)\n",
    "        ks=np.logspace(0,8,60);fig,ax=canvas('Condition number κ of A','Relative error in the solution','Normal equations square the condition number');ax.loglog(ks,np.maximum(ks*2.2e-16,1e-17),color='#136f75',label='QR scale: κ × 2.2×10⁻¹⁶');ax.loglog(ks,np.minimum(ks**2*2.2e-16,10),ls='dashed',color='#a26913',label='Normal equations scale: κ² × 2.2×10⁻¹⁶');ax.scatter([p],[max(eq,1e-17)],s=90,color='#136f75',zorder=3,label='Actual QR error');ax.scatter([p],[max(en,1e-17)],s=90,marker='s',color='#aa4e37',zorder=3,label='Actual normal-equations error');ax.set_ylim(1e-17,20)\n",
    "        m={'Condition number of A':float(p),'Condition number of AᵀA':float(p)**2,'QR relative error':eq,'Normal-equations relative error':en};t=f'A is a constructed 50×2 matrix with κ={p:g} and an exact fit, so the true answer is (1,1). QR works with A directly and loses about log10 κ={math.log10(p):.0f} digits; its error is {eq:.2g}. The normal equations solve with AᵀA, whose condition number is κ²={p**2:.3g}. '+('At this mild conditioning both errors are tiny, so the difference does not matter yet.' if p**2<1e8 else f'Their error is {en:.2g}, about {en/max(eq,1e-16):.2g} times worse. Squaring κ doubles the digits lost.' if p**2<1e15 else f'κ² is past 1/2.2×10⁻¹⁶, so AᵀA is singular to working precision and the normal-equations answer is wrong in the leading digits (error {en:.2g}), while QR still has about {-math.log10(max(eq,1e-16)):.0f} correct digits.')\n",
    "    return result(fig,ax,m,t)\n",
    "\n",
    "\n",
    "def chapter_08(d,p):\n",
    "    if d==1:\n",
    "        a,b=43,p;trace=[]\n",
    "        while b:trace.append(b);a,b=b,a%b\n",
    "        fig,ax=canvas('Euclidean step','Value','Remainders reveal the gcd');ax.plot(range(len(trace)),trace,'o-',label='Input a, then nonzero remainders');ax.set_xlim(-.5,max(len(trace),3)-.5);integer_ticks(ax);g=math.gcd(p,43);inv=pow(p,-1,43) if g==1 else 'Does not exist';m={'gcd(a,43)':g,'Inverse modulo 43':inv};t=f'For a={p:g}, gcd(a,43)={g}. '+(f'The inverse is {inv}, checked by a×inverse mod43=1.' if g==1 else '43 ≡ 0 mod 43, so a has no inverse and you cannot divide by it modulo 43.')\n",
    "    elif d==2:\n",
    "        n=np.arange(0,60);selected=[k for k in n if k%3==2 and k%5==p];fig,ax=canvas('Integer candidate','Remainder','Two congruences select one class modulo 15');ax.scatter(n,n%3,s=10,label='mod 3');ax.scatter(n,n%5,s=10,label='mod 5');ax.scatter(selected,[2]*len(selected),s=100,facecolors='none',edgecolors='#a26913',label='Both conditions');ax.set_ylim(-.5,7.5);r=next(k for k in range(15) if k%3==2 and k%5==p);m={'Remainder modulo 3':2,'Remainder modulo 5':p,'Solution modulo 15':r};t=f'The simultaneous conditions x≡2 mod3 and x≡{p:g} mod5 select x≡{r} mod15. Because 3 and 5 share no factor, exactly one remainder out of 15 works, so the circled points repeat every 15.'\n",
    "    elif d==3:\n",
    "        prime=np.ones(p+1,dtype=bool);prime[:2]=False\n",
    "        for k in range(2,math.isqrt(p)+1):\n",
    "            if prime[k]:prime[k*k::k]=False\n",
    "        x=np.arange(2,p+1);counts=np.cumsum(prime)[2:];fig,ax=canvas('Upper limit n','Prime count','An asymptotic estimate is not an exact count');ax.plot(x,counts,label='Sieve count');ax.plot(x,x/np.log(x),'--',label='n/log n');m={'Exact prime count':int(prime.sum()),'n/log n estimate':p/math.log(p)};t=f'The sieve finds {int(prime.sum())} primes through {p:g}. n/log n gives {p/math.log(p):.6g}; the true count is {int(prime.sum())/(p/math.log(p)):.3f} times the estimate. The formula promises only that this ratio tends to 1 as n grows. It gets there very slowly and not steadily: from n=100 to n=2000 it wanders between about 1.14 and 1.26.'\n",
    "    elif d==4:\n",
    "        k=np.arange(1,26);vals=np.array([pow(p,int(e),11) for e in k]);order=next(e for e in range(1,11) if pow(p,e,11)==1);fig,ax=canvas('Exponent k','aᵏ mod 11','Powers repeat with a fixed period');ax.plot(k,vals,'o-',color='#136f75',label=f'{p}ᵏ mod 11');ax.scatter(k[vals==1],vals[vals==1],s=123,facecolors='none',edgecolors='#aa4e37',zorder=3,label='Value 1: cycle restarts');ax.axvline(23,color='#a26913',ls=':',label='k=23');ax.set_ylim(0,14.5);integer_ticks(ax);integer_ticks(ax,'y');m={'Base a':p,'Period (order of a mod 11)':order,'23 mod period':23%order,f'{p}²³ mod 11':pow(p,23,11)};t=f'The powers of {p} repeat every {order} steps, so only the exponent mod {order} matters. 23 mod {order} = {23%order}, so {p}²³ ≡ {pow(p,23%order,11)} mod 11 without computing a 23-fold product. '+('Fermat\\'s period 10 always works mod 11; here it is the true period.' if order==10 else f'Fermat\\'s exponent 10 also works, because {order} divides 10, but the true period is shorter.')\n",
    "    elif d==5:\n",
    "        divs=[k for k in range(1,p+1) if p%k==0];r=math.sqrt(p);small=[k for k in divs if k<=r];tests=math.isqrt(p)-1\n",
    "        fig,ax=canvas('Divisor d','Partner n/d',f'Divisors of {p} pair up across √n');ax.plot([0,p+1],[0,p+1],ls='dotted',color='#9aa3a8',label='d = n/d line');ax.scatter(small,[p//k for k in small],s=70,color='#136f75',zorder=3,label='Small partner d ≤ √n');big=[k for k in divs if k>r];ax.scatter(big,[p//k for k in big],s=70,marker='s',color='#a26913',zorder=3,label='Large partner d > √n');ax.axvline(r,color='#aa4e37',ls='dashed',label=f'√{p} ≈ {r:.3g}');ax.set_xscale('log');ax.set_yscale('log');ax.set(xlim=(.8,p*1.3),ylim=(.8,p*1.3))\n",
    "        m={'n':p,'√n':r,'Divisors found':len(divs),'Trial divisors needed (2 to ⌊√n⌋)':tests,'Prime':len(divs)==2}\n",
    "        t=f'Every divisor d of {p} comes with a partner {p}/d, and one of the two is at most √{p}≈{r:.4g}. '+(f'So testing 2 through {math.isqrt(p)} ({tests} trials) is enough: none divides {p}, so {p} is prime. Testing past √n would only find partners of divisors already ruled out.' if len(divs)==2 else f'The small divisors {\", \".join(map(str,small))} already reveal all {len(divs)} divisors; the large ones are their partners. '+(f'Here √{p} is a whole number, so {math.isqrt(p)} is its own partner and sits on the diagonal.' if math.isqrt(p)**2==p else f'{p} looks prime at a glance, but the trial divisor {small[1]} finds {p}={small[1]}×{p//small[1]} well before √n.'))\n",
    "    return result(fig,ax,m,t)\n",
    "\n",
    "\n",
    "def chapter_09(d,p):\n",
    "    if d==1:\n",
    "        k=np.arange(0,9);choose=[math.comb(8,int(i)) for i in k];ordered=[math.perm(8,int(i)) for i in k];fig,ax=canvas('Selected people k','Outcome count','Distinct jobs multiply committee counts');integer_ticks(ax);ax.semilogy(k,choose,'o-',label='Unordered committee');ax.semilogy(k,ordered,'o-',label='Distinct ordered jobs');m={'Committee count':math.comb(8,p),'Job assignments':math.perm(8,p),'Multiplicity k!':math.factorial(p)};t=f'For {p:g} of eight people, {math.comb(8,p)} committees become {math.perm(8,p)} assignments to distinct jobs. Each committee has exactly {math.factorial(p)} orderings.'\n",
    "    elif d==2:\n",
    "        counts=np.bincount([sum(bits) for bits in itertools.product([0,1],repeat=p)],minlength=p+1);fig,ax=canvas('Number of ones','Binary strings','Counting a small exhaustive space');ax.bar(range(p+1),counts,label='Exact exhaustive count');integer_ticks(ax);integer_ticks(ax,'y');m={'Total strings':2**p,'At least one 1':2**p-1,'Balanced count':math.comb(p,p//2)};t=f'Enumerating all {2**p} binary strings confirms the binomial counts. Excluding only the all-zero string leaves {2**p-1}. The tallest bar is in the middle: {math.comb(p,p//2)} strings have exactly {p//2} ones.'\n",
    "    elif d==3:\n",
    "        strings=list(itertools.product([0,1],repeat=p));orbits={min(s[i:]+s[:i] for i in range(p)) for s in strings};sizes={s:sum(min(t[i:]+t[:i] for i in range(p))==s for t in strings) for s in orbits};fig,ax=canvas('Rotation orbit size','Number of orbits','Uniform division fails for necklaces');vals=sorted(set(sizes.values()));ax.bar(vals,[list(sizes.values()).count(k) for k in vals]);ax.set_xticks(vals);integer_ticks(ax,'y');m={'Binary necklaces':len(orbits),'Naive 2ⁿ/n':2**p/p,'Distinct orbit sizes':', '.join(map(str,vals))};t=f'Rotation orbits do not all have size {p:g}. Constant strings have orbit size one, so dividing {2**p} by {p:g} does not count the {len(orbits)} distinct necklaces.'\n",
    "    elif d==4:\n",
    "        n=np.arange(1,11);D=[1,0]\n",
    "        for i in range(2,11):D.append((i-1)*(D[-1]+D[-2]))\n",
    "        D=np.array(D[1:]);fig,ax=canvas('Number of people n','Probability nobody gets own hat','The no-match chance settles near 1/e fast');ax.plot(n,D/np.array([math.factorial(int(i)) for i in n]),'o-',color='#136f75',label='Exact D(n)/n!');ax.axhline(1/math.e,color='#a26913',ls='dashed',label='1/e ≈ 0.3679');ax.scatter([p],[D[p-1]/math.factorial(p)],s=140,facecolors='none',edgecolors='#aa4e37',zorder=3,label=f'Selected n={p}');integer_ticks(ax);ax.set_ylim(0,.55);m={'People n':p,'Derangements D(n)':int(D[p-1]),'Arrangements n!':math.factorial(p),'Exact probability':D[p-1]/math.factorial(p),'n!/e rounded':round(math.factorial(p)/math.e)};t=f'With {p} people there are {math.factorial(p)} ways to hand back hats and {D[p-1]} leave nobody with their own. '+(f'That is {D[p-1]/math.factorial(p):.4g}, already within {abs(D[p-1]/math.factorial(p)-1/math.e):.2g} of 1/e. Rounding n!/e gives the exact count, so the shortcut is safe.' if p>=4 else f'That is {D[p-1]/math.factorial(p):.4g}, still visibly off 1/e. Even so, rounding n!/e={math.factorial(p)/math.e:.4g} gives the exact count {D[p-1]}.')\n",
    "    return result(fig,ax,m,t)\n",
    "\n",
    "\n",
    "def chapter_10(d,p):\n",
    "    edges={'path':[(0,1),(1,2),(2,3)],'triangle-isolate':[(0,1),(1,2),(2,0)],'cycle':[(0,1),(1,2),(2,3),(3,0)]}\n",
    "    if d==1:\n",
    "        es=edges[p];adj={i:[] for i in range(4)}\n",
    "        for a,b in es:adj[a].append(b);adj[b].append(a)\n",
    "        seen={0};queue=deque([0])\n",
    "        while queue:\n",
    "            for j in adj[queue.popleft()]:\n",
    "                if j not in seen:seen.add(j);queue.append(j)\n",
    "        fig,ax=canvas('x (layout only)','y (layout only)','Edge count needs a structural condition');xy=np.array([[0,0],[1,0],[1,1],[0,1]])\n",
    "        for a,b in es:ax.plot(xy[[a,b],0],xy[[a,b],1],color='#136f75')\n",
    "        ax.scatter(xy[:,0],xy[:,1],s=150);[ax.annotate(str(i),xy[i]+np.array([.05,-.09])) for i in range(4)];ax.set(xlim=(-.2,1.25),ylim=(-.2,1.2));ax.set_aspect('equal');tree=len(seen)==4 and len(es)==3;m={'Vertices':4,'Edges':len(es),'Reachable from vertex 0':len(seen),'Tree':tree};t=f'This graph has {len(es)} edges and {len(seen)} reachable vertices. It '+('is a tree: connected with n−1 edges.' if tree else ('is not a tree. It has n−1=3 edges but is disconnected, so the edge count alone cannot replace connectivity.' if len(seen)<4 else 'is not a tree. It is connected but has 4 edges, one more than n−1=3, so it contains a cycle.'))\n",
    "    elif d==2:\n",
    "        theta=2*np.pi*np.arange(p)/p;xy=np.column_stack([np.cos(theta),np.sin(theta)]);fig,ax=canvas('x (layout only)','y (layout only)','Odd cycles obstruct two-coloring' if p%2 else 'Even cycles two-color consistently');ax.plot(xy[:,0],xy[:,1],color='#136f75');ax.plot(xy[[-1,0],0],xy[[-1,0],1],color='#aa4e37' if p%2 else '#136f75',lw=3,label='Closing edge: same colors (conflict)' if p%2 else 'Closing edge: colors differ');ax.scatter(xy[:,0],xy[:,1],c=['#136f75' if i%2==0 else '#b77518' for i in range(p)],s=130);ax.set_aspect('equal');m={'Cycle length':p,'Bipartite':p%2==0};t=f'An alternating two-coloring '+('closes consistently on this even cycle.' if p%2==0 else 'conflicts at the closing edge on this odd cycle. One odd cycle rules out bipartiteness.')\n",
    "    elif d==3:\n",
    "        es=edges[p];degrees=[sum(i in e for e in es) for i in range(4)];odd=sum(v%2 for v in degrees);fig,ax=canvas('Vertex','Degree','Euler trails use every edge');ax.bar(range(4),degrees);integer_ticks(ax);integer_ticks(ax,'y');m={'Odd-degree vertices':odd,'Euler trail possible on edge component':odd in (0,2)};t=f'There are {odd} odd-degree vertices. '+('Zero odd vertices: you can walk every edge once and end where you started.' if odd==0 else 'Two odd vertices: you can walk every edge once, but you must start at one odd vertex and finish at the other.' if odd==2 else 'More than two odd vertices: no walk covers every edge exactly once.')+(' Vertex 3 has no edges and is ignored, since the walk only has to cover edges.' if 0 in degrees else '')\n",
    "    elif d==4:\n",
    "        import heapq;E={'S':[('A',2),('B',3)],'B':[('A',p)],'A':[('T',1)],'T':[]};V=['S','A','B','T'];dist={v:math.inf for v in V};dist['S']=0;done=set();h=[(0,'S')]\n",
    "        while h:\n",
    "            d0,u=heapq.heappop(h)\n",
    "            if u in done:continue\n",
    "            done.add(u)\n",
    "            for v,w in E[u]:\n",
    "                if v not in done and d0+w<dist[v]:dist[v]=d0+w;heapq.heappush(h,(dist[v],v))\n",
    "        true={v:math.inf for v in V};true['S']=0\n",
    "        for _ in range(3):\n",
    "            for u in V:\n",
    "                for v,w in E[u]:true[v]=min(true[v],true[u]+w)\n",
    "        xy={'S':(0,0),'A':(1,.6),'B':(1,-.6),'T':(2,.6)};fig,ax=canvas('x (layout only)','y (layout only)','Dijkstra settles vertices in distance order',two=True)\n",
    "        for u in V:\n",
    "            for v,w in E[u]:ax[0].annotate('',xy[v],xy[u],arrowprops=dict(arrowstyle='->',shrinkA=11,shrinkB=11,lw=2.5 if (u,v)==('B','A') else 1.2,color='#aa4e37' if (u,v)==('B','A') and p<0 else '#136f75'));ax[0].annotate(f'{w:g}',((xy[u][0]+xy[v][0])/2+.04,(xy[u][1]+xy[v][1])/2+.04))\n",
    "        ax[0].scatter(*zip(*xy.values()),s=300,color='#dbe7e8',zorder=3);[ax[0].annotate(v,xy[v],ha='center',va='center',zorder=4) for v in V];ax[0].set(xlim=(-.3,2.3),ylim=(-1,1),xticks=[],yticks=[]);i=np.arange(4);ax[1].bar(i-.2,[dist[v] for v in V],.4,label='Dijkstra answer');ax[1].bar(i+.2,[true[v] for v in V],.4,label='True shortest (Bellman-Ford)');ax[1].set(xticks=i,xticklabels=V,xlabel='Vertex',ylabel='Path length from S',title=f'Edge B to A weight {p:g}');integer_ticks(ax[1],'y');wrong=[v for v in V if dist[v]!=true[v]];m={'Weight on B→A':p,'Dijkstra distance to T':dist['T'],'True distance to T':true['T'],'Vertices Dijkstra gets wrong':', '.join(wrong) if wrong else 'None'};t=f'Dijkstra settles A at length 2 before it looks at B. '+('All weights are nonnegative, so no later path can undercut a settled vertex. Every answer is correct.' if p>=0 else (f'The detour S→B→A costs 3{p:+g}={3+p:g}, still longer than 2, so Dijkstra happens to be right. A negative edge removes the guarantee, not every correct answer.' if 3+p>=2 else f'The detour S→B→A costs 3{p:+g}={3+p:g}, shorter than 2. Dijkstra already locked A, so it reports {\", \".join(wrong)} too long. Use Bellman-Ford when any weight is negative.'))\n",
    "    elif d==5:\n",
    "        G={'K4':(4,6,False,True),'K5':(5,10,False,False),'K3,3':(6,9,True,False)};n,e,bip,planar=G[p];b=3*n-6\n",
    "        fig,ax=canvas('Graph','Number of edges',f'{p}: the 3n−6 screen can only rule planarity out');names=list(G);x=np.arange(3)\n",
    "        ax.bar(x-.2,[G[g][1] for g in names],.4,color=['#aa4e37' if g==p else '#9fc2c4' for g in names],label='Edges m');ax.bar(x+.2,[3*G[g][0]-6 for g in names],.4,color='#d8b47a',label='Planar ceiling 3n−6');ax.set(xticks=x,xticklabels=names);integer_ticks(ax,'y')\n",
    "        m={'Vertices n':n,'Edges m':e,'Ceiling 3n−6':b,'Screen rejects planarity':e>b,'Actually planar':planar}\n",
    "        t=f'{p} has n={n} and m={e}, against the ceiling 3n−6={b}. '+({'K4':'It passes the screen and is planar: draw one vertex inside the triangle of the other three.','K5':'Ten edges exceed nine, so the screen proves K5 is not planar without any drawing.','K3,3':'Nine edges are under twelve, so the screen passes, yet K3,3 is not planar. Passing proves nothing. For a graph with no triangles the sharper ceiling 2n−4=8 does catch it.'}[p])\n",
    "    return result(fig,ax,m,t)\n",
    "\n",
    "\n",
    "def chapter_11(d,p):\n",
    "    if d==1:\n",
    "        n=np.arange(1,51);exact=np.array([math.lgamma(int(k)+1) for k in n]);base=.5*np.log(2*np.pi*n)+n*np.log(n)-n;fig,ax=canvas('n','Relative factorial error','The first Stirling correction helps');ax.semilogy(n,abs(np.expm1(base-exact)),label='Leading formula');ax.semilogy(n,abs(np.expm1(base+1/(12*n)-exact)),label='Log correction');m={'n':p,'Leading relative error':abs(math.expm1(.5*math.log(2*math.pi*p)+p*math.log(p)-p-math.lgamma(p+1))),'Corrected relative error':abs(math.expm1(.5*math.log(2*math.pi*p)+p*math.log(p)-p+1/(12*p)-math.lgamma(p+1)))};t=f'At n={p}, the leading Stirling formula misses n! by {100*m[\"Leading relative error\"]:.3g}%. Adding 1/(12n) to the log cuts the miss to about 1 part in {1/m[\"Corrected relative error\"]:,.0f}. Working with log n! keeps huge factorials from overflowing. A few checked values do not prove the correction always works this well.'\n",
    "    elif d==2:\n",
    "        x=np.logspace(0,5,200);fig,ax=canvas('x','Term magnitude','Dominant balance locates a transition');ax.loglog(x,x,label='x');ax.loglog(x,p/x,label='a/x');ax.axvline(math.sqrt(p),color='#a26913',linestyle=':',label='Balance scale √a');m={'Parameter a':p,'Balance scale x':math.sqrt(p)};t=f'The competing terms x and a/x are equal at x=√a={math.sqrt(p):.6g}. For x below {math.sqrt(p):.6g}, a/x is the bigger term; above it, x is. Near the crossing neither term can be dropped.'\n",
    "    elif d==3:\n",
    "        x=np.logspace(0,7,100);exact=x/(np.sqrt(x*x+x)+x);leading=np.full_like(x,.5);fig,ax=canvas('x','Difference','Equivalent leading terms can cancel');ax.semilogx(x,exact,label='Rationalized exact difference');ax.semilogx(x,leading,'--',label='Limit 1/2');value=p/(math.sqrt(p*p+p)+p);m={'Exact difference':value,'Gap to limit 1/2':.5-value,'Naively subtract leading equivalents':0,'Correct limiting value':.5};t=f'√(x²+x)−x is {value:.10g} at x={p:,} and tends to 1/2. Replacing each large term by x and subtracting would incorrectly give zero.'\n",
    "    elif d==4:\n",
    "        n=np.arange(2,81);fig,ax=canvas('n','Value (log scale)','Exponential growth eventually beats any power');ax.semilogy(n,np.log(n),label='log n');ax.semilogy(n,n.astype(float)**p,label=f'n^{p}');ax.semilogy(n,2.0**n,label='2^n');ax.set_ylim(.5,1e24);cross=next(int(k) for k in range(2,1000) if 2.0**k>float(k)**p);ax.axvline(cross,color='#a26913',linestyle=':',label=f'2^n passes n^{p} at n={cross}');integer_ticks(ax);m={'Power k':p,'Last n where n^k ≥ 2^n':cross-1,'First n where 2^n > n^k':cross,'n^k at n=100':float(100**p),'2^n at n=100':2.0**100};t=f'With k={p}, the power n^{p} matches or beats 2^n up to n={cross-1}; from n={cross} on, 2^n wins and the gap grows without limit. '+('Even a small power leads for a few steps, so short tests can mislead.' if p==2 else ('A bigger power only delays the takeover; it never prevents it.' if p==5 else f'Even n^10 loses, but only after n={cross-1}. Below that, the exponential looks like the slower function.'))\n",
    "    elif d==5:\n",
    "        tq,wq=np.polynomial.laguerre.laggauss(150);exact=float(np.sum(wq/(1+p*tq)));K=np.arange(1,31);terms=np.array([(-1)**k*math.factorial(k)*p**k for k in range(30)]);err=np.abs(np.cumsum(terms)-exact);best=int(K[np.argmin(err)]);fig,ax=canvas('Terms kept K','Absolute error (log scale)','More terms help, then hurt');ax.semilogy(K,err,'o-',ms=4,label='|partial sum − exact|');ax.axvline(best,color='#a26913',linestyle=':',label=f'Smallest error at K={best}');integer_ticks(ax);m={'Small parameter x':p,'Exact integral':exact,'Best number of terms':best,'Smallest error':float(err.min()),'Error with 30 terms':float(err[-1])};t=f'The series 1 − 1!x + 2!x² − … for ∫e^(−t)/(1+xt)dt diverges for every x>0, yet at x={p:g} keeping {best} terms gives error {err.min():.2g}. Terms shrink until k is near 1/x={1/p:g}, then grow. '+(f'With 30 terms the error explodes to {err[-1]:.2g}: adding terms past the smallest one makes things worse.' if err[-1]>1 else f'Thirty terms already overshoot: the error is back up to {err[-1]:.2g}, worse than the best truncation.')+' Stop near the smallest term.'\n",
    "    return result(fig,ax,m,t)\n",
    "\n",
    "\n",
    "def chapter_12(d,p):\n",
    "    if d==1:\n",
    "        n=np.arange(1,1001);exact=-np.expm1(n*np.log1p(-p));approx=-np.expm1(-n*p);fig,ax=canvas('Independent opportunities n','At least one event probability','Rare events accumulate');ax.plot(n,exact,label='Exact independent model');ax.plot(n,approx,'--',label='Poisson approximation');ax.plot(n,np.minimum(1,n*p),':',label='Union bound');ax.axvline(100,color='#a26913',linestyle=':',label='n=100 (reported)');m={'Per-opportunity probability':p,'Exact risk at n=100':-math.expm1(100*math.log1p(-p)),'Union ceiling at n=100':min(1,100*p)};t=f'Over 100 opportunities at p={p:g}, the chance of at least one event is {-math.expm1(100*math.log1p(-p)):.4g} if they are independent. The union bound n·p={min(1,100*p):.4g} is a ceiling that holds even without independence. '+('Here it caps at 1, which tells you nothing; use the exact formula if independence is credible.' if 100*p>=1 else 'For rare events the two nearly agree, so n·p is a safe quick estimate.')+' A shared cause (one storm, one bad batch) breaks the independent formula.'\n",
    "    elif d==2:\n",
    "        prevalence=np.logspace(-4,-.3,200);sens=.95;fpr=.05;posterior=sens*prevalence/(sens*prevalence+fpr*(1-prevalence));fig,ax=canvas('Prior prevalence','Probability after a positive result','Base rates change positive-result meaning');ax.semilogx(prevalence,posterior);a=sens*p/(sens*p+fpr*(1-p));ax.scatter([p],[a]);m={'Sensitivity':sens,'False-positive rate':fpr,'Prior probability':p,'Posterior probability':a};t=f'Under the stipulated .95 sensitivity and .05 false-positive rate, prior probability {p:g} becomes {a:.6g} after a positive result. Picture 100,000 people: {95000*p:,.0f} true positives against {5000*(1-p):,.0f} false positives. '+('False alarms swamp the real cases, so a positive is still probably wrong.' if a<.5 else 'Cases are common enough that a positive is now probably right.')+' Inputs are made up for illustration.'\n",
    "    elif d==3:\n",
    "        n=np.logspace(2,6,100);se=np.sqrt(.3*.7/n);fig,ax=canvas('Independent simulations n','Monte Carlo standard error','More trials improve precision slowly');ax.loglog(n,se,label='√(.3×.7/n)');ax.scatter([p],[math.sqrt(.21/p)],label='Model SE at selected n');rng=np.random.default_rng(1203);estimate=float(np.mean(rng.random(p)<.3));ax.scatter([p],[max(abs(estimate-.3),1e-6)],marker='x',s=70,color='#aa4e37',label='This run: distance of estimate from .3');m={'Seed':1203,'Trials':p,'Simulated estimate':estimate,'Model standard error':math.sqrt(.21/p),'True constructed probability':.3};t=f'Seed 1203 gives estimate {estimate:.6g} from {p:g} independent Bernoulli trials, missing the true .3 by {abs(estimate-.3):.3g}, about {abs(estimate-.3)/math.sqrt(.21/p):.2g} model standard errors. Quadrupling the simulation budget halves the model standard error; it does not fix an incorrect probability model.'\n",
    "    elif d==4:\n",
    "        k=np.arange(1,int(4*math.sqrt(p))+2);prob=-np.expm1(np.cumsum(np.log1p(-(k-1)/p)));fig,ax=canvas('Number of items drawn k','Probability of at least one repeat','Collisions arrive near the square root');ax.plot(k,prob,label='Exact: 1 − ∏(1 − i/N)');ax.plot(k,-np.expm1(-k*(k-1)/(2*p)),linestyle='dashed',label='Approx: 1 − exp(−k(k−1)/(2N))');half=int(k[np.argmax(prob>=.5)]);ax.axvline(half,color='#a26913',linestyle=':',label=f'50% reached at k={half}');ax.axhline(.5,color='gray',linestyle=':');integer_ticks(ax);m={'Equally likely values N':p,'Items for 50% repeat chance':half,'1.1774·√N':1.1774*math.sqrt(p),'Items as share of N':half/p};t=f'With {p:,} equally likely values, a repeat becomes more likely than not after only {half} draws, about 1.18√N. That is {100*half/p:.3g}% of the possible values. '+('This is the classic birthday surprise: 23 people suffice.' if p==365 else ('Growing N by a factor of 100 grows the threshold only about tenfold (119 here, 1,178 at N=1,000,000).' if p<10**6 else 'Even a million IDs collide after about 1,178 draws, so random IDs need far more room than their count suggests.'))\n",
    "    elif d==5:\n",
    "        i=np.arange(1,p+1);wait=p/(p-i+1);cum=np.cumsum(wait);total=float(cum[-1]);fig,ax=canvas('New coupons collected','Expected draws so far','The last few coupons cost the most');ax.plot(i,cum,label='Expected total draws, N·Σ1/k');ax.plot(i,i,color='gray',linestyle='dashed',label='One draw per new coupon');half=int(i[np.argmax(cum>=total/2)]);ax.axvline(half,color='#a26913',linestyle=':',label=f'Half of all draws spent by coupon {half}');integer_ticks(ax);tail=int(math.ceil(.1*p));lastshare=float((cum[-1]-cum[-tail-1])/total);m={'Distinct coupons N':p,'Expected draws for all':total,'N ln N + 0.5772N':p*math.log(p)+.5772*p,'Draws per coupon':total/p,'Share spent on last 10%':lastshare};t=f'Collecting all {p} equally likely coupons takes {total:.4g} draws on average, about N ln N + 0.577N = {p*math.log(p)+.5772*p:.4g}, or {total/p:.3g} draws per coupon. Half of those draws are already spent by coupon {half} of {p}, and '+('the last coupon' if tail==1 else f'the last {tail} coupons')+f' alone take'+('s' if tail==1 else '')+f' {100*lastshare:.3g}% of the effort. '+('Even with only 10 types, the final one takes on average 10 draws by itself.' if p==10 else 'Finishing a set is dominated by hunting for the rare missing pieces, so budgets based on N draws fail badly.')\n",
    "    return result(fig,ax,m,t)\n",
    "\n",
    "\n",
    "def wilson(k,n,z=1.96):\n",
    "    q=k/n;den=1+z*z/n;center=(q+z*z/(2*n))/den;half=z*math.sqrt(q*(1-q)/n+z*z/(4*n*n))/den\n",
    "    return center-half,center+half\n",
    "\n",
    "\n",
    "def chapter_13(d,p):\n",
    "    if d==1:\n",
    "        n=np.arange(10,501);fig,ax=canvas('Total observations n','95% planning half-width','Precision depends on independent information');ax.plot(n,1.96*12/np.sqrt(n),label='Independent observations, σ=12');deff=1+4*p;ax.plot(n,1.96*12*np.sqrt(deff/n),'--',label=f'Clusters of 5, within-cluster correlation ρ={p:g}');ax.axhline(3,color='gray',linestyle=':',label='Target half-width 3');target=(1.96*12/3)**2;need=5*math.ceil(target*deff/5);ax.axvline(need,color='#a26913',linestyle=':',label=f'Needed: {need}');m={'Design effect':deff,'Independent target n (unrounded)':target,'Target × design effect':target*deff,'Clustered observations needed':need};t=f'With clusters of five and within-cluster correlation ρ={p:g}, the design effect (how much clustering inflates variance) is {deff:g}. The unrounded target {target:.6g} times {deff:g} is {target*deff:.6g}, rounded up to whole clusters of five: {need}. The displayed planning formula assumes equal clusters and a specified variance; repeated measurements do not automatically count as independent observations.'\n",
    "    elif d==2:\n",
    "        n=np.arange(10,1001);exact=-np.expm1(math.log(.05)/n);fig,ax=canvas('Independent zero-event trials n','One-sided 95% upper bound','No observed failures does not mean zero risk');ax.plot(n,exact,label='Exact binomial upper bound');ax.plot(n,3/n,'--',label='Rule of three');m={'Zero-event trials':p,'Exact upper bound':-math.expm1(math.log(.05)/p),'Rule-of-three bound':3/p};t=f'With zero events in {p:g} independent identical trials, the exact one-sided 95% upper bound is {m[\"Exact upper bound\"]:.6g}. Rule 3/n is a close approximation, not a probability of safety.'\n",
    "    elif d==3:\n",
    "        n=20;k=np.arange(n+1);intervals=np.array([wilson(int(a),n) for a in k]);wald=k/n+np.array([-1,1])[:,None]*1.96*np.sqrt((k/n)*(1-k/n)/n);fig,ax=canvas('Observed successes k (n=20)','Interval endpoint','Wilson remains informative at the extremes');ax.plot(k,intervals[:,0],label='Wilson lower');ax.plot(k,intervals[:,1],label='Wilson upper');ax.plot(k,wald[0],'--',label='Wald lower');ax.plot(k,wald[1],'--',label='Wald upper');ax.axvline(p,color='#a26913',linestyle=':',label='Selected k');integer_ticks(ax);lo,hi=wilson(p,n);lo=max(0.,lo) if abs(lo)<1e-12 else lo;hi=min(1.,hi) if abs(hi-1)<1e-12 else hi;m={'Successes':p,'Trials':n,'Wilson lower':lo,'Wilson upper':hi};t=f'For {p:g}/20 successes, Wilson gives [{lo:.6g},{hi:.6g}]. '+('Wald gives [0,0] here, claiming certainty from 20 trials. Wilson does not.' if p==0 else ('Wald gives [{:.3g},{:.3g}], with an impossible negative lower end.'.format(.1-1.96*math.sqrt(.09/20),.1+1.96*math.sqrt(.09/20)) if p==2 else 'Near the middle, Wald and Wilson nearly agree; the difference matters at the extremes.'))\n",
    "    elif d==4:\n",
    "        rng=np.random.default_rng(1333);sims,nmax=4000,1000;z=np.cumsum(rng.standard_normal((sims,nmax)),axis=1)/np.sqrt(np.arange(1,nmax+1));looks=np.linspace(nmax/p,nmax,p).astype(int)-1;hit=(np.abs(z[:,looks])>1.96).any(axis=1);fig,ax=canvas('Planned looks at the data','False-positive rate (no real effect)','Peeking and stopping on p<.05 inflates errors');allk=[1,2,5,10,20,50];rates=[float((np.abs(z[:,np.linspace(nmax/j,nmax,j).astype(int)-1])>1.96).any(axis=1).mean()) for j in allk];ax.plot(allk,rates,'o-',label='Simulated: stop at first p<.05');ax.axhline(.05,color='gray',linestyle='dashed',label='Promised 5%');ax.scatter([p],[hit.mean()],s=90,color='#a26913',zorder=3,label=f'Selected: {p} look'+('' if p==1 else 's'));ax.set_xscale('log');ax.set_xticks(allk,[str(j) for j in allk]);m={'Looks':p,'Simulated false-positive rate':float(hit.mean()),'Nominal rate':.05,'Simulated null experiments':sims,'Seed':1333};t=f'With no true effect and '+('a single look at the end,' if p==1 else f'{p} equally spaced looks,')+f' stopping at the first p<.05 declares a false discovery in {100*hit.mean():.3g}% of {sims} simulated experiments. '+('One planned look keeps the promised 5%, up to simulation noise.' if p==1 else f'That is about {hit.mean()/.05:.2g} times the promised 5%. Each extra look is another chance for noise to cross the line. Fix the look schedule in advance or use a sequential correction.')\n",
    "    return result(fig,ax,m,t)\n",
    "\n",
    "\n",
    "def chapter_14(d,p):\n",
    "    if d==1:\n",
    "        arrival=np.linspace(.1,9.9,201);fig,ax=canvas('Arrival rate λ (per hour)','Mean system time (hours)','Queues become fragile near capacity');ax.plot(arrival,1/(10-arrival),label='Stable M/M/1');ax.axvline(p,color='#a26913',label=f'Selected λ={p:g}');stable=p<10\n",
    "        if not stable:ax.text(p-.15,ax.get_ylim()[1]*.6,'λ ≥ μ: unstable,\\nno stationary mean',ha='right',color='#aa4e37')\n",
    "        m={'Utilization':p/10,'Mean system time':1/(10-p) if stable else 'No stationary mean','Mean customers in system':p/(10-p) if stable else 'Unstable'};t=f'At service rate 10/hour and arrivals {p:g}/hour, '+(f'mean system time is {1/(10-p):.6g} hours under the M/M/1 assumptions.' if stable else 'the stationary formula is inapplicable: demand meets or exceeds service capacity.')\n",
    "    elif d==2:\n",
    "        n=np.arange(51);fig,ax=canvas('Steps after shock','Remaining shock fraction','AR(1) dependence persists');hl=math.log(.5)/math.log(p);ax.plot(n,p**n,label='Remaining fraction φⁿ');ax.axhline(.5,color='gray',linestyle=':',label='Half remaining');ax.axvline(hl,color='#a26913',linestyle=':',label=f'Half-life {hl:.3g} steps');m={'AR coefficient':p,'Half-life in steps':math.log(.5)/math.log(p),'Long-run variance factor':(1+p)/(1-p)};t=f'A shock is multiplied by φ={p:g} each step (it keeps {100*p:g}% per step), with half-life {math.log(.5)/math.log(p):.3g} steps. A long average is {(1+p)/(1-p):.3g} times as noisy (in variance) as an average of the same number of independent readings. '+('Even this weak persistence costs some precision, though half of a shock is gone within one step.' if p<.5 else 'Lingering shocks make neighboring readings repeat each other, so persistence costs precision.')\n",
    "    elif d==3:\n",
    "        count=np.arange(0,31);pmf=np.array([math.exp(-p)*p**int(k)/math.factorial(int(k)) for k in count]);fig,ax=canvas('Arrival count in one hour','Probability','Rate times exposure determines the Poisson count');ax.bar(count,pmf);m={'Hourly arrival rate':p,'Mean count in one hour':p,'Probability of any arrival':-math.expm1(-p),'Mean wait (hours)':1/p};t=f'A constant Poisson rate {p:g}/hour gives mean count {p:g} in one hour and mean exponential wait {1/p:.6g} hour{\"\" if p==1 else \"s\"}. Changing or dependent arrival rates need a different model.'\n",
    "    elif d==4:\n",
    "        rng=np.random.default_rng(1421);steps=rng.choice([-1,1],size=(2000,p));walk=np.cumsum(steps,axis=1);n=np.arange(1,p+1);fig,ax=canvas('Steps taken n','Position (steps from start)','Random-walk spread grows like √n');[ax.plot(n,walk[i],lw=.7,alpha=.6,label='Five sample walks' if i==0 else None) for i in range(5)];ax.plot(n,np.sqrt(n),color='k',linestyle='dashed',label='±√n');ax.plot(n,-np.sqrt(n),color='k',linestyle='dashed');ax.plot(n,np.sqrt((walk**2).mean(axis=0)),color='#a26913',label='Simulated RMS distance (2000 walks)');integer_ticks(ax);rms=float(np.sqrt((walk[:,-1]**2).mean()));m={'Steps':p,'Theory √n':math.sqrt(p),'Simulated RMS distance':rms,'Typical distance / steps':rms/p,'Seed':1421};t=f'After {p:,} fair ±1 steps, the typical distance from start is about √{p:,}={math.sqrt(p):.4g} steps (simulation: {rms:.4g}). That is only {100*rms/p:.2g}% of the steps taken. '+('Ten times more steps would move the walker only about 3.16 times farther.' if p<10000 else 'A hundredfold increase in steps from 100 to 10,000 only multiplied the typical distance by ten.')\n",
    "    elif d==5:\n",
    "        t=np.linspace(0,30,301);mean=10;scale=mean/math.gamma(1.5);expo=np.exp(-t/mean);weib=np.exp(-((p+t)/scale)**2+(p/scale)**2);fig,ax=canvas('Extra minutes of waiting t','P(still waiting after t more)','Exponential waits do not age');ax.plot(t,expo,label='Exponential (memoryless), mean 10');ax.plot(t,weib,linestyle='dashed',label='Aging wait, mean 10, '+('no time waited yet' if p==0 else f'after {p:g} min already'));m={'Minutes already waited':p,'Exponential: expected extra wait':mean,'Aging model: expected extra wait':float(np.trapezoid(np.exp(-((p+np.linspace(0,200,200001))/scale)**2+(p/scale)**2),np.linspace(0,200,200001))),'Exponential: P(over 10 more)':math.exp(-1),'Aging model: P(over 10 more)':math.exp(-((p+10)/scale)**2+(p/scale)**2)};t=('Before any waiting, a memoryless (exponential) wait has mean' if p==0 else f'After {p:g} minutes already waited, a memoryless (exponential) wait still has mean')+f' {mean} more minutes and a {100*math.exp(-1):.3g}% chance of lasting 10 more'+('. ' if p==0 else ': the past wait is forgotten. ')+('At time zero the two models are just two different shapes with the same 10-minute mean.' if p==0 else f'An aging wait with the same 10-minute mean (Weibull shape 2) now expects only {m[\"Aging model: expected extra wait\"]:.3g} more minutes. ')+('' if p==0 else ('\"Overdue\" reasoning is valid only for aging processes, never for exponential ones.' if p>=15 else 'Whether waiting longer makes the end nearer depends on the model, not on intuition.'))\n",
    "    return result(fig,ax,m,t)\n",
    "\n",
    "\n",
    "def entropy(p):\n",
    "    p=np.asarray(p);return float(-np.sum(p[p>0]*np.log2(p[p>0])))\n",
    "\n",
    "\n",
    "def chapter_15(d,p):\n",
    "    if d==1:\n",
    "        x=np.linspace(0,1,201);h=[entropy([a,1-a]) for a in x];fig,ax=canvas('Bernoulli probability p','Entropy (bits)','Uncertainty peaks at equal probabilities');ax.plot(x,h);m={'Entropy in bits':entropy([p,1-p]),'Effective alphabet size':2**entropy([p,1-p])};t=f'At p={p:g}, entropy is {bits(m[\"Entropy in bits\"])}. '+(f'The rare outcome carries {bits(-math.log2(p))} of surprisal when it happens. ' if p<.5 else '')+('A rare event has high surprisal when it occurs, but low average entropy because it is rare.' if p<.1 else ('Neither outcome is rare here; equal probabilities give the maximum 1 bit.' if p==.5 else 'As p moves away from .5 toward zero, entropy falls because outcomes become more predictable.'))\n",
    "    elif d==2:\n",
    "        truth=np.array([.8,.2]);x=np.linspace(.01,.99,201);cross=-.8*np.log2(x)-.2*np.log2(1-x);fig,ax=canvas('Model probability q for outcome 1','Bits per outcome','A mismatched model costs extra information');ax.plot(x,cross,label='Cross-entropy');ax.axhline(entropy(truth),color='gray',linestyle='dashed',label='True entropy');ce=-.8*math.log2(p)-.2*math.log2(1-p);m={'True entropy':entropy(truth),'Cross-entropy':ce,'Perplexity':2**ce,'KL divergence (bits)':ce-entropy(truth)};t=f'True probabilities are (.8,.2), while the model assigns ({p:g},{1-p:g}). Cross-entropy is {bits(ce)}, the average cost of coding real outcomes with the model. '+(f'The excess over the true entropy, {ce-entropy(truth):.4g} bits, is the price of the wrong model (KL divergence). ' if abs(p-.8)>1e-9 else 'Here the model matches the truth, so the excess (the KL divergence) is zero. ')+f'Perplexity {2**ce:.4g} means the model is as unsure as a fair pick among that many options.'\n",
    "    elif d==3:\n",
    "        x=np.linspace(0,.5,201);capacity=[1-entropy([a,1-a]) for a in x];fig,ax=canvas('Bit-flip probability ε','Capacity (bits per channel use)','Noise limits a binary symmetric channel');ax.plot(x,capacity);m={'Flip probability':p,'Channel capacity':1-entropy([p,1-p])};t=f'The ideal memoryless binary symmetric channel has capacity {bits(m[\"Channel capacity\"])} per use at flip probability {p:g}. '+('A perfect channel: every bit gets through.' if p==0 else ('Each sent bit is pure noise; no code can recover anything.' if p==.5 else f'So you need about {1/m[\"Channel capacity\"]:.3g} sent bits per data bit, even with ideal coding. Real codes need somewhat more.'))\n",
    "    elif d==4:\n",
    "        snr=np.logspace(-1,4,300);cap=.5*np.log2(1+snr);fig,ax=canvas('Signal-to-noise power ratio (log scale)','Capacity (bits per real sample)','Capacity grows with the log of signal power');ax.semilogx(snr,cap,label='C = ½ log₂(1 + SNR)');s=10**(p/10);c=.5*math.log2(1+s);c2=.5*math.log2(1+2*s);ax.scatter([s],[c],s=80,color='#a26913',zorder=3,label=f'Selected: {p} dB');ax.scatter([2*s],[c2],s=60,marker='x',color='#aa4e37',zorder=3,label='Same, with double the power');m={'SNR (dB)':p,'SNR as a power ratio':s,'Capacity (bits per real sample)':c,'Capacity with double power':c2,'Gain from doubling power (bits)':c2-c};t=f'At {p} dB (power ratio {s:g}), the ideal Gaussian channel carries {bits(round(c,4))} per real sample. Doubling signal power adds {c2-c:.3g} bits. '+('When signal equals noise, doubling power still buys a 58% capacity gain. At high SNR the same doubling adds only about half a bit on top of many.' if p==0 else 'At high SNR each doubling adds only about half a bit per real sample, so more bandwidth (more samples per second) usually beats more power.')\n",
    "    elif d==5:\n",
    "        k=np.arange(1,25);fpr=(1-np.exp(-k/p))**k;kopt=p*math.log(2);kb=int(k[np.argmin(fpr)]);fig,ax=canvas('Hash functions k','False-positive rate (log scale)','Too few or too many hashes both hurt');ax.semilogy(k,fpr,'o-',ms=4,label=f'(1 − e^(−k/{p:g}))^k, {p:g} bits per item');ax.axvline(kopt,color='#a26913',linestyle=':',label=f'Optimum (m/n)·ln 2 = {kopt:.3g}');integer_ticks(ax);m={'Bits per item m/n':p,'Ideal k = (m/n) ln 2':kopt,'Best whole k':kb,'False-positive rate at best k':float(fpr.min()),'False-positive rate at k=1':float(fpr[0]),'Rate at k=24':float(fpr[-1])};t=f'With {p:g} bits per stored item, the false-positive rate is smallest near k=(m/n)ln 2={kopt:.3g}; the best whole number is {kb}, giving {100*fpr.min():.3g}%. One hash gives {100*fpr[0]:.3g}%, and 24 hashes give {100*fpr[-1]:.3g}% because the bit array fills up. '+('With so little memory, even the best k leaves about 1 false alarm in 7 lookups of absent items.' if p==4 else ('Each doubling of memory squares the best rate, roughly.' if p==8 else 'At 16 bits per item the best rate falls below 0.1%, but only near the optimum k.'))\n",
    "    return result(fig,ax,m,t)\n",
    "\n",
    "\n",
    "def chapter_16(d,p):\n",
    "    if d==1:\n",
    "        corr=np.linspace(-1,1,201);var=.5+.5*corr;fig,ax=canvas('Correlation ρ','Area standard uncertainty (cm²)','Covariance can reinforce or cancel first-order error');ax.plot(corr,np.sqrt(np.maximum(var,0)));u=math.sqrt(max(.5+.5*p,0));m={'Nominal area (cm²)':50,'First-order standard uncertainty (cm²)':u,'Expanded uncertainty k=2 (cm²)':2*u};t=f'A=LW with L=10±.1 cm, W=5±.05 cm, and correlation {p:g} gives first-order u(A)={u:.6g} cm². '+('The linear terms cancel exactly here; this does not imply zero nonlinear uncertainty.' if p==-1 else ('With no correlation, the two contributions add in quadrature.' if p==0 else 'Positive correlation makes the contributions reinforce, giving the largest uncertainty.' if p>0 else 'Negative correlation partly cancels the contributions.'))\n",
    "    elif d==2:\n",
    "        n=np.arange(1,501);fig,ax=canvas('Repeated readings n','RMS error','A fixed bias survives averaging');ax.plot(n,np.sqrt(1/n+p*p),label='RMS total');ax.plot(n,1/np.sqrt(n),'--',label='Random component');ax.axhline(abs(p),linestyle=':',label='Bias floor');m={'Single-reading random SD':1,'Fixed bias':p,'RMS error after 100 readings':math.sqrt(.01+p*p)};t=f'With independent unit-SD noise and fixed bias {p:g}, MSE of the mean is 1/n+b². After 100 readings the RMS error is {math.sqrt(.01+p*p):.3g}. '+('With no bias, more readings keep helping.' if p==0 else f'Averaging cannot push the error below the bias {p:g}; only calibration removes it.')\n",
    "    elif d==3:\n",
    "        rng=np.random.default_rng(1603);z=rng.normal(2,p,100000);y=z*z;fig,ax=canvas('Transformed value x²','Probability density','A nonlinear transform shifts the center');ax.hist(y,bins=80,density=True,label='100,000 constructed samples');ax.axvline(4,color='#a26913',label='Square of input mean');m={'Seed':1603,'Monte Carlo mean of x²':float(y.mean()),'Exact mean of x²':4+p*p,'Monte Carlo standard deviation':float(y.std(ddof=1)),'Straight-line estimate of SD (4σ)':4*p};t=f'For Gaussian x with mean 2 and SD {p:g}, E[x²]=4+σ²={4+p*p:g}. The constructed Monte Carlo result differs from squaring the mean. '+f'Straight-line estimate 4σ={4*p:.3g} versus simulated SD {float(y.std(ddof=1)):.3g}: '+('close enough here.' if abs(y.std(ddof=1)-4*p)<.05*4*p else 'the gap grows with σ, so simulate instead.')+''\n",
    "    elif d==4:\n",
    "        u=np.array([4.,2.,1.]);v=u.copy();v[p-1]/=2;base=math.sqrt((u*u).sum());new=math.sqrt((v*v).sum());fig,ax=canvas('Contributor','Standard uncertainty (mm)','Halve the biggest term first');x=np.arange(1,4);ax.bar(x-.2,u,.4,label='Before');ax.bar(x+.2,v,.4,label=f'After halving contributor {p}');ax.axhline(base,color='gray',linestyle='dashed',label=f'Combined before {base:.3g} mm');ax.axhline(new,color='#a26913',linestyle=':',label=f'Combined after {new:.3g} mm');ax.set_xticks(x,['1 (4 mm)','2 (2 mm)','3 (1 mm)']);m={'Combined before (mm)':base,'Combined after (mm)':new,'Reduction (%)':100*(1-new/base)};t=f'Contributions 4, 2 and 1 mm combine as √(16+4+1)={base:.4g} mm. Halving contributor {p} gives {new:.4g} mm, a {100*(1-new/base):.3g}% cut. '+('Squaring makes the largest term dominate, so this is the effort that pays.' if p==1 else 'Squaring makes the 4 mm term dominate, so effort spent here barely moves the total.')\n",
    "    elif d==5:\n",
    "        from math import lgamma\n",
    "        def tcdf(x,v):\n",
    "            z=np.linspace(0,x,4001);pdf=np.exp(lgamma((v+1)/2)-lgamma(v/2)-.5*math.log(v*math.pi)-(v+1)/2*np.log1p(z*z/v));return .5+float(np.sum((pdf[1:]+pdf[:-1])/2*np.diff(z)))\n",
    "        nus=np.array([2,3,4,5,6,8,10,15,20,30,50,100]);cov=[100*(2*tcdf(2,v)-1) for v in nus];fig,ax=canvas('Effective degrees of freedom ν','Coverage of ±2u (%)','k=2 means about 95% only with enough data');ax.semilogx(nus,cov,'o-',label='Student t coverage of ±2u');ax.axhline(95.45,color='gray',linestyle='dashed',label='Normal limit 95.45%');c=100*(2*tcdf(2,p)-1);ax.scatter([p],[c],s=80,color='#a26913',zorder=3,label=f'Selected ν={p}')\n",
    "        kneed=2.;lo,hi=1.9,20.\n",
    "        for _ in range(50):\n",
    "            mid=(lo+hi)/2;lo,hi=(mid,hi) if 2*tcdf(mid,p)-1<.9545 else (lo,mid)\n",
    "        kneed=(lo+hi)/2;m={'Degrees of freedom':p,'Coverage of ±2u (%)':c,'Factor needed for 95.45% coverage':kneed};t=f'With ν={p} effective degrees of freedom, the interval ±2u covers about {c:.3g}% of a Student t distribution. Reaching the normal 95.45% would need k≈{kneed:.3g}. '+('With only a few readings, k=2 badly overstates the confidence.' if p<5 else ('The shortfall is now small, but report ν so a reader can check it.' if p<30 else 'With this much data, k=2 is close to its nominal 95% meaning.'))\n",
    "\n",
    "#### chapter_17\n",
    "    return result(fig,ax,m,t)\n",
    "\n",
    "\n",
    "def chapter_17(d,p):\n",
    "    if d==1:\n",
    "        r=np.linspace(0,.2,201);npv=400/(1+r)+400/(1+r)**2+400/(1+r)**3-1000;fig,ax=canvas('Annual discount rate','NPV (hypothetical currency units)','The discount rate can reverse a decision');ax.plot(r,npv);ax.axhline(0,color='gray');a=sum(400/(1+p)**k for k in (1,2,3))-1000;ax.scatter([p],[a]);m={'Initial cost':1000,'Three year-end payments':400,'Assumed annual rate':p,'NPV':a};t=f'Three year-end payments of 400 against cost 1000 have NPV {a:.6g} at assumed rate {100*p:g}%, so the project '+('passes' if a>0 else 'fails')+' the positive-NPV screen (the break-even rate is about 9.7%). These hypothetical cash flows illustrate timing, not a current investment recommendation.'\n",
    "    elif d==2:\n",
    "        x=np.linspace(0,.8,201);fig,ax=canvas('Fractional loss','Required fractional recovery','Loss and recovery use different bases');ax.plot(x,x/(1-x));m={'Loss fraction':p,'Required gain fraction':p/(1-p)};t=f'A {100*p:g}% loss leaves {100*(1-p):g}% of the original value. Recovering requires {100*p/(1-p):.6g}% of the reduced base.'\n",
    "    elif d==3:\n",
    "        periods=np.arange(1,13);effective=(1+.12/periods)**periods-1;fig,ax=canvas('Compounding periods per year','Effective annual rate','Quoted annual rates need a convention');ax.plot(periods,effective,'o-');m={'Nominal annual rate':.12,'Periods per year':p,'Effective annual rate':(1+.12/p)**p-1};t=f'A nominal annual rate of 12% compounded '+('once' if p==1 else f'{p:g} times')+f' per year gives effective annual rate {100*((1+.12/p)**p-1):.6g}%. Compare rates only after matching the convention.'\n",
    "    elif d==4:\n",
    "        r=np.linspace(1,25,200);fig,ax=canvas('Annual return r (%)','Rule of 72 minus exact (years)','Where the rule of 72 is right');ax.plot(r,72/r-np.log(2)/np.log(1+r/100),label='72/r minus exact ln2/ln(1+r/100)');ax.axhline(0,color='gray',lw=.8);ex=math.log(2)/math.log(1+p/100);ax.scatter([p],[72/p-ex],color='#a26913',zorder=3);ax.axvline(p,color='#a26913',linestyle=':',label='Selected rate');m={'Annual return (%)':p,'Exact doubling time (years)':ex,'Rule of 72 (years)':72/p,'Rule error (years)':72/p-ex};t=f'At {p:g}% a year, money doubles in {ex:.3g} years; the rule says {72/p:.3g}. '+('The shortcut is within a few days here, good enough for mental math.' if abs(72/p-ex)<.1 else ('At low rates the rule runs about a year long; 70/r is closer.' if p<5 else 'At high rates the rule runs short; use the exact formula when the answer matters.'))\n",
    "    elif d==5:\n",
    "        g=np.linspace(0,.0475,300);fig,ax=canvas('Growth rate g (%)','Value of growing perpetuity','Value explodes as growth approaches the discount rate');ax.plot(100*g,100/(.05-g),label='V = 100/(r−g), r=5%');ax.axvline(5,color='gray',linestyle='dashed',label='g = r: formula breaks');v=100/(.05-p);v2=100/(.05-p-.0025);ax.scatter([100*p],[v],s=80,color='#a26913',zorder=3,label=f'Selected g={100*p:g}%');ax.set_xlim(0,5.2);m={'Discount rate r (%)':5,'Growth rate g (%)':100*p,'Value (next payment 100)':v,'Value if g is 0.25 point higher':v2,'Change from that 0.25 point (%)':100*(v2/v-1)};t=f'With next payment 100, r=5% and g={100*p:g}%, the value is 100/(r−g)={v:,.0f}. Raising g by a quarter of a percentage point changes the value by {100*(v2/v-1):.3g}%. '+('With a 4 point spread between r and g, the estimate is fairly robust.' if p<.02 else ('Compared with g=1%, halving the spread to 2 points doubles the value and makes it about twice as sensitive to g.' if p<.04 else 'With only half a point of spread, a tiny change in assumed growth doubles the value, so the number is mostly a guess about g. At g≥r the formula gives no finite value at all.'))\n",
    "\n",
    "#### chapter_19\n",
    "    return result(fig,ax,m,t)\n",
    "\n",
    "\n",
    "def chapter_18(d,p):\n",
    "    if d==1:\n",
    "        # Lumped model diagnostic; properties explicitly assumed.\n",
    "        r=np.logspace(-4,-1,100);k=200;h=p;bi=h*r/(3*k);fig,ax=canvas('Sphere radius (m)','Biot number','Screen a lumped thermal approximation');ax.loglog(r,bi,label='Biot number');ax.axhline(.1,linestyle='--',label='Common small-Bi screen');ax.axvline(.01,color='#a26913',linestyle=':',label='Selected radius .01 m');b=h*.01/(3*k);tau=2700*900*.01/(3*h);m={'Radius (m)':.01,'Conductivity (W/m/K)':k,'Density (kg/m³)':2700,'Specific heat (J/kg/K)':900,'Heat transfer h (W/m²/K)':h,'Biot number':b,'Screen Bi < .1 passed':b<.1,'Lumped time constant (s)':tau};t=f'Lc=r/3 gives Bi={b:.6g}. '+(f'The screen passes, so the lumped time constant τ=ρcLc/h={tau:.6g} s is a reasonable estimate under assumed aluminium-like properties.' if b<.1 else f'This fails the .1 screen: internal gradients matter, so the lumped τ={tau:.6g} s should not be trusted; use a conduction model.')+' The .1 screen is a rule of thumb; it does not validate real material properties or external heat transfer.'\n",
    "    elif d==2:\n",
    "        length=np.logspace(-3,0,100);diff=length**2/.01;adv=length/p;fig,ax=canvas('Length L (m)','Transport time (s)','Compare diffusion and advection scales');ax.loglog(length,diff,label='Diffusion L²/D');ax.loglog(length,adv,label='Advection L/U');ax.axvline(.1,color='#a26913',linestyle=':',label='L=.1 m (reported)');m={'Speed U (m/s)':p,'Diffusivity D (m²/s)':.01,'Peclet at L=.1m':p*.1/.01,'Equal-time length (m)':.01/p};t=f'At L=.1 m, Pe=UL/D={10*p:g}. '+('Diffusion is faster here, so spreading dominates.' if p*10<1 else ('Flow and diffusion take equal time here.' if p*10==1 else 'Flow carries material across before it diffuses, so advection dominates.'))+' Boundaries and geometry still shape the details.'\n",
    "    elif d==3:\n",
    "        speed=np.logspace(-3,1,100);re=1000*speed*.01/.001;fig,ax=canvas('Speed U (m/s)','Reynolds number','A dimensionless ratio compares inertia and viscosity');ax.loglog(speed,re);m={'Density (kg/m³)':1000,'Length (m)':.01,'Dynamic viscosity (Pa s)':.001,'Selected Reynolds number':10000*p};t=f'With the disclosed density, viscosity and length, U={p:g} m/s gives Re={10000*p:g}. '+('Viscosity dominates, so the flow is smooth and orderly.' if p<.01 else ('Inertia outweighs viscosity, yet many flows are still smooth at this size; pipe flow, for example, usually stays laminar below about 2000.' if p<.5 else 'Inertia dominates; turbulence is likely in most geometries.'))+' The exact switch point depends on geometry, so no single cutoff fits every flow.'\n",
    "    elif d==4:\n",
    "        a=1e-5;L=np.linspace(.002,.05,200);fig,ax=canvas('Slab thickness L (cm)','Diffusion time L²/α (s)','Double the thickness, quadruple the wait');ax.plot(100*L,L*L/a,label='t = L²/α, α=1e-5 m²/s');tt=p*p/a;ax.scatter([100*p],[tt],color='#a26913',zorder=3,label=f'Selected L={100*p:g} cm');m={'Thickness (cm)':100*p,'Thermal diffusivity (m²/s)':a,'Penetration time (s)':tt,'Time vs 2 cm slab':tt/40};t=f'Heat diffuses through {100*p:g} cm in about L²/α={tt:.3g} s (Fourier number 1). '+('Half the thickness takes a quarter of the time.' if p<.02 else ('This is the reference slab.' if p==.02 else 'Twice the thickness takes four times as long, not twice.'))+' Time grows with the square of distance because diffusion is a random walk.'\n",
    "    return result(fig,ax,m,t)\n",
    "\n",
    "\n",
    "def chapter_19(d,p):\n",
    "    if d==1:\n",
    "        state=np.array([2.,2.]);values=[];norms=[]\n",
    "        for _ in range(31):\n",
    "            values.append(.5*(state[0]**2+10*state[1]**2));norms.append(np.linalg.norm([state[0],10*state[1]]));state-=p*np.array([state[0],10*state[1]])\n",
    "        fig,ax=canvas('Iteration','Objective','A step can shrink or amplify the stiff direction');ax.semilogy(range(31),np.maximum(values,1e-18));m={'Step size':p,'Initial objective':values[0],'Objective after 30 steps':values[-1],'Final gradient norm':norms[-1]};t=f'For f=(x²+10y²)/2 the largest Hessian eigenvalue is 10. Step {p:g} '+((('is exactly 1/L, the safe default: it wipes out the stiff y-direction in one step, and x then shrinks by 0.9 per step.' if p==.1 else 'contracts both directions, but the slow x-direction shrinks by only 0.95 per step.') if 0<p<.2 else 'is beyond the stability limit 2/L=0.2: the y-direction multiplies by 1−10α=−1.5 each step, so a small-looking step diverges.'))\n",
    "    elif d==2:\n",
    "        raw=np.array([p,p+1,p+2]);shift=raw-raw.max();soft=np.exp(shift)/np.exp(shift).sum();fig,ax=canvas('Logit index','Probability','Softmax is invariant to a common shift');ax.bar(range(3),soft);ax.set_xticks(range(3));m={'Common offset':p,'Stable log-sum-exp':raw.max()+math.log(np.exp(shift).sum()),'Probabilities':', '.join(f'{a:.6g}' for a in soft)};t='Subtracting the maximum protects exponentiation. Adding a common offset changes log-sum-exp by that offset but leaves softmax probabilities unchanged; direct exp(1000) would overflow.'\n",
    "    elif d==3:\n",
    "        x=np.linspace(0,2,101);f=(x+1)**2;fig,ax=canvas('Feasible x≥0','Objective (x+1)²','A constrained optimum need not have zero gradient');ax.plot(x,f);mapping=(p-max(0,p-2*(p+1)));m={'Selected feasible x':p,'Raw gradient':2*(p+1),'Projected-gradient mapping (step=1)':mapping};t=f'At x={p:g}, raw gradient is {2*(p+1):g}, while the projected-gradient mapping is {mapping:g}. At the boundary optimum x=0 the raw gradient remains 2; feasible descent is what matters.'\n",
    "    elif d==4:\n",
    "        k=np.arange(0,1501);fig,ax=canvas('Iteration','Error (relative to start)','Condition number sets the pace');[ax.semilogy(k,(1-1/q)**k,lw=2.5 if q==p else 1,alpha=1 if q==p else .4,label=f'κ={q}'+(' (selected)' if q==p else '')) for q in (2,10,100)];ax.axhline(1e-6,color='gray',linestyle='dashed',label='Target 1e-6');ax.set_ylim(1e-8,2);integer_ticks(ax);n=math.ceil(math.log(1e-6)/math.log(1-1/p));m={'Condition number κ':p,'Error factor per step':1-1/p,'Steps to reach 1e-6':n};t=f'With step 1/L on a quadratic with κ={p}, the slow direction shrinks by 1−1/κ={1-1/p:.3g} each step, so reaching 1e-6 takes {n} steps. '+('Well conditioned: fast.' if p<5 else 'Each tenfold rise in κ costs about tenfold more steps; rescaling variables can be cheaper than iterating.')\n",
    "    elif d==5:\n",
    "        rng=np.random.default_rng(1915);x=5.;xs=[]\n",
    "        for _ in range(20000):\n",
    "            x-=p*(x+rng.normal());xs.append(x)\n",
    "        xs=np.array(xs);k=np.arange(1,20001);fig,ax=canvas('Iteration (log scale)','Squared distance from optimum x²','A constant step stalls at a noise floor');ax.loglog(k,np.maximum(xs**2,1e-12),lw=.5,alpha=.25,label='Each iterate');w=200;ax.loglog(k[w-1:],np.convolve(xs**2,np.ones(w)/w,mode='valid'),lw=2,label=f'Average over {w} steps');floor=p/(2-p);ax.axhline(floor,color='#a26913',linestyle='dashed',label=f'Predicted floor α/(2−α)={floor:.3g}');ax.set_ylim(1e-6,50);tail=float(np.mean(xs[10000:]**2));m={'Step α':p,'Gradient noise SD':1,'Predicted mean-square floor':floor,'Observed mean square (last 10000 steps)':tail,'Seed':1915};t=f'Minimizing x²/2 with gradient noise of SD 1 and constant step {p:g}, the iterate stops improving at mean square {tail:.3g}, close to the predicted floor α/(2−α)={floor:.3g}. '+('A small step gives a low floor but takes many iterations to get there.' if p<.05 else ('A larger step gets there fast but jitters more.' if p<.3 else 'This big step reaches the floor almost at once, but the floor is high.'))+' To go lower, shrink the step over time or average the iterates; more iterations at a fixed step will not help.'\n",
    "\n",
    "#### chapter_20\n",
    "    return result(fig,ax,m,t)\n",
    "\n",
    "\n",
    "def chapter_20(d,p):\n",
    "    if d==1:\n",
    "        lo,hi=1.,2.;widths=[];mids=[]\n",
    "        for _ in range(p):\n",
    "            mid=(lo+hi)/2\n",
    "            if mid*mid<2:lo=mid\n",
    "            else:hi=mid\n",
    "            widths.append(hi-lo);mids.append((lo+hi)/2)\n",
    "        value=(lo+hi)/2;fig,ax=canvas('Halvings','Midpoint error','Bisection buys one bit per step');ax.semilogy(range(1,p+1),np.array(widths)/2,label='Certified ceiling (width/2)');ax.semilogy(range(1,p+1),np.abs(np.array(mids)-math.sqrt(2)),marker='o',linestyle='dashed',label='Actual midpoint error');integer_ticks(ax);m={'Halvings':p,'Midpoint':value,'Actual error':abs(value-math.sqrt(2)),'Certified error ceiling':(hi-lo)/2};t=f'{p:g} halvings reduce a width-one bracket to {hi-lo:.6g}. Continuity and a valid root bracket give the midpoint error ceiling {(hi-lo)/2:.6g}.'\n",
    "    elif d==2:\n",
    "        h=np.logspace(-16,-1,160);forward=(np.exp(1+h)-math.e)/h;center=(np.exp(1+h)-np.exp(1-h))/(2*h);fig,ax=canvas('Difference step h','Absolute derivative error','Truncation and rounding compete');ax.loglog(h,np.maximum(abs(forward-math.e),1e-18),label='Forward difference');ax.loglog(h,np.maximum(abs(center-math.e),1e-18),label='Centered difference');ax.axvline(p,color='#a26913',label=f'Selected h={p:g}');m={'Step h':p,'Forward error':abs((math.exp(1+p)-math.e)/p-math.e),'Centered error':abs((math.exp(1+p)-math.exp(1-p))/(2*p)-math.e)};fe=abs((math.exp(1+p)-math.e)/p-math.e);ce=abs((math.exp(1+p)-math.exp(1-p))/(2*p)-math.e);regime=lambda opt:'truncation dominates, so a smaller step still helps' if p>opt*10 else ('rounding dominates, so a smaller step makes it worse' if p<opt/10 else 'it is near its best step')\n",
    "        t=f'At h={p:g}, forward difference: {regime(1.5e-8)}; centered difference: {regime(6e-6)}. Optimal step scales depend on precision, derivative size and function implementation, not a universally best constant.'\n",
    "    elif d==3:\n",
    "        ns=2**np.arange(1,9);errors=[]\n",
    "        for n in ns:\n",
    "            x=np.linspace(0,1,n+1);y=np.exp(x);estimate=(y[0]/2+y[-1]/2+y[1:-1].sum())/n;errors.append(abs(estimate-(math.e-1)))\n",
    "        fig,ax=canvas('Subinterval count','Integral absolute error','Refinement reveals trapezoid order');ax.loglog(ns,errors,'o-',label='Computed trapezoid error');ax.loglog(ns,errors[0]*(ns[0]/ns)**2,'--',label='Second-order comparison');i=list(ns).index(p);m={'Subintervals':p,'Absolute error':errors[i],'Error ratio when n doubles (previous / selected)':errors[i-1]/errors[i] if i else 'No previous mesh'};t='The smooth integral of exp(x) on [0,1] is e−1. Doubling the subinterval count decreases trapezoid error by about four; nonsmooth integrands need separate analysis.'\n",
    "    elif d==4:\n",
    "        f=lambda x:1/(1+25*x*x);xx=np.linspace(-1,1,2001)\n",
    "        def interp(nodes):\n",
    "            return np.polyval(np.polyfit(nodes,f(nodes),p),xx)\n",
    "        eq=np.linspace(-1,1,p+1);ch=np.cos((2*np.arange(p+1)+1)*np.pi/(2*p+2));ye=interp(eq);yc=interp(ch);fig,ax=canvas('x','y','Equal spacing explodes near the ends');ax.plot(xx,f(xx),'k',label='True 1/(1+25x²)');ax.plot(xx,ye,label=f'Equispaced, degree {p}');ax.plot(xx,yc,linestyle='dashed',label=f'Chebyshev nodes, degree {p}');ax.set_ylim(-1.5,2);ee=float(abs(ye-f(xx)).max());ec=float(abs(yc-f(xx)).max());m={'Degree':p,'Max error, equispaced':ee,'Max error, Chebyshev':ec};t=f'Degree {p}: worst error {ee:.3g} with equal spacing, {ec:.3g} with Chebyshev nodes. '+('Raising the degree makes equal spacing worse while Chebyshev keeps improving.' if ee>ec*3 else 'At low degree both are rough; the gap opens as degree rises.')\n",
    "    elif d==5:\n",
    "        tiny=1e-16;checks=sorted(set(np.unique(np.logspace(1,math.log10(p),40).astype(int))));naive=1.;s=1.;comp=0.;en=[];ek=[];k=0\n",
    "        for target in checks:\n",
    "            while k<target:\n",
    "                naive+=tiny;y=tiny-comp;tt=s+y;comp=(tt-s)-y;s=tt;k+=1\n",
    "            en.append((naive-1)/(target*tiny));ek.append((s-1)/(target*tiny))\n",
    "        fig,ax=canvas('Number of 1e-16 terms added','Share of the small total that survives','A long sum can lose every small term');ax.semilogx(checks,en,label='Plain running sum');ax.semilogx(checks,ek,linestyle='dashed',label='Compensated (Kahan) sum');ax.axhline(1,color='gray',linestyle=':',label='Exact');ax.set_ylim(-.1,1.2);m={'Tiny terms added':f'{p:,}','Exact sum minus 1':p*tiny,'Plain sum minus 1':naive-1,'Kahan sum minus 1':s-1};t=f'Start at 1 and add {p:,} copies of 1e-16. The exact total grows by {p*tiny:.3g}, but each 1e-16 is below half the spacing of doubles near 1, so the plain sum rounds every one away and stays exactly 1. The compensated sum carries the lost bits forward and gets {s-1:.4g}. '+f'The plain total is off by {p*tiny:.1g} in relative terms, and the gap grows with every term; Kahan stays at rounding level.'\n",
    "    return result(fig,ax,m,t)\n",
    "\n",
    "\n",
    "def chapter_21(d,p):\n",
    "    if d==1:\n",
    "        x=np.logspace(-16,-1,151);err=abs(np.log(1+x)-np.log1p(x))/np.log1p(x);fig,ax=canvas('x','Relative difference from log1p','Stable elementary functions preserve small inputs');ax.loglog(x,np.maximum(err,1e-18));ax.axvline(p,color='#a26913');m={'Direct log(1+x)':math.log(1+p),'Stable log1p(x)':math.log1p(p)};t=f'At x={p:g}, '+('1+x rounds to exactly one, so log(1+x) returns zero.' if 1+p==1 else f'1+x keeps only part of x, so log(1+x) has relative error {abs(math.log(1+p)-math.log1p(p))/math.log1p(p):.2g}.')+' log1p never forms 1+x, so it keeps every digit of x. Use it whenever x can be tiny, such as a daily interest rate or a small probability.'\n",
    "    elif d==2:\n",
    "        processors=np.arange(1,65);speed=1/(p+(1-p)/processors);fig,ax=canvas('Processors','Ideal speedup (times one processor)','The serial fraction sets a ceiling');ax.plot(processors,speed);ax.axhline(1/p,linestyle='--',label='Infinite-processor ceiling');m={'Serial fraction':p,'Ideal eight-processor speedup':1/(p+(1-p)/8),'Ideal ceiling':1/p};t=f'Serial fraction {p:g} limits ideal speedup to {1/p:g}. Communication, bandwidth and scheduling can reduce actual speedup further. This is a bound calculation, not a benchmark. Eight processors give at most {1/(p+(1-p)/8):.3g} times the one-processor speed, so shrink the serial part before buying hardware.'\n",
    "    elif d==3:\n",
    "        cost=10.;opt=math.sqrt(2*cost*p);interval=np.logspace(math.log10(opt/10),math.log10(opt*10),301);loss=cost/interval+interval/(2*p);opt=math.sqrt(2*cost*p);fig,ax=canvas('Checkpoint interval (s)','Approximate lost-time fraction','Checkpoint overhead competes with lost work');ax.semilogx(interval,loss);ax.set_ylim(0,min(loss.max(),6*(cost/opt+opt/(2*p))));ax.axvline(opt,color='#a26913',label='Approximate optimum');m={'Checkpoint cost (s)':cost,'Mean failure interval (s)':p,'Approximate optimum (s)':opt,'Approximate minimum loss fraction':cost/opt+opt/(2*p)};t=f'The leading model C/T+T/(2M) balances checkpoint cost C=10 s with assumed mean failure interval M={p:g} s. Its optimum is {opt:.6g} s; recovery cost and nonmemoryless failures require a richer model.'\n",
    "    elif d==4:\n",
    "        rng=np.random.default_rng(21);x=rng.standard_normal(100000)*10.**rng.uniform(-4,4,100000);exact=math.fsum(x);chunked=lambda k:float(sum(np.cumsum(c)[-1] for c in np.array_split(x,k)));ulp=math.ulp(exact);ks=2**np.arange(0,11);errs=[abs(chunked(k)-exact)/ulp for k in ks]\n",
    "        fig,ax=canvas('Number of partial sums (threads)','Error vs exact sum (units in last place)','Reordering a sum changes the low bits');ax.semilogx(ks,errs,'o-',base=2,label='Chunked sum error');ax.axvline(p,color='#a26913',linestyle=':',label='Selected input');own=abs(chunked(p)-exact)\n",
    "        m={'Values summed':len(x),'Partial sums':p,'Error (last-place units)':own/ulp,'Serial one-sum error (last-place units)':errs[0],'Relative error':own/abs(exact)}\n",
    "        t=f'Splitting 100,000 numbers into {p} partial sums gives {chunked(p):.17g}; the exact sum is {exact:.17g}. '+('They agree to every stored bit here, but only by luck of this ordering. ' if own==0 else f'They differ by {own/ulp:.3g} units in the last place, a relative error of {own/abs(exact):.1g}. ')+f'A plain serial loop is off by {errs[0]:.3g} units in the last place. Each thread count adds in a different order, and floating addition is not associative. So a parallel run can disagree with a serial run in the last digits without either one being wrong. Compare results with a tolerance, not with ==.'\n",
    "    elif d==5:\n",
    "        peak=1000.;bw=100.;ridge=peak/bw;I=np.logspace(-2,3,300);roof=np.minimum(peak,bw*I);att=min(peak,bw*p);fig,ax=canvas('Arithmetic intensity (FLOPs per byte)','Attainable speed (GFLOP/s)','Roofline: memory or arithmetic sets the ceiling');ax.loglog(I,roof,'k',label='Roofline: min(peak, bandwidth × intensity)');ax.axvline(ridge,color='k',lw=.8,linestyle='dashed',label=f'Ridge point {ridge:g} FLOPs/byte');ax.plot([p],[att],'o',ms=9,color='#a26913',label='Selected kernel')\n",
    "        m={'Arithmetic intensity (FLOPs/byte)':p,'Peak arithmetic (GFLOP/s)':peak,'Memory bandwidth (GB/s)':bw,'Ridge point (FLOPs/byte)':ridge,'Attainable ceiling (GFLOP/s)':att,'Share of peak (%)':100*att/peak,'Limited by':'memory bandwidth' if p<ridge else 'arithmetic'}\n",
    "        t=f'At {p:g} FLOPs per byte the kernel can reach at most {att:.4g} GFLOP/s, {100*att/peak:.3g}% of the arithmetic peak. '+(f'It sits left of the ridge at {ridge:g}, so memory bandwidth is the limit: faster arithmetic units would not help. Reuse data (blocking, fusion) to move right.' if p<ridge else f'It sits right of the ridge at {ridge:g}, so arithmetic is the limit: now vectorizing or better instructions pay off, while more bandwidth would not.')+' The roofline is a ceiling, not a prediction; measure the kernel against it.'\n",
    "    return result(fig,ax,m,t)\n",
    "\n",
    "\n",
    "def chapter_22(d,p):\n",
    "    if d==1:\n",
    "        n=math.ceil(1/p);t=np.arange(n+1)*p;y=(1-10*p)**np.arange(n+1);fig,ax=canvas('Time (s)','State y','Actually integrate decay with explicit Euler');ax.plot(t,y,'o-',label='Euler');dense=np.linspace(0,t[-1],400);ax.plot(dense,np.exp(-10*dense),label='Exact exp(−10t)');g=1-10*p;m={'Step (s)':p,'Amplification factor':g,'Stable (|factor| ≤ 1)':abs(g)<=1,'Last simulated time':t[-1],'Last absolute error':abs(y[-1]-math.exp(-10*t[-1]))};t=f'Euler multiplies the state by {g:g} per step. '+('|factor|>1, so this step is unstable: the numerical solution grows while the true solution decays.' if abs(g)>1 else ('The factor is negative, so the stable trajectory oscillates in sign; stability does not guarantee accuracy.' if g<0 else 'The positive factor below one gives a stable, monotone decay.'))\n",
    "    elif d==2:\n",
    "        hs=1/2**np.arange(1,8);errors=[]\n",
    "        for h in hs:\n",
    "            y=1.;z=-h;factor=1+z+z*z/2+z**3/6+z**4/24\n",
    "            for _ in range(round(1/h)):y*=factor\n",
    "            errors.append(abs(y-math.exp(-1)))\n",
    "        i=list(hs).index(p);fig,ax=canvas('Step size h','Endpoint error at t=1','Halving the step cuts RK4 error about sixteenfold');ax.loglog(hs,errors,'o-',label='Computed RK4 error');ax.loglog(hs,errors[-1]*(hs/hs[-1])**4,'--',label='Fourth-order comparison');m={'Selected step':p,'Endpoint absolute error':errors[i],'Coarser / selected error':errors[i-1]/errors[i] if i else 'No coarser step'};t='These trajectories solve y′=−y, y(0)=1 to t=1. Halving h approaches a factor-of-sixteen global error reduction. Roundoff eventually limits such a trend.'\n",
    "    elif d==3:\n",
    "        h=p;n=round(40/h);t=np.arange(n+1)*h;qe=1.;pe=0.;qs=1.;ps=0.;ee=[];es=[]\n",
    "        for _ in t:\n",
    "            ee.append((qe*qe+pe*pe)/2);es.append((qs*qs+ps*ps)/2);qe,pe=qe+h*pe,pe-h*qe;ps-=h*qs;qs+=h*ps\n",
    "        fig,ax=canvas('Time','Oscillator energy','An invariant reveals integration drift');ax.plot(t,ee,label='Explicit Euler');ax.plot(t,es,label='Symplectic Euler');ax.axhline(.5,linestyle='--',label='Exact energy');m={'Step':h,'Explicit final energy':ee[-1],'Symplectic final energy':es[-1]};t=f'The normalized oscillator q′=p, p′=−q has exact energy .5. Explicit Euler gains energy every step and ends at {ee[-1]:.4g}, about {ee[-1]/.5:,.0f} times too much. Symplectic Euler stays within {max(abs(np.array(es)-.5)):.2g} of .5. That bounded error is why long orbit and molecule runs use symplectic methods. It still does not prove the timing (phase) is right.'\n",
    "    elif d==4:\n",
    "        h=.025;n=round(2/h);ts=np.arange(n+1)*h;ye=[0.];yi=[0.]\n",
    "        for k in range(n):ye.append(ye[-1]+h*(-p*(ye[-1]-math.cos(ts[k]))));yi.append((yi[-1]+h*p*math.cos(ts[k+1]))/(1+h*p))\n",
    "        ye=np.array(ye);yi=np.array(yi);dense=np.linspace(0,2,400);ref=lambda s:(p*p*np.cos(s)+p*np.sin(s)-p*p*np.exp(-p*s))/(p*p+1)\n",
    "        fig,ax=canvas('Time (s)','State y',f'Stiffness: decay rate λ={p:g} per second, step h={h} s');ax.plot(dense,ref(dense),'k',lw=1,label='Exact solution');ax.plot(ts,np.clip(ye,-3,3),'o-',ms=3,label='Explicit Euler (clipped at ±3)');ax.plot(ts,yi,'s-',ms=3,label='Implicit (backward) Euler');ax.set_ylim(-3,3)\n",
    "        g=1-h*p;m={'Decay rate λ (1/s)':p,'Step h (s)':h,'Explicit factor 1−hλ':g,'Explicit stable step limit 2/λ (s)':2/p,'Explicit steps needed on [0,2]':math.ceil(2/(2/p)),'Explicit max error':float(abs(ye-ref(ts)).max()),'Implicit max error':float(abs(yi-ref(ts)).max())}\n",
    "        t=f'The solution just follows cos t, which a step of {h} s resolves easily. Explicit Euler, though, needs h below 2/λ={2/p:.3g} s to stay stable. '+(f'At λ={p:g} that limit is loose, so both methods track the curve.' if abs(g)<=1 and g>=0 else (f'At λ={p:g} the step is stable but the factor {g:g} is negative, so explicit Euler overshoots and zigzags around the true curve for the first few steps, until repeated factors of −0.5 die out; implicit Euler does not.' if abs(g)<=1 else f'At λ={p:g} the factor is {g:g}, so explicit Euler explodes even though the true curve is smooth. That is stiffness: stability, not accuracy, forces about {math.ceil(p):d} tiny steps. An implicit method takes the large step safely.'))\n",
    "    elif d==5:\n",
    "        h=2*math.pi/p;n=10*p;q=1.;v=0.;qs=[q]\n",
    "        f=lambda q,v:(v,-q)\n",
    "        for _ in range(n):\n",
    "            k1=f(q,v);k2=f(q+h/2*k1[0],v+h/2*k1[1]);k3=f(q+h/2*k2[0],v+h/2*k2[1]);k4=f(q+h*k3[0],v+h*k3[1]);q,v=q+h/6*(k1[0]+2*k2[0]+2*k3[0]+k4[0]),v+h/6*(k1[1]+2*k2[1]+2*k3[1]+k4[1]);qs.append(q)\n",
    "        ts=np.arange(n+1)*h;amp=math.hypot(q,v);ph=math.degrees(math.atan2(-v,q));ph=(ph+180)%360-180\n",
    "        fig,ax=canvas('Time (periods)','Position q',f'RK4 with {p} steps per period, after 10 periods');dense=np.linspace(0,ts[-1],2000);ax.plot(dense/(2*math.pi),np.cos(dense),'k',lw=1,label='Exact cos t');ax.plot(ts/(2*math.pi),qs,'o-',ms=3,label='RK4 steps');ax.set_xlim(8,10)\n",
    "        m={'Steps per period':p,'Step h':h,'Amplitude after 10 periods':amp,'Amplitude loss (%)':100*(1-amp),'Phase error after 10 periods (degrees)':ph}\n",
    "        t=f'With {p} steps per period, after 10 periods RK4 keeps {100*amp:.4g}% of the amplitude and is {abs(ph):.3g}° off in phase. '+('That is far too coarse: the steps barely sketch the wave, and the amplitude has visibly decayed.' if p<6 else ('That is usable for a few periods, but the errors grow every cycle, so long runs need more steps.' if 100*(1-amp)>.1 or abs(ph)>1 else 'The steps sit on the exact curve; at this resolution RK4 error is far below what the plot can show.'))+' Count steps per shortest period before trusting any oscillation.'\n",
    "    return result(fig,ax,m,t)\n",
    "\n",
    "\n",
    "def diffusion_solution(n,ratio,end=.02):\n",
    "    x=np.linspace(0,1,n+1);dx=1/n;steps=math.ceil(end/(ratio*dx*dx));dt=end/steps;u=np.sin(np.pi*x);u[0]=u[-1]=0\n",
    "    for _ in range(steps):\n",
    "        v=u.copy();v[1:-1]=u[1:-1]+dt/dx**2*(u[:-2]-2*u[1:-1]+u[2:]);u=v\n",
    "    exact=np.exp(-np.pi**2*end)*np.sin(np.pi*x)\n",
    "    return x,u,exact,dt/dx**2,float(np.sqrt(np.mean((u-exact)**2)))\n",
    "\n",
    "\n",
    "def chapter_23(d,p):\n",
    "    if d==1:\n",
    "        n=80;dx=1/n;x=np.arange(n)*dx;initial=np.exp(-((x-.3)/.07)**2);u=initial.copy();steps=20\n",
    "        for _ in range(steps):u=u-p*(u-np.roll(u,1))\n",
    "        shift=steps*p*dx;wrapped=(x-shift-.3+.5)%1-.5;exact=np.exp(-(wrapped/.07)**2);fig,ax=canvas('Periodic x','Transported value','Upwind transport evolves an actual profile');ax.plot(x,exact,label='Shifted analytic profile');ax.plot(x,u,'o-',markersize=2,label='Upwind');m={'Courant number':p,'Steps':steps,'Initial discrete mass':float(initial.sum()*dx),'Final discrete mass':float(u.sum()*dx),'Minimum value':float(u.min())};t=f'The upwind scheme conserves total mass exactly: whatever leaves one cell enters its neighbor. At CFL={p:g}, '+('numerical diffusion spreads and lowers the peak; at CFL=1 the scheme would be an exact grid shift.' if p<1 else 'upwind is an exact grid shift: each step moves the profile one cell, matching the analytic curve.' if p==1 else 'the monotone stability condition fails; conserved mass alone does not establish a usable solution.')\n",
    "    elif d==2:\n",
    "        x,u,exact,ratio,error=diffusion_solution(40,p);fig,ax=canvas('Rod position x','Normalized temperature','Compare computed diffusion with an exact solution');ax.plot(x,exact,label='Exact sine decay');ax.plot(x,u,'o-',markersize=3,label='Explicit finite difference');m={'Grid intervals':40,'Actual dt/dx²':ratio,'RMS error at t=.02':error,'Maximum magnitude':float(abs(u).max())};t=f'Zero endpoints and a sine initial state provide a known heat solution. The actual ratio is {ratio:.6g}; the scheme is stable only when it is ≤.5.'+(' Above .5 it is unstable, yet this plot still looks fine: the sine start holds almost no jagged high-frequency content for the instability to amplify. Run the same ratio to t=.2 and the RMS error explodes to about 10⁶⁰.' if ratio>.5 else ' At or below .5 every mode decays, so the computed curve stays on the exact one.')\n",
    "    elif d==3:\n",
    "        ns=[10,20,40,80];errors=[diffusion_solution(n,.4)[4] for n in ns];fig,ax=canvas('Grid intervals','RMS solution error','Mesh refinement checks the solver');ax.loglog(ns,errors,'o-',label='Executed heat solves');ax.loglog(ns,errors[0]*(np.array(ns[0])/np.array(ns,dtype=float))**2,'--',label='Second-order comparison');i=ns.index(p);m={'Selected intervals':p,'RMS error':errors[i],'Observed order from previous mesh':math.log(errors[i-1]/errors[i],2) if i else 'No previous mesh'};t='The known sine heat solution checks this finite-difference implementation. Holding dt/dx² near .4 makes temporal error decrease with dx² alongside spatial error. This coupled study does not separately measure time and space orders.'\n",
    "    elif d==4:\n",
    "        N=np.linspace(3,40,300);fig,ax=canvas('Grid cells per wavelength','Numerical / true wave speed','Too few cells make waves travel at the wrong speed',two=True);ax[0].plot(N,np.sin(2*np.pi/N)/(2*np.pi/N),label='Centered second-order derivative');ax[0].axhline(1,color='k',lw=.8,linestyle='dashed',label='Exact speed');ax[0].axvline(p,color='#a26913',linestyle=':',label='Selected input')\n",
    "        r=math.sin(2*math.pi/p)/(2*math.pi/p);x=np.linspace(0,3,600);ax[1].plot(x,np.sin(2*np.pi*(x-5)),'k',label='Exact wave after 5 wavelengths');ax[1].plot(x,np.sin(2*np.pi*(x-5*r)),label='Computed wave');ax[1].set(xlabel='Position (wavelengths)',ylabel='Wave height',title=f'{p} cells per wavelength')\n",
    "        lag=5*(1-r)*360;m={'Cells per wavelength':p,'Speed ratio':r,'Speed error (%)':100*(1-r),'Phase lag after 5 wavelengths (degrees)':lag}\n",
    "        t=f'With {p} cells per wavelength the computed wave moves at {100*r:.3g}% of the true speed. After traveling 5 wavelengths it lags by {lag:.3g}°. '+('The crest is more than a full wavelength behind (because the wave repeats, the plot makes it look slightly ahead): the computed wave is useless.' if lag>360 else ('The speed looks close, yet the crest is now a third of a wavelength late. Ten cells is a floor for short trips, not long ones.' if lag>90 else 'The crest arrives only slightly late, good enough for short runs.'))+' Phase error grows with distance traveled, so long runs need more cells or a higher-order scheme.'\n",
    "    elif d==5:\n",
    "        n=20;dx=1/n;a=1.;D=a*dx/p;x=np.linspace(0,1,n+1);A=np.zeros((n-1,n-1));b=np.zeros(n-1)\n",
    "        lo=-D/dx**2-a/(2*dx);di=2*D/dx**2;up=-D/dx**2+a/(2*dx)\n",
    "        for i in range(n-1):\n",
    "            A[i,i]=di\n",
    "            if i>0:A[i,i-1]=lo\n",
    "            if i<n-2:A[i,i+1]=up\n",
    "        b[-1]=-up*1.;u=np.concatenate([[0.],np.linalg.solve(A,b),[1.]]);xx=np.linspace(0,1,1000);ex=lambda s:np.expm1(a*s/D)/np.expm1(a/D)\n",
    "        fig,ax=canvas('Position x','Transported value u',f'Centered scheme at cell Peclet number {p:g}');ax.plot(xx,ex(xx),'k',lw=1,label='Exact solution');ax.plot(x,u,'o-',ms=4,label='Centered differences, 20 cells');ax.axhline(0,color='#a26913',lw=.8,linestyle='dotted')\n",
    "        m={'Cell Peclet number aΔx/D':p,'Cells':n,'Minimum computed value':float(np.round(u.min(),12))+0.,'Max error':float(abs(u-ex(x)).max())}\n",
    "        t=f'The flow carries u toward x=1, where it must climb from 0 to 1 in a thin layer. At cell Peclet number {p:g}, '+('the centered scheme is monotone and follows the exact curve.' if p<2 else ('the scheme sits exactly on the monotone limit: no wiggles, but the layer is only one cell wide.' if p==2 else f'the layer is thinner than a cell and the centered scheme zigzags, dipping to {u.min():.3g} although the true value never drops below 0.'))+' Keep aΔx/D at or below 2, refine the mesh, or switch to an upwind-biased scheme.'\n",
    "    return result(fig,ax,m,t)\n",
    "\n",
    "\n",
    "def chapter_24(d,p):\n",
    "    if d==1:\n",
    "        fs=1000;n=1000;t=np.arange(n)/fs;y=np.sin(2*np.pi*p*t);freq=np.fft.rfftfreq(n,1/fs);amp=2*abs(np.fft.rfft(y))/n;fig,ax=canvas('Frequency (Hz)','One-sided amplitude','Actually sample and transform a sinusoid');ax.plot(freq,amp);peak=float(freq[np.argmax(amp)]);m={'Sample rate (Hz)':fs,'Input frequency (Hz)':p,'Measured sampled peak (Hz)':peak,'Aliased frequency (Hz)':abs((p+fs/2)%fs-fs/2)};t=f'A constructed {p:g} Hz sine sampled at 1000 Hz produces a peak at {peak:g} Hz. '+(f'{p:g} Hz is above the 500 Hz Nyquist limit (half the sample rate), so it folds down and poses as {abs((p+500)%1000-500):g} Hz. No FFT can undo that after sampling.' if p>500 else f'{p:g} Hz is below the 500 Hz Nyquist limit (half the sample rate), so it appears where it belongs.')\n",
    "    elif d==2:\n",
    "        fs=1000;n=int(fs*p);t=np.arange(n)/fs;y=np.sin(2*np.pi*100*t)+np.sin(2*np.pi*100.2*t);window=np.hanning(n);nfft=8*n;f=np.fft.rfftfreq(nfft,1/fs);amp=2*abs(np.fft.rfft(y*window,nfft))/window.sum();fig,ax=canvas('Frequency (Hz)','Hann-windowed amplitude','Longer records change the two-tone spectrum');ax.plot(f,amp,label='8× padded FFT');ax.axvline(100,color='#a26913',linestyle=':',label='True tones');ax.axvline(100.2,color='#a26913',linestyle=':');ax.set_xlim(99,101.2)\n",
    "        band=(f>99.5)&(f<100.7);fb=f[band];ab=amp[band];peaks=[float(fb[i]) for i in range(1,len(ab)-1) if ab[i]>ab[i-1] and ab[i]>=ab[i+1] and ab[i]>.3*ab.max()];resolved=.2>=4/p\n",
    "        m={'Duration (s)':p,'Hann main-lobe half-width 2/T (Hz)':2/p,'Padded bin spacing (Hz)':fs/nfft,'Tone separation (Hz)':.2,'Spectral peaks found (Hz)':', '.join(f'{a:.4g}' for a in peaks)};t=f'The {p:g}-second record contains tones at 100 and 100.2 Hz (dotted lines). '+(f'The Hann main lobe (half-width {2/p:g} Hz) is wider than the 0.2 Hz separation, so the tones are not resolved. '+('The two peaks shown sit at the wrong frequencies: they come from phase interference, not resolution.' if len(peaks)>1 else 'They merge into one lobe.') if not resolved else 'The main lobes are now narrow enough that the peaks land on the true tone frequencies.')+' Zero padding only refines the plotted grid; duration and window govern resolution.'\n",
    "    elif d==3:\n",
    "        fs=1000;n=256;t=np.arange(n)/fs;y=np.sin(2*np.pi*103.3*t);window=np.ones(n) if p=='rectangular' else np.hanning(n);f=np.fft.rfftfreq(8192,1/fs);amp=2*abs(np.fft.rfft(y*window,8192))/window.sum();fig,ax=canvas('Frequency (Hz)','Amplitude (dB relative to 1)','Windows trade sidelobes against main-lobe width');ax.plot(f,20*np.log10(np.maximum(amp,1e-12)));ax.set(xlim=(50,160),ylim=(-100,5));m={'Window':p,'Samples':n,'Tone (Hz)':103.3,'Window average (amplitude correction)':float(window.mean())};t=('With no window, leakage is still at about −24 dB twenty hertz from the tone. ' if p=='rectangular' else 'The Hann window drops leakage twenty hertz away to about −49 dB, but its central peak is twice as wide. ')+'The tone is not coherent with the 256-sample record. A Hann window reduces distant leakage while widening its main lobe. Dividing by the window sum corrects coherent gain; it does not remove every off-bin amplitude bias.'\n",
    "    elif d==4:\n",
    "        fs=1000;n=3000;t_=np.arange(n)/fs;y=np.sin(2*np.pi*50*t_)+np.sin(2*np.pi*380*t_);fs2=fs/p;nyq=fs2/2\n",
    "        k=np.arange(-100,101);cut=.8*nyq/fs;h=2*cut*np.sinc(2*cut*k)*np.hanning(len(k));h/=h.sum();yf=np.convolve(y,h,mode='same')\n",
    "        fig,ax=canvas('Frequency (Hz)','One-sided amplitude',f'Downsample 1000 Hz by {p}: new Nyquist {nyq:.4g} Hz')\n",
    "        for sig,lab,lw in [(y[::p],'Keep every sample (no filter)',3),(yf[::p],'Low-pass first, then keep',1.2)]:\n",
    "            a=2*abs(np.fft.rfft(sig*np.hanning(len(sig))))/np.hanning(len(sig)).sum();ax.plot(np.fft.rfftfreq(len(sig),1/fs2),a,lw=lw,label=lab)\n",
    "        ax.axvline(50,color='k',linestyle=':',label='Real 50 Hz tone');ax.set_xlim(0,nyq)\n",
    "        al=abs((380+fs2/2)%fs2-fs2/2);m={'Downsampling factor':p,'New sample rate (Hz)':fs2,'New Nyquist (Hz)':nyq,'380 Hz tone appears at (Hz)':al if 380>nyq else 380.}\n",
    "        t=('At factor 1 nothing is thrown away, so both tones appear where they belong: 50 and 380 Hz.' if p==1 else f'The new Nyquist limit is {nyq:.4g} Hz, below the 380 Hz tone. Without a filter that tone folds down to a fake {al:.3g} Hz peak'+(', right beside the real 50 Hz tone, where nobody could tell them apart.' if al<80 else ' that looks just like a real signal.')+' Filtering first removes it, leaving only the true 50 Hz.')+' Once aliasing happens, no later processing can undo it.'\n",
    "    return result(fig,ax,m,t)\n",
    "\n",
    "\n",
    "def chapter_25(d,p):\n",
    "    if d==1:\n",
    "        t=np.linspace(0,2,501);y=1-np.exp(-2*np.pi*p*t);fig,ax=canvas('Time (s)','Unit-step response','A first-order loop connects bandwidth and rise time');ax.plot(t,y);rise=math.log(9)/(2*math.pi*p);m={'Bandwidth (Hz)':p,'Exact 10–90% rise time (s)':rise,'Rule .35 / bandwidth (s)':.35/p};t=f'For this normalized first-order closed-loop model, 10–90% rise time is ln(9)/(2πf)={rise:.6g} s. The .35/f rule agrees closely here, but different pole patterns need separate verification.'\n",
    "    elif d==2:\n",
    "        f=np.logspace(-1,2,200);lag=360*f*p;fig,ax=canvas('Frequency (Hz)','Delay phase lag (degrees)','Latency consumes phase margin');ax.semilogx(f,lag);ax.axvline(5,color='#a26913',label='Assumed crossover 5 Hz');m={'Delay (s)':p,'Lag at 5 Hz (degrees)':1800*p,'Nominal margin (degrees)':60,'Fixed-crossover remaining margin':60-1800*p};t=f'Delay {p:g} s contributes {1800*p:g}° lag at 5 Hz. Subtracting it from a nominal 60° margin leaves {60-1800*p:g}°. '+('A negative margin means the loop would likely oscillate or go unstable: cut the delay or lower the crossover.' if 60-1800*p<0 else ('That is below the usual 45° floor, so expect overshoot and ringing.' if 60-1800*p<45 else 'That is still comfortable.'))+' This fixed-crossover screen is not a full stability proof.'\n",
    "    elif d==3:\n",
    "        dt=.005;t=np.arange(0,12+dt,dt);y=0.;integral=0.;ys=[];us=[];zs=[]\n",
    "        for time in t:\n",
    "            target=2. if time<4 else .5;error=target-y;raw=2*error+integral;u=np.clip(raw,-1,1)\n",
    "            if p=='off' or abs(raw-u)<1e-12 or error*(raw-u)<0:integral+=dt*error\n",
    "            y+=dt*(-y+u);ys.append(y);us.append(u);zs.append(integral)\n",
    "        fig,ax=canvas('Time (s)','Plant output','Saturation exposes integral windup',two=True);ax[0].plot(t,ys,label='Plant output');ax[0].plot(t,np.where(t<4,2.,.5),'--',label='Requested setpoint');ax[1].plot(t,zs,label='Integral state');ax[1].plot(t,us,label='Clipped actuator');ax[1].set(ylabel='Controller states',title=f'Conditional integration: {p}');m={'Anti-windup':p,'Actuator limits':'[−1,1]','Final output':ys[-1],'Integral state just before t=4':zs[round(4/dt)-1]};t='A normalized first-order plant uses PI gains Kp=2, Ki=1 and actuator limits ±1. The setpoint is unreachable for four seconds, then drops to .5. '+(f'With anti-windup off, the integral stores {zs[round(4/dt)-1]:.3g} units of unusable push, so at t=12 s the output is still {ys[-1]:.3g} instead of .5.' if p=='off' else f'With conditional integration on, the integral stops growing while the actuator is pinned, so the output reaches {ys[-1]:.3g}, close to the .5 target.')+' Any controller with integral action and a limited actuator needs this guard.'\n",
    "    elif d==4:\n",
    "        dt=.005;ts=np.arange(0,10+dt,dt);y=0.;I=0.;ys=[]\n",
    "        for s in ts:\n",
    "            e=1-y;u=2*e+p*I;dist=-.5 if s>=5 else 0.;I+=dt*e;y+=dt*(-y+u+dist);ys.append(y)\n",
    "        fig,ax=canvas('Time (s)','Plant output',f'Constant disturbance at t=5 s, integral gain Ki={p:g}');ax.plot(ts,ys,label='Plant output');ax.axhline(1,color='k',linestyle='dashed',label='Setpoint');ax.axvline(5,color='#a26913',linestyle=':',label='Disturbance −0.5 starts')\n",
    "        m={'Integral gain Ki':p,'Output before disturbance (t=5 s)':ys[round(5/dt)-1],'Final output (t=10 s)':ys[-1],'Final error':1-ys[-1]}\n",
    "        t=(f'With no integral action the output settles at {ys[-1]:.3g}, short of the setpoint by {1-ys[-1]:.3g}. A proportional controller needs a leftover error to keep pushing, and the disturbance makes that gap bigger.' if p==0 else f'Integral action keeps adding up the error until it is gone. Final error is {1-ys[-1]:.2g}'+(', but the slow integral takes seconds to clean up the disturbance.' if p<2 else ', and a larger Ki removes it faster. The price is already visible: the output overshoots the setpoint by about 8% at the start, and a still larger Ki would ring more.'))\n",
    "    elif d==5:\n",
    "        pole=math.tan(math.radians(p));k=math.hypot(1,pole);dt=.002;ts=np.arange(0,20+dt,dt);y=0.;v=0.;ys=[]\n",
    "        for _ in ts:\n",
    "            ys.append(y);acc=k*(1-y)-pole*v;v+=dt*acc;y+=dt*v\n",
    "        ys=np.array(ys);os_=100*(ys.max()-1);fig,ax=canvas('Time (s)','Output',f'Step response with {p:g}° phase margin, crossover 1 rad/s');ax.plot(ts,ys,label='Closed-loop output');ax.axhline(1,color='k',linestyle='dashed',label='Setpoint')\n",
    "        m={'Phase margin (degrees)':p,'Open-loop pole (rad/s)':pole,'Loop gain':k,'Overshoot (%)':float(os_),'Peak output':float(ys.max())}\n",
    "        t=f'The loop L(s)=k/(s(s+a)) crosses unity gain at 1 rad/s with {p:g}° of phase margin. Its step response overshoots by {os_:.3g}%. '+('With only 30°, the output rings for several cycles before settling: a small extra delay could make it unstable.' if p<40 else ('45° gives a modest overshoot and quick settling, a common working compromise.' if p<55 else '60° gives little overshoot at the cost of a slightly slower rise.'))+' Margin is a starting screen; check the actual response.'\n",
    "    return result(fig,ax,m,t)\n",
    "\n",
    "plt.rcParams.update({'font.family': 'DejaVu Sans', 'font.size': 11, 'axes.spines.top': False, 'axes.spines.right': False, 'axes.labelcolor': '#172a3b', 'text.color': '#172a3b', 'svg.fonttype': 'none'})\n",
    "plt.rcParams['axes.prop_cycle']=cycler(color=['#136f75', '#b77518', '#334c72', '#aa4e37'])\n",
    "print('Calculation definitions loaded; all inputs are constructed.')\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ch21-cell02",
   "metadata": {},
   "source": [
    "## C21-D01: Preserve a small logarithmic change\n",
    "\n",
    "Why can log(1+x) vanish at x=10⁻¹⁶?\n",
    "\n",
    "Compare mathematically equivalent evaluations after floating-point rounding.\n",
    "\n",
    "$$\n",
    "\\operatorname{log1p}(x)=\\log(1+x)\n",
    "$$\n",
    "\n",
    "**Symbols and inputs:** Small x. Binary64 arithmetic, positive x; stable function does not validate the mathematical model.\n",
    "\n",
    "**Predict:** Why can log(1+x) vanish at x=10⁻¹⁶?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "ch21-cell03",
   "metadata": {
    "collapsed": true,
    "execution": {
     "iopub.execute_input": "2026-10-03T00:58:20.828398Z",
     "iopub.status.busy": "2026-10-03T00:58:20.828344Z",
     "iopub.status.idle": "2026-10-03T00:58:20.992302Z",
     "shell.execute_reply": "2026-10-03T00:58:20.992239Z"
    },
    "jupyter": {
     "source_hidden": true
    },
    "tags": [
     "hide-input",
     "illustration"
    ]
   },
   "outputs": [
    {
     "data": {
      "image/png": "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0ccgMxERERGpjefd+zh94Yps6+royMH+Jo8ZyjNORERERFSMsCYzEREREanNrTveeBUcIgerE4NQpR34iii38jNoHxHlT14HlCQiouKPQWYiIiIiIiIiIiIiyjMO/EdEREREREREREREecYgMxERERERERERERHlGYPMRERERERERERERJRnDDITERERERERERERUZ4xyFzCjBs3Tj6IiIiIiIiIiIiIVEFHJXuhIsPT0xMlRVhYmHw2MTEp6K5QMcdrjTRp3RQ7xMdGQlvPCEMW+fPkk1rx8400idcb8Xqj4oqfb8RrjUoCZjITERERERERERERUZ4xyExEREREREREREREecYgMxERERERERERERHlGYPMRERERERERERERJRnDDITERERERERERERUZ4xyExEREREREREREREecYgMxERERERERERERHlGYPMRERERERERERERJRnDDITERERERERERERUZ4xyExEREREREREREREecYgMxERERERERERERHlGYPMRERERERERERERJRnDDIXYmfOnIG7uzv09PRgaWmJjz/+GDExMQXdLSIiIiIiIiIiIiIlBpkLqfv376NTp05o27Yt3rx5gyNHjmDTpk348MMPC7prREREREREREREREoMMhdSCxYskNnL3333HQwMDFC7dm3MnTsXy5cvx7Nnzwq6e0REREREREREREQSg8yF1OHDh2UWs5bW27eoQ4cOiI+Px7Fjxwq0b0REREREREREREQKDDLng4+PDzw9PfHkyZMcbxMdHY2HDx/KbRITE7Pct4ODQ6p5tra2MugslhEREREREREREREVBgwy54IYdG/Dhg0YM2YM7OzsULlyZdSqVQtffvllttsGBwdj3LhxsLCwgJOTEypWrCj38euvv6YLNsfGxiIuLk6WyUipVKlS0NfXR0RERG66TURERERERERERKQ2OurbdfEjso8HDRqknC5dujRCQ0Oz3U4Ehdu3b4+rV6/K6UqVKiEsLAyPHz/GlClTEBAQgJ9//lm5vq6urnxERUWl2k9CQoLMhDYyMlLp6yIiIiIiIiIiIiLKK2Yy54Kenh4GDBggB9/z9/fPUQazMG/ePBlgFtnL165dk+UuAgMD5X5EdvL8+fNx5cqVVNuILGlfX99U80QwWgSaRSY0ZS2rUiRERERERERERESkOgwy54KNjU2qchk5DXYuW7ZMtv/44w/UrVtXtkVwWexn5MiRqdZREJnPR44ckQP9KRw8eBDa2tpo06ZNbrpdIv138Qr6LluBvZ63EZfiHBIREREREREREZFqsVyGmnl5ecmyGKampujWrVu65cOHD8fKlStx+PDhVPOnTZuGf/75B5988gm++uoreHt7y+eJEyeifPny2R63SZMmGc4XAxW6urrKch3FlQja/3HsBO48e44r/pvxv/2HMLKxOwY2rIcyaepcE6kC66RTgUhMLNaf5VQ48PONeL1RccXPN+L1RsURP9soJ0xMTKAOzGRWs9u3b8vn2rVryyzktOrVqyefRQmNlDWYHR0dZeBZlNGwtbVF7969ZdazKK1BWXsUHILHISHK6cchr2WguclPizBnz374vQriKSQiIiIiIiIiIlIRZjKrWVBQUkDTysoqw+VmZmbQ19eXA/qFhITA2tpauczd3R0nT57M03HPnTuXZYazur61KAxcTUzgMXcWVp86g5XnLsI3OagcHhODVecuYvX5S+hcszrGt26BJpUdZekSIlUozj9XVAiVKsVrjjSGn2+kSbzeiNcbFVf8fCNea1ScMZNZzWJiYuSzrq5upusolqXMZKb8MdHXx4jG7jgyZSL+HTsCzZwrpyqnsdfjFnr8tgRT1m+SgykSERERERERERFR3jCTWc2MjIyyrIsjAp6RkZGyzW81VU9bSwuda9aQD49HT7D0xClsuXodscmDAa67eBm6OtqY178PM5qJiIiIiIiIiIjygJnMalaxYkX57Ofnl+HyR48eIT4+HgYGBrCwsFB3d0q0WrY2+H3oQFz/6guMa9FMOX/12Qv4auceGfAnIiIiIiIiIiKi3GGQWc3q1Kkjnz09PWXN5bQUNZdr1aoFLS2+HZpgVaY0vuvTAx+0ba2ct/jYSfx84LBGjk9ERERERERERFScMKqpZmIgPzGAX1xcHBYtWpRqmZi3cOFC2e7Zs6e6u0IpiMH+vuzeGaObJw2EKPy0/5AMNhMREREREREREVHOsSZzLt2/f185QN+zZ8/kc3BwsMxUVgQva9SokWqbmTNnyiDyt99+i+joaPTq1QuhoaGYP38+rly5AnNzc0yYMCG3XaF8Eu/VD316IiI6Bv9duiLnfbljN4z19TCiaWOeXyIiIiIiIiIiohwolchCtLlSs2ZN3Lp1K9Pl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Lasxd9de7LnpqZz+ascenLx3X7ZFKY1Vo9+FjZlZjvZds6INNo0fI+tAC6I2c7/Ff8nMaCIiIiIiIiIiopQYZCYqwmZ3ewfd69SSbVEuY/y/63HVPwDrLlzC0pOnleuJrGd3x0q52nd9B3tZ69lQNynz+fbTZxiw5O8cDTRIREREREREREQlB4PMREWYqKe8eOggWU9ZiIyNxZBlK/DJxq3Kdca2aIphjd3ztP8mTo5YM3akrEEtXA94hMHLViprPBMRERERERERETHITFTEiRrLa8aNhJ25uZx+GRaOmPh42W5exQnf9Oqe7/rPK0YNUw40eMHHF9M2blFBz4mIiIiIiIiIqDhgkJmoGChfujTWvzcKpQ0MlPPsLczx94hhsh5zfnWqUR3L3h0CrVKl5PTmK9dwxdc/3/slIiIiIiIiIqKij0FmomLCpYI1Vo8eDlNDQ1iblpFlLsqaGKts/z3q1sbo5k2U01/t3C3rQBMRERERERERUcmWVGiViIqFllWr4PY3s2XGsSoymNP6pFN7bLh0FaFRUTj/0Bf7PG6hS+2aKj8OEREREREREREVHcxkJipmxCB96ggwC+VMTPBR+zbK6Tm79iI2uf4zERERERERERGVTAwyE1GujGvZHBXNzGT74YuXWH32PM8gEREREREREVEJxiAzEeWKoZ4uZnZ7Rzn90/5DeBMZybNIRERERERERFRCMchMRLnWr35d1LatKNtB4RH45fBxnkUiIiIiIiIiohKKQWYiyv0Hh5YW5vbsqpxecuIUHgUH80wSEREREREREZVADDITUZ60qOKMjjVcZTs6Lg7/23MgX2fyko8fuv6yGF/u2I3ImFi+K0RERERERERERQSDzESUZ3O6d4G2VtLHyKbLV3Ej4FGe9/XVzt244OOLxcdOottvi5kZTURERERERERURDDITER5VtXaCsMbuyunRRZyYmJirvcjMqGv+78NUN8IeIx2837FKe/7fHeIiIiIiIiIiAo5BpmJKF8+7dwBxvp6sn3m/kMcvO2V6314PnqCmPj4VPNehYej35/LseT4qTwFromIiIiIiIiISDMYZC7Enjx5gv379+PkyZMICQkp6O4QZah86dL4sF0b5fTcnXsRlyZgnJ2r/gHK9js1q8PJspxsxyckYNb2XZiw5j9ExMTk6x0Qfcptv4iIiIiIiIiIKHsMMhdCfn5+6N69O5ycnLBo0SJ8+umnsLe3xx9//FHQXSPK0ITWLWBtWka27z0PxMbLV3N1pq74+SvbvevVwaGPP0Cn5EEFhc1XrslBAf1fBeXpHXgcHIL63/yAyp9/iY82bMbtJ0/5ThIRERERERERqQiDzIWQh4cHnj59Ci8vL5nJfP78eXz//feYPHkyLly4UNDdI0rHSE8PM97poJze53E7z5nMDRzsUcbQEP+OGYFPU+zT4/ETtF/wK84/9Mn1O/Dn8VN4EvIaETGx+PfcRbT8aSF6/LYEu254MLuZiIiIiIiIiCifGGQuhKpWrYojR46gUqVKynljx45FqVKl5HyiwqhLrZrKtggEJyQk5Gi74PAIPHzxUrbLGhvDoayFbGtpackg879jR6C0gYGcFxQegdGr1siBAnNKrLvx8pV0888+eIhRK/+VGc4LDx3Fy7CwHO+TiIiIiIiIiIjeYpC5kAaZTU1NU817/PixHPysQoUKBdYvoqyUNTGGi7WVbAdHRODOs+e5zmKu52Anv0xJqXPNGjj40WTYmZvL6cA3oTIDOaf2edySwWnBtYI1xrVoBhN9feVykeH8vz37UWfOd5i5dSdiWbeZiIiIiIiIiChXdFDCxcXFyRIUYnC98PBwNGzYEL169cp2O7Huvn37cO/ePRgYGMjtWrRokS5ApiqiLrOxsTE6d+6slv0TqUJT58rK4LLIFK5uk/2XIldT1GNuYG+X4TpVrMrj445t8dGGLXJ6xemz6NegXo76tPb8JWV7dPMmGNWsCb7o2gkbLl3B8lNncT/whTLjeenJ0zDS18PMru/kaN9ERERERERERFSCg8zBwcEYPXo0jh49ijdv3ijnjxkzJtsgs9hmyJAheP48daZms2bNsHnzZlhbW6ea7+3tjStX0t+un5K2tjb69++f4bLvvvsOW7Zswb///ptu30SFSZPKjlhx+pxsn3vgg7EtmmW7zZUUmcz1HewzXa9vg3qYs3MvXkdG4qKPH24+eozathWz3LcYKPD4PW/ZNtTVRd/6dWVblN8QfRvdrAlO3LuPZSdP49DtO3LZosPH0KKKM1pWdc7hqyYiIiIiIiIiKtlKbJD59evX2L59O3R0dNC0aVMZ5D116lS224mAcY8ePWQmc82aNdGtWzcZpP7vv/9w5swZdO/eXWZGi3qyCj4+PvJYWdHT08swyLx06VLMnDkT8+bNw7Bhw/L4aok0o4lTZWX77P2HssRLVtn9Yvk1vxRB5kwymRWDCw52b4glJ5J+Tv8+fRa/DMr4ixmFdRcvy2MIPerWlgMKpiR+Ttu4VJWPiWv+w8bLV+X6E9asx4lPP0I5E5McvGoiIiIiIiIiopKtxAaZzc3NsXXrVrRt21bWPxZB3JwEmWfPni0DzF26dJGBY11dXTl/xowZaNCgAS5fvoz169dj6NChym06duwoH7m1bt06TJw4EV9//TWmTZuW6+2JNM3atAwqW5aTA/m9CAuTpShEqYvM+L0KwqvwcNkW25kbG2W5f1HuQhFk3nLlGuZ075rpNvEJCVh/4bJyelhj9yz3/WO/Xrjk6wefl6/w/E0oJq/dgHXjRqX6woiIiIiIiIiIiNIrsdETEVju3bt3ugH2shIREYGdO3fK9vz585UBZsHe3l4ZCBbB4fwSxxkxYgQ+++wzGdgmKiqapsxmfvAwy3WvpKjHnFUWs4IIRLdzqSbbUbFxWHfxbb3ltI7f9cbjkBDZdrIsh8aVK2W5b1FC468RQ6GrrS2nD3vdxZITp7PtExERERERERFRSVdiM5nz4vr164iMjISjoyNcXFzSLRelMz7//HNZLiM/RDb0gAEDUL16ddSqVUuW4lCoWrUq6tevn+0+mjRpkuF8T09PuLq6IiwsDMWd+FKANK9+RRusSW6fuuuNvrVrZrruhRRB6JrWVjm6Loe61cORO3dl+++TZzG8QX1oaaUvybHq9Flle0D9uvIOhOw4m5thRsd2+HbfQTn9ze69qGdjjVoVbbLcjtcaFYjExBLxWU4Fi59vxOuNiit+vhGvNyqO+NlGOWGiptKgJTaTOS8ePkwKiFWrlpRJmZYIAIv6s69evZI1n/NKBMPE4IMiGCxKcqR83LhxI8/7JdKERo4OyvYFHz9lTeSMXA94rGzXtct6ED+FVlWcYWduJtv+wcE44X0/3Tovw8JxyCspEK2jpYU+9WrnuP9jmjZCm+RB/2LjE/DBxq0Ii47O8fZERERERERERCUNM5lzQQzwJ2RWYkMM3mdkZCSDxGLd3JTiSKlVq1bykR/nzp3LMsNZXd9aFEYl6bUWBtVMTGBnbo6A4GA8ffMGQTGxcChrkW69mLg43Hr6TLb1tLXh5uwEfZ2cfSSNadEMc3buke21l6+ie4N6qZavvnQFcQkJst2pZnU4Wlvn6jX8+e4QtPppoazN7PsqCHP3HcKfwwZlux2vNdKoUqV4zZHG8PONNInXG/F6o+KKn2/Ea42KM2Yyq1hCcmCLqCRr4uSobJ+9n3Fd5ttPnyE6Lk62a1a0yXGAWRjayA0GuknrH7lzTw40qCAyp9ece1ureVhjt1z3v5yJCZYMHyzvTBA2Xb6KDRev5Ho/REREREREREQlAYPMuVCmTBn5HJI8mFha0dHRiIqKSrUuUUnU1Pnt4H/nMhn872qKQf8aONjnav/mxkboW7+eMqi88szbzP2LPn7wDgyU7QqmpmibPFBgbrWo4oyP2rdRTn+6eRvuB77I076IiIiIiIiIiIozBplzwcnJST7fuXMnw+V3796VAa9y5crluVQGUbHLZM40yBygbNdzsMv1MUY3fzu45boLlxEREyPba89fVM4f0qghtLXy/jH36Tsd4J5cYzo8Jgbj/13PuxWIiIiIiIiIiNJgkDkX6tatK2su+/n54datW+mW79q1K1XdY6KSqnK5crAqU1q2RU3jJxlk/19JEWRukIcgcx07WzRMzoB+HRmJLVeuITQqCtuvvx0cc0ij3JfKSElHWxtLhw+BqaGhnL4e8AjXH70drJCIiIiIiIiIiDjwX64YGhqiV69eWLduHT766CPs3r1bDvYnPHjwAAsWLJDtIUOG8NqiEk3UMm7iVBnbryUFfM898EHfFIPzvY6IVJa0MDMylEHpvBjToikuJ5fdWHH6HOITEhEREyunW1WtkuGAg7llZ2GOd5s0wm9Hj8vpg7e8UN8+50Hx+IQEfLBuIw7dvgOtUqWgo60FHS1t6GprySxrXW3R1kYVq/KY1783yiQHtImIiIiIiIiIioqcj7RVDP322294/vy5bJ8/f14+X7lyBbNmzZJtbW1tzJ07N9U233zzjcxYPnToEGrXro3OnTsjNDQUmzdvxuvXr2UW84ABAwrg1RAVLk1TBJlFyYyUQWaREawgAraKAfZyq0fd2pi9fRdehoXD4/ET/LjvYL4G/MtMhxouyiDzodte+KxzxxxvK4LLGy9fzXY90f+yxsb4vm/PfPWViIiIiIiIiEjTSnSQeenSpenKXly/fl0+MgsyV65cGXv27MHgwYNlDWbxUGjTpg02bNgArXzUgCUqLpqmqMssMplTupJi0L/6uRz0LyV9HR2ZZbzg0FE5/SIsTD6bGxmhS+2aUBX3Sg6yZIYoy3Ej4DGevX4Da9OcDe6556Znjo/zz7kL+LBda1QwY013IiIiIiIiIio6SnSQ+cMPP0Rg8i37GcksWNyiRQvcv39fZjPfu3cP+vr6cHNzQ6NGjdTYW6KipZq1lczMfRUejnvPA/EiNAyWpU3SB5lzUXoiIyOaNsaiw8eQkJionDegYX0ZgFYVUZu5rUtVbEvOzD7sdQfDGrtnu11sfDz2eb79IuvK7M9gY2Yq54syGuI5Nj4BH23YLMtwRMfFydfyY79eKus7EREREREREZG6legg83vvvZfnbQ0MDNC9e3eV9oeoOBElMBo7OSozec8/9EH3OrWQmJiIa/5vB/2rn4dB/1KqaG6GLrVqYHeKjOGhKiyVodCxhqsyyCwCwjkJMp+9/xAhEZGyXdu2orJGtKjBnJIovyH2KfybnM0sXhcRERERERERUVHAug5EpDZNKjumCrgKj4JDEBiaVNaiUlkLlDNJym7ODzEAoEIDB3tUt6kAVWvnWk0O3CecuOsts46zkzLwLQLsmREB6K7J5T1i4uOxMLn8BxERERERERFRUVAgQebomBj8vXYL+o76EPXa9kbNlt3Rod9ozJ33Bx4/TRqIj4iKvqbOlZXtcw+SgsxXU2Qx18tnqQyFFlWc8WX3LjLb+I+hA6EOFsbGcKvkINvhMTHKoHlmEhISsMfjbZC5WzY1oj99p4OyvfbCJQQEBee7z0RERERERERExTLI/OJlEDoPHIeZ3y3EmYtX8fT5C7x8FQwPr3v4c+V6tO71Lo6fuajpbhGRGtSwqYAyBgayfevpM4RERKSqxyyyjlVFlJhYN24UnMtbQl1EEFtBUd4iM5d8/RH4JlS2q1qVRxWr8tmeK0W2c6wKs5kjYmJw+8lTWaaEiIiIiIiIiKhYBJknzpiL2/cewMqyLBZ9+wUuHNgIz1O7sOnvRXCvVwuhYeEY+9EsPH/xUtNdIyIV09bSQqPKlWRbBDnPP/TFVTUFmTUhVZD5tleWgdtdNzxyVCojpemd2ivb6y5cgv+rIORHZEwsuv6yGC1/WoiBS/9GeHRMvvZHRERERERERFTgQeb7Pv44df4KdHV0sG7JPAzq3QUOtjYoZ2GOFo0bYtOKX1DN2RFh4RHYtPOAJrtGRGrSxOltyYxT9+7jRsBj2dbR0kLNijZF6ry7WFvBNnlAPr9XQfB+HpjheiL4rBjwUFDUW86OqCXds25t2Y5LSMD8Q0fy1d8Fh47A4/ET2T56554MNIdGReVrn0REREREREREBRpk9n7oK59rVa+KGi5V0i3X19ND324dk9f102TXiEhNmqUIMm+4fAWRsbGyXaNiBRjq6Rap816qVKlU2cwHbmdcMuPmo8cICE6qqexQ1gK1chFMF9nM4jjCfxevwPflqzz11evpM/x25Hiqeecf+qDv4r8QHB6Rp30SERERERERERV4kNnI0FA+m5uZZrqOuWmZ5HWT6rgSUdFW264ijJKDySERkUW2VIZCh+ou2dZl3p0mi1kRNM4JlwrW6JWczRyfkIAFB3OfzSwGHfx4wxaZDS2IILcoXaIYeLH3H0vxIjQs1/slIiIiIiIiIirwIHO9Wq4w0NfDrTveiI2Ny3Cdqx635XMz9/qa7BoRqYmutjbcKiXVZU6pvr1dkTznzZ2dYaibFDS/6OMnBzNMa/eNt0Hm7rVzVo85s2zmDZev4mEua9SvOnsBl3yT7gYpbWCAde+NwsqRw6CnrS3neT55ih6/LcHT169z3TciIiIiIiIiogINMpcpbYJZH0/As8CX+Oqn39IFmvcdOYkN2/ehdVN3dGnfUpNdIyI1aur8tmRGUc9kFiU+WlZ1VmYai1rHKd199hzegUm1mq3KlEYDh9wH06taW6FP/Tp5ymYWgeNvdu9TTs/u1hkVTE3RpXZNrBk7Ega6OnK+6KMINAcEJZX1ICIiIiIiIiLKq6Rog4Z4ennj0dPnqFK5Elas24LDJ8/CrW4tWRrDy/shLl/3lCU1nBzt8fX8xam2reVaVVmvmYiKliZOjqmmyxgYwMmyHIqqDtVdcSC5VIYomdExOeicUakMreQyFbn1Scf22Hb1BhISE7Hx8lVM7dAWzuUts93ui607lYP7uTs6YGTTRsplbV2r4b/3xmDoXysRHhMDn5ev0O3XP7F10jg4WWa/byIiIiIiIiKiAg8y3/fxw5JV/ymn/R89lY+UIiIj8ffazem27dm5HYPMREWUKI2hr6OD6Likuxfq2dvlOfhaGHSs4QJsSmof8bqL+J5dlTWPd9/0UK7XLQ+lMhSqWJVHvwb1ZIBZBJrnHzyCP4cNynKbfZ63sOtG0vF1tLQwf0DfdOe5eRUnbJk4DgOW/I03UVF4HBKC7r8twZzuXdCjbm0YJJcCISIiIiIiIiIqlEHmhnVrYsnPc/K0ra2Ntcr7Q0SaIQKX9R3scO6Bj5zOSwmJwsTGzEwOpufx+AmCIyJwLeARGjrYw/flK3g8eiLXsTA2QtM0Gdy5Na1TO2y5el2WzNh0+Sp0tbQws1tnWYYjLZG9PGPzduX0B+1aw7VCxp+bDSs5YNuk99B/yXIEhUcg8E0oJq7dgFnbd2FIIzeMaNoYjuXK5qvvRERERERERFRyaDTILALFDBYTlUyda9ZQBplF2YairkN1FxlkFo7e9ZZB5j0enqler07yQHt5JUpYDHJvgLXnL8npdRcvY8eNm/i4Qzu836p5qqzjH/YexJOQpIH8RIBYrJOVOna22Dl5PAYuXSGzmQURcP796An5aOdSDSObN0bH6q7KLG0iIiIiIiIioowwckBEGjGuZTP81K8XVowchsaV85fhWxh0rOGqbIsgs7D7Rup6zKrwfZ+eGN7EHaVKlZLT4dExcmC/Zj/Mx+4bHkhMTMRV/wD8deqMcpv5A/rIAQqz41LBGue++ASLBvVDHbuKqZYduXMXw5evRoNvfsCS46eQkJCgktdDRERERERERMWPRjOZc+JNaBgePwuEaWkT2FiXL+juEJGK6GprY3TzpsXmfIq60mWNjfEqPBx3ngfiasAjXPL1k8tM9PXRqloVlRzHSE8PCwf2w+hmTTFz206cffBQzvd7FYSRK/9FM+fKMgNZ1G0WBro1QMuqVXK1/2GN3eVDBKtXnj6HbdeuIyo2qX72o+AQWUYjJDISn3Xm4KtEREREREREVAQymY+eOo82vd7F3Hl/FHRXiIgyJUpItK/uopyeuWNPqixnMdChKtWytcGOye9j5ajhsLcwV84/c/8hvJ4+U9aB/rpnt3wN0PjbkAHwmDML3/TqhsqW5ZTLxMCDJ+8lZWwTERERERERERXqIDMRUVEsmeH17Lmy3U1FpTLSEiUzutephbOff4JZXd+Bsb5equXf9OyOsibG+T6OubERJrRuifOff4K+DerKeaIsx/h/1yMwNDTf+yciIiIiIiKi4oVBZiKiPGpTrQp00gyKZ6Crg3aubzOc1UEM+De1Q1tc+OJTDG3kJjOYxzRvigFu9VV6HC0tLczr3wdOyRnNgaFhmPDvf4hnfWYiIiIiIiIi0lRN5uNnLuK7X5bmapvXb5glR0RFQxlDQzR2csRp7wfKeW1dqqXLMFYXa9My+GVwf/yC/mo7RmkDAywfMQzvLPod0XFxOHHPG78cPoaPO7ZT2zGJiIiIiIiIqGhRa5A55PUb3Lx1V52HICIqUB2ru6YKMnerUwvFjagH/U2v7vh08zY5/cO+gzK43tSpco62F6U2XkdGykEExeNJSNKzeIja1lPatYZLBWs1vwoiIiIiIiIiKpJBZjPTMvLZtaoT5n46OUfbnL14DYuW/aPObhERqUyH6i74csdu2RalMzpVf1unuTgZ1awxztx/gB3XbyIhMRHv/bMOx6dPRTkTkwzXD4mIwN+nz2H7tRvwfxWE8JiYTPcdEBSE3R9OVGPviYiIiIiIiKjIBpnd69eGvp4efP0foVGDOrKdnaDg1+rsEhGRSjmXt0R7l6o4fOceRjVrAlMjw2J5hsWggwsH9sWNgEfwfRWEZ6/fYPLaDVg3bpSs3awgBgZccvwUVpw+h7Do6Bzt+5KvP8KjYzRWZoSIiIiIiIiIilCQ2cjQAG71auH0hSu4ePUmWjRuqM7DEREVSPD1r6ED5aB4TjYVin0N6r9GDEWXXxYjNj4eh73u4vdjJ/Fhu9Z4FByM34+ewJrzFxEVG5dqO5HhXdHcDDZmprA1N4dtcvufsxfg8fiJHEjwekAAmjk7FdhrIyIiIiIiIqJCGmQWOrRqipu37+LiVY8cBZntKlqjb7eOaFCnhrq7RkSkskCzVZnSJeJs1rO3w5weXTFz2045/b89+2V2856bnohLSEi1bjPnypjavi1aVnWWtZfTehLyWgaZhUs+fgwyExERERERERVRag8yvz9ioHzkVIM6NeWDiIgKp/daNpP1mfd63JJZyKJOc9o61R91aAt3x0pZ7setkoOyfdHXT239JSIiIiIiIqIiHmQmIqLil7n96+D+8Hj0BAHBwcp5PerUkpnLtWxtcrSfhpXslW2RyZyYmCj3Q0RERERERERFC4PMRESUa2ZGRvjv/dH4etdeVDA1xfjWLeQgiLlhYWyMKuXLwzswEMEREbgf+AJVrMqr5N0QQet1Fy/BvVIlDG7E8QCIiIiIiIiIik2Q+U1oGB4/C8xyHZHEZmhgAMuyFnLgQCIiKpyqWVth7bhR+dqHWyV7GWQWLvn65TvI/CI0DN/s2ot1Fy/L6X/PXUR4TDTGtmiWr/0SERERERERUSEJMh89dR7jp8/J0bra2tqoXb0q3h8xCL06t1N734iISPPcHB2UAeGLPn4Y0sgtT/sRtaFXnz2P/+05gNeRkamWfbF1JyqVLYv21V1U0mciIiIiIiIiSk0LGlTesizaNHOHvW0FOW2gr4ca1ZzhVrcWLMxM5TwjQ0M0blAHZqalcc3DC+M/+Qo//LJMk90kIiINSTk4oMhkzmtpjPYLfsWnm7crA8yitrOTZTnZTkhMxNjVa+H19JmKek1EREREREREBRZkbupWD6OH9sPzwFd4p20LXDq0BUe2rsKutX/i5okdmD1tIiIiI1G9mjM8TuzEl59MlNv9unwNvB/mLfhARESFV5XyljA1NJTtu8+eIyQiIsfbvgwLw5T1m9D5lz/kIIQKDR3scfjjD3B42oeoYZP0pWZYdDSGLFuJwNBQNbwKIiIiIiIiopJNo0HmmJhYTJ31HYyNDPHb97NgWdZcuUxHRweTRg9B1w6tsWLdFpy7fB0TRw1Bq6ZuSEhIwL4jJzXZVSIi0gAtLS1Zl1nhsq9/jrZ78OIFmn4/D2svXFLOK2tsjF8G9cfeKRNRx84WpQ0MsG7cKJQvU1ouDwgOxvDlqxEZE6uGV0JERERERERUcmk0yHzl5i28CgpBrepVUdrEOMN1mrnXk88Hj5+Rz80bNZDPvgGPNdhTIiLSFLc8lMyYd+AIgsIjlKUxRjVrgvNfTMfQxm4ycK1Q0dwMa8aOhKGurpy+4uePD9ZvlF9eEhEREREREVERDDIHh7yWz7GxcZmuo1gWFJy0brnkbGetUqU00kciItIst0oOuQoyi0zkvR6eyum9H07Ez/17w9zYKMP169vb4Y+hA5XT26/dwI/7D+W730RERERERERUAEFmG2sr+Xzz9l0EvniV4TqHTpyVz7Y21vLZ/9FT+exga6OxfhIRkebUd7BTfpEoMo3j4uOzXP+w1x2ER8fIduPKleDm+DZInZkedWtjVtd3lNPzDx7BxstX8913IiIiIiIiItJwkLlOjWqoUrkSwsIjMOKDz+Dp5a1c9io4BJ/O/RmnL1yBtrY2enVuJ+efu3RNPjdxSyqjQURExYuJvj5qVEwaoE8Ej72ePs9y/W1XryvbvevVzfFxprRvg0FuSSWYhKnrN+H8Q5889ZmIiIiIiIiICijILOpmLv7pS5iVKY1rHl5o328UnNw6oGbL7qjRvBv+2bhDrjP308mo5uyIp89fyNrN7w7shYZ1a2qyq0REpEHulVLWZfbNdL3QqCgcun1HtkX2c/e6tXJ8DPH7Zf7Avmhc2VFOx8THy4EA7z3LOqhNRERERERERIUoyCzUcq2Ko9tWY3j/HrAsa4HwiEi8fBUMQ0MDtG3RGFtW/oqxw/rLdStYWeLfxT/hpy8/QUm2aNEi2Nra4v333y/orhARqUXKkhcXfTKvy3zglhciY2Nlu0UVZ5QvXTpXx9HX0cHq0e/CsVxZOR0cEYF+S5bjUXBwnvtOREREREREVNLpFMRBbazL4+c5n8qHKJ0RFxeHMqVNoKWl8Zh3oXfr1i3MmTMHhoaGePUq4zrWRERFnXsOB/9LWSqjV73aeTpWWRNjbBw/Fl1/+QOBoWF4EvIa/f/8G7s/nCCXEREREREREVHuFHhU18TYCGamZRhgzkBsbCyGDx+Ozz77DBUrVtT8m0NEpCF2FuawKpOUlez3KgjPXr9Jt05IRASO3rkn2zpaWuhWO+elMtISmcz/vT8GpQ0M5LR3YCAGL1uBsOjoPO+TiIiIiIiIqKQqsCBzdEwMTl+4in82bsfytZux59AJOfgfvTV37lxZQ/STT0p2uRAiKv7EZ52749u6zJczyGbec/MWYuPjZbuNS1WYGxvl65i1bSvi3zEjZAkN4ap/AEat+BcxcXFQtwcvXmjkOERERERERETFtlzG9r2H8eWPvyHwZeryD3q6uhg1pA9mfTQBurqa7VpMTIx86OrqQl9fP8fbiVIf2traMkCiShcuXMD8+fNx/vx56CQHQIiIijO3Sg7YdcNDti/6+qFbndSZytuv3VC2e9evq5JjNq/ihL/eHYKRK/9FQmIijt29h0lrN2Dp8MFqu8Pm8y078NepM7A0McGfwwehdbWqajkOERERERERUbHNZN554CjGT58jA8wVK1ihd5f2GNavO+rVckVMbCyWrt6AaV/9qPZ+JCQkyEDuN998gxYtWsDY2BilS5fGpEmTst1WBKP/97//wdnZGXp6ejAwMEDTpk2xY8cOlfQtMjIS7777rsxgrlOnjkr2SURU2LmnGPzvUprB/16EhuGk933ZNtDVQeea1VV23C61a2LBwL7K6W3XbuCLbTuRmJgIVdt46YoMMAsvwsLQf8nf+N+e/YhLztAmIiIiIiIiKoo0miIbHx+POT/9LtuD+3TF97M+hkGKrOHt+45gwvQ52LhjH0YN7iMDz+ri7++Pxo0bK6dzmoksMpd79OiBAwcOyGmRxSyCzufOnUOvXr2wcOFCTJ06NdU2q1atwqxZs7LcrwhU37+fFECZPXu23G922xARFSe1bCvK0hXRcXG4EfAIUbGxMNDVlctEhnN8QoJsd6juqqylrCrDGrvjVVg4vtm9T04vP3UW5UxM8Emn9io7hvfzQEzftC3VPBHIXnjoKM7ef4hl7w5BRXMzlR2PiIiIiIiIqFhmMnve8caTZ4GwLGuRLsAs9OrcDv26d5Ltg8eTMr3URdwG7e7uLgO5J0+elJnJOfHnn3/KALOZmRm2bduG6OhovHnzRhkQ/vTTT+Ht7Z1qm/79+8uyF1k9Tpw4oVz/+vXrePToEZycnGBraysfN2/exN69e2X70qVLKj4bREQFTwSY69rZynZMfDxuPnqsXLbt2nVlu1c99dzh8WG71hjfqoVy+od9B7H2vGo+byNjYjF29VqEx8QoS4MMdGugXH7Bxxetf16E/Z63VXI8IiIiIiIiomKbyfz46XP5XNO1SroAs0LDujWxaed+5brqYm9vL8tlKKRsZ+XXX3+Vz4sWLZKZy4IosyHKbnh6emL79u0yEL1gwQLlNqIUh3jk1H///YeoqKhU87p27SoDzEuXLkX58uVzvC8ioqLEzdFBBlyFiz5+cjDApyGvcf5h0jxjPT10qO6ilmOLO1q+7tkVr8LDsenyVTnv863b0dipEpwsLfO17y937MatJ09l28zIEH+NGAJbc3O0qOKETzdvQ0RMLIIjIjBs+SoZ6P6ye2fosR4/ERERERERFREaDTKL+sVCWFhEpuuEhoXLZ329pFukC5MHDx7IkhZGRkYYPHhwuuXjxo2TQeZ9+/alCjLnVrly5dLNEwMSGhoaykBzTjRp0iTD+SIQ7urqirCwMBR3ERGZX2dEvNYKp1rWVsr2ufsPMNK9ATZevKSsj9zepSoSYmIQlpwRrA7fde8M/5evcMHXTwZ/31+9DpvHjYKOdt5u/tnjeRsrz5xTTv/cuwfMdHXl53C36i5wGT8WkzdswZ3ngXL5khOn5Gsf4tYA5UyMYVnaBOWMjWX5Dj0d7bc7TkwsEZ/lVLD4u5R4vVFxxc834vVGxRE/2ygnTExMUOSDzNWcHeWzh9dd+Po/RiX7iukG49t7OKlsRLUqlVHYiACtIAbjUwTMUxLlNwRRLkPUac5oHSIiylx9+7dfpF3xD5DB5V03bynnda9dQ+2nT1dbG/P79sQ7vy9BWHQMrj96jCWnzmBy67elNHLKPygYn23bpZwe3bQROrhWS7WOc3lLbB8/Bl/vPYh1l67IeTceP5GPtEwNDTAzLhbia9gENQxMSERERERERFTog8x2NtZo5l4fZy5exfBJM/Djl9PQqH5tOcid/+On+HbBn7h68zYMDQ3Qs1NbFDaBgUlZZhUqVMg0A1lkHMfGxiI4OBhWVm8z8vJL1GPWycWt02IgwqwynNX1rUVhVJJeKxUsXmuqOYeO5crC5+UrvAwLx7Wnz2SQVzA1NETnunVk7WZ1czExwfd9euGD9Rvl9KKjJ9C5Ti3USa4ZnRMxcXH4cNM2hEZHy2lRb/rbPj0zLIMhPqV+HToQbVyr4aMNWxCWvE1aryOjkJAcWxYDJB64642+Derl7UUS5QI/30iTeL0Rrzcqrvj5RrzWqDjTaJBZWPD1DHQfNhHeD33RZ+QH0NPVhb6+nrJMhgg4L5g7A5blLFDYKOok62dST1owMDCQQebIyEiVHpt1mImopBCD4okgszB7+27l/G61a2okwKwwyL0B9nnewl6PW4hLSMDEtRtwZNqHMNDNWTmnr3ftw/WAR7Jd2sAAf40Ymm2d5d7166JR5UrYed0DT1+/xovQMASGhiY9vwnFy/Ck35WCiDW//+963H32HJ917igHtCUiIiIiIiIqEUFmB7uKOLx5BRYuXS1LYzx/8QoxsbEye1lkOX/0/rtoUKcmCiNRE1lIOyhfSorgsqjbTEREeRv8b2PywHuKwfKEXvXqaPR0ioEA5w/oi0s+fngRFiaDuf/bsx/f9Oqe7bYiOC1qKyssHNhXZmjnhI2ZGcZnUpojLj4eGz5ei4TYOOW8BYeO4s6z51g8bBBMsvgSlIiIiIiIiEhdCiTtqbxlWXw/62PcOL4D9y8exJ2ze/Hg4kGsWfxToQ0wC9bW1vL50aOkzLS0nj17hri4OFkyw8Ki8GViExEVBe6OldLNK2tsjBZVnDTeFzHo3oJBfZXTS06cxmnvB1luc+GhLz5Yl1RmQxjZtLHKAuQ62toohVJJ7RSZyyLbuusvixEQFKyS4xARERERERHlRoHfW2tibAQz0zJF4jbf2rVry+ebN29mOGKnog6yi4tLruonExHRWy7WVukycnvUrS0DrAWhc80aGNrITbbFQIST123AmwxKIt189BiDlq1A118XIyQiaXkNmwo5ynzOC1F645te3aBVqpQy67vDgl9x/qGPWo5HRERERERElJnCH9ktROzt7VGzZk1ER0fj77//Trf8jz/+kM/dunUrgN4RERUP2lpaaFjJPtW83vU1WyojrW97d4e9hblsPwoOwcxtu5TLvJ8HYsyqNWg77xccvn1HOb+ciTGWjxgKQ72c1XDOiwmtW2LduFGy5rMgBkvs/ccyrDl/UQbEiYiIiIiIiDRBbem21zy88O+mHXnevl5NVwwf0BPqJOonx8fHy3ZMTIx8FuUuwsLClPU4jY2NU20zbdo0jBo1CjNmzICenh569eqF0NBQ/Pjjjzhy5Iis2zxx4kS19puIqCQM/nf8rrdsW5uWQeMMSmhokgji/jZkAHr9sUwGb9dfvIy6drZyYL8Nl64gIUVA10BXB2NbNMMHbVujrEnq3yHq0L66Cw5MnYShy1fJARNj4+Mx9b/N2HLlOmZ374z69nZq7wMRERERERGVbKUS1ZTqtH3vYYyfPifP2/fs3A5L582FOoms5Fu3bmW6XFtbWwadUxKna+jQoVi/fn269UXJj1WrVmH48OEorJo0aZKqtEdxpviywMTEpKC7QsUcrzXVE4Ptdf4l6e6QKe3ayGBpYfDljt1YfOxkhst0tbUxvIk7PurQFhVMTdXWh3VT7BAfGwltPSMMWeSvnB8cHoExq9fg5L37qdbvWbc2Pu/SCc7lLdXWJyq++PlGvN6ouOLnG/F6o+KIn21ULDOZm7nXx8blC/O8vWW5slA3IyOjdJnKKWVUV1lkN69duxZt27bFypUrce/ePejr68PNzQ3Tp09H06ZN1dxrIqLiz83RAUuGD5YD2Y1v1QKFxRddOuHYnXvwevpMOU/URB7QsD6mv9MBDmULbtBXc2MjbHh/DH45fAy/HTmO8OQ7dHZcv4ndNz0xrLEbpnfqIDPD8yMhIaFIjKNARERERERExSCTmQonZjITqR6/LS5ZPB8/Qb8//5L1j0WW8Ix3OqCqtZXGjp9ZJnNKgaGhWHDwCFafvSDLZygY6eni/VYt8EHbVihjaJir44o/F0QZjs1XrmFIIzc56KCBrvrqTVPhwM834vVGxRU/34jXGxVH/GyjgsQgcwnDIDOR6vEXecnzOiIS8YkJsMjibpiCDDIriBrN3+89gK1Xr6eaX9HMDPumToSNmVmOj7vt6nWM+2edcrqOXUWsHDkc9gWYvU3qx8830iReb8TrjYorfr4RrzUqCXi/KxERUS6ZGhkWSIA5txzLlcWyd4fg6CdT0NalqnL+45AQfLxhi8xOzonQqCjM2r4r1bwbAY/Rdv4vOHz7jsr7TUREREREREULg8xERETFXG3bitg4fiw2jR8LPW1tOe+w111suHQlR9uLbOjnb0Jl287cHCb6+rIdEhGJwX+txI/7DspazURERERERFQyMchMRERUQrRxqYpP3+mgnJ65bReevn6d5TY3Ah5h+amzyunfhgzA4WkfwrWCtZwW2dA/HziMwctWIig8XI29JyIiIiIiosKKQWYiIqISZHLbVrKesvA6MhLTN23LtGxGfEKCXJ6QvHxAw/poXsUJzuUtsX/qZPRtUFe57pE7d9Fu3q+45h+goVdCREREREREhQWDzERERCWIjrY2fhs8ALrJZTP2e95ONzCgwj/nLuBqctDY1NAQc3t2Uy4z1tfDkmGD8UPfnsp9BQQHo+svi3HE665GXgsREREREREVDgwyExERlTDVbSrg4w5tldOfb92BwNCkmssKYvrb3fuV07O6vQPL0iap1ilVqhTGtmiGnZPHo4KpqZwXEx+PaRu3ICo2Vu2vg4iIiIiIiAoHBpmJiIhKoKkd2qKmTQXZDgqPwGebt6daPnfnXllOQ6hvb4cRTRplui83Rwcc/WQKHMuVldOPgkPw16kzue5TcHgEg9NERERERERFkE5BHdjTyxs+/o/w4lUQMioF6VTJDq2buRdE14iIiIo9UeLi1yED0HHBb4hLSMDOGx7Yef0metStjTP3H2DDpStyPa1SpTBvQB9oaWX9vbTIcv6yexeMWvmvnF548CiGuLuhrIlxjvqz7sIlfLRhC+wtzLFnykSUL11aBa+SiIiIiIiIimWQ+e59H3zy1U+4dN0jy/V6dm7HIDMREZEa1batiCnt22D+wSNy+tPN2+DuWEkO9qcwtkVTuV5OdKtdE+6ODrjo44c3UVGYf/AwvuvTM9vt7j17Lo8tBhr0efkK3+7aJwPgREREREREVDRoNMgcExOLYRM/RcDjp7Asa4Ee77SFlWVZlMpg3apOjprsGhERUYn0ccd22HPTE3eePcfLsHC0X/Arnr1+I5dZlSmNz7t0yvG+RI3mr3t2wzuL/pDTK06fw5gWTeFkaZnpNrHx8Ziw9j9ExcYp5627eBkjmzVGfQf7fL02IiIiIiIiKoZB5ss3PGWA2bSMCY5uXQXLchaaPDwRERGloa+jI7OG31n4OxISE5UBZuHbXt1R2sAgV+esYSUH9KxbGzuu35RlOMTggStHDc90/XkHDuNGwON082ds2YEDUydlW6aDiIiIiIiICp5G/3N7/SZp5PoGdWoywExERFRIiIH9JrdtlWpeq6pV0KtenTztb1a3zrLms7Drhgcu+vhmuN4VX38sOnxMOf1d7x4wMzKU7Wv+AfgvuS40ERERERERFW4aDTI72NrI54jIKE0eloiIiLLx6TsdUNWqvDK7+cd+vWT5i7xwLFcWo5s3UU5/uX03EtOM8hseHSPLZIg6zILIfh7Xshk+7/y2PMc3u/bhTWQk3zsiIiIiIqJCTqNB5urVnFGnhgtu3rqLZ4EvNXloIiIiyoKBri62TXofM97pgB2T34dz+czrKOfEtI7tYGqYlJV82c8fO2+kHvB37q49ePjipbL287z+fWRQe0TTRqhewVrOfxEWhp/2H+b7RkREREREVMhpvNDhsvlzUdbCDO9OnoErNzzlYIBERERU8ESwd/o7HWRd5fyyMDbGxx3bKqe/2bUXMXFJg/sd9borBwVU+G3wAJgbG8m2jrY2vu/bU7ls+akzuPvseb77Q0RERERERMUoyGxva4MxQ/rKbOauQ8bDoX5bVKzdKt1j4qdzNd01IiIiUqGxLZrB3sJctn1fBcnAcnB4BD5Yv1G5jiir0da1Wqrtmjk7KetBi8EDP9+6I125jbTE8rDoaL5/REREREREJSHIPPO7RZjz8++yra2tLbOaLcxM0z1MkjOaiIiIqGgStZ3FIIAK8w8ekQHm58kDAVe2LIevunfNcNu5PbrCSE9Xtk/eu4+9HrcyDS7vvemJZj/Mh+NnX+L3oyfU8lqIiIiIiIgoczrQIP/HT7Hqv22y/e3nUzBiYG/o6mq0C0RERKRBvevVwZ/HT+GafwCCIyKw3/O2nK+tpYU/hw6Csb5ehttVNDfD1PZt8d3eA3J69vZdaOtSDYbJgWfhwkNfWdv5oo+fct6K02cxuW0rtb8uIiIiIiIiKqBM5jv3HiAhIQF1a7pi7LD+DDATEREVc2Iwv7k902crT23fBg0q2We57cQ2LVGprIVs+wcF4/ejx2Vb1GgetnwVuv66OFWAWXgc8hpx8fEqfQ1ERERERERUiILMBgb68tmybFJ9RiIiIir+mjpVRpdaNZTTdewq4pNO7bPdzkBXF9/27qGc/uXIMUxeuwEtflygzIgWyhgYwMzIULbjExLwJOS1yl8DERERERERFZIgc4PaNWBkaIh7D32zHcCHiIiIio/v+vRATZsKcK1gjWXvDoGutnaOtutUwxXtXJIGBoyKjcN/l64gIflvCFHzeVKblrgy+zM0qVxZuY1fUJCaXgUREREREREVeJDZ2NgIX02fBL+AJ/hz1XpNHpqIiIgKkK25OY5/+hFOzfgYTpaWuSq38W3v7qmC0mLeQLcGOP/FdMzt2Q3mxkawt3h7l5T/q2CV95+IiIiIiIgyp9FR9zy9vOHj/whVnSrh63mLsfvgcdSp4QL9DAb9qeVaFX27ddRk94iIiKgQqmJVHvP698F3e/ejrp0tvuj6DmrYVEi1jn1y7WbBn5nMRERERERExTfIfN/HD0tW/aecvnrztnxkpGfndgwyExERkTS0sZt8ZMYuZSZzEDOZiYiIiIiIim2QuWHdmljy85wcrWtrY632/hAREVHx4JAikzmAmcxERERERETFN8gsAscMHhMREZGqpazJ7MeazERERERERMV34D8iIiIidShtYABzIyPZfvbmDaLj4niiiYiIiIiIimMmc0rRMTG4dM0TD/38ERMbhwrlLdG4YR2UNTcrqC4RERFREWZf1hzBERFITEzEo+BgOFlaqvV44jh3nj3H7hseuOofgC61amBYY3eUKlVKrcclIiIiIiIqbAokyLx972F8+eNvCHz5KtV8PV1djBrSB7M+mgBd3QKLfxMREVERZG9hgRsBj2U7IEg9QWYRWL4W8EgGlnff9MTDFy+Vyw7dvoPdNzyxaHA/VDA1VfmxiYiIiIiICiuNR3J3HjiK8dOTBv+rWMEK7vVqwdjIELfu3sc1Dy8sXb0BwSFv8Ot3MzXdNSIiIio2dZmDVLrvCw99seP6Dey5eQuPQ0IyXe/Inbto+eNCzBvQBz3r1lZpH4iIiIiIiAorjQaZ4+PjMeen32V7cJ+u+H7WxzDQ11cu377vCCZMn4ONO/Zh1OA+qFfLVZPdIyIioiKeyazgr8LB/349chxf79qb4TKRsdytdk2YGxth0aGjiImPlyU7xqxag30N6uHHvr1gamSosr4QERERERGhpAeZPe9448mzQFiWtUgXYBZ6dW6HIyfPYdPO/Th4/AyDzERERJSrmswK/kGqyWSOjY/Hn8dOpppXqawFutWphe61a6GevS20tJLGUe5epxYm/Lsenk+eyunNV67h7IOH+H3IQLSs6sx3koiIiIiIiq2k/4o05PHT5/K5pmuVdAFmhYZ1a6Zal4iIiCjXmcxBqslkPnTLCy/CwmTbubwljk+fikuzZmBOj65oUMleGWAWXCtY48DHH2BKuzbQSh7870nIa/RZvAwzt+7Ei9Ck/RARERERERU3Gs1k1tPTk89hYRGZrhMaFi6f9fV0NdYvIiIiKvrsUtRkDlBRJvOaC5eU7ZFNG6NmRZss19fX0cHs7p3RsYYrJq39D77JtaGXnjwtH/Xs7dDetRo6VHdBXbu3WdBpBxcUAxde9PXDZV8/XPN/hAqmZfBz/z6wLG2iktdFRERERERUZIPM1Zwd5bOH1134+j9GJfuKqZYnJCRg7+ETSetWqazJrhEREVERZ6SnB0sTE5l5HBgahoiYGDkvr56+fo3Dt+/Itq62Nvo3rJ/jbRtVroRj06di9vbdWHP+onL+Nf8A+fj5wGGUMzFGW5dqaF/dBRXNzHDZzw+XfPxwydcPz9+Eptun19Nn2DxhXKpgOhERERERUYkrl2FnY41m7vURFR2D4ZNm4Oyla3IwQMH/8VOMnz4HV2/ehqGhAXp2aqvJrhEREVExYF/2bcmMR/ksmbHh4hUkJCbKdpdaNVDWxDhX25c2MMCiQf2w8f0x6FGnlpxO6WVYODZevor3/lmHrr8uxlc79mD3Tc8MA8zCgxcv5Xr3nrGkGBERERERleBMZmHB1zPQfdhEeD/0RZ+RH0BPVxf6+nrKMhna2tpYMHcGLMu9/SeRkm6dLZVc35GIiIgyZm9hjit+/rLtFxSEqtZWef69uzZFqYyhjdzyfMrbulaTDzGI4EUfXxy+fReHve7IzOTMiMEFG1ZygLujAyyMjfHxhi14ExUlazx3++1P/PfeaNR3sM9zn4iIiIiIiIp0kNnBriIOb16BhUtXy9IYz1+8QkxsrMxeFlnOH73/LhrUSRr8r6S7evUqPv/8c5w8eRJGRkbo27cvfvzxR5ib8zZZIiKibAf/e5X3TOazDx7C5+Ur2bY1N0OralXyfcJFyY1mzk7y8VWPLngUHCwDzkfv3JUBZFGj2a2SgwwuW5UpnWpbMejggCXLZRmQoPAI9P5jGf4ZM0Il/SIiIiIiIipyQWahvGVZfD/rY/kIC49AXFwcypQ2yXDwm5Lq4sWLaNu2LWbMmIGNGzfCwMAA69atw/79+zF48OCC7h4REVGhZF/27Rex/vkY/G/t+bdZzIPdG0JbDX+j2JqbY2SzxvKRHTHg4O4PJ6Lfn3/BPygY4TExGLxsBZYMH4wedWurvG9ERERERES5odGo7uGT59Cs62B8+cOvynkmxkYwMy3DAHMa77//Pnr27InZs2fD1NQU+vr6GDVqFAPMREREOc1kzmNN5jeRkdh1w0O2RamqIfkolaFKlS3LYc+UiXCtYC2nY+LjMWb1Wvxz7kJBd42IiIiIiEo4jQaZ4+Pi8cA3AE8DX2jysEWOp6cnrl+/juHDh8vphISEgu4SERFRiclk3nr1BiJjY2W7VVVn2FkUnjJVFUxNseuD8bKshqJ2tKjX/PvREwXdNSIiIiIiKsE0GmR2dLCVz4+fFr5R0b29vWVgNyAgIMfbREZG4t69e/D391dpIPjGjRvy+cWLF6hWrRr09PTg4OCAL7/8EtHR0So7DhERUXEjSlAoBsrNa01mVQ34py5mRkbYPGEc2rlUU86bu2svvJ8HFmi/iIiIiIio5NJokLmqUyU0qFMDHrfv4d4DXxSkmJgYrF27FiNGjICNjQ2qVq2KevXqYe7cudluGxQUJEtXWFhYyCCwCABXrFgRCxYskBlFacXHxyMqKirLR8rgcWhoqHz++OOPsXTpUhnM/vvvv/Hrr7/iiy++UPGZICIiKj70dXRgXaaMbAdHRCA0KipX299+8hTX/JO+cDY3MkKX2oVzMGJjfT38O3YE2ld3kdPi74/NV64VdLeIiIiIiKiE0miQWfwD9McPX8qM5mETp2P3weMIfPFKDvyX9qHuEhFPnjzBsGHD8M8//+Dp06ey7nFOhIeHywH5Vq1aJQPDzs7OsLKywrNnzzBt2jT5SOuvv/6CmZlZlg+xDwUjIyP5PGnSJLRu3Rq6urpo3749xo8fjyVLlmQYyCYiIqIk9inKW+S2LnPKAf/6N6wng9aFlZ6ODqa2b6Oc3nr1Ov9GICIiIiKi4h9k3rHvCBp3HiizmP0fPcXYj2ahduuesK3TOt1jwqfZZxTnhxhIb8iQITJYLALOs2bNytF2P//8syxnYWdnJ59FmQ0RpBb70dLSwqJFi3D58uVU24jgcHaZzCEhIcr1ReA65bOCk5MTIiIi8OrVK5WcAyIiouLIvuzbwf/8XuW8LnN0XBw2Xr6qnB7a2B2FnXslB1Q0M5Ntn5evcC3gUUF3iYiIiIiISiCNpucYGRrA1iZpRPTslDVP+odJXSpUqCDLZeSGyCAWWcnC4sWLUatWLdkWtR9F2Y1Tp07JshbLli1Dw4YN89w3Nzc3WYrDy8sr1fw7d+7IjOty5crled9EREQlKZM5IBeZzPs8bskSG0JdO1vUsKmAwk58wd2nfl38dvS4nN5y5Rrq29vlaFvxd803u/fhlPcDfNurOxpVrqTm3hIRERERUXGltiCz+MdF1CIW//yIh9CxTXP5KKpE0FdkPYvyFl26dEm3XJTfEEHmw4cP5+s4ojyGqA09c+ZMuLu7o3nz5jh+/Liszzx79uwc7aNJkyYZzvf09ISrqyvCwsJQ3ImsbyJea1RsJSaWiM/yvLAyTio7Jdx/9jzH52n1mXPKdr96tYvM+e3sWlUZZN529To+bdca2sl/e2Xl1P0H+PVI0nZfbd+Fze+NSrcOf5eSJvF6I15vVFzx8414rVFhYmJiUrSCzKI0xvjpc9CzczssnZdU+sLr3gM537WaE3q+0w5Fze3bt+Vz7dq1lYHzlMTAgYKvr68sgWFgYJDnY02ePBk6OjpyoD8R2HZ0dMT8+fPx3nvv5eMVEBERFX+2Ke6GepSiHFVWHgWH4PSDh7JtoKuDHoV0wL+MuFpbwdmyHO6/eInA0DBc8PFDUyfHbLdbfua8sn390WNExsTCUE9Xzb0lIiIiIqLiSH3lMkqVSjfr7n0fLFr2jww8F8Ugc1BQUl3H8uXLZ7hclLIQtZ7FgIDBwcGyJEd+iFrO4pEX5869zcbKKMNZXd9aFEYl6bVSweK1RhpVqhSvuUxUq1hR2X7y+k2OztPO0+dEcrjUo05t2BSx0lT93Rrg+70HZHuP1x10rJNU0iszd54+wwnvB8rpuIQEeL18iZZVq2S4Pj/fSJN4vRGvNyqu+PlGvNaoOFPbwH9lTIzl89NngSguYmJilOUsMqNYJgLNREREpHkVzUyV5SL8g4JlCa+sJCQkYP2Ft4P2Dm3shqJG1GVW2H3DUw5imJU/T5xKN+/sA59cH1ecu5hsjkVERERERMWf2jKZ69Zyhb6eHi5e88DHX/6AGtWq4NZdb7nM1/8xVm/YnuX2jvYV0bJJ4fonz8jIKMt6SuKf2MjISNnmN5REREQFQ0dbGzampggIDkZoVBRCIiJhnqJOc1onve/LdQXHcmXR1KkyihrRbzHg31X/ALyOjMQRr7voUqtGhusGhoZi8+Vr6eafSy4XklPX/APQ+49lMqBdq6INGlayR30HezR0sIdDWQs5MDIREREREZUMagsyW5iZ4uvPPsTM7xZi3ZbdqZbduHVHPrIiSmoUtiCzra2tsuZyRh49eiQHOxS1mC0sLDTcOyIiIlKwL2uuDBz7BQVlGWTeed1D2R7ayK3IBkf7Nqgng8zClivXMg0yrzx9Tpnp3KpqFZx98BCx8fG44ucv5+vr5OzPw4WHjiIs+c4tcdykY5+R0+VMjNFABJwrOWCQWwNUMDNV0askIiIiIqKSVZMZwIiBvdC+ZROcOHcJgS9ewcPLG3sOHUc1Z0d069g6y21dnAtfFlGdOnXkP56enp6y5rK5uXmq5SdOnMhyYEAiIiLSDHsLC5xBUmZuQFAw6tolfVGc0V1IIutXoWsRGvAvrZ51a2P29l1ISEzEwVteMou7dJpBiMXgfivPvB234eOObRG5JwYXffwQFRsns5MbV85+0EBRIuPEvaQ71DLyMiwcB255ycdvR45j/9RJqGptlc9XSEREREREJTLILFSsYIUhfbrJ9va9h2WQ2aVKZUyfNAZFjZWVFRo1aoTz589jwYIF+Oabb5TL4uLi5DyhZ8+eBdhLIiIisrd4+0Ww36ukgXszcvfZczwOCZFtUeLBubxlkT151qZl0KKKswz+RsbGYp/nbQxoWD/VOpuuXJUBYKG2bUVZGkQ8RJBZOPfAJ0dB5gs+vgiPThqrQpTp+Kl/b1zx9ZfZ0Jf9/PHwxUvlum+iojB0+Soc+vgDmCWXHiMiIiIiouJF7UHmlBo3rIt//vgRFawKxz9wd+/eVdZQfvLkiXwOCgrC9evXZVtkLYvs5ZRmzZqFbt264bvvvkNUVBR69eqF0NBQGWC+du2aLJMxYcKEAng1RERElDKTWUFkMmfmcIos5nau1YpsqYyUAwAqMoy3XrmWKsgsBulbcvztgH8TWreQr7eJU2UsOnxMWZf5ow5tsz1OyuzvDtVdZKa4eIxp0VTOexUWjku+fpj63yYZ1PZ5+QpjV6/Ff++NljWziYiIiIioeNFoTQfr8uXQsXUz1HKtisKgb9++qFevnnwsXLhQztu2bZtyXoMGDdJt07VrVxloFv+ozZs3D82bN0fnzp1x6NAhOdjfpk2b0pXRICIiIs2yL/s2yCxqMuckWCqCzEVdt9o1oZccxD121xsvw8KUy47euYd7zwNlu4KpKXrVS/oi3d3RAVrJwXWRoRwXH5/tcQ7ffju2RrvqLumWlzUxxjs1q2PV6Hehm9yf43e9MWfn3ny/RiIiIiIiKuGZzIWNi4sLdLIY3CazZaJMRrt27bBy5Urcu3cP+vr6cHNzw+TJk+Hg4KDGHhMREVFOOJQ1zzaTWdQsPv/QR7ZFYLa5s3ORP7mmRoboUMMVe256Ij4hQQ5qOLp5E7ls8fGTyvXGtWymDP6Kus21bG1wI+CxLIFx8/ETWQIjM4+DQ3Dn2XPlAH91bStmuq4ovfFjv174eMMWOb3kxCnUsKmAwY0aquw1ExERERFRwSvRQebNmzfnedvWrVvLBxERERU+VmXKyCBqbHw8AoKC5AB/aUthnLp3Xy4Xmjk7wVhfD8WBKJkhgszC1qvXZJDZ8/ETnLx3X84z1tPDu03cU20j6jKLILOiZEZWQebDXm+zmNu4VMt2sON3mzTC7SdPsfzUWTk9beMWWfvazZFfzBMRERERFRcaLZdBREREpAnaWlqwNTeT7YiYWOVgd1nVYy4uOlZ3VQbMzz/0xaPg4FS1mIc2dks3AJ+oy6wgBv/LSl5KjHzTqzuaV3GS7Zj4eIxYsRpPkgdcJCIiIiKioo9BZiIiIir2g//5v0pdl1lkNhe3eswKhnq66Fa7lnL6z2OnsOXq20GN32vZPN02jStXUrZFCREx9kRGYuLilAMLin21dcnZOBsiq3zFyGFwSK6VHRgahuF/r0ZkTGwuXx0RERERERVGDDITERFRsWSfoi5z2sH/7j57jsfJmbQi8CnKNxQnomSGwtKTp5VlQbrWqoFK5cqmW9/C2BiuFaxlOyQiEl7JNZfTEpnRom6z0MDeTm6XU2LdNWNHKrOsRXmOKf9tkgF/IiIiIiIq2hhkJiIiomKfyZx28L+0pTLS1msu6lpWdZaD8qU1sU3LTLcRdZkVRF3mjBxJUY85L9nfIpD957DByumtV6/j92Mncr0fIiIiIiIqXAo8yCxux8zslkwiIiKivLK3SJHJnKZcRsrB64pTqYyU5Sl61q2Tal4DB3u4Vcp8sL0mTo7K9tn7mQWZUwTnq7vkqW9datXA5106Kad/3n8IryMi87QvIiIiIiIqwUHmew98Me7j2XBt2gU2tVpiwqdz5Xxf/8f4/NsFWPbPxoLoFhEREZWATObQqChceOgr2/o6Omju7IziqG+DtyUzhAmtW2SZsZ128L+0ZSweB4fgTnIZDZElXde2Yp779nGHtmjmXFk5MOPaC5fyvC8iIiIiIiqBQeZrHl7oPGgcdh04hqjo6FTLbKzLY8e+I/jfwiV4/SZU010jIiKiYsQ+eZC5tDWZT927r6xRLEpEKGoEFzcia7lWRRvZrmZthW61a2a5vlWZ0nCyLCfbL8LCcD/wRabZ321cqkFLK+9/Ropgd8rSHctPnUE872wjIiIiIiqyNB5knvblDwiPiMTsaROx8JvPUy3T09NFp7bNER0TgwPHTmu6a0RERFSMlC9tAgNdHdl+FBSsLM+Vth5zcSUCuevfG43fhwzAtknvQUdbO9ttUmUzP/RJtezw7bfnrb0KzlsHVxc4Jg9C6B8UjAO3vPK9TyIiIiIiKgFB5rv3fXD73gNUtC6PCSMHif9+0q1T2d5WPnvcvqfJrhEREVExDLLamSdlM8fEx+P5m1BZAuJICQkyC9amZTDIvSHKly6do/WbZlKXOSYuDie9vWVbq1QptHGpmu++iUzoMc2bKqf/Onkm3/skIiIiIqKCkZTeoyE+/o/ks0tVp0xvsSyffJtm8Os3muwaERERFUMOZc3hHRioLJnxOjISj0NCkpdZwLm8ZQH3sHBJmcl89sFDGZQXwfrzD30RHh0j59e3t4OFsbFKjjekUUN8v++A3Pcp7/vwevoMrhWsc7TtZV8/eD9/IcudGOvrJz3r6cNIX1c+i2kTff0s61ATEREREVERDDIriAwYIaO/+V8FJw3MY2RooOluERERUTFjl2LwP1GS4dIbv1RZzAxApj1f5rAzN0dAcDCehLzGo5DXsDM3w5EU9ZhVmf1dxtAQg90bYvmps3J62cnTWDiwX7bb7bx+E6NXrcl2PT1tbViVKSPrTVuZJj1by+kysDEzRVPnynLwRyIiIiIiyh+N/lXtYJc0CrlvwGP5nNE/dldv3pbPzo4OmuwaERERFUP2Zc2Vbf9XQTh9/4Fyur2rSwH1qnBr4uSIgMtJX/pf8PGTQeZUdayrq/a8iZIZiiDz5svXMLtb5ywzpQNDQ/HJpq052rcokyIC5uKREXsLc2x4fwyqWJXPY++JiIiIiEjjNZldnB3hYGcD74d+uHDlRrrll697Yt+RU7KURqc2zfgOERERUb7Yp8hkFqUYLjz0lW2Rvdq8ihPPbiZBZoWLvn54HPIad589l9PlTIxR1zYpaUBVRIC3nUtSdnRkbCzWnL+U6bqifMf0TdsQFB4hp50sy2FE00bo16AeOtesgVZVq6Chg70suSEysg11dbM8tshu7/rrYlzx9VfpayIiIiIiKmk0msksMpe/+mQSRk+ZiVFTZsKtbk053y/gCb7430Ks37ob8fHxGDO0nzLrmYiIiCivRKaqwj6PW4iNj5ftpk6VYaSnxxObTV3mi37+OH7vvnK6rUu1TMfVyI/3WjXHkTtJ2dIrTp/FxNYtoKOtnW69LVevY89NT9nW0dLC8hHDUMvWJsugdGhUlBz08dmbN3j2+o1sP3/zBpsuX8XLsHAZsO69eClWjnq32A8ESURERERULDKZhS7tW2HBN58hOjoaB46dlvOue3phxbotiIyKxpC+3TBn+mRNd4uIiIiKeSazKJ2gwGBi5kR2cPkypWXb91UQNl69pvbz1qZaFXlc4VFwCPZ5JpVPS0kEiD/bsl05Pa1juywDzIoEB1H3WWRLt6jijP4N62Ny21b4pld37JkyUQ7+KETExGLoXyux8dIVlb82IiIiIqKSoEBGOhnSpxveadsCew+dwJ37DxEdHYMKVuXRsXUz1HStUhBdIiIiomLIwtgIxvp6CI+OSTWfQeasA7NNKjtix/WbcvrGoyfKgZvbuFRVy/sksqPHtWyGz7bsUA4A2L1OrVQZyR9v3IKQiEg5LYLLUzu0zdcxnSwtsXfKJAxcshyeT54iLiEBE9duQGBomAxEExERERFRzhXYcNoWZqYY1r9HQR2eiIiISkjAVGQzi3rMCiJ71bm8ZYH2q7AT5UQUQWaF+vZ2WQ7Il18D3Rrgf3sOyPIW5x74wOPRE2Wm8oZLV3Dwlpds62pr448hA+VzflmVKY2dH4zH8L9X48z9h3LenJ175OCCc7p3UUtpECIiIiKi4qjAgsxEREREmqrLnDLILLKYRfCZcjb4X8rzpk6lDQwwpFFDLD2RVE5t+akz+GVwfzwJCcEXW3cq15vxTgdUt6mgsuOKchob3h+DiWv+w84bHnLe4mMn8SI0DAMa1sfryMjkRxTeJD+LaW0tLRl4b1S5EmrYVJDTREREREQllcaDzFdv3saZC1dQr3YNNG9UP9WyJ88CsWXXAdhUsELfbh013TUiIiIqhhR1dxXau7oUWF+KChdrK5gbGSE4IkI5r3119Z+3Mc2bYtnJM7I8xuYr1zC7e2d89N8WvImKksvr2duppZSFga4u/hoxFOW27sCK0+fkPDEwoHhkRbHcRF8f7o4OaFzZUQad69vbw1BPV+X9JCIiIiIqrDQeZP782wW4cesO9m9Ynm5Z+XIWWL1xB54FvkDjBnVQsYKVprtHRERExYydhbmyra+jg+ZVnAq0P0WBKBMhAqb7PG/JaUsTE9Sxraj241a2LIcO1V1kaYzouDgMWbYSV/0DlO/d70MGQEcFZTIyIjKRf+zbC+VLl8YP+w7matuw6GgcvXNPPgRRykPUr148dCDMjIzU0l8iIiIiohIbZH7oFyADzJUdbFG3ZvpsGB0dHXTv1AZ/rlyPXQeOYfzIQZrsHhERERVDlcqVTVVr2EhPr0D7U5RKZiiCzCJgqqn6xO+3bK6sv6wIMAufdemIatbqTUAQZVQ+6dReluPYevU6tLVKwdTQUD7KGBokPRskPYdEROCCjy8uPPSVAweK7GuF2Ph4+RrWX7yMCa1bqrXPREREREQlMMj8SD5XrmSf6TrOycse+ietS0RERJQfbapVlWUWHr54iY87tuPJzKFB7g2w6sw5WX9YHSUqMtOyqjOqWpXHveeBynlulRwwUYPB2i61ashHdnrXryufRa3mS77+uPDQB0fu3MWNgMdy/s1HT9TeVyIiIiKiEhdkToiPl89hYeGZrvMmLEw+x8bGaqxfREREVHyJersHP5qMhMREDs6WCxbGxjgyZaI8b6ZlykBTRDbxuJbNMH3TNjltoKuD34YMKNTvnRg8UAyMKB4D3Bqg8Xc/y/m3nzwt6K4REREREWmERv9ad3Swk893vB8iPCIy04EBBQdbG012jYiIiIoxEbgszEHKwqqgzttAtwZo6GAPPW1tzO/fF87lLVFUOJYrC0PdpEH/RDZ2TFxcQXeJiIiIiEjtNPpfQ5XKDnCqZIeQN6GYt3hFuuXnLl/H7oPHZbtj62aa7BoRERERFRKibva+qZPg8+M3GOjeAEWJCMq7VLBW1ma+H/giV9uLsi7f7t6H7dduMEBNREREREWGRstlCLOnTcTIDz6Xg/t53X2ADq2bwdBAH9c9vbBxxz45aMrAXl1QvZqzprtGRERERIUoi1pfR+N/qqpEdRtrXEsetPDWk6dyIMGcmrDmP1zx85ft8mVKY3hjd4xo2gg2ZmZq6y8RERERUX5p/C/3d9q2wLw5n2L2j7/i+NmL8pFS/x7v4Mcvp2m6W0REREREKlGjwtug8u0nz3K8XWhUFK4mB6eFwDehmH/wCBYdPobONatjdPMmaFHFWQbgiYiIiIgKkwJJDxnWvwc6tWmOPYdP4N4DXznIX8UKVujQqilquFQpiC4REREREalEyszl3Az+5/H4ibyrT1F2Iz4hQbbF8+6bnvIh6lOPatYEI5s1LrKZ3kRERERU/BTYX6aW5SwwclDvgjo8EREREZHaymUo3H6a80zm6/6PlO1JbVqiQ3VXrDh9FrtueCAuOeAsajzP3LYTR73uYv17o6DFAS2JiIiIqBDgMOtERERERCpkYWwMa9Mysv309WsEhYfnaDtFHWehnr0dmjg54q8RQ3Fjzkx83qUTbMxMlcuP3LmLJSdO830jIiIiopKbyex17wE27TwA74e+CI+IRCKSbgtMqbl7A0ybOKogukdERERElO+6zM9ev1HWZW5exSnbba4HvM1krmtnq2xblSmNaR3bYUq71vj1yHF8t/eAnP/t7n2yRnMtW5sc9SkkIgLzDhyBkZ4uZnTuKEtyEBEREREVySDzuq27MX3Oz4iPj89yvfLlymqsT0REREREqq7LLLKNFXWZswsyiwCwz8tXsl3W2Bi25mbp1tHR1sZHHdriwkNfue+Y+Hi8/+86HJk2BYZ6ulnuPyw6GgOXrsAVP385LWo7D3BrkI9XSERERERUQEHmN6FhmPXdLzLA3LF1M7z37kDYWFuiFNKPkG1ibKTJrhERERERqaUu862n2Q/+d/PR41RZzKVKpf/7WBDzfx0yAK1+WoCXYeG49zwQc3ftwQ99e2W67+i4OLz792plgFk4dtebQWYiIiIiKppB5qs3byMiMhIVrctj+cJvoZdNxgURERERUVFUw6aCsi3KZeRm0L+69m9LZWRElM/4ZXB/DP1rlZxefuos2rlWkwMFphUXH4/3/lmHk/fup5p/7sHDHL0OIiIiIqKc0GghtqjoaPlcw6UKA8xEREREVGyJchS62tqyfefpM8QnJOS4HnOdFPWYM9OpRnWMbt5EOf3huk14ERqWap2EhAR8tGEL9tz0VM4T9ZiFR8EhCAgKzsUrIiIiIiIqJEHmyg528jk4JGkQFCIiIiKi4khPRwdVrcrLdmRsrLLecmaupchkrpdNJrPCnB5dUaV80jFehIXhw/UbkZiYNKC2eJ69YzfWX7ysXP9/vXugW+1aymlmMxMRERFRkQwyV3WqhBaNG+Dm7bvwC3hbd46IiIiIqDgO/qfg9TTzkhkvw8IQEBysLIVRwdQ0R/s30tPD0ncHKzOmD92+g5Vnzsn2vAOHsfTEaeW60zu1x/utmqOJk6Ny3tkHPnl4VUREREREBRxkFhkVi779ApUr2WH4pBk4ff4KwsIjEBcXl+4hbu8r6UJDQ3H8+HFs27YNN27cKOjuEBEREVEuuFZIMfjfk8wH/7sRkHrQv9yobVsRM7u+o5z+csduzN6+Cz/uP6Sc917LZvj0nQ6y3cSpsnI+M5mJiIiIqEgO/Ldj3xGMnz5HOd1vzJRM1+3ZuR2WzpuLkmr37t0YOXIk7OzsUKlSJZw6dQrVq1eX88uUKVPQ3SMiIiKiXA3+9zRH9ZhzG2QWJrZugSNed3HK+z6iYuPw5/FTymWD3Brg217dUapUKTntZFkO5UubIDA0DA9evMTzN6Eye5qIiIiIqMhkMhsZGsDWxjpHj7LmZiipRCb38OHD0a1bN1y7dk1mMnt4eMDT0xNz5rwN0hMRERFR4VXdxjpnQeYU9Zjr5rAec0paWlpYPHQgzIwMU83vUqsGFg3qJ5criGBzymzm8w9zXjLj2J17GLT0b3y/9wB8s6kxTUREREQli0YzmTu2aS4flDUfHx+EhISgR48eynkVKlRAo0aNcPXqVZ4+IiIioiLAukwZWBgbISg8Ar6vghAaFYXSBgbZZDInDZSdWxXMTLFwYD+MWvmvnG5Z1RnL3h0CneR6zSmJusw7rt9UlszoWbd2tvuPjY/HhDXr8TIsHIe97mL+wSNo5lwZQ9zd0K1OLRjr6+Wp30RERERUPGg0yEw5Y2Njg9KlS8PLyytVdrO3tzfat2/P00hERERUBIisYTH432nvB3L6ztPncHN0SLXOs9dv8PT1a9m2NTeDZWmTPB+ve51a2PD+GPi9CsJg94Yw0NXNcL3UdZlzlsksXoMIMKd05v5D+ZixZTt61auDIY0awq2Sg7I0BxERERGVHAUeZFYM8JfyNj5Nio2NxdmzZ3Hy5EmEh4fD3d0dffr0ydGgfHv27MG9e/dgYGCAhg0bonXr1ip5HcbGxvj7778xdepUhIWFyZrMW7duhZWVFebOLbl1qomIiIiKmhoV3gaZxeB/aYPM+a3HnFY712rZruNqbQVTQ0O8jozE7afPEBweAXNjoyy32X79RqrBBh+8eIHw6Bg5HRYdjTXnL8qHqPncxqWqDGQ3ruzIes9EREREJUSBBJnvPfDFz3/8jdPnryD49RvlIH++/o+x9J8NcLS3xXvvDlBrH4KDg/Huu+/i+PHjMpCrMGbMmGyDzIcOHcLQoUPx4sWLVPNFOQtRP1mUtkhJBKIvXryY5T61tbUxePBg5bTIZLa0tJT9E/u7e/cuWrVqJdcjIiIioqJBZDIr3H6avi6zqoPMOSGSIhpXroQDt7yQmJiI8z4+6FyzRpalMvbc9FROrxg5DOVKm2DXdQ+su3gpVTa0GExQPJafOiunHcuVRZPKjmjs5CiDzmKamc5ERERExY/Gg8zXPLzQb/SHCI+IhKGBfqplNtblsWPfEblsYK/OMFXjSNevX7/G7t27oauri5YtW8o/dk+cOJHtdiLY26tXL0RERKBOnTro3r073rx5g3Xr1uHChQtysD4RUE4ZDPbz88P+/fuz3K+enp4yyCzKZIj9Llq0CJMmTZLzIiMj0aJFCwwcOBBHjhzJ9+snIiIiooIf/C9VkDkPg/7llcg0FkFmQQSJswoyn7x3HyERkUl9tLNFpXJlZXtwo4by8fDFS/x38TLWX7yiLP2h4PPylXysu3hZTle2LIc/hw5Cg0r2anx1RERERFTsg8zTvvxBBpFnT5uIitblMX76HOUyPT1ddGrbHOu37sGBY6cxoGdntfXDwsICO3fuRJs2bWBiYoJ58+blKMg8e/ZsGWAWwWSRtayjk3QKp0+fjgYNGsiB+davX49hw4Ypt+nQoYN85JToh6jBLALKCoaGhjK4PWfOHMTHxzOjmYiIiKgIqGZtBa1SpZCQmIjbT57JzGFFJq9o3/B/G2SuY6u5IHNTJ8cc12Xece1tqYye9dIPEigCx190fQczOneUJUHOP/DB+YdJj8DQt3cMCiIgPWDp39j5wXjUSJHlTURERERFm0YLId+974Pb9x7I4PKEkYPEaCjp1qmcnMHhcfueWvtSpkwZmS0sAsw5JWo279q1S7ZFUFoRYBZsbW0xbdo02RZZzfnh4JBUq8/DwyPV/Bs3bsjjsGQGERERUdFgpKcnS0QIb6Ki8DgkRLnsSchrvEgu21aprEW2dZFVqZZtRRjr6cn2zUePERoVleF6MXFx2ONxSzndo076ILOCtpaWrNf8XqvmWDFqOG59PRsXZk7HL4P6y4EILZP/7ha1oPsvWS4DzkRERERUPGg0k9knOVPDpapTpgPklbcsJ59FrebC5vr164iKikLlypVRrVr6QVW6du2KGTNmZFt/OTsdO3ZEu3btZCbz5MmTYW1tLWszi8H/1qxZk6N9NGnSJMP5np6ecHV1TVWHurgSGedEvNao2EpMLBGf5VSw+LtUNaqVt5R1ioUrD3xg5qIr2+fueSvXqWlTQeM/0/XtbHHqwUPEJyTglNddtKzilG6dY3e9ZVBYqFPRBmX19XLVTytDQ/Ss6SofE1s0Rb9lK/E8NBSBb0LR549l2PzeSFiXKSPX5fVGmsTrjXi9UXHEzzbKidwk3BbaTGblQZMzmDNIZMar4GD5bGRogMLm4cOH8rlq1aoZLq9SpYq8/fHVq1cISZGlklsiU/ngwYNYvHgxQkNDcenSJbi4uODWrVupBgckIiIiosLPxdpK2b7z7LmyffPxE2W7dkXNl45wT1EX+aKvX4br7Pa8rWx3rVU9X8ezMzfDmlHDYG5kKKcfhYRg+Kq1CGZiABEREVGRp9FMZge7ivLZN+CxfM5oZOmrN5P+kHV2TCoZUZiIgK9gamqa6eB9RkZGsqyGWNfMzCzPxxKZ3v369ZOPvDh37lyWGc7q+taiMCpJr5UKFq810qhSpXjNkcbw8y1/6lZ6+3et96sg5fm8/TxQOd/dyUnj57lVdRfMP3Jcti8HPE53/Oi4OBzyuquc7u/ulu8+1jMxwYbxY9H7j6UIj46Bd+ALjFmzAVsmjpN/Rwu83kiTeL0RrzcqjvjZRgVBo5nMLs6OcLCzgfdDP1y48nYAEYXL1z2x78gpGWDt1KYZiqKEhIRMA+hEREREVPKkHODu9pOnykH/rgekGPQvORlDk+rb20FPW1u2r/r5Iyo2NtXy43fvyTrSQgMHe9hZmKvsuGvGjoR+8vgmV/0D8O7f/yAqNk4l+yciIiKiYh5kFoHXrz6ZJNujpszEll0HZdsv4Am++N9C9B8zBfHx8Rg1uI8y67kwEYMFCpmVwoiOjpY1m1OuS0REREQlmygTYaKvL9v3A1/IYK7fqyCERCTVOnYub4nSBpovFWegq4v6DkklM2Li42WwN6Ud124q2z3rZj7gX160qOKMv0YMlYMFCqe87+PDjVsQF5+UsEFERERERYvGazJ3ad8KC775TAZkDxw7Ledd9/TCinVbEBkVjSF9u2HO9MkojJydneWzl5dXhsvv3Lkjs1IsLS0ZZCYiIiIiSdylV93GWrYTEhNx99nzVFnMde1sC+xMNXVyVLbPPfBRtkUgfF+Kesw96tZS+bG71KqBXwf1V04f9LqLGdt3Ke8MJCIiIqKiQ6M1mRWG9OmGd9q2wN5DJ3Dn/kNER8egglV5dGzdDDVdq6CwqlOnjqwV5+/vDw8PD9SqlfqP7V27dqWqe0xEREREJFSvUAEXfZIG1/N6+kw+FOrZ2xXYSWriVBk4dFS2zz0Qg1y3k+1jd+8hNPkOPbdKDrA1V02pjLQGujeQJTk+37pDTm+5dgM1Ktrgw/Zt1HI8IiIiIioGQeanz1/gmsdtWJe3RP3a1TGsfw8UJYaGhujTpw/WrFmDqVOnYu/evdBPvvXR29sbCxYskO2hQ4cWcE+JiIiIqDCpnqIu863/t3cf0FGUXQPHL6QTIIGEQAIkEAgl9N57RxBQRFHEggoqir1hR9RXVEBRxPIBNpAOIh2kSO8ltNASWiAB0nv5zvOEXTakb5JN+//O2bMzszO7D5thdvfOnXuvXJUjl1IbYRd2JnPrWp66ZEVScrLsPR8gCUlJYmNlVaClMu72dNdOcis6Wr5Ys17PT161VlrX9pKOKgAOAACAYsGiQeY9B4/I2Fc/kCEDesmsLz+SwjZt2jQJCkrNItmzZ4++37t3r7z11lt62srKSiZPnpxmm48//lhnLG/atEkaN24s/fv3l4iICFmyZIm+79y5szzwwJ3L/gAAAABDuQzl2OWrcvhiapC5bJky0ri6R6G9QaoWdNMa1eVg4EWJio+Xo5cuS0N3d1l9zK9AS2Xc7fV+veVI4EVZc/ykDng/PfcP+ff1l8StQoUCf20AAAAUsyCzi7Ozvo+63eSksP3888/i53fnC7Ry5MgRfcssyFy7dm2dwTxy5Eg5c+aMzJgxw/hY7969Zf78+brBIQAAAGDg634nyKzKUiTerjtcv1pVcbSzLdQ3qkOd2jrIrOw4e16CwsIlKi5ez7erXUs8bn+HL0jq+/MX990rJ4KuScDNW3ItPELG/jpPFj37lLE5IAAAAIouiwaZmzdpKPZ2tnLi9Fnd0EM1QSlML7/8sgQHB2f6eGbj69ixoy6PsXHjRjl9+rQumdGmTRtp1apVAY4WAAAAxVVFBwepWamSXLx1yxhgLuxSGaZB5u//3WoMgB+9fNlipTJMVbS3l+9HPiD3zfo/iUtMlG3+Z3QJjbcH9rPYGAAAAFAMgszlHcvJq889KZOn/iDTZv0qrzz7uBSmMWPGmL2tra2tDBgwQN8AAACAnJTMUEFmUy08Cz/I3L52beP0rnMXJDE5yZhdPLhZwZfKMNXIvZp8dv8QeeWvxXr+q3UbpW3tWtKrYX2LjgMAAABFOMh86sx5SUxMlHp1askXM36WdZu3S5vmjaVyJad069avW1sG9u5myeEBAAAABaaRh7us9TuRZllRyGSu5FhOl/M4fjVIwmLulLVTpTLcndN/Ty9oj7ZvK7vOnpcF+w7o+Wd/nyf/vvaSVK9U8GU7AAAAUAyCzKpMxv++/dk4f+jYCX3LiGoOSJAZAAAAJYWvh3uaeeuyZdMtKywd6njrILMpS5bKMKUyqKc8cJ8cuXRZTgZdk5tR0TJmzu+y4oVxYmtt0Z8vAAAAKJI1mRs3lP+9/1qO1q3tWb3AxwMAAABYMpPZVEOPamJvY1Mk/gDtvWvJL//tSBPoHdSscaGNRzVD/L/HR0mfr7+VqPh42RcQKB/9vUomD7u30MYEAACAIhJkruVZXd8AAACA0qa2q4vY21hLbEJikSmVYdC+Tu208961xN3J8qUyTNWrVlW+fvB+GfvbPD0/a8t/0t67tsXrRGcnLDpG/ti9VzrW9S5Sf1MAAABLKmvRVwMAAABKKWsrK6lfrapxvigFJFVAWQXBDYY2byZFwf2tWsgTnToY51/4c4H4X7suRckzv/4p7y9fKUNnzJJr4RGFPRwAAIDSFWQ+H3BJfl+4Qqb/+Kus2rBFL1NNAaOioiUuPr6whgUAAAAUmK4+PsZ6zF186hapd3p4qxb63sXRUYa0KJx6zBn5ZNhgaVYz9WrIyLg4Gf3LrxIRGytFwdngYNl48pRxbH/u3lvYQwIAACgUFu+ckZSUJBM/nSZz/1omKSkpaZr8BV6+Kh0HjpS6tT3lv5V/WnpoAAAAQIF6pW9PcXeqKA3cq4p3Fdci9W6/1q+3dKpbR7yruIhr+fJSVNhZW8vsxx+V3l9/o5sA+l+/LuP/XCCzHx8lZcsW7oWZ83bvSzP/647d8mKv7mJVyOMCAACwNIt/+5ky4xeZM3+peNXwkHv790zzmLdXTWndvLGcOR8oh/1OWnpoAAAAQIGqYG8vz3TrLF3rpWY0FyUqMNrZp454ODtLUePpUll+Gv2IlC1TRs//c+SYTN+4Ocfbr/U7Ll+sWS/BEZH5NqbEpCSZv3d/mmUXb92SjSdSM5sBAABKE4sGmVUpjFm/LRArKyuZ/+PXMrBX13TrtG+VWv9tyw4uNQMAAACQqlt9H3l/8EDj2/HpqrWy4XjWiSmxCQny8l+L5JGf5ugg81uLl+Xb27np5GkJCgtPt3zOjl38yQAAQKlj0SDzwWMnJSYmVlo28ZVantVFbmcimKruntoM5cLFy5YcGgAAAIAi7vkeXWVoi9SkFFV6b+xv8+RccEiG6wbcuCkDp38vv+3ckyajOTqf+r+Y1l+e0KuHLuuhrD9+Ui7evJUvrwEAAFBcWDTIHHr7TH8V10r6PoMYs9ja2Oj7hIRESw4NAAAAQBFXpkwZmf7QA+LrXk3Ph8XEyGP/96tuumdq/fET0uur6XLkUtrEldiERNly2j/P4wiJjJQ1x44bmziO7d5ZhjRvagx+/7Zzd55fAwAAoDixaJDZqWJqA5HQsIhM17l4+aq+r+JS2WLjAgAAAFA8ONrZytwxj4mTg4OeP3E1SCbMW6iDu0nJyfLZqrUy8sfZEhodox8vb2cnA5s0Mm6/9tiJPI9hwd4DkpicrKf7NmoobhUqyOOd2hsf/33XHolPJGkGAACUHqnXdFlIk4b1dD3mI8dPSUxsnM5EMJWUlCRLV2/Q021aNLbk0AAAAAAUE7VdXWTWoyNl5E+zdXB5+aEjUtetiuwPCJTNp+5kKjd0ryazn3hUNzVcddRPL1vnd1ySk5OlbFnz8m3U6/1hUirjkfZt9H2bWl7SyMNd/K5clesRkbL62HFjdjMAAEBJZ9FMZmenijKkf0+JjIqWj6bMSFMSIzwiUl58Z7IEXLwiNTyqSe+uHS05NAAAAADFSG/fBvLOwH7G+a/WbUwTYH6gdUtZ89J4HXxWQel6Vd30chUAPhh4yezXPRh4UU4FXdPTbhUrSK8G9fW0SqB5rOOdbOY522kACAAASg+LBpmVSW9PkDq1asqc+UtlwsTJetmGLTvEt/M9snjlOnFwsJfvPn9PbGwsmmQNAAAAoJh5qXcPuadp2isgba2sZMoDw+T7Rx7UpTUM+jf2NU6v8Uutp2yO33fdyWJ+qE0rsbayMs4/0LqFONqmvuY2/zPif+262a8DAABQnFg8yOxSyVlWzftRnnl0hFSsUEEvi4qOkTJSRnp0bicrf58p7VqldowGAAAAgMyo7OEZD4/QZSqUGpWcZeWLz8oTnTqkK81nGmRee7tpX25Fx8fLkgOHjPMPt0stlWFQwd5ehrduYZyfu4MGgAAAoHQosHThoydOy4Jlq6WJbz0ZMWSAXpaYmChxcfFib28nH7/1onz05gtyPeSGxMbF60Z/5RzsC2o4AAAAAEogFdhd/8oLsvdCgLTwrCnlbmcS362Vl6e4lneUkMgoOX41SAJu3BSvXDYb//vQUYmMi9PT7b1r6VIcd3u8YwdjcHn+3n0y8Z7+4mBrY9a/DQAAQEp7JvPZ84Hy0+8LZeO2O7XIVq7bLHXa9tW1lxWVXVC1iqt41fAgwAwAAADALLbW1tKpbp1MA8yKav7Xx7dhnrKZ0zT8a9c2w3Wa1PCQ1l6eejo0OkaWHzqc69cBAAAobgosyGxtnZokrTKXAQAAAKCw5aUu87ngENlx9pyeVrWeBzdvkum6j3e60wBwNg0AAQBAKVBgQWavmh76fs+BI3L67IWCehkAAAAAyJFu9X3E7nYyzI4z5yQ8JibH79y8PfuM00NbNJPydnaZrjukeTNxLuegp/cHBMqRS5ct/heKS0yUn7ZulyEzfpDZ23da/PUBAEDpUmA1mZs0rCetmzeWfYeOSdd7R4mdyaVr/6zfLN6t+2S5/aC+3eWbTycW1PAAAAAAlDIqMNzFp45sOHFKEpOTZeOJUzKsZfNst0tKTk4TZB6VSakMA1WD+aE2reWHLdv0/Nwdu+SrEfeLJSQmJclfew/IlLXr5dKtUL1sx9nz0se3gdSoVMkiYwAAAKVPgWUyK79//4U88+gI8fH2Eju7zOujAQAAAIAl9DOjZMamk6ckKCxcT/u4uUnrWqk1l7PyWMd2xulF+w5KRGysFKTk5GRZdvCwdPr8K5kwf6ExwKykpKTI0oPUhgYAAMUwk1lxdqooH7/1onF+2aoNMu71D+WePt1l1pcfFeRLAwAAAEA6/Ro1lNcXLtXTG46fkoSkJLGxssrynfpz950s5kfat9ENzLPjU9VNuvjUlW3+ZyQqPl5+3rZDxvfslu1r5ZYKIK8/flI+/WeNHLtyNc1jVcqXl+DISD295MAheaFn93x9bQAAgAIPMp86c15Wbdgi9evWloG9uxXUywAAAABAjnk4O0uzmtXl8MXLEhYTI7vPXZDOPnUyXT8kMlLWHEvNeLYqW1ZGtGmZ49d6olN7HWRWJv+zRqZv+Fe/Vvf6PtKtno/UdauSo4C1QXxiogTevKWbEJ4PuaHvVc3nQxcvpVmvurOzvN6/t9zfsoU0+2iy3IyKlqOXroj/tes6+A0AAFBsgswnTp+V/337swwZ0IsgMwAAAIAio18jXx1kVlQAOasg849b/tPZzkpf34biVqFCjl9nQJNG4lm5kg4MK5Fxcfr1DEFrFQxWAeeWXjUlKTlFYhMSjLcYfZ+op1WpjvMhIXLxVqiuD50Z1/KO8nKfXrpUh72NjV52b7OmMmfHLj29+MAheWtA3xyPHwAAoNCDzFa3LwOLj48vqJcAAAAAgFzr39hXvlizXk+v9Tsuk4YOyjCjeOXho/L1+k3G+Uc7ZN3w726qNMay58fK3B27ZfPp03Lk0hVd3sLgcmio/LF7r77lRUV7e3mhV3d5umsn3dzQ1H2tmhuDzKpkxpv9++QqexoAAKBQg8zV3avq+/2Hj8v14BviVsWloF4KAAAAAHKsSXUP8XB2kiuhYbrsxOlr16V+tdTfLwZHLl2W5/6Yb5wf1qKZ9PFtkOt32dOlsrw3eIC8JwPkZlSUbPM/K5tPnZYtp/yNGc45pQLI3lVc9a1OFVep7eqipxt5eIhjJo3W29euZfy3qvIahy9dluY1a+T63wEAAFAoQebmjRuIb706cvz0WWnR6z5xc60scfEJ+rF1m7dL6z7Ds9y+b/dO8unElwtqeAAAAABKKZXJq0pmzN6+U8+vPXY8TZD5WniEjPp5jkTf/v3SwrOmfDNyRJ4zgCs7OsqQ5k31TWU0qwD35lP+cuHGDbG3ttYlLgw3B3WzTZ2u7FhOaru66nIYuR1D2bJlZWiLZvL9v1uN2cwEmQEAQLEJMqsvM3/O+ko++XqmbPpvt1y9Fmx8LCYmVi7FBGW5/Y1boQU1NAAAAAClnCqZYQgyr/E7Li/27qGnVQ3k0b/M1Zm/iruTk/w25jEd8M1PKlhsyEouaPe3bG4MMi87eFg+HDxQ/14DAAAo8kFmpZqbq8z4/D09nZiYKEtXbZAX3v5EBvfrId9+9m6W21qVTa3pDAAAAAD5TTX7UyUmouLiZe+FQAmOiNSZwi/NXyT7AwL1Oiqb+PenHpNqThWL9R+gaY3qurzG2eAQHTzfdf6CdKzjXdjDAgAAJYjFTl9bW1uLSyVnqV+3ttTwqCb2dnZZ3mxsCjT+DQAAAKAUs7O2lp4N6utpVbpi/fETMn3Dv7Jo/0HjOt898qA0KwH1i1XW9H0tmxvnF5v8GwEAAPKDRa+R6tmlvWxZ/pt88NrzlnxZAAAAAEinX6OGxump6zfJJ/+sMc6/2b+P3Nu8aYl510yDzH8fPioJSUmFOh4AAFCyUIgLAAAAQKnU27eBlL3dSE814TNQjfJe69dbShKfqm7SpIaHnr4ZFS2bT50u7CEBAIASpMBqUhw74S+LVq6VJg3ryf2D+qZZlhOm2wEAAABAfnMtX17a1vaSXecuGJc1r1lDvh05QpeYKGlUNvPRS1f09JIDh6WP751M7txQWdCL9h2U/9u+U+xtrGXGww+Kl0vlfB4tAAAoTgosyHzmfID8MGe+DBnQyxgsNizLCdPtAAAAAKAg9GvsawwyqwZ/vz31mDjY2pTIN3tYi2by0YpVenrV0WMSHR8v5Wxtc7x9fGKizN+7X9euDrhx07h8+Myf5J8Jz4lbhQoFMm4AAFCKg8xtWzaVn76eJNXd3dItywnT7QAAAACgIDzesb2s9zspodHRMuORB8XdyanEvtE1KlWS9t61dFA9Ki5e1h8/KUNyUHc6NiFB/ty9V6Zv2CyXQ0PTPa5KjTz4wy+yfPxYqejgUECjBwAApTLI7FHNTd+yWwYAAAAAhaWCvb2seGFcqfkDqJIZhsztJQcOZRlkVpnOv+3cI99u2ixBYeFpHqvlUlkeattaZzXHJCTI0ctXZNTPc2XBuDFib1MyM8EBAEDmaPxXSPbu3Svjx4+XQYMGyYEDBzJcJzY2Vr7++msZMWKEPPHEE7J69WqLjxMAAABAyXFv86ZiVTb1Z+B6vxMSFh2Tbp2UlBQdgG47+QuZuHRFmgBznSqu8t3DD8qud17XzRFnP/GoWN9+vh1nz8nTc/+UxKQkC/6LAABAic5kjomNk1uhYWZv72BvL5WcK0pJNHDgQAkODpauXbvKP//8o4PNd0tISJDevXtLeHi4vPnmm3LlyhUZPny4fPLJJ/Lyyy8XyrgBAAAAFP9mh93r+cjGk6ckPilJ/jl6TB5u18b4+Kmga/Lm4mXyn//ZNNvVr1ZVXu3bS2c+G4LUSm/fBvLtwyPk2d9Te++sPuYnry5YItMeGp6n5ok3IqNk59lzkiIittZWYmtlbby3sbYSO2trcXeqKM7lypn9GgAAoBgEmddu2ibjXv/Q7O1V479ZX34kJdGsWbOkZs2acujQIZ2pnJFff/1Vdu/eLWfPnhVPT0+9zMrKSiZOnCijR48WFxcXC48aAAAAQEkpmaGCzIrKWFZB5ojYWPlq3Ub5YfM2SUxONq7r4+Ym79zTT+5p0kjKmgSXTT3QuqXcioqWd5au0PN/7N4rlR0d5YN7B5o1vrjEROk/bYau9ZwVGysr+W3MYzrQDQAASmiQuXIlJ2nZ1DfDx4Kuh8iVoOv6S4p71SriWM5BAi5ekTjV3djBQRr41BZvzxpSUqkAc3aWLFkinTp1MgaYlZEjR8qrr76qy2aMGjWqgEcJAAAAoCQa2LSR2C+0ltiERNl6+ozM2b5LB5ivht25EtXR1lZe699bxnbtLLbW2f9sfKZbZ7kRFaWfR1F1nF3KO8r4nt1yPT6VRZ1dgFlJSEqS7/7dSpAZAICSHGTu2qGNvt3tv1375fEX35YObZrLtElvi1fN6np5dEysfDHjZ/lhznzp2r61vPni01Ka+fn5Sf/+/dMsc3d3l4oVK+rHAAAAAMDcZod9fBvK34ePSnJKiry2cEmax4e2aCYfD7lHPJydc/W8bw3oq8tczNmxS89/uOIfcXF0lJHtWufqedYcO26c7lCntnhVrqxLe6igsspyTkhMku1nzuplqg60yqKu5EjZDAAASmSQOSMJCYny3Jsf69pcP309SVwrVzI+Vs7BXj58fbycOnNepv34q/Tu1lFaN29s9mtFRkbKv//+K+vWrZOtW7dKVFSUbqD36aefZrutqpM8e/ZsOX36tNjb20vr1q1lwoQJUr9+fbGU0NBQHVC+m1qmHgMAAACAvJTMUEFmU6o0xv+GD5Gu9XzMek71O+9/w4fKrehoWX7oiF728l+LdKC4lmvOyv2ppoNr/e4Emb8ecb/4VHVLt94jP82WtX4nJCk5WdYfPyEj2rQya8wAAKAYBpkPHPGT6yE3pFPblmkCzKZ6dWkv//63W1Zt2Gp2kPnSpUvi7e2tm+eZun79erbbvvLKKzJ16tQ0y/bu3auDzosXL9ZN++4OSM+cOTPL57S1tdXlL3LD2tpakjLoyqyW2djY5Oq5AAAAAMBU74YNpJpTRQkKC9elMV7t11vGdctZaYysqKaA3496SJfOUGUvVH3nRfsPymv9eudo+6OXr8iV2w3ka7u6SF23KhmuN7BJYx1kVlYfO06QGQCA0hRkDrmZmoGbVZdhdeZaCb5x0+zXSUxMFDs7O+nXr5/07dtX/P395dtvv812OxUIVgFmFeBVDfaGDRsm4eHh8tVXX8ny5cvl4YcfljNnzoirq6txm0aNGsm4ceOyfF7VsC+3PDw8JCgoKF2AOSQkRJfNAAAAAABzOdjayIrx43RN5n6NGoq7s1O+vZl21tbyat9eOsisLD14OMdBZtNSGf0b+2b627Fvo4b6MfX7cdOJUxKbkCD2JOMAAFA6gszuVVODs4f9TsqNW6HiUil9ja9N/+3W9x7VMj5jnRM1atSQmzdvGjN+v/zyyxxt99lnn+n7Dz/8UAeZDTp27Kib8O3evVu+//57ef/9942P1apVS9/yW/v27WXTpk1plu3fv19nZ6vHAAAAACAvvKu46ltB6FjHW9wqVpDr4RFyKuianLgaJA3dq+U6yJyZKhXKS7vaXrLr3AWJio/XwXIVeAYAAKUgyNy8cUPx9qoh5wIuyVMvvytff/SW1PaqoR+Lio6RKd/9oktllC1bVob072X266hM5Ny6evWq7Nu3T2/7wgsvpMtEfumll2TkyJGyYsWKNEHmgjJ27Fj5+eef5c8//9QZ1MnJybqedMOGDaVr167Zbt+hQ4cMlx87dkw/h6pZXdJFR0cX9hBQSrCvoVCkpJSKYzkKF8c3sL8hLwb6NpQ5u/bo6b927ZHX+vTMcv2rYeFy5NJlPe3kYC+NqlTJ8rOuZ726OsisrDhwSDp61czx2Di+wZLY38C+hqKkfPnyBfK8ZQvkWTN7sbJlZcbn70t5x3Kyc+8h6XjPSGnZ6z7pdM9IadBhgPwwZ75e7+0Xnxbf+nUtOTQ5fPiwvm/SpEmGDfc6d+5sDNJmVCs5N1TpjkGDBsmLL76o5z/44AM9P3nyZOM6rVq10rWen3rqKenSpYs0aNBAjh49KosWLTKr/AYAAAAAWNLgpo2M038f9TOWRszMxlOnjdM96/mItVXWP1f7NLjTmH3DydO6CSAAACgFmcxKy6a+smHRbPnftz/Jus3b5UpQajM+FTht07yJTBg7Wnp3zTgLtyBduXJF33t5eWX4ePXq1XWWc1xcnNy6dStNXebc6tatm9SuXVtPv/HGG8bl1apVS5fN/MADD8ihQ4ekXLly0rp16xxnae/cuTPLDOeCOmtRFJWmfysKF/saLKpMGfY5WAzHN1gS+1vJ0aVBfalRyVku3QqVgJu35GxomDSvmXola0Y2367hrNzTvGm2+0KT8uWlQbWqcjLomoRERcmpGzelbe3sSxmeDrom7y5dIfGJieLm5CSu5R3FpXx5cXF01GU4XMo7iruTk3i5VM7lvxjIGsc3WAr7GkpFkFmp5VldZk75UGcEB10PkcSkJKniUlnKOdhLYYmKitL3Dg4OGT6umkqoxyIiIvQlW3kJMjdt2lTfcqJy5crSs2fWl5UBAAAAQFGjrmQd2qKZzNi0Rc8vPXAo0yBzZFycrqus2FhZSc8G9XL0GgOaNNJBZmXVUb9sg8wqm3rsb/Pk6OXUJKOsPNqhrUx9cHiOxgEAQGln0XIZd1PZy9Xdq4pXDY9CDTArdnZ2+l411stMfHy8vre3L9yxAgAAAEBxoILMBssOHtG9ZjKy+eRpib9dlrBTXW+pmEnyT0ZBZoNVOSjJsfrY8RwFmJXfd+2V6Nu/AQEAQBHMZC6KDJnJQUFBGT6uSmSoUhnqbLyzs7OFRwcAAAAAxU+zGtWltquLnA+5IZdDQ2XvhUBp550+23jNsePG6f6NfXP8/M1rVJdqThUlKCxczgWHiP+161KvWtUM11UB6Clr1xvnx3bpKD19G8qNyEgJiYySkMhIuREZJeuPn5DrEZF6ffWcjat75PrfDQBAaVOomcxFia9v6heZI0eOZNjY78CBA/pe1VImkxkAAAAAsqfKDt7XsrlxftnB1IbrplTDvvXHTxrn+zXKeZBZJQENaJw2mzkza/1OyNFLqVnMlcuVkwk9ukqvhvVlRJtW8lyPrvL+4IEyfeQD0qthA+M2Z64H53gsAACUZgSZb6tfv77UrFlTwsPDZfny5eneqLlz5+r7vn37WvYvBAAAAAAlpGTG8kOHdVDZ1L4LgXLjdo+cRh7uUrNypVw9/0CTkhmqHEZOspif7txBytnaZrhuXbcqxmmCzAAA5AxBZpMz7OPGjdPTzz//vOzevVtPq6zm7777Tn777Td9lnzs2LE5fGsBAAAAAA3dq0mD2yUsVBmK7WfO5UupDANVw7nC7b45+wMC5WpYWLp1VKb04YuX9XRlx3Iyul2bTJ+PIDMAALlXYoPMAwcOlLp16+rb559/rpctXLjQuKxBgzuXQBm88sor0rZtW12XuX379uLu7i6VK1eW8ePH68ffeustadbszll4AAAAAED2hmVRMsM0yNzPjCCzrbW19G5Y3zi/9tiJDLKYNxjnn+/RTRztMs5iVggyAwCQeyU2yBwYGChnz57Vtxs3buhlqhSGYdmZM2fSbaNqLa9fv15nMlesWFEHm9U2qg7zDz/8IJMnTy6EfwkAAAAAFG9DWzQ1Tv99+Kgk3O6DczY4WPyvX9fTVStW0I38zDHAtGTGXXWZN544JQcDL+rpSuXKyZOdO2T5XLVcXaRsmTLGchkqSA0AALJmLSXU6tWrJS4uLsvyGBlRweUZM2bItGnT5Nq1a2JnZyeurq4FOFIAAAAAKNnqVKkiTWtUlyOXLsut6GjZcspfevs2SJN13LdRQ12i0Bwqk9nGykoHr7f6n5GI2FhdQuPuLGbV4E8tj4yMzPS57KytxculspwPuSGRcXFyLTxCqjlVNGtcAACUFoUWZD4fcEm27zkgN26Fio+3lwzs3U0SExMlLi5erG2sxS6TJgw5pZr45YW1tbVUr27eWXQAAAAAQFrDWjbTQWZDyQwVZM5rPWaDig4O0rluHfn31GkdaFbZy6rh4L8nT+s6zYpzOQd5qkvHHD1fHbcqOshsyGYmyAwAQBErl6Ea6b016SvpeM9Iee3DL+Sz6T/K8jWb9GOBl69KnbZ9pdd9j1t6WAAAAACAAjS0+Z3+Nv8c9dMN+nafv6DnHWxspKuPT56e37RkxqqjfumymJ/tnprFnBN1q1QxTqsgMwAAKGJB5ikzfpE585eKVw0Pubd/zzSPeXvVlNbNG8uZ84Fy2O+kpYcGAAAAACggNStXkja1vPS0KmfxzpIVkpScrOe7168nDrY2eXr+ASaZ0OuPn5QNJ07K3gsBet7JwUGezmEWs0LzPwAAinCQOSoqWmb9tkCsrKxk/o9fy8BeXdOt075V6tntLTv2WnJoAAAAAIACNqxFszQNAPOjVIaBu7OTtPCsaQxij/9jgfGxcd0665IaZgWZg8lkBgCgSAWZDx47KTExsdKyia/U8qyuuu+lW6e6e1V9f+Fiaq0uAAAAAEDJcG/zpumasKv5Po0a5MvzDzQpmXEjKkrfV7S3l2e6ds7V85gGmc9SLgMAgKIVZA4NC9f3VVwr6fsMYsxia5N6iVRCQqIlhwYAAAAAKGCqgV7HOrXTLGvlWVPcKlTIl+c3LZlhMLZbZ3Eql/MsZqVqxQpS3s5OTwfcuClxifw+BQCgyASZnSqW1/ehYRGZrnPx8lV9X8WlssXGBQAAAACwjGEtmqeZz49SGQb1q1WV2q4uxnnV6E8FmXNLZVcbspmTU1LkQsiNHG+rAtJRcfFSELafOSsv/LlAdp9LbZgIAECpDDI3aVhP12M+cvyUxMTGpbtMKikpSZauTu3+26ZFY0sODQAAAABgAYObNRGrsmULJMisfmMOatrEOK8CzM7lypn1XOY0/wuOiJSWH38mPu98IP/5n5X8pJokPjXnD5m3Z588Oec3Y9NEAABKXZDZ2amiDOnfUyKjouWjKTPSlMQIj4iUF9+ZLAEXr0gNj2rSu2vOO/8CAAAAAIoHl/KO8mj7tnq6e30fnX2cn17t10seaN1SHu/YXl7q3cPs5zEnyLzs4GG5Fh4h8UlJ8vnqtZKf/K5cleDISD2tXuNAwMV8fX4AAPLCWixs0tsT5LDfSZkzf6n8vmiFXrZhyw7x7XyPJCYmiYODvXz3+XtiY2PxoQEAAAAALGDKA8PkhV7dpWYl53RXuOaVqqU8c9RDeX4ec4LMey8EGKd3nbsgx69cFV8Pd8kPe86nLZGx7vgJaVPbK1+eGwCAYpXJrLhUcpZV836UZx4dIRVvN3eIio6RMlJGenRuJyt/nyntWjWz9LAAAAAAABaiAsteLpWlrEnZjKLGnCDzPpMgszJnx658G8/ddZjX+Z3It+cGACCvCiVd2KliBfn4rRflozdfkOshNyQ2Ll43+ivnYF8YwwEAAAAAIA3vKq65CjKrEhaBN2+lWbZg7wF5f/BAnV2dV3vOB6Qrn3H5VqhUr+Sc5+cGACCvLHra+HzAJTlzPjDN2euqVVzFq4YHAWYAAAAAQJFRztZWatwO4N6KjpYbkVFZrr//rixmJTIuThbvP5jnsVy6dUsuh4amW65KZgAAUOqCzKoWc+dBD8uQR5+Tv5atluiYWEu+PAAAAAAABVIyY++FOwlVLTxrGqfnbN8lKSkp+VYqw7mcg3GakhkAgFIZZK7tVUN8vL1k94EjMmHiZGneY6i88fGXOvgMAAAAAEDxDTLfyWR+b9AAcS3vqKePXr4iBwIu5lupjOe6dxWr27Wst/mfkej4+Dw9NwAAxS7I3KxRA9n29x+y4rfv5aFhAyUxMUl+/WuZ9BvxlPS+/wn5vz8XS1h4hCWHBAAAAABAnoLMCUlJcvjiJT1tY2UlbWt7ycPt2hgfn719Z57e4d3nzhun+/g2lHa1a+np2IRE+c//LH89AEChK5RWvm1bNpVpn7wjR7Ysly8/fENaNvWVYyf95Z3JU3V28/i3JsmhY2Q3AwAAAACKfpBZNeGLSUjQ002qe4i9jY2M7tBO9yFSlh06LLeios0aQ0RsrBy/GqSnVQNBX49q0rdRQ+PjlMwAAJTaILNBecdyMuqBe2XVvB9l8/JfZezoB8XBwUEW/b1WZs6ZV5hDAwAAAACUcjkNMu8zKZXRupanvq/l6iI969czZhzP37vPrDHsuxAoybdrOrep5aVLZfQzDTIfP5Hnms8AABTrILMprxrVpXFDH6njdadBAgAAAAAAhcXDyUkcbGz09IUbNyQxKSnbesyta3kZpx/v3D7PDQB3mZTKUGU4DMHvWi6V9fSV0DBjpjMAAKU2yHzk+Cl58+MvpVn3IfLC25/I3kNHpYGPtwzq072whwYAAAAAKMXKli0rdaq4GusuB9y8mWm2sYHKNjbo69tQqjs76+mzwSGyzYz6yaZN/9p5p9ZiVmU4KJkBAJDSHmRWzf1Uk78+w5+Uvg+Mkbl/LZOkpCQZed89svKPH2Tzsl9lcL8ehTE0AAAAAACM6mRTMuN6RIQE3EgNPletWEFqVEoNKiuqtMWjHdoa5+fksgGgCmwfCAg0PldLr9RSHEpRCjJfCQ2Vv/bsl282/CuXbt0q1LEAAAqHtSVfLODSFZky4xf5Z/1miYmN08uaN24oj9w/SIbd00fXaAYAAAAAoKjWZe7XKPMsZlUqw9Dsz2BU+7YyZe0GSUpOllVH/SQoLFyqOVXM0Wsfu3xFouLj9XTj6u668Z9Bhzre4mhrqx/fFxAoNyKjxKW8o1hCcESk/Od/Rv47c1ZnZ58LDjE+tvTgYdn02oR07wMAoGSzaJD54JHjuqmfc8UKMvK+QTJq+GDxrV/XkkMAAAAAACDfmv9l1PTPlAooD2zSSP4+fFQSk5Plj9175dW+vXJfKqN2aqkMAztra+neoJ78c+SYrvW88cRJGdGmlRSUy7dCZebmbbLltL+cyKIG9NHLV+TgxUvS0pN+SwBQmli0XIZnDQ+Z8fl7cmjzMvl04ssEmAEAAAAAxTrIbNr0z7Qes6knOt1pAPjrjt06qzkn9py/YJxu51073eOq5rPB2gIsmbHj7Dnp+eV0+WHLtgwDzG4VykuDalWN8wv3HiiwsQAAiiaLZjK3bOqrbwAAAAAAFLcg89m7gsyJSUlyKPCSnrYuW1aa1aiR4XN08amrGwiq5n+XQ0Nl/fGT0r9x1r+NVXbybpMgc9va6QPYvX0bGKf/PXla13C2sbKS/PTbzt3yxqJl+rkNnMs5SOe6dfS/q7NPHalX1U0Hn7t+MVU/vvTgIfl46KB8HwsAoOgqlMZ/AAAAAAAUBxXs7XVDP+V6RKSEx8QYH/O7clViEhL0dOPqHuJga5Phc6j6xI91bJ+rBoCBN2/p+s2KZ+VK4u7klG4dNa7mNVMD2+GxsbL73J2gdF6pAPrEJSvk5b8WGwPMtV1dZNWE5+T0Jx/InCdHy5guHaV+tar63+fr4S6NPdz1eiGRUTroDQAoPQosk/nYCX9ZtHKtNGlYT+4f1DfNspww3Q4AAAAAgMLMZr4WHmEsmdHSyzNd07/MSmUYjGzbWj5dtUZiExJl48nTcj7khg7aZiZtFnPaesym+jZqKIcupmZTrzt+QmcW51VodLQ8NfcP2XzK37isWz0f+fmxR6SSY7lMtxveuqUcW/GPnl6474AeGwCgdCiwIPOZ8wHyw5z5MmRAL2Ow2LAsJ0y3AwAAAACgMIPM28+cSxdk3ptN0z9TKjg7tHkzmb93vy6F8cWa9TJz1EOZrr/HJCu5nXfmQeY+vg30cynr/U7Kx0MGZbru1dAwCbh5U2q5uOgsaJWBfDf/a9dl1M9zdGkPg6e7dJJJQweJdTblL+5v1Vw+/nuVJKekyOpjfhIRG6szwQEAJV+BBZnbtmwqP309Saq7u6VblhOm2wEAAAAAUNSa/+1LE2TOOpNZebFXd1m4/6Bu/KcyfZ/p2klaeNbMNpO5XRaZzM1qVBe3ihXkeniE+F+/LueCQ8S7imuadVSw99N/1srP/+3QAW6lvJ2d1HFz1f+2ulWqSB23Kjo4/MbCpbr0hqHO9P+GD01T6iMrqqRH13p1dQa0ytheefiYjGzXOkfbAgCKtwILMntUc9O37JYBAAAAAFDcgszBEZFy4cZNPe1Wobyum5ydetWqyqPt28qcHbv0/AfL/5Hl48emyygOi46Rk0HX9HRFe3tpUK1qps9ZtmxZnc38x669el41FRzbrbPxcZVR/OaiZXIlNCzNdpFxcXL44mV9y0hlx3Iy+4lHpVPd3JXfeKBVS2OZjQX7DuRLkFllYE9auVr/HSb07iFWZWkvBQBFjUWPzOcCLsovfyyWzdv35GkdAAAAAAAspa6bW7og876AtFnMGZWeyMgbA/qIo52tnt5x9pys8Tuebh1VhsOQcdy2tpcOJGelr++d2sfrj5/Q96pp4BOzf5NHf56bJsCssqJVLeisArUN3avJ+ldezHWAWbmnWWMpd7sB4n9nzsqV0FDJq6kbNumA9aer1srU9Zvy/HwAgGKUyZyRI36nZOKnU3W95e6d2pq9DgAAAAAAlqKylG2trCQ+KUnOhYRIcnKy7DsfmKtSGQZuFSrIS717yuR/1uj5j1askt4NG4iNSb3jnDb9M1AlKgzjU7WjZ235T/63ep2x7IWiSmh8NeI+6eJTV8/HJyZKwI2b4n89WM4GB+vg+YWQGzpb+MN77zG7lrIqwzGgSSNZvP+QDpQv2n9IlwnJi+NXrhqnVf1p9W/Iqk41AKCEB5lzQn1YK2VzeBYYAAAAAICCpLJ+a1dxlVNB13St4Uu3QnPV9O9uqpzF7O07dYaxCu7+umO3jOnS0fj47nO5CzKrgLDKOv731GlJSEqSiUtXGB9TdZVf6NVdXunTSxxuZxgrttbW4lPVTd/y24jWrXSQWVm070Ceg8wXb97JhlZ1o8f+9qdsfv0lcS5XLs9jBQDkjyJXyOhy0HV9X7FC+cIeCgAAAAAA6eoyq3rJhy5eNAZxm9eskat3qZytrUwc2D9Ndm54TIwxw/hg4J3nbumVcWPAu6m6zHdr5eUpm16bIBPv6Z8mwFzQutWrq+tUK8evBsmxy1fMfi71flwNS1tPWgX5X/5rsbGkCACgFGQyHz91Rpb8s15P+59LPdN7/NRZ+eTrmenWvRUaLn+v+1dPN29yp6YUAAAAAACFqW6VO0HmlYePSnR8gp5uVN1dB41z64HWLeSHrdvk6KUrciMqSqZv2CzvDR6g52MSUp+7aY3qOX7ugU0byYcr/tElM1TN5/cGDZAnOnUolCZ51lZWMqxlc122Q1m474A0ru5h1nOpbG+Vvay4ODpKaEyMJCUny9+Hj8pvu/bI6A7t8nXsAIAiGmQ+ffaCzPjljzTL/M9d0LfMdG7XSoYN7F3QQwMAAAAAINeZzMsPHTFOt8lFPWZTqpnfR/cOkvu+/1HP/7BlmzzRuX2u6zEb1KhUSeaPHSMHAgLlgdYtpXolZylMagyGIPPiA4fk/cEDzQp4B968ZZxuX6e2Drx/tmqtnp+4ZIVuZFi/WtV8HDkAoEgGmVs1bywzPn9PT+8/7Cez5y2RVs0ayRMj70uznurEa29nJ961akpDH++CHhYAAAAAAGYFmaPi49OUpDCXatjXt1FDWed3QuISE+WTlWsk9nYWs5Lb5nbq+dStKGhWo7rUq+omp69dl6CwcPnP/6x0q++T6+e5aBJkrlmpkrzUu4dsOeUvO86e0xnfT8/9Q9a98oLY21iuHAgAoBCCzDU9qumbUq2Kq5w8c046t20lwwf3k9JO1Y+Ki4sTW1tbfRY7q/VUEB4AAAAAUPhBZlPmZjIbfDh4oGw8cUqXgFi0/6A4mpTHyE0mc1GjfsOqbObJ/6zR8wv2HTAryBx486ZxumblSjob+odHH5JuX0yTW9HRuuazKhPy+f1D83X8AIDcsWhxps7tW8nSOTPk1eeekNLs1KlT8uabb0r16tXFwcFB1q1bl+E648aNE09PT7Gzs5O6devKF198IYmJiYUyZgAAAAAozSo5ltM1gU1VKV9evFwq5+l561WrmqausCFLurari1StWEGKs+GtWhinVx45KlFxdzLAzcpkrlxJ33s4O8v0kQ8Yl/+8bYesOuqX5/ECAMxn+Q4AkIkTJ0rlypXll19+yfTdGDNmjJw8eVJWrlwp0dHRMmPGDPnkk0/k5Zdf5h0EAAAAgCKQzdy6lle+XHX6Rv8+Ut7OLs2y4pzFbBoU7lCntp5WAebVx/zyVJPZ83aQWRnYpJE81aWjcX7CvIVyJTQ0z2MGABTRchkZiY9PkFUbt8r+Q8fkZmiYJCYlpVunTfPG8tSoO2cmS5JFixbp+0OHDmW6zvDhw2X8+PFibZ36J+rfv7+MHTtWvv/+e/nmm28onwEAAAAAhRBkNm3M17qW+fWYTVWpUF4m9O5hLC1hTj3mompE65ay8+x5Pb1o34E02c05celW2prMpj689x7ZceacLpmhSmeMmfOHzH/mSXEq55BPowcAFNkgc+DlqzLymVfk7IWL2a5bUoPMOfHSSy+lW6bKZijUaAYAAAAAy6uTLpM5f4LMyrhuXWT29p1yJTRMz3fwTs0ALu7ubdZU3lq8XDc2/PeUv1yPiBC3CjkrA5KQlGR8P5wcHNIFj1Wzv58ee0R6f/WNbgK490KA3PPN9/LX2DFSvZJzjl4jPjFRZm/fpctyPN+zq7g7OZnxrwQAWLxcxoSJk3WAuUfndvLcEw/rZV3at5Lv//e+NG1UXxzLOcjUT96W158fky+vpwKyJ06ckH379klAQECOt4uKipLjx4/LuXPnJCmDTGtLi4yMlF9//VU6d+6cZZNAAAAAAEDBl8tQDeia16yZb8/tYGsjPz/2iLSt7SVvDegrPlXdpCRQgeF+jRrqadXccMn+zK/ovZsKMCenpKQrlWGqfrWq8u3DI8T69u/kk0HXpN+0GXL00pVsn//U7XUnLl0hP2zZJoO+mZmmBjQAIOfKWjqLeefeQ+LgYC8/fT1JmvrW08srV3KW+wb1lWVzv5OKFcrL1zPnSDU3V7NfJy4uTubOnSuPPPKIVK1aVXx9faVNmzYyadKkbLcNCQmRRx99VNdMbtSokdSpU0fc3d11073k5OR066sAdGxsbJY3NZ68Bsoff/xxPbavvvoqT88FAAAAADBPQ/dqxukm1T3E0c42X99KVYd51YTn5bV+vaUkGd66pXF686nTOd4u8ObNdE3/MjK0RTNZMG6MVLC31/NBYeEy6NvvZdOJUxmur37b/7jlP+n11fQ0weiAGzfl3m9/0PcAgCIcZD51JrUOU4vGDaW8YzmR2w0SVBBVKedgLw8OGSAXL1+V5as3mv06V69e1UHZP//8UwdmK91VtymrbOGePXvK77//LomJidKgQQOpXr26BAcHy5tvvplh072ffvpJnJ2ds7ypQHdevPjii7JixQpZsGCBNG7cOE/PBQAAAAAwT21XF3mpdw9p7OEuH9w7kLcxh1R2toH/9eAcv2+mWcVZBZmVrvV85J8XnzWWu1CNBkf+NFv+2LU3zXpXQ8NkxKxf5J2lKyQ2IVEvcy7nIBVvB6gv3rqlA83ngkNyNMbwmBj5c/deORCYfUlQACjJLBpkNpSdcHZKrb9ka5NaEjomJta4jpdndX1/5HjGZxxzQtUuHj16tA4WBwUFyTvvvJOj7VS28tGjR8XLy0vfqzIbly5d0s+jSlSohnt79uxJs824ceOyzWQOzUOH23fffVdmzpypxzBo0CCznwcAAAAAkHfvDhogm994Wbr41OXtzCEXR0epVK6cng68eUti4hNytJ1a18CzcuVs1/f1cJe1Lz8vjTzcjeU5JsxfKJ+vXqeT25YdPCxdvvhaNp/yN27TrZ6PbHvjFVny/DM62KxcDg2VITNmyZksAuLquefu2CVtJ38hL85bKIO/mZmmSSEAlDYWDTLXuH1pUdD11DOCVau46Pur1+4cuKOiovV9YqL5dZBVeQtDuQw3t5zVsVKXy/z88896+rvvvtMlNgzU84wZM8aYuWwpKuj92WefyezZs2XEiBEWe10AAAAAAPJLmTJlxKdqaj1rFew9FxKS+0zmHDby83B2lr9fGKeDxwZfrt0gXb+YKk/N/UNCo2P0Mjtra5k87F5ZOG6MuDs7SfOaNWTJc89IZXXVtYpThIXJkBk/iP+16+leY+vpM9Lzy+ny6oIlEhIZpZepxobr/E7maIwAUBKlphJbSF1vT6lQ3lHOXgiU+PgEaVivrjjY28kJ/3Pid9Jf6tetLctul8nwrpV/DRRyQmUtqzIbqrTGgAED0j2uAs0qwLxhw4Y8v5YqxaFu8fHxej4hIUFnPFtZWYmNjY1eNmvWLHnrrbdk+vTp8sADD+jHDexvX8aTlQ4dOmS4/NixY9KwYUNdGqSki45OPWEBsK+hREpJKRXHchQuPkvB/oaSiuOb5dWqVEn2nA/Q00cCAsWrYuoVzlk5H3wnIc3FwT7H331UNt1PD4+Qt5evlMUHD+tlJ64GGR/3da8m04YPlXpV3dLsC97OTvLHE4/KI//3m9yMjpZr4REy+NuZ8ucTj+p1L9y4KZ+uWS/rMqn1vPnESRnRvEm65exvsBT2NeRE+fLlpdhnMtvb2cngfj0kLDxSVqzdpGswjxp+ry6j0f/Bp6VZj6Gy79AxHYh+cGj6QG9BOn78uL5v0qSJLo1xt+bNm+v7gIAAiYlJPfNprhdeeEHXau7atasu7aGCyGpeBbINvv/+e7G1tZXXX389XY3ny5cv5+n1AQAAAACwpDpVXI3TZ3NY7/jyrTDjdA3nnGUyG9haW8mX990rL/boalym2kKN69JRlo0do4PGGWlYrarMGzNaXB0d9bzKVB75f7/K+3+vlj7ffJ8mwKzWeXdAH+P8zvMXJDk5tecUAJQ2Fs1kVt595VkZPWKouFRO/YB479XndC2jv5atkhs3Q6WBj7d8OvFlcc2mqH9+u3m7a21m5TWcnJx0QDguLk7XWHZwSK3VZA5VY1ndsnL4cOrZVnPt3LkzywzngjprURSVpn8rChf7GiyqTBn2OVgMxzdYEvsb2N9KpkY1axinA26FZvt/PTEpSYIiIvS0aspX3SRInRvvDxkkrb1ry0aVZdy6lbTzrpXtNq3Kl5cVL4yTod//KNfDI+RGVLT8uvtOA0FbKysZ172LvNynp1Swt5fFh47qTOlb0TESEB4hTWp4ZPi8HN9gKexrKBVB5srOTvpmYGtro4PK6paQkCg2t5sBWpoqWaEYylVkRD2mgszqBgAAAAAAcsZQk1nJqqGewZXQMJ2QpnjmMQltYJNG+pYb9apVleXPj5Vh3/8oQWHhxuWDmzWRDwYPlFquqT2mlK4+dY3lOLb6+2caZAaAksyi5TKyU1gBZqXc7U63UVGpRfvvppoTGMpkcEYIAAAAAICc86pcWWysrIxB5uTbAeTMBJo2/atcuVDeap+qbrJifGoTQXVb9vxYmf3Eo2kCzErnenWM09v8zxbCSAGg8BVeVLeIqVkztdHghQsXMnz84sWLuna0KpNRuZA+4AAAAAAAKI6srazEu4qrnAq6JjEJCXI5NExqZpGhfNEkyJzXTOa8UGNe/NzTWa7TqY63lC1TRpJTUmTn2XOSkJRkDKhn52pYmBy9dEW61fcRO2tCNACKrwI7gh074S+LVq41e/smDevJ/YP6iqU0a9ZMypQpI35+fro+892B5M2bN+v7pk2bZtgYEAAAAAAAZM7HrYoOMiv+165nGWQOvN03SclqvaKgooODNK9ZQw4EXpSouHg5EHAxR7Wf1boDpn0nl26Fyqj2bWXaQ8MtMl4AKFZB5jPnA+SHOfPN3n7IgF4WDTKrhn+qKd6OHTvkq6++ksmTJ6ep1zx16lQ9PXToUIuNCQAAAACAkkKVnzDwvx4sPRvWL/KZzDnVtV5dHWRWtvmfyVGQefUxPx1gVjaeOFXgYwSAYhlkbtuyqfz09SSzt6/ufufDxxwqI9lQQ/nSpUv6PiQkRPbt26enVdZyq1at0mzz7rvvysCBA+Wzzz6T6OhoHVCOiIiQr7/+Wg4dOiQuLi4ybty4PI0LAAAAAIDSmslsoDKZc1qTuUYxCDJ38akr0zb8q6e3nj4jr/Xrne02i/YfTFM2IzIuTsrb2RXoOAGg2AWZPaq56VthefDBB3Wg2dTy5cv1TbGyspLExMQ0jw8YMEA+/PBDfZs2bZq+GVSoUEEWL14szs7OFvoXAAAAAABQUjOZsw4yF7dM5ra1a4mtlZXEJyXJvgsBEh0fL+VsbTNdPzgiUv49eTrNsnPBIdK0RnULjBYA8l+JrSrfuHFjsbe3z/Rx60wK6n/wwQfSs2dPmTNnjpw+fVrs7OykTZs28txzzxmbAwIAAAAAgNypa5rJfD040/USk5LkSliYnq5gby9ODg5F/q12sLWRNrW9ZPuZczrQvOf8Belev16m6y8/dFiSkpPTLDt7PZggM4Biq9CCzOcDLsn2PQfkxq1Q8fH2koG9u+nM4ri4eLG2sRa7LM745cT8+ebXg+7SpYu+AQAAAACA/KECxu5OTro0xPXwCAmLjhGncukDyFfDwo0BWJXFrMpdFgdd6/noILOy7fTZLIPMi/bdKZVhcCaLwDsAFHUWDzInJSXJxE+nydy/lklKSoqxyZ8KMgdeviodB46UurU95b+Vf1p6aAAAAAAAoAD5VK2ig8yGoGqrWp7p1gm8edM4XbMYlMow6OJTRz67Pb3V/0ym650PuSH7AgLTLT8TTJAZQPFV1tIvOGXGLzJn/lLxquEh9/bvmeYxb6+a0rp5YzlzPlAO+5209NAAAAAAAEAB8nG7U5f5dCbN/4pbPWaDFp41xdEu9arswxcv6UztjCw2afjXrnYt4/TZ6yEWGCUAlIAgc1RUtMz6bYFuujf/x69lYK+u6dZp36qZvt+yY68lhwYAAAAAACyQyZxd879AkyBzccpktrGyko51vPV0ckqKbD+bWjrDlLqie+G+A8b51/r1FquyZY2Z3YYrvvODqgvd66vp8vBPs2XB3v0SERubb88NAIUaZD547KTExMRKyya+UsuzukgGdZWqu1fV9xcuXrbk0AAAAAAAgAUzmf2vBecgk7lysfqbdPGpa5zedjp9yYxDFy/J2eDUjGVVn7pbvbrGbO3IuDi5HhGZb2OZtHK1HL54Wdb5nZDn/vhLGrz7sYz+Za4sOXBIouLi8+11AMDiNZlDw8L1fRXX1ANoRrX7bW1s9H1CQqIlhwYAAAAAAIpEJnPxrMmsdK1nEmTOoC7zIpNSGfe1bCZly5aVum5VdJ1m5cz161K1YoU8jyM6Pl72XUhb9zkuMVFWHfXTNwcbG+nbqKEMbdFM+jf21VnYAFBsMpmdKpbX96FhEZmuc/HyVX1fxaV4na0EAAAAAABZU9m7jrapdYsvhNyQhKSkLDOZa1YqXkFmX/dq4uLoqKdPBl2Ta+F34h9Jycmy9OBh4/zwVi31vQoyG6iSGflVKsPw3qrn79mgnrEshxKTkCDLDx2RJ2b/JgOmfSchkfmXQQ2gdLJokLlJw3q6HvOR46ckJjZOytyVypyUlCRLV2/Q021aNLbk0AAAAAAAQAFTcYC6t7OZE5OTdaDZVGJSklwJDdPT5e3sxLmcQ7H6m6jM5M4+dYzz/5lkM6vM5uu3g84NqlWVxtXd9XSdKneCzIZSGnn1n/9Z4/TwVi1kwbin5PjH78lXI+7TJT3KmsRjVAmPwd/8IFdCQ/PltQGUThYNMjs7VZQh/XtKZFS0fDRlRpqSGOERkfLiO5Ml4OIVqeFRTXp37WjJoQEAAAAAAIvXZU5bMiMoPFwHnxVVq/ju5LTiwDTIvNUkyLxw38E0gV/Dv60gMplNg8yG8biUd5THOraXpc8/I0c/elc+GTpY7G2sjaVL7pk+U87lU5AbQOlj0SCzMuntCVKnVk2ZM3+pTJg4WS/bsGWH+Ha+RxavXCcODvby3efvic3tAx0AAAAAACg5fKqaBJnvCqoGmpbKKGb1mDOsy3y7+V9MfIKsPHLUuPz+Vi2M03XcXI3TZ/MhyBwRGysHL17S0+VsbaSlZ81066i6z+O6d5G/xo7RGePKxVu3ZNA334vfldQypgBQpIPMLpWcZdW8H+WZR0dIxQqpxeyjomOkjJSRHp3bycrfZ0q7Vs0sPSwAAAAAAGABPiaZu3dnMl+8cSfI7Fm5ePZq8nZ1FQ9nJ2PQXNWY3nDqtETFxetl7b1rpQmgV6tYURztUutUB9y4mWGd6tzYfe6Crv+stK1dS2ytM0/i61S3js5sruxYTs9fj4iUe7/9QfZdCMjTGACUPhYPMitOFSvIx2+9KH7b/pbDm5fJ7rUL5NSuNTJv1lfSqIFPYQwJAAAAAAAUeibzzWKfyazKYHT1uZPNvP3ceVl++Gi6hn+m6xvqMmdUpzq3/jtjUiqj7p3SHZlp4VlT/n7hWanmVFHPh8XEyP3f/yRbTvlnuo3KzD5y6bKcz+NYAZQchVqTQh1Iq1a5c1mIQWhYuOw9dEz6dKMuMwAAAAAAJYl3FVfdeC45JUVnMqekpBjrE6usXwNVk7m4Us315u/dr6f/OXZcdp67oKdtrKxkSPOm6dZXdZlV0NbQ/M80EJ8f9ZizU79aVfnnxedk+MyfdOA4Kj5eRv74fzJr9MNSv6qbHL8aJCeuBsnJoGv6XgXC1d9P6d/YVz4eMkj/XQGUXkWq8HFsXJz88sdi+fan36Rbp7YEmQEAAAAAKGHsrK3Fy6WyDmaGx8bqEg2qRrASeKv412ROV5f5zDnjdK+G9aXS7dIUpvKr+V94TIwxWK1KcDSrWSPH26q/icpofuCHn3UgOT4pSZ6Y/Vu22605dlw2nTilazy/3KenVLC3N3v8AIovi5TLiImNk0V/r5WPvvxOPv7ye93gLz4+wfh4cnKy/LVstXQaOFImffW9hIZHSJ1anpYYGgAAAAAAsDDTTN3T164Zp9NmMhfPmsyKu7NTmsCxwXCThn+m6phkAZ8NNj/IvOPseWOGcQfv2jpzOjdUyYwV48dl2CzQVEV7e2nl5Sm2t59fBaS/2bhZ2n86Rf7as1/HeQCULgWeyRxw6YqMeOolCbh4Jc3yb3/+XRbP/kZiY+Nk7GsfyL5Dx/Ty9q2ayXuvPiutmjUu6KEBAAAAAIBCav63zu+Enva/FqzLS6hmdZdvhRqzcJ3LORTrv436N5lmJZe3s5N+jXwzXDe/MplNS2V0ymGpjLupTOvFzz0t4/9cINtOn5Fari7S0L2aya2quDs56RInKhv9g+UrZdVRP73ttfAIef7Pv+T/tu+UT4fdK61IIARKjQIPMr/x0RQdYLaxtpauHduIYzkH2b7ngJz0PyefTZslu/YfljPnA8Xbq4Z8+Pp46dujc0EPCQAAAAAAFJFM5jPXr+v7oLBw3fjOkMVsqNNcnEtmzN6+0zg/uFkTcbC1yXBd03rGqiazubbnsulfZlTJi7lPjs52vdquLvLrmMd0k8B3lq6QU0GpWen7AwKl37QZMrpDO/li+FCxzmVG9dWwMFl77IS0qe0ljTzczf53ACghQeZrwSGydec+Pf3HD1Oka4c2ejrk5i3p98AY+X3R33p++OB+8uVHb4i9nV1BDgcAAAAAABQBPm53gswqk1kJvFky6jEbdKrrrQPlqrFhVqUyDEFdVapCBdqvh0dIRGxsrmsb34qKlmNXrhrLWTStUV0spVt9H9n8+ksy+7+d8r816yUsJkYv/3XnbqldxUVe6Nk9x8+l/u39p34nl0NDjc0Ln+naWfo1aihWZS1S9RWAGQr0f+dJ//P6YNqkYT1jgFlxrVxJRt4/SE9XcaksUye9TYAZAAAAAIBSwqfqnfIQ/rczmS/evGlc5lkCgsyVHR2lZ/16xvIgKliaFdOSGf5mlMzYcfacMaDdoU5tiwdkVf3nZ7p1lj0T35BR7dsal3+5doMOnufUlLUbjAFmQwmQ0b/MlXaTv5AfNm/TQWgARU+BHnHCIiL0vWf19Jc2GJY1a9xAbGwKvGoHAAAAAAAoQgFYF0dHPX3pVqhExcWXuExm5efHH5EfRj4g854cnW3QN03zPzOCzKb1mLMLaBckl/KOMvXB+3WgW1F/209Wrs7Rtqrcxo9b/jPOO9raGqcv3Lgp7y77W5p8MFneWbJczuWhrAiAYhZkTk5KraVknUEQ2dYmtQ6RqtEMAAAAAABKbzbz2eBguWgSZFY1mUsCVfKif6OG4lo+NaCelbw2//svTT3mulKYVJmQz+4bImVv19Wev3e/7LsQkOU2Kgv7rcXLjXW5h7ZoJkc/miiThg4SL5c7+0NkXJz8uHW7tP90ivy1Z38B/0sA5BTFbAAAAAAAgMXVTVOX+XqJzGTOjTpVTIPuucvSDYmMlBNXg/R0pXLlpJFHNSlsjat7yGMd2xvnVQA5+XYAOSPLDx2Rbf5njBnMHw+5Ryo6OMiz3bvqEhy/Pjla17k2SE5JkW83bS7gfwWAnLJInYptu/bLvaOeTbPsZmhYpo8pXTq0ltefH2OJ4QEAAAAAgEKtyxxc4moy55ZpJnNuy2VsP3POON2xrreULSIN8t4e2FeWHjwkodExcujiJZm3Z7880v5Ozy7T7OT3lq00zr/at5d4ODsb51WpkYFNG+vb0UtXZPjMn+RGVJScDLomgTduiqdJpjOAEhxkvnkrVPbcCs3VY+7V7pzRBAAAAAAAJYuPSSazqsWrajMrjna2Ohu3tFGBddU8LyEpSZcPUVm/OQ0Wb09TKqPw6jFnVHv7nYH95I1Fy/T8pJWrZFDTxuJ0V+nUr9dtlKthYcba1OO6d8n0OZvU8JA+vg10CQ5l/fGTMqZLxwL9dwAo5CBz+9bN5dfv/mfWtu4mZzQBAAAAAEDJ4lPVLU2Q1FCLt2alSrqmb2ljbWUltVxcxP/6dYmOT5Cg8PA02bzFoelfRkZ3aCdzd+wWvytXJSQySqas3SCfDBucplTKzM3bjPOf3z9UbK2zDlf1bdTQGGRe53eCIDNQ0oPM1dxc9Q0AAAAAAODuzF1bKyuJT0qSm1HRpboes2nJDBVkNjT/y0mQ+Vp4hJy+lrqNajDYoFpVKWrB80/vu1eGzJil53/etl1Gd2gr9apV1c3+3lmyQmdvKyrLuUeDetk+Z/f6PmJdtqw+MaHqOKtyG+Xt7Ar83wIgc0WjSA8AAAAAAChVVJ3dOiZ1iA08K5fe+rp1TBL1zlwPyXWpjE516xTJLHA1riHNm+ppFRieuPRvHWD+58gx+ffUab3cwcYmTYZzVlRDwA51UpsAqpMUW0+nNgwEUHgIMgMAAAAAgELhk0GQubRnMue2+Z9pqYxOdVMDr0XRR0Pu0YFkRQWWlxw4JO8u+9v4+Mt9ekqNSjn/2/dt1MA4vf74iXweLYDcIsgMAAAAAAAKvS6zaRmN0qpOlTtBZlUuIyf+K6JN/+6mAsgTevcwzj/7+3xjs8fari7yXI+uuXo+VZfZQNVlVpnRAAoPQWYAAAAAAFBkgsxkMqc6G5x9kPlqaJicC04tq+FWsUKG72dR8nyPbsaTCMkmQWFVs9n+dpZzbgLydaq4GutSH7l0OV/GGJeYKLvOnZew6Jh8eT6gtCDIDAAAAAAAiky5jNJck1k17nNycNDTgTdv6YBnVraZ1mOu410k6zGbcrC1kY+HDEqzrH9jX+njeycrOTdMt1PZzHmRlJws8/fsk/aTp8igb2ZKm8n/kzXHjufpOYHShCAzAAAAAAAoFHc3/nO0tZXKjuVK7V9DBYkN2bkq0/dCyI0s199uUo+5s0/RLZVh6p6mjaVXg/rGv/cnQ3PW7C/bkhnHT5r1HIYGhF2/mCrj/1wgF2/d0stvRkXLqJ/nyDtLlktsQoLZYwRKC+vCHgAAAAAAACidytvZSXVnZ7kcGmoslVHUs3Et0fzvQOBFY13m+tWq5qweczEJMqu/7+wnH5WlBw5LK6+aUsvVxeznau9dSyrY20tEbKwcDLwo1yMixK1ChRxvv/W0v3yyco3x/TawtbKS+KQkPf3j1u2y8+x5+XH0w0W+HAlQmMhkBgAAAAAAhcan6p1s5hqluOlfRtndZ7No/nfx5i0JuHFTT7s7OYm3a2oGdHFQztZWHmnfRhq4V8vT89haW0vPBvWM8xtymM2sgsr3ff+j3Pf9T2kCzNWcKsqXD9wnpyZ/IE906mBcfvTyFen91Tcyb/c+GgwCmSDIDAAAAAAACo2P253sUENTuNKeyWygMpkzs/nU6TRZzKU1A7xvLusyL9p/UPpNnSFbT58xLnMu5yDvDx4oeya+IY93aq+zo6c8MEzmPPGosUZ2VHy8vDBvgYz7fZ7OnAaQFuUyAAAAAABAoWnpVVNkW+p0k+oepf4vkSbIHJxxkDkyLk6+XLvRON+tXt1S+7718q2vA+yqtvK/p07rZol21hmHu66FR8ibi5YZs5HL2drIuG5d5Pke3cSpXGow2dSgZk2kuWcNGfvrPNl9/oJetnj/Idl/IVBGtGmlT4qoEi9eLpV1NrlVWXI5UXoRZAYAAAAAAIVmWItmusFdQlKSDtyVdrVNahSfvR6S4TpfrFlvrGOt1h/SvJmUVq7ly0srz5qyLyBQouLiZefZc9K9/p0SGqbeXbpCwmJi9HSzmtVl3jNPZlvDuUalSrJ8/FiZsnaDfL1+kw5QX7hxU/8NTFmXLSvVKznroHO9qm7yeMf24uvhno//UqBo4xQLAAAAAAAoNNZWVvJ6/z7yzj39M81ALU1UveIalZz19I2oKLkVFZ3m8SOXLsusLf8Z51VZBwdbGynN+ja6UzJjvV/GdZk3njglSw8e1tMq43j6Qw/kuEmg2kffHthPlj73jM5YzkhicrKukf2f/1n5v/92StcvpsqYOb/LyatBZv2bgOKGIHMhuXr1qnz55Zcyfvx4OXEi+5pBkyZN0usGBgZaZHwAAAAAAKBw1Kli0vzPpGRGUnKyvLpgib5XhrdqkWnWbmkNMq/1O56uOV90fLy8sWipcf7Z7l2ksRmlWVTt653vvCa/jnlMJg0dJE936ST9GjUUX/dq4mhnm2795YeOSJcvpspTc/+Q00HXcv16QHHCKcJC8PTTT8uaNWukc+fOMn/+fBk0aJA0bHjngHi3H3/8UT799FOJjY2Vxx9/XDw9PS06XgAAAAAAYNm6zFtO+xub/7Wu5aWnZ2/fKQcDLxqb1U0aOpg/i4g08nAXD2cnuRIapktZqPfMp+qdhpJT1mzQWcaKqqP8er8+Zr9v5e3sZGCTRumWq8D2rehoXfrl91175c/de3V2s1q+7OBhHXBWpWFe79c7zdiAkoJM5kIwZswYuXDhgrz55pvZrnv+/Hl544035N1337XI2AAAAAAAQBFq/nc9NZP5amiYfLJyjXH5+4MHSpUK5QtlfEWNavzXx7eBcX6t350rxo9dviLfb95qnP9i+LAMs47zYwyVHR2lpZenfP3g/bJn4hsyqn1bXatZUcHmJQcOSafPv5IX/1ygs6uBkoQgcyFo3769WFlZZbtecnKyPPbYYzoo3a5dO4uMDQAAAAAAFK46VVyN02eDU5v/TVy6QiLj4vR0u9q1ZFS7NoU2vqJeMmPd7SCzKivyyl+LjeVFhrZoJr1NgtEFydOlskx7aLjseud1eaRdG10HWklOSZE/9+zTf0+gJCHIXIR99dVXcuXKFV2PGQAAAAAAlM5MZlVneMXho3peZcZ+NeI+KXs7aIlUXXzqir1NalXY3ecvSFh0jMzZvksO3C4v4uTgIJOH3Wvxt6uWq4tMH/mA7Hz7NRnZtrVx+W8798iG4xk3KQSKoxJdk/no0aOybt062bp1q0RFRcnAgQPllVdeyXa7w4cPy2+//SanT58We3t7ad26tTz55JPi6nrnTGJB8/Pzk/fff19WrVol5cqVs9jrAgAAAACAwlW9krPYWVtLXGKinAsOkTcXLTM+9kKv7tLAvVqhjq8oKmdrqwPN64+f1JnLf+zeK1+sWW98/P3BA6RqxQqFNj7vKq7y7cMjdE3nn7Zt18te+muR/PfmK+JM3AclQIkMMgcFBUnLli3l6tWraZbXqlUr222nT58ur776qiQlJRmXLVy4UL788ksd8FUBZ1MqgL1gwYIsn9PGxkamTp2a4/EnJCTIo48+KqNHj5YePXrkeDsAAAAAAFD8qdIKKih54mqQDjRfuhWql9dyqSyv9OlV2MMr0iUzVJBZ+XDFP7o0haG8yKPt20pR8N7gAbLx5Cl98iAoLFzeXrJCZo56qLCHBeRZiQwyx8bG6gBz48aNpW/fvnL9+nX5/fffs91u8+bN8vLLL+ti7KoW8rBhwyQ8PFy+/fZb2bt3r9x77706u7l8+TuF9StVqiQNGmRdz8faOndv85EjR+TgwYN6/OPHj9fLLl26pO+nTJmiazqrcQIAAAAAgJJbl1kFmU1NeeA+cbC1KbQxFXWmzf8MAWYbKyvdiK+olBdRGdczHh4hg76Zqce4cN8BGdS0sdzTtHG226pmgTvPnpcWnjV0k0GgKCmRQeZq1arpWsbu7u56XmUh5yTI/NFHH+kA84QJE2TatGnG5cOHD5dWrVrJiRMn5Mcff0xTcqNJkyb6lp88PT11YPvuLqWKl5eXvgEAAAAAgJLLtC6zcl/L5tKjQb1CG09xUKNSJWnk4S5+V+5c2f5ir+5Sv1pVKUra1q4lz/foJt9u2qznX12wWNp51xJXk6TGu528GiSj/+9XnQGt/j1b33jZ2EwQKApK5N6o6igbAsw5dePGDV36Qp3Zeuedd9I85uDgoEtoKEuWLJGCVqVKFZ3BbHobMmSIfmzEiBFy3333FfgYAAAAAABA0Qgyq6Z1k4YO5s+Rw5IZBrVdXeSl3j2L5Pv25oA+0uB28DskMkpeX7hUJz5mZPmhI9Jv6gwdYFZOBV1LE0gHioISmclsjkOHDklycrIuUeHm5pbu8Z49exrXU//pDZnF5vjzzz9lx44dEhKSenD4/vvvZeXKldKsWTN5+umnJT906NAhw+XHjh2Thg0bSmRkpJR00dHRhT0ElBLsaygUKSml4liOwsXxDexvKKk4vqE47G/tPWuKs4ODhMXGyEf39BfHsmX4/pcDD7ZoKn/s2iMJSUny5X33SlJ8nETGx0lRNGXYYBk66xdJSk6Rvw8flT937JYhze6UzUhMSpYp6zfKrP92ptt2y4mT4u3slGYZxzbkhGkZ4PxEkPm2ixcv6vvatWtn+EapEhVWVlYSFRUlN2/eFBcXF7PfdJVlbajj3LlzZ+Py6tWrZ7qNWl+V0KBUBgAAAAAAJZ9reUfZ8soLug6vu1PFwh5OsVGtYkXZ/cbLEpeYJPY2RTvs1aS6h4zv1kWm/7tVz7+/cpV08PYStwoV5EZUlLzw12LZce6CcX1XR0cJiYrS03suBMoTHdoV2tiBuxXt/20WZMgGyyyar8poqLIZaj11y0uQuUePHvqWGzVq1DA2AcyJnTvTn+UyzXAuqLMWRVFp+reicLGvwaLKlGGfg8VwfIMlsb+B/Q0llTnHN46J5qsgxcNbgwbIJv8zcvTSFQmLiZWJf6+WN/r3kSdm/yaXboUa13u0Q1t5pU8vafHxZ3p+X8BFcXR0zPBKe/YbFIYSWZPZHDY2qd1ZExMTM10nISEhzboAAAAAAACA2fEoKyv57uEHxdbKSs+vP35S+k/7zhhgVsu/fvB+mfrgcKlZuZJ4V3HVy4MjI+XM9WDeeBQZBJlvq1Spkr4PDs74P2hERITExaXW8HF2drbU3wcAAAAAAAAlmK+Hu7w5oK9xPik5Wd97ODvJyhefldEmZTE6eN8p87rr3HkLjxTIHEHm2ww1klVjvIy6eR45ckTfe3p6Srly5bJ4SwEAAAAAAICce75HV2nt5Wmc71jHWza+OkFamixTOtQxDTLfqdcMFDZqMt/WqFEjcXV1lZCQENm0aZP06tUrzRv1119/6fvu3btb/q8EAAAAAACAEsvaykrmPDlaPlu9VupUqSLPde+il92tvUkm886z5yw8SiBzZDLfZmVlJY8//riefu655yQwMND4Jv3zzz8yc+ZMPT1mzJgs3k4AAAAAAAAg96o5VZTpDz0gL/bqnmGAWfFyqazXUwJv3pIroXeaAxakxKQk2XraXy6E3LDI66H4KbGZzE8//bScP59am8YQMF69erX07t3bGFReu3Ztmm0mTpwoy5Ytk9OnT4uPj4+0bNlS12L28/PTjz/xxBPStWtXi/9bAAAAAAAAgDJlyui6zEsPHtZvxs6z5+X+Vi0K9I05Fxwiz/4+X/YHBErZMmXk4XZt5K0BfY3BbqBEB5l37txpDA4bXLlyRd8MQea7qYZ+//77r4wbN05WrVolu3bt0ssdHR3lhRdekI8//thCowcAAAAAAADSU3WZLRFkVj3L/ti9VyYuWSFR8fF6WXJKivy+a48sOXBQnu/RTZ7v2U3K29nxZ0LJDTL//PPPEhkZmenjZctmXCmkRo0asnLlSrl27ZqcOXNG7OzsxNfXl2Z/AAAAAAAAKHQd6ngbp3edS72KP7/diIySVxYsln+OHDMuc7CxkdjERB18jo5PkClrN8jcnbvlzf595JF2bTIt8YHSocQGmdu3b5+n7atWrapvAAAAAAAAQFFRv6qbOJdzkNDoGDkZdE1uRkVJZUfHbGsqv7pwiRy5eFmae9aQrj51pUu9uuJavny6dTedOCUvzFsg18IjjMva1a4l3496SMJiYuSjFatky2l/vfx6eIS8umCJzNryn3xw70Dp69tQl/RA6VNig8wAAAAAAABASaOuzldB37V+J/T8rnMXZGCTRllus3DfQflj1149ffTyFflt5x493cjDXTr71JGu9epKS09Pmbp+o/y4dbtxO+uyZeWN/n3SNCNc9OxTsunkaflwxT9y4mqQXnb62nV55Kc5Uq+qmwxo3EgGNPGVlp41M60kgJKHIDMAAAAAAABQzEpm3Akyn882yDx7+84Ml/tduapvKhP5bt5VXOWHR0fqYLEplancq2F96V7fR+bv2S+frV4rQWHhxmCzuk3f+K+4Vawg/Rv56oBzF5+6Ym9jk4d/MYo6gswAAAAAAABAMdLBu7ZxWjX/y8rhi5fkQOBFPa3KbLw9oJ9s8z8j/505q0tuZOSxju3k4yGDxdHONtPntSpbVh5p30aGtmgmP2zZJr9s2y7XI+70R1OlNH7duVvf1PP0bthA3rmnn9SpUsWMfzGKOoLMAAAAAAAAQDHStGZ1KWdroxvwHbl0WSLj4jJdd/b2XcbpkW1by5guHfUtKTlZl87YevqM/Od/RmdEV3RwkCkPDNMlL3JKBZBf7dtLXu7dQwezVx89LquO+on/9evGdaLi4mX5oSNyLjhENr76ImU0SiCCzAAAAAAAAEAxYmNlJa1reekAsQoW778QKK2qu6dbLzwmRpYcOGicf7xT+zSZyM1r1tA3VXM5OTlZLze3jrLaTo1J3d4bPEDOXA+W1cf8ZM3R47LnQoCkpKTooPbqY8flnqaNzXoNFF1U3wYAAAAAAACKmfYmJTN2nD2X4ToL9h3Q2c5Kt3o+WZaqUEHi/GzUV9etirzQs7v8M+E5+ejee4zLv1iz3hjQRslBkBkAAAAAAAAoZjrUuRNkVqUu7qYyh01LZTxhksVsaSqD2q1CeT2tGg2qchooWQgyAwAAAAAAAMVMKy9PXTZD2R8QKPGJSWke33nuvJwKuqanqzlVlH6NfaWwlLO1lRd6dTfOT1m7gWzmEoYgMwAAAAAAAFDMqMCtqqesxCYkytErV9I8Pvu/ncbpUe3bGgPSheWxjmmzmf8hm7lEIcgMAAAAAAAAFPO6zHsuBBqnr0dEyMojx4wN/kZ3aCuFLV02M7WZSxSCzAAAAAAAAEAx1L5OLeP0ngsBxul5u/dJQlJq+Yx+jRqKh7OzFAWPd+wgbhUr6OnjV4OMgXAUfwSZAQAAAAAAgGKoXe1aUqZMGT29L/CiJCUn69vcHaYN/zpIUeFgayMv9qQ2c0lEkBkAAAAAAAAohpzLlRNf92p6OiI2Tk5duy6bTp6SwJu39LLari7SrV5dKUp0bebb2cwnyGYuMQgyAwAAAAAAACWkLvPs7bvSBHTLli1a4T+VzTyhVw/j/JS1GyQ5OblQx4S8K1p7GQAAAAAAAIAc61DnTpB5+ZGjsv74ST1tZ20tI9u2LpLv5OgO7aSqSTbz39RmLvYIMgMAAAAAAAAlIJP54MXLkpKSoqfvbd5UXMo7SlGULpt5zXqymYs5gswAAAAAAABAMVXNqaKuvXy3Jzq1l6LsUZNs5pNB12TF4aOFPSTkAUFmAAAAAAAAoBjrYJLNrDTycJc2tbykKKM2c8lCkBkAAAAAAAAoxtqb1GVWHu/UXsqUKSNF3eiOd7KZTwVdky9oAlhsEWQGAAAAAAAAirEOdbyN0452tjK8VQspDuxtbOSl3j2N81+u3SAjZv0i1yMiLDqO2IQEi75eSUSQGQAAAAAAACjGVE3mB1u1EHsba3l/0ECpYG8vxYXKuh7crIlxfvMpf+n+xVTZfOq0RV7/xy3/Sd+vv5UroaEWeb2SiiAzAAAAAAAAUMz9b9hgOf7e2zKmS0cpTmysrOT/Hh8ln98/RGytrPSy6xGRMnzmzzLp79WSkJRUYK+98vBRmbjsbzl+NUj6Tf1OLt26VWCvVdIRZAYAAAAAAABKgLJli34d5oyo+tFPdekka19+QepUcTUun77xXxn8zUwJvHEz319zz/kLMu73eZKSkqLnm9esIe5OTvn+OqUFQWYAAAAAAAAAha5JDQ/Z+NoEGdm2tXHZvoBA6T5lmqw4dCTfXufM9WAZ9fMciU1I1POtvDxl1uiRYlWWUKm5eOcAAAAAAAAAFAnl7ezk24dHyMxRD+kmhkp4bKw8Oed3WX3ML8/PHxwRKQ/N+kVuRkUb61n/8fTjUs429bVgHoLMAAAAAAAAAIqUB1q3lE2vTZCmNaobl726YIncuh0cNkdUXLw8/NNsuXC7/IaLo6PMH/ukuJYvny9jLs0IMgMAAAAAAAAocupUqSL/vPic+Li56fnr4RHy9pLlZj1XYlKSPPPrH3Iw8KKet7ex1hnM6jWQdwSZAQAAAAAAABRJDrY2MuPhEVK2TGpTw0X7D8qqo7krm6Ga+729ZIWs9TthbDQ469GHpXUtrwIZc2lEkBkAAAAAAABAkdWqlqc836Obcf61hbkrm/Htxs0ye/tO4/ynw+6Ve5o2zvdxlmYEmQEAAAAAAAAUaW8O6GNW2Yz5e/bJxytXG+ef69FVnu7aqcDGWVoRZAYAAAAAAABQpNnb5K5sRkJSkry79G8Z/+cC47IhzZvKh4MHWmS8pQ1BZgAAAAAAAAAlpmzG1dAwGTLjB/lhyzbjso51vOW7Rx6UsmUJhxYE3lUAAAAAAAAAxaZsRr2qmZfN2HraX3p8OU32nA8wLnu8Y3tZ+OxTOhsaBYMgMwAAAAAAAIBiQQWKvx2ZvmxGcnKyTF2/SYbP/FlCIqP0Yw42NvL9qIfkyxH3iZ21dSGPvGTj3QUAAAAAAABQ7MpmfLtps7Fsxq87q8uG4yeN69Sp4ipznhwtDd2rFeJISw8ymQEAAAAAAAAU67IZpgHme5s1kQ2vvkiA2YIIMgMAAAAAAAAo1mUzFOuyZeWToYPll8dHSQV7+0IdX2lDkLmQ7Ny5U8aNGyf9+/eX/fv3Z7re0aNH5eWXX5Zhw4bJu+++KyEhIRYdJwAAAAAAAFBUy2a8OaCvnnZ3cpLl48fJuO5dpIxJ4BmWQZC5EPTr109eeeUVqVixoqxdu1aCg4MzXG/u3LnSvn17sbOzk8cff1xcXFz0tgAAAAAAAABEXu3bSw6895bse+9Naeddi7ekkND4rxDMnj1bPDw85NChQzJlypQM1/H395exY8fKzz//LKNGjTIuf/LJJy04UgAAAAAAAKBo83SpXNhDKPXIZC4EKsCcnR9++EFcXV3lkUceSbPcycmpAEcGAAAAAAAAALlDJnMRtX37dmnXrp2sW7dOfv31V0lOTpZWrVrJ888/Lw4ODoU9PAAAAAAAAAAo2ZnMYWFhsnTpUnn22WelUaNGUqtWLXnrrbdytO3y5ctl6NCh4uvrKy1btpRnnnlGjh8/LpZ07do13RzwxRdflN69e+sGgb/88ou0adNGYmNjLToWAAAAAAAAAChVmcyXLl3SQeWkpKQ0y0NCQrLdVgV1v/322zTLDh48qLOJFy5cKIMHD07z2N9//y3fffddls9pa2srK1asyNW/wdraWgICAuTff/+V+vXr62VdunSRevXq6WCzymgGAAAAAAAAgMJWIoPMiYmJUr58eenRo4f07dtXTp06JdOnT892OxVEVgFmGxsbef/992XYsGESHh4uX375pSxZskTXRz5z5oy4ubkZt2nWrJm89NJLWT6vlZVVrv8N1atXl8jISGOAWfH29paaNWvK4cOHc/18AAAAAAAAAFAQSmSQWQVib9y4YQzuqiBxTnz++ef6/qOPPpK33347TfC5c+fOunzFzJkz5YMPPjA+5unpqW/5rVOnTrJv3z5di7ls2dSqJikpKboMiIuLS76/HgAAAAAAAACYo0QGmc3JHL5y5YocOHBAZzGPHz8+zWMqyDthwgQdZFZlL0yDzAXlqaeekq+++kq++eYbY6b0rFmzdJBZZVhnp0OHDhkuP3bsmDRs2FBnSZd00dHRhT0ElBLsaygUKSml4liOwsXxDexvKKk4voH9DSURxzbkhKr+UBBKZJDZHIYSFE2aNJEKFSqke1xlMit+fn661rM5gWyDadOmyZo1ayQiIkLPv/vuu3pZx44ddZkOpXbt2vLXX3/JE088IbNnz9aB7nPnzslPP/0kbdu2Nfu1AQAAAAAAACA/EWQ2yWRWMit94eHhoZvxxcXFyc2bN6VKlSpmv+l9+vSRBg0apFtetWrVNPNDhgyRy5cv6wxrOzs7nYHs6OiYo9dQWddZZTgX1FmLoqg0/VtRuNjXYFFlyrDPwWI4vsGS2N/A/oaSiuMb2NdQkhFkvuuSAgcHhwzfqDJlyujHVPZxVFRUnoLMjRo10recUK+p6jMDAAAAAAAAQFGU2lEOOlNYSUhIyPTdUFnMir29Pe8YAAAAAAAAABBkvsPV1VXfBwUFZbhj3Lp1S+Lj43Vt5EqVKrHzAAAAAAAAAABB5jt8fX2NDQATExPT7Rz79+/X997e3sasZwAAAAAAAAAo7SiXcZtqxKea/qmay0uXLk33Rs2ePVvf9+3b17J/IQAAAAAAAAAowggym3j22Wf1/fjx42X79u16WmU1T58+Xf78809dKmPs2LGF85cCAAAAAAAAgCLIWkqofv36yalTp/R0eHi4vv/rr79kw4YNetra2lrOnDmTZpuXXnpJVqxYITt37pTOnZkhvn4AAB4ASURBVDvrOs0xMTESFRWlH3/33XeladOmFv+3AAAAAAAAAEBRVWKDzJcvX5aAgIA0yyIjI/VNsbKySreNvb29rF27Vt577z2ZO3euhISE6OU+Pj7y5ptvypgxYyw0egAAAAAAAAAoHkpskHndunUSHx+f6eNlypTJcHmFChVk2rRp8vXXX0twcLBu8ufs7FyAIwUAAAAAAACA4qvEBpk9PDzytL2qv1y1atV8Gw8AAAAAAAAAlERlUlJSUgp7ELAcFTiPjo6Wxo0bl/i3PSkpKdPSKAD7GoqrkAsHJCUlWcqUKSuutVoW9nBQwvFZCvY3lFQc38D+hpKIYxtyQsUEf/rpJ8lvZfP9GVGkVapUScqVKyelwYkTJ/QNYF9DSRIUaSvXouwJMMMi+CyFJbG/gf0NJRXHN7CvoTQgkxklVocOHfT9zp07C3soKOHY18D+hpKK4xvY31BScXwD+xtKIo5tKExkMgMAAAAAAAAAzEaQGQAAAAAAAABgNoLMAAAAAAAAAACzEWQGAAAAAAAAAJiNIDMAAAAAAAAAwGxlUlJSUszfHAAAAAAAAABQmpHJDAAAAAAAAAAwG0FmAAAAAAAAAIDZCDIDAAAAAAAAAMxGkBkAAAAAAAAAYDaCzAAAAAAAAAAAs1mbvylQ8gQFBcnvv/8uZ86ckbFjx0qLFi0yXC8kJETmz58vZ8+elQYNGsijjz4q5cqVs/h4UXzFxsbK0qVL9f527do1Wbx4sXh5eWW6vtrnhg0bJjExMbJx40ZxcnKy6HhR/O3Zs0cWLlwo0dHR8t1336V7PCUlRdatWyc7d+6U+Ph4adasmQwfPlysrKwKZbwovpKTk2XDhg2ycuVKqVq1qkycODHD9QICAuSPP/6Q69evS6NGjWTUqFHi4OBg8fGi5Fm7dq3s2LFDf2Y2bNhQRo4cKfb29oU9LJRQ4eHh8tdff8mJEyekVq1aMnr0aHF2di7sYaEEU9/l1O+CGzdu6H2vTp06hT0klEDbtm2TrVu36mOcr6+vPPjgg3yWIltkMgO3jR8/Xtq0aSNHjx6VWbNm6QByRtSBtl69erJp0yYdFDx9+rS0b9+e9xG5ogIqK1as0Pf79+/XP4SzMm7cOPH399frJiQk8G4jx9QPkMaNG+tjnNp/1PHtbpGRkToQ89hjj0liYqI4OjrKO++8Iy1bttTbAzl18OBB8fb2li+//FK2bNmiT2xkZNeuXfr4d+zYMf1Z+v3330vHjh0lIiKCNxt5ogJ86oew+qx0cXGRKVOmSNOmTeXWrVu8s8h3R44c0QknixYtkpo1a+qElU6dOumgDFBQ3njjDTl8+HCOfkMA5mjXrp3ce++9+rOzcuXKMnXqVP1b4fz587yhyFoKAG3fvn0pCQkJKf7+/inqv8bChQvTvTMhISEprq6uKR9++GGa5efPn+ddRK6Eh4fr+6VLl+r97cSJE5mu+9tvv6XUrFkz5euvv9brBgcH824jxyIiIlKOHTumpydNmpRiZWWVbh21T3Xu3Fkf4wyuXbuWUrFixZQ33niDdxs5dvny5ZTAwEA9/eCDD6Y0a9Ysw/WaNGmScv/99xvnb926leLi4pLy/vvv827DbIcOHdKfk/PmzUtzLLOzs0uZPHky7yzyVXR0dErt2rVTxo0bl2Z5UFCQfgwoCOvXr0+pXLlyyo8//qiPd0ePHuWNRr5r1apVSkBAgHE+KioqxdPTM+Xhhx/m3UaWyGQGbmvVqpVYW2ddQeaXX37RZQ7U2WNT6tI4IDcqVKiQo/UuXbokL7zwgs4+zek2gKny5cvrjNHs9sdVq1bprD8DNzc3nZ2lLv8FcsrDw0Nn82Xl+PHj+qqhJ554wrhMXVo+dOhQmTdvHm82zBYYGKjvVeay6bHM3d3d+BiQX9SVGqrsz4cffphmuSoTROkfFITQ0FD92amuFlLHNaCgrFmzRjw9PY3zqjRo69at+V2AbBFkBnLh33//1SU11BfK9957T9566y1dmzkpKYn3EflO1ch98sknZfDgwTJgwADeYRQYOzu7dCcx1A8ZFQxU5YGA/KQu8VVUGRdTal71RODSX5irbdu2OrinajIb+Pn5ycWLF6VHjx68scj33wX169fXCSgff/yxvP766zJ37lzd1wAoCCrxRJUsMD1JCxQEV1fXNPPquLZ3715+FyBbNP6DxYNmql6jai61efNmXQe0d+/e6TIAMnLo0CGZPXu2nDx5UmxsbHSt0GeeeUZq1KghlnLlyhU95l69esnjjz+u65a++uqr8u233+p/jxoXig61r6h9Td1UAyD14fj++++ny0S/m6rj+M033+iMugsXLujgW+fOnXWNWvXFzlJUjVJV60+dyEDRFxUVpWvQqv3twIEDuvnZZ599Jl26dMn2uKiatvz999+6lqP6Ute3b19dV7Qwjynqh4yqz6yOsyh6bt68qZvrqf3t1KlTxv2oevXqWW6ngiH/93//p/sKqBMJan3VPEhlEVty7MrdjbHUvPp3qPp/ZAEWberzVH2uqv1P1ddW86ru+0MPPZTttioArPZVlVlcsWJF6dq1qzz11FP6qou8Uhmk//zzjzz33HOyfv163ST3v//+01l/qk4ziif13Vt9z1b7m/o9oD5fv/rqK10zNCtqPfVdTu0TqslylSpVpH///rphd340tVW/C1TtZVVPXjWXVFcDffLJJ7oOuGqiyxVoxU9cXJxs377d+PtB9UNRn0uqB4+6Uicrqlat+vurfTUsLEz/RlUNlNVvxfz4TFuyZIksW7ZM9zJAyaE+C9W+pj6zLl++rI8bq1evznY71TT5p59+kt27d+vvdnXr1tW/HQqqV9QHH3ygx6c+64GsEGSGxagPWx8fHwkODk6zPCdBYhXEffnll9NkDKsvjNOnT5elS5dKz54906yvvtipTIKcBPHKls1dQv+5c+dk48aNxtdUP1pUt1VVzoCDbtGhGjR269Yt3fLsskvUl0v1A0R9QTRQjc9UsFk1dVH73d37m9oPf/vttyyfV5VUUdvnZj9TwXC1H6tmCyja1IkA1TTv7v0ru6Z5an9TTTXUl0tTCxYskB9++EF/4bw7EKeOhyozLyuGk3DmUj+S/vjjD31ij0zmokedmJ00aZIOoJjKLgNYBVnU8UtlqJv69ddf5f7779f78d1lo95+++1sG6YNGjRI33LK8LmrfribMszn9nMZlqW+Y/Xp00efWDOV3YkK9fdVx6Wff/45zXL1PU59jqqs0LvLj6lgtFqeFVWeZeLEicaTxOrzWP1fUFeeqcC1+gGvAo333Xdfmkt/UTyo70FPP/10uqbH2R2XoqOj5Z577knzfc6wT/3444/6ZMfdQeCvv/5aBxOzogLbplmkKuiiPi8ffvhhPa+uQFPBnv/973/6sxTFy7PPPqu/+9zt7s/bu+3bt09/vpo2r1XfAdWVOyowrI5jd+9vKtFKnezN7oS/+n4ZEhIiY8eO1ckLqlkuSgb1G0AlmZhSJ0ezozKK1VWupr8z1G8G9dvho48+0ldcm1Inw7JLslKef/55adKkSbrlc+bMkc8//1w+/fRTnXgFZIUgMyxGfTlUH5AtWrTQP05U0FkFZnPyY2bChAn6x4nKHlZBXfXFccaMGfoDW/0wVpfXmtYSVUG55s2bZ/vcZcqUydW/oVq1avq1TIOMKgCjgud79uzJ1XOhYKn9RV3CqDJC1f6mzv6rD8jsqC9v6geJ2p/USQh1ea3KLn333XdlxYoV8sgjj+h9QGWxG6h9UHUSz0puMxhUJqwKQKoPdHVT1P8fw5dS9aVEXZqJokH9bVRwTl3loPY3ta+pLPTsvPnmmzrArL5Qqiz7Zs2a6R+46m+rfrCoH9aq5qOpOnXqZJvhXLt2bbP/Ld99953+cjpt2jT9wwZFjzomqZMPhv1NXaKtPlOzo45fKsCsAnkqKKfu1WfX5MmTZfHixfpeZaqYUvW8VRZhdp+Nuc02VdRJZ9OTKGpe/T/ixFrRpvY19Z1OnchVn7HqpK5peYqsji0qwGxra6uPfSqDWQXo1OeuysZXn6XquGf63Uxl2mf3fc70kl7VO0MFJc+ePWsMWKskBfUc6rukCmijeFHHBVXSSe1r6qaCKDnpFfDKK6/o73PqeKI+X1U5HrWd+nxVvy1UtvvdCQIqOKzqjmbFNMBnOPaZnmRTxzdVt5TfBcWTOj6p7/6G/U0dp+4+oXY3dTxUJxlUgFl9LqtMdnXyS13tMW7cONm/f7++GlIlCZhS2fh3nzy5myEZS12dqb5rqgC44feM4XNfXUGijsfqGIviRV0NoU5+qu9yKrj70ksvZbuN2h/VFWgqwKyyltVnnPoutXz5cpk5c6Y+3qlkE3WSzUD9bshJbCSjALf6Da2uNlLfNVXiAZCtrPsCAvknISEh5fr168b5mTNn6o64qvt8VgYMGKDXe/bZZ9M9X5s2bfRj+dmN3t/fXz/nwoUL0z327rvvptja2qYkJiamWe7t7Z0yduzYfBsD8i45OTnN/PPPP6//rpMmTcp0m/j4+JRKlSrp9VasWJHmsbi4uJQGDRrox2bNmpVvf6KlS5fq5zxx4kSa5Tdv3kzZu3dvmpva/9S6GzZsSDl37ly+jQF5FxISovcRg27duum/lfr7ZrWNjY2NXm/z5s1pHjt27FiKtbW1fszPzy/f/kRq/7eyssr08blz56aUKVMm5fPPP8+310T+CwoKSklKSjLOu7i46H1FfX5lZvv27Xqd8uXLp1y4cCHNY4sXLzY+prqH5xf1+d6sWbN0y1W3cvV68+bNS7N8xIgRKS1btsy310fBCAsLS4mMjDTOjxkzRv89p0yZkuk2an+tVq2aXu+XX35J89i1a9eM+/Ddn725NWHChBRXV9d0yx955BH9GY7iJzg4WH8/M2jXrp3eV1avXp3pNleuXNGfderzbOfOnWkeO3DgQErZsmX1Y2fPns3T2GbMmKHHYvr7RunYsWPKkCFD8vTcKBq/HxwdHfXf+OLFi5lus2jRIr1OzZo10xwbla1bt+rH7Ozs9LHTXBEREel+F0ydOlU/9/z581NOnTpl9nOj8KhjlcH58+f139PJySnLbaZPn67Xa9iwYUpMTEyax95++239WNu2bfNlfGvWrNGxj/Hjx+fL86F04HpEWIzKTlK10HJDZU+pmpOKarJ39/MZLvuwVGaKyqRWGbKmpThUXUtV2oDGbEVLbrPUFZXZoi6/VGeUVbO9uzMbDOUHVq5cKQWtUqVKOhPG9GbInlHZrnnJVEX+U5nvah/JDbUfqQwWVcvx7tIuKnt0yJAhelpdZmkJKlNBXearMllVliGKLpUpl9uSEobPSZVtdfeltqqMgLryw/QztyCpY6zK9lJZXarut6IyT9Ulo2ofRNGm6iibXs2T089XlYHv7u6uv0uZcnNz01lS+fF9TmVvqWw/lUFooD7XVb18dSUdih+VqZ7b/gTqyjNVYk9lpN5dn1TtB+o7u/o+n9fPV3V1pfr/oOqiGqirmFQWM78LSs/vB1VKTzH06zGl+nI0bdpUX52Yl89XVfrn7t8FKvPe8J2R0mbFk/pMzC3D56TKYLa3t0/zmMo2VjESdQxSVwrlhepnoL4fqqsaVa8iIKcol4Ei7ejRozoIowJqGdXR6969u75Xl/+qD291OZ251CXpqtayqlmkqHpt6suAavSmLrE0XKaulqtL7FRARr2eKsyvDuiGgBCKL0N5g8wayXTo0MG4X+aVqnmlGjUYarGpxiDqi4IKAKlLPFHyqZIoSka1ww3HN1XCQDVLzSsVNFaXVRoaEqrLNxXV/EiVelFfRFXTInWZ3NWrV42PKyogyeVxpWN/UyUL1P6myvGYS13GqZocKar0gTrGGfYntR8aTpCpsgmq9E+rVq30JZyrVq3SJ/dM9z2UvP1P1XLM6ASJ2v9UDdu8Hu9GjRqlSxCpsmaqv4IK+KjvciqQrZr/oXTIyfFOBQbzur+pALgquaH2O5V0ok44q98F6rOVprml7/dDZg3X1O8HtY76/aCCdkBeGI5bGR3fVJKSSkZSJVpUk9TsmkFnRsVVVBkgQ68MVavcQP1WUJ/XQGYIMqNIu3Tpkr7PLGtTfblTZ3ZV9pXKkMlLIwTTun+q/lZmjQnVWep+/frpOm+qM/UXX3yhg88o/tQ+lFUzSlVfzdA8K6/UiQvDCY2MapVmRDVVUvvo3Y3gUDKPb4blhvXyQmW5qFr2av8xzRQ11LJXgRjVeCsjKjiD4s9S+5v6XDR8lt5d/880w0vVyz127Jg+uas6pKsTb23bts3Ta6PostT+pwLYv//+u64rrwI6sbGxet9SQR5zMhRRPFny81WdlDt//rw+lqnsaXU1kGoIjtLDkr8f7s6SVg3gDBnNKPlU3W9DLe6sjm8qyJyX45v6LmfoCXS37OrWAwSZUaQZGi1kdVmmIcicXWOi7KhL1tUtp5e2qKw/lCyqG71y96VHdzfvU+upM7t5+cFqzmVt6qSKaYMjlOzjmzq2KXk9timjR4/O8nF14oIM0pLNUvubOn7mdF9S65o2pkHJZcnjnaLKv6gbSidL72/qhO2IESPy5blQcn8/qJP9+UlllKqyGSh9xzZVQiizMkL5cXxTJTf4XQBzUZMZRZrh4Gmo2ZgRQ1fe3NZDBe5m+HKoLhHKiMqIMqxHRhQK+vjGsQ35if0NhYn9D+xvKO2/HwzBZsBcxEZQHBBkRpGm6gop6lLazIIwhpq2hnUBcxnKAqiatBm5cuWKvs9tA0vAnOObYTnHNuQH9jcUJvY/sL+hpOL3AyxFNRpVpSzUFbWqyW1G+P2AwkaQGUWaarqnnDhxwpjVZ0rVc1T1z9RlapQRQF41btxY36v6ZhlRnXoN9W2B/Dq+HT58OMPHDcsbNGjAmw32NxRrHO/A/oaSit8PsGQms6EXVGa/HwyNKPn9gMJCkBlFmipcr5oDqRpWK1asSPf4vHnz9L3qIg7kVadOnXQdqzNnzsiWLVvSPJacnCy//PKLnh4wYABvNvKsR48e+l51uL+7bpoqobFw4UI9zfEN+bm//fXXX+keU82INm3alGY9ID9169ZNN+VTJ3HPnTuX7nG+zyE/GY5j6reDoV6uQXx8vCxevFhP8/mK/KAawitz585NlxR16NAhfdxTNW579+7NG458O77Nnz8/3WPqu5z6Tle5cmVp1qwZ7zYKBUFmFHlPP/20vn/ppZd0RrPBqlWrZPr06WnWAfJaU+2ZZ57R048++qhs3brVeDmSWn7gwAF9ye+oUaN4o5Fn7dq1k6ZNm8qtW7fkiSeeMDaEUT9QXnzxRd2t3sPDQwYOHMi7jTwbPny4Pn4dPHhQ3nnnHX0VkBIeHq4bQ6qakV27dqVZGgrscvIhQ4bo/U59vhou81WfsV988YX8+++/ul7pI488wl8AeWY4lqnLxtVvBENNXBVgfvbZZ+Xy5cs6iaVPnz6828iz+++/X2rUqCH+/v76N4Kh7J66AtLQEFId29SVt0BePfXUU7o30P/93/+lSRxQvxsMzfoef/zxTBsDAgWtTIr6dgdYyNixY8XPz09PBwUFydmzZ3WZC9MO4OoMnGkTP5WB0LFjR30mWGXBNGnSRAdj1Ae54UP7999/52+IdKpVq2bMEFU/LFTwTu1bhg9ddbnR3ZcaRURESJcuXYzLVeaBoTGb2v8WLFigv0wCptTxTAXxDI4ePaqDd+oScZVNYPjR++mnn6bZbufOnTqTSv0AVl3CfXx89JfEGzdu6P1tyZIlOjADmNqxY4e88cYbxvndu3fr41SrVq2MDYgee+yxdCdgf/vtNx1QVqpWrSo1a9aUkydP6uNkhQoVZPv27fozFshO9+7djZ+N6uoflTmlgnbVq1fXy7y9veXXX39Ns406trVt21YHmFVA2dfXVwdjDP0Opk6dqhMKAFOBgYHy8MMPp7kUXH1XU6XLnJ2d9TKVIfrhhx+m2U5dkda3b1/9/U+tV7duXZ1Ff/PmTV3TdOXKldK/f3/ebKSxbNmyNMkkUVFR+r5cuXLGpt/vv/9+ms9gZePGjfpKR0Mms+nvB7Xvqc9terrgbipQrG6GxpH79u3Tx6f27dsb1/nss8/0b1NTEyZMkG+++cb4eat+Q6jfHmqfU/ubOsFBTxcUGhVkBiylXbt26qRGlreYmJh02wUHB6c8/PDDKTY2Nsb1KlSokPLWW2+lxMfH8wdEhhwdHbPc1+rUqZPhduHh4SmvvvpqioeHh17P3t4+pVevXilbt27lnUaGzp8/n+2xbciQIRluu23btpRmzZqlWbdu3bopf//9N+82MqT2jez2t4kTJ2a47fz581M8PT3TrNu2bduU/fv3824jx6ysrLLc/xo1apThdsePH0/p1q1bmnXd3d1TfvzxR959ZOjEiRPZHu8efPDBDLfdtGmT3hdN161fv37KmjVreLeRoYULF2a7v02aNCnDbfft25cycODAFAcHB72em5tbynPPPZcSEhLCu40MffDBB9nub0uXLk23XVJSUsonn3ySUqlSJeN66nN56NChKZcuXeLdRqEikxkWpbIPVHZfdnVxDWeK7xYWFqazn1Umqsr4M2RsARlR2QdZXayhMkVVZkJWVEYClxshOyr7ILOGkQbqMklD86vMsrVUNqBaT2UlAJlRJVYMVwVlxtPTU98yoo6LKvs0NDRUl2QxZJ8COaWy3rP6fHV0dJQWLVpkefXHxYsXpWLFivr7nPo8BjKirmjcv39/lm+OyhA1vSrybhcuXNClM9R6qt8LkBlV0ufuOt53s7Ozy/a3Ab8fkBPqu7+6ZUVd9WO4KvJu6koNdXW3uiJSHdsyWw+wJILMAAAAAAAAAACzkTYAAAAAAAAAADAbQWYAAAAAAAAAgNkIMgMAAAAAAAAAzEaQGQAAAAAAAABgNoLMAAAAAAAAAACzEWQGAAAAAAAAAJiNIDMAAAAAAAAAwGwEmQEAAAAAAAAAZiPIDAAAAAAAAAAwG0FmAAAAAAAAAIDZCDIDAAAAAAAAAMxGkBkAAAAAAAAAYDaCzAAAAAAAAAAAsxFkBgAAAAAAAACYjSAzAAAAAAAAAMBsBJkBAAAAAAAAAGazNn9TAAAAAEXZ97P/lJu3wmTIgF7SpGG9NI8lJibKNz/9LtExMfLw/YPE26tmoY0TAAAAxRuZzAAAAEAJ5Vuvrnw/e5488eI7cjM0LM1jk76eKV/M+FnOB1wiwAwAAIA8IcgMAAAAlFDdO7WV159/Ui5dCZLnXv9IkpOT9fK/1/4rs+b+Jd5eNWTa5HcKe5gAAAAo5sqkpKSkFPYgAAAAABQM9XV/9PNvyvotO+TlcY/Lfff0kQEPPS1Jycmyat6P0tDHm7ceAAAAeUKQGQAAACjhwsIjpO+IMRJ46aq4V60iV4Kuy3f/e1/uH9S3sIcGAACAEoByGQAAAEAJ51Sxgsz84gOd1awCzKOGDybADAAAgHxDkBkAAAAoBeYvW22cPnTspMTGxRXqeAAAAFByEGQGAAAASriFK9bIr38tk0b168pDwwbKsZP+8takrwp7WAAAACghrAt7AAAAAAAKzonTZ+WNj78Up4rl5Zdpk8W9WhU5fvqszF+6Sto0byKPDB/M2w8AAIA8ofEfAAAAUEJFREZJvxFj5HzgZZnzzWfSr2dnvTzw8lXp98AYiYmNlRW/z5SmvvULe6gAAAAoxiiXAQAAAJRQEyZOlnMBl2T8mEeMAWbFs7q7zPjfexIXnyBPvfyuhIaFF+o4AQAAULyRyQwAAACUQJeuBMnSf9aLnZ2djHnkfrGyskq3zoq1myQg8LK0bdlU2rVqVijjBAAAQPFHkBkAAAAAAAAAYDbKZQAAAAAAAAAAzEaQGQAAAAAAAABgNoLMAAAAAAAAAACzEWQGAAAAAAAAAJiNIDMAAAAAAAAAwGwEmQEAAAAAAAAAZiPIDAAAAAAAAAAwG0FmAAAAAAAAAIDZCDIDAAAAAAAAAMxGkBkAAAAAAAAAYDaCzAAAAAAAAAAAsxFkBgAAAAAAAACYjSAzAAAAAAAAAMBsBJkBAAAAAAAAAGYjyAwAAAAAAAAAMBtBZgAAAAAAAACA2QgyAwAAAAAAAADMRpAZAAAAAAAAAGA2gswAAAAAAAAAALMRZAYAAAAAAAAAmI0gMwAAAAAAAADAbASZAQAAAAAAAABmI8gMAAAAAAAAADAbQWYAAAAAAAAAgNkIMgMAAAAAAAAAzEaQGQAAAAAAAAAg5vp/PdiYbQmgM6YAAAAASUVORK5CYII=",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "metadata": {
      "image/png": {
       "alt": "Preserve a small logarithmic change"
      }
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/markdown": [
       "- **Direct log(1+x):** 1.000088900581841e-12\n",
       "- **Stable log1p(x):** 9.999999999995e-13"
      ],
      "text/plain": [
       "<IPython.core.display.Markdown object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/markdown": [
       "At x=1e-12, 1+x keeps only part of x, so log(1+x) has relative error 8.9e-05. log1p never forms 1+x, so it keeps every digit of x. Use it whenever x can be tiny, such as a daily interest rate or a small probability."
      ],
      "text/plain": [
       "<IPython.core.display.Markdown object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "figure, metrics, interpretation=illustrate(21,1,1e-12)\n",
    "buffer=io.BytesIO()\n",
    "figure.savefig(buffer,format='png',dpi=140,bbox_inches='tight',pad_inches=.16)\n",
    "display(Image(data=buffer.getvalue(),alt='Preserve a small logarithmic change'))\n",
    "plt.close(figure)\n",
    "display(Markdown('\\n'.join('- **'+str(k)+':** '+str(v) for k,v in metrics.items())))\n",
    "display(Markdown(interpretation))\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ch21-cell04",
   "metadata": {},
   "source": [
    "**Use the idea:** Use rule 21.1.2 when its stated conditions fit. Compare the calculation with your own decision threshold; retain the relevant error or uncertainty.\n",
    "\n",
    "**Assumptions and limits:** Binary64 arithmetic, positive x; stable function does not validate the mathematical model.\n",
    "\n",
    "<details><summary>Why can log(1+x) vanish at x=10⁻¹⁶?</summary>\n",
    "\n",
    "The addition can round to exactly one. log1p works without first losing that small increment.\n",
    "\n",
    "</details>\n",
    "\n",
    "**Book source:** [Rule 21.1.2: Use log1p and expm1 for small arguments](source.html)."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ch21-cell05",
   "metadata": {},
   "source": [
    "## C21-D02: Bound speedup before buying more processors\n",
    "\n",
    "What is the ceiling when s=.1?\n",
    "\n",
    "The ideal strong-scaling curve bends toward a serial-fraction ceiling.\n",
    "\n",
    "$$\n",
    "S(P)=\\frac1{s+(1-s)/P}\n",
    "$$\n",
    "\n",
    "**Symbols and inputs:** Serial fraction s. Fixed-work Amdahl model; communication and contention omitted. This is not measured speedup.\n",
    "\n",
    "**Predict:** What is the ceiling when s=.1?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "ch21-cell06",
   "metadata": {
    "collapsed": true,
    "execution": {
     "iopub.execute_input": "2026-10-03T00:58:20.993312Z",
     "iopub.status.busy": "2026-10-03T00:58:20.993243Z",
     "iopub.status.idle": "2026-10-03T00:58:21.058035Z",
     "shell.execute_reply": "2026-10-03T00:58:21.057977Z"
    },
    "jupyter": {
     "source_hidden": true
    },
    "tags": [
     "hide-input",
     "illustration"
    ]
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "metadata": {
      "image/png": {
       "alt": "Bound speedup before buying more processors"
      }
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/markdown": [
       "- **Serial fraction:** 0.1\n",
       "- **Ideal eight-processor speedup:** 4.705882352941176\n",
       "- **Ideal ceiling:** 10.0"
      ],
      "text/plain": [
       "<IPython.core.display.Markdown object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/markdown": [
       "Serial fraction 0.1 limits ideal speedup to 10. Communication, bandwidth and scheduling can reduce actual speedup further. This is a bound calculation, not a benchmark. Eight processors give at most 4.71 times the one-processor speed, so shrink the serial part before buying hardware."
      ],
      "text/plain": [
       "<IPython.core.display.Markdown object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "figure, metrics, interpretation=illustrate(21,2,0.1)\n",
    "buffer=io.BytesIO()\n",
    "figure.savefig(buffer,format='png',dpi=140,bbox_inches='tight',pad_inches=.16)\n",
    "display(Image(data=buffer.getvalue(),alt='Bound speedup before buying more processors'))\n",
    "plt.close(figure)\n",
    "display(Markdown('\\n'.join('- **'+str(k)+':** '+str(v) for k,v in metrics.items())))\n",
    "display(Markdown(interpretation))\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ch21-cell07",
   "metadata": {},
   "source": [
    "**Use the idea:** Use rule 21.3.2 when its stated conditions fit. Compare the calculation with your own decision threshold; retain the relevant error or uncertainty.\n",
    "\n",
    "**Assumptions and limits:** Fixed-work Amdahl model; communication and contention omitted. This is not measured speedup.\n",
    "\n",
    "<details><summary>What is the ceiling when s=.1?</summary>\n",
    "\n",
    "Ten, even with infinitely many processors under the ideal model.\n",
    "\n",
    "</details>\n",
    "\n",
    "**Book source:** [Rule 21.3.2: Use Amdahl's law to bound strong scaling](source.html)."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ch21-cell08",
   "metadata": {},
   "source": [
    "## C21-D03: Balance checkpoint overhead against lost work\n",
    "\n",
    "If failure interval quadruples, how does the optimal interval change?\n",
    "\n",
    "Frequent checkpoints waste save time; infrequent checkpoints expose more work to loss.\n",
    "\n",
    "$$\n",
    "L(T)\\approx C/T+T/(2M),\\quad T_*\\approx\\sqrt{2CM}\n",
    "$$\n",
    "\n",
    "**Symbols and inputs:** Mean failure interval M (s). C=10s; small-overhead, approximate memoryless-failure model, recovery cost omitted.\n",
    "\n",
    "**Predict:** If failure interval quadruples, how does the optimal interval change?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "ch21-cell09",
   "metadata": {
    "collapsed": true,
    "execution": {
     "iopub.execute_input": "2026-10-03T00:58:21.058978Z",
     "iopub.status.busy": "2026-10-03T00:58:21.058926Z",
     "iopub.status.idle": "2026-10-03T00:58:21.135231Z",
     "shell.execute_reply": "2026-10-03T00:58:21.135175Z"
    },
    "jupyter": {
     "source_hidden": true
    },
    "tags": [
     "hide-input",
     "illustration"
    ]
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "metadata": {
      "image/png": {
       "alt": "Balance checkpoint overhead against lost work"
      }
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/markdown": [
       "- **Checkpoint cost (s):** 10.0\n",
       "- **Mean failure interval (s):** 10000\n",
       "- **Approximate optimum (s):** 447.21359549995793\n",
       "- **Approximate minimum loss fraction:** 0.044721359549995794"
      ],
      "text/plain": [
       "<IPython.core.display.Markdown object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/markdown": [
       "The leading model C/T+T/(2M) balances checkpoint cost C=10 s with assumed mean failure interval M=10000 s. Its optimum is 447.214 s; recovery cost and nonmemoryless failures require a richer model."
      ],
      "text/plain": [
       "<IPython.core.display.Markdown object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "figure, metrics, interpretation=illustrate(21,3,10000)\n",
    "buffer=io.BytesIO()\n",
    "figure.savefig(buffer,format='png',dpi=140,bbox_inches='tight',pad_inches=.16)\n",
    "display(Image(data=buffer.getvalue(),alt='Balance checkpoint overhead against lost work'))\n",
    "plt.close(figure)\n",
    "display(Markdown('\\n'.join('- **'+str(k)+':** '+str(v) for k,v in metrics.items())))\n",
    "display(Markdown(interpretation))\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ch21-cell10",
   "metadata": {},
   "source": [
    "**Use the idea:** Use rule 21.3.3 when its stated conditions fit. Compare the calculation with your own decision threshold; retain the relevant error or uncertainty.\n",
    "\n",
    "**Assumptions and limits:** C=10s; small-overhead, approximate memoryless-failure model, recovery cost omitted.\n",
    "\n",
    "<details><summary>If failure interval quadruples, how does the optimal interval change?</summary>\n",
    "\n",
    "It doubles because the leading optimum scales as √M.\n",
    "\n",
    "</details>\n",
    "\n",
    "**Book source:** [Rule 21.3.3: Set checkpoint interval from checkpoint cost and failure rate](source.html)."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ch21-cell11",
   "metadata": {},
   "source": [
    "## C21-D04: See why parallel sums disagree in the last digits\n",
    "\n",
    "Is a parallel result wrong if it differs from the serial result in the last digits?\n",
    "\n",
    "Add the same 100,000 numbers in different groupings and compare each total with the exactly rounded sum.\n",
    "\n",
    "$$\n",
    "(a+b)+c\\neq a+(b+c)\\ \\text{in floating point}\n",
    "$$\n",
    "\n",
    "**Symbols and inputs:** Partial sums (threads). Binary64; values span eight orders of magnitude; each chunk is summed left to right, then the chunk totals are added. Fixed seed 21.\n",
    "\n",
    "**Predict:** Is a parallel result wrong if it differs from the serial result in the last digits?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "ch21-cell12",
   "metadata": {
    "collapsed": true,
    "execution": {
     "iopub.execute_input": "2026-10-03T00:58:21.136255Z",
     "iopub.status.busy": "2026-10-03T00:58:21.136170Z",
     "iopub.status.idle": "2026-10-03T00:58:21.249467Z",
     "shell.execute_reply": "2026-10-03T00:58:21.249397Z"
    },
    "jupyter": {
     "source_hidden": true
    },
    "tags": [
     "hide-input",
     "illustration"
    ]
   },
   "outputs": [
    {
     "data": {
      "image/png": "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8IFat25ta7Reb84TAK5jyj727dtXw4cP1913321HDV09uS7SBhP/4ZZMnDjRDjcww35MHRsCzID7+O233+wB10z4N2/ePALMgBvNgdCnTx8bYDYneQkwA+5XosoEmM3w3VmzZhFgBtwoaGWyIU2A2ZzgJcAMpN8SGffdd58NMJs6ygSYnYcgM1Ls119/tcNzTYmM+fPn28LoANyDmYykV69ediIS039LlCjh6iYBSIJLly7Z0Qemdro5STRmzBgymAE3GrZrJhEycyA0adLEToBNiSrAvYJW3377re688047GpAMZiD9CQ0NVefOnfXnn3/qoYcespNtksHsPASZkSJDhgzRgw8+qKJFi9oAVdmyZdmTgJv43//+p0GDBtkTQyaDOSgoyNVNApAEFy5csKOHxo4daycYMl+es2TJwr4D3ChAZSbobNOmjaZOnaps2bK5ulkAkiAkJMSOHDLHXZMV+ddff8nHx4d9B6QzZ86csRPymWNsv3799MMPP8jLi7CnM1GQBMn22muv6d1331W5cuX077//2qH2ANxjiF///v313XffqWbNmpo+fbry5Mnj6mYBSAIzM70Zmmsm13388cdtJlWmTJnYd4CbZFWZkQfmR2+nTp00evRoRiAAbhS06tChg5YuXaqHH37YDr8naAWkP0eOHLEncTdu3KjnnntOH3/8saublCEx8R+SZdq0aTaLyqhQoYJy586d6HamzpwppQEgfdVgNtmPRpUqVa6bQWVqRbZs2dLJrQNwIx9++KFeeukle9vMg3A9kyZNUrNmzdiZQDpM0DDq1q173WG7P/30k0qXLu3k1gG4ETMHgilRZQLLpo769U7wmvrM1/ttDCDtxZWxMaP86tSpc93tzEheb29v3pI0QiYzkiU8PNxxe8uWLdfdzgwjApB+++/69euvu92JEyec1CIAyanlevWw3euJiopipwLp+Pi7bNmy62538eJFJ7UIQHL7rxkRuHjx4utuFxERwU4F0kFfNeWpFi1alKTv1Eh9ZDIjWU6fPq3NmzffdLtSpUqpUKFC7F0gHTl27Jh27Nhx0+3Kly9vJ/QEkH6YL8xm0r+b8fPzIzsDSGf27t2rgwcP3nS76tWr33CkAgDn2759u44fP37T7cwoBeZJAFxn06ZNtrzNzTRq1Mgp7cmoCDIDAAAAAAAAAFKMaRYBAAAAAAAA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",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "metadata": {
      "image/png": {
       "alt": "See why parallel sums disagree in the last digits"
      }
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/markdown": [
       "- **Values summed:** 100000\n",
       "- **Partial sums:** 16\n",
       "- **Error (last-place units):** 14.0\n",
       "- **Serial one-sum error (last-place units):** 50.0\n",
       "- **Relative error:** 1.759452092926235e-15"
      ],
      "text/plain": [
       "<IPython.core.display.Markdown object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/markdown": [
       "Splitting 100,000 numbers into 16 partial sums gives -463159.67116400891; the exact sum is -463159.67116400972. They differ by 14 units in the last place, a relative error of 2e-15. A plain serial loop is off by 50 units in the last place. Each thread count adds in a different order, and floating addition is not associative. So a parallel run can disagree with a serial run in the last digits without either one being wrong. Compare results with a tolerance, not with ==."
      ],
      "text/plain": [
       "<IPython.core.display.Markdown object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "figure, metrics, interpretation=illustrate(21,4,16)\n",
    "buffer=io.BytesIO()\n",
    "figure.savefig(buffer,format='png',dpi=140,bbox_inches='tight',pad_inches=.16)\n",
    "display(Image(data=buffer.getvalue(),alt='See why parallel sums disagree in the last digits'))\n",
    "plt.close(figure)\n",
    "display(Markdown('\\n'.join('- **'+str(k)+':** '+str(v) for k,v in metrics.items())))\n",
    "display(Markdown(interpretation))\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ch21-cell13",
   "metadata": {},
   "source": [
    "**Use the idea:** Use rule 21.2.1 when its stated conditions fit. Compare the calculation with your own decision threshold; retain the relevant error or uncertainty.\n",
    "\n",
    "**Assumptions and limits:** Binary64; values span eight orders of magnitude; each chunk is summed left to right, then the chunk totals are added. Fixed seed 21.\n",
    "\n",
    "<details><summary>Is a parallel result wrong if it differs from the serial result in the last digits?</summary>\n",
    "\n",
    "No. Both are rounded answers that took different paths. Compare them with a tolerance, not with exact equality.\n",
    "\n",
    "</details>\n",
    "\n",
    "**Book source:** [Rule 21.2.1: Expect parallel floating reductions to change low bits](source.html)."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ch21-cell14",
   "metadata": {},
   "source": [
    "## C21-D05: Find out whether memory or arithmetic sets the speed limit\n",
    "\n",
    "A kernel does 1 FLOP per byte. Will a chip with twice the arithmetic peak make it faster?\n",
    "\n",
    "Plot the roofline for a machine with a 1000 GFLOP/s arithmetic peak and 100 GB/s memory bandwidth. The kernel dot shows its ceiling.\n",
    "\n",
    "$$\n",
    "P\\le\\min\\left(P_{peak},\\,B_{mem}I\\right)\n",
    "$$\n",
    "\n",
    "**Symbols and inputs:** Arithmetic intensity I (FLOPs/byte). Idealized roofline; caches, latency and instruction mix omitted. A ceiling, not a measured speed.\n",
    "\n",
    "**Predict:** A kernel does 1 FLOP per byte. Will a chip with twice the arithmetic peak make it faster?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "ch21-cell15",
   "metadata": {
    "collapsed": true,
    "execution": {
     "iopub.execute_input": "2026-10-03T00:58:21.251455Z",
     "iopub.status.busy": "2026-10-03T00:58:21.251370Z",
     "iopub.status.idle": "2026-10-03T00:58:21.406318Z",
     "shell.execute_reply": "2026-10-03T00:58:21.406260Z"
    },
    "jupyter": {
     "source_hidden": true
    },
    "tags": [
     "hide-input",
     "illustration"
    ]
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "metadata": {
      "image/png": {
       "alt": "Find out whether memory or arithmetic sets the speed limit"
      }
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/markdown": [
       "- **Arithmetic intensity (FLOPs/byte):** 5\n",
       "- **Peak arithmetic (GFLOP/s):** 1000.0\n",
       "- **Memory bandwidth (GB/s):** 100.0\n",
       "- **Ridge point (FLOPs/byte):** 10.0\n",
       "- **Attainable ceiling (GFLOP/s):** 500.0\n",
       "- **Share of peak (%):** 50.0\n",
       "- **Limited by:** memory bandwidth"
      ],
      "text/plain": [
       "<IPython.core.display.Markdown object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/markdown": [
       "At 5 FLOPs per byte the kernel can reach at most 500 GFLOP/s, 50% of the arithmetic peak. It sits left of the ridge at 10, so memory bandwidth is the limit: faster arithmetic units would not help. Reuse data (blocking, fusion) to move right. The roofline is a ceiling, not a prediction; measure the kernel against it."
      ],
      "text/plain": [
       "<IPython.core.display.Markdown object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "figure, metrics, interpretation=illustrate(21,5,5)\n",
    "buffer=io.BytesIO()\n",
    "figure.savefig(buffer,format='png',dpi=140,bbox_inches='tight',pad_inches=.16)\n",
    "display(Image(data=buffer.getvalue(),alt='Find out whether memory or arithmetic sets the speed limit'))\n",
    "plt.close(figure)\n",
    "display(Markdown('\\n'.join('- **'+str(k)+':** '+str(v) for k,v in metrics.items())))\n",
    "display(Markdown(interpretation))\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ch21-cell16",
   "metadata": {},
   "source": [
    "**Use the idea:** Use rule 21.3.1 when its stated conditions fit. Compare the calculation with your own decision threshold; retain the relevant error or uncertainty.\n",
    "\n",
    "**Assumptions and limits:** Idealized roofline; caches, latency and instruction mix omitted. A ceiling, not a measured speed.\n",
    "\n",
    "<details><summary>A kernel does 1 FLOP per byte. Will a chip with twice the arithmetic peak make it faster?</summary>\n",
    "\n",
    "No. At 1 FLOP/byte it is capped at 100 GFLOP/s by memory bandwidth, far below either peak. Raise its data reuse or the bandwidth.\n",
    "\n",
    "</details>\n",
    "\n",
    "**Book source:** [Rule 21.3.1: Know whether a kernel is compute-bound or bandwidth-bound](source.html)."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ch21-cell17",
   "metadata": {},
   "source": [
    "## Continue with the chapter workbook\n",
    "\n",
    "The original decision worksheet, additional calculation, exercises and solutions follow."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ch21-cell18",
   "metadata": {},
   "source": [
    "# Chapter 21 notebook: Scientific Computing: Precision, Performance, and Reproducibility\n",
    "\n",
    "**Goal:** Distinguish arithmetic accuracy from speed and set a measurable computational contract.\n",
    "\n",
    "**Start with:** Rules 21.1.2, 21.2.2, 21.3.2. Use a calculator or the optional Python lab. Programming is optional for the workbook; the Jupyter version requires a Python 3 kernel. All lab numbers are constructed practice inputs, not observed data.\n",
    "\n",
    "**Source:** [Finished Chapter 21](source.html) from *Mathematical Rules of Thumb*. Numbered rules, classifications, and the decision path come from the book. The lab, exercises, answer key, and worksheet prompts are companion additions.\n",
    "\n",
    "## 1. Frame your decision\n",
    "\n",
    "Write a question in which an answer would change something you do. Gather: Precision and data scale; permitted absolute/relative error; reproducibility contract; profile; data movement; processor count or failure spacing.\n",
    "\n",
    "- My question and intended decision:\n",
    "- Known inputs and units:\n",
    "- Required accuracy or threshold:\n",
    "- What I expect before calculating:\n",
    "- What I still need to find out:\n",
    "\n",
    "Use the lab as a worked starting point if you do not yet have your own problem. For notation or prerequisites, ask the chapter skill to explain only the concept blocking the next step.\n",
    "\n",
    "## 2. Choose a route\n",
    "\n",
    "- **Is the claimed accuracy close to machine precision?** Combine unit roundoff with conditioning and algorithmic error; do not equate `eps` with final accuracy.\n",
    "- **Does an expression subtract nearly equal values?** Search for a stable equivalent such as `log1p`, `expm1`, compensated summation, or a scaled formulation.\n",
    "- **Do parallel runs differ?** Quantify the discrepancy, rule out races and undefined behavior, then choose a tolerance, deterministic tree, or reproducible accumulator consistent with the contract.\n",
    "- **Are tests flaky?** Derive absolute and relative tolerances from expected error and units, including explicit policies for nonfinite values and arrays.\n",
    "- **Is the program too slow?** Profile the complete representative workload before changing code, then reprofile after each intervention.\n",
    "- **Is a hot kernel limited by arithmetic or data motion?** Measure arithmetic intensity and hardware ceilings before choosing vectorization, blocking, fusion, or traffic reduction.\n",
    "- **Will more processors help?** Measure strong scaling and use the effective serial fraction to bound the gain.\n",
    "- **Can the run outlive reliable hardware?** Estimate checkpoint cost and job-level failure spacing, calculate a starting interval, and test actual restart.\n",
    "\n",
    "**Chapter-specific stop check:** Do not promise bitwise reproducibility from a tolerance check. Avoid reading machine epsilon as guaranteed final accuracy or a theoretical ceiling as measured performance.\n",
    "\n",
    "## 3. Work the lab\n",
    "\n",
    "For x=1e-12, compare log(1+x) with log1p(x); forming 1+x loses relative information before the logarithm is evaluated. Separately, if 10% of work is serial, Amdahl's idealized speedup on eight processors is 1/(0.1+0.9/8)≈4.706, with an infinite-processor ceiling of 10. These are mathematical ceilings under the stated model, not measured speedups.\n",
    "\n",
    "Predict the sign and scale before running the code. Then change one input and explain why the result moves. The code checks the constructed example; it does not prove the rule for every possible input. Code assertions may describe the example's chosen regime, so inspect them before changing that regime."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "ch21-cell19",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-03T00:58:21.407351Z",
     "iopub.status.busy": "2026-10-03T00:58:21.407274Z",
     "iopub.status.idle": "2026-10-03T00:58:21.409509Z",
     "shell.execute_reply": "2026-10-03T00:58:21.409456Z"
    },
    "jupyter": {
     "source_hidden": true
    },
    "tags": [
     "practice-lab",
     "hide-input"
    ]
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "log(1+x): 1.000088900581841e-12; log1p(x): 9.9999999999949996e-13\n",
      "Difference relative to log1p: 8.89006e-05\n",
      "Ideal speedup: 4.705882; ceiling: 10.000000\n"
     ]
    }
   ],
   "source": [
    "import math\n",
    "x = 1e-12\n",
    "naive, stable = math.log(1+x), math.log1p(x)\n",
    "serial_fraction, processors = 0.1, 8\n",
    "assert 0 < serial_fraction <= 1 and processors >= 1\n",
    "speedup = 1/(serial_fraction+(1-serial_fraction)/processors)\n",
    "print(f\"log(1+x): {naive:.17g}; log1p(x): {stable:.17g}\")\n",
    "print(f\"Difference relative to log1p: {abs(naive-stable)/abs(stable):.6g}\")\n",
    "print(f\"Ideal speedup: {speedup:.6f}; ceiling: {1/serial_fraction:.6f}\")\n",
    "assert speedup <= min(processors, 1/serial_fraction)+1e-14"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ch21-cell20",
   "metadata": {},
   "source": [
    "**My prediction, observed result, and explanation:**\n",
    "\n",
    "_Record your work here._\n",
    "\n",
    "## 4. Practise without the answers\n",
    "\n",
    "### Exercise 1\n",
    "\n",
    "Using |a-b|<=atol+rtol × |b|, compare a=1e-10 and b=0 with atol=1e-9, rtol=1e-6.\n",
    "\n",
    "**My approach, assumptions, calculation, and check:**\n",
    "\n",
    "_Write your attempt here._\n",
    "\n",
    "### Exercise 2\n",
    "\n",
    "If a fraction 0.5 of runtime can be made twice as fast, what is the ideal total speedup?\n",
    "\n",
    "**My approach, assumptions, calculation, and check:**\n",
    "\n",
    "_Write your attempt here._\n",
    "\n",
    "### Exercise 3\n",
    "\n",
    "Two parallel reductions differ in their last few bits. Is that alone proof of a race?\n",
    "\n",
    "**My approach, assumptions, calculation, and check:**\n",
    "\n",
    "_Write your attempt here._\n",
    "\n",
    "**Coaching prompt:** “Use the Chapter 21 skill to help me with Exercise 2. Ask for my attempt, give one useful hint if I need it, and help me check the assumptions before showing the answer.”\n",
    "\n",
    "## 5. Answer key and reasoning\n",
    "\n",
    "Read this after attempting the exercises, or use it immediately if you prefer a complete walkthrough. An answer is complete only when its assumptions and stopping point are clear.\n",
    "\n",
    "### Answer 1\n",
    "\n",
    "The difference is 1e-10 and the threshold is 1e-9, so the comparison passes. A purely relative criterion at zero would be unsuitable.\n",
    "\n",
    "### Answer 2\n",
    "\n",
    "1/((1-0.5)+0.5/2)=4/3≈1.333. Speeding up one component by two does not double end-to-end speed.\n",
    "\n",
    "### Answer 3\n",
    "\n",
    "No. Floating addition is order-dependent. Measure the discrepancy and compare with the error contract, while separately checking races and undefined behavior.\n",
    "\n",
    "## 6. Build the complete chapter toolkit\n",
    "\n",
    "The new lab samples the chapter; the following checklist covers all 8 rules. Study one thematic group at a time. A large group can take several sessions.\n",
    "\n",
    "- **Spend a Finite Precision Budget Deliberately:** work with rules 21.1.1, 21.1.2.\n",
    "- **Make Reproducibility an Explicit Contract:** work with rules 21.2.1, 21.2.2, 21.2.3.\n",
    "- **Model Hardware Limits and Failure Costs:** work with rules 21.3.1, 21.3.2, 21.3.3.\n",
    "\n",
    "For each selected rule, read its equation, explanation, and worked use in the source. Reproduce that example; change one input; then change one assumption so the rule is no longer justified. Record the result and what check catches the failure. Historical examples remain labeled and qualified as in the source.\n",
    "\n",
    "Read each complete numbered profile in the [chapter reference](source.html) before applying it. The cues below abbreviate the graph metadata; they are not complete conditions. Change the status only after doing the practice described below.\n",
    "\n",
    "| Rule | Book role | First assumptions to inspect | Practice status |\n",
    "|---|---|---|---|\n",
    "| 21.1.1: Budget binary64 as about sixteen decimal digits | Independent | representative workload;  floating point execution | new |\n",
    "| 21.1.2: Use log1p and expm1 for small arguments | Independent | representative workload;  floating point execution | new |\n",
    "| 21.2.1: Expect parallel floating reductions to change low bits | Independent | representative workload;  floating point execution | new |\n",
    "| 21.2.2: Compare floating results with absolute plus relative tolerance | Workflow | meaningful absolute scale;  meaningful relative scale | new |\n",
    "| 21.2.3: Profile before optimizing scientific code | Workflow | representative workload;  representative build configuration | new |\n",
    "| 21.3.1: Know whether a kernel is compute-bound or bandwidth-bound | Workflow | representative workload;  floating point execution | new |\n",
    "| 21.3.2: Use Amdahl's law to bound strong scaling | Independent | representative workload;  floating point execution | new |\n",
    "| 21.3.3: Set checkpoint interval from checkpoint cost and failure rate | Independent | independent exponential failures;  fixed checkpoint cost | new |\n",
    "\n",
    "For a completed row, record: **rule number / my new input / mathematical claim type / verified assumptions / calculation / check / valid use / rejected use / next step**. “Practised” means you worked an example. “Demonstrated” means you can explain a valid use, transfer it, and reject a misuse without the answer key.\n",
    "\n",
    "## 7. Apply it to your own problem\n",
    "\n",
    "Return to your opening question. Choose the smallest rule set that can settle it. Use the book's independent/workflow/specialized classification separately from the claim type (exact, approximate, bound, diagnostic, or heuristic).\n",
    "\n",
    "- Selected rule number(s) and reason:\n",
    "- Assumptions that hold, fail, or remain uncertain:\n",
    "- Substitution with units:\n",
    "- Result and error, uncertainty, or bound:\n",
    "- Independent check or limiting case:\n",
    "- Decision this supports:\n",
    "- Stop here, do a named next calculation, or gather missing information:\n",
    "\n",
    "## 8. Transfer and continue\n",
    "\n",
    "Useful nearby chapters: Chapter 7: linear algebra; Chapter 19: optimization; Chapter 20: numerical methods. Bring the question, units, assumptions, result type, and uncertainty to the next chapter. Choose a bridge only when it supplies an operation you actually need.\n",
    "\n",
    "**Completion check:** Explain this chapter's lab in your own words; solve one changed-input exercise; reject one invalid use; and produce a decision record for your own problem. If one check fails, revisit that part of the chapter rather than marking every rule complete."
   ]
  }
 ],
 "metadata": {
  "book_companion": {
   "calculation_sha256": "221161ba9a522041cf179f6a7f727cf915bbab1c2c633f469e54196e069a2d89",
   "chapter": 21,
   "example_data": "constructed",
   "execution": "All cells executed in order in a fresh process with a new in-process Python kernel. This is not socket-based Jupyter execution.",
   "reader": "reader.html",
   "source_sha256": "5a1868d45ebbd4be6bbea59ef12972c95c080a07e70ae9a3e777e334919016b0",
   "version": "2.0.0"
  },
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.14.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
