{
"cells": [
{
"cell_type": "markdown",
"id": "798fc116",
"metadata": {},
"source": [
"# Waveguide size converter"
]
},
{
"cell_type": "markdown",
"id": "6914938e",
"metadata": {},
"source": [
"Note: the cost of running the entire notebook is larger than 1 FlexUnit.\n",
"\n",
"It is common to have waveguide components of different widths and potentially thicknesses on a photonic integrated circuit (PIC). Therefore, having a low-loss waveguide size converter becomes a necessity. The most common and simple size converter is adiabatic waveguide tapers. However, to achieve low loss and meet the adiabatic condition, the taper inevitable needs to be very long, which is not ideal in many modern high-density PIC designs. To aleviate this shortcoming of the conventional adiabatic taper, novel designs of compact size converter have emerged. \n",
"\n",
"In this notebook, we aim to simulate different types of size converters and compare their performance. We first simulate linear adiabatic tapers of different lengths. Subsequently, we will demonstrate two compact designs: one based on Luneburg lens and the other based on semi-lens emerged from segment optimization. These novel designs achieve ~-0.5 dB loss while being only about 6$\\lambda_0$ in footprint. Linear adiabatic taper can only achieve similar performance while being 30$\\lambda_0$ long."
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "36de9cc7",
"metadata": {
"execution": {
"iopub.execute_input": "2023-02-03T04:34:03.700986Z",
"iopub.status.busy": "2023-02-03T04:34:03.700648Z",
"iopub.status.idle": "2023-02-03T04:34:05.846077Z",
"shell.execute_reply": "2023-02-03T04:34:05.845548Z"
}
},
"outputs": [
{
"data": {
"text/html": [
"
[22:34:04] WARNING This version of Tidy3D was pip installed from the 'tidy3d-beta' repository on __init__.py:103\n",
" PyPI. Future releases will be uploaded to the 'tidy3d' repository. From now on, \n",
" please use 'pip install tidy3d' instead. \n",
"
\n"
],
"text/plain": [
"\u001b[2;36m[22:34:04]\u001b[0m\u001b[2;36m \u001b[0m\u001b[31mWARNING \u001b[0m This version of Tidy3D was pip installed from the \u001b[32m'tidy3d-beta'\u001b[0m repository on \u001b]8;id=462898;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/__init__.py\u001b\\\u001b[2m__init__.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=848006;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/__init__.py#103\u001b\\\u001b[2m103\u001b[0m\u001b]8;;\u001b\\\n",
"\u001b[2;36m \u001b[0m PyPI. Future releases will be uploaded to the \u001b[32m'tidy3d'\u001b[0m repository. From now on, \u001b[2m \u001b[0m\n",
"\u001b[2;36m \u001b[0m please use \u001b[32m'pip install tidy3d'\u001b[0m instead. \u001b[2m \u001b[0m\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"
INFO Using client version: 1.9.0rc1 __init__.py:121\n",
"
\n"
],
"text/plain": [
"\u001b[2;36m \u001b[0m\u001b[2;36m \u001b[0m\u001b[34mINFO \u001b[0m Using client version: \u001b[1;36m1.9\u001b[0m.0rc1 \u001b]8;id=447827;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/__init__.py\u001b\\\u001b[2m__init__.py\u001b[0m\u001b]8;;\u001b\\\u001b[2m:\u001b[0m\u001b]8;id=592847;file:///Users/twhughes/Documents/Flexcompute/tidy3d-docs/tidy3d/tidy3d/__init__.py#121\u001b\\\u001b[2m121\u001b[0m\u001b]8;;\u001b\\\n"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"import tidy3d as td\n",
"import tidy3d.web as web\n",
"from tidy3d.plugins import ModeSolver"
]
},
{
"cell_type": "markdown",
"id": "5d524f20",
"metadata": {},
"source": [
"To suppress unnecessary warnings, we set the logging level to 'error'."
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "7c3bcbfb",
"metadata": {
"execution": {
"iopub.execute_input": "2023-02-03T04:34:05.848636Z",
"iopub.status.busy": "2023-02-03T04:34:05.848291Z",
"iopub.status.idle": "2023-02-03T04:34:05.850793Z",
"shell.execute_reply": "2023-02-03T04:34:05.850326Z"
}
},
"outputs": [],
"source": [
"td.config.logging_level = \"error\""
]
},
{
"cell_type": "markdown",
"id": "8e88f8a9",
"metadata": {},
"source": [
"Define the simulation wavelength (frequency) range."
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "d8828055",
"metadata": {
"execution": {
"iopub.execute_input": "2023-02-03T04:34:05.853008Z",
"iopub.status.busy": "2023-02-03T04:34:05.852832Z",
"iopub.status.idle": "2023-02-03T04:34:05.855488Z",
"shell.execute_reply": "2023-02-03T04:34:05.855131Z"
}
},
"outputs": [],
"source": [
"lda0 = 1.55 # central wavelength\n",
"freq0 = td.C_0 / lda0 # central frequency\n",
"ldas = np.linspace(1.5, 1.6, 101) # wavelength range\n",
"freqs = td.C_0 / ldas # frequency range\n",
"fwidth = 0.5 * (np.max(freqs) - np.min(freqs)) # width of the frequency distribution"
]
},
{
"cell_type": "markdown",
"id": "52105151",
"metadata": {},
"source": [
"All devices simulated in this notebook are based on silicon waveguide on a thick oxide layer. We define both materials as nondispersive since the simulation wavelength range is relatively small."
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "c3086ea4",
"metadata": {
"execution": {
"iopub.execute_input": "2023-02-03T04:34:05.857583Z",
"iopub.status.busy": "2023-02-03T04:34:05.857428Z",
"iopub.status.idle": "2023-02-03T04:34:05.859894Z",
"shell.execute_reply": "2023-02-03T04:34:05.859551Z"
}
},
"outputs": [],
"source": [
"n_si = 3.48 # silicon refractive index\n",
"si = td.Medium(permittivity=n_si**2)\n",
"\n",
"n_sio2 = 1.44 # silicon oxide refractive index\n",
"sio2 = td.Medium(permittivity=n_sio2**2)"
]
},
{
"cell_type": "markdown",
"id": "28da9857",
"metadata": {},
"source": [
"## Linear Taper "
]
},
{
"cell_type": "markdown",
"id": "67db0883",
"metadata": {},
"source": [
"The most straightforward way to connect two waveguides of different widths is via an adiabatic taper. The taper shape can be linear, hyperbolic, Gaussian, and so on. Here, we demonstrate a linear taper and investigate how the loss scales with taper length. To be specific, we model a taper connecting the input waveguide of 10 $\\mu m$ wide to an output waveguide of 500 nm wide. Both waveguides have the same thickness of 110 nm. TE0 mode is launched at the input waveguide.\n",
"\n",
"Since we would like to perform a parameter sweep over the taper length, we will define a function called `linear_taper_sim` to construct the simulation. This function will be called repeatedly to make a simulation batch. The structure of the taper including the input and output waveguides can be conveniently made using as a [PolySlab](https://docs.flexcompute.com/projects/tidy3d/en/v1.9.0rc1/_autosummary/tidy3d.PolySlab.html?highlight=polyslab).\n",
"\n",
""
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "e7e2e3c7",
"metadata": {
"execution": {
"iopub.execute_input": "2023-02-03T04:34:05.862087Z",
"iopub.status.busy": "2023-02-03T04:34:05.861896Z",
"iopub.status.idle": "2023-02-03T04:34:05.869540Z",
"shell.execute_reply": "2023-02-03T04:34:05.869187Z"
}
},
"outputs": [],
"source": [
"w_in = 10 # input waveguied width\n",
"w_out = 0.5 # output waveguide width\n",
"t_wg = 0.11 # waveguide thickness\n",
"inf_eff = 1e3 # effective infinity of the model\n",
"\n",
"# define the substrate structure\n",
"sub = td.Structure(\n",
" geometry=td.Box.from_bounds(rmin=(-inf_eff, -inf_eff, -inf_eff), rmax=(inf_eff, inf_eff, 0)),\n",
" medium=sio2,\n",
")\n",
"\n",
"# define a function to construct the simulation given the taper length\n",
"def linear_taper_sim(L_t):\n",
"\n",
" # vertices of the taper\n",
" vertices = [\n",
" [-inf_eff, w_in / 2],\n",
" [0, w_in / 2],\n",
" [L_t, w_out / 2],\n",
" [inf_eff, w_out / 2],\n",
" [inf_eff, -w_out / 2],\n",
" [L_t, -w_out / 2],\n",
" [0, -w_in / 2],\n",
" [-inf_eff, -w_in / 2],\n",
" ]\n",
"\n",
" # construct the taper structure using a PolySlab\n",
" linear_taper = td.Structure(\n",
" geometry=td.PolySlab(vertices=vertices, axis=2, slab_bounds=(0, t_wg)), medium=si\n",
" )\n",
"\n",
" # add a mode source that launches the TE0 mode at the input waveguide\n",
" mode_source = td.ModeSource(\n",
" center=(-lda0 / 2, 0, t_wg / 2),\n",
" size=(0, 1.2 * w_in, 6 * t_wg),\n",
" source_time=td.GaussianPulse(freq0=freq0, fwidth=fwidth),\n",
" direction=\"+\",\n",
" mode_spec=td.ModeSpec(num_modes=1, target_neff=n_si),\n",
" mode_index=0,\n",
" )\n",
"\n",
" # add a field monitor to visualize the field distribution at z=t_wg/2\n",
" field_monitor = td.FieldMonitor(\n",
" center=(0, 0, t_wg / 2), size=(td.inf, td.inf, 0), freqs=[freq0], name=\"field\"\n",
" )\n",
"\n",
" # add a flux monitor to measure transmission to the output waveguide\n",
" flux_monitor = td.FluxMonitor(\n",
" center=(lda0 / 2 + L_t, 0, t_wg / 2),\n",
" size=(0, 2 * w_out, 6 * t_wg),\n",
" freqs=freqs,\n",
" name=\"flux\",\n",
" )\n",
"\n",
" # define simulation domain size\n",
" Lx = L_t + 2 * lda0\n",
" Ly = w_in + 2 * lda0\n",
" Lz = t_wg + 1.5 * lda0\n",
" sim_size = (Lx, Ly, Lz)\n",
"\n",
" run_time = 3e-12 # run time of the simulation\n",
"\n",
" # define simulation\n",
" sim = td.Simulation(\n",
" center=(L_t / 2, 0, t_wg),\n",
" size=sim_size,\n",
" grid_spec=td.GridSpec.auto(min_steps_per_wvl=20, wavelength=lda0),\n",
" structures=[linear_taper, sub],\n",
" sources=[mode_source],\n",
" monitors=[field_monitor, flux_monitor],\n",
" run_time=run_time,\n",
" boundary_spec=td.BoundarySpec.all_sides(boundary=td.PML()), # pml is used in all boundaries\n",
" symmetry=(0, -1, 0),\n",
" ) # a pec symmetry plane at y=0 can be used to reduce the grid points of the simulation\n",
" return sim"
]
},
{
"cell_type": "markdown",
"id": "1e504189",
"metadata": {},
"source": [
"With the `linear_taper_sim` function defined, we can use it to construct a simulation batch. We aim to simulate taper lengths of 10 $\\mu m$, 20 $\\mu m$, 50 $\\mu m$, and 100 $\\mu m$.\n",
"\n",
"To visually verify the simulation setup, we can take a simulation from the batch and use the `plot` method."
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "d479a55f",
"metadata": {
"execution": {
"iopub.execute_input": "2023-02-03T04:34:05.871514Z",
"iopub.status.busy": "2023-02-03T04:34:05.871359Z",
"iopub.status.idle": "2023-02-03T04:34:06.067493Z",
"shell.execute_reply": "2023-02-03T04:34:06.066935Z"
}
},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAnYAAAGqCAYAAACGQAkwAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAABfqElEQVR4nO3deZhcVZ038O855y61dFWnk+4GQmJIQEHZBQIKDCJRcBBFxRUYQN6gEFSMDmPGGRD0JYMgMC7A6PsKvqgM4owwIyOC7CAyCI6PbGELELJv3dVd6733nPePW0tXlk5Vb9VV9/t5nn6gq+vePl2nbvrb597f7wpjjAERERERtT3Z6gEQERER0cRgsCMiIiLqEAx2RERERB2CwY6IiIioQzDYEREREXUIBjsiIiKiDsFgR0RERNQhGOyIiIiIOgSDHREREVGHYLAjItrGgw8+CCEEHnzwwVYPhYioKQx2RBRZ119/PW6++eZWD2NMfv7zn+O6665r9TAAAFprfPvb38b8+fMRi8Vw0EEH4dZbb214+4GBAZx33nno6+tDMpnE8ccfj6effnqHzx0aGsLFF1+M+fPnw3Vd7LnnnjjttNOQy+Um6schamuC94oloqg64IAD0Nvbu93KnNYapVIJjuNAyun59+8HP/hBPPPMM3jttddaPRQsW7YM//RP/4TFixfjiCOOwJ133om77roLt956Kz71qU+Nuq3WGsceeyz+/Oc/42//9m/R29uL66+/HqtWrcJTTz2Ft771rdXnDg4O4rjjjsObb76J8847D/vssw82btyIRx55BLfccgt6enom+0clmvYY7IgiLpvNIplMtnoYLbGzYNcOpkuwW716NebPn4/zzjsP3//+9wEAxhgcd9xxWLlyJV577TUopXa6/S9+8Qt88pOfxO23347TTjsNALBx40a87W1vwwc+8AH8/Oc/rz73ggsuwK233oqnn34a8+fPn9wfjKhNTc8/RYloTFavXo1zzz0Xs2fPhuu6mD9/Ps4//3yUSiUAwM033wwhBB566CFccMEF6O/vx5w5c6rbX3/99dh///3hui5mz56NJUuWYGBgoO57vPTSS/jYxz6G3XffHbFYDHPmzMGnPvUpDA4OVp9z77334phjjsGMGTPQ1dWFfffdF3//93+/y/E3sl2xWMSll16KffbZB67rYu7cubj44otRLBa3299Pf/pTLFy4EIlEAj09Pfirv/or3HPPPQCAvfbaC88++yweeughCCEghMB73vMeADu/xu7222/HYYcdhng8jt7eXpxxxhlYvXp13XPOPvtsdHV1YfXq1Tj11FPR1dWFvr4+fPWrX0UQBLt8De68806cfPLJ1Tnce++98c1vfrNu2/e85z2466678Prrr1fHvtdee+10n2effXb1edt+fOMb39jlmHY1Xs/zcMEFF1QfE0Lg/PPPx5tvvonHH3981O1/+ctfYrfddsNHP/rR6mN9fX34xCc+gTvvvLM6rwMDA7jppptw3nnnYf78+SiVSjucc6Kos1o9ACKaGGvWrMHChQur1yvtt99+WL16NX75y18il8vBcZzqcy+44AL09fXhkksuQTabBQB84xvfwGWXXYZFixbh/PPPx4oVK3DDDTfgySefxGOPPQbbtlEqlXDiiSeiWCziC1/4AnbffXesXr0av/71rzEwMIDu7m48++yz+OAHP4iDDjoIl19+OVzXxcsvv4zHHnts1PE3sp3WGh/60Ifw6KOP4rzzzsPb3/52/OUvf8G1116LF198EXfccUf1uZdddhm+8Y1v4N3vfjcuv/xyOI6DJ554Avfffz/e//7347rrrsMXvvAFdHV14etf/zoAYLfddtvp+G6++Wacc845OOKII7B8+XKsX78e//zP/4zHHnsMf/rTnzBjxozqc4MgwIknnogjjzwSV199NX73u9/hO9/5Dvbee2+cf/75o74ON998M7q6urB06VJ0dXXh/vvvxyWXXIJMJoOrrroKAPD1r38dg4ODePPNN3HttdcCALq6una6z8997nNYtGhR3WN33303fvazn6G/v7/62KZNm0YdW0UqlYLrugCAP/3pT0gmk3j7299e95yFCxdWv37MMcfsdF9/+tOf8M53vnO7U94LFy7ED3/4Q7z44os48MAD8eijj6JQKGCfffbBaaedhjvuuANaa7zrXe/CD37wAxxyyCENjZ2o4xki6gh/8zd/Y6SU5sknn9zua1prY4wxN910kwFgjjnmGOP7fvXrGzZsMI7jmPe///0mCILq49///vcNAPPjH//YGGPMn/70JwPA3H777Tsdx7XXXmsAmI0bNzY1/ka2u+WWW4yU0jzyyCN1j994440GgHnssceMMca89NJLRkppPvKRj9T9PMbUXgtjjNl///3Ncccdt933eeCBBwwA88ADDxhjjCmVSqa/v98ccMABJp/PV5/361//2gAwl1xySfWxs846ywAwl19+ed0+Dz30UHPYYYeN/iIYY3K53HaPfe5znzOJRMIUCoXqYyeffLKZN2/eLve3Iy+99JLp7u4273vf++reBwAa+rjpppvqxrFgwYLtvkc2mzUAzNe+9rVRx5JMJs1nP/vZ7R6/6667DABz9913G2OMueaaawwAM2vWLLNw4ULzs5/9zFx//fVmt912Mz09PWbNmjVjei2IOg1PxRJ1AK017rjjDpxyyik4/PDDt/u6EKLu88WLF9dd9/S73/0OpVIJF110Ud3KyeLFi5FOp3HXXXcBALq7uwEAv/3tb3dahVhZubrzzjuhtW74Z2hku9tvvx1vf/vbsd9++2HTpk3Vj/e+970AgAceeAAAqqs5l1xyyXYrQdu+Fo344x//iA0bNuCCCy5ALBarPn7yySdjv/32q74+I33+85+v+/zYY4/Fq6++usvvFY/Hq/8/NDSETZs24dhjj0Uul8MLL7zQ9Ni3lc1m8ZGPfAQ9PT249dZb694H9957b0MfJ554YnWbfD5fXb0bqfI65fP5UcfT6PbDw8MAwvm777778JnPfAbnn38+7rjjDmzduhU/+MEPmnwliDoTT8USdYCNGzcik8nggAMOaOj52154/vrrrwMA9t1337rHHcfBggULql+fP38+li5dimuuuQY/+9nPcOyxx+JDH/oQzjjjjGro++QnP4n/83/+D/7X//pf+NrXvoYTTjgBH/3oR3HaaaeNWmHayHYvvfQSnn/+efT19e1wHxs2bAAAvPLKK5BS4h3veEdDr8eu7Oz1AYD99tsPjz76aN1jsVhsuzH29PRg69atu/xezz77LP7hH/4B999/PzKZTN3XRl7HOFaLFy/GK6+8gt///veYNWtW3de2PV3biHg8vsNr3QqFQvXrE7F95b+nnHJK3Wnno446CvPnz8fvf//7psdO1IkY7IgiaFe/bEfzne98B2effTbuvPNO3HPPPfjiF7+I5cuX4w9/+APmzJmDeDyOhx9+GA888ADuuusu3H333bjtttvw3ve+F/fcc89OKyQb2U5rjQMPPBDXXHPNDvcxd+7cMf9cE2m0KtDRDAwM4LjjjkM6ncbll1+OvffeG7FYDE8//TT+7u/+rqkV0B3553/+Z9x666346U9/usNr0tatW9fQfrq7u6vvoT322AMPPPAAjDF1q6Fr164FAMyePXvUfe2xxx7V54607faV/+7oOsj+/v6GQjNRFPBULFEH6OvrQzqdxjPPPDOm7efNmwcAWLFiRd3jpVIJK1eurH694sADD8Q//MM/4OGHH8YjjzyC1atX48Ybb6x+XUqJE044Addccw2ee+45/O///b9x//33V0+V7syuttt7772xZcsWnHDCCVi0aNF2H5UVtb333htaazz33HOjfr9GT8vu7PWpPLbt6zNWDz74IDZv3oybb74ZX/rSl/DBD34QixYt2mF/tmZPKT/yyCP46le/iosuuginn376Dp+zxx57NPRx2223Vbc55JBDkMvl8Pzzz9ft64knnqh+fTSHHHIInn766e1C6xNPPIFEIoG3ve1tAIDDDjsMALarQgbCwqGdreISRQ2DHVEHkFLi1FNPxX/+53/ij3/843ZfN7toV7lo0SI4joPvfve7dc/9v//3/2JwcBAnn3wyACCTycD3/bptDzzwQEgpq6fTtmzZst3+K7/cR2tP0ch2n/jEJ7B69Wr86Ec/2u65+Xy+WuF76qmnQkqJyy+/fLvAMPLnSyaT27Vz2ZHDDz8c/f39uPHGG+t+ht/85jd4/vnnq6/PeFVW+kaOsVQq4frrr9/uuclksuFTs2vXrsUnPvEJHHPMMdXK2h0ZyzV2H/7wh2Hbdt0YjTG48cYbseeee+Ld73533TheeOEFeJ5Xfey0007D+vXr8e///u/VxzZt2oTbb78dp5xySvX6u3333RcHH3ww7rzzzrrq3XvuuQerVq3C+973voZeC6JOx1OxRB3iiiuuwD333IPjjjuu2gpk7dq1uP322/Hoo4/WtePYVl9fH5YtW4bLLrsMJ510Ej70oQ9hxYoVuP7663HEEUfgjDPOAADcf//9uPDCC/Hxj38cb3vb2+D7Pm655RYopfCxj30MAHD55Zfj4Ycfxsknn4x58+Zhw4YNuP766zFnzpxR2140st2ZZ56JX/ziF/j85z+PBx54AEcffTSCIMALL7yAX/ziF/jtb3+Lww8/HPvssw++/vWv45vf/CaOPfZYfPSjH4XrunjyyScxe/ZsLF++HEC4CnTDDTfgW9/6FvbZZx/09/dXCzFGsm0bV155Jc455xwcd9xx+PSnP11t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89faGSMBU/9SSuVAMtgRERFRg4SywzwiJIQY+QWx0222FclzhTHb3/WTiIiIiNpMWwW7u+66C0ceeSTi8Th6enpw6qmntnpIRERERNNG25wr/Ld/+zcsXrwYV1xxBd773vfC930888wzrR4WERER0bTRFsHO93186UtfwlVXXYVzzz23+vg73vGOUbcrFosoFmvFEJlMZpRnExEREbW3tjgV+/TTT2P16tWQUuLQQw/FHnvsgQ984AO7XLFbvnw5uru7qx9z586dlPEpYaHX7q37YEUsERERTbW2SB+vvvoqAOAb3/gGrrnmGuy11174zne+g/e85z148cUXMXPmzB1ut2zZMixdurT6eSaTwdy5c2G0j2BESxitFXRgoZjbiELQfB87IiIiovEqFhPQwZ7Qwkcwoo+dDhov+mxpsPva176GK6+8ctTnPP/889A67OXy9a9/HR/72McAADfddBPmzJmD22+/HZ/73Od2uK3runBdd7vHK6XE1c8Rfq4sF8rircWIiIho6qnAhYGCQFDNKdoAWS/R8D5aGuy+8pWv4Oyzzx71OQsWLMDatWsB1F9T57ouFixYgDfeeKP5bywUpLRrnxoJYRQsJw3bjTW/PyIiIqJxsowD39gIADgygDbAUCGGwLRJg+K+vj709fXt8nmHHXYYXNfFihUrcMwxxwAAPM/Da6+9hnnz5k32MImIiIimhIBBpuBAiSKyJQe+FuhyG78rVltcY5dOp/H5z38el156KebOnYt58+bhqquuAgB8/OMfb/HoiIiIiCaGrTQCIzBQCM8g9sQLyOX1LraqaYtgBwBXXXUVLMvCmWeeiXw+jyOPPBL3338/enp6Wj00IiIiommhbYKdbdu4+uqrcfXVV7d6KERERESTwgskAi3QEy8gW3IwkHchdeOnYtuijx0RERFRFBgIpGMlOJZGd7wASxoMF7fv8LEzbbNiN6FMAK292qdawmjAL2XgiUILB0ZERERR5ZdisIQHhVK11VvK9ZDNNR7XIhnsjDEwpnYhooGAMRqBX0Sg8i0cGREREUVV4AsIBDCo5RQBIGk3fvOESAY7IS0oVVvW1JCQSsFN9CEWa7xXDBEREdFEKSoHUtmQUkKp2gKUVI3vI5LBztcSXiBHfC4QaIGhoj3KVkRERESTZ6hoI9ACvhAYWQbh68ZLIiIZ7AbyCRRRW7Ez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b76JuXPntnoYRERERE1btWoV5syZM+pzIhXstNZYs2YNUqkUxGRddDBBMpkM5s6di1WrViGdTrd6ODRBOK+di3PbmTivnaud5tYYg6GhIcyePRtSjl6QEqlTsVLKXSbd6SadTk/7Nxw1j/PauTi3nYnz2rnaZW67u7sbel5k250QERERdRoGOyIiIqIOwWA3Tbmui0svvRSu67Z6KDSBOK+di3PbmTivnatT5zZSxRNEREREnYwrdkREREQdgsGOiIiIqEMw2BERERF1CAY7IiIiog7BYDcN/eAHP8Bee+2FWCyGI488Ev/93//d6iHROH3jG9+AEKLuY7/99mv1sGgMHn74YZxyyimYPXs2hBC444476r5ujMEll1yCPfbYA/F4HIsWLcJLL73UmsFSw3Y1r2efffZ2x/BJJ53UmsFSw5YvX44jjjgCqVQK/f39OPXUU7FixYq65xQKBSxZsgSzZs1CV1cXPvaxj2H9+vUtGvH4MdhNM7fddhuWLl2KSy+9FE8//TQOPvhgnHjiidiwYUOrh0bjtP/++2Pt2rXVj0cffbTVQ6IxyGazOPjgg/GDH/xgh1//9re/je9+97u48cYb8cQTTyCZTOLEE09EobDz24NT6+1qXgHgpJNOqjuGb7311ikcIY3FQw89hCVLluAPf/gD7r33Xnieh/e///3IZrPV53z5y1/Gf/7nf+L222/HQw89hDVr1uCjH/1oC0c9ToamlYULF5olS5ZUPw+CwMyePdssX768haOi8br00kvNwQcf3Oph0AQDYH71q19VP9dam913391cddVV1ccGBgaM67rm1ltvbcEIaSy2nVdjjDnrrLPMhz/84ZaMhybOhg0bDADz0EMPGWPC49O2bXP77bdXn/P8888bAObxxx9v1TDHhSt200ipVMJTTz2FRYsWVR+TUmLRokV4/PHHWzgymggvvfQSZs+ejQULFuD000/HG2+80eoh0QRbuXIl1q1bV3cMd3d348gjj+Qx3AEefPBB9Pf3Y99998X555+PzZs3t3pI1KTBwUEAwMyZMwEATz31FDzPqztm99tvP7zlLW9p22OWwW4a2bRpE4IgwG677Vb3+G677YZ169a1aFQ0EY488kjcfPPNuPvuu3HDDTdg5cqVOPbYYzE0NNTqodEEqhynPIY7z0knnYT/9//+H+677z5ceeWVeOihh/CBD3wAQRC0emjUIK01LrroIhx99NE44IADAITHrOM4mDFjRt1z2/mYtVo9AKIo+MAHPlD9/4MOOghHHnkk5s2bh1/84hc499xzWzgyImrEpz71qer/H3jggTjooIOw995748EHH8QJJ5zQwpFRo5YsWYJnnnmm469v5ordNNLb2wul1HbVOOvXr8fuu+/eolHRZJgxYwbe9ra34eWXX271UGgCVY5THsOdb8GCBejt7eUx3CYuvPBC/PrXv8YDDzyAOXPmVB/ffffdUSqVMDAwUPf8dj5mGeymEcdxcNhhh+G+++6rPqa1xn333Yd3vetdLRwZTbTh4WG88sor2GOPPVo9FJpA8+fPx+677153DGcyGTzxxBM8hjvMm2++ic2bN/MYnuaMMbjwwgvxq1/9Cvfffz/mz59f9/XDDjsMtm3XHbMrVqzAG2+80bbHLE/FTjNLly7FWWedhcMPPxwLFy7Eddddh2w2i3POOafVQ6Nx+OpXv4pTTjkF8+bNw5o1a3DppZdCKYVPf/rTrR4aNWl4eLhulWblypX4n//5H8ycORNvectbcNFFF+Fb3/oW3vrWt2L+/Pn4x3/8R8yePRunnnpq6wZNuzTavM6cOROXXXYZPvaxj2H33XfHK6+8gosvvhj77LMPTjzxxBaOmnZlyZIl+PnPf44777wTqVSqet1cd3c34vE4uru7ce6552Lp0qWYOXMm0uk0vvCFL+Bd73oXjjrqqBaPfoxaXZZL2/ve975n3vKWtxjHcczChQvNH/7wh1YPicbpk5/8pNljjz2M4zhmzz33NJ/85CfNyy+/3Oph0Rg88MADBsB2H2eddZYxJmx58o//+I9mt912M67rmhNOOMGsWLGitYOmXRptXnO5nHn/+99v+vr6jG3bZt68eWbx4sVm3bp1rR427cKO5hSAuemmm6rPyefz5oILLjA9PT0mkUiYj3zkI2bt2rWtG/Q4CWOMmfo4SUREREQTjdfYEREREXUIBjsiIiKiDsFgR0RERNQhGOyIiIiIOgSDHREREVGHYLAjIiIi6hAMdkREREQdgsGOiIiIqEMw2BERERF1CAY7IiIiog7BYEdERETUIRjsiIjGaOPGjdh9991xxRVXVB/7/e9/D8dxcN9997VwZEQUVcIYY1o9CCKidvVf//VfOPXUU/H73/8e++67Lw455BB8+MMfxjXXXNPqoRFRBDHYERGN05IlS/C73/0Ohx9+OP7yl7/gySefhOu6rR4WEUUQgx0R0Tjl83kccMABWLVqFZ566ikceOCBrR4SEUUUr7EjIhqnV155BWvWrIHWGq+99lqrh0NEEcYVOyKicSiVSli4cCEOOeQQ7Lvvvrjuuuvwl7/8Bf39/a0eGhFFEIMdEdE4/O3f/i1++ctf4s9//jO6urpw3HHHobu7G7/+9a9bPTQiiiCeiiUiGqMHH3wQ1113HW655Rak02lIKXHLLbfgkUcewQ033NDq4RFRBHHFjoiIiKhDcMWOiIiIqEMw2BERERF1CAY7IiIiog7BYEdERETUIRjsiIiIiDoEgx0RERFRh2CwIyIiIuoQDHZEREREHYLBjoiIiKhDMNgRERERdQgGOyIiIqIO8f8BGrQo/4L9p/kAAAAASUVORK5CYII=\n",
"text/plain": [
"