diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..5de9ebf --- /dev/null +++ b/.gitignore @@ -0,0 +1,115 @@ +# Compiled source # +################### +*.com +*.class +*.dll +*.exe +*.o +*.so + +# Packages # +############ +# it's better to unpack these files and commit the raw source +# git has its own built in compression methods +*.7z +*.dmg +*.gz +*.iso +*.jar +*.rar +*.tar +*.zip + +# Distribution / packaging +############ +build/ +node_modules/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST +.coverage +.coverage* +bin +doc/package-lock.json +doc/package.json + +# Logs and databases # +###################### +*.log +*.sql +*.sqlite +*.out +out +logs + + +# OS generated files # +###################### +.DS_Store +.DS_Store? +._* +.Spotlight-V100 +.Trashes +ehthumbs.db +Thumbs.db + + +# python, gmsh and paraview generated # +################### + +*.msh +*.pyc +*.npz +*.pvtu +*.vtu +*.pvd +*.hdf5 + + +# data, tmp and pycache # +################### +tmp/ +__pycache__/ +_build/ +gen_modules/ +auto_examples/ +doc/examples/ +doc/tutorials/ +.pytest_cache/ +.hypothesis/ +.coverage +htmlcov/ +coverage.xml +pylint.html +pylint.json +.ipynb_checkpoints + + +# Doc css (we use less to generate those): +doc/_custom/static/css/*.css +doc/generated +doc/biblio + +examples/benchmarks/kaggle/nannos* + +# include fonts +!doc/_assets/*.zip + +# include test data directory +!tests/data/ +!tests/data/* + +# include benchmarks results +!examples/benchmarks/*/*.npz \ No newline at end of file diff --git a/examples/examples_tmm_migration_fast.ipynb b/examples/examples_tmm_migration_fast.ipynb new file mode 100644 index 0000000..c561a92 --- /dev/null +++ b/examples/examples_tmm_migration_fast.ipynb @@ -0,0 +1,394 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Comparisons of example plots and calculations between the `tmm` and `tmm_fast` packages\n", + "\n", + "In this `IPYNB`, we demonstrate migration from `tmm` to `tmm_fast`.\n", + "\n", + "This was adapted from the original `tmm` `IPYNB` at https://github.com/sbyrnes321/tmm/blob/master/examples.ipynb .\n", + "\n", + "Note that only examples 1 and 2 of the original 6 could be compared. Examples 1 and 2 using only the coherent TMM. Examples 3 through 5 could not be compared because the original `tmm` capability has not been implemented in `tmm_fast`. Example 6 was not included because the underlying code in `tmm_fast` contains an error." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Imports" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "for `tmm` only:" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "from __future__ import division, print_function, absolute_import\n", + "\n", + "from tmm import (coh_tmm, unpolarized_RT)\n", + "\n", + "from numpy import pi, linspace, inf, array\n", + "from scipy.interpolate import interp1d\n", + "import matplotlib.pyplot as plt\n", + "# %matplotlib inline" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "source": [ + "for `tmm_fast`:" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "import tmm_fast\n", + "import numpy as np" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "# \"5 * degree\" is 5 degrees expressed in radians\n", + "# \"1.2 / degree\" is 1.2 radians expressed in degrees\n", + "degree = pi/180" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "source": [ + "## Sample 1" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "source": [ + "Here's a thin non-absorbing layer, on top of a thick absorbing layer, with air on both sides. Plotting reflected intensity versus wavenumber, at two different incident angles.\n", + "\n", + "`tmm` original:" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "# number of wavelength points:\n", + "nwvl = 400\n", + "# list of layer thicknesses in nm\n", + "d_list = [inf,100,300,inf]\n", + "# list of refractive indices\n", + "n_list = [1,2.2,3.3+0.3j,1]\n", + "# list of wavenumbers to plot in nm^-1\n", + "ks=linspace(0.0001,.01,num=nwvl)\n", + "# initialize lists of y-values to plot\n", + "Rnorm=[] \n", + "R45=[]\n", + "for k in ks:\n", + " # For normal incidence, s and p polarizations are identical.\n", + " # I arbitrarily decided to use 's'.\n", + " Rnorm.append(coh_tmm('s',n_list, d_list, 0, 1/k)['R'])\n", + " R45.append(unpolarized_RT(n_list, d_list, 45*degree, 1/k)['R'])\n", + "kcm = ks * 1e7 #ks in cm^-1 rather than nm^-1" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "image/png": "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/Pbbb5aamhpLaWmpZf78+ZY2bdpYxo0bJx5TTJo0ydK+fXtLcXGxw3vcfvvtlsTERMuxY8fE/UWLFon3/Pjjj11+1p49e3S/56mnnmrJyMiw5Ofnu/2/PPvss43e391njxo1ytKqVSvx/1XU1tZa+vXrJ5anvr7e9vgjjzwiXvvMM884vOett94qltH+uc7o+Rx3680V1157raVjx46NHlfL6suyq+fefffdDs+dM2eOePy9997T/f9ytc3twWuqq6st3bt3b/S5ankefvhhh8e1vOf5559vSUlJsaxatUr3d23kyJGWtm3bWioqKmzPKSkpsTRv3txh3brD1fI5PzZ8+HBLTk6OpaqqyvYcrMsWLVo0+gyt29DT918L7raF3vfF67GunTl8+LB4n6eeespiNM7rV8/3Xsu+xdU21fo90fq9M3qZtX6uO55++mmxPHl5eQ6P69lPOK83rfstX5b/qquusrRu3driKxdffLFlzJgxtvWMZU1OTm70vNWrV1vuuusuy+eff275+eefLW+++aald+/elpiYGHHsNBp320HPtrhWx3p3t9/V83n+HOv92Z4hlf5DvhcKE6mcM888U4T8kJ5QZ5voXsCZGRQqlDnOrNVl8uTJ4u/uOh/cofU9kc9FZATK2Ii6BqhuKGqENu27O1DngejGwYMHadu2bY1ed9555zU688Yy4gzHyM8JBHqWHaFXe7De8T1YtGiR3/8vbFtE4hDpiI+PF++La4SFt2zZ4vI1OHPXAxotcIbz8ccf05AhQ3R91/B/+/3338VZGrrWFPhdIApnBPgMpAEuuOAC8X9XYF16+gy93z9v+LIttOKp+60pO+O8rTNf9y1avye+7DeNWGYj9teIZGJbIRrmCm/7CX/wZfmRUsI6wnP08umnn4q03Guvveb1+zl48GCaNWuW+P2OHTtWpLXRzIEo7n333UdG4207BGpbXOxhv6v385pqe4aUqHr33XfFTuKnn34SRWLYqaoiU4DwI/5zSANAfNlfsFKAlhZbe7S+J9I9CK1rCclqAe8HHxxXnTyq4wPL5gxSJfaotABSTUZ+TiDQs+wIvdqDHwter5bVn//XjBkzRKgYOyTsxCDO8L0bOHCg2/Wop+PqiSeeoFdeeYX++9//ipMDX75raFl2Xgeu1ouvqPWHWhhnXD3m6/fPG75sCy3Yf1fsQRoR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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.figure()\n", + "plt.plot(kcm,Rnorm,'blue',kcm,R45,'purple')\n", + "plt.xlabel(r'k (cm$^{-1}$)')\n", + "plt.ylabel('Fraction reflected')\n", + "plt.title(r'Reflection of unpolarized light at 0$^\\circ$ incidence (blue), '\n", + " r'45$^\\circ$ (purple)');" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "source": [ + "`tmm_fast`:\n", + "\n", + "The final two lines show that the output arrays from the two packages are roughly identical to within numerical precision." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "True\n", + "True\n" + ] + } + ], + "source": [ + "num_layers = 4\n", + "M = np.broadcast_to(np.reshape(n_list,shape=(1, num_layers, 1)), (1, num_layers, nwvl)) # M must have this shape\n", + "T = np.broadcast_to(np.reshape(d_list,shape=(1, num_layers)), (1, num_layers))\n", + "Rnormtf = tmm_fast.coh_tmm('s',M, T, np.array(0,ndmin=1), 1/ks,device='cpu')['R']\n", + "R45tfs = tmm_fast.coh_tmm('s', M, T, np.array(45*degree,ndmin=1), 1/ks, device='cpu')\n", + "R45tfp = tmm_fast.coh_tmm('p', M, T, np.array(45*degree,ndmin=1), 1/ks, device='cpu')\n", + "Ravg = 0.5*(R45tfs['R']+R45tfp['R']).flatten()\n", + "print(np.all(np.isclose(Rnorm,Rnormtf.flatten())))\n", + "print(np.all(np.isclose(R45,Ravg)))" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "source": [ + "## Sample 2" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "source": [ + "Here's the transmitted intensity versus wavelength through a single-layer\n", + "film which has some complicated wavelength-dependent index of refraction.\n", + "(I made these numbers up, but in real life they could be read out of a\n", + "graph / table published in the literature.) Air is on both sides of the\n", + "film, and the light is normally incident." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkAAAAHFCAYAAAAaD0bAAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAZE1JREFUeJzt3Qd4k9X3B/DTveikiw5aWvYqZUrZskEBBRkiQ0BFRZb+RARFUUTRP0tlI4JMFVBUVPbeUPYo0EIZLd17ps3/ObckNm2ApiR5077fz/OEJm/eJrc3oTk999x7zZRKpZIAAAAAZMRc6gYAAAAAGBsCIAAAAJAdBEAAAAAgOwiAAAAAQHYQAAEAAIDsIAACAAAA2UEABAAAALKDAAgAAABkBwEQAAAAyA4CIKg0zMzMynTZt28fVSb8M33yySd6f9yOHTuKiyn74osv6LfffiM54/dzWd7XZT3vaQQGBtLIkSOfeJ4x2gLwJJZPPAOggjh69KjG7c8++4z27t1Le/bs0Thev359qmw/t5+fn94fd9GiRWTqOAAaMGAA9evXT+qmmLymTZuK94oh3/9bt24lJycngz0+gD4hAIJK45lnntG47eHhQebm5qWOl5SVlUX29vZUUT3p5yuvyhYoGoupvp84MDHUe0UlNDTUoI8PoE8YAgNZ4SGdhg0b0oEDBygsLEx8UI0aNUrct2nTJurWrRtVq1aN7OzsqF69evTBBx9QZmamxmNwir9KlSp048YN6tWrl7ju7+9P7777LuXm5mqcu3jxYgoJCRHnODo6Ut26denDDz9U3//jjz+KoQDOUr322mtUtWpV8UE1fPhw8byxsbE0cOBAcnFxEe167733KD8//7FDYPwBzOfVqFGDbG1tyc3NjZo3b04bNmxQnxMZGUmDBw8mHx8fsrGxIS8vL+rcuTOdPXv2sUNgSUlJ9NZbb5Gvry9ZW1tTUFAQTZs2rdTPzW0aN24c/fTTT6IfuZ+5H/78888nvkY5OTmiL5s0aULOzs6i/a1bt6bff/+91HNwH61evVo9vPm4Ibtbt26Jc7755huaO3eu6B9+Xfixjx07Vur8bdu2ifu47fzade3atVSWkfudH/PMmTMiE+Xq6krBwcHq4aDnnntO/MwcGKjeU6o+4Neebzs4OFDLli3p1KlTGo/Nt/k14sfh7+WvQ4YModu3b1N5aBt20uW9zLdnzpwp2szvK36vdurUiY4cOfLYIbCrV69Sjx49RD+6u7vT2LFjKT09XWsbd+3aJd6H/H+Az2/Tpg3t3r1ba59funRJ9Ae/R/j9y/+PU1NTNc4tLCykb7/9VryXuA/5/xEHgfzaFsf/9/m15teC+6B79+4UHh5ejl6GigQZIJCdmJgYeuWVV+j9998XQyicJWLXr18XHwITJ04Uvwj5F/dXX31FJ06cKDWMxkFInz59aPTo0eLDggMqHnLjX8Yff/yxOGfjxo0iWHjnnXfEhy4/D3/QXL58uVSbxowZQy+++KL4Hv7Fy0GSQqGga9euieOvv/66+HDg9nDQMnny5Ef+fHwfBx6ff/65+ODlIOHixYuUmJioPod/zoKCApozZw5Vr16dEhISxAdZSkrKYwMT/sC7efMmffrpp9S4cWM6ePAgzZ49WwROf/31l8b5fPvkyZPiQ5M/VPi5XnjhBfEzceD0KPxBy4EWB3EcaOXl5Ymfnfth1apVIjhkHIw8++yzok0fffSROFaW4Zfvv/9eBKLz588Xt/l7uT+ioqLE68fWr19PQ4cOFQExB47cJm4/B1j8gdy2bVuNx+S2cbDCH+7FA+Zz587R1KlTRZDIj839xufyMX4cfv/xh/mUKVNEsMRt4A9qVcBWp04d8bgcBPL7lgPqFi1aiPcQBxP6UJb3Mr8Xe/bsKV5v/v/B/c7HOHCMjo4Wf0xo8+DBA+rQoQNZWVmJIVUOVNatWyeC45LWrl0rXtu+ffuKoJa/Z+nSpSIY+ffff0VgVFz//v1p0KBBot0XLlwQfcp++OEH9TkcjPHj8jn8PuSgnYNV7lsVfg2mT59Or776qvjK77evv/6a2rVrJ/7vIxNaiSkBKqkRI0YoHRwcNI516NBByW/73bt3P/Z7CwsLlfn5+cr9+/eL88+dO6fxuHzs559/1vieXr16KevUqaO+PW7cOKWLi8tjn2fVqlXisd555x2N4/369RPH586dq3G8SZMmyqZNm2oc4/NmzJihvt2wYUPx/Y+SkJAgvmf+/PmPbRv3FV9UlixZovXn/uqrr8TxHTt2aLTJy8tLmZaWpj4WGxurNDc3V86ePVupC4VCIV6L0aNHK0NDQzXu49eXX4+yiIqKEu1q1KiReEyVEydOiOMbNmwQtwsKCpQ+Pj7iPL6ukp6ervT09FSGhYWpj3G/8/d+/PHHpZ4vICBAaWdnp7x796762NmzZ8X51apVU2ZmZqqP//bbb+L4tm3bHtsPGRkZ4mdesGCB+vjevXvF9/LXx9F2Xlnfy2vWrBHnLV++/LHPwT9z8ddjypQpSjMzM/FzF9e1a1eNtnBfuLm5KZ9//nmN87j/Q0JClC1btizV53PmzNE496233lLa2tqK/7vswIED4rxp06Y9sr3R0dFKS0vLUv//+LX29vZWDhw48LE/L1RsGAID2eFhCv4LtiQeFnr55ZfJ29ubLCwsxF+g/Ncru3Llisa5/Ff7888/r3GMMyLFhyd4WIMzKpym5+EbzrI8Cv/1XxwPM7DevXuXOv6kIRB+3r///lsM3/FwR3Z2tsb9nE3gYRr+K5eHgjjjxEMFT8JZMM6M8VBPcaohj5JDFZyZ4aEjFf7r39PTs0xDOL/88osY/uDMkaWlpXgtVq5cWep1KA/uU359i79uTNUuzlDdv3+fhg0bps4OMm4LZx0468HDjMXxcW146IWzWCVfV84kFa8TUh0v3jcZGRkiM1SzZk3RB3zhNnCGSR/9oMt7md9PPOylGi4uK56E0KBBAzH8WRz/PyuOs4+c9RsxYoTILKku/L7k4TPOJJYciuasVck2c5YyLi5O3Wb29ttvP7J9nFni5+HMU/Hn5Z+V/+9jllrlhgAIZIdraUriDxtOeR8/flwMHfEvPv6lu2XLFnF/ySCCP7z4l2RxXEvDv4BV+AOU0/H8QcIfkPzh36pVK9q5c2ep5+egpDhO1T/qePHn0GbhwoXig5Onh3MQwo/Bs6R4iE/1gcfBCg8t8LAOzw7igvHx48c/sjaD8RAaB4f8/cXxz8UfzsWH2BjXiJTEfVSyL0viPue6Jw4cePiCh7r4teAP3yf97GVRsl3cJqZql+rn0PY+4eFH/lBOTk7WOK7tXF1fV1b85+Mg4bvvvhPDo/xBzcMx3A/8Wj2pD3VRlvdyfHy8+NmLB4RloXrPlFTyGA+VMQ6uOdgtfuFhX04qcoCky+vIbeZAV9vzl3xeHlYs+bxcF/S4P1qg4kMNEMhOyQ9wVXaD/+rnwEeV9WGPq4kpC64r4Av/9cq1FTNmzBDZnoiICAoICCBD4CwN15rwhX/Bq7JB/Fc+1zUxfm7OqDBuy88//yyKS7n+YcmSJVoflz9wOEDkD6Pifch/cfNfzfqqSeGghwuU+QOo+POULMo1FNUHK9fclMTvEQ4COIv4pPfU0+BiXi6W5vcLv3Yl66OMjYOuQ4cOieBPlyCI+5IL+UsqeUz13uGC5UfNVOMMoq5t5jo3fq5HBaiq5/31118N9v8RTBcyQADFPsBUf0WqcBGmvoISLiLlYlgOMngGizHwhwYPUfEwHA/tlBy6YbVr1xbFn40aNRIFoo/CRaicKSu58OCaNWvU9+vrteCMSPGggj/ESs4CK2tGSVdceMzZJy6ELipnKsJB7ObNm9UzwwyJf3Z+7pLvxxUrVogPdWPj9y5nhHjmmi44A8nvdS4GL477tjge7uQZWlzczTMWtV1UWTJd2sy4cPxROAvK2Usu7H/U80LlhQwQAJGYxcJ/1fMsHv6rm1PgPFul5C9uXfC0dp7Rw7/c+S9Q/hDnGVM8u4ZT7obCw2ycZeKaCP6ZuF6EZ4WpPrjPnz8vZuG89NJLVKtWLfHBwhkwPl4821AS10nwDCqu0+BZNBwwcVaAZ9HwLKouXbropf3cdh4G4xl0PCRy584dMSuJ+1A1jKfCbeCs3R9//CHu55ojDmCeBmc4eGiQZ4FxW9544w2ReeGaKc4Ifvnll2RoPJutffv24jk5S8HTy/fv3y+ydhwoGBsH0DwDj/9/cCDNgQ1ngzgjyPVLPFNNG54xxsPAXHfFQ8uqWWCqTKQK1zZx9offW5zh4tedh1Z5GIv/D/LXxwUy2vCQNg9D8/NyJpRfSw4oueaN/x/w7EzuV54dxn+YcA0g1xvx/xk+n4ccVdlUqJwQAAE8TNXztG2eBsxT5PkXH0/H5WEYrpEpD/4FzH8x8/AS14zwBxlPn+aMCafnDYULvHmdk3nz5omMD2czOHjhX/KMayK4CJqnJXNwwdkGnpb+f//3f+JD4VG4ToSLWvlx+IOZP5T4sXm6OgeN+sJDhjysxkNx/OHJbePA7O7du6U+jBYsWCCKXPkDmH9WfRWucv0Nvwc4YOWp1lxLwkMz/PM/asq3vnGWZMKECWK5Bh5i5ECa68dKFsYbA2dJtm/fLvqDlwXgJQQ42OTiZg4aHoXfaxy48c/x5ptvisCDl0Lg2ib+/1Uc/7/jJRk4+OSgk+vROAjiQvKybK+hDf//4/+/HDjydf6DhKe1F1+Li6fP8zF+L6mWPOB28x8pHPBB5WXGU8GkbgQAAACAMaEGCAAAAGQHARAAAADIDgIgAAAAkB0EQAAAACA7CIAAAABAdhAAAQAAgOxgHSAteIEvXvKe17nQ9xL3AAAAYBi8sg+vIVWWvesQAGnBwY+/v7+BXh4AAAAwJF7k1c/P77HnIADSgjM/qg7kJekBAADA9KWlpYkEhupz/HEQAGmhGvbi4AcBEAAAQMVSlvIVFEEDAACA7CAAAgAAANlBAAQAAACygwAIAAAAZAcBEAAAAMgOAiAAAACQHQRAAAAAIDsIgAAAAEB2EAABAACA7CAAAgAAANlBAAQAAACygwAIAAAAZAcBkBHlFxTSg7QcupOUZcynBQAAgBIQABnRyVtJ1OqL3TRy1QljPi0AAACUgADIiJztrMTX1GyFMZ8WAAAASkAAZEROtkUBUFpOvjGfFgAAAEpAAGREzvZFAVCeopBy8guM+dQAAABQDAIgI6pibUnmZkXX07KRBQIAAJAKAiBjdra5GTk+HAZLRQAEAAAgGQRAEhVCow4IAABAOgiAjMzJzlJ8RQYIAABAOgiApMoAYSo8AACAZBAASTQVHhkgAAAA6SAAkmwxRMwCAwAAkAoCIMmGwBAAAQAASAUBkJE5IQMEAAAgOQRAEgVAmAYPAAAgHQRARuZki2nwAAAAUkMAZGSYBg8AACA9BEBGhhogAAAA6SEAMjJshQEAACA9BEASBUDpOQoqKFQa++kBAAAAAZB0K0GzjBwF3oQAAAASQAbIyKwtzcnOykJcx2rQAAAA0kAAJAHsCA8AACAtBEASQCE0AACAtBAASQA7wgMAAEgLAZAEsCEqAACAtBAASRgAoQgaAABAGgiAJIANUQEAAKSFAEgC2A4DAABAWgiAJNwRPi0bCyECAABIAQGQBFADBAAAIC0EQBJADRAAAIC0EABJABkgAAAAaSEAkgDWAQIAAJAWAiAph8CyFaRUKqVoAgAAgKwhAJIwA5RXUEg5+YVSNAEAAEDWEABJwMHagizMzcR1rAYNAABgfAiAJGBmZqbOAqVk50nRBAAAAFlDACQRF/uHAVBWvlRNAAAAkC0EQBJxtbcWX1OykAECAAAwNgRAEnF5OASWjAwQAACA0SEAkojLwwxQMjJAAAAARocASCKuqAECAACQDAIgibg6PMwAZaIGCAAAwNgQAEk9Cywbs8AAAABkFwAtWrSIatSoQba2ttSsWTM6ePDgI8+NiYmhl19+merUqUPm5uY0ceJEredt3ryZ6tevTzY2NuLr1q1bydRgFhgAAIBMA6BNmzaJIGbatGkUHh5O7dq1o549e1J0dLTW83Nzc8nDw0OcHxISovWco0eP0qBBg2jYsGF07tw58XXgwIF0/PhxMiWYBQYAACAdM6WEu3G2atWKmjZtSosXL1Yfq1evHvXr149mz5792O/t2LEjNWnShObPn69xnIOftLQ0+vvvv9XHevToQa6urrRhw4YytYu/39nZmVJTU8nJyYkM4fL9NOq18CC5V7GmU9O7GuQ5AAAA5CRNh89vyTJAeXl5dPr0aerWrZvGcb595MiRcj8uZ4BKPmb37t0f+5icWeJOK34xNFeH/1aCxo7wAAAAxiVZAJSQkEAFBQXk5eWlcZxvx8bGlvtx+Xt1fUzONnHEqLr4+/uTsWqAFIVKSs9VGPz5AAAAwISKoHlj0OI4G1LymKEfc+rUqSJdprrcuXOHDM3WyoJsrYq6PxWrQQMAABiVJUnE3d2dLCwsSmVm4uLiSmVwdOHt7a3zY/JsMb4Ym4udNcXm54jVoP3d7I3+/AAAAHIlWQbI2tpaTHvfuXOnxnG+HRYWVu7Hbd26danH3LFjx1M9pqHXAsJ+YAAAADLJALHJkyeLaerNmzcXgcuyZcvEFPixY8eqh6bu3btHa9asUX/P2bNnxdeMjAyKj48XtzmY4vV+2IQJE6h9+/b01VdfUd++fen333+nXbt20aFDh8jUYC0gAAAAGQZAPGU9MTGRZs6cKRY5bNiwIW3fvp0CAgLE/Xys5JpAoaGh6us8i2z9+vXi/Fu3boljnOnZuHEjTZ8+nT766CMKDg4W6w3xlHtTo5oJhu0wAAAAZLQOkKkyxjpA7MOtF2j98Wia2KUWTexS22DPAwAAIAdpFWEdIMCO8AAAAFJBACQhngXGeBYYAAAAGA8CIAlhFhgAAIA0EABJCLPAAAAApIEAyBRmgWEIDAAAwKgQAEnI5eF+YLwhKgAAABgPAiAJudgVZYDScxSkKCiUsikAAACyggBIQs4PAyCWko0sEAAAgLEgAJKQpYU5OdkWLcadgjogAAAAo0EAJDFXB9VaQMgAAQAAGAsCIBMphMZ+YAAAAMaDAEhirvZFdUCYCQYAAGA8CIAk5vYwA5SYie0wAAAAjKWoAvcJFi5cWOYHHD9+/NO0R3aqVikKgJIyc6VuCgAAgGyUKQCaN2+exu34+HjKysoiFxcXcTslJYXs7e3J09MTAZCO3BxsxFdkgAAAAExsCCwqKkp9mTVrFjVp0oSuXLlCSUlJ4sLXmzZtSp999pnhW1zJVH04CywJQ2AAAACmWwP00Ucf0bfffkt16tRRH+PrnCWaPn26vttX6bkhAAIAADD9ACgmJoby80uvWVNQUEAPHjzQV7tkw+1hDVBiBoqgAQAATDYA6ty5M7322mt06tQpUiqV4hhff+ONN6hLly6GaGOl5q6uAUIRNAAAgMkGQD/88AP5+vpSy5YtydbWlmxsbKhVq1ZUrVo1WrFihWFaKYMMUE5+IWXlKaRuDgAAgCyUaRZYcR4eHrR9+3aKiIigq1eviixQvXr1qHbt2oZpYSXnYG1B1pbmlKcoFMNg9m46vyQAAACgo3J/2gYGBorgJzg4mCwt8aFdXmZmZmImWExqjpgJ5u9mX+7HAgAAAAMNgfH6P6NHjxbr/jRo0ICio6PVCyB++eWXuj4cYCYYAACA6QdAU6dOpXPnztG+fftEDZAKF0Bv2rRJ3+2ThapVigqhEzJQCA0AAGAMOo9d/fbbbyLQeeaZZ8TwjUr9+vXp5s2b+m6fLGAxRAAAABPPAPE2GLzlRUmZmZkaARGUHRZDBAAAMPEAqEWLFvTXX3+pb6uCnuXLl1Pr1q312zqZBUDYDwwAAMBEh8Bmz55NPXr0oMuXL5NCoaAFCxbQpUuX6OjRo7R//37DtLKSwxAYAACAiWeAwsLC6PDhw2I2GE+B37FjB3l5eYkAqFmzZoZppUyKoBNRBA0AAGAU5VrAp1GjRrR69Wr9t0amMAQGAABg4hkgCwsLiouLK3U8MTFR3Ae6wxAYAACAiQdAqg1QS8rNzSVr66JiXijffmBZeQWUk1+A7gMAADCVIbCFCxeqZ33xpqdVqlRR31dQUEAHDhygunXrGqaVlZyjjSVZWZhRfoFSzATzdbGTukkAAACVWpkDoHnz5qkzQEuWLNEY7uLMD+8NxsehvPuB2VBsWg4lZSAAAgAAMJkAKCoqSnzt1KkTbdmyhVxdXQ3ZLlkWQnMAlJCJ7TAAAABMrgaIAyAbm6Jp28VlZ2fTzJkz9dUu2an6sA6IM0AAAABgYgHQp59+ShkZGaWO87pAfB+UD7bDAAAAMPFZYNr2/OId4t3c3PTVLtnhGiCG7TAAAABMqAaIa3448OFL7dq1NYIgngXGWaGxY8caqp2yGQLDatAAAAAmFADNnz9fZH9GjRolhrqcnZ1LzQLDZqjl564KgDJRAwQAAGAyAdCIESPE1xo1aoj9wKysrAzZLtlxf7gfWHw6ZoEBAACYRACUlpZGTk5O4npoaKiY8cUXbVTngW48HBEAAQAAmFQAxPU/MTEx5OnpSS4uLlqLoFXF0VwPBOUPgBIzc6mwUEnm5qX7GAAAAIwYAO3Zs0c9w2vv3r16emrQNguMt8NIzc4nVwfsqwYAACBpANShQwet10F/rC3NycXeilKy8ik+IxcBEAAAgCkUQReXk5ND58+fp7i4OCosLNS4r0+fPvpqm+x4VLEpCoDSc6m2l6PUzQEAAKi0dA6A/vnnHxo+fDglJCSUug81QE9fB3Q9LoMSMjATDAAAwKRWgh43bhy99NJLoiiasz/FLyiAfjqYCg8AAGCiARAPe02ePJm8vLwM0yIZw1R4AAAAEw2ABgwYQPv27TNMa2QOARAAAICJ1gB99913Ygjs4MGD1KhRo1IrQo8fP16f7ZNdETTjWWAAAABgQgHQ+vXr6d9//yU7OzuRCSq+KCJfRwBUfu5YDRoAAMA0A6Dp06fTzJkz6YMPPiBzc51H0KAMGSDMAgMAADAsnSOYvLw8GjRoEIIfg26HkUeKAs31lQAAAEDCAIh3hd+0aZMemwAqbg7WxFuAKZVESZl56BgAAABTGQLjtX7mzJkj6oAaN25cqgh67ty5+myfrFiYm5Gbg40YAuNCaE8nW6mbBAAAUCnpnAG6cOEChYaGiiGwixcvUnh4uPpy9uxZnRuwaNEiqlGjBtna2lKzZs3E7LLH2b9/vziPzw8KCqIlS5aUOmf+/PlUp04dUajt7+9PkyZNEtt3VASYCg8AAGCCGSB97gbPQ2kTJ04UQVCbNm1o6dKl1LNnT7p8+TJVr1691PlRUVHUq1cveu2112jt2rV0+PBheuutt8jDw4P69+8vzlm3bp0o0P7hhx8oLCyMIiIiaOTIkeK+efPmUUUIgK7EkNgPDAAAAAzjqadxpaWl0W+//UZXr17V+Xt5uGz06NE0ZswYqlevnsjccMZm8eLFWs/nbA8HRnwen8/fN2rUKPrmm2/U5xw9elQEUy+//DIFBgZSt27daMiQIXTq1CmqCLAWEAAAgAkGQAMHDhSLIbLs7Gxq3ry5OMaLIm7evFmn2WSnT58WAUpxfPvIkSNav4eDm5Lnd+/eXQQ3+fn54nbbtm3F4544cULcjoyMpO3bt1Pv3r0f2Zbc3FwRyBW/SMXd0Vp8TUhHETQAAIDJBEAHDhygdu3aietbt24lpVJJKSkptHDhQvr888/L/Di8mzwXVJfcU4xvx8bGav0ePq7tfIVCod6dfvDgwfTZZ5+JQIgLtIODg6lTp05iWOxRZs+eTc7OzuoLZ6GkggwQAACACQZAqamp5ObmJq7/888/ovbG3t5eZFiuX7+ucwOKryTNOKAqeexJ5xc/zqtTz5o1S9QVnTlzhrZs2UJ//vmnCIoeZerUqeLnUl3u3LlD0hdBV4yibQAAAFkUQXN2hIeiOAjiAGjjxo3ieHJyspiZVVbu7u5kYWFRKtvDu80/aqd5b29vredbWlpS1apVxe2PPvqIhg0bJuqDGA/NZWZm0uuvv07Tpk3TuoCjjY2NuJgCzAIDAAAwwQwQz9oaOnQo+fn5kY+PD3Xs2FE9NMbBRllZW1uL6ew7d+7UOM63efaWNq1bty51/o4dO0Qdkmo9oqysrFJBDgdanClSZYtMmefDDFAcZoEBAACYTgaIp523bNlSDBN17dpVHWzwmjy61ACxyZMni2wNBzAc3Cxbtoyio6Np7Nix6qGpe/fu0Zo1a8RtPs4F2Px9PBWeM1ErV66kDRs2qB/z+eefF7PLeK2iVq1a0Y0bN0RWqE+fPiIQMnWqxQ/TcxSUnVdAdtam32YAAIBKHwAxDlj4UtzjZlk9Cu8plpiYKDZXjYmJoYYNG4oZWwEBAeJ+PsYBkQovmMj388KG33//vchAcfG1ag0g1WatXA/EXzl44jWCOCjiuqCKwNHGkuysLCg7v4AepOVQoLuD1E0CAACodMyUOo4L8cytH3/8kXbv3i3qbwoLNTft3LNnD1V0PA2eZ4NxQbSTk5PRn7/TN/soKiGTNr7+DD0TVFTbBAAAAPr7/NY5AzRhwgQRAHHGhzM2j5uxBeWvA+IAiDNAAAAAoH86B0A86+vnn38WW1KAYXg7F9UBIQACAAAwkVlgPHurZs2ahmkNCF4PC6EfpGE/MAAAAJMIgN59911asGBBhZhSXvEDIAyBAQAAmMQQ2KFDh8SO8H///Tc1aNBAvf6OCq+8DE/Hy6loLSAEQAAAACYSALm4uNALL7xgmNaA4I0hMAAAANMKgFatWmWYlkCpIbDYtJwn7o0GAAAARqgBAsPzfDgElqcopNTsfHQ5AACAKawE/euvv4qp8LxKc15ensZ9vAM7PB0bSwtytbei5Kx8kQVysbdGlwIAAEiZAeKtJ1599VXy9PSk8PBwsS8Y78QeGRlJPXv21GfbZA1T4QEAAEwoAFq0aJHYtJQ3JeU1gd5//32xQ/v48ePF0tOg5wAoFVPhAQAAJA+AeNgrLCxMXLezs6P09HRxnXd1L74rOzwdTIUHAAAwoQDI29tb7ODOeNf2Y8eOietRUVFYHNEQU+HTkQECAACQPAB69tln6Y8//hDXR48eTZMmTaKuXbvSoEGDsD6QHnmqpsKnYjsMAAAAyWeBcf1PYWGhuD527Fhyc3MTq0M///zz4jboNwMUhwwQAACAtAGQQqGgWbNm0ahRo8jf318cGzhwoLiAgRZDRBE0AACAtENglpaW9PXXX1NBQYH+WwIavJyLFkNMyMglRUFRxg0AAAAkqgHq0qUL7du3T09PD49S1cGGLMzNqFDJQZDmYpMAAABg5BogXuxw6tSpdPHiRWrWrBk5ODho3N+nT5+nbBIwDn48HW0oJjWHYlKzydu5aEgMAAAAJAiA3nzzTfF17ty5pe7jTTsxPKY/Pi52DwOgHArV4+MCAADInc4BkGoGGBhetYdZn/sp2ehuAAAAKWuA1qxZQ7m5pdem4U1R+T7QH18XO/H1fgoWQwQAAJA0AOKNULXt+cVbYvB9oP8MENcAAQAAgIQBkFKpFLU+Jd29e5ecnZ311S7gAEidAUIABAAAIEkNUGhoqAh8+NK5c2exJpAKFz7zXmA9evTQa+PkTj0EhsUQAQAApAmA+vXrJ76ePXuWunfvTlWqVFHfZ21tTYGBgdS/f3/9tk7mVENg8em5lKsoIBtLC6mbBAAAIK8AaMaMGeIrBzq88amtLdalMTQ3B2uysTSnXEUhPUjNpepV7Q3+nAAAAHKgcw3QiBEjEPwYCQ838lpA7D4KoQEAAKQLgMC4MBMMAABA/xAAmTh1BghrAQEAAOgNAiAT54PVoAEAAKQNgPLz8ykoKIguX76Ml8LoGSCsBQQAACBJAGRlZSW2wdC2ECIYdjFE3hAVAAAAJBoCe+edd+irr74ihUKhpybA42AIDAAAwAR2gz9+/Djt3r2bduzYQY0aNSIHBweN+7ds2aLP9smeKgOUlqOgjFwFVbHR+SUDAACAEnT+NHVxccGKz0bEAY+TraUIgGJSsqmWl6Mxnx4AAKBS0jkAWrVqlWFaAo8thE6LTad7CIAAAACkmwbP9T+7du2ipUuXUnp6ujh2//59ysjI0E+rQAPWAgIAAJA4A3T79m2x63t0dLSYEda1a1dydHSkOXPmUE5ODi1ZskTPTQTVrvD3UrLQGQAAAFJkgCZMmEDNmzen5ORksrMr+mBmL7zwgiiOBv3zdyvq5ztJWAsIAABAkgzQoUOH6PDhw2Rtba1xPCAggO7du6eXRoEmP9eiXeDvJiMDBAAAIEkGqLCwkAoKCkodv3v3rhgKA/3zfxgA3UlGBggAAECSAIhrfubPn6++zatCc/HzjBkzqFevXnppFGgfAotPz6Wc/NLBJwAAABg4AJo3bx7t37+f6tevL4qeX375ZQoMDBTDX7xCNOifs52VegHEu8gCAQAAGL8GyMfHh86ePUsbNmygM2fOiCGx0aNH09ChQzWKokF/OMvm52pHV2PT6U5yFtX0rILuBQAAeArl2leBA51Ro0aJCxiHv5u9CICQAQIAAJBgCIwzQDzstWzZMoqIiNBDE6AsOAPE7iZhJhgAAIDRA6D/+7//IycnJ5o7dy7VrVuXqlWrRoMHDxYLIF65cuWpGwRPmgmGAAgAAMDoQ2BDhgwRF/bgwQPau3cv/fnnn/TOO+88coo86DEDhCJoAIBKI09RSA/SciiWL6k5lJiRS6nZCkrNzqeU7DxKz1GIc/ILii55BUrKVxSSkoisLczIysK86GJpLm7zhBmeOONsb00u/NXOilwdrMjLyZZ8nO3Ixd5K1JVCOWuAeNo7L4jIs8H27dtH4eHh1KhRI+rQoQP61IA1QOwOhsAAACqUgkIl3UrMpOsPMigqIZMi44u+3krMooSMXKO2xdbKnKo525G3k634wzrIowoFeThQsIcDVXdzIGvLcm0RKo8AqFWrVnT+/Hlq2LAhdezYkT788ENq164dubi4GKaFoJEBSs7Kp4xchXpaPAAAmA6lUkk34zPozO0Uung/lS7dT6MrMWmUlffo0RFrC3PydrYVF/cq1uRsZy0yNZy9cbK1IhvL/zI8qowPUxQWUp5C+V92SFEoPh9SsoqyR/yVM0lJmXlF2aXMPMrJLxTBV1RCZql2WJibkb+rHdXxdqT61ZypgY8T1fdxomrOtpUya6Tzp+j169fJ3t6egoKCxKVmzZoIfozA0dZK/IfgNzRviVHX28kYTwsAAE/I7ly8l0rHoxLp5K1kOnUrSfyhqi3zUsvTUWRbgtyrUA3x1YF8XOzI1UjDUryQLg+3xaTyJZuiE7MpMiGDIuOLslKZeQUiK8WXfy89UH8ft6+BjzOFVnehpgGu1NTflZztrUh2AVBSUpLIAPHQ165du8QK0Obm5mL4q1OnTjR27FjDtBREIXRKVqrYFBUBEACANOLSc+hARAIdiIing9fjSwU8nLFp4u9CjXydqaFvUSaFh5o4wyIlWysLCqjqIC7aMldx6bl0Iy5DZKwu308T2asb8Rni5zt0I0FcVHg9umbVXal5oCuF1XQnX5eKtw6gmZJ/6qdw+vRp+u6772jt2rWVpgg6LS2NnJ2dKTU1Vcx4MxVvrTtN2y/E0ozn69OrbWpI3RwAANm4nZhJf1+MFZdzd1I07nO0saRWQW7UItCNWtRwo4Y+zpWmliYnv4AiHqTT+bupdCY6mcKjU7QOnwVWtReBUJtgd2odXJXcHDQ3TDfFz2+dM0Bc8MzZH74cPHiQ0tPTKSQkhCZMmCAyQGD4XeE5AwQAAIbFk05+P3uP/roQK7IixXF2p0NtD+pQx0Nke1R1OZWNrZUFNfZzEZdXngkQx3imGgdCp24ni6E/Do6Khs6iaf3xaHFO/WpO1L62B3Wu50mh/i5kaYL9o3MA1KJFCwoNDRVDXq+99hq1b9/epLIklRkXp7FozAQDADCI9Jx8+vtCLG0+c5eORyWpj/Pw1TNBbtSjYTXqXt+LPJ1sZfsKVK1iQ13qe4kLS8vJpxORSXT4ZgIduZFI1x6k02UeRotJoyX7b4r61U51POnZup4iKOLi7gpbA6TPgGfRokX09ddfU0xMDDVo0EDsNM+zyh6Fp95PnjyZLl26JFalfv/990vVHaWkpNC0adNoy5YtlJycTDVq1BALOFb03epV47bRSaXTjwAAUD5cCRJ+J4XWHrtNf52PoVxFoTjOdclhwVWpb4gvda3vRa4SDeuYOidbK42AKD49l47cTKA9V+No37V4MXlna/g9ceFAskWgK3Wt703dG3ipRzYqRACkCn649odXfubK9Xr16lHTpk11fvJNmzbRxIkTRRDUpk0bWrp0KfXs2ZMuX75M1atXL3V+VFSUCGI488Q1R4cPH6a33nqLPDw8qH///uKcvLw86tq1K3l6etKvv/5Kfn5+dOfOHXJ0dKSKLvBhAHQ7MYsKC5VkLnFBHQBARZaVp6BtZ+/TT8dui4JfFV4Tp38zP+rXxFfM0gLdeDjaUN8mvuKiKCikM9EptPvqA9p9JU4UWR+LTBKX5Qci6ejUZyWbYq9zEXRcXJzY+oJrgHjtH/52Ljbi+p+NGzeKYESXNYU4cFq8eLH6GAdT/fr1o9mzZ5c6f8qUKbRt2zaNLTc4+3Pu3Dk6evSouM1bcnBG6erVq2RlZVWpiqD5jVT3o39IUagUbxpezAoAAHSfxfXj4Vsi45OWoxDHuGj5ucbVRJ0L16xUxnVvTKWYfNeVONpxKZbqVXOiT/o00Ovj6/L5rXNVEm95wU/AQ1A8HMZDTBcvXhTHxo8fX+bH4UwNZ5G6deumcZxvHzlyROv3cJBT8vzu3bvTqVOnKD+/aBoiB0itW7emt99+m7y8vMSCjV988cVjZ6fl5uaK9he/mCIuIlOtCH0rAXuCAQDogrMPH2w+T22/3EuL9t0UwU9AVXv6sFddOj61M80d2ISaVndF8GPgUo7RbWvQpjdaixnNUtJ5COyff/4R6/9wpkalfv369P3335cKTh4nISFBBCUcpBTHt2NjY7V+Dx/Xdr5CoRCPxxuzRkZG0p49e2jo0KG0fft2sXAjB0N8zscff6z1cTnb9Omnn1JFwP9ZeQoiR9E81RAAAB4vPDpZBDw7L/+3uF+zAFd6o30QdannhXICiUidZdM5AOK1frQNLfExvu9pO4CH1B7XKdrOL36c28D1P8uWLSMLCwtq1qwZ3b9/XwyLPSoAmjp1qiisVuEMkL+/P5luHVA8RSWiEBoA4HHO302heTsjaO+1ePUxLmbmwKd5oBs6T+Z0DoCeffZZsebPhg0bxCwsdu/ePZo0aRJ17ty5zI/j7u4uApSS2R6uMSqZ5VHx9vbWer6lpSVVrVqUDeEsEAdj/NgqnK3i7+NhN2vr0lX8NjY24lIR8GJT7DaGwAAAtOJVjOftilBnfHjm0QuhvjS2Q7BYwRigXDVAvOozL34YGBhIwcHBYi8wnmbOx7799tsyPw4HIpyd2blzp8Zxvh0WFqb1e7i2p+T5O3bsoObNm6uzUjyb7MaNGxrZqIiICBEYaQt+KpoA96KZYLyzMAAA/Ic3IeUV83stPCiCH54o+2KoL+2e3IG+eSkEwQ88XQaIh4bOnDkjAhGeacVDUFwD1KVLF10fSgw7DRs2TAQwHNzwsFV0dLR6XR8emuLs0po1a8RtPs4BGH8fT4XnouiVK1eKbJTKm2++KQIxzlJxwTbXAHERtC4F2hVlKvyThgsBAOSAdztfuPu6mNXFs2QZz+ia2KUW1fSs+EuggIkEQCq81g5fnsagQYMoMTGRZs6cKRZC5BlbXLgcEFC03DYf44BIhTNNfD8Pt3HRNQ/BLVy4UL0GkCpA46wQn9O4cWPy9fUVwRBPoa8MeMM5Tudm5xeIxabkvBopAMhbrqKAVh+5Rd/uuUHpD6ez82rD7/eogw2jwTCboe7evZvmzZunXgixbt26YkHD8mSBTJGprgOk0n7OXrEdxqbXn6FWQZgJBgDywh9bvCnp7L+vqPdG5DVlpveuR21qukvdPJCQQdcB4iGoHj16iJWVObPCQ0v8JLxCM98HxpkKrxoGAwCQW53PsJUn6K11Z0Tw4+loQ3P6N6Y/32mL4AcMOwTGa+Zw9mfcuHHqYxwEcfHxrFmzNI6DYdRwd6CD1xNQCA0Astq24rs9N2j5wUjKL1CKlZvHtg+iNzoEk4NNuas5QMYsy5Ne4gxQSbwIYmWps6kom6IiAwQAchju2nH5Ac384zLdSyka7upUx0NsoaD6XQhQHjoPgfXp04e2bt1a6vjvv/9Ozz//fLkaAeVbCwhT4QGgMotJzabX1pyiN346LYIfngSybFgz+mFkCwQ/YPwMEC8qyENdvBkqT11nx44dEzuzv/vuu2JWlkplmXpualR/9dxKyMRUeACodAoLlbThZDTN3n6VMnIVZGVhRq+3D6JxnWqRnfV/i9wCGHUWGE9FL9MDm5mJfbkqIlOfBZZfUEj1Hu4Kf2xqZ/J2xlR4AKgceK9D3rD0eFSSuB1a3UUUOdfywno+oN/Pb50zQFFRUbp+C+iZlYU5Va9qT5HxmWJGBAIgAKjoFAWFtPJQFM3dGUG5ikKys7IQ6/kMbx0o1j4D0DeUzldQwR5V1AEQ1r0AgIqe9Zn881kKj04Rt9vVcqcvXmhE/m5F9Y4AhoAAqAIHQDvpAd2Iy5C6KQAA5cIVGLx9xRfbr4rV7R1tLemj5+rTS838sM0PGBwCoAoq2KOoEJozQAAAFU1sag69v/k8HYiIF7fb1KxKXw8IIR8XO6mbBjKBAKiCCvasIr7ejMOu8ABQsWw7d58++u0ipWbnk42lOX3Qsy6NaB1I5qj1AVNbB+jFF18UldWMd2bPzc01dLugDENgLDYtR0wTBQAwdRzwvLMhnMZvCBfXG/s501/j29GrbWog+AHTDID+/PNPyswsyjS8+uqrYnoZSMvZzoo8HG3E9UgMgwGAiTt9O4l6LThIf5y7L2Z1TexSiza/GUY1H2azAUxyCIx3e586dSp16tRJFK39/PPPj5xfP3z4cH23ER5TBxSfnivqgBr7uaCfAMDkFBQqafG+GzRv13VxnTdzXjA4lJr443cWVIAAaMmSJTR58mT666+/RGX+9OnTtVbo8zEEQMYdBjsWmYSZYABgsoXOEzeFi99TrF8TH/qsX0NytLWSumkAZQuAwsLCxHYXzNzcnCIiIsjT0xPdZyJ1QCiEBgBTs+vyA/rfr+coOSuf7K0t6LO+DenFpr6Y3g4mo1wrQXt4eBimNVC+mWCoAQIAE5GrKBB7eP145Ja43dDXiRYODqWgh3+wAVTYACggIIBSUlJo5cqVdOXKFRHN8wapo0ePFvtvgPHXAuJd4XkZeUuLMtW0AwAYxN3kLHp73Rk6d7doosyYtjXofz3qkI0lNjAF06PzJ+apU6coODiY5s2bR0lJSZSQkCCu87EzZ84YppWglY+zndgvJ79ASdFJWeglAJDMnqsPqPfCQyL44VmqP4xsTtOfq4/gBypPBmjSpEnUp08fWr58OVlaFn27QqGgMWPG0MSJE+nAgQOGaCdowYuGBXs60MV7aRTxIAMpZgAwOs4+8wami/bdFLdD/F3o+5dDyc8V+3hBJcwATZkyRR38ML7+/vvvi/vAuOp4FS1HcC02HV0PAEYVl5ZDQ1ccVwc/I8MC6Zc3WiP4gcqZAeL1f6Kjo8XaQMXduXOHHB0d9dk2KIM63kWFhREPEAABgPEcvZkoVnVOyMglB2sL+mpAY3qusQ9eAqi8AdCgQYNEwfM333wjpsdzEfShQ4fof//7Hw0ZMsQwrYRHquNdlAG6Glu0VQkAgCHxYric8fm/HdeoUMlZaEda9EpT9bIcAJU2AOLAR7XgIdf+MCsrK3rzzTfpyy+/NEQb4THqehdl3W4lZlFOfgHZWmG2BQAYRnpOPr33yzn699IDcXtAMz+xvo+dNX7vgAwCIGtra1qwYAHNnj2bbt68Kf4aqFmzJtnbo+BNCp6ONmLGBW8syOsBNfDBUgQAoH/8++X1NafoZnwmWVuY06d9G9CQltXR1SCfAEiFA55GjRrptzWgM87G1fF2pBNRSaIQGgEQAOjbjkuxNPnnc5SRqyBvJ1ta/EpTCq3uio4GeQZAYFrDYCIAQiE0AOgRb146f1cEfbvnhrjdsoYbff9yU/JwtEE/Q4WHAKgSqO1VVAeEqfAAoC+pWfk0YVM47bsWL26/2iaQPuxVj6yw4jxUEgiAKlEhNAIgANAHnlX6xk+n6XZiFtlYmtOX/RvRC6F+6FyoVBAAVQK1HwZAMak5ohiai6IBAMrjj3P36f1fz1N2fgH5udrRkleaUUNfTK6AyqdcAVBERATt27eP4uLiqLCwUOO+jz/+WF9tgzJysrUiH2dbup+aIxZEbBHohr4DAJ23tJjz7zVadiBS3G5b052+HRJKrg7W6EmolHQOgHgPMF7zx93dnby9vcUsJBW+jgBIGjwTjAOgq7EIgABAN5w55lWdD0QU1fuM7RBM/+tehyzM//v9DkByD4A+//xzmjVrltgPDExHvWpOtPdaPF2+jxWhAUC39X1eW32KIhMyydbKnL55KQRbWoAs6BwAJScn00svvWSY1kC5qdb/uXQ/Fb0IAGWy91ocjd8QTuk5CjGMvmx4c9T7gGzovBs8Bz87duwwTGug3Br6qvYES6f8As26LACA4ngF/2UHbtLoH0+K4Kd5gCtte6ctgh+QFZ0zQLztxUcffUTHjh0TK0HzPmDFjR8/Xp/tgzLyd7UnRxtLSs9V0I24DDEkBgBQEu8ZOHXLBdoafk/cHtzCn2b2bUjWljr/PQxQoZkp+U8BHdSoUePRD2ZmRpGRRTMIKrK0tDRydnam1NRUcnKqOIHEoKVH6XhUEn09oDG91Nxf6uYAgIl5kJZDr/90ms7dSREFzh8/V5+Gtw7QmMwCIJfPb50zQFFRUU/TNjAgXquDA6BL99MIVVoAUNzZOyliM9O49FxysbcSW1q0qemOTgLZeqqFEFXJI/z1YBoa+BRFuyiEBoDitobfpSmbL1CeopBqeVahFSOaU0BVB3QSyFq5Bn3XrFkj6n/s7OzEpXHjxvTTTz/pv3WgE9VqrTwVvrBQp5FNAKikm5nO3n6FJm06J4KfLvU8actbYQh+AMqTAZo7d64ogh43bhy1adNGZIEOHz5MY8eOpYSEBJo0aRI6ViJB7g5i357MvAK6lZhJQR5V8FoAyFRaTr6Y4q7azHRcp5o0uWttMsfihgDlC4C+/fZbWrx4MQ0fPlx9rG/fvtSgQQP65JNPEABJyNLCXMz+4rH+i/fTEAAByFRkfAaNWXOKIuOLFjecMyCE+oT4SN0sgIo9BBYTE0NhYWGljvMxvg9MYz2gS/ewICKAHO2PiKe+3x8WwU81Z1v65Y0wBD8A+giAeB2gn3/+udTxTZs2Ua1atXR9ODDQitAXEAAByAqXI6w4GEmvrjohFjdsFuBKv49rQ438sJM7gF6GwD799FMaNGgQHThwQNQA8QywQ4cO0e7du7UGRmBcIX4u4uv5u6miABKbGQJUflzg/NFvF2nTqTvi9kvN/OjzFxqSjaWF1E0DqDwBUP/+/en48eM0b948+u2338RfHfXr16cTJ05QaGioYVoJZVbbqwrZWVlQRq5CbHJY28sRvQdQiSVl5tHYtafpRFQScX3zh73q0ei2NbA8CYAh1gFq1qwZrV27tjzfCkYohOaUN/8yPBudggAIoBK7/iCdRq8+RdFJWVTFxpK+fTmUOtXxlLpZAJUnAOKlpVVLSvP1x6lIW0dUVqHVXUQAFH4nhQa2wJYYAJV2J/f14WL/P383O1o5ogX+4AHQdwDk6uoqZnh5enqSi4uL1tQqD4Xx8YKCAl2eHwwg1L+oDig8Ohn9C1DJ8O/aVYdv0ed/XSZe77RloBstGdaM3ByspW4aQOULgPbs2UNubm7i+t69ew3dJnhKTfxdxdeIB+mUmasgB5un2vEEAExEfkEhffz7JdpwIlrcHtjcjz7v1wg7uQOUQ5k+GTt06KCxG7y/v3+pLBD/VXLnTtEMBJCWt7OtWP8jJjVHTId/JqgqXhKACi45M4/eXHeajkUmEf/6nYZiZwDjrgPEAVB8fNHS6sUlJSWJ+8A0NHk4DMarQgNAxXYjLoP6LTosgh8HawtaMbw5jWkXhJleAMYMgFS1PiVlZGSQra3t07QFDBAAoQ4IoGI7EBFPLyw6TLcTs8jP1Y62vNWGOtfzkrpZABVemYtDJk+eLL5y8MObodrb26vv48JnXhuoSZMmhmkl6Cy0elEdUHh0yiODVgAwXfz/dvWRWzTzz6Ji5+YBrqLY2b2KjdRNA5BXABQeHq7+T3nhwgWytv5vxgFfDwkJoffee88wrQSdNfJ1JktzM4pLz6W7ydnk7/ZfwAoApl/s/Mm2S7TueFGx84BmfjQLKzsDSBMAqWZ/vfrqq7RgwQKs92Pi7KwtxIKInAHiNYEQAAFUDClZefTWujN05GaiKHb+oEdder096n0AJK8Bmj9/PikUCq1F0E9aJFGbRYsWieJprh/iFaYPHjz42PP3798vzuPzg4KCaMmSJY88d+PGjWLop1+/fiRHLWsULV3AARAAmD7evuaFRUdE8MPFzsuGNac3OgRjCBvAFAKgwYMHi8CiJN4Ile/TBe8gP3HiRJo2bZoYYmvXrh317NmToqOL0r4lRUVFUa9evcR5fP6HH35I48ePp82bN5c69/bt22JIjs+Vq1aqAOgWAiAAU3fwejy98P1hikrIJF8XO/r1zTDqWh/FzgCGYqbkoh4d8IKIhw8fpnr16mkcv3r1qtgdPjExscyP1apVK2ratCktXrxYfYwflzM2s2fPLnX+lClTaNu2bXTlyhX1sbFjx9K5c+fo6NGjGkXZvHYRD9dxRiklJUVs3FpWnMlydnam1NTUCj3Ul5qdT01m7iB+hU9M60yejpilB2CK1hy9RZ/+cZkKCpXUjIudX2lGHo4odgbQlS6f3zpngHJzc7UOgeXn51N2dnaZHycvL49Onz5N3bp10zjOt48cOaL1ezjIKXl+9+7d6dSpU+L5VWbOnEkeHh40evToMv9M3GnFL5WBs50V1fUuegOcjMK2GACmRlFQSB/9dlGs7szBz4uhvrRuTCsEPwBGoHMA1KJFC1q2bFmp41yLw7U5ZZWQkCAyNV5emilevh0bG6v1e/i4tvM5IOPHY5ydWrlyJS1fvrzMbeFsE0eMqguvdF3phsGiyp6ZAwDDS8vJp1GrT9FPx26LYuf3e9Sh/xsYQrZWFuh+ACPQeZOoWbNmUZcuXcSwU+fOncWx3bt308mTJ2nHjh06N0DblhqPW7NG2/mq4+np6fTKK6+I4Mfd3b3MbZg6dap6nSPGGaDKEgRxIfSPR27RcRRCA5iMO0lZNHr1SYp4kEG2VuY0f1Ao9WjoLXWzAGRF5wCI63x4KOrrr78Whc92dnbUuHFjkXWpVatWmR+HAxQLC4tS2Z64uLhSWR4Vb29vredbWlpS1apV6dKlS3Tr1i16/vnn1fcXFhaKr3zOtWvXKDg4uNTj2tjYiEtl1CKwKAN07UE6pWblk7O9ldRNApA1Xp39tTWnKCEjjzwdbWjliBZiyQoAMK5ybRPOKz6vW7fuqZ6YF0/kIbOdO3fSCy+8oD7Ot/v27av1e1q3bk1//PGHxjHOOjVv3pysrKyobt26YpHG4qZPny4yQ7x2UWXJ6uiCCymD3B0oMiGTjkclUrcG+CsTQCp/nY+hyT+fpVxFIdWr5kQ/jGxO1Zzt8IIAVJQASIWLnosXHzNdZk3xsNOwYcNEAMPBDdcW8RR4ntmlGpq6d+8erVmzRtzm49999534vtdee01kojjztGHDBnE/rw3UsGFDjedwcSnaE6vkcTkJq1lVBECHbiQgAAKQAA/VL9p3k77+95q43bmuJy0cEkoONk/1KxgAnoLO//uysrLo/fffF8Nf2qa8c2FzWQ0aNEg8Bs/aiomJEUHK9u3bKSAgQNzPx4qvCcQLJvL9kyZNou+//558fHxo4cKF1L9/f11/DFlpW9OD1h6LpkPXiwrFAcB48hSF9OHWC/Tr6bvi9qg2NWha73pkYY79+QAq1DpAb7/9ttgWg4OW4cOHi0CEszRLly6lL7/8koYOHUoVXWVZB6j4ekChM3eIDRUPf/CsWGQNAIyzrcUbP50WkxA43vm0TwMa1joQXQ9QEdcB4hoc3r5iwIABorCYV1rmOpsvvvjiqeuCwHDrAYX4Fw0FHroej24GMAJe0fnFRUdE8FPFxpJ+GNkCwQ+ACdE5AOI9v3goinF0xbdZ27Zt6cCBA/pvIehFu1oe4utBDIMBGBzvv/fCosOi9o4zrpvfDKOOdTzR8wAVOQDiDUh5qjmrX7++qAVSZYZUBcdgetrVKloXiTdZLOSxMAAwiC1n7tLQFccoJStfZF63vh1Gdbwd0dsAFT0A4v21eBFE1SwtHg7jNXS4MPl///ufIdoIetDE30Wk4ZMy8+hyTOXY6gPAlHA55bydETT553OUX6Ck3o2q0abXn8EefACVZRYYBzoqnTp1Epug8l5cvMBgSEiIvtsHemJlYU7PBLnRritxdOB6PDX0xcJrAPqc6TV1ywXafKZoptdbHYPpvW51yBwzvQAqRwaI1/zhoCciIkJ9rHr16vTiiy8i+KkAOtQuqgPacyVO6qYAVBrpvKfXjydF8MNT22e/2Ije71EXwQ9AZQqAeLXlixcvPnavLjBdz9Yr2mLkTHSyGAoDgKcTk5pNLy05KhYZtbe2oBUjmtOQltXRrQCVsQaI1/7h1Zeh4uHZKLz8PtdA772KLBDA07gSk0YvfH+Ersamiy1nfn6jNXXCTC+AylsDlJeXRytWrBB7dvEWFg4ODhr3z507V5/tAz3rUs9T/OLeffUB9W/mh/4FKAdeVf3NtacpPVdBNT2r0I+vtiA/V3v0JUBlDoB4CKxp06bievFaIIahMdPXpZ4XfbvnBh2ISBCFm9aWOicBAWSNt7T4YPN5UhQqqVUNN1o2rDk521tJ3SwAMFQAFBkZKRZA5G0woOJq5Oss0vXx6blid3jVAokA8ORp7vzHw9ydRX/49Qnxoa9fakw2lhboOoAKqMx//teqVYvi4+M1NjJ98OCBodoFBsLTcnknarbrMl4/gLLILyikDzZfUAc/b3YMpvmDmiD4AZBDAFRyz1TelT0zM9MQbQIjDIOxHZcfYFVogCfIylPQmNWnaNOpO2JD08/7NaQpmOYOUOGhAESG2tZyJ0cbS4pJzRFT4gFAO14uYsjy47Q/Ip7srCxo+fDm9MozAeguADkFQFzgXLLIGUXPFZOtlQV1rV+UBfrzfIzUzQEwSXeTs2jAkiN07k4Kudhb0brXWlHnh9lTAJBRETQPgY0cOVLs+8VycnJo7NixpabBb9myRf+tBL3r3bgabQm/R9svxNBHz9UXK9gCQJFrsek0/Ifj9CAtl3ycbWnN6JZU0xMbmgLIMgAaMWKExu1XXnnFEO0BI+HZX462lhSXnkunbiVRq6Cq6HsAIjp5K4lG/3iS0nIUVMuzigh+qjnboW8A5BoArVq1yrAtAaPi9X+6N/AWa5r8dSEGARAAEe28/IDGrT9DuYpCahbgSitHNCcXe2v0DUAlhCJomQ+DMR4GUxQUSt0cAEltOhlNb/x0SgQ/vFTE2tGtEPwAVGIIgGSsTbA7uTlYU0JGHh28niB1cwAkwfWN3++9QVM2XxD75L3UzI+WDmtGdtZY4BCgMkMAJPNhsL5NfMT1X07fkbo5AEZXWKikz/68Ql//e029wOGcAY3J0gK/GgEqO/wvl7kBDzdE3XU5jpIz86RuDoDR8LDv+5vP0w+Ho8Rtng3JCxxieQ8AeUAAJHMNfJypfjUnyisopG3n7kvdHACjyFUU0DsbwsUkAF4C4v9eCqHRbWug9wFkBAEQ0EvNi7JAGAYDOcjOK6DX1pymvy/GkrWFOX3/clPq/zATCgDygQAIqG8TX7KyMKOL99Lo8v009AhUWmk5+WKBwwMPt7ZYObI59WjoLXWzAEACCIBAzARTbY3x07Hb6BGolBIzcunl5cfo5K1ksQjo2jEtxYKgACBPCIBAGN46UHz9LfwepWblo1egUolNzaGBS4+KLGdVB2va+Poz1CzATepmAYCEEACB0KqGG9XxcqTs/ALUAkGlcjsxU2xqejM+k6o529LPY1uL4n8AkDcEQCDw1N8RYYHqYTBeHwWgMmxqOmDJUbqbnE2BVe3pl7GtKdijitTNAgATgAAI1PqF+ojaiNuJWbQ/Ih49AxXaxXupNHjZUYpPz6W63o4i8+Pnai91swDARCAAAjV7a0sa1NxfXF92IBI9AxXW2TspouA5OSufQvxdRM2Pp6Ot1M0CABOCAAg0vNq2Blmam9HRyEQKj05G70CFc/p2Er2y4jil5SioeYArrR3dEpuaAkApCIBAg6+LHfUL9RXXF+27id6BCuVYZCINW3mCMnIV9EyQG60e1ZIcba2kbhYAmCAEQFDK2A7BZGZGtPPyA1FEClARHLqeQCNXnaCsvAJqV8udVo1sSQ42llI3CwBMFAIgKKWmZxXq0aBoddzF+26gh8Dk7b0aR6NWn6Sc/ELqVMeDlg9vTnbWFlI3CwBMGAIg0OrtTjXF19/P3UcWCEzajkux9PpPpyhPUShWNF8yrBnZWiH4AYDHQwAEWjX0dRZZIKWS6Jsd19BLYJL+Oh9Db607Q/kFSurdqBotGtqUbCwR/ADAkyEAgkd6r3ttMn9YC3QGM8LAxPx+9h69s+EMKQqV1K+JDy0Y3ISsLPArDQDKBr8t4JFqejpS/6Z+4vqcf66SktNBACbgl1N3aOKms8QLlg9o5kf/N7AJWSL4AQAdIACCx5rYtTZZW5jTscgk2nH5AXoLJLf+eDT979fzYnj25VbVaU7/xmTBqUoAAB0gAIInrgs0pl0Ncf2zPy9TTn4Begwks/rILfpw6wVxfWRYIM3q15DMEfwAQDkgAIIyzQjzdrIVG0piiwyQyvIDkTRj2yVx/Y32QTTj+fpiE18AgPJAAARPxIvJfdi7nri+aN8NupOUhV4Do/p+7w2atf2KuD6uU036oGddBD8A8FQQAEGZPN+4GrWq4SYWmuMhCBREgzHw+2z+rgj6+t+ipRgmd61N73Wvg+AHAJ4aAiAoEx5qmP1iI7KxNKeD1xPol9N30XNg8OCH16Cav+u6uD2lR10a37kWeh0A9AIBEJRZkEcV8Re4qiD6QVoOeg8MFvx8sf0Kfb+3aEPe6b3r0Zsdg9HbAKA3CIBAJ6Pb1qAQP2dKz1HQe7+co0JeiAVAj/g99cm2S7T8YJS4PbNvAxrTLgh9DAB6hQAIdMKLzX3zUgjZWhUNha08VPQhBaAPvJ/XhE1nafXR28QTvHjYdXjrQHQuAOgdAiDQWS0vR/r4uQbi+px/r9L5uynoRXhqGbkKGvXjSfrj3H2ysjCj+YOa0JCW1dGzAGAQCICgXIa09BebpfImlOPWh1NKVh56EsotISOXhiw7RoduJJC9tQWtHNGC+jbxRY8CgMEgAIJyzwr7qn9j8nezo+ikLHpnQzgVoB4IyuF2YiYNWHyELtxLJTcHa9r4+jPUvrYH+hIADAoBEJSbs70VLX2luboeiIfDAHRx9GYi9f3+MN1KzCI/Vzv6dWxrauzngk4EAINDAARPpb6PE80ZECKuL90fSZtORqNHoUw2noimYSuPU0pWPoX4u9CWN8PEUgsAAMaAAAieWp8QH7E9Aftw60Xaey0OvQqPxEOlvI7UB1sukKJQSc+H+NCm158hTydb9BoAGA0CINCLd7vVpheb+ooPt7fXnaHw6GT0LJTCxfKjV59UL5/AC2suHNyEbK0s0FsAYFQIgEBvRdFfvtiY2tVyp6y8Ahr+wwlMjwcNvFxC74WHaN+1eLGlyncvh4qtLbCjOwDIMgBatGgR1ahRg2xtbalZs2Z08ODBx56/f/9+cR6fHxQUREuWLNG4f/ny5dSuXTtydXUVly5dutCJEycM/FMAs7Y0pyWvNKOWgW5ipehXVhyni/dS0Tkyx9tarD12mwYsPkr3UrIpoKo9bXkrjJ5r7CN10wBAxiQNgDZt2kQTJ06kadOmUXh4uAhcevbsSdHR2gtpo6KiqFevXuI8Pv/DDz+k8ePH0+bNm9Xn7Nu3j4YMGUJ79+6lo0ePUvXq1albt2507949I/5k8uVgY0k/vNqCmgW4UlqOgoauOE6X7iMIkqvMXAVN2nSWpv92kfIKCqlbfS/aNq4tNfBxlrppACBzZkr+80wirVq1oqZNm9LixYvVx+rVq0f9+vWj2bNnlzp/ypQptG3bNrpy5Yr62NixY+ncuXMi2NGmoKBAZIK+++47Gj58eJnalZaWRs7OzpSamkpOTk7l+tnkLj0nXwyDhUenkKOtJS0f3pyeCaoqdbPAiLgOjIMfnuJuYW5G73evQ6+3D8KQFwAYjC6f35JlgPLy8uj06dMiO1Mc3z5y5IjW7+Egp+T53bt3p1OnTlF+fr7W78nKyhL3ubm5PbItubm5otOKX+DpONpa0epRLdXDYcNXnqDtF2LQrTKgKCik+bsiaMCSoyL4qeZsS+vHtKI3OgQj+AEAkyFZAJSQkCCyM15eXhrH+XZsbKzW7+Hj2s5XKBTi8bT54IMPyNfXV9QCPQpnmzhiVF38/f3L9TOBJidbK1ozuiV1b+Alhj/eXn+GVh+5hW6qxG4lZIrAZ/6u62JGIC+R8M+E9tQK2T8AMDGSF0GXnAHCI3KPmxWi7Xxtx9mcOXNow4YNtGXLFlE0/ShTp04V6TLV5c6dO+X4SUAbnt68aGgzeuWZ6sQv1Yxtl+jDrRfErt9QubI+yw7cpB4LDtDZO0XDngsGN6GFQ0LFiuEAAKbGUqondnd3JwsLi1LZnri4uFJZHhVvb2+t51taWlLVqpr1Jd988w198cUXtGvXLmrcuPFj22JjYyMuYBhc//FZ34bk42JHX/97jdYfj6aI2HRa9EpT8nTE4ncVHc/0m7L5PF26XzR03DqoKn0zMIR8XeykbhoAgOllgKytrcV09p07d2oc59thYWFav6d169alzt+xYwc1b96crKz++yvz66+/ps8++4z++ecfcR9IjzN0b3WsST+MaCGyA6duJ9Pz3x6iU7eSpG4alFNWnoJm/XWZ+nx3SAQ/znZWNKd/Y1r/WisEPwBg8iQdAps8eTKtWLGCfvjhBzGza9KkSWIKPM/sUg1NFZ+5xcdv374tvo/P5+9buXIlvffeexrDXtOnTxf3BQYGiowRXzIyMiT5GUFTp7qeYhp0Tc8q9CAtlwYtO0YLdxfVi0DFUFiopM2n71Knb/bR8oNRxC/dc42r0a7JHWhgC38UOgNAhSDpNHjVQogctMTExFDDhg1p3rx51L59e3HfyJEj6datW2Jtn+ILIXKgdOnSJfLx8RFT41UBE+Ogh4OkkmbMmEGffPJJmdqEafCGl5GroI9/u0hbwovWZ2pZw43mD2oihsnAdJ2+nUQz/7hM5+4Wre3k72ZHnzzfgDrX0z5sDQBgTLp8fkseAJkiBEDGszX8Lk3fepEy8wrI0caSpj9XjwY2RxbB1NyMz6B5OyPoz/NFSxk4WFvQuGdr0attArGPFwCYDARARuxA0M/U6YmbzorZQ6xtTXea/WIj8nezR/dK7HZiJi3YfZ1+C78nhrp4suXAZv70bvfaKGAHAJODAMiIHQj6wTVAPxyKom92XKNcRSHZW1uIjTJHtakh9hgD4wc+i/fdpF9O31XXZ3Wp50WTutbCNhYAYLIQABmxA0G/ohIyacqv5+nEw9lhQR4OosakfW0PdLWRanyWHYikHZcfiHWbWIfaHjS5a20K8XfBawAAJg0BkBE7EAwzy4iLo7/8+wolZOSJY13qedL7PepSbS9HdLme8aKUOy7H0spDUWLvNpWOdTzonWdrUrOAR28jAwBgShAAGbEDwXDScvJF4e2ao7fFMIy5GVH/pn40qWttzBbTgxtxGbTpZDRtPnOPkjKLAk1rC3N6IdSXxrSrQbUQbAJABYMAyIgdCMb5oP7m32v0z6VY9Yf0gOZ+9GaHYBRK64gDnX8uxorZdydvJauPezra0OAW/vRK6wAUNwNAhYUAyIgdCMZzJjqZ5vxzlY5FJqm32Ogb4kNj2gVRfR+8To+SkpVH/16KFVPYj9xMVBc1c/91quMpAh8e7rK0QLE5AFRsCICM2IFgfCeikui7vTfoQES8+ljLQDcaHhZA3Rt4k5XMP8h5aS/emmLftTjady1eBI7FF9pu6OtEzzX2EUNdXk7Yiw0AKg8EQEbsQJDO+bspYsYSD+koHn7Cu1expr5NfOnFpr5Uv5qTLLZl4ICHhwmPRyXRyVtJIssTn56rcU5db0d6PsSHejeqRoHuDpK1FQDAkBAAGbEDQXoP0nJo3bHbtP7EHUrI+O+Dv46XI3Vv6E3d6ntRA5/KEwzxz8s7sF+8l0YX7qWKDI+qiFmF11FqU9NdDG11rOOJzUkBQBbSsBWG8ToQTEd+QSHtvxZPW8Lv0q7LcZRXUKi+z9fFjtrXdqfWwe7UOqgqeTjaUEWo3bkZnym2oeBLRGw6XbyfViq7w2ytzKlpdVexpxpfmgW4ko2lhSTtBgCQCgIgI3YgmG7wsOtKHO24FEsHrsdTTv5/wRALcnegRn7O1MjXmRr6Oovd6as6WBs1S5Sek0/3U3Lofko23UvJFl/5cjc5WywImVgiq6PCywHU8nSkBr5O1NDHWSxQyD8HVswGALlLQwbIeB0Ipi87r4CO3EwQtTFHbybS5Zg0rec52lqKwIh3pOcMkUcVG/HVzcGaHGwsxaafdnyxthBBCK+UXKhUElcf8cyqrLwCyspViK+ZeUVfU7PzKTkzTwQzSQ+/Jj+8npGreGLbfZxtKcijCgV7OIggrYGvM9XzdhJtAAAATQiAnhICoMqNA5Bzd1NEHc35u6l0JTZNZF1UWz8Yk4u9Ffk424mgy9fFVnzlSw13B7ENiL21pfEbBQAgg89v/HYF2XF1sBaFwXxRyckvoOikLIqMzxRFxlxnw5e49BxKysqnnLwCys4vuvB1zvyY83CZGQ9JmYk1dTg75GDDGSJLcrC2EMGLk62lyCDxc/IQm1uxC09B58wSAAAYH377AogiYguxzxj2GgMAkAd5rxgHAAAAsoQACAAAAGQHARAAAADIDgIgAAAAkB0EQAAAACA7CIAAAABAdhAAAQAAgOwgAAIAAADZQQAEAAAAsoMACAAAAGQHARAAAADIDgIgAAAAkB0EQAAAACA7CIAAAABAdiylboApUiqV4mtaWprUTQEAAIAyUn1uqz7HHwcBkBbp6eniq7+/f1n7HAAAAEzoc9zZ2fmx55gpyxImyUxhYSHdv3+fHB0dyczMTO/RKQdWd+7cIScnJ70+tpygH9GPpgTvR/SjKZHz+1GpVIrgx8fHh8zNH1/lgwyQFtxpfn5+ZEj8ppTbG9MQ0I/oR1OC9yP60ZTI9f3o/ITMjwqKoAEAAEB2EAABAACA7CAAMjIbGxuaMWOG+AroR6nh/Yh+NCV4P6IfjQlF0AAAACA7yAABAACA7CAAAgAAANlBAAQAAACygwAIAAAAZAcBkB7Mnj2bWrRoIVaO9vT0pH79+tG1a9dKrU75ySefiNUp7ezsqGPHjnTp0iWNc3Jzc+mdd94hd3d3cnBwoD59+tDdu3dJLhYvXkyNGzdWL97VunVr+vvvv9X3ow/L997k1cwnTpyIftQR/3/lvit+8fb2Rj/q6N69e/TKK69Q1apVyd7enpo0aUKnT59GP+ooMDCw1PuRL2+//ba4H78fy4G3woCn0717d+WqVauUFy9eVJ49e1bZu3dvZfXq1ZUZGRnqc7788kulo6OjcvPmzcoLFy4oBw0apKxWrZoyLS1Nfc7YsWOVvr6+yp07dyrPnDmj7NSpkzIkJESpUChk8RJt27ZN+ddffymvXbsmLh9++KHSyspK9CtDH+rmxIkTysDAQGXjxo2VEyZMUB9HP5bNjBkzlA0aNFDGxMSoL3FxcehHHSQlJSkDAgKUI0eOVB4/flwZFRWl3LVrl/LGjRvoRx3xe6/4e5E/J/gjfO/evfh/XU4IgAz0RuU35v79+8XtwsJCpbe3t/jgUcnJyVE6OzsrlyxZIm6npKSID/uNGzeqz7l3757S3Nxc+c8//yjlytXVVblixQr0oY7S09OVtWrVEr8kO3TooA6A8F7ULQDiP0C0QT+WzZQpU5Rt27Z95P3ox/Lj/9PBwcGiD9GP5YMhMANITU0VX93c3MTXqKgoio2NpW7dumks+NWhQwc6cuSIuM0p4fz8fI1zeLisYcOG6nPkpKCggDZu3EiZmZliKAx9qBtOi/fu3Zu6dOmicRz9qJvr16+L/4c1atSgwYMHU2RkJPpRB9u2baPmzZvTSy+9JMoDQkNDafny5Xg/PqW8vDxau3YtjRo1SgyD4f91+SAA0jPOqk2ePJnatm0rghfGwQ/z8vLSOJdvq+7jr9bW1uTq6vrIc+TgwoULVKVKFREgjh07lrZu3Ur169dHH+qAA8czZ86I+p+S8F4su1atWtGaNWvo33//FR/a3HdhYWGUmJiIfiwjDhi5tq9WrVqiH/n/9Pjx40W/4v1Yfr/99hulpKTQyJEj0Y9PAbvB69m4cePo/PnzdOjQoVL3caReMlgqeaykspxTmdSpU4fOnj0r/nNv3ryZRowYQfv371ffjz58vDt37tCECRNox44dZGtr+8jz0I9P1rNnT/X1Ro0aiUxkcHAwrV69mp555hn0YxkUFhaKDNAXX3whbnMGiCd/cFA0fPhwvB/LaeXKleL9ydnJ4vD/WjfIAOkRz+DilO/evXvJz89PfVw1c6RkJicuLk6dFeJzOK2ZnJz8yHPkgLNgNWvWFL80OYMREhJCCxYsQB+WEQ+l8numWbNmZGlpKS4cQC5cuFBcV72X8F7UHc/M5ECIh8Xwf7psqlWrJjK4xdWrV4+io6PFdfSj7m7fvk27du2iMWPGqI+hH8sHAZAecJaGMz9btmyhPXv2iHqB4vg2v0F37typPsbBDn8wcUqd8QeWlZWVxjkxMTF08eJF9Tly7VteHgB9WDadO3cWw4icRVNdOJgcOnSouB4UFIT3Yjnx+/DKlSviQx3vx7Jp06ZNqSVBIiIiKCAgQFxHP+pu1apVop6Ka/xU0I/lVM7iaSjmzTffFDO69u3bpzFNMSsrS30OzwDjc7Zs2SKmwQ8ZMkTrNHg/Pz8xTZSnwT/77LOymgY/depU5YEDB8RU2fPnz4tp8DwLbseOHeJ+9GH5FJ8Fhn4su3fffVf8n46MjFQeO3ZM+dxzz4mlLG7duoV+1GEpBktLS+WsWbOU169fV65bt05pb2+vXLt2Ld6P5VBQUCCWWOHZdSXh96PuEADpAceR2i68NpAKT1PkabU8Hd7GxkbZvn17EQgVl52drRw3bpzSzc1NaWdnJ37hRkdHK+Vi1KhRYs0Qa2trpYeHh7Jz587q4IehD/UTAKEfy0a1VhcvT+Hj46N88cUXlZcuXUI/6uiPP/5QNmzYUPzeq1u3rnLZsmUa9+P9WHb//vuv+GzhddJKQj/qzoz/KW/2CAAAAKAiQg0QAAAAyA4CIAAAAJAdBEAAAAAgOwiAAAAAQHYQAAEAAIDsIAACAAAA2UEABAAAALKDAAgATNonn3xCTZo0IVPBG07ybty64i0heEuc9PR0MiTeC87Dw4Pu3btn0OcBqOgQAAEALVmyhBwdHUmhUKh7IyMjQ+xP165dO40eOnjwoAgCeE+nykzfgde0adPo7bffFv1sSLxP1LBhw2jGjBkGfR6Aig4BEABQp06dRMBz6tQpjUCHMxYnT56krKws9fF9+/aRj48P1a5dGz1XRnfv3qVt27bRq6++apQ+4+dZt24dJScnG+X5ACoiBEAAQHXq1BFBDQc3Kny9b9++FBwcTEeOHNE4zgETW7t2rdhtnrMaHCy9/PLLYgiGFRYWkp+fn8guFXfmzBmRQYqMjBS3U1NT6fXXXxeZCycnJ3r22Wfp3LlzT9wRu169emRra0t169alRYsWqe+7deuWePwtW7aIdtrb21NISAgdPXpU4zGWL19O/v7+4v4XXniB5s6dSy4uLuK+H3/8kT799FPRDn4svvAxlYSEBPE9/L21atUSwc3j/Pzzz6IN3B8q/Hj8fP/++6/4WapUqUI9evSgmJgY9TkjR46kfv360RdffEFeXl7ifG4XZ+r+97//kZubm3jMH374QeP5GjVqJF6PrVu34t0N8AgIgABA6NixI+3du1fdG3ydj3Xo0EF9PC8vTwQSqgCIb3/22WciUOC6mKioKPGhLX65mJvT4MGDRSaiuPXr11Pr1q0pKCiIN2Om3r17U2xsLG3fvp1Onz5NTZs2pc6dO1NSUpLWV4YDFx5OmjVrFl25ckUEBx999BGtXr1a4zw+57333qOzZ8+KbNWQIUPUQ3yHDx+msWPH0oQJE8T9Xbt2FY+nMmjQIHr33XepQYMGIiDhCx9T4SBk4MCBdP78eerVqxcNHTr0ke1lBw4cEIFiSZxZ++abb+inn34S50RHR4s2F7dnzx66f/++uJ+DNB6ae+6558jV1ZWOHz8ufg6+3LlzR+P7WrZsKbJ4APAI5dhAFQAqId6l28HBQZmfn69MS0tTWlpaKh88eKDcuHGjMiwsTJyzf/9+sRv1zZs3tT7GiRMnxP3p6eni9pkzZ5RmZmbKW7duidsFBQVKX19f5ffffy9u7969W+nk5KTMycnReJzg4GDl0qVLxfUZM2YoQ0JC1Pf5+/sr169fr3H+Z599pmzdurW4HhUVJdqwYsUK9f28izsfu3Llinqn9969e2s8xtChQ5XOzs7q2yWfV4UfZ/r06erbGRkZ4mf8+++/H9m3/DgzZ87UOLZq1SrxWDdu3FAf437x8vJS3x4xYoQyICBA9JtKnTp1lO3atVPfVigU4nXbsGGDxuNPmjRJ2bFjx0e2CUDukAECAIGzOpmZmaLmhzMHnDXhYSnOAPExvo+Hv6pXry6yNyw8PFwMkwUEBIhhMM4YMc5ksNDQUDFEtWHDBnF7//79YoiMsyeMMz5ce1S1alUxBKS6cCbp5s2bpV6Z+Ph4kekYPXq0xvmff/55qfMbN26svl6tWjXxVTU8xzOyOENSXMnbj1P8sR0cHMTPrnpsbbKzs8VwXUk8hMZDjMXbWfJxOAvF2TQVHgrjIS4VCwsL0X8lv8/Ozk6jdgsANFmWuA0AMlWzZk1RT8LDXVw8y4EP41qSGjVqiGEjvo9rdBgHRN26dRMXrgXiqdcc+HTv3l0Mjanw8BAPe33wwQfiK9/v7u6urhPiD/3itUcqqnqc4vh81TBYq1atNO7jQKA4nsGmwjU8xb+fEzmqYypFyZ2yKf7YqsdXPbY2/PNqK0jW9jgl26HtnLI8Pw/J8WsCANohAAIAjSwQByP8Yc1FtiocDHGx7rFjx9Qzma5evSqKgb/88ktRTMyKzyJT4cLo6dOni2zPr7/+SosXL1bfx/U+XP9jaWlJgYGBT3wlOPvh6+srCqg5sCovzkqdOHFC41jJtltbW1NBQQHpA2fCLl++TMZ08eJFdUYOAErDEBgAaARAhw4dEoXBqgwQ4+ucdcnJyVEXQPNQGAcJ3377rQhIeCYUF0SXxNmjsLAwMWzFRcg8ZKbSpUsXURDNM504wOIZXDzjjAMmbcEU4yLg2bNn04IFC8RaRBcuXBCzwrhAuKzeeecdUXTN33P9+nVaunQp/f333xpZIQ7IeCiO+4IDvdzc3HK/UzjrxcXj+gqonoSHvjjg5OwcAGiHAAgA1Di44XoVHg7jbEvxAIhXMOZ6FVW2h4dXeCr3L7/8QvXr1xeZIJ7RpA1na3im2IsvvihqU1Q44OBApH379jRq1ChRd8QzxzgQKv78xY0ZM4ZWrFghnptrYbhtfJ0DrbJq06aNmJ7PARBPT//nn39o0qRJGnU6/fv3F9PSuU/4Z1XVMZUHzxTjYatdu3aRMfz+++8iQC25iCUA/MeMK6GL3QYAkKXXXntNDOsZauo4r1XEgQlnugyNC7onTpwohh8BQDvUAAGALHG2itf/4VlcPPzF6wgVX1BR33ixR66t4kyaIbfD4NlgAwYMEOseAcCjIQMEALLEU/G54JsDEp7Wz3VBvKAgAMgDAiAAAACQHRRBAwAAgOwgAAIAAADZQQAEAAAAsoMACAAAAGQHARAAAADIDgIgAAAAkB0EQAAAACA7CIAAAABAdhAAAQAAAMnN/wP6w6RV+nBIHwAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#index of refraction of my material: wavelength in nm versus index.\n", + "material_nk_data = array([[200, 2.1+0.1j],\n", + " [300, 2.4+0.3j],\n", + " [400, 2.3+0.4j],\n", + " [500, 2.2+0.4j],\n", + " [750, 2.2+0.5j]])\n", + "material_nk_fn = interp1d(material_nk_data[:,0].real,\n", + " material_nk_data[:,1], kind='quadratic')\n", + "d_list = [inf,300,inf] #in nm\n", + "lambda_list = linspace(200,750,400) #in nm\n", + "T_list = []\n", + "for lambda_vac in lambda_list:\n", + " n_list = [1, material_nk_fn(lambda_vac), 1]\n", + " T_list.append(coh_tmm('s',n_list,d_list,0,lambda_vac)['T'])\n", + "plt.figure()\n", + "plt.plot(lambda_list,T_list)\n", + "plt.xlabel('Wavelength (nm)')\n", + "plt.ylabel('Fraction of power transmitted')\n", + "plt.title('Transmission at normal incidence');\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "`tmm_fast`:\n", + "\n", + "The final line shows that the output arrays from the two packages are roughly identical to within numerical precision." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "True\n" + ] + } + ], + "source": [ + "num_layers = len(d_list)\n", + "nwvl = len(lambda_list)\n", + "T = np.broadcast_to(np.reshape(d_list,shape=(1, num_layers)), (1, num_layers))\n", + "n_arr = material_nk_fn(lambda_list)\n", + "M = np.ones((1, num_layers, nwvl),dtype=complex)\n", + "M[0,1,:] = n_arr\n", + "Ttf = tmm_fast.coh_tmm('s',M, T, np.array(0,ndmin=1), lambda_list,device='cpu')['T']\n", + "print(np.all(np.isclose(T_list,Ttf.flatten())))" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "source": [ + "## Samples 3-6\n", + "\n", + "Samples 3 through 5 from `tmm` are excluded because `tmm_fast` lacks some of the capabilities of `tmm`. The original example number and the missing function(s) which were to be demonstrated in that example are\n", + "\n", + "|Sample|Func|\n", + "|-|-|\n", + "|3|`ellips`|\n", + "|4|`find_in_structure_with_inf`|\n", + "|4|`position_resolved`|\n", + "|5|entire `color` module|\n", + "\n", + "Sample 6 is not included because a bug in `tmm_fast` keeps this example from working correctly. It will be added once [this bug](https://github.com/MLResearchAtOSRAM/tmm_fast/issues/28) is fixed." + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "mes", + "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.13.12" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/pyproject.toml b/pyproject.toml index 4ceecd3..8d0a53b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -13,7 +13,7 @@ description = 'tmm_fast is a lightweight package to speed up optical planar mult readme = "README.md" requires-python = ">=3.7" keywords = ["one", "two"] -license = {text = "MIT"} +license = "MIT" classifiers = [ "Programming Language :: Python :: 3", ]