{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"# Introduction to TMA4125\n",
"\n",
"\n",
"Executing the following cell loads a non-default css style for the notebook. \n",
"Make sure that you download the corresponding css file `tma4125.css` from the course web page."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"outputs": [
{
"data": {
"text/html": [
" \n",
"\n"
],
"text/plain": [
""
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"from IPython.core.display import HTML\n",
"from numpy.linalg import norm\n",
"\n",
"\n",
"def css_styling():\n",
" try:\n",
" with open(\"tma4125.css\") as f:\n",
" styles = f.read()\n",
" return HTML(styles)\n",
" except FileNotFoundError:\n",
" pass # Do nothing\n",
"\n",
"\n",
"# Comment out next line and execute this cell to restore the default notebook style\n",
"css_styling()"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "fragment"
}
},
"source": [
"We also load a number of $\\LaTeX$ commands first\n",
"$$\n",
"\\DeclareMathOperator{\\Div}{div}\n",
"\\DeclareMathOperator{\\Grad}{grad}\n",
"\\DeclareMathOperator{\\Curl}{curl}\n",
"\\DeclareMathOperator{\\Rot}{rot}\n",
"\\DeclareMathOperator{\\ord}{ord}\n",
"\\DeclareMathOperator{\\Kern}{ker}\n",
"\\DeclareMathOperator{\\Image}{im}\n",
"\\DeclareMathOperator{\\spann}{span}\n",
"\\DeclareMathOperator{\\rank}{rank}\n",
"\\DeclareMathOperator{\\dist}{dist}\n",
"\\DeclareMathOperator{\\diam}{diam}\n",
"\\DeclareMathOperator{\\sig}{sig}\n",
"\\DeclareMathOperator{\\Id}{Id}\n",
"\\newcommand{\\RR}{\\mathbb{R}}\n",
"\\newcommand{\\NN}{\\mathbb{N}}\n",
"\\newcommand{\\VV}{\\mathbb{V}}\n",
"\\newcommand{\\dGamma}{\\,\\mathrm{d} \\Gamma}\n",
"\\newcommand{\\dGammah}{\\,\\mathrm{d} \\Gamma_h}\n",
"\\newcommand{\\dx}{\\,\\mathrm{d}x}\n",
"\\newcommand{\\dy}{\\,\\mathrm{d}y}\n",
"\\newcommand{\\ds}{\\,\\mathrm{d}s}\n",
"\\newcommand{\\dt}{\\,\\mathrm{d}t}\n",
"\\newcommand{\\dS}{\\,\\mathrm{d}S}\n",
"\\newcommand{\\dV}{\\,\\mathrm{d}V}\n",
"\\newcommand{\\dX}{\\,\\mathrm{d}X}\n",
"\\newcommand{\\dY}{\\,\\mathrm{d}Y}\n",
"\\newcommand{\\dE}{\\,\\mathrm{d}E}\n",
"\\newcommand{\\dK}{\\,\\mathrm{d}K}\n",
"\\newcommand{\\dM}{\\,\\mathrm{d}M}\n",
"\\newcommand{\\cd}{\\mathrm{cd}}\n",
"\\newcommand{\\onehalf}{\\frac{1}{2}}\n",
"\\newcommand{\\bfP}{\\boldsymbol P}\n",
"\\newcommand{\\bfx}{\\boldsymbol x}\n",
"\\newcommand{\\bfy}{\\boldsymbol y}\n",
"\\newcommand{\\bfa}{\\boldsymbol a}\n",
"\\newcommand{\\bfu}{\\boldsymbol u}\n",
"\\newcommand{\\bfv}{\\boldsymbol v}\n",
"\\newcommand{\\bfe}{\\boldsymbol e}\n",
"\\newcommand{\\bfb}{\\boldsymbol b}\n",
"\\newcommand{\\bfc}{\\boldsymbol c}\n",
"\\newcommand{\\bfq}{\\boldsymbol q}\n",
"\\newcommand{\\bfy}{\\boldsymbol y}\n",
"\\newcommand{\\bff}{\\boldsymbol f}\n",
"\\newcommand{\\bfp}{\\boldsymbol p}\n",
"\\newcommand{\\bft}{\\boldsymbol t}\n",
"\\newcommand{\\bfj}{\\boldsymbol j}\n",
"\\newcommand{\\bfB}{\\boldsymbol B}\n",
"\\newcommand{\\bfV}{\\boldsymbol V}\n",
"\\newcommand{\\bfE}{\\boldsymbol E}\n",
"\\newcommand{\\bfB}{\\boldsymbol B}\n",
"\\newcommand{\\bfzero}{\\boldsymbol 0}\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"## Overview over the course\n",
"\n",
" * Analytical and numerical techniques for solving ordinary differential equations (ODEs) as well as partial differential equations (ODEs)\n",
" * Introduction into numerical methods and concepts in general\n",
" \n",
" All relevant course information can be found at our \n",
"[course webpage](https://wiki.math.ntnu.no/tma4125/2021v/start)\n",
"including a detailed description of the [curriculum](https://wiki.math.ntnu.no/tma4125/2021v/lectures)."
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"## Preliminaries\n",
" \n",
"In this note, we will present some mathematical results that will be \n",
"used frequently, as well as some definitions and concepts. Most of it should be known from\n",
"previous courses, in particular from Mathematics 1 and 3. \n",
" "
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"## Vector spaces and norms\n",
"**Real vector spaces.**\n",
"\n",
"A *real vector space* is a set $V$ together with operations $+$ (addition) \n",
"and $\\cdot$ (multiplication with a scalar) which\n",
"satisfy the following conditions:"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"1. $x+y \\in V$ for all $x$, $y \\in V$.\n",
"2. $x+y = y+x$ for all $x$, $y \\in V$.\n",
"3. $x+(y+z) = (x+y)+z$ for all $x$, $y$, $z \\in V$.\n",
"4. There exists some element $0 \\in V$ such that $x + 0 = x$ for all $x \\in V$.\n",
"5. For all $x \\in V$, there exists some element $(-x) \\in V$ such that $x + (-x) = 0$.\n",
"6. $\\alpha\\cdot x \\in V$ for all $x \\in V$ and $\\alpha \\in \\mathbb{R}$.\n",
"7. $\\alpha\\cdot(\\beta\\cdot x) = (\\alpha\\beta)\\cdot x$ for all $x \\in V$ and $\\alpha$, $\\beta \\in \\mathbb{R}$.\n",
"8. $1\\cdot x = x$ for all $x \\in V$.\n",
"9. $\\alpha\\cdot(x+y) = \\alpha\\cdot x + \\alpha\\cdot y$ for all $x$, $y \\in V$ and $\\alpha \\in \\mathbb{R}$.\n",
"10. $(\\alpha+\\beta)\\cdot x = \\alpha\\cdot x + \\beta\\cdot x$ for all $x \\in V$ and $\\alpha$, $\\beta \\in \\mathbb{R}$."
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"**Complex vector spaces** are defined in exactly the same way, just replacing $\\mathbb{R}$ with $\\mathbb{C}$ in the definition above, so\n",
"that the scalars are now allowed to be complex numbers.\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"#### Examples:\n",
"The following vector spaces will be used thoughout the course:\n",
"\n",
"* $\\mathbb{R}^m$ is the set of all real vectors with $m$ components. \n",
"\n",
"* $\\mathbb{R}^{m\\times n}$ is the set of all $m\\times n$ real matrices.\n",
"\n",
"* $\\mathbb{P}_n$ is the set of all polynomials of degree $n$ or less.\n",
"\n",
"* $C^m[a,b]$ is the set of all functions with continuous first $m$ derivatives on the interval $[a,b]$. It is common to use $C[a,b]$ rather than $C^0[a,b]$ for all continuous functions. \n",
"\n",
"Notice that $C^n[a,b] \\subset C^m[a,b]$ if $n > m$. \n",
"Further, $\\mathbb{P}_n \\subset C^{\\infty}[\\mathbb{R}]$."
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"**Exercise.** Verify that $\\mathbb{P}_n$ and $C^m[a,b]$ indeed are vector spaces.\n",
"For that recall that the operations \"adding two functions\" and \"multiplying a function with a scalar\" are defined as usual by defining the resulting functions pointwise:\n",
"$$\n",
"(f + g)(x) := f(x) + g(x) \\\\\n",
"(\\alpha f)(x) := \\alpha f(x)\n",
"$$ \n",
"\n",
"**Question from audience:** Can we define Function with different variables $ f(x), g(y)$?\n",
"\n",
"Addition is not immediately\n",
"defined but you can define \"new functions\" $\\widetilde{f}(x,y) := f(x)$ and $\\widetilde{g}(x,y) := g(y)$ to make sense of it and then set\n",
"$(f + g)(x,y) := f(x) + g(x)$"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"### Norms\n",
"\n",
"**Norm $\\lVert\\cdot\\rVert$.**\n",
"\n",
"A norm is a function $\\lVert\\cdot\\rVert \\colon V \\to \\mathbb{R}$ such that the following hold:\n",
"1. $\\lVert x \\lVert \\ge 0$ for all $x \\in V$.\n",
"2. $\\lVert x \\rVert = 0$ if and only if $x = 0$.\n",
"3. $\\lVert \\alpha \\cdot x \\rVert = \\lvert \\alpha \\rvert \\,\\lVert x \\rVert$ for all $x \\in V$ and $\\alpha \\in \\mathbb{R}$.\n",
"4. $\\lVert x + y\\rVert \\le \\lVert x \\rVert + \\lVert y \\rVert$ for all $x$, $y \\in V$. (*triangle inequality*)\n",
"\n",
"The norm $\\lVert\\cdot\\rVert$ of an element $x$ in a vector space $V$ is essentially a measure of the size of the element. More importantly, the norm $\\lVert x-y\\rVert$ of a difference of two vectors $x$, $y \\in V$ is a measure for the distance between $x$ and $y$, or, put differently, of how similar $x$ and $y$ are."
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"**Norms for $\\mathbb{R}^m$ and $C[a,b]$:**\n",
"\n",
"For any given vector space $V$, there are usually different meanigful definitions of norm that encode different notions of similarity of elements of the vector space.\n",
"\n",
"For $\\mathbf{x} \\in \\mathbb{R}^m$ (note that we will use bold symbols for vectors $\\mathbf{x} \\in \\mathbb{R}^m$):\n",
"\n",
" * The maximum-norm $\\|\\mathbf{x}\\|_{\\infty} = \\max_{i=1}^m |x_i|$. \n",
"\n",
" * The Euclidean norm $\\|\\mathbf{x}\\|_2 = \\sqrt{\\sum_{i=1}^m x_i^2}$.\n",
" \n",
" * More, generally, we can define the $l^P$ norm of a vector $\\mathbf{x}$ by\n",
" $\\|\\mathbf{x}\\|_p = \\left(\\sum_{i=1}^m x_i^p\\right)^{1/p}$, $1\\leqslant p \\leqslant \\infty$\n",
" \n",
" "
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"**Norms for $\\mathbb{R}^m$ and $C[a,b]$:**\n",
"\n",
"For any given vector space $V$, there are usually different meanigful definitions of norm that encode different notions of similarity of elements of the vector space.\n",
"\n",
"For $\\mathbf{x} \\in \\mathbb{R}^m$ (note that we will use bold symbols for vectors $\\mathbf{x} \\in \\mathbb{R}^m$):\n",
"\n",
" * The maximum-norm $\\|\\mathbf{x}\\|_{\\infty} = \\max_{i=1}^m |x_i|$. \n",
"\n",
" * The Euclidean norm $\\|\\mathbf{x}\\|_2 = \\sqrt{\\sum_{i=1}^m x_i^2}$.\n",
" \n",
" * More, generally, we can define the $l^P$ norm of a vector $\\mathbf{x}$ by\n",
" $\\|\\mathbf{x}\\|_p = \\left(\\sum_{i=1}^m |x_i|^p\\right)^{1/p}$.\n",
" \n",
" "
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"For $f\\in C[a,b]$, similar norms can be defined: \n",
"\n",
" * The maximum-norm $\\|f\\|_{\\infty} = \\max_{x\\in [a,b]}|f(x)|$.\n",
"\n",
" * The $L^2$-norm $\\|f\\|_2 = \\sqrt{\\int_a^b f(x)^2 \\dx}$.\n",
" \n",
" * The $L^p$-norm $\\|f\\|_p = \\left(\\int_a^b |f(x)|^p \\dx\\right)^{1/p}$.\n",
" \n",
"Thus for two functions $f,g \\in C[a,b]$, the expression\n",
" $\\|f - g\\|_{\\infty}$ measures the *maximal* pointwise difference of $f(x)$ and $g(x)$, while the term $\\|f - g\\|_2$ measures the *average* (quadratic) difference of| $f(x)$ ad $g(x)$. \n",
"\n",
"We will always use the absolute value as the norm of a real number, thus\n",
"$\\|x\\|=|x|$ whenever $x\\in \\mathbb{R}$. "
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"**Example 1:**\n",
"Let $\\mathbf{x}=[1,-6,3,-1,5]^T\\in \\mathbb{R}^5$. Then\n",
"\n",
"$$\n",
"\\begin{aligned}\n",
" \\|\\mathbf{x}\\|_2 &= \\sqrt{1+36+9+1+25} \\approx 8.4853, \\\\ \n",
" \\|\\mathbf{x}\\|_{\\infty} &= \\max\\{1,6,3,1,5\\}= 6.\n",
"\\end{aligned}\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"Norms of vectors in $\\mathbb{R}^m$ are implemented in Python."
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"slideshow": {
"slide_type": "fragment"
}
},
"outputs": [],
"source": [
"%matplotlib inline\n",
"\n",
"newparams = {\n",
" \"figure.figsize\": (8.0, 4.0),\n",
" \"axes.grid\": True,\n",
" \"lines.markersize\": 8,\n",
" \"lines.linewidth\": 2,\n",
" \"font.size\": 14,\n",
"}\n",
"plt.rcParams.update(newparams)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"x = \n",
" [ 1 -6 3 -1 5]\n",
"The 2-norm of x: 8.4853\n",
"The max-norm of x: 6.0000\n"
]
}
],
"source": [
"# The norm of a vector in R^n\n",
"x = np.array([1, -6, 3, -1, 5])\n",
"nx_2 = norm(x) # The 2-norm is the default\n",
"nx_inf = norm(x, ord=np.inf) # The max-norm\n",
"print(\"x = \\n\", x)\n",
"print(f\"The 2-norm of x: {nx_2:8.4f}\")\n",
"print(f\"The max-norm of x: {nx_inf:8.4f}\")"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"**Example 2:**\n",
"Let $f(x)=\\sin(x)$ on $[0,2\\pi]$, so $f\\in C^{\\infty}[0,2\\pi]$. In this case\n",
"\n",
"$$\n",
"\\begin{aligned}\n",
" \\|f\\|_2 &= \\displaystyle \\sqrt{\\int_0^{2\\pi} \\sin^2(x) dx} = \\sqrt{\\pi} \\approx 1.7725 \\\\ \n",
" \\|f\\|_{\\infty} &= \\displaystyle \\max_{x\\in[0,2\\pi]}|\\sin(x)| = 1.\n",
"\\end{aligned}\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"### Scalar products\n",
"\n",
"A **scalar product** (also called **inner product**) $\\langle \\cdot, \\cdot \\rangle$ on a **real** vector\n",
"space $V$ is a **symmetric, positive definite bilinear form** on V; that is, it is\n",
"a mapping $\\langle \\cdot, \\cdot \\rangle: V \\times V \\to \\mathbb{R}$\n",
"which is a **bilinear**\n",
"\n",
"1. $\\langle \\alpha x + \\beta y, z \\rangle \n",
" = \\alpha \\langle x , z \\rangle + \\beta \\langle y, z \\rangle \\quad$ for all $x,y,z \\in V$ and $\\alpha, \\beta \\in \\mathbb{R}$,\n",
"2. $\\langle z, \\alpha x + \\beta y \\rangle \n",
" = \\alpha \\langle z, x \\rangle + \\beta \\langle z, y \\rangle \\quad$\n",
"for all $x,y,z \\in V$ and $\\alpha, \\beta \\in \\mathbb{R}$,\n",
"\n",
"**symmetric**\n",
"\n",
"3. $\\langle x,y \\rangle = \\langle y, x \\rangle$\n",
"\n",
"and **positive definite**\n",
"\n",
"4. $\\langle x, x \\rangle \\geqslant 0 \\quad$ and $\\quad \\langle x, x \\rangle = 0 \\Leftrightarrow x = 0$"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"An inner product on $V$ automatically induces a Norm on $V$ via\n",
"\\begin{align*}\n",
"V \\ni x \\mapsto \\|x\\| := \\sqrt{\\langle x, x\\rangle} \n",
"\\end{align*}\n",
" \n",
" \n",
" **Exercise**: Verify this."
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"**Example 1:** Let $\\bfx, \\bfy \\in \\RR^m$ and define\n",
"$$\n",
"\\langle \\bfx, \\bfy \\rangle := \\bfx \\cdot \\bfy := \\sum_{i=1}^m x_i y_i\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"**Example 2:** Let $f, g \\in C[a,b]$ and set\n",
"$$\n",
"\\langle f, g \\rangle := \\int_a^b f(x) g(x) \\dx\n",
"$$\n",
"$$\n",
"\\langle \\alpha_1 f_1 + \\alpha_2 f_, g \\rangle = \\alpha_1 \\int_a^b f_1(x) g(x) \\dx + \\alpha_2 \\int_a^b f_2(x) g(x) \\dx\n",
"$$\n",
"\n",
"Then this define a scalar product. Clearly, this expression defines a symmetric bilinear form on $C[a,b]$ (verify this), but what about being positive definite?\n",
"Of course $\\langle f, f \\rangle = \\int_a^b (f(x))^2 \\dx \\geqslant 0$ \n",
"but why does $\\langle f, f \\rangle = 0 \\Leftrightarrow f = 0 $, that is $f(x) = 0 \\;\\forall x \\in [a,b]$ hold?\n",
"\n",
"Proof by contradiction: Imagine $f$ attains at $x_0$ a value $f(x_0) = c > 0$. Since $f$\n",
"is continuous, there must be an $\\epsilon > 0$ such that $f(x) > c/2$\n",
"for $x \\in [x_0 - \\epsilon, x_0 + \\epsilon]$. Consequently,\n",
"$$\n",
"\\langle f, f \\rangle = \\int_a^b (f(x))^2 \\dx \\geqslant\n",
"\\int_{x_0 -\\epsilon}^{x_0+ \\epsilon} (f(x))^2 dx\n",
"\\geqslant \\int_{x_0 -\\epsilon}^{x_0+ \\epsilon} (c/2)^2 \\dx > 0.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"**Orthogonal vectors.** Assume that $V$ is a vector space with a scalar product\n",
"$\\langle \\cdot, \\cdot \\rangle$. Then $x,y \\in V$ are said to be orthogonal\n",
"if $\\langle x, y \\rangle = 0$."
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "fragment"
}
},
"source": [
"**Example 1** $V = \\RR^3$ with standard inner product, then\n",
"$\\bfx = [1, 2, 3]^T$ and $\\bfy = [3,0,-1]^T$ are orthogonal."
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "fragment"
}
},
"source": [
"**Example 2:** Let $V=C[-1,1]$ with the inner produc $\\langle f, g \\rangle := \\int_{-1}^{1} f(x) g(x) \\dx$. Set\n",
"$f(x) = x$ and $g(x) = x^2$.\n",
"Then $\\langle f, g \\rangle = 0$ \n",
"\n",
"**Exercise** Verify this."
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"f = lambda x: x\n",
"g = lambda x: x**2\n",
"f_g = lambda x: f(x) * g(x)\n",
"x = np.linspace(-1, 1, 50)\n",
"plt.plot(x, f(x), marker=\"x\", label=\"$f$\")\n",
"plt.plot(x, g(x), marker=\"+\", label=\"$g$\")\n",
"plt.plot(x, f_g(x), marker=\"*\", label=r\"$f\\cdot g$\")\n",
"plt.legend()"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"Note that the specific interval $[a,b]$ in the definition of\n",
"$\\langle f, g \\rangle := \\int_a^b f(x) g(x) \\dx$ is important.\n",
"For instance the two functions $f$ and $g$ defined above are \n",
"orthogonal on $[-1, 1]$ and any other symmetric interval $[-a, a]$ around\n",
"$0$, but there are **not** orthogonal on the interval $[0,1]$."
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAekAAAD8CAYAAABTolwLAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/Il7ecAAAACXBIWXMAAAsTAAALEwEAmpwYAABlNklEQVR4nO3dd3xUxdrA8d/sZtNIQkkgoZfQe1WqBBR7uypgRWyIXnu/vnjlermCvSOCShUpKgIKKAqJNAkthBZKaCGQQCghPdndef84yWbTe3++fvazu+fM2Z0cAw8zzxSltUYIIYQQ1Y+pqisghBBCiPxJkBZCCCGqKQnSQgghRDUlQVoIIYSopiRICyGEENWUS1VXIDc/Pz/dpk2bcv3MpKQk6tWrV66fWdfIPSw7uYdlJ/ew7OQell1F3MMdO3bEaa0b5z5e7YJ0mzZt2L59e7l+ZnBwMEFBQeX6mXWN3MOyk3tYdnIPy07uYdlVxD1USp3I77h0dwshhBDVlARpIYQQopqSIC2EEEJUUxKkhRBCiGpKgrQQQghRiBkhkWyOjAMgIT2B746/SUJ6AgCbI+OYERJZYd9drNHdSqmrgJeAfkAz4CGt9ZwirukBfA5cAVwAvgL+q8u4o8fly5c5e/YsGRkZxb6mfv36HDhwoCxfW6NYLBaaNGmCj49PVVdFCCFqvJ4t6vPUwl18fm8fzrOFv9UFgqOC8WWQ43hFKe4ULC9gLzAv81EopZQPsBb4CxgAdAZmA0nAB6WqKUaAjo2NpXnz5nh4eKCUKtZ1CQkJeHt7l/ZraxStNSkpKURHRwNIoBZCiDIaHOjH5/f24amFu2jbfQkAc/cs4egedz6/tw+DA/0q7LuLFaS11quAVQBKqTnFuOQ+wBN4UGudAuxVSnUGXlBKfVja1vTZs2dp3rw5np6epbm8TlBK4enpSfPmzTl9+rQEaSGEKKO+8/uSYc+AVnAoHlBw8FIYtArj8Y1g2Wxh5wM7K+S7VUnjpVIqEXiqsO5updQ8wFdrfZPTsQFAKNBOa30sV/kJwAQAf3//fosWLcr3c+vXr09gYGCxW9BZbDYbZrO5RNfUdFprIiMjiY+PL5fPS0xMxMvLq1w+q66Se1h2cg/LTu5hXquOptO2vpkuvnnjxIHzNpqemI/Z9hsLfbzZ6+YKSuGiNd3T0hhzOZF2fjdyru0DZarDiBEjdmit++c+XlErjgUAp3Idi3U6lyNIa61nAjMB+vfvrwtayeXAgQOlahnWpe5uZ+7u7vTpUz65ElmlqOzkHpad3MOyk3uYl2vLuMzccq8cXdd/Hojl0z934WK+h6HpLdA+SyGzkWjVbvTp+X/cMuieCq2bjO4WQghRpznnnDdHxhGfnMGLS8J4dO52UjJsXJO+nusbzWafuysArlqjTBnM2b3EMeq7olRUSzoG8M91zN/pnBBCCFFtDA70Y+odPXh4zjbsdk26zUgF/6vJ39ycPIu7fAMAGOA/gFd3rmDpyOfYE3vUMbq7ogaPVVSQ3gK8o5Ry11qnZh4bBZwGjlfQdwohhBB5zAiJpGeL+vkG0s2RcWyOPE9aho0Ff58kNcPOcy4/8GPDB5jffRctt33KIwFNSDSZuLrV1XwU9BEnzkxk0sBJxvXd4wg/FV9hQbpY3d1KKS+lVG+lVO/Ma1plvm+VeX6qUupPp0sWAsnAHKVUd6XUHcBrQKlHdtcWs2bNol27dri4uDBhwoSqro4QQtR6WfOcc3dNr9x9modmb+Or4EhmbThGSoYNi1nxnMtP3JX6A222vcXc+t7s8HDHz8OPNwe9iVKK422z89CDA/2YODywwupe3Jx0f2BX5sMD+E/m67cyzzcFHLXUWsdjtJybAduBLzDmR39YLrUuJedVY3Kr6FVjACIiInjiiSf44IMPiIqK4sMPq/R2CCFEnZA75xx1IZmH52zj6e93kWa1k2HX9G/TEB93F+Y+NACAZ/V3HHB15bNGvgC8NfgtGro3rPS6F3eedDBQ4LwnrfX4fI7tAa4qbcUqgvOqMc5dE5sj4yp81RiAFStW0L17d/7xj39U6PcIIYTIaXCgH/93Y2fGz95GhtVOVpfuzT2bMqyDH++sOciM+/sy+NhnAKSZTLzYuitW6wWGB9zKsBbDqqTeFZWTrpac/zWVFaidA3RFrhrTsWNHDh8+DBgLjtx+++0sW7aswr5PCCHqiqJyzn8eOMu5hDR+CT+NPTM6dw7w5ov7+hLY2Ivtc15mp20mLIAEpZjUxI/GVitR1gu0Sc/gnjMplfwTZavxQbrNa7+W6rp7Z20t9H1Rjk+7qehCTjZu3MiwYcMYN24cjzzyiKyaJoQQ5aSgXtKFW0/w5op9ZGSO1DabwM1sYuyAlvwSfobYy6kENvai/wNTYXk8hC8m2MuHdfWMv59dlAtT//E93f26V8nPBbUgSNcUPj4+HD16lCFDhhAQEFDV1RFCiFojdy+ph8XMWyv3syvqEgCuLiaCOjYm9NgFpt/fl8GBflzfPYCnFu7ii7FdGbTzFYj4BSz1WNquD1w+CsDjvR6v0gANtSBIF6dFm3vFsawu7vuvbMWCrScrvKsbYO/evVitVnr37l2h3yOEEHXR4EA//jkikHHfhGLN7NN2NZsYN6g1fVo14I3l+xwBOqv89NGd0Avvpm+bi2S0bWV8UGaABvgi7Au+CPsCi6ni1uYuSo0P0iWVOwc9MNC3UnLSYWFhtG7dmgYNGlTYdwghRG1TVL55d9Qlujevz2d/HiH0+AXHuX6tGzLzgX74erkxIyQy59/x66fCwCcYuOlRIJw1Z3zZet3LfHl8JVEJUQC4ml3p2qgrYzqNIahlUCX8pPmrU8uC5jdILPfQ/IoSFhYmrWghhCihguY4bz4Sx4R5O/hhxyke+CaU0OMX8LSY8LCYmTCsLcfikjgYmwDAxOGBOYN8yDSYezNEbQWfFjR57He6B15PTFL2gpguyoUxncZwS+AteLtW3d4PdSpIh5+Kz7fFnBWow0+Vz45R+ZEgLYQQJZe7IWW3az754xAPfBtKYpqVyHNJNKrnytj+LXGzmPlmfH9ev6lrwY2v+GjjOWYPNAqEh9eQ3rAVr/z1irEdJUYrOtWays9Hfq7cHzYfdaq7u7BVYQYH+lVYd7fWmvDwcF566aUK+XwhhKjNBgf68endfXhs3g7cXUycT0oHwM/Ljcevakf7JvV4cWk4X9zXN99eUkfj7HwkzL/d+NAm3WDcz+DVhI9C3yHiQgRuZjduansT93a5l6WHljq6vqtSnQrSVUUpxeXLl6u6GkIIUe0UlXPedfIS/j7uTF9/hKQ0K0lp4OVm5uXrOjN2QEvcLea8OedMWYHadcM7MH9mzg8/uw/e70CIhzsLAprgolyYc/0cx2jurLW5q5oEaSGEEFWmoDnOfx06xxMLduDpZuZcgtFyNikI6tSEXScv0sHfC3eLGSi6lxSXf8DCRZB2GdoFwdFgmBzP2eSzvLHiLki7yLN9n63y6Vb5qVM5aSGEENVL7pxzaoaNySv2MX52KEnpNs4lpNPUx516rmbmPnwF344fwBf39S3+YN9Dv8H8fxgBuuttcO8SAGx2G//a8C8upl1kcLPBjOs2roJ/0tKRlrQQQogqNTjQjw9G9+TRudsBSE63AdDR34truwWw8O+TzHqwf+H55vyEL4FlE0HboO+DcPNHJFiTmdTEjw67vyQ0JpRG7o3439D/YVLVs80qQVoIIUSFKSrnvO3YBVzMJr7ZeMwRnBt7ufLf23twbVd/Zm44yuf3FT4rJ89nr58Kno1g9SvG+6HPw9VvglIERwWzrp4n68ONHPXbQ9/Gz6NiF7MqCwnSQgghKkxBOee1+2J5ZtEuTAqSMoOz2aS4sUcAm46cx8fDBZNJlXxWjtbGPOgso/4LQ55xvF16aKlRDM34buMZ0nxIOfyUFUeCtBBCiAqTu2u6k783b63cz/Ldpx1lOgd4E30pha/u78fg9mXYndBuhzWvGq+VCW79DPrcT9/5fR1zoJ3N2TeHOfvmVOmyn0WRIC2EEKJCDQ70Y8pt3Xh49jasdu1YW3toez9GdG7MF+sj+eqBfiXPOTuzpsHPT8DeH433Y+ZBl1sACBkbQnBUMNPDpnMq8RRQfZb9LIoEaSGEEKVSVL45/FQ8t/ZqxlchkXy/LYp0qx2ANr6efDi2N31bNSxyjnO+Oefc/pgMGz/KeWzx/Y6X3sNfo13PWzmTdMZxzHnZz+pMgrQQQohSKSjfvDkyjicW7KRf6wZ88PtBx37OFrPizr4t+H1/LKkZRh66zCtBJp6FyHXG63pN4P4f4KurYHL2Ms/xafG8+MtYbNr4TudlP6t7kK6eY86FEEJUe/ltUPTDjijGz95GQmoG6yLOYbVrBgX6Ut/DwtyHr2DanT3Lb1OjC0fhm2vhzG5o2BYe+R2a9spRRGvNG5veIDoxmnqWeozuOJqFNy5kdKfRuJiqfzu1+tewIq2fCiP+VdW1EEKIGisrUD+xYCdNfNw4HJsIGCO17+zTnEGBjXh7VQRf3l/EutrFlfX39pndsOBOSDpnBOb7fgCvJnmKz9s/j/VR6/G2eLP4lsW09G4JVJ9lP4tSt1vSzsP0hRBClNje6Hjmbj5OfEoGh2MTMSm454qWrH8xiA/G9CIuMb18dx8MmQZHQ2D2TUaAbhcE43/NGaCHvwbArrO7+GiHkaueMnSKI0DXJHU7SFeyHTt2MHz4cDw8POjevTubN2/GYrEQHBxc1VUTQog8ZoREFtglPXfLcUa+H8zNn23kt32xAPRsXh8fdwu39GpGK19PIJ+9nJ0MDvQrNCddoAV3QnoCdL8T7l0Kbrn2ex7xLy6kXuClkJewaRsPdn2Qka1Glvx7qoGa3909uX6RRQrdrrsY1+d/Xcn+9RcREcGIESOYOHEiM2bMIDIykrFjx2K1WmWfaSFEtZTfwLC/j55nyi/72Xva2NnP1WzCpODDMb24sWez0s9xLo6tXxnP9gy48gm47m0w5WxrJqQn8H8b/4+kjCTOJp+ld+PePNvv2fKtRyWq+UG6hnjmmWcYNWoU7777LgBdunRhyZIl/PXXXzRo0KBqKyeEEPlwzh0/flU7/jxwltDjFwBwt5i4rmsAIYfPMb2ofZzLYv3U/FOTW780HsNfyzG2KDgqmPVR6wFo4NaA94a/h8VkKVsdqlDND9LFaNEmJCTg7Z1Pe3py/RK3iEsjKiqKtWvXEhYWluO4m5sbvXr1yv8iIYSoYlprUtJtNPS0MHV1BAAKuKNvc/59cze+33aSsVe0LNsc56IMewHOHzYWKTG5gN1a6N/bc/bNcbyeNmwaAfUCyvb9VazmB+kaYOfOnbi4uNCzZ88cxw8cOMDVV19dRbUSQtR1BS1GYrdrPlt3mIVbTxKbkAYYLefUDDsTrmrHv27sApTDHOeipFwyFiU5vgFcvWHsPGPbyVzyW/ZToZj4x0SAar3sZ1Fk4FglMJvN2Gw2kpOTHcd27NjBpk2bpCUthKgyWTnnrMFhNrtmeVg0V723jo/+OExsQhqNvd24/8pWeFjMPDOyPUt3nCr7/ObiiD8F315vBGivAHhoFQTmP/grZGwI/x38X+q51HMcczW70rtxb94e+jYhY0Mqvr4VpG63pDOH6Ve0/v374+bmxssvv8yLL77I4cOHef755wFk0JgQospkdUv/87udjB3Qit/3xXA0LgkA33oWnr2mI60aefLCkt18kZl3HhjoW3EDw8DIQXe9FRbcBQmnwa+TsYpYg1bG+Xz+3vZ29Wbv+b0kWZMcx8zKXCOW/SxKsVvSSqknlVLHlFKpSqkdSqlhRZS/VykVppRKVkrFKKUWKKWqV3KgkhYyCQgIYO7cuaxatYqePXvy+eefM378eBo3bky7du0qpQ5CCJFbmtXG8bhkXMyKGSGRHI1LwqTgsWFt2fKva2jfxIsXluzOEZDzW2WsXIVMM1rQCaeh1WB4eE12gIZ8/95edngZiw8uRmX+57zsZ01XrJa0Umos8AnwJLAx83m1Uqqr1vpkPuWHAPOBl4CfAX9gOvAdUCeTsGPGjGHMmDGAMRjj+uuv56677qriWgkharOCcs6pGTamrjrAT7uiSUi1AtDA08Kl5AyeDArkpes6AxB+Kr7sm1+URLix1zNpl6Hr7fCPr8DiXugl++L2MeXvKQAENgikn38/RncczdJDS4lKiCq/ulWR4nZ3vwDM0VrPynz/tFLqeuAJIL/m6CDglNY6a1uSY0qpz4DPylTbGmrjxo3ExMTQt29fzp8/z0cffURYWBizZ8+u6qoJIWqx3POck9OtrD6WwbMhfxKfYgy06uTvzbXd/Pnu75M8M7I9C7aeZHB7vyIXGimXgWFZtIa/3of1RrBl4JNw7f/yzIHO7XzKeZ4Lfo50ezpjOo7hjUFvOM7VlGU/i1JkkFZKuQL9gPdznfodGFzAZZuAt5VStwC/AL7A3cCq0le15oqJieHVV18lOjqaxo0bExQUxI4dO2jWrFlVV00IUYs555yv7RrA2gOxXEhKB6CNnyevXd8FbzcXnl60i8/v61M5Oefc1k2Bv97Leezv6cYD8syDzmK1W3n5r5eJSYqhV+NevHZF5YwxqmxKa114AaWaAdHAcK31X07H/w3cp7XuVMB1dwBzAA+MfwysBW7TWqfkU3YCMAHA39+/36JFi/KtS/369Wnfvn3RP1UuNpsNs9lc4utquiNHjhAfXz7zwBMTE/Hy8iqXz6qr5B6WndzDkklM16w9kcGaYxmkGVs5Y1KaOzq4clNbCxEX7EwPS+XJ3u508c3+O/LAeVu+x8ub2ZpEt33v0OjibmwmVw50eZHu+6YSHLS8yGt/uvAT6xPW42P24ZWAV6jvUsrVI0uhIn4PR4wYsUNr3T/38QoZ3a2U6orRtf1f4DegKfAe8BUwLnd5rfVMYCZA//79dVBQUL6fe+DAgfwXJSlCgYuZ1HLu7u706dOnXD4rODiYgv6/iOKRe1h2cg+zFZRvBliz9wxzNh9nb/RlEtOMnHOzBu6cvpTKzW0tvP/wtQAcDInkq/F5PyMI6NU7jvBT8QSVZm3t4rh0Er4bAxcPQL3GmO9dTPfm/WDf1AL/HyekJzBp4ySuanEV60+sx0W58Pm1n9OnSfn8PVdclfl7WJwgHQfYMAZ/OfMHYgq45l9AqNY6qw8jXCmVBGxQSr2utT5VqtoKIYQA8l9X++zlVN5csY/Ve7P/ah7WwY+gTo35Yn0kz4xsz+wNR9gcGVe5OWdn66dCp+th4VhIjDWmWN23FBq2LvLS4Khg1kWtY8OpDQC8esWrlR6gK1uRQVprna6U2gGMApY6nRoF/FjAZZ4Ygd1Z1ntZQEUIIcrIeSrU5Fu7se3YBb4PPYnVbqQwr+7chKdGticlw5YjmHsknKrcnHNuIdNg86eQkQxtr4Ix88GjQfb5QtavWHrICEEZOoPbAm9jbKexFVzZqlfc7u4PgflKqVCMQWETgWbADACl1DwArXVWV/ZKYJZS6gmyu7s/BnbmN2VLCCFEybVo4EmvFvV55vtdjmMD2jTkzVu60b15/Xx3pOria+bze3tVTaDO2sUqIxl63Qu3fAIurjnL5Boklt+SnwDLI5ezPHJ5jV7ysziKFaS11ouVUr7AJIyAuxe4UWt9IrNIq1zl5yilvIGngA+AeGAd8Gp5VVwIIWqzwnLOP2yPYs7m4xyIScBmzx78e++VrXj7Hz0c7yt9nnNBbFb47V8QOtN4P+L/4KqXQakiLw0ZG0JwVDAf7fiIcynnAHAzu9GlURfGdBpDUMugiqt3NVDsgWNa6+kYC5Lkdy4on2N1dl60EEKUVX4554iYy0xesY+/jxrbRZpNiqs6+rE7Kp4HB7VmwdaT3NyzqaN8leScc1v7Jmz6OOex9f8zHlDgFKss3q7epNpSHQEaas+Sn8VRt9fuFkKIaso55/zStR0JPniO3/fHAmA2wZj+rRjYthH/+WU/X95fSetql9TF43DoN+O1py/cvRC+va5EWwRvi9nG23+/DRg7W1nMFseSnxKkhRBCVBk3FzOtGnnw+rK9jmPXdfNn8q3dOBaXlCcgOwf2Kg/UJ7fConshOQ4ad4Z7FkGjtiX6iKjLUTwf/DxWbaVZvWYMazGsVi35WRwSpIUQogoUlnP+ZuNR5m05wYnzxva2LiaF1a55ZGgb3ri5GwDLw05Xj3yzs/VTja7r8KWw/J9gSzO2lxw9B9xLtthIYnoiT617ivi0eIa3GM4nIz7BbDIWVqktS34WhwRpIYSoArlzzlprNhyO4+1fDxARmwCAl5sLV3dpQsihc4wbaOScr+7iX3VznIsSMg3QEPKO8X7Ao3D9O2B2CjXF2CLYZrfxyl+vcDT+KO0btGfasGmOAF3XSJCuZLNmzWLq1KmcPHmShx9+mJkzZ1Z1lYQQVcC5a/qRIW1Ye+AsYVGXAKjnambCVYF0berDqz+FM72y9nIui4zMFZ9D3gFlguunwZWP5y1XyCCxrBXF/D392RC9gQZuDfh05Kd4udbdpWDrbJDO+mWYMnQK3q6Vs2RoREQETzzxBEuXLmXgwIF1cqlSIYTBbtfEJ2fg7ebCe78fAkABYwa0ZNJNXdgTHV+9c87OLp8x8s8Art4wejZ0GFXij8laUQzARbnwYdCHtPRuWY4VrXnqbJDO+mUIjgqutBGCK1asoHv37vzjH/+olO8TQlSNwvLNGw/HsWT7SSJiEjgUmwiAp6uZ5HQbE4e349UbugDVaI5zYdZPzezidpKeAN/dZbwuYnpVbvP2zXO8njRwEgMCBpRHLWu0OrtE57LDywD4+cjPlfJ9HTt25NVXX2X37t0opUoUqHfs2MHw4cPx8PCge/fubN68GYvFQnBwcMVVWAhRaln55s2RcY5jGTY7U1cdYNy3W1mx+wyHYhNpVt+d8YPb4OZi4pmR7Vm8/ZTjmonDAwsMwkXlpCuNb3twcTdetx5iPE+Oz34UI0D3nd+XHnN70GNuDyIuRjiOT94ymR5ze9B3ft+KqHmNUeNb0j3m9ii6UCFCY0JL9Rl7HtxTovIbN25k2LBhjBs3jkceeQRPT89iXRcREcGIESOYOHEiM2bMIDIykrFjx2K1Wundu3eJ6y2EqHjO3dIfje1F9MVUPlx7kLhEYy/nVo08eTIokGYNPHhucRhf1IScszO7Hdb9FzZ+aLzvNx5ueA+mNC7xR4WMDWHV0VW8t/090mxpQN1aUawodbYlXdl8fHw4evQoQ4YMISAgAB8fH8e5zz//nCuuuCLf65555hlGjRrFu+++S5cuXbj55psZMWIErVu3pkGDBpVUeyFESfVt1ZBbejblodnbeH3ZHuIS02la350PRvdi3YvDaeXryXOLwwrMOTu3wquN9VMhLQEW328EaGU2gvPNH+ddg7uYXM2urDq2ijRbGgpjmVDnFcUqa8xQdVXjW9LFadHm3k96ZeRKpvw9hWRrMp4unkwaOKnC89J79+4tsPUbFxfHoUOH8hyPiopi7dq1hIWF5Tju5uZGr169KqimQoiiFJZzXhcRy/wtJ9gTfZm4xDTH8eu7BfDFfX0xm4xAVCNyzrmFTIMDK+DsfmPe8+i5EDgi+3wxplc5s2s7b2x8g51nd2IxWbDZbXVuRbGi1MmW9LLDy0i1puJqdnX8MlS0sLCwAlu/kydP5tKlS3mO79y5ExcXF3r27Jnj+IEDB6SrW4gqlF/O+XJqBq/8sJtH5mxn/cFzxCWm0cbPEy83F54e0Z7Q4xfYeuy8o3yNyDk7O77JeD67H3w7wGPrcwZoKNEgMYDPdn3G6uOrqWepRzffbozuNJqFNy5kdKfRuJhqfBuyXNTJu2AxWxjdaXSlLi8XFhZW4sBqNpux2WwkJydTr149wBhEtmnTJl544YUKqKUQojicu6XfuaMHe6LjmbXhKCkZdgD6tGrAqC7+fL3xGDPH9WNwoB+D2teQfHNuWsO2r2FNZiu5/TVw5zc594AuhR8O/cDXe77GrMx8MPwDhjQf4jhXl1YUK0qdDNJfjfrK8bqyfhnCwsK45pprSnRN//79cXNz4+WXX+bFF1/k8OHDPP/88wDSkhaiinX092ZIoB+Pzd/hONY5wJs3bu6KAp76vobMcS7Mn/+FDe/nPHbkD3intfG6hFOsstanuCXwFqb8PQWANwa+kSNAi5zqZHd3ZdNaEx4eXuLAGhAQwNy5c1m1ahU9e/bk888/Z/z48TRu3Jh27dpVTGWFEMwIiSxw4Nav4ae568vNDH1nHSvDTzuO39m3OWueu4oh7f0Ijy4631ztXT4Dx0KM1y7ucMfXxusSTrFylrU+xat/vYpN23isx2Pc2fHO8q13LVMnW9KVTSnF5cuXS3XtmDFjGDNmDGAE++uvv5677rqrPKsnhMglv72cT11M5j8r9rP2QKyjXN9WDThyNpHxg9uwYOtJNkfGVd91tYsja4OMqFBjBHdiLNRvCWMXQLPe8NOjZfr4xRGLAUi3p3ND2xt4qs9T5VDp2k2CdDW2ceNGYmJi6Nu3L+fPn+ejjz4iLCyM2bNnV3XVhKjVnLum37i5C39HXmDpjijs2jh/Q/cAhnXw4/3fDzHjgX41a45zYUKmgU8z+PVFsGdAm2HGDlb1Sv/z9J3flwx7Rp7jq4+tZvWx1VhMFnY+sLMMla7dJEhXYzExMbz66qtER0fTuHFjgoKC2LFjB82aNavqqglR6zXxdqdbUx+eX7zbcWxwoC+Tb+1GXGJazVlXu7isxkIrrHzGeL7icbjuf2C2ZJcp4RQrMBYr+ePEH7y77V0SM4xlUGWxkuKTIF2N3XXXXdK1LUQFKGye8+JtJ5m96TgHYxPQ2tj0QgMPDGzNf2/vDsC6iLM1b45zYRJiYel447XZFW7+CPrcn7dcCXPQAJ4unmyI3uAI0JBzsRJROBk4JoSoc/Kb57znVDx3fbmZV3/cQ0RMAhaTias7N8HHw8IzI9vz654zNWtd7eJYPxUm14cPOsLJzcYxWzos/6dxfP3UMn281pq3t77N2hNrMSszClWp61PUBtKSFkLUOc5d089c3YHgg2cJPngOAItJcd/A1vRv05B/L9/Hl/fXsHW1i0tr8PQFkwvYrdBqsBGoJ5ffyPMZu2ew5NASXE2udGzYkW5+3Sp1fYraQIK0EKLO0VqjUDSt787kFfscx2/u2ZR/39KVI2cTa1/O2Vl6MvzyHIQbo60Z+CSMegv+W34/05KDS5i+ezomZeLd4e9ydaurHedksZLiq3FBWmuNUqqqq1Htaa2rugpCVInC8s2bj8SxPOw0R+MS2Xb8IgCuZkW6TfPYsLb8301dAfhpZ3TtyjlnWT8V99S28M21ELsHLJ5w62fQo+xjX7IWKpkydApbTm9xLFby74H/zhGgRcnUqCBtsVhISUkp9jaPdVlKSgoWi6XogkLUMvnNcdZa88X6I3z0x2FsmfOo6ntYGNXVnz8PxDJxYGsWbD3JiM5NavY856KETKOfSz2wJkGjdsb8Z/9u2edLMXo7S9ZCJd/s+YZ5++eh0Tzd52lZrKSMalSQbtKkCdHR0TRv3hwPDw9pUedDa01KSgrR0dH4+/tXdXWEqHTO3dKf3d2Hy6kZTFsdwYkLyQD41nPl0WHt6BTgxUtLw2veXs6lYbfDX+8BYLEmQacb4R8zjJ2snJVi9HaWZYeXATB732zs2s69ne/lsR6PlfrzhKFGBemsPZhPnz5NRkbeyfEFSU1Nxd3dvaKqVe1YLBb8/f1z7FktRF1yZVtf7r2iJeO+3YotM/PTwMPCUyPbc++VrQiLulS7c87Oki/ATxPgyFoAjra9j3ZjPwdT2Sf3OC9UkrUXtF0bm4wsjFjI0kNLZaGSMqpRQRqMQF3S4BMcHEyfPn0qqEZCiMpUWM55w+FzfB96kgNnEjgWl+Q4HtSxMTMe6Ie7xQzU0L2cS2P507BrXo5D7Y59B299Z7wp4QYZuYWMDSE4KpgFBxaw//x+AEyY6NG4B2M7jZWFSsqBzJMWQtQo+c1xTrPa+O8v+3jw21BW7YnhWFwSTbzdqOdq5p9BgYRHx7Pz5EVH+Vozz7kgWsPWmbD7e+N9837w3F4AgoOWl3qDjNy8Xb0Z1GwQsUnZ65m7u7gzttNYbgm8BW9X7zJ9vpAgLYSoYZy7pYMjzjJ70zEGvv0n32w8jl1Du8b1eCIokAybnVkP9ufl6zs7yhe0s1WtkLXwSFoC/PgIrH7ZWH/7isfhoTXQoGW5f+Wl1Es89vtjnE89D4CrSRYqKW/FDtJKqSeVUseUUqlKqR1KqWFFlHdVSr2VeU2aUuqkUuqZsldZCFHX9WrRgOu7+fPQnG38Z+V+LiZn0LKhB5/f24e3bu3O4m1RjgFhkDOw19pAHTINzh6AmSNg74/g6gV3zYYb3wUX13L/uoT0BB7/43GOXDqCh9mD2wJvY+FNCxndaTQuphqXSa22inUnlVJjgU+AJ4GNmc+rlVJdtdYnC7hsEdACmAAcBvwBjzLXWAhRqxWWc94Va+Wbb7ayJzqeS8nZg0dv6tGUz+7pg8mkmBESWTfyzfmZNRIykqFxFxg7H/w65DxfhilWzpIzknnqz6fYf34/LbxaMOf6OfjXM2aTyEIl5au4LekXgDla61la6wNa66eBM8AT+RVWSl0LXA3cqLVeq7U+rrXeqrUOLpdaCyFqrfxyzheT0nl+8S4+2ZXGhsNxXErOoEOTeni5ufD0yPZsOXqev48ZXa61Pt+cW0YKrHw283Uy9LwbHvszb4CGMuWgE9ITeHbds5xPOc9z659j59md+Hv68/V1XzsCtCh/qqiVqZRSrkAycI/WeqnT8S+A7lrr4flcMx3oCIQC44AUYDXwutY6MZ/yEzBa3Pj7+/dbtGhRqX+g/CQmJuLl5VWun1nXyD0sO7mHxXfgvI3pYak82M2No/F21p7IIMOY2UPnRiZ6NTbz69EM/tnbnS6+Zkf5JzPf1wVtjn1PmxMF/115vPXdHG97T57jpf09DE0MZf75+bSwtOBUxim8Td48F/AcTSxNSvxZNV1F/FkeMWLEDq11/9zHi9Pd7QeYgdhcx2OBawq4ph0wFEgD7gQaAJ8BzYA8689prWcCMwH69++vg4KCilGt4gsODqa8P7OukXtYdnIPi69zfCrhyfv4PCzGcaxni/rc3DyN7j178dTCXcwcf6WjxRwE9OodlznHuVft7c521jAGTq+EjCRoFAgXInNsjtEm85FbaX8P566ZC8CpjFP4uPow+/rZdGzYsTQ1r/Eq889yRWX3TRhbsN6rtY4HUEo9BfymlPLXWucO+EKIOqKwnPOKsGhmbz7OvujLpNvsjuNj+rfg3bt6ERwcXHfmOOe2fqrRXZ2eBKtegbAFxvEeo439n6e2KPevdF6sxNnl9MvcueJOLCaLLFZSwYoTpOMAG8bAL2f+QEze4oCRr47OCtCZDmQ+tyJvq1wIUUfkt7b28bgkJq/YR/AhY7tIpeDKtg05cCaB8YPbsGDryRx7ORekRq+rXZSQadDtdlg6Hs5FgIs73PAu9B1n3LCK+MqxIayPWs8H2z/gQuoFwJhm1dW3K2M6jZHFSipBkUFaa52ulNoBjAKWOp0aBfxYwGWbgNFKKS+nHHRWv8iJ0lZWCFHzOU+Hev2GzmyKPM/Pu6LRgAJu692MIe39mLo6ghkP9MuxrvZjXU0EVXH9q0TW2KGZI8CaAn4dYfScctscoyD1LPXYFrPNEaABXEwujOk0hlsCbyn37xN5FXd094fAeKXUo0qpLkqpTzDyyzMAlFLzlFLOa88tBM4Ds5VS3ZRSQzCmcP2gtT5bjvUXQtRADT1d6eDvxUs/hLMsM0AHdfRj3UtBjBnQkqmrI/JdV3t6WGrtnedckLQEWDbReG1NgV73woTgnAEayrx6WG52befNzW/y85GfMWFCoXA1y2Illa1YOWmt9WKllC8wCWgK7MWYXpXVKm6Vq3yiUuoajMFi24CLwM9A+f9TTwhRbRS6l3NkHL/ti+H0pVTW7jcyXiYFdg0PDmrNf27rDsBv+2IKzDk/2du99uacc1s/1ejizm33QuNRxnW3C2Oz23hz85ssj1yOh4sHgfUD6ebXjdEdR7P00FKiEqIq5HtFXsUeOKa1ng5ML+BcUD7HDgLXlrpmQogaJ798M8Cczcf4368HyMjcksrNxcSITo35++gFxg0y9nK+rntAkfOYu/iaCapt85zzY7eDaz0wuYDdCv49IHZPjtHb5S0hPYFJGyfxn8H/4f3t7zsC9BdXf8GAgAGOcrJYSeWStduEEOUmx3aP9/QBBVN+OcD+M5cB8HQ188DA1vRu2YD/+3kv0++vA3s5F1fW6O2EWPh5IkSuM45fORGu+Q/8r2IXDAmOCmZd1Dourr/IrrO78g3QovJJkBZClKtB7Xx5bFhbxn0bitVutJw9LCYeHdaOh4a0JSLmct3Zy7kkQqZBi/7w8xOQdA48GsHtX0Kn6yvl6386/BOABOhqRoK0EKLYCs05H4njx52nOHw2kfBT2d2yV7ZtxMxx/anvYQHq0F7OJWFNM56/y1zrqe1V8I+Z4NM0u0wFjN4uaB50ijWFh397WOZBVwMSpIUQxZZfztlu13zy52E+X3cEW+ZUIR93FzJsmgcHt2bJ9lPsO50deOvsPOeCnDsEPz1qvFZmGDkJhjwLplzLm1bAILGQsSH8eeJPPtj+AZfSLwEyD7q6kSAthCg2527pT+7uzfnEdN79LYLTl1IBaOLtxnXdAvgl/LRjjvNVHRvX7W7sgqx/G0LeyXlM2+DP/xiPChy9ncVisrD25FpHgAaZB13dSJAWQpTIgDaNuKtvCx78NpTMlDN+9Vx5dlRHWjb04IUluwvcy1kCdabEc3Bmd/b7XvfA7u8rdPR2bskZyTy97mlCY0IxKzN2bcditjjmQUuQrh4kSAshHArLOYccOsvCrSfZG32Z6EspjuNXd27Cl/f3w9XFVLf3ci5M1shtgINrYMVTxuAw9/pw88fQ/Q4jSFeS+LR4nvzzScLPhePn4UcLrxZ0atRJ5kFXQxKkhRAO+eWcU9JtvL3qAAu2nnCsTtmsvjvxqRk8NLgNC0Oj2H7iQpFznOtkvjlLyDQjz/z7JNj+jXGs7VVw+wyo37xSqpA1D3qobSiP/PYIBy8epGm9pnx97de08slej0rmQVcvEqSFEA7OXdPvj+7JodhEpq8/wuVUKwCdA7y5rlsA87ecYNa4/kbgbe8nXdnF8dVVcP4wmCxw9b9h0FNgclqZuQJGbzvLmge93bSdy/bLtPFpw6xrZxFQL6BCv1eUjQRpIUQO3ZrV5+rOTXhkznYyG86086vHazd0pp6rC08v2sXn98kc52KxWWHTx8br84ehcWe4YxY07Zm3bAUPEvs+wuhOv2y/TIeGHZg5aiZ+HvL/qrqTIC1EHVHUutpbj17ArjVzNh0nIc3qOHdrr2Z8cndvlFKScy6ugtbdPhcBXw2rlJHbUPA86MMXDzNiyQiZB10DSJAWoo4oaF3t1XvO8PySMNCQarUD0LWpD1EXkxk/uA3fbT3JlqPnJedcXHY7ePqCi4exa5V3M0g4Xakjt7OEjA1h7r65zNozC7s2/t9alIVuft1kHnQNUdytKoUQNZxzt/TmyDhi4lOZOH87T3y3k9QMO6lWO8M7NmbyLV2JuZzKVw/048VrO+W4RhRg/VTjOf4ULPgHrH7ZCNA974Ynt1RZtbbHbGfOvjnYtR2zMhZHMWFyzIP2dvWusrqJ4pGWtBB1yOBAPybf0pWHZm8jw2Z3zHMe1dWfp0a0JyndKutql0bINGjUFla9Amnxxrrbt3wMXW+rsir9eOhH3vr7Lezajp+HHxdSLuBqdiXdli7zoGsQCdJC1BJF5ZxDDp7jQlI6y3ZFOza+aN/Ei0/v7kPXZj6Oz5CccwklZfYwLHvceO54A9z6KXg1yS5TwSO3nWmt+Sr8K74I+wKAib0mEn4unJatWjK642g+Xv8xdpO90uojykaCtBC1REE55x+2R/H6sr1k2OxoQAGuLibG9GvBqr0xXEpJd5SVnHMJ7fsZfn3ReO3qDTdMg973gVI5y1XwIDHnvaA/D/ucxQcXo1BMGjiJMZ3G5Cg71ncsQUFBFVofUX4kSAtRS+Tulm7g4cp/Vu5l67GLALiYFEPb+7IrKp4vM/dxvrFnU+nGLo3f34DNn+Y8lp4Ay/9pPCpp9HaWrDnQsX/Esu/8PlxNrrxz1Ttc0/qaSquDqBgSpIWoRQYH+vH8NR148NtQMmxGl7aLSXH3FS0Z0LoR//llvyNAZ5WXfHMxOC/rue9nCFtovLbUg2vfMlrTVTB6O8vSQ0uNqp3fh7fFm09Hfkr/gP5VVh9RfiRIC1FDFJVzXhV+hpMXU/jr0DnH8V4t6vPVA/0JqO8u+eayCJkGVzxmBOP9PxvH2gyD2z6Hhm2yu7wrUUFzoBMyEnjot4dkDnQtIUFaiBoiv5yz1pqvNxzlnTUHHYPB3FxMKAX3XdmaZbuiORqXSEB9d8k3l9UXV0Dy+ezWc7+Hcy7rWclCxoYwf/98ZoXPwqqNxWdcza50bSR7QdcmEqSFqCFydE3f04c0m52pqw5wKDYRAG93F67p0oT1B88xPXOryKu7NJGu7LJIPAurXjZeJ5/P2Xp2Vomjt7NsOb2Fb/d+i1VbMSkTdm3HRcle0LWNLGYiRA0yqJ0v4we34YFvQ3lo9jYOxSZSz83MS9d25MMxvQk5FOcI0JB3ARNRTOvfhsn14f0O2d3bAMc3wCe9shcvyVKJg8S01nyz5xteDHmRNFuasf62NlrRWXtBi9pDWtJCVBOF5Zw3Ho7jhx1RRMQkEBGT4Dg+JNCXmeP6U8/NRXLO5eXiCTi1Lft94EiIXFelA8Oypli9OfhNPtn5CT8d/gmA5/s9z9YzWx1zoGUv6NpHgrQQ1UR+OWerzc6Haw8xIyTSsTpYQ08LaVY7Dw5qw+LtUew+dUnW1S6r9VNh+CsQOhP+/C9kJIFHQ7huKvS6G/7ToEqrlzXF6sSaE0TGR+JmdmPqsKmMaj2Kh7s/7Cgne0HXPhKkhagmnLumPx7bm5j4VD5Ye5DYy2kANG/gwXXd/Fm2K5qvHzT2ch7WUfZyLhch0+DIHxC93Xjf7Q644Z2cq4ZVoUURiwCIjI/E192Xz0Z+Ro/GPaq4VqIySJAWohrp26oht/VuxvjZoY6Ws7+PGy9e24mm9d15dlEYXxSQc5ZAXQrWNNj4kfE6ejt4N4WbPoTON+YsVwUDwwqaYnU+9Tz3rrpXpljVERKkhagEM0Ii0edtBOVzbnNkHDuOX8TTzYWZf0U6Ws4A13b1Z/p9fXExmyTnXN5ObIaVz0HcQeN9v/Ew6i1wr5+3bCUODMsSPCaYd7a9w4rIFY5jbmY3ujTqIlOs6hAJ0kJUgp4t6vP4H6n06h2XI5Cui4jln9/twmJWXE415rq2auTJhaR0Hhrchu9CTxJ6/ILknMtT8gWYdxvEhOc8vmOO8YBKX9Yzt3RbOh/u+NARoF1MLljtVszKLFOs6phiT8FSSj2plDqmlEpVSu1QSg0r5nVDlVJWpdTe0ldTiJptcKAfT/Z2d0yFik/J4KWlu3lkznZSMmxcTrXSq0V9Xrq2I4lpVmaO68eL18lezuUia7qU1hC+BD4fYARos6sRjP8v1jg/OT77UYUBOi4ljkd+e4QfD/+Im9mNdvXbYbfbZYpVHVWslrRSaizwCfAksDHzebVSqqvW+mQh1zUE5gF/As3LXl0haq4uvmam3tGNh+dsw27XpGeurd2/dUOevroDFpPiqe9lL+dyFzINeo2FX16Ao+uNY62Hws0fQeOOVVu3TFlTrO7vcj+vbXyNs8ln8ff055ORn/Dpzk8ZEDBApljVUcXt7n4BmKO1npX5/mml1PXAE0Bh/+T8BpiLsTveXaWupRDVXFHram+OPM+Ro+n8tS6M1AxjL98WDT14966eDGrni1JKcs4VwZq5Def0QWBNNaZVXTsl/+0kq1DWFKuQUyHYtI0+TfrwYdCH+Hn48dWorxzlZIpV3VNkkFZKuQL9gPdznfodGFzIdU8C/sAU4I0y1FGIaq+gvZx/CT/Ni0t2Y7drMjKHa1vMitt6N2NdhLERhsoMFpJzLmfH/oJfXzJeW1Oh591w3f+gXj73sQpGb2ex2q18svMTAGzaxl0d7+L1K17HYrZUWZ1E9aG01oUXUKoZEA0M11r/5XT838B9WutO+VzTA/gDGKi1PqaUmgzcpbXuXsB3TAAmAPj7+/dbtGhRKX+c/CUmJuLl5VWun1nXyD0s2oHzNqaHpfJkb3f8PBQLDqSx+5zdcb6dtyYmRfF0H3e6+JpzlO/ia67Cmtccxfk9DDzyLS1PLS/w/PHWd3O87T3lXbUSe+7Ec9iwFXjejJmPW39c7t8rf5bLriLu4YgRI3ZorfPsL1ruo7uVUm7AYuAlrfWx4lyjtZ4JzATo37+/DgoKKtc6BQcHU96fWdfIPSxaEODf9hSv/bSHDKudrH/+3tSzKcPa+/G/lXv4+qErHS3iIKBX77jMFngvaSkXQ76/h1l7PdussG0WnMvMO7u4w7CXYP2UHEt6tsl8VLVPoj7htQ2vkZiR6Djmbnanc6POjilW3q7e5f698me57CrzHhYnSMcBNoyua2f+QEw+5ZsCXYDZSqnZmcdMgFJKWYEbtda/l7K+QlSJonLO6w6c5VxiGit3n3YsQtIpwJsv7u1D+ybezAiJ5Mne7pJvrggh06D91cbAsNg9xrGO1xsrhjVsYwTpasSu7czeO5tPd32KXdtpW78tMUkxpFhTMCmTTLESORQ5BUtrnQ7sAEblOjUK2JzPJdFAD6C302MGcCTzdX7XCFGtZeWcc0+FWrj1BA9+G8rXG4+xPOw0YOznPG5ga84lpHE2wViYZOLwwAK7tIuaAy0KkXTeeP5mlBGg67eCu7+Hexfn3U6yiiSkJ/DsumdJSE8gPi2eZ9c9y8c7P8au7Tza41F83X1Js6bJFCuRr+J2d38IzFdKhQKbgIlAM4zgi1JqHoDWepzWOgPIMSdaKXUWSNNay1xpUSPlngrl6erCWyv3sfPkJQBczSaGd2zMtuMXmH6/sWzn9T0CZOpURbFZYfu32a1kkwWGPGN0b7t65ixbhYPCIHvk9sIDC1l2ZBnRidF4u3ozdehUhrcczuNrH2d0p9EyxUrkq1hBWmu9WCnlC0zC6M7ei9FtfSKzSKsKqp8Q1cbgQD+eHtmecd+GYrVlj9QeN6gNfVs14I3l+xwBOqu8c2AX5WTZRNj9fc5j9gzY8IHxyL1aWBUuTAI4tpX8IuwLNJquvl35YPgHtPBuASBTrEShij1wTGs9HZhewLmgIq6dDEwuQb2EqDRF5Zt3R12iV4sGfLruMH8fveA4169VQ74a1w8/L7dizXHuXOE/SS2VNTDsUhRd970L5zYZxxu0guvehsX3V+lez/nJb3MMnTmUcP/5/dz6862yOYYoFlm7W9R5Bc1x3nwkjgnzd9C0vhvvrDE2YfCwmNAoxg1sxQ87ozkUm4Cfl1ux5jgHB0s3ZqmETAOTGTZ8SBNrCrh4wLAXYPDTYPGo6trlK2RsCPP2z+PbPd+SbjcWVLGYLHTz7SabY4gSKfba3ULUVs7d0psj47DbNZ/+eZgHvg0lMc3K4bNJNPS0MLZ/S9wtZr4d35/Xb+oq62pXNK3hwC/G6/X/A2sKZxsPgae2wfBXqm2AttltLD64mFnhs0i3p6MwFquxmCyOkdsVMbVK1E7SkhYCI1B/encfJszbgZuLifNJRuvHz8uNCVe1pX0TL15aGi57OVeWM+Hw2+twfIPxvkk3uOEd9p+w0aRBy5xlq3hgWNa621OGTiE5I5nXN75OaEwoAP6e/pxLPofFbHGM3JbpVaIkJEiLWq+onHPYyUsE1Hfni/VHSEyzkpgG9VzNvHRdJ+65ohXuFrOsq12RsnLOAAmx8N1debeRPLsP5t5s7Metq9fAsKzR2zN2z2BF5AoupV2ikXsj/jf0f8zfP5+glkEycluUmgRpUesVlHP+69A5nliwAy93F2IvG/OZTQqGd2xMWNQlOgV4424x5jbLutoVKGQaDH0OtnwBGz+C9EQwucAVE4xu7XfaOAaGVcfVsn489CMA8/bPA2BIsyFMGToFPw8/hjYf6ignI7dFaUiQFrVe7m7pvq0a8s7qCOZuOY5dQ1K6jQAfdxJSM5jxQD+GdWjM5sg46cauDFl7B3w+AOIzW5mdboRR/wW/9lVXryLkN3o7y6bTm7j2h2tl9LYoFxKkRZ0wONCPD0f34tG521EYgRmgQxMvruvmz3dbTzLrwf6Sb65MUaHwe2brMj4K/LsbU6raDa/aehXDH6P/4K0tb/HnyT8dx1xNrnT17Sqjt0W5kiAtaryics7bj1/EYjbx9YajJGcGZz8vV/57W3eu6xbAzA1HcwwIyyL55gry68uwbWbe47F7Yd6teRcjqeKBYbkdvXSU1ze+zr7z+wBwUS5YtRUXk4usuy3KnQRpUeMVlHNeuz+WZ77fhUllt5zNJsUN3QPYHHme+p4WTCYl+eaK5DwoLPEchLwDOzL33XHxgEH/hA3vF74YSRUPDMsavf3WkLdYfmQ5n+76lDRbGk3rNcXH1YfDFw/nWHdbgrQoTxKkRY2Xu2u6c4AP/1m5jxVhpx3bRXby9+J0fCpf3d+Pwe39JOdcWUKmGWtqb/kCNn1iDApTJug7DoL+BT7NjCBdjWWN3j626hjHLhu7797e/nZeGfAKL4W8RO8mvWX0tqgwEqRFrTA40I8pt3fj4TnbsNo01sz9IgcH+jKycxOmB0fy1QP9JOdcmWxW4/nTvpCYuattx+vhmsnQpEuVVasktNbMDDe65o9dPoavuy+TB0925Jxl3W1R0SRIi2qvqJzzxsNxJKfb+D70JGlWOwCtfT35cEwv+rVuJHOcK5vWcGAFrMvcoSoxBpr1gVFvQdur8pavZjlnKHj09vnU8zy97mksJouM3haVQoK0qPYKyjkv3xXNKz+GY7XbsRmxGYtZcUff5qzdf9YRsCXnXIGcc85aw08TYM+SvOVO74K5t+QdFAZVnnPOzWq3MqHnBGbunkmGzg7U7mZ3OjfqLKO3RaWStbtFtZd7be2j5xIZ9+1Wnl0cRprVjl3Dle0a4ePhwtyHr+CdO3vJutqVJWSa8Ry1zQjCWQHayx9uzMw1T47PflSzgAzGwLBn1z1LQnoCERciuPfXe/ki7AsydAa9G/fGw8VYI9ykTLL2tqh0EqRFjTA40I/XbujM+G+3MfKDEP46FIdJwR19m/PenT05HJvIjPvzzzlLoK5g398D31xjrLPt3sDIOT+zC654rKprVixZA8P+teFf3P3L3Ry4cIBm9Zrx5TVfYjFZSLOm5Ri9LURlku5uUaWKyjeHn4pnaHs/Pl93hDX7YhznujXzYfp9fWntW09yzlXhfKQxnQrg4CqweMLAJ2DwM+DRoEqrVlJz980FIORUCArF/V3u5+k+T+Np8WT+/vmM7jRaRm+LKiNBWlSpAvdyjoxj4vwdBDb2YtrqCABcTAqzSXHPFa1Ysfs00ZdSaO1bT3LOFck55wyw6hUI/SpvuYxk2PABmCzVeiGSLAUNDNNoFhxYwOKDi9n5wE4ZvS2qnHR3iyqVX7f0txuPMe7bUC6nWtkVdQkPi5kbuwfg5ebC7IcGMPnWbtKVXVmycs4XT8CKp2H7N8Z7ZTbmOkPhOedqmIO22W080+cZ3M3uOY67md3o3bg3bw99m5CxIVVUOyFykpa0qHKDA/34/J4+PD5/Bz7uLkRfSgWM7SLHDW5Drxb1eX3ZXqbfL3s5V4mVz8GuBWDPMBYi6X0fXPUSNGoHO+dVde0K5bzXs7erN+Hnwpny9xQOXDgAQIeGHTiVcIoUawpmZZZlPUW1I0FaVCmtNcEHz/HZusMkpFpJSLXialY8EdSeh4a0oYGnq+Scq0L8Kdj4sfF6x2wjOPe829g60rfg9EJ1kzUobNXRVRy4cIAfDxvbSgbUC+C1Aa+x4MACIq2RsqynqLYkSIsKVdDAMLtd8/n6IyzcepKYy0bLWQED2/kSEXOZK9s1ooGnKyDznCtM7nwzwOpXYeuMvGW1HcIXQcM2NSLnnOWnwz8BMDV0KjZtw8XkwoNdH2RCzwl4WjxZcmiJDAwT1ZoEaVGhcg8Ms9k1q/ac4d01EURdTAHAx92C1W7n83v7MLKzv6yrXVlCpmUH3LgjxsCv8MWZJxV0vwP2/litN7/IT36Dwmza2GDFarcyb/88nuv3HCDLeorqT4K0qFBZXdL//G4nd1/Rit/3xRB5LgmAhp4Wbu3VjBW7TzPjAdnLuUrE7jc2uNi3zGgtKzP0uheGvQB+HYwgXcMsvHEhk7dMdmwlCWAxWejm201WCxM1jgRpUaHSrXZOnk/GYjbxZXAkACYFDw1pyyvXd2L2puOyl3NVOL3LeP5ykPFsskCfB2Do89CobdXVq4ScB4YBzAyfyXcHviPDnoHFZAFwvJZBYaImkiAtyqSgnHNqho1pqyP4cecpElKN3ZAaeFi4lJLBE0GBvHxdZ0DyzRUqd855/dvZC5DkZs8A76Z5A3Q1zzlnDQx7J/Qd/jr1FxfTLgJwa+CtnIg/wZ64PTIoTNRoMk9alElWzjlrvnJyupWvNxzlyrf/ZM7m4ySkWunQxIunRgRiUopnRrbn+9Aomd9cGbLmONttRnf2od+yz7l6Gc8vHix8Xe1qmHPOorVm9r7ZACyPXM7FtIv0bdKXRTct4n9D/0c913qM7jSahTcuZHSn0biYpE0iah75rRVl4pxzvrZbAGv3x3IhKR2A1o08ee2Gzvi4W3h60S4+v8/ILw8M9JV8c2XZPhs2fwoXjhrvPf1g4EQY8Ci80wa8A6q0eqVR0GphADvP7uSB1Q/IamGi1pCWtCiT+OQMQo9dIN1qZ/G2KC4kpWM2KV6+tiPBLwdR3zMzQDsFZNn8ooKlXIQNHxqvf3nOCNANWhu7Uj2/F656GTwaVmkVi8t5hyqA0+mnubLplXnKyWphoraSlrQoUGGbX6zZe4a5m4+zJ/oyiWlGzrlZfXdOx6fyZFAg/xzZAYDwU/GyEElFKe662gCXTkBSHFg8so9V83wzZOeclx1ZxsELB1l5ZiUajYeLB1cGXMnWmK2yWpio1YrdklZKPamUOqaUSlVK7VBKDSuk7B1Kqd+VUueUUglKqa1KqVvLp8qisuTONwOcvZzKP7/bwcQFO9ly9AKJaVaGtPfljZu7kGq188zI9ny39aTjmonDAwsMwoMD/QodOCaKEDINtIaTf8Oi+yB0Zva5diOM5zcv1ah1tXNbctDYn/q9be+xInIFJkzc0/keVt2xiqSMJNlGUtR6xWpJK6XGAp8ATwIbM59XK6W6aq1P5nPJcGAdMAm4ANwHLFNKBWmtN5RLzUWFc+6WHhsI65fv5butJ7HaNQAjOjXmqZEdSLPacuSYJedcCWxG7wVfXwPR243XJgv0HAMDn4SA7jC5PihVdXUspcJyzjZs/HDoB16/8nUsZousFiZqveJ2d78AzNFaz8p8/7RS6nrgCSDPP8e11s/mOvQfpdRNwO2ABOkapGVDT3q3rM+X4eeAEwD0b9OQybd0o3vz+vmuDiaLkVSg5Auwaz6Efm28j95u5Jf7PwJXPFbjBoLl3gAjLiWOOzrcwU+HfiJDZwdqV5MrXX270tPek4nXTgRktTBRNyitdeEFlHIFkoF7tNZLnY5/AXTXWg8v1hcpdQD4Tms9JZ9zE4AJAP7+/v0WLVpU/J+gGBITE/Hy8irXz6wNVh1Np219M118zXnObYrO4PfjVqIS7RgNZw0oglq4ML67W7E+48B5G8fibdzYzrXifogapKS/h22Ofc/xtvcAUC/xOJ0jPsE78WiB5Y+3vttRPvf11VVoYijzz8/nroZ3cc56js2Jmx3BuYWlBbHWWDJ0Bm7KjbGNxtKFLvJnuYzk78Oyq4h7OGLEiB1a6/65jxenJe0HmIHYXMdjgWuK8+VKqX8CLYD5+Z3XWs8EZgL0799fBwUFFedjiy04OJjy/szawLVlViu4l6O1ezAmgckr97El0li602xSDGvvy85jcTxyVXsWbD2Ja8vujvKF3dZCTtVJJf49DL6NNlfeZOSajzt1QAVeDVc+DgvH5FhXu03mwyEoKOf7aujrX40egR8v/ojGaDBc3epqHu/5OO9te4/TsadxNbuSYcsgwhLBALcB8me5jOTvw7KrzHtY4aO7lVJ3Au8BY7XWJyr6+0TxOXdLv3RtR/46FMeafTEAmE0wpn9Lrmzry1u/7OepPu48cW0nyTdXhqQ4o0sbYMkDxrOrF/S+F66YYKypXYPll3POCtAAf536i49HfCw5ZyEoXpCOA2yAf67j/kBMYRcqpe4C5gHjtNYrS1VDUaE8LGZaN/Lk9WV7Hceu7erPm7d248T5JEdATo8yzku+uZzknj6VNUp7+zewfznYjAVhaBRoBObe94K7T9XUtZRy55sBws6GMbDpQDZE5xyakpVzdt4AI7+cc3BwcKXUXYjqosggrbVOV0rtAEYBS51OjQIK3CJHKTUGmAs8qLX+oawVFSVX2DznbzYeZf6WExw/nwyAi0lhtWseGdKGN27pBsDK3acdgTjYqREjc5zLQdY2kanxsHsxbP8Wzh3IW+5CJKx51XgMf61G7eWcNcd5fdR6vC3ezN43m11njY09XE2u9G7Sm/C4cFKtqbiYXGSesxD5KG5394fAfKVUKLAJmAg0A2YAKKXmAWitx2W+vxsj//wS8JdSKmvIabrW+kL5VV8UJvdezlprNh05z5Rf9xMRY6zg5OXmwtWdmxBy+BzjBrZmwdaTXN3Vv8g5zLL5RTlY8TTs+QEyjH8oUa8J9B0H/R6EBq2MKVQ1bC9nZz8eNv4N/98t/yXVlgqAt6s3d3e6m3u73MsrIa+Qbk2XDTCEKESxgrTWerFSyhdj3nNTYC9wo1OOuVWuSyZmfvbHmY8sIch4okrj3DX9yNA2/HHgLLtOXgLA02JiwvBAujX14dWf9jA9c7tIyTmXk9zd2YBLRiJs+xp2Zuabd84zntteBf0fhk43gUvNGQmfX3d2fvnmrAANkGpN5Zm+zwBIzlmIYij2wDGt9XRgegHnggp7L6qG3a65nGLFx8OF9347BIDCGBA26eYu7ImOlznOFSWrO1trOLEJVr3C0LP78i977C9oNRi6/aNy61hGWd3ZwVHB3NzuZnaf283wFsNZd3IdduyOchaTha6+XRnbaawj3wwyz1mI4pC1u2uwgnLONrvmoz8OsSj0JHGJxgAkD4uZlAwbE4e349UbugCyrnaF2/AB7FqQvQMVGK3mvg/Cj48U3pUN1T7nvOzwMgBm7ZnFggML2H9+PwBmZaZbo25EXook1ZaKxWRhbKex0pUtRClIkK7BcuecM2x2loed5oPfDnLmstHF2LS+O9d1C2B5WDSPDWvLgq0nGdaxseScyyqf7mwyUuHQGtj9vfH+z7eMZ+9m0Oc+/k5rz8Ab7jaO/fhI0d9RDXPOzt3ZCmPJ0WPxxxznTcrEmjvX8PqG10m3Sb5ZiLKSIF2DOe/lfGe/Fvy2L4aoCykANPZ25YVRnWjWwJ3nF+/mC8k5ly/n7uyoUFj9CpwJy79swmlQZlI9avaSnRm2DN4c9CZz9s7hSPwRx9xmhaKFdwse7fEoo1qPwtvVW/LNQpQTCdI1WGqGjcOxiSgFX28wWjMmBROuCuTFazuy7fgFyTlXpOB3jFbzxeyWJE17Qa97YM1rebuznef4VvOubMjOOf946EcupF1g+ZHlXEg1JmeYlbEMrE3b8HDx4IleT+RoKUu+WYjyIUG6mipsjvP6iFjmbznJntPxnEtIA6BRPQsXkjJ4Mqg9L13XCZCcc6nl15UNkHQe9v9sTJsCCH7bePYKMHaf6nUP+Hc1jq0pIghXw65sZ6nWVL7eYyzZ+cGODxzH2zdoz10d7+K347+x++xu6c4WooJJkK6mcuebARJSM5jyywGWbI9yLKLYrZkP13b1Z+7mEzwz0lhbe3B7X8k5l0VWVzZAWgJE/Gq0mi8WsLlFYgxYPLMDdA2Q3/Qpu7bTb34/rNpa4HUnLp/gvi738depv6Q7W4hKIEG6mnLuln7njp7sPR3PrL8iSc4wprb0btmAZ65uj7uLmae+38Xn98lezuVq/wrY+wMc+g2smfN8lRkCR0D3u+DniYWPzq7m3dnO06e6+3VnZeRKfj36a44ArVBoNG5mN7o06lLkkp1CiPInQboa6+TvzbD2fjw2f7vjWGd/b/7v5i4Mbe/HlqPnJedcGgWNzI5cZ6ybDdkbW4Axh7nHndD1dqiXeT9/nlj4d1Rxd3Z+LWVnSw4uAeB/f/+PJGuS43jTek25ud3N1LPUY2b4TJKtyZiVWZbsFKKKSJCuIoXlnFeFn2b25uPsjb5MSobNcfzOvs35YExvx3vJOZdSVnd2ejIc+QPWv53/utlZ2l4FAx6tvPqVA+eWclZwzW81MOcA7aJcWHPnGkzKxMNrHibVmio5ZyGqmATpKpJfzvn0pRQmr9jH7/uzt+7u07IBkecSGT+4DQu2nmRzZJyjvOScC1DQwC+AtETjecmDcPj37HWzwRiZ3fU2Y35zLVloZOmhpWTYM1hzbA02uy1POYvJQhffLtzd6W6CWgZhUibjuEyhEqJakCBdRZy7pf99c1e2HjvPku1R2DJXU7yumz/DOzbm/d8PMeOBfpJvLgnngV8ACTFwcBVErIJjIcax/T8bz837Q9dbocut0KitcSxrEZLCVMPu7PwWGtl1dpdj5ymAoc2H4u/pz6pjq0ixpmAxWbi70915WsmScxaiejBVdQXqMn8fd7o18+G5xWF8H2oE6EGBvvz23FU8OLgN7/9+qMB88+bIuCqufTV39gD89T7MGgkfdIJfnocja7P3ac4Svd3o9s4K0DWEc3c2wNH4ozza41FaeRt73WjH+H/wtnhzZ4c7WXPHGr685ktOXj5JmjUtR1e2EKJ6kpZ0BSks57x4WxRzNh8jIiYBrY1NLzRw/8BWTLm9R+b1ZyXfXJD8urOtaXByCxz63Xg/fWD2ORd3aDcCOt8IHa+H9ztU+5HZRQ38+unwTwB8uvNTZobP5Pjl445zuRca+deV/8rRUpaubCFqDgnSFSS/nPPe6Hgmr9zH9uMXAbCYFcM6+LHjxCUeHGTs5Xxjj6Yyx7koWd3Z8afg8FrY8gWcP1xw+YFPwjVvFv/zq8FCI/kN/Oozvw9We845zDHJMY7XJkx8EPQB8/fPJ+xsGK5mV9KsaXkGfUlXthA1hwTpCuLcNf3sNR0IOXiOdRFnAXAxKe67shX92zTizRX7+PJ+WVfbobBBX9Z0OBVqvJ4+GHJv/dikG3QYBZs+hn9fAJO5QqtaWkW1kiF74Ne8/fM4Fn+MjdEb8wRoMFrNbeu3ZXy38YxsNRJvV2+WHloqLWUhagkJ0hXIrBTN6rvz5vLsYHJj9wAm39qNI+cSZY5zfpwHfWkN5yIgcj0cXQ/HN0FG5pShs/vA1QvaBRmBuf01UL+FcW7Tx4UH6Cruzs6vlQz5T5GKuBBBxIUIx/shzYfQwLUBf0b9Sao1FTezGw93f1haykLUUhKkS6GwfPPmI3Es332aY+eSCD1ubEZgMSsybJpHh7Zl0s3G0pE/7YqumznnwlrKWXYvygzMwcaSmwVJT4SIX8C/e3aALo4K7s4uqqWc1UpedmQZvZv0JvRMKKExoXi7ejs2sMiiUPh5+HFzu5sZ13Ucfp5+PLzmYdKtsg2kEHWBBOlSyC/frLVmevARPlx7GJvdGFnr4+7CqK7+rIs4ywMDjZzzyC5N6nbOOc/0qFg4sdFoJR/faBxb9nj2eS9/o7XcboTx7NMUJtev1gO/Cl1IZG729KhtMdu48acbc1zr6+5Lc6/mRFyIIN2ejoeLB8/3e14GfglRR0mQLgXnbunP7u5DQloG01ZHcPy8sTBGo3quPDK0LZ0DvHn5h/C6tZdzcVrKe34wAvKJTRB3qPCy/cbDiNdLVodq0lL+6fBPtPRuya6zuxjYdCChp0NJ02k5pkeZlZnOjTpzXZvrGN5iOG3rt+WR3x7BarcW2FKW7mwh6g4J0qV0ZVtf7r2yFeO+DcWmjb9063tYeGpEe+4b2IqwqEt1M+fs3FK22yHuIERthZNbjWeAHx/JLm/xhFYDofUQaDMMvr226NW+qlhxl9zcHrudB1Y/kOOYl8WLFGsKNm3D3ezOG4Pe4NbAW3OUkZayECKLBOl8FJZz3nD4HItCozhw5jJH47LXPR7esTFfPdAPd4sxYKlWrqtdVCs5PfN+/PWeEZRPhUJqEQF30D9hZAlbgxXYnV2Skddz9s7hVOIp9sbtpZ6lHpfSLuUp6252p4dfD65vez3qpGKVbRU7Y3fianYl3ZbO8iPL8wRpaSkLIbJIkM5HfjnnNKuNd9ccZPamY2SmnGns7Upymo3xg9vw/bYodp68WLPX1S4qCDu3km0ZcHY/RO+E6B1wepfxHmDdlOxrfJpDyyuNR6srYWZQ2VvKZejOLioI524la605k3SGG3+6EZvOufb1oUuHOBSW3V1f360+TTyacPzycTLsGXi4ePDGwDccre3gM8G44iqtZCFEsUmQzodzt/SHY3pxPC6JT9cd5kKS0Z3Zzq8e13ULYNG2k8x6sD+DA/0Y0sGv5ndj5x7UlcVuwzMpM5isfs0IyjHh2fssF6bPAyULqmVsJZc0CDtLzkhmwf4FAHyy8xN+OvwTBy8eJCE9Id/vyhp5fXWrq7mz4510atiJR357BJvdJguJCCHKhQTpAvRq0YAbugfw0OxtjmE+LRq688r1XWjk6cozi3Y5BoRBDck3F2dQV3oyxO4zgnDMHuMRu48rrCnG+a1fZpdt1A6a94NmfY3ngB7wdtOytZSLqF9ZgjBkd1Uv2L8Am7YReSmSufvm5hjMBRCbHEtscvZuZIOaDqJTo04kZSSx8uhKUq2pMvJaCFHh6mSQLizn/MeBWOZtOc6eU/FcTM4eCHRjj6Z8fk8fTCbFjJDI6plvLlF3tRUuHjO6qM9GZO+nPLU5aHvxvq/HmJJ3PRfSUi5OPri4Qfinwz/Rza8bJ+JP8Hzw83m6qvdf2M8bm97Ic71CodG4KBda+bRiTKcx3NLuFnzcfACKnKMsLWUhRHmqk0E6v5zzpeR0/rNyPz/vina0qQIb1yP2choPDWnDd1tP8vex81U3x7k4reD8uqutaXDxOMRlrm3946PGDlFxh/LuCAU5A3TgSBj6PPh3Jzg0nKDg28rUSk5IT2CSjmFKekKpWsGQcyGQIc2HEJ0QzQOrH8gThLfHbue2n28rsC4KRX23+vT378+IViPo7ted3ed2M23rNJKtybiaXXm0x6N56iEtZSFEZaqTQdq5a/rtf3Rn96l4Zm88RqrVCFBXtG3ENZ2bMOOvo8wcZ+zlPKii5ziXpBWcm90Gl6ON16Gz4PyR7MelkzkD756l2a/rt4QmXaBxZ+P55yfg/2LB4p7nK1LsKTzbxK/AAAuZQbjr4FIH4awA/PORnxnVehRnk88SkxTDhLUT8gThbTHbGL54eP73I5OryZXWPq3p2bgnHRp2ICYphsUHF5NiTcHDxYNXBrySox5Ttkwh1Zpa6Epe0lIWQlSmOhmkAdo39uLKto2YuGCn41iP5j5MuqkrNq1LNse5OK3csgThzHnYnNphdFFfOgEXT2Q/x58iQVuZ1MSPKatfxlvrPB+RoBSTGvsy5dz57PO973N8Z0J6ApM2v8EUnYE3eYP0nuQ9rKvnWWgrNzgqmHUpp4oMwosiFtHcqzlxKXG88tcreQJwaEwoA74bkP+9cGJSJpp4NKFjw460rt+ai6kXWXtiLWm2NDxdPJk0cFKOejy85uE8+yhLPlkIUZ0VO0grpZ4EXgaaAvuA57TWGwopPxz4EOgGnAbe1VrPKFt1i8c555yQnsB3x9+kX/oveLt6s2L3aeZsOsbe05dJt9rBlEq35h/Tocm7fDx6kOP6rECckJ7ApJ/HMOX2JfnmnBPSE5h04GumDHmq8BZmQWVsGSRcOmEE2D0/4J1y0WgVXz6d+YgmIeGMcf6bq/MNwADBXp5GEE1K5pYkY+UzBjwK170NLm4ER65k3cbXCb7u43wDaHBUcKFB+O/EvwEcgU1rTYo1hcvpl41H2mW+3fstANPDphNxIYKLqRf55egveQZlhceF8+CaB/P9OZw1dGtIK+9WNPNqRkC9AM6lnHME4dzTm8AIwhm2jFIHYWklCyGqm2IFaaXUWOAT4ElgY+bzaqVUV631yXzKtwVWAd8C9wNDgelKqXNa6x/Lq/IFcc45n2cLf6sL/Hjgd0J2tmT9wXOOcgPaNCQiMZiTXpeIPhnM5sgOeXLOuVuHuXPOOYJbu5shIxlSLkLKpczniwSf3miU+fUJbrFaIOkcJJ41nlMuGAG2sR/Ba57ODrBO8g3A7UfBFROgYWto0Iplf/4TYrfxc88bueW6b/J8hvOAquEth5OckUyKNYUUawrJGcnM3jsbgJnhM7mYepGkjCRmhM/AnmsQWWhMKD3m9ij0/p9KPMW8/fMKLePp4kkbnzZ0atSJpl5NOZ14mtXHVjsC8KSBk/Is8uEchPOb3iRBWAhR2yhdQMssRyGltgLhWuvHnI4dBn7QWufpo1VKvQPcobXu4HTsa6Cb1npQYd/Vv39/vX379hL8CPnbHBnH8ws34tdxHidTD2NKbo77qdswK83wDr70buHNgi3HsXT6ncPJkXR0b0u9wwOZOKQ5HX3d0bZUsKbz/LGl7E45Q2+3xrzXoB+kJaEzktEZSej0RF6xxxBustIzw87b585jt2egATsKO6AV/NuvEfvd3OialsZr5y9iU8Y5G2BXig8aNuCwmyvt09KZEH8ZK2Bt2gtr22HY3LyZd2I1UYmnaOHVgpva3USGPYN0WzoLIxbmCaKVydXkirerNy4mFxLTE0mxpmDHjlmZ8ff0Z1CzQQxsOpBmXs3YGbuTL3d/SbI1ucCu6B2xO3Axu2C1Wekf0J9vcv1j4/G1j9PSu2WOIOwceKu74OBggoKCqroaNZrcw7KTe1h2FXEPlVI7tNb9cx8vsiWtlHIF+gHv5zr1OzC4gMsGZZ539hvwoFLKorXOyOeacuNYR7kVnMxcb8PuGU1yx+kA/AL8cgpoCWQ2TA+lHoOWx3j8JJCnbwDC0s4xKnZN3hMm4yncYuLmZo0Lrdd+NzfGNQso8PwRN1deaZLZSrdFw5FFOc6fSjzFV+FlD0omZaKeSz183HywazuX0y7nCLCN3BvR3a873Xy70cijEQcvHOSngz+RQQbuZnee7/c8d3a8Ezezm+MzV0auZMrfU0i2JuNmduOpPk/lCMIf7/i40EFZxckHS0tYCFHXFKe72w8wA7G5jscC1xRwTQDwRz7lXTI/74zzCaXUBGACgL+/P8HBwcWoVsHmW/twNG4VXzWozwmLCygFWuMCuGmNi9ZYlSJNKaxGBRzn3e0aM0YrN1UprMrpvNZ4ao1ZmckwuZKKFSvZLVkXXPA0eeKm3FBKkabTSLYnk5H5bxKFwlW54mP2wVN5kkYa8dZ4UnUqGo1C4WnypIlLE3zMPiTZk4jNiCXJnoQdOyZM+Jh9aOvWluauzXFX7rgoF06mnyQ0MRQrVixYGOkzkh6ePbAoCxZlYV/KPlZeWkm6TsdNuTG20VgGeGUPzApNDGXJhSWk6TRccOEGzxsYYBoAF4GL8H3M91ix4oILabY0ftj9A81im+W457NjZpNiTcEFF1KsKczeNhvvqOz8e0J8AoO9BjPEewibEjYRdykux//neyz3QCqcCT/DUIaChTL/HlQ3iYmJte5nqmxyD8tO7mHZVeY9rBaju7XWM4GZYHR3l7kbISiIbsDhLQuZHfEhqDTQbjzQ+SVeGHSPo5hz68/TUi9PF2yJzufThZu7TFautaDP8HDx4P8G/l+B591d3Hll4Ct5vuPhNQ9jT7TjanbFarNy0fMiD16XPTBr9ZrVWLWx9WGGLYMISwQvB73sOD9vzTwydEaB579f+z3+l/15bsRzjlZu7v9H36/9nr7efXO0hJ3LBJH9+n7uL+B/XO0m3YxlJ/ew7OQell1l3kNTMcrEYTQs/XMd9wdiCrgmpoDy1szPq3CbI+OYE74EZcrA1W5HmTKYs3sJmyOzv37Z4WVGF6zd7uiCdVbW8yX6DEyFn3fqJs4tq6t44Y0LGd1pNC4ml3I9/9WorxjrO5ZOjToxaeCkfPPAX436ikkDJxVaRgghRMkU2ZLWWqcrpXYAowCnlTAYBRQ0UnsL8I9cx0YB2ys6Hw1GgH5q4S669GxED//+jF73MUtHPsee2KM55jk78qCZ53PnQYt9Pv4yS+v75JtHLapMUbnY8sjVlvW8EEKIKqK1LvIBjAXSgUeBLhjTsRKB1pnn5wHznMq3BZKAjzPLP5p5/Z1FfVe/fv10WX0ZfERvOnLO8f7YtxMcrzcdOae/DD6S84J1bxf+gUWdrwPWr19f1VWo8eQelp3cw7KTe1h2FXEPMRqxeWJisXLSWuvFSilfYBLGYiZ7gRu11icyi7TKVf6YUupG4CPgCYzFTJ7RlTBHGvLu5Xy87T20yXyd79raRa0WVob9i4UQQojSKvbAMa31dGB6AeeC8jkWAvQtdc2EEEKIOq44A8eEEEIIUQUkSAshhBDVlARpIYQQopoq1trdlUkpdQ44UWTBkvGjkuZn12JyD8tO7mHZyT0sO7mHZVcR97C11jrP2tLVLkhXBKXUdp3PwuWi+OQelp3cw7KTe1h2cg/LrjLvoXR3CyGEENWUBGkhhBCimqorQXpmVVegFpB7WHZyD8tO7mHZyT0su0q7h3UiJy2EEELURHWlJS2EEELUOBKkhRBCiGpKgrQQQghRTdX4IK2UelIpdUwplaqU2qGUGlZE+eGZ5VKVUkeVUhMrq67VWUnuo1LqDqXU70qpc0qpBKXUVqXUrZVZ3+qopL+LTtcNVUpZlVJ7K7qO1V0p/jy7KqXeyrwmTSl1Uin1TGXVtzoqxT28VykVppRKVkrFKKUWKKUCKqu+1Y1S6iql1AqlVLRSSiulxhfjmh5KqRClVErmdf9WSqnyqE+NDtJKqbEYe1u/DfQBNgOrlVKtCijfFliVWa4PMBX4TCl1Z+XUuHoq6X0EhgPrgJsyy68ClhU3KNVGpbiHWdc1xNiP/c8Kr2Q1V8p7uAi4HpgAdAJGA+EVXNVqqxR/Jw4B5gNzgW7A7UBX4LvKqG815YWxHfOzQEpRhZVSPsBaIBYYkHndy8AL5VKb/DaZrikPYCswK9exw8DUAsq/AxzOdexrYEtV/yw16T4W8BmhwAdV/bPUtHsI/AS8CUwG9lb1z1GT7iFwLRAP+FV13avLoxT38CXgRK5jDwGJVf2zVIcHkAiML6LME8BlwMPp2CQgmswZVGV51NiWtFLKFegH/J7r1O/A4AIuG5RP+d+A/kopS/nWsGYo5X3MjzdwsbzqVZOU9h4qpZ4E/IEpFVe7mqGU9/B2YBvwglLqlFLqsFLqU6WUV8XVtPoq5T3cBDRVSt2iDH7A3Ri9Y6J4BgEbtNbOre7fgGZAm7J+eI0N0hgLnJsxuhicxQIF5VMCCijvkvl5dVFp7mMOSql/Ai0wus3qohLfQ6VUD4wW9P1aa1vFVq9GKM3vYTtgKNALuBN4CqPre07FVLHaK/E91FpvwQjK3wHpwDlAAQ9WXDVrnYLiSta5MqnJQVpUA5n5/PeAe7XW5b17Wa2klHIDFgMvaa2PVXV9ajAToDF+97ZqrX/DCNR3KqX8q7ZqNYNSqivwGfBfjFb49RiB5auqrJfI5lLVFSiDOMCG0V3ozB+IKeCamALKW6m7W7eV5j4CoJS6C2PQ0zit9cqKqV6NUNJ72BToAsxWSs3OPGYClFLKCtyotc7dZVnbleb38AwQrbWOdzp2IPO5FXlbN7Vdae7hv4BQrfV7me/DlVJJwAal1Ota61MVU9VapaC4knWuTGpsS1prnQ7sAEblOjUKY0RjfrYUUH671jqjfGtYM5TyPqKUGoPRvT1ea/1DxdWw+ivFPYwGegC9nR4zgCOZrwu877VVKX8PNwHNcuWgO2Y+17lenVLeQ0+MwO4s632NjQ+VbAswTCnl7nRsFHAaOF7mT6/q0XNlHHk3FiOP8ihGy+QTjNF4rTPPzwPmOZVvCyQBH2eWfzTz+jur+mepYffxbiADY6pBgNOjUVX/LDXlHuZz/WRkdHdJfw+9gChgKcb0oSEYU2eWVvXPUoPu4fjMP8tPYOT4h2AMxttR1T9LFd5DL7L/8ZwM/DvzdavM81OBP53K18doMS8CugN3YIz2frFc6lPVN6QcbuiTGP9aScP4V+RVTueCgeBc5YcDOzPLHwMmVvXPUB0eJbmPme91Po/gyq53dXqU9Hcx17V1PkiX5h5izI3+PfMv02jgC8C7qn+OGnYPnwb2Zd7DMxiDyFpU9c9RhfcvqIC/3+Zknp8DHM91TQ/gLyA18x6+STlMv9Jayy5YQgghRHUlOQchhBCimpIgLYQQQlRTEqSFEEKIakqCtBBCCFFNSZAWQgghqikJ0kIIIUQ1JUFaCCGEqKYkSAshhBDV1P8DqDDt7epyYKUAAAAASUVORK5CYII=\n",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"x = np.linspace(0, 1, 50)\n",
"plt.plot(x, f(x), marker=\"x\", label=\"$f$\")\n",
"plt.plot(x, g(x), marker=\"+\", label=\"$g$\")\n",
"plt.plot(x, f_g(x), marker=\"*\", label=r\"$f\\cdot g$\")\n",
"plt.legend()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Cauchy-Schwarz inequality\n",
"Reminder from Calculus 3.\n",
"Assume we have a vector space $V$ endowed with an inner product \n",
"$\\langle \\cdot, \\cdot\\rangle$. Then for $f, g \\in V$ it holds that\n",
"$$\n",
"|\\langle f, g \\rangle| \\leqslant \\|f\\| \\|g\\|.\n",
"$$\n",
"This is the Cauchy-Schwarz inequality and holds for any abstract inner product.\n",
"More precisely, we have that\n",
"$$\n",
"|\\langle f, g \\rangle| < \\|f\\| \\|g\\|\n",
"$$ \n",
"unless $f = \\lambda g$ for some $\\lambda \\in \\RR$."
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"### Gram-Schmidt Orthogonalization\n",
"\n",
"Let $\\{\\bfa_1,\\ldots,\\bfa_n\\} \\subset \\RR^m$ $n$ linear independent\n",
"vectors in $\\RR^m$. The Gram-Schmidt orthogonalization process\n",
"allows to orthogonalizes that set, that means, we can construct\n",
"a set $\\{\\bfq_1, \\ldots, \\bfq_n \\}$ of orthogonal (orthonormal) vectors which have the same span as the original set."
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"\\begin{alignat*}{3}\n",
"\\bfy_1 &:= \\bfa_1, \\quad & &\\bfq_1 := \\dfrac{\\bfy_1}{\\|\\bfy_1\\|}\n",
"\\\\\n",
"\\bfy_2 &:= \\bfa_2 - \\langle \\bfq_1, \\bfa_2 \\rangle \\bfq_1, \\quad & &\\bfq_2 := \\dfrac{\\bfy_2}{\\|\\bfy_2\\|}\n",
"\\\\\n",
"\\ldots \n",
"\\\\\n",
"\\bfy_k &:= \\bfa_k - \\sum_{i=1}^{k-1} \\langle \\bfq_i, \\bfa_k \\rangle \\bfq_i, \\quad & &\\bfq_k := \\dfrac{\\bfy_k}{\\|\\bfy_k\\|}\n",
"\\\\\n",
"\\ldots\n",
"\\\\\n",
"\\bfy_n &:= \\bfa_n - \\sum_{i=1}^{n-1} \\langle \\bfq_i, \\bfa_n \\rangle \\bfq_i, \\quad & &\\bfq_n := \\dfrac{\\bfy_n}{\\|\\bfy_n\\|}\n",
"\\end{alignat*}"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"Observe that Gram-Schmidt orthogonalization makes perfect sense \n",
"for any independent finite set of vectors $\\{f_1, \\ldots f_n\\} \\subset V$\n",
"for some vector space $V$ endowed with a scalar product $\\langle \\cdot,\\cdot\\rangle$!\n",
"\n",
"**Exercise 1.** Show that the functions $\\{1, x, x^2\\} \\subset \\mathbb{P}_2$\n",
"are linearly independent.\n",
"\n",
"**Exercise 2.** Use Gram-Schmidt to orthogonalize/orthonormalize the\n",
"functions $\\{1, x, x^2\\}$ on the interval $[0,1]$."
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"### Orthogonal projection\n",
"\n",
"There are several equivalent ways to define an orthogonal projection.\n",
"Assume we have a vector space $V$ endowed with an inner product \n",
"$\\langle \\cdot, \\rangle$ and a\n",
"finite dimensional subspace $V_n \\subset V$. Thanks to Gram-Schmidt,\n",
"we also know that we can construc an orthornomal basis $\\{e_1, \\ldots, e_n\\}$\n",
"of $V_n$."
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"We define the orthogonal projection \n",
"$$\n",
"\\Pi_{V_n} := \\Pi_n : V \\to V\n",
"$$\n",
"\n",
"by requiring that for $v \\in V$, $\\Pi_n v$ must satisfy\n",
"$$\n",
"\\langle \\Pi_n v, w \\rangle = \\langle v, w \\rangle \\quad \\forall w \\in V_n.\n",
"$$\n",
"\n",
"Or in other words, the difference vector, (also called **projection error**) $\\Pi_n v - v$ must satisfy a\n",
"**orthorgonality property**\n",
"with respect to the subspace $V_n$:\n",
"$$\n",
"\\langle \\Pi_n v - v, w \\rangle = 0 \\quad \\forall w \\in V_n.\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"The projection is well defined.\n",
"Assuming that $\\Pi_n v$ exists, we can express in terms of the orthonormal\n",
"basis $\\{e_1, \\ldots, e_n\\}$:\n",
"$$\n",
"\\Pi_n v = \\sum \\tilde{v}_i e_i\n",
"$$\n",
"Any vector $w \\in V_n$ can be written as\n",
"$$\n",
"w = \\sum_{j=1}^n w_j e_j\n",
"$$\n",
"Thus\n",
"\\begin{align*}\n",
"\\langle \\Pi_n v, w \\rangle \n",
"&= \\sum_{j=1} w_j \\langle \\Pi_n v, e_j \\rangle\n",
"\\\\\n",
"&= \\sum_{j=1} w_j \\sum_{i=1}^{n} \\tilde{v}_i \\langle v_i, e_j \\rangle\n",
"\\end{align*}\n",
"On the other hand \n",
"\\begin{align*}\n",
"\\langle v, w \\rangle = \\sum_{j=1}^n w_j \\langle e_i, e_j \\rangle\n",
"\\end{align*}\n",
"\n",
"So in order to satisfy the requirement above, we must have that\n",
"for $ j = 1, \\ldots, n$ \n",
"$$\n",
"\\sum_{i=1}^{n} \\tilde{v}_i \\langle e_i, e_j \\rangle\n",
"= \\sum_{i=1}^{n} \\tilde{v}_i \\langle e_j, e_i \\rangle\n",
"= \\underbrace{\\langle v, e_j \\rangle}_{:= b_j}\n",
"$$\n",
"Since $\\langle e_i, e_j \\rangle = \\delta_{ij}$ is the Kronecker delta symbol which is $=0$ if $i\\neq j$ and $=1$ if $i=j$ we see that the last equation can be written as a simple matrix system to \n",
"$$\n",
"\\Id [\\tilde{v_1}, \\ldots, \\tilde{v_n}^T] = [b_1, \\ldots, b_n ]^T\n",
"$$\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"**Best approximation theorem**\n",
"\n",
"For any $v \\in V$, we have that \n",
"$$\n",
"\\|\\Pi_n v - v \\| = \\min_{w \\in V_n} \\| w - v \\|\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"*Proof*\n",
"\n",
"Take any $w\\in V_n$. Then\n",
"\\\\begin{align*}\n",
"\\|\\Pi_n v - v \\|^2 \n",
"&=\n",
"\\langle \\Pi_n v - v, \\Pi_n v - v \\rangle\n",
"\\\\\n",
"&=\n",
"\\langle \\Pi_n v - v, \\Pi_n v - w + w - v \\rangle\n",
"\\\\\n",
"&=\n",
"\\underbrace{\\langle \\Pi_n v - v, \\Pi_n v - w \\rangle}_{=0}\n",
"+ \\langle \\Pi_n v - v, w - v \\rangle\n",
"\\\\\n",
"&\\leqslant \\| \\Pi_n v - v \\| \\| w - v\\|\n",
"\\end{align*}\n",
"where we use the orthogonality property of the projection error and the Cauchy Schwarz inequality."
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"# Taylor-expansions\n",
"Given a function $f\\in C^{\\infty}[a,b]$. Choose a point $x_0$ and an increment $h = x - x_0$ such that $x_0, x_0+h \\in [a,b]$. The Taylor series expansion of $f$ around $x_0$ is then given by\n",
"\n",
"$$\n",
"\\sum_{k=0}^{\\infty} \\frac{f^{(k)}(x_0)}{k!}(x-x_0)^k = \\sum_{k=0}^{\\infty} \\frac{f^{(k)}(x_0)}{k!}h^k\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"The function $f$ is called analytic in $x_0$ if the series converges for sufficiently small values of $|h|$ to $f$, that is, if\n",
"$$\n",
"f(x) = \\sum_{k=0}^{\\infty} \\frac{f^{(k)}(x_0)}{k!}(x-x_0)^k\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"In numerics, we will usually work with the trunctated series, also called the Taylor polynomial (+ remainder term), which exists for all $f \\in C^{k+1}[a,b]$:\n",
"\n",
"$$\n",
"f(x) = \\underbrace{\\sum_{k=0}^{m} \\frac{f^{(k)}(x_0)}{k!}(x-x_0)^k}_{=: g(x)} + R_{m+1}(x_0).\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "fragment"
}
},
"source": [
"Here the remainder term is given by\n",
"\n",
"$$\n",
"R_{m+1}(x_0) = \\frac{f^{(m+1)}(\\xi)}{(m+1)!} (x-x_0)^{m+1},\n",
"$$\n",
"\n",
"where $\\xi$ is some unknown point between $x_0$ and $x$."
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"Often we write this as\n",
"$$\n",
"f(x_0 + h) = \\sum_{k=0}^{m} \\frac{f^{(k)}(x_0)}{k!} h^k + \\mathcal{O}(h^{m+1}).\n",
"$$"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "fragment"
}
},
"source": [
"Here we used the the **Big $\\mathcal{O}$-notation**.\n",
"Let $f$ and $g$ be some real valued function and $a \\in \\mathbb{R}$. We say that\n",
"$$\n",
"f(x) = \\mathcal{O}(g(x))\n",
"\\qquad\\text{ as } x \\rightarrow a,\n",
"$$\n",
"if there exist $\\delta > 0$ and $M > 0$ such that\n",
"\n",
"$$\n",
"|f(x)| \\leq M|g(x)| \\qquad \\text{when} \\qquad 0 < |x-a|<\\delta.\n",
"$$\n",
"\n",
"That is, locally around the point $a$, the function $f$ can be bounded, up to a constant, by the function $g$."
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"# Some other useful results\n",
"\n",
"**Result 1:**\n",
"Let $f\\in C[a,b]$ and let $u$ be some number between $f(a)$ and $f(b)$, then there exist at least one $\\xi \\in (a,b)$ such that $f(\\xi)=u$."
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "fragment"
}
},
"source": [
"**Result :2**\n",
"(Rolle's theorem) Let $f\\in C^1[a,b]$ and $f(a)=f(b)=0$. Then there exists at least one $\\xi \\in (a,b)$ such that $f'(\\xi)=0$."
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "fragment"
}
},
"source": [
"**Result 3:**\n",
" Let $f\\in C^1[a,b]$. Then there exists at least one $\\xi\\in (a,b)$ such that\n",
"\n",
"$$\n",
"f'(\\xi) = \\frac{f(b)-f(a)}{b-a}\n",
"$$"
]
}
],
"metadata": {
"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.9.1"
}
},
"nbformat": 4,
"nbformat_minor": 2
}