test_stokes_setup.ipynb 724 KB
 Martin Bauer committed Mar 21, 2019 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 { "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "from lbmpy.session import *\n", "from pystencils.slicing import add_ghost_layers, remove_ghost_layers\n", "from lbmpy.relaxationrates import lattice_viscosity_from_relaxation_rate, relaxation_rate_from_lattice_viscosity\n", "\n", "\n", "def discrete_l2_norm_by_number_of_nodes(field):\n", " squared_sum = np.sqrt(np.sum(field ** 2, axis=-1))\n", " return np.linalg.norm(squared_sum) / np.sqrt(squared_sum.size)\n", "\n", "\n", "def discrete_linf_norm(field):\n", " return np.max(np.abs(field))\n", "\n", "\n", "def add_flipped_on_top(field):\n", " flipped = np.copy(field)\n", " flipped[:, :, 1] *= -1\n", " flipped = np.flipud(flipped)\n", " return np.concatenate([field, flipped], axis=1)\n", "\n", "\n", "def get_lower_half(field):\n", " assert field.shape[1] % 2 == 0\n", " return field[:, :field.shape[1]//2, :]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Stokes flow - comparison to an analytical solution\n", "\n", "This notebook sets up a periodic scenario with a given force field where the analytical (Stokes) solution is known. The simualted results are compared to the analytical solution.\n", "\n", "### Analytic part" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "sym_x, sym_y, sym_mu = sp.symbols(\"x y mu\")\n", "sym_k = sp.symbols(\"k\", integer=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Definition of stream function:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": {  Martin Bauer committed May 05, 2019 70  "image/png": "iVBORw0KGgoAAAANSUhEUgAAAH4AAAAUCAYAAABLTIm0AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAFE0lEQVRoBdWai1EUQRBAOcoA/EQgZiCagWaAGoGYARYRWJiBmIGYARgBYgZoBCoZ4HvD9DB7u3sce8fd2lXtfHq6pz/TvTOHk8vLy40xwGQy2UKPF+hzeFt94N2B5we8P2/Lu471i9g6RN9O/xj4m5DNDMpfcPemtUPoyL0PHg/hDR74j8CtGA9tlQGu3Fb2TD7Ie58P1b+PD7kN/2wyMQ+olPhknsUD1nyD590AvprlLQONWxTWYisBuwBforxV62RRIzr4G/6ZeELWCZShXfbfRo9FA7+BrANk/UbWx3Xa1Lf3PLayxoC8woavfXKGztf+GUPgzzHkJYYu/H3GMLP1F7IeDHXOXfKh30xbob9g/2PwATZcLFuX2j9zlXoYtsCn4jKVUa7ylhH0LEdn/USuDhwE6qSd4iABPUzKlXSDranU30XQ897FP/ecyEbqLLPuIWjmvEGB7azwJ8bSLT+vwOD5TFeDvoCxhu7Gc/AU/ptKrrfxzu8Z+6qDnwHvFV52iqys0xnzjzucpDx17JNrQEdlK/oEqFfRGzv1j/HYBg+wtVTFyj+Qkr/f0xoL7XsE9n3ywj/dN2oYGzdLxjr6iM0brwDXgZanvaDRVwG/VTNv2dDl63wpMK+hNClIf0N2nttjnm5Tl0zzsJz10DxMrdcDc2u1Neutbhq8k8faqB89DM4XP9F3bfJPZbNxSDGgtd/ng+SfTRY8E/MJolvADK7hTz2o+p7CZyhQMpJ+nEyVngUa1pKbM/o0M5q9IS9kWRJLZsRkbpWnY7pgdLZWSoavTrDfoB9mP36n/45+/fvGPnMfKl6ror6MNV6UU2Wu1kT3yj8IdMITYidlLm0rUzOtK+PlaZ0u5pRXqoD7TCN038v+aNOgMXc/5vKahhzmemVDs9TB3pQZY2ijsrXSy0TTH59irq9lTfGPawBj0KpkXfysS/4x4wW/IWas3xOfROecuumMZ7oXWlnbu3IOAgpfuAwdzAKzN05y3C0k92W8tFkwKlsrRbVVm/T9cc76inzdDf9cz6TPgcGfGzbZwBJhirwHfU9PGFoqdrPjJd8VzCrL7mm58qfYdBCyEjrIHzt+5PF04+Gd/jSkNWO1Fb083MbBbDcB9f/BPP5njRkszJsIyT9mvBv6wS/A5maYN/h0KAph+R0DpCJ94P7TQZz1fVeOPPVBcS5grLa+VkH8HsGLCuqBsMpZhQsw3gETjcl0N6gTAdpeRS98uZP8s5kH+x0LFRyKBHNsFuNFW7PW0tsHjaCjo0aKs8qa8qb1ruWP0dbGYSaIF1nhhv3OZR/403QKOK28BaCnwFYyCi13in8U4Iky671N2jpOly5aS4kbeYsQ7XsAuuad8+1pYFzrZaV1IUSpdJmD5t6Np1TQbAH3cT/1Er13SGhdPoMPms/OpzGuW+ZHaSt66a/0jAt9GYe9tuUyZx+sfeI41hq78uwLWXULPfnnv/rJltNs4H06dlYJ6DrBF8Zd/TEJ8cMB/XxRLOXn6SFa1P6JUj9EzrJ4rC7+6tQAlDwCPZ0JstKe6NbavMRmH7zNa6RiXUm309aV7Hy1ybV/6jKwrj46Weoa5Zux2VHKVl7TeM/X+kKPbE+fkZo2pn62o2HrKvSb9s/aSz0KeWFJ3y0cUC4qzPk99s4gWLp96vQ94ZTh4fEXrtaFSAFjgS5bV6HbtH9GEXgNRzFvo0P/65WfgJOxB107hUVsvZJwu3/Zr+WffyaqBQCRmD/VAAAAAElFTkSuQmCC\n",  Martin Bauer committed Mar 21, 2019 71  "text/latex": [  Martin Bauer committed May 05, 2019 72  "$\\displaystyle \\sin{\\left(y \\right)} \\sin{\\left(k x \\right)}$"  Martin Bauer committed Mar 21, 2019 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101  ], "text/plain": [ "sin(y)⋅sin(k⋅x)" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "potential = sp.sin(sym_k * sym_x) * sp.sin(sym_y)\n", "potential" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Velocity field as curl of stream function" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": {  Martin Bauer committed May 05, 2019 102  "image/png": "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\n",  Martin Bauer committed Mar 21, 2019 103  "text/latex": [  Martin Bauer committed May 05, 2019 104  "$\\displaystyle \\left[\\begin{matrix}\\sin{\\left(k x \\right)} \\cos{\\left(y \\right)}\\\\- k \\sin{\\left(y \\right)} \\cos{\\left(k x \\right)}\\end{matrix}\\right]$"  Martin Bauer committed Mar 21, 2019 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135  ], "text/plain": [ "⎡ sin(k⋅x)⋅cos(y) ⎤\n", "⎢ ⎥\n", "⎣-k⋅sin(y)⋅cos(k⋅x)⎦" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sym_vel = sp.Matrix([sp.diff(potential, sym_y), -sp.diff(potential, sym_x)])\n", "sym_vel" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Definition of pressure field" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": {  Martin Bauer committed May 05, 2019 136  "image/png": "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\n",  Martin Bauer committed Mar 21, 2019 137  "text/latex": [  Martin Bauer committed May 05, 2019 138  "$\\displaystyle \\frac{\\left(k^{2} + 1\\right) \\cos{\\left(y \\right)} \\cos{\\left(k x \\right)}}{k}$"  Martin Bauer committed Mar 21, 2019 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170  ], "text/plain": [ "⎛ 2 ⎞ \n", "⎝k + 1⎠⋅cos(y)⋅cos(k⋅x)\n", "────────────────────────\n", " k " ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "p = (sym_k ** 2 + 1) * sp.cos(sym_k * sym_x) * sp.cos(sym_y) / sym_k\n", "p" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Compute force field (for variable viscosities)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": {  Martin Bauer committed May 05, 2019 171  "image/png": "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\n",  Martin Bauer committed Mar 21, 2019 172  "text/latex": [  Martin Bauer committed May 05, 2019 173  "$\\displaystyle \\left[\\begin{matrix}\\left(k^{2} + 1\\right) \\left(\\mu - 1\\right) \\sin{\\left(k x \\right)} \\cos{\\left(y \\right)}\\\\- \\frac{\\left(k^{2} + 1\\right) \\left(k^{2} \\mu + 1\\right) \\sin{\\left(y \\right)} \\cos{\\left(k x \\right)}}{k}\\end{matrix}\\right]$"  Martin Bauer committed Mar 21, 2019 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291  ], "text/plain": [ "⎡ ⎛ 2 ⎞ ⎤\n", "⎢ ⎝k + 1⎠⋅(μ - 1)⋅sin(k⋅x)⋅cos(y) ⎥\n", "⎢ ⎥\n", "⎢ ⎛ 2 ⎞ ⎛ 2 ⎞ ⎥\n", "⎢-⎝k + 1⎠⋅⎝k ⋅μ + 1⎠⋅sin(y)⋅cos(k⋅x) ⎥\n", "⎢─────────────────────────────────────⎥\n", "⎣ k ⎦" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "def laplacian(term):\n", " return sp.diff(term, sym_x, sym_x) + sp.diff(term, sym_y, sym_y) \n", "\n", "\n", "symForce = sp.Matrix([- sym_mu * laplacian(sym_vel[0]) + sp.diff(p, sym_x),\n", " - sym_mu * laplacian(sym_vel[1]) + sp.diff(p, sym_y)])\n", "symForce = sp.simplify(symForce)\n", "symForce" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "def get_field_from_term(start, end, points, term):\n", " \"\"\"Get a numpy array from a symbolic description.\"\"\"\n", " xc, yc = np.meshgrid(np.linspace(start[0], end[0], points[0]),\n", " np.linspace(start[1], end[1], points[1]), indexing='ij') \n", " result = np.zeros(tuple(points) + (2,))\n", " result[:, :, 0] = sp.lambdify([sym_x, sym_y], term[0], 'numpy')(xc, yc)\n", " result[:, :, 1] = sp.lambdify([sym_x, sym_y], term[1], 'numpy')(xc, yc)\n", " return result" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Non-dimensionalization\n", "\n", "Parameters" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "cells = 100\n", "domain_size = np.pi\n", "k = 2\n", "mu = 1\n", "density = 0.1\n", "relaxation_rate = 1.2\n", "method = 'srt'\n", "force_model = 'guo'" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Force factor 3.827935392629609e-08\n", "VelFactor 0.000349065850398866\n", "dx 0.031415926535897934\n", "dt 1.0966227112321513e-05\n", "Re 0.3141592653589793\n" ] } ], "source": [ "replacements = {sym_mu: mu, sym_k: k}\n", "\n", "dx = domain_size / cells\n", "dm = dx**3 * density\n", "nu_l = lattice_viscosity_from_relaxation_rate(relaxation_rate)\n", "nu_phy = mu / density\n", "dt = nu_l / nu_phy * dx**2\n", "forceFactor = dt**2 * dx**2 / dm\n", "vel_factor = dt / dx\n", "Re = vel_factor * cells / nu_l\n", "\n", "print(\"Force factor\", forceFactor)\n", "print(\"VelFactor \", vel_factor)\n", "print(\"dx \", dx)\n", "print(\"dt \", dt)\n", "print(\"Re \", Re)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Setting up velocity field:|" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": {  Martin Bauer committed May 05, 2019 292  "image/png": "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\n",  Martin Bauer committed Mar 21, 2019 293  "text/latex": [  Martin Bauer committed May 05, 2019 294  "$\\displaystyle \\left[\\begin{matrix}\\sin{\\left(k x \\right)} \\cos{\\left(y \\right)}\\\\- k \\sin{\\left(y \\right)} \\cos{\\left(k x \\right)}\\end{matrix}\\right]$"  Martin Bauer committed Mar 21, 2019 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324  ], "text/plain": [ "⎡ sin(k⋅x)⋅cos(y) ⎤\n", "⎢ ⎥\n", "⎣-k⋅sin(y)⋅cos(k⋅x)⎦" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sym_vel" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Setting up force field:\n" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": {  Martin Bauer committed May 05, 2019 325  "image/png": "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\n",  Martin Bauer committed Mar 21, 2019 326  "text/latex": [  Martin Bauer committed May 05, 2019 327  "$\\displaystyle 4.781968159653842e-07$"  Martin Bauer committed Mar 21, 2019 328 329 330 331 332 333 334 335 336 337 338  ], "text/plain": [ "4.781968159653842e-07" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" }, { "data": {  Martin Bauer committed May 05, 2019 339  "image/png": "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VZXRua1+fn44efIkHnroIVy4cAElJSWKctnzrKcMN0TSaDTCYgN3is7Ozk69e7dv3xYyddmRRo0ahREjRuCxxx7Dvffeiy+//FLvuVqtxltvvYXJkydj586dmD9//oA+x5eIyBwWokRE/URwcDACAwMBAAEBAZg5c6bwHF988QWCgoKwdu1aREVFCYtbXV2NgoICs8+Tk5ONipa+JDg4GFVVVXjttdcwcuRIk21CQkLwj3/8AydPnlR09ImlYjMxMRFdXV12x+7u7NmzetcajUboqGhcXBwCAwMRFBQEAJg5cyYCAgL6/IcOwP996HP69Gn8+te/1nvW3t6OnTt34tq1a3ptiYhIHwtRIiIYTztsamoSGl/7plRL1BmM3eXl5ek2ZAkICEBubq7wHIcOHdL1PT09XdgombVNapqampCTkyMkl+H5mIabPNnjoYce0itADadient76/4cEhKCRYsW2ZWnsrISpaWlZp83NDSYPALH3lyG8vPzhcQGgI0bN6KsrAzPPvssnn76aezcuRNnzpwRPpL/ySef4E9/+pPuv+rqasUxbe3j8OHDsWzZMsX5DPt89epVxTGJiHqbe293gIioLzAcbauvrxca//Lly3rXjth856uvvtIdf7J//358/vnnRhsYKRUQEKD786RJk4RNObRlFCwuLg4rV65UnMvU7sKiqVQqvQ83DItfe9mymU98fDyWL1+uKE9LSwvOnDljdD8uLg5LlixRFFsrOjoaAPDUU0/p3Td3Jq69XnrpJVy4cEF3PX36dIwfP15RzBkzZmDy5Mkmi/Xu1q5dCw8PD0W5ABh9L6zlJSJyBRwRJSJygJ5OjxQ1ndLRduzYgYMHD+J3v/sdTp06JaSIa21tRXp6utV2Sjf50aqpqdG77ujoUBzTWWwt2JXKzMw0ORXaFabNOoMkSTaNirrahmFERM7EQpSIyAFKSkrwwAMP4NixYxbbdXZ2Yu/evfjRj37kpJ4pt3TpUjz//PMYNGiQkHiZmZlobW212u7cuXMoLy9XnO/KlSt6111dXbh06ZLiuI528+ZNmzbyOX36NM6dO6col7mCs6ysDBUVFYpi9xfWikyVSqUb9SUiImMsRImIHGD27Nk4evQowsLCsGHDBpOFwd69exEcHIytW7dixowZvdDLvqF70dN96q+pe0rPmayoqEBzc7PRfVc4v9LULrPmKBm5lGXZ4uvR118rU99fc2RZtnu99vLlyy1OuV6yZAnuuusuu2ITEQ0ELESJiBxAkiTdbpnffvst9uzZo/e8q6sLW7du1a31Gqg7a2qLnlmzZuGrr74ymqIrSRLKy8vx5z//WciOqub+vitMOdUWgNOmTcOnn35q9Py5557DvHnz9Nrao6ioyOKGPn39tXr00Ufxm9/8xuKGY7Is49tvv8WcOXOMpmrbytPTE2vWrDH7nNNyiYgsYyFKROQgtr4RHT9+PMLCwhzcm76prq4O77//Po4dO4Yf/vCHRrvNAnfe8P/0pz/FmTNn8OSTTyo6xsVcgZaZmYnbt2/bHdfR1Go1Kisr8emnn6KkpASbNm0yarNw4UIcPnwYCQkJaGtrs3vnZ2uFZnZ2ttEZo33J0qVL8etf/xoBAQH4zW9+g/b2dr3nycnJmDNnDjZs2ICWlhbdkUf2sPQzPlA/XCIishULUSIiB4mIiLBpHeX69esH7IH3Y8eONVuAGvLw8MDmzZvt3oX05s2byM7ONvmsvb3dpg2Teossy8jMzMSmTZssHjcjSRLWrVuHnJwcu9fwWhtN7ezsREpKil2xnUFbADY2NuLXv/610VEnv/3tb3Vrt5UWi+vWrTP5s3vPPfcgODhYUWwiov6OhSgRkYMMGjQIUVFRVttxCp9zpKSkWBxN7ctTTt3d3Xt03qkkSfD09OxxnurqahQWFlpt15fXiYaEhOjO07VG6c/eqFGjMHv2bJNxB+qHS0REtmIhSkTkQNbe6A4aNAirVq1yUm8GNmuFZnx8PDQajZN60zfZWmAmJibqnZPal9h6tIqvr6+QM1HDw8ON7iktcNPS0pCfn29T24qKCnzyySeK8hER9QYWokQ04KjVapSVldncvqamBtevX7crV0xMjMXnq1atEnYMCpmnVquRmJhosU1tbS0KCgqc1KO+qXuxbmkE9vr16zYXSr3BlkIwOjoa7u7uinOtXLnS6N7SpUsVxRwxYgQWLVqE6Ohos69zRUUFtm7diqCgoD69ZpeIyBwWokQ04KhUKvz4xz/Gxo0bUVpaarZdTU0NduzYgZCQEAwePNiuXOPGjcPcuXPNPue0XOfIz89HfX291XZ9ecqpo7W0tCA9PR1+fn549913sXPnTr3nXl5eOHHiBB588EEAYqcyd3V1CYsF3BmlHDJkiMU2on72pk6dqnetUqnsXsesNWfOHPj5+SE5ORmLFi3CgQMH9J7X1dUhKCgIe/fuhVqt5sZIROSSWIgS0YAUExODzz//HCEhIdi4caPR8w8++ABTpkzBe++9hyVLligateTOmvaTZVlIHFuLJlHFlah+O1NJSQneeOMNVFRUYMeOHfDy8jJqM2vWLHz55Zc4ceKEyef2+tOf/iQsFnCnaF69erXZ5yqVyuLRKz1huBa0J2t5zXFzc9P73WB41mlHR4duanRoaCj8/f0V5yQicjYWokQ0IGmLQ1mW8fnnnxs9T05ORltbm15bpbkMzZkzB+PHj1cUu78RPTKm1b3AtLRD7/Hjx3Hp0iXF+QwL0b66nrK7+fPnY8eOHTZ96DJr1izs3r1bSN6mpia8/PLLup83USz93C5btgy+vr5C82mJKEQB23/vcFYFEbkqFqJENCCFhYXBz8/PprbW1nlaExoailGjRhnd52iosaKiIqN7ly9fVhSzoqICZWVlmDZtGj799FPMmjVL77mnpycOHz6MdevWARAzPddw0yOu4TMvOTkZTU1NyMzMFBrX3NEqgGOLN1G75UZGRsLb29tqO/4eISJXxUKUiAYkw6lv5sydOxfjxo1TlEuSJCxatMjoPkcyjJk6y1NpYVheXo5PP/0UJSUl2LRpk8lCYf78+UhISEB+fj46OjoU5VOr1UaFaGNjo6KY/Zn2+yv6+JwxY8ZgwYIFJp+5ws+ej4+P1R21/fz8LK5BJyLqy1iIEtGAZcubUVFvWA0LUZVKhbCwMCGx+5OMjAyje0oLlOjoaGzatMmmKZMLFizA9u3bFeU7fPiw0b2mpiaXmJ7rbF1dXbrdjOPj44WvrTX18xsUFITAwECheRzF2odlMTExFqeaExH1ZfztRUQDli1T30QVovfdd5/etY+Pj+IpfF999RWOHj1qU9tjx47hH//4h6J8jnb27FlUVlYa3c/IyMDt27d7oUf2MVU4q9VqkwXqQJeXl4cbN24AuDMF+8SJE0Ljm/r5dYXRUC1rhagrfS1ERIZYiBLRgOXj44OIiAizzydMmIDQ0FAhuQx3GPXx8VEc08fHB/Pnz0dsbKzZ8y+PHTuGDRs2ICwsDJ6enopzOpK5kc/29naTI6V9lbmvYyAfDWOO4Wslenruvffei0mTJundc6XibcKECUYfYml5eXkhMjLSyT0iIhKHhSgRDWjWjlYRtfGIISXHwWitXLkSPj4+iI+Px7x587Bv3z6955988gnCwsLw7bffusSbVktFiOgCxVEqKyvNnk3rKl+DMzm6EJUkSe9n3NfXF0uWLBGaw9HM/Y6KiIiw+3xjIqK+gIUoEQ1olqa+OXI3ShHrury9vREVFaW71k5x1GpoaND9ua+/aW1sbMTBgwfNPo+PjzfaAKgvslRIlZSUoKqqynmdEUz0+s1z587h9OnTeveOHj2KmpoaoXm6/xxHR0fD3d1daHxHM1eIutLILhGRKYreCUmS9AtJkkolSSqRJOkzSZKs7zNORNSHmJv65u3tbXHabl/RX84aTE5OtriZz9WrV1FYWOjEHtnH2oieqBE/U0Wh0t1+DRkW/qI3WzI3VTkhIUFonvDwcAwZMgSAax51EhYWhqFDhxrdd8WvhYioO7sLUUmS7gbwbwDmyrJ8LwAVgI2iOkZE5CymirTFixcLmT7raLaecdrX37TaUqD19TWWN2/eRHZ2tsU2ogpRU9N/S0pKhMTWunTpkt616BFpc6+F6Om5Xl5eWL16NVQqFdauXSs0tjO4ublh+vTpevdGjBgBf3//XuoREZEYSueGuQMYJEmSOwAfANXKu0RE5FymirTw8HDnd8QOfn5+mD9/vsU2oaGhQt+0/v3vf8f27dtx/fp1IfG6urqQlJRktV1fX2OZmpqKzs5Oi23279+P5uZmxblMvRbmNqyy19mzZ/WuZVkW9j1vamrCgQMHTD5LS0tDa2urkDxasbGxWLZsGXx9fYXGdRbDQlTp2cZERH2B3YWoLMtXALwF4CKAGgBNsiyniuoYEZGzzJkzx+jeihUreqEn9nHmEQ+7d+/Gpk2b8P777+Oee+4Rsm4wNzdXbz2rOceOHcPly5cV53MUWwrlzs5OpKYq/79Kc4WoyHWc5eXlRve0Z34qlZKSgoULFyI9PR0TJ04EAMyYMQOJiYkICQlBVlaWkDxa69atw4YNG4TGdCbDc0/Hjx/fSz0hIhJHydRcXwD3A5gMYDyAwZIkPW6i3VOSJBVIklRw7do1+3tKROQgpjYOEj0N8fz583rXIn8fWis0RRai3QvGpqYmIYVP96LK1Lmu3e+JmJ5rOJokYhMntVptc5GmdGS3rq4O+fn5Rvdv3Lgh7BzOiooKk6OfokalIyIicODAAaxatQoffvghvvvuO/zxj39EdHQ08vPzrY7y98TWrVuxdetWpKSkIDY2FsXFxcJiA0B1tf5ksPb2dqHxAeMPBWpra4XnICJyNiVTcyMBVMqyfE2W5U4AXwNYbNhIluX/kWV5rizLc0ePHq0gHRGR87S0tAiNd/PmTb1rkVMPZ8+ebXbqrZ+fn8kRX3tFR0dj/PjxkCQJW7ZsEbL7b3x8PHx9ffHqq68iLy9P75kkSaisrMQvfvELeHt7CymEDAtPDw8PxTHz8/N1hVtwcLDR6zJq1CgMGzYMwJ3NeJRs/JOYmGj2AwBRhaK5OCkpKUI2RRo1apTuaKTIyEjExsbqpsNLkoRRo0YpzqGVkZGB+Ph4JCUlIT4+3mh3aaUMf1eI3tQJAOrr6/WuGxsbhecgInI2Je8gLgJYKEmSj3Tn/01WATglpltERGQrSZLMTs+NiYkRUixqrVmzBuXl5Th+/LjRuaX2qK2txeOPP47Kykq8/PLLGD58uFEbPz8/vPPOO6isrERoaKjVdZi9IS4uDsHBwfjkk09QWlpqdETIpEmTUFVVhVdeeQUdHR04fPiw3bksjQqL2tDJXCHa3Nxsdm0nERFRTyhZI3oYwJcAigAUfx/rfwT1i4iIesCZZw0OGTIEs2bNEhJr7NixZgtQQ35+fnj99deFjGB219XVpTjG/fffj9LSUjz22GNQqVQm2/j6+mL37t2oqqqy6es1pb29HSkpKWafHzlyBFevXrUrtlZTU5PF3X/7+qZRRETkGhR9TC7L8q9lWZ4my/K9siw/Icuy+IURRERk1cqVK41G4VQqFSIjI3upR32X4bRGEWv6Fi1aZLYANeTr64uZM2falSc7Oxu3bt2y2EbpOZypqakWi/O4uDihmyIREdHAJG6+FhER9Rpvb29MmjRJ796ECROEbMTT31y5ckXvWsSaR2exZTRS6Yiltb9fWVmJU6e4EoeIiJRhIUpE1E9MnTpV73ry5Mm91JO+raamRu+6s7NT6C7GjiLLsk1FZlpaGtra2uzKYevuv5yeS0RESrEQJSLqJ6ZMmaJ3bThCSneKUFNnliYlJfVCb3qmtLQUFy5csNqupaXF7nM48/LyjHZoNYWFKBERKcVClIionzCchjt06NBe6knfZW79pCsUVt37GBgYaPR8woQJJtvam8OSvLw8k+eM9gU9Xb/K9a5ERL2DhSgREQ0Yjj4f05Hi4uIQGBiIv/71rygrKzN6/u677+K7775DWFgY4uPj7SqwtMe/jBgxAgsWLNB75u7ujjVr1gAANBqNTVN4e8OWLVts+vorKiqwdetWnDx5skfxOzo6evTadnV1QaPR9CgHEdFAwEKUiIgGhNbWVqSlpZl81tzcbPHIkt7W0dGBZ555BmVlZXj88ceNdkgG7pwnGxsbi4KCAvzxj3+0aYptdxUVFaipqcGrr76KqqoqrF27Vu+5SqVCcnIyDh06hDVr1gg7sxSA0M2P/Pz8EBsbi3nz5pksSLUFaFBQEJKSkhASEtKj+PX19VixYgUyMjIsFqRdXV34+OOPsXbtWtw5bp2IiLoz/n8yIiKiPkLktMmsrCy0traafR4fH4+oqChh+UTy9PTEY489ZlNbbUHaUx4eHqisrLR6xumiRYuQnJyM0tLSHucwRZZl/PznP0d6erqQeLGxsXjzzTdRWFho8nV48skndX9ev3493Nx69pn8uHHj0NraisjISCxduhQrVqwwavPxxx/j1Vdfxblz5/Cv//qvLESJiEzgiCgREfUZIs70NMfa+seBfj6mv7+/1SK0O3vPQjV0/PhxZGRk4OzZs0LiLVq0CHfddZdNbdevX29XDm2Bm5OTg9dff93o+ebNm3Hu3Dm9tkREpI+FKBER9RmHDh0yunfmzBnFcWVZtjqVtLKy0uTaS3Is7QcEojaMUqlUWLdundV23t7eiIyMtCuHrcXl4MGDER4eblcOIqL+joUoERH1GRkZGUb3RBQox48fx+XLl622c4Xdc/sb7Wsucs2pLYXiqlWr4OPjY1f80NBQ3H333VbbrV69Gt7e3nblICLq71iIEhFRnyDLMjIzM43uiygObY3BQtS5qqurUVBQAAA4ePAgGhsbhcRds2aNyQ2dulMyZVaSJJum9XJaLhGReSxEiYioTzhx4gSuXr1qdD8nJwcNDQ2KYts62taXz8fsj7qf69rV1YXk5GQhcYcPH25yE6Hu7F0fqmWtyJQkyaYpwkREAxULUSIiB+jppjcDeZMcLXOjkWq1GklJSXbHrampwdGjRzFixAi8+uqruPfee/Wee3p64rPPPsO0adMgy3KfPR+zPzL8gEDkiLSlQvG+++6zaWqtJRERERg0aJDZ5/Pnz8fYsWMV5SAi6s9YiBIROcCxY8ewefNmqzuBajQafPXVV9i8ebOTetZ3WSpClKwfzMvL052N+fLLL8PDw8OozcaNG1FSUoJPP/1Ut9spOZapc12TkpLQ1dUlJL6lEU8RU2YHDRpk8bgfTsslIrKMhSgRkQOEhoYiNTUV06ZNw+bNm3HlyhWjNl999RVCQ0Px0EMPYeLEib3Qy75DO2ppTlJSEjo7O+2K/cADD+Dll1+2ejSJSqXCpk2bsHv3brvyUM9kZmYaneva0NBgcudke0ydOhXTp083+UxUkejoYpeIqD9jIUpE5ABubm6IiYmBRqPBxx9/jHfeeUfveVdXFx566CEUFxcD4JvW7msFTWlsbERubq5dsSVJcmh7so+5EXBHT88dN24cwsLChMQ3V4hOnDgRISEhQnIQEfVXLESJiBzE1uJy7NixmDdvnoN707fZUnxwR9v+w9K5ro4uRGNiYuDmJubtz7hx4zBz5kyTefmBBhGRZSxEiYgcJOj0kccAACAASURBVDIyEl5eXlbbiXxj7CwiN1dqbW1Fenq61XauVIhqNJre7oJwIr/nx48fNzldHQDKy8utrq221aJFizBy5Ei9e6JnH4SHhxvdU7ojLxHRQOBa73yIiFzI4MGDERERYbWdvW9aq6ure1Qc1NTU2JXHMOcTTzyBoKAg/POf/1QcDwCysrLQ0tJitd3Zs2dx5swZITkdzfD70tbW1ks9sZ/h1yCyuNZ+qNB9JoC7uztmz56t91wplUqld4SKt7c3IiMjhcTWWrlypdE9U8UpERHpYyFKRORA1kZfPD09Le68ack333yD8PBwZGVlWSxIs7OzERERgb///e925enuzTffxN/+9jecO3cODzzwgJDipHvRMX78eKPn/v7+Jtv2ZYavS1NTUy/1xH6G56mKLERra2uRkJCAw4cP6+55e3ujqKgI33zzDS5fviwsV/cPelatWgUfHx9hsQFg2rRpetcqlQre3t5CcxAR9UcsRImITLh06ZKQONZGOyMiIjBkyBC7Yx84cAAREREIDw/Hl19+qff8n//8p+5ZVlZWn5wuqF0rOGPGDHz++efIzs42anP27Fns2bMH/v7+QgrRqVOn6l1b2023pxoaGnplRFT0mZWGo9QajcZol1t7/dd//RfWrVsHSZLQ1dWFrq4uNDY2ws3NDRs2bMDbb78tJA8APP/887o/JyYmmvw3psT58+f1rtVqtdD4AFBRUaF3XV9fLzwHEZGzsRAlInIgf39/hIaGmn2uZL3apEmTdDtzHjhwABcuXNB7fvnyZWRlZQEAgoODERgYaHcurWeffRYbN25EQEAAvvjiC8VrW+vq6vD222+juLgYjzzyCFQqld5zSZLg5eWFbdu24ezZs3jiiSfsPsale0xL10olJSUZ3bt+/ToaGhqE5jEk+uswdZxOZmamkNjd+6pSqXT/mXouksh1ro506NAhVFVV2dS2sbERiYmJju0QEZEDsBAlInIwS8Wm0lFKWwtZURu0+Pv747PPPsP58+fx8MMPK443duxYPPLIIzYVtF5eXti6dSs8PDwU53Ukc6O2ycnJTu6J/err61FWVmZ039xOtySWWq1GYGAgnnrqKbMFaWNjI/7jP/4DAQEBKC8vd24HiYgEYCFKRAOOWq3G9u3bce7cOattr127hl27dilas2au2Jw1axYmTpxod1zA+YWolqvt8ussnZ2dJkdEAddZ3wrcGdU1NXoYHx/vMqOKrmzRokUYNmwY/vznPyMwMNBoqUBHRwcCAgKwe/duNDU19clp90RE1vCdBBENOCqVCjU1NZg2bRq2bNlisiBtamrCrl27MHnyZHz99deYMGGC3fnmzp2LoUOHGt0XURzOmzcPo0ePttjG19cXixcvVpyLrMvJyTG7MVFSUpLiacXOYm7k8/Llyzh+/LiTezPwuLu7Izo6GgDQ1dWF27dv6z1Xq9W6f2eipt0TETkbC1EiGpBiY2OhVqvx0UcfGe16CQAvvvgifve73+H27duKC0Y3NzdMnz7dZB+UUqlUiImJsdhm3bp1cHd3V5yLrLM06tnY2Ijc3FwheUxtiNPc3Cwkdmdnp8VpxK40suvKemu2AxGRs7AQJaIBKTo6Wje91NSb+u73RLzRmzlzptG97mcoKmGtf5y25zzW1lCKKuLy8/ON7nU/CkWJgwcPWjxuhutEnWPt2rU2fYDEQpSIXBULUSIakEaNGoVFixZZbTd8+HAsWbJEcT7DqXOSJAlbZ7l69Wp4enqafObu7o61a9cKyUOWlZeX4+zZsxbbiCriTBW0okZbrRXLR48eRU1NjZBcZN7w4cOxfPlyi2047Z6IXBkLUSIasGwZSYiOjhayS6uXl5fetcjjKYYMGYKVK1eafLZs2TKMGDFCWC4yz5bRzjNnzuDMmTOKc5kqaPPy8tDV1aUorizLNn0dCQkJivKQbaz9joqOjua0eyJyWSxEiWjAsqUQddS0N9HnJJqbfstpe85j67RbpdNzKysrUVpaanT/1q1bOHTokKLYp0+fxvnz5622E71OtK2tTWi8/sLazy9/vonIlbEQJaIBa/r06ZgyZYrZ5yqVSrdzpWiiC1Fzb0j5RtU5bty4YfPUWKVFnKW/rzS2rVOH09LS0NraqihXd2+99ZawWP3J1KlTTW6mBnDaPRG5PhaiRDRgSZJkcSOfpUuXwtfX14k9st+kSZMwatQovXsjRozAPffc00s9ch0ijlRJSkqCWq3G2LFj8e677xpN554+fTq2bdsGDw8P5OTkoKGhwe5cjixEu//9sWPH6j1zc3PDyJEjAQCtra3IyspSlEvr2rVr+M///E9hu/5+9NFHaGlpsdpOlmVkZGQImSrtSOY+TOK0eyJydSxEiWhAszRi6GqjiVOnTtW7njx5ci/1pG+rr6/Xu25vb1ccs6CgAO+++y4qKiqwY8cOoxFvHx8f7NmzB+fOncPPfvYzZGZm2pXn5s2byM7ONvvclg2TzKmvr0dubi5WrVqFAwcOYNu2bXrPPTw8UFlZiTfeeAMjR44UNj03MTERra2tSEtLExIvLS0NkydPxjvvvGOyINUWoMuXL0dMTAzuvvtuIXkdhbMdiKi/YiFKRAPa8uXLMWzYMJPPXO3YE8NpxgEBAb3TEYFkWRYe03DH146ODsUx33rrLezYsQM+Pj4W202cOBF79uzBhg0b7MqTmppqdQTX3p15q6ursX//fqSnp2PZsmUm2wwdOhS7du1CZWWlsN1atf0VtaPw+vXrUVdXh2effRaTJ09GXV2d3vMnn3wSkZGRyMnJQUREBAYPHiwkr6MsWrTI5IZprvb7iYjIEAtRIhrQPD09sWbNGqP748ePR3BwcC/0yH5+fn561+PGjeulntivurra6J6IEUtLObq6ukzm7QmVSuXQ9lq2jELaO1IZEhJitgA1NHToUDzxxBN25emuo6MDKSkpAO7sxKvRaBTH7H7+Zl1dndFa1srKSt2fXWFU0d3dHaNHjza6Z3gkFBGRq2EhSkQDnqk3owsWLOiFnihjeC6pqHNKncnUlFVLU1F76sKFC2hqajK67wrHkajVaiQmJlptd/DgQTQ2NjqhR8plZ2fr1obW1dXhyJEjimOOGDHC5oLaVUYVDdfrent791JPiIjEcb13KUREgpnaGXf+/Pm90BPKyMgwuifyqBBz0z9FH0fiCPn5+bh+/brVdl1dXUhOTnZCj5QzfN1FfR9sGekMDQ2Fv7+/kHyOZrgR2aBBg3qpJ0RE4rAQJaIBz/BNHgDMmDGjF3oysN2+fRt5eXlG9+Pi4oStFTVX6KSnpws9jsQRuvf9hz/8odHzJUuW6Kb8ukJhLctyrxairjAtV8twjainp2cv9YSISBwWokREJmjXmJHzpKWlmdw46MKFCygtLVUc/9atW2aPHGltbbV7J1tnSUhIwIMPPogTJ07gq6++Mnr+i1/8AmfOnMGTTz6J9PR0dHV19UIvbVdWVoaqqiq9e8XFxbhw4YLi2Pfcc4/Z8ze1XGVarimizyEmIuoNLESJiKhPcOT5mID5QldkDkfp6OjAJ598gi+//BKzZs0y227KlCn48MMPkZeXJ+xcTkcx93qL3D3XHD8/P8ydO9euuLW1tT06IicvLw9qtdquXERE/RkLUSIi6nUajcbihkEiikRrMeLj4x1yXIwInp6eFgtQQ1OmTIGvr68De6Scue+HM6bnxsTE2L2Z1/DhwzFv3jxs2bIF586dM9suJycHUVFRePbZZ+3eJZmIqD9TVIhKkjRCkqQvJUk6LUnSKUmSFonqGBERDRwFBQWora01+zw/P9/oPMiesFboAsCVK1dw7Ngxu3OQ7a5du2ZyPTAAZGVlCRnNXbx4sdliXMn6UG9vb6xcuRIfffQRpk2bht/97ndGbaKiorBs2TKkp6e71FpUIiJnUjoi+h6AZFmWpwGYDeCU8i4REVFf1tLSglOnxP66tzYKJssykpKS7I5/9OhRmwpZUdNCybLExESzo88dHR1IS0tTnMPd3R3r1q0zuu/l5YXIyEhFsbXFpVqtxqFDh4yep6enG7UlIiJ9dheikiQNA7AcwIcAIMtyhyzLrnFwGRER2SU9PR3Tpk3Dvffei6eeekpYXFumYyqZsmnr3+3L60T7k/j4eIwePRqvv/667p6bmxtef/113HXXXcI+EDBVBEZERGDw4MGK4sbExNjULiAgADNnzlSUi4iov1IyIjoFwDUA+yRJOiZJ0v9KkqTsNzsRUR8h+iiP27dv6107Yi3ijRs3LF6LEB8fj0uXLkGj0eDPf/4zNBqN4pgXL17EiRMnrLZLSUlBe3u7XTm6F5iWdhwtKChAdXW1XTm6M9x12cfHR3FMa0Qf6TFs2DC9a1FfgyzLiIqKQmVlJZ577jmsWbMGa9aswdq1a/Hiiy+isrISS5YsEZJr7dq1RuszIyIiFMcdO3asTWcNx8bGCtnh1vD3UWdnp+KYRES9TUkh6g4gDMAeWZbvA3AbwC7DRpIkPSVJUoEkSQXXrl1TkI6IyHmuX78uNF5NTY3etSN20Tx58qTedXFxsfAc3YuToUOHCnmTbevo161bt/D/2bvv+Kqr+3/gr5MdCBB2gExCAiQkYYSEAGFlLyp2aFv7bVErqFXUtvZrbR21YpcLrXxBrVrrKrUqISFMIWHKFAIECFNW2ENC9vn9ATe/3D0+597k5r6ejwcPuZ9zeJ8TLp/r533PWrt2rd3xjx07hl27diE8PBwLFizAjBkz9Mr79u2LVatWYeLEiQBgdS2pLQxH3AYNGqQ5pjW9evVSGm/o0KF6rwcOHKgkrhAC9913H7p27Qo/Pz+UlZWhrKys9e+9e/fuuOeee5S01aNHD6MzOCMiIpTEduVZpYafH1evXlUSl4ioPWlJRE8AOCGl3Hzr9X9wMzHVI6VcKKVMllIm9+3bV0NzRETU3p599ln885//xOzZs3HgwAEliahutHLAgAH4zW9+Y1T+zDPPoEePHnp17bFr1y4sWLAABw8exH333Wc0QiaEwLRp01BeXo6VK1fi0qVLDvwU1FEFBgbqve7Xr5+SuNaSzKCgIEyaNElJW0REnZHDiaiU8gyAb4QQuq9MMwDsVdIrIiKyatWqVTh58qRNdU+fPq1kAxghBH7yk59g/vz5CAkJ0Rzv22+/xf79+zFv3jwcPnwYs2bNMmrv6aefxtGjR/HMM89g3bp1dk9rLioqwn333Wd16qoQAhkZGXj88cft/jmo4zJMRFVJTExEWFiY2fKcnBz4+/s7pW0ios5A6665DwH4QAixC8BIAHO1d4mIiGxx+fJlREdH4+GHHzabkJ4+fRqPPvooBg8erHy6sSp79+7FQw89hICAALN1goOD8fTTT+PLL79EU1OTC3tHOo6uz21vhlNzVRFCWBwV5W65RESWaUpEpZQ7b027TZRS3ial5HwmIiIAO3fuxBNPPGFT8rdhwwbMmTPH7jaysrLQ0tKC1157DdHR0Th48KBe+dGjRzF48GC88soraGxsRG5urt1tOFtQUJDFBNRQcHCw0xIL0me4jlnF2Z6dTWFhocnrQgiTR8cQEdH/p3VElIiITBgxYgQWLlyIyMhIPPHEE0a75gI3E9CcnBxMmDDBoR1Pu3fvjilTpgC4OVpluIHJtWvXUFdXBwCYOHEievbsaf8PQh7rwIEDeq+ZiBqbOnWqyS9S0tLSwH0xiIgsYyJKROQEPj4+yMvLw/Xr1/GnP/0J77//vlGdCRMmYPny5QDMj6xYY+v0P04TJHtt2bJF73Vtba1TjgRyZwEBAUhKSjK67uj9TETkSZiIEhE5Sdvkz9IGOz179nT43EQmouQsmzdvNrq2dOnSduhJx2bqPFHeb0RE1jERJSJyktzcXPj4+Fitl5eXZ1M9UyIjIzFixAiLdWJjYxEbG+tQfPJMx44dw7Fjx4yuO3J8Tmc3ZswYo2vx8fHt0BMiIvfCRJSIyEl69Ohh0zmCWkdPrE0D5OgM2ctcwllWVobGxkYX96ZjM7X2WsX5ukREnR0TUSIiJ7KWJHp7eyMnJ0dTG9YSTa5XI3uZS0SvXLmCdevWKW9PxRm3RETkXpiIEhE5kbUkMT09XfNutqmpqejTp4/JsuDgYIfXn5LjLK0J7uiuXbuGNWvWmC1XPT23oaEBDz30EFpaWpTEO3XqlM116+vrO+z5ukREnR0TUSIiJxoyZAiGDRtmtlzFtFlvb28UFBSYLMvLy+O5m+3AcPqqOyWmK1asQENDg9ny4uJipT9PRUUF9u/fj61btyqJN3PmTMyePdvkGled+vp6zJ8/HzExMaitrVXSLhER2YeJKBGRk1lKNlWt3zQ3/ZbrQ9uHYSLnTqNu1kY8q6urjc4YVdGeqpHWnJwcLFiwADExMZg9e7ZRovnBBx9gyJAheOCBB9CrVy+Eh4craVclexN9d/qig4hIh4koEZGTmUsGhw4dipiYGCVtZGdnw8tL/yNdCIHc3Fwl8ck+honoyZMn26kn9mlubkZJSYnVeqqSRiml8kRUd781NjZiwYIFOHfunF75m2++iRMnTgDouOunP/roI8ydOxdXr161WK+pqQnvvvsu/vjHP7qoZ0RE6jARJSJysrS0NAQGBhpdV/kQ3L17d4SFheldGzhwoOb1p2S/Q4cOobm5We+aPesW29NXX31llLiZoipprKqqwuHDhwEAX3/9NY4fP645ZkxMjM3HFXXUGQNpaWl48sknERUVhblz56KpqUmvXEqJd999F8OGDcPMmTMtTv8nIuqomIgSkcdpbm7G3XffjR07dlite+zYMcyePbt1BMURPj4+GD58uNF11Q/BgwcP1nsdGRmpND7ZxlSSdvXqVRw6dKgdemMfWxPM9evX4+LFi8rbW7JkieaYgG33Vv/+/TF27Fgl7akWFRWF+Ph4XLx4EU8++SSqq6v1yuvq6jBz5kwcOnQIvr6+mnfeJiJqD0xEicjjeHt7o76+HqNHj8Ztt91mMiE9e/YsZs+ejZiYGFRUVCA0NFRTm3FxcUbXVO9mGx0drfe6MySi7rj2zVwypyrJciZdH4OCgjB69Gi9Mm9vb0ycOBHAzS9zli5dqrm99kxECwoKjKazdyS2flE1efJkdO/e3cm9ISJSr+N+AhMROZHuIe+LL74weuAGgKeeegoLFixAY2OjkpFLw6lzQgj4+PhojttWjx499F6747TcK1euGF1TdayHK1y5cgXl5eUmy1Qfe2JIa9J+7NgxHDlyBE888QSOHDli9O/ex8cH5eXlWLVqFSZOnKg5abxw4QI2bNigd2316tW4fv26prjAzS95rP3776jTcnVs7V9H/zmIiMxhIkpEHiknJwfe3t421VWxltNwjagQQnPMzmjt2rVG11Qd6+EKZWVlRuv5dNauXWsy0XaEqV14tU79lVLiyJEjmDt3rtlzaYUQmDZtGsrLy/GrX/1KU3tLly41+pKhvr4eK1as0BQXuJk05+XlmS338/NDZmam5nacydL5wG111A2XiIisYSJKRB6pZ8+eSE9Pt1qvd+/eSEtLU94+E1HTVq1aZXTNHaa06ljqa1NTE5YtW6akndLSUqNr69ev1xQzMjLSpsQHuPnvd8yYMZraMzdCrHr3XFOmTZuGoKAgJe04i6XzgXXi4uKM1oYTEbkLJqJE5LFsmdKWn59v88ipPZiIGmtsbMSaNWuMrjt7SqsqTU1NJhPEtlT9LKbiaE1EXamhoQFlZWUmy0pKSpRMx7Y068FdprNa66e7/BxERKYwESUij2XLQxwf9Ixt2rQJL7/8Murr65XG3bBhA65du2Z0fefOnfjmm2+UtuUMGzdutLqTbGlpqdHRLvZqaGgwObK6d+9e1NTUaIrtKhUVFWbPyKypqcGWLVs0t2Fp1oO7TGfNysqCr6+v2XJ+PhGRO2MiSkQey9p5gzwWwdi8efMwfvx4PPbYY4iLi1O6q62l0UJnTs81t6bTXraMdl68eBEbN27U1E55ebnJhB0wPWW3IyouLsbEiROxcuVKBAQEAAD69OmD0tJSpKSkOHX33MTERISHhyuJ72zdu3fHlClTTJb16dMH48aNc22HiIgUYiJKRB7N0oiCymMRzp07p/faGTvBGp41aPhahcOHD7cmn21/r4KrElHD3YW7du2qJK6t0261Ts+19OdVTmMOCwvTe23r+lFbzJo1C+Xl5cjIyMCLL76IV199FXPnzkVeXh42bdqEH//4x0raMXV/qz426dKlS0rjGTL3GeWsZQNERK7CRJSIPJqlRFTl9D3D3VKdkYieOHFC7/XJkyeVt5GamoouXboAuJmoqzqH8cCBAzhw4IDZ8lWrVik51gMw/lKgtrZWc8zq6mpUVVUBuLn+1zBB8Pf3b/29lmRRSmnxzy9fvhx1dXUOx28rJCRE73VwcLCSuAAwfPjw1nXSDzzwAB5++GH8/Oc/B3Dz78/wuCNHxcTEGB2TlJCQoCnm8ePH8cgjj+D06dMAYHZ0GgAqKysxe/ZsTdOxzX1Gucv0YiIic5iIEpFHs3TeINdfGfvhD3+I/fv3o7i42OTGQo6ylpzV19dj5cqVStravXu33uuLFy/i8uXLmmIuWbIEQgjceeedqKysRK9evfTKb7vtNnzxxRcYNWoU9u3b5/BRK3v37sWRI0fMll+/fl3p+9IZ6L440dGa5IaHh6O0tBSDBw/Go48+anJEtLKyEj/4wQ+QkJCAb7/9VtPIZWRkpN4XGTpcNkBE7o6JKBF5NHPnDQ4YMIDHIpgRGhqqfDTGllFCFdNOz58/b5TISSk1H6vi7++PyspKfPTRR4iLizMqF0Jg+vTp2LZtG7744guLyaQltkxRdqfjblzB8AxfFaP4hYWFqKurwyuvvIJnnnnGqDwhIQGLFi0CoOYLLcOjZry8vJQtGyAiai9MRInI45lKqhITE9uhJ/ZZsGABFi5ciIaGBov1Ghsb8fbbb+Pvf/+7i3pmn0uXLmHdunVW6y1ZskTzlOalS5eaXNeqNcm9//77TSaghnQJaWZmpkPt2Jqwq1y76+5MjSZq1Ta5tPRv0sfHR8nIpeE6Zq4NJaLOgIkoEXm83Nxco2ta15G5QkJCAmbNmoWYmBgsXLjQ6IG4paUFb7/9NmJjY3HvvfciPj6+nXpqWVlZmU1r6GpqarBt2zZNbZlL5EpLS5Xtnuss58+ft2nH3ePHjxtNP/Zkzjizd+LEiUabXpmSnp6uZG2tM0Z1iYjaGz/JiMjjmVoj6g7TclNTU9GnTx8cP34cs2bNwo4dO/TK9+zZg3vvvRdHjx5FcHCw8t1CVdElh15eXia/FMjPzzeq64iGhgaUlZWZLLt06RI2bNjgcGxXKC0ttXlEWOXuuWTM19fX5JR+Q6rWmRsm00xEiagz4CcZEZEJ7vCg5+3trZekWZKXlwdfX18n98h+jY2NWL58Oe666y7s3bsXb7zxhl65EAIlJSXYvHkz8vPzNSVYls7fBDp+8qbrX25ursmR0XfeeQd33HEHhBAd/mfpDGxJMrnhGRGReR3/SYuIiMyy9UG3ox71cPXqVaxfvx7vv/8+hg4darZeSkoKSkpKsHDhQjQ2NjrUlrVNfDryJj8NDQ3w8vLCxo0bsXTpUowbN86oTkxMDD7++GPs3r0bgwcPxvnz59uhp54jNzfX4lrNYcOGYciQIS7sERGRe2EiSkTkxrKzs62OdHp7e9s0jbA99O7d22ICamjs2LEOjexaO38TAKqqqlBdXW13bFfw9fXFJ598YjIBNRQfH48PP/wQvXv3dkHPPFevXr0sTnfvqF/+EBF1FExEiYjcWPfu3TFlyhSLdSZOnGj2rFRPsW/fPhw+fNhqvY46pdWRDXecsUmPO7B3x2AtOwxbmpHAablERJYxESUicoKjR4/i2LFjNtWVUqK8vNzhtqw98PKB2PYEs6MmomS7mTNnorS01GqCeeTIEfz85z/H119/7XBb5u6tnj17Yvz48Q7HJSLyBExEiYicICgoCEOHDsWsWbPMJqRSSpSUlCAlJQXz5s1zuC1rUwCZiNq+/rOiogKXL192cm/I0MGDB5XF6tevHwoKCpCammoyIdUloLGxsViyZImmM4NjY2MxYMAAo+v5+fnw8fFxOC4RkSdgIkpE5AR9+vTBmDFjsHDhQsTExGD58uVGdVJSUlBYWIitW7dqWk8WFRVl9ozQ2NhYxMbGOhy7M7hw4QI2bNgAPz8//OIXv0B2drZeee/evfHKK68gJCQETU1NWLZsWTv1tGOrr693SlwpJebMmaMsnu6Lly1btqCgoADHjx/XK585cybeeustNDU1obCwUNMO2UIIjB071mwfiIjIPCaiREROonsYbWxsxKFDh4zKt27dCuDmw6ytx7BYa8sQN0wBVq9ejQceeACHDh3Ca6+9hh49euiVe3t7Y86cOTh8+DBeeeWV1vfF0zU3N+u9tnT0jRa7du3C0qVLbVrDa4u0tDT06tXLproqEkZTiWhOTo7muEREnR0TUSIiJ7H1IXfcuHHo16+fU9riyAxw++2347XXXkNoaKjFeoGBgZgzZw7+9Kc/uahnHVtVVZXe66tXrzqlHd26XFXrc318fGz6YicgIACZmZma24uLizO6FhwcrDkuEVFnx0SUiMhJ4uLiEBUVZbWeimQxNTUVgYGBetf8/f0tHi/hKSyd9aiifmf11Vdf6b2+ceMGzp07p7wd1YkoYNs9NW3aNHTp0kVzW1wLSkTkGCaiREROIoSwaWqsiumz3t7eRklveHi4Q2duEgHA5s2bja6VlpYqbaOmpqY14V27dq2yUdecnByrCSJnCxARtS8mokRETmTtYTciIgIjRoxQ0lZ0dLTea1tGY4lMOXToEE6cOGF0XfXxNiUlJa2/V7lRVI8ePTBp0iSLdbh+moiofTERJSJyosmTJ6Nbt25my4uKiiCEUNJW5rB1IgAAIABJREFURESE3uvw8HAlccnzmEs4ly1bhoaGBqe146rpuaNGjbK6ZpiIiJyLiSgRkRP5+flZ3EFT5fRAf39/vdcBAQHKYpNnMZcQfvvtt1i7dq2SNurq6oyONSotLTXarddRlu4tjoYSEbU/zYmoEMJbCLFDCGHbaeFERB7G3ANxUFAQJk+e7OLeEFl25coVlJeXmy1XNWr55Zdfora2Vu/ahQsXsHHjRiXxo6OjMXz4cJNlXB9KRNT+VIyIzgGwT0EcIqJOKS8vz+T02+zsbKNRTKL2tmzZMjQ1NZktLy4uhpRScztLlpj+/trcdUeYSjhDQkIwZswYZW04w9q1a7Fvn22PVjU1Nfjss8+c3CMiIvU0JaJCiFAABQDeUtMdIqLOp2/fvkbrNwH3HJWpra3FU089haysLOzYsaO9u0NOYG3E8+jRo9izZ4+mNqSUre3ojsvR7XKrcp2oqSm4hYWF8PLq2CuTfH19ER8fjx/96EdmE9Kamhr86le/QlRUFL755hsX95CISDutn8SvAHgcQIuCvhARuURzczN2795tc/0TJ07g/Pnzmto0deh9fn6+ppjt4fe//z2ee+45rFy5EsnJyUpGxqjjaGpqsumIFq2jlrt370ZSUhK2bNmCxMREAMC4ceOwfv16hIaG4vDhw5ri66SlpaFXr15619zhC6DU1FT07t0bH330EeLj43Hs2DG98vr6ekRFReHFF1/EjRs33OJnIiIy5HAiKoQoBHBWSrnNSr37hBBbhRBbnXEQNhGRvby9vXH33Xfje9/7Hnbt2mWyztmzZ3HixAn84he/QFJSEoKCgjS1GRwcbHStX79+mmIaMjz3UXc+o0ptN5JpaWlRnogOGjQIAwYMaH2dmpqqND4ApKSk6L1OSEhQ3obhkTxjx45V3oah/v37a46xceNGXLx40Wo9raOWw4cPR3FxMZKTk/HFF1+guroaH3/8McaPH49ly5YhLCxMU3wdHx8fvfNEhRDo3r27ktg6p0+fVhoPuPkZVVBQAODm6PGNGzf0yltaWlqvxcfH86gmInJLWkZEJwCYLoQ4CuBjANOEEP8yrCSlXCilTJZSJvft21dDc0RE6hQUFODTTz9FUlISvvvd7xqV//e//0V0dDT+/ve/Iz09XfMOtKoffoGbUyTbJoKGD6ttX0spcfToUc1tzpw5E+PGjUP37t3xl7/8RfkUx6qqKr0H+61bt+Ly5ctK2wgMDNR77YzdhQ1jGrbpDL6+vppj2Jpgbty4EVq+XG7b17CwMERHR2PQoEEmy7Vqafn/k7aklMqOS9JpbGxUGk/H1lFOjoYSkbty+AlCSvmElDJUShkJ4E4Aq6WUdynrGRGRE7V9ePvvf/9rVL5z587W8xJVPOipfvgFgLKyMiQnJ1vcPEZKidLSUqSmpmLx4sWa20xKSsKGDRtw7Ngx/PrXv9Ycz5BhItTU1ISysjLl7ZBpur//Xr16YcaMGXplISEhrdPJdf+u3IHqLwGOHz+OV1991eiLH1POnj2LP/zhDw4dSZOdnW1TQs6jaIjIXXXs1fpERE4yevRoDBw40Ka6uilyHU1hYSG2b9+O6dOnIzk5GWfPntUrP3/+PFJTU1FQUIAtW7YoGzkRQpicaqyCqRE5lZvXkHnV1dU4e/Ys5s6di6NHj+Kee+7RK+/duzdKSkqwefNm5Ofnu837onrUPiwsDH/7298wePBgvPrqq61fWLV19uxZPP7444iKisLOnTtbN2SyR7du3TBlyhSLdfr06YNx48bZHZuIqCPwsV7FOinlGgBrVMQiInIFIQQKCgrw5ptvWqyXkpKCkJAQF/XKPqGhoRg5ciR27tyJ7du3G5WfPn26dZqrO6wjq6mpMbmudenSpWhqatJb60fqBQQE4OjRo+jWrZvFeikpKSgpKbH5eJHORgiBwsJC/N///R8eeeQRkyOuUVFRrWekavkCqKioCCtWrDBbnp+f71CSS0TUEXBElIg8li0PiB192putD7kd/ecAgJKSEpNTjC9duoQNGza0Q488S2hoqNUktK3hw4c7sTcdW9v7ydQUXV0SKoTQtDu2tfub60OJyJ0xESUij5WRkWF1o5qO/qDXmTY0sTTV012mgeq03SCHOp9p06bZtPY0JSVF027GkZGRRjsw6/j6+iI7O9vh2ERE7Y2JKBF5rC5duiAzM9NseVhYGJKSklzYI/uNGTPG6tRhd1hHVldXh+XLl5std7dE1PAIlKampnbqied57733WkckLZFSYvXq1Thw4IDdbQQGBiIrK8tqPRVfAJmLMXnyZKfsxk1E5CpMRInIo1l6UCwsLHTKbrcqeXl5WZ126w7ryNasWWMxedi/fz8OHjzowh5pY7hxVHV1dTv1xPMsX74cgwcPxssvv2zy35QuAZ08eTLy8/P1jo2xhy1JpjMTUXeY5UBEZAkTUSLyaJZ2xHWXBz1riag7/By2jHguWbLEBT3RTkpplIju2rWrnXrjeYqKilBTU4PHHnsMgwcPNnov7rnnHmRkZKCiogLTpk1D165dHWrH2m7a4eHhSEhIcCh2WykpKSa/SHKH+5qIyBImokTk0QYNGoTRo0cbXffz88PUqVPboUf2y8zMhL+/v8kyd1hHJqW0KRF1l+m5e/fuNdrAZvfu3WbPeiW1cnNzW3dYrqmpMXovDh8+3Pp7LcncgAEDkJycbLa8qKhIyYwKb29vo2RZCNHhd8EmIrKGiSgReTxTD6PDhw+3upFRR9G1a1dkZGSYLHOHdWS7du3CN998Y7VeRUUFLl++7IIeaWMqYb5w4YLHHnfiasHBwUhPT7eprtbdpC0lsipHLIOCgvRed/Sp9kREtmAiSkQez9QDY2JioqaYN27csGsEzNQREPZw53Vkto50NjU1oayszMm90c7cz6NyRNfU5keXLl1SFt/d2fLvPikpCWFhYU5pp2vXrpg8ebKm2Ibx2vLy4uMbEbk/fpIRkccbNWqU0TVzRybY6tChQ5g8eTJWr15tMSG9fv06/vrXv+LOO+/U1J65kR13SkSnT5+ORYsWGZWvXLkSEydO1KvbUZ0/fx4bN240Waay7+vXrze6tmbNGmXx3Z2rNhIaOXIkevfubXQ9Oztb6YwKwxFQJqJE1Bnwk4yIPJ6ph7oePXpoihkfH49vvvkGGRkZmDRpEg4dOmRU569//SuioqLw+OOPIzU1VVN7oaGh6Nu3r961Xr16dfh1ZDU1NRgwYAC2bduGL774AmPGjNErF0IgIyMD5eXlWLlyJb799lvlR6GoXLtZWlpqNt7GjRtx/vx5Je2YSmpXrlypJHZ7OH78uNJ4Q4YMwdChQy3WUZGICiFMrhN19hdAHX03byIiWzARJSJyAiFE68PounXrTJ6R+fjjj+PcuXMA1Dy4RkdH672OjIzUHNPZ+vXrh88//9zkhlFt6RLSzz//XPP6OMNE1vDMTy0sjXq2tLRg6dKlTmtn7dq1aGhoUBLflaSUeOyxx5THtXRPhYSEWNxoyB4pKSlG16ztqEtERExEiYicxtbkMiIiQvNUYMA4Ee3oo6GA/SM7QgjNo0GGZ3oaHu/hqIaGBixbtsxiHRXTcw8cOIADBw4YXf/222+xbt06zfFdbd++ffj000+Vj4pauv8KCgqUTW81dURLv379lMQmIurMmIgSETnJ5MmTjXa7NEXVMQ/9+/e3+Jpu2r17t97rmpoaJXHXrl2La9euWaxTVlamedTS0nmqHX0NrSm6Pqs+J3b8+PHo2bOnyTKtu+W2Ze7oJCIisoyJKBGRk/j5+SEnJ8dqPVUPxYbJLDc0MSalRGVlpd6169ev4+DBg5pj25IEXrt2DeXl5U5rp7i42O3OK9UloKoTUR8fH+Tn5xtd9/f3R1ZWltK2iIjIfnxKISJyImvTc4OCgjBlyhTXdIawd+9eXLhwwei61pFEKaXNiZSWhOvSpUuoqKgwW37o0CFUVVU5HN/VLly4gA0bNgAAVq9ejevXryuNb+r+mzZtmtFxKERE5HpMRImInCg/P9/itNvs7GxO7XMhZ53xuXfvXhw5cgQAEBAQAF9fX73y4OBgvbYcHbUsKytDc3OzxTruND23tLQULS0tAID6+nqsWLFCafycnBz4+PjoXXOHI42IiDwBE1EiIifq27cv0tLSzJZreShesmQJ9u/fb1PdgwcPYvHixQ631VmYS9IqKipw6dIlTXEDAgLw6KOP4siRI3qJJwDk5uZi8+bNyM/Px+HDh7Fv3z6H2rFlNFX1FFdnMnw/VCfRwcHBSE9P17umcn0oERE5jokoEZGTmUs2hRAm17DZqqWlBXFxcbjrrrvMJqQHDx7ET3/6UwwbNkzZ0R5SSqVHnrjK+fPnsXHjRpNlzc3NVne8tSQ8PBxHjhzBSy+9hJCQEJN1UlJSUFJSgs2bNzv099fU1GTT8S/r1683Of24o2loaEBZWZnetZKSktYRUlXa3n9JSUkICwtTGp+IiBzDRJSIyMnMjcCkpqZqOuYhMzMTfn5++OCDDxAXF4cPPvhAr3zRokUYNmwY/vnPf8Lb2xvZ2dkOt6Wzfft2pKSkICIiAnPnztUcz5VKS0stTonVMhr3ox/9yGwCaiglJQUTJ060u43169fbNGqr8rxSZ6qoqMC1a9cQGBgIAAgMDERNTQ22bt2qtJ22iaiKabm1tbV2Jcs3btywOp3akOFZt6rrExF1BExEiYhMUPlgFx8fb/IYCa0PxV26dEFGRgaAm8nHmTNn9MprampaH5inTJmC7t27a2oPAP75z39i69at+Pbbb/Hkk08qH73y9fVFbGys3i9VrCWaS5cuVfa+G6771SVbWuj67+3tjZ/97GdG5TNmzEBAQIBeXS26du2KPn36tL4ODQ3VHLOts2fPYsWKFfjtb3+L2NhY/PGPf0RJSQlOnDihtB0hBAYPHgwASExMRG1traZ4169fx6hRo7Bo0SK0tLSgsbHRZL0bN27glVdeQXZ2tt07WH/44YeYPXs2jh07BgBGiazuC5UrV67gD3/4A37/+9878JMQEbUzKaXLfo0ZM0YSEXVEAPR+PfPMM0rjJyQkGLWxa9cuzXHnz59vFNfUr3nz5in4KaT85S9/2RrT29tbtrS0KInrbPX19bJbt25W/57WrFmjpL28vDy9uG+88YbmmHFxcXLmzJmyurpaSmn8b/bo0aPy1KlT8pFHHpH9+/eX9fX1mtscN25ca/zPPvtMc7z2EBERofw9TktLkwBkfHy8vOuuu4zei5dfflmGhIRIAHLOnDl2xz916pQEIH19feWsWbNkz5499eJ7eXnJZ599VgYHB0sAsri4WPPPRESkCoCt0obckCOiRORxmpub8cQTT+DkyZNW6169ehXPP/+85lGaiIgIo2sjRozQFBOwfeMVVRu0PPfcc/jDH/6A3NxcbN++3eKOwB3J2rVrce3aNav1OuqOsw0NDVi8eDH+8Y9/IDo62my9AQMG4OWXX8aOHTs0j/ydPXsWmzdvbn3dUf9uDNk7Su/IqL5uNsOePXvwr3/9y6j80UcfbZ2h4MjMhwEDBiA5ORmNjY1YsGCB0ZTslpYWPP3007h8+TICAwNbZ0YQEbkTJqJE5HG8vb2xf/9+DB48GA899JDJhPTGjRt4/vnnERkZibfffhuDBg3S1ObAgQONrqlI4kJDQzFq1CiLdeLj4xEVFaW5LeDmFNPf//73WLp0KRITE5XENEU6eLyJOa4449OZ/Pz8LCaghgYMGGC0c6+9SkpK9N4HZ2wk5Aw//vGP8e9//9tqX/fu3Ysf/vCH2L17t91t2Jpcdu/e3WjXXtVtZGZmKpn6TUTkakxEicgjFRUVoaGhAa+//nrr+rG2XnrpJfzud7/DpUuXUFRUpDlp9Pb21vTnLbH2wOqO5yauW7dO2VpBKaXeaF7//v31yoODg1vP/dy/fz8OHjyopF13ZzgC6oyNhJwhKioKd9xxBxISEkwmpLoEdMSIEVi3bp1DX6jEx8cjMjLSar3c3Fz4+fnZHR+w/b51x/ubiAhgIkpEHio/P781uTR1rEnbDUg6+oNeZ0xEFy9erGx0cu/evThy5AgyMzNRUVFhtLHLhAkTUF1djdmzZ8PX19dtpqA6U11dHZYvX2503R3+bnT/3vfu3Ys77rgD33zzjV75Aw88gI8//hhSShQWFjr0JZMQwqb7Ssu9N3LkSJs2iCooKHC4DSKi9sRElIg8Uv/+/ZGSkmK1Xrdu3TBp0iQX9Mhxo0ePNnt0SJ8+fZCamuriHmlXXFysLOk5d+4cKioqsGLFCrPHpoSHh2P+/Pmorq5G3759lbTrztasWYPr168bXXeHRDQlJcXm91DL2mlrf9bLywt5eXkOxxdCWG1jzJgxJqf9ExG5AyaiROSxbBmtyMnJcXhqnat4eXmZfWAtKChw6rRgZzh48CD279+PVatWmUyG7DVlyhSbz+0MDw/HT37yE81tujtzo9Fff/01jh8/7uLe2Mfb2xv5+flW6wUGBmLatGkOtzN58mQEBQWZLR8/fjx69+7tcHzAerLrjrMdiIh0mIgSkcdy9tQ6VzLXT1W75bqSLgmqr6/HqlWr2rk3nsdwTa2hjrqhU1u23LdZWVmaNvnx9/dHTk6Opj5YM23aNIt9dJfPJyIiU5iIEpHHSkhIQHh4uNlyLy8vm0ZWTLF311etu8RmZmbCx8dH75qXlxeys7M1xW0PbZMgd5gK2tns3r3b4qinOySi2dnZVmcyqEjiLMVQET8wMBBZWVkmywYOHGh1x2wioo6MiSgReSxrG46kpaWhT58+DsXesWMH7r77bhw6dMhivZaWFnz22Wf42c9+5lA7Ol26dEFYWJjetUGDBqF79+6a4rra5cuXUVFR0fp6yZIlbnFkSGdiLflfvXq1kinTztStWzdMmTLFYh0Vm/y03fSsrejoaAwbNkxzfMDybAd3OceXiMgUJqJE5NEsTV3VuuNlaWkphg4dirvvvhvnz583qvPZZ59h9OjRuP32223aHdMaw3MmbTleoqMpKytDU1NT6+szZ85g27Zt7dgjz2MtEa2vr8eKFStc1BvHWbp/k5OTMWDAAM1t9O3bF7GxsSbbVpUkmkuYOS2XiNwdE1Ei8mhTpkxB165dTZZpedDz8vJCQUEBmpub8c4772DRokVGdW6//XZ8/fXXmtvSMTwPNSoqSnNMVzOVBLnDVNDOoqamBl999ZXVeu4wZdpZXzIZMrX7tsr4AwYMQEBAgNH1jIwMZW0QEbUHJqJE5NECAgJMrqPs06cPhg8frim2rQ+j/fr1s+koGWu6deum99rdpuU2NTVh6dKlRtfdIenpLEpLS21ar1xSUtLhp0xHRkZixIgRJstUJopjx441upaenq4sPgCj3Xm9vLw0bbRERNQRMBElIo9n6qE0ISFB89S6rKws+Pv7W61XUFAALy/7P47Lyspw5MgRm+oeO3YMpaWldrfhShs2bMClS5eMru/YsQMnTpxohx55nrZJv+G//7ava2pqsHXrVpf1y1Gm7u1BgwZh5MiRytowteGZr6+vsviAcSLqbkcyERGZwkSUiDyeqZ1xExMTNcft2rWrTecUOjo6c+PGDcTGxuLnP/+52YT02LFjmD17NmJiYnDt2jWH2nEVdz8yxN3V1dVh+fLl6NGjB5555hm8//77euVxcXGoqKhAZmYmAPcYqTZ1b6ne5McVGwYZfqHFRJSIOgMmokTk8fr37290LSYmRklsa+d4+vn5mT2ewZqsrCx4eXnhrbfeQmxsLD755BO98s8++wwxMTFYsGABpJTIzc11qB1XYSLavnbu3Ilf//rXOHr0KJ5++mkEBwcb1Zk4cSJWrFiBiooK3Lhxox16aZ+UlBT07dtX75o7bvJjaXSaiMhdMRElIjLB8ExOR1lLRKdOnWo07c5WQUFBrSOuTU1NRtNXT548icbGRgDApEmT0KNHD4facYWDBw9i//79ZstXrVqF2tpaF/bI84wbN85sAmpo4sSJ+Nvf/uaCXmnj7e2tt+tsYGCgTbMULDl+/DjmzJmDU6dOWa27e/duzJo1C83NzZraJCLqjJiIEhE5UXh4OJKSksyWax2dsfXPd/RRIGvTPOvq6rBy5UoX9YZcrby83Gmx234ZlJWVpXmTn/DwcCxduhTR0dF45JFHTB7NtHv3bnz/+99HYmIirl+/zqm0REQmMBElInIyS0mgtRFTa8ydMWhPHzoCW9YbusOaRLJfU1MTHnzwQZt263VEdnY2/Pz8AKi7D4qKilBXV4dXX30V9957r1F5YmIi/vOf/yhtk4ios2EiSkTkZOYeRBMTExEREaEpdkREhNWNlYYPH47o6GhN7TjT5cuXUVFRYbXekiVLOvyRIWS/9evXo7KyEjt27HBK/G7dumHKlCkAbP/ixpq297SlBNrHxwc5OTl2x6+qqrJ5DW5LS0vrecRERO6EiSgRkZMlJycbnfEJaB8N1bE24qKqHWcpKyuzaQ3dmTNnsH37dhf0iFxJN9LtzBHvoqIiJCcnY8CAAUriTZgwwaY11+np6TatuTV0+PBhREdHY968eWYT0paWFvznP/9BUlISPv/8c7vbICJqbw4nokKIMCHEl0KIfUKIPUKIOSo7RkTkLM3NzSbPqzSnvr5e09EnXl5eGD58uNF1ldMEtZS3N10CIoQwuYNwdna2UV3qPHQ7Ijs7EVV5H/j6+iIvL8+mdh0xdepUXL58GXPmzEF0dDTOnj2rV97Y2IikpCR8//vfR2VlZYe/x4mITNEyItoE4JdSyuEAxgF4UAgRp6ZbRETO4+3tjZycHDz11FMWE9L6+nq88cYbGD58uOYpoXFxxh+PKSkpmmLqjB07Fv369TNZ1qtXL6SlpSlpR+fYsWPKRmCampqwbNky3HnnnaisrMSCBQv0yoUQWLZsGdavX4/s7Gwmop1M292St23bZtNOtI6IiIjA/fffrzSmLcmfowliYGBg65cyp0+fxsWLF/XKm5qaUFlZCQAYNGgQRo0a5VA7RETtyeFEVEp5Wkq5/dbvrwHYB2CQqo4RETlTeno6nnvuOURGRuKpp54yKl+xYgWGDBmCBx98EFFRUZqPPomNjdV7LYSAl5ea1RFeXl5m177l5+crO4oGAD744AMMGzYMM2bMQHp6uuZ4ly9fRnl5OT766COTybrO+PHjsWzZMrzxxhutR9KQ+ysuLkZAQAAAICAgwKnnxRqeJ6pVbm6uxd1whw0bhiFDhjgc39YktrCwkOeKEpFbUvJ0IoSIBDAKwGYV8YiInK2oqAgvvfQSrl69iueee86o/NNPP9Wrq5WtG484qqioCO+8847J6ypt2bIFdXV1AIB169ahpaVFU0Ldp08f9OnTp/V19+7d8eijj7a+NnzAHjdunMNt6SQlJem1YSkBdtSMGTMwbNgwHD58GIMHD7a6oZQj2v4MAEyuQ9YiKipKr42QkBCl8YGbswI2bdqE9957D/feey8uX76sJG5VVRWGDBkCHx8f7NixA19++SUAoF+/frjrrrsAAHv27EFcXJzDSVyvXr0wYcIEs0fPaL33OsuO2EREZkkpNf0CEARgG4DbzZTfB2ArgK3h4eGSiKgjaGhokMHBwRKA1V/V1dV2x9+5c6d88cUX5fXr16WUUt5///1GcXX27dsnf/e732n6ea5duya9vb314nt5ecnLly9rimvo9ddfl0IICUDGxMTIlpYWpfE7kxMnTsgxY8Y4vR2+B8beeecdOWTIEPnee+/Jl156qfWeGD16tNyxY4e87bbb5LRp0zS389e//tXs50Z5ebnm+GPHjrX42RQYGChra2s1t0NEpBKArdKGPFLTvDAhhC+ATwF8IKX8r5lEd6GUMllKmax6WgwRkaNs3WzE0aNPhg8fjmeffRZRUVF46aWX0NDQYFSnqqoKP/7xjxEXF4crV67Y3UZbQUFBCAsL07s2cOBAzVOKDT344IP46quvMG/ePFRWVnJKoAVLlizBtm3bcPLkSae1cfLkSWzZssVp8d1Vfn4+Dh06hJ/+9Kf43//939bru3fvxqhRo/D5558rOcrF3Ghkz549lazNtrbjdWZmJgIDAzW3Q0TUHrTsmisAvA1gn5TyJXVdIiJyDVuONXF02pufnx9ycnJw9uxZ/PKXv8S7775rVCcuLg4ffvghpJRKptcZJsyRkZGaY5qSnJyMhx56CH5+fk6J31noNlZy5rrHJUuWYPHixU6L76769euH1NRUAND7Eqjt+mIV99zQoUMxcOBAo+uq1ma7+47YRESWaBkRnQDgJwCmCSF23vqVr6hfREROl5eXZ3GzEUDbg17bP2vqnMybs1duru2bPHmy3fH/85//4Kuvvmp9PXjwYL3yqKio1t9v27YNn3zyid1tdGb79u1zWuza2lqsWrUKgHMT0eLiYu4kbIale3fo0KGIiYlR0s7YsWPtatseI0eORGhoqNlyFaO6RETtRcuuueuklEJKmSilHHnrV6nKzhEROVPPnj0xceJEs+W9evXStDlOXl6eTRv55OTkODS62LVrV6SmpqKgoABfffUVunfvrlfeo0cPbNu2DdOnT0dycnLr7qR0029+8xtcv37dKbFXrVrVuqnTypUrUVtbq7wNXbK7a9cuHD9+XHl8d2cpGdSSKJ45c6b16BTg5gwBQ7m5uQBuftn05ZdfmvwiyhZCCLMzN8aMGWNyNJaIyF2oOTuAiMhNWXog1Tq9rk+fPjatE7NlirApU6dORdeuXVFaWorU1FT84x//0Cv/17/+heTkZBQXF8Pf3x+ZmZkOtdMZXb16FWVlZVi5cqVT4rcdpayrq2sdHVWpbbLrzFFXdzVixAhERESYLHP0ngNufoE1YcIE3HHHHaisrDS563L37t2xcuVKpKen46mnnrI688ISc59RnJZLRO6OiSgReTRnjZrYGkMIgfxxDSbkAAAa/klEQVR8x1Y1BAQEtB56DwCXLl3SK297FEZGRga6du3qUDud0fLly9HY2OiUBK6lpcUorjOmz7aNyem5xoQQJu8/XSLpKH9/f2RlZeHf//43EhMT8cILLxjVSU9PR1ZWFtavX6/5c2TatGkmNwVjIkpE7o6JKBF5tNjYWJNrxby8vJCTk6M5vrWHxbS0NGjZUdzWh1E+tOpru5FQS0uL0tjbt2/H6dOn9a4tWbKkdU2wCobJ7urVq/Htt98qi99ZmBr5zMvL07yRkO5+klJi69atRuXr1683quuogIAAk18ijRo1SlNcIqL2xkSUiDyeqQfF2NhYJUefDB8+3GgTIWtt28PW0VQtUxE7m+bmZpSW3tzS4MyZM9i2bZvS+KZGJ0+fPo3t27cra8Mw2W1oaMCKFSuUxW+rvr7eKXFdYcqUKQgKCtK7puJLmby8PJuOLoqOjsawYcM0t2f4M3h7e/PoJCJye0xEicjjmXowTUhIUBLb3PRAS23bIyQkBCkpKRbrjBo1yuLOm55m06ZNOH/+fOtr1dNazcVT2Y6pKcXOWic6f/58p23q5Gz+/v7Izs5ufe3t7d26kZAW/fr1s2kjs8LCQocSxoMHD+odO2MqEdWRUmLv3r12t0FE1N6YiBKRxzO1XiwxMVFZfHOjkZGRkSY3OrGXtWSWo6H6DBNClQniyZMnsWPHDpva1cJUrJKSEuXTjAFg0aJFTtlsyVXa3h/p6ekIDg5WHldLHVOqqqoQExODBQsWoKGhwWgqsZeXF6SUKC4uRnJyMo9mIiK3xESUiDxOc3Oz3vmbvr6+RnXartusrq7G2bNn7WqjsbGx9feTJk0yeXRKUVFR62hJ2/r24qH39jEcOdy5cydOnDjhlNhtbd++HSdPntTcxsmTJ01O862pqcGWLVs0x2/r3Llz2Lhxo1tvhpSfn996n6m8F6zF6t69O9LT0x2KnZGRgbNnz2L27NmIiYnBuXPn9Mqbm5uRnJyM6dOnY/v27bzHicgtMRElIo/j7e2NX/ziF8jLy8OmTZvM1quursbMmTMxduxYu9eL7t27F/n5+di8eTP8/PwwdOhQozpFRUWor6/H/Pnz8cMf/tDun0MnMTERYWFhJstCQkIwZswYh2O3l8bGRqWb++gcOXIEe/bsMbqualqrtYStpKREcxuW+qo6YSwtLYWU0imbOrlK22m0KhO2+Ph4REZGmi3Pzc116HxgAOjSpUvrcUvHjx/HhQsX9MobGxtbv4wYMGAARo8e7VA7RETtiYkoEXmkoqIilJWVIS0tDXl5eUblb775JoYNG4Z3330X06ZNg7+/v13xExMTUVlZiXHjxiEvLw89e/Y0qlNVVYUhQ4bggQceQFJSksM/i6VD7wsLC+Hl5X4f9cuWLUNVVZXyuM5cv1lbW2t1CquKdizFcNZ61zNnzijdbMnVCgsLMXToUJM7ZDvK0n0HaE96bf3z7nqPExHxk4uIPFLbh7yysjKj8m3btqG5udmorq3aPqSWlZVhzZo1RnUefvjh1imhWtdxdrZD74uLi52y+Y65RG3VqlWaN+RZuXIl6urqrNapra11uA1rye6uXbtw/Phxh+O3VV9fj2XLlrW+dufpuUVFRcrWSl+9erV1J2Fz95eXl1frF1wXLlxo/Syxh6395RpwInJXTESJyCMlJSWZnc7alhDC5iNSDNmaBIaGhmLkyJEOtaEzdepUo7MG/f39kZGRoSlue9BNBVWd+Fy9ehVr1641WVZfX695Qx5b+ltXV6epnVWrVllNdlUl8OXl5Xpnk7pzIjpixAjMmjVLSazm5mYMGzYMb7zxBsaNG4cuXboY1Rk/fjwA4Mknn0RBQYHeLre2GjhwoNVp9QEBAa1TeImI3A0TUSLySNam1emMGzcO/fr1c6gNU8mhKY4e8dBWQEAAsrKy9K5lZGTY1H5Hs2PHDpw6dQrr1683WhunxfLlyy1uCqUl0WppabF5/aeWRNGWPqpKGA3j7NixQ9mmTq4mhFA2Lbdnz56IjIzEgw8+iPj4eAwaNMiojq+vLyIjIzF37lxMnjzZ4basfUZlZGSYTISJiNwBE1Ei8li2JKJapraaSg5Vt9GW4c/jztNygZvJ3dKlS5XHNUfLhjzbt2/H6dOnAdzcIMowOUlISGjdnXnJkiUObcTU0tJiUxK7evVqvZFMR+iOBjHkrLNK3Y3uXjtx4gQOHjxoVP7ll1+2vgda7kPuiE1EnRkTUSLyWNOmTbM6muCstZs6Xbp0wbRp0zS1oVNQUKD32l3XjrVNgFQlPs3NzSgtLbVY58yZM9i2bZtD8YuLixESEoKXX34Zhw8fNjqH9v7770d1dTVmz56Nc+fOObTxT9tk15KGhgasWLHC7vht7dmzB0ePHjW6zkT0JlsTwF69erXu2OuI0aNHY+DAgWbL3fUeJyICmIgSkQezNmIZERGBESNGOBRbN+JlbX1pZmYmAgIClBxVEhISgpSUFADAqFGjEBoaqjmmq506dUovGSwrK9N0xqrOpk2bcP78eav1HJ3WOn78eBw+fBiPPPIIAgMDTdYJDw/H/PnzUV1d7VAbbZNA3RrEttLS0kzWdYSlTZ20bLbUWcTGxiI2NtZqvfz8fPj4+Ngd/+DBg2hoaLC4hGDUqFEYNGgQpJTYu3ev3W0QEbU3JqJE5NEsjWwUFRU5vHZzx44dmDVrFurr61uTQ1MKCwtRUlKCe+65x6F2DOl+HnedsmeYQF25cgUVFRXK42qtZygnJ8dsAmooPDzcobNdi4uLMX78eKxYsQLr1q0zKv/oo4+wefNm5Ofno6SkRNO5n+YS0bq6OqxcudLhuJ2JLfeYo/dhVVUVYmJisGDBAuTm5pqsU1hYiOLiYiQnJ+OTTz5xqB0iovbERJSIPE5zczN++9vf4uTJkxZHLIuKinD16lXMnTvX7k1aRo4cic8//xwxMTEWE4LXX38dhYWFCAkJsSu+OboHX3edsmcqEVR99qbhmbBtX3fUDXkaGhrwl7/8BevWrUNmZqbZL0hSUlJQUlKCxYsX49KlSw61de7cOWzatMlsuTvvnquStSTTx8cHOTk5DsXOyMjA2bNnMXv2bDz88MMm3+9///vfmD59OrZv3+62XzwRkWdjIkpEHsfb2xtVVVWIjo7GCy+8gKSkJKM6AQEB2LRpE6KiovDWW2+Z3BnTEi8vLxQUFKCxsRFbt241W2/Xrl0A1I1gJiYmIiUlxaERN1tIKfHOO+/g5z//OU6dOqU09o0bN0yOthUXF2uaunzkyBHs2bMHsbGxeP/99/HnP/9ZrzwzMxMbNmxoTRo64jpIPz8/ZGRk2DxCn5KSgt69ezvUVmlpKaSU8Pf319t1uU+fPgCgebTV0Lp16/CjH/0IW7ZsURbTFcaPH4/g4GCz5ZMnT0aPHj0cit2lS5fWY1lOnDhh8t///v37AQADBgzA6NGjHWqHiKg9MRElIo9UVFSE+vp6vPbaa6isrDQqb2howNNPP42LFy86PEXX1uSyb9++Fqfv2kMIgTfeeANeXs75eH/qqadw991346233kJsbKySta06q1atwtixY/USxQULFqBr166tD92O2LdvH95//33s2bMHd911l8k1e2lpaSgrK8OGDRusntPZ2a1cuRIPP/wwDh8+jLi4uNbr8+fPR3FxMQYOHOjQZkumrFq1Cunp6fjoo4+QmppqcSS2o/H19UVeXp7Zcq1fLtn65wsLC512vxMROZP9K+iJiDqB/Px8CCEgpURzc7NRedsRH0enuWZlZcHPzw8NDQ1W++LIgfc6VVVVOHDgAIqKivDwww9j3759GDJkCObPn4+lS5ciIiIC8fHxDsdv69q1a62/v379OqSUms9A1Zk4cSIKCgpw9erV1hGeSZMm4d5779V0HInh9Ovp06dj6NChra91I33AzYS07aY/jnr++efx2GOPtb4eNmyY5piGDHfGdfS8W0OvvfZa60jf66+/jqtXrwK4eQRN//79W98jFdq+r1JKXL9+XUlcncrKShw/fhxbtmxBRUUFXnvtNezevRs/+MEPNMX94IMPMHnyZBQVFeGjjz4yWaewsBA7d+7E2bNnkZ2dbXcbtn7uuOs0fCIiSCld9mvMmDGSiKijSE1NlQAs/urWrZusr6+3O/axY8fkqVOnZE5OjtU2Fi1aJDdv3uzwz1FbWysDAwPlqFGj5KBBgyQAGRISIseOHSv9/PzktWvXHI5taNWqVTIiIkJ6e3vL+++/X1lc8kzHjh2T6enpEoDMzMyUp0+fVhr/6tWr0s/PT3p7e0sA0tvbWy5cuFBz3L/97W/Sz89P3nPPPa2x2/6KioqSt912mwQgKyoq7I6/fft2efHiRTlmzBiLnx0BAQHy4sWLDrVBROQsALZKG3JDzuUgIo/T3NyM6upqm6a+5eTk4MqVK7hw4YJdbfj7+2PIkCFWR0N9fX3x8ssv44UXXrArfluBgYHIzMzEjh07cPLkSQA3z8TcsmULpk6diqCgIIdjG5o2bRqqqqqwd+9evPHGG8rikmcKDw9HeXk5du3ahRUrVijbtEunW7dumDJlSuush+bmZqPzdh1RVFSEhoYGvP322ybXyx45cgSff/45evfu7dAI+4ULFxAZGam3RteUIUOGICkpScnO0kRErsZElIg8jre3N+68805s3rzZat3a2lrExcXZfDSHTv/+/ZGQkIAvv/zSYr3GxkZs2LBB8/Q6c3/eGbtpBgQE2HSGIpGtEhISnBa77b0xZswYDBw4UHPMtueISgvrpB2ddj9p0iRIKVFeXm6xXmVlJb755hvumktEbomJKBF5pLy8PJuOoSgtLcW4cePQpUsXu9uw5+FQ6yiNuUSU68fI07W9D1UmbLbcW47ef7t378aUKVNsqhsREYHz58871A4RUXtiIkpEHqe5uRk7d+60uf61a9ccOlvS1ofelJQUzVMSBw4caHRkS0JCAiIiIjTFJXJ3kZGRGDFiBAC1iagzzxG9fPkyli1bZlPdc+fO2TS7g4ioo2EiSkQex9vb2651kydPnkRoaKjd7SQkJCA8PNxqPVUPx4ZxOF2P6KaioiIMHDgQo0aNUhZzwoQJTjtHND09HX5+fjbVra2t5b1ORG6JiSgReaTp06fbXPf22293qA0hhFOn7xliIkpkWmFhIQoLC5UdNQQ49xxRPz8/o2OHzImKisLw4cMdbouIqL0wESUij5Sbm2vzIfBaHiit/dmwsDAkJSU5HL+tUaNGtW7E0q9fP6SkpCiJS+TuUlNTMXPmTOVxLd3fWr9gsvVzZ/r06UoTbCIiV2EiSkQeqWfPnhg/frzVej169HDo+AWdKVOmWDyCQeUoTdsR2IKCApsTbaLOztvbG+PGjVMeNzc31+SuuMOHD0d0dLSm2Hl5eTZ9NnBDMiJyV3xKISKPddttt1mtU1RU5NDxCzoBAQHIzs62GF8lXTxOyyVyvp49e2LixIlG11Xcf71798aECRMs1gkKCsKkSZM0t0VE1B6YiBKRx7LlYVHFA6W5GF26dMHUqVM1x28rIyMDPXv2RFZWltK4RGSaqfvbWRuQGcrLy7N5UyMioo6GiSgReazY2FhERUWZLffy8nL4+IW28vPzTU6xy8rKQkBAgOb4bQUGBuL555+3a1dgInKcYbLYu3dvTdP5LcW2t5yIqCNjIkpEHs3SjriTJk1y+PiFtvr3729y4yBnPUTed999TolLRMZiY2MRGxvb+jo/P1/TdP62hg0bhsGDB5ssE0JY3LWXiKijYyJKRB7NUjJoyxpSLe0UFBQoi9+WqodgIrJN2w2DVG4eJIQwe9RUWloa+vTpo6wtIiJXYyJKRB5t/PjxZqexqhyxNIyVkpKCkJAQZfGJqP3o7m8fHx8l0/lNxTZkz1nIREQdERNRIvJovr6+JkcwYmJizE6Jc0RCQgLCwsJaX/PIBaLOY8KECQgODsbkyZOVTOdvKz093eSXZVwfSkTujokoEXk8UyMLM2bMUNqGEELvwZEPkUSdh6+vL/Ly8pxyX/v6+iI/P1/vWlRUFIYPH668LSIiV2IiSkQeLzc3F15e+h+Hznig1MUMCwtDUlKS8vhE1H6KioqcNtPB8PNo+vTpJnfiJiJyJ0xEicjj9ezZE+PHj2993aNHD2XHL7Q1ZcoUdO3aFYWFhXyIJOpkZsyYgejoaKfEzsvL0/vM4NR+IuoMmIgSEUF/h9yioiKn7DwbEBCA7OxsTssl6oRUnwncVu/evTFhwgQAQFBQECZNmuS0toiIXEVTIiqEyBVC7BdCVAsh/ldVp4iIXK1tcujM3SjvuOMOTJ061Wnxiahz0n0u5eXlwc/Pr517Q0SkncOJqBDCG8DfAeQBiAPwQyFEnKqOERG5UmxsLKKiouDl5aX8+IW2vvvd7zp15AQAmpubnRrfFW20tLQ4NT7QOf6eAOf/XXWWvydnt+Hs+Lovyzijgog6Cy0joikAqqWUh6WUDQA+BvAdNd0iInKtyspKNDU1ISAgAJs3b3ZKG4sWLcKQIUNw22234fDhw8rj37hxA8888wz69euH3/3ud6itrVXexrFjx/C9730PUVFR+PDDD5XHB4Avv/wSSUlJmDx5Mr7++mvl8ZubmzFv3jyEhITg/vvvx4ULF5S3cf78ecyaNQsDBgzA66+/7pQkZceOHUhPT8eoUaOwZs0a5fEB4IMPPkBkZCR+8IMf4Pjx48rjX79+Hb/97W/Rr18/PPvss6irq1PexuHDh/Gd73wHQ4YMwaeffqo8PgAsW7YMI0aMQGZmJvbs2aM8flNTE5YsWQIvLy+Ul5fj8uXLytsgInI5KaVDvwB8D8BbbV7/BMDrlv7MmDFjJBFRR/Sd73xHApAAZHh4uFPa8PHxaW1j9uzZyuMvX768NT4AWVxcrLyNOXPm6LXR3NysvI2YmJjW+Lm5ucrjHzhwQO9nmDdvnvI2XnnlFb02Dh06pLyNrKys1vhDhw5VHr+xsVHvZ3jssceUt/H555/rtbFy5Urlbdx3332t8f39/ZXHl1LKQYMGtbYxY8YM5fG//vprvb+nN998U3kbRESqANgqbcgntYyImtryURpVEuI+IcRWIcTWc+fOaWiOiIiIiIiIOgVbslVTvwCkAVjW5vUTAJ6w9Gc4IkpEHVV1dbWcPn26HDt2rNywYYNT2li6dKmMi4uT//M//yNPnjypPH5DQ4N88cUXZWhoqPzzn/8s6+vrlbdx5swZOXPmTDls2DC5ZMkS5fGllHLz5s1y3LhxsqCgQO7fv195/JaWFvnOO+/IiIgI+fjjj8urV68qb+PKlSvyV7/6lYyMjJTvvfeebGlpUd5GVVWVzMvLk2lpafKrr75SHl9KKRcvXiyHDh0q77nnHllTU6M8fl1dnXzhhRdkaGiofOmll2RDQ4PyNk6ePCnvuusuGR8fL5ctW6Y8vpRSrlu3To4ZM0bedtttThn9bm5ulgsXLpTh4eHyySeflN9++63yNoiIVIGNI6LiZl37CSF8ABwAkAHgJIAtAH4kpTS7OCI5OVlu3brVofaIiIiIiIioYxNCbJNSJlur5+NoA1LKJiHELwAsA+AN4B+WklAiIiIiIiIiQEMiCgBSylIApYr6QkRERERERB5Ay2ZFRERERERERHZjIkpEREREREQuxUSUiIiIiIiIXIqJKBEREREREbkUE1EiIiIiIiJyKSaiRERERERE5FJMRImIiIiIiMilmIgSERERERGRSzERJSIiIiIiIpdiIkpEREREREQuJaSUrmtMiHMAjrmsQefqA+B8e3eCXIbvt+fge+1Z+H57Dr7XnoXvt+fge93xREgp+1qr5NJEtDMRQmyVUia3dz/INfh+ew6+156F77fn4HvtWfh+ew6+1+6LU3OJiIiIiIjIpZiIEhERERERkUsxEXXcwvbuALkU32/Pwffas/D99hx8rz0L32/PwffaTXGNKBEREREREbkUR0SJiIiIiIjIpZiI2kkI8X0hxB4hRIsQItmg7AkhRLUQYr8QIqe9+kjqCSGeEUKcFELsvPUrv737ROoJIXJv3b/VQoj/be/+kPMIIY4KIXbfup+3tnd/SC0hxD+EEGeFEJVtrvUSQqwQQhy89d+e7dlHUsPMe83/Z3dSQogwIcSXQoh9t57H59y6zvvbDTERtV8lgNsBlLe9KISIA3AngHgAuQDeEEJ4u7575EQvSylH3vpV2t6dIbVu3a9/B5AHIA7AD2/d19R5Tb11P3Pb/87nXdz8f3Fb/wtglZQyBsCqW6/J/b0L4/ca4P+zO6smAL+UUg4HMA7Ag7f+X8372w0xEbWTlHKflHK/iaLvAPhYSlkvpTwCoBpAimt7R0QapACollIellI2APgYN+9rInIzUspyABcNLn8HwHu3fv8egNtc2ilyCjPvNXVSUsrTUsrtt35/DcA+AIPA+9stMRFVZxCAb9q8PnHrGnUevxBC7Lo1DYhTPjof3sOeRQJYLoTYJoS4r707Qy7RX0p5Grj5MAugXzv3h5yL/8/u5IQQkQBGAdgM3t9uiYmoCUKIlUKIShO/LI2OCBPXuCWxG7Hyvs8HEA1gJIDTAF5s186SM/Ae9iwTpJSjcXMq9oNCiEnt3SEiUob/z+7khBBBAD4F8IiU8mp794cc49PeHeiIpJSZDvyxEwDC2rwOBXBKTY/IFWx934UQbwJY4uTukOvxHvYgUspTt/57VgjxGW5OzS63/KfIzdUIIQZIKU8LIQYAONveHSLnkFLW6H7P/2d3PkIIX9xMQj+QUv731mXe326II6LqLAZwpxDCXwgRBSAGwFft3CdS5NaHms4M3Ny0ijqXLQBihBBRQgg/3Nx8bHE794mcQAjRVQjRTfd7ANngPe0JFgP46a3f/xTAF+3YF3Ii/j+78xJCCABvA9gnpXypTRHvbzckpOTMM3sIIWYAeA1AXwCXAeyUUubcKnsSwN24uaPXI1LKpe3WUVJKCPE+bk7xkQCOApilW4tAncetLf5fAeAN4B9SyufbuUvkBEKIwQA+u/XSB8CHfK87FyHERwCmAOgDoAbA0wA+B/BvAOEAjgP4vpSSm9y4OTPv9RTw/9mdkhBiIoAKAP+vfTs2ASCGASDmubPm7xNS5Gc4CEilexcH9jcz+x+vuX+i9vsxQhQAAICU01wAAABSQhQAAICUEAUAACAlRAEAAEgJUQAAAFJCFAAAgJQQBQAAICVEAQAASB1N+7gc0y8LdgAAAABJRU5ErkJggg==\n",  Martin Bauer committed Mar 21, 2019 340 341 342 343  "text/plain": [ "