diff --git a/doc_source/references.bib b/doc_source/references.bib index 10ec22f1..ac17022a 100644 --- a/doc_source/references.bib +++ b/doc_source/references.bib @@ -118,4 +118,13 @@ @ARTICLE{ml4pers ISSN={2624-8212}, } +@misc{polanco2019adaptive, + title={Adaptive template systems: Data-driven feature selection for learning with persistence diagrams}, + author={Luis Polanco and Jose A. Perea}, + year={2019}, + eprint={1910.06741}, + archivePrefix={arXiv}, + primaryClass={cs.LG} +} + @Comment{jabref-meta: databaseType:bibtex;} diff --git a/notebooks/kernel_gpu.py b/notebooks/kernel_gpu.py new file mode 100644 index 00000000..1ef8dcba --- /dev/null +++ b/notebooks/kernel_gpu.py @@ -0,0 +1,72 @@ +@guvectorize(["void(int64[:,:,:], int64[:,:], float64, float64[:])",],"(p,m,n), (m,n), ()->(p)", target='cuda', nopython=True) +def kernel_gpu(dgms0, dgms1, s, result): + """ + + This function computes (using gpu) the multiscale heat kernel distance for an array of persistence diagrams based on the formula provided in Ref. :cite:`5 `. + There are three inputs and these are two persistence diagram arrays and the kernel scale sigma. This function should be used for large size datasets. Please note this function will not work if you do not have a compatible GPU. + Details for compatibility can be found `here `_. + + Parameters + ---------- + dgms0 : ndarray + Object array that includes first persistence diagram set. + dgms1 : ndarray + Object array that includes second persistence diagram set. + sigma : float + Kernel scale. + + Returns + ------- + result : np array + The kernel matrix + + """ + n_train = len(dgms0) + for i in range(n_train): + dgm0=dgms0[i] + dgm1 = dgms1 + kSigma0 = 0 + kSigma1 = 0 + kSigma2 = 0 + sigma = s + for k in range(dgm0.shape[0]): + p = dgm0[k,0:2] + if p[0]+p[1]==-2: + continue + for l in range(dgm0.shape[0]): + q = dgm0[l,0:2] + if q[0]+q[1]==-2: + continue + qc = dgm0[l, 1::-1] + pq = (p[0] - q[0])**2 + (p[1] - q[1])**2 + pqc = (p[0] - qc[0])**2 + (p[1] - qc[1])**2 + kSigma0 += math.exp(-( pq) / (8 * sigma)) - math.exp(-(pqc) / (8 * sigma)) + for k in range(dgm1.shape[0]): + p = dgm1[k,0:2] + if p[0]+p[1]==-2: + continue + for l in range(dgm1.shape[0]): + q = dgm1[l,0:2] + if q[0]+q[1]==-2: + continue + qc = dgm1[l, 1::-1] + pq = (p[0] - q[0])**2 + (p[1] - q[1])**2 + pqc = (p[0] - qc[0])**2 + (p[1] - qc[1])**2 + kSigma1 += math.exp(-( pq) / (8 * sigma)) - math.exp(-(pqc) / (8 * sigma)) + for k in range(dgm0.shape[0]): + p = dgm0[k,0:2] + if p[0]+p[1]==-2: + continue + for l in range(dgm1.shape[0]): + q = dgm1[l,0:2] + if q[0]+q[1]==-2: + continue + qc = dgm1[l, 1::-1] + pq = (p[0] - q[0])**2 + (p[1] - q[1])**2 + pqc = (p[0] - qc[0])**2 + (p[1] - qc[1])**2 + kSigma2 += math.exp(-( pq) / (8 * sigma)) - math.exp(-(pqc) / (8 * sigma)) + + kSigma0 = kSigma0/(8 * np.pi * sigma) + kSigma1 = kSigma1/(8 * np.pi * sigma) + kSigma2 = kSigma2/(8 * np.pi * sigma) + result[i] = math.sqrt(kSigma1 + kSigma0-2*kSigma2) \ No newline at end of file diff --git a/notebooks/timing/ml_methods_timing_adaptive_features.ipynb b/notebooks/timing/ml_methods_timing_adaptive_features.ipynb index fc23ec8a..55319762 100644 --- a/notebooks/timing/ml_methods_timing_adaptive_features.ipynb +++ b/notebooks/timing/ml_methods_timing_adaptive_features.ipynb @@ -398,7 +398,7 @@ "\n", "def get_all_features(list_dgms, list_ellipses, function):\n", "\t'''\n", - "\tThis function computes all the features for a colelction of persistent diagrams given a list ot ellipses.\n", + "\tThis function computes all the features for a collection of persistent diagrams given a list ot ellipses.\n", "\t:param list_dgms: list of persistent diagrams\n", "\t:type list_dgms: list\n", "\t:param list_ellipses: List of dicctionaries. Each dicctionary represents a ellipse. It must have the following keys: `mean`, `std` and `rotation`.\n", @@ -1077,658 +1077,6 @@ "%timeit jit_adaptive_features(xdgm0_train[0:100], y_train=labels_train[0:100], d=25)\n", "#%timeit jit_adaptive_features(xdgm0_train, y_train=labels_train, d=25)" ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "8\n" - ] - } - ], - "source": [ - "import multiprocessing\n", - "cpu_count = multiprocessing.cpu_count()\n", - "print(cpu_count)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Optimized with Numba" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [], - "source": [ - "import numpy as np\n", - "import math\n", - "from numpy.linalg import norm as lnorm\n", - "from math import pi\n", - "from numba import jit\n", - "import time\n", - "\n", - "@jit\n", - "def optimizedKernelMethod(perDgm1, perDgm2, sigma):\n", - " L1 = len(perDgm1)\n", - " L2 = len(perDgm2)\n", - " kernel = np.zeros((L2, L1))\n", - "\n", - " Kernel = 0\n", - "\n", - " for i in range(0, L1):\n", - " p = perDgm1[i]\n", - " p = np.reshape(p, (2, 1))\n", - " for j in range(0, L2):\n", - " q = perDgm2[j]\n", - " q = np.reshape(q, (2, 1))\n", - " q_bar = np.zeros((2, 1))\n", - " q_bar[0] = q[1]\n", - " q_bar[1] = q[0]\n", - " dist1 = lnorm(p-q)\n", - " dist2 = lnorm(p-q_bar)\n", - " kernel[j, i] = np.exp(-(math.pow(dist1, 2))/(8*sigma)) - \\\n", - " np.exp(-(math.pow(dist2, 2))/(8*sigma))\n", - " Kernel = Kernel+kernel[j, i]\n", - " Kernel = Kernel*(1/(8*pi*sigma))\n", - "\n", - " return Kernel\n", - "\n", - "@jit\n", - "def optimized_heat_kernel_distance(dgm0, dgm1, sigma=.4):\n", - " return np.sqrt(optimizedKernelMethod(dgm0, dgm0, sigma) + optimizedKernelMethod(dgm1, dgm1, sigma) - 2*optimizedKernelMethod(dgm0, dgm1, sigma))\n", - "\n", - "@jit\n", - "def optimized_kernel_features(train, s):\n", - " n_train = len(train)\n", - " X_train_features = np.zeros((n_train, n_train))\n", - " \n", - " for i in range(0,n_train):\n", - " for j in range(0,i):\n", - " dgm0 = train[i]\n", - " dgm1 = train[j]\n", - " hka = optimized_heat_kernel_distance(dgm0, dgm1, sigma = s) \n", - " X_train_features[i,j] = hka\n", - " X_train_features[j,i] = hka\n", - "\n", - " return X_train_features" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Parallel with jit" - ] - }, - { - "cell_type": "code", - "execution_count": 37, - "metadata": {}, - "outputs": [], - "source": [ - "import numpy as np\n", - "import math\n", - "from numpy.linalg import norm as lnorm\n", - "from math import pi\n", - "from numba import jit\n", - "import time\n", - "\n", - "\n", - "@jit(nopython=True)\n", - "def par_optimized_kernel_features(train, s):\n", - " n_train = len(train)\n", - " for i in range(n_train):\n", - " for j in range(i):\n", - " dgm0 = train[train[:,0]==i,1:3]\n", - " dgm1 = train[train[:,0]==j,1:3]\n", - " kSigma0 = 0\n", - " kSigma1 = 0\n", - " kSigma2 = 0\n", - " sigma = s\n", - " for k in range(dgm0.shape[0]):\n", - " p = dgm0[k,0:2]\n", - " for l in range(dgm0.shape[0]):\n", - " q = dgm0[l,0:2]\n", - " qc = dgm0[l, 1::-1]\n", - " pq = (p[0] - q[0])**2 + (p[1] - q[1])**2\n", - " pqc = (p[0] - qc[0])**2 + (p[1] - qc[1])**2\n", - " kSigma0 += math.exp(-( pq) / (8 * sigma)) - math.exp(-(pqc) / (8 * sigma))\n", - " for k in range(dgm1.shape[0]):\n", - " p = dgm1[k,0:2]\n", - " for l in range(dgm1.shape[0]):\n", - " q = dgm1[l,0:2]\n", - " qc = dgm1[l, 1::-1]\n", - " pq = (p[0] - q[0])**2 + (p[1] - q[1])**2\n", - " pqc = (p[0] - qc[0])**2 + (p[1] - qc[1])**2\n", - " kSigma1 += math.exp(-( pq) / (8 * sigma)) - math.exp(-(pqc) / (8 * sigma))\n", - " for k in range(dgm0.shape[0]):\n", - " p = dgm0[k,0:2]\n", - " for l in range(dgm1.shape[0]):\n", - " q = dgm1[l,0:2]\n", - " qc = dgm1[l, 1::-1]\n", - " pq = (p[0] - q[0])**2 + (p[1] - q[1])**2\n", - " pqc = (p[0] - qc[0])**2 + (p[1] - qc[1])**2\n", - " kSigma2 += math.exp(-( pq) / (8 * sigma)) - math.exp(-(pqc) / (8 * sigma))\n", - "\n", - " kSigma0 = kSigma0/(8 * np.pi * sigma)\n", - " kSigma1 = kSigma1/(8 * np.pi * sigma)\n", - " kSigma2 = kSigma2/(8 * np.pi * sigma)\n", - " result[i,j] = math.sqrt(kSigma1 + kSigma0-2*kSigma2)\n", - " result[j,i] = math.sqrt(kSigma1 + kSigma0-2*kSigma2)\n", - "\n", - " return result" - ] - }, - { - "cell_type": "code", - "execution_count": 32, - "metadata": {}, - "outputs": [], - "source": [ - "from numba import guvectorize\n", - "@guvectorize([\"void(float64[:,:], float64[:], float64, float64[:,:])\",],\"(m,n),(p),()->(p,p)\", target='parallel')\n", - "def parallel_kernel_features_train(train, dummy, s, result):\n", - " n_train = len(dummy)\n", - " for i in range(n_train):\n", - " for j in range(i):\n", - " dgm0 = train[train[:,0]==i,1:3]\n", - " dgm1 = train[train[:,0]==j,1:3]\n", - " kSigma0 = 0\n", - " kSigma1 = 0\n", - " kSigma2 = 0\n", - " sigma = s\n", - " for k in range(dgm0.shape[0]):\n", - " p = dgm0[k,0:2]\n", - " for l in range(dgm0.shape[0]):\n", - " q = dgm0[l,0:2]\n", - " qc = dgm0[l, 1::-1]\n", - " pq = (p[0] - q[0])**2 + (p[1] - q[1])**2\n", - " pqc = (p[0] - qc[0])**2 + (p[1] - qc[1])**2\n", - " kSigma0 += math.exp(-( pq) / (8 * sigma)) - math.exp(-(pqc) / (8 * sigma))\n", - " for k in range(dgm1.shape[0]):\n", - " p = dgm1[k,0:2]\n", - " for l in range(dgm1.shape[0]):\n", - " q = dgm1[l,0:2]\n", - " qc = dgm1[l, 1::-1]\n", - " pq = (p[0] - q[0])**2 + (p[1] - q[1])**2\n", - " pqc = (p[0] - qc[0])**2 + (p[1] - qc[1])**2\n", - " kSigma1 += math.exp(-( pq) / (8 * sigma)) - math.exp(-(pqc) / (8 * sigma))\n", - " for k in range(dgm0.shape[0]):\n", - " p = dgm0[k,0:2]\n", - " for l in range(dgm1.shape[0]):\n", - " q = dgm1[l,0:2]\n", - " qc = dgm1[l, 1::-1]\n", - " pq = (p[0] - q[0])**2 + (p[1] - q[1])**2\n", - " pqc = (p[0] - qc[0])**2 + (p[1] - qc[1])**2\n", - " kSigma2 += math.exp(-( pq) / (8 * sigma)) - math.exp(-(pqc) / (8 * sigma))\n", - "\n", - " kSigma0 = kSigma0/(8 * np.pi * sigma)\n", - " kSigma1 = kSigma1/(8 * np.pi * sigma)\n", - " kSigma2 = kSigma2/(8 * np.pi * sigma)\n", - " result[i,j] = math.sqrt(kSigma1 + kSigma0-2*kSigma2)\n", - " result[j,i] = math.sqrt(kSigma1 + kSigma0-2*kSigma2)" - ] - }, - { - "cell_type": "code", - "execution_count": 33, - "metadata": {}, - "outputs": [], - "source": [ - "from numba import guvectorize\n", - "@guvectorize([\"void(float64[:,:], float64[:], float64, float64[:,:])\",],\"(m,n),(p),()->(p,p)\", target='cpu')\n", - "def gu_kernel_features_train(train, dummy, s, result):\n", - " n_train = len(dummy)\n", - " for i in range(n_train):\n", - " for j in range(i):\n", - " dgm0 = train[train[:,0]==i,1:3]\n", - " dgm1 = train[train[:,0]==j,1:3]\n", - " kSigma0 = 0\n", - " kSigma1 = 0\n", - " kSigma2 = 0\n", - " sigma = s\n", - " for k in range(dgm0.shape[0]):\n", - " p = dgm0[k,0:2]\n", - " for l in range(dgm0.shape[0]):\n", - " q = dgm0[l,0:2]\n", - " qc = dgm0[l, 1::-1]\n", - " pq = (p[0] - q[0])**2 + (p[1] - q[1])**2\n", - " pqc = (p[0] - qc[0])**2 + (p[1] - qc[1])**2\n", - " kSigma0 += math.exp(-( pq) / (8 * sigma)) - math.exp(-(pqc) / (8 * sigma))\n", - " for k in range(dgm1.shape[0]):\n", - " p = dgm1[k,0:2]\n", - " for l in range(dgm1.shape[0]):\n", - " q = dgm1[l,0:2]\n", - " qc = dgm1[l, 1::-1]\n", - " pq = (p[0] - q[0])**2 + (p[1] - q[1])**2\n", - " pqc = (p[0] - qc[0])**2 + (p[1] - qc[1])**2\n", - " kSigma1 += math.exp(-( pq) / (8 * sigma)) - math.exp(-(pqc) / (8 * sigma))\n", - " for k in range(dgm0.shape[0]):\n", - " p = dgm0[k,0:2]\n", - " for l in range(dgm1.shape[0]):\n", - " q = dgm1[l,0:2]\n", - " qc = dgm1[l, 1::-1]\n", - " pq = (p[0] - q[0])**2 + (p[1] - q[1])**2\n", - " pqc = (p[0] - qc[0])**2 + (p[1] - qc[1])**2\n", - " kSigma2 += math.exp(-( pq) / (8 * sigma)) - math.exp(-(pqc) / (8 * sigma))\n", - "\n", - " kSigma0 = kSigma0/(8 * np.pi * sigma)\n", - " kSigma1 = kSigma1/(8 * np.pi * sigma)\n", - " kSigma2 = kSigma2/(8 * np.pi * sigma)\n", - " result[i,j] = math.sqrt(kSigma1 + kSigma0-2*kSigma2)\n", - " result[j,i] = math.sqrt(kSigma1 + kSigma0-2*kSigma2)" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [], - "source": [ - "def reshape_persistence_diagrams(dgm):\n", - " dgm_reshape = np.array([])\n", - " n = len(dgm)\n", - " for i in range(0,n):\n", - " t = np.repeat(i, len(dgm[i]))\n", - " t = t.reshape(len(dgm[i]),1)\n", - " t1 = np.concatenate((t,dgm[i]),1)\n", - " if i == 0:\n", - " dgm_reshape = t1\n", - " else:\n", - " dgm_reshape = np.append(dgm_reshape, t1, 0)\n", - " return dgm_reshape" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "First run to compile" - ] - }, - { - "cell_type": "code", - "execution_count": 39, - "metadata": {}, - "outputs": [], - "source": [ - "dgms_train, dgms_test = train_test_split_sklearn(mnist, 'labels', train_size = 10, seed=1)\n", - "train_test = np.array(dgms_train['zero_dim_rtl'])\n", - "X_train_features = kernel_features(np.array(train_test), s = .3)\n", - "X_train_features = optimized_kernel_features(np.array(train_test), s = .3)\n", - "dummy_train = np.arange(len(train_test), dtype=np.float64)\n", - "train = reshape_persistence_diagrams(train_test)\n", - "result = parallel_kernel_features_train(train, dummy_train, .3)\n", - "#X_train_features = par_optimized_kernel_features(np.array(train_test), s = .3)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Loop for random samples and timing" - ] - }, - { - "cell_type": "code", - "execution_count": 45, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished Training 0\n", - "Finished Training 1\n", - "Finished Training 2\n" - ] - } - ], - "source": [ - "seed = [0,1,2,3,4,5,6,7,8,9]\n", - "train_size = [.001, .005, .01, .05] # .01, .05]\n", - "n = len(train_size)\n", - "timing = np.zeros((n,4))\n", - "for i in range(0,n):\n", - " for j in seed:\n", - " dgms_train, dgms_test = train_test_split_sklearn(mnist, 'labels', train_size = train_size[i], seed=j)\n", - " xdgm0_train = np.array(dgms_train['zero_dim_rtl'])\n", - " dummy_train = np.arange(len(xdgm0_train), dtype=np.float64)\n", - " train = reshape_persistence_diagrams(xdgm0_train)\n", - " timing[i,0] += len(xdgm0_train)\n", - "\n", - " start = time.time()\n", - " result1 = gu_kernel_features_train(train, dummy_train, .3)\n", - " end = time.time()-start\n", - " timing[i,1] +=end\n", - "\n", - " start = time.time()\n", - " X_train_features = optimized_kernel_features(xdgm0_train, s = .3)\n", - " end = time.time()-start\n", - " timing[i,2] +=end\n", - " start = time.time()\n", - " result3 = parallel_kernel_features_train(train, dummy_train, .3)\n", - " end = time.time()-start\n", - " timing[i,3] +=end\n", - " print(\"Finished Training \", i)\n", - "timing = pd.DataFrame(timing/10)\n", - "timing.columns=['Observations', 'guvectorize', 'Jit optimized', 'Vectorized and Threading']\n", - "print(timing)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Plot Timing" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "timing.plot()" - ] - }, - { - "cell_type": "code", - "execution_count": 57, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished Training 0\n", - "Finished Training 1\n", - "Finished Training 2\n", - "Finished Training 3\n", - " Observations Original Jit optimized Vectorized and Threading\n", - "0 60.0 0.104926 0.010555 0.001208\n", - "1 300.0 2.637221 0.252662 0.062772\n", - "2 600.0 10.669852 1.033499 0.413544\n", - "3 3000.0 270.665288 27.861426 46.286630\n" - ] - } - ], - "source": [ - "seed = [0,1,2,3,4,5,6,7,8,9]\n", - "train_size = [.001, .005, .01, .05]\n", - "n = len(train_size)\n", - "timing = np.zeros((n,4))\n", - "for i in range(0,n):\n", - " for j in seed:\n", - " dgms_train, dgms_test = train_test_split_sklearn(mnist, 'labels', train_size = train_size[i], seed=j)\n", - " xdgm0_train = np.array(dgms_train['zero_dim_rtl'])\n", - " timing[i,0] += len(xdgm0_train)\n", - " start = time.time()\n", - " X_train_features1 = kernel_features(xdgm0_train, s = .3)\n", - " end = time.time()-start\n", - " timing[i,1] +=end\n", - " start = time.time()\n", - " X_train_features = optimized_kernel_features(xdgm0_train, s = .3)\n", - " end = time.time()-start\n", - " timing[i,2] +=end\n", - " dummy_train = np.arange(len(xdgm0_train), dtype=np.float64)\n", - " train = reshape_persistence_diagrams(xdgm0_train)\n", - " start = time.time()\n", - " result3 = parallel_kernel_features_train(train, dummy_train, .3)\n", - " end = time.time()-start\n", - " timing[i,3] +=end\n", - " print(\"Finished Training \", i)\n", - "timing = pd.DataFrame(timing/10)\n", - "timing.columns=['Observations', 'Original', 'Jit optimized', 'Vectorized and Threading']\n", - "print(timing)" - ] - }, - { - "cell_type": "code", - "execution_count": 47, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Threading layer chosen: workqueue\n", - "8\n" - ] - } - ], - "source": [ - "\n", - "print(\"Threading layer chosen: %s\" % threading_layer())\n", - "print(config.NUMBA_NUM_THREADS)" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": {}, - "outputs": [], - "source": [] - }, - { - "cell_type": "code", - "execution_count": 137, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "1.45 s ± 12.1 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)\n", - "120 ms ± 416 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)\n", - "22.1 ms ± 604 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)\n" - ] - } - ], - "source": [ - "train_test = xdgm0_train[0:200]\n", - "%timeit timing, X_train_features = kernel_features(np.array(train_test), s = .3)\n", - "%timeit timing, X_train_features = optimized_kernel_features(np.array(train_test), s = .3)\n", - "dummy_train = np.arange(len(train_test), dtype=np.float64)\n", - "train = reshape_persistence_diagrams(train_test)\n", - "%timeit numba_kernel_features_train(train, dummy_train, .3)" - ] - }, - { - "cell_type": "code", - "execution_count": 96, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "3.24 s ± 41.4 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)\n", - "272 ms ± 20.5 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)\n", - "263 ms ± 2.62 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)\n" - ] - } - ], - "source": [ - "train_test = xdgm0_train[0:300]\n", - "%timeit timing, X_train_features = kernel_features(np.array(train_test), s = .3)\n", - "%timeit timing, X_train_features = optimized_kernel_features(np.array(train_test), s = .3)\n", - "%timeit timing, X_train_features = parallel_optimized_kernel_features(np.array(train_test), s = .3)" - ] - }, - { - "cell_type": "code", - "execution_count": 97, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "5.79 s ± 114 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)\n", - "468 ms ± 2.24 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)\n", - "466 ms ± 774 µs per loop (mean ± std. dev. of 7 runs, 1 loop each)\n" - ] - } - ], - "source": [ - "train_test = xdgm0_train[0:400]\n", - "%timeit timing, X_train_features = kernel_features(np.array(train_test), s = .3)\n", - "%timeit timing, X_train_features = optimized_kernel_features(np.array(train_test), s = .3)\n", - "%timeit timing, X_train_features = parallel_optimized_kernel_features(np.array(train_test), s = .3)" - ] - }, - { - "cell_type": "code", - "execution_count": 98, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "9.06 s ± 238 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)\n", - "731 ms ± 10.7 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)\n", - "729 ms ± 7.56 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)\n" - ] - } - ], - "source": [ - "train_test = xdgm0_train[0:500]\n", - "%timeit timing, X_train_features = kernel_features(np.array(train_test), s = .3)\n", - "%timeit timing, X_train_features = optimized_kernel_features(np.array(train_test), s = .3)\n", - "%timeit timing, X_train_features = parallel_optimized_kernel_features(np.array(train_test), s = .3)" - ] - }, - { - "cell_type": "code", - "execution_count": 99, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "20.1 s ± 152 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)\n", - "1.71 s ± 143 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)\n", - "1.66 s ± 37.7 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)\n" - ] - } - ], - "source": [ - "train_test = xdgm0_train[0:750]\n", - "%timeit timing, X_train_features = kernel_features(np.array(train_test), s = .3)\n", - "%timeit timing, X_train_features = optimized_kernel_features(np.array(train_test), s = .3)\n", - "%timeit timing, X_train_features = parallel_optimized_kernel_features(np.array(train_test), s = .3)" - ] - }, - { - "cell_type": "code", - "execution_count": 100, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "36.9 s ± 773 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)\n", - "2.98 s ± 27 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)\n", - "2.97 s ± 12.1 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)\n" - ] - } - ], - "source": [ - "train_test = xdgm0_train[0:1000]\n", - "%timeit timing, X_train_features = kernel_features(np.array(train_test), s = .3)\n", - "%timeit timing, X_train_features = optimized_kernel_features(np.array(train_test), s = .3)\n", - "%timeit timing, X_train_features = parallel_optimized_kernel_features(np.array(train_test), s = .3)" - ] - }, - { - "cell_type": "code", - "execution_count": 101, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "55.4 s ± 524 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)\n", - "4.67 s ± 34.3 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)\n", - "4.68 s ± 24.4 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)\n" - ] - } - ], - "source": [ - "train_test = xdgm0_train[0:1250]\n", - "%timeit timing, X_train_features = kernel_features(np.array(train_test), s = .3)\n", - "%timeit timing, X_train_features = optimized_kernel_features(np.array(train_test), s = .3)\n", - "%timeit timing, X_train_features = parallel_optimized_kernel_features(np.array(train_test), s = .3)" - ] - }, - { - "cell_type": "code", - "execution_count": 102, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "1min 20s ± 761 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)\n", - "6.78 s ± 81.8 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)\n", - "6.81 s ± 141 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)\n" - ] - } - ], - "source": [ - "train_test = xdgm0_train[0:1500]\n", - "%timeit timing, X_train_features = kernel_features(np.array(train_test), s = .3)\n", - "%timeit timing, X_train_features = optimized_kernel_features(np.array(train_test), s = .3)\n", - "%timeit timing, X_train_features = parallel_optimized_kernel_features(np.array(train_test), s = .3)" - ] - }, - { - "cell_type": "code", - "execution_count": 103, - "metadata": {}, - "outputs": [ - { - "ename": "KeyboardInterrupt", - "evalue": "", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mKeyboardInterrupt\u001b[0m Traceback (most recent call last)", - "\u001b[1;32m/Users/daniellebarnes/development/teaspoon/notebooks/ml_methods_timing.ipynb Cell 21\u001b[0m line \u001b[0;36m2\n\u001b[1;32m 1\u001b[0m train_test \u001b[39m=\u001b[39m xdgm0_train[\u001b[39m0\u001b[39m:\u001b[39m2000\u001b[39m]\n\u001b[0;32m----> 2\u001b[0m get_ipython()\u001b[39m.\u001b[39;49mrun_line_magic(\u001b[39m'\u001b[39;49m\u001b[39mtimeit\u001b[39;49m\u001b[39m'\u001b[39;49m, \u001b[39m'\u001b[39;49m\u001b[39mtiming, X_train_features = kernel_features(np.array(train_test), s = .3)\u001b[39;49m\u001b[39m'\u001b[39;49m)\n\u001b[1;32m 3\u001b[0m get_ipython()\u001b[39m.\u001b[39mrun_line_magic(\u001b[39m'\u001b[39m\u001b[39mtimeit\u001b[39m\u001b[39m'\u001b[39m, \u001b[39m'\u001b[39m\u001b[39mtiming, X_train_features = optimized_kernel_features(np.array(train_test), s = .3)\u001b[39m\u001b[39m'\u001b[39m)\n\u001b[1;32m 4\u001b[0m get_ipython()\u001b[39m.\u001b[39mrun_line_magic(\u001b[39m'\u001b[39m\u001b[39mtimeit\u001b[39m\u001b[39m'\u001b[39m, \u001b[39m'\u001b[39m\u001b[39mtiming, X_train_features = parallel_optimized_kernel_features(np.array(train_test), s = .3)\u001b[39m\u001b[39m'\u001b[39m)\n", - "File \u001b[0;32m~/development/teaspoon/.venv/lib/python3.9/site-packages/IPython/core/interactiveshell.py:2417\u001b[0m, in \u001b[0;36mInteractiveShell.run_line_magic\u001b[0;34m(self, magic_name, line, _stack_depth)\u001b[0m\n\u001b[1;32m 2415\u001b[0m kwargs[\u001b[39m'\u001b[39m\u001b[39mlocal_ns\u001b[39m\u001b[39m'\u001b[39m] \u001b[39m=\u001b[39m \u001b[39mself\u001b[39m\u001b[39m.\u001b[39mget_local_scope(stack_depth)\n\u001b[1;32m 2416\u001b[0m \u001b[39mwith\u001b[39;00m \u001b[39mself\u001b[39m\u001b[39m.\u001b[39mbuiltin_trap:\n\u001b[0;32m-> 2417\u001b[0m result \u001b[39m=\u001b[39m fn(\u001b[39m*\u001b[39;49margs, \u001b[39m*\u001b[39;49m\u001b[39m*\u001b[39;49mkwargs)\n\u001b[1;32m 2419\u001b[0m \u001b[39m# The code below prevents the output from being displayed\u001b[39;00m\n\u001b[1;32m 2420\u001b[0m \u001b[39m# when using magics with decodator @output_can_be_silenced\u001b[39;00m\n\u001b[1;32m 2421\u001b[0m \u001b[39m# when the last Python token in the expression is a ';'.\u001b[39;00m\n\u001b[1;32m 2422\u001b[0m \u001b[39mif\u001b[39;00m \u001b[39mgetattr\u001b[39m(fn, magic\u001b[39m.\u001b[39mMAGIC_OUTPUT_CAN_BE_SILENCED, \u001b[39mFalse\u001b[39;00m):\n", - "File \u001b[0;32m~/development/teaspoon/.venv/lib/python3.9/site-packages/IPython/core/magics/execution.py:1170\u001b[0m, in \u001b[0;36mExecutionMagics.timeit\u001b[0;34m(self, line, cell, local_ns)\u001b[0m\n\u001b[1;32m 1168\u001b[0m \u001b[39mfor\u001b[39;00m index \u001b[39min\u001b[39;00m \u001b[39mrange\u001b[39m(\u001b[39m0\u001b[39m, \u001b[39m10\u001b[39m):\n\u001b[1;32m 1169\u001b[0m number \u001b[39m=\u001b[39m \u001b[39m10\u001b[39m \u001b[39m*\u001b[39m\u001b[39m*\u001b[39m index\n\u001b[0;32m-> 1170\u001b[0m time_number \u001b[39m=\u001b[39m timer\u001b[39m.\u001b[39;49mtimeit(number)\n\u001b[1;32m 1171\u001b[0m \u001b[39mif\u001b[39;00m time_number \u001b[39m>\u001b[39m\u001b[39m=\u001b[39m \u001b[39m0.2\u001b[39m:\n\u001b[1;32m 1172\u001b[0m \u001b[39mbreak\u001b[39;00m\n", - "File \u001b[0;32m~/development/teaspoon/.venv/lib/python3.9/site-packages/IPython/core/magics/execution.py:158\u001b[0m, in \u001b[0;36mTimer.timeit\u001b[0;34m(self, number)\u001b[0m\n\u001b[1;32m 156\u001b[0m gc\u001b[39m.\u001b[39mdisable()\n\u001b[1;32m 157\u001b[0m \u001b[39mtry\u001b[39;00m:\n\u001b[0;32m--> 158\u001b[0m timing \u001b[39m=\u001b[39m \u001b[39mself\u001b[39;49m\u001b[39m.\u001b[39;49minner(it, \u001b[39mself\u001b[39;49m\u001b[39m.\u001b[39;49mtimer)\n\u001b[1;32m 159\u001b[0m \u001b[39mfinally\u001b[39;00m:\n\u001b[1;32m 160\u001b[0m \u001b[39mif\u001b[39;00m gcold:\n", - "File \u001b[0;32m:1\u001b[0m, in \u001b[0;36minner\u001b[0;34m(_it, _timer)\u001b[0m\n", - "\u001b[1;32m/Users/daniellebarnes/development/teaspoon/notebooks/ml_methods_timing.ipynb Cell 21\u001b[0m line \u001b[0;36m6\n\u001b[1;32m 64\u001b[0m dgm0 \u001b[39m=\u001b[39m train[i]\n\u001b[1;32m 65\u001b[0m dgm1 \u001b[39m=\u001b[39m train[j]\n\u001b[0;32m---> 66\u001b[0m hka \u001b[39m=\u001b[39m heat_kernel_distance(dgm0, dgm1, sigma \u001b[39m=\u001b[39;49m s) \n\u001b[1;32m 67\u001b[0m X_train_features[i,j] \u001b[39m=\u001b[39m hka\n\u001b[1;32m 68\u001b[0m X_train_features[j,i] \u001b[39m=\u001b[39m hka\n", - "\u001b[1;32m/Users/daniellebarnes/development/teaspoon/notebooks/ml_methods_timing.ipynb Cell 21\u001b[0m line \u001b[0;36m5\n\u001b[1;32m 52\u001b[0m \u001b[39mdef\u001b[39;00m \u001b[39mheat_kernel_distance\u001b[39m(dgm0, dgm1, sigma\u001b[39m=\u001b[39m\u001b[39m.4\u001b[39m):\n\u001b[0;32m---> 53\u001b[0m \u001b[39mreturn\u001b[39;00m np\u001b[39m.\u001b[39msqrt(KernelMethod(dgm0, dgm0, sigma) \u001b[39m+\u001b[39m KernelMethod(dgm1, dgm1, sigma) \u001b[39m-\u001b[39m \u001b[39m2\u001b[39m\u001b[39m*\u001b[39mKernelMethod(dgm0, dgm1, sigma))\n", - "\u001b[1;32m/Users/daniellebarnes/development/teaspoon/notebooks/ml_methods_timing.ipynb Cell 21\u001b[0m line \u001b[0;36m4\n\u001b[1;32m 41\u001b[0m q_bar[\u001b[39m0\u001b[39m] \u001b[39m=\u001b[39m q[\u001b[39m1\u001b[39m]\n\u001b[1;32m 42\u001b[0m q_bar[\u001b[39m1\u001b[39m] \u001b[39m=\u001b[39m q[\u001b[39m0\u001b[39m]\n\u001b[0;32m---> 43\u001b[0m dist1 \u001b[39m=\u001b[39m lnorm(p\u001b[39m-\u001b[39;49mq)\n\u001b[1;32m 44\u001b[0m dist2 \u001b[39m=\u001b[39m lnorm(p\u001b[39m-\u001b[39mq_bar)\n\u001b[1;32m 45\u001b[0m kernel[j, i] \u001b[39m=\u001b[39m np\u001b[39m.\u001b[39mexp(\u001b[39m-\u001b[39m(math\u001b[39m.\u001b[39mpow(dist1, \u001b[39m2\u001b[39m))\u001b[39m/\u001b[39m(\u001b[39m8\u001b[39m\u001b[39m*\u001b[39msigma)) \u001b[39m-\u001b[39m \\\n\u001b[1;32m 46\u001b[0m np\u001b[39m.\u001b[39mexp(\u001b[39m-\u001b[39m(math\u001b[39m.\u001b[39mpow(dist2, \u001b[39m2\u001b[39m))\u001b[39m/\u001b[39m(\u001b[39m8\u001b[39m\u001b[39m*\u001b[39msigma))\n", - "File \u001b[0;32m~/development/teaspoon/.venv/lib/python3.9/site-packages/numpy/linalg/linalg.py:2553\u001b[0m, in \u001b[0;36mnorm\u001b[0;34m(x, ord, axis, keepdims)\u001b[0m\n\u001b[1;32m 2551\u001b[0m \u001b[39melse\u001b[39;00m:\n\u001b[1;32m 2552\u001b[0m sqnorm \u001b[39m=\u001b[39m x\u001b[39m.\u001b[39mdot(x)\n\u001b[0;32m-> 2553\u001b[0m ret \u001b[39m=\u001b[39m sqrt(sqnorm)\n\u001b[1;32m 2554\u001b[0m \u001b[39mif\u001b[39;00m keepdims:\n\u001b[1;32m 2555\u001b[0m ret \u001b[39m=\u001b[39m ret\u001b[39m.\u001b[39mreshape(ndim\u001b[39m*\u001b[39m[\u001b[39m1\u001b[39m])\n", - "\u001b[0;31mKeyboardInterrupt\u001b[0m: " - ] - } - ], - "source": [ - "train_test = xdgm0_train[0:2000]\n", - "%timeit timing, X_train_features = kernel_features(np.array(train_test), s = .3)\n", - "%timeit timing, X_train_features = optimized_kernel_features(np.array(train_test), s = .3)\n", - "%timeit timing, X_train_features = parallel_optimized_kernel_features(np.array(train_test), s = .3)" - ] } ], "metadata": { diff --git a/notebooks/timing/ml_methods_timing_kernel.ipynb b/notebooks/timing/ml_methods_timing_kernel.ipynb index ed1deff9..4bc66fc5 100644 --- a/notebooks/timing/ml_methods_timing_kernel.ipynb +++ b/notebooks/timing/ml_methods_timing_kernel.ipynb @@ -9,12 +9,13 @@ }, { "cell_type": "code", - "execution_count": 81, + "execution_count": 26, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", - "import pandas as pd" + "import pandas as pd\n", + "import numba" ] }, { @@ -26,7 +27,7 @@ }, { "cell_type": "code", - "execution_count": 150, + "execution_count": 27, "metadata": {}, "outputs": [ { @@ -57,58 +58,64 @@ " Length 40 dgms\n", " Length 80 dgms\n", " Length 300 dgms\n", + " Random Diagram Size\n", " \n", " \n", " \n", " \n", " 0\n", - " [[0, 20], [1, 3], [9, 17]]\n", - " [[0, 20], [1, 18], [9, 13], [8, 17], [13, 14],...\n", - " [[0, 20], [0, 7], [8, 14], [14, 19], [16, 16],...\n", - " [[0, 20], [12, 17], [15, 17], [17, 17], [1, 8]...\n", - " [[0, 20], [17, 18], [0, 0], [12, 12], [12, 14]...\n", - " [[0, 20], [7, 10], [13, 14], [11, 15], [14, 19...\n", - " [[0, 20], [13, 16], [5, 19], [3, 16], [2, 18],...\n", + " [[0, 20], [11, 13], [12, 14]]\n", + " [[0, 20], [7, 19], [4, 5], [14, 18], [2, 19], ...\n", + " [[0, 20], [12, 17], [15, 17], [14, 18], [2, 9]...\n", + " [[0, 20], [8, 16], [9, 13], [17, 17], [2, 10],...\n", + " [[0, 20], [3, 9], [10, 17], [18, 19], [19, 19]...\n", + " [[0, 20], [5, 17], [13, 15], [1, 2], [14, 14],...\n", + " [[0, 20], [8, 16], [18, 19], [6, 12], [5, 19],...\n", + " [[0, 20], [7, 13], [7, 12], [7, 9], [3, 5], [1...\n", " \n", " \n", " 1\n", - " [[0, 20], [5, 6], [7, 17]]\n", - " [[0, 20], [11, 17], [9, 17], [14, 17], [12, 12...\n", - " [[0, 20], [10, 17], [0, 17], [13, 18], [19, 19...\n", - " [[0, 20], [3, 11], [16, 19], [9, 18], [18, 19]...\n", - " [[0, 20], [0, 17], [13, 13], [5, 12], [7, 8], ...\n", - " [[0, 20], [17, 17], [10, 13], [11, 12], [15, 1...\n", - " [[0, 20], [17, 18], [19, 19], [2, 13], [0, 10]...\n", + " [[0, 20], [16, 19], [5, 16]]\n", + " [[0, 20], [10, 12], [8, 15], [13, 19], [15, 15...\n", + " [[0, 20], [17, 17], [4, 5], [4, 9], [18, 19], ...\n", + " [[0, 20], [12, 18], [5, 19], [9, 12], [18, 19]...\n", + " [[0, 20], [1, 10], [10, 14], [12, 15], [2, 19]...\n", + " [[0, 20], [15, 15], [7, 13], [15, 19], [11, 14...\n", + " [[0, 20], [8, 18], [4, 10], [8, 11], [10, 15],...\n", + " [[0, 20], [19, 19], [10, 10], [19, 19], [10, 1...\n", " \n", " \n", " 2\n", - " [[0, 20], [0, 9], [16, 16]]\n", - " [[0, 20], [10, 11], [19, 19], [8, 9], [8, 19],...\n", - " [[0, 20], [7, 7], [4, 18], [4, 12], [11, 18], ...\n", - " [[0, 20], [19, 19], [2, 10], [1, 3], [3, 7], [...\n", - " [[0, 20], [4, 16], [1, 12], [3, 17], [14, 15],...\n", - " [[0, 20], [13, 13], [2, 7], [14, 17], [5, 9], ...\n", - " [[0, 20], [8, 9], [18, 18], [19, 19], [1, 11],...\n", + " [[0, 20], [6, 13], [4, 19]]\n", + " [[0, 20], [19, 19], [8, 18], [9, 18], [18, 18]...\n", + " [[0, 20], [19, 19], [4, 7], [17, 19], [13, 18]...\n", + " [[0, 20], [6, 19], [9, 14], [5, 5], [15, 19], ...\n", + " [[0, 20], [5, 19], [2, 2], [0, 4], [0, 4], [3,...\n", + " [[0, 20], [8, 19], [8, 10], [17, 17], [8, 16],...\n", + " [[0, 20], [3, 12], [12, 13], [9, 11], [13, 15]...\n", + " [[0, 20], [8, 11], [12, 16], [12, 12], [10, 15...\n", " \n", " \n", " 3\n", - " [[0, 20], [8, 10], [12, 12]]\n", - " [[0, 20], [17, 18], [10, 11], [7, 14], [5, 14]...\n", - " [[0, 20], [16, 16], [2, 8], [13, 18], [6, 10],...\n", - " [[0, 20], [5, 12], [13, 19], [13, 19], [14, 17...\n", - " [[0, 20], [0, 17], [11, 15], [0, 18], [2, 10],...\n", - " [[0, 20], [12, 14], [19, 19], [9, 9], [15, 15]...\n", - " [[0, 20], [3, 12], [0, 12], [1, 13], [5, 9], [...\n", + " [[0, 20], [15, 19], [14, 17]]\n", + " [[0, 20], [15, 15], [10, 15], [15, 15], [15, 1...\n", + " [[0, 20], [15, 18], [5, 8], [9, 10], [4, 7], [...\n", + " [[0, 20], [9, 9], [0, 3], [5, 11], [11, 19], [...\n", + " [[0, 20], [1, 1], [12, 16], [3, 15], [7, 8], [...\n", + " [[0, 20], [10, 12], [8, 18], [17, 17], [0, 16]...\n", + " [[0, 20], [1, 7], [13, 13], [17, 17], [0, 6], ...\n", + " [[0, 20], [12, 19], [15, 18], [18, 19], [11, 1...\n", " \n", " \n", " 4\n", - " [[0, 20], [3, 3], [12, 13]]\n", - " [[0, 20], [8, 18], [6, 18], [16, 18], [15, 16]...\n", - " [[0, 20], [6, 12], [16, 16], [7, 7], [1, 6], [...\n", - " [[0, 20], [14, 14], [3, 4], [7, 13], [13, 15],...\n", - " [[0, 20], [12, 16], [10, 11], [7, 15], [5, 18]...\n", - " [[0, 20], [3, 17], [0, 11], [4, 6], [7, 8], [2...\n", - " [[0, 20], [12, 19], [19, 19], [5, 18], [14, 14...\n", + " [[0, 20], [14, 16], [11, 12]]\n", + " [[0, 20], [10, 13], [19, 19], [4, 13], [19, 19...\n", + " [[0, 20], [18, 19], [11, 19], [7, 10], [1, 1],...\n", + " [[0, 20], [14, 19], [1, 16], [19, 19], [0, 6],...\n", + " [[0, 20], [6, 19], [4, 14], [8, 9], [0, 7], [1...\n", + " [[0, 20], [19, 19], [8, 16], [14, 19], [7, 19]...\n", + " [[0, 20], [6, 14], [19, 19], [10, 10], [12, 16...\n", + " [[0, 20], [18, 19], [2, 16], [14, 19], [12, 18...\n", " \n", " \n", " ...\n", @@ -119,165 +126,184 @@ " ...\n", " ...\n", " ...\n", + " ...\n", " \n", " \n", - " 9995\n", - " [[0, 20], [13, 14], [17, 18]]\n", - " [[0, 20], [8, 12], [4, 11], [13, 15], [17, 18]...\n", - " [[0, 20], [6, 15], [2, 19], [4, 9], [15, 18], ...\n", - " [[0, 20], [11, 18], [2, 6], [18, 19], [4, 9], ...\n", - " [[0, 20], [14, 19], [2, 3], [5, 6], [2, 19], [...\n", - " [[0, 20], [3, 18], [19, 19], [14, 14], [18, 19...\n", - " [[0, 20], [14, 17], [4, 18], [6, 12], [17, 18]...\n", + " 995\n", + " [[0, 20], [4, 11], [6, 11]]\n", + " [[0, 20], [6, 7], [13, 13], [11, 12], [1, 3], ...\n", + " [[0, 20], [17, 17], [0, 7], [9, 15], [9, 15], ...\n", + " [[0, 20], [4, 19], [17, 18], [0, 9], [15, 17],...\n", + " [[0, 20], [7, 12], [19, 19], [8, 19], [18, 19]...\n", + " [[0, 20], [3, 8], [19, 19], [14, 18], [11, 16]...\n", + " [[0, 20], [19, 19], [16, 19], [10, 16], [9, 13...\n", + " [[0, 20], [10, 18], [7, 16], [3, 4], [16, 17],...\n", " \n", " \n", - " 9996\n", - " [[0, 20], [6, 17], [2, 3]]\n", - " [[0, 20], [8, 9], [5, 6], [2, 13], [12, 19], [...\n", - " [[0, 20], [1, 9], [15, 15], [5, 12], [8, 15], ...\n", - " [[0, 20], [3, 4], [4, 18], [19, 19], [10, 17],...\n", - " [[0, 20], [7, 7], [2, 3], [12, 17], [6, 18], [...\n", - " [[0, 20], [12, 18], [15, 18], [8, 18], [0, 8],...\n", - " [[0, 20], [15, 15], [14, 14], [13, 14], [4, 9]...\n", + " 996\n", + " [[0, 20], [11, 16], [14, 14]]\n", + " [[0, 20], [7, 8], [3, 19], [7, 13], [8, 17], [...\n", + " [[0, 20], [4, 11], [4, 15], [9, 13], [5, 7], [...\n", + " [[0, 20], [13, 15], [7, 10], [17, 19], [3, 17]...\n", + " [[0, 20], [17, 18], [2, 7], [7, 19], [16, 18],...\n", + " [[0, 20], [18, 19], [12, 13], [9, 9], [3, 9], ...\n", + " [[0, 20], [18, 18], [8, 9], [7, 12], [15, 15],...\n", + " [[0, 20], [5, 17], [8, 8], [16, 16], [14, 18],...\n", " \n", " \n", - " 9997\n", - " [[0, 20], [8, 14], [4, 18]]\n", - " [[0, 20], [11, 14], [7, 14], [18, 19], [16, 17...\n", - " [[0, 20], [7, 9], [14, 16], [12, 18], [7, 7], ...\n", - " [[0, 20], [11, 14], [2, 18], [7, 15], [12, 13]...\n", - " [[0, 20], [18, 18], [19, 19], [7, 17], [0, 14]...\n", - " [[0, 20], [4, 15], [10, 15], [13, 18], [19, 19...\n", - " [[0, 20], [4, 11], [7, 17], [2, 6], [7, 10], [...\n", + " 997\n", + " [[0, 20], [1, 6], [16, 17]]\n", + " [[0, 20], [19, 19], [18, 18], [7, 10], [19, 19...\n", + " [[0, 20], [2, 15], [8, 11], [19, 19], [9, 19],...\n", + " [[0, 20], [12, 15], [16, 18], [8, 12], [18, 19...\n", + " [[0, 20], [0, 13], [8, 9], [10, 19], [16, 19],...\n", + " [[0, 20], [11, 15], [5, 10], [15, 19], [15, 19...\n", + " [[0, 20], [19, 19], [4, 17], [2, 11], [15, 15]...\n", + " [[0, 20], [15, 17], [18, 18], [4, 8], [0, 1], ...\n", " \n", " \n", - " 9998\n", - " [[0, 20], [1, 12], [13, 17]]\n", - " [[0, 20], [8, 9], [3, 7], [16, 19], [15, 18], ...\n", - " [[0, 20], [7, 13], [0, 7], [7, 7], [10, 10], [...\n", - " [[0, 20], [3, 12], [5, 17], [16, 16], [4, 4], ...\n", - " [[0, 20], [12, 13], [5, 18], [16, 18], [6, 17]...\n", - " [[0, 20], [13, 19], [3, 18], [0, 9], [7, 7], [...\n", - " [[0, 20], [12, 17], [14, 15], [5, 7], [15, 16]...\n", + " 998\n", + " [[0, 20], [2, 4], [12, 15]]\n", + " [[0, 20], [12, 17], [18, 19], [0, 15], [2, 16]...\n", + " [[0, 20], [12, 15], [16, 17], [6, 6], [5, 10],...\n", + " [[0, 20], [13, 15], [5, 14], [17, 17], [7, 19]...\n", + " [[0, 20], [16, 17], [5, 15], [11, 15], [4, 12]...\n", + " [[0, 20], [15, 19], [4, 15], [16, 17], [10, 10...\n", + " [[0, 20], [11, 12], [2, 13], [4, 6], [13, 19],...\n", + " [[0, 20], [12, 13], [16, 17], [7, 17], [16, 17...\n", " \n", " \n", - " 9999\n", - " [[0, 20], [12, 18], [18, 18]]\n", - " [[0, 20], [4, 7], [9, 14], [2, 12], [10, 15], ...\n", - " [[0, 20], [16, 19], [8, 10], [4, 7], [8, 16], ...\n", - " [[0, 20], [17, 18], [16, 16], [5, 15], [0, 1],...\n", - " [[0, 20], [6, 7], [5, 11], [8, 19], [8, 18], [...\n", - " [[0, 20], [10, 13], [19, 19], [9, 13], [9, 15]...\n", - " [[0, 20], [9, 16], [2, 9], [18, 18], [18, 18],...\n", + " 999\n", + " [[0, 20], [14, 15], [15, 19]]\n", + " [[0, 20], [6, 15], [19, 19], [15, 17], [17, 18...\n", + " [[0, 20], [9, 19], [13, 16], [15, 18], [2, 5],...\n", + " [[0, 20], [0, 7], [3, 19], [2, 15], [11, 11], ...\n", + " [[0, 20], [13, 14], [1, 7], [14, 18], [12, 13]...\n", + " [[0, 20], [19, 19], [16, 16], [19, 19], [2, 13...\n", + " [[0, 20], [15, 17], [7, 18], [18, 19], [16, 17...\n", + " [[0, 20], [3, 4], [8, 9], [5, 8], [17, 18], [9...\n", " \n", " \n", "\n", - "

10000 rows × 7 columns

\n", + "

1000 rows × 8 columns

\n", "" ], "text/plain": [ - " Length 3 dgms \\\n", - "0 [[0, 20], [1, 3], [9, 17]] \n", - "1 [[0, 20], [5, 6], [7, 17]] \n", - "2 [[0, 20], [0, 9], [16, 16]] \n", - "3 [[0, 20], [8, 10], [12, 12]] \n", - "4 [[0, 20], [3, 3], [12, 13]] \n", - "... ... \n", - "9995 [[0, 20], [13, 14], [17, 18]] \n", - "9996 [[0, 20], [6, 17], [2, 3]] \n", - "9997 [[0, 20], [8, 14], [4, 18]] \n", - "9998 [[0, 20], [1, 12], [13, 17]] \n", - "9999 [[0, 20], [12, 18], [18, 18]] \n", + " Length 3 dgms \\\n", + "0 [[0, 20], [11, 13], [12, 14]] \n", + "1 [[0, 20], [16, 19], [5, 16]] \n", + "2 [[0, 20], [6, 13], [4, 19]] \n", + "3 [[0, 20], [15, 19], [14, 17]] \n", + "4 [[0, 20], [14, 16], [11, 12]] \n", + ".. ... \n", + "995 [[0, 20], [4, 11], [6, 11]] \n", + "996 [[0, 20], [11, 16], [14, 14]] \n", + "997 [[0, 20], [1, 6], [16, 17]] \n", + "998 [[0, 20], [2, 4], [12, 15]] \n", + "999 [[0, 20], [14, 15], [15, 19]] \n", + "\n", + " Length 6 dgms \\\n", + "0 [[0, 20], [7, 19], [4, 5], [14, 18], [2, 19], ... \n", + "1 [[0, 20], [10, 12], [8, 15], [13, 19], [15, 15... \n", + "2 [[0, 20], [19, 19], [8, 18], [9, 18], [18, 18]... \n", + "3 [[0, 20], [15, 15], [10, 15], [15, 15], [15, 1... \n", + "4 [[0, 20], [10, 13], [19, 19], [4, 13], [19, 19... \n", + ".. ... \n", + "995 [[0, 20], [6, 7], [13, 13], [11, 12], [1, 3], ... \n", + "996 [[0, 20], [7, 8], [3, 19], [7, 13], [8, 17], [... \n", + "997 [[0, 20], [19, 19], [18, 18], [7, 10], [19, 19... \n", + "998 [[0, 20], [12, 17], [18, 19], [0, 15], [2, 16]... \n", + "999 [[0, 20], [6, 15], [19, 19], [15, 17], [17, 18... \n", "\n", - " Length 6 dgms \\\n", - "0 [[0, 20], [1, 18], [9, 13], [8, 17], [13, 14],... \n", - "1 [[0, 20], [11, 17], [9, 17], [14, 17], [12, 12... \n", - "2 [[0, 20], [10, 11], [19, 19], [8, 9], [8, 19],... \n", - "3 [[0, 20], [17, 18], [10, 11], [7, 14], [5, 14]... \n", - "4 [[0, 20], [8, 18], [6, 18], [16, 18], [15, 16]... \n", - "... ... \n", - "9995 [[0, 20], [8, 12], [4, 11], [13, 15], [17, 18]... \n", - "9996 [[0, 20], [8, 9], [5, 6], [2, 13], [12, 19], [... \n", - "9997 [[0, 20], [11, 14], [7, 14], [18, 19], [16, 17... \n", - "9998 [[0, 20], [8, 9], [3, 7], [16, 19], [15, 18], ... \n", - "9999 [[0, 20], [4, 7], [9, 14], [2, 12], [10, 15], ... \n", + " Length 10 dgms \\\n", + "0 [[0, 20], [12, 17], [15, 17], [14, 18], [2, 9]... \n", + "1 [[0, 20], [17, 17], [4, 5], [4, 9], [18, 19], ... \n", + "2 [[0, 20], [19, 19], [4, 7], [17, 19], [13, 18]... \n", + "3 [[0, 20], [15, 18], [5, 8], [9, 10], [4, 7], [... \n", + "4 [[0, 20], [18, 19], [11, 19], [7, 10], [1, 1],... \n", + ".. ... \n", + "995 [[0, 20], [17, 17], [0, 7], [9, 15], [9, 15], ... \n", + "996 [[0, 20], [4, 11], [4, 15], [9, 13], [5, 7], [... \n", + "997 [[0, 20], [2, 15], [8, 11], [19, 19], [9, 19],... \n", + "998 [[0, 20], [12, 15], [16, 17], [6, 6], [5, 10],... \n", + "999 [[0, 20], [9, 19], [13, 16], [15, 18], [2, 5],... \n", "\n", - " Length 10 dgms \\\n", - "0 [[0, 20], [0, 7], [8, 14], [14, 19], [16, 16],... \n", - "1 [[0, 20], [10, 17], [0, 17], [13, 18], [19, 19... \n", - "2 [[0, 20], [7, 7], [4, 18], [4, 12], [11, 18], ... \n", - "3 [[0, 20], [16, 16], [2, 8], [13, 18], [6, 10],... \n", - "4 [[0, 20], [6, 12], [16, 16], [7, 7], [1, 6], [... \n", - "... ... \n", - "9995 [[0, 20], [6, 15], [2, 19], [4, 9], [15, 18], ... \n", - "9996 [[0, 20], [1, 9], [15, 15], [5, 12], [8, 15], ... \n", - "9997 [[0, 20], [7, 9], [14, 16], [12, 18], [7, 7], ... \n", - "9998 [[0, 20], [7, 13], [0, 7], [7, 7], [10, 10], [... \n", - "9999 [[0, 20], [16, 19], [8, 10], [4, 7], [8, 16], ... \n", + " Length 20 dgms \\\n", + "0 [[0, 20], [8, 16], [9, 13], [17, 17], [2, 10],... \n", + "1 [[0, 20], [12, 18], [5, 19], [9, 12], [18, 19]... \n", + "2 [[0, 20], [6, 19], [9, 14], [5, 5], [15, 19], ... \n", + "3 [[0, 20], [9, 9], [0, 3], [5, 11], [11, 19], [... \n", + "4 [[0, 20], [14, 19], [1, 16], [19, 19], [0, 6],... \n", + ".. ... \n", + "995 [[0, 20], [4, 19], [17, 18], [0, 9], [15, 17],... \n", + "996 [[0, 20], [13, 15], [7, 10], [17, 19], [3, 17]... \n", + "997 [[0, 20], [12, 15], [16, 18], [8, 12], [18, 19... \n", + "998 [[0, 20], [13, 15], [5, 14], [17, 17], [7, 19]... \n", + "999 [[0, 20], [0, 7], [3, 19], [2, 15], [11, 11], ... \n", "\n", - " Length 20 dgms \\\n", - "0 [[0, 20], [12, 17], [15, 17], [17, 17], [1, 8]... \n", - "1 [[0, 20], [3, 11], [16, 19], [9, 18], [18, 19]... \n", - "2 [[0, 20], [19, 19], [2, 10], [1, 3], [3, 7], [... \n", - "3 [[0, 20], [5, 12], [13, 19], [13, 19], [14, 17... \n", - "4 [[0, 20], [14, 14], [3, 4], [7, 13], [13, 15],... \n", - "... ... \n", - "9995 [[0, 20], [11, 18], [2, 6], [18, 19], [4, 9], ... \n", - "9996 [[0, 20], [3, 4], [4, 18], [19, 19], [10, 17],... \n", - "9997 [[0, 20], [11, 14], [2, 18], [7, 15], [12, 13]... \n", - "9998 [[0, 20], [3, 12], [5, 17], [16, 16], [4, 4], ... \n", - "9999 [[0, 20], [17, 18], [16, 16], [5, 15], [0, 1],... \n", + " Length 40 dgms \\\n", + "0 [[0, 20], [3, 9], [10, 17], [18, 19], [19, 19]... \n", + "1 [[0, 20], [1, 10], [10, 14], [12, 15], [2, 19]... \n", + "2 [[0, 20], [5, 19], [2, 2], [0, 4], [0, 4], [3,... \n", + "3 [[0, 20], [1, 1], [12, 16], [3, 15], [7, 8], [... \n", + "4 [[0, 20], [6, 19], [4, 14], [8, 9], [0, 7], [1... \n", + ".. ... \n", + "995 [[0, 20], [7, 12], [19, 19], [8, 19], [18, 19]... \n", + "996 [[0, 20], [17, 18], [2, 7], [7, 19], [16, 18],... \n", + "997 [[0, 20], [0, 13], [8, 9], [10, 19], [16, 19],... \n", + "998 [[0, 20], [16, 17], [5, 15], [11, 15], [4, 12]... \n", + "999 [[0, 20], [13, 14], [1, 7], [14, 18], [12, 13]... \n", "\n", - " Length 40 dgms \\\n", - "0 [[0, 20], [17, 18], [0, 0], [12, 12], [12, 14]... \n", - "1 [[0, 20], [0, 17], [13, 13], [5, 12], [7, 8], ... \n", - "2 [[0, 20], [4, 16], [1, 12], [3, 17], [14, 15],... \n", - "3 [[0, 20], [0, 17], [11, 15], [0, 18], [2, 10],... \n", - "4 [[0, 20], [12, 16], [10, 11], [7, 15], [5, 18]... \n", - "... ... \n", - "9995 [[0, 20], [14, 19], [2, 3], [5, 6], [2, 19], [... \n", - "9996 [[0, 20], [7, 7], [2, 3], [12, 17], [6, 18], [... \n", - "9997 [[0, 20], [18, 18], [19, 19], [7, 17], [0, 14]... \n", - "9998 [[0, 20], [12, 13], [5, 18], [16, 18], [6, 17]... \n", - "9999 [[0, 20], [6, 7], [5, 11], [8, 19], [8, 18], [... \n", + " Length 80 dgms \\\n", + "0 [[0, 20], [5, 17], [13, 15], [1, 2], [14, 14],... \n", + "1 [[0, 20], [15, 15], [7, 13], [15, 19], [11, 14... \n", + "2 [[0, 20], [8, 19], [8, 10], [17, 17], [8, 16],... \n", + "3 [[0, 20], [10, 12], [8, 18], [17, 17], [0, 16]... \n", + "4 [[0, 20], [19, 19], [8, 16], [14, 19], [7, 19]... \n", + ".. ... \n", + "995 [[0, 20], [3, 8], [19, 19], [14, 18], [11, 16]... \n", + "996 [[0, 20], [18, 19], [12, 13], [9, 9], [3, 9], ... \n", + "997 [[0, 20], [11, 15], [5, 10], [15, 19], [15, 19... \n", + "998 [[0, 20], [15, 19], [4, 15], [16, 17], [10, 10... \n", + "999 [[0, 20], [19, 19], [16, 16], [19, 19], [2, 13... \n", "\n", - " Length 80 dgms \\\n", - "0 [[0, 20], [7, 10], [13, 14], [11, 15], [14, 19... \n", - "1 [[0, 20], [17, 17], [10, 13], [11, 12], [15, 1... \n", - "2 [[0, 20], [13, 13], [2, 7], [14, 17], [5, 9], ... \n", - "3 [[0, 20], [12, 14], [19, 19], [9, 9], [15, 15]... \n", - "4 [[0, 20], [3, 17], [0, 11], [4, 6], [7, 8], [2... \n", - "... ... \n", - "9995 [[0, 20], [3, 18], [19, 19], [14, 14], [18, 19... \n", - "9996 [[0, 20], [12, 18], [15, 18], [8, 18], [0, 8],... \n", - "9997 [[0, 20], [4, 15], [10, 15], [13, 18], [19, 19... \n", - "9998 [[0, 20], [13, 19], [3, 18], [0, 9], [7, 7], [... \n", - "9999 [[0, 20], [10, 13], [19, 19], [9, 13], [9, 15]... \n", + " Length 300 dgms \\\n", + "0 [[0, 20], [8, 16], [18, 19], [6, 12], [5, 19],... \n", + "1 [[0, 20], [8, 18], [4, 10], [8, 11], [10, 15],... \n", + "2 [[0, 20], [3, 12], [12, 13], [9, 11], [13, 15]... \n", + "3 [[0, 20], [1, 7], [13, 13], [17, 17], [0, 6], ... \n", + "4 [[0, 20], [6, 14], [19, 19], [10, 10], [12, 16... \n", + ".. ... \n", + "995 [[0, 20], [19, 19], [16, 19], [10, 16], [9, 13... \n", + "996 [[0, 20], [18, 18], [8, 9], [7, 12], [15, 15],... \n", + "997 [[0, 20], [19, 19], [4, 17], [2, 11], [15, 15]... \n", + "998 [[0, 20], [11, 12], [2, 13], [4, 6], [13, 19],... \n", + "999 [[0, 20], [15, 17], [7, 18], [18, 19], [16, 17... \n", "\n", - " Length 300 dgms \n", - "0 [[0, 20], [13, 16], [5, 19], [3, 16], [2, 18],... \n", - "1 [[0, 20], [17, 18], [19, 19], [2, 13], [0, 10]... \n", - "2 [[0, 20], [8, 9], [18, 18], [19, 19], [1, 11],... \n", - "3 [[0, 20], [3, 12], [0, 12], [1, 13], [5, 9], [... \n", - "4 [[0, 20], [12, 19], [19, 19], [5, 18], [14, 14... \n", - "... ... \n", - "9995 [[0, 20], [14, 17], [4, 18], [6, 12], [17, 18]... \n", - "9996 [[0, 20], [15, 15], [14, 14], [13, 14], [4, 9]... \n", - "9997 [[0, 20], [4, 11], [7, 17], [2, 6], [7, 10], [... \n", - "9998 [[0, 20], [12, 17], [14, 15], [5, 7], [15, 16]... \n", - "9999 [[0, 20], [9, 16], [2, 9], [18, 18], [18, 18],... \n", + " Random Diagram Size \n", + "0 [[0, 20], [7, 13], [7, 12], [7, 9], [3, 5], [1... \n", + "1 [[0, 20], [19, 19], [10, 10], [19, 19], [10, 1... \n", + "2 [[0, 20], [8, 11], [12, 16], [12, 12], [10, 15... \n", + "3 [[0, 20], [12, 19], [15, 18], [18, 19], [11, 1... \n", + "4 [[0, 20], [18, 19], [2, 16], [14, 19], [12, 18... \n", + ".. ... \n", + "995 [[0, 20], [10, 18], [7, 16], [3, 4], [16, 17],... \n", + "996 [[0, 20], [5, 17], [8, 8], [16, 16], [14, 18],... \n", + "997 [[0, 20], [15, 17], [18, 18], [4, 8], [0, 1], ... \n", + "998 [[0, 20], [12, 13], [16, 17], [7, 17], [16, 17... \n", + "999 [[0, 20], [3, 4], [8, 9], [5, 8], [17, 18], [9... \n", "\n", - "[10000 rows x 7 columns]" + "[1000 rows x 8 columns]" ] }, - "execution_count": 150, + "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "timing_dgms = np.empty([10000,7], dtype=object)\n", - "for j in range(0,10000):\n", + "timing_dgms = np.empty([1000,8], dtype=object)\n", + "for j in range(0,1000):\n", " three_dgms = []\n", " six_dgms = []\n", " ten_dgms = []\n", @@ -285,6 +311,7 @@ " forty_dgms = []\n", " eighty_dgms = []\n", " threehundred_dgms = []\n", + " random_dgms = []\n", " point = [0, 20]\n", " three_dgms.append(point)\n", " six_dgms.append(point)\n", @@ -293,6 +320,7 @@ " forty_dgms.append(point)\n", " eighty_dgms.append(point)\n", " threehundred_dgms.append(point)\n", + " random_dgms.append(point)\n", " for i in range(0,2):\n", " birth = np.random.randint(0, 20, size=1)\n", " death = np.random.randint(birth, 20, size=1)\n", @@ -328,6 +356,12 @@ " death = np.random.randint(birth, 20, size=1)\n", " point = [birth[0], death[0]]\n", " threehundred_dgms.append(point)\n", + " r = np.random.randint(low=2, high=100, size=1)\n", + " for i in range(0,r[0]):\n", + " birth = np.random.randint(0, 20, size=1)\n", + " death = np.random.randint(birth, 20, size=1)\n", + " point = [birth[0], death[0]]\n", + " random_dgms.append(point)\n", " timing_dgms[j,0]=three_dgms\n", " timing_dgms[j,1]=six_dgms\n", " timing_dgms[j,2]=ten_dgms\n", @@ -335,14 +369,15 @@ " timing_dgms[j,4]=forty_dgms\n", " timing_dgms[j,5]=eighty_dgms\n", " timing_dgms[j,6]=threehundred_dgms\n", + " timing_dgms[j,7]=random_dgms\n", "timing_dgms = pd.DataFrame(timing_dgms)\n", - "timing_dgms.columns = ['Length 3 dgms', 'Length 6 dgms', 'Length 10 dgms', 'Length 20 dgms', 'Length 40 dgms', 'Length 80 dgms', 'Length 300 dgms']\n", + "timing_dgms.columns = ['Length 3 dgms', 'Length 6 dgms', 'Length 10 dgms', 'Length 20 dgms', 'Length 40 dgms', 'Length 80 dgms', 'Length 300 dgms','Random Diagram Size']\n", "timing_dgms" ] }, { "cell_type": "code", - "execution_count": 151, + "execution_count": 28, "metadata": {}, "outputs": [], "source": [ @@ -352,7 +387,8 @@ "dgms_20 = timing_dgms['Length 20 dgms']\n", "dgms_40 = timing_dgms['Length 40 dgms']\n", "dgms_80 = timing_dgms['Length 80 dgms']\n", - "dgms_300 = timing_dgms['Length 300 dgms']" + "dgms_300 = timing_dgms['Length 300 dgms']\n", + "dgms_random = timing_dgms['Random Diagram Size']" ] }, { @@ -364,7 +400,7 @@ }, { "cell_type": "code", - "execution_count": 436, + "execution_count": 29, "metadata": {}, "outputs": [], "source": [ @@ -382,14 +418,12 @@ " Kernel = 0\n", "\n", " for i in range(0, L1):\n", - " p = perDgm1[i]\n", - " p = np.reshape(p, (2, 1))\n", + " p = np.array(perDgm1[i])\n", " for j in range(0, L2):\n", " q = perDgm2[j]\n", - " q = np.reshape(q, (2, 1))\n", - " q_bar = np.zeros((2, 1))\n", - " q_bar[0] = q[1]\n", - " q_bar[1] = q[0]\n", + " q_bar = np.zeros((1, 2))\n", + " q_bar[0,0] = np.array(q[1])\n", + " q_bar[0,1] = np.array(q[0])\n", " dist1 = lnorm(p-q)\n", " dist2 = lnorm(p-q_bar)\n", " kernel[j, i] = np.exp(-(math.pow(dist1, 2))/(8*sigma)) - \\\n", @@ -402,824 +436,473 @@ "def heat_kernel_distance(dgm0, dgm1, sigma=.4):\n", " return np.sqrt(KernelMethod(dgm0, dgm0, sigma) + KernelMethod(dgm1, dgm1, sigma) - 2*KernelMethod(dgm0, dgm1, sigma))\n", "\n", - "def kernel_features(train, s):\n", + "def kernel_features(train, s, distance=True):\n", " import time\n", " import numpy as np\n", " n_train = len(train)\n", " X_train_features = np.zeros((n_train, n_train))\n", "\n", " for i in range(0,n_train):\n", - " for j in range(0,i):\n", + " for j in range(0,i+1):\n", " dgm0 = train[i]\n", " dgm1 = train[j]\n", - " hka = heat_kernel_distance(dgm0, dgm1, sigma = s) \n", - " X_train_features[i,j] = hka\n", - " X_train_features[j,i] = hka\n", + " if distance==True:\n", + " hka = heat_kernel_distance(dgm0, dgm1, sigma = s) \n", + " X_train_features[i,j] = hka\n", + " X_train_features[j,i] = hka\n", + " else:\n", + " hka = KernelMethod(dgm0, dgm1, sigma=s)\n", + " X_train_features[i,j] = hka\n", + " X_train_features[j,i] = hka\n", "\n", " return X_train_features" ] }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Optimized with Numba" - ] - }, { "cell_type": "code", - "execution_count": 287, + "execution_count": 30, "metadata": {}, "outputs": [], "source": [ - "import numpy as np\n", - "import math\n", - "from numpy.linalg import norm as lnorm\n", - "from math import pi\n", - "from numba import jit\n", - "import time\n", - "\n", - "@jit(nopython=True)\n", - "def optimizedKernelMethod(perDgm1, perDgm2, sigma):\n", - " L1 = len(perDgm1)\n", - " L2 = len(perDgm2)\n", - " kernel = np.zeros((L2, L1))\n", - "\n", - " Kernel = 0\n", - "\n", - " for i in range(0, L1):\n", - " p = perDgm1[i]\n", - " p = np.reshape(p, (2, 1))\n", - " for j in range(0, L2):\n", - " q = perDgm2[j]\n", - " q = np.reshape(q, (2, 1))\n", - " q_bar = np.zeros((2, 1))\n", - " q_bar[0] = q[1]\n", - " q_bar[1] = q[0]\n", - " dist1 = lnorm(p-q)\n", - " dist2 = lnorm(p-q_bar)\n", - " kernel[j, i] = np.exp(-(np.power(dist1, 2))/(8*sigma)) - \\\n", - " np.exp(-(np.power(dist2, 2))/(8*sigma))\n", - " Kernel = Kernel+kernel[j, i]\n", - " Kernel = Kernel*(1/(8*pi*sigma))\n", - "\n", - " return Kernel\n", - "\n", - "@jit(nopython=True)\n", - "def optimized_heat_kernel_distance(dgm0, dgm1, sigma=.4):\n", - " return np.sqrt(optimizedKernelMethod(dgm0, dgm0, sigma) + optimizedKernelMethod(dgm1, dgm1, sigma) - 2*optimizedKernelMethod(dgm0, dgm1, sigma))\n", - "\n", - "@jit(nopython=True, parallel=True)\n", - "def parallel_optimized_kernel_features(train, num_dgms, s):\n", - " X_train_features = np.zeros((num_dgms, num_dgms))\n", - " \n", - " for i in range(0,num_dgms):\n", - " for j in range(0,i):\n", - " dgm0 = train[train[:,0]==i,1:3]\n", - " dgm1 = train[train[:,0]==j,1:3]\n", - " hka = optimized_heat_kernel_distance(dgm0, dgm1, sigma = s) \n", - " X_train_features[i,j] = hka\n", - " X_train_features[j,i] = hka\n", - "\n", - " return X_train_features\n", - "\n", - "@jit(nopython=True)\n", - "def optimized_kernel_features(train, num_dgms, s):\n", - " X_train_features = np.zeros((num_dgms, num_dgms))\n", - " \n", - " for i in range(0,num_dgms):\n", - " for j in range(0,i):\n", - " dgm0 = train[train[:,0]==i,1:3]\n", - " dgm1 = train[train[:,0]==j,1:3]\n", - " hka = optimized_heat_kernel_distance(dgm0, dgm1, sigma = s) \n", - " X_train_features[i,j] = hka\n", - " X_train_features[j,i] = hka\n", - "\n", - " return X_train_features" - ] - }, - { - "cell_type": "code", - "execution_count": 483, - "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/var/folders/p6/pn26dbmx4jj67d6nh7m6557h0000gn/T/ipykernel_83673/3525272442.py:6: NumbaDeprecationWarning: The 'nopython' keyword argument was not supplied to the 'numba.jit' decorator. The implicit default value for this argument is currently False, but it will be changed to True in Numba 0.59.0. See https://numba.readthedocs.io/en/stable/reference/deprecation.html#deprecation-of-object-mode-fall-back-behaviour-when-using-jit for details.\n", - " def kernel_method_parallel(dgm0, dgm1, sigma=.3):\n", - "/var/folders/p6/pn26dbmx4jj67d6nh7m6557h0000gn/T/ipykernel_83673/3525272442.py:18: NumbaDeprecationWarning: The 'nopython' keyword argument was not supplied to the 'numba.jit' decorator. The implicit default value for this argument is currently False, but it will be changed to True in Numba 0.59.0. See https://numba.readthedocs.io/en/stable/reference/deprecation.html#deprecation-of-object-mode-fall-back-behaviour-when-using-jit for details.\n", - " def heat_kernel_distance_par(dgm0, dgm1, sigma=.4):\n", - "/var/folders/p6/pn26dbmx4jj67d6nh7m6557h0000gn/T/ipykernel_83673/3525272442.py:22: NumbaDeprecationWarning: The 'nopython' keyword argument was not supplied to the 'numba.jit' decorator. The implicit default value for this argument is currently False, but it will be changed to True in Numba 0.59.0. See https://numba.readthedocs.io/en/stable/reference/deprecation.html#deprecation-of-object-mode-fall-back-behaviour-when-using-jit for details.\n", - " def parallel_kernel_features(train, num_dgms, s):\n" - ] - } - ], - "source": [ - "@guvectorize([\"void(float64[:,:], float64[:], float64, float64[:])\",],\"(m,n),(p),()->(m)\", target='parallel', nopython=True)\n", - "def parallel_kernel_exponents(dgm0, dgm1, s, result):\n", - " result[:] = np.exp(-np.sum((dgm0[:]-dgm1[:])*(dgm0[:]-dgm1[:]), axis=1)/(8*s))\n", - "\n", - "@jit\n", - "def kernel_method_parallel(dgm0, dgm1, sigma=.3):\n", - " kSigma=0\n", - " sigma=sigma\n", - " for i in range(len(dgm1)):\n", - " dgm11 = dgm1[i,:]\n", - " dgm12 = np.flip(dgm1[i,:])\n", - " k = parallel_kernel_exponents(dgm0, dgm11, sigma)\n", - " k2 = parallel_kernel_exponents(dgm0, dgm12, sigma)\n", - " kSigma += np.sum(k) - np.sum(k2)\n", - " return kSigma/(8*pi*sigma)\n", - "\n", - "@jit\n", - "def heat_kernel_distance_par(dgm0, dgm1, sigma=.4):\n", - " return np.sqrt(kernel_method_parallel(dgm0, dgm0, sigma) + kernel_method_parallel(dgm1, dgm1, sigma) - 2*kernel_method_parallel(dgm0, dgm1, sigma))\n", - "\n", - "@jit\n", - "def parallel_kernel_features(train, num_dgms, s):\n", - " X_train_features = np.zeros((num_dgms, num_dgms))\n", - " \n", - " for i in range(0,num_dgms):\n", - " for j in range(0,i):\n", - " dgm0 = train[train[:,0]==i,1:3]\n", - " dgm1 = train[train[:,0]==j,1:3]\n", - " hka = optimized_heat_kernel_distance(dgm0, dgm1, sigma = s) \n", - " X_train_features[i,j] = hka\n", - " X_train_features[j,i] = hka\n", - "\n", - " return X_train_features" + "test_rdm = dgms_random[0:5]" ] }, { "cell_type": "code", - "execution_count": 506, + "execution_count": 31, "metadata": {}, "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "5.385164807134504\n" - ] - }, { "data": { "text/plain": [ - "0.15768274387316614" + "array([[0. , 1.83488046, 2.89504577, 2.70724363, 1.57620231],\n", + " [1.83488046, 0. , 3.49405634, 3.42564537, 1.53613345],\n", + " [2.89504577, 3.49405634, 0. , 2.66147329, 3.30052223],\n", + " [2.70724363, 3.42564537, 2.66147329, 0. , 2.95671828],\n", + " [1.57620231, 1.53613345, 3.30052223, 2.95671828, 0. ]])" ] }, - "execution_count": 506, + "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "dgm1 = np.array(dgms_3[0])\n", - "dgm2 = np.array(dgms_3[1])\n", - "print(lnorm(dgm1-dgm2))\n", - "\n", - "KernelMethod(dgm1, dgm2, sigma=.3)" + "kernel_features(test_rdm, .4)" ] }, { "cell_type": "code", - "execution_count": 516, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "2.14 ms ± 52 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n" - ] - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "import matplotlib.pyplot as plt\n", - "import seaborn as sns\n", - "train = dgms_3[0:5]\n", - "%timeit kernel_features(train, s=.3)\n", - "check = kernel_features(train, s=.3)\n", - "ax=sns.heatmap(check, cmap='viridis')" - ] - }, - { - "cell_type": "code", - "execution_count": 489, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "151 µs ± 511 ns per loop (mean ± std. dev. of 7 runs, 10,000 loops each)\n" - ] - } - ], - "source": [ - "train_test = np.array(dgms_3[0:5])\n", - "train, dummy_train, dummy = reshape_persistence_diagrams(train_test)\n", - "%timeit parallel_kernel_features(train,dummy_train,.3)\n", - "check2 = parallel_kernel_features(train,dummy_train,.3)" - ] - }, - { - "cell_type": "code", - "execution_count": 490, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([[0., 0., 0., 0., 0.],\n", - " [0., 0., 0., 0., 0.],\n", - " [0., 0., 0., 0., 0.],\n", - " [0., 0., 0., 0., 0.],\n", - " [0., 0., 0., 0., 0.]])" - ] - }, - "execution_count": 490, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "check-check2" - ] - }, - { - "cell_type": "markdown", + "execution_count": 32, "metadata": {}, + "outputs": [], "source": [ - "Parallel with guvectorize" + "import copy\n", + "def reshape_to_array(diagrams):\n", + " dgms = copy.deepcopy(diagrams)\n", + " d0 = len(dgms)\n", + " d1 = 0\n", + " d2 = 2\n", + " for i in range(0, d0):\n", + " d1 = max(d1, len(dgms[i]))\n", + " for i in range(0,d0):\n", + " d = len(dgms[i])\n", + " if d==d1:\n", + " continue\n", + " for k in range(0, d1-d):\n", + " dgms[i].append([-1,-1])\n", + " dgms_array = []\n", + " for i in range(0, d0):\n", + " dgms_array.append(np.array(dgms[i]))\n", + " return np.reshape(dgms_array, (d0, d1, d2))\n" ] }, { "cell_type": "code", - "execution_count": 297, + "execution_count": 33, "metadata": {}, "outputs": [], "source": [ "from numba import guvectorize\n", - "\n", - "@jit(nopython=True)\n", - "def guvectorize_kernel_par(dgm0, dgm1, sigma):\n", - " kSigma0 = 0\n", - " kSigma1 = 0\n", - " kSigma2 = 0\n", - " for k in range(dgm0.shape[0]):\n", - " p = dgm0[k,0:2]\n", - " for l in range(dgm0.shape[0]):\n", - " q = dgm0[l,0:2]\n", - " qc = dgm0[l, 1::-1]\n", - " pq = (p[0] - q[0])**2 + (p[1] - q[1])**2\n", - " pqc = (p[0] - qc[0])**2 + (p[1] - qc[1])**2\n", - " kSigma0 += math.exp(-( pq) / (8 * sigma)) - math.exp(-(pqc) / (8 * sigma))\n", - " for k in range(dgm1.shape[0]):\n", - " p = dgm1[k,0:2]\n", - " for l in range(dgm1.shape[0]):\n", - " q = dgm1[l,0:2]\n", - " qc = dgm1[l, 1::-1]\n", - " pq = (p[0] - q[0])**2 + (p[1] - q[1])**2\n", - " pqc = (p[0] - qc[0])**2 + (p[1] - qc[1])**2\n", - " kSigma1 += math.exp(-( pq) / (8 * sigma)) - math.exp(-(pqc) / (8 * sigma))\n", - " for k in range(dgm0.shape[0]):\n", - " p = dgm0[k,0:2]\n", - " for l in range(dgm1.shape[0]):\n", - " q = dgm1[l,0:2]\n", - " qc = dgm1[l, 1::-1]\n", - " pq = (p[0] - q[0])**2 + (p[1] - q[1])**2\n", - " pqc = (p[0] - qc[0])**2 + (p[1] - qc[1])**2\n", - " kSigma2 += math.exp(-( pq) / (8 * sigma)) - math.exp(-(pqc) / (8 * sigma))\n", - " return(kSigma0, kSigma1, kSigma2)\n", - "\n", - "\n", - "\n", - "@guvectorize([\"void(float64[:,:], float64[:], float64, float64[:,:])\",],\"(m,n),(p),()->(p,p)\", target='parallel', nopython=True)\n", - "def parallel_gu_vectorize(train, num_dgms, s, result):\n", - " n_train = len(num_dgms)\n", + "@guvectorize([\"void(float64[:,:,:], float64[:,:], float64, float64[:])\",],\"(p,m,n), (m,n), ()->(p)\", target='parallel', nopython=True)\n", + "def guvectorize_kernel_parallel(dgms0, dgms1, s, result):\n", + " n_train = len(dgms0)\n", + " n_test = len(dgms1)\n", " for i in range(n_train):\n", - " for j in range(i):\n", - " dgm0 = train[train[:,0]==i,1:3]\n", - " dgm1 = train[train[:,0]==j,1:3]\n", - " sigma = s\n", - " kSigma0, kSigma1, kSigma2 = guvectorize_kernel_par(dgm0, dgm1, sigma)\n", - " kSigma0 = kSigma0/(8 * np.pi * sigma)\n", - " kSigma1 = kSigma1/(8 * np.pi * sigma)\n", - " kSigma2 = kSigma2/(8 * np.pi * sigma)\n", - " result[i,j] = math.sqrt(kSigma1 + kSigma0-2*kSigma2)\n", - " result[j,i] = math.sqrt(kSigma1 + kSigma0-2*kSigma2)" + " dgm0=dgms0[i]\n", + " dgm1 = dgms1\n", + " kSigma0 = 0\n", + " kSigma1 = 0\n", + " kSigma2 = 0\n", + " sigma = s\n", + " for k in range(dgm0.shape[0]):\n", + " p = dgm0[k,0:2]\n", + " if np.sum(p)==-2:\n", + " continue\n", + " for l in range(dgm0.shape[0]):\n", + " q = dgm0[l,0:2]\n", + " if np.sum(q)==-2:\n", + " continue\n", + " qc = dgm0[l, 1::-1]\n", + " pq = (p[0] - q[0])**2 + (p[1] - q[1])**2\n", + " pqc = (p[0] - qc[0])**2 + (p[1] - qc[1])**2\n", + " kSigma0 += math.exp(-( pq) / (8 * sigma)) - math.exp(-(pqc) / (8 * sigma))\n", + " for k in range(dgm1.shape[0]):\n", + " p = dgm1[k,0:2]\n", + " if np.sum(p)==-2:\n", + " continue\n", + " for l in range(dgm1.shape[0]):\n", + " q = dgm1[l,0:2]\n", + " if np.sum(q)==-2:\n", + " continue\n", + " qc = dgm1[l, 1::-1]\n", + " pq = (p[0] - q[0])**2 + (p[1] - q[1])**2\n", + " pqc = (p[0] - qc[0])**2 + (p[1] - qc[1])**2\n", + " kSigma1 += math.exp(-( pq) / (8 * sigma)) - math.exp(-(pqc) / (8 * sigma))\n", + " for k in range(dgm0.shape[0]):\n", + " p = dgm0[k,0:2]\n", + " if np.sum(p)==-2:\n", + " continue\n", + " for l in range(dgm1.shape[0]):\n", + " q = dgm1[l,0:2]\n", + " if np.sum(q)==-2:\n", + " continue\n", + " qc = dgm1[l, 1::-1]\n", + " pq = (p[0] - q[0])**2 + (p[1] - q[1])**2\n", + " pqc = (p[0] - qc[0])**2 + (p[1] - qc[1])**2\n", + " kSigma2 += math.exp(-( pq) / (8 * sigma)) - math.exp(-(pqc) / (8 * sigma))\n", + "\n", + " kSigma0 = kSigma0/(8 * np.pi * sigma)\n", + " kSigma1 = kSigma1/(8 * np.pi * sigma)\n", + " kSigma2 = kSigma2/(8 * np.pi * sigma)\n", + " result[i] = math.sqrt(kSigma1 + kSigma0-2*kSigma2)" ] }, { "cell_type": "code", - "execution_count": 289, + "execution_count": 34, "metadata": {}, "outputs": [], "source": [ "from numba import guvectorize\n", - "\n", - "@jit(nopython=True)\n", - "def guvectorize_kernel(dgm0, dgm1, sigma):\n", - " kSigma0 = 0\n", - " kSigma1 = 0\n", - " kSigma2 = 0\n", - " for k in range(dgm0.shape[0]):\n", - " p = dgm0[k,0:2]\n", - " for l in range(dgm0.shape[0]):\n", - " q = dgm0[l,0:2]\n", - " qc = dgm0[l, 1::-1]\n", - " pq = (p[0] - q[0])**2 + (p[1] - q[1])**2\n", - " pqc = (p[0] - qc[0])**2 + (p[1] - qc[1])**2\n", - " kSigma0 += math.exp(-( pq) / (8 * sigma)) - math.exp(-(pqc) / (8 * sigma))\n", - " for k in range(dgm1.shape[0]):\n", - " p = dgm1[k,0:2]\n", - " for l in range(dgm1.shape[0]):\n", - " q = dgm1[l,0:2]\n", - " qc = dgm1[l, 1::-1]\n", - " pq = (p[0] - q[0])**2 + (p[1] - q[1])**2\n", - " pqc = (p[0] - qc[0])**2 + (p[1] - qc[1])**2\n", - " kSigma1 += math.exp(-( pq) / (8 * sigma)) - math.exp(-(pqc) / (8 * sigma))\n", - " for k in range(dgm0.shape[0]):\n", - " p = dgm0[k,0:2]\n", - " for l in range(dgm1.shape[0]):\n", - " q = dgm1[l,0:2]\n", - " qc = dgm1[l, 1::-1]\n", - " pq = (p[0] - q[0])**2 + (p[1] - q[1])**2\n", - " pqc = (p[0] - qc[0])**2 + (p[1] - qc[1])**2\n", - " kSigma2 += math.exp(-( pq) / (8 * sigma)) - math.exp(-(pqc) / (8 * sigma))\n", - " return(kSigma0, kSigma1, kSigma2)\n", - "\n", - "@guvectorize([\"void(float64[:,:], float64[:], float64, float64[:,:])\",],\"(m,n),(p),()->(p,p)\", target='parallel', nopython=True)\n", - "def parallel_gu_vectorize(train, num_dgms, s, result):\n", - " n_train = len(num_dgms)\n", + "@guvectorize([\"void(float64[:,:,:], float64[:,:], float64, float64[:])\",],\"(p,m,n), (m,n), ()->(p)\", target='cpu', nopython=True)\n", + "def guvectorize_kernel(dgms0, dgms1, s, result):\n", + " n_train = len(dgms0)\n", + " n_test = len(dgms1)\n", " for i in range(n_train):\n", - " for j in range(i):\n", - " dgm0 = train[train[:,0]==i,1:3]\n", - " dgm1 = train[train[:,0]==j,1:3]\n", - " sigma = s\n", - " kSigma0, kSigma1, kSigma2 = guvectorize_kernel(dgm0, dgm1, sigma)\n", - " kSigma0 = kSigma0/(8 * np.pi * sigma)\n", - " kSigma1 = kSigma1/(8 * np.pi * sigma)\n", - " kSigma2 = kSigma2/(8 * np.pi * sigma)\n", - " result[i,j] = math.sqrt(kSigma1 + kSigma0-2*kSigma2)\n", - " result[j,i] = math.sqrt(kSigma1 + kSigma0-2*kSigma2)" + " dgm0=dgms0[i]\n", + " dgm1 = dgms1\n", + " kSigma0 = 0\n", + " kSigma1 = 0\n", + " kSigma2 = 0\n", + " sigma = s\n", + " for k in range(dgm0.shape[0]):\n", + " p = dgm0[k,0:2]\n", + " if np.sum(p)==-2:\n", + " continue\n", + " for l in range(dgm0.shape[0]):\n", + " q = dgm0[l,0:2]\n", + " if np.sum(q)==-2:\n", + " continue\n", + " qc = dgm0[l, 1::-1]\n", + " pq = (p[0] - q[0])**2 + (p[1] - q[1])**2\n", + " pqc = (p[0] - qc[0])**2 + (p[1] - qc[1])**2\n", + " kSigma0 += math.exp(-( pq) / (8 * sigma)) - math.exp(-(pqc) / (8 * sigma))\n", + " for k in range(dgm1.shape[0]):\n", + " p = dgm1[k,0:2]\n", + " if np.sum(p)==-2:\n", + " continue\n", + " for l in range(dgm1.shape[0]):\n", + " q = dgm1[l,0:2]\n", + " if np.sum(q)==-2:\n", + " continue\n", + " qc = dgm1[l, 1::-1]\n", + " pq = (p[0] - q[0])**2 + (p[1] - q[1])**2\n", + " pqc = (p[0] - qc[0])**2 + (p[1] - qc[1])**2\n", + " kSigma1 += math.exp(-( pq) / (8 * sigma)) - math.exp(-(pqc) / (8 * sigma))\n", + " for k in range(dgm0.shape[0]):\n", + " p = dgm0[k,0:2]\n", + " if np.sum(p)==-2:\n", + " continue\n", + " for l in range(dgm1.shape[0]):\n", + " q = dgm1[l,0:2]\n", + " if np.sum(q)==-2:\n", + " continue\n", + " qc = dgm1[l, 1::-1]\n", + " pq = (p[0] - q[0])**2 + (p[1] - q[1])**2\n", + " pqc = (p[0] - qc[0])**2 + (p[1] - qc[1])**2\n", + " kSigma2 += math.exp(-( pq) / (8 * sigma)) - math.exp(-(pqc) / (8 * sigma))\n", + "\n", + " kSigma0 = kSigma0/(8 * np.pi * sigma)\n", + " kSigma1 = kSigma1/(8 * np.pi * sigma)\n", + " kSigma2 = kSigma2/(8 * np.pi * sigma)\n", + " result[i] = math.sqrt(kSigma1 + kSigma0-2*kSigma2)" ] }, { "cell_type": "code", - "execution_count": 298, + "execution_count": 35, "metadata": {}, "outputs": [], "source": [ - "from numba import guvectorize\n", - "@guvectorize([\"void(float64[:,:], float64[:], float64, float64[:,:])\",],\"(m,n),(p),()->(p,p)\", target='cpu', nopython=True)\n", - "def guvectorize_kernel(train, num_dgms, s, result):\n", - " n_train = len(num_dgms)\n", - " for i in range(n_train):\n", - " for j in range(i):\n", - " dgm0 = train[train[:,0]==i,1:3]\n", - " dgm1 = train[train[:,0]==j,1:3]\n", - " kSigma0 = 0\n", - " kSigma1 = 0\n", - " kSigma2 = 0\n", - " sigma = s\n", - " for k in range(dgm0.shape[0]):\n", - " p = dgm0[k,0:2]\n", - " for l in range(dgm0.shape[0]):\n", - " q = dgm0[l,0:2]\n", - " qc = dgm0[l, 1::-1]\n", - " pq = (p[0] - q[0])**2 + (p[1] - q[1])**2\n", - " pqc = (p[0] - qc[0])**2 + (p[1] - qc[1])**2\n", - " kSigma0 += math.exp(-( pq) / (8 * sigma)) - math.exp(-(pqc) / (8 * sigma))\n", - " for k in range(dgm1.shape[0]):\n", - " p = dgm1[k,0:2]\n", - " for l in range(dgm1.shape[0]):\n", - " q = dgm1[l,0:2]\n", - " qc = dgm1[l, 1::-1]\n", - " pq = (p[0] - q[0])**2 + (p[1] - q[1])**2\n", - " pqc = (p[0] - qc[0])**2 + (p[1] - qc[1])**2\n", - " kSigma1 += math.exp(-( pq) / (8 * sigma)) - math.exp(-(pqc) / (8 * sigma))\n", - " for k in range(dgm0.shape[0]):\n", - " p = dgm0[k,0:2]\n", - " for l in range(dgm1.shape[0]):\n", - " q = dgm1[l,0:2]\n", - " qc = dgm1[l, 1::-1]\n", - " pq = (p[0] - q[0])**2 + (p[1] - q[1])**2\n", - " pqc = (p[0] - qc[0])**2 + (p[1] - qc[1])**2\n", - " kSigma2 += math.exp(-( pq) / (8 * sigma)) - math.exp(-(pqc) / (8 * sigma))\n", - "\n", - " kSigma0 = kSigma0/(8 * np.pi * sigma)\n", - " kSigma1 = kSigma1/(8 * np.pi * sigma)\n", - " kSigma2 = kSigma2/(8 * np.pi * sigma)\n", - " result[i,j] = math.sqrt(kSigma1 + kSigma0-2*kSigma2)\n", - " result[j,i] = math.sqrt(kSigma1 + kSigma0-2*kSigma2)" + "test_dgms = reshape_to_array(test_rdm)" ] }, { "cell_type": "code", - "execution_count": 291, + "execution_count": 36, "metadata": {}, "outputs": [ { - "name": "stderr", - "output_type": "stream", - "text": [ - "/var/folders/p6/pn26dbmx4jj67d6nh7m6557h0000gn/T/ipykernel_83673/1226298417.py:2: NumbaDeprecationWarning: The 'nopython' keyword argument was not supplied to the 'numba.jit' decorator. The implicit default value for this argument is currently False, but it will be changed to True in Numba 0.59.0. See https://numba.readthedocs.io/en/stable/reference/deprecation.html#deprecation-of-object-mode-fall-back-behaviour-when-using-jit for details.\n", - " def reshape_persistence_diagrams(dgm):\n" - ] + "data": { + "text/plain": [ + "array([[0. , 2.15266837, 3.33008573, 3.06659155, 1.84850474],\n", + " [2.15266837, 0. , 3.83297649, 3.75439033, 1.85464927],\n", + " [3.33008573, 3.83297649, 0. , 3.12501226, 3.7274066 ],\n", + " [3.06659155, 3.75439033, 3.12501226, 0. , 3.29408503],\n", + " [1.84850474, 1.85464927, 3.7274066 , 3.29408503, 0. ]])" + ] + }, + "execution_count": 36, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ - "@jit\n", - "def reshape_persistence_diagrams(dgm):\n", - " dgm_reshape = np.array([], dtype='float')\n", - " num_dgms = len(dgm)\n", - " for i in range(0,num_dgms):\n", - " t = np.repeat(i, len(dgm[i]))\n", - " t = t.reshape(len(dgm[i]),1)\n", - " t1 = np.concatenate((t,dgm[i]),1)\n", - " if i == 0:\n", - " dgm_reshape = t1\n", - " else:\n", - " dgm_reshape = np.append(dgm_reshape, t1, 0)\n", - " dummy = np.zeros((num_dgms))\n", - " dgm_reshape = np.array(dgm_reshape, dtype='float')\n", - " return dgm_reshape, num_dgms, dummy" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "First run to compile" + "kernel_features(test_dgms, .3)" ] }, { "cell_type": "code", - "execution_count": 491, + "execution_count": 37, "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "6.47 ms ± 40.3 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n", - "476 µs ± 4.4 µs per loop (mean ± std. dev. of 7 runs, 1,000 loops each)\n", - "774 µs ± 20.2 µs per loop (mean ± std. dev. of 7 runs, 1,000 loops each)\n", - "45.5 µs ± 3.09 µs per loop (mean ± std. dev. of 7 runs, 10,000 loops each)\n", - "9.07 µs ± 26.2 ns per loop (mean ± std. dev. of 7 runs, 100,000 loops each)\n", - "474 µs ± 1.49 µs per loop (mean ± std. dev. of 7 runs, 1,000 loops each)\n" - ] + "data": { + "text/plain": [ + "array([0. , 2.15266837, 3.33008573, 3.06659155, 1.84850474])" + ] + }, + "execution_count": 37, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ - "train_test = np.array(dgms_10[0:3])\n", - "%timeit X_train_features_original = kernel_features(train_test, s = .3)\n", - "train, dummy_train, dummy = reshape_persistence_diagrams(train_test)\n", - "%timeit X_train_features_optimized = optimized_kernel_features(train, dummy_train, s = .3)\n", - "%timeit X_train_features_optimized_parallel = parallel_optimized_kernel_features(train, dummy_train, .3)\n", - "%timeit X_train_features_gu_parallel = parallel_gu_vectorize(train, dummy, .3)\n", - "%timeit X_train_features_gu = guvectorize_kernel(train, dummy, .3)\n", - "%timeit parallel_kernel_features(train,dummy_train,.3)" + "guvectorize_kernel(test_dgms, test_dgms[0], .3)" ] }, { "cell_type": "code", - "execution_count": 305, + "execution_count": 38, "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "512 ms ± 1.49 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)\n", - "501 ms ± 360 µs per loop (mean ± std. dev. of 7 runs, 1 loop each)\n" - ] + "data": { + "text/plain": [ + "array([0. , 2.15266837, 3.33008573, 3.06659155, 1.84850474])" + ] + }, + "execution_count": 38, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ - "train_test = np.array(dgms_300[0:25])\n", - "train, dummy_train, dummy = reshape_persistence_diagrams(train_test)\n", - "%timeit X_train_features_gu_parallel = parallel_gu_vectorize(train, dummy, .3)\n", - "%timeit X_train_features_gu = guvectorize_kernel(train, dummy, .3)" + "guvectorize_kernel_parallel(test_dgms, test_dgms[0], .3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "### Loop for random samples and timing" + "guvectorize" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "First run to compile" ] }, { "cell_type": "code", - "execution_count": 493, + "execution_count": 39, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "Finished Kernel\n", - "Finished Jit Optimized Kernel\n", - "Finished Jit Optimized and Parallel Kernel\n", - "Finished gu vectorize\n", - "Finished gu vectorize parallel\n", - "Finished Kernel\n", - "Finished Jit Optimized Kernel\n", - "Finished Jit Optimized and Parallel Kernel\n", - "Finished gu vectorize\n", - "Finished gu vectorize parallel\n", - "Finished Kernel\n", - "Finished Jit Optimized Kernel\n", - "Finished Jit Optimized and Parallel Kernel\n", - "Finished gu vectorize\n", - "Finished gu vectorize parallel\n", - "Finished Kernel\n", - "Finished Jit Optimized Kernel\n", - "Finished Jit Optimized and Parallel Kernel\n", - "Finished gu vectorize\n", - "Finished gu vectorize parallel\n", - "Finished Kernel\n", - "Finished Jit Optimized Kernel\n", - "Finished Jit Optimized and Parallel Kernel\n", - "Finished gu vectorize\n", - "Finished gu vectorize parallel\n", - "Finished Training 0\n", - "Finished Kernel\n", - "Finished Jit Optimized Kernel\n", - "Finished Jit Optimized and Parallel Kernel\n", - "Finished gu vectorize\n", - "Finished gu vectorize parallel\n", - "Finished Kernel\n", - "Finished Jit Optimized Kernel\n", - "Finished Jit Optimized and Parallel Kernel\n", - "Finished gu vectorize\n", - "Finished gu vectorize parallel\n", - "Finished Kernel\n", - "Finished Jit Optimized Kernel\n", - "Finished Jit Optimized and Parallel Kernel\n", - "Finished gu vectorize\n", - "Finished gu vectorize parallel\n", - "Finished Kernel\n", - "Finished Jit Optimized Kernel\n", - "Finished Jit Optimized and Parallel Kernel\n", - "Finished gu vectorize\n", - "Finished gu vectorize parallel\n", - "Finished Kernel\n", - "Finished Jit Optimized Kernel\n", - "Finished Jit Optimized and Parallel Kernel\n", - "Finished gu vectorize\n", - "Finished gu vectorize parallel\n", - "Finished Training 1\n", - "Finished Kernel\n", - "Finished Jit Optimized Kernel\n", - "Finished Jit Optimized and Parallel Kernel\n", - "Finished gu vectorize\n", - "Finished gu vectorize parallel\n", - "Finished Kernel\n", - "Finished Jit Optimized Kernel\n", - "Finished Jit Optimized and Parallel Kernel\n", - "Finished gu vectorize\n", - "Finished gu vectorize parallel\n", - "Finished Kernel\n", - "Finished Jit Optimized Kernel\n", - "Finished Jit Optimized and Parallel Kernel\n", - "Finished gu vectorize\n", - "Finished gu vectorize parallel\n", - "Finished Kernel\n", - "Finished Jit Optimized Kernel\n", - "Finished Jit Optimized and Parallel Kernel\n", - "Finished gu vectorize\n", - "Finished gu vectorize parallel\n", - "Finished Kernel\n", - "Finished Jit Optimized Kernel\n", - "Finished Jit Optimized and Parallel Kernel\n", - "Finished gu vectorize\n", - "Finished gu vectorize parallel\n", - "Finished Training 2\n", - "Finished Kernel\n", - "Finished Jit Optimized Kernel\n", - "Finished Jit Optimized and Parallel Kernel\n", - "Finished gu vectorize\n", - "Finished gu vectorize parallel\n", - "Finished Kernel\n", - "Finished Jit Optimized Kernel\n", - "Finished Jit Optimized and Parallel Kernel\n", - "Finished gu vectorize\n", - "Finished gu vectorize parallel\n", - "Finished Kernel\n", - "Finished Jit Optimized Kernel\n", - "Finished Jit Optimized and Parallel Kernel\n", - "Finished gu vectorize\n", - "Finished gu vectorize parallel\n", - "Finished Kernel\n", - "Finished Jit Optimized Kernel\n", - "Finished Jit Optimized and Parallel Kernel\n", - "Finished gu vectorize\n", - "Finished gu vectorize parallel\n", - "Finished Kernel\n", - "Finished Jit Optimized Kernel\n", - "Finished Jit Optimized and Parallel Kernel\n", - "Finished gu vectorize\n", - "Finished gu vectorize parallel\n", - "Finished Training 3\n", - " Observations Original Jit optimized Jit optimized, parallel \\\n", - "0 25.0 0.681696 0.047752 0.077095 \n", - "1 50.0 2.709922 0.196669 0.312274 \n", - "2 75.0 6.067567 0.450471 0.682344 \n", - "3 100.0 11.190163 0.829391 1.275315 \n", - "\n", - " Vectorized Vectorized*, parallel \n", - "0 0.001291 0.048036 \n", - "1 0.005220 0.199183 \n", - "2 0.012606 0.454587 \n", - "3 0.024487 0.849444 \n" + "2.12 s ± 13.5 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)\n", + "108 µs ± 355 ns per loop (mean ± std. dev. of 7 runs, 10000 loops each)\n", + "1.88 ms ± 2.33 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)\n", + "1.12 ms ± 33.8 µs per loop (mean ± std. dev. of 7 runs, 1000 loops each)\n" ] } ], "source": [ - "seed = [0,1,2,3,4]\n", - "train_size = [25, 50, 75, 100]\n", - "n = len(train_size)\n", - "timing10 = np.zeros((n,6))\n", - "for i in range(0,n):\n", - " for j in seed:\n", - " dgms = np.array(dgms_10[0:train_size[i]])\n", - " timing10[i,0] += len(dgms)\n", - "\n", - " start = time.time()\n", - " X_train_features = kernel_features(dgms, s = .3)\n", - " end = time.time()-start\n", - " timing10[i,1] +=end\n", - " print(\"Finished Kernel\")\n", - "\n", - " start = time.time()\n", - " train, dummy_train, dummy = reshape_persistence_diagrams(dgms)\n", - " X_train_features = optimized_kernel_features(train, dummy_train, s = .3)\n", - " end = time.time()-start\n", - " timing10[i,2] +=end\n", - " print(\"Finished Jit Optimized Kernel\")\n", - "\n", - " start = time.time()\n", - " train, dummy_train, dummy = reshape_persistence_diagrams(dgms)\n", - " result1 = parallel_optimized_kernel_features(train, dummy_train, .3)\n", - " end = time.time()-start\n", - " timing10[i,3] +=end\n", - " print(\"Finished Jit Optimized and Parallel Kernel\")\n", "\n", - " start = time.time()\n", - " train, dummy_train, dummy = reshape_persistence_diagrams(dgms)\n", - " X_train_features_gu = guvectorize_kernel(train, dummy, .3)\n", - " end = time.time()-start\n", - " timing10[i,4] +=end\n", - " print(\"Finished gu vectorize\")\n", - "\n", - " start = time.time()\n", - " train, dummy_train, dummy = reshape_persistence_diagrams(dgms)\n", - " X_train_features_gu = parallel_kernel_features(train, dummy_train, .3)\n", - " end = time.time()-start\n", - " timing10[i,5] +=end\n", - " print(\"Finished gu vectorize parallel\")\n", - "\n", - " print(\"Finished Training \", i)\n", - "timing10 = pd.DataFrame(timing10/5)\n", - "timing10.columns=['Observations', 'Original', 'Jit optimized', 'Jit optimized, parallel', 'Vectorized', 'Vectorized*, parallel']\n", - "print(timing10)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Plot Timing" + "%timeit X_train_features_original = kernel_features(test_rdm, s = .3)\n", + "%timeit test_dgms = reshape_to_array(test_rdm)\n", + "%timeit X_train_features_gu = guvectorize_kernel(test_dgms, test_dgms, .3)\n", + "%timeit X_train_features_gu = guvectorize_kernel_parallel(test_dgms, test_dgms, .3)" ] }, { "cell_type": "code", - "execution_count": 494, + "execution_count": 40, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "Text(0.5, 1.0, 'Kernel Method Timing - 10 dgms')" + "[[0, 20],\n", + " [7, 13],\n", + " [7, 12],\n", + " [7, 9],\n", + " [3, 5],\n", + " [1, 12],\n", + " [1, 10],\n", + " [19, 19],\n", + " [3, 4],\n", + " [11, 11],\n", + " [11, 16],\n", + " [18, 19],\n", + " [19, 19],\n", + " [13, 16],\n", + " [14, 18],\n", + " [19, 19],\n", + " [11, 13],\n", + " [14, 18],\n", + " [12, 18],\n", + " [14, 19],\n", + " [2, 6],\n", + " [5, 13],\n", + " [9, 12],\n", + " [17, 17],\n", + " [1, 7],\n", + " [16, 18],\n", + " [12, 19],\n", + " [2, 13],\n", + " [-1, -1],\n", + " [-1, -1],\n", + " [-1, -1],\n", + " [-1, -1],\n", + " [-1, -1],\n", + " [-1, -1],\n", + " [-1, -1],\n", + " [-1, -1],\n", + " [-1, -1],\n", + " [-1, -1],\n", + " [-1, -1],\n", + " [-1, -1],\n", + " [-1, -1],\n", + " [-1, -1],\n", + " [-1, -1],\n", + " [-1, -1],\n", + " [-1, -1],\n", + " [-1, -1],\n", + " [-1, -1],\n", + " [-1, -1],\n", + " [-1, -1],\n", + " [-1, -1],\n", + " [-1, -1],\n", + " [-1, -1],\n", + " [-1, -1],\n", + " [-1, -1],\n", + " [-1, -1],\n", + " [-1, -1],\n", + " [-1, -1],\n", + " [-1, -1],\n", + " [-1, -1],\n", + " [-1, -1]]" ] }, - "execution_count": 494, + "execution_count": 40, "metadata": {}, "output_type": "execute_result" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" } ], "source": [ - "t = timing10.plot(x='Observations')\n", - "t.set_xlabel(\"Sample Size\")\n", - "t.set_ylabel(\"Time in Seconds\")\n", - "t.set_title(\"Kernel Method Timing - 10 dgms\")" + "test_rdm[0]" ] }, { "cell_type": "code", - "execution_count": 495, + "execution_count": 41, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "Text(0.5, 1.0, 'Kernel Method Timing - 10 dgms')" + "array([[0. , 2.15266837, 3.33008573, 3.06659155, 1.84850474],\n", + " [2.15266837, 0. , 3.83297649, 3.75439033, 1.85464927],\n", + " [3.33008573, 3.83297649, 0. , 3.12501226, 3.7274066 ],\n", + " [3.06659155, 3.75439033, 3.12501226, 0. , 3.29408503],\n", + " [1.84850474, 1.85464927, 3.7274066 , 3.29408503, 0. ]])" ] }, - "execution_count": 495, + "execution_count": 41, "metadata": {}, "output_type": "execute_result" - }, - { - "data": { - "image/png": "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Li7OaptXvsLDwy39e/fulZEjR0qHDh0kICBAHn30UTlz5sxVt0FEN4dfSxFRizQcscjMzERNTU2z47RaLd5//33s378fCxYswIYNG/Dcc89ZjamqqsL777+PJUuWYM2aNcjOzsbYsWOxatUqrFq1CgsXLsQnn3yC5cuXW6335ptvIi4uDjt37sSMGTOQkZFhdVSlsbq6OqSmpsLLywubN2/G1q1b4enpiZEjR6K2ttbmOnq9Hvv378e+ffta/Hs5ffq05VVQUIBu3bph8ODBAIDS0lLcfffdiI+PR35+PtasWYPi4mI8/PDDLf58IroBjq6uiKjtWL58ufj5+Ymbm5sMHDhQXnjhBdm9e/dV11m2bJn4+/tb3n/++ecCwOqp508++aR4eHhYHeFJTU2VJ5980vI+PDxcRo4cafXZaWlpMmrUKMt7NDpys3DhQunZs6coimLpr6mpEXd3d1m7dq3NWCsqKuTee++1HH1JS0uTzz77TKqrqy1jrjxy00BRFBk7dqwkJiZKVVWViIi8+uqrcs8991iNO3HiRLNPBici++CRGyJqsXHjxuH333/Hd999h5EjRyI7OxsJCQn44osvLGN+/PFHDBs2DCEhIfDy8sLEiRNx9uxZVFVVWcZ4eHggKirK8j4wMBARERFW57IEBgaipKTEavsGg6HJ+19//dVmrLt370ZBQQG8vLwsR506duyI6upqHD161OY6HTp0wA8//ICCggK8+OKL8PT0xLPPPosBAwZYxW/LzJkzkZubi2+//Rbu7u6WGDZu3GjZvqenJ6KjowGg2RiI6ObxhGIiui5ubm4YMWIERowYgdmzZ2PKlCmYM2cOHn/8cRw7dgz33XcfnnrqKcydOxcdO3bEli1b8MQTT6C2thYeHh4AAGdnZ6vP1Gg0NtsURbnhOCsqKpCYmIjFixc36evcufNV142KikJUVBSmTJmCWbNmoUePHli6dCkmTZpkc/yiRYvwzjvvIDs7GyEhIVYx3H///Xj99debrBMUFHSdGRFRS7G4IaKbEhMTY7m3zPbt26EoCt566y1oteYDw19//bXdtvXzzz83ed+rVy+bYxMSErB06VIEBATA29v7hrcZEREBDw8PVFZW2uzPzc3FlClT8MknnyAlJaVJDP/73/8QEREBJyf+75boVuHXUkTUImfPnsXdd9+NRYsWYc+ePSgqKsKyZcvwxhtvYMyYMQCAbt26oa6uDh988AEKCwuxcOFCzJ8/324xbN26FW+88QYOHz6Mjz76CMuWLUNGRobNsRMmTECnTp0wZswYbN68GUVFRcjOzsYzzzyDkydP2lzn5ZdfxnPPPYfs7GwUFRVh586dmDx5Murq6jBixIgm441GI8aOHYtHHnkEqampMBqNMBqNOHPmDABg6tSpOHfuHMaPH4+8vDwcPXoUa9euxaRJk2Aymez2eyEiayxuiKhFPD09kZycjHfeeQeDBw9GbGwsZs+ejT//+c/48MMPAQBxcXF4++238frrryM2NhaLFy/GvHnz7BbDs88+i/z8fMTHx+Nf//oX3n77baSmptoc6+HhgU2bNiEsLAwPPvggevXqhSeeeALV1dXNHskZMmQICgsL8dhjjyE6OhqjRo2C0WjEunXr0LNnzybjDx48iOLiYixYsABBQUGWV//+/QEAwcHB2Lp1K0wmE+655x706dMH06ZNg6+vr+XIFhHZn0ZExNFBEBFdS0REBKZNm2Z1t2AiIlv4pwMRERGpCosbIiIiUhV+LUVERESqwiM3REREpCosboiIiEhVWNwQERGRqrC4ISIiIlVhcUNERESqwuKGiIiIVIXFDREREakKixsiIiJSFRY3REREpCr/D1htJJCdrhnkAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" } ], "source": [ - "#timing.columns=['Observations', 'Original', 'Jit optimized', 'Vectorized', 'None']\n", - "timing_noog = timing10.drop(['Original'], axis=1)\n", - "t = timing_noog.plot(x='Observations')\n", - "t.set_xlabel(\"Sample Size\")\n", - "t.set_ylabel(\"Time in Seconds\")\n", - "t.set_title(\"Kernel Method Timing - 10 dgms\")" + "kernel_features(test_rdm, s = .3)" ] }, { "cell_type": "code", - "execution_count": 139, + "execution_count": 42, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "Text(0.5, 1.0, 'Kernel Method Timing - 10 dgms')" + "array([0. , 2.15266837, 3.33008573, 3.06659155, 1.84850474])" ] }, - "execution_count": 139, + "execution_count": 42, "metadata": {}, "output_type": "execute_result" - }, + } + ], + "source": [ + "guvectorize_kernel(test_dgms, test_dgms[0], .3)" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "metadata": {}, + "outputs": [ { "data": { - "image/png": "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Y2JiYihevDhDhgzh7bffzrJjSM5nMh7HKyRFRARIuZC+SJEidOzYkW+++cbW5Txye/fupWbNmsyZM4eePXvauhzJRXQNkojIYyI+Pj7NXW3ff/89kZGRWT7VSE6U3phKU6dOxc7OzjoKtkhW0VdsIiKPiT///JPXXnuNLl264OXlxe7du/n222+pUqWKdS683OzDDz9k165dPPnkkzg4OLBy5UpWrlzJiy++mO4AryIPQ1+xiYg8Js6cOcOQIUPYvn07kZGReHp60rp1ayZPnpypa70eV2vWrGHChAkcPnyYmJgYSpQoQa9evXjrrbdSjS4ukhUUkERERETuoWuQRERERO6hgCQiIiJyD31p+4AsFguXLl0if/78WT5Am4iIiGQPwzC4ffs2fn5+1sFn06OA9IAuXbqkuyZEREQeU+fPn6d48eL3Xa+A9IDuDjd//vx5ChQoYONqREREJCOio6Px9/f/x2ljFJAe0N2v1QoUKKCAJCIi8pj5p8tjdJG2iIiIyD0UkERERETuoYAkIiIicg9dg5TNzGYzSUlJti5DJEs4OTn97W2xIiK5hQJSNjEMg4iICG7dumXrUkSyjJ2dHaVKlcLJycnWpYiIZCsFpGxyNxwVLVoUNzc3DSYpj727g6NevnyZEiVK6HdaRHK1HBGQpk2bxkcffURERATVq1fn888/p27duvdtv3jxYt555x3OnDlDuXLl+OCDD2jdujUASUlJvP3226xYsYLTp0/j4eFB8+bNmTx5Mn5+ftZ9BAQEcPbs2VT7nTRpEqNHj37o/pjNZms48vLyeuj9ieQURYoU4dKlSyQnJ+Po6GjrckREso3NLyZYuHAhw4cPZ9y4cezevZvq1asTEhLC1atX022/detWevToQWhoKHv27KF9+/a0b9+egwcPAhAXF8fu3bt555132L17Nz/++CPHjh2jXbt2afb17rvvcvnyZetj8ODBWdKnu9ccubm5Zcn+RHKKu1+tmc1mG1ciIpK9TIZhGLYsICgoiDp16vDFF18AKafx/f39GTx4cLpnc7p160ZsbCzLly+3LqtXrx41atTgq6++SvcYO3bsoG7dupw9e5YSJUoAKWeQhg0bxrBhwx6o7ujoaDw8PIiKikozUGR8fDzh4eGUKlUKFxeXB9q/SE6k320Redz93ef3X9n0DFJiYiK7du2iefPm1mV2dnY0b96csLCwdLcJCwtL1R4gJCTkvu0BoqKiMJlMFCxYMNXyyZMn4+XlRc2aNfnoo49ITk5+8M6IiIhIrmHTa5CuX7+O2WzG29s71XJvb2+OHj2a7jYRERHpto+IiEi3fXx8PKNGjaJHjx6pkuKQIUOoVasWnp6ebN26lTFjxnD58mU+/vjjdPeTkJBAQkKC9Xl0dHSG+ijZY/z48SxdupS9e/dm2zGaNm1KjRo1mDp1arYdQ0REciabX4OUnZKSkujatSuGYfDll1+mWjd8+HCaNm1KtWrVePnll5kyZQqff/55qhD0V5MmTcLDw8P68Pf3fxRdeGTatm1Ly5Yt0123adMmTCYT+/fvf+D9b9iwAZPJlGXDHowYMYK1a9dmyb5ERETuZdOAVLhwYezt7bly5Uqq5VeuXMHHxyfdbXx8fDLU/m44Onv2LGvWrPnHCWWDgoJITk7mzJkz6a4fM2YMUVFR1sf58+f/oXePl9DQUNasWcOFCxfSrJsxYwa1a9emWrVqNqgsNcMwSE5Oxt3dXXcIiojkVnGRcHarTUuwaUBycnIiMDAw1ZkAi8XC2rVrCQ4OTneb4ODgNGcO1qxZk6r93XB04sQJfv/99wx9kO7duxc7OzuKFi2a7npnZ2cKFCiQ6pGbPPPMMxQpUoSZM2emWh4TE8PixYsJDQ1l8+bNNGrUCFdXV/z9/RkyZAixsbHWtgkJCYwaNQp/f3+cnZ0pW7Ys3377LWfOnOHJJ58EoFChQphMJvr27WvdZsiQIRQtWhQXFxcaNmzIjh07rPu8e+Zp5cqVBAYG4uzszObNmxk/fjw1atSwtjOZTGkeAQEB1vUHDx6kVatWuLu74+3tTa9evbh+/bp1fWxsLL1798bd3R1fX1+mTJmSdS+uiIhkXFI8LOgJs9rB4Z9tVobNv2IbPnw433zzDbNmzeLIkSO88sorxMbG0q9fPwB69+7NmDFjrO2HDh3KqlWrmDJlCkePHmX8+PHs3LmTQYMGASnhqHPnzuzcuZO5c+diNpuJiIggIiKCxMREIOVC76lTp7Jv3z5Onz7N3Llzee2113j++ecpVKhQlvfRMAziEpNt8sjoTYoODg707t2bmTNnptpm8eLFmM1mgoODadmyJZ06dWL//v0sXLiQzZs3W193SHmv5s+fz2effcaRI0eYPn067u7u+Pv7s2TJEgCOHTvG5cuX+fTTTwF44403WLJkCbNmzWL37t2ULVuWkJAQIiMjU9U3evRoJk+ezJEjR9I9k/XX4RpOnjxJ2bJlady4MQC3bt3iqaeeombNmuzcuZNVq1Zx5coVunbtat1+5MiRbNy4kZ9//pnffvuNDRs2sHv37gy+wyIikiUsFvjpRTi3FRzdwKuczUqx+W3+AF988YV1oMgaNWrw2WefERQUBKRcKBsQEJDqzMbixYt5++23rQNFfvjhh9aBIs+cOUOpUqXSPc769etp2rQpu3fv5tVXX+Xo0aMkJCRQqlQpevXqxfDhw3F2ds5QzZm5zT8uMZlKY1c/wCvz8A6/G4KbU8auxT969CgVK1a0vk4AjRs3pmTJkjg7O2Nvb8/06dOt7Tdv3kyTJk2IjY3l3LlzlC9fnjVr1qS5yxBSzgQ9+eST3Lx503o3YWxsLIUKFWLmzJk899xzQErAvTsEw8iRI63bLV26lGeffda6v/tdpG0YBp06deLcuXNs2rQJV1dX3nvvPTZt2sTq1f//Hly4cAF/f3+OHTuGn58fXl5ezJkzhy5dugAQGRlJ8eLFefHFF3WR9l/oNn8RyVar3oQ/p4GdI/T6EUo1zvJDZPQ2/xwxkvagQYNSnYn4qw0bNqRZ1qVLF+sH2b0CAgL+8axJrVq1+PPPPzNdZ25XoUIF6tevz3fffUfTpk05efIkmzZt4t1332XkyJHs37+fuXPnWtsbhoHFYiE8PJwDBw5gb29PkyZNMny8U6dOkZSURIMGDazLHB0dqVu3LkeOHEnVtnbt2hna55tvvklYWBg7d+7E1dUVgH379rF+/Xrc3d3TreHOnTskJiZaQzmAp6cn5cuXz3BfRETkIYVNSwlHAO2/zJZwlBk5IiDldq6O9hx+N8Rmx86M0NBQBg8ezLRp05gxYwZlypShSZMmxMTE8NJLLzFkyJA025QoUYKTJ09mVcnpypcv3z+2mTNnDp988gkbNmygWLFi1uUxMTG0bduWDz74IM02vr6+2V67iIj8g0M/weq3Un5uPgGqpX8S5FFSQHoETCZThr/msrWuXbsydOhQ5s2bx/fff88rr7yCyWSiVq1aHD58mLJly6a7XdWqVbFYLGzcuDHdr9jSm6KiTJkyODk5sWXLFkqWLAmkfMW2Y8eOTI9wHhYWxgsvvMD06dOpV69eqnW1atViyZIlBAQE4OCQ9n0oU6YMjo6ObNu2zTrS+s2bNzl+/HimzoiJiMgDOLMFfnwRMKDui9BgKOcj4wg7fYOutW03pI7NL9KWnMXd3Z1u3bpZB868e7fZqFGj2Lp1K4MGDWLv3r2cOHGCn3/+2frVaEBAAH369KF///4sXbqU8PBwNmzYwKJFiwAoWbIkJpOJ5cuXc+3aNWJiYsiXLx+vvPIKI0eOZNWqVRw+fJgBAwYQFxdHaGhohmuOiIigQ4cOdO/enZCQEOtF+deuXQNg4MCBREZG0qNHD3bs2MGpU6dYvXo1/fr1w2w24+7uTmhoKCNHjmTdunUcPHiQvn37Ymenfx4iItnq6lFY0APMiVDhGWg5meuxifT6dhtv/LCfedvO2aw0fQJIGqGhody8eZOQkBD8/PwAqFatGhs3buT48eM0atSImjVrMnbsWOt6gC+//JLOnTvz6quvUqFCBQYMGGAdBqBYsWJMmDCB0aNH4+3tbQ1WkydPplOnTvTq1YtatWpx8uRJVq9enam7CY8ePcqVK1eYNWsWvr6+1kedOnUA8PPzY8uWLZjNZlq0aEHVqlUZNmwYBQsWtIagjz76iEaNGtG2bVuaN29Ow4YNCQwMzJLXU0RE0hF9GeZ2hvgoKF4XOv2X24kW+ny3nTM34iheyJVmFdMfeudRyBF3sT2ONFmt5EX63RaRLBEfDTNaw5UD4FUW+v9GvFNB+s3YQdjpGxR2d2Lxy/UpVfifrz/NrMdisloRERHJY8xJsKh3SjjKVwR6/oDZ1ZNhC/YSdvoG7s4OzOxXN1vCUWYoIImIiMijYRiwbDCcXg+O+eC5RRiFAnh76QFWHYrAyd6Or3sHUqWYh60rVUASERGRR2T9+7BvPpjsoctMKFaLKb8dZ/7289iZ4LMeNahfprCtqwQUkERERORR2DkD/vgo5ednPoEnWvDd5nC+WJ8yFt37HarSsoqvDQtMTQFJREREstexVfDr8JSfm4yCwD4s3XORd5cfBmBkSHl61C1hwwLTUkASERGR7HNxF/zQDwwL1Hgemo5h/bGrjFi8D4B+DQJ4tWkZGxeZlgKSiIiIZI/I0zC3KyTFQZlm0HYqu87d4pU5u0i2GLSv4cc7bSphMplsXWkaCkgiIiKS9WKvw5xOEHcdfKpB11kcvx5P/5k7iE+y0LR8ET7qUh07u5wXjkABSURERLJaYhzM65ZyBsmjBPRczIU4e3p/u52oO0nULFGQ//SshaN9zo0hObcykX8wfvx4atSoka3HaNq0aaYnzrWlDRs2YDKZuHXrFgAzZ86kYMGCmdqHyWRi6dKlWV6biOQRFjMsCYWLO8GlIDy/hBumQvT+djsR0fGUK+rOjL51cvwk7gpIAkDbtm1p2bJluus2bdqEyWRi//79D3WMez+8H9aIESNYu3ZtluxLRESygGHAipFwbAXYO0OPBcQUKE2/mTs4fT2WYgVd+T60LgXdnGxd6T9SQBIgZYLaNWvWcOHChTTrZsyYQe3atalWrZoNKkvLMAySk5Nxd3fHy8vL1uU8EomJibYuQUTkn22ZCju/BUzQ6RsSitXl5dm72H8hCs98TnwfWhdfD1dbV5khCkgCwDPPPEORIkWYOXNmquUxMTEsXryY0NBQADZv3kyjRo1wdXXF39+fIUOGEBsba22fkJDAqFGj8Pf3x9nZmbJly/Ltt99y5swZnnzySQAKFSqEyWSib9++1m2GDBlC0aJFcXFxoWHDhuzYscO6z7tnnlauXElgYCDOzs5s3rw5zVdsJpMpzSMgIMC6/uDBg7Rq1Qp3d3e8vb3p1asX169ft66PjY2ld+/euLu74+vry5QpUzL9Op45cwaTycSCBQuoX78+Li4uVKlShY0bN1rbmM1mQkNDKVWqFK6urpQvX55PP/001X769u1L+/btef/99/Hz86N8+fIAzJ49m9q1a5M/f358fHx47rnnuHr1aqZq/Pnnn6lVqxYuLi6ULl2aCRMmkJycnOm+ioiksn8R/D4+5eeWkzFXaMfwhfvYfPI6bk72zOhbhzJF3G1aYmYoID0KhgGJsbZ5GEaGSnRwcKB3797MnDkT4y/bLF68GLPZTI8ePTh16hQtW7akU6dO7N+/n4ULF7J582YGDRpkbd+7d2/mz5/PZ599xpEjR5g+fTru7u74+/uzZMkSAI4dO8bly5etoeCNN95gyZIlzJo1i927d1O2bFlCQkKIjIxMVePo0aOZPHkyR44cSfds1uXLl62PkydPUrZsWRo3bgzArVu3eOqpp6hZsyY7d+5k1apVXLlyha5du1q3HzlyJBs3buTnn3/mt99+Y8OGDezevTuDb3JqI0eO5PXXX2fPnj0EBwfTtm1bbty4AYDFYqF48eIsXryYw4cPM3bsWN58800WLVqUah9r167l2LFjrFmzhuXLlwOQlJTExIkT2bdvH0uXLuXMmTPWoJkRmzZtonfv3gwdOpTDhw8zffp0Zs6cyfvvv/9A/RQRAeD0Blj6asrPwYMwgl5i/LJD/HrgMo72Jr7uVZvq/gVtWWHmGfJAoqKiDMCIiopKs+7OnTvG4cOHjTt37qQsSIgxjHEFbPNIiMlwn44cOWIAxvr1663LGjVqZDz//POGYRhGaGio8eKLL6baZtOmTYadnZ1x584d49ixYwZgrFmzJt39r1+/3gCMmzdvWpfFxMQYjo6Oxty5c63LEhMTDT8/P+PDDz9Mtd3SpUtT7W/cuHFG9erV0xzHYrEYHTp0MAIDA424uDjDMAxj4sSJRosWLVK1O3/+vAEYx44dM27fvm04OTkZixYtsq6/ceOG4erqagwdOjT9Fywd4eHhBmBMnjzZuiwpKckoXry48cEHH9x3u4EDBxqdOnWyPu/Tp4/h7e1tJCQk/O3xduzYYQDG7du3DcNI+xrPmDHD8PDwsLZv1qyZ8a9//SvVPmbPnm34+vpanwPGTz/9lO7x0vxui4hcPmAY/yqe8pmzqI9hmM3GJ2uOGSVHLTcCRi83ftl30dYVpvJ3n99/lbMvIZdHqkKFCtSvX5/vvvuOpk2bcvLkSTZt2sS7774LwL59+9i/fz9z5861bmMYBhaLhfDwcA4cOIC9vT1NmjTJ8DFPnTpFUlISDRo0sC5zdHSkbt26HDlyJFXb2rVrZ2ifb775JmFhYezcuRNXV1dr7evXr8fdPe3p3VOnTnHnzh0SExMJCgqyLvf09LR+tZVZwcHB1p8dHByoXbt2qv5MmzaN7777jnPnzlmPfe8deVWrVsXJKfWFjLt27WL8+PHs27ePmzdvYrFYADh37hyVKlX6x7r27dvHli1bUp0xMpvNxMfHExcXh5ub24N0V0TyqqgLMLcLJERDyQbQ/itmbzvH1N9PAPDus1V4ppqfjYt8MApIj4KjG7x5yXbHzoTQ0FAGDx7MtGnTmDFjBmXKlLEGnpiYGF566SWGDBmSZrsSJUpw8uTJLCn5fvLly/ePbebMmcMnn3zChg0bKFasmHV5TEwMbdu25YMPPkizja+vb7bX/lcLFixgxIgRTJkyheDgYPLnz89HH33Etm3bUrW7t7+xsbGEhIQQEhLC3LlzKVKkCOfOnSMkJCTDF3HHxMQwYcIEOnbsmGadi4vLg3dKRPKeO7dgTme4fQmKVIDuc/nlcCRjlx0CYFjzcvSqV9K2NT4EBaRHwWQCp3/+cM8JunbtytChQ5k3bx7ff/89r7zyinUI+Fq1anH48GHKli2b7rZVq1bFYrGwceNGmjdvnmb93bMhZrPZuqxMmTI4OTmxZcsWSpZM+YeUlJTEjh07Mj3+UFhYGC+88ALTp0+nXr16qdbVqlWLJUuWEBAQgIND2l/7MmXK4OjoyLZt2yhRImXCxJs3b3L8+PFMnRG7688//7Re/5ScnMyuXbus12pt2bKF+vXr8+qrr1rbnzp16h/3efToUW7cuMHkyZPx9/cHYOfOnZmqq1atWhw7duy+76GISIYkJ8DC5+HaEXD3gZ4/sOlCMsMX7cUwoHdwSYY2K2frKh+KLtKWVNzd3enWrRtjxozh8uXLqS4AHjVqFFu3bmXQoEHs3buXEydO8PPPP1s/+AMCAujTpw/9+/dn6dKlhIeHs2HDBuvFxyVLlsRkMrF8+XKuXbtGTEwM+fLl45VXXmHkyJGsWrWKw4cPM2DAAOLi4qx3zmVEREQEHTp0oHv37oSEhBAREUFERATXrl0DYODAgURGRtKjRw927NjBqVOnWL16Nf369cNsNuPu7k5oaCgjR45k3bp1HDx4kL59+2Jn92D/RKZNm8ZPP/3E0aNHGThwIDdv3qR///4AlCtXjp07d7J69WqOHz/OO++8k+quvfspUaIETk5OfP7555w+fZply5YxceLETNU1duxYvv/+eyZMmMChQ4c4cuQICxYs4O23336gfopIHmSxwNJX4MwmcMoPz//A3tv5eWn2LpLMBs9U82V828o5cn61zFBAkjRCQ0O5efMmISEh+Pn9/3fH1apVY+PGjRw/fpxGjRpRs2ZNxo4dm6rNl19+SefOnXn11VepUKECAwYMsA4DUKxYMSZMmMDo0aPx9va2BqvJkyfTqVMnevXqRa1atTh58iSrV6+mUKFCGa756NGjXLlyhVmzZuHr62t91KlTBwA/Pz+2bNmC2WymRYsWVK1alWHDhlGwYEFrCProo49o1KgRbdu2pXnz5jRs2JDAwMBUxxk/fnyqoQPuZ/LkyUyePJnq1auzefNmli1bRuHChQF46aWX6NixI926dSMoKIgbN26kOpt0P3eHYVi8eDGVKlVi8uTJ/Pvf/87wawQQEhLC8uXL+e2336hTpw716tXjk08+sZ69ExH5R7+Pg4NLwM4Bus3mpF0p+s3YTlyimUblCvNx1xo5dn61zDAZRgbvA5dUoqOj8fDwICoqigIFCqRaFx8fT3h4OKVKldJ1HblMnz59MJlMacaLuuvMmTOUKlWKPXv2ZPs0KLag322RPG7bdFj5RsrPHaZzOeBZOv1nK5ei4qle3IN5A+qRzzlnX73zd5/ff5WzeyGSgxiGwYYNG9i8ebOtSxERefSO/AIrR6X8/NQ73CzbkV7Tw7gUFU/pIvmY0a9ujg9HmZF7eiKSzUwmE2fPnrV1GSIij965bbDkBcCA2v2JCxpK/2+3c/JqDD4FXJgdGoRnvpw/v1pmKCCJZKGAgAD0rbWI5CrXT8D8bpAcD0+0IrHFB7w8Zw97zt2ioJsjs0PrUqzg4zG/WmboIm0RERFJ3+0rMKcj3LkJxQKxdPwvI388xB/Hr+HqaM93fetQzju/ravMFgpI2UhnEiS30e+0SB6SEAPzusKtc1CoFEaPBbz721l+3nsJBzsTXz5fi1olMn638eNGASkbODo6AhAXF2fjSkSy1t0Ru+3t7W1ciYhkK3MSLO4Dl/eCmxc8v4Rp26OYufUMAFO6Vqdp+aI2LTG76RqkbGBvb0/BggW5evUqAG5ubo/9gFkiFouFa9eu4ebmlu5o5CKSSxgGLH8NTv4ODq7w3CLmnXTk378dAGBc20o8W6PYP+zk8af/y2UTHx8fAGtIEskN7OzsKFGihAK/SG628QPYMxtMdtBlBitvFuPtpbsBGPxUWfo1KGXjAh8NBaRsYjKZ8PX1pWjRoiQlJdm6HJEs4eTk9MDTr4jIY2D3bNgwKeXnNlPYal+HoQt2YDGgR90SDH/6CdvW9wgpIGUze3t7Xa8hIiI534nf4ZehKT83ep0DPp0Y8HUYiWYLrar48F77Knnq7LH+FBQREcnrLu2FRb3BMEO17oRXG07fGduJTTRTv4wXU7vXwD4XzK+WGQpIIiIiednNMzC3CyTFQummXHnyI3p9t50bsYlUKVaA6b0CcXbIe9+EKCCJiIjkVXGRMKczxF4F7ypEtZ1B75l7uXDzDgFebszsV5f8Lo62rtImFJBERETyoqQ7ML873DgBBYpzp+sCQhcc5diV2xTN78zs0CAKuzvbukqbUUASERHJayxm+HEAnN8GLh4k9VjEwF8i2Hn2JgVcHPg+tC7+nm62rtKmFJBERETyEsOAVWPgyC9g74Sl61xG/ZHEuqNXcXaw47u+dajgU8DWVdqcApKIiEheEvYFbJ8OgNH+K/512Isf91zE/n/zq9UO8LRxgTmDApKIiEheceAH+O3tlJ9bvMf0yBr8d3M4AB92qsZTFbxtWFzOooAkIiKSF4RvgqWvpPwc9AqLHJ5l8sqjALzdpiKdAovbsLicRwFJREQkt7t6BBb0BHMiVGzHav/BjP4pZfLZl5uU4YVGpW1cYM6jgCQiIpKbRV9KGesoIQr867G95mQGL9iPxYCutYszqmV5W1eYIykgiYiI5FbxUSmjZEdfgMJPcPTJrwmde5DEZAtPV/LmXx2q5qn51TJDAUlERCQ3Sk6Ehb3gykFw9+ZCm9k8P+8EtxOSqVvKk8971MTBXjHgfvTKiIiI5DaGAcsGQfhGcMxHZPs5PLf4MtdjEqjoW4D/9qmNi2Pem18tMxSQREREcpu178L+hWCyJ7bDd/T8NYFzkXGU8HRjVv86FMij86tlhgKSiIhIbrLjv7D5YwCS2kyl3yYPjlyOprC7M7ND61I0v4uNC3w8KCCJiIjkFkdXwIqRAJibjOHVw5XYHh5JfmcHZvWvQ0mvfDYu8PGhgCQiIpIbXNgJP/QHw4JRszdjrrdkzeErODnY8U2f2lT287B1hY8VBSQREZHH3Y1TMK8rJN+Bci340PElFu26iJ0JvuhRk3qlvWxd4WNHAUlERORxFnMN5nSCuBvgW4MZvuP48o+zAEzuWI0WlX1sXODjSQFJRETkcZUYm3Lm6GY4FCzJ8qqfMuG3lHA0qmUFutbxt3GBjy8FJBERkceROTnlmqNLu8HVk631v2bo8ksADGhUipebaH61h6GAJCIi8rgxDFjxOhxfBQ4uHHnya/otu4nZYtCxVjHGtKqoKUQekgKSiIjI42bTFNg1EzBxodlndFthISHZwlMVivJBp2rY2SkcPSwFJBERkcfJ3vmwbiIAN5u8R8d1XkTHJ1O7ZCGmPVcLR82vliVyxKs4bdo0AgICcHFxISgoiO3bt/9t+8WLF1OhQgVcXFyoWrUqK1assK5LSkpi1KhRVK1alXz58uHn50fv3r25dOlSqn1ERkbSs2dPChQoQMGCBQkNDSUmJiZb+iciIpIlTq1LmWMNiKsziA47K3P1dgLlvfPzbZ86uDppfrWsYvOAtHDhQoYPH864cePYvXs31atXJyQkhKtXr6bbfuvWrfTo0YPQ0FD27NlD+/btad++PQcPHgQgLi6O3bt3884777B7925+/PFHjh07Rrt27VLtp2fPnhw6dIg1a9awfPly/vjjD1588cVs76+IiMgDubwfFvYGSzJJlTrS7VQLztyIo1hBV74PrYuHm+ZXy0omwzAMWxYQFBREnTp1+OKLLwCwWCz4+/szePBgRo8enaZ9t27diI2NZfny5dZl9erVo0aNGnz11VfpHmPHjh3UrVuXs2fPUqJECY4cOUKlSpXYsWMHtWvXBmDVqlW0bt2aCxcu4Ofn9491R0dH4+HhQVRUFAUKFHiQrouIiGTMrfPw3+YQE4G5ZCP6Jr7BpvDbeOVz4odX6lOqsKYQyaiMfn7b9AxSYmIiu3btonnz5tZldnZ2NG/enLCwsHS3CQsLS9UeICQk5L7tAaKiojCZTBQsWNC6j4IFC1rDEUDz5s2xs7Nj27Zt6e4jISGB6OjoVA8REZFsd+dmykCQMREYRSsxwjSSTeG3cXd2YFb/ugpH2cSmAen69euYzWa8vb1TLff29iYiIiLdbSIiIjLVPj4+nlGjRtGjRw9rUoyIiKBo0aKp2jk4OODp6Xnf/UyaNAkPDw/rw99fg2+JiEg2S4qHBT3h+jGM/H584DmRn47G4GRvx9e9AqlSTPOrZRebX4OUnZKSkujatSuGYfDll18+1L7GjBlDVFSU9XH+/PksqlJERCQdFgssfRnObgHnAnxf+t98tTcBOxN82r0G9csWtnWFuZqDLQ9euHBh7O3tuXLlSqrlV65cwccn/bljfHx8MtT+bjg6e/Ys69atS/U9o4+PT5qLwJOTk4mMjLzvcZ2dnXF2ds5w30RERB7Kmnfg0E9g58iqKv9m3JaUxe+1r0qrqr62rS0PsOkZJCcnJwIDA1m7dq11mcViYe3atQQHB6e7TXBwcKr2AGvWrEnV/m44OnHiBL///jteXl5p9nHr1i127dplXbZu3TosFgtBQUFZ0TUREZEHF/YfCEu5eWlnzfd5eYs7ACNaPMFzQSVsWVmeYdMzSADDhw+nT58+1K5dm7p16zJ16lRiY2Pp168fAL1796ZYsWJMmjQJgKFDh9KkSROmTJlCmzZtWLBgATt37uTrr78GUsJR586d2b17N8uXL8dsNluvK/L09MTJyYmKFSvSsmVLBgwYwFdffUVSUhKDBg2ie/fuGbqDTUREJNscWgqr3wTgVPURdA/zBwz61g9g4JNlbVpaXmLzgNStWzeuXbvG2LFjiYiIoEaNGqxatcp6Ifa5c+ews/v/E13169dn3rx5vP3227z55puUK1eOpUuXUqVKFQAuXrzIsmXLAKhRo0aqY61fv56mTZsCMHfuXAYNGkSzZs2ws7OjU6dOfPbZZ9nfYRERkfs5uxV+fBEwuFahF8/srk2yxcKzNfwY+0wlza/2CNl8HKTHlcZBEhGRLHXtGHzbAuJvERMQQuOz/Yi8Y6HJE0X4pndtnBxy9X1Vj8xjMQ6SiIiIALcjYE5niL9Fok8gbS72JfKOhRr+Bfny+VoKRzagV1xERMSWEm7D3C4QdQ5zodJ0vT2Ms7cNyhZ1Z0bfOrg52fxqmDxJAUlERMRWzEmwqA9E7MdwK8IrvMneG/b4ebgwO7QuhfI52brCPEsBSURExBYMA34ZCqfWYji6Mc59LL9ddqOQmyPfhwbh6+Fq6wrzNAUkERERW9gwCfbOxTDZ81WRt/n+nBduTvbM6FeXskXdbV1dnqeAJCIi8qjtmgkbPwBgWfERfHA6AEd7E9N7BVLDv6BNS5MUCkgiIiKP0vHVsHw4AH/6hzL0RHVMJvikWw0alSti4+LkLgUkERGRR+XibljcFwwzp/za0f3EUwC8264yz1TTTA45iQKSiIjIoxAZDvO6QlIcV4s2oGV4Z8DE0Gbl6BUcYOvq5B4KSCIiItkt9gbM6QSx14gpVJEWF0NJMhzoVa8kw5qXs3V1kg4FJBERkeyUGAfzu0HkKRLzFaP1jaHcMrvQppov49tV1vxqOZQCkoiISHaxmOHHAXBhB2bngnSPG8G5xAI0LFuYj7tWx95O4SinUkASERHJDoYBK0fB0eUY9s4MMkay+4431Yt78FWvQJwd7G1dofwNBSQREZHssOVT2PENBiYmOg1jZXQpShfJx3d96+DurPnVcjoFJBERkay2fzH8Pg6A79wH8N3N6vgUcOH7/nXxcne2cXGSEQpIIiIiWen0Rlj6CgAr83di4vWmeLg68n1oXYoXcrNxcZJRCkgiIiJZ5cohWPg8WJLYnf9JXr3WAVdHe77rW4cnvPPbujrJBAUkERGRrBB1EeZ0hoRozrpXp8e1Ptjb2fOf52sRWLKQrauTTNJVYiIiIg8rPgrmdobbl4h0K0W76wNJwImpXarzZPmitq5OHoDOIImIiDyM5ARY0BOuHibOuQhtI4cRhTvj2laifc1itq5OHpACkoiIyIOyWGDpq3BmE8kObnS5/RoXKcKgJ8vSr0EpW1cnD0EBSURE5EGtnQAHf8BicuCF+GEcsgTQo64/r7d4wtaVyUNSQBIREXkQ27+BLVMBeNvyEhuSq9Cysg/vta+q+dVyAQUkERGRzDryC6wYCcA0Uw/mJTQguLQXU7vX0PxquYQCkoiISGac3w5LXgAMfrZvwUd3nqGyXwG+7h2Ii6PmV8stFJBEREQy6vpJmNcNkuP506EOw2N7EeCVj5n96pLfxdHW1UkWUkASERHJiJirMKcj3InkhMMT9It5Ba/8bswODaJIfs2vltsoIImIiPyThBiY2wVuneWqgy/dY17D0cWd70Pr4u+p+dVyI42kLSIi8nfMyfBDP7i8lxh7D7rGjiDGoRBz+tahgk8BW1cn2UQBSURE5H4MA359DU78RpKdM8/Hvc55kx9f96xFnQBPW1cn2UgBSURE5H7++Ah2f48FO16JH8ReoyxTOlejWUVvW1cm2UzXIImIiKRnz1xY/z4AY5P68LslkLdaV6RTYHEbFyaPggKSiIjIvU7+Dr8MAeA/ye2YY36al5qUZkDj0jYuTB4VBSQREZG/urQXFvUBSzI/WxryYXI3utYuzuiWFWxdmTxCCkgiIiJ33TwL87pCYgx/GlUZkfgizSv68K8Oml8tr1FAEhERAYiLhLmdIeYKxynJgISh1AwoyhfP1cTBXh+XeY3ecRERkaR4mN8Drh/nqsmLXvEjKe7rwzd9amt+tTxKAUlERPI2iwV+HADn/yTGlI/n49/A2bM4s/rXwcNV86vlVZkOSKtWrWLz5s3W59OmTaNGjRo899xz3Lx5M0uLExERyXa/vQVHlpGEIy8kvEZkvrLMDq1L0fwutq5MbCjTAWnkyJFER0cDcODAAV5//XVat25NeHg4w4cPz/ICRUREss3WL+DP/wAwPPElDjlWY1b/OpT0ymfjwsTWMj2Sdnh4OJUqVQJgyZIlPPPMM/zrX/9i9+7dtG7dOssLFBERyRYHl6ScPQLeT3qO1XYN+b5PbSr7edi4MMkJMn0GycnJibi4OAB+//13WrRoAYCnp6f1zJKIiEiOdmYL/PQyADOSQ/jW0obPe9SkXmkvGxcmOUWmzyA1bNiQ4cOH06BBA7Zv387ChQsBOH78OMWLa/h1ERHJ4a4egQU9wJzISnMdJib3YlKnaoRU9rF1ZZKDZPoM0hdffIGDgwM//PADX375JcWKFQNg5cqVtGzZMssLFBERyTLRl2FOZ4iPYqflCYYlDWREy4p0q1PC1pVJDmMyDMOwdRGPo+joaDw8PIiKiqJAgQK2LkdERP5JfDTMaA1XDnDK8KNTwjg6N6zGW20qapTsPCSjn98Z+ootM9cWKSyIiEiOk5wIi3rBlQNcMzzok/gGT9WswJutFY4kfRkKSAULFszwL5DZbH6ogkRERLKUYcAvQ+D0BuJwpl/iSJ4oX4UPOlfDzk7hSNKXoYC0fv16689nzpxh9OjR9O3bl+DgYADCwsKYNWsWkyZNyp4qRUREHtS692DffJKx49XEoTiXCGTac7Vw1Pxq8jcyfQ1Ss2bNeOGFF+jRo0eq5fPmzePrr79mw4YNWVlfjqVrkEREHgM7v4PlrwEwMulF9hduy6KXgvFw0xQieVVGP78zHZ/DwsKoXbt2muW1a9dm+/btmd2diIhI9ji2EuPX1wH4JKkTW/O3Ylb/ugpHkiGZDkj+/v588803aZb/97//xd/fP0uKEhEReSgXdmEs7ofJsLAwuSlznLszO7QuPh6aX00yJtMDRX7yySd06tSJlStXEhQUBMD27ds5ceIES5YsyfICRUREMuXGKYx5XTEl32GDuTr/shvAnP5BlC7ibuvK5DGS6TNIrVu35sSJE7Rt25bIyEgiIyNp27Ytx48f11xsIiJiW7HXMeZ2xhR3nQOWAIZZXuPL3vWoWlzzq0nmaKDIB6SLtEVEcpjEOJj1DFzcxXlLETomTWDCc0/RuqqvrSuTHCRLB4q8161bt9i+fTtXr17FYrGkWte7d+8H2aWIiMiDMyfDD/3h4i5uGu70SRrFsPYNFY7kgWU6IP3yyy/07NmTmJgYChQokGoASZPJpIAkIiKPlmHAyjfg+EriDUdCE0fQoXlTegaVtHVl8hjL9DVIr7/+Ov379ycmJoZbt25x8+ZN6yMyMjI7ahQREbm/zR/Dzm+xGCaGJg2kWnALBj1V1tZVyWMu0wHp4sWLDBkyBDc3t+yoR0REJOP2LYC17wIwIbk3zlXbM/aZSppfTR5apgNSSEgIO3fuzI5aREREMu7UeoyfBwIwPbkN4WWe599dqmt+NckSmb4GqU2bNowcOZLDhw9TtWpVHB1Tj0jarl27LCtOREQkXREHsCx8HjtLMsvMwazyeYW5z9fCyUHzq0nWyPRv0oABAzh//jzvvvsuXbp0oX379tZHhw4dMl3AtGnTCAgIwMXFhaCgoH+crmTx4sVUqFABFxcXqlatyooVK1Kt//HHH2nRogVeXl6YTCb27t2bZh9NmzbFZDKlerz88suZrl1ERGzg1nksczpjlxjDn5aKfFlwBN/1C8LN6YFuzBZJV6YDksViue/DbDZnal8LFy5k+PDhjBs3jt27d1O9enVCQkK4evVquu23bt1Kjx49CA0NZc+ePdZgdvDgQWub2NhYGjZsyAcffPC3xx4wYACXL1+2Pj788MNM1S4iIjZw5yaWOZ2wi4ngmKU4Y13e5NvQBhTK52TryiSXselAkUFBQdSpU4cvvvgCSAlf/v7+DB48mNGjR6dp361bN2JjY1m+fLl1Wb169ahRowZfffVVqrZnzpyhVKlS7Nmzhxo1aqRa17RpU2rUqMHUqVMfuHYNFCki8oglJ2D5vgN257YQYRSir92/+OKVdpQtqilEJOMy+vn9QF/Wbty4kbZt21K2bFnKli1Lu3bt2LRpU6b2kZiYyK5du2jevPn/F2NnR/PmzQkLC0t3m7CwsFTtIeWi8fu1/ztz586lcOHCVKlShTFjxhAXF5fpfYiIyCNisWD89DJ257Zw23DlZWMMk/u3VjiSbJPpL2znzJlDv3796NixI0OGDAFgy5YtNGvWjJkzZ/Lcc89laD/Xr1/HbDbj7e2darm3tzdHjx5Nd5uIiIh020dERGSqD8899xwlS5bEz8+P/fv3M2rUKI4dO8aPP/54320SEhJISEiwPo+Ojs7UMUVE5MEZa8ZiOvQjiYY9A83Deb1PR2r4F7R1WZKLZTogvf/++3z44Ye89tpr1mVDhgzh448/ZuLEiRkOSLb04osvWn+uWrUqvr6+NGvWjFOnTlGmTJl0t5k0aRITJkx4VCWKiMhdf36FKexzAN5IfokuXZ+nUbkiNi5KcrtMf8V2+vRp2rZtm2Z5u3btCA8Pz/B+ChcujL29PVeuXEm1/MqVK/j4+KS7jY+PT6baZ1RQUBAAJ0+evG+bMWPGEBUVZX2cP3/+oY4pIiIZcPhnjFUp16R+kNSdmm1eom11PxsXJXlBpgOSv78/a9euTbP8999/x9/fP8P7cXJyIjAwMNW+LBYLa9euJTg4ON1tgoOD0xx7zZo1922fUXeHAvD1vf+khs7OzhQoUCDVQ0REstG5PzH/8AImDGYnN8exyXD61A+wdVWSR2T6K7bXX3+dIUOGsHfvXurXrw+kXIM0c+ZMPv3000zta/jw4fTp04fatWtTt25dpk6dSmxsLP369QOgd+/eFCtWjEmTJgEwdOhQmjRpwpQpU2jTpg0LFixg586dfP3119Z9RkZGcu7cOS5dugTAsWPHgJSzTz4+Ppw6dYp58+bRunVrvLy82L9/P6+99hqNGzemWrVqmX05REQkO1w7TtKcbjhaElljDuR44Du8+/QTtq5K8hLjAfz4449GgwYNDE9PT8PT09No0KCBsXTp0gfZlfH5558bJUqUMJycnIy6desaf/75p3VdkyZNjD59+qRqv2jRIuOJJ54wnJycjMqVKxu//vprqvUzZswwgDSPcePGGYZhGOfOnTMaN25seHp6Gs7OzkbZsmWNkSNHGlFRUZmqOyoqygAyvZ2IiPyD6Agj/qNKhjGugLH7nVrG0O+3GMlmi62rklwio5/fNh0H6XGmcZBERLJBwm0S/tsK52sHCLd482Gxz5ka2hxnB3tbVya5RLaNg7Rjxw62bduWZvm2bds0ia2IiDw4cxLx83vhfO0A140CTPJ6n4/6NlM4EpvIdEAaOHBgundwXbx4kYEDB2ZJUSIikscYBglLh+ByZj1xhjPvuI1lUmg73J01v5rYRqYD0uHDh6lVq1aa5TVr1uTw4cNZUpSIiOQtSWv/hfOBeZgNE287DuetF3vi5e5s67IkD8t0QHJ2dk4zFhHA5cuXcXBQ0hcRkcxJ3jkLx80pE4a/bxrAywMGUryQm42rkrwu0wGpRYsW1kET77p16xZvvvkmTz/9dJYWJyIiuZvl2G+Ylg8D4D+WDrTp9yZPeOe3bVEiPMA4SP/+979p3LgxJUuWpGbNmkDKQIve3t7Mnj07ywsUEZHcybi4m+SFvXHCwo/mRlTs+QGBJQvZuiwR4AECUrFixdi/fz9z585l3759uLq60q9fP3r06IGjo2N21CgiIrlNZDh3ZnbCzXKHP8xVsW//OU9W8P7n7UQekQe6aChfvnypJnwVERHJsLhIor9tT4GkSA5ZSnK22Zf0Cixl66pEUsn0NUgAs2fPpmHDhvj5+XH27FkAPvnkE37++ecsLU5ERHKZpDvc/G8HCsSe4YJRmI11ptGraVVbVyWSRqYD0pdffsnw4cNp1aoVN2/exGw2A1CoUCGmTp2a1fWJiEhuYTFz4/veFIrcS5ThxuLyH/PKMw1tXZVIujIdkD7//HO++eYb3nrrrVS39deuXZsDBw5kaXEiIpJLGAY3fhiO1/nfSDAc+KbY+wzp3g6TyWTrykTSlemAFB4ebr177a+cnZ2JjY3NkqJERCR3ubFmCl6HZwLwH883GNSvD/Z2CkeSc2U6IJUqVYq9e/emWb5q1SoqVqyYFTWJiEguErV9Hl5bJwLwjdsLvPDScFwcNb+a5GyZvott+PDhDBw4kPj4eAzDYPv27cyfP59Jkybx3//+NztqFBGRx1TM0XW4rRgMwGKHtrR/5V/kd9GQMJLzZTogvfDCC7i6uvL2228TFxfHc889h5+fH59++indu3fPjhpFROQxFH/hAKaFz+NIMmtMwdR75SuK5Nf8avJ4MBmGYTzoxnFxccTExFC0aNGsrOmxEB0djYeHB1FRURQoUMDW5YiI5ChJN89z+4sn8TRfYxcVyBf6CxX8895nheQ8Gf38fqBxkO5yc3PjyJEjrFy5kps3bz7MrkREJJcw7tzi2lft8DRf45ThB93nKxzJYyfDX7F98MEHxMTEMHFiyoV2hmHQqlUrfvvtNwCKFi3K2rVrqVy5cvZUKiIiOV9yIme/7ERAwmmuGgW5/MwcGlYobeuqRDItw2eQFi5cSJUqVazPf/jhB/744w82bdrE9evXqV27NhMmTMiWIkVE5DFgsXDim94ERO8kxnBhf5P/0rBOoK2rEnkgGQ5I4eHhVKtWzfp8xYoVdO7cmQYNGuDp6cnbb79NWFhYthQpIiI535G5Iyh3ZSVJhj0ba0yh+VNP27okkQeW4YCUnJyMs/P/330QFhZG/fr1rc/9/Py4fv161lYnIiKPhSPLPqbiqW8BWF16DG06PG/jikQeToYDUpkyZfjjjz8AOHfuHMePH6dx48bW9RcuXMDLyyvrKxQRkRzt+IYFPLHrXQBWFQ2lTe8RNq5I5OFl+CLtgQMHMmjQIDZt2sSff/5JcHAwlSpVsq5ft25dulOQiIhI7hW+ZwP+GwZjbzLYmL8NzV/8SPOrSa6Q4TNIAwYM4LPPPiMyMpLGjRuzZMmSVOsvXbpE//79s7xAERHJmQ6tm4fnzz1xJZFdznUJGjQDBwdNISK5w0MNFJmXaaBIEcmrEu/EcmDGYAKvpvyhfMShAn6DV+PhUdC2hYlkQEY/vzM91YiIiORd54/uxLy4P4HmswBsLtKD2v0/xsXVzcaViWQtBSQREflHhsXC7h+nUPnAB7iYkriOB2cbTaFhsy62Lk0kWyggiYjI34q+EUH4d/0JjN0CJtjrXAe/vjMI9PW3dWki2UYBSURE7uto2K94rR5EdSJJNBzYUXYo9Z57C3t7XYwtuZsCkoiIpJGcmMDu79+g9vlZ2JkMzpqKEd/+GxrUaGDr0kQeiUwHpNjYWCZPnszatWu5evUqFosl1frTp09nWXEiIvLoXT5zhNtz+1A36RiY4M+CbagS+iXu+T1sXZrII5PpgPTCCy+wceNGevXqha+vrwYEExHJRfYsn065nePw5Q7RRj6O1n2Pem00xp3kPZkOSCtXruTXX3+lQQOdZhURyS1io29y9NuXCIxaDcBhx8oUfH4mdUs+YePKRGwj0wGpUKFCeHp6ZkctIiJiAyf3/IHrsgEEGhGYDRPbSgygTu/3cXR0snVpIjaT4alG7po4cSJjx44lLi4uO+oREZFHxGI2s232O5Rc2p5iRgSXKczRlguoH/qRwpHkeZk+gzRlyhROnTqFt7c3AQEBODo6plq/e/fuLCtORESyx/VLZ4iY1ZeghD1ggl35mlA29L/4eha1dWkiOUKmA1L79u2zoQwREXlU9v0+nxKbR1KF28QZzhyo9hZ1OwzGZJfpLxVEci1NVvuANFmtiDxu4u/Esu+7IQRd+wGAU/alceg6g5Lla9i2MJFHSJPVioiI1ZkjOzEWhxJkOQPAn97dqdnvE5xdNMmsSHoyFJA8PT05fvw4hQsXplChQn879lFkZGSWFSciIg/HsFjY9sMUahxKmWT2Bh5cbPIx9Z7sbOvSRHK0DAWkTz75hPz58wMwderU7KxHRESyyK3rKZPM1otLmWR2v0vKJLPVfDTJrMg/0TVID0jXIIlITnZw83KK/j6YokSSaNiz+4lh1O3+FnaaZFbyOF2DJCKSByUlJrBj1ijqXZiJncngnF0xEp/9hnrVNfuBSGYoIImI5BIXTx/h9ry+1E8+CibYUegZKof+Bzd3TTIrklkKSCIiucD2ZdOpuGscxUx3iMaNU0HvU6eVJpkVeVAKSCIij7HoqEiOfvsydaNXgwmOOlaiUK9Z1CyhSWZFHsYDB6STJ09y6tQpGjdujKurK4Zh/O3t/yIikrWO7t5Ivl9eoq5xGbNhYmfJF6jdexL2Do7/vLGI/K1MB6QbN27QrVs31q1bh8lk4sSJE5QuXZrQ0FAKFSrElClTsqNOERH5H7PZzJ9zxlP39DQcTWaumApzq9V/CAoKsXVpIrlGpifeee2113BwcODcuXO4uf3/CKzdunVj1apVWVqciIikFnHxDAc/aE6D8M9wNJnZk78JrkP/pLzCkUiWyvQZpN9++43Vq1dTvHjxVMvLlSvH2bNns6wwERFJbdea+ZTaMpLq/5tk9kj1N6nVfogmmRXJBpkOSLGxsanOHN0VGRmJs7NzlhQlIiL/Ly4uhr3fDqX+jZRJZk/bl8a5+wwCy9WwbWEiuVim/+xo1KgR33//vfW5yWTCYrHw4Ycf8uSTT2ZpcSIied2JQzu5/O8G1nC0w6c7xUdupZjCkUi2yvQZpA8//JBmzZqxc+dOEhMTeeONNzh06BCRkZFs2bIlO2oUEclzDIuFLYumEHjkQ1xNiURSgIgnP6ZOky62Lk0kT8h0QKpSpQrHjx/niy++IH/+/MTExNCxY0cGDhyIr69vdtQoIpKnXL8awZmZoTSM2wwmOOham2J9Z1LJW5PMijwqmqz2AWmyWhHJDns3Lcdn7RB8uEGiYc/+CsMI7PYWJjtNMiuSFbJ1str4+Hj279/P1atXsVgsqda1a9fuQXYpIpKnJSQmsH3GKOpfmom9yeCCnR/JHf5L7aqaZFbEFjIdkFatWkXv3r25fv16mnUmkwmz2ZwlhYmI5BVnTh4hbn5fGplTJpnd49WGiv2/xCWfJpkVsZVM38U2ePBgunTpwuXLl7FYLKkeCkciIhlnGAZbl07Ha/aTVDIf5TZuHAz+mJqD5ykcidhYps8gXblyheHDh+Pt7Z0d9YiI5AlRt25y+NuXqH87ZZLZ406V8Ow1iyr+mmRWJCfI9Bmkzp07s2HDhmwoRUQkbziwYyNRnwYTfHs1ZsPErpIDKPvGHxRWOBLJMTJ9F1tcXBxdunShSJEiVK1aFUfH1LNGDxkyJEsLzKl0F5uIZFZycjKbZ79L/TNf4GQyc9Xkxe3WX1KmjuZRE3lUMvr5nekzSPPnz+e3335jyZIlfP7553zyySfWx9SpUzNd6LRp0wgICMDFxYWgoCC2b9/+t+0XL15MhQoVcHFxoWrVqqxYsSLV+h9//JEWLVrg5eWFyWRi7969afYRHx/PwIED8fLywt3dnU6dOnHlypVM1y4iklEXz5/hwIdP0/TspziZzBzI35h8Q7cpHInkUJkOSG+99RYTJkwgKiqKM2fOEB4ebn2cPn06U/tauHAhw4cPZ9y4cezevZvq1asTEhLC1atX022/detWevToQWhoKHv27KF9+/a0b9+egwcPWtvExsbSsGFDPvjgg/se97XXXuOXX35h8eLFbNy4kUuXLtGxY8dM1S4iklFhq+bh8t9G1EzczR2c2FdjAlWHLyNfwSK2Lk1E7iPTX7F5enqyY8cOypQp89AHDwoKok6dOnzxxRcAWCwW/P39GTx4MKNHj07Tvlu3bsTGxrJ8+XLrsnr16lGjRg2++uqrVG3PnDlDqVKl2LNnDzVq1LAuj4qKokiRIsybN4/OnTsDcPToUSpWrEhYWBj16tXLUO36ik1E/klMbCy7vx1C48iUedTOOJTCudsMfMvVtHFlInlXtn3F1qdPHxYuXPhQxQEkJiaya9cumjdv/v/F2NnRvHlzwsLC0t0mLCwsVXuAkJCQ+7ZPz65du0hKSkq1nwoVKlCiRIm/3U9CQgLR0dGpHiIi93P0wA4iptS3hqM9vt0oPnKrwpHIYyLTt/mbzWY+/PBDVq9eTbVq1dJcpP3xxx9naD/Xr1/HbDanGS7A29ubo0ePprtNREREuu0jIiIyXH9ERAROTk4ULFgwU/uZNGkSEyZMyPBxRCRvspgt/LFwCkHHUiaZvUkBrjb7hJqNOtu6NBHJhEwHpAMHDlCzZspfQH+99gdSRtLOrcaMGcPw4cOtz6Ojo/H318SRIvL/rl6NIPy7F2gavwlMcMQ1kGL9ZlG+qP5fIfK4yXRAWr9+fZYcuHDhwtjb26e5e+zKlSv4+Piku42Pj0+m2t9vH4mJidy6dSvVWaR/2o+zszPOzs4ZPo6I5C07Ni6n+PohBHGDJMOewxWHUq3r25pkVuQxlelrkLKKk5MTgYGBrF271rrMYrGwdu1agoOD090mODg4VXuANWvW3Ld9egIDA3F0dEy1n2PHjnHu3LlM7UdEBCA+IYH1Xw6j1rrn8eUGl+x8udL1F6p3H6dwJPIYy9AZpI4dOzJz5kwKFCjwj7fD//jjjxk++PDhw+nTpw+1a9embt26TJ06ldjYWPr16wdA7969KVasGJMmTQJg6NChNGnShClTptCmTRsWLFjAzp07+frrr637jIyM5Ny5c1y6dAlICT+QcubIx8cHDw8PQkNDGT58OJ6enhQoUIDBgwcTHByc4TvYREQATp44TPyC/jxpPgIm2OfVmgr9v8Q5X0FblyYiDylDAcnDw8N6fZGHR9ZNoNitWzeuXbvG2LFjiYiIoEaNGqxatcp6Ifa5c+ews/v/k1z169dn3rx5vP3227z55puUK1eOpUuXUqVKFWubZcuWWQMWQPfu3QEYN24c48ePB+CTTz7Bzs6OTp06kZCQQEhICP/5z3+yrF8ikrsZhsHGn76m1r7xFDDFEYMb5+u/T/UW/W1dmohkkQyPg/Tuu+8yYsQI3Nzcsrumx4LGQRLJmyJv3uTQty/TKGYVACedK+LZ63s8i2seNZHHQUY/vzMckOzt7bl8+TJFixbNsiIfZwpIInnPnm0b8Fz5CiW5hMUwcaB0KNV6TsLk4GTr0kQkgzL6+Z3hu9gyOeC2iEiukZiUzB+zJ9D47DScTGaumbyIa/sl1QM1j5pIbpWp2/xz8zhHIiLpOXvuDNdn96d50i4wweECjSjVfwZFNI+aSK6WqYD0xBNP/GNIioyMfKiCRERyAsMw2LRyAZW2jaKkKYp4HDlV620qtx0K+mNRJNfLVECaMGFClt7FJiKSE0XdjmHXd8N46uZiMMFZhwDcesykchnNoyaSV2QqIHXv3l0XaYtIrnZw/w4cf3qRp4zTAOz360blvp9i7+Rq48pE5FHKcEDS9UcikpslJ5vZsOBj6p/4CDdTArfIz43mn1CtYRdblyYiNqC72EQkz7sUEcGZmS/Q/H+TzB53C8Sv30zKFClh69JExEYyHJAsFkt21iEiYhNh63+l5MYh1Oc6SYY9xyoPoUrnsWBns6kqRSQHyNQ1SCIiuUVcfDxbvhvDU1dmYG8yuGzni6nzd1SpVN/WpYlIDqCAJCJ5zrFjh0lYGMrTlsNggkNFWvNEv69wdNNduiKSQgFJRPIMi8Vg3Y9fU+fABDxMscTiyqWG/6Jyc00yKyKpKSCJSJ5wNfIGh74dSPPYlWCCcOcKePaeTblimmRWRNJSQBKRXG9H2AYKr36VJ7mIxTBxuOwLVO7xL00yKyL3pYAkIrlWfGIyG75/lyfPT8PZlMx1kyfx7b6kSq2Wti5NRHI4BSQRyZVOh4dzY24oLZNTJpk96tGIgP4zKOyhSWZF5J8pIIlIrmIYBut+XUC1HaMobYoiHifOBr5JhWeGaZJZEckwBSQRyTVuRsew49thtIhKmWT2vGMAbs/NpHwpTTIrIpmjgCQiucKePTtwXfYiLf43yeyh4t2o2Gsqds5uNq5MRB5HCkgi8lhLSjbz+/yPaXzyI/KZEogy5efW059Qub4mmRWRB6eAJCKPrfOXLnNm1ou0SvgDTHAyXy2K9Z9FSS9NMisiD0cBSUQeSxvX/kLZP16jkekaSdhzqvJQKnR6G+zsbV2aiOQCCkgi8li5HRfPpu/G0OLaTBxMFiLsfbHr8i0VKjSwdWkikosoIInIY+Pg4UMk/zCA1pZDKWMbFW1FuX7TsXfVJLMikrUUkEQkxzNbDH774RuCD42noCmWOFy40vhfVHgq1NaliUgupYAkIjna5es3OPzdQFrFpUwye8alIl69v6eUnyaZFZHso4AkIjnW1i0b8F7zKs3+N8nssbL9qdBjsiaZFZFsp4AkIjnOnYRkfp/1Li0upkwye8POk8S2X1KxpiaZFZFHQwFJRHKU46fDiZz3Am2Td4IJThRsSMn+M3EqoElmReTRUUASkRzBMAx++2U+NXeN4QnTLRJw5ELttyjXZpgmmRWRR04BSURs7nrUbbZ/O5zW0YvABBcdA8j33EzKaJJZEbERBSQRsantO3fgvvwlWnMKgGP+XXmi16eYnDTJrIjYjgKSiNhEYpKZ1fM+5qnTKZPMRpvyE93iY8oHd7V1aSIiCkgi8uiFX7jEue9fom1iyiSz4e418e33PcU1yayI5BAKSCLyyBiGwdo1v1JhyzCamK6RjB3hVYZSruM7mmRWRHIUBSQReSSiYuLZOONNWl+fgYPJwlV7H+y7fEu5Cg1tXZqISBoKSCKS7fYeOoTlhwG0M1ImmT3h3Yoyfb7Czq2grUsTEUmXApKIZJtks4UVi7+h8ZEJ1klmrzf+F+We7K+xjUQkR1NAEpFscfHqdQ7OGEy7OyvABOdcKuDVZzYlfDXJrIjkfApIIpLlNvyxnuLrBhHCBQBOlAulXLfJoElmReQxoYAkIlkmNj6J32ZOpPXl/+BsSuKmXSGS2n1FuRqaZFZEHi8KSCKSJQ6dOEXUgpfoYN4BJjhVqCEl+83AoUBRW5cmIpJpCkgi8lAsFoMVP8+nzt4xVP7fJLOX675FmVbDdCG2iDy2FJBE5IFdvRnNtm9fp83txdiZDC47lsS95/cEBNSwdWkiIg9FAUlEHsiWbdspuPJl2nIKTHDSvwtlen2KySmfrUsTEXloCkgikinxSWZ+nfMJIWc+wt0Uz22TOzEtPqGsJpkVkVxEAUlEMuzk+Uuc/f4VOiVtABOcda+JT//v8fXUJLMikrsoIInIPzIMg1Wrf6FK2Os0M10lGTvOVx1CqQ5jNcmsiORKCkgi8rcib99hw3dv0i5yJg4mC9fsfXDo+i2lymuSWRHJvRSQROS+du4/CD+9REfjYMrYRt4tKdVnuiaZFZFcTwFJRNJIMltYtuAbnjr+LoVMMdzBhRtN36dMk1CNbSQieYICkoikcjbiOodmDqZTfMoksxdcy+PV+3uK+1awdWkiIo+MApKIACkXYv++YQMBGwbR2pQyyezpJ0Ip3VWTzIpI3qOAJCJE30lk9cz3aBfx/5PMWp79itLVNcmsiORNCkgiedzeY6e4vfAlulhSJpk949kA/34zsc+vSWZFJO9SQBLJo8wWg2U/zSd4/5vUMN0kEQeuBL1FQMvXdCG2iOR5CkgiedClG9Fs++51no1JmWQ2wqkE7j2/x79kTVuXJiKSIyggieQxG8O24bn6VTpwEkwQXrILpXp+Bk5uti5NRCTHUEASySPiEpP5ZfYntD43hfymO8SY3LnT8hNKBWmSWRGReykgieRysQnJbPxzO46bPqBb8gYwwbn8NfHt9z3ummRWRCRddrYuAGDatGkEBATg4uJCUFAQ27dv/9v2ixcvpkKFCri4uFC1alVWrFiRar1hGIwdOxZfX19cXV1p3rw5J06cSNUmICAAk8mU6jF58uQs75uILRiGwa6TF1nwzYcc+lcjWq9vxdPJG0jGjnPVhlHitbU4KhyJiNyXzQPSwoULGT58OOPGjWP37t1Ur16dkJAQrl69mm77rVu30qNHD0JDQ9mzZw/t27enffv2HDx40Nrmww8/5LPPPuOrr75i27Zt5MuXj5CQEOLj41Pt69133+Xy5cvWx+DBg7O1ryLZ7fKtOH74+Sd+fb8rT8wOpPvF96lrOowFE+cK1eNOz+WU6DgB7OxtXaqISI5mMgzDsGUBQUFB1KlThy+++AIAi8WCv78/gwcPZvTo0Wnad+vWjdjYWJYvX25dVq9ePWrUqMFXX32FYRj4+fnx+uuvM2LECACioqLw9vZm5syZdO/eHUg5gzRs2DCGDRv2QHVHR0fj4eFBVFQUBQoUeKB9iGSFhGQzf+w+yI2tswmMXEE5u4vWdTcc/bhTpQfFmvTDVNDfhlWKiOQMGf38tukZpMTERHbt2kXz5s2ty+zs7GjevDlhYWHpbhMWFpaqPUBISIi1fXh4OBEREanaeHh4EBQUlGafkydPxsvLi5o1a/LRRx+RnJx831oTEhKIjo5O9RCxFcMwOHj+OvNmfcnW91rw5K9N6X7rG8rZXSTe5MyZ4s9yp+cyvMYcovizYxWOREQyyaYXaV+/fh2z2Yy3t3eq5d7e3hw9ejTdbSIiItJtHxERYV1/d9n92gAMGTKEWrVq4enpydatWxkzZgyXL1/m448/Tve4kyZNYsKECZnroEgWuxGTwIbNf2DsmUOT+HU8Z/pfUDfBRfeqONfpTeGg7gS46KymiMjDyLN3sQ0fPtz6c7Vq1XBycuKll15i0qRJODs7p2k/ZsyYVNtER0fj76+/yiX7JZstbD54moub5lDl6jI62Z1KWWGCKHtPop/ojN+TL1CsaHnbFioikovYNCAVLlwYe3t7rly5kmr5lStX8PHxSXcbHx+fv21/979XrlzB19c3VZsaNWrct5agoCCSk5M5c+YM5cun/aBxdnZONziJZJeTV6LYvn4ZhY4t4klLGC6mJLCDZOy5VLQJXg1D8ajcEg/7PPt3johItrHpNUhOTk4EBgaydu1a6zKLxcLatWsJDg5Od5vg4OBU7QHWrFljbV+qVCl8fHxStYmOjmbbtm333SfA3r17sbOzo2hRTdApthMdn8TSDX8y/8NXcZ4WyHNHB9HK+AMXUxJXXUpzJXgsDiOOUeLVn8hX7RlQOBIRyRY2/7/r8OHD6dOnD7Vr16Zu3bpMnTqV2NhY+vXrB0Dv3r0pVqwYkyZNAmDo0KE0adKEKVOm0KZNGxYsWMDOnTv5+uuvATCZTAwbNoz33nuPcuXKUapUKd555x38/Pxo3749kHKh97Zt23jyySfJnz8/YWFhvPbaazz//PMUKlTIJq+D5F0Wi8G24xc58ccCylxcSjsOYmcywA7i7PJxPaAtvk0HUNQ/UJPIiog8IjYPSN26dePatWuMHTuWiIgIatSowapVq6wXWZ87dw47u/8/0VW/fn3mzZvH22+/zZtvvkm5cuVYunQpVapUsbZ54403iI2N5cUXX+TWrVs0bNiQVatW4eLiAqR8XbZgwQLGjx9PQkICpUqV4rXXXkt1jZFIdjt/I5ZNG9fgcmg+zZP/INgUB//LPxcK1SV/cF88anakhKOrbQsVEcmDbD4O0uNK4yDJg7iTaGbd7kPc2DqHurdWUMHuvHXdTUcf4qv0wKdxX0yFAmxXpIhILpbRz2+bn0ESye0Mw2D3mesc3PgDfuE/0oJdOJrMYAeJOHGleAu8m7xAoTJNwM7mg9uLiAgKSCLZ5mp0PGu3bIE9c2iWsI5A0y3rV2gR7pVxrtOLQnV74O9a0JZliohIOhSQRLJQYrKFDftPcXHLfKpd+4UedsdTVpjgtn1Bbj/RCZ8mofj4VLZtoSIi8rcUkESywOGLUWzb+AteJxbT3BKGmykB7MCMHRFFG+PZsD/5K7Uiv4OTrUsVEZEMUEASeUC34hJZ8+ce7uyYTaPY3+hn978BTE1wwyUAaj6PV/3eFMvv/bf7ERGRnEcBSSQTzBaDTUcvcOqPRZS79DMdTfux/9+YRXfs3LgZ0JaiTfrjVSJIYxaJiDzGFJBEMuD0tRj++GMtbocW8LT5D5qaYqzj0EcUCiR/vX7kq9kRV6d8ti1URESyhAKSyH3EJCTz+84j3PhzDvWiVtLX7mzKChNEORYlsUp3ijTqh49nadsWKiIiWU4BSeQvDMNg26lr7P9jKf5nltDKtBNnUzLYQRKOXCv+NIUb9cej3FNgZ2/rckVEJJsoIIkAl27d4ffNYbB3Lk8nraOeKdL6Fdo19wo41+1Dgdrd8XPztG2hIiLySCggSZ4Vn2Tm932nuLR1IdWvL6e33dGUFSaItfcg5okOFG3cnyK+1W1bqIiIPHIKSJKnGIbB/vO32PbHCgqf/IEWxlbcTfFgBxbsuFq0AYUa9Cdf5Tbkc3C2dbkiImIjCkiSJ1yPSWD1n3u5s3MuT8b9xot2l1NWmOCmiz+mms9TMLg3PgX8bFuoiIjkCApIkmslmS1sOHyBE5uXUOHyz3Qz7cPBZAE7SDC5cKv0MxRpFEqhksEas0hERFJRQJJc5/iV22z4Yz3uhxcQYvmDp023rRdcXy1UE/d6fXGr0Qlv5/y2LVRERHIsBSTJFaLuJLFq51Fu/jmX4NuredHudMoKE9x2LExSlW54NuhP0cJlbVuoiIg8FhSQ5LFlsRhsOXmV/X8so8S5H2lv2oGzKQnsIBkHbhRvhlfD/uQv1xzs9asuIiIZp08NeeycuxHHb1v+xLRvPiHJ62hkum79Ci3SvRxOdfrgXvs5vPN52bZQERF5bCkgyWMhLjGZ1XvCubB1IYGRv/KC/eGUFSa4Y5+f2PId8GrQH0+/GrrgWkREHpoCkuRYhmGw60wkf276jaKnFtOSrRQw3QF7sGDietH6FKzfF9fK7XB1dLF1uSIikosoIEmOExEVz4o/95G4ax5Pxa9hkN1F+N9JoSiXYphq9qRAUG+KFvS3baEiIpJrKSBJjpCQbGbtwYsc3/IjlSKW0ctuL44mM9hBosmZ6FKt8WrUH4+SDcHOztbliohILqeAJDZ18GIUGzb9Qf6jC2lt/EFrUxTYp6y7XrA6+YP74ly9E4VdPGxbqIiI5CkKSPLIRcYm8uuOo9zcvpCGMasYZHcyZYUJYh09Sa7SFY/gfhQuWsG2hYqISJ6lgCSPRLLZwh/Hr7B306+UurCUzqZtuJoSwQ7M2HOz+JMpk8Q+0QLsHW1droiI5HEKSJKtTl6NYfXWHdjvX0Dr5LU8ZXfNOmbRrXylca7TB9faz1HYvahtCxUREfkLBSTJcrfjk1ix5wwXwhZT5+YKXrE7iJ3JADuIt8/HnfIdKFS/PwWL1dKYRSIikiMpIEmWsFgM/jx9nbDN6/A5/QPPmDbjYYqzXnB9o0g9POr3xaXys7g4udm2WBERkX+ggCQP5XxkHCu2HSB+9wJaJPzO63bnrF+h3Xb2wa5mT/IF9carUIBN6xQREckMBSTJtDuJZn47cIFjW5dS5epy+tntwul/YxYlmZy4XaolhRr0J3+pJhqzSEREHksKSJIhhmGw5/wt1m/ZisfRRbRlA8+ablm/QrtZsAr5gvriVKMznq6FbFqriIjIw1JAkr919XY8y7cfJ3LHIprEreZ1u+PWaT/iHApirtqV/PX6Usi7sm0LFRERyUIKSJJGYrKFdUeusHfLSspeXEo3uz/JZ0oAO7Bgx61iTSlYvy9u5VuBg5OtyxUREclyCkhideRyNKu27sbx4ALamNfR0u6K9Su06HwBONfpjXOt5/As4GvbQkVERLKZAlIedysukeV7znAhbAlBUSsZYrcf+/+NWZRg50Z8+WfxCO5HAf+6GrNIRETyDAWkPMhsMdh04hphWzbgF76EdnabKWSK+f8LrovUoUBwP5wrP4uzs7ttixUREbEBBaQ8JPx6LMv/PEji3kWEJP7OGLsz1lAU61wUu5o9ca3Ti0JeZWxap4iIiK0pIOVysQnJrNh/gWNbf6HG9eW8aLcTZ1My2EGyyZHYUiF4BPcjX5knwc7e1uWKiIjkCApIuZBhGGwPj2Rd2DYKHV9EOzbSxRRpPVsU5VERt3p9cKzeDQ83T9sWKyIikgMpIOUil27dYdmOE9zcsZgn49cwxu6IdcyieIcCmKt0IV9QHzx8q9u2UBERkRxOAekxF59kZs2hCPZsXc0Tl5fR0+5P8pvu/G/MIhO3izWmQHBfXMq3BkcXW5crIiLyWFBAegwZhsGBi1GsDNuL06FFtLOso63dZetXaDFu/jjV6YVTrZ54eBS3bbEiIiKPIQWkx8iNmAR+3nWG89uWUv/2Kl6324uDyZIySaydCwlPtMO9Xl/cS9bXmEUiIiIPQQEph0syW9hw7Bpbtv6B/9kfedZuM4VN0f8/wnXhWrgH98WxSkccnfPbtlgREZFcQgEphzpx5TbLth0hce9iWiX/zni709ZQdMe5MKYaz+FSuxcFijxh20JFRERyIQWkHMQwDOZvO8uRsF8JjFzOQLsduJiSwA7MJnviAlqQv15fXMs2B3u9dSIiItlFn7I5iAmo93snnks+aT1bdNvjCdzq9sG+Rnfy5yts0/pERETyCgWknMRkwiEgmIQzEVgqd8a1bh/y+9XUBdciIiKPmAJSDlOi47vg+BE4utq6FBERkTxLASmn0dQfIiIiNmdn6wJEREREchoFJBEREZF7KCCJiIiI3EMBSUREROQeCkgiIiIi91BAEhEREbmHApKIiIjIPRSQRERERO6hgCQiIiJyDwUkERERkXsoIImIiIjcQwFJRERE5B4KSCIiIiL3cLB1AY8rwzAAiI6OtnElIiIiklF3P7fvfo7fjwLSA7p9+zYA/v7+Nq5EREREMuv27dt4eHjcd73J+KcIJemyWCxcunSJ/PnzYzKZbF3OQ4uOjsbf35/z589ToEABW5fzSOS1Pqu/uZv6m7upv1nHMAxu376Nn58fdnb3v9JIZ5AekJ2dHcWLF7d1GVmuQIECeeIf31/ltT6rv7mb+pu7qb9Z4+/OHN2li7RFRERE7qGAJCIiInIPBSQBwNnZmXHjxuHs7GzrUh6ZvNZn9Td3U39zN/X30dNF2iIiIiL30BkkERERkXsoIImIiIjcQwFJRERE5B4KSCIiIiL3UEDKY7788kuqVatmHXwrODiYlStXWtfHx8czcOBAvLy8cHd3p1OnTly5csWGFWedyZMnYzKZGDZsmHVZbuvv+PHjMZlMqR4VKlSwrs9t/QW4ePEizz//PF5eXri6ulK1alV27txpXW8YBmPHjsXX1xdXV1eaN2/OiRMnbFjxgwsICEjz/ppMJgYOHAjkvvfXbDbzzjvvUKpUKVxdXSlTpgwTJ05MNYdWbnp/IWX6i2HDhlGyZElcXV2pX78+O3bssK5/3Pv7xx9/0LZtW/z8/DCZTCxdujTV+oz0LzIykp49e1KgQAEKFixIaGgoMTExWV+sIXnKsmXLjF9//dU4fvy4cezYMePNN980HB0djYMHDxqGYRgvv/yy4e/vb6xdu9bYuXOnUa9ePaN+/fo2rvrhbd++3QgICDCqVatmDB061Lo8t/V33LhxRuXKlY3Lly9bH9euXbOuz239jYyMNEqWLGn07dvX2LZtm3H69Glj9erVxsmTJ61tJk+ebHh4eBhLly419u3bZ7Rr184oVaqUcefOHRtW/mCuXr2a6r1ds2aNARjr1683DCP3vb/vv/++4eXlZSxfvtwIDw83Fi9ebLi7uxuffvqptU1uen8NwzC6du1qVKpUydi4caNx4sQJY9y4cUaBAgWMCxcuGIbx+Pd3xYoVxltvvWX8+OOPBmD89NNPqdZnpH8tW7Y0qlevbvz555/Gpk2bjLJlyxo9evTI8loVkMQoVKiQ8d///te4deuW4ejoaCxevNi67siRIwZghIWF2bDCh3P79m2jXLlyxpo1a4wmTZpYA1Ju7O+4ceOM6tWrp7suN/Z31KhRRsOGDe+73mKxGD4+PsZHH31kXXbr1i3D2dnZmD9//qMoMVsNHTrUKFOmjGGxWHLl+9umTRujf//+qZZ17NjR6Nmzp2EYue/9jYuLM+zt7Y3ly5enWl6rVi3jrbfeynX9vTcgZaR/hw8fNgBjx44d1jYrV640TCaTcfHixSytT1+x5WFms5kFCxYQGxtLcHAwu3btIikpiebNm1vbVKhQgRIlShAWFmbDSh/OwIEDadOmTap+Abm2vydOnMDPz4/SpUvTs2dPzp07B+TO/i5btozatWvTpUsXihYtSs2aNfnmm2+s68PDw4mIiEjVZw8PD4KCgh7bPt+VmJjInDlz6N+/PyaTKVe+v/Xr12ft2rUcP34cgH379rF582ZatWoF5L73Nzk5GbPZjIuLS6rlrq6ubN68Odf1914Z6V9YWBgFCxakdu3a1jbNmzfHzs6Obdu2ZWk9mqw2Dzpw4ADBwcHEx8fj7u7OTz/9RKVKldi7dy9OTk4ULFgwVXtvb28iIiJsU+xDWrBgAbt37071Hf5dERERua6/QUFBzJw5k/Lly3P58mUmTJhAo0aNOHjwYK7s7+nTp/nyyy8ZPnw4b775Jjt27GDIkCE4OTnRp08fa7+8vb1Tbfc49/mupUuXcuvWLfr27Qvkzt/n0aNHEx0dTYUKFbC3t8dsNvP+++/Ts2dPgFz3/ubPn5/g4GAmTpxIxYoV8fb2Zv78+YSFhVG2bNlc1997ZaR/ERERFC1aNNV6BwcHPD09s/w1UEDKg8qXL8/evXuJiorihx9+oE+fPmzcuNHWZWW58+fPM3ToUNasWZPmL7Lc6u5f1gDVqlUjKCiIkiVLsmjRIlxdXW1YWfawWCzUrl2bf/3rXwDUrFmTgwcP8tVXX9GnTx8bV5e9vv32W1q1aoWfn5+tS8k2ixYtYu7cucybN4/KlSuzd+9ehg0bhp+fX659f2fPnk3//v0pVqwY9vb21KpVix49erBr1y5bl5bn6Cu2PMjJyYmyZcsSGBjIpEmTqF69Op9++ik+Pj4kJiZy69atVO2vXLmCj4+PbYp9CLt27eLq1avUqlULBwcHHBwc2LhxI5999hkODg54e3vnqv6mp2DBgjzxxBOcPHky172/AL6+vlSqVCnVsooVK1q/Vrzbr3vv5Hqc+wxw9uxZfv/9d1544QXrstz4/o4cOZLRo0fTvXt3qlatSq9evXjttdeYNGkSkDvf3zJlyrBx40ZiYmI4f/4827dvJykpidKlS+fK/v5VRvrn4+PD1atXU61PTk4mMjIyy18DBSTBYrGQkJBAYGAgjo6OrF271rru2LFjnDt3juDgYBtW+GCaNWvGgQMH2Lt3r/VRu3Ztevbsaf05N/U3PTExMZw6dQpfX99c9/4CNGjQgGPHjqVadvz4cUqWLAlAqVKl8PHxSdXn6Ohotm3b9tj2GWDGjBkULVqUNm3aWJflxvc3Li4OO7vUH1P29vZYLBYg976/APny5cPX15ebN2+yevVqnn322VzdX8jY+xkcHMytW7dSnVFbt24dFouFoKCgrC0oSy/5lhxv9OjRxsaNG43w8HBj//79xujRow2TyWT89ttvhmGk3CZcokQJY926dcbOnTuN4OBgIzg42MZVZ52/3sVmGLmvv6+//rqxYcMGIzw83NiyZYvRvHlzo3DhwsbVq1cNw8h9/d2+fbvh4OBgvP/++8aJEyeMuXPnGm5ubsacOXOsbSZPnmwULFjQ+Pnnn439+/cbzz777GN1W/S9zGazUaJECWPUqFFp1uW297dPnz5GsWLFrLf5//jjj0bhwoWNN954w9omt72/q1atMlauXGmcPn3a+O2334zq1asbQUFBRmJiomEYj39/b9++bezZs8fYs2ePARgff/yxsWfPHuPs2bOGYWSsfy1btjRq1qxpbNu2zdi8ebNRrlw53eYvD69///5GyZIlDScnJ6NIkSJGs2bNrOHIMAzjzp07xquvvmoUKlTIcHNzMzp06GBcvnzZhhVnrXsDUm7rb7du3QxfX1/DycnJKFasmNGtW7dUYwLltv4ahmH88ssvRpUqVQxnZ2ejQoUKxtdff51qvcViMd555x3D29vbcHZ2Npo1a2YcO3bMRtU+vNWrVxtAun3Ibe9vdHS0MXToUKNEiRKGi4uLUbp0aeOtt94yEhISrG1y2/u7cOFCo3Tp0oaTk5Ph4+NjDBw40Lh165Z1/ePe3/Xr1xtAmkefPn0Mw8hY/27cuGH06NHDcHd3NwoUKGD069fPuH37dpbXajKMvwxJKiIiIiK6BklERETkXgpIIiIiIvdQQBIRERG5hwKSiIiIyD0UkERERETuoYAkIiIicg8FJBEREZF7KCCJiPyFyWRi6dKl2XqM8ePHU6NGjWw9hog8HAUkEXmkrl27xiuvvEKJEiVwdnbGx8eHkJAQtmzZYuvSssxPP/1EvXr18PDwIH/+/FSuXJlhw4ZZ148YMSLVfFMikvM42LoAEclbOnXqRGJiIrNmzaJ06dJcuXKFtWvXcuPGDVuXliXWrl1Lt27deP/992nXrh0mk4nDhw+zZs0aaxt3d3fc3d1tWKWI/KMsn7xEROQ+bt68aQDGhg0b/rbdlClTjCpVqhhubm5G8eLFjVdeeSXVXEszZswwPDw8jF9++cV44oknDFdXV6NTp05GbGysMXPmTKNkyZJGwYIFjcGDBxvJycnW7UqWLGm8++67Rvfu3Q03NzfDz8/P+OKLL1IdGzB++ukn6/Nz584ZXbp0MTw8PIxChQoZ7dq1M8LDw+9b+9ChQ42mTZv+bf/GjRtnVK9ePdUx732ULFnSuv7AgQNGy5YtjXz58hlFixY1nn/+eePatWt/ewwReTj6ik1EHpm7Z06WLl1KQkLCfdvZ2dnx2WefcejQIWbNmsW6det44403UrWJi4vjs88+Y8GCBaxatYoNGzbQoUMHVqxYwYoVK5g9ezbTp0/nhx9+SLXdRx99RPXq1dmzZw+jR49m6NChqc7u/FVSUhIhISHkz5+fTZs2sWXLFtzd3WnZsiWJiYnpbuPj48OhQ4c4ePBghl+Xy5cvWx8nT56kbNmyNG7cGIBbt27x1FNPUbNmTXbu3MmqVau4cuUKXbt2zfD+ReQB2DqhiUje8sMPPxiFChUyXFxcjPr16xtjxowx9u3b97fbLF682PDy8rI+nzFjhgEYJ0+etC576aWXDDc3t1RnmkJCQoyXXnrJ+rxkyZJGy5YtU+27W7duRqtWrazP+csZpNmzZxvly5c3LBaLdX1CQoLh6upqrF69Ot1aY2JijNatW1vPAnXr1s349ttvjfj4eGube88g3WWxWIwOHToYgYGBRlxcnGEYhjFx4kSjRYsWqdqdP3/eAB6rWdxFHjc6gyQij1SnTp24dOkSy5Yto2XLlmzYsIFatWoxc+ZMa5vff/+dZs2aUaxYMfLnz0+vXr24ceMGcXFx1jZubm6UKVPG+tzb25uAgIBU1/Z4e3tz9erVVMcPDg5O8/zIkSPp1rpv3z5OnjxJ/vz5rWe/PD09iY+P59SpU+luky9fPn799VdOnjzJ22+/jbu7O6+//jp169ZNVX963nzzTcLCwvj5559xdXW11rB+/Xrr8d3d3alQoQLAfWsQkYeni7RF5JFzcXHh6aef5umnn+add97hhRdeYNy4cfTt25czZ87wzDPP8Morr/D+++/j6enJ5s2bCQ0NJTExETc3NwAcHR1T7dNkMqW7zGKxPHCdMTExBAYGMnfu3DTrihQp8rfblilThjJlyvDCCy/w1ltv8cQTT7Bw4UL69euXbvs5c+bwySefsGHDBooVK5aqhrZt2/LBBx+k2cbX1zeTPRKRjFJAEhGbq1SpknXsoV27dmGxWJgyZQp2diknuRctWpRlx/rzzz/TPK9YsWK6bWvVqsXChQspWrQoBQoUeOBjBgQE4ObmRmxsbLrrw8LCeOGFF5g+fTr16tVLU8OSJUsICAjAwUH/yxZ5VPQVm4g8Mjdu3OCpp55izpw57N+/n/DwcBYvXsyHH37Is88+C0DZsmVJSkri888/5/Tp08yePZuvvvoqy2rYsmULH374IcePH2fatGksXryYoUOHptu2Z8+eFC5cmGeffZZNmzYRHh7Ohg0bGDJkCBcuXEh3m/Hjx/PGG2+wYcMGwsPD2bNnD/379ycpKYmnn346TfuIiAg6dOhA9+7dCQkJISIigoiICK5duwbAwIEDiYyMpEePHuzYsYNTp06xevVq+vXrh9lszrLXRURSU0ASkUfG3d2doKAgPvnkExo3bkyVKlV45513GDBgAF988QUA1atX5+OPP+aDDz6gSpUqzJ07l0mTJmVZDa+//jo7d+6kZs2avPfee3z88ceEhISk29bNzY0//viDEiVK0LFjRypWrEhoaCjx8fH3PaPUpEkTTp8+Te/evalQoQKtWrUiIiKC3377jfLly6dpf/ToUa5cucKsWbPw9fW1PurUqQOAn58fW7ZswWw206JFC6pWrcqwYcMoWLCg9QybiGQ9k2EYhq2LEBF5FAICAhg2bFiqUa1FRNKjPz9ERERE7qGAJCIiInIPfcUmIiIicg+dQRIRERG5hwKSiIiIyD0UkERERETuoYAkIiIicg8FJBEREZF7KCCJiIiI3EMBSUREROQeCkgiIiIi91BAEhEREbnH/wGLijTwFwMHfgAAAABJRU5ErkJggg==", "text/plain": [ - "
" + "array([0. , 2.15266837, 3.33008573, 3.06659155, 1.84850474])" ] }, + "execution_count": 43, "metadata": {}, - "output_type": "display_data" + "output_type": "execute_result" } ], "source": [ - "timing_vectorized = timing10.drop(['Original', 'Jit optimized', 'Jit optimized, parallel'], axis=1)\n", - "t = timing_vectorized.plot(x='Observations')\n", - "t.set_xlabel(\"Sample Size\")\n", - "t.set_ylabel(\"Time in Seconds\")\n", - "t.set_title(\"Kernel Method Timing - 10 dgms\")" + "guvectorize_kernel_parallel(test_dgms, test_dgms[0], .3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "### Timing with 80 dgms" + "### Loop for random samples and timing" ] }, { "cell_type": "code", - "execution_count": 140, + "execution_count": 44, "metadata": {}, "outputs": [ { @@ -1227,816 +910,472 @@ "output_type": "stream", "text": [ "Finished Kernel\n", - "Finished Jit Optimized Kernel\n", - "Finished Jit Optimized and Parallel Kernel\n", - "Finished gu vectorize\n", - "Finished gu vectorize parallel\n", + "Finished Vectorized\n", + "Finished Parallel\n", "Finished Kernel\n", - "Finished Jit Optimized Kernel\n", - "Finished Jit Optimized and Parallel Kernel\n", - "Finished gu vectorize\n", - "Finished gu vectorize parallel\n", + "Finished Vectorized\n", + "Finished Parallel\n", "Finished Kernel\n", - "Finished Jit Optimized Kernel\n", - "Finished Jit Optimized and Parallel Kernel\n", - "Finished gu vectorize\n", - "Finished gu vectorize parallel\n", + "Finished Vectorized\n", + "Finished Parallel\n", "Finished Kernel\n", - "Finished Jit Optimized Kernel\n", - "Finished Jit Optimized and Parallel Kernel\n", - "Finished gu vectorize\n", - "Finished gu vectorize parallel\n", + "Finished Vectorized\n", + "Finished Parallel\n", "Finished Kernel\n", - "Finished Jit Optimized Kernel\n", - "Finished Jit Optimized and Parallel Kernel\n", - "Finished gu vectorize\n", - "Finished gu vectorize parallel\n", + "Finished Vectorized\n", + "Finished Parallel\n", "Finished Training 0\n", "Finished Kernel\n", - "Finished Jit Optimized Kernel\n", - "Finished Jit Optimized and Parallel Kernel\n", - "Finished gu vectorize\n", - "Finished gu vectorize parallel\n", + "Finished Vectorized\n", + "Finished Parallel\n", "Finished Kernel\n", - "Finished Jit Optimized Kernel\n", - "Finished Jit Optimized and Parallel Kernel\n", - "Finished gu vectorize\n", - "Finished gu vectorize parallel\n", + "Finished Vectorized\n", + "Finished Parallel\n", "Finished Kernel\n", - "Finished Jit Optimized Kernel\n", - "Finished Jit Optimized and Parallel Kernel\n", - "Finished gu vectorize\n", - "Finished gu vectorize parallel\n", + "Finished Vectorized\n", + "Finished Parallel\n", "Finished Kernel\n", - "Finished Jit Optimized Kernel\n", - "Finished Jit Optimized and Parallel Kernel\n", - "Finished gu vectorize\n", - "Finished gu vectorize parallel\n", + "Finished Vectorized\n", + "Finished Parallel\n", "Finished Kernel\n", - "Finished Jit Optimized Kernel\n", - "Finished Jit Optimized and Parallel Kernel\n", - "Finished gu vectorize\n", - "Finished gu vectorize parallel\n", + "Finished Vectorized\n", + "Finished Parallel\n", "Finished Training 1\n", "Finished Kernel\n", - "Finished Jit Optimized Kernel\n", - "Finished Jit Optimized and Parallel Kernel\n", - "Finished gu vectorize\n", - "Finished gu vectorize parallel\n", + "Finished Vectorized\n", + "Finished Parallel\n", "Finished Kernel\n", - "Finished Jit Optimized Kernel\n", - "Finished Jit Optimized and Parallel Kernel\n", - "Finished gu vectorize\n", - "Finished gu vectorize parallel\n", + "Finished Vectorized\n", + "Finished Parallel\n", "Finished Kernel\n", - "Finished Jit Optimized Kernel\n", - "Finished Jit Optimized and Parallel Kernel\n", - "Finished gu vectorize\n", - "Finished gu vectorize parallel\n", + "Finished Vectorized\n", + "Finished Parallel\n", "Finished Kernel\n", - "Finished Jit Optimized Kernel\n", - "Finished Jit Optimized and Parallel Kernel\n", - "Finished gu vectorize\n", - "Finished gu vectorize parallel\n", + "Finished Vectorized\n", + "Finished Parallel\n", "Finished Kernel\n", - "Finished Jit Optimized Kernel\n", - "Finished Jit Optimized and Parallel Kernel\n", - "Finished gu vectorize\n", - "Finished gu vectorize parallel\n", + "Finished Vectorized\n", + "Finished Parallel\n", "Finished Training 2\n", "Finished Kernel\n", - "Finished Jit Optimized Kernel\n", - "Finished Jit Optimized and Parallel Kernel\n", - "Finished gu vectorize\n", - "Finished gu vectorize parallel\n", + "Finished Vectorized\n", + "Finished Parallel\n", "Finished Kernel\n", - "Finished Jit Optimized Kernel\n", - "Finished Jit Optimized and Parallel Kernel\n", - "Finished gu vectorize\n", - "Finished gu vectorize parallel\n", + "Finished Vectorized\n", + "Finished Parallel\n", "Finished Kernel\n", - "Finished Jit Optimized Kernel\n", - "Finished Jit Optimized and Parallel Kernel\n", - "Finished gu vectorize\n", - "Finished gu vectorize parallel\n", + "Finished Vectorized\n", + "Finished Parallel\n", "Finished Kernel\n", - "Finished Jit Optimized Kernel\n", - "Finished Jit Optimized and Parallel Kernel\n", - "Finished gu vectorize\n", - "Finished gu vectorize parallel\n", + "Finished Vectorized\n", + "Finished Parallel\n", "Finished Kernel\n", - "Finished Jit Optimized Kernel\n", - "Finished Jit Optimized and Parallel Kernel\n", - "Finished gu vectorize\n", - "Finished gu vectorize parallel\n", + "Finished Vectorized\n", + "Finished Parallel\n", "Finished Training 3\n", "Finished Kernel\n", - "Finished Jit Optimized Kernel\n", - "Finished Jit Optimized and Parallel Kernel\n", - "Finished gu vectorize\n", - "Finished gu vectorize parallel\n", + "Finished Vectorized\n", + "Finished Parallel\n", "Finished Kernel\n", - "Finished Jit Optimized Kernel\n", - "Finished Jit Optimized and Parallel Kernel\n", - "Finished gu vectorize\n", - "Finished gu vectorize parallel\n", + "Finished Vectorized\n", + "Finished Parallel\n", "Finished Kernel\n", - "Finished Jit Optimized Kernel\n", - "Finished Jit Optimized and Parallel Kernel\n", - "Finished gu vectorize\n", - "Finished gu vectorize parallel\n", + "Finished Vectorized\n", + "Finished Parallel\n", "Finished Kernel\n", - "Finished Jit Optimized Kernel\n", - "Finished Jit Optimized and Parallel Kernel\n", - "Finished gu vectorize\n", - "Finished gu vectorize parallel\n", + "Finished Vectorized\n", + "Finished Parallel\n", "Finished Kernel\n", - "Finished Jit Optimized Kernel\n", - "Finished Jit Optimized and Parallel Kernel\n", - "Finished gu vectorize\n", - "Finished gu vectorize parallel\n", - "Finished Training 4\n", - " Observations Original Jit optimized Jit optimized, parallel \\\n", - "0 10.0 6.236893 0.502219 0.504144 \n", - "1 20.0 26.430592 2.093465 2.140890 \n", - "2 30.0 59.575369 4.759514 4.805390 \n", - "3 40.0 107.703301 8.557770 8.766519 \n", - "4 50.0 168.577450 13.505185 13.634764 \n", - "\n", - " Vectorized Vectorized, parallel \n", - "0 0.006074 0.006049 \n", - "1 0.025285 0.024952 \n", - "2 0.055554 0.056754 \n", - "3 0.101150 0.102818 \n", - "4 0.159930 0.163492 \n" + "Finished Vectorized\n", + "Finished Parallel\n", + "Finished Training 4\n" ] } ], "source": [ + "import time\n", "seed = [0,1,2,3,4]\n", "train_size = [10, 20, 30, 40, 50]\n", "n = len(train_size)\n", - "timing_80 = np.zeros((n,6))\n", + "timing_rdm = np.zeros((n,4))\n", "for i in range(0,n):\n", " for j in seed:\n", - " dgms = np.array(dgms_80[0:train_size[i]])\n", - " timing_80[i,0] += len(dgms)\n", + " dgms = np.array(dgms_random[0:train_size[i]])\n", + " timing_rdm[i,0] += len(dgms)\n", "\n", " start = time.time()\n", " X_train_features = kernel_features(dgms, s = .3)\n", " end = time.time()-start\n", - " timing_80[i,1] +=end\n", + " timing_rdm[i,1] +=end\n", " print(\"Finished Kernel\")\n", "\n", " start = time.time()\n", - " train, dummy_train, dummy = reshape_persistence_diagrams(dgms)\n", - " X_train_features = optimized_kernel_features(train, dummy_train, s = .3)\n", + " tdgms= reshape_to_array(dgms)\n", + " X_train_features = guvectorize_kernel(tdgms, tdgms, .3)\n", " end = time.time()-start\n", - " timing_80[i,2] +=end\n", - " print(\"Finished Jit Optimized Kernel\")\n", + " timing_rdm[i,2] +=end\n", + " print(\"Finished Vectorized\")\n", "\n", " start = time.time()\n", - " train, dummy_train, dummy = reshape_persistence_diagrams(dgms)\n", - " result1 = parallel_optimized_kernel_features(train, dummy_train, .3)\n", + " tdgms= reshape_to_array(dgms)\n", + " X_train_features = guvectorize_kernel_parallel(tdgms, tdgms, .3)\n", " end = time.time()-start\n", - " timing_80[i,3] +=end\n", - " print(\"Finished Jit Optimized and Parallel Kernel\")\n", + " timing_rdm[i,3] +=end\n", + " print(\"Finished Parallel\")\n", "\n", - " start = time.time()\n", - " train, dummy_train, dummy = reshape_persistence_diagrams(dgms)\n", - " X_train_features_gu = guvectorize_kernel(train, dummy, .3)\n", - " end = time.time()-start\n", - " timing_80[i,4] +=end\n", - " print(\"Finished gu vectorize\")\n", - "\n", - " start = time.time()\n", - " train, dummy_train, dummy = reshape_persistence_diagrams(dgms)\n", - " X_train_features_gu = parallel_gu_vectorize(train, dummy, .3)\n", - " end = time.time()-start\n", - " timing_80[i,5] +=end\n", - " print(\"Finished gu vectorize parallel\")\n", + " #start = time.time()\n", + " # tdgms= reshape_to_array(dgms)\n", + " # X_train_features = guvectorize_kernel_gpu(tdgms, tdgms, .3)\n", + " # end = time.time()-start\n", + " # timing_rdm[i,4] +=end\n", + " # print(\"Finished GPU\")\n", "\n", " print(\"Finished Training \", i)\n", - "timing_80 = pd.DataFrame(timing_80/5)\n", - "timing_80.columns=['Observations', 'Original', 'Jit optimized', 'Jit optimized, parallel', 'Vectorized', 'Vectorized, parallel']\n", - "print(timing_80)" - ] - }, - { - "cell_type": "code", - "execution_count": 144, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Text(0.5, 1.0, 'Kernel Method Timing - 80 dgms')" - ] - }, - "execution_count": 144, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjsAAAHHCAYAAABZbpmkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAACQsElEQVR4nOzdeVhU1RvA8e+w7yDIqggq7vueua+45pq5pKho/kwzNc1sU7TSFrMySysTNc0lt7LcE7fcFXdRDMUFUEFAtgFm7u8PZHIEFRAcGN/P89xH567vmcswL+ece45KURQFIYQQQggjZWLoAIQQQgghipIkO0IIIYQwapLsCCGEEMKoSbIjhBBCCKMmyY4QQgghjJokO0IIIYQwapLsCCGEEMKoSbIjhBBCCKMmyY4QQgghjJokO0IUI61bt6Z169aGDuOxfH196datW5FfJyQkBJVKRUhISKGcb+jQofj6+hbKubKVhPtVHBTFey9EfkiyI4xKcHAwKpWKo0eP6q1PSEigcePGWFlZsWXLFgNFV3h8fX1RqVS0b98+1+0//vgjKpUq1/ciL86dO8f06dO5cuXKU0ZatLLL+KSlsBKmkmz16tW88MILODk54eLiQqtWrfjzzz9z7KfVavnss88oX748VlZW1K5dm19//dUAEQtReMwMHYAQRS0xMZGOHTty6tQp1q9fT6dOnQwdUqGwsrJi165dREdH4+Hhobdt+fLlWFlZkZaWVqBznzt3jqCgIFq3bl2s/yJftmyZ3uulS5eyffv2HOurVavGjz/+iFarLdTrb9u2rVDPV1TmzZvHuHHj6Nq1K7NnzyYtLY3g4GC6devG2rVr6d27t27f9957j9mzZzNy5EgaNWrExo0bGThwICqViv79+xuwFEIUnCQ7wqjdu3cPf39/QkNDWbduHZ07d37qc6alpWFhYYGJiWErRps1a8aRI0dYtWoVb775pm799evX2bt3L7169WLt2rUGjLDovfrqq3qvDx48yPbt23OsLyoWFhbP5DpPa968eTRq1Ig//vgDlUoFwPDhwylTpgxLlizRJTs3btxgzpw5jBkzhm+//RaAESNG0KpVKyZPnszLL7+MqampwcohREFJM5YwWklJSXTq1Injx4+zdu1aunbtqrf9xo0bDB8+HHd3dywtLalRowY///yz3j7Z/UZWrlzJ+++/T5kyZbCxsSExMZGhQ4diZ2fHjRs36NmzJ3Z2dri6ujJp0iQ0Go3eebRaLV999RU1atTAysoKd3d3Ro0axd27dwtcPisrK3r37s2KFSv01v/666+UKlUKf3//XI+7cOECffv2xdnZGSsrKxo2bMjvv/+u2x4cHMzLL78MQJs2bR7ZFLRv3z5d02CFChVYunRpjmv9+++/vPzyyzg7O2NjY8MLL7yQa9PJ9evX6dmzJ7a2tri5uTFhwgTUanV+35LHerjfyJUrV1CpVHzxxRfMnz+fChUqYGNjQ8eOHbl27RqKojBz5kzKli2LtbU1PXr0IC4uTu+cD/fZyf55Wb16NR9//DFly5bFysqKdu3aER4eniOm7OtaW1vTuHFj9u7dWyT9gBITE3Fzc9MlOgAODg7Y2dlhbW2tW7dx40YyMjJ4/fXXdetUKhWjR4/m+vXrHDhw4InX2rBhAzVr1sTKyoqaNWuyfv36XPeLjY1l8ODBODg44OTkREBAACdPnkSlUhEcHKzbL/tzFhkZSbdu3bCzs6NMmTLMnz8fgNOnT9O2bVtsbW3x8fHJ8XnIyMggKCiISpUqYWVlhYuLC82bN2f79u15eu+EcZCaHWGUkpOT6dy5M0eOHOG3337L0aE2JiaGF154AZVKxdixY3F1dWXz5s0EBgaSmJjI+PHj9fafOXMmFhYWTJo0CbVarfuLXqPR4O/vT5MmTfjiiy/YsWMHc+bMoWLFiowePVp3/KhRowgODmbYsGGMGzeOiIgIvv32W06cOMH+/fsxNzcvUDkHDhxIx44duXz5MhUrVgRgxYoV9O3bN9dznj17lmbNmlGmTBneeecdbG1tWb16NT179mTt2rX06tWLli1bMm7cOL755hveffddqlWrBqD7FyA8PJy+ffsSGBhIQEAAP//8M0OHDqVBgwbUqFFD9x6/+OKLpKSkMG7cOFxcXFiyZAkvvfQSv/32G7169QIgNTWVdu3aERkZybhx4/Dy8mLZsmX8/fffBXpP8mv58uWkp6fzxhtvEBcXx2effUa/fv1o27YtISEhTJkyhfDwcObNm8ekSZNyJMS5mT17NiYmJkyaNImEhAQ+++wzBg0axKFDh3T7fP/994wdO5YWLVowYcIErly5Qs+ePSlVqhRly5Yt1DK2bt2a3377jXnz5tG9e3fS0tKYN28eCQkJerWCJ06cwNbWVu9eAzRu3Fi3vXnz5o+8zrZt2+jTpw/Vq1dn1qxZxMbGMmzYsBzl0Wq1dO/encOHDzN69GiqVq3Kxo0bCQgIyPW8Go2Gzp0707JlSz777DOWL1/O2LFjsbW15b333mPQoEH07t2bBQsWMGTIEJo2bUr58uUBmD59OrNmzWLEiBE0btyYxMREjh49yvHjx+nQoUOB3k9RAilCGJHFixcrgOLj46OYm5srGzZsyHW/wMBAxdPTU7lz547e+v79+yuOjo5KSkqKoiiKsmvXLgVQKlSooFuXLSAgQAGUGTNm6K2vV6+e0qBBA93rvXv3KoCyfPlyvf22bNmSY32rVq2UVq1aPbGcPj4+SteuXZXMzEzFw8NDmTlzpqIoinLu3DkFUHbv3q17L44cOaI7rl27dkqtWrWUtLQ03TqtVqu8+OKLSqVKlXTr1qxZowDKrl27cr02oOzZs0e37tatW4qlpaXy1ltv6daNHz9eAZS9e/fq1t27d08pX7684uvrq2g0GkVRFOWrr75SAGX16tW6/ZKTkxU/P79HxvAoY8aMUR71ay0gIEDx8fHRvY6IiFAAxdXVVYmPj9etnzp1qgIoderUUTIyMnTrBwwYoFhYWOi9dw/fr+yfl2rVqilqtVq3/uuvv1YA5fTp04qiKIparVZcXFyURo0a6V0jODhYAfL0M5AfMTExSrt27RRAt5QuXVr5559/9Pbr2rWrUqFChRzHJycnK4DyzjvvPPY6devWVTw9PfXez23btuk+k9nWrl2rAMpXX32lW6fRaJS2bdsqgLJ48WLd+uzP2SeffKJbd/fuXcXa2lpRqVTKypUrdesvXLigAMq0adN06+rUqaN07dr1sXEL4yfNWMIoxcTEYGVlhbe3d45tiqKwdu1aunfvjqIo3LlzR7f4+/uTkJDA8ePH9Y4JCAjQq+5/0P/+9z+91y1atODff//VvV6zZg2Ojo506NBB71oNGjTAzs6OXbt2Fbicpqam9OvXT/e0zPLly/H29qZFixY59o2Li+Pvv/+mX79+3Lt3TxdHbGws/v7+XLp0iRs3buTputWrV9e7hqurK1WqVNEr919//UXjxo31agLs7Ox47bXXuHLlCufOndPt5+npSd++fXX72djY8Nprr+XvzSigl19+GUdHR93rJk2aAFn9gczMzPTWp6en5+k9GjZsmF5/nuz3Kvv9OXr0KLGxsYwcOVLvGoMGDaJUqVJPV6Bc2NjYUKVKFQICAlizZg0///wznp6e9O7dW695LTU1FUtLyxzHW1lZ6bY/SlRUFKGhoQQEBOi9nx06dKB69ep6+27ZsgVzc3NGjhypW2diYsKYMWMeef4RI0bo/u/k5ESVKlWwtbWlX79+uvVVqlTByclJ7+fQycmJs2fPcunSpUeeWxg/SXaEUVq4cCEWFhZ06tSJsLAwvW23b98mPj6eH374AVdXV71l2LBhANy6dUvvmOwq8YdZWVnh6uqqt65UqVJ6fXEuXbpEQkICbm5uOa6XlJSU41r5NXDgQM6dO8fJkydZsWIF/fv31+ubkS08PBxFUfjggw9yxDFt2rRcy/0o5cqVy7Hu4XJfvXqVKlWq5Ngvu4nk6tWrun/9/PxyxJzbsUXh4bJkf1E/nChnr89LP6uHz5mdwGQfm112Pz8/vf3MzMzy9PRbXFwc0dHRuiUhIeGx+7/88stERkYSHBxM3759GTZsGCEhIaSnp/Pee+/p9rO2ts61r1T2U32PSvgfLFOlSpVybHv4Xl69ehVPT09sbGz01j/8fmTL7XPm6OhI2bJlc/zcODo66t2jGTNmEB8fT+XKlalVqxaTJ0/m1KlTjyyHME7SZ0cYperVq/PXX3/Rrl07OnTowP79+3VfXtmPH7/66quP7CNQu3ZtvdeP+iWflydTtFotbm5uLF++PNftD/8Sz68mTZpQsWJFxo8fT0REBAMHDnxkHACTJk16ZOflR33ZPOxR5VYUJU/HFyePKsvTlLGo35/evXuze/du3euAgAC9Tr0P+vfff9myZQs//PCD3npnZ2eaN2/O/v37des8PT3ZtWsXiqLoJRFRUVEAeHl5FUr8+fU096hly5ZcvnyZjRs3sm3bNn766Sfmzp3LggUL9GqLhHGTZEcYrcaNG7Nhwwa6du1Khw4d2Lt3r64mw97eHo1G88hB+QpTxYoV2bFjB82aNXvsX8ZPY8CAAXz00UdUq1aNunXr5rpPhQoVADA3N39iuXOrGcovHx+fHLVqkPU0WPb27H/PnDmT4ws2t2ONRXbZw8PDadOmjW59ZmYmV65cyZFsP2zOnDl6tRePS0JiYmIAcjwhCFlPKmVmZupe161bl59++onz58/rNT1ld6x+1M/Wg2XKrbno4Xvp4+PDrl27SElJ0avdye2JtcLg7OzMsGHDGDZsGElJSbRs2ZLp06dLsvMckWYsYdTatWvHr7/+Snh4OJ06dSIxMRFTU1P69OnD2rVrOXPmTI5jbt++Xagx9OvXD41Gw8yZM3Nsy8zMJD4+/qmvMWLECKZNm8acOXMeuY+bmxutW7dm4cKFur/UH/RguW1tbQGeKrYuXbpw+PBhvceVk5OT+eGHH/D19dV9mXbp0oWbN2/y22+/6fZLSUnJURNhTBo2bIiLiws//vijXrKxfPnyPDWTNWjQgPbt2+uWh/vEPMjPzw8TExNWrVqlV+ORPR5TvXr1dOt69OiBubk53333nW6doigsWLCAMmXK8OKLLz7yOp6entStW5clS5boNatt375d1z8rm7+/PxkZGfz444+6dVqtVvc4eWGKjY3Ve21nZ4efn1+hD20gijep2RFGr1evXvz4448MHz6cl156iS1btjB79mx27dpFkyZNGDlyJNWrVycuLo7jx4+zY8eOHOOpPI1WrVoxatQoZs2aRWhoKB07dsTc3JxLly6xZs0avv76a73OuQXh4+PD9OnTn7jf/Pnzad68ObVq1WLkyJFUqFCBmJgYDhw4wPXr1zl58iSQ9Re8qakpn376KQkJCVhaWtK2bVvc3NzyHNM777zDr7/+SufOnRk3bhzOzs4sWbKEiIgI1q5dqxuUceTIkXz77bcMGTKEY8eO4enpybJly3L05zAmFhYWTJ8+nTfeeIO2bdvSr18/rly5QnBwMBUrViyUmrVsrq6uDB8+nJ9++ol27drRu3dv7t27x3fffUdqaipTp07V7Vu2bFnGjx/P559/TkZGBo0aNWLDhg3s3buX5cuXP7HZdtasWXTt2pXmzZszfPhw4uLimDdvHjVq1CApKUm3X8+ePWncuDFvvfUW4eHhVK1ald9//133uSvM8levXp3WrVvToEEDnJ2dOXr0KL/99htjx44ttGuI4k+SHfFcGDZsGHFxcUyaNImXX36Z9evXc/jwYWbMmMG6dev47rvvcHFxoUaNGnz66aeFfv0FCxbQoEEDFi5cyLvvvqvriPrqq6/SrFmzQr/eo1SvXp2jR48SFBREcHAwsbGxuLm5Ua9ePT788EPdfh4eHixYsIBZs2YRGBiIRqNh165d+Up23N3d+eeff5gyZQrz5s0jLS2N2rVr88cff+gN8GhjY8POnTt54403mDdvHjY2NgwaNIjOnTsbzdQeuRk7diyKojBnzhwmTZpEnTp1+P333xk3bpzu6afC8v3331OnTh0WLVqkS24aNWrE0qVLadmypd6+s2fPplSpUixcuJDg4GAqVarEL7/88si+YA/q1KkTa9as4f3332fq1KlUrFiRxYsXs3HjRr1BKU1NTfnzzz958803WbJkCSYmJvTq1Ytp06bRrFmzQi3/uHHj+P3339m2bRtqtRofHx8++ugjJk+eXGjXEMWfSimJPQqFEMIIabVaXF1d6d27t14Tz/Niw4YN9OrVi3379j3TPwKE8ZM+O0IIYQBpaWk5ns5aunQpcXFxhT5dRHH08Jg9Go2GefPm4eDgQP369Q0UlTBW0owlhBAGcPDgQSZMmMDLL7+Mi4sLx48fZ9GiRdSsWVM3N5kxe+ONN0hNTaVp06ao1WrWrVvHP//8wyeffFJkTy2K55ckO0IIYQC+vr54e3vzzTffEBcXh7OzM0OGDGH27NklZjb1p9G2bVvmzJnDpk2bSEtLw8/Pj3nz5knHYVEkpM+OEEIIIYya9NkRQgghhFGTZEcIIYQQRk367JD1uOfNmzext7cv1MGshBBCCFF0FEXh3r17eHl56QYqfdSOBrN7926lW7duiqenpwIo69ev19sO5Lp89tlnun18fHxybJ81a1a+4rh27dojryWLLLLIIossshTv5dq1a4/9njdozU5ycjJ16tRh+PDh9O7dO8f2h+fv2bx5M4GBgfTp00dv/YwZMxg5cqTutb29fb7iyN7/2rVrODg45OtYIYQQQhhGYmIi3t7eT/zeN2iy07lzZzp37vzI7R4eHnqvN27cSJs2bXSzN2ezt7fPsW9+ZDddOTg4SLIjhBBClDBP6oJSYjoox8TE8OeffxIYGJhj2+zZs3FxcaFevXp8/vnnerMI50atVpOYmKi3CCGEEMI4lZgOykuWLMHe3j5Hc9e4ceOoX78+zs7O/PPPP0ydOpWoqCi+/PLLR55r1qxZBAUFFXXIQgghhCgGis2ggiqVivXr19OzZ89ct1etWpUOHTowb968x57n559/ZtSoUSQlJWFpaZnrPmq1GrVarXud3eaXkJAgzVhCCCFECZGYmIijo+MTv79LRM3O3r17CQsLY9WqVU/ct0mTJmRmZnLlyhWqVKmS6z6WlpaPTIQeRavVkp6enq9jhDA25ubmmJqaGjoMIYTIlxKR7CxatIgGDRpQp06dJ+4bGhqKiYkJbm5uhXb99PR0IiIi0Gq1hXZOIUoqJycnPDw8ZEwqIUSJYdBkJykpifDwcN3riIgIQkNDcXZ2ply5ckBWFdWaNWuYM2dOjuMPHDjAoUOHaNOmDfb29hw4cIAJEybw6quvUqpUqUKJUVEUoqKiMDU1xdvb+/GDFglhxBRFISUlhVu3bgHg6elp4IiEECJvDJrsHD16lDZt2uheT5w4EYCAgACCg4MBWLlyJYqiMGDAgBzHW1pasnLlSqZPn45araZ8+fJMmDBBd57CkJmZSUpKCl5eXtjY2BTaeYUoiaytrQG4desWbm5u0qQlhCgRik0HZUN6XAentLQ0IiIi8PX11f2iF+J5lpqaypUrVyhfvjxWVlaGDkcI8RzLawdlaZPJI+mfIEQW+SwIIUoaSXaEEEIIYdQk2RG5unLlCiqVitDQ0DwfExwcjJOTk8HjEEIIIR4kyY6Ru3btGsOHD8fLywsLCwt8fHx48803iY2Nfexx3t7eREVFUbNmzTxf65VXXuHixYtPG7IQQghRqCTZMWL//vsvDRs25NKlS/z666+Eh4ezYMECdu7cSdOmTYmLi8v1uPT0dExNTfHw8MDMLO8P7FlbWxfq+EZCCCFKvpvxqZy5kWDQGCTZMWJjxozBwsKCbdu20apVK8qVK0fnzp3ZsWMHN27c4L333gPA19eXmTNnMmTIEBwcHHjttddybT76/fffqVSpElZWVrRp04YlS5agUqmIj48HcjZjTZ8+nbp167Js2TJ8fX1xdHSkf//+3Lt3T7fPli1baN68OU5OTri4uNCtWzcuX778LN4eIYQQRSw2Sc2riw7R/4eDHLua+x/Yz4IkO/mkKAop6ZkGWfIzSkBcXBxbt27l9ddfz/HIvIeHB4MGDWLVqlW6c37xxRfUqVOHEydO8MEHH+Q4X0REBH379qVnz56cPHmSUaNG6ZKlx7l8+TIbNmxg06ZNbNq0id27dzN79mzd9uTkZCZOnMjRo0fZuXMnJiYm9OrVS0arFkKIEu5eWgYBiw/z7+1kHK3N8XQ03PAtJWK6iOIkNUND9Q+3GuTa52b4Y2ORt1t26dIlFEWhWrVquW6vVq0ad+/e5fbt2wC0bduWt956S7f9ypUrevsvXLiQKlWq8PnnnwNQpUoVzpw5w8cff/zYOLRaLcHBwdjb2wMwePBgdu7cqTuuT58+evv//PPPuLq6cu7cuXz1FxJCCFF8pGVoGLHkKGduJOJia8GywMZ4ORku2ZGaHSOX19qghg0bPnZ7WFgYjRo10lvXuHHjJ57X19dXl+hA1hQD2dMNQFZSNmDAACpUqICDgwO+vr4AREZG5iluIYQQxUuGRsvYFcc5FBGHvaUZS4Y3poKrnUFjkpqdfLI2N+XcDH+DXTuv/Pz8UKlUnD9/nl69euXYfv78eUqVKoWrqysAtra2hRbng8zNzfVeq1QqvSaq7t274+Pjw48//oiXlxdarZaaNWvKDPNCCFECabUKb/92ih3nb2FpZsKioY2oWcbR0GFJspNfKpUqz01JhuTi4kKHDh347rvvmDBhgl6/nejoaJYvX86QIUPyPBpulSpV+Ouvv/TWHTly5KlijI2NJSwsjB9//JEWLVoAsG/fvqc6pxBCCMNQFIUZm86x/sQNzExUfP9qfRqXdzZ0WIA0Yxm1b7/9FrVajb+/P3v27OHatWts2bKFDh06UKZMmSf2t3nQqFGjuHDhAlOmTOHixYusXr1aN1lrQacPKFWqFC4uLvzwww+Eh4fz999/F+okrkIIIZ6dr3ZcIvifK6hUMKdfHdpWdTd0SDqS7BixSpUqcfToUSpUqEC/fv2oWLEir732Gm3atOHAgQM4O+c94y5fvjy//fYb69ato3bt2nz//fe6p7EsLS0LFJ+JiQkrV67k2LFj1KxZkwkTJug6QAshhCg5Fu+P4OudlwAIeqkGPeqWMXBE+mTWc/I267nM8JzTxx9/zIIFC7h27ZqhQxHPkHwmhBAPWnf8OhNXnwTgrQ6VeaNdpWd27bzOel78O5+IYuO7776jUaNGuLi4sH//fj7//HPGjh1r6LCEEEIYyPZzMUz+7RQAgc3LM7atn4Ejyp0kOyLPLl26xEcffURcXBzlypXjrbfeYurUqYYOSwghhAEcuBzLmBXH0WgV+tQvy3tdqhW4D2dRk2RH5NncuXOZO3euocMQQghhYKeuxzNy6VHSM7V0qO7Op31qYWJSPBMdkA7KQgghhMiH8FtJDF18hCR1Jk0ruDBvQD3MTIt3OlG8oxNCCCFEsXEjPpXBiw4Rl5xOnbKO/BjQEKt8DHhrKJLsCCGEEOKJ7iSpGfzTIaIS0vBzs2PxsMbYWZaM3jCS7AghhBDisRLTMgj4+TD/3kmmjJM1ywIb42xrYeiw8kySHSGEEEI8UlqGhhHBRzl7M5HSdlkzmHs6Gm4G84KQZEcIIYQQucrQaHl9+XEOXyk+M5gXhCQ7z4HWrVszfvx4Q4ehc+XKFVQqFaGhoU91nmdRLpVKxYYNG4r0GkIIURxptQqT1pzk7wu3sDI34edhjajhZfgZzAuiZPQsEvk2dOhQ4uPj2bBhA+vWrcPc3Fy3zdfXl/Hjxz+TBOjBOLJ5e3sTFRVF6dKln+rcD5dLCCFE4VAUhaA/zrIx9GbWDOaDGtDIt3jMYF4Qkuw8B/Iz4eezYGpqioeHx1Ofp7iVSwghjMXcHZdYcuCqbgbzNlXdDB3SU5FmrOfAg809rVu35urVq0yYMAGVSvXYob0jIyPp0aMHdnZ2ODg40K9fP2JiYnTbp0+fTt26dVm4cCHe3t7Y2NjQr18/EhISdNuXLFnCxo0bddcKCQnJ0YwVEhKCSqVi69at1KtXD2tra9q2bcutW7fYvHkz1apVw8HBgYEDB5KSkpJrubLP8fAydOhQ3f4bN26kfv36WFlZUaFCBYKCgsjMzNRtv3TpEi1btsTKyorq1auzffv2p3znhRCi5Fm0L4Jv7s9gPqNHzWI3g3lBSM1OfikKZKQ8eb+iYG4DTznvyLp166hTpw6vvfYaI0eOfOR+Wq1Wl+js3r2bzMxMxowZwyuvvEJISIhuv/DwcFavXs0ff/xBYmIigYGBvP766yxfvpxJkyZx/vx5EhMTWbx4MZBVG3Pz5s1crzl9+nS+/fZbXdLUr18/LC0tWbFiBUlJSfTq1Yt58+YxZcqUHMe++OKLREVF6V6fP3+eLl260LJlSwD27t3LkCFD+Oabb2jRogWXL1/mtddeA2DatGlotVp69+6Nu7s7hw4dIiEhoVj1cxJCiGfht2PXmbnpHACTOlZm8As+Bo6ocEiyk18ZKfCJl2Gu/e5NsLB9qlM4OztjamqKvb39Y5uSdu7cyenTp4mIiMDb2xuApUuXUqNGDY4cOUKjRo0ASEtLY+nSpZQpk5X5z5s3j65duzJnzhw8PDywtrZGrVbnqdnqo48+olmzZgAEBgYydepULl++TIUKFQDo27cvu3btyjXZsbCw0F0jNjaWESNGMHz4cIYPHw5AUFAQ77zzDgEBAQBUqFCBmTNn8vbbbzNt2jR27NjBhQsX2Lp1K15eWff3k08+oXPnzk9+U4UQwghsPRvNlLVZM5iPaF6eMW2K5wzmBSHNWCJX58+fx9vbW5foAFSvXh0nJyfOnz+vW1euXDldogPQtGlTtFotYWFh+b5m7dq1df93d3fHxsZGl+hkr7t169Zjz5GRkUGfPn3w8fHh66+/1q0/efIkM2bMwM7OTreMHDmSqKgoUlJSdOXNTnSyyyKEEM+Dfy7f4Y0VJ9BoFV5uUJb3uhbfGcwLQmp28svcJquGxVDXNmIPPlmlUqlyPGmlUqnQarWPPcfo0aO5du0ahw8fxszsvx/vpKQkgoKC6N27d45jrKysnjJyIYQouU5dj2fkkqOka7T413BnVu9aRpXogCQ7+adSPXVTkqFZWFig0Wgeu0+1atW4du0a165d09XunDt3jvj4eKpXr67bLzIykps3b+pqRA4ePIiJiQlVqlTJ87UKy5dffsnq1av5559/cHFx0dtWv359wsLC8PPLvVo2u7xRUVF4enoCWWURQghjFn7rHgE/HyY5XUMzPxe+7l/8ZzAvCOMrkXgiX19f9uzZw40bN7hz506u+7Rv355atWoxaNAgjh8/zuHDhxkyZAitWrWiYcOGuv2srKwICAjg5MmT7N27l3HjxtGvXz9d/xlfX19OnTpFWFgYd+7cISMjo0jKtGPHDt5++20+//xzSpcuTXR0NNHR0bonwz788EOWLl1KUFAQZ8+e5fz586xcuZL3339fV97KlSvrleW9994rkliFEKI4uH43hVd/OszdlAzqlHVk4eCSMYN5QUiyY6S0Wq1eM86DZsyYwZUrV6hYsSKurq657qNSqdi4cSOlSpWiZcuWtG/fngoVKrBq1Sq9/fz8/OjduzddunShY8eO1K5dm++++063feTIkVSpUoWGDRvi6urK/v37C6+QD9i3bx8ajYb//e9/eHp66pY333wTAH9/fzZt2sS2bdto1KgRL7zwAnPnzsXHJ+tJAxMTE9avX09qaiqNGzdmxIgRfPzxx0USqxBCGNrte2oGLzpMdGIaldzsCC5BM5gXhEpRFMXQQRhaYmIijo6OJCQk4ODgoLctLS2NiIgIypcvX6L6dnTq1Ak/Pz++/fbbIrvG9OnT2bBhw1NP+yBKlpL6mRBCZElIzWDADwc5F5VIGSdr1o5+EQ/HkvlZftz394OkZsfI3L17l02bNhESEkL79u0NHY4QQohiJDVdw4glRzgXlUhpO0uWj2hSYhOd/DDeOqvn1PDhwzly5AhvvfUWPXr0MHQ4QgghiomsGcyPceTKXeytzFg6vDG+pUv2Azd5Jc1YGGczlhBFRT4TQpQ8Wq3C+FWh/H7yJlbmJvwS2ISGJXhiz2zSjCWEEEIIFEVh2u9n+f1k1gzmC15tYBSJTn4YNNnZs2cP3bt3x8vLC5VKxYYNG/S2Dx06NMfEjp06ddLbJy4ujkGDBuHg4ICTkxOBgYEkJSU9w1IIIYQQxdeX2y+y7GDWDOZfvlKX1lVK9gzmBWHQZCc5OZk6deowf/78R+7TqVMnoqKidMuvv/6qt33QoEGcPXuW7du3s2nTJvbs2aOb4FEIIYR4nv2091/m/R0OwMweNXmpjoHmdjQwg3ZQ7ty58xMnWrS0tHzkJJLnz59ny5YtHDlyRDfQ3bx58+jSpQtffPGF3jxHQgghxPNk9dFrfPRn1lyGk/2r8KqRzGBeEMW+z05ISAhubm5UqVKF0aNHExsbq9t24MABnJyc9Eb0bd++PSYmJhw6dOiR51Sr1SQmJuotQgghhLHYejaad+7PYP5aywq83rqigSMyrGKd7HTq1ImlS5eyc+dOPv30U3bv3k3nzp11cy1FR0fj5qbf9mhmZoazszPR0dGPPO+sWbNwdHTULQ/O7C2EEEKUZPvDs2Yw1yrQr2FZpnauanQTe+ZXsU52+vfvz0svvUStWrXo2bMnmzZt4siRI4SEhDzVeadOnUpCQoJuuXbtWuEEXEy1bt2a8ePHGzoMnStXrqBSqZ565OVnUa7cOs4XZ9OnT6du3bq610OHDqVnz555Pj4kJASVSkV8fHyhxyaEKHqh1+IZuTRrBvNONTz4pJfxzWBeECVqUMEKFSpQunRpwsPDadeuHR4eHty6dUtvn8zMTOLi4h7Zzwey+gFZWloWdbgGNXToUOLj49mwYQPr1q3D3Nxct83X15fx48c/kwTowTiyeXt7ExUVRenSpZ/q3A+XSwghnmeXYu4xdPFhUrJnMB9Q1yhnMC+IEvUuXL9+ndjYWDw9PQFo2rQp8fHxHDt2TLfP33//jVarpUmTJoYKs9hxdnbG3t7e0GHomJqa4uHh8ciJSvOquJWrKKWnpxs6BCFEMXYtLoVXFx0iPiWDut5O/DC4IZZmxjmDeUEYNNlJSkoiNDRU15wRERFBaGgokZGRJCUlMXnyZA4ePMiVK1fYuXMnPXr0wM/PD39/fwCqVatGp06dGDlyJIcPH2b//v2MHTuW/v37y5NYD3iwuad169ZcvXqVCRMm6MYuepTIyEh69OiBnZ0dDg4O9OvXj5iYGN327CaThQsX4u3tjY2NDf369SMhIUG3fcmSJWzcuFF3rZCQkBzNWNlNJ1u3bqVevXpYW1vTtm1bbt26xebNm6lWrRoODg4MHDiQlJSUXMuVfY6Hl6FDh+r237hxI/Xr18fKyooKFSoQFBREZmambvulS5do2bIlVlZWVK9ene3bt+f7vQ4ODsbJyYkNGzZQqVIlrKys8Pf312sqvXz5Mj169MDd3R07OzsaNWrEjh079M7j6+vLzJkzGTJkCA4ODrrhFKZMmULlypWxsbGhQoUKfPDBB2RkZOQ5Pq1Wy6xZsyhfvjzW1tbUqVOH3377Ld/lFEIUH1kzmB8iJlFNZXc7Fg9thK0Rz2BeEAZ9N44ePUqbNm10rydOnAhAQEAA33//PadOnWLJkiXEx8fj5eVFx44dmTlzpl4T1PLlyxk7dizt2rXDxMSEPn368M033xRZzIqikJqZWmTnfxxrM+unbntdt24dderU4bXXXmPkyJGP3E+r1eoSnd27d5OZmcmYMWN45ZVX9PpMhYeHs3r1av744w8SExMJDAzk9ddfZ/ny5UyaNInz58+TmJjI4sWLgazamJs3b+Z6zenTp/Ptt9/qkqZ+/fphaWnJihUrSEpKolevXsybN48pU6bkOPbFF18kKipK9/r8+fN06dKFli1bArB3716GDBnCN998Q4sWLbh8+bIugZg2bRparZbevXvj7u7OoUOHSEhIKHAzX0pKCh9//DFLly7FwsKC119/nf79+7N//34gK8nv0qULH3/8MZaWlixdupTu3bsTFhZGuXLldOf54osv+PDDD5k2bZpunb29PcHBwXh5eXH69GlGjhyJvb09b7/9dp5imzVrFr/88gsLFiygUqVK7Nmzh1dffRVXV1datWpVoPIKIQwnITWDIT8f5kpsCmVLWbMssAmlbC0MHVaxY9Bkp3Xr1jxuaq6tW7c+8RzOzs6sWLGiMMN6rNTMVJqsMEwT2aGBh7Axt3mqczg7O2Nqaoq9vf1j+zXt3LmT06dPExERoXtabenSpdSoUYMjR47QqFEjIGuepKVLl1KmTBkga5yjrl27MmfOHDw8PLC2tkatVj/2Wtk++ugjmjVrBkBgYCBTp07l8uXLVKhQAYC+ffuya9euXJMdCwsL3TViY2MZMWIEw4cPZ/jw4QAEBQXxzjvvEBAQAGT1/5o5cyZvv/0206ZNY8eOHVy4cIGtW7fqagU/+eSTJ44DlZuMjAy+/fZbXVPqkiVLqFatGocPH6Zx48bUqVOHOnXq6PafOXMm69ev5/fff2fs2LG69W3btuWtt97SO/f777+v+7+vry+TJk1i5cqVeUp21Go1n3zyCTt27KBp06a692Hfvn0sXLhQkh0hSpjUdA2BwUc4f38G818Cm+DuIPPV5UbquUSuzp8/j7e3t95j+dWrV8fJyYnz58/rkp1y5crpEh3I6kel1WoJCwvLU4LzoNq1a+v+7+7urmuqeXDd4cOHH3uOjIwM+vTpg4+PD19//bVu/cmTJ9m/fz8ff/yxbp1GoyEtLY2UlBRdeR9s/sxOCPLLzMxM9/4AVK1aVfe+NW7cmKSkJKZPn86ff/5JVFQUmZmZpKamEhkZqXeeB8ePyrZq1Sq++eYbLl++TFJSEpmZmY+d/O5B4eHhpKSk0KFDB7316enp1KtXrwAlFUIYSnqmltHLj3H06l0crMxYFvj8zGBeEJLs5JO1mTWHBj56wMKivrYxe/DJKpVKleNJK5VKhVarfew5Ro8ezbVr1zh8+LBeB+ikpCSCgoLo3bt3jmOe9czdkyZNYvv27XzxxRf4+flhbW1N3759c3RCtrXV/8V14MABBg0aRFBQEP7+/jg6OrJy5UrmzJmTp+tmzxn3559/6iWogNE/nSiEMdFoFSauDiUk7DZW5iYsHtaIap55+6PneSXJTj6pVKqnbkoyNAsLC93AjI9SrVo1rl27xrVr13S1O+fOnSM+Pp7q1avr9ouMjOTmzZu6GpGDBw9iYmJClSpV8nytwvLll1+yevVq/vnnH1xcXPS21a9fn7CwMPz8/HI9Nru8UVFRuqf9Dh48WKA4MjMzOXr0KI0bNwYgLCyM+Ph4qlWrBsD+/fsZOnQovXr1ArKSkCtXrjzxvP/88w8+Pj689957unVXr17Nc1zVq1fH0tKSyMhIabISooRSFIUPN55h06kozE1VLBzckAY+z9cM5gUhyc5zyNfXlz179tC/f38sLS1zHe+mffv21KpVi0GDBvHVV1+RmZnJ66+/TqtWrfSaV6ysrAgICOCLL74gMTGRcePG0a9fP10Tlq+vL1u3biUsLAwXFxccHR2LpEw7duzg7bffZv78+ZQuXVo3gra1tTWOjo58+OGHdOvWjXLlytG3b19MTEw4efIkZ86c4aOPPqJ9+/ZUrlyZgIAAPv/8cxITE/WSivwwNzfnjTfe4JtvvsHMzIyxY8fywgsv6JKfSpUqsW7dOrp3745KpeKDDz54Yo1V9nGRkZGsXLmSRo0a8eeff7J+/fo8x2Vvb8+kSZOYMGECWq2W5s2bk5CQwP79+3FwcND1ZxJCFF9fbAtj+aFIVCqY+0pdWlV2NXRIJUKJGmdH5J1Wq33kODYzZszgypUrVKxYEVfX3D8oKpWKjRs3UqpUKVq2bEn79u2pUKECq1at0tvPz8+P3r1706VLFzp27Ejt2rX57rvvdNtHjhxJlSpVaNiwIa6urronkgrbvn370Gg0/O9//8PT01O3vPnmmwD4+/uzadMmtm3bRqNGjXjhhReYO3cuPj5ZE+OZmJiwfv16UlNTady4MSNGjNDr35OtdevWeo+z58bGxoYpU6YwcOBAmjVrhp2dnd779uWXX1KqVClefPFFunfvjr+/P/Xr139iGV966SUmTJjA2LFjqVu3Lv/88w8ffPBBPt6lrM7QH3zwAbNmzdIN3fDnn39Svnz5fJ1HCPHs/bjnX+bvugzAxz1r0a22DLGSVyrlcY9DPScSExNxdHQkISEhR2fPtLQ0IiIiKF++/DPv2/E0OnXqhJ+fH99++22RXWP69Ols2LDhqad9KEl8fHwICgp6ZMITHBzM+PHjjXq6hZL6mRCiJFt95Bpv35/Y8+1OVXi9de5N8s+bx31/P0hqdozM3bt32bRpEyEhIbRv397Q4RiVs2fP4ujoyJAhQwwdihDiObLlTBTvrMtKdEa1rMDoVs/3DOYFIX12jMzw4cM5cuQIb731Fj169DB0OEalRo0anDp1ytBhCCGeI/su3WHcr6FoFXiloTfvyAzmBSLNWBhnM5YQRUU+E0I8Gyci7zLop0OkpGvoUsuDeQPqY2oiic6DpBlLCCGEKKEuxtxj6OIjpKRraFGpNHNfqSuJzlOQZEcIIYQoRq7FpTB40SESUjOoV86JBa82kBnMn5IkO0IIIUQxceteGq/en8G8iru9zGBeSCTZEUIIIYqBhJQMhiw6zNXYFLydrVka2BgnG5nBvDBIsiOEEEIYWEp6JsOXHOFC9D1c7WUG88ImyY4QQghhQOmZWv73y3GOPTCDuY+LzGBemCTZEQY3ffp06tatW6TXaN26NePHjy/SawghRH5ptAoTVoey5+JtrM1NWTysMVU9ZAbzwibJjhHq3r07nTp1ynXb3r17UalUTzU4XkhICCqVqtCmRJg0aRI7d+4slHMJIURJoSgKH2w8w5+6Gcwb0MCnlKHDMkqS7BihwMBAtm/fzvXr13NsW7x4MQ0bNqR27doGiEyfoihkZmZiZ2eHi4uLocMRQohn6vOtYay4P4P5V6/Uo6XMYF5kJNkxQt26dcPV1ZXg4GC99UlJSaxZs4bAwED27dtHixYtsLa2xtvbm3HjxpGcnKzbV61WM2XKFLy9vbG0tMTPz49FixZx5coV2rRpA0CpUqVQqVS6STHVajXjxo3Dzc0NKysrmjdvzpEjR3TnzK4R2rx5Mw0aNMDS0pJ9+/blaMZSqVQ5Fl9fX932M2fO0LlzZ+zs7HB3d2fw4MHcuXNHtz05OZkhQ4ZgZ2eHp6cnc+bMKbw3VwghCsHC3Zf5LiRrBvNPetWia21PA0dk3CTZySdFUdCmpBhkyevMHmZmZgwZMoTg4GC9Y9asWYNGo6Fp06Z06tSJPn36cOrUKVatWsW+ffsYO3asbt8hQ4bw66+/8s0333D+/HkWLlyInZ0d3t7erF27FoCwsDCioqL4+uuvAXj77bdZu3YtS5Ys4fjx4/j5+eHv709cXJxefO+88w6zZ8/m/PnzudYwRUVF6Zbw8HD8/Pxo2bIlAPHx8bRt25Z69epx9OhRtmzZQkxMDP369dMdP3nyZHbv3s3GjRvZtm0bISEhHD9+PI93WAghitbKw5HM2nwBgHc6V2VA43IGjsj4ydxY5G9uLG1KCmH1GxgkzirHj2FiY5OnfS9cuEC1atXYtWsXrVu3BqBly5b4+PhgaWmJqakpCxcu1O2/b98+WrVqRXJyMpGRkVSpUoXt27fnOnN6SEgIbdq04e7duzg5OQFZtSmlSpUiODiYgQMHApCRkYGvry/jx49n8uTJuuM2bNigN0np9OnT2bBhA6GhoXrXURSFPn36EBkZyd69e7G2tuajjz5i7969bN26Vbff9evX8fb2JiwsDC8vL1xcXPjll194+eWXAYiLi6Ns2bK89tprfPXVV3l6/8SjydxYQhTcX6ejGLviOFoF/teqIu90rmrokEq0vM6NJcMyGqmqVavy4osv8vPPP9O6dWvCw8PZu3cvM2bMYPLkyZw6dYrly5fr9lcUBa1WS0REBKdPn8bU1JRWrVrl+XqXL18mIyODZs2a6daZm5vTuHFjzp8/r7dvw4YN83TOd999lwMHDnD06FGsra0BOHnyJLt27cLOzi7XGFJTU0lPT6dJkya69c7OzlSpUiXPZRFCiKKw99Jt3lx5Aq0CAxp7M6WT/F56ViTZySeVtTVVjh8z2LXzIzAwkDfeeIP58+ezePFiKlasSKtWrUhKSmLUqFGMGzcuxzHlypUjPDy8sELOla3tk8eP+OWXX5g7dy4hISGUKVNGtz4pKYnu3bvz6aef5jjG09OzyGMXQoiCOB55l9eWHiNDo9C1licf9ayFSiUTez4rkuzkk0qlQpXHpiRD69evH2+++SYrVqxg6dKljB49GpVKRf369Tl37hx+fn65HlerVi20Wi27d+/OtRnLwiJr+HKNRqNbV7FiRSwsLNi/fz8+Pj5AVjPWkSNH8j2+zYEDBxgxYgQLFy7khRde0NtWv3591q5di6+vL2ZmOX98K1asiLm5OYcOHaJcuax28Lt373Lx4sV81VQJIURhCYu+x7DFR0jNyJrB/MtX6sgM5s+YdFA2YnZ2drzyyitMnTqVqKgo3VNTU6ZM4Z9//mHs2LGEhoZy6dIlNm7cqOug7OvrS0BAAMOHD2fDhg1EREQQEhLC6tWrAfDx8UGlUrFp0yZu375NUlIStra2jB49msmTJ7NlyxbOnTvHyJEjSUlJITAwMM8xR0dH06tXL/r374+/vz/R0dFER0dz+/ZtAMaMGUNcXBwDBgzgyJEjXL58ma1btzJs2DA0Gg12dnYEBgYyefJk/v77b86cOcPQoUMxMZEfdSHEsxcZ+98M5vXLObFwsMxgbgjyDWDkAgMDuXv3Lv7+/nh5eQFQu3Ztdu/ezcWLF2nRogX16tXjww8/1G0H+P777+nbty+vv/46VatWZeTIkbpH08uUKUNQUBDvvPMO7u7uuiRp9uzZ9OnTh8GDB1O/fn3Cw8PZunUrpUrlfZCsCxcuEBMTw5IlS/D09NQtjRo1AsDLy4v9+/ej0Wjo2LEjtWrVYvz48Tg5OekSms8//5wWLVrQvXt32rdvT/PmzWnQwDCdyoUQz69biVkzmN+6p6aqhz2LhzbGxkIaVAxBnsYif09jCfG8k8+EEE8Wn5LOKwsPEhZzj3LONvz2v6a4ycSehS6vT2NJzY4QQghRiFLSMxkWfISwmHu43Z/BXBIdw5JkRwghhCgk6kwNo5Yd40RkPI7W5iwLbEI5l5LxUIsxk2RHCCGEKAQarcLEVSfZe+nO/RnMG1HFw97QYQkk2RFCCCGemqIovL/hNH+ezprB/IchDahfTmYwLy4k2RFCCCGe0qdbwvj18DVMVPB1/3q0qCQzmBcnkuwIIYQQT+H7kMss2J01g/ms3rXoUktmMC9uJNkRQgghCujXw5F8uiVrBvN3u1TllUYyg3lxJMmOEEIIUQB/nori3fWnARjduiKvtaxo4IjEo0iyI4QQQuTTnou3Gb/qBIoCAxqX421/mcG8OJNkRxQL06dPp27dukV6jdatW+d7UlJDCgkJQaVSER8fD0BwcDBOTk75OodKpWLDhg2FHpsQz7NjV+8yatn9Gcxre/JRz5oyg3kxJ8mOEerevTudOnXKddvevXtRqVScOnXqqa7x8Bfx05o0aRI7d+4slHMJIURROR+VyLDFh0nN0NCqsitz+9WVGcxLAIMmO3v27KF79+54eXnl+As0IyODKVOmUKtWLWxtbfHy8mLIkCHcvHlT7xy+vr6oVCq9Zfbs2c+4JMVLYGAg27dv5/r16zm2LV68mIYNG1K7dm0DRJaToihkZmZiZ2eHi4uLocN5JtLT0w0dghCiAK7GJjPk58MkpmXSwKcU379aHwszqTMoCQx6l5KTk6lTpw7z58/PsS0lJYXjx4/zwQcfcPz4cdatW0dYWBgvvfRSjn1nzJhBVFSUbnnjjTeeRfjFVrdu3XB1dSU4OFhvfVJSEmvWrCEwMBCAffv20aJFC6ytrfH29mbcuHG6mc0B1Go1U6ZMwdvbG0tLS/z8/Fi0aBFXrlyhTZs2AJQqVQqVSsXQoUN1x4wbNw43NzesrKxo3rw5R44c0Z0zu0Zo8+bNNGjQAEtLS/bt25ejGevhBFalUuHr66vbfubMGTp37oydnR3u7u4MHjyYO3fu6LYnJyczZMgQ7Ozs8PT0ZM6cOfl+H69cuYJKpWLlypW8+OKLWFlZUbNmTXbv3q3bR6PREBgYSPny5bG2tqZKlSp8/fXXeucZOnQoPXv25OOPP8bLy4sqVbLa9pctW0bDhg2xt7fHw8ODgQMHcuvWrXzFuHHjRurXr4+VlRUVKlQgKCiIzMzMfJdVCPF4MfdnML99fwbznwMayQzmJYlSTADK+vXrH7vP4cOHFUC5evWqbp2Pj48yd+7cp7p2QkKCAigJCQk5tqWmpirnzp1TUlNTFUVRFK1Wq6SnZRpk0Wq1eS7T5MmTlYoVK+od8/PPPyvW1tZKfHy8Eh4ertja2ipz585VLl68qOzfv1+pV6+eMnToUN3+/fr1U7y9vZV169Yply9fVnbs2KGsXLlSyczMVNauXasASlhYmBIVFaXEx8criqIo48aNU7y8vJS//vpLOXv2rBIQEKCUKlVKiY2NVRRFUXbt2qUASu3atZVt27Yp4eHhSmxsrDJt2jSlTp06umtHRUXplvDwcMXPz08ZPHiwoiiKcvfuXcXV1VWZOnWqcv78eeX48eNKhw4dlDZt2uiOHz16tFKuXDllx44dyqlTp5Ru3bop9vb2yptvvpnn9zAiIkIBlLJlyyq//fabcu7cOWXEiBGKvb29cufOHUVRFCU9PV358MMPlSNHjij//vuv8ssvvyg2NjbKqlWrdOcJCAhQ7OzslMGDBytnzpxRzpw5oyiKoixatEj566+/lMuXLysHDhxQmjZtqnTu3Fl3XPZ7dffuXUVRFGXx4sWKo6OjbvuePXsUBwcHJTg4WLl8+bKybds2xdfXV5k+fbpun7x8rvLr4c+EEMbubrJa6fBliOIzZZPS8rO/lZhE+dkvLh73/f2gEpWWJiQkoFKpcnTSnD17NjNnzqRcuXIMHDiQCRMmYGZWNEXLTNfyw5u7n7xjEXjt61aYW5rmad/hw4fz+eefs3v3blq3bg1kNWH16dMHR0dH3nrrLQYNGqTrsFupUiW++eYbWrVqxffff09kZCSrV69m+/bttG/fHoAKFSrozu/s7AyAm5ub7n4kJyfz/fffExwcTOfOnQH48ccf2b59O4sWLWLy5Mm642fMmEGHDh0eGb+HhweQ1cyVHfPChQsB+Pbbb6lXrx6ffPKJbv+ff/4Zb29vLl68iJeXF4sWLeKXX36hXbt2ACxZsoSyZcvm6b172NixY+nTpw8A33//PVu2bGHRokW8/fbbmJubExQUpNu3fPnyHDhwgNWrV9OvXz/deltbW3766ScsLCx064YPH677f4UKFfjmm29o1KgRSUlJ2NnZPTGuoKAg3nnnHQICAnTnmDlzJm+//TbTpk0rUFmFEPqS1VkzmF+MSfpvBnN7mcG8pCkxyU5aWhpTpkxhwIABODg46NaPGzeO+vXr4+zszD///MPUqVOJioriyy+/fOS51Go1arVa9zoxMbFIYzeEqlWr8uKLL/Lzzz/TunVrwsPD2bt3LzNmzADg5MmTnDp1iuXLl+uOURQFrVZLREQEp0+fxtTUlFatWuX5mpcvXyYjI4NmzZrp1pmbm9O4cWPOnz+vt2/Dhg3zdM53332XAwcOcPToUaytrXWx79q1K9eE4PLly6SmppKenk6TJk10652dnXXNR/nVtGlT3f/NzMxo2LChXnnmz5/Pzz//TGRkpO7aDz9ZVqtWLb1EB+DYsWNMnz6dkydPcvfuXbRaLQCRkZFUr179iXGdPHmS/fv38/HHH+vWaTQa0tLSSElJwcZGZloW4mmoMzX875esGcydbMz5ZUQTvJ3lc1USlYhkJyMjg379+qEoCt9//73etokTJ+r+X7t2bSwsLBg1ahSzZs3C0tIy1/PNmjVL76/x/DCzMOG1r/OeABQmM4v8dbEKDAzkjTfeYP78+SxevJiKFSvqkpekpCRGjRrFuHHjchxXrlw5wsPDCyXmR7G1tX3iPr/88gtz584lJCSEMmXK6NYnJSXRvXt3Pv300xzHeHp6FnnsD1q5ciWTJk1izpw5NG3aFHt7ez7//HMOHTqkt9/D5U1OTsbf3x9/f3+WL1+Oq6srkZGR+Pv757kDc1JSEkFBQfTu3TvHNisr+ctTiKeh0SqMXxnK3kt3sLEwZfHQRlR2lxnMS6pin+xkJzpXr17l77//1qvVyU2TJk3IzMzkypUrj/xLfurUqXpJUmJiIt7e3nmKR6VS5bkpydD69evHm2++yYoVK1i6dCmjR4/WjQVRv359zp07h5+fX67H1qpVC61Wy+7du3XNWA/KrqXQaDS6dRUrVsTCwoL9+/fj4+MDZN2/I0eO5Ht8mwMHDjBixAgWLlzICy+8oLetfv36rF27Fl9f31ybKytWrIi5uTmHDh2iXLmsodvv3r3LxYsX81VTle3gwYO0bNkSgMzMTI4dO8bYsWMB2L9/Py+++CKvv/66bv/Lly8/8ZwXLlwgNjaW2bNn6372jh49mq+46tevT1hY2CPvoRCiYBRF4d11p9l8JhoLUxN+GNyQejKDeYlWrJ+Zy050Ll26xI4dO/L0aHJoaCgmJia4ubk9ch9LS0scHBz0FmNkZ2fHK6+8omvay35iCmDKlCn8888/jB07ltDQUC5dusTGjRt1X+K+vr4EBAQwfPhwNmzYQEREBCEhIaxevRoAHx8fVCoVmzZt4vbt2yQlJWFra8vo0aOZPHkyW7Zs4dy5c4wcOZKUlBTdE2B5ER0dTa9evejfvz/+/v5ER0cTHR3N7du3ARgzZgxxcXEMGDCAI0eOcPnyZbZu3cqwYcPQaDTY2dkRGBjI5MmT+fvvvzlz5gxDhw7FxKRgP+7z589n/fr1XLhwgTFjxnD37l1df5tKlSpx9OhRtm7dysWLF/nggw/0nj57lHLlymFhYcG8efP4999/+f3335k5c2a+4vrwww9ZunQpQUFBnD17lvPnz7Ny5Uref//9ApVTCJGV6MzafIFVR7NmMP9mQF2aVypt6LDEUzJospOUlERoaCihoaEAREREEBoaSmRkJBkZGfTt25ejR4+yfPlyNBqN7ksvu5r/wIEDfPXVV5w8eZJ///2X5cuXM2HCBF599VVKlZIsHLKasu7evYu/vz9eXl669bVr12b37t1cvHiRFi1aUK9ePT788EO9fb7//nv69u3L66+/TtWqVRk5cqTu0fQyZcroOsi6u7vrkqTZs2fTp08fBg8eTP369QkPD2fr1q35uh8XLlwgJiaGJUuW4OnpqVsaNWoEgJeXF/v370ej0dCxY0dq1arF+PHjcXJy0iU0n3/+OS1atKB79+60b9+e5s2b06BBA73rTJ8+Xe9x9keZPXs2s2fPpk6dOuzbt4/ff/+d0qWzfvmNGjWK3r1788orr9CkSRNiY2P1ankeJXtogDVr1lC9enVmz57NF198kef3CMDf359Nmzaxbds2GjVqxAsvvMDcuXN1tWpCiPz7fvdlftjzLwCze9emU02ZwdwYqBRFUQx18ZCQEN14LQ8KCAhg+vTplC9fPtfjdu3aRevWrTl+/Divv/46Fy5cQK1WU758eQYPHszEiRMf2V8nN4mJiTg6OpKQkJCjlictLY2IiAjKly8v/SCMTEBAACqVKsd4RNmuXLlC+fLlOXHiRJFPZVGSyGdCGKsVhyJ1E3u+16UaI1tWeMIRwtAe9/39IIP22WndujWPy7WelIfVr1+fgwcPFnZY4jmgKAohISHs27fP0KEIIYqBP07e5L0NWYnOmDYVJdExMsW+g7IQRUGlUnH16lVDhyGEKAZCwm4xcXUoigKDmpRjUkeZwdzYSLIjxCP4+vo+sXZRCFGyHb0Sx/9+yZrBvHsdL2b0kBnMjVGxfhpLCCGEKCrnbiYyLPgIaRlaWlV2Zc7LdWQGcyMlyU4eyV/4QmSRz4IwBlfuZM1gfi8tk4Y+pVjwagOZwdyIyZ19AlPTrAEE8zqqrRDGLiUlBciaCkSIkig6IWsG8ztJaqp5OrBoaCOsLUrGYLGiYKTPzhOYmZlhY2PD7du3MTc3L/DAdEKUdIqikJKSwq1bt3ByctL9ISBESXI3OZ3Biw5x/W4qvi42LB3eGEdrSdyNnSQ7T6BSqfD09CQiIkKe3hECcHJy0s1KL0RJkqzOZGjwES7dSsLdwZJlgU1wtc/7mGyi5JJkJw8sLCyoVKmSNGWJ5565ubnU6IgSSZ2p4bVlRzl57f4M5oEyg/nzRJKdPDIxMZHRYoUQogTK1Gh589dQ9ofHYmNhSvCwxlSSGcyfK9IBRQghhNFSFIV3159my9msGcx/HNKQut5Ohg5LPGOS7AghhDBKiqLwyV/nWX30+v0ZzOvRzE9mMH8eSbIjhBDCKH0Xcpkf90YAMLtPbTrVlI71zytJdoQQQhidXw5e5fOtYQC837Ua/Rp6GzgiYUiS7AghhDAqv5+8yQcbzwDwRls/RrSQGcyfd5LsCCGEMBq7Ltxi4qqsGcwHv+DDxA6VDR2SKAYk2RFCCGEUjlyJY/TyY2RqFV6q40XQSzVkBnMBSLIjhBDCCJy7mcjw+zOYt6niypx+dTCRGczFfZLsCCGEKNEiHpjBvJFvKb4b1ABzU/l6E/+RnwYhhBAlVnRCGq/+lDWDeXVPB34KkBnMRU6S7AghhCiR4pLTeXXRIW7EZ81gvkRmMBePkO9kZ8uWLezbt0/3ev78+dStW5eBAwdy9+7dQg1OCCGEyE2SOpNhiw8TfisJDwcrmcFcPFa+k53JkyeTmJgIwOnTp3nrrbfo0qULERERTJw4sdADFEIIIR6UlqHhtaVHOXk9gVI25iwLbCwzmIvHyves5xEREVSvXh2AtWvX0q1bNz755BOOHz9Oly5dCj1AIYQQIlumRsu4X0/wz+VYbGUGc5FH+a7ZsbCwICUlBYAdO3bQsWNHAJydnXU1PkIIIURh02oV3ll3mm3nYrAwM+HHgIbUkRnMRR7ku2anefPmTJw4kWbNmnH48GFWrVoFwMWLFylbtmyhByiEEEIoisLHf53nt2PXMTVR8e2AerxYUWYwF3mT75qdb7/9FjMzM3777Te+//57ypQpA8DmzZvp1KlToQcohBBCzN8VzqJ9WTOYf9qnNh1ryAzmIu9UiqIohg7C0BITE3F0dCQhIQEHBwdDhyOEEOIByw5c4YONZwH4oFt1ApuXN3BEorjI6/d3npqx8tMXR5IFIYQQhWX10Wt8+HtWojOurZ8kOqJA8pTsODk55XkyNY1G81QBCSGEEFqtwpfbL/LtrnAAhjT1YYLMYC4KKE/Jzq5du3T/v3LlCu+88w5Dhw6ladOmABw4cIAlS5Ywa9asoolSCCHEcyMtQ8OkNSfZdCoKgDFtKvJWhyoyg7kosHz32WnXrh0jRoxgwIABeutXrFjBDz/8QEhISGHG90xInx0hhCgebt9T89qyo5yIjMfcVMUnvWrxckNvQ4cliqm8fn/n+2msAwcO0LBhwxzrGzZsyOHDh/N7OiGEEAKAizH36Dl/Pyci43G0NmdZYBNJdEShyHey4+3tzY8//phj/U8//YS3t/xQCiGEyL/dF2/T57t/uBGfSvnStqx//UVeqOBi6LCEkcj3oIJz586lT58+bN68mSZNmgBw+PBhLl26xNq1aws9QCGEEMZt2cGrTP/9LBqtQuPyzix8tQGlbC0MHZYwIvmu2enSpQuXLl2ie/fuxMXFERcXR/fu3bl48aLMjSWEECLPNFqFGX+c44MNZ9BoFfrUL8uywMaS6IhCJ4MKIh2UhRDiWUtWZ/LmyhPsOH8LgMn+VXi9dUV54krkS6EOKviw+Ph4Dh8+zK1bt9BqtXrbhgwZUpBTCiGEeE5EJaQSGHyUc1GJWJqZMKdfHbrV9jJ0WMKI5TvZ+eOPPxg0aBBJSUk4ODjoZeEqlUqSHSGEEI90+noCI5YeISZRTWk7C34c0pB65UoZOixh5PLdZ+ett95i+PDhJCUlER8fz927d3VLXFxcUcQohBDCCGw9G02/hQeISVRT2d2O9a83k0RHPBP5TnZu3LjBuHHjsLGxeeqL79mzh+7du+Pl5YVKpWLDhg162xVF4cMPP8TT0xNra2vat2/PpUuX9PaJi4tj0KBBODg44OTkRGBgIElJSU8dmxBCiMKhKAo/7vmX//1yjNQMDS0qlea30S/i7fz03yNC5EW+kx1/f3+OHj1aKBdPTk6mTp06zJ8/P9ftn332Gd988w0LFizg0KFD2Nra4u/vT1pamm6fQYMGcfbsWbZv386mTZvYs2cPr732WqHEJ4QQ4ulkaLS8u/40H/91HkWBV18ox+KhjXCwMjd0aOI5ku+nsRYtWsSMGTMYNmwYtWrVwtxc/wf2pZdeKlggKhXr16+nZ8+eQNZfAl5eXrz11ltMmjQJgISEBNzd3QkODqZ///6cP3+e6tWrc+TIEd2ozlu2bKFLly5cv34dL6+8dXiTp7GEEKLwJaRmMGb5cfaF30Glgg+6VmdYM1954koUmiJ7GmvkyJEAzJgxI8c2lUpVaLOeR0REEB0dTfv27XXrHB0dadKkCQcOHKB///4cOHAAJycnvekr2rdvj4mJCYcOHaJXr16FEosQQoj8iYxNYfiSI4TfSsLGwpRv+tejfXV3Q4clnlP5TnYeftS8qERHRwPg7q7/4XB3d9dti46Oxs3NTW+7mZkZzs7Oun1yo1arUavVuteJiYmFFbYQQjz3jl2NY+TSY8Qlp+PpaMVPAQ2p4eVo6LDEcyzffXaMwaxZs3B0dNQtMqeXEEIUjo2hNxjw4yHiktOpWcaBDWOaSaIjDK5Ayc7u3bvp3r07fn5++Pn58dJLL7F3795CDczDwwOAmJgYvfUxMTG6bR4eHty6dUtve2ZmJnFxcbp9cjN16lQSEhJ0y7Vr1wo1diGEeN4oisJXOy7y5spQ0jO1dKzuzupRTXF3sDJ0aELkP9n55ZdfaN++PTY2NowbN45x48ZhbW1Nu3btWLFiRaEFVr58eTw8PNi5c6duXWJiIocOHaJp06YANG3alPj4eI4dO6bb5++//0ar1eomKc2NpaUlDg4OeosQQoiCUWdqmLAqlK92ZA0NMqplBRa82gAbiwIN0i9Eocv301jVqlXjtddeY8KECXrrv/zyS3788UfOnz+f53MlJSURHh4OQL169fjyyy9p06YNzs7OlCtXjk8//ZTZs2ezZMkSypcvzwcffMCpU6c4d+4cVlZZfy107tyZmJgYFixYQEZGBsOGDaNhw4b5SrzkaSwhhCiYuOR0Ri07ypErdzEzUTGzZ00GNC5n6LDEcyKv39/5TnYsLS05e/Ysfn5+euvDw8OpWbOm3hg4TxISEkKbNm1yrA8ICCA4OBhFUZg2bRo//PAD8fHxNG/enO+++47KlSvr9o2Li2Ps2LH88ccfmJiY0KdPH7755hvs7OzyHIckO0IIkX/ht5IYHnyEyLgU7K3MWPBqA5r5lTZ0WOI5UmTJjp+fH5MnT2bUqFF66xcsWMCcOXNyjHBcEkiyI4QQ+bM//A6jfzlGYlom5Zxt+HloQ/zc7A0dlnjOFNk4O2+99Rbjxo0jNDSUF198EYD9+/cTHBzM119/XfCIhRBClAgrD0fy/oYzZGoVGviU4ofBDXCxszR0WEI8Ur6TndGjR+Ph4cGcOXNYvXo1kNWPZ9WqVfTo0aPQAxRCCFE8aLUKn265wMI9/wLQo64Xn/apjZW5qYEjE+Lx8t2MZYykGUsIIR4vNV3D+FUn2Ho2aziQ8e0r8Wa7SjL1gzCoImvGOnLkSK6Pdh86dAhTU1O9qRuEEEKUfLcS0xix9CinridgYWrCZ31r07NeGUOHJUSe5XucnTFjxuQ6CN+NGzcYM2ZMoQQlhBCieDh3M5Ee8/dz6noCzrYWrBjZRBIdUeLku2bn3Llz1K9fP8f6evXqce7cuUIJSgghhOH9fSGGN1acIDldQ0VXW34e2ggfF1tDhyVEvuW7ZsfS0jLHFA4AUVFRmJnJaJlCCFHSKYrC4v0RjFhylOR0DS9WdGHd6GaS6IgSK9/JTseOHXVzS2WLj4/n3XffpUOHDoUanBBCiGcrU6Plw41nCfrjHFoF+jfyZsnwxjjamBs6NCEKLN9VMV988QUtW7bEx8eHevXqARAaGoq7uzvLli0r9ACFEEI8G/fSMhi74gS7L95GpYKpnasyskUFeeJKlHj5TnbKlCnDqVOnWL58OSdPnsTa2pphw4YxYMAAzM0l8xdCiJLo+t0UAoOPEhZzDytzE756pR6danoYOiwhCkWBOtnY2try2muvFXYsQgghDOBE5F1GLj3GnSQ1bvaWLApoRK2yjoYOS4hCk+8+OwDLli2jefPmeHl5cfXqVQDmzp3Lxo0bCzU4IYQQRevPU1H0/+Egd5LUVPN0YOPYZpLoCKOT72Tn+++/Z+LEiXTu3Jm7d++i0WgAKFWqFF999VVhxyeEEKIIKIrC/F3hjFlxHHWmlrZV3Vjzv6Z4OlobOjQhCl2+k5158+bx448/8t577+k9at6wYUNOnz5dqMEJIYQofOmZWiatOcXnW8MAGN6sPD8OaYidpQwfIoxTvn+yIyIidE9hPcjS0pLk5ORCCUoIIUTRiE9JZ9SyYxyKiMPURMX07tUZ3NTX0GEJUaTyneyUL1+e0NBQfHx89NZv2bKFatWqFVpgQgghClfEnWSGBx8h4k4ydpZmfDuwHq2ruBk6LCGKXL6TnYkTJzJmzBjS0tJQFIXDhw/z66+/MmvWLH766aeiiFEIIcRTOvhvLP/75RjxKRmUcbLm56GNqOJhb+iwhHgm8p3sjBgxAmtra95//31SUlIYOHAgXl5efP311/Tv378oYhRCCPEUfjt2nanrTpGhUajr7cSPQxriam9p6LCEeGZUiqIoBT04JSWFpKQk3NxKdjVoYmIijo6OJCQk4ODgYOhwhBCiUGi1Cl9uv8i3u8IB6FrLkzn96mBlbmrgyIQoHHn9/i7QODvZbGxsOH/+PJs3b+bu3btPcyohhBCFKC1Dwxu/ntAlOmPb+DFvQD1JdMRzKc/NWJ9++ilJSUnMnDkTyBqjoXPnzmzbtg0ANzc3du7cSY0aNYomUiGEEHly+56akUuPEnotHnNTFbN616Zvg7KGDksIg8lzzc6qVauoWbOm7vVvv/3Gnj172Lt3L3fu3KFhw4YEBQUVSZBCCCHyJiz6Hj3n7yf0WjxONuYsC2wiiY547uW5ZiciIoLatWvrXv/111/07duXZs2aAfD+++/z8ssvF36EQggh8mT3xduMWX6cJHUm5Uvb8vPQRpQvbWvosIQwuDzX7GRmZmJp+V/v/QMHDvDiiy/qXnt5eXHnzp3CjU4IIUSeLDt4leHBR0hSZ9KkvDPrX39REh0h7stzslOxYkX27NkDQGRkJBcvXqRly5a67devX8fFxaXwIxRCCPFIGq1C0B9n+WDDGTRahT71y7IssAlONhaGDk2IYiPPzVhjxoxh7Nix7N27l4MHD9K0aVOqV6+u2/7333/nOo2EEEKIopGkzuTNX0+w88ItACb7V+H11hVRqVQGjkyI4iXPyc7IkSMxNTXljz/+oGXLlkybNk1v+82bNxk+fHihByiEECKnqIRUhgcf5XxUIpZmJnzZry5da3saOiwhiqWnGlTQWMiggkKIkuT09QQClxzh1j01pe0s+XFIA+qVK2XosIR45vL6/Z3v6SKEEEIYztaz0YxfGUpqhobK7nb8PLQRZUvZGDosIYo1SXaEEKIEUBSFH/f+y6zNF1AUaFnZlW8H1sPBytzQoQlR7EmyI4QQxVyGRssHG86w8sg1AAa/4MO07tUxM32qGX+EeG5IsiOEEMVYQmoGry8/xv7wWExU8EG36gx90VeeuBIiHyTZEUKIYioyNoVhwYe5fDsZGwtT5g2oR7tq7oYOS4gSJ9/JTnJyMrNnz2bnzp3cunULrVart/3ff/8ttOCEEOJ5dfRKHK8tO0ZccjqejlYsCmhEdS95WlSIgsh3sjNixAh2797N4MGD8fT0lKpUIYQoZBtDbzB5zSnSNVpqlXFkUUBD3BysDB2WECVWvpOdzZs38+eff+omABVCCFE4FEXh652X+GrHJQA6Vnfnq/51sbGQHgdCPI18f4JKlSqFs7NzUcQihBDPrbQMDVPWnmJj6E0ARrWqwBT/qpiYSO25EE8r388tzpw5kw8//JCUlJSiiEcIIZ47sUlqXv3pEBtDb2JmomJ271pM7VxNEh0hCkm+a3bmzJnD5cuXcXd3x9fXF3Nz/QGtjh8/XmjBCSGEsQu/lcTw4CNExqVgb2XGglcb0MyvtKHDEsKo5DvZ6dmzZxGE8Wi+vr5cvXo1x/rXX3+d+fPn07p1a3bv3q23bdSoUSxYsOBZhSiEEAWyP/wO//vlGPfSMinnbMPPQxvh52Zn6LCEMDr5TnYenu28qB05cgSNRqN7febMGTp06MDLL7+sWzdy5EhmzJihe21jI/PECCGKt18PR/LBhjNkahUa+pTihyENcba1MHRYQhilYt/F39XVVe/17NmzqVixIq1atdKts7GxwcPD41mHJoQQ+abVKny65QIL92SNSdajrhef9qmNlbmpgSMTwnjlqYOys7Mzd+7cAf57GutRS1FKT0/nl19+Yfjw4Xrj+yxfvpzSpUtTs2ZNpk6d+sTO02q1msTERL1FCCGKWkp6Jv/75Zgu0ZnQvjJfvVJXEh0hilieanbmzp2Lvb09AF999VVRxvNYGzZsID4+nqFDh+rWDRw4EB8fH7y8vDh16hRTpkwhLCyMdevWPfI8s2bNIigo6BlELIQQWWIS0xix5CinbyRgYWrC5y/XpkfdMoYOS4jngkpRFMXQQeSVv78/FhYW/PHHH4/c5++//6Zdu3aEh4dTsWLFXPdRq9Wo1Wrd68TERLy9vUlISMDBQYZjF0IUrnM3EwlccoSohDScbS34YXADGvrKeGVCPK3ExEQcHR2f+P1d7PvsZLt69So7dux4bI0NQJMmTQAem+xYWlpiaWlZ6DEKIcTDdp6P4Y1fT5CSrqGiqy2LhzamnIs8RCHEs1Rikp3Fixfj5uZG165dH7tfaGgoAJ6ens8gKiGEyJ2iKCzef4WP/jyHVoFmfi58N6gBjtbmTz5YCFGoSkSyo9VqWbx4MQEBAZiZ/Rfy5cuXWbFiBV26dMHFxYVTp04xYcIEWrZsSe3atQ0YsRDieZap0RL0xzmWHcwaI2xAY29m9KiJuWm+B60XQhSCEpHs7Nixg8jISIYPH6633sLCgh07dvDVV1+RnJyMt7c3ffr04f333zdQpEKI511iWgZjV5xgz8XbqFTwbudqjGhRXu8JUiHEs1XgDsrh4eFcvnyZli1bYm1tjaIoJfbDnNcOTkII8TjX4lIIXHKEizFJWJub8lX/uvjXkDHAhCgqef3+znedamxsLO3bt6dy5cp06dKFqKgoAAIDA3nrrbcKHrEQQpRgJyLv0uu7/VyMScLdwZI1/2sqiY4QxUS+k50JEyZgZmZGZGSk3rQMr7zyClu2bCnU4IQQoiTYdOom/X84yJ2kdKp5OrBhTDNqlnE0dFhCiPvy3Wdn27ZtbN26lbJly+qtr1SpUq4TdgohhLFSFIXvQi7z+dYwANpVdeObAfWwtSwR3SGFeG7k+xOZnJyc60SbcXFxMnaNEOK5oc7U8O66M6w9fh2A4c3K817XapialMy+i0IYs3w3Y7Vo0YKlS5fqXqtUKrRaLZ999hlt2rQp1OCEEKI4upuczuBFh1l7/DqmJipm9qzJh92rS6IjRDGV75qdzz77jHbt2nH06FHS09N5++23OXv2LHFxcezfv78oYhRCiGLj39tJDA8+wpXYFOwtzfh2UH1aVXY1dFhCiMfId81OzZo1uXjxIs2bN6dHjx4kJyfTu3dvTpw48cjpGYQQwhgc/DeW3t//w5XYFMo4WbP29Rcl0RGiBChRE4EWFRlnRwjxJGuOXuPd9afJ0CjU9XbixyENcbWXfopCGFKRTgSalpbGqVOnuHXrFlqtVm/bSy+9VJBTCiFEsaTVKszZHsb8XZcB6Frbkzkv18HK3NTAkQkh8irfyc6WLVsYMmQId+7cybFNpVKh0WgKJTAhhDC0tAwNE1eH8tfpaADeaOvHhPaVMZGOyEKUKPnus/PGG2/w8ssvExUVhVar1Vsk0RFCGIvb99S88sNB/jodjbmpijkv1+GtjlUk0RGiBMp3zU5MTAwTJ07E3d29KOIRQgiDC4u+x/DgI9yIT8XJxpyFrzagSQUXQ4clhCigfNfs9O3bl5CQkCIIRQghDC8k7BZ9vv+HG/GplC9ty/rXm0miI0QJl++nsVJSUnj55ZdxdXWlVq1amJub620fN25coQb4LMjTWEIIgGUHrjDt97NoFWhS3pmFgxvgZGNh6LCEEI9QZE9j/frrr2zbtg0rKytCQkJQqf5rv1apVCUy2RFCPN80WoWP/jzH4v1XAOjboCyf9KqFhVm+K7+FEMVQvpOd9957j6CgIN555x1MTOQXgRCiZEtSZzLu1xP8feEWAG93qsLoVhX1/pATQpRs+U520tPTeeWVVyTREUKUeDfjUwlccpTzUYlYmpkw95W6dKnlaeiwhBCFLN8ZS0BAAKtWrSqKWIQQ4pk5fT2BnvP3cz4qkdJ2lqwa1VQSHSGMVL5rdjQaDZ999hlbt26ldu3aOToof/nll4UWnBBCFIUtZ6IZv+oEaRlaqrjbs2hoQ8qWsjF0WEKIIpLvZOf06dPUq1cPgDNnzuhtkzZuIURxpigKP+z5l9lbLqAo0KqyK98OrIe9lfmTDxZClFj5TnZ27dpVFHEIIUSRytBo+WDDGVYeuQbAkKY+fNitOmam0v9QCGNXoIlAhRCiJElIyWD08mP8czkWExV82K06Q5uVN3RYQohnJE/JTu/evQkODsbBwYHevXs/dt9169YVSmBCCFEYrsYmMyz4CP/eTsbWwpR5A+vRtqpMdyPE8yRPyY6jo6OuP46jo2ORBiSEEIVBURR+P3mToD/OEZecjqejFYsCGlHdS0ZJF+J5k+fpImbMmMGkSZOwsTG+JxZkugghjMvZmwlM//0sR67cBaBWGUcWBTTEzcHKwJEJIQpTXr+/85zsmJqaEhUVhZubW6EFWVxIsiOEcbibnM6c7WGsOBSJVgFrc1PGtKnIiBYVsDI3NXR4QohCVuhzY+VzvlAhhHhmMjVaVhyOZM62iySkZgDQvY4XUztXxcvJ2sDRCSEMLV9PY8k4OkKI4ubA5ViC/jjLheh7AFT1sCfopRo0qeBi4MiEEMVFvpKdypUrPzHhiYuLe6qAhBAiL27Ep/LJX+f581QUAI7W5kzqWJkBjcvJ2DlCCD35SnaCgoLkaSwhhEGlZWj4Yc+/fBcSTlqGFhMVDGriw8QOlSlla2Ho8IQQxVC+kp3+/fsbZQdlIUTxpygK287F8NGf57gWlwpA4/LOTO9eQx4nF0I8Vp6THemvI4QwlPBb9wj64xx7L90BwNPRine7VKNbbU/53SSEeCJ5GksIUWwlpmXw9Y5LLPnnCplaBQtTE15rWYHX21TExkJmuxFC5E2ef1totdqijEMIIXS0WoXfjl3ns60XuJOUDkCH6u6837UaPi62Bo5OCFHSyJ9GQohi5XjkXab/fpZT1xMAqOBqy7TuNWhV2dXAkQkhSipJdoQQxcKte2l8ujmMtcevA2Bnacb49pUY0tQXCzN5lFwIUXCS7AghDCo9U0vwPxF8szOcJHUmAC83KMvkTlVws5e5rIQQT0+SHSGEwYSE3WLGH+f4904yAHW8nQh6qQZ1vZ0MG5gQwqhIsiOEeOau3Enmoz/PseP8LQBK21kwpVNV+tQvi4mJPEouhChcxbohfPr06ahUKr2latWquu1paWmMGTMGFxcX7Ozs6NOnDzExMQaMWAjxOMnqTD7bcoGOc/ew4/wtzExUjGxRnr8nteblht6S6AghikSxr9mpUaMGO3bs0L02M/sv5AkTJvDnn3+yZs0aHB0dGTt2LL1792b//v2GCFUI8QiKovD7yZt88td5YhLVALSoVJpp3Wvg52Zn4OiEEMau2Cc7ZmZmeHh45FifkJDAokWLWLFiBW3btgVg8eLFVKtWjYMHD/LCCy8861CFELk4cyOBoD/OcuTKXQDKOdvwQbfqtK/mJqMfCyGeiWKf7Fy6dAkvLy+srKxo2rQps2bNoly5chw7doyMjAzat2+v27dq1aqUK1eOAwcOPDbZUavVqNVq3evExMQiLYMQz6O45HS+2BbGr4cjURSwNjdlbFs/ApuXx8rc1NDhCSGeI8U62WnSpAnBwcFUqVKFqKgogoKCaNGiBWfOnCE6OhoLCwucnJz0jnF3dyc6Ovqx5501axZBQUFFGLkQz69MjZblhyKZsy2MxLSsR8lfquPF1C5V8XS0NnB0QojnUbFOdjp37qz7f+3atWnSpAk+Pj6sXr0aa+uC/9KcOnUqEydO1L1OTEzE29v7qWIVQsA/l+8Q9Ps5wmLuAVDN04Hp3avTpIKLgSMTQjzPinWy8zAnJycqV65MeHg4HTp0ID09nfj4eL3anZiYmFz7+DzI0tISS0vLIo5WiOfHjfhUPvnzPH+ejgLAycacSR2rMKBxOUzlCSshhIEV60fPH5aUlMTly5fx9PSkQYMGmJubs3PnTt32sLAwIiMjadq0qQGjFOL5kZah4Zudl2g3J4Q/T0dhooIhTX0ImdSaV1/wkURHCFEsFOuanUmTJtG9e3d8fHy4efMm06ZNw9TUlAEDBuDo6EhgYCATJ07E2dkZBwcH3njjDZo2bSpPYglRxBRFYevZGD768xzX76YC0Li8M9O716C6l4OBoxNCCH3FOtm5fv06AwYMIDY2FldXV5o3b87Bgwdxdc2a/Xju3LmYmJjQp08f1Go1/v7+fPfddwaOWgjjdinmHkF/nGNf+B0APB2teLdLNbrV9pRHyYUQxZJKURTF0EEYWmJiIo6OjiQkJODgIH+VCpGbhNQMvt5xiSUHrqDRKliYmTCqZQVGt66IjUWx/rtJCGGk8vr9Lb+hhBCPpdEqrDl6jc+3hhGbnA5Ax+ruvN+1OuVcbAwcnRBCPJkkO0KIRzp29S7Tfz/L6RsJAFR0tWVa9xq0rOxq4MiEECLvJNkRQuRwKzGN2VsusO74DQDsLc14s30lAl70xdy0RD3EKYQQkuwIIf6Tnqll8f4Ivtl5ieR0DQD9GpZlsn9VXO1lbCohRMkkyY4QAoBdYbeY+cc5/r2TDEBdbyemv1SDut5Ohg1MCCGekiQ7QjznrtxJZuamc+y8cAuA0naWvNO5Kr3rlcFEBgUUQhgBSXaEeE4lqzP5dlc4i/ZGkK7RYmaiYnjz8rzR1g97K3NDhyeEEIVGkh0hnjOKorAx9CazNp8nJlENQMvKrnzYrTp+bnYGjk4IIQqfJDtCPEfO3Ehg+u9nOXr1LgDlnG34sFt12lVzk9GPhRBGS5IdIZ4DsUlqvth2kZVHIlEUsDY3ZWxbPwKbl8fK3NTQ4QkhRJGSZEcII5ap0fLLwat8uf0iiWmZAPSo68U7navi6Wht4OiEEOLZkGRHCCP1z+U7BP1+jrCYewBU93Rg+ks1aFze2cCRCSHEsyXJjhBG5vrdFGb9dYE/T0cB4GRjzqSOVRjQuBym8ii5EOI5JMmOEEYiLUPDwt3/8v3ucNIytJio4NUXfJjYoTJONhaGDk8IIQxGkh0hSjhFUdhyJpqP/jzPjfhUAJqUd2b6SzWo5ulg4OiEEMLwJNkRogS7GHOP6b+f5Z/LsQB4OVrxbtdqdK3lKY+SCyHEfZLsCFECJaRkMHfHRZYdvIpGq2BhZsL/Wlbgf60rYmMhH2shhHiQ/FYUogTRaBXWHL3GZ1vDiEtOB8C/hjvvd62Ot7ONgaMTQojiSZIdIUqIY1fjmP77OU7fSADAz82Oad2r06KSq4EjE0KI4k2SHSGKuZjEND7dfIF1J24AYG9pxvgOlRnS1AdzUxMDRyeEEMWfJDtCFFPqTA2L919h3s5LJKdrUKmgXwNvJneqQmk7S0OHJ4QQJYYkO0IUQ7su3GLGpnNE3EkGoF45J6Z3r0EdbyfDBiaEECWQJDtCFCMRd5KZuekcf1+4BYCrvSXvdKpKr3plMJHRj4UQokAk2RGiGEhSZ/Lt3+Es2vcvGRoFc1MVw5uVZ2xbP+ytzA0dnhBClGiS7AhhQIqisCH0BrP+usCte2oAWlV25cPu1anoamfg6IQQwjhIsiOEgZy+nsD0P85y7OpdAHxcbPiwW3XaVnWT0Y+FEKIQSbIjxDMWm6Tmi21hrDxyDUUBGwtTxrb1I7B5eSzNTA0dnhBCGB1JdoR4RjI1WpYdvMqX2y9yLy0TgJ51vXinczU8HK0MHJ0QQhgvSXaEeAb+Cb/D9D/OcjEmCYDqng4E9ahBI19nA0cmhBDGT5IdIYrQtbgUPvnrPJvPRANQysacSf5V6N+oHKbyKLkQQjwTkuwIUQRS0zUs2H2ZBbsvo87UYqKCwS/4MKFDZZxsLAwdnhBCPFck2RGiECmKwuYz0Xz853luxKcC8EIFZ6a/VIOqHg4Gjk4IIZ5PkuwIUUjCou8x/fezHPg3FoAyTta817UanWt6yKPkQghhQJLsCPGUElIymLvjIssOXkWjVbAwM+F/rSoyulVFrC3kUXIhhDA0SXaEKCCNVmH10Wt8vjWMuOR0ADrV8OC9rtXwdrYxcHRCCCGySbIjRAEcvRLH9D/OcuZGIgCV3OyY1r0GzSuVNnBkQgghHibJjhD5EJOYxuzNF1h/4gYA9lZmTGhfmcFNfTA3NTFwdEIIIXIjyY4QeaDO1PDzvivM+/sSKekaVCp4paE3k/yrUNrO0tDhCSGEeAxJdoR4gr8vxDDjj3NciU0BoF45J4JeqkHtsk6GDUwIIUSeFOt691mzZtGoUSPs7e1xc3OjZ8+ehIWF6e3TunVrVCqV3vK///3PQBELY5GarmFj6A0G/XSQ4cFHuRKbgqu9JV/2q8Pa/70oiY4QQpQgxbpmZ/fu3YwZM4ZGjRqRmZnJu+++S8eOHTl37hy2tra6/UaOHMmMGTN0r21s5EkYkX+ZGi37L8ey8cQNtpyNJiVdA4C5qYrhzcvzRttK2FkW64+MEEKIXBTr39xbtmzRex0cHIybmxvHjh2jZcuWuvU2NjZ4eHg86/CEEVAUhVPXE9gQeoM/TkZxJ0mt2+btbE3PumV4uYE35VwkgRZCiJKqWCc7D0tISADA2Vl/pujly5fzyy+/4OHhQffu3fnggw8eW7ujVqtRq//7UktMTCyagEWxdTU2mQ0nbrIx9Ab/3knWrS9lY0632l70rOdF/XKlZORjIYQwAiUm2dFqtYwfP55mzZpRs2ZN3fqBAwfi4+ODl5cXp06dYsqUKYSFhbFu3bpHnmvWrFkEBQU9i7BFMRKbpGbTqSg2hN7gRGS8br2VuQkdqnvQs64XLSu7yiPkQghhZFSKoiiGDiIvRo8ezebNm9m3bx9ly5Z95H5///037dq1Izw8nIoVK+a6T241O97e3iQkJODgIJM1GpOU9Ey2n4thw4kb7Ll0B40268fdRAXN/ErTs24Z/Gt6SF8cIYQogRITE3F0dHzi93eJ+A0/duxYNm3axJ49ex6b6AA0adIE4LHJjqWlJZaWMjaKscruaLzhxA22PtDRGKBWGUd61itD99qeuDlYGTBKIYQQz0qxTnYUReGNN95g/fr1hISEUL58+SceExoaCoCnp2cRRyeKkyd1NO5Vtwwv1S2Dn5udAaMUQghhCMU62RkzZgwrVqxg48aN2NvbEx0dDYCjoyPW1tZcvnyZFStW0KVLF1xcXDh16hQTJkygZcuW1K5d28DRi2fhyR2Ny1C/nJN0NBZCiOdYse6z86gvqMWLFzN06FCuXbvGq6++ypkzZ0hOTsbb25tevXrx/vvv56vvTV7b/ETx8KSOxr3qedGiknQ0FkIIY2cUfXaelId5e3uze/fuZxSNMCTpaCyEEKKg5JtBFFuP62hcu6wjPeqWoXsdT9zspaOxEEKIR5NkRxQr2R2N15+4waZTN7mTlK7bVs7Zhp51vehRrwwVXaWjsRBCiLyRZEcUC9kdjTeE3iDioY7G3et40aOudDQWQghRMJLsCIPJ7mi8/sQNQq/F69ZLR2MhhBCFSZId8Uw9qaNxr3pl6FhDOhoLIYQoPPKNIopcpkbLvvA7bAy9KR2NhRBCPHOS7IgioSgKJ68nsEE6GgshhDAwSXZEobpyJ5kNoTfYGHpTr6Oxs60F3Wp7SkdjIYQQz5wkO+Kp3UlSs+nkTTaE3szR0bhjdQ96SkdjIYQQBiTJjiiQ7I7G60/cYO9DHY2bV3KlZ10v6WgshBCiWJBvIpFn2R2NN5y4wbZzMTk6GvesW4Zu0tFYCCFEMSPJjnisJ3Y0rleGHnW9pKOxEEKIYkuSHZGrJ3U07lmvDPW8paOxEEKI4k+SHaHzpI7GveqVoXml0tLRWAghRIkiyc5zLiU9k21nY9gQKh2NhRBCFA5FUUhMTyQuLY641Fji7l2jlW9nLMwN06dTvsGeQ5kaLXvD77Axl47Gde6PaCwdjYUQQjwoLTMtK3lJiyMuOYbYxEji7t0gLimGuLQ7xKXdJS4jiThNKnFKOpkPHb/ZzoeynvUNErskO8+Jx3U09nGxoUfdMvSs60UF6WgshBDPBY1WQ7w6/r/al6SbxCVeIzbpJnEpt4hNjSMuPZG4zGTitGpS0Ob7GnZaLc4aDc4aLZnJt4ugFHkjyY6Ri7iTzIYTN9gYeoMrsSm69c62FnSv7UkP6WgshBBGQVEUkjOSdbUvsSm3icuufUmOIS71DnHqeF3ty10lAyWf1zBXFF3y4qzR4mJijrOpNc4W9jhbOuFsXRpnWw9c7MpQyskHS3tPsHUD29JgZlkk5c4LSXaMUHZH4/WhNzn5UEdj/xoe9KwrHY2FEKIkyNBk/Je8pMUSlxRFXOI14pKispKZNP3al/R8py/gdD95cdFocFZUOJta4Wxmi7OFAy7WLjjbuOJsVwZnh7LY2ZdFZe8Otq5g5QQmJeN7RJIdI5Hd0Xj9iRvsC8/Z0bhXPS86VvfAVjoaCyGEwWgVLYnqxP+Sl9TY+8nLTeKSo7Neq+OJy7hHrCaNe8rDPV+ezFqr/S950WpxVj1c++KKs607LvZlcHL0wczOI6vmxdYVLGyKoNSGJ998JdiDHY23no0hNUM6GgshxLOWkpHyX8fd+513s/q+RBGX+mDtSwp3tWo0Tz6lHtMHm460Gpy1/9W+uFg64GzlgrONG852npRyKIeNg9f9piNXsHEGE9MiKXdJIslOCaMoCqHX4tkYepM/Tt4kNlk6GgshRGHK1GYSr44nNjX2gc67N4i7d1Ov70tsRhJxmjRS852+gL2u5uV+EqOrfXHARdf3xRMXey/sHb0xsXO/X/viBha2IP0s80WSnRJCOhoLIUTBKIrCvYx7xKU+WPtyi9ik68QlRROXcivrsen7tS/xSvqTT/oQC62Ci1bzQA2MgrOpFS5mtjhbON5PXlxxtvPC2b4c5vbuYJdd++ICpuZFUHKRTZKdYuz2PTWbTmWNaCwdjYUQ4j9qjZq7aXfv93uJIy678+69m8SlxGTVyuhqX1LJzGfHXZWiUOr+Y9MumvuPT6vMcDa1ud/3pRTO1qVxsfPE2b4MNvZeqOzud9y1cwVLB6l9KUYk2SlmktWZbD8nHY2FEM+PtMw0EtQJJKQnkKhOzPo3LYGE1DskpNwiPuVOVu2L+r/al6QCdNy1fWDMF2eNJqv2xcQKF3NbnC0dH+j74oWTozemDzYdGfjRafF05BuzGMjuaLzhxA225dLRuGe9MnSr7YWrvXzQhBDFU/YYLw8mLAnqBBJS7pCYHENCyh0S0uJIUMeTkJ5IQkYyiZpUEjRq1AUYrA7A7H7HXV3Ni0aLM6Y4m1njbG6Ps5UzLjZZfV9K2ZfFyt7jv6ajEvbotHg6kuwYiHQ0FkIURxqthnvp9/STlpQ7JCRHk5B8m8S0WBLS7mYlLOn3SMhMJVGTRqKSke+mogeZKgqOWi0OGi0OWi2OugUcTSxwNrf7r/bF1h0XO0/s7cuiyk5e7FzBprTRPjotno4kO8/Yozoau9ha0K22Jz3rlaGudDQWQjylDE2GrnYlMT2RhJRYEpKjSEi+ldU8lBpHojqehIx7JGQkk6BJI0Gj5l4Bnix6kIVWwUmryUpYdImLgqOJBY6mljia2eBgboejpSOOVqVwtHLB0cYVWxtXVDbOYO2UVeOS/a88eSQKgSQ7z8CjOhpbm5vSsYa7dDQWQuRKURRSM1OzkhV1AompcVkJS1IMCam3SUiNJSEtnsT0hKyEJTOFBI2aBCWD1AI2DWWzvZ+sOGr/q2lxUJnhaGKJo5k1jma2OFo44GDlhKOVM442pXG0ccPK1i1nwmJpLwmLMChJdopIhkableCcuJmjo3GLSq70lI7GQjw3tIqWpIykrGahtLskJN0kMSn6v1qWtLis/i0ZSSRm17Jo00lQMsl4ihxBpSj/NQll17KoTHFUWeBgZpWVsDxQy+Jg7YKjrTsONu6Y27r8l7BYlwILe+nfIkos+aYtIiYqFZ/8dYHb99SAdDQWwhhkajOz+rPcT1gS7t0kITmGxPvNQnqdbzNT7icsGSQqWrQFSVruH2OmKLpaFketBkdMcVCZ42hqgYOZTVbSYumAo6VTVrOQrSsONu7Y27ljYv1A05CVo4ymK55LkuwUEVMTFSOalyclXUMP6WgsRLGi1qhJTI3PSliSbpKQFE1Cym0SU2Ozall0nW9TSLjf+TZBySSpoLUs94+zzm4S0mhxRIUjZlkJi6l1Vl8WC/v/+rLYuOJo44ajnQfWNu6obEpl1bBYOoCp/OoWIj/kE1OERrWqaOgQhDAaGZoMUjKSSVEnkJIam7WkxWct6gRS0hNJSU8iJT2J1MxkUjJSSdGkkpypznrE+X6zUCJa0p6ilgWyhvp30GpxVBQcMdV1vnUwtcHRwg4HC4eshMXaBUdrVxztPHCw9cTSzjUrYbFylBFzhXiGJNkRQhQqRVFI16aTkp5MclocKan3l7S7pKoTspKT9HtZiUlGEikZKaRkppKiSSNFoyZVk06KkkGKNpMUNKSgJRmFzMLo4PrAKUzuP+rsqFVwwATHBzvfmtviYG6Po6UTDtbOOFqXxtHWHUdbD+ztvTCzLZ2VsMggc0KUCJLsCPEcy37aJyU9mdTU2PtJSRwpafEkp8Xfry25X2OSkUzqQ4lJijY9KylRshKTVBRSUNAUcmLy4AsLrYKNosVGIWtRmWKtMsVWZYaNiTk2JhbYmFpiY2aNjZk11mY2OGR3vrVxxdHWA0d7L2ztPbP6s5hbPX2sQohiTZIdIUoIjVZzPzG5918zTupdXTNOqi4xSSY5I4mUzBRSMtOyFm06qXqJiZYUFFJRUIowMbHWarFWlPuJiQoblQk2KlNsVObYmJhjbWqBjakVNmbW2JrZYGNum7VY2GNj6YCNpSPWVk7YWJXCxtoFa2tnzK0cs8ZekWYgIUQeSbIjRBHI0GaQkpFCqjqRlNQ792tM4klJu0uKOjFryW7Kud+/JFWTSrJGfb/GJCMrKVE0pN5PTArUzyQ3uSQmKkXBRlGw0SrYkJWYWKtM/0tMTM2xMbHExswKG1NrbMytsTG3xdrcLisxsXLE1tIJGysnbKxLYWNdGivrUphaOoC5jTwBJIQwKEl2xHNDURQylUwyNBmoM9NIz0wlXX2P9Ixk0jOSUacnk5GZgjojhfSMVNIzU0jPTCUtI+WBxOR+M05mqq4ZJ/V+YpKsaHQ1JhmFNYBaLqcxvZ+U6GpMMME2OzG534xjbXo/MTGzxia7xsTC/r8aEytHbKxKYW3ljI21M9bWpVFZ2oG5tQz+JoQwOpLsiCKnVbSka9JJz0wjPf0e6enJqDOSSU9Pup9o6CcX6oxUMjRppGemodaos47TpGct2ux/M1BrM8jQZqJWMknXZpKuaElXNKSjyfo/CumKglqlkIGCGgqnyeZRVDn+g7miYKN9sH+JCTaYYm2i37/ENru2xMwWawtbbMztdM04NpaO2Fg5368xccHCqlRWYmJmKYmJEELkgdEkO/Pnz+fzzz8nOjqaOnXqMG/ePBo3bmzosAxGURQyNRmkZ6agVieSnp5MRsb9JCMjhfSMpPsJRirqjBQyMtNQZ6aSnqkmXaMmXZOVYKg16qyaEG1WgpGhzUCtzU4uMrOSC+V+cqFoUaOQjpYMyPq/isJ5iia/VA/9m0sViZmiYKFbwIKsxVJRYa4ywQIVFvc7v2YlJpbYmFpibWb1X21Jdo2JlSO2lo5ZzThWTlhbu2Bj7Yy5lROY24KZxTMpthBCiJyMItlZtWoVEydOZMGCBTRp0oSvvvoKf39/wsLCcHNzM1hcsbGXSFPHk56e8l9TSUZW7UVWcpGSVWuRmUa6Ro06U02GRp2VZGizazEyshILbYYuuVBrNWTcr71QK1oyyE4yFNKBdBWkU8S1GA9TkUs+kfP6Kr3kQsFCUWEJmKPCEhUWKhPMMcFSZYqFyhQLE1MsVGZYmNxfVOZYmppjYWKBhakFFqaWWf+aWWFhaomlmTXmZlZYmFlhaWaDhZk1Fha2WJhbY2Fui4WFHRZmNlhY2mNqbg2mllk1JNKnRAghjJZKURTF0EE8rSZNmtCoUSO+/fZbALRaLd7e3rzxxhu88847Tzw+MTERR0dHEhIScHBwKLS4hnzxInHk8UtUKVhiosrT3VNhhoKZomCugDlghgrz+4sZJlnrVCaYq0wxU5lirjK5/68Z5iozzExNMTcxx0xlhrmpOeYmZpiZWGBuYoHp/aTDzNQSM1NzzM2sMDe1wNzMClNTa8zNLTE3tcbM3BpTU0tUZhagMsvRBJPvH8UHds/fsXnf97Gn1T7hPI85WPu4Ez/utI857rHvweOOe0w5Hn/OR28qkjgLGEtu5cv9VLmsfGjHrJcP7afkfsIHVykoucf4hDj+O4eSc/Njrqm3Jdfr5h5MztVPjjv3suV2rpyx5F78vNyH3N6jR5z0wX1zjefBc+m/z499Hx84Nud9UkGOe/bwvjnCe/SGHPc1txv94KE5L6Jk//H5mPfnobPn2J7zx1/JWcxHngjqDGmJjadL7kEXUF6/v0t8zU56ejrHjh1j6tSpunUmJia0b9+eAwcO5HqMWq1GrVbrXicmJhZJbC3PjEVt5VEk536WFCDj/lJwWiD5/iKEEI+S2x9+0jfNGFS8GVvoyU5elfhk586dO2g0Gtzd3fXWu7u7c+HChVyPmTVrFkFBQUUem4WpKRma9CI5tyoftRNZirACLx+nzn/c+ZH3c+fvV+fTxPzoYx9fK1ewaz6+XAUtx2PKUMAzFvychffzk6efRYUcARX0Z/jpj3swkGcdQ24eOJdKlbOGQJXXn4+cMeX35ypnC/oTPnd5vECuu+mtVHJfndfzPvKg/+55zvt///X9mnH97Q+W+zGv83BvHjF0Vr73ffClpVOVJ1y16JT4ZKcgpk6dysSJE3WvExMT8fb2LvTrDFn0SqGfUwghhBD5U+KTndKlS2NqakpMTIze+piYGDw8cm9CsrS0xNJS5rQRQgghngcmhg7gaVlYWNCgQQN27typW6fVatm5cydNmzY1YGRCCCGEKA5KfM0OwMSJEwkICKBhw4Y0btyYr776iuTkZIYNG2bo0IQQQghhYEaR7Lzyyivcvn2bDz/8kOjoaOrWrcuWLVtydFoWQgghxPPHKMbZeVpFNc6OEEIIIYpOXr+/S3yfHSGEEEKIx5FkRwghhBBGTZIdIYQQQhg1SXaEEEIIYdQk2RFCCCGEUZNkRwghhBBGTZIdIYQQQhg1SXaEEEIIYdQk2RFCCCGEUTOK6SKeVvYg0omJiQaORAghhBB5lf29/aTJICTZAe7duweAt7e3gSMRQgghRH7du3cPR0fHR26XubEArVbLzZs3sbe3R6VSFdp5ExMT8fb25tq1a0Y755axl1HKV/IZexmlfCWfsZexKMunKAr37t3Dy8sLE5NH98yRmh3AxMSEsmXLFtn5HRwcjPIH+EHGXkYpX8ln7GWU8pV8xl7Goirf42p0skkHZSGEEEIYNUl2hBBCCGHUJNkpQpaWlkybNg1LS0tDh1JkjL2MUr6Sz9jLKOUr+Yy9jMWhfNJBWQghhBBGTWp2hBBCCGHUJNkRQgghhFGTZEcIIYQQRk2SHSGEEEIYNUl2CsGePXvo3r07Xl5eqFQqNmzYoLddURQ+/PBDPD09sba2pn379ly6dMkwwRbAk8o3dOhQVCqV3tKpUyfDBFsAs2bNolGjRtjb2+Pm5kbPnj0JCwvT2yctLY0xY8bg4uKCnZ0dffr0ISYmxkAR519eyti6desc9/F///ufgSLOn++//57atWvrBi1r2rQpmzdv1m0v6ffvSeUryfcuN7Nnz0alUjF+/HjdupJ+Dx+WWxlL8n2cPn16jtirVq2q227o+yfJTiFITk6mTp06zJ8/P9ftn332Gd988w0LFizg0KFD2Nra4u/vT1pa2jOOtGCeVD6ATp06ERUVpVt+/fXXZxjh09m9ezdjxozh4MGDbN++nYyMDDp27EhycrJunwkTJvDHH3+wZs0adu/ezc2bN+ndu7cBo86fvJQRYOTIkXr38bPPPjNQxPlTtmxZZs+ezbFjxzh69Cht27alR48enD17Fij59+9J5YOSe+8eduTIERYuXEjt2rX11pf0e/igR5URSvZ9rFGjhl7s+/bt020z+P1TRKEClPXr1+tea7VaxcPDQ/n888916+Lj4xVLS0vl119/NUCET+fh8imKogQEBCg9evQwSDxF4datWwqg7N69W1GUrPtlbm6urFmzRrfP+fPnFUA5cOCAocJ8Kg+XUVEUpVWrVsqbb75puKAKWalSpZSffvrJKO+fovxXPkUxnnt37949pVKlSsr27dv1ymRM9/BRZVSUkn0fp02bptSpUyfXbcXh/knNThGLiIggOjqa9u3b69Y5OjrSpEkTDhw4YMDICldISAhubm5UqVKF0aNHExsba+iQCiwhIQEAZ2dnAI4dO0ZGRobePaxatSrlypUrsffw4TJmW758OaVLl6ZmzZpMnTqVlJQUQ4T3VDQaDStXriQ5OZmmTZsa3f17uHzZjOHejRkzhq5du+rdKzCuz+CjypitJN/HS5cu4eXlRYUKFRg0aBCRkZFA8bh/MhFoEYuOjgbA3d1db727u7tuW0nXqVMnevfuTfny5bl8+TLvvvsunTt35sCBA5iamho6vHzRarWMHz+eZs2aUbNmTSDrHlpYWODk5KS3b0m9h7mVEWDgwIH4+Pjg5eXFqVOnmDJlCmFhYaxbt86A0ebd6dOnadq0KWlpadjZ2bF+/XqqV69OaGioUdy/R5UPSv69A1i5cuX/27v7mKjrOA7gbxyP5xEPgXDiOJ4CNZCECmmLmhdPrWTECpqVqZiRFmyYowemWc60iYtsyz8aMHRLoSE9OJ+AI2PUxEDEinZ4hS6eRmkg8hB8+qP1mycHAqLX3d6v7bfd777f3/0+Hz479uH7+x2HH374AadPnx43ZivvwclyBKy7jjExMSguLkZYWBg6Ojrwzjvv4OGHH0ZLS8v/on5sduiWZWRkKI8jIiKwZMkSBAcHQ6/XQ6fTWTCy6duwYQNaWlpMrjXbmolyfOmll5THERER0Gg00Ol0aGtrQ3Bw8J0Oc9rCwsLQ1NSEK1euoLy8HKtWrUJtba2lw5o1E+W3ePFiq6/dxYsXkZ2djRMnTsDZ2dnS4dwWU8nRmuuYnJysPF6yZAliYmKg1Wpx6NAhuLi4WDCyf/Ey1m3m6+sLAOPuOu/q6lLGbE1QUBC8vLxgMBgsHcq0bNy4EV999RVqamqwYMEC5XlfX18MDw/j8uXLJvOtsYYT5WhOTEwMAFhNHR0dHRESEoLo6Gjs2LEDkZGR+PDDD22mfhPlZ4611e7MmTPo7u5GVFQU7O3tYW9vj9raWhQWFsLe3h4+Pj5WX8Ob5Tg6OjruGGur4/Xc3d0RGhoKg8Hwv3gPstm5zQIDA+Hr64uqqirlub/++gvff/+9yfV2W3Lp0iX09vZCo9FYOpQpERFs3LgRFRUVqK6uRmBgoMl4dHQ0HBwcTGrY2tqK9vZ2q6nhzXI0p6mpCQCspo43Ghsbw9DQkE3Uz5z/8jPH2mqn0+lw7tw5NDU1Kdv999+PlStXKo+tvYY3y9HcJX9rq+P1+vv70dbWBo1G8/94D96R26BtXF9fnzQ2NkpjY6MAkIKCAmlsbJTffvtNRETef/99cXd3l8rKSmlubpaUlBQJDAyUa9euWTjyqZksv76+Ptm0aZPU19eL0WiUkydPSlRUlNxzzz0yODho6dCnJCsrS9zc3ESv10tHR4eyDQwMKHNefvll8ff3l+rqamloaJDY2FiJjY21YNTTc7McDQaDbNu2TRoaGsRoNEplZaUEBQVJXFychSOfmry8PKmtrRWj0SjNzc2Sl5cndnZ2cvz4cRGx/vpNlp+1124iN34yydpraM71OVp7HXNzc0Wv14vRaJS6ujp57LHHxMvLS7q7u0XE8vVjszMLampqBMC4bdWqVSLy78fP8/PzxcfHR5ycnESn00lra6tlg56GyfIbGBiQhIQE8fb2FgcHB9FqtbJu3Trp7Oy0dNhTZi43AFJUVKTMuXbtmrzyyivi4eEhKpVKUlNTpaOjw3JBT9PNcmxvb5e4uDjx9PQUJycnCQkJkddff12uXLli2cCnaM2aNaLVasXR0VG8vb1Fp9MpjY6I9ddvsvysvXYTubHZsfYamnN9jtZex/T0dNFoNOLo6Ch+fn6Snp4uBoNBGbd0/exERO7MGhIRERHRncd7doiIiMimsdkhIiIim8Zmh4iIiGwamx0iIiKyaWx2iIiIyKax2SEiIiKbxmaHiIiIbBqbHSKyWXZ2djh8+PBtPcfWrVtx33333dZzENGtYbNDRDPW09ODrKws+Pv7w8nJCb6+vkhMTERdXZ2lQ5s1FRUVWLZsGdzc3ODq6op7770XOTk5yvimTZtMvvOHiP5/7C0dABFZr7S0NAwPD6OkpARBQUHo6upCVVUVent7LR3arKiqqkJ6ejq2b9+OFStWwM7ODj/++CNOnDihzFGr1VCr1RaMkohu6o59MQUR2ZQ///xTAIher5903u7duyU8PFxUKpUsWLBAsrKypK+vTxkvKioSNzc3+fLLLyU0NFRcXFwkLS1Nrl69KsXFxaLVasXd3V1effVV+fvvv5XjtFqtbNu2TTIyMkSlUsn8+fNl7969JucGIBUVFcp+e3u7PP300+Lm5iYeHh6yYsUKMRqNE8aenZ0tjz766KT5bdmyRSIjI03OeeOm1WqV8XPnzklSUpLMnTtX5s2bJ88995z09PRMeg4iujW8jEVEM/Lfisbhw4cxNDQ04bw5c+agsLAQ58+fR0lJCaqrq7F582aTOQMDAygsLMRnn32Go0ePQq/XIzU1FUeOHMGRI0dQWlqKffv2oby83OS4Dz74AJGRkWhsbEReXh6ys7NNVl2uNzIygsTERLi6uuLUqVOoq6uDWq1GUlIShoeHzR7j6+uL8+fPo6WlZco/l46ODmUzGAwICQlBXFwcAODy5ctYvnw5li5dioaGBhw9ehRdXV145plnpvz6RDQDlu62iMh6lZeXi4eHhzg7O8tDDz0kb7zxhpw9e3bSY8rKyuTuu+9W9ouKigSAyTckr1+/XlQqlckKUGJioqxfv17Z12q1kpSUZPLa6enpkpycrOzjupWd0tJSCQsLk7GxMWV8aGhIXFxc5NixY2Zj7e/vl8cff1xZnUlPT5dPP/1UBgcHlTk3ruz8Z2xsTFJTUyU6OloGBgZEROTdd9+VhIQEk3kXL14UANLa2mo2BiK6dVzZIaIZS0tLw++//44vvvgCSUlJ0Ov1iIqKQnFxsTLn5MmT0Ol08PPzg6urK55//nn09vZiYGBAmaNSqRAcHKzs+/j4ICAgwOReGB8fH3R3d5ucPzY2dtz+Tz/9ZDbWs2fPwmAwwNXVVVmV8vT0xODgINra2sweM3fuXHz99dcwGAx4++23oVarkZubiwcffNAkfnPefPNN1NfXo7KyEi4uLkoMNTU1yvnVajUWLlwIABPGQES3jjcoE9EtcXZ2Rnx8POLj45Gfn4/MzExs2bIFL774In799Vc88cQTyMrKwvbt2+Hp6Ylvv/0Wa9euxfDwMFQqFQDAwcHB5DXt7OzMPjc2NjbjOPv7+xEdHY0DBw6MG/P29p702ODgYAQHByMzMxNvvfUWQkNDcfDgQaxevdrs/P3792PPnj3Q6/Xw8/MzieHJJ5/Ezp07xx2j0WimmRERTRWbHSKaVYsXL1b+t82ZM2cwNjaG3bt3Y86cfxeSDx06NGvn+u6778btL1q0yOzcqKgoHDx4EPPmzcNdd90143MGBARApVLh6tWrZsfr6+uRmZmJffv2YdmyZeNi+PzzzxEQEAB7e/76JbpTeBmLiGakt7cXy5cvx/79+9Hc3Ayj0YiysjLs2rULKSkpAICQkBCMjIzgo48+woULF1BaWopPPvlk1mKoq6vDrl278Msvv+Djjz9GWVkZsrOzzc5duXIlvLy8kJKSglOnTsFoNEKv1+O1117DpUuXzB6zdetWbN68GXq9HkajEY2NjVizZg1GRkYQHx8/bn5nZydSU1ORkZGBxMREdHZ2orOzEz09PQCADRs24I8//sCzzz6L06dPo62tDceOHcPq1asxOjo6az8XIjLFZoeIZkStViMmJgZ79uxBXFwcwsPDkZ+fj3Xr1mHv3r0AgMjISBQUFGDnzp0IDw/HgQMHsGPHjlmLITc3Fw0NDVi6dCnee+89FBQUIDEx0exclUqFb775Bv7+/njqqaewaNEirF27FoODgxOu9DzyyCO4cOECXnjhBSxcuBDJycno7OzE8ePHERYWNm7+zz//jK6uLpSUlECj0SjbAw88AACYP38+6urqMDo6ioSEBERERCAnJwfu7u7KyhcRzT47ERFLB0FENF0BAQHIyckx+W/GRETm8E8JIiIismlsdoiIiMim8TIWERER2TSu7BAREZFNY7NDRERENo3NDhEREdk0NjtERERk09jsEBERkU1js0NEREQ2jc0OERER2TQ2O0RERGTT2OwQERGRTfsHVGLYHhn9vTwAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "t = timing_80.plot(x='Observations')\n", - "t.set_xlabel(\"Sample Size\")\n", - "t.set_ylabel(\"Time in Seconds\")\n", - "t.set_title(\"Kernel Method Timing - 80 dgms\")" + "timing_rdm = pd.DataFrame(timing_rdm/5)" ] }, { "cell_type": "code", - "execution_count": 145, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Text(0.5, 1.0, 'Kernel Method Timing - 80 dgms')" - ] - }, - "execution_count": 145, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "timingnoog = timing_80.drop(['Original'], axis=1)\n", - "t = timingnoog.plot(x='Observations')\n", - "t.set_xlabel(\"Sample Size\")\n", - "t.set_ylabel(\"Time in Seconds\")\n", - "t.set_title(\"Kernel Method Timing - 80 dgms\")" - ] - }, - { - "cell_type": "code", - "execution_count": 147, + "execution_count": 45, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "Finished gu vectorize\n", - "Finished gu vectorize parallel\n", - "Finished gu vectorize\n", - "Finished gu vectorize parallel\n", - "Finished gu vectorize\n", - "Finished gu vectorize parallel\n", - "Finished gu vectorize\n", - "Finished gu vectorize parallel\n", - "Finished gu vectorize\n", - "Finished gu vectorize parallel\n", - "Finished Training 0\n", - "Finished gu vectorize\n", - "Finished gu vectorize parallel\n", - "Finished gu vectorize\n", - "Finished gu vectorize parallel\n", - "Finished gu vectorize\n", - "Finished gu vectorize parallel\n", - "Finished gu vectorize\n", - "Finished gu vectorize parallel\n", - "Finished gu vectorize\n", - "Finished gu vectorize parallel\n", - "Finished Training 1\n", - "Finished gu vectorize\n", - "Finished gu vectorize parallel\n", - "Finished gu vectorize\n", - "Finished gu vectorize parallel\n", - "Finished gu vectorize\n", - "Finished gu vectorize parallel\n", - "Finished gu vectorize\n", - "Finished gu vectorize parallel\n", - "Finished gu vectorize\n", - "Finished gu vectorize parallel\n", - "Finished Training 2\n", - " Observations Vectorized Vectorized, parallel\n", - "0 100.0 0.678685 0.692276\n", - "1 200.0 3.017049 3.087965\n", - "2 500.0 24.545189 24.990262\n" + " Observations Original Vectorized Vectorized and Parallel\n", + "0 10.0 6.216366 0.011620 0.006130\n", + "1 20.0 21.486259 0.071658 0.017247\n", + "2 30.0 60.129910 0.143000 0.041138\n", + "3 40.0 115.787723 0.250601 0.074465\n", + "4 50.0 175.525430 0.493626 0.158160\n" ] } ], "source": [ - "seed = [0,1,2,3,4]\n", - "train_size = [100, 200, 500]\n", - "n = len(train_size)\n", - "timing_80_vec = np.zeros((n,3))\n", - "for i in range(0,n):\n", - " for j in seed:\n", - " dgms = np.array(dgms_80[0:train_size[i]])\n", - " timing_80_vec[i,0] += len(dgms)\n", - "\n", - " start = time.time()\n", - " train, dummy_train, dummy = reshape_persistence_diagrams(dgms)\n", - " X_train_features_gu = guvectorize_kernel(train, dummy, .3)\n", - " end = time.time()-start\n", - " timing_80_vec[i,1] +=end\n", - " print(\"Finished gu vectorize\")\n", - "\n", - " start = time.time()\n", - " train, dummy_train, dummy = reshape_persistence_diagrams(dgms)\n", - " X_train_features_gu = parallel_gu_vectorize(train, dummy, .3)\n", - " end = time.time()-start\n", - " timing_80_vec[i,2] +=end\n", - " print(\"Finished gu vectorize parallel\")\n", - "\n", - " print(\"Finished Training \", i)\n", - "timing_80_vec = pd.DataFrame(timing_80_vec/5)\n", - "timing_80_vec.columns=['Observations','Vectorized', 'Vectorized, parallel']\n", - "print(timing_80_vec)" + "timing_rdm.columns=['Observations', 'Original', 'Vectorized', 'Vectorized and Parallel']\n", + "print(timing_rdm)" ] }, { - "cell_type": "code", - "execution_count": 148, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Text(24.000000000000007, 0.5, 'Time in Seconds')" - ] - }, - "execution_count": 148, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "timing_80_vec.plot(x='Observations')\n", - "t.set_xlabel(\"Sample Size\")\n", - "t.set_ylabel(\"Time in Seconds\")" - ] - }, - { - "cell_type": "code", - "execution_count": 180, + "cell_type": "markdown", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished gu vectorize\n", - "Finished gu vectorize\n", - "Finished gu vectorize\n", - "Finished gu vectorize\n", - "Finished gu vectorize\n", - "Finished Training 0\n", - "Finished gu vectorize\n", - "Finished gu vectorize\n", - "Finished gu vectorize\n", - "Finished gu vectorize\n", - "Finished gu vectorize\n", - "Finished Training 1\n", - "Finished gu vectorize\n", - "Finished gu vectorize\n", - "Finished gu vectorize\n", - "Finished gu vectorize\n", - "Finished gu vectorize\n", - "Finished Training 2\n", - "Finished gu vectorize\n", - "Finished gu vectorize\n", - "Finished gu vectorize\n", - "Finished gu vectorize\n", - "Finished gu vectorize\n", - "Finished Training 3\n", - "Finished gu vectorize\n", - "Finished gu vectorize\n", - "Finished gu vectorize\n", - "Finished gu vectorize\n", - "Finished gu vectorize\n", - "Finished Training 4\n", - "Finished gu vectorize\n", - "Finished gu vectorize\n", - "Finished gu vectorize\n", - "Finished gu vectorize\n", - "Finished gu vectorize\n", - "Finished Training 5\n", - "Finished gu vectorize\n", - "Finished gu vectorize\n", - "Finished gu vectorize\n", - "Finished gu vectorize\n", - "Finished gu vectorize\n", - "Finished Training 6\n", - " Observations Vectorized\n", - "0 100.0 8.518175\n", - "1 200.0 35.409209\n", - "2 300.0 82.355739\n", - "3 400.0 150.629998\n", - "4 500.0 242.979587\n", - "5 600.0 359.127847\n", - "6 700.0 503.820952\n" - ] - } - ], "source": [ - "seed = [0,1,2,3,4]\n", - "train_size = [100, 200, 300, 400, 500, 600, 700]\n", - "n = len(train_size)\n", - "timing_300_vec = np.zeros((n,2))\n", - "for i in range(0,n):\n", - " for j in seed:\n", - " dgms = np.array(dgms_300[0:train_size[i]])\n", - " timing_300_vec[i,0] += len(dgms)\n", - "\n", - " start = time.time()\n", - " train, dummy_train, dummy = reshape_persistence_diagrams(dgms)\n", - " X_train_features_gu = guvectorize_kernel(train, dummy, .3)\n", - " end = time.time()-start\n", - " timing_300_vec[i,1] +=end\n", - " print(\"Finished gu vectorize\")\n", - "\n", - " print(\"Finished Training \", i)\n", - "timing_300_vec = pd.DataFrame(timing_300_vec/5)\n", - "timing_300_vec.columns=['Observations','Vectorized']\n", - "print(timing_300_vec)" + "Plot Timing" ] }, { "cell_type": "code", - "execution_count": 295, + "execution_count": 46, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "Text(0.5, 1.0, 'Vectorized - 300 dgms')" + "Text(0.5, 1.0, 'Kernel Method Timing - Vectorized')" ] }, - "execution_count": 295, + "execution_count": 46, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAYoAAAEaCAYAAAAPGBBTAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAAsTAAALEwEAmpwYAABJsElEQVR4nO3deVxd9Zn48c8DgZAQIKwJ+xYgQBJIQjYTNTEabd2XWq3VprbaZbTtzPw6U1un2lZbO+2009baVqujTh2j1dE2dm/VcalLomYlZiGEsAUCZCFhh+f3xznc3CAQ9guX5/168Qr33HPP+d5zyX3Od3u+oqoYY4wxfQnwdQGMMcaMbxYojDHG9MsChTHGmH5ZoDDGGNMvCxTGGGP6ZYHCGGNMvyxQmFElIo+KyD0+OK+KyJwROtYBETl/CK/7uYj82xDP+VUR+eVQXuuvRuOaiMhqEakYyWP6IwsUfqrnl5uIXCciR0TkXF+Wy5uIrHe/0H/YY/vl7vZHB3icl0Xk06NSyP7P+wcROeH+tItIm9fjn6vqZ1X1W0M5tqp+W1V98Z5+LiKP97K9QERaRSRqiMe9W0R+NZyy+eqaGAsUk4KIfAL4KXCxqv7fIF87ZXRK5VECXNvjPJ8A9ozyeYdNVT+kqjNUdQbwBPDv3Y9V9bO+Lt8QPQZcJSKhPbbfCLygqg0+KNNY/B2aflig8HMi8hngP4ALVfXv7rYIEXlYRKpFpFJE7hGRQPe59SLyuoj8UETqgbvd5qOfisjvRKRRRN4SkUyvc8wVkb+ISIOI7BaRawdRxEPAduBC91hRwFnAb3u8j+Ui8ncROSoiW0Vktbv9XuBs4H73Tv5+r5edLyJ73df8VETEfU2AiNwpImUiUisij4tIhNe5bnSfqxeRrw3ivZzGu9mtu4lDRP7FPWe1iFwhIh8WkT3utfuq12s9d+AikubWsD4hIgdFpM67XCIyTUQec2uMu9xzDKk5RVXfACqBq72OHwh8DHjcfXyze54jIvInEUn12jff62+hxm0uugj4KvBR9zPa6u6bICK/dffdJyK39Hj/z4jIr0TkOLC+xzXp/ry7fzpE5G6v4z4rIodFpFREvtDjWj3qlr0YWDKU6zTZWKDwb58DvgmsVdXNXtsfBTqAOcBCYB3gXaVfBuwHZgH3utuuA74BRAL7ure7d55/Af4HiHP3e0BE8gZRzseBm7zO8xugtftJEUkEfgfcA0QB/w94VkRiVfVrwKvAbe6d/G1ex70E54tgAXAtbjAC1rs/a4AMYAZwv3uuPOBnOHfQCUA0kDSI99Kf2UAIkAh8HXgI+DiwGCfY/ZuIpPfz+lVADrAW+LqI5Lrb7wLS3PdygXvM4fD+PADOB4KA34vI5Thf+lcBsTjX/kkAEQkD/gr8EefazQH+pqp/BL4NPOV+RgXucTcAFe6+1wDfFpHzvM57OfAMMBOnxuahqrd51eZWAUeA34hIALAR2IpzndcCXxKR7s/+LiDT/bkQp/ZqzsAChX+7AHgT544dABGZBXwY+JKqnlTVWuCHOF/Q3apU9Seq2qGqze6251T1bVXtwPlPW+huvwQ4oKr/5e7/HvAs8JFBlPM5YLV7V38T7p2rl48Dv1fV36tql6r+Bdjsvo/+3KeqR1X1IPCSV5lvAH6gqvtV9QRwB3CdOM0b1+A0sbyiqq3AvwFdg3gv/WkH7lXVdpwvyRjgR6raqKo7gWKgoJ/Xf0NVm1V1K84XYfe+1wLfVtUjqloB/HiY5fxv4FwR6Q6QNwH/45b7s8B3VHWX+7fwbaDQrVVcAhxS1f9Q1Rb3fb3V2wlEJBlYCfyru+8W4JecHqDeUNXn3c+8uY/jxALPA7e7f3tLgFhV/aaqtqnqfpyA3P33fS3OZ9CgquUM/1pNChYo/NvngGzgl93NLkAqzt1htdskcxT4BU5toFt5L8c65PV7E85dePfxlnUfyz3eDTh3zwPifgn8DrgTiFbV13vskgp8pMc5VgHxZzh0X2VOAMq8nisDpuDUoBLwev+qehKoH+h7OYN6Ve10f+/+4qvxer7Zq4y96e/9eH9mvX1+gGfkkKfDvbd93MD6CvBxEZkBXMGp4J0K/Mjrc2gABOfuPRmnz2kgEoAGVW302lbmHueM78N9L0E4NY7/UdUNXuVL6PG38lWcz7b7vN7H9f47MH2wDiL/VoNT9f4/4AGcwFGO06wT494R9mYwKYXLgf9T1QuGU1CcL6IXcZq3ejvHf6vqLb08B4MrL0AVzhdKtxScprgaoBrobtJBRKbjND+NZ9U4zWPF7uPkvnZU1W/j1ALO5DHgX91jl6rqO+72cpw78id6vsCtVVzXc3v3qXs8rgKiRCTMK1ik4PSP9PWann4CHMe5wehW7pY3q4/XVONcn51e5zRnYDUKP6eqVTjB4iIR+aGqVgN/Bv5DRMLdjt1MGfqw2ReAbLcDOMj9WeLVfj5Q/4fTVPaTXp77FXCpiFwoIoEiEuJ2Dnc3jdTgtM8P1JPAP4pIunvH3N1+3oFzh3qJiKwSkWCcPp7x/v/kaeAOEYl0+3NuO9MLBuBZnC/Rb+AEjW4/d8+VD56BEd3NjC8A8SLyJRGZKiJhIrLMfa4GSHP7EHCbff4OfMf9PBcAn8L5rM9InEEa5wI3qKp30+DbQKOI/KvbcR0oIvNEpLvT2vtaJQG3D+aiTFbj/T+AGQFuU8J5wDUi8h2cduBgnDvQIzhfjmdqxunr2I04neHX4dwlHgK+C0wd5HFUVf/W2/BL90uluxP1MM5d45c59ff7I5z3dkREBtLm/AhOO/wrQCnQgvuF4fYV/ANO53w1zvUZ7xOyvolTxlKczuRn8BoMMBRuk9uzODWVJ7y2P4fz+W5wRyPtAD7kPteIE+wvxfk72IszYADg1+6/9SLyrvv79Tid8FU4/VR3qepfB1jE63FuDqq8mtK+6jbtXYLTH1UK1OH0fXSPavsGTnNTKc4N038P8HyTmtjCRcb4FxH5HHCdqo6byZVmYrMahTETnIjEi8hKtxkxB/hnnDt0Y0aEdWYbM/EF44xcSweO4gy9fcCXBTL+xZqejDHG9MuanowxxvTLAoUxxph++WUfRUxMjKalpfm6GMYYM2G88847daoa29tzfhko0tLS2Lx585l3NMYYA4CI9JnOxJqejDHG9MsChTHGmH5ZoDDGGNMvCxTGGGP6ZYHCGGNMv/wqUIjIpSLy4LFjx3xdFGOM8Rt+FShUdaOq3hoREXHmnY0xxk90tHdSWlzJaxvfPfPOQ+CX8yiMMcZfNZ9oobS4kpLt5ezfWU7J9nIOvF9Fe6uzYOUzJT8kNGzaiJ7TAoUxxoxTRw8fp2R7OSU7yinZUUHJ9nKq9tfSncw1PCqUzHnJXP7pNWTMSyZzfjLTQge1ZtiAWKAwxhgf6+rq4tCBOkrcGsJ+Nyg01Jzqb52VEk3mvGTWXL2UzPlOUIiJn4mIjHr5LFAYY8wYam/r4ODuaqeWsL2c/W5toflECwABgQGkZMez8NxcMuclkTk/mfT8JMJmhvqszBYojDFmlJxsbKZ0p1M7cJqQKji4u4qO9k4AQqZPJSM/kbUfWeapJaTmJBAcEuTjkp/OAoUxxgyTqtJQc8xTS+huPqo+cNizz8yYMDLnJ7N4zfmeoBCfFktg4PgffGqBwhhjBqGrq4uq/bWezuX9bnA4Wtfo2Sc+LZbM+clccP0KJyjMSyZqVsSY9CeMBgsUxhjTh87OLsp2VbFnywFPUNi/s5KWplYApgQFkpKTwJLz53lqCel5SYSGj+zwVF8b94FCRK4ALgbCgYdV9c++LZExxl+1nGzl/XdLKX67hOK3S9i1eT9NjU4n87QZIWTOS2Ldx87y1BJScuIJCh73X6PD5pN3KCKPAJcAtao6z2v7RcCPgEDgl6p6n6o+DzwvIpHA9wELFMaYEdFQc4ydb++j+O0Sdr5VQsn2cro6uxARUufGs/rKJeQvm8PcxenMToshIGD89yeMBl+FwkeB+4HHuzeISCDwU+ACoALYJCK/VdVid5c73eeNMWbQurq6KN9ziJ1vl1D81j52vl3CobI6AIJDgshZlMZHbl9H3tJMcosyfDocdbzxSaBQ1VdEJK3H5qXAPlXdDyAiG4DLRWQXcB/wB1XtM5GJiNwK3AqQkpIyKuU2xkwcrc1t7N1axs63nGak4k0lnDjaBDgjkPKWZnLJJ88lf9kcMucnT4ompKEaT1cmESj3elwBLANuB84HIkRkjqr+vLcXq+qDwIMARUVFOsplNcaMM0frGj19Czvf2se+bQc98xWSs2az8uKF5C/LJG9pJgnpcRN2BJIvjKdA0StV/THw44HsKyKXApfOmTNndAtljPEpVaWypMZpRnL7FypLagCYEjyF7IIUrvjMWvKXZpK7JJOI6Bk+LvHENp4CRSWQ7PU4yd02YKq6EdhYVFR0y0gWzBjjW22t7ZRsK3c6nt8qoXjzfo658xbCIkPJW5rJuuvPIn9ZJlkFqeNuZvNEN54CxSYgS0TScQLEdcDHfFskY4wvNB45ya7N+9n5ljMiafd7BzxptBPSY1myNp/8ZXPIW5pJ0pxZk3Y00ljx1fDYJ4HVQIyIVAB3qerDInIb8Cec4bGPqOrOQR7Xmp6MmWBUlUNldZ5O551v7+Pg7moAAqcEMGdBCpd+cjV5S53+hci4cN8WeBKS7rzm/qSoqEg3b97s62IYY3rR0d5JyY5yT6dz8dslHKk9DkBo+DRyl2SQtzST/GVzyC5MI2R6sI9LPDmIyDuqWtTbc+Op6WnYrEZhzPhz8ngz72/e7+l4fv/dUlqb2gBnjYXCs+d6mpFS58ZbM9I4ZDUKY8yIqq1o8NQUit8uobS4ElUlIEDImJfsGaKatzSTmPhIXxfXuCZNjcIYM7ZUleoDdWx97X22vb6HHW/uo67qCADTQqcytyiDG/7fxeQtzSRncTrTZ4T4uMRmKPwqUFjTkzGjr676CNte28OWV99n62u7qa1oACBqVgTzVmS5/QuZpOcmEjgl0MelNSPBmp6MMf063nCCra/vZuuru9n62m4q9jkT28IiQ1mwMpvCVTkUnD2XpDmzbLbzBGZNT8aYATvZ2MzON/ex9dXdbHltN/t3OJl1poVOZd6KLC76+CoKz55Len6idTxPEhYojJnkWpvb2LV5P1tf282WV95nz5Yyujq7CJo6hbylmdx0x2UUrppLVmEqU4KsKWky8qtAYX0UxpxZR3sne7eUefoYijeV0N7aQUBgADkL07j2CxdSsCqH3KIMpk6zOQzG+iiM8XtdXV3s31nh6WPY8cZemk86S3lmzEt2+hjOyWHe8iwblTSJWR+FMZOIqlKxr4atr77Plld3s+3ve2g8chKApDmzWHvtcgpW5TD/rGzLqmoGxAKFMX6gprzeaUpyaw0NNccAiEuKYvlFBRSuymHBqmyb4GaGxK8ChfVRmMmioeYY217fw9bXnFpD95KeM2PCKDg7h8Kz51KwKofZqTE2ZNUMm/VRGDMBNB49yfa/73VGJr36vie76oyI6cw/K4uCs+dSuCqHlJx4CwxmSKyPwpgJpuVkKzvf2ucZmbRvWzmqytTpwcxbNofzr11OwdlzyZyfTGCgzWUwo8sChTHjQFtrO++/U+rpY9j9bikd7Z1MCQp08iV9+RIKVuWQsyiNoGD7b2vGlv3FGeMDnR2d7Nt20DPJrXhTCa3N7QQECFmFqVz1ufMpWJVD3tI5th6D8Tm/ChTWmW3Gq66uLsrer/Y0JW3/+x6aGlsASMtN5KIbz6bQHbIaGj7Nx6U15nTWmW3MKFBVqkprPU1JW1/fw7G6RsBZ87nw7LkUnJ3DgrOymRlrS3sa37PObGPGwOGqI25gcGoNhyuddRmi42dSdF4+BatyKFiVQ1xSlI9LaszgWKAwZoiO1jWy/e972PKKExgq99cCEB49g4KV2Xz0ix+i4OwcEjPibMiqmdAsUBgzQCePN7P9jb1OjeHV3ZQWVwIwbUYI88/K4uJPnkvhqhxScxMs/bbxKxYojOlDS1MbuzaVOCOTXtvN3vcO0NWlBIcEkb80k/Vfu4KCVTlkFaTYSm7Gr1mgMAZoOtHCgeJK9u+soHRnBft3VrBvezkdbR0ETgkgZ1E6H/3Shyg8O4e5izMIDgnydZGNGTMWKMyk0tXVxaGyekqLnYBQ6gaH7lxJ4KTFSM9P5PJPr6HwnLnkL81kmqXfNpOYXwUKm0dhvDWdaKFsVxX73RrCgWInMHSvxSAiJGbGkV2YyrqPnUVGfhLpeUnEJkZa57MxXmwehZnwVJWag/WeZqPuWkL1gcOefULDp5Gen0R6XqITEPKTSM1JsFnPxrhsHoXxGy0nWyndVXlaQCgtrqT5hDPLWURIyIgjc34yF1y3whMc4pKirJZgzBBZoDDjkqpSW17vCQTdtYXqA3V014Knh4WQnpfE+dcucwNCEmlzEwgJnerj0hvjXyxQGJ9rOdnKgferPB3M+3dWUlpc4cmFJCLEp8WQnp/E2muXe5qP4pKjrZZgzBgYcKAQkVCgRVU7R7E8xo+pKrUVDR9oNqraX+upJUybEUJ6XiLnXbOM9LxE0vOdWoKNOjLGd/oMFCISAFwH3AAsAVqBqSJSB/wO+IWq7huTUpoJp6WpjbL3K09rNiotruTk8WbPPvFpsWTkJ7HmqiWk5ye5tYQom9VszDjTX43iJeCvwB3ADlXtAhCRKGAN8F0ReU5VfzX6xTTjlapyuPIIpcUVpwWEqv21dHW5tYTQqaTnJXLulUvIcANCam4C062WYMyE0F+gOF9V23tuVNUG4FngWRGx6amTSGtzG2W7qz0zl0vdeQknjjZ59pmdGuMEhSuKPLWEWSnRVkswZgLrM1B0Bwm3BtFTo6q29xZIzMSnqtRVH/UKCM5w1MqSGk8tIWS6U0s457LFnoCQmptAaJgtumOMvxlIZ/a7QDJwBBBgJnBIRGqAW1T1ndErHohIBvA1IEJVrxnNc01GbS3tlO2uOi0glBZX0njkpGef2SlOLeHsyxa7s5cTmZ0WY7UEYyaJgQSKvwDPqOqfAERkHXA18F/AA8CywZ5URB4BLgFqVXWe1/aLgB8BgcAvVfU+Vd0PfEpEnhnsecwpqkr9oaNuP0Klp0+hsqSWrs4uAKZODyYtN5FVlywiIz+RtDwnKNjSnMZMbgMJFMtV9ZbuB6r6ZxH5vqp+RkSGOrPpUeB+4PHuDSISCPwUuACoADaJyG9VtXiI55i02lraObin+lQ/ghsYjjecqiXEJUeRkZ/EqksWkZ7vzEuIT4u1WoIx5gMGEiiqReRfgQ3u448CNe4Xe9dQTqqqr4hIWo/NS4F9bg0CEdkAXA5YoOiDqtJQc+wDtYSKfTWnagnTgkjLTeSsixd6Jqql5SYyI2K6j0tvjJkoBhIoPgbcBTzvPn7d3RYIXDuCZUkEyr0eVwDLRCQauBdYKCJ3qOp3enuxiNwK3AqQkpIygsUaH9panVpC6U6nH2G/O+LoeP0Jzz5xSVGk5ydx1ocLPYnv4tNiCQy0WoIxZujOGChUtQ64XUTCnId6wuvpUZ9wp6r1wGcHsN+DwIPgZI8d7XKNFlXlSO1xz4ij/TsrOLCrkvK9h+jsOFVLSJ2bwIqLCjwjjtJyEwibGerj0htj/NEZA4WIzMfpS4hyH9cBn1DVHSNclkqc0VXdktxtAzbR1qNob+ugfM8hr4lqFewvruRYXaNnn9jESNLzk1h24QLPegkJGXFWSzDGjJmBND39AvgnVX0JQERW49y5nzXCZdkEZIlIOk6AuA6niWvAVHUjsLGoqOiWM+48xhpqjnmGn3YPRS3fW+2pJQSHBJGaE8+ydfM9zUbpuYmERVotwRjjWwMJFKHdQQJAVV92EwQOmYg8CawGYkSkArhLVR8WkduAP+H0fzyiqjsHeVyf1yja2zqo2HvI02zUHRyOetUSYhIiSc9LZNm6+Z71EhIz4gicEuizchtjTF/OuMKdiDyHM+nuv91NHwcWq+qVo1y2IRurFe6OHj7utcymk/yufO8hOtqdBLtBU6eQmpPg9iMkku7OSwiPmjHqZTPGmMEY7gp3NwPfAP7Xffyqu23S6GjvpHzvoVP9CO7IoyOHj3v2iZ4dQXp+EkvOn+cEhPxEkjJnWS3BGDPhDWTU0xHgC2NQlmEbiaano3WNp6+XsLOCg3uqPbWEKcFTSM2Jp2htvme9hPS8JCKirZZgjPFPfTY9ichGoM92KVW9bLQKNVxDbXr6h/PuZf+OU1M5omZFOENP3YlqGflJJGbOYkqQ1RKMMf5lqE1P3x+l8oya4dYoVl9ZxNqPLPN0MM+MCRvZAhpjzAR0xs7siWisOrONMcZf9Fej6HPWlohsFJFLe1ucSEQyROSbIjKpOrWNMWYy6q/p6Rbgn4D/FJEG4DAQAqQBJcD9qvqbUS+hMcYYn+pvhbtDwL8A/+Jmeo0HmoE9qtrU1+t8aTxMuDPGGH8zoIRBqnpAVd9Q1S3jNUiAk8JDVW+NiIjwdVGMMcZvWGY5Y4wx/bJAYYwxpl+DChQiEikiC0arMMPljtJ68NixY74uijHG+I0zBgoReVlEwkUkCic54EMi8oPRL9rgWR+FMcaMvIEkBYxQ1eMi8mngcVW9S0S2jXbBRlp7ezsVFRW0tLT4uijGT4SEhJCUlERQ0AemGhnjVwYSKKaISDzO+thfG+XyjJqKigrCwsJIS0tDRHxdHDPBqSr19fVUVFSQnp7u6+IYM6oG0kfxTZzFhPap6iYRyQD2jm6xRl5LSwvR0dEWJMyIEBGio6OthmomhYGkGf818Guvx/uBq0ezUKPFgoQZSfb3ZCaLPgOFiPyE/tOMj7s1KmxmtjHGjLz+mp42A+/g5HdahNPctBcoBIJHvWRDMN5HPVVUVHD55ZeTlZVFZmYmX/ziF2lra/vAflVVVVxzzTVnPN6HP/xhjh49OqSy3H333Xz/+xMuk7wxxgf6DBSq+piqPgYsAFar6k9U9SfAWpxgYQZBVbnqqqu44oor2Lt3L3v27OHEiRN87Wunjw/o6OggISGBZ5555ozH/P3vf8/MmTNHqcTGGOMYSGd2JBDu9XiGu80MwosvvkhISAif/OQnAQgMDOSHP/whjzzyCA888ACXXXYZ5513HmvXruXAgQPMmzcPgKamJq699lry8vK48sorWbZsGd1rbaSlpVFXV8eBAwfIzc3llltuIT8/n3Xr1tHc3AzAQw89xJIlSygoKODqq6+mqWncpuoyxoxTAxkeex/wnoi8BAhwDnD3aBZqtP38zqdPW/J0JGTMS+az91zb5/M7d+5k8eLFp20LDw8nJSWFjo4O3n33XbZt20ZUVBQHDhzw7PPAAw8QGRlJcXExO3bsoLCwsNfj7927lyeffJKHHnqIa6+9lmeffZaPf/zjXHXVVdxyyy0A3HnnnTz88MPcfvvtw36/xpjJYyCjnv5LRP4ALHM3/aubgtyMoAsuuICoqKgPbH/ttdf44he/CMC8efNYsKD3DCrp6emeILJ48WJPsNmxYwd33nknR48e5cSJE1x44YWjUn5jjP8aSI0CIBBn4aIpQLaIZKvqK6NXrNHV353/aMnLy/tAv8Px48c5ePAgU6ZMITQ0dFjHnzp1quf3wMBAT9PT+vXref755ykoKODRRx/l5ZdfHtZ5jDGTz0ByPX0XeB1nVvaX3Z//N8rl8jtr166lqamJxx9/HIDOzk7++Z//mfXr1zN9+vQ+X7dy5UqefvppAIqLi9m+ffugztvY2Eh8fDzt7e088cQTQ38DxphJayCd2VcAOap6sape6v5cNsrlGpLxnD1WRHjuuef49a9/TVZWFtnZ2YSEhPDtb3+739d9/vOf5/Dhw+Tl5XHnnXeSn5/PYIb/futb32LZsmWsXLmSuXPnDvdtGGMmIVHtc06ds4PTP/ERVT0xNkUavqKiIu0eGdRt165d5Obm+qhEQ9fZ2Ul7ezshISGUlJRw/vnns3v3boKDx+VUlklnov5dGdOTiLyjqkW9PTeQPoomYIuI/A1o7d44Hmdm+6OmpibWrFlDe3s7qsoDDzxgQcIYM6YGEih+6/4YHwgLC6Nn7cgYY8bSQIbHPiYiwUC2u2m3qraPbrGMMcaMF2cMFCKyGngMOIAz4S5ZRD4xkYfHGmOMGbiBND39B7BOVXcDiEg28CSwuN9XGWOM8QsDGR4b1B0kAFR1D2BrPxpjzCQxkECxWUR+KSKr3Z+HcFKQm0FYs2YNf/rTn07b9p//+Z987nOfG/AxtmzZwu9///tBn3vz5s184QvDH6S2fv36AWW1Ncb4l4EEis8BxcAX3J9id5sZhOuvv54NGzactm3Dhg1cf/31Az7GUAJFR0cHRUVF/PjHPx7U64wxpttAAsUU4EeqepWqXgX8GCf305gQkVAReUxEHhKRG8bqvCPtmmuu4Xe/+51noaIDBw5QVVVFc3MzK1asYNGiRXzkIx/hxAlnXuOmTZs466yzKCgoYOnSpRw7doyvf/3rPPXUUxQWFvLUU0/R0NDAFVdcwYIFC1i+fDnbtm0DnEWJbrzxRlauXMmNN97Iyy+/zCWXXAI4ix0VFhZSWFhIREQEjz32GJ2dnXz5y19myZIlLFiwgF/84heAs4bGbbfdRk5ODueffz61tbU+uHLGGF8bSGf234Dzge6Z2dOAPwNnDfWkIvIIcAlQq6rzvLZfBPwIJxD9UlXvA64CnlHVjSLyFDDshEXffe5ldlceHu5hTpOTGMu/Xrm6z+ejoqJYunQpf/jDH7j88svZsGED69at49577+Wvf/0roaGhfPe73+UHP/gBX/nKV/joRz/KU089xZIlSzh+/DjTp0/nm9/8Jps3b+b+++8H4Pbbb2fhwoU8//zzvPjii9x0001s2bIFcPJCvfbaa0ybNu20RIDdNZJ33nmHT37yk1xxxRU8/PDDREREsGnTJlpbW1m5ciXr1q3jvffeY/fu3RQXF1NTU0NeXh4333zziF43Y8z4N5AaRYh3+g73976z2A3Mo8BF3htEJBD4KfAhIA+4XkTygCSge/GIzmGe16e8m582bNhAcnIyxcXFrFy5ksLCQh577DHKysrYvXs38fHxLFmyBHDWrZgy5YMx/bXXXuPGG28E4LzzzqO+vp7jx48DcNlllzFt2rRey1FXV8eNN97I//zP/xAREcGf//xnHn/8cQoLC1m2bBn19fXs3buXV155heuvv57AwEASEhI477zzRuOyGGPGuYHUKE6KyCJVfRdARBYDzcM5qaq+IiJpPTYvBfap6n73PBuAy4EKnGCxhX4Cm4jcCtwKkJKS0u/5+7vzH02XX345//iP/8i7775LU1MTixYt4oILLuDJJ588bb/BZojtTV9pyzs7O7nuuuv4+te/7llFT1X5yU9+8oG1KobScW6M8T8DqVF8Cfi1iLwqIq8BTwG3jUJZEjlVcwAnQCQC/wtcLSI/Azb29WJVfVBVi1S1KDY2dhSKN3wzZsxgzZo13HzzzVx//fUsX76c119/nX379gFw8uRJ9uzZQ05ODtXV1WzatAlwUoV3dHQQFhZGY2Oj53hnn322J3X4yy+/TExMDOHh4R88sZevfOUrLFiwgOuuu86z7cILL+RnP/sZ7e3OhPs9e/Zw8uRJzjnnHJ566ik6Ozuprq7mpZdeGtHrYYyZGAaSwmOTiMwFctxNY5rCQ1VPAp8cyL4icilw6Zw5c0a3UMNw/fXXc+WVV7JhwwZiY2N59NFHuf7662ltdfIt3nPPPWRnZ/PUU09x++2309zczLRp0/jrX//KmjVruO+++ygsLOSOO+7g7rvv5uabb2bBggVMnz6dxx577Izn//73v09+fr5nNbxvfvObfPrTn+bAgQMsWrQIVSU2Npbnn3+eK6+8khdffJG8vDxSUlJYsWLFaF4aY8w4NZA049OBfwJSVfUWEcnCWZ/ihWGd2Gl6eqG7M1tEVgB3q+qF7uM7AFT1O4M9tj+lGTfjm/1dGX/RX5rxgTQ9/RfQBnTfTlYC94xQ2bxtArJEJN1NQngdg8xaO54XLjLGmIlqIIEiU1X/HWgHUNUmnOSAQyYiTwJvADkiUiEin1LVDpy+jz8Bu4CnVXXnYI6rqhtV9dbBrABnjDGmfwMZ9dQmItMABRCRTLwWMBoKVe11OrKq/h6woTbGGDOODKRGcRfwR5z04k/gTMD7l1Et1RBZ05Mxxoy8MwYKVf0Lzuzo9TjpxYtU9eXRLdbQWNOTMcaMvP4msKWKSASAqtbjrJ19AXCT29lsjDFmEuivRvE0EAogIoXAr4GDQAHwwKiXbAjGc9PTSKQZB/9NNd7XcdevX096ejqFhYUsWrSIN954Y0TOt3r1as9a5GlpadTV1fW7/0D2McZf9Rcopqlqlfv7x4FHVPU/cCa/LR31kg3BeG56Gok04zA5U41/73vfY8uWLdx333185jOfGdBrVJWurq5RLpkxk0N/gcJ7COx5OJ3YqKr97xuCvtKMn3322fz5z3+e8KnGH3roIZYsWUJBQQFXX301TU1NgFMj+MIXvsBZZ51FRkaGp9YwlBTm55xzDvv27ePEiROsXbuWRYsWMX/+fH7zm994rmlOTg433XQT8+bNo7y8nM997nMUFRWRn5/PXXfddcZz/OpXv2Lp0qUUFhbymc98hs7OCZ2H0kwi7R2d7Dx4aFSO3d/w2BdF5GmgGogEXgQQkXicCXjjzkBTeHxz818pbqgZ0XPnRc3i60Xn9/l8b2nGr732Wurr67nnnnsmfKrxq666iltuuQWAO++8k4cffpjbb78dgOrqal577TXef/99LrvsMq655hqee+65Qacw37hxI/PnzyckJITnnnuO8PBw6urqWL58OZdddhkAe/fu5bHHHmP58uUA3HvvvURFRdHZ2cnatWvZtm0bCxYs6PX4u3bt4qmnnuL1118nKCiIz3/+8zzxxBPcdNNN/ZbLGF853tzCa7sO8PKOEl4tPkBrRwf/963PEjZt6oiep79A8SXgo0A8sMorv9Ns4GsjWooRoqobgY1FRUW3+LosvelufuoOFA8//DBvvvmmJ9U4QFtbGytWrOg11XhvXnvtNZ599llgaKnGn376aU+q8W3btnnu+I8dOzaoVOM7duzgzjvv5OjRo5w4ceK0TLRXXHEFAQEB5OXlUVPjBOjBpDD/8pe/zD333ENsbCwPP/wwqspXv/pVXnnlFQICAqisrPQcNzU11RMkAJ5++mkefPBBOjo6qK6upri4uM9A8be//Y133nnHc82bm5uJi4vrs1zG+MKhI428vLOEF7eXsHlfBR1dXUTNmM6FC7NZMy+TkKCBTI8bnD6PqE4SqA29bH9vxEsxxvq78x9NPdOML168mI0bN/pFqvH169fz/PPPU1BQwKOPPnpaDWbq1FN3N2fKLdab733ve1xzzTWex48++iiHDx/mnXfeISgoiLS0NFpaWoDT33NpaSnf//732bRpE5GRkaxfv96zX29UlU984hN85zuDTi9mzKhRVfZW1/Hi9hJe2lHCrgqnmTYtLpIbVy9izbxM5qfOJjBgINPihmb0jmw+oGeaccBvUo03NjYSHx9Pe3u7pzz9GU4K82PHjhEXF0dQUBAvvfQSZWVlve53/PhxQkNDiYiIoKamhj/84Q/9Hnft2rU888wznv6ShoaGPo9tzGjq6Ozi7b3lfPe5l/nQPY9wzfd+xc/+9AbBUwL50iWr+M1XPsFv71jPP156NoXpCaMaJGBgKTzMCPJOMw74Tarxb33rWyxbtozY2FiWLVt2WjDrzXBSmN9www1ceumlzJ8/n6KiIubOndvrfgUFBSxcuJC5c+eSnJzsad7rS15eHvfccw/r1q2jq6uLoKAgfvrTn5KamjrgshkzVE2tbbz+fhkv7Sjh1eJSjjW1EDwlkOXZKdxywVLOzcsgJrz3VoLRdsY04xOJV2f2LXv37j3tOUsHbUaD/V2Z4ag7fpKXd+7npe0lvLX3IG0dnURMD+GcvHTWzM/krJxUpk8dm/nN/aUZP2ONQkRWAncDqe7+gtOFkTGShRwJ470z2xhjSmsaeHH7Pl7asZ/tB6tRhcSocK49awFr5meyMD2RKYHjq1dgIE1PDwP/CLwD2KByY4wZhM6uLrYdqOalHSW8tGM/ZYePAJCXFMfnL1rBmnlzyIqPRmRYqzeMqoEEimOq2n8v4AShquP6wzATiz8125qR1dLWwZt7ynhpx37+b+d+Gk40MSUggCVzkrjhnIWsnpfB7Jlhvi7mgA0kULwkIt8D/hevdShU9d1RK9UoCAkJob6+nujo8R25zcSgqtTX1xMSEuLrophx4siJZl4p3s9LO0r4++4yWto6mBESzKrcdNbMy2RVbtqIT4QbKwMJFMvcf707ORQnrce40t/M7KSkJCoqKjh8+PDYF8z4pZCQEJKSknxdDOND5XVH3SalEt7bX0WXKnERM7h8ST5r5mWyZE4SQVMCfV3MYfOrUU/dioqKtDszqDHGjJSuLqW4osYTHPZV1wOQFR/DmnmZnDc/k9ykuAnZajGkUU8i8nFV/ZWI/FNvz6vqD0aqgMYYM161tnewuaSCl3aU8PKOEmqPnSRAhMWZiXz5inNZk59BUsxMXxdzVPXX9NQ9s2Pi9LgYY8wwtLR1sLvqMLsqathVUUtxeS0lh+rp6OoiJHgKK+emsWZeJufkpTMztPc8av6ov1xPv3D//cbYFccYY8ZGc1s7uysPOwGhoobi8lr219TT2eU0x0eGTiM3OY6z89IpTItnaVYKIcGTM5nF5HzXxphJpam1nd2VtRRX1FJcXkNxRS2lNQ10uX20UTOmk5ccx+p5GeQlzSIvOY7ZM8MmZF/DaLBAYYzxK02tbW4toZZd3UGhtoHucTsxYdPJS57F+QvmkJc0i9zkOGZFzLCg0A8LFMaYCetESyvvVxz2NB3tqqjlwOFTQSE2PJTcpDjWFWaTlxRHXvIs4iJm+LbQE9BAcj3NAr4NJKjqh0QkD1ihqg+PeukGaaAr3BljJp7G5lZPf0J3R3N3OgyAuIgZ5CXH8aFFOeQlxZGbFEesBYURccZ5FCLyB+C/gK+paoGITAHeU9X5Y1HAobB5FMZMbMebWthVWevWEpzawsG6o57nZ88MIy85ztN0lJcUR3SYb1Jw+4thZY8FYlT1aRG5A0BVO0TEkgMaY0bEsZMtTjDw6miuqD/meT4hMpzc5DguX5pPblIceclxRM2Y7sMSTz4DCRQnRSQaJ20HIrIcONb/S4wx5oOOnmymuLx7OKrThFTZcNzzfGJUOLlJcVy1fJ5TW0iKI3LG5JmvMByNba28V1fFOQnpI37sgQSKfwJ+C2SKyOtALHBN/y8xxkx2DSeaPB3MxRU17CqvperIqaCQFB1BfvIsPnLWArdPYRYRoZZkcTCaO9r5W+U+Xjiwi5cqS+jULt66+naiQ0a2xnXGQKGq74rIuUAOzqJFu1W1fURLYYyZsFSVmqMn2Ftdd9rktUNHTy2HmxIzkwVps/noqgLykuPITYwjfLoFhaFo7ezglapSXijbxV8r9tLU0U5sSCg3ZC/k0tRcoqaOfA1sIKOeAoEPA2nu/utExHI9GTMJHTvZwt7qOvYdqmNvVR37DtWzr7qexhbPCgSkxkayMCPBM3FtbmLchE2vPV50dHXx90NlvFBWzB8P7qGxvZXIqdO4Ij2fS1NzWRKXTGDA6K2KN5Cmp41AC7Ad6Bq1khhjxo3mtnb2H6pnb3X9aUHh8PGTnn3Cpk0lKz6GDy+ey5z4aObMjiYnMZYZIRYURkKXKpsPV7DxQDF/KNtNfWsTYUFTWZecxaVpeZw1O5WggLFJYT6QQJGkqgtGvSTGmDHX0dlF2eEj7Kt2AsHe6jr2VddTXn/UM2ltalAgmbOiWZGTSlZ8DHPio8mKjyE2PNRmM48wVWVb/SE2lhXzu7L3OdTUSEjgFM5PyuLStFzOTchgauDYz5MeyBn/ICLrVPXPo14aY8yoUFWqjzSyr7rObTpygkJpzRHaO53R7oEBQkpMJHMTY7mkKNcTFJKiI0a1WWOyU1V2Hz3MxrJdvHBgFwdPHCU4IJBzEzK4Y+Ea1ibNITQo2KdlHEigeBN4TkQCgHacDm1V1fBRLZlLRDKArwERqmqjrYw5gyMnmt2awamgsK+6npOtbZ594iPDmDM7hlVz05jjBoT0uCimBllWn7Gy/3gDLxzYxQtlu9h7rI5AEc6ancZt88/iwuRswoPHT2f/QP4qfgCsALbrIJfDE5FHgEuAWlWd57X9IuBHQCDwS1W9r69jqOp+4FMi8sxgzm2Mv2tqbaPkUIMnKHTXEuobmzz7zAwNISs+hsuW5HmajDJnR1vnso9UnDjG78re54WyYnY01CDAkrhkvrV0HRel5BATMj5nlw8kUJQDOwYbJFyPAvcDj3dvcEdR/RS4AKgANonIb3GCxnd6vP5mVa0dwnmN8RvtnZ2U1R451bHs9iN4z14OCZ7CnNnRnJ2bflo/QnTYdOtH8LHDzSfc4LCLdw5XAlAQHc+di8/jwylziQ8dk8aZYRlIoNgPvOzmfPKMgRvI8FhVfUVE0npsXgrsc2sKiMgG4HJV/Q5O7WNIRORW4FaAlJSUoR7GGJ/p6lKqjhx3m4xOBYUDtUfo6HQGHAYGCGmxkcxLmcUVS/M9QSExKoKAAAsI48WR1mb+eHA3L5Tt4s2ag3SpMndmLF8uPJdLUnNJCZvp6yIOykACRan7E+z+DFciTi2lWwWwrK+d3fQh9wILReQON6B8gKo+CDwITlLAESinMaOmvrHJqx/BCQolh+ppaj01lzUhKpw5s6M5Ny+DOfExZMVHkxYXSfAU60cYjxrbWvlLxV5eOLCLV6tL6dAu0sIiuW3eWVySmkvWzBhfF3HIBjIz26dLoapqPfDZgexracbNeHOypc3pTPaai7C3uo4jJ5o9+0SGTmNOfAxXLM13A0IMmbOjbD7CBNDc0c6LlSW8cKCYFytLaOvqJCE0nE/lLuHStFzyImf5RdNfn4FCRO5X1dtEZCNuQkBvqnrZEM9ZCSR7PU5ytw2bqm4ENhYVFd0yEsczZqDaOzoprT3ygVnLVV4J76YFBzEnPprV+ZlkxUd7gkJ0mGVCnUhaOzt4tbqUFw7s4i9eKTQ+llXIpWl5LIxJ8Ivg4K2/GsVNwG3A90f4nJuALBFJxwkQ1wEfG+FzGDMqurqUyoZj7KuuPxUUquspqz1CR5fTjzAlIIC0WZEUpMVz9fL5nqCQEBlu/QgTVEdXF2/UlPHCgV38sXw3x9tamRkcwuVp+VyalsvSUU6h4Wv9BYoSAFX9v6EeXESeBFYDMSJSAdylqg+LyG3An3BGOj2iqjuHeo4e57OmJzMiVNWrH8FrtNGhelraOjz7JUVHMCc+mvPmZzJnttOxnBYbSdCUsUmtYEZHa2cHu47UsrW+mq11VbxSVUp9axMzgoJZl5zNpam5rIxPG7MUGr7W5wp37hd7nyObxnNSQFvhzgxF3fGTvLnnoOen9tgJz3PRYdOZMzvaHWV0qh9h+lTfzpg1w9elyv7j9Wytq2ZLfTXb6qvZdaSGdreGGBMSyrJZyVyamsvqxEyfpNAYC0Nd4S4QmIEzE3tCsBqFGYym1jbeKankzT0HeWNPGfuq6wFnktqyrBQK0xM8w09tRTX/oKocamp0agpuUNhef4jGdmfk/4ygYOZHzeZTuUspiI5nQXQ88dPD/K7PYbD6q1G8q6qLxrg8I8JqFKY3HZ1d7Cyv4c09Zby55yBbD1TT0dlF8JRAFmUksjw7heXZKcxNjLO+BD9xrLWFbQ3VbK2rZmt9FdvqD1Hb7NQUgwICyJ0Zx4KYBAqj4ymIiScjPJqASRoUhlqjmJxXy/gNVaXs8FFPYNi0t4LGllZEYG5iHDedu4jl2SkUpicSEuyfzQmTSWtnB8UNNWypdwLDtvpqShsbPM9nhEexcnYqBTEJFETHkxsZ57fNSCOtv6u0dsxKMUKs6cnUNzbx1t6DvLnb6WfoXmUtISqcdYVZLM9OYWlWiq3DPMF1dnVRcrze7Wzu7leopUOdfoVZ02ZQEBPPNZnzKYiOZ3707HGVZG+i6bPpaSKzpqfJo7mtnXf3V/LG7oO8tecgu6sOAxA+fSpL5ySzIieV5dkpJEVHTPp25olKValqOu42HzmjkHY01HCyw8mGGxY0lQXRsymITqAgxulXmD09zMelnniG2vRkzLjT2dVFcXmtZ2TSltIq2js7CQoMZGFGAl+4eCXLs1PITYrz63Ht/uxoa7OnptDdr1DX4qysFxwQSG5kHFdnznMCQ3Q86eFRk7ZfYaxYoDDjmqpSXneMN/eU8caeg7y9t5zGZmeEytzEWD52TiErslNZmJHAtOAgH5fWDFZLRzs7j9R4agvb6qs50HgEcDpJMyOiOTch3VNbyJkZa/0KPuBXV9z6KPzDkRPNTj/DHqevoeqIkwZj9swwzl8wh+XZqSzNSrbUFxNMZ1cXe4/VnVZb2H30MJ1u83f89DAKouP56JwCCqLjmRc1m7Bgy3c1HlgfhfG5lrYO3it15zPsPsj7lc4SJGEhU1malcyy7BRW5KSQEjPT+hkmCFWl8uQxzwikrfVV7GyooanDyY4bHjyVBdHxnuajguh44qbP8HGpJzfrozDjSmdXF7srD/PGbmfY6nulVbR1dDIlMIDCtARu+9BZLM9JIS9pFlMCrZ9hIjja2syWuqrTRiHVtzor7QUHBJIfNYtrMxd4hqamhUVa0J9ALFCYMVFRf4w33cDw1t5yjjW1AJAVH8N1qwpYlp3C4oxES4kxAXR0dbH7aC3v1VU5P4erPPMVBMiKiOG8pExPbSF7ZizBgZMjJ5K/8qtAYX0U48exky28tdcZsvrGnoOeZTvjImawel4Gy7NTWJaVQkz4+Fwj2JxS09R4KijUVbK9/hAtnU5ixJiQUBbGJPCRzPkUxiQwP3o2M4KsX8HfWB+FGRGt7R1sOVDlmehWXFGDKoRODWZJVhIrsp35DGlx1uQwnnWPQnrvsBMYttRVUdXkDCbobkJaGJPAwphECmMSSAwNt8/TT1gfhRlxXV3K7qrD7sikMt4traS1vZMpAQHMT53N5y5cwfLsFOalzLZ+hnFKVTl44qinprDlcBXFXrObk0IjWBybyKdjl1AYk0iepbyYtOxTNwNW1XDcnehWxlt7yjly0lnOM3N2NNesWMCK7BQWZyYRGmL9DONRY1sr2+qrTwWGuioaWp3PcPqUIAqi47k1bxmFMQkUxiQQO82aBY3DAoXp0/GmFt7eV+50QO85SNnhowDEhoeyMjeNFdkpLMtOIS7ChjWON51dXew7Xu82ITlBYe+xOs+axnMiolmbNIfCmEQWxiSQHRFjM9lNnyxQGI+2jg62Hqj2zGcoLq+hS5XpU4MoykzioysLWJGTSsasKGuXHmfqW5rYUtfdr1DJ1vpqTrQ7uZBmBoewMCaRi1PnUhiTSGFMvCXIM4PiV4HCRj0Njqqyt7qON9wO6Hf2V9DS1kFggDA/ZTa3XLCUFTmpzE+dTZANbxw32jo72XWk1lNT2FJXRdmJowAEipAbGccV6fPcTucEm7Nghs1GPU0yh442ekYmvbnnIA0nnElR6XFRrMhxmpKKMpMIm2ZDHMcDVaXaMzzVCQzb6w/R1tUJOOm0F8YkOE1IsQnMj5rNtCmW88oMno16msQam1vZvK/Cs9zngVon4Vp02HRW5Dgrui3LTmH2TEvLPB40dbSxvf4Q79VVsdVtSqpxV2SbGjiF+VGzuSlnsae2EB8a7uMSm8nAAoWfae/oZFtZtafGsOPgITq7lJDgKRRlJnHNivksz04lKz7amiN8TFUpbTziqSm8d7iK94/WepLkpc6YyfJZqSyMdYLC3JlxNsPZ+IQFiglOVdl3qN6TaXVzSQXNbe0EiJCfMotPrV3K8uwUCtLiCZpiXzK+dKy1hS31p2oKW+qqONrmpDKZERRMQXQCn8tf4RmeGh1i2XHN+GCBYgKqOXrCXe7TyZ1U1+j0M6TGRnLZkjyWZ6ewJCuJ8Gk2ssVXOrq62HPsMFsOV3nSX5QcrwecfEjZM2O5MCXH04SUGR5tw1PNuGWBYgI42dLGJq/5DCU1TgK2yBnTWJblpOBelpVCQpS1V/vK4eYTnlrCe3VVbKuv9qTUjpo6jYUxiVyRns/CmAQWRMfbOgtmQvGrQOEvw2PbOzvZUXbI08+wvewQHV1dhARNYVFmIpcvy2d5dgrZ8bEEBFg/w1hr7eyguKHmtER5lSedfEhTJIC8qFl8JHOBJydS8gxbr9tMbDY8dhxQVUprG3hzt5NpdfO+Ck62tiEC+cmznIV7slMpSItnapBfxfZxr3sBnlNBoYrihhrP8NSE6eEUus1HC2MTyI+cRYgNTzUTkA2PHYfqjp/01Bje3HOQ2mPOEMjkmAg+vHguy7NTWDonmYhQ62cYK00dbZQeb2C/+7OjwRmmWt/i9AGFBE5hQXQ8n5xb5M5dSGDWdBtWbPyfBYox0tTaxjsllc6qbnsPsq/a6dicGRrCsixnLsPy7BSSoiN8XFL/1tnVRVXTcTcY1HuCQunxBqqbGj37CZAWFsW5CRmeDufsmbEEBdjIMTP5WKAYJR2dXewsr+HNPc7IpK0Hquno7CJ4SiCLMhK5ZHEuy7NTmJsYZ/0Mo+BYa4sTCBobTgsGpccbPM1GAGFBU8kIj2L5rBQywqPJCI8iIzyKtLBIa0IyxmWBYoSoKgcOH+Ettylp094KGltaEYG5iXHcdO4ilmenUJieSEiwXfaR0N7VycHGo55A0F1DKD3e4FmvGZz8RykzIskIj+Kc+HTS3WCQER5NTMh062g25gzsG2sY6hub3PkMTnA4dNRpukiICmddYZbTz5CVQuSMaT4u6cSlqtS1NJ0WBLoDQ/mJo55FdgCip04nPTyKtUlzTqsdpITNtCYjY4bBAsUgNLe1805JpWc+w+6qwwCET5/K0jnJ3HLBUk8/g92lDk5rZ8dpQcC7/6CxvdWzX3BAIOnhUeRExvKh1BxPzSAjLIqIqdbxb8xosEDRj86uLorLaz2rum0praa9s5OgwEAWZiTwhYtXsjw7hdykOJtVOwDdmVB7NhPtP95A5cljeA/Ujp8eRkZ4FJen550KBuFRJEwPt2ttzBizQOFFVSmvO8abe8p4Y89B3t5bTmOzczc7NzGWj51TyIrsVBZmJDAt2Do6+3KivZXS40dOqxXsP15P6fEjNHe2e/YLnRJMengki2ITuSZzvldHchShQbacqjHjxbgPFCJyBXAxEA48rKp/Ho3zqCof/Y8neL/SaU6aPTOM8xfMYXl2KkuzkokOswRt3jq7uqg4eazXYabdabEBAkRICo3wjCzy7kieNW2GNdEZMwGMaqAQkUeAS4BaVZ3ntf0i4EdAIPBLVb2vr2Oo6vPA8yISCXwfGJVAISJctDCHq5bPZ0VOCikxM+1LDDja2vyBYLD/eANljUdOG2YaERxCRngUq+LTTutITg2LZGrguL8fMcb0Y7T/Bz8K3A883r1BRAKBnwIXABXAJhH5LU7Q+E6P19+sqrXu73e6rxs1N69dMpqHH7faOjs5eOJIrx3JR1qbPfsFBQR4hpmel5h5Wt9B5NRpFliN8VOjGihU9RURSeuxeSmwT1X3A4jIBuByVf0OTu3jNOJ8+9wH/EFV3x3N8vozVeVw80mvCWj1no7k8hNHPYvlAMSGhJIRHsWFydmnBYPkGTOZYh3Jxkw6vmgTSATKvR5XAMv62f924HwgQkTmqOrPe9tJRG4FbgVISUkZoaJOPM0d7ZR2B4Nj3f0G9ZQ2HjltmOnUwCmkh0WSFzmLS1JzPQEhPTyS8GAbZmqMOWXcNx6r6o+BHw9gvweBB8HJHjva5fKlLlWqTp6er6g7OFS56a67JYSGkxEexZWx+aSHeQ0zDQ0nwJqKjDED4ItAUQkkez1OcrcNm7+sR9Gtsa21l47keg40HqGls8Oz34ygYDLColgSm0xGZhQZEU5HcnpYFNMsX5ExZph8ESg2AVkiko4TIK4DPjYSB1bVjcDGoqKiW0bieGOho6uL8hNHex1merjlpGe/QBGSZ8wkIzyKlV4jizLDo4gJCbWOZGPMqBnt4bFPAquBGBGpAO5S1YdF5DbgTzgjnR5R1Z0jdL5xW6NoaGnqdZjpwRNHaO86la8oauo00sOjWJ2YcXq+ohmRBAdaviJjzNizFe5GUGtnB2WNHxxmWnq8gaNtLZ79ggMCSQ2L9AQB75FFM6daAkFjzNizFe5GkKpS23yi1zkHFSeP0eUVeGdNm0FGeBQXu6OKumclJ4VGWL4iY8yE4VeBYiSbnnoui+mdr+hkR5tnv2mBQaSHR7IgOp4r0vNPG2Y6I2jqsMthjDG+Zk1PXu579yV2NBxify/LYia6+Yq8m4nSw6OYPT3MhpkaYyY8a3oaoB0NNZxob7NlMY0xxotfBYrhNj396vzrRrZAxhjjB/yqR1VVN6rqrREREb4uijHG+A2/ChTGGGNGnl8FChG5VEQePHbsmK+LYowxfsOvAoU1PRljzMjzq0BhjDFm5FmgMMYY0y+/ChTWR2GMMSPPrwKF9VEYY8zI88sUHiJyGCgb4stjgLoRLI6ZuCIAq54Ojr9es4nyvoZTzlRVje3tCb8MFMMhIpv7yndiJhcReVBVb/V1OSYSf71mE+V9jVY5/arpyZgRttHXBZiA/PWaTZT3NSrltBpFD1ajMMaY01mN4oMe9HUBjDFmPLEahTHGmH5ZjcIYY0y/LFAYY4zplwUKY0aQiGSIyMMi8oyvyzJR+Os186f3ZYHiDPzpw54sRCRZRF4SkWIR2SkiXxzGsR4RkVoR2dHLcxeJyG4R2SciXwFQ1f2q+qnhlN8XRCRERN4Wka3uNfvGMI417q6ZiASKyHsi8sIwjjHu3tdYmZSBoq8P3N8/7EmkA/hnVc0DlgP/ICJ53juISJyIhPXY1tsauo8CF/XcKCKBwE+BDwF5wPU9zzHBtALnqWoBUAhcJCLLvXeY4Nfsi8Cu3p6Y4O9rTEzKQEEvH/hk+LAnC1WtVtV33d8bcb4gEnvsdi7wvIhMBRCRW4Cf9HKsV4CGXk6zFNjn3ki0ARuAy0fuXYwtdZxwHwa5Pz2HRE7IayYiScDFwC/72GVCvq+xNCkDRR8fuN9/2JORiKQBC4G3vLer6q+BPwFPicgNwM3ARwZx6ESg3OtxBZAoItEi8nNgoYjcMZyyjzW3eWYLUAv8RVX95Zr9J/AvQFdvT07g9zVmpvi6AONIbx/2MhGJBu7F/bBV9Ts+KZ0ZNBGZATwLfElVj/d8XlX/XUQ2AD8DMr3uqIdMVeuBzw73OL6gqp1AoYjMBJ4TkXmquqPHPhPqmonIJUCtqr4jIqv7KcOEel9jbVLWKAZDVetV9bOqmmlBYuIQkSCcIPGEqv5vH/ucDcwDngPuGuQpKoFkr8dJ7rYJT1WPAi/Re3v8RLtmK4HLROQATivBeSLyq547TcD3NaYsUJzi9x/2ZCEiAjwM7FLVH/Sxz0KcdC2XA58EokXknkGcZhOQJSLpIhIMXAf8dngl9x0RiXVrEojINOAC4P0e+0y4a6aqd6hqkqqmued7UVU/7r3PRHxfY80CxSl+/2FPIiuBG3HuHre4Px/usc904FpVLVHVLuAmelnDRESeBN4AckSkQkQ+BaCqHcBtOG3bu4CnVXXn6L2lURcPvCQi23D+L/xFVXsOJfXXa+av72vETMpcT+4HvhpnkaIa4C5Vfdj9MvlPIBB4RFXv9VkhjTFmnJiUgcIYY8zAWdOTMcaYflmgMMYY0y8LFMYYY/plgcIYY0y/LFAYY4zplwUKY4wx/bJAYfyCiHzNXUdhmzvBbtkon+9lESkaxP7LReQtt2y7RORud/tl3Snth1meeHHXWhCR1TLEdRdEJFhEXhERywNnPOyPwUx4IrICuARYpKqtIhIDBPu4WD09hjP7d6ub0j4HQFV/y8hkAPgn4KHhHkRV20Tkb8BHgSeGXSrjF6xGYfxBPFCnqq0AqlqnqlUAIvJ1EdkkIjtE5EE3D1R3jeCHIrLZvcNfIiL/KyJ7u/P8iEiaiLwvIk+4+zwjItN7nlxE1onIGyLyroj82s1a21McUO2Wr1NVi93XrheR+93ft3j9NIvIuSISKs5CW2+Ls0JbX6nvrwb+2EvZokTkebem9aaILHC3x4rIX9xa2C9FpMwNsADPAzcM7NKbycAChfEHfwaSRWSPiDwgIud6PXe/qi5R1XnANJyaR7c2VS0Cfg78BvgHnAyi68VJLw/Onf8DqpoLHAc+731i98v1TuB8VV0EbMa5u+/ph8BuEXlORD4jIiE9d1DVQlUtBP7NPc7fga/hJLJbCqwBvicioT3KkA4c6Q6UPXwDeE9VFwBfBR53t9/lHjcfeAZI8XrNDmBJL8cyk5QFCjPhuWsHLAZuBQ7jLECz3n16jds3sB04D8j3eml3k892YKe7Ml4rsJ9TmYTLVfV19/dfAat6nH45zoqIr4uz6M8ngNReyvhNoAgnqH2MXu7+AUQkC/geTjNVO7AO+Ip77JeBEE7/UgenRnW4t+O55f1vtwwv4mRGDXe3b3C3/xE44lXWTqBNeiwPaiYv66MwfsH9cnsZeNkNCp8QZyGaB4AiVS13O5C97+S778C7vH7vftz9f6NnMrSejwUn0+r1AyhjCfAzEXkIOOxVa3EO5DRZPQ3coqrVXse/WlV393PoZk5/XyNhKtAywsc0E5TVKMyEJyI57p14t0KcNNHdX5517pfwNUM4fIrbWQ5OTeC1Hs+/CawUkTluWUJFJLuXMl7c3T8CZAGdwNEeuz0C/Jeqvuq17U/A7V59Kwt7KeMeIK2P8r+K298gzgpvde5qf68D17rb1wGRXmWNdvdr7+OYZpKxGoXxBzOAn4iz8E4HsA+4VVWPunfvO4BDOOssDNZu4B9E5BGgGGepTA9VPew2cz0pIlPdzXfifHl7uxH4oYg0uWW8QVU7u2OHiKTiBLJsEbnZfc2ngW/hpL7fJiIBQCmn97OgqidFpERE5qjqvh7nvRt4RJx1JppwmsbA6bt4UkRuxFlj4RDQ6D63BvjdAK6NmSQszbgxfRCRNOAFtyN8XBORK4HFqnrnAPefCnSqaodbY/qZ25GOiPwv8BVV7RnszCRlNQpj/ICqPtezz+MMUoCn3VpKG3ALOBPugOctSBhvVqMwxhjTL+vMNsYY0y8LFMYYY/plgcIYY0y/LFAYY4zplwUKY4wx/bJAYYwxpl//H0JJCTxDLQyCAAAAAElFTkSuQmCC", "text/plain": [ - "
" + "
" ] }, - "metadata": {}, + "metadata": { + "needs_background": "light" + }, "output_type": "display_data" } ], "source": [ - "t = timing_300_vec.plot(x='Observations')\n", - "t.set_xlabel(\"Sample Size\")\n", - "t.set_ylabel(\"Time in Seconds\")\n", - "t.set_title(\"Vectorized - 300 dgms\")" + "t = timing_rdm.plot(x='Observations',loglog=True,color = ['#481567FF','#2D708EFF','#20A387FF'])\n", + "t.set_xlabel(\"Sample Size (log)\")\n", + "t.set_ylabel(\"Time in Seconds (log)\")\n", + "t.set_title(\"Kernel Method Timing - Vectorized\")" ] }, { "cell_type": "code", - "execution_count": 182, + "execution_count": 47, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "Finished 10 dgms\n", - "Finished 20 dgms\n", - "Finished 20 dgms\n", - "Finished 10 dgms\n", - "Finished 20 dgms\n", - "Finished 20 dgms\n", - "Finished 10 dgms\n", - "Finished 20 dgms\n", - "Finished 20 dgms\n", - "Finished 10 dgms\n", - "Finished 20 dgms\n", - "Finished 20 dgms\n", - "Finished 10 dgms\n", - "Finished 20 dgms\n", - "Finished 20 dgms\n", + "3.0398919582366943\n", + "Finished Vectorized\n", + "0.7268681526184082\n", + "Finished Parallel\n", + "3.155362129211426\n", + "Finished Vectorized\n", + "0.466552734375\n", + "Finished Parallel\n", + "1.5360651016235352\n", + "Finished Vectorized\n", + "0.4452338218688965\n", + "Finished Parallel\n", + "1.5120861530303955\n", + "Finished Vectorized\n", + "0.5099241733551025\n", + "Finished Parallel\n", + "1.5271129608154297\n", + "Finished Vectorized\n", + "0.44048094749450684\n", + "Finished Parallel\n", "Finished Training 0\n", - "Finished 10 dgms\n", - "Finished 20 dgms\n", - "Finished 20 dgms\n", - "Finished 10 dgms\n", - "Finished 20 dgms\n", - "Finished 20 dgms\n", - "Finished 10 dgms\n", - "Finished 20 dgms\n", - "Finished 20 dgms\n", - "Finished 10 dgms\n", - "Finished 20 dgms\n", - "Finished 20 dgms\n", - "Finished 10 dgms\n", - "Finished 20 dgms\n", - "Finished 20 dgms\n", + "6.617464065551758\n", + "Finished Vectorized\n", + "1.7691609859466553\n", + "Finished Parallel\n", + "6.596956014633179\n", + "Finished Vectorized\n", + "1.7360310554504395\n", + "Finished Parallel\n", + "6.849323034286499\n", + "Finished Vectorized\n", + "1.7416930198669434\n", + "Finished Parallel\n", + "9.80093789100647\n", + "Finished Vectorized\n", + "3.274322032928467\n", + "Finished Parallel\n", + "6.803505897521973\n", + "Finished Vectorized\n", + "1.7691781520843506\n", + "Finished Parallel\n", "Finished Training 1\n", - "Finished 10 dgms\n", - "Finished 20 dgms\n", - "Finished 20 dgms\n", - "Finished 10 dgms\n", - "Finished 20 dgms\n", - "Finished 20 dgms\n", - "Finished 10 dgms\n", - "Finished 20 dgms\n", - "Finished 20 dgms\n", - "Finished 10 dgms\n", - "Finished 20 dgms\n", - "Finished 20 dgms\n", - "Finished 10 dgms\n", - "Finished 20 dgms\n", - "Finished 20 dgms\n", + "14.734604120254517\n", + "Finished Vectorized\n", + "3.854779005050659\n", + "Finished Parallel\n", + "18.831464767456055\n", + "Finished Vectorized\n", + "3.830172300338745\n", + "Finished Parallel\n", + "14.74963092803955\n", + "Finished Vectorized\n", + "3.7757890224456787\n", + "Finished Parallel\n", + "18.209402084350586\n", + "Finished Vectorized\n", + "3.797499895095825\n", + "Finished Parallel\n", + "14.684275150299072\n", + "Finished Vectorized\n", + "3.7406070232391357\n", + "Finished Parallel\n", "Finished Training 2\n", - "Finished 10 dgms\n", - "Finished 20 dgms\n", - "Finished 20 dgms\n", - "Finished 10 dgms\n", - "Finished 20 dgms\n", - "Finished 20 dgms\n", - "Finished 10 dgms\n", - "Finished 20 dgms\n", - "Finished 20 dgms\n", - "Finished 10 dgms\n", - "Finished 20 dgms\n", - "Finished 20 dgms\n", - "Finished 10 dgms\n", - "Finished 20 dgms\n", - "Finished 20 dgms\n", + "31.523288011550903\n", + "Finished Vectorized\n", + "7.35044002532959\n", + "Finished Parallel\n", + "33.65709328651428\n", + "Finished Vectorized\n", + "7.208256006240845\n", + "Finished Parallel\n", + "26.10512089729309\n", + "Finished Vectorized\n", + "10.725375890731812\n", + "Finished Parallel\n", + "32.15532922744751\n", + "Finished Vectorized\n", + "7.0417821407318115\n", + "Finished Parallel\n", + "32.334529876708984\n", + "Finished Vectorized\n", + "7.586343288421631\n", + "Finished Parallel\n", "Finished Training 3\n", - "Finished 10 dgms\n", - "Finished 20 dgms\n", - "Finished 20 dgms\n", - "Finished 10 dgms\n", - "Finished 20 dgms\n", - "Finished 20 dgms\n", - "Finished 10 dgms\n", - "Finished 20 dgms\n", - "Finished 20 dgms\n", - "Finished 10 dgms\n", - "Finished 20 dgms\n", - "Finished 20 dgms\n", - "Finished 10 dgms\n", - "Finished 20 dgms\n", - "Finished 20 dgms\n", + "46.94000315666199\n", + "Finished Vectorized\n", + "11.396078109741211\n", + "Finished Parallel\n", + "47.867881298065186\n", + "Finished Vectorized\n", + "11.70435094833374\n", + "Finished Parallel\n", + "47.451092004776\n", + "Finished Vectorized\n", + "11.021543979644775\n", + "Finished Parallel\n", + "46.02186679840088\n", + "Finished Vectorized\n", + "10.773434162139893\n", + "Finished Parallel\n", + "46.24920606613159\n", + "Finished Vectorized\n", + "10.999643087387085\n", + "Finished Parallel\n", "Finished Training 4\n", - "Finished 10 dgms\n", - "Finished 20 dgms\n", - "Finished 20 dgms\n", - "Finished 10 dgms\n", - "Finished 20 dgms\n", - "Finished 20 dgms\n", - "Finished 10 dgms\n", - "Finished 20 dgms\n", - "Finished 20 dgms\n", - "Finished 10 dgms\n", - "Finished 20 dgms\n", - "Finished 20 dgms\n", - "Finished 10 dgms\n", - "Finished 20 dgms\n", - "Finished 20 dgms\n", + "64.16761803627014\n", + "Finished Vectorized\n", + "15.476798057556152\n", + "Finished Parallel\n", + "64.72201609611511\n", + "Finished Vectorized\n", + "26.637356996536255\n", + "Finished Parallel\n", + "65.55083775520325\n", + "Finished Vectorized\n", + "16.106070041656494\n", + "Finished Parallel\n", + "65.92698431015015\n", + "Finished Vectorized\n", + "15.628019094467163\n", + "Finished Parallel\n", + "65.2325508594513\n", + "Finished Vectorized\n", + "15.348521947860718\n", + "Finished Parallel\n", "Finished Training 5\n", - "Finished 10 dgms\n", - "Finished 20 dgms\n", - "Finished 20 dgms\n", - "Finished 10 dgms\n", - "Finished 20 dgms\n", - "Finished 20 dgms\n", - "Finished 10 dgms\n", - "Finished 20 dgms\n", - "Finished 20 dgms\n", - "Finished 10 dgms\n", - "Finished 20 dgms\n", - "Finished 20 dgms\n", - "Finished 10 dgms\n", - "Finished 20 dgms\n", - "Finished 20 dgms\n", + "94.11742687225342\n", + "Finished Vectorized\n", + "24.2358238697052\n", + "Finished Parallel\n", + "88.12147784233093\n", + "Finished Vectorized\n", + "21.223601818084717\n", + "Finished Parallel\n", + "87.57678389549255\n", + "Finished Vectorized\n", + "33.08948493003845\n", + "Finished Parallel\n", + "89.13737869262695\n", + "Finished Vectorized\n", + "20.787963151931763\n", + "Finished Parallel\n", + "87.78019714355469\n", + "Finished Vectorized\n", + "20.635191917419434\n", + "Finished Parallel\n", "Finished Training 6\n", - " Observations 10 dgms 20 dgms 30 dgms\n", - "0 100.0 0.027094 0.064329 0.199017\n", - "1 200.0 0.129646 0.329025 0.944021\n", - "2 300.0 0.382681 0.936934 2.477855\n", - "3 400.0 0.821660 1.926164 4.915452\n", - "4 500.0 1.536726 3.435765 8.651521\n", - "5 600.0 2.593165 5.649603 13.783784\n", - "6 700.0 3.961421 8.619387 20.694822\n" + "120.9809217453003\n", + "Finished Vectorized\n", + "28.05131697654724\n", + "Finished Parallel\n", + "121.19650793075562\n", + "Finished Vectorized\n", + "28.54959487915039\n", + "Finished Parallel\n", + "103.31656694412231\n", + "Finished Vectorized\n", + "23.80898666381836\n", + "Finished Parallel\n", + "102.10183191299438\n", + "Finished Vectorized\n", + "23.286422967910767\n", + "Finished Parallel\n", + "101.8882360458374\n", + "Finished Vectorized\n", + "22.78316593170166\n", + "Finished Parallel\n", + "Finished Training 7\n", + "128.51568508148193\n", + "Finished Vectorized\n", + "29.00271201133728\n", + "Finished Parallel\n", + "128.42421197891235\n", + "Finished Vectorized\n", + "28.783951997756958\n", + "Finished Parallel\n", + "128.42240595817566\n", + "Finished Vectorized\n", + "29.052903175354004\n", + "Finished Parallel\n", + "128.38718104362488\n", + "Finished Vectorized\n", + "28.84966492652893\n", + "Finished Parallel\n", + "128.58796501159668\n", + "Finished Vectorized\n", + "28.94865107536316\n", + "Finished Parallel\n", + "Finished Training 8\n", + " Observations Vectorized Vectorized and Parallel\n", + "0 100.0 2.154104 0.517812\n", + "1 200.0 7.333637 2.058077\n", + "2 300.0 16.241875 3.799769\n", + "3 400.0 31.155072 7.982439\n", + "4 500.0 46.906010 11.179010\n", + "5 600.0 65.120001 17.839353\n", + "6 700.0 89.346653 23.994413\n", + "7 800.0 109.896813 25.295897\n", + "8 900.0 128.467490 28.927577\n" ] } ], "source": [ + "import time\n", "seed = [0,1,2,3,4]\n", - "train_size = [100, 200, 300, 400, 500, 600, 700]\n", + "train_size = [100, 200, 300, 400, 500, 600, 700, 800, 900]\n", "n = len(train_size)\n", - "timing_var_vec = np.zeros((n,4))\n", + "timing_rdmv = np.zeros((n,3))\n", "for i in range(0,n):\n", " for j in seed:\n", - " dgms = np.array(dgms_10[0:train_size[i]])\n", - " timing_var_vec[i,0] += len(dgms)\n", + " dgms = np.array(dgms_random[0:train_size[i]])\n", + " timing_rdmv[i,0] += len(dgms)\n", "\n", " start = time.time()\n", - " train, dummy_train, dummy = reshape_persistence_diagrams(dgms)\n", - " X_train_features_gu = guvectorize_kernel(train, dummy, .3)\n", + " tdgms= reshape_to_array(dgms)\n", + " X_train_features = guvectorize_kernel(tdgms, tdgms, .3)\n", " end = time.time()-start\n", - " timing_var_vec[i,1] +=end\n", - " print(\"Finished 10 dgms\")\n", + " print(end)\n", + " timing_rdmv[i,1] +=end\n", + " print(\"Finished Vectorized\")\n", "\n", - " dgms = np.array(dgms_20[0:train_size[i]])\n", " start = time.time()\n", - " train, dummy_train, dummy = reshape_persistence_diagrams(dgms)\n", - " X_train_features_gu = guvectorize_kernel(train, dummy, .3)\n", + " tdgms= reshape_to_array(dgms)\n", + " X_train_features = guvectorize_kernel_parallel(tdgms, tdgms, .3)\n", " end = time.time()-start\n", - " timing_var_vec[i,2] +=end\n", - " print(\"Finished 20 dgms\")\n", - "\n", - " dgms = np.array(dgms_40[0:train_size[i]])\n", - " start = time.time()\n", - " train, dummy_train, dummy = reshape_persistence_diagrams(dgms)\n", - " X_train_features_gu = guvectorize_kernel(train, dummy, .3)\n", - " end = time.time()-start\n", - " timing_var_vec[i,3] +=end\n", - " print(\"Finished 20 dgms\")\n", + " print(end)\n", + " timing_rdmv[i,2] +=end\n", + " print(\"Finished Parallel\")\n", "\n", " print(\"Finished Training \", i)\n", - "timing_var_vec = pd.DataFrame(timing_var_vec/5)\n", - "timing_var_vec.columns=['Observations','10 dgms', '20 dgms', '30 dgms']\n", - "print(timing_var_vec)" + "timing_rdmv = pd.DataFrame(timing_rdmv/5)\n", + "timing_rdmv.columns=['Observations', 'Vectorized', 'Vectorized and Parallel']\n", + "print(timing_rdmv)" ] }, { "cell_type": "code", - "execution_count": 296, + "execution_count": 48, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "Text(0.5, 1.0, 'Vectorized - Variable dgms size')" + "Text(0.5, 1.0, 'Kernel Method Timing - Vectorized')" ] }, - "execution_count": 296, + "execution_count": 48, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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", + "image/png": "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", "text/plain": [ - "
" + "
" ] }, - "metadata": {}, + "metadata": { + "needs_background": "light" + }, "output_type": "display_data" } ], "source": [ - "t = timing_var_vec.plot(x='Observations')\n", - "t.set_xlabel(\"Sample Size\")\n", - "t.set_ylabel(\"Time in Seconds\")\n", - "t.set_title(\"Vectorized - Variable dgms size\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Timing with simulated dataset" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "train_test = xdgm0_train[0:200]\n", - "%timeit timing, X_train_features = kernel_features(np.array(train_test), s = .3)\n", - "%timeit timing, X_train_features = optimized_kernel_features(np.array(train_test), s = .3)\n", - "dummy_train = np.arange(len(train_test), dtype=np.float64)\n", - "train = reshape_persistence_diagrams(train_test)\n", - "%timeit numba_kernel_features_train(train, dummy_train, .3)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "train_test = xdgm0_train[0:300]\n", - "%timeit timing, X_train_features = kernel_features(np.array(train_test), s = .3)\n", - "%timeit timing, X_train_features = optimized_kernel_features(np.array(train_test), s = .3)\n", - "%timeit timing, X_train_features = parallel_optimized_kernel_features(np.array(train_test), s = .3)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "train_test = xdgm0_train[0:400]\n", - "%timeit timing, X_train_features = kernel_features(np.array(train_test), s = .3)\n", - "%timeit timing, X_train_features = optimized_kernel_features(np.array(train_test), s = .3)\n", - "%timeit timing, X_train_features = parallel_optimized_kernel_features(np.array(train_test), s = .3)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "train_test = xdgm0_train[0:500]\n", - "%timeit timing, X_train_features = kernel_features(np.array(train_test), s = .3)\n", - "%timeit timing, X_train_features = optimized_kernel_features(np.array(train_test), s = .3)\n", - "%timeit timing, X_train_features = parallel_optimized_kernel_features(np.array(train_test), s = .3)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "train_test = xdgm0_train[0:750]\n", - "%timeit timing, X_train_features = kernel_features(np.array(train_test), s = .3)\n", - "%timeit timing, X_train_features = optimized_kernel_features(np.array(train_test), s = .3)\n", - "%timeit timing, X_train_features = parallel_optimized_kernel_features(np.array(train_test), s = .3)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "train_test = xdgm0_train[0:1000]\n", - "%timeit timing, X_train_features = kernel_features(np.array(train_test), s = .3)\n", - "%timeit timing, X_train_features = optimized_kernel_features(np.array(train_test), s = .3)\n", - "%timeit timing, X_train_features = parallel_optimized_kernel_features(np.array(train_test), s = .3)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "train_test = xdgm0_train[0:1250]\n", - "%timeit timing, X_train_features = kernel_features(np.array(train_test), s = .3)\n", - "%timeit timing, X_train_features = optimized_kernel_features(np.array(train_test), s = .3)\n", - "%timeit timing, X_train_features = parallel_optimized_kernel_features(np.array(train_test), s = .3)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "train_test = xdgm0_train[0:1500]\n", - "%timeit timing, X_train_features = kernel_features(np.array(train_test), s = .3)\n", - "%timeit timing, X_train_features = optimized_kernel_features(np.array(train_test), s = .3)\n", - "%timeit timing, X_train_features = parallel_optimized_kernel_features(np.array(train_test), s = .3)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "train_test = xdgm0_train[0:2000]\n", - "%timeit timing, X_train_features = kernel_features(np.array(train_test), s = .3)\n", - "%timeit timing, X_train_features = optimized_kernel_features(np.array(train_test), s = .3)\n", - "%timeit timing, X_train_features = parallel_optimized_kernel_features(np.array(train_test), s = .3)" + "t = timing_rdmv.plot(x='Observations', loglog=True,color = ['#2D708EFF','#20A387FF'])\n", + "t.set_xlabel(\"Sample Size (log)\")\n", + "t.set_ylabel(\"Time in Seconds(log)\")\n", + "t.set_title(\"Kernel Method Timing - Vectorized\")" ] } ], @@ -2056,7 +1395,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.6" + "version": "3.8.8" } }, "nbformat": 4, diff --git a/notebooks/timing/ml_methods_timing_pers_images.ipynb b/notebooks/timing/ml_methods_timing_pers_images.ipynb index a968bfe0..0fc3d102 100644 --- a/notebooks/timing/ml_methods_timing_pers_images.ipynb +++ b/notebooks/timing/ml_methods_timing_pers_images.ipynb @@ -9,7 +9,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 10, "metadata": {}, "outputs": [], "source": [ @@ -26,7 +26,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 11, "metadata": {}, "outputs": [ { @@ -61,48 +61,48 @@ " \n", " \n", " 0\n", - " [[0, 20], [14, 15], [2, 18]]\n", - " [[0, 20], [18, 18], [7, 9], [8, 8], [12, 17], ...\n", - " [[0, 20], [15, 15], [7, 14], [10, 13], [1, 7],...\n", - " [[0, 20], [11, 14], [3, 16], [6, 6], [11, 18],...\n", - " [[0, 20], [16, 19], [14, 18], [9, 11], [0, 12]...\n", - " [[0, 20], [6, 12], [9, 11], [10, 16], [1, 13],...\n", + " [[0, 20], [14, 19], [8, 19]]\n", + " [[0, 20], [15, 17], [11, 14], [5, 15], [18, 19...\n", + " [[0, 20], [19, 19], [2, 6], [9, 13], [9, 10], ...\n", + " [[0, 20], [3, 4], [15, 15], [13, 17], [8, 14],...\n", + " [[0, 20], [8, 10], [13, 15], [2, 14], [4, 17],...\n", + " [[0, 20], [13, 14], [6, 18], [1, 18], [5, 11],...\n", " \n", " \n", " 1\n", - " [[0, 20], [6, 8], [5, 5]]\n", - " [[0, 20], [11, 16], [13, 15], [8, 10], [4, 11]...\n", - " [[0, 20], [0, 2], [2, 12], [4, 6], [11, 18], [...\n", - " [[0, 20], [0, 1], [14, 15], [14, 17], [0, 10],...\n", - " [[0, 20], [13, 15], [2, 13], [4, 10], [3, 10],...\n", - " [[0, 20], [12, 16], [15, 19], [11, 15], [3, 16...\n", + " [[0, 20], [8, 19], [19, 19]]\n", + " [[0, 20], [5, 18], [8, 14], [3, 17], [16, 16],...\n", + " [[0, 20], [11, 14], [2, 5], [17, 19], [7, 7], ...\n", + " [[0, 20], [7, 7], [6, 18], [4, 17], [0, 11], [...\n", + " [[0, 20], [19, 19], [14, 15], [9, 16], [7, 19]...\n", + " [[0, 20], [18, 18], [17, 18], [2, 9], [4, 14],...\n", " \n", " \n", " 2\n", - " [[0, 20], [17, 19], [13, 13]]\n", - " [[0, 20], [14, 15], [10, 19], [17, 17], [1, 9]...\n", - " [[0, 20], [3, 8], [4, 11], [5, 10], [14, 15], ...\n", - " [[0, 20], [5, 18], [9, 10], [19, 19], [16, 16]...\n", - " [[0, 20], [9, 18], [8, 17], [0, 18], [8, 8], [...\n", - " [[0, 20], [17, 19], [16, 16], [19, 19], [10, 1...\n", + " [[0, 20], [10, 11], [5, 11]]\n", + " [[0, 20], [6, 13], [8, 9], [1, 5], [12, 13], [...\n", + " [[0, 20], [9, 18], [2, 15], [17, 18], [14, 14]...\n", + " [[0, 20], [14, 15], [7, 13], [14, 18], [8, 11]...\n", + " [[0, 20], [16, 17], [17, 17], [18, 18], [4, 4]...\n", + " [[0, 20], [0, 5], [15, 18], [17, 19], [13, 16]...\n", " \n", " \n", " 3\n", - " [[0, 20], [11, 12], [16, 17]]\n", - " [[0, 20], [12, 18], [7, 18], [1, 4], [3, 15], ...\n", - " [[0, 20], [4, 7], [15, 19], [9, 13], [15, 19],...\n", - " [[0, 20], [11, 13], [11, 14], [6, 16], [15, 19...\n", - " [[0, 20], [2, 10], [17, 17], [19, 19], [17, 19...\n", - " [[0, 20], [13, 19], [9, 18], [7, 8], [9, 18], ...\n", + " [[0, 20], [16, 17], [10, 19]]\n", + " [[0, 20], [19, 19], [0, 5], [14, 16], [18, 19]...\n", + " [[0, 20], [10, 11], [0, 15], [11, 15], [19, 19...\n", + " [[0, 20], [17, 19], [13, 19], [1, 6], [17, 17]...\n", + " [[0, 20], [15, 17], [19, 19], [12, 13], [18, 1...\n", + " [[0, 20], [0, 7], [15, 19], [5, 18], [8, 13], ...\n", " \n", " \n", " 4\n", - " [[0, 20], [14, 14], [6, 12]]\n", - " [[0, 20], [12, 17], [10, 17], [12, 14], [14, 1...\n", - " [[0, 20], [10, 17], [4, 17], [18, 18], [3, 15]...\n", - " [[0, 20], [19, 19], [19, 19], [0, 18], [2, 6],...\n", - " [[0, 20], [8, 16], [18, 19], [2, 3], [0, 11], ...\n", - " [[0, 20], [7, 16], [17, 18], [10, 12], [12, 16...\n", + " [[0, 20], [13, 19], [1, 10]]\n", + " [[0, 20], [1, 2], [10, 11], [5, 11], [19, 19],...\n", + " [[0, 20], [13, 14], [19, 19], [15, 18], [8, 16...\n", + " [[0, 20], [3, 8], [8, 19], [15, 15], [19, 19],...\n", + " [[0, 20], [11, 15], [6, 12], [7, 10], [11, 19]...\n", + " [[0, 20], [6, 9], [8, 11], [16, 16], [11, 14],...\n", " \n", " \n", " ...\n", @@ -114,145 +114,145 @@ " ...\n", " \n", " \n", - " 9995\n", - " [[0, 20], [1, 13], [13, 19]]\n", - " [[0, 20], [2, 2], [12, 14], [16, 16], [5, 17],...\n", - " [[0, 20], [0, 14], [18, 19], [19, 19], [8, 14]...\n", - " [[0, 20], [1, 15], [10, 18], [0, 16], [9, 19],...\n", - " [[0, 20], [11, 13], [4, 6], [5, 10], [2, 10], ...\n", - " [[0, 20], [1, 14], [13, 17], [14, 15], [15, 16...\n", + " 4995\n", + " [[0, 20], [5, 14], [6, 7]]\n", + " [[0, 20], [17, 17], [12, 12], [18, 18], [14, 1...\n", + " [[0, 20], [17, 17], [10, 13], [16, 16], [9, 18...\n", + " [[0, 20], [14, 14], [12, 15], [2, 6], [4, 5], ...\n", + " [[0, 20], [3, 15], [12, 14], [10, 16], [2, 3],...\n", + " [[0, 20], [5, 9], [16, 17], [8, 15], [7, 10], ...\n", " \n", " \n", - " 9996\n", - " [[0, 20], [10, 17], [12, 16]]\n", - " [[0, 20], [6, 13], [18, 18], [11, 15], [4, 7],...\n", - " [[0, 20], [17, 17], [2, 15], [14, 14], [3, 15]...\n", - " [[0, 20], [15, 19], [17, 18], [17, 17], [2, 5]...\n", - " [[0, 20], [6, 14], [19, 19], [4, 15], [7, 15],...\n", - " [[0, 20], [18, 19], [0, 6], [5, 9], [9, 13], [...\n", + " 4996\n", + " [[0, 20], [16, 19], [11, 11]]\n", + " [[0, 20], [9, 12], [19, 19], [11, 16], [3, 13]...\n", + " [[0, 20], [1, 3], [3, 16], [9, 16], [2, 9], [1...\n", + " [[0, 20], [1, 4], [9, 13], [8, 10], [17, 17], ...\n", + " [[0, 20], [8, 16], [15, 18], [16, 18], [6, 15]...\n", + " [[0, 20], [17, 18], [16, 19], [8, 13], [2, 11]...\n", " \n", " \n", - " 9997\n", - " [[0, 20], [2, 17], [12, 18]]\n", - " [[0, 20], [17, 18], [14, 19], [16, 16], [7, 7]...\n", - " [[0, 20], [1, 9], [1, 18], [1, 13], [18, 19], ...\n", - " [[0, 20], [3, 18], [19, 19], [18, 19], [19, 19...\n", - " [[0, 20], [3, 4], [3, 7], [18, 19], [13, 17], ...\n", - " [[0, 20], [0, 18], [9, 19], [8, 12], [19, 19],...\n", + " 4997\n", + " [[0, 20], [14, 14], [6, 7]]\n", + " [[0, 20], [9, 10], [9, 17], [11, 16], [19, 19]...\n", + " [[0, 20], [11, 14], [6, 15], [11, 14], [10, 12...\n", + " [[0, 20], [12, 17], [9, 14], [15, 16], [0, 3],...\n", + " [[0, 20], [11, 15], [12, 19], [15, 15], [2, 10...\n", + " [[0, 20], [2, 14], [0, 9], [0, 5], [14, 19], [...\n", " \n", " \n", - " 9998\n", - " [[0, 20], [18, 19], [5, 9]]\n", - " [[0, 20], [16, 16], [17, 19], [13, 15], [1, 15...\n", - " [[0, 20], [11, 16], [15, 16], [7, 13], [5, 8],...\n", - " [[0, 20], [19, 19], [13, 19], [17, 17], [16, 1...\n", - " [[0, 20], [12, 15], [18, 19], [4, 12], [0, 5],...\n", - " [[0, 20], [8, 17], [0, 16], [17, 19], [8, 13],...\n", + " 4998\n", + " [[0, 20], [3, 11], [16, 17]]\n", + " [[0, 20], [11, 13], [7, 16], [13, 16], [18, 18...\n", + " [[0, 20], [4, 18], [17, 19], [1, 1], [16, 17],...\n", + " [[0, 20], [16, 19], [12, 17], [17, 18], [16, 1...\n", + " [[0, 20], [3, 4], [6, 12], [1, 10], [9, 19], [...\n", + " [[0, 20], [12, 14], [2, 7], [11, 12], [12, 18]...\n", " \n", " \n", - " 9999\n", - " [[0, 20], [13, 18], [11, 19]]\n", - " [[0, 20], [11, 11], [14, 15], [14, 17], [11, 1...\n", - " [[0, 20], [19, 19], [14, 18], [3, 10], [10, 13...\n", - " [[0, 20], [18, 19], [1, 13], [6, 10], [3, 13],...\n", - " [[0, 20], [9, 19], [8, 18], [0, 5], [12, 15], ...\n", - " [[0, 20], [0, 1], [17, 17], [16, 19], [15, 16]...\n", + " 4999\n", + " [[0, 20], [13, 19], [7, 19]]\n", + " [[0, 20], [16, 16], [9, 12], [18, 18], [6, 7],...\n", + " [[0, 20], [0, 19], [4, 10], [19, 19], [13, 14]...\n", + " [[0, 20], [2, 10], [4, 4], [2, 9], [16, 16], [...\n", + " [[0, 20], [13, 13], [17, 19], [16, 17], [5, 16...\n", + " [[0, 20], [14, 17], [9, 12], [14, 15], [8, 15]...\n", " \n", " \n", "\n", - "

10000 rows × 6 columns

\n", + "

5000 rows × 6 columns

\n", "" ], "text/plain": [ " Length 3 dgms \\\n", - "0 [[0, 20], [14, 15], [2, 18]] \n", - "1 [[0, 20], [6, 8], [5, 5]] \n", - "2 [[0, 20], [17, 19], [13, 13]] \n", - "3 [[0, 20], [11, 12], [16, 17]] \n", - "4 [[0, 20], [14, 14], [6, 12]] \n", + "0 [[0, 20], [14, 19], [8, 19]] \n", + "1 [[0, 20], [8, 19], [19, 19]] \n", + "2 [[0, 20], [10, 11], [5, 11]] \n", + "3 [[0, 20], [16, 17], [10, 19]] \n", + "4 [[0, 20], [13, 19], [1, 10]] \n", "... ... \n", - "9995 [[0, 20], [1, 13], [13, 19]] \n", - "9996 [[0, 20], [10, 17], [12, 16]] \n", - "9997 [[0, 20], [2, 17], [12, 18]] \n", - "9998 [[0, 20], [18, 19], [5, 9]] \n", - "9999 [[0, 20], [13, 18], [11, 19]] \n", + "4995 [[0, 20], [5, 14], [6, 7]] \n", + "4996 [[0, 20], [16, 19], [11, 11]] \n", + "4997 [[0, 20], [14, 14], [6, 7]] \n", + "4998 [[0, 20], [3, 11], [16, 17]] \n", + "4999 [[0, 20], [13, 19], [7, 19]] \n", "\n", " Length 6 dgms \\\n", - "0 [[0, 20], [18, 18], [7, 9], [8, 8], [12, 17], ... \n", - "1 [[0, 20], [11, 16], [13, 15], [8, 10], [4, 11]... \n", - "2 [[0, 20], [14, 15], [10, 19], [17, 17], [1, 9]... \n", - "3 [[0, 20], [12, 18], [7, 18], [1, 4], [3, 15], ... \n", - "4 [[0, 20], [12, 17], [10, 17], [12, 14], [14, 1... \n", + "0 [[0, 20], [15, 17], [11, 14], [5, 15], [18, 19... \n", + "1 [[0, 20], [5, 18], [8, 14], [3, 17], [16, 16],... \n", + "2 [[0, 20], [6, 13], [8, 9], [1, 5], [12, 13], [... \n", + "3 [[0, 20], [19, 19], [0, 5], [14, 16], [18, 19]... \n", + "4 [[0, 20], [1, 2], [10, 11], [5, 11], [19, 19],... \n", "... ... \n", - "9995 [[0, 20], [2, 2], [12, 14], [16, 16], [5, 17],... \n", - "9996 [[0, 20], [6, 13], [18, 18], [11, 15], [4, 7],... \n", - "9997 [[0, 20], [17, 18], [14, 19], [16, 16], [7, 7]... \n", - "9998 [[0, 20], [16, 16], [17, 19], [13, 15], [1, 15... \n", - "9999 [[0, 20], [11, 11], [14, 15], [14, 17], [11, 1... \n", + "4995 [[0, 20], [17, 17], [12, 12], [18, 18], [14, 1... \n", + "4996 [[0, 20], [9, 12], [19, 19], [11, 16], [3, 13]... \n", + "4997 [[0, 20], [9, 10], [9, 17], [11, 16], [19, 19]... \n", + "4998 [[0, 20], [11, 13], [7, 16], [13, 16], [18, 18... \n", + "4999 [[0, 20], [16, 16], [9, 12], [18, 18], [6, 7],... \n", "\n", " Length 10 dgms \\\n", - "0 [[0, 20], [15, 15], [7, 14], [10, 13], [1, 7],... \n", - "1 [[0, 20], [0, 2], [2, 12], [4, 6], [11, 18], [... \n", - "2 [[0, 20], [3, 8], [4, 11], [5, 10], [14, 15], ... \n", - "3 [[0, 20], [4, 7], [15, 19], [9, 13], [15, 19],... \n", - "4 [[0, 20], [10, 17], [4, 17], [18, 18], [3, 15]... \n", + "0 [[0, 20], [19, 19], [2, 6], [9, 13], [9, 10], ... \n", + "1 [[0, 20], [11, 14], [2, 5], [17, 19], [7, 7], ... \n", + "2 [[0, 20], [9, 18], [2, 15], [17, 18], [14, 14]... \n", + "3 [[0, 20], [10, 11], [0, 15], [11, 15], [19, 19... \n", + "4 [[0, 20], [13, 14], [19, 19], [15, 18], [8, 16... \n", "... ... \n", - "9995 [[0, 20], [0, 14], [18, 19], [19, 19], [8, 14]... \n", - "9996 [[0, 20], [17, 17], [2, 15], [14, 14], [3, 15]... \n", - "9997 [[0, 20], [1, 9], [1, 18], [1, 13], [18, 19], ... \n", - "9998 [[0, 20], [11, 16], [15, 16], [7, 13], [5, 8],... \n", - "9999 [[0, 20], [19, 19], [14, 18], [3, 10], [10, 13... \n", + "4995 [[0, 20], [17, 17], [10, 13], [16, 16], [9, 18... \n", + "4996 [[0, 20], [1, 3], [3, 16], [9, 16], [2, 9], [1... \n", + "4997 [[0, 20], [11, 14], [6, 15], [11, 14], [10, 12... \n", + "4998 [[0, 20], [4, 18], [17, 19], [1, 1], [16, 17],... \n", + "4999 [[0, 20], [0, 19], [4, 10], [19, 19], [13, 14]... \n", "\n", " Length 20 dgms \\\n", - "0 [[0, 20], [11, 14], [3, 16], [6, 6], [11, 18],... \n", - "1 [[0, 20], [0, 1], [14, 15], [14, 17], [0, 10],... \n", - "2 [[0, 20], [5, 18], [9, 10], [19, 19], [16, 16]... \n", - "3 [[0, 20], [11, 13], [11, 14], [6, 16], [15, 19... \n", - "4 [[0, 20], [19, 19], [19, 19], [0, 18], [2, 6],... \n", + "0 [[0, 20], [3, 4], [15, 15], [13, 17], [8, 14],... \n", + "1 [[0, 20], [7, 7], [6, 18], [4, 17], [0, 11], [... \n", + "2 [[0, 20], [14, 15], [7, 13], [14, 18], [8, 11]... \n", + "3 [[0, 20], [17, 19], [13, 19], [1, 6], [17, 17]... \n", + "4 [[0, 20], [3, 8], [8, 19], [15, 15], [19, 19],... \n", "... ... \n", - "9995 [[0, 20], [1, 15], [10, 18], [0, 16], [9, 19],... \n", - "9996 [[0, 20], [15, 19], [17, 18], [17, 17], [2, 5]... \n", - "9997 [[0, 20], [3, 18], [19, 19], [18, 19], [19, 19... \n", - "9998 [[0, 20], [19, 19], [13, 19], [17, 17], [16, 1... \n", - "9999 [[0, 20], [18, 19], [1, 13], [6, 10], [3, 13],... \n", + "4995 [[0, 20], [14, 14], [12, 15], [2, 6], [4, 5], ... \n", + "4996 [[0, 20], [1, 4], [9, 13], [8, 10], [17, 17], ... \n", + "4997 [[0, 20], [12, 17], [9, 14], [15, 16], [0, 3],... \n", + "4998 [[0, 20], [16, 19], [12, 17], [17, 18], [16, 1... \n", + "4999 [[0, 20], [2, 10], [4, 4], [2, 9], [16, 16], [... \n", "\n", " Length 40 dgms \\\n", - "0 [[0, 20], [16, 19], [14, 18], [9, 11], [0, 12]... \n", - "1 [[0, 20], [13, 15], [2, 13], [4, 10], [3, 10],... \n", - "2 [[0, 20], [9, 18], [8, 17], [0, 18], [8, 8], [... \n", - "3 [[0, 20], [2, 10], [17, 17], [19, 19], [17, 19... \n", - "4 [[0, 20], [8, 16], [18, 19], [2, 3], [0, 11], ... \n", + "0 [[0, 20], [8, 10], [13, 15], [2, 14], [4, 17],... \n", + "1 [[0, 20], [19, 19], [14, 15], [9, 16], [7, 19]... \n", + "2 [[0, 20], [16, 17], [17, 17], [18, 18], [4, 4]... \n", + "3 [[0, 20], [15, 17], [19, 19], [12, 13], [18, 1... \n", + "4 [[0, 20], [11, 15], [6, 12], [7, 10], [11, 19]... \n", "... ... \n", - "9995 [[0, 20], [11, 13], [4, 6], [5, 10], [2, 10], ... \n", - "9996 [[0, 20], [6, 14], [19, 19], [4, 15], [7, 15],... \n", - "9997 [[0, 20], [3, 4], [3, 7], [18, 19], [13, 17], ... \n", - "9998 [[0, 20], [12, 15], [18, 19], [4, 12], [0, 5],... \n", - "9999 [[0, 20], [9, 19], [8, 18], [0, 5], [12, 15], ... \n", + "4995 [[0, 20], [3, 15], [12, 14], [10, 16], [2, 3],... \n", + "4996 [[0, 20], [8, 16], [15, 18], [16, 18], [6, 15]... \n", + "4997 [[0, 20], [11, 15], [12, 19], [15, 15], [2, 10... \n", + "4998 [[0, 20], [3, 4], [6, 12], [1, 10], [9, 19], [... \n", + "4999 [[0, 20], [13, 13], [17, 19], [16, 17], [5, 16... \n", "\n", " Length 80 dgms \n", - "0 [[0, 20], [6, 12], [9, 11], [10, 16], [1, 13],... \n", - "1 [[0, 20], [12, 16], [15, 19], [11, 15], [3, 16... \n", - "2 [[0, 20], [17, 19], [16, 16], [19, 19], [10, 1... \n", - "3 [[0, 20], [13, 19], [9, 18], [7, 8], [9, 18], ... \n", - "4 [[0, 20], [7, 16], [17, 18], [10, 12], [12, 16... \n", + "0 [[0, 20], [13, 14], [6, 18], [1, 18], [5, 11],... \n", + "1 [[0, 20], [18, 18], [17, 18], [2, 9], [4, 14],... \n", + "2 [[0, 20], [0, 5], [15, 18], [17, 19], [13, 16]... \n", + "3 [[0, 20], [0, 7], [15, 19], [5, 18], [8, 13], ... \n", + "4 [[0, 20], [6, 9], [8, 11], [16, 16], [11, 14],... \n", "... ... \n", - "9995 [[0, 20], [1, 14], [13, 17], [14, 15], [15, 16... \n", - "9996 [[0, 20], [18, 19], [0, 6], [5, 9], [9, 13], [... \n", - "9997 [[0, 20], [0, 18], [9, 19], [8, 12], [19, 19],... \n", - "9998 [[0, 20], [8, 17], [0, 16], [17, 19], [8, 13],... \n", - "9999 [[0, 20], [0, 1], [17, 17], [16, 19], [15, 16]... \n", + "4995 [[0, 20], [5, 9], [16, 17], [8, 15], [7, 10], ... \n", + "4996 [[0, 20], [17, 18], [16, 19], [8, 13], [2, 11]... \n", + "4997 [[0, 20], [2, 14], [0, 9], [0, 5], [14, 19], [... \n", + "4998 [[0, 20], [12, 14], [2, 7], [11, 12], [12, 18]... \n", + "4999 [[0, 20], [14, 17], [9, 12], [14, 15], [8, 15]... \n", "\n", - "[10000 rows x 6 columns]" + "[5000 rows x 6 columns]" ] }, - "execution_count": 3, + "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "timing_dgms = np.empty([10000,6], dtype=object)\n", - "for j in range(0,10000):\n", + "timing_dgms = np.empty([5000,6], dtype=object)\n", + "for j in range(0,5000):\n", " three_dgms = []\n", " six_dgms = []\n", " ten_dgms = []\n", @@ -316,7 +316,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 12, "metadata": {}, "outputs": [], "source": [ @@ -337,7 +337,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 13, "metadata": {}, "outputs": [], "source": [ @@ -401,91 +401,52 @@ " return output" ] }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Test Initial Timings for Parallel Performance" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "5.2 ms ± 138 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n", - "24.9 ms ± 335 µs per loop (mean ± std. dev. of 7 runs, 1 loop each)\n" - ] - } - ], - "source": [ - "dgms_3_train = dgms_3[0:100]\n", - "%timeit output0 = F_Image(dgms_3_train, PS=1, var=2, plot=False, training=True)\n", - "%timeit output0 = F_Image(dgms_3_train, PS=1, var=2, plot=False, training=True, parallel=True)" - ] - }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 14, "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "280 ms ± 6.3 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)\n", - "1.04 s ± 82.3 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)\n" - ] + "data": { + "text/plain": [ + "8" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ - "dgms_train = dgms_20[0:1000]\n", - "%timeit output0 = F_Image(dgms_train, PS=1, var=2, plot=False, training=True)\n", - "%timeit output0 = F_Image(dgms_train, PS=.1, var=2, plot=False, training=True, parallel=True)" + "import os\n", + "os.cpu_count()" ] }, { - "cell_type": "code", - "execution_count": 8, + "cell_type": "markdown", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "53.1 ms ± 518 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)\n", - "34.8 ms ± 1.61 ms per loop (mean ± std. dev. of 7 runs, 10 loops each)\n" - ] - } - ], "source": [ - "dgms_train = dgms_40[0:100]\n", - "%timeit output0 = F_Image(dgms_train, PS=1, var=2, plot=False, training=True)\n", - "%timeit output0 = F_Image(dgms_train, PS=1, var=2, plot=False, training=True, parallel=True)" + "Test Initial Timings for Parallel Performance" ] }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 15, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "104 ms ± 390 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)\n", - "52 ms ± 512 µs per loop (mean ± std. dev. of 7 runs, 10 loops each)\n" + "10.3 ms ± 206 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n", + "26 ms ± 987 µs per loop (mean ± std. dev. of 7 runs, 1 loop each)\n" ] } ], "source": [ - "dgms_train = dgms_80[0:100]\n", - "%timeit output0 = F_Image(dgms_train, PS=1, var=2, plot=False, training=True)\n", - "%timeit output0 = F_Image(dgms_train, PS=1, var=2, plot=False, training=True, parallel=True)" + "dgms_3_train = dgms_3[0:100]\n", + "%timeit output0 = F_Image(dgms_3_train, PS=1, var=2, plot=False, training=True)\n", + "%timeit output0 = F_Image(dgms_3_train, PS=1, var=2, plot=False, training=True, parallel=True)" ] }, { @@ -499,12 +460,12 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "20 Diagrams, Pixel Size 1" + "Timing for 80 Diagrams" ] }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 16, "metadata": {}, "outputs": [ { @@ -522,317 +483,87 @@ "Finished Training 8\n", "Finished Training 9\n", "Finished Training 10\n", - "Finished Training 11\n", - "Finished Training 12\n", - "Finished Training 13\n", - "Finished Training 14\n", - "Finished Training 15\n", " Observations Parallel (8 cores) Single Core\n", - "0 100.0 0.029016 0.028094\n", - "1 500.0 0.080219 0.140423\n", - "2 1000.0 0.144029 0.275973\n", - "3 1500.0 0.188122 0.416212\n", - "4 2000.0 0.244917 0.554291\n", - "5 2500.0 0.314728 0.685693\n", - "6 3000.0 0.339252 0.817610\n", - "7 3500.0 0.391603 0.954493\n", - "8 4000.0 0.467226 1.144937\n", - "9 4500.0 0.476675 1.244587\n", - "10 5000.0 0.520433 1.349896\n", - "11 6000.0 0.643419 1.633598\n", - "12 7000.0 0.708957 1.887915\n", - "13 8000.0 0.861028 2.170160\n", - "14 9000.0 0.966692 2.449129\n", - "15 10000.0 1.108548 2.745646\n" + "0 100.0 0.107374 0.212608\n", + "1 500.0 0.507855 1.141343\n", + "2 1000.0 1.014234 2.294976\n", + "3 1500.0 1.260928 3.215595\n", + "4 2000.0 1.592594 4.325739\n", + "5 2500.0 1.898004 5.486685\n", + "6 3000.0 2.336546 6.502477\n", + "7 3500.0 2.852809 7.638441\n", + "8 4000.0 3.132142 8.387134\n", + "9 4500.0 3.571582 9.502727\n", + "10 5000.0 4.029349 10.518145\n" ] } ], "source": [ "import time\n", "seed = [0,1,2,3,4]\n", - "train_size = [100, 500,1000,1500, 2000, 2500, 3000, 3500, 4000, 4500, 5000, 6000, 7000, 8000, 9000,10000]\n", + "train_size = [100, 500,1000,1500, 2000, 2500, 3000, 3500, 4000, 4500, 5000]\n", "n = len(train_size)\n", - "dgm20_timing = np.zeros((n,3))\n", + "dgm80_timing = np.zeros((n,3))\n", "for i in range(0,n):\n", " for j in seed:\n", - " dgms_train = dgms_20[0:train_size[i]]\n", + " dgms_train = dgms_80[0:train_size[i]]\n", " xdgm0_train = np.array(dgms_train)\n", - " dgm20_timing[i,0] += len(xdgm0_train)\n", + " dgm80_timing[i,0] += len(xdgm0_train)\n", "\n", " start = time.time()\n", " output = F_Image(xdgm0_train, PS=1, var=1, plot=False, training=True, parallel=True)\n", " end = time.time()-start\n", - " dgm20_timing[i,1] +=end\n", + " dgm80_timing[i,1] +=end\n", "\n", " start = time.time()\n", " output = F_Image(xdgm0_train, PS=1, var=1, plot=False, training=True)\n", " end = time.time()-start\n", - " dgm20_timing[i,2] +=end\n", - "\n", - " print(\"Finished Training \", i)\n", - "dgm20_timing_ps1 = pd.DataFrame(dgm20_timing/5)\n", - "dgm20_timing_ps1.columns=['Observations', 'Parallel (8 cores)', 'Single Core']\n", - "print(dgm20_timing_ps1)" - ] - }, - { - "cell_type": "code", - "execution_count": 50, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Text(0.5, 1.0, 'Simulated Data - 20 dgms per observation, Pixel Size 1')" - ] - }, - "execution_count": 50, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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zJBCRERE1Z/OgoqlpSUaNGig0WZubg57e/si7URERFQz6XzVDxEREVFJdLrq50lhYWG6LoGIiIj0CHtUiIiISG8xqBAREZHeYlAhIiIivcWgQkRERHqLQYWIiIj0FoMKERER6S0GFSIiItJbDCpERESktxhUiIiISG8xqBAREZHeYlAhIiIivcWgQkRERHqLQYWIiIj0FoMKERER6S0GFSIiItJbDCpERESktxhUiIiISG8xqBAREZHeYlAhIiIivcWgQkRERHqLQYWIiIj0FoMKERER6S0GFSIiItJbDCpERESktxhUiIiISG8xqBAREZHeYlAhIiIivcWgQkRERHqLQYWIiIj0FoMKERER6S0GFSIiItJbDCpERESktxhUiIiISG8xqBAREZHeYlAhIiIivcWgQkRERHqLQYWIiIj0FoMKERER6S0GFSIiItJbDCpERESktxhUiIiISG8xqBAREZHeYlAhIiIivcWgQkRERHqLQYWIiIj0FoMKERER6S0GFSIiItJbDCpERESktxhUiIiISG+VOajs2LEDhw4dUt/+7rvv0KhRI7z22mtISkrSanFERERUs5U5qLz33ntITU0FAISHh+Odd97BSy+9hOjoaEybNk3rBRIREVHNZVTWB0RHRyMgIAAA8Mcff+Dll1/GF198gTNnzuCll17SeoFERERUc5W5R0UulyMzMxMAsHv3bnTt2hUAYGdnp+5pISIiItKGMveovPDCC5g2bRratGmDEydOYMOGDQCAa9euoXbt2lovkIiIiGquMveoLFmyBEZGRvj999+xbNky1KpVCwCwfft2dOvWTesFEhERUc0lE0IIXRdRXqmpqbC2tkZKSgqsrKx0XQ4RERGVQll+f5dq6Kcsc08YGIiIiEhbShVUbGxsIJPJSvWESqXyuQoiIiIiKlCqoLJv3z7132NiYvD+++9j+PDhCAkJAQAcPXoUa9aswZw5cyqmSiIiIqqRyjxHpVOnThg9ejQGDx6s0b5+/Xr88MMPCAsL02Z9T8U5KkRERFVPWX5/l3nVz9GjR9GsWbMi7c2aNcOJEyfK+nREREREJSpzUHF3d8eKFSuKtK9cuRLu7u5aKYqIiIgIKMeGb19//TX69euH7du3o2XLlgCAEydOIDIyEn/88YfWCyQiIqKaq8w9Ki+99BIiIyPRs2dPJCYmIjExET17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UX9x/ve//+Ho0aP466+/YGpqqq5h37596te3sLBA/fr1AaDEGojo+XEyLVENZmJigi5duqBLly746KOPMHr0aMycORPDhw9HTEwMXn75ZYwfPx6zZ8+GnZ0dDh06hFGjRiE3NxdmZmYAAGNjY43nlMlkxbapVKpy15meno6mTZti3bp1Re5zdHR86mN9fX3h6+uL0aNH44MPPkDdunWxYcMGjBgxotjjf/nlF3z99dcICwtDrVq1NGro2bMn5s6dW+Qxrq6uZXxHRFRaDCpEpBYQEKDeu+T06dNQqVRYsGABDAykzteNGzdq7bWOHTtW5La/v3+xxzZp0gQbNmyAk5MTrKysyv2aXl5eMDMzQ0ZGRrH3Hz16FKNHj8by5cvRqlWrIjX88ccf8PLygpERf3QSVRYO/RDVQAkJCejYsSN++eUXXLhwAdHR0di0aRPmzZuH3r17AwD8/PyQl5eHxYsX48aNG1i7di2+//57rdVw+PBhzJs3D9euXcN3332HTZs2YcqUKcUeO2TIEDg4OKB37944ePAgoqOjERYWhsmTJ+POnTvFPuaTTz7B9OnTERYWhujoaJw9exYjR45EXl4eunTpUuT42NhY9OnTB4MGDUJoaChiY2MRGxuLBw8eAAAmTJiAxMREDB48GCdPnkRUVBR27tyJESNGQKlUau28EJEmBhWiGsjCwgItW7bE119/jXbt2qFBgwb46KOPMGbMGCxZsgQAEBwcjIULF2Lu3Llo0KAB1q1bhzlz5mithnfeeQenTp1C48aN8fnnn2PhwoUIDQ0t9lgzMzMcOHAAHh4e6Nu3L/z9/TFq1ChkZ2eX2MPSvn173LhxA2+88Qbq16+P7t27IzY2Frt27UK9evWKHH/16lXExcVhzZo1cHV1VX81b94cAODm5obDhw9DqVSia9euCAoKwtSpU2FjY6PucSIi7ZMJIYSuiyCimsXLywtTp07V2CWWiKg4/G8AERER6S0GFSIiItJbHPohIiIivcUeFSIiItJbDCpERESktxhUiIiISG8xqBAREZHeYlAhIiIivcWgQkRERHqLQYWIiIj0FoMKERER6S0GFSIiItJb/w9bIkiiuRUvPQAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "t = dgm20_timing_ps1.plot(x='Observations')\n", - "t.set_xlabel(\"Sample Size\")\n", - "t.set_ylabel(\"Time in Seconds\")\n", - "t.set_ylim(0,5)\n", - "t.set_title(\"Simulated Data - 20 dgms per observation, Pixel Size 1\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "20 Diagrams, Pixel Size 2" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished Training 0\n", - "Finished Training 1\n", - "Finished Training 2\n", - "Finished Training 3\n", - "Finished Training 4\n", - "Finished Training 5\n", - "Finished Training 6\n", - "Finished Training 7\n", - "Finished Training 8\n", - "Finished Training 9\n", - "Finished Training 10\n", - "Finished Training 11\n", - "Finished Training 12\n", - "Finished Training 13\n", - "Finished Training 14\n", - "Finished Training 15\n", - " Observations Parallel (8 cores) Single Core\n", - "0 100.0 0.035007 0.027391\n", - "1 500.0 0.065965 0.128129\n", - "2 1000.0 0.122555 0.257224\n", - "3 1500.0 0.159251 0.381790\n", - "4 2000.0 0.207785 0.507658\n", - "5 2500.0 0.256052 0.635905\n", - "6 3000.0 0.301452 0.776169\n", - "7 3500.0 0.364121 0.903907\n", - "8 4000.0 0.436811 1.034677\n", - "9 4500.0 0.469684 1.147724\n", - "10 5000.0 0.567868 1.305807\n", - "11 6000.0 0.615649 1.540637\n", - "12 7000.0 0.733540 1.820593\n", - "13 8000.0 0.802208 2.041749\n", - "14 9000.0 0.859797 2.281324\n", - "15 10000.0 0.935288 2.529895\n" - ] - } - ], - "source": [ - "import time\n", - "seed = [0,1,2,3,4]\n", - "train_size = [100, 500,1000,1500, 2000, 2500, 3000, 3500, 4000, 4500, 5000, 6000, 7000, 8000, 9000,10000]\n", - "n = len(train_size)\n", - "dgm20_timing = np.zeros((n,3))\n", - "for i in range(0,n):\n", - " for j in seed:\n", - " dgms_train = dgms_20[0:train_size[i]]\n", - " xdgm0_train = np.array(dgms_train)\n", - " dgm20_timing[i,0] += len(xdgm0_train)\n", - "\n", - " start = time.time()\n", - " output = F_Image(xdgm0_train, PS=2, var=1, plot=False, training=True, parallel=True)\n", - " end = time.time()-start\n", - " dgm20_timing[i,1] +=end\n", - "\n", - " start = time.time()\n", - " output = F_Image(xdgm0_train, PS=2, var=1, plot=False, training=True)\n", - " end = time.time()-start\n", - " dgm20_timing[i,2] +=end\n", + " dgm80_timing[i,2] +=end\n", "\n", " print(\"Finished Training \", i)\n", - "dgm20_timing_ps2 = pd.DataFrame(dgm20_timing/5)\n", - "dgm20_timing_ps2.columns=['Observations', 'Parallel (8 cores)', 'Single Core']\n", - "print(dgm20_timing_ps2)" - ] - }, - { - "cell_type": "code", - "execution_count": 51, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Text(0.5, 1.0, 'Simulated Data - 20 dgms per observation, Pixel Size 2')" - ] - }, - "execution_count": 51, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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YdKkSVi7di3MzMyK9Zjp06cjPj5e83Pv3r1SrpKIiIj0SSaEEPp44m3btqFXr14wNjbWtGVnZ0Mmk8HIyAjp6ela9xUkISEBKpUK8fHxsLa2Lu2SiYiISAdK8v2tt1M/HTp0QFBQkFbbiBEjUKdOHfzvf/97bkghIiKiik9vQcXKygp+fn5abRYWFrC3t8/XTkRERJWT3mf9EBERERVGr7N+nhUYGKjvEoiIiMiAsEeFiIiIDBaDChERERksBhUiIiIyWAwqREREZLAYVIiIiMhgMagQERGRwWJQISIiIoPFoEJEREQGi0GFiIiIDBaDChERERksBhUiIiIyWAwqREREZLAYVIiIiMhgMagQERGRwWJQISIiIoPFoEJEREQGi0GFiIiIDBaDChERERksBhUiIiIyWAwqREREZLAYVIiIiMhgMagQERGRwWJQISIiIoPFoEJEREQGi0GFiIiIDBaDChERERksBhUiIiIyWAwqREREZLAYVIiIiMhgMagQERGRwWJQISIiIoPFoEJEREQGi0GFiIiIDBaDChERERksBhUiIiIyWAwqREREZLAYVIiIiMhgMagQERGRwWJQISIiIoPFoEJEREQGi0GFiIiIDBaDChERERksBhUiIiIyWAwqREREZLAYVIiIiMhgMagQERGRwWJQISIiIoPFoEJEREQGi0GFiIiIDFaJg8ru3btx9OhRze1ffvkFDRo0wFtvvYXY2FidFkdERESVW4mDykcffYSEhAQAQFBQEKZOnYrXX38dYWFhmDJlis4LJCIiosrLpKQPCAsLQ926dQEAmzdvxhtvvIFvvvkG58+fx+uvv67zAomIiKjyKnGPilwuR0pKCgBg//796Ny5MwDAzs5O09NCREREpAsl7lF59dVXMWXKFLRq1QqnT5/G+vXrAQA3b95E1apVdV4gERERVV4l7lFZtGgRTExMsGnTJixZsgRVqlQBAOzatQtdunTReYFERERUecmEEELfRbyohIQEqFQqxMfHw9raWt/lEBERUTGU5Pu7WKd+SjL2hIGBiIiIdKVYQcXGxgYymaxYO8zOzn6pgoiIiIhyFCuoHDp0SPP38PBwfPzxxxg+fDhatGgBADhx4gRWrVqFOXPmlE6VREREVCmVeIxKhw4dMHr0aAwaNEirfd26dfjtt98QGBioy/qKxDEqRERE5U9Jvr9L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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "t = dgm20_timing_ps2.plot(x='Observations')\n", - "t.set_xlabel(\"Sample Size\")\n", - "t.set_ylabel(\"Time in Seconds\")\n", - "t.set_ylim(0,5)\n", - "t.set_title(\"Simulated Data - 20 dgms per observation, Pixel Size 2\")" + "dgm80_timing_ps1 = pd.DataFrame(dgm80_timing/5)\n", + "dgm80_timing_ps1.columns=['Observations', 'Parallel (8 cores)', 'Single Core']\n", + "print(dgm80_timing_ps1)" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished Training 0\n", - "Finished Training 1\n", - "Finished Training 2\n", - "Finished Training 3\n", - "Finished Training 4\n", - "Finished Training 5\n", - "Finished Training 6\n", - "Finished Training 7\n", - "Finished Training 8\n", - "Finished Training 9\n", - "Finished Training 10\n", - "Finished Training 11\n", - "Finished Training 12\n", - "Finished Training 13\n", - "Finished Training 14\n", - "Finished Training 15\n", - " Observations Parallel (8 cores) Single Core\n", - "0 100.0 0.031464 0.034084\n", - "1 500.0 0.081285 0.166930\n", - "2 1000.0 0.153693 0.329350\n", - "3 1500.0 0.209683 0.496066\n", - "4 2000.0 0.271977 0.661024\n", - "5 2500.0 0.336255 0.826559\n", - "6 3000.0 0.388836 0.998446\n", - "7 3500.0 0.508934 1.176400\n", - "8 4000.0 0.525719 1.335952\n", - "9 4500.0 0.568712 1.495211\n", - "10 5000.0 0.618874 1.662522\n", - "11 6000.0 0.741753 1.991327\n", - "12 7000.0 0.861995 2.321791\n", - "13 8000.0 0.999703 2.661577\n", - "14 9000.0 1.105804 2.990195\n", - "15 10000.0 1.219979 3.317929\n" - ] - } - ], - "source": [ - "import time\n", - "seed = [0,1,2,3,4]\n", - "train_size = [100, 500,1000,1500, 2000, 2500, 3000, 3500, 4000, 4500, 5000, 6000, 7000, 8000, 9000,10000]\n", - "n = len(train_size)\n", - "dgm20_timing = np.zeros((n,3))\n", - "for i in range(0,n):\n", - " for j in seed:\n", - " dgms_train = dgms_20[0:train_size[i]]\n", - " xdgm0_train = np.array(dgms_train)\n", - " dgm20_timing[i,0] += len(xdgm0_train)\n", - "\n", - " start = time.time()\n", - " output = F_Image(xdgm0_train, PS=.5, var=1, plot=False, training=True, parallel=True)\n", - " end = time.time()-start\n", - " dgm20_timing[i,1] +=end\n", - "\n", - " start = time.time()\n", - " output = F_Image(xdgm0_train, PS=.5, var=1, plot=False, training=True)\n", - " end = time.time()-start\n", - " dgm20_timing[i,2] +=end\n", - "\n", - " print(\"Finished Training \", i)\n", - "dgm20_timing_ps05 = pd.DataFrame(dgm20_timing/5)\n", - "dgm20_timing_ps05.columns=['Observations', 'Parallel (8 cores)', 'Single Core']\n", - "print(dgm20_timing_ps05)" - ] - }, - { - "cell_type": "code", - "execution_count": 53, - "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "Text(0.5, 1.0, 'Simulated Data - 20 dgms per observation, Pixel Size .5')" + "Text(0.5, 1.0, 'Persistence Images Timing - Pixel Size 1')" ] }, - "execution_count": 53, + "execution_count": 17, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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98fZs2eL7bXv3bsXY8eOxeuvv47q1asjOzsbP//8s+4L+Vnc3d0xf/58REZGonr16ti4cSPOnj2L77//Xjd1ddCgQdi0aRPeeecd7Nu3Dy1atIBGo8GVK1ewadMm7Ny587mmTTo5OWHq1KmYPXs2unTpgh49euDq1atYvnw5GjdurFdQrLCxdurUCa6urmjRogVcXFxw+fJlLFu2DN26ddP1ln3xxRfYt28fmjZtipEjR6JWrVqIj4/H6dOnsWfPnjzjo56mX79+mDFjBszNzTF8+PA8XyIv+nv0ZC0pAHj77bexcuVKDBkyBKdOnUKVKlXw+++/4/Dhw/j666+f2itYkMjISFStWhWDBw8useU+JkyYgAcPHmDPnj0wNjZGly5dMGLECHz++efo2bMn6tatW+zvtd27d2PmzJno0aMHmjVrBisrK9y4cQM//vgjMjIynro+1/jx4xEXF4fJkyfjt99+03usTp06qFOnzgvHu2zZMsyePRv79u3T1crp168fLCws0Lx5czg7OyM0NBTff/89VCoVvvjii0K/9mJT6vOMDND27dvFsGHDRM2aNYWVlZUwMzMTvr6+Yty4cXmmkBU0PTkkJERvv9xpZnFxcXrtgwcPFpaWlnptcXFxok+fPkKlUgk7OzsxatQocfHixUJNT966dauoU6eOMDc3F1WqVBHz588XP/74o970USGEiI6OFt26dRPW1tYCgN5Uw+TkZDF16lTh6+srzMzMhKOjo2jevLn48ssv9aZoP3jwQAwaNEjY2NgItVotBg0apJuaWtjpybk/pqamwsnJSbRq1UrMmTNHxMbG5nnOw4cPxdChQ4Wjo6OwsrISnTt3FleuXMl3SuCqVauEt7e3MDY21ptiefjwYdGsWTNhYWEh3N3ddVPPUcA0zOc1ePBgvdf35M/j/xZCCHH79m3x2muvCRsbG2FlZSVeeeUVER4eXqhzPXr0SIwfP144ODgIS0tL0b17d3H79u0805OFECIoKEjUr19fmJmZCR8fH7F69Wrx/vvvC3Nzc739AIgxY8boteVO71y4cKFe+5NTzW/cuCGGDRsmfHx8hLm5ubC3txdt27YVe/bseeZrad26tahdu7Y4efKkCAwMFObm5sLLy0ssW7Ysz76ZmZli/vz5onbt2kKpVAo7OzvRsGFDMXv2bJGYmPjU1/Isy5YtEzVr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GoqEhATUqlWrwOM3aNAA0dHRMDExQZUqVQoVU3nGWz9ERFTqHjx4gHbt2uGXX37B+fPnERERgc2bN2PBggXo2bPncx933Lhx2LZtGxYvXozw8HCsXLkS27dv1/W85Gf27NmYN28elixZgrCwMFy4cAFr1qzB4sWLC3zOt99+C41GgyZNmuCPP/5AeHg4Ll++jCVLliAwMBAA0KFDBwQEBGDgwIE4ffo0Tpw4gbfeegutW7dGo0aNCjx2hw4dEBgYiFdffRW7du1CZGQkjhw5gk8++QQnT5587mtTVjFRISKiUmdlZYWmTZviq6++QqtWreDv74/p06dj5MiRWLZs2XMft0WLFvjuu++wePFi1K1bFzt27MB7772nm/abnxEjRmD16tVYs2YNAgIC0Lp1a6xduxZVq1Yt8Dne3t44ffo02rZti/fffx/+/v7o2LEjgoKCsGLFCgDSbam///4bdnZ2aNWqFTp06ABvb29s3Ljxqa9BoVBg27ZtaNWqFYYOHYrq1aujf//+uHnzJlxcXJ7vwpRhClHYUUEGKCkpCWq1GomJibCxsZE7HCIiWaSnpyMiIkKvDgf9Z+TIkbhy5QoOHjwodygVytPel0X5/uYYFSIiKle+/PJLdOzYEZaWlti+fTvWrVv3zAJuZLiYqBARUbly4sQJLFiwAMnJyfD29saSJUswYsQIucOi58REhYiIypVNmzbJHQIVIw6mJSIiIoPFRIWIqJwow3MjqBwqrvcjExUiojIut4JqZmamzJEQ/SctLQ2AfiXh58ExKkREZZyJiQlUKhXi4uJgamoKIyP+H5TkI4RAWloaYmNjYWtrW+BSBIXFRIWIqIxTKBRwc3NDREQEbt68KXc4RACkdYlcXV1f+DhMVIiIygEzMzNUq1aNt3/IIJiamr5wT0ouJipEROWEkZERK9NSucMbmURERGSwmKgQERGRwWKiQkRERAaLiQoREREZLCYqREREZLCYqBAREZHBYqJCREREBouJChERERksJipERERksJioEBERkcFiokJEREQGi4kKERERGSwmKkRERGSwmKgQERGRwTKYROWLL76AQqHAxIkT5Q6FiIiIDIRBJCohISFYuXIl6tSpI3coREREZEBkT1RSUlIwcOBArFq1CnZ2dnKHQ0RERAZE9kRlzJgx6NatGzp06PDMfTMyMpCUlKT3Q0RE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CgpCYGCgjJEZNiEExo4di7/++gt79+5F1apV9R5v2LAhTE1N9a7r1atXcevWLd11DQwMxIULF/R+IXbv3g0bGxvdl0VgYKDeMXL3qUj/Nu3bt8eFCxdw9uxZ3U+jRo0wcOBA3d95rYtHixYt8kyzDwsLg5eXFwCgatWqcHV11btOSUlJOH78uN61TkhIwKlTp3T77N27F1qtFk2bNtXtc+DAAWRlZen22b17N2rUqAE7O7sSe32GJC0tDUZG+l8/xsbG0Gq1AHitS0ppXtdi/Uwp8vDbcua3334TSqVSrF27VoSGhoq3335b2Nra6s2QIH2jR48WarVaBAcHi6ioKN1PWlqabp933nlHeHp6ir1794qTJ0+KwMBAERgYqHs8d8psp06dxNmzZ8WOHTuEk5NTvlNmP/zwQ3H58mXx7bffVrgps/l5fNaPELzWxeXEiRPCxMREzJkzR4SHh4v169cLlUolfvnlF90+X3zxhbC1tRV///23OH/+vOjZs2e+Uzvr168vjh8/Lg4dOiSqVaumN7UzISFBuLi4iEGDBomLFy+K3377TahUqnI9ZfZJgwcPFpUqVdJNT/7zzz+Fo6OjmDx5sm4fXuvnk5ycLM6cOSPOnDkjAIjFixeLM2fOiJs3bwohSu+6Hj58WJiYmIgvv/xSXL58WcycOZPTk1/E0qVLhaenpzAzMxNNmjQRx44dkzskgwYg3581a9bo9nn06JF49913hZ2dnVCpVKJXr14iKipK7ziRkZGia9euwsLCQjg6Oor3339fZGVl6e2zb98+Ua9ePWFmZia8vb31zlFRPZmo8FoXn3/++Uf4+/sLpVIpatasKb7//nu9x7VarZg+fbpwcXERSqVStG/fXly9elVvnwcPHogBAwYIKysrYWNjI4YOHSqSk5P19jl37px46aWXhFKpFJUqVRJffPFFib82Q5KUlCQmTJggPD09hbm5ufD29haffPKJ3nRXXuvns2/fvnw/nwcPHiyEKN3rumnTJlG9enVhZmYmateuLf73v/8912tSCPFYKUAiIiIiA1Khx6gQERGRYWOiQkRERAaLiQoREREZLCYqREREZLCYqBAREZHBYqJCREREBouJChERERksJipEZJAUCgW2bNlSoueYNWsW6tWrV6LnIKIXw0SFqIKKi4vD6NGj4enpCaVSCVdXV3Tu3BmHDx+WO7Ri89dff6FZs2ZQq9WwtrZG7dq1MXHiRN3jH3zwQZ71SIjIsJjIHQARyaNPnz7IzMzEunXr4O3tjZiYGAQFBeHBgwdyh1YsgoKC0K9fP8yZMwc9evSAQqFAaGgodu/erdvHysoKVlZWMkZJRM/0XIX3iahMe/jwoQAggoODn7rfokWLhL+/v1CpVKJy5cpi9OjRemt+rFmzRqjVavHPP/+I6tWrCwsLC9GnTx+Rmpoq1q5dK7y8vIStra0YN26cyM7O1j3Py8tLfPrpp6J///5CpVIJd3d3sWzZMr1zAxB//fWXbvvWrVvi9ddfF2q1WtjZ2YkePXqIiIiIAmOfMGGCaNOmzVNf38yZM0XdunX1zvnkj5eXl+7xCxcuiC5dughLS0vh7Ows3nzzTREXF/fUcxDRi+GtH6IKKLcnYcuWLcjIyChwPyMjIyxZsgSXLl3CunXrsHfvXkyePFlvn7S0NCxZsgS//fYbduzYgeDgYPTq1Qvbtm3Dtm3b8PPPP2PlypX4/fff9Z63cOFC1K1bF2fOnMGUKVMwYcIEvd6Ox2VlZaFz586wtrbGwYMHcfjwYVhZWaFLly7IzMzM9zmurq64dOkSLl68WOjrEhUVpfu5du0afH190apVKwBAQkIC2rVrh/r16+PkyZPYsWMHYmJi0Ldv30Ifn4ieg9yZEhHJ4/fffxd2dnbC3NxcNG/eXEydOlWcO3fuqc/ZvHmzcHBw0G2vWbNGABDXrl3TtY0aNUqoVCq9npfOnTuLUaNG6ba9vLxEly5d9I7dr18/0bVrV902HutR+fnnn0WNGjWEVqvVPZ6RkSEsLCzEzp078401JSVFvPzyy7pekX79+okffvhBpKen6/Z5skcll1arFb169RINGzYUaWlpQgghPvvsM9GpUye9/W7fvi0A5Fl9loiKD3tUiCqoPn364N69e9i6dSu6dOmC4OBgNGjQAGvXrtXts2fPHrRv3x6VKlWCtbU1Bg0ahAcPHiAtLU23j0qlgo+Pj27bxcUFVapU0Rv74eLigtjYWL3zBwYG5tm+fPlyvrGeO3cO165dg7W1ta43yN7eHunp6bh+/Xq+z7G0tMT//vc/XLt2DdOmTYOVlRXef/99NGnSRC/+/Hz88cc4evQo/v77b1hYWOhi2Ldvn+78VlZWqFmzJgAUGAMRvTgOpiWqwMzNzdGxY0d07NgR06dPx4gRIzBz5kwMGTIEkZGReOWVVzB69GjMmTMH9vb2OHToEIYPH47MzEyoVCoAgKmpqd4xFQpFvm1arfa540xJSUHDhg2xfv36PI85OTk99bk+Pj7w8fHBiBEj8Mknn6B69erYuHEjhg4dmu/+v/zyC7766isEBwejUqVKejF0794d8+fPz/McNze3Ir4iIiosJipEpFOrVi1d7ZJTp05Bq9Vi0aJFMDKSOl83bdpUbOc6duxYnm0/P798923QoAE2btwIZ2dn2NjYPPc5q1SpApVKhdTU1HwfP3r0KEaMGIGVK1eiWbNmeWL4448/UKVKFZiY8KOTqLTw1g9RBfTgwQO0a9cOv/zyC86fP4+IiAhs3rwZCxYsQM+ePQEAvr6+yMrKwtKlS3Hjxg38/PPP+O6774othsOHD2PBggUICwvDt99+i82bN2PChAn57jtw4EA4OjqiZ8+eOHjwICIiIhAcHIzx48fjzp07+T5n1qxZmDx5MoKDgxEREYEzZ85g2LBhyMrKQseOHfPsHx0djV69eqF///7o3LkzoqOjER0djbi4OADAmDFjEB8fjwEDBiAkJATXr1/Hzp07MXToUGg0mmK7LkSkj4kKUQVkZWWFpk2b4quvvkKrVq3g7++P6dOnY+TIkVi2bBkAoG7duli8eDHmz58Pf39/rF+/HvPmzSu2GN5//32cPHkS9evXx+eff47Fixejc+fO+e6rUqlw4MABeHp6onfv3vDz88Pw4cORnp5eYA9L69atcePGDbz11luoWbMmunbtiujoaOzatQs1atTIs/+VK1cQExODdevWwc3NTffTuHFjAIC7uzsOHz4MjUaDTp06ISAgABMnToStra2ux4mIip9CCCHkDoKIKpYqVapg4sSJelViiYjyw/8GEBERkcFiokJEREQGi7d+iIiIyGCxR4WIiIgMFhMVIiIiMlhMVIiIiMhgMVEhIiIig8VEhYiIiAwWExUiIiIyWExUiIiIyGAxUSEiIiKDxUSFiIiIDNb/AUTEVi98oO2JAAAAAElFTkSuQmCC", + "image/png": "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SRw6dCh33303d999NxMmTOCxxx7jp59+ApzblJcsWUJQUBC9evVi7Nix1K9fn+XLl/Pwww8zd+5cXn75ZWbMmEHVqlU5fvz4me2Fh4fzxhtvWKIwBU/MNpj+LGybBaWrwbUfQctboFBQnmzenxLFPqB6psfV3Gm57kKO/HPT6dOnadWqFeCcUdx3331ERUUxePBgDhw4QHJy8ln9AQYOHEixYsUAp8Pgo48+ypo1awgKCmLLli05bmvmzJn88ssvjBo1CnBuD87pss2BAwcIC/urcOSMGTNo1aoVc+fOZfv27fTp04euXbtSunTpM8vMnTuXQYMGERoaCkC5cuUAWLp0KT/88AMAd95551k/7IMGDSIoKIhTp06xZMkSBg0adGZeUlISAJ07d2bIkCHcfPPN3HDDDWfmV6hQgf379+f4uo0JKEknYcFbsPQjCC4GfV6B9g9CcEiehuFPiWIFUF9EauMkiFuA23wbUu7KaKPIbOjQoTzxxBMMHDiQ+fPnM3z48DPzSpQocebv0aNHU7FiRdauXUt6ejohITnvKKrK999/T8OGDc+afujQoXPGlrk/wsSJE3n22WcREerVq0ft2rWJjIykffv2Hr7a7GW8pvT0dMqWLfu39wNg7NixLF++nN9++422bduycuXKM/0lMhKnMQEtPR3WfwOz/gunDkGrO6D3i1Cygk/C8dXtsV8BS4GGIhItIvepairwKDADZ6zib1R14wWu9xoRGRcXF5f7QXtJXFwcVatWBeDzzz/PcbnKlStTqFAhvvzyS9LS0nJcb79+/fjggw/IGOp29erVOS7fuHFjtm3bduZxjRo1mDNnDuAkl6ioKOrUqXPWc3r27Mm3335LbGwswJlLT506dWLKlCkATJ48ma5du/5te6VLl6Z27dp8++23gJPY1q5dC8D27dvp0KEDL7/8MmFhYezd6zRdbdmy5azLY8YEpP2rYUI/+PEfUKYa3D8XrvvQZ0kCfHfX062qWllVg1W1mqp+5k7/XVUbqGpdVR1xEeudqqoPlilTJveD9pLhw4czaNAg2rZte+YSTnYefvhhPv/8c1q2bElkZORZZxvZeeGFF0hJSaFFixY0bdqUF154IcflGzVqRFxcHCdPnjzz/CVLltC8eXN69erFyJEj/xZf06ZNef755+nWrRstW7bkiSeeAOCDDz5g4sSJZxq333vvvWy3OXnyZD777LMzt+D+/PPPADz11FM0b96cZs2a0alTpzMN7PPmzeOqq67K8XUYk2/Fx8Avj8G4HnBsJ1z7Idw3G6q19XVkSMYRZyAJDw/XrA29mzdvpnHjxj6KKH8YPXo0pUqV4v777/d1KH+TlJREt27dWLRo0d/uvrLP1uRr8bGw+ktY9A4kx0P7f0D3ZyAkbw94RWSlqoZnN8+f2iiMj/3zn/88cynI3+zZs4c33ngj21t0jcl30tNgxzxY9QVE/g7pKVCnB/R/Ayo08nV0f2PfOnNGSEgId955p6/DyFb9+vWpX7++r8Mw5tIc3wOrJ8Pq/8GJaChWDto/AK3vhIr+W4gioBKFiFwDXFOvXj1fh2KMMY7UJIj8zTl72DHfmVa3J/R7FRoOgMJFfRqeJwIqUajqVGBqeHj4A76OxRhTwJ08BIvfg7VfwemjTqmN7s9Cq9ugbM7VI/xNQCUKY4zxudQkWPYxLBgFqYnQ+Grn0lKd7nnWkzq3+f14FIFkxIgRNG3alBYtWtCqVSuWL18OwP3338+mTZsuap2Zq8d66uDBg9xyyy3UrVuXtm3bMmDAgPP29DbGnIcqRE1zivXNfhFqd4VHlsOgSVCvV75NEmBnFHlm6dKl/Prrr6xatYqiRYsSExNzphrrp59+mmdxqCrXX389d99995lOcWvXruXQoUM0aNDgvM9PTU21O4+MyepwJMx4DrbPhdCGcMcPTnIIEHZGkUcOHDhAaGgoRYs6DVehoaFUqVIFgO7du58p8FeyZEmef/55WrZsSceOHc+U3Ni+fTsdO3akefPmDBs2jJIlS/5tG2lpaTz11FO0a9eOFi1a8Mknn/xtmXnz5hEcHMxDD/1VZ7Fly5Z07doVVeWpp56iWbNmNG/enK+//hpwxrDo2rUrAwcOpEmTJh5tx5gC4fQxmPYMfNwJ9q2E/iPhn4sDKklAgJ1ReHzX07Rn4eD63N14peZw5RvnnN23b19efvllGjRoQO/evRk8eDDdunX723Lx8fF07NiRESNG8PTTTzN+/HiGDRvG448/zuOPP86tt956znEsPvvsM8qUKcOKFStISkqic+fO9O3b96xCgxs2bKBt2+x7ev7www+sWbOGtWvXEhMTQ7t27bjiiisAWLVqFRs2bKB27dqMGzfuvNsxJqClpcKqSTB3BCQeh7b3QI/noUR5X0fmFQF1RuHPJTxKlizJypUrGTduHGFhYQwePJhJkyb9bbkiRYqcGYGubdu27Nq1C3AuXWVUWr3ttuxrJc6cOZMvvviCVq1a0aFDB2JjY9m6davHMS5atIhbb72VoKAgKlasSLdu3VixYgUA7du3P5MILnU7xuRrOxfAJ1fAb09Cxabwj4Vw9TsBmyQgwM4oPJbDkb83BQUF0b17d7p3707z5s35/PPP/za8Z3BwMOIOQhIUFHRBI8GpKh988AH9+vU75zJNmzblu+++u+DYM9eW8mQ7xgScmK0w5yXYPNW5vfXmL6HxNV4fNMgfBNQZhT+Lioo666h7zZo11KxZ0+Pnd+zYke+//x7gTCN0Vv369ePjjz8mJSUFcKqtZoyIl6Fnz54kJSUxbty4M9PWrVvHwoUL6dq1K19//TVpaWkcOXKEBQsWZFtW3JPtGBMwju2Cnx6GD9vDtrnQcxg88ic0GVggkgQU1DMKHzh16hRDhw7l+PHjFC5cmHr16p31Y30+7777LnfccQcjRoygf//+ZHd57f7772fXrl20adMGVSUsLOzMyHIZRIQff/yRf/3rX4wcOZKQkBBq1arFu+++S5cuXVi6dCktW7ZERHjzzTepVKkSkZGRF7wdY/K9E/udvhCrvgApBB0fhs7/gpJh531qoLHqsflEQkICxYoVQ0SYMmUKX3311Zmy3AVdfv9sjZ85dQQWjYYVn4KmQ5u74Ir/B6Wr+Doyr7LqsQFg5cqVPProo6gqZcuWZcKECb4OyZjAknAUlnwAyz+B1NPQ8jbo9hRcVsvXkflcQCWKQC4K2LVr1zMjwBljclHiCVg+1kkSSSeh2Y1OTaZQq1acIaAShRUFNMZ4LDkBVoyHRe86RfsaXQ09/uPc8mrOElCJ4nxU9cytpyYwBGIbm/Gy1GRYOQkWjoJTh6Beb6ezXNU2vo7MbxWYRBESEkJsbCzly5e3ZBEgVJXY2FhCQkJ8HYrJL7bOhmlPw9HtULMLDPocal7u66j8XoFJFNWqVSM6OpojR474OhSTi0JCQqhWrZqvwzD+7uhOmPEfiPodyteD279zziTsoNEjBSZRBAcHWy0iYwqa5ARY9A4sfh8KFYbeLzn9IQoX8XVk+UqBSRTGmAJEFTb9BDOGOWNTNx8EfV4O+L4Q3mKJwhgTWA5vdtohdi6Ais3hxvFQs5Ovo8rXAipRBHI/CmPMeSTGwfw3nA5zRUvBgFFO+e+ggPqZ84mAegetH4UxBVB6Oqz9P5g9HOJjoO0Q6PlCQJf9zmsBlSiMMQXMvpXw+9OwLwKqtXfuZqrSytdRBRxLFMaY/Cc+xhkbYtWXUCIMrhsLLQZDIRs5wRssURhj8o+0VIj4DOaNgOR4uPwR6PYMhJT2dWQBzRKFMSZ/2DEfpj8HhzdBnR5w5UgIa+jrqAoESxTGGP8Wux1mDnN6VZetCYP/5xTws17VecYShTHGP50+Dgvecm53LRwCvYdDh39CsNX2OpeTiSmUCgnO9fVaojDG+Je0VFg1Cea95gwm1OZO6DEMSlX0dWR+60RiCm9Oj2TWpkPM/Hc3yhTL3WQRUInCOtwZk89tn+cU7zu8yanu2v91qNzC11H5tekbDvLiLxs4cjKJIZ1qU7hQ7l+SC6hEYR3ujMmnYrfDjOdhyzRn6FFrhzivg3GJ/PfnDczcdIjGlUsz7s5wWlYv65VtBVSiMMbkM39rh3gJOv4TChf1dWR+Kz1dmbx8NyOnR5Gans5zVzbi3i61CQ7yXh8SSxTGmLyXXTtEzxegZAVfR+bXthw6ybPfr2PVnuN0rR/Kq9c1o2b5El7friUKY0zesnaIC5aYksaYudv4ZMF2SoUEM3pwS65rVTXPRuv0OFGISAkgUVXTvBiPMSZQWTvERfljyxFe+GkDe44mcEObqgy7qgnlSuTtwEvnTBQiUgi4BbgdaAckAUVFJAb4DfhEVbflSZTGmPzL2iEuyqETibz86yZ+W3eAOmEl+L8HOtCpbqhPYsnpjGIeMBt4DtigqukAIlIO6AGMFJEfVfV/3g/TGJPvWDvERUlLV75cuotRM7eQnJbOk30a8GC3OhQtHOSzmHJKFL1VNSXrRFU9CnwPfC8iud8F0BiTv6nCjnnOZabDm6BWV+j3mrVDeGBd9HGe/3ED6/fF0bV+KK9c24xaod5vrD6fcyaKjCThnkFkdVJVU7JLJMaYAio9zanHtPg9iF5h7RAX4ERiCm/PiOKLZbsJLVmUMbe15qrmlfOssfp8PGnMXgVUB44BApQFDorIIeABVV3pvfCMMX4vJRHWTYElH0DsNidBDBgFbe6ydogcqCob9p3g64g9/LxmP6eSUrmrY02e7NeQ0l6o13QpPEkUs4DvVHUGgIj0BW4EJgIfAR28F54xxm+dPgYRE2DZWIg/DJVbwaBJ0HggFPLd9XR/F5eQwk9r9jFlxV42HzhB0cKFuLJZJe7rUofm1cr4OrxseZIoOqrqmZIYqjpTREap6j9ExA4XjClo4qJh2cewchIkn4J6vaHz405bhJ9cKvE36enKsh2xTFmxl+kbD5Kcmk6zqqV55dqmDGxVNdeL+OU2TxLFARF5BpjiPh4MHBKRICDda5FdBCsKaIwXHdoIi9+HDd85DdbNb4JOQ6FSc19H5rcOxJ3mu4hovlm5l71HT1M6pDC3tKvOzeHVaVbVP88esiOqmvMCIqHAi0AXd9Ji4CUgDqjhj30pwsPDNSIiwtdhGJP/qcLuxU4D9daZEFwC2t7t9IMoW8PX0fmttHTlw3nbeG/OVtLSlU51yzO4XXX6Na1ESLB/XpYTkZWqGp7dvPOeUahqDDBUREo5D/VUptl+lySMMbkgPQ0if3USxL6VUDwUeg6D8PugeHY3QpoM0ccS+PfXa1ix6xjXtqrCk30aUqN8cV+HdUnOmyhEpDnwBVDOfRwD3K2qG7wcmzEmr6WchrVfOXcwHd0B5erA1aOh5a0QXMzX0fm9X9ft57kf1qMKowe35PrW1XwdUq7wpI3iE+AJVZ0HICLdgXFAJ++FZYzJUwlHIeIzp8xG/BGo0gZu/sLpA2F3MJ1XfFIqw3/ZyLcro2lVvSzv39I6359FZOZJoiiRkSQAVHW+WyDQGJPfHd8LSz+EVV9ASjzU7wudHoNaXewOJg+t3Xucx6esZvfRBIb2rMdjvep7dWwIX/AkUewQkReAL93HdwA7vBeSMcbrDm6AJe/D+u+chNB8kHMHU8Wmvo4s30hLVz5ZsJ13Zm6hQqmiTHmgIx3qlPd1WF7hSaK4F+cupx/cxwvdacaY/EQVdi10Gqi3zXbuYOrwkHsHU3VfR5evHIxL5N9fr2HpjlgGNK/E69e3oExx/+4LcSk8uevpGPBYHsRijPGG9DTY/IuTIPavhhJhThXXdvdBsct8HV2+M33DQZ79YR1JKem8eWMLBoVX85uaTN6S03gUU4FzdrJQ1YFeicgYkzuSE2DNZFg6Bo7tgnJ14ep33TuYQnwdXb5zKimVEb9t5qs/99C8ahneu6UVdcJK+jqsPJHTGcWoPIvCGJN7Uk7D8rHOLa4JsVC1LfR5BRpdZXcwXaTZmw7x3583cOBEIv/oVocn+zSkSOHAarDOSU5lxv/Iy0CMMZcoPR02fA9zXoK4vU4Npi5PQM1OdgfTRTp8IpHhUzfy+/qDNKhYku9uu5y2NQteh8PzXXoaB0zPOu6EiNQBhgC7VHWCVyM0xpzf7iXOQEH7V0GlFnDdR1D7Cl9HlW+lpytfrdjDG9MiSUpN56l+DXmga50CdRaRWU6Xnh4AngDeFZGjwBEgBKgFbAfGqOrPXo/QGHNusdth1n+dchulqsB1Y6HFYChUMH/QcsPWQyd57of1ROw+xuV1yvPaDc2p7QejzPlSTpeeDgJPA0+LSC2gMnAa2KKqCXkTnjEmWwlHYcFb8Od4CCoCPZ6Hyx+FIoHTGzivJaak8dG8bXz8x3ZKFC3MWze14Ka2gX9Hkyc86UeBqu4Cdnk1EmPM+aUmOclhwZuQdBJa3wk9/gOlKvk6snxt6fZYnv9xPTti4rm+dVWGXdWY8iVtuJ0MHiUKY4yPqcKmn2H2i86trnV7Qd9XrCf1JTqekMxrv2/mm4hoapQrzpf3tadr/TBfh+V3AipR2MBFJiBFRzgN1XuXQVhjuP17qN/b11Hla6rKL2v388qvmziWkMJD3eryeK/6FCtitw9n54IShYhcBlRX1XVeiueSqOpUYGp4ePgD513YGH93bLdzq+uG76FEBbjmPWh1BwQF1PFdntt84ARvTIvkjy1HaFmtDF/c24EmVUr7Oiy/5sl4FPOBge6yK4HDIrJYVZ/wcmzGFEyJcbDwbVg2FqQQXPGUMyZ10VK+jizfSktX5mw+xITFO1m24ygligTx4jVNuOvyWgQVssbq8/Hk0KSMqp4QkfuBL1T1RRHxyzMKY/K1tBRYOQnmv+70qG55q1OTqUxVX0eWb51MTOGbiGg+X7KLPUcTqFImhOeubMQt7WoEdBG/3OZJoigsIpWBm4HnvRyPMQWPKmyZDjNfgNitUKsr9H0VqrTydWT51q6YeCYt2cV3K6M5lZRKeM3LePbKRvRtUpHCATZWRF7wJFG8DMwAFqnqCrdX9lbvhmVMAXFgrdNQvWshlK8Ht3wFDa+0khsXQVVZuj2WCYt3MifyMIULCVe3qMI9nWvRolpZX4eXr3lSZvxb4NtMj3cAN3ozKGMC3on9MOcVZ3zqYpfBlW9B+D0QZJdDLlRiSho/r9nHxMW7iDx4knIlijC0Rz3u6FiTCqWtSm5uyKnW0wfkXGbcxqgw5kIlnXLGhVjyAWiaM6pc1yehWFlfR5bvHDqRyJdLdzN5+W6OJaTQqFIp3rypBQNbViEk2G5zzU05nVFEuP93BpoAX7uPBwGbvBmUMQEnPQ1W/w/mjYBTh6DpDdD7Rbislq8jy3fW7D3OxMU7+W3dAdJU6d24Ivd2rk3HOuWs3IaX5FTr6XMAEfkn0EVVU93HY3GGQzXGeGLbHKeh+vBGqNYeBk+G6u18HVW+kpauzNp0kPELd7Jy9zFKFi3MXZfX4u5ONalZvmAX7MsLnjRmXwaUBo66j0u604wxOTm8GWYOc8anLlsTBk2CJtdZQ/UFSEhO5duIaCYs3snu2ASqlyvGf69uwqDwapQKsfacvOJJongDWC0i8wABrgCGezMoY/K1U4edS0yrvoAipZxbXds/CIWtyJynDp9IZNKSXUxevoe40ym0rlGWZ/o3ol/TStZBzgc8uetpoohMAzq4k55xS5AbYzJLToBlH8KidyE10UkO3Z6B4gVvRLSLFXnwBJ8u3MnPa/aRmq70a1KJB66oXSBHlfMnnhaNCcIZuKgw0EBEGqjqAu+FZUw+kp4O67+BOS/DiX3Q6Gro/RKEWnFKT6gqC7fGMH7hDhZujaFYcBC3ta/BvV1qW/uDn/Ck1tNIYDCwEUh3JytgicKYXYucDnMH1kDlVnDDOKjVxddR5QvJqen8snY/ny7cQeTBk4SVKspT/Rpye4calC1exNfhmUw8OaO4DmioqklejsWY/CNmmzMEadRvULoaXD8Omg+yIUg9cDwhmcnL9/D5kl0cPplEw4qleOumFgxsVYWiha3/gz/yJFHsAIIBSxTGxMfCHyMh4jMoHOIU7bv8EQgu5uvI/N7u2HgmLNrJNxHRnE5Jo2v9UN4a1JIr6oda/wc/50miSADWiMgcMiUL65ltCpTUJFj+CSwYBcknoc3dzhCkJSv4OjK/t3L3MT5duIMZGw8SVEgY2LIq93etTePKNgZEfuFJovjF/WdMwaMKG3+E2cPh+G6o18cZgrRCY19H5tfS0pWZGw8yfuEOVu05TpliwTzUrS53d6pFRau/lO94cnvs5yJSBGjgTopS1RTvhmWMH9j7p9NQHf0nVGgKd/4IdXv6Oiq/lZKWTsSuY8zZfIjpGw8Sfew0NcoV56WBTbmpbTVKFLWR+fIrT+566g58DuzC6XBXXUTutttjTcA6tss5g9j4I5SsCAM/gFa3QyFraM3qWHwy87ccZs7mw/yx5QgnE1MpElSIjnXL8/yAxvS1DnIBwZMU/zbQV1WjAESkAfAV0NabgRmT504fh4WjnLYICXI6y3V6DIqW9HVkfkNV2Xr4FLM3H2Lu5sOs2nOMdIWwUkUZ0KwyPRtXoEu9UDt7CDCefJrBGUkCQFW3iIgVWTGBIy0FIibA/Dfg9DFodRv0HAalq/g6Mr+QlJrGsh1Hmbv5EHMiDxN97DQAzaqWZmjP+vRqXIFmVcpQyM4cApYniSJCRD4F/uc+vp2/SpAbk3+dGYJ0GMRug9pXQN8RULmFryPzucMnE5kfeYQ5kYdYuDWGhOQ0QoIL0aVeGI/0qEePhhWoVMYapQsKTxLFP4FHgIzbYRcCH3ktImPywuFImPEcbJ8LoQ3g1q+hQb8CW9lVVdm4/wRzNh9mbuQh1kbHAVClTAg3tKlKr0YVubxueRsQqIDyJFEUBt5T1XcARCQIsDKYJn86fcy5xPTneKftof9IaHdfgRyC9HRyGou3xTAn0kkOh04kIQKtq5flqX4N6dmoAo0qlbLOcMajRDEH6A2cch8XA2YCnbwVVGYiUgLnDCYZmK+qk/NiuybApKXCqkkwdwQkHoe2Q6DH81Ai1MeB5a19x08zN/IwczcfYsn2WJJS0ylZtDBXNAilZ6OKdG8YRmhJOw40Z/MkUYSoakaSQFVPiUjxS9moiEwArgYOq2qzTNP7A+/hVKv9VFXfAG4AvlPVqSLyNWCJwlyYnQtg2rPOCHO1ukL/16FSc19HlSfS0pW10ceZu/kwcyIPs/nACQBqli/O7R1q0qtxBdrVKkeRwlajypybJ4kiXkTaqOoqABFpC5y+xO1OAsYAX2RMcC9pfQj0AaKBFSLyC1ANWO8ulnaJ2zUFybFdTkP15qlQpgbc/AU0Hlgg2iGWbI/h+5X7mB91mNj4ZIIKCeE1L+M/AxrRs1FF6oaVsEtKxmOeJIp/Ad+KyH6cDneVcMqOXzRVXSAitbJMbg9sU9UdACIyBbgWJ2lUA9YAdthjzi/pFCwaDUs+cDrJ9RgGnR4tEIX7og6e5PVpm5kfdYQyxYLp3jCMno0q0L1BBcoUL3jtMCZ3eFLCY4WINAIaupO8VcKjKrA30+NonFH13gfGiMhVwNRzPVlEHgQeBKhRo4YXwjN+Lz0d1n8Ls1+Ekweg+c3QeziUqerryLzu8IlERs/ewtcr9lKiaGH+M6ARd11ey+5SMrnCkxIexYEngJqq+oCI1BeRhqr6q/fDA1WNB+7xYLlxwDiA8PBw9XZcxs9Er4Tpz0D0CqjSGgZ9DjU6nP95+VxCcirjFuxg3IIdpKSlM6RTbYb2rMdlJWzgH5N7PLn0NBFYCVzuPt4HfAvkdqLYB1TP9LiaO82Yczt50BmCdM1kKFEBrv0IWt4a8AMIpaUr30bs5Z1ZWzh8MokBzSvxdL9G1Aq1oUNN7vMkUdRV1cEiciuAqiaId1rBVgD1RaQ2ToK4BbjNC9sxgSA1CZZ95IwPkZYMnf8FXZ+EkMAe40BVmb/lCG/8HknUoZO0qVGWj+9oQ9ua5XwdmglgniSKZBEphjNONiJSl0sc7U5EvgK6A6EiEg28qKqficijwAyc22MnqOrGC1zvNcA19erZoPYBSxWifnfKfx/bCQ0HQN9XoXxdX0fmdRv3x/H675Es2hZDzfLF+ej2NlzZrJLdvWS8TlRzvpwvIn2AYUATnI52nYEhqjrf69FdpPDwcI2IsHJUAefwZpj+LOyYD2GNoN9rUK+Xr6PyugNxpxk1Yws/rI6mTLFgHutZnzs61rS+DyZXichKVQ3Pbp4ndz3NEpFVQEec22MfV9WYXI7RmHNLOArzX4cVnzllN658E8LvDfiyGycTUxj7x3Y+XbgTVXiwax0e7lGPMsUC+3Ub/3PORCEiNYHjqhqnqrEikgBcBzQQkTGqmpxXQZoCKi0VVk6EeSMgMc5JDt3/AyXK+zoyr0pJS2fKn3t4d/ZWYuOTubZVFf5f34ZUL3dJBRGMuWg5nVF8A1wPxIlIK5w7nV4HWuLUXrrf69GZgmvHH85lpsObnLIbV46Eik19HZVXqSqzNh3ijemR7DgST4fa5Zh4VWNaVCvr69BMAZdToiimqvvdv+/AaVx+W0QK4fSSNib3Hd3plN2I/BXK1oCbv4TG1wR82Y21e48z4vfN/LnzKHXCSjD+rnB6N65gDdXGL+SUKDLvoT2B5wBUNd1fd1676ykfSzoFC9+GpWOgUDD0fAEufxSCA3twnL1HE3hrRhS/rN1P+RJFeOW6ZtzSrjrBQdZQbfxHToliroh8AxwALgPmAohIZZyS335HVacCU8PDwx/wdSzGQ+npsO5rmD0cTh2EFrdA7xcDfhjSuIQUPpy/jUmLd1GoEDzaox7/6FaHUiHWUG38T06J4l84xf8qA10y1XeqBDzv5bhMQRAdAdOegX0RULUtDP4fVG/n66i8Kjk1nf8t2837c7cSdzqFG9tU48m+DahcJvALFpr865yJQp0OFlOymb7aqxGZwHfiAMx5CdZ+BSUrwnUfO2cSAVx2Q1WZtuEgI6dHsjs2gS71QnluQCOaVinj69CMOS9PemYbkztSEmHZh7DgbUhPgS7/dspuFC3l68i8auXuo4z4bTOr9hynYcVSTLqnHd0ahFlDtck3AipRWGO2n1J17mKa8Twc3w2Nroa+r0C5Or6OzKt2xcQzcnok0zYcpEKpooy8sTk3ta1OUCFLECZ/CahEYY3ZfujQJqc/xM4/IKwx3PkT1O3h66i86lh8Mu/P3cr/lu0mOKgQ/+7dgAeuqE3xIgH1dTMFiCfjUXQGhgM13eUFpwkjsA8HzaVJOArzXoOIz6BoabjyLbfsRuD+WCampPH5kl2MmbeN+KRUBrerwb9716dC6cC+xdcEPk++tZ8B/8YZk8LGrDY5S0uFiAlO2Y2kExB+H/T4DxQP3DLY6enK1HX7eXN6FPuOn6ZHwzCeG9CYBhUDu+3FFByeJIo4VZ3m9UhM/rd9Hkx/Do5shtpXQP83Ar7sxtLtsbz2+2bW74ujSeXSvHlTCzrXC/V1WMbkKk8SxTwReQv4gUzjUKjqKq9FZfKXoztgxjCI+g3K1oTBk6HRVQFddmPb4ZO8MS2S2ZsPU7lMCO/c3JLrWlWlkDVUmwDkSaLIGHg4c51yxSnrYQqypJNu2Y0PnbIbvf4LHR8J6LIbR04m8e7sLUxZsZdiwUE83b8h93auTUhwkK9DM8ZrPBmPIt/comK3x+aR9HRYN8Utu3HIGaO614tQurKvI/Oa08lpfLZoBx/P305iajq3d6jBY73qE1qyqK9DM8brchqP4g5V/Z+IPJHdfFV9x3thXRy7PTYP7F0B05+BfSudshu3/B9Uy3ZQrICQlq78sCqat2du4eCJRPo2qcgzVzaiblhJX4dmTJ7J6YyihPu/3bph4MR+mP2ScyZRshJc/wk0vzmgy24s3HqE136PZPOBE7SsVob3b21N+9qBe/eWMeeSU62nT9z/X8q7cIzfSUl0Sn8vfMctu/EEdH0ioMtuRB48weu/R/LHliNUu6wY79/amqubV7aGalNgBW7vJ3NpVGHzVJj5PBzf45bdeBXK1fZ1ZF5z6EQi78zcwrcr91KyaGGeH9CYuzrVpGhha6g2BZslCvN3Bzc4ZTd2LYQKTeCun6FOd19H5TXxSal8smAH4xfsIDU9nXs612Zoz3qULV7E16EZ4xcsUZi/JBx1elRHTICQMjBgFLS9J2DLbqSkpfNNxF5Gz9pKzKkkrmpRmaf7NaRm+RLnf7IxBYgntZ4qAq8BVVT1ShFpAlyuqp95PTqTN9JS3LIbrzl9I9rdD92fC9iyG6rK7+sPMmpmFDtj4gmveRnj7mpLmxqX+To0Y/ySJ4eKk4CJ/DWq3Rbga5waUH7F+lFchO1z3bIbkVC7m1t2o4mvo/KaxdtiGDk9knXRcTSoWJLxd4XTu3EFGxvCmBx4kihCVfUbEXkOQFVTRcQviwNaP4oLELsdZg6DqN/hslpOf4iGAwK27Mb66DjenBHJwq0xVCkTwls3teCGNtVsbAhjPOBJoogXkfI4ZTsQkY5AnFejMt6TdBIWvAVLP4LCRaH3cOj4sPN3ANoZE8+omVH8tu4AZYsHM+yqxtzRsaaV3DDmAniSKJ4AfgHqishiIAy4yatRmdyXnu6MUT3nJafsRqvbndpMpSr5OjKvOHwikffmbOXrFXsJDirE0J71eOCKOpQOCfZ1aMbkO57UelolIt2AhjiDFkWpaorXIzO5Z++fMO1p2L8aqrWDW76Cam19HZVXnEhM4ZM/tjNh0S5S0tK5tX0NhvaqR4VSgVuo0Bhv8+SupyBgAFDLXb6viPhlrSeTRdw+p3Df+m+gVGW4fhw0HxSQZTcSU9L437LdjJm3jeMJKVzTsgpP9mlArVC71dWYS+XJpaepQCKwHkj3bjgmV6SchiVjYNE7kJ4GXf8fdPk3FA28QnZp6cr3q6J5d9YW9scl0rV+KM/0b0SzqmV8HZoxAcOTRFFNVVt4PRJz6VRh8y/O3UzH90DjgdD3FeeupgCjqszadIi3ZkSx9fApWlYrw6hBLelko8sZk+s8SRTTRKSvqs70ejTm4p1VdqMp3PUL1Onm66i84s+dRxk5PZKVu49RJ7QEH93ehiubVbK+EMZ4iSeJYhnwo4gUAlJwGrRVVUt7NbKLUCA73MXHwrxXYeUkCCkLV70NbYYEZNmNyIMneHN6FHMjD1OhVFFeu745g8KrERwUeG0uxvgTUdWcFxDZCVwLrNfzLewnwsPDNSIiwtdheFdaCqz4FOa/DkmnoP0D0O2ZgCy7sfdoAqNnbeHHNfsoWbQw/+xel3s61aZYEesLYUxuEZGVqprtKGSeHHbuBTbklyRRIGybDdP/AzFRUKeHU3ajQiNfR5XrYk8lMWbeNiYv2wMCD3atwz+717WqrsbkMU8SxQ5gvohMA5IyJtrtsT4Qux1mPA9bpsFltZ3+EA2vDLiyG/FJqXy6cCfjF+4gITmVQW2r868+9alcppivQzOmQPIkUex0/xVx/5m8lnjCKbux7GO37MZL0PGfAVd2Izk1na/+3MMHc7cScyqZfk0r8lS/htSrELij6RmTH3jSM9uGQvWV9HRYMxnmvAzxh6HVHW7ZjYq+jixXpacrU9ft5+2ZW9hzNIEOtcsx7q5GVvbbGD9xzkQhImNU9VERmYpbEDAzVR3o1cgKuj3LnbIbB9ZAtfZw2xSoGlhlN1SVP7Yc4c3pUWw6cILGlUsz8Z52dG8QZre6GuNHcjqjuAt4FBiVR7EYcMtuvAjrv3XKbtww3im7EWA/nKv3HGPk9EiW7ThK9XLFeHdwKwa2rEIhK/ttjN/JKVFsB1DVP/IoloIt5TQs+QAWjXbKblzxFHT+V8CV3dh2+BSjZkQxfeNBypcowvBrmnBbh5oUKWx9IYzxVzklijAReeJcM+2up1yiCpt+gpn/hbg90ORa6PMKXFbT15HlqoNxibw7ewvfROylWHAQ/+pdn/u71qFk0cDrGGhMoMnpWxoElMTpiW284cA6p+zG7sVQsRlc9yvU7urrqHJVXEIKH/2xjUmLd5Guyl2X1+LRnvUILRlYd2wZE8hyShQHVPXlPIukIImPgbmvwqrPnbIbV4+GNndDocDpaXw6OY1JS3bx8fxtnExK5bpWVXmiTwOqlyvu69CMMRcop0RhZxK5LS0F/hwP89+A5FPQ/h/Q/RkoFji3gaampfPtymjenb2FQyeS6NEwjKf7N6JxZb8rDWaM8VBOiaJXnkWRS/y6KODW2TDjOYjZAnV7Qr/XA6rshqoyfcNB3poRxY6YeFrXKMv7t7SmQ53yvg7NGHOJzlsUMD/yq6KAMdtgxn9g6wwoV8dJEA36BdTtrku2xzByehRr9x6nXoWSPNWvIX2bVLS+EMbkI5daFNBcjMQ4+ONNWP4JFA5x7mTq8I+AKruxYV8cb86IYsGWI1QuE8KbN7XgxjbVCLK+EMYEFEsUuS09LVPZjRhofTv0ehFKVvB1ZLlmd2w8b8/cwi9r91O2eDDPD2jMnZfXJCQ4cBrjjTF/sUSRm3YvhenPwIG1UL0D3PYNVG3j66hyzeGTiYyZu43/W76HwkHCIz3q8uAVdSlTLNjXoRljvMgSRW6Ii4ZZ/4UN30PpqnDjZ9DsxoBphziZmMK4BTv4bNFOklLTuaVddR7vVZ8KpUN8HZoxJg9YorgUyQmw5H1Y9C6gzghznR+HIiV8HVmuSEpN48ulu/lw3jaOJaRwVYvK/L++DakdGhivzxjjGUsUF0MVNv7onEXE7YWm10Ofl6FsDV9HlivS0pUfV+9j9Kwt7Dt+mi71Qnm6f0NaVCvr69CMMT5gieJCHVgL056FPUugYnO4fizU6uLrqHKFqjJn82HemhFF1KGTNK9ahpE3tqBL/VBfh2aM8SFLFJ46dQTmvgKrvoDi5eDqd6HNXQFTdiNi11HemBZJxO5j1CpfnDG3tWZAs8pW9tsYY4nivFKT4c9x8MdISEmAjg9Dt6ehWFlfR5Yrog6e5K0ZkczefJiwUkV59bpmDG5XneAgK/ttjHFYosjJ1lkw/TmI3Qr1eju9qsMa+DqqXBF9LIHRs7byw+poShYpzFP9GnJP51oUL2K7hDHmbParkJ2YrW7ZjZlQrq7TH6J+34C43fVofDIfztvGl0t3g8D9XWrzcPd6XFaiiK9DM8b4KUsUmZ0puzEWgotD31edCq+F8/+PaEJyKp8t3Mm4BTuIT07lxjbV+FefBlQtW8zXoRlj/JwligxpqfDJFXBsN7S5E3q+EBBlN1LS0pny5x7em7ONmFNJ9GlSkaf6NaRBxVK+Ds0Yk09YosgQVBh6DIPQelClta+juWTp6cqv6w/w9swodscm0L5WOT65sw1ta5bzdWjGmHzGEkVmLQb5OoJLpqos3BrDyOmRbNx/gkaVSjFhSDg9Glawst/GmIsSUInCrwcuygNr9x5n5PRIlmyPpWrZYrxzc0uubVXVyn4bYy6JDVwUAHYcOcWomVH8vv4g5UoU4dEe9bi9Yw2KFg6MzoDGGO+zgYsC1KETibw7eyvfROylaOFCPNarPg90rU2pECv7bYzJPZYo8qG40ymM/WM7ExfvJC1duaNDDR7tWZ+wUoEzep4xxn9YoshHElPS+HzJLj6av5240ylc26oKT/ZpSI3yxX0dmjEmgFmiyAdS09L5flU0787eyoG4RLo1COPp/g1pWqWMr0MzxhQAlij8mKoyY+Mh3poRyfYj8bSqXpZ3bm7F5XXL+zo0Y0wBYonCTy3bEcvI6ZGs3nOcumElGHtHW/o1rWh9IYwxec4ShZ/ZtP8EI6dH8seWI1QqHcIbNzTnprbVKGxlv40xPmKJwk/siU3gnVlR/Lx2P6VDgnnuykbc3akWIcHWF8IY41uWKHws5lQSH8zZyv/9uYdCIjzUrS4PXVGXMsWtL4Qxxj9YovCRU0mpjF+wg/ELd5CUms7N4dV5vFd9KpUJ8XVoxhhzFksUeSwpNY3/W76HMXO3ERufzIDmlXiyb0PqhpX0dWjGGJMtSxR5JC1d+XnNPt6ZtYXoY6fpVLc8z/RvRMvqZX0dmjHG5MgShZepKvOiDvPm9CgiD56kaZXSvHZ9c7rWD7VbXY0x+YIlCi9aufsYI6dF8ueuo9QsX5z3b23N1c0rU8jKfhtj8hFLFF6w9dBJ3pwRxaxNhwgtWZRXrm3K4HY1KFLY+kIYY/IfSxS5aP/x04yetYXvV0VTvEhhnuzTgHu71KZEUXubjTH5l/2C5YJj8cl8NH8bny/dDQr3dK7NIz3qUa5EEV+HZowxl8wSxSVISE5l4uJdjJ2/nVPJqdzQuhr/7lOfapdZ2W9jTOCwRHERUtLS+XrFXt6bs5UjJ5Po3bgCT/VrRMNKpXwdmjHG5DpLFBcgPV35fcMB3p65hZ0x8YTXvIyPbm9Du1rlfB2aMcZ4jSUKDy3aGsPI6ZGs3xdHg4ol+fSucHo1rmB9IYwxAc8SxXmsj45j5PRIFm2LoWrZYowa1JLrW1clyPpCGGMKCEsU57AzJp5RM6P4bd0BLisezLCrGnNHx5pW9tsYU+BYosji8IlE3puzla9X7CU4qBBDe9bjgSvqUDrEyn4bYwomSxSu1LR0Rs/ewoRFu0hJS+e2DjV4tGc9KpSyst/GmILN7xOFiNQBngfKqOpN3tpOUCFhzd7j9G5SkSf7NKBWaAlvbcoYY/IVryYKEZkAXA0cVtVmmab3B94DgoBPVfWNc61DVXcA94nId16OlYlD2ls9JmOMycLbZxSTgDHAFxkTRCQI+BDoA0QDK0TkF5yk8XqW59+rqoe9HOMZliSMMebvvJooVHWBiNTKMrk9sM09U0BEpgDXqurrOGcfF0VEHgQeBKhRo8bFrsYYY0wWvjiErgrszfQ42p2WLREpLyJjgdYi8ty5llPVcaoarqrhYWFhuRetMcYUcH7fmK2qscBDvo7DGGMKKl+cUewDqmd6XM2dZowxxg/5IlGsAOqLSG0RKQLcAvzigziMMcZ4wKuJQkS+ApYCDUUkWkTuU9VU4FFgBrAZ+EZVN+bS9q4RkXFxcXG5sTpjjDGAqKqvY8h14eHhGhER4eswjDEm3xCRlaoanu28QEwUInIE2H2O2WWAnE45QoGYXA/K9873uvPrtnNj3Re7jgt93oUs78myti8H1vZ9vS+XVdXsbxlV1QL1Dxh3nvkRvo7RF687v247N9Z9seu40OddyPKeLGv7cmBt35/35YLYFXmqrwPwEV++bm9uOzfWfbHruNDnXcjynixr+3Jgbd9v9+WAvPR0KUQkQs9xnc6Y/MT2ZZNbCuIZxfmM83UAxuQS25dNrrAzCmOMMTmyMwpjjDE5skRhjDEmR5YojDHG5Mjvq8f6mohcB1wFlAY+U9WZvo3ImIsjIo2Bx3E64s1R1Y99HJLJJwrkGYWITBCRwyKyIcv0/iISJSLbRORZAFX9SVUfwCl1PtgX8RpzLhe4L29W1YeAm4HOvojX5E8FMlHgDNHaP/OETEO0Xgk0AW4VkSaZFhnmzjfGn0ziAvZlERkI/Ab8nrdhmvysQCYKVV0AHM0y+cwQraqaDEwBrhXHSGCaqq7K61iNycmF7Mvu8r+o6pXA7XkbqcnPrI3iL9kN0doBGAr0BsqISD1VHeuL4Iy5ANnuyyLSHbgBKIqdUZgLYIniPFT1feB9X8dhzKVS1fnAfB+HYfKhAnnp6RxsiFYTKGxfNrnKEsVfbIhWEyhsXza5qkAmirweotUYb7F92eQFKwpojDEmRwXyjMIYY4znLFEYY4zJkSUKY4wxObJEYYwxJkeWKIwxxuTIEoUxxpgcWaIwAUFEnheRjSKyTkTWiEgHL29vvoiEX8DyHUVkuRvbZhEZ7k4fmFEG/BLjqSwiv7p/d8/4+yLWU0REFoiIlfcxZ9jOYPI9EbkcuBpoo6pJIhIKFPFxWFl9DtysqmvdMuANwanmSu70mn4CGH+pK1HVZBGZgzP2yuRLjsoEBDujMIGgMhCjqkkAqhqjqvsBROS/IrJCRDaIyDgREXf6fBEZLSIR7hF+OxH5QUS2isir7jK1RCRSRCa7y3wnIsWzblxE+orIUhFZJSLfikjJbGKsABxw40tT1U3uc4eIyBj37zWZ/p0WkW4iUsIdnOhPEVktItee4z24EZieTWzlROQn90xrmYi0cKeHicgs9yzsUxHZ7SZYgJ+wMuQmE0sUJhDMBKqLyBYR+UhEumWaN0ZV26lqM6AYzplHhmRVDQfGAj8DjwDNgCEiUt5dpiHwkao2Bk4AD2fesPvjOgzoraptgAico/usRgNRIvKjiPxDREKyLqCqrVS1FfCCu54lwPPAXFVtD/QA3hKRElliqA0cy0iUWbwErFbVFsB/gC/c6S+6620KfAfUyPScDUC7bNZlCihLFCbfU9VTQFvgQeAI8LWIDHFn93DbBtYDPYGmmZ6acclnPbBRVQ+4P7Y7+Kv66l5VXez+/T+gS5bNd8QZRW6xiKwB7gZqZhPjy0A4TlK7jWyO/gFEpD7wFs5lqhSgL/Csu+75QAhn/6iDc0Z1JLv1ufF+6cYwFygvIqXd6VPc6dOBY5liTQOSRaTUOdZpChhrozABwf1xmw/Md5PC3SIyBfgICFfVvW4DcuYj+Ywj8PRMf2c8zvhuZC2GlvWxALNU9VYPYtwOfCwi44Ejmc5anBU5l6y+AR5Q1QOZ1n+jqkblsOrTnP26ckNRIDGX12nyKTujMPmeiDR0j8QztAJ289ePZ4z7I3zTRay+httYDs6ZwKIs85cBnUWknhtLCRFpkE2MV2W0jwD1gTTgeJbFJgATVXVhpmkzgKGZ2lZaZxPjFqDWOeJfiNve4I5wF6OqJ4DFwM3u9L7AZZliLe8ul3KOdZoCxs4oTCAoCXwgImWBVGAb8KCqHneP3jcAB3HGabhQUcAjIjIB2AR8nHmmqh5xL3N9JSJF3cnDcH68M7sTGC0iCW6Mt6tqWkbuEJGaOImsgYjc6z7nfuAV4F1gnYgUAnZydjsLqhovItvFGap3W5btDgcmiMg6IAHn0hg4bRdficidOGXKDwIn3Xk9gN88eG9MAWFlxo05BxGpBfzqNoT7NRG5HmirqsM8XL4okKaqqe4Z08duQzoi8gPwrKpmTXamgLIzCmMCgKr+mLXN4zxqAN+4ZynJwAPgdLgDfrIkYTKzMwpjjDE5ssZsY4wxObJEYYwxJkeWKIwxxuTIEoUxxpgcWaIwxhiTI0sUxhhjcvT/AcHtP75wjigZAAAAAElFTkSuQmCC", "text/plain": [ - "
" + "
" ] }, - "metadata": {}, + "metadata": { + "needs_background": "light" + }, "output_type": "display_data" } ], "source": [ - "t = dgm20_timing_ps05.plot(x='Observations')\n", - "t.set_xlabel(\"Sample Size\")\n", - "t.set_ylabel(\"Time in Seconds\")\n", - "t.set_ylim(0,5)\n", - "t.set_title(\"Simulated Data - 20 dgms per observation, Pixel Size .5\")" + "t = dgm80_timing_ps1.plot(x='Observations', loglog=True)\n", + "t.set_xlabel(\"Sample Size (log)\")\n", + "t.set_ylabel(\"Time in Seconds (log)\")\n", + "t.set_title(\"Persistence Images Timing - Pixel Size 1\")" ] }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 18, "metadata": {}, "outputs": [ { @@ -850,2195 +581,82 @@ "Finished Training 8\n", "Finished Training 9\n", "Finished Training 10\n", - "Finished Training 11\n", - "Finished Training 12\n", - "Finished Training 13\n", - "Finished Training 14\n", - "Finished Training 15\n", " Observations Parallel (8 cores) Single Core\n", - "0 100.0 0.461802 0.245391\n", - "1 500.0 0.585373 1.150422\n", - "2 1000.0 1.059073 2.141029\n", - "3 1500.0 1.631168 3.208033\n", - "4 2000.0 2.199552 4.279995\n", - "5 2500.0 2.650789 5.244638\n", - "6 3000.0 3.157750 6.296443\n", - "7 3500.0 3.741866 7.339263\n", - "8 4000.0 4.353038 8.392575\n", - "9 4500.0 4.909924 9.429847\n", - "10 5000.0 5.600439 10.452445\n", - "11 6000.0 6.802157 12.997809\n", - "12 7000.0 7.980920 15.084872\n", - "13 8000.0 8.967873 16.912881\n", - "14 9000.0 9.869450 19.402684\n", - "15 10000.0 11.026013 21.441962\n" + "0 100.0 0.399759 1.249947\n", + "1 500.0 1.793721 6.231011\n", + "2 1000.0 3.406255 12.265625\n", + "3 1500.0 5.240167 18.547642\n", + "4 2000.0 6.960790 24.742271\n", + "5 2500.0 9.147125 34.165844\n", + "6 3000.0 12.287266 43.275872\n", + "7 3500.0 11.959029 47.868815\n", + "8 4000.0 16.000203 54.353350\n", + "9 4500.0 17.861273 62.059095\n", + "10 5000.0 16.474164 68.658045\n" ] } ], "source": [ "import time\n", "seed = [0,1,2,3,4]\n", - "train_size = [100, 500,1000,1500, 2000, 2500, 3000, 3500, 4000, 4500, 5000, 6000, 7000, 8000, 9000,10000]\n", + "train_size = [100, 500,1000,1500, 2000, 2500, 3000, 3500, 4000, 4500, 5000]\n", "n = len(train_size)\n", - "dgm20_timing = np.zeros((n,3))\n", + "dgm80_timing = np.zeros((n,3))\n", "for i in range(0,n):\n", " for j in seed:\n", - " dgms_train = dgms_20[0:train_size[i]]\n", + " dgms_train = dgms_80[0:train_size[i]]\n", " xdgm0_train = np.array(dgms_train)\n", - " dgm20_timing[i,0] += len(xdgm0_train)\n", + " dgm80_timing[i,0] += len(xdgm0_train)\n", "\n", " start = time.time()\n", " output = F_Image(xdgm0_train, PS=.1, var=1, plot=False, training=True, parallel=True)\n", " end = time.time()-start\n", - " dgm20_timing[i,1] +=end\n", + " dgm80_timing[i,1] +=end\n", "\n", " start = time.time()\n", " output = F_Image(xdgm0_train, PS=.1, var=1, plot=False, training=True)\n", " end = time.time()-start\n", - " dgm20_timing[i,2] +=end\n", + " dgm80_timing[i,2] +=end\n", "\n", " print(\"Finished Training \", i)\n", - "dgm20_timing_ps01 = pd.DataFrame(dgm20_timing/5)\n", - "dgm20_timing_ps01.columns=['Observations', 'Parallel (8 cores)', 'Single Core']\n", - "print(dgm20_timing_ps01)" + "dgm80_timing_ps1 = pd.DataFrame(dgm80_timing/5)\n", + "dgm80_timing_ps1.columns=['Observations', 'Parallel (8 cores)', 'Single Core']\n", + "print(dgm80_timing_ps1)" ] }, { "cell_type": "code", - "execution_count": 63, + "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "Text(0.5, 1.0, 'Simulated Data - 20 dgms per observation, Pixel Size .1')" + "Text(0.5, 1.0, 'Persistence Images Timing - Pixel Size .1')" ] }, - "execution_count": 63, + "execution_count": 19, "metadata": {}, "output_type": "execute_result" }, { "data": { - "image/png": "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c+fC0dERADBv3jyjFEhERET0pAzqkTFn7JEhIiIyP4Z+f1eZi0YSERERlReDDBEREZktBhkiIiIyWwwyREREZLYeO8hcvXoV27ZtQ2ZmJgDgKR8zTERERFVQuYPMgwcPEBYWhjp16uCll15CbGwsAO0svBMnTjR6gURERESlKXeQeffdd2FlZYVbt27Bzs5OWt63b19s3brVqMURERERlaXclyjYvn07tm3bhueee05vee3atXHz5k2jFUZERET0KOXukUlPT9fridFJTEyEQqEwSlFEREREhih3kHnhhRfw448/SvdlMhk0Gg1mz56NF1980ajFEREREZWl3IeWZs+ejY4dO+Lo0aPIzs7GpEmTcO7cOSQmJmL//v0VUSMRERFRicrdI1O/fn1cvnwZzz//PHr27In09HT06tULJ06cQK1atSqiRiIiIqIS8aKRREREVOUY+v1d7kNLAJCVlYXTp08jISEBGo1Gb12PHj0eZ5NERERE5VbuILN161a8+eabuH//frF1MpkMeXl5RimMiIiI6FHKPUZm7NixeO211xAbGwuNRqN3Y4ghIiKiylTuIBMfH48JEybA09OzIuohIiIiMli5g0yfPn2we/fuCiiFiIiIqHzKfdZSRkYGXnvtNbi7u6NBgwawtrbWWz9u3DijFvikeNYSERGR+amws5Z+/vlnbN++HTY2Nti9ezdkMpm0TiaTVbkgQ0RERE+vcgeZDz/8ENOnT8cHH3wAC4tyH5kiIiIiMppyJ5Hs7Gz07duXIYaIiIhMrtxpZNCgQVi7dm1F1EJERERULuU+tJSXl4fZs2dj27ZtaNiwYbHBvnPmzDFacURERERlKXeQOXPmDBo3bgwAOHv2rN66wgN/iYiIiCpauYPMrl27KqIOIiIionLjiF0iIiIyWwb1yPTq1QsrVqyAUqlEr169ymz7+++/G6UwIiIiokcxKMioVCpp/ItKparQgoiIiIgMZfAlCj7++GO89957sLOzq+iajIqXKCAiIjI/hn5/GzxGZvr06UhLSzNKcTqLFy9Gw4YNoVQqoVQqERoaii1btkjrs7KyEBERAVdXVzg4OKB3796Ij483ag1ERERkvgwOMuW8tqRBnnvuOXz++ec4duwYjh49ig4dOqBnz544d+4cAODdd9/Fn3/+ifXr12PPnj24e/fuI8foEBER0bPD4ENL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Rc+ePUs8dbVx48bi0KFDYt++faJ27dp6p64mJSUJT09PMXDgQHH27Fnxyy+/CDs7u6f6lOCiBg0aJKpVqyadfv37778LNzc3MWnSJKkN9/XjSU1NFSdOnBAnTpwQAMScOXPEiRMnxM2bN4UQlbdf9+/fL6ysrMSXX34pLly4IKZOncrTryvKggULhJ+fn5DL5aJFixbi4MGDpi6pSgNQ4m358uVSm8zMTPH2228LZ2dnYWdnJ1599VURGxurt50bN26Irl27CltbW+Hm5iYmTpwocnJy9Nrs2rVLNGrUSMjlclGzZk2953hWFQ0y3NfG9eeff4r69esLhUIhAgMDxbfffqu3XqPRiClTpghPT0+hUChEx44dxaVLl/TaPHjwQPTv3184ODgIpVIphgwZIlJTU/XanDp1Sjz//PNCoVCIatWqic8//7zCX1tVkpKSIt555x3h5+cnbGxsRM2aNcWHH36odzov9/Xj2bVrV4mf0YMGDRJCVO5+XbdunahTp46Qy+UiODhY/O9//yv365EJUWiaRCIiIiIzwjEyREREZLYYZIiIiMhsMcgQERGR2WKQISIiIrPFIENERERmi0GGiIiIzBaDDBEREZktBhkiMksymQwbN26s0OeYNm0aGjVqVKHPQURPhkGGiEp07949jB49Gn5+flAoFPDy8kJ4eDj2799v6tKMZsOGDWjVqhVUKhUcHR0RHByM8ePHS+vfe++9YteCIaKqxcrUBRBR1dS7d29kZ2dj5cqVqFmzJuLj4xEVFYUHDx6YujSjiIqKQt++fTFjxgz06NEDMpkM58+fx99//y21cXBwgIODgwmrJKJHKvdFDYjoqffw4UMBQOzevbvMdl999ZWoX7++sLOzE88995wYPXq03vVWli9fLlQqlfjzzz9FnTp1hK2trejdu7dIT08XK1asEP7+/sLJyUmMHTtW5ObmSo/z9/cXH3/8sejXr5+ws7MTPj4+YuHChXrPDUBs2LBBun/r1i3x2muvCZVKJZydnUWPHj1ETExMqbW/8847on379mW+vqlTp4qQkBC95yx68/f3l9afOXNGdOnSRdjb2wsPDw/xn//8R9y7d6/M5yCiJ8NDS0RUjK4nYuPGjVCr1aW2s7CwwPz583Hu3DmsXLkSO3fuxKRJk/TaZGRkYP78+fjll1+wdetW7N69G6+++io2b96MzZs346effsLSpUvx66+/6j3uiy++QEhICE6cOIEPPvgA77zzjl5vSWE5OTkIDw+Ho6Mj9u7di/3798PBwQFdunRBdnZ2iY/x8vLCuXPncPbsWYP3S2xsrHS7evUqAgIC0LZtWwBAUlISOnTogMaNG+Po0aPYunUr4uPj8frrrxu8fSJ6DKZOUkRUNf3666/C2dlZ2NjYiNatW4vIyEhx6tSpMh+zfv164erqKt1fvny5ACCuXr0qLRs1apSws7PT67kJDw8Xo0aNku77+/uLLl266G27b9++omvXrtJ9FOqR+emnn0TdunWFRqOR1qvVamFrayu2bdtWYq1paWnipZdeknpV+vbtK77//nuRlZUltSnaI6Oj0WjEq6++Kpo2bSoyMjKEEEJ88sknonPnznrtbt++LQAUu3IwERkPe2SIqES9e/fG3bt3sWnTJnTp0gW7d+9GkyZNsGLFCqnNjh070LFjR1SrVg2Ojo4YOHAgHjx4gIyMDKmNnZ0datWqJd339PRE9erV9caeeHp6IiEhQe/5Q0NDi92/cOFCibWeOnUKV69ehaOjo9Sb5OLigqysLFy7dq3Ex9jb2+N///sfrl69ismTJ8PBwQETJ05EixYt9OovyX//+19ER0fjjz/+gK2trVTDrl27pOd3cHBAYGAgAJRaAxE9OQ72JaJS2djYoFOnTujUqROmTJmC4cOHY+rUqRg8eDBu3LiBl19+GaNHj8aMGTPg4uKCffv2YdiwYcjOzoadnR0AwNraWm+bMpmsxGUajeax60xLS0PTpk2xevXqYuvc3d3LfGytWrVQq1YtDB8+HB9++CHq1KmDtWvXYsiQISW2X7VqFebOnYvdu3ejWrVqejV0794ds2bNKvYYb2/vcr4iIjIUgwwRGaxevXrS3C3Hjh2DRqPBV199BQsLbefuunXrjPZcBw8eLHY/KCioxLZNmjTB2rVr4eHhAaVS+djPWb16ddjZ2SE9Pb3E9dHR0Rg+fDiWLl2KVq1aFavht99+Q/Xq1WFlxY9WosrCQ0tEVMyDBw/QoUMHrFq1CqdPn0ZMTAzWr1+P2bNno2fPngCAgIAA5OTkYMGCBbh+/Tp++uknLFmyxGg17N+/H7Nnz8bly5fxzTffYP369XjnnXdKbDtgwAC4ubmhZ8+e2Lt3L2JiYrB7926MGzcO//77b4mPmTZtGiZNmoTdu3cjJiYGJ06cwNChQ5GTk4NOnToVax8XF4dXX30V/fr1Q3h4OOLi4hAXF4d79+4BACIiIpCYmIj+/fvjyJEjuHbtGrZt24YhQ4YgLy/PaPuFiPQxyBBRMQ4ODmjZsiXmzp2Ltm3bon79+pgyZQpGjBiBhQsXAgBCQkIwZ84czJo1C/Xr18fq1asxc+ZMo9UwceJEHD16FI0bN8ann36KOXPmIDw8vMS2dnZ2+Oeff+Dn54devXohKCgIw4YNQ1ZWVqk9NO3atcP169fx5ptvIjAwEF27dkVcXBy2b9+OunXrFmt/8eJFxMfHY+XKlfD29pZuzZs3BwD4+Phg//79yMvLQ+fOndGgQQOMHz8eTk5OUo8VERmfTAghTF0EEVFh1atXx/jx4/Vm2SUiKgn/m0BERERmi0GGiIiIzBYPLREREZHZYo8MERERmS0GGSIiIjJbDDJERERkthhkiIiIyGwxyBAREZHZYpAhIiIis8UgQ0RERGaLQYaIiIjMFoMMERERma3/B6z2D4tJKfrnAAAAAElFTkSuQmCC", + "image/png": "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", "text/plain": [ - "
" + "
" ] }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "t = dgm20_timing_ps01.plot(x='Observations')\n", - "t.set_xlabel(\"Sample Size\")\n", - "t.set_ylabel(\"Time in Seconds\")\n", - "t.set_ylim(0,85)\n", - "t.set_title(\"Simulated Data - 20 dgms per observation, Pixel Size .1\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Timing for 80 Diagrams" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished Training 0\n", - "Finished Training 1\n", - "Finished Training 2\n", - "Finished Training 3\n", - "Finished Training 4\n", - "Finished Training 5\n", - "Finished Training 6\n", - "Finished Training 7\n", - "Finished Training 8\n", - "Finished Training 9\n", - "Finished Training 10\n", - "Finished Training 11\n", - "Finished Training 12\n", - "Finished Training 13\n", - "Finished Training 14\n", - "Finished Training 15\n", - " Observations Parallel (8 cores) Single Core\n", - "0 100.0 0.299096 0.104278\n", - "1 500.0 0.197453 0.517296\n", - "2 1000.0 0.375796 1.032127\n", - "3 1500.0 0.558746 1.569940\n", - "4 2000.0 0.759426 2.108069\n", - "5 2500.0 0.886117 2.610129\n", - "6 3000.0 1.078013 3.163759\n", - "7 3500.0 1.334947 3.766217\n", - "8 4000.0 1.452702 4.230334\n", - "9 4500.0 1.641958 4.756165\n", - "10 5000.0 1.741331 5.228884\n", - "11 6000.0 2.120070 6.277686\n", - "12 7000.0 2.512300 7.330452\n", - "13 8000.0 2.801471 8.397457\n", - "14 9000.0 3.089521 9.456991\n", - "15 10000.0 3.521792 10.493267\n" - ] - } - ], - "source": [ - "import time\n", - "seed = [0,1,2,3,4]\n", - "train_size = [100, 500,1000,1500, 2000, 2500, 3000, 3500, 4000, 4500, 5000, 6000, 7000, 8000, 9000,10000]\n", - "n = len(train_size)\n", - "dgm80_timing = np.zeros((n,3))\n", - "for i in range(0,n):\n", - " for j in seed:\n", - " dgms_train = dgms_80[0:train_size[i]]\n", - " xdgm0_train = np.array(dgms_train)\n", - " dgm80_timing[i,0] += len(xdgm0_train)\n", - "\n", - " start = time.time()\n", - " output = F_Image(xdgm0_train, PS=1, var=1, plot=False, training=True, parallel=True)\n", - " end = time.time()-start\n", - " dgm80_timing[i,1] +=end\n", - "\n", - " start = time.time()\n", - " output = F_Image(xdgm0_train, PS=1, var=1, plot=False, training=True)\n", - " end = time.time()-start\n", - " dgm80_timing[i,2] +=end\n", - "\n", - " print(\"Finished Training \", i)\n", - "dgm80_timing_ps1 = pd.DataFrame(dgm80_timing/5)\n", - "dgm80_timing_ps1.columns=['Observations', 'Parallel (8 cores)', 'Single Core']\n", - "print(dgm80_timing_ps1)" - ] - }, - { - "cell_type": "code", - "execution_count": 56, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Text(0.5, 1.0, 'Simulated Data - 80 dgms per observation, Pixel Size 1')" - ] - }, - "execution_count": 56, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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tIKDg9WCBQvU0aNH1cGDB9WTTz6pypYtqxISEox1hgwZovz9/dX69evV3r171eOPP66aNGlivD09PV0FBgaqtm3bqgMHDqhVq1YpT09PNW7cOGOd8+fPKycnJzV69Gh1/Phx9fnnnytra2u1evXqR/p8C4vdu3ercuXKqZo1a6qRI0cay+Va55+oqCgVEBCg+vXrp3bt2qXOnz+v1qxZo86ePWus88EHHyi9Xq9+//13dejQIfXUU0+p8uXLq1u3bhnrdOjQQdWqVUvt3LlTbdmyRVWqVEk9//zzxttjY2OVj4+P6t27tzp69Kj6+eeflaOjo/ryyy8f6fM1p6lTp6qSJUuqv/76S4WGhqply5YpFxcX9emnnxrryLV+MKtWrVLvvPOO+u233xSgVqxYYXL7o7qu27ZtU9bW1mrmzJnq+PHj6t1331W2trbqyJEjeXo+ksjcR8OGDdWwYcOMxxkZGcrPz09Nnz7djFFZloiICAWoTZs2KaWUiomJUba2tmrZsmXGOidOnFCA2rFjh1JKe6NZWVmp8PBwY5158+YpV1dXlZKSopRS6s0331Q1atQweaxevXqp4ODggn5KhU58fLyqXLmyWrdunWrRooUxkZFrnb/eeust1axZsxxvNxgMytfXV3344YfGspiYGGVvb69+/vlnpZRSx48fV4Das2ePsc4///yjdDqdunLlilJKqblz5yp3d3fj9c987Mceeyy/n1Kh1alTJzVgwACTsmeeeUb17t1bKSXXOr/cncg8yuvas2dP1alTJ5N4GjVqpF5++eU8PQfpWrqH1NRU9u3bR9u2bY1lVlZWtG3blh07dpgxMssSGxsLgIeHBwD79u0jLS3N5LpWrVqVsmXLGq/rjh07CAoKMlnBOTg4mLi4OI4dO2asc+c5MusUx9/NsGHD6NSpU5brIdc6f61cuZL69evz7LPP4u3tTZ06dfj666+Nt4eGhhIeHm5yrfR6PY0aNTK53m5ubtSvX99Yp23btlhZWbFr1y5jnebNm2NnZ2esExwczKlTp4iOji7op1koNGnShPXr13P69GkADh06xNatW+nYsSMg17qgPMrrml+fK5LI3MPNmzfJyMjIsh2Cj48P4eHhZorKshgMBkaNGkXTpk0JDAwEIDw8HDs7uyybed55XcPDw7O97pm33atOXFwct27dKoinUyj98ssv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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "t = dgm80_timing_ps1.plot(x='Observations')\n", - "t.set_xlabel(\"Sample Size\")\n", - "t.set_ylabel(\"Time in Seconds\")\n", - "t.set_ylim(0,15)\n", - "t.set_title(\"Simulated Data - 80 dgms per observation, Pixel Size 1\")" - ] - }, - { - "cell_type": "code", - "execution_count": 65, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished Training 0\n", - "Finished Training 1\n", - "Finished Training 2\n", - "Finished Training 3\n", - "Finished Training 4\n", - "Finished Training 5\n", - "Finished Training 6\n", - "Finished Training 7\n", - "Finished Training 8\n", - "Finished Training 9\n", - "Finished Training 10\n", - "Finished Training 11\n", - "Finished Training 12\n", - "Finished Training 13\n", - "Finished Training 14\n", - "Finished Training 15\n", - " Observations Parallel (8 cores) Single Core\n", - "0 100.0 0.278884 0.096925\n", - "1 500.0 0.181933 0.480618\n", - "2 1000.0 0.349821 0.975640\n", - "3 1500.0 0.549238 1.512072\n", - "4 2000.0 0.698662 1.982460\n", - "5 2500.0 0.929095 2.493989\n", - "6 3000.0 1.025441 2.968415\n", - "7 3500.0 1.247349 3.469114\n", - "8 4000.0 1.452092 3.976062\n", - "9 4500.0 1.531585 4.415634\n", - "10 5000.0 1.699719 4.933389\n", - "11 6000.0 2.163459 5.940231\n", - "12 7000.0 2.448343 6.933935\n", - "13 8000.0 2.744512 7.889655\n", - "14 9000.0 2.961807 8.820178\n", - "15 10000.0 3.291768 9.783698\n" - ] - } - ], - "source": [ - "import time\n", - "seed = [0,1,2,3,4]\n", - "train_size = [100, 500,1000,1500, 2000, 2500, 3000, 3500, 4000, 4500, 5000, 6000, 7000, 8000, 9000,10000]\n", - "n = len(train_size)\n", - "dgm80_timing = np.zeros((n,3))\n", - "for i in range(0,n):\n", - " for j in seed:\n", - " dgms_train = dgms_80[0:train_size[i]]\n", - " xdgm0_train = np.array(dgms_train)\n", - " dgm80_timing[i,0] += len(xdgm0_train)\n", - "\n", - " start = time.time()\n", - " output = F_Image(xdgm0_train, PS=2, var=1, plot=False, training=True, parallel=True)\n", - " end = time.time()-start\n", - " dgm80_timing[i,1] +=end\n", - "\n", - " start = time.time()\n", - " output = F_Image(xdgm0_train, PS=2, var=1, plot=False, training=True)\n", - " end = time.time()-start\n", - " dgm80_timing[i,2] +=end\n", - "\n", - " print(\"Finished Training \", i)\n", - "dgm80_timing_ps2 = pd.DataFrame(dgm80_timing/5)\n", - "dgm80_timing_ps2.columns=['Observations', 'Parallel (8 cores)', 'Single Core']\n", - "print(dgm80_timing_ps2)" - ] - }, - { - "cell_type": "code", - "execution_count": 66, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Text(0.5, 1.0, 'Simulated Data - 80 dgms per observation, Pixel Size 2')" - ] - }, - "execution_count": 66, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjIAAAHHCAYAAACle7JuAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAB+H0lEQVR4nO3dd3gUVd/G8e+m9wYpBEIgFOlduvQighUVfXkQUKxIeVAUVARUQFERK3ZARcWGIo+CSJPeQXoNRSC0kE7qzvvHkJUlCSSQsCn357pywZyd3f3tZJO9c+acORbDMAxERERESiAnRxcgIiIicrUUZERERKTEUpARERGREktBRkREREosBRkREREpsRRkREREpMRSkBEREZESS0FGRERESiwFGRERESmxFGSKWJUqVRgwYIBDnnvcuHFYLBaHPHdeDh06hMViYcaMGY4upUzT96HoValShV69ejm6DIdw5O+9q7V06VIsFgtLly4tsuewWCyMGzeu0B5vwIABVKlSpdAer6RSkLlK27Zt4+677yYyMhIPDw8qVqxI165deffddx1dWqH44IMPHPohl/1LJfvL3d2d0NBQOnTowMSJEzl9+vRVP/bOnTsZN24chw4dKryCr8KJEyd45JFHqFq1Kp6enlSrVo0RI0Zw9uzZHPvu2rWLm2++GR8fH4KCgujXr981HQORa7Vq1SrGjRtHXFyco0u5oot/lzg5OREeHk63bt2KNLRci9OnTzNs2DBq1aqFp6cnISEhNG/enGeffZakpCSH1WW1WpkxYwa33XYbEREReHt7U69ePV555RVSU1MdVpeLw565BFu1ahUdO3akcuXKPPzww4SFhXH06FHWrFnD22+/zZAhQ2z77tmzByenkpcXP/jgA8qXL+/wv6qGDh3KjTfeSFZWFqdPn2bVqlWMHTuWKVOm8N1339GpU6cCP+bOnTsZP348HTp0cNhfM0lJSbRq1Yrk5GSeeOIJIiIi2Lp1K++99x5Llixh48aNtvfNP//8Q7t27fD392fixIkkJSXxxhtvsG3bNtatW4ebm5tDXoOUbatWrWL8+PEMGDCAgIAAu9uK4++9rl278sADD2AYBtHR0XzwwQd06tSJ//3vf/To0YN27dpx/vx5h/88xcbG0qxZMxISEnjwwQepVasWZ8+e5e+//2batGk8/vjj+Pj4APDJJ59gtVqvW20pKSkMHDiQli1b8thjjxESEsLq1asZO3YsixYtYvHixQ45C6AgcxUmTJiAv78/69evz/EDfOrUKbttd3f361hZ6XPTTTdx991327Vt3bqVbt260bt3b3bu3EmFChUcVN3Vmzt3LocPH2bevHn07NnT1h4UFMRLL73E1q1bady4MQATJ04kOTmZjRs3UrlyZQCaN29O165dmTFjBo888ohDXkNplZmZidVqdfgHWmFJTk7G29v7uj5ncfy9V7NmTf7zn//Ytu+8804aNGjA1KlT6dGjB05OTnh4eDiwQtNnn33GkSNHWLlyJa1bt7a7LSEhwe596erqel1rc3Nzy1HXww8/TJUqVWxhpkuXLte1JtCppaty4MAB6tatmyPEAISEhNhtX3queMaMGVgsFlasWMHQoUMJDg4mICCARx99lPT0dOLi4njggQcIDAwkMDCQZ555hosXKM/rPG5+xzxMnz6dTp06ERISgru7O3Xq1GHatGk5at6xYwfLli2zdcd26NDBdntcXBzDhw8nIiICd3d3qlevzmuvvZbjL4O4uDgGDBiAv78/AQEB9O/fv1C6oRs2bMjUqVOJi4vjvffes7UfPnyYJ554ghtuuAFPT0/KlSvHPffcY3cKacaMGdxzzz0AdOzY0fb6so/nL7/8Qs+ePQkPD8fd3Z1q1arx8ssvk5WVdc11XywhIQGA0NBQu/bsUObp6Wlr+/HHH+nVq5ctxAB06dKFmjVr8t13313xuQryffj++++pU6cOHh4e1KtXjzlz5uQ4D5/9XnvjjTd4//33iYqKwsvLi27dunH06FEMw+Dll1+mUqVKeHp6cvvttxMbG2v3PBs2bKB79+6UL18eT09PqlatyoMPPnjF15I97uSPP/6gUaNGeHh4UKdOHX766adcX/eV3qcXv5apU6dSrVo13N3d2blzZ541ZGZm8vLLL9v2rVKlCs899xxpaWm57n+lWjMyMhg/fjw1atTAw8ODcuXK0bZtWxYuXGi33+7du7n77rsJCgrCw8ODZs2aMXfuXLt9sn+/LFu2jCeeeIKQkBAqVarEDz/8YGu/1EcffYTFYmH79u0A/P333wwYMICoqCg8PDwICwvjwQcftDvlOW7cOEaOHAlA1apVbT9H2T9ruY2ROXjwIPfccw9BQUF4eXnRsmVL/ve//9ntk/377bvvvmPC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fv36V3yvFeT7MHHiRG6//XbatGnDwIEDOXfuHO+99x716tUr1Muiz5w5kw8++IA777yTatWqkZiYyCeffIKfn58tKFxOzZo1eeihh1i/fj2hoaF8/vnnnDx50i6Q5/d9WlANGzakf//+fPzxx7ZTkevWrWPmzJnccccdOU4v5qfWOnXq0KFDB5o2bUpQUBAbNmzghx9+4Mknn7Tt8/7779O2bVvq16/Pww8/TFRUFCdPnmT16tX8888/bN26NV/1u7q6ctddd/Htt9+SnJzMG2+8YXe7n58f7dq1Y/LkyWRkZFCxYkX++OOPXHslmzZtCphTfu+77z5cXV259dZbcx13MmrUKL755ht69OjB0KFDCQoKYubMmURHR/Pjjz9e1VWAly5dSseOHRk7dmyhrl+UzTAMHnzwQTw9PW1/CDz66KP8+OOPDBs2jC5duhAeHl7o77Uvv/ySWbNmceedd9K0aVPc3NzYtWsXn3/+OR4eHjz33HN53jf790G7du346quv7G5r3bo1UVFR11RvYmIi3bt359y5c4wcOTLH4PZq1arRqlWrfL/WQnO9p0mVBr///rvx4IMPGrVq1TJ8fHwMNzc3o3r16saQIUOMkydP2u2b1/TrS6eeZk+VPn36tF17//79DW9vb7u206dPG7179za8vLyMwMBA49FHHzW2b9+er+nXc+fONRo0aGB4eHgYVapUMV577TXj888/zzGNMiYmxujZs6fh6+trAHZTsRMTE43Ro0cb1atXN9zc3Izy5csbrVu3Nt544w27Kehnz541+vXrZ/j5+Rn+/v5Gv379jM2bNxdo+nX2l6urqxEcHGy0a9fOmDBhQq5TZc+dO2cMHDjQKF++vOHj42N0797d2L17d47vgWEYxieffGJERUUZzs7OdlMuV65cabRs2dLw9PQ0wsPDbVPrIffp2tdi9+7dxt13321EREQYrq6uRmRkpPH0008bycnJOfbdvn270a1bN8PLy8sICAgw+vbta8TExOTreQryffj222+NWrVqGe7u7ka9evWMuXPnGr179zZq1apl2yd7yvLrr79ud9+8psxf+p7ftGmTcf/99xuVK1c23N3djZCQEKNXr17Ghg0brvhaIiMjjZ49exoLFiwwGjRoYLi7uxu1atXKdZp+ft6neb2Wy8nIyDDGjx9vVK1a1XB1dTUiIiKM0aNH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pZUaxfaCeCIiIr179yY9PZ2ZM2cSFRXFyZMnWbRoEWfPnrXtExYW5sAK83bo0CHatGlDQEAAr7/+OvXr1ycjI4MFCxYwePBgdu/efVWPm56ejpubWyFXW3KpR0ZERIqluLg4li9fzmuvvUbHjh2JjIykefPmjB49mttuu82238Wnlg4dOoTFYuGnn36iY8eOeHl50bBhQ1avXm332J988gkRERF4eXlx5513MmXKFAICAi5bz6effkrt2rXx8PCgVq1afPDBB5fd/4knnsBisbBu3TrbCtF169ZlxIgRrFmzxrbfkSNHuP322/Hx8cHPz497772XkydP2m7PPs316aef2l3KPy4ujkGDBhEcHIyfnx+dOnVi69at+Tm0pYqCjIhIWWQYkJ7smK98Xj/Mx8cHHx8ffv75Z7s19PLj+eef5+mnn2bLli3UrFmT+++/n8zMTABWrlzJY489xrBhw9iyZQtdu3ZlwoQJl328WbNm8eKLLzJhwgR27drFxIkTGTNmDDNnzsx1/9jYWObPn8/gwYPx9vbOcXt2aLJardx+++3ExsaybNkyFi5cyMGDB+nTp4/d/vv37+fHH3/kp59+YsuWLQDcc889nDp1it9//52NGzfSpEkTOnfuTGxsbIGOVUmnU0siImVRRgpMDHfMcz93HNxyfrhfysXFhRkzZvDwww/z4Ycf0qRJE9q3b899991HgwYNLnvfp59+mp49ewIwfvx46taty/79+6lVqxbvvvsuPXr04OmnnwagZs2arFq1innz5uX5eGPHjuXNN9/krrvuAqBq1ars3LmTjz76iP79++fYf//+/RiGQa1atS5b56JFi9i2bRvR0dFEREQA8MUXX1C3bl3Wr1/PjTfeCJink7744guCg4MBWLFiBevWrePUqVO29QXfeOMNfv75Z3744QceeeSRyz5vaaIeGRERKbZ69+7N8ePHmTt3LjfffDNLly6lSZMmV1zG5uKgU6FCBQBOnToFwJ49e2jevLnd/pduXyw5OZkDBw7w0EMP2XqJfHx8eOWVVzhw4ECu98nvVet37dpFRESELcQA1KlTh4CAAHbt2mVri4yMtIUYgK1bt5KUlES5cuXsaoqOjs6zptJKPTIiImWRq5fZM+Ko5y4ADw8PunbtSteuXRkzZgyDBg1i7NixDBgwIO+ncHW1/d9isQDmaZyrkZSUBJjjalq0aGF3m7Ozc673qVGjBhaL5aoH9F7q0tNTSUlJVKhQgaVLl+bY90pjfUobBRkRkbLIYsnX6Z3iqE6dOtd03ZgbbriB9evX27Vdun2x0NBQwsPDOXjwIH379s3XcwQFBdG9e3fef/99hg4dmiOIxMXFERAQQO3atTl69ChHjx619crs3LmTuLg46tSpk+fjN2nShJiYGFxcXKhSpUq+aiqtdGpJRESKpbNnz9KpUye++uor/v77b6Kjo/n++++ZPHkyt99++1U/7pAhQ/jtt9+YMmUK+/bt46OPPuL333+39dzkZvz48UyaNIl33nmHvXv3sm3bNqZPn86UKVPyvM/7779PVlYWzZs358cff2Tfvn3s2rWLd955h1atWgHQpUsX6tevT9++fdm0aRPr1q3jgQceoH379jRr1izPx+7SpQutWrXijjvu4I8//uDQoUOsWrWK559/ng0bNlz1sSmJFGRERKRY8vHxoUWLFrz11lu0a9eOevXqMWbMGB5++GHee++9q37cNm3a8OGHHzJlyhQaNmzI/Pnz+e9//2ub1pybQYMG8emnnzJ9+nTq169P+/btmTFjBlWrVs3zPlFRUWzatImOHTvy1FNPUa9ePbp27cqiRYuYNm0aYJ72+uWXXwgMDKRdu3Z06dKFqKgoZs+efdnXYLFY+O2332jXrh0DBw6kZs2a3HfffRw+fJjQ0NCrOzAllMXI74ikEiohIQF/f3/i4+Px8/NzdDkiItddamoq0dHRdtcgEXsPP/wwu3fvZvny5Y4upUy53Hszv5/fGiMjIiJlzhtvvEHXrl3x9vbm999/Z+bMmVe8wJ0UTwoyIiJS5qxbt47JkyeTmJhIVFQU77zzDoMGDXJ0WXIVFGRERKTM+e677xxdghQSDfYVERGREktBRkSkjCjlczukBCqM96SCjIhIKZd9lduUlBQHVyJiL/s9efGVmAtKY2REREo5Z2dnAgICbGsNeXl5XfbibyJFzTAMUlJSOHXqFAEBAXku9ZAfCjIiImVAWFgY8O/CiSLFQUBAgO29ebUUZEREygCLxUKFChUICQkhIyPD0eWI4Orqek09MdkUZEREyhBnZ+dC+fAQKS402FdERERKLAUZERERKbEUZERERKTEUpARERGREktBRkREREosBRkREREpsRRkREREpMRSkBEREZESS0FGRERE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MZHw8PDL7lesg4ybmxtNmzZl0aJF3HHHHYAZTBYtWsSTTz6Z633c3d1xd7e//H5AQECh1eTn56cfjOtEx/r60bG+fnSsrx8d6+unqI715XpishXrIAMwYsQI+vfvT7NmzWjevDlTp04lOTmZgQMHOro0ERERcbBiH2T69OnD6dOnefHFF4mJiaFRo0bMnz8/xwBgERERKXuKfZABePLJJ/M8lXS9uLu7M3bs2BynraTw6VhfPzrW14+O9fWjY339FIdjXewviCciIiKSl7xXMxQREREp5hRkREREpMRSkBEREZESS0FGRERESiwFmXx4//33qVKlCh4eHrRo0YJ169Y5uqRibdKkSdx44434+voSEhLCHXfcwZ49e+z2SU1NZfDgwZQrVw4fHx969+6d4wrOR44coWfPnnh5eRESEsLIkSPJzMy022fp0qU0adIEd3d3qlevzowZM4r65RVrr776KhaLheHDh9vadKwL17Fjx/jPf/5DuXLl8PT0pH79+mzYsMF2u2EYvPjii1SoUAFPT0+6dOnCvn377B4jNjaWvn374ufnR0BAAA899BBJSUl2+/z999/cdNNNeHh4EBERweTJk6/L6ysusrKyGDNmDFWrVsXT05Nq1arx8ssv2627o2N9df766y9uvfVWwsPDsVgs/Pzzz3a3X8/j+v3331OrVi08PDyoX78+v/32W8FfkCGX9e233xpubm7G559/buzYscN4+OGHjYCAAOPkyZOOLq3Y6t69uzF9+nRj+/btxpYtW4xbbrnFqFy5spGUlGTb57HHHjMiIiKMRYsWGRs2bDBatmxptG7d2nZ7ZmamUa9ePaNLly7G5s2bjd9++80oX768MXr0aNs+Bw8eNLy8vIwRI0YYO3fuNN59913D2dnZmD9//nV9vcXFunXrjCpVqhgNGjQwhg0bZmvXsS48sbGxRmRkpDFgwABj7dq1xsGDB40FCxYY+/fvt+3z6quvGv7+/sbPP/9sbN261bjtttuMqlWrGufPn7ftc/PNNxsNGzY01qxZYyxfvtyoXr26cf/999tuj4+PN0JDQ42+ffsa27dvN7755hvD09PT+Oijj67r63WkCRMmGOXKlTPmzZtnREdHG99//73h4+NjvP3227Z9dKyvzm+//WY8//zzxk8//WQAxpw5c+xuv17HdeXKlYazs7MxefJkY+fOncYLL7xguLq6Gtu2bSvQ61GQuYLmzZsbgwcPtm1nZWUZ4eHhxqRJkxxYVcly6tQpAzCWLVtmGIZhxMXFGa6ursb3339v22fXrl0GYKxevdowDPMHzcnJyYiJibHtM23aNMPPz89IS0szDMMwnnnmGaNu3bp2z9WnTx+je/fuRf2Sip3ExESjRo0axsKFC4327dvbgoyOdeF69tlnjbZt2+Z5u9VqNcLCwozXX3/d1hYXF2e4u7sb33zzjWEYhrFz504DMNavX2/b5/fffzcsFotx7NgxwzAM44MPPjACAwNtxz/7uW+44YbCfknFVs+ePY0HH3zQru2uu+4y+vbtaxiGjnVhuTTIXM/jeu+99xo9e/a0q6dFixbGo48+WqDXoFNLl5Gens7GjRvp0qWLrc3JyYkuXbqwevVqB1ZWssTHxwMQFBQEwMaNG8nIyLA7rrVq1aJy5cq247p69Wrq169vdwXn7t27k5CQwI4dO2z7XPwY2fuUxe/N4MGD6dmzZ47joWNduObOnUuzZs245557CAkJoXHjxnzyySe226Ojo4mJibE7Vv7+/rRo0cLueAcEBNCsWTPbPl26dMHJyYm1a9fa9mnXrh1ubm62fbp3786ePXs4d+5cUb/MYqF169YsWrSIvXv3ArB161ZWrFhBjx49AB3ronI9j2th/V5RkLmMM2fOkJWVlWM5hNDQUGJiYhxUVclitVoZPnw4bdq0oV69egDExMTg5uaWYzHPi49rTExMrsc9+7bL7ZOQkMD58+eL4uUUS99++y2bNm1i0qRJOW7TsS5cBw8eZNq0adSoUYMFCxbw+OOPM3ToUGbOnAn8e7wu9zsjJiaGkJAQu9tdXFwICgoq0PektBs1ahT33XcftWrVwtXVlcaNGzN8+HD69u0L6FgXlet5XPPap6DHvUQsUSAl1+DBg9m+fTsrVqxwdCml0tGjRxk2bBgLFy7Ew8PD0eWUelarlWbNmjFx4kQAGjduzPbt2/nwww/p37+/g6srXb777jtmzZrF119/Td26ddmyZQvDhw8nPDxcx1rsqEfmMsqXL4+zs3OOGR4nT54kLCzMQVWVHE8++STz5s1jyZIlVKpUydYeFhZGeno6cXFxdvtffFzDwsJyPe7Zt11uHz8/Pzw9PQv75RRLGzdu5NSpUzRp0gQXFxdcXFxYtmwZ77zzDi4uLoSGhupYF6IKFSpQp04du7batWtz5MgR4N/jdbnfGWFhYZw6dcru9szMTGJjYwv0PSntRo4caeuVqV+/Pv369eO///2vredRx7poXM/jmtc+BT3uCjKX4ebmRtOmTVm0aJGtzWq1smjRIlq1auXAyoo3wzB48sknmTNnDosXL6Zq1ap2tzdt2hRXV1e747pnzx6OHDliO66tWrVi27Ztdj8sCxcuxM/Pz/ZB0qpVK7vHyN6nLH1vOnfuzLZt29iyZYvtq1mzZvTt29f2fx3rwtOmTZsclxLYu3cvkZGRAFStWpWwsDC7Y5WQkMDatWvtjndcXBwbN2607bN48WKsVistWrSw7fPXX3+RkZFh22fhwoXccMMNBAYGFtnrK05SUlJwcrL/iHJ2dsZqtQI61kXleh7XQvu9UqChwWXQt99+a7i7uxszZswwdu7caTzyyCNGQECA3QwPsff4448b/v7+xtKlS40TJ07YvlJSUmz7PPbYY0blypWNxYsXGxs2bDBatWpltGrVynZ79pTgbt26GVu2bDHmz59vBAcH5zoleOTIkcauXbuM999/v0xOCb7UxbOWDEPHujCtW7fOcHFxMSZMmGDs27fPmDVrluHl5WV89dVXtn1effVVIyAgwPjll1+Mv//+27j99ttznbrauHFjY+3atcaKFSuMGjVq2E1djYuLM0JDQ41+/foZ27dvN7799lvDy8urVE8JvlT//v2NihUr2qZf//TTT0b58uWNZ555xraPjvXVSUxMNDZv3mxs3rzZAIwpU6YYmzdvNg4fPmwYxvU7ritXrjRcXFyMN954w9i1a5cxduxYTb8uKu+++65RuXJlw83NzWjevLmxZs0aR5dUrAG5fk2fPt22z/nz540nnnjCCAwMNLy8vIw777zTOHHihN3jHDp0yOjRo4fh6elplC9f3njqqaeMjIwMu32WLFliNGrUyHBzczOioqLsnqOsujTI6FgXrl9//dWoV6+e4e7ubtSqVcv4+OOP7W63Wq3GmDFjjNDQUMPd3d3o3LmzsWfPHrt9zp49a9x///2Gj4+P4efnZwwcONBITEy022fr1q1G27ZtDXd3d6NixYrGq6++WuSvrThJSEgwhg0bZlSuXNnw8PAwoqKijOeff95uOq+O9dVZsmRJrr+j+/fvbxjG9T2u3333nVGzZk3Dzc3NqFu3rvG///2vwK/HYhgXXSZRREREpATRGBkREREpsRRkREREpMRSkBEREZESS0FGRERESiwFGRERESmxFGRERESkxFKQERERkRJLQUZESiSLxcLPP/9cpM8xbtw4GjVqVKTPISLXRkFGRHJ1+vRpHn/8cSpXroy7uzthYWF0796dlStXOrq0QjNnzhxatmyJv78/vr6+1K1bl+HDh9tuf/rpp3OsBSMixYuLowsQkeKpd+/epKenM3PmTKKiojh58iSLFi3i7Nmzji6tUCxatIg+ffowYcIEbrvtNiwWCzt37mThwoW2fXx8fPDx8XFglSJyRQVe1EBESr1z584ZgLF06dLL7vfmm28a9erVM7y8vIxKlSoZjz/+uN16K9OnTzf8/f2NX3/91ahZs6bh6elp9O7d20hOTjZmzJhhREZGGgEBAcaQIUOMzMxM2/0iIyONl156ybjvvvsMLy8vIzw83Hjvvffsnhsw5syZY9s+cuSIcc899xj+/v5GYGCgcdtttxnR0dF51j5s2DCjQ4cOl319Y8eONRo2bGj3nJd+RUZG2m7ftm2bcfPNNxve3t5GSEiI8Z///Mc4ffr0ZZ9DRK6NTi2JSA7ZPRE///wzaWlpee7n5OTEO++8w44dO5g5cyaLFy/mmWeesdsnJSWFd955h2+//Zb58+ezdOlS7rzzTn777Td+++03vvzySz766CN++OEHu/u9/vrrNGzYkM2bNzNq1CiGDRtm11tysYyMDLp3746vry/Lly9n5cqV+Pj4cPPNN5Oenp7rfcLCwtixYwfbt2/P93E5ceKE7Wv//v1Ur16ddu3aARAXF0enTp1o3LgxGzZsYP78+Zw8eZJ77703348vIlfB0UlKRIqnH374wQgMDDQ8PDyM1q1bG6NHjza2bt162ft8//33Rrly5Wzb06dPNwBj//79trZHH33U8PLysuu56d69u/Hoo4/atiMjI42bb77Z7rH79Olj9OjRw7bNRT0yX375pXHDDTcYVqvVdntaWprh6elpLFiwINdak5KSjFtuucXWq9KnTx/js88+M1JTU237XNojk81qtRp33nmn0bRpUyMlJcUwDMN4+eWXjW7dutntd/ToUQPIsXKwiBQe9ciISK569+7N8ePHmTt3LjfffDNLly6lSZMmzJgxw7bPn3/+SefOnalYsSK+vr7069ePs2fPkpKSYtvHy8uLatWq2bZDQ0OpUqWK3diT0NBQTp06Zff8rVq1yrG9a9euXGvdunUr+/fvx9fX19abFBQURGpqKgcOHMj1Pt7e3vzvf/9j//79vPDCC/j4+PDUU0/RvHlzu/pz89xzz7F69Wp++eUXPD09bTUsWbLE9vw+Pj7UqlULIM8aROTaabCviOTJw8ODrl270rVrV8aMGcOgQYMYO3YsAwYM4NChQ/Tq1YvHH3+cCRMmEBQUxIoVK3jooYdIT0/Hy8sLAFdXV7vHtFgsubZZrdarrjMpKYmmTZsya9asHLcFBwdf9r7VqlWjWrVqDBo0iOeff56aNWsye/ZsBg4cmOv+X331FW+99RZLly6lYsWKdjXceuutvPbaaznuU6FChQK+IhHJLwUZEcm3OnXq2K7dsnHjRqxWK2+++SZOTmbn7nfffVdoz7VmzZoc27Vr18513yZNmjB79mxCQkLw8/O76uesUqUKXl5eJCcn53r76tWrGTRoEB999BEtW7bMUcOPP/5IlSpVcHHRr1aR60WnlkQkh7Nnz9KpUye++uor/v77b6Kjo/n++++ZPHkyt99+OwDVq1cnIyODd999l4MHD/Lll1/y4YcfFloNK1euZPLkyezdu5f333+f77//nmHDhuW6b9++fSlfvjy33347y5cvJzo6mqVLlzJ06FD++eefXO8zbtw4nnnmGZYuXUp0dDSbN2/mwQcfJCMjg65du+bYPyYmhjvvvJP77ruP7t27ExMTQ0xMDKdPnwZg8ODBxMbGcv/997N+/XoOHDjAggULGDhwIFlZWYV2XETEnoKMiOTg4+NDixYteOutt2jXrh316tVjzJgxPPzww7z33nsANGzYkClTpvDaa69Rr149Zs2axaRJkwqthqeeeooNGzbQuHFjXnnlFaZMmUL37t1z3dfLy4u//vqLypUrc9ddd1G7dm0eeughUlNT8+yhad++PQcPHuSBBx6gVq1a9OjRg5iYGP744w9uuOGGHPvv3r2bkydPMnPmTCpUqGD7uvHGGwEIDw9n5cqVZGVl0a1bN+rXr8/w4cMJCAiw9ViJSOGzGIZhOLoIEZGLValSheHDh9tdZVdEJDf6M0FERERKLAUZERERKbF0aklERERKLPXIiIiISImlICMiIiIlloKMiIiIlFgKMiIiIlJiKciIiIhIiaUgIyIiIiWWgoyIiIiUWAoyIiIiUmIpyIiIiEiJ9f9hlbX7Gx24AQAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "t = dgm80_timing_ps2.plot(x='Observations')\n", - "t.set_xlabel(\"Sample Size\")\n", - "t.set_ylabel(\"Time in Seconds\")\n", - "t.set_ylim(0,15)\n", - "t.set_title(\"Simulated Data - 80 dgms per observation, Pixel Size 2\")" - ] - }, - { - "cell_type": "code", - "execution_count": 30, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished Training 0\n", - "Finished Training 1\n", - "Finished Training 2\n", - "Finished Training 3\n", - "Finished Training 4\n", - "Finished Training 5\n", - "Finished Training 6\n", - "Finished Training 7\n", - "Finished Training 8\n", - "Finished Training 9\n", - "Finished Training 10\n", - "Finished Training 11\n", - "Finished Training 12\n", - "Finished Training 13\n", - "Finished Training 14\n", - "Finished Training 15\n", - " Observations Parallel (8 cores) Single Core\n", - "0 100.0 0.061434 0.129282\n", - "1 500.0 0.225834 0.644757\n", - "2 1000.0 0.451371 1.289251\n", - "3 1500.0 0.637015 1.926970\n", - "4 2000.0 0.840353 2.569042\n", - "5 2500.0 1.035957 3.215281\n", - "6 3000.0 1.233954 3.840757\n", - "7 3500.0 1.431634 4.483290\n", - "8 4000.0 1.637655 5.124445\n", - "9 4500.0 1.843535 5.762155\n", - "10 5000.0 2.042332 6.402406\n", - "11 6000.0 2.441823 7.693478\n", - "12 7000.0 2.861305 8.977968\n", - "13 8000.0 3.276543 10.278846\n", - "14 9000.0 3.638570 11.510018\n", - "15 10000.0 4.085600 12.811846\n" - ] - } - ], - "source": [ - "import time\n", - "seed = [0,1,2,3,4]\n", - "train_size = [100, 500,1000,1500, 2000, 2500, 3000, 3500, 4000, 4500, 5000, 6000, 7000, 8000, 9000,10000]\n", - "n = len(train_size)\n", - "dgm80_timing = np.zeros((n,3))\n", - "for i in range(0,n):\n", - " for j in seed:\n", - " dgms_train = dgms_80[0:train_size[i]]\n", - " xdgm0_train = np.array(dgms_train)\n", - " dgm80_timing[i,0] += len(xdgm0_train)\n", - "\n", - " start = time.time()\n", - " output = F_Image(xdgm0_train, PS=.5, var=1, plot=False, training=True, parallel=True)\n", - " end = time.time()-start\n", - " dgm80_timing[i,1] +=end\n", - "\n", - " start = time.time()\n", - " output = F_Image(xdgm0_train, PS=.5, var=1, plot=False, training=True)\n", - " end = time.time()-start\n", - " dgm80_timing[i,2] +=end\n", - "\n", - " print(\"Finished Training \", i)\n", - "dgm80_timing_ps05 = pd.DataFrame(dgm80_timing/5)\n", - "dgm80_timing_ps05.columns=['Observations', 'Parallel (8 cores)', 'Single Core']\n", - "print(dgm80_timing_ps05)" - ] - }, - { - "cell_type": "code", - "execution_count": 61, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Text(0.5, 1.0, 'Simulated Data - 80 dgms per observation, Pixel Size .5')" - ] - }, - "execution_count": 61, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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RYsyd+5c5syZw/nz59mwYQOfffYZH374IUWLFk3TffSwlJQUevXqRWpqKn/88YfZ31V2xJuehg0bUrduXf79998suV5GSSLzFGxsbKhduza1a9embNmyDBw4kGXLljFhwoTHPu5RX3DpHX/wC/lRC9xlZHDVxYsXad68OeXKlWPGjBn4+vpiY2PD2rVr+fLLLzM00MtoNNKyZUveeeeddM8/+IGYnZKTkzl37pzZh9/w4cNZuHAho0aNol69eri4uGAwGHjxxRcz9NoiIyNp3Lgxzs7OfPTRR5QqVQo7OzsOHTrEu++++9hr3J+S/6CgoKBHTu+eP38+Xl5eaca+dOrUiYkTJ7Jr1y4qVKhgGvx748aNNNe4ceMG7u7uus0Qycx7GP57HxsMBpYvX86ePXv466+/2LBhA4MGDWL69Ons2bMnTdL1NDL7Pn1cMpierFxoslGjRly8eJE///yTf/75h++++44vv/ySefPmMWTIENP77u2336Z169bpXuPhxCq912Nra0uXLl1YuXIlc+bMISwsjJ07d/LJJ5+Y1evVqxe7du1izJgxVKtWDUdHR4xGI23atMmxqb5Peg89jeLFi9OiRYuneuw///wDaC2Xd+7cwdvb23QuOz8TDQYDZcuWpWzZsrRv354yZcqwZMmSJyYyY8aMYffu3fz7778UL17c7FxOfob7+vpy9uzZLLteRkgi84zufyml96WTVe7/y+ThWScP/0swPX/99ReJiYmsXr3a7F88W7ZsSVP3UR/UpUqVIjY29okfCP7+/mzatInY2FizL6aselMvX76cu3fvmn2wL1++nP79+zN9+nTTsYSEhDT36lGvLTAwkDt37vDHH3/QqFEj0/H7sxoep2rVqmlmmTz4YfewsLCwdJPP+10tKSkpgNb9VKRIEQ4cOJCm7r59+6hWrdpj48ro78Hf3x8g3ZkhWT1b5L7nn3+e559/nilTpvDLL7/Qp08ffvvttyd+SN9voXjw93ju3DkAU+KY0fdpZvn7+2M0Gjl//rypNQG032dkZKTpPmYmVtCm3Q8cOJCBAwcSGxtLo0aNmDhxIkOGDKFkyZKANtX2WV9P7969Wbx4MZs2beL06dMopcy6lSIiIti0aROTJk3iww8/NB1Pr9srM8mcv79/un/797trH75vucm8efPYuHEjU6ZMYerUqbz22mv8+eef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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "t = dgm80_timing_ps05.plot(x='Observations')\n", - "t.set_xlabel(\"Sample Size\")\n", - "t.set_ylabel(\"Time in Seconds\")\n", - "t.set_ylim(0,15)\n", - "t.set_title(\"Simulated Data - 80 dgms per observation, Pixel Size .5\")" - ] - }, - { - "cell_type": "code", - "execution_count": 32, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished Training 0\n", - "Finished Training 1\n", - "Finished Training 2\n", - "Finished Training 3\n", - "Finished Training 4\n", - "Finished Training 5\n", - "Finished Training 6\n", - "Finished Training 7\n", - "Finished Training 8\n", - "Finished Training 9\n", - "Finished Training 10\n", - "Finished Training 11\n", - "Finished Training 12\n", - "Finished Training 13\n", - "Finished Training 14\n", - "Finished Training 15\n", - " Observations Parallel (8 cores) Single Core\n", - "0 100.0 0.499771 0.817677\n", - "1 500.0 1.321406 4.192944\n", - "2 1000.0 2.445684 8.256880\n", - "3 1500.0 3.724602 12.350893\n", - "4 2000.0 4.939895 16.382907\n", - "5 2500.0 6.221877 20.556154\n", - "6 3000.0 8.318984 25.220579\n", - "7 3500.0 8.699530 28.592383\n", - "8 4000.0 9.860411 32.514041\n", - "9 4500.0 11.795041 37.009707\n", - "10 5000.0 12.494881 40.708882\n", - "11 6000.0 14.511646 48.630660\n", - "12 7000.0 16.710059 57.024238\n", - "13 8000.0 21.348688 68.530081\n", - "14 9000.0 23.883296 75.821579\n", - "15 10000.0 27.659090 85.639244\n" - ] - } - ], - "source": [ - "import time\n", - "seed = [0,1,2,3,4]\n", - "train_size = [100, 500,1000,1500, 2000, 2500, 3000, 3500, 4000, 4500, 5000, 6000, 7000, 8000, 9000,10000]\n", - "n = len(train_size)\n", - "dgm80_timing = np.zeros((n,3))\n", - "for i in range(0,n):\n", - " for j in seed:\n", - " dgms_train = dgms_80[0:train_size[i]]\n", - " xdgm0_train = np.array(dgms_train)\n", - " dgm80_timing[i,0] += len(xdgm0_train)\n", - "\n", - " start = time.time()\n", - " output = F_Image(xdgm0_train, PS=.1, var=1, plot=False, training=True, parallel=True)\n", - " end = time.time()-start\n", - " dgm80_timing[i,1] +=end\n", - "\n", - " start = time.time()\n", - " output = F_Image(xdgm0_train, PS=.1, var=1, plot=False, training=True)\n", - " end = time.time()-start\n", - " dgm80_timing[i,2] +=end\n", - "\n", - " print(\"Finished Training \", i)\n", - "dgm80_timing_ps01 = pd.DataFrame(dgm80_timing/5)\n", - "dgm80_timing_ps01.columns=['Observations', 'Parallel (8 cores)', 'Single Core']\n", - "print(dgm80_timing_ps01)" - ] - }, - { - "cell_type": "code", - "execution_count": 62, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Text(0.5, 1.0, 'Simulated Data - 80 dgms per observation, Pixel Size .1')" - ] - }, - "execution_count": 62, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "t = dgm80_timing_ps01.plot(x='Observations')\n", - "t.set_xlabel(\"Sample Size\")\n", - "t.set_ylabel(\"Time in Seconds\")\n", - "t.set_ylim(0,85)\n", - "t.set_title(\"Simulated Data - 80 dgms per observation, Pixel Size .1\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "3 Diagrams Pixel Size 2" - ] - }, - { - "cell_type": "code", - "execution_count": 34, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished Training 0\n", - "Finished Training 1\n", - "Finished Training 2\n", - "Finished Training 3\n", - "Finished Training 4\n", - "Finished Training 5\n", - "Finished Training 6\n", - "Finished Training 7\n", - "Finished Training 8\n", - "Finished Training 9\n", - "Finished Training 10\n", - "Finished Training 11\n", - "Finished Training 12\n", - "Finished Training 13\n", - "Finished Training 14\n", - "Finished Training 15\n", - " Observations Parallel (8 cores) Single Core\n", - "0 100.0 0.081063 0.099660\n", - "1 500.0 0.204539 0.495657\n", - "2 1000.0 0.348829 0.977188\n", - "3 1500.0 0.514382 1.462085\n", - "4 2000.0 0.671845 1.952739\n", - "5 2500.0 0.831182 2.434627\n", - "6 3000.0 1.020299 2.946859\n", - "7 3500.0 1.155646 3.412375\n", - "8 4000.0 1.422744 3.942911\n", - "9 4500.0 1.502547 4.400771\n", - "10 5000.0 1.681072 4.869718\n", - "11 6000.0 1.961885 5.911908\n", - "12 7000.0 2.277231 6.852701\n", - "13 8000.0 2.826888 8.210870\n", - "14 9000.0 3.561567 9.172098\n", - "15 10000.0 3.382698 9.829856\n" - ] - } - ], - "source": [ - "import time\n", - "seed = [0,1,2,3,4]\n", - "train_size = [100, 500,1000,1500, 2000, 2500, 3000, 3500, 4000, 4500, 5000, 6000, 7000, 8000, 9000,10000]\n", - "n = len(train_size)\n", - "dgm80_timing = np.zeros((n,3))\n", - "for i in range(0,n):\n", - " for j in seed:\n", - " dgms_train = dgms_80[0:train_size[i]]\n", - " xdgm0_train = np.array(dgms_train)\n", - " dgm80_timing[i,0] += len(xdgm0_train)\n", - "\n", - " start = time.time()\n", - " output = F_Image(xdgm0_train, PS=2, var=1, plot=False, training=True, parallel=True)\n", - " end = time.time()-start\n", - " dgm80_timing[i,1] +=end\n", - "\n", - " start = time.time()\n", - " output = F_Image(xdgm0_train, PS=2, var=1, plot=False, training=True)\n", - " end = time.time()-start\n", - " dgm80_timing[i,2] +=end\n", - "\n", - " print(\"Finished Training \", i)\n", - "dgm80_timing_ps2 = pd.DataFrame(dgm80_timing/5)\n", - "dgm80_timing_ps2.columns=['Observations', 'Parallel (8 cores)', 'Single Core']\n", - "print(dgm80_timing_ps2)" - ] - }, - { - "cell_type": "code", - "execution_count": 35, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Text(0.5, 1.0, 'Simulated Data - Pixel Size 2')" - ] - }, - "execution_count": 35, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "t = dgm80_timing_ps2.plot(x='Observations')\n", - "t.set_xlabel(\"Sample Size\")\n", - "t.set_ylabel(\"Time in Seconds\")\n", - "t.set_title(\"Simulated Data - Pixel Size 2\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Pixel size .5" - ] - }, - { - "cell_type": "code", - "execution_count": 36, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished Training 0\n", - "Finished Training 1\n", - "Finished Training 2\n", - "Finished Training 3\n", - "Finished Training 4\n", - "Finished Training 5\n", - "Finished Training 6\n", - "Finished Training 7\n", - "Finished Training 8\n", - "Finished Training 9\n", - "Finished Training 10\n", - "Finished Training 11\n", - "Finished Training 12\n", - "Finished Training 13\n", - "Finished Training 14\n", - "Finished Training 15\n", - " Observations Parallel (8 cores) Single Core\n", - "0 100.0 0.067623 0.132943\n", - "1 500.0 0.258206 0.649255\n", - "2 1000.0 0.467877 1.308309\n", - "3 1500.0 0.668554 1.941247\n", - "4 2000.0 0.842992 2.556769\n", - "5 2500.0 1.042120 3.188770\n", - "6 3000.0 1.247450 3.827912\n", - "7 3500.0 1.449770 4.481963\n", - "8 4000.0 1.641646 5.111840\n", - "9 4500.0 1.852645 5.744303\n", - "10 5000.0 2.070658 6.399933\n", - "11 6000.0 2.457869 7.677937\n", - "12 7000.0 2.864502 8.947376\n", - "13 8000.0 3.299819 10.692060\n", - "14 9000.0 3.709587 11.542686\n", - "15 10000.0 4.150553 12.865761\n" - ] - } - ], - "source": [ - "import time\n", - "seed = [0,1,2,3,4]\n", - "train_size = [100, 500,1000,1500, 2000, 2500, 3000, 3500, 4000, 4500, 5000, 6000, 7000, 8000, 9000,10000]\n", - "n = len(train_size)\n", - "dgm80_timing = np.zeros((n,3))\n", - "for i in range(0,n):\n", - " for j in seed:\n", - " dgms_train = dgms_80[0:train_size[i]]\n", - " xdgm0_train = np.array(dgms_train)\n", - " dgm80_timing[i,0] += len(xdgm0_train)\n", - "\n", - " start = time.time()\n", - " output = F_Image(xdgm0_train, PS=.5, var=1, plot=False, training=True, parallel=True)\n", - " end = time.time()-start\n", - " dgm80_timing[i,1] +=end\n", - "\n", - " start = time.time()\n", - " output = F_Image(xdgm0_train, PS=.5, var=1, plot=False, training=True)\n", - " end = time.time()-start\n", - " dgm80_timing[i,2] +=end\n", - "\n", - " print(\"Finished Training \", i)\n", - "dgm80_timing_ps05 = pd.DataFrame(dgm80_timing/5)\n", - "dgm80_timing_ps05.columns=['Observations', 'Parallel (8 cores)', 'Single Core']\n", - "print(dgm80_timing_ps05)" - ] - }, - { - "cell_type": "code", - "execution_count": 37, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Text(0.5, 1.0, 'Simulated Data - Pixel Size .5')" - ] - }, - "execution_count": 37, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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Nc5OTz5XTEzMv07vbtSoEZ06dfrX2s538uRJ1q5dC1jTyW02m33K89k6H3/8cbp06ZLn82vWrFng9zzrUr7nMzMz6dWrF15eXnz77bcOYa2o6z3X2UHg54dOkfMpyEiZdPZ2wJEjR4rsPUJCQgByzf7Zv3//vz73xx9/JCMjgzlz5jj0CC1atCjXuRcKTDVq1CA1NfVff/lGRkayYMECUlNTHXpldu7c+a915sfMmTM5ffq0wy++mTNn0r9/f1577TX7sfT09FzX6kKfbfHixZw8eZLvv/+eDh062I+fnUF0MU2aNGH+/PkOx8LCwvLzUS7JkCFDSElJYfz48YwaNYo33niDESNGAFC9enUAPDw8LikkFUR+v+eHDRvGxo0bWbJkiX3g+FlXst6zt64u1KMocpbGyEiptmjRIodekrPOTn0tzNsn54uMjMTNzc0+FuWsd99991+fe7a35/xbLlOnTs11rp+fX55Tpfv06cOKFSuYN29erscSExPJzs4G4OabbyY7O9thandOTk6hrAK7adMmhg8fTkhIiH2mFVif7/w/l7fffjtXb5Wfn5+93nPldX0yMzPzdW1DQkLo1KmTw5e3t3eBPld+zZw5k2+++YaXX36ZkSNH0rdvX0aPHs2uXbsAazr0ddddx/vvv59nwLiUVZEv53t+6tSpvP/++0yePJlWrVrlerww6t27d699xhdYAfbc8VNnvfDCCxhjuOmmm/71NaVsU4+MlGpDhw4lLS2NHj16ULduXTIzM/nzzz/55ptviIqKYuDAgUX23kFBQfTu3Zu3334bFxcXatSowU8//ZRrUbK83HjjjXh6etKtWzcefPBBUlNT+fDDD6lYsWKuXyDNmzdnypQpvPjii9SsWZOKFStyww038MQTTzBnzhxuvfVWBgwYQPPmzTl16hSbN29m5syZxMbGUr58ebp160a7du0YOXIksbGx1K9fn++//z7fY1XOWrp0Kenp6eTk5HDy5EmWL1/OnDlzCAoKYtasWQ69HrfeeiufffYZQUFB1K9fnxUrVvD777/nmsp81VVX4ebmxoQJE0hKSsLLy4sbbriBtm3bEhISQv/+/Rk2bBguLi589tlnef4Cd5Zjx44xePBgrr/+eh555BEA3nnnHRYtWsSAAQNYtmwZrq6uTJ48mWuuuYZGjRpx//33U716dY4ePcqKFSv4+++/2bRpU4He91K/50+cOMHDDz9M/fr18fLy4vPPP3d4vEePHvj5+V12vWfHCJ1dlyYuLo6mTZty11132bckmDdvHr/88gs33XQTt912W4E+v5RBzpksJXJl/Prrr+bee+81devWNf7+/sbT09PUrFnTDB061Bw9etTh3AtNvz47vfass9Nsjx8/7nC8f//+xs/Pz+HY8ePHTc+ePY2vr68JCQkxDz74oNmyZUu+pl/PmTPHNG7c2Hh7e5uoqCgzYcIE88knnxjAxMTE2M+Li4szt9xyiwkICDCAw1TslJQUM2rUKFOzZk3j6elpypcvb9q2bWteffVVh+m4J0+eNHfffbcJDAw0QUFB5u677zYbNmwo0PTrs18eHh6mQoUKpkOHDmbcuHHm2LFjuZ6TkJBgBg4caMqXL2/8/f1Nly5dzI4dO/KcDvzhhx+a6tWrGzc3N4fpx8uXLzdXX3218fHxMeHh4fZpxuRjinJB5Gd6uTG5/wzvuOMOExAQYGJjYx3O++GHHwxgJkyYYD+2d+9ec88995iwsDDj4eFhqlSpYm699VYzc+bMXHX822e71O/5s8sCXOjr3O+5/NR7IZGRkSYyMtLeTkhIMP/9739NzZo1ja+vr/Hy8jINGjQwL730Up5TxkXO52JMMfonjIiIiEgBaIyMiIiIlFgKMiIiIlJiKciIiIhIiaUgIyIiIiWWgoyIiIiUWAoyIiIiUmKV+gXxbDYbhw8fJiAg4ILLnYuIiEjxYowhJSWF8PBw+/5keSn1Qebw4cO5dikWERGRkuHgwYNUrVr1go+X+iATEBAAWBciMDDQydWIiIhIfiQnJxMREWH/PX4hpT7InL2dFBgYqCAjIiJSwvzbsBAN9hUREZESS0FGRERESiwFGRERESmxSv0YmfzKyckhKyvL2WWI4OnpedGphiIi8o8yH2SMMcTFxZGYmOjsUkQAcHV1JTo6Gk9PT2eXIiJS7JX5IHM2xFSsWBFfX18tmidOdXYBxyNHjlCtWjV9P4qI/IsyHWRycnLsIaZcuXLOLkcEgAoVKnD48GGys7Px8PBwdjkiIsVamb4Rf3ZMjK+vr5MrEfnH2VtKOTk5Tq5ERKT4K9NB5ix130txou9HEZH8U5ARERGREktBRgrExcWF2bNnAxAbG4uLiwsbN27M9/Ovu+46hg8f/q/ndejQgS+//PLSiizG3nvvPbp16+bsMkRESg0FmRJowIABuLi44OLigqenJzVr1uT5558nOzvb2aUVijlz5nD06FH69u1rPxYXF8fdd99NWFgYfn5+NGvWjO+++86JVV6ae++9l/Xr17N06VJnlyIiUiooyJRQN910E0eOHGH37t089thjPPfcc7zyyiuX9Fo5OTnYbLZCrvDSvfXWWwwcONBhUbh77rmHnTt3MmfOHDZv3swdd9xBnz592LBhwxWrKzMz87Jfw9PTk//85z+89dZbhVCRiIiT2XJg1zynlqAgU0J5eXkRFhZGZGQkgwcPplOnTsyZMweASZMm0ahRI/z8/IiIiODhhx8mNTXV/txp06YRHBzMnDlzqF+/Pl5eXhw4cIA1a9bQuXNnypcvT1BQENdeey3r168vUF1btmyha9eu+Pv7U6lSJe6++25OnDiR7+cfP36chQsX5rr98ueffzJ06FBatWpF9erVGT16NMHBwaxbt+6Cr2Wz2Zg4cSI1a9bEy8uLatWqMW7cOPvjmzdv5oYbbsDHx4dy5crxwAMPOFynAQMGcPvttzNu3DjCw8OpU6cOAAcPHqRPnz4EBwcTGhrKbbfdRmxsrP15ixcvplWrVvj5+REcHEy7du3Yv3+//fFu3boxZ84cTp8+ne/rIiJS7KQeh8/vgC/7wF8znFaGgsw5jDGkZWY75csYc1m1+/j42HsMXF1deeutt9i6dSvTp09n4cKFPPnkkw7np6WlMWHCBD766CO2bt1KxYoVSUlJoX///ixbtoyVK1dSq1Ytbr75ZlJSUvJVQ2JiIjfccANNmzZl7dq1zJ07l6NHj9KnT598f45ly5bh6+tLvXr1HI63bduWb775hvj4eGw2G19//TXp6elcd911F3ytUaNG8fLLLzNmzBi2bdvGl19+SaVKlQA4deoUXbp0ISQkhDVr1jBjxgx+//13HnnkEYfXWLBgATt37mT+/Pn89NNPZGVl0aVLFwICAli6dCnLly/H39+fm266iczMTLKzs7n99tu59tpr+euvv1ixYgUPPPCAw0ykFi1akJ2dzapVq/J9XUREipX9K+D99rBvMXj4ghNnW5bpBfHOdzorh/rPOKeLbNvzXfD1LPgfhzGGBQsWMG/ePIYOHQrgMJg2KiqKF198kYceeoh3333XfjwrK4t3332XJk2a2I/dcMMNDq/9wQcfEBwczB9//MGtt976r7W88847NG3alJdeesl+7JNPPiEiIoJdu3ZRu3btf32N/fv3U6lSpVx7DX377bfceeedlCtXDnd3d3x9fZk1axY1a9bM83VSUlJ48803eeedd+jfvz8ANWrU4JprrgHgyy+/JD09nU8//RQ/Pz97/d26dWPChAn2wOPn58dHH31kX9vl888/x2az8dFHH9nDydSpUwkODmbx4sW0aNGCpKQkbr31VmrUqAGQK5T5+voSFBTk0EsjIlIiGAMr3oH5z4LJgfJ1oM+nULGu00pSkCmhfvrpJ/z9/cnKysJms/Gf//yH5557DoDff/+d8ePHs2PHDpKTk8nOziY9PZ20tDT74n+enp40btzY4TWPHj3K6NGjWbx4MceOHSMnJ4e0tDQOHDiQr5o2bdrEokWL8Pf3z/XY3r178xVkTp8+jbe3d67jY8aMITExkd9//53y5csze/Zs+vTpw9KlS2nUqFGu87dv305GRgYdO3bM8322b99OkyZN7CEGoF27dthsNnbu3GkPMo0aNXLY82jTpk3s2bOHgIAAh9dLT09n79693HjjjQwYMIAuXbrQuXNnOnXqRJ8+fahcubLD+T4+PqSlpf3r9RARKTZOJ8IPQ2DHT1a7UW+49Q3wyv0z/0pSkDmHj4cb257v4rT3Lojrr7+eKVOm4OnpSXh4OO7u1h9lbGwst956K4MHD2bcuHGEhoaybNkyBg0aRGZmpj3I+Pj45Fp4rX///pw8eZI333yTyMhIvLy8aNOmTb4Huaamptp7NM53/i/yCylfvjwJCQkOx/bu3cs777zDli1baNCgAQBNmjRh6dKlTJ48mffeey/X6/j4+OTr/f7NuUEHrM/YvHlzvvjii1znVqhQAbB6aIYNG8bcuXP55ptvGD16NPPnz+fqq6+2nxsfH28/X0Sk2Du8EWb0h4RYcPOEm16GFvc69ZbSWQoy53Bxcbmk2zvO4Ofnl+dtlXXr1mGz2Xjttdfst2e+/fbbfL3m8uXLeffdd7n55psBa1BrQQbqnp0SHRUVZQ9WBdW0aVPi4uJISEggJCQEwN5zcf7tJjc3twvOtqpVqxY+Pj4sWLCA++67L9fj9erVY9q0aZw6dcoeVpYvX46rq6t9UO+FPuM333xDxYoVCQwMvOjnaNq0KaNGjaJNmzZ8+eWX9iCzd+9e0tPTadq06UWuhIhIMWAMrJsGvz4FORkQHAl9pkN48fn5pcG+pUzNmjXJysri7bffZt++fXz22Wd59ljkpVatWnz22Wds376dVatW0a9fvwL1bAwZMoT4+Hjuuusu1qxZw969e5k3bx4DBw7M975BTZs2pXz58ixfvtx+rG7dutSsWZMHH3yQ1atXs3fvXl577TXmz5/P7bffnufreHt789RTT/Hkk0/y6aefsnfvXlauXMnHH38MQL9+/fD29qZ///5s2bKFRYsWMXToUO6++277baW89OvXj/Lly3PbbbexdOlSYmJiWLx4McOGDePvv/8mJiaGUaNGsWLFCvbv389vv/3G7t27HcbJLF26lOrVq9vH0IiIFEuZp2DWg/DTcCvE1LkZHvyjWIUYUJApdZo0acKkSZOYMGECDRs25IsvvmD8+PH5eu7HH39MQkICzZo14+6772bYsGFUrFgx3+8dHh7O8uXLycnJ4cYbb6RRo0YMHz6c4ODgXL0pF+Lm5sbAgQMdbt14eHjwyy+/UKFCBbp160bjxo359NNPmT59ur33KC9jxozhscce45lnnqFevXrceeedHDt2DLAG3M6bN4/4+HhatmxJr1696NixI++8885F6/P19WXJkiVUq1aNO+64g3r16jFo0CDS09MJDAzE19eXHTt20LNnT2rXrs0DDzzAkCFDePDBB+2v8dVXX3H//ffn63qIiDjF8Z3w4Q3w1zfg4gadn4e+X4JPiLMry8XFXO6832IuOTmZoKAgkpKSct0KSE9PJyYmhujo6DwHmIpzxMXF0aBBA9avX09kZKSzyylUW7du5YYbbmDXrl0EBQXleY6+L0XEqf6aAT8+ClmnwD8Mek+FyLZXvIyL/f4+l3pkpNgJCwvj448/zvdsqZLkyJEjfPrppxcMMSIiTpOdAT+NgO/vs0JMdAd4aKlTQkxBlIyRrVLmXGjsS0nXqVMnZ5cgIpJbQix82x+ObARcoMMTcN1IcC3YjFpnUJAREREpy3b+ag3qTU8Cn1C440OoVXL+0aUgIyIiUhblZMPC52H5m1a7akvoPQ2Cqjq1rIJSkBERESlrko/AzHvhwJ9W++qHodNYcPe8+POKIQUZERGRsmTfH/DdIDh1HLwC4bZ3oP5tzq7qkinIiIiIlAU2Gyx9DRa/BMYGlRpaGz6WK9mLcyrIiIiIlHanTsKsB2DP71a76d1w8yvgUTj70jmTgoyIiEhpdnANzBgAyX+Duw/cOgmu+o+zqyo0WhCvlHJxcWH27NmF+prPPfccV111VaG+poiIFBFjYOUUmHqTFWLK1YT7F5SqEANODjJLliyhW7duhIeH5/rFm5WVxVNPPUWjRo3w8/MjPDyce+65h8OHDzuv4GLi+PHjDB48mGrVquHl5UVYWBhdunRx2GjxyJEjdO3a1YlVXlhcXBxDhw6levXqeHl5ERERQbdu3ViwYIGzSxMRKR3Sk+Hbe2DuSLBlQ4MecP8iqNTA2ZUVOqfeWjp16hRNmjTh3nvv5Y477nB4LC0tjfXr1zNmzBiaNGlCQkICjz76KN27d2ft2rVOqrh46NmzJ5mZmUyfPp3q1atz9OhRFixYwMmTJ+3nhIWFObHCC4uNjaVdu3YEBwfzyiuv0KhRI7Kyspg3bx5Dhgxhx44dl/S6mZmZeHqWvGmDIiKFLm6zFWLi94GrB3R5CVrdDy4uzq6saJhiAjCzZs266DmrV682gNm/f3++XzcpKckAJikpKddjp0+fNtu2bTOnT58uaLlOk5CQYACzePHii5537vWMiYkxgPnuu+/MddddZ3x8fEzjxo3Nn3/+6fCcDz74wFStWtX4+PiY22+/3bz22msmKCjI/vizzz5rmjRp4vCcDz/80NStW9d4eXmZOnXqmMmTJ1+0rq5du5oqVaqY1NTUPD/bWfv37zfdu3c3fn5+JiAgwPTu3dvExcXlquXDDz80UVFRxsXFxf4agwYNMuXLlzcBAQHm+uuvNxs3brxoTcVNSfy+FJFiYt2nxrxQ0ZhnA42Z1MCYg2udXdElu9jv73OVqDEySUlJuLi4EBwcXDRvYAxknnLOVz43Iff398ff35/Zs2eTkZFRoI/39NNP8/jjj7Nx40Zq167NXXfdRXZ2NgDLly/noYce4tFHH2Xjxo107tyZcePGXfT1vvjiC5555hnGjRvH9u3beemllxgzZgzTp0/P8/z4+Hjmzp3LkCFD8PPzy/X42T9Xm83GbbfdRnx8PH/88Qfz589n37593HnnnQ7n79mzh++++47vv/+ejRs3AtC7d2+OHTvGr7/+yrp162jWrBkdO3YkPj6+QNdKRKREyUyD2Q/DnEcgOx1q3QgPLoGqzZ1dWZErMbOW0tPTeeqpp7jrrrsuup13RkaGwy/45OTk/L9JVhq8FH45ZV66/zsMnrl/uZ/P3d2dadOmcf/99/Pee+/RrFkzrr32Wvr27Uvjxo0v+tzHH3+cW265BYCxY8fSoEED9uzZQ926dXn77bfp2rUrjz/+OAC1a9fmzz//5Keffrrg6z377LO89tpr9tuC0dHRbNu2jffff5/+/fvnOn/Pnj0YY6hbt+5F61ywYAGbN28mJiaGiIgIAD799FMaNGjAmjVraNmyJWDdTvr000+pUKECAMuWLWP16tUcO3YMLy8vAF599VVmz57NzJkzeeCBBy76viIiJdKJPdatpGNbwcUVbhgN7f4HriWqr+KSlYhPmZWVRZ8+fTDGMGXKlIueO378eIKCguxfZ38RliY9e/bk8OHDzJkzh5tuuonFixfTrFkzpk2bdtHnnRt0KleuDMCxY8cA2LlzJ61atXI4//z2uU6dOsXevXsZNGiQvZfI39+fF198kb179+b5HJPPXqft27cTERHh8GdXv359goOD2b59u/1YZGSkPcQAbNq0idTUVMqVK+dQU0xMzAVrEhEp0bbOgg+us0KMX0W4Zw60f6zMhBgoAT0yZ0PM/v37Wbhw4UV7YwBGjRrFiBEj7O3k5OT8hxkPX6tnxBk8fAt0ure3N507d6Zz586MGTOG++67j2effZYBAwZc+C08POz/73Jm0JfNZrukclNTUwH48MMPad26tcNjbm55b/teq1YtXFxcLnlA7/nOvz2VmppK5cqVWbx4ca5zi+x2pIiIM2Rnwm+jYfX7VjvyGuj1MQQUz4keRalYB5mzIWb37t0sWrSIcuXK/etzvLy87LcVCszFJV+3d4qj+vXrX9a6MXXq1GHNmjUOx85vn6tSpUqEh4ezb98++vXrl6/3CA0NpUuXLkyePJlhw4blCiKJiYkEBwdTr149Dh48yMGDB+0hdNu2bSQmJlK/fv0Lvn6zZs2Ii4vD3d2dqKiofNUkIlLiJB6wFrg7tM5qXzMCrn8a3Ir1r/Qi49RPnZqayp49e+ztmJgYNm7cSGhoKJUrV6ZXr16sX7+en376iZycHOLi4gDrF2JZnWp78uRJevfuzb333kvjxo0JCAhg7dq1TJw4kdtuu/RNv4YOHUqHDh2YNGkS3bp1Y+HChfz666/2npu8jB07lmHDhhEUFMRNN91ERkYGa9euJSEhwaFX7FyTJ0+mXbt2tGrViueff57GjRuTnZ3N/PnzmTJlCtu3b6dTp040atSIfv368cYbb5Cdnc3DDz/MtddeS4sWLS5YT6dOnWjTpg233347EydOpHbt2hw+fJiff/6ZHj16XPS5IiIlwu758P39cDoBvIPhjg+gdhdnV+VcV2IK1YUsWrTIALm++vfvb58ynNfXokWL8v0epW36dXp6uhk5cqRp1qyZCQoKMr6+vqZOnTpm9OjRJi0tzX4eeUy/3rBhg/3xs9O4z72WH3zwgalSpYp9+vWLL75owsLC7I/nNf36iy++MFdddZXx9PQ0ISEhpkOHDub777+/6Gc4fPiwGTJkiImMjDSenp6mSpUqpnv37g615Hf69fmSk5PN0KFDTXh4uPHw8DARERGmX79+5sCBAxetqTgpid+XIlLEsrOM+X2sNa362UBj3r/OmPhYZ1dVpPI7/drFmHyOwCyhkpOTCQoKIikpKdf4mvT0dGJiYoiOjsbb29tJFRZf999/Pzt27GDp0qXOLqVM0feliDhIOQrfDYLYMz+LWz0AN74I7pc4jKKEuNjv73OVzRtqkqdXX32Vzp074+fnx6+//sr06dN59913nV2WiEjZFbsMZt4LqUfB0x+6vwUNezq7qmJFQUbsVq9ezcSJE0lJSaF69eq89dZb3Hfffc4uS0Sk7LHZYPkbsPAFMDaoWB/6fArlazm7smJHQUbsvv32W2eXICIiafEwezDsmmu1m/wHbnkNPAu2TEdZoSAjIiJSXBxaB98OgKQD4O4NN78CTe8uvRs+FgIFGfK/4qzIlaDvR5EyyJYDaz6yFrnLyYSQaOtWUuWLbz0jZTzInF3pNi0tDR8fHydXI2LJzMwELrxCsoiUIjnZsPlbWPoanDyzrlq9bnDbZPAOcm5tJUSZDjJubm4EBwfb9xvy9fW96AJwIkXNZrNx/PhxfH19cXcv0389RUq37EzY9BUsmwQJsdYxnxC47v+g1f26lVQAZf4nZViYtS/F2TAj4myurq5Uq1ZNoVqkNMrOgA2fwbI3IOmgdcy3PLQbBi0GgZe/U8sricp8kHFxcaFy5cpUrFiRrKwsZ5cjgqenJ65laOdakTIh6zSsmw7L34SUM5sT+1eCdo9C84GakXQZynyQOcvNzU1jEkREpHBlnoK1n8Dyt+DUmZ7/wCrQbjg0uxs8ND7zcinIiIiIFLaMFFj9Iax4B9JOWseCqkH7/8FV/Ur99gJXkoKMiIhIYTmdCKs/gJXvWjtUgzWVuv1j0KQvuHk4tbzSSEFGRETkcqXFw8opsOp9yEiyjpWrBR0eh4a9wE2/bouKrqyIiMilOnXCun20+kPITLWOVahnBZgGPcBVYy+LmoKMiIhIQaUchT/fsgbyZqVZxyo1gmufgLrdQDMPrxgFGRERkfxKPmxNoV43DbLTrWPhTaHDk1CnqxaycwIFGRERkX+TeBCWvW4tZpdjbSNC1ZZw7VNQs5MCjBMpyIiIiFxIfIy1jcDGr8B2ZtHUam3h2ieh+nUKMMWAgoyIiMj5TuyxNnL86xswOdax6A5WD0zUNc6tTRwoyIiIiJx1bAcsfRW2fAfGZh2r2ckaA1OttXNrkzwpyIiIiMRtgSWvwLYfAGMdq90VOjwBVZs7tTS5OAUZEREpuw5vtALMjp/+OVavmxVgKjdxWlmSfwoyIiJS9vy9Fv6YCLvnnTngYi1g1+FxqNTAqaVJwSjIiIhI2XFgJfwxAfYutNourtYWAh0ehwp1nFubXBIFGRERKd2MgdhlVoCJXWodc3GzNnFs/xiUq+Hc+uSyKMiIiEjpZAzsW2TdQjqwwjrm6gFX/Qeu+R+ERju3PikUCjIiIlK6GAO751s9MIfWWsfcPKFZf2j3KARHOLc+KVQKMiIiUnpkZ8DMe/+ZheTuDS3uhbbDILCyc2uTIqEgIyIipUN2JnzbH3b9Cm5e0PoBaDMUAio5uzIpQgoyIiJS8mVnwowBVohx94a7voYa1zu7KrkCXJ1dgIiIyGXJzoSZA2Hnz1ZPzF1fKcSUIQoyIiJScuVkWSFmx0/nhJgbnF2VXEEKMiIiUjLlCjFfQs2Ozq5KrjAFGRERKXlysqzZSdt/tKZW9/3S2qVayhwFGRERKVlysuC7QbB9zj8hppZCTFmlICMiIiVHTjZ8dx9s+8EKMXd+AbU6O7sqcSIFGRERKRlysuH7+2HbbGurgT6fQe0bnV2VOJmCjIiIFH852TDrAdj6vRVi7vwM6tzk7KqkGFCQERGR4i0nG2Y9CFu+O9MT8ynU6ersqqSYUJAREZHiy5YDsx+CLTPB1R36TIe6Nzu7KilGFGRERKR4suXA7MGweYYVYnpPh7q3OLsqKWYUZEREpPix5cDsh+Gvb86EmGlQ71ZnVyXFkFODzJIlS+jWrRvh4eG4uLgwe/Zsh8eNMTzzzDNUrlwZHx8fOnXqxO7du51TrIiIXBm2HPhhCPz1Nbi4Qa9PoF43Z1clxZRTg8ypU6do0qQJkydPzvPxiRMn8tZbb/Hee++xatUq/Pz86NKlC+np6Ve4UhERuSJsOTBnKGz6ygoxvadC/ducXZUUY+7OfPOuXbvStWveI8+NMbzxxhuMHj2a226zvok//fRTKlWqxOzZs+nbt++VLFVERIqazQZzhsHGL870xHysECP/qtiOkYmJiSEuLo5Onf5ZdjooKIjWrVuzYsWKCz4vIyOD5ORkhy8RESnmbDb4cShs/NwKMT0/ggY9nF2VlADFNsjExcUBUKlSJYfjlSpVsj+Wl/HjxxMUFGT/ioiIKNI6RUTkMtls8OMw2PA5uLhCzw+h4R3OrkpKiGIbZC7VqFGjSEpKsn8dPHjQ2SWJiMiF2Gzw06Ow4TMrxNzxITTs6eyqpAQptkEmLCwMgKNHjzocP3r0qP2xvHh5eREYGOjwJSIixZDNBj//D9Z/aoWYHh9Ao17OrkpKmGIbZKKjowkLC2PBggX2Y8nJyaxatYo2bdo4sTIREblsNhv8PALWTTsTYt6Hxr2dXZWUQE6dtZSamsqePXvs7ZiYGDZu3EhoaCjVqlVj+PDhvPjii9SqVYvo6GjGjBlDeHg4t99+u/OKFhGRy2MM/PI4rJsKuMDt70HjPs6uSkoopwaZtWvXcv3119vbI0aMAKB///5MmzaNJ598klOnTvHAAw+QmJjINddcw9y5c/H29nZWySIicjnOhpi1HwMu0OM9aHKns6uSEszFGGOcXURRSk5OJigoiKSkJI2XERFxJmPglydgzYdYPTFT4Kq7nF2VFFP5/f1dbMfIiIhIKWIM/PrUOSHmXYUYKRQKMiIiUrSMgbkjYfX7gAvc9g5c9R9nVyWlhIKMiIgUHWNg7ihY9Z7V7v42NP2vc2uSUkVBRkREioYxMO9pWDXFand/G5rd7dyapNRRkBERkcJnDPw2GlZOttrd3oRm9zi3JimVFGRERKRwGQPzx8CKd6z2rW9A8wHOrEhKMQUZEREpPMbA/Gfgz7et9q2vQ4uBzq1JSjUFGRERKRzGwO/Pwp9vWe1bXoMW9zq3Jin1FGREROTyGQMLxsLyN632za9Cy/ucW5OUCQoyIiJyeYyBBc/Dstet9s2vQqv7nVuTlBkKMiIicumMgYUvwrJJVrvrKwoxckUpyIiIyKUxBhaNg6WvWu2bJkDrB5xbk5Q5CjIiInJpFo+HJa9Y/3/Ty3D1Q86tR8okBRkRESm4xS/DHxOs/+/yElw92Ln1SJmlICMiIgWzeILVGwNw4zhoM8S59UiZpiAjIiL598dEWPyS9f83vghtH3FuPVLmKciIiEj+LHnFGtwL0Pl5aDvUufWIoCAjIiL5seRVa5o1QKex0O5R59YjcoaCjIiIXNzSSbDwBev/Oz0H1wx3ZjUiDhRkRETkwpa9bm09ANDxGbjmf86tR+Q87s4uQEREiqHMNJj7FKz/1GrfMAbaP+bcmkTyoCAjIiKOjm6FGQPhxE7ABTo9q54YKbYUZERExGIMrP0Y5v4f5GSAfxj0/BCiOzi7MpELUpARERFIi4c5Q2HHT1a71o1w+xTwK+/cukT+hYKMiEhZt38FfHcfJP8Nrh7QeSxc/TC4uDi7MpF/pSAjIlJW2XKsqdWLXwJjg9Dq0OsTCG/q7MpE8k1BRkSkLEo+At/fD7FLrXbjvnDLq+AV4Ny6RApIQUZEpKzZNQ9mD4a0k+DhB7e8Blfd5eyqRC6JgoyISFmRnQG/Pwcr37XaYY2h11QoX9OpZYlcDgUZEZGy4ORemDkQjmyy2lc/bG034O7l1LJELpeCjIhIabfpa/j5MchMBZ9Qa1p1nZucXZVIoSjwXktz585l2bJl9vbkyZO56qqr+M9//kNCQkKhFiciIpchIwW+fxBmPWiFmMhrYPByhRgpVQocZJ544gmSk5MB2Lx5M4899hg333wzMTExjBgxotALFBGRS3B4I7x/Lfz1Nbi4wvVPQ/85EBju7MpEClWBby3FxMRQv359AL777jtuvfVWXnrpJdavX8/NN99c6AWKiEgBGAMrp8D8Z8CWBYFVoedHENnG2ZWJFIkCBxlPT0/S0tIA+P3337nnnnsACA0NtffUiIiIE5w6AbMfht3zrHbdW6H72+Ab6ty6RIpQgYPMNddcw4gRI2jXrh2rV6/mm2++AWDXrl1UrVq10AsUEZF8iFkC390PqXHg5gVdxkHL+7TNgJR6BR4j88477+Du7s7MmTOZMmUKVapUAeDXX3/lpps0gExE5IrKyYaFL8L07laIKV8H7l8Ire5XiJEywcUYY5xdRFFKTk4mKCiIpKQkAgMDnV2OiEjhSTxobfZ4cKXVbno3dJ0Ann7OrUukEOT393e+bi0VZOyLwoKIyBWw/Uf44RFITwTPAOj2BjTq5eyqRK64fAWZ4OBgXPLZRZmTk3NZBYmIyEVknYbfRsOaj6x2lebQ82MIjXZuXSJOkq8gs2jRIvv/x8bGMnLkSAYMGECbNtZ0vhUrVjB9+nTGjx9fNFWKiAgc3wkzBsKxrVa73aNw/Whw93RuXSJOVOAxMh07duS+++7jrrscd0r98ssv+eCDD1i8eHGhFZeTk8Nzzz3H559/TlxcHOHh4QwYMIDRo0fnu4dIY2REpMQzBtZ/Cr8+Bdmnwa8C9HgPanZydmUiRaZQx8ica8WKFbz33nu5jrdo0YL77ruvoC93URMmTGDKlClMnz6dBg0asHbtWgYOHEhQUBDDhg0r1PcSESmW0pPgx+Gw9XurXf166PE+BFRyalkixUWBp19HRETw4Ycf5jr+0UcfERERUShFnfXnn39y2223ccsttxAVFUWvXr248cYbWb16daG+j4hIsfT3WnivvRViXN2h01j47/cKMSLnKHCPzOuvv07Pnj359ddfad26NQCrV69m9+7dfPfdd4VaXNu2bfnggw/YtWsXtWvXZtOmTSxbtoxJkyYV6vuIiBQrNhv8+aa1PowtG4KrQa+pULWFsysTKXYKHGRuvvlmdu/ezbvvvsuOHTsA6NatGw899FCh98iMHDmS5ORk6tati5ubGzk5OYwbN45+/fpd8DkZGRlkZGTY29o2QURKlJSj1m7V+85MsmjQA7q9Cd5Bzq1LpJgqcJABqFq1Ki+99FJh15LLt99+yxdffMGXX35JgwYN2LhxI8OHDyc8PJz+/fvn+Zzx48czduzYIq9NRKTQ7VlghZhTx8Hdx1rcrtk9WqFX5CIuaWXfxMREVq9ezbFjx7DZbA6Pnd1EsjBEREQwcuRIhgwZYj/24osv8vnnn9t7g86XV49MRESEZi2JSPGVnQkLX4A/37LaFetbt5Iq1nVuXSJOVGSzln788Uf69etHamoqgYGBDtOgXVxcCjXIpKWl4erqOB7Zzc0tV3g6l5eXF15eXoVWg4hIkYqPge8GwaF1VrvFIGvDRw8f59YlUkIUOMg89thj3Hvvvbz00kv4+voWRU123bp1Y9y4cVSrVo0GDRqwYcMGJk2axL333luk7ysickVs+c6aWp2RbI2B6f4O1O/u7KpESpQC31ry8/Nj8+bNVK9evahqsktJSWHMmDHMmjWLY8eOER4ezl133cUzzzyDp2f+VrLUgngiUuxknrIWt9vwmdWOuBp6fmjNThIRIP+/vwscZO644w769u1Lnz59LrvIK0FBRkSKlbgtMHMgnNgFuECHx+HakeB2SXMvREqtIhsjc8stt/DEE0+wbds2GjVqhIeHh8Pj3burW1REJBdjrI0e5z0NORngH2b1wkR3cHZlIiVagXtkzh986/BiLi7Fbvdr9ciIiNOdToAfHoEdP1ntWjfC7VPAr7xz6xIpxoqsR+ZiM4ZEROQ8B1ZZs5KSDoKrB3QeC1c/rLVhRAqJbsqKiBQFmw2Wvw4Lx4HJgZBo6D0Vwps6uzKRUqXAm0YC/PHHH3Tr1o2aNWtSs2ZNunfvztKlSwu7NhGRkinlKHzeAxY8b4WYRr3hwSUKMSJFoMBB5vPPP6dTp074+voybNgwhg0bho+PDx07duTLL78sihpFREqOvQvhvXawb7G1zUD3d+COD8FbY/REikKBB/vWq1ePBx54gP/9738OxydNmsSHH37I9u3bC7XAy6XBviJyReRkwaJxsOwNwGibAZHLlN/f3wXukdm3bx/dunXLdbx79+7ExMQU9OVEREq+xAMw9WZY9jpgoPlAuH+hQozIFVDgwb4REREsWLCAmjVrOhz//fffiYiIKLTCRERKhG1zYM4jkJ4EXoHQ/S1o0MPZVYmUGZe019KwYcPYuHEjbdu2BWD58uVMmzaNN998s9ALFBEplrLS4bfRsOZDq12lOfT6BEKinFqWSFlT4CAzePBgwsLCeO211/j2228Ba9zMN998w2233VboBYqIFDsndsOMgXB0s9VuOwxuGAPu+dsDTkQKT4EH+5Y0GuwrIoVq45fw8+OQdQp8y0GP96FWZ2dXJVLqFNnKvmvWrMFms9G6dWuH46tWrcLNzY0WLVoUvFoRkeIuIxV+fgz++tpqR7W3plUHVnZuXSJlXIFnLQ0ZMoSDBw/mOn7o0CGGDBlSKEWJiBQrR/6C9ztYIcbFFa5/Gu75QSFGpBgocI/Mtm3baNasWa7jTZs2Zdu2bYVSlIhIsWAMrP4QfnsacjIhsAr0/Agi2zq7MhE5o8BBxsvLi6NHj1K9enWH40eOHMHdXVs3iUgpkRYPc4b+s2N17a5w+7vgG+rcukTEQYFvLd14442MGjWKpKQk+7HExET+7//+j86dNeBNREqBA6usW0k7frJ2rL7pZbjrK4UYkWKowF0or776Kh06dCAyMpKmTa0N0DZu3EilSpX47LPPCr1AEZEr5vwdq0OrW2vDaLNHkWKrwEGmSpUq/PXXX3zxxRds2rQJHx8fBg4cyF133YWHh0dR1CgiUvRSjsKsB6zNHsHasfqWSdrsUaSYu6RBLX5+fjzwwAOFXYuIiHPsWQCzHoRTx8HDF25+Ba7qBy4uzq5MRP5FgcfIAHz22Wdcc801hIeHs3//fgBef/11fvjhh0ItTkSkSOVkwe/Pwed3WCGmYgN4YDE0/a9CjEgJUeAgM2XKFEaMGEHXrl1JSEggJycHgJCQEN54443Crk9EpGg47FgNtLgX7l8AFeo4ty4RKZACB5m3336bDz/8kKefftphunWLFi3YvHlzoRYnIlIkts2B966Bv1eDVxD0nga3vg4ePs6uTEQKqMBjZGJiYuyzlc7l5eXFqVOnCqUoEZEikZVuLW635iOrXaUF9PpYO1aLlGAF7pGJjo5m48aNuY7PnTuXevXqFUZNIiKF78Ru+KjTPyGm7TC4d65CjEgJV+AemREjRjBkyBDS09MxxrB69Wq++uorxo8fz0cffVQUNYqIXB6HHavLn9mxupOzqxKRQlDgIHPffffh4+PD6NGjSUtL4z//+Q/h4eG8+eab9O3btyhqFBG5NBkpVoDRjtUipZaLMcZc6pPT0tJITU2lYsWKhVlToUpOTiYoKIikpCQCA7WwlUiZcWQTzBgI8XutHauv+z9oPwJc3ZxdmYjkQ35/f1/SOjJn+fr6sn37dn799VcSEhIu56VERAqHMbDqfWs8TPxea8fqAT/DtU8oxIiUQvm+tTRhwgRSU1N54YUXADDG0LVrV3777TcAKlasyIIFC2jQoEHRVCoi8m/O37G6zs1w22Rt9ihSiuW7R+abb76hYcOG9vbMmTNZsmQJS5cu5cSJE7Ro0YKxY8cWSZEiIv/qwEp4r73jjtV9v1SIESnl8t0jExMTQ+PGje3tX375hV69etGuXTsARo8eTe/evQu/QhGRi7HlWKvzLnpJO1aLlEH57pHJzs7Gy8vL3l6xYgVt27a1t8PDwzlx4kThVicicjEpR+GzHrDwBSvENOoNDy5RiBEpQ/IdZGrUqMGSJUsAOHDgALt27aJDhw72x//++2/KlStX+BWKiORlzwJ4rx3E/GHtWH3bZGtqtVeAsysTkSso37eWhgwZwiOPPMLSpUtZuXIlbdq0oX79+vbHFy5cmOfWBSIihSonCxa+CMvfsNoVG0DvqdrsUaSMyneQuf/++3Fzc+PHH3+kQ4cOPPvssw6PHz58mHvvvbfQCxQRsUs6BDMHwsFVVrvFIOgyTps9ipRhl7UgXkmgBfFESondv8OsByDtJHgFQve3oEEPZ1clIkUkv7+/C7xFgYjIFZWTDYvHw9JXrXZYY+gz3ZqdJCJlnoKMiBRfKXEwcxDsX2a1WwyCLi+Bh7dz6xKRYkNBRkSKp31/wHeD4NRx8PSHbm9Co17OrkpEihkFGREpXmw5sORV63YSxpqV1Gc6lK/l7MpEpBhSkBGR4iP1OHx/H+xbbLWb3g1dJ4Knr1PLEpHiq8C7X586dYoxY8bQtm1batasSfXq1R2+CtuhQ4f473//S7ly5fDx8aFRo0asXbu20N9HRJwsdjm8d40VYjx84fb34LZ3FGJE5KIK3CNz33338ccff3D33XdTuXJlXFxciqIuABISEmjXrh3XX389v/76KxUqVGD37t2EhIQU2XuKyBVms1mL2y18AYwNyteBPp9CxbrOrkxESoACB5lff/2Vn3/+2b5ZZFGaMGECERERTJ061X4sOjq6yN9XRK6QtHiY9SDs/s1qN+4Lt04CTz/n1iUiJUaBby2FhIQQGhpaFLXkMmfOHFq0aEHv3r2pWLEiTZs25cMPP7zoczIyMkhOTnb4EpFi6MAq61bS7t/A3Ru6vQU93lOIEZECKXCQeeGFF3jmmWdIS0srinoc7Nu3jylTplCrVi3mzZvH4MGDGTZsGNOnT7/gc8aPH09QUJD9KyIiosjrFJECMAb+fBum3QzJhyC0Bty3AJr3hyK8VS0ipVOBtyho2rQpe/fuxRhDVFQUHh4eDo+vX7++0Irz9PSkRYsW/Pnnn/Zjw4YNY82aNaxYsSLP52RkZJCRkWFvJycnExERoS0KRIqD0wkwewjs/NlqN+xprQ+jHatF5DxFtkXB7bfffjl1FUjlypUddtgGqFevHt99990Fn+Pl5YWXl1dRlyYiBXVoHcwYAIkHwM0TbhpvrdSrXhgRuQwFDjLn73pdlNq1a8fOnTsdju3atYvIyMgrVoOIXCZjYPUHMO9psGVBSBT0ngbhTZ1dmYiUAsV6Qbz//e9/tG3blpdeeok+ffqwevVqPvjgAz744ANnlyYi+ZGeBHOGwrYfrHbdW+G2yeAT7NSyRKT0yNcYmdDQUHbt2kX58uUJCQm56Nox8fHxhVrgTz/9xKhRo9i9ezfR0dGMGDGC+++/P9/Pz+89NhEpZEc2wbf9ISEGXD3gxheg9UO6lSQi+VKoY2Ref/11AgKswXhvvPFGoRSYX7feeiu33nrrFX1PEbkMxsDqD+G30ZCTAUHVrFtJVZs7uzIRKYUKPGuppFGPjMgVlBYPPwyBnb9Y7dpd4fZ3wffKrD0lIqVHkc1aEhHJU+wy+O5+SDlszUrq/AK0flC3kkSkSCnIiMjlycmGJRNhySvWXknlakKvT6ByE2dXJiJlgIKMiFy6xIPw/f1w4MwClVf9F7pOAC9/59YlImWGgoyIXJrtP8IPj0B6IngGQLc3oFEvZ1clImXMJQeZPXv2sHfvXjp06ICPjw/GmItOyxaRUiLrtLW43dqPrXZ4M+j1MYRWd25dIlImFXjTyJMnT9KpUydq167NzTffzJEjRwAYNGgQjz32WKEXKCLFyLHt8MH1/4SYdo/CvfMUYkTEaQocZP73v//h7u7OgQMH8PX1tR+/8847mTt3bqEWJyLFhDGw9hP44Do4vh38KsJ/v4fOz4O7p7OrE5EyrMC3ln777TfmzZtH1apVHY7XqlWL/fv3F1phIlJMnE6AOcNg+xyrXaMj9HgP/Cs6ty4RES4hyJw6dcqhJ+as+Ph47TotUtocWAnf3QdJB8HVHTo+C20eAdcCd+aKiBSJAv80at++PZ9++qm97eLigs1mY+LEiVx//fWFWpyIOIktB/54BabebIWYkGgY9Bu0G6YQIyLFSoF7ZCZOnEjHjh1Zu3YtmZmZPPnkk2zdupX4+HiWL19eFDWKyJWUfBi+fwBil1rtRn3gltfAW1t8iEjxU+Ag07BhQ3bt2sU777xDQEAAqamp3HHHHQwZMoTKlSsXRY0icqXs/BVmPwyn48HDD255FZrcpW0GRKTY0qaRIgJZ6TD/GVj9vtUOawy9pkL5ms6tS0TKrCLdNDI9PZ2//vqLY8eOYbPZHB7r3r37pbykiDjL8V0w8144utlqX/0wdHoO3DV4X0SKvwIHmblz53LPPfdw4sSJXI+5uLiQk5NTKIWJSBEzBjZ8Dr8+CVlp4FsObp8Ctbs4uzIRkXwr8PSDoUOH0rt3b44cOYLNZnP4UogRKSHSk+C7QTDnESvERHeAh5YrxIhIiVPgHpmjR48yYsQIKlWqVBT1iEhRO7gGvrsXEg+Aixtc/39wzf/A1c3ZlYmIFFiBg0yvXr1YvHgxNWrUKIp6RKSo2HJg2euw6CUwORBcDXp+AhEtnV2ZiMglK/CspbS0NHr37k2FChVo1KgRHh4eDo8PGzasUAu8XJq1JELutWEa9oRbXwfvIOfWJSJyAUU2a+mrr77it99+w9vbm8WLF+NyzvoSLi4uxS7IiJR5DmvD+MLNr8JV/9HaMCJSKhQ4yDz99NOMHTuWkSNH4qqlykWKrzzXhvkEytdybl0iIoWowEEmMzOTO++8UyFGpDg7vvPM2jBbrPbVQ6DTs1obRkRKnQKnkf79+/PNN98URS0icrmMgXXT4f1rrRDjWx7+MwNuekkhRkRKpQL3yOTk5DBx4kTmzZtH48aNcw32nTRpUqEVJyIFcDoRfnwUts222tWvgx7vQ0CYE4sSESlaBQ4ymzdvpmnTpgBs2bLF4TEXDR4UcY4Dq6wF7pIOgqs73DAG2g4D3QIWkVKuwEFm0aJFRVGHiFwKWw4sfQ0Wv2ytDRMSDT0/hqrNnV2ZiMgVcUmbRopIMZB0yFobZv8yq92oD9zyGnhrvSQRKTvyFWTuuOMOpk2bRmBgIHfcccdFz/3+++8LpTARuYjtP1n7JJ1OAE9/K8A06evsqkRErrh8BZmgoCD7+JegIK0EKuI0Wafht9Gw5iOrXfkqa22YctoyRETKpnxvUfD888/z+OOP4+vrW9Q1FSptUSClxrHt1towx7ZZ7bZD4YZnwN3TuXWJiBSB/P7+zneQcXNz48iRI1SsWLHQirwSFGSkxDMG1k2FuaMgOx38KkCP96BmJ2dXJiJSZAp9r6UC7i0pIoUhPQnmDIVtP1jtGh2tEONfsv5BISJSVAo0a0nrxIhcQYc3wowBkBADrh7WFgNXD9HaMCIi5yhQkKldu/a/hpn4+PjLKkikzDMG1n5s3UrKyYSgatB7mtaGERHJQ4GCzNixYzVrSaQopSdb2wxsPbOMQZ2b4bbJ4Bvq3LpERIqpAgWZvn37lrjBviIlRtxm+LY/xO+1thno9By0eQR0S1dE5ILyHWQ0PkakiBgD66fDr09Zs5ICq0LvqRDRytmViYgUe5q1JOJMGanw0/9g87dWu9aN1o7VupUkIpIv+Q4yNputKOsQKXuOboMZ/eHELnBxg45joO2jmpUkIlIA2jRSxBk2fA4/Pw7ZpyGgMvSaCpFtnF2ViEiBHIxPY8Xek1xXtwIVA7ydUkOJ+qffyy+/jIuLC8OHD3d2KSKXJvMUzBoMPwyxQkyNjvDQMoUYESkRDiee5rt1f/P4jE20e3kh7Scu4snv/mLJrhNOq6nE9MisWbOG999/n8aNGzu7FJFLc2yHdSvp+A5wcYXr/w+ueUy3kkSk2DqWnM6KfSdZsfckK/adZP/JNIfH3V1daBIRjJ+nm5MqLCFBJjU1lX79+vHhhx/y4osvOrsckYLb9LU1qDcrDfwrQc+PIbq9s6sSEXFwIjWDlecEl33HTzk87uoCjaoG06Z6OdrUKEeLyBD8vJwbJUpEkBkyZAi33HILnTp1UpCRkiXrNPzyBGz4zGpHXws9P9JeSSJSLCSmZbJyX7w9vOw8muLwuIsL1K8cSJvq5Whbsxwto0IJ8PZwUrV5K/ZB5uuvv2b9+vWsWbMmX+dnZGSQkZFhbycnJxdVaSIXd2K3tcDdsa2AC1w3Ejo8Aa7O64IVkbItOT2L1fvi7beLtsclc/7qKnXDArj6TI9L6+hQgn09nVNsPhXrIHPw4EEeffRR5s+fj7d3/kZDjx8/nrFjxxZxZSL/YvNMa6uBzFTwq2D1wlS/ztlViUgZk5qRzZrYeFaeuVW05VAStvOCS82K/vZbRa2jQynn7+WcYi+RiynGK93Nnj2bHj164Ob2z79gc3JycHFxwdXVlYyMDIfHIO8emYiICJKSkggMDLxitUsZlZUOc0fCuqlWO6q9FWICwpxbl4iUCaczc1i3P4EV+06wYu9JNv2dRM55ySW6vJ+9x+Xq6qFOmzb9b5KTkwkKCvrX39/FukemY8eObN682eHYwIEDqVu3Lk899VSuEAPg5eWFl1fJSpNSSpzca81KitsMuECHx+HakeBWrP+aiUgJlp6Vw4YDiazYd5KVe0+y4WACWTmOwaVqiI99jMvV1ctROcjHSdUWjWL9EzYgIICGDRs6HPPz86NcuXK5jos41ZbvYM6jkJkCvuXgjg+hZkdnVyUipUxmto1Nfydas4r2nmT9gQQysh1X3q8c5E2b6uW4ukY52lQvR0Sor5OqvTKKdZARKfYy06xbSeunW+1qbaHXxxAY7ty6RKRUyM6xsflQkn1w7trYBE5n5TicUyHAyz7GpU31ckSW8y1TGz2XuCCzePFiZ5cgYjm2HWYMhOPbARdo/xhcN0q3kkTkkuXYDNsOJ9vHuKyJTSA1I9vhnHJ+nlx9To9LjQp+ZSq4nE8/cUUKyhhY/yn8+pS1zYBfRbjjA6hxvbMrE5ESJjPbxpbDSayJiWdNbDyrY+JJTncMLkE+HrSODqVNjXK0rVGeWhX9cXUtu8HlfAoyIgWRnmxNq976vdWucQP0eF8L3IlIvqSkZ7HhQCJrYq3gsvFgIulZjmNcArzcaXUmuFxdvRz1KwcquFyEgoxIfh1aDzMHQkIsuLhBxzHQ9lHtlSQiF3QsJZ01MQmsiY1n7f54th1OzrWOS4ivBy2iQmkVFUqr6FAahAfi7qafK/mlICPyb4yBFZPh9+fAlgVB1awBvRGtnF2ZiBQjxhhiTpw609tihZfzN1kEiAj1oWVkKC2jQ2kZFUKNCv5leozL5VKQEbmYUydh9mDYPc9q1+sG3d8GnxDn1iUiTpedY2PbkWRWx8SzNjaBtfvjOZGa6XCOiwvUDQukZVQILaNCaRkVSlhQ8VyArqRSkBG5kNhl8N19kHIE3LzgppegxSDrJ5OIlDlpmdkO41s2HEgkLdNxKrSnuytXVQ2mZXQILaJCaR4ZQmAx22SxtFGQETmfLQeWvAJ/TABjg3K1oPdUCGvk7MpE5Ao6kZph9bScCS5bDifnWu4/0NudFmd6WlpGhdCoahBe7toY9kpSkBE5V/IR+P5+iF1qta/qBze/Ap5+zq1LRIqUMYYD8WnW2JaYeNbsj2ff8VO5zqsc5G2FljPjW2pXDNCMIidTkBE5a9dvMPshSDsJHn5w6+vQ5E5nVyUiRSDHZth+JPlMb4s1MPdYSkau82pX8rfPKGoZHUqV4NK1T1FpoCAjkp0JC8bCinesdlhj6DUVytd0bl0iUmjSs3LYeDDxTG9LAuv3514x18PNhUZVgqzelshQWkSFEOzr6aSKJb8UZKRsi4+BmffC4fVWu/VD0Pl5cNcO6iIlWWJaJmvP9LSsiY1n86GkXLtC+3u50ywyhFZR1sDcqyKC8fbQ+JaSRkFGyq4t38GPwyEjGbyD4fZ3oe4tzq5KRC5B/KlMVsecZOW+eFbuO8mOuJRc51QI8LJuEZ0JLvUqB+Km8S0lnoKMlD3n71gdcTX0/AiCI5xbl4jkW8KpTFbFWKHlQsGlegU/WkWF2se4RIT6aOG5UkhBRsoW7VgtUiIlpp0bXOLZEZeMOW+p/1oV/a1doauXo3X1UMr76xZxWaCf3lI2GGP1wPw6UjtWi5QASWlZrDrnVtH2PIJLzYr+XF09lDbVy9MqOpQKAQouZZGCjJR+pxOtHau3zbba2rFapNhJSstidew/t4q2HckdXGpU8LPvCN06upyCiwAKMlLaHVhlbTOQdABc3aHjM9BmqHasFnGypNNZrDl7qyjmJFsP5x1czr1VVDFAexRJbgoyUjrZcmDZJFg0HkwOhERBr0+gSnNnVyZSJiWn/xNcVuzLO7hUPye4XB0dSsVABRf5dwoyUvokH4bvH/hnm4FGveGWSeAd6Ny6RMqQ5PQs1sbGs3JfPCv2nmTr4SRs5weX8n60rl6Oq6uHcnX1clRScJFLoCAjpcvOuTB7MJyOt7YZuOVVaHKXdqwWKWIp6VmsjU2w97hsOZQ7uESX97OHFgUXKSwKMlI6ZGfA/Gdg1XtWW9sMiBSp1Ixs1pwdnLv3JJvzCC5R5Xz/uVVUvRxhQQouUvgUZKTkO7EbZg6EuM1W++oh0OlZbTMgUohSM7L/uVV0pscl57zkElnOl6ujy9GmhjU4t3KQNliUoqcgIyWXMbDxC/jlCchKA99ycPt7UPtGZ1cmUuIlpWWx7kA8q2Os20Wb8wgu1UJ9rXVcaljTocO1M7Q4gYKMlEzpSfDT/6z9kgCir7UWuAsIc25dIiWQMYZDiaftmyyujU1g59HcS/5HhPrQxj4duhxVFFykGFCQkZLn77XWjtWJ+8HFDW4YDe2Ga20YkXzKsRl2xqWwdn88a2ITWBsbz5Gk9FznVa/gR4vIEFpHW7eKqob4OqFakYtTkJGSw2aDP9+EhS+CLRuCq0HPTyCipbMrEynWTmfmsOnvRNbGWsFl/f4EUjKyHc5xd3WhYZUg+87QzSNDtFeRlAgKMlIypMTBrAdh32Kr3eAO6PYGeAc5syqRYin+VCZrY+NZu9+6VbTlUBJZOY7jW/y93GkWGULLSCu4XBURjI+nm5MqFrl0CjJS/O2eD7MegrQT4OELXSdC0/9qbRgRrPEtB+LT7LeI1sTGs/f4qVznVQr0omVUKC2jQmkRFULdsEDcXPV3SEo+BRkpvrIzYMHzsOIdq12pEfT6GCrUcW5dIk6UnWNj+5EUa1DumTEux1Mycp1Xu5I/LaJCrVtFkaFUDfHBReFfSiEFGSmeTu611oY5sslqt3oQOj8PHlpQS8qWUxnZbDyYaJ9NtP5AAmmZOQ7neLq50rhqkD24NI8MIdjX00kVi1xZCjJSvBgDm76GXx6HzFTwCYXb34U6XZ1dmcgVcSwlnXWxCdatov3xbD2cnGv9lkBvd1qcuUXUMiqURlWC8PbQ+BYpmxRkpPg4nQg/j/hnbZio9tbaMIHhTi1LpKgYY9h34pR9NtHa2HhiT6blOq9KsA8tzswmahkVQu2KAbhqfIsIoCAjxUXsMvj+QUj+21ob5rpR0H4EuOpfmVJ6ZGbb2Ho46Z+F5/YnEH8q0+EcFxeoGxZov0XUIipUC8+JXISCjDhXdiYsHg/LXgcMhERDz4+gagtnVyZy2U6kZrB+fwLrDySy/kACf/2dSHqWzeEcL3dXrooIts8malothCAfDydVLFLyKMiI85zYDd/dB0c2Wu2md8NNL4OXv1PLErkU2Tk2dsSlsOHAP8Flfx63iUJ8PWgeGUqraKu3pWF4EJ7uWpVa5FIpyMiVZwysnw5zR1mbPXoHQ/e3oP5tzq5MJN/iT2Wy4UAC6/YnnOltSco1mwigVkV/mlWzbhM1iwymenl/jW8RKUQKMnJlnToJc4bCzp+tdvS10OM9DeiVYu3s3kTrD1ihZcOBRGJO5F50LsDLnauqBdOsWgjNIkO4KiJYt4lEipiCjFw5exbA7MGQehRcPaDTs3D1EG32KMVOYlomG87cHlp/IIGNBxI5lUdvS40KfvbQ0jwyhJoV1NsicqUpyEjRy0qHBWNh5btWu3wda0Bv5cbOrUsEsNkMu4+lsv6c20T78lji38/TjauqBdO8WghNI0NoGhGsRedEigEFGSlaR7dZA3qPbbXaLe+3Vuj19HVuXVJmJZ3Osg/I3XCmt+X8naABqpf3o2k1a1xLs2oh1K4UoL2JRIohBRkpGsbAqvdh/jOQkwF+FeC2yVC7i7MrkzLEZjPsPW71tqzfb90q2n0sNdd5vp5uNKkabA8tTauFEOqn3haRkkBBRgpfylH44WHY87vVrnWjFWL8Kzq3Lin1UtKz2Hgw8cwtokQ2HkggOT13b0tkOV/7LaJm1YKpUykAdzeN1RIpiYp1kBk/fjzff/89O3bswMfHh7Zt2zJhwgTq1NHux8XWjl9gziOQdhLcveHGF6HlfdZypSKFyBjD3uOnzswisnpcdh1LwThuS4SPhxuNqwbRLDLkTG9LMOX9vZxTtIgUumIdZP744w+GDBlCy5Ytyc7O5v/+7/+48cYb2bZtG35+fs4uT86VmQa/PQ1rP7HalRpZA3or1nVuXVJqZOfY2Ho4mRX7TrJq30nWH0gk6XRWrvMiQn2smURn1m6pExaAh3pbREotF2PO//dL8XX8+HEqVqzIH3/8QYcOHfL1nOTkZIKCgkhKSiIwMLCIKyyjDm+0BvSe3G212w6FG8aAu/7VK5cux2bYejiJlftOsmLvSdbEJpB63qBcL3dXmlQNpql9bEswFQO8nVSxiBSm/P7+LtY9MudLSkoCIDQ09ILnZGRkkJGRYW8nJycXeV1lli0H/nwbFr4ItiwIqAy3T4Ea1zu7MimBcmyGbYeTWbnvJCv3nWR1THyu2USB3u60ii7H1dVDaRkVSr3KgVreX6SMKzFBxmazMXz4cNq1a0fDhg0veN748eMZO3bsFaysjEo6BLMehNilVrteN+j2FvheOGSKnCvHZth+5J/gsiomnpTzBuYGeLvTOjqUq6uX4+rq5ahXOVBToEXEQYm5tTR48GB+/fVXli1bRtWqVS94Xl49MhEREbq1VJi2/wQ/DIH0RPDwg64ToOl/NaBXLspmM2yPS2blvnhW7D3J6piTuWYUBXi50+qc4FI/XMFFpKwqVbeWHnnkEX766SeWLFly0RAD4OXlhZeXxmYUiazT8NtoWPOR1Q5vCj0/hnI1nFuXFEs2m2FHXIpDj8v5g3P9vdxpGRVCmxpngkvlQE2DFpECKdZBxhjD0KFDmTVrFosXLyY6OtrZJZVdx3bAzHv/WaG37bAzA3q1aJhYsnNsbDuSzOqYeFbFxLMmNp7ENMfg4ufpRstzelwahiu4iMjlKdZBZsiQIXz55Zf88MMPBAQEEBcXB0BQUBA+Pj5Orq6MMAbWT4dfR0L2aWuF3h7vQc1Ozq5MnCwz28ZffyeyKiae1THxrNufe1aRr6cbLaJCaVPdGqDbsEqQpkKLSKEq1mNkXC4w5mLq1KkMGDAgX6+h6deX4XQi/PgobJtttatfDz3eh4BKzqxKnOR0Zg4bDiTYg8v6AwlkZNsczgnwdqdlVCito0NpFa3gIiKXrlSMkSnGGav0O7gavhsEiQfA1R06PgNthoKrfimVFSnpWazb/09w+evvRLJyHP9Ohvp50ioqlNbVreBSN0yDc0XkyirWQUacwGaD5a/DwnFgciAkCnp+AlWbO7syKWIJpzJZExtvDy5bDydhO+/fEpUCvWgdXe7MzKJQalTwv2DPqYjIlaAgI/9IPmKtDRPzh9Vu2AtufR28dUuutDHG8HfCaTYcTGTNmeCy82hKrvOqhfrS6sxtoqujyxER6qPgIiLFioKMWHb9BrMfsjZ79PCFm1+Fq/6jtWFKidOZOWw+lMT6Awms35/AhoOJHE/JyHVezYr+tIr+Z4xL5SANqheR4k1BpqzLzoDfx8LKyVa7UiPo9QlUqO3cuuSSGWM4GH/6n12hDySy/Ugy2efdJ3J3daF+eCDNqoXQOjqUltGh2hVaREocBZmy7ORemDkQjmyy2q0fgk5jwUOb7pUkaZnZ/PX32d6WRDYeTOBEamau8yoEeNGsmrW5YrPIEBqGB+Hj6eaEikVECo+CTFm16Wv4+THITAWfULj9XajT1dlVyb8wxrD/ZNqZ3pZE1h9IYEdcCjnn9bZ4uLlQPzzIHlyaVgumSrDGt4hI6aMgU9ZkpFgB5q9vrHZUe7jjAwgMd25dkqfTmTls+juRdfv/GdsSfyp3b0tYoDfNIv8JLQ3Cg/D2UG+LiJR+CjJlyeEN1jYD8fvAxQ2uGwXtR4CrfuEVFydSM1gbm8C6/fGsiU1gy6GkXGNbPN1caVglkKbVQs7cJgrWoFwRKbMUZMoCm80azPv7WLBlQVAE9PwIql3t7MrKNGMMMSdOsTY2gTWx1hL/+06cynVepUAvWkSG0iwyhGbVgqkfHoiXu8KniAgoyJR+qcetadV7frfa9bpD97fAJ8S5dZVBmdk2th5OcgguJ/O4TVSnUgAtokKsr8hQqoZobIuIyIUoyJRm+/6A7++H1KPg7g03jYfmA7U2zBWSdDqL9QcSWHcmuGw8mJhrbyJPd1euqhpMi6gQWkaF0qxaCEG+Hk6qWESk5FGQKY1sNlj6Kix6CTBQoZ61Nkyl+s6urFQ7lHiatbHx9h6XnUdTOH+7sBBfD5pHhtIyKoQWUaE0rKLbRCIil0NBprQ5dcLqhdm70Go3vRu6TgRPX+fWVcrYbIbdx1JZHRvP2th41sTEczgpPdd5UeV8aREVSotIK7jUqOCn20QiIoVIQaY0ObASZgyElMPg7gO3TrK2GZDLlpltY/OhRNbEJrAmJp61+xNIOp3lcI6bqwsNwwNpEWX1uDSLDKFigBYXFBEpSgoypYExsOIdmP+stWN1uVrQ51PdSroMKelZrD9gbah4ofEtPh5uNIsMpmVUKC2jQmlaLRhfT/2VEhG5kvRTt6Q7nQCzh8DOn612w57Q7U3wCnBuXSXMsZR01sRYY1vWxMaz/Ugy5y3fQjk/T/ug3JZRodQPD8TDzdU5BYuICKAgU7Id3gDf9ofE/eDmac1KajFIs5L+xbnrt6w+E1z2n0zLdV61UF9aRIXQKsraULF6eY1vEREpbhRkSiJjYO3HMHcU5GRCcCT0mQ7hTZ1dWbF0dv2WdfsTWBubwNr9CZxIzXA4x8UF6oYF0ioqhJbRobSIDCUsSONbRESKOwWZkiYjBX4cDltmWu06t8Dtk7XA3TkS0zKt0LLfWsNl098XXr+lZbQ1m6h5ZAiB3lq/RUSkpFGQKUmOboNv74GTu8HVHTqNhTZDyvStJPttojOhZe3+ePYez73Mv7V+S4h9DZdGVYO0fouISCmgIFNSbPwSfhoB2achIBx6Ty2TeyWlZ+Ww5VASa8/cJlp/ICHP3aCrV/Cz1m6JDKV5VIjGt4iIlFIKMsVd1mn45QnY8JnVrtER7vgA/Mo7t64r5ERqBuv2J5wZ3xLPlkPJZObkvk3UpGoQzSOtheeaRYYQ6ufppIpFRORKUpApzk7sgRn94egWcHGF6/4P2j8GrqVzym9Gdg4741LYfCiJ9fsTWbc/ntg8ZhOV9/ek+ZnelmaRIVrmX0SkDFOQKa62zoIfhkJmCvhVgJ4fQ/VrnV1VocnMtrHraAp//Z3E5kNJbD6UyM64FLJyTK5za1fyp3lk6JnwEkJkOV/dJhIREUBBpvjJzoDfRsPqD6x2ZDtrw8eAMOfWdRmycmzsjEthy6Ek/jqUxJZDSew4kpLrFhFAkI8HjasG0bhqkNXjot2gRUTkIhRkipOE/TBjABxeb7WvGQHXPw1uJeePKSvHxu6jqWw+lGj1tPydxPa4FDKzc4eWQG93GlcNpmEVK7g0qhJE1RAf9baIiEi+lZzfkKXdzrkw60FITwTvYGtAb+0uzq7qorJzbOw5nspff1u9LH/9ncT2I8m51mwBCPB2p1GVIBqdCSyNqwQTEarQIiIil0dBxtlysmHh87D8TatdpTn0ngbB1ZxaVl7OLjS3JjaBdfvj2XwoifSsPEKLlzsNzwktjaoEaVyLiIgUCQUZZ0r6G2YOgoMrrXbrh6DzC+Du/KnDxhhiT6axNjbevkrunmOpuc7z93KnYZXAM70twVZoCfXF1VWhRUREip6CjLPsnAuzH7J2r/YKhO5vQ4PbnVZOZraNLYeT7KvjrtufwInUvBeaa3lmkbnmkSFEl/NTaBEREadRkLnSsjNhwVhY8Y7VDm8KvaZCaPQVLSMpLYt1B+KtTRQvtB+RmyuNqgbRIurMCrlaaE5ERIoZBZkrKSEWZt4Lh9ZZ7asfhk7PgbtXkb6tMYYD8Wlndn62wsvuPG4Tnd2PqEWUtUJuwypBeHtooTkRESm+FGSulG1z4IdHICMJvIPg9ilQ95Yieascm2H7kWRWx8SzOiaetfsTOJGakeu86PJn9iOKsjZTrFFB+xGJiEjJoiBT1LLSYf6Yfxa4q9rSWuCuEGclZWbb2HwokVVngsu62ARSMrIdzvFwc6FhlSBaRoWe2QU6hPL+RdsTJCIiUtQUZIrSyb3WAndxf1ntdo/CDWPA7fJWqj2dmcOGAwn24LLhYEKuadD+Xu60iAqhZVQoLaNCaVxVt4lERKT0UZApKptnwo/Drb2SfEKhx/tQ+8ZLeqmk01ms2x/Pqph41sTE89ffSWTbHPckCvXzpGVUCK2iy9E6OpS6YQG4u5XOzSVFRETOUpApbFmnYe5IWDfNaldrCz0/gqAq+X6JE6kZrImJt/e4bI9Lxpy3l2JYoDetq4fSKjqU1tGh1Kjgr/EtIiJS5ijIFKbju6xbSce2Ai7Q4XG4duS/7pV0OPE0q+3B5SR7j5/KdU50eT9aRYXS8kxw0Z5EIiIiCjKFZ+NX8PMIyEoDv4rWXkk1rs/z1FMZ2ayKOcmSXSdYsvs4+/IILnXDAmgVbfW4tIoKpWKgd1F/AhERkRJHQeZyZZ6CX56AjV9Y7egOcMdHEFDJforNZth2JJklu4+zZNdx1u1PICvnn3tFbq7WjKLWZ0JLi6gQgn218JyIiMi/UZC5HEe3WbeSTuwEF1e4bhS0fwxc3TianM7S3SdYuvs4y3af4OQpx+X+I0J96FCrAu1rVaBtzXIEel/eTCYREZGyqEQEmcmTJ/PKK68QFxdHkyZNePvtt2nVqpXzCjIG1n8Kvz4J2ekQUJmM2z5gla0eS3/dyZJdJ9h5NMXhKX6ebrSpUZ5ra5enfa0K2g1aRESkEBT7IPPNN98wYsQI3nvvPVq3bs0bb7xBly5d2LlzJxUrVnRaXWb/clyy0zkY2pbx3sNZMO0UGdmr7Y+7uEDjKkG0r1WBDrUr0LRaMB6aDi0iIlKoXIw5f2Jv8dK6dWtatmzJO+9YmyzabDYiIiIYOnQoI0eO/NfnJycnExQURFJSEoGBgYVW16PTlxGwayZf5HTEYAWUykHetK9Vng61K9CuRnlCtMGiiIjIJcnv7+9i3SOTmZnJunXrGDVqlP2Yq6srnTp1YsWKFU6sDGpXC+PtPV24tmY52teqwLW1y2stFxERkSusWAeZEydOkJOTQ6VKlRyOV6pUiR07duT5nIyMDDIy/tkgMTk5uUhqu6dNJIOuiday/yIiIk5U6gZtjB8/nqCgIPtXREREkbxPgLeHQoyIiIiTFesgU758edzc3Dh69KjD8aNHjxIWFpbnc0aNGkVSUpL96+DBg1eiVBEREXGCYh1kPD09ad68OQsWLLAfs9lsLFiwgDZt2uT5HC8vLwIDAx2+REREpHQq1mNkAEaMGEH//v1p0aIFrVq14o033uDUqVMMHDjQ2aWJiIiIkxX7IHPnnXdy/PhxnnnmGeLi4rjqqquYO3durgHAIiIiUvYU+3VkLldRrSMjIiIiRSe/v7+L9RgZERERkYtRkBEREZESS0FGRERESiwFGRERESmxFGRERESkxFKQERERkRJLQUZERERKLAUZERERKbGK/cq+l+vsen/JyclOrkRERETy6+zv7X9bt7fUB5mUlBQAIiIinFyJiIiIFFRKSgpBQUEXfLzUb1Fgs9k4fPgwAQEBuLi4XPLrJCcnExERwcGDB7XVQRHTtb5ydK2vHF3rK0fX+sopymttjCElJYXw8HBcXS88EqbU98i4urpStWrVQnu9wMBA/cW4QnStrxxd6ytH1/rK0bW+corqWl+sJ+YsDfYVERGREktBRkREREosBZl88vLy4tlnn8XLy8vZpZR6utZXjq71laNrfeXoWl85xeFal/rBviIiIlJ6qUdGRERESiwFGRERESmxFGRERESkxFKQERERkRJLQSYfJk+eTFRUFN7e3rRu3ZrVq1c7u6Ribfz48bRs2ZKAgAAqVqzI7bffzs6dOx3OSU9PZ8iQIZQrVw5/f3969uzJ0aNHHc45cOAAt9xyC76+vlSsWJEnnniC7Oxsh3MWL15Ms2bN8PLyombNmkybNq2oP16x9vLLL+Pi4sLw4cPtx3StC9ehQ4f473//S7ly5fDx8aFRo0asXbvW/rgxhmeeeYbKlSvj4+NDp06d2L17t8NrxMfH069fPwIDAwkODmbQoEGkpqY6nPPXX3/Rvn17vL29iYiIYOLEiVfk8xUXOTk5jBkzhujoaHx8fKhRowYvvPCCw747utaXZsmSJXTr1o3w8HBcXFyYPXu2w+NX8rrOmDGDunXr4u3tTaNGjfjll18K/oGMXNTXX39tPD09zSeffGK2bt1q7r//fhMcHGyOHj3q7NKKrS5dupipU6eaLVu2mI0bN5qbb77ZVKtWzaSmptrPeeihh0xERIRZsGCBWbt2rbn66qtN27Zt7Y9nZ2ebhg0bmk6dOpkNGzaYX375xZQvX96MGjXKfs6+ffuMr6+vGTFihNm2bZt5++23jZubm5k7d+4V/bzFxerVq01UVJRp3LixefTRR+3Hda0LT3x8vImMjDQDBgwwq1atMvv27TPz5s0ze/bssZ/z8ssvm6CgIDN79myzadMm0717dxMdHW1Onz5tP+emm24yTZo0MStXrjRLly41NWvWNHfddZf98aSkJFOpUiXTr18/s2XLFvPVV18ZHx8f8/7771/Rz+tM48aNM+XKlTM//fSTiYmJMTNmzDD+/v7mzTfftJ+ja31pfvnlF/P000+b77//3gBm1qxZDo9fqeu6fPly4+bmZiZOnGi2bdtmRo8ebTw8PMzmzZsL9HkUZP5Fq1atzJAhQ+ztnJwcEx4ebsaPH+/EqkqWY8eOGcD88ccfxhhjEhMTjYeHh5kxY4b9nO3btxvArFixwhhj/UVzdXU1cXFx9nOmTJliAgMDTUZGhjHGmCeffNI0aNDA4b3uvPNO06VLl6L+SMVOSkqKqVWrlpk/f7659tpr7UFG17pwPfXUU+aaa6654OM2m82EhYWZV155xX4sMTHReHl5ma+++soYY8y2bdsMYNasWWM/59dffzUuLi7m0KFDxhhj3n33XRMSEmK//mffu06dOoX9kYqtW265xdx7770Ox+644w7Tr18/Y4yudWE5P8hcyevap08fc8sttzjU07p1a/Pggw8W6DPo1tJFZGZmsm7dOjp16mQ/5urqSqdOnVixYoUTKytZkpKSAAgNDQVg3bp1ZGVlOVzXunXrUq1aNft1XbFiBY0aNaJSpUr2c7p06UJycjJbt261n3Pua5w9pyz+2QwZMoRbbrkl1/XQtS5cc+bMoUWLFvTu3ZuKFSvStGlTPvzwQ/vjMTExxMXFOVyroKAgWrdu7XC9g4ODadGihf2cTp064erqyqpVq+zndOjQAU9PT/s5Xbp0YefOnSQkJBT1xywW2rZty4IFC9i1axcAmzZtYtmyZXTt2hXQtS4qV/K6FtbPFQWZizhx4gQ5OTkOP+ABKlWqRFxcnJOqKllsNhvDhw+nXbt2NGzYEIC4uDg8PT0JDg52OPfc6xoXF5fndT/72MXOSU5O5vTp00XxcYqlr7/+mvXr1zN+/Phcj+laF659+/YxZcoUatWqxbx58xg8eDDDhg1j+vTpwD/X62I/M+Li4qhYsaLD4+7u7oSGhhboz6S0GzlyJH379qVu3bp4eHjQtGlThg8fTr9+/QBd66JyJa/rhc4p6HUv9btfi3MNGTKELVu2sGzZMmeXUiodPHiQRx99lPnz5+Pt7e3scko9m81GixYteOmllwBo2rQpW7Zs4b333qN///5Orq50+fbbb/niiy/48ssvadCgARs3bmT48OGEh4frWosD9chcRPny5XFzc8s1w+Po0aOEhYU5qaqS45FHHuGnn35i0aJFVK1a1X48LCyMzMxMEhMTHc4/97qGhYXled3PPnaxcwIDA/Hx8Snsj1MsrVu3jmPHjtGsWTPc3d1xd3fnjz/+4K233sLd3Z1KlSrpWheiypUrU79+fYdj9erV48CBA8A/1+tiPzPCwsI4duyYw+PZ2dnEx8cX6M+ktHviiSfsvTKNGjXi7rvv5n//+5+951HXumhcyet6oXMKet0VZC7C09OT5s2bs2DBAvsxm83GggULaNOmjRMrK96MMTzyyCPMmjWLhQsXEh0d7fB48+bN8fDwcLiuO3fu5MCBA/br2qZNGzZv3uzwl2X+/PkEBgbaf5G0adPG4TXOnlOW/mw6duzI5s2b2bhxo/2rRYsW9OvXz/7/utaFp127drmWEti1axeRkZEAREdHExYW5nCtkpOTWbVqlcP1TkxMZN26dfZzFi5ciM1mo3Xr1vZzlixZQlZWlv2c+fPnU6dOHUJCQors8xUnaWlpuLo6/opyc3PDZrMButZF5Upe10L7uVKgocFl0Ndff228vLzMtGnTzLZt28wDDzxggoODHWZ4iKPBgweboKAgs3jxYnPkyBH7V1pamv2chx56yFSrVs0sXLjQrF271rRp08a0adPG/vjZKcE33nij2bhxo5k7d66pUKFCnlOCn3jiCbN9+3YzefLkMjkl+HznzloyRte6MK1evdq4u7ubcePGmd27d5svvvjC+Pr6ms8//9x+zssvv2yCg4PNDz/8YP766y9z22235Tl1tWnTpmbVqlVm2bJlplatWg5TVxMTE02lSpXM3XffbbZs2WK+/vpr4+vrW6qnBJ+vf//+pkqVKvbp199//70pX768efLJJ+3n6FpfmpSUFLNhwwazYcMGA5hJkyaZDRs2mP379xtjrtx1Xb58uXF3dzevvvqq2b59u3n22Wc1/bqovP3226ZatWrG09PTtGrVyqxcudLZJRVrQJ5fU6dOtZ9z+vRp8/DDD5uQkBDj6+trevToYY4cOeLwOrGxsaZr167Gx8fHlC9f3jz22GMmKyvL4ZxFixaZq666ynh6eprq1as7vEdZdX6Q0bUuXD/++KNp2LCh8fLyMnXr1jUffPCBw+M2m82MGTPGVKpUyXh5eZmOHTuanTt3Opxz8uRJc9dddxl/f38TGBhoBg4caFJSUhzO2bRpk7nmmmuMl5eXqVKlinn55ZeL/LMVJ8nJyebRRx811apVM97e3qZ69erm6aefdpjOq2t9aRYtWpTnz+j+/fsbY67sdf32229N7dq1jaenp2nQoIH5+eefC/x5XIw5Z5lEERERkRJEY2RERESkxFKQERERkRJLQUZERERKLAUZERERKbEUZERERKTEUpARERGREktBRkREREosBRkRKZFcXFyYPXt2kb7Hc889x1VXXVWk7yEil0dBRkTydPz4cQYPHky1atXw8vIiLCyMLl26sHz5cmeXVmhmzZrF1VdfTVBQEAEBATRo0IDhw4fbH3/88cdz7QUjIsWLu7MLEJHiqWfPnmRmZjJ9+nSqV6/O0aNHWbBgASdPnnR2aYViwYIF3HnnnYwbN47u3bvj4uLCtm3bmD9/vv0cf39//P39nViliPyrAm9qICKlXkJCggHM4sWLL3rea6+9Zho2bGh8fX1N1apVzeDBgx32W5k6daoJCgoyP/74o6ldu7bx8fExPXv2NKdOnTLTpk0zkZGRJjg42AwdOtRkZ2fbnxcZGWmef/5507dvX+Pr62vCw8PNO++84/DegJk1a5a9feDAAdO7d28TFBRkQkJCTPfu3U1MTMwFa3/00UfNddddd9HP9+yzz5omTZo4vOf5X5GRkfbHN2/ebG666Sbj5+dnKlasaP773/+a48ePX/Q9ROTy6NaSiORytidi9uzZZGRkXPA8V1dX3nrrLbZu3cr06dNZuHAhTz75pMM5aWlpvPXWW3z99dfMnTuXxYsX06NHD3755Rd++eUXPvvsM95//31mzpzp8LxXXnmFJk2asGHDBkaOHMmjjz7q0FtyrqysLLp06UJAQABLly5l+fLl+Pv7c9NNN5GZmZnnc8LCwti6dStbtmzJ93U5cuSI/WvPnj3UrFmTDh06AJCYmMgNN9xA06ZNWbt2LXPnzuXo0aP06dMn368vIpfA2UlKRIqnmTNnmpCQEOPt7W3atm1rRo0aZTZt2nTR58yYMcOUK1fO3p46daoBzJ49e+zHHnzwQePr6+vQc9OlSxfz4IMP2tuRkZHmpptucnjtO++803Tt2tXe5pwemc8++8zUqVPH2Gw2++MZGRnGx8fHzJs3L89aU1NTzc0332zvVbnzzjvNxx9/bNLT0+3nnN8jc5bNZjM9evQwzZs3N2lpacYYY1544QVz4403Opx38OBBA+TaOVhECo96ZEQkTz179uTw4cPMmTOHm266icWLF9OsWTOmTZtmP+f333+nY8eOVKlShYCAAO6++25OnjxJWlqa/RxfX19q1Khhb1eqVImoqCiHsSeVKlXi2LFjDu/fpk2bXO3t27fnWeumTZvYs2cPAQEB9t6k0NBQ0tPT2bt3b57P8fPz4+eff2bPnj2MHj0af39/HnvsMVq1auVQf17+7//+jxUrVvDDDz/g4+Njr2HRokX29/f396du3boAF6xBRC6fBvuKyAV5e3vTuXNnOnfuzJgxY7jvvvt49tlnGTBgALGxsdx6660MHjyYcePGERoayrJlyxg0aBCZmZn4+voC4OHh4fCaLi4ueR6z2WyXXGdqairNmzfniy++yPVYhQoVLvrcGjVqUKNGDe677z6efvppateuzTfffMPAgQPzPP/zzz/n9ddfZ/HixVSpUsWhhm7dujFhwoRcz6lcuXIBP5GI5JeCjIjkW/369e1rt6xbtw6bzcZrr72Gq6vVufvtt98W2nutXLkyV7tevXp5ntusWTO++eYbKlasSGBg4CW/Z1RUFL6+vpw6dSrPx1esWMF9993H+++/z9VXX52rhu+++46oqCjc3fWjVeRK0a0lEcnl5MmT3HDDDXz++ef89ddfxMTEMGPGDCZOnMhtt90GQM2aNcnKyuLtt99m3759fPbZZ7z33nuFVsPy5cuZOHEiu3btYvLkycyYMYNHH300z3P79etH+fLlue2221i6dCkxMTEsXryYYcOG8ffff+f5nOeee44nn3ySxYsXExMTw4YNG7j33nvJysqic+fOuc6Pi4ujR48e9O3bly5duhAXF0dcXBzHjx8HYMiQIcTHx3PXXXexZs0a9u7dy7x58xg4cCA5OTmFdl1ExJGCjIjk4u/vT+vWrXn99dfp0KEDDRs2ZMyYMdx///288847ADRp0oRJkyYxYcIEGjZsyBdffMH48eMLrYbHHnuMtWvX0rRpU1588UUmTZpEly5d8jzX19eXJUuWUK1aNe644w7q1avHoEGDSE9Pv2APzbXXXsu+ffu45557qFu3Ll27diUuLo7ffvuNOnXq5Dp/x44dHD16lOnTp1O5cmX7V8uWLQEIDw9n+fLl5OTkcOONN9KoUSOGDx9OcHCwvcdKRAqfizHGOLsIEZFzRUVFMXz4cIdVdkVE8qJ/JoiIiEiJpSAjIiIiJZZuLYmIiEiJpR4ZERERKbEUZERERKTEUpARERGREktBRkREREosBRkREREpsRRkREREpMRSkBEREZESS0FGRERESiwFGRERESmx/h+8Zf1cHwtAWAAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "t = dgm80_timing_ps05.plot(x='Observations')\n", - "t.set_xlabel(\"Sample Size\")\n", - "t.set_ylabel(\"Time in Seconds\")\n", - "t.set_title(\"Simulated Data - Pixel Size .5\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Pixel Size .1" - ] - }, - { - "cell_type": "code", - "execution_count": 38, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Finished Training 0\n", - "Finished Training 1\n", - "Finished Training 2\n", - "Finished Training 3\n", - "Finished Training 4\n", - "Finished Training 5\n", - "Finished Training 6\n", - "Finished Training 7\n", - "Finished Training 8\n", - "Finished Training 9\n", - "Finished Training 10\n", - "Finished Training 11\n", - "Finished Training 12\n", - "Finished Training 13\n", - "Finished Training 14\n", - "Finished Training 15\n", - " Observations Parallel (8 cores) Single Core\n", - "0 100.0 0.268899 0.825462\n", - "1 500.0 1.259076 4.103993\n", - "2 1000.0 2.451879 8.209980\n", - "3 1500.0 3.741424 12.389942\n", - "4 2000.0 5.068540 16.184594\n", - "5 2500.0 6.005629 20.150708\n", - "6 3000.0 7.191212 24.263909\n", - "7 3500.0 8.424280 28.318800\n", - "8 4000.0 9.436871 32.101799\n", - "9 4500.0 10.535903 35.989211\n", - "10 5000.0 11.595325 39.910946\n", - "11 6000.0 14.132783 48.548521\n", - "12 7000.0 16.582699 56.317789\n", - "13 8000.0 18.976219 64.549252\n", - "14 9000.0 20.771545 72.892557\n", - "15 10000.0 22.752433 81.168097\n" - ] - } - ], - "source": [ - "import time\n", - "seed = [0,1,2,3,4]\n", - "train_size = [100, 500,1000,1500, 2000, 2500, 3000, 3500, 4000, 4500, 5000, 6000, 7000, 8000, 9000,10000]\n", - "n = len(train_size)\n", - "dgm80_timing = np.zeros((n,3))\n", - "for i in range(0,n):\n", - " for j in seed:\n", - " dgms_train = dgms_80[0:train_size[i]]\n", - " xdgm0_train = np.array(dgms_train)\n", - " dgm80_timing[i,0] += len(xdgm0_train)\n", - "\n", - " start = time.time()\n", - " output = F_Image(xdgm0_train, PS=.1, var=1, plot=False, training=True, parallel=True)\n", - " end = time.time()-start\n", - " dgm80_timing[i,1] +=end\n", - "\n", - " start = time.time()\n", - " output = F_Image(xdgm0_train, PS=.1, var=1, plot=False, training=True)\n", - " end = time.time()-start\n", - " dgm80_timing[i,2] +=end\n", - "\n", - " print(\"Finished Training \", i)\n", - "dgm80_timing_ps01 = pd.DataFrame(dgm80_timing/5)\n", - "dgm80_timing_ps01.columns=['Observations', 'Parallel (8 cores)', 'Single Core']\n", - "print(dgm80_timing_ps01)" - ] - }, - { - "cell_type": "code", - "execution_count": 41, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Text(0.5, 1.0, 'Simulated Data - Pixel Size .1')" - ] - }, - "execution_count": 41, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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3QHHjx8vtdcICAgAKDD75/Dhw//53J9++ons7Gzmz59v1yK0bNmyAnUvlDDVrVuX9PT0//zyjYiIYOnSpaSnp9u1yuzZs+c/4yyK2bNnc/r0absvvtmzZ9O/f3/eeust27GsrKwC9+pC72358uWcOnWKOXPm0KlTJ9vxszOILqZly5YsXrzY7lhISEhR3solGTFiBGlpaUyYMIGxY8fyzjvvMGbMGADq1KkDgKur6yUlScVR1M/8qFGj2LJlCytXrrQNHD/rSsYrUlQaIyMV2rJly+xaSc46O/W1JLtPzhcREYGzs7NtLMpZU6ZM+c/nnm3tOb/LZdq0aQXqent7FzpV+q677mLt2rUsWrSowLnk5GTy8vIAuPXWW8nLy7Ob2p2fn18iq8Bu3bqV0aNHExAQYJtpBdb3d/6/y3vvvVegtcrb29sW77kKuz85OTlFurcBAQFERUXZPTw8PIr1vopq9uzZfP/997z22ms89dRT9O3bl2effda2TkpQUBA33HADH330UaEJxqWsinw5n/lp06bx0Ucf8cEHH9C+ffsC50si3gMHDthmfImUBLXISIU2cuRIMjMzufPOO2nUqBE5OTn88ccffP/999SqVYuBAweW2mubzWb69OnDe++9h8lkom7duvz8888FFiUrzM0334ybmxvdu3dn2LBhpKen88knnxAUFFTgC6RNmzZMnTqVV155hXr16hEUFETnzp15/PHHmT9/PrfddhsDBgygTZs2ZGRksG3bNmbPns2hQ4eoWrUq3bt3p2PHjjz11FMcOnSIJk2aMGfOnCKPVTlr1apVZGVlkZ+fz6lTp1izZg3z58/HbDYzd+5cu1aP2267jS+//BKz2UyTJk1Yu3YtS5YsKTCV+aqrrsLZ2ZnXX3+dlJQU3N3d6dy5M9dccw0BAQH079+fUaNGYTKZ+PLLLwv9AneUhIQEhg8fzo033shDDz0EwPvvv8+yZcsYMGAAq1evxsnJiQ8++IBrr72W5s2bc//991OnTh3i4+NZu3Yt//zzD1u3bi3W617qZ/7kyZM8+OCDNGnSBHd3d7766iu783feeSfe3t6XHe/ZMULnrktz+PBh29Tvs91wr7zyCmD9heDsYGORQjlotpTIFfHrr78agwYNMho1amT4+PgYbm5uRr169YyRI0ca8fHxdnUvNP367PTas85Osz1x4oTd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oUGDBtxzzz3k5eUBsGbNGh544AEefvhhtmzZQpcuXRg/fvxFr/f111/z3HPPMX78eHbt2sWrr77KuHHjmDFjRqH1ExMTWbhwISNGjMDb27vA+bNJk8VioUePHiQmJrJixQoWL17MwYMHufvuu+3q79+/nx9++IE5c+awZcsWAPr06UNCQgK//vorGzdupHXr1tx0000kJiYW616JiJQrJ/fDp1Gw+UvABDeMhf/NAZ8gR0dW6tS1dK7cTHg11DGv/fQxcCv45X4+FxcXpk+fzv3338+HH35I69atuf766+nbty8tWrS46HMfe+wxunXrBsCLL75I06ZN2b9/P40aNeK9996ja9euPPbYYwA0aNCAP/74g59//vmC13v++ed566236NmzJwC1a9dm586dfPTRR/Tv379A/f3792MYBo0aNbponEuXLmXbtm3ExMQQFhYGwBdffEHTpk1Zv3497dq1A6zdSV988QXVqlUDYPXq1axbt46EhATc3d0BePPNN5k3bx6zZ89m6NChF31dEZFyadts+OlhyEkH72rQ61Nra0wloRaZcqhXr14cO3aM+fPnc8stt7B8+XJat27N9OnTL/q8cxOd6tWrA5CQkADAnj17aN++vV3988vnysjI4MCBAwwePNjWSuTj48Mrr7zCgQMHCn1OUfcn3bVrF2FhYbYkBqBJkyb4+/uza9cu27GIiAhbEgOwdetW0tPTqVKlil1MMTExF4xJRKTcys2yjoX5YbA1ial1HTywulIlMaAWGXuuXtaWEUe9djF4eHjQpUsXunTpwrhx4xgyZAjPP/88AwYMuPBLuLra/m46s5+GxWK5pHDT09MB67iaDh062J1zdnYu9Dn169fHZDJd8oDe853fPZWenk716tVZvnx5gbr/NdZHRKRcOXUAZg2AuL8BE3R6DK5/Cpwr39d65XvHF2MyFal7pyxq0qTJZa0b07BhQ9avX2937PzyuYKDgwkNDeXgwYP069evSK8RGBhIdHQ0H3zwAaNGjSqQiCQnJ+Pv70/jxo05cuQIR44csbXK7Ny5k+TkZJo0aXLB67du3Zq4uDhcXFyoVatWkWISESl3dv5oHdSbnQpeVaDnx9Y1YiopJTLlzKlTp+jTpw+DBg2iRYsW+Pr6smHDBiZOnEiPHj0u+bojR46kU6dOTJo0ie7du/P777/z66+/2lpu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x44xf/58brnlFpYvX07r1q2ZPn26rc6SJUu46aabqFGjBr6+vtx7772cOnWKzMxMWx0vLy/q1q1rKwcHB1OrVi27sSfBwcEkJCTYvX5kZGSB8q5duwqNdevWrezfvx9fX19ba1JgYCBZWVkcOHCg0Od4e3vzyy+/sH//fp599ll8fHx49NFHad++vV38hXn66adZu3YtP/74I56enrYYli1bZnt9Hx8fGjVqBHDBGETk8mmwr4hckIeHB126dKFLly6MGzeOIUOG8PzzzzNgwAAOHTrEbbfdxvDhwxk/fjyBgYGsXr2awYMHk5OTg5eXFwCurq521zSZTIUes1gslxxneno6bdq04euvvy5wrlq1ahd9bt26dalbty5DhgzhmWeeoUGDBnz//fcMHDiw0PpfffUVb7/9NsuXL6dGjRp2MXTv3p3XX3+9wHOqV69ezHckIkWlREZEiqxJkya2tVs2btyIxWLhrbfewsnJ2rg7c+bMEnutP//8s0C5cePGhdZt3bo133//PUFBQfj5+V3ya9aqVQsvLy8yMjIKPb927VqGDBnCRx99xNVXX10ghh9++IFatWrh4qIfrSJXirqWRKSAU6dO0blzZ7766iv+/vtvYmJimDVrFhMnTqRHjx4A1KtXj9zcXN577z0OHjzIl19+yYcfflhiMaxZs4aJEyeyd+9ePvjgA2bNmsXDDz9caN1+/fpRtWpVevTowapVq4iJiWH58uWMGjWKf/75p9DnvPDCCzzxxBMsX76cmJgYNm/ezKBBg8jNzaVLly4F6sfFxXHnnXfSt29foqOjiYuLIy4ujhMnTgAwYsQIEhMTueeee1i/fj0HDhxg0aJFDBw4kPz8/BK7LyJiT4mMiBTg4+NDhw4dePvtt+nUqRPNmjVj3Lhx3H///bz//vsAtGzZkkmTJvH666/TrFkzvv76ayZMmFBiMTz66KNs2LCBVq1a8corrzBp0iSio6MLrevl5cXKlSsJDw+nZ8+eNG7cmMGDB5OVlXXBFprrr7+egwcPct9999GoUSO6du1KXFwcv/32Gw0bNixQf/fu3cTHxzNjxgyqV69ue7Rr1w6A0NBQ1qxZQ35+PjfffDPNmzdn9OjR+Pv721qsRKTkmQzDMBwdhIjIuWrVqsXo0aPtVtkVESmMfk0QERGRckuJjIiIiJRb6loSERGRckstMiIiIlJuKZERERGRckuJjIiIiJRbSmRERESk3FIiIyIiIuWWEhkREREpt5TIiIiISLmlREZERETKLSUyIiIiUm79P4GcpXo6DJoxAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "t = dgm80_timing_ps01.plot(x='Observations')\n", - "t.set_xlabel(\"Sample Size\")\n", - "t.set_ylabel(\"Time in Seconds\")\n", - "t.set_title(\"Simulated Data - Pixel Size .1\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Code for potential vectorized functions" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [], - "source": [ - "def reshape_persistence_diagrams(dgm):\n", - " dgm_reshape = np.array([])\n", - " num_dgms = len(dgm)\n", - " for i in range(0,num_dgms):\n", - " t = np.repeat(i, len(dgm[i]))\n", - " t = t.reshape(len(dgm[i]),1)\n", - " t1 = np.concatenate((t,dgm[i]),1)\n", - " if i == 0:\n", - " dgm_reshape = t1\n", - " else:\n", - " dgm_reshape = np.append(dgm_reshape, t1, 0)\n", - " dummy = np.zeros((num_dgms))\n", - " return dgm_reshape, num_dgms, dummy" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": {}, - "outputs": [], - "source": [ - "from numba import jit\n", - "@jit(nopython=True, parallel=True)\n", - "def pers_reshape_par(dgms):\n", - " n = dgms[1].shape[0]\n", - " m = dgms[1].shape[1]\n", - " r = len(dgms)\n", - " result = np.zeros((r, n*m))\n", - " for i in range(0,r):\n", - " for j in range(0,n):\n", - " for k in range(0,m):\n", - " result[i, k+m*j] = dgms[i][j][k]\n", - " return result " - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": {}, - "outputs": [], - "source": [ - "from numba import jit\n", - "@jit(nopython=True)\n", - "def pers_reshape(dgms):\n", - " n = dgms[1].shape[0]\n", - " m = dgms[1].shape[1]\n", - " r = len(dgms)\n", - " result = np.zeros((r, n*m))\n", - " for i in range(0,r):\n", - " for j in range(0,n):\n", - " for k in range(0,m):\n", - " result[i, k+m*j] = dgms[i][j][k]\n", - " return result " - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [], - "source": [ - "from numba import vectorize\n", - "@vectorize\n", - "def pers_reshape_vec(dgms):\n", - " n = dgms[1].shape[0]\n", - " m = dgms[1].shape[1]\n", - " r = len(dgms)\n", - " result = np.zeros((r, n*m))\n", - " for i in range(0,r):\n", - " for j in range(0,n):\n", - " for k in range(0,m):\n", - " result[i, k+m*j] = dgms[i][j][k] " - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [], - "source": [ - "\n", - "def pers_reshape(dgms):\n", - " n = dgms[1].shape[0]\n", - " m = dgms[1].shape[1]\n", - " r = len(dgms)\n", - " return np.reshape(dgms, (r, n+m))" - ] - }, - { - "cell_type": "code", - "execution_count": 1422, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Seed is: 0\n", - "Done with sampling\n", - "Done with parallel\n", - "Done with serial\n", - "Done with original\n", - "Seed is: 1\n", - "Done with sampling\n", - "Done with parallel\n", - "Done with serial\n", - "Done with original\n", - "Seed is: 2\n", - "Done with sampling\n", - "Done with parallel\n", - "Done with serial\n", - "Done with original\n", - "Seed is: 3\n", - "Done with sampling\n", - "Done with parallel\n", - "Done with serial\n", - "Done with original\n", - "Seed is: 4\n", - "Done with sampling\n", - "Done with parallel\n", - "Done with serial\n", - "Done with original\n", - "Finished Training 0\n", - "Seed is: 0\n", - "Done with sampling\n", - "Done with parallel\n", - "Done with serial\n", - "Done with original\n", - "Seed is: 1\n", - "Done with sampling\n", - "Done with parallel\n", - "Done with serial\n", - "Done with original\n", - "Seed is: 2\n", - "Done with sampling\n", - "Done with parallel\n", - "Done with serial\n", - "Done with original\n", - "Seed is: 3\n", - "Done with sampling\n", - "Done with parallel\n", - "Done with serial\n", - "Done with original\n", - "Seed is: 4\n", - "Done with sampling\n", - "Done with parallel\n", - "Done with serial\n", - "Done with original\n", - "Finished Training 1\n", - "Seed is: 0\n", - "Done with sampling\n", - "Done with parallel\n", - "Done with serial\n", - "Done with original\n", - "Seed is: 1\n", - "Done with sampling\n", - "Done with parallel\n", - "Done with serial\n", - "Done with original\n", - "Seed is: 2\n", - "Done with sampling\n", - "Done with parallel\n", - "Done with serial\n", - "Done with original\n", - "Seed is: 3\n", - "Done with sampling\n", - "Done with parallel\n", - "Done with serial\n", - "Done with original\n", - "Seed is: 4\n", - "Done with sampling\n", - "Done with parallel\n", - "Done with serial\n", - "Done with original\n", - "Finished Training 2\n", - "Seed is: 0\n", - "Done with sampling\n", - "Done with parallel\n", - "Done with serial\n", - "Done with original\n", - "Seed is: 1\n", - "Done with sampling\n", - "Done with parallel\n", - "Done with serial\n", - "Done with original\n", - "Seed is: 2\n", - "Done with sampling\n", - "Done with parallel\n", - "Done with serial\n", - "Done with original\n", - "Seed is: 3\n", - "Done with sampling\n", - "Done with parallel\n", - "Done with serial\n", - "Done with original\n", - "Seed is: 4\n", - "Done with sampling\n", - "Done with parallel\n", - "Done with serial\n", - "Done with original\n", - "Finished Training 3\n", - "Seed is: 0\n", - "Done with sampling\n", - "Done with parallel\n", - "Done with serial\n", - "Done with original\n", - "Seed is: 1\n", - "Done with sampling\n", - "Done with parallel\n", - "Done with serial\n", - "Done with original\n", - "Seed is: 2\n", - "Done with sampling\n", - "Done with parallel\n", - "Done with serial\n", - "Done with original\n", - "Seed is: 3\n", - "Done with sampling\n", - "Done with parallel\n", - "Done with serial\n", - "Done with original\n", - "Seed is: 4\n", - "Done with sampling\n", - "Done with parallel\n", - "Done with serial\n", - "Done with original\n", - "Finished Training 4\n", - " Observations Parallel (8 cores) Single Core Prior Function\n", - "0 25.0 0.042236 0.016993 0.014831\n", - "1 100.0 0.198980 0.071190 0.071686\n", - "2 200.0 0.374458 0.154962 0.129489\n", - "3 300.0 0.510706 0.222916 0.207862\n", - "4 500.0 0.808129 0.407326 0.322294\n" - ] - } - ], - "source": [ - "import time\n", - "import multiprocessing\n", - "cpu_count = multiprocessing.cpu_count()\n", - "pers_imager = PersistenceImager()\n", - "pers_imager.pixel_size = .1\n", - "pers_imager.kernel_params = {'sigma': 1}\n", - "seed = [0,1,2,3,4]\n", - "train_size = [25, 100, 200, 300, 500]\n", - "n = len(train_size)\n", - "timing = np.zeros((n,4))\n", - "for i in range(0,n):\n", - " for j in seed:\n", - " print(\"Seed is: \", j)\n", - " dgms_train, dgms_test = train_test_split_sklearn(mnist, 'labels', train_size = train_size[i], seed=j)\n", - " xdgm0_train = np.array(dgms_train['zero_dim_rtl'])\n", - " timing[i,0] += len(xdgm0_train)\n", - " print(\"Done with sampling\")\n", - "\n", - " start = time.time()\n", - " output = F_Image_parallel(xdgm0_train, PS=.1, var=1, plot=False, training=True)\n", - " end = time.time()-start\n", - " timing[i,1] +=end\n", - " print(\"Done with parallel\")\n", - "\n", - " start = time.time()\n", - " pers_imager.fit(xdgm0_train)\n", - " X_train_features = np.array(pers_imager.transform(xdgm0_train))\n", - " X_train_features = pers_reshape(X_train_features)\n", - " end = time.time()-start\n", - " timing[i,2] +=end\n", - " print(\"Done with serial\")\n", - "\n", - " start = time.time()\n", - " output = F_Image(xdgm0_train, PS=.1, var=1, plot=False, training=True)\n", - " end = time.time()-start\n", - " timing[i,3] +=end\n", - " print(\"Done with original\")\n", - "\n", - " print(\"Finished Training \", i)\n", - "timing = pd.DataFrame(timing/5)\n", - "timing.columns=['Observations', 'Parallel (8 cores)', 'Single Core', 'Prior Function']\n", - "print(timing)" - ] - }, - { - "cell_type": "code", - "execution_count": 1423, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Text(0, 0.5, 'Time in Seconds')" - ] - }, - "execution_count": 1423, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAGwCAYAAABVdURTAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAACHkklEQVR4nOzdd1iVdRvA8e9h7yUyRGS4UYaCkFpWiuLItMzMTM20aVrR0jLNlrnKSsveMjXLsqzMClHDHJkJ4sIBiqI4mCJb1jnP+8fRgycXKHAY9+e6uN73/J5x7vOEcPNbt0pRFAUhhBBCiEbCyNABCCGEEELUJEluhBBCCNGoSHIjhBBCiEZFkhshhBBCNCqS3AghhBCiUZHkRgghhBCNiiQ3QgghhGhUTAwdQF3TaDScPXsWW1tbVCqVocMRQgghRBUoikJBQQEtWrTAyOj6fTNNLrk5e/Ysnp6ehg5DCCGEEDfh1KlTtGzZ8rrnNLnkxtbWFtA+HDs7OwNHI4QQQoiqyM/Px9PTU/d7/HqaXHJzaSjKzs5OkhshhBCiganKlBKZUCyEEEKIRkWSGyGEEEI0KpLcCCGEEKJRaXJzbqpKrVZTXl5u6DCEwNTUFGNjY0OHIYQQDYYkN/+hKArp6enk5uYaOhQhdBwcHHBzc5O9mYQQogokufmPS4mNi4sLVlZW8stEGJSiKBQXF5OZmQmAu7u7gSMSQoj6T5Kby6jVal1i06xZM0OHIwQAlpaWAGRmZuLi4iJDVEIIcQMyofgyl+bYWFlZGTgSIfRd+p6UeWBCCHFjktxchQxFifpGvieFEKLqJLkRQgghRKMiyY0QQgghGhVJbsQtU6lUrFmzBoATJ06gUqnYu3dvla+/6667eP755294Xq9evVi5cuXNBVmPLV68mMGDBxs6DCGEaDQkuWkkHn30UVQqFSqVCjMzM9q0acNbb71FRUWFoUOrEWvXriUjI4OHHnpI15aens7o0aNxc3PD2tqarl278tNPPxkwypvz2GOPsXv3brZt22boUIQQ4pYlnM4jPa/EoDFIctOI9O/fn7S0NI4ePcqLL77Im2++ydy5c2/qXmq1Go1GU8MR3ryPP/6YcePGYWRU+S07ZswYkpKSWLt2LQkJCdx///08+OCD7Nmzp87iKisru+V7mJmZ8fDDD/Pxxx/XQERCCGEYpRVq5q1PYuin23ntlwQURTFYLAZPbhYtWoS3tzcWFhaEhYURGxt73fMXLFhA+/btsbS0xNPTkxdeeIGSktrLEBVFobiswiBf1f3GMDc3x83NDS8vL55++mnCw8NZu3YtAB988AH+/v5YW1vj6enJM888Q2Fhoe7aZcuW4eDgwNq1a/Hz88Pc3JzU1FTi4uLo27cvzs7O2Nvbc+edd7J79+5qxXXgwAEGDBiAjY0Nrq6ujB49muzs7Cpfn5WVxaZNm64Yuvnnn3+YNGkSoaGh+Pr6Mm3aNBwcHIiPj7/mvTQaDXPmzKFNmzaYm5vTqlUr3n33Xd3xhIQEevfujaWlJc2aNeOJJ57Qe06PPvooQ4cO5d1336VFixa0b98egFOnTvHggw/i4OCAk5MTQ4YM4cSJE7rrNm/eTGhoKNbW1jg4ONCzZ09OnjypOz548GDWrl3LhQsXqvxchBCivth/OpfBn/zNwr+SUWsULM2MKa0w3B/IBt3Eb9WqVURGRrJ48WLCwsJYsGABERERJCUl4eLicsX5K1euZMqUKXz11Vf06NGDI0eO6IZjPvjgg1qJ8UK5Gr/p62vl3jdy6K0IrMxu/j+RpaUl586dA8DIyIiPP/4YHx8fjh8/zjPPPMMrr7zCp59+qju/uLiY2bNn8+WXX9KsWTNcXFw4fvw4Y8eO5ZNPPkFRFObPn8/AgQM5evQotra2N4whNzeX3r17M2HCBD788EMuXLjAq6++yoMPPsimTZuq9Dn+/vtvrKys6Nixo157jx49WLVqFYMGDcLBwYEffviBkpIS7rrrrmvea+rUqXzxxRd8+OGH3H777aSlpZGYmAhAUVERERERdO/enbi4ODIzM5kwYQLPPvssy5Yt090jJiYGOzs7Nm7cCGj3nrl03bZt2zAxMeGdd96hf//+7N+/HyMjI4YOHcrjjz/Od999R1lZGbGxsXrLu0NCQqioqGDnzp3XjV8IIeqTknI1H8Uc5X9bj6PWKDSzNuPtoZ0Z6G/Y3dQNmtx88MEHPP7444wbNw7QTqz8448/+Oqrr5gyZcoV5//zzz/07NmThx9+GABvb29GjhzJzp07r/kepaWllJaW6l7n5+fX8KeofxRFISYmhvXr1zNp0iQAvQm73t7evPPOOzz11FN6yU15eTmffvopgYGBurbevXvr3ft///sfDg4ObNmyhXvuueeGsSxcuJAuXbrw3nvv6dq++uorPD09OXLkCO3atbvhPU6ePImrq6vekBTADz/8wIgRI2jWrBkmJiZYWVnxyy+/0KZNm6vep6CggI8++oiFCxcyduxYAFq3bs3tt98OaJPnkpISvv76a6ytrXXxDx48mNmzZ+Pq6gqAtbU1X375JWZmZgB88803aDQavvzyS13CsnTpUhwcHNi8eTMhISHk5eVxzz330Lp1a4ArEjUrKyvs7e31enOEEKI+25N6npdX7yc5U9u7PTiwBTPv7YSTtZmBIzNgclNWVkZ8fDxTp07VtRkZGREeHs6OHTuuek2PHj345ptviI2NJTQ0lOPHjxMVFcXo0aOv+T6zZs1i5syZNx2npakxh96KuOnrb4WlafW22f/999+xsbGhvLwcjUbDww8/zJtvvgnAn3/+yaxZs0hMTCQ/P5+KigpKSkooLi7W7X5rZmZGQECA3j0zMjKYNm0amzdvJjMzE7VaTXFxMampqVWKad++ffz111/Y2NhccezYsWNVSm4uXLiAhYXFFe1vvPEGubm5/Pnnnzg7O7NmzRoefPBBtm3bhr+//xXnHz58mNLSUvr06XPV9zl8+DCBgYG6xAagZ8+eaDQakpKSdMmNv7+/LrG59BmTk5Ov6MkqKSnh2LFj9OvXj0cffZSIiAj69u1LeHg4Dz744BV1oiwtLSkuLr7h8xBCCEMqKVfz4Z9H+GLrcTQKONuY887QzvTv7Gbo0HQMltxkZ2ejVqt1vzAucXV11Q0T/NfDDz9MdnY2t99+O4qiUFFRwVNPPcVrr712zfeZOnUqkZGRutf5+fl4enpWOU6VSnVLQ0N16e677+azzz7DzMyMFi1aYGKijfvEiRPcc889PP3007z77rs4OTnx999/M378eMrKynTJjaWl5RU74Y4dO5Zz587x0Ucf4eXlhbm5Od27d6/yRNrCwkJdz8d/VbUIpLOzM+fPn9drO3bsGAsXLuTAgQN06tQJgMDAQLZt28aiRYtYvHjxFfe5VKPpVl2e/ID2MwYHB/Ptt99ecW7z5s0BbU/O5MmTiY6OZtWqVUybNo2NGzdy22236c7NycnRnS+EEPXR7tTzvPzjPo5lFQEwNKgFMwZ3wrEe9NZcrmH81r5o8+bNvPfee3z66aeEhYWRnJzMc889x9tvv80bb7xx1WvMzc0xNzev40gNw9ra+qpDMvHx8Wg0GubPn68b2vnhhx+qdM/t27fz6aefMnDgQEA7cbY6k4EvLc/29vbWJVvV1aVLF9LT0zl//jyOjo4Auh6O/w5VGRsbX3OVV9u2bbG0tCQmJoYJEyZccbxjx44sW7aMoqIiXQKzfft2jIyMdBOHr/UZV61ahYuLC3Z2dtf9HF26dGHq1Kl0796dlStX6pKbY8eOUVJSQpcuXa7zJIQQwjBKytV8sPEIX27T9tY0tzXn3aGd6dep/vTWXM5gq6WcnZ0xNjYmIyNDrz0jIwM3t6s/rDfeeIPRo0czYcIE/P39ue+++3jvvfeYNWtWvVq2XN+0adOG8vJyPvnkE44fP86KFSuu2rNxNW3btmXFihUcPnyYnTt3MmrUqGr1gEycOJGcnBxGjhxJXFwcx44dY/369YwbNw61Wl2le3Tp0gVnZ2e2b9+ua+vQoQNt2rThySefJDY2lmPHjjF//nw2btzI0KFDr3ofCwsLXn31VV555RW+/vprjh07xr///suSJUsAGDVqFBYWFowdO5YDBw7w119/MWnSJEaPHn1FD+PlRo0ahbOzM0OGDGHbtm2kpKSwefNmJk+ezOnTp0lJSWHq1Kns2LGDkydPsmHDBo4ePao372bbtm34+vrq5uQIIUR9EX8yh4EfbeN/F4eh7u/iwcYXetXbxAYMmNyYmZkRHBxMTEyMrk2j0RATE0P37t2vek1xcfFV/1IHDLqevr4LDAzkgw8+YPbs2XTu3Jlvv/2WWbNmVenaJUuWcP78ebp27cro0aOZPHnyVVeyXUuLFi3Yvn07arWafv364e/vz/PPP4+Dg8MV/y2vxdjYmHHjxukN+5iamhIVFUXz5s0ZPHgwAQEBfP311yxfvlzXy3Q1b7zxBi+++CLTp0+nY8eOjBgxgszMTEA7qXf9+vXk5OTQrVs3HnjgAfr06cPChQuvG5+VlRVbt26lVatW3H///XTs2JHx48dTUlKCnZ0dVlZWJCYmMmzYMNq1a8cTTzzBxIkTefLJJ3X3+O6773j88cer9DyEEKIuXChT8/bvh3hg8Q6OZxfhYmvOl2NC+GBEEA5W9WsY6r9UigGzglWrVjF27Fg+//xzQkNDWbBgAT/88AOJiYm4uroyZswYPDw8dL+I33zzTT744AP+97//6Yalnn76aYKDg1m1alWV3jM/Px97e3vy8vKuGEIoKSkhJSUFHx+fq05gFYaTnp5Op06d2L17N15eXoYOp0YdPHiQ3r17c+TIEezt7a96jnxvCiHqUmxKDq+s3seJc9opAA8Et+SNQX7YW5kaLKbr/f7+L4POuRkxYgRZWVlMnz6d9PR0goKCiI6O1g0BpKam6v11P23aNFQqFdOmTePMmTO6v9ov34RNNE5ubm4sWbKE1NTURpfcpKWl8fXXX18zsRFCiLpSXFbB3PVJLPvnBIoCbnYWzLrfn7s7VL3Hvj4waM+NIUjPjWiI5HtTCFHbdh4/xys/7efkxd6aB0Na8vogP+wtDddbc7kG03MjhBBCCMMqKq1gTnQiy3doNxF1t9f21tzVvmH11lxOkhshhBCiifrnWDav/rSfUznaunYPdfPktUEdsbOoH701N0uSGyGEEKKJKSqt4P11iaz4V9tb08LegveHBdCrXePYSFSSGyGEEKIJ2Z6s7a05fV7bW/NwWCumDuiAbQPvrbmcJDdCCCFEE1BYWsF7UYdZuVNbG9DDwZLZwwK4va2zgSOreZLcCCGEEI3c30e1vTVncrW9NaNv8+LVAR2wMW+caYDBdigWdU+lUrFmzZoaveebb75JUFBQjd5TCCFEzSgoKWfqz/t5ZMlOzuRewNPJkpWPh/H20M6NNrEBSW4ajaysLJ5++mlatWqFubk5bm5uRERE6NVjSktLY8CAAQaM8trS09OZNGkSvr6+mJub4+npyeDBg/XKcwghhKi6LUeyiPhwK9/FngJgbHcvop/rRY/WjW8Y6r8ab9rWxAwbNoyysjKWL1+Or68vGRkZxMTEcO7cOd051ypIamgnTpygZ8+eODg4MHfuXPz9/SkvL2f9+vVMnDiRxMTEm7pvWVkZZmb1u/6JEELUtPySct79/TCrdmmTmlZOVsweFkD31s0MHFndkZ6bRiA3N5dt27Yxe/Zs7r77bry8vAgNDWXq1Knce++9uvMuH5Y6ceIEKpWKn3/+mbvvvhsrKysCAwPZsWOH3r2/+OILPD09sbKy4r777uODDz7AwcHhuvF8+eWXdOzYEQsLCzp06MCnn3563fOfeeYZVCoVsbGxuuKSnTp1IjIykn///Vd3XmpqKkOGDMHGxgY7OzsefPBBvaryl4bIvvzyS72dfHNzc5kwYQLNmzfHzs6O3r17s2/fvqo8WiGEaFD+Ssqk3wdbdYnNoz28iX7+jiaV2ID03NyYokB5sWHe29QKVKobnmZjY4ONjQ1r1qzhtttuw9zcvMpv8frrrzNv3jzatm3L66+/zsiRI0lOTsbExITt27fz1FNPMXv2bO69917+/PNP3njjjeve79tvv2X69OksXLiQLl26sGfPHh5//HGsra0ZO3bsFefn5OQQHR3Nu+++i7W19RXHLyVSGo1Gl9hs2bKFiooKJk6cyIgRI9i8ebPu/OTkZH766Sd+/vlnXcX44cOHY2lpybp167C3t+fzzz+nT58+HDlyBCcnpyo/KyGEqK/yLpTzzu+H+DH+NADezayY80AgoT5N82ecJDc3Ul4M77UwzHu/dhbMrvyF/18mJiYsW7aMxx9/nMWLF9O1a1fuvPNOHnroIQICAq577UsvvcSgQYMAmDlzJp06dSI5OZkOHTrwySefMGDAAF566SUA2rVrxz///MPvv/9+zfvNmDGD+fPnc//99wPg4+PDoUOH+Pzzz6+a3CQnJ6MoCh06dLhunDExMSQkJJCSkoKnpycAX3/9NZ06dSIuLo5u3boB2qGor7/+mubNtRtR/f3338TGxpKZmalL+ubNm8eaNWtYvXo1TzzxxHXfVwgh6rtNiRlM/TmBjPxSVCp4rKcPL/Vrj6WZsaFDMxgZlmokhg0bxtmzZ1m7di39+/dn8+bNdO3alWXLll33usuTH3d3dwAyMzMBSEpKIjQ0VO/8/76+XFFREceOHWP8+PG63iQbGxveeecdjh07dtVrqlq39fDhw3h6euoSGwA/Pz8cHBw4fPiwrs3Ly0uX2ADs27ePwsJCmjVrphdTSkrKNWMSQoiGIK+4nMgf9vLYsl1k5Jfi42zNj0925417/Jp0YgPSc3NjplbaHhRDvXc1WFhY0LdvX/r27csbb7zBhAkTmDFjBo8++ui138K0ckdK1cUhMI1Gc1PhFhYWAtp5OmFhYXrHLg0R/Vfbtm1RqVQ3PWn4v/47tFVYWIi7u7ve0NUlN5o7JIQQ9dXGQxm8/ksCmQXa3poJt/vwYr/2WJg27aTmEklubkSlqtLQUH3k5+d3S/vatG/fnri4OL22/76+nKurKy1atOD48eOMGjWqSu/h5OREREQEixYtYvLkyVckJ7m5uTg4ONCxY0dOnTrFqVOndL03hw4dIjc3Fz8/v2vev2vXrqSnp2NiYoK3t3eVYhJCiPrqfFEZM387yJq92j+6fZtbM/eBAIK9mubcmmuR5KYROHfuHMOHD+exxx4jICAAW1tbdu3axZw5cxgyZMhN33fSpEn06tWLDz74gMGDB7Np0ybWrVun6+G5mpkzZzJ58mTs7e3p378/paWl7Nq1i/PnzxMZGXnVaxYtWkTPnj0JDQ3lrbfeIiAggIqKCjZu3Mhnn33G4cOHCQ8Px9/fn1GjRrFgwQIqKip45plnuPPOOwkJCblmPOHh4XTv3p2hQ4cyZ84c2rVrx9mzZ/njjz+47777rnutEELUJ+sPpvP6LwfILizFSAWP3+HLC33bSW/NVUhy0wjY2NgQFhbGhx9+yLFjxygvL8fT05PHH3+c11577abv27NnTxYvXszMmTOZNm0aERERvPDCCyxcuPCa10yYMAErKyvmzp3Lyy+/jLW1Nf7+/jz//PPXvMbX15fdu3fz7rvv8uKLL5KWlkbz5s0JDg7ms88+A7RDZr/++qsu4TIyMqJ///588skn1/0MKpWKqKgoXn/9dcaNG0dWVhZubm706tULV1fXm3ouQghRl3KKynhz7UHW7tP21rRxsWHuAwF0aeVo4MjqL5VS1RmdjUR+fj729vbk5eVhZ2end6ykpISUlBS9PVKEvscff5zExES2bdtm6FCaFPneFKJpij6QxrQ1B8guLMNIBU/e2Zrn+rRtkr011/v9/V/ScyOua968efTt2xdra2vWrVvH8uXLb7gpnxBCiFtzrrCUGWsP8vv+NADautgwb3gggZ4Ohg2sgZDkRlxXbGwsc+bMoaCgAF9fXz7++GMmTJhg6LCEEKLR+mN/GtN/PcC5ojKMjVQ8dacvk/u0xdyk6fXW3CxJbsR1/fDDD4YOQQghmoTswlKm/3qAqIR0ANq72jJveCD+Le0NHFnDI8mNEEIIYUCKovD7/jRmrD1IzsXemol3tWZi7zbSW3OTJLkRQgghDCSroJQ31hwg+qC2t6aDm7a3prOH9NbcCkluhBBCiDqmKApr951lxtqD5BaXY2KkYuLdbZh4dxvMTKQy0q2S5EYIIYSoQ5n5Jby+5gAbD2UA0NHdjnnDA+jUQnpraookN0IIIUQdUBSFNXvP8ObaQ+RdKMfUWMWzd7flmbtbY2osvTU1SZIbIYQQopZl5Jfw+i8J/Hk4E4DOHnbMfSCQju7X34xO3BxJFZs4b29vFixYYOgw6sybb75JUFCQocMQQjQRiqLwU/xp+n6whT8PZ2JqrOKlfu345ZmektjUIkluGolHH30UlUqFSqXCzMyMNm3a8NZbb1FRUXHd6+Li4njiiSdqPJ7Nmzfr4rn8a9q0aTX+XteiUqmuqIr+0ksvERMTU2cxCCGarvS8EsYv38WLP+4jv6QCfw97fp90B8/2bivDULVMhqUakf79+7N06VJKS0uJiopi4sSJmJqaMnXq1CvOLSsrw8zMjObNm9/Se166z7UkJSXp1QCxsbG5pfe7VTY2NgaPQQjRuCmKwo/xp3n790MUlFRgZmzE833b8sQdvphIUlMn5Ck3Iubm5ri5ueHl5cXTTz9NeHg4a9euBbQ9O0OHDuXdd9+lRYsWtG/fHrhyWCo1NZUhQ4ZgY2ODnZ0dDz74IBkZGbrjl4Z1vvzyyyoVcXRxccHNzU33ZWNjo+vVyc3N1Z23d+9eVCoVJ06cAGDZsmU4ODiwfv16OnbsiI2NDf379yctLU3v/l999RWdOnXC3Nwcd3d3nn32Wd3nArjvvvtQqVS61/8dltJoNLz11lu0bNkSc3NzgoKCiI6O1h0/ceIEKpWKn3/+mbvvvhsrKysCAwPZsWPHDf97CCGanrO5F3h0aRyvrN5PQUkFgS3t+WPy7TxzVxtJbOpQvXjSixYtwtvbGwsLC8LCwoiNjb3muXfddddVhzsGDRpUK7EpikJxebFBvm61YLulpSVlZWW61zExMSQlJbFx40Z+//33K87XaDQMGTKEnJwctmzZwsaNGzl+/DgjRozQOy85OZmffvqJn3/+mb17995SjNdTXFzMvHnzWLFiBVu3biU1NZWXXnpJd/yzzz5j4sSJPPHEEyQkJLB27VratGkDaIfbAJYuXUpaWpru9X999NFHzJ8/n3nz5rF//34iIiK49957OXr0qN55r7/+Oi+99BJ79+6lXbt2jBw58oZDfkKIpkNRFFbFpRLx4Va2HMnCzMSIKQM68NPTPWjramvo8Jocgw9LrVq1isjISBYvXkxYWBgLFiwgIiKCpKQkXFxcrjj/559/1vuFfe7cOQIDAxk+fHitxHeh4gJhK8Nq5d43svPhnViZWlX7OkVRiImJYf369UyaNEnXbm1tzZdffnnNYaSYmBgSEhJISUnB09MTgK+//ppOnToRFxdHt27dAO1Q1Ndff12lIa2WLVvqvT558mSVP0d5eTmLFy+mdevWADz77LO89dZbuuPvvPMOL774Is8995yu7VKMl2JzcHDAzc3tmu8xb948Xn31VR566CEAZs+ezV9//cWCBQtYtGiR7ryXXnpJl0DPnDmTTp06kZycTIcOHar8eYQQjdOZ3AtM+Wk/245mAxDk6cC84QG0cZGkxlAMntx88MEHPP7444wbNw6AxYsX88cff/DVV18xZcqUK853cnLSe/39999jZWVVa8lNQ/L7779jY2NDeXk5Go2Ghx9+mDfffFN33N/f/7rzYw4fPoynp6cusQHw8/PDwcGBw4cP6xIHLy+vKs/V2bZtG7a2lf/AHR0dq/x5rKysdIkNgLu7O5mZ2mWUmZmZnD17lj59+lT5fv+Vn5/P2bNn6dmzp157z5492bdvn15bQECAXhyXYpDkRoimS1EUvo87xbt/HKawtAJzEyNe7NeO8bf7YmykMnR4TZpBk5uysjLi4+P1JrwaGRkRHh5e5TkNS5Ys4aGHHsLa2vqqx0tLSyktLdW9zs/Pr1aMliaW7Hx4Z7WuqSmWJpbVOv/uu+/ms88+w8zMjBYtWmBiov+f91rPqLqqcx8fHx8cHBz02oyMtKOhlw+7lZeXX3Gtqamp3muVSqW7xtKyes/mVl0ei0ql/aGl0WjqNAYhRP1x+nwxU35K4O9kbW9NsJcjcx4IoHVzWbBQHxg0ucnOzkatVuPq6qrX7urqSmJi4g2vj42N5cCBAyxZsuSa58yaNYuZM2fedIwqleqmhoYMwdraWjfn5GZ07NiRU6dOcerUKV3vzaFDh8jNzcXPz6+mwtT1+qSlpel6cqo7d8fW1hZvb29iYmK4++67r3qOqakparX6mvews7OjRYsWbN++nTvvvFPXvn37dkJDQ6sVjxCiadBoFFbGpjIr6jBFZWrMTYx4OaI943r6SG9NPWLwYalbsWTJEvz9/a/7i2jq1KlERkbqXufn5+sNu4hK4eHh+Pv7M2rUKBYsWEBFRQXPPPMMd955JyEhITX2Pm3atMHT05M333yTd999lyNHjjB//vxq3+fNN9/kqaeewsXFhQEDBlBQUMD27dt184wuJT89e/bE3Nz8qkNiL7/8MjNmzKB169YEBQWxdOlS9u7dy7fffnvLn1MI0bicyinm1Z/288+xcwCEeDkyd3ggPs410ysuao5BV0s5OztjbGyst9QYICMj47qTQAGKior4/vvvGT9+/HXPMzc3x87OTu9LXJ1KpeLXX3/F0dGRXr16ER4ejq+vL6tWrarR9zE1NeW7774jMTGRgIAAZs+ezTvvvFPt+4wdO5YFCxbw6aef0qlTJ+655x69VU7z589n48aNeHp60qVLl6veY/LkyURGRvLiiy/i7+9PdHQ0a9eupW3btjf9+YQQjYtGo7BixwkiFmzln2PnsDA1Yvo9fqx6srskNvWUSrnV9ca3KCwsjNDQUD755BNAO4+hVatWPPvss1edUHzJsmXLeOqppzhz5gzNmjWr8vvl5+djb29PXl7eFYlOSUkJKSkpVdq/RYi6JN+bQhhG6rliXvlpH/8ezwEg1NuJOQ8E4C1JTZ273u/v/zL4sFRkZCRjx44lJCSE0NBQFixYQFFRkW711JgxY/Dw8GDWrFl61y1ZsoShQ4dWK7ERQgghqkKjUfh6xwlmRydxoVyNpakxUwZ0YPRtXhjJ3Jp6z+DJzYgRI8jKymL69Omkp6frdoi9NMk4NTVVt7rmkqSkJP7++282bNhgiJCFEEI0Yieyi3jlp/3Epmh7a27zdWLOsEBaNWsYi0tEPRiWqmsyLCUaIvneFKL2aTQKy/45wZz1iZSUa7AyM2bqgA6MCpPemvqgQQ1LCSGEEIaWkl3EK6v3EXfiPADdfZsx54EAPJ2kt6YhkuTmKppYZ5ZoAOR7UojaodYoLN2ewtz1SZRWaLA2M2bqwI48HNpKemsaMEluLnNpF9ri4uI63wFXiOspLi4Grty1WQhx845lFfLyj/vYnZoLwO1tnHl/mD8tHaW3pqGT5OYyxsbGODg46OoXWVlZ6bbaF8IQFEWhuLiYzMxMHBwcMDY2NnRIQjR4ao3Ckr+PM3/DEUorNNiYm/D6oI481M1TfuY3EpLc/MelzQMvJThC1Ac3qm4uhKia5MwCXl69nz0Xe2vuaOvM+8MC8HCQ3vrGRJKb/1CpVLi7u+Pi4nLVYo5C1DVTU1PpsRHiFlWoNXyxLYUP/zxCWYUGW3MT3rjHj+EhLaW3phGS5OYajI2N5ReKEEI0AkczCnjpx33sO50HwJ3tmvP+MH/c7aW3prGS5EYIIUSjVKHW8PnW43z051HK1BpsLUyYfo8fDwRLb01jJ8mNEEKIRicpvYCXV+9j/8Xemt4dXHjvPn/c7GUTzKZAkhshhBCNRrlaw+dbjvFRzFHK1Qp2FibMGNyJ+7t6SG9NEyLJjRBCiEbhcFo+L/24j4Nn8wEI7+jCu/f542onvTVNjSQ3QgghGrRytYZP/zrGwr+0vTX2lqbMvLcTQ4JaSG9NEyXJjRBCiAbr4Nk8Xv5xP4fStL01ff1cefe+zrjYSm9NUybJjRBCiAanrELDor+SWfRXMhUaBQcrbW/NvYHSWyMkuRFCCNHAHDiTx0s/7iMxvQCA/p3ceHtoZ5rbmhs4MlFfSHIjhBCiQSitULNwUzKfbj6GWqPgZG3GW0M6McjfXXprhB5JboQQQtR7+0/n8vKP+0nK0PbWDPJ3Z+aQTjjbSG+NuJIkN0IIIeqt0go1H8ccZfGW46g1Cs2szXhrSGcGBbgbOjRRj0lyI4QQol7adyqXl1fv40hGIQD3BLgz895ONJPeGnEDktwIIYSoV0rK1XwUc5TPtxxDo4CzjRlvD+nMAH/prRFVI8mNEEKIemNP6nleXr2f5Extb82QoBbMGNwJJ2szA0cmGhJJboQQQhhcSbmaDzce4Yttxy/21pjz7n2diejkZujQRAMkyY0QQgiDij95npdX7+N4VhEA93XxYMZgPxyspLdG3BxJboQQQhhESbma+RuS+PLvFBQFmtua8959/vT1czV0aKKBk+RGCCFEndt1IodXVu/neLa2t+b+rh5Mv0d6a0TNkORGCCFEnblQpmbu+iSW/qPtrXG1M2fW/f707iC9NaLmSHIjhBCiTsSm5PDK6n2cOFcMwPDglky7xw97S1MDRyYaG0luhBBC1KrisgrmRCexfMcJFAXc7CyYNcyfu9u7GDo00UhJciOEEKLW/Hv8HK+s3k9qjra35qFunrw2qCN2FtJbI2qPJDdCCCFqXFFpBXOiE1m+4yQALewtmDUsgDvbNTdwZKIpkORGCCFEjfrnWDav/rSfUzkXABgZ2orXBnbAVnprRB0xMnQAixYtwtvbGwsLC8LCwoiNjb3u+bm5uUycOBF3d3fMzc1p164dUVFRdRStEEKIayksrWDamgQe/mInp3Iu4OFgyYrxocy6318SG1GnDNpzs2rVKiIjI1m8eDFhYWEsWLCAiIgIkpKScHG5cqJZWVkZffv2xcXFhdWrV+Ph4cHJkydxcHCo++CFEELobE/O5pXV+zmTq+2tGRXWiqkDO2JjLgMEou6pFEVRDPXmYWFhdOvWjYULFwKg0Wjw9PRk0qRJTJky5YrzFy9ezNy5c0lMTMTU9Ob+CsjPz8fe3p68vDzs7OxuKX4hhGjqCkrKmbUukZU7UwFo6WjJnGEB9GjjbODIRGNTnd/fBhuWKisrIz4+nvDw8MpgjIwIDw9nx44dV71m7dq1dO/enYkTJ+Lq6krnzp157733UKvV13yf0tJS8vPz9b6EEELcum1Hs+i/YJsusRnT3Yv1z/eSxEYYnMH6C7Ozs1Gr1bi66u9K6erqSmJi4lWvOX78OJs2bWLUqFFERUWRnJzMM888Q3l5OTNmzLjqNbNmzWLmzJk1Hr8QQjRV+SXlzIo6zHexpwDwdLJkzrBAurduZuDIhNBqUIOhGo0GFxcX/ve//2FsbExwcDBnzpxh7ty510xupk6dSmRkpO51fn4+np6edRWyEEI0KpuTMpn6cwJpeSUAPNrDm5cj2mMtc2tEPWKw70ZnZ2eMjY3JyMjQa8/IyMDNze2q17i7u2NqaoqxsbGurWPHjqSnp1NWVoaZ2ZUF18zNzTE3N6/Z4IUQoonJu1DOu38c4oddpwHwambF7GEB3OYrvTWi/jHYnBszMzOCg4OJiYnRtWk0GmJiYujevftVr+nZsyfJycloNBpd25EjR3B3d79qYiOEEOLW/ZWYScSHW/lh12lUKhjX05t1z90hiY2otwy6z01kZCRffPEFy5cv5/Dhwzz99NMUFRUxbtw4AMaMGcPUqVN15z/99NPk5OTw3HPPceTIEf744w/ee+89Jk6caKiPIIQQjVZecTkv/biPccviSM8vwcfZmh+e7M6MwZ2wMpNhKFF/GfS7c8SIEWRlZTF9+nTS09MJCgoiOjpaN8k4NTUVI6PK/MvT05P169fzwgsvEBAQgIeHB8899xyvvvqqoT6CEEI0SjGHM3jtlwQy8ktRqWB8Tx9e7NceSzPjG18shIEZdJ8bQ5B9boQQ4tpyi8t467dD/LznDAC+ztbMHR5AsJeTgSMTTV11fn9Lv6IQQggANh7S9tZkFZRipIIJd/gS2bcdFqbSWyMaFkluhBCiiTtfVMbM3w6yZu9ZAFo3t2bu8EC6tnI0cGRC3BxJboQQoglbfzCd1385QHahtrfmiV6teT68rfTWiAZNkhshhGiCcorKeHPtQdbu0/bWtHWxYe7wQII8HQwbmBA1QJIbIYRoYtYlpPHGrwfILizD2EjFk718mdxHemtE4yHJjRBCNBHnCkuZvvYgf+xPA6Cdqw3zhgcS0NLBsIEJUcMkuRFCiCbgj/3a3pqcIm1vzdN3tmZSnzaYm0hvjWh8JLkRQohGLLuwlOm/HiAqIR2ADm62zH0gEP+W9gaOTIjaI8mNEEI0Qoqi8Pv+NKb/eoDzxeWYGKl45u42PHt3G8xMDFp5R4haJ8mNEEI0MpkFJbyx5gDrD2YA0NHdjrkPBNDZQ3prRNMgyY0QQjQSiqKwdt9ZZqw9SO7F3ppJvdvy9F2tpbdGNCmS3AghRCOQmV/C62sOsPGQtremUws75j4QiF8LqaEnmh5JboQQogFTFIVf9pxh5m+HyLtQjqmxism92/LUXa0xNZbeGtE0SXIjhBANVEZ+Ca/9nEBMYiYAnT3smDc8kA5u0lsjmjZJboQQooFRFIWfdp/hrd8Okl9SgZmxEc+Ft+WJXr7SWyMEktwIIUSDkp5XwtSf9/NXUhYAgS3tmTs8kHautgaOTIj6Q5IbIYRoABRF4cf407z9+yEKLvbWvNC3HY/f4YOJ9NYIoUeSGyGEqOfO5l5gys8JbD1ysbfG04F5DwTQVnprhLgqSW6EEKKeUhSFVXGneOePwxSWVmBmYsSLfdsx/nbprRHieqr9ryM6Opq///5b93rRokUEBQXx8MMPc/78+RoNTgghmqozuRcY81UsU35OoLC0gi6tHIiafAdP3tlaEhshbqDa/0Jefvll8vPzAUhISODFF19k4MCBpKSkEBkZWeMBCiFEU6IoCit3phLx4Va2Hc3G3MSIaYM6svqpHrRxsTF0eEI0CNUelkpJScHPzw+An376iXvuuYf33nuP3bt3M3DgwBoPUAghmopTOcVM/TmBv5OzAQjxcmTOAwH4NpekRojqqHZyY2ZmRnFxMQB//vknY8aMAcDJyUnXoyOEEKLqNBqFb2NTeT/qMEVlaixMjXg5ogOP9vDG2Ehl6PCEaHCqndzcfvvtREZG0rNnT2JjY1m1ahUAR44coWXLljUeoBBCNGancop5ZfV+dhw/B0A3b0fmPBCIj7O1gSMTouGq9pybhQsXYmJiwurVq/nss8/w8PAAYN26dfTv37/GAxRCiMZIo1H4escJIhZsZcfxc1iaGjNjsB+rnuguiY0Qt0ilKIpi6CDqUn5+Pvb29uTl5WFnJ/VXhBB17+S5Il5ZvZ+dKTkAhPk4MeeBALyaSVIjxLVU5/d3lYalqjOXRhIGIYS4uku9NbOjk7hQrsbKzJgpAzrwSJgXRjK3RogaU6XkxsHBAZWqav/w1Gr1LQUkhBCN0YlsbW9N7Altb01332bMHhZAq2ZWBo5MiManSsnNX3/9pfv/J06cYMqUKTz66KN0794dgB07drB8+XJmzZpVO1EKIUQDpdYoLPvnBHPXJ1JSrsHKzJipAzsyKrSV9NYIUUuqPeemT58+TJgwgZEjR+q1r1y5kv/9739s3ry5JuOrcTLnRghRV45nFfLK6v3sOqndvb1Ha21vjaeT9NYIUV3V+f1d7eTGysqKffv20bZtW732I0eOEBQUpNsDp76S5EYIUdtKytV8vuU4n25OprRCg7WZMa8P8mNkqGeVh/iFEPqq8/u72kvBPT09+eKLL65o//LLL/H09Kzu7YQQolHZciSL/gu28uGfRyit0HBHW2fWv9CLh8NaSWIjRB2p9iZ+H374IcOGDWPdunWEhYUBEBsby9GjR/npp59uKohFixYxd+5c0tPTCQwM5JNPPiE0NPSq5y5btoxx48bptZmbm1NSUnJT7y2EEDUhLe8Cb/9+iKiEdABcbM154x4/7glwl6RGiDpW7eRm4MCBHD16lE8//ZTExEQABg8ezFNPPXVTPTerVq0iMjKSxYsXExYWxoIFC4iIiCApKQkXF5erXmNnZ0dSUpLutfzgEEIYSrlaw9LtKSz48yjFZWqMjVQ82sOb58PbYmthaujwhGiSDL6JX1hYGN26dWPhwoUAaDQaPD09mTRpElOmTLni/GXLlvH888+Tm5tbpfuXlpZSWlqqe52fn4+np6fMuRFC3LLYlBymrUngSEYhAMFejrwztDMd3eVnixA1rcY38fuv3NxcYmNjyczMRKPR6B27VEizKsrKyoiPj2fq1Km6NiMjI8LDw9mxY8c1ryssLMTLywuNRkPXrl1577336NSp01XPnTVrFjNnzqxyTEIIcSNZBaXMWneYn3efAcDJ2owpAzrwQNeWsrxbiHqg2snNb7/9xqhRoygsLMTOzk5vSEilUlUrucnOzkatVuPq6qrX7urqqhvy+q/27dvz1VdfERAQQF5eHvPmzaNHjx4cPHjwqoU7p06dSmRkpO71pZ4bIYSoLrVGYeXOk8xZn0RBSQUqFYwMbcUrEe1xsDIzdHhCiIuqndy8+OKLPPbYY7z33ntYWdX9Xg3du3fXbR4I0KNHDzp27Mjnn3/O22+/fcX55ubmmJub12WIQohGaN+pXKatOUDCmTwAOrWw452hnenSytHAkQkh/qvayc2ZM2eYPHlyjSQ2zs7OGBsbk5GRodeekZGBm5tble5hampKly5dSE5OvuV4hBDiv/KKy5mzPpGVsakoCthamPByRHtGhXlhLENQQtRL1d7nJiIigl27dtXIm5uZmREcHExMTIyuTaPREBMTo9c7cz1qtZqEhATc3d1rJCYhhABQFIUfd52i9/zNfLtTm9jc38WDTS/exZju3pLYCFGPVbvnZtCgQbz88sscOnQIf39/TE31lzree++91bpfZGQkY8eOJSQkhNDQUBYsWEBRUZFuL5sxY8bg4eGhq1v11ltvcdttt9GmTRtyc3OZO3cuJ0+eZMKECdX9KEIIcVWJ6fm8seYAcSe0ZRPautjw9tDO3ObbzMCRCSGqotrJzeOPPw5ok4z/UqlU1a4KPmLECLKyspg+fTrp6ekEBQURHR2tm2ScmpqKkVFlB9P58+d5/PHHSU9Px9HRkeDgYP755x/8/Pyq+1GEEEJPYWkFCzYeYek/J1BrFCxNjXk+vC2P3e6DqXG1O7qFEAZi8H1u6prUlhJC/JeiKEQlpPPW7wfJyNfuizWgsxtv3ONHCwdLA0cnhIA62OdGCCEai+NZhcxYe5BtR7MB8GpmxZv3duLu9lffIV0IUf/dVHKzZcsW5s2bx+HDhwHw8/Pj5Zdf5o477qjR4IQQoraUlKv59K9kFm85Tplag5mJEc/c1Zqn7myNhamxocMTQtyCag8if/PNN4SHh2NlZcXkyZOZPHkylpaW9OnTh5UrV9ZGjEIIUaM2JWbQ98MtfLwpmTK1hjvbNWfD8714PrydJDZCNALVnnPTsWNHnnjiCV544QW99g8++IAvvvhC15tTX8mcGyGartPni5n52yE2HtLureVub8GMwX5EdHKTArxC1HPV+f1d7eTG3NycgwcP0qZNG7325ORkOnfuTElJSfUjrkOS3AjR9JRVaPjy7+N8HHOUknINJkYqxt/uw+Q+bbE2l6mHQjQEtTqh2NPTk5iYmCuSmz///FNqNgkh6p1/krN549cDHMsqAiDUx4l3hnamnautgSMTQtSWm6otNXnyZPbu3UuPHj0A2L59O8uWLeOjjz6q8QCFEOJmZOaX8G7UYX7dexYAZxszXh/UkaFBHjIEJUQjV+3k5umnn8bNzY358+fzww8/ANp5OKtWrWLIkCE1HqAQQlRHhVrDin9P8sGGIxSUVmCkgtG3eRHZrz32lqY3voEQosGTTfyEEI3G7tTzTPvlAIfS8gEI9HTgnSGd8W9pb+DIhBC3qlbn3MTFxaHRaAgLC9Nr37lzJ8bGxoSEhFT3lkIIcUvOF5UxOzqR7+NOAWBvacqr/TvwUDdPjKTApRBNTrX3uZk4cSKnTp26ov3MmTNMnDixRoISQoiq0GgUvo9Npff8zbrEZnhwSza9eCcPh7WSxEaIJqraPTeHDh2ia9euV7R36dKFQ4cO1UhQQghxIwfP5jFtzQH2pOYC0MHNlneGdibE28mwgQkhDK7ayY25uTkZGRn4+vrqtaelpWFiIvtFCCFqV35JOR9sOMLXO06gUcDazJgX+rbj0R7emEjlbiEEN5Hc9OvXj6lTp/Lrr79ib6+dpJebm8trr71G3759azxAIYQAbeXutfvO8s4fh8kq0FbuvifAnWmD/HCztzBwdEKI+qTayc28efPo1asXXl5edOnSBYC9e/fi6urKihUrajxAIYRIzizgjTUH2XH8HAC+zta8NaQzt7d1NnBkQoj6qNrJjYeHB/v37+fbb79l3759WFpaMm7cOEaOHImpqewhIYSoOcVlFXyyKZkvtx2nXK1gbmLEpN5teLyXL+YmUuBSCHF1NzVJxtramieeeKKmYxFCCEA7BLXhUAZv/XaIM7kXAAjv6MKMwZ3wdLIycHRCiPrupmbfrVixgttvv50WLVpw8uRJAD788EN+/fXXGg1OCNH0pJ4rZvzyXTy5Ip4zuRfwcLDkizEhfDm2myQ2QogqqXZy89lnnxEZGcmAAQM4f/48arUaAEdHRxYsWFDT8QkhmojSCjUfxxyl74db2JSYiamxiol3t+bPyDvp6+dq6PCEEA1ItZObTz75hC+++ILXX39db+l3SEgICQkJNRqcEKJp2Hoki/4LtvHBxiOUVmjo2aYZ657rxcsRHbA0k7k1Qojqqfacm5SUFN0qqcuZm5tTVFRUI0EJIZqG9LwS3v79EH8kpAHgYmvOtHv8GBzgLpW7hRA3rdrJjY+PD3v37sXLy0uvPTo6mo4dO9ZYYEKIxqtcrWH5Pyf4cOMRisrUGKng0R4+vNC3LbYWsupSCHFrqp3cREZGMnHiREpKSlAUhdjYWL777jtmzZrFl19+WRsxCiEakbgTOUz75QBJGQUAdG3lwNtDO9OphVTuFkLUjGonNxMmTMDS0pJp06ZRXFzMww8/TIsWLfjoo4946KGHaiNGIUQjkF1YyqyoRH7afRoARytTpg7oyAPBLaXApRCiRqkURVFu9uLi4mIKCwtxcXGpyZhqVX5+Pvb29uTl5WFnZ2focIRo9NQahZWxqcyNTiS/pAKAkaGevBLRAUdrMwNHJ4RoKKrz+/uWKl1aWVkRFxdHfHw8t912G46OjrdyOyFEI7P/dC7T1hxg/+k8ADq1sOPtoZ3p2kp+Vgghak+Vk5vZs2dTWFjI22+/DWh3EB0wYAAbNmwAwMXFhZiYGDp16lQ7kQohGoy84nLmbkjk252pKArYmpvwUkR7HrnNC2MZghJC1LIq73OzatUqOnfurHu9evVqtm7dyrZt28jOziYkJISZM2fWSpBCiIZBURR+ij9N7/mb+eZfbWJzXxcPYl66k7E9vCWxEULUiSr33KSkpBAQEKB7HRUVxQMPPEDPnj0BmDZtGsOHD6/5CIUQDUJSegFvrDlA7IkcANq42PD2kM50b93MwJEJIZqaKic3FRUVmJub617v2LGD559/Xve6RYsWZGdn12hwQoj6r6i0go9ijrLk7xTUGgVLU2OeC2/LYz19MDO5qfJ1QghxS6qc3LRu3ZqtW7fi6+tLamoqR44coVevXrrjp0+fplkz+QtNiKZCURTWHUjnrd8OkZ5fAkBEJ1emD+6Eh4OlgaMTQhhERSkc+hUsnaBtuMHCqPKfVRMnTuTZZ59l/PjxDBgwgO7du+Pn56c7vmnTpquWZaiKRYsW4e3tjYWFBWFhYcTGxlbpuu+//x6VSsXQoUNv6n2FEDcnJbuIsUvjeObb3aTnl9DKyYqlj3bj89EhktgI0RSdPwEbZ8AHfvDz47D5PYOGU+Wem8cffxxjY2N+++03evXqxYwZM/SOnz17lscee6zaAaxatYrIyEgWL15MWFgYCxYsICIigqSkpOvun3PixAleeukl7rjjjmq/pxDi5pSUq/l08zEWbz5GmVqDmbERT93Vmmfuao2FqRS4FKJJ0ajh6EbYtUT7v1zcNs+2BbSNAHUFGN/SjjM37ZY28asJYWFhdOvWjYULFwKg0Wjw9PRk0qRJTJky5arXqNVqevXqxWOPPca2bdvIzc1lzZo1VXo/2cRPiJvzV2ImM9YeJDWnGIBe7Zoz895O+DhbGzgyIUSdKsyCPV/DrmWQl1rZ7ns3dBsP7QbUSlJTZ5v43aqysjLi4+OZOnWqrs3IyIjw8HB27NhxzeveeustXFxcGD9+PNu2bbvue5SWllJaWqp7nZ+ff+uBC9GEnMm9wMy1B9lwKAMANzsLpg/2Y0BnN6ncLURToShw8h9tL82htaAp17ZbOECXRyDkMWjW2qAhXs6gyU12djZqtRpXV1e9dldXVxITE696zd9//82SJUvYu3dvld5j1qxZsv+OEDehrELDkr9T+DjmKBfK1RgbqRh/uw+T+7TFxtygPzqEEHWlJB/2r4K4JZB1uLLdIxi6TYBO94Fp/Ztn16B+QhUUFDB69Gi++OILnJ2dq3TN1KlTiYyM1L3Oz8/H09OztkIUolH451g20389SHJmIQCh3k68PbQz7d1sDRyZEKJOpCdoE5r9P0B5kbbNxBIChkPIeGgRZNDwbsSgyY2zszPGxsZkZGTotWdkZODm5nbF+ceOHePEiRMMHjxY16bRaAAwMTEhKSmJ1q31u8XMzc319ucRQlxbZkEJ7/1xmDV7zwLgbGPGawM7cl8XDxmCEqKxKy/RLuOO+xJOX7Zq2bmdNqEJfAgsHQwWXnUYNLkxMzMjODiYmJgY3XJujUZDTEwMzz777BXnd+jQgYSEBL22adOmUVBQwEcffSQ9MkLcpAq1hm/+Pcn8DUcoKK1ApYJHwrx4qV977K1MDR2eEKI25RyHXUthzzdwQbvDOEYm0OEe7dCT9+3QwP64qXZyU1RUxPvvv09MTAyZmZm6npNLjh8/Xq37RUZGMnbsWEJCQggNDWXBggUUFRUxbtw4AMaMGYOHhwezZs3CwsJCr74VgIODA8AV7UKIqtmdep431hzg4FntZPvAlva8PbQzAS0dDBuYEKL2aNRwZL12gnDyn5Xtdh4Q/Ch0HQO2V46gNBTVTm4mTJjAli1bGD16NO7u7rfcVT1ixAiysrKYPn066enpBAUFER0drZtknJqaipGRbOEuRE07X1TGnPWJfBd7CgA7CxNe6d+BkaGtpMClEI1VQYZ2GXf8csg7Vdneuo92GXfbCIPtTVOTqr3PjYODA3/88YeuYGZDI/vciKZOo1H4Mf4U769L5HyxdjnnA8EtmTKgA842Mj9NiEZHUeDkdu0E4cNrQVOhbbd01C7jDh5Xr5ZxX0ut7nPj6OiIk5PTTQcnhDCcQ2fzmbYmgd2puQC0d7Xlnfs6081b/k0L0eiU5MG+72HXV5B12fYqLbtpJwh3Glovl3HXhGonN2+//TbTp09n+fLlWFlZ1UZMQogaVlBSzgcbj7D8nxNoFLA2M+aFvu0Y28MbU2MZ9hWiUUnbp+2lSfgRyrU7imNqBf7DtUNP7oGGja8OVDu5mT9/PseOHcPV1RVvb29MTfVXUuzevbvGghNC3Lrf95/lrd8OkVmg3al7UIA7bwzyw83ewsCRCSFqTHkJHPxFO0H4dFxlu3N77YqnwBFgYW+4+OpYtZMbqcAtRMNQWqFm5m+HWLlTW/vFx9mamfd2ole75gaOTAhRY3KOa4ed9nyrv4y7473aXhqvng1uGXdNMHjhzLomE4pFU3A29wJPf7ubfadyUang2bvb8GzvNpibSOVuIRo8dQUcXa/dbO/Ypsp2u5YQ8ih0GQO2rte8vKFqMIUzhRA175/kbJ79bg85RWXYW5qy4KEg7m7vYuiwhBC3qiAddn8N8csg/8zFRhW06aOdINwuAozkDxioYnLj5OTEkSNHcHZ2xtHR8bp72+Tk5NRYcEKIqlMUhc+3HmdOdCIaBfzc7Vj8SDCtmsnEfyEaLEWBE9u0E4QTf79sGbcTdB2tXcbt5GPYGOuhKiU3H374Iba22oJ5CxYsqM14hBA3oaCknJd/3E/0wXQAhnVtybv3dcbCVP6KE6JBupBbuYw7O6my3TNM20vjNwRMZVHAtcicGyEauKMZBTz5TTzHs4owNVYxY3AnRoW1kkKXQjREZ/dqVzwlrL5sGbc1BDyonSDs5m/Q8AxJ5twI0UT8sT+Nl1fvo7hMjZudBZ890pUurRwNHZYQojrKL2iXccd9CWfiK9ubd9QmNAEjwEL+GK8OSW6EaIAq1BpmRyfyxbYUALr7NuOTh7tI+QQhGpJzxy4u4/4GSnK1bUam4Hevdm+aVt2b5DLumiDJjRANTFZBKc+u3M3OFO3k/Sfv9OXlfu0xkZ2Ghaj/1BVwZJ12gvDxvyrb7T0hZBx0GQ02srrxVklyI0QDEn/yPM98G09GfinWZsbMGx7IAH93Q4clhLiR/LTKZdwFZy82qqBtX+0E4bZ9ZRl3Dbrp5CY5OZljx47Rq1cvLC0tURRFJjAKUUsUReGbf0/y1u+HKFcrtG5uzeejQ2jjYmPo0IQQ16IokLJVO5cm8Q9Q1Np2q2baHpqQceDobdAQG6tqJzfnzp1jxIgRbNq0CZVKxdGjR/H19WX8+PE4Ojoyf/782ohTiCbrQpma139J4Oc92k27Bvq7MeeBQGzMpeNViHrpwnnY+512Ps25o5Xtnrdp59L43QsmMj+uNlX7p+MLL7yAiYkJqampdOzYUdc+YsQIIiMjJbkRogadPFfEU9/s5nBaPkYqmDKgA4/f4Su9pELUR2d2X1zG/RNUXNC2mdloVzuFPAZunQ0bXxNS7eRmw4YNrF+/npYtW+q1t23blpMnT9ZYYEI0dX8lZvLc93vIL6mgmbUZnzzchR6tnQ0dlhDicmXFcPBn7QThs7sr2106QbfHtImNua3h4muiqp3cFBUVYWV15XbuOTk5mJtLN5sQt0qjUfgo5igfbzqKokCXVg58Oqor7vaWhg5NCHFJdrJ22GnvN1CSp20zNtPuHNxtgnYnYelhNZhqJzd33HEHX3/9NW+//TYAKpUKjUbDnDlzuPvuu2s8QCGaktziMl5YtZe/krIAGH2bF9Pu6SjVvIWoD9QVkBSlnSCcsqWy3aGVtsZTl9Fg09xw8Qmdaic3c+bMoU+fPuzatYuysjJeeeUVDh48SE5ODtu3b6+NGIVoEg6ezeOpb+I5lXMBcxMj3rvPn2HBLW98oRCiduWfhfjlsHs5FKRdbFRpq3CHjNdW5ZZl3PVKtZObzp07c+TIERYuXIitrS2FhYXcf//9TJw4EXd32W9DiJvxU/xpXvslgdIKDZ5Olix+JJhOLewNHZYQTZdGo+2d2bUEEqMuW8btDF3HQPCj4Ohl0BDFtUnhTCEMqKxCw9u/H2LFv9rJ+He1b86CEUE4WJkZODIhmqgL52HvSu0E4Zxjle2temjrPHUcLMu4DaTWC2eWlJSwf/9+MjMz0Wg0esfuvffem7mlEE1OWt4Fnvl2N3tScwF4rk9bnuvTFiMjmYQoRJ07Ew9xX8GB1VBRom0zs4XAEdqhJ1c/w8YnqqXayU10dDRjxowhOzv7imMqlQq1Wl0jgQnRmO04do5J3+0mu7AMOwsTFjwURO8OroYOS4impaxYm8zELYG0vZXtrp21vTT+w2UZdwNV7eRm0qRJDB8+nOnTp+PqKj+MhagORVH4YttxZkcnodYodHS3Y/EjXfFqZm3o0IRoOrKOaJdx71upv4y7033aXhrPUFnGfZNyS3KJy4jD3NicXi17GSyOaic3GRkZREZGSmIjRDUVllbwyup9RCWkA3B/Fw/evc8fSzNZZSFErVOXa+s77Vqirfd0iYOXdvfgLo+AtWySWV0FZQXEZ8QTmx5LbFosR84fQUGhq0vXhpXcPPDAA2zevJnWrVvXRjxCNErJmYU8uWIXx7KKMDVWMf0ePx65zUvKKAhR2/LOaJdwxy+HQu0fFqiMoG2EduipdR8wMjJsjA1IcXkxuzN3E5seS1xaHIdyDqFR9OfetrZvTWdnw5aaqPZqqeLiYoYPH07z5s3x9/fH1NRU7/jkyZNrNMCaJqulRF1bl5DGSz/uo6hMjaudOZ+OCibYy9HQYQnReGk0cPwv7dBT0rrKZdzWzaHrWO0ybgdPg4bYUJRUlLAvax8703YSlx7HgewDVCgVeud42XnRza0bYW5hhLiF4GxZOz1gtbpa6rvvvmPDhg1YWFiwefNmvb88VSpVvU9uhKgrFWoNc9cn8fnW4wCE+Tix8OGuNLeVZaRC1IriHNj7rTapyTle2e51u7bOU4fBYCLbLFxPubqc/dn7dcNM+7L2Ua4p1zunhXULQt1DCXULpZtbN9ys3QwU7bVVO7l5/fXXmTlzJlOmTMFIuvKEuKrswlImrdzDjuPnAHj8Dh9e7d8BE2P5NyNEjVKUi8u4l2gLWF5axm1uB4EPaefTuHQ0bIz1WIWmgkPnDumSmb1Ze7lwqaL5RS6WLnRz1/bMdHPrRkvb+r9zerWTm7KyMkaMGCGJjRDXsCf1PM98u5u0vBKszIyZ+0AggwJk924halRZESSs1tZ5St9f2e7mry1c2fkBMLcxXHz1lFqjJul8EnHpcexM28nuzN0UlRfpneNk4UQ3t26Euml7Z7zsGt78wGonN2PHjmXVqlW89tprtRGPEA2Woih8uzOVmb8dpFyt4Nvcms8fCaatq+yTIUSNyUrS9tLs+x5KLy3jNtcu4+42AVqGyDLuy2gUDcm5ycSlxxGbFktcRhwFZQV659iZ2dHNrZsuoWnj0KbBJTP/Ve3kRq1WM2fOHNavX09AQMAVE4o/+OCDagexaNEi5s6dS3p6OoGBgXzyySeEhoZe9dyff/6Z9957j+TkZMrLy2nbti0vvvgio0ePrvb7ClFTSsrVvP7LAX7afRqA/p3cmDs8AFsL0xtcKYS4oYoySPxdO5fmxLbKdkcf7bBT0Ciwbma4+OoRRVE4kX+C2LRYYtNj2ZWxi5ySHL1zrE2tCXYN1vXMtHNsh3EjK/xZ7eQmISGBLl26AHDgwAG9YzeT6a1atYrIyEgWL15MWFgYCxYsICIigqSkJFxcXK4438nJiddff50OHTpgZmbG77//zrhx43BxcSEiIqLa7y/ErTqVU8yTK+I5lJaPkQpe6d+BJ3v5Nvi/fIQwuLzTEL8Mdn8NhRnaNpURtBugnSDs27vJL+NWFIXThad1w0xx6XFkXcjSO8fC2IKurl11K5o6NuuIidFNVV9qMAxeODMsLIxu3bqxcOFCADQaDZ6enkyaNIkpU6ZU6R5du3Zl0KBBvP3221ccKy0tpbS0VPc6Pz8fT09PWQouasRfSZk8//1e8i6U42RtxsKRXejRRjYCE+KmaTRwfJO2ztORdXBpDxUb18pq3Pb1f0JrbUovStdNAI5Lj+Ns0Vm942ZGZgS6BOp6Zvyd/TE1bvi9yLVeOLOmlJWVER8fz9SpU3VtRkZGhIeHs2PHjhterygKmzZtIikpidmzZ1/1nFmzZjFz5swai1kIAI1G4ZNNySyIOYKiQKCnA5+N6koLB0tDhyZEw1ScA3u+0Q49nU+pbPe+Q7vZXod7oBH8gr4Z2Rey9XpmUgtS9Y6bqEzwb+6v65kJaB6AhYmFgaKtH6qU3Nx///0sW7YMOzs77r///uue+/PPP1f5zbOzs1Gr1VeUcnB1dSUxMfGa1+Xl5eHh4UFpaSnGxsZ8+umn9O3b96rnTp06lcjISN3rSz03QtysvOJyXvhhL5sSMwF4OKwVMwb7YW7SuMashah1igKnd2lXPB38BdQXe9nN7SDoYe18mubtDRujAVyqz3Rp3szxvON6x41URnRq1kk3AbiLSxesTK0MFG39VKXkxt7eXjd/wN7evlYDqgpbW1v27t1LYWEhMTExREZG4uvry1133XXFuebm5piby6ZpomYcOpvPU9/Ek5pTjJmJEe8M7cyDIZIsC1EtpYWQ8KO2zlN6QmW7W4B2xZP/A2DWdIrJXqrPdKlnJul8kt5xFSraO7XXDTN1de2KrZmswryeKiU3S5cu5a233uKll15i6dKlNfbmzs7OGBsbk5GRodeekZGBm9u1dzw0MjKiTZs2AAQFBXH48GFmzZp11eRGiJryy57TTP05gZJyDS0dLVn8SDCdPQyf7AvRYGQmahOafd9Dab62zcQCOt2vHXryCG4Sy7gvr88UmxbL4ZzDV9RnauPQRtczE+IagoOFg2GCbaCqPOdm5syZPPXUU1hZ1VzXl5mZGcHBwcTExDB06FBAO6E4JiaGZ599tsr30Wg0epOGhahJZRUa3vnjEF/vOAlAr3bN+WhEEI7Wso27EDdUUQaJv2n3pjm5vbLdybdyGbeVk+HiqwMlFSXszdqrmwB8rfpMl3pmarM+U1NR5eSmthZVRUZGMnbsWEJCQggNDWXBggUUFRUxbtw4AMaMGYOHhwezZs0CtBOEQ0JCaN26NaWlpURFRbFixQo+++yzWolPNG3peSU88208u1NzAZjcuw3PhbfD2Kjx/3UpxC3JPQXxS2H3CijSzk9DZQTtB2p7aXzuarTLuHX1mS7OmblafSYPGw9dz0x9rc/UkFVrtVRt7NsxYsQIsrKymD59Ounp6QQFBREdHa2bZJyamqpX6qGoqIhnnnmG06dPY2lpSYcOHfjmm28YMWJEjccmmrZ/j5/j2ZW7yS4sw9bChAUjgujT0fXGFwrRVGk0cGyTdoLw0fWXLeN2g+Cx2orc9h6GjbEWVGgqOHjuoG5F097MvZSoS/TOcbF00Ss22RDqMzVkVd7nxsjISG9i8bXk5ORc97ihVWedvGiaFEVhyd8pzFqXiFqj0MHNlsWPBOPt3HQmOApRLUXnYM8KbU/N+ROV7T69IGQ8dBjUqJZxX6rPdKlnprHWZ6pvam2fm5kzZ9aL1VJC1Jai0gpe+Wk/f+xPA2BoUAtm3R+ApZks8xZCj6LAqVjtBOGDv4C6TNtubn/ZMu52ho2xhlxen2ln2k52Zey6bn2mMLcwWju0lmTGgKqV3Dz00ENXLYkgRGNwLKuQp1bEczSzEBMjFW/c48eY7vLXlhB6Sgsh4QftBOGMy0rwuAddrMY9DMwa9p4riqKQkp9CXFocsenaScDnS8/rnfPf+kztndpjpGqcc4gaoionN/IDXjRm0QfSeenHfRSWVuBia85nj3Ql2Ktxr+AQoloyDl1cxr0KLvVamFhA5we0dZ48gg0b3y2oSn0mSxNLurh0aVL1mRoyg6+WEsKQKtQa5m88wmebjwEQ6uPEwoe74GLbtLcuFwKAilI4fHEZd+o/le3N2miHnQJHNthl3JfXZ4pNjyWtKE3vuJmRGUEuQbp5M42lPlNTUeXkRqPR3PgkIRqQc4WlTP5+D9uTzwEw4XYfXh3QAVNj6VoWTdz5k5XVuIuztW0qY+gwUDv05HNng9tsL/tCti6RuV59pkvDTIEugZgby+72DZX0qYkmae+pXJ75Jp6zeSVYmRkze1gAgwNbGDosIQxHo4bkGO3Q05H1wMXeelt3bSXurmPAruH8Gzlfcp5dGbt0w0zXq88U5hZGkEuQ1GdqRCS5EU2Koih8F3uKN9cepEytwdfZmsWjg2nnKnVaRBNVmFW5jDv3st4M37u0y7jbD2gQy7jzy/KJT4/XDjWlx3Lk/BG941KfqWmR5EY0GSXlaqb/eoAfdp0GoJ+fK/MeDMTOov7/4BaiRikKpP6r7aU59GvlMm4LB205hJDHwLmNQUO8EV19potDTderzxTmFkaIWwj25rKVSVMhyY1oEk7lFPP0t/EcOJOPkQpejujAU3f6yipA0bSUFsD+VRD3FWQerGxv0VVbEqHT/fV2Gffl9Zli02M5mH3wivpM3nbelcUmpT5TkybJjWj0thzJ4rnv95BbXI6TtRkfP9SF29vKDz3RhGQc1K542r8Kygq1bSaW4D9MO/Tk0dWw8V1FmbqM/Vn7iUuPu259pkvlDELdQnG1lvIoQkuSG9FoaTQKi/5K5oM/j6AoENjSnk8fCcbDwdLQoQlR+ypK4dBabZ2nU/9Wtjdrq+2lCXwILB0NF99/XKrPdKln5qr1maxcdHNmpD6TuB5JbkSjlHehnBd/2Mufh7XViEeGtmLGYD8sTKWMgmjkzp+AXUthzzeVy7iNTLT1nULGa+s91YPhWLVGTeL5RN0uwPEZ8RRXFOud42ThpNczI/WZRFVJciMancT0fJ5aEc+Jc8WYmRjxzpDOPNjN09BhCVF7NGo4ulE7QfjoRiqXcbe4bBm3uyEj1NVnutQzc736TJd6Z6Q+k7hZktyIRuXXvWd49af9lJRr8HCwZPEjwfi3lBUSopEqzII9X8OuZZB3+TLuu7Wb7bXrD8aG+TF/eX2mnek72ZW+64r6TDamNgS7BmtXNLmH0c6xndRnEjVCkhvRKJRVaHgv6jDL/jkBwB1tnfn4oS44WpsZNjAhapqiQOoO7VyaQ2vh0iRbCwfo8oh2GXez1gYIS+F0wWndPjPXq890qWdG6jOJ2iLfVaLBy8gvYeK3u9l1UvtX4aTebXg+vB3GRtKdLRqRkvyLy7iXQNbhynaPkIvLuO8D07qdLH+pPtOlXYCvV58pzD2Mzs06S30mUSckuRENWmxKDhNX7iaroBRbcxM+GBFEXz9ZDioakfSEi8u4f4DyIm2bqRX4P6CdINwiqM5Cubw+U2x6LKcKTukdN1GZENA8QDdvRuozCUOR5EY0SIqi8NX2E7wXdRi1RqG9qy2LRwfj42xt6NCEuHXlJdqdg3ctgVM7K9ud22kTmsCHwNKh1sM4X3Jet8/M9eozXRpmkvpMor6Q5EY0OEWlFUz5OYHf9p0FYEhQC2bd74+VmXw7iwYuJ0Vb42nPN1CsrVaPkQl0HKxNarxvr9Vl3FWpz9TBqYNumKmrS1dszGxqLR4hbpb8NhANyvGsQp76Jp4jGYWYGKmYNqgjY3t4y3JR0XBp1HB0g3aCcHIMumXcdi0vLuMeDbZutfLWxeXFxGfE63pnrlWf6VLPjNRnEg2FJDeiwdhwMJ0Xf9hHQWkFzW3N+XRUV7p5Oxk6LCFuTmEm7F4O8csh77K5K637aCcIt42o8WXc1arP5B5KN9duNLNsVqMxCFEXJLkR9Z5aozB/QxKfbj4GQKi3Ewsf7oKLnYWBIxOimhQFTm7XThA+/FvlMm5LR+0y7uBxNbqM+/L6TDvTd7I/a7/UZxJNgiQ3ol7LKSpj8nd7+DtZu438Yz19mDqwA6bGstGXaEBK8mDfKu0E4azEyvaW3bSb7fkNBdNbT9bLNeUcOnfohvWZwtzCdL0zHjYet/y+QtQ3ktyIemv/6Vye/mY3Z3IvYGlqzOwHArg3sIWhwxKiahQFzu7RDj3t/1F/GXfAg9oJwu4Bt/QWl9dn2pm+k90Zu69ZnynUXTtvppVtK5mjJho9SW5EvbQqLpU3fj1IWYUGH2drFj8STHs3W0OHJcT1VZRCyjY4sg6SoiH/dOWx5h0uLuMeARY3Nym3KvWZ7M3t6ebaTbeiydfeV5IZ0eRIciPqlZJyNW+uPcj3cdoJln39XJn/YCB2FrKrqainirK1q52SouDYX1BWWHnM1Epb36nbBPDqUe1l3NWpz3Spd0bqMwkhyY2oR06fL+aZb3ez/3QeRip4sV97nr6zNUZSRkHUJ4oC2Ue1yUzSOjgdC5cvn7Zxg/b9of1A8OlVrZIIVa3P1NWlq65npoNTB6nPJMR/yL8IUS9sO5rF5O/2cL64HEcrUz4e2YU72jY3dFhCaKkrtMUqj0Rrk5oc/Z16cfPXJjPt+oN7EBhVveckrTBNL5m5Wn2mLi5ddBOApT6TEDcmyY0wKI1G4bMtx5i/IQmNAgEt7fl0VFdaOsoW7sLASvIg+U/t3JmjG6Akt/KYsRl43wHtB2gTGgfPKt/2hvWZjEwIcA7QTQAOaB4g9ZmEqCZJboTB5JeU8+IP+9h4KAOAh7p58ua9nbAwNTZwZKLJOn9Cm8wkRWn3o9FctsGdpRO0i9AmNK17g3nVJrhXpT5T52addfvMSH0mIW6dJDfCIJLSC3jqm3hSsoswMzHirXs78VBoK0OHJZoajQbOxF9c3bQOMg/pH3dup+2ZaT8QPEPBqGqJd1phGutOrCM6JZrDOYf1jl2qz3RpArDUZxKi5tWL5GbRokXMnTuX9PR0AgMD+eSTTwgNDb3quV988QVff/01Bw4cACA4OJj33nvvmueL+mftvrO8uno/F8rVeDhY8tkjXQlo6WDosERTUVYExzdrk5kj66Eos/KYyhhadddOCG43AJzbVPm2OSU5bDyxkaiUKHZn7tY7pqvP5B5KiKvUZxKithk8uVm1ahWRkZEsXryYsLAwFixYQEREBElJSbi4uFxx/ubNmxk5ciQ9evTAwsKC2bNn069fPw4ePIiHh+y0WZ+VqzXMikrkq+0pANzR1pmPHuqCk7WZgSMTjV5+mnYy8JFobWJTcdmuvWa20DZc2zvTJhysql6vrKi8iE2pm4hKiWLH2R2oFTWg7Z0Jdg1moO9A7va8G2dL5xr+QEKI61EpiqIYMoCwsDC6devGwoULAdBoNHh6ejJp0iSmTJlyw+vVajWOjo4sXLiQMWPGXHG8tLSU0tJS3ev8/Hw8PT3Jy8vDzs6u5j6IuK7MghKe/XYPsSdyAJh4d2si+7bHWJZ5i9qgKJBxQNs7kxSl3Sn4cvattHNn2g8Ar55gUvUEu0xdxrYz24g6HsWW01soVVf+fPFr5sdAn4H09+4vNZqEqGH5+fnY29tX6fe3QXtuysrKiI+PZ+rUqbo2IyMjwsPD2bFjR5XuUVxcTHl5OU5OV/9ra9asWcycObNG4hU352hGAaOXxJKeX4KtuQnzHgwkopObocMSjU1FKZz4+2JCs05/d2AAj5DK/Wdc/Kq1oZ5aoyY2PZZ1Kev48+SfFJRX7grsbefNQJ+BDPAZgLe9dw19GCHErTBocpOdnY1arcbVVf8vHFdXVxITE69xlb5XX32VFi1aEB4eftXjU6dOJTIyUvf6Us+NqBv7TuXy6NJYzheX08bFhv+NDsa3uUyeFDWk6Jx2mfaRdZAco787sIkltL5b2zvTNgJsq9eToigKCdkJRKVEsf7EerIvZOuOuVi5MMB7AAN9B9LRqaOUNxCinjH4nJtb8f777/P999+zefNmLCyuXlHX3Nwcc3PZI8IQ/jmWzePLd1FUpibQ04Flj3bDUebXiFul2x04Gk79+5/dgV0rVzf59AKz6i+pTj6fTFRKFOtS1nG6sLL3x97cnn5e/RjgM4Bg12ApcSBEPWbQ5MbZ2RljY2MyMjL02jMyMnBzu/6wxbx583j//ff5888/CQi4tcq6ouZtPJTBxJW7KavQ0KN1M/43JgQb8wadSwtDUVfAqZ2V5Q5yjukfd/W/ONw0ANy7VGt34EvOFJ5hXco61qWs48j5I7p2SxNL7va8m0G+g+ju3l12BhaigTDobxszMzOCg4OJiYlh6NChgHZCcUxMDM8+++w1r5szZw7vvvsu69evJyQkpI6iFVX18+7TvLx6P2qNQj8/Vz4e2UU25hPVU5Kv3R34yMXdgS9cVizSyBR87tAu1W7fHxxubn+kcxfOseHkBqKOR7E3a6+u3cTIhNs9bmegz0DubHmnbKgnRANk8D+lIyMjGTt2LCEhIYSGhrJgwQKKiooYN24cAGPGjMHDw4NZs2YBMHv2bKZPn87KlSvx9vYmPT0dABsbG2xsZC6HoS3bnsKbv2k3QhvWtSWzh/ljYizd96IKzp+8WLtpnXZisKa88pilo3beTPv+0LoPWNzcSsfCskI2ndpE1PEo/k37V2/pdje3bgz0GUi4V7jsQyNEA2fw5GbEiBFkZWUxffp00tPTCQoKIjo6WjfJODU1FaPLupk/++wzysrKeOCBB/TuM2PGDN588826DF1cRlEUPtmUzAcbtV3643p688YgP6noLa5No9Eu0U6K0iY1GQf0jzdrc7F20wDwDAPjm/txVaouZdvpbUSlRLH19Fa9pdudm3VmgM8A+vv0x8Xqyn21hBANk8H3ualr1VknL6pGo1F454/Dus35Xghvx+Q+bWQFibhSWTGkbLmY0KyHwsvm26mMtLsDt7s4f8a57U2/TYWmgti0WKJSoohJjaGwvHIVlY+9j27ptped1618GiFEHWow+9yIhq9CrWHKzwmsjteuKpkx2I9xPX0MHJWoVwoyKoebjv915e7AbfpcXK7dr1q7A/+Xoijsy9qnW7qdU5KjO+Zm7aZbut3esb0k3kI0cpLciJtWUq7mue/3sP5gBsZGKuYMC2BYcEtDhyUMTVEg4+DF2k3rtIUpL2fveXG4qT943w4mt7ZVw9HzR3VLt88UntG1O5g7EOEdwQCfAXRx6SJLt4VoQiS5ETelqLSCJ1bsYnvyOcyMjVj4cBf6ya7DTVdFGZy8tDtwNOSl6h9v0VW790z7AeDaqVq7A1/N6YLTRJ+I5o/jf5Ccm6xrtzSxpE+rPgzwGUD3Ft0xNZKl20I0RZLciGrLLS7j0aVx7D2Vi7WZMV+MCaFHGykM2OQU58DRjdr5M8kxUFZZkgATC/C9q7KHxvbWE9/sC9msP7GedSnr2Je1T9duamSqXbrtq126bWliecvvJYRo2CS5EdWSkV/C6CU7OZJRiIOVKcvGhRLk6WDosERdyU7WDjUlrYPUHfq7A1u7aJdqtxugTWxuYnfg/yooKyAmNYao41HsTN+J5uL7GamMdEu3+7TqI0u3hRB6JLkRVZZ6rphHluwkNacYVztzVowPo52rraHDErVJXQGnYyvLHZw7qn/cpVNlde0WXW9qd+D/KqkoYevpraxLWcfW01sp05TpjgU4BzDAZwAR3hE0t2p+y+8lhGicJLkRVZKUXsDoJTvJLCillZMV304Iw9NJdm5tlEoLtMNMSesu7g5cueoIIxPtJOD2A7XDTY41s5S6QlPBzrSduqXbReVFumO+9r4M9BnIQJ+BeNpJ0VshxI1JciNuaE/qeR5dGkfehXI6uNny9WOhuNhdvVCpaKByT11crh2l3R1YXdlbgoWDdpl2+wHaZdsWNTMEpFE02qXbx6PYcHKD3tJtd2t3BvgMYKDPQNo5tpOl20KIapHkRlzX9uRsHv96F8Vlarq0cmDpo91wsJLK3g2eRgNpe7RDTUnrICNB/7iTb+XqJs/bbnp34P9SFIUj548QlRJFdEo0Z4vO6o45mjvSz7sfg3wHEdg8UJZuCyFumiQ34pqiD6Qz+bs9lKk13NHWmcWPBGMtlb0brvILcPzy3YHTK4+pjLQlDi6VO3Bue8vLtS93quAU61LWEXU8imN5lVW9rUysCPcKZ4DPAMLcw2TpthCiRshvKnFVP+46xas/7UejwIDObix4KAhzE6ns3eCUFsChtZD4Oxz7CyouVB4zs4HWvbU9NG37gXWzGn3rrOIs3dLt/dn7de2mRqb0atmLgT4D6dWyFxYmMsQphKhZktyIK3z1dwpv/a6t7P1gSEveu08qezcoGg2c2AZ7V8LhtVBeXHnMrqV2uXb7AeB9xy3vDvxf+WX5xJyM4Y+UP4hLj9Nbuh3mFsYAnwH08eqDnZnUdRNC1B5JboSOoih8+OdRPo7RLvedcLsPrw/qKJM5G4pzx2Dfd7Dve8g7VdnerA34D9f20Lj51+hwE8CFigtsOb2FdcfXse3MNso15bpjAc0DGOgzkAjvCJwtZaNHIUTdkORGANrK3m/9fohl/5wA4KV+7Zh4t1T2rvdK8uHgL9qkJnVHZbu5PXS+D4JGQctuNZ7QlGvK+ffsv0SlRLEpdRPFFZW9Q20c2jDQZyD9ffrjaStLt4UQdU+SG0G5WsOrq/fz8x5t0cG3hnRiTHdvwwYlrk2jhpStF4edfqucR6MyAt+7Iehh6DAITGu2DIFG0bAncw/rUtax4cQGzpee1x1rYd2Cgb4DGeAzgHaO7Wr0fYUQorokuWniSsrVPLtyD38e1lb2nj88kKFdPAwdlria7GTYt1I77JRfWf0a53bahCZgBNi1qNG3VBSFpPNJuqrb6UWVK6ycLJyI8I5goM9AApsHSi+fEKLekOSmCSssreDx5bvYcfwc5iZGLHq4K+F+roYOS1zuQq522GnvSm0ZhEss7KHzA9phJ4+uNT7slJqfSlRKFFEpUaTkpejarU2t6dOqD4N8BhHqHoqJkfwIEULUP/KTqYnKKSrj0aWx7D+dh425CV+ODeE235pdCixukkYNx//SJjSJf0BFibZdZQRtwrW9NO0GgGnNLqHOLM4kOiWadSnrOHDugK7dzMiMOz3vZIDPAO7wuEOWbgsh6j1Jbpqg9DxtZe+jmYU4Wpmy/LFQAlo6GDoskZWkTWj2r4KCtMr25h0qh51s3Wr0LfNK8/jz5J9EpUQRlx6HggKAscqY29xvY4DPAHq36o2tmRRIFUI0HJLcNDEnsot4ZMlOTp+/gJudBd9MCKWNi/ziMpgL5+HAT7D3Ozizq7Ld0vHisNPD0KJLjQ47Xai4wJZTW/gj5Q/+PvM3FZoK3bGg5kEM9B1IP69+NLOUnjwhRMMkyU0Tcjgtn9FLYskuLMW7mRXfTAijpaNU9q5z6go4tkk7OTgxCtSl2naVMbTte3HYqX+NbrBXrilnx9kduqXbFy7bqbitY1sG+mhXOnnYyGRyIUTDJ8lNExF/8jzjlsaSX1JBR3c7vn4slOa2Nbs7rbiBzMOVw06FGZXtLp0uDjs9CDYuNfZ22ReyiU2L5d+0f/nr1F/klubqjnnYeOgSmraObWvsPYUQoj6Q5KYJ2HokiydXxHOhXE2wlyNfPdoNe0spUFgninMuDjt9C2f3VLZbOmmTmaCHwS2gRoad8krz2JW+i53pO4lNi9UrUAnQzKIZ/X36M8BnAAHOAbJ0WwjRaEly08hFJaTx3Pd7KFcr9GrXnMWPdMXKTP6z1yp1OSTHaBOapHVwqRyBkQm0jdAmNG37gYnZLb1NcXkx8RnxxKbHsjNtJ4k5iboJwQAqVHRw6kCoWyg9PXrSza2bLN0WQjQJ8pOuEVsVl8rUnxPQKDDI350PRwRhZiIFMGtNxsGLw04/QFFmZbubv3Y/ms4PgE3zm759qbqUfZn7dD0zB7IPUKFU6J3ja+9LqFsoYe5hhLiG4GDhcNPvJ4QQDZUkN43UF1uP827UYQAe6ubJu/f5Y2wkwxA1rugcJPyonRyctq+y3cpZu3Q7aKQ2ubkJFZoKDmQfIDY9lti0WPZk7qFMU6Z3joeNB2HuYYS6hRLqFkpzq5tPnoQQorGQ5KaRURSFeRuSWPSXdr7Fk718mTKgg8yvqEnqcji6QdtLc2T9ZcNOptC+PwQ+rF31ZFy9eU0aRcOR80fYmbaT2PRY4jPiKSov0junuWVzQt1DCXMLo5tbN1ratqypTyWEEI2GJDeNiEajMGPtQVb8exKAV/q355m72hg4qkYkPaFy2Kk4u7LdPUg7j6bzA2Bd9b1hFEUhJT+F2LRYbe9Meix5pXl659ib2+t6ZULdQ/Gx85FEVQghbkCSm0aiXK3hpR/38eves6hU8PaQzjxym5ehw2r4CrO0w057V0JGQmW7tUvlaifXTlW+3ZnCM8SmxermzWRdyNI7bmViRYhbiG7eTDvHdhipZJ6UEEJUhyQ3jUBJuZpnvt3NpsRMTIxUzH8wkCFBshnbTasog6PrtQnN0Q1waQdfYzNoP0A7Obh1HzC+8T+frOIsXa/MzrSdnCk8o3fc3NicIJcgwtzCCHUPxa+ZH6ZGskxfCCFuhSQ3DVxBSTnjl+8iNiUHcxMjPnukK707SGXvalMU7YTgvSu1PTUXciqPteh6cdhpGFg5Xfc2eaV5xKXH6ebNHM87rnfcRGVCZ+fOunkzgS6BmBvLZopCCFGTDJ7cLFq0iLlz55Kenk5gYCCffPIJoaGhVz334MGDTJ8+nfj4eE6ePMmHH37I888/X7cB1yPnCksZuzSWA2fysTU3Ycmj3Qj1uf4vX/EfBRmQ8IO2tlPmwcp2GzcIHKGdHOzS4ZqXF5UXafeauThv5lp7zVxa0dTVtSvWpta1+YmEEKLJM2hys2rVKiIjI1m8eDFhYWEsWLCAiIgIkpKScHG5chv64uJifH19GT58OC+88IIBIq4/zuZeYPSSnRzLKqKZtRnLHwuls4e9ocNqGCpKtZvr7fsOjm4ERa1tNzaHDoO0vTS+d1912KlUXcrezL26npkD2QdQX7r+otb2rXU9MyFuIdiby38XIYSoSypFUZQbn1Y7wsLC6NatGwsXLgRAo9Hg6enJpEmTmDJlynWv9fb25vnnn692z01+fj729vbk5eVhZ2d3s6Eb1PGsQkYvieVM7gVa2FuwYkIYrZvbGDqs+k1R4OxubQ9Nwo9Qklt5zCPk4rDT/dpq3Jcp15RzMPvgdfeaaWnTsnKvGfdQnC2d6+ADCSFE01Kd398G67kpKysjPj6eqVOn6tqMjIwIDw9nx44dNfY+paWllJaW6l7n5+fX2L0N4eDZPMZ+FUt2YRm+ztasmBCGh4OlocOqvwrStYUq966ErMTKdlt3CHxIO+zUvJ2uWaNoSMpJ0k0Ajs+Ip7iiWO+WLpYuhLpXLs+WStpCCFG/GCy5yc7ORq1W4+qqP/nV1dWVxMTEa1xVfbNmzWLmzJk1dj9DijuRw2NL4ygorcDP3Y6vx4fibCOTUa9QXgJJUdqE5lgMKBptu4kFdLjn4rDTXWBkrN1rJve4bml2XEbcFXvNOJg70M2tm25Fk7edt+w1I4QQ9ZjBJxTXtqlTpxIZGal7nZ+fj6enpwEjujl/JWXy9DfxlJRr6ObtyJJHu2FnIUuGdRQFzsRri1Ue+AlKLktQPMO0CU2n+8DCntMFp4k99qtu3kz2hWy9W1mbWhPiWrnXTFvHtrLXjBBCNCAGS26cnZ0xNjYmIyNDrz0jIwM3N7caex9zc3PMzRt278Zv+87ywqq9VGgU7mrfnM9GBWNpZmzosOqH/LOw73ttL825o5Xtdh4QOBICR5JpZaedMxM/n9j02KvuNdPFpYtu3oxfMz+pni2EEA2YwX6Cm5mZERwcTExMDEOHDgW0E4pjYmJ49tlnDRVWvbNyZyqvr0lAUeCeAHc+eFAqe1N+ARL/0PbSHN982bCTJfjdS67fvcSZm7IzI47YvyNJyUvRu9xEZUJA8wDdvJnA5oGYGZvV/ecQQghRKwz652lkZCRjx44lJCSE0NBQFixYQFFREePGjQNgzJgxeHh4MGvWLEA7CfnQoUO6/3/mzBn27t2LjY0Nbdo0vhpKn20+xuxo7fyjUWGteGtI56Zb2VtR4HTcxWGnn6G0cmJ4Yavb2O17GzvNzYjN3kvSzteu2GvGr5mfbnl2F5cuWJlaGeJTCCGEqAMGTW5GjBhBVlYW06dPJz09naCgIKKjo3WTjFNTUzEyquylOHv2LF26dNG9njdvHvPmzePOO+9k8+bNdR1+rVEUhdnRSSzeoq3s/cxdrXk5on3TnMSad7py2ClH+zxKVCr2NmtFrIcfO43VHMxLRn3yZ73L2ji00a1mCnGVvWaEEKIpMeg+N4ZQ3/e5UWsU3vj1ACt3pgIwZUAHnrqztYGjqmNlxZD4+8Vhpy2Uo3DA3Iyd1rbEOrmzT1NMmVKhd4mnraduAnA3t26y14wQQjQyDWKfG3GlsgoNkT/s5ff9aahU8N59/owMbWXosOqGokDqv7D3W9QH15BECbEWFux0dSbe0ooLqos5uFo7HOVi5aJbmh3qFkoLmxYGDF4IIUR9IslNPXGhTM3T38azOSkLU2MVH44I4p6AJvALOzcVZe93HE9Yyc6ybGItLYhzsyPf+PKdghUczR21e81cXNHkZefVNIfphBBC3JAkN/VA3oVyJiyPI+7EeSxMjVj8SDB3tb+ytlZjoZQWcnrv18Qm/sDOwlRiLSw4Z2cMVBb9tDG10e41c7FnRvaaEUIIUVWS3BhYVkEpY7+K5VBaPrYWJix9tBsh3o2vsnd2USY7Dqwg9tg6Yi+c5azJxX16bLQVsi1UJnRx7Upoi+6EuYXRsVlH2WtGCCHETZHfHgZ0JvcCj3y5k5TsIpxttJW9O7VoPKt6zhVl8ee+L1l/Yj27yrJRLg0jmRhjokCAhQth3uGEevcloHmA7DUjhBCiRkhyYyDJmYWMXrKTtLwSPBwsWTE+FN9GUNk7tziLP/d8zvqTG4ktO4fmUkKjUuFXVsFttj6Etb+foE4jsTKzNmywQgghGiVJbgzgwJk8xnwVS05RGa2bW/PNhDDc7RtuZe+8okw27V7M+pMb+bfiPOrLEprOZRVE2LamX4cRtOj0AJg23M8phBCiYZDkpo7tPH6O8ct3UVhagb+HPcvGdaNZA6zsXVCQzuY9nxF9MoZ/1LlUXJbQdCzX0M+uDRF+I/HscD+YyHCTEEKIuiPJTR3alJjB09/sprRCQ6iPE0vGhmDbgCp7F+WfYUv8Z0Sf+ovtmjzKLkto2lYoRNi1I6LTKLw7DAUjKewphBDCMCS5qSO/7j3Diz/so0Kj0KeDC4tGdcXCtP4nAMW5qWyN/5QNpzezVVNIqVFlQuOrhv4OHYjoNBrftveAkSzVFkIIYXiS3NSBFf+eZPqvB1AUGBLUgnnDAzE1rr+JQEnOMf6OX0z0mS1sVYq4cClpMVLhpVER4eBH/85jadM6ApUkNEIIIeoZSW5qkaIofLr5GHPXJwEw+jYvZt7bCaN6WNm7LDOR7Xs+J/rMNjarLlBsZAQqQGVES8WICMdO9O88jva+4bIzsBBCiHpNkptaoigKs9Yl8r+txwF49u42vNivXf1JDBSF8vT97NjzJevP/s0m4zIKjYzAGMCIFooxEU7+RPg/ip937/oTtxBCCHEDktzUArVG4bWfE1i16xQArw/syOO9fA0cFdqE5nQssXuXsj79H2KMK8g3NgZTACNcMCbCKYCIgHEEtLpLEhohhBANkiQ3Nay0Qs0Lq/YSlZCOkQrevz+AB7t5Gi4gjZqKk/+wa/9yotP/JcZUQ66xMZgBGOOMCf2cA+nvP45AzzukfpMQQogGT5KbGlRcVsGTK+LZdjQbU2MVHz3UhYH+7nUfiLoc9fHN7E74hvUZsWw0V5FjbAwWKsAYJ0zo2zyICP9xdPXoibEs2xZCCNGISHJTQ/KKyxm3LJbdqblYmhrz+ehgerVrXncBlF9AkxzD3gMrWZ+1i43mxmSZmICV9j+xg8qEPs5d6e8/hhCPnlKUUgghRKMlv+FqSExiBrtTc7GzMGHpuFCCvRxr/01LC1COrGf/we9Zn72XDZamZJiYgLV2x2NblQnhzYOJ6PQIoS17YmrUcDYMFEIIIW6WJDc15P6uLTlXWMbtbZ3p6G5Xe2904TxKYhSHDv3I+pz9rLc056ypCdhqazbZqEzo7RJChN/DdPe4HVNjSWiEEEI0LZLc1KBaWxFVmIly+DeSDq0mOu8w660sOG1qCnbaqtpWKhPucg2hf8eR9PDoiblxw6tVJYQQQtQUSW7qq9xTKId/I/nwz0TnH2GDtRUnzEzB3hYAS5UxvVy70b/9g9ze8g4sTCwMHLAQQghRP0hyU5+cOwaHfuV44i+sLzpBtLU1x81MwdEeAHOVMXe4diOi/TB6efTCytTKwAELIYQQ9Y8kN4akKJBxEA7/xsnENUSXnmW9tRVHzczAzAEAU5URt7uGEtF2KHd53oW1qbVhYxZCCCHqOUlu6pqiwJndcPhXTiWuZX3FOTZYW3HYygysHAAwURnRw7Ub/dsM4S7Pu7A1szVszEIIIUQDIslNXdCoIfVfOLyWs0m/sUGTT7SNFQftzAEHAIxRcZtbNyJ876F3q97Ym9sbNGQhhBCioZLkprZUlMGJrXD4N9KP/MFGVQnR1lbsdzQHtHvgGKEi1DWECN+B9GnVB0eLOtgbRwghhGjkJLmpSeUX4NgmOLSWrORoNphUsMHait3OloB2HxoVKkJcuhLhM4Bwr3CaWTYzbMxCCCFEIyPJTU1Jiubcz+P50wzWW1uxy8UW5bKq2l2bB9HPpz/9vPrR3KoOyzIIIYQQTYwkNzUkRp1LpLsjmssSmgDnAPr79KevV1/crN0MGJ0QQgjRdEhyU0MCfcIh7j06NfOjv3d/+nn3o4VNC0OHJYQQQjQ5ktzUEGdLZ/4cHiNDTkIIIYSBGRk6gMZEEhshhBDC8OpFcrNo0SK8vb2xsLAgLCyM2NjY657/448/0qFDBywsLPD39ycqKqqOIhVCCCFEfWfw5GbVqlVERkYyY8YMdu/eTWBgIBEREWRmZl71/H/++YeRI0cyfvx49uzZw9ChQxk6dCgHDhyo48iFEEIIUR+pFEVRDBlAWFgY3bp1Y+HChQBoNBo8PT2ZNGkSU6ZMueL8ESNGUFRUxO+//65ru+222wgKCmLx4sVXnF9aWkppaanudX5+Pp6enuTl5WFnZ1cLn0gIIYQQNS0/Px97e/sq/f42aM9NWVkZ8fHxhIeH69qMjIwIDw9nx44dV71mx44deucDREREXPP8WbNmYW9vr/vy9PSsuQ8ghBBCiHrHoMlNdnY2arUaV1dXvXZXV1fS09Ovek16enq1zp86dSp5eXm6r1OnTtVM8EIIIYSolxr9UnBzc3PMzc0NHYYQQggh6ohBe26cnZ0xNjYmIyNDrz0jIwM3t6vv6Ovm5lat84UQQgjRtBg0uTEzMyM4OJiYmBhdm0ajISYmhu7du1/1mu7du+udD7Bx48Zrni+EEEKIpsXgw1KRkZGMHTuWkJAQQkNDWbBgAUVFRYwbNw6AMWPG4OHhwaxZswB47rnnuPPOO5k/fz6DBg3i+++/Z9euXfzvf/8z5McQQgghRD1h8ORmxIgRZGVlMX36dNLT0wkKCiI6Olo3aTg1NRUjo8oOph49erBy5UqmTZvGa6+9Rtu2bVmzZg2dO3c21EcQQgghRD1i8H1u6lp11skLIYQQon5oMPvcCCGEEELUNEluhBBCCNGoGHzOTV27NAqXn59v4EiEEEIIUVWXfm9XZTZNk0tuCgoKAKQMgxBCCNEAFRQUYG9vf91zmtyEYo1Gw9mzZ7G1tUWlUhk6nCbjUsHSU6dOyUTuOibP3nDk2RuOPHvDqa1nrygKBQUFtGjRQm8V9dU0uZ4bIyMjWrZsaegwmiw7Ozv5QWMg8uwNR5694cizN5zaePY36rG5RCYUCyGEEKJRkeRGCCGEEI2KJDeiTpibmzNjxgyp0G4A8uwNR5694cizN5z68Oyb3IRiIYQQQjRu0nMjhBBCiEZFkhshhBBCNCqS3AghhBCiUZHkRgghhBCNiiQ34qZt3bqVwYMH06JFC1QqFWvWrNE7rigK06dPx93dHUtLS8LDwzl69KjeOTk5OYwaNQo7OzscHBwYP348hYWFdfgpGqZZs2bRrVs3bG1tcXFxYejQoSQlJemdU1JSwsSJE2nWrBk2NjYMGzaMjIwMvXNSU1MZNGgQVlZWuLi48PLLL1NRUVGXH6XB+eyzzwgICNBtUNa9e3fWrVunOy7PvW68//77qFQqnn/+eV2bPPva8+abb6JSqfS+OnTooDte3569JDfiphUVFREYGMiiRYuuenzOnDl8/PHHLF68mJ07d2JtbU1ERAQlJSW6c0aNGsXBgwfZuHEjv//+O1u3buWJJ56oq4/QYG3ZsoWJEyfy77//snHjRsrLy+nXrx9FRUW6c1544QV+++03fvzxR7Zs2cLZs2e5//77dcfVajWDBg2irKyMf/75h+XLl7Ns2TKmT59uiI/UYLRs2ZL333+f+Ph4du3aRe/evRkyZAgHDx4E5LnXhbi4OD7//HMCAgL02uXZ165OnTqRlpam+/r77791x+rds1eEqAGA8ssvv+heazQaxc3NTZk7d66uLTc3VzE3N1e+++47RVEU5dChQwqgxMXF6c5Zt26dolKplDNnztRZ7I1BZmamAihbtmxRFEX7rE1NTZUff/xRd87hw4cVQNmxY4eiKIoSFRWlGBkZKenp6bpzPvvsM8XOzk4pLS2t2w/QwDk6OipffvmlPPc6UFBQoLRt21bZuHGjcueddyrPPfecoijyPV/bZsyYoQQGBl71WH189tJzI2pFSkoK6enphIeH69rs7e0JCwtjx44dAOzYsQMHBwdCQkJ054SHh2NkZMTOnTvrPOaGLC8vDwAnJycA4uPjKS8v13v+HTp0oFWrVnrP39/fH1dXV905ERER5Ofn63ohxPWp1Wq+//57ioqK6N69uzz3OjBx4kQGDRqk94xBvufrwtGjR2nRogW+vr6MGjWK1NRUoH4++yZXOFPUjfT0dAC9b+RLry8dS09Px8XFRe+4iYkJTk5OunPEjWk0Gp5//nl69uxJ586dAe2zNTMzw8HBQe/c/z7/q/33uXRMXFtCQgLdu3enpKQEGxsbfvnlF/z8/Ni7d68891r0/fffs3v3buLi4q44Jt/ztSssLIxly5bRvn170tLSmDlzJnfccQcHDhyol89ekhshGriJEydy4MABvfFvUbvat2/P3r17ycvLY/Xq1YwdO5YtW7YYOqxG7dSpUzz33HNs3LgRCwsLQ4fT5AwYMED3/wMCAggLC8PLy4sffvgBS0tLA0Z2dTIsJWqFm5sbwBWz5TMyMnTH3NzcyMzM1DteUVFBTk6O7hxxfc8++yy///47f/31Fy1bttS1u7m5UVZWRm5urt75/33+V/vvc+mYuDYzMzPatGlDcHAws2bNIjAwkI8++kieey2Kj48nMzOTrl27YmJigomJCVu2bOHjjz/GxMQEV1dXefZ1yMHBgXbt2pGcnFwvv+8luRG1wsfHBzc3N2JiYnRt+fn57Ny5k+7duwPQvXt3cnNziY+P152zadMmNBoNYWFhdR5zQ6IoCs8++yy//PILmzZtwsfHR+94cHAwpqames8/KSmJ1NRUveefkJCgl2Bu3LgROzs7/Pz86uaDNBIajYbS0lJ57rWoT58+JCQksHfvXt1XSEgIo0aN0v1/efZ1p7CwkGPHjuHu7l4/v+9rfIqyaDIKCgqUPXv2KHv27FEA5YMPPlD27NmjnDx5UlEURXn//fcVBwcH5ddff1X279+vDBkyRPHx8VEuXLigu0f//v2VLl26KDt37lT+/vtvpW3btsrIkSMN9ZEajKefflqxt7dXNm/erKSlpem+iouLdec89dRTSqtWrZRNmzYpu3btUrp37650795dd7yiokLp3Lmz0q9fP2Xv3r1KdHS00rx5c2Xq1KmG+EgNxpQpU5QtW7YoKSkpyv79+5UpU6YoKpVK2bBhg6Io8tzr0uWrpRRFnn1tevHFF5XNmzcrKSkpyvbt25Xw8HDF2dlZyczMVBSl/j17SW7ETfvrr78U4IqvsWPHKoqiXQ7+xhtvKK6uroq5ubnSp08fJSkpSe8e586dU0aOHKnY2NgodnZ2yrhx45SCggIDfJqG5WrPHVCWLl2qO+fChQvKM888ozg6OipWVlbKfffdp6Slpend58SJE8qAAQMUS0tLxdnZWXnxxReV8vLyOv40Dctjjz2meHl5KWZmZkrz5s2VPn366BIbRZHnXpf+m9zIs689I0aMUNzd3RUzMzPFw8NDGTFihJKcnKw7Xt+evUpRFKXm+4OEEEIIIQxD5twIIYQQolGR5EYIIYQQjYokN0IIIYRoVCS5EUIIIUSjIsmNEEIIIRoVSW6EEEII0ahIciOEEEKIRkWSGyGEEEI0KpLcCCEaDZVKxZo1a2r1Pd58802CgoJq9T2EELdGkhshRJVlZWXx9NNP06pVK8zNzXFzcyMiIoLt27cbOrQa88svv3Dbbbdhb2+Pra0tnTp14vnnn9cdf+mll/QKBAoh6h8TQwcghGg4hg0bRllZGcuXL8fX15eMjAxiYmI4d+6coUOrETExMYwYMYJ3332Xe++9F5VKxaFDh9i4caPuHBsbG2xsbAwYpRDihmqlYpUQotE5f/68AiibN2++7nnz589XOnfurFhZWSktW7ZUnn76ab1iqEuXLlXs7e2V3377TWnXrp1iaWmpDBs2TCkqKlKWLVumeHl5KQ4ODsqkSZOUiooK3XVeXl7KW2+9pTz00EOKlZWV0qJFC2XhwoV67w0ov/zyi+51amqqMnz4cMXe3l5xdHRU7r33XiUlJeWasT/33HPKXXfddd3PN2PGDCUwMFDvPf/75eXlpTuekJCg9O/fX7G2tlZcXFyURx55RMnKyrruewghbo0MSwkhquRSj8WaNWsoLS295nlGRkZ8/PHHHDx4kOXLl7Np0yZeeeUVvXOKi4v5+OOP+f7774mOjmbz5s3cd999REVFERUVxYoVK/j8889ZvXq13nVz584lMDCQPXv2MGXKFJ577jm9XpXLlZeXExERga2tLdu2bWP79u3Y2NjQv39/ysrKrnqNm5sbBw8e5MCBA1V+Lmlpabqv5ORk2rRpQ69evQDIzc2ld+/edOnShV27dhEdHU1GRgYPPvhgle8vhLgJhs6uhBANx+rVqxVHR0fFwsJC6dGjhzJ16lRl3759173mxx9/VJo1a6Z7vXTpUgVQkpOTdW1PPvmkYmVlpdfDExERoTz55JO6115eXkr//v317j1ixAhlwIAButdc1nOzYsUKpX379opGo9EdLy0tVSwtLZX169dfNdbCwkJl4MCBut6XESNGKEuWLFFKSkp05/y35+YSjUaj3HfffUpwcLBSXFysKIqivP3220q/fv30zjt16pQCKElJSVeNQQhx66TnRghRZcOGDePs2bOsXbuW/v37s3nzZrp27cqyZct05/z555/06dMHDw8PbG1tGT16NOfOnaO4uFh3jpWVFa1bt9a9dnV1xdvbW28ui6urK5mZmXrv37179yteHz58+Kqx7tu3j+TkZGxtbXW9Tk5OTpSUlHDs2LGrXmNtbc0ff/xBcnIy06ZNw8bGhhdffJHQ0FC9+K/mtddeY8eOHfz6669YWlrqYvjrr790729jY0OHDh0ArhmDEOLWyYRiIUS1WFhY0LdvX/r27csbb7zBhAkTmDFjBo8++ignTpzgnnvu4emnn+bdd9/FycmJv//+m/Hjx1NWVoaVlRUApqamevdUqVRXbdNoNDcdZ2FhIcHBwXz77bdXHGvevPl1r23dujWtW7dmwoQJvP7667Rr145Vq1Yxbty4q57/zTff8OGHH7J582Y8PDz0Yhg8eDCzZ8++4hp3d/dqfiIhRFVJciOEuCV+fn66vWXi4+PRaDTMnz8fIyNtx/APP/xQY+/177//XvG6Y8eOVz23a9eurFq1ChcXF+zs7G76Pb29vbGysqKoqOiqx3fs2MGECRP4/PPPue22266I4aeffsLb2xsTE/lxK0RdkWEpIUSVnDt3jt69e/PNN9+wf/9+UlJS+PHHH5kzZw5DhgwBoE2bNpSXl/PJJ59w/PhxVqxYweLFi2sshu3btzNnzhyOHDnCokWL+PHHH3nuueeueu6oUaNwdnZmyJAhbNu2jZSUFDZv3szkyZM5ffr0Va958803eeWVV9i8eTMpKSns2bOHxx57jPLycvr27XvF+enp6dx333089NBDREREkJ6eTnp6OllZWQBMnDiRnJwcRo4cSVxcHMeOHWP9+vWMGzcOtVpdY89FCKFPkhshRJXY2Py/nTtUUSCIAzD+XZULVg1iU2FFDLJNm2L1ASxiXzDbhMWyFl9ggy9hFGw+gMmsb2CRvSYc53FFOBi+H0ybMPGb/8B8Escxm82Gfr9PFEUsl0vm8znb7RaATqdDlmWs12uiKGK325Gm6dvOsFgsOJ1OdLtdVqsVWZYxGo1e7i2VShwOB2q1GpPJhFarxWw2436//zrJGQwGXC4XptMpzWaT8XjM9Xplv9/TaDR+7D+fz9xuN/I8p1KpPFev1wOgWq1yPB55PB4Mh0Pa7TZJklAul5+TLUnv91EURfHfh5Ckv9TrdZIk+fZbsCS94tVBkiQFxbiRJElB8VlKkiQFxcmNJEkKinEjSZKCYtxIkqSgGDeSJCkoxo0kSQqKcSNJkoJi3EiSpKAYN5IkKShfVSfz12VJ7DcAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "t = timing.plot(x='Observations')\n", - "t.set_xlabel(\"Sample Size\")\n", - "t.set_ylabel(\"Time in Seconds\")" - ] - }, - { - "cell_type": "code", - "execution_count": 1434, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Seed is: 0\n", - "Done with sampling\n", - "Done with parallel (original)\n", - "Done with serial\n", - "Done with original\n", - "Done with parallel\n", - "Seed is: 1\n", - "Done with sampling\n", - "Done with parallel (original)\n", - "Done with serial\n", - "Done with original\n", - "Done with parallel\n", - "Seed is: 2\n", - "Done with sampling\n", - "Done with parallel (original)\n", - "Done with serial\n", - "Done with original\n", - "Done with parallel\n", - "Seed is: 3\n", - "Done with sampling\n", - "Done with parallel (original)\n", - "Done with serial\n", - "Done with original\n", - "Done with parallel\n", - "Seed is: 4\n", - "Done with sampling\n", - "Done with parallel (original)\n", - "Done with serial\n", - "Done with original\n", - "Done with parallel\n", - "Finished Training 0\n", - "Seed is: 0\n", - "Done with sampling\n", - "Done with parallel (original)\n", - "Done with serial\n", - "Done with original\n", - "Done with parallel\n", - "Seed is: 1\n", - "Done with sampling\n", - "Done with parallel (original)\n", - "Done with serial\n", - "Done with original\n", - "Done with parallel\n", - "Seed is: 2\n", - "Done with sampling\n", - "Done with parallel (original)\n", - "Done with serial\n", - "Done with original\n", - "Done with parallel\n", - "Seed is: 3\n", - "Done with sampling\n", - "Done with parallel (original)\n", - "Done with serial\n", - "Done with original\n", - "Done with parallel\n", - "Seed is: 4\n", - "Done with sampling\n", - "Done with parallel (original)\n", - "Done with serial\n", - "Done with original\n", - "Done with parallel\n", - "Finished Training 1\n", - "Seed is: 0\n", - "Done with sampling\n", - "Done with parallel (original)\n", - "Done with serial\n", - "Done with original\n", - "Done with parallel\n", - "Seed is: 1\n", - "Done with sampling\n", - "Done with parallel (original)\n", - "Done with serial\n", - "Done with original\n", - "Done with parallel\n", - "Seed is: 2\n", - "Done with sampling\n", - "Done with parallel (original)\n", - "Done with serial\n", - "Done with original\n", - "Done with parallel\n", - "Seed is: 3\n", - "Done with sampling\n", - "Done with parallel (original)\n", - "Done with serial\n", - "Done with original\n", - "Done with parallel\n", - "Seed is: 4\n", - "Done with sampling\n", - "Done with parallel (original)\n", - "Done with serial\n", - "Done with original\n", - "Done with parallel\n", - "Finished Training 2\n", - "Seed is: 0\n", - "Done with sampling\n", - "Done with parallel (original)\n", - "Done with serial\n", - "Done with original\n", - "Done with parallel\n", - "Seed is: 1\n", - "Done with sampling\n", - "Done with parallel (original)\n", - "Done with serial\n", - "Done with original\n", - "Done with parallel\n", - "Seed is: 2\n", - "Done with sampling\n", - "Done with parallel (original)\n", - "Done with serial\n", - "Done with original\n", - "Done with parallel\n", - "Seed is: 3\n", - "Done with sampling\n", - "Done with parallel (original)\n", - "Done with serial\n", - "Done with original\n", - "Done with parallel\n", - "Seed is: 4\n", - "Done with sampling\n", - "Done with parallel (original)\n", - "Done with serial\n", - "Done with original\n", - "Done with parallel\n", - "Finished Training 3\n", - "Seed is: 0\n", - "Done with sampling\n", - "Done with parallel (original)\n", - "Done with serial\n", - "Done with original\n", - "Done with parallel\n", - "Seed is: 1\n", - "Done with sampling\n", - "Done with parallel (original)\n", - "Done with serial\n", - "Done with original\n", - "Done with parallel\n", - "Seed is: 2\n", - "Done with sampling\n", - "Done with parallel (original)\n", - "Done with serial\n", - "Done with original\n", - "Done with parallel\n", - "Seed is: 3\n", - "Done with sampling\n", - "Done with parallel (original)\n", - "Done with serial\n", - "Done with original\n", - "Done with parallel\n", - "Seed is: 4\n", - "Done with sampling\n", - "Done with parallel (original)\n", - "Done with serial\n", - "Done with original\n", - "Done with parallel\n", - "Finished Training 4\n", - "Seed is: 0\n", - "Done with sampling\n", - "Done with parallel (original)\n", - "Done with serial\n", - "Done with original\n", - "Done with parallel\n", - "Seed is: 1\n", - "Done with sampling\n", - "Done with parallel (original)\n", - "Done with serial\n", - "Done with original\n", - "Done with parallel\n", - "Seed is: 2\n", - "Done with sampling\n", - "Done with parallel (original)\n", - "Done with serial\n", - "Done with original\n", - "Done with parallel\n", - "Seed is: 3\n", - "Done with sampling\n", - "Done with parallel (original)\n", - "Done with serial\n", - "Done with original\n", - "Done with parallel\n", - "Seed is: 4\n", - "Done with sampling\n", - "Done with parallel (original)\n", - "Done with serial\n", - "Done with original\n", - "Done with parallel\n", - "Finished Training 5\n", - "Seed is: 0\n", - "Done with sampling\n", - "Done with parallel (original)\n", - "Done with serial\n", - "Done with original\n", - "Done with parallel\n", - "Seed is: 1\n", - "Done with sampling\n", - "Done with parallel (original)\n", - "Done with serial\n", - "Done with original\n", - "Done with parallel\n", - "Seed is: 2\n", - "Done with sampling\n", - "Done with parallel (original)\n", - "Done with serial\n", - "Done with original\n", - "Done with parallel\n", - "Seed is: 3\n", - "Done with sampling\n", - "Done with parallel (original)\n", - "Done with serial\n", - "Done with original\n", - "Done with parallel\n", - "Seed is: 4\n", - "Done with sampling\n", - "Done with parallel (original)\n", - "Done with serial\n", - "Done with original\n", - "Done with parallel\n", - "Finished Training 6\n", - "Seed is: 0\n", - "Done with sampling\n", - "Done with parallel (original)\n", - "Done with serial\n", - "Done with original\n", - "Done with parallel\n", - "Seed is: 1\n", - "Done with sampling\n", - "Done with parallel (original)\n", - "Done with serial\n", - "Done with original\n", - "Done with parallel\n", - "Seed is: 2\n", - "Done with sampling\n", - "Done with parallel (original)\n", - "Done with serial\n", - "Done with original\n", - "Done with parallel\n", - "Seed is: 3\n", - "Done with sampling\n", - "Done with parallel (original)\n", - "Done with serial\n", - "Done with original\n", - "Done with parallel\n", - "Seed is: 4\n", - "Done with sampling\n", - "Done with parallel (original)\n", - "Done with serial\n", - "Done with original\n", - "Done with parallel\n", - "Finished Training 7\n", - "Seed is: 0\n", - "Done with sampling\n", - "Done with parallel (original)\n", - "Done with serial\n", - "Done with original\n", - "Done with parallel\n", - "Seed is: 1\n", - "Done with sampling\n", - "Done with parallel (original)\n", - "Done with serial\n", - "Done with original\n", - "Done with parallel\n", - "Seed is: 2\n", - "Done with sampling\n", - "Done with parallel (original)\n", - "Done with serial\n", - "Done with original\n", - "Done with parallel\n", - "Seed is: 3\n", - "Done with sampling\n", - "Done with parallel (original)\n", - "Done with serial\n", - "Done with original\n", - "Done with parallel\n", - "Seed is: 4\n", - "Done with sampling\n", - "Done with parallel (original)\n", - "Done with serial\n", - "Done with original\n", - "Done with parallel\n", - "Finished Training 8\n", - "Seed is: 0\n", - "Done with sampling\n", - "Done with parallel (original)\n", - "Done with serial\n", - "Done with original\n", - "Done with parallel\n", - "Seed is: 1\n", - "Done with sampling\n", - "Done with parallel (original)\n", - "Done with serial\n", - "Done with original\n", - "Done with parallel\n", - "Seed is: 2\n", - "Done with sampling\n", - "Done with parallel (original)\n", - "Done with serial\n", - "Done with original\n", - "Done with parallel\n", - "Seed is: 3\n", - "Done with sampling\n", - "Done with parallel (original)\n", - "Done with serial\n", - "Done with original\n", - "Done with parallel\n", - "Seed is: 4\n", - "Done with sampling\n", - "Done with parallel (original)\n", - "Done with serial\n", - "Done with original\n", - "Done with parallel\n", - "Finished Training 9\n", - "Seed is: 0\n", - "Done with sampling\n", - "Done with parallel (original)\n", - "Done with serial\n", - "Done with original\n", - "Done with parallel\n", - "Seed is: 1\n", - "Done with sampling\n", - "Done with parallel (original)\n", - "Done with serial\n", - "Done with original\n", - "Done with parallel\n", - "Seed is: 2\n", - "Done with sampling\n", - "Done with parallel (original)\n", - "Done with serial\n", - "Done with original\n", - "Done with parallel\n", - "Seed is: 3\n", - "Done with sampling\n", - "Done with parallel (original)\n", - "Done with serial\n", - "Done with original\n", - "Done with parallel\n", - "Seed is: 4\n", - "Done with sampling\n", - "Done with parallel (original)\n", - "Done with serial\n", - "Done with original\n", - "Done with parallel\n", - "Finished Training 10\n", - " Observations Parallel (8 cores) Single Core Prior Function \\\n", - "0 25.0 0.026060 0.019918 0.020589 \n", - "1 100.0 0.049464 0.088139 0.085206 \n", - "2 200.0 0.091836 0.200144 0.184719 \n", - "3 300.0 0.128083 0.322233 0.307428 \n", - "4 400.0 0.166507 0.440913 0.428614 \n", - "5 500.0 0.193509 0.584811 0.578161 \n", - "6 600.0 0.242667 0.746967 0.732875 \n", - "7 700.0 0.268755 0.859054 0.862207 \n", - "8 800.0 0.317229 1.001814 1.013617 \n", - "9 900.0 0.364350 1.172742 1.156016 \n", - "10 1000.0 0.412235 1.307797 1.288354 \n", - "\n", - " Parallel New Function \n", - "0 0.023654 \n", - "1 0.063030 \n", - "2 0.087639 \n", - "3 0.131342 \n", - "4 0.164097 \n", - "5 0.196551 \n", - "6 0.252380 \n", - "7 0.274363 \n", - "8 0.341716 \n", - "9 0.377112 \n", - "10 0.406560 \n" - ] - } - ], - "source": [ - "import time\n", - "import multiprocessing\n", - "cpu_count = multiprocessing.cpu_count()\n", - "pers_imager = PersistenceImager()\n", - "pers_imager.pixel_size = 1\n", - "pers_imager.kernel_params = {'sigma': 1}\n", - "seed = [0,1,2,3,4]\n", - "train_size = [25, 100, 200, 300, 400, 500, 600, 700, 800, 900, 1000]\n", - "n = len(train_size)\n", - "timing = np.zeros((n,5))\n", - "for i in range(0,n):\n", - " for j in seed:\n", - " print(\"Seed is: \", j)\n", - " dgms_train = dgms_20[0:train_size[i]]\n", - " xdgm0_train = np.array(dgms_train)\n", - " timing[i,0] += len(xdgm0_train)\n", - " print(\"Done with sampling\")\n", - "\n", - " start = time.time()\n", - " output = F_Image_parallel(xdgm0_train, PS=1, var=1, plot=False, training=True)\n", - " end = time.time()-start\n", - " timing[i,1] +=end\n", - " print(\"Done with parallel (original)\")\n", - "\n", - " start = time.time()\n", - " pers_imager.fit(xdgm0_train)\n", - " X_train_features = np.array(pers_imager.transform(xdgm0_train))\n", - " X_train_features = pers_reshape(X_train_features)\n", - " end = time.time()-start\n", - " timing[i,2] +=end\n", - " print(\"Done with serial\")\n", - "\n", - " start = time.time()\n", - " output = F_Image(xdgm0_train, PS=1, var=1, plot=False, training=True)\n", - " end = time.time()-start\n", - " timing[i,3] +=end\n", - " print(\"Done with original\")\n", - "\n", - " start = time.time()\n", - " pers_imager.fit(xdgm0_train)\n", - " X_train_features = np.array(pers_imager.transform(xdgm0_train, n_jobs=8))\n", - " X_train_features = pers_reshape(X_train_features)\n", - " end = time.time()-start\n", - " timing[i,4] +=end\n", - " print(\"Done with parallel\")\n", - "\n", - " print(\"Finished Training \", i)\n", - "timing = pd.DataFrame(timing/5)\n", - "timing.columns=['Observations', 'Parallel (8 cores)', 'Single Core', 'Prior Function', 'Parallel New Function']\n", - "print(timing)" - ] - }, - { - "cell_type": "code", - "execution_count": 1435, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Text(0, 0.5, 'Time in Seconds')" - ] - }, - "execution_count": 1435, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "t = timing.plot(x='Observations')\n", - "t.set_xlabel(\"Sample Size\")\n", - "t.set_ylabel(\"Time in Seconds\")" - ] - }, - { - "cell_type": "code", - "execution_count": 1324, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "(100, 20)" - ] - }, - "execution_count": 1324, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "dgms_train, dgms_test = train_test_split_sklearn(mnist, 'labels', train_size = 100)\n", - "xdgm0_train = dgms_train['zero_dim_rtl']\n", - "output0 = F_Image(xdgm0_train, PS=8, var=1, plot=False, training=True)\n", - "output0['F_Matrix'].shape" - ] - }, - { - "cell_type": "code", - "execution_count": 1325, - "metadata": {}, - "outputs": [], - "source": [ - "from persim import PersistenceImager\n", - "pers_imager = PersistenceImager()\n", - "pers_imager.fit(xdgm0_train)\n", - "pers_imager.pixel_size = 1\n", - "outputn = np.array(pers_imager.transform(xdgm0_train))\n", - "output1 = pers_reshape(outputn)" - ] - }, - { - "cell_type": "code", - "execution_count": 1326, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "PersistenceImager(birth_range=(0.0, 26.0), pers_range=(1.0, 35.0), pixel_size=1, weight=persistence, weight_params={'n': 1.0}, kernel=gaussian, kernel_params={'sigma': [[1.0, 0.0], [0.0, 1.0]]})\n" - ] - } - ], - "source": [ - "print(pers_imager)" - ] - }, - { - "cell_type": "code", - "execution_count": 1327, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 1327, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "pers_imager.plot_image(outputn[0])" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [], - "source": [ - "def reshape_persistence_diagrams(dgm):\n", - " dgm_reshape = np.array([])\n", - " num_dgms = len(dgm)\n", - " for i in range(0,num_dgms):\n", - " t = np.repeat(i, len(dgm[i]))\n", - " t = t.reshape(len(dgm[i]),1)\n", - " t1 = np.concatenate((t,dgm[i]),1)\n", - " if i == 0:\n", - " dgm_reshape = t1\n", - " else:\n", - " dgm_reshape = np.append(dgm_reshape, t1, 0)\n", - " dummy = np.zeros((num_dgms))\n", - " return dgm_reshape, num_dgms, dummy" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [], - "source": [ - "dgm_reshape, num_dgms, dummy = reshape_persistence_diagrams(dgms_3_train)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Write New Function" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [], - "source": [ - "from numba import jit\n", - "@jit(nopython=True)\n", - "def mult(A, B):\n", - " n = A.shape[0]\n", - " m = B.shape[1]\n", - " r = B.shape[0]\n", - " result = np.zeros((n,m))\n", - " for i in range(0,n):\n", - " for j in range(0,m):\n", - " for k in range(0,r):\n", - " result[i,j]+=A[i,k]*B[k,j]\n", - " return(result)\n", - "\n", - "@jit(nopython=True)\n", - "def birth_persistence(Xdgms):\n", - " birth = Xdgms[:,1]\n", - " death = Xdgms[:,2]\n", - " persistence = Xdgms[:,2] - Xdgms[:,1]\n", - " diagram = Xdgms[:,0]\n", - " return birth, death, persistence, diagram\n", - "\n", - "@jit(nopython=True)\n", - "def gaussianpdf(mean = np.array([[0,0]], dtype=float), point = np.array([[0,0]], dtype=float), sigma=np.array([[2,0],[0,2]], dtype=float)):\n", - " exponent = mult(mult((mean-point), np.linalg.inv(sigma)), np.transpose(mean-point))\n", - " denominator = np.sqrt(np.power((2*pi),2)*np.linalg.det(sigma))\n", - " distribution = 1/denominator*np.exp(-1/2*exponent)\n", - " return distribution\n", - "\n", - "@jit(nopython=True)\n", - "def feature_intervals(birth, persistence, x_pixel_size=1, y_pixel_size = 1):\n", - " x_start = np.min(birth)\n", - " y_start = np.min(persistence)\n", - " x_end = np.max(birth)\n", - " y_end = np.max(persistence)\n", - " x_length = x_end - x_start + x_pixel_size\n", - " n = int(np.ceil(x_length/x_pixel_size))\n", - " x_intervals = np.zeros((n,1))\n", - " x_intervals[0] = x_start\n", - " for i in range(1,n):\n", - " x_intervals[i] = x_intervals[i-1]+x_pixel_size\n", - " x_factor = x_intervals[n-1] - x_end\n", - " x_intervals = x_intervals - x_factor/2\n", - " y_length = y_end - y_start + y_pixel_size\n", - " m = int(np.ceil(y_length/y_pixel_size))\n", - " y_intervals = np.zeros((m,1))\n", - " y_intervals[0] = y_start\n", - " for i in range(1,m):\n", - " y_intervals[i] = y_intervals[i-1]+y_pixel_size\n", - " y_factor = y_intervals[m-1] - y_end\n", - " y_intervals = y_intervals - y_factor/2\n", - " \n", - " return x_intervals, y_intervals\n", - "\n", - "@jit(nopython=True)\n", - "def pers_images(diagram, birth, persistence, x_intervals, y_intervals, num_dgms, sigma=np.array([[2,0],[0,2]], dtype=float)):\n", - " n = len(x_intervals)\n", - " m = len(y_intervals)\n", - " persistence_images = np.zeros((num_dgms,(n-1)*(m-1)))\n", - " plot_size = np.array([n-1,m-1])\n", - " for i in range(1,n):\n", - " for j in range(1,m):\n", - " x = (x_intervals[i] + x_intervals[i-1])/2\n", - " y = (y_intervals[j] + y_intervals[j-1])/2\n", - " x_len = x_intervals[i] - x_intervals[i-1]\n", - " y_len = y_intervals[j] - y_intervals[j-1]\n", - " for k in range(0,num_dgms):\n", - " #diagrams = np.transpose(np.array([diagram, birth, persistence]))\n", - " index = np.where(diagram==k)[0]\n", - " means = np.stack((birth, persistence), axis=1)\n", - " for l in index:\n", - " mvmeans = np.array([[means[l, :][0],means[l, :][1]]])\n", - " point = np.array([[x[0],y[0]]])\n", - " area = float(y_len[0]*x_len[0])\n", - " value = gaussianpdf(mean=mvmeans, point=point, sigma=sigma)*y*area\n", - " persistence_images[k,j-1+(m-1)*(i-1)] = persistence_images[k,j-1+(m-1)*(i-1)] + value[0][0]\n", - " return persistence_images, plot_size\n", - "\n", - "@jit(nopython=True)\n", - "def persistenceImageFeatures(birth, persistence, diagram, num_dgms, xps=2, yps=2):\n", - " x_intervals, y_intervals = feature_intervals(birth, persistence, x_pixel_size = xps, y_pixel_size = yps)\n", - " t, plot_size = pers_images(diagram, birth, persistence, x_intervals, y_intervals, num_dgms)\n", - " return t, plot_size\n" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": {}, - "outputs": [], - "source": [ - "dgms_3_train = np.array(dgms_3[0:25])\n", - "dgm_reshape, num_dgms, dummy = reshape_persistence_diagrams(dgms_3_train)\n", - "birth, death, persistence, diagram= birth_persistence(dgm_reshape)\n", - "x_intervals, y_intervals = feature_intervals(birth, persistence, x_pixel_size = 1, y_pixel_size = 1)\n", - "t, plot_size = pers_images(diagram, birth, persistence, x_intervals, y_intervals, num_dgms)" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "1.03 s ± 5.66 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)\n", - "3.3 ms ± 63.8 µs per loop (mean ± std. dev. of 7 runs, 100 loops each)\n" - ] - } - ], - "source": [ - "%timeit t, plot_size = persistenceImageFeatures(birth, persistence, diagram, num_dgms, xps=1, yps=1)\n", - "%timeit output0 = F_Image(dgms_3[0:25], PS=1, var=2, plot=False, training=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": {}, - "outputs": [], - "source": [ - "output0 = F_Image(xdgm0_train[0:10], PS=1, var=2, plot=False, training=True)\n", - "t, plot_size = persistenceImageFeatures(birth, persistence, diagram, num_dgms, xps=1, yps=1)" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] + "metadata": { + "needs_background": "light" }, - "execution_count": 19, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "from persim import PersistenceImager\n", - "pers_imager = PersistenceImager()\n", - "pers_imager.fit(xdgm0_train[0:10])\n", - "pers_imager.pixel_size = 1\n", - "outputn = np.array(pers_imager.transform(xdgm0_train[0:10]))\n", - "pers_imager.plot_image(outputn[0])" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 20, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "pers_imager.plot_image(np.reshape(t[0], plot_size))" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Seed is: 0\n", - "Done with sampling\n" - ] - }, - { - "ename": "", - "evalue": "", - "output_type": "error", - "traceback": [ - "\u001b[1;31mThe Kernel crashed while executing code in the the current cell or a previous cell. Please review the code in the cell(s) to identify a possible cause of the failure. Click here for more info. View Jupyter log for further details." - ] - } - ], - "source": [ - "import time\n", - "import multiprocessing\n", - "cpu_count = multiprocessing.cpu_count()\n", - "pers_imager = PersistenceImager()\n", - "pers_imager.pixel_size = 1\n", - "pers_imager.kernel_params = {'sigma': 2}\n", - "seed = [0,1,2,3,4]\n", - "train_size = [25, 50] #100, 200, 300, 400, 500, 600, 700, 800, 900, 1000]\n", - "n = len(train_size)\n", - "timing = np.zeros((n,4))\n", - "for i in range(0,n):\n", - " for j in seed:\n", - " print(\"Seed is: \", j)\n", - " dgms_train = dgms_10[0:train_size[i]]\n", - " xdgm0_train = np.array(dgms_train)\n", - " timing[i,0] += len(xdgm0_train)\n", - " print(\"Done with sampling\")\n", - "\n", - " start = time.time()\n", - " dgm_reshape, num_dgms, dummy = reshape_persistence_diagrams(xdgm0_train)\n", - " print('reshaped')\n", - " birth, death, persistence, diagram= birth_persistence(dgm_reshape)\n", - " x_intervals, y_intervals = feature_intervals(birth, persistence, x_pixel_size = 1, y_pixel_size = 1)\n", - " t, plot_size = pers_images(diagram, birth, persistence, x_intervals, y_intervals, num_dgms)\n", - " timing[i,1] +=end\n", - " print(\"Done with New\")\n", - "\n", - " start = time.time()\n", - " output = F_Image_parallel(xdgm0_train, PS=.1, var=1, plot=False, training=True)\n", - " end = time.time()-start\n", - " timing[i,2] +=end\n", - " print(\"Done with serial\")\n", - "\n", - " start = time.time()\n", - " output = F_Image(xdgm0_train, PS=.1, var=1, plot=False, training=True)\n", - " end = time.time()-start\n", - " timing[i,3] +=end\n", - " print(\"Done with original\")\n", - "\n", - " print(\"Finished Training \", i)\n", - "timing = pd.DataFrame(timing/5)\n", - "timing.columns=['Observations', 'New Function', 'Single Core', 'Prior Function']\n", - "print(timing)" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Seed is: 0\n", - "Done with sampling\n", - "reshaped\n", - "Done with New\n", - "Done with serial\n", - "Done with original\n", - "Seed is: 1\n", - "Done with sampling\n", - "reshaped\n", - "Done with New\n", - "Done with serial\n", - "Done with original\n", - "Seed is: 2\n", - "Done with sampling\n", - "reshaped\n", - "Done with New\n", - "Done with serial\n", - "Done with original\n", - "Seed is: 3\n", - "Done with sampling\n", - "reshaped\n", - "Done with New\n", - "Done with serial\n", - "Done with original\n", - "Seed is: 4\n", - "Done with sampling\n", - "reshaped\n", - "Done with New\n", - "Done with serial\n", - "Done with original\n", - "Finished Training 0\n", - "Seed is: 0\n", - "Done with sampling\n", - "reshaped\n", - "Done with New\n", - "Done with serial\n", - "Done with original\n", - "Seed is: 1\n", - "Done with sampling\n", - "reshaped\n", - "Done with New\n", - "Done with serial\n", - "Done with original\n", - "Seed is: 2\n", - "Done with sampling\n", - "reshaped\n", - "Done with New\n", - "Done with serial\n", - "Done with original\n", - "Seed is: 3\n", - "Done with sampling\n", - "reshaped\n", - "Done with New\n", - "Done with serial\n", - "Done with original\n", - "Seed is: 4\n", - "Done with sampling\n", - "reshaped\n", - "Done with New\n", - "Done with serial\n", - "Done with original\n", - "Finished Training 1\n", - " Observations New Function Single Core Prior Function\n", - "0 25.0 3.858902 0.858627 0.906437\n", - "1 50.0 8.423316 1.759242 1.698195\n" - ] - } - ], - "source": [ - "import time\n", - "import multiprocessing\n", - "cpu_count = multiprocessing.cpu_count()\n", - "pers_imager = PersistenceImager()\n", - "pers_imager.pixel_size = 1\n", - "pers_imager.kernel_params = {'sigma': 2}\n", - "seed = [0,1,2,3,4]\n", - "train_size = [25, 50] #100, 200, 300, 400, 500, 600, 700, 800, 900, 1000]\n", - "n = len(train_size)\n", - "timing = np.zeros((n,4))\n", - "for i in range(0,n):\n", - " for j in seed:\n", - " print(\"Seed is: \", j)\n", - " dgms_train = dgms_10[0:train_size[i]]\n", - " xdgm0_train = np.array(dgms_train)\n", - " timing[i,0] += len(xdgm0_train)\n", - " print(\"Done with sampling\")\n", - "\n", - " start = time.time()\n", - " dgm_reshape, num_dgms, dummy = reshape_persistence_diagrams(xdgm0_train)\n", - " birth, death, persistence, diagram= birth_persistence(dgm_reshape)\n", - " x_intervals, y_intervals = feature_intervals(birth, persistence, x_pixel_size = 1, y_pixel_size = 1)\n", - " t, plot_size = pers_images(diagram, birth, persistence, x_intervals, y_intervals, num_dgms)\n", - " end = time.time()-start\n", - " timing[i,1] +=end\n", - " print(\"Done with New\")\n", - "\n", - " start = time.time()\n", - " output = F_Image_parallel(xdgm0_train, PS=.1, var=1, plot=False, training=True)\n", - " end = time.time()-start\n", - " timing[i,2] +=end\n", - " print(\"Done with serial\")\n", - "\n", - " start = time.time()\n", - " output = F_Image(xdgm0_train, PS=.1, var=1, plot=False, training=True)\n", - " end = time.time()-start\n", - " timing[i,3] +=end\n", - " print(\"Done with original\")\n", - "\n", - " print(\"Finished Training \", i)\n", - "timing = pd.DataFrame(timing/5)\n", - "timing.columns=['Observations', 'New Function', 'Single Core', 'Prior Function']\n", - "print(timing)" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Text(0, 0.5, 'Time in Seconds')" - ] - }, - "execution_count": 20, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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NWpQISIioubN5KCyePFiLFu2DK+++irEYpPPHBERERHVmslJo7S0FJMnT2ZIISIiogZnctp4+umnsW3btoaohYiIiMiIyad+tFotVq5ciT179iAwMLDSZNqPPvqo3oojIiKils3koHLmzBn06tULgP5Oyndi7xEiIiKqTyYHlQMHDjREHURERESVcEYsERERWaxajag8+uij2LhxIxwdHfHoo4/WuO6PP/5YL4URERER1SqoKBQKw/wThULRoAURERERVah1C/233noLCxcuhEwma+iaao0t9ImIiJqeBrl78rJly1BQUHDfxRERERHVVq2Dion3LiQiIiK6byZd9cM+KURERNSYTOqj0qFDh3uGlVu3bt1XQUREREQVTAoqy5Yt41U/RERE1GhMCipPPPEE3NzcGqoWIiIiIiO1nqPC+SlERETU2HjVDxEREVmsWp/60el0DVkHERERUSW8KSERERFZLAYVIiIislgMKkRERGSxGFSIiIjIYjGoEBERkcViUCEiIiKLxaBCREREFotBhYiIiCwWgwoRERFZLLMGlbVr1yIwMBCOjo5wdHREUFAQdu/ebc6SiIiIyIKYNah4eXlhxYoVOHHiBI4fP44HH3wQ48aNw7lz58xZFhEREVkIkWBhdxt0dnbGBx98gFmzZt1z3by8PCgUCuTm5sLR0bERqiMiIqL7Zcrv71rflLChabVa/PDDDygsLERQUFCV66jVaqjVasPzvLy8xiqPiIiIzMDsk2nPnDkDBwcHSKVSPPvss9i5cye6dOlS5brLly+HQqEwPLy9vRu5WiIiImpMZj/1U1paitTUVOTm5mL79u2IjIxEdHR0lWGlqhEVb29vnvohIiJqQkw59WP2oHK34cOHo23btli3bt091+UcFSIioqbHlN/fZj/1czedTmc0akJEREQtl1kn0y5atAijR4+Gj48P8vPzsXXrVkRFRWHPnj3mLIuIiIgshFmDSlZWFp566ilkZGRAoVAgMDAQe/bswYgRI8xZFhEREVkIswaV9evXm3P3REREZOEsbo4KERERUQUGFSIiIrJYDCpERERksRhUiIiIyGIxqBAREZHFYlAhIiIii8WgQkRERBaLQYWIiIgsFoMKERERWSwGFSIiIrJYDCpERERksRhUiIiIyGIxqBAREZHFYlAhIiIii8WgQkRERBaLQYWIiIgs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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, "output_type": "display_data" } ], "source": [ - "t = timing.plot(x='Observations')\n", - "t.set_xlabel(\"Sample Size\")\n", - "t.set_ylabel(\"Time in Seconds\")" + "t = dgm80_timing_ps1.plot(x='Observations',loglog=True)\n", + "t.set_xlabel(\"Sample Size (log)\")\n", + "t.set_ylabel(\"Time in Seconds (log)\")\n", + "t.set_title(\"Persistence Images Timing - Pixel Size .1\")" ] } ], @@ -3058,7 +676,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.6" + "version": "3.8.8" } }, "nbformat": 4, diff --git a/notebooks/timing/persistence_images_parallel.ipynb b/notebooks/timing/persistence_images_parallel.ipynb deleted file mode 100644 index 712dea02..00000000 --- a/notebooks/timing/persistence_images_parallel.ipynb +++ /dev/null @@ -1,565 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "from itertools import product\n", - "\n", - "import time\n", - "import numpy as np\n", - "from sklearn import datasets\n", - "from scipy.stats import multivariate_normal as mvn\n", - "import matplotlib.pyplot as plt\n", - "\n", - "from ripser import Rips\n", - "from persim import PersistenceImager" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "PersistenceImager(birth_range=(0.0, 1.0), pers_range=(0.0, 1.0), pixel_size=0.2, weight=persistence, weight_params={'n': 1.0}, kernel=gaussian, kernel_params={'sigma': [[1.0, 0.0], [0.0, 1.0]]})\n" - ] - } - ], - "source": [ - "# Printing a PersistenceImager() object will print its defining attributes\n", - "pimgr = PersistenceImager(pixel_size=0.2, birth_range=(0,1))\n", - "print(pimgr)" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "PersistenceImager(birth_range=(0.0, 2.0), pers_range=(0.0, 1.0), pixel_size=0.1, weight=persistence, weight_params={'n': 1.0}, kernel=gaussian, kernel_params={'sigma': [[1.0, 0.0], [0.0, 1.0]]})\n", - "(20, 10)\n" - ] - } - ], - "source": [ - "# PersistenceImager() attributes can be adjusted at or after instantiation.\n", - "# Updating attributes of a PersistenceImager() object will automatically update all other dependent attributes.\n", - "pimgr.pixel_size = 0.1\n", - "pimgr.birth_range = (0, 2)\n", - "print(pimgr)\n", - "print(pimgr.resolution)" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "PersistenceImager(birth_range=(0.1, 3.1), pers_range=(-8.326672684688674e-17, 2.5), pixel_size=0.5, weight=persistence, weight_params={'n': 1.0}, kernel=gaussian, kernel_params={'sigma': [[1.0, 0.0], [0.0, 1.0]]})\n", - "(6, 5)\n" - ] - } - ], - "source": [ - "# The `fit()` method can be called on one or more (*,2) numpy arrays to automatically determine the miniumum birth and\n", - "# persistence ranges needed to capture all persistence pairs. The ranges and resolution are automatically adjusted to\n", - "# accomodate the specified pixel size.\n", - "pimgr = PersistenceImager(pixel_size=0.5)\n", - "pdgms = [np.array([[0.5, 0.8], [0.7, 2.2], [2.5, 4.0]]),\n", - " np.array([[0.1, 0.2], [3.1, 3.3], [1.6, 2.9]]),\n", - " np.array([[0.2, 1.5], [0.4, 0.6], [0.2, 2.6]])]\n", - "pimgr.fit(pdgms, skew=True)\n", - "print(pimgr)\n", - "print(pimgr.resolution)" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([[0.03999068, 0.05688393, 0.06672051, 0.06341749, 0.04820814],\n", - " [0.04506697, 0.06556791, 0.07809764, 0.07495246, 0.05730671],\n", - " [0.04454486, 0.06674611, 0.08104366, 0.07869919, 0.06058808],\n", - " [0.04113063, 0.0636504 , 0.07884635, 0.07747833, 0.06005714],\n", - " [0.03625436, 0.05757744, 0.07242608, 0.07180125, 0.05593626],\n", - " [0.02922239, 0.04712024, 0.05979033, 0.05956698, 0.04653357]])" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# The `transform()` method can then be called on one or more (*,2) numpy arrays to generate persistence images from diagrams.\n", - "# The option `skew=True` specifies that the diagrams are currently in birth-death coordinates and must first be transformed\n", - "# to birth-persistence coordinates.\n", - "pimgs = pimgr.transform(pdgms, skew=True)\n", - "pimgs[0]" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAA90AAAGzCAYAAAAyr3SFAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAB2i0lEQVR4nO3deVwVdf///+cB5aAIuLKoqLjkhrup6FUuUWRm0WJpC2ouLVB6UXlpn1LRkpav25Xl0kabl0u5tKmRW5lbbl2iZWoqZoA7W4rKmd8f/jiXJ0ABOcwBHvfbbW5X8z7vmXnNXPiG55nNYhiGIQAAAAAAUOLczC4AAAAAAIDyitANAAAAAICTELoBAAAAAHASQjcAAAAAAE5C6AYAAAAAwEkI3QAAAAAAOAmhGwAAAAAAJyF0AwAAAADgJIRuAAAAAACchNCNYps4caIsFkuxlo2Pj5fFYtHhw4dLtqgrHD58WBaLRfHx8SW+7tKoHwAAAEDZR+iugPbs2aNHHnlE9erVk9VqVd26dfXwww9rz549ZpdminXr1slisdgnq9Uqf39/9erVS1OmTNGJEyfMLhEAAABAGWUxDMMwuwiUniVLlmjQoEGqWbOmhg0bpuDgYB0+fFjvvfeeTp06pQULFuiee+4p1LouXbqkS5cuydPTs8h15OTk6OLFi7JarcU+W34thw8fVnBwsD744AMNGTKkwH7r1q1T79699cwzz+jGG29UTk6OTpw4oY0bN+rLL7+Ur6+vFi1apD59+pRq/QAAAADKvkpmF4DSc/DgQT366KNq3Lixvv/+e9WpU8f+2ahRo3TTTTfp0Ucf1X//+181bty4wPVkZWXJy8tLlSpVUqVKxfsRcnd3l7u7e7GWdZabbrpJ999/v0Pbzz//rNtuu0333Xef9u7dq8DAQEnm1X/+/Hl5eHjIzY2LVAAAAICygL/cK5A33nhDf/31l+bNm+cQuCWpdu3amjt3rrKysvT666/b23Pv2967d68eeugh1ahRQ//4xz8cPrvSuXPn9Mwzz6h27dry9vbWXXfdpWPHjslisWjixIn2fvndE92oUSPdeeed2rBhg7p06SJPT081btxYH330kcM2Tp8+reeee05t2rRRtWrV5OPjo759++rnn38uoSP1P+3atdOMGTN09uxZzZo166r1L1++XP369VPdunVltVrVpEkTTZ48WTk5OXnW+9Zbb6lx48aqUqWKunTpoh9++EG9evVSr1697H1yL3tfsGCBXnzxRdWrV09Vq1ZVenp6oY9B7joWLVqk2NhY1atXT97e3rr//vuVlpam7OxsjR49Wn5+fqpWrZqGDh2q7OzsEj+OAAAAQEXFme4K5Msvv1SjRo1000035fv5zTffrEaNGunrr7/O89mAAQPUrFkzTZkyRVe7I2HIkCFatGiRHn30UXXr1k3r169Xv379Cl3jgQMHdP/992vYsGEaPHiw3n//fQ0ZMkSdOnVS69atJUm///67li1bpgEDBig4OFipqamaO3euevbsqb1796pu3bqF3l5h5Nbz7bff6pVXXimwX3x8vKpVq6aYmBhVq1ZNa9as0fjx45Wenq433njD3m/27NmKjo7WTTfdpH/+8586fPiwIiIiVKNGDdWvXz/PeidPniwPDw8999xzys7OloeHh/bu3VukYxAXF6cqVapo7NixOnDggN58801VrlxZbm5uOnPmjCZOnKjNmzcrPj5ewcHBGj9+fMkdQAAAAKACI3RXEGlpafrzzz919913X7Vf27Zt9cUXXygjI0Pe3t729nbt2mn+/PlXXXbHjh1atGiRRo8erenTp0uSnnrqKQ0dOrTQZ6H37dun77//3v7FwAMPPKCgoCB98MEH+n//7/9Jktq0aaPffvvN4RLrRx99VC1atNB7772nl156qVDbKqzKlSvrhhtu0MGDB6/ab/78+apSpYp9/oknntATTzyht99+Wy+//LKsVqsuXLigl156STfeeKPWrFljvzy/bdu2GjJkSL6h+/z589q2bZvDuot6DC5duqT169ercuXKkqQTJ05owYIFuv322/XNN99Iuvz/1YEDB/T+++8TugEAAIASwuXlFURGRoYkOQTp/OR+np6e7tD+xBNPXHMbK1eulHQ5vF3p6aefLnSdrVq1cjgTX6dOHTVv3ly///67vc1qtdrDZk5Ojk6dOqVq1aqpefPm2rFjR6G3VRTVqlWzH8OCXBmKMzIydPLkSd10003666+/9Ouvv0qStm3bplOnTmnEiBEO98M//PDDqlGjRr7rHTx4sMO6paIfg8jISHvglqSuXbvKMAw99thjDv26du2qo0eP6tKlS1fdVwAAAACFQ+iuIHLD9LWCY0HhPDg4+JrbOHLkiNzc3PL0bdq0aaHr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KytLderUUZ06ddS0aVO98MILCg0N1dKlSyVJixcvVsuWLdWiRQudPHnSPvXp00eStHbtWof19ezZU61atXJoq169urKyspSQkFDo/fL19ZUkrVq1Sn/99Vehl5MkwzD0+eefq3///jIMw6Hu8PBwpaWlaceOHQ7LDB061OEhbn8/jjt37tShQ4c0evRoVa9e3WHZ3Ev+T58+rTVr1uiBBx5QRkaGfZunTp1SeHi49u/fr2PHjhVpXwAA4PJyAACu0KVLF4cHqQ0aNEgdOnRQdHS07rzzzqs+nTs4OLjI22vQoIHDfG4AP3PmjKTLT0rPvQc6V0BAgP2/PT099eWXX0q6/CTz4OBg1a9f3/75/v379csvv6hOnTr5bv/48ePX3IennnpKixYtUt++fVWvXj3ddttteuCBB3T77bcXuF/BwcGKiYnRtGnT9Omnn+qmm27SXXfdpUceecQeyAty4sQJnT17VvPmzdO8efMKVfe1jmPuJfchISEFbvfAgQMyDEMvvfSSXnrppQK3W69evavWDwDAlQjdAABchZubm3r37q2ZM2dq//79at26dYF9q1SpUuT1u7u759tuGIYkaeHChRo6dGi+n+UuHxYWVuD6bTab2rRpo2nTpuX7eVBQkMN8fvvg5+enXbt2adWqVVqxYoVWrFihDz74QJGRkfrwww8L3PbUqVM1ZMgQLV++XN9++62eeeYZxcXFafPmzQ5fDORXsyQ98sgjGjx4cL592rZt6zB/reNYGLnbfe655xQeHp5vn6ZNmxZ6fQAASIRuAACu6dKlS5KkzMzMIi+b39PKiyI8PLxIl3X/XZMmTfTzzz/rlltuua5aPDw81L9/f/Xv3182m01PPfWU5s6dq5deeumqQbRNmzZq06aNXnzxRW3cuFE9evTQnDlz9PLLL0vK//jUqVNH3t7eysnJueoXCkWR+4C2xMTEAtfZuHFjSVLlypVLbLsAAHBPNwAAV3Hx4kV9++238vDwUMuWLYu8fO67us+ePVus7QcGBiosLMxhKooHHnhAx44d0zvvvJPns3PnzikrK+ua6zh16pTDvJubm/1M899fO5YrPT3d/mVFrjZt2sjNzc1hGS8vrzzHxt3dXffdd58+//xzJSYm5ln3iRMnrlnz33Xs2FHBwcGaMWNGnu3lng338/NTr169NHfuXCUnJ5fIdgEA4Ew3AABXWLFihX799VdJl+/fnT9/vvbv36+xY8fKx8enyOvr1KmTJOmZZ55ReHi43N3dNXDgwBKt+WoeffRRLVq0SE888YTWrl2rHj16KCcnR7/++qsWLVqkVatWOdzDnp/hw4fr9OnT6tOnj+rXr68jR47ozTffVPv27Qv8ImLNmjWKjo7WgAEDdMMNN+jSpUv6+OOP7YE6V6dOnfTdd99p2rRpqlu3roKDg9W1a1e9+uqrWrt2rbp27aoRI0aoVatWOn36tHbs2KHvvvtOp0+fLtJxcHNz0+zZs9W/f3+1b99eQ4cOVWBgoH799Vft2bNHq1atknT5QXr/+Mc/1KZNG40YMUKNGzdWamqqNm3apD/++EM///xzkbYLAAChGwCAK4wfP97+356enmrRooVmz56txx9/vFjru/fee/X0009rwYIF+uSTT2QYRqmGbjc3Ny1btkzTp0/XRx99pKVLl6pq1apq3LixRo0apRtuuOGa63jkkUc0b948vf322zp79qwCAgL04IMPauLEiXJzy/+iuXbt2ik8PFxffvmljh07pqpVq6pdu3ZasWKFunXrZu83bdo0jRw5Ui+++KLOnTunwYMHq2vXrvL399fWrVs1adIkLVmyRG+//bZq1aql1q1b298VXlTh4eFau3atYmNjNXXqVNlsNjVp0kQjRoyw92nVqpW2bdum2NhYxcfH69SpU/Lz81OHDh0cfjYAACgsi1GUJ4yUA+np6fL19VVaWlqxzlgAKH8YFwAAAOAs3NMNAAAAAICTELoBAAAAAHASQjcAAAAAAE5C6AYAAAAAwEkI3QAAAAAAOAmhGwAAAAAAJyF0AwAAHT58WBaLRfHx8fa2iRMnymKxmFcUgArNYrFo4sSJZpcBXDdCNwAATnbw4EE9/vjjaty4sTw9PeXj46MePXpo5syZOnfunNnlmWrv3r2aOHGiDh8+bHYpQIUXHx8vi8Vinzw9PXXDDTcoOjpaqampZpdXKPPnz9eMGTPMLqPE9OrVSyEhIWaXgetUyewCAAAoz77++msNGDBAVqtVkZGRCgkJ0YULF7RhwwY9//zz2rNnj+bNm2d2mfl68cUXNXbsWKduY+/evYqNjVWvXr3UqFEjp24LQOFMmjRJwcHBOn/+vDZs2KDZs2frm2++UWJioqpWrVpqdZw7d06VKhUtrsyfP1+JiYkaPXq0c4oCioHQDQCAkxw6dEgDBw5Uw4YNtWbNGgUGBto/i4qK0oEDB/T111+XWj1//fVXkf5grlSpUpH/4AVQ9vXt21edO3eWJA0fPly1atXStGnTtHz5cg0aNOi61l2UccjT0/O6tgW4Ci4vBwDASV5//XVlZmbqvffecwjcuZo2bapRo0ZJki5duqTJkyerSZMmslqtatSokV544QVlZ2fnWe7tt99W69atZbVaVbduXUVFRens2bMOfXIvSdy+fbtuvvlmVa1aVS+88IIk6ezZsxoyZIh8fX1VvXp1DR48OM/yUv73dFssFkVHR2vZsmUKCQmR1WpV69attXLlSod+R44c0VNPPaXmzZurSpUqqlWrlgYMGOBwGXl8fLwGDBggSerdu7f9ktZ169bZ+6xYsUI33XSTvLy85O3trX79+mnPnj0O20pJSdHQoUNVv359Wa1WBQYG6u677+aSdaCE9OnTR9LlLxJzffLJJ+rUqZOqVKmimjVrauDAgTp69KjDclcbh7Zt26bw8HDVrl1bVapUUXBwsB577DGH5f9+T3dGRoZGjx6tRo0ayWq1ys/PT7feeqt27Nhh397XX3+tI0eO2MeTK6+gyc7O1oQJE9S0aVNZrVYFBQVpzJgxecbZwo5zknTs2DENGzZMdevWldVqVXBwsJ588klduHDB3ufs2bMaPXq0goKCZLVa1bRpU7322muy2WxF+H8hb32LFy9Wq1atVKVKFYWGhmr37t2SpLlz56pp06by9PRUr1698oyFP/zwgwYMGKAGDRrYj8M///nPfG93yt2Gp6enQkJCtHTpUg0ZMiTPlUk2m00zZsxQ69at5enpKX9/fz3++OM6c+ZMsfaxvOHrawAAnOTLL79U48aN1b1792v2HT58uD788EPdf//9evbZZ7VlyxbFxcXpl19+0dKlS+39Jk6cqNjYWIWFhenJJ5/Uvn37NHv2bP3000/68ccfVblyZXvfU6dOqW/fvho4cKAeeeQR+fv7yzAM3X333dqwYYOeeOIJtWzZUkuXLtXgwYMLvV8bNmzQkiVL9NRTT8nb21v//ve/dd999ykpKUm1atWSJP3000/auHGjBg4cqPr16+vw4cOaPXu2evXqpb1796pq1aq6+eab9cwzz+jf//63XnjhBbVs2VKS7P/78ccfa/DgwQoPD9drr72mv/76S7Nnz9Y//vEP7dy50/5H33333ac9e/bo6aefVqNGjXT8+HElJCQoKSmJS9aBEnDw4EFJsv/7fuWVV/TSSy/pgQce0PDhw3XixAm9+eabuvnmm7Vz505Vr17dvmx+49Dx48d12223qU6dOho7dqyqV6+uw4cPa8mSJVet44knntBnn32m6OhotWrVSqdOndKGDRv0yy+/qGPHjvq///s/paWl6Y8//tD06dMlSdWqVZN0ORTedddd2rBhg0aOHKmWLVtq9+7dmj59un777TctW7bMYVuFGef+/PNPdenSRWfPntXIkSPVokULHTt2TJ999pn++usveXh46K+//lLPnj117NgxPf7442rQoIE2btyocePGKTk5udj3n//www/64osvFBUVJUmKi4vTnXfeqTFjxujtt9/WU089pTNnzuj111/XY489pjVr1tiXXbx4sf766y89+eSTqlWrlrZu3ao333xTf/zxhxYvXmzv9/XXX+vBBx9UmzZtFBcXpzNnzmjYsGGqV69ennoef/xxxcfHa+jQoXrmmWd06NAhzZo1Szt37szzu6lCMiqYtLQ0Q5KRlpZmdikAXATjApwh9+fq7rvvvmbfXbt2GZKM4cOHO7Q/99xzhiRjzZo1hmEYxvHjxw0PDw/jtttuM3Jycuz9Zs2aZUgy3n//fXtbz549DUnGnDlzHNa5bNkyQ5Lx+uuv29suXbpk3HTTTYYk44MPPrC3T5gwwfj7nwqSDA8PD+PAgQP2tp9//tmQZLz55pv2tr/++ivPfm7atMmQZHz00Uf2tsWLFxuSjLVr1zr0zcjIMKpXr26MGDHCoT0lJcXw9fW1t585c8aQZLzxxht5tgegaD744ANDkvHdd98ZJ06cMI4ePWosWLDAqFWrllGlShXjjz/+MA4fPmy4u7sbr7zyisOyu3fvNipVquTQXtA4tHTpUkOS8dNPP121HknGhAkT7PO+vr5GVFTUVZfp16+f0bBhwzztH3/8seHm5mb88MMPDu1z5swxJBk//vijw3YLM85FRkYabm5u+e6HzWYzDMMwJk+ebHh5eRm//fabw+djx4413N3djaSkpKvuT8+ePY3WrVs7tEkyrFarcejQIXvb3LlzDUlGQECAkZ6ebm8fN26cIcmhb37jc1xcnGGxWIwjR47Y29q0aWPUr1/fyMjIsLetW7fOkORwjH/44QdDkvHp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J8+tKX5+fqpbt67DMl5eXvnewvLAAw/o2LFjeuedd/J8du7cOWVlZV2z7iu5ubkpIiJCX375pbZt25bn89z9e+CBB7Rp0yatWrUqT5+zZ8/q0qVLRdru9co9E37l8TcMQzNnznToV7duXYWEhOijjz5SZmamvX39+vX2V5PleuCBB5STk6PJkyfn2d6lS5fyfSVlRWP6me7mzZtr165dSktLs38rvn79+nyDd2hoqMOZgu7du6tly5aaO3duvv8nS5cfnx8bG+u0+gEAKEiTJk00f/58Pfjgg2rZsqUiIyMVEhKiCxcuaOPGjVq8eLGGDBmiUaNGafDgwZo3b57Onj2rnj17auvWrfrwww8VERGh3r17S7p8ZmXcuHGKjY3V7bffrrvuukv79u3T22+/rRtvvFGPPPLINWvq37+/evToobFjx+rw4cNq1aqVlixZUqj7rIvizjvv1McffyxfX1+1atVKmzZt0nfffWd/1U6u9u3by93dXa+99prS0tJktVrVp08f+fn5afbs2Xr00UfVsWNHDRw4UHXq1FFSUpK+/vpr9ejRQ7NmzdJvv/2mW265RQ888IBatWqlSpUqaenSpUpNTdXAgQNLdJ8AXB7XXn75ZY0bN06HDx9WRESEvL29dejQIS1dulQjR47Uc889d9V1fPjhh3r77bd1zz33qEmTJsrIyNA777wjHx8f+5eQf5eRkaH69evr/vvvV7t27VStWjV99913+umnnxyuqOnUqZMWLlyomJgY3XjjjapWrZr69++vRx99VIsWLdITTzyhtWvXqkePHsrJydGvv/6qRYsWadWqVQVeUl+QKVOm6Ntvv1XPnj3tryFLTk7W4sWLtWHDBlWvXl3PP/+8vvjiC915550aMmSIOnXqpKysLO3evVufffaZDh8+rNq1axdpu9ejRYsWatKkiZ577jkdO3ZMPj4++vzzz/N9EOWUKVN09913q0ePHho6dKjOnDmjWbNmKSQkxCGI9+zZU48//rji4uK0a9cu3XbbbapcubL279+vxYsXa+bMmbr//vtLbR9dUuk/MP3qbrnlFmPkyJGF7n///fcbAwcOLPDz8+fPG2lpafbp6NGjvBoIgANeGQZn++2334wRI0YYjRo1Mjw8PAxvb2+jR48exptvvmmcP3/eMAzDuHjxohEbG2sEBwcblStXNoKCgoxx48bZ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1WpyRQAAifEZgLmKdU/3zTffrISEBEnSgAEDNGrUKI0YMUKDBg3SLbfcUuT1RUdH66uvvtLatWtVv379q/YNCAhQamqqQ1tqaqoCAgLy7W+1WuXj4+MwAWYgcFccffr00YkTJ+zzW7du1ejRozVv3jwTqwIAMD4DMEOxQvesWbM0cOBASdL//d//KSYmRqmpqbrvvvv03nvvFXo9hmEoOjpaS5cu1Zo1axQcHHzNZUJDQ7V69WqHtoSEBIWGhhZtJ4BSROCuWB566CGtXbtW0uVbYsLCwrR161b93//9nyZNmmRydQBQcTE+AzBDsS4vv/JBZ25ubho7dmyxNh4VFaX58+dr+fLl8vb2tt+X7evrqypVqkiSIiMjVa9ePcXFxUmSRo0apZ49e2rq1Knq16+fFixYoG3btvENJVwWgbviSUxMVJcuXSRJixYtUps2bfTjjz/q22+/1RNPPKHx48ebXCEAVEyMzwDMUOz3dB88eFAvvviiBg0apOPHj0uSVqxYoT179hR6HbNnz1ZaWpp69eqlwMBA+7Rw4UJ7n6SkJCUnJ9vnu3fvrvnz52vevHlq166dPvvsMy1btuyqD18DzELgrpguXrxov1/wu+++01133SVJatGihcN4BgAoXYzPAMxQrNC9fv16tWnTRlu2bNGSJUuUmZkpSfr555/tD6ooDMMw8p2GDBli77Nu3TrFx8c7LDdgwADt27dP2dnZSkxM1B133FGc3QCcisBdcbVu3Vpz5szRDz/8oISEBPtraP7880/VqlXL5OoAoOJifAZghmKF7rFjx+rll19WQkKCPDw87O19+vTR5s2bS6w4oKwicFdsr732mubOnatevXpp0KBBateunSTpiy++sF/WCAAofYzPAMxQrHu6d+/erfnz5+dp9/Pz08mTJ6+7KKAsI3CjV69eOnnypNLT01WjRg17+8iRI1W1alUTKwOAio3xGYAZihW6q1evruTk5DxPG9+5c6fq1atXIoUBZRGBG7nc3d0d/qCTLr8fFgBgLsZnAKWtWKF74MCB+te//qXFixfLYrHIZrPpxx9/1HPPPafIyMiSrhEoEwjcFVvHjh21evVq1ahRQx06dJDFYimw744dO0qxMgCo2BifAZitWKF7ypQpioqKUlBQkHJyctSqVStdunRJDz/8sF588cWSrhFweQRu3H333fYn4kZE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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# The `plot_diagram()` and `plot_image()` methods can be used to visualize persistence diagrams and images\n", - "fig, axs = plt.subplots(1, 3, figsize=(10,5))\n", - "\n", - "axs[0].set_title(\"Original Diagram\")\n", - "pimgr.plot_diagram(pdgms[0], skew=False, ax=axs[0])\n", - "\n", - "axs[1].set_title(\"Birth-Persistence\\nCoordinates\")\n", - "pimgr.plot_diagram(pdgms[0], skew=True, ax=axs[1])\n", - "\n", - "axs[2].set_title(\"Persistence Image\")\n", - "pimgr.plot_image(pimgs[0], ax=axs[2])\n", - "\n", - "plt.tight_layout()" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Rips(maxdim=1, thresh=inf, coeff=2, do_cocycles=False, n_perm = None, verbose=True)\n" - ] - }, - { - "data": { - "image/png": "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6i6Ht2/f5umnn0alUjF79mz69+/P33//re0StGHDBhISEqhevTrTp0/nzp07fPDBB7Rt25a9e/ca7R525coVHnjgAaKionjllVeIiIjg9OnTLF++HFA/fX/88ceZPXs2N27cIDIyUrvtqlWrSE9P5/HHHy+2/k8++SRff/01jz32GG3atGHTpk08+OCDeuvt2rWLbdu2MXjwYCpVqsTp06eZP38+nTp1IiUlhaCgIDp06MCECRNISkpiypQp1KtXD0D7X1OuZ0MaNGhAREQEW7Zs4aGHHgJg69ateHl5ceDAAdLT0wkLC6OgoIBt27YxZswYg/sp6TsBcPPmTXr27En//v159NFHWbZsGf/6179o2LAhCQkJRuv4559/0rt3b+677z5mzpyJv78/J06c0HmYYMr1XdjixYvJycnhueee48aNG8yePZtHH32ULl26sHnzZv71r39x4sQJPvjgA1588UW++OIL7bZfffUVI0aMoEePHrz11ltkZWUxf/582rVrx759+4rtkpiRkUH79u05cuQIo0eP5v777+fatWv8+OOPnD9/nnLlyhndNi8vjx49etCuXTveeecdgoKCAHjiiSdYuHAhCQkJPPnkk+Tl5bF161Z27NhBs2bNDO4rKyuLjh07cuHCBZ5++mmqVKnCtm3bmDx5MpcuXdKOc1y/fj1Dhgyha9euvPXWWwAcOXKE33//Xe+cCiGEEE5NcTG//PKL4u3trXh7eyutW7dWXn75ZWXdunVKTk6OznrHjx9XvLy8lIcffljJz8/XWVZQUKD9/6ysLL1jPP3000pQUJBy9+5dbdmDDz6oVK1aVW/dXbt2KYCyYMECvWPUqlVL6dGjh97xqlWrpnTv3l1b9tprrymAMmTIEJPOwYIFCxRAadq0qc77nj17tgIoK1eu1JZ17NhR6dixo/b1+++/rwDK119/rS3LyclRWrdurYSEhCjp6emKoijK1atXFUB57bXXTKpTYmKiAihbt27Vlt2+fVupVq2aEhcXp/MZAMr48eNL3OepU6cUQClbtqxy48YNbfnKlSsVQFm1apW2rHHjxkp0dLRy/fp1bdmBAwcULy8vZfjw4doyzbk7deqUoiiKsmLFCgVQdu3aZbQex44dUwBl/vz5OuUPPfSQEhcXp/P5FrV//34FUMaNG6dT/thjj+mdX0PX4vbt2xVA+fLL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eXl50a9fP1atWsXu3bv1liuKYtFxvb296dGjBz/88ANnz57Vlh85coR169aZVEdvb2+91oAPPviA/Px8nXW6devGDz/8wMWLF7XlJ06cYM2aNSYdx9Rj2Yq3tzcPPPAAK1eu1EkPnZqaypIlS2jXrp3Zwx8uX77MlStXjHaVMxQEHD9+nJCQECpVqqQta9iwoXbd4upvzXNnybVTmvftrqTlRwghhBAA/N///R/Jycm0bNmSp556ivj4eG7cuMHevXvZsGEDN27cKHb727dvU6lSJR555BEaNWpESEgIGzZsYNeuXUbndTF1m6ZNmwLw73//m8GDB+Pr60ufPn0srrMhb775Jr/88gsdO3ZkzJgx1KtXj0uXLvHdd9/x22+/ERERYdFxZ8yYwdq1a2nfvj3jxo0jLy+PDz74gPr162sHpRend+/efPXVV4SHhxMfH8/27dvZsGGDNmW5xvTp0/nll19o27YtY8eOJT8/nw8//JAGDRqwf/9+k86FqceylTfeeIP169fTrl07xo0bh4+PDx9//DHZ2dnMnj3b7P0dOHAAoNggICQkhBo1amjLMjIy9IKssLCwEscs2eLclfbaKc37dlcS/AghhBACgJiYGP744w9mzpzJ8uXLmTdvHmXLlqV+/fo6c40YExQUxLhx4/jll19Yvnw5BQUF1KxZk3nz5jF27FiLtmnevDmvv/46H330EWvXrqWgoIBTp04RFxdnUZ0NqVixIjt37mTq1KksXryY9PR0KlasSEJCgnZuFkvO1X333ce6deuYNGkS06ZNo1KlSsyYMYNLly6ZFPzMmTMHb29vFi9ezN27d2nbti0bNmygR48eOus1bdqUNWvW8OKLLzJ16lQqV67MzJkzOXLkCEePHjXpXJh6LFupX78+W7duZfLkycyaNYuCggJatmzJ119/TcuWLc3en+b8FhcENGjQQKebZUhICOnp6TrrpaenExISUuyxbHHuSnvtlOZ9uyuV4qjRZhZIT08nPDyctLQ0yfYmhBB2JL+/Qri+fv368eeffxocOyL0ZWRkEBkZyalTp7Qpojt37szw4cOLHfPjTp555hnKly/vFtneZMyPEEIIIYSbunPnjs7r48eP8/PPP9OpUyfHVMgFhYSE0LdvX1577TXu3LnD6tWrOXjwIH379nV01WwuLy+Pu3fvkp+fr/P/rkxafoQQ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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# lots of random noise and 2 circles\n", - "data = np.concatenate([150 * np.random.random((300,2)),\n", - " 10 + 10 * datasets.make_circles(n_samples=100)[0],\n", - " 100 + 20 * datasets.make_circles(n_samples=100)[0]])\n", - "\n", - "rips = Rips()\n", - "dgms = rips.fit_transform(data)\n", - "H0_dgm = dgms[0]\n", - "H1_dgm = dgms[1]\n", - "\n", - "plt.figure(figsize=(10,5))\n", - "plt.subplot(121)\n", - "plt.scatter(data[:,0], data[:,1], s=4)\n", - "plt.title(\"Scatter plot of noisy data with some circles\")\n", - "\n", - "plt.subplot(122)\n", - "rips.plot(dgms, legend=False, show=False)\n", - "plt.title(\"Persistence diagram of $H_0$ and $H_1$\")\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAB1AAAAHzCAYAAACe1Y/aAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAD0DklEQVR4nOzdfXxcZZ3///c5Z5KmhRJosTTFUiqgGIpgv9gVcBUQtIhFVlFRUMCfaIuKiCKwK3aLN4grCsjaqusd21UWb0DrSpVFpC6iBWuVWhYrG8JdaoFCWihJkznn90cymc/VnKtzZjKZySSv5+MxD65cc51zXXPmnOkhV673BEmSJAIAAAAAAAAAAAAAKKz3AAAAAAAAAAAAAABgrGACFQAAAAAAAAAAAAAGMYEKAAAAAAAAAAAAAIOYQAUAAAAAAAAAAACAQUygAgAAAAAAAAAAAMAgJlABAAAAAAAAAAAAYBATqAAAAAAAAAAAAAAwiAlUAAAAAAAAAAAAABjEBCoAAAAAAAAAAAAADGICFYDjwAMPVBAEQ48wDDV16lS98IUv1PHHH6+PfexjWrt2rXf74447TkEQ6Fe/+lXtBg0AAICSdr3PC4JAkyZN0gEHHKC3v/3t+vWvfz1sm0K7ejnnnHMUBIG+/e1vl73tLbfcolNPPVWzZs1Sc3OzWltbdfDBB2vhwoX61Kc+pT//+c9O+4ceekhBEOjAAw+szuBr6IEHHtCXv/xlnXPOOTr88MOVy+UUBIE+/elP13toAABgDOA+cPzeBxZ8//vf13HHHad99tlHe+yxh4444gh9/vOfV19fX9n7euqpp/Ttb39bH/rQh3TMMcdoypQpCoJAJ5544iiMHBi7cvUeAICx6dhjj9XBBx8sSXr++ef15JNP6g9/+IN+9atf6eqrr9ZrXvMaffOb39SLXvSiOo8UAAAA5bD3ec8884zuvfde3XTTTfr+97+vL3zhC7rooovqPMKRyefzete73qXvfe97kqTDDjtMCxYs0OTJk/Xwww9rzZo1+vnPf67u7m594QtfqPNoq2P58uW69tpr6z0MAAAwxnEfOP7uAyXpwgsv1LXXXqtcLqcTTjhBe+65p375y1/qkksu0apVq/SLX/xCkydPzry/X//61zr33HNHccRAY2ACFUCq9773vTrnnHOcuiRJdOutt+rCCy/UnXfeqWOOOUZ333235s6dO9Tmhhtu0I4dO3TAAQfUeMQAAADIYtf7vJ6eHr3//e/XDTfcoI9//ON64xvfqBe/+MWSpPvvv79Oo6zcihUr9L3vfU9Tp07Vj3/8Yx1//PHO8zt27NBPf/rTYX+Nv//+++v+++9XU1NTLYdbFfPmzdPHPvYxvfzlL9f8+fP12c9+Vv/+7/9e72EBAIAxhvvA8XcfeMstt+jaa6/VnnvuqTvvvFPz58+XJD355JM64YQT9D//8z+6/PLLy5ow3m+//fT+979f8+fP1/z58/X73/9eixcvHq2XAIxZTKACyCwIAr3hDW/QMcccowULFmjTpk1673vfq9tvv32oDROnAAAAjaWlpUX/+q//qh/+8Id67rnn9KMf/UiXXnqpJOnQQw+t8+jKd+ONN0qSPvjBDw77pZkkTZkyRW9729uG1Tc1NTXk65UGfhlqhSHf1gMAAErjPnBAI98Hfvazn5UkXXrppUOTp5K077776itf+Yr+/u//Xtdff70uv/xytba2Ztrn0UcfraOPPnro5w0bNlR30ECD4P+qAJRt77331jXXXCNJ+uUvf6nf//73Q8/5vgP1iSee0HXXXac3vOENmjt3riZPnqy99tpLRx11lK666ir19PR4+9uwYYPe8pa3aN9999WUKVN0+OGH65prrlEcx0Pf4fDQQw8529j6H//4xzrhhBM0bdo0Z2yVjsl+B8TKlSu1YMEC7bnnnnrBC16gd7zjHXr44YclDazYvf7663XkkUdqjz320L777qtzzjlHW7ZsKeNoAwAAjL4999xTL3nJSyTJua9K++6rq6++WkEQ6MUvfrG2b98+bF9f//rXFQSBZs+erSeffNJ57i9/+Yve//7366CDDlJLS4taW1v16le/WitXrqzaa/nb3/4mSZoxY0ZZ2/m++6pwf7u7x3HHHTdsf48//rguuugivfSlL9WUKVM0depUveIVr9D111+v/v7+Sl8eAABAVXEf2Lj3gY899pjuueceSdI73/nOYc+/6lWv0uzZs9Xb26uf/exnVesXmCiYQAVQkZNPPlnTpk2TJN12220l2//85z/Xhz/8Yf3pT3/SnDlzdNppp2nBggV64IEHdOmll+qEE05Qb2/vsO3uvPNOLViwQD/60Y+09957601vepPa2tp0ySWXpN4Y7Orqq6/Waaedpu3bt2vhwoV6zWteoyiKRjSmgssuu0znnnuupk6dqpNPPllTpkzRjTfeqFe96lV6+umndcYZZ+jiiy9WW1ubXv/61yuKIn3nO9/RSSedpJ07d5YcOwAAQC1t27ZNkjRp0qTdtvvoRz+qU089VZs2bdL73vc+57k//vGPuuCCC5TL5fSf//mf2nfffYee+/73v68jjjhCX/va19Tc3Kw3vOENOuqoo7Ru3Tq9613v0nve856qvI5CIsq3v/1tdXd3j3h/Cxcu1Nlnn536KPySrXB/WbBmzRrNmzdPX/rSl9TT06OTTjpJxx57rB588EF96EMf0imnnDIsOk4q/qJy1z9GBAAAGE3cB6Yb6/eBf/jDHyRJ06ZNc75izTrqqKOctgDKkACAMWfOnERS8q1vfatk2xNPPDGRlJx11llDda95zWsSSckdd9zhtN24cWNy9913D9vH1q1bk9e97nWJpOTzn/+889yOHTuS/fffP5GUfPSjH03y+fzQc3/+85+T/fbbL5GUSEo6OjpSX0cURcmPf/zj1PFXMqYkSYb6nD59erJ+/XpnvK961asSScnhhx+eHHTQQclDDz009PwTTzyRHHzwwYmkZOXKlaljAgAAGC27u8/74x//mIRhmEhKvvnNbw7VF+57dvX0008nBx54YCIpWb58eZIkSbJt27bkkEMOSSQl//Iv/+K0/9Of/pRMmjQpaWlpSX74wx86zz300EPJ4YcfnkhKvvOd7zjPnX322ZnvTQtuvvnmoXG3trYmZ511VvKVr3wl+e1vf5v09vZ6t+vo6EgkJXPmzMnUz89+9rMkl8slU6ZMSX73u98N1Xd1dSXTp09PgiBIvvKVrzj3sE8++WRywgknJJKSZcuWDdtnYdy73kuXq3DcPvWpT41oPwAAYHzgPnB83gded911iaTkyCOP9La54IILEknJ6aefnnm/u/rWt76VSEpe+9rXVrwPoBGxAhVAxQp/SfbUU0+VbPvSl75Ur3zlK4fV77PPPvryl78saeCv0awf/OAHeuyxxzRnzhxdeeWVznc5tbe36/LLLy/Z79lnn61TTz21amOyrrjiCh1xxBFDP0+ePFkXXXSRJOm+++7Tddddpzlz5gw9v++++2rJkiWS5HxvLAAAQL10d3frZz/7md785jcrjmPNmjUr9XuhdrX33nvrpptuUnNzsy688EKtX79e733ve7Vp0yYtWrRIH/3oR532n/nMZ9Tb26tPf/rTevOb3+w8N2fOHH3jG9+QJF133XUjfk2nnXaavvGNb2j69Onq7u7WypUrdf755+uVr3ylWltb9Za3vGUo6qxS69at09ve9jYlSaIbb7xRCxYsGHrummuu0VNPPaUPfOADWrJkiXMPO336dN1www1qamrS9ddfryRJnP2+5CUv0Ute8hJNmTJlROMDAAAohfvAyoyl+8BCjPIee+zhbbPnnntKKq4yBpBdrt4DANC44jiWpGHfh+CTz+f1q1/9Sr/5zW/U1dWl559/XkmSDN0wPPDAA077O++8U5L01re+VU1NTcP2d+aZZ+qDH/zgbvs8/fTTqzom6w1veMOwukMOOUSSlMvl9LrXvc77/OOPP77bcQEAAIyWc889V+eee+6w+oMOOkg//OEPd/sLGOsVr3iFvvCFL+iCCy7Qcccdp+7ubs2ZM0ff+c53nPvDOI516623SpLe/va3p+7rqKOO0p577qk//OEP6unpUUtLSwWvrOg973mPzjjjDP30pz/VHXfcoXvvvVd/+tOf1NPTox/96Ef68Y9/rBUrVui9731v2fvu7OzUKaecomeffVbLly/XokWLnOf/67/+S5L/te6///465JBDtHHjRm3atEkvfvGLh5773//937LHAwAAkBX3gdwHAsiOCVQAFSt8GXzhu1B3Z9OmTfqHf/gH/fnPf/a22fUvoR599FFJGvYF7gV77723Wltbd/udBr5tKx2TVfheBavwV11tbW3K5YZ/xE6dOlWS1NPT490vAADAaDr22GN18MEHS5Kam5s1Y8YMvfKVr9TChQtT719250Mf+pB++tOf6he/+IWCINCNN96offbZx2nz1FNPDd1TzZ49u+Q+n3rqKe2///5ljSPNlClT9La3vW1oJcVzzz2nW2+9Vf/4j/+oTZs26QMf+IAWLlyoF77whZn3+fTTT+vkk0/W5s2bdemll2rx4sXD2vzf//2fJOnv//7vS+7viSeecH5xBgAAMJq4Dxxf94GF3zM+99xz3jbPPvusJGmvvfYaUV/ARMQEKoCKJEky9OXjhx9+eMn2p59+uv785z/rjW98oz7+8Y+rvb1de+21l5qamrRz587dfkn97la4llr9Onny5FEZkyQnhqOc5wAAAOrpve99r84555yq7GvTpk26++67JQ3cH65du3bYVyQUUkukga9XKKXUPVil9thjD51++uk6+uij9eIXv1g7duzQrbfeqvPOOy/T9r29vTrttNN0//3368wzz9RnP/vZ1HaF13v66aeXXMUxffr08l4EAADACHAfOL7uAwsLRx555BFvm8Jzu1tkAiAdE6gAKvKzn/1MTz/9tCSlRtVa//u//6s//elPmjFjhm6++eZhf9G2adOm1O0Kf3H20EMPpT7f3d2tZ555pryBj3BMAAAAGNDT06O3ve1t2r59u84880z94Ac/0MUXX6xjjjlGRx111FC7fffdV5MnT9bzzz+vL3zhC9p3333rOOqBe8z29nbde++9Q4kqpSRJorPPPltr1qzR8ccfr29+85veP+SbPXu2Nm3apEsuucQ5DgAAAOMF94Fj4z7w5S9/uaSBlbsdHR2aO3fusDb33nuvJGn+/PmjPh5gvGGJFICydXd36yMf+Ygk6aSTTtKRRx652/Zbt26VJM2aNSs1DmTlypWp27361a+WJH3/+99Xf3//sOe/+93vljPsqowJAAAAAz784Q9r/fr1Ov7443XDDTfo6quv1s6dO/W2t73N+SO3KIp00kknSZJuuummUR9X4bvsffL5vB577DFJyhzb9vGPf1z/+Z//qXnz5unmm29Wc3Ozt+3JJ58sqTavFQAAoB64D0xX6/vAF77whXrFK14hKf33pP/zP/+jRx55RJMmTdIb3vCGmowJGE+YQAWQWZIkuvXWW7VgwQJt2rRJbW1t+vrXv15yuxe/+MWKokj33XeffvWrXznPrVq1Sl/60pdSt3vrW9+qtrY2PfTQQ/qnf/onJ/bjf//3f3XFFVdU/FoqHRMAAAAGfkHzta99Tfvtt5+++93vKgxDfeADH9Dpp5+ujo4Ovec973HaL126VM3Nzbr44ov1ne98x7mvK9iwYYN+9KMfjXhsb3zjG3XVVVfp8ccfH/bcM888oyVLlqirq0t77bXX0C+5duf666/XF77wBe2///669dZb1drautv2F198sfbee2998YtfHPpl4q46OjpS/2Dv0EMP1aGHHqq1a9eWHBcAAEA9cB/oV4/7wH/8x3+UJH3uc5/TunXrhuqfeuopnX/++ZKkD37wg8PGfvPNN+vQQw/Va1/72rL6AyYSInwBpPq3f/u3oYnF3t5ePfnkk1q3bt3Qys3jjjtO3/zmNzVnzpyS+9p33331wQ9+UNdee61e+9rX6u///u81a9YsPfDAA1q3bp0+8YlP6NOf/vSw7aZMmaKVK1fqlFNO0ec//3n96Ec/0lFHHaWtW7fqV7/6ld70pjfpd7/7nR5++OHd/vVXNccEAAAw0T3wwAN6//vfrzAM9d3vflczZ84ceu7f/u3ftG7dOt1888269tpr9eEPf1jSQGTYypUrdc455+icc87RJz7xCbW3t+sFL3iBtm7dqvvuu0+PPvqo3v72t+vNb37ziMb32GOP6dJLL9Vll12mQw89VC95yUvU0tKizZs365577tFzzz2nyZMn64YbbsgUI1d4DQcccIA+8YlPpLY59NBDdemll0oaWAnw4x//WG95y1v0sY99TJ///Oc1b948tbW1qbu7W/fff78efPBB/d3f/Z3OOussZz8PPPCAJGnHjh1lveZ169YN/YJMkh588EFJ0le/+lX99Kc/Haq/+eab1dbWVta+AQAACrgPHK7e94GnnXaaLrjgAl133XV65Stfqde+9rXaY489dPvtt+uZZ57Rscceq0996lPDtuvu7tYDDzygnp6e1P3a77N94oknJEn33HOPU3/55ZfrlFNOKWu8QCNhAhVAqrvuukt33XWXpIEvWm9tbdXhhx+uo446Sm9/+9uH4iGy+tKXvqSXvexl+spXvqLf//73Wr9+vQ4//HDdeOONevvb3+6drDzhhBP0u9/9Tv/8z/+sO++8U7fccote9KIX6TOf+YwuuOACTZ06VWEYatq0aWW/xkrHBAAAMFE9//zzeutb36pnn31WS5cu1QknnOA839raqptuuknHHnusPv7xj+uYY44Zum9861vfqle84hW67rrrdNttt+muu+5SPp/Xfvvtp4MPPlgf/OAHdfrpp494jD/84Q9122236Ze//KU2btyoX//613rmmWe05557Dv2V/fnnn5/pDwElDa2SuPvuu3X33XentnnNa14z9IszaeCrKP785z/r+uuv13/913/pnnvuUW9vr2bMmKEDDjhAZ511lt7ylreM+LUWbNu2Tb/73e+G1T/66KN69NFHh37u7e2tWp8AAGBi4T5wbN4HStK1116rY489Vv/6r/+q3/zmN+rr69NBBx2kSy+9VB/5yEfKXngiKfXectd7zsLEKjBeBUmpYHAAGKPWrFmj17zmNTr88MP1pz/9qd7DAQAA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mGOqMzAAAADUDf5mBBAHE6gAAAAAgKZw/PHHF3y8v7+/SiMBAABAveJvRgBxjKl7oAIAAAAAGls2m5UlS5ZIZ2enTJ48WW655RbJ35lm1qxZTpya53myevVqueyyy6Sjo0MWLlwoF1xwgYiIHHvsseJ5nlx77bVD7X3fly996UsyadIk6erqkhUrVlTxmQEAAKBc+JsRQKmYQAUAAAAANIwHHnhAMpmMbN68We6++26544475Fvf+pbZfsWKFXLllVfKCy+8ICtXrpQf/vCHIiKybds22b17t9x9991O3x0dHfLMM8/I17/+dbn11lvlscceq/hzAgAAQHnxNyOAUjXdBOo3v/lNmTVrlrS3t8s555wjmzdvLtj+Bz/4gbzzne+U9vZ2Oe200+Rf//VfqzTSyrntttvkve99r0yYMEGmTJkiV1xxhWzbtq3gNvfff794nuf8a29vr9KIK2fFihUjntc73/nOgts04zUhMvDNquHHwvM8Wbx4cWT7Zromnn76abn00ktl+vTp4nmerFu3znk8CAL5yle+ItOmTZNx48bJhRdeKNu3by/ab9L3m3pQ6Fj09/fLjTfeKKeddpp0dHTI9OnT5eqrr5Y//OEPBfsczeusHhS7Lq699toRz2vBggVF+22260JEIt87PM+Tv//7vzf7bNTrAgBQ/2bMmCF33nmnnHrqqfLpT39avvCFL8idd95ptv/Upz4l1113nZx88skyc+ZMmTRpkoiITJkyRbq6uqSzs3Oo7emnny7Lly+X2bNny9VXXy1nnXWWbNiwoeLPCQAAAOXF34wAStVUE6jf//73ZdmyZbJ8+XLZsmWLnHHGGXLxxRfLa6+9Ftn+l7/8pVx11VXyuc99Tv7jP/5DrrjiCrniiitk69atVR55eT311FOyePFi2bRpkzz22GPS398vH/nIR+Tw4cMFt5s4caLs3r176N+uXbuqNOLKete73uU8r1/84hdm22a9JkQGbo6uj0P+W1F//ud/bm7TLNfE4cOH5YwzzpBvfvObkY9//etfl3/8x3+UNWvWyDPPPCMdHR1y8cUXS09Pj9ln0vebelHoWBw5ckS2bNkit9xyi2zZskV+9KMfybZt2+Syyy4r2m+S11m9KHZdiIgsWLDAeV4PPvhgwT6b8boQEecY7N69W+69917xPE/+9E//tGC/jXhdAADq37nnniue5w39PH/+fNm+fbvkcrnI9meddVbsvk8//XTn52nTptX973EAAACMxN+MAEqVqfUAyumOO+6QhQsXynXXXSciImvWrJGf/OQncu+998pNN900ov3dd98tCxYskC9+8YsiIvLVr35VHnvsMVm1apWsWbOmqmMvp/Xr1zs/33///TJlyhR57rnn5AMf+IC5ned50tXVVenhVV0mk4n9vJr1mhAZeXP0r33ta3LKKafIBz/4QXObZrkmLrnkErnkkksiHwuCQO666y758pe/LJdffrmIiHznO9+RqVOnyrp16+STn/xk5HZJ32/qRaFj0dnZOSJuZNWqVXL22WfLyy+/LH/0R39k9pvkdVYvCh2LvLa2tkTPqxmvCxEZcQweeughueCCC+Tkk08u2G8jXhcAgObT0dERu21LS4vzs+d54vt+uYcEAACAOsPfjACGa5oVqH19ffLcc8/JhRdeOFSXSqXkwgsvlI0bN0Zus3HjRqe9iMjFF19stm9U+/fvFxEZih2wHDp0SGbOnCkzZsyQyy+/XH7zm99UY3gVt337dpk+fbqcfPLJ8ulPf1pefvlls+1YuSb6+vpk7dq18tnPftb5JtZwzXpNaDt37pTu7m7nvHd2dso555xjnvfRvN80qv3794vneXLMMccUbJfkddZInnzySZkyZYqceuqpcv3118vevXvNtmPlutizZ4/85Cc/kc997nNF2zbrdQEAqK1nnnnG+XnTpk0ye/ZsSafTsbZvbW0VETFXHwAAAKDx8TcjgFI1zQTqG2+8IblcTqZOnerUT506Vbq7uyO36e7uTtS+Efm+L0uXLpX3v//9MnfuXLPdqaeeKvfee6889NBDsnbtWvF9X973vvfJq6++WsXRlt8555wj999/v6xfv15Wr14tO3fulP/1v/6XHDx4MLL9WLgmRETWrVsnb731llx77bVmm2a9JobLn9sk53007zeNqKenR2688Ua56qqrZOLEiWa7pK+zRrFgwQL5zne+Ixs2bJDbb79dnnrqKbnkkkvMP5zHynXxwAMPyIQJE+RjH/tYwXbNel0AAGrv5ZdflmXLlsm2bdvkwQcflG984xtyww03xN5+5syZ4nmePProo/L666/LoUOHKjhaAAAA1AJ/MwIoVVNF+GKkxYsXy9atW4ved27+/Pkyf/78oZ/f9773yR//8R/LP/3T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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# The resolution of the persistence image is adjusted by choosing the pixel size, given in the same units as the diagram\n", - "pimgr = PersistenceImager(pixel_size=1)\n", - "pimgr.fit(H1_dgm)\n", - "\n", - "fig, axs = plt.subplots(1, 3, figsize=(20,5))\n", - "pimgr.plot_diagram(H1_dgm, skew=True, ax=axs[0])\n", - "axs[0].set_title('Diagram', fontsize=16)\n", - "\n", - "pimgr.plot_image(pimgr.transform(H1_dgm), ax=axs[1])\n", - "axs[1].set_title('Pixel Size: 1', fontsize=16)\n", - "\n", - "pimgr.pixel_size = 0.1\n", - "pimgr.plot_image(pimgr.transform(H1_dgm), ax=axs[2])\n", - "axs[2].set_title('Pixel Size: 0.1', fontsize=16)\n", - "\n", - "plt.tight_layout()" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "import numpy as np\n", - "from scipy import special\n", - "import matplotlib.pyplot as plt\n", - "x = np.linspace(-3, 3)\n", - "plt.plot(x, special.erfc(-x / np.sqrt(2.0)) / 2.0)\n", - "plt.xlabel('$x$')\n", - "plt.ylabel('$erfc(x)$')\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [], - "source": [ - "def norm_cdf(x):\n", - " return special.erfc(-x / np.sqrt(2.0)) / 2.0" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [], - "source": [ - "def persistence(birth, pers, n=1.0):\n", - " return pers ** n" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": {}, - "outputs": [], - "source": [ - "pers_dgm = np.copy(H1_dgm)\n", - "pers_dgm[:, 1] = pers_dgm[:, 1] - pers_dgm[:, 0]\n", - "pixel_size = .01\n", - "birth_range = [min(pers_dgm[:,0]), max(pers_dgm[:,0])]\n", - "pers_range = [min(pers_dgm[:,1]), max(pers_dgm[:,1])]\n", - "\n", - "width = birth_range[1] - birth_range[0]\n", - "height = pers_range[1] - pers_range[0]\n", - "resolution = (int(width/pixel_size), int(height/pixel_size))\n", - "pers_img = np.zeros(resolution)\n", - "n = pers_dgm.shape[0]\n", - "\n", - "\n", - "bpnts = np.linspace(birth_range[0], birth_range[1] + pixel_size,\n", - " resolution[0] + 1, endpoint=False, dtype=np.float64)\n", - "ppnts = np.linspace(pers_range[0], pers_range[1] + pixel_size,\n", - " resolution[1] + 1, endpoint=False, dtype=np.float64)\n", - "\n", - "\n", - "\n", - "wts = persistence(pers_dgm[:, 0], pers_dgm[:, 1])\n", - "sigma = 1\n", - "sigma = np.array([[sigma, 0.0], [0.0, sigma]], dtype=np.float64)\n", - "sigma = np.sqrt(sigma[0][0])" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([[1.46541834e-04, 1.47071368e-04, 1.47589197e-04, ...,\n", - " 3.07276612e-04, 3.06342797e-04, 3.05383629e-04],\n", - " [1.48024657e-04, 1.48559612e-04, 1.49082747e-04, ...,\n", - " 3.08556424e-04, 3.07622965e-04, 3.06664024e-04],\n", - " [1.49509910e-04, 1.50050307e-04, 1.50578766e-04, ...,\n", - " 3.09818220e-04, 3.08885212e-04, 3.07926595e-04],\n", - " ...,\n", - " [1.57554540e-05, 1.59798564e-05, 1.62062842e-05, ...,\n", - " 1.14361160e-14, 1.03181993e-14, 8.36455200e-15],\n", - " [1.55727352e-05, 1.57948655e-05, 1.60190087e-05, ...,\n", - " 8.36455200e-15, 9.27263029e-15, 1.05280377e-14],\n", - " [1.53913623e-05, 1.56112321e-05, 1.58331022e-05, ...,\n", - " 8.01722286e-15, 8.22706129e-15, 8.22706129e-15]])" - ] - }, - "execution_count": 21, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "for i in range(n):\n", - " ncdf_b = norm_cdf((bpnts - pers_dgm[i, 0]) / sigma)\n", - " ncdf_p = norm_cdf((ppnts - pers_dgm[i, 1]) / sigma)\n", - " curr_img = ncdf_p[None, :] * ncdf_b[:, None]\n", - " pers_img += wts[i]*(curr_img[1:, 1:] - curr_img[:-1, 1:] - curr_img[1:, :-1] + curr_img[:-1, :-1])\n", - "\n", - "pers_img" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 22, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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4osvHN3zTz31lNCrVy/hH//4h3Dw4EHhtttuE3JycoRLly457uPGG28UVq9e7fi6q99/Jfl7vO3t7cKUKVOE/v37C/v373f5fW5ra3Pch/vj7ep3Qkn+Hm9zc7Pw61//Wvj000+FyspKoby8XBgxYoQwePBgobW11XEfkfL6ihobG4WePXsKa9as8XofSr++EVUMCIIgrF69WhgwYICg1+uF0aNHC7t27XJc94Mf/ECYOXOmS379+vXC9773PUGv1wsFBQXCpk2bwjxieQB4/ffqq686Mu6Pd968eY7nJi0tTfjRj34k7Nu3L/yDl+GOO+4Q0tPTBb1eL/Tr10+44447hBMnTjiuj6TXVvT+++8LAISKigqP67T+2n7wwQdef37Fx2S324VFixYJaWlpgsFgEG666SaP5yErK0tYsmSJy2X+fv+V5O/xVlZW+vx9/uCDDxz34f54u/qdUJK/x9vS0iJMnDhR6Nu3r9CjRw8hKytLePDBBz3e1CPl9RW98MILQnx8vPDtt996vQ+lX19uYUxERBTlIqZngIiIiORhMUBERBTlWAwQERFFORYDREREUY7FABERUZRjMUBERBTlWAwQERFFORYDREREUY7FABF1afz48Zg3b57P67Ozs7Fq1aqQ3DcRhR63MCaibtuzZw8SEhL8ZrZv344JEybgm2++Qa9evcIzMCKShMUAEXVb3759/V7f0dERppEQkRw8TUBEkly+fBmzZ8+GyWRCnz59sGjRIohbm7ifJtDpdFizZg2mTJmChIQEPPjgg5gwYQIAoHfv3tDpdLjvvvscebvdjt/85jdITk6G2WzG448/HsZHRkQsBohIktdeew1xcXHYvXs3nn32WaxcuRIvvfSSz/zjjz+O22+/HYcOHcITTzyBv//97wCAiooK1NTU4Nlnn3W574SEBHz22Wd4+umn8eSTT2Lr1q0hf0xE1ImnCYhIkszMTPzhD3+ATqdDbm4uDh06hD/84Q948MEHvebvvvtu3H///Y6vKysrAQCpqakePQPDhg3DkiVLAACDBw/Gn/70J2zbtg0//OEPQ/NgiMgFjwwQkSRjx46FTqdzfH399dfj+PHjsNlsXvOjRo2SfN/Dhg1z+To9PR11dXXyBkpEAWMxQEQh0dXsAmc9evRw+Vqn08Futwd7SETkA4sBIpLks88+c/l6165dGDx4MGJjYyXdXq/XA4DPIwlEpBwWA0QkyenTp1FSUoKKigqsW7cOq1evxty5cyXfPisrCzqdDu+++y7OnTuHCxcuhHC0RBQIFgNEJMm9996LS5cuYfTo0Zg1axbmzp2Lhx56SPLt+/XrhyeeeAKPPvoo0tLSMHv27BCOlogCoRPEicJEREQUlXhkgIiIKMqxGCAiIopyLAaIiIiiHIsBIiKiKMdigIiIKMqxGCAiIopyLAaIiIiiHIsBIiKiKMdigIiIKMqxGCAiIopyLAaIiIii3P8Pe1a99sj/s5AAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "pimgr.plot_diagram(H1_dgm)" - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 23, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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7LDDDjvssDduB6wPO+ywww477I3bAevDDvvI7Rd/8Rfx27/92934n/7pn8af/MmfvEjehx122IexV5/B7LDDDntZ+8d//Ed88sknwzR/93d/hy9+8Yv47//+b3z/93//hynYYYcdNm0HrA877FNuP/RDPzSMv1wuH6gkhx122K12uMEPO+xTYNfrFV/+8pfxfd/3ffjsZz+L3//9308zItVucCLCn//5n+OXf/mX8cknn+BLX/oSvvjFLwIAfuAHfgBEhF//9V9P6b33+N3f/V384A/+IH70R38UX/3qVz/gmR122GHAAevDDvtU2F/+5V/idDrhH/7hH/CNb3wDf/zHf4y/+Iu/6Kb/6le/il/5lV/Bt7/9bXzta1/DX/3VXwEAvvOd7+A//uM/8I1vfKPI+5NPPsG3vvUt/NEf/RH+8A//EH/zN3/z4ud02GGHZTvc4Icd9imwz33uc/j6178OIsLP/MzP4Nvf/ja+/vWv40tf+pKZ/ld/9VfxG7/xG2n7n//5nwEAP/zDP9y0WX/hC1/AH/zBHwAAPv/5z+PP/uzP8Ld/+7f4pV/6pZc5mcMOO6yxQ1kfdtinwH7+53++mLr3F37hF/BP//RPWFf7U1g/+7M/O533F77whWL7x37sx/Cf//mftxX0sMMOu8kOWB922P9B2+odru18PhfbRATvH/mdzsMOO2zLDlgfdtinwL71rW8V23//93+Pz3/+81iWZWr/p6cnAOgq8cMOO+x17YD1YYd9Cuxf/uVf8Du/8zv4zne+g29+85v40z/9U3zlK1+Z3v+nfuqnQET467/+a/zXf/0X/vd///cFS3vYYYfttQPWhx32KbBf+7Vfw3e/+1383M/9HH7rt34LX/nKV/Cbv/mb0/v/xE/8BL72ta/h937v9/AjP/Ij+PKXv/yCpT3ssMP22vGJzMMOO+ywww5743Yo68MOO+ywww5743bA+rDDDjvssMPeuB2wPuywww477LA3bgesDzvssMMOO+yN2wHrww477LDDDnvjdsD6sMMOO+yww964HbA+7LDDDjvssDduB6wPO+ywww477I3bAevDDjvssMMOe+N2wPqwww477LDD3rgdsD7ssMMOO+ywN24HrA877LDDDjvsjdv/B6xZ3lqY7GMsAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "pimgr = PersistenceImager(pixel_size=.01)\n", - "pimgr.plot_image(pers_img)" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "metadata": {}, - "outputs": [], - "source": [ - "def img_transform(pers_dgm, ps=.2):\n", - " pers_dgm = np.copy(pers_dgm)\n", - " pers_dgm[:, 1] = pers_dgm[:, 1] - pers_dgm[:, 0]\n", - " pixel_size = ps\n", - " birth_range = [min(pers_dgm[:,0]), max(pers_dgm[:,0])]\n", - " pers_range = [min(pers_dgm[:,1]), max(pers_dgm[:,1])]\n", - "\n", - " width = birth_range[1] - birth_range[0]\n", - " height = pers_range[1] - pers_range[0]\n", - " resolution = (int(width/pixel_size), int(height/pixel_size))\n", - " pers_img = np.zeros(resolution)\n", - " n = pers_dgm.shape[0]\n", - "\n", - "\n", - " bpnts = np.linspace(birth_range[0], birth_range[1] + pixel_size,\n", - " resolution[0] + 1, endpoint=False, dtype=np.float64)\n", - " ppnts = np.linspace(pers_range[0], pers_range[1] + pixel_size,\n", - " resolution[1] + 1, endpoint=False, dtype=np.float64)\n", - "\n", - "\n", - "\n", - " wts = persistence(pers_dgm[:, 0], pers_dgm[:, 1])\n", - " sigma = 1\n", - " sigma = np.array([[sigma, 0.0], [0.0, sigma]], dtype=np.float64)\n", - " sigma = np.sqrt(sigma[0][0])\n", - " for i in range(n):\n", - " ncdf_b = norm_cdf((bpnts - pers_dgm[i, 0]) / sigma)\n", - " ncdf_p = norm_cdf((ppnts - pers_dgm[i, 1]) / sigma)\n", - " curr_img = ncdf_p[None, :] * ncdf_b[:, None]\n", - " pers_img += wts[i]*(curr_img[1:, 1:] - curr_img[:-1, 1:] - curr_img[1:, :-1] + curr_img[:-1, :-1])\n", - "\n", - " return pers_img\n" - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "metadata": {}, - "outputs": [], - "source": [ - "import collections\n", - "def ensure_iterable(pers_dgms):\n", - " # if first entry of first entry is not iterable, then diagrams is singular and we need to make it a list of diagrams\n", - " try:\n", - " singular = not isinstance(pers_dgms[0][0], collections.Iterable)\n", - " except IndexError:\n", - " singular = False\n", - "\n", - " if singular:\n", - " pers_dgms = [pers_dgms]\n", - " \n", - " return pers_dgms, singular" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "metadata": {}, - "outputs": [], - "source": [ - "from joblib import Parallel, delayed\n", - "def transform(pers_dgms, ps=.2, n_jobs=None):\n", - " if n_jobs is not None:\n", - " parallelize = True\n", - " else:\n", - " parallelize = False\n", - " \n", - " # convert to a list of diagrams if necessary \n", - " pers_dgms, singular = ensure_iterable(pers_dgms)\n", - " \n", - " if parallelize:\n", - " pers_imgs = Parallel(n_jobs=n_jobs)(delayed(img_transform)(pers_dgm, ps) for pers_dgm in pers_dgms)\n", - " else:\n", - " pers_imgs = [img_transform(pers_dgm, ps) for pers_dgm in pers_dgms]\n", - " \n", - " if singular:\n", - " pers_imgs = pers_imgs[0]\n", - " \n", - " return pers_imgs" - ] - }, - { - "cell_type": "code", - "execution_count": 34, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Execution time in serial: 8.81214 sec.\n" - ] - } - ], - "source": [ - "import time\n", - "num_diagrams = 10000\n", - "min_pairs = 50\n", - "max_pairs = 100\n", - "\n", - "dgms = [np.random.rand(np.random.randint(min_pairs, max_pairs), 2) for _ in range(num_diagrams)]\n", - "\n", - "\n", - "start_time = time.time()\n", - "transform(dgms, .1)\n", - "print(\"Execution time in serial: %g sec.\" % (time.time() - start_time))" - ] - }, - { - "cell_type": "code", - "execution_count": 36, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Execution time in parallel: 2.47634 sec.\n" - ] - } - ], - "source": [ - "start_time = time.time()\n", - "transform(dgms, .1, n_jobs=-1)\n", - "print(\"Execution time in parallel: %g sec.\" % (time.time() - start_time))" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.9.6" - }, - "orig_nbformat": 4 - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/pyproject.toml b/pyproject.toml index 65119388..29734383 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -2,7 +2,7 @@ [project] name = "teaspoon" -version = "1.5.0" +version = "1.5.1" authors = [ { name="Elizabeth Munch", email="muncheli@msu.edu" }, ] @@ -36,8 +36,9 @@ dependencies = ["cycler>=0.11.0", "sortedcontainers>=2.4.0", "giotto-tda>=0.5.0", "persim", - "pandas", - "gudhi" + "pandas>=1.4.1", + "gudhi", + "numba" ] [tool.setuptools.packages.find] diff --git a/teaspoon/teaspoon/ML/datasets/__init__.py b/teaspoon/teaspoon/ML/datasets/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/teaspoon/teaspoon/ML/feature_functions.py b/teaspoon/teaspoon/ML/feature_functions.py index e6cd9cd8..7ec6b518 100644 --- a/teaspoon/teaspoon/ML/feature_functions.py +++ b/teaspoon/teaspoon/ML/feature_functions.py @@ -18,6 +18,9 @@ from sympy import Piecewise from sympy import diff, integrate from itertools import combinations +from numba import guvectorize +from sklearn import mixture +import copy # -------------------------------------------- # # -------------------------------------------- # @@ -1162,3 +1165,278 @@ def plot_F_Images(PI_features, num_plots=6, rows=2, cols=3, index=[], labels=[]) axs[r,c].imshow(img) axs[r,c].set(xlabel='birth',ylabel='persistence',xticks=([]),yticks=([]), title=tid[i]) i += 1 + +@guvectorize(["void(float64[:,:,:], float64[:,:], float64, float64[:])",],"(p,m,n), (m,n), ()->(p)", target='parallel', nopython=True) +def kernel_distance_parallel(dgms0, dgms1, sigma, result): + """ + + This function computes (in parallel) the multiscale heat kernel distance for an array of persistence diagrams based on the formula provided in Ref. :cite:`5 `. + There are three inputs and these are two persistence diagram arrays and the kernel scale sigma. This function should be used for medium size datasets. + + Parameters + ---------- + dgms0 : ndarray + Object array that includes first persistence diagram set. + dgms1 : ndarray + Object array that includes second persistence diagram set. + sigma : float + Kernel scale. + + Returns + ------- + result : np array + The kernel matrix + + """ + n_train = len(dgms0) + for i in range(n_train): + dgm0=dgms0[i] + dgm1 = dgms1 + kSigma0 = 0 + kSigma1 = 0 + kSigma2 = 0 + for k in range(dgm0.shape[0]): + p = dgm0[k,0:2] + if np.sum(p)==-2: + continue + for l in range(dgm0.shape[0]): + q = dgm0[l,0:2] + if np.sum(q)==-2: + continue + qc = dgm0[l, 1::-1] + pq = (p[0] - q[0])**2 + (p[1] - q[1])**2 + pqc = (p[0] - qc[0])**2 + (p[1] - qc[1])**2 + kSigma0 += math.exp(-( pq) / (8 * sigma)) - math.exp(-(pqc) / (8 * sigma)) + for k in range(dgm1.shape[0]): + p = dgm1[k,0:2] + if np.sum(p)==-2: + continue + for l in range(dgm1.shape[0]): + q = dgm1[l,0:2] + if np.sum(q)==-2: + continue + qc = dgm1[l, 1::-1] + pq = (p[0] - q[0])**2 + (p[1] - q[1])**2 + pqc = (p[0] - qc[0])**2 + (p[1] - qc[1])**2 + kSigma1 += math.exp(-( pq) / (8 * sigma)) - math.exp(-(pqc) / (8 * sigma)) + for k in range(dgm0.shape[0]): + p = dgm0[k,0:2] + if np.sum(p)==-2: + continue + for l in range(dgm1.shape[0]): + q = dgm1[l,0:2] + if np.sum(q)==-2: + continue + qc = dgm1[l, 1::-1] + pq = (p[0] - q[0])**2 + (p[1] - q[1])**2 + pqc = (p[0] - qc[0])**2 + (p[1] - qc[1])**2 + kSigma2 += math.exp(-( pq) / (8 * sigma)) - math.exp(-(pqc) / (8 * sigma)) + + kSigma0 = kSigma0/(8 * np.pi * sigma) + kSigma1 = kSigma1/(8 * np.pi * sigma) + kSigma2 = kSigma2/(8 * np.pi * sigma) + result[i] = math.sqrt(kSigma1 + kSigma0-2*kSigma2) + +@guvectorize(["void(float64[:,:,:], float64[:,:], float64, float64[:])",],"(p,m,n), (m,n), ()->(p)", target='cpu', nopython=True) +def kernel_distance(dgms0, dgms1, s, result): + """ + + This function computes the multiscale heat kernel distance for an array of persistence diagrams based on the formula provided in Ref. :cite:`5 `. + There are three inputs and these are two persistence diagram arrays and the kernel scale sigma. This function should be used for small size datasets. + + Parameters + ---------- + dgms0 : ndarray + Object array that includes first persistence diagram set. + dgms1 : ndarray + Object array that includes second persistence diagram set. + sigma : float + Kernel scale. + + Returns + ------- + result : np array + The kernel matrix + + """ + n_train = len(dgms0) + for i in range(n_train): + dgm0=dgms0[i] + dgm1 = dgms1 + kSigma0 = 0 + kSigma1 = 0 + kSigma2 = 0 + sigma = s + for k in range(dgm0.shape[0]): + p = dgm0[k,0:2] + if np.sum(p)==-2: + continue + for l in range(dgm0.shape[0]): + q = dgm0[l,0:2] + if np.sum(q)==-2: + continue + qc = dgm0[l, 1::-1] + pq = (p[0] - q[0])**2 + (p[1] - q[1])**2 + pqc = (p[0] - qc[0])**2 + (p[1] - qc[1])**2 + kSigma0 += math.exp(-( pq) / (8 * sigma)) - math.exp(-(pqc) / (8 * sigma)) + for k in range(dgm1.shape[0]): + p = dgm1[k,0:2] + if np.sum(p)==-2: + continue + for l in range(dgm1.shape[0]): + q = dgm1[l,0:2] + if np.sum(q)==-2: + continue + qc = dgm1[l, 1::-1] + pq = (p[0] - q[0])**2 + (p[1] - q[1])**2 + pqc = (p[0] - qc[0])**2 + (p[1] - qc[1])**2 + kSigma1 += math.exp(-( pq) / (8 * sigma)) - math.exp(-(pqc) / (8 * sigma)) + for k in range(dgm0.shape[0]): + p = dgm0[k,0:2] + if np.sum(p)==-2: + continue + for l in range(dgm1.shape[0]): + q = dgm1[l,0:2] + if np.sum(q)==-2: + continue + qc = dgm1[l, 1::-1] + pq = (p[0] - q[0])**2 + (p[1] - q[1])**2 + pqc = (p[0] - qc[0])**2 + (p[1] - qc[1])**2 + kSigma2 += math.exp(-( pq) / (8 * sigma)) - math.exp(-(pqc) / (8 * sigma)) + + kSigma0 = kSigma0/(8 * np.pi * sigma) + kSigma1 = kSigma1/(8 * np.pi * sigma) + kSigma2 = kSigma2/(8 * np.pi * sigma) + result[i] = math.sqrt(kSigma1 + kSigma0-2*kSigma2) + +def f_dgm(dgm, function, **keyargs): + ''' + Given a persistence diagram :math:`D = (S,\mu)` and a compactly supported function in :math:`\mathbb{R}^2`, this function computes + .. math:: + \\nu_{D}(f) = \sum_{x\in S} f(x)\mu(x) + :param dgm: persistent diagram, array of points in :math:`\mathbb{R}^2`. + :type dgm: Numpy array + :param function: Compactly supported function in :math:`\mathbb{R}^2`. + :type function: function + :param keyargs: Additional arguments required by `funciton` + :type keyargs: Dicctionary + :return: float -- value of :math:`\\nu_{D}(f)`. + ''' + + temp = function(dgm, **keyargs) + + return sum(temp) + +def f_ellipse (x, center=np.array([0,0]), axis=np.array([1,1]), rotation=np.array([[1,0],[0,1]])): + ''' + Computes a bump function centered with an ellipsoidal domain centered ac `c`, rotaded by 'rotation' and with axis given by 'axis'. The bump function is computed using the gollowing formula + .. math:: + f_{A,c} (x) = \max \\left\{ 0, 1 - (x - c)^T A (x - c)\\right\} + :param x: point to avelatuate the function :math:`f_{A,c}` + :type z: Numpy array + :param center: center of the ellipse + :type center: Numpy array + :param axis: Size f themjor an minor axis of the ellipse + :type axis: Numpy array + :param rotation: Rotation matrix for the ellipse + :type rotation: Numpy array + :return: float -- value of :math:`f_{A,c} (x)`. + ''' + sigma = np.diag(np.power(axis, -2)) + x_centered = np.subtract(x, center) + temp = x_centered@rotation@sigma@np.transpose(rotation)@np.transpose(x_centered) + temp = np.diag(temp) + + return np.maximum(0, 1-temp) +def adaptive_feature(list_dgms, function, **keyargs): + ''' + Given a collection of persistent diagrams and a compactly supported function in :math:`\mathbb{R}^2`, computes :math:`\\nu_{D}(f)` for each diagram :math:`D` in the collection. + :param list_dgms: list of persistent diagrams + :type list_dgms: list + :param function: Compactly supported function in :math:`\mathbb{R}^2`. + :type function: function + :param keyargs: Additional arguments required by `funciton` + :type keyargs: Dicctionary + :return: Numpy array -- Array of values :math:`\\nu_{D}(f)` for each diagram :math:`D` in the collection `list_dgms`. + ''' + num_diagrams = len(list_dgms) + + feat = np.zeros(num_diagrams) + for i in range(num_diagrams): + feat[i] = f_dgm(list_dgms[i], function, **keyargs) + + return feat + +def adaptive_template_functions(train_dgms, d=25, threshold=.05): + """ + + This function computes adaptive template functions as in the paper :cite:`6 ` from a training set and returns the ellipses needed to fit features to a training and testing dataset. + + Parameters + ---------- + train_dgms : ndarray + Object array that includes training diagrams + d : integer + maximum number of functions. + threshold: float + cutoff for inclusion as + + Returns + ------- + ellipses : list + list of ellipses that are the adaptive template functions + + """ + #### Combine all diagrams + X_train_temp = np.vstack(train_dgms) + ### return means for scoring + gmm = mixture.BayesianGaussianMixture(n_components=d, covariance_type='full', max_iter=int(10e4)).fit(X_train_temp) + ellipses = [] + for i in range(len(gmm.means_)): + L, v = np.linalg.eig(gmm.covariances_[i]) + temp = {'mean':gmm.means_[i], 'std':np.sqrt(L), 'rotation':v.transpose(), 'radius':max(np.sqrt(L)), 'entropy':gmm.weights_[i]} + temp['std'] = 3*temp['std'] + ellipses.append(temp) + + return ellipses + +def adaptive_template_features(list_dgms, list_ellipses, function=f_ellipse): + ''' + This function computes all the features for a collection of persistent diagrams given a list ot ellipses. + :param list_dgms: list of persistent diagrams + :type list_dgms: list + :param list_ellipses: List of dicctionaries. Each dicctionary represents a ellipse. It must have the following keys: `mean`, `std` and `rotation`. + :type list_ellipses: list + :param function: Compactly supported function in :math:`\mathbb{R}^2`. + :type function: function + :return: Numpy array -- + ''' + features = np.zeros((len(list_dgms), len(list_ellipses))) + for i in range(len(list_ellipses)): + args = {key:list_ellipses[i][key] for key in ['mean', 'std', 'rotation']} + args['center'] = args.pop('mean') + args['axis'] = args.pop('std') + + features[:,i] = adaptive_feature(list_dgms, function, **args) + + return features + +def reshape_to_array(diagrams): + ndgms = copy.deepcopy(diagrams) + d0 = len(ndgms) + d1 = 0 + d2 = 2 + for i in range(0, d0): + d1 = max(d1, len(ndgms[i])) + for i in range(0,d0): + d = len(ndgms[i]) + if d==d1: + continue + ndgms[i] = list(ndgms[i]) + for k in range(0, d1-d): + ndgms[i].append([-1,-1]) + dgms_array = [] + for i in range(0, d0): + dgms_array.append(np.array(ndgms[i])) + return np.reshape(dgms_array, (d0, d1, d2)) + diff --git a/teaspoon/teaspoon/ML/feature_functions_machine_learning_examples.ipynb b/teaspoon/teaspoon/ML/feature_functions_machine_learning_examples.ipynb new file mode 100644 index 00000000..51f5325a --- /dev/null +++ b/teaspoon/teaspoon/ML/feature_functions_machine_learning_examples.ipynb @@ -0,0 +1,289 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 49, + "metadata": {}, + "outputs": [], + "source": [ + "from teaspoon.ML import feature_functions as FF\n", + "from teaspoon.ML import load_datasets" + ] + }, + { + "cell_type": "code", + "execution_count": 51, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
zero_dim_rtlzero_dim_ltrzero_dim_bttzero_dim_ttbone_dim_rtlone_dim_ltrone_dim_bttone_dim_ttblabels
0[[23.0, 50.0], [13.0, 20.0]][[24.0, 50.0], [11.0, 21.0]][[24.0, 50.0], [8.0, 9.0]][[23.0, 50.0]][][][][]5
1[[22.0, 50.0]][[22.0, 50.0]][[23.0, 50.0]][[24.0, 50.0]][[0.0, 8.0]][[0.0, 8.0]][[0.0, 9.0]][[0.0, 8.0]]0
2[[22.0, 50.0]][[25.0, 50.0]][[24.0, 50.0], [15.0, 16.0]][[23.0, 50.0], [13.0, 22.0]][][][][]4
3[[21.0, 50.0]][[20.0, 50.0]][[24.0, 50.0]][[23.0, 50.0]][][][][]1
4[[20.0, 50.0], [16.0, 18.0]][[22.0, 50.0], [14.0, 15.0]][[26.0, 50.0]][[21.0, 50.0]][[0.0, 9.0]][[0.0, 12.0]][[0.0, 9.0]][[0.0, 14.0]]9
..............................
59995[[23.0, 50.0], [16.0, 17.0]][[22.0, 50.0], [16.0, 18.0]][[24.0, 50.0]][[23.0, 50.0]][[0.0, 13.0], [0.0, 7.0]][[0.0, 13.0], [0.0, 9.0]][[0.0, 16.0], [0.0, 6.0]][[0.0, 17.0], [0.0, 5.0]]8
59996[[21.0, 50.0], [17.0, 18.0]][[24.0, 50.0], [12.0, 18.0], [9.0, 17.0]][[23.0, 50.0]][[24.0, 50.0], [7.0, 10.0]][][][][]3
59997[[24.0, 50.0], [13.0, 18.0]][[23.0, 50.0], [12.0, 20.0]][[24.0, 50.0]][[23.0, 50.0], [5.0, 7.0]][][][][]5
59998[[23.0, 50.0], [8.0, 21.0]][[22.0, 50.0], [11.0, 15.0]][[21.0, 50.0]][[26.0, 50.0], [8.0, 15.0]][[0.0, 17.0]][[0.0, 8.0]][[0.0, 15.0]][[0.0, 10.0]]6
59999[[25.0, 50.0]][[22.0, 50.0]][[24.0, 50.0]][[22.0, 50.0], [19.0, 20.0]][[0.0, 11.0], [0.0, 8.0]][[0.0, 18.0], [0.0, 9.0]][[0.0, 20.0], [0.0, 8.0]][[0.0, 14.0], [0.0, 5.0]]8
\n", + "

60000 rows × 9 columns

\n", + "
" + ], + "text/plain": [ + " zero_dim_rtl \\\n", + "0 [[23.0, 50.0], [13.0, 20.0]] \n", + "1 [[22.0, 50.0]] \n", + "2 [[22.0, 50.0]] \n", + "3 [[21.0, 50.0]] \n", + "4 [[20.0, 50.0], [16.0, 18.0]] \n", + "... ... \n", + "59995 [[23.0, 50.0], [16.0, 17.0]] \n", + "59996 [[21.0, 50.0], [17.0, 18.0]] \n", + "59997 [[24.0, 50.0], [13.0, 18.0]] \n", + "59998 [[23.0, 50.0], [8.0, 21.0]] \n", + "59999 [[25.0, 50.0]] \n", + "\n", + " zero_dim_ltr \\\n", + "0 [[24.0, 50.0], [11.0, 21.0]] \n", + "1 [[22.0, 50.0]] \n", + "2 [[25.0, 50.0]] \n", + "3 [[20.0, 50.0]] \n", + "4 [[22.0, 50.0], [14.0, 15.0]] \n", + "... ... \n", + "59995 [[22.0, 50.0], [16.0, 18.0]] \n", + "59996 [[24.0, 50.0], [12.0, 18.0], [9.0, 17.0]] \n", + "59997 [[23.0, 50.0], [12.0, 20.0]] \n", + "59998 [[22.0, 50.0], [11.0, 15.0]] \n", + "59999 [[22.0, 50.0]] \n", + "\n", + " zero_dim_btt zero_dim_ttb \\\n", + "0 [[24.0, 50.0], [8.0, 9.0]] [[23.0, 50.0]] \n", + "1 [[23.0, 50.0]] [[24.0, 50.0]] \n", + "2 [[24.0, 50.0], [15.0, 16.0]] [[23.0, 50.0], [13.0, 22.0]] \n", + "3 [[24.0, 50.0]] [[23.0, 50.0]] \n", + "4 [[26.0, 50.0]] [[21.0, 50.0]] \n", + "... ... ... \n", + "59995 [[24.0, 50.0]] [[23.0, 50.0]] \n", + "59996 [[23.0, 50.0]] [[24.0, 50.0], [7.0, 10.0]] \n", + "59997 [[24.0, 50.0]] [[23.0, 50.0], [5.0, 7.0]] \n", + "59998 [[21.0, 50.0]] [[26.0, 50.0], [8.0, 15.0]] \n", + "59999 [[24.0, 50.0]] [[22.0, 50.0], [19.0, 20.0]] \n", + "\n", + " one_dim_rtl one_dim_ltr \\\n", + "0 [] [] \n", + "1 [[0.0, 8.0]] [[0.0, 8.0]] \n", + "2 [] [] \n", + "3 [] [] \n", + "4 [[0.0, 9.0]] [[0.0, 12.0]] \n", + "... ... ... \n", + "59995 [[0.0, 13.0], [0.0, 7.0]] [[0.0, 13.0], [0.0, 9.0]] \n", + "59996 [] [] \n", + "59997 [] [] \n", + "59998 [[0.0, 17.0]] [[0.0, 8.0]] \n", + "59999 [[0.0, 11.0], [0.0, 8.0]] [[0.0, 18.0], [0.0, 9.0]] \n", + "\n", + " one_dim_btt one_dim_ttb labels \n", + "0 [] [] 5 \n", + "1 [[0.0, 9.0]] [[0.0, 8.0]] 0 \n", + "2 [] [] 4 \n", + "3 [] [] 1 \n", + "4 [[0.0, 9.0]] [[0.0, 14.0]] 9 \n", + "... ... ... ... \n", + "59995 [[0.0, 16.0], [0.0, 6.0]] [[0.0, 17.0], [0.0, 5.0]] 8 \n", + "59996 [] [] 3 \n", + "59997 [] [] 5 \n", + "59998 [[0.0, 15.0]] [[0.0, 10.0]] 6 \n", + "59999 [[0.0, 20.0], [0.0, 8.0]] [[0.0, 14.0], [0.0, 5.0]] 8 \n", + "\n", + "[60000 rows x 9 columns]" + ] + }, + "execution_count": 51, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "mnist = load_datasets.mnist()\n", + "mnist" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "tda_env", + "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.8.8" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/teaspoon/teaspoon/ML/load_datasets.py b/teaspoon/teaspoon/ML/load_datasets.py index 7ab1b60b..3722decf 100644 --- a/teaspoon/teaspoon/ML/load_datasets.py +++ b/teaspoon/teaspoon/ML/load_datasets.py @@ -1,4 +1,4 @@ -import pkg_resources +import importlib_resources import pandas as pd def mpeg7(): @@ -6,25 +6,36 @@ def mpeg7(): Load the persistence diagrams from the MPEG7 dataset """ - - stream = pkg_resources.resource_stream(__name__, 'datasets/mpeg7.pickle') + + stream = importlib_resources.files('datasets').joinpath('mpeg7.pickle') data = pd.read_pickle(stream) - return data + return(data) def shrec14(): """ Load the persistence diagrams from the shrec14 dataset """ - - stream = pkg_resources.resource_stream(__name__, 'datasets/shrec14.pickle') - return pd.read_pickle(stream) + stream = importlib_resources.files('datasets').joinpath('shrec14.pickle') + data = pd.read_pickle(stream) + return(data) def mnist(): """ Load the persistence diagrams from the training portion of the MNIST dataset from http://yann.lecun.com/exdb/mnist/ + Columns available: + zero_dim_rtl: 0-dimensional persistence diagrams computed using right to left euler transform + zero_dim_ltr: 0-dimensional persistence diagrams computed using left to right euler transform + zero_dim_btt: 0-dimensional persistence diagrams computed using bottom to top euler transform + zero_dim_ttb: 0-dimensional persistence diagrams computed using top to bottom euler transform + one_dim_rtl: 1-dimensional persistence diagrams computed using right to left euler transform + one_dim_ltr: 1-dimensional persistence diagrams computed using left to right euler transform + one_dim_btt: 1-dimensional persistence diagrams computed using bottom to top euler transform + one_dim_ttb: 1-dimensional persistence diagrams computed using top to bottom euler transform + """ - stream = pkg_resources.resource_stream(__name__, 'datasets/mnist.pickle') - return pd.read_pickle(stream) + stream = importlib_resources.files('datasets').joinpath('mnist.pickle') + data = pd.read_pickle(stream) + return(data) diff --git a/tests/test_featureFunctions.py b/tests/test_featureFunctions.py index 7ffe4968..f8cd8312 100644 --- a/tests/test_featureFunctions.py +++ b/tests/test_featureFunctions.py @@ -21,5 +21,21 @@ def test_F_Image_parallel(self): persImg = FF.F_Image(dgms, PS, var, pers_imager=None, training=True, parallel=True) self.assertEqual(persImg['F_Matrix'][0].all(), np.array([4.83911125e+00, 1.12597993e-03, 2.64421959e-20, 2.15926035e+00,1.80429682e+00, 2.51962051e+01]).all()) + def test_kernel_distance(self): + mnist = load_datasets.mnist() + dgms = mnist['zero_dim_rtl'][0:2] + sigma=.3 + dgms = FF.reshape_to_array(dgms) + k = FF.kernel_distance(dgms, dgms, sigma) + self.assertEqual(k.all(), np.array([[0,.47224819],[.47224819,0]]).all()) + + def test_kernel_distance(self): + mnist = load_datasets.mnist() + dgms = mnist['zero_dim_rtl'][0:2] + sigma=.3 + dgms = FF.reshape_to_array(dgms) + k = FF.kernel_distance_parallel(dgms, dgms, sigma) + self.assertEqual(k.all(), np.array([[0,.47224819],[.47224819,0]]).all()) + if __name__ == '__main__': unittest.main() \ No newline at end of file