{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "e14808f9",
   "metadata": {},
   "source": [
    "# Advanced monitor data (xarray) manipulation and visualization"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ca1802c8",
   "metadata": {},
   "source": [
    "In the previous [tutorial](https://www.flexcompute.com/tidy3d/examples/notebooks/VizData/), we have demonstrated the basics of data manipulation and visualization. As discussed, in `Tidy3D`, we represent multi-dimensional data (such as arrays) using [xarray.DataArray](https://docs.xarray.dev/en/stable/generated/xarray.DataArray.html#xarray.DataArray) objects. It's important to note that the [xarray](https://docs.xarray.dev/en/stable/generated/xarray.DataArray.html#xarray.DataArray) package provides a lot of functionalities that can greatly simplify our data postprocessing and visualization when used appropriately. \n",
    "\n",
    "In this tutorial, we will first briefly review some basic [xarray](https://docs.xarray.dev/en/stable/generated/xarray.DataArray.html#xarray.DataArray) features and then delve into some advanced features such as performing interpolation and integration. This tutorial is designed for users who are already familiar with `Tidy3D`'s basic workflow and would like to learn more about data manipulation and visualization. If you are very new to `Tidy3D`, we suggest checking out the [quick start](https://www.flexcompute.com/tidy3d/examples/notebooks/StartHere/), the [first walkthrough](https://www.flexcompute.com/tidy3d/examples/notebooks/Simulation/), and the [working principles](https://www.flexcompute.com/tidy3d/examples/notebooks/Primer/) tutorials first.\n",
    "\n",
    "It's important to note that the `xarray` library contains many more functionalities that are not demonstrated here. We encourage users to reference the [documentation](https://docs.xarray.dev/en/stable/api/index.html) to see what is possible. We also recommend users to watch the [introduction video](https://www.youtube.com/watch?v=mecN-Ph_-78) on `xarray` if you would like to learn more about it. After overcoming the initial learning curve, our users all find data manipulation with `xarray` to be extremely flexible and efficient. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "7149f697",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2025-05-15T10:34:41.909377Z",
     "iopub.status.busy": "2025-05-15T10:34:41.909289Z",
     "iopub.status.idle": "2025-05-15T10:34:43.359071Z",
     "shell.execute_reply": "2025-05-15T10:34:43.358503Z"
    }
   },
   "outputs": [],
   "source": [
    "import os\n",
    "\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import tidy3d as td\n",
    "from tidy3d import web"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0d12583d",
   "metadata": {},
   "source": [
    "## Load Simulation Data "
   ]
  },
  {
   "cell_type": "markdown",
   "id": "680ca396",
   "metadata": {},
   "source": [
    "Since this tutorial is focused on data analysis, we will skip the simulation setup part and only load the simulation result from a previously obtained hdf5 file. We load the hdf5 file to a variable `sim_data` using the `from_hdf5` method of [SimulationData](https://docs.flexcompute.com/projects/tidy3d/en/latest/api/_autosummary/tidy3d.SimulationData.html). This is completely analogous to the situation where you just finished running a simulation."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "b0765258",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2025-05-15T10:34:43.361036Z",
     "iopub.status.busy": "2025-05-15T10:34:43.360754Z",
     "iopub.status.idle": "2025-05-15T10:34:43.456289Z",
     "shell.execute_reply": "2025-05-15T10:34:43.455989Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">12:34:43 CEST </span><span style=\"color: #800000; text-decoration-color: #800000\">WARNING: updating Simulation from </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">2.4</span><span style=\"color: #800000; text-decoration-color: #800000\"> to </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">2.8</span><span style=\"color: #800000; text-decoration-color: #800000\">                      </span>\n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m12:34:43 CEST\u001b[0m\u001b[2;36m \u001b[0m\u001b[31mWARNING: updating Simulation from \u001b[0m\u001b[1;36m2.4\u001b[0m\u001b[31m to \u001b[0m\u001b[1;36m2.8\u001b[0m\u001b[31m                      \u001b[0m\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sim_data = td.SimulationData.from_hdf5(\"misc/mmi_simulation_data.h5\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "02d2e79e",
   "metadata": {},
   "source": [
    "The loaded data contains two parts: `simulation` and `monitor_data`. `simulation` is simply the original [Simulation](https://docs.flexcompute.com/projects/tidy3d/en/latest/api/_autosummary/tidy3d.Simulation.html). We can use it to visualize the simulation in 3D for example.\n",
    "\n",
    "As we can see, this simulation contains a 1 by 2 MMI power splitter."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "71c5e809",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2025-05-15T10:34:43.458090Z",
     "iopub.status.busy": "2025-05-15T10:34:43.458000Z",
     "iopub.status.idle": "2025-05-15T10:34:43.462871Z",
     "shell.execute_reply": "2025-05-15T10:34:43.462545Z"
    },
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "\n",
       "    <div class=\"simulation-viewer\" data-width=\"800\" data-height=\"800\" data-simulation=\"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\" ></div>\n",
       "    <script>\n",
       "        \n",
       "        /**\n",
       "        * Simulation Viewer Injector\n",
       "        *\n",
       "        * Monitors the document for elements being added in the form:\n",
       "        *\n",
       "        *    <div class=\"simulation-viewer\" data-width=\"800\" data-height=\"800\" data-simulation=\"{...}\" />\n",
       "        *\n",
       "        * This script will then inject an iframe to the viewer application, and pass it the simulation data\n",
       "        * via the postMessage API on request. The script may be safely included multiple times, with only the\n",
       "        * configuration of the first started script (e.g. viewer URL) applying.\n",
       "        *\n",
       "        */\n",
       "        (function() {\n",
       "            const TARGET_CLASS = \"simulation-viewer\";\n",
       "            const ACTIVE_CLASS = \"simulation-viewer-active\";\n",
       "            const VIEWER_URL = \"https://tidy3d.simulation.cloud/simulation-viewer\";\n",
       "\n",
       "            class SimulationViewerInjector {\n",
       "                constructor() {\n",
       "                    for (var node of document.getElementsByClassName(TARGET_CLASS)) {\n",
       "                        this.injectViewer(node);\n",
       "                    }\n",
       "\n",
       "                    // Monitor for newly added nodes to the DOM\n",
       "                    this.observer = new MutationObserver(this.onMutations.bind(this));\n",
       "                    this.observer.observe(document.body, {childList: true, subtree: true});\n",
       "                }\n",
       "\n",
       "                onMutations(mutations) {\n",
       "                    for (var mutation of mutations) {\n",
       "                        if (mutation.type === 'childList') {\n",
       "                            /**\n",
       "                            * Have found that adding the element does not reliably trigger the mutation observer.\n",
       "                            * It may be the case that setting content with innerHTML does not trigger.\n",
       "                            *\n",
       "                            * It seems to be sufficient to re-scan the document for un-activated viewers\n",
       "                            * whenever an event occurs, as Jupyter triggers multiple events on cell evaluation.\n",
       "                            */\n",
       "                            var viewers = document.getElementsByClassName(TARGET_CLASS);\n",
       "                            for (var node of viewers) {\n",
       "                                this.injectViewer(node);\n",
       "                            }\n",
       "                        }\n",
       "                    }\n",
       "                }\n",
       "\n",
       "                injectViewer(node) {\n",
       "                    // (re-)check that this is a valid simulation container and has not already been injected\n",
       "                    if (node.classList.contains(TARGET_CLASS) && !node.classList.contains(ACTIVE_CLASS)) {\n",
       "                        // Mark node as injected, to prevent re-runs\n",
       "                        node.classList.add(ACTIVE_CLASS);\n",
       "\n",
       "                        var uuid;\n",
       "                        if (window.crypto && window.crypto.randomUUID) {\n",
       "                            uuid = window.crypto.randomUUID();\n",
       "                        } else {\n",
       "                            uuid = \"\" + Math.random();\n",
       "                        }\n",
       "\n",
       "                        var frame = document.createElement(\"iframe\");\n",
       "                        frame.width = node.dataset.width || 800;\n",
       "                        frame.height = node.dataset.height || 800;\n",
       "                        frame.style.cssText = `width:${frame.width}px;height:${frame.height}px;max-width:none;border:0;display:block`\n",
       "                        frame.src = VIEWER_URL + \"?uuid=\" + uuid;\n",
       "\n",
       "                        var postMessageToViewer;\n",
       "                        postMessageToViewer = event => {\n",
       "                            if(event.data.type === 'viewer' && event.data.uuid===uuid){\n",
       "                                frame.contentWindow.postMessage({ type: 'jupyter', uuid, value: node.dataset.simulation, fileType: 'hdf5'}, '*');\n",
       "\n",
       "                                // Run once only\n",
       "                                window.removeEventListener('message', postMessageToViewer);\n",
       "                            }\n",
       "                        };\n",
       "                        window.addEventListener(\n",
       "                            'message',\n",
       "                            postMessageToViewer,\n",
       "                            false\n",
       "                        );\n",
       "\n",
       "                        node.appendChild(frame);\n",
       "                    }\n",
       "                }\n",
       "            }\n",
       "\n",
       "            if (!window.simulationViewerInjector) {\n",
       "                window.simulationViewerInjector = new SimulationViewerInjector();\n",
       "            }\n",
       "        })();\n",
       "    \n",
       "    </script>\n",
       "    "
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sim_data.simulation.plot_3d()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5a1bb03d",
   "metadata": {},
   "source": [
    "`monitor_data`, as the name suggests, contains data from all monitors defined in the simulation. `monitor_data` is a dictionary with the keys being the names of the monitors. Let's print out the keys to see what they are. \n",
    "\n",
    "Here we have three monitors named `Flux monitor`, `Mode monitor`, and `Field monitor`. In the following sections, we will examine them individually and use them to demonstrate various functionalities of `xarray`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "2aa84094",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2025-05-15T10:34:43.464206Z",
     "iopub.status.busy": "2025-05-15T10:34:43.464097Z",
     "iopub.status.idle": "2025-05-15T10:34:43.466212Z",
     "shell.execute_reply": "2025-05-15T10:34:43.465961Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "dict_keys(['Flux monitor', 'Mode monitor', 'Field monitor'])"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sim_data.monitor_data.keys()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "46a28aac",
   "metadata": {},
   "source": [
    "## FluxMonitor Data"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "abb9b468",
   "metadata": {},
   "source": [
    "We can access the data for each monitor by indexing into the [SimulationData](https://docs.flexcompute.com/projects/tidy3d/en/latest/api/_autosummary/tidy3d.SimulationData.html) with the monitor `.name`. The monitor dataset contains one or more `xarray.DataArray` objects storing the actual raw data. For the flux monitor data, we can access the raw flux data as a function of frequency with `.flux`. As most data are multidimensional, it's often very helpful to print out the data and directly inspect its structure. \n",
    "\n",
    "Here we can see that the flux is an array with only one coordinate `f`, which is frequency in Hz. The unit of flux is W."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "b380ec35",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2025-05-15T10:34:43.467398Z",
     "iopub.status.busy": "2025-05-15T10:34:43.467278Z",
     "iopub.status.idle": "2025-05-15T10:34:43.473214Z",
     "shell.execute_reply": "2025-05-15T10:34:43.472954Z"
    },
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div><svg style=\"position: absolute; width: 0; height: 0; overflow: hidden\">\n",
       "<defs>\n",
       "<symbol id=\"icon-database\" viewBox=\"0 0 32 32\">\n",
       "<path d=\"M16 0c-8.837 0-16 2.239-16 5v4c0 2.761 7.163 5 16 5s16-2.239 16-5v-4c0-2.761-7.163-5-16-5z\"></path>\n",
       "<path d=\"M16 17c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n",
       "<path d=\"M16 26c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n",
       "</symbol>\n",
       "<symbol id=\"icon-file-text2\" viewBox=\"0 0 32 32\">\n",
       "<path d=\"M28.681 7.159c-0.694-0.947-1.662-2.053-2.724-3.116s-2.169-2.030-3.116-2.724c-1.612-1.182-2.393-1.319-2.841-1.319h-15.5c-1.378 0-2.5 1.121-2.5 2.5v27c0 1.378 1.122 2.5 2.5 2.5h23c1.378 0 2.5-1.122 2.5-2.5v-19.5c0-0.448-0.137-1.23-1.319-2.841zM24.543 5.457c0.959 0.959 1.712 1.825 2.268 2.543h-4.811v-4.811c0.718 0.556 1.584 1.309 2.543 2.268zM28 29.5c0 0.271-0.229 0.5-0.5 0.5h-23c-0.271 0-0.5-0.229-0.5-0.5v-27c0-0.271 0.229-0.5 0.5-0.5 0 0 15.499-0 15.5 0v7c0 0.552 0.448 1 1 1h7v19.5z\"></path>\n",
       "<path d=\"M23 26h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
       "<path d=\"M23 22h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
       "<path d=\"M23 18h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
       "</symbol>\n",
       "</defs>\n",
       "</svg>\n",
       "<style>/* CSS stylesheet for displaying xarray objects in jupyterlab.\n",
       " *\n",
       " */\n",
       "\n",
       ":root {\n",
       "  --xr-font-color0: var(--jp-content-font-color0, rgba(0, 0, 0, 1));\n",
       "  --xr-font-color2: var(--jp-content-font-color2, rgba(0, 0, 0, 0.54));\n",
       "  --xr-font-color3: var(--jp-content-font-color3, rgba(0, 0, 0, 0.38));\n",
       "  --xr-border-color: var(--jp-border-color2, #e0e0e0);\n",
       "  --xr-disabled-color: var(--jp-layout-color3, #bdbdbd);\n",
       "  --xr-background-color: var(--jp-layout-color0, white);\n",
       "  --xr-background-color-row-even: var(--jp-layout-color1, white);\n",
       "  --xr-background-color-row-odd: var(--jp-layout-color2, #eeeeee);\n",
       "}\n",
       "\n",
       "html[theme=\"dark\"],\n",
       "html[data-theme=\"dark\"],\n",
       "body[data-theme=\"dark\"],\n",
       "body.vscode-dark {\n",
       "  --xr-font-color0: rgba(255, 255, 255, 1);\n",
       "  --xr-font-color2: rgba(255, 255, 255, 0.54);\n",
       "  --xr-font-color3: rgba(255, 255, 255, 0.38);\n",
       "  --xr-border-color: #1f1f1f;\n",
       "  --xr-disabled-color: #515151;\n",
       "  --xr-background-color: #111111;\n",
       "  --xr-background-color-row-even: #111111;\n",
       "  --xr-background-color-row-odd: #313131;\n",
       "}\n",
       "\n",
       ".xr-wrap {\n",
       "  display: block !important;\n",
       "  min-width: 300px;\n",
       "  max-width: 700px;\n",
       "}\n",
       "\n",
       ".xr-text-repr-fallback {\n",
       "  /* fallback to plain text repr when CSS is not injected (untrusted notebook) */\n",
       "  display: none;\n",
       "}\n",
       "\n",
       ".xr-header {\n",
       "  padding-top: 6px;\n",
       "  padding-bottom: 6px;\n",
       "  margin-bottom: 4px;\n",
       "  border-bottom: solid 1px var(--xr-border-color);\n",
       "}\n",
       "\n",
       ".xr-header > div,\n",
       ".xr-header > ul {\n",
       "  display: inline;\n",
       "  margin-top: 0;\n",
       "  margin-bottom: 0;\n",
       "}\n",
       "\n",
       ".xr-obj-type,\n",
       ".xr-array-name {\n",
       "  margin-left: 2px;\n",
       "  margin-right: 10px;\n",
       "}\n",
       "\n",
       ".xr-obj-type {\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\n",
       ".xr-sections {\n",
       "  padding-left: 0 !important;\n",
       "  display: grid;\n",
       "  grid-template-columns: 150px auto auto 1fr 0 20px 0 20px;\n",
       "}\n",
       "\n",
       ".xr-section-item {\n",
       "  display: contents;\n",
       "}\n",
       "\n",
       ".xr-section-item input {\n",
       "  display: inline-block;\n",
       "  opacity: 0;\n",
       "  height: 0;\n",
       "}\n",
       "\n",
       ".xr-section-item input + label {\n",
       "  color: var(--xr-disabled-color);\n",
       "}\n",
       "\n",
       ".xr-section-item input:enabled + label {\n",
       "  cursor: pointer;\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\n",
       ".xr-section-item input:focus + label {\n",
       "  border: 2px solid var(--xr-font-color0);\n",
       "}\n",
       "\n",
       ".xr-section-item input:enabled + label:hover {\n",
       "  color: var(--xr-font-color0);\n",
       "}\n",
       "\n",
       ".xr-section-summary {\n",
       "  grid-column: 1;\n",
       "  color: var(--xr-font-color2);\n",
       "  font-weight: 500;\n",
       "}\n",
       "\n",
       ".xr-section-summary > span {\n",
       "  display: inline-block;\n",
       "  padding-left: 0.5em;\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:disabled + label {\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\n",
       ".xr-section-summary-in + label:before {\n",
       "  display: inline-block;\n",
       "  content: \"►\";\n",
       "  font-size: 11px;\n",
       "  width: 15px;\n",
       "  text-align: center;\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:disabled + label:before {\n",
       "  color: var(--xr-disabled-color);\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:checked + label:before {\n",
       "  content: \"▼\";\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:checked + label > span {\n",
       "  display: none;\n",
       "}\n",
       "\n",
       ".xr-section-summary,\n",
       ".xr-section-inline-details {\n",
       "  padding-top: 4px;\n",
       "  padding-bottom: 4px;\n",
       "}\n",
       "\n",
       ".xr-section-inline-details {\n",
       "  grid-column: 2 / -1;\n",
       "}\n",
       "\n",
       ".xr-section-details {\n",
       "  display: none;\n",
       "  grid-column: 1 / -1;\n",
       "  margin-bottom: 5px;\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:checked ~ .xr-section-details {\n",
       "  display: contents;\n",
       "}\n",
       "\n",
       ".xr-array-wrap {\n",
       "  grid-column: 1 / -1;\n",
       "  display: grid;\n",
       "  grid-template-columns: 20px auto;\n",
       "}\n",
       "\n",
       ".xr-array-wrap > label {\n",
       "  grid-column: 1;\n",
       "  vertical-align: top;\n",
       "}\n",
       "\n",
       ".xr-preview {\n",
       "  color: var(--xr-font-color3);\n",
       "}\n",
       "\n",
       ".xr-array-preview,\n",
       ".xr-array-data {\n",
       "  padding: 0 5px !important;\n",
       "  grid-column: 2;\n",
       "}\n",
       "\n",
       ".xr-array-data,\n",
       ".xr-array-in:checked ~ .xr-array-preview {\n",
       "  display: none;\n",
       "}\n",
       "\n",
       ".xr-array-in:checked ~ .xr-array-data,\n",
       ".xr-array-preview {\n",
       "  display: inline-block;\n",
       "}\n",
       "\n",
       ".xr-dim-list {\n",
       "  display: inline-block !important;\n",
       "  list-style: none;\n",
       "  padding: 0 !important;\n",
       "  margin: 0;\n",
       "}\n",
       "\n",
       ".xr-dim-list li {\n",
       "  display: inline-block;\n",
       "  padding: 0;\n",
       "  margin: 0;\n",
       "}\n",
       "\n",
       ".xr-dim-list:before {\n",
       "  content: \"(\";\n",
       "}\n",
       "\n",
       ".xr-dim-list:after {\n",
       "  content: \")\";\n",
       "}\n",
       "\n",
       ".xr-dim-list li:not(:last-child):after {\n",
       "  content: \",\";\n",
       "  padding-right: 5px;\n",
       "}\n",
       "\n",
       ".xr-has-index {\n",
       "  font-weight: bold;\n",
       "}\n",
       "\n",
       ".xr-var-list,\n",
       ".xr-var-item {\n",
       "  display: contents;\n",
       "}\n",
       "\n",
       ".xr-var-item > div,\n",
       ".xr-var-item label,\n",
       ".xr-var-item > .xr-var-name span {\n",
       "  background-color: var(--xr-background-color-row-even);\n",
       "  margin-bottom: 0;\n",
       "}\n",
       "\n",
       ".xr-var-item > .xr-var-name:hover span {\n",
       "  padding-right: 5px;\n",
       "}\n",
       "\n",
       ".xr-var-list > li:nth-child(odd) > div,\n",
       ".xr-var-list > li:nth-child(odd) > label,\n",
       ".xr-var-list > li:nth-child(odd) > .xr-var-name span {\n",
       "  background-color: var(--xr-background-color-row-odd);\n",
       "}\n",
       "\n",
       ".xr-var-name {\n",
       "  grid-column: 1;\n",
       "}\n",
       "\n",
       ".xr-var-dims {\n",
       "  grid-column: 2;\n",
       "}\n",
       "\n",
       ".xr-var-dtype {\n",
       "  grid-column: 3;\n",
       "  text-align: right;\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\n",
       ".xr-var-preview {\n",
       "  grid-column: 4;\n",
       "}\n",
       "\n",
       ".xr-index-preview {\n",
       "  grid-column: 2 / 5;\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\n",
       ".xr-var-name,\n",
       ".xr-var-dims,\n",
       ".xr-var-dtype,\n",
       ".xr-preview,\n",
       ".xr-attrs dt {\n",
       "  white-space: nowrap;\n",
       "  overflow: hidden;\n",
       "  text-overflow: ellipsis;\n",
       "  padding-right: 10px;\n",
       "}\n",
       "\n",
       ".xr-var-name:hover,\n",
       ".xr-var-dims:hover,\n",
       ".xr-var-dtype:hover,\n",
       ".xr-attrs dt:hover {\n",
       "  overflow: visible;\n",
       "  width: auto;\n",
       "  z-index: 1;\n",
       "}\n",
       "\n",
       ".xr-var-attrs,\n",
       ".xr-var-data,\n",
       ".xr-index-data {\n",
       "  display: none;\n",
       "  background-color: var(--xr-background-color) !important;\n",
       "  padding-bottom: 5px !important;\n",
       "}\n",
       "\n",
       ".xr-var-attrs-in:checked ~ .xr-var-attrs,\n",
       ".xr-var-data-in:checked ~ .xr-var-data,\n",
       ".xr-index-data-in:checked ~ .xr-index-data {\n",
       "  display: block;\n",
       "}\n",
       "\n",
       ".xr-var-data > table {\n",
       "  float: right;\n",
       "}\n",
       "\n",
       ".xr-var-name span,\n",
       ".xr-var-data,\n",
       ".xr-index-name div,\n",
       ".xr-index-data,\n",
       ".xr-attrs {\n",
       "  padding-left: 25px !important;\n",
       "}\n",
       "\n",
       ".xr-attrs,\n",
       ".xr-var-attrs,\n",
       ".xr-var-data,\n",
       ".xr-index-data {\n",
       "  grid-column: 1 / -1;\n",
       "}\n",
       "\n",
       "dl.xr-attrs {\n",
       "  padding: 0;\n",
       "  margin: 0;\n",
       "  display: grid;\n",
       "  grid-template-columns: 125px auto;\n",
       "}\n",
       "\n",
       ".xr-attrs dt,\n",
       ".xr-attrs dd {\n",
       "  padding: 0;\n",
       "  margin: 0;\n",
       "  float: left;\n",
       "  padding-right: 10px;\n",
       "  width: auto;\n",
       "}\n",
       "\n",
       ".xr-attrs dt {\n",
       "  font-weight: normal;\n",
       "  grid-column: 1;\n",
       "}\n",
       "\n",
       ".xr-attrs dt:hover span {\n",
       "  display: inline-block;\n",
       "  background: var(--xr-background-color);\n",
       "  padding-right: 10px;\n",
       "}\n",
       "\n",
       ".xr-attrs dd {\n",
       "  grid-column: 2;\n",
       "  white-space: pre-wrap;\n",
       "  word-break: break-all;\n",
       "}\n",
       "\n",
       ".xr-icon-database,\n",
       ".xr-icon-file-text2,\n",
       ".xr-no-icon {\n",
       "  display: inline-block;\n",
       "  vertical-align: middle;\n",
       "  width: 1em;\n",
       "  height: 1.5em !important;\n",
       "  stroke-width: 0;\n",
       "  stroke: currentColor;\n",
       "  fill: currentColor;\n",
       "}\n",
       "</style><pre class='xr-text-repr-fallback'>&lt;xarray.FluxDataArray (f: 50)&gt; Size: 200B\n",
       "array([0.49619535, 0.4959998 , 0.4958456 , 0.49578664, 0.4958678 ,\n",
       "       0.49604478, 0.49626908, 0.49647027, 0.4966077 , 0.49661922,\n",
       "       0.49642277, 0.49594647, 0.4951819 , 0.4942104 , 0.4932421 ,\n",
       "       0.4924945 , 0.4921227 , 0.49211392, 0.49230942, 0.4924388 ,\n",
       "       0.49224442, 0.49157965, 0.4904679 , 0.48906133, 0.4876103 ,\n",
       "       0.48636082, 0.4854779 , 0.4849979 , 0.48482403, 0.48475057,\n",
       "       0.48453504, 0.48398182, 0.48302355, 0.48175392, 0.48037806,\n",
       "       0.47914445, 0.47820777, 0.47757253, 0.47708204, 0.47651216,\n",
       "       0.47562975, 0.47437435, 0.4728097 , 0.47111368, 0.4695425 ,\n",
       "       0.46828848, 0.4674291 , 0.4669524 , 0.46673352, 0.46655577],\n",
       "      dtype=float32)\n",
       "Coordinates:\n",
       "  * f        (f) float64 400B 1.999e+14 1.996e+14 ... 1.876e+14 1.874e+14\n",
       "Attributes:\n",
       "    units:      W\n",
       "    long_name:  flux</pre><div class='xr-wrap' style='display:none'><div class='xr-header'><div class='xr-obj-type'>xarray.FluxDataArray</div><div class='xr-array-name'></div><ul class='xr-dim-list'><li><span class='xr-has-index'>f</span>: 50</li></ul></div><ul class='xr-sections'><li class='xr-section-item'><div class='xr-array-wrap'><input id='section-2d57f639-3972-47ed-8f67-bbe97709593a' class='xr-array-in' type='checkbox' checked><label for='section-2d57f639-3972-47ed-8f67-bbe97709593a' title='Show/hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-array-preview xr-preview'><span>0.4962 0.496 0.4958 0.4958 0.4959 ... 0.4674 0.467 0.4667 0.4666</span></div><div class='xr-array-data'><pre>array([0.49619535, 0.4959998 , 0.4958456 , 0.49578664, 0.4958678 ,\n",
       "       0.49604478, 0.49626908, 0.49647027, 0.4966077 , 0.49661922,\n",
       "       0.49642277, 0.49594647, 0.4951819 , 0.4942104 , 0.4932421 ,\n",
       "       0.4924945 , 0.4921227 , 0.49211392, 0.49230942, 0.4924388 ,\n",
       "       0.49224442, 0.49157965, 0.4904679 , 0.48906133, 0.4876103 ,\n",
       "       0.48636082, 0.4854779 , 0.4849979 , 0.48482403, 0.48475057,\n",
       "       0.48453504, 0.48398182, 0.48302355, 0.48175392, 0.48037806,\n",
       "       0.47914445, 0.47820777, 0.47757253, 0.47708204, 0.47651216,\n",
       "       0.47562975, 0.47437435, 0.4728097 , 0.47111368, 0.4695425 ,\n",
       "       0.46828848, 0.4674291 , 0.4669524 , 0.46673352, 0.46655577],\n",
       "      dtype=float32)</pre></div></div></li><li class='xr-section-item'><input id='section-33a4488d-ff4b-4098-b75b-90f274626ac9' class='xr-section-summary-in' type='checkbox'  checked><label for='section-33a4488d-ff4b-4098-b75b-90f274626ac9' class='xr-section-summary' >Coordinates: <span>(1)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>f</span></div><div class='xr-var-dims'>(f)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>1.999e+14 1.996e+14 ... 1.874e+14</div><input id='attrs-ac5efa96-1f26-4e41-988f-e63ecc210f75' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-ac5efa96-1f26-4e41-988f-e63ecc210f75' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-505177e5-be2c-4c7a-a6d5-abd7963603b4' class='xr-var-data-in' type='checkbox'><label for='data-505177e5-be2c-4c7a-a6d5-abd7963603b4' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>units :</span></dt><dd>Hz</dd><dt><span>long_name :</span></dt><dd>frequency</dd></dl></div><div class='xr-var-data'><pre>array([1.998616e+14, 1.995901e+14, 1.993193e+14, 1.990492e+14, 1.987798e+14,\n",
       "       1.985112e+14, 1.982433e+14, 1.979762e+14, 1.977097e+14, 1.974440e+14,\n",
       "       1.971789e+14, 1.969146e+14, 1.966510e+14, 1.963881e+14, 1.961259e+14,\n",
       "       1.958644e+14, 1.956036e+14, 1.953435e+14, 1.950841e+14, 1.948253e+14,\n",
       "       1.945673e+14, 1.943099e+14, 1.940532e+14, 1.937972e+14, 1.935419e+14,\n",
       "       1.932872e+14, 1.930333e+14, 1.927799e+14, 1.925273e+14, 1.922753e+14,\n",
       "       1.920239e+14, 1.917732e+14, 1.915232e+14, 1.912738e+14, 1.910251e+14,\n",
       "       1.907770e+14, 1.905296e+14, 1.902828e+14, 1.900366e+14, 1.897911e+14,\n",
       "       1.895462e+14, 1.893019e+14, 1.890583e+14, 1.888153e+14, 1.885729e+14,\n",
       "       1.883312e+14, 1.880900e+14, 1.878495e+14, 1.876096e+14, 1.873703e+14])</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-55e8538f-0de7-4537-8e5c-a888be6db648' class='xr-section-summary-in' type='checkbox'  ><label for='section-55e8538f-0de7-4537-8e5c-a888be6db648' class='xr-section-summary' >Indexes: <span>(1)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-index-name'><div>f</div></div><div class='xr-index-preview'>PandasIndex</div><input type='checkbox' disabled/><label></label><input id='index-4c1728d1-090c-4d32-85fb-9bda02e363ef' class='xr-index-data-in' type='checkbox'/><label for='index-4c1728d1-090c-4d32-85fb-9bda02e363ef' title='Show/Hide index repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-index-data'><pre>PandasIndex(Index([199861643525342.56, 199590092379248.34,  199319278142641.5,\n",
       "        199049197819955.0, 198779848431835.97,  198511227015036.2,\n",
       "       198243330622303.34, 197976156322273.28,  197709701199363.1,\n",
       "       197443962353665.03,  197178936900841.3,  196914621972019.8,\n",
       "       196651014713690.44, 196388112287602.62, 196125911870663.25,\n",
       "        195864410654835.7, 195603605847039.62, 195343494669051.53,\n",
       "       195084074357406.06,  194825342163298.1, 194567295352485.75,\n",
       "       194309931205194.12, 194053247016019.47, 193797240093834.75,\n",
       "        193541907761695.3, 193287247356745.72, 193033256230127.12,\n",
       "       192779931746885.47, 192527271285880.38,  192275272239694.7,\n",
       "       192023932014544.75, 191773248030191.56,  191523217719852.3,\n",
       "        191273838530112.9,  191025107920841.0, 190777023365099.62,\n",
       "       190529582349061.88, 190282782371925.78, 190036620945830.16,\n",
       "       189791095595770.94, 189546203859518.34,  189301943287534.4,\n",
       "        189058311442891.5, 188815305901191.12, 188572924250483.56,\n",
       "       188331164091188.06,  188090023036013.7,  187849498709880.7,\n",
       "       187609588749842.53, 187370290805008.84],\n",
       "      dtype=&#x27;float64&#x27;, name=&#x27;f&#x27;))</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-cc1b3363-0831-4648-ac1b-bfabf09bca42' class='xr-section-summary-in' type='checkbox'  checked><label for='section-cc1b3363-0831-4648-ac1b-bfabf09bca42' class='xr-section-summary' >Attributes: <span>(2)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><dl class='xr-attrs'><dt><span>units :</span></dt><dd>W</dd><dt><span>long_name :</span></dt><dd>flux</dd></dl></div></li></ul></div></div>"
      ],
      "text/plain": [
       "<xarray.FluxDataArray (f: 50)> Size: 200B\n",
       "array([0.49619535, 0.4959998 , 0.4958456 , 0.49578664, 0.4958678 ,\n",
       "       0.49604478, 0.49626908, 0.49647027, 0.4966077 , 0.49661922,\n",
       "       0.49642277, 0.49594647, 0.4951819 , 0.4942104 , 0.4932421 ,\n",
       "       0.4924945 , 0.4921227 , 0.49211392, 0.49230942, 0.4924388 ,\n",
       "       0.49224442, 0.49157965, 0.4904679 , 0.48906133, 0.4876103 ,\n",
       "       0.48636082, 0.4854779 , 0.4849979 , 0.48482403, 0.48475057,\n",
       "       0.48453504, 0.48398182, 0.48302355, 0.48175392, 0.48037806,\n",
       "       0.47914445, 0.47820777, 0.47757253, 0.47708204, 0.47651216,\n",
       "       0.47562975, 0.47437435, 0.4728097 , 0.47111368, 0.4695425 ,\n",
       "       0.46828848, 0.4674291 , 0.4669524 , 0.46673352, 0.46655577],\n",
       "      dtype=float32)\n",
       "Coordinates:\n",
       "  * f        (f) float64 400B 1.999e+14 1.996e+14 ... 1.876e+14 1.874e+14\n",
       "Attributes:\n",
       "    units:      W\n",
       "    long_name:  flux"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sim_data[\"Flux monitor\"].flux"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "54a11880",
   "metadata": {},
   "source": [
    "The data array has `.values` and `.coords`. The `.values` are just the raw, unlabeled data. The `.coords` are a dictionary mapping each dimension of the data to a set of data. For example, mapping the flux values to a specific frequency. We can inspect them by printing them out."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "9ab36510",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2025-05-15T10:34:43.474467Z",
     "iopub.status.busy": "2025-05-15T10:34:43.474310Z",
     "iopub.status.idle": "2025-05-15T10:34:43.477312Z",
     "shell.execute_reply": "2025-05-15T10:34:43.477018Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([0.49619535, 0.4959998 , 0.4958456 , 0.49578664, 0.4958678 ,\n",
       "       0.49604478, 0.49626908, 0.49647027, 0.4966077 , 0.49661922,\n",
       "       0.49642277, 0.49594647, 0.4951819 , 0.4942104 , 0.4932421 ,\n",
       "       0.4924945 , 0.4921227 , 0.49211392, 0.49230942, 0.4924388 ,\n",
       "       0.49224442, 0.49157965, 0.4904679 , 0.48906133, 0.4876103 ,\n",
       "       0.48636082, 0.4854779 , 0.4849979 , 0.48482403, 0.48475057,\n",
       "       0.48453504, 0.48398182, 0.48302355, 0.48175392, 0.48037806,\n",
       "       0.47914445, 0.47820777, 0.47757253, 0.47708204, 0.47651216,\n",
       "       0.47562975, 0.47437435, 0.4728097 , 0.47111368, 0.4695425 ,\n",
       "       0.46828848, 0.4674291 , 0.4669524 , 0.46673352, 0.46655577],\n",
       "      dtype=float32)"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sim_data[\"Flux monitor\"].flux.values"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "3d873838",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2025-05-15T10:34:43.478510Z",
     "iopub.status.busy": "2025-05-15T10:34:43.478394Z",
     "iopub.status.idle": "2025-05-15T10:34:43.481280Z",
     "shell.execute_reply": "2025-05-15T10:34:43.481033Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Coordinates:\n",
       "  * f        (f) float64 400B 1.999e+14 1.996e+14 ... 1.876e+14 1.874e+14"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sim_data[\"Flux monitor\"].flux.coords"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9afe1b7a",
   "metadata": {},
   "source": [
    "`xarray` allows us to quickly plot the data. In this case, the plot will just be a 1D line since the data only contains one coordinate. Note that the x and y axis labels are automatically created accordingly."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "d8320e8c",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2025-05-15T10:34:43.482375Z",
     "iopub.status.busy": "2025-05-15T10:34:43.482290Z",
     "iopub.status.idle": "2025-05-15T10:34:43.534889Z",
     "shell.execute_reply": "2025-05-15T10:34:43.534424Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkgAAAGwCAYAAABSN5pGAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAWAJJREFUeJzt3XlcVOX+B/DPzADDDiI7IgguqKgYKLmLcl2vSlrZzVyQtEVb5GeL3dI0S8tcWjTL3LqZeC01s7K6JO6FIiSmooIIKiCoMMM2DDPP7w91akB0UIbD8nm/XuelnHnOOd9zXnjm4znPeY5MCCFARERERAZyqQsgIiIiamgYkIiIiIiqYEAiIiIiqoIBiYiIiKgKBiQiIiKiKhiQiIiIiKpgQCIiIiKqwkLqAhorvV6Py5cvw8HBATKZTOpyiIiIyARCCKjVanh7e0Mur/k6EQPSPbp8+TJ8fX2lLoOIiIjuQXZ2Nlq1alXj5wxI98jBwQHAjQPs6OgocTVERERkCpVKBV9fX8P3eE0YkO7Rrdtqjo6ODEhERESNzN26x7CTNhEREVEVDEhEREREVTAgEREREVXBgERERERUBQMSERERURUMSERERERVMCARERERVcGARERERFQFAxIRERFRFQxIRERERFUwIBERERFVwYBEREREVAVfVktERHQPijWVKCrTQiGTQSE3nizkMshlN/+U3/mlqNQwMSARERHdhRACF6+XIenCdRy9cA1HM68jLU8NIe6+rEIug28LG7R1t0eguz3aut38090ejtaW5i+e7gkDEhERURVanR5/XlYh6cJ1JN0MRFfUmmrtrBRy6ISATl9zUtLpBTKvliLzain+d+qK0WfuDkq0vRmW2ns4IMy/Bdq7O/CqUwPAgERERHTT1WINPog/i61HL6JMqzP6zEIuQ2cfJ4T5tUCYXwuE+rWAu6O14XO9XqBSL6AXN/7U3ZzKtTpkFpQgPb8Y564U49zNP/NUGlxR35gOpV81rMfR2gKhfi0Q5u+CML8W6ObrDGtLRb0dA7pBJoQpFwipKpVKBScnJxQVFcHR0VHqcoiI6D6Ua3VYfzATq/acg1pTCQBwsrFE6M0gFObXAl1bOcPGqu6Ciqpci/Qrf4WmPy+pcCzrOkorjIOZpUKGYB8n9LgZmHr4u6CFnVWd1dHcmPr9zYB0jxiQiIgaP71e4Lvjl/He7jRcKiwDAAT7OGLO8I7oFdCy3m91Ver0OJWjxpHMa0i6cB1HMq9Vu7UnkwGdvBzRO7Alerd1RU9/F9gpm84NodKKShy/WIRjWdcx8UE/ONRxPy0GJDNjQCIiatyOZF7Dwl0n8cfFIgCAp6M1XhraAQ9192kwfYCEEMi+VoajF67hSOaNwHTuSrFRGwu5DN18ndEnsCV6Bbqie+vGc0vu1v4dy7pumE7lqA19ur6MCUffdq51uk0GJDNjQCIiapwyC0qw+MfT2P1nLgDAzkqBZwYGIqZvQJ3eQjOXK+pyHE6/ikPnruJQRgGyr5UZfa60kCPMvwW6+7ZAl1ZO6NbKGR6OSshk0oc+dbkWJy+rcCyrEMeyriM56zoKiiuqtfN0tMYDfs54sl8AHmjdok5rYEAyMwYkIqLGpaJSjyU/ncaGQ5nQ6gTkMmB8j9aY9Y92cHewvvsKGqjsa6U4lF6AQ+lXcSj9KvJv87Sdm4MSXX2c0KWVE7q2ckIXH2e4OSjNVpNWp0dGfglO56qQlqtGWq4ap3PVhtuYf2epkKGztxMeaN0CD/g544HWLeDtbGO22hiQzIwBiYio8SjWVOKZL5Ow/2wBAGBgBze8NqIj2ns4SFxZ3RJC4NyVYvx2/hpSLxbi+MUinL1SfNthCLydrNHB0wEejtZwc1DemOyVf/3dQQlbK+O+TXq9gFpTCVWZFoWlWhSVaVFYVoGiMi2ul1Tg7JVipOWqkZ5fDK3u9vHC09Ea3Vs7GwJRZ2+ner0laOr3d9Pp1UVERHQb+WoNojck4sQlFWytFFgxPgRDOntKXZZZyGQytPNwQDsPBwB+AICyCh1O5qgMgen4pSKk5xfjclE5LheV33F9dlYKuN680lRUpoWqTIs7DPlkxF5pgQ6eDujg6YAgTwd08Ljxd2fbxvEEHgMSERE1WZkFJZi0LhFZ10rR0s4K66N7oGsrZ6nLqlc2VgrDcAW3FGsqceJSETLyS1BQrEG++ub0t7+XaXUoqdCh5GpptXVaW8rhZGMJZxsrONlYwtHGEs62lmjjamcIQq1a2DSIfk/3igGJiIiapD+yCzF1wxFcLalAaxdbfDG1J/xd7aQuq0GwV1rgwYCWeDCg5W0/F0KgpEKHgpuhSYYb40I52VrCycYSSouG35n9fjEgERFRk5OQdgXPbjqG0godgn0csX5KT7N2Sm5qZDIZ7JUWsFdaNNtQyYBERERNyrZjF/Hy18dRqRfo184VnzwRCvsmNJAi1Q/+xhARUZMghMCn+zKw+MfTAICoEG+893A3WFnIJa6MGiPJf2tWrlwJf39/WFtbIzw8HImJiSYtFxcXB5lMhqioKKP5eXl5mDJlCry9vWFra4thw4bh7NmzRm0GDhwImUxmND399NN1tUtERFTP9HqBBbtOGsLR9P4BWPZoCMMR3TNJf3O2bNmC2NhYzJs3D8eOHUO3bt0wdOhQXLly5Y7LZWZmYvbs2ejXr5/RfCEEoqKikJGRgW+//RbJycnw8/NDZGQkSkpKjNpOmzYNOTk5hum9996r8/0jIiLzE0LglW+OY/3BTADA6yM74rURHRvM60KocZI0IC1btgzTpk1DdHQ0OnXqhNWrV8PW1hbr1q2rcRmdTocJEyZg/vz5CAgIMPrs7Nmz+O233/DJJ5+gR48e6NChAz755BOUlZVh8+bNRm1tbW3h6elpmDjYIxFR47Tif2exNekiFHIZPngsBE/2C7j7QkR3IVlAqqioQFJSEiIjI/8qRi5HZGQkDh8+XONyCxYsgLu7O2JiYqp9ptHcGF7d2vqvIePlcjmUSiUOHDhg1HbTpk1wdXVFcHAw5syZg9LS6uM8VF23SqUymoiISFr/PZqND+JvdKN4a0wwxoT4SFwRNRWSddIuKCiATqeDh4eH0XwPDw+cPn36tsscOHAAa9euRUpKym0/DwoKQuvWrTFnzhx8+umnsLOzw/Lly3Hx4kXk5OQY2j3++OPw8/ODt7c3jh8/jldeeQVpaWnYtm1bjfUuWrQI8+fPr/2OEhGRWew/m4/XtqUCAGZEBOLx8NYSV0RNSaN5ik2tVmPixIlYs2YNXF1db9vG0tIS27ZtQ0xMDFxcXKBQKBAZGYnhw4fj76+cmz59uuHvXbp0gZeXFwYPHoz09HQEBgbedt1z5sxBbGys4WeVSgVfX9862jsiIqqNUzkqPPPlMVTqBcaEeGP2kA5Sl0RNjGQBydXVFQqFAnl5eUbz8/Ly4OlZ/R056enpyMzMxKhRowzz9Ho9AMDCwgJpaWkIDAxEaGgoUlJSUFRUhIqKCri5uSE8PBxhYWE11hIeHg4AOHfuXI0BSalUQqnkIGNERFLLKSpD9PojKNZU4sEAF7z3cNdG/UoLapgk64NkZWWF0NBQxMfHG+bp9XrEx8ejV69e1doHBQUhNTUVKSkphmn06NGIiIhASkpKtas5Tk5OcHNzw9mzZ3H06FGMGTOmxlpu3bLz8vKqm50jIiKzUJdrEb3+CHJV5Wjrbo9PnwhrFq+9oPon6S222NhYTJ48GWFhYejZsydWrFiBkpISREdHAwAmTZoEHx8fLFq0CNbW1ggODjZa3tnZGQCM5m/duhVubm5o3bo1UlNT8cILLyAqKgpDhgwBcONK1FdffYURI0agZcuWOH78OGbNmoX+/fuja9eu9bPjRERUa1qdHs9uOobTuWq4OSixIboHnGwtpS6LmihJA9L48eORn5+PuXPnIjc3FyEhIdi9e7eh43ZWVhbk8tpd5MrJyUFsbCzy8vLg5eWFSZMm4Y033jB8bmVlhf/973+GMObr64tx48bh9ddfr9N9IyKiuiOEwGvbUrH/bAFsLBVYN7kHWrWwlbosasJk4u+9l8lkKpUKTk5OKCoq4hhKRERm9mH8WSz75QzkMuDzyWEYFORx94WIbsPU72+OwU5ERA3a10kXseyXMwCAt6KCGY6oXjAgERFRg3XwXAFe/eY4AOCZgYGYEO4ncUXUXDAgERFRg3Q6V4Wn/5OESr3AqG7eeIljHVE9YkAiIqIGJ7eoHNHrj0CtqUTPNi54/5GufPks1SsGJCIialDU5VpEbziCnKJyBLrZ4bOJoRzriOodAxIRETUYWp0eM75KxqkcFVztldgQ3RPOtlZSl0XNEAMSERE1CEIIvL79BPadyb8x1tGUMPi6cKwjkgYDEhERNQgf/3oOW45mQy4DPn68O7q2cpa6JGrGGJCIiEhy3yRdxNKbYx0tGBOMwR051hFJiwGJiIgkdfBcAV65OdbR0wMC8cSDHOuIpMeAREREkknLVRuNdfTyUI51RA0DAxIREUkit6gcU9YncqwjapAYkIiIqN5l5Bfj0U8Pc6wjarAspC6AiIial2NZ1xGz4Qiul2rR2sWWYx1Rg8SARERE9ebnP3PxfFwyyrV6dG3lhLWTe8DNQSl1WUTVMCAREVG9+M9vFzDv2xPQCyCigxtWTngAtlb8GqKGib+ZRERkVkIIvPdTGj5JSAcAPNbDFwujgmGhYDdYargYkIiIyGwqKvV45Zvj2J58CQAwK7I9nh/cFjIZn1ajho0BiYiIzEJVrsUzXybh4LmrUMhlWDS2Cx4N85W6LCKTMCAREVGduzXG0elcNWytFPjkiVAMaO8mdVlEJmNAIiJqpLQ6Pf68rEL6lWJ4O9sg0N0ObvZKSW9fXS3WYNPvWdh4KBNXSyrgaq/EhugeCPZxkqwmonvBgERE1EioyrU4duE6ki5cx5HMa0jJLkS5Vm/UxsHaAgFu9gh0s0Pg3/70a2kHKwvzdYo+k6fGugPnsT35EjSVN2oKdLPDhuie8HWxNdt2icyFAYmIqIEqKtUi4cyVm4HoOk7nqiCEcRtnW0t08HBArqoc2ddKoS6vxB/Zhfgju9ConUIuQ3sPB/Twb4FQvxbo4e8Cb2eb+6pPCIG9Z/Kx9sB57D9bYJjfxccJMX3bYEQXL7OGMiJzYkAiImqAfsu4ihmbjuFqSYXR/NYutgjzvxFwevi3QICrveH9ZeVaHS5cLUV6fjEy8ouRnl9y8+8lKNZU4lSOCqdyVPji8AUAgI+zzc2w1AJh/i5o7+EAhQnvQivX6rDt2CWsO3ge564UAwBkMmBIJw/E9A1AD/8WfEqNGj2ZEFX/P0KmUKlUcHJyQlFRERwdHaUuh4iaCCEENh7KxMLvT6FSL+DX0haDgtzRw98FYX4t4O5ofU/rzFWVIzmrEEcyryHpwnX8eVkFnd749O+gtECguz0EAL1eQC8EdDf/1Isb83RC4FpxBdSaSgCAnZUCj/bwRXTvNmjdkrfSqOEz9fubAekeMSARUV0r1+rw2vZUbDt2Y8ygMSHeWDy2K2ys6v4lriWaSqRk/xWYjl24jpIKncnL+zjbILqPPx7t4QtHa8s6r4/IXEz9/uYtNiKiBuByYRme+k8SUi8VQS4DXhvRETF925jtVpWd0gJ92rqiT1tXAEClTo/TuWpcKiyDQiaDXA7IZTIo5DLIZbK//R1QWijQ0cuBI2FTk8aAREQksb/3N2pha4mVjz+A3jeDS32xUMgR7OPEx/GJbmJAIiKSiBACG272N9LpBTp5OeLTiaF8LJ6oAWBAIiKSQNX+RlEh3lhkpv5GRFR7DEhERPVMVa7FE5//juMXi6CQyzBneJBZ+xsRUe0xIBER1SMhBOZ8k4rjF4sk629ERHfHgEREVI++/D0L36fmwEIuw7opPdC9dQupSyKi2+AzmkRE9eTPy0V4a9dJAMCrw4MYjogaMAYkIqJ6UKypxMyvklFRqcfgIHfE9G0jdUlEdAcMSEREZiaEwGvbUnG+oATeTtZ4/5Fu7JBN1MAxIBERmdmWI9nY+cdlKOQyfPR4d7Sws5K6JCK6CwYkIiIzOp2rwrydfwIAZg/pgFA/F4krIiJTMCAREZlJiaYSMzYdg6ZSj4Ed3PBU/wCpSyIiEzEgERGZyRvfnkB6fgk8HJVY+kg3yOXsd0TUWDAgERGZwdaj2dh27BLkMuDDx7qjpb1S6pKIqBYYkIiI6tjZPDXmfnuj39GsyPYID2gpcUVEVFsMSEREdaisQocZXx1DmVaHvm1d8WxEW6lLIqJ7wIBERFSHlv2ShjN5xXBzUGL5+BAo2O+IqFFiQCIiqiPnrqix/mAmAODdcV3g5sB+R0SNleQBaeXKlfD394e1tTXCw8ORmJho0nJxcXGQyWSIiooymp+Xl4cpU6bA29sbtra2GDZsGM6ePWvUpry8HDNmzEDLli1hb2+PcePGIS8vr652iYiaISEE5n93EpV6gcFB7hgU5CF1SUR0HyQNSFu2bEFsbCzmzZuHY8eOoVu3bhg6dCiuXLlyx+UyMzMxe/Zs9OvXz2i+EAJRUVHIyMjAt99+i+TkZPj5+SEyMhIlJSWGdrNmzcJ3332HrVu3Yu/evbh8+TLGjh1rln0koubh55N52H+2AFYKOd74ZyepyyGi+yQTQgipNh4eHo4ePXrg448/BgDo9Xr4+vriueeew6uvvnrbZXQ6Hfr374+pU6di//79KCwsxI4dOwAAZ86cQYcOHXDixAl07tzZsE5PT0+88847ePLJJ1FUVAQ3Nzd89dVXePjhhwEAp0+fRseOHXH48GE8+OCDJtWuUqng5OSEoqIiODo63ueRIKLGrFyrQ+Syvbh4vQzPDgzEy8OCpC6JiGpg6ve3ZFeQKioqkJSUhMjIyL+KkcsRGRmJw4cP17jcggUL4O7ujpiYmGqfaTQaAIC1tbXROpVKJQ4cOAAASEpKglarNdpuUFAQWrdufcftajQaqFQqo4mICAA+25eBi9fL4OlojRl8ao2oSZAsIBUUFECn08HDw/g+vYeHB3Jzc2+7zIEDB7B27VqsWbPmtp/fCjpz5szB9evXUVFRgXfffRcXL15ETk4OACA3NxdWVlZwdnY2ebsAsGjRIjg5ORkmX1/fWuwtETVVlwrLsCrhHADgtZEdYae0kLgiIqoLknfSNpVarcbEiROxZs0auLq63raNpaUltm3bhjNnzsDFxQW2trbYs2cPhg8fDrn8/nZ1zpw5KCoqMkzZ2dn3tT4iahre+f4UyrV69GzjglFdvaQuh4jqiGT/1XF1dYVCoaj29FheXh48PT2rtU9PT0dmZiZGjRplmKfX6wEAFhYWSEtLQ2BgIEJDQ5GSkoKioiJUVFTAzc0N4eHhCAsLAwB4enqioqIChYWFRleRatruLUqlEkolH9klor8cSi/A96k5kMuAN0d1hkzGMY+ImgrJriBZWVkhNDQU8fHxhnl6vR7x8fHo1atXtfZBQUFITU1FSkqKYRo9ejQiIiKQkpJS7ZaXk5MT3NzccPbsWRw9ehRjxowBAISGhsLS0tJou2lpacjKyrrtdomIbqdSp8f8nScBABPC/dDJmw9rEDUlkt4sj42NxeTJkxEWFoaePXtixYoVKCkpQXR0NABg0qRJ8PHxwaJFi2BtbY3g4GCj5W9dAfr7/K1bt8LNzQ2tW7dGamoqXnjhBURFRWHIkCEAbgSnmJgYxMbGwsXFBY6OjnjuuefQq1cvk59gIyL68rcLSMtTw9nWEv83pL3U5RBRHZM0II0fPx75+fmYO3cucnNzERISgt27dxs6bmdlZdW671BOTg5iY2ORl5cHLy8vTJo0CW+88YZRm+XLl0Mul2PcuHHQaDQYOnQoVq1aVWf7RURN29ViDZb9cgYAMHtIBzjbWklcERHVNUnHQWrMOA4SUfM1Z9txbE7MRicvR3z3XF++b42oEWnw4yARETVGxy8WIu7IjadY54/pzHBE1EQxIBERmUivF3hz558QAogK8UYPfxepSyIiM2FAIiIy0fbkSziWVQhbKwVeHd5R6nKIyIwYkIiITFCiqcS7u08DAGYOagtPJ+u7LEFEjRkDEhGRCVbvTccVtQatXWwR07eN1OUQkZkxIBER3cWlwjJ8ti8DAPDaiCAoLRQSV0RE5saARER0F+/+eBqaSj3C27hgaOeaX0lERE0HAxIR0R0kXbiOnX9chkwGvPHPTnzfGlEzwYBERFQDvV7grV033rf2SGgrBPs4SVwREdUXBiQiohp8d/wyUrJvPNY/e0gHqcshonrEgEREdBtlFTos/vHGY/0zItrC3ZGP9RM1JwxIRES3sWZ/BnKKyuHjbMPH+omaIQYkIqIqcovK8UlCOgDg1eFBsLbkY/1EzQ0DEhFRFUt+SkOZVodQvxb4Z1cvqcshIgkwIBER/U3qxSJ8c+wiAD7WT9ScMSAREd0khMCCXX8CAB7q7oMQX2dpCyIiyTAgERHd9OOJXBzJvA5rSzleHsbH+omaMwYkIiIA5Vod3vnhFADgqf6B8HKykbgiIpISAxIREYD1BzNx8XoZPB2t8dSAAKnLISKJMSARUbOXfa0UH/16FgDw8rAOsLWykLgiIpIaAxIRNWtCCMzZlorSCh16+rsgKsRH6pKIqAFgQCKiZm3LkWwcOFcApYUc7z7cFXI5H+snIgYkImrGcorK8Pb3NzpmvzS0A9q42klcERE1FAxIRNQsCSHw2rZUqDWV6N7aGdF9+L41IvoLAxIRNUvbky9hT1o+rBRyLHm4KxS8tUZEf8OARETNzhVVOeZ/dxIA8EJkO7R1d5C4IiJqaBiQiKhZEULg9R0nUFSmRRcfJzzVn2MeEVF1DEhE1KzsOp6Dn0/mwVIhw3sPd4WFgqdBIqqOZwYiajauFmswb+eNl9HOiGiLjl6OEldERA0VAxIRNRvzdv6JayUVCPJ0wLMD20pdDhE1YAxIRNQs7D6Ri13Hc6CQy7Dk4W6wsuDpj4hqxjMEETV5haUVeH3HCQDAU/0D0KWVk8QVEVFDx4BERE3egu9OoqBYg7bu9nh+cDupyyGiRoABiYiatM/3Z2Bb8iXIZMB7D3eFtaVC6pKIqBFgQCKiJuu/R7Ox8G/vWnugdQuJKyKixoIBiYiapN0ncvHqN8cBANP7B+CZAYESV0REjQkDEhE1OQfPFeD5zcnQC2B8mC/mDA+CTMZ3rRGR6RiQiKhJSckuxLQvjqJCp8fwYE+8M7YLwxER1RoDEhE1GWfz1JiyPhGlFTr0beuKFY+FQCFnOCKi2mNAIqImIftaKZ5Y+zsKS7UI8XXGpxNDobTgE2tEdG8YkIio0buiLsfEtb8jT6VBew97rJ/SA3ZKC6nLIqJGjAGJiBq1ojItJq1NRObVUrRqYYP/xISjhZ2V1GURUSPHgEREjdYVdTmmbjiC07lquDkosenJcHg4WktdFhE1AbwGTUSNTkWlHhsOnceH8edQrKmEo7UFvpjaE34t7aQujYiaCAYkImpU9p7Jx/zv/kRGfgkAoJuvMxY91AUdvRwlroyImhLJb7GtXLkS/v7+sLa2Rnh4OBITE01aLi4uDjKZDFFRUUbzi4uLMXPmTLRq1Qo2Njbo1KkTVq9ebdRm4MCBkMlkRtPTTz9dV7tERGZw4WoJntx4FJPXJSIjvwSu9lZY8nBXbH+mNzp5MxwRUd2S9ArSli1bEBsbi9WrVyM8PBwrVqzA0KFDkZaWBnd39xqXy8zMxOzZs9GvX79qn8XGxuLXX3/Fl19+CX9/f/z888949tln4e3tjdGjRxvaTZs2DQsWLDD8bGtrW7c7R0R1orSiEiv3nMOafedRodPDQi5DdB9/PDe4HRytLaUuj4iaKEmvIC1btgzTpk1DdHS04UqPra0t1q1bV+MyOp0OEyZMwPz58xEQEFDt80OHDmHy5MkYOHAg/P39MX36dHTr1q3alSlbW1t4enoaJkdH/g+UqCEprajEtymXMOj9vVi5Jx0VOj36tXPF7hf7498jOzEcEZFZSRaQKioqkJSUhMjIyL+KkcsRGRmJw4cP17jcggUL4O7ujpiYmNt+3rt3b+zcuROXLl2CEAJ79uzBmTNnMGTIEKN2mzZtgqurK4KDgzFnzhyUlpbesV6NRgOVSmU0EVHd0OkFTueqsOVIFuZsO47hH+xHlzd/xgtxKchVlcPXxQafTQzFF1N7oq27vdTlElEzINkttoKCAuh0Onh4eBjN9/DwwOnTp2+7zIEDB7B27VqkpKTUuN6PPvoI06dPR6tWrWBhYQG5XI41a9agf//+hjaPP/44/Pz84O3tjePHj+OVV15BWloatm3bVuN6Fy1ahPnz59duJ4nISLlWh4JiDQqKK3C5sAx/XCxESlYhUi8VobRCV629p6M1nniwNZ7sFwBrS46KTUT1p9E8xaZWqzFx4kSsWbMGrq6uNbb76KOP8Ntvv2Hnzp3w8/PDvn37MGPGDHh7exuuVk2fPt3QvkuXLvDy8sLgwYORnp6OwMDA2653zpw5iI2NNfysUqng6+tbR3tH1DSUVeiQmHkNf2QXIl+tuRmGbgSiArUGak1ljcvaWSnQtZUzuvk6I+Tm5OnEMY2ISBqSBSRXV1coFArk5eUZzc/Ly4Onp2e19unp6cjMzMSoUaMM8/R6PQDAwsICaWlp8Pb2xmuvvYbt27dj5MiRAICuXbsiJSUF77//vtHtvL8LDw8HAJw7d67GgKRUKqFUKmu/o0RNWKVOj9RLRTh4rgAHzhXg2IVCVOj0d1zGSiGHq70V3Byt0cnLEd19b4Situ72fLEsETUYkgUkKysrhIaGIj4+3vCovl6vR3x8PGbOnFmtfVBQEFJTU43mvf7661Cr1fjggw/g6+uL8vJyaLVayOXGXasUCoUhTN3OrVt2Xl5e97dTRE2cEAIZBSU3AtHZAhzOuAp1ufFVIW8na4QHtISPsw1c7a3g6qCEq70Sbjf/dLS2gEzGIEREDZukt9hiY2MxefJkhIWFoWfPnlixYgVKSkoQHR0NAJg0aRJ8fHywaNEiWFtbIzg42Gh5Z2dnADDMt7KywoABA/DSSy/BxsYGfn5+2Lt3L7744gssW7YMwI0rUV999RVGjBiBli1b4vjx45g1axb69++Prl271t/OEzUylwvL8Mo3x7H/bIHRfEdrC/QOdEWfdq7o29YV/i1tGYCIqNGTNCCNHz8e+fn5mDt3LnJzcxESEoLdu3cbOm5nZWVVuxp0N3FxcZgzZw4mTJiAa9euwc/PD2+//bZhIEgrKyv873//M4QxX19fjBs3Dq+//nqd7x9RUyCEwLZjl/Dmd39CXV4JS4UMPfxd0KftjUAU7OPEW2NE1OTIhBBC6iIaI5VKBScnJxQVFXEMJWqyCoo1eG1bKn4+eaOvYIivM5Y+2g2BbnzUnogaJ1O/vxvNU2xEVL92n8jFv7en4mpJBSwVMrwY2R5P9Q+AhULyNxQREZkdAxIRGSkq0+LNnX9ie/IlAECQpwOWPRrC950RUbPCgEREBvvO5OPlr48jV1UOuQx4ekAgXohsB6UFB2kkouaFAYmIAADLfjmDD+PPAgDauNrh/Ue6IdSvhcRVERFJgwGJiBCXmGUIR5N7+eGV4UGwteLpgYiaL54BiZq5Q+kFeH3HCQDArMj2eCGyncQVERFJz6SA9MADD9RqpTKZDDt37oSPj889FUVE9SMjvxjPfHkMlXqB0d288fzgtlKXRETUIJgUkFJSUvB///d/sLe/+9gnQggsXrwYGo3mvosjIvMpLK1AzMajKCrTontrZ7z3cFeOgE1EdJPJt9heeukluLu7m9R26dKl91wQEZmfVqfHM18ew/mCEvg42+CziWGwtuSTakREt5gUkM6fPw9XV1eTV3ry5El4e3vfc1FEZD5CCLyx4wQOZ1yFnZUCa6eEwc1BKXVZREQNikkByc/Pr1Yr9fX1vadiiMj81h44j7gj2ZDLgI8e744gTw4ASURUlcnvDPDz80N0dDS++OILZGdnm7MmIjKT/53Mw9s/nAIA/HtkJwwK8pC4IiKihsnkPkjR0dFISEhAXFwcKioq0KZNG0RERGDQoEGIiIiAp6enOeskovt08rIKz8clQwjg8fDWmNrHX+qSiIgaLJkQQtRmAY1Gg4MHD2Lv3r1ISEjA77//Dq1Wi/bt22PQoEFYuXKluWptUEx9GzBRQ3BFVY6olQdxuagcfdq2xIbonrDkS2eJqBky9fu71gGpquvXr2Pp0qX46KOPUFxcDJ1Odz+razQYkKix0OsFHlvzGxLPX0OAqx22P9sHTraWUpdFRCQJU7+/az2SdkVFBQ4fPoyEhATDFSQfHx88/PDDGDBgwH0VTUR1b/ORLCSevwZbKwXWTunBcEREZAKTA9KCBQsMgcjPzw/9+/fH9OnTsWnTJj7ST9RA5anKsfiH0wCA2UM6oI2rncQVERE1DiYHpDfffBOtW7fG0qVL8cgjj6Bly5bmrIuI6sD87/6EWlOJrq2cMLm3v9TlEBE1Gib30vzxxx/x2GOPYcOGDfD29kaXLl3w3HPP4euvv0Z+fr45aySie/DLyTz8kJoLhVyGxWO7QiHna0SIiEx1T5201Wo19u/fj71792LPnj34448/0LZtW0RERODjjz82R50NDjtpU0OmLtfiH8v2IVdVjqcHBOLV4UFSl0RE1CDUy1NsOp0OiYmJ2LlzJ1atWsWn2IgaiDd3/okNhzLR2sUWP73YHzZWfM8aERFgpqfY9Ho9jh49ij179iAhIQEHDx5ESUkJWrVqhYceeggRERH3XTgR3Z9jWdex8XAmAOCdh7owHBER3QOTA9Lw4cNx6NAhqNVqeHt7IyIiAsuXL0dERAQCAgLMWSMRmUir02PON6kQAhj7gA/6tjP9JdNERPQXkwOSs7MzlixZgoiICLRr186cNRHRPfpsXwbS8tRwsbPC6yM7SV0OEVGjZXJA2rx5sznrIKL7dL6gBB/EnwUAvPHPjnCxs5K4IiKixsukx/w//PBDlJeXm7zS1atXQ61W33NRRFQ7Qgi8ti0VFZV69GvniqgQH6lLIiJq1EwKSLNmzapV4Hn55Zc5NhJRPdqadBGHM67C2lKOt6O6QCbjmEdERPfDpFtsQggMHjwYFham3ZErKyu7r6KIyHQFxRq8/f0pAMCsyPZo3dJW4oqIiBo/kxLPvHnzarXSMWPGwMXF5Z4KIqLaWbjrJIrKtOjk5YiYvm2kLoeIqEkwS0AiovpxJPMadqRchkwGLB7XBRYKk98eREREd8CzKVEjpdMLzPv2TwDAYz1ao2srZ2kLIiJqQhiQiBqpLUeycTJHBQdrC8we0l7qcoiImhQGJKJGqKhUiyU/nQYAxP6jPVraKyWuiIioaWFAImqElv/vDK6XatHO3R5PPOgndTlERE1OrQPSnQaMzMnJua9iiOju0nLV+M9vFwAA80Z1hiU7ZhMR1blan1kfeOABpKSkVJv/zTffoGvXrnVRExHVQAiBBbv+hE4vMLSzB19GS0RkJrUOSAMHDsSDDz6Id999FwBQUlKCKVOmYOLEiXjttdfqvEAi+stPf+bi4LmrsLKQ82W0RERmZPLLam9ZtWoVRo4ciSeffBK7du1CTk4O7O3tkZiYiODgYHPUSEQAyrU6LLw5YvZT/QPg68IRs4mIzKXWAQkAhg8fjrFjx+KTTz6BhYUFvvvuO4YjIjNbsy8DF6+XwcvJGs8MDJS6HCKiJq3Wt9jS09PRq1cv7Nq1Cz/99BNefvlljB49Gi+//DK0Wq05aiRq9i4XlmFlwjkAwJwRHWFrdU//tyEiIhPVOiCFhISgTZs2+OOPP/CPf/wDCxcuxJ49e7Bt2zb07NnTHDUSNXuLfjyNcq0ePf1dMKqrl9TlEBE1ebUOSKtWrUJcXBycnZ0N83r37o3k5GQ88MADdVkbEQH4PeMqvvvjMuQyYN7oTpDJZFKXRETU5MmEEELqIhojlUoFJycnFBUVwdHRUepyqInS6QX++dEBnMpRYUJ4a7z9UBepSyIiatRM/f6udUeGL774osbPZDIZJk6cWNtVElENNidm4VSOCo7WFvi/IR2kLoeIqNmodUB64YUXjH7WarUoLS2FlZUVbG1tGZCI6sgVVTne2/3X+9Zc7KwkroiIqPmodR+k69evG03FxcVIS0tD3759sXnz5loXsHLlSvj7+8Pa2hrh4eFITEw0abm4uDjIZDJERUUZzS8uLsbMmTPRqlUr2NjYoFOnTli9erVRm/LycsyYMQMtW7aEvb09xo0bh7y8vFrXTmQuQgi88e0JqMor0bWVE9+3RkRUz+rkJU7t2rXD4sWLq11dupstW7YgNjYW8+bNw7Fjx9CtWzcMHToUV65cueNymZmZmD17Nvr161fts9jYWOzevRtffvklTp06hRdffBEzZ87Ezp07DW1mzZqF7777Dlu3bsXevXtx+fJljB07tla1E5nTjydy8dOfebCQy/DuuK6w4PvWiIjqVZ2ddS0sLHD58uVaLbNs2TJMmzYN0dHRhis9tra2WLduXY3L6HQ6TJgwAfPnz0dAQEC1zw8dOoTJkydj4MCB8Pf3x/Tp09GtWzfDlamioiKsXbsWy5Ytw6BBgxAaGor169fj0KFD+O2332q300RmUFhagbnfngAAPBvRFh29+BAAEVF9q3UfpL9fiQFu3ArIycnBxx9/jD59+pi8noqKCiQlJWHOnDmGeXK5HJGRkTh8+HCNyy1YsADu7u6IiYnB/v37q33eu3dv7Ny5E1OnToW3tzcSEhJw5swZLF++HACQlJQErVaLyMhIwzJBQUFo3bo1Dh8+jAcffPC229VoNNBoNIafVSqVyftKVBsLdp1EQXEF2rnbY0YER8wmIpJCrQNS1T4/MpkMbm5uGDRoEJYuXWryegoKCqDT6eDh4WE038PDA6dPn77tMgcOHMDatWuRkpJS43o/+ugjTJ8+Ha1atYKFhQXkcjnWrFmD/v37AwByc3NhZWVlNI7Tre3m5ubWuN5FixZh/vz5pu0c0T1KSLuCbccuQSYD3n24K5QWCqlLIiJqlmodkPR6vTnquCu1Wo2JEydizZo1cHV1rbHdRx99hN9++w07d+6En58f9u3bhxkzZsDb29voqlFtzZkzB7GxsYafVSoVfH1973l9RFUVayrx7+03bq1F926DB1q3kLgiIqLmS7IXOrm6ukKhUFR7eiwvLw+enp7V2qenpyMzMxOjRo0yzLsV1iwsLJCWlgZvb2+89tpr2L59O0aOHAkA6Nq1K1JSUvD+++8jMjISnp6eqKioQGFhodFVpJq2e4tSqYRSqbyfXSa6o/d2n8alwjL4uthg9tD2UpdDRNSsmRSQ/n7l5G6WLVtmUjsrKyuEhoYiPj7ecNtOr9cjPj4eM2fOrNY+KCgIqampRvNef/11qNVqfPDBB/D19UV5eTm0Wi3kcuO+5wqFwhCmQkNDYWlpifj4eIwbNw4AkJaWhqysLPTq1cvk/SSqS4nnr+GLwxcAAIvHduXLaImIJGbSWTg5OdmkldX2HVGxsbGYPHkywsLC0LNnT6xYsQIlJSWIjo4GAEyaNAk+Pj5YtGgRrK2tERwcbLT8rStAt+ZbWVlhwIABeOmll2BjYwM/Pz/s3bsXX3zxhSG4OTk5ISYmBrGxsXBxcYGjoyOee+459OrVq8YO2kTmVK7V4dVvjgMAxof5ok/bmm8hExFR/TApIH3wwQfo3LkzFIq67TA6fvx45OfnY+7cucjNzUVISAh2795t6LidlZVV7WrQ3cTFxWHOnDmYMGECrl27Bj8/P7z99tt4+umnDW2WL18OuVyOcePGQaPRYOjQoVi1alWd7huRqT6IP4uMghK4Oyjx2siOUpdDREQw8WW1CoUCubm5cHNzQ0BAAI4cOYKWLVvWR30NFl9WS3XhxKUijFl5EDq9wGcTQzGkc8394IiI6P6Z+v1t0uUZZ2dnZGRkALgxirVUT7IRNSVanR4vf30cOr3AyK5eDEdERA2ISbfYxo0bhwEDBsDLywsymQxhYWE13m67FaSI6M5W7UnHyRwVnG0t8eaozlKXQ0REf2NSQPrss88wduxYnDt3Ds8//zymTZsGBwcHc9dG1GTtPpGDFfFnAADzRnWCmwOHkCAiakhMfpZ42LBhAG68quOFF15gQCK6R8cvFuLFLSkQApjUyw9RIT5Sl0RERFXUerCV9evXm6MOombhUmEZYjYeRblWj4Ed3DD3n51qPTwGERGZX+2eoSeie6Yu1yJmwxHkqzUI8nTAR//qDgsF/wkSETVEPDsT1YNKnR7PbU7G6Vw1XO2VWDulBxysLaUui4iIasCARFQP3tp1Eglp+bC2lGPt5DD4ONtIXRIREd0BAxKRmW04eB4bb75nbcX4EHTzdZa2ICIiuisGJCIz+vV0HhbsOgkAeHV4EIYFe0lcERERmYIBichMTl5WYeZXydCLGy+hfap/gNQlERGRiRiQiMwgT1WOmI1HUFqhQ+/Allj4UDAf5yciakQYkIjq2IlLRRi76hByisoR6GaHTyaEwpKP8xMRNSq1HiiSiGq2PfkiXv0mFZpKPfxa2mL9lJ5wsuXj/EREjQ0DElEd0Or0WPTDaaw7eB4AMLCDGz4Y353hiIiokWJAIrpPBcUazPzqGH7LuAYAeG5QW7wY2R4KOfscERE1VgxIRPfh+MVCPP2fJFwuKoedlQJLHw3BsGBPqcsiIqL7xIBEdI+2Hs3Gv3ecQEWlHgGudvhsUijaujtIXRYREdUBBiSiWqqo1OPt708aRseO7OiOZeND4Mh3qxERNRkMSES1cCTzGl7ffgJpeWoAwIuR7fD8oHaQs78REVGTwoBEZILrJRVY/ONpbDmaDQBwsbPCe+O6IrKTh8SVERGROTAgEd2BEAJfJ13EOz+cwvVSLQDgsR6+eGVYEFrYWUlcHRERmQsDElENzuap8e8dJ5B4/sbj+x08HPD2Q8EI83eRuDIiIjI3BiSiKsoqdPjo17P4bF8GKvUCNpYKvBjZDlP7tuErQ4iImgkGJKK/OZx+FS99/QcuXi8DAER29MCbozuhVQtbiSsjIqL6xIBEhBuvCln+yxl8sjcdQgDeTtZ4c3RnDOnMQR+JiJojBiRq9i5cLcHzcSn4I7sQADA+zBdzR3WCnZL/PIiImit+A1CzJYTA9uRLeGPHCZRU6OBobYFFY7tiZFcvqUsjIiKJMSBRs6Qq1+KNHSfwbcplAEBPfxcsfywEPs42EldGREQNAQMSNTtJF67jhbhkXLxeBoVchhcHt8OzEW2h4GjYRER0EwMSNRt6vcDHe87hg/iz0OkFfF1s8MFj3fFA6xZSl0ZERA0MAxI1C0IILNh1EhsOZQIAokK88VZUMBz4glkiIroNBiRqFj7dl2EIR4vGdsG/eraWtiAiImrQOCwwNXnbjl3E4h9PAwBeH9mR4YiIiO6KAYmatH1n8vHy18cBAE/2bYMn+wVIXBERETUGDEjUZKVeLMLTXyahUi8wups3XhvRUeqSiIiokWBAoibpwtUSRG9IRGmFDn3atsT7j3SDnI/xExGRiRiQqMkpKNZg0rpEFBRXoJOXI1Y/EQorC/6qExGR6fitQU1KiaYSUzccwYWrpfB1scGGqT34KD8REdUaAxI1GVqdHs9sOobjF4vgYmeFjdE94e5gLXVZRETUCDEgUZMghMCr36Ri35l82FgqsHZyGALc7KUui4iIGikGJGoSdqRcwjfHLkIhl2HVhAfQna8PISKi+8CARI3e9ZIKvLXrFABgVmQ7RAS5S1wRERE1dgxI1Oi988MpXCupQHsPe0zvHyh1OURE1AQwIFGjdjj9KrYmXQRw4x1rfJyfiIjqQoP4Nlm5ciX8/f1hbW2N8PBwJCYmmrRcXFwcZDIZoqKijObLZLLbTkuWLDG08ff3r/b54sWL63K3yMzKtTr8e3sqAGBCeGuE+rlIXBERETUVkgekLVu2IDY2FvPmzcOxY8fQrVs3DB06FFeuXLnjcpmZmZg9ezb69etX7bOcnByjad26dZDJZBg3bpxRuwULFhi1e+655+p038i8ViWkI6OgBG4OSrw8LEjqcoiIqAmRPCAtW7YM06ZNQ3R0NDp16oTVq1fD1tYW69atq3EZnU6HCRMmYP78+QgIqP7yUU9PT6Pp22+/RURERLW2Dg4ORu3s7OzqfP/IPM5dUeOThHMAgDdHdYaTDQeDJCKiuiNpQKqoqEBSUhIiIyMN8+RyOSIjI3H48OEal1uwYAHc3d0RExNz123k5eXh+++/v23bxYsXo2XLlujevTuWLFmCysrKGtej0WigUqmMJpKGXi/w2rYT0OoEBgW5Y0QXT6lLIiKiJsZCyo0XFBRAp9PBw8PDaL6HhwdOnz5922UOHDiAtWvXIiUlxaRtbNy4EQ4ODhg7dqzR/Oeffx4PPPAAXFxccOjQIcyZMwc5OTlYtmzZbdezaNEizJ8/36RtknltTcpGYuY12FgqMH90Z8hkfAktERHVLUkDUm2p1WpMnDgRa9asgaurq0nLrFu3DhMmTIC1tfErJ2JjYw1/79q1K6ysrPDUU09h0aJFUCqV1dYzZ84co2VUKhV8fX3vcU/oXhUUa/DODzfCc+w/2sPXxVbiioiIqCmSNCC5urpCoVAgLy/PaH5eXh48PavfNklPT0dmZiZGjRplmKfX6wEAFhYWSEtLQ2DgX+Pg7N+/H2lpadiyZctdawkPD0dlZSUyMzPRoUOHap8rlcrbBieqX2/tOomiMi06ezsiuo+/1OUQEVETJWkfJCsrK4SGhiI+Pt4wT6/XIz4+Hr169arWPigoCKmpqUhJSTFMo0ePRkREBFJSUqpd0Vm7di1CQ0PRrVu3u9aSkpICuVwOd3eOwtxQ7T2Tj29TLkMuuzHmkYVC8mcMiIioiZL8FltsbCwmT56MsLAw9OzZEytWrEBJSQmio6MBAJMmTYKPjw8WLVoEa2trBAcHGy3v7OwMANXmq1QqbN26FUuXLq22zcOHD+P3339HREQEHBwccPjwYcyaNQtPPPEEWrTgO7waorIKHV7fcWPMo8m9/dG1lbO0BRERUZMmeUAaP3488vPzMXfuXOTm5iIkJAS7d+82dNzOysqCXF77KwVxcXEQQuBf//pXtc+USiXi4uLw5ptvQqPRoE2bNpg1a5ZRHyNqWD6IP4vsa2XwcrLG/w2pfguUiIioLsmEEELqIhojlUoFJycnFBUVwdHRUepymrSL10sR8X4CtDqBzyaGYkhnPtZPRET3xtTvb3bioAZv5Z5z0OoE+rRtyXBERET1ggGJGrTsa6XYevTGy2hfjGwvcTVERNRcMCBRg7ZyzzlU6gX6tnVFD3++jJaIiOoHAxI1WNnXSvF10o2rR7P+0U7iaoiIqDlhQKIG66Nfz6JSL9CvnStC/Xj1iIiI6g8DEjVIWVdL8c2xSwDY94iIiOofAxI1SB/9ehY6vUD/9m4I9ePgnUREVL8YkKjBySwowbbkG1ePZkWy7xEREdU/BiRqcD769Rx0eoGBHdzQvTWvHhERUf1jQKIGJbOgBDtS2PeIiIikxYBEDcqHN/seRXRwQ4ivs9TlEBFRM8WARA1GRn4xdiTz6hEREUmPAYkajI9/PQe9AAYHuaMbrx4REZGEGJCoQUjPL2bfIyIiajAYkKhB+Cj+LPQCiOzoji6tnKQuh4iImjkGJJLcuSvF2PnHZQC8ekRERA0DAxJJ7uNfb1w9+kcnDwT78OoRERFJjwGJJJV9rRTfHc8BALwwmKNmExFRw8CARJL6fH8GdHqBfu1cefWIiIgaDAYkksy1kgpsOZoNAHh6QKDE1RAREf2FAYkks/FQJsq1enTxcULvwJZSl0NERGTAgESSKK2oxBeHMwEATw0IgEwmk7YgIiKiv2FAIkn890g2rpdq0drFFsODvaQuh4iIyAgDEtW7Sp0ea/afBwBM6x8AhZxXj4iIqGFhQKJ6931qDi4VlqGlnRUeCW0ldTlERETVMCBRvRJCYPXeDADAlN7+sLZUSFwRERFRdQxIVK/2nS3AqRwVbK0UmNjLT+pyiIiIbosBierVp3vTAQCP9WgNZ1sriashIiK6PQYkqjfHLxbiUPpVWMhliOnXRupyiIiIasSARPXm05t9j0Z384aPs43E1RAREdWMAYnqRWZBCX48ceOltNMHBEhcDRER0Z0xIFG9WLM/A3oBRHRwQ5Cno9TlEBER3REDEpldvlqDrUkXAQBP8aW0RETUCDAgkdltPJSJiko9QnydEd7GRepyiIiI7ooBicyqWPPXS2mf5ktpiYiokWBAIrOKS8yCqrwSAa52+EcnT6nLISIiMgkDEplNuVaHT/fdeLR/Ol9KS0REjQgDEpnNpt+zkK/WwMfZBmMf4EtpiYio8WBAIrMo1+qw+uZrRWYOagsrC/6qERFR48FvLTKLr/529Wgcrx4REVEjw4BEda5cq8MnN68ezYjg1SMiImp8+M1FdW5z4l9Xjx4O5dUjIiJqfBiQqE6Va3X4JOHG1aNnIwJ59YiIiBolfntRndqcmIUrag28nazxSKiv1OUQERHdEwYkqjPGV4/Y94iIiBqvBvENtnLlSvj7+8Pa2hrh4eFITEw0abm4uDjIZDJERUUZzZfJZLedlixZYmhz7do1TJgwAY6OjnB2dkZMTAyKi4vrcreanbi/Xz0KY98jIiJqvCQPSFu2bEFsbCzmzZuHY8eOoVu3bhg6dCiuXLlyx+UyMzMxe/Zs9OvXr9pnOTk5RtO6desgk8kwbtw4Q5sJEybgzz//xC+//IJdu3Zh3759mD59ep3vX3Px9yfXnoloC6WFQuKKiIiI7p1MCCGkLCA8PBw9evTAxx9/DADQ6/Xw9fXFc889h1dfffW2y+h0OvTv3x9Tp07F/v37UVhYiB07dtS4jaioKKjVasTHxwMATp06hU6dOuHIkSMICwsDAOzevRsjRozAxYsX4e3tXW0dGo0GGo3G8LNKpYKvry+Kiorg6Oh4r7vfZGw8lIl5O/+El5M1El4ayIBEREQNkkqlgpOT012/vyW9glRRUYGkpCRERkYa5snlckRGRuLw4cM1LrdgwQK4u7sjJibmrtvIy8vD999/b9T28OHDcHZ2NoQjAIiMjIRcLsfvv/9+2/UsWrQITk5OhsnXlx2QbynX6rAq4RyAG32PGI6IiKixkzQgFRQUQKfTwcPDw2i+h4cHcnNzb7vMgQMHsHbtWqxZs8akbWzcuBEODg4YO3asYV5ubi7c3d2N2llYWMDFxaXG7c6ZMwdFRUWGKTs726TtNwf/PZqNPJUGXk7WeJR9j4iIqAmwkLqA2lCr1Zg4cSLWrFkDV1dXk5ZZt24dJkyYAGtr6/vatlKphFKpvK91NEWaSh1W7bn55NrAQF49IiKiJkHSgOTq6gqFQoG8vDyj+Xl5efD09KzWPj09HZmZmRg1apRhnl6vB3DjClBaWhoCAwMNn+3fvx9paWnYsmWL0Xo8PT2rdQKvrKzEtWvXbrtdqtl/j2QjV1UOT0drPNqDtx2JiKhpkPQWm5WVFUJDQw2dp4EbgSc+Ph69evWq1j4oKAipqalISUkxTKNHj0ZERARSUlKq9Qtau3YtQkND0a1bN6P5vXr1QmFhIZKSkgzzfv31V+j1eoSHh9fxXjZdmkodVu75a9RsXj0iIqKmQvJbbLGxsZg8eTLCwsLQs2dPrFixAiUlJYiOjgYATJo0CT4+Pli0aBGsra0RHBxstLyzszMAVJuvUqmwdetWLF26tNo2O3bsiGHDhmHatGlYvXo1tFotZs6ciccee+y2T7DR7X2+//xfV4/CePWIiIiaDskD0vjx45Gfn4+5c+ciNzcXISEh2L17t6HjdlZWFuTy2l/oiouLgxAC//rXv277+aZNmzBz5kwMHjwYcrkc48aNw4cffnhf+9KcZF0txYfxZwEALw3tAGtLXj0iIqKmQ/JxkBorU8dRaIqEEJi8/gj2nclHr4CW+GpaOGQymdRlERER3VWjGAeJGqddx3Ow70w+rBRyLHwomOGIiIiaHAYkqpWiMi0W7DoJAHhmYCAC3ewlroiIiKjuMSBRrSz56TTy1RoEuNrhmYGBd1+AiIioEWJAIpMlZ13Hpt+zAAALHwpmx2wiImqyGJDIJFqdHnO2pUIIYGx3H/QONG0kcyIiosaIAYlMsv7geZzOVcPZ1hL/HtlR6nKIiIjMigGJ7uri9VIs/+XGmEdzhgehpT3fSUdERE0bAxLdkRAC8779E2VaHXr4t8AjoRwxm4iImj4GJLqjn/7MRfzpK7BUyPDOQ10gl3PMIyIiavoYkKhG6nIt5u38EwAwvX8A2nk4SFwRERFR/WBAohot/fkM8lQatHaxxXOD2kldDhERUb1hQKLb2p58ERsOZQIAFkZxzCMiImpeGJComoS0K3hp63EAwNQ+bdC/vZvEFREREdUvBiQykpJdiGe+PIZKvcDobt54nWMeERFRM8SARAbp+cWYuuEIyrQ69Gvnivcf6can1oiIqFliQCIAQJ6qHJPWJuJaSQW6tnLCJ0+EwsqCvx5ERNQ88RuQUFSmxeR1ibhUWIY2rnZYN6UH7JUWUpdFREQkGQakZq5cq8O0jUdxOlcNNwclvpjaE658lQgRETVzDEjNmE4v8PzmZCRmXoOD0gJfTO0JXxdbqcsiIiKSHANSMyWEwOs7TuDnk3mwspBjzeQwdPRylLosIiKiBoEdTZohVbkWi344hc2J2ZDLgA8fC8GDAS2lLouIiKjBYEBqRoQQ+O54Dt7adRL5ag0A4K2oYAwL9pK4MiIiooaFAamZOF9Qgjd2nMCBcwUAgDaudnhrTDD6tnOVuDIiIqKGhwGpiSvX6rAqIR2rE9JRodPDykKOGQPb4qkBAXy/GhERUQ0YkJqwvWfyMffbE7hwtRQA0L+9GxaM7gx/VzuJKyMiImrYGJCamHKtDr+fv4YtR7LwQ2ouAMDDUYm5/+yMEV08IZPx1SFERER3w4DUyAkhcL6gBHvP5CMhLR+/ZVyFplIPAJDLgMm9/RH7j/ZwsLaUuFIiIqLGgwGpESrRVOJw+lUknLmCvWfykX2tzOhzLydrDGjvhom9/NDZ20miKomIiBovBqRG4HJhGZIuXEfShes4euEaTuWoodMLw+eWChl6tnHBgPZuGNjBHe3c7XkrjYiI6D4wIDUwlTo9Tueqb4ah60jKvIbLReXV2vm62GBge3cMaO+GXoEtYceXyxIREdUZfqs2MFGrDuLEJZXRPIVcho5eDgjzc0GoXwuE+beAl5ONRBUSERE1fQxIDUxHT0dkFpSie2tnhPm5IMy/BUJ8nXmFiIiIqB7JhBDi7s2oKpVKBScnJxQVFcHRse5e8qoq18LOygIKOfsQERER1TVTv795WaKBceTj+ERERJKTS10AERERUUPDgERERERUBQMSERERURUMSERERERVMCARERERVcGARERERFQFAxIRERFRFQxIRERERFUwIBERERFVwYBEREREVAUDEhEREVEVDEhEREREVTAgEREREVVhIXUBjZUQAgCgUqkkroSIiIhMdet7+9b3eE0YkO6RWq0GAPj6+kpcCREREdWWWq2Gk5NTjZ/LxN0iFN2WXq/H5cuX4eDgAJlMJnU5JlGpVPD19UV2djYcHR2lLqfB4fG5Mx6fu+MxujMenzvj8bmzujo+Qgio1Wp4e3tDLq+5pxGvIN0juVyOVq1aSV3GPXF0dOQ/vjvg8bkzHp+74zG6Mx6fO+PxubO6OD53unJ0CztpExEREVXBgERERERUBQNSM6JUKjFv3jwolUqpS2mQeHzujMfn7niM7ozH5854fO6svo8PO2kTERERVcErSERERERVMCARERERVcGARERERFQFAxIRERFRFQxIjdS+ffswatQoeHt7QyaTYceOHXddZtOmTejWrRtsbW3h5eWFqVOn4urVq0ZtVqxYgQ4dOsDGxga+vr6YNWsWysvLzbQX5nMvx2flypXo2LEjbGxs0KFDB3zxxRfV2mzduhVBQUGwtrZGly5d8MMPP5ih+vphjmO0Zs0a9OvXDy1atECLFi0QGRmJxMREM+2BeZnrd+iWuLg4yGQyREVF1V3R9chcx6ewsBAzZsyAl5cXlEol2rdv3yj/nZnr+DSVc/SiRYvQo0cPODg4wN3dHVFRUUhLS7vrcnc7BwshMHfuXHh5ecHGxgaRkZE4e/bsvRUpqFH64YcfxL///W+xbds2AUBs3779ju0PHDgg5HK5+OCDD0RGRobYv3+/6Ny5s3jooYcMbTZt2iSUSqXYtGmTOH/+vPjpp5+El5eXmDVrlpn3pu7V9visWrVKODg4iLi4OJGeni42b94s7O3txc6dOw1tDh48KBQKhXjvvffEyZMnxeuvvy4sLS1FamqqmffGPMxxjB5//HGxcuVKkZycLE6dOiWmTJkinJycxMWLF828N3XPHMfnlvPnzwsfHx/Rr18/MWbMGPPsgJmZ4/hoNBoRFhYmRowYIQ4cOCDOnz8vEhISREpKipn3pu6Z4/g0pXP00KFDxfr168WJEydESkqKGDFihGjdurUoLi6ucRlTzsGLFy8WTk5OYseOHeKPP/4Qo0ePFm3atBFlZWW1rpEBqQkw5R/fkiVLREBAgNG8Dz/8UPj4+Bh+njFjhhg0aJBRm9jYWNGnT586q1UKphyfXr16idmzZxvNq7rvjz76qBg5cqRRm/DwcPHUU0/VWa1SqatjVFVlZaVwcHAQGzdurIsyJVOXx6eyslL07t1bfP7552Ly5MmNNiD9XV0dn08++UQEBASIiooKc5Qpmbo6Pk31HC2EEFeuXBEAxN69e2tsc7dzsF6vF56enmLJkiWGzwsLC4VSqRSbN2+udU28xdZM9OrVC9nZ2fjhhx8ghEBeXh6+/vprjBgxwtCmd+/eSEpKMtwSycjIwA8//GDUpqnSaDSwtrY2mmdjY4PExERotVoAwOHDhxEZGWnUZujQoTh8+HC91SklU45RVaWlpdBqtXBxcamPEiVl6vFZsGAB3N3dERMTU98lSsqU47Nz50706tULM2bMgIeHB4KDg/HOO+9Ap9NJUXK9MuX4NOVzdFFREQDc8Vxxt3Pw+fPnkZuba9TGyckJ4eHh93SeZkBqJvr06YNNmzZh/PjxsLKygqenJ5ycnLBy5UpDm8cffxwLFixA3759YWlpicDAQAwcOBCvvfaahJXXj6FDh+Lzzz9HUlIShBA4evQoPv/8c2i1WhQUFAAAcnNz4eHhYbSch4cHcnNzpSi53plyjKp65ZVX4O3tXe2k1hSZcnwOHDiAtWvXYs2aNRJXW/9MOT4ZGRn4+uuvodPp8MMPP+CNN97A0qVLsXDhQomrNz9Tjk9TPUfr9Xq8+OKL6NOnD4KDg2tsd7dz8K0/6+o8zYDUTJw8eRIvvPAC5s6di6SkJOzevRuZmZl4+umnDW0SEhLwzjvvYNWqVTh27Bi2bduG77//Hm+99ZaEldePN954A8OHD8eDDz4IS0tLjBkzBpMnTwYAyOX8ZwLU/hgtXrwYcXFx2L59e7X/GTdFdzs+arUaEydOxJo1a+Dq6ipxtfXPlN8fvV4Pd3d3fPbZZwgNDcX48ePx73//G6tXr5ay9HphyvFpqufoGTNm4MSJE4iLi5O6FGO1vilHDQ5MuL/9xBNPiIcfftho3v79+wUAcfnyZSGEEH379q12D/w///mPsLGxETqdrk5rrk+mHJ9bKioqRHZ2tqisrDR0mry1776+vmL58uVG7efOnSu6du1axxXXv7o6RrcsWbJEODk5iSNHjpih2vpXF8cnOTlZABAKhcIwyWQyIZPJhEKhEOfOnTPvTphRXf3+9O/fXwwePNio/Q8//CAACI1GU9dl15u6Oj5N8Rw9Y8YM0apVK5GRkXHXtnc7B6enpwsAIjk52ahN//79xfPPP1/r2vhf42aitLS02v/yFQoFgBuPRZrapqmztLREq1atoFAoEBcXh3/+85+GY9KrVy/Ex8cbtf/ll1/Qq1cvKUqVzJ2OEQC89957eOutt7B7926EhYVJWKk0ajo+QUFBSE1NRUpKimEaPXo0IiIikJKSAl9fX6lLrxd3+v3p06cPzp07B71eb2h/5swZeHl5wcrKSqqS69Wdjk9TOkcLITBz5kxs374dv/76K9q0aXPXZe52Dm7Tpg08PT2N2qhUKvz+++/3dp6udaSiBkGtVovk5GTD/0qXLVsmkpOTxYULF4QQQrz66qti4sSJhvbr168XFhYWYtWqVSI9PV0cOHBAhIWFiZ49exrazJs3Tzg4OIjNmzeLjIwM8fPPP4vAwEDx6KOP1vv+3a/aHp+0tDTxn//8R5w5c0b8/vvvYvz48cLFxUWcP3/e0ObgwYPCwsJCvP/+++LUqVNi3rx5jfoxf3Mco8WLFwsrKyvx9ddfi5ycHMOkVqvre/fumzmOT1WN+Sk2cxyfrKws4eDgIGbOnCnS0tLErl27hLu7u1i4cGF97959M8fxaUrn6GeeeUY4OTmJhIQEo3NFaWmpoc3EiRPFq6++avjZlHPw4sWLhbOzs/j222/F8ePHxZgxY/iYf3OzZ88eAaDaNHnyZCHEjRPvgAEDjJb58MMPRadOnYSNjY3w8vISEyZMMBqfRqvVijfffFMEBgYKa2tr4evrK5599llx/fr1+tuxOlLb43Py5EkREhIibGxshKOjoxgzZow4ffp0tfX+97//Fe3btxdWVlaic+fO4vvvv6+nPap75jhGfn5+t13nvHnz6m/H6oi5fof+rjEHJHMdn0OHDonw8HChVCpFQECAePvtt0VlZWU97VXdMcfxaUrn6NsdGwBi/fr1hjYDBgwwHK9b7nYO1uv14o033hAeHh5CqVSKwYMHi7S0tHuqUXazUCIiIiK6iX2QiIiIiKpgQCIiIiKqggGJiIiIqAoGJCIiIqIqGJCIiIiIqmBAIiIiIqqCAYmIiIioCgYkIiIiqhf79u3DqFGj4O3tDZlMhh07dtRq+fLyckyZMgVdunSBhYUFoqKi7tj+4MGDsLCwQEhISK1rZUAiojojhMD06dPh4uICmUyGlJQUqUtqkKZMmQKZTHZPXxB3k5CQYFj33b48iOpbSUkJunXrhpUrV97T8jqdDjY2Nnj++ecRGRl5x7aFhYWYNGkSBg8efE/bYkAiojqze/dubNiwAbt27UJOTg6Cg4OlLqnBGjZsGHJycjB8+HDDvJoC05QpU0wOO71790ZOTg4effTROqqUqO4MHz4cCxcuxEMPPXTbzzUaDWbPng0fHx/Y2dkhPDwcCQkJhs/t7OzwySefYNq0afD09Lzjtp5++mk8/vjj9/xCcQYkIqoz6enp8PLyQu/eveHp6QkLC4tqbSoqKiSorOFRKpXw9PSEUqms0/VaWVnB09MTNjY2dbpeovowc+ZMHD58GHFxcTh+/DgeeeQRDBs2DGfPnq3VetavX4+MjAzMmzfvnmthQCKiOjFlyhQ899xzyMrKgkwmg7+/PwBg4MCBmDlzJl588UW4urpi6NChAIATJ05g+PDhsLe3h4eHByZOnIiCggLD+kpKSjBp0iTY29vDy8sLS5cuxcCBA/Hiiy8a2tzuiouzszM2bNhg+Dk7OxuPPvoonJ2d4eLigjFjxiAzM9Oo7qioKLz//vvw8vJCy5YtMWPGDGi1WkMbjUaDV155Bb6+vlAqlWjbti3Wrl0LIQTatm2L999/36iGlJQUyGQynDt37v4O6m1kZmYabqH9fRo4cGCdb4uoPmVlZWH9+vXYunUr+vXrh8DAQMyePRt9+/bF+vXrTV7P2bNn8eqrr+LLL7+87X/STMWARER14oMPPsCCBQvQqlUr5OTk4MiRI4bPNm7cCCsrKxw8eBCrV69GYWEhBg0ahO7du+Po0aPYvXs38vLyjG4LvfTSS9i7dy++/fZb/Pzzz0hISMCxY8dqVZNWq8XQoUPh4OCA/fv34+DBg7C3t8ewYcOMrmTt2bMH6enp2LNnDzZu3IgNGzYYhaxJkyZh8+bN+PDDD3Hq1Cl8+umnsLe3h0wmw9SpU6udvNevX4/+/fujbdu2tTyKd+fr64ucnBzDlJycjJYtW6J///51vi2i+pSamgqdTof27dvD3t7eMO3duxfp6ekmrUOn0+Hxxx/H/Pnz0b59+/uq596jFRHR3zg5OcHBwQEKhaJa34B27drhvffeM/y8cOFCdO/eHe+8845h3rp16+Dr64szZ87A29sba9euxZdffmnoYLlx40a0atWqVjVt2bIFer0en3/+OWQyGYAb4cXZ2RkJCQkYMmQIAKBFixb4+OOPoVAoEBQUhJEjRyI+Ph7Tpk3DmTNn8N///he//PKLoVNoQECAYRtTpkzB3LlzkZiYiJ49e0Kr1eKrr76qdlXJVP/617+gUCiM5mk0GowcORIAjI5veXk5oqKi0KtXL7z55pv3tD2ihqK4uBgKhQJJSUnV/g3Y29ubtA61Wo2jR48iOTkZM2fOBADo9XoIIWBhYYGff/4ZgwYNMmldDEhEZHahoaFGP//xxx/Ys2fPbU966enpKCsrQ0VFBcLDww3zXVxc0KFDh1pt948//sC5c+fg4OBgNL+8vNzof6SdO3c2OiF7eXkhNTUVwI3bZQqFAgMGDLjtNry9vTFy5EisW7cOPXv2xHfffQeNRoNHHnmkVrXesnz58mpP57zyyivQ6XTV2k6dOhVqtRq//PIL5HLeEKDGrXv37tDpdLhy5Qr69et3T+twdHQ0/Nu9ZdWqVfj111/x9ddfo02bNiaviwGJiMzOzs7O6Ofi4mKMGjUK7777brW2Xl5eJvfdkclkEEIYzft736Hi4mKEhoZi06ZN1ZZ1c3Mz/N3S0rLaevV6PQCY1Nn5ySefxMSJE7F8+XKsX78e48ePh62trUn7UJWnp2e1W3MODg4oLCw0mrdw4UL89NNPSExMrBYAiRqq4uJio3/f58+fR0pKClxcXNC+fXtMmDABkyZNwtKlS9G9e3fk5+cjPj4eXbt2NVxFPXnyJCoqKnDt2jWo1WrDcCIhISGQy+XVnp51d3eHtbV1rZ+qZUAionr3wAMP4JtvvoG/v/9tO1EGBgbC0tISv//+O1q3bg0AuH79Os6cOWN0JcfNzQ05OTmGn8+ePYvS0lKj7WzZsgXu7u5wdHS8p1q7dOkCvV6PvXv31jjuyogRIwyPH+/evRv79u27p22Z6ptvvsGCBQvw448/IjAw0KzbIqpLR48eRUREhOHn2NhYAMDkyZOxYcMGrF+/HgsXLsT//d//4dKlS3B1dcWDDz6If/7zn4ZlRowYgQsXLhh+7t69OwBU+8/S/eI1WSKqdzNmzMC1a9fwr3/9C0eOHEF6ejp++uknREdHQ6fTwd7eHjExMXjppZfw66+/4sSJE5gyZUq120iDBg3Cxx9/jOTkZBw9ehRPP/200dWgCRMmwNXVFWPGjMH+/ftx/vx5JCQk4Pnnn8fFixdNqtXf3x+TJ0/G1KlTsWPHDsM6/vvf/xraKBQKTJkyBXPmzEG7du3uedwVU5w4cQKTJk3CK6+8gs6dOyM3Nxe5ubm4du2a2bZJVFcGDhwIIUS16dZDEZaWlpg/fz7Onz+PiooKXL58Gdu2bUOXLl0M68jMzLztOmry5ptv3tOgtQxIRFTvvL29cfDgQeh0OgwZMgRdunTBiy++CGdnZ0MIWrJkCfr164dRo0YhMjISffv2rdaXaenSpfD19UW/fv3w+OOPY/bs2Ua3tmxtbbFv3z60bt0aY8eORceOHRETE4Py8vJaXVH65JNP8PDDD+PZZ59FUFAQpk2bhpKSEqM2MTExqKioQHR09H0cmbs7evQoSktLsXDhQnh5eRmmsWPHmnW7RM2NTNT1NSkiIjMZOHAgQkJCsGLFCqlLqWb//v0YPHgwsrOz4eHhcce2U6ZMQWFhYZ2/ZqS+t0HUlPEKEhHRfdBoNLh48SLefPNNPPLII3cNR7fs2rUL9vb22LVrV53Ws3//ftjb29+2YzoRmY6dtImI7sPmzZsRExODkJAQfPHFFyYt89577+H1118HcOOpvboUFhZm6G9h6tgxRFQdb7ERERERVcFbbERERERVMCARERERVcGARERERFQFAxIRERFRFQxIRERERFUwIBERERFVwYBEREREVAUDEhEREVEV/w+/VI5EInJj4wAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "sim_data[\"Flux monitor\"].flux.plot()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "bf840aac",
   "metadata": {},
   "source": [
    "In many cases, we would like to customize the plot. For example, the transmission is often plotted in dB scale. Instead of frequency in Hz as the x axis, wavelength in micron is more standard. In addition, we might want to plot the curve in a certain style. This can be achieved by first extracting the data from the DataArray and manually plotting them using [matplotlib](https://matplotlib.org/) or other visualization library of choice. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "e5769563",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2025-05-15T10:34:43.536317Z",
     "iopub.status.busy": "2025-05-15T10:34:43.536237Z",
     "iopub.status.idle": "2025-05-15T10:34:43.640397Z",
     "shell.execute_reply": "2025-05-15T10:34:43.640003Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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VXJysho1auSGymqeomO9efNmHTlyRB07dpSPj498fHy0du1avfXWW/Lx8VFeXp6bq/VcxX+nIyMj1aZNG4d1WrdurYyMjKourUYpPs6TJk3S5MmTdc8996ht27a6//77NX78eCUlJbmxSs8SGRmpa6+9VqGhofa+1q1byzAM/fnnn5KkBg0auPy7kODjJqmpqYqMjJQk+fn5qVOnTlq9erX9+fz8fK1evVqxsbHuKrFGKDrOkmQYhh599FEtWbJE33//vZo1a+bG6mqWomN92223adu2bUpNTbW3zp07a9iwYUpNTZW3t7ebq/VcxX+nb7755hKXZNi9e7eaNGlS1aXVKMXH+ezZs/LycvzK9Pb2Vn5+flWX5rFuvvlmHThwQGfOnLH37d69W15eXvb/gMbGxjp8F0rSypUrTf0uZI6PE86cOePwP4F9+/YpNTVV4eHhaty4sRITE5WZmamFCxdKkt544w01a9ZMN9xwg86fP6/33ntP33//vb777jv7NiZMmKCEhAR17txZXbt21RtvvKGcnBw9+OCDVf75qgtXjPPYsWP10Ucf6auvvlJwcLD9uHFoaKgCAwOr9gNWI2aPdXBwcIl5U7Vq1VKdOnUsPZ/KFb/T48eP10033aSXXnpJQ4cO1aZNmzR37lzNnTu3yj9fdeGKcR4wYICmT5+uxo0b64YbbtDWrVs1c+ZMjRw5sso/X3VR2XG+77779MILL+jBBx/U1KlTdezYMU2aNEkjR460//v72GOPKS4uTq+99pr69eunTz75RD///LO5v8+mHTSzkMJTH4u3hIQEwzAMIyEhwYiLi7OvP2PGDKN58+ZGQECAER4ebsTHxxvff/99ie3OmjXLaNy4seHn52d07drV+PHHH6voE1VPrhjn0rYnyZg/f37VfbBqyFW/00Uxx8d14/zNN98YMTExhr+/v3H99dcbc+fOraJPVD25Ypyzs7ONxx57zGjcuLEREBBgREdHG1OmTDFyc3Or8JNVL5UdZ8MwjB07dhi9evUyAgMDjUaNGhkTJkywz+8p9NlnnxktW7Y0/Pz8jBtuuMFYtmyZqXXbDMPCl50EAACWwhwfAABgGQQfAABgGQQfAABgGQQfAABgGQQfAABgGQQfAABgGQQfAABgGQQfAABgGQQfAABgGQQfANVWfHy8Hn/8cXeXYedsPcePH1dERITS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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# extract frequencies from the monitor data\n",
    "freqs = sim_data[\"Flux monitor\"].flux.f\n",
    "\n",
    "# extract the transmission flux from the monitor data\n",
    "T = sim_data[\"Flux monitor\"].flux\n",
    "\n",
    "# plot the transmission in dB\n",
    "plt.plot(td.C_0 / freqs, 10 * np.log10(T), \"red\", linewidth=3)\n",
    "plt.xlabel(r\"Wavelength ($\\mu m$)\")\n",
    "plt.ylabel(\"Transmission (dB)\")\n",
    "plt.ylim(-10, 0)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "dae1a0e7",
   "metadata": {},
   "source": [
    "### Saving Data as a CSV File"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "fd8601f6",
   "metadata": {},
   "source": [
    "After running a simulation, often we want to save the data for future use to avoid rerunning the same simulation. In Tidy3D, after a simulation is finished, the hdf5 data file will be automatically downloaded to the specified path. We can load it in the future as demonstrated at the beginning of this notebook. \n",
    "\n",
    "Sometimes users might prefer to only save certain data in other formats such as csv files. Here we demonstrate how to save the transmission flux spectrum. First we define a `numpy` array to store the data and then use the `savetxt` method to save it as a csv file. This csv file will contain two columns with the first column being the frequencies and the second column being the flux. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "b26c7db1",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2025-05-15T10:34:43.641685Z",
     "iopub.status.busy": "2025-05-15T10:34:43.641593Z",
     "iopub.status.idle": "2025-05-15T10:34:43.645242Z",
     "shell.execute_reply": "2025-05-15T10:34:43.644963Z"
    }
   },
   "outputs": [],
   "source": [
    "flux_data = np.zeros((len(freqs), 2))\n",
    "flux_data[:, 0] = sim_data[\"Flux monitor\"].flux.f\n",
    "flux_data[:, 1] = sim_data[\"Flux monitor\"].flux\n",
    "\n",
    "# ensure the directory exists\n",
    "if not os.path.exists(\"data\"):\n",
    "    os.makedirs(\"data\")\n",
    "\n",
    "np.savetxt(\"data/flux_data.csv\", flux_data, delimiter=\",\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "380c292b",
   "metadata": {},
   "source": [
    "## ModeMonitor Data"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "66269876",
   "metadata": {},
   "source": [
    "The mode monitor data contains the complex effective indices and the complex mode amplitudes at the monitor position calculated by mode decomposition. First, let's look at the data structure of the complex effective indices `n_complex`. This data contains two coordinates: `f` and `mode_index`, both of which are specified when defining the [ModeMonitor](https://docs.flexcompute.com/projects/tidy3d/en/latest/api/_autosummary/tidy3d.ModeMonitor.html) in the simulation. In this case specifically, we solved for 3 modes at 50 frequency points for this monitor."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "c41e44aa",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2025-05-15T10:34:43.647344Z",
     "iopub.status.busy": "2025-05-15T10:34:43.647043Z",
     "iopub.status.idle": "2025-05-15T10:34:43.655357Z",
     "shell.execute_reply": "2025-05-15T10:34:43.654822Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div><svg style=\"position: absolute; width: 0; height: 0; overflow: hidden\">\n",
       "<defs>\n",
       "<symbol id=\"icon-database\" viewBox=\"0 0 32 32\">\n",
       "<path d=\"M16 0c-8.837 0-16 2.239-16 5v4c0 2.761 7.163 5 16 5s16-2.239 16-5v-4c0-2.761-7.163-5-16-5z\"></path>\n",
       "<path d=\"M16 17c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n",
       "<path d=\"M16 26c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n",
       "</symbol>\n",
       "<symbol id=\"icon-file-text2\" viewBox=\"0 0 32 32\">\n",
       "<path d=\"M28.681 7.159c-0.694-0.947-1.662-2.053-2.724-3.116s-2.169-2.030-3.116-2.724c-1.612-1.182-2.393-1.319-2.841-1.319h-15.5c-1.378 0-2.5 1.121-2.5 2.5v27c0 1.378 1.122 2.5 2.5 2.5h23c1.378 0 2.5-1.122 2.5-2.5v-19.5c0-0.448-0.137-1.23-1.319-2.841zM24.543 5.457c0.959 0.959 1.712 1.825 2.268 2.543h-4.811v-4.811c0.718 0.556 1.584 1.309 2.543 2.268zM28 29.5c0 0.271-0.229 0.5-0.5 0.5h-23c-0.271 0-0.5-0.229-0.5-0.5v-27c0-0.271 0.229-0.5 0.5-0.5 0 0 15.499-0 15.5 0v7c0 0.552 0.448 1 1 1h7v19.5z\"></path>\n",
       "<path d=\"M23 26h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
       "<path d=\"M23 22h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
       "<path d=\"M23 18h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
       "</symbol>\n",
       "</defs>\n",
       "</svg>\n",
       "<style>/* CSS stylesheet for displaying xarray objects in jupyterlab.\n",
       " *\n",
       " */\n",
       "\n",
       ":root {\n",
       "  --xr-font-color0: var(--jp-content-font-color0, rgba(0, 0, 0, 1));\n",
       "  --xr-font-color2: var(--jp-content-font-color2, rgba(0, 0, 0, 0.54));\n",
       "  --xr-font-color3: var(--jp-content-font-color3, rgba(0, 0, 0, 0.38));\n",
       "  --xr-border-color: var(--jp-border-color2, #e0e0e0);\n",
       "  --xr-disabled-color: var(--jp-layout-color3, #bdbdbd);\n",
       "  --xr-background-color: var(--jp-layout-color0, white);\n",
       "  --xr-background-color-row-even: var(--jp-layout-color1, white);\n",
       "  --xr-background-color-row-odd: var(--jp-layout-color2, #eeeeee);\n",
       "}\n",
       "\n",
       "html[theme=\"dark\"],\n",
       "html[data-theme=\"dark\"],\n",
       "body[data-theme=\"dark\"],\n",
       "body.vscode-dark {\n",
       "  --xr-font-color0: rgba(255, 255, 255, 1);\n",
       "  --xr-font-color2: rgba(255, 255, 255, 0.54);\n",
       "  --xr-font-color3: rgba(255, 255, 255, 0.38);\n",
       "  --xr-border-color: #1f1f1f;\n",
       "  --xr-disabled-color: #515151;\n",
       "  --xr-background-color: #111111;\n",
       "  --xr-background-color-row-even: #111111;\n",
       "  --xr-background-color-row-odd: #313131;\n",
       "}\n",
       "\n",
       ".xr-wrap {\n",
       "  display: block !important;\n",
       "  min-width: 300px;\n",
       "  max-width: 700px;\n",
       "}\n",
       "\n",
       ".xr-text-repr-fallback {\n",
       "  /* fallback to plain text repr when CSS is not injected (untrusted notebook) */\n",
       "  display: none;\n",
       "}\n",
       "\n",
       ".xr-header {\n",
       "  padding-top: 6px;\n",
       "  padding-bottom: 6px;\n",
       "  margin-bottom: 4px;\n",
       "  border-bottom: solid 1px var(--xr-border-color);\n",
       "}\n",
       "\n",
       ".xr-header > div,\n",
       ".xr-header > ul {\n",
       "  display: inline;\n",
       "  margin-top: 0;\n",
       "  margin-bottom: 0;\n",
       "}\n",
       "\n",
       ".xr-obj-type,\n",
       ".xr-array-name {\n",
       "  margin-left: 2px;\n",
       "  margin-right: 10px;\n",
       "}\n",
       "\n",
       ".xr-obj-type {\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\n",
       ".xr-sections {\n",
       "  padding-left: 0 !important;\n",
       "  display: grid;\n",
       "  grid-template-columns: 150px auto auto 1fr 0 20px 0 20px;\n",
       "}\n",
       "\n",
       ".xr-section-item {\n",
       "  display: contents;\n",
       "}\n",
       "\n",
       ".xr-section-item input {\n",
       "  display: inline-block;\n",
       "  opacity: 0;\n",
       "  height: 0;\n",
       "}\n",
       "\n",
       ".xr-section-item input + label {\n",
       "  color: var(--xr-disabled-color);\n",
       "}\n",
       "\n",
       ".xr-section-item input:enabled + label {\n",
       "  cursor: pointer;\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\n",
       ".xr-section-item input:focus + label {\n",
       "  border: 2px solid var(--xr-font-color0);\n",
       "}\n",
       "\n",
       ".xr-section-item input:enabled + label:hover {\n",
       "  color: var(--xr-font-color0);\n",
       "}\n",
       "\n",
       ".xr-section-summary {\n",
       "  grid-column: 1;\n",
       "  color: var(--xr-font-color2);\n",
       "  font-weight: 500;\n",
       "}\n",
       "\n",
       ".xr-section-summary > span {\n",
       "  display: inline-block;\n",
       "  padding-left: 0.5em;\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:disabled + label {\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\n",
       ".xr-section-summary-in + label:before {\n",
       "  display: inline-block;\n",
       "  content: \"►\";\n",
       "  font-size: 11px;\n",
       "  width: 15px;\n",
       "  text-align: center;\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:disabled + label:before {\n",
       "  color: var(--xr-disabled-color);\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:checked + label:before {\n",
       "  content: \"▼\";\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:checked + label > span {\n",
       "  display: none;\n",
       "}\n",
       "\n",
       ".xr-section-summary,\n",
       ".xr-section-inline-details {\n",
       "  padding-top: 4px;\n",
       "  padding-bottom: 4px;\n",
       "}\n",
       "\n",
       ".xr-section-inline-details {\n",
       "  grid-column: 2 / -1;\n",
       "}\n",
       "\n",
       ".xr-section-details {\n",
       "  display: none;\n",
       "  grid-column: 1 / -1;\n",
       "  margin-bottom: 5px;\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:checked ~ .xr-section-details {\n",
       "  display: contents;\n",
       "}\n",
       "\n",
       ".xr-array-wrap {\n",
       "  grid-column: 1 / -1;\n",
       "  display: grid;\n",
       "  grid-template-columns: 20px auto;\n",
       "}\n",
       "\n",
       ".xr-array-wrap > label {\n",
       "  grid-column: 1;\n",
       "  vertical-align: top;\n",
       "}\n",
       "\n",
       ".xr-preview {\n",
       "  color: var(--xr-font-color3);\n",
       "}\n",
       "\n",
       ".xr-array-preview,\n",
       ".xr-array-data {\n",
       "  padding: 0 5px !important;\n",
       "  grid-column: 2;\n",
       "}\n",
       "\n",
       ".xr-array-data,\n",
       ".xr-array-in:checked ~ .xr-array-preview {\n",
       "  display: none;\n",
       "}\n",
       "\n",
       ".xr-array-in:checked ~ .xr-array-data,\n",
       ".xr-array-preview {\n",
       "  display: inline-block;\n",
       "}\n",
       "\n",
       ".xr-dim-list {\n",
       "  display: inline-block !important;\n",
       "  list-style: none;\n",
       "  padding: 0 !important;\n",
       "  margin: 0;\n",
       "}\n",
       "\n",
       ".xr-dim-list li {\n",
       "  display: inline-block;\n",
       "  padding: 0;\n",
       "  margin: 0;\n",
       "}\n",
       "\n",
       ".xr-dim-list:before {\n",
       "  content: \"(\";\n",
       "}\n",
       "\n",
       ".xr-dim-list:after {\n",
       "  content: \")\";\n",
       "}\n",
       "\n",
       ".xr-dim-list li:not(:last-child):after {\n",
       "  content: \",\";\n",
       "  padding-right: 5px;\n",
       "}\n",
       "\n",
       ".xr-has-index {\n",
       "  font-weight: bold;\n",
       "}\n",
       "\n",
       ".xr-var-list,\n",
       ".xr-var-item {\n",
       "  display: contents;\n",
       "}\n",
       "\n",
       ".xr-var-item > div,\n",
       ".xr-var-item label,\n",
       ".xr-var-item > .xr-var-name span {\n",
       "  background-color: var(--xr-background-color-row-even);\n",
       "  margin-bottom: 0;\n",
       "}\n",
       "\n",
       ".xr-var-item > .xr-var-name:hover span {\n",
       "  padding-right: 5px;\n",
       "}\n",
       "\n",
       ".xr-var-list > li:nth-child(odd) > div,\n",
       ".xr-var-list > li:nth-child(odd) > label,\n",
       ".xr-var-list > li:nth-child(odd) > .xr-var-name span {\n",
       "  background-color: var(--xr-background-color-row-odd);\n",
       "}\n",
       "\n",
       ".xr-var-name {\n",
       "  grid-column: 1;\n",
       "}\n",
       "\n",
       ".xr-var-dims {\n",
       "  grid-column: 2;\n",
       "}\n",
       "\n",
       ".xr-var-dtype {\n",
       "  grid-column: 3;\n",
       "  text-align: right;\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\n",
       ".xr-var-preview {\n",
       "  grid-column: 4;\n",
       "}\n",
       "\n",
       ".xr-index-preview {\n",
       "  grid-column: 2 / 5;\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\n",
       ".xr-var-name,\n",
       ".xr-var-dims,\n",
       ".xr-var-dtype,\n",
       ".xr-preview,\n",
       ".xr-attrs dt {\n",
       "  white-space: nowrap;\n",
       "  overflow: hidden;\n",
       "  text-overflow: ellipsis;\n",
       "  padding-right: 10px;\n",
       "}\n",
       "\n",
       ".xr-var-name:hover,\n",
       ".xr-var-dims:hover,\n",
       ".xr-var-dtype:hover,\n",
       ".xr-attrs dt:hover {\n",
       "  overflow: visible;\n",
       "  width: auto;\n",
       "  z-index: 1;\n",
       "}\n",
       "\n",
       ".xr-var-attrs,\n",
       ".xr-var-data,\n",
       ".xr-index-data {\n",
       "  display: none;\n",
       "  background-color: var(--xr-background-color) !important;\n",
       "  padding-bottom: 5px !important;\n",
       "}\n",
       "\n",
       ".xr-var-attrs-in:checked ~ .xr-var-attrs,\n",
       ".xr-var-data-in:checked ~ .xr-var-data,\n",
       ".xr-index-data-in:checked ~ .xr-index-data {\n",
       "  display: block;\n",
       "}\n",
       "\n",
       ".xr-var-data > table {\n",
       "  float: right;\n",
       "}\n",
       "\n",
       ".xr-var-name span,\n",
       ".xr-var-data,\n",
       ".xr-index-name div,\n",
       ".xr-index-data,\n",
       ".xr-attrs {\n",
       "  padding-left: 25px !important;\n",
       "}\n",
       "\n",
       ".xr-attrs,\n",
       ".xr-var-attrs,\n",
       ".xr-var-data,\n",
       ".xr-index-data {\n",
       "  grid-column: 1 / -1;\n",
       "}\n",
       "\n",
       "dl.xr-attrs {\n",
       "  padding: 0;\n",
       "  margin: 0;\n",
       "  display: grid;\n",
       "  grid-template-columns: 125px auto;\n",
       "}\n",
       "\n",
       ".xr-attrs dt,\n",
       ".xr-attrs dd {\n",
       "  padding: 0;\n",
       "  margin: 0;\n",
       "  float: left;\n",
       "  padding-right: 10px;\n",
       "  width: auto;\n",
       "}\n",
       "\n",
       ".xr-attrs dt {\n",
       "  font-weight: normal;\n",
       "  grid-column: 1;\n",
       "}\n",
       "\n",
       ".xr-attrs dt:hover span {\n",
       "  display: inline-block;\n",
       "  background: var(--xr-background-color);\n",
       "  padding-right: 10px;\n",
       "}\n",
       "\n",
       ".xr-attrs dd {\n",
       "  grid-column: 2;\n",
       "  white-space: pre-wrap;\n",
       "  word-break: break-all;\n",
       "}\n",
       "\n",
       ".xr-icon-database,\n",
       ".xr-icon-file-text2,\n",
       ".xr-no-icon {\n",
       "  display: inline-block;\n",
       "  vertical-align: middle;\n",
       "  width: 1em;\n",
       "  height: 1.5em !important;\n",
       "  stroke-width: 0;\n",
       "  stroke: currentColor;\n",
       "  fill: currentColor;\n",
       "}\n",
       "</style><pre class='xr-text-repr-fallback'>&lt;xarray.ModeIndexDataArray (f: 50, mode_index: 3)&gt; Size: 1kB\n",
       "array([[2.489277 +0.j, 1.8951759+0.j, 1.5556417+0.j],\n",
       "       [2.4872196+0.j, 1.8923448+0.j, 1.5539825+0.j],\n",
       "       [2.4851615+0.j, 1.8895283+0.j, 1.5523468+0.j],\n",
       "       [2.4831038+0.j, 1.8867241+0.j, 1.55074  +0.j],\n",
       "       [2.4810426+0.j, 1.8839306+0.j, 1.5491359+0.j],\n",
       "       [2.4789817+0.j, 1.8811514+0.j, 1.547556 +0.j],\n",
       "       [2.47692  +0.j, 1.8783836+0.j, 1.5459919+0.j],\n",
       "       [2.4748576+0.j, 1.8756295+0.j, 1.5444443+0.j],\n",
       "       [2.4727929+0.j, 1.8728877+0.j, 1.5429138+0.j],\n",
       "       [2.4707265+0.j, 1.8701544+0.j, 1.5414042+0.j],\n",
       "       [2.4686599+0.j, 1.8674368+0.j, 1.5399053+0.j],\n",
       "       [2.4665923+0.j, 1.8647317+0.j, 1.5384263+0.j],\n",
       "       [2.464523 +0.j, 1.8620384+0.j, 1.5369555+0.j],\n",
       "       [2.4624531+0.j, 1.8593596+0.j, 1.5355088+0.j],\n",
       "       [2.4603822+0.j, 1.8566914+0.j, 1.5340687+0.j],\n",
       "       [2.4583097+0.j, 1.8540373+0.j, 1.5326532+0.j],\n",
       "       [2.4562361+0.j, 1.8513958+0.j, 1.5312481+0.j],\n",
       "       [2.454162 +0.j, 1.8487672+0.j, 1.5298533+0.j],\n",
       "       [2.4520867+0.j, 1.8461518+0.j, 1.52848  +0.j],\n",
       "       [2.4500098+0.j, 1.8435477+0.j, 1.5271199+0.j],\n",
       "...\n",
       "       [2.427097 +0.j, 1.8157864+0.j, 1.5130032+0.j],\n",
       "       [2.4250083+0.j, 1.813344 +0.j, 1.5117941+0.j],\n",
       "       [2.422919 +0.j, 1.8109143+0.j, 1.5105985+0.j],\n",
       "       [2.4208276+0.j, 1.8084954+0.j, 1.5094122+0.j],\n",
       "       [2.4187353+0.j, 1.8060918+0.j, 1.5082369+0.j],\n",
       "       [2.4166415+0.j, 1.8037016+0.j, 1.5070716+0.j],\n",
       "       [2.4145486+0.j, 1.8013238+0.j, 1.5059186+0.j],\n",
       "       [2.4124515+0.j, 1.7989601+0.j, 1.5047785+0.j],\n",
       "       [2.4103568+0.j, 1.7966118+0.j, 1.5036418+0.j],\n",
       "       [2.408259 +0.j, 1.7942752+0.j, 1.5025188+0.j],\n",
       "       [2.4061618+0.j, 1.7919525+0.j, 1.5014069+0.j],\n",
       "       [2.4040608+0.j, 1.78964  +0.j, 1.5003092+0.j],\n",
       "       [2.4019625+0.j, 1.7873462+0.j, 1.4992143+0.j],\n",
       "       [2.3998604+0.j, 1.785063 +0.j, 1.4981284+0.j],\n",
       "       [2.3977578+0.j, 1.7827923+0.j, 1.4970543+0.j],\n",
       "       [2.3956566+0.j, 1.7805377+0.j, 1.4959886+0.j],\n",
       "       [2.3935518+0.j, 1.7782943+0.j, 1.4949344+0.j],\n",
       "       [2.3914475+0.j, 1.7760681+0.j, 1.4938891+0.j],\n",
       "       [2.3893406+0.j, 1.7738496+0.j, 1.4928495+0.j],\n",
       "       [2.387236 +0.j, 1.7716507+0.j, 1.4918177+0.j]], dtype=complex64)\n",
       "Coordinates:\n",
       "  * f           (f) float64 400B 1.999e+14 1.996e+14 ... 1.876e+14 1.874e+14\n",
       "  * mode_index  (mode_index) int64 24B 0 1 2\n",
       "Attributes:\n",
       "    long_name:  Propagation index</pre><div class='xr-wrap' style='display:none'><div class='xr-header'><div class='xr-obj-type'>xarray.ModeIndexDataArray</div><div class='xr-array-name'></div><ul class='xr-dim-list'><li><span class='xr-has-index'>f</span>: 50</li><li><span class='xr-has-index'>mode_index</span>: 3</li></ul></div><ul class='xr-sections'><li class='xr-section-item'><div class='xr-array-wrap'><input id='section-733d7694-237d-40f3-ac9c-7d12db2db2c2' class='xr-array-in' type='checkbox' checked><label for='section-733d7694-237d-40f3-ac9c-7d12db2db2c2' title='Show/hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-array-preview xr-preview'><span>(2.489277+0j) (1.8951759+0j) ... (1.7716507+0j) (1.4918177+0j)</span></div><div class='xr-array-data'><pre>array([[2.489277 +0.j, 1.8951759+0.j, 1.5556417+0.j],\n",
       "       [2.4872196+0.j, 1.8923448+0.j, 1.5539825+0.j],\n",
       "       [2.4851615+0.j, 1.8895283+0.j, 1.5523468+0.j],\n",
       "       [2.4831038+0.j, 1.8867241+0.j, 1.55074  +0.j],\n",
       "       [2.4810426+0.j, 1.8839306+0.j, 1.5491359+0.j],\n",
       "       [2.4789817+0.j, 1.8811514+0.j, 1.547556 +0.j],\n",
       "       [2.47692  +0.j, 1.8783836+0.j, 1.5459919+0.j],\n",
       "       [2.4748576+0.j, 1.8756295+0.j, 1.5444443+0.j],\n",
       "       [2.4727929+0.j, 1.8728877+0.j, 1.5429138+0.j],\n",
       "       [2.4707265+0.j, 1.8701544+0.j, 1.5414042+0.j],\n",
       "       [2.4686599+0.j, 1.8674368+0.j, 1.5399053+0.j],\n",
       "       [2.4665923+0.j, 1.8647317+0.j, 1.5384263+0.j],\n",
       "       [2.464523 +0.j, 1.8620384+0.j, 1.5369555+0.j],\n",
       "       [2.4624531+0.j, 1.8593596+0.j, 1.5355088+0.j],\n",
       "       [2.4603822+0.j, 1.8566914+0.j, 1.5340687+0.j],\n",
       "       [2.4583097+0.j, 1.8540373+0.j, 1.5326532+0.j],\n",
       "       [2.4562361+0.j, 1.8513958+0.j, 1.5312481+0.j],\n",
       "       [2.454162 +0.j, 1.8487672+0.j, 1.5298533+0.j],\n",
       "       [2.4520867+0.j, 1.8461518+0.j, 1.52848  +0.j],\n",
       "       [2.4500098+0.j, 1.8435477+0.j, 1.5271199+0.j],\n",
       "...\n",
       "       [2.427097 +0.j, 1.8157864+0.j, 1.5130032+0.j],\n",
       "       [2.4250083+0.j, 1.813344 +0.j, 1.5117941+0.j],\n",
       "       [2.422919 +0.j, 1.8109143+0.j, 1.5105985+0.j],\n",
       "       [2.4208276+0.j, 1.8084954+0.j, 1.5094122+0.j],\n",
       "       [2.4187353+0.j, 1.8060918+0.j, 1.5082369+0.j],\n",
       "       [2.4166415+0.j, 1.8037016+0.j, 1.5070716+0.j],\n",
       "       [2.4145486+0.j, 1.8013238+0.j, 1.5059186+0.j],\n",
       "       [2.4124515+0.j, 1.7989601+0.j, 1.5047785+0.j],\n",
       "       [2.4103568+0.j, 1.7966118+0.j, 1.5036418+0.j],\n",
       "       [2.408259 +0.j, 1.7942752+0.j, 1.5025188+0.j],\n",
       "       [2.4061618+0.j, 1.7919525+0.j, 1.5014069+0.j],\n",
       "       [2.4040608+0.j, 1.78964  +0.j, 1.5003092+0.j],\n",
       "       [2.4019625+0.j, 1.7873462+0.j, 1.4992143+0.j],\n",
       "       [2.3998604+0.j, 1.785063 +0.j, 1.4981284+0.j],\n",
       "       [2.3977578+0.j, 1.7827923+0.j, 1.4970543+0.j],\n",
       "       [2.3956566+0.j, 1.7805377+0.j, 1.4959886+0.j],\n",
       "       [2.3935518+0.j, 1.7782943+0.j, 1.4949344+0.j],\n",
       "       [2.3914475+0.j, 1.7760681+0.j, 1.4938891+0.j],\n",
       "       [2.3893406+0.j, 1.7738496+0.j, 1.4928495+0.j],\n",
       "       [2.387236 +0.j, 1.7716507+0.j, 1.4918177+0.j]], dtype=complex64)</pre></div></div></li><li class='xr-section-item'><input id='section-c2913909-d8c8-4a4d-b5dd-6b5e0a3eef82' class='xr-section-summary-in' type='checkbox'  checked><label for='section-c2913909-d8c8-4a4d-b5dd-6b5e0a3eef82' class='xr-section-summary' >Coordinates: <span>(2)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>f</span></div><div class='xr-var-dims'>(f)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>1.999e+14 1.996e+14 ... 1.874e+14</div><input id='attrs-de5c0173-a868-4264-83bd-ecc416cbd13e' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-de5c0173-a868-4264-83bd-ecc416cbd13e' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-692abcea-3517-4af4-b4a4-71e06b03fca4' class='xr-var-data-in' type='checkbox'><label for='data-692abcea-3517-4af4-b4a4-71e06b03fca4' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>units :</span></dt><dd>Hz</dd><dt><span>long_name :</span></dt><dd>frequency</dd></dl></div><div class='xr-var-data'><pre>array([1.998616e+14, 1.995901e+14, 1.993193e+14, 1.990492e+14, 1.987798e+14,\n",
       "       1.985112e+14, 1.982433e+14, 1.979762e+14, 1.977097e+14, 1.974440e+14,\n",
       "       1.971789e+14, 1.969146e+14, 1.966510e+14, 1.963881e+14, 1.961259e+14,\n",
       "       1.958644e+14, 1.956036e+14, 1.953435e+14, 1.950841e+14, 1.948253e+14,\n",
       "       1.945673e+14, 1.943099e+14, 1.940532e+14, 1.937972e+14, 1.935419e+14,\n",
       "       1.932872e+14, 1.930333e+14, 1.927799e+14, 1.925273e+14, 1.922753e+14,\n",
       "       1.920239e+14, 1.917732e+14, 1.915232e+14, 1.912738e+14, 1.910251e+14,\n",
       "       1.907770e+14, 1.905296e+14, 1.902828e+14, 1.900366e+14, 1.897911e+14,\n",
       "       1.895462e+14, 1.893019e+14, 1.890583e+14, 1.888153e+14, 1.885729e+14,\n",
       "       1.883312e+14, 1.880900e+14, 1.878495e+14, 1.876096e+14, 1.873703e+14])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>mode_index</span></div><div class='xr-var-dims'>(mode_index)</div><div class='xr-var-dtype'>int64</div><div class='xr-var-preview xr-preview'>0 1 2</div><input id='attrs-2ef530d2-5913-4ed2-9118-467f8ec9ae5f' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-2ef530d2-5913-4ed2-9118-467f8ec9ae5f' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-d442a0b6-2a96-4c1e-87bd-8102d624bce1' class='xr-var-data-in' type='checkbox'><label for='data-d442a0b6-2a96-4c1e-87bd-8102d624bce1' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>long_name :</span></dt><dd>mode index</dd></dl></div><div class='xr-var-data'><pre>array([0, 1, 2])</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-e78e88e4-f816-4218-80d6-c79056e19e5b' class='xr-section-summary-in' type='checkbox'  ><label for='section-e78e88e4-f816-4218-80d6-c79056e19e5b' class='xr-section-summary' >Indexes: <span>(2)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-index-name'><div>f</div></div><div class='xr-index-preview'>PandasIndex</div><input type='checkbox' disabled/><label></label><input id='index-b2566916-471e-4714-b919-95cc9a724bf7' class='xr-index-data-in' type='checkbox'/><label for='index-b2566916-471e-4714-b919-95cc9a724bf7' title='Show/Hide index repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-index-data'><pre>PandasIndex(Index([199861643525342.56, 199590092379248.34,  199319278142641.5,\n",
       "        199049197819955.0, 198779848431835.97,  198511227015036.2,\n",
       "       198243330622303.34, 197976156322273.28,  197709701199363.1,\n",
       "       197443962353665.03,  197178936900841.3,  196914621972019.8,\n",
       "       196651014713690.44, 196388112287602.62, 196125911870663.25,\n",
       "        195864410654835.7, 195603605847039.62, 195343494669051.53,\n",
       "       195084074357406.06,  194825342163298.1, 194567295352485.75,\n",
       "       194309931205194.12, 194053247016019.47, 193797240093834.75,\n",
       "        193541907761695.3, 193287247356745.72, 193033256230127.12,\n",
       "       192779931746885.47, 192527271285880.38,  192275272239694.7,\n",
       "       192023932014544.75, 191773248030191.56,  191523217719852.3,\n",
       "        191273838530112.9,  191025107920841.0, 190777023365099.62,\n",
       "       190529582349061.88, 190282782371925.78, 190036620945830.16,\n",
       "       189791095595770.94, 189546203859518.34,  189301943287534.4,\n",
       "        189058311442891.5, 188815305901191.12, 188572924250483.56,\n",
       "       188331164091188.06,  188090023036013.7,  187849498709880.7,\n",
       "       187609588749842.53, 187370290805008.84],\n",
       "      dtype=&#x27;float64&#x27;, name=&#x27;f&#x27;))</pre></div></li><li class='xr-var-item'><div class='xr-index-name'><div>mode_index</div></div><div class='xr-index-preview'>PandasIndex</div><input type='checkbox' disabled/><label></label><input id='index-927a0fdb-a9f0-4342-9ca5-ef3dafd78d9f' class='xr-index-data-in' type='checkbox'/><label for='index-927a0fdb-a9f0-4342-9ca5-ef3dafd78d9f' title='Show/Hide index repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-index-data'><pre>PandasIndex(Index([0, 1, 2], dtype=&#x27;int64&#x27;, name=&#x27;mode_index&#x27;))</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-68c3f3ff-2aa2-4aba-beed-73cab93c9062' class='xr-section-summary-in' type='checkbox'  checked><label for='section-68c3f3ff-2aa2-4aba-beed-73cab93c9062' class='xr-section-summary' >Attributes: <span>(1)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><dl class='xr-attrs'><dt><span>long_name :</span></dt><dd>Propagation index</dd></dl></div></li></ul></div></div>"
      ],
      "text/plain": [
       "<xarray.ModeIndexDataArray (f: 50, mode_index: 3)> Size: 1kB\n",
       "array([[2.489277 +0.j, 1.8951759+0.j, 1.5556417+0.j],\n",
       "       [2.4872196+0.j, 1.8923448+0.j, 1.5539825+0.j],\n",
       "       [2.4851615+0.j, 1.8895283+0.j, 1.5523468+0.j],\n",
       "       [2.4831038+0.j, 1.8867241+0.j, 1.55074  +0.j],\n",
       "       [2.4810426+0.j, 1.8839306+0.j, 1.5491359+0.j],\n",
       "       [2.4789817+0.j, 1.8811514+0.j, 1.547556 +0.j],\n",
       "       [2.47692  +0.j, 1.8783836+0.j, 1.5459919+0.j],\n",
       "       [2.4748576+0.j, 1.8756295+0.j, 1.5444443+0.j],\n",
       "       [2.4727929+0.j, 1.8728877+0.j, 1.5429138+0.j],\n",
       "       [2.4707265+0.j, 1.8701544+0.j, 1.5414042+0.j],\n",
       "       [2.4686599+0.j, 1.8674368+0.j, 1.5399053+0.j],\n",
       "       [2.4665923+0.j, 1.8647317+0.j, 1.5384263+0.j],\n",
       "       [2.464523 +0.j, 1.8620384+0.j, 1.5369555+0.j],\n",
       "       [2.4624531+0.j, 1.8593596+0.j, 1.5355088+0.j],\n",
       "       [2.4603822+0.j, 1.8566914+0.j, 1.5340687+0.j],\n",
       "       [2.4583097+0.j, 1.8540373+0.j, 1.5326532+0.j],\n",
       "       [2.4562361+0.j, 1.8513958+0.j, 1.5312481+0.j],\n",
       "       [2.454162 +0.j, 1.8487672+0.j, 1.5298533+0.j],\n",
       "       [2.4520867+0.j, 1.8461518+0.j, 1.52848  +0.j],\n",
       "       [2.4500098+0.j, 1.8435477+0.j, 1.5271199+0.j],\n",
       "...\n",
       "       [2.427097 +0.j, 1.8157864+0.j, 1.5130032+0.j],\n",
       "       [2.4250083+0.j, 1.813344 +0.j, 1.5117941+0.j],\n",
       "       [2.422919 +0.j, 1.8109143+0.j, 1.5105985+0.j],\n",
       "       [2.4208276+0.j, 1.8084954+0.j, 1.5094122+0.j],\n",
       "       [2.4187353+0.j, 1.8060918+0.j, 1.5082369+0.j],\n",
       "       [2.4166415+0.j, 1.8037016+0.j, 1.5070716+0.j],\n",
       "       [2.4145486+0.j, 1.8013238+0.j, 1.5059186+0.j],\n",
       "       [2.4124515+0.j, 1.7989601+0.j, 1.5047785+0.j],\n",
       "       [2.4103568+0.j, 1.7966118+0.j, 1.5036418+0.j],\n",
       "       [2.408259 +0.j, 1.7942752+0.j, 1.5025188+0.j],\n",
       "       [2.4061618+0.j, 1.7919525+0.j, 1.5014069+0.j],\n",
       "       [2.4040608+0.j, 1.78964  +0.j, 1.5003092+0.j],\n",
       "       [2.4019625+0.j, 1.7873462+0.j, 1.4992143+0.j],\n",
       "       [2.3998604+0.j, 1.785063 +0.j, 1.4981284+0.j],\n",
       "       [2.3977578+0.j, 1.7827923+0.j, 1.4970543+0.j],\n",
       "       [2.3956566+0.j, 1.7805377+0.j, 1.4959886+0.j],\n",
       "       [2.3935518+0.j, 1.7782943+0.j, 1.4949344+0.j],\n",
       "       [2.3914475+0.j, 1.7760681+0.j, 1.4938891+0.j],\n",
       "       [2.3893406+0.j, 1.7738496+0.j, 1.4928495+0.j],\n",
       "       [2.387236 +0.j, 1.7716507+0.j, 1.4918177+0.j]], dtype=complex64)\n",
       "Coordinates:\n",
       "  * f           (f) float64 400B 1.999e+14 1.996e+14 ... 1.876e+14 1.874e+14\n",
       "  * mode_index  (mode_index) int64 24B 0 1 2\n",
       "Attributes:\n",
       "    long_name:  Propagation index"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sim_data[\"Mode monitor\"].n_complex"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "3218c5e4",
   "metadata": {},
   "source": [
    "### Data Selection/Slicing"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8375fca4",
   "metadata": {},
   "source": [
    "For multidimensional data, it's important to slice them correctly to extract the data that we are looking for. For example, assume that we want to plot the effective indices as a function of frequency for each mode. This can be easily achieved by using the [sel](https://docs.xarray.dev/en/v2022.03.0/generated/xarray.Dataset.isel.html) method of `xarray`. \n",
    "\n",
    "After slicing the data, we can directly plot it on a `matplotlib` axis so we can style the plot after plotting it. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "71e99ed3",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2025-05-15T10:34:43.657040Z",
     "iopub.status.busy": "2025-05-15T10:34:43.656769Z",
     "iopub.status.idle": "2025-05-15T10:34:43.786378Z",
     "shell.execute_reply": "2025-05-15T10:34:43.786054Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 600x400 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# define a matplotlib axis\n",
    "fig, ax = plt.subplots(figsize=(6, 4))\n",
    "\n",
    "# slice the monitor data and plot it on the axis\n",
    "sim_data[\"Mode monitor\"].n_complex.sel(mode_index=0).real.plot(ax=ax)\n",
    "sim_data[\"Mode monitor\"].n_complex.sel(mode_index=1).real.plot(ax=ax)\n",
    "sim_data[\"Mode monitor\"].n_complex.sel(mode_index=2).real.plot(ax=ax)\n",
    "\n",
    "# style the plot\n",
    "ax.set_title(\"Effective indices of three modes\")\n",
    "ax.legend([\"mode 1\", \"mode 2\", \"mode 3\"])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b29f0dca",
   "metadata": {},
   "source": [
    "In `sel`, we can specify multiple coordinates at the same time. For example, we want to extract the effective index of the first mode (index 0) at the highest frequency. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "2e8b9aa7",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2025-05-15T10:34:43.787582Z",
     "iopub.status.busy": "2025-05-15T10:34:43.787500Z",
     "iopub.status.idle": "2025-05-15T10:34:43.791818Z",
     "shell.execute_reply": "2025-05-15T10:34:43.791482Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The effective index for the first mode at 1500.000 nm is 2.489.\n"
     ]
    }
   ],
   "source": [
    "n_eff = sim_data[\"Mode monitor\"].n_complex.sel(mode_index=0, f=freqs[0]).real.values\n",
    "\n",
    "print(\n",
    "    f\"The effective index for the first mode at {1e3 * td.C_0 / freqs.values[0]:.3f} nm is {n_eff:.3f}.\"\n",
    ")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "2b5b4844",
   "metadata": {},
   "source": [
    "Equivalently, the same can be achieved by using [isel](https://docs.xarray.dev/en/v2022.03.0/generated/xarray.Dataset.isel.html), which stands for index selection. Unlike `sel`, which selects at specific coordinate values, `isel` selects at specific coordinate index. For example, the highest frequency is the index 0 of the frequency coordinate. Therefore, `isel(mode_index=0, f=0)` will give the same result as `sel(mode_index=0, f=freqs[0])`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "1ac2057d",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2025-05-15T10:34:43.792846Z",
     "iopub.status.busy": "2025-05-15T10:34:43.792726Z",
     "iopub.status.idle": "2025-05-15T10:34:43.796133Z",
     "shell.execute_reply": "2025-05-15T10:34:43.795873Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The effective index for the first mode at 1500.000 nm is 2.489.\n"
     ]
    }
   ],
   "source": [
    "n_eff = sim_data[\"Mode monitor\"].n_complex.isel(mode_index=0, f=0).real.values\n",
    "print(\n",
    "    f\"The effective index for the first mode at {1e3 * td.C_0 / freqs.values[0]:.3f} nm is {n_eff:.3f}.\"\n",
    ")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "fbe4d7aa",
   "metadata": {},
   "source": [
    "Besides the effective index, [ModeMonitor](https://docs.flexcompute.com/projects/tidy3d/en/latest/api/_autosummary/tidy3d.ModeMonitor.html) is primarily used to calculate the transmission of certain modes in certain directions. We can extract the complex amplitude and square it to compute the mode transmission power. \n",
    "\n",
    "In addition to the support of standard mathematical operations (`+`, `-`, `*`, `**`), `xarray` is also compatible with [numpy](https://numpy.org/) so we can directly apply `numpy` operations such as `square` to an `xarray` DataArray. As a demonstration, we extract the transmission of the fundamental mode in the positive direction (`sel(mode_index=0, direction='+')`), take the absolute value (`.abs`), and square it using `numpy`. Then we can plot it in dB scale. The plot is similar to the previous plot from `Flux monitor`, which is expected as the waveguide is single mode and most of the transmitted power is at the fundamental mode.\n",
    "\n",
    "Note that in Tidy3D, we implemented additional convenient functionalities that are not available in the original `xarray`. Taking the absolute value (`.abs`) is one example. One can achieve the same result by using `abs()` on a DataArray. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "c255d12e",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2025-05-15T10:34:43.797536Z",
     "iopub.status.busy": "2025-05-15T10:34:43.796966Z",
     "iopub.status.idle": "2025-05-15T10:34:43.840922Z",
     "shell.execute_reply": "2025-05-15T10:34:43.840542Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAj4AAAG6CAYAAAAI+0z/AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAMv1JREFUeJzt3Xl0FGXe9vGrsyeQxAQIBFkDgiDIvkR5SVQEHNbRAy6gQZBHHBwUECWDGyhGdMQFPSDogDzjiogLDCgg8ARBUCAZUBYRMMi+JiRAgKTeP3K6SWcjaarT3anv55w63XV3dfWvb6N9edddVTbDMAwBAABYgJ+nCwAAAKgsBB8AAGAZBB8AAGAZBB8AAGAZBB8AAGAZBB8AAGAZBB8AAGAZBB8AAGAZBB8AAGAZBB8AAGAZVTL4vPPOO2rUqJFCQkLUpUsXbdy40dMlAQAAL1Dlgs+nn36qcePG6bnnntPmzZvVpk0b9erVS0ePHvV0aQAAwMNsVe0mpV26dFGnTp309ttvS5Ly8/NVv359/f3vf9fEiRM9XB0AAPCkAE8XYKYLFy5o06ZNSk5OdrT5+fmpR48eWr9+fYnvyc3NVW5urmM9Pz9fJ0+eVI0aNWSz2dxeMwAAuHqGYejMmTOqW7eu/PxKP6BVpYLP8ePHlZeXp9q1azu1165dWzt27CjxPSkpKZo8eXJllAcAANxs//79qlevXqmvV6ng44rk5GSNGzfOsZ6ZmakGDRpo//79ioiI8GBlAACgvLKyslS/fn2Fh4eXuV2VCj41a9aUv7+/jhw54tR+5MgR1alTp8T3BAcHKzg4uFh7REQEwQcAAB9zpWkqVeqsrqCgIHXo0EErV650tOXn52vlypWKj4/3YGUAAMAbVKkRH0kaN26ckpKS1LFjR3Xu3FlvvPGGcnJy9OCDD3q6NAAA4GFVLvjcfffdOnbsmJ599lkdPnxYbdu21bJly4pNeAYAANZT5a7jc7WysrIUGRmpzMxM5vgAAOAjyvv7XaXm+AAAAJSF4AMAACyD4AMAACyD4AMAACyD4AMAACyD4AMAACyD4AMAACyD4AMAACyD4AMAACyD4AMAACyD4AMAACyD4AMAACyD4AMAACyD4AMAACyD4AMAACyD4AMAACyD4AMAACyD4AMAACyD4AMAACyD4AMAACyD4AMAACyD4AMAACyD4AMAACyD4AMAACyD4AMAACyD4AMAACyD4AMAACyD4AMAACyD4AMAACyD4AMAACyD4AMAACyD4AMAACyD4AMAACyD4AMAACyD4AMAACyD4AMAACyD4AMAACyD4AMAACyD4AMAACyD4AMAACyD4AMAACyD4AMAACyD4AMAACyD4AMAACyD4AMAACyD4AMAACyD4AMAACyD4AMAACyD4AMAACyD4AMAACyD4AMAACyD4AMAACyD4AMAACyD4AMAACyD4AMAACyD4AMAACyD4AMAACyD4AMAACyD4AMAACyD4AMAACyD4AMAACyD4AMAACyD4AMAACyjygSfffv2acSIEWrcuLFCQ0PVpEkTPffcc7pw4YKnSwMAAF4iwNMFmGXHjh3Kz8/Xu+++q6ZNm2rbtm0aOXKkcnJy9M9//tPT5QEAAC9gMwzD8HQR7vLqq69q5syZ2rNnT7nfk5WVpcjISGVmZioiIsKN1QEAALOU9/e7yoz4lCQzM1PR0dFlbpObm6vc3FzHelZWlrvLAgAAHlJl5vgUtXv3bs2YMUMPP/xwmdulpKQoMjLSsdSvX7+SKgQAAJXN64PPxIkTZbPZylx27Njh9J4DBw6od+/eGjRokEaOHFnm/pOTk5WZmelY9u/f786vAwAAPMjr5/gcO3ZMJ06cKHObuLg4BQUFSZIOHjyoxMREde3aVfPmzZOfX8WyHXN8AADwPVVmjk+tWrVUq1atcm174MAB3XLLLerQoYPmzp1b4dADAACqNq8PPuV14MABJSYmqmHDhvrnP/+pY8eOOV6rU6eOBysDAADeosoEn+XLl2v37t3avXu36tWr5/Salx/NAwAAlaTKHAsaNmyYDMMocQEAAJCqUPABAAC4EoIPAACwDIIPAACwDIIPAACwDIIPAACwDIIPAACwDIIPAACwDIIPAACwDIIPAACwDIIPAACwDIIPAACwDIIPAACwDIIPAACwDIIPAACwDIIPAACwDIIPAACwDIIPAACwDIIPAACwDIIPAACwDIIPAACwDIIPAACwDIIPAACwDIIPAACwDIIPAACwDIIPAACwDIIPAACwDIIPAACwDIIPAACwDIIPAACwjABPF2AJX3wh+fkVLP7+5Xssa7HZLi9S6euGUbBuGJeXouuGIeXnl73k5VXssaw2++eV9Wivsyw2W/E+KdpP/v5SYKAUEFDwWNrz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yXrooYe0evVqdenSRZK0YcMGLVu2THPmzDG1wIpaunSpvvvuOy1cuFBLly71aC0AAMC7uBR8hg0bphYtWuitt97SF198IUlq0aKF1q5d6whCnnDkyBGNHDlSX375pdM9xMqSm5vrdH+xrKwsd5UHAAA8zKXgI0ldunTRhx9+aGYtV8UwDA0bNkyjRo1Sx44dtW/fvnK9LyUlRZMnT3ZvcQAAwCuUe45PTk5OhXZc0e1LM3HiRMfNUEtbduzYoRkzZujMmTNKTk6u0P6Tk5OVmZnpWPbv329K3QAAwPuU+3T22NhYPfbYY0pKSlJsbGyJ2xiGoRUrVmj69Onq3r17hUNISY4dO6YTJ06UuU1cXJwGDx6sb775xukii3l5efL399eQIUP0wQcflOvzOJ0dAADfU97f73IHn507d+of//iHlixZojZt2qhjx46qW7euQkJCdOrUKf36669av369AgIClJycrIcfflj+/v6mfaErycjIcJqfc/DgQfXq1Uuff/65unTponr16pVrPwQfAAB8j+nBxy4jI0MLFixQamqq/vjjD507d041a9ZUu3bt1KtXL91xxx2VGnhKs2/fPjVu3FhbtmxR27Zty/0+gg8AAL6nvL/fFZ7c3KBBA40fP17jx4+/qgIBAAAqm8tndXm7Ro0ayYW7cQAAgCrMpSs3AwAA+CKCDwAAsAyCDwAAsAyCDwAAsAyXJzefPn1aGzdu1NGjR5Wfn+/02gMPPHDVhQEAAJjNpeDzzTffaMiQIcrOzlZERITT1ZJtNhvBBwAAeCWXDnWNHz9ew4cPV3Z2tk6fPq1Tp045lpMnT5pdIwAAgClcCj4HDhzQmDFjFBYWZnY9AAAAbuNS8OnVq5d+/vlns2sBAABwK5fm+PTp00cTJkzQr7/+qtatWyswMNDp9f79+5tSHAAAgJkqfJNSSfLzK32gyGazKS8v76qK8iRuUgoAgO9x201KJRU7fR0AAMAXcAFDAABgGS4HnzVr1qhfv35q2rSpmjZtqv79+ys1NdXM2gAAAEzlUvD597//rR49eigsLExjxozRmDFjFBoaqttuu00fffSR2TUCAACYwqXJzS1atND//M//aOzYsU7t06dP15w5c7R9+3bTCqxsTG4GAMD3lPf326URnz179qhfv37F2vv376+9e/e6sksAAAC3cyn41K9fXytXrizW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z6l+/fpq2LChXn31VUnyuvlIAADAM1y+jo83evXVVxUQEKD7779f586dU5cuXfT9998rKirK06UBAAAv4PKVm//88099/fXXysjI0IULF5xemz59uinFeQLX8QEAwPe49To+K1euVP/+/RUXF6cdO3aoVatW2rdvnwzDUPv27V0uGgAAwJ1cOp09OTlZTzzxhLZu3aqQkBAtXLhQ+/fvV0JCAvNpAACA13Ip+Gzfvl0PPPCAJCkgIEDnzp1T9erVNWXKFE2bNs3UAgEAAMziUvCpVq2aY15PbGysfv/9d8drx48fN6cyAAAAk7k0x6dr165au3atWrRoob/85S8aP368tm7dqi+++EJdu3Y1u0YAAABTuBR8pk+fruzsbEnS5MmTlZ2drU8//VTXXXedT5/RBQAAqrYKB5+8vDz9+eefuvHGGyUVHPaaNWuW6YUBAACYrcJzfPz9/dWzZ0+dOnXKHfUAAAC4jUuTm1u1aqU9e/aYXQsAAIBbuRR8XnzxRT3xxBNavHixDh06pKysLKcFAADAG1XolhVTpkzR+PHjFR4efnkHNpvjuWEYstlsysvLM7fKSsQtKwAA8D3l/f2uUPDx9/fXoUOHtH379jK3S0hIKH+lXobgAwCA73HLvbrsGcmXgw0AALCuCs/xKXxoCwAAwJdU+Do+zZo1u2L4OXnypMsFAQAAuEuFg8/kyZMVGRnpjloAAADcqsLB55577lFMTIw7agEAAHCrCs3xYX4PAADwZRUKPhU48x0AAMDrVOhQV35+vrvqAAAAcDuXblkBAADgiwg+AADAMgg+AADAMgg+AADAMgg+AADAMgg+AADAMgg+AADAMgg+AADAMgg+AADAMgg+AADAMgg+AADAMgg+AADAMgg+AADAMgg+AADAMgg+AADAMgg+AADAMgg+AADAMgg+AADAMgg+AADAMgg+AADAMgg+AADAMgg+AADAMgg+AADAMgg+AADAMgg+AADAMgg+AADAMgg+AADAMgg+AADAMgg+AADAMgg+AADAMgg+AADAMgg+AADAMgg+AADAMgg+AADAMgg+AADAMgg+AADAMgg+AADAMgg+AADAMgg+AADAMgg+AADAMgg+AADAMgg+AADAMgg+AADAMqpU8Nm1a5cGDBigmjVrKiIiQt26ddOqVas8XRYAAPASVSr49O3bV5cuXdL333+v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HwAAYBkEHwAAYBkEHwAAYBkEHwBeKzExUY8//riny3BwtZ4TJ04oJiZG+/btM72mou655x699tprbv8cwFcRfACLmzVrlsLDw3Xp0iVHW3Z2tgIDA5WYmOi07erVq2Wz2fT7779XcpWVy+zANXXqVA0YMECNGjUybZ+lefrppzV16lRlZma6/bMAX0TwASzulltuUXZ2tn7++WdHW2pqqurUqaMNGzbo/PnzjvZVq1apQYMGatKkiSdK9Ulnz57V+++/rxEjRlTK57Vq1UpNmjTRv//970r5PMDXEHwAi2vevLliY2O1evVqR9vq1as1YMAANW7cWD/++KNT+y233CJJWrZsmbp166ZrrrlGNWrUUN++fZ1GgmbPnq26desqPz/f6fMGDBig4cOHS5Ly8/OVkpKixo0bKzQ0VG3atNHnn39eaq3l2T4xMVFjxozRk08+qejoaNWpU0fPP/+80zZnzpzRkCFDVK1aNcXGxur11193jPIMGzZMa9as0ZtvvimbzSabzeZ0iCo/P7/MfRf1n//8R8HBweratatT+9q1axUYGOgULPft2yebzaY//vjD8XzhwoXq3r27QkND1alTJ2VkZCg1NVVdu3ZVWFiYbrvtNp0+fdpp3/369dMnn3xSZl2AVRF8AOiWW27RqlWrHOurVq1SYmKiEhISHO3nzp3Thg0bHMEnJydH48aN088//6yVK1fKz89Pf/3rXx1BZ9CgQTpx4oTTfk+ePKlly5ZpyJAhkqSUlBTNnz9fs2bN0i+//KKxY8dq6NChWrNmTYl1lnf7Dz74QNWqVdOGDRv0yiuvaMqUKVq+fLnj9XHjxumHH37Q119/reXLlys1NVWbN2+WJL355puKj4/XyJEjdejQIR06dEj169cv976LSk1NVYcOHYq1p6WlqUWLFgoJCXG0bdmyRVFRUWrYsKHS09MlSTNnztRLL72kdevW6ciRIxo6dKhefvllvf3221q1apXS09M1d+5cp3137txZGzduVG5ubql1AZZlALC8OXPmGNWqVTMuXrxoZGVlGQEBAcbRo0eNjz76yOjevbthGIaxcuVKQ5Lxxx9/lLiPY8eOGZKMrVu3OtoGDBhgDB8+3LH+7rvvGnXr1jXy8vKM8+fPG2FhYca6deuc9jNixAjj3nvvNQzDMBISEozHHnvMMAyjXNvb39OtWzenbTp16mQ89dRThmEYRlZWlhEYGGgsWLDA8frp06eNsLAwx2cV/tzCrrTvkhTtA7uHHnrIeOCBB5zann32WSMxMdEwDMN4/vnnjejoaOP48eOO14cOHWo0atTIyMnJcbT17t3bePLJJ532k56ebkgy9u3bV2pdgFUx4gNAiYmJysnJ0U8//aTU1FQ1a9ZMtWrVUkJCgmOez+rVqxUXF6cGDRpIkn777Tfde++9iouLU0REhGPibkZGhmO/Q4YM0cKFCx0jDx9++KHuuece+fn5affu3Tp79qxuv/12Va9e3bHMnz+/xMnTFdn+xhtvdFqPjY3V0aNHJUl79uzRxYsX1blzZ8frkZGRat68ebn6qqx9l+TcuXNOozp2aWlpatu2rVPbli1bHG3p6en661//qho1ajhez8jI0N13362wsDCntsaNGzvtJzQ0VFLB/CIAzgI8XQAAz2vatKnq1aunVatW6dSpU0pISJAk1a1bV/Xr19e6deu0atUq3XrrrY739OvXTw0bNtScOXMcc3latWqlCxcuOG1jGIaWLFmiTp06KTU1Va+//rqkgjPHJGnJkiW69tprneoJDg4uVmNFtg8MDHRat9lsxeYauaqi+65Zs6ZOnTrl1JaXl6dt27apXbt2Tu2bN2/WXXfdJakgGCUnJzu9np6errFjxzrWz58/r507d6pNmzZO2508eVKSVKtWrXJ+K8A6CD4AJBXM81m9erVOnTqlCRMmONq7d++upUuXauPGjXrkkUckFVyXZufOnZozZ47+3//7f5IKJusWFRISojvvvFMffvihdu/erebNm6t9+/aSpJYtWyo4OFgZGRmOoFWWim5fmri4OAUGBuqnn35yjF5lZmZq165d6t69uyQpKChIeXl5Ln9GYe3atSt2htXOnTt1/vx51a1b19G2fv16HThwQG3btlVWVpb27dvnFIz27t2rzMxMp7atW7fKMAy1bt3aaf/btm1TvXr1VLNmTVO+A1CVEHwASCoIPqNHj9bFixedgkVCQoIeffRRXbhwwTGxOSoqSjVq1NDs2bMVGxurjIwMTZw4scT9DhkyRH379tUvv/yioUOHOtrDw8P1xBNPaOzYscrPz1e3bt2UmZmpH374QREREUpKSnLaT0W3L014eLiSkpI0YcIERUdHKyYmRs8995z8/Pxks9kkSY0aNdKGDRu0b98+Va9eXdHR0fLzc21mQK9evZScnKxTp04pKipKUsFojiTNmDFDY8aM0e7duzVmzBhJ0oULF5Seni5/f3+1atXKsZ+0tDRFR0erYcOGTm1NmjRR9erVnT4zNTVVPXv2dKleoKpjjg8ASQXB59y5c2ratKlq167taE9ISNCZM2ccp71Lkp+fnz755BNt2rRJrVq10tixY/Xqq6+WuN9bb71V0dHR2rlzp+677z6n11544QU988wzSklJUYsWLdS7d28tWbKk2JwVV7cvzfTp0xUfH6++ffuqR48euvnmm53OsHriiSfk7++vli1bqlatWk7zliqqdevWat++vT777DNHW1pamnr16qU9e/aodevWmjRpkiZPnqyIiAi99dZbSk9PV/PmzZ3mBqWnpxc7NJaenl7sMNf58+f15ZdfauTIkS7XDFRlNsMwDE8XAQCelJOTo2uvvVavvfaaWy40uGTJEk2YMEHbtm2Tn5+fevXqpU6dOunFF180/bNmzpypRYsW6bvvvjN930BVwKEuAJazZcsW7dixQ507d1ZmZqamTJkiqeDiiu7Qp08f/fbbbzpw4IDq16+v9PR0x0UczRYYGKgZM2a4Zd9AVcCIDwDL2bJlix566CHt3LlTQUFB6tChg6ZPn15skrA7HD58WLGxsfrll1/UsmVLt38eAGcEHwAAYBlMbgYAAJZB8AEAAJZB8AEAAJZB8AEAAJZB8AEAAJZB8AEAAJZB8AEAAJZB8AEAAJZB8AEAAJZB8AEAAJZB8AEAAJbx/wGkSMLqyh0gDQAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# extract complex mode amplitude and calculate transmission power\n",
    "T = np.square(sim_data[\"Mode monitor\"].amps.sel(mode_index=0, direction=\"+\").abs)\n",
    "\n",
    "# plot the transmission spectrum\n",
    "plt.plot(td.C_0 / freqs, 10 * np.log10(T), \"red\", linewidth=3)\n",
    "plt.xlabel(r\"Wavelength ($\\mu m$)\")\n",
    "plt.ylabel(\"Transmission (dB)\")\n",
    "plt.ylim(-10, 0)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a8fd1ba9",
   "metadata": {},
   "source": [
    "## FieldMonitor Data"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "bf76d734",
   "metadata": {},
   "source": [
    "Finally let's examine the data in `Field monitor`. This dataset contains all electric and magnetic field components: `Ex`, `Ey`, `Ez`, `Hx`, `Hy`, and `Hz`. Let's use `Hz` as an example to explore some visualization possibilities. \n",
    "\n",
    "This array has 4 coordinates: three spatial coordinates and one frequency coordinate.  "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "fcf0dc88",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2025-05-15T10:34:43.842235Z",
     "iopub.status.busy": "2025-05-15T10:34:43.842147Z",
     "iopub.status.idle": "2025-05-15T10:34:43.857549Z",
     "shell.execute_reply": "2025-05-15T10:34:43.857199Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div><svg style=\"position: absolute; width: 0; height: 0; overflow: hidden\">\n",
       "<defs>\n",
       "<symbol id=\"icon-database\" viewBox=\"0 0 32 32\">\n",
       "<path d=\"M16 0c-8.837 0-16 2.239-16 5v4c0 2.761 7.163 5 16 5s16-2.239 16-5v-4c0-2.761-7.163-5-16-5z\"></path>\n",
       "<path d=\"M16 17c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n",
       "<path d=\"M16 26c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n",
       "</symbol>\n",
       "<symbol id=\"icon-file-text2\" viewBox=\"0 0 32 32\">\n",
       "<path d=\"M28.681 7.159c-0.694-0.947-1.662-2.053-2.724-3.116s-2.169-2.030-3.116-2.724c-1.612-1.182-2.393-1.319-2.841-1.319h-15.5c-1.378 0-2.5 1.121-2.5 2.5v27c0 1.378 1.122 2.5 2.5 2.5h23c1.378 0 2.5-1.122 2.5-2.5v-19.5c0-0.448-0.137-1.23-1.319-2.841zM24.543 5.457c0.959 0.959 1.712 1.825 2.268 2.543h-4.811v-4.811c0.718 0.556 1.584 1.309 2.543 2.268zM28 29.5c0 0.271-0.229 0.5-0.5 0.5h-23c-0.271 0-0.5-0.229-0.5-0.5v-27c0-0.271 0.229-0.5 0.5-0.5 0 0 15.499-0 15.5 0v7c0 0.552 0.448 1 1 1h7v19.5z\"></path>\n",
       "<path d=\"M23 26h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
       "<path d=\"M23 22h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
       "<path d=\"M23 18h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
       "</symbol>\n",
       "</defs>\n",
       "</svg>\n",
       "<style>/* CSS stylesheet for displaying xarray objects in jupyterlab.\n",
       " *\n",
       " */\n",
       "\n",
       ":root {\n",
       "  --xr-font-color0: var(--jp-content-font-color0, rgba(0, 0, 0, 1));\n",
       "  --xr-font-color2: var(--jp-content-font-color2, rgba(0, 0, 0, 0.54));\n",
       "  --xr-font-color3: var(--jp-content-font-color3, rgba(0, 0, 0, 0.38));\n",
       "  --xr-border-color: var(--jp-border-color2, #e0e0e0);\n",
       "  --xr-disabled-color: var(--jp-layout-color3, #bdbdbd);\n",
       "  --xr-background-color: var(--jp-layout-color0, white);\n",
       "  --xr-background-color-row-even: var(--jp-layout-color1, white);\n",
       "  --xr-background-color-row-odd: var(--jp-layout-color2, #eeeeee);\n",
       "}\n",
       "\n",
       "html[theme=\"dark\"],\n",
       "html[data-theme=\"dark\"],\n",
       "body[data-theme=\"dark\"],\n",
       "body.vscode-dark {\n",
       "  --xr-font-color0: rgba(255, 255, 255, 1);\n",
       "  --xr-font-color2: rgba(255, 255, 255, 0.54);\n",
       "  --xr-font-color3: rgba(255, 255, 255, 0.38);\n",
       "  --xr-border-color: #1f1f1f;\n",
       "  --xr-disabled-color: #515151;\n",
       "  --xr-background-color: #111111;\n",
       "  --xr-background-color-row-even: #111111;\n",
       "  --xr-background-color-row-odd: #313131;\n",
       "}\n",
       "\n",
       ".xr-wrap {\n",
       "  display: block !important;\n",
       "  min-width: 300px;\n",
       "  max-width: 700px;\n",
       "}\n",
       "\n",
       ".xr-text-repr-fallback {\n",
       "  /* fallback to plain text repr when CSS is not injected (untrusted notebook) */\n",
       "  display: none;\n",
       "}\n",
       "\n",
       ".xr-header {\n",
       "  padding-top: 6px;\n",
       "  padding-bottom: 6px;\n",
       "  margin-bottom: 4px;\n",
       "  border-bottom: solid 1px var(--xr-border-color);\n",
       "}\n",
       "\n",
       ".xr-header > div,\n",
       ".xr-header > ul {\n",
       "  display: inline;\n",
       "  margin-top: 0;\n",
       "  margin-bottom: 0;\n",
       "}\n",
       "\n",
       ".xr-obj-type,\n",
       ".xr-array-name {\n",
       "  margin-left: 2px;\n",
       "  margin-right: 10px;\n",
       "}\n",
       "\n",
       ".xr-obj-type {\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\n",
       ".xr-sections {\n",
       "  padding-left: 0 !important;\n",
       "  display: grid;\n",
       "  grid-template-columns: 150px auto auto 1fr 0 20px 0 20px;\n",
       "}\n",
       "\n",
       ".xr-section-item {\n",
       "  display: contents;\n",
       "}\n",
       "\n",
       ".xr-section-item input {\n",
       "  display: inline-block;\n",
       "  opacity: 0;\n",
       "  height: 0;\n",
       "}\n",
       "\n",
       ".xr-section-item input + label {\n",
       "  color: var(--xr-disabled-color);\n",
       "}\n",
       "\n",
       ".xr-section-item input:enabled + label {\n",
       "  cursor: pointer;\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\n",
       ".xr-section-item input:focus + label {\n",
       "  border: 2px solid var(--xr-font-color0);\n",
       "}\n",
       "\n",
       ".xr-section-item input:enabled + label:hover {\n",
       "  color: var(--xr-font-color0);\n",
       "}\n",
       "\n",
       ".xr-section-summary {\n",
       "  grid-column: 1;\n",
       "  color: var(--xr-font-color2);\n",
       "  font-weight: 500;\n",
       "}\n",
       "\n",
       ".xr-section-summary > span {\n",
       "  display: inline-block;\n",
       "  padding-left: 0.5em;\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:disabled + label {\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\n",
       ".xr-section-summary-in + label:before {\n",
       "  display: inline-block;\n",
       "  content: \"►\";\n",
       "  font-size: 11px;\n",
       "  width: 15px;\n",
       "  text-align: center;\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:disabled + label:before {\n",
       "  color: var(--xr-disabled-color);\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:checked + label:before {\n",
       "  content: \"▼\";\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:checked + label > span {\n",
       "  display: none;\n",
       "}\n",
       "\n",
       ".xr-section-summary,\n",
       ".xr-section-inline-details {\n",
       "  padding-top: 4px;\n",
       "  padding-bottom: 4px;\n",
       "}\n",
       "\n",
       ".xr-section-inline-details {\n",
       "  grid-column: 2 / -1;\n",
       "}\n",
       "\n",
       ".xr-section-details {\n",
       "  display: none;\n",
       "  grid-column: 1 / -1;\n",
       "  margin-bottom: 5px;\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:checked ~ .xr-section-details {\n",
       "  display: contents;\n",
       "}\n",
       "\n",
       ".xr-array-wrap {\n",
       "  grid-column: 1 / -1;\n",
       "  display: grid;\n",
       "  grid-template-columns: 20px auto;\n",
       "}\n",
       "\n",
       ".xr-array-wrap > label {\n",
       "  grid-column: 1;\n",
       "  vertical-align: top;\n",
       "}\n",
       "\n",
       ".xr-preview {\n",
       "  color: var(--xr-font-color3);\n",
       "}\n",
       "\n",
       ".xr-array-preview,\n",
       ".xr-array-data {\n",
       "  padding: 0 5px !important;\n",
       "  grid-column: 2;\n",
       "}\n",
       "\n",
       ".xr-array-data,\n",
       ".xr-array-in:checked ~ .xr-array-preview {\n",
       "  display: none;\n",
       "}\n",
       "\n",
       ".xr-array-in:checked ~ .xr-array-data,\n",
       ".xr-array-preview {\n",
       "  display: inline-block;\n",
       "}\n",
       "\n",
       ".xr-dim-list {\n",
       "  display: inline-block !important;\n",
       "  list-style: none;\n",
       "  padding: 0 !important;\n",
       "  margin: 0;\n",
       "}\n",
       "\n",
       ".xr-dim-list li {\n",
       "  display: inline-block;\n",
       "  padding: 0;\n",
       "  margin: 0;\n",
       "}\n",
       "\n",
       ".xr-dim-list:before {\n",
       "  content: \"(\";\n",
       "}\n",
       "\n",
       ".xr-dim-list:after {\n",
       "  content: \")\";\n",
       "}\n",
       "\n",
       ".xr-dim-list li:not(:last-child):after {\n",
       "  content: \",\";\n",
       "  padding-right: 5px;\n",
       "}\n",
       "\n",
       ".xr-has-index {\n",
       "  font-weight: bold;\n",
       "}\n",
       "\n",
       ".xr-var-list,\n",
       ".xr-var-item {\n",
       "  display: contents;\n",
       "}\n",
       "\n",
       ".xr-var-item > div,\n",
       ".xr-var-item label,\n",
       ".xr-var-item > .xr-var-name span {\n",
       "  background-color: var(--xr-background-color-row-even);\n",
       "  margin-bottom: 0;\n",
       "}\n",
       "\n",
       ".xr-var-item > .xr-var-name:hover span {\n",
       "  padding-right: 5px;\n",
       "}\n",
       "\n",
       ".xr-var-list > li:nth-child(odd) > div,\n",
       ".xr-var-list > li:nth-child(odd) > label,\n",
       ".xr-var-list > li:nth-child(odd) > .xr-var-name span {\n",
       "  background-color: var(--xr-background-color-row-odd);\n",
       "}\n",
       "\n",
       ".xr-var-name {\n",
       "  grid-column: 1;\n",
       "}\n",
       "\n",
       ".xr-var-dims {\n",
       "  grid-column: 2;\n",
       "}\n",
       "\n",
       ".xr-var-dtype {\n",
       "  grid-column: 3;\n",
       "  text-align: right;\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\n",
       ".xr-var-preview {\n",
       "  grid-column: 4;\n",
       "}\n",
       "\n",
       ".xr-index-preview {\n",
       "  grid-column: 2 / 5;\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\n",
       ".xr-var-name,\n",
       ".xr-var-dims,\n",
       ".xr-var-dtype,\n",
       ".xr-preview,\n",
       ".xr-attrs dt {\n",
       "  white-space: nowrap;\n",
       "  overflow: hidden;\n",
       "  text-overflow: ellipsis;\n",
       "  padding-right: 10px;\n",
       "}\n",
       "\n",
       ".xr-var-name:hover,\n",
       ".xr-var-dims:hover,\n",
       ".xr-var-dtype:hover,\n",
       ".xr-attrs dt:hover {\n",
       "  overflow: visible;\n",
       "  width: auto;\n",
       "  z-index: 1;\n",
       "}\n",
       "\n",
       ".xr-var-attrs,\n",
       ".xr-var-data,\n",
       ".xr-index-data {\n",
       "  display: none;\n",
       "  background-color: var(--xr-background-color) !important;\n",
       "  padding-bottom: 5px !important;\n",
       "}\n",
       "\n",
       ".xr-var-attrs-in:checked ~ .xr-var-attrs,\n",
       ".xr-var-data-in:checked ~ .xr-var-data,\n",
       ".xr-index-data-in:checked ~ .xr-index-data {\n",
       "  display: block;\n",
       "}\n",
       "\n",
       ".xr-var-data > table {\n",
       "  float: right;\n",
       "}\n",
       "\n",
       ".xr-var-name span,\n",
       ".xr-var-data,\n",
       ".xr-index-name div,\n",
       ".xr-index-data,\n",
       ".xr-attrs {\n",
       "  padding-left: 25px !important;\n",
       "}\n",
       "\n",
       ".xr-attrs,\n",
       ".xr-var-attrs,\n",
       ".xr-var-data,\n",
       ".xr-index-data {\n",
       "  grid-column: 1 / -1;\n",
       "}\n",
       "\n",
       "dl.xr-attrs {\n",
       "  padding: 0;\n",
       "  margin: 0;\n",
       "  display: grid;\n",
       "  grid-template-columns: 125px auto;\n",
       "}\n",
       "\n",
       ".xr-attrs dt,\n",
       ".xr-attrs dd {\n",
       "  padding: 0;\n",
       "  margin: 0;\n",
       "  float: left;\n",
       "  padding-right: 10px;\n",
       "  width: auto;\n",
       "}\n",
       "\n",
       ".xr-attrs dt {\n",
       "  font-weight: normal;\n",
       "  grid-column: 1;\n",
       "}\n",
       "\n",
       ".xr-attrs dt:hover span {\n",
       "  display: inline-block;\n",
       "  background: var(--xr-background-color);\n",
       "  padding-right: 10px;\n",
       "}\n",
       "\n",
       ".xr-attrs dd {\n",
       "  grid-column: 2;\n",
       "  white-space: pre-wrap;\n",
       "  word-break: break-all;\n",
       "}\n",
       "\n",
       ".xr-icon-database,\n",
       ".xr-icon-file-text2,\n",
       ".xr-no-icon {\n",
       "  display: inline-block;\n",
       "  vertical-align: middle;\n",
       "  width: 1em;\n",
       "  height: 1.5em !important;\n",
       "  stroke-width: 0;\n",
       "  stroke: currentColor;\n",
       "  fill: currentColor;\n",
       "}\n",
       "</style><pre class='xr-text-repr-fallback'>&lt;xarray.ScalarFieldDataArray (x: 639, y: 71, z: 4, f: 3)&gt; Size: 4MB\n",
       "array([[[[-4.21197501e-13-7.63092253e-14j,\n",
       "           2.06759574e-14+1.06486902e-13j,\n",
       "          -5.45012169e-13+1.84023478e-13j],\n",
       "         [ 1.72903887e-13+7.30291817e-14j,\n",
       "           6.28276050e-14-2.33233300e-13j,\n",
       "           1.06661121e-12-1.47368811e-13j],\n",
       "         [-1.45802099e-13-9.70202583e-14j,\n",
       "          -6.83223077e-14+1.50096800e-13j,\n",
       "          -1.01692168e-12+1.69137138e-13j],\n",
       "         [-1.66980999e-13-4.46525378e-14j,\n",
       "          -6.44609081e-14+1.04707238e-13j,\n",
       "          -7.64654182e-13+1.56975561e-13j]],\n",
       "\n",
       "        [[ 1.83680789e-14-6.91012189e-13j,\n",
       "           1.55601953e-12+9.88327367e-13j,\n",
       "          -2.74072670e-12+1.58785116e-12j],\n",
       "         [ 7.05131808e-13-8.20385426e-13j,\n",
       "           8.60337897e-13+5.32298543e-13j,\n",
       "          -2.65417007e-12-9.85616970e-13j],\n",
       "         [ 5.99199238e-13-7.92176383e-13j,\n",
       "...\n",
       "         [ 1.17384121e-14-1.41757672e-13j,\n",
       "           1.57059980e-13+2.16227996e-13j,\n",
       "           4.11576616e-13-1.58133448e-13j],\n",
       "         [ 2.44148692e-14-1.44831968e-13j,\n",
       "           1.07231030e-13+1.80186378e-13j,\n",
       "           2.91607043e-13-1.04423543e-13j]],\n",
       "\n",
       "        [[ 5.06348842e-14-4.29277484e-14j,\n",
       "           1.18457295e-14+9.13331910e-14j,\n",
       "           1.09568807e-13-7.53448004e-14j],\n",
       "         [-4.63693618e-14+4.68727399e-14j,\n",
       "          -1.57478841e-14-1.07168458e-13j,\n",
       "          -1.38530151e-13+8.91796877e-14j],\n",
       "         [ 4.53232422e-14-8.81930501e-14j,\n",
       "           1.54002956e-14+1.45535100e-13j,\n",
       "           1.25600878e-13-6.35340440e-14j],\n",
       "         [ 3.75325754e-14-6.70172400e-14j,\n",
       "           9.84553236e-15+1.09919554e-13j,\n",
       "           1.00585596e-13-5.27222749e-14j]]]],\n",
       "      shape=(639, 71, 4, 3), dtype=complex64)\n",
       "Coordinates:\n",
       "  * x        (x) float64 5kB -28.33 -28.24 -28.16 -28.07 ... 28.2 28.29 28.33\n",
       "  * y        (y) float64 568B -4.203 -3.996 -3.789 -3.583 ... 3.789 3.996 4.203\n",
       "  * z        (z) float64 32B -0.11 -0.022 0.066 0.11\n",
       "  * f        (f) float64 24B 1.999e+14 1.934e+14 1.874e+14\n",
       "Attributes:\n",
       "    long_name:  field value</pre><div class='xr-wrap' style='display:none'><div class='xr-header'><div class='xr-obj-type'>xarray.ScalarFieldDataArray</div><div class='xr-array-name'></div><ul class='xr-dim-list'><li><span class='xr-has-index'>x</span>: 639</li><li><span class='xr-has-index'>y</span>: 71</li><li><span class='xr-has-index'>z</span>: 4</li><li><span class='xr-has-index'>f</span>: 3</li></ul></div><ul class='xr-sections'><li class='xr-section-item'><div class='xr-array-wrap'><input id='section-17482868-3451-4b2b-9aee-a766a53208a8' class='xr-array-in' type='checkbox' checked><label for='section-17482868-3451-4b2b-9aee-a766a53208a8' title='Show/hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-array-preview xr-preview'><span>(-4.211975e-13-7.6309225e-14j) ... (1.00585596e-13-5.2722275e-14j)</span></div><div class='xr-array-data'><pre>array([[[[-4.21197501e-13-7.63092253e-14j,\n",
       "           2.06759574e-14+1.06486902e-13j,\n",
       "          -5.45012169e-13+1.84023478e-13j],\n",
       "         [ 1.72903887e-13+7.30291817e-14j,\n",
       "           6.28276050e-14-2.33233300e-13j,\n",
       "           1.06661121e-12-1.47368811e-13j],\n",
       "         [-1.45802099e-13-9.70202583e-14j,\n",
       "          -6.83223077e-14+1.50096800e-13j,\n",
       "          -1.01692168e-12+1.69137138e-13j],\n",
       "         [-1.66980999e-13-4.46525378e-14j,\n",
       "          -6.44609081e-14+1.04707238e-13j,\n",
       "          -7.64654182e-13+1.56975561e-13j]],\n",
       "\n",
       "        [[ 1.83680789e-14-6.91012189e-13j,\n",
       "           1.55601953e-12+9.88327367e-13j,\n",
       "          -2.74072670e-12+1.58785116e-12j],\n",
       "         [ 7.05131808e-13-8.20385426e-13j,\n",
       "           8.60337897e-13+5.32298543e-13j,\n",
       "          -2.65417007e-12-9.85616970e-13j],\n",
       "         [ 5.99199238e-13-7.92176383e-13j,\n",
       "...\n",
       "         [ 1.17384121e-14-1.41757672e-13j,\n",
       "           1.57059980e-13+2.16227996e-13j,\n",
       "           4.11576616e-13-1.58133448e-13j],\n",
       "         [ 2.44148692e-14-1.44831968e-13j,\n",
       "           1.07231030e-13+1.80186378e-13j,\n",
       "           2.91607043e-13-1.04423543e-13j]],\n",
       "\n",
       "        [[ 5.06348842e-14-4.29277484e-14j,\n",
       "           1.18457295e-14+9.13331910e-14j,\n",
       "           1.09568807e-13-7.53448004e-14j],\n",
       "         [-4.63693618e-14+4.68727399e-14j,\n",
       "          -1.57478841e-14-1.07168458e-13j,\n",
       "          -1.38530151e-13+8.91796877e-14j],\n",
       "         [ 4.53232422e-14-8.81930501e-14j,\n",
       "           1.54002956e-14+1.45535100e-13j,\n",
       "           1.25600878e-13-6.35340440e-14j],\n",
       "         [ 3.75325754e-14-6.70172400e-14j,\n",
       "           9.84553236e-15+1.09919554e-13j,\n",
       "           1.00585596e-13-5.27222749e-14j]]]],\n",
       "      shape=(639, 71, 4, 3), dtype=complex64)</pre></div></div></li><li class='xr-section-item'><input id='section-58db81fb-218e-4f16-a34e-f39b0d930c53' class='xr-section-summary-in' type='checkbox'  checked><label for='section-58db81fb-218e-4f16-a34e-f39b0d930c53' class='xr-section-summary' >Coordinates: <span>(4)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>x</span></div><div class='xr-var-dims'>(x)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>-28.33 -28.24 ... 28.29 28.33</div><input id='attrs-0a1c3885-8192-4f7f-a7b3-1e0de82cabfb' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-0a1c3885-8192-4f7f-a7b3-1e0de82cabfb' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-4a795695-a3af-4bde-aaf0-9a42c293bc39' class='xr-var-data-in' type='checkbox'><label for='data-4a795695-a3af-4bde-aaf0-9a42c293bc39' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>units :</span></dt><dd>um</dd><dt><span>long_name :</span></dt><dd>x position</dd></dl></div><div class='xr-var-data'><pre>array([-28.333333, -28.244444, -28.155556, ...,  28.2     ,  28.288889,\n",
       "        28.333333], shape=(639,))</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>y</span></div><div class='xr-var-dims'>(y)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>-4.203 -3.996 ... 3.996 4.203</div><input id='attrs-3e9cadb1-6957-48a1-ac1d-670eaf482ce2' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-3e9cadb1-6957-48a1-ac1d-670eaf482ce2' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-20aff1a9-7a2a-40d2-ab00-2f56acf6315f' class='xr-var-data-in' type='checkbox'><label for='data-20aff1a9-7a2a-40d2-ab00-2f56acf6315f' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>units :</span></dt><dd>um</dd><dt><span>long_name :</span></dt><dd>y position</dd></dl></div><div class='xr-var-data'><pre>array([-4.202639, -3.995949, -3.78926 , -3.58257 , -3.37588 , -3.16919 ,\n",
       "       -2.9625  , -2.75581 , -2.54912 , -2.34243 , -2.13574 , -1.947415,\n",
       "       -1.843357, -1.757143, -1.671429, -1.585714, -1.5     , -1.4125  ,\n",
       "       -1.325   , -1.2375  , -1.15    , -1.0659  , -0.978998, -0.892095,\n",
       "       -0.805192, -0.718289, -0.65    , -0.6     , -0.535917, -0.454367,\n",
       "       -0.372817, -0.3     , -0.25    , -0.180811, -0.092763, -0.004715,\n",
       "        0.083333,  0.171382,  0.25    ,  0.3     ,  0.372817,  0.454367,\n",
       "        0.535917,  0.6     ,  0.65    ,  0.718289,  0.805192,  0.892095,\n",
       "        0.978998,  1.0659  ,  1.15    ,  1.2375  ,  1.325   ,  1.4125  ,\n",
       "        1.5     ,  1.585714,  1.671429,  1.757143,  1.843357,  1.947415,\n",
       "        2.13574 ,  2.34243 ,  2.54912 ,  2.75581 ,  2.9625  ,  3.16919 ,\n",
       "        3.37588 ,  3.58257 ,  3.78926 ,  3.995949,  4.202639])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>z</span></div><div class='xr-var-dims'>(z)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>-0.11 -0.022 0.066 0.11</div><input id='attrs-fce7d6a1-db68-4728-b8d7-3aa6bca43cdc' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-fce7d6a1-db68-4728-b8d7-3aa6bca43cdc' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-00af0cb1-0e9b-445d-8a4c-faac3a8c7720' class='xr-var-data-in' type='checkbox'><label for='data-00af0cb1-0e9b-445d-8a4c-faac3a8c7720' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>units :</span></dt><dd>um</dd><dt><span>long_name :</span></dt><dd>z position</dd></dl></div><div class='xr-var-data'><pre>array([-0.11 , -0.022,  0.066,  0.11 ])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>f</span></div><div class='xr-var-dims'>(f)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>1.999e+14 1.934e+14 1.874e+14</div><input id='attrs-58204abc-028f-46dc-b398-252e51213d2f' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-58204abc-028f-46dc-b398-252e51213d2f' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-37e4e039-26c9-45cd-99b4-92f1219fc9cb' class='xr-var-data-in' type='checkbox'><label for='data-37e4e039-26c9-45cd-99b4-92f1219fc9cb' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>units :</span></dt><dd>Hz</dd><dt><span>long_name :</span></dt><dd>frequency</dd></dl></div><div class='xr-var-data'><pre>array([1.998616e+14, 1.934145e+14, 1.873703e+14])</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-0bcc55de-8889-4df8-97fc-9a4608e505d8' class='xr-section-summary-in' type='checkbox'  ><label for='section-0bcc55de-8889-4df8-97fc-9a4608e505d8' class='xr-section-summary' >Indexes: <span>(4)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-index-name'><div>x</div></div><div class='xr-index-preview'>PandasIndex</div><input type='checkbox' disabled/><label></label><input id='index-69e5428b-a222-4b61-8ab6-ad43f0dc94b4' class='xr-index-data-in' type='checkbox'/><label for='index-69e5428b-a222-4b61-8ab6-ad43f0dc94b4' title='Show/Hide index repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-index-data'><pre>PandasIndex(Index([-28.333333333333332, -28.244444444444444, -28.155555555555555,\n",
       "       -28.066666666666666, -27.977777777777778,  -27.88888888888889,\n",
       "                     -27.8, -27.711111111111112, -27.622222222222224,\n",
       "       -27.533333333333335,\n",
       "       ...\n",
       "         27.57777777777881,  27.666666666667698,  27.755555555556587,\n",
       "        27.844444444443415,  27.933333333330243,   28.02222222221707,\n",
       "          28.1111111111039,  28.199999999990727,  28.288888888877555,\n",
       "         28.33333333332097],\n",
       "      dtype=&#x27;float64&#x27;, name=&#x27;x&#x27;, length=639))</pre></div></li><li class='xr-var-item'><div class='xr-index-name'><div>y</div></div><div class='xr-index-preview'>PandasIndex</div><input type='checkbox' disabled/><label></label><input id='index-3a4c7801-f18b-4595-a953-86ff92317966' class='xr-index-data-in' type='checkbox'/><label for='index-3a4c7801-f18b-4595-a953-86ff92317966' title='Show/Hide index repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-index-data'><pre>PandasIndex(Index([    -4.202639377094743,    -3.9959494809122855,    -3.7892595847298285,\n",
       "          -3.5825696885473715,    -3.3758797923649144,    -3.1691898961824574,\n",
       "          -2.9625000000000004,     -2.755810103817543,     -2.549120207635086,\n",
       "          -2.3424303114526284,    -2.1357404152701713,    -1.9474150351508217,\n",
       "          -1.8433573632796536,    -1.7571428571428573,    -1.6714285714285715,\n",
       "          -1.5857142857142856,    -1.4999999999999998,    -1.4124999999999999,\n",
       "                       -1.325,                -1.2375,    -1.1500000000000001,\n",
       "            -1.06590042512647,     -0.978997531090489,    -0.8920946370545075,\n",
       "           -0.805191743018526,    -0.7182888489825445,     -0.649999999999999,\n",
       "          -0.5999999999999992,    -0.5359172257355991,   -0.45436689029423905,\n",
       "           -0.372816554852879,    -0.2999999999999985,   -0.24999999999999867,\n",
       "         -0.18081118394597295,   -0.09276301151953703, -0.0047148390931006645,\n",
       "           0.0833333333333357,    0.17138150575977207,     0.2500000000000031,\n",
       "          0.30000000000000293,    0.37281655485288345,     0.4543668902942435,\n",
       "           0.5359172257356035,     0.6000000000000036,     0.6500000000000035,\n",
       "            0.718288848982549,     0.8051917430185305,      0.892094637054512,\n",
       "           0.9789975310904935,     1.0659004251264745,     1.1500000000000048,\n",
       "           1.2375000000000052,     1.3250000000000055,     1.4125000000000059,\n",
       "           1.5000000000000062,     1.5857142857142916,      1.671428571428577,\n",
       "           1.7571428571428624,      1.843357363279659,     1.9474150351508275,\n",
       "           2.1357404152701767,     2.3424303114526337,     2.5491202076350907,\n",
       "           2.7558101038175478,     2.9625000000000004,     3.1691898961824485,\n",
       "           3.3758797923648967,      3.582569688547345,      3.789259584729793,\n",
       "            3.995949480912241,      4.202639377094689],\n",
       "      dtype=&#x27;float64&#x27;, name=&#x27;y&#x27;))</pre></div></li><li class='xr-var-item'><div class='xr-index-name'><div>z</div></div><div class='xr-index-preview'>PandasIndex</div><input type='checkbox' disabled/><label></label><input id='index-48bef0e8-563d-41d1-8174-ea1f9a87cade' class='xr-index-data-in' type='checkbox'/><label for='index-48bef0e8-563d-41d1-8174-ea1f9a87cade' title='Show/Hide index repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-index-data'><pre>PandasIndex(Index([ -0.1100000000000001, -0.02200000000000002,  0.06600000000000006,\n",
       "         0.1100000000000001],\n",
       "      dtype=&#x27;float64&#x27;, name=&#x27;z&#x27;))</pre></div></li><li class='xr-var-item'><div class='xr-index-name'><div>f</div></div><div class='xr-index-preview'>PandasIndex</div><input type='checkbox' disabled/><label></label><input id='index-09694b26-fe41-4826-9a98-9c45f5620b13' class='xr-index-data-in' type='checkbox'/><label for='index-09694b26-fe41-4826-9a98-9c45f5620b13' title='Show/Hide index repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-index-data'><pre>PandasIndex(Index([199861643525342.66, 193414493734202.56, 187370290805008.75], dtype=&#x27;float64&#x27;, name=&#x27;f&#x27;))</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-81d1cf5d-63d2-4717-a360-6f855b5b4471' class='xr-section-summary-in' type='checkbox'  checked><label for='section-81d1cf5d-63d2-4717-a360-6f855b5b4471' class='xr-section-summary' >Attributes: <span>(1)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><dl class='xr-attrs'><dt><span>long_name :</span></dt><dd>field value</dd></dl></div></li></ul></div></div>"
      ],
      "text/plain": [
       "<xarray.ScalarFieldDataArray (x: 639, y: 71, z: 4, f: 3)> Size: 4MB\n",
       "array([[[[-4.21197501e-13-7.63092253e-14j,\n",
       "           2.06759574e-14+1.06486902e-13j,\n",
       "          -5.45012169e-13+1.84023478e-13j],\n",
       "         [ 1.72903887e-13+7.30291817e-14j,\n",
       "           6.28276050e-14-2.33233300e-13j,\n",
       "           1.06661121e-12-1.47368811e-13j],\n",
       "         [-1.45802099e-13-9.70202583e-14j,\n",
       "          -6.83223077e-14+1.50096800e-13j,\n",
       "          -1.01692168e-12+1.69137138e-13j],\n",
       "         [-1.66980999e-13-4.46525378e-14j,\n",
       "          -6.44609081e-14+1.04707238e-13j,\n",
       "          -7.64654182e-13+1.56975561e-13j]],\n",
       "\n",
       "        [[ 1.83680789e-14-6.91012189e-13j,\n",
       "           1.55601953e-12+9.88327367e-13j,\n",
       "          -2.74072670e-12+1.58785116e-12j],\n",
       "         [ 7.05131808e-13-8.20385426e-13j,\n",
       "           8.60337897e-13+5.32298543e-13j,\n",
       "          -2.65417007e-12-9.85616970e-13j],\n",
       "         [ 5.99199238e-13-7.92176383e-13j,\n",
       "...\n",
       "         [ 1.17384121e-14-1.41757672e-13j,\n",
       "           1.57059980e-13+2.16227996e-13j,\n",
       "           4.11576616e-13-1.58133448e-13j],\n",
       "         [ 2.44148692e-14-1.44831968e-13j,\n",
       "           1.07231030e-13+1.80186378e-13j,\n",
       "           2.91607043e-13-1.04423543e-13j]],\n",
       "\n",
       "        [[ 5.06348842e-14-4.29277484e-14j,\n",
       "           1.18457295e-14+9.13331910e-14j,\n",
       "           1.09568807e-13-7.53448004e-14j],\n",
       "         [-4.63693618e-14+4.68727399e-14j,\n",
       "          -1.57478841e-14-1.07168458e-13j,\n",
       "          -1.38530151e-13+8.91796877e-14j],\n",
       "         [ 4.53232422e-14-8.81930501e-14j,\n",
       "           1.54002956e-14+1.45535100e-13j,\n",
       "           1.25600878e-13-6.35340440e-14j],\n",
       "         [ 3.75325754e-14-6.70172400e-14j,\n",
       "           9.84553236e-15+1.09919554e-13j,\n",
       "           1.00585596e-13-5.27222749e-14j]]]],\n",
       "      shape=(639, 71, 4, 3), dtype=complex64)\n",
       "Coordinates:\n",
       "  * x        (x) float64 5kB -28.33 -28.24 -28.16 -28.07 ... 28.2 28.29 28.33\n",
       "  * y        (y) float64 568B -4.203 -3.996 -3.789 -3.583 ... 3.789 3.996 4.203\n",
       "  * z        (z) float64 32B -0.11 -0.022 0.066 0.11\n",
       "  * f        (f) float64 24B 1.999e+14 1.934e+14 1.874e+14\n",
       "Attributes:\n",
       "    long_name:  field value"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sim_data[\"Field monitor\"].Hz"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "90c444a8",
   "metadata": {},
   "source": [
    "We can slice the data in the same way using `sel` and(or) `isel`. Let's look at the `Hz` field at the first frequency (1500 nm) and z=0 plane. When using `sel`, it's important to note that the specific coordinate value might not be available in the data. For example, the z coordinate contains four values, namely -0.11, -0.022, 0.066, and 0.11. That is, z=0 is not available. We can specify `method='nearest'` in the selection such that it automatically extracts the data at the nearest plane, e.g. z=-0.022."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "4833fb8d",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2025-05-15T10:34:43.858860Z",
     "iopub.status.busy": "2025-05-15T10:34:43.858748Z",
     "iopub.status.idle": "2025-05-15T10:34:43.870665Z",
     "shell.execute_reply": "2025-05-15T10:34:43.870296Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div><svg style=\"position: absolute; width: 0; height: 0; overflow: hidden\">\n",
       "<defs>\n",
       "<symbol id=\"icon-database\" viewBox=\"0 0 32 32\">\n",
       "<path d=\"M16 0c-8.837 0-16 2.239-16 5v4c0 2.761 7.163 5 16 5s16-2.239 16-5v-4c0-2.761-7.163-5-16-5z\"></path>\n",
       "<path d=\"M16 17c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n",
       "<path d=\"M16 26c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n",
       "</symbol>\n",
       "<symbol id=\"icon-file-text2\" viewBox=\"0 0 32 32\">\n",
       "<path d=\"M28.681 7.159c-0.694-0.947-1.662-2.053-2.724-3.116s-2.169-2.030-3.116-2.724c-1.612-1.182-2.393-1.319-2.841-1.319h-15.5c-1.378 0-2.5 1.121-2.5 2.5v27c0 1.378 1.122 2.5 2.5 2.5h23c1.378 0 2.5-1.122 2.5-2.5v-19.5c0-0.448-0.137-1.23-1.319-2.841zM24.543 5.457c0.959 0.959 1.712 1.825 2.268 2.543h-4.811v-4.811c0.718 0.556 1.584 1.309 2.543 2.268zM28 29.5c0 0.271-0.229 0.5-0.5 0.5h-23c-0.271 0-0.5-0.229-0.5-0.5v-27c0-0.271 0.229-0.5 0.5-0.5 0 0 15.499-0 15.5 0v7c0 0.552 0.448 1 1 1h7v19.5z\"></path>\n",
       "<path d=\"M23 26h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
       "<path d=\"M23 22h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
       "<path d=\"M23 18h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n",
       "</symbol>\n",
       "</defs>\n",
       "</svg>\n",
       "<style>/* CSS stylesheet for displaying xarray objects in jupyterlab.\n",
       " *\n",
       " */\n",
       "\n",
       ":root {\n",
       "  --xr-font-color0: var(--jp-content-font-color0, rgba(0, 0, 0, 1));\n",
       "  --xr-font-color2: var(--jp-content-font-color2, rgba(0, 0, 0, 0.54));\n",
       "  --xr-font-color3: var(--jp-content-font-color3, rgba(0, 0, 0, 0.38));\n",
       "  --xr-border-color: var(--jp-border-color2, #e0e0e0);\n",
       "  --xr-disabled-color: var(--jp-layout-color3, #bdbdbd);\n",
       "  --xr-background-color: var(--jp-layout-color0, white);\n",
       "  --xr-background-color-row-even: var(--jp-layout-color1, white);\n",
       "  --xr-background-color-row-odd: var(--jp-layout-color2, #eeeeee);\n",
       "}\n",
       "\n",
       "html[theme=\"dark\"],\n",
       "html[data-theme=\"dark\"],\n",
       "body[data-theme=\"dark\"],\n",
       "body.vscode-dark {\n",
       "  --xr-font-color0: rgba(255, 255, 255, 1);\n",
       "  --xr-font-color2: rgba(255, 255, 255, 0.54);\n",
       "  --xr-font-color3: rgba(255, 255, 255, 0.38);\n",
       "  --xr-border-color: #1f1f1f;\n",
       "  --xr-disabled-color: #515151;\n",
       "  --xr-background-color: #111111;\n",
       "  --xr-background-color-row-even: #111111;\n",
       "  --xr-background-color-row-odd: #313131;\n",
       "}\n",
       "\n",
       ".xr-wrap {\n",
       "  display: block !important;\n",
       "  min-width: 300px;\n",
       "  max-width: 700px;\n",
       "}\n",
       "\n",
       ".xr-text-repr-fallback {\n",
       "  /* fallback to plain text repr when CSS is not injected (untrusted notebook) */\n",
       "  display: none;\n",
       "}\n",
       "\n",
       ".xr-header {\n",
       "  padding-top: 6px;\n",
       "  padding-bottom: 6px;\n",
       "  margin-bottom: 4px;\n",
       "  border-bottom: solid 1px var(--xr-border-color);\n",
       "}\n",
       "\n",
       ".xr-header > div,\n",
       ".xr-header > ul {\n",
       "  display: inline;\n",
       "  margin-top: 0;\n",
       "  margin-bottom: 0;\n",
       "}\n",
       "\n",
       ".xr-obj-type,\n",
       ".xr-array-name {\n",
       "  margin-left: 2px;\n",
       "  margin-right: 10px;\n",
       "}\n",
       "\n",
       ".xr-obj-type {\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\n",
       ".xr-sections {\n",
       "  padding-left: 0 !important;\n",
       "  display: grid;\n",
       "  grid-template-columns: 150px auto auto 1fr 0 20px 0 20px;\n",
       "}\n",
       "\n",
       ".xr-section-item {\n",
       "  display: contents;\n",
       "}\n",
       "\n",
       ".xr-section-item input {\n",
       "  display: inline-block;\n",
       "  opacity: 0;\n",
       "  height: 0;\n",
       "}\n",
       "\n",
       ".xr-section-item input + label {\n",
       "  color: var(--xr-disabled-color);\n",
       "}\n",
       "\n",
       ".xr-section-item input:enabled + label {\n",
       "  cursor: pointer;\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\n",
       ".xr-section-item input:focus + label {\n",
       "  border: 2px solid var(--xr-font-color0);\n",
       "}\n",
       "\n",
       ".xr-section-item input:enabled + label:hover {\n",
       "  color: var(--xr-font-color0);\n",
       "}\n",
       "\n",
       ".xr-section-summary {\n",
       "  grid-column: 1;\n",
       "  color: var(--xr-font-color2);\n",
       "  font-weight: 500;\n",
       "}\n",
       "\n",
       ".xr-section-summary > span {\n",
       "  display: inline-block;\n",
       "  padding-left: 0.5em;\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:disabled + label {\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\n",
       ".xr-section-summary-in + label:before {\n",
       "  display: inline-block;\n",
       "  content: \"►\";\n",
       "  font-size: 11px;\n",
       "  width: 15px;\n",
       "  text-align: center;\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:disabled + label:before {\n",
       "  color: var(--xr-disabled-color);\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:checked + label:before {\n",
       "  content: \"▼\";\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:checked + label > span {\n",
       "  display: none;\n",
       "}\n",
       "\n",
       ".xr-section-summary,\n",
       ".xr-section-inline-details {\n",
       "  padding-top: 4px;\n",
       "  padding-bottom: 4px;\n",
       "}\n",
       "\n",
       ".xr-section-inline-details {\n",
       "  grid-column: 2 / -1;\n",
       "}\n",
       "\n",
       ".xr-section-details {\n",
       "  display: none;\n",
       "  grid-column: 1 / -1;\n",
       "  margin-bottom: 5px;\n",
       "}\n",
       "\n",
       ".xr-section-summary-in:checked ~ .xr-section-details {\n",
       "  display: contents;\n",
       "}\n",
       "\n",
       ".xr-array-wrap {\n",
       "  grid-column: 1 / -1;\n",
       "  display: grid;\n",
       "  grid-template-columns: 20px auto;\n",
       "}\n",
       "\n",
       ".xr-array-wrap > label {\n",
       "  grid-column: 1;\n",
       "  vertical-align: top;\n",
       "}\n",
       "\n",
       ".xr-preview {\n",
       "  color: var(--xr-font-color3);\n",
       "}\n",
       "\n",
       ".xr-array-preview,\n",
       ".xr-array-data {\n",
       "  padding: 0 5px !important;\n",
       "  grid-column: 2;\n",
       "}\n",
       "\n",
       ".xr-array-data,\n",
       ".xr-array-in:checked ~ .xr-array-preview {\n",
       "  display: none;\n",
       "}\n",
       "\n",
       ".xr-array-in:checked ~ .xr-array-data,\n",
       ".xr-array-preview {\n",
       "  display: inline-block;\n",
       "}\n",
       "\n",
       ".xr-dim-list {\n",
       "  display: inline-block !important;\n",
       "  list-style: none;\n",
       "  padding: 0 !important;\n",
       "  margin: 0;\n",
       "}\n",
       "\n",
       ".xr-dim-list li {\n",
       "  display: inline-block;\n",
       "  padding: 0;\n",
       "  margin: 0;\n",
       "}\n",
       "\n",
       ".xr-dim-list:before {\n",
       "  content: \"(\";\n",
       "}\n",
       "\n",
       ".xr-dim-list:after {\n",
       "  content: \")\";\n",
       "}\n",
       "\n",
       ".xr-dim-list li:not(:last-child):after {\n",
       "  content: \",\";\n",
       "  padding-right: 5px;\n",
       "}\n",
       "\n",
       ".xr-has-index {\n",
       "  font-weight: bold;\n",
       "}\n",
       "\n",
       ".xr-var-list,\n",
       ".xr-var-item {\n",
       "  display: contents;\n",
       "}\n",
       "\n",
       ".xr-var-item > div,\n",
       ".xr-var-item label,\n",
       ".xr-var-item > .xr-var-name span {\n",
       "  background-color: var(--xr-background-color-row-even);\n",
       "  margin-bottom: 0;\n",
       "}\n",
       "\n",
       ".xr-var-item > .xr-var-name:hover span {\n",
       "  padding-right: 5px;\n",
       "}\n",
       "\n",
       ".xr-var-list > li:nth-child(odd) > div,\n",
       ".xr-var-list > li:nth-child(odd) > label,\n",
       ".xr-var-list > li:nth-child(odd) > .xr-var-name span {\n",
       "  background-color: var(--xr-background-color-row-odd);\n",
       "}\n",
       "\n",
       ".xr-var-name {\n",
       "  grid-column: 1;\n",
       "}\n",
       "\n",
       ".xr-var-dims {\n",
       "  grid-column: 2;\n",
       "}\n",
       "\n",
       ".xr-var-dtype {\n",
       "  grid-column: 3;\n",
       "  text-align: right;\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\n",
       ".xr-var-preview {\n",
       "  grid-column: 4;\n",
       "}\n",
       "\n",
       ".xr-index-preview {\n",
       "  grid-column: 2 / 5;\n",
       "  color: var(--xr-font-color2);\n",
       "}\n",
       "\n",
       ".xr-var-name,\n",
       ".xr-var-dims,\n",
       ".xr-var-dtype,\n",
       ".xr-preview,\n",
       ".xr-attrs dt {\n",
       "  white-space: nowrap;\n",
       "  overflow: hidden;\n",
       "  text-overflow: ellipsis;\n",
       "  padding-right: 10px;\n",
       "}\n",
       "\n",
       ".xr-var-name:hover,\n",
       ".xr-var-dims:hover,\n",
       ".xr-var-dtype:hover,\n",
       ".xr-attrs dt:hover {\n",
       "  overflow: visible;\n",
       "  width: auto;\n",
       "  z-index: 1;\n",
       "}\n",
       "\n",
       ".xr-var-attrs,\n",
       ".xr-var-data,\n",
       ".xr-index-data {\n",
       "  display: none;\n",
       "  background-color: var(--xr-background-color) !important;\n",
       "  padding-bottom: 5px !important;\n",
       "}\n",
       "\n",
       ".xr-var-attrs-in:checked ~ .xr-var-attrs,\n",
       ".xr-var-data-in:checked ~ .xr-var-data,\n",
       ".xr-index-data-in:checked ~ .xr-index-data {\n",
       "  display: block;\n",
       "}\n",
       "\n",
       ".xr-var-data > table {\n",
       "  float: right;\n",
       "}\n",
       "\n",
       ".xr-var-name span,\n",
       ".xr-var-data,\n",
       ".xr-index-name div,\n",
       ".xr-index-data,\n",
       ".xr-attrs {\n",
       "  padding-left: 25px !important;\n",
       "}\n",
       "\n",
       ".xr-attrs,\n",
       ".xr-var-attrs,\n",
       ".xr-var-data,\n",
       ".xr-index-data {\n",
       "  grid-column: 1 / -1;\n",
       "}\n",
       "\n",
       "dl.xr-attrs {\n",
       "  padding: 0;\n",
       "  margin: 0;\n",
       "  display: grid;\n",
       "  grid-template-columns: 125px auto;\n",
       "}\n",
       "\n",
       ".xr-attrs dt,\n",
       ".xr-attrs dd {\n",
       "  padding: 0;\n",
       "  margin: 0;\n",
       "  float: left;\n",
       "  padding-right: 10px;\n",
       "  width: auto;\n",
       "}\n",
       "\n",
       ".xr-attrs dt {\n",
       "  font-weight: normal;\n",
       "  grid-column: 1;\n",
       "}\n",
       "\n",
       ".xr-attrs dt:hover span {\n",
       "  display: inline-block;\n",
       "  background: var(--xr-background-color);\n",
       "  padding-right: 10px;\n",
       "}\n",
       "\n",
       ".xr-attrs dd {\n",
       "  grid-column: 2;\n",
       "  white-space: pre-wrap;\n",
       "  word-break: break-all;\n",
       "}\n",
       "\n",
       ".xr-icon-database,\n",
       ".xr-icon-file-text2,\n",
       ".xr-no-icon {\n",
       "  display: inline-block;\n",
       "  vertical-align: middle;\n",
       "  width: 1em;\n",
       "  height: 1.5em !important;\n",
       "  stroke-width: 0;\n",
       "  stroke: currentColor;\n",
       "  fill: currentColor;\n",
       "}\n",
       "</style><pre class='xr-text-repr-fallback'>&lt;xarray.ScalarFieldDataArray (x: 639, y: 71)&gt; Size: 363kB\n",
       "array([[ 1.72903887e-13+7.30291817e-14j,  7.05131808e-13-8.20385426e-13j,\n",
       "        -4.10750562e-13-1.32187230e-11j, ...,\n",
       "         2.20327619e-12+2.00806880e-14j, -2.93731185e-13+3.05212940e-13j,\n",
       "        -8.45800548e-14+2.77022573e-13j],\n",
       "       [-2.07527363e-11+9.06220411e-12j,  1.73980080e-10-7.17077953e-10j,\n",
       "         5.30298161e-09-3.85799659e-09j, ...,\n",
       "         1.53273738e-09-1.78293558e-09j, -1.13150746e-10-1.01174555e-10j,\n",
       "         9.96051982e-13+1.79779379e-12j],\n",
       "       [-1.84707982e-09+2.74981615e-09j, -2.47840379e-08-9.69261080e-08j,\n",
       "         4.35158171e-07-5.78295271e-07j, ...,\n",
       "         7.09929466e-08-3.01665466e-07j, -2.05956585e-08-4.81508300e-09j,\n",
       "         1.10313522e-10+8.91196908e-11j],\n",
       "       ...,\n",
       "       [-1.03232742e-10+8.24886166e-12j,  2.28711539e-09-1.38926426e-09j,\n",
       "         1.25055974e-08+1.50453268e-08j, ...,\n",
       "         8.53952109e-09+3.09128767e-09j, -1.86159352e-10-5.29092270e-10j,\n",
       "         9.32336239e-13+7.03187899e-12j],\n",
       "       [-1.80652870e-13-7.85726803e-14j,  1.38683303e-12-4.83263006e-13j,\n",
       "         1.98963827e-12+1.07613978e-11j, ...,\n",
       "         5.02892346e-12+3.87518316e-12j,  5.12411565e-14-1.53012545e-13j,\n",
       "        -5.88365687e-14+1.36643653e-13j],\n",
       "       [-5.79908097e-14-4.90087910e-14j, -1.08373292e-13-2.28382634e-13j,\n",
       "        -1.74725566e-12-1.37564834e-14j, ...,\n",
       "         6.79223875e-13+7.33959402e-14j, -1.36950667e-14+7.32532185e-14j,\n",
       "        -4.63693618e-14+4.68727399e-14j]],\n",
       "      shape=(639, 71), dtype=complex64)\n",
       "Coordinates:\n",
       "  * x        (x) float64 5kB -28.33 -28.24 -28.16 -28.07 ... 28.2 28.29 28.33\n",
       "  * y        (y) float64 568B -4.203 -3.996 -3.789 -3.583 ... 3.789 3.996 4.203\n",
       "    z        float64 8B -0.022\n",
       "    f        float64 8B 1.999e+14\n",
       "Attributes:\n",
       "    long_name:  field value</pre><div class='xr-wrap' style='display:none'><div class='xr-header'><div class='xr-obj-type'>xarray.ScalarFieldDataArray</div><div class='xr-array-name'></div><ul class='xr-dim-list'><li><span class='xr-has-index'>x</span>: 639</li><li><span class='xr-has-index'>y</span>: 71</li></ul></div><ul class='xr-sections'><li class='xr-section-item'><div class='xr-array-wrap'><input id='section-7c9f0151-346e-4b9b-9616-0d6de91c47d2' class='xr-array-in' type='checkbox' checked><label for='section-7c9f0151-346e-4b9b-9616-0d6de91c47d2' title='Show/hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-array-preview xr-preview'><span>(1.7290389e-13+7.302918e-14j) ... (-4.6369362e-14+4.687274e-14j)</span></div><div class='xr-array-data'><pre>array([[ 1.72903887e-13+7.30291817e-14j,  7.05131808e-13-8.20385426e-13j,\n",
       "        -4.10750562e-13-1.32187230e-11j, ...,\n",
       "         2.20327619e-12+2.00806880e-14j, -2.93731185e-13+3.05212940e-13j,\n",
       "        -8.45800548e-14+2.77022573e-13j],\n",
       "       [-2.07527363e-11+9.06220411e-12j,  1.73980080e-10-7.17077953e-10j,\n",
       "         5.30298161e-09-3.85799659e-09j, ...,\n",
       "         1.53273738e-09-1.78293558e-09j, -1.13150746e-10-1.01174555e-10j,\n",
       "         9.96051982e-13+1.79779379e-12j],\n",
       "       [-1.84707982e-09+2.74981615e-09j, -2.47840379e-08-9.69261080e-08j,\n",
       "         4.35158171e-07-5.78295271e-07j, ...,\n",
       "         7.09929466e-08-3.01665466e-07j, -2.05956585e-08-4.81508300e-09j,\n",
       "         1.10313522e-10+8.91196908e-11j],\n",
       "       ...,\n",
       "       [-1.03232742e-10+8.24886166e-12j,  2.28711539e-09-1.38926426e-09j,\n",
       "         1.25055974e-08+1.50453268e-08j, ...,\n",
       "         8.53952109e-09+3.09128767e-09j, -1.86159352e-10-5.29092270e-10j,\n",
       "         9.32336239e-13+7.03187899e-12j],\n",
       "       [-1.80652870e-13-7.85726803e-14j,  1.38683303e-12-4.83263006e-13j,\n",
       "         1.98963827e-12+1.07613978e-11j, ...,\n",
       "         5.02892346e-12+3.87518316e-12j,  5.12411565e-14-1.53012545e-13j,\n",
       "        -5.88365687e-14+1.36643653e-13j],\n",
       "       [-5.79908097e-14-4.90087910e-14j, -1.08373292e-13-2.28382634e-13j,\n",
       "        -1.74725566e-12-1.37564834e-14j, ...,\n",
       "         6.79223875e-13+7.33959402e-14j, -1.36950667e-14+7.32532185e-14j,\n",
       "        -4.63693618e-14+4.68727399e-14j]],\n",
       "      shape=(639, 71), dtype=complex64)</pre></div></div></li><li class='xr-section-item'><input id='section-c608a8be-4bf1-4c9f-b7a4-498b331825a6' class='xr-section-summary-in' type='checkbox'  checked><label for='section-c608a8be-4bf1-4c9f-b7a4-498b331825a6' class='xr-section-summary' >Coordinates: <span>(4)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>x</span></div><div class='xr-var-dims'>(x)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>-28.33 -28.24 ... 28.29 28.33</div><input id='attrs-bc9f6a0f-bd5d-4d81-a2b6-37402b4f99fc' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-bc9f6a0f-bd5d-4d81-a2b6-37402b4f99fc' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-19e1f8a6-4979-4160-a3f7-0b2256f100e1' class='xr-var-data-in' type='checkbox'><label for='data-19e1f8a6-4979-4160-a3f7-0b2256f100e1' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>units :</span></dt><dd>um</dd><dt><span>long_name :</span></dt><dd>x position</dd></dl></div><div class='xr-var-data'><pre>array([-28.333333, -28.244444, -28.155556, ...,  28.2     ,  28.288889,\n",
       "        28.333333], shape=(639,))</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>y</span></div><div class='xr-var-dims'>(y)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>-4.203 -3.996 ... 3.996 4.203</div><input id='attrs-fa45abab-56c1-4773-9c99-79faf591d872' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-fa45abab-56c1-4773-9c99-79faf591d872' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-8cd6ffb5-94da-4714-928b-1ebc52a465a7' class='xr-var-data-in' type='checkbox'><label for='data-8cd6ffb5-94da-4714-928b-1ebc52a465a7' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>units :</span></dt><dd>um</dd><dt><span>long_name :</span></dt><dd>y position</dd></dl></div><div class='xr-var-data'><pre>array([-4.202639, -3.995949, -3.78926 , -3.58257 , -3.37588 , -3.16919 ,\n",
       "       -2.9625  , -2.75581 , -2.54912 , -2.34243 , -2.13574 , -1.947415,\n",
       "       -1.843357, -1.757143, -1.671429, -1.585714, -1.5     , -1.4125  ,\n",
       "       -1.325   , -1.2375  , -1.15    , -1.0659  , -0.978998, -0.892095,\n",
       "       -0.805192, -0.718289, -0.65    , -0.6     , -0.535917, -0.454367,\n",
       "       -0.372817, -0.3     , -0.25    , -0.180811, -0.092763, -0.004715,\n",
       "        0.083333,  0.171382,  0.25    ,  0.3     ,  0.372817,  0.454367,\n",
       "        0.535917,  0.6     ,  0.65    ,  0.718289,  0.805192,  0.892095,\n",
       "        0.978998,  1.0659  ,  1.15    ,  1.2375  ,  1.325   ,  1.4125  ,\n",
       "        1.5     ,  1.585714,  1.671429,  1.757143,  1.843357,  1.947415,\n",
       "        2.13574 ,  2.34243 ,  2.54912 ,  2.75581 ,  2.9625  ,  3.16919 ,\n",
       "        3.37588 ,  3.58257 ,  3.78926 ,  3.995949,  4.202639])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>z</span></div><div class='xr-var-dims'>()</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>-0.022</div><input id='attrs-07dedf70-0735-4b0a-8b39-08dfbf362d01' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-07dedf70-0735-4b0a-8b39-08dfbf362d01' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-51f18767-5a3a-47fa-99ee-e645a00cfa7a' class='xr-var-data-in' type='checkbox'><label for='data-51f18767-5a3a-47fa-99ee-e645a00cfa7a' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>units :</span></dt><dd>um</dd><dt><span>long_name :</span></dt><dd>z position</dd></dl></div><div class='xr-var-data'><pre>array(-0.022)</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span>f</span></div><div class='xr-var-dims'>()</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>1.999e+14</div><input id='attrs-21894600-16fd-4fe6-8a7d-c42422a0ccdf' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-21894600-16fd-4fe6-8a7d-c42422a0ccdf' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-7e3b4ee5-757b-40f0-a2a7-9dbcac93db00' class='xr-var-data-in' type='checkbox'><label for='data-7e3b4ee5-757b-40f0-a2a7-9dbcac93db00' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>units :</span></dt><dd>Hz</dd><dt><span>long_name :</span></dt><dd>frequency</dd></dl></div><div class='xr-var-data'><pre>array(1.99861644e+14)</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-3075cf3b-aa44-492d-9646-9fbe8e7f29d0' class='xr-section-summary-in' type='checkbox'  ><label for='section-3075cf3b-aa44-492d-9646-9fbe8e7f29d0' class='xr-section-summary' >Indexes: <span>(2)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-index-name'><div>x</div></div><div class='xr-index-preview'>PandasIndex</div><input type='checkbox' disabled/><label></label><input id='index-cd0791fe-04ea-4db5-ae1a-001359713265' class='xr-index-data-in' type='checkbox'/><label for='index-cd0791fe-04ea-4db5-ae1a-001359713265' title='Show/Hide index repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-index-data'><pre>PandasIndex(Index([-28.333333333333332, -28.244444444444444, -28.155555555555555,\n",
       "       -28.066666666666666, -27.977777777777778,  -27.88888888888889,\n",
       "                     -27.8, -27.711111111111112, -27.622222222222224,\n",
       "       -27.533333333333335,\n",
       "       ...\n",
       "         27.57777777777881,  27.666666666667698,  27.755555555556587,\n",
       "        27.844444444443415,  27.933333333330243,   28.02222222221707,\n",
       "          28.1111111111039,  28.199999999990727,  28.288888888877555,\n",
       "         28.33333333332097],\n",
       "      dtype=&#x27;float64&#x27;, name=&#x27;x&#x27;, length=639))</pre></div></li><li class='xr-var-item'><div class='xr-index-name'><div>y</div></div><div class='xr-index-preview'>PandasIndex</div><input type='checkbox' disabled/><label></label><input id='index-9a4a6dda-2e12-4f40-b379-92577b1664b6' class='xr-index-data-in' type='checkbox'/><label for='index-9a4a6dda-2e12-4f40-b379-92577b1664b6' title='Show/Hide index repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-index-data'><pre>PandasIndex(Index([    -4.202639377094743,    -3.9959494809122855,    -3.7892595847298285,\n",
       "          -3.5825696885473715,    -3.3758797923649144,    -3.1691898961824574,\n",
       "          -2.9625000000000004,     -2.755810103817543,     -2.549120207635086,\n",
       "          -2.3424303114526284,    -2.1357404152701713,    -1.9474150351508217,\n",
       "          -1.8433573632796536,    -1.7571428571428573,    -1.6714285714285715,\n",
       "          -1.5857142857142856,    -1.4999999999999998,    -1.4124999999999999,\n",
       "                       -1.325,                -1.2375,    -1.1500000000000001,\n",
       "            -1.06590042512647,     -0.978997531090489,    -0.8920946370545075,\n",
       "           -0.805191743018526,    -0.7182888489825445,     -0.649999999999999,\n",
       "          -0.5999999999999992,    -0.5359172257355991,   -0.45436689029423905,\n",
       "           -0.372816554852879,    -0.2999999999999985,   -0.24999999999999867,\n",
       "         -0.18081118394597295,   -0.09276301151953703, -0.0047148390931006645,\n",
       "           0.0833333333333357,    0.17138150575977207,     0.2500000000000031,\n",
       "          0.30000000000000293,    0.37281655485288345,     0.4543668902942435,\n",
       "           0.5359172257356035,     0.6000000000000036,     0.6500000000000035,\n",
       "            0.718288848982549,     0.8051917430185305,      0.892094637054512,\n",
       "           0.9789975310904935,     1.0659004251264745,     1.1500000000000048,\n",
       "           1.2375000000000052,     1.3250000000000055,     1.4125000000000059,\n",
       "           1.5000000000000062,     1.5857142857142916,      1.671428571428577,\n",
       "           1.7571428571428624,      1.843357363279659,     1.9474150351508275,\n",
       "           2.1357404152701767,     2.3424303114526337,     2.5491202076350907,\n",
       "           2.7558101038175478,     2.9625000000000004,     3.1691898961824485,\n",
       "           3.3758797923648967,      3.582569688547345,      3.789259584729793,\n",
       "            3.995949480912241,      4.202639377094689],\n",
       "      dtype=&#x27;float64&#x27;, name=&#x27;y&#x27;))</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-12a00342-ab39-4153-9e00-c0801166104f' class='xr-section-summary-in' type='checkbox'  checked><label for='section-12a00342-ab39-4153-9e00-c0801166104f' class='xr-section-summary' >Attributes: <span>(1)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><dl class='xr-attrs'><dt><span>long_name :</span></dt><dd>field value</dd></dl></div></li></ul></div></div>"
      ],
      "text/plain": [
       "<xarray.ScalarFieldDataArray (x: 639, y: 71)> Size: 363kB\n",
       "array([[ 1.72903887e-13+7.30291817e-14j,  7.05131808e-13-8.20385426e-13j,\n",
       "        -4.10750562e-13-1.32187230e-11j, ...,\n",
       "         2.20327619e-12+2.00806880e-14j, -2.93731185e-13+3.05212940e-13j,\n",
       "        -8.45800548e-14+2.77022573e-13j],\n",
       "       [-2.07527363e-11+9.06220411e-12j,  1.73980080e-10-7.17077953e-10j,\n",
       "         5.30298161e-09-3.85799659e-09j, ...,\n",
       "         1.53273738e-09-1.78293558e-09j, -1.13150746e-10-1.01174555e-10j,\n",
       "         9.96051982e-13+1.79779379e-12j],\n",
       "       [-1.84707982e-09+2.74981615e-09j, -2.47840379e-08-9.69261080e-08j,\n",
       "         4.35158171e-07-5.78295271e-07j, ...,\n",
       "         7.09929466e-08-3.01665466e-07j, -2.05956585e-08-4.81508300e-09j,\n",
       "         1.10313522e-10+8.91196908e-11j],\n",
       "       ...,\n",
       "       [-1.03232742e-10+8.24886166e-12j,  2.28711539e-09-1.38926426e-09j,\n",
       "         1.25055974e-08+1.50453268e-08j, ...,\n",
       "         8.53952109e-09+3.09128767e-09j, -1.86159352e-10-5.29092270e-10j,\n",
       "         9.32336239e-13+7.03187899e-12j],\n",
       "       [-1.80652870e-13-7.85726803e-14j,  1.38683303e-12-4.83263006e-13j,\n",
       "         1.98963827e-12+1.07613978e-11j, ...,\n",
       "         5.02892346e-12+3.87518316e-12j,  5.12411565e-14-1.53012545e-13j,\n",
       "        -5.88365687e-14+1.36643653e-13j],\n",
       "       [-5.79908097e-14-4.90087910e-14j, -1.08373292e-13-2.28382634e-13j,\n",
       "        -1.74725566e-12-1.37564834e-14j, ...,\n",
       "         6.79223875e-13+7.33959402e-14j, -1.36950667e-14+7.32532185e-14j,\n",
       "        -4.63693618e-14+4.68727399e-14j]],\n",
       "      shape=(639, 71), dtype=complex64)\n",
       "Coordinates:\n",
       "  * x        (x) float64 5kB -28.33 -28.24 -28.16 -28.07 ... 28.2 28.29 28.33\n",
       "  * y        (y) float64 568B -4.203 -3.996 -3.789 -3.583 ... 3.789 3.996 4.203\n",
       "    z        float64 8B -0.022\n",
       "    f        float64 8B 1.999e+14\n",
       "Attributes:\n",
       "    long_name:  field value"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "sim_data[\"Field monitor\"].Hz.isel(f=0).sel(z=0, method=\"nearest\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7c447b6f",
   "metadata": {},
   "source": [
    "After slicing, the data is 2D so it can be plotted as a false color plot. When using the `plot` method, we can specify which coordinate is plotted on the horizontal axis, which coordinate is plotted on the vertical axis, what colormap is used, min and max values of the color scale, etc."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "60881279",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2025-05-15T10:34:43.872041Z",
     "iopub.status.busy": "2025-05-15T10:34:43.871948Z",
     "iopub.status.idle": "2025-05-15T10:34:43.949491Z",
     "shell.execute_reply": "2025-05-15T10:34:43.949114Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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ueeeC1g7xo0bBwC47rrr0LZtW7z11luBY52W+fXXXwOAbeiAAwcOoEGDBpaW0k8//TTIHwjwZindtm0bHn30UcyaNUs71OiFtLQ018/84MGDGDx4MJo3b45XXnmlVvgFkuSDIicB+eGHH3D55Zfj5JNPdtxZV1VVYf/+/Y6Obdy4seWQT2lpKVq3bh20benSpejfvz+aNm0aMPWr+GPS2AmQhg0bIiMjwzR+jd35o0aNwt/+9je89tprtpaZ0tLSQCC8RYsWhe3vYvVC9/l8ptut7qfVdsMwvDUsQpSVlTk6Ljc311a8RoIrrrgCv/nNb/Cf//wHPp8Pp59+esDB9eSTTw5qyzvvvIPt27dj27ZtaNWqFVq1aoUzzzwTjRs3Rl5enqsyq6urAQCPPvoounbtato2v+Aws5TefvvtKCgowB133BG03YuldNKkSWjevDn69+8fGKbyP6O9e/di27ZtaNmypWcHby+MGDECO3fuxKpVq0L88AipKShyEozq6mpce+21KC8vxz//+U+tk62fTz/9NCI+OQUFBSEv8y5dugAAunbtiqVLl+LgwYNBL72VK1cG9luRmpqK0047DZ9//nnIvpUrV6JNmzYhwuSOO+7AnDlzMHPmzICvixnff/89zjvvPFRWVmLJkiWmfj9uadCgAYDjQdlUvv3227DLrg04vUfR9snxk56eHjTrzj8Dzcz60LJlS7Rs2RLA8eezevVqXH755a7LbNu2LQAgJydHa+Uws5Q2aNAATZs2jYhVbPv27diyZQvatGkTsu+mm24CcPzHjyrkosn06dPx9ttv46233kKHDh1qpE5CzKDISTDuu+8+/OMf/8B7770XYlGxI1I+OZmZmZYv7SuuuAIzZszA888/HxguqKysxJw5c9C7d++goZnt27fjyJEjQS/IK664AuPHj8fnn38eiMa7efNm/Otf/wqU5+fRRx/FjBkzcPfdd+OWW26xbG9FRQUuvPBC7NixA0uXLsVJJ52kvwEO8HeAH374YUC8+Xw+PP/88xEpP9bEwifnyJEj2L59Oxo1amQ78+3rr7/G7Nmz8etf/zrIkmPGhAkT8NNPP+G2226zPc6szO7du6Nt27aYMWMGrrnmmpBhor179zp21g2XBx54IMS3Z8OGDbj33ntx5513ori4GPXq1auRtvzzn//ExIkTcc8994Q4IRNS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",
      "text/plain": [
       "<Figure size 640x480 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "Hz_1500 = sim_data[\"Field monitor\"].Hz.abs.isel(f=0).sel(z=0, method=\"nearest\")\n",
    "Hz_1500.plot(x=\"y\", y=\"x\", cmap=\"hot\", vmin=0, vmax=0.6)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "faf52a34",
   "metadata": {},
   "source": [
    "Similarly, we can easily extract and plot the field at 1550 nm."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "5135eb8d",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2025-05-15T10:34:43.950918Z",
     "iopub.status.busy": "2025-05-15T10:34:43.950830Z",
     "iopub.status.idle": "2025-05-15T10:34:44.024599Z",
     "shell.execute_reply": "2025-05-15T10:34:44.024107Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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1xmO9e7dG++88w4OHjyIZs2aWbZfXl6OjIwMZGRk2Mp56NAhHDp0yKAoRZL9+/fjD3/4A6644goMGTIEzzzzDK644gq8+uqruPnmm3HjjTfiqquuwsMPP4zLLrsMZWVltn11wiWXXAKXy4VbbrkFV155JS644AI0bdrU9ppAnZubNWuGtLS0cIhpSnV1NRo3bmzY733G69atwznnnON3rKKiArW1tSgvL8ecOXNQWVmJs88+21DHnDlzsH//ftx999144403TNv/5ptv0KdPH7Rq1QqTJk1CkyZN8Nprr2Hw4MF4/fXXQ/aTcsratWvx4osv4sMPPwz7D5t9+/aZ7q+rq/Mr33XXXbj++uv99r3yyiv417/+hdzc3LDKRIgOKjkNiCZNmhh+vY0dOxaHDh3SOvd+9NFHGDBgQEDtbN26Nahf+jt37sRxxx1n2O/dt2PHDstr9+3bh+rqau31nTp1Mr1+y5YteOONNzBkyBCkpKTYyjlnzhzU1NRg6NChtueFkx07dmDRokW48sorARz1jejcuTOuuuoqfPzxxygsLAQAnHTSSRg0aBBef/11jBgxIixtd+3aFZmZmbjllltw2mmnBWQByMnJCajuBQsWhE1OM7yWrR9//NFnjQKOWniAo47qkjPOOAObN28GADRt2hR33303Ro0a5XdOeXk57r33XsyePduglKtMmDABbdu2xWeffeZT5m666SacddZZmDhxYr0qOR6PB+PHj8fQoUNRVFRksCKGitX/FnD0O+RFKpUff/wx3n//fVx33XW44IILwioTITqo5DRgXnrpJTz99NN45JFHtApMt27dAl7l5NR87uWXX34x/VWfnp7uO253LYCgrj98+DCGDBmCxo0bY9asWbYyfvDBB5g+fTouv/xyvymQSNO0aVNcccUVvnKnTp3gcrnQqlUrn4IDwLctV5TVN4F+V04++eSIynH99ddj3rx5uPzyy/HYY48hLy8Pr732ms8B2+w7sWDBAlRWVuKHH37AggUL8Msvv8DtdvtZJydOnOhbaWfFvn378P7772PGjBk4ePCg3zTooEGDMHXqVGzfvh2tWrVCXV2dwRJSXV2N2tpag1UsKysLjRo1cnwvFi5ciI0bN/qmOcPN66+/bqrw2SnF5eXluOyyy9C9e3c8/fTTEZGLEDuo5DRQNmzYgBtvvBFXXnkliouLtec3b94cAwcODLldt9uNPXv2+O3Lzs5GamoqGjdubLpC5ciRIwBgOu3gxXvM6fVutxtXXHEF/vOf/+Cf//wnWrZsadnGpk2b8Kc//QmnnHIK/u///s/yvEjQunVrw/RCVlaWYfouKysLwNHprWgSju9KOOjatSsWLVqEG2+8EX369AFwVAmfM2cOxowZYzrtVlRU5Nu+4oorcNJJJwGAb6n1J598gpdffhklJSW207JbtmyBx+PBPffcg3vuucf0nN27d6NVq1YoLS1F+/btTc+RVrGVK1c6XuFUWVmJyZMn4/bbb7ec8g2Vvn37mk7hen9kSH799VdcfvnlcLvdeOONNyI6bUmIFVRyGiD79+/HpZdeihNPPDHgwbqmpsZyzl2Sk5NjOeVTVlZmeJl7X9rHHXec6fSBNyaNnQKSnZ2NtLQ00/g1dtePHj0ab7/9Nl599VVby0xZWZkvEN7y5ctD9nex8odwu92m+63up9V+j8cTnGBhory8PKDzsrKybJXXcHDZZZfhj3/8I7788ku43W6cdtppPsfuE0880fba5s2b4/e//z1effVVn5Jzxx134He/+x3at2/vm/LxWlt27tyJ0tJStG3b1ueLctttt2HQoEGm9Xfs2BHAUcVLWr8efvhhlJeX45FHHvHbb7WU3Y7Zs2f7pli9Mv/0008Ajr4Ptm3bhpYtW2p988LJ7bffjjVr1uC9995D69at661dQlSo5DQw6urqcPXVV6OiogLvvfee1snWy8cffxwWnxyzl7n3pd29e3esXLkSlZWVfmbvTz/91HfciuTkZJx66qmmwdg+/fRTdOjQwaCY3H777ViwYAHmzJnj83Ux4+eff8a5556L6upqlJSUmPr9OKV58+YAYFi18+OPP4ZcdywQ6D2KtE+Ol9TUVL9Vd94VaIFYnH755Rc/p/vS0lL8+OOPppaXP/7xj8jKykJFRYUvYF6jRo207aSnpxvOeeWVV1BdXR0Wq1hpaSn2799vOj34wAMP4IEHHsD69ett/8fCyeLFizFnzhzMmTMH/fr1q5c2CTGDSk4DY/r06fjXv/6Ff/7zn5bmcTPC5ZNj9jL3ctlll2H27Nl47rnncNtttwE4Ov20YMECFBYW+pnZS0tLcfjwYXTu3Nnv+kmTJuHzzz/3RePdvHkz3n//fV99Xh5++GHMnj0bd955JyZMmGApb1VVFS644AJs374dK1euxAknnKC/AQHgXXL8wQcf+AYWt9vdYAKfRcMn5/DhwygtLUWLFi1sV7599913mDdvHv7whz/4WXJ2795tWN2zbds2lJSU+EV3fu6553D48GG/895//308+eSTmD17tu87mZubi/79++PZZ5/F+PHjDYrfnj17AnbQDpW//OUvGDx4sN++3bt344YbbsCIESNw8cUXO3ofhMLXX3+N66+/Htdcc43t/x4h9QGVnAbExo0bce+996Jv377YvXs3XnnlFb/jdg6C4fLJsaOwsBBDhgzB5MmTsXv3bnTs2BEvvvgitm3bhhdeeMHv3GHDhmH16tV+0zI33XQTnn/+eVx44YW47bbb0KhRIzz66KPIy8vDrbfe6jtv2bJluOOOO3DCCSfgpJNOMtyHc845B3l5eQCAq6++GmvXrsV1112Hb7/91i82TtOmTQ0DR6CcfPLJOOOMMzB58mTs27cP2dnZWLx4MX799deg6guWadOmYfr06UH5edgRzu/KBx98gA8++ADAUcWgqqoK9913H4CjfiB9+/YFcHR59IABAzB16lRMmzbNd32XLl0wZMgQtG3bFlu3bsUzzzyD7OxszJs3z6+dU089FWeffTa6d++O5s2b47vvvsMLL7yA2tpaP4f0c8891yCj1yLXr18/P4Vo7ty5OOuss3Dqqadi9OjR6NChA3bt2oU1a9bgp59+wpdffhny/XnqqadQUVHhW33497//3TcVNX78eGRlZeG0007Daaed5nedd9rq5JNPDvp7HAzeiOJ9+/Y1/O+deeaZfikjCIk0VHIaED///DM8Hg9Wr15tGgQtmqkHvLz00ku455578PLLL2P//v3o2rUr3n77bd9AZkezZs2watUq3HLLLbjvvvtQV1eH/v3747HHHvP7xewdWL777jtce+21hnpWrlzpU3I2bNgAAJg/fz7mz5/vd167du1CGhxeffVV3HDDDZg1axZcLhdGjRqFAQMGGJbYRpJDhw4hKSkp6BVx9cH777+P6dOn++3zOvJOnTpV+93o1q0bFixYgF27dqFFixa4/PLLMX36dIPVZsyYMfjHP/6BFStW4ODBg8jNzcW5556LO++8E6eeempQsnfp0gWff/45pk+fjoULF+Lnn39Gbm4uevTogSlTpgRVp2T27Nl+05xvvPGGL27PNddc43NG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bWP48OGeiy++2Fc2y7jszeC9f/9+j8fj8Vx11VWec845x++c22+/3dOlSxdfuV27dp5rrrnGV66rq/Pk5uZ6nnnmGVM5rNpesGCBJysry2/fsmXL/LLKT5061ZORkeGprKz07Rs0aJCnoKDA43a7ffs6derkmTlzpm3fCCENG1pyCIkQo0ePxjvvvIPt27cDODoVM2LECK0zb1FRkW/7mGOOQa9evfDtt98CAL799lsUFRX51dGnTx8cOnQIP/30E7p164azzz4bp556KoYMGYLnn38e+/fvD6kf3377Lfr06eO3r0+fPvjuu+/gdrt9+7p27erbTkpKQn5+Pnbv3h1S21YUFBSgWbNmvnJeXh66dOmC5ORkv32Rap8QEh9QySEkQvTo0QPdunXDSy+9hHXr1uGbb77BiBEjItpmSkoK3n33Xfzzn/9Ely5d8OSTT6JTp07YunVrRNsFgEaNGvmVk5KSUFdX56iO5ORkw9RabW1tQG2Fo31CSMOCSg4hEeT666/HwoULsWDBAgwcONDU50XyySef+LZ//fVXrFu3DieddBIA4KSTTsKaNWv8FIGPPvoIzZo1Q+vWrQEcHdz79OmD6dOnY/369UhNTcWyZctM20pNTfWzxphx0kkn4aOPPvLb99FHH+HEE09ESkqKtj9OyMnJwcGDB32O0gDqJYYOIaRhQiWHkAhy1VVX4aeffsLzzz+vdTj2MnfuXCxbtgybNm3C2LFjsX//ft+1N910E8rKyjB+/Hhs2rQJb731FqZOnYri4mIkJyfj008/xQMPPIDPP/8cpaWleOONN7Bnzx6fkiQpKCjAp59+im3btmHv3r2mlo9bb70VJSUluPfee/Hf//4XL774Ip566incdtttwd8YCwoLC5GRkYE777wT33//PRYtWmRwcCaEkEChkkNIBMnKysKll16Kpk2baiMNe5k1axZmzZqFbt264cMPP8Tf/vY3tGjRAgDQqlUrLF++HGvXrkW3bt1w4403YtSoUbj77rsBAJmZmfjggw9wwQUX4MQTT8Tdd9+NRx55BOeff75pW7fddhtSUlLQpUsX5OTkoLS01HDOaaedhtdeew2LFy/GKaecgilTpmDGjBkRmXrLzs7GK6+8guXLl+PUU0/F//t//w/Tpk0LezuEkMSAEY8JiTBnn302Tj75ZDzxxBO2523btg3t27fH+vXr0b179/oRLoqYRVuONKtWrcKAAQMY8ZiQBIGWHEIixP79+7Fs2TKsWrUKY8eOjbY4McnTTz+Npk2bYuPGjRFv6+STT7a0aBFCGiZM60BIhOjRowf279+PBx98EJ06dYq2ODHHq6++il9++QUA0LZt24i3t3z5ct9KrczMzIi3RwiJPpyuIoQQQkiDhNNVhBBCCGmQUMkhhBBCSIOESg4hhBBCGiRUcgghhBDSIKGSQwghhJAGCZUcQgghhDRIqOQQQgghpEFCJYcQQgghDRIqOYQQQghpkPx/bP3/LGfwE0QAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 640x480 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "Hz_1550 = sim_data[\"Field monitor\"].Hz.abs.sel(f=td.C_0 / 1.55, z=0, method=\"nearest\")\n",
    "Hz_1550.plot(x=\"y\", y=\"x\", cmap=\"hot\", vmin=0, vmax=0.6)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6ab0935a",
   "metadata": {},
   "source": [
    "### Data Interpolation"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d6120864",
   "metadata": {},
   "source": [
    "The field data are most likely located in a nonlinear grid. However, `xarray` allows us to interpolate data at arbitrary coordinates easily. As a demonstration, we define a linear grid and interpolate the `Hz` field to this grid by using the `interp` method."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "94a6791a",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2025-05-15T10:34:44.026094Z",
     "iopub.status.busy": "2025-05-15T10:34:44.025998Z",
     "iopub.status.idle": "2025-05-15T10:34:44.091373Z",
     "shell.execute_reply": "2025-05-15T10:34:44.090866Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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iYMHD1pcCGvYt28fzp49CycnJzRv3hwZGRkIDw/HvHnz0KRJk2L3y8vLQ15enuH/OTnSOAsiIqJS5qDNVR988AF69eqF48eP4+WXX8bQoUONFufUyuIg5/jx49iwYYNRpOXs7IzY2FisXr3aagWzVGGEN23aNCxYsADBwcF4++230b59e/zxxx/FNqXNnj0b06dPL82iEhERWcZBgxwA6Nq1KwAgNTUVY8aMKdsgp0WLFjhy5AgaNGhgtP3IkSM2mScnLi4Ob731ltn3HDlyxNCO9/rrr+Opp54CACQmJqJWrVr49NNP8dJLL5ncd+LEiUZj83NychAYGGil0pc+O32G7YYt5wNxFdKlj600jQ0qCOnSZC7SRDNS/hIpf+nhFI4vXR/p+kr3RwvpubL3z6W9l4/gsH1y7paYmGj1PC0Ocl5++WWMGTMGx48fx0MPPQQA+Pnnn7F48WLMmTMHv/32m+G9zZo101zAV199FYMGDTL7npCQEJw7dw6AcR8cV1dXhISEIC0trdh9XV1d4epqy68/IiIiKgsWBzn9+/cHALz22msm03Q6HRRFgU6ng16vfaEMX19f+Pr6iu9r2bIlXF1dcezYMTz88MMAgFu3buHUqVMICgrSXA4iIqIyUwDtzVVa978PWRzknDx50hbl0MzDwwPDhg1DfHw8AgMDERQUhHnz5gEAevfuXcalIyIi0sAayzowyJHZc63IvHnz8MADD+C5557DjRs3EBUVhW3btqFq1aplXTQiIiIqZaomA7RXFSpUwPz58zF//vyyLgoREZH16MGaHBUcKsghIiJySAxyVGGQQ+WKNILS3FBgaV8p3fQcnv9wE9LFId5ax8dLQ9C1ksonnJ90faTra+7+aB1Za+cjc4nKLQY5RERE9o4dj1Wx+Lff9u3bi01btmyZpsIQERGRCXorvcoZi4Ocrl27Yvz48bh165+67YsXL+KJJ55AXFycVQtHREREpJaqmpxNmzahVatW+P333/HVV1+hSZMmyMnJwYEDB2xQRCIionKONTmqWBzktG7dGgcOHECTJk3QokULPPnkkxg7diySk5Pteg4dIiKi+5aCO/1ytLzYJ6dk/vjjD+zduxe1atXCAw88gGPHjuH69evWLhsRERGBFTlqWRzkzJkzB9HR0Xjsscdw6NAh7NmzB/v370ezZs2QkpJiizISERER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",
      "text/plain": [
       "<Figure size 640x480 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "x_interp = np.linspace(-10, 0, 50)\n",
    "y_interp = np.linspace(-2, 2, 50)\n",
    "\n",
    "Hz_1550.interp(x=x_interp, y=y_interp).plot(x=\"y\", y=\"x\", cmap=\"hot\", vmin=0, vmax=0.6)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a7aea4f0",
   "metadata": {},
   "source": [
    "Similarly, we can save the field data as a csv file for future use."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "9623e9f0",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2025-05-15T10:34:44.092933Z",
     "iopub.status.busy": "2025-05-15T10:34:44.092841Z",
     "iopub.status.idle": "2025-05-15T10:34:44.097734Z",
     "shell.execute_reply": "2025-05-15T10:34:44.097497Z"
    }
   },
   "outputs": [],
   "source": [
    "Hz_data = Hz_1550.interp(x=x_interp, y=y_interp).values\n",
    "np.savetxt(\"data/field_data.csv\", Hz_data, delimiter=\",\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "47e20609",
   "metadata": {},
   "source": [
    "## Integration"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ce50cd69",
   "metadata": {},
   "source": [
    "Sometimes the postprocessing of the simulation data requires the calculation of certain integrals. A common example is the calculation of the overlap integral of two modes. For instance, when designing an [edge coupler](https://www.flexcompute.com/tidy3d/examples/notebooks/EdgeCoupler/), we might want to calculate the overlap integral of the fiber mode and the waveguide mode. In Tidy3D, we provide a convenient function `outer_dot` that does this integral. \n",
    "\n",
    "To demonstrate this, we load data from two hdf5 files. They contain the field profiles of a Gaussian mode and a waveguide mode."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "id": "2496b018",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2025-05-15T10:34:44.099119Z",
     "iopub.status.busy": "2025-05-15T10:34:44.099042Z",
     "iopub.status.idle": "2025-05-15T10:34:44.142149Z",
     "shell.execute_reply": "2025-05-15T10:34:44.141812Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"><span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">12:34:44 CEST </span><span style=\"color: #800000; text-decoration-color: #800000\">WARNING: updating Simulation from </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">2.4</span><span style=\"color: #800000; text-decoration-color: #800000\"> to </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">2.8</span><span style=\"color: #800000; text-decoration-color: #800000\">                      </span>\n",
       "</pre>\n"
      ],
      "text/plain": [
       "\u001b[2;36m12:34:44 CEST\u001b[0m\u001b[2;36m \u001b[0m\u001b[31mWARNING: updating Simulation from \u001b[0m\u001b[1;36m2.4\u001b[0m\u001b[31m to \u001b[0m\u001b[1;36m2.8\u001b[0m\u001b[31m                      \u001b[0m\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "waveguide_mode_data = td.ModeSolverData.from_hdf5(\"misc/waveguide_mode_data.h5\")\n",
    "gaussian_beam_data = td.SimulationData.from_hdf5(\"misc/gaussian_beam_data.h5\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a19a110d",
   "metadata": {},
   "source": [
    "Before calculating the overlap, let's plot the fields to visualize them."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "id": "87be6223",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2025-05-15T10:34:44.143370Z",
     "iopub.status.busy": "2025-05-15T10:34:44.143292Z",
     "iopub.status.idle": "2025-05-15T10:34:44.213633Z",
     "shell.execute_reply": "2025-05-15T10:34:44.213267Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiwAAAHHCAYAAACcHAM1AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAdWtJREFUeJzt3Xl4TGf7B/DvJGQjCSERIYutdtHaGtRSauumqGppEy0tDaVqixdBVdrSlqqifdtQlSpVtG9bilpaP0tFFH3xojRBYpcQJJGc3x+R6czJ5Mw5M2fmnJl8P9c1F3PmLM8sSe557ud+HoMgCAKIiIiIdMxD6wYQERERWcOAhYiIiHSPAQsRERHpHgMWIiIi0j0GLERERKR7DFiIiIhI9xiwEBERke4xYCEiIiLdY8BCREREuseAxQ1ERUXBYDDAYDBg1KhRmrRh/vz5xjYYDAZcvnzZpvOcOHECPXr0QGBgIAwGA9avX69uQ0m3tm/fbvYZ2r9/v0Ovt379eqdez1GioqIQFxfnkHPHxcUhKipK9+ek8oEBi4o+++wzNG7cGD4+PmjQoAEWLlwo+9i8vDxMmjQJYWFh8PX1Rbt27bB582bZxz/00ENYsWIFYmNjbWm63Xr16oUVK1bgqaeesus8sbGxOHz4MN566y2sWLECrVu3VqmF0r7++msMGTIEDRo0gMFgQJcuXRQdf+HCBQwdOhQhISHw9fXFAw88gDVr1pTab926dejZsyfCwsLg7e2N2rVrY8CAAThy5Ijk+U+dOgUfHx9N/rDevHkTiYmJ6NWrF4KCgmAwGLBs2TKrxxUUFKBJkyYwGAyYN2+e7OtNmTIFK1asQN26dY3bZsyYIRkIR0VF4bHHHpN9DQBo3bo1VqxYgZdfflnRcUQAcPToUfTq1QuVK1dGUFAQnn/+eVy6dEnrZrm1Clo3wF0sXboUI0aMQP/+/TFu3Dj8+uuveO2113Dr1i1MmjTJ6vFxcXH45ptvMHbsWDRo0ADLli1Dnz59sG3bNnTs2NHq8XXr1sWQIUPUeCo2adSoERo1aoSTJ09i3bp1Np3j9u3b2L17N/71r385vado8eLFSE1NRZs2bXDlyhVFx+bk5KBjx464cOECxowZg9DQUKxevRoDBw7EypUr8dxzzxn3PXz4MKpWrYoxY8agevXqyMrKwueff462bdti9+7diI6OtniN119/HRUqVEBeXp5dz9MWly9fxqxZsxAREYHo6Ghs375d1nELFy5Eenq64us98sgjigNGW9SuXRtDhgzB3bt38cknnzj8eq7o008/RVFRkdbN0J2zZ8+iU6dOCAwMxJw5c3Dz5k3MmzcPhw8fxr59++Dl5aV1E92TQHa7deuWUK1aNeHRRx812z548GChUqVKwtWrVyWP37t3rwBAmDt3rnHb7du3hXr16gkxMTFWrx8ZGSnExsba1Ha1JSYmCgCES5cuKT7277//LvU6OEt6erpQWFgoCIIgNG3aVOjcubPsY999910BgLB161bjtsLCQqFNmzZCaGiokJeXJ3l8VlaWUKFCBeGVV16x+PjGjRsFLy8vYerUqQIA4ffff5fdNmtiY2OtPtc7d+4ImZmZgiAIwu+//y4AEJKTkyWPuXDhghAYGCjMmjVL9nu6bds2AYCwbdu2Uo9Z+1xFRkaW+vmTKzk5WfXX1Zn09PMvR2xsrBAZGal1M+wycuRIwdfXV/j777+N2zZv3iwAEJYuXaphy9yby6aEbt++bfxWf/v2beP2q1evombNmmjfvj0KCwud0pZt27bhypUrePXVV822x8fHIzc3Fz/88IPk8d988w08PT3NuqZ9fHzw0ksvYffu3cjIyLCpXcuWLYPBYMCZM2fMtpeMFTD9ptylSxc0a9YMhw4dQufOneHn54f69evjm2++AQDs2LED7dq1g6+vLxo2bIgtW7bY1KayzJgxA5GRkQCACRMmwGAwODXPHR4eDg8P234cfv31VwQHB+Phhx82bvPw8MDAgQORlZWFHTt2SB4fEhICPz8/XL9+vdRjBQUFGDNmDMaMGYN69eqVeY5jx45hwIABCAoKgo+PD1q3bo3vvvvOpucj5u3tjdDQUEXHTJ48GQ0bNtSs169Lly5m41NMb3LSWXKV/CytXr0aM2fORK1ateDv748BAwYgOzsbeXl5GDt2LEJCQlC5cmUMHTq0VC/Z3bt38eabb6JevXrw9vZGVFQUpkyZUmo/QRAwe/Zs1K5dG35+fujatSv+/PNPi+26fv06xo4di/DwcHh7e6N+/fp45513FPeWiMebnDlzxpji++STT4xtbtOmDX7//fdSx69fvx7NmjWDj48PmjVrVmbva1FREebPn4+mTZvCx8cHNWrUwCuvvIJr164Z90lMTISHhwe2bt1qduzLL78MLy8v/PHHH4qemz3Wrl2Lxx57DBEREcZt3bt3x3333YfVq1c7rR3ljcumhHx9fbF8+XJ06NAB//rXv/D+++8DKA4SsrOzsWzZMnh6epZ5fFFREa5evSrrWoGBgahYsWKZj6elpQFAqfEWrVq1goeHB9LS0iR/caelpeG+++5DQECA2fa2bdsCAA4ePIjw8HBZbbXHtWvX8Nhjj2HQoEF4+umnsXjxYgwaNAgrV67E2LFjMWLECDz33HOYO3cuBgwYgIyMDPj7+6ty7X79+qFKlSp4/fXX8eyzz6JPnz6oXLmy5DFyB/b6+/vD29tbjWZalJeXB19f31Lb/fz8AACpqal45JFHzB67fv06CgoKkJWVhfnz5yMnJwfdunUrdY758+fj2rVrmDp1Kr799luL1//zzz/RoUMH1KpVC5MnT0alSpWwevVq9O3bF2vXrrV7XJFS+/btw/Lly/Hbb7/BYDCoeu6yfmbFf4j/9a9/YdiwYWbbvvzyS2zatAkhISGqtgkAkpKS4Ovri8mTJ+PkyZNYuHAhKlasCA8PD1y7dg0zZszAnj17sGzZMtSpUwfTp083Hjts2DAsX74cAwYMwBtvvIG9e/ciKSkJR48eNfsDP336dMyePRt9+vRBnz59cODAAfTo0QP5+flmbbl16xY6d+6Mc+fO4ZVXXkFERAT+7//+DwkJCcjMzMT8+fPtfr4pKSm4ceMGXnnlFRgMBrz77rvo168f/vrrL+Pvyp9//hn9+/dHkyZNkJSUhCtXrmDo0KGoXbt2qfO98sorWLZsGYYOHYrXXnsNp0+fxkcffYS0tDTs2rULFStWxNSpU/H999/jpZdewuHDh+Hv749Nmzbh008/xZtvvllmOrVEdnY2CgoKrD43Hx8fyd89586dw8WLFy2Or2vbti1+/PFHq9cgG2ndxWOvhIQEwcPDQ9i5c6ewZs0aAYAwf/58q8edPn1aACDrZqmL2lR8fLzg6elp8bHg4GBh0KBBksc3bdpUePjhh0tt//PPPwUAwpIlSySPL6tLuKSr+/Tp02bbLXW9d+7cWQAgpKSkGLcdO3ZMACB4eHgIe/bsMW7ftGlTmWkBe1JCJe+J3JSQ3PfPWvpCTGlKaPTo0YKHh4dw5swZs+2DBg0SAAijRo0qdUzDhg2N7atcubIwdepUY0qqRGZmpuDv72/sYi4rddGtWzehefPmwp07d4zbioqKhPbt2wsNGjSQbLuclJApaymhoqIioW3btsKzzz4rCIKy91ROSkjqJpUS2rVrl1CxYkXhxRdfLPWYPSmhkjY3a9ZMyM/PN25/9tlnBYPBIPTu3dts/5iYGLN0yMGDBwUAwrBhw8z2Gz9+vABA+OWXXwRBEISLFy8KXl5ewqOPPioUFRUZ95syZYoAwOzn/8033xQqVaok/O9//zM75+TJkwVPT08hPT1d9vMTp29K3s9q1aqZpbo3bNggABC+//5747aWLVsKNWvWFK5fv27c9vPPPwsAzM7566+/CgCElStXml1748aNpbYfPnxY8PLyEoYNGyZcu3ZNqFWrltC6dWuhoKDA6nMp+R1n7WYtvVbyM/DFF1+UemzChAkCALOfRVKPy/awlJgxYwb+85//IDY2Fjdv3kTnzp3x2muvWT0uNDRUdhWOtcj99u3bZQ6y8vHxMUtZlXW8pR4AHx8f4+POULlyZQwaNMh4v2HDhqhSpQpq1aqFdu3aGbeX/P+vv/5ySrvKIvf9a9q0qUPbMWzYMCxZsgQDBw7EBx98gBo1amD16tXGb8eW3r/k5GTk5OTgr7/+QnJyMm7fvo3CwkKztNSkSZNQt27dUj0Fpq5evYpffvkFs2bNwo0bN3Djxg3jYz179kRiYiLOnTuHWrVqWexVzMvLQ0FBQaneKmu9imVZtmwZDh8+bEwlqm3t2rWleiIBSPZgZmVlYcCAAWjZsiU+/vhjh7TrhRdeMHu92rVrh6+++govvvii2X7t2rXDhx9+iLt376JChQrGb+Pjxo0z2++NN97AvHnz8MMPP6Br167YsmUL8vPzMXr0aLNeq7Fjx2LOnDlmx65ZswYPPfQQqlatava+du/eHW+//TZ27tyJwYMH2/V8n3nmGVStWtV4/6GHHgLwz++EzMxMHDx4EJMnT0ZgYKBxv0ceeQRNmjRBbm6uWXsDAwPxyCOPmLW3VatWqFy5MrZt22YcuN6sWTPMnDkTCQkJOHToEC5fvoyff/4ZFSpY/1P23nvvmaWYyhIWFib5eMnPs7Xf2Y7s1S2vXD5g8fLywueff442bdrAx8cHycnJsrqhfXx80L17d1Xa4OvrW6pbtsSdO3cspgvEx1uq/rhz547xcWeoXbt2qdcuMDCwVDqq5BeQnB9+R1Lr/bNXixYtkJKSghEjRqBDhw4AigPi+fPnY+TIkRa7l2NiYoz/HzRoEBo3bgwAxvLfPXv2YMWKFdi6davk2JqTJ09CEARMmzYN06ZNs7jPxYsXUatWLaSnp6NOnToW9wkODja7v23bNsWVOjk5OUhISMCECRMclsLs1KkTqlevXmp7yR8Ksbt372LgwIEoLCzEt99+67A/IqZjGYB/fkYs/ewUFRUhOzsb1apVw99//w0PDw/Ur1/fbL/Q0FBUqVIFf//9NwAY/23QoIHZfsHBwWaBA1A8l9GhQ4dKvaclLl68qPDZlSZ+viVtKPmdUFZ7geIvQgcOHDBrb3Z2dpmpOnF7J0yYgFWrVmHfvn2YM2cOmjRpIqvNrVq1krWfNSW/j/XwO7u8cfmABQA2bdoEoPjDcuLEiTJ/KZsqLCyUXTMfFBQkWaZWs2ZNFBYW4uLFi2Y/dPn5+bhy5YrViL1mzZo4d+5cqe2ZmZkArEf8ZSkrcCtrMHJZY37K2i4Igk3tUktWVpas/QIDAx3+C2TAgAF44okn8Mcff6CwsBAPPPCAcVDzfffdJ3ls1apV8fDDD2PlypXGgGXixIl46KGHUKdOHeOg6ZJvn5mZmUhPT0dERIRx7Mb48ePRs2dPi+cv+WNoqVdx7ty5yMrKwnvvvWe23VqvoiXz5s1Dfn4+nnnmGWObz549C6D4D9mZM2cQFhbm1JLPCRMmYPfu3diyZYvFsRNqsfdnR82xPkVFRXjkkUcwceJEi49b+zzKoebvhKKiIoSEhGDlypUWHxcHXn/99RdOnDgBoHiaALmuXr1a5hdLU76+vma9QmI1a9YE8M/vZ1OZmZkICgpi74qDuHzAcujQIcyaNQtDhw7FwYMHMWzYMBw+fFjyAwcAGRkZsgIbwPq3zZYtWwIA9u/fjz59+hi379+/H0VFRcbHpY7ftm0bcnJyzLq79+7da3Z+pUq+9YirT0q+/bi6kl8c1iQnJztsJlBTXl5eaNOmjfF+SSWVnJ6g27dvIzs723g/PT0df//9t8XP6BNPPIHAwEBcv37dOLlaxYoVrV7HUq/il19+iby8PFV6q9LT03Ht2jWLKbg5c+Zgzpw5SEtLs/nzrNSqVaswf/58zJ8/H507d3bKNZWKjIxEUVERTpw4YexlA4onIrx+/bqxcq7k3xMnTphNqHfp0qVSPZ316tXDzZs3Ne2BNG2v2PHjx83u16tXD1u2bEGHDh2sfrEoKipCXFwcAgICjOmwAQMGoF+/flbb1K9fP6sVe0Dx5JVSlWS1atVCcHCwxQkc9+3b57TPd3nk0gFLQUEB4uLiEBYWhgULFuD06dNo06YNXn/9dXz++eeSx6o5huXhhx9GUFAQFi9ebBawLF68GH5+fnj00UeN2y5fvozLly8jIiLCWEUyYMAAY5ng+PHjARR3NyYnJ6Ndu3Y2d6+XlMHu3LnT+ENUWFjoNpNkaTGG5datW0hPT0f16tUtpiZKnDhxAkuWLMFjjz1m9o1W3AsHFJeKbt261azq4JNPPsGtW7fM9vvll1+wcOFCzJs3D40aNQJQXBLdpUsXLF26FKNHjy4VxF26dKnM1IDaXnvtNfTt29ds28WLF/HKK68gLi4OTz75pOwvCfY6cuQIhg0bhiFDhmDMmDFOuaYt+vTpgylTpmD+/PlYunSpcXtJ1WPJ747u3bujYsWKWLhwIXr06GHskbFU8TNw4EDMmDEDmzZtKtXrdv36dVSuXFnWmA971KxZEy1btsTy5cvNxrFs3rwZ//3vf40BTUl7P/74Y7z55pulxuPcvXsXN2/eRJUqVQAUvy7/93//h++++w6PPvootm/fjpEjR5aZKjSl1hgWAOjfvz+WL1+OjIwM4+/nrVu34n//+x9ef/11q8eTbVw6YJk9ezYOHjyIrVu3wt/fHy1atMD06dMxdepUDBgwwCx4EFN7DMubb76J+Ph4PP300+jZsyd+/fVXfPnll3jrrbcQFBRk3Pejjz7CzJkzzXpt2rVrh6effhoJCQm4ePEi6tevj+XLl+PMmTP47LPPbG5X06ZN8eCDDyIhIQFXr15FUFAQVq1ahbt379r7lBWZMWNGqeesBjW/Qe7cuRM7d+4EUPxHPjc3F7NnzwZQPG6iU6dOAIq/QXXt2hWJiYmYMWOG8fgmTZrg6aefRkREBE6fPo3FixcjKCgIS5YsMbtO8+bN0a1bN7Rs2RJVq1bFiRMn8Nlnn6GgoABvv/22cb8ePXqUamNJT1nnzp3NgptFixahY8eOaN68OYYPH466deviwoUL2L17N86ePavK/BQfffQRrl+/jvPnzwMAvv/+e2O6Z/To0QgMDMQDDzyABx54wOy4ktRQ06ZNSwUzjjR06FAAxe/dl19+afZY+/btzXopLCkpsXV071x0dDRiY2PxySef4Pr16+jcubOxLLxv377o2rUrgOK0yPjx45GUlITHHnsMffr0QVpaGn766adSf6gnTJiA7777Do899hji4uLQqlUr5ObmGgdDnzlzxuofdzUkJSXh0UcfRceOHfHiiy/i6tWrWLhwIZo2bYqbN28a9+vcuTNeeeUVJCUl4eDBg+jRowcqVqyIEydOYM2aNViwYAEGDBiAo0ePYtq0aYiLi8Pjjz8OoPh9atmyJV599VWr85+oNYYFKF4+Ys2aNejatSvGjBmDmzdvYu7cuWjevLnxs0cOoG2Rku1SU1OFChUqCKNHjzbbfvfuXaFNmzZCWFiYcO3aNae26ZNPPhEaNmwoeHl5CfXq1RM++OADsxJEQfinPFNcunn79m1h/PjxQmhoqODt7S20adNG2Lhxo6zrSs10eerUKaF79+6Ct7e3UKNGDWHKlCnGGRnFZc1Nmza1eG5L5aIAhPj4+FLbLZU1v/HGG4LBYBCOHj0q+TyUljWrSapsNjEx0bhfSRmr6TZBKC5hDg8PF7y8vISwsDBhxIgRwoULFyxep3Xr1kLVqlWFChUqCGFhYcKgQYOEQ4cOWW2jVPntqVOnhBdeeEEIDQ0VKlasKNSqVUt47LHHhG+++UbynHLLmiMjI8t8fcRl86bULmuWO9OtVHvFJdmWXteFCxcKAKz+DJa0ec2aNVbPWdbzKCgoEGbOnCnUqVNHqFixohAeHi4kJCSUKo0tLCwUZs6cKdSsWVPw9fUVunTpIhw5csTiz/+NGzeEhIQEoX79+oKXl5dQvXp1oX379sK8efPMyq+tKaus2dL7aennYu3atULjxo0Fb29voUmTJsK3335b5ky3n3zyidCqVSvB19dX8Pf3F5o3by5MnDhROH/+vPH3eu3atc3KpAVBEBYsWCAAEL7++mvZz0sNR44cEXr06CH4+fkJVapUEQYPHixkZWU5tQ3ljUEQNB45SXaLiopCTEwMFi5cCF9fX1SqVMnpbbhz5w5u3ryJd999F3PnzsWlS5eM3+Latm2LyMhIi4sBEpXYvn07unbtivXr16NDhw6oUqWKQ1MX+fn5yMnJwapVqzB69Gj8/vvvxp6rgQMH4syZM9i3b5/Drk9Eyrjs1PxkbtWqVQgODpa10KIjLFmyBMHBwZg7d67Z9pycHPzxxx+YNWuWJu0i19O3b18EBwfj4MGDDr3Ojz/+iODgYIwePdpsuyAI2L59uzElSET6wB4WN7Br1y7jZEbh4eFo2LCh09uQkZFhNvq/c+fONk08RuXXtWvXkJqaarzfrl071ZZ+sOTSpUtm43scfT09sVbi6+np6bTB2kRyMWAhIipnunTpIlniGxkZWWrRVCKtMWAhIipnUlNTJUt8fX19jbM2E+kFAxYiIiLSPQ66JSIiIt1z2Ynj3n77bSQkJGDMmDEWZ3u0pKioCOfPn4e/v7+qa3cQEZH7EQQBN27cQFhYmOQipI6mxTpceuSSAcvvv/+OpUuXokWLFoqOO3/+vMNWkSUiIveUkZHh0MUzpezduxcPPvgg3n///XI/7b/LjWG5efMmHnjgAXz88ceYPXs2WrZsKbuHJTs7G1WqVIEvAPavEBGRFAHAbRQvi2FtQV1H6datGwoKCnD06FH89ddf5ab03hKXG8MSHx+PRx99VNY6Mnl5ecjJyTHebty4AaA4WOGNN9544403azcAmg0h2Lp1Kw4cOIANGzagYcOG+OCDDzRph164VMCyatUqHDhwAElJSbL2T0pKQmBgoPHGdBAREbkCQRAwZcoUTJo0CVWrVkVSUhLmzZuHK1euaN00zbhMwJKRkYExY8Zg5cqV8PHxkXVMQkICsrOzjbeMjAwHt5KIiMh+GzZswN9//21cOuKhhx5Chw4dzFZ1L29cZgzL+vXr8dRTT8HT09O4rbCwEAaDAR4eHsjLyzN7zJKcnBwEBgbCD/909REREVkiALiF4vGPAQEBTrtuYWEhoqOjMWLECIwaNcq4/cCBA+jYsSNOnDiBWrVqOa09euEyAcuNGzfw999/m20bOnQoGjVqhEmTJqFZs2ZWz8GAhYiI5NIqYFmxYgWmT5+O48ePlyplHjhwIIKCgrBkyRKntUcvXKas2d/fv1RQUqlSJVSrVk1WsEKuy2XylkQSirRuALmE/Px8JCYmYsaMGRbnXZk1axZatmyJ8ePHo379+hq0UDv8W0BERKQT//73v+Hj44MhQ4ZYfLxRo0YYPHgwEhMTndwy7blMSkgNTAm5JkbV5A7Yw+J6nJ0SunXrFurVq4dFixahX79+Ze73999/o1GjRti7d6/iCVRdGf8WUCkeOrsRuQOtf474c6V/H330EWrXro2nnnpKcr/IyEi8/PLLmDZtmpNapg/sYaFS+MuMyP2xx8c6Z/awXL9+HXXr1sXXX3+NRx55xOr+Fy5cQL169bB582bExMQ4tG16wb9NREREGnvvvfcQHR0taxZ3AKhRowbGjh2LKVOmoLz0OzBgISIi0tCFCxfwwQcfYM6cOYqWARg/fjz++OMPbNmyRfE1Fy9ejBYtWiAgIAABAQGIiYnBTz/9ZHz8zp07iI+PR7Vq1VC5cmX0798fFy5cUHwdNTElpDOMILUjPe0guatCrRtQjuk9LeWslNDYsWPx119/4bvvvlN87DvvvINvvvkG+/btUxTsfP/99/D09ESDBg0gCAKWL1+OuXPnIi0tDU2bNsXIkSPxww8/YNmyZQgMDMSoUaPg4eGBXbt2KW6jWhiw6AwDFu0wYCmfGLBohwELkJ6ejoYNG9pc8VNSWfTxxx9bHaxrTVBQEObOnYsBAwYgODgYKSkpGDBgAADg2LFjaNy4MXbv3o0HH3zQruvYin8fiYiINDJz5kz069fP5vJkPz8/TJs2DVOnTkVhoW3hd2FhIVatWoXc3FzExMQgNTUVBQUFZuNpGjVqhIiICOzevduma6jBZWa6VZMH9NvDQsXY20HOotVnjT07+v/G7Oj0w9mzZ/Hll1/izz//tOs8w4YNw7vvvos1a9agT58+Zo95e3vD29vb4nGHDx9GTEwM7ty5g8qVK2PdunVo0qQJDh48CC8vL1SpUsVs/xo1aiArK8uuttpD758XIiIit3T16lX4+fnZPcW+l5cXmjdvjhUrViAwMNDslpSUVOZxDRs2xMGDB7F3716MHDkSsbGx+O9//2tXWxypXPawEBER6cddFc4hoGfPnvjqq6/MtpbVuwIUBzolwVKrVq3w+++/Y8GCBXjmmWeQn5+P69evm/WyXLhwAaGhoSq01TbsYSEiItLUXRVuAipUqGAsUy65SQUsYkVFRcjLy0OrVq1QsWJFbN261fjY8ePHkZ6erukkdexhIdWUp3EnjPT1Te/VJ4B6Py8cC0O2SEhIQO/evREREYEbN24gJSUF27dvx6ZNmxAYGIiXXnoJ48aNQ1BQEAICAjB69GjExMRoViEEMGAhIiLSmBopIWVh+sWLF/HCCy8gMzMTgYGBaNGiBTZt2mRcFuCDDz6Ah4cH+vfvj7y8PPTs2RMff/yxCu20HQMWIiIizQhQawyLEp999pnk4z4+Pli0aBEWLVpkT6NUxYCF3CqVw1RN2Wx9n10x5eCsz4EeUk9MLVF5wYCFiIhIU87vYXFFDFiIiIg0xYBFDgYsboSpHe2402sv5irPTYuUhj2fUz2kk0zZ8z4znWQvBixyuNrfBSIiIiqH2MNCRESkGbWqhPTWZ6c+BixERESaUiOp5v4pIQYsOuMq4wXk0GO+0ZVfX1dtu7PGNzjq9XFU+239+dDj9+jyVDLvGBzDIoce/6YQERERmWEPCxERkabYwyIHAxaVuGp3vVJ66JLT42utxzbphbNeG0elF/SW7lDyM6jH9JEpNT8brpte0mZqflekh78/RERERJLYw0JERKQp9rDIwYCFiIhIU5yHRY5yGbB4AjBo3Qgd0UNeUIsxIHocd6KH98KZ1PwVq7dVi5W0h+Nd7OeIn2fn9FlwDItc5e33IxEREbmgctnDQkREpB/sYZGDAYub0kPXmTunefTw+roDR72O9qQ3tEjlMH1U3jFgkYMBCxERkaYYsMjBL4pERESkey4TsCxevBgtWrRAQEAAAgICEBMTg59++knrZjmVh4Kbs3hK3JxxDXuuqeT1tOf1VdJ+3tz3vVWLs64jRY+/i1xXSZWQvTf3T9S5TEqodu3aePvtt9GgQQMIgoDly5fjySefRFpaGpo2bap184iIiGzElJAcLhOwPP7442b333rrLSxevBh79uxhwEJEROTmXCZgMVVYWIg1a9YgNzcXMTExWjeHiIjIDuxhkcOlApbDhw8jJiYGd+7cQeXKlbFu3To0adKkzP3z8vKQl5dnvJ+Tk+OMZiqixxyvM/LgjrqGo15PLUq0tbyuI9lalmvPa6Hkmo4q73VW6bLc6zhrdWOWS8vBgEUOPf69LFPDhg1x8OBB7N27FyNHjkRsbCz++9//lrl/UlISAgMDjbfw8HAntpaIiMgatQbdMmDRFS8vL9SvXx+tWrVCUlISoqOjsWDBgjL3T0hIQHZ2tvGWkZHhxNYSERGRWlwqJSRWVFRklvIR8/b2hre3txNbVMwVokBXSvu4WppHqzSOlp87R6VGpChJaTgqHaNF+shZs+s6K2Vkqvymj7hasxwuE7AkJCSgd+/eiIiIwI0bN5CSkoLt27dj06ZNWjeNiIjIDlqEh67HZQKWixcv4oUXXkBmZiYCAwPRokULbNq0CY888ojWTSMiIrIDe1jkcJmA5bPPPtO6CURERKQRlwlYnMEVxp7I5axxFHobp6L2FOiO4E6fsxJarLrsqDJnLca7qDkGyBljXPSQwFDrM6d9v0RJlZAa53FvDFiIiIg0xYBFDnf8skdERERuplz2sHgAMGjdCBUw7ePcY03p4bm4I3GqwdbX2Vo3v1ppH7XSJtaepyuVROshXaSE1GvvvD4L9rDIUS4DFiIiIv1gwCIHAxYiIiLNqDXoVvvhw47GgEXnyuuMtLa2yZ7nYk/7WVEknzMqf9ScMdXW9Iea1TzOqDBy5xl0yT0wYCEiItIUU0JyMGAhIiLSFAMWORiwEBERaYoBixwMWDTG0mTHHqvFuBRXW13a0dQqVRYTj92wtVTZnvEu9owJcUZJtN7GtzjzOuR+GLAQERFphlPzy8WAhYiISFMsa5aDAYsD6KHrXs022NqFr/e0j95TS446j6uyJ7WkVipHyYy09pT3OipdZOufNHF7HJW6cdTCk+QeGLAQERFpiikhORiwEBERaYZjWORiwEJERKQpBixyuOPM3w7hqeCmhzYp4WHlZmt7lOwrdaw97VPyGim5hpLPg1o3a6+DXm9avFZiar231jjjOo76WVdC77//tGqTK0lKSkKbNm3g7++PkJAQ9O3bF8ePHzfbp0uXLjAYDGa3ESNGaNRiBixEREQau6vCTVkPy44dOxAfH489e/Zg8+bNKCgoQI8ePZCbm2u23/Dhw5GZmWm8vfvuu3Y8T/swJURERKQpNWqelAUsGzduNLu/bNkyhISEIDU1FZ06dTJu9/PzQ2hoqArts1+5DFhs6QLViqO6M92pVFmt8yo5jz2vgxavvatSUiashzYoKYlWsmq1K5dAi2lRjmzrZ8c5M5uoNei2CHfv3kVOTo7ZVm9vb3h7e1s9Ojs7GwAQFBRktn3lypX48ssvERoaiscffxzTpk2Dn5+fCu1VzlX+bhMREZGETZs2ITAw0OyWlJRk9biioiKMHTsWHTp0QLNmzYzbn3vuOXz55ZfYtm0bEhISsGLFCgwZMsSRT0FSuexhISIi0g91qoR69uyJr776ymyrnN6V+Ph4HDlyBL/99pvZ9pdfftn4/+bNm6NmzZro1q0bTp06hXr16qnQZmUYsOiMWt3eanadyW2T3lM+Ss+lh+fjDmkgJekNe9iaurHnNbZnBl0lixbamvax57VXa1FFMdM2cbbaEuoELBUqVEBAQICio0aNGoX//Oc/2LlzJ2rXri25b7t27QAAJ0+eZMBCREREjicIAkaPHo1169Zh+/btqFOnjtVjDh48CACoWbOmg1tnGQMWIiIiTTl/4rj4+HikpKRgw4YN8Pf3R1ZWFgAgMDAQvr6+OHXqFFJSUtCnTx9Uq1YNhw4dwuuvv45OnTqhRYsWKrRXOQYsREREmtFmav7FixcDKJ4czlRycjLi4uLg5eWFLVu2YP78+cjNzUV4eDj69++PqVOnqtBW2zBg0QBLle07r7NKk9VqrxYl0JbY2g4txxloMd5BfB21SmKVjCdhCXSx8jPGRZ2yZiUEQTrACQ8Px44dO+xpkOpY1kxERES6xx4WIiIiTXHxQzkYsDiAs0pR7ekes7WNWswqa0+psq2pJWvHqnkdW69pz3XUPq+SzmhXLmu1li4yfdxa2sTWEmhrr7Wtr69aJdBqzg6rVgpL/xiwyMGAhYiISDPaDLp1RRzDQkRERLrHHhYiIiJNsYdFDgYsNtJiynRnjVlxtVJlLc6r1nWcNb7F0Wwda6BWeayrU1ICbe0zI3eJAmtjQGwdC+Os99S9xrc4v6zZFblMSigpKQlt2rSBv78/QkJC0LdvXxw/flzrZhEREZETuEzAsmPHDsTHx2PPnj3YvHkzCgoK0KNHD+Tm5mrdNCIiIjvcVeHGlJBubNy40ez+smXLEBISgtTUVHTq1EmVa+ihy12tCNKVU0DWjnXWeR2V5tHDe6M2R83EamuZsJKUgKNKlZ11XjG5JcZqvS/WOGrVZylKfm60Tx+xSkgulwlYxLKzswEAQUFBZe6Tl5eHvLw84/2cnByHt4uIiEgZBixyuExKyFRRURHGjh2LDh06oFmzZmXul5SUhMDAQOMtPDzcia0kIiIitbhkD0t8fDyOHDmC3377TXK/hIQEjBs3zng/JycH4eHh8IR+IjWtFrdzRKrBnsUE7Vk80PS8alYUuVpVkxxKzyG3u9xRs7a6GqkKHakUkdRrpPS8cs8j5qwUkSk9VIlJfXYNTmsFe1jkcLmAZdSoUfjPf/6DnTt3onbt2pL7ent7w9vb20ktIyIisoUaI2kYsOiGIAgYPXo01q1bh+3bt6NOnTpaN4mIiMhOHHQrl8sELPHx8UhJScGGDRvg7++PrKwsAEBgYCB8fX01bh0RERE5kssELIsXLwYAdOnSxWx7cnIy4uLinN8gO7B0Wdk4D61KlZXsq7fxLmqx5RpKZm21NhZCaryLWuMolLBWqmzruZz1Ojhq1We1VuDWw5gWbXCmWzlcJmARBPfv7iIiovKIKSE59FIsQ0RERFQml+lhcSWOigJdOQUkPlbNEmhHlSrb2l5npbuk2uBschfcA5S9t0rSJnLP4yzWSpVtPZdas+LqveQZ0GaWXOfjoFu5GLAQERFpigGLHAxYiIiINMWARQ6OYSEiIiLdYw+LSjhuxfpxjjqPraXK9ow1cdY4GrnHyXnckaTGKdhTomtrOa+ScRPOGu9iz+sg9zzic7nTNP5i7lUCzbJmORiwEBERaUnQYli462HAQkREpCU1OkfcfwgLAxa5nDXYx51SQFLsKYG2Z7Zatc6rJNWkRYm2FLnHKfnOV1HiOCXpDSVpE7XKZe35W2FP6bKSUmVTas2Ka+310/usuGLlowS6fGPAQkREpCUu1iwLAxYiIiItMWCRhQGLCS1qvLWs7Cih5sykUo/ZmhpRkj5SUs2j5r5SKSF70jzOSM+VpaKVx8v6HWvt2lKpELWqY6yd1xmVQLamh6wday3lJjfVpIfZgJ3VBqaL3AMDFiIiIi0xapKFAQsREZFWBDAlJBMDFiIiIi2xrFmWchmweEDbNQkcXY4K2LcKsNZjVpQeq2T8iFr72lMubeu+aq3srFZZs1Qpsynx72Kp19VambMrUavk2dqxUmNa7Jld11Fl11K0GFfD9WlcR7kMWIiIiHSDKSFZGLAQERFpiQGLLAxYnMCeElNHzWarVhtsnZlXq9lrpfYVl/GqlT4Sn1dJubTca1rb1xZKyppN97U2I61UKknq2ALRY1KvnZISaGdRM0VkSiqNooeFB9VKEblyetAqVgnJwvQdERER6R57WIiIiLTElJAsDFiIiIi0wnlYZGPA4gB6HLNiaxmzPedR63VQcwr9ihKPSR0rNQ7FWhukjnXW6tJlsWdsR1m/Y62NYVEyxkLJc7R1WnypsUuOZE+5rylbV2S29t7rYWXnso5Teiy5BwYsREREWuLEcbIwYCEiItISU0KyMGBRiR5WXTblqBWYlZxH6rxqrn6sVkmxl0rntZY+Mj2v1DXFxzpqZWc5rH0BLCzj/5aOLZR4LF90XyolZq3MWYrpucTX1CN7UjumbC391mM6Ro9tshnLmmVhWTMRERHpHntYiIiItMSUkCwMWGykVgpIDzPZWmPronp6WEzQnnSMl8RjSlJCaqWa7KmWKos93eqmvdi2poSspXVMj7WWulGS5jQ9l/j9kbqOHnvubZ0F11GcNQuu1LlcLj3EgEUWBixERERaEcAqIZk4hoWIiKicSUpKQps2beDv74+QkBD07dsXx48fN9vnzp07iI+PR7Vq1VC5cmX0798fFy5c0KjFDFiIiIi0VajCTaEdO3YgPj4ee/bswebNm1FQUIAePXogNzfXuM/rr7+O77//HmvWrMGOHTtw/vx59OvXz44nah+mhGRSs2zZUSXQtpa12jOOxhnl3ErGblibtVRqXIrUWBNr41KkZtAVH6vWvkrG8pRFrZlupUqVxb9LTcetWBvDIB7jYspambPUY6bvn3jMitSYFmsrWEtx1LgKJbPgSh0nVeYsNQuupWNtpdZ5Xa7kWYMxLBs3bjS7v2zZMoSEhCA1NRWdOnVCdnY2PvvsM6SkpODhhx8GACQnJ6Nx48bYs2cPHnzwQRUarYysgOXQoUOKT9ykSRNUqMB4iIiIyBnu3r2LnJwcs23e3t7w9va2emx2djYAICgoCACQmpqKgoICdO/e3bhPo0aNEBERgd27d+s3YGnZsiUMBgMEQV4I5+Hhgf/973+oW7euXY0T27lzJ+bOnYvU1FRkZmZi3bp16Nu3r6rXICIiciqVBt1u2rQJY8aMMducmJiIGTNmSF++qAhjx45Fhw4d0KxZMwBAVlYWvLy8UKVKFbN9a9SogaysLBUarJzsLpC9e/ciODjY6n6CIBifsNpyc3MRHR2NF1980SF5NL3NVgs4bpCR1HNVssiekuPUmrVV6jpKZtC1VtZs2v0vlQIS31eSPrI2K66Sfa2VNdv6+ZazyKFUWbM4HSOVwpPaV/ycpFJA1pgea62s2dZUq/h1cNTvFyWz4Eod56g0ij1pR7VIvfa6SBeplBLq2bMnvvrqK7PNcnpX4uPjceTIEfz2228qNMRxZAUsnTt3Rv369UtFWmXp1KkTfH197WmXRb1790bv3r1VPy8REZFmVIriKlSogICAAEXHjBo1Cv/5z3+wc+dO1K5d27g9NDQU+fn5uH79utnf/gsXLiA0NFSdBisk68vztm3bZAcrAPDjjz+iZs2atrZJNXl5ecjJyTG7ERERlXeCIGDUqFFYt24dfvnlF9SpU8fs8VatWqFixYrYunWrcdvx48eRnp6OmJgYZzcXgJtXCSUlJWHmzJlaN4OIiMgyAZpUCcXHxyMlJQUbNmyAv7+/cVxKYGAgfH19ERgYiJdeegnjxo1DUFAQAgICMHr0aMTExGgy4BawIWARBAHffPMNtm3bhosXL6KoyLwv69tvv1WtcfZKSEjAuHHjjPdzcnIQHh4OTzh3Ahq9lTGreU1bn5uzpvFXMs5DauyJ1JgV8X0fifOI97V2Xqk2WCvLtrQPIP89s/Q7tKye63yJfcRjTfIlHlNjuQGlrLVBqrdeSdmwEkoyBM4Yn2FtHIqjpsV3xnT7Uq+fwUHXLEWDgGXx4sUAgC5duphtT05ORlxcHADggw8+gIeHB/r374+8vDz07NkTH3/8sQqNtY3igGXs2LFYunQpunbtiho1asBgcNpbqpjcci4iIiLNaDA1v5yqXx8fHyxatAiLFi2ysVHqUhywrFixAt9++y369OnjiPYQERERlaI4YAkMDFR9fhW5bt68iZMnTxrvnz59GgcPHkRQUBAiIiI0aZMl9nQFa7FWglopKyUlxdbYugKzkplj7Sk/Ft83TQOJzyPu4zN9XJw+Uqu9JeydmdjaysslTNMq4rJgccqlosRjd0T39b52iFRPvrUvzVKPK3netn4512o2WKkZdKW43Oy1SnC1ZlkU/z6YMWMGZs6cidu3bzuiPZL279+P+++/H/fffz8AYNy4cbj//vsxffp0p7eFiIhIFWqsJVQOAhbFPSwDBw7EV199hZCQEERFRaFiRfPvdQcOHFCtcWJdunSRPdsuERERuQ/FAUtsbCxSU1MxZMgQ3Q+6JSIi0jUB2kz/64IUByw//PADNm3ahI4dOzqiPSTB2vgDva/ILDUuRart1vKWtk75b60NUuNHxGNPTO8r2dfaGBap88pZMdqRZc2mjysZw3JH4jFxe+35XEgxbbu1MuaynrO1Y8Xtk1oN2Rq1xqkoOadUSbFUmbNbjzVxFI5hkUVxwBIeHq546l8iIiIqgwZlza5I8ZeU9957DxMnTsSZM2cc0BwiIiKi0hT3sAwZMgS3bt1CvXr14OfnV2rQ7dWrV1VrnCuxNW2iVdmmWjPUKpmRVsl5laRulOxrel9JikX8mNS+UikgAKgk8Zi4BFpJ+si0TSXPU+q1kauslZhNvxRKzV4rLlU2bXee6DG1Zoe1p6RYKv1hLX1ka5mztfba+ntCSaZBi1SOPSs5u1XqiSkhWRQHLPPnz3dAM4iIiMopBiyy2FQlRERERCphlZAsigOW9PR0ycf1NONseWZPVZAzWLumkoonqS57JakmcYrFU+IxJambSqL7firtK5UislQlpEZKSE6VkDgFJL5/y+T/uaLH1Posir+wiu9XlHhMKu1jLQVkeqx4X6mqIWsVRY6gJB3jVukXclmKA5aoqCjJuVcKC/lRJiIikkUAU0IyKQ5Y0tLSzO4XFBQgLS0N77//Pt566y3VGkZERFQuMGCRRXHAEh0dXWpb69atERYWhrlz56Jfv36qNIyIiIiohOKApSwNGzbE77//rtbpdM9ZKzJLXcdRY08cMbOttfMqeZ5S57U2U6qlcR5y9rVWAi01hsVPdL+SzMfEj0s9BpRRhu3AqW7LKmU2HaMClB6nomRmYmvNKaNppUqrpca0WBvLJDXWRGq8i7VxNFIzydozQ60UqWvaQ2oFZiXjX9Qqc3a5gQmcOE4WxQFLTk6O2X1BEJCZmYkZM2agQYMGqjWMiIioXHC5CEsbigOWKlWqlBp0KwgCwsPDsWrVKtUaRkREVC64aQ/Lr7/+iqVLl+LUqVP45ptvUKtWLaxYsQJ16tSxaT1CxQHLtm3bzO57eHggODgY9evXR4UKqmWYSEfkduGrleoSP27PTLdS962leUzvi/eVui9O3UiliPxFj4nvB0g8VionJLVSor15PgvfAL1M8i5eJrXLlUQ5Ianya2ufmbJKqi01SSqFJ7WgoT2lylLHKllU0dq+ptRa9JHIkdauXYvnn38egwcPRlpaGvLyiue1zs7Oxpw5c/Djjz8qPqfiCKNz586KL0JERERlcMMqodmzZ2PJkiV44YUXzLIvHTp0wOzZs206p6xg/bvvvkNBgXgYW9l+/PFH3L5926YGERERlRsl87DYe9NZwHL8+HF06tSp1PbAwEBcv37dpnPKClieeuopRRcYNGgQMjMzbWoQERFRuVKkwk1nQkNDcfLkyVLbf/vtN9StW9emc8pKCQmCgLi4OHh7iyckt+zOHfFk3K5PrVJfreih/VLRsVol2mqWQJvel1qdGZAePiIe02J6XzwupYp434oSD4oPNh3TIm6wB2z/pVbWsaZ1zabjVm6Y7+Z/XXQ6ic5aqXEe4sPEY2NMHxc/ffGxHmX8H5D+zDiqFFhqhWi1ryuXK5cJcykB7Q0fPhxjxozB559/DoPBgPPnz2P37t0YP348pk2bZtM5ZQUsShc8HDx4MAICAqzvSEREVN654RiWyZMno6ioCN26dcOtW7fQqVMneHt7Y/z48Rg9erRN55QVsCQnJ9t0ciIiIrLCDcuaDQYD/vWvf2HChAk4efIkbt68iSZNmqBy5co2n5N1yOQwas0GbK1UWUmqScl5pcpkpUqixakKcSLVNHMj7oesJD5xsMn/g0SPVRPdN00RlZyn5EkVoviXYqHoPky2mS7x7GmyzfR+WUs0m6aBrojaJXpOlS798/8iUa5GnLoxzTpJpYDEl7H2fpkea+3zpOTzJVUCbW3mWymunJ6h8s3LywtNmjRR5VwMWIiIiLTkhimhrl27lppk1tQvv/yi+JwMWIiIiLRSUtasxnl0pGXLlmb3CwoKcPDgQRw5ckTxuNgSDFicQM0ZYNU61hELJyq5vqOqlpTMdGvPvlJVQ+LUhfi+VJVQqUog0zRQLdFjYRL7llyk5BdhEYA7KM6x5Jn83zRNVJL+8brXaG+T/3uY7FPCdFXDqyb/Fz9hMZN8jP8l84fE9YWm9/MkHgPM3xPxvo76HMifnUqakqoWJbPiKqFk4UF7qnCUpLekFlV0K2745D744AOL22fMmIGbN2/adE5HLfhLREREZGbIkCH4/PPPbTrWph6WrVu3YuvWrbh48SKKisxDQ1sbQkREVC65YUqoLLt374aPj7VuWMsUBywzZ87ErFmz0Lp1a9SsWVNyUI2r08Nka6bcuTvMWakwKUoWdpS6L35MnD7yKfMOpGeSCxY9Fi66H2nhuJInkYviSp6r+KeK5869W0leo+K99vgACERxFVLQvTaJU0wAcN3k/3+b/F+cJ8kV3ZeYZM5HlOcxfe3seQ+UVJYpYU+KSKqiyJUpSS05i+4nknPDgKVfv35m9wVBQGZmJvbv3+/YieNMLVmyBMuWLcPzzz9v0wWJiIjIhBvOwxIYGGh238PDAw0bNsSsWbPQo0cPm86pOGDJz89H+/btbboYERERuT9HTDirOGAZNmwYUlJSbO7SIf3RW+rLGkelgJRcU0kliWQqw9oMZ6YlRYGix8QpItP1xKLu/VuScroDIAvACRSnYXLu3b+Of0pqvFGcSvK4d+7aABoACBWdp8QZk/+bpnnEE8eJF1OSmOHNQ5QSUjLRn9R7IEXNVKvpddWqIHIU3adJyhM3TAk5guKA5c6dO/jkk0+wZcsWtGjRAhUrmv/Gef/991VrHOmfo8bVSI0fkXucPde057pKFtOzGrCYjnER/+EXBzCmZc9RJQ82/OdEUceBggvAfgB/3btd/ScG8QGKx6zcQXGQEgXgwRr3zlGy1/F/rlGQ/c//MyTaKR6nIxGwKFms0p6gxNbPiZIxK9au6ahyZAYeLkgPA31UULVqVdnjWq9evWp9JxHFAcuhQ4eME8IcOXLE7DF3HoBL9tNDT44WA5eVTPUuGTVZWwbabOr+6Hv/Pnrv31YA7gJNegF/APn7gbMoHg9rOg1LpatA7auAVyUA0wFgOYp/TaTe2+sHk+vttNwWcTsVRAuKXisH0cPgdkcFN0SONH/+fIeeX3HAsm3bNke0g8ghnDVBnc3XtGdBIz/RfYsBS/97/9Yr/qdaHyzd8SPuoPSccKZzy/nsAF6p1gdAz3uPRt3796zJ9UwCFtO2WOs1sjF3Y21XZ7zXek/zkAtyo5lubZ3BVi67Zro9e7b4l1ft2rVVaQyRXjlqnIPVLgXTnSXrowEYTFdDjLr3bz3RTluRjeIhKoEorlguOW0+ioe3ZAO4dG/ff5ScJ+qfTabX8zEZuCJup1Svkej5ajE+iUhzbhKwlOXOnTvIz8832xYQIF761TrFP9dFRUWYNWsWAgMDERkZicjISFSpUgVvvvlmqUnkHGHRokWIioqCj48P2rVrh3379jn8mkTWeJjcxDxFN0ninU1vHqKbl+iGQJNbLZSeyx/A7TwUorhDpBqKA5ca927B97b54d7vz9viCe5hct5a5tczbYe4nVLPScHLISa+DJHLKlLhprOAJTc3F6NGjUJISAgqVaqEqlWrmt1sofjn/F//+hc++ugjvP3220hLS0NaWhrmzJmDhQsXOrxy6Ouvv8a4ceOQmJiIAwcOIDo6Gj179sTFixcdel0izUgFKBVFN1Q2uVW/dxO5l9OoiOLelSooDlKq3fu/P0wyOBbzH9VNbibXM22HuJ2MLIjKnYkTJ+KXX37B4sWL4e3tjX//+9+YOXMmwsLC8MUXX9h0TsUpoeXLl+Pf//43nnjiCeO2Fi1aoFatWnj11Vfx1ltv2dQQOd5//30MHz4cQ4cOBVA8id0PP/yAzz//HJMnT3bYdYnU5FnmHQv3pZT641+5jP+XvkTJhLamk9h6oLg62UeyGWVcw9aSKs+yHyIqN9wwJfT999/jiy++QJcuXTB06FA89NBDqF+/PiIjI7Fy5UoMHjxY8TkVf9+5evUqGjVqVGp7o0aNbCpTkis/Px+pqano3r27cZuHhwe6d++O3bt3WzwmLy8POTk5Zjcil2Ut1YIKJreSkMTyaTzxT2dIyZ4lnTYl2SfLfExuJteTSl0RkbRCFW46c/XqVdStWzw5VEBAgDE+6NixI3bu3Cl1aJkU/zqJjo7GRx99VGr7Rx99hOjoaAtHqOPy5csoLCxEjRo1zLbXqFEDWVlZFo9JSkpCYGCg8RYeLl58hYiISEMC3HIMS926dXH69GkAxR0aq1evBlDc81KlShWbzqk4JfTuu+/i0UcfxZYtWxATEwOgePXFjIwM/PjjjzY1wlESEhIwbtw44/2cnBwGLeS6xGPaS32rumvy/zviB81OU4jiISr5Jnvm39tWaOFSls9rcj3TtnDSEKJyb+jQofjjjz/QuXNnTJ48GY8//jg++ugjFBQU2DzBrOKApXPnzvjf//6HRYsW4dixYwCKV2V89dVXERYWZlMj5KhevTo8PT1x4cIFs+0XLlxAaGioxWO8vb3h7e3tsDYR2cL0b7unOOhQ0rVbKjC4Wcb/S1+iZKHmGyanyTXZXnYzyriGkiClsIz/S16XyI254RiW119/3fj/7t2749ixY0hNTUX9+vXRokULm85p0zwsYWFhDh1ca4mXlxdatWqFrVu3om/fvgCKS6y3bt2KUaNGObUtRE5jGgjkix4rVcVjGkxctny+iv8cegPFOeGSPpOSAKZAtK850/OaXM+0LeJ2sseFSJobrtackZFhltEomQbFHrLGsBw6dMg4x8qhQ4ckb440btw4fPrpp1i+fDmOHj2KkSNHIjc311g1RKQV01SymKKxcVKD6sQ563zRDdkmt3P3biK+3vBEcTXQFRRPEHfh3u3SvW23cG8Mr6+l3slzJjeT65m2Q9xOOwYKSu0qvgwRybdz5048/vjjCAsLg8FgwPr1680ej4uLg8FgMLv16tVL9vmjoqLQuXNnfPrpp7h27ZoqbZbVw9KyZUtkZWUhJCQELVu2hMFggCCUDucMBgMKCx3XqfvMM8/g0qVLmD59OrKystCyZUts3Lix1EBcohJqfRqtDh9RcE2zlJC4l0R833TISK7oMXFR3hWT2Warbbj3n5JxJvfWErqSh4mdgfwdltcSqofiRZq9OgO4kgdU24Qy1xIyvZ5pW8TtFA+nKSjj/1DvdVUzgGGaihxOgw9Zbm4uoqOj8eKLL6Jfv34W9+nVqxeSk5ON95UMsdi/fz9SUlIwa9YsjB49Gr169cKQIUPw+OOP2zxUQ1bAcvr0aQQHBxv/r6VRo0YxBeSizP5Qa9QGLb6Ji68p2QbxLy7TncXBjFQAU+2Pe/8piRZ+AHAc+C+AaMArF6hb1mrNdYv3wX8BPBSLMldrLitIEbdTQbSn6LVyED301jBIKmc0GMPSu3dv9O7dW3Ifb2/vMseIWnP//ffj/vvvx7vvvovt27cjJSUFL7/8MoqKitCvXz98/vnnis8pKyUUGRlpXIn577//Rq1atYz5qJJbrVq18PfffytuABERUbmm07Lm7du3IyQkBA0bNsTIkSNxxbRXVSaDwYCuXbvi008/xZYtW1CnTh0sX77cpvYoHnTbtWtXZGZmIiQkxGx7dnY2unbt6tCUEOmP6bdRNXtNbO2NEX/6LI4blXmsrYUv1joUzO7bkxLKFt03HbJS8d6DPvv+OU8WgDMontq2Loq7VK4DPiVLBnmjeH7+sHv7nAFQ8QIQeuGfOehM22N6PdO2qJgSUvK6SrHnWK2vqfQ6VH7dvXu31ASptlbL9urVC/369UOdOnVw6tQpTJkyBb1798bu3bvh6Sn/t/LZs2eRkpKClJQUHDlyBDExMVi0aJHi9gA2BCyCIBh7W0xduXIFlSpVsnAE6Z34F6nep0e3JygxZWtAYu2+tcDH7L61gMX0j784QLkkuv+Xyf9L0jUlb2YuikuArqJ4YGzAvYZUMblmRRQHJgH39jmL4hG4f+Gf+ftNn9z1Mtoibqc4gJEIWKReK3veAynldbyLK7XVrQlQLSW0adMmjBkzxmxzYmIiZsyYofh0gwYNMv6/efPmaNGiBerVq4ft27ejW7duVo9funQpUlJSsGvXLjRq1AiDBw/Ghg0b7KoUkh2wlAzKMRgMiIuLM4vYCgsLcejQIbRv397mhhAREZVLKgUsPXv2xFdffWW2Wa25yOrWrYvq1avj5MmTsgKW2bNn49lnn8WHH36o2iz4sgOWwMBAAMU9LP7+/vD19TU+5uXlhQcffBDDhw9XpVF6oYdBoqbE3wTdaZkW8c+rkudmeqytvS2AdBe+tcGgRRKPiaclMc2Q+IvTJTdE96+b/F/coyJ+sqY9GeIekaJ7F84HkHfv/x4o7lEpOU/JOkCmE7NcurePh8k+lq5nOgBX3M7rovumz1H0/MUvh+lrZ897YE+6T4o9f2fctYdDjykq3b/WKr1oFSpUQEBAgDonEzl79iyuXLmCmjVryto/PT3dYjbGHrIDlpLSpqioKIwfP57pHyIiIhd18+ZNnDx50nj/9OnTOHjwIIKCghAUFISZM2eif//+CA0NxalTpzBx4kTUr18fPXv2lHV+tYMVwIYxLImJiao3goiIqNzSoKx5//796Nq1q/F+ybp7sbGxWLx4MQ4dOoTly5fj+vXrCAsLQ48ePfDmm29qutyNrIDlgQcewNatW1G1alXcf//9kpHTgQMHVGscERGR29Ngav4uXbpYnAC2xKZNm+xskPpkBSxPPvmkMaoqWceH5FMy9sSeih0lY25M26TWWBglbbdnzIqSNiipJFGyr9SyPuJxGOLvI6ZDP3xEj/lfF22QGpQjvpDp2BHTcSnAP1P7F4ruw2Rbyb4eJv/3FN03fSFMn7TpuBTxVA3iGXmvWz4MkK6IlqqOBszfE2d9DtSi5Lx6KI921tgdPY6HIe3IClhM00BMCREREanIDVdrdgTFY1gyMjJgMBhQu3ZtAMC+ffuQkpKCJk2a4OWXX1a9gURERG5LxXlYtGZtyIgpW4aPKA5YnnvuObz88st4/vnnkZWVhe7du6NZs2ZYuXIlsrKyMH36dMWNIPdkT9pHasIw8XmkUk/2TEQmMb+ZZDpCnLoQp31umfxfnPHxEJ24kmmaR3zRW6L7fib/9xKfGLb3r5d1rOmTNm2LVGk2gFyT52E+J2fpp5Rn8n+pkmdA2ftl80R/Vh5Tcl4ldF+WS/Zxk9yX6ZCRO3fu4OOPP0aTJk0QExMDANizZw/+/PNPvPrqqzadX3HAcuTIEbRt2xYAsHr1ajRv3hy7du3Czz//jBEjRjBgISIiKodMh4wMGzYMr732Gt58881S+2RkZNh0fsVjHQsKCowDcLds2YInnngCANCoUSNkZmba1AgiIqJyq1CFmw5SQqbWrFmDF154odT2IUOGYO3atTadU3EPS9OmTbFkyRI8+uij2Lx5szF6On/+PKpVq2ZTI1yBq623I6aH9kstlCjuEbW1fUoWHlQyc6o4/SBO5ZimK8TZGHHli0cZ/7ekyCSX4S+eQVZ8YtPck7iB9r7hlnISZZVGifI64gxRjsRj4qdkel9qXUjx4+L3y55ZcaU+M/ZQkmrSgiunoVyu7W4yhsWUr68vdu3ahQYNGpht37VrF3x8xIlyeRQHLO+88w6eeuopzJ07F7GxscY1Ar777jtjqoiIiIhk0mAeFkcbO3YsRo4ciQMHDhhjg7179+Lzzz/HtGnTbDqn4oClS5cuuHz5MnJyclC1alXj9pdffhl+fn4SRxIREVF5MHnyZNStWxcLFizAl19+CQBo3LgxkpOTMXDgQJvOqThgAQBPT0/cvXsXv/32GwCgYcOGiIqKsqkBRERE5ZYblTWLDRw40ObgxBLFAUtubi5Gjx6NL774AkVFxf1Ynp6eeOGFF7Bw4UL2srghW3+WlMx0K97X9HFrZcxS+4rvlzVRq7VjxY9Jlc1KjVkBlJVhS82g6ycaK1LR5L5xHI2lQTJyx7NYeuNNGmg6TsS0neLSZPHrcUvmY4D5cxbvK/UeSJWdi+9LlTyL71srhVdSNi/3MTElK1G73FiO8koPg5ZcgOKAZdy4cdixYwe+//57dOjQAQDw22+/4bXXXsMbb7yBxYsXq95IIiIi0reqVavKnjju6lXxmh3WKQ5Y1q5di2+++QZdunQxbuvTpw98fX0xcOBABixERERKuElKaP78+Q49v+KA5datW6hRo0ap7SEhIbh1S9yh677sKRNWsvCg1IKGShZVVEKtEmipn0GpVI34cWtd4Kb7WnuNTLv/7dlXnGKQeu2VpMaknqu1sl7TSmbjOoZFpbcp7X4uq6y3rLaJ2yW+L5USktrX2nml0jzi+1JpE6l91SyBVpIiUiu1o8XCic5a7NCl019uErDExsY69PyK/8bFxMQgMTERd+788+vi9u3bmDlzpnH6XSIiIpKpSIWbDgIWsVOnTmHq1Kl49tlncfHiRQDATz/9hD///NOm8ykOWBYsWIBdu3ahdu3a6NatG7p164bw8HD83//9HxYsWGBTI4iIiMh97NixA82bN8fevXvx7bff4ubNmwCAP/74w2wKfyUUp4SaNWuGEydOYOXKlTh27BgA4Nlnn8XgwYPh6+trUyOIiIjKLZfOZ1k2efJkzJ49G+PGjYO/v79x+8MPP4yPPvrIpnPaNA+Ln58fhg8fbtMFyTmUjENx1FgYKdam4peaxl/quVlb2dn0vrWxCx4Sj+VBHdbGRJiOyxBPZi2efd90SYCStpu+NmqMRSprjIbU+BGpsSfi11G8b67EY+L7pueyVqpcIPGYkrJma++f1L5yH3MUJdd0w7+n+uGm87AcPnwYKSkppbaHhITg8uXLNp3TpoDl+PHjWLhwIY4ePQqgePa6UaNGoVGjRjY1goiIqNxyw6n5q1SpgszMTNSpU8dse1paGmrVqmXTORV/mV67di2aNWuG1NRUREdHIzo6GgcOHEDz5s1tXoGRiIiI3MegQYMwadIkZGVlwWAwoKioCLt27cL48eMtruIsh+IelokTJyIhIQGzZs0y256YmIiJEyeif//+NjXE1UmVH0vRIh0D2N5ee3oulZT3mlJS+m1tVlnT11ucNlByXWsz6sollQICpMuFxatCWyxrtnBNlSa6LbOsWeo5AObPQ0n6SGp1ZvF1rbVBKoUltbKzmjPd2lrua09aSooWaZ9yW8Ys5oYpoTlz5iA+Ph7h4eEoLCxEkyZNUFhYiOeeew5Tp0616ZyKf89mZmZajI6GDBmCzMxMmxpBRERUbqlR1qwzXl5e+PTTT3Hq1Cn85z//wZdffoljx45hxYoV8PS0bUSdTas1//rrr6hfv77Z9t9++w0PPfSQTY0gIiIi9xMREYGIiAhVzqU4YHniiScwadIkpKam4sEHHwQA7NmzB2vWrMHMmTPx3Xffme1L6rFW+SM1g649VUNyj7NGSa+n6XWsVRRJpbekqoaspY+spYzKYu3LjtTMqeLKnwKJx6RSQiWULLxoibX0QwklKSGpRQqlZq8VVxSJryOValIy062S2WttrQpS2gZbyX3/5Bwr9zxulapxFjdJCY0bNw5vvvkmKlWqhHHjxknu+/777ys+v+KA5dVXXwUAfPzxx/j4448tPgYABoMBhYX86BIREUlyk4AlLS0NBQXFXw8OHDhQ5kKIchdIFFMcsBQV6TBZRkRE5IoEuE1Z84IFCxAQEAAA2L59u+rnd1ZRit3eeusttG/fHn5+fqhSpYrWzSEiIiIT999/v3FSuLp16+LKlSuqnt+mieO0kJ+fj6effhoxMTH47LPPtG6OJLVWcgacE1GqtTqzki8J1q5ha5mzKyQhpcYuSI1TET9mrcwZcGxZs6l8iX2UlBRL3ZcasyLe19p5bW2DkpJitcqYxceq1cet1c+Kre13hZ9tm7lJSqhKlSo4ffo0QkJCcObMGdUzMi4TsMycORMAsGzZMm0bQkREpCY3CVj69++Pzp07o2bNmjAYDGjdunWZJcx//fWX4vO7TMBii7y8POTl/VNbkJOTo2FriIiILHCToaGffPIJ+vXrh5MnT+K1117D8OHDzRY+tJdbByxJSUnGnhlThbAcjNpTsitFrZSLkvM6KrUk9UVADzPmWnuepo+rVcZsjZK0gVQ6QpwSErfftOzXnlSQWFnvVVmpLSXPScm+9pRLSx1rrVRZSZrH1hlp7fl5cFRJtClrf08dla5xRhrIntJ0Kq1Xr14AgNTUVIwZM0bVgEXx37GHH37YYhBw7do1PPzww4rONXnyZBgMBsnbsWPHlDbRKCEhAdnZ2cZbRkaGzeciIiJyiEIVbjpICZlKTk5WNVgBbOhh2b59Ow4fPoy0tDSsXLkSlSpVAlA8KHbHjh2KzvXGG28gLi5Ocp+6desqbaKRt7c3vL29bT6eiIjI4dykrNnRbEoJbdmyBa+88goefPBBfP/994iKirLp4sHBwQgODrbpWCIiIio/bApYatasiR07dmDo0KFo06YN1qxZg8aNG6vdNjPp6em4evUq0tPTUVhYiIMHDwIA6tevj8qVK6tyDbXGZ6hJarp9eyiZzt6UFiXF1pYZMGXti4rpcxWPaxCXBas1Nb/U2AXxNcTjVKT2lZp2X+7nVXwOW6duVzJ9vdRYE7X2tTbexbSN4n2VlBQrmarfnin/pcbGSLGnfWrRwzgQXZdEC3CbKiFHUxywlEyp6+3tjZSUFMyePRu9evXCpEmTVG+cqenTp2P58uXG+/fffz8AYNu2bejSpYtDr01EROQwDFhkURywCIL5qzJ16lQ0btwYsbGxqjXKkmXLlnEOFiIicj966IZyAYoDltOnT5cad9K/f380atQI+/fvV61heqNmabJUOsYeUueVKnPWw0rOUuz5WRanWEy7/8UpIKkUkbX0kOlraGnV5LL2tZaOM72utZWXTe/LTR8qSQeKyS1rVpISkzrWWppH6rziNkjNzCuVIrLWXkfMSGuNrSsyW3uvtViR2VGrVJN7UBywREZGWtzetGlTNG3a1O4GERERlStMCcni1hPHERER6R4DFlkYsNhIrRSRPekYZy21LTeFpcduWKnXyFqVkOnj1t5fqe5zqfdNfE2pz4OSlJCYvZ8VJTOdKkkJKUnHWJsVV61Ukz0LGkq1V4tZcbX4mbS10sxeevz9IxvHsMjirL95RERERDZjDwsREZGGmBGShwELERGRhhiwyMOARSWOKlW2lbWxMVIz6No6rsZaflHvOWbxWAYl76PUeASpVZatjUuSmr1W6vV29ky3UuewZ4ZXJaXKSlaMtnVmXnvGmigZy2PPbLZSbJ0lWo8/u3psEzkWAxYiIiINccytPAxYiIiINMSUkDwMWBzAnpJnR5U5S53XUecRs+d1cARxe63NUCt1rJKUoFT6SHxsgcRjaqSE7GFrSkjqMbVmxVVSUmzP7LX27KuEkhl05V5HrfPIOZet51XjOFegRg9LeQhYWNZMRERUzuzcuROPP/44wsLCYDAYsH79erPHBUHA9OnTUbNmTfj6+qJ79+44ceKENo29hwELERGRRgQU9x7Ze1Paw5Kbm4vo6GgsWrTI4uPvvvsuPvzwQyxZsgR79+5FpUqV0LNnT9y5c0fpU1QNU0JEREQa0mIMS+/evdG7d2/L5xIEzJ8/H1OnTsWTTz4JAPjiiy9Qo0YNrF+/HoMGDbKztbZhwOIEao1pUTI2Qs2uM7mrC1trn5IfSqnVpJ3FtA3WxiNIjeWR2tfauBTTx629Dqb7Sq0uLffzp9YU8PaU8zpqX7Wm0Feyr5iS80pRMkZILc6aft+dx62YUqtK6O7du8jJyTHb5u3tDW9vb0XnOX36NLKystC9e3fjtsDAQLRr1w67d+/WLGBhSoiIiMgNbNq0CYGBgWa3pKQkxefJysoCANSoUcNse40aNYyPaYE9LERERBpSKyXUs2dPfPXVV2bblfau6Fm5DFjK6n7T2+rHUsdZO9ZaqbJUG6SOlWqDtR86W9M81mbidTVKypqluorFr4tUCXRZ+9lDblmz1HHWypqlrueo1Y/V2lfMnhWYlaSaHDGbrTungJSstO4oagUsFSpUQEBAgN3nCg0NBQBcuHABNWvWNG6/cOECWrZsaff5bcWUEBERERnVqVMHoaGh2Lp1q3FbTk4O9u7di5iYGM3aVS57WIiIiPRAgDYTx928eRMnT5403j99+jQOHjyIoKAgREREYOzYsZg9ezYaNGiAOnXqYNq0aQgLC0Pfvn1VaK1tGLCYUNL9rhZ7Koic1Qa5CyVKVRCJ2ZPmcVaKyNa0mZI0gbXzmqZvpCqIxJxdJSR1nD1pHqnz2FPNo+S8ts5eq+S8So+19Txyj3MWZ7VB72v1aFHWvH//fnTt2tV4f9y4cQCA2NhYLFu2DBMnTkRubi5efvllXL9+HR07dsTGjRvh4+OjQmttw4CFiIhIQ1oEVF26dIEglB3mGAwGzJo1C7NmzXJiq6RxDAsRERHpHntYiIiINMTVmuVhwCKTtS47tbqqlIxp0dvKzo4qu7ZGrVlx1RpPZO25KZkVV6o94nEqcturVlmzKUeMsRAfq2a5tJL2OmP2WjXLhtUat+KoUmY9zL6rNwxY5GHAQkREpCEtqoRcEcewEBERke6xh0UlWiw8aM++Stort7xXSVrHntl11aIkTWbtWCXl3UpeM6n0kZiWZapqpQ/USt1Y29fWVJM9aSkxR5V7yz1OyXnsOS9TQNIEMCUkFwMWIiIiDelhThxXwJQQERER6R57WIiIiDTEQbfyMGBxAEeVQLtyybOlY+XSw2rNzlop29q55J5XS/aMtVGrBFrN1Y8dtVKyM14HKa4wZsVdxqlYwzEs8jBgISIi0hB7WOThGBYiIiLSPfawaECtEmi9pYjsKVVWstKzFLXOo5SSsmZb02hqPDels/eq8fo5Kr2hxQy61h6ztcSYs9cWKy8pIDG9pHP1ziV6WM6cOYOXXnoJderUga+vL+rVq4fExETk5+dr3TQiIiKblczDYu+tPKSEXKKH5dixYygqKsLSpUtRv359HDlyBMOHD0dubi7mzZundfOIiIhsxjEs8rhEwNKrVy/06tXLeL9u3bo4fvw4Fi9ebFPAUlY0autid/awZ7ZVMa1nxbWW5rF1hlcl53V19sx0K+ezo4dZR9VKNdiTJnFU5Y+SNnD2Wn387Kq1KCU5nksELJZkZ2cjKChIcp+8vDzk5eUZ7+fk5Di6WURERIqwrFkelxjDInby5EksXLgQr7zyiuR+SUlJCAwMNN7Cw8Od1EIiIiJ5OIZFHk0DlsmTJ8NgMEjejh07ZnbMuXPn0KtXLzz99NMYPny45PkTEhKQnZ1tvGVkZDjy6RAREZGDaJoSeuONNxAXFye5T926dY3/P3/+PLp27Yr27dvjk08+sXp+b29veHt7y26Pkm45R413UTKzqRS9lTyLz6tmOa8WZcL2lGyrtVK21L56otaYC3tKf5WcS+9l2NbIfR2cNWZFi3Egev1ZKAvHysijacASHByM4OBgWfueO3cOXbt2RatWrZCcnAwPD5fMZhERERmVlDWrcR535xKDbs+dO4cuXbogMjIS8+bNw6VLl4yPhYaGatgyIiIi+7CsWR6XCFg2b96MkydP4uTJk6hdu7bZY4KgzdskFRE7K13krBSR1HG2Ls7nzqXJStiTjhPTss/R1vdPzVSHHsql1SqRdcZ5HHWss36WXS3tQ/ZzibxKXFwcBEGweCMiInJlrBKSxyV6WIiIiNwVx7DIw4CFiIhIQ+U1Ja4UAxYHsBYtqzXGRa0xLUrao1YJtJLXyNkrGmtJzXFKYrZ+7tR+DR013sVZ5dNy99WiVFnpedU4DnDcH1xX+/klx2LAQkREpCGmhORhwEJERKQRzsMiHwMWDTiqJFrJDKqm7EklOGLVZ2vntaf7WWoVaEdRkkZzJL3kyR01w6reVoy255rlZZVlpnxICQYsREREGuLEcfIwYCEiItIQU0LyMGDRGbXSB2rOiio37WNP5Y+YWhVFSiipMHLWTL22VnPpiRbVJ2qmSVwt7aPGcQArf5xJL+lavXOJmW6JiIiofGMPCxERkYaYEpKHAQsREZGGGLDIUy4DliIof3O1Gj/gSiXQ1trjjBJoMT2sCq2HNmhJixJYvY0lceR1WKpsna1tckYQIIBVQnJxDAsRERHpXrnsYSEiItILPfZK6REDFpmUfKCclT5SK12kVgm0kpJsR5VAK7mOklSN1IKLJE2t10qP6RgtrqOHUmU9fP710Aa1cAyLPEwJERERke6xh4WIiEhDHHQrDwMWIiIiDTElJA8DFgfQw3gXNVcI1roE2tqxSsaeyL2G+DpKvgFxvIs5Rz1/e76V2tomZ42FKa+lyuX1Z6W8TXVgK45hISIiIt1jDwsREZFGBDAlJBcDFo0pSUs46jpqlUCrlS4CbC+JtmdWWXtSOWqtGC2mZNVqV6G3VYC1SC3Ze6wppn1cHwMWeRiwEBERaYhVQvJwDAsREVE5M2PGDBgMBrNbo0aNtG6WJPaw6JyjFj+Uew0l11FrxlzA9udtz3PRohJIySKQ5YHe0iSANjPSirlS2ocpH+W0Sgk1bdoUW7ZsMd6vUEHfIYG+W0dEROTmtApYKlSogNDQUBWu7hxMCREREbmBu3fvIicnx+yWl5dX5v4nTpxAWFgY6tati8GDByM9Pd2JrVWOAQsREZGGilS4AcCmTZsQGBhodktKSrJ4zXbt2mHZsmXYuHEjFi9ejNOnT+Ohhx7CjRs3HPdE7VQuU0JFAAwWtrta9OaM8S1qXscZJdH2zKCr5Fz2jClwx1JlR9FbCbSjzqOHMTd6u4azSL32zqi8UXMelp49e+Krr74y2+7t7W1x/969exv/36JFC7Rr1w6RkZFYvXo1XnrpJRVapL5yGbAQERHphVplzRUqVEBAQIBNx1epUgX33XcfTp48qUJrHMPVOhWIiIhIZTdv3sSpU6dQs2ZNrZtSJvawmFCrW1YPUSBn0LVOzfSRkvM6Ks2h5edOi/JrR6Ul9LhYoynOSFvMnUr+tagSGj9+PB5//HFERkbi/PnzSExMhKenJ5599lkVWuMYDFiIiIg0pEXAcvbsWTz77LO4cuUKgoOD0bFjR+zZswfBwcEqtMYxXCZgeeKJJ3Dw4EFcvHgRVatWRffu3fHOO+8gLCxM66YRERHZTIveolWrVmlwVfvoIXshS9euXbF69WocP34ca9euxalTpzBgwACtm0VERERO4DI9LK+//rrx/5GRkZg8eTL69u2LgoICVKxYUcOWlWbPFO/OovWU/2qNbxHTaryLredV87quktPXYmyE3seliJXX0mRX+QyrSc2yZnfnMgGLqatXr2LlypVo3769ZLCSl5dnNstfTk6OM5pHREQkGwMWeVwmJQQAkyZNQqVKlVCtWjWkp6djw4YNkvsnJSWZzfgXHh7upJYSERGRmjQNWCZPnlxqeWvx7dixY8b9J0yYgLS0NPz888/w9PTECy+8AEEoO65MSEhAdna28ZaRkeGMp6WI0qmXnaFQwU1v13DU66mkvWq9RvZeV683LV4LJfTwGbKHM66hhB5/x+mNGlPzl4ceFk1TQm+88Qbi4uIk96lbt67x/9WrV0f16tVx3333oXHjxggPD8eePXsQExNj8Vhvb+8ypyUmIiLSA2cGkK5M04AlODjY5prvoqLieFxqJUoiIiK9U2tqfnfnEoNu9+7di99//x0dO3ZE1apVcerUKUybNg316tUrs3fFHemx+kjqm4Ezqo3suaZaCxhaw29Pzues9IIW760ePk/lOX1D2nGJQbd+fn749ttv0a1bNzRs2BAvvfQSWrRogR07djDlQ0RELk2NsWHsYdGJ5s2b45dfftG6GURERKriPCzyuUTAQkRE5K6YYpOHAYub0sN4F0eNPdHDNd1xxWUt6PEXNcelEOkTAxYiIiINMSUkDwMWIiIiDTFgkadcBiyFAAwqn1OtlIYWmD6yn1ptYre87fSQVjGlh/aUp8+TI17v8hAEuJJyGbAQERHpBSeOk4cBCxERkYaYEpKHAQsREZFGBJSv1J09GLCoRK38qd7HwrjaeBcxR72+zhivoPfPRln0MJbDHnprvzv9cdPba0v6xoCFiIhIQ0wJycOAhYiISEMMWORhwKIzekx32MpZqyEr4aguaGe89uw+l+Zqrw9TO1SCVULylLeZwImIiMgFsYeFiIhIQ0wJycOAxY3Y+qHXWyoJsL2LVKsuQ1foErf1fXaF56YVpnXIXgIYsMjFlBARERHpHntYiIiINOROPXWOxICFiIhIQ0wJycOAhdxqll5nfVNxxVxqeRqjUJ6+sZan99VdsaxZHlf8vUtERETlDHtYiIiINMSUkDwMWEg1anZN6yG9JKU8pRzIMZjKoRL8LMjDgIWIiEgjAjiGRS6OYSEiIiLdYw8LERGRhjiGRZ5yGbAUATBo3YgysMurmBY5Xb2PmyHH4PgB7eh9LJizggAGLPLw7yMRERHpXrnsYSEiItILvfc06QUDFp3Rwwe3vHa7MTVA5YkeftdQMaaE5GHAQkREpCGWNctTXr9MExERkQthDwsREZFGBDAlJBcDFipFb7ltdgOSO9DbzxXpBwMWeRiwEBERaYjBrDz88kpERES653I9LHl5eWjXrh3++OMPpKWloWXLllo3iRyM3z6IyJ0xJSSPy/WwTJw4EWFhYVo3g4iISBWFKtwYsOjMTz/9hJ9//hnz5s3TuilEREQubdGiRYiKioKPjw/atWuHffv2ad0kSS4TsFy4cAHDhw/HihUr4OfnJ+uYvLw85OTkmN2IiIj0pEiFm9Ielq+//hrjxo1DYmIiDhw4gOjoaPTs2RMXL15U4yk5hEsELIIgIC4uDiNGjEDr1q1lH5eUlITAwEDjLTw83IGtJCIiUqZkHhZnp4Tef/99DB8+HEOHDkWTJk2wZMkS+Pn54fPPP1fhWTmGpgHL5MmTYTAYJG/Hjh3DwoULcePGDSQkJCg6f0JCArKzs423jIwMBz0TIiIi26jRw6JEfn4+UlNT0b17d+M2Dw8PdO/eHbt377bvyTiQplVCb7zxBuLi4iT3qVu3Ln755Rfs3r0b3t7eZo+1bt0agwcPxvLlyy0e6+3tbXaMIBTHoOVhcBIREdmn5G9Fyd8Otfn4+AAAbqlwLgFAhQoVSg19EP8dBIDLly+jsLAQNWrUMNteo0YNHDt2TIXWOIamAUtwcDCCg4Ot7vfhhx9i9uzZxvvnz59Hz5498fXXX6Ndu3ayr3fjxg0AwG3lTSUionLqxo0bCAwMVP289913H/bs2YPr16/bfS4PDw/8+uuvpdqZmJiIGTNm2H1+PXCJeVgiIiLM7leuXBkAUK9ePdSuXVv2ecLCwpCRkQF/f3/cuHED4eHhyMjIQEBAgKrtdZacnBw+B425evsBPge94HPQnrj9giDgxo0bDp1KQ8mXbms6deqE8ePHm20T964AQPXq1eHp6YkLFy6Ybb9w4QJCQ0NVa4/aXCJgUYuHh4cxwDEYDACAgIAAl/zBMsXnoD1Xbz/A56AXfA7aM22/I3pWHMVS+scSLy8vtGrVClu3bkXfvn0BAEVFRdi6dStGjRrl4FbaziUDlqioKIflFImIiNzduHHjEBsbi9atW6Nt27aYP38+cnNzMXToUK2bViaXDFiIiIjIds888wwuXbqE6dOnIysrCy1btsTGjRtLDcTVk3IbsHh7eyMxMVFW95le8Tloz9XbD/A56AWfg/Zcvf1KjRo1StcpIDGDwNwKERER6ZxLzHRLRERE5RsDFiIiItI9BixERESkewxYiIiISPcYsJjIy8tDy5YtYTAYcPDgQa2bo8gTTzyBiIgI+Pj4oGbNmnj++edx/vx5rZsl25kzZ/DSSy+hTp068PX1Rb169ZCYmIj8/Hytm6bIW2+9hfbt28PPzw9VqlTRujmyLFq0CFFRUfDx8UG7du2wb98+rZsk286dO/H4448jLCwMBoMB69ev17pJiiQlJaFNmzbw9/dHSEgI+vbti+PHj2vdLEUWL16MFi1aGCdbi4mJwU8//aR1s+zy9ttvw2AwYOzYsVo3hUwwYDExceJEh07B7Ehdu3bF6tWrcfz4caxduxanTp3CgAEDtG6WbMeOHUNRURGWLl2KP//8Ex988AGWLFmCKVOmaN00RfLz8/H0009j5MiRWjdFlq+//hrjxo1DYmIiDhw4gOjoaPTs2RMXL17Uummy5ObmIjo6GosWLdK6KTbZsWMH4uPjsWfPHmzevBkFBQXo0aMHcnNztW6abLVr18bbb7+N1NRU7N+/Hw8//DCefPJJ/Pnnn1o3zSa///47li5dihYtWmjdFBITSBAEQfjxxx+FRo0aCX/++acAQEhLS9O6SXbZsGGDYDAYhPz8fK2bYrN3331XqFOnjtbNsElycrIQGBiodTOsatu2rRAfH2+8X1hYKISFhQlJSUkatso2AIR169Zp3Qy7XLx4UQAg7NixQ+um2KVq1arCv//9b62bodiNGzeEBg0aCJs3bxY6d+4sjBkzRusmkQn2sKB4wafhw4djxYoV8PPz07o5drt69SpWrlyJ9u3bo2LFilo3x2bZ2dkICgrSuhluKz8/H6mpqejevbtxm4eHB7p3747du3dr2LLyKzs7GwBc9nNfWFiIVatWITc3FzExMVo3R7H4+Hg8+uijZj8TpB/lPmARBAFxcXEYMWIEWrdurXVz7DJp0iRUqlQJ1apVQ3p6OjZs2KB1k2x28uRJLFy4EK+88orWTXFbly9fRmFhYampuGvUqIGsrCyNWlV+FRUVYezYsejQoQOaNWumdXMUOXz4MCpXrgxvb2+MGDEC69atQ5MmTbRuliKrVq3CgQMHkJSUpHVTqAxuG7BMnjwZBoNB8nbs2DEsXLgQN27cQEJCgtZNLkXucygxYcIEpKWl4eeff4anpydeeOEFzReJVPocAODcuXPo1asXnn76aQwfPlyjlv/DludApFR8fDyOHDmCVatWad0UxRo2bIiDBw9i7969GDlyJGJjY/Hf//5X62bJlpGRgTFjxmDlypXw8fHRujlUBredmv/SpUu4cuWK5D5169bFwIED8f3338NgMBi3FxYWwtPTE4MHD8by5csd3dQyyX0OXl5epbafPXsW4eHh+L//+z9Nu2aVPofz58+jS5cuePDBB7Fs2TJ4eGgfU9vyPixbtgxjx47F9evXHdw62+Xn58PPzw/ffPONcYl5AIiNjcX169ddrofOYDBg3bp1Zs/FVYwaNQobNmzAzp07UadOHa2bY7fu3bujXr16WLp0qdZNkWX9+vV46qmn4OnpadxWWFgIg8EADw8P5OXlmT1G2nDbxQ+Dg4MRHBxsdb8PP/wQs2fPNt4/f/48evbsia+//hrt2rVzZBOtkvscLCkqKgJQXKqtJSXP4dy5c+jatStatWqF5ORkXQQrgH3vg555eXmhVatW2Lp1q/GPfFFREbZu3epSC6K5MkEQMHr0aKxbtw7bt293i2AFKP4caf27R4lu3brh8OHDZtuGDh2KRo0aYdKkSQxWdMJtAxa5IiIizO5XrlwZAFCvXj3Url1biyYptnfvXvz+++/o2LEjqlatilOnTmHatGmoV6+eywx8O3fuHLp06YLIyEjMmzcPly5dMj4WGhqqYcuUSU9Px9WrV5Geno7CwkLjfD7169c3frb0ZNy4cYiNjUXr1q3Rtm1bzJ8/H7m5uRg6dKjWTZPl5s2bOHnypPH+6dOncfDgQQQFBZX62daj+Ph4pKSkYMOGDfD39zeOHQoMDISvr6/GrZMnISEBvXv3RkREBG7cuIGUlBRs374dmzZt0rppsvn7+5caN1QyHtDVxhO5NU1rlHTo9OnTLlfWfOjQIaFr165CUFCQ4O3tLURFRQkjRowQzp49q3XTZEtOThYAWLy5ktjYWIvPYdu2bVo3rUwLFy4UIiIiBC8vL6Ft27bCnj17tG6SbNu2bbP4esfGxmrdNFnK+swnJydr3TTZXnzxRSEyMlLw8vISgoODhW7dugk///yz1s2yG8ua9cdtx7AQERGR+9DHIAEiIiIiCQxYiIiISPcYsBAREZHuMWAhIiIi3WPAQkRERLrHgIWIiIh0jwELERER6R4DFiI3EhcXZ3Utne3bt8NgMDh8naMuXboYF4csmfHXkaKioozX0/MaTkRkG04cR+RGsrOzIQgCqlSpAqA4aGjZsiXmz59v3Cc/Px9Xr15FjRo1zBb9VFuXLl1w3333YdasWahevToqVHDsSiCXLl3Cr7/+iv79++PatWvG14CI3EO5X0uIyJ0EBgZa3cfLy8tp6zP5+fk57VrBwcEICgpyyrWIyPmYEiKywRdffIFq1aqVWpG2b9++eP755y0ec+bMGRgMBqxatQrt27eHj48PmjVrhh07dpjtt2PHDrRt2xbe3t6oWbMmJk+ejLt37xof/+abb9C8eXP4+vqiWrVq6N69O3JzcwGYp4Ti4uKwY8cOLFiwwJgqOXPmjMWU0Nq1a9G0aVN4e3sjKioK7733nlmboqKiMGfOHLz44ovw9/dHREQEPvnkE8Wv27Jly0r1fKxfv96sp2fGjBlo2bIlPv/8c0RERKBy5cp49dVXUVhYiHfffRehoaEICQnBW2+9pfj6ROS6GLAQ2eDpp59GYWEhvvvuO+O2ixcv4ocffsCLL74oeeyECRPwxhtvIC0tDTExMXj88cdx5coVAMWrVvfp0wdt2rTBH3/8gcWLF+Ozzz7D7NmzAQCZmZl49tln8eKLL+Lo0aPYvn07+vXrB0uZ3QULFiAmJgbDhw9HZmYmMjMzER4eXmq/1NRUDBw4EIMGDcLhw4cxY8YMTJs2DcuWLTPb77333kPr1q2RlpaGV199FSNHjsTx48eVvnSynDp1Cj/99BM2btyIr776Cp999hkeffRRnD17Fjt27MA777yDqVOnYu/evQ65PhHpkJYrLxK5spEjRwq9e/c23n/vvfeEunXrCkVFRRb3L1kJ/O233zZuKygoEGrXri288847giAIwpQpU4SGDRuanWPRokVC5cqVhcLCQiE1NVUAIJw5c8biNWJjY4Unn3zSeN/SirMlKxxfu3ZNEARBeO6554RHHnnEbJ8JEyYITZo0Md6PjIwUhgwZYrxfVFQkhISECIsXL7bYjrKunZycLAQGBpptW7dundmq3ImJiYKfn5+Qk5Nj3NazZ08hKipKKCwsNG5r2LChkJSUJPnciMh9sIeFyEbDhw/Hzz//jHPnzgEoTnfExcVZHcgaExNj/H+FChXQunVrHD16FABw9OhRxMTEmJ2jQ4cOuHnzJs6ePYvo6Gh069YNzZs3x9NPP41PP/0U165ds+t5HD16FB06dDDb1qFDB5w4cQKFhYXGbS1atDD+32AwIDQ0FBcvXrTr2mWJioqCv7+/8X6NGjXQpEkTeHh4mG1z1PWJSH8YsBDZ6P7770d0dDS++OILpKam4s8//0RcXJxDr+np6YnNmzfjp59+QpMmTbBw4UI0bNgQp0+fduh1AaBixYpm9w0GA4qKihSdw8PDo1T6qqCgQNa11Lg+EbkuBixEdhg2bBiWLVuG5ORkdO/e3eIYEbE9e/YY/3/37l2kpqaicePGAIDGjRtj9+7dZn/Ud+3aBX9/f9SuXRtA8R/qDh06YObMmUhLS4OXlxfWrVtn8VpeXl5mvSSWNG7cGLt27TLbtmvXLtx3333w9PS0+nyUCA4Oxo0bN4yDhAE4ZY4WInJ9DFiI7PDcc8/h7Nmz+PTTT60Oti2xaNEirFu3DseOHUN8fDyuXbtmPPbVV19FRkYGRo8ejWPHjmHDhg1ITEzEuHHj4OHhgb1792LOnDnYv38/0tPT8e233+LSpUvGgEcsKioKe/fuxZkzZ3D58mWLPRJvvPEGtm7dijfffBP/+9//sHz5cnz00UcYP3687S9MGdq1awc/Pz9MmTIFp06dQkpKSqnBvUREljBgIbJDYGAg+vfvj8qVK1udYbbE22+/jbfffhvR0dH47bff8N1336F69eoAgFq1auHHH3/Evn37EB0djREjRuCll17C1KlTAQABAQHYuXMn+vTpg/vuuw9Tp07Fe++9h969e1u81vjx4+Hp6YkmTZogODgY6enppfZ54IEHsHr1aqxatQrNmjXD9OnTMWvWLIekt4KCgvDll1/ixx9/RPPmzfHVV19hxowZql+HiNwPZ7olslO3bt3QtGlTfPjhh5L7nTlzBnXq1EFaWhpatmzpnMZpyNIsu462fft2dO3alTPdErkh9rAQ2ejatWtYt24dtm/fjvj4eK2bo0sff/wxKleujMOHDzv8Wk2bNi2zp4mIXB+n5iey0f33349r167hnXfeQcOGDbVuju6sXLkSt2/fBgBEREQ4/Ho//vijseIoICDA4dcjIudiSoiIiIh0jykhIiIi0j0GLERERKR7DFiIiIhI9xiwEBERke4xYCEiIiLdY8BCREREuseAhYiIiHSPAQsRERHpHgMWIiIi0r3/B/MTn5l8BP3OAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 640x480 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "waveguide_mode_data.Ey.abs.isel(f=5).plot(x=\"y\", y=\"z\", vmin=0, vmax=30, cmap=\"hot\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "id": "296cbec0",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2025-05-15T10:34:44.215017Z",
     "iopub.status.busy": "2025-05-15T10:34:44.214930Z",
     "iopub.status.idle": "2025-05-15T10:34:44.287411Z",
     "shell.execute_reply": "2025-05-15T10:34:44.287052Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiwAAAHHCAYAAACcHAM1AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAZq5JREFUeJzt3XtYVNX+P/D3QAKiMIpxkQTxUt5RT15CO4plqfWtLMssNVCzNLTMzLQbapaWXeyYmZ1TeEmym2Z3KxMtU1OE1EpPevSAd00FQQUc9u8Pj/NjBth7r733zN4z8349zzyPM3vvtRfDCB/WZ33WskmSJIGIiIjIwoLM7gARERGREgYsREREZHkMWIiIiMjyGLAQERGR5TFgISIiIstjwEJERESWx4CFiIiILI8BCxEREVkeAxYiIiKyPAYsFBBSU1Nhs9lgs9nwf//3f6b04dNPP3X2wWazYevWrZraOXr0KO688040atQINpsNc+fONbajZFn79+93+Qx9/PHHHr1ffn6+V+9HJIcBC3nVO++8gzZt2iAsLAxXXnkl5s2bp+q6kpISZGZmon///oiKioLNZsOiRYuE7t26dWssXboUkyZN0tBz/bp06YKlS5figQce0NXOo48+itWrV2Pq1KlYunQp+vfvb1AP5X377bcYNWoU2rdvj+DgYCQlJQldX1JSggkTJqBJkyYIDQ1FmzZtsGDBgmrnrV+/HrfeeisSEhIQFhaGuLg49O/fHxs2bJBt//Tp04iJiTHtF+vzzz+PW2+9FbGxsbDZbJg2bZqq62644QbYbDaMGzdO9b0eeOABLF26FN26dXO+tmjRItlAODU1Fe3bt1d9DwBo2rQpli5diieffFLoOiJPYMBCXrNw4ULcf//9aNeuHebNm4eUlBQ8/PDDePHFFxWvPXHiBGbMmIE//vgDHTt21HT/2NhYDBs2DKmpqZqu16tJkyYYNmwYUlJSdLXzww8/4LbbbsOkSZMwbNgwtG7d2qAeysvOzkZ2djbsdjvi4+OFrnU4HOjXrx8WLFiAwYMHY+7cuWjVqhUeeughvPDCCy7n/vvf/0ZQUBDGjBmD+fPnY9KkSThy5Ah69eqFb775ptZ7PPvsszh79qymr80ITz/9NLZs2YLOnTurvmbFihXYuHGj8L1SUlIwbNgwJCYmCl8romHDhhg2bBhuuOEGj96HSBWJyAvOnj0rNWrUSLr55ptdXh86dKhUr1496eTJk7LXnz9/Xjp8+LAkSZK0ZcsWCYCUlZWl+v69e/eWevfuLdptj8jKypIASFu2bNF0vc1mkzIyMgzulbKDBw9K5eXlkiRJ0s033yw1bdpU9bUffvihBEB65513XF4fNGiQFBYWJh09elT2+tLSUik2Nlbq169fjcd37NghXXbZZdKMGTMkANJHH32kum9KMjMzVX2t+/btkyRJko4fPy4BkDIzM2XPP3funJSUlOTss5rv6b59+2r97Ct9rnr37i21a9dO8R41Wbt2reHvK5EojrD4sXPnzqF169Zo3bo1zp0753z95MmTaNy4MXr06AGHw+GVvqxduxZ//fUXHnroIZfXMzIyUFpaii+//FL2+tDQUMTFxRner5ycHNhsNuTk5Li8fmmuQNW0U3p6OurXr4+CggL83//9H+rXr48rrrgC8+fPBwDs2LED1113HerVq4emTZsiOzvb0L5eGvKXJAnz5893zivwlvj4eNSpU0fTtT/++CMAYMiQIS6vDxkyBOfPn8eqVatkrw8PD0d0dDROnz5d4/FHHnkEt99+O/7+97/X2sbBgwcxcuRIxMbGIjQ0FO3atcO7774r9oXIEE2RvfTSS6isrDQtRZmenu4yP6XqQ206i8ibLjO7A+Q5devWxeLFi9GzZ0889dRTePXVVwFcDBKKioqwaNEiBAcH13p9ZWUlTp48qepedrtd9pdZXl4egIvzOKq6+uqrERQUhLy8PAwbNkzVvczkcDgwYMAA9OrVCy+99BKWLVuGcePGoV69enjqqacwdOhQ3HHHHXjrrbdw3333ISUlBc2aNTPk3r169cLSpUsxfPhw3HDDDbjvvvsUrzl16pSqoDQ8PBzh4eFGdLNGZWVlCA4ORkhISLX7AkBubi5Gjx7tcqy4uBjl5eU4ceIElixZgp07d9Y4l+Kjjz7Czz//jD/++AP79++v8f5Hjx7FNddc45wrEh0dja+//hqjRo1CcXExJkyYYMjXqVZBQQFmz56Nd999F3Xr1jW07aKiIpw4caLa6xUVFS7PH3zwQfTt29fltW+++QbLli1DTEyMoX0iMgIDFj/XvXt3TJ48GS+++CJuv/12HD16FMuXL8fcuXNx1VVXyV5bUFCg+pft2rVrZeeGHD58GMHBwdV+EIaEhKBRo0Y4dOiQqvuY7fz58xg2bBimTp0KALj33nsRHx+PkSNH4v3338fdd98N4OJEytatW2Px4sWG/bXavHlzNG/eHMOHD8dVV12lKsDr3Lkz/vvf/yqel5mZ6dG/qlu1agWHw4FNmzbh2muvdb5+aeTl4MGD1a4ZPHgwVq9eDeDi5+TBBx/EM88843LOuXPnMGnSJDz66KNISkqqNWB56qmn4HA4sGPHDjRq1AgAMGbMGNxzzz2YNm0aHnzwQcMDBzmPPfYYOnfuXG3EyQjuQUhV7dq1c/47JSXFZT7Vnj17MG7cONxwww148MEHDe8XkV4MWALAtGnT8MUXXyAtLQ0lJSXo3bs3Hn74YcXr4uLi8N1336m6h9JE2HPnzlX76/qSsLAwl5SV1d1///3Ofzdo0ACtWrXCnj17MHjwYOfrrVq1QoMGDfCf//zHjC46LVu2TNV727x5c4/2495778WMGTMwcuRIzJ8/H1deeSW+/fZbvPnmmwBQYx9nz56Nxx57DIWFhVi8eDHKy8tx4cKFaudUVFTIVrFIkoRPPvkEgwcPhiRJLqMP/fr1w/Lly7Ft2zb07NkTAKqNTpw9exaVlZXVXo+IiEBoaKjYG4GLwf0nn3yCzZs3C1+rxvz582v8Y+Sxxx6rdbSttLQUt99+Oxo2bIj3339fduSVyCwMWAJASEgI3n33XXTt2hVhYWHIyspSNfchLCxM9q81EXXr1kV5eXmNx86fP+/Vv271CAsLQ3R0tMtrdrsdTZo0qfae2u12nDp1ypvdq+bSL2GzxcXF4bPPPsPw4cNx4403AgAiIyMxb948pKWloX79+tWu6dSpk/Pfw4YNw9/+9jekp6c7S5b379+POXPmYP78+TVef8nx48dx+vRpvP3223j77bdrPOfYsWPOf7t/f2t7PSsrC+np6bXetyYXLlzAww8/jOHDh6Nr165C16rVrVu3aqlX4GLFT02pIgAYPXo09u7di59//tk5AkVkNQxYAsSlofXz58/jzz//VJXqcTgcOH78uKr2o6Kiah1BAYDGjRvD4XDg2LFjLmmh8vJy/PXXX8JlskapLXCr7S/R2v7yrO11SZK0dcwgx48fVzWHpX79+rK/9I3Qq1cv/Oc//8GOHTtQWlqKjh07OlOBSunJkJAQ3HrrrZg9ezbOnTuHunXr4tlnn8UVV1yB1NRUZyroyJEjAC5+3fv370diYiIqKysBXAx60tLSamw/OTnZ+W/3UcUlS5bg22+/xXvvvefyetX0ilpLlizB7t27sXDhwmrpqzNnzmD//v2IiYnx6Hwid6+//jref/99vPfeey5BIpHVMGAJANu3b8eMGTMwYsQI5Ofn4/7778eOHTtgt9tlryssLDRsDsulH4Rbt27FTTfd5Hx969atqKysNO0HZcOGDQGgWvWJmnkfvqBr166WmMNySXBwsMv3+vvvvwcgP+/iknPnzkGSJJw5cwZ169ZFQUEB9uzZU2M661I12qlTpxAdHY2IiAg4HA5V93E/56effjJstLGgoAAVFRU1jnwtWbIES5YswcqVKzFw4EDd91Ljxx9/xKRJkzBhwgQMHTrUK/ck0ooBi5+rqKhAeno64uPj8frrr2Pfvn3o2rUrHn30UcWSTiPnsFx33XWIiorCggULXAKWBQsWIDw8HDfffLPztRMnTuDEiRNITEz0+F+aTZs2RXBwMNavX+/yS+LS3ApfZ8YcloqKCuzduxd2ux2NGzeu9bzjx4/jxRdfRHJysksw4D4KB1wMKD/55BMkJCQ4j82cObNaimPnzp145plnMHnyZKSkpKBevXoIDg7GoEGDkJ2djZ07d1Zb7fX48eO1poGMNmTIkBqD89tvvx033XQTRo8eje7du3ulL4cPH8bgwYNx7bXXYs6cOV65J5EeDFj83MyZM5Gfn481a9YgIiICycnJePbZZ/H000/jzjvvdAke3Bk9h+W5555DRkYG7rrrLvTr1w8//vgj3nvvPTz//POIiopynvvGG29g+vTp1UZt3njjDZw+fdqZRvj8889x4MABAMD48eMVR4xqYrfbcdddd2HevHmw2Wxo0aIFvvjiC5c5Dd6waNEijBgxQtO8CDlGzmHZvn07PvvsMwAXK0qKioowc+ZMABcD1ltuuQXAxYqfNm3aIC0tzWUdm969eyMlJQUtW7bEkSNH8Pbbb6OkpARffPEFgoL+/5JQAwYMQJMmTdC9e3fExMSgoKAAWVlZOHToED744APneVWrjS5p0KABgIsjS1UD0NmzZ2Pt2rXo3r07Ro8ejbZt2+LkyZPYtm0bvv/+e9Xl+3KWLl2K//73v87VdtevX+98f4YPH46mTZs610WqSbNmzbw2sgIADz/8MI4fP47Jkydj+fLlLseSk5Nd0mREVsCAxY9t27YNL7zwAsaNG4c+ffo4X58yZQpWrVqF0aNH47fffnP+kPe0hx56CHXq1MErr7yCzz77DAkJCXjttdfwyCOPqLr+5ZdfdklvrFixAitWrABwcX6CloAFAObNm4eKigq89dZbCA0NxeDBgzFnzhzhfVf0KCkpAQDZEQmzbdu2rVpZ8aXnaWlpzoClNldffTU++ugjHDx4EJGRkbjhhhvw3HPPVRvdGTlyJJYvX47XXnsNp0+fRsOGDXHNNdcgOztbdmE4ObGxsfjll18wY8YMrFixAm+++SYaNWqEdu3aqdoaQo133nkH69atcz5fu3Yt1q5dC+BicNW0aVND7mOUS/ObJk6cWO1YZmYmAxayHJtk9qxAIi9ITU1FRUUFVq1ahZCQEERGRnq9D+Xl5SguLsby5csxfvx4bNmyxVnNMXjwYOzfvx+//PKL1/tFvmP//v1o1qwZ5s2bhyFDhiAyMlJ2srteDocDp06dwoYNGzBw4EB89NFHuPPOOz12PyI5XJqfAsbPP/+M6Oho3Hvvvabc/6uvvkJ0dDTGjx/v8rokScjJyXGmD4iUjB8/HtHR0c4Unafs2LED0dHRXk1VEdWGIywUEHJzc51rokRHR2ve8VmP48eP49dff3U+7969OyIiIrzeD/Jd58+fx08//eR8npyc7NFl9EtKSrBp0yav3Y9IDgMWIiIisjymhIiIiALMggULkJycjMjISERGRiIlJQVff/218/j58+eRkZGBRo0aoX79+hg0aBCOHj1qYo85wkJERBRwPv/8cwQHB+PKK6+EJElYvHgx5syZg7y8PLRr1w5jx47Fl19+iUWLFsFut2PcuHEICgrChg0bTOszAxYiIiJCVFQU5syZgzvvvBPR0dHIzs52VoXt2rULbdq0wcaNG3HNNdeY0r+AWoelsrIShw4dQkREhKrN/4iIKHBd2goiPj7eZXFDI50/f77WjWFFSZJU7XdbaGio4q7iDocDH330EUpLS5GSkoLc3FxUVFS4LBzaunVrJCYmMmDxlkOHDiEhIcHsbhARkQ8pLCxEkyZNDG/3/PnzaNasmXPTTr3q16/vXITyErl9wnbs2IGUlBScP38e9evXx8qVK9G2bVvk5+cjJCSk2qKisbGxhvVVC58NWGbPno2pU6fikUcewdy5c1Vdc6mEtC4Ajq+QKM5Q902VZneAfJYE4BzgseUHysvLceTIERQWFupezLK4uBgJCQnV2pIbXWnVqhXy8/NRVFSEjz/+GGlpaS6rNVuNTwYsW7ZswcKFC4WXjr40VGYDAxYSx8+Mb+L3jfTy9BSCyMhwREbq3ej1wv/ailQd/ISEhKBly5YALm6dsWXLFrz++uu4++67UV5ejtOnT7uMshw9ehRxcXE6+6mdz/3RWFJSgqFDh+Kf//wnGjZsaHZ3iIiIdLpg0EOfyspKlJWV4eqrr0adOnWwZs0a57Hdu3ejoKAAKSkpuu+jlc+NsGRkZODmm29G3759FZcyLysrQ1lZmfN5cXGxp7tHPsbnInYSJvI9ZvqIzGFEwCF2/dSpUzFgwAAkJibizJkzyM7ORk5ODlavXg273Y5Ro0Zh4sSJiIqKQmRkJMaPH4+UlBTTJtwCPhawLF++HNu2bcOWLVtUnT9r1ixMnz7dw70iIiLyLceOHcN9992Hw4cPw263Izk5GatXr8YNN9wAAHjttdcQFBSEQYMGoaysDP369cObb75pap99Zh2WwsJCdOnSBd99951z7kpqaio6depU66TbmkZYEhISEA7mtekijrBQVRxhoaokAGcBFBUVeWSH9+LiYtjtdhQV/deQSbd2e1OP9dUKfGaEJTc3F8eOHcPf/vY352sOhwPr16/HG2+8gbKyMgQHB7tco6b+nPwPgxDSiukjMocD+lNCDiM6Ymk+E7Bcf/312LFjh8trI0aMQOvWrfHEE09UC1aIiIjIf/hMwBIREYH27du7vFavXj00atSo2utERES+w/uTbn2RzwQsRFX5c9onkMYKfXkQW+kzyJQRqceARQ2fDlhycnLM7gIRERF5gU8HLERERL6PIyxqMGAhIiIylQP6E6S+nGBVhwELWZKvzVEJpHknRjLqfbPij2q5zzDntxCJY8BCRERkKq7DogYDFiIiIlNxDosaDFjINFZP+zDN4ztEvldW+DuU6SJyxYBFDav/ziAiIiLiCAsREZG5OMKiBgMWIiIiU3HSrRoMWMijrJZztOK8FKu9R2bx1twNq8934ZL/RDVjwEJERGQqpoTUYMBCRERkKgYsajBgIV2smM4wI+1jxffB1+h5Dz2VJpH7LJk1Y4Al0RSoGLAQERGZiiMsajBgISIiMhUDFjUYsJAwK6Q/vJH2MevrtGIlk6cYlVYR+V4ZlTZR+j5ZocKIKSLyJwxYiIiITMV1WNRgwEJERGQqpoTUYMBCRERkKgYsajBgIUVmzOXw1DwOT30tVpx34qk+GTnwbFQfRfrkrfkuViiJrvq1cj4L+ToGLERERKbiCIsaDFiIiIhMxYBFDQYsBIBpn5p4qn9WTB+J8Fb/RdImntrQ0FOrypqRLuKmiuTrGLAQERGZimXNajBgISIiMpUD+gMO/w9YrLBoKREREZEsjrAEKG9Fqv48T8XqX5svkJs3oef9lftb06j5I56aE2LWkv8sgTYTJ92qwYCFiIjIVAxY1AikP+aIiIjIR3GEJUD4WgpIT3+tkOYJpBV15SilL7S+T0opC61lzkaWR3ujJNpbJdBMEXkaq4TUYMBCRERkKqaE1GDAQkREZCoGLGpwDgsRERFZns8ELAsWLEBycjIiIyMRGRmJlJQUfP3112Z3y9KCqjw8JdjtISJI5iF6X7V9kLtO6Vq5/ir1X+m+fIh9b/R8L9xZ7bMkQs//PxF6+khqXDDo4d98JiXUpEkTzJ49G1deeSUkScLixYtx2223IS8vD+3atTO7e0RERBoxJaSGzwQst9xyi8vz559/HgsWLMCmTZsYsBAREfk5nwlYqnI4HPjoo49QWlqKlJQUs7tjGVYvpfVWqbLIuVbskxwOx6tTtcBT5D1zL9+V+74pFZFqLT/WU1Ksp78iuCqu0VjWrIZPBSw7duxASkoKzp8/j/r162PlypVo27ZtreeXlZWhrKzM+by4uNgb3SQiIhJwAfr/rPH/lJBP/cHWqlUr5OfnY/PmzRg7dizS0tLw+++/13r+rFmzYLfbnY+EhAQv9paIiIiMYpMkSTK7E1r17dsXLVq0wMKFC2s8XtMIS0JCAsIB2LzUR0+yegoIEOujFdI+VuiDUfe0AiMHqUVSDyL3FTnX1/pg1D1F+FOKSAJwFkBRUREiIyMNb7+4uBh2ux1FRQ8jMjJUZ1tlsNv/4bG+WoFPpYTcVVZWugQk7kJDQxEaqu9DQERE5FlMCanhMwHL1KlTMWDAACQmJuLMmTPIzs5GTk4OVq9ebXbXiIiIyMN8JmA5duwY7rvvPhw+fBh2ux3JyclYvXo1brjhBrO7RkREpAOrhNTwmYDlnXfeMbsLlmC1eStWKAs2a46Kp+6r9R5WZMVdf91/rIuUAovswCxS1ixyrlG7QLt/3Ub9urPi99z6LkD//3amhIiIiMijGLCo4et/wBEREZGgWbNmoWvXroiIiEBMTAwGDhyI3bt3u5yTmpoKm83m8hgzZoxJPeYIi+VZLQUEWL9MWK4dI0uRrVBabcR1eomkEjyVhjCDUrqoaipE6XtTtS2Rc90ZtUouV8X1Nu+PsKxbtw4ZGRno2rUrLly4gCeffBI33ngjfv/9d9SrV8953ujRozFjxgzn8/DwcJ391I4BCxERkakc0B8mil3/zTffuDxftGgRYmJikJubi169ejlfDw8PR1xcnM6+GYMpISIiogBXVFQEAIiKinJ5fdmyZbj88svRvn17TJ06FWfPnjWjewA4wkJERGQy48qa3ffMU7OAamVlJSZMmICePXuiffv2ztfvvfdeNG3aFPHx8di+fTueeOIJ7N69GytWrNDZV20YsFgM56you6c35qnoKWu2+hL/RtJTZuup0l+tRHZr9tR9PFUCzZJnK7sA/RvGXAx43PfMy8zMxLRp02SvzMjIwM6dO/HTTz+5vP7AAw84/92hQwc0btwY119/Pfbu3YsWLVro7K84BixERER+orCw0GUvIaXRlXHjxuGLL77A+vXr0aRJE9lzu3fvDgDYs2cPAxYiIqLAY9wIS2RkpKrNDyVJwvjx47Fy5Urk5OSgWbNmitfk5+cDABo3bqyrp1oxYLEAq6WBjEwBWaFUWaRdXyuXNuI6veTSBSIluiLpAqWUhVzaRE9aQq5U2ag+6CmB9kbJs9J9RDBFdIlxAYtaGRkZyM7OxqpVqxAREYEjR44AAOx2O+rWrYu9e/ciOzsbN910Exo1aoTt27fj0UcfRa9evZCcnKyzr9owYCEiIgowCxYsAHBxcbiqsrKykJ6ejpCQEHz//feYO3cuSktLkZCQgEGDBuHpp582obcXMWAhIiIylfdHWCRJkj2ekJCAdevW6emQ4RiwEBERmcoB/QGLL68brQ4DFhNYbc4KYNy8FTNKlfW0636tr31tIvR8PkTmRsgRKef1p2X89fDUe2b1ZfyBQJrTYsTGhdz8kIiIiMh0HGEhIiIyFUdY1GDA4sOsngJSuo9R7Rp5btXjvpDC8hat91VaOVakrFlrKsTIcmkRZpRAi7Trzmqr4gYWBixqMCVERERElscRFiIiIlMZMS7l/2NbDFi8wAqVHt5avVbPhoBa0zEi5+pZ2daoaiMjV7o1a3VbOXIrsbrTunGinvSRXFtmVaWIrF4r11+5a31xVVwrfG+84wIA+XVRlPl/wMKUEBEREVkeR1iIiIhMxREWNRiwEBERmYoBixoMWDzAKnk2X1u91qhSZT1zTbReq2cejdJ9amtHL7m29PzoqyPQjkgfREqVRXaQFvlaPbXCa1VGlmxbYVVco1ihD2QuBixERESm4giLGgxYiIiITOWA/oDF/8ecGLBYnEgKwIqr13qqFFikVNmotJSn2lW6Vq4PWttRUkfmmNYUimhbcu+3UnpDrhxWT/+1/g2rVH6slS+siuuNNJrvY8CihlWmWxARERHViiMsREREproA/eMH/j/CwoCFiIjIVAxY1GDAYhCjcmueWmrdW8vt65mzovU+IqXKIn3wVLm0p3Zr9tYy/e7zW+TmJSj9CBX5eowq55W71oqlsyLzX8xYxl+Ep5btB6zxvSLPYsBCRERkKo6wqMGAhYiIyFQO6A849FYZWR8DFo2sUF5l5K6/WtvVsyKtp8qEjSpV9tS53loVV4lRK926p4jkfuwqpWfk2pH7Psqtiutv5EqV3Ymk0eToSc95S+Ds7By4rPB7V5VZs2aha9euiIiIQExMDAYOHIjdu3eb3S0iIiKdLhj08G8+E7CsW7cOGRkZ2LRpE7777jtUVFTgxhtvRGlpqdldIyIi0oEBixo+kxL65ptvXJ4vWrQIMTExyM3NRa9evUzqFREREXmDzwQs7oqKigAAUVFRtZ5TVlaGsrIy5/Pi4mKP90sLTy2/b9Q99fTPU+XHnipVttrcGHdGLduvRG5pfncic1bkSqKVltCXm6Mgsoy/nnPlSqDNmOdh5LL4Ri2hL/K1eqp82vdcAGDT2Yb/T7r1mZRQVZWVlZgwYQJ69uyJ9u3b13rerFmzYLfbnY+EhAQv9pKIiEgFqRKQHDof/j/V2CcDloyMDOzcuRPLly+XPW/q1KkoKipyPgoLC73UQyIiIpUqDXr4OZ9LCY0bNw5ffPEF1q9fjyZNmsieGxoaitDQUEPua2RkZ8ZqtnrKj+Xa8rV0jHtKwtdSTe7MWPlWadi+6s9NpVVxrZ668XVyq9e689TOziKMShFZpdSajOUzAYskSRg/fjxWrlyJnJwcNGvWzOwuERER6eeA/sgvACYA+UzAkpGRgezsbKxatQoRERE4cuQIAMBut6Nu3bom946IiEgjBiyq+EzAsmDBAgBAamqqy+tZWVlIT0/3foe8RM+Qv1EVJXrSMWrbcT+uZ+XYEJlr3duVSxEppRLqyBwzKoXlTs/3VE+KqOrPQj0r2+qpEqqUOeb+vKLKv5XSA1r/L5QLXKeHyOrAIu2489RGiVyBloziMwGLJPl/yRYREQUgIybNBkA06DMBCxERkV9iSkgVf5sUT0RERH6IIywyzFhV1lMRpJ4dgj21I7CekmK5+SNyc1rMatdTJdC1XWc0uZVvReaw6ClrFilVljsm8oeo+7VV5624z5Uy6g9ckfkjSkQ+E95YmVe0XTNW3zUFU0KqMGAhIiIyUyX0R7wBELAwJURERESWxxEWH6NnNVut58pd661NCkXKj+XKmpVWupVLCRnVByNLoOXa8Ra5PwyNLFWueq57SbFcqXKFzDF37sfcr636ffVUWbORcye1pr/0bJTIDQ014KRbVRiwEBERmYlzWFRhwEJERGQmjrCowjksREREZHkcYanCjDJmI++rp10zdinWs6ty1Wvd54u4Xyt3rkipslyfRHaBluuf+7lG7rLtKXJzTZTOlVua333+iFzZrcg8FT3zwOS+NqPmtFjl+1iVFcqcjZwbY7ntAjjCogoDFiIiIjNxDosqTAkRERGR5XGExeI8VcasZzVbrbsqG5k+qpq6UUqxyKV55NJJIucqlUB7aqVbq6eElFav1brSrXsKyP1rdz9eWzvu3NM67t/zqsflVv+tqa2qRErB9ZBrS+squO6UUjVGrVbr15gSUoUBCxERkZkk6I9UJSM6Ym1MCREREZHlcYTFIL6wwaFaRqWL3J+7tyOXHhBZOdbI1E0dmWNy1+pZQdeoyiojq9NE/tgTqfzRs9Jt1TSPUpVQVSLnupMbZXdP+ch9Dt3PNWoTS6Xvk1xbVqyyMatqyHRMCanCgIWIiMhMDFhUYUqIiIiILI8BCxERkZkqDXoImDVrFrp27YqIiAjExMRg4MCB2L17t8s558+fR0ZGBho1aoT69etj0KBBOHr0qPavU6eATglZMVpTmoegtZRZZC6Ep3Zg1jPPQ27VWaWVbuVWmZV7rmcFXZE+iMxL8bc5LCIr3QbLHHMncq6nVL2vnpJzuf6blQXQWuZsxXknnlrFV4gJKaF169YhIyMDXbt2xYULF/Dkk0/ixhtvxO+//4569eoBAB599FF8+eWX+Oijj2C32zFu3Djccccd2LBhg87OahPQAQsREZHpTAhYvvnmG5fnixYtQkxMDHJzc9GrVy8UFRXhnXfeQXZ2Nq677joAQFZWFtq0aYNNmzbhmmuu0dlhcVYcZCAiIiINiouLXR5lZWWqrisqKgIAREVFAQByc3NRUVGBvn37Os9p3bo1EhMTsXHjRuM7rgJHWHyYWdGmyOqqIivdat1MUCktJVd+7P5cbgVdkfSRXApLqbTaqFSeOz1pCZGVWbWmhJQ2MJRLsegpXdZKbkVXQCy1IHeu+7Gqz5W+p95IuVgipeLrDNxLKCEhweXlzMxMTJs2Tf7SykpMmDABPXv2RPv27QEAR44cQUhICBo0aOBybmxsLI4cOaKzs9owYCEiIjJTJfRHl/8LWAoLCxEZGel8OTQ0VPHSjIwM7Ny5Ez/99JPOTngWAxYiIiI/ERkZ6RKwKBk3bhy++OILrF+/Hk2aNHG+HhcXh/Lycpw+fdpllOXo0aOIi4szssuqcQ4LERGRmUwoa5YkCePGjcPKlSvxww8/oFmzZi7Hr776atSpUwdr1qxxvrZ7924UFBQgJSVFwxepH0dYNDJyKX5v7MgsUn6sNNdEbTtK7YqU6OopP5abwyJ3rZHzXURKq40qMXdnxhwWuaX43Y8r7bhshVJloyjN7ZE7JrLcvjd28FbKZMjt1qxU5iyyBYBP7wptQpVQRkYGsrOzsWrVKkRERDjnpdjtdtStWxd2ux2jRo3CxIkTERUVhcjISIwfPx4pKSmmVAgBDFiIiIgCzoIFCwAAqampLq9nZWUhPT0dAPDaa68hKCgIgwYNQllZGfr164c333zTyz39/xiwEBERmcmEERZJkhTPCQsLw/z58zF//nyNnTJWQAYsQQBsZndCIzMmHZmxKq6edvWsimtG+khul19/TwlV3cVYKRXpvuOxGap+PUrfG7mdqJWuVduu0rlVeStN4utlzlX7r/wr3SAGljX7M066JSIiIssLyBEWIiIiyzAhJeSLGLAQERGZiQGLKqoClu3btws33LZtW1x2mbHx0Pr16zFnzhzk5ubi8OHDWLlyJQYOHGjoPXyJnjkJenb9lTsu0q7cc5GyZqW5Jkbt1uy+XqTWZfxFluZX2qJA6zYJokTKbuXmbsgtv6+0NL9I6b1RuW73/rt/JrS2I7fcvjuROUIiOyXLEfndZ8UdmH2OBP1zULw24cY8qiKKTp06wWazqZpVDABBQUH497//jebNm+vqnLvS0lJ07NgRI0eOxB133GFo20RERGRdqodANm/ejOjoaMXzJElybp5ktAEDBmDAgAEeaZuIiMgUTAmpoipg6d27N1q2bFlt18ba9OrVC3Xr1tXTL8ux4sq2SteKpAtqu060XZGhebnyY5HdmkXSR3L3BOTTPGasiitX8lzT8draET3u/rOvjspjgOvItnspskjKwqjVbEVG2pW+Nrlz5dI8cu24tyVSAi2y+qvcPUWuE2lHqV2RlJZIubTPpalY1qyKqoBl7dq1Qo1+9dVXmjpjtLKyMpSVlTmfFxcXm9gbIiIi0sqv12GZNWsW7Ha785GQkGB2l4iIiFw5DHr4OeEyHkmS8PHHH2Pt2rU4duwYKitdx6FWrFhhWOf0mjp1KiZOnOh8Xlxc7HNBi7ciSq1pKj0rdoqkeeQqRpTSR3KVP3rSPN5YFdfIlYRF6EmFiAzje2P1WpGf40qj6nJpHrlUjtJqtXJpHrm0ifsxkXO9lTYR2cAwYHEOiyrCAcuECROwcOFC9OnTB7GxsbDZrLvIfWhoKEJD3YtRiYiIyNcIByxLly7FihUrcNNNN3miP7JKSkqwZ88e5/N9+/YhPz8fUVFRSExM9Hp/iIiIdOOkW1WEAxa73W74+ipqbd26FX369HE+v5TuSUtLw6JFi0zpExERkS5MCakiHLBMmzYN06dPx7vvvuv10uXU1FTVi9f5K63zEvTMNZE7LnKu0q7KIuXSITLHRFaOFSmtFlkVN0ygXbn+W3GlW6W5GyIr3VYlMsdJhNLPcZGvTa682/0zUFnLv2u6VmSn8kqVx0TPNWqnZ58rKbaCSuh/ozjCUt3gwYPx/vvvIyYmBklJSahTx/W/+LZt2wzrHBERERGgIWBJS0tDbm4uhg0bZvlJt0RERJbHOSyqCAcsX375JVavXo1rr73WE/0JSFqHupVKf41anVektNqozQ/1pI/k0jwi6SO5TRTdjxtZAi1Ssq2nrNmolW5FVieV64NIibPS6HnVn91yqRrA9WuTO+Z+X6XUh0iaR66sWWTzQ3dV76u0gq4VV74NGJzDoorwMh8JCQmIjIz0RF+IiIiIaiQcsLzyyiuYPHky9u/f74HuEBERBZhKgx5+TjglNGzYMJw9exYtWrRAeHh4tUm3J0+eNKxzREREfs9PU0I//vgjFi5ciL179+Ljjz/GFVdcgaVLl6JZs2aappUIByxz584Vvkkg0LNrrhn0lDVr3a3ZU8v4i8zz0FNSLDIvRaQEWq7UWml3ZvfjcueKfA5F5m64qzoXRelcrX8UipQqKx0TKWuW+yzJnev+dbqXd8stoS+yW7Pc1yayU7JVfveJvC8BMMDgUz755BMMHz4cQ4cORV5ennMj4qKiIrzwwguaNknWVCVEREREBvHDEZaZM2firbfewn333Yfly5c7X+/ZsydmzpypqU3hgKWgoED2OJfIJyIiEuCHZc27d+9Gr169qr1ut9tx+vRpTW0KByxJSUmya684HBYL83QwI5Xjqd2Z9XwtRr0PImXYRu5SLHeuXIpI5FylVJNICbTWFJZICbEoubblfk7qSd3I3cf9fZErR1YqwxY5V2T3Y607Jbsfk1sdWIlc+kjtdaLXyjErjcPyae+Li4vDnj17kJSU5PL6Tz/9pHl7H+GAJS8vz+V5RUUF8vLy8Oqrr+L555/X1AkiIqKA5YdL848ePRqPPPII3n33XdhsNhw6dAgbN27EpEmT8Mwzz2hqUzhg6dixY7XXunTpgvj4eMyZMwd33HGHpo4QEREFJD9MCU2ZMgWVlZW4/vrrcfbsWfTq1QuhoaGYNGkSxo8fr6lN4YClNq1atcKWLVuMao6IiCgw+OGkW5vNhqeeegqPP/449uzZg5KSErRt2xb169fX3KZwwFJcXOzyXJIkHD58GNOmTcOVV16puSNUM0/NO9BzH63zR5TuKbLcvlHnys1n0HOuXKmy0numdWdnd0rviwiR+Rha76lUtio310SkDFvkXE997uQ+A3Ilz4D8btgic09EzhVZxl/uPhb7nUpeEBISgrZt2xrSlnDA0qBBg2qTbiVJQkJCgkvpEhEREanghyMsffr0kS3Q+eGHH4TbFA5Y1q5d6/I8KCgI0dHRaNmyJS67zLAMExERUWDwwzksnTp1cnleUVGB/Px87Ny5U/N6bsIRRu/evTXdiIyhZ3feqozanVnkPnp2D9aTahLZMVpkp2SRc0VWutW6u7Qnd2uWu4+3fk7KlTUbtSKtyArLSqkbkXMrZI4Z9YezUlpHbmdnd57avZn8x2uvvVbj69OmTUNJSYmmNlX9bvrss89QUaF+NYCvvvoK586d09QhIiKigOIw6OEDhg0bhnfffVfTtaoClttvv11oZbohQ4bg8OHDmjpEREQUUAIoYNm4cSPCwsI0XasqJSRJEtLT0xEaGqqq0fPnz2vqDFmTXKpBTyWKN1JAgHyFjsjXJpeO8dQqviKpJpFNK5XIpX2MTFmIVLxorfYSaVfP50Mu7SNyrtJYttz7ILcZoo/8PiM/4b4m26WK4q1bt3p24TjRCTJDhw5FZGSkpg4REREFFAn6J4NJRnTEOHa73eV5UFAQWrVqhRkzZuDGG2/U1KaqgCUrK0tT40RERKTAD8uaPRE3eGqvPSIiIiLDcOEUE5ixC7SeElejKEXHWudY6Jl3IFIC7c5T813k5igYWdYswqjVSuVKaZXmY9SROSZSJmxU2bvS506Ot5YVkCOyY7S3/ngP2F2V/WQdloYNG8ouFlfVyZMnhdtnwEJERGQmP0kJzZ0716PtM2AhIiIyk58ELFpXsFWLAQt5lNaN8fQMt3uKXJ9E0l0iKQo97Zr1nlX9uamUpqqs5d/u7bhT+nxY7fOiJx2qVBJNZHXnz59HeXm5y2taKok1BSxr1qzBmjVrcOzYMVRWuv6Y0bqCHRERUUDykzksVZWWluKJJ57Ahx9+iL/++qvacYdDfEhI+A+R6dOn48Ybb8SaNWtw4sQJnDp1yuVBREREAvxwpdvJkyfjhx9+wIIFCxAaGop//etfmD59OuLj47FkyRJNbQqPsLz11ltYtGgRhg8frumGRERE5N8+//xzLFmyBKmpqRgxYgT+/ve/o2XLlmjatCmWLVuGoUOHCrcpHLCUl5ejR48ewjci36GnHNZbJdtGlSqLzEvRs12A2nu6XytyTyV6rhX5403uPnLzVJSGe7XulCwy38XIEmhPzTURWca/tusAy2UQAlsl9I+QWOwbevLkSTRv3hzAxfkql8qYr732WowdO1ZTm8Ipofvvvx/Z2dmabkZERERuKg16WEjz5s2xb98+AEDr1q3x4YcfArg48tKgQQNNbQqPsJw/fx5vv/02vv/+eyQnJ6NOHdelrF599VVNHSEiIiL/MGLECPz666/o3bs3pkyZgltuuQVvvPEGKioqNMcJwgHL9u3b0alTJwDAzp07XY6pXeHOH1ihbNLfmLECsFG8tZKwnl2g9dDalp5RbpHVa32t1NfX+29FVT//FhtsUOYn67BU9eijjzr/3bdvX+zatQu5ublo2bIlkpOTNbUpHLCsXbtW042MMn/+fMyZMwdHjhxBx44dMW/ePHTr1s3UPhEREWnmh2XNhYWFSEhIcD5v2rQpmjZtqqtNXQMFBw4cwIEDB3R1QMQHH3yAiRMnIjMzE9u2bUPHjh3Rr18/HDt2zGt9ICIiInlJSUno3bs3/vnPfxq25IlwwFJZWYkZM2bAbrc7I6YGDRrgueeeq7aInNFeffVVjB49GiNGjEDbtm3x1ltvITw8nIvVmSjY7UG+w/17x++j7+H3zU+YsA7L+vXrccsttyA+Ph42mw2ffvqpy/H09HTYbDaXR//+/VW3v3XrVnTr1g0zZsxA48aNMXDgQHz88ccoKysT62gVwgHLU089hTfeeAOzZ89GXl4e8vLy8MILL2DevHl45plnNHdESXl5OXJzc9G3b1/na0FBQejbty82btxY4zVlZWUoLi52eRAREVmKCQFLaWkpOnbsiPnz59d6Tv/+/XH48GHn4/3331fdfufOnTFnzhwUFBTg66+/RnR0NB544AHExsZi5MiRYp39H+E5LIsXL8a//vUv3Hrrrc7XkpOTccUVV+Chhx7C888/r6kjSk6cOAGHw4HY2FiX12NjY7Fr164ar5k1axamT5/ukf4QEREZwoQ5LAMGDMCAAQNkzwkNDUVcXJyOTl0sxunTpw/69OmDsWPHYtSoUVi8eLGmzIjwCMvJkyfRunXraq+3bt3auTCMVUydOhVFRUXOR2FhodldIiIi8hj3rIKeFExOTg5iYmLQqlUrjB07tsY9gZQcOHAAL730Ejp16oRu3bqhfv36sqM6coQDlo4dO+KNN96o9vobb7yBjh07auqEGpdffjmCg4Nx9OhRl9ePHj1aawQYGhqKyMhIlwcZy8JbWZACH9mShGTw++YnLq10q+fxvxGWhIQE2O1252PWrFmautS/f38sWbIEa9aswYsvvoh169ZhwIABqjctXLhwIXr37o2kpCQsWbIEd999N/bu3Ysff/wRY8aM0dQn4ZTQSy+9hJtvvhnff/89UlJSAAAbN25EYWEhvvrqK02dUCMkJARXX3011qxZg4EDBwK4OAF4zZo1GDdunMfuS0RE5FEO6F/c639xRGFhocsf56GhoZqaGzJkiPPfHTp0QHJyMlq0aIGcnBxcf/31itfPnDkT99xzD/7xj38YNpghHLD07t0b//73vzF//nzn3JE77rgDDz30EOLj4w3pVG0mTpyItLQ0dOnSBd26dcPcuXNRWlqKESNGePS+REREvsBT2YTmzZvj8ssvx549e1QFLAUFBYYvJiscsABAfHy8xybXyrn77rtx/PhxPPvsszhy5Ag6deqEb775ptpEXG9wn9/ElW/1qzrQWKfWs6zJfZDUvf9GfW165uUZtfmh3AaGNR034p4ix3yBr/ffiiy2bpoYH1g47sCBA/jrr7/QuHFjVed7YuV7VQHL9u3b0b59ewQFBWH79u2y52pdcletcePGMQVERET+w8CUkFolJSXYs2eP8/m+ffuQn5+PqKgoREVFYfr06Rg0aBDi4uKwd+9eTJ48GS1btkS/fv10dlQ7VQFLp06dcOTIEcTExKBTp06w2WyQJKnaeTabTfWEHCIiIjLH1q1b0adPH+fziRMnAgDS0tKwYMECbN++HYsXL8bp06cRHx+PG2+8Ec8995zmOTFGUBWw7Nu3D9HR0c5/ExERkUFMSAmlpqbWOPBwyerVq3V2yHiqApaqGxb997//RY8ePXDZZa6XXrhwAT///LPuzY3IfO5jZCIjlUpzOYziqOXfSs+V5ltUyhyTa1duzor7cbl7ul+r9N7r+d54isj3Ru79lmtX6ZjcnBu553o+S2a8v964jrzAhJSQLxKedNunTx8cPnwYMTExLq8XFRWhT58+TAkREREFoM6dO6uebLtt2zbh9oUDFkmSauzQX3/9hXr16gl3gIiIKKD5yQjLpTXSAOD8+fN488030bZtW+eabZs2bcJvv/2Ghx56SFP7qgOWO+64A8DFibXp6ekuE28cDge2b9+OHj16aOoE+S+5tIlcCkBpGN8MIukjuWuVUm5Vn7uXIrs/N+N9ESljFkmr6WnX6p8Xkc+HOwv8HiJPk6D/Q1v7dBSvyczMdP77/vvvx8MPP4znnnuu2jlat8lRHbDY7XYAF0dYIiIiULduXeexkJAQXHPNNRg9erSmThAREQUsBwC9y5ZYLLL96KOPsHXr1mqvDxs2DF26dNG0+aHqgCUrKwsAkJSUhEmTJjH9Q0RERDWqW7cuNmzYgCuvvNLl9Q0bNiAsLExTm8JzWKoO+RAREZFOfjjCMmHCBIwdOxbbtm1Dt27dAACbN2/Gu+++i2eeeUZTm6oClr/97W9Ys2YNGjZsqDgLWMvM30Dj/rnSs2S61nu6z5sQKaXVSk8eX+5ckTJhPWWrcqXL7udWuD2v+j12f3/l5qXo+Rlk5PYRInMsKmSO6SkplmtXa8mz+3M9ZdhaP78ix4xkxa0PLPY713t8YGl+UVOmTEHz5s3x+uuv47333gMAtGnTBllZWRg8eLCmNlUFLLfddptzkm3VWcBERERENRk8eLDm4KQmqgKWqmkgpoSIiIgM5IcpIU8QnsNSWFgIm82GJk2aAAB++eUXZGdno23btnjggQcM7yCZT2QlVpH0llzKRWloXuRco9JH7mmeql+7UprPofKYe7siRPpQ03G5c+WOyb2H7u+ZyIq0cvcxMn1k1OfDndZzlYi8DxbLElBt/CQl1LBhQ9ULx508eVK4feGA5d5778UDDzyA4cOH48iRI+jbty/at2+PZcuW4ciRI3j22WeFO0FERES+be7cuR5tXzhg2blzp3PG74cffogOHTpgw4YN+PbbbzFmzBgGLERERCL8JCWUlpbm0faFA5aKigrnBNzvv/8et956KwCgdevWOHz4sLG9o2pEPpNyqQX30cNglcdEyQ1fy1XdKG0mqPVckSF0uUof0XPdj3uCUjpArjJMiUjlklw6xv19qPq8XOFcuVSTSFrKqCoyd3rOlTtm1Ei/kVV6Iqk8UqES+t84C6SE3O3duxdZWVnYu3cvXn/9dcTExODrr79GYmIi2rVrJ9yecLq8Xbt2eOutt/Djjz/iu+++Q//+/QEAhw4dQqNGjYQ7QERERP5l3bp16NChAzZv3owVK1agpKQEAPDrr79qLt4RDlhefPFFLFy4EKmpqbjnnnvQsWNHAMBnn33mTBURERGRSpUGPSxkypQpmDlzJr777juEhIQ4X7/uuuuwadMmTW0Kp4RSU1Nx4sQJFBcXo2HDhs7XH3jgAYSHh2vqBBERUcAyIo9msVzcjh07kJ2dXe31mJgYnDhxQlObwgELAAQHB+PChQv46aefAACtWrVCUlKSpg6QPD2r4lYNuJWukyu7FTlXrkRXaa5JsMpjgPycCpFz5eZYKM35kDtXbk6Lnpy/3B9RSv3VMxdJro/ufRKZwyI3F8KodvWcK7Iyr55ztc6N0fNZMupzZ+R9ApYfBiwNGjTA4cOH0axZM5fX8/LycMUVV2hqUzglVFpaipEjR6Jx48bo1asXevXqhfj4eIwaNQpnz57V1AkiIiLyH0OGDMETTzyBI0eOwGazobKyEhs2bMCkSZNw3333aWpTOGCZOHEi1q1bh88//xynT5/G6dOnsWrVKqxbtw6PPfaYpk4QEREFLD+cw/LCCy+gdevWSEhIQElJCdq2bYtevXqhR48eePrppzW1aZMkSRK54PLLL8fHH3+M1NRUl9fXrl2LwYMH4/jx45o64g3FxcWw2+2oD/GSd6XhdLnIT+laueNyK8m6Xyd3rvuxELfnQSqPAa6pHfdz3dM+dWSOyV3rvvm4+7VhtfzbrHPljrkfV3rPRL4X7sflzjUqJaT0c7FqebL7ue6ly3Kl4XJlzudljrkflztmlXNFyrsrZI7JXSvyvZA7BoilpUQ+O3o2ZBTZoFMtCUAJgKKiIkRGRmpspXaXficVtQQide6CW+wA7Hs811etCgoKsHPnTpSUlKBz58648sorNbclPIfl7NmziI2NrfZ6TEwMU0JERETklJiYiMTEREPaEg5YUlJSkJmZiSVLliAs7OLfkefOncP06dORkpJiSKeIiIgCRiX0r3RrgZTQxIkT8dxzz6FevXqYOHGi7LmvvvqqcPvCAcvrr7+Ofv36oUmTJs41WH799VeEhYVh9erVwh0gIiIKaEYEGxYIWPLy8lBRcTERuW3btlo3QlS7QaI74YClffv2+PPPP7Fs2TLs2rULAHDPPfdg6NChqFu3rqZO+IOqnxVPlpcaRa78WGn3YLlyTbl5E0q5brkdmOXeU7ldlEXPrXpcz9wjPd9jkflQcp87pe0BvLFbs1JJsdy8CZG5G3rO1bq7tMi5Irs169kxWs88DotVxQIQK6cn873++uvO+TM5OTmGt69pHZbw8HCMHj3a6L4QEREFHgcuzvDVwwIRXOfOnXH48GHExMSgefPm2LJli6Fb9mgKWHbv3o158+bhjz/+AAC0adMG48aNQ+vWrQ3rGBERUUDwk5RQgwYNsG/fPsTExGD//v2orDS2U8IByyeffIIhQ4agS5cuzkm2mzZtQocOHbB8+XIMGjTI0A4GApFVZmu7TonSgjtyq+KK7N4sN3zt3ge51I1SH0RWEZVL88ilSdxTFO79dT9eWztK3PvrXuYsd67ce2bkDtJaU0QiuzWLnKtUzutQeUy0D1pXuhUp/RXZUVyJ3Llad2d2v1ZPKsmKaSjSbtCgQejduzcaN24Mm82GLl26IDi45p+G//nPf4TbFw5YJk+ejKlTp2LGjBkur2dmZmLy5MkMWIiIiET4SUro7bffxh133IE9e/bg4YcfxujRoxEREWFY+8IBy+HDh2tcVnfYsGGYM2eOIZ0iIiIKGH4SsABA//79AQC5ubl45JFHDA1YhJfmT01NxY8//ljt9Z9++gl///vfDekUERFRwPDDpfmzsrIMDVYADSMst956K5544gnk5ubimmuuAXBxDstHH32E6dOn47PPPnM51yjPP/88vvzyS+Tn5yMkJASnT582rG1fonW+i9JnWWSnZLl5KXLn6pmXIjd/RGmn5CCZYyLzOoxa2l6unFvuupr6ILf9gp45K3L0lDXLLQ8vUqpsZAm03PYAIvNd5ObKGDnfRe6YnqXtRZbQV9sOkZGE9xIKClI3KGOz2eBwGPfRzczMRIMGDXDgwAG88847mgIWT+4lVJXSOySyfofImhxy1yq1G6LymPtxpf2B5PbFEdmbR+65+7497vcJlTkmt+ePyP5AIvskKX1tct8LPQGLUXwtYFHad0juXPf7lMkck7uP0tcmt++QyJ4/IuvcyH0vlIImuT8uRNZO0bM2jJ5Jw2p5bS+hhkCkzpVuiyXAfsp6ewkZSXiExegyJbWmT58OAFi0aJEp9yciIvIII5bm1zsHxgdoWoeFvMc9PBSedKSSXJpHLj2j9BeTyAq6IqkmuWF8kVSIyPvprRWK5VavdR+5kfvLUc9KvUbtmiuy66/SKITW0RiRdpVGLOT6K5Li9NSquHLnihwzksWmVpAP8+uApaysDGVl/38Qt7i42MTeEBER1cABjrCo4Kk/2FWZMmUKbDab7OPSfkVazJo1C3a73flISEgwsPdEREQGcBj08HOmjrA89thjSE9Plz2nefPmmtufOnWqyxbXxcXFmoMWkQ0MldI4cm3p2SjRqJVvRSqKlNoNruXfNd1HpEInqJZ/i7YjUjljVHSvlB6o2kf3Cblyny1fXOlWZDNBrWkepUmsVY8rfSblqoRENkpUSifJHROZ1Ky18kekXRFWn2RL1mZqwBIdHY3o6GiPtR8aGorQ0FDlE4mIiMzCSbeqCP/ReN111zkrdqo6deoUrrvuOkM6VZOCggLk5+ejoKAADocD+fn5yM/PR0lJicfuSURE5HFMCakiPMKSk5ODHTt2IC8vD8uWLUO9evUAAOXl5Vi3bp3hHbzk2WefxeLFi53PO3fuDABYu3YtUlNTPXZfIiIiMp+mhePy8vLw4IMPorS0FJ9//jmSkpJw9OhRxMfHG7pYnNH0LBznztcWklMqE5abC+E+j0JujoXctXrO1bMQW9UF35QWr/PGYnDux0QW8RP5HrszaqVed0YtHKc0f8SMVXHlFofzVB+U5v2InCsyR0hkJ2qRMmyRnZ2tNofFawvH2QxaOE7y74XjNM0jbNy4MdatW4cOHTqga9euyMnJMbhbREREAUKC/n2EOIelOpvtYhgYGhqK7OxsPPLII+jfvz/efPNNwztHRETk7ziFRR3hOSzuGaSnn34abdq0QVpammGd8rRLE7JNXYRGI7lVUL1xT3dKaQa5VJNcWyIr6Oopl/YWuWFxudJlf08JiZT+emNVXJG9eZQ+o3IlxSLlxyLtKr3f3uDrK9tW7X8ADFr4FOGAZd++fdVKkQcNGoTWrVtj69athnWMiIgoEBgxQsIRlho0bdq0xtfbtWuHdu3a6e4QERFRILk0DUVvG/7OF7MiREREFGD8evNDT/LUUv3u7Yjcx1tDgnI7MLvTWtLo65G03DwVkaX5lcrarT6HRWQ+hsjS/HLl0e7nmjXfRWQZf5GSYq3/p/Qs46/Uf7V9EDlWUz+03sfqmBJShwELERGRiZgSUsfX/5AlIiIiQevXr8ctt9yC+Ph42Gw2fPrppy7HJUnCs88+i8aNG6Nu3bro27cv/vzzT3M6+z8cYfFhSqkmb923KrmUllL/RPovV9bsraFRuSF0uVJl92NGpYREUz56duyuSk/Zrdy5ImXN7umZqm2J7NYsUlptZLpLLnWjdadsbwmEv+w9zYyUUGlpKTp27IiRI0fijjvuqHb8pZdewj/+8Q8sXrwYzZo1wzPPPIN+/frh999/R1hYWA0teh4DFiIiIhNVQn/AIho4DhgwAAMGDKjxmCRJmDt3Lp5++mncdtttAIAlS5YgNjYWn376KYYMGaKzt9owJURERERO+/btw5EjR9C3b1/na3a7Hd27d8fGjRtN6xdHWIiIiExk5KTb4uJil9dDQ0MRGhoq1NaRI0cAALGxsS6vx8bGOo+ZIaADFrPmgMhRKmOWK4FWassb5O6pZ4l896/VjOX2lZbUV3uu0vdYbn6Ov81hkSvRlStrNnJHY7k5LHLXiizjr2dXZTOW8TerjNkMVpiDY+QcloSEBJfXMzMzMW3aNJ2tW0NAByxERERmMzJgKSwsRGRkpPN10dEVAIiLiwMAHD16FI0bN3a+fvToUXTq1ElPN3WxwqACERERGSAyMtLloSVgadasGeLi4rBmzRrna8XFxdi8eTNSUlKM7K4QjrAYRCRV46lUlFHtKkX6Rq22K1Ie7T78HiLTjvu5VekZ2g6p8aya+yBXuiy34zIgnxISOddb9KQWtJ6rJ3UjVz6tdG65zDGRc+W+NiNXmRVZFVeEp9IogbKyrTszFo4rKSnBnj17nM/37duH/Px8REVFITExERMmTMDMmTNx5ZVXOsua4+PjMXDgQJ091Y4BCxERkYnMWIdl69at6NOnj/P5xIkTAQBpaWlYtGgRJk+ejNLSUjzwwAM4ffo0rr32WnzzzTemrcECADZJkiTT7u5lxcXFsNvtCAdgq+G4USMdRk5+lGtL6T5a/1JXuk8dmWMik0LdRyGqXus+muHebtXjcu24nyt3zL0tkXNFvjaOsOg/14ojLHIL1CmNAop8bSITaeUmH7vT+r1w52t7B8ndUwJwFkBRUZHLvBCjXPqdtB1AhM62zgBIhuf6agUcYbE4uYoST22MqBS4GfWDQu4+SveQS/u4BwtVz3UPOuTaEXkfRFavFTlX6Zei1QMWpXO1rnRrZNWNUYGF3LkiGw8aGeTJEemDHJENGKlm3EtIHQYsREREJjJjpVtfxCohIiIisjyOsBAREZnIjEm3vogBSxWeKgsWKXM2cshLpF0zPuxGzbmQm4cCeG5Ss9xcAve5MnLzA/SsdCvXjrfIfXaMXF216rlKk2NFdkoWWRXXU30war6LnlVx5fhbGbPV0iecw6IOU0JERERkeRxhISIiMhFTQuowYPExcium6ilzFkknGPUfw1P/weRWxVUqcZU7Jpf2cR+qlEsvGrkOS23XeZPWMmb3a/Wcq2eVWbmUkLfa9dSGhiL8eYNDq2PAog4DFiIiIhNxDos6nMNCRERElscRFiIiIhMxJaQOAxYZRpUbi8wXMWsnZyOX7q+tXaU5N1oplRRXnXegZ66OSAm03PutNO+galvuc270zGHRU/YsUrqs9jr340aWQGudPyJSfixS1qxnB2Y9/0+0LuNvhTJmwDv7BVmBBP19DIRNAZkSIiIiIsvjCAsREZGJmBJShwGLxcmlFpRSFnLpGJHUk57/CHL99RT3oXqRVIhcGlBuWN/IUmW5c+V2a3andK1WSt9HkRSRUWXNnlo5Vi5F5KlVfEXeX5GvTYnW1J6ezwNdxIBFHZ9ICe3fvx+jRo1Cs2bNULduXbRo0QKZmZkoL1dalJ2IiIj8gU+MsOzatQuVlZVYuHAhWrZsiZ07d2L06NEoLS3Fyy+/bHb3iIiINOM6LOr4RMDSv39/9O/f3/m8efPm2L17NxYsWOC1gMXI6h09q8xqbVfpnnIfdk9V91iBSJrHqMofb1UJGZUCUuKtKiEz0jFmbFLoqQ0NldpV246a41oFSlWQO6aE1PGJgKUmRUVFiIqKkj2nrKwMZWVlzufFxcWe7hYRERF5gE/MYXG3Z88ezJs3Dw8++KDsebNmzYLdbnc+EhISvNRDIiIidRwGPfydqQHLlClTYLPZZB+7du1yuebgwYPo378/7rrrLowePVq2/alTp6KoqMj5KCws9OSXQ0REJKzSoIe/MzUl9NhjjyE9PV32nObNmzv/fejQIfTp0wc9evTA22+/rdh+aGgoQkND9XbT4+TmTbgzY/VdPSv1aiWSx7fCXBOlOU4iZavBtfwbECtrViLyPRehZ/dmuXY8Nd/FCqXKWvugROT7aMb8kUAYFVCjEvrfCwYsHhYdHY3o6GhV5x48eBB9+vTB1VdfjaysLAQF+WQ2i4iIiDTwiUm3Bw8eRGpqKpo2bYqXX34Zx48fdx6Li4szsWdERET6sKxZHZ8IWL777jvs2bMHe/bsQZMmTVyOSZI5Wz55apNCI/sgkmrS2q47kXJpXyc35C/3Pih9Vqqeq2dlWyXeWPlW6fuvNSWkp0TXCqXK7kT6UNs9lO6j5/+iGRslirJKP7RgWbM6PpFXSU9PhyRJNT6IiIjI//nECAsREZG/4giLOgxYiIiITMQ5LOowYDGIGeXGRrartUxYpETXCv+hlOYHaC2B1lOG7U7ufZL7bIks46+HUTsAK7VlRpmwt7YSEGlX7lw9OyXr2YFZKyPbtcLPE/IuBixEREQmYkpIHQYsREREJmLAog4DFovTs8qsXPpAJL0hUqJr1H8aI8ujtabrRFavVXofRFJjImXjcpTKlj210q1IO2asiit3H0+VSytdqzUt5c5bOzBzNVsyAwMWIiIiE0nQPycnEBb5YMBCRERkIqaE1GHAQkREZCKWNavDgMUDrLBsPyA2d0Ou7FbPLsUi7RpFT2m4UTtny83BESkFd2dk6bJRS/O7M2qHYK1zQJTO1ToXRu+1Ws/11NYHnpqz4ilW6AOZiwELERGRiZgSUocBCxERkYkYsKjDgMULjEwReWoH5truUdN9jFoV11spIjki6SM9K91WJbJbs9K1Vv8hZeRuzWqvE21X62q7Rp6r9pgn21V7DyVczZY8hQELERGRiTjpVh0GLERERCZiSkgdBiw+TE81jBVXxdXarggjU2Pe+NqMTAHpqSgy6oeht9I8Wtv1hRSWUe2K3MeoexDpwYCFiIjIRJXQH/gxJUREREQexTks6pi1phkRERGRahxhMYGnVsI1ak6Lt1bFDSRGzXeRI7Iyr5H0DGXrWcVVbTsiZcJmlRR762vVek899xERqD8jOOlWHQYsREREJmJKSB0GLERERCbiCIs6DFgsQCQdI8Jqq+K6s2IJtKdW8a3tHmruU9s9ldq1AqNSHaLnak3dGNlfT5Uqaz2XKSDydQxYiIiITMQRFnUYsBAREZmIc1jUYVkzERFRgJk2bRpsNpvLo3Xr1mZ3SxZHWCzG6iXPgL45LWrP9dRfC0Yt8a/EW++Z2us8yVNlze6Mml9iRrm0nvvoOddqy+0HwiiAFmatdNuuXTt8//33zueXXWbtkMDavSMiIvJzZs1hueyyyxAXF6fzzt7DlBAREZGfKC4udnmUlZXVeu6ff/6J+Ph4NG/eHEOHDkVBQYEXeyqOIywWZ/UUkciquO68VQLta7SWufvC1+2t0lqrlQ176p4iffDkfeUwDaTMyEm3CQkJLq9nZmZi2rRp1c7v3r07Fi1ahFatWuHw4cOYPn06/v73v2Pnzp2IiIjQ2RvPYMBCRERkIiNTQoWFhYiMjHS+HhoaWuP5AwYMcP47OTkZ3bt3R9OmTfHhhx9i1KhROnvjGQxYiIiI/ERkZKRLwKJWgwYNcNVVV2HPnj0e6JUxOIeFiIjIRJUGPfQoKSnB3r170bhxY50teY7PjLDceuutyM/Px7Fjx9CwYUP07dsXL774IuLj483umldZfRl/d1YogZZbQt+d1p2SPUXPXCMrMPI99LUyYSv0wah7iuCcFXFmVAlNmjQJt9xyC5o2bYpDhw4hMzMTwcHBuOeee3T2xHN8ZoSlT58++PDDD7F792588skn2Lt3L+68806zu0VERKSLw6CHiAMHDuCee+5Bq1atMHjwYDRq1AibNm1CdHS0EV+SR9gkSZLM7oQWn332GQYOHIiysjLUqVNH1TXFxcWw2+0IB2DzbPe8wlPRppF/xYv0UeS+Iuf6Wh+MuqcVcITF3D4YdU8R/jTCIgE4C6CoqEjTvBAll34nPQig5qmx6pUBWAjP9dUKfCYlVNXJkyexbNky9OjRQ3Ww4o+sWPLszmol0O78rSTaaoz85eWN0mArBCTuGKD4Pwn630efHHkQ5DMpIQB44oknUK9ePTRq1AgFBQVYtWqV7PllZWXVFtEhIiKyEjNSQr7I1IBlypQp1TZfcn/s2rXLef7jjz+OvLw8fPvttwgODsZ9990HuYzWrFmzYLfbnQ/3BXWIiIjIN5g6h+X48eP466+/ZM9p3rw5QkJCqr1+4MABJCQk4Oeff0ZKSkqN15aVlbksS1xcXIyEhAS/mcOixBvRqJ50kZ7+ab2vr/XXU+14i5F/9XkjzWPUPfVca8XVat0FShrIW3NY0gFU/y0nphzAInAOi8dER0drnpFcWXnxv4zcPgmhoaG1rvJHRERkBUYuze/PfGLS7ebNm7FlyxZce+21aNiwIfbu3YtnnnkGLVq0qHV0hYiIiPyHT0y6DQ8Px4oVK3D99dejVatWGDVqFJKTk7Fu3TqOoBARkU/jpFt1fGKEpUOHDvjhhx/M7obP8dSquFUZteuzOyNLoNVep3StyJAry6Uv8oVSWq199OdSZXeBkG4wE1NC6vjECAsREREFNp8YYSEiIvJXZuwl5IsYsAQIT62K686oVXKN3FRRjsgKukrXVqVneNaor80XeGoY24w0jzurfW0iAiG9YCWV0P99DYTvGQMWIiIiE3EOizqcw0JERESWxxEWIiIiEzmgf/TA39LFNWHAEqDMmtNSlVG7QLsT+Vr09E/rDwildgNhaFcNT/0ANqpdX56jUhN+7szDgEUdpoSIiIjI8jjCQkREZCJOulWHAQsBMC7FIsKX00XuRPrrraFbT+3sbMWhZ19YUbcqM97DQPiF5quYElKHKSEiIiKyPI6wEBERmYgpIXUYsJAib1UUVaVnk0I5ejYwlGPkcKxRqRxfGCL259SIFd7/QPgl5g+40q06TAkRERGR5XGEhYiIyEQOADYD2vB3DFiIiIhMxDks6jBgIWFV/2OYlVP0VEl0VZ6a76IkEP5SMpoZP6yt+H0KhF9a/ogjLOpwDgsRERFZHkdYiIiITMQRFnUYsJAuSkPQZgzheSNd5E7PUDyHOS+yYjrDir8ErPg+kT6cw6IOf1YSERGR5XGEhYiIyERMCanDgIWIiMhEEvSndCQjOmJxDFjIo8zYBVqOp3Zg1iMQcs9WYvW/RPl5IKoZAxYiIiITGRFEWz0QNwIDFiIiIhMxYFGHAQuZxmrpIndWTB9RzXzthzXTPkTiGLAQERGZqBL6q4QCIQhmwEJERGQipoTUYcBCRERkIgYs6jBgIUuy4pL/coz8YRFI82H8+YdsIAzRE3kTAxYiIiITcQ6LOgxYiIiITGREsMGAhciirF4SrYc/p0n8SSD8giCyEp/72V5WVoZOnTrBZrMhPz/f7O4QERHpUmnQw9/5XMAyefJkxMfHm90NIiIiQzgMevg7nwpYvv76a3z77bd4+eWXze4KWRj/IiGt+Nkhsi6fmcNy9OhRjB49Gp9++inCw8NVXVNWVoaysjLn8+LiYk91j4iISBMHAElnG4EQRPvECIskSUhPT8eYMWPQpUsX1dfNmjULdrvd+UhISPBgL4mIiMRxDos6pgYsU6ZMgc1mk33s2rUL8+bNw5kzZzB16lSh9qdOnYqioiLno7Cw0ENfCREREXmSTZIkvSNRmh0/fhx//fWX7DnNmzfH4MGD8fnnn8Nm+/9L6zgcDgQHB2Po0KFYvHixqvsVFxfDbrcjHPoX6aHA4xPDkVRNIPzlSZ4hATgLoKioCJGRkYa3f+l3UiPo//lSCeAveK6vVmBqwKJWQUGBy/yTQ4cOoV+/fvj444/RvXt3NGnSRFU7DFhIDwYsvokBC2nlrYClIfT/TpIAnIJ/Byw+8TM4MTER7du3dz6uuuoqAECLFi1UBytERERWZNYclvnz5yMpKQlhYWHo3r07fvnlF71fikf5RMBCZAWcGOddfL+JPOeDDz7AxIkTkZmZiW3btqFjx47o168fjh07ZnbXauUTKSGjMCVEVsC/EtRhsEFm81ZKqD6MSQmVQH1fu3fvjq5du+KNN94AAFRWViIhIQHjx4/HlClTdPbGM/izk4iIyETeHk0sLy9Hbm4u+vbt63wtKCgIffv2xcaNG3V/PZ7iMwvHGeHSYFLADCmRJfHzpw7fJzLbpc+gpxMRRrR+qQ33BVJDQ0MRGhrq8tqJEyfgcDgQGxvr8npsbCx27dplQG88I6ACljNnzgAAzpncDyIi8h1nzpyB3W43vN2QkBDExcXhyJEjhrRXv379agukZmZmYtq0aYa0b7aAClji4+NRWFiIiIgIlzVdgItRaUJCAgoLC32yJIz9N48v9x1g/83my/335b4Dyv2XJAlnzpzx2Ia7YWFh2LdvH8rLyw1pT5Kkar/b3EdXAODyyy9HcHAwjh496vL60aNHERcXZ0hfPCGgApagoCDFMujIyEif/I93CftvHl/uO8D+m82X++/LfQfk+++JkZWqwsLCEBYW5tF7uAsJCcHVV1+NNWvWYODAgQAuTrpds2YNxo0b59W+iAiogIWIiIiAiRMnIi0tDV26dEG3bt0wd+5clJaWYsSIEWZ3rVYMWIiIiALM3XffjePHj+PZZ5/FkSNH0KlTJ3zzzTfVJuJaCQOW/wkNDUVmZmaN+T5fwP6bx5f7DrD/ZvPl/vty3wHf779e48aNs3QKyF1ALRxHREREvokLxxEREZHlMWAhIiIiy2PAQkRERJbHgIWIiIgsjwGLjLKyMnTq1Ak2mw35+flmd0e1W2+9FYmJiQgLC0Pjxo0xfPhwHDp0yOxuqbJ//36MGjUKzZo1Q926ddGiRQtkZmYathKkNzz//PPo0aMHwsPD0aBBA7O7o2j+/PlISkpCWFgYunfvjl9++cXsLqmyfv163HLLLYiPj4fNZsOnn35qdpdUmzVrFrp27YqIiAjExMRg4MCB2L17t9ndUm3BggVITk52LriWkpKCr7/+2uxuaTZ79mzYbDZMmDDB7K6QDAYsMiZPnuyxJZk9qU+fPvjwww+xe/dufPLJJ9i7dy/uvPNOs7ulyq5du1BZWYmFCxfit99+w2uvvYa33noLTz75pNldU628vBx33XUXxo4da3ZXFH3wwQeYOHEiMjMzsW3bNnTs2BH9+vXDsWPHzO6aotLSUnTs2BHz5883uyvC1q1bh4yMDGzatAnfffcdKioqcOONN6K0tNTsrqnSpEkTzJ49G7m5udi6dSuuu+463Hbbbfjtt9/M7pqwLVu2YOHChUhOTja7K6REohp99dVXUuvWraXffvtNAiDl5eWZ3SXNVq1aJdlsNqm8vNzsrmjy0ksvSc2aNTO7G8KysrIku91udjdkdevWTcrIyHA+dzgcUnx8vDRr1iwTeyUOgLRy5Uqzu6HZsWPHJADSunXrzO6KZg0bNpT+9a9/md0NIWfOnJGuvPJK6bvvvpN69+4tPfLII2Z3iWRwhKUGR48exejRo7F06VKEh4eb3R1dTp48iWXLlqFHjx6oU6eO2d3RpKioCFFRUWZ3w++Ul5cjNzcXffv2db4WFBSEvn37YuPGjSb2LPAUFRUBgE9+zh0OB5YvX47S0lKkpKSY3R0hGRkZuPnmm13+D5B1MWBxI0kS0tPTMWbMGHTp0sXs7mj2xBNPoF69emjUqBEKCgqwatUqs7ukyZ49ezBv3jw8+OCDZnfF75w4cQIOh6PaUtyxsbGGbXdPyiorKzFhwgT07NkT7du3N7s7qu3YsQP169dHaGgoxowZg5UrV6Jt27Zmd0u15cuXY9u2bZg1a5bZXSGVAiZgmTJlCmw2m+xj165dmDdvHs6cOYOpU6ea3WUXavt/yeOPP468vDx8++23CA4Oxn333QfJxEWNRfsPAAcPHkT//v1x1113YfTo0Sb1/CIt/SdSIyMjAzt37sTy5cvN7oqQVq1aIT8/H5s3b8bYsWORlpaG33//3exuqVJYWIhHHnkEy5Yt8/pOyaRdwCzNf/z4cfz111+y5zRv3hyDBw/G559/DpvN5nzd4XAgODgYQ4cOxeLFiz3d1Rqp7X9ISEi11w8cOICEhAT8/PPPpg3Zivb/0KFDSE1NxTXXXINFixYhKMjc2FrL+79o0SJMmDABp0+f9nDvtCkvL0d4eDg+/vhj5xbzAJCWlobTp0/71KiczWbDypUrXb4OXzBu3DisWrUK69evR7Nmzczuji59+/ZFixYtsHDhQrO7oujTTz/F7bffjuDgYOdrDocDNpsNQUFBKCsrczlG1hAwmx9GR0cjOjpa8bx//OMfmDlzpvP5oUOH0K9fP3zwwQfo3r27J7soS23/a1JZWQngYpm2WUT6f/DgQfTp0wdXX301srKyTA9WAH3vv1WFhITg6quvxpo1a5y/6CsrK7FmzRqf2hDNF0mShPHjx2PlypXIycnx+WAFuPjZMfNnjIjrr78eO3bscHltxIgRaN26NZ544gkGKxYVMAGLWomJiS7P69evDwBo0aIFmjRpYkaXhGzevBlbtmzBtddei4YNG2Lv3r145pln0KJFC5+YEHfw4EGkpqaiadOmePnll3H8+HHnsbi4OBN7pl5BQQFOnjyJgoICOBwO5xo+LVu2dH6erGLixIlIS0tDly5d0K1bN8ydOxelpaUYMWKE2V1TVFJSgj179jif79u3D/n5+YiKiqr2/9hqMjIykJ2djVWrViEiIsI5Z8hut6Nu3bom907Z1KlTMWDAACQmJuLMmTPIzs5GTk4OVq9ebXbXVImIiKg2X+jSnD9fmkcUcEytUfIB+/bt86my5u3bt0t9+vSRoqKipNDQUCkpKUkaM2aMdODAAbO7pkpWVpYEoMaHr0hLS6ux/2vXrjW7azWaN2+elJiYKIWEhEjdunWTNm3aZHaXVFm7dm2N73NaWprZXVNU22c8KyvL7K6pMnLkSKlp06ZSSEiIFB0dLV1//fXSt99+a3a3dGFZs/UFzBwWIiIi8l3mTw4gIiIiUsCAhYiIiCyPAQsRERFZHgMWIiIisjwGLERERGR5DFiIiIjI8hiwEBERkeUxYCHyI+np6Yr76eTk5MBms3l8j6PU1FTnxpCXVvv1pKSkJOf9rLp/ExFpx4XjiPxIUVERJElCgwYNAFwMGjp16oS5c+c6zykvL8fJkycRGxvrssmn0VJTU3HVVVdhxowZuPzyy3HZZZ7dCeT48eP48ccfMWjQIJw6dcr5HhCRf+BeQkR+xG63K54TEhLitX2ZwsPDvXav6OhoREVFeeVeROR9TAkRabBkyRI0atSo2u60AwcOxPDhw2u8Zv/+/bDZbFi+fDl69OiBsLAwtG/fHuvWrXM5b926dejWrRtCQ0PRuHFjTJkyBRcuXHAe//jjj9GhQwfUrVsXjRo1Qt++fVFaWgrANSWUnp6OdevW4fXXX3emSvbv319jSuiTTz5Bu3btEBoaiqSkJLzyyisufUpKSsILL7yAkSNHIiIiAomJiXj77beF37dFixZVG/n49NNPXUZ6pk2bhk6dOuHdd99FYmIi6tevj4ceeggOhwMvvfQS4uLiEBMTg+eff174/kTkuxiwEGlw1113weFw4LPPPnO+duzYMXz55ZcYOXKk7LWPP/44HnvsMeTl5SElJQW33HIL/vrrLwAXd6u+6aab0LVrV/z6669YsGAB3nnnHcycORMAcPjwYdxzzz0YOXIk/vjjD+Tk5OCOO+5ATZnd119/HSkpKRg9ejQOHz6Mw4cPIyEhodp5ubm5GDx4MIYMGYIdO3Zg2rRpeOaZZ7Bo0SKX81555RV06dIFeXl5eOihhzB27Fjs3r1b9K1TZe/evfj666/xzTff4P3338c777yDm2++GQcOHMC6devw4osv4umnn8bmzZs9cn8isiAzd14k8mVjx46VBgwY4Hz+yiuvSM2bN5cqKytrPP/Szt+zZ892vlZRUSE1adJEevHFFyVJkqQnn3xSatWqlUsb8+fPl+rXry85HA4pNzdXAiDt37+/xnukpaVJt912m/N5TTvQXtrl+NSpU5IkSdK9994r3XDDDS7nPP7441Lbtm2dz5s2bSoNGzbM+byyslKKiYmRFixYUGM/art3VlaWZLfbXV5buXKly27cmZmZUnh4uFRcXOx8rV+/flJSUpLkcDicr7Vq1UqaNWuW7NdGRP6DIyxEGo0ePRrffvstDh48COBiuiM9PV1xImtKSorz35dddhm6dOmCP/74AwDwxx9/ICUlxaWNnj17oqSkBAcOHEDHjh1x/fXXo0OHDrjrrrvwz3/+E6dOndL1dfzxxx/o2bOny2s9e/bEn3/+CYfD4XwtOTnZ+W+bzYa4uDgcO3ZM171rk5SUhIiICOfz2NhYtG3bFkFBQS6veer+RGQ9DFiINOrcuTM6duyIJUuWIDc3F7/99hvS09M9es/g4GB89913+Prrr9G2bVvMmzcPrVq1wr59+zx6XwCoU6eOy3ObzYbKykqhNoKCgqqlryoqKlTdy4j7E5HvYsBCpMP999+PRYsWISsrC3379q1xjoi7TZs2Of994cIF5Obmok2bNgCANm3aYOPGjS6/1Dds2ICIiAg0adIEwMVf1D179sT06dORl5eHkJAQrFy5ssZ7hYSEuIyS1KRNmzbYsGGDy2sbNmzAVVddheDgYMWvR0R0dDTOnDnjnCQMwCtrtBCR72PAQqTDvffeiwMHDuCf//yn4mTbS+bPn4+VK1di165dyMjIwKlTp5zXPvTQQygsLMT48eOxa9curFq1CpmZmZg4cSKCgoKwefNmvPDCC9i6dSsKCgqwYsUKHD9+3BnwuEtKSsLmzZuxf/9+nDhxosYRicceewxr1qzBc889h3//+99YvHgx3njjDUyaNEn7G1OL7t27Izw8HE8++ST27t2L7OzsapN7iYhqwoCFSAe73Y5Bgwahfv36iivMXjJ79mzMnj0bHTt2xE8//YTPPvsMl19+OQDgiiuuwFdffYVffvkFHTt2xJgxYzBq1Cg8/fTTAIDIyEisX78eN910E6666io8/fTTeOWVVzBgwIAa7zVp0iQEBwejbdu2iI6ORkFBQbVz/va3v+HDDz/E8uXL0b59ezz77LOYMWOGR9JbUVFReO+99/DVV1+hQ4cOeP/99zFt2jTD70NE/ocr3RLpdP3116Ndu3b4xz/+IXve/v370axZM+Tl5aFTp07e6ZyJalpl19NycnLQp08frnRL5Ic4wkKk0alTp7By5Urk5OQgIyPD7O5Y0ptvvon69etjx44dHr9Xu3btah1pIiLfx6X5iTTq3LkzTp06hRdffBGtWrUyuzuWs2zZMpw7dw4AkJiY6PH7ffXVV86Ko8jISI/fj4i8iykhIiIisjymhIiIiMjyGLAQERGR5TFgISIiIstjwEJERESWx4CFiIiILI8BCxEREVkeAxYiIiKyPAYsREREZHkMWIiIiMjy/h882bOM8ag0CwAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 640x480 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "gaussian_beam_data[\"monitor_0\"].Ey.abs.isel(f=5).plot(x=\"y\", y=\"z\", vmin=0, vmax=30, cmap=\"hot\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "53a79f86",
   "metadata": {},
   "source": [
    "From the field profiles, we can see that the waveguide mode and the Gaussian mode have a similar mode area so they should have a significant overlap.\n",
    "\n",
    "Now we calculate the overlap using `outer_dot` and plot the result in dB. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "id": "8416786d",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2025-05-15T10:34:44.288807Z",
     "iopub.status.busy": "2025-05-15T10:34:44.288698Z",
     "iopub.status.idle": "2025-05-15T10:34:44.375778Z",
     "shell.execute_reply": "2025-05-15T10:34:44.375403Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAksAAAG6CAYAAAAYmwIjAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvc2/+5QAAAAlwSFlzAAAPYQAAD2EBqD+naQAAUfNJREFUeJzt3XlcVOX+B/DPDMuwCAPIriAgKpCoiKKYKSaKaanltSzMJdObaS6opb/SUjPSykxbzNLMezVvVnZNzSvhroQruIS4IogsIs6MgAwwc35/IJMjMM7oDMPg5/16zUvmOc858z3nRcync57zHJEgCAKIiIiIqE5icxdARERE1JgxLBERERHpwLBEREREpAPDEhEREZEODEtEREREOjAsEREREenAsERERESkA8MSERERkQ4MS0REREQ6MCwRERER6WBxYemLL75AQEAA7Ozs0K1bNxw+fFhn/02bNiEkJAR2dnYIDw/H9u3btZYLgoB58+bBx8cH9vb2iI2Nxfnz5025C0RERGRBLCos/ec//0FCQgLeffddHD9+HB07dkRcXBwKCwvr7H/o0CG8+OKLGDduHE6cOIGhQ4di6NChOH36tKbPkiVLsHz5cqxcuRKpqalwdHREXFwcysvLG2q3iIiIqBETWdKDdLt164auXbvi888/BwCo1Wr4+fnhjTfewOzZs2v1f+GFF1BaWoqtW7dq2rp3745OnTph5cqVEAQBvr6+mDFjBmbOnAkAkMvl8PLywtq1azFixIiG2TEiIiJqtKzNXYC+KioqcOzYMcyZM0fTJhaLERsbi5SUlDrXSUlJQUJCglZbXFwcfv31VwDA5cuXkZ+fj9jYWM1yqVSKbt26ISUlpd6wpFQqoVQqNe/VajWKi4vRvHlziESiB91FIiIiakCCIODWrVvw9fWFWFz/xTaLCUtFRUVQqVTw8vLSavfy8sLZs2frXCc/P7/O/vn5+ZrlNW319alLYmIi5s+fb/A+EBERUeOTk5ODli1b1rvcYsJSYzJnzhytM1ZyuRz+/v7IycmBs7OzGSsjIiIifSkUCvj5+cHJyUlnP4sJS+7u7rCyskJBQYFWe0FBAby9vetcx9vbW2f/mn8LCgrg4+Oj1adTp0711iKRSCCRSGq1Ozs7MywRERFZmPsNobGYu+FsbW0RGRmJ5ORkTZtarUZycjKio6PrXCc6OlqrPwAkJSVp+gcGBsLb21urj0KhQGpqar3bJCIiokeLxZxZAoCEhASMHj0aXbp0QVRUFJYtW4bS0lKMHTsWADBq1Ci0aNECiYmJAICpU6eid+/e+OSTTzBo0CBs3LgRR48exapVqwBUJ8lp06bh/fffR5s2bRAYGIi5c+fC19cXQ4cONdduEhERUSNiUWHphRdewPXr1zFv3jzk5+ejU6dO2LFjh2aAdnZ2ttZo9h49emDDhg1455138H//939o06YNfv31V7Rv317T580330RpaSkmTJgAmUyGnj17YseOHbCzs2vw/SMiIqLGx6LmWWqsFAoFpFIp5HI5xywRERFZCH2/vy1mzBIRERGROTAsEREREenAsERERESkA8MSERERkQ4MS0REREQ6MCwRERER6cCwRERERKQDwxIRERGRDgxLRERERDowLBERERHpwLBEREREpAPDEhEREZEODEtEREREOjAsEREREenAsERERESkA8MSERERkQ4MS0REREQ6MCwRERER6cCwRERERKQDwxIRERGRDgxLRERERDowLBERERHpwLBEREREpAPDEhEREZEODEtEREREOjAsEREREenAsERERESkA8MSERERkQ4MS0REREQ6MCwRERER6cCwRERERKQDwxIRERGRDgxLRERERDpYm7sAIiIiorsJgoAKlRrKKjUqqqr/9XSSwMbKPOd4GJaIiIgIQHVIqVILmoBS/a+q1s/KKjWUlerqQFOpuvNv/evUbO9+bXe/v9feWTFo1dzRDEfFgsJScXEx3njjDfz2228Qi8UYNmwYPvvsMzRr1qze/u+++y527tyJ7OxseHh4YOjQoVi4cCGkUqmmn0gkqrXuDz/8gBEjRphsX4iIiIypokoN+e1KyG9XQFZWiZtllZCVVUB+u/LO+wrIbldCXlaJEmVVHYHm78CiFsy9N7XZWotRqTJfYRYTluLj45GXl4ekpCRUVlZi7NixmDBhAjZs2FBn/2vXruHatWv4+OOPERYWhitXruC1117DtWvX8NNPP2n1/e677zBgwADNexcXF1PuChERUZ1qQo/sTriR3Qk9srJKyG7X/HtXW1kl5LerA5ApWItFkFiLIbGxgq2VGBIbseZfifW9bVaQWIthay2uXsfa6q6fa7fZ3nl/9zbr2o6tlbjOExsNSSQIQiPMkNoyMjIQFhaG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odYltPXr12Py5Mno27cvxGIxhg0bhuXLlzfcjhEREVGjJhIEQTB3EZZOoVBAKpVCLpfD2dnZ3OUQERGRHvT9/raYy3BERERE5sCwRERERKQDwxIRERGRDgxLRERERDowLBERERHpwLBEREREpAPDEhEREZEODEtEREREOjAsEREREenAsERERESkA8MSERERkQ4MS0REREQ6MCwRERER6cCwRERERKQDwxIRERGRDgxLRERERDowLBERERHpwLBEREREpAPDEhEREZEODEtEREREOjAsEREREenAsERERESkA8MSERERkQ4MS0REREQ6MCwRERER6cCwRERERKQDwxIRERGRDgxLRERERDowLBERERHpwLBEREREpAPDEhEREZEODEtEREREOjAsEREREenAsERERESkA8MSERERkQ4WE5YWLVqEHj16wMHBAS4uLnqtIxKJ6nx99NFHmj4BAQG1ln/44Ycm2gsiIiKyNNbmLkBfFRUVGD58OKKjo7F69Wq91snLy9N6//vvv2PcuHEYNmyYVvuCBQswfvx4zXsnJ6eHL5iIiIiaBIsJS/PnzwcArF27Vu91vL29td7/97//RZ8+fRAUFKTV7uTkVKsvEREREWBBl+EeVkFBAbZt24Zx48bVWvbhhx+iefPmiIiIwEcffYSqqiozVEhERESNkcWcWXpY33//PZycnPDcc89ptU+ZMgWdO3eGm5sbDh06hDlz5iAvLw9Lly6td1tKpRJKpVLzXqFQmKxuIiIiMi+znlmaPXt2vYOwa15nz541ymetWbMG8fHxsLOz02pPSEhATEwMOnTogNdeew2ffPIJVqxYoRWG7pWYmAipVKp5+fn5GaVGIiIianxEgiAI5vrw69ev48aNGzr7BAUFwdbWVvN+7dq1mDZtGmQymd6fs3//fvTq1QtpaWno2LGjzr5nzpxB+/btcfbsWbRr167OPnWdWfLz84NcLoezs7PedREREZH5KBQKSKXS+35/m/UynIeHBzw8PEz+OatXr0ZkZOR9gxIApKWlQSwWw9PTs94+EokEEonEmCUSERFRI2UxA7yzs7ORlpaG7OxsqFQqpKWlIS0tDSUlJZo+ISEh2Lx5s9Z6CoUCmzZtwquvvlprmykpKVi2bBnS09Nx6dIlrF+/HtOnT8fIkSPh6upq8n0iIiKixs9iBnjPmzcP33//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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "overlap = waveguide_mode_data.outer_dot(gaussian_beam_data[\"monitor_0\"])\n",
    "plt.plot(td.C_0 / overlap.f, 20 * np.log10(np.abs(overlap)))\n",
    "plt.xlabel(r\"Wavelength ($\\mu m$)\")\n",
    "plt.ylabel(\"Overlap integral (dB)\")\n",
    "plt.ylim(-2, 0)\n",
    "plt.show()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "11a00ab9",
   "metadata": {},
   "source": [
    "For demonstration purposes, we can also perform the integral manually using the `integrate` method in `xarray`. The overlap integral is given by \n",
    "\n",
    "$$\n",
    "\\frac{1}{4} \\left(\\mathbf{E}_1 \\times \\mathbf{H}_2^* - \\mathbf{H}_1 \\times \\mathbf{E}_2^* \\right) dA,\n",
    "$$\n",
    "\n",
    "where $\\mathbf{E}_1$ and $\\mathbf{H}_1$ are the electric and magnetic fields of the first mode, $\\mathbf{E}_2$ and $\\mathbf{H}_2$ are the fields of the second mode, and * denotes complex conjugation.\n",
    "\n",
    "One complication here is that the fields of the two modes might not share the same grid as they can be calculated from different simulations. The computation between different arrays does require them to share the same coordinates. In this situation, we can use the `interp_like` method to easily interpolate one array to the grid of the other array.\n",
    "\n",
    "As expected, the result calculated this way is the same as that calculated from `outer_dot` above."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "id": "47c576a6",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2025-05-15T10:34:44.376992Z",
     "iopub.status.busy": "2025-05-15T10:34:44.376890Z",
     "iopub.status.idle": "2025-05-15T10:34:44.478584Z",
     "shell.execute_reply": "2025-05-15T10:34:44.478067Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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j4iIiBoui85ZmjZtGkaNGqW3T2hoqMneLzQ0FF5eXjh79iz69OkDPz8/FBQU6PSpqqpCYWFhnfOcgOp5UDKZzGR1ERERUcNl0bDk7e0Nb2/venu/K1eu4MaNG/D39wcAxMbGori4GIcOHUKnTp0AADt27IBWq0WXLl3qrS4iIiJquKxmzlJ2djYyMjKQnZ0NjUaDjIwMZGRk6KyJFB4ejo0bNwIASktLMWPGDPz111+4ePEiUlJSMGjQIISFhSE+Ph4A0KZNG/Tr1w9jx47FgQMHsG/fPkycOBHDhg3jN+GIiIgIgBUtHTBnzhx8/fXX4vOoqCgAwM6dO9GrVy8AQFZWFhQKBQDAxsYGx44dw9dff43i4mIEBASgb9++mD9/vs4ltLVr12LixIno06cPpFIphgwZgqVLl9bfgREREVGDJhEEQbB0EdZOqVRCLpdDoVDA1dXV0uUQERGRAQz9/Laay3BERERElsCwRERERKQHwxIRERGRHgxLRERERHowLBERERHpwbBEREREpAfDEhEREZEeDEtEREREejAsEREREenBsERERESkB8MSERERkR4MS0RERER6MCwRERER6cGwRERERKQHwxIRERGRHgxLRERERHowLBERERHpwbBEREREpAfDEhEREZEeDEtEREREejAsEREREenBsERERESkB8MSERERkR4MS0RERER6MCwRERER6cGwRERERKQHwxIRERGRHgxLRERERHowLBERERHpwbBEREREpAfDEhEREZEeDEtEREREejAsEREREenBsERERESkB8MSERERkR5WE5YWLFiAbt26wcnJCW5ubga9RiKR1Pp47733xD7Nmzevsf3dd98101EQERGRtbG1dAGGqqysxNChQxEbG4uVK1ca9Jrc3Fyd51u3bsWYMWMwZMgQnfZ58+Zh7Nix4nMXF5cHL5iIiIgaBasJS3PnzgUArF692uDX+Pn56Tz/5Zdf0Lt3b4SGhuq0u7i41OhLREREBFjRZbgHlZ+fjy1btmDMmDE1tr377rvw9PREVFQU3nvvPVRVVVmgQiIiImqIrGZk6UF9/fXXcHFxwbPPPqvTPmnSJHTs2BEeHh7Yv38/Zs2ahdzcXCxevLjOfalUKqhUKvG5Uqk0W91ERERkWRYdWZo5c2adk7BvP06dOmWS91q1ahUSEhLg4OCg056YmIhevXqhXbt2ePnll/HBBx9g2bJlOmHobklJSZDL5eIjKCjIJDUSERFRwyMRBEGw1Jtfu3YNN27c0NsnNDQU9vb24vPVq1djypQpKC4uNvh99u7dix49eiAjIwPt27fX2/fkyZNo27YtTp06hdatW9fap7aRpaCgICgUCri6uhpcFxEREVmOUqmEXC6/5+e3RS/DeXt7w9vb2+zvs3LlSnTq1OmeQQkAMjIyIJVK4ePjU2cfmUwGmUxmyhKJiIiogbKaCd7Z2dnIyMhAdnY2NBoNMjIykJGRgdLSUrFPeHg4Nm7cqPM6pVKJDRs24KWXXqqxz9TUVCxZsgRHjx7F+fPnsXbtWkydOhUjRoyAu7u72Y+JiIiIGj6rmeA9Z84cfP311+LzqKgoAMDOnTvRq1cvAEBWVhYUCoXO69avXw9BEDB8+PAa+5TJZFi/fj3eeustqFQqhISEYOrUqUhMTDTfgRAREZFVseicpcbC0GueRERE1HAY+vltNZfhiIiIiCyBYYmIiIhID4YlIiIiIj0YloiIiIj0YFgiIiIi0oNhiYiIiEgPhiUiIiIiPRiWiIiIiPRgWCIiIiLSg2GJiIiISA+GJSIiIiI9GJaIiIiI9GBYIiIiItKDYYmIiIhID4YlIiIiIj0YloiIiIj0YFgiIiIi0oNhiYiIiEgPhiUiIiIiPRiWiIiIiPRgWCIiIiLSg2GJiIiISA+GJSIiIiI9GJaIiIiI9GBYIiIiItKDYYmIiIhID4YlIiIiIj0YloiIiIj0YFgiIiIi0oNhiYiIiEgPhiUiIiIiPRiWiIiIiPRgWCIiIiLSg2GJiIiISA+GJSIiIiI9GJaIiIiI9LCKsHTx4kWMGTMGISEhcHR0RIsWLfDmm2+isrJS7+sqKiowYcIEeHp6okmTJhgyZAjy8/N1+mRnZ2PAgAFwcnKCj48PZsyYgaqqKnMeDhEREVkRW0sXYIhTp05Bq9Xi888/R1hYGE6cOIGxY8eirKwM77//fp2vmzp1KrZs2YINGzZALpdj4sSJePbZZ7Fv3z4AgEajwYABA+Dn54f9+/cjNzcXL7zwAuzs7PDOO+/U1+ERERFRAyYRBEGwdBH347333sNnn32G8+fP17pdoVDA29sb69atwz/+8Q8A1aGrTZs2SE1NRdeuXbF161Y89dRTuHr1Knx9fQEAy5cvx2uvvYZr167B3t7eoFqUSiXkcjkUCgVcXV1Nc4BERERkVoZ+flvFyFJtFAoFPDw86tx+6NAhqNVqxMXFiW3h4eEIDg4Ww1JqaioiIyPFoAQA8fHxGD9+PE6ePImoqKha961SqaBSqXRqAapPOhEREVmH25/b9xo3ssqwdPbsWSxbtkzvJbi8vDzY29vDzc1Np93X1xd5eXlinzuD0u3tt7fVJSkpCXPnzq3RHhQUZOghEBERUQNRUlICuVxe53aLhqWZM2di4cKFevtkZmYiPDxcfJ6Tk4N+/fph6NChGDt2rLlLrNWsWbOQmJgoPtdqtSgsLISnpyckEonJ3kepVCIoKAiXL1/m5T0z4nmuPzzX9YPnuX7wPNcPc55nQRBQUlKCgIAAvf0sGpamTZuGUaNG6e0TGhoq/nz16lX07t0b3bp1w4oVK/S+zs/PD5WVlSguLtYZXcrPz4efn5/Y58CBAzqvu/1tudt9aiOTySCTyXTa7h7BMiVXV1f+RawHPM/1h+e6fvA81w+e5/phrvOsb0TpNouGJW9vb3h7exvUNycnB71790anTp3w1VdfQSrVv+pBp06dYGdnh5SUFAwZMgQAkJWVhezsbMTGxgIAYmNjsWDBAhQUFMDHxwcAkJycDFdXV0RERDzAkREREVFjYRXrLOXk5KBXr14IDg7G+++/j2vXriEvL09nXlFOTg7Cw8PFkSK5XI4xY8YgMTERO3fuxKFDhzB69GjExsaia9euAIC+ffsiIiIC//rXv3D06FH8/vvveOONNzBhwoQaI0dERET0cLKKCd7Jyck4e/Yszp49i8DAQJ1tt2ewq9VqZGVloby8XNz24YcfQiqVYsiQIVCpVIiPj8enn34qbrexscHmzZsxfvx4xMbGwtnZGSNHjsS8efPq58DuQSaT4c0332RwMzOe5/rDc10/eJ7rB89z/WgI59lq11kiIiIiqg9WcRmOiIiIyFIYloiIiIj0YFgiIiIi0oNhiYiIiEgPhqV6smfPHjz99NMICAiARCLBzz//rLf/rl27IJFIajzuvg3LJ598gubNm8PBwQFdunSpscjmw8gc5zopKQmdO3eGi4sLfHx8MHjwYGRlZZn5SBo2c/1O3/buu+9CIpFgypQppi/eipjrPOfk5GDEiBHw9PSEo6MjIiMjcfDgQTMeScNmjvOs0Wgwe/ZshISEwNHRES1atMD8+fPveR+yxszY8wxU34/19ddfR7NmzSCTydC8eXOsWrVKp8+GDRsQHh4OBwcHREZG4rfffjNp3QxL9aSsrAzt27fHJ598YtTrsrKykJubKz5uL54JAN999x0SExPx5ptv4vDhw2jfvj3i4+NRUFBg6vKtijnO9e7duzFhwgT89ddfSE5OhlqtRt++fVFWVmbq8q2GOc7zbenp6fj888/Rrl07U5VrtcxxnouKivDoo4/Czs4OW7duxf/+9z988MEHcHd3N3X5VsMc53nhwoX47LPP8PHHHyMzMxMLFy7EokWLsGzZMlOXbzXu5zw/99xzSElJwcqVK5GVlYVvv/0WrVu3Frfv378fw4cPx5gxY3DkyBEMHjwYgwcPxokTJ0xXuED1DoCwceNGvX127twpABCKiorq7BMTEyNMmDBBfK7RaISAgAAhKSnJRJVaP1Od67sVFBQIAITdu3c/WIGNhCnPc0lJidCyZUshOTlZ6NmzpzB58mST1WntTHWeX3vtNaF79+6mLa4RMdV5HjBggPDiiy/qtD377LNCQkKCCaq0foac561btwpyuVy4ceNGnX2ee+45YcCAATptXbp0Ef7973+bokxBEASBI0sNXIcOHeDv748nnngC+/btE9srKytx6NAhxMXFiW1SqRRxcXFITU21RKlWr65zXRuFQgEA8PDwqI/SGpV7necJEyZgwIABOr/bZDx953nTpk2Ijo7G0KFD4ePjg6ioKHzxxRcWqtS66TvP3bp1Q0pKCk6fPg0AOHr0KP788088+eSTlijVKt3+XV20aBGaNm2KVq1aYfr06bh586bYJzU1tca/F/Hx8Sb9LLSKFbwfRv7+/li+fDmio6OhUqnw5ZdfolevXkhLS0PHjh1x/fp1aDQa+Pr66rzO19cXp06dslDV1ule5/puWq0WU6ZMwaOPPoq2bdtaoGLrZMh5Xr9+PQ4fPoz09HQLV2u9DDnP58+fx2effYbExET83//9H9LT0zFp0iTY29tj5MiRFj4C62DIeZ45cyaUSiXCw8NhY2MDjUaDBQsWICEhwcLVW4/z58/jzz//hIODAzZu3Ijr16/jlVdewY0bN/DVV18BAPLy8mr9LKxrPuR9MdkYFRkMBgw91qZHjx7CiBEjBEEQhJycHAGAsH//fp0+M2bMEGJiYkxRZqNginN9t5dffllo1qyZcPny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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "Ey_wg = waveguide_mode_data.Ey.squeeze(drop=True)\n",
    "Ez_wg = waveguide_mode_data.Ez.squeeze(drop=True)\n",
    "Hy_wg = waveguide_mode_data.Hy.squeeze(drop=True)\n",
    "Hz_wg = waveguide_mode_data.Hz.squeeze(drop=True)\n",
    "\n",
    "Ey_gauss = gaussian_beam_data[\"monitor_0\"].Ey.interp_like(Ey_wg)\n",
    "Ez_gauss = gaussian_beam_data[\"monitor_0\"].Ez.interp_like(Ey_wg)\n",
    "Hy_gauss = gaussian_beam_data[\"monitor_0\"].Hy.interp_like(Ey_wg)\n",
    "Hz_gauss = gaussian_beam_data[\"monitor_0\"].Hz.interp_like(Ey_wg)\n",
    "\n",
    "e_self_x_h_other = Ey_wg * Hz_gauss - Ez_wg * Hy_gauss\n",
    "h_self_x_e_other = Hy_wg * Ez_gauss - Hz_wg * Ey_gauss\n",
    "\n",
    "integrand = 0.25 * (e_self_x_h_other - h_self_x_e_other)\n",
    "\n",
    "overlap = integrand.integrate(coord=[\"y\", \"z\"])\n",
    "\n",
    "plt.plot(td.C_0 / overlap.f, 20 * np.log10(np.abs(overlap)))\n",
    "plt.xlabel(r\"Wavelength ($\\mu m$)\")\n",
    "plt.ylabel(\"Overlap integral (dB)\")\n",
    "plt.ylim(-2, 0)\n",
    "plt.show()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8c74c85e",
   "metadata": {},
   "source": [
    "Besides the overlap integral shown above, in other example notebooks we also demonstrated how to perform integrals to calculate the [cavity mode volume](https://www.flexcompute.com/tidy3d/examples/notebooks/CavityFOM/) and the [nonlinear feedback parameter](https://www.flexcompute.com/tidy3d/examples/notebooks/BistablePCCavity/)."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1beb9fb6",
   "metadata": {},
   "source": [
    "## Closing Remarks"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ff72fe43",
   "metadata": {},
   "source": [
    "In this tutorial, we demonstrated various futures commonly used in Tidy3D's data postprocessing and visualization. We used data from [FieldMonitor](https://docs.flexcompute.com/projects/tidy3d/en/latest/api/_autosummary/tidy3d.FieldMonitor.html), [FluxMonitor](https://docs.flexcompute.com/projects/tidy3d/en/latest/api/_autosummary/tidy3d.FluxMonitor.html), [ModeMonitor](https://docs.flexcompute.com/projects/tidy3d/en/latest/api/_autosummary/tidy3d.ModeMonitor.html), and [ModeSolver](https://docs.flexcompute.com/projects/tidy3d/en/latest/api/_autosummary/tidy3d.plugins.mode.ModeSolver.html) as examples. However, the methods are general and equally applicable to data from [DiffractionMonitor](https://docs.flexcompute.com/projects/tidy3d/en/latest/api/_autosummary/tidy3d.DiffractionMonitor.html), [FieldProjectionCartesianMonitor](https://docs.flexcompute.com/projects/tidy3d/en/latest/api/_autosummary/tidy3d.FieldProjectionCartesianMonitor.html), and so on."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "18166436",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "description": "This notebook demonstrates advanced xarray features for postprocessing and visualization.",
  "feature_image": "",
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "keywords": "xarray, postprocessing, visualization, Tidy3D, FDTD",
  "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.12.3"
  },
  "title": "Advanced monitor data manipulation and visualization | Flexcompute"
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
