{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "89f983f5",
   "metadata": {},
   "source": [
    "# Genetic algorithm optimization of a silicon on-chip reflector"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c129793b",
   "metadata": {},
   "source": [
    "**Note: the cost of running the entire notebook is larger than 10 FlexCredits.**\n",
    "\n",
    "A [genetic algorithm](https://en.wikipedia.org/wiki/Genetic_algorithm) (GA) is a search heuristic that mimics the process of natural selection. This algorithm reflects the process of natural evolution where the fittest individuals are selected for reproduction in order to produce offspring of the next generation.\n",
    "\n",
    "The steps in a GA are typically as follows:\n",
    "\n",
    "1. **Initial Population**: The process begins with a set of individuals which is called a population. Each individual is a solution to the problem you want to solve.\n",
    "\n",
    "2. **Fitness Function**: Each individual in the population has a fitness score which indicates how good it is at solving the problem.\n",
    "\n",
    "3. **Selection**: The algorithm selects individuals, often the fittest among the population, to breed a new generation. The selection can be done in various ways, such as roulette wheel selection, tournament selection, etc.\n",
    "\n",
    "4. **Crossover**: During crossover, parts of two individuals' chromosome strings are swapped to get a new offspring, which may contain some parts of both parents' strings. This simulates reproduction and biological crossover.\n",
    "\n",
    "5. **Mutation**: In some new offspring, random genes are mutated or changed to maintain diversity within the population and to avoid premature convergence.\n",
    "\n",
    "6. **New Generation**: The new generation of population is formed by the offspring. This new generation is then used in the next iteration of the algorithm.\n",
    "\n",
    "7. **Termination**: The algorithm terminates if the population has converged (does not produce offspring that are significantly different from the previous generation), or a satisfactory solution has been found, or a set number of generations have been produced.\n",
    "\n",
    "GAs have become a powerful tool for optimizing photonic components, leveraging their ability to efficiently search large and complex design spaces. In photonics, where the performance of components like waveguides, photonic crystals, and fibers can be highly sensitive to geometrical and material parameters, GAs offer a way to find optimal solutions that might be difficult to discover using traditional design methods. \n",
    "\n",
    "In this notebook, we demonstrate the optimization of a compact silicon waveguide reflector using GA, utilizing the open source Python library [pyGAD](https://pygad.readthedocs.io/en/latest/) implemented into the `Tidy3D` Design plugin. The idea follows `Zejie Yu, Haoran Cui, and Xiankai Sun, \"Genetically optimized on-chip wideband ultracompact reflectors and Fabry–Perot cavities,\" Photon. Res. 5, B15-B19 (2017)` [DOI:10.1364/PRJ.5.000B15](https://doi.org/10.1364/PRJ.5.000B15). The design region of the reflector consists of a grid divided into 18x18 pixels. Each pixel is a square measuring 120 nm by 120 nm. \n",
    "\n",
    "<img src=\"img/optimized_reflector.png\" width=\"450\" alt=\"Schematic of the reflector\">\n",
    "\n",
    "`Tidy3D` is a powerful tool for photonic design optimization due to its fast speed and high throughput. Besides GA, we have demonstrated particle swarm optimizations of a [polarization beam splitter](https://www.flexcompute.com/tidy3d/examples/notebooks/ParticleSwarmOptimizedPBS/) and a [bullseye cavity](https://www.flexcompute.com/tidy3d/examples/notebooks/BullseyeCavityPSO/), CMA-ES optimization of an [waveguide S-bend](https://www.flexcompute.com/tidy3d/examples/notebooks/SbendCMAES/), Bayesian optimization of a [Y-junction](https://www.flexcompute.com/tidy3d/examples/notebooks/BayesianOptimizationYJunction/), and direct binary search optimization of an [optical switch](https://www.flexcompute.com/tidy3d/examples/notebooks/OpticalSwitchDBS/). Furthermore, we also have a growing list of gradient-based adjoint optimization examples including\n",
    "\n",
    "1. [Mode converter](https://www.flexcompute.com/tidy3d/examples/notebooks/Autograd3InverseDesign/),\n",
    "\n",
    "2. [Waveguide taper](https://www.flexcompute.com/tidy3d/examples/notebooks/Autograd5BoundaryGradients/),\n",
    "\n",
    "3. [Metalens](https://www.flexcompute.com/tidy3d/examples/notebooks/Autograd7Metalens/),\n",
    "\n",
    "4. [Waveguide bend](https://www.flexcompute.com/tidy3d/examples/notebooks/Autograd8WaveguideBend/), \n",
    "\n",
    "5. [Multiplexer](https://www.flexcompute.com/tidy3d/examples/notebooks/Autograd9WDM/),\n",
    "\n",
    "6. [Y-branch](https://www.flexcompute.com/tidy3d/examples/notebooks/Autograd10YBranchLevelSet/),\n",
    "\n",
    "7. [Light extractor](https://www.flexcompute.com/tidy3d/examples/notebooks/Autograd12LightExtractor/)."
   ]
  },
  {
   "cell_type": "code",
   "id": "b9979b1b",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2026-01-29T08:51:26.836367Z",
     "start_time": "2026-01-29T08:51:24.313335Z"
    }
   },
   "source": [
    "# Uncomment the following line to install pygad if it's not installed in your environment already\n",
    "# pip install pygad\n",
    "\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import tidy3d as td\n",
    "import tidy3d.plugins.design as tdd\n",
    "import tidy3d.web as web"
   ],
   "outputs": [],
   "execution_count": 1
  },
  {
   "cell_type": "markdown",
   "id": "fb19411a",
   "metadata": {},
   "source": [
    "## Simulation Setup"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "21fd3302",
   "metadata": {},
   "source": [
    "For simplicity, we will use the silicon and oxide media directly from the [material library](https://docs.flexcompute.com/projects/tidy3d/en/latest/api/material_library.html#)."
   ]
  },
  {
   "cell_type": "code",
   "id": "3e01ad5e",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2026-01-29T08:51:26.841109Z",
     "start_time": "2026-01-29T08:51:26.839440Z"
    }
   },
   "source": [
    "Si = td.material_library[\"cSi\"][\"Palik_Lossless\"]\n",
    "SiO2 = td.material_library[\"SiO2\"][\"Palik_Lossless\"]"
   ],
   "outputs": [],
   "execution_count": 2
  },
  {
   "cell_type": "markdown",
   "id": "eb7a4663",
   "metadata": {},
   "source": [
    "The simulation wavelength range is 1450 nm to 1650 nm."
   ]
  },
  {
   "cell_type": "code",
   "id": "531341c1",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2026-01-29T08:51:26.884987Z",
     "start_time": "2026-01-29T08:51:26.883241Z"
    }
   },
   "source": [
    "lda0 = 1.55  # central wavelength\n",
    "freq0 = td.C_0 / lda0  # central frequency\n",
    "ldas = np.linspace(1.45, 1.65, 101)  # wavelength range\n",
    "freqs = td.C_0 / ldas  # frequency range\n",
    "fwidth = 0.5 * (np.max(freqs) - np.min(freqs))  # width of the source frequency range"
   ],
   "outputs": [],
   "execution_count": 3
  },
  {
   "cell_type": "markdown",
   "id": "c58826ce",
   "metadata": {},
   "source": [
    "The waveguide has a 500 nm width and 220 nm thickness. The design region consists of 18 by 18 pixels. Each pixel is 120 nm by 120 nm. Due to the symmetry, we only consider symmetric design so the total number of tunable pixels is 18*9=162."
   ]
  },
  {
   "cell_type": "code",
   "id": "70707ef4",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2026-01-29T08:51:26.932801Z",
     "start_time": "2026-01-29T08:51:26.931113Z"
    }
   },
   "source": [
    "w = 0.5  # width of the waveguide\n",
    "t = 0.22  # thickness of the silicon\n",
    "l = 1  # length of the waveguide in the simulation\n",
    "Px = Py = 0.12  # pixel sizes in the x and y directions\n",
    "Nx = 18  # number of pixels in the x direction\n",
    "Ny = 9  # number of pixels in the y direction\n",
    "buffer = 0.8  # buffer spacing\n",
    "res = 15  # overall resolution setting (steps per wavelength)\n",
    "gsx = gsy = 5  # number of grid steps per pixel in override region"
   ],
   "outputs": [],
   "execution_count": 4
  },
  {
   "cell_type": "markdown",
   "id": "7f6e1510",
   "metadata": {},
   "source": [
    "We will create an array of length 162 to represent a design. Each element corresponds to each pixel in the design region. An element value of 1 means the pixel is silicon while an element value of 0 means the pixel is void. To facilitate the optimization, we define a helper function `create_design(pixels)` that takes the pixel array and creates the [Structures](https://docs.flexcompute.com/projects/tidy3d/en/latest/api/_autosummary/tidy3d.Structure.html) of the simulation, including the waveguide and the design region. "
   ]
  },
  {
   "cell_type": "code",
   "id": "04b74f92",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2026-01-29T08:51:26.977620Z",
     "start_time": "2026-01-29T08:51:26.975144Z"
    }
   },
   "source": [
    "def create_design(pixels):\n",
    "    geo = 0\n",
    "    for i, pixel in enumerate(pixels):\n",
    "        if pixel == 1:\n",
    "            geo += td.Box(\n",
    "                center=(l + Px / 2 + Px * (i % Nx), Py * Ny - Py / 2 - Py * (i // Nx), t / 2),\n",
    "                size=(Px, Py, t),\n",
    "            )\n",
    "            geo += td.Box(\n",
    "                center=(l + Px / 2 + Px * (i % Nx), -(Py * Ny - Py / 2 - Py * (i // Nx)), t / 2),\n",
    "                size=(Px, Py, t),\n",
    "            )\n",
    "    geo = geo + td.Box(center=(0, 0, t / 2), size=(2 * l, w, t))\n",
    "\n",
    "    design = td.Structure(geometry=geo, medium=Si)\n",
    "\n",
    "    return design"
   ],
   "outputs": [],
   "execution_count": 5
  },
  {
   "cell_type": "markdown",
   "id": "d4a87700",
   "metadata": {},
   "source": [
    "As a quick check, we create a random array and plot the created structures."
   ]
  },
  {
   "cell_type": "code",
   "id": "3fc9d4e5",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2026-01-29T08:51:27.154335Z",
     "start_time": "2026-01-29T08:51:27.021478Z"
    }
   },
   "source": [
    "np.random.seed(0)  # fix a random seed for reproducibility\n",
    "pixels = np.random.choice([0, 1], size=Nx * Ny)\n",
    "design = create_design(pixels)\n",
    "design.plot(z=t / 2)\n",
    "plt.show()"
   ],
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ],
      "image/png": "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P/+8JCk7O1uS9OKLL+qjjz46bi+RO1fPPPOM2traYj6GWOpWrlwpr9er4uJi+f3+6Mcll1wiSVq3bp0kadWqVWpra9Mdd9xxzN/JfXwtYvHmm2/qwIEDuvHGG5Wenh59fMqUKSouLo6uz9G+9a1vdfj3RRddpH/84x8nnSsjIyP634cOHZLf79dFF12kjz76SDt37jTd+8cFg0F9/vOf1xlnnKHf//73Ha6D1atXx/QxefLkaE1TU1P07t3RIuvU1NQUd88AOuKpWMDhDh48qEAgoKFDh8Y0fvDgwR3+/f7770uSioqKOjyelpams88+O/r5wYMHq6KiQkuWLNHjjz+uiy66SJ/73OdUXl4eDX1f+tKX9Jvf/Ebf+MY3NG/ePF166aX6whe+oP/+7/8+4YsRYql79913VV1drby8vON+jQMHDkiSdu3apZSUFJ177rkxrcfJdLY+klRcXKzXXnutw2Pp6enH9HjGGWfoww8/POlc77zzjm6//XatXbtWgUCgw+eO/jtGq2bOnKldu3bp9ddf13/91391+NzHn66NRUZGxnH/vrG5uTn6eQCnFsEOQAfx/LK99957NX36dD3zzDN66aWXdPPNN2vx4sX661//qoEDByojI0MbNmzQunXr9Pzzz+uFF17QU089pUsuuUQvvfRShztEH+/pZHVtbW0aNmyYlixZctyvUVhYaPm4TqXOjvFkGhoaNGHCBGVlZWnRokUaMmSI0tPTtXXrVt12222m7oAez3333aff//73qqys1MiRI4/5fH19fUxfJzs7O3oN5efna926dTIMo8Pd0H379kkSb0sCdAGeigUcLi8vT1lZWXr77bct1Q8aNEhS+3uKHa2lpUW7d++Ofj5i2LBhuv3227Vhwwa9+uqr2rt3r5YvXx79fEpKii699FItWbJEO3bs0E9+8hOtXbs2+lRpZ05WN2TIEH3wwQe69NJLVVZWdsxH5I7akCFD1NbWph07dpxwvliflu1sfSKPfXx9rFq/fr3+9a9/acWKFfr2t7+tz372syorK9MZZ5xxzFizTym/+uqr+u53v6u5c+fqq1/96nHH5Ofnx/Tx1FNPRWtGjhypjz76SNXV1R2+1htvvBH9PIBTi2AHOFxKSoqmTp2qZ599Vm+++eYxnzcM44T1ZWVlSktL089//vMOY3/729+qsbFRU6ZMkSQF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"
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    }
   ],
   "execution_count": 6
  },
  {
   "cell_type": "markdown",
   "id": "93cfd3ca",
   "metadata": {},
   "source": [
    "Furthermore, we define a `make_sim(pixels)` function to define the entire simulation given the pixel array. The simulation includes a [ModeSource](https://docs.flexcompute.com/projects/tidy3d/en/latest/api/_autosummary/tidy3d.ModeSource.html) to launch the TE0 mode at the waveguide and a [ModeMonitor](https://docs.flexcompute.com/projects/tidy3d/en/latest/api/_autosummary/tidy3d.ModeMonitor.html) next to the source to measure the reflection. To minimize data download during the optimization, we will only record the reflection at the central wavelength of 1550 nm since the objective is to maximize this value. "
   ]
  },
  {
   "cell_type": "code",
   "id": "cd22e367",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2026-01-29T08:51:27.170302Z",
     "start_time": "2026-01-29T08:51:27.166723Z"
    }
   },
   "source": [
    "def make_sim(pixels):\n",
    "    design = create_design(pixels)\n",
    "\n",
    "    # Add a mode source as excitation\n",
    "    mode_spec = td.ModeSpec(num_modes=1, target_neff=3.5)\n",
    "    mode_source = td.ModeSource(\n",
    "        center=(l / 2, 0, t / 2),\n",
    "        size=(0, 4 * w, 6 * t),\n",
    "        source_time=td.GaussianPulse(freq0=freq0, fwidth=fwidth),\n",
    "        direction=\"+\",\n",
    "        mode_spec=mode_spec,\n",
    "        mode_index=0,\n",
    "    )\n",
    "\n",
    "    # Add a mode monitor to measure transmission at the output waveguide\n",
    "    mode_monitor = td.ModeMonitor(\n",
    "        center=(l / 4, 0, t / 2),\n",
    "        size=mode_source.size,\n",
    "        freqs=[freq0],\n",
    "        mode_spec=mode_spec,\n",
    "        name=\"mode\",\n",
    "    )\n",
    "\n",
    "    # Define simulation domain size\n",
    "    Lx = l + Nx * Px + buffer\n",
    "    Ly = 2 * Ny * Py + 2 * buffer\n",
    "    Lz = 10 * t\n",
    "\n",
    "    eff_inf = 1e2  # effective infinity\n",
    "\n",
    "    # Define substrate structure\n",
    "    substrate = td.Structure(\n",
    "        geometry=td.Box.from_bounds(\n",
    "            rmin=(-eff_inf, -eff_inf, -eff_inf), rmax=(eff_inf, eff_inf, 0)\n",
    "        ),\n",
    "        medium=SiO2,\n",
    "    )\n",
    "\n",
    "    run_time = 5e-13  # simulation run time\n",
    "\n",
    "    # Simulation box\n",
    "    sim_box = td.Box.from_bounds(rmin=(0, -Ly / 2, -Lz / 2), rmax=(Lx, Ly / 2, Lz / 2))\n",
    "\n",
    "    # Mesh override structure over the pixel region to ensure grid that conforms to the pixels\n",
    "    mesh_override = td.MeshOverrideStructure(\n",
    "        geometry=td.Box.from_bounds(rmin=(l, -Py * Ny, 0), rmax=(l + Px * Nx, Py * Ny, 0)),\n",
    "        dl=(\n",
    "            Px / gsx,\n",
    "            Py / gsy,\n",
    "            1,\n",
    "        ),  # the z-direction dl doesn't matter as the box size is 0 along z\n",
    "    )\n",
    "\n",
    "    # Define simulation\n",
    "    sim = td.Simulation(\n",
    "        center=sim_box.center,\n",
    "        size=sim_box.size,\n",
    "        grid_spec=td.GridSpec.auto(\n",
    "            min_steps_per_wvl=res, wavelength=lda0, override_structures=[mesh_override]\n",
    "        ),\n",
    "        structures=[design, substrate],\n",
    "        sources=[mode_source],\n",
    "        monitors=[mode_monitor],\n",
    "        run_time=run_time,\n",
    "        boundary_spec=td.BoundarySpec.all_sides(boundary=td.PML()),\n",
    "        symmetry=(0, -1, 0),\n",
    "    )\n",
    "\n",
    "    return sim"
   ],
   "outputs": [],
   "execution_count": 7
  },
  {
   "cell_type": "markdown",
   "id": "174fe54c",
   "metadata": {},
   "source": [
    "Again, we test it by defining a simulation with a random pixel array. From the 3D view, we confirm that the simulation setup is correct."
   ]
  },
  {
   "cell_type": "code",
   "id": "cc3e6ad7",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2026-01-29T08:51:27.272044Z",
     "start_time": "2026-01-29T08:51:27.221607Z"
    }
   },
   "source": [
    "sim = make_sim(pixels)\n",
    "sim.plot_3d()"
   ],
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ],
      "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",
       "    "
      ]
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    }
   ],
   "execution_count": 8
  },
  {
   "cell_type": "markdown",
   "id": "a25227f1",
   "metadata": {},
   "source": [
    "## GA Setup"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e62a2da5",
   "metadata": {},
   "source": [
    "Now we are ready to setup a GA optimization. This can quickly be done using the Tidy3D `Design` plugin, which can efficiently manage the optimization with parallel cloud computing, reducing the runtime and saving FlexCredits.\n",
    "\n",
    "First we need to define some hyperparameters. In this particular example, we will use 30 solutions per population and run the optimization for a total of 25 generations, and also specify early-stop criteria that stops the optimization if the fitness value doesn't change for 6 consecutive generations. The `MethodGenAlg` class can be used to tune a number of parameters that change the selection, crossover, and mutation processes. We only change a few and leave the most to the default settings. Users are encouraged to explore these settings using the [PyGAD](https://pygad.readthedocs.io/en/latest/pygad.html#pygad-ga-class) docs and fine tune them for better results. For reproducibility, we also set a fixed random seed.\n",
    "\n",
    "A list `ParameterInt` objects are created to store the binary values used to define the geometry of the reflector. These parameters and the GA method are supplied to a `DesignSpace` object, which manages the GA process and outputs the results of the optimization."
   ]
  },
  {
   "cell_type": "code",
   "id": "0a60323d-aac4-44a0-a855-e3f3e7057027",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2026-01-29T08:51:27.290675Z",
     "start_time": "2026-01-29T08:51:27.286799Z"
    }
   },
   "source": [
    "method = tdd.MethodGenAlg(\n",
    "    solutions_per_pop=30,\n",
    "    n_generations=25,\n",
    "    n_parents_mating=10,\n",
    "    keep_elitism=1,\n",
    "    parent_selection_type=\"sss\",\n",
    "    crossover_type=\"single_point\",\n",
    "    crossover_prob=0.7,\n",
    "    mutation_type=\"inversion\",\n",
    "    mutation_prob=None,\n",
    "    seed=5,\n",
    "    stop_criteria_type=\"saturate\",\n",
    "    stop_criteria_number=6,\n",
    ")\n",
    "\n",
    "parameters = [tdd.ParameterInt(name=i, span=(0, 1)) for i in range(Nx * Ny)]\n",
    "\n",
    "design_space = tdd.DesignSpace(\n",
    "    method=method, parameters=parameters, task_name=\"GA_Notebook\", path_dir=\"./data\"\n",
    ")"
   ],
   "outputs": [],
   "execution_count": 9
  },
  {
   "cell_type": "markdown",
   "id": "68b26822",
   "metadata": {},
   "source": [
    "We can optionally summarize the design space to check the setup."
   ]
  },
  {
   "cell_type": "code",
   "id": "92509ea6",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2026-01-29T08:51:27.356155Z",
     "start_time": "2026-01-29T08:51:27.333885Z"
    }
   },
   "source": [
    "summary = design_space.summarize()"
   ],
   "outputs": [
    {
     "data": {
      "text/plain": [
       "\u001B[2;36m09:51:27 CET\u001B[0m\u001B[2;36m \u001B[0m                                                                   \n",
       "\u001B[2;36m             \u001B[0mSummary of DesignSpace                                             \n",
       "\u001B[2;36m             \u001B[0m                                                                   \n",
       "\u001B[2;36m             \u001B[0mMethod: MethodGenAlg                                               \n",
       "\u001B[2;36m             \u001B[0mMethod Args                                                        \n",
       "\u001B[2;36m             \u001B[0msolutions_per_pop: \u001B[1;36m30\u001B[0m                                              \n",
       "\u001B[2;36m             \u001B[0mn_generations: \u001B[1;36m25\u001B[0m                                                  \n",
       "\u001B[2;36m             \u001B[0mn_parents_mating: \u001B[1;36m10\u001B[0m                                               \n",
       "\u001B[2;36m             \u001B[0mstop_criteria_type: saturate                                       \n",
       "\u001B[2;36m             \u001B[0mstop_criteria_number: \u001B[1;36m6.0\u001B[0m                                          \n",
       "\u001B[2;36m             \u001B[0mparent_selection_type: sss                                         \n",
       "\u001B[2;36m             \u001B[0mkeep_parents: \u001B[1;36m-1\u001B[0m                                                   \n",
       "\u001B[2;36m             \u001B[0mkeep_elitism: \u001B[1;36m1\u001B[0m                                                    \n",
       "\u001B[2;36m             \u001B[0mcrossover_type: single_point                                       \n",
       "\u001B[2;36m             \u001B[0mcrossover_prob: \u001B[1;36m0.7\u001B[0m                                                \n",
       "\u001B[2;36m             \u001B[0mmutation_type: inversion                                           \n",
       "\u001B[2;36m             \u001B[0mmutation_prob: \u001B[3;35mNone\u001B[0m                                                \n",
       "\u001B[2;36m             \u001B[0msave_solution: \u001B[3;91mFalse\u001B[0m                                               \n",
       "\u001B[2;36m             \u001B[0m                                                                   \n",
       "\u001B[2;36m             \u001B[0mNo. of Parameters: \u001B[1;36m162\u001B[0m                                             \n",
       "\u001B[2;36m             \u001B[0mParameters: \u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m, \u001B[1;36m2\u001B[0m, \u001B[1;36m3\u001B[0m, \u001B[1;36m4\u001B[0m, \u001B[1;36m5\u001B[0m, \u001B[1;36m6\u001B[0m, \u001B[1;36m7\u001B[0m, \u001B[1;36m8\u001B[0m, \u001B[1;36m9\u001B[0m, \u001B[1;36m10\u001B[0m, \u001B[1;36m11\u001B[0m, \u001B[1;36m12\u001B[0m, \u001B[1;36m13\u001B[0m, \u001B[1;36m14\u001B[0m, \u001B[1;36m15\u001B[0m,  \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m16\u001B[0m, \u001B[1;36m17\u001B[0m, \u001B[1;36m18\u001B[0m, \u001B[1;36m19\u001B[0m, \u001B[1;36m20\u001B[0m, \u001B[1;36m21\u001B[0m, \u001B[1;36m22\u001B[0m, \u001B[1;36m23\u001B[0m, \u001B[1;36m24\u001B[0m, \u001B[1;36m25\u001B[0m, \u001B[1;36m26\u001B[0m, \u001B[1;36m27\u001B[0m, \u001B[1;36m28\u001B[0m, \u001B[1;36m29\u001B[0m, \u001B[1;36m30\u001B[0m, \u001B[1;36m31\u001B[0m, \u001B[1;36m32\u001B[0m,\n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m33\u001B[0m, \u001B[1;36m34\u001B[0m, \u001B[1;36m35\u001B[0m, \u001B[1;36m36\u001B[0m, \u001B[1;36m37\u001B[0m, \u001B[1;36m38\u001B[0m, \u001B[1;36m39\u001B[0m, \u001B[1;36m40\u001B[0m, \u001B[1;36m41\u001B[0m, \u001B[1;36m42\u001B[0m, \u001B[1;36m43\u001B[0m, \u001B[1;36m44\u001B[0m, \u001B[1;36m45\u001B[0m, \u001B[1;36m46\u001B[0m, \u001B[1;36m47\u001B[0m, \u001B[1;36m48\u001B[0m, \u001B[1;36m49\u001B[0m,\n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m50\u001B[0m, \u001B[1;36m51\u001B[0m, \u001B[1;36m52\u001B[0m, \u001B[1;36m53\u001B[0m, \u001B[1;36m54\u001B[0m, \u001B[1;36m55\u001B[0m, \u001B[1;36m56\u001B[0m, \u001B[1;36m57\u001B[0m, \u001B[1;36m58\u001B[0m, \u001B[1;36m59\u001B[0m, \u001B[1;36m60\u001B[0m, \u001B[1;36m61\u001B[0m, \u001B[1;36m62\u001B[0m, \u001B[1;36m63\u001B[0m, \u001B[1;36m64\u001B[0m, \u001B[1;36m65\u001B[0m, \u001B[1;36m66\u001B[0m,\n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m67\u001B[0m, \u001B[1;36m68\u001B[0m, \u001B[1;36m69\u001B[0m, \u001B[1;36m70\u001B[0m, \u001B[1;36m71\u001B[0m, \u001B[1;36m72\u001B[0m, \u001B[1;36m73\u001B[0m, \u001B[1;36m74\u001B[0m, \u001B[1;36m75\u001B[0m, \u001B[1;36m76\u001B[0m, \u001B[1;36m77\u001B[0m, \u001B[1;36m78\u001B[0m, \u001B[1;36m79\u001B[0m, \u001B[1;36m80\u001B[0m, \u001B[1;36m81\u001B[0m, \u001B[1;36m82\u001B[0m, \u001B[1;36m83\u001B[0m,\n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m84\u001B[0m, \u001B[1;36m85\u001B[0m, \u001B[1;36m86\u001B[0m, \u001B[1;36m87\u001B[0m, \u001B[1;36m88\u001B[0m, \u001B[1;36m89\u001B[0m, \u001B[1;36m90\u001B[0m, \u001B[1;36m91\u001B[0m, \u001B[1;36m92\u001B[0m, \u001B[1;36m93\u001B[0m, \u001B[1;36m94\u001B[0m, \u001B[1;36m95\u001B[0m, \u001B[1;36m96\u001B[0m, \u001B[1;36m97\u001B[0m, \u001B[1;36m98\u001B[0m, \u001B[1;36m99\u001B[0m,    \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m100\u001B[0m, \u001B[1;36m101\u001B[0m, \u001B[1;36m102\u001B[0m, \u001B[1;36m103\u001B[0m, \u001B[1;36m104\u001B[0m, \u001B[1;36m105\u001B[0m, \u001B[1;36m106\u001B[0m, \u001B[1;36m107\u001B[0m, \u001B[1;36m108\u001B[0m, \u001B[1;36m109\u001B[0m, \u001B[1;36m110\u001B[0m, \u001B[1;36m111\u001B[0m, \u001B[1;36m112\u001B[0m,   \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m113\u001B[0m, \u001B[1;36m114\u001B[0m, \u001B[1;36m115\u001B[0m, \u001B[1;36m116\u001B[0m, \u001B[1;36m117\u001B[0m, \u001B[1;36m118\u001B[0m, \u001B[1;36m119\u001B[0m, \u001B[1;36m120\u001B[0m, \u001B[1;36m121\u001B[0m, \u001B[1;36m122\u001B[0m, \u001B[1;36m123\u001B[0m, \u001B[1;36m124\u001B[0m, \u001B[1;36m125\u001B[0m,   \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m126\u001B[0m, \u001B[1;36m127\u001B[0m, \u001B[1;36m128\u001B[0m, \u001B[1;36m129\u001B[0m, \u001B[1;36m130\u001B[0m, \u001B[1;36m131\u001B[0m, \u001B[1;36m132\u001B[0m, \u001B[1;36m133\u001B[0m, \u001B[1;36m134\u001B[0m, \u001B[1;36m135\u001B[0m, \u001B[1;36m136\u001B[0m, \u001B[1;36m137\u001B[0m, \u001B[1;36m138\u001B[0m,   \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m139\u001B[0m, \u001B[1;36m140\u001B[0m, \u001B[1;36m141\u001B[0m, \u001B[1;36m142\u001B[0m, \u001B[1;36m143\u001B[0m, \u001B[1;36m144\u001B[0m, \u001B[1;36m145\u001B[0m, \u001B[1;36m146\u001B[0m, \u001B[1;36m147\u001B[0m, \u001B[1;36m148\u001B[0m, \u001B[1;36m149\u001B[0m, \u001B[1;36m150\u001B[0m, \u001B[1;36m151\u001B[0m,   \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m152\u001B[0m, \u001B[1;36m153\u001B[0m, \u001B[1;36m154\u001B[0m, \u001B[1;36m155\u001B[0m, \u001B[1;36m156\u001B[0m, \u001B[1;36m157\u001B[0m, \u001B[1;36m158\u001B[0m, \u001B[1;36m159\u001B[0m, \u001B[1;36m160\u001B[0m, \u001B[1;36m161\u001B[0m                   \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m0\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                             \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m1\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                             \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m2\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                             \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m3\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                             \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m4\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                             \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m5\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                             \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m6\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                             \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m7\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                             \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m8\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                             \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m9\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                             \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m10\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m11\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m12\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m13\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m14\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m15\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m16\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m17\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m18\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m19\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m20\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m21\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m22\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m23\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m24\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m25\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m26\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m27\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m28\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m29\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m30\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m31\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m32\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m33\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m34\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m35\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m36\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m37\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m38\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m39\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m40\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m41\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m42\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m43\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m44\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m45\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m46\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m47\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m48\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m49\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m50\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m51\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m52\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m53\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m54\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m55\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m56\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m57\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m58\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m59\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m60\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m61\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m62\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m63\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m64\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m65\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m66\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m67\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m68\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m69\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m70\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m71\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m72\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m73\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m74\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m75\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m76\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m77\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m78\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m79\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m80\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m81\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m82\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m83\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m84\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m85\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m86\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m87\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m88\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m89\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m90\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m91\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m92\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m93\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m94\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m95\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m96\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m97\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m98\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m99\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                            \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m100\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                           \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m101\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                           \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m102\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                           \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m103\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                           \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m104\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                           \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m105\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                           \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m106\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                           \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m107\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                           \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m108\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                           \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m109\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                           \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m110\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                           \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m111\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                           \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m112\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                           \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m113\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                           \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m114\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                           \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m115\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                           \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m116\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                           \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m117\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                           \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m118\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                           \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m119\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                           \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m120\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                           \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m121\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                           \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m122\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                           \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m123\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                           \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m124\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                           \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m125\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                           \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m126\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                           \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m127\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                           \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m128\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                           \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m129\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                           \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m130\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                           \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m131\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                           \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m132\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                           \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m133\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                           \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m134\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                           \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m135\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                           \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m136\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                           \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m137\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                           \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m138\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                           \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m139\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                           \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m140\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                           \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m141\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                           \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m142\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                           \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m143\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                           \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m144\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                           \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m145\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                           \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m146\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                           \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m147\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                           \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m148\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                           \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m149\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                           \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m150\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                           \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m151\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                           \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m152\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                           \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m153\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                           \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m154\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                           \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m155\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                           \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m156\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                           \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m157\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                           \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m158\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                           \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m159\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                           \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m160\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                           \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m161\u001B[0m: ParameterInt \u001B[1m(\u001B[0m\u001B[1;36m0\u001B[0m, \u001B[1;36m1\u001B[0m\u001B[1m)\u001B[0m                                           \n",
       "\u001B[2;36m             \u001B[0m                                                                   \n",
       "\u001B[2;36m             \u001B[0mMaximum Run Count: \u001B[1;36m780\u001B[0m                                             \n",
       "\u001B[2;36m             \u001B[0m                                                                   \n"
      ],
      "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\">09:51:27 CET </span>                                                                   \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span>Summary of DesignSpace                                             \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span>                                                                   \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span>Method: MethodGenAlg                                               \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span>Method Args                                                        \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span>solutions_per_pop: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">30</span>                                              \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span>n_generations: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">25</span>                                                  \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span>n_parents_mating: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">10</span>                                               \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span>stop_criteria_type: saturate                                       \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span>stop_criteria_number: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">6.0</span>                                          \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span>parent_selection_type: sss                                         \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span>keep_parents: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">-1</span>                                                   \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span>keep_elitism: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span>                                                    \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span>crossover_type: single_point                                       \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span>crossover_prob: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0.7</span>                                                \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span>mutation_type: inversion                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span>mutation_prob: <span style=\"color: #800080; text-decoration-color: #800080; font-style: italic\">None</span>                                                \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span>save_solution: <span style=\"color: #ff0000; text-decoration-color: #ff0000; font-style: italic\">False</span>                                               \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span>                                                                   \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span>No. of Parameters: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">162</span>                                             \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span>Parameters: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">2</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">3</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">4</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">5</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">6</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">7</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">8</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">9</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">10</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">11</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">12</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">13</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">14</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">15</span>,  \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">16</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">17</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">18</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">19</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">20</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">21</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">22</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">23</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">24</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">25</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">26</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">27</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">28</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">29</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">30</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">31</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">32</span>,\n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">33</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">34</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">35</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">36</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">37</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">38</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">39</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">40</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">41</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">42</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">43</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">44</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">45</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">46</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">47</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">48</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">49</span>,\n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">50</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">51</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">52</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">53</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">54</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">55</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">56</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">57</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">58</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">59</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">60</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">61</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">62</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">63</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">64</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">65</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">66</span>,\n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">67</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">68</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">69</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">70</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">71</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">72</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">73</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">74</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">75</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">76</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">77</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">78</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">79</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">80</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">81</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">82</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">83</span>,\n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">84</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">85</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">86</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">87</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">88</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">89</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">90</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">91</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">92</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">93</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">94</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">95</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">96</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">97</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">98</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">99</span>,    \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">100</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">101</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">102</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">103</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">104</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">105</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">106</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">107</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">108</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">109</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">110</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">111</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">112</span>,   \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">113</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">114</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">115</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">116</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">117</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">118</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">119</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">120</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">121</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">122</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">123</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">124</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">125</span>,   \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">126</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">127</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">128</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">129</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">130</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">131</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">132</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">133</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">134</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">135</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">136</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">137</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">138</span>,   \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">139</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">140</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">141</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">142</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">143</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">144</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">145</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">146</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">147</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">148</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">149</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">150</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">151</span>,   \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">152</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">153</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">154</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">155</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">156</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">157</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">158</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">159</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">160</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">161</span>                   \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                             \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                             \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">2</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                             \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">3</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                             \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">4</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                             \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">5</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                             \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">6</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                             \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">7</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                             \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">8</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                             \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">9</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                             \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">10</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">11</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">12</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">13</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">14</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">15</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">16</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">17</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">18</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">19</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">20</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">21</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">22</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">23</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">24</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">25</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">26</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">27</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">28</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">29</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">30</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">31</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">32</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">33</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">34</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">35</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">36</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">37</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">38</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">39</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">40</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">41</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">42</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">43</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">44</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">45</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">46</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">47</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">48</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">49</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">50</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">51</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">52</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">53</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">54</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">55</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">56</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">57</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">58</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">59</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">60</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">61</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">62</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">63</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">64</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">65</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">66</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">67</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">68</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">69</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">70</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">71</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">72</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">73</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">74</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">75</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">76</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">77</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">78</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">79</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">80</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">81</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">82</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">83</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">84</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">85</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">86</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">87</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">88</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">89</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">90</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">91</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">92</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">93</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">94</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">95</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">96</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">97</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">98</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">99</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                            \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">100</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">101</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">102</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">103</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">104</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">105</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">106</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">107</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">108</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">109</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">110</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">111</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">112</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">113</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">114</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">115</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">116</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">117</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">118</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">119</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">120</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">121</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">122</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">123</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">124</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">125</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">126</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">127</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">128</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">129</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">130</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">131</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">132</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">133</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">134</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">135</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">136</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">137</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">138</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">139</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">140</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">141</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">142</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">143</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">144</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">145</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">146</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">147</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">148</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">149</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">150</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">151</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">152</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">153</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">154</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">155</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">156</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">157</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">158</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">159</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">160</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">161</span>: ParameterInt <span style=\"font-weight: bold\">(</span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>, <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span><span style=\"font-weight: bold\">)</span>                                           \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span>                                                                   \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span>Maximum Run Count: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">780</span>                                             \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span>                                                                   \n",
       "</pre>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "data": {
      "text/plain": [
       "\u001B[2;36m            \u001B[0m\u001B[2;36m \u001B[0mNotes:                                                             \n"
      ],
      "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\">             </span>Notes:                                                             \n",
       "</pre>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "data": {
      "text/plain": [
       "\u001B[2;36m            \u001B[0m\u001B[2;36m \u001B[0mThe maximum run count for MethodGenAlg is difficult to predict.    \n",
       "\u001B[2;36m             \u001B[0mRepeated solutions are not executed, reducing the total number of  \n",
       "\u001B[2;36m             \u001B[0msimulations. High crossover and mutation probabilities may result  \n",
       "\u001B[2;36m             \u001B[0min an increased number of simulations, potentially exceeding the   \n",
       "\u001B[2;36m             \u001B[0mpredicted maximum run count.                                       \n"
      ],
      "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\">             </span>The maximum run count for MethodGenAlg is difficult to predict.    \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span>Repeated solutions are not executed, reducing the total number of  \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span>simulations. High crossover and mutation probabilities may result  \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span>in an increased number of simulations, potentially exceeding the   \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span>predicted maximum run count.                                       \n",
       "</pre>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "data": {
      "text/plain": [
       "\u001B[2;36m            \u001B[0m\u001B[2;36m \u001B[0mDiscrete \u001B[32m'int'\u001B[0m values are automatically rounded if optimizers      \n",
       "\u001B[2;36m             \u001B[0mgenerate \u001B[32m'float'\u001B[0m predictions.                                      \n",
       "\u001B[2;36m             \u001B[0m                                                                   \n"
      ],
      "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\">             </span>Discrete <span style=\"color: #008000; text-decoration-color: #008000\">'int'</span> values are automatically rounded if optimizers      \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span>generate <span style=\"color: #008000; text-decoration-color: #008000\">'float'</span> predictions.                                      \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span>                                                                   \n",
       "</pre>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    }
   ],
   "execution_count": 10
  },
  {
   "cell_type": "markdown",
   "id": "9be63767",
   "metadata": {},
   "source": [
    "To run the GA optimization we need to define the `fn_pre` and `fn_post` functions for the optimizer. The pre function creates a `Simulation` from the parameters suggested by GA as a solution to the reflector. The post function defines how the `SimulationData` should be evaluated to create a single float value which is then fed back into the GA. By evaluating of the float values of the current generation the GA can then assemble the population for the next generation, based on our hyperparameters."
   ]
  },
  {
   "cell_type": "code",
   "id": "4873608a",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2026-01-29T08:51:27.407088Z",
     "start_time": "2026-01-29T08:51:27.404867Z"
    }
   },
   "source": [
    "def fn_pre(**params):\n",
    "    pixels = np.array(list(params.values()))\n",
    "    sim = make_sim(pixels)\n",
    "\n",
    "    return sim\n",
    "\n",
    "\n",
    "def fn_post(sim_data):\n",
    "    return abs(sim_data[\"mode\"].amps.sel(direction=\"-\").squeeze(drop=True).values) ** 2"
   ],
   "outputs": [],
   "execution_count": 11
  },
  {
   "cell_type": "markdown",
   "id": "94a1d492",
   "metadata": {},
   "source": [
    "Once satisfied with the setup, the optimization can be started by calling `DesignSpace.run` with our `fn_pre` and `fn_post` functions. The `DesignSpace` will parallelize each generation by running the `Simulation` objects as a batch, and will prevent previously evaluated solutions from being recomputed. Once complete, we can combine all the solution outputs within a Pandas `DataFrame` for further analysis."
   ]
  },
  {
   "cell_type": "code",
   "id": "191a78ce",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2026-01-29T13:14:43.768998Z",
     "start_time": "2026-01-29T08:51:27.451722Z"
    }
   },
   "source": [
    "results = design_space.run(fn_pre, fn_post, verbose=True)\n",
    "df = results.to_dataframe()"
   ],
   "outputs": [
    {
     "data": {
      "text/plain": [
       "\u001B[2;36m09:51:28 CET\u001B[0m\u001B[2;36m \u001B[0mRunning \u001B[1;36m30\u001B[0m Simulations                                             \n"
      ],
      "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\">09:51:28 CET </span>Running <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">30</span> Simulations                                             \n",
       "</pre>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "data": {
      "text/plain": [
       "\u001B[2;36m09:56:37 CET\u001B[0m\u001B[2;36m \u001B[0mRunning \u001B[1;36m29\u001B[0m Simulations                                             \n"
      ],
      "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\">09:56:37 CET </span>Running <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">29</span> Simulations                                             \n",
       "</pre>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "data": {
      "text/plain": [
       "\u001B[2;36m10:07:51 CET\u001B[0m\u001B[2;36m \u001B[0mGeneration \u001B[1;36m1\u001B[0m Best Fitness: \u001B[1;36m0.723\u001B[0m                                   \n"
      ],
      "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\">10:07:51 CET </span>Generation <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> Best Fitness: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0.723</span>                                   \n",
       "</pre>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "data": {
      "text/plain": [
       "\u001B[2;36m10:07:52 CET\u001B[0m\u001B[2;36m \u001B[0mRunning \u001B[1;36m29\u001B[0m Simulations                                             \n"
      ],
      "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\">10:07:52 CET </span>Running <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">29</span> Simulations                                             \n",
       "</pre>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "data": {
      "text/plain": [
       "\u001B[2;36m10:11:40 CET\u001B[0m\u001B[2;36m \u001B[0mGeneration \u001B[1;36m2\u001B[0m Best Fitness: \u001B[1;36m0.760\u001B[0m                                   \n"
      ],
      "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\">10:11:40 CET </span>Generation <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">2</span> Best Fitness: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0.760</span>                                   \n",
       "</pre>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "data": {
      "text/plain": [
       "\u001B[2;36m10:11:41 CET\u001B[0m\u001B[2;36m \u001B[0mRunning \u001B[1;36m29\u001B[0m Simulations                                             \n"
      ],
      "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\">10:11:41 CET </span>Running <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">29</span> Simulations                                             \n",
       "</pre>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "data": {
      "text/plain": [
       "\u001B[2;36m10:33:04 CET\u001B[0m\u001B[2;36m \u001B[0mGeneration \u001B[1;36m3\u001B[0m Best Fitness: \u001B[1;36m0.760\u001B[0m                                   \n"
      ],
      "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\">10:33:04 CET </span>Generation <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">3</span> Best Fitness: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0.760</span>                                   \n",
       "</pre>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "data": {
      "text/plain": [
       "\u001B[2;36m10:33:05 CET\u001B[0m\u001B[2;36m \u001B[0mRunning \u001B[1;36m29\u001B[0m Simulations                                             \n"
      ],
      "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\">10:33:05 CET </span>Running <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">29</span> Simulations                                             \n",
       "</pre>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "data": {
      "text/plain": [
       "\u001B[2;36m10:35:22 CET\u001B[0m\u001B[2;36m \u001B[0mGeneration \u001B[1;36m4\u001B[0m Best Fitness: \u001B[1;36m0.760\u001B[0m                                   \n"
      ],
      "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\">10:35:22 CET </span>Generation <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">4</span> Best Fitness: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0.760</span>                                   \n",
       "</pre>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "data": {
      "text/plain": [
       "\u001B[2;36m10:35:23 CET\u001B[0m\u001B[2;36m \u001B[0mRunning \u001B[1;36m29\u001B[0m Simulations                                             \n"
      ],
      "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\">10:35:23 CET </span>Running <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">29</span> Simulations                                             \n",
       "</pre>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "data": {
      "text/plain": [
       "\u001B[2;36m10:38:17 CET\u001B[0m\u001B[2;36m \u001B[0mGeneration \u001B[1;36m5\u001B[0m Best Fitness: \u001B[1;36m0.765\u001B[0m                                   \n"
      ],
      "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\">10:38:17 CET </span>Generation <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">5</span> Best Fitness: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0.765</span>                                   \n",
       "</pre>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "data": {
      "text/plain": [
       "\u001B[2;36m10:38:18 CET\u001B[0m\u001B[2;36m \u001B[0mRunning \u001B[1;36m29\u001B[0m Simulations                                             \n"
      ],
      "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\">10:38:18 CET </span>Running <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">29</span> Simulations                                             \n",
       "</pre>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "data": {
      "text/plain": [
       "\u001B[2;36m11:26:00 CET\u001B[0m\u001B[2;36m \u001B[0mGeneration \u001B[1;36m6\u001B[0m Best Fitness: \u001B[1;36m0.765\u001B[0m                                   \n"
      ],
      "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\">11:26:00 CET </span>Generation <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">6</span> Best Fitness: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0.765</span>                                   \n",
       "</pre>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "data": {
      "text/plain": [
       "\u001B[2;36m11:26:01 CET\u001B[0m\u001B[2;36m \u001B[0mRunning \u001B[1;36m29\u001B[0m Simulations                                             \n"
      ],
      "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\">11:26:01 CET </span>Running <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">29</span> Simulations                                             \n",
       "</pre>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "data": {
      "text/plain": [
       "\u001B[2;36m11:30:22 CET\u001B[0m\u001B[2;36m \u001B[0mGeneration \u001B[1;36m7\u001B[0m Best Fitness: \u001B[1;36m0.784\u001B[0m                                   \n"
      ],
      "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\">11:30:22 CET </span>Generation <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">7</span> Best Fitness: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0.784</span>                                   \n",
       "</pre>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "data": {
      "text/plain": [
       "\u001B[2;36m11:30:24 CET\u001B[0m\u001B[2;36m \u001B[0mRunning \u001B[1;36m29\u001B[0m Simulations                                             \n"
      ],
      "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\">11:30:24 CET </span>Running <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">29</span> Simulations                                             \n",
       "</pre>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "data": {
      "text/plain": [
       "\u001B[2;36m12:47:22 CET\u001B[0m\u001B[2;36m \u001B[0mGeneration \u001B[1;36m8\u001B[0m Best Fitness: \u001B[1;36m0.784\u001B[0m                                   \n"
      ],
      "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:47:22 CET </span>Generation <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">8</span> Best Fitness: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0.784</span>                                   \n",
       "</pre>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "data": {
      "text/plain": [
       "\u001B[2;36m12:47:24 CET\u001B[0m\u001B[2;36m \u001B[0mRunning \u001B[1;36m29\u001B[0m Simulations                                             \n"
      ],
      "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:47:24 CET </span>Running <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">29</span> Simulations                                             \n",
       "</pre>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "data": {
      "text/plain": [
       "\u001B[2;36m12:55:05 CET\u001B[0m\u001B[2;36m \u001B[0mGeneration \u001B[1;36m9\u001B[0m Best Fitness: \u001B[1;36m0.803\u001B[0m                                   \n"
      ],
      "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:55:05 CET </span>Generation <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">9</span> Best Fitness: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0.803</span>                                   \n",
       "</pre>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "data": {
      "text/plain": [
       "\u001B[2;36m12:55:06 CET\u001B[0m\u001B[2;36m \u001B[0mRunning \u001B[1;36m29\u001B[0m Simulations                                             \n"
      ],
      "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:55:06 CET </span>Running <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">29</span> Simulations                                             \n",
       "</pre>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "data": {
      "text/plain": [
       "\u001B[2;36m13:00:11 CET\u001B[0m\u001B[2;36m \u001B[0mGeneration \u001B[1;36m10\u001B[0m Best Fitness: \u001B[1;36m0.816\u001B[0m                                  \n"
      ],
      "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\">13:00:11 CET </span>Generation <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">10</span> Best Fitness: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0.816</span>                                  \n",
       "</pre>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "data": {
      "text/plain": [
       "\u001B[2;36m13:00:12 CET\u001B[0m\u001B[2;36m \u001B[0mRunning \u001B[1;36m29\u001B[0m Simulations                                             \n"
      ],
      "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\">13:00:12 CET </span>Running <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">29</span> Simulations                                             \n",
       "</pre>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "data": {
      "text/plain": [
       "\u001B[2;36m13:03:31 CET\u001B[0m\u001B[2;36m \u001B[0mGeneration \u001B[1;36m11\u001B[0m Best Fitness: \u001B[1;36m0.816\u001B[0m                                  \n"
      ],
      "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\">13:03:31 CET </span>Generation <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">11</span> Best Fitness: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0.816</span>                                  \n",
       "</pre>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "data": {
      "text/plain": [
       "\u001B[2;36m13:03:32 CET\u001B[0m\u001B[2;36m \u001B[0mRunning \u001B[1;36m29\u001B[0m Simulations                                             \n"
      ],
      "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\">13:03:32 CET </span>Running <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">29</span> Simulations                                             \n",
       "</pre>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "data": {
      "text/plain": [
       "\u001B[2;36m13:08:08 CET\u001B[0m\u001B[2;36m \u001B[0mGeneration \u001B[1;36m12\u001B[0m Best Fitness: \u001B[1;36m0.829\u001B[0m                                  \n"
      ],
      "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\">13:08:08 CET </span>Generation <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">12</span> Best Fitness: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0.829</span>                                  \n",
       "</pre>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "data": {
      "text/plain": [
       "\u001B[2;36m13:08:09 CET\u001B[0m\u001B[2;36m \u001B[0mRunning \u001B[1;36m29\u001B[0m Simulations                                             \n"
      ],
      "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\">13:08:09 CET </span>Running <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">29</span> Simulations                                             \n",
       "</pre>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "data": {
      "text/plain": [
       "\u001B[2;36m13:13:54 CET\u001B[0m\u001B[2;36m \u001B[0mGeneration \u001B[1;36m13\u001B[0m Best Fitness: \u001B[1;36m0.829\u001B[0m                                  \n"
      ],
      "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\">13:13:54 CET </span>Generation <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">13</span> Best Fitness: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0.829</span>                                  \n",
       "</pre>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "data": {
      "text/plain": [
       "\u001B[2;36m13:13:55 CET\u001B[0m\u001B[2;36m \u001B[0mRunning \u001B[1;36m29\u001B[0m Simulations                                             \n"
      ],
      "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\">13:13:55 CET </span>Running <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">29</span> Simulations                                             \n",
       "</pre>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "data": {
      "text/plain": [
       "\u001B[2;36m13:17:24 CET\u001B[0m\u001B[2;36m \u001B[0mGeneration \u001B[1;36m14\u001B[0m Best Fitness: \u001B[1;36m0.829\u001B[0m                                  \n"
      ],
      "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\">13:17:24 CET </span>Generation <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">14</span> Best Fitness: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0.829</span>                                  \n",
       "</pre>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "data": {
      "text/plain": [
       "\u001B[2;36m13:17:26 CET\u001B[0m\u001B[2;36m \u001B[0mRunning \u001B[1;36m29\u001B[0m Simulations                                             \n"
      ],
      "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\">13:17:26 CET </span>Running <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">29</span> Simulations                                             \n",
       "</pre>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "data": {
      "text/plain": [
       "\u001B[2;36m13:21:24 CET\u001B[0m\u001B[2;36m \u001B[0mGeneration \u001B[1;36m15\u001B[0m Best Fitness: \u001B[1;36m0.866\u001B[0m                                  \n"
      ],
      "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\">13:21:24 CET </span>Generation <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">15</span> Best Fitness: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0.866</span>                                  \n",
       "</pre>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "data": {
      "text/plain": [
       "\u001B[2;36m13:21:25 CET\u001B[0m\u001B[2;36m \u001B[0mRunning \u001B[1;36m29\u001B[0m Simulations                                             \n"
      ],
      "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\">13:21:25 CET </span>Running <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">29</span> Simulations                                             \n",
       "</pre>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "data": {
      "text/plain": [
       "\u001B[2;36m13:24:23 CET\u001B[0m\u001B[2;36m \u001B[0mGeneration \u001B[1;36m16\u001B[0m Best Fitness: \u001B[1;36m0.866\u001B[0m                                  \n"
      ],
      "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\">13:24:23 CET </span>Generation <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">16</span> Best Fitness: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0.866</span>                                  \n",
       "</pre>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "data": {
      "text/plain": [
       "\u001B[2;36m13:24:24 CET\u001B[0m\u001B[2;36m \u001B[0mRunning \u001B[1;36m29\u001B[0m Simulations                                             \n"
      ],
      "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\">13:24:24 CET </span>Running <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">29</span> Simulations                                             \n",
       "</pre>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "data": {
      "text/plain": [
       "\u001B[2;36m13:46:52 CET\u001B[0m\u001B[2;36m \u001B[0mGeneration \u001B[1;36m17\u001B[0m Best Fitness: \u001B[1;36m0.912\u001B[0m                                  \n"
      ],
      "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\">13:46:52 CET </span>Generation <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">17</span> Best Fitness: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0.912</span>                                  \n",
       "</pre>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "data": {
      "text/plain": [
       "\u001B[2;36m13:46:54 CET\u001B[0m\u001B[2;36m \u001B[0mRunning \u001B[1;36m29\u001B[0m Simulations                                             \n"
      ],
      "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\">13:46:54 CET </span>Running <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">29</span> Simulations                                             \n",
       "</pre>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "data": {
      "text/plain": [
       "\u001B[2;36m13:49:52 CET\u001B[0m\u001B[2;36m \u001B[0mGeneration \u001B[1;36m18\u001B[0m Best Fitness: \u001B[1;36m0.912\u001B[0m                                  \n"
      ],
      "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\">13:49:52 CET </span>Generation <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">18</span> Best Fitness: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0.912</span>                                  \n",
       "</pre>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "data": {
      "text/plain": [
       "\u001B[2;36m13:49:53 CET\u001B[0m\u001B[2;36m \u001B[0mRunning \u001B[1;36m29\u001B[0m Simulations                                             \n"
      ],
      "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\">13:49:53 CET </span>Running <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">29</span> Simulations                                             \n",
       "</pre>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "data": {
      "text/plain": [
       "\u001B[2;36m13:52:48 CET\u001B[0m\u001B[2;36m \u001B[0mGeneration \u001B[1;36m19\u001B[0m Best Fitness: \u001B[1;36m0.912\u001B[0m                                  \n"
      ],
      "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\">13:52:48 CET </span>Generation <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">19</span> Best Fitness: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0.912</span>                                  \n",
       "</pre>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "data": {
      "text/plain": [
       "\u001B[2;36m13:52:49 CET\u001B[0m\u001B[2;36m \u001B[0mRunning \u001B[1;36m29\u001B[0m Simulations                                             \n"
      ],
      "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\">13:52:49 CET </span>Running <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">29</span> Simulations                                             \n",
       "</pre>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "data": {
      "text/plain": [
       "\u001B[2;36m13:55:41 CET\u001B[0m\u001B[2;36m \u001B[0mGeneration \u001B[1;36m20\u001B[0m Best Fitness: \u001B[1;36m0.912\u001B[0m                                  \n"
      ],
      "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\">13:55:41 CET </span>Generation <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">20</span> Best Fitness: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0.912</span>                                  \n",
       "</pre>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "data": {
      "text/plain": [
       "\u001B[2;36m13:55:42 CET\u001B[0m\u001B[2;36m \u001B[0mRunning \u001B[1;36m29\u001B[0m Simulations                                             \n"
      ],
      "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\">13:55:42 CET </span>Running <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">29</span> Simulations                                             \n",
       "</pre>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "data": {
      "text/plain": [
       "\u001B[2;36m14:04:19 CET\u001B[0m\u001B[2;36m \u001B[0mGeneration \u001B[1;36m21\u001B[0m Best Fitness: \u001B[1;36m0.912\u001B[0m                                  \n"
      ],
      "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\">14:04:19 CET </span>Generation <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">21</span> Best Fitness: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0.912</span>                                  \n",
       "</pre>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "data": {
      "text/plain": [
       "\u001B[2;36m14:04:20 CET\u001B[0m\u001B[2;36m \u001B[0mRunning \u001B[1;36m29\u001B[0m Simulations                                             \n"
      ],
      "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\">14:04:20 CET </span>Running <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">29</span> Simulations                                             \n",
       "</pre>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "data": {
      "text/plain": [
       "\u001B[2;36m14:06:37 CET\u001B[0m\u001B[2;36m \u001B[0mGeneration \u001B[1;36m22\u001B[0m Best Fitness: \u001B[1;36m0.912\u001B[0m                                  \n"
      ],
      "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\">14:06:37 CET </span>Generation <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">22</span> Best Fitness: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0.912</span>                                  \n",
       "</pre>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "data": {
      "text/plain": [
       "\u001B[2;36m14:06:38 CET\u001B[0m\u001B[2;36m \u001B[0mRunning \u001B[1;36m29\u001B[0m Simulations                                             \n"
      ],
      "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\">14:06:38 CET </span>Running <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">29</span> Simulations                                             \n",
       "</pre>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "data": {
      "text/plain": [
       "\u001B[2;36m14:14:43 CET\u001B[0m\u001B[2;36m \u001B[0mGeneration \u001B[1;36m23\u001B[0m Best Fitness: \u001B[1;36m0.912\u001B[0m                                  \n"
      ],
      "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\">14:14:43 CET </span>Generation <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">23</span> Best Fitness: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0.912</span>                                  \n",
       "</pre>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "data": {
      "text/plain": [
       "\u001B[2;36m            \u001B[0m\u001B[2;36m \u001B[0mBest Result: \u001B[1;36m0.9124056393046921\u001B[0m                                    \n",
       "\u001B[2;36m             \u001B[0mBest Parameters: \u001B[1;36m0\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m1\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m2\u001B[0m: \u001B[1;36m0\u001B[0m \u001B[1;36m3\u001B[0m: \u001B[1;36m0\u001B[0m \u001B[1;36m4\u001B[0m: \u001B[1;36m0\u001B[0m \u001B[1;36m5\u001B[0m: \u001B[1;36m0\u001B[0m \u001B[1;36m6\u001B[0m: \u001B[1;36m0\u001B[0m \u001B[1;36m7\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m8\u001B[0m: \u001B[1;36m0\u001B[0m \u001B[1;36m9\u001B[0m: \u001B[1;36m0\u001B[0m \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m10\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m11\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m12\u001B[0m: \u001B[1;36m0\u001B[0m \u001B[1;36m13\u001B[0m: \u001B[1;36m0\u001B[0m \u001B[1;36m14\u001B[0m: \u001B[1;36m0\u001B[0m \u001B[1;36m15\u001B[0m: \u001B[1;36m0\u001B[0m \u001B[1;36m16\u001B[0m: \u001B[1;36m0\u001B[0m \u001B[1;36m17\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m18\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m19\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m20\u001B[0m: \u001B[1;36m0\u001B[0m  \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m21\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m22\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m23\u001B[0m: \u001B[1;36m0\u001B[0m \u001B[1;36m24\u001B[0m: \u001B[1;36m0\u001B[0m \u001B[1;36m25\u001B[0m: \u001B[1;36m0\u001B[0m \u001B[1;36m26\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m27\u001B[0m: \u001B[1;36m0\u001B[0m \u001B[1;36m28\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m29\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m30\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m31\u001B[0m: \u001B[1;36m1\u001B[0m  \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m32\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m33\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m34\u001B[0m: \u001B[1;36m0\u001B[0m \u001B[1;36m35\u001B[0m: \u001B[1;36m0\u001B[0m \u001B[1;36m36\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m37\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m38\u001B[0m: \u001B[1;36m0\u001B[0m \u001B[1;36m39\u001B[0m: \u001B[1;36m0\u001B[0m \u001B[1;36m40\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m41\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m42\u001B[0m: \u001B[1;36m0\u001B[0m  \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m43\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m44\u001B[0m: \u001B[1;36m0\u001B[0m \u001B[1;36m45\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m46\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m47\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m48\u001B[0m: \u001B[1;36m0\u001B[0m \u001B[1;36m49\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m50\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m51\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m52\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m53\u001B[0m: \u001B[1;36m1\u001B[0m  \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m54\u001B[0m: \u001B[1;36m0\u001B[0m \u001B[1;36m55\u001B[0m: \u001B[1;36m0\u001B[0m \u001B[1;36m56\u001B[0m: \u001B[1;36m0\u001B[0m \u001B[1;36m57\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m58\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m59\u001B[0m: \u001B[1;36m0\u001B[0m \u001B[1;36m60\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m61\u001B[0m: \u001B[1;36m0\u001B[0m \u001B[1;36m62\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m63\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m64\u001B[0m: \u001B[1;36m0\u001B[0m  \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m65\u001B[0m: \u001B[1;36m0\u001B[0m \u001B[1;36m66\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m67\u001B[0m: \u001B[1;36m0\u001B[0m \u001B[1;36m68\u001B[0m: \u001B[1;36m0\u001B[0m \u001B[1;36m69\u001B[0m: \u001B[1;36m0\u001B[0m \u001B[1;36m70\u001B[0m: \u001B[1;36m0\u001B[0m \u001B[1;36m71\u001B[0m: \u001B[1;36m0\u001B[0m \u001B[1;36m72\u001B[0m: \u001B[1;36m0\u001B[0m \u001B[1;36m73\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m74\u001B[0m: \u001B[1;36m0\u001B[0m \u001B[1;36m75\u001B[0m: \u001B[1;36m0\u001B[0m  \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m76\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m77\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m78\u001B[0m: \u001B[1;36m0\u001B[0m \u001B[1;36m79\u001B[0m: \u001B[1;36m0\u001B[0m \u001B[1;36m80\u001B[0m: \u001B[1;36m0\u001B[0m \u001B[1;36m81\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m82\u001B[0m: \u001B[1;36m0\u001B[0m \u001B[1;36m83\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m84\u001B[0m: \u001B[1;36m0\u001B[0m \u001B[1;36m85\u001B[0m: \u001B[1;36m0\u001B[0m \u001B[1;36m86\u001B[0m: \u001B[1;36m0\u001B[0m  \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m87\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m88\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m89\u001B[0m: \u001B[1;36m0\u001B[0m \u001B[1;36m90\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m91\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m92\u001B[0m: \u001B[1;36m0\u001B[0m \u001B[1;36m93\u001B[0m: \u001B[1;36m0\u001B[0m \u001B[1;36m94\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m95\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m96\u001B[0m: \u001B[1;36m0\u001B[0m \u001B[1;36m97\u001B[0m: \u001B[1;36m1\u001B[0m  \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m98\u001B[0m: \u001B[1;36m0\u001B[0m \u001B[1;36m99\u001B[0m: \u001B[1;36m0\u001B[0m \u001B[1;36m100\u001B[0m: \u001B[1;36m0\u001B[0m \u001B[1;36m101\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m102\u001B[0m: \u001B[1;36m0\u001B[0m \u001B[1;36m103\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m104\u001B[0m: \u001B[1;36m0\u001B[0m \u001B[1;36m105\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m106\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m107\u001B[0m: \u001B[1;36m0\u001B[0m\n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m108\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m109\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m110\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m111\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m112\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m113\u001B[0m: \u001B[1;36m0\u001B[0m \u001B[1;36m114\u001B[0m: \u001B[1;36m0\u001B[0m \u001B[1;36m115\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m116\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m117\u001B[0m:\n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m1\u001B[0m \u001B[1;36m118\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m119\u001B[0m: \u001B[1;36m0\u001B[0m \u001B[1;36m120\u001B[0m: \u001B[1;36m0\u001B[0m \u001B[1;36m121\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m122\u001B[0m: \u001B[1;36m0\u001B[0m \u001B[1;36m123\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m124\u001B[0m: \u001B[1;36m0\u001B[0m \u001B[1;36m125\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m126\u001B[0m: \u001B[1;36m1\u001B[0m   \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m127\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m128\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m129\u001B[0m: \u001B[1;36m0\u001B[0m \u001B[1;36m130\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m131\u001B[0m: \u001B[1;36m0\u001B[0m \u001B[1;36m132\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m133\u001B[0m: \u001B[1;36m0\u001B[0m \u001B[1;36m134\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m135\u001B[0m: \u001B[1;36m0\u001B[0m \u001B[1;36m136\u001B[0m:\n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m0\u001B[0m \u001B[1;36m137\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m138\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m139\u001B[0m: \u001B[1;36m0\u001B[0m \u001B[1;36m140\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m141\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m142\u001B[0m: \u001B[1;36m0\u001B[0m \u001B[1;36m143\u001B[0m: \u001B[1;36m0\u001B[0m \u001B[1;36m144\u001B[0m: \u001B[1;36m0\u001B[0m \u001B[1;36m145\u001B[0m: \u001B[1;36m1\u001B[0m   \n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m146\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m147\u001B[0m: \u001B[1;36m0\u001B[0m \u001B[1;36m148\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m149\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m150\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m151\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m152\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m153\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m154\u001B[0m: \u001B[1;36m0\u001B[0m \u001B[1;36m155\u001B[0m:\n",
       "\u001B[2;36m             \u001B[0m\u001B[1;36m0\u001B[0m \u001B[1;36m156\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m157\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m158\u001B[0m: \u001B[1;36m0\u001B[0m \u001B[1;36m159\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m160\u001B[0m: \u001B[1;36m1\u001B[0m \u001B[1;36m161\u001B[0m: \u001B[1;36m0\u001B[0m                        \n",
       "\u001B[2;36m             \u001B[0m                                                                   \n"
      ],
      "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\">             </span>Best Result: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0.9124056393046921</span>                                    \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span>Best Parameters: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">2</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">3</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">4</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">5</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">6</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">7</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">8</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">9</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span> \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">10</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">11</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">12</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">13</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">14</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">15</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">16</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">17</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">18</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">19</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">20</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>  \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">21</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">22</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">23</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">24</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">25</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">26</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">27</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">28</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">29</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">30</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">31</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span>  \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">32</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">33</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">34</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">35</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">36</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">37</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">38</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">39</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">40</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">41</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">42</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>  \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">43</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">44</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">45</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">46</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">47</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">48</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">49</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">50</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">51</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">52</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">53</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span>  \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">54</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">55</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">56</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">57</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">58</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">59</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">60</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">61</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">62</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">63</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">64</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>  \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">65</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">66</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">67</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">68</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">69</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">70</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">71</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">72</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">73</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">74</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">75</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>  \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">76</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">77</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">78</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">79</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">80</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">81</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">82</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">83</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">84</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">85</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">86</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>  \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">87</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">88</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">89</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">90</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">91</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">92</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">93</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">94</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">95</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">96</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">97</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span>  \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">98</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">99</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">100</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">101</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">102</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">103</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">104</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">105</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">106</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">107</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>\n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">108</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">109</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">110</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">111</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">112</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">113</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">114</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">115</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">116</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">117</span>:\n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">118</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">119</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">120</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">121</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">122</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">123</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">124</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">125</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">126</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span>   \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">127</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">128</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">129</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">130</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">131</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">132</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">133</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">134</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">135</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">136</span>:\n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">137</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">138</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">139</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">140</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">141</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">142</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">143</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">144</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">145</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span>   \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">146</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">147</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">148</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">149</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">150</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">151</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">152</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">153</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">154</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">155</span>:\n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">156</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">157</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">158</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">159</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">160</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">1</span> <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">161</span>: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0</span>                        \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span>                                                                   \n",
       "</pre>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    }
   ],
   "execution_count": 12
  },
  {
   "cell_type": "markdown",
   "id": "0b67c427",
   "metadata": {},
   "source": [
    "## Optimization and Results"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "296adb3a",
   "metadata": {},
   "source": [
    "The optimization prints the best fitness achieved in after the generation has been computed. We can further visualize this improvement using the optimizer object stored in the ``results``. After the optimization is complete, we see that we achieved the best fitness (reflection) of 0.897."
   ]
  },
  {
   "cell_type": "code",
   "id": "8dfdc377",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2026-01-29T13:14:44.134554Z",
     "start_time": "2026-01-29T13:14:43.890051Z"
    }
   },
   "source": [
    "# Plotting the best fitness over generations\n",
    "ga_instance = results.optimizer\n",
    "best_fitness = ga_instance.best_solutions_fitness\n",
    "generations = range(len(best_fitness))\n",
    "\n",
    "plt.plot(generations, best_fitness)\n",
    "plt.title(\"Best Fitness over Generations\")\n",
    "plt.xlabel(\"Generation\")\n",
    "plt.ylabel(\"Best Fitness\")\n",
    "plt.show()\n",
    "\n",
    "pixels_final, solution_fitness, solution_idx = ga_instance.best_solution()\n",
    "print(f\"Fitness value of the best solution = {solution_fitness:.3f}\")\n",
    "\n",
    "\n",
    "def plot_fitness_evolution(data_frame, solutions_per_pop, fitness_column_name=\"output\"):\n",
    "    \"\"\"Plot the best, worst, and average fitness across generations.\"\"\"\n",
    "\n",
    "    # Divide the solutions into generations\n",
    "    fitness_values = data_frame[fitness_column_name]\n",
    "    generation_fitness = [\n",
    "        fitness_values[i : i + solutions_per_pop]\n",
    "        for i in range(0, len(fitness_values), solutions_per_pop)\n",
    "    ]\n",
    "\n",
    "    # Get min, max, and mean values per generation\n",
    "    min_fitness = [generation.min() for generation in generation_fitness]\n",
    "    max_fitness = [generation.max() for generation in generation_fitness]\n",
    "    mean_fitness = [generation.mean() for generation in generation_fitness]\n",
    "\n",
    "    plt.plot(min_fitness, label=\"Worst fitness\", alpha=0.5)\n",
    "    plt.plot(max_fitness, label=\"Best fitness\", alpha=0.5)\n",
    "    plt.plot(mean_fitness, label=\"Average fitness\", alpha=0.5)\n",
    "    plt.xlabel(\"Generation\")\n",
    "    plt.ylabel(\"Fitness\")\n",
    "    plt.legend()\n",
    "    plt.show()\n",
    "\n",
    "\n",
    "plot_fitness_evolution(df, 40)"
   ],
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ],
      "image/png": "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ISEhQWt78+bNAUAzwDk7OxtOTk44cOBAmX38d4yPkZGR1msymQxqtVqzDwDYvXs3GjVqpNVOqVRqPS/d3Tdz5kzs3bsXH374IVq0aAETExO89NJLKCgoqOSZVs3DzoOIah4DEhFJqmHDhujTpw8+++wzvPrqqxWOQ+rYsSOSk5NhaGgIV1fXxzpW27ZtoVQqkZiYiGeeeaZK7/3jjz8wfvx4DBo0CEBx2Lp27ZpWG4VCAZVK9dD9tGnTBn/88QeCgoK09t22bdsq1UNENYsBiYgkt3r1anTt2hU+Pj5YsGABPDw8IJfLcfz4cVy4cAHe3t7w9/dH586dMXDgQLz//vt46qmnkJSUhN27d2PQoEFlusTKY2FhgZkzZyI0NBRqtRrdunVDRkYG/vjjD1haWmqFltJatmyJ7du3IzAwEDKZDPPmzStzRcfV1RW///47RowYAaVSCVtb2zL7efPNNzFs2DB06NAB/v7+2LlzJ7Zv3651RxwRSY8BiYgk5+bmhhMnTmDp0qWYPXs2bt68CaVSibZt22LmzJmYNm0aZDIZfv75Z8yZMwfBwcFITU2Fo6MjevToAQcHh0ofa/HixbCzs0NERASuXLkCa2trdOzYEe+8885D37d8+XJMmDABXbp0ga2tLd5++21kZmZqtVm0aBGmTJkCNzc35OfnQwhRZj8DBw7Exx9/jA8//BCvv/46mjVrhg0bNqBnz56VPgciqnkyUd5vMBEREZEe4zxIRERERKUwIBERERGVwoBEREREVAoDEhEREVEpDEhEREREpTAgEREREZXCgERERERUCgMSERERUSkMSERERESlMCARERERlcKARERERFQKAxIRERFRKf8PqPj2qw7ppMIAAAAASUVORK5CYII="
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fitness value of the best solution = 0.912\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ],
      "image/png": "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"
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    }
   ],
   "execution_count": 13
  },
  {
   "cell_type": "markdown",
   "id": "bd16ffaf",
   "metadata": {},
   "source": [
    "Now that we have an optimized design, we will grab the best pixel array and re-simulate the design with a broadband [ModeMonitor](https://docs.flexcompute.com/projects/tidy3d/en/latest/api/_autosummary/tidy3d.ModeMonitor.html) and a [FieldMonitor](https://docs.flexcompute.com/projects/tidy3d/en/latest/api/_autosummary/tidy3d.FieldMonitor.html) at the central wavelength. This final simulation can be defined by copying the original simulation and updating the monitors."
   ]
  },
  {
   "cell_type": "code",
   "id": "2024c056",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2026-01-29T13:15:13.289992Z",
     "start_time": "2026-01-29T13:14:44.141791Z"
    }
   },
   "source": [
    "sim_final = make_sim(pixels_final)\n",
    "\n",
    "# Update mode monitor's recording frequencies\n",
    "mode_monitor = sim.monitors[0].copy(update={\"freqs\": freqs})\n",
    "\n",
    "# Add a field monitor to visualize field distribution\n",
    "field_monitor = td.FieldMonitor(\n",
    "    center=(0, 0, t / 2), size=(td.inf, td.inf, 0), freqs=[freq0], name=\"field\"\n",
    ")\n",
    "\n",
    "# Update simulation to use the new monitors\n",
    "sim_final = sim_final.copy(update={\"monitors\": [mode_monitor, field_monitor]})\n",
    "\n",
    "# Submit the simulation to the server\n",
    "sim_data_final = web.run(simulation=sim_final, task_name=\"final design\")"
   ],
   "outputs": [
    {
     "data": {
      "text/plain": [
       "\u001B[2;36m14:14:44 CET\u001B[0m\u001B[2;36m \u001B[0mCreated task \u001B[32m'final design'\u001B[0m with resource_id                       \n",
       "\u001B[2;36m             \u001B[0m\u001B[32m'fdve-469dcbcb-cec9-4096-801c-fe1406a2d753'\u001B[0m and task_type \u001B[32m'FDTD'\u001B[0m.  \n"
      ],
      "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\">14:14:44 CET </span>Created task <span style=\"color: #008000; text-decoration-color: #008000\">'final design'</span> with resource_id                       \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008000; text-decoration-color: #008000\">'fdve-469dcbcb-cec9-4096-801c-fe1406a2d753'</span> and task_type <span style=\"color: #008000; text-decoration-color: #008000\">'FDTD'</span>.  \n",
       "</pre>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "data": {
      "text/plain": [
       "\u001B[2;36m            \u001B[0m\u001B[2;36m \u001B[0mView task using web UI at                                          \n",
       "\u001B[2;36m             \u001B[0m\u001B]8;id=398467;https://tidy3d.simulation.cloud/workbench?taskId=fdve-469dcbcb-cec9-4096-801c-fe1406a2d753\u001B\\\u001B[32m'https://tidy3d.simulation.cloud/workbench?\u001B[0m\u001B]8;;\u001B\\\u001B]8;id=472845;https://tidy3d.simulation.cloud/workbench?taskId=fdve-469dcbcb-cec9-4096-801c-fe1406a2d753\u001B\\\u001B[32mtaskId\u001B[0m\u001B]8;;\u001B\\\u001B]8;id=398467;https://tidy3d.simulation.cloud/workbench?taskId=fdve-469dcbcb-cec9-4096-801c-fe1406a2d753\u001B\\\u001B[32m=\u001B[0m\u001B]8;;\u001B\\\u001B]8;id=192710;https://tidy3d.simulation.cloud/workbench?taskId=fdve-469dcbcb-cec9-4096-801c-fe1406a2d753\u001B\\\u001B[32mfdve\u001B[0m\u001B]8;;\u001B\\\u001B]8;id=398467;https://tidy3d.simulation.cloud/workbench?taskId=fdve-469dcbcb-cec9-4096-801c-fe1406a2d753\u001B\\\u001B[32m-469dcbcb-cec\u001B[0m\u001B]8;;\u001B\\\n",
       "\u001B[2;36m             \u001B[0m\u001B]8;id=398467;https://tidy3d.simulation.cloud/workbench?taskId=fdve-469dcbcb-cec9-4096-801c-fe1406a2d753\u001B\\\u001B[32m9-4096-801c-fe1406a2d753'\u001B[0m\u001B]8;;\u001B\\.                                         \n"
      ],
      "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\">             </span>View task using web UI at                                          \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><a href=\"https://tidy3d.simulation.cloud/workbench?taskId=fdve-469dcbcb-cec9-4096-801c-fe1406a2d753\" target=\"_blank\"><span style=\"color: #008000; text-decoration-color: #008000\">'https://tidy3d.simulation.cloud/workbench?taskId=fdve-469dcbcb-cec</span></a>\n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><a href=\"https://tidy3d.simulation.cloud/workbench?taskId=fdve-469dcbcb-cec9-4096-801c-fe1406a2d753\" target=\"_blank\"><span style=\"color: #008000; text-decoration-color: #008000\">9-4096-801c-fe1406a2d753'</span></a>.                                         \n",
       "</pre>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "data": {
      "text/plain": [
       "\u001B[2;36m            \u001B[0m\u001B[2;36m \u001B[0mTask folder: \u001B]8;id=540161;https://tidy3d.simulation.cloud/folders/folder-df61810d-cad6-4474-8ea9-e4f00d5dfcb0\u001B\\\u001B[32m'default'\u001B[0m\u001B]8;;\u001B\\.                                            \n"
      ],
      "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\">             </span>Task folder: <a href=\"https://tidy3d.simulation.cloud/folders/folder-df61810d-cad6-4474-8ea9-e4f00d5dfcb0\" target=\"_blank\"><span style=\"color: #008000; text-decoration-color: #008000\">'default'</span></a>.                                            \n",
       "</pre>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "data": {
      "text/plain": [
       "Output()"
      ],
      "application/vnd.jupyter.widget-view+json": {
       "version_major": 2,
       "version_minor": 0,
       "model_id": "cd9cb35b43484023a11db12fc5a26abd"
      }
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "data": {
      "text/plain": [],
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"></pre>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "data": {
      "text/plain": [
       "\u001B[2;36m14:14:53 CET\u001B[0m\u001B[2;36m \u001B[0mEstimated FlexCredit cost: \u001B[1;36m0.025\u001B[0m. Minimum cost depends on task     \n",
       "\u001B[2;36m             \u001B[0mexecution details. Use \u001B[32m'web.real_cost\u001B[0m\u001B[32m(\u001B[0m\u001B[32mtask_id\u001B[0m\u001B[32m)\u001B[0m\u001B[32m'\u001B[0m to get the billed  \n",
       "\u001B[2;36m             \u001B[0mFlexCredit cost after a simulation run.                            \n"
      ],
      "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\">14:14:53 CET </span>Estimated FlexCredit cost: <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">0.025</span>. Minimum cost depends on task     \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span>execution details. Use <span style=\"color: #008000; text-decoration-color: #008000\">'web.real_cost(task_id)'</span> to get the billed  \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span>FlexCredit cost after a simulation run.                            \n",
       "</pre>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "data": {
      "text/plain": [
       "\u001B[2;36m14:14:55 CET\u001B[0m\u001B[2;36m \u001B[0mstatus = queued                                                    \n"
      ],
      "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\">14:14:55 CET </span>status = queued                                                    \n",
       "</pre>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "data": {
      "text/plain": [
       "\u001B[2;36m            \u001B[0m\u001B[2;36m \u001B[0mTo cancel the simulation, use \u001B[32m'web.abort\u001B[0m\u001B[32m(\u001B[0m\u001B[32mtask_id\u001B[0m\u001B[32m)\u001B[0m\u001B[32m'\u001B[0m or              \n",
       "\u001B[2;36m             \u001B[0m\u001B[32m'web.delete\u001B[0m\u001B[32m(\u001B[0m\u001B[32mtask_id\u001B[0m\u001B[32m)\u001B[0m\u001B[32m'\u001B[0m or abort/delete the task in the web UI.      \n",
       "\u001B[2;36m             \u001B[0mTerminating the Python script will not stop the job running on the \n",
       "\u001B[2;36m             \u001B[0mcloud.                                                             \n"
      ],
      "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\">             </span>To cancel the simulation, use <span style=\"color: #008000; text-decoration-color: #008000\">'web.abort(task_id)'</span> or              \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><span style=\"color: #008000; text-decoration-color: #008000\">'web.delete(task_id)'</span> or abort/delete the task in the web UI.      \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span>Terminating the Python script will not stop the job running on the \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span>cloud.                                                             \n",
       "</pre>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "data": {
      "text/plain": [
       "Output()"
      ],
      "application/vnd.jupyter.widget-view+json": {
       "version_major": 2,
       "version_minor": 0,
       "model_id": "81033b60603b4322936a1ba7a44074ff"
      }
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "data": {
      "text/plain": [
       "\u001B[2;36m14:14:59 CET\u001B[0m\u001B[2;36m \u001B[0mstatus = preprocess                                                \n"
      ],
      "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\">14:14:59 CET </span>status = preprocess                                                \n",
       "</pre>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "data": {
      "text/plain": [],
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"></pre>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "data": {
      "text/plain": [
       "\u001B[2;36m14:15:04 CET\u001B[0m\u001B[2;36m \u001B[0mstarting up solver                                                 \n"
      ],
      "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\">14:15:04 CET </span>starting up solver                                                 \n",
       "</pre>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "data": {
      "text/plain": [
       "\u001B[2;36m14:15:05 CET\u001B[0m\u001B[2;36m \u001B[0mrunning solver                                                     \n"
      ],
      "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\">14:15:05 CET </span>running solver                                                     \n",
       "</pre>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "data": {
      "text/plain": [
       "Output()"
      ],
      "application/vnd.jupyter.widget-view+json": {
       "version_major": 2,
       "version_minor": 0,
       "model_id": "6fa3cd4797f3412b8772b5277c2e0d33"
      }
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "data": {
      "text/plain": [
       "\u001B[2;36m14:15:06 CET\u001B[0m\u001B[2;36m \u001B[0mearly shutoff detected at \u001B[1;36m48\u001B[0m%, exiting.                            \n"
      ],
      "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\">14:15:06 CET </span>early shutoff detected at <span style=\"color: #008080; text-decoration-color: #008080; font-weight: bold\">48</span>%, exiting.                            \n",
       "</pre>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "data": {
      "text/plain": [],
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"></pre>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "data": {
      "text/plain": [
       "\u001B[2;36m14:15:07 CET\u001B[0m\u001B[2;36m \u001B[0mstatus = success                                                   \n"
      ],
      "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\">14:15:07 CET </span>status = success                                                   \n",
       "</pre>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "data": {
      "text/plain": [],
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"></pre>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "data": {
      "text/plain": [
       "\u001B[2;36m            \u001B[0m\u001B[2;36m \u001B[0mView simulation result at                                          \n",
       "\u001B[2;36m             \u001B[0m\u001B]8;id=177886;https://tidy3d.simulation.cloud/workbench?taskId=fdve-469dcbcb-cec9-4096-801c-fe1406a2d753\u001B\\\u001B[4;34m'https://tidy3d.simulation.cloud/workbench?\u001B[0m\u001B]8;;\u001B\\\u001B]8;id=754675;https://tidy3d.simulation.cloud/workbench?taskId=fdve-469dcbcb-cec9-4096-801c-fe1406a2d753\u001B\\\u001B[4;34mtaskId\u001B[0m\u001B]8;;\u001B\\\u001B]8;id=177886;https://tidy3d.simulation.cloud/workbench?taskId=fdve-469dcbcb-cec9-4096-801c-fe1406a2d753\u001B\\\u001B[4;34m=\u001B[0m\u001B]8;;\u001B\\\u001B]8;id=39994;https://tidy3d.simulation.cloud/workbench?taskId=fdve-469dcbcb-cec9-4096-801c-fe1406a2d753\u001B\\\u001B[4;34mfdve\u001B[0m\u001B]8;;\u001B\\\u001B]8;id=177886;https://tidy3d.simulation.cloud/workbench?taskId=fdve-469dcbcb-cec9-4096-801c-fe1406a2d753\u001B\\\u001B[4;34m-469dcbcb-cec\u001B[0m\u001B]8;;\u001B\\\n",
       "\u001B[2;36m             \u001B[0m\u001B]8;id=177886;https://tidy3d.simulation.cloud/workbench?taskId=fdve-469dcbcb-cec9-4096-801c-fe1406a2d753\u001B\\\u001B[4;34m9-4096-801c-fe1406a2d753'\u001B[0m\u001B]8;;\u001B\\\u001B[4;34m.\u001B[0m                                         \n"
      ],
      "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\">             </span>View simulation result at                                          \n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><a href=\"https://tidy3d.simulation.cloud/workbench?taskId=fdve-469dcbcb-cec9-4096-801c-fe1406a2d753\" target=\"_blank\"><span style=\"color: #000080; text-decoration-color: #000080; text-decoration: underline\">'https://tidy3d.simulation.cloud/workbench?taskId=fdve-469dcbcb-cec</span></a>\n",
       "<span style=\"color: #7fbfbf; text-decoration-color: #7fbfbf\">             </span><a href=\"https://tidy3d.simulation.cloud/workbench?taskId=fdve-469dcbcb-cec9-4096-801c-fe1406a2d753\" target=\"_blank\"><span style=\"color: #000080; text-decoration-color: #000080; text-decoration: underline\">9-4096-801c-fe1406a2d753'</span></a><span style=\"color: #000080; text-decoration-color: #000080; text-decoration: underline\">.</span>                                         \n",
       "</pre>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "data": {
      "text/plain": [
       "Output()"
      ],
      "application/vnd.jupyter.widget-view+json": {
       "version_major": 2,
       "version_minor": 0,
       "model_id": "da2a6372a06e443f94749ef1bfc40994"
      }
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "data": {
      "text/plain": [],
      "text/html": [
       "<pre style=\"white-space:pre;overflow-x:auto;line-height:normal;font-family:Menlo,'DejaVu Sans Mono',consolas,'Courier New',monospace\"></pre>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    },
    {
     "data": {
      "text/plain": [
       "\u001B[2;36m14:15:13 CET\u001B[0m\u001B[2;36m \u001B[0mLoading simulation from simulation_data.hdf5                       \n"
      ],
      "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\">14:15:13 CET </span>Loading simulation from simulation_data.hdf5                       \n",
       "</pre>\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    }
   ],
   "execution_count": 14
  },
  {
   "cell_type": "markdown",
   "id": "645d4052",
   "metadata": {},
   "source": [
    "After the simulation, we visualize the electric field norm at the central wavelength. As expected, a strong reflection is observed. "
   ]
  },
  {
   "cell_type": "code",
   "id": "0eff6f90",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2026-01-29T13:15:15.087719Z",
     "start_time": "2026-01-29T13:15:13.318847Z"
    }
   },
   "source": [
    "sim_data_final.plot_field(\"field\", \"Ey\", \"abs\", vmin=0, vmax=1e2)\n",
    "plt.show()"
   ],
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 640x480 with 2 Axes>"
      ],
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAikAAAHWCAYAAACyvxlPAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAqmpJREFUeJzsnXl8FdXd/z9n5m7Zw5oQBaFKiyurUsRWW6m0pSpPra0+WnF5tFVoRZ6KO1hqS7VVqSuPXaSL1uXXilVblOJOERfAiitW3ICENXvuNnN+f5xlZu6dm9wkk+QmfN953VeSmTNnzpw79873fFfGOecgCIIgCIIoMIy+HgBBEARBEIQfJKQQBEEQBFGQkJBCEARBEERBQkIKQRAEQRAFCQkpBEEQBEEUJCSkEARBEARRkJCQQhAEQRBEQUJCCkEQBEEQBQkJKQRBEARBFCQkpBBEL/Pss8+CMYZnn322r4dCBMwnn3yCWCyGtWvX9vq5U6kURo4cibvuuqvXz00QPQUJKQTRQ9x1111YsWJFXw+jS9x///1YtmxZXw8DAGDbNm666SaMGTMGsVgMRx11FP785z/ndeyOHTtw5ZVX4ktf+hLKysraFQ6feuopXHDBBTjiiCNgmiZGjx7d6bEuWbIEU6dOxfTp0zt9bHcJh8NYsGABfvrTnyIej/f6+QmiJyAhhSB6iFxCyhe/+EW0tbXhi1/8Yu8PKk8KSUi55pprcMUVV+ArX/kKbr/9dowaNQr//d//jQceeKDDY999913ceOON2LZtG4488sh2295///24//77UVFRgZqamk6Pc9euXfj973+P73//+50+NijOO+887N69G/fff3+fjYEggoSEFKJHaWlp6eshFByGYSAWi8Ew6OPXEdu2bcPNN9+MuXPn4p577sGFF16Ixx57DF/4whdw+eWXw7Ksdo+fPHky9uzZg/feew8LFixot+3PfvYzNDY2Yu3atRg/fnynx/qnP/0JoVAIJ598cqePDYrKykqcdNJJ/VaDRxCZ0LckkTfbtm3DBRdcgJqaGkSjUYwZMwYXX3wxkskkAGDFihVgjOG5557DJZdcguHDh+PAAw/Ux9911104/PDDEY1GUVNTg7lz56K+vt5zji1btuC0005DdXU1YrEYDjzwQJxxxhloaGjQbVavXo3jjjsOlZWVKC0txec+9zlcffXVHY4/n+MSiQQWL16MQw45BNFoFCNHjsTChQuRSCSy+vvTn/6EY445BsXFxRg0aBC++MUv4qmnngIAjB49Gm+++Saee+45MMbAGMMJJ5wAILdPysMPP4zJkyejqKgIQ4cOxdlnn41t27Z52px77rkoLS3Ftm3bMHv2bJSWlmLYsGH40Y9+1OEDGwAeffRRzJo1S7+HBx98MH7yk594jj3hhBPwxBNP4KOPPtJjb8/0ce655+p2ma/rr7++wzF1NN5UKoVLLrlEb2OM4eKLL8ann36KdevWtXt8WVkZBg8enNe5ampqEA6HuzzWlStXYurUqSgtLfVsHz16NM4999ys9ieccIK+JwDnvnjooYfw4x//GAcccADKysrwrW99Cw0NDUgkEpg/fz6GDx+O0tJSnHfeeb735Ve+8hW8+OKL2Lt3b5evhSAKhVBfD4DoH2zfvh3HHHMM6uvrcdFFF2HcuHHYtm0b/t//+39obW1FJBLRbS+55BIMGzYMixYt0pqU66+/Hj/+8Y8xY8YMXHzxxXj33Xdx991345VXXsHatWsRDoeRTCYxc+ZMJBIJ/OAHP0B1dTW2bduGxx9/HPX19aioqMCbb76Jb3zjGzjqqKOwZMkSRKNRvP/++x06KuZznG3bOOWUU/Diiy/ioosuwqGHHoo33ngDt956K9577z2sXLlSt/3xj3+M66+/HsceeyyWLFmCSCSC9evX4+mnn8ZJJ52EZcuW4Qc/+AFKS0txzTXXAACqqqpyjm/FihU477zzcPTRR2Pp0qWoq6vDr371K6xduxYbN25EZWWlbmtZFmbOnImpU6fil7/8Jf75z3/i5ptvxsEHH4yLL7643XlYsWIFSktLsWDBApSWluLpp5/GokWL0NjYiF/84hcAhHmloaEBn376KW699VYAyHrwuvne976HGTNmeLatWrUK9913H4YPH6637d69u92xKcrKyhCNRgEAGzduRElJCQ499FBPm2OOOUbvP+644/LqtydJpVJ45ZVXOpz/fFi6dCmKiopw5ZVX4v3338ftt9+OcDgMwzCwb98+XH/99XjppZewYsUKjBkzBosWLfIcP3nyZHDO8a9//Qvf+MY3uj0eguhTOEHkwTnnnMMNw+CvvPJK1j7btjnnnN97770cAD/uuON4Op3W+3fu3MkjkQg/6aSTuGVZevsdd9zBAfDf/e53nHPON27cyAHwhx9+OOc4br31Vg6A79q1q1Pjz+e4P/7xj9wwDP7CCy94ti9fvpwD4GvXruWcc75lyxZuGAb/r//6L8/1cO7MBeecH3744fz444/POs8zzzzDAfBnnnmGc855Mpnkw4cP50cccQRva2vT7R5//HEOgC9atEhvmzNnDgfAlyxZ4ulz4sSJfPLkye1PAue8tbU1a9v3vvc9XlxczOPxuN42a9YsftBBB3XYnx9btmzhFRUV/Ctf+YrnPgCQ1+vee+/1jOMzn/lM1jlaWlo4AH7llVfmPa6HH37YM+/t0dnrf//99zkAfvvtt2ftO+igg/icOXOyth9//PGe+0PdF0cccQRPJpN6+5lnnskZY/xrX/ua5/hp06b5jnH79u0cAL/xxhvzHj9BFCpk7iE6xLZtrFy5EieffDKmTJmStZ8x5vn/wgsvhGma+v9//vOfSCaTmD9/vscP48ILL0R5eTmeeOIJAEBFRQUA4Mknn0Rra6vvWJRG4dFHH4Vt23lfQz7HPfzwwzj00EMxbtw47N69W7++/OUvAwCeeeYZAEKtb9s2Fi1alOVXkjkX+fDqq69i586duOSSSxCLxfT2WbNmYdy4cXp+3GQ6Z37hC1/ABx980OG5ioqK9N9NTU3YvXs3vvCFL6C1tRXvvPNOp8eeSUtLC/7rv/4LgwYNwp///GfPfbB69eq8XjNnztTHtLW1aa2KGzVPbW1t3R5zEOzZswcAMGjQoG73dc4553jMTlOnTgXnHOeff76n3dSpU/HJJ58gnU57tqsx5Ku5IohChsw9RIfs2rULjY2NOOKII/JqP2bMGM//H330EQDgc5/7nGd7JBLBZz7zGb1/zJgxWLBgAW655Rbcd999+MIXvoBTTjkFZ599thZgvvOd7+A3v/kN/ud//gdXXnklTjzxRHzzm9/Et771rXYdUfM5bsuWLXj77bcxbNgw3z527twJAPjPf/4DwzBw2GGH5TUfHZFrfgBg3LhxePHFFz3bYrFY1hgHDRqEffv2dXiuN998E9deey2efvppNDY2eva5/X66yoUXXoj//Oc/+Ne//oUhQ4Z49mWahPKhqKjI1+9Chdi6ha5CgHPe7T5GjRrl+V/d+yNHjszabts2GhoaPHOtxtAVgZkgCg0SUojA6c6D4+abb8a5556LRx99FE899RR++MMfYunSpXjppZdw4IEHoqioCM8//zyeeeYZPPHEE1i1ahUefPBBfPnLX8ZTTz3lWblnjqmj42zbxpFHHolbbrnFt4/Mh0RfkesaO6K+vh7HH388ysvLsWTJEhx88MGIxWLYsGEDrrjiik5ppvz41a9+hT//+c/405/+hAkTJmTtr62tzaufiooKfQ+NGDECzzzzDDjnnofujh07AKBLocI9gRIS8hEUFZnXpMj1/ubanikYqTEMHTo077EQRKFC5h6iQ4YNG4by8nJs3ry5S8cfdNBBAETOCjfJZBJbt27V+xVHHnkkrr32Wjz//PN44YUXsG3bNixfvlzvNwwDJ554Im655Ra89dZb+OlPf4qnn35am2Ny0dFxBx98MPbu3YsTTzwRM2bMyHopTcfBBx8M27bx1ltvtXu+fFeyueZHbcucn67y7LPPYs+ePVixYgUuvfRSfOMb38CMGTN8TRSdXYW/8MIL+NGPfoT58+fjrLPO8m0zYsSIvF4PPvigPmbChAlobW3F22+/7elr/fr1en8hMGrUKBQVFWHr1q2++5uamrK21dXV9chY1BgynY0Joj9CQgrRIYZhYPbs2Xjsscfw6quvZu3vSMU9Y8YMRCIR3HbbbZ62v/3tb9HQ0IBZs2YBABobG7Ps60ceeSQMw9Aqf7+wSvWg8jMLKPI57tvf/ja2bduGX//611lt29radKTS7NmzYRgGlixZkqV9cF9fSUlJVoi1H1OmTMHw4cOxfPlyzzX84x//wNtvv63np7uolbh7jMlk0jeNeklJSd7mnx07duDb3/42jjvuOB0h5EdXfFJOPfVUhMNhzxg551i+fDkOOOAAHHvssZ5xvPPOO0ilUnmNO0jC4TCmTJni+/kAgHXr1nmywL755pvYsmVLIOahTF577TUwxjBt2rTA+yaI3obMPURe/OxnP8NTTz2F448/Xofn7tixAw8//DBefPFFT4hsJsOGDcNVV12FH//4x/jqV7+KU045Be+++y7uuusuHH300Tj77LMBAE8//TTmzZuH008/HZ/97GeRTqfxxz/+EaZp4rTTTgMg0o4///zzmDVrFg466CDs3LkTd911Fw488MB2Q1HzOe673/0uHnroIXz/+9/HM888g+nTp8OyLLzzzjt46KGH8OSTT2LKlCk45JBDcM011+AnP/kJvvCFL+Cb3/wmotEoXnnlFdTU1GDp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"
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    }
   ],
   "execution_count": 15
  },
  {
   "cell_type": "markdown",
   "id": "89311128",
   "metadata": {},
   "source": [
    "Finally plot the reflection spectrum, where we see a broadband reflection. Considering the very compact footprint, the performance is very good. With this reflector design, we can further construct other devices such as high-quality-factor Fabry–Perot cavities as demonstrated in the [publication](https://doi.org/10.1364/PRJ.5.000B15)."
   ]
  },
  {
   "cell_type": "code",
   "id": "20e9667f",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2026-01-29T13:15:15.142340Z",
     "start_time": "2026-01-29T13:15:15.095344Z"
    }
   },
   "source": [
    "R = abs(sim_data_final[\"mode\"].amps.sel(direction=\"-\").squeeze(drop=True).values) ** 2\n",
    "\n",
    "plt.plot(ldas, R, \"red\", linewidth=2)\n",
    "plt.xlim(min(ldas), max(ldas))\n",
    "plt.ylim(0, 1)\n",
    "plt.xlabel(\"Wavelength (µm)\")\n",
    "plt.ylabel(\"Reflectivity\")\n",
    "plt.show()"
   ],
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ],
      "image/png": "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deLECWfZp59+ajkcDuvUqVOWZVmWj4+PNXfuXJfXTZ061QoKCrIsy7JWrlxpSbIOHDjgss4999xj3XvvvW5oSdG4q93ni4uLs2rXrm1t3LjRdrs7d+60JFnfffddsep+KUqi3ZZlWZmZmVaTJk2s0aNHW5bl3uNdYU/DpaWlae3atXr88cdVpUoVValSRePHj9fGjRtVpUoVLV26NN/X1apVS82aNdOOHTskSSEhIcrMzNSJEydc1jt06JBCQkJKuhlFVtR27927V999952GDBly0W1HRUVJkvP/pjzo2LGjs75169aVt7d3niudzj+W5e14F+T8dp/v8ccf15dffqlly5apYcOGttso78c7P+X9/V2Qgtpdkd7f9evXV4MGDRQYGOgsu/LKK2VZln7//XdJ5nhe7P2dU1bQOmVNYdqdY/LkyZo0aZK+/fZbtW7d2na7l19+uerWrVuuj/eFfHx81K5dO5f3t+Se411hw1JAQIB++eUXJSUlOZehQ4eqefPmSkpKcv5huNDJkye1c+dO1a9fX5LUvn17+fj4KD4+3rnOtm3btG/fPkVHR5dKW4qiqO2eNWuWgoKCdNttt11020lJSZLk/L8pD5KSkpz19fX1Vfv27V2OZXZ2tuLj453Hsrwd74Kc327JXD77+OOPa8GCBVq6dKkaN25cqG1I5fd456e8v78LUlC7K9L7u1OnTjpw4IBOnjzpLNu+fbu8vLycwT86OtrlWErSkiVLnMeycePGCgkJcVknNTVVq1evLrPHuzDtlsxVXxMmTNDixYsVGRl50e3+/vvvOnbsWLk+3hfKysrSL7/84myTW493kfqhPCwtLc3asGGDtWHDBkuSNWXKFGvDhg3W3r17LcuyrJEjR1oPPPBAga/P73TUU089ZSUkJFi7d++2Vq5cacXExFh169a1Dh8+7Fxn6NChVnh4uLV06VJr7dq1VnR0tBUdHV0ibcxPSbTbssyVYOHh4dazzz6b57kdO3ZY48ePt9auXWvt3r3b+vzzz63LL7/c6tKli9vadTFFbfdrr71mLVy40Prtt9+sX375xRo+fLjl5eXl0s380UcfWX5+ftbs2bOtX3/91frb3/5m1apVy0pOTnauU96Od2Ha/eijj1qBgYFWQkKCdfDgQeeS051dUY93RXx/F6bdllXx3t9paWlWw4YNrbvvvtvavHmz9f3331tXXHGFNWTIEOc6K1eutKpUqWJNnjzZ2rJlizV27FjLx8fH+uWXX5zrTJo0yapVq5b1+eefWz///LN1xx13WI0bN7ZOnz5dbts9adIky9fX1/rkk09c3t9paWnObTz99NNWYmKitXv3buu7776zrrnmGuuKK66wzpw5U27bPW7cOOubb76xdu7caa1bt87q27ev5e/vb23evNnl/8Ydx7tchaWcS2YvXAYOHGhZlrk0smvXrgW+Pr/Q0KdPH6t+/fqWr6+v1aBBA6tPnz55ztmfPn3a+r//+z+rdu3aVrVq1aw777zTOnjwoJtbV7CSaLdlWdY333xjSbK2bduW57l9+/ZZXbp0serUqWP5+flZTZs2tZ555hkrJSXFTa26uKK2++WXX7aaNGli+fv7W3Xq1LG6detmLV26NM92//Wvf1nh4eGWr6+v1bFjR+vHH390eb68He/CtDu/7UmyZs2aZVlWxT3eFfH9Xdjf84r2/rYsM61DTEyMVbVqVathw4ZWbGxsnvErH3/8sdWsWTPL19fXatmypfXVV1+5PJ+dnW09//zzVnBwsOXn52f16NEj3/+jklIS7Y6IiMh3m2PHjrUsy7JOnTpl3XTTTVa9evUsHx8fKyIiwnr44YddviSWtJJo95NPPun8Wx4cHGzdeuut1vr161224a7j7bAsyypaXxQAAEDlUWHHLAEAALgDYQkAAMAGYQkAAMAGYQkAAMAGYQkAAMAGYQkAAMAGYQkAAMAGYQmAx7zwwgtq27atp6vh5HA4tHDhwiK/btu2bQoJCVFaWpr7K3Weo0ePKigoqMB7YwEoGYQloIKbPn26atasqXPnzjnLTp48KR8fH3Xr1s1l3YSEBDkcDu3cubOUa1m63B3SRo0apWHDhqlmzZpu22Z+6tatqwEDBmjs2LEluh8ArghLQAXXvXt3nTx5UmvXrnWWLV++XCEhIVq9erXOnDnjLF+2bJnCw8PVpEkTT1S1XNq3b5++/PJLPfjgg6Wyv0GDBmnOnDk6fvx4qewPAGEJqPCaN2+u+vXrKyEhwVmWkJCgO+64Q40bN9aPP/7oUt69e3dJ0gcffKDIyEjVrFlTISEhuu+++3T48GFJUnZ2tho2bKhp06a57GvDhg3y8vLS3r17JUknTpzQkCFDVK9ePQUEBOiGG27Qxo0bbes7c+ZMXXnllfL391eLFi309ttvO5/bs2ePHA6HPvvsM3Xv3l3VqlVTmzZtlJiY6LKNGTNmKCwsTNWqVdOdd96pKVOmqFatWpKk2bNna9y4cdq4caMcDoccDodmz57tfO3Ro0d15513qlq1arriiiv0xRdf2Nb3448/Vps2bdSgQQNnWX49V6+//roaNWrkfPzggw+qd+/emjhxooKDg1WrVi2NHz9e586d0zPPPKM6deqoYcOGmjVrlst2WrZsqdDQUC1YsMC2XgDch7AEVALdu3fXsmXLnI+XLVumbt26qWvXrs7y06dPa/Xq1c6wdPbsWU2YMEEbN27UwoULtWfPHmfviZeXl/r166e5c+e67GfOnDnq1KmTIiIiJEn33HOPDh8+rK+//lrr1q3TNddcox49ehTYKzJnzhyNGTNGL730krZs2aKJEyfq+eef13vvveey3nPPPaenn35aSUlJatasmfr16+c8zbhy5UoNHTpUw4cPV1JSkm688Ua99NJLztf26dNHTz31lFq2bKmDBw/q4MGD6tOnj/P5cePG6d5779XPP/+sW2+9Vf3797ftxVm+fLkiIyNt//8LsnTpUh04cEA//PCDpkyZorFjx+r2229X7dq1tXr1ag0dOlSPPPJInjFKHTt21PLly4u1TwDFUORb7wIod2bMmGFVr17dOnv2rJWammpVqVLFOnz4sDV37lyrS5culmVZVnx8vCXJ2rt3b77b+OmnnyxJVlpammVZlrVhwwbL4XA418/KyrIaNGhgTZs2zbIsy1q+fLkVEBBgnTlzxmU7TZo0sf79739blmVZY8eOtdq0aePy3Ny5c13WnzBhghUdHW1ZlmXt3r3bkmTNnDnT+fzmzZstSdaWLVssy7KsPn36WLfddpvLNvr3728FBgY6H1+43xySrNGjRzsfnzx50pJkff311/n+n1iWZbVp08YaP368S1l+23/ttdesiIgI5+OBAwdaERERVlZWlrOsefPmVufOnZ2Pz507Z1WvXt368MMPXbY1YsQIq1u3bgXWCYB70bMEVALdunVTenq6fvrpJy1fvlzNmjVTvXr11LVrV+e4pYSEBF1++eUKDw+XJK1bt069evVSeHi4atasqa5du0oyY3QkqW3btrryyiudvUvff/+9Dh8+rHvuuUeStHHjRp08eVKXXXaZatSo4Vx2796d7wDy9PR07dy5U4MHD3ZZ/8UXX8yzfuvWrZ3/rl+/viQ5TxFu27ZNHTt2dFn/wsd2zt929erVFRAQ4Nx2fk6fPi1/f/9Cb/98LVu2lJdX7p/h4OBgtWrVyvnY29tbl112WZ79V61aVadOnSrWPgEUXRVPVwBAyWvatKkaNmyoZcuW6c8//3QGn9DQUIWFhWnVqlVatmyZbrjhBkkmuPTs2VM9e/bUnDlzVK9ePe3bt089e/ZUZmamc7v9+/fX3LlzNXLkSM2dO1c333yzLrvsMknmirsLx0rlyBk/dL6TJ09KMuONoqKiXJ7z9vZ2eezj4+P8t8PhkGTGUbnD+dvO2b7dtuvWras///zzotvNysoq1L4Ks//jx4+rXr16F90nAPcgLAGVRPfu3ZWQkKA///xTzzzzjLO8S5cu+vrrr7VmzRo9+uijkqStW7fq2LFjmjRpksLCwiTJ5Wq6HPfdd59Gjx6tdevW6ZNPPtH06dOdz11zzTVKTk5WlSpVXAY2FyQ4OFihoaHatWuX+vfvX+x2Nm/eXD/99JNL2YWPfX198w0vxdGuXTv9+uuvecoPHTrk8njXrl1u2Z8kbdq0Kc+0DwBKDqfhgEqie/fuWrFihZKSkpw9S5LUtWtX/fvf/1ZmZqZzcHd4eLh8fX31r3/9S7t27dIXX3yhCRMm5Nlmo0aNdN1112nw4MHKysrSX/7yF+dzMTExio6OVu/evfXtt99qz549WrVqlZ577rl8g5dkBlfHxcXpzTff1Pbt2/XLL79o1qxZmjJlSqHbOWzYMC1atEhTpkzRb7/9pn//+9/6+uuvnT1QOfXevXu3kpKSdPToUWVkZBR6+xfq2bOnEhMT84Sv5ORkjR8/Xrt27dKnn36qDz74QH/++ae2bt1a7H1J0qlTp7Ru3TrddNNNl7QdAIVHWAIqie7du+v06dNq2rSpgoODneVdu3ZVWlqac4oBSapXr55mz56t+fPn66qrrtKkSZM0efLkfLfbv39/bdy4UXfeeaeqVq3qLHc4HFq0aJG6dOmiQYMGqVmzZurbt6/27t3rsv/zDRkyRDNnztSsWbPUqlUrde3aVbNnz1bjxo0L3c5OnTpp+vTpmjJlitq0aaPFixdrxIgRLuOK/vrXv+rmm29W9+7dVa9ePX344YeF3v6FbrnlFlWpUkXfffedS/nVV1+t7du3q2XLlnr++ec1c+ZM+fr66umnny72viTp888/V3h4uDp37nxJ2wFQeA7LsixPVwIAStLDDz+srVu3ltjl9lOnTtUXX3yhb775RpKZZ2nhwoVKSkpy+76uvfZaPfHEE7rvvvvcvm0A+WPMEoAKZ/LkybrxxhtVvXp1ff3113rvvfdcJrd0t0ceeUQnTpxQWlpaid7y5OjRo7rrrrvUr1+/EtsHgLzoWQJQ4dx7771KSEhQWlqaLr/8cg0bNkxDhw4ttf2XZM8SgNJHWAIAALDBAG8AAAAbhCUAAAAbhCUAAAAbhCUAAAAbhCUAAAAbhCUAAAAbhCUAAAAbhCUAAAAbhCUAAAAb/w+YhBZTyT05SQAAAABJRU5ErkJggg=="
     },
     "metadata": {},
     "output_type": "display_data",
     "jetTransient": {
      "display_id": null
     }
    }
   ],
   "execution_count": 16
  },
  {
   "cell_type": "markdown",
   "id": "6cf44ce8",
   "metadata": {},
   "source": [
    "With the optimized design, we can directly export a GDS file of the reflector for fabrication. "
   ]
  },
  {
   "cell_type": "code",
   "id": "26cf87f5",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2026-01-29T13:15:15.159998Z",
     "start_time": "2026-01-29T13:15:15.146288Z"
    }
   },
   "source": [
    "# Make the misc/ directory to store the GDS file if it doesn't exist already\n",
    "import os\n",
    "\n",
    "if not os.path.exists(\"./misc/\"):\n",
    "    os.mkdir(\"./misc/\")\n",
    "\n",
    "sim_final.to_gds_file(fname=\"misc/optimized_reflector.gds\", z=t / 2)"
   ],
   "outputs": [],
   "execution_count": 17
  }
 ],
 "metadata": {
  "applications": [
   "Passive photonic integrated circuit components"
  ],
  "description": "This notebook demonstrates how to use genetic algorithm (GA) to optimize an on-chip reflector.",
  "feature_image": "./img/optimized_reflector.png",
  "features": [
   "Global optimization"
  ],
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "keywords": "genetic algorithm, optimization, 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.11.2"
  },
  "title": "Genetic Algorithm Optimization of a Reflector | Flexcompute",
  "widgets": {
   "application/vnd.jupyter.widget-state+json": {
    "state": {
     "051347d54a4d46ce92d18c6b02b5f40e": {
      "model_module": "@jupyter-widgets/output",
      "model_module_version": "1.0.0",
      "model_name": "OutputModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/output",
       "_model_module_version": "1.0.0",
       "_model_name": "OutputModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/output",
       "_view_module_version": "1.0.0",
       "_view_name": "OutputView",
       "layout": "IPY_MODEL_dce9cc3b4da649d9b1cce2706a787b9e",
       "msg_id": "",
       "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: #008000; text-decoration-color: #008000; font-weight: bold\">↓</span> <span style=\"color: #000080; text-decoration-color: #000080; font-weight: bold\">simulation_data.hdf5.gz</span> <span style=\"color: #729c1f; text-decoration-color: #729c1f\">━━━━━━━━━━</span> <span style=\"color: #800080; text-decoration-color: #800080\">100.0%</span> • <span style=\"color: #008000; text-decoration-color: #008000\">539.5/539.5</span> • <span style=\"color: #800000; text-decoration-color: #800000\">257.7 kB/s</span> • <span style=\"color: #008080; text-decoration-color: #008080\">0:00:00</span>\n                                              <span style=\"color: #008000; text-decoration-color: #008000\">kB         </span>                       \n</pre>\n",
          "text/plain": "\u001B[1;32m↓\u001B[0m \u001B[1;34msimulation_data.hdf5.gz\u001B[0m \u001B[38;2;114;156;31m━━━━━━━━━━\u001B[0m \u001B[35m100.0%\u001B[0m • \u001B[32m539.5/539.5\u001B[0m • \u001B[31m257.7 kB/s\u001B[0m • \u001B[36m0:00:00\u001B[0m\n                                              \u001B[32mkB         \u001B[0m                       \n"
         },
         "metadata": {},
         "output_type": "display_data"
        }
       ],
       "tabbable": null,
       "tooltip": null
      }
     },
     "3c4d92419f174ed19741e584a8ba8154": {
      "model_module": "@jupyter-widgets/output",
      "model_module_version": "1.0.0",
      "model_name": "OutputModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/output",
       "_model_module_version": "1.0.0",
       "_model_name": "OutputModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/output",
       "_view_module_version": "1.0.0",
       "_view_name": "OutputView",
       "layout": "IPY_MODEL_d187e57d78fb4d00846d6d2a3e82c681",
       "msg_id": "",
       "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\">solver progress (field decay = 6.41e-06) <span style=\"color: #729c1f; text-decoration-color: #729c1f\">━━━━━━━━━━━━━━━━━━━━━━━━━━</span> <span style=\"color: #800080; text-decoration-color: #800080\">100%</span> <span style=\"color: #008080; text-decoration-color: #008080\">0:00:00</span>\n</pre>\n",
          "text/plain": "solver progress (field decay = 6.41e-06) \u001B[38;2;114;156;31m━━━━━━━━━━━━━━━━━━━━━━━━━━\u001B[0m \u001B[35m100%\u001B[0m \u001B[36m0:00:00\u001B[0m\n"
         },
         "metadata": {},
         "output_type": "display_data"
        }
       ],
       "tabbable": null,
       "tooltip": null
      }
     },
     "3d1b861be4424f49ab2da598d55ffa46": {
      "model_module": "@jupyter-widgets/output",
      "model_module_version": "1.0.0",
      "model_name": "OutputModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/output",
       "_model_module_version": "1.0.0",
       "_model_name": "OutputModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/output",
       "_view_module_version": "1.0.0",
       "_view_name": "OutputView",
       "layout": "IPY_MODEL_595fc7d4c1034d92af553b17e34099aa",
       "msg_id": "",
       "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: #008000; text-decoration-color: #008000\">🏃 </span> <span style=\"color: #008000; text-decoration-color: #008000; font-weight: bold\">Finishing 'final design'...</span>\n</pre>\n",
          "text/plain": "\u001B[32m🏃 \u001B[0m \u001B[1;32mFinishing 'final design'...\u001B[0m\n"
         },
         "metadata": {},
         "output_type": "display_data"
        }
       ],
       "tabbable": null,
       "tooltip": null
      }
     },
     "595fc7d4c1034d92af553b17e34099aa": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "95ced8847ea04b2999c6e172f166495d": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "cb6536522dbf4ca1944ce17136febbc4": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "d187e57d78fb4d00846d6d2a3e82c681": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "dce9cc3b4da649d9b1cce2706a787b9e": {
      "model_module": "@jupyter-widgets/base",
      "model_module_version": "2.0.0",
      "model_name": "LayoutModel",
      "state": {
       "_model_module": "@jupyter-widgets/base",
       "_model_module_version": "2.0.0",
       "_model_name": "LayoutModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/base",
       "_view_module_version": "2.0.0",
       "_view_name": "LayoutView",
       "align_content": null,
       "align_items": null,
       "align_self": null,
       "border_bottom": null,
       "border_left": null,
       "border_right": null,
       "border_top": null,
       "bottom": null,
       "display": null,
       "flex": null,
       "flex_flow": null,
       "grid_area": null,
       "grid_auto_columns": null,
       "grid_auto_flow": null,
       "grid_auto_rows": null,
       "grid_column": null,
       "grid_gap": null,
       "grid_row": null,
       "grid_template_areas": null,
       "grid_template_columns": null,
       "grid_template_rows": null,
       "height": null,
       "justify_content": null,
       "justify_items": null,
       "left": null,
       "margin": null,
       "max_height": null,
       "max_width": null,
       "min_height": null,
       "min_width": null,
       "object_fit": null,
       "object_position": null,
       "order": null,
       "overflow": null,
       "padding": null,
       "right": null,
       "top": null,
       "visibility": null,
       "width": null
      }
     },
     "e57e15d82d704fcd9099722f169ac1ba": {
      "model_module": "@jupyter-widgets/output",
      "model_module_version": "1.0.0",
      "model_name": "OutputModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/output",
       "_model_module_version": "1.0.0",
       "_model_name": "OutputModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/output",
       "_view_module_version": "1.0.0",
       "_view_name": "OutputView",
       "layout": "IPY_MODEL_cb6536522dbf4ca1944ce17136febbc4",
       "msg_id": "",
       "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: #800000; text-decoration-color: #800000; font-weight: bold\">↑</span> <span style=\"color: #000080; text-decoration-color: #000080; font-weight: bold\">simulation.hdf5.gz</span> <span style=\"color: #729c1f; text-decoration-color: #729c1f\">━━━━━━━━━━━━━━━━━━━━━━━━━</span> <span style=\"color: #800080; text-decoration-color: #800080\">100.0%</span> • <span style=\"color: #008000; text-decoration-color: #008000\">3.6/3.6 kB</span> • <span style=\"color: #800000; text-decoration-color: #800000\">?</span> • <span style=\"color: #008080; text-decoration-color: #008080\">0:00:00</span>\n</pre>\n",
          "text/plain": "\u001B[1;31m↑\u001B[0m \u001B[1;34msimulation.hdf5.gz\u001B[0m \u001B[38;2;114;156;31m━━━━━━━━━━━━━━━━━━━━━━━━━\u001B[0m \u001B[35m100.0%\u001B[0m • \u001B[32m3.6/3.6 kB\u001B[0m • \u001B[31m?\u001B[0m • \u001B[36m0:00:00\u001B[0m\n"
         },
         "metadata": {},
         "output_type": "display_data"
        }
       ],
       "tabbable": null,
       "tooltip": null
      }
     },
     "f984ea7c1dce4725aae4a128eb4b19bd": {
      "model_module": "@jupyter-widgets/output",
      "model_module_version": "1.0.0",
      "model_name": "OutputModel",
      "state": {
       "_dom_classes": [],
       "_model_module": "@jupyter-widgets/output",
       "_model_module_version": "1.0.0",
       "_model_name": "OutputModel",
       "_view_count": null,
       "_view_module": "@jupyter-widgets/output",
       "_view_module_version": "1.0.0",
       "_view_name": "OutputView",
       "layout": "IPY_MODEL_95ced8847ea04b2999c6e172f166495d",
       "msg_id": "",
       "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: #008000; text-decoration-color: #008000\">🏃 </span> <span style=\"color: #008000; text-decoration-color: #008000; font-weight: bold\">Waiting for 'final design'...</span>\n</pre>\n",
          "text/plain": "\u001B[32m🏃 \u001B[0m \u001B[1;32mWaiting for 'final design'...\u001B[0m\n"
         },
         "metadata": {},
         "output_type": "display_data"
        }
       ],
       "tabbable": null,
       "tooltip": null
      }
     }
    },
    "version_major": 2,
    "version_minor": 0
   }
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
