{ "cells": [ { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "# 2D Grating\n", "\n", "This example illustrates the use of A-FMM to calculate reflection and transmission from a 2D grating. \n", "\n", "The calculations shown here are based on the paper: **Lee, Sun-Goo, et al. \"Polarization-independent electromagnetically induced transparency-like transmission in coupled guided-mode resonance structures.\" Applied Physics Letters 110.11 (2017): 111106.** [10.1063/1.4978670](https://doi.org/10.1063/1.4978670)" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "## Importing modules" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "import A_FMM\n", "\n", "# general parameter of calculation \n", "N = 5 # truncation order for Fourier expansion" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "## Definition of layers\n", "\n", "The structure under investigation is a 2D grating of square dielectric (n=2) pillars on top o two slabs of the same dielectric, all embedded in ait (n=1). The grating is build on a square lattice with lattice constant **a=1**. \n", "\n", "The following code defines the needed layers.\n", "\n", "### Patterned layer\n", "\n", "This layer is built in the usual way, by defining a Creator object and call one of the pre-defined geometries." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0.5, 1.0, 'xy cross section of the patterned layer')" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAx8AAAHWCAYAAAAW3DTwAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAAB6r0lEQVR4nO3deXxU1f0//ldCIAtZAAkJWcSwyI4gIiZYQaSiIBXb4vKxsqjUalApar/iwqpGCwi0IqAtYK1UBSv91OLCThVUFuMHgVDRIJiQIFUSQiCYzP39kd+dzGS2c7eZe+e8no9HHnVmzn3PyX3lnnLuGqMoigIiIiIiIiKLxUa6A0REREREJAdOPoiIiIiIKCw4+SAiIiIiorDg5IOIiIiIiMKCkw8iIiIiIgoLTj6IiIiIiCgsOPkgIiIiIqKw4OSDiIiIiIjCgpMPIiIiIiIKC04+iEg6W7duRUxMDLZu3RrprgT16quvokePHmjZsiXatGmjefkjR44gJiYG8+fPN79zZNhFF12EiRMnhmwXExODWbNmWd4fIqJw4OSDiKLWiy++iFWrVkW6G7qUlJRg4sSJ6NKlC15++WW89NJLAduuX78+6v5xumPHDsyaNQunTp3y+eyZZ57BunXrwt4nIiIyjpMPIopagSYfV111Fc6ePYurrroq/J0StHXrVrhcLixevBgTJ07EzTffHLDt+vXrMXv27DD2zno7duzA7NmzOfkgIooynHwQRbkzZ85Eugu2Exsbi4SEBMTG2ncIPHHiBADoOt2KtDt37hxcLleku+E4XG9EpJV9/5+XyCHOnj2LHj16oEePHjh79qz7/e+//x4dO3ZEQUEBGhoasHLlSsTExOCzzz7zqfHMM8+gRYsWKCsrC/pdZWVluOuuu5CVlYX4+Hjk5eXh3nvvxfnz5wEAq1atQkxMDLZt24b77rsPHTp0QE5Ojnv5F198Eb1790Z8fDyysrJQWFjos2f5yy+/xC9+8QtkZmYiISEBOTk5uPXWW1FVVeVus2HDBlx55ZVo06YNkpOT0b17dzz22GMh15XIcnV1dZg5cya6du2K+Ph45Obm4ne/+x3q6up86v31r3/F5ZdfjqSkJLRt2xZXXXUVPvjgAwCN59Pv378f27ZtQ0xMDGJiYjBs2DAAga/5WLNmDQYOHIjExES0b98ev/rVr3wymThxIpKTk1FWVoaxY8ciOTkZ6enpePjhh9HQ0BByHQChc7joooswc+ZMAEB6enrQc/4nTpyIJUuWAID794yJifFp99JLL6FLly6Ij4/HoEGDsGvXLp82JSUl+OUvf4l27dohISEBl112Gf73f/835O/jeW3JwoUL0alTJyQmJmLo0KH44osvvNr+3//9HyZOnIjOnTsjISEBmZmZuPPOO/Hf//7X3WbWrFl45JFHAAB5eXnu30n9njNnzuCVV15xv+953URZWRnuvPNOZGRkID4+Hr1798aKFSu8+qDm//rrr+OJJ55AdnY2kpKSUF1drSlfl8uFRYsWoXfv3khISEBGRgbuuece/PDDD17tFEXBU089hZycHCQlJeHqq6/G/v37Q67XQL755hvcd9996N69OxITE3HBBRdg3LhxOHLkiLvN119/jZiYGCxcuNBn+R07diAmJgZ/+9vfTFtvRESi4iLdASKnS0xMxCuvvIIhQ4bg8ccfx/PPPw8AKCwsRFVVFVatWoUWLVrgl7/8JQoLC/Haa69hwIABXjVee+01DBs2DNnZ2QG/p7y8HJdffjlOnTqFX//61+jRowfKysqwdu1a1NbWolWrVu629913H9LT0zFjxgz3kY9Zs2Zh9uzZGDFiBO69914cOnQIS5cuxa5du/DRRx+hZcuWOH/+PEaOHIm6ujrcf//9yMzMRFlZGd555x2cOnUKaWlp2L9/P2644Qb069cPc+bMQXx8PA4fPoyPPvoo6HoSWc7lcuFnP/sZPvzwQ/z6179Gz549sW/fPixcuBD/+c9/vE61mT17NmbNmoWCggLMmTMHrVq1wieffILNmzfj2muvxaJFi3D//fcjOTkZjz/+OAAgIyMjYP9WrVqFSZMmYdCgQSgqKkJlZSUWL16Mjz76CJ999pnXEYiGhgaMHDkSgwcPxvz587Fx40YsWLAAXbp0wb333ht0PYjksGjRIvzlL3/B22+/jaVLlyI5ORn9+vXzW++ee+5BeXk5NmzYgFdffdVvm9WrV+P06dO45557EBMTg9///vf4+c9/jq+//hotW7Z05zNkyBBkZ2fj0UcfRevWrfHmm29i7NixeOutt3DTTTcF/b0A4C9/+QtOnz6NwsJCnDt3DosXL8bw4cOxb98+97rfsGEDvv76a0yaNAmZmZnYv38/XnrpJezfvx8ff/wxYmJi8POf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9rOf4dChQ3jxxRcxaNAgdx82b96MKVOmYNy4cbj44otRX1+PV1991f0PFACYM2cOtm/fjtGjR6NTp044ceIEXnzxReTk5ODKK68M2AeR5e644w68+eab+M1vfoMtW7ZgyJAhaGhoQElJCd588028//77uOyyy9C1a1c8/vjjmDt3Ln7yk5/g5z//OeLj47Fr1y5kZWWhqKgIADBw4EAsXboUTz31FLp27YoOHTr4HNkAGvf4P/fcc5g0aRKGDh2K2267zX2r3YsuusjvJFIP0Ry0GjhwIADggQcewMiRI9GiRQvceuutmmosWbIEV155Jfr27YvJkyejc+fOqKysxM6dO/Htt9/i888/D1mja9euuPLKK3Hvvfeirq4OixYtwgUXXIDf/e53AIDU1FRcddVV+P3vf48ff/wR2dnZ+OCDD1BaWhrwd3r88cdx6623omXLlhgzZgxat26NgQMHYuPGjXj++eeRlZWFvLw8DB48GM8++yy2bNmCwYMHY/LkyejVqxe+//577N27Fxs3bvQ7AdZr6NChuOeee1BUVITi4mJce+21aNmyJb788kusWbMGixcvxi9/+Uv3M0KKiopwww03YNSoUfjss8/w7rvvum8hrNUNN9yAV199FWlpaejVqxd27tyJjRs34oILLvDbfvz48fjDH/6ALVu24LnnnvP5PJzrjYiIt9olMmjPnj1KXFyccv/993u9X19frwwaNEjJyspSfvjhB6/Pjh8/rrRo0UK5+OKLNX3XN998o4wfP15JT09X4uPjlc6dOyuFhYVKXV2doihNt9r1dzteRWm8pWuPHj2Uli1bKhkZGcq9997r1bevv/5aufPOO5UuXbooCQkJSrt27ZSrr75a2bhxo7vNpk2blBtvvFHJyspSWrVqpWRlZSm33Xab8p///Cdo30WXO3/+vPLcc88pvXv3VuLj45W2bdsqAwcOVGbPnq1UVVV5tV2xYoUyYMAAd7uhQ4cqGzZscH9eUVGhjB49WklJSVEAuG+72/xWu6o33njDXa9du3bK7bff7nXrWEVpvBVr69atfX4/9da4IkLl4FlP5Fa79fX1yv3336+kp6crMTEx7n6ot8CdN2+ezzJodvtWRVGUr776Shk/frySmZmptGzZUsnOzlZuuOEGZe3atUG/3/N7FixYoOTm5irx8fHKT37yE+Xzzz/3avvtt98qN910k9KmTRslLS1NGTdunFJeXu63P3PnzlWys7OV2NhYr9vulpSUKFdddZWSmJjoc7vayspKpbCwUMnNzVVatmypZGZmKtdcc43y0ksvuduo+fu7pbTWfF966SVl4MCBSmJiopKSkqL07dtX+d3vfqeUl5e72zQ0NCizZ89WOnbsqCQmJirDhg1TvvjiC6VTp066brX7ww8/KJMmTVLat2+vJCcnKyNHjlRKSkqC1uvdu7cSGxvr8/esMrreiIhExShKiPM1iMh0J0+eRMeOHTFjxgw8+eSTke4OkSFHjhxBXl4e5s2b5z6iR/YyYMAAtGvXDps2bYp0V4hIcrzmgygCVq1ahYaGBq8LP4mIrLB7924UFxdj/Pjxke4KERGv+SAKp82bN+PAgQN4+umnMXbsWPddgIiIzPbFF19gz549WLBgATp27Ihbbrkl0l0iIuKRD6JwmjNnDqZNm4b+/fvjj3/8Y6S7Q0RRbO3atZg0aRJ+/PFH/O1vf0NCQkKku0REBF7zQURERERkc7NmzcLs2bO93uvevTtKSkoCLrNmzRo8+eSTOHLkCLp164bnnnvO5w6c4cYjH0REREREDtC7d28cP37c/fPhhx8GbLtjxw7cdtttuOuuu/DZZ59h7NixGDt2rO4HFpuFRz6IiIiIiGxu1qxZWLduHYqLi4Xa33LLLThz5gzeeecd93tXXHEF+vfvj2XLllnUy9CkuuDc5XKhvLwcKSkpiImJiXR3iIiIiKgZRVFw+vRpZGVlITbWfifpnDt3DufPnzellqIoPv8mjY+PR3x8vN/2X375JbKyspCQkID8/HwUFRXhwgsv9Nt2586dmDZtmtd7I0eOxLp160zpu15STT7Ky8uRm5sb6W4QERERUQjHjh1DTk5OpLvh5dy5c7iwU2t8d8JlSr3k5GTU1NR4vTdz5kzMmjXLp+3gwYOxatUqdO/eHcePH8fs2bPxk5/8BF988QVSUlJ82ldUVCAjI8PrvYyMDFRUVJjSd72kmnyowVx56cOIa9E4o4wrPR6wfX1ex7D0i8QFywsInRnzdhbmLRfmLRfmLRctedc31OHDvfP9/oM60s6fP4/vTriw/dMOSE42dhZNTY2Cqy4/gWPHjiE1NdX9fqCjHtdff737v/v164fBgwejU6dOePPNN3HXXXcZ6ks4STX5UA9rxbWIR1zc/3/LwW55AdtLtXKcIkhegEBmzNtZmLdcmLdcmLdcdORt51Pkk5NjkJxi9JSwxqMnqampXpMPUW3atMHFF1+Mw4cP+/08MzMTlZWVXu9VVlYiMzNTe1dNJOX2GVd6HHGxrVDfJTt026/KwtAjEiGSFxA4M+btLMxbLsxbLsxbLprzdplzPUW0q6mpwVdffYU77rjD7+f5+fnYtGkTpk6d6n5vw4YNyM/PD1MP/bPfVTxEREREROTl4YcfxrZt23DkyBHs2LEDN910E1q0aIHbbrsNADB+/HhMnz7d3f7BBx/Ee++9hwULFqCkpASzZs3C7t27MWXKlEj9CgAkPfJBREREROQk3377LW677Tb897//RXp6Oq688kp8/PHHSE9PBwAcPXrU6+5gBQUFWL16NZ544gk89thj6NatG9atW4c+ffpE6lcAwMlHSPVdsnnoViLMWy7MWy7MWy7Mm6LN66+/HvTzrVu3+rw3btw4jBs3zqIe6SPl5KM+ryOgXnAu0l7wXEWyB6N5MW9nYd5yYd5yYd5yUfOqrz8HnIxwZ8gyUk4+PAXbK2Jk0Dqdlxjws5TSs7rrOokV6yDUXqxQmTFv6zDvRsybeUcj5t2IeUcub4oe0k8+jAi2cVqxXDRx4uDOvPVj3nJh3nJh3nJxYt5kL5x86NB8w6vJ5k3DzJBc1ni/a3X92mUQY97WYN5yYd5yYd5ysWveZE+cfGjkOXB5Dlq1Oa5IdCdqJH0b616fnoNYpAcw5m0N5i0X5i0X5i0Xu+ZN9sXJhwb+Bi7PQSsuqzbsfYoG9eVJ7vWoDmLqABZJzNsazFsuzFsuzFsuds2b7I2TDx2aD1zqoNUzszLgMsEcrMjweU9vrWC1rahptPbBigz3+lMHMc8BzA57T5g38waYt95azJt5M299mDdFK04+BKl7TUQGruHtS4Rqbj7Zw2fZQLTWVIWqraeumTXVWuogVl+eJLSs1Zg38waYt9GazNs/5h1ezFuuvMn+OPkwoPnA1XyjHZV8wOv1+ppeXq892zcfdEQHgOb0Lqe1rmd/Q32n53rwXAfD25f4/N4A3HtP7IZ5i30n84ZPe+bdhHmLY97WYd5i3xkteZO9cPJhkeYDl+d7zQcxwLpBxyoi/RVZB+oA1jOz0udwsJPOHWXezJt5M28V82bedsa8KdI4+bCAv43Wyvr+BsNI17V6HdgJ82beVtZn3pHFvJm3lfWZN8mIx8YcxqpBgYONPTFvuTBvuTBvuTBvokY88mGB9TW9LBsMzNpLYnVdK9eB3TBv5m1mbSfUZd7m1XZCXeZtXm0n1JUpb4oMTj4s4m/jDTZAmHXBWriIXLCm/r6BLljzrOPv9n9OOl+UeTNv5s28VcybedsZ86ZI4+TDgPryJMRl1eJgRQZ6ZlZi88keXhuyyN4If3eL8Hxf7yAWqK6RmoHqhuqrVXt7wo15e7/HvJk3wLw9MW/nYN7e70V73mQvnHyYrPkAFqqtaBsraorWFanp2c5oX510mz7mzbyDtRVtw7ztiXkz72BtRdswbyJvnHxolFzmcj+oSC/RwSDQMsHu2W2HuiIDuGdt9ZCtHR9QxLzFajLvJsybeWtZhnmHD/MWqxkteZN9cfIhKKX0rPspqf6oh26B4BuvkYHGzBpW19WyB8mOmLf2WsybeTsF89Zei3kzbyKz8PiYoGADF9D0lNRQuEE7A/OWC/OWC/OWC/Mmshce+dBI5JBtqAFKfSqoVloOhUa6rlXrINyYtzk1mXdozDv8mLc5NZl3aMybqAmPfJhMdM+Ilj0ow9uXCLUXbaenrtk1Pal7neKyajUtZwfMm3kbaae2Zd72xLyZt5F2alvmTeSNkw8TiB6ybc7sgUN0GT0DjMgyemr6U5tj7/uDM2+x7xVtz7zNrcu8jWHeYt8r2p55m1uXeVM04OTDRGYONHoGGJHljdQMtrzRuk7EvOXCvOXCvOXCvInCh9d8GBDqMKPoE1KHt7fu/EkrBhWt/Q32hFQnYd5imLc35u0MzFsM8/bGvIm045EPMox7TeTCvOXCvOXCvOXCvCkSOPmQgNV3peBdL+yFecuFecuFecuFeVM04mlXBtSXJwU9dCt6iNLfxm/WQ37U2ur/mllTVLQcqmXeYpi3N+btDMxbDPP2xryJtHPMkY+ioiIMGjQIKSkp6NChA8aOHYtDhw5FulsAGp+OCujbgxBsGSN7JDaf7BFwUDQi0PIy7T1h3sxbFPN2HubNvEUxbyJ9HDP52LZtGwoLC/Hxxx9jw4YN+PHHH3HttdfizJkzke6abiIbvNkDovq51roiy+ip6U/St475s9SEeTNvPW20LsO8I4N5M289bbQuw7wpGjjmr+S9997DxIkT0bt3b1xyySVYtWoVjh49ij179kS6a15EN2AtG7roYKN1UNJSV0tNrdQ9T/XlSZqXjTTmzbyNtFPbMm97Yt7M20g7tS3zJvLmmMlHc1VVVQCAdu3aBWxTV1eH6upqrx+jksuMP0BH7yHOYIdMjR7iNbOuVXuEIoF566+ntY0dMG/99bS2sQPmrb+e1jZ2wLz119PahigYR04+XC4Xpk6diiFDhqBPnz4B2xUVFSEtLc39k5ubG8ZeWsOqjb55XQ4u9sC85cK85cK85cK8iRo5cvJRWFiIL774Aq+//nrQdtOnT0dVVZX759ixY4a/uybb+CrTe8cKK5962ryG0Se0inynEzBvczBvseWYd3gxb3Mwb7HlmDeZ6dlnn0VMTAymTp0asM2qVasQExPj9ZOQkBC+TgbguMnHlClT8M4772DLli3IyckJ2jY+Ph6pqaleP3ahdeMN1V7vYGNFXa3te2ZWAgj9xFknY95NmLf29szb3ph3E+atvT3zJq127dqF5cuXo1+/fiHbpqam4vjx4+6fb775Jgw9DM4xkw9FUTBlyhS8/fbb2Lx5M/Ly8iLdJb+0bLgibbUOHqJtraxrdk07Y97M20hb5m1vzJt5G2nLvMkKNTU1uP322/Hyyy+jbdu2IdvHxMQgMzPT/ZORkRGGXgbnmMlHYWEh/vrXv2L16tVISUlBRUUFKioqcPbs2Uh3zT3z1yPYBmz24d1Qn4nUNfK5qNoc4xcFWol5i30uinlrr8m8rcO8xT4Xxby112Te8ml+c6S6urqAbQsLCzF69GiMGDFCqHZNTQ06deqE3Nxc3Hjjjdi/f79Z3dbNMU84X7p0KQBg2LBhXu+vXLkSEydODH+H/PC38Y5KPgAg+FNCh7cv8blAzIyBQK2h1jarpr+L2YLVVtcBEF1PS2Xe/jFv3+WYt/Mwb/+Yt+9yzFtOH5zpgYQYY/+MPnemHkClzw2RZs6ciVmzZvm0f/3117F3717s2rVLqH737t2xYsUK9OvXD1VVVZg/fz4KCgqwf//+kJcuWMkxkw9FUSLdBR+hznH03GhHJR+I2IZr9uHR5gOYLIdfmbc19e2KeVtT366YtzX17Yp5W1Of9Dl27JjXdcnx8fF+2zz44IPYsGGD8EXj+fn5yM/Pd78uKChAz549sXz5csydO9d4x3VyzOSDiIiIiCjaiNwUac+ePThx4gQuvfRS93sNDQ3Yvn07XnjhBdTV1aFFixZBa7Rs2RIDBgzA4cOHTem3Xo655sOJPPeURPJwpdGHGInUJ+YtG+YtF+YtF+ZNdnPNNddg3759KC4udv9cdtlluP3221FcXBxy4gE0Tlb27duHjh07hqHHgfHIhwH15Uleh243n+zhcwhTZNDyt/H7q6WVvwcPmV1TpHa0nCfKvMVqM29vzNsZmLdYbebtjXlTuKSkpPg8WLt169a44IIL3O+PHz8e2dnZKCoqAgDMmTMHV1xxBbp27YpTp05h3rx5+Oabb3D33XeHvf+eeOTDBAcr9N+2LNheB717JILtKTGyFyXUcmbtQUn61t5/lsxb7HNRzFt7TeZtHeYt9rko5q29JvMmvY4ePYrjx4+7X//www+YPHkyevbsiVGjRqG6uho7duxAr16RnVTyyIfJtOydENnYtd7pQnQA0VJXy6Bk9u9vd8ybeQdrK9qGedsT82bewdqKtmHeZJWtW7cGfb1w4UIsXLgwfB0SxMmHRsllLtRkG5vZ69logw02RgYBK+qKDGCetdU9T/XlSbq+z0rMW6wm827CvJm36DLMO7yYt1jNaMmb7IuTD5McrMhwP6zIjHMzA7Fqb4PZda1cB3bAvH3rMW/jmLc9MG/feszbOOZN1Ign55nEyFNSyXmYt1yYt1yYt1yYN1F48ciHRiKHbEPtMQj0lFEjdY3s+bCirlXrINyYt/Ga6ufMW39d5m0N5m28pvo589Zfl3mTbDj5MJnooUotG69ITc82kayr51Btz8xKHKzIQFxWrePOG2XezDtQO+bdiHlrr8m8I4N5y5U3RQ4nHyZQD9lq3XDV9oEGBb3nXAYbcIycxxmsv3rqBhrAa3Nctr5dH/Nm3iKYN/P297lWzNtazFuuvMkeOPkwwPMBRc2NSj7g931/D+yx8sIuK2qL1hRZB+oApu49sTPmHRzzZt4A82bezNsszJuiFScfFgi00aqfGX1iaPP6Zj2B1My6ZqyDmuxYJJe5dPchXJg38/b8jHkzbyP1mXdkMW+58qbI4LExhwk2KNixLhnDvOXCvOXCvOXCvIkacfLhMGbtJQlXXTKGecuFecuFecuFeRM14mlXFlhf00vTOaN66lvBzLpmrAOnHLJl3szb8zMz6luBeevDvJm352dm1LcC8yYn4eTDgPryJMRl1bqfjur5VFDRDTTU7e/0XnAWibrNa4qsA7WeEy5WY97BazJvX8ybeXti3vbBvIPXjLa8yV5iFEVRIt2JcKmurkZaWhqGDXoccXEJAIC4r8oCtq/vku31+nReIoCmBxXV5ri87pjh+ZTUQIODTA/mEV0H6sCl3iNcvU2fuuckpfSsu22wvADfzJpj3tZh3swbYN7RinkzbyB8edfXn8PWXU+jqqoKqampGntvLfXfks/uGoqEZGP78M/V1OPRQdts+XtaiUc+DFI3OHUPCgD3XpRg9Owp8BwczahnZV2t6yDQwGU3zDtwTebdhHkz71CYd+Qx78A1ozFvsg9OPnRILnOhJjvWvaHV5rj8DmKhaHkaqGhdrU8YtaKu3pr+Bi7PvSaRwrytqcm8mzDvyGHe1tRk3k2YN5E3Tj40SCk96z50q25gnoMYANRC2+Ah8iRQz8HRzJqAtkEpHH2108DFvJk38/aty7wDY97MuznmTeSLkw+N1A2q+SAG+A5kWjQ/TKmelwqIDRoitc2q6e+Qqlpba91Ah2ftMnAxb+atYt7MWxTz9sa89WPeFI04+dDJc+PyN5AZZcU5k1aeh2m0tt0HK+Ztbm3mzbzthHmbW5t5M2+iYDj5MAE3PLkwb7kwb7kwb7kwb6Lwk37yEepWfmQvRvNi3s7CvOXCvOXCvOXCvEgl5eQjrvQ44mJbCW0Ioe5LTeEjOnAFyox5OwvzlgvzlgvzlovmvF3nLewNRZqxK6GIiIiIiIgEcfJBRERERERhwclHCDxHUS7MWy7MWy7MWy7Mm8iepLzmoz6vIxCXIN6eA5ij8CJGuTBvuTBvuTBvuah51defA05GuDNkGSknH56CXZDGQct+Ql1AGCoz5u0szFsuzFsuzFsuRvOm6MHTroiIiIiIKCw4+SAiIiIiorDg5IOIiIiIiMJC+ms+eI6hs/DiQ7kwb7kwb7kwb7kwL1JJOfngE86diU/ElQvzlgvzlgvzlgufcE6eeNoVEREREZGDPPvss4iJicHUqVODtluzZg169OiBhIQE9O3bF+vXrw9PB4Pg5IOIiIiIyCF27dqF5cuXo1+/fkHb7dixA7fddhvuuusufPbZZxg7dizGjh2LL774Ikw99Y+TjxB4jqJcmLdcmLdcmLdcmDdFo5qaGtx+++14+eWX0bZt26BtFy9ejOuuuw6PPPIIevbsiblz5+LSSy/FCy+8EKbe+iflNR98wnl040WMcmHecmHecmHecpH1CefV1dVer+Pj4xEfH++3bWFhIUaPHo0RI0bgqaeeClp3586dmDZtmtd7I0eOxLp16wz11ygpJx+erHpC6um8xICfpZSe1V3XSaxYB3Z9Ii7zZt4q5s28oxHzbsS8I5e33Wz778Voea6VoRo/njkPYBtyc3O93p85cyZmzZrl0/7111/H3r17sWvXLqH6FRUVyMjI8HovIyMDFRUVertsCuknH0YE2zitWC6aOHFwZ976MW+5MG+5MG+5ODFvuzt27BhSU1Pdr/0d9Th27BgefPBBbNiwAQkJ4mfv2BEnHzo03/BqsnnpjBmSy1wAmtavXQYx5m0N5i0X5i0X5i0Xu+btFKmpqV6TD3/27NmDEydO4NJLL3W/19DQgO3bt+OFF15AXV0dWrRo4bVMZmYmKisrvd6rrKxEZmameZ3XgZMPjTwHLs9BqzbHFYnuRI2kb2Pd69NzEIv0AMa8rcG85cK85cK85WLXvKPNNddcg3379nm9N2nSJPTo0QP/7//9P5+JBwDk5+dj06ZNXrfj3bBhA/Lz863ublCcfGjgb+DyHLTismrD3qdoUF+e5F6P6iCmDmCRxLytwbzlwrzlwrzlYte8o1FKSgr69Onj9V7r1q1xwQUXuN8fP348srOzUVRUBAB48MEHMXToUCxYsACjR4/G66+/jt27d+Oll14Ke/89cfKhQ/OBSx20emZWBlwmmIMVGT7v6a0VrLYVNY3WPliR4V5/6iDmOYDZYe8J82beAPPWW4t5M2/mrQ/zJq2OHj2K2Nimo3oFBQVYvXo1nnjiCTz22GPo1q0b1q1b5zOJCTdOPgSpe01EBq7h7UuEam4+2cNn2UC01lSFqq2nrpk11VrqIFZfniS0rNWYN/MGmLfRmszbP+YdXsxbrrxlsnXr1qCvAWDcuHEYN25ceDokiJMPA5oPXM032lHJB7xer6/p5fXas33zQUd0AGhO73Ja63r2N9R3eq4Hz3UwvH2Jz+8NwL33xG6Yt9h3Mm/4tGfeTZi3OOZtHeYt9p3RkjfZCycfFmk+cHm+13wQA6wbdKwi0l+RdaAOYD0zK30OBzvp3FHmzbyZN/NWMW/mbWfMmyKNkw8L+NtorazvbzCMdF2r14GdMG/mbWV95h1ZzJt5W1mfeZOMeGzMYawaFDjY2BPzlgvzlgvzlgvzJmrEIx8WWF/Ty7LBwKy9JFbXtXId2A3zZt5m1nZCXeZtXm0n1GXe5tV2Ql2Z8qbI4OTDIv423mADhFkXrIWLyAVr6u8b6II1zzr+bv/npPNFmTfzZt7MW8W8mbedMW+KNE4+DKgvT0JcVi0OVmSgZ2YlNp/s4bUhi+yN8He3CM/39Q5igeoaqRmobqi+WrW3J9yYt/d7zJt5A8zbE/N2Dubt/V605032wsmHyZoPYKHairaxoqZoXZGanu2M9tVJt+lj3sw7WFvRNszbnpg38w7WVrQN8ybyxsmHRsllLveDivQSHQwCLRPsnt12qCsygHvWVg/Z2vEBRcxbrCbzbsK8mbeWZZh3+DBvsZrRkjfZFycfglJKz7qfkuqPeugWCL7xGhlozKxhdV0te5DsiHlrr8W8mbdTMG/ttZg38yYyC4+PCQo2cAFNT0kNhRu0MzBvuTBvuTBvuTBvInvhkQ+NRA7Zhhqg1KeCaqXlUGik61q1DsKNeZtTk3mHxrzDj3mbU5N5h8a8iZrwyIfJRPeMaNmDMrx9iVB70XZ66ppd05O61ykuq1bTcnbAvJm3kXZqW+ZtT8ybeRtpp7Zl3kTeOPkwgegh2+bMHjhEl9EzwIgso6emP7U59r4/OPMW+17R9szb3LrM2xjmLfa9ou2Zt7l1mTdFA04+TGTmQKNngBFZ3kjNYMsbretEzFsuzFsuzFsuzJsofHjNhwGhDjOKPiF1eHvrzp+0YlDR2t9gT0h1EuYthnl7Y97OwLzFMG9vzJtIOx75IMO410QuzFsuzFsuzFsuzJsigZMPCVh9Vwre9cJemLdcmLdcmLdcmDdFI552ZUB9eVLQQ7eihyj9bfxmPeRHra3+r5k1RUXLoVrmLYZ5e2PezsC8xTBvb8ybSDtHHfnYvn07xowZg6ysLMTExGDdunWR7hKAxqejAvr2IARbxsgeic0newQcFI0ItLxMe0+YN/MWxbydh3kzb1HMm0gfR00+zpw5g0suuQRLliyJdFdMIbLBmz0gqp9rrSuyjJ6a/iR966g/S2HMm3nraaN1GeYdGcybeetpo3UZ5k3RwFF/Jddffz2eeuop3HTTTZHuSkCiG7CWDV10sNE6KGmpq6WmVuqep/ryJM3LRhrzZt5G2qltmbc9MW/mbaSd2pZ5E3lz1ORDq7q6OlRXV3v9GJVcZvwBOnoPcQY7ZGr0EK+Zda3aIxQJzFt/Pa1t7IB566+ntY0dMG/99bS2sQPmrb+e1jZEwUT15KOoqAhpaWnun9zc3Eh3yTCrNvrmdTm42APzlgvzlgvzlgvzJmoU1ZOP6dOno6qqyv1z7NgxwzVrso2vMr13rLDyqafNaxh9QqvIdzoB8zYH8xZbjnmHF/M2B/MWW455EzWK6slHfHw8UlNTvX7sQuvGG6q93sHGirpa2/fMrAQQ+omzTsa8mzBv7e2Zt70x7ybMW3t75k2yierJRyRo2XBF2modPETbWlnX7Jp2xryZt5G2zNvemDfzNtKWeRP556jJR01NDYqLi1FcXAwAKC0tRXFxMY4ePRrRfqkzfz2CbcBmH94N9ZlIXSOfi6rNMX5RoJWYt9jnopi39prM2zrMW+xzUcxbe03mTdHOUZOP3bt3Y8CAARgwYAAAYNq0aRgwYABmzJgR4Z418rfxjko+gFHJBzQvZ8ZA0HygMqumlveBpnUQaj04DfP2j3mHXo552x/z9o95h16OeRMF56jJx7Bhw6Aois/PqlWrItKfUOc4em6skdxwjewtCVQv2Otoxbz9v45WzNv/62jFvP2/jlbM2/9ronBw1OSDiIiIiIici5MPC62v6eX3v8PN6EOMROoT85YN85YL85YL8yayDicfBtSXJ3m99rcRr6/pFXLg8recGQNC80HLipoitdV1EMkB3AzM2/v9QJi3N+btDMzb+/1AmLc35k3htHTpUvTr18/9+Ij8/Hy8++67AduvWrUKMTExXj8JCQlh7LF/nHyY4GBFhu5lg230egebYHtKjOxFCbWcWXtQkr61958l8xb7XBTz1l6TeVuHeYt9Lop5a6/JvCmQnJwcPPvss9izZw92796N4cOH48Ybb8T+/fsDLpOamorjx4+7f7755psw9tg//pWYTMsGLNJW62Aj2lZLXa1tRUXD4V7mzbyNtGXe9sa8mbeRtsybzDZmzBiMGjUK3bp1w8UXX4ynn34aycnJ+PjjjwMuExMTg8zMTPdPRob+CbdZ4iLdAadJLnOhJtvYnE3PRqsu4+/OFEYGASvqbj7ZI+QdNDxrq3uemh8GtwPmLVaTeTdh3sxbdBnmHV7MW6xmtOTtJNXV1V6v4+PjER8fH3SZhoYGrFmzBmfOnEF+fn7AdjU1NejUqRNcLhcuvfRSPPPMM+jdu7cp/daLkw+THKzIcD+sSGTj1cuqvQ1m17VyHdgB8/atx7yNY972wLx96zFv45h3dDlUmY4WSQmGajTUngMA5Obmer0/c+ZMzJo1y+8y+/btQ35+Ps6dO4fk5GS8/fbb6NXL/zU53bt3x4oVK9CvXz9UVVVh/vz5KCgowP79+5GTk2Oo70Zw8mESI09JJedh3nJh3nJh3nJh3hRpx44dQ2pqqvt1sKMe3bt3R3FxMaqqqrB27VpMmDAB27Zt8zsByc/P9zoqUlBQgJ49e2L58uWYO3euub+EBpx8aCRyyDbUHoPh7Ut07akIVtfIng8r6lq1DsKNeRuvqX7OvPXXZd7WYN7Ga6qfM2/9dZk3qXevEtGqVSt07doVADBw4EDs2rULixcvxvLly0Mu27JlSwwYMACHDx821F+jOPkwmeihSi0br0hNzzaRrKvnUG3PzEocrMhAXFat484bZd7MO1A75t2IeWuvybwjg3nLlXe0cLlcqKurE2rb0NCAffv2YdSoURb3KjhOPkygHrLVuuGq7QMNCnrPuQw24Bg5jzNYf/XUDTSA1+a4bH27PubNvEUwb+bt73OtmLe1mLdceTvd9OnTcf311+PCCy/E6dOnsXr1amzduhXvv/8+AGD8+PHIzs5GUVERAGDOnDm44oor0LVrV5w6dQrz5s3DN998g7vvvjuSvwYnH0bEZdUG/GxU8gG/7/t7UI+VF3ZZUVu0psg6UAcwde+JnTHv4Jg38waYN/Nm3mZh3tTciRMnMH78eBw/fhxpaWno168f3n//ffz0pz8FABw9ehSxsU2Tvx9++AGTJ09GRUUF2rZti4EDB2LHjh0BL1APF04+LBBoo1U/M/qk0Ob1zXryqJl1zVgHNdmxSC5z6e5DuDBv5u35GfNm3kbqM+/IYt5y5e00f/7zn4N+vnXrVq/XCxcuxMKFCy3skT48NuYwwQYFO9YlY5i3XJi3XJi3XJg3USNOPhzGrL0k4apLxjBvuTBvuTBvuTBvokY87coC62t6aTpnVE99K5hZ14x14JRDtsybeXt+ZkZ9KzBvfZg38/b8zIz6VmDe5CScfBhQX56EuKxa99NRPZ8KKrqBhrr9nd4LziJRt3lNkXWg1nPCxWrMO3hN5u2LeTNvT8zbPph38JrRljfZS4yiKEqkOxEu1dXVSEtLw7BBjyMuLgEAEPdVWcD29V2yvV6fzksE0PSgotocl9cdMzyfkhpocJDpwTyi60AduNR7hKu36VP3nKSUnnW3DZYX4JtZc8zbOsybeQPMO1oxb+YNhC/v+vpz2LrraVRVVQk/fC9c1H9Ldn7lMbRISjBUq6H2HL6e8Iwtf08r8ciHQeoGp+5BAeDeixKMnj0FnoOjGfWsrKt1HQQauOyGeQeuybybMG/mHQrzjjzmHbhmNOZN9sHJhw7JZS7UZMe6N7TaHJffQSwULU8DFa2r9QmjVtTVW9PfwOW51yRSmLc1NZl3E+YdOczbmprMuwnzJvLGyYcGKaVn3Ydu1Q3McxADgFpoGzxEngTqOTiaWRPQNiiFo692GriYN/Nm3r51mXdgzJt5N8e8iXxx8qGRukE1H8QA34FMi+aHKdXzUgGxQUOktlk1/R1SVWtrrRvo8KxdBi7mzbxVzJt5i2Le3pi3fsybohEnHzp5blz+BjKjrDhn0srzMI3WtvtgxbzNrc28mbedMG9zazNv5k0UDCcfJuCGJxfmLRfmLRfmLRfmTRR+0k8+Qt3Kj+zFaF7M21mYt1yYt1yYt1yYF6mknHzElR5HXGwroQ0h1H2pKXxEB65AmTFvZ2HecmHecmHectGct+u8hb2hSDN2JRQREREREZEgTj6IiIiIiCgsOPkIgecoyoV5y4V5y4V5y4V5E9mTlNd81Od1BOISxNtzAHMUXsQoF+YtF+YtF+YtFzWv+vpzwMkId4YsI+Xkw1OwC9I4aNlPqAsIQ2XGvJ2FecuFecuFecvFaN4UPXjaFRERERERhQUnH0REREREFBacfBARERERUVhIf80HzzF0Fl58KBfmLRfmLRfmLRfmRSopJx98wrkz8Ym4cmHecmHecmHecuETzskTT7siIiIiIqKw4OSDiIiIiIjCgpOPEHiOolyYt1yYt1yYt1yYN5E9SXnNB59wHt14EaNcmLdcmLdcmLdc+IRzOUg5+fBk1RNST+clBvwspfSs7rpOYsU6sOsTcZk381Yxb+YdjZh3I+Ydubwpekg/+TAi2MZpxXLRxImDO/PWj3nLhXnLhXnLxYl5k71w8qFD8w2vJpuXzpghucwFoGn92mUQY97WYN5yYd5yYd5ysWveZE+cfGjkOXB5Dlq1Oa5IdCdqJH0b616fnoNYpAcw5m0N5i0X5i0X5i0Xu+ZN9sXJhwb+Bi7PQSsuqzbsfYoG9eVJ7vWoDmLqABZJzNsazFsuzFsuzFsuds2b7I2TDx2aD1zqoNUzs1JXvYMVGT7v6a0VrLYVNY3WPliR4V5/6iDmOYDZYe8J82beAPPWW4t5M2/mrQ/zpuaWLl2KpUuX4siRIwCA3r17Y8aMGbj++usDLrNmzRo8+eSTOHLkCLp164bnnnsOo0aNClOP/ePkQ5C610Rk4BrevkSo5uaTPXyWDURrTVWo2nrqmllTraUOYvXlSULLWo15M2+AeRutybz9Y97hxbzlyjua5eTk4Nlnn0W3bt2gKApeeeUV3Hjjjfjss8/Qu3dvn/Y7duzAbbfdhqKiItxwww1YvXo1xo4di71796JPnz4R+A0acfJhQPOBq/lGOyr5gNfr9TW9vF57tm8+6IgOAM3pXU5rXc/+hvpOz/XguQ6Gty/x+b0BuPee2A3zFvtO5g2f9sy7CfMWx7ytw7zFvjNa8o4WY8aM8Xr99NNPY+nSpfj444/9Tj4WL16M6667Do888ggAYO7cudiwYQNeeOEFLFu2LCx99oeTD4s0H7g832s+iAHWDTpWEemvyDpQB7CemZU+h4OddO4o82bezJt5q5g387Yz5m0/1dXVXq/j4+MRHx8fdJmGhgasWbMGZ86cQX5+vt82O3fuxLRp07zeGzlyJNatW2eov0Zx8mEBfxutlfX9DYaRrmv1OrAT5s28razPvCOLeTNvK+szb+dqqEiCkpBgqIbrXONRotzcXK/3Z86ciVmzZvldZt++fcjPz8e5c+eQnJyMt99+G716+c+7oqICGRneE8OMjAxUVFRo6uepU6fw6aef4sSJE3C5vCeV48eP11QL4OTDcawaFDjY2BPzlgvzlgvzlgvzpkCOHTuG1NRU9+tgRz26d++O4uJiVFVVYe3atZgwYQK2bdsWcAJi1D//+U/cfvvtqKmpQWpqKmJiYtyfxcTEcPJhF+trelk2GJi1l8TqulauA7th3szbzNpOqMu8zavthLrM27zaTqgrU952kZqa6jX5CKZVq1bo2rUrAGDgwIHYtWsXFi9ejOXLl/u0zczMRGWl900GKisrkZmZKdy3hx56CHfeeSeeeeYZJCWZc1MBTj4s4m/jDTZAmHXBWriIXLCm/r6BLljzrOPv9n9OOl+UeTNv5s28VcybedsZ844uLpcLdXV1fj/Lz8/Hpk2bMHXqVPd7GzZsCHiNiD9lZWV44IEHTJt4AJx8GFJfnoS4rFocrMhAz8xKbD7Zw2tDFtkb4e9uEZ7v6x3EAtU1UjNQ3VB9tWpvT7gxb+/3mDfzBpi3J+btHMzb+71ozztaTJ8+Hddffz0uvPBCnD59GqtXr8bWrVvx/vvvA2i8/iI7OxtFRUUAgAcffBBDhw7FggULMHr0aLz++uvYvXs3XnrpJeHvHDlyJHbv3o3OnTub9ntw8mGy5gNYqLaibayoKVpXpKZnO6N9ddJt+pg38w7WVrQN87Yn5s28g7UVbcO8ySwnTpzA+PHjcfz4caSlpaFfv354//338dOf/hQAcPToUcTGNmVQUFCA1atX44knnsBjjz2Gbt26Yd26dZqe8TF69Gg88sgjOHDgAPr27YuWLVt6ff6zn/1M8+/ByYdGyWUu94OK9BIdDAItE+ye3XaoKzKAe9ZWD9na8QFFzFusJvNuwryZt5ZlmHf4MG+xmtGSdzT685//HPTzrVu3+rw3btw4jBs3Tvd3Tp48GQAwZ84cn89iYmLQ0NCguSYnH4JSSs+6n5Lqj3roFgi+8RoZaMysYXVdLXuQ7Ih5a6/FvJm3UzBv7bWYN/MmOTW/ta4ZeHxMULCBC2h6Smoo3KCdgXnLhXnLhXnLhXkT2QuPfGgkcsg21AClPhVUKy2HQiNd16p1EG7M25yazDs05h1+zNucmsw7NOZNTrZt2zbMnz8fBw8eBAD06tULjzzyCH7yk5/oqscjHyYT3TOiZQ/K8PYlQu1F2+mpa3ZNT+pep7isWk3L2QHzZt5G2qltmbc9MW/mbaSd2pZ5k5P99a9/xYgRI5CUlIQHHngADzzwABITE3HNNddg9erVumpy8mEC0UO2zZk9cIguo2eAEVlGT01/anPsfX9w5i32vaLtmbe5dZm3Mcxb7HtF2zNvc+sybwq3p59+Gr///e/xxhtvuCcfb7zxBp599lnMnTtXV01OPkxk5kCjZ4ARWd5IzWDLG63rRMxbLsxbLsxbLsybyL+vv/4aY8aM8Xn/Zz/7GUpLS3XV5DUfBoQ6zCj6hNTh7a07f9KKQUVrf4M9IdVJmLcY5u2NeTsD8xbDvL0xb4p2ubm52LRpE7p27er1/saNG5Gbm6urJicfZBj3msiFecuFecuFecuFeVMoDz30EB544AEUFxejoKAAAPDRRx9h1apVWLx4sa6aPO1KAlbflYJ3vbAX5i0X5i0X5i0X5k2Rdu+99+L111/Hvn37MHXqVEydOhVffPEF3njjDdxzzz26avLIhwH15UlBD92KHqL0t/Gb9ZAftbb6v2bWFBUth2qZtxjm7Y15OwPzFsO8vTFvksFNN92Em266ybR6jjvysWTJElx00UVISEjA4MGD8emnn0a6SzhYkQFA3x6EYMsY2SOx+WSPgIOiEYGWl2nvCfNm3qKYt/Mwb+YtinkT6eOoyccbb7yBadOmYebMmdi7dy8uueQSjBw5EidOnIh013QR2eDNHhDVz7XWFVlGT01/kr511J+lMObNvPW00boM844M5s289bTRugzzpnBo27Yt2rVrJ/Sjh+bTriZMmIC77roLV111la4vNOL555/H5MmTMWnSJADAsmXL8K9//QsrVqzAo48+Gvb++CN6uFXLhi56yFXv4GFmXT2Hm9U9T/XlSZqWswPmzbwDtdNSE2DedsS8mXegdlpqAsybnGXRokWW1tc8+aiqqsKIESPQqVMnTJo0CRMmTEB2drYVffNy/vx57NmzB9OnT3e/FxsbixEjRmDnzp1+l6mrq0NdXZ37dXV1teF+JJe5UJNtbGav9xBnoIHBjEOxZtYVGcCccpiXeeuvZ0btcGPe+uuZUTvcmLf+embUDjfmrb+eGbXJOSZMmGBpfc1b4bp161BWVoZ7770Xb7zxBi666CJcf/31WLt2LX788Ucr+ggAOHnyJBoaGpCRkeH1fkZGBioqKvwuU1RUhLS0NPeP3vsR24lVG33zuhxc7IF5y4V5y4V5y4V5k1N47qyvrq4O+qOHrl0A6enpmDZtGj7//HN88skn6Nq1K+644w5kZWXht7/9Lb788ktdnTHb9OnTUVVV5f45duyY4ZpG95oA+u9YYeVTT5vXMPqEVpHvdALmbQ7mLbYc8w4v5m0O5i22HPMmp2jbtq37euo2bdqgbdu2Pj/q+3oY2hKPHz+ODRs2YMOGDWjRogVGjRqFffv2oVevXli4cKGR0j7at2+PFi1aoLKy0uv9yspKZGZm+l0mPj4eqampXj92oXXjDdVe72BjRV2t7XtmNmYa6omzTsa8mzBv7e2Zt70x7ybMW3t75k12s3nzZvfF5Fu2bMHmzZt9ftT39dA8+fjxxx/x1ltv4YYbbkCnTp2wZs0aTJ06FeXl5XjllVewceNGvPnmm5gzZ46uDgXSqlUrDBw4EJs2bXK/53K5sGnTJuTn55v6XUZo2XBF2modPETbWlnX7Jp2xryZt5G2zNvemDfzNtKWeZNTDR06FHFxce7/Dvajh+bJR8eOHTF58mR06tQJn376KXbv3o3f/OY3XkcVrr76arRp00ZXh4KZNm0aXn75Zbzyyis4ePAg7r33Xpw5c8Z996tIUWf+egTbgM0+vBvqM5G6Rj4XVZvjMqWOVZi32OeimLf2mszbOsxb7HNRzFt7TeZNdvLee+/hww8/dL9esmQJ+vfvj//5n//BDz/8oKum5snHwoULUV5e7v5yf9q0aYPS0lJdHQrmlltuwfz58zFjxgz0798fxcXFeO+993wuQo8UfxvvqOQDGJV8QPNyZgwEzQcqs2pqeR9oWgeh1oPTMG//mHfo5Zi3/TFv/5h36OWYN0WTRx55xH1h+b59+zBt2jSMGjUKpaWlmDZtmq6amicfd9xxBxISEnR9mRmmTJmCb775BnV1dfjkk08wePDgiPUl1DmOnhtrJDdcI3tLAtUL9jpaMW//r6MV8/b/Oloxb/+voxXz9v+aqLnS0lL06tULAPDWW29hzJgxeOaZZ7BkyRK8++67umryUZREREREROSjVatWqK1tnKxv3LgR1157LQCgXbt24b3VLolZX9PL73+H2+aTPSy97zfvKd6IecuFecuFecuFeRM1uvLKKzFt2jTMnTsXn376KUaPHg0A+M9//oOcnBxdNTU/4Zya1JcneR269fdkUJFBy9/GL/KUUa11ragpUjuSA7eZmLdYbebtjXk7A/MWq828vTFvinYvvPAC7rvvPqxduxZLly5FdnY2AODdd9/Fddddp6smj3yY4GCF/gveg+110LtHItieEiN7UUItZ9YelKRv7f1nybzFPhfFvLXXZN7WYd5in4ti3tprMm+ykwsvvBDvvPMOPv/8c9x1113u9xcuXIg//OEPumryr8RkWjZgkbZaBxvRtlrqam0rKhoO9zJv5m2kLfO2N+bNvI20Zd4ULRoaGrB27VrMnTsXc+fOxdq1a1FfX6+7Hk+70ii5zIWabGNzNj0brbqMv0OjRgYBK+qKHB72rK3ueaovT9L1fVZi3mI1mXcT5s28RZdh3uHFvMVqRkveZI79+/djzJgxqKysRPfu3QEAzz33HNLT0/HPf/4Tffr00VyTkw+THKzIcD+sSGTj1cuqvQ1m17VyHdgB8/atx7yNY972wLx96zFv45g3OdHdd9+NPn36YM+ePWjbti0A4IcffsDEiRPx61//Gjt27NBck5MPkxh5Sio5D/OWC/OWC/OWC/MmCqy4uBi7d+92TzwAoG3btnj66acxaNAgXTU5+dBI5JBtqD0Gw9uX6NpTEayukT0fVtS1ah2EG/M2XlP9nHnrr8u8rcG8jddUP2fe+usyb7Kziy++GJWVlejdu7fX+ydOnEDXrl111eTkw2Sihyq1bLwiNT3bRLKunkO1PTMrcbAiA3FZtY47b5R5M+9A7Zh3I+atvSbzjgzmLVfeJKaoqAgPPPAAZs2ahSuuuAIA8PHHH2POnDl47rnnvB40mJqaKlSTkw8TqIdstW64avtAg4Lecy6DDThGzuMM1l89dQMN4LU5Llvfro95M28RzJt5+/tcK+ZtLeYtV96k3Q033AAAuPnmmxETEwMAUBQFADBmzBj365iYGDQ0NAjV5OTDAM8HFDU3KvmA3/f9PbDHygu7rKgtWlNkHagDmLr3xM6Yd3DMm3kDzJt5M2+zMG9qrqioCH//+99RUlKCxMREFBQU4LnnnnPfhcqfVatWYdKkSV7vxcfH49y5c0LfuWXLFkN99oeTDwsE2mjVz4w+MbR5fbOeQGpmXTPWQU12LJLLXLr7EC7Mm3l7fsa8mbeR+sw7spi3XHk7zbZt21BYWIhBgwahvr4ejz32GK699locOHAArVu3DrhcamoqDh065H6tHsEQMXToUPz73//G8uXL8dVXX2Ht2rXIzs7Gq6++iry8PFx55ZWafw9OPhwm2KBgx7pkDPOWC/OWC/OWC/Mmo9577z2v16tWrUKHDh2wZ88eXHXVVQGXi4mJQWZmpq7vfOutt3DHHXfg9ttvx2effYa6ujoAQFVVFZ555hmsX79ec02emOcwZu0lCVddMoZ5y4V5y4V5y4V5UyDV1dVeP+o/8EOpqqoCALRr1y5ou5qaGnTq1Am5ubm48cYbsX//fuG+PfXUU1i2bBlefvlltGzZ0v3+kCFDsHfvXuE6nnjkwwLra3ppOmdUT30rmFnXjHXglEO2zJt5e35mRn0rMG99mDfz9vzMjPpWYN7hl1gWixbxxvbhN9Q1Lp+bm+v1/syZMzFr1qygy7pcLkydOhVDhgwJ+pTx7t27Y8WKFejXrx+qqqowf/58FBQUYP/+/cjJyQnZx0OHDvk9qpKWloZTp06FXN4fTj4MqC9PQlxWrfvpqJ5PBRXdQEPd/k7vBWeRqNu8psg6UOs54WI15h28JvP2xbyZtyfmbR/MO3jNaMvb7o4dO+Z1m9r4+PiQyxQWFuKLL77Ahx9+GLRdfn4+8vPz3a8LCgrQs2dPLF++HHPnzg35PZmZmTh8+DAuuugir/c//PBDdO7cOeTy/nDyISil9CxO5yUiucyFmuxYJH0bi9qcppm95wAGBB4ctD6Yx6oH+VhRV/S2gM3bqQOXeo9wO9ymj3lrr8m8mbe/dsxbf/tI1mXevpi3M/J2otTUVOFnZADAlClT8M4772D79u1CRy88tWzZEgMGDMDhw4eF2k+ePBkPPvggVqxYgZiYGJSXl2Pnzp14+OGH8eSTT2r6bhUnHwapG5y6BwWA1yAWiJ49Ber9yM2qZ2Vdreug+cBl10O2zDtwTebdhHkz71CYd+Qx78A1ozHvaKAoCu6//368/fbb2Lp1K/Ly8jTXaGhowL59+zBq1Cih9o8++ihcLheuueYa1NbW4qqrrkJ8fDwefvhh3H///Zq/H+DkQxfPvSdA40N1/A1ioWh5GqhoXa1PGLWirt6a/gaulNKzwt9rFeZtTU3m3YR5Rw7ztqYm827CvMkshYWFWL16Nf7xj38gJSUFFRUVABqvv0hMTAQAjB8/HtnZ2SgqKgIAzJkzB1dccQW6du2KU6dOYd68efjmm29w9913C31nTEwMHn/8cTzyyCM4fPgwampq0KtXLyQnJ+v+PTj50EA9dAs0bWCegxgA1ELb4CFyiNJzcDSzJqBtUApHX+00cDFv5s28fesy78CYN/NujnmTmZYuXQoAGDZsmNf7K1euxMSJEwEAR48eRWxsUzY//PADJk+ejIqKCrRt2xYDBw7Ejh070KuXtpsUtGrVSvMygXDyoZG6QTUfxADfgUyL5ocpa7Kb6hg9h9JzoDWjpr9DqmptrXUDHZ61y8DFvJm3inkzb1HM2xvz1o95kydFUUK22bp1q9frhQsXYuHChRb1SB9OPnTy3Lj8DWRGWXHOpJXnYRqtbffBinmbW5t5M287Yd7m1mbezJsoGE4+TMANTy7MWy7MWy7MWy7Mmyj8pJ981HfJjnQXSAOjeTFvZ2HecmHecmHecmFepJJy8hFXehxxsa2ENoS4r8rC0CMSITpwBcqMeTsL85YL85YL85aL5rxd5y3sDUUanwZDRERERERhwckHERERERGFBScfIfAcRbkwb7kwb7kwb7kwbyJ7kvKaj/q8jkBcgnh7DmCOwosY5cK85cK85cK85aLmVV9/DjgZ4c6QZaScfHgKdkEaBy37CXUBYajMmLezMG+5MG+5MG+5GM2bogdPuyIiIiIiorDg5IOIiIiIiMKCkw8iIiIiIgoL6a/54DmGzsKLD+XCvOXCvOXCvOXCvEgl5eSDTzh3Jj4RVy7MWy7MWy7MWy58wjl54mlXREREREQUFpx8EBERERFRWHDyEQLPUZQL85YL85YL85YL8yayJymv+eATzqMbL2KUC/OWC/OWC/OWC59wLgcpJx+erHpC6um8xICfpZSe1V3XSaxYB3Z9Ii7zZt4q5s28oxHzbsS8I5c3RQ/pJx9GBNs4rVgumjhxcGfe+jFvuTBvuTBvuTgxb7IXTj50aL7h1WTz0hkzJJe5ADStX7sMYszbGsxbLsxbLsxbLnbNm+yJkw+NPAcuz0GrNscVie5EjaRvY93r03MQi/QAxrytwbzlwrzlwrzlYte8yb44+dDA38DlOWjFZdWGvU/RoL48yb0e1UFMHcAiiXlbg3nLhXnLhXnLxa55k71x8qFD84FLHbR6ZlbqqnewIsPnPb21gtW2oqbR2gcrMtzrTx3EPAcwO+w9Yd7MG2Deemsxb+bNvPVh3hStOPkQpO41ERm4hrcvEaq5+WQPn2UD0VpTFaq2nrpm1lRrqYNYfXmS0LJWY97MG2DeRmsyb/+Yd3gxb7nyJvvj5MOA5gNX8412VPIBr9fra3p5vfZs33zQER0AmtO7nNa6nv0N9Z2e68FzHQxvX+LzewNw7z2xG+Yt9p3MGz7tmXcT5i2OeVuHeYt9Z7TkTfbCyYdFmg9cnu81H8QA6wYdq4j0V2QdqANYz8xKn8PBTjp3lHkzb+bNvFXMm3nbGfOmSOPkwwL+Nlor6/sbDCNd1+p1YCfMm3lbWZ95RxbzZt5W1mfeJCMeG3MYqwYFDjb2xLzlwrzlwrzlwryJGvHIhwXW1/SybDAway+J1XWtXAd2w7yZt5m1nVCXeZtX2wl1mbd5tZ1QV6a8KTI4+bCIv4032ABh1gVr4SJywZr6+wa6YM2zjr/b/znpfFHmzbyZN/NWMW/mbWfMmyKNkw8D6suTEJdVi4MVGeiZWYnNJ3t4bcgieyP83S3C8329g1igukZqBqobqq9W7e0JN+bt/R7zZt4A8/bEvJ2DeXu/F+15R4uioiL8/e9/R0lJCRITE1FQUIDnnnsO3bt3D7rcmjVr8OSTT+LIkSPo1q0bnnvuOYwaNSpMvfbFyYfJmg9godqKtrGipmhdkZqe7Yz21Um36WPezDtYW9E2zNuemDfzDtZWtA3zJrNs27YNhYWFGDRoEOrr6/HYY4/h2muvxYEDB9C6dWu/y+zYsQO33XYbioqKcMMNN2D16tUYO3Ys9u7diz59+oT5N2jEyYdGyWUu94OK9BIdDAItE+ye3XaoKzKAe9ZWD9na8QFFzFusJvNuwryZt5ZlmHf4MG+xmtGSdzR67733vF6vWrUKHTp0wJ49e3DVVVf5XWbx4sW47rrr8MgjjwAA5s6diw0bNuCFF17AsmXLLO+zP5x8CEopPet+Sqo/6qFbIPjGa2SgMbOG1XW17EGyI+atvRbzZt5Owby112LezJusU11d7fU6Pj4e8fHxIZerqqoCALRr1y5gm507d2LatGle740cORLr1q3T3lGT8PiYoGADF9D0lNRQuEE7A/OWC/OWC/OWC/MmK7Q+7kJymbGf1scbL8zPzc1FWlqa+6eoqCjk97tcLkydOhVDhgwJevpURUUFMjK8bwqQkZGBiooKYyvAAB750EjkkG2oAUp9KqhWWg6FRrquVesg3Ji3OTWZd2jMO/yYtzk1mXdozJuCOXbsGFJTU92vRY56FBYW4osvvsCHH35oZdcswcmHyUT3jGjZeLXUBMQHm0j21VPPzEocrMhAXFat484bZd7MO1A75t2IeeuvCTDvcGLecuVtJ6mpqV6Tj1CmTJmCd955B9u3b0dOTk7QtpmZmais9D66V1lZiczMTF19NQNPuzKB6CHb5kQ2dD2DgcheC611RZbRU9Of2hx73x+ceYt9r2h75m1uXeZtDPMW+17R9szb3LrMW26KomDKlCl4++23sXnzZuTl5YVcJj8/H5s2bfJ6b8OGDcjPz7eqmyFx8mEiMwcaPQOMyPJGz1kN1l/ZMG+5MG+5MG+5MG9ygsLCQvz1r3/F6tWrkZKSgoqKClRUVODs2bPuNuPHj8f06dPdrx988EG89957WLBgAUpKSjBr1izs3r0bU6ZMicSvAICnXRkSl1Ub9HPRJ6Raef6kFYOK1v4Ge0KqkzBvMczbG/N2BuYthnl7Y94UTkuXLgUADBs2zOv9lStXYuLEiQCAo0ePIja26dhCQUEBVq9ejSeeeAKPPfYYunXrhnXr1kXsGR8AJx9kAu41kQvzlgvzlgvzlgvzdhZFUUK22bp1q89748aNw7hx4yzokT487UoCVt+Vgne9sBfmLRfmLRfmLRfmTdGIRz4MqC9PCnroVvQQpb+N36yH/Ki11f81s6aoaDlUy7zFMG9vzNsZmLcY5u2NeRNp55gjH08//TQKCgqQlJSENm3aRLo7Xg5WND68Rc8ehGDLGNkjsflkj4CDohGBlpdp7wnzZt6imLfzMG/mLYp5E+njmMnH+fPnMW7cONx7772R7oppRDZ4swdE9XOtdUWW0VPTn6RvHfNnqQnzZt562mhdhnlHBvNm3nraaF2GeVM0cMxfyezZs/Hb3/4Wffv2jXRXghLdgLVs6KKDjdZBSUtdLTW1Uvc8OfEBRcybeRtpp7Zl3vbEvJm3kXZqW+ZN5M0xkw896urqUF1d7fVjVHKZ8Qfo6D3EGeyQqdFDvGbWtWqPUCQwb/31tLaxA+atv57WNnbAvPXX09rGDpi3/npa2xAFE9WTj6KiIqSlpbl/cnNzI90lw6za6JvX5eBiD8xbLsxbLsxbLsybqFFEJx+PPvooYmJigv6UlJTorj99+nRUVVW5f44dO2a4zzXZxleZ3jtWWPnU0+Y1jD6hVeQ7nYB5m4N5iy3HvMOLeZuDeYstx7yJGkV08vHQQw/h4MGDQX86d+6su358fDxSU1O9fuxC68Ybqr3ewcaKulrb98ysBBD6ibNOxrybMG/t7Zm3vTHvJsxbe3vmTbKJ6OQjPT0dPXr0CPrTqlWrSHZRMy0brkhbrYOHaFsr65pd086YN/M20pZ52xvzZt5G2jJvIv8cc83H0aNHUVxcjKNHj6KhoQHFxcUoLi5GTU1NpLvmnvnrEWwDNvvwbqjPROoa+VxUbY7xiwKtxLzFPhfFvLXXZN7WYd5in4ti3tprMm+Kdo6ZfMyYMQMDBgzAzJkzUVNTgwEDBmDAgAHYvXt3pLvm5m/jHZV8AKOSD2hezoyBoPlAZVZNLe8DTesg1HpwGubtH/MOvRzztj/m7R/zDr0c8yYKzjGTj1WrVkFRFJ+fYcOGRaxPoc5x9NxYI7nhGtlbEqhesNfRinn7fx2tmLf/19GKeft/Ha2Yt//XROHgmMkHERERERE5GycfFlpf08vvf4eb0YcYidQn5i0b5i0X5i0X5k1knbhId8DJ6suTvA7dbj7Zw+cQpsig5W/j91dLK38PHjK7pkjtSA7cZmLeYrWZtzfm7QzMW6w28/bGvIm045EPExysyNC9bLC9Dnr3SATbU2JkL0qo5czag5L0rb3/LJm32OeimLf2mszbOsxb7HNRzFt7TeZN0Y5/JSbTsgGLtNU62Ii21VJXa1tR0XC4l3kzbyNtmbe9MW/mbaQt8ybyj6ddaZRc5kJNtrE5m56NVl3G36FRI4OAFXVFDg971lb3PNWXJ+n6Pisxb7GazLsJ82beossw7/Bi3mI1oyVvsi9OPkxysCLD/bAikY1XL6v2Nphd18p1YAfM27ce8zaOedsD8/atx7yNY95EjXjalUmMPCWVnId5y4V5y4V5y4V5E4UXj3xoJHLINtQeg+HtS3TtqQhW18ieDyvqWrUOwo15G6+pfs689ddl3tZg3sZrqp8zb/11mTfJhpMPk4keqtSy8YrU9GwTybp6DtX2zKzEwYoMxGXVOu68UebNvAO1Y96NmLf2msw7Mpi3XHlT5HDyYQL1kK3WDVdtH2hQ0HvOZbABx8h5nMH6q6duoAG8Nsdl69v1MW/mLYJ5M29/n2vFvK3FvOXKm+yBkw8DPB9Q1Nyo5AN+3/f3wB4rL+yyorZoTZF1oA5g6t4TO2PewTFv5g0wb+bNvM3CvClacfJhgUAbrfqZ0SeGNq9v1hNIzaxrxjqoyY5FcplLdx/ChXkzb8/PmDfzNlKfeUcW85Yrb4oMHhtzmGCDgh3rkjHMWy7MWy7MWy7Mm6gRJx8OY9ZeknDVJWOYt1yYt1yYt1yYN1EjnnZlgfU1vTSdM6qnvhXMrGvGOnDKIVvmzbw9PzOjvhWYtz7Mm3l7fmZGfSswb3ISTj4MqC9PQlxWrfvpqJ5PBRXdQEPd/k7vBWeRqNu8psg6UOs54WI15h28JvP2xbyZtyfmbR/MO3jNaMub7CVGURQl0p0Il+rqaqSlpWHYoMcRF5cAAIj7qixg+/ou2V6vT+clAmh6UFFtjsvrjhmeT0kNNDjI9GAe0XWgDlzqPcLV2/Spe05SSs+62wbLC/DNrDnmbR3mzbwB5h2tmDfzBsKXd339OWzd9TSqqqqQmpqqsffWUv8tOXDcU4hrmWCoVv2P57BnzRO2/D2txCMfBqkbnLoHBYB7L0owevYUeA6OZtSzsq7WdRBo4LIb5h24JvNuwryZdyjMO/KYd+Ca0Zg32QcnHzokl7lQkx3r3tBqc1x+B7FQtDwNVLSu1ieMWlFXb01/A5fnXpNIYd7W1GTeTZh35DBva2oy7ybMm8yyfft2zJs3D3v27MHx48fx9ttvY+zYsQHbb926FVdffbXP+8ePH0dmZqaFPQ2Okw8NUkrPug/dqhuY5yAGALXQNniIPAnUc3A0syagbVAKR1/tNHAxb+bNvH3rMu/AmDfzbo55k5nOnDmDSy65BHfeeSd+/vOfCy936NAhr9O6OnToYEX3hHHyoZG6QTUfxADfgUyL5ocp1fNSAbFBQ6S2WTX9HVJVa2utG+jwrF0GLubNvFXMm3mLYt7emLd+zJs8XX/99bj++us1L9ehQwe0adPG/A7pxMmHTp4bl7+BzCgrzpm08jxMo7XtPlgxb3NrM2/mbSfM29zazJt5kzbV1dVer+Pj4xEfH29a/f79+6Ourg59+vTBrFmzMGTIENNq68HJhwm44cmFecuFecuFecuFeZNeKUfOIi7O2A1j6+vPAQByc3O93p85cyZmzZplqDYAdOzYEcuWLcNll12Guro6/OlPf8KwYcPwySef4NJLLzVcXy/pJx+hbuVH9mI0L+btLMxbLsxbLsxbLswrsGPHjnldk2HWUY/u3buje/fu7tcFBQX46quvsHDhQrz66qumfIceUk4+4kqPIy62ldCGEOq+1BQ+ogNXoMyYt7Mwb7kwb7kwb7loztt13sLe2E9qamrYnvNx+eWX48MPPwzLdwVi7EooIiIiIiJyhOLiYnTs2DGifZDyyAcRERERkZPU1NTg8OHD7telpaUoLi5Gu3btcOGFF2L69OkoKyvDX/7yFwDAokWLkJeXh969e+PcuXP405/+hM2bN+ODDz6I1K8AgEc+QuI5inJh3nJh3nJh3nJh3hRtdu/ejQEDBmDAgAEAgGnTpmHAgAGYMWMGgMaHBx49etTd/vz583jooYfQt29fDB06FJ9//jk2btyIa665JiL9V8UoimLsUn0Hqa6uRlpaGoYNehxxcQmR7g4RERERNVNffw5bdz2NqqqqsF0LIcrMf0va+fe0kvSnXQW7II17Tewn1AWEoTJj3s7CvOXCvOXCvOViNG+KHjztioiIiIiIwoKTDyIiIiIiCgtOPoiIiIiIKCykv+aD5xg6C5+IKxfmLRfmLRfmLRfmRSopJx98wrkz8Ym4cmHecmHecmHecuETzskTT7siIiIiIqKw4OSDiIiIiIjCgpOPEHiOolyYt1yYt1yYt1yYN5E9SXnNR31eR0DDUyk5gDkLL2KUC/OWC/OWC/OWi5pXff054GSEO0OWkXLy4cmqJ6SezksM+FlK6VnddZ3EinVg1yfiMm/mrWLezDsaMe9GzDtyeVP0kH7yYUSwjdOK5aKJEwd35q0f85YL85YL85aLE/Mme+HkQ4fmG15NNi+dMUNymQtA0/q1yyDGvK3BvOXCvOXCvOVi17zJnjj50Mhz4PIctGpzXJHoTtRI+jbWvT49B7FID2DM2xrMWy7MWy7MWy52zZvsi5MPDfwNXJ6DVlxWbdj7FA3qy5Pc61EdxNQBLJKYtzWYt1yYt1yYt1zsmjfZGycfOjQfuNRBq2dmpa56BysyfN7TWytYbStqGq19sCLDvf7UQcxzALPD3hPmzbwB5q23FvNm3sxbH+ZN0YqTD0HqXhORgWt4+xKhmptP9vBZNhCtNVWhauupa2ZNtZY6iNWXJwktazXmzbwB5m20JvP2j3mHF/OWK2+yP04+DGg+cDXfaEclH/B6vb6ml9drz/bNBx3RAaA5vctprevZ31Df6bkePNfB8PYlPr83APfeE7th3mLfybzh0555N2He4pi3dZi32HdGS95kL5x8WKT5wOX5XvNBDLBu0LGKSH9F1oE6gPXMrPQ5HOykc0eZN/Nm3sxbxbyZt50xb4o0Tj4s4G+jtbK+v8Ew0nWtXgd2wryZt5X1mXdkMW/mbWV95k0y4rExh7FqUOBgY0/MWy7MWy7MWy7Mm6gRj3xYYH1NL8sGA7P2klhd18p1YDfMm3mbWdsJdZm3ebWdUJd5m1fbCXVlypsig5MPi/jbeIMNEGZdsBYuIhesqb9voAvWPOv4u/2fk84XZd7Mm3kzbxXzZt52xrwp0jj5MKC+PAlxWbU4WJGBnpmV2Hyyh9eGLLI3wt/dIjzf1zuIBaprpGaguqH6atXennBj3t7vMW/mDTBvT8zbOZi393vRnjfZCycfJms+gIVqK9rGipqidUVqerYz2lcn3aaPeTPvYG1F2zBve2LezDtYW9E2zJvIGycfGiWXudwPKtJLdDAItEywe3bboa7IAO5ZWz1ka8cHFDFvsZrMuwnzZt5almHe4cO8xWpGS95kX5x8CEopPet+Sqo/6qFbIPjGa2SgMbOG1XW17EGyI+atvRbzZt5Owby112LezJvILDw+JijYwAU0PSU1FG7QzsC85cK85cK85cK8ieyFRz40EjlkG2qAUp8KqpWWQ6GRrmvVOgg35m1OTeYdGvMOP+ZtTk3mHRrzJmrCIx8mE90zomUPyvD2JULtRdvpqWt2TU/qXqe4rFpNy9kB82beRtqpbZm3PTFv5m2kndqWeRN54+TDBKKHbJsze+AQXUbPACOyjJ6a/tTm2Pv+4Mxb7HtF2zNvc+syb2OYt9j3irZn3ubWZd4UDTj5MJGZA42eAUZkeSM1gy1vtK4TMW+5MG+5MG+5MG+i8OE1HwaEOswo+oTU4e2tO3/SikFFa3+DPSHVSZi3GObtjXk7A/MWw7y9MW8Kp+3bt2PevHnYs2cPjh8/jrfffhtjx44NuszWrVsxbdo07N+/H7m5uXjiiScwceLEsPQ3EB75IMO410QuzFsuzFsuzFsuzNtZzpw5g0suuQRLliwRal9aWorRo0fj6quvRnFxMaZOnYq7774b77//vsU9DY6TDwlYfVcK3vXCXpi3XJi3XJi3XJg3ebr++uvx1FNP4aabbhJqv2zZMuTl5WHBggXo2bMnpkyZgl/+8pdYuHChxT0NjqddGVBfnhT00K3oIUp/G79ZD/lRa6v/a2ZNUdFyqJZ5i2He3pi3MzBvMczbG/MmM1RXV3u9jo+PR3x8vOG6O3fuxIgRI7zeGzlyJKZOnWq4thGOOPJx5MgR3HXXXcjLy0NiYiK6dOmCmTNn4vz585HuGoDGp6MC+vYgBFvGyB6JzSd7BBwUjQi0vEx7T5g38xbFvJ2HeTNvUcxbbnGlxxH3VZmxn9LjAIDc3FykpaW5f4qKikzpY0VFBTIyMrzey8jIQHV1Nc6ePWvKd+jhiCMfJSUlcLlcWL58Obp27YovvvgCkydPxpkzZzB//vxId083kQ1ezx6UUHX17EWxoq+BaiZ964g5sWbMm3n7a8O8owPzZt7+2jBvEnHs2DGkpqa6X5tx1MPOHPFXct1112HlypW49tpr0blzZ/zsZz/Dww8/jL///e+R7poP0T0IWvY0BNoLorednrpaamql7nmqL0/SvGykMW/mbaSd2pZ52xPzZt5G2qltmTeFkpqa6vVj1uQjMzMTlZXez7KprKxEamoqEhMTTfkOPRwx+fCnqqoK7dq1C9qmrq4O1dXVXj9GJZcZf4CO3kOcwQ6ZGj3Ea2ZdswfESGLe+utpbWMHzFt/Pa1t7IB566+ntY0dMG/99bS2IXvIz8/Hpk2bvN7bsGED8vPzI9SjRo6cfBw+fBh//OMfcc899wRtV1RU5HUOXW5ubph6aB2rNvrmdTm42APzlgvzlgvzlgvzJqNqampQXFyM4uJiAI230i0uLsbRo0cBANOnT8f48ePd7X/zm9/g66+/xu9+9zuUlJTgxRdfxJtvvonf/va3kei+W0QnH48++ihiYmKC/pSUeJ+DWFZWhuuuuw7jxo3D5MmTg9afPn06qqqq3D/Hjh0z3OeabOOrTO8dK6x86mnzGkaf0CrynU7AvM3BvMWWY97hxbzNwbzFlmPeZNTu3bsxYMAADBgwAAAwbdo0DBgwADNmzAAAHD9+3D0RAYC8vDz861//woYNG3DJJZdgwYIF+NOf/oSRI0dGpP+qiF5w/tBDD4V8ymLnzp3d/11eXo6rr74aBQUFeOmll0LWN+tWZVbQ+pTRUBu7+rnWPR5W1NU6MPXMrMTBigzEZdVG7XmjzLsJ8/bfXuRz5m1PzLsJ8/bfXuRz5k2hDBs2DIqiBPx81apVfpf57LPPLOyVdhE98pGeno4ePXoE/WnVqhWAxiMew4YNw8CBA7Fy5UrExtrzjDEtG65IW617METbWlnX7Jp2xryZt5G2zNvemDfzNtKWeRP5Z89/wTejTjwuvPBCzJ8/H9999x0qKipQUVER6a4BaJz56xVsAzb78G6oz0TqGvlcVG2O8YsCrcS8xT4Xxby112Te1mHeYp+LYt7aazJvinaOmHxs2LABhw8fxqZNm5CTk4OOHTu6f+zE38Y7KvkARiUf0LycGQNB84HKrJpa3gea1kGo9eA0zNs/5h16OeZtf8zbP+YdejnmTRScIyYfEydOhKIofn8iKS6rNujnnhtrJDdcI3tLAtUL9jpaMW//r6MV8/b/Oloxb/+voxXz9v+aKBwcMfkgIiIiIiLn4+TDQutrevn973Az+hAjkfrEvGXDvOXCvOXCvImsE9Fb7TpdfXmS16HbzSd7+BzCFBm0/G38/mpp5e/BQ2bXFKkdyYHbTMxbrDbz9sa8nYF5i9Vm3t6YN5F2PPJhgoMVGbqXDbbXQe8eiWB7SozsRQm1nFl7UJK+tfefJfMW+1wU89Zek3lbh3mLfS6KeWuvybwp2vGvxGRaNmCRtloHG9G2WupqbSsqGg73Mm/mbaQt87Y35s28jbRl3kT+8bQrjZLLXKjJNjZn07PRqsv4OzRqZBCwoq7I4WHP2uqeJzs+HZV5i9Vk3k2YN/MWXYZ5hxfzFqsZLXmTfXHyYZKDFRnuhxWJbLx6WbW3wey6Vq4DO2DevvWYt3HM2x6Yt2895m0c8yZqxNOuTGLkKankPMxbLsxbLsxbLsybKLx45EMjkUO2ofYYDG9fomtPRbC6RvZ8WFHXqnUQbszbeE31c+atvy7ztgbzNl5T/Zx566/LvEk2nHyYTPRQpZaNV6SmZ5tI1tVzqLZnZiUOVmQgLqvWceeNMm/mHagd827EvLXXZN6Rwbzlypsih5MPE6iHbLVuuGr7QIOC3nMugw04Rs7jDNZfPXUDDeC1OS5b366PeTNvEcybefv7XCvmbS3mLVfeZA+cfBjg+YCi5kYlH/D7vr8H9lh5YZcVtUVriqwDdQBT957YGfMOjnkzb4B5M2/mbRbmTdGKkw8LBNpo1c+MPjG0eX2znkBqZl0z1kFNdiySy1y6+xAuzJt5e37GvJm3kfrMO7KYt1x5U2Tw2JjDBBsU7FiXjGHecmHecmHecmHeRI04+XAYs/aShKsuGcO85cK85cK85cK8iRrxtCsLrK/ppemcUT31rWBmXTPWgVMO2TJv5u35mRn1rcC89WHezNvzMzPqW4F5k5Nw8mFAfXkS4rJq3U9H9XwqqOgGGur2d3ovOItE3eY1RdaBWs8JF6sx7+A1mbcv5s28PTFv+2DewWtGW95kLzGKoiiR7kS4VFdXIy0tDcMGPY64uAQAQNxXZQHb13fJ9np9Oi8RQNODimpzXF53zPB8SmqgwUGmB/OIrgN14FLvEa7epk/dc5JSetbdNlhegG9mzTFv6zBv5g0w72jFvJk3EL686+vPYeuup1FVVYXU1FSNvbeW+m/JEe3vRFxsK0O16l3nsfHkClv+nlbikQ+D1A1O3YMCwL0XJRg9ewo8B0cz6llZV+s6CDRw2Q3zDlyTeTdh3sw7FOYdecw7cM1ozJvsg5MPHZLLXKjJjnVvaLU5Lr+DWChangYqWlfrE0atqKu3pr+By3OvSaQwb2tqMu8mzDtymLc1NZl3E+ZN5I2TDw1SSs+6D92qG5jnIAYAtdA2eIg8CdRzcDSzJqBtUApHX+00cDFv5s28fesy78CYN/NujnkT+eLkQyN1g2o+iAG+A5kWzQ9TquelAmKDhkhts2r6O6Sq1tZaN9DhWbsMXMybeauYN/MWxby9MW/9mDdFI04+dPLcuPwNZEZZcc6kledhGq1t98GKeZtbm3kzbzth3ubWZt7MmygYTj5MwA1PLsxbLsxbLsxbLsybKPykn3yEupUf2YvRvJi3szBvuTBvuTBvuTAvUkk5+YgrPY642FZCG0Ko+1JT+IgOXIEyY97Owrzlwrzlwrzlojlv13kLe0ORZuxKKCIiIiIiIkGcfBARERERUVhw8hECz1GUC/OWC/OWC/OWC/OmaLRkyRJcdNFFSEhIwODBg/Hpp58GbLtq1SrExMR4/SQkJISxt/5Jec1HfV5HIE585XMAcxZexCgX5i0X5i0X5i0XNa/6+nPAyQh3xobeeOMNTJs2DcuWLcPgwYOxaNEijBw5EocOHUKHDh38LpOamopDhw65X8fExISruwFJOfnwFOyCNA5a9hPqAsJQmTFvZ2HecmHecmHecjGaNwHPP/88Jk+ejEmTJgEAli1bhn/9619YsWIFHn30Ub/LxMTEIDMzM5zdDEmqyYeiKACA+oa6pjeD3FGhvv6c1V0irULcASNkZszbWZi3XJi3XJi3XDTkrf47Tf13mx3VK+cBg89+rFca10l1dbXX+/Hx8YiPj/d67/z589izZw+mT5/ufi82NhYjRozAzp07A35HTU0NOnXqBJfLhUsvvRTPPPMMevfubazjBkk1+Th9+jQA4MO988UW4CE/5zGSGfN2HuYtF+YtF+YtFz+ZnT59GmlpaeHvSxCtWrVCZmYmtlb81ZR6ycnJyM3N9Xpv5syZmDVrltd7J0+eRENDAzIyMrzez8jIQElJid/a3bt3x4oVK9CvXz9UVVVh/vz5KCgowP79+5GTk2NK//WQavKRlZWFY8eOISUlxRbnvIVLdXU1cnNzcezYMaSmpka6O2Qx5i0X5i0X5i0XWfNWFAWnT59GVlZWpLviIyEhAaWlpTh/3pxnkSiK4vNv0uZHPfTKz89Hfn6++3VBQQF69uyJ5cuXY+7cuaZ8hx5STT5iY2MjOtOLtNTUVKkGL9kxb7kwb7kwb7nImLfdjnh4SkhICPtdo9q3b48WLVqgsrLS6/3KykrhazpatmyJAQMG4PDhw1Z0URhvtUtEREREZGOtWrXCwIEDsWnTJvd7LpcLmzZt8jq6EUxDQwP27duHjh07WtVNIVId+SAiIiIicqJp06ZhwoQJuOyyy3D55Zdj0aJFOHPmjPvuV+PHj0d2djaKiooAAHPmzMEVV1yBrl274tSpU5g3bx6++eYb3H333ZH8NTj5kEF8fDxmzpxp2jmEZG/MWy7MWy7MWy7Mmzzdcsst+O677zBjxgxUVFSgf//+eO+999wXoR89ehSxsU0nNf3www+YPHkyKioq0LZtWwwcOBA7duxAr169IvUrAABiFDvfx4yIiIiIiKIGr/kgIiIiIqKw4OSDiIiIiIjCgpMPIiIiIiIKC04+iIiIiIgoLDj5kMiRI0dw1113IS8vD4mJiejSpQtmzpxp2lM6yX6efvppFBQUICkpCW3atIl0d8hkS5YswUUXXYSEhAQMHjwYn376aaS7RBbZvn07xowZg6ysLMTExGDdunWR7hJZpKioCIMGDUJKSgo6dOiAsWPH4tChQ5HuFpFpOPmQSElJCVwuF5YvX479+/dj4cKFWLZsGR577LFId40scv78eYwbNw733ntvpLtCJnvjjTcwbdo0zJw5E3v37sUll1yCkSNH4sSJE5HuGlngzJkzuOSSS7BkyZJId4Ustm3bNhQWFuLjjz/Ghg0b8OOPP+Laa6/FmTNnIt01IlPwVruSmzdvHpYuXYqvv/460l0hC61atQpTp07FqVOnIt0VMsngwYMxaNAgvPDCCwAan3Sbm5uL+++/H48++miEe0dWiomJwdtvv42xY8dGuisUBt999x06dOiAbdu24aqrrop0d4gM45EPyVVVVaFdu3aR7gYRaXD+/Hns2bMHI0aMcL8XGxuLESNGYOfOnRHsGRGZraqqCgD4/9UUNTj5kNjhw4fxxz/+Effcc0+ku0JEGpw8eRINDQ3up9qqMjIyUFFREaFeEZHZXC4Xpk6diiFDhqBPnz6R7g6RKTj5iAKPPvooYmJigv6UlJR4LVNWVobrrrsO48aNw+TJkyPUc9JDT95EROQ8hYWF+OKLL/D6669HuitEpomLdAfIuIceeggTJ04M2qZz587u/y4vL8fVV1+NgoICvPTSSxb3jsymNW+KPu3bt0eLFi1QWVnp9X5lZSUyMzMj1CsiMtOUKVPwzjvvYPv27cjJyYl0d4hMw8lHFEhPT0d6erpQ27KyMlx99dUYOHAgVq5cidhYHvxyGi15U3Rq1aoVBg4ciE2bNrkvOna5XNi0aROmTJkS2c4RkSGKouD+++/H22+/ja1btyIvLy/SXSIyFScfEikrK8OwYcPQqVMnzJ8/H9999537M+4tjU5Hjx7F999/j6NHj6KhoQHFxcUAgK5duyI5OTmynSNDpk2bhgkTJuCyyy7D5ZdfjkWLFuHMmTOYNGlSpLtGFqipqcHhw4fdr0tLS1FcXIx27drhwgsvjGDPyGyFhYVYvXo1/vGPfyAlJcV9HVdaWhoSExMj3Dsi43irXYmsWrUq4D9M+GcQnSZOnIhXXnnF5/0tW7Zg2LBh4e8QmeqFF17AvHnzUFFRgf79++MPf/gDBg8eHOlukQW2bt2Kq6++2uf9CRMmYNWqVeHvEFkmJibG7/srV64MecotkRNw8kFERERERGHBE/6JiIiIiCgsOPkgIiIiIqKw4OSDiIiIiIjCgpMPIiIiIiIKC04+iIiIiIgoLDj5ICIiIiKisODkg4iIiIiIwoKTDyIiIiIiCgtOPoiIiIiIKCw4+SAiIiIiorDg5IOIiIiIiMKCkw8iIof57rvvkJmZiWeeecb93o4dO9CqVSts2rQpgj0jIiIKLkZRFCXSnSAiIm3Wr1+PsWPHYseOHejevTv69++PG2+8Ec8//3yku0ZERBQQJx9ERA5VWFiIjRs34rLLLsO+ffuwa9cuxMfHR7pbREREAXHyQUTkUGfPnkWfPn1w7Ngx7NmzB3379o10l4iIiILiNR9ERA711Vdfoby8HC6XC0eOHIl0d4iIiELikQ8iIgc6f/48Lr/8cvTv3x/du3fHokWLsG/fPnTo0CHSXSMiIgqIkw8iIgd65JFHsHbtWnz++edITk7G0KFDkZaWhnfeeSfSXSMiIgqIp10RETnM1q1bsWjRIrz66qtITU1FbGwsXn31Vfz73//G0qVLI909IiKigHjkg4iIiIiIwoJHPoiIiIiIKCw4+SAiIiIiorDg5IOIiIiIiMKCkw8iIiIiIgoLTj6IiIiIiCgsOPkgIiIiIqKw4OSDiIiIiIjCgpMPIiIiIiIKC04+iIiIiIgoLDj5ICIiIiKisODkg4iIiIiIwuL/A7ed49BKObmlAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# definition of parameter of layer\n", "w_pc = 0.7\n", "\n", "# define the creator and layer\n", "creator = A_FMM.Creator()\n", "creator.rect(eps_core=4.0, eps_clad=1.0, w=w_pc, h=w_pc)\n", "pattern = A_FMM.Layer(Nx=N, Ny=N, creator=creator)\n", "\n", "# plotting dielectric constant profile of the layer\n", "x = np.linspace(-2.5, 2.5, 501)\n", "y = np.linspace(-2.5, 2.5, 501)\n", "\n", "eps = pattern.calculate_epsilon(x=x, y=y)\n", "\n", "fig, ax = plt.subplots(1,1, figsize = (10,5))\n", "contour = ax.contourf(np.squeeze(eps['x']), np.squeeze(eps['y']), np.squeeze(eps['eps'].real))\n", "fig.colorbar(contour, ax=ax, label='epsilon')\n", "ax.set_xlabel('x')\n", "ax.set_ylabel('y')\n", "ax.set_title('xy cross section of the patterned layer')" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "### Uniform layers\n", "Since these layer have no patterning they are defined by calling Layer_uniform." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "# define uniform layers\n", "background = A_FMM.Layer_uniform(Nx=N, Ny=N, eps=1.0)\n", "dielectric = A_FMM.Layer_uniform(Nx=N, Ny=N, eps=4.0)" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "## Stack definition\n", "\n", "The following code defines the 3D stack." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0.5, 1.0, 'xz cross section of the multilayer')" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAyAAAAHWCAYAAACPJO1FAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAABLr0lEQVR4nO3de1xVZd7///dGBVTcqCngAZXCQTygiangjKihSGYyU9Pc5j2SiWONpUZjE40TKik2asqM5iFH6cRto3Pr3FlpeLbUEpXvoDNaNgpmHGxCEEpI9vr90Y89bdkgIqyN+no+HvuR69rXda3P2gtzvVmHbTEMwxAAAAAAmMDN1QUAAAAAuH0QQAAAAACYhgACAAAAwDQEEAAAAACmIYAAAAAAMA0BBAAAAIBpCCAAAAAATEMAAQAAAGAaAggAAAAA0xBAAKCepaamymKx6OzZs64upUaLFi3SnXfeqSZNmqhfv37XPX7Pnj2yWCzatGlT/RfnItez7yq3f8+ePfa2Rx99VN26dWuw+gDgVkAAAYA6WrBggbZs2eLqMurkgw8+0LPPPqshQ4Zo/fr1WrBgQbV909LStGzZMvOKa2ReeeUVpaamuroMALhlNHV1AQBws1qwYIEeeughxcTEOLT/8pe/1H/913/Jw8PDNYXVwq5du+Tm5qY///nPcnd3r7FvWlqajh8/rpkzZ5pTXCPzyiuvqF27dnr00Ucd2ocOHapvv/32mp8fAMARZ0AA3JDS0lJXl9DoNGnSRJ6enrJYLK4upVoFBQVq3rw5B883wM3NTZ6ennJzuzn+KTUMQ99++62rywAAAghwM/j222/Vo0cP9ejRw+EA4uuvv1aHDh0UHh6uiooK+zXpzl61uS795MmTevjhh9W+fXs1b95cQUFB+t3vfmd/f86cObJYLPrHP/6hRx55RG3atNGPf/xjSdKVK1eUlJSku+66Sx4eHurWrZuef/55lZWVOawjIyNDUVFRateunZo3b66AgAA99thjDn02bNig0NBQtWrVSlarVX369FFKSso166/NuIsXL2rmzJny9/eXh4eHAgMD9dJLL8lmszn0s9lsSklJUZ8+feTp6an27dtr9OjRysjIkCRZLBaVlpbqtddes3/Glb8hr+4+gldeeUW9evWSh4eHOnbsqGnTpunixYsOfYYNG6bevXvrH//4h4YPH64WLVqoU6dO+sMf/nDN7Zdqtx8sFovWr1+v0tJSe+3VXWI0bNgwvfvuu8rOzq72Z8lms2n+/Pnq3LmzPD09de+99+r06dNV5vr44481evRoeXt7q0WLFoqIiNBHH310zW2q/Ln+y1/+orlz56pTp05q1aqVHnroIRUVFamsrEwzZ86Uj4+PvLy8NGnSJIftPXv2bLXbaLFYNGfOnGrX3a1bN504cUJ79+61b/+wYcMc6vrhPSDOLF68WOHh4brjjjvUvHlzhYaGVrlvJiIiQn379nU6PigoSFFRUfZlm82mZcuWqVevXvL09JSvr6+mTp2qwsLCKrXff//92r59uwYMGKDmzZtr9erVNdYKAGbgEizgJtC8eXO99tprGjJkiH73u9/p5ZdfliRNmzZNRUVFSk1NVZMmTRQcHKw33njDYezFixcVHx8vHx+fGtfx97//XT/5yU/UrFkz/epXv1K3bt30+eef65133tH8+fMd+v785z9X9+7dtWDBAhmGIUmKi4vTa6+9poceekjPPPOMPv74YyUnJ+uf//ynNm/eLOn737qPGjVK7du313PPPafWrVvr7Nmz+t///V/73Onp6Ro/frzuvfdevfTSS5Kkf/7zn/roo480Y8aMauuvzbhvvvlGEREROn/+vKZOnaouXbrowIEDSkhIUG5ursN9DpMnT1Zqaqqio6MVFxenK1euaP/+/Tp06JAGDBigN954Q3FxcRo4cKB+9atfSZLuuuuuauubM2eO5s6dq8jISD3xxBM6deqUVq5cqcOHD+ujjz5Ss2bN7H0LCws1evRo/exnP9PDDz+sTZs26be//a369Omj6OjoGvdjbfbDG2+8oTVr1uiTTz7R2rVrJUnh4eFO5/vd736noqIiffHFF1q6dKkkycvLy6HPwoUL5ebmpt/85jcqKirSH/7wB02YMEEff/yxvc+uXbsUHR2t0NBQJSYmys3NTevXr9eIESO0f/9+DRw4sMbtkqTk5GQ1b95czz33nE6fPq0//elPatasmdzc3FRYWKg5c+bo0KFDSk1NVUBAgF544YVrznkty5Yt01NPPSUvLy97GPf19b2uOVJSUvTAAw9owoQJKi8v14YNG/Tzn/9cW7du1ZgxYyR9f9nelClTdPz4cfXu3ds+9vDhw/r00081e/Zse9vUqVOVmpqqSZMmafr06Tpz5oyWL1+uY8eOVflZOnXqlMaPH6+pU6dqypQpCgoKupGPAwDqhwHgppGQkGC4ubkZ+/btMzZu3GhIMpYtW1Ztf5vNZtx///2Gl5eXceLEiRrnHjp0qNGqVSsjOzu7yhyVEhMTDUnG+PHjHfpkZmYakoy4uDiH9t/85jeGJGPXrl2GYRjG5s2bDUnG4cOHq61jxowZhtVqNa5cuVJjvXUZl5SUZLRs2dL49NNPHdqfe+45o0mTJkZOTo5hGIaxa9cuQ5Ixffr0KnP88PNo2bKlERsbW6XP+vXrDUnGmTNnDMMwjIKCAsPd3d0YNWqUUVFRYe+3fPlyQ5Kxbt06e1tERIQhyXj99dftbWVlZYafn5/x4IMP1vgZ1HY/GIZhxMbGGi1btqxxvkpjxowxunbtWqV99+7dhiQjODjYKCsrs7enpKQYkoysrCzDML7/zLp3725ERUU5fH7ffPONERAQYIwcObLG9Veup3fv3kZ5ebm9ffz48YbFYjGio6Md+oeFhTnUe+bMGUOSsX79+ipzSzISExPty1fvO8MwjF69ehkRERHV1rV79257W2xsbJXP6ptvvnFYLi8vN3r37m2MGDHC3nbx4kXD09PT+O1vf+vQd/r06UbLli2NkpISwzAMY//+/YYk46233nLot23btirtXbt2NSQZ27Ztq1I7ALgSl2ABN5E5c+aoV69eio2N1a9//WtFRERo+vTp1fZPSkrS1q1blZqaqp49e1bb78KFC9q3b58ee+wxdenSxeE9Z/cxPP744w7L7733niQpPj7eof2ZZ56RJL377ruSpNatW0uStm7dqu+++85pLa1bt1ZpaanS09Orrbeu4zZu3Kif/OQnatOmjb766iv7KzIyUhUVFdq3b58k6a9//assFosSExOrzFGX+zp27Nih8vJyzZw50+F+gSlTpshqtdo/n0peXl767//+b/uyu7u7Bg4cqH/96181rqe2+6G+TZo0yeFekp/85CeSZK83MzNTn332mR555BH9+9//tn/upaWluvfee7Vv374ql8A5M3HiRIff7g8aNEiGYVS5hG/QoEE6d+6crly5Uh+bd8OaN29u/3NhYaGKior0k5/8REePHrW3e3t7a9y4cfqf//kf+1nFiooKvf3224qJiVHLli0lff8z7O3trZEjRzr8DIeGhsrLy0u7d+92WHdAQIDD5VsA0BgQQICb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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# definition of relevant parameters for the stack (check the paper for parameters' meaning)\n", "t_pc = 0.2\n", "t_1 = 0.25\n", "t_2 = 0.361\n", "h = 1.1\n", "\n", "# definition of material and thicknesses lists\n", "layers = [background, pattern, dielectric, background, dielectric, background]\n", "thicknesses = [1.0, t_pc, t_1, h, t_2, 1.0]\n", "\n", "# stack definition\n", "stack = A_FMM.Stack(layers=layers, d=thicknesses)\n", "\n", "# plotting dielectric constant profile of a cross section of the stack\n", "z = np.linspace(-1.0, 4.0, 501)\n", "eps = stack.calculate_epsilon(x=x, z=z)\n", "\n", "fig, ax = plt.subplots(1,1, figsize = (10,5))\n", "contour = ax.contourf(np.squeeze(eps['x']), np.squeeze(eps['z']), np.squeeze(eps['eps'].real))\n", "ax.invert_yaxis()\n", "fig.colorbar(contour, ax=ax, label='epsilon')\n", "ax.set_xlabel('x')\n", "ax.set_ylabel('z')\n", "ax.set_title('xz cross section of the multilayer')" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "## Transmission calculation\n", "\n", "The following code calculates the transmission." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0.5, 1.0, 'TE transmission')" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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+BqXKY1vRWqQCII46y5u3boFb29vHD58GKGhofrj7777Lvbv34/IyMhiH/fDDz/g7bffhiAIUKvVmDhxIn755ZcSX2fmzJmYNWtWkeNr166Fra3tk38jRERm7t9bEmy9JgMAjPfXoJkLl+sREZF5yMnJwZAhQ5Ceng5HR8dS7yvajNPj2LdvHz7//HP8/PPPCAkJweXLl/H666/jk08+wUcffVTsY6ZPn45p06bpv87IyICvry+6detW5uBUBZVKhfDwcHTt2hVWVlZil2N2OL7GxfE1LlMZ3xv/xQHXLgEA2gQG4jl/d9FqqUymMr7miuNrXBxf4+L4Gpcpja9uNVp5iBacXF1dIZPJkJSUZHA8KSkJnp6exT7mo48+wvDhwzF27FgAQEBAALKzszF+/Hj873//g1Ra9JItpVIJpVJZ5LiVlZXo/1CFmVo95obja1wcX+MSfXwlkod/lcrM7t9a9PE1cxxf4+L4GhfH17hMYXwr8vqiNYdQKBQIDAzEnj179Me0Wi327NljsHSvsJycnCLhSCYrWD4i0opDIiKzpynUEIL7OBERkaUSdanetGnTMHLkSAQFBSE4OBjz5s1DdnY2wsLCAAAjRoyAt7c35syZAwDo3bs35s6di9atW+uX6n300Ufo3bu3PkAREVHlKtyCnO3IiYjIUokanAYOHIg7d+7g448/RmJiIlq1aoUdO3bAw8MDAHD9+nWDGaYPP/wQEokEH374IW7evAk3Nzf07t0bn332mVjfAhGR2dMU6kHODXCJiMhSid4cYsqUKZgyZUqxt+3bt8/ga7lcjhkzZmDGjBlVUBkREQGGS/UYnIiIyFKJugEuERGZPs44ERERMTgREVEZDJpD8BonIiKyUAxORERUqsJhqXCIIiIisiQMTkREVCp14aV6nHEiIiILxeBERESl4j5OREREDE5ERFSGwmGJzSGIiMhSMTgREVGp1IXCEptDEBGRpWJwIiKiUhk2h2BwIiIiy8TgREREpSocltgcgoiILBWDExERlapwcGJzCCIislQMTkREVCqDGSfu40RERBaKwYmIiEpVeHkel+oREZGlYnAiIqJScakeERERgxMREZWBzSGIiIgYnIiIqAyccSIiImJwIiKiMhg2h2BwIiIiy8TgREREpSq8PE/N4ERERBaKwYmIiEplsFSP1zgREZGFYnAiIqJS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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# definition of the array of frequency to be used for the calculation\n", "k0_array = np.linspace(0.72, 0.74, 201)\n", "transmission = []\n", "\n", "# loop over the frequencies for calculating transmission\n", "for k0 in k0_array:\n", " stack.solve(k0=k0)\n", " transmission.append(stack.get_T(stack.NPW//2, stack.NPW//2, ordered=False))\n", "\n", "fig, ax = plt.subplots(1,1, figsize = (10,5))\n", "ax.plot(k0_array, transmission)\n", "ax.set_xlabel('k0 (c/a)')\n", "ax.set_ylabel('Transmission')\n", "ax.grid()\n", "ax.set_title('TE transmission')\n" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "**Note**: get_T mode ordering is designed to work for guided modes, so the modes are ordered by decreasing effective index. When the layer involved are uniform and the eigenmodes are plane waves, ordering the modes is not the best strategy, especially for not normal incidence. \n", "For uniform layers solved with a number **N** of fourier components, one obtains **2N** plane waves. The solutions are divided into to groups: the first **N** have polarization along x, the other have polarization along y. The order 0 sits in the middle of each group. The easy way to obtain the correct mode is to use **layer.NPW//2** if the polarization is along x and **layer.NPW//2 + layer.NPW** if the polarization is along y.\n", "\n", "If other orders are needed, check **layer.G**. It is a dictionary linking the modes index with the tuple representing the x and y order. " ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "{0: (-5, -5), 1: (-5, -4), 2: (-5, -3), 3: (-5, -2), 4: (-5, -1), 5: (-5, 0), 6: (-5, 1), 7: (-5, 2), 8: (-5, 3), 9: (-5, 4), 10: (-5, 5), 11: (-4, -5), 12: (-4, -4), 13: (-4, -3), 14: (-4, -2), 15: (-4, -1), 16: (-4, 0), 17: (-4, 1), 18: (-4, 2), 19: (-4, 3), 20: (-4, 4), 21: (-4, 5), 22: (-3, -5), 23: (-3, -4), 24: (-3, -3), 25: (-3, -2), 26: (-3, -1), 27: (-3, 0), 28: (-3, 1), 29: (-3, 2), 30: (-3, 3), 31: (-3, 4), 32: (-3, 5), 33: (-2, -5), 34: (-2, -4), 35: (-2, -3), 36: (-2, -2), 37: (-2, -1), 38: (-2, 0), 39: (-2, 1), 40: (-2, 2), 41: (-2, 3), 42: (-2, 4), 43: (-2, 5), 44: (-1, -5), 45: (-1, -4), 46: (-1, -3), 47: (-1, -2), 48: (-1, -1), 49: (-1, 0), 50: (-1, 1), 51: (-1, 2), 52: (-1, 3), 53: (-1, 4), 54: (-1, 5), 55: (0, -5), 56: (0, -4), 57: (0, -3), 58: (0, -2), 59: (0, -1), 60: (0, 0), 61: (0, 1), 62: (0, 2), 63: (0, 3), 64: (0, 4), 65: (0, 5), 66: (1, -5), 67: (1, -4), 68: (1, -3), 69: (1, -2), 70: (1, -1), 71: (1, 0), 72: (1, 1), 73: (1, 2), 74: (1, 3), 75: (1, 4), 76: (1, 5), 77: (2, -5), 78: (2, -4), 79: (2, -3), 80: (2, -2), 81: (2, -1), 82: (2, 0), 83: (2, 1), 84: (2, 2), 85: (2, 3), 86: (2, 4), 87: (2, 5), 88: (3, -5), 89: (3, -4), 90: (3, -3), 91: (3, -2), 92: (3, -1), 93: (3, 0), 94: (3, 1), 95: (3, 2), 96: (3, 3), 97: (3, 4), 98: (3, 5), 99: (4, -5), 100: (4, -4), 101: (4, -3), 102: (4, -2), 103: (4, -1), 104: (4, 0), 105: (4, 1), 106: (4, 2), 107: (4, 3), 108: (4, 4), 109: (4, 5), 110: (5, -5), 111: (5, -4), 112: (5, -3), 113: (5, -2), 114: (5, -1), 115: (5, 0), 116: (5, 1), 117: (5, 2), 118: (5, 3), 119: (5, 4), 120: (5, 5)}\n", "60\n" ] } ], "source": [ "print(pattern.G)\n", "print(pattern.NPW//2)" ] } ], "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.10.12" }, "orig_nbformat": 4, "vscode": { "interpreter": { "hash": "e7370f93d1d0cde622a1f8e1c04877d8463912d04d973331ad4851f04de6915a" } } }, "nbformat": 4, "nbformat_minor": 2 }