{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "from numba import jit\n", "from numpy import cos, sin, pi\n", "from random import random\n", "from scipy.optimize import minimize\n", "from scipy.special import binom\n", "import collections\n", "import functools\n", "import itertools\n", "import matplotlib.pyplot as plt\n", "import multiprocessing\n", "import numpy as np\n", "import time" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Starting time: Tue Dec 29 04:07:41 2020\n" ] } ], "source": [ "print(\"Starting time:\", time.ctime())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Performance of 2-step threshold algorithm" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "def make_qfn(T):\n", " def f(x):\n", " \"\"\"This function can handle vectorized operations\"\"\"\n", " return (x < T)*2 - 1\n", " return f\n", "# return lambda x: 1 if x < T else -1\n", "\n", "qfns = [make_qfn(T) for T in range(10000)]" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "# This now inputs an array, so it cannot be cached with functools.\n", "# @functools.lru_cache(maxsize=int(1e7))\n", "def binompmf(tot, times, p):\n", " return p**times * (1 - p)**(tot-times) * binom(tot, times) " ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "@functools.lru_cache(maxsize=4096)\n", "def Z1plus(qf, n):\n", " return 2**(-n)*np.sum([qf(m+1)*binom(n, m) for m in range(0, n+1)])\n", "\n", "@functools.lru_cache(maxsize=4096)\n", "def Z1minus(qf, n):\n", " return (-1)*2**(-n)*np.sum([binom(n, m)*qf(m) for m in range(0, n+1)])" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "# Now unused; using np.meshgrid to generate all bigQ functions at once.\n", "# def bigQ(qf, n, l, r, a, b):\n", "# return qf((n-l-r)*(1-a)/2 + (l+r)*(1+a)/2 + (1+b)/2)\n", "\n", "def bigQ_all(qf, n, l_max, r_max, a, b):\n", " vals = np.meshgrid(range(l_max), range(r_max))\n", " def bigQ_f(lr):\n", " l = lr[0]\n", " r = lr[1]\n", " return qf((n-l-r)*(1-a)/2 + (l+r)*(1+a)/2 + (1+b)/2)\n", " return bigQ_f(vals)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "@functools.lru_cache(maxsize=int(1e7))\n", "def Z2(Z1, Z0, match, q2, n, k, p_plus, p_minus):\n", " bp_minus = binompmf(n-k, np.arange(n-k+1), p_minus)\n", " bp_plus = binompmf(k, np.arange(k+1), p_plus)\n", " \n", " bq_all = bigQ_all(q2, n, k+1, n-k+1, Z1*Z0, match)\n", " inter = np.sum(bq_all*bp_plus, axis=1)\n", " out = np.sum(bp_minus*inter)\n", "\n", " return Z1*out" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "def final(n, T1, T2):\n", " \"\"\"\n", " Calculates -1/2 * .\n", " It should be odd function over the midpoint. Both T=0 and T> n+1 should be 0 (i.e. no improvement).\n", " Recall that n = D-1, so this expression is for a (n+1)-regular graph.\n", " \"\"\"\n", " out = 0\n", " q1 = qfns[T1]\n", " q2 = qfns[T2]\n", " p_plus = (1 + Z1plus(q1, n))/2\n", " p_minus = (1 + Z1minus(q1, n))/2\n", " \n", " binom_n = np.array([binom(n, k) for k in range(n+1)])\n", " \n", " med = []\n", " for k in range(n+1):\n", " inter = []\n", " for u in range(n+1):\n", " equal = Z2(q1(k+1), 1, q1(k+1)*q1(u+1), q2, n, k, p_plus, p_minus) * Z2(q1(u+1), 1, q1(k+1)*q1(u+1), q2, n, k, p_plus, p_minus)\n", " unequal = Z2(q1(k), 1, -q1(k)*q1(u),q2, n, k, p_plus, p_minus) * Z2(-q1(u), -1, -q1(k)*q1(u), q2, n, k, p_plus, p_minus)\n", " inter.append( 0.5 * (equal + unequal))\n", " \n", " med.append(np.sum(binom_n * inter))\n", " \n", " out = np.sum(binom_n * med)\n", " return -0.5 * 2**(-2*n) * out" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Finding the best threshold" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's confirm the best range of threshold. Notice the pattern in optimal threshold value in the below plot. This gives me confidence that the optimal threshold value is between $D/2$ and $D/2 + \\sqrt{D}$." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "def plot(minvals, maxvals, Ds, ax):\n", " for idx, D in enumerate(Ds):\n", " xs = np.arange(minvals[idx], maxvals[idx])\n", " ax.scatter((xs - D/2)*D**-0.5, [D**0.5 * final(D-1, t, t) for t in xs], label=\"D = %i\" % D)\n", " ax.grid()\n", " ax.set_xlabel(\"($τ$ - 0.5 D) / $\\sqrt{D}$\")\n", " ax.set_ylabel(\"Scaled performance\")\n", " ax.legend()" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(1, 1, figsize=(10, 5))\n", "plot([0,]*5, [5, 10, 20, 30, 40], [5, 10, 20, 30, 40], ax)" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(1, 1, figsize=(10, 5))\n", "plot([int(D/2) for D in [50, 100, 150, 200]], [int(D/2) + int(D**0.5) + 1 for D in [50, 100, 150, 200]], [50, 100, 150, 200], ax)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "From the last plot, I expect the optimal threshold to be approximately $D/2 + 0.4 \\sqrt{D}$ at large values of $D$." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Computing for D < 500" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "def get_max_final(d):\n", " \"\"\"\n", " This finds the optimal threshold assuming tau_1 = tau_2.\n", " To speed this up, I limit my search to roughly (D/2 + k_min \\sqrt{D}, D/2 + k_max \\sqrt{D}).\n", " I expect the optimal k to be approximately 0.4 - 0.5.\n", " \"\"\"\n", " k_min, k_max = 0, 1.5\n", " if d > 150:\n", " k_min, k_max = 0.35, 0.52\n", " elif d > 60:\n", " k_min, k_max = 0.3, 0.6\n", " \n", " inps = range(int((d-1)/2 + k_min*(d-1)**0.5 ), int((d-1)/2 + max(10, k_max*(d-1)**0.5 + 1)))\n", " vals = [final(d-1, t, t) for t in inps]\n", " return max(vals), inps[vals.index(max(vals))]" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "# The multiprocessing library will make this run much faster.\n", "pool = multiprocessing.Pool(4)\n", "ds = range(2, 500 + 1)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "CPU times: user 683 ms, sys: 227 ms, total: 910 ms\n", "Wall time: 15min 49s\n" ] } ], "source": [ "%%time\n", "deltas = pool.map(get_max_final, ds)\n", "pool.close()" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Z2 CacheInfo(hits=4443293, misses=47207, maxsize=10000000, currsize=47207)\n", "Z1minus CacheInfo(hits=0, misses=152, maxsize=4096, currsize=152)\n", "Z1plus CacheInfo(hits=0, misses=152, maxsize=4096, currsize=152)\n" ] } ], "source": [ "for _ in [Z2, Z1minus, Z1plus]:\n", " print(_.__name__, _.cache_info())" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(10, 6))\n", "deltas2 = [d**0.5 * delt[0] for d, delt in zip(ds, deltas)]\n", "plt.plot(ds[:len(deltas2)], deltas2, label=\"2-step, girth > 5\")\n", "plt.grid()" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[0.4171768586295556,\n", " 0.4168077842636685,\n", " 0.4171577452407655,\n", " 0.4168492886224562,\n", " 0.4171364666581488]" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# the last few values, to get a sense of the value at large D\n", "deltas2[-5:]" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "ts = [i[1] for i in deltas]\n", "# t = d/2 + ksqrtd\n", "# (t - d/2)**2 = k**2 d\n", "plt.figure(figsize=(10, 5))\n", "plt.plot(ds, ((np.array(ts) - np.array(ds)/2)* (np.array(ds))**-.5))\n", "plt.ylim(0)\n", "plt.xlabel(\"D (of a D-regular graph)\")\n", "plt.ylabel(\"Optimal $k$, given $τ= D/2 + k \\sqrt{D}$\")\n", "plt.grid()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Plot for the paper" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig, ((ax0, ax1), (ax2, ax3)) = plt.subplots(2, 2, figsize=(16, 10))\n", "plot([0,]*5, [5, 10, 20, 30, 40], [5, 10, 20, 30, 40], ax0)\n", "plot([int(D/2) for D in [50, 100, 150, 200]], [int(D/2) + int(D**0.5) + 1 for D in [50, 100, 150, 200]], [50, 100, 150, 200], ax1)\n", "\n", "gs = ax2.get_gridspec()\n", "ax2.remove()\n", "ax3.remove()\n", "axbig = fig.add_subplot(gs[-1, :])\n", "\n", "axbig.plot(ds, ((np.array(ts) - np.array(ds)/2)* (np.array(ds))**-.5))\n", "axbig.set_ylim(0)\n", "axbig.set_xlabel(\"D (of a D-regular graph)\")\n", "axbig.set_ylabel(\"Optimal $k$, given $τ= D/2 + k \\sqrt{D}$\")\n", "axbig.grid()\n", "\n", "plt.savefig(\"best_threshold.png\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Code optimization" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "On Dec 24 2020, I worked on optimizing this code. A few notes:\n", "* cython doesn't work with functools\n", "* I couldn't get numba_scipy to work; I couldn't find the right versions of np, scipy, numba that were all compatible.\n", "* In the binompmf using np.arange is incompatible with lru_cache, but the np.arange is a bit faster\n", "* I tried an scipy.optimize.minimize guess, but it wasn't that accurate.\n" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [], "source": [ "# # these code profilers really helped.\n", "# %load_ext line_profiler\n", "# %lprun -f Z2 get_max_final(21)\n", "# %prun get_max_final(508)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Unequal thresholds" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [], "source": [ "def get_max_final_2(d):\n", " \"\"\"\n", " This finds the optimal threshold for any tau_1 and tau_2.\n", " This looks over all tau > (d-1)/2 to find the best threshold.\n", " \"\"\"\n", " assert d < 50, \"this takes a very long time\"\n", " \n", " inps = range(int((d-1)/2), int(d+2))\n", " vals = [final(d-1, t, t2) for t in inps for t2 in inps]\n", " \n", " best = vals.index(max(vals))\n", " return max(vals), inps[best // len(inps)], inps[best % len(inps)]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's find the optimal threshold for D < 50." ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "CPU times: user 6min 22s, sys: 827 ms, total: 6min 22s\n", "Wall time: 6min 23s\n" ] } ], "source": [ "%%time\n", "unequal_thresholds = [get_max_final_2(i) for i in range(2, 50)]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Printing out the best results for D < 20:" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2 (0.3125, 2) (0.3125, 2, 2)\n", "3 (0.191162109375, 3) (0.24609375, 2, 3)\n", "4 (0.1854366660118103, 3) (0.21282511949539185, 3, 4)\n", "5 (0.18511548652895726, 4) (0.18511548652895726, 4, 4)\n", "6 (0.13510421220398067, 5) (0.18319273736744357, 4, 5)\n", "7 (0.16065630997630004, 5) (0.16065630997630004, 5, 5)\n", "8 (0.1360233197931599, 6) (0.15986870158956498, 5, 6)\n", "9 (0.1387957076629388, 6) (0.13992264564882453, 5, 7)\n", "10 (0.12910557091839034, 7) (0.14089705236762443, 6, 7)\n", "11 (0.12146098243509729, 7) (0.13005917848121065, 7, 8)\n", "12 (0.12066098522000336, 8) (0.1254439622991265, 7, 8)\n", "13 (0.10771186239759818, 8) (0.1217790052677211, 8, 9)\n", "14 (0.11253840954798257, 9) (0.1162867106705756, 8, 10)\n", "15 (0.10215029772247765, 10) (0.1143392767342369, 9, 10)\n", "16 (0.10514090614606042, 10) (0.11097302099077844, 9, 11)\n", "17 (0.09841351953270736, 11) (0.10755692892858511, 10, 11)\n", "18 (0.09848615729090915, 11) (0.10563976189122315, 10, 12)\n", "19 (0.09454371276543241, 12) (0.1013607439626949, 11, 12)\n" ] } ], "source": [ "for i in range(2, 20):\n", " print(i, get_max_final(i), get_max_final_2(i))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Performance of QAOA$_2$" ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [], "source": [ "# the just-in-time compilation massively improves the runtime of this function.\n", "@jit(nopython=True, nogil=True)\n", "def qaoa2(beta_2, gamma_2, beta_1, gamma_1, D):\n", " \"\"\"Cut fraction with p=2 QAOA on D-regular girth > 5 graphs\"\"\"\n", " c = cos(2*beta_2)\n", " s = sin(2*beta_2)\n", " m = cos(gamma_2)\n", " n = sin(gamma_2)\n", " r = cos(2*beta_1)\n", " t = sin(2*beta_1)\n", " y = cos(gamma_1)\n", " z = sin(gamma_1)\n", "\n", " A = -2*c*c*r*t*z*y**(D-1)\n", " bpt1 = 0.5*s*c*(\n", " (1 + r)*(-m*r*z - n*y)*((m*y - n*r*z)**(D-1))\n", " + (1 - r)*(m*r*z - n*y)*((m*y + n*r*z)**(D-1))\n", " )\n", " bpt2 = 0.5*s*c*t*(\n", " (m*t*(y**(D-1))*z + (1j)*n)*((m + (1j)*n*t*(y**(D-1))*z)**(D-1))\n", " + (m*t*(y**(D-1))*z - (1j)*n)*((m - (1j)*n*t*(y**(D-1))*z)**(D-1))\n", " )\n", " Ea = s*s*t*z * 0.5 * \\\n", " ((1+r)*(m*y - n*z*r)**(D-1) - (1-r)*(m*y + n*z*r)**(D-1))\n", " Eb = (m + (1j)*n * y**(D-1) * z*t)**(D-1) + \\\n", " (m - (1j)*n * y**(D-1) * z*t)**(D-1)\n", " return 0.5 - 0.5 * (A + 2*(bpt1 + bpt2) + Ea*Eb)" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [], "source": [ "qaoa2_d_deg = lambda i, d: -qaoa2(*i, d).real\n", "\n", "def get_best(d):\n", " \"\"\"This runs the optimization 100 times, or 150 times if d < 20, and takes the best value.\"\"\"\n", " best = None\n", " val = 0\n", " i = 0\n", " while i < 100 or (d < 20 and i < 150):\n", " i += 1\n", " init_val = [random()*(i % 2 + 1)*pi for i in range(4)]\n", " result = minimize(qaoa2_d_deg, init_val, args=(d), options={'fatol': 1e-20}, method='Nelder-Mead')\n", " if not best or result.fun < best.fun:\n", " best = result\n", " val = d**0.5 * (-best.fun - 0.5)\n", " return best" ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "CPU times: user 99.9 ms, sys: 92.2 ms, total: 192 ms\n", "Wall time: 2min 51s\n" ] } ], "source": [ "%%time\n", "pool = multiprocessing.Pool(4)\n", "results = pool.map(get_best, ds)\n", "pool.close()" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0 values that are not descending\n", "[0.40771208 0.40771175 0.40771141 0.40771108 0.40771075]\n" ] } ], "source": [ "out = {d: -r.fun - 0.5 for d, r in zip(ds, results)}\n", "qaoavals = np.array([out[k]*k**0.5 for k in sorted(out)])\n", "\n", "print(sum (qaoavals[:-1] < qaoavals[1:]), \"values that are not descending\")\n", "assert sum ( qaoavals < 0.407) == 0, \"all values should be at least 0.407\"\n", "# the last few values, to get a sense of the value at large D\n", "print(qaoavals[-5:])" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(0.4, 0.47458920953799794)" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "plt.figure(figsize=(12, 5))\n", "plt.plot([k for k in sorted(out)], qaoavals)\n", "plt.grid()\n", "plt.xlabel(\"D (of a D-regular graph)\")\n", "plt.ylabel(\"Scaled performance of QAOA$_2$\")\n", "plt.ylim(0.4)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Confirming known results" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "I confirm the results for $D=2$ (5/6 cut fraction) and $D=3$ (0.7559 cut fraction):" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "D=2 cut fraction: 0.8333333333333335 input angles in degrees: [ 53.05994804 36.94005106 108.4700259 106.11989664]\n", "D=3 cut fraction: 0.755906458453232 input angles in degrees: [ 16.75218244 308.55760401 121.7936679 152.04908305]\n" ] } ], "source": [ "for D in range(2, 4):\n", " print(\"D=%i\" % D, \"cut fraction:\", -results[ds.index(D)].fun, \"input angles in degrees:\", 180/pi*results[ds.index(D)].x)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For $D=3$, the input angles match the values listed in Table I of Wurtz 2020, up to degeneracy in the input ($\\pi/2$ in $\\beta$). Other input angles will also achieve this maximum; for example, consider the angles $(\\beta_2, \\gamma_2, \\beta_1, \\gamma_1) = (16.8^{\\circ},51.4^{\\circ}, 31.8^{\\circ}, 28.0^{\\circ}$):" ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.7559043193525249" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "qaoa2(*np.array([16.8, 51.4, 31.8, 28.0])*pi/180, 3).real" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For $D=2$, I verify with SymPy that the formulas are in fact equal:" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [], "source": [ "def f2(beta_1, gamma_1, beta_2, gamma_2):\n", " c = cos(2*beta_2)\n", " s = sin(2*beta_2)\n", " m = cos(gamma_2)\n", " n = sin(gamma_2)\n", " r = cos(2*beta_1)\n", " t = sin(2*beta_1)\n", " y = cos(gamma_1)\n", " z = sin(gamma_1)\n", " pt1 = c*c*r*t*y*z\n", " pt2 = -s*c*m*n*(r*r*z*z - y*y)\n", " pt3 = -s*c*y*z*(t*t - r*r)*(m*m - n*n)\n", " pt4 = -s*s*t*z*m*r*(m*y - n*z)\n", " return 0.5 + pt1 + pt2 + pt3 + pt4\n", " \n", "def ring(beta_1, gamma_1_input, beta_2, gamma_2_input):\n", " gamma_1 = -gamma_1_input/2\n", " gamma_2 = -gamma_2_input/2\n", " Fbyn = 1/64 * (\n", " -7*cos(4*beta_1 + 4*beta_2 + 4*gamma_1 + 4*gamma_2)\n", " -6*cos(4*beta_1 + 4*beta_2 + 4*gamma_1)\n", " +3*cos(4*beta_1 + 4*beta_2 - 4*gamma_1 + 4*gamma_2)\n", " +4*cos(4*beta_1 + 4*beta_2 + 4*gamma_2)\n", " +3*cos(4*beta_1 - 4*beta_2 + 4*gamma_1 + 4*gamma_2)\n", " -6*cos(4*beta_1 - 4*beta_2 + 4*gamma_1)\n", " -3*cos(4*beta_1 - 4*beta_2 - 4*gamma_1 + 4*gamma_2)\n", " +4*cos(4*beta_1 + 4*gamma_1 + 4*gamma_2)\n", " -4*cos(4*beta_1 + 4*gamma_1)\n", " -4*cos(4*beta_1 + 4*gamma_2)\n", " -3*cos(-4*beta_1 + 4*beta_2 + 4*gamma_1 + 4*gamma_2)\n", " +6*cos(-4*beta_1 + 4*beta_2 + 4*gamma_1)\n", " +3*cos(-4*beta_1 + 4*beta_2 - 4*gamma_1 + 4*gamma_2)\n", " +7*cos(-4*beta_1 - 4*beta_2 + 4*gamma_1 + 4*gamma_2)\n", " +6*cos(-4*beta_1 - 4*beta_2 + 4*gamma_1)\n", " -3*cos(-4*beta_1 - 4*beta_2 - 4*gamma_1 + 4*gamma_2)\n", " -4*cos(-4*beta_1 - 4*beta_2 + 4*gamma_2)\n", " -4*cos(-4*beta_1 + 4*gamma_1 + 4*gamma_2)\n", " +4*cos(-4*beta_1 + 4*gamma_1)\n", " +4*cos(-4*beta_1 + 4*gamma_2)\n", " -6*cos(4*beta_2 + 4*gamma_1 + 4*gamma_2)\n", " -6*cos(4*beta_2 - 4*gamma_1 + 4*gamma_2)\n", " -4*cos(4*beta_2 + 4*gamma_2)\n", " +6*cos(-4*beta_2 + 4*gamma_1 + 4*gamma_2)\n", " +6*cos(-4*beta_2 - 4*gamma_1 + 4*gamma_2)\n", " +4*cos(-4*beta_2 + 4*gamma_2)\n", " )\n", " return 0.5 * (1 - Fbyn)" ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0\n" ] } ], "source": [ "# evaluates to 0\n", "from sympy import symbols, simplify, collect, expand, expand_trig, cos, sin\n", "b1, g1, b2, g2 = symbols('b1 g1 b2 g2')\n", "result = simplify(\n", " collect(\n", " expand(expand_trig(f2(b1, g1, b2, g2))) - expand(expand_trig(ring(b1, g1, b2, g2)))\n", " , cos(b1))\n", ")\n", "print(result)\n", "assert result == 0" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Performance of 1-step algorithms" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This reproduces work done by Wang et al 2018 and Hastings 2019." ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [], "source": [ "def q(k, threshold):\n", " \"\"\"Works for numpy arrays\"\"\"\n", " return (1-(k >= threshold)*2)\n", "\n", "def calc_performance(D, T):\n", " \"\"\"\n", " This calculates the performance over random after 1 step of Hastings' thresholding algorithm. \n", " Precisely, returns delta = -1/2 for D-regular graphs with threshold T.\n", " \"\"\"\n", " s1 = 0\n", " s2 = 0\n", " # go through # of agreeing neighbors, from 0 through D-1\n", " for i in range(D):\n", " # factor out two copies of 2^-n, n=D-1\n", " s1 += binom(D-1, i)*q(i+1, T)\n", " s2 += binom(D-1, i)*q(i, T)\n", " return -0.5 * 0.5 * (s1**2 - s2**2) * 2**(-2*(D-1))\n", "\n", "hrss_1 = [D**0.5*max([calc_performance(D, int((D-1)/2+k)) for k in range(0, max(int(D**0.5 + 1), 10))]) for D in ds]" ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [], "source": [ "def qaoa1(D):\n", " \"\"\"Best QAOA1 performance on triangle-free graphs.\"\"\"\n", " d = D-1\n", " return 0.5 * (d/(d+1))**(d/2)\n", "qaoa_1 = [qaoa1(D) for D in ds]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Comparison plots" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(10, 6))\n", "diff_thresholds = [x[0]*d**0.5 for x, d in zip(unequal_thresholds, ds[:len(unequal_thresholds)])]\n", "plt.plot(ds[:len(diff_thresholds)], diff_thresholds, label=\"Best of 2-step threshold\")\n", "plt.plot(ds, deltas2, label=\"Best of 2-step threshold where $τ_1 = τ_2$\")\n", "plt.plot(ds, qaoavals, label=\"Best of QAOA$_2$\")\n", "plt.plot(ds, hrss_1, label=\"Best of 1-step threshold\")\n", "plt.plot(ds, qaoa_1, label=\"Best of QAOA$_1$\")\n", "plt.grid()\n", "plt.xlim(0, 500)\n", "plt.xlabel(\"D (of a D-regular graph)\")\n", "plt.ylabel(\"Scaled performance\")\n", "plt.legend()\n", "plt.savefig(\"all_results.png\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "QAOA$_2$ does win in a few cases:" ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "D where qaoa wins\n", "[ 2 3 4 5 6 8 9 10 11 13 15 17 22 24 26 28 39 41]\n", "total: 18\n" ] } ], "source": [ "print(\"D where qaoa wins\")\n", "weirds = np.array(ds)[qaoavals > deltas2]\n", "print(weirds)\n", "print(\"total:\", len(weirds))" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "D where qaoa wins even with unequal thresholds\n", "[2 3 4 5]\n", "total: 4\n" ] } ], "source": [ "print(\"D where qaoa wins even with unequal thresholds\")\n", "weirds = np.array(ds)[:len(diff_thresholds)][qaoavals[:len(diff_thresholds)] > diff_thresholds]\n", "print(weirds)\n", "print(\"total:\", len(weirds))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Small-degree local classical algorithms" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "improvement above random quantum vs classical\n", "D = 2 0.33333333333333354 vs 0.31250000000000006\n", "D = 3 0.25590645845323196 vs 0.24609374999999997\n", "D = 4 0.21609163550938715 vs 0.21282511949539185\n", "D = 5 0.1907089419367839 vs 0.18511548652895726\n" ] } ], "source": [ "print(\"improvement above random quantum vs classical\")\n", "for i in range(4):\n", " print(\"D =\", 2+i, qaoavals[i] * (2+i)**-0.5, \"vs\", diff_thresholds[i] * (2+i)**-0.5)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Reproducing the 1-step local classical algorithms" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [], "source": [ "def local_1(c, n1, n2, s1, s2):\n", " \"\"\"Implements a 1-step local linear algorithm given the description in Hastings 2019.\"\"\"\n", " v1 = n1 - c*s1 - c*n2\n", " v2 = n2 - c*s2 - c*n1\n", "\n", " # if any of (v1, v2) is 0 it (correctly) gives a 1/2 chance of success\n", " return 0.5 - 0.5*np.sign(v1)*np.sign(v2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Hastings describes the improvement over random of $D=3$ at $c=0.599$ with initial values $[-1, -1/3, 1/3, 1]$, noting that it was at least better than QAOA$_1$'s value of 0.1925 but not as good as a uniform distribution at 0.1980." ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "poss = [-1. -0.33333333 0.33333333 1. ] c = 0.599 success = 0.1953125\n" ] } ], "source": [ "c = 0.599\n", "d = 3\n", "poss = np.array([-1, -1/3, 1/3, 1])\n", "nbriter = list(itertools.product(*[poss,]*(d-1)))\n", "nbrsums = np.sum(nbriter, axis=1)\n", "\n", "def t(args):\n", " return local_1(c, *args)\n", "\n", "ct = np.sum ( t(np.meshgrid(poss, poss, nbrsums, nbrsums)) )\n", "improvement = ct / len(poss)**(2*d) - 0.5\n", "print(\"poss = \", poss, \"c = \", c, \"success = \", improvement)\n", "assert improvement > 0.1925, \"should be better than QAOA1\"\n", "assert improvement < 0.1980, \"should be less than uniform dist\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Implementing the 2-step local classical algorithm" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The code that searches is extremely optimized. Initially, it would have taken 1.5s for D=3; now it takes 5ms for D=3. It groups different possibilities and multiplies them by their occurrence probability, greatly reducing the $O(m^{D^2})$ runtime given $m$ initial values." ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [], "source": [ "# # Code profiling\n", "# %lprun -f local_2 run(0.6, 1.1, 3, [-1, 0, 1])\n", "# %timeit run(0.6, 1.1, 3, [-1,1])\n", "# %prun run(0.6, 1.1, 3, [-1,-1/3,1/3,1])" ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [], "source": [ "def local_2(d, c, c2, n1, n2, s1, s2, nbr_nbrsum1, nbr_nbrsum2):\n", " \"\"\"\n", " Implements a 2-step local linear algorithm given the description in Hastings 2019.\n", " This has been optimized greatly.\n", " A few notation changes: (c0, c1) are now (c, c2).\n", " The s1, s2 correspond to sums of the neighbors of the nodes connected to the edge.\n", " The nbr_nbrsum1, nbr_nbrsum2 values correspond to sums of the neighbors of the neighbors of the nodes connected to the edge.\n", " \"\"\"\n", "# v1 = n1 - c*s1 - c*n2\n", "# v2 = n2 - c*s2 - c*n1\n", "# x1 = s1 - c*nbr_nbrsum1 - (d-1)*c*n1\n", "# x2 = s2 - c*nbr_nbrsum2 - (d-1)*c*n2\n", "# z1 = v1 - c2*x1 - c2*v2 \n", "# z2 = v2 - c2*x2 - c2*v1\n", "\n", " cc2 = c*c2\n", " cpc2 = c+c2\n", " cc2dp1 = 1+cc2*d\n", " z1 = n1*cc2dp1 - (s1+n2)*cpc2 + cc2*(s2 + nbr_nbrsum1)\n", " z2 = n2*cc2dp1 - (s2+n1)*cpc2 + cc2*(s1 + nbr_nbrsum2)\n", " \n", " # if any of (v1, v2) is 0 it gives a 1/2 chance of success\n", " return 0.5 - 0.5* np.sign(z1)*np.sign(z2)" ] }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [], "source": [ "def get_iters(*poss, d):\n", " nbriter = np.array(list(itertools.product(*[list(poss),]*(d-1))))\n", " nbr_nbriter = list(itertools.product(*[nbriter,]*(d-1)))\n", " nbrsums = np.sum(nbriter, axis=1)\n", " nbr_nbrsums = np.sum(nbr_nbriter, axis=(1, 2))\n", " return nbrsums, nbr_nbrsums" ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [], "source": [ "def run(c, c2, d, poss):\n", " \"\"\"\n", " Note that the runtime is extremely poor: len(poss) ** (2*d(d-1) + 2)\n", " Fortunately, using np.unique helps significantly.\n", " \"\"\"\n", " \n", " nbrsums, nbr_nbrsums = get_iters(*poss, d=d)\n", " \n", " poss_u = np.unique(poss, return_counts=True)\n", " nbr_u = np.unique(nbrsums, return_counts=True)\n", " nbr_nbr_u = np.unique(nbr_nbrsums, return_counts=True)\n", " \n", " mgs = list(zip(poss_u, poss_u, nbr_u, nbr_u, nbr_nbr_u, nbr_nbr_u))\n", " \n", " ct = np.sum ( local_2(d, c, c2, *np.meshgrid(*mgs[0])) * functools.reduce(np.multiply, np.meshgrid(*mgs[1])) )\n", " perf = ct / len(poss)**(2*(1 + d-1 + (d-1)**2)) - 0.5\n", " \n", " return perf" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here's an example grid-based search for $D=3$:" ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "best: 0.109375 (0.0, 0.33333333333333337)\n", "best: 0.1875 (0.0, 0.3434343434343435)\n", "best: 0.191162109375 (0.015151515151515152, 0.33333333333333337)\n", "best: 0.191650390625 (0.015151515151515152, 0.9494949494949496)\n", "best: 0.219970703125 (0.015151515151515152, 0.9797979797979799)\n", "best: 0.262939453125 (0.015151515151515152, 1.0)\n", "best: 0.26483154296875 (0.33333333333333337, 1.0)\n", "best: 0.2666015625 (0.3484848484848485, 1.0)\n", "best: 0.26953125 (0.6666666666666667, 1.0)\n", "best: 0.270263671875 (1.1060606060606062, 0.9090909090909092)\n" ] } ], "source": [ "d=3\n", "poss2 = np.array([1, -1])\n", "\n", "maxx = 0\n", "data = (0,0)\n", "for c in np.linspace(0, 1.5, 100):\n", " for c2 in np.linspace(0, 1, 100):\n", " val = run(c, c2, d, poss2)\n", " if val > maxx:\n", " maxx = val\n", " data = (c, c2)\n", " print(\"best:\", maxx, data)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This searches until it finds a value greater than the associated QAOA$_2$ value." ] }, { "cell_type": "code", "execution_count": 46, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "3 0.270263671875 [2.09942807 0.64388207]\n", "4 0.23085129261016846 [11.12630289 0.38793097]\n", "5 0.20331271992745314 [4.64256915 0.34832495]\n" ] } ], "source": [ "qaoa2_best = {\n", " 3: 0.2559,\n", " 4: .2161,\n", " 5:.1907\n", "}\n", "\n", "maxx = {3: 0, 4:0, 5:0}\n", "data = {}\n", "for d in range(3, 6):\n", " vals = [1, -1]\n", " f = lambda x: -run(*x, d, vals)\n", " i = 0\n", " while maxx[d] < qaoa2_best[d] and i < 100:\n", " i += 1\n", " st = (random(), random())\n", " out = minimize(f, st, method='Powell')\n", " if -out.fun > qaoa2_best[d]:\n", " maxx[d] = -out.fun\n", " data[d] = (out, st)\n", " print(d, maxx[d], data[d][0].x)\n", " break" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's check the success with rounded $(c_0, c_1)$. I'm using values from when I first ran the code, which may be different than the output above." ] }, { "cell_type": "code", "execution_count": 47, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "D=3 0.270263671875\n", "D=4 0.23085129261016846\n", "D=5 0.20453225069923064\n" ] } ], "source": [ "print(\"D=3\", run(7.22, 0.58, 3, [-1, 1]) )\n", "print(\"D=4\", run(0.38, 11.20, 4, [-1, 1]) )\n", "print(\"D=5\", run(5.44, 0.33, 5, [-1, 1]) )" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### For D=2" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The above strategy did not work for D=2!" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Look at the distribution of performance across various $(c_0, c_1)$:" ] }, { "cell_type": "code", "execution_count": 48, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 48, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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p3t1HrJo3UIRERG3U5CVh6yWehcREXE9BVl5SNOFIiIi7qd7dR7SdKGIiIj7Kchqgjlz5tC7d29GjhzZ6D7l5eWUlpZSXFzMiSeemNy+c+dOZs2axbBhwxg+fDjvvPNO8rVf/vKXDB06lOLiYm666abk9g8++ICJEydSXFzMqFGjqK6uBqCmpoZbb7iWIUOGMGzYMP76178mj3nmmWcYMWIExcXFXHjhhcntn376KdOmTWP48OGMGDGC9evXA7Gpx1tuuYUhQ4YwfPhw7r///la9ltraWi6//HKGDBnCuHHjDupaTjjhBEpLSyktLaVfv36ceeaZjY6TiIhIi2usgVau/ri5Gekbb7xhFy9ebIuLizO+vmPHDjt8+HD7ySefWGut/eKLL5Kvff3rX7ePPPKItdbampoau2PHDmutta+99pqdOnWqra6uTjsmFArZUaNG2WXLlllrrd26dasNh8PWWmu/c8PN9srv3mCttTYSidgtW7ZYa62tqKiwpaWldvv27Q0+/8QTT7SvvPKKtdbaqqoqu2fPHmuttY899pi96KKLbCQSSTumta7l1ltvtbfccou11tqdO3ce1LWkOvvss+0TTzzRYLu1akbaVGqw6D4aE3fSuLhPrpuROgp8gBnAamAtcHOG1ycBS4AwMKveaxcDa+J/Ls72WW4Osqy19uOPP240yHrwwQeTAUOqXbt22QEDBthoNNrgtXPOOce++uqrDbb/61//srNnz874OX37Fdn3133eYPuNN96YDH5SrVixwh533HEZ32v8+PF2zZo1ObuW/v372927d1tr08fkQK4lobKy0nbr1i3Zob4+BVlNoxuH+2hM3Enj4j65DrKyrl1ojPECDwJfBTYC7xlj5lprV6bs9inwDeCGesf2AG4DyoiVEi2OH7vjgNJuwOf/+7/UrPrwQA9PCkcibPd6AQgOH8ah//3fB/2eFRUVhEIhJk+eTFVVFddeey1f//rXWbduHb169eKSSy7h/fffZ9y4cfziF7+gU6dOVFRU8NZbb3HLLbdQUFDAvffey/jx46moqMAYw/Tp09myZQvnn38+N910Ezt37sQCP//xXSxb+G8GDRrEAw88QJ8+faioqADguOOOIxKJcPvttzNjxgwqKiro1q0bZ599Nh9//DEnnXQSd999N16vl48++og///nP/P3vf6dXr17cf//9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O3bssNZa+69//ctGo1EbjUbt+eefb3/1q1+12rXs2bPHvvbaa9Zaa2tqauzEiRMP6lp27dqVHIvrrrvO/uhHP8o4li3x+9SWtcYq9tI0GhN30ri4T2uMCbDINhLTKJPlUN++fRk7NtZTtbCwkOHDh7Np06a0fY499li6d+8OwDHHHMPGjRuzHjtt2jR8Pl+DY8aMGUO/fv0AKC4uprq6OraYc8cOTDj2BAyGQCDA2LFjk8dMmTKFjh07NnivIUOGMHjwYAD69etH79692bJlCwAzZ87EGIMxhgkTJiSPaY1r6dixI1OmTAEgEAgwevTog7qWLl26ALF/OOzbt09PYIqISE456pPlJm89U8HWDQc/DZS6QHTPwzpzwrlDHB+7fv16li5dytFHN75O9m9/+1tOPvnkJh372GOPcd555zXY/te//pUxY8YQDAYJRaJArPB9586d/OMf/+Daa691/PkLFy6ktraWQYMGpW0PhUL84Q9/yDgN2lLXkmrnzp289NJL3HjjjQd1LZdccgkvvPACI0aM4Kc//WmDY0RERFpL3gVZubZ7926+9rWv8fOf/zyZOanv9ddf57e//S3z5893fOwPf/hDfD4fs2fPTtu+YsUKvv/97/PKK6/ENsRXQYpEwlx0wQV85zvfYeDAgWnH/PGPf2TRokW88cYbads/++wzLrroIp544gk8nvQk5lVXXcWkSZM44YQTWu9a4sLhMBdccAHf+ta3Dvpafve73xGJRLjmmmv485//zCWXXIKIiEhONDaPmKs/bq3Jstba2tpaO23aNPvTn/600X3ef/99O3DgQLt69WrHxz7++OP2mGOOSdYgJWzYsMEOHjzYzp8/P7mtJhS272/YYS+86GJ7zTXXNHivV1991Q4bNsx+8cUXadt37dplx4wZY5955pkGx9x+++32jDPOsJFIpFWvJeGSSy6x11xzTYMxOZBrSSgvL7ennHJKxtdUk9U0qjNxH42JO2lc3CfXNVk5D6rq/3FrkBWNRu1FF11kr7322kb3+eSTT+ygQYPs22+/7fjYF1980Q4fPtx++eWXadt37NhhS0pK7LPPPpu2fV9t2F52zffsaWec2SAoWrJkiR04cGCyMDyhpqbGfuUrX7E/+9nPGnz+I488YidOnGj37t3b6tdirbW33HKLPfvss20kEkkbk6ZeSzQatWvWrEl+/b3vfc9+73vfa/B51irIairdONxHY+JOGhf3UZCVJ0HWW2+9ZQE7atQoO3r0aDt69Gj7r3/9yz700EP2oYcestZae+mll9pu3bolX09cS2PHWmvtoEGDbP/+/ZPbv/Wtb1lrrb3rrrtsx44dk9tHjx5tv/jiC1uxbr0F7JChQ5PbH3nkEWuttVOnTrW9e/dObj/ttNOstdb+4Q9/sD6fL+29li5daq211uv12oEDBya333HHHa12LRs2bLCAHTZsmB09erQdNWrUAV9LJBKxxx57rB05cqQtLi62F154YdrThqkUZDWNbhzuozFxJ42L++Q6yDKx192jrKzMLlq0KG3bqlWrGD58eLN+TlVVFYWFhc36nq1hb22YtV/uZsAhnejSwZ/r02lWrTUmLfH71JaVl5czefLkXJ+GpNCYuJPGxX1aY0yMMYuttWWZXlMLhzyTiInVnUBERMTdFGTlmUTeUTGWiIiIuynIyjOJ6V012hQREXE3BVl5RtOFIiIi+UFBVp7RdKGIiEh+UJCVZzRdKCIikh8UZDm0YcMGpkyZwvDhwykuLs64xt8999xDaWkppaWljBw5Eq/Xy/bt21m9enVye2lpKV26dOHnP/85AOedd15y+4ABAygtLQXgySefTDvG4/GwbNkyKquqOHf6CRxdNo7S0lJ69uzJd7/7XQCuu+665P5DhgyhW7duQGxpnNT3Kigo4LnnngPghBNOSG7v168fZ555ZqtdS1VVVdr2AQMGtMi1iIiI5ERjDbRy9cetzUg3b95sFy9enDx28ODBdsWKFY3uP3fuXDtlypQG28PhsO3Tp49dv359g9euv/76ZDPQVB988IE98sgjrbXWbttdY9/fsMPWhGLd3seOHWvfeOONBsfcf//99pJLLmmwfdu2bbZ79+4Nlr2x1tqzzz7bPvHEE612LfWVlpa2+LVYq2akTaUGi+6jMXEnjYv75LoZqTJZDvXt25exY8cCUFhYyPDhw9m0aVOj+z/11FNccMEFDbbPmzePQYMGccQRR6Rtt9byzDPPZDwm9b1scroQ1qxZw5dfftlgUef9ff6zzz7LySef/P/bu/Pwqqt73+PvRUDDIIgyCKZMhR5CAgSSC/LgU0GPIQoHD4MyqZFS0T5YW7zWcsoVrOdapypqgVLrVCcQVCRq4MiQ1EplCAqK5AIRRGJAMEJG0iQ73/tHwjbThgDZE/m8nidl7/X7/dZ3Ldfuk2/Wb+31o1WrVjXKCwoK2LBhQ72zP/7qS3V79+7l6NGjfu+LiIhIoDQPdgPOVNpLz3LkwL5zrsdT7iGieQQAnbr3YuRtMxt87VdffcWnn37K0KFD6z1eXFzMmjVrWLhwYZ1jy5Ytqzdh+Mc//kHnzp3p06dPnWNvvPEGq1atAmoufF+6dCmTJk2qsz7rwIED7N+/n6uvvrre+Pfcc0+d8pUrV3LNNdfQtm3bgPWluqVLlzJ+/Hi/9kVERCSQNJN1hgoLC5kwYQJPPfWUz1/i7777LsOHD+eSSy6pUV5aWkpKSgo33nhjnWt8zdZs3ryZVq1aERsbC9Rc+O4ryVm2bBkTJ04kIiKiRvmhQ4f4/PPPGTVqVIPj+7Mv9bXZn30REREJpLCbyTqTGadTOZvn5JWVlTFhwgSmTZvG+PHjfZ7nK/lZvXo1gwcPpnPnzjXKy8vLefvtt9m2bdtp6zq5T9Znn+2gvLyc+Pj4eq9ZtGhRnfLly5czbtw4WrSo+czD3NxctmzZwsqVKwPal5N27Kjsy6BBg/zaFxERkUDSTFYDmRkzZswgOjq63ltUJ+Xl5fH3v/+dG264oc4xXzMs69ato2/fvkRFRdUor6ioYMWKFUyePPmHdlT9u8xHXbt37+bYsWMMGzaswfFXrFjBmDFjiIyMDGhfTldXY/ZFREQk0MJuJitYNm7cyCuvvEL//v29WxP84Q9/4OuvvwbgzjvvBCrXAyUmJtK6desa1xcXF7N27Vr+8pe/1Knb1wzPhx9+SFRUFL169fKWmRkOx4oVK0hNTa1zzdKlS5k8eXKdtU1fffUVBw8e5Kqrrqo3/pw5c+qU+7svJy1fvtzvfREREQk0d3KNT6hISEiwjIyMGmWZmZlER0c3apyzuV0YCg4dP0FuUSmxl7cLdlMaXaDGxB+fp/NZeno6I0aMCHYzpBqNSWjSuISeQIyJc26bmSXUd0y3C8OMoecWioiIhAMlWWHm5O1CERERCW1KssKMmWayREREwoGSrDCj24UiIiLhQUlWmKnQ7UIREZGwoCQrzOh2oYiISHhQktVAJSUlDBkyhIEDBxITE8P8+fPrnLNkyRLvPlpXXnklu3btAmDLli3ExcURFxfHwIEDvbuRn6rOGTNmMHDgQAYMGMDEiRMpLCwE4NWXnuM/Rlzh1xiB6Edjxrjtttvo2bOn97rt27ef3SCLiIg0JjM77Q+QBOwGsoA59Ry/EHij6vhmoEdVeQ/gBLC96mfJ6WLFx8dbbbt27apTdq7y8/PP6PyKigorKCgwM7PS0lIbMmSIffzxxzXOycvL875etWqVjRo1yszMioqKrKyszMzMcnJyrGPHjlZWVnbKOqvXNXv2bHv44YfNzGz7l9/Y3m8L/BojEP2oL0Z+fv5ZxUhOTrYVK1bUGTNf/PF5Op+lpaUFuwlSi8YkNGlcQk8gxgTIMB85zWl3fHfORQCLgGuBbGCrcy7FzHZVO20GcMzMejvnJgOPApOqjn1pZnHnkgiGAuccbdq0ASqfYVhWVlZnJ/LqD4wuKiryHm/VqpW3vKSkxFt+qjpP1mVmnDhxwlve5iL/xwhEPxozhoiISChqyGN1hgBZZrYPwDm3DLgBqJ5k3QA8UPX6TWCh89NvwOPvfklpTtE51+PxlHMiorL7F3RtzcX/8eMGXOMhPj6erKwsZs2axdChQ+ucs2jRIp588klKS0vZsGGDt3zz5s387Gc/48CBA7zyyis0b978tHVOnz6d1NRU+vXrxxNPPAFUrsl67YVnefmvi/wWIxD9aOwYc+fO5cEHH+Saa67hkUce4cILLzz1YIqIiPjZaR+r45ybCCSZ2c+r3t8CDDWzu6qds7PqnOyq918CQ4E2wBfAHiAf+D9m9o96YswEZgJ07tw5ftmyZTWOt2vXjt69ewNw4oNsPN+eOKvOVld9AXlE55a0TIw69QXVHD9+nGnTpvH444/Tr1+/es9Zvnw569evr/N8v927d3PHHXewZs2aGg8x9lWnx+Ph3nvvJT4+nptvvplvCito7qBz62Z+ixGIftQXY/HixURERJxxjMOHD9O5c2dKS0u5++676dmz5ymfX5iVlUVeXp7P41JTYWGhdxZRQoPGJDRpXEJPIMZk5MiRPh+r05D1WDcCz1V7fwvwp1rnfAFEVXv/JXAplWu1Lq0qiwcOAm1PFS9U12TV9sADD9jjjz/u87jH47G2bdvWe2zEiBG2devWBteZnp5uo0ePNjOz3Yfz7avvCv0aIxD9qC9GfWNypjHS0tLqjVGd1mSdGa0zCT0ak9CkcQk9wV6T1ZBvF2YDP6r2PgrI8XWOc6450A743sz+ZWa5Vcnctqrk6ycNiBlyjh49yvHjxwE4ceIE69ato2/fvjXO2bt3r/f1+++/T58+fQDYv38/5eXlABw4cIDdu3fTo0cPn3WaGVlZWUBlEvzuu+96Y+3/Msu7S5a/YgSiH40VA+DQoUPeGO+88w6xsbGnHkwREZEAaMiarK1AH+dcT+AbYDIwtdY5KUAy8DEwEdhgZuac60hlsuVxzvUC+gD7Gq31AXTo0CGSk5PxeDxUVFRw0003MWbMGObNm0dCQgJjx45l4cKFrFu3jhYtWtC+fXv+9re/AfDRRx/xyCOP0KJFC5o1a8bixYvp0KEDn332Wb11VlRUkJycTH5+PmbGwIED+fOf/wxUrsfa9NHfaRV5gd9iBKIfjRUDYNq0aRw9ehQzIy4ujiVLlgTugyEiIuLDaddkATjnrgeeAiKAF8zsIefcg1ROkaU45yKBV4BBwPfAZDPb55ybADwIlAMeYL6ZvXuqWAkJCZaRkVGjLDMzk+jo6DPv3SkUFBRw0UUXNWqdgZB5KJ+LLmxO1CWtTn9ymAnUmPjj83Q+S09PZ8SIEcFuhlSjMQlNGpfQE4gxcc75XJPVkJkszCwVSK1VNq/a6xIq127Vvu4t4K0zaq2cknZ8FxERCQ/a8T3MGKb9oURERMKAkqwwo5ksERGR8KAkK8yYgXIsERGR0KckK4yYmW4XioiIhAklWWHk5BdBlWKJiIiEPiVZDVRSUsKQIUMYOHAgMTExzJ8/v845X3/9NSNHjmTQoEEMGDCA1NTKL2SWlZWRnJxM//79iY6O5uGHH/Zes2DBAmJiYoiNjWXKlCmUlJQAsH79egYPHkxcXBxXXnklWVlZGHDom4OMHzPKbzEC0Y+zjfH0008TGxtLTEwMTz31lLf8/vvvZ8CAAcTFxZGYmEhOTu29ckVERILA11bwwfoJ1cfqVFRUWEFBgZmZlZaW2pAhQ+zjjz+ucc7tt99uixcvNjOzL774wrp3725mZq+99ppNmjTJzMyKioqse/futn//fsvOzrYePXpYcXGxmZndeOON9uKLL5qZWZ8+fbz9XrRokSUnJ1tZuccmTE22xxY847cYgeiHrxj5+fk+Y3z++ecWExNjRUVFVlZWZtdcc43t2bPHzMzy8vK8Y/D000/bHXfcccqx1GN1zoweFRJ6NCahSeMSesLhsToCOOe8D5ksKyujrKysztoo5xz5+fkA5OXl0bVrV295UVER5eXlnDhxggsuuIC2bdsCeMvKy8spLi6ucU3tugzAQaEfYwSiH2cTIzMzkyuuuIJWrVrRvHlzrrrqKlauXAngbQNAUVGR1qyJiEhIaNBmpKFk9erVHD58+Jzr8Xg8REREAHDZZZdx3XXXNeia+Ph4srKymDVrFkOHDq1x/IEHHiAxMZE//elPFBUVsW7dOgAmTpzIqlWr6NKlC8XFxSxYsIBLLrkEgHvvvZdu3brRsmVLEhMTSUxMBOC5557j+uuvp2XLlrRt25ZNmzZhZvxi9hx+eetEnn/2z36JEYh+nE2M2NhY5s6dS25uLi1btiQ1NZWEhB822J07dy4vv/wy7dq1Iy0treEfBBERET/RTNYZiIiIYPv27WRnZ7NlyxZ27txZ4/jSpUu57bbbyM7OJjU1lVtuuYWKigq2bNlCREQEOTk57N+/nyeeeIJ9+/Zx7NgxVq1axf79+8nJyaGoqIhXX30VqFzjlJqaSnZ2NtOnT+eee+7BDFaveospN9/itxiB6MfZxIiOjua3v/0t1157LUlJSQwcOJDmzX/4G+Ghhx7i4MGDTJs2jYULF/r9syAiInI6YTeT1ZAZp4Y4l+fkXXzxxYwYMYI1a9YQGxvrLX/++edZs2YNAMOGDaOkpITvvvuO119/naSkJFq0aEGnTp0YPnw4GRkZOOfo2bMnHTt2BGD8+PH885//ZNSoUezYscM7UzZp0iSSkpIwYOUbr7Lq3ff8FiMQ/fAVIzc312eMXr16MWPGDGbMmAHA7373O6KiouqMzdSpUxk9ejS///3vz2psRUREGotmshro6NGjHD9+HIATJ06wbt06+vbtW+Ocbt26sX79eqDyIcQlJSV07NiRbt26sWHDBsyMoqIiNm3aRN++fenWrRubNm2iuLgYM2P9+vVER0fTvn178vLy2LNnDwBr164lOjoaM6NL18v5MD3dbzEC0Q9fMTp06OAzBsCRI0eAym8mvv3220yZMgWAvXv3escgJSWlzriIiIgEQ9jNZAXLoUOHSE5OxuPxUFFRwU033cSYMWOYN28eCQkJjB07lieeeILbb7+dBQsW4JzjpZdewjnHrFmzmD59OrGxsZgZ06dPZ8CAAUDlGqTBgwfTvHlzBg0axMyZM2nevDl//etfmTBhAs2aNaN9+/a88MILmMH/vv//8ujce/jLomf8EgPwez/ONsaECRPIzc2lRYsWLFq0iPbt2wMwZ84cdu/eTbNmzejevTtLliwJ6GdDRESkPs5O7nAZIhISEiwjI6NGWWZmpncGpLGcy+3CYCn6VzlfHi2kZ4fWXBTZItjNaXSBGhN/fJ7OZ+np6YwYMSLYzZBqNCahSeMSegIxJs65bWaWUN8x3S4MIycTYm1RICIiEvqUZIWRk3OOSrFERERCn5KsMHLyzm4zZVkiIiIhT0lWGNHtQhERkfChJCuM6HahiIhI+FCSFUYqqrIsTWSJiIiEPiVZZ8jj8TBo0CDGjBnj85w333wT5xy1t6L4+uuvadOmDX/84x8bXOcvf/lL74OpvbcLcX6LEYh+nG2MHj160L9/f+Li4mo8t1BERCQUaTPSM/T0008THR1Nfn5+vccLCgp45pln6jw8GmD27Nn1PhbIV50ZGRneXebhh9uFhYX+ixGIfpxLjLS0NDp06FCnXEREJNRoJusMZGdn8/777/Pzn//c5zn3338/9913H5GRkTXK33nnHXr16kVMTEyD6vR4PPzmN7/hscce85ad/HbhA/Pn+S1GIPpxtjFERETCSdjNZO3Z898UFGaecz0eTzkREZXdv6hNND/5yf2nvebXv/41jz32GAUFBfUe//TTTzl48CBjxoypcZurqKiIRx99lLVr19a5xearzoULFzJ27Fi6dOniLTOMzJ2fcfBgtt9iBKIfZxvDOUdiYiLOOe644w5mzpyJiIhIqAq7JCtY3nvvPTp16kR8fDzpVQ9orq6iooLZs2fz0ksv1Tk2f/58Zs+eXWdNkq86c3JyWLFiRZ04Hk8Ff/z971j++it+ixGIfpxNDICNGzfStWtXjhw5wrXXXkvfvn356U9/Wuc8ERGRUBB2SVZDZpwa4kyfk7dx40ZSUlJITU2lpKSE/Px8br75Zl599VVvfTt37vQ+I+nw4cOMHTuWlJQUNm/ezJtvvsl9993H8ePHadasGZGRkXzzzTf11jllyhSysrLo3bs3AMXFxfTu3ZvUDRvJ2p3JyJEj/RZj27Ztfu+HrxhLly71GeOuu+6ia9euAHTq1Ilx48axZcsWJVkiIhK6zCykfuLj4622Xbt21Sk7V/n5+Wd9bVpamo0ePfqU51x11VW2devWOuXz58+3xx9//IzqbN26tZmZ5Rwvts+zj/s1RiD64StG7TGpHqOwsNB7vLCw0IYNG2arV6+ut77T8cfn6XyWlpYW7CZILRqT0KRxCT2BGBMgw3zkNGE3kxVq5s2bR0JCAmPHjvV7LLOmuxHpt99+y7hx4wAoLy9n6tSpJCUlBblVIiIivjk7+ZW1EJGQkGC190zKzMwkOjq6UeOc6e3CUPDNsRPknSijX9e2wW6KXwRqTPzxeTqfpaene2/tSmjQmIQmjUvoCcSYOOe2mVm9mzdqC4cwYph2excREQkTSrLCSFO+XSgiIhJulGSFEbPKvaJEREQk9CnJCiO6XSgiIhI+lGSFEd0uFBERCR9KssJIhZluF4qIiIQJJVlnoEePHvTv35+4uDgSEup+W9PMuPvuu+nduzcDBgzgk08+afQ2KMUSEREJDw1KspxzSc653c65LOfcnHqOX+ice6Pq+GbnXI9qx/6rqny3c25U4zU9ONLS0ti+fTu19/ICWL16NXv37mXv3r08++yz/OIXv2jU2JUL3xu1ShEREfGT0yZZzrkIYBFwHdAPmOKc61frtBnAMTPrDSwAHq26th8wGYgBkoDFVfWdl1atWsWtt96Kc44rrriC48ePc+jQoUarv3Lhu7IsERGRcNCQx+oMAbLMbB+Ac24ZcAOwq9o5NwAPVL1+E1joKrOBG4BlZvYvYL9zLquqvo/PtsH3781mZ+GJs70cgJJSD2Z47731ibyQX3XpeNrrPBVw1dX/jnOOybdMZ/KtP6txfM++A4wccylZRwoBuLRTFzZ9vpf+EY2zi3lJWQVtLtQdXhERkXDQkCTrcuBgtffZwFBf55hZuXMuD7i0qnxTrWsvrx3AOTcTmAnQuXNn0tPTaxxv164dBQUFAJSWluEp9zSg2b6Z93+rsiwzrOL0dS5NWUPny7qQ+91Rbpv0n/T6cW/+17DhP9RrhlVUeOsyrMF1N8SFERDZzOP9b3G+8XgC07eSkpI6nzHxrbCwUP+9QozGJDRpXEJPsMekIUlWffenaj/w0Nc5DbkWM3sWeBYqn11Y+zlDmZmZ3mfaPRrTOLNCZ/OcvD6XtfP+O/nGieR8uYs+4673Hv+3H/eA4mPe874/cpgrBvyELlXv5dQC9ezCyMhIBg0a5Pc45ws9jy30aExCk8Yl9AR7TBpy7ykb+FG191FAjq9znHPNgXbA9w28NiwUFRV5Z1mKior44IMPiI2NrXHO2LFjefnllzEzNm3aRLt27ejSpUswmisiIiJB1pCZrK1AH+dcT+AbKheyT611TgqQTOVaq4nABjMz51wK8Lpz7kmgK9AH2NJYjQ+kb7/9lnHjxgFQXl7O1KlTSUpKYsmSJQDceeedXH/99aSmptK7d29atWrFiy++GMwmi4iISBCdNsmqWmN1F/A/QATwgpl94Zx7EMgwsxTgeeCVqoXt31OZiFF13nIqF8mXA7PMrHEWKAVYr1692LFjR53yO++80/vaOceiRYsC2SwREREJUQ2ZycLMUoHUWmXzqr0uAW70ce1DwEPn0EYRERGRsKP9AERERET8QEmWiIiIiB+ETZJlVmfnB5Ezps+RiIgESlgkWZGRkeTm5uoXpJwTMyM3N5fIyMhgN0VERJqABi18D7aoqCiys7M5evRoo9VZUlKiX7YhJhBjEhkZSVRUlF9jiIiIQJgkWS1atKBnz56NWmd6erp2/Q4xGhMRETmfhMXtQhEREZFwoyRLRERExA+UZImIiIj4gQu1b+w5544CBwIQqgPwXQDiSMNpTEKTxiX0aExCk8Yl9ARiTLqbWcf6DoRckhUozrkMM0sIdjvkBxqT0KRxCT0ak9CkcQk9wR6zP05nAAADAklEQVQT3S4UERER8QMlWSIiIiJ+0JSTrGeD3QCpQ2MSmjQuoUdjEpo0LqEnqGPSZNdkiYiIiPhTU57JEhEREfGbJpdkOeeSnHO7nXNZzrk5wW6PgHPuBefcEefczmC3RSo5537knEtzzmU6575wzv0q2G0ScM5FOue2OOd2VI3L74PdJqnknItwzn3qnHsv2G2RSs65r5xznzvntjvnMoLShqZ0u9A5FwHsAa4FsoGtwBQz2xXUhjVxzrmfAoXAy2YWG+z2CDjnugBdzOwT59xFwDbgP/X/leByzjmgtZkVOudaAB8BvzKzTUFuWpPnnLsHSADamtmYYLdHKpMsIMHMgrZ3WVObyRoCZJnZPjMrBZYBNwS5TU2emX0IfB/sdsgPzOyQmX1S9boAyAQuD26rxCoVVr1tUfXTdP5SDlHOuShgNPBcsNsioaWpJVmXAwervc9GvzhETsk51wMYBGwObksEvLeltgNHgLVmpnEJvqeA+4CKYDdEajDgA+fcNufczGA0oKklWa6eMv0VKOKDc64N8BbwazPLD3Z7BMzMY2ZxQBQwxDmnW+xB5JwbAxwxs23BbovUMdzMBgPXAbOqlqYEVFNLsrKBH1V7HwXkBKktIiGtas3PW8BrZvZ2sNsjNZnZcSAdSApyU5q64cDYqvU/y4CrnXOvBrdJAmBmOVX/HgFWUrlkKKCaWpK1FejjnOvpnLsAmAykBLlNIiGnaoH180CmmT0Z7PZIJedcR+fcxVWvWwL/Dvy/4LaqaTOz/zKzKDPrQeXvlA1mdnOQm9XkOedaV31pB+dcayARCPg32JtUkmVm5cBdwP9QuZB3uZl9EdxWiXNuKfAx8G/OuWzn3Ixgt0kYDtxC5V/l26t+rg92o4QuQJpz7jMq/2hca2baMkCkrs7AR865HcAW4H0zWxPoRjSpLRxEREREAqVJzWSJiIiIBIqSLBERERE/UJIlIiIi4gdKskRERET8QEmWiIiIiB8oyRIRERHxAyVZIiIiIn6gJEtERETED/4/sWcYqtTOi/cAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# why does it peak at 2?\n", "poss = [1, -1]\n", "g = np.linspace(0, 5, 100)\n", "plt.figure(figsize=(10, 6))\n", "plt.plot(g, [1/3]*len(g), 'gray', linewidth=5, label='cutoff')\n", "for x in np.linspace(0, 5, 10):\n", " plt.plot(g, [run(x, i, 2, poss) for i in g], label=str(x))\n", "plt.grid()\n", "plt.legend()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It gets close to 1/3, but doesn't reach it. But consider the same plot for a different set of initial values:" ] }, { "cell_type": "code", "execution_count": 49, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 49, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlsAAAFlCAYAAADcXS0xAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nOzdd3hUVd7A8e+dnplJJpNeSUIKPSGFLhKaYAVUFHvHRbFg3+LLqru6q66urr2LIqhYQYoKhN4TOqEkpPc2ySSZJDNz3z8GkJgACaQQPJ/nmWeSe+9puQnz45xzz5FkWUYQBEEQBEHoHIruroAgCIIgCMKFTARbgiAIgiAInUgEW4IgCIIgCJ1IBFuCIAiCIAidSARbgiAIgiAInUgEW4IgCIIgCJ1I1d0VOBUfHx85PDy808upra3FYDB0ejlC24l7cn4S9+X8I+7J+Uncl/NPV9yTHTt2lMmy7NvaufM22AoPD2f79u2dXk5KSgrJycmdXo7QduKenJ/EfTn/iHtyfhL35fzTFfdEkqTsU50Tw4iCIAiCIAidSARbgiAIgiAInUgEW4IgCIIgCJ1IBFuCIAiCIAidSARbgiAIgiAInUgEW4IgCIIgCJ1IBFuCIAiCIAidSARbgiAIgiAInUgEW4IgCIIgCJ1IBFuCIAiCIAidSJJlubvr0KqkpCS5M7freeaZZzotb0EQBEEQzk9z587tlHwlSdohy3JSa+dEz5YgCIIgCEInEsGWIAiCIAhCJxLBliAIgiAIQicSwZYgCIIgCEInUnV3BbrL8QlyKSkpJCcnd29lOoHdYeP9/T+SU1/P03GXo9f6dHeV2uxCvSc9nbgv3cBhB7vtlKfXrVvH6NGju7BCwunJ4Ghi47o1jByWBI5GcDS5jp+thhqw5DV/1Vd0WI07hKQApRoUalBqjn2tAknq7pqdkFNlp9ddn3Rb+X/YYOtCk512mLRNO6iptZJjKmZZ7xiOKGMA2LP+R94OiyA0amw311IQuoHs+gCkqQ4aa4+9rK53Z9PZ5+t0QEM12Kp/e2+0uso7u4q68rAWg7XE9V5Xzuk+qEcDrD/L4oROMxJgUydkrHEHUwgYfM6rQAanE5rqwWFx/a05ms7tb6sTGGVTt5Yvgq0LQJ2llgXff0W9WxP7BvqzQX8pRqxcl7maasnA8oih3Jqzl6c2PciwmEcwJfZCUokRZKGD2RuhKhsqMl0va4kroGmq/S3IsTe0LS/Z6erRabKBvd717mhoYyAjg9N+7B/9RtfXXUFSuD4Mz+VDUOsBRj8wh0PoUDD6g8ZwysszMjKIjIw8+/KEjqfUcCjjKDH9Bh7r5VG5fjfOllrvCrBMIaDr3oChJ9udkkJyN5Yvgq0LwM/zfyQ3Alb0GkcdBkaX72DoGjVG+mFvsqGzpPJjXBxzg92YU3A//X+5mf6PXovSTd3dVRfaSpah7DAcXQNZ66C6oMurEF9dDUc8Wq9bbYlreEN2/nZcUoLG6AoWtMfelRqgDcGIJLnSGnxBpQO1myttWz+0jg9jKDW/feCp9a46HK/TifqcJUkBWndXgKQzufLr4t6G3KYUIkcld2mZwpkV2FKISUju7moI5xERbPVwJVmFrLdn8GOvSwi2F3Hd9lwGVRsJDKrD15SF1RCE6XAftOtr+HZUGM+b7ufxpH+j+cmbPtde0t3Vv7A5miA/FfK3u3pYzobshJIDcHQdWItcxzxCwCe6yz/YHcomV3DRGq8IiLsBvHq7XuaI82+oQxAEoZuIYKuHW7ToO1YMHoqRGv72/iKiM/YhNzUhNzVxfAplgrsXHhc9iNsqBV+O9eMFzd/4R/mP9EEEW2fNVu0aJvv9fBqbBbLWu3qfsje5htDOlcEPIi6GiNGud3NEtwQxu8UEeUEQhLMigq0e7MDm3XzT15MKhRdztizhkldfQBMSDIAsy+BwUL97D1VfLiRm2fMYvRKRpZv5dLwv68J0JB/IxdwvtJtbcZ6SZaivhIqjv81BOv6qPAq1padP79MHBt/oCpB6jXQNo50tlU70EAmCIPRgItjqoRwOB/8+vIV9IUO4pmwZN/hGnwi0ACRJApUKfUI8+oR4/J56Cr/vvsfr249YPewWfjWM58pfP2Zsv//rxlZ0IqfT9WTYiafFalqZKC27jp/89Je12DX3qCLT1Ut1guSaoGoOhz6XuYbKPIJaziFSaSFkCLgHdHIDBUEQhJ5CBFs91IeLf+aX4HgS7DuYtqyGL+7NI+2nG7E5bDTYG1zvjgbsJwcYOpBukOmbvp2fky5nXUgV2+5J4sfRSjQ6Azf2u5Gb+t2Em8qtexplLYH0JcTu+hQ2ZZ79I/Sy0/WYf3vXtnHzcj395REIg65zzUM6PgfJMwzUurOrjyAIgvCHJoKtHiivqppXDG54Uc60XzN5b/AaDh60MsR/CL5uvmhVWnRKHVqlFpVC5erlOokzGrZXVfKraQh/d9oZ+9EWVlznx2upr/HFgS+YNXgW06KmoVJ04q9HU70ruKotdU0i3/8D5GwE2YnOLQgGTXcNn50tjQF0HseeFPNwTexWtPL0pdbdFWAZfEF1Dk+mCYIgCMIpiGCrB5q5YQ1WtwCeyPqWwqp09GOj+XLoU/T16tvmPJw7tvF6dT/2Je8gOT+Ea17fxZVPzuRlYyrPbnqWefvm8WDCg0zoNaFFsNZMkw3ytrrmNh0fiqstcX3dVN/y+sZa17kGS/Pjvn3h4seh/xS27i8heaxYgFUQBEG4MIhgq4cptVjZ5RbIhMZVeP3sRsxzD/F01GWnD4ha8UBsPO+v3cYvgVGEDB9HfPD38NIHvPHSS6SOvZPXUl/jkZRHeDD+Qe6Jvee3hLIM5Rlw5FfIWOlaksB+UlCl83T1FBn9XO+/p3aDyHG/nTf6u4bpfKJ+u+bAGSafC4IgCEIPIoKtHub17xbgCBtCVHYNkx6/Ht/ohLPKx12tYoKzlCXKIUzz+o68vnMIaaij4MknSfrvq3wTdBl/LnuT/6W+RvSaV0k+vvOCvQHqylxfe0VCwq0QNR78+rsCKJW2YxoqCIIgCBcIEWz1IF+nLuSgyQ2dXM/F5UZ8E88u0Druz0OSWZp6iNXRXtR9n4/vvf9A9+K95D/4AKEXl/HskMFkq6w86VHPfPfBRCkNrqfvAuMgcrxrArkgCIIgCKclNsjrIVbnrMbxbQF73YPoaz/ARff/6Zzz7O3pQUJ9Jmu1w/GN2MPqLw6h7VuBxlMid1MgzrgXeG3ad7jpPHmQEiyTn4er/gdD7haBliAIgiC0kQi2eoC9ZXt5fcXLuBuiqVB6Mbi2GKXpHDckdTohP5X7HPnYJD0b+tgwKCtY3vRPzB8tRx0YTO69f8J0tJz/jv0vRbVFPLbmseZLSQiCIAiCcEYi2DrP5dbkcv/K+3kw80Z+6eWaOD6l39D2Z9RYB3k7YMcn8P198J8+8P5YJqc+Q1RDJr+YhjB4sgmHpGPF10UEvPsBSpOJ3HvuoZ/VxNPDn2Zz4Wb+s/0/HdtAQRAEQbjAdcicLUmSJgOvAUrgA1mW//W7838C7gccgBWYKcvy/o4o+0JW11TH/Svvp195JNFyL3Z6FRLkzGNYzKWnT2gtgaLdULTnt1f5Eddin+B6YjBqPERPQooaz9WbNvCi5MMP1b9y1cSxrF9STcpP5Yx7/31yb7mFnLvv4oovvuBQv5v5/MDnpOSm4Kv3xVvnjbebNz5uPowJGUM/736d/0MRBEEQhB7mnIMtSZKUwJvARCAP2CZJ0o+/C6a+kGX5nWPXXwW8Akw+17IvZLIs89zm58i2ZPNC7v0UU8kRbQQTnGkoFMqWCfb/6Oq1Kt7rWuvqOFMvCBgEA6a53gMGuVZDP2mpiPtGT+azdav4wT+GK5cfImFsb3asLCPVz43ED94n+9bbyLnrbh6e9zHebt4crjxMeX05Ry1H2Va8DUuDhTd3vsmEXhO4b/B9RJujO/8HJAiCIAg9REf0bA0FjsiynAkgSdJCYApwItiSZbn6pOsNtHsflT+eHzJ+YEnmEp6Vn8Yk61kYsAO71IuLTZ4tLz70M3x9O3j2gqgJvwVV/gPAzXzGsnRaLVdr6nnT0Zt1/dcybFMj0YmR7Pw1F6+gvvR6601y776Hgj/dzx0ff4xykKFZ+urGaubvn8+8/fNYmbOSyeGTmTV4FhGm3ybRO2UnNrsNrVKLsrVgURAEQRAuUB0RbAUDuSd9nwcM+/1FkiTdDzwCaIBxHVDuBSuzKpPntzzPUL+h9F/tRZW9hPQwT7SyjWn9JjS/uGCnK9AKGAi3LwWt8azKnDP0cr7YsIFFoX5cdTCAuv27COjdn5QvDjLtkQSC//sqeQ88SP6DDxDyzjsoNL9tbeOh8WDW4Fnc2O9GPtn3CfMPzGdF9gqCjcHU2+upa6qj3l6PjEy8XzyfTv603YuwCoIgCEJPJclnu9nv8QwkaTowSZblu499fwswVJblB05x/Y3Hrr+tlXMzgZkA/v7+iQsXLjynurWF1WrFaDy7AKUzNDobebnoZWocNTwl/5XE/SZ2Ff/KkzdfRJCjmL9oQk5cq6svJj7tSWRJRWrCizRqvc6p7K9qM/lWn8Dc7DVcmZ5AmnUN+ap4JNzoPUnCfedmTJ/Oo37kSKpvveWU+dQ4alhdvZpKeyVahRaNpEGr0GJxWNhk3cQ9vvcQq489Zfrz7Z4ILuK+nH/EPTk/ifty/umKezJ27NgdsiwntXauI3q28oDQk74PAQpOc/1C4O3WTsiy/B7wHkBSUpKcnJzcAdU7vZSUFLqinLZ6ZtMzFDYV8vaEt9F86QCgrJeNMoUvU1X5JI9Jdl1YXwkfTgKFE+5cwki/tu+LeCqxdUNYvnkni4PNXFGtIi5/NHrvgxzJ74Nlt4Gxjz1BhZsb5e+8S8SlkzFPn37KvK7kyhbH7E47036YRoo9hdljZqOQWn8Y9ny7J4KLuC/nH3FPzk/ivpx/uvuedMTSD9uAaEmSIiRJ0gAzgB9PvkCSpJNnTF8OHO6Aci84y48uZ9GhRdw58E5GBY2iKaecRoeN3cPCAZgSFu+60N4AC2+GyqMw4wvogEALwEtvYLIqjzTlQHaPrMKpcmIuMDJksp7io9Ws+eIgPrNnYxg5kuJnn6N+z9525a9SqLhv8H0crjzMiqwVHVJnQRAEQTjfnXOwJcuyHZgNrAAOAF/JsrxPkqRnjz15CDBbkqR9kiTtxDVvq8UQ4h9dla2KZzY9Q5xvHLPjZ1N8pAKzUkd5QwG71J4EOAsZkrUcfpgNH0yA7PUw5S0Iv6hD6/GX+AmosPNxeR4eE8Lw04VStmktiZeFkb6piD1rCwn6z8sofX3Ie+hB7JWV7cp/Uvgkos3RvLXzLbFAqiAIgvCH0CGLmsqyvFSW5RhZliNlWf7nsWP/J8vyj8e+fkiW5QGyLA+WZXmsLMv7OqLcC8mXB7/E2mRl7oi5qBVq0r/ZjofanUrFYQ4qI4m17oOU5+Hwz6BUwxX/hdhTD+OdrRB3b8YqM9msHswecx4OnZPAml54+RUREefDhkVHKCyUCXntdRylZRQ89jiyw9Hm/BWSgtmDZ5NVncXijMUdXn9BEARBON+IFeTPA42ORhakL2BU8CiizdE4HU4sWbUA7BrUQJOkYaxvGPytBB47BPesgqQ7Oq0+Tw4cjgMF7+fvxeuKGMzaAA59uZqxN0VjDtCz7L09WD3D8P+/p6ndsIHSN95oV/5jQ8cy0Hsg7+x6hyZHUye1QhAEQRDODyLYOg/8lPkT5bZybuvvGl3N+fhD3NUSDtnOzpAoNHID1yRcBiptl9RngHc4w5UZbHAbzHb7IWRPBZGKQexZ+RNXPhCH1k3Fkv/tQjn2CkzXXE352+9Qs3Jlm/OXJIkH4h+goLaAbw5/04ktEQRBEITuJ4KtbibLMvP2zyPaHM3wwOGw60sO/JKBt0pJeWMhe9Vh9HFm46EznDmzDvRYTF/qJT0LStbjuNgbd7UXxT/vRZLqueKBOBx2J4v/twvTnKfQDRpE/qOPUZeW1ub8RwSNIMEvgfd2v4fNbuvElgiCIAhC9xLBVjfbVLCJI1VHuDX8SqTNb9Hw6f0U6odg1niQHlpIsRTAkK7p0GpmVGAsCZoK1hmHk3L0VRwBSvoahrJxwed4Bxm57L5YasptLPvwIAGvv4nK34+8P82iISOjTfkf790qrS9lQfqCTm6NIAiCIHQfEWx1h/pKWPsSfH0781bcj4/DyWXfPgwr/sLhsom46Y0oJCU7Q10bR1/Z+9QLgHamR/skUil5kxHgJC1gE24qdxrSqig+mkFQlCcT7+pPcVY1q74tIOT9D0CjJufue2gqKmpT/kkBSYwMGskrO15h8jeTeWrdU3x18CsKGgtwHt80WxAEQRB6OBFsdSVZhn3fwRtDYdU/OVyUygalnRs8+qG5/BUcV39JhqUv3opaZGQOGU0Y5RqGBsZ0S3XHeXvQV69mmTQVpcc8MkLy6O85nJT338fpdBAZ78fF18eQtaecXbua6PXeezirq8m95x4cFkubynjx4hd5YsgT9Pfuz5bCLTy3+TleKHyBy769jALr6dbGFQRBEISeQQRbXaW6ABbe5NrH0CMQ7l3DZwlT0Sl1XHfFBzDkLso3ZFPiNQg/nZIjjqMc0YYzQFGMUtE9t0mSJO4PCyRPCiZd25eywLepVTbhWe7Jrl+WATAoOYTe8b7sXpmLFB5NyJtv0piVTe599+O0nXkulklr4pb+t/BK8iusmr6KpdOWcpP3TVgaLDy0+iHqmuo6uZWCIAiC0LlEsNXZnA7Y9iG8OQwyVsHE5+DuVZR5BrMkcwlToqbgqfPE2djI0e/X06j1xKQwsisgjzLJj4u8u3Zi/O9N9TMTrFWz0m02nuZ89vWbR6Q5kS0LF2CtKAcgcXIYjTYH+9bmYxg+jKCXXqI+NZW8hx7C2djY5rIkSSLUI5ThxuG8ePGLHKw4yNMbnuZc9+8UBEEQhO4kgq3O4rDDroWuIOunRyAoHu7bCKMeBKWKhekLsTvt3NzvZgAs335LoaY3JpUDpaTiYJAEwIRuGkI8Tq2QmBnqy84Gd/J0N+ITvI3D3luI0MWy6pN3AfAL8yC0n5mdK3OxNzrwmDyJgGf+Tu2ateQ/2L6A67jRIaOZkziHn7N/5r3d73V0swRBEAShy4hgq6M5miD1M3gjCb6717U21vRP4dYfwKs3APX2er48+CVjQscQbgpHbmyk9L33KQscQrifTL6igjyTL+7UEOsV0c0NgpsCvfFQKVjjfhsOhx5b+Fr6eQ0na+t2MnZsASBhUhj11Y2kb3ZNjjdfdx0Bf/871pSUsw64bh9wO1f0voI3dr7BqpxVHdomQRAEQegqItjqSEd+hdcT4MfZoDO5Nom+dx0MmAqSdOKyV3e8SlVDFXcOvBOAqu+/p8KqpUGhxyTbSZdyydRFMFhT1m3ztU5mVCm5PciHZWVWLNorMZqPUqEoJTZ0HCs/eodGWz3Bfcz4hXuQ9nM2TofrSULzjOsJ+PtcV8D10MPtDrgkSWLuiLkM9B7In9f9mcOVYv9yQRAEoefp/k/yC4Esw+Z3YP500BrhpkUwMwX6Xg6/C5bW5a1jQfoCbu53M/F+8chNTZS/+x6WfmORJNDYFGT4lFMu+TDCU9ctzWnNXSG+qCWJdaZrUSicFEStJ0o/mPpyCxu/mo8kSSRODqO6zMaRHSUn0plnzHAFXKtXn1XApVPp+O/Y/2JQG5i9cjbzD8wny5Il5nEJgiAIPYaquyvQ4zmaYNkTsP0j6HsFTHvXFXC1osJWwf9t/D+iPKN4OPFhACw/LqYpP5/KYYmEuBsprsmhxN8VZI3zj+yyZpyJv1bN9AAz3xRXMropEp15K3LD1YxOuJ6UpfPpd1EyEbGRmAP0pK7IJnqIP9Kx3jzzjBkgyxQ98ywFTzxJ8KuvnDjXprIN/rw+7nX+vO7P/GvrvwAINgYzKmgUwwKH4a5xb5HGpDXh4+aDl84LlUL8mguCIAjdR3wKnYv6SvjqNji6BkY9DOPntujJOk6WZZ7Z+AyWBgvvTHgHrVKLbLdT9u67SAOTKK+AqOBG9tQVU+jphwfVxHp1z2Kmp/KnUD/mF1awQX8XV6n/QklUPgEF4eiNnmz6ZiFTH/8bCZPCWPnpAbL3lhM+yOdEWvMNN+CosVL6yitYksfgOXVqu8oe6DOQxdMWk1uTy8b8jawvWM/izMV8deir06aTkDDrzPi4+XBP7D1MDp98Vm0XBEEQhLMlgq2zVZ4BX1wHldkw9W0YfONpL//uyHesyl3FY0mP0cerDwCWJUtoysmh4YknYSuoai3kKErJ0F3MYG0ZivNgvtbJog06Jnh78KulL5NkDcV+q/A/cisjBk1j5eaPqakoI3qoP1sWZ5K6PLtZsAXgfdedWNeuofgf/8QwbBjqwMB21yHUPZTr+17P9X2vp8nRxMHKgzQ6mg9NOmUnlkYL5fXllNWXUVZfRlpJGn9Z9xcCDYHE+cad089BEARBENpDBFtnw1oKn02Dhhq4bTGEjTjt5TnVOfxr678YFjCMW/rfAoDscFD+9jto+/Ylx+mHm0cVRTV51HvJVEhejPQ4Pzdnnhniy3Xl1WxwXsMo9WIUUbPwKVCikBXsXfULI669gfiJvVj35WEKjlQRFOV5Iq2kVBL0wgtkTplK4V//SuiHH7ZrOPH31Eo1A30GtulaS4OFGUtmMGf1HBZesRA/vd9ZlysIgiAI7XF+dZ30BE31sPAGsJa4JsKfIdCyO+38ed2fUSlU/OOif6CQXD/y6qXLaMzOxmvWLHL3VxAeYyKHSiz+rkVMk/17d3pTzsZos5G+Bh2rtZeh0VopiNqNXOcgqc/l7F61AqfDQb9RQbi5q9mxNKtFek1oKP5PPEHtxk1ULui6DahNWhOvj3sda5OVOavn0OBo6LKyBUEQhD82EWy1h9MJ38+CvO1w9bsQknjGJMuOLmN32W6eHv40AYYAwNWrVfb222hjYqjrPYSGOjtmqYpCRSWFXv6YsBDr3b2LmZ6KJEnMDPEl06FnnzOO4rqf0IS600vbF2t5GZlp21FrlAye0Iuc/RUUZrTcI9Hz+uswXHQRJS+9TGN2dpfVPdoczQsXvcDust08t+k58USjIAiC0CVEsNUeq55zbSQ98VnoP6VNSZYeXUqQIajZxOy6bdtozMzEe+ZMcg9UIklQkZ+DU4JD2l4M1px/87VONs3fjJdayQrpRtTq3ciDNCiqIcgnit2//rZnopu7mq2LM1uklySJwH/+A0mtpuDPf0F2OLqs7uPDxvOnuD/xQ8YPfJH+RZeVKwiCIPxxnb+f6Oeb1Hmw/hVIvANGPtCmJFW2KjYXbGZSxKRmc5Osq1OQNBrcx40le285AWF6qhts1JskKjAz0qTprFZ0CDelgtuCfEhTRFKm9CZDWgZKibjIiRzduQNLSTFqrZKESWHkpVdScLiyRR5qf38C/vZX6lNTqfjkky6t/6y4WYwNHctL217iiwNfcLDiIE2Opi6tgyAIgvDHIYKttshcA0vmQOQ4uOylZqvBn86vOb9il+1cGn5ps+PWlBT0w4ZR36SkNKcGX005ZYparEEeACSfR+trncptwT6oJAVLHdOoqF6GW18vTFYzChTsWbUCgAEXB6P30LB18dFW8/C48krcJ06g9LXXaczN7bK6KyQFz1/0PDHmGF7Y+gLXLr6WoV8MZfri6fx1/V/5JfsXMcQoCIIgdBgRbJ2J0+EKtMwRMP0TUKrbnHT50eWEeYTR16vviWONWVk0ZmdjHDOG3P0VAGjKKyhRWCjw9sdMFYO8+3R0KzpcgFbNFD9P1quSceqKqY+xItc5iBs4kT2rfsZht6PWKEmYHEb+oSryDrbs3ZIkCf+//Q1UKopf+FeX1t+oMbLg8gX8MPUHXrz4RW7tfyveOm/W56/nkZRHeGDVAxTVFnVpnQRBEIQLkwi2ziR9CVRkwLi/uvY7bKOy+jK2FW9jcvjk5kOIa9YAYEweQ/a+cnSGRmjU0ig5SFcGEacpRaFQdngzOsM9ob7YULNWGsfhum9Q6FVEesVTZ6kiY/tmAAaMDsLgqWXr4sxWe4vU/v743jcL66pVJ342XUWpUNLb1JtLIy5lTuIc3pn4Dqumr+LxpMfZUriFaT9MY9GhRaKXSxAEQTgnItg6HVmG9f919Wr1u6pdSX/O+hmn7GyxYnlNSgqaqEhUgUHk7q/AW5+PVSNTZ1JQhed5P1/rZHHueoabDCznKqprU1ANMqMsALNPELt+cU2UV6mVJF0aRuERC3kHWvZuAXjdeiua3r0p+ufzOBu6d0kGpULJrQNu5dsp3zLAewDPbHqGu3++m9yarhvmFARBEC4sItg6nax1UJDqmhDfzt6m5VnLifKMIsocdeKYw1pL3fYdGMeMofhoNbbaJgw1NZRIFipDXPspXhLUv0Ob0NnuCfWlTPLmgD6SdLdUsDtJir2SnL27qCzMB6DfyCCMXlq2nKJ3S9Jo8P/rX2jKyaHio4+6ugmtCnUP5f1L3mfuiLnsL9/P9MXT2Zi/sburJQiCIPRAItg6nQ2vgcH3jFvx/F5RbRFpJWlcGtF8Ynztxg3Q1IRxjGsIEWcxPvhRrLKQZw4ggFL6nBSc9QSTfUwEaZSsYgI55T+AjwZfexAKpZKtP7iG4JRqBUmXhlN8tJrsveWt5mMcNQr3Sy6h7N33UJS3fk1XkySJa2Ou5durviXYGMx9K+9j0aFF3V0tQRAEoYcRwdapFO2BI7/CsD+B2q1dSVdkuZ7G+/0QojVlDQoPD/Tx8eTsq8CgzcRD60+Vopp0RThD9dZz2r6mOygliesCfdgrDUb2LCEjoAJHbh1Dxl/N3tW/kPLp+8iyTN+RgXj46Fj/1WGsla0PFfo/9SRIEu6Lzq+AJtAYyLxL5zE8aDjPbHqGV3e8ilN2dne1BEEQhB5CBFunsuE10BhhyF3tTrr86HL6e/enl0evE8dkpxPr2rUYLxpFXZ2TkuwKTI02ypRWagNlbJKeZJ+euV/ftQFmnChIcxvMPssaHDgZFJZMwqVXkbrsR1Z++BYKCSbcMYC6mka+eyWV6gJDJvMAACAASURBVPL6Fvmog4LwufdedGk7sa7f0A0tOTWD2sAb497gupjr+GjvRzyx9gls9vNz/0pBEATh/CI2om5NZTbs/RaGzwI3c7uS5lbnsrd8L48kPtLsuG3ffhxlZRjHjCFnXznOxiMEGMIo0VRT7OuJhJOJwYM7shVdJkqvI8Fdw9rqsQwyfkCm/3D6pekZ8+jdqDQatv6wCHtjE5f86QGmPBTP4v/t5Lv/pDJ1TjwmX32zvLzuvIPC+fMpeu5ZwhcsQOXl1U2takmlUPG34X8j1D2U/+z4D4cqD9HH3AezzoxZZ8ZL64WXmxcB+gACjYF46bxO7IUpCIIg/HGJYKs1m94ASQHD72t30hXZriHESeGTmh23rlkDkoRh9Giyvs5Hch4kyDCFQ+5HyHIPJUpZiq8uoUOq3x2uD/TjyZpGGgIVpBUdIbLSTFOulYtuuA2VRsvGr+fjsDcx+b45THk4nh9f28l3L6cyZU485gDDiXwUGg3VN9+M+q23yLrhBnq9/z6aXr1OU3LXkiSJ2wfeTqh7KJ/u/5QDFQeosFVQ01jT4lqVQkWAPoBQ91Bmxs4kKSCpG2osCIIgdDcRbP1ebRmkfgax14EpuN3Jlx1dRpxvHEHGoGbHrSkpuMXFIbl7kr1nI544UEpqSpW5ZEiJ3OLR+rIIPcVVfp787XAum1VJDFJnckTTC+OmArRhfRlx7Q0o1WrWffEJkiRx6exHmfpIPD+85urhmvJwPN7BxhN5NfWJodfHH5M3axZZM24g9J23cYuN7cbWtTQ+bDzjw8af+L7J2USVrYpyWznFtcUU1haeeO0s2cmdK+7ktgG3MTt+NlqlthtrLgiCIHQ1Mcbxe1vfA3s9jHqo3UkzqzI5VHmoxVOI9tJSbHv3YkweQ8HhKhrrcgjWR1GtrKfE14FDUjEhoGc9hfh7ZrWKS7yNbJRGExpezi63XKw7i6nbVQrA0CnXMuLaGzmwPoVDm9fjHWxk2iPxKJQKvn1pB/s3FDRbFkKfEE/YggUo9Hqyb7udmtWru6tpbaJWqPHV+9LXqy9jQscwo+8M5iTO4cWLX+T7Kd8zPWY6n+z7hBlLZnCg/EB3V1cQBEHoQiLYOlnWBtcipn2vAN/2b5mzMmclABPDJjY7bl27DgDjmDFk7S1DdhYTZIiiMsBOnpcvGpq4yDfs3Ovfza4P9KMaE9lmA5YGC1l+Fiq/PYy9zDUZfvjV1+PfO5qVH71DXbUFc4CBqx9PwCfUndWfpfPTW7uptfz2pKK2dwThC75A27s3effPpuKLL3DWt5xYf77Tq/U8PeJp3hr/FpYGCzf+dCPv7nqXKltVd1dNEARB6AIi2DqueD8suAHMYXDV/84qiy2FW+hj7oOfvvlThdaUFFT+/mj69CFrdxme2gaMKk/KjBUc1kYRq7WgU/b8WzHWywOz0sFaeSi9e9tZX7+XYslC+RcHkJucKJRKJs96iIbaWlZ9/C4AHt5uTJ0Tz0XTo8lPr2TBM1uoypJP9HKpfH0Jm/cphlGjKH72OQ4mJpFx2eXkP/IIZe+9T+3mzT1mO53RIaP5bsp3TAibwBs732D0l6OZuGgis1fO5n9p/+PnrJ/ZUrilxau1+WCCIAhCzyHmbAFY8uDza0Cjh5u/AX37n4Cz2W2klaRxfd/rmx2XGxup3bgRj8svx1JSj6W0Dn+HKzjIV+0nT7qe673sHdKM7qZWSFwT4MPH+Uk8EZtDVZWR5TVpXFoYh+YnD8xTo/DpFc7wa65n41fz6TNyNNFDRiApJOLGhxI20JuVn+4nf3M1vzj2M/HO/kiShMJgIPTtt7CuXYtt335sB9Op37Wb6qWuLYH8//JnvG69tZtb3zYmrYmXxrzEDX1vYHfpbtIr0zlYcZD1+etxyI5W04S6h/LRpI8IMAR0cW0FQRCEjvCHD7ZUTVZXoNVohTuWgefZPfm2s3Qnjc5GhgcOb3a8LjUVZ20txuQxHNldjuwox0PpRZNkJ8PoCromBsacczvOFzMCffkgv5JlVQ08fsuNfPrp5yx37uKyLRLaSBP6Qb4MnTKdw1s38ev7bxLSbyBuRncAPP31THsska9eX83hbcUMnhCKX5gHAJJKhfu4cbiPG3eiLEd1NfmPP07Jq//FOG48mpD2P9DQXRL8E0jw/+3pU5vdRqYlk7qmumbXVdgqmLtxLneuuFMEXIIgCD1Uzx+7OhdNNgbu/SdUZMKM+RAw8Kyz2lq4FaWkJNE/sdnxum3bQaFAP3Qo2XvL0LtXYtL4UOZRR7Z7EO7UE+vhfq4tOW8MdNcTo7OzxjkMh2MPt912G1qDjmW6nWQsSsVeXo9SpWLyrIexWWtI+eS9ZukVCgmfvhJIkLW77LRlKT08CJw7F0mSKPr733vMcGJrdCod/b37kxSQ1Ox1SfglvDvxXSptldy54k6Kaou6u6qCIAhCO/1xgy2nA769G0/Lfpj2DkRcfE7ZbSncwkCfgRjUhmbH69NS0cbEYFdoKThiQetWjqfWn0rfo+xXDGCooRFFJ23RszGjjJdXHMTW1PrwVGeZERRMhhTDptxlmM1mbr/9dtR6DUulHWR8lQqAX3hvhk6dzv51q8lM3dYsvUonERBhImvPmfdIVAcF4fvII9SuX0/14sWd0p7uFusbKwIuQRCEHuyPG2w11oK1lCORd8HAa84pq5rGGvaW72VY4LBmx2W7nbqdu9AnxJOzvwLZKeOoK8Kg8iDT4yiVkjcTAzrnKcQaWxMPLdzJG6uPcNMHWyiztr4fYWe4NsAHJTKLK7WUlv6Kl5cXt91xO5Jayc+Fm3Ece+Jw+NXX49MrnJUfvd2iVyo81pvSnJpT7qN4MvMNM3AbPJji51/AXlHRKW3qbrG+sbwz8R0RcAmCIPRAf9xgS+cBty8hL/Sqc85qR/EOnLKTYQHNgy3bwYPIdXW4xSeQtacMrR6cla799A4YXQtbjvUNPOfyW/Par4cpszbw8IRo9hVYmPLGBtKLqtuc/khJDe+tzcBS19Tusv20akab3dmiSCb94Fzsdis+Pj6MHDqcckUNBVsyAVCq1CRePpXq0hJKjmY0yyM81geArD2nH0oEkJRKAp97FkdtLcUv/Kvd9e0p4nzjTgRcV/94NW/vfBtLg6W7qyUIgiCcwR832AJQqjskmy2FW9AqtcT5xTU7Xp+aBoBu8GBy9lbgG2LDQ+VNtbqcw7pw/KkhzK3jVxM/VFzDxxuzuD4plIcnxPDVvSOwO51c89ZGVqUXnzKd3eFk+d4ibvpgMxNeWcvzS9OZvSAVh7P9c6Gu9DNTLHtzqFFPRuYrAAxIcq0Cv3/3vhPXRQx2zXE7mra9WXqvQAMePjqy2xBsAWijo/GZOZPqxYuxrl3b7vr2FHG+ccy7dB5J/km8testJn8zmddTXxdrdgmCIJzH/vBPI3aELUVbiPeLb7ENS31aKip/f8objNhqm9DqyzFqfCny2s9+xjLJ0PETumVZZu4P+zBqVTwxuS8AsSGe/HD/Rdw9bxt3fbqd+5IjCfNuPressMrGl9tyKLDYCDLpeHxSHzRKBf9ceoD//HzwRF5tNdnHxBOHcjlgvJvwvL8SEDAFszkOX4MXGdW52KsaUHlqMXiaCYiMJjNtG8OvmXEivSRJhA/yYd/6ApoaHag1yjOW6X3vTKqXL6fw738ncvFiFAbDGdP0RNHmaF4f9zoHKw7y7u53+WDPB8w/MJ/k0GQ0Sk2za0PdQ7lr4F0oFWf++QmCIAidQwRb56i8vpzDlYe5LOGyFufqUtNwS4gne285CoVEY10B/oZebAjYi03Sc0mwb4fXZ8nuQjZllvPc1IF4GX774A0w6fjq3hE8+tUu3lyd0Wrai6J8mHvVAMb39UN1bJHVzDIrb6VkMCjYxKWD2j7k6a1RMdLTyAbbQKao/UhP/ytDkr6j34D+rN26ntLtOQROiAYgIn4Im75ZQF21Bb2H6UQe4YN82L06j7z0SiKODSuejkKjIfC558i+8UbK3n4bv8cea3N9e6I+Xn14JfkVMqoyeG/3e6SWpDY775SdlNSVADAzdmZ3VFEQBEFABFvnbFuR60m638/XaioowF5UhD4hkew9ZQRGmyg9eoSBxkSOGl2BTJLXmQOI9qhtsPPPnw4wIMiDG4e2XC9Mr1Hx1k0JFFc3YHc6m53TqZX4GFsOaf79qgEcKKzh0a93EelnJMa/7ctUXOHryZOH8pCinsN6eCa5uR8xIHEqa7eu58CuvSeCrd4JQ9i06AuydqXSf/TYE+mDYjxR65Rk7S5rU7AFrj0VTVOnUvHpPDxnzEATEtLm+vZUkZ6R/Pvif7c4LssyT657kjd3vkmif2KLZUkEQRCErvHHnrPVATYXbsaoNtLPu1+z43XH5ms5omMpz68lKEpHXWklSqeaAq0nOrmBUJ2mtSzP2v9WHaGo2sazUwaiVLS+nIQkSQSYdISY9c1erQVaAFqVknduTkSvUXHvZzuw1Ld9wvxlviYkYJO9Pz4+E8g8+jru7jY83TzIqMrFXuV6WMA/IhK9ybPFEhBKlYJe/b3I2lOG3I55Y75zHgaVipL//KfNaS5EkiTxf8P/jxBjCE+sfYJKW2V3V0kQBOEPSQRb52hL4RaSApJQKZp3EtanpiLp9RTVewLgZjy2mKmqlAJVIOFKa4eur5VRauXD9ZlcmxhCYpi5w/IF1xDkWzclkFtRxyNf7sTZxsDHV6NmuKeBJaUW+sT8HUlScuTIC/Tr148CRSWVqfkASAoFEYOTyNq1A6ej+Zpg4bE+1FkaKc1t+/6Aan9/vO+6i5ply6lLTT1zgguYUWPkpTEvUWmr5OkNT/fohV8FQRB6KhFsnYN8az551rwWW/QA1KWl4RYXS256Fe7eOqzlOZg0vpR6HCGXMAacoifpbL2x6gg6lZIn2zmRva2GRnjx9BX9WZlewrdp+W1Od4WvJwdrbeQ4zAQHzaCsfA1943ojSzLpaftPXNc7IYmG2loKDh1olj5soDdSG1aT/z3vO+9A5edH8Qv/Qv7dkOkfTX/v/jya9Chr8tbw2f7Purs6giAIfzgi2DoHWwu3AjA0YGiz4w5rLQ0HD6IdnEheeiVhA7wpyjyMn2c4Od5l1EkGEnw6dn2tQ8U1JIWb8XXv+KUkjrt1RBi+7lrWHS5tc5rLfV09ez+VVuHtPQZZbsTNLReDRs+RqhzsFa6hxLDYeBRKZYslINyMGgJ6t201+ZMp9Hp8H5mDbc8eqn/6qV1pL0Q39r2RcaHjeDX1VfaW7e3u6giCIPyhiGDrHGwu3Iy3zpsoz6hmx+t37QSnk5rgOJoaHIT2N1N05BBe+kByXLEHsSb/Dq1LQVU9wWa3Ds3z9yRJYki4mW1H275Ke4BWzVCTgSWlVXh6JqFU6qmoXEffPn3IU5RTvcu1ErpWbyC4T38yfxdsAYQNavtq8iczXXUVugEDKPnPKzjr69uV9kIjSRLPjnoWXzdfHlvz2IkHOwRBEITOJ4KtsyTLMluLtjI0cCjS7+Ze1e9IBYWCErsPCqWEyddBnaUKHBqK9e5IOOlv7LjAqK7RTmVdE0GenRtsAQwJ96LAYiOvsq7Naa7wNbHPaiPLBmbzCMrL19B/8EAckpNDJw0lRiQMoSwni8aa5ivdt2c1+ZNJCgX+f34Ke1ERFZ980q60FyKT1sTLY16mwdHAnSvu5Pblt7OpYJOYxyUIgtDJRLB1ljItmZTVl7VY8gGg7tjm07mHawiMMlGel4mb0kipXEmRxp9ARS0GVcctMllQ5eq1Ce6iYAtgW1bbe7cuO3ko0WsMNlsufn5OdCoNRyp/G0rsHT8EAEtOZrP0x1eTb2+wBaBPSsL9kksoe/8D6vftw15Ziezo2o25zyexvrEsu3oZTw19ityaXGb+MpObl93MqpxVpFekt3jl1uRS3ViNU/5jz3sTBEE4F2KdrbO0uXAzQKubT9fv2o32yumU51sZcXUkRUdWYXbzp9xwlBxpEAP0HfcUIkBeZdcFW/0CPXDXqth6tJJp8W1bwypEpyHeXc/i0iruHnAxAJVV64mJjiF9fzrWXSV4ju2FV3AIJj9/LNlHm6Vvtpp8gwO1tn2Bqt9jj2JdvZqsa649cUzh4YHSZML7rrswz7i+Xfn1dDqVjpv63cT0mOl8f+R7PtzzIQ+tfui0aRSSAjfJDZ/vfBjgPYDk0GRGBY/CQ+PRRbUWBEHouUSwdRYaHA18vv9zos3RhLg3DziObz5d4T8YiiFsgDcrPzxMkF8MGaZ0SpjADI+OXV+r4Nh6VZ09ZwtAqZBIDDe3q2cL4Ao/T57LKKCEcPT63q6hxLin2H1gL0dSD5A0theSJBERP4TdK5djb2xEpfnt5xSV6Mfu1XnsW5fP4AktF2w9HU2vXkR8/x22fftwVFlwWFyvuh07KP73v3G/ZCIqL6925Xkh0Cg1XNfnOqZFT2Nr4VZsDluz87IsU9tUi6XBgqXRwoGjB9CZdWwu3MzSo0tRSSoS/RNJDk0mxhyDXq1Hr9KjV+txU7nhrnFHIYnOc0EQBBFsnYV5++aRZ83j3Ynvtjh3fPPpErs3BlMDngE6ijMP0y96GGu99iNLCuLMHfskYn5VHSqFhJ+7rkPzPZUh4V6kHDxIRW1jsy2BTucKXxPPZRTwU6mFCd5jyM+fT7/hQagUKjIqc4grrkXtb6B3fBI7Vywhd/+eE5tUAwRGeRLa34sdy7LpPyoIjVv7fnW1kZFoIyObHWvIyCDziiup+PgT/B59pF35XUjUCjWjgked8boUSwrJyck4nA72lO0hJTeFNXlr+Pe2lqvXg2tfxocTHmZi2MQW8xoFQRD+SMR/O9upqLaI9/e8z/he4xkZNLLF+fq0VBQBgeRn1dNrgDdVhQU01tfTJKsodzcCMPDYe0cpqLIRYNKdctX4jjY0ov3ztsLctMQa3fi6qAKzeQxOZyNW6w6iIiPJUpZSva0QgJABg5BUqharyQMMn9IbW20Tab/mdEg7tJGReFx6KZXz52OvFKurt5VSoWSw32AeTnyY76Z8x7Krl/HRpI94c/ybvHTxSzwz8hkeS3oMrVLLo2se5bblt7G7dHd3V1sQBKHbiGCrnV7Z/gpO2cnjQx5v9XxdahoNcWNpqLPTa4A3eQf2IiFR3lBNsc4HPY0dvk1PfmV9lzyJeFxsiAmNStGuJSAA7gn15UCtjXVNfVAodJRXrCE+KYF6qZEDqXuRHU7UGi0ewb04mratxVNyfmEeRCb4sfPXXOqqGzukLT6z/oSzro6KTz/tkPz+iELcQxgSMISLQy5mcsRkro6+mtsG3MbXV37N3BFzya7O5qalN/HEmicosBZ0d3UFQRC6nAi22mFb0TaWZS3jjoF3EGwMbnH++ObTFb6xSAqJ0H5mMlO3ERAQRZk6nzxFKDG6xg4fUsmvqiekC4MtrUrJ4BDPds/butrfTH+Djn9nlWH0HEl5+Rqio6MxGTzY15SF7aCrd8mzdwyWkmKObN/cIo9hV0XgaHKyY1lWRzQFbXQ07pMmUfnZ5zgslg7JU3BRKVRcG3MtS69eyj2D7mFV7iqmL57OgfIDZ04sCIJwARHBVhvZnXb+tfVfBBoCuXPgna1eU7fDtQ9fcaOZgAgPFEoHOXt2ERU1lBqPLHIJo79R37H1cjgpqrZ1ac8WwJAIM3sLqqltsLc5jVKS+EtkENm2RtaqplJfn4PNlkPSsCEUKqvI2XgIAO+Y/niH9GLt5x/hsDff+NocYKDfyED2rs2nuqxjFir1uW8WztpaKj6d1yH5Cc0Z1AYeTHiQ7676DoPawMxfZnKo8lB3V0sQBKHLiGCrjb4+9DWHKg/x+JDHcVO1HthUffMNjsBwykpcQ4g5e3dhb2rE7BmKxVyPTXIjzrNjV44vrmnA4ZS75EnEkw0J98LhlEnLqWpXuvFe7gw3GfioMgQbOsrL15CQmIBSUrArex8OayOSQsGYW+6iqqiQtOVLWpZ9eTiSJLFtydFWSmg/XZ8+uE+cQMVnn+Gorj5zAuGshHqE8uElH6JRaLjn53vIrMo8cyJBEIQLgAi22qDSVskbaW8wLGAYE3pNaPUa24ED1G3ejG3SrQD0GuBFxo6taNz0VNc1UOnhmhQ/yMOzQ+t2fEHTru7ZSgwzo5BgazuHEiVJ4unIIMrtMr+ob6G8Yg0Gg4H+0f04rCikaptrk+uIwYmED05k8zcLqatuPrxnNOsYNDaE9C1FlOdbO6Q9PrNm4aypoeLzzzskP6F1oR6hfDDpAyQk7vr5LrIsWd1dJUEQhE4ngq02eGfXO9Q21fLU0KdOOd+q4pNPkPR6Ksz9cHNX4xNsIDN1G+FxCRRWFFOqNyMh08fYscsz5HfhgqYnc9ep6Rfo0e5J8gCJJgOX+Zj4wTGB7Ip9OBw2hl08gibJwc6tqXBsXvyYm++k0VbPpkULWuYxKQyNVsmWHzumd0TXvz/GsWOp+HQeDmvHBHBC6yJMEXw46UOcspO7fr6L3Orc7q6SIAhCp+qQYEuSpMmSJB2UJOmIJElPtXL+EUmS9kuStFuSpJWSJIV1RLldwWa38WPGj1wWcRlR5qhWr2kqLsby01JM064m93ANof29KM05Sm1lBb3jhlDcWEiBOpBQVT0GZcdt0wOuyfEAQZ5ds8bWyYaEe5GaU0mjvf1buTzVO5AGWcl38pVUVW0hODgYfw8f9tZmorG4oi2f0DBix09m1y9LKc9r/oGsM6qJv6QXR3eVsW9dfoe0x+e++3BaLJT+9zWxFEQni/SM5L2J79HgaGDaj9MYvXB0s9ekRZN4LfU1Cq2F3V1VQRCEc3bOwZYkSUrgTeBSoD9wgyRJ/X93WRqQJMtyLLAIePFcy+0qq3JWYW2yMjVq6imvqfx8PjgcOC+5Dpu1ibAB3mTs2IIkKQgJ7U+d0TU5vp+hYwMtcAVbXgYNek3Xr087NMKLBruTPfntf4ovxqBjRoAnv0iT2VO8DUmSGDZqOJWKWhqyfstv5HU3odbqWDv/oxZ5xE3oRUhfMynzD7Jy3gHsjee256HboIG4XzqZys8/5/DIURydfh2lr79OXWoasr3tDwIIbdPHqw8fT/qYa2OuZXL45GavaHM0H+39iMnfTuahVQ+JDbMFQejROuITeihwRJblTABJkhYCU4D9xy+QZXn1SddvBm7ugHK7xA8ZPxBkCCIpIKnV887aWiq//BL3CRMoqlQDENrPiy3fbiUwpi/VeRacHtWUSAEM9DB0eP0Kquq7pVcLmm9KnRhmbnf6x3sHs6ionP+WeJEUns3A+FhWrPiZ7IoC5CYnklqB3sPE8KuvZ+38j8nanUZ4bPyJ9GqNkisfHMy2JUfZvjSL0pwaJs8ciKff2T/xGfzyy9juuAPrunXUrt9A2TvvUvbW2yi9vDBNnYrn9GvRRkScdf5Cc9HmaJ4a2qIzHIACawFfH/qabw59w6rcVYQYQ/B28252jUJSEGOOYVjgMIb4D8FT17FzIgVBEDqCdK7/W5Qk6VpgsizLdx/7/hZgmCzLs09x/RtAkSzL/2jl3ExgJoC/v3/iwoULz6lubWG1WjEaW1/RvdJeydz8uUwyTeJyz8tbvcYtJQWPhV9S8fhjZBRE0FANYWNq2fPZuwQPG417UxipvVfxps99PIaVJKlje0j+sr6OQIOCB+K7J+B6cm0dAQYFcxLPrvxFci2LCKaPfJD7pEpse1VkleUzPmoE9lDX4q9Oh519Cz9GoVQRc+V01IaW96umQCZ/s4wsQ/AwCY+QjlnLTKqtRZOejm77drS7diM5nTRGR1M/+iJs8fGgVndIOT3B6f5WOlOT3ERabRppdWnY5eZ/P3bZTk5jDo2ya5HbYHUw0bpoAtQBeCg9cFe6n3hXSxfevequeyKcnrgv55+uuCdjx47dIctyqz0zHdGz1dqnWqsRnCRJNwNJwJjWzsuy/B7wHkBSUpKcnJzcAdU7vZQU135vrflgzwfI+TIPjnuQUI/QFudlh4OM519AGRfLiDvu4NBTG4no74WfLoc9wPhrrufXj3+hwuD63/aMEUMJ6cDV42VZxrJqBZPiQklOHtBh+bbHmLJdrNhXzMUXj0FxFtsFjZFlRuRm8HRGGE/Kocweno7zJweW0kouu3E6ktI10h3m6c73L/2D/2fvvMOjKNc+fM9sr9kkm15JSCBAQuhFBJGuKE0RbKjYj3oseNRjb8d+LMfOp6goimIBFQUVsNF7TQKk97ppu5tt8/2xtEBCTahzX9degZ133ved3WTn2af8nq2fzSSp33mkj7qYqE5dmhUs1I10sGjmVgr+qqf7hdEMmJCIQtUGaYkX+w1tT0UFtm+/wzZvHuoPZxFk/Z7I5/6D8fzzT3yNM4DD/a20NyMY0eoxt8/NtsptrC5dzeqS1SwvX47Ld2iHAYVwaBg/WBdMj9Ae9AjtQc/QniQFJqEUz5yWsafyPZFpHfl9Of041e9JW3yqFAIHWiLRwCE9OQRBGA48DAyRJKmpDdZtVyRJYv6u+fQM7dmioQXQsHQp7vx8Qu+9h0abC3udi9B4M7vXrMYcEoaZQEqlKko1oRgFN1Gatv1mXetw0+jynvRKxAPpEx/El2sLySqvp3O4+ZjPFwSBq2I7Mig4nJs3ruDlhp70HCiiXJ9Jx6eWEdwxHG1yIHFJ3bn+v++y6ZeFbFv2K5nL/yAkNp700WPpOmQ4CqUSs1XHxBm9+PvrXWxaUkDRzhpGTu9KYHjbhG+VISFYb76J4BunY1+1irLnnqfgppsJmn4Dof/8J4K6bdswyRwdKlFFemg66aHp3Jx2M26fmypHlf/hrKLSUUmloxKnx3nIuYUNhWwo38Ci3EUA6JV64gPiEY8inVUURYK0QVh1Vqw6K8HaYIK0QSjE5kadgECAJmDfOL1SLzfmlpE5x2gLY2sNkCQIQgegCJgCXHngAEEQ/4vKngAAIABJREFUegDv4Q83lrfBmu3Olsot5Nblcn2361sdUzXrI1SRkZiGD2f3Jr8EQnC0lqUfbiL1wpFUbyvFbSilQBhAss7bLm164OTLPhzI3qbUT32/nbjg4zNq0qIDmNo3loUDh/PStiX8r7wbuX2j0Wz4g1EFAwneVgWAMkzPwIlXMOiKa9jx9zI2/vwDv7z/Jjv+WsYldz+IPsCCQiUyeEoyMV2CWPLxDr78zxrOn5xMynkRbfb6C6KIYcAA4r+cS9kLL1D9wYfY16wl6pWXUce0bJjLnDxUoopwQzjhhvCjPqekoYQN5RtYX76eooajq271+DwUNxSzuWIzNc4apJYd+oegU+oI0gahUWgOOdY9pDvTU6cTZz5jCrZlZGSOghM2tiRJ8giCcAewCFAAH0qStE0QhKeAtZIkLQBeAozAV3tuePmSJF16omu3J/N3zUer0DIybmSLxx2bN+NYt46whx5EUCopy6lFoRSx1+zG42oioVdf8n/LRm+spoBYrjC2fXL8Po2tk6wefyCxQXrOT7KSUVrPzvJj16dqbPLwzfpCpvSJQSEIPNhtGOalX/MUiWR3gx/X/c3Fl44jwRdGw/JiKt7bTMBFHUi9cBSpF45i+x9L+HXmW8x+6G4uvfchIjp2AqBDmpUpj/bl14+2s/TTDPK3VzFgQiJmq67NjC5RqyXi8ccx9B9AyaOPkjNhIuGPP4Zp1ChE2ct1RhFhjCDCGMFFCRcd1/kenwdbk40qR9UhRpdP8u07Vumo9P90VuL2Nm9F5fa5WZizkPm75zOmwxhuTr2ZBEvCcV+TjIzM6UObJCdIkrQQWHjQc48d8O+WZddPU5q8TfyU+xPD4oZhVLecUFf73XwEvZ6ASZMAKMutwxpjJHfTSlRaHZFxnVlXtQF3V4EmQUf3wKP/ln20nCr1+AMRBIHZ0/sd9/mz/s7hye+3U9Xowmr0f9PvIgRzgdHDL3XDeS7tRb5dLHHBBRdy/j8GUjNvJ7U/ZOPKryNwUhJdhwzDGhPHgv/+h7mPP8Cw6beTeqHfQDZYNFx6Vzobfsln1fxsdq+vwGDREJlkITLJQlSyBUvYiYd0zKNGouvWlaL7ZlB8/78QHn4EbVoq+h490fXqiT49HYVFrpI7m1GKyn1hwhOh0lHJx9s+Zm7mXBZmL2Rk/EiGxw1vNay5rXEbrlx/fppGoSHaFE20KbpFr5mMjMyp48zJBD2JLC1YSr2rnnGJ41od48zIQNslBYXRiNfroyKvnpRBEexYtob47j3w5DVQJtqoC/TnMXVtD8+WzYFGKRJsOHO9KHtDoMU2xz5jC+ChTl0YtTaLP/WdGdOvgGXLllFZWcn4K8fjWF5C7c+5uEsaCb46hbCEjlz93Gv88PqLLH7vDUp3ZzH0ultQqlQIokDPUXEk9gwhf1s1xbtsFGXWsHNNGQCGADUxXYOJ7RJETEoQWsPx5dWpoqKIm/0JDb//jn3tOuwb1lM1axbMnAmAwmpFHRuLOjYWVWwM6tg41HH+/ysCAk7wVZQ5W7DqrNzX+z5u6HYDs7fPZk7GnH35ZK3ye/P/CgiEGcKIMcUQYYhosTDgRLBoLcSaYv0Pcyyh+lBEQW5GIiNzOGRjqwXm75pPmD6MvuF9Wzwu+Xw0ZWYSMM5vjFUXNeJx+9AabDRUV5HQsy8NGRVUKWwUqoNR4KOzoe2lGYptTqIsbRcWOxXsDYEW1ThIi97v/elu0jMi2MzP1ZcxUnMDF1yQwLJlWwkNDWXwkMGoY0xUzcmg/M2NhNyShi7azKR/P8lfX8xmzfx5VBcXMu6+R9DuKfUNCNGTeoGe1Aui/VWc5Q6KsmoozKghZ2MFGctLEAQIjTfTbXAUnQdEHPO1CCoVpuHDMQ33O3J9DgeOLVtwbNqEKy8Pd14+jStW4Pnuu2bnKQICUMXFoY6NJXDqFPS9eh3vyylzlhCoDeSunndxQ7cbKGlsXUV/zZo19OnTBwC7x05hfSH59fn+n3X5rCldg0869g4PrSEhUeOswe3bHwJVi2oCtYGoRBUqhcr/U1T5jbyDPpqsWiu3dL+FLsEH617LyJzdyMbWQVTYK1hevJzp3aYfUlW0F3dxMb7GRjSd/flBZbl1ADTV5wD+JsoZb65EZ6gmhz4kab1oFW3/za/Q5jil+VptwV7P1t5k/wO5Lz6c0VV1/Km7jdHON+je/TqWLVtGp06dCEsII+yunpT9bwM13+0i9PZ0RFHB4CuvIyQ2np/ffo3PH7ufiQ8+QUBoWLN5BUHAEqbHEqan6/lR+Lw+yvPqyd9WRfamSn77eAcup4e0oSeW7C7qdBj69sXQt7nR7nM4cBUU4C4owJWXjys/D3d+AY0rVlC3aBERjz+G5bLLTmhtmbMDo9pIkjqp1eNF6iKSAvcf7x7Svd335PV5KbOXkV+fT35dPgX1BdQ21eL2uf0Pr/+nVzq0o8P68vVM+WEKlyRewp097jymIgYZmTMZ2dg6iB+yf8An+bgk8ZJWxzRlZACg7dwZgLKcWrRGFfWVhRiDraidakoclRhDK8khgUvMpnbZa7HNQedOoe0y98kiQKfCoFa0aGylm/3erQW15zNat5hAcS4m8yV899133HjjjSjMaiwXd6D6i0wa15Ri7Of3RqUMugBjYBDzX3mWzx+dwYQHHicsoeW+lgCiQiQ8IYDwhAB6XRTPove38ufcnYgKkW6Do9r8mkWdDm1yMtrk5GbPe+vrKbr7HkoeeZSm3dmEzrgPoY17acrInCgKUUGkMZJIYyT9I/of07n1rnpmbpnJp9s/ZXHuYq7tei3Tu01Hrzr+rg8yMmcCsrF1EItzF5NmTaNDQOstWZwZmSAIaDr6b+BlOXWEdTBTmZ9PSEwczqwaSkUbQoiKRsFEekBwq3MdL063l4r6pjPesyUIApEW3b5k/4O5Lz6c0euyWBf+An2KL6d37wx++1Xk77//ZvDgwei6h6BZXUrtz7noullR7Mm5iumaxtSnXuKb559g7hMPMvaeB0jo0eeI+1EoREbd1I2f3tvC73MyERUCXc6LbNNrbnVtk4mY996l7LnnqZ41C1dODpEvv4yiHfL9ZGROBSa1iXt73cvk5Mm8vv513t/8PrO3z0anPPRzzKw2Y9aYCVAHEKAJwKw2txptOJgQXQhJgUl0tHQkTB92RqdayJwdyMbWAUiSRHZtNhOSJhx2XFNmJuq4OES9niaHh5oyOx17Wdm1ooC41HQcWdWUK2rxmfzJ8ent0BOxtNYv0HgqKxHbiqhAXYueLfB7t4YHm/mwtJGx8f+iePcT9OiRsD+cGBaGZVwiZa9voG5RLoET94dUgqNjufKZV/jm+Sf47oWnGTb9VrqPOHJpv0IpMvrmbvz0zhaWfpqBQiHQqf+x53AdD4JSSfijj6BOTKDs2f+QN3UqoQ8+gCo8HKXVimg2yzcOmTOeaFM0Lw15iau7XM3C7IWHhBy9kpcGVwO1TbVUOavIrs2mzlV3VPlnkiRh99j3/d+kNpFkScKqsx7V306ILoTrul5HmCHsiGNlZI4W2dg6gCpnFXaPnRjT4XN1nJmZaFNSACjPqwMJ9AEOvG431sg4SpcU49M2kidaUeIjxdj2yfGng6BpWxFp0bG5sLbV4/fFhzNmXRaLpBEMCvgehWIRRtM45s+fz/Tp01GFGTCeF0nDX0Xoe4ehid2vZG+wBHLFE8/z4+sv8uv/vU1NaQlDrroeQTx8Dp1SpWDMran88NZmfvt4B6JCJKnPyfvwDbryStRxcRTdfQ8F02/c97ygUqEIsRJw6aWE3n33SduPjEx70D2ke7vkmdU21bKzZic7bTvZVbOLnTb/v4+GJflL+Hrn10zrOo3ru14vhzhl2gTZ2DqAwvpCAGJNsa2O8TU24s7PxzJhPOAPIQIIkl9BPkgMY4u0BaOxihzOI0knoTnCjf14OJuMrSiLjupGF3aXB7360F/JHnu8W+8VVDC5+3Nkrr+Evn138esvsHz5cs4//3zMw2Oxb6rANn83of9IRzigT6Naq2PcjEdY+vH7rPvhW+rKyxhzx72oNIc3gpVqBRffnsb3b2xkyacZxKUGo9aevD8Z43nnkbjoZ5qyduKprMRTWYG3spLGNWuo+uBDgqZNQxkYeNL2IyNzphCgCaB3eG96h7fYE/iwFNYX8vr613l307t8nfU1d/S4g3GJ4446hCkj0xKysXUA+fX5AMSaWze2nFlZAGg67alEzKnDEqantnw3giCitqkpU9QSZK0nhwTGBbSPmGVRjQNBgPCAtveanWz2a2056Rjasojsgx3CGbNuJzNy4Nn4u8nOfoH09A4sW7aM6OhoOnTo4E+W/zyTxtWlGA8K+4kKBRdefyuWsAiWzf6A+qf+zfj7H8VgObyxotIoGDCxI9+8tI7d68tJGXhy8rf2ogwKQtm/uWisMzOTnHHjqfv+B4Kuveak7kdG5mznwBDnS2te4vHlj/P+5vexaJp/lqtEFT1CezAwaiA9Q3uiVpy5eocy7Y9sbB1Afl0+CkFBpKH1G2pTZiYA2k6dkCSJstw6YrsEUZmfhyU8AvfuOspVdVitSn9yvLl9BCuLbQ5CTRrUyjNfTHCf1pbN0aqx1c2k55mkKB7IKuRL08UMNS1EqfwZq3Uys2fPZuzYsfTo0QPNqlJqF+Wi6xKMwtz8w08QBHpdPB5zaBgL33iZOY/MYOJDTxAcdfiwcXiCGUuYnh3LS066sdUS2k6d0Hbpgu3bb2VjS0amnege0p3ZY2azKG8RP2b/iNfXPK+s0d3I7B2zmbVtFjqljj7hfegf0R+LxsKOhh3U765vt73t7RYQa4pttcuJzOmFbGwdQH59PhGGCFSK1lXEnZmZiCYTyshI6qudOOpchMWbWbMxj8jIZGwVNdRrG2lS+w2INFP7xPuLbI6zIoQI+5P8W6tI3Mu1kcFsqLPzal4FnZP+g2nnRAYOLGDTpj4sWLCAyspKhlwygIq3NlH633WYL4zBODAS4SCDNKnPAK54/Dm+eeFJFv7vZa5+7rXDJs4KgkDnAeGs/C4bW5kdS9ipz+EImDSRsqefwbljx778QRkZmbZFEARGx49mdPzoFo/b3XbWlK7hr6K/WF68nD8K/9h/8K+Ts8cgbRAxphjCDeGHdAtQCApC9CGEG8KJMEQQYYggTB92Ql44nfLMFtI+VcjG1gEU1BUcNoQI0JSRiaZTMoIg7MvXCo7WYistoVenMZTZbGg0jewmot2S48FvmHSLOjvavISZNChEYV9j7dYQBIHnkqPZ3uDg/pwmZkbdR2Xh84wZczmrVwezfPlyKisrufSWMTh+KaJ2YQ4NK0sIGB2PLrV5JVJ4x2TOv3Iai999g5yNa48oC9G5fwSr5meTsaKE/uMT2+S6T4SAiy+m/PkXsH3zLeEPy8aWjMypQK/SMyRmCENihgBQbi+nydPEylUr6d/v2DTIjgW7x05BfUEzYdmM6gwkqXkTdI/PQ4Wjopni/4kSb47n3l73ckHMBbLRdQzIxtYB5NfnM8Y6ptXjks9HU1YWAeP3JMfn1qFQiQhCDZLkwywGk6nKwmKxkUManfRiuyTH+3wSxTYno7qdHerLSoVIuFl7RM8WgE4h8kFqB0atzeRx2yAeUceSl/8mF100l5CQEH766Sdm19Zy9dVXYyqJwvZjNtVzMlDHmQm8PBmVdb83sMv5Q1kx73NWfv0FHdJ7H/aDw2DRENMlmIyVpfS9NAFRPLUfMgqLBePwYdQtWEDo/TMQ1XK+iIzMqSZU7xeZ3q3aTYz5xDpQHIlOQZ2OapxP8lHtrKakoYSSxhLK7eV4fJ7jWtMjeZi/az53Lb2LPuF9mNF7htx66SiRja091DbVUueqO6zsg7uoyN+mp5Nf+bs8p46QGBPVhf7Eeo1LS7mqjqhIJ7lCAuPbKTm+srEJl9d31oQRwZ8kX3gUxhZAjFbNO13imbppN58YH+fa2unU2FbSt+8AgoKC+Pzzz/n9998ZO3YsYR170ri2lNqFudi+20XIjan75lEoVfQddzm/ffA2+Vs2EZeWfth1UwZGsGjmVgp3VBPbte2Fao8Vy8SJ1P/0Mw1LlmIePepUb0dGRuY0RBRErDorVp2V1JDUI59wBKZ1nca8rHm8s/Gdfa2XpnSactoXCJS6S0/p+rKxtYf8uj2ViIeRfXAe0KbH6/VRnl9Pt8FRVBZsQqFS4apxUuWrI8jkoxEj6eb2SVzcG247m4ytSIuWtXk1Rz1+SJCJhxIieDYbuilHEZTzJkGBA+jYsSNpaWls3LiRCy+8EL1ej7FvBJLTS+3CHJry65rpcHW7YDirvvmCld98cURjq0OaFY1ByY4VJaeFsWUYOBBlWBi2b7+RjS0ZGZmTgkpUMbXzVMYmjN3XemnB7gWneltHJFwVzhSmnLL1ZWNrD0cj+9CUmbWvTU9VUSNet4+wDma2/JJHWFRHSp1VSGovuYIGaL/k+GLb2aMev5eoQB0/bC7B65OOPHgPt8eGMqekikW+q+hpuxabbS0WS2/69+/Phg0bWL9+PYMGDQLA0C+CuqUF1C8rRHPtfre3Uq2mz6WTWPrxTAq3byW6S7dW11OoRJL7hrPtzyKcjW60htYLKU4GgkJBwPjxVM2cibusHFXYmd0nU0ZG5sxhb+ulqZ2msr1q+6nezhHZuf3oRG3bC9nY2kN+fT4CAtGm6FbHNGVm7GvTU5bjF0ANizezpCCPzgkDqaipw2CwkSnFohQkOhvaJzm+yOZvRXGm90U8kEiLDo9PorzeedTnKASBW2JCeTDLRbayL8G5b9Ij/SPCwsLo0KEDq1evZsCAASgUCkSNAtN5kdT9mo+7tBFV+P4WSqnDRrHqu69Y8c0XXN7lmcOumTIggi1LC9m5pozUC1r/XTlZWCaMp+q996idPx/rzTed6u3IyMicY0QYI4gwnpx2ZieCIufUitKe+SJNbURBXQFhhjA0Ck2rY5yZWfvETCsKGtAaVKi0HhqqKgk2RlEr2gkJaSSHRDoblO2SHA9+z5ZJo8SsPbWelbZkb0j0SBWJBzM5PIgglYJfNTdRXf0ndXWbAejfvz91dXVs377/G5dxYCSCWqR+WUGzOVQaLb3HTiB/y0aKszIOu15IrIngaCM7lpcc0z7bC3V8PLrevaj95ptDKpFkZGRkZE4PZGNrD/n1+YfN1/I2+Nv0aDv7ja2a0kYCI/RUF/pv3CZFILUKO4HBteQKie0mZgpQWOM4q7xacICxdZRJ8nvRK0SmRVr50x5EuSKZnNy3AEhKSiIoKIiVK1fuGyvqVRj6R2DfVIGnqvk63UdehNZkZuU3XxxxzZSBEVTk11NV1HBMe20vLBMm4srNxbFh46neioyMjIxMC8jG1h4K6gsOW4nYdFCbHluZncBwA5UFuQConCpsgp16nZdGDKSbDa1NdeJ7rbafVcnxsD//7FiNLYAboq2oRYE/DHdRWfkr9fU7EEWRfv36UVRUREHBfk+WaVA0iAL1vxc2m0Ot1dHronHkbFhLWfauw66X3DcMUSGcNt4t8+hRCHo91bM+xLFpk79qtqnpVG9LRkZGRmYPcs4W0OBqoNpZffjk+Kz9bXqcDW4c9W4Cw/VU5ueh1ulprGrEKzrIFU0ApJnaxxiqdbjJKq9nTOrZobG1F4NGiUWvotjmoMsxKmaEqFVcFhbIvDIYI0aQm/sWqalvkp6ezpIlS1i5ciUxMX5DWmFWY+gdRuPaMszDYlEE7A8b9xg9lrU/fMMfcz5i0kNPIipajvHrjGo6pFnZ+nsRuZsrmx3TGlUMm5ZCYHj7GdsHIxoMBFx8MbavvqL+l1/3P282owgIgIM0wZSWQCJfeB51fPxJ26OMjIzMuYzs2cLv1QIO69lyZmTsa9NTU+ZPULeE6aksyCMiOpkaVy0mUzU5JKBqx+T49Xk1SBL0jQ9ql/lPJVEW3THnbO3llphQmnwSq8z3Ul7xMw0NWWg0Gnr27Mn27dupra3dN9Y0OBokifo/i5rNodEbOH/qdeRv2cgvM986bA5Un7Ed6NgrlNB4c7NHbYWD79/YREPNyfUshT/6CPHz5hH97jtEPPM0IXf/k4BLLkHXvTu61LRmD1d+PvnTb8RdVn5S9ygjIyNzriJ7tjhA9uEwOVtNmVn72vTYyhoBsITpqMzPIz1tFLXldozGKnIZQIpBjbqdkuNX51ajFAV6xAa2y/ynkkiLjvwq+3Gdm2zQMiLYzHd1HRkiWti581nS0z+iX79+rFy5ktWrVzNixAgAlME69N1DaVxVgmloDIoDJBy6jxhDQ3UlK7+Zi8FiYdCUa1tcLzjKyPDrD1VOrsiv59v/ruf7/21kwn09T5o8hKBWo+vW9ajGOrZsJX/aNApuvJG4T2f7vV8yMjIyMu2G7NniyJ4tyeejKTMTbafOANSU2hGVAqLCibOhniB9BDbBjtFUS47QkXSzucV52oI1OdV0iwpApz61ZaztQZRFR5HNcdxVdbfGhFDl9rEj5Amqa/6irPwHLBYLKSkprFu3DpfLtW+s6YJoJLfvkMpEgIGTryZt2GhWffsl636cf0x7CIk1cdGtqdjK7fz41mbcLu9xXUt7okvtRvSb/6MpN5eC2/+Bz3n0chsyMjIyMseObGzhV4+36qzoVS2LkLoLC/HZ7fva9NSU2rGE6qku8nvEjKKFOqUDR4AWO/p2EzN1ur1sLqylb4ezL4QIfmOrocmD/fjadjHQYiTNpOPL+gQMxjR27nwGt7uO/v3743Q6Wb169b6xqjADhr7hNPxZRMOq5onugiAw7MbbSOo7kGWfzGTHn0uPaR/RnYMYeUNXSnNqWTRzK16v7/guqB0xDBxI1Isv4Fi/nqJ77kXyHOeLLiMjIyNzRGRjiyPLPjgz9yTHd/Z7tmxldgLD9FQV5AGgciixKRooVvtDe93bKTl+U4ENl9dHn7MwXwv2i7RWOY7POBEEgdtjQtntcFES/iQuVzW7s18hJiaGTp068dtvv7Ft27Z94y3jEtF2DsL23S7smyuazSWKCi66cwYxXVL5+Z3X2L1u9cHLHZbEnqEMmdqJvC1VLP0kg7oqB75jUMc/GZjHjCH8sUdpWLqUkocfpnH16mYP+5o1uPLzZUNMRkZG5gSRc7bwC5oOiBzQ6vGmjMx9bXq8Xh91FQ4Se4ZQkZ+LPsBCU6Udt7acQiEKEYnkdkqOX5NbDUDvuLMvXwv2yz9UOY/fKBkbYiFKU8zHlWpeiL6GwsJPiIiYyKRJk5g9ezZff/01Wq2WxMREBIVI0JWdqfxwK9VzMxG1SrTJ+19bpVrNuPsf5csnH+K7F58islMX0keMIan/IJSqI+didRschbPBxaoFOWSuKkVUCgRYdZhDdASE6LBGGwmJNREYYUChODXfewKnTsVTVU3lm29SO7+V/mZKJaqoSCwGI6V//IkmORlt1y5okpMRNa2LAMvIyMjI+Dnnja0mXxPljvLDyj44M/a36akpbcTnkwgMN7B7VR6RUcnYnPUYgm2UkUCkWmg35fjVuTUkhxkJNJze3dWPl73aYVWO4ze2lKLALTEhPLarmNr421CX/0RmxqP07v0NV155JbNmzeKLL75g2rRpREdHI6oVWKd1peK9zVTN3o71ptRmjao1ej2TH/8Pm39bxOZffmLhm6+g+3gmXS8YTvfhY7CEH75NRa8x8UR3DqKqqIHaCof/Ue6gKLMGj8vvwVMoRYKjjYTGmkjuF05E4slNWLf+43aMQy/AV3+QSKvPi7ukFFd+Pq78POzbtlO7YAG+hj3jlEo0SUlou6SgDAk5ZF5NYiLmMWMQlOf8x4yMjMw5zjn/KVjlqQJar0SUJAnH5k0YBvg9XzWl/mq5gBAtlYX5dOzXm9oiOwaDjVIiSDS0T76W1yexPq+GcemR7TL/6UCwQY1aKZ6QZwvgyohgXs4tZWZxI88kP8rWrXdSWDSb2Jjrueaaa/jwww/57LPPuP766wkNDUXUKbFO70b5u5uonLWN0FvTUIXt18nS6A30uWQivS8eT97WTWz+5SfW/fgd6xcuYMg10+kxeiyCILS4F0EQCE8IIDyhuQEl+SRs5XYqCuqpyKunoqCezNWlbP2jiMSeIQyYkEhASPv8LrW0R13XI1cy7lq2jCFDhuAuKsK5bTvObdtwbttGw5KleOvqmg+WJPD5qHj9DYJvuRnLuHEI6rPzS4KMjIzMkTjnja0Kjz9XJ8bcciWip7gYb0Uluu7dAX+bHgCFoh5PUxOB+nAyhSJ0hhrKhEgu0LfPDXJHSR0NTZ6zNjkeQBQFoiw6qhwnVh1nVCq4NtLK2/nlPJxwIcFBg8nOfpXQ0DGYTOH7DK7Zs2czffp0LBYLCpOakBv8BlfFzC1Yb+iGOtLYbF5BFIlP60F8Wg/qqyv5deZbLP3oPYqzdjDyljtRa48+V08QBQLDDQSGG0ju4xeodTd52fhrPusX5ZGzqZLUodH0HhN/0uQjjgZBEFBHR6OOjsY8amSr4yRJomHpUirffofSRx+j8p13sN50EwGTJiHKRpeMjMw5hmxsufcYW63IPjg2bQJA1z0dAFupHUOAmtpyvyCmQTJTq96FwgR2dCTo2ieHZXWOP1/rbDa2ACItWkorjk/Y9EBujA7hvYIK3i+s5NFOT7Jy1WgyMh6he9pMgoKCuPrqq/eFFG+88UaUSiXKYB0hN6VR+cEWKt7fjPW6rmjiWw7pmYKsjL//UVbPn8ffcz+lIjebS+/7N8HRrYejj4RKo6DPxR3ocl4kqxZks+m3AjJWlNBjRCxdzotEZzpzjBRBEDBdeCHGoUNp/Osvv9H15FOUPvMsij3K9oqAAMQAMwqjEWjuGRQNBgKvnIo2JeXUXICMjIxMG3LOVyNWeiqxaCyY1S1rY9k3bkTQatHulX0os2MJN1C5pxJRYVdQp6qnRuP3aMWzcKBPAAAgAElEQVTr2ueGuCa3muhAHREBZ1dPxIOJsuhOOIwIEK5RMTEskM9LqnEoI0lMvJ+qqqUUF8/1Hw8PZ/z48ZSWlvL777/vO08Vqifk1u4ojGoqP9iKM6um1TUEUaTfhMlc9sjTOBsb+Ozf97Lj799bHX+0GCwaLrw2hSse7kNYnJmV32Xz8UPL+fWj7ZTl1B15gtMIQRAwnn8+cXM+I/ajWQTfdCOm0aPQdklBNBrxVtfg3L4D5/btzR51CxeSM2Eihf+8m6Zdh+9VKSMjI3O6I3u2PBWHlX1wbNqEtltXBJUKSZKwldlJ6h1GdVEBJmsIngoHTeYibII/FJSgb3vPliRJrMmtZnDSoUnIZxuRFh22JokmjxeN8sSEW2+NCWFuaTWfFFXyz7hpVFb+xs5dzxIYOAC9Po6UlBTS09P566+/SEpKIjbW/3ugDNQScksalR9upfLjbQRd0Ql9WuuvfWy37lz9/Gv8+PqLLHzjJZz1dfQYfckJ7R3AGm3ikrvSqSpuYOvvRWSuLCVzZSmhcSb6XNyB+DTrCa9xshAEAUP//hj69z+q8d66Oqo/+ojqjz6mfvFizGPHEvKP2+V+jjIyMmck57xnq8Jd0Wq+ls/lomn7jn35Wo56N012D5ZwPTWlxYSFJtDYZEetq6KUCBRAjLbtPVs5lY1UNrjoc5aHEGF/RWJp7YmrmqcYdVwYZOKDokqafNAl5UUEQcH2HfcjSX5l99GjR2M2m/n2229patrfz1BhUhNycxrqaBPVn2fQsKrksMr2piArlz/6HxJ792fJrPfYuvSXE97/XoIjjQyZ2onrnj+P869IxuX08uPbm9m05FD1+7MFhdlMyF13kfjbrwRPv4H6X39l95iLyJk4ibIXX6Lhjz/wNjSe6m3KyMjIHBXntLHl8rqweW2terac27Yhud3o0v35WnuT4wPD9dhKigm1xFEr+isRy4gkWqtql56Ie/W1zlYx0wPZa2wdb0Pqg7k9NpQKl4evy2rQaiNJTn6C2tp15OXNBECr1TJhwgRqampYvHhxs3P3VilqkwOxfbuL6s8z8Nndra6lUCoZe/cDxKX1YPF7/yNj+R9tcg17UeuUpA2N5opH+pCQHsJfX+5k5Xe7j7u90ZmAMjCQ0Bkz6PjLYqx33oFoMFAzezYFN99CVr9+5E6ZSu2PP57Vr4GMjMyZzzltbBU2FCIhHUVyvN+zZSvzyz7ojD6cjQ0EaEKxCXYMehvlYiwJ+vYRM12dU0OwQU1iiOHIg89w9qrIF9naxtg6z2Ik1ajj3YJyfJJEeNg4QkMvIjvnNerrtwMQHx/PwIEDWbduHVlZWc3OF9UKgqd1xTwqDsfWKspeW49zZ+t5XEqVinEzHiayUwo/vfkKu9etapPraL6GglE3d6PL+ZGs+zmPpZ9m4DsNWwK1JUqrlZDbbydu9ickr15F7KwPCb7xRrwN9RTfN4PcKVOwr99wqrcpIyMj0yLntLFVUOcPw7QmaOrYtAlVZCSq0FDAr7GlVIm4HJUAGDBRp3aiN9ooJZQO7VSJuCa3mt7xga1qOZ1NhAf4Dda2MrYEQeD22FB22pt4fFcRCypsuKMexq2MYNv2+/B6/aHDCy+8kNDQUBYsWEBjY/PwlCAKmIfGEvqPdAStgsoPtmL7fjeSu+Um0yqNlgkPPE5IXALfv/o8eZs3tsm1HIgoClxwZSd6XxTPjr9L+Om9rXhOw6bX7YGo02EYMIDQe+4mYf58Ip59Fk9xCXlXXknhP+/GlZ9/qrcoIyMj04xzOkE+v97/odxaGNGxaRP6PSFE2NOAOlxPbZm/cbHSrqROZ0PUKLBL6nYxtsrqnORX27l2QFybz306olEqsGgEitvI2AJ/C5+PAyqZWeh/+HkVs7uWYX+9xjXqXxAESE3zUGurZcH3f1JZMYwD5QjCwsKYMGECYXf2oPanXBr+Lsa+qQJR2/xPSDSqCJrSGY1Fz6SHn+LLJx/i2xefxGwNbT5OoaDPpZPoOmTYcV+XIAj0uzQBvVnNH3OzmP3ICtS65vvRmVT0viie2C7Bx73O6YygUGCZNBHzmNFUfTiLqg8+oH7JEtRRUcc9pyapI+FPPYUy8OxsiyUjI3PyObeNrbp8dIIOi8ZyyDF3WTme4hJ006bte85W1khYvJma0iwEQQSbB5e1gFL8LVs6tEMl4rmir3UgQVqhzTxbACpR4LueSTR6vOQ5XeQ4msixN/F3eR3fNozCTRx3GVYgCiAIxej06zEao2lyDgXA6/Wyfft2vF4vkydPxnJpItqUIOzryjg4Vci5o5rquZmE3JSKzmjisoefZvlXn9FktzcbZyst5ue3X6WqqIDzp1yLcAK5fqkXRGMM0rJzTRkHb6gst47v39hEbNcgBk7qSPBBQq1nC6JeT8gd/8By+eVUf/ghnoqKI5/UApLko+G3JeReMYWYd99Bk5DQxjuVkZE5Fzmnja2C+gKsKmuL4TnHJn/oZ29yvMftpa7KSaf+EZTvLiYsrANulxs0pZTib6HTHoKmq3OqMagVdIloWQfsbMSqEyi2nXg14sEYlAq6GHV0Mfrzwv4RG8pz2SW8kQ+mwIG83CkGEdi27W7Kyn9k4IArCA4eDMCqVav46aefWLhwIWPHjkWbFIg26VDPR+PaMmrmZVH/ewHmobEYLIGMuOmOQ8Z5PR6WfvQea+bPo6a4kDF33HdMCvQH0yHNSocWpCC8bh9bfi9k7cJc5j69mpRBkfS7xO8NOxtRhYUS9tCDJzSHfcMGCu+4k9wrphD16qsYB53XRruTkZE5VxFO1yqe3r17S2vXrm32nNvtprCwEKezbW7E5fZyREnEamjhJlVbi6+xEWVEBIIg4PX4sNe60BpVNNlrUQpKREmFS1VPk1KNAz1RGjUnklZV53Dj9TV/P5weHyqFgNXYPvlgpyNV9Q6cXtCrjlNnSwCDWola2bq3SKvVEh0djVKp5KXcUv6bW8ZlYYG8nhILPgdr112O01lC3z7fodP5w8y//vorf/31F0OHDmXIkCEtzitJEtWfZ+DYWkXobd1Rx5ha3YMkSWz4+XuWffx/WGPjGP+vxzBb20dLzdngZs3CHLYuK0KhFhlxQ9cWjbPDsWzZMi644IJ22d/phruoiILbbqdp927CHnqIoKuvOtVbapFz6T05k5Dfl9OPk/GeCIKwTpKk3i0dO6M8W4WFhZhMJuLj4084WVySJFS1KrSSlujA6EOON2VngyShSUwEwNnopq7SQWC4geriXEy6QLwe8BjKqFKG4hb0pBiP3zPhdHvJKqtHKYqIB11aeIAWi/7s9ES0RHl1HdUu4Di/B3h9EhIQGagjoIXXTZIkqqqqKCwspEOHDvyrQwRKQeDFnFK8ksT/UuJI7fY2a9ZOYPOW2+jd6ysUCj3Dhg2jvr6epUuXYjKZ6Nmz5yFzC4JA4PiOuPLrqfoig7C7eiBqWv4zEwSBnmMuJTAiih9ee4HP/n2Pv5Ixue1b1GiNKs6fnEzqkGh++XAbC9/ZzMAJHUkfEXNOFF4cK6qoKOLmzKF4xgzKnnmGpp07Cb1/xp7WQjIyMjLHxhlVjeh0OgkODm6Tm4MgCHS0dCRAeWjvO8nnw+dwIB7QVNrr9pfWC6KE5PMhCkq8ooQoevGgQnOwhXSMOPZUtiWEGOgcYW72OJcMLQCdSqBzuPmQ1+FoH8nhJrQqBXnVdsrrnIdoMAmCQHBwcDMP6b3x4TycEMG35Tbu2JGHVhdLt66v0tCQyY6MfyNJEoIgcOmll5KYmMj3339/iEzEXkS9iqArOuGtdmJbkH3E6+2Q3osrn3kZlVbL3CceYv1P37ebbpQlTM/4+3qS2COU5d/sYunsDLyes1s24nhRGA1Ev/UmQdNvwDZ3LrtHjqLm88+RPJ5TvTUZGZkzjDPK2AJOyrdwqakJJKmZseVx+xAVIj6PX9RSQMQrehAECTcKNCcoZupweREFAc1hQl8yR4dKIZJgNWDRqymtc1JY48DnO9TgOpg748J4OCGC78ptPJddQnDwEBIT7qWs7Hvy8t5BknwoFAomT55MeHg4c+fOZdmyZXhauPlqOgRgGhqDfV0Z9s1HTtYOjo7l6v+8Rnx6T5Z+9B4/vv4iLof9iOcdDyq1glE3dvXLRiwvYcHrG3E2tC7Wei4jKBSE3X8/8V99hSYhgdInnyJ73Hgafv9dFlKVkZE5as6oMOLJwrenckzQ7Q8Lej0+lCoR715jyweSwoUXBT5JQN2CZys3N5fly5dz5ZVXHnHNW66/lp2ZO7jlpumMGTOGKVOmIAgC8+bNI3FPKFPm6BFFgZhAHVqlSGmdkyaPD6tRzYHvksPlZeGWkmbnJUgSF2h1/C+/nPpqJ4M141Gq17E7+xV25n2LV38tPs1QwnuNRNy2gmXLlrF161YuueQS4uKay3OYh8XStNNGzTc7UYboUUccXpRWazQyfsYjrF7wNX9/MZvyvBwuvfchrDFtL/shiH7ZiMBwPUs+yeCrF9Yy/LouRCQe6umVAV1qN2Jnf0LDb79R/tLLFNxyK7ru3VGENM97ExRKNElJ6NJS0aamyvIRMjIygGxstYjP7kBQKhFUKsCf4+N1+1AZVXhcLr9XxCchKV248Y9pybOVm5vLnDlzjmhslZSUsG7NStZszSLKouP5559n3LhxPPnkk21/cecQgiAQataiUYoU1DjIr27uKapqdHH7gvWHnCcJIPYM5iOfxGfrslFWj6dveCwXJywmyvsEJaVv82P2SNaV92beVVNYsvhnZs2aRc+ePRkxYgS6PUa6oBAJmtKJ8nc3U/H2RizjO2LoFXb4PYsi/cZfTkTHTvz4xot89vC9jLn9HpL7D2q7F+YAkvuGY7bqWDRzK9+8tI7OAyMYOCERnencCl0fDYIgYBo+HOPgwdR8MZfa+fNxFxQ2GyM5ndQvXrxPgkMVHY02tRuahETUcbGoY2NRxcWhsFjkXDkZmXOIM6oacceOHaSkpJwUI+Sh669HHeuvQvN6fFQVNWAK0tLUWMWcz7/gnfc/QFJ46NStC26FnqnjLmXq5MkAGI1GGhoa6N+/Pzt27KBDhw5MmzaN2267jdtuu421a9eiVCr573//y9ChQ0lNTWPnzp0kJSdz2aSJvPPOOygUCpKTk1m6dGm7X+vpRn19PSZT61V8x4PH68NzUCgxKzMDjbVlQdsGr5c78oqpcHt4Kz6KeI0aSfLhqP+N+oqZuJuyKG4Io0f6JySHx7Js2TJWrFiBXq/n+uuvx2rd7/Hw1ruo/jyDpuxaDH3DsVySiKA6cri4obqKBa8+R+nOLEbecifdho44sRfhMLicHtYuzGXTrwWotAr6j0+ky6BIxAM8tnKF1dHhbWjEuW0bzq1bcGzegnPrVtzFxc000ESjsVmawl5Mw4cR+uCDiOqjM3bl9+T0RH5fTj/kasTTFFF3aHK8Qimydds2Xn3zLX75dhEBMS7y60Qe/ffTKFr4lvr888/z8ssv88MPPwDwyiuvALBlyxYyMjIYOXIkWVlZfPrlPCaNH8fqtevRqRVIkoTRaGTGjBkn4UrPDZQKEeVBShIqhUin8NaNuq+C9Vy0LotHistY2CuJELUKIiYiJU1gXcZ3OAoepjT3NjpFzGPkyJGkpqYye/Zs5syZw0033bTPw6UwqbFOT6XulzzqlxXgKmog+KoUlEGH76VpDArm8keeYf7Lz7Lo3ddxu5roMWrsCb8WLaHWKhk4sSOd+0fwxxeZ/D4nkx1/F3P+FcmEJ8ihxWNBYTRg6NcXQ7+++57zuVy4Cwtx5eXhLijAlV+A1NRcwsZbV0/NnM9x7sgg+o3XUYa0jwyIjIzMyUfOxm4FQb8/X8uzp1pLoRL5/c8/GX/JpQQGWxAVHozBYSgQEI8iJPDXX39xzTXXANC5c2fi4uLIysrC6fYhCALao/B2yJw8orVqPklNoNLlZuKGXcwtqcbp9b9XSXFjeXPjTeApYNPmm/B6HURERHDFFVdgs9n46quv8Hr39yoUFAIBo+MJvrYLnionZW9swJFRfcQ9qDRaxv/rMRJ792fJh++yev689rxkgiINjLunByNu6EKDrYmvX1zHoplbqatsO0X/cxFRrUaTkIBp6FCCrr2W8EceJuLpp5s9ol9/jahX/4szI4Ocyyfj2LrtVG9bRkamjZDv7q0gHpgcv8cYAq9f9kFU4BPdCIAbJWqVEp/Pb5BJkoTL5WpxztZCtk63F4GTU2kpc2ykm/XMSu0AwD8z8um5YhvP7C6mVvBRbO/Cdsc91NauZ8vWO/H53MTFxTF27Fiys7NZvHjxIfPpugQTdlcPlEEaqj7eRt2veUi+w4fylSoVl9zzIJ3PG8Kfcz7i7y8/bddKOEEQSO4bzlVP9qf3xfHkbq7ksydWUrrRR5NdrlpsT8xjxhA/5zMQBfKuuoraH3481VuSkZFpA+QwYisc2KvO6/ahUIl43W7OHzCAG++4ixtvupowg0hllY24+HjWrVvH5MmTmT9/Pm63/4ZkMpmor6/fN8/gwYP57LPPuPDCC8nKyiI/P5/k5GT+2Jh1VJ4xmVPDBUFm/uhr4m9bAx8WVvJ2fjlv5ZdjSQ9iTUUgE0c8RWbmo2Rk/JuUlBfp2bMn5eXlrFy5ktDQUHr16tVsPmWQltDbulPz7S7qfs3HVdRA0BWdDmlqfSAKpZIxd9yLUq1h5ddf0FBdzeCrrkNnar82Tmqtkn6XJNB1UBSrFuwmY0Upnz66kj5jO9B1cCQKhfxdrT3QpqTQYd48iu76J8UzZmCbOxdB03IHCUt1NfmffnZM84t6PSH33I2mQ4e22K6MjMxRcEYaW48//nibzXVwMrYzIwPR2DyPx+v1oVSKeNxuOiUn8eDd/+LSiZejUAokpPXhueefZ/rll9G3b1+GDRuGweAv8U9LS0OpVNK9e3euu+46br/9dm699VZSU1NRKpV89NFHCAoVXokTavMj0/4IgsCgQBODAk0UOl18VFTJm3llrJA8REROxeWqIifnNVTqIDomPsiIESOoqKjgxx9/xGq1HiILIagUBF6ejDrahO2HbMrf3EjwNSmowlqXhxBFBSNvvgOd2czaBd+wc/Xf9J84hfRRY1HuqZxtD4yBGoZN64LLXEZTroE/52axZVkhAycmEp/Wcm9RmRNDGRRE7IcfUP7669jXrgVXU4vjBIcdb/2xfYw7Nm/Gfs21xH74Adrk5LbYroyMzBE4I6sR25IDjS3J58O5fTvK0FBUoaH+5ySJyoIGtEYVSA3Ya20EGSKoUxbhVSkoIYIOeg3mg7OvjxKb3UV+tZ2kUBM69XH2AjzLaI9qxJY40d+nKYu3skzlYVpkMM8lRbFz51MUFs0mKupKkpMeo6nJw//93//hcDi47LLLSEhIaHGeptxaqj7bgdTkJeiqFHSdgo64dmV+Lr9/NovcjesICAtn8JXXkdTvvHY1fJYtW8aQIUPI3VLF8q93YSuzE9XJwnmTkgiJbf/3S+ZQjqfCqmn3bvKvvwGpqYmYDz5A161r+2zuHEauRjz9ONXViHIc4ACkPeE/4YCya8knIUkSCqWA1+1GoVLh9XoRRS9u/NVkJ9Kqx+HyIggCGjk5/ozjkgATipx6Pi6u4q2CCpKTHyMu7laKiuawadONKJVupk6dilqt5pNPPmHOnDlUVByqJq+JDyDszh4oQ/RUf7qDpvy6I65tjY1n0kNPMumhJ1GpNXz/6vPMe+YRmuyN7XGp+xAEgQ5pVqY81pfBU5KpKmrky+fW8OtH22moaZsG8TLtiyYxkbjPPkU0Gsm/7jrs6w/VmpORkWlb5Dv8AUh7EtuFA0IyXq/f8ycqRDxuF0qlGq/PhyD48AhqEEB9At4Eu9uLTiXKOVtnILFBepRZdQzW63k2u4R5ZTY6Jt5PSucXqLGtZO26yzEYHPzjH/9g+PDh5OXl8fbbb/Pjjz/S2NjcKFKYNViv74rCrKbqo224K46uVU98ei+ueeENht1wG4U7tvLV0w/jqD+ysXaiKBQiqRdEc/XTA+gxIpada8v47LGVrFqQjcsp9w483VHHxBD36WyUViv502+kccWKU70lGZmzGtnYOoB9xtYBni3fHtkHUeH3bCmVKrz4EEUfHkGFWhCOO3QjSRJOlxedSg4fnonEBukRgPGilvMsRu7JyOeP6noiIy8jPf0jXK4K1qydSKN9M4MGDeKuu+6id+/erF27ljfeeIO8vLxm8ymMaqw3dANRoPKDrXjrWq5qPRhRoSB91MWMm/EIlQV5fPnkQzTaatrhig9Fo/Prc131RH86dLeydmEunz62ku1/FR/Sj1Lm9EIVEUHcp7NRR0dTcMutVM36CF8rldQyMjInhmxsHYDkdoMgICj3J5zu9WwJgs8fTlSo8In+b+5ulCfUgNrl8eGVJDlX6wwl0qJDFKC0xsGs1A4k6bXcsDWHPEcTQYED6N1rHkqlkQ0brqa2bhMGg4GLL76Y22+/HZ1Ox8KFC/dJhuxFGazDel1XfHY3lbO24jsGL1FCzz5MfPAJasvLmPvEA9RVHrkBdlthtuoYeWM3Jv2rFwFWLUs/zeCzx1eyflEe9qM0GmVOPkqrldhPPkbfvx/lL7xA9sVjqVu0WG6yLSPTxsjG1gFILheCWt3MU7XXs+Xz+m96oqDEJ/pzu1ySeGL5Wm6/6KXs2TozUSlEIgJ05FfbMSsVfJKWgA94fFcRAAZDAr17fY1KFURm5qNIkv/9DgkJYdiwYZSVlbF169ZD5lVHmwi+KgV3mZ2qT3cgeXyHjGmN2G7dmfTw0zTabMx94gFspSVHPqkNCU8IYOL9vRh1UzcMAWpWfLubjx/8m5/f20L+9qojaorJnHyUgYHEvv8+MTNnImq1FP3zn+RdfQ2OzZtP9dZkZM4azkjph/ZCcrma5WsBeD0SCqWI1+M3sEREJMGDBwWSBOoTNLb8yfGysXWmEhuk39fgOkar5p64MJ7NLuG3qjqGBZtRq4Po2PFBtm27m6LiuURH+ZuSd+3alb///pslS5bQpUsXlMrmf4raTkEETkqi5qssar7eSeDk5KMOV0d1SmHyY/9h3n8eY+4TDzD1mVcwW09e6xdBEOjYK5SOvUKpLmlk+9/FZK4oZfeGCkLjTIy7pwfqw2iKyZwajOcPwjCgP7ZvvqHijf+RO/kKhAPEnQ+HtnNnQu+fgb5nz3bepYzMmYns2ToAye0+pAGsz+vbk6/lQhAEBAl+XbaEvr3Gckl6Km+9/NIh8zQ1NXHFFVfQsWNH+vXrR25ubovrOVxetHJy/BlNbJCegpr9rWxuiQkhUafhkZ2FNO0JEYaFjiXQ0p/du1/G5fK36BFFkREjRmCz2VizZk2Lcxt6hWEeEYd9Qzn1SwuOaV9hCR2Z/Nh/cDmdfPfS07icp6bdTlCEgUGXJXHd8+cx9JrOVOTXs3R2hhymOk0RlEoCJ08m8eefCf3XvwicOvXIj8mTcRcVkXflVRT+825c+fmn+jJkZE472uTrpSAIo4HXAQXwf5IkPX/Q8cHAa0AaMEWSpPZt8HYcSF4vkteLoGpubHk9EmqtAs8e2Qd3k5sHH3ycz777DHVUKjcMG8Lk8ePp0qXLvnM++OADAgMD2bVrF1988QUPPPAAc+fObb6eJOFwewnQtZ8YpUz7Exusp6K+CYfLi06tQC2KPJscxZRN2bxXUMFdcWH+9jfJj7N6zVh2Z79CSudnAUhMTCQhIYE//viDHj16oNUe2pjadGEMngo7dYvzUIbo0KcevYcqJDaesXc/wLfPP8nC/73CuPv+3awzwslEoRLpcl4kzkY3K77ZTUiciZ4j4458oswpQWE0EHzD9Uc9PuSf/8/eeYdHUa1//DOzPbvZ9E3vISGNAKGKNAFBrgWwISqgqNi916tef5drvdd27ajXBoKC2FDE3hAEKdJrCAmQEALpve/uzPn9EQiEBEhCQpH9PM8+4sw578zZncy88573fN97KZkzh5JZs6n69Ve8r78e75tvQuvjg6RxRe5duDjlO68kSRrgDeASIAG4TpKkhGOa5QBTgQWneryu4shKxCPOjxDiqMiWA61Ozx/r1xIZGUZwZDd0Bj0Tr72WxYsXN7O1ePFipkyZAsBVV13FkiVLWrzJ2xUVRRWufK1znFBvNwD2lx2RahjmbWWsrwcvZxeQW994XVkssYSETOHgwU+orDySCzNy5Ejq6upYuXJlq/YlScLrylj04VbKPs3AnlvVarvjEdkzlWFTbmXP+jWs+Oj99g6v0+k1KoyYVBtrFu1hf9rJC3G7ODeQ3dzwu+suon/4AY/LL6P0/ffZPWQo6UnJ7Oo/gN0Xjybr6mvYN/Um9t3U/JN7z73Ubd58pofgwkWX0hmRrX7AbiHEXgBJkj4GrgDSDjcQQmQf2tf2TN+T8MTXO0g7eOp6QoqioNFoQHES6yZ4Ijq6aZ96WGNL21gX0eBmJvdgLiEhATgkPXpJIjQ0lD/++KOZzQMHDhAaGgqAVqvFw8ODkpISfH19m9rU2Q8lx7tWIp7ThB1ytnJKaon1P6Ki/kS3YH79YyeP7z7ArKTGGnRRkfdSUPAVuzIep0/qQiRJJigoiKSkJFavXk2/fv1aVc6XdDI+N8ZT+MZmit9Pw3Z3T7QerdfKa41eYy6l9MB+1n31Od5BISQNH3WKo+44kiQx/MbulObV8OPs7Vzzf32x+rYtL8jF2Y/O30bQU0/hPXkKtWtWo1RUolRUNH3Umpaiu7W7NlD1889Yx16C3/33ow8JOQNn7sJF19IZzlYwcHRCSS7QvxPsnlYOr5I6OkFeVRp9QwkFIQRaTaPGFgicaJuS449NXG4tH+XYNoeT442uyNY5TZOzVdpchDTUqOfecH/+m5XP8tIqhni7o9W6ExP9MGk7HyAvbyFBQdcAcNFFF5GWlsayZcu47LLLWj2OxrDSG20AACAASURBVKLHd0oihW9uoeT9HfjdnoLcRkddkiSGT72N8oI8fn73DTz8AwhNSD6FUZ8aeqOWS25PZuGz6/n+7W1MeDAVneul40+FMS4WY1zb6i6qNTWUzJ5NyXtzqPr5F7ynTMZn+nQ0p6FklwsXp4vOcLZay+7uUParJEm3AbcB+Pv7s2zZsmb7PTw8qKpqnEa5f1hYRw7RgsORLbm0FLmmhuq6I4nESkPjMOrqGt/GHA6FgEB/DhzIxyFk9E4ne/bswcfHp+m8AAICAkhPT8fDwwOn00l5eTk6na5Zm+o6FZ0MNdXVnTKOPxOKojT7rrqK+vr6FtdYexFCYNTA6m0ZRDmbi5QmCbDhzl+3ZPAANQSgIuEJdGNn+lPs2qVDkrwACAwMZMOGDdTX12M2mzEYDI0R12NwS4LADU6yn1tJra+g3hPqPQROE63/JR6FZ59BFOTsY+FTj2D08kFjMKI1GtEajGiMJvRmC3qLFb3FHb27FY2+efSsurr6lL+vo/HvI8hZXs2HT/2Gyaf5PkmW0JlA5wY6c+N/Za1rIcmxdPZvcsbo0QP5sUexLF6MmDWbovkfIszNi7ILCYTFHcXTE9XT89B/PRBtLMIujEYUL29Uby9EK/mRncmf5nf5E3Gmf5POcLZygdCj/j8EONgRQ0KId4B3oLEQ9bFFI3fu3NnpBYoPFz1uKC0Fvb6Z/Vq1ATsNGPRa7ICb0Y2UXsns2ZPD/uwckiPDWbRoEQsWLGjWb8KECSxcuJCRI0fy8ccfM2LECKxW69HjxF5ViYdJh7u7W6eO58/A6SpEbTQa6dWr1ynbidy6AtVkZNiwvi32vVRSyY1b93I/VqxamZ7ubiQanseU/yzd+Q+RvhcQHDSRPn0m8sYb/2PHjh1Nfc1mMx4eHoSEhJCUlERoaCiSJFEbW0j1mjwMudWIfYcqHLjrMER64JbihzHOG0nbejpm3149WfPFJ9SUl1FfXUV9dTXVBXnU11QjjhFYNZjNRPbsQ9LwUYQl9uC35cs7vZDrJr8c1izeQ21h8/ez1qLDJnctQTGehCX6EJrgjbt31z4wzwX+dAWPx4+nbscOyj/5FNHQ0GyXUFWUkhIchQU49+xBPYUXMtnDA11gIBpPz5O+pLQHSdZgTE4i02zmgqlTW0gJuThznOm/lc5wttYB3SRJigQOABOBSZ1g97Qi7HZkQ/M3eUURSJKE4nQgyTKSkNDo4ZkXHuGOCVcgC5Vbbr6ZxMREHn30Ufr06cPll1/OtGnTuPHGG4mJicHb25uPP/64mV2HKzn+T0WYt4m9Ra0XgB7pY2VF/+6sLa9hc1UtmyprebdcwcmDyAhiivaQVPg1/fTvcMX4VFRnd+rqdFRVyVRWNlBeXsHGjRtZu3Ytnp6eJCUlkZycjP/0FISi4sivxZ5TiX1fJfWZZdRtLUYyajAl+eLW0w9DlCfSUVpwHrYARt9+X4vzVFWFmvIyqoqLqCwuoqq4iNKDuWT+sYr0lb9h9fPHHBFNZVICVl9bp313vUaF0WtUyyi1oqjUlDdQXdpAVWk91WX1lBfUkptexp5Njcr4XgFuhMZ7Y3Jv+UAzuOkwexqweBkwexowueuRT0ETz8Xpw5SYiOnJJ07aTq2txVlY2Fj54yQIIVCrq3EczMORdxBnXj6OvDyUiorOOOUj51RfT8m7s/BWFDLefgfzwAGYB12I1ta5OneSTofWxweNry9ab+9mVU9cnJ1InaF3I0nSWBqlHTTAe0KIpyRJehJYL4T4SpKkvsAiwAuoB/KFEIknstmnTx+xfv36Ztt27txJfHz8KZ/v0VRVVWGxWKhPS0Pr7YMuMKBpX0VhLU6niixVoihOPM02yhwHcRqhkAC6mQ24dWBZc2mNndyyWrrZ3F0J8q1wuiJbnXU9/eebNOat2Uf6v8e0SXi0TlHZWlXLb2VVLC2pYHNVHQIJi6hiKu8wkFUAyLIBvd4Pm994qquHsmPHDvbs2YMQArPZjMViafYJCwklXLZRu6WIuu0lCLsCWhlJ0/ycJIMGy8BALBcEIxtOfP057A3sXreG7b/+RM72LSBJ6FuTqPDxI7h7AsFxCQR3T8Dq59/hmqEnQghBaV4N+9NKydlRwsHMCpQ2KOxLsoRW3zLa52bVExjtQWC0J4ExHnj6u3XJeXcVZ/pt3UVLlMpK1s6aRURZOdW//44zr4urOEgSGi8vNF5ezV6sOsW0yQ2Nh0ezjz4yEvOgC9B6e3fqsbqa0/G3IknSBiFEn9b2dYo7LIT4DvjumG2PHvXvdTROL56VCKcThGgm+wCNkS2NRsZpb5R9UJwKkqzipFGLSy91TDmjusGJVpYx6lyasn8GwnzcaHCqFFU1YLOefGrLpJHp72mhv6eFhyIDKbE7WVFWxRv7DjCn7n4ui7oWT5GP3V5EddVOcva/RlSkhhtuuIeamhrS0tLIy8ujpqaG6upqiouLqa6uZqWykvHjx5NyTQpivEJdein2fS2nWpxFtVT+uI/q3w/gPjQU84DA4ybb6/QG4gcNJX7QUH78ajGeSgN1Vc2jAUIVlOYdIH3lcrb+8gMAZi9vQuKTiOyZSniPXli8OufGLEkSPkEWfIIs9BwZhlBFiylHAdRXOxojY2UN1JQ3fpyOY5wyAZUldWRvKyF9dT4ARrMOr8CWDpfepCUkzouwRO9zziFzcXrRWK009O5N4LBhCCFw5OSgdHJurmiw4ywpRikuxllUjLO4GKW8vFOPgRCodXUo5eXY9+1DrahAqawEIUCSMCYmYh58IZYLL8SUkuKKrp0E17cDCHtjGFrSHytoqqJ106LUNMo+KA4FSafixIAsgaYD91shBNX1TixGreuG/Sch9KgViW1xto7FR69lnL8XPa1uDF+bzvNlCcxL/guSJCGEys6d/2Bv1itoNG6EhU2jb9+WuWFOp5P58+ezePFiLBYL0dHRuCX7HVcEtSGnksqf91HxXRZVK3KxDmt0uiTN8V8ADFYP+p/gzVBVFUr253Bg104OpO8gZ/sWdq1aDoBfeCQRPVOJ6tmHoO7xyHLnRHQlWUJqJenG7GHA7GHA1gbdVCEE5QW15O2pIG93OVUl9S3alBfUkr21GD4Di7eBsEQfgmI8W0TLNBqZwBgPDG6uXB0XjS8H+vA/j3ivUBTq09KoXrGCmt9XUvL2O5S8+RbagABsf/sr1ssuO2PCyWc7LmcLEI5DgqZHJTMKVSBUgSw1vjlrtDqUeieyQcEp6dDLUoecpQanilNVsRhcX/2fhaPlH/pEdDyCE2Ey8HBUII/tPsiiwnIm+HshSTLduz+DotaTuftpNBo3goOva9FXq9UyceJE5syZwyeffMLUqVMJCgo67rEMYVb8piXTkFVBxU/7KP96LzWbCvG+Ng6dX8cWbciyBr/wSPzCI+l58ViEqlKUk03W5g1kb9nAhm8WsW7xQtw8PInpO4Bu/QcRmpCM5gy/EUuShFeAGa8AMwmDjv+dVRbXkZNWyv60UjLXFZC2ovV1QLJGIqS7N9G9/YhM8cVk0bfazoWLcw1Jo8GUnIwpORm/O+9EqaigZtUqSmbN5uA/Hqb0g3nY/vEQ5n79zvSpnnW4nvgcrR5/5KaoKIenHBrFRzUaLXYch6YRtRg7OIVYVe8EcDlbfyKCPU1IUkutrY5wS4gfiwvL+VdmLkO83PHVa5FlLYkJL6IodaTvegRZYyIwYFyLvkajkeuvv57Zs2fz4YcfMm3aNLxPkldhiPTA77Zk6rYVU/7lbgpnbsLjL1GY+weccuRVkmVsEVHYIqLoP+5qGmpryd6ygYw/VrFzxTK2/vIDRos73QcNYcikm9B18XL8U8XqayJpSDBJQ4JRFJXyglrEMTOT9joHWVtL2LupkKXzSlj2oURwrCcXTIjBL8ylG+Xiz4XGwwPrJZfgPno0lV9/TeHLr5AzeQqWkSPwmTYN+Rj5jq5AHxHRoqbx2YjriU9jAWpJq20W/lSdjXkg4pCzJctaFFR0kooDDdYOJiLWNDgxaDXoj7M038W5h1GnIcBq7BRnSyNJvNQ9lFHrMvhXZi5vJUYAIMt6kpPeYMvWaaSlPYhGNmKzjWnR32q1csMNNzB79mzmz5/PtGnTMJ/khidJEm49/DBEWCn9LIPyL3dTn16K15Xd0Lh33k3M4OZG3MDBxA0cjMPeQPaWjWSs/p0tP33PwV3pjHvoEdx9fE9u6CxAo5HxCbK0ui+omxcXTIimeH81ezYWsnN1Hl+8sIGRNyUQ3avzVnK6cHG2IMkyHldcgfvFF1P6/vuUvPMu1b8sOS3H1gYFYvvb/Vj/MvasnsJ0OVs0RrZaFKA+FNkSamMkSkZGlZwoaBBCalKPbw+qEFQ3OPFy5XP86Qj1diO3tO7kDdtAd7OJv0U0qs+P969gtK8HABqNgR7Jb7N5y1S277iPRF7G3za2RX8/Pz8mTZrEBx98wIIFC5g8eTIGw8nL+2isBnxvSqJm9UHKv8+m4JUN+NyQgCHSo1PGdTQ6vYFufQfSre9A4gcP49tX/8uHM+5n3AP/IiCmbcrjZzOSJOEX5o5fmDvJw0P4/q1t/PD2dgaMi6L36HBXvqaLPyWyyYTv7bfjedVV1G7Y2JhM34WIhnpK3/+Agw8+SOkHH+D/8D9wS03t0mN2GCHEWflJTU0Vx5KWltZi26lSWVkp6tLTRUNOTrPt1WX1oiC7QpTl54nCfVnCWdkgCvL2iYKKXeKNzxeJmG6xIjo6WjzzzDMtbM6ZM0f4+vqKlJQUkZKSIt59991Gm/UOIcuySEruIVJSUsRll13W1GfKlCkiIiKiqc+mTZuEEEIsXbpUWK3Wpu1PPPFEU5/w8HCRlJQkUlJSxNHf12OPPSaCgoKa+nz77bdCCCGysrKE0Whs2j59+vSmPkOHDhWxsbFN+woKCk44FiGEkGW5aXtnjqVXr16nNJaGhgZx6623im7duom4uDixcOHCVn/7zrye/v7pZtH/qV86zV6Doohhf+wUKb9vF+V2R7N9DkelWLf+GrHk124iL2/xcW3s3LlTPP7442L27NmioaGhXce351eLvBfWidxHVor67AohROPv11UU7csS79x1s3jl+vEifdXyLjvOmcJhd4ofZ20Xr09fIn5+b4dw2pVOsduVv4mLjuP6XU4fqqKIskWLRMaQoSItrrvYf/c9omr5clG7dZtoyMkRzooKoSrKaflNaJS7atWncUW2hEA4nC1XIioqsqZR0FSj1TbWSZQVGhSZZ/5+Pz/99BPR4WH07duXyy+/nISEhGb9r732Wl5//fVm26obnBiMJjZt2oS2lVVfzz//PFdddVWL7YMHD+abb75p9fSXLl3arMD1Yf72t7/xwAMPtNgeHR3N5s2bW7X14Ycf0qdPS4mQ1sYCYDKZjmvrVMZybKme9o7lqaeewmazkZGRgaqqlJaWtnq8ziTM2438ynrqHUqn1LvUyzIvdw9j7IYMHtiVy1uJ4WgORUO0Wnd6przHlq23siPt7wjhJDBwQgsb3bt358orr+Tzzz9nwYIFTJo0CX0bcxt0/mb8bu1B0TtbKX5vO363dG0tRd+wCK5/6kUWv/g037zyHKUHchlw5cQ/TQRIq9Mw6uYEvAPd+OOrLCqK6kgaGsyxwwuO88LcjiLjLlyc70iyjOe4cVhHj6Z07lyK351F1c8/N28ky3iHhsI5riB/buN0AqKFs6U6BbJGxtlwSPbB6USSVNZv2EFoVBSxMdFoJImJEyeyePHiFs5Wa1TXO5GgVUfLRefx3nvvkZ6eDoAsy606o53N4RWJuWV1xNhaz+VpLz2tbsyIDuLfew5i3SXzQlxok/Oh1ZrpmTKbrVunk7bzIYRwNhW2PpqkpCQURWHRokV88sknTJw4EV0bS4horHp8b02m6O2tFM3ejuHUKxudEDcPT65+5Cl+fnsmqz77EIPZTO9LLu/ag55GJEmiz9hIPP3NLJmbxi9z0lq0sXgbuOqhPpg9XQ6XCxftQTaZ8L3jDjwnTsSelYVSXoFSUYFSUY5SUUF2fsEZPb9z19n6/mHI33bKZtwcdrA7kI1GCO4JlzwLHNLY0knYFQWNTofSoCDrVA4cLCIwJKQpyhASEsIff/zRwu7nn3/O8uXLiY2N5eWXXyYoOIRau0JDQz19+vRBq9Xy8MMPM27ckVVlM2bM4Mknn2TEiBE8++yzTXk2q1evJiUlhaCgIF544QUSExvF9yVJ4uKLL0aSJKZPn85tt93WZOv111/ngw8+oE+fPrz44ot4eTUWPM7KyqJXr15YrVb+85//MHjw4KY+N910ExqNhiuvvJJ//etfTQ/2Y8cSGtpYCrO+vmvGMmXKFO69994OjaX8kLDfI488wrJly4iOjub111/H39+/nVdG+wj1NgGwv7S205wtgLvCbFQ5FV7ZV4CbRubJmOCm30WjMdGjxzts23YHO9P/D1V1EBJyfQsbKSkpqKrK4sWL+fTTT7n22mvRtlFuQethwO+WZIre2UrQehl7vxr0gV23wkir0zHmzr/RUFfLsg9m4RceSWhC10bVTjcxqTZCuntRX928zExVaT3fv7WNr1/bwvgHemMwnbu3ZxcuzhRaLy+0h54RR5N2hguDu0IshxP4jkp4F0KgKgKkxiR5jU6HoipIkoKCBvmY2P+xUx2XXXYZ2dnZbN26lZEjRzJlyhRqGpwIBDsz9rB+/XoWLFjAX//6V/bs2QPAM888Q3p6OuvWraO0tJTnnnsOgN69e7Nv3z62bNnCPffc08yhWblyJRs3buT777/njTfeYPnyRgHJO+64gz179rB582YCAwP5+9//DkBgYCA5OTls2rSJl156iUmTJlFZWQk0TiFu27aNFStWsGLFCubNm3fcsRwmJyenS8by7rvvdngsTqeT3NxcBg0axMaNGxk4cGCrU5CdzdHCpp3NPyIDuDXEl3dzi/lvVn6zfRqNkeTkt/D1uYhdGY+yd+8rrRZx7tWrF5deeimZmZl89tln2A/JnbQFrbcRv1uTETIUz9qK/WDnqmEfiyTLXHLX/XgGBPH1y89SWVzUpcc7ExjNOjz93Zp9QuO9GTM9ibK8Gr5/ayvKsYr3Lly4OHc5XjLXmf6crgT56n05onbbdqGqatM2xamIguwKUVFYJvJ2Z4iG2jpRklskysp2iPk//ywGjxzZ1Pbpp58WTz/99HHtO51OYbVaxYGyWrEtt1woypHjTJkyRXz22Wct+ixdulT85S9/adVeeHi4KCoqarH9scceE88//3yL7VlZWSIxMbFVW0OHDhXr1q1rsX3OnDnirrvuOu5YWqMzx/Lwww93eCyqqgo3NzehKI0JyDk5OSIhIaHVPp15PamqKuL+9Z148usdnWbzWPv379wn/H/dJGZm57fYryh2sSPtIfHLkiixI+0hoSj2Vu2sWbNGPPbYY2LmzJkiNze3Xefw+zdLxYGn1oj9/1whKn/bL9SjruWuoHh/jnh18lVi/v/9VTjameB/LpO++qB4ffoS8cO72076HbsSsc9OXL/L2ceZTpB3RbacDiSdrll0SjlGY0sja1BRkSRB99792Ld7N1lZWdjtdj7++GMuv7x5XkneUYVHv/rqK+Lj46lucOKorcRxSK2+uLiYlStXNuV6He4jhODLL78kKSkJgPz8/KZIxdq1a1FVFR8fH2pqapoSyWtqavjpp5+a+hx9/EWLFjVtLyoqQlEax7R3714yMzOJiorC6XRSXFwMgMPh4JtvvmnV1uGxAJSVldHQ0NAlY/n11187PBZJkrjssstYdihkvGTJkjbl050qkiQR5u3WJZGtw/b/GxfKBH8vntqbx/NZedQcGj+ALOuI7/4skRH3kJe3kK1bb8PprGlhp3///kyePBmHw8Hs2bP57bffmr7Hk+Ewg/+9vTDGeVPxXRbFs7bhLG/otDEei09IKJfc9Tfy92Sy5L03W43Y/RmJGxDIwPHR7F5fyMrPd5/p03HhwkUncN4nBUhOpUUBavUojS1JlpGEhCopOCUZrVbLc6/MZPTo0SiKws0330xiYiKPPvooffr04fLLL2fmzJl89dVXaLVavL29eXf2e9Q7FA7u283kCWORZRlVVXn44YebHIHrr7+eoqIihBD07NmTt956C4CFCxfy5ptvotVqMZlMfPzxx0iSREFBAePHjwca6+JNmjSJMWMaRS4feughNm/ejCRJRERE8PbbbwOwfPlyHn30UbRaLRqNhrfeegtvb29qamoYPXo0DocDRVEYOXIkt956K0CLscydOxeAnTt3Mn369C4Zy5VXXtnhsQA899xz3Hjjjfz1r3/Fz8+POXPmdOYlc1zCvN3Y30XOFjQKnr7aPQxVCF7MLuC93GJuCvFlWrAfPvrGWptRUX/FYAhgV8ajbNx0HSk9ZmMwNK+PGBUVxR133MG3337L0qVLyczMZMKECSdVmwfQWPT43BhP7foCyr/eQ8ErG/AaF4Nbz64R6+zW7wL6j7+WPxZ9QkB0N1JGtdQV+zPS6+Iwqssb2LJkP/XVDmwRVjz8THj4mXD3NaJxLbJx4eKcQjpb3xb79Okj1q9f32zbzp07myIrnUXdzp1orFb0wcFN22or7VSX1aPVVaGqCl6eARRVFSCZG8gniGg3AxZt25f3l9fayTmUOO2mP+/925NSVVWFu3vXlzbp7Ovpia938Mm6/ex4YnSXSxasr6jh9ZwCfiiuxCRLXBfow+2hfoSZGhciFBcvZdv2e9BprYSGTiEo6Bp0upZJo9u2beObb75BVVW6detGTEwMMTExWK3WFm2XLVvGsKOWTjtL6ij9ZBf2nCpks45j60FrPAwYu3lhjPVEH249YZHrE6GqCl8+9yTZWzZhOua8JFnGPzKaiJ6pRKak4hkQ2KFjnI2oquC3BbvIWFeAs+FI9FGSJYxmLUgSDrsd3QnkPLQ6meBunoQl+hAa743R4hJUPh0c+7fi4sxzOn4TSZI2CCFa6idxnke2hKqCojQrQA2HIlsSqIoTrU6P4lSQZAUnje3aqx5fVe9EI0uYOkF/ycXZS5i3G7V2hbsWbETTgbIRsgSTB0aQGt7SKTqWPh5m5iZHkVFTz/9yCpl3sIS5B4oZ5Wvl5mA/BvsMI7X3R2Tufobde/7L3qxX8bddSkjIjVitR1b3JScnExYWxm+//UZmZiZpaY1yBDabjZiYGKKjowkPD2919aLWx4Tf9BSq1xzEWXhMRE+Ao6iWquW5VC3bj2TQYIj2xBjrhTHWC6132+sgyrKGsfc+yNrFC2moaZ6crzgc5KbvYO/GdQB4+gcSntIbd2+fFnZM7lY8AwLxDAjE3dv3rC7tASDLEsNv6M6w6+OorbRTUVRHZVEdFUV11FU1piMcPHiQoKDjS5vU1zjI2lpM+pp8kMAWbiUkzgu9qW33Ip9gC8GxXugMrnuXCxenwvntbLVSgBoac7ZkjYzSpLGlIMkqDgwgga4dUQtxqESPxaD90wg0umidQTG+dA9wJz2v6uSNW6Gkxs6yXUV8ffeFhPm4talPrNnIK/FhPBQZwPsHS5h/sIQfi/cQbTJwU0gA1/SYh1y/m9wD88nP/5K8/M9xd0/EYknAzRSOyS0ckymMsWOHo9FcRmFhIbt372b37t388ccfrFq1Cp1OR0REBEIISkpK8PE54shIGgn3QcHHPT+13knDnnLqM8qo31VGfVoJAFo/E8ZuXhjivDBEeiDrT/wwN5otDJk09bj7y/IPkr15A9lbNrLjt19wNpw4l0yj0+Hh509krz4MuvYGdIaztwi2JEmYPQyYPQwExXg227dsWT7DhnU/YX9VFRTuqyRnRyk5O0rY9NO+dlVRkbUSQTGehCX4EJbojdXP1KKNVie77m8uXJyA83oaUamqwr5vH/qoKDRuRx5uZfk1CKFgry3A6mdDrRPUa4op11txyO7EW1rebI5Hg0NhV0EVwZ4mfCwuocK2cK5OI54q+0pquOy13wn2cuOLOy7AdBIHpDUaVJWvC8uZc6CYDZW1eOs0fJ8aS7jJgNNZRV7e5xQW/kBtXTZ2+xFJBUnSk5w0Ez+/UU3b7HY72dnZTc7XYSX+2NhYLr/8ciyW9umJCSFwFtdRv6uMhswy6vdUgFNFMmrxGhfdaXlfqqo05V0edXBqK8spz8+jPD+PsvyDlB7Yz96N6/AKDGbs3X8/J2sydmRqRFFUaIOqhKKoFGRVkpPW6KSVHmy54OIwnv5uDBwfTWSKr8vpwjWNeDZypqcRz2tny1lSgiMvD2NcXLOpxOLcajRaJw01RXgFBlFXXo9iKKZI749OYyTare1vwWU1dvaX1RLr794pZVzOB85XZwtg2a5Cbpq7jstTgnjl2p6n9ODaUFHDdVv3EGUy8lXvGPTHTJs5nTXU1eVQV7eP7Oz/UVe/n359v8JkCm3V3vfff4/ZbOa3337DYDBwxRVXEBcX1+HzEw6FhqxKKn/Zhz2nClOKH15XRCOfxkLtOdu38P3/Xqa2vIwBV06k/7hrkDXnzt/p6XyoV5fVs39nWdMU5mGEEOxak09Zfi1B3TwZdFUMtvCWOX/nEy5n6+zjTDtbZ3fSQhcj7HaQJDgqH0UIgaqoSNIh2QeNDkWoyLLAgbbFA+tkNDhVJCT02vP6q3bRRobF2Xjg4jgWbz7I7N+zTslWqoeZV7qHsbmqln/vOdhiv1Zrxt09HpttDMnJrwOC7dvvRVVbFzw1mUwMGTKE6dOnY7Va+eijj/jqq6+aJEDai6TTYIz1wm96CtZR4dRtK6Lg1Y3U7y7vkL2OEJaUwpT/vk7sgAtZ9emHfPz4PyjM3ovaRjmM8wmLl5H4CwLpPTq82Sd1TATXPtKPIRNjKc2r4bNn1vPLnDRK82paRhhduDhPOb9zthwOhLZ5LpWqHNLYEo03W1nIqDQ6W6qQ0bcz0tDgVNBr5Raq8y5cHI87h+WuCQAAIABJREFUh0WzNbecZ75PJyHIygXRHa/tONbPs0l9foCnhb/4ebbazmQKIz7+ObZtu5PM3c8SF/vocW3abDZuueUWli5dysqVK8nOzmb06NHExMSg6UBUSNJIWEeEYYz1ovSTXRTP2oa5XwBan+YRZMmgxZxqQ+rkCLHRYuEv9z5IVGo/lsz+H/P+cS+yRoPVz4ZnQBCe/oGNn0PJ9R62ALRtrC95vqDRyCQPCyG2fwAbf8hmy5Jcdv2RjyxLuPsaD8lWuGH21LcpWqvRyoQn++Bpa1vuogsXZzvndbhF2O3NolrQWBMRQKiNNRGFIlBQUaTGr0ovS9x8883YbLYmgc1jSU9PZ+DAgRgMBv438xUMR0W1jtf3s88+IzExEVmWOXr6tKSkhOHDh2OxWLj77rub9ZkxYwahoaEtcmeWL19O79690Wq1LFy4sNm+MWPG4OnpyaWXXtps++uvv05MTAySJDUJnB47lhdeeKFZn7N1LNdffz1xcXEkJSVx880343A0r0F3tiNJEi9e05NIXzN3L9jEgfK6U7L3SHQQPd3d+Ft6Dvvqjh+FsvmNJjRkKrm571NY+OMJbWq1WkaNGsXUqVNRFIWPPvqIl19+mZ9++omCgo4VfNWHumO7txfmAYHUrMun4vvsZp/yL3dT+mkGQu2a1If4QUOZ+uKbXHz7vfS9/EpskTHUVpSTtvxXln3wLl/+90nm3n8Hr944gXfvvpnP/j2Dn995nXVffU7m2lUU5WTjaKjvknM7VzCYtAwcH8P1Tw5g+I3d6XlxGH6h7tRVOdi1Jo81X+5l9aI9J/38/lkmHz66hi+e30Da7wdpqHOe6aG5cHFKnLeRLSEEwm5HmJsX1T0c2VJVJxqtFuFQEbKC49BXZZAlpk6dyt13383kyZNbte3t7c3MmTNZtGgRdlU0m0I8Xt+kpCS++OILpk+f3my70Wjk3//+N9u3b2f79u3N9l122WXcfffddOvWrdn2sLAw5s6d28I5AnjwwQepra1tEgc9zKBBg7j00ktbzGkfHsuXX37ZwtbZOpbrr7+e+fPnAzBp0iRmzZrFHXfc0aL/2YzFoOXtG1MZ9/pKbp+3gc9uH9jhnD+9LPNOYjij1mdw645svu7dDcNxpsNjYv5BReUmdqb/A3f3eEymsBPajoiI4J577iEzM5PNmzezZs0aVq1aRWBgIIMHD263er+s1+A1LgbPS6NaOFU1a/Ko+C6LSr99eFwc0S67bcXi5U3y8IubbRNCUFdV2ZhcX5BHef7BpkT7zLWrqKuqbGqr0Wq56OY76DFidJec37mCu7eRhEFBzbYJIXC2sd5jfbWDzHUFpK/OY+n8dJZ/kkFUii/+kR6NUTKbCauPCY3uvI4XuDiHOG+dLQBdWBiOY/JNDke2VKcDndmM4nAiSQqOwxpbksyQIUPIzs4+rl2bzYbNZuOrr79BqKJZZOt4fY+XqG02m7nwwgvZvbtl2Y4BAwa02iciIgIAuZUH6ogRI5pK2RxNr169WrV1eCzffvtti31n61jGjj2iMt6vXz9yc3NbtX22E+1n4aVre3LrB+uZsWg7L1zdo8MJ82EmA692D2Pq9iz+lXmAByMC8NO3lCORZT1JiTNZu+4ytm2/h+Sk1zAag5Gk4zt6Wq2W+Ph44uPjqampYdu2bWzYsIFPP/2Uq6666rgR4BMhaeVjNVKxDA7GWVRH1a/70fq5Ye7VNar1Lc5FknCzeuBm9SAotqXMQn1NNRUF+ZQX5LHt15/4+Z3XqK0op//4a1wr845CkiR0bVxhq/PW0Ht0OL0uDqMwu4r01Xns3lhI5vrCowyCxcuAh58bHrZGdX3PQ//2CjQjt1MP0YWLruScdbaeW/sc6aXpp2xHUZSmPJPu3t25M/o+JAkUp4JGq0OpV5A1Kk6MyBJo2vH3q6iNjpvBlRx/RnA4HMybN49XX331TJ9KhxmV4M+9I7oxc0kmKaEeTB4Y0WFbY/w8mB7qx9v7i5h3sAQ3jUykSU+EyUCMm5HrA70JMxkwmUJIiH+erdums2r1cCRJh8kUgqJa2JWxnMDACVjdW3egzGYzAwYMoHfv3syfP58vvvgCg8HQImLZESRJwvOKaJwldZQtzEDrZcAQ4XHKdk8Vo9mCMSoG/6gYYvoO5Me3XmXlJ/OoKS/joqm3nfXiqWczkiThH2nFP9LKkOtiqa9xUFHYKOxaUVhLeWEdlcV17N1URH31kXQBW7g7Y6Yn494O8VwXLrqSc9bZ6ioURUXWqCgO0Gh1OFUHklY9tBJRatebqlMVIIO+HaV9XHQed955J0OGDGHw4MFn+lROib+O6MaOAxU8+XUa8YFW+kacvIbh8XgsOoiLvK1k1tazr66BrDo7u2rq+bG4gv/lFDI12If7wgPw8xtJv75fUVm1nbrafdTV5VBbu52DBz/lwIH5hIffTmTE3chy66Vi9Ho9kyZNYu7cuXzyySfceOONhIeHd/i8DyNpZXxuiKfwf1sombcT210926VG39VotFouufNvuHl4suGbRdRVVjDmrvtdCfWdgCRJmCx6TBY9AVEtneyGWgcVRXUU7qti1Re7+fTpdYy+NYmQuJNXZHDhoqs5Z52tf/T7R6fYOVrTSQhB6cGaI7IPspYG7MiHSvWYpPa9oSqqQNJI6NoTDnPRKTzxxBMUFRW1yOc6F5FliZeu7cm4N1Zyx/yNfHPPhQR4dMzBkCWJod7uDPVurmOW12DnxawCZucW81FeKXeE2rg9tDvB7olNbZYtW8agQb3JyHyS7Ow3KC7+lYT453F3b33a2Gg0csMNNzBnzhwWLFjA1KlTCQw89dqFspsOnykJFL6xheL3d+A+JKRFG53NDV2QBekM/O1JssywG6dh9vBk+YdzqKuqJGHIRS3a+QSHYouKRpZdL2OdgcFNhy1chy3cSnCsJ9+/tY2vXt3MBROiSRkR6prSdXFGOWedra7AaVdQnCp6Y2NirowGFRVJFjjRtbsmolMVmNoZDXNx6syaNYsff/yRJUuWtJrrdS7iYdI1Jsy/sZI7PtzAx7cNwNCJEdNAg54XuocyPdSPZ7PyeD47n/cOFHOBp4UIk55Ik4FyoSFONZIQ/zw2vzGk75rBuvXjiYy4m5CQG5FaeRkxGmHSpHHMmzefDxfM4vpJN+Hl1TEpC41Gg+5QhEjn54bPDfEUz91O2WcZrbaXDBoMUR4YojwxRHu0OQIm6TSd4qT1vfxK3Dw8+entmeRs39JqG4ObmeD4RMISUwhNTMbD5t8m21q9Ho3WFS07Hl4BZq56uA9L3t/JyoW7Kcyu5MJrYk9bQr1iF126glKrk9G40lPOKc5rBXloHtmqLKmjocaJ3lRHQ3UVPj4hlFaVI1vKyZVCCTLq8NPruO6661i2bBnFxcX4+/vzxBNPNMkL3H777eTn59OnTx/KKyqRZRmru4W0tDSsVmurfadNm8aiRYu45557KCoqwtPTk549e/Ljj43L7yMiIqisrMRut+Pp6clPP/1EQkICDz30EAsWLDhUjDaIW265hccff5x169Yxfvx4ysrKMBqNBAQEsGPHDgAGDx5Meno61dXV+Pj4MHv2bEaPHs3MmTP573//S35+PjabjbFjxzJr1qymsVRWNo7FYun6sQQGBnLrrbd2eCxarZbw8PCm33XChAk8+mhL3aizUUH+ZHy3LY87P9zI1AsiePzyxJN36CAbK2p4Y38hO6vryalvwHnUbaK/h5nHYoJINtnZtetxCgq/abNdu91Azr4U8vK60V7lGUmSGDJkCEOHDm1yotVaB2p9cwFSoQocB6pp2FNOw94KnMXtk87QeBjwntQdQyepoNdVV2GvbV7qRlUUCvbuZv+ObeTs2EJ5fl67bMoaLbaISBSTmdQhwwmIjsU7KNiVH3YMQgg2/riPPxbvbVc9yLMdvUlL6phwelwUgtZVmaRNnGkFeZezdcjZUlVBSW41BrMWxV6Kqih4uNkoqS9HslSTRxARJj0eurYFA1Uh2HGgEj93Q4enfM5XzudyPW1hxqJtfLxuP8seGEaod9eLPjpVwYEGO4vXrEMTHcubOYUUO5xM8Pfin1GBmGrWUFPTcoXpsdTW1pCX/wOqmo4kBaHXXYcst70k0YEDB9i+fTvR0dFMmDAB8zGyLcc9/4oGGvZWoFa3QW9NCKr/yEMpa8BjbCSWQUGnJTJdWVxEbtq2ZjISJ6K6rJSCPZkcyExHPawjJ7WMohvczPS5bAKpY69Aq289v+58IH9vBfl7K07b8Xbv2UNMdHSX2c9NL2Pf9hLcfYwMHBdNTB+bawblJJxpZ8s1jXiIhhoHQghMFh0VhU60Oj3CqaKiIGh8c2hPqR67U0UgXCsRXXQ6dw2P4dP1+3l3xV6evKL9sgrtRStLhJsM9JCcDAuzMSXIh9dzCnlrfyHfFpVzW0gMd4RdgHcbXkTi4u6muPgXdu95jtraF/HyGki3mH/i7n5yPS4hBJGRkXz33Xe8/fbbXH311YSGtl7Hsdn5exjQtkMmwtw3gNLPMqj4Zi/2fZV4XdkN2di1t0qrr1+reV0nY+mvv9IjNoa83RmtRseK9u3l94/eZ8vP3zH4uil0v2DIeRn9CojyaDWpvqso1+6l57ATa9SdCj1HhrF/ZykrF+7mp9k72PLrfvpeGombe+c61J4Bbm2W63BxYlzO1iHqqh1odDJavQbF4cDgZkZtUJDkozS22pGzZXe6ZB9cdA1BniYm9Arh43X7ufuiGGzupzdyatFqeDgqkBuDfHhmbx6v5RTyRk4hvaxuDPe2MtzbnZ5WNzStvGlLkoSf3yh8fIZx4MACsrJfY+26KwgNnUJU5N/Qao8frZIkidTUVAIDA/n000+ZM2cOF198MX369EGr7bxbmWzS4nNjPNXLD1DxYxaOvBq8r+uOLsh81kUPJFnGJyQMn5DjP9hztm9h2bzZfPfaC2z8bjFDbriZ4LiEc6rgtouWhMZ7c82MvqSvzuOPr/byzWut5wWeCkaLjp4jQ0keGoLe5HIXTgXXNGJVFSaDG6V5NVi8jBhMEkU52Vh9bFANVboyqk1G6iUrie5tn7Ipqqonr6KehEArWo3L4WoPrmnEk5NVXMOIF5dx25BoHr6kpdBmV3C8MHxadR3fFpWztLSKTZW1CMBTq2FKsC8PRwac0EFxOCrZs/cFDhxYgMEQQFzcE/j5jjjpudTV1bFo0SIyMjKQJAkPDw+8vb2bPsnJyZ1yDTXsraDko52oVQ4kvYzW24TWx4jG14TO14Qh2vOMSk+0dWpEVRXSli9l5ccfUF1WiqzR4mHzx9M/AM+AoMZ6j8dMM0qyTHRqP8yeLumE9nI6pqyOxl7v5GBmeaeWslKcgp2r8sjZUYLBTUuPi0LpMTwEo/ncXJjhmkY8C6irdoAERrMWp72xtplG1uLAjiSpONGia+dKxAanilaWXY6Wiy4h0tfMX3oEMX/NPu4YGo2H25m7ASZYTCRYTDwYGUipw8ny0iq+Kizn1X0FNKgqj0UfP+9Jp7PSPe5JAgPGsTN9Blu33oaf3xjiYh/FYDj+yjyTycTEiRNJT08nPz+f0tJSysrK2LFjB3V1daxdu5YpU6bg5XVqjoIhygP/+3pTt7UYZ0kdzpJ6HIW11KWXwqHSXlo/E8ZuXhjivDBEeiCfhdMusqwhadhI4gZcyK41v1N2MJfy/DzKCvI4sCsNe13riwjW+gdwzSNPY/U7PWr9LjqG3qglIrnjBeuPR0yqjcJ9laz7Npt132Sx5ZccInv64WkzNSn3W31N56wDdjo5750tIQQNNQ4MJh2yRkZxNC7XlZFRJBVZVlHQYmrn9EGDU3VNIbroUu4cFs3XWw7yweps7hlx6grtnYG3Tss4fy+usHkyI/MAb+0vwqLR8EBkwAn7eXj0pl/fxeTkzCYr+zVWr/mduNjHCAgYf1xHTZZlEhISWtRfzM3NZf78+cyZM4epU6fi7d1xEVgAjUWP5YJj6vypAmdRLfWZ5dRnlFG9Np/qVQeRdDLWi8OxDApGOgvLxeiMRpKGjWy2TQhBfXUVirO5VEHZwVwWv/AUnzzxMNc8+jQethP/hi7+nNjCrfzlzh4U51ax4Yd95KaXsWtNfrM2skbi2Ppa7l5Ght3Q3SUqe4jz3tlS7Y03TpOl0TNXnI0reyRVQkUgySoKGnTtTCq1O1UshvP+63XRhcQHWhnR3cZ7K7OYNjgSN/3Zc71JksR/ugVTq6i8kJ2Pm0bmzrATR0dkWU9ExB3YbJeQtvMfpO18kOLiX+ne/d/odG2/YYeEhDBlyhQ++OAD5syZw5QpU/D17dy3fkmW0Pmb0fmbcb8wGOFQaMiqpHrVQSq+zaI+vRSvq+PQeho69bhdgSRJmNxbylxYvLy5+pGnWPiff/HJ4//H1Y8+hVdAUCsWXJwP+Ia4M/qWxgU5DrtCZVFj2aTywloaao7VFBPs3VzM4lc20XNkGAMujzrvi4af36MHnA0ga2R0xsbQv9PhQKPTIZwCVRbIskBFg/Yor/3mm2/GZrMdt8CuogpW/b6cS4YNJDExkaFDhzbtKy8v56qrrqJ79+7Ex8ezevXqpn2vvfYacXFxJCYm8tBDDzVt37p1KwMHNtpKTk6mvr5xqtNut3PbbbcRGxtL9+7d+fzzz5v6fPrppyQkJJCYmMikSZOatufk5HDxxRcTHx9PQkJCUyFpIQQzZswgNjaW+Ph4Zs6c2dRn2bJl9OzZ87SNJTU19ZTGMnjwYHr27EnPnj0JCgpi3Lhxrf5OfwbuHB5DWa2Dj9buP9On0gJZknixeyhX2Dx5cs9B5hwoblM/N7cIUnsvIDrqQYqKf2HNH2MpKVnRrmMHBgYydepUFEVh7ty5FBUVdWQIbUbSaTDGeuEzJQGvCd2w76+i4JWN1G4uPHnnsxj/qBiufvRpHPYGPn38YUoPnptF3V10Ljq9Bp9gC1E9/eh9cTgDx0cf84nhmn/2JXFwMJt/zuGzZ9dTcqD6TJ/2GeXseRU+AygOFdUJZg9d01SF4nSg0WoRThUFlcMzGNqjpjKmTp3K3XffzeTJk1u1W1hcwtMzHmDxN9+QFBtDYeGRG+59993HmDFjWLhwIXa7ndraWgCWLl3K4sWL2bp1KwaDoamP0+nkhhtuYN68eaSkpFBSUtKkov3UU09hs9nIyMhAVVVKS0sByMzM5JlnnmHlypV4eXk1O/7kyZOZMWMGo0aNorq6ukkccu7cuezfv5/09HRkWW7qU15ezp133skPP/xAWFjYaRlLRUVFk0hsR8ayYsWRB/OVV17JFVdcccLr4FwmNdyLAVHevLt8LzcMCOtUVfnOQCNJvB4fTp2i8n8ZuRQ2OAgxNk/EtmhlLvC04Kc/kvchSRoiIm7Hx2cw23fcz+YtUwkOnoT7MQWwJUmDr89w9HqfFsf29/dn6tSpvP/++8yZM4fhw4e3qCgQEBBAcHBwp41XkiTM/QIwRHlQ+ukuSj/eRV1aCcaYYyJzEhi6eaL1PPs1+GwRUVz76NN89p9/8ekT/8fAq65D6mCJIYuXN5E9U89L+YnzDZ1Bw7BJcUQk+/DrBzv59Jl19L44/IwVB6/Yf2YXA57XzlZdTeMD3Wg5cpNXnE4MJjewq6gaFeWQk6U7ytkaMmRIUxSlNT5csIARYy4lJjISAJutcfqksrKS5cuXM3fuXKCxWK/+0AqgN998k4cffhiDwdCsz08//USPHj1ISUkBwMfnyEPlvffeIz09HWjMXzk8VfLuu+9y1113NSUHH7aVlpaG0+lk1KhRAFgsliZbb775JgsWLGh6GB3us2DBAiZMmEBYWNg5M5bDVFVV8euvvzJnzpwW+/5M3DU8hhtnr+XzDQe4pk/LOoGdhaIKnIra7n4S8L/4MKbtyOblfQXHbdfDYmKYV2Pdxt7ubuhkCZNbPL17LyIr63kOHPig1X4ajYXIiDsJCZmKRtN82s5ms3HTTTfxwQcf8O2337baPyEhgZEjR55ybtfRaH1N+E1PoWrZfiqX5FC3tZWonlbC/cIQ3IeFdLmO16niGxbBNY8+w8L/zOCXWf87JVv+Ud0YNnkaIfFdrxHn4swTkezLdY/2Z+n8dNZ/l33GzsPQOQUhOszZ/Rd+AvKffpqGnekd7i8AZ4MCEtQdWj1k6B4HE69BK+sQgEBBOSRoqm1HgnxGRgaVNfWMGTWCqqoq7rvvPiZPnszevXvx8/PjpptuYsuWLaSmpvLqq69iNpvJyMhgxYoVzJgxA6PRyAsvvEDfvn2blraPHj2aoqIiJk6cyEMPPUR5eTkAjzzyCMuWLSM6OprXX38df39/MjIaa8UNGjQIRVF4/PHHGTNmDBkZGXh6ejJhwgSysrIYOXIkzz77LBqNhj179vDJJ5+waNEi/Pz8mDlzJt26dSMjIwOHw8GwYcNO21jCw8N56623OjyWwyxatIgRI0ZgtZ7hv7Iu5sIYX1JCPPjnom38c9G2rj3YT993uKsADIaWEQ1h0KD6Gtjm28DWylpm7i8Eu4JuaxmakoZDrfrgZUzg/ZtSiPU/Iulgd5SQtfdVdu/5L7kHPiQ6+kH8bZc2S6r39fXl3nvvpaameckcIQSbN29m5cqVpKen079/f4YMGYLJZOrwGI9G0khYR4RhuSAI1X5MSaF6J1XLcqlatp+a9flYR4Zj7htwRgpntxWfkFCmzZzVZpX71ti/YysrPv6ATx5/mJi+Axly/VS8Ajsvsuji7MTkrmfsHT2oqWjoVHmK9rB6zeqTN+pCzllnqzOQtTJCHHlTF0IgAbKkbSxALalNzlZ7pB8a7E52bt/CquXLqKurY+DAgQwYMACn08nGjRt57bXX6N+/P/fddx/PPvss//73v3E6nZSVlbFmzRrWrVvHNddcw969e3E6nfz++++sW7cONzc3RowYQWpqKikpKeTm5jJo0CBeeuklXnrpJR544AHmzZuH0+kkMzOTZcuWkZuby+DBg9m+fTtOp5MVK1awadMmwsLCuPbaa5k7dy7Tpk2joaEBo9HI+vXr+eKLL7j55ptZsWIFTqeTDRs2sGTJktM2lmeeeeaUxnKYjz76iFtuuaXTrpezFUmSePGaFL7fln/yxqdAVnYWkRGRXXqMegTZqsIKnZ2iVF+GCz19aXz5mbkkkx92qvQID2xqbzQGkpLyLqWlK8nc/Qw7dvyV/fvn0q3bP/H0SG1qp9Vq8fBoqSA+bNgwUlNT+fXXX1m9ejWbN28mJSWlTSKpFouFvn37NnPwW0M2aZGPFYT0MOB9bRyWQUGUf7uX8i93U73qIKYEb1os6zoB3jkSFfXZQGM0zS21a8u2aPV63H06vtggYchFdOt/ARu+XczaLz9j7sZ1JAwZjpuHZ6edoyRJxA0cjF94116rLtqP2ePMLRjRmc7si8w562wF/POfnWLnaAFNe10dpQdzkZFx4ESSFZRD6vHtiWz5BQQy7KJRmM1mzGYzQ4YMYcuWLQwePJiQkBD69+8PwFVXXcWzzz4LNK6gmjBhApIk0a9fP2RZpri4mJCQEIYOHdo0rTZ27Fg2btzIRRddhJubG+PHjwfg6quvZvbs2U22BgwYgE6nIzIykri4ODIzMwkJCaFXr15ERUUBMG7cONasWcO0adMICQnhyiuvBGD8+PHcdNNNTbZ8fX1P61jGjRvH/PnzOzwWgJKSEtauXcuiRYva/Ludy8TY3LlnRNcKwS5bdoBhw06PxES1U+HOtH38VFJJULCV/8QEs3pPCUt2FvLQmJYirt7eg+jXdzF5eYvYu/clNmy4BpttLNFRD+DmFn7CY7m7u/P/7J13eJRV2v8/zzMlM6mTXkgIpCCBUIOAulJXQMWCXSzA4oKu5V39va6uru3dolhXV9R1XRu6KLoWUETpKCqIAoIgEFJIT0iZtEmmPOf3xySRZBLS+/lc11xMznPaw5lyz33u870vueQSpkyZwsaNG9m9e3eb5qhpGpWVlfz6179uvXILGKP9CF02lppDxVg/z6Diy5x2tQ/UFCoys91uQ02AJvCZ3LclGgxeJqZedjVjZs1h55q3OPzlNjSXq/WGbUTTXBzY8gU3rHgO38Cu2xqWSDpDvzW2uoMG2QehoKkaap1nS6e4T1a1BSEE0359Po8/dA9OpxO73c6uXbu48847iYiIICYmhiNHjnDGGWewefPmBo2gSy+9lC1btjBjxgyOHj2K3W4nJCSEuXPn8vjjj1NdXY3RaGT79u3ceeedKIrCRRddxLZt25g1a5ZHX6tXr2bx4sWcPHmSo0ePEhcXh8ViobS0lKKiIkJDQ9myZQuTJk1qNP5vfvMbtm/fzogRIwC45JJLuO2223r0XrZv396pewF47733mD9/PiZT3w9Alnjiq9fx2pjh/PV4Hi9kFZJWXcO5I0N5av3PZJVUN5uAW1F0REVdQXj4BWSeeIXMzJcpKtpITPSNDBt2KwbD6XPjRUREcMMNN7R5jmvXruWrr75i2LBhJCQktPsef5m3gnl0CObR7fcYuVWxpyE0wclXD1K69jjGoX4YItqWpLs38bEEMmfZ7cxZdnuX9nsyK5O377uL9f94kiv+9GfUDgbzSyRdihCiTz5SUlJEUw4dOuRR1lnKy8sbnleUFIu81KPCnl8pSvOKRVHRUXHMWigOV1Q3anPNNdeIiIgIodfrxZAhQ8Qrr7wiXnzxRfHiiy8Ku9Ml9meViof+/DeRlJQkRo8eLZ555pmGtnv37hUpKSlizJgx4pJLLhElJSVCCCFqa2vFddddJ0aPHi0mTJggNm/e3NBm1apVYtSoUWL06NHi7rvvbijPyMgQ5557rhgzZoyYNWuWyMzMFEIIoWmauPPOO0VSUpJITk4Wq1evbmjzxRdfiDFjxojk5GSxaNEiUVtbK4QQorS0VFxwwQUiOTlZTJ06Vezbt6+hzeOPP96j9zJPNs+0AAAgAElEQVR9+vRO3YsQQkyfPl189tlnp1n57nk9DWS2bt3aK+O+nXtSRG/dJ87ceVDEPPKZeOPr9Da1q6nJFz8dukds2hwvtm2fKHJzP+jSedXW1oqVK1eKFStWCKvV2qV9t5VT18RZXity/vKNyHvyO+GqcfbKfPoKB7Z8IZ686kKxc83bvTJ+b71XJC3TE2sC7BEt2DQyN+Ip24jlRYXUVFVgMYZTqatBMZZQqA9FpzOT4N02D0lVrZPjRZUMD/HBzyRTGHQEmRuxb9LT+d5O5evSSpYeTKe8xsHEQhfrrjuzzW0rKg5z9OgjlFm/Izb2FuLj7kJRukZ6oKioiJdffpmoqChuvPHGVuO3upqma1JzvIyTrxzAe0IYQVed0aNz6UsIIdjwwjMc+nIrV/7prwxNHtuj4/fme0XSPL2dG1GKnZyCy+lErzOCJnAhGlL1GNoRr1XrdMceyFQ9EknXcXagL+tTRuCnqnwXoeft7LYJpAL4+SUxYcIqhkRdS2bmixw8eAcuV/O5ANtLaGgo8+fPJzMzk+3bt3dJn53BFG/Bf/ZQqn8opGpPyzIbAx1FUZi99BaCIoew/h9PUFVW2ttTkgxypEVwCi5XnbEFaEJDUVw4UdsVHF/r1FAUBYNMQC2RdCnDvb14NiYKtdTO/zuWzYq0PNrqmVdVA2ec8WcSE+6jsGgDP/ywkNrarlGVHzduHOPHj2fHjh0cP368S/rsDH6zhuIVH0DZx6k4CqpabzBAMZrMzL/zXmqrqlj//FNoWtcF4Usk7UUGyJ+C5nSiM/mABi7NiYZACKV9ni2HOwF1dx6/lkgGK7PiQwhavRfL5HCeySwgzVbLjVHBBBr0WPQ6LAY9ZlVp9v2nKApDhy7FbI7l4E+/Z8+eyxgx4gG8vCIwGCzo9Rb0et8ObTFecMEF5OTk8N///pcJEyYQFBTU8PDz8/NQru9OFFUh6JqRFDz7Aydf+wnj0CZb8oqC3uKFPtiMLtiEPsSMzs/YJxNnd5bQocOYuWQ5G1/+B+//5QHM/qc/JAGgNxgICIsgMCISS0QUlohITL5+8jNd0imksVWHpmloLpdbY0sRdRpb7v8efXs0tpwapkGecFMi6S4MOpUZiaF88/1J7rt+DH9Lz+PjwrJGdbxUhYn+3swPtXBhqIUIr8axk6GhvyYl5R1+3L+MHw/c0mQEFaMxGLN5KN7mWMzmWMzesfj5JuHj0/KJQ6PRyJVXXskHH3zAN998g6b9ot+n1+sJDAwkMDCwkRFWn3HhVAIDA7skXlHnZyR4YRJlnxzHkddEzNUlsB08Ca5TvIJ6FX2QCX2wCX2wueFfxej5WaYPdhtn/YUxs+ZQVpDH8e++paq0pNX69toaKndsaVSmN3qhNtmtUFQV/5AwLBGRWMIjsUREEhAWgd5gpDIvh5yfD512nMDIqC7VF5P0baSxVYfmdGctV4WKSycaZB+ANnu2hBDYXRr+TQUMJRJJlzE7KYxPfsxjus6Li6cmkV1jp9ThoszppMzhosjuZFtJBfcfy+H+Yzmc6e/D/LAALgkLbDC8/P2SmTr1cyorj+BwWnE6ynA4rDicZdTWFmKznaCk9Gtq8z9oGDcw8GyGxd5MYODZzXo5wsLCuPnmm9E0DavVSmlpKSUlJY0e9eK+pyMiIoKEhATi4+OJiYlpk8Bqc3jFBRB+x8RmrwlN4CqrxVlsw1lSg/OkDWdxDa4SG7WpZQjH6dMyGaJ8MI0IxDQiEONQf5Q+HKOqKArTFi5m2sLFbW7jtNuxFhZQVpBLWX4eFcUncYuZ/YLL6aS8qJCTWSdI+343ribreuSj1a2OEzY8nuHjUxg2diKRI0ai6+BaS/o+cmXrqH+jKEJB02koaO1O1WN3aQgh+lwyYIlkIDFjRBiqApsPF3DXnDMYZm5elfpoVQ2fFpXxSVEZD6Xm8ufjuZwfYuE30SFMDfBBr/fDYmn24FADLlcNNtsJiou3ciLrdfbuuxE/v9HEDl1OWNg8FMXzva6qaoMnq150tx4hBBUVFZSWlnoYXUII8vLySE1N5euvv+arr77CaDQSHx9PUlISI0aM6DLdOEVV3J6sZpICCyHQKuw4i2sQziZGlwB7TiU1R0uo2JFDxbZsFC8d+hDPFEc6PyPmUcGYRgej8+lfJ7P1RiPB0TEER8e0qb6muagsLsZamI/L5eLH/fsZW5cDtjmEplGYfpz0fd+z++P32fXhGoxmM1FnjCIsdjihw+IIjR1OYGSU1AkbIEhjq456QVMEdal6XLhwu8r1p9haWVlZ3HjjjeTn56OqKsuWLeN//ud/APcWIsBH773D359+EnCn9HjxxRcZN27cadvefffdrFu3ruHD9bXXXsNisbBx40buvfde7HY7RqORJ554glmzZlFdXc2VV17J8ePH0el0XHTRRQ0K7k8//TSvvPIKer2e0NBQXn31VWJjY9m3bx+33HIL5eXl6HQ67r//fq6++moArrvuOvbs2YPBYGDy5Mn885//xGAw8Pbbb7NixYoevZe5c+fy9NNPd/heli5dyp49exBCMGLECF5//fVmE1VL+ieBPkZSYgPZ/HMhd81pWd5ghI+JET4R3DksguPVNazKLeadvBLWFZUx0sfEkiEhzAjyayU5jgK6WJSwxQwNXUhh0RfkZK8m7ac/Yzz2T3x8EjGZhmA2DcFkisJkikJp+rGqgJ9OwU+noCoKBgOEhekAzy/RIUOGM2nScGpra8nKyiIzM4O0tJ9IS/uODRtUhsbGkpiQSEzMCAyGAGw2G6Wl3XTSroUdLvPQUPxnxqDVOKk9XkbN0VJcVrtHPUdhNTU/l8BHx/CKs2BODsYr3oLSxw8PKQYV1cfQrhg2VdXhHxqGf2gYABklVoaNnXDaNsPHpzBlwVXUVldx4uB+Mvb9QF7qEfYc2I/mchvieqMXwdExdduU7vgxS0QkvoHBMoasndgrK3p1fKmzVafpVFlSTGVpCUGmCKoMdoS+hAqDL2UEMNbX3PDCzsvLIy8vj4kTJ1JRUUFKSgofffQRo0aNoqiiljyrjbL0g4xJHk1gYCCfffYZDz/8MLt27Tpt2y+++IJZs2ah1+u55557AFixYgV79+4lPDycqKgoDh48yNy5c8nJyaG6uppdu3Yxc+ZM7HY7s2fP5r777uP8889n69atTJkyBW9vb1588UW2bdvGu+++25AIOjExkdzcXFJSUjh8+DAWi4X169dz/vnnA7Bw4UKmTZvGLbfcwtdff01SUlKP3suMGTN44IEHOnwv5eXlDcmn77rrLsLCwrj33ns91l7qbLWPvqQd9OK246zY8DPf/nE2EQFt9/ZUuzQ+KizlteyTHKjsGvmHtqIIDW+q8KUSHyoZzQFmsZEwCjvUX02ND5UVwVRWBlFRGYyt2h8hGn8Ba5oep7Pr89GZzWYsFgsWi6UhzsxsNjd6GAwGnAU2ao6UUHOkBFdxDQb0GPvDb3y9gj7QhC7QhD7QC12gCZ23AdVbj1KX61I166GJQaYoCqqfge3bt3f4veJyOijOzqIoM53CjDRKcrIoy8/DWlSA0E6/vStpGVNgELe+9Ga3jnE6na1+8KrvGVxOp3u/XIBLaOjrNLb0SuOTTZGRkURGuhPh+vn5kZSURE5ODqNGjaLG4cKgU5l27q8a6k+dOpXs7OxW286ZM6dRm/fffx+ACRN++XU0evRoampqqK2txdvbm5kzZwLu4NyJEyc2jFNfXt9XfZ7B+hQ8AFFRUYSFhVFUVITFYuGCCy5ouDZ58uSGvs4+++wev5f6xNQdvZd6Q0sIgc1mk78AByC/TgpjxYaf2fxzAddNOX3uw1Px1qksjAzm2ogg9pZXc7S6pvOTEeB0lWO3F+OwlyJo/IWoAVWaSrlLR7lLpVzzpcgZwKfVCXzCAs72qeYKi5VzfKsbedFbGqu0rAyr9QRGQzp6/c+EhJ44bROdGoPBMB6DYTx6fRKK0rng9qqqKsrKyigtLaWwsJCjR4/iaktuwzqbOCIgjOFhMQwLjSHKEt6jJzXbgnC4cJbW4CqpwVlaiy27Aq369HF2p6LzNxLmp1AdVIQpwYLq3b4tVJ3eQNiwOMKGxTF6+uyGcpfTSfnJQqz5eVRK3bB2cywtvVfH77fG1pdrjnIyq7LT/bhcLnQ6HU57LZZwL6bPCcElNAyKhgvDaYPjMzIy2Lt3b0MyZpvdhdnQeGvg3//+d4PH6HRtT+XVV19t2BI7lfpj5V5ejX+plpWVsW7duoZtvLaMv3v3bux2O/Hx8Y3KHQ4Hq1at4tlnn21zX119Lxs2bODuu+/u1L0sWbKE9evXM2rUKJ566imPNpL+TUKYLzFBZrYcLmyXsVWPoihMDPBhYkBX5RAMBoa3q0VOjZ2384p5O7eYO3N8iPIy8L/DIrg2Mui0PxCion55vm3bNs45ZyIVlT9RY8tCNAnidjjKKCn5irKyz6mpXYeqmggKOoeRZ/wFL6+wds23JTRNo7a2FpvN1uhht3tuLVZUVHD8+HG+Tf2Bb459j5eXF4mJicyZM6fhR1JfRLO70GxOtGonWrUDYXOi2ZxNY+YRDhe1GeX4HK6l5D8/gwLGGD/UZk5vmuIt+EyJaPO2qk6vJzAiisCIqNYrSzw4ybZeHb/fGltdjRACtU5fR9PqY7Z0GFv40KusrOTyyy/n73//O/7+/rg0Qa3TRcApv2K2bt3Kv//9b7766qvTtj2Vv/71r+j1eq677rpG5T/99BP33HMPX3zxRaNyp9PJtddeyx133OERjPvWW2+xZ88eD2XrvLw8brjhBt544w2PX5W/+93vmDZtGueee26j8p68l+XLl3f6Xl577TVcLhe333477777LkuWLEEycFAUhdkjw1m9+4T7R46x/wURDzEZ+cPwSO6MjWBjsZV/ZhVx15Esvi6r5PEzYvBu45ewweBPUOBZEHhWs9eHxS7H5aqmtHQXxSU7yM19j4M//Z4J499EVTv/FaCqasPWYVuYMWMGNpuNtLQ0jh8/zoEDB0hPT+eKK65g+PD2Gaw9hWrUoRp1END6lqzvOUM4sKWAs+InUnO0lNrUMlzFjbeshUOj7KdiKr/OJeD8YZhGyRisAU9LSRN7+9GTiag1TRP5aamiouCksGVZRU5OlrBafxQHyyvFieoajzZ2u13MmTNHPPXUUw1llTUOsT+rVFir7UIIIfbv3y/i4uLEkSNHWm1bz+uvvy6mTp0qqqqqGpVnZWWJxMRE8dVXX3m0WbJkibj99ts9yjdu3ChGjhwpCgoKGpVbrVYxYcIEsWbNGo82Dz/8sLjkkkuEy+VqVN7T93JqcvCO3ks927ZtExdeeGGz12Qi6vbR15Lr7jhaKGLv+URMe3yLOO/pba0+3t19orenfFpcmiaeTMsTEVv2ium7DovUKlurbTqyJrm5/xWbNseJ1OOe79veoKCgQDz33HPi4YcfFjt27PD4/OmPtLYumqaJ6sPFIu+p70TWPTtEwUv7RW1W+WnbSDpHbyeilp4t3Mdwhaahqjq0upyIAE6heAiaCiFYunQpSUlJ3HXXXQ3lNoc7ZsFs0HHixAkuu+wyVq1a1Si2qKW2ABs2bGDFihVs374db2/vhvKysjIuvPBCHn30Uc4555xGbf70pz9htVp55ZVXGpXv3buX5cuXs2HDBsLCftkqsNvtLFiwgBtvvJErr7yyUZtXXnmFzz//nM2bNzfyEPXGvVRV/SLC2N57EUJw/PhxEhISEEKwbt06Ro4ciWTgMTUumOunDqW40nO7qil7Mkt5d08WV53ZtqP8vYGqKPy/4RFM9Pfm1sOZzN1zlGdGDuWisK4VvoyMvIzSst1kZLyAJeBMgoPPbb1RNxIWFsayZctYu3YtmzdvJisriwULFrTZU9YfURQF88ggTImBVH2XT/nGTAqf34fP5AgsF8WhGPqfp1bSCi1ZYb396EnPlr2mRuSlHhW24nJRkVUi8vPTRYn1J7HPWiUKa+2N6n/55ZcCEGPGjBHjxo0T48aNE59++qn465PPigcffVpomiaWLl0qLBZLw/X6e2mprRBCxMfHi+jo6Iby5cuXCyGE+POf/yy8vb0byseNGycKCgpEVlaWAMTIkSMbyv/1r38JIYSYPXu2CAsLayi/6KKLhBBCrFq1Suj1+kZ97d27VwghhE6nE3FxcQ3ljzzyiBBC9Mq9jBkzpsP34nK5xNlnny2Sk5PF6NGjxcKFC4XVam127aVnq330Nc9We3jo44Ni5J8+E06X1ttTaRPZtlpx/p4jInzLXnH3zyfEyVpHs/U6uiZOZ7X45tt5YvuOScJWk9eJmXYdmqaJb7/9VjzyyCPimWeeEUeOHBGa1j/WqyntXReXzSFKPzkusu7ZIfL//r1wnKzunokNYnrbsyWlHyoqMKgqZfm5BAUPwVZlo9ZoRfVykEMMsWYjFkPrDsCjBRUYdCrDQ7oq4HbwUi/H0d1I6Yf20ZekH9rLf7/P5v+9t5+Nd04jMbz7X1tdgV3T+OvxPP6VXYSvXuX3sREsjQ7B6xTPc2fWpKrqON/tuRQ/39FMmPBWl8RvdQVZWVl8+OGHlJSUEBcXx5w5c4iIiOjtabWLjq6L7ecSSt49AkIQdOUIzKNDun5yg5Se+Pw6nfRD3zpz20vUp+pRUNzbiKfmRWxD0KKmCWodnicRJRJJ32BMtDsB8YEcay/PpO0YVZVHEoewdfJIzvT35f+O53Lurp/5uLCUrviR7OMTz8gz/kKZ9TvS0v/eBTPuGmJiYvjd737HvHnzyM3N5Z///Ccff/wxFRW9K0rZE5hHBhF++wT0IWaKVx2mbH06wtU3HSKS9tE3fsr0Mi6nA0VRUFBwoaHTCRyKF4i25UW0OVwI6JcnoiSSwUB8qC9mg44DOVYumxjd29NpF2f4mHh7XBw7Sip4ODWH5T9l8lrASV4c3X7Ji6ZERFxCadkuMjNfxGSKYkjUtX3iVJxer2fq1KmMGzeOHTt2sGvXLg4ePMi8efOYOHFin5hjd6EPMhF28zjK1h2nckc21T8UeOSe1AV6EXhZIoZQ7xZ6kfQ1usSzpSjKPEVRjiiKkqooiodUt6IoXoqivFt3fZeiKMO6YtyuQnM5UesETTXFHSDvqhP+axog3xynBsdLJJK+h05VGBXlz8F+5NlqyrQgPzaeeQZPnhHDj5U2fv3dUQ6Izv9eHpH4IMFB0zhy5AEOHb4bl6tnlfVPh9lsZu7cudx2223ExMSwbt06Pvroo2Y1vAYSil4lcEEiQQtHYhoRiFdcQKOHs6Cawuf3UX2gqLenKmkjnX6nKu5MrCuB84Bs4DtFUdYKIQ6dUm0pUCqESFAU5RpgBeCpdNlLuJxOdDo9aOKUvIh6VAV0bfFs2V3oVRWDbuD+2pJI+jtjhgSwZk8WLk2ga0feu76ETlG4PiqYyQE+LD2Yzt8cPrgy8rkjNhy1g94enc7EuHGvkJ6xkvT056isOMSYMSvx9u47mldBQUFcf/31bN++ne3bt5Ofn89VV11FcHBwb0+tW/EeG4r32FCPcmdZLSVvH6bk7Z+x/6qCgPOH9fmck4OdrlidyUCqECJNCGEH3gEuaVLnEuCNuufvA7OVPuQHdjndni2hiToFZldDqp62YHO4RRX70C1JJJImjI7yp9ruIv1k5zNP9DYjfExsSBnBWTh4LD2fGw+kU+poe0qZpiiKjrjhdzB+3KvU2gvZ/d2lFBZu6MIZdx5VVZk5cybXXXcd5eXlvPzyyxw6dKj1hgMQvcWL0OVj8T07isqvcih6+QAua21vT0tyGroiZmsIkHXK39lA07wtDXWEEE5FUay481uc7ILxO4UQAs3pROejRzgFKG6NLRe6NsVruYPjNfxN7ct/JZFIepZTg+QTwvrHicTT4aPXcTvVzE8czkOpuUz4+qdGJxUBLHodT4+M4ZzAtt1vcPA0Jp+5lgMHb+fAwVvR6/2A1j8HLZbJjEp6AoOh+1PuJCYmsnz5ctasWcOaNWswmdqWiHzYsGFccsklA0a/S9GrWC6OxxjrR+l/j5H3+Hcd1udSVPA5Kwr/2UNR+qnXt6/TaekHRVGuBOYKIW6q+/sGYLIQ4vZT6vxUVye77u/jdXWKm/S1DFgGEB4envLOO+80GisgIICEhIROzbcpToeD2tJijH7+mJ1mrGop3t7lZDMcIwrhSuOkstnZ2SxfvpyCggJUVeX6Gxdz0Q3LCfNW8TG4X6TPPvssa9ascffvdHLkyBHS0tIoLi5m8eLFDX1lZGRw3333ceutt7J48WKOHTsGgNVqJSAggJ07d/Luu+/y3HPPNbQ5ePAgX375JcOHD2fevHkN5Tk5OVx99dWsWLGCe++9ly+//BKA6upqTp48SVZWFjt27OCPf/xjQ5ujR4/y2muvMX/+fObOnUtlpfsXf1FRESkpKaxevXpA3UtTUlNTsVr7bwxPT1NZWYmvr29vT6PDuDTBLZuqmRGjZ2FS62lX+gP1a3Jc6PgKA6KJYbQfPYWoLMXGLKXtcU5COBFsAlHShtoOBDuBUFTlDhQlvH030UE0TSM7O5va2tY9OpqmkZ+fj9lsZsyYMd1ucPX0e8VQCf7ZCkoHv84N1Qo+RQqV4YKCsRpiAIYf98SazJw5s0Xph06LjwJnAZ+f8vcfgT82qfM5cFbdcz1uj5Zyun57StS0tPikW9C0skJU5ZSJgoI0YbX+KH4srxJZtlqP+rm5ueL7778XQrgFUePiE8QHm78RtY7mU0ysXbtWzJw506Pc6XSK8PBwkZGR4XHtrrvuahAVPZUff/xRDB8+vNlxJk6cKLZv3+5R/txzz4klS5Z4lBcXF4vAwECPdDpCCHHZZZeJN954o9fuZfz48d1+L0JIUdP20p9FTeu5dOVX4soXv+7taXQZra1Jmd0hrtqbKsK37BUPHcsWzm4SCS0p+VZs2z5RbNs+UZSUfNMtY3SWtLQ08dhjj4nHHntMpKend+tY/e29ommaKN+eJbLu3SHyn/tBOMs809T1d3pb1LQrYra+AxIVRRmuKIoRuAZY26TOWmBR3fMrgC11E+t1hMvtudLVxWwpioZAQWtB9iEyMpKJEycC4OfnR3ziGRQX5rcYHL969WquvfZaj/LNmzcTHx9PbGzj49tCCNasWdNsm5b6OnbsGIWFhR7Jo0/X5v333+f8889vlE4H3IKiW7Zs4dJLL+21eykqKur2e5EMTsYMCeCnXCua1ic+frqdAIOet8fGsWRICC9lFbH4QDqVTleXjxMYOIUzJ32A0RjM3n2LyM1d0+VjdJbhw4dz00034e3tzZtvvsnevXt7e0p9BkVR8JsWTfANo3AW2ShYuQ979sDXNetJOh2zJdwxWLfh9l7pgFeFED8pivJ/uK28tcC/gVWKoqQCJbgNsk6x9fWXKcxM62w3OO12NJcLg5eJwNAhpFxzPi7c8VetBchnZGRw8MB+npwypdng+OrqajZs2MDzzz/vce2dd95p1nD48ssvCQ8PJzEx0ePau+++y8cff+xRvnr1aq6++mqPOWRmZpKens6sWbOaHb9pTkOADz/8kNmzZ+Pv3zj2oifv5bLLLuvWe5EMXpKHBPDmN5mkF1cRH9p/t0Tbg15VeHRENIneXjyQmsP53x9lnF/r+kyKAnOCA5gfGtCmwz/e3rFMSnmfgz/dweGf/0hh0RcY9AGtz0/vR0zMYry9h7XldjpFcHAwN910E++99x4ff/wxhw8fblPMl8FgIDY2lvj4eHx8Bm6WEPOoYEJvGUfxGz9R9M8fMY0O7vaDX4pBxWdqJMaogf1+7BJRUyHEemB9k7IHT3leA1zZtF1foN6/Vv+CUlUNrUHQtOV2lZWVXH755dz90N8IC2o+Uey6des455xzCAoKalRut9tZu3Ytjz76qEeblrw3u3btwtvbm+TkZI9r77zzDqtWrWq2/IorrkCna7wBn5eXx4EDB5g7d26z49900029ei8vvfRSt96LZPAyZoj7y/9gjnXQGFv1/CY6lHhvEw+n5vCdtarV+lUujffyS5kc4MPD8VFMDGjdyDAY/Bk39hWOpz1BUeEXbZpXrb2QnNx3iI6+nuHDbsNg6NrE200xm81cd911bNq0iZ9//rlNbWw2G99//z0AUVFRJCQkEB8fT3R0tMdnUn/HGOlD2K3jKf3vMewnut+7pVU6qPouH++UcALmxKLzHxjxlE3ptwryMxcv65J+TmZngaYRFBFNeVEpQi1CU4wgWhY0dTgcXH755Vx59TXMPv+iFsVMW/L4fPbZZ0ycOJHw8MaBpE6nkw8++KDhTd2Wvvbv34/T6SQlJaXZNitXrvQoX7NmDQsWLMBgaHyCsri4mN27d/Phhx/26r1MmDChW+9FMnhJDPPFS69yINvKJeOH9PZ0epzpQX5snTyyTXWdmuCd/BJWpOdxwQ/HuDTMwn1xkQw1n/7LUFX1JCb8kcSEP562Xj21tYWkpT1DVtYb5OV9wPBhtxEdfT2qamxT+46g0+mYO3dusz/SmkPTNHJzczl+/Dipqal8+eWX7NixAy8vL+Li4hqML4ulew3FnkLnZyRk8egeGUurdlC+JYvKb3Kx7S/Cb3o0vtOiUQdYRpZ+a2x1FZrmQq831AmaCnSKhktxf3E3F7MlhGDp0qUkJSXx29/dQU6Zrdk0PVarle3bt/PWW295XGvJ47Np0yZGjhxJdHTjdCKapvHee++xY8eONvd15MgRSktLOeuss5pt05wn6r333mP+/PkebvWBdC+SwY1epzIy0r9f5UjsLfSqW0D10jALK08U8lJWIZ+dtJLsa26DGAT46HTEmo0MN3sxzGxkmNmLWLMX3k3EN728wkhKepTomEWkHnuUY6l/5UTWvzF5RXZ47gZjEGZzLN7mWMzmoZjNsRgMgR5bYqrq1SajTlVVoqOjiY6OZvr06dhsNtLS0l+j+UUAACAASURBVBqMr8OHDwPubUqz2Ux5eTmpqantnrfJZCIoKKjRw8fHp8NbeaqqYjR2n9HaFajeBizz4/A9KxLrZ+mUbzpB5bd56IO69rM73KHAjC7tsl0MemNLaC50ejMIt6Cpomi4cBtPzanH79y5k1WrVjFmzBg2nnUmLk3w1OOPkZXllhq7+eabAXe80Jw5czz296urq9m4cSP//Oc/PfpuyeOzY8cOoqOjiYuL87i2Zs0a1q9f71G+evVqrrnmGo83aUZGBllZWUyfPr3Z8e+91yPb0oC6F4lkzBB/Ptqbi6YJVKkp1Cq+eh33xEVyQ1Qwf88sINPWNgkJq9PFusIySpsE5Ed6GRhWZ4QNN3sR5WWo+6wNh6hnqPA/TEnJToTL0eoYKoIx+mws6qkphgQ1tmxKSnaiaTWt9mAyRWE2D3UbZt6xeBnDUZTWz46FhEBIiMrkySMorygnPz+fk0UFVFXFotPpOmTkVFZWcuLEiS5NR2Q2mxsZb4GBgej1XfvVHxQURFRUVKf60AebCb5+FLUZViq/zEGzd+1BDk1rvU530mmdre5i0qRJYs+ePY3KDh8+TFJSUpeNIYSgIC0V38AgzF7+lFqLMfoWUaqLpUIzkOx3ei2WYwUV6FSFuEEW+9HdVFRU4OfX/aKTXf16Guhs27aNGTNm9PY0Os27353gnv8eYMv/m97v37v9YU3KHE4ybHYybLWk22obPS+0d1z1vh5fncr/xIbz2+hQTKd4zYQQ2O2FVNtOYKvOwOn0jD9yOsux2U5QbcvEZsvE4Sjt9HyMxhAcjguYOeNPuLPZtQ8hBFVVVZSWllJSUkJ1dXWH5+JyuSgrK6OkpISSkhKsVivd9Z0/atQofv3rX3vE9fYVeuK9oihKizpbg9qzpTndb3RV786LKBS3Je1ExdDKDxtNCGocGiF+fdtFK5FIGpM85Bcl+f5ubPUHLAY94w16xvt7noCscrrIrXXQ0a//CqeLZzML+GtaHq/nnOT++CguDbOgKgqKouDlFY6XVziBljPb1J/DYcVu73hy59raQtLSn8Fuf5Ndu78lMeGPBAdPa1cfiqLg6+uLr68vMTExHZ5LczidTqxWK1oXunmEEBw6dIidO3fy888/M2XKFKZNmzZglPq7ikFtbLnqjC2dXo9w/GJsuYTSYnB8PTUOFwKBdwfTI0gkkt5hRLgfRr3KT7nlgzJIvi/ho9eRqO/cZ+ibY+P4qrSCh1Nz+d2hTF7OKmJeiD9Kk8gyL1XBYtARaNBj0euwGPSEGfUEGn75GjQYAjAYWperaAkfnwQCA89i27an0Fyfsm//EoKCziXQMtmjrqozY9BbMBgs6A3+GPQWVNXkES6h03l32QlNvV7fLcm7w8LCmDhxIlu2bOGbb75h3759pKSktGkrVVEUTCYTZrO54WEymVCbpJ5SFAUfH58u3wLtKfrnrLuIX4wtA9g1UN3WvhMFUysBiba6/WTTADsxIZEMdAw6laQIPw5kyyD5gcKvAv34fNII3ssv4fH0fB5Lz29z2wC9riGGbJjZi3F+ZuaGBKB2MChdURQUZRJTp95OVvYqMjJeoKTkyw71VY9eH+ARV0aT+Rn0AYSGzkFVeydPr7+/P5deeilTpkxh48aNfPXVV90yTkBAQKP4s+YOQUVFRXU6hqyrGdTGllYXgKnq9bi0WpS6PIhO0bqgqc3hQqcqGHVdIcIvkUh6kuQhAazdn4sQottFGyU9g05RuCYymKsignA2E5dUowlKHU7KnC7KHC5KHU7yax1k1NjJqK5lb3k164rKcAkY62fm4fghnB3Y8W1mVfUiduhNDI35DUI0jU0TuFw2HI4ynM5yHI4yHI4yNM0zz6PTWe6OO7NlUl7+I4VFnyFE88HjZvMwEhPuISTkvF57XUdGRnLjjTficrnaFB8mhKCmpgabzdbwqKmp8djqFEJQUVHREH92+PDh08azJScnM3v2bAIDAzt9T13BoDa2XE4niqKgqioOl4aiaGioCAGGVrYRbXYXZoNOflBLJP2QMUMCeHvXCTKLqxkWMnAVwQcjqqJgbOZz2aiCv15HbDNt6nFogrWFpfwtLY/L9qUyL8SfB+KjiPfuuAyBoqi4M9k1mafq1aHtQU1zNBvIX1FxkGOpK/jxwC1YLJNJTPgj/v5jOzTnrqA9Yq8Gg6FDh6JqampwOBqfWtU0je+//56vv/6aw4cPM3Xq1GbTv/U00tiqe0Fomoai13DhflOczrOlCUGNUyPEVwbHSyT9kVOD5KWxJanHoCpcHhHEBaEW/pVdxHOZBUzf/TMLwgMJNbR9ey5LmNiRmnvaOsFGPcPrti+Hmo34tNE4UVUDXl5hHuVeXrMICppGbu67pKX/ne/2LCAs9HxM5uhmeuk4Bn0AZu9fNMz0+u4/Od4SJpOp2W3EWbNmkZKSwpYtW9i5cyd79+5lyJAhaJrmEQvWUwxqY0s71dgSGooicNarx7dgbNXU1PCrc8+losqGisZVV17JI4880qjOSy+9xMqVK9HpdPj6+vLyyy8zatQodu/ezbJlbuV7IQQPP/wwCxYsoKamhmnTplFbW4vT6eSKK65o6HPp0qXs2bMHIQQjRozg9ddfx9fXd0CPERMT06ExFi9ezPbt2wkIcH+Rvv7664wfP75rXiySAcWIcD+MOpW9J8qYNdLzi6u/UOMUVNV2Xj6hPfh4DfyvDbNO5Y7YcK6NDOKJ9Hw+KCjF1Q7JBBde6HJaPtUocG9rnkqE0S03NCPIj1lB/gw3G9u9c6KqeqKjryMi4mIyMl8iJ+c/aMVdp9kFwmOr02AIwmgM8TiQoNf7Exh0DsFB5+LvP6ZDMhidISAggAULFjBlyhS++OIL8vPze3UnalDrbBVmpKEavQiJGkJlbhkOcx61en8KRCBn+JgaabbUI4TgREEJVqeOuGATs2dM59lnn2Xq1KkNdcrLyxuSH69du5YXXniBDRs2UF1djdFoRK/Xk5eXx7hx48jNzUWn01FVVYWvry8Oh4Nf/epXDX2e2tddd91FWFgY995774Ae47333msQBWzPGIsXL2b+/PlcccUVbVp/qbPVPvqDplN7uPj5r/hRBsm3mztmJ3LXeSN6exp9mra8V8qdrl+0x6rtpNlq+c5aRZrNbcwMNRmZGeTHRWEWfhXYe96jpjidVdhqsrBVZ2KzZVBdnYHDWeZRr7Ymn/KKA4BAr7cQHPQrQkJmERZ2Iaraswa7EIJNmzZx3nnndes4UmerGYQQ+AYGYa87kej2bNWl6jmNZ0tRFHReZnSaA0Vz4XA4PKzleuMBoKqqquG6t/cvOjM1NTUN5fW6KuDOu3hqn/V9CSGw2Wwe5XIMz/9/iaQt/G3BGL4+frK3p9Epjh9PIz7eMxtDd/HG15n8mO35xSppP/56HWP9vBnr11h/LNNWy9aSCraWlPN+QSlv5BYzM8iPB+OjSPLtfe0qvd4HP9+R+Pm2nmPTbi+hpHQnJcU7KC75koLCT0jPeIHEhHsJDp7RY5/diqJ45M/tafqtsVW27jj23NYz17eGy+XErsvBaXeii3ThOj8SRQHdaV4DlTV2rpwzjRMZadx6661MmTLFo87KlSt5+umnsdvtbNmypaF8165d/OY3vyEzM5NVq1Y1aIa4XC5SUlJITU316HPJkiWsX7+eUaNG8dRTT8kxTjPG/fffz//93/8xe/ZsHnvsMby8BmYGeUnnSR4S0BC71V/ZpmUxY1p8j423O72U7NKOK5pLWifW7MXiIV4sHhJCrabxes5Jns4oYPZ3R1gYGcwfhkcQ5tW7hkNbMRqDiAi/iIjwixBCcPLkJo6lPsb+H28iMPBsEhPuw89vcOwu9NttxK40tnQ6HU67A32Ui6p5I7EJI6Na+AWhCcFPueWE+Boxi1oWLFjAP/7xD5KTk5ut/5///IfPP/+cN954w+NeFi1axI4dOxoF+JWVlTXbp8vl4vbbb+fMM89kyZIlA3qM559/vtHJlLaOkZeXR0REBHa7nWXLlhEfH8+DDz5IS8htxPYx0LYRBwI9vSYPfHSQdT/msu/BOT02Zn+kq9elxOHkmYx8Xss5iZeqcnVEEL5NwlzMOpWzLb6k+Pu0Ksrdm2ianZyc/5CW/g+cTivh4fMxmRoH8SuKir//OAItU9Hru+YAi0zX00EsF3XNr7mKigp8TN6UFhVh8C2iXOgwnMa1Wetwa4eYDTos3hZmzJjBhg0bWjS2rrnmGm655RaP8qSkJHx8fDh48CCTJv2yNhZL833qdDquvvpqnnjiCQ8jZaCN8fzzz3dojMjISAC8vLxYsmQJTz75pMd8JRJJx4kIMFFW7XBL30hB5x4jyKDnz4nRLBkSyl+O5/JWbrFHiiNHnePEX69ybqAfM4P8Ocfii6++d07feakq/s1kB1BVIzExi4mIWEBGxkpyct9B0xoH8bt1xDQUxYAlIIXg4GkEBZ2LsZlTmG1FCM/cmD1JvzW2uhQNUOvzIip4ncbYysrNp7zKhTncD5vNxqZNm7jnnnsa1Tl27BiJiYkAfPrppw3P09PTiYmJQa/Xk5mZyZEjRxg2bBhFRUUYDAYsFkujPoUQHD9+nISEBIQQrFu3jpEjR8oxmhkDIC8vj8jISIQQfPTRRy0awBKJpGNEBrg9y/nlNQyXkhk9Tpy3F6+OGd7stTKHky9LK9lWUs7Wkgo+Ler9wx9BBh3D6pT5h5mNRHsZaeR0810OI5Z7tFOEEz9HOv62b6kt20jq8cfh+OOdnE0kcFEn++g40tgCEL/kRXQIBb/TuGAzs3O44+bfYlDd2lxXXXUV8+fP58EHH2TSpElcfPHFPP/882zatAmDwUBgYGDD1ttXX33FY489hsFgQFVVXnjhBUJCQvjxxx9ZtGgRLperUZ+aprFo0SLKy8sRQjBu3DhefPFFADlGkzEArrvuOoqKihBCMH78eF566aWufqVIJIOaCH+3sZVntUljq49hMei5KMzCRWEWhBAcra5lj7WqwePV01Q6XZyosZNuq2W3tZIPC9qbcNwEzMBLnUm0t8oQXQUX+BYz27e8aaaiNnH0WHb7G3Uh/TZmq6uoqKjAW2eitDIbvamaTIYT6WVoMQAxtbACRVGID+14GgfJ6amoqOiQmnB7kTFb7UPGbPU9enpN0ooqmfXUdp65ehwLJnStWOZAQr5XPKnVNArtzjal8HEJyKl1G2oZNjsZtloOVNg4UWPnTH8fHk6IIiWgfca+jNnqC2gCFA1H3X+HsQXPliYENodGiI9UjpdIJIOPiIB6z1ZNL89E0t/wUlViTG3/7hzu7dVIX8wlBO/mlfBYeh4X/nCMS8Is3B8XyVBz/zhxLo0tQNQZWy7c3qyWjK1ah+YOjpeBoRKJZBDibdQTYDaQL40tSQ+jUxQWRgVzSZiF508U8lJWIZ8VWRnpa6Itu4pm4c2M7p7kaZDGFnV5EVUNJ265h5ZOI9oc7rgus0EaWxKJZHAS4W+Sni1Jr+Gj13FPXCQ3RAXz3IlCsmxtS0ektDNirKuRxhaguTQUVeBUDCi0rB5vs7vQKQrGXjpKK5FIJL1NRICJgnJpbEl6lyiTkcdGtD1ucNu2E904m9aRVgNuz5aqaDgxYFSUFlMI2BwuTEadTA8jkUgGLZEB0rMlkbQXaWxRt42oaDjRY2ghXksIQY3DJbcQJRLJoCYiwMTJylrsTq23pyKR9BuksUV9EmqBExVjC16rGoeGJgSK5mDy5MmMGzeO0aNH89BDD3nUPXHiBDNnzmTChAmMHTuW9evXA+7EyYsWLWLMmDEkJSXx6KOPNrR55plnGD16NMnJyVx77bXU1Lh/OW7evJmJEycyfvx4fvWrX5Gamjrox3j22WdJTk5m9OjR/P3vf28of+CBBxg7dizjx49nzpw55ObmtrLyEomkvUT4mxACCiukd0siaTNCiD75SElJEU05dOiQR1lnKS8vF2W5haLMekDss1aJ/Bp7s/WKK2vF/qxSUV3rEBUVFUIIIex2u5g8ebL45ptvGtX97W9/K1544QUhhBA//fSTiI2NFUII8fbbb4urr75aCCFEVVWViI2NFenp6SI7O1sMGzZMVFdXCyGEuPLKK8Vrr70mhBAiMTGx4b5XrlwpFi1aNODHKC8vb3GMAwcOiNGjR4uqqirhcDjE7NmzxdGjR4UQQlit1oY1ePbZZ8Xy5cubXct6uuP1NJDZunVrb09B0oTeWJOtPxeI2Hs+EXsyint87P6CfK/0PXpiTYA9ogWbRnq2AE1x4qw7K9DSNqLN4UJVFEwGHb6+bkFTh8OBw+HwiOFSFIXy8nIArFYrUVFRDeVVVVU4nU5sNhtGoxF/f3+AhjKn00l1dXWjNi31NRjHOHz4MFOnTsXb2xu9Xs/06dP58MMPARrmAFBVVSVj6ySSbiAywH1qW8ZtSSRtp9+eRvzss8/Iz8/vdD8ulwvhciJ0GubQGOIvvKDZeja7O15LURRcLhcpKSmkpqZy6623MmXKlEZ1H374YebMmcM//vEPqqqq2LRpEwBXXHEFH3/8MZGRkVRXV/PMM88QFBQEwP/+7/8ydOhQzGYzc+bMYc6cOQC88sorXHDBBZjNZvz9/fn2228H9RjJycncf//9FBcXYzabWb9+faPk1Pfffz9vvvkmAQEBbN26tWMvColE0iL1wqZSa0siaTvSswWggKiTRWtO0FTUB8fXiZnqdDr27dtHdnY2u3fv5uDBg43qr169msWLF5Odnc369eu54YYb0DSN3bt3o9PpyM3NJT09naeeeoq0tDRKS0v5+OOPSU9PJzc3l6qqKt566y3AHQO1fv16srOzWbJkCXfdddegHiMpKYl77rmH8847j3nz5jFu3Dj0+l9+M/z1r38lKyuL6667jueff77LXiISicSNv0mP2aCTni2JpB30W8/W+eef3yX9VFgrsNtPUullpIzAZjW2ap3u4PimyvEWi4UZM2awYcMGkpOTG8r//e9/s2HDBgDOOussampqOHnyJP/5z3+YN28eBoOBsLAwzjnnHPbs2YOiKAwfPpzQ0FAALrvsMr7++mvmzp3L/v37GzxnV199NfPmzRvwYxQXF7c4RlxcHEuXLmXp0qUA3HfffURHe2qtLFy4kAsvvJBHHnmkrS8FiUTSBhRFITLARL7U2pJI2syg92wpAlBcDbIPajPGVrX9F+X4oqIiysrKALDZbGzatImRI0c2qj906FA2b94MuJMd19TUEBoaytChQ9myZQtCCKqqqvj2228ZOXIkQ4cO5dtvv6W6uhohBJs3byYpKYnAwECsVitHjx4FYOPGjQ2JkwfyGCEhIS2OAVBYWAi4TzJ+8MEHXHvttQAcO3asYQ3Wrl3rsS4SiaRriAgwyW1EiaQd9FvPVleQZ7UhagUmvYYDA2iC3DKbR71quzs43kuvcjQvj0WLFuFyudA0jauuuor58+fz4IMPMmnSJC6++GKeeuopfvvb3/LMM8+gKAqvv/46iqJw6623smTJEpKTkxFCsGTJEsaOHQu4Y5QmTpyIXq9nwoQJLFu2DL1ez7/+9S8uv/xyVFUlMDCQV199FWBQj3H55ZdTXFyMwWBg5cqVBAYGAnDvvfdy5MgRVFUlNjaWl156qRtfPRLJ4CUiwMSutJLenoZE0m9Q3KcV+x6TJk0Se/bsaVR2+PDhBo9IV3A4rxyzS+DvnUeuPgrNqaKzuZqt6282EBPk3WVjS1qmoqICPz+/1it2kq5+PQ10tm3bxowZM3p7GpJT6K01eXzDz7y8I42jfzkftYUT3IMZ+V7pe/TEmiiK8r0QYlJz1wa1Zysp0p/Kk+U4FIELHWE+BiKDjL09LYlEIunTRAaYcGqCk1W1hPmZens6EkmfZ9DHbAkh0FQVUFpUj5dIJBLJL0TUaW3JuC2JpG1IY0sInIr7v8GgDvr/DolEImmVyDqtLSn/IJG0jUFvXQjhwlW3myo9WxKJRNI64f5S2FQiaQ/S2MLVaqoeiUQikfxCsI8Rg06RWlsSSRsZ9MYWuHBiQKcIdNKzJZFIJK2iqgrh/lJrSyJpK4Pe2BL1gqbtNLRcLhcTJkxg/vz5LdZ5//33URSFphIWJ06cwNfXlyeffLLNfd5+++0NCbAH+xjDhg1jzJgxjB8/vlFeRIlE0nNEBpjIs3rqEkokEk8GtfQD0KAeb27nFuKzzz5LUlIS5eXlzV6vqKjgueee80hSDXDnnXc2m26opT737NnToFovx3CzdetWQkJCPMolEknPEO5v4mCOtbenIZH0C6Rnq87YMqq61ivXkZ2dzaeffspNN93UYp0HHniAP/zhD5hMjTVoPvroI+Li4hg9enSb+nS5XNx99908/vjjcgyJRNJnqM+P2FeFsSWSvkS/9WwdPfpnKioPd7ofh8NGrWKkWlWo8h/NiBEPtNrm97//PY8//jgVFRXNXt+7dy9ZWVnMnz+/0fZXVVUVK1asYOPGjR5bby31+fzzz3PxxRcTGRkpx6hDURTmzJmDoigsX76cZcuWIZFIepaIADM1Dg2rzYHFW4pBSySno98aW12DoP43mdLGmK1PPvmEsLAwUlJS2LZtm8d1TdO48847ef311z2uPfTQQ9x5550eMUst9Zmbm8t7773nMc5gHgNg586dREVFUVhYyHnnncfIkSOZNm2aRz2JRNJ9nKq1JY0tieT09Ftjqy0eqNYQLo3ciixOqqEk+njhrWt9K3Hnzp2sXbuW9evXU1NTQ3l5Oddffz1vvfUW4I4/OnjwYEMOpvz8fC6++GLWrl3Lrl27eP/99/nDH/5AWVkZqqpiMpnIyclpts9rr72W1NRUEhISAKiuriYhIYHvv/9+QI+xevXqFse47bbbiIqKAiAsLIwFCxawe/duaWxJJD3MqVpbSZH+vTwbiaSPI4Tok4+UlBTRlEOHDnmUdQaX3Skyy7LEPmuVcLi0drffunWruPDCC09bZ/r06eK7777zKH/ooYfEE0880a4+fXx8BsUY5eXlLY5RWVnZcL2yslKcddZZ4rPPPmu2v9bo6tfTQGfr1q29PQVJE3pzTXJKq0XsPZ+I/+zK7LU59FXke6Xv0RNrAuwRLdg0/daz1RVoLg2nokNBoOukxNaDDz7IpEmTuPjii7tmcpJmKSgoYMGCBQA4nU4WLlzIvHnzenlWEsngI9TPC1WRKXskkragiD56kmTSpEmiqebS4cOHSUpK6rIx7FU1ZLoqcGBilL9fl/Ur6RwVFRX4+XX/enT162mgs23btoYtX0nfoLfXZMrfNjF9RCiPXzGu1+bQF+ntdZF40hNroijK90KIZsUfB7X0g8tlrxM07ZsGp0QikfRlIvxN0rMlkbSBQW1saZqjztjq7ZlIJBJJ/yMiwESBzI8okbTKoDa2XMKJhg6jOqj/GyQSiaRDRAaYpWdLImkDg9rKsNepbHm1QfJBIpFIJI2JCDBRUeOkstbZ21ORSPo0g9rYcjYYW4P6UKZEIpF0iIhTtLYkEknLDGpjy1GnGt+evIgSiUQicRNRpyIv47YkktMzqI0tJwogMLQxVU89w4YNY8yYMYwfP55JkzxPeQohuOOOO0hISGDs2LH88MMPXTRjiUQi6TucmrJHIpG0zKDeP3MqKnpcbc6LeCpbt24lJCSk2WufffYZx44d49ixY+zatYtbbrmFXbt2dXa6EolE0qf4JWWPrZdnIpH0bQa1Z8ul6NCJrg/s/Pjjj7nxxhtRFIWpU6dSVlZGXl5el48jkUgkvYnJoCPQ2yA9WxJJK/Rbz9YDx7I5WNm5X1NVThcqGmZ9MQDJvmb+nBjdajtFUZgzZw6KorB8+XKWLVvW6HpOTg4xMTENf0dHR5OTk0NkZGSn5iuRSCR9jYgAM58eyONQXnlvT6XPUG618eyhnb09DckpGO019Kaof781tjqNABWB2gHx+J07dxIVFUVhYSHnnXceI0eOZNq0ab903UwKpI5sVUokEklfZ9FZsXx6QHruT8WhV/D1Grxfr30RRevd7+B++2poiweqLXQkD19UVBQAYWFhLFiwgN27dzcytqKjo8nKymr4Ozs7u6GNRCKRDCSumTyUayYP7e1p9Cncefim9PY0JKewbdu2Xh2/UzFbiqIEKYqyUVGUY3X/BrZQb4OiKGWKonzSmfH6AlVVVVRUVDQ8/+KLL0hOTm5U5+KLL+bNN99ECMG3335LQECA3EKUSCQSiWSQ0lnP1r3AZiHEY4qi3Fv39z3N1HsC8AaWd3K8XqegoIAFCxYA4HQ6WbhwIfPmzeOll14C4Oabb+aCCy5g/fr1JCQk4O3tzWuvvdabU5ZIJBKJRNKLdNbYugSYUff8DWAbzRhbQojNiqLMaFreH4mLi2P//v0e5TfffHPDc0VRWLlyZU9OSyKRSCQSSR9FaS6Yu82NFaVMCGE55e9SIURLW4kzgP8VQsw/TX/LgGUA4eHhKe+8806j6wEBASQkJHR4vs3hcrnQydyIfYqeWpPU1FSsVmu3jzNQqKysxNfXt7enITkFuSZ9E7kufY+eWJOZM2d+L4TwVDqnDZ4tRVE2ARHNXLq/sxNrihDiZeBlgEmTJokZTc5pHj58uN3B7K3RkQB5SffSU2tiMpmYMGFCt48zUHAH/c7o7WlITkGuSd9Erkvfo7fXpFVjSwjx65auKYpSoChKpBAiT1GUSKCwS2cnkUgkEolE0s/prIL8WmBR3fNFwMed7K9VOrPtKZHUI19HEolEIukpOmtsPQacpyjKMeC8ur9RFGWSoiiv1FdSFOVL4D1gtqIo2YqizO3IYCaTieLiYvlFKekUQgiKi4sxmUy9PRWJRCKRDAI6dRpRCFEMzG6mfA9w0yl/n9uZceqJjo4mOzuboqKirugOgJqaGvml28foiTUxmUz/v737e/FsjuM4/ny1jWiQC5umnc3Ohdy4QNveTLkQWmy4ts82FQAAA2tJREFUpLhSbqiVC3HpH5A/gL0Q2dRSorBlJ21hd2fNYg3aRKZVQxJzJbxdfE/stj9Su+f7OZzno77N98zUfF/1bvq+zjmf72eYn784G+NKknQ+/6kd5GdmZlhYWLiov3NpaclF0gPjTCRJ/ycXehtRkiRJ52HZkiRJ6pFlS5IkqUcXtIN8n5L8AHw7hZe6GvhxCq+jf8+ZDJNzGR5nMkzOZXimMZNrq2rz2X4w2LI1LUmOnGt7fbXhTIbJuQyPMxkm5zI8rWfibURJkqQeWbYkSZJ6ZNnq/vG1BsWZDJNzGR5nMkzOZXiazmT0a7YkSZL65JUtSZKkHo22bCXZmeTLJCeSPNU6jyDJniTrST5rnUUTSbYmOZBkNcnxJLtbZxIkuTTJoSTHurk80zqTJpJsSvJxkjdbZ9FEkm+SfJpkJcmRJhnGeBsxySbgK+B2YA04DDxQVZ83DTZySW4BNoAXq+qG1nkESeaAuao6muQKYBm4z7+VtpIEmK2qjSQzwEFgd1V92Dja6CV5AtgOXFlVu1rn0aRsAdurqtneZ2O9srUDOFFVX1fVb8Be4N7GmUavqt4HfmqdQ/+oqu+r6mj3/FdgFdjSNpVqYqM7nOke4ztzHpgk88DdwPOts2hYxlq2tgDfnXK8hm8g0nkl2QbcBHzUNong79tVK8A6sL+qnEt7zwFPAn+2DqLTFPBukuUkj7QIMNaylbN8z7NC6RySXA7sAx6vql9a5xFU1R9VdSMwD+xI4q33hpLsAtararl1Fp1hsapuBu4EHu2WrEzVWMvWGrD1lON54GSjLNKgdWuC9gEvV9VrrfPodFX1M7AE7GwcZewWgXu69UF7gVuTvNQ2kgCq6mT3dR14nclSoqkaa9k6DFyXZCHJJcD9wBuNM0mD0y3EfgFYrapnW+fRRJLNSa7qnl8G3AZ80TbVuFXV01U1X1XbmLynvFdVDzaONXpJZrsP95BkFrgDmPon3kdZtqrqd+Ax4B0mC35frarjbVMpySvAB8D1SdaSPNw6k1gEHmJylr7SPe5qHUrMAQeSfMLk5HF/VbnVgHSma4CDSY4Bh4C3qurtaYcY5dYPkiRJ0zLKK1uSJEnTYtmSJEnqkWVLkiSpR5YtSZKkHlm2JEmSemTZkiRJ6pFlS5IkqUeWLUmSpB79BT2j1DD3IsVLAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# why does it peak at 2?\n", "poss = [1, -0.7, -0.3, 0.3, 0.7, 1]\n", "g = np.linspace(0, 5, 100)\n", "plt.figure(figsize=(10, 6))\n", "plt.plot(g, [1/3]*len(g), 'gray', linewidth=5, label='cutoff')\n", "for x in np.linspace(0, 5, 10):\n", " plt.plot(g, [run(x, i, 2, poss) for i in g], label=str(x))\n", "plt.grid()\n", "plt.legend()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It seems like the peak performance is around 1/3 ! This is really strange!" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "I tried many possible input values, eventually trying random samples from the triangular distribution, and focusing on the $(c_0, c_1)$ combinations that typically had peak performance." ] }, { "cell_type": "code", "execution_count": 50, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.20520404663923186\n", "0.31185699588477367\n", "0.3301183127572016\n", "0.3310185185185185\n", "0.3324331275720165\n", "0.3329475308641975\n", "0.3330761316872428\n", "0.3331189986282579\n", "0.3332475994513031\n", "0.33333333333333337\n", "0.33371913580246915\n", "0.33389060356652944\n", "[ 0.67513125 -0.602384 -0.02149638 -0.08816768 -0.0102057 0.03811386] 0.33389060356652944\n" ] } ], "source": [ "maxx = 0\n", "data = 0\n", "for _ in range(3000):\n", "# s = np.random.normal(size=10)\n", " s = np.random.triangular(-1, 0, 1, size=6)\n", " out = run(100, 0.57, 2, s)\n", " if out > maxx:\n", " maxx = out\n", " data = s\n", " print(maxx)\n", "print(data, maxx)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This did eventually find something! This is approximately what I got when I first ran the code:" ] }, { "cell_type": "code", "execution_count": 51, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.33406207133058985" ] }, "execution_count": 51, "metadata": {}, "output_type": "execute_result" } ], "source": [ "run(10, 0.58, 2, [0.85, 0.29, 0.03, 0.01, -0.49, -0.45])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Optimizing with this set of initial values:" ] }, { "cell_type": "code", "execution_count": 52, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.284593621399177\n", "0.31918724279835387\n", "0.32270233196159126\n", "0.33423353909465026\n", "0.33427640603566533\n", "0.3343192729766804\n", "[ 0.56348509 18.66995185] 0.3343192729766804\n", "CPU times: user 13.9 s, sys: 3.96 ms, total: 14 s\n", "Wall time: 14 s\n" ] } ], "source": [ "%%time\n", "best = None\n", "poss = [0.85, 0.29, 0.03, 0.01, -0.49, -0.45]\n", "\n", "for _ in range(100):\n", " f = lambda x: 0-run(*x, 2, poss)\n", " o = minimize(f, [random()*2 for i in range(2)], method='Nelder-Mead')\n", " if not best or -best.fun < -o.fun:\n", " best = o\n", " print(-best.fun)\n", "print(best.x, -best.fun)" ] }, { "cell_type": "code", "execution_count": 53, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.3343192729766804" ] }, "execution_count": 53, "metadata": {}, "output_type": "execute_result" } ], "source": [ "run(17.96, 0.56, 2, [0.85, 0.29, 0.03, 0.01, -0.49, -0.45])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Weird! There's something special about this 1/3 value (i.e. 5/6 cut fraction on a ring) for local classical algorithms." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Exploring this 2-regular algorithm" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "I did a less \"optimized\" analysis of the 2-regular algorithm:\n", "1. Take numbers in 6 slots from a list of options or (preferably discrete) distribution.\n", "2. For each of the inner 4, compute a new number.\n", "3. For each of the inner 2, compute a new number." ] }, { "cell_type": "code", "execution_count": 54, "metadata": {}, "outputs": [], "source": [ "def step(inps, c, size):\n", " outs = []\n", " for x in inps:\n", " out = []\n", " for i in range(1, size-1):\n", " y = x[i] - c*(x[i-1] + x[i+1])\n", " out.append(y)\n", " outs.append(out)\n", " return outs" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "I used this to verify the previous result." ] }, { "cell_type": "code", "execution_count": 55, "metadata": {}, "outputs": [], "source": [ "opts = [0.85, 0.29, 0.03, 0.01, -0.49, -0.45]" ] }, { "cell_type": "code", "execution_count": 56, "metadata": {}, "outputs": [], "source": [ "def run_2step_local(poss, c0, c1):\n", " \"\"\"Outputs cut fraction given inputs and (c0, c1)\"\"\"\n", " l = len(poss)\n", " cases = list(itertools.product(*[poss,]*6))\n", " dones = step(step(cases, c0, 6), c1, 4)\n", " res = sum([(np.sign(d[0]) != np.sign(d[1]) and d[0] != 0 and d[1] != 0) for d in dones]) / len(dones)\n", " return res" ] }, { "cell_type": "code", "execution_count": 57, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.8343192729766804\n" ] } ], "source": [ "out = run_2step_local(opts, 17.96, 0.56)\n", "print(out)\n", "assert out > 5/6, \"Should be greater than 5/6\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It's possible there is something more fundamental going on..." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Double-checking my work" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here's an un-optimized version of the local linear algorithms. I confirm my previous results here." ] }, { "cell_type": "code", "execution_count": 58, "metadata": {}, "outputs": [], "source": [ "@functools.lru_cache(maxsize=int(1e7))\n", "def unoptimized_local_2(c0, c1, v0_1, v0_2, nbrs1, nbrs2, nbr_nbrs1, nbr_nbrs2):\n", " \"\"\"Cut fraction (1, 0.5, 0) of a local subgraph\"\"\"\n", " v1_1 = v0_1 - c0*sum(nbrs1) - c0*v0_2\n", " v1_2 = v0_2 - c0*sum(nbrs2) - c0*v0_1\n", " \n", " v1_nbrs1 = nbrs1 - c0*np.sum(nbr_nbrs1, axis=1) - c0*v0_1\n", " v1_nbrs2 = nbrs2 - c0*np.sum(nbr_nbrs2, axis=1) - c0*v0_2\n", " \n", " v2_1 = v1_1 - c1*sum(v1_nbrs1) - c1*v1_2\n", " v2_2 = v1_2 - c1*sum(v1_nbrs2) - c1*v1_1\n", " \n", " return 0.5 - 0.5*np.sign(v2_1)*np.sign(v2_2)" ] }, { "cell_type": "code", "execution_count": 59, "metadata": {}, "outputs": [], "source": [ "def unoptimized_local_2_perf(c0, c1, d, poss):\n", " tot = 0\n", " denom = len(poss)**(2*(d-1)**2 + 2*(d-1) + 2)\n", " print(\"Number of options:\", denom)\n", "\n", " nbr_opts = list(itertools.product(*[poss,]*(d-1)))\n", " nbr_nbr_opts = list(itertools.product(*[nbr_opts,]*(d-1)))\n", " assert len(nbr_opts) == len(poss)**(d-1)\n", " assert len(nbr_nbr_opts) == len(poss)**((d-1)**2)\n", "\n", " i = 0\n", " for v0_1 in poss:\n", " for v0_2 in poss:\n", " for nbrs1 in nbr_opts:\n", " for nbrs2 in nbr_opts:\n", " for nbr_nbrs1 in nbr_nbr_opts:\n", " for nbr_nbrs2 in nbr_nbr_opts:\n", " i += 1\n", " tot += unoptimized_local_2(c0, c1, v0_1, v0_2, nbrs1, nbrs2, nbr_nbrs1, nbr_nbrs2)\n", " \n", " assert i == denom\n", " \n", " return tot/denom - 0.5" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Here are my previous results:" ] }, { "cell_type": "code", "execution_count": 60, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "D=2 0.3343192729766804\n", "D=3 0.270263671875\n", "D=4 0.23085129261016846\n", "D=5 0.20453225069923064\n" ] } ], "source": [ "print(\"D=2\", run(17.96, 0.56, 2, [0.85, 0.29, 0.03, 0.01, -0.49, -0.45]))\n", "print(\"D=3\", run(7.22, 0.58, 3, [-1, 1]) )\n", "print(\"D=4\", run(0.38, 11.20, 4, [-1, 1]) )\n", "print(\"D=5\", run(5.44, 0.33, 5, [-1, 1]) )" ] }, { "cell_type": "code", "execution_count": 61, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Number of options: 46656\n", "CPU times: user 1.42 s, sys: 16 ms, total: 1.44 s\n", "Wall time: 1.44 s\n" ] }, { "data": { "text/plain": [ "0.3343192729766804" ] }, "execution_count": 61, "metadata": {}, "output_type": "execute_result" } ], "source": [ "%%time\n", "unoptimized_local_2_perf(17.96, 0.56, 2, [0.85, 0.29, 0.03, 0.01, -0.49, -0.45])" ] }, { "cell_type": "code", "execution_count": 62, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Number of options: 16384\n", "CPU times: user 588 ms, sys: 36 ms, total: 624 ms\n", "Wall time: 600 ms\n" ] }, { "data": { "text/plain": [ "0.270263671875" ] }, "execution_count": 62, "metadata": {}, "output_type": "execute_result" } ], "source": [ "%%time\n", "unoptimized_local_2_perf(7.22, 0.58, 3, [-1, 1])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "I have to optimize a little to check $D=4$ and $D=5$:" ] }, { "cell_type": "code", "execution_count": 63, "metadata": {}, "outputs": [], "source": [ "@functools.lru_cache(maxsize=int(1e7))\n", "def slightly_optimized_local_2(c0, c1, v0_1, v0_2, nbrs1, nbrs2, nbr_nbrsums1, nbr_nbrsums2):\n", " \"\"\"Cut fraction (1, 0.5, 0) of a local subgraph\"\"\"\n", " v1_1 = v0_1 - c0*sum(nbrs1) - c0*v0_2\n", " v1_2 = v0_2 - c0*sum(nbrs2) - c0*v0_1\n", " \n", " v1_nbrs1 = nbrs1 - c0*np.array(nbr_nbrsums1) - c0*v0_1\n", " v1_nbrs2 = nbrs2 - c0*np.array(nbr_nbrsums2) - c0*v0_2\n", " \n", " v2_1 = v1_1 - c1*sum(v1_nbrs1) - c1*v1_2\n", " v2_2 = v1_2 - c1*sum(v1_nbrs2) - c1*v1_1\n", " \n", " return 0.5 - 0.5*np.sign(v2_1)*np.sign(v2_2)" ] }, { "cell_type": "code", "execution_count": 64, "metadata": {}, "outputs": [], "source": [ "def slightly_optimized_local_2_perf(c0, c1, d, poss):\n", " tot = 0\n", " denom = len(poss)**(2*(d-1)**2 + 2*(d-1) + 2)\n", " print(\"Number of options:\", denom)\n", "\n", " nbr_opts = list(itertools.product(*[poss,]*(d-1)))\n", " nbr_nbr_opts = list(itertools.product(*[nbr_opts,]*(d-1)))\n", " nbr_nbr_sums = [tuple(i) for i in list(np.sum(nbr_nbr_opts, axis=2))]\n", " \n", " assert len(nbr_opts) == len(poss)**(d-1)\n", " assert len(nbr_nbr_sums) == len(poss)**((d-1)**2)\n", "\n", " i = 0\n", " for v0_1 in poss:\n", " for v0_2 in poss:\n", " for nbrs1 in nbr_opts:\n", " for nbrs2 in nbr_opts:\n", " for nbr_nbrs1 in nbr_nbr_sums:\n", " for nbr_nbrs2 in nbr_nbr_sums:\n", " i += 1\n", " if i % 10000000 == 0:\n", " print(i)\n", " tot += slightly_optimized_local_2(c0, c1, v0_1, v0_2, nbrs1, nbrs2, nbr_nbrs1, nbr_nbrs2)\n", " \n", " assert i == denom\n", " \n", " return tot/denom - 0.5" ] }, { "cell_type": "code", "execution_count": 65, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Number of options: 46656\n", "CPU times: user 632 ms, sys: 8.02 ms, total: 640 ms\n", "Wall time: 639 ms\n" ] }, { "data": { "text/plain": [ "0.3343192729766804" ] }, "execution_count": 65, "metadata": {}, "output_type": "execute_result" } ], "source": [ "%%time\n", "slightly_optimized_local_2_perf(17.96, 0.56, 2, [0.85, 0.29, 0.03, 0.01, -0.49, -0.45])" ] }, { "cell_type": "code", "execution_count": 66, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Number of options: 16384\n", "CPU times: user 119 ms, sys: 8.02 ms, total: 127 ms\n", "Wall time: 110 ms\n" ] }, { "data": { "text/plain": [ "0.270263671875" ] }, "execution_count": 66, "metadata": {}, "output_type": "execute_result" } ], "source": [ "%%time\n", "slightly_optimized_local_2_perf(7.22, 0.58, 3, [-1, 1])" ] }, { "cell_type": "code", "execution_count": 67, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Number of options: 67108864\n", "10000000\n", "20000000\n", "30000000\n", "40000000\n", "50000000\n", "60000000\n", "CPU times: user 1min 9s, sys: 292 ms, total: 1min 9s\n", "Wall time: 1min 9s\n" ] }, { "data": { "text/plain": [ "0.23085129261016846" ] }, "execution_count": 67, "metadata": {}, "output_type": "execute_result" } ], "source": [ "%%time\n", "# this will take awhile\n", "slightly_optimized_local_2_perf(0.38, 11.20, 4, [-1, 1])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "I have to optimize further just to get $D=5$ to run in a reasonable amount of time." ] }, { "cell_type": "code", "execution_count": 68, "metadata": {}, "outputs": [], "source": [ "@functools.lru_cache(maxsize=int(1e7))\n", "def more_optimized_local_2(d, c0, c1, v0_1, v0_2, s1, s2, diff1, diff2):\n", " \"\"\"Cut fraction (1, 0.5, 0) of a local subgraph\"\"\"\n", " v1_1 = v0_1 - c0*s1 - c0*v0_2\n", " v1_2 = v0_2 - c0*s2 - c0*v0_1\n", " \n", " v2_1 = v1_1 - c1*(s1 - c0*diff1 - c0*v0_1*(d-1)) - c1*v1_2\n", " v2_2 = v1_2 - c1*(s2 - c0*diff2 - c0*v0_2*(d-1)) - c1*v1_1\n", "\n", " return 0.5 - 0.5*np.sign(v2_1)*np.sign(v2_2)" ] }, { "cell_type": "code", "execution_count": 69, "metadata": {}, "outputs": [], "source": [ "def more_optimized_local_2_perf(c0, c1, d, poss):\n", " tot = 0\n", " denom = len(poss)**(2*(d-1)**2 + 2*(d-1) + 2)\n", " print(\"Number of options:\", denom)\n", "\n", " nbr_opts = list(itertools.product(*[poss,]*(d-1)))\n", " nbr_nbr_opts = list(itertools.product(*[nbr_opts,]*(d-1)))\n", " nbr_nbr_sums = [tuple(i) for i in list(np.sum(nbr_nbr_opts, axis=2))]\n", " \n", " nbr_sums = [i for i in list(np.sum(nbr_opts, axis=1))]\n", " diffs = [i for i in list(np.sum(nbr_nbr_sums, axis=1))]\n", " \n", " assert len(nbr_sums) == len(poss)**(d-1)\n", " assert len(diffs) == len(poss)**((d-1)**2)\n", " \n", " poss_u = np.unique(poss, return_counts=True)\n", " nbrs_u = np.unique(nbr_sums, return_counts=True)\n", " diff_u = np.unique(diffs, return_counts=True)\n", " \n", " i = 0\n", " for v0_1, m1 in zip(*poss_u):\n", " for v0_2, m2 in zip(*poss_u):\n", " for nbrs1, m3 in zip(*nbrs_u):\n", " for nbrs2, m4 in zip(*nbrs_u):\n", " for nbr_nbrs1, m5 in zip(*diff_u):\n", " for nbr_nbrs2, m6 in zip(*diff_u):\n", " i += m1*m2*m3*m4*m5*m6\n", " tot += m1*m2*m3*m4*m5*m6*more_optimized_local_2(d, c0, c1, v0_1, v0_2, nbrs1, nbrs2, nbr_nbrs1, nbr_nbrs2)\n", " \n", " assert i == denom\n", " \n", " return tot/denom - 0.5" ] }, { "cell_type": "code", "execution_count": 70, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Number of options: 46656\n", "CPU times: user 445 ms, sys: 3 µs, total: 445 ms\n", "Wall time: 443 ms\n" ] }, { "data": { "text/plain": [ "0.3343192729766804" ] }, "execution_count": 70, "metadata": {}, "output_type": "execute_result" } ], "source": [ "%%time\n", "more_optimized_local_2_perf(17.96, 0.56, 2, [0.85, 0.29, 0.03, 0.01, -0.49, -0.45])" ] }, { "cell_type": "code", "execution_count": 71, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Number of options: 16384\n", "CPU times: user 46 ms, sys: 5 µs, total: 46 ms\n", "Wall time: 44.3 ms\n" ] }, { "data": { "text/plain": [ "0.270263671875" ] }, "execution_count": 71, "metadata": {}, "output_type": "execute_result" } ], "source": [ "%%time\n", "more_optimized_local_2_perf(7.22, 0.58, 3, [-1, 1])" ] }, { "cell_type": "code", "execution_count": 72, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Number of options: 67108864\n", "CPU times: user 220 ms, sys: 15 µs, total: 220 ms\n", "Wall time: 217 ms\n" ] }, { "data": { "text/plain": [ "0.23085129261016846" ] }, "execution_count": 72, "metadata": {}, "output_type": "execute_result" } ], "source": [ "%%time\n", "more_optimized_local_2_perf(0.38, 11.20, 4, [-1, 1])" ] }, { "cell_type": "code", "execution_count": 73, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Number of options: 4398046511104\n", "CPU times: user 1.09 s, sys: 8.01 ms, total: 1.1 s\n", "Wall time: 1.1 s\n" ] }, { "data": { "text/plain": [ "0.20453225069923064" ] }, "execution_count": 73, "metadata": {}, "output_type": "execute_result" } ], "source": [ "%%time\n", "more_optimized_local_2_perf(5.44, 0.33, 5, [-1, 1])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Looks like the numbers match! Thanks for reading!" ] }, { "cell_type": "code", "execution_count": 74, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Ending time: Tue Dec 29 04:35:18 2020\n" ] } ], "source": [ "print(\"Ending time:\", time.ctime())" ] } ], "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.7.4" } }, "nbformat": 4, "nbformat_minor": 4 }