{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Optimization of Dissipative Qubit Reset" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "ExecuteTime": { "end_time": "2019-02-12T04:47:26.374878Z", "start_time": "2019-02-12T04:47:25.200533Z" }, "attributes": { "classes": [], "id": "", "n": "1" }, "execution": { "iopub.execute_input": "2024-06-03T14:27:45.304871Z", "iopub.status.busy": "2024-06-03T14:27:45.304735Z", "iopub.status.idle": "2024-06-03T14:27:46.012221Z", "shell.execute_reply": "2024-06-03T14:27:46.011869Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Python implementation: CPython\n", "Python version : 3.12.0\n", "IPython version : 8.25.0\n", "\n", "krotov : 1.3.0+dev\n", "numpy : 1.26.4\n", "qutip : 4.7.6\n", "scipy : 1.12.0\n", "matplotlib: 3.7.5\n", "\n" ] } ], "source": [ "# NBVAL_IGNORE_OUTPUT\n", "%load_ext watermark\n", "import qutip\n", "import numpy as np\n", "import scipy\n", "import matplotlib\n", "import matplotlib.pylab as plt\n", "import krotov\n", "\n", "%watermark -v --iversions" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$\\newcommand{tr}[0]{\\operatorname{tr}}\n", "\\newcommand{diag}[0]{\\operatorname{diag}}\n", "\\newcommand{abs}[0]{\\operatorname{abs}}\n", "\\newcommand{pop}[0]{\\operatorname{pop}}\n", "\\newcommand{aux}[0]{\\text{aux}}\n", "\\newcommand{int}[0]{\\text{int}}\n", "\\newcommand{opt}[0]{\\text{opt}}\n", "\\newcommand{tgt}[0]{\\text{tgt}}\n", "\\newcommand{init}[0]{\\text{init}}\n", "\\newcommand{lab}[0]{\\text{lab}}\n", "\\newcommand{rwa}[0]{\\text{rwa}}\n", "\\newcommand{bra}[1]{\\langle#1\\vert}\n", "\\newcommand{ket}[1]{\\vert#1\\rangle}\n", "\\newcommand{Bra}[1]{\\left\\langle#1\\right\\vert}\n", "\\newcommand{Ket}[1]{\\left\\vert#1\\right\\rangle}\n", "\\newcommand{Braket}[2]{\\left\\langle #1\\vphantom{#2} \\mid\n", "#2\\vphantom{#1}\\right\\rangle}\n", "\\newcommand{op}[1]{\\hat{#1}}\n", "\\newcommand{Op}[1]{\\hat{#1}}\n", "\\newcommand{dd}[0]{\\,\\text{d}}\n", "\\newcommand{Liouville}[0]{\\mathcal{L}}\n", "\\newcommand{DynMap}[0]{\\mathcal{E}}\n", "\\newcommand{identity}[0]{\\mathbf{1}}\n", "\\newcommand{Norm}[1]{\\lVert#1\\rVert}\n", "\\newcommand{Abs}[1]{\\left\\vert#1\\right\\vert}\n", "\\newcommand{avg}[1]{\\langle#1\\rangle}\n", "\\newcommand{Avg}[1]{\\left\\langle#1\\right\\rangle}\n", "\\newcommand{AbsSq}[1]{\\left\\vert#1\\right\\vert^2}\n", "\\newcommand{Re}[0]{\\operatorname{Re}}\n", "\\newcommand{Im}[0]{\\operatorname{Im}}$\n", "\n", "This example illustrates an optimization in an *open* quantum system,\n", "where the dynamics is governed by the Liouville-von Neumann equation. Hence,\n", "states are represented by density matrices $\\op{\\rho}(t)$ and the time-evolution\n", "operator is given by a general dynamical map $\\DynMap$." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Define parameters\n", "\n", "The system consists of a qubit with Hamiltonian\n", "$\\op{H}_{q}(t) = - \\frac{\\omega_{q}}{2} \\op{\\sigma}_{z} - \\frac{\\epsilon(t)}{2} \\op{\\sigma}_{z}$,\n", "where $\\omega_{q}$ is an energy level splitting that can be dynamically adjusted\n", "by the control $\\epsilon(t)$. This qubit couples strongly to another two-level\n", "system (TLS) with Hamiltonian $\\op{H}_{t} = - \\frac{\\omega_{t}}{2} \\op{\\sigma}_{z}$ with\n", "static energy level splitting $\\omega_{t}$. The coupling strength between both\n", "systems is given by $J$ with the interaction Hamiltonian given by $\\op{H}_{\\int}\n", "= J \\op{\\sigma}_{x} \\otimes \\op{\\sigma}_{x}$." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The Hamiltonian for the system of qubit and TLS is\n", "\n", "$$\n", " \\op{H}(t)\n", " = \\op{H}_{q}(t) \\otimes \\identity_{t}\n", " + \\identity_{q} \\otimes \\op{H}_{t} + \\op{H}_{\\int}.\n", "$$\n", "\n", "In addition, the TLS is embedded in a heat bath with inverse temperature\n", "$\\beta$. The TLS couples to the bath with rate $\\kappa$. In order to simulate\n", "the dissipation arising from this coupling, we consider the two Lindblad\n", "operators\n", "\n", "$$\n", "\\begin{split}\n", "\\op{L}_{1} &= \\sqrt{\\kappa (N_{th}+1)} \\identity_{q} \\otimes \\ket{0}\\bra{1} \\\\\n", "\\op{L}_{2} &= \\sqrt{\\kappa N_{th}} \\identity_{q} \\otimes \\ket{1}\\bra{0}\n", "\\end{split}\n", "$$\n", "\n", "with $N_{th} = 1/(e^{\\beta \\omega_{t}} - 1)$." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "ExecuteTime": { "end_time": "2019-02-12T04:47:26.385786Z", "start_time": "2019-02-12T04:47:26.379865Z" }, "attributes": { "classes": [], "id": "", "n": "2" }, "execution": { "iopub.execute_input": "2024-06-03T14:27:46.034965Z", "iopub.status.busy": "2024-06-03T14:27:46.034733Z", "iopub.status.idle": "2024-06-03T14:27:46.036866Z", "shell.execute_reply": "2024-06-03T14:27:46.036616Z" } }, "outputs": [], "source": [ "omega_q = 1.0 # qubit level splitting\n", "omega_T = 3.0 # TLS level splitting\n", "J = 0.1 # qubit-TLS coupling\n", "kappa = 0.04 # TLS decay rate\n", "beta = 1.0 # inverse bath temperature\n", "T = 25.0 # final time\n", "nt = 2500 # number of time steps" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Define the Liouvillian\n", "\n", "The dynamics of the qubit-TLS system state $\\op{\\rho}(t)$ is governed by the\n", "Liouville-von Neumann equation\n", "\n", "$$\n", "\\begin{split}\n", " \\frac{\\partial}{\\partial t} \\op{\\rho}(t)\n", " &= \\Liouville(t) \\op{\\rho}(t) \\\\\n", " &= - i \\left[\\op{H}(t), \\op{\\rho}(t)\\right]\n", " + \\sum_{k=1,2} \\left(\n", " \\op{L}_{k} \\op{\\rho}(t) \\op{L}_{k}^\\dagger\n", " - \\frac{1}{2}\n", " \\op{L}_{k}^\\dagger\n", " \\op{L}_{k} \\op{\\rho}(t)\n", " - \\frac{1}{2} \\op{\\rho}(t)\n", " \\op{L}_{k}^\\dagger\n", " \\op{L}_{k}\n", " \\right)\\,.\n", "\\end{split}\n", "$$" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "execution": { "iopub.execute_input": "2024-06-03T14:27:46.038150Z", "iopub.status.busy": "2024-06-03T14:27:46.038050Z", "iopub.status.idle": "2024-06-03T14:27:46.043402Z", "shell.execute_reply": "2024-06-03T14:27:46.043167Z" } }, "outputs": [], "source": [ "def liouvillian(omega_q, omega_T, J, kappa, beta):\n", " \"\"\"Liouvillian for the coupled system of qubit and TLS\"\"\"\n", "\n", " # drift qubit Hamiltonian\n", " H0_q = 0.5 * omega_q * np.diag([-1, 1])\n", " # drive qubit Hamiltonian\n", " H1_q = 0.5 * np.diag([-1, 1])\n", "\n", " # drift TLS Hamiltonian\n", " H0_T = 0.5 * omega_T * np.diag([-1, 1])\n", "\n", " # Lift Hamiltonians to joint system operators\n", " H0 = np.kron(H0_q, np.identity(2)) + np.kron(np.identity(2), H0_T)\n", " H1 = np.kron(H1_q, np.identity(2))\n", "\n", " # qubit-TLS interaction\n", " H_int = J * np.fliplr(np.diag([0, 1, 1, 0]))\n", "\n", " # convert Hamiltonians to QuTiP objects\n", " H0 = qutip.Qobj(H0 + H_int)\n", " H1 = qutip.Qobj(H1)\n", "\n", " # Define Lindblad operators\n", " N = 1.0 / (np.exp(beta * omega_T) - 1.0)\n", " # Cooling on TLS\n", " L1 = np.sqrt(kappa * (N + 1)) * np.kron(\n", " np.identity(2), np.array([[0, 1], [0, 0]])\n", " )\n", " # Heating on TLS\n", " L2 = np.sqrt(kappa * N) * np.kron(\n", " np.identity(2), np.array([[0, 0], [1, 0]])\n", " )\n", "\n", " # convert Lindblad operators to QuTiP objects\n", " L1 = qutip.Qobj(L1)\n", " L2 = qutip.Qobj(L2)\n", "\n", " # generate the Liouvillian\n", " L0 = qutip.liouvillian(H=H0, c_ops=[L1, L2])\n", " L1 = qutip.liouvillian(H=H1)\n", "\n", " # Shift the qubit and TLS into resonance by default\n", " eps0 = lambda t, args: omega_T - omega_q\n", "\n", " return [L0, [L1, eps0]]\n", "\n", "\n", "L = liouvillian(omega_q=omega_q, omega_T=omega_T, J=J, kappa=kappa, beta=beta)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Define the optimization target" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The initial state of qubit and TLS are assumed to be in thermal equilibrium with\n", "the heat bath (although only the TLS is directly interacting with the bath).\n", "Both states are given by\n", "\n", "$$\n", " \\op{\\rho}_{\\alpha}^{th} =\n", "\\frac{e^{x_{\\alpha}} \\ket{0}\\bra{0} + e^{-x_{\\alpha}} \\ket{1}\\bra{1}}{2\n", "\\cosh(x_{\\alpha})},\n", " \\qquad\n", " x_{\\alpha} = \\frac{\\omega_{\\alpha} \\beta}{2},\n", "$$\n", "\n", "with $\\alpha = q,t$. The initial state of the bipartite system\n", "of qubit and TLS is given by the thermal state\n", "$\\op{\\rho}_{th} = \\op{\\rho}_{q}^{th} \\otimes \\op{\\rho}_{t}^{th}$." ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "ExecuteTime": { "end_time": "2019-02-12T04:47:26.466604Z", "start_time": "2019-02-12T04:47:26.457181Z" }, "attributes": { "classes": [], "id": "", "n": "6" }, "execution": { "iopub.execute_input": "2024-06-03T14:27:46.045003Z", "iopub.status.busy": "2024-06-03T14:27:46.044914Z", "iopub.status.idle": "2024-06-03T14:27:46.047008Z", "shell.execute_reply": "2024-06-03T14:27:46.046802Z" } }, "outputs": [], "source": [ "x_q = omega_q * beta / 2.0\n", "rho_q_th = np.diag([np.exp(x_q), np.exp(-x_q)]) / (2 * np.cosh(x_q))\n", "\n", "x_T = omega_T * beta / 2.0\n", "rho_T_th = np.diag([np.exp(x_T), np.exp(-x_T)]) / (2 * np.cosh(x_T))\n", "\n", "rho_th = qutip.Qobj(np.kron(rho_q_th, rho_T_th))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Since we are ultimately only interested in the state of the qubit, we define\n", "`trace_TLS`. It returns the reduced state of the qubit\n", "$\\op{\\rho}_{q} = \\tr_{t}\\{\\op{\\rho}\\}$ when passed\n", "the state $\\op{\\rho}$ of the bipartite system." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "ExecuteTime": { "end_time": "2019-02-12T04:47:26.482459Z", "start_time": "2019-02-12T04:47:26.472974Z" }, "attributes": { "classes": [], "id": "", "n": "7" }, "execution": { "iopub.execute_input": "2024-06-03T14:27:46.048337Z", "iopub.status.busy": "2024-06-03T14:27:46.048246Z", "iopub.status.idle": "2024-06-03T14:27:46.050395Z", "shell.execute_reply": "2024-06-03T14:27:46.050181Z" } }, "outputs": [], "source": [ "def trace_TLS(rho):\n", " \"\"\"Partial trace over the TLS degrees of freedom\"\"\"\n", " rho_q = np.zeros(shape=(2, 2), dtype=np.complex_)\n", " rho_q[0, 0] = rho[0, 0] + rho[1, 1]\n", " rho_q[0, 1] = rho[0, 2] + rho[1, 3]\n", " rho_q[1, 0] = rho[2, 0] + rho[3, 1]\n", " rho_q[1, 1] = rho[2, 2] + rho[3, 3]\n", " return qutip.Qobj(rho_q)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The target state is (temporarily) the ground state of the bipartite system,\n", "i.e., $\\op{\\rho}_{\\tgt} = \\ket{00}\\bra{00}$. Note that in the end we will only\n", "optimize the reduced state of the qubit." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "ExecuteTime": { "end_time": "2019-02-12T04:47:26.496869Z", "start_time": "2019-02-12T04:47:26.485940Z" }, "attributes": { "classes": [], "id": "", "n": "8" }, "execution": { "iopub.execute_input": "2024-06-03T14:27:46.051684Z", "iopub.status.busy": "2024-06-03T14:27:46.051603Z", "iopub.status.idle": "2024-06-03T14:27:46.053489Z", "shell.execute_reply": "2024-06-03T14:27:46.053291Z" } }, "outputs": [], "source": [ "rho_q_trg = np.diag([1, 0])\n", "rho_T_trg = np.diag([1, 0])\n", "rho_trg = np.kron(rho_q_trg, rho_T_trg)\n", "rho_trg = qutip.Qobj(rho_trg)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Next, the list of `objectives` is defined, which contains the initial and target\n", "state and the Liouvillian $\\Liouville(t)$ that determines the system dynamics." ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "ExecuteTime": { "end_time": "2019-02-12T04:47:26.506011Z", "start_time": "2019-02-12T04:47:26.501241Z" }, "attributes": { "classes": [], "id": "", "n": "9" }, "execution": { "iopub.execute_input": "2024-06-03T14:27:46.054823Z", "iopub.status.busy": "2024-06-03T14:27:46.054739Z", "iopub.status.idle": "2024-06-03T14:27:46.058150Z", "shell.execute_reply": "2024-06-03T14:27:46.057884Z" } }, "outputs": [ { "data": { "text/plain": [ "[Objective[ρ₀[4,4] to ρ₁[4,4] via [š“›ā‚€[[4,4],[4,4]], [š“›ā‚[[4,4],[4,4]], u₁(t)]]]]" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "objectives = [krotov.Objective(initial_state=rho_th, target=rho_trg, H=L)]\n", "objectives" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In the following, we define the shape function $S(t)$, which we use in order to\n", "ensure a smooth switch on and off in the beginning and end. Note that at times\n", "$t$ where $S(t)$ vanishes, the updates of the field is suppressed." ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "ExecuteTime": { "end_time": "2019-02-12T04:47:26.514731Z", "start_time": "2019-02-12T04:47:26.508936Z" }, "attributes": { "classes": [], "id": "", "n": "10" }, "execution": { "iopub.execute_input": "2024-06-03T14:27:46.059506Z", "iopub.status.busy": "2024-06-03T14:27:46.059411Z", "iopub.status.idle": "2024-06-03T14:27:46.061166Z", "shell.execute_reply": "2024-06-03T14:27:46.060923Z" } }, "outputs": [], "source": [ "def S(t):\n", " \"\"\"Shape function for the field update\"\"\"\n", " return krotov.shapes.flattop(\n", " t, t_start=0, t_stop=T, t_rise=0.05 * T, t_fall=0.05 * T, func='sinsq'\n", " )" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We re-use this function to also shape the guess control $\\epsilon_{0}(t)$ to be\n", "zero at $t=0$ and $t=T$. This is on top of the originally defined constant\n", "value shifting the qubit and TLS into resonance." ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "ExecuteTime": { "end_time": "2019-02-12T04:47:26.524627Z", "start_time": "2019-02-12T04:47:26.517577Z" }, "attributes": { "classes": [], "id": "", "n": "11" }, "execution": { "iopub.execute_input": "2024-06-03T14:27:46.062393Z", "iopub.status.busy": "2024-06-03T14:27:46.062320Z", "iopub.status.idle": "2024-06-03T14:27:46.064439Z", "shell.execute_reply": "2024-06-03T14:27:46.063910Z" } }, "outputs": [], "source": [ "def shape_field(eps0):\n", " \"\"\"Applies the shape function S(t) to the guess field\"\"\"\n", " eps0_shaped = lambda t, args: eps0(t, args) * S(t)\n", " return eps0_shaped\n", "\n", "\n", "L[1][1] = shape_field(L[1][1])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "At last, before heading to the actual optimization below, we assign the shape\n", "function $S(t)$ to the OCT parameters of the control and choose `lambda_a`, a\n", "numerical parameter that controls the field update magnitude in each iteration." ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "execution": { "iopub.execute_input": "2024-06-03T14:27:46.066273Z", "iopub.status.busy": "2024-06-03T14:27:46.066158Z", "iopub.status.idle": "2024-06-03T14:27:46.067792Z", "shell.execute_reply": "2024-06-03T14:27:46.067560Z" } }, "outputs": [], "source": [ "pulse_options = {L[1][1]: dict(lambda_a=0.1, update_shape=S)}" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Simulate the dynamics of the guess field\n" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "execution": { "iopub.execute_input": "2024-06-03T14:27:46.069225Z", "iopub.status.busy": "2024-06-03T14:27:46.069145Z", "iopub.status.idle": "2024-06-03T14:27:46.070811Z", "shell.execute_reply": "2024-06-03T14:27:46.070612Z" } }, "outputs": [], "source": [ "tlist = np.linspace(0, T, nt)" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "ExecuteTime": { "end_time": "2019-02-12T04:47:26.545108Z", "start_time": "2019-02-12T04:47:26.537953Z" }, "attributes": { "classes": [], "id": "", "n": "13" }, "execution": { "iopub.execute_input": "2024-06-03T14:27:46.072118Z", "iopub.status.busy": "2024-06-03T14:27:46.072001Z", "iopub.status.idle": "2024-06-03T14:27:46.074152Z", "shell.execute_reply": "2024-06-03T14:27:46.073905Z" } }, "outputs": [], "source": [ "def plot_pulse(pulse, tlist):\n", " fig, ax = plt.subplots()\n", " if callable(pulse):\n", " pulse = np.array([pulse(t, args=None) for t in tlist])\n", " ax.plot(tlist, pulse)\n", " ax.set_xlabel('time')\n", " ax.set_ylabel('pulse amplitude')\n", " plt.show(fig)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The following plot shows the guess field $\\epsilon_{0}(t)$ as a constant that\n", "puts qubit and TLS into resonance, but with a smooth switch-on and switch-off." ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "ExecuteTime": { "end_time": "2019-02-12T04:47:26.773279Z", "start_time": "2019-02-12T04:47:26.547926Z" }, "attributes": { "classes": [], "id": "", "n": "14" }, "execution": { "iopub.execute_input": "2024-06-03T14:27:46.075405Z", "iopub.status.busy": "2024-06-03T14:27:46.075326Z", "iopub.status.idle": "2024-06-03T14:27:46.169070Z", "shell.execute_reply": "2024-06-03T14:27:46.168707Z" } }, "outputs": [ { "data": { "image/png": "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V1dXKyamc6Dqoosu0nPPPaef/exn+ulPf6pzzjlHa9as0fnnn2+eM3fuXPl8Pt166606dOiQLrnkEq1du1YJCQlh/3wAAMB+XAGrJ+LbkNfrVVpamurr65Wammp1OAAAoBt6cv+2fCFEAACAcCMBAgAAUYcECAAARB0SIAAAEHVIgAAAQNQhAQIAAFGHBAgAAEQdEiAAABB1SIAAAEDUsXwrDDsyFsf2er0WRwIAALrLuG93Z5MLEqAuHD58WJKUm5trcSQAAKCnDh8+rLS0tJOew15gXfD7/dqzZ49SUlLkcrl69b29Xq9yc3P15Zdfss9YCPE9hwffc3jwPYcH33N4hPJ7DgQCOnz4sHJycoI2Uu8KI0BdiImJ0aBBg0L6O1JTU/k/sDDgew4Pvufw4HsOD77n8AjV93yqkR8DTdAAACDqkAABAICoQwIUZh6PRwsWLJDH47E6lIjG9xwefM/hwfccHnzP4WGX75kmaAAAEHUYAQIAAFGHBAgAAEQdEiAAABB1SIAAAEDUIQEKoyVLligvL08JCQkqLCzU5s2brQ4potx3331yuVxBj/POO8/qsCLChg0bNHHiROXk5MjlcmnNmjVBrwcCAc2fP1/Z2dlKTExUcXGxduzYYU2wDnaq73n69OnHXePjx4+3JlgHKysr07e//W2lpKRo4MCBmjRpkrZv3x50zpEjRzR79mz1799fffr00fXXX6+6ujqLInam7nzP48aNO+6a/rd/+7ewxEcCFCarV69WaWmpFixYoK1bt2rUqFEqKSnR3r17rQ4togwfPlw1NTXm491337U6pIjg8/k0atQoLVmypMvXH374YT3++ONaunSpNm3apOTkZJWUlOjIkSNhjtTZTvU9S9L48eODrvHnn38+jBFGhvXr12v27Nl677339NZbb+no0aO6+uqr5fP5zHPuvPNO/fd//7defPFFrV+/Xnv27NF1111nYdTO053vWZJmzZoVdE0//PDD4QkwgLAYO3ZsYPbs2ebztra2QE5OTqCsrMzCqCLLggULAqNGjbI6jIgnKfDKK6+Yz/1+fyArKyvwH//xH+axQ4cOBTweT+D555+3IMLI8PffcyAQCEybNi1wzTXXWBJPJNu7d29AUmD9+vWBQKD9+o2Liwu8+OKL5jmffPJJQFKgoqLCqjAd7++/50AgELj88ssDt99+uyXxMAIUBi0tLdqyZYuKi4vNYzExMSouLlZFRYWFkUWeHTt2KCcnR2eddZZuuukmVVdXWx1SxKuqqlJtbW3Q9Z2WlqbCwkKu7xBYt26dBg4cqKFDh+q2227TgQMHrA7J8err6yVJ/fr1kyRt2bJFR48eDbqmzzvvPJ155plc09/A33/Pht///vfKyMjQ+eefr3nz5qmxsTEs8bAZahjs379fbW1tyszMDDqemZmpTz/91KKoIk9hYaFWrFihoUOHqqamRgsXLtSll16qbdu2KSUlxerwIlZtba0kdXl9G6+hd4wfP17XXXed8vPztWvXLv30pz/VhAkTVFFRIbfbbXV4juT3+3XHHXfo4osv1vnnny+p/ZqOj49Xenp60Llc06evq+9Zkv75n/9ZgwcPVk5Ojj788EP9+7//u7Zv366XX3455DGRACFiTJgwwfz3yJEjVVhYqMGDB+uFF17QzJkzLYwM6B033nij+e8RI0Zo5MiROvvss7Vu3TpdeeWVFkbmXLNnz9a2bdvoFwyxE33Pt956q/nvESNGKDs7W1deeaV27dqls88+O6QxUQILg4yMDLnd7uNmENTV1SkrK8uiqCJfenq6zj33XO3cudPqUCKacQ1zfYffWWedpYyMDK7x0zRnzhy9+uqreueddzRo0CDzeFZWllpaWnTo0KGg87mmT8+JvueuFBYWSlJYrmkSoDCIj4/X6NGjVV5ebh7z+/0qLy9XUVGRhZFFtoaGBu3atUvZ2dlWhxLR8vPzlZWVFXR9e71ebdq0ies7xHbv3q0DBw5wjfdQIBDQnDlz9Morr+jtt99Wfn5+0OujR49WXFxc0DW9fft2VVdXc033wKm+565UVlZKUliuaUpgYVJaWqpp06ZpzJgxGjt2rBYvXiyfz6cZM2ZYHVrEuPvuuzVx4kQNHjxYe/bs0YIFC+R2uzVlyhSrQ3O8hoaGoL/IqqqqVFlZqX79+unMM8/UHXfcoQceeEDnnHOO8vPzde+99yonJ0eTJk2yLmgHOtn33K9fPy1cuFDXX3+9srKytGvXLs2dO1dDhgxRSUmJhVE7z+zZs/Xcc8/pD3/4g1JSUsy+nrS0NCUmJiotLU0zZ85UaWmp+vXrp9TUVP3oRz9SUVGRLrzwQoujd45Tfc+7du3Sc889p+9+97vq37+/PvzwQ91555267LLLNHLkyNAHaMncsyj1q1/9KnDmmWcG4uPjA2PHjg289957VocUUSZPnhzIzs4OxMfHB84444zA5MmTAzt37rQ6rIjwzjvvBCQd95g2bVogEGifCn/vvfcGMjMzAx6PJ3DllVcGtm/fbm3QDnSy77mxsTFw9dVXBwYMGBCIi4sLDB48ODBr1qxAbW2t1WE7TlffsaTAM888Y57T1NQU+OEPfxjo27dvICkpKXDttdcGampqrAvagU71PVdXVwcuu+yyQL9+/QIejycwZMiQwE9+8pNAfX19WOJzdQQJAAAQNegBAgAAUYcECAAARB0SIAAAEHVIgAAAQNQhAQIAAFGHBAgAAEQdEiAAABB1SIAAAEDUIQECEDHWrVsnl8t13CaWAPD3WAkagGONGzdOBQUFWrx4sSSppaVFX3/9tTIzM+VyuawNDoCtsRkqgIgRHx+vrKwsq8MA4ACUwAA40vTp07V+/Xo99thjcrlccrlcWrFiRVAJbMWKFUpPT9err76qoUOHKikpST/4wQ/U2NiolStXKi8vT3379tWPf/xjtbW1me/d3Nysu+++W2eccYaSk5NVWFiodevWWfNBAYQEI0AAHOmxxx7TZ599pvPPP18///nPJUl//etfjzuvsbFRjz/+uFatWqXDhw/ruuuu07XXXqv09HS9/vrr+tvf/qbrr79eF198sSZPnixJmjNnjj7++GOtWrVKOTk5euWVVzR+/Hh99NFHOuecc8L6OQGEBgkQAEdKS0tTfHy8kpKSzLLXp59+etx5R48e1RNPPKGzzz5bkvSDH/xAv/3tb1VXV6c+ffpo2LBhuuKKK/TOO+9o8uTJqq6u1jPPPKPq6mrl5ORIku6++26tXbtWzzzzjB588MHwfUgAIUMCBCCiJSUlmcmPJGVmZiovL099+vQJOrZ3715J0kcffaS2tjade+65Qe/T3Nys/v37hydoACFHAgQgosXFxQU9d7lcXR7z+/2SpIaGBrndbm3ZskVutzvovGOTJgDORgIEwLHi4+ODmpd7wwUXXKC2tjbt3btXl156aa++NwD7YBYYAMfKy8vTpk2b9Pnnn2v//v3mKM43ce655+qmm27S1KlT9fLLL6uqqkqbN29WWVmZXnvttV6IGoAdkAABcKy7775bbrdbw4YN04ABA1RdXd0r7/vMM89o6tSpuuuuuzR06FBNmjRJ//d//6czzzyzV94fgPVYCRoAAEQdRoAAAEDUIQECAABRhwQIAABEHRIgAAAQdUiAAABA1CEBAgAAUYcECAAARB0SIAAAEHVIgAAAQNQhAQIAAFGHBAgAAESd/w9FHgFq0/ljHwAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot_pulse(L[1][1], tlist)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We solve the equation of motion for this guess field, storing the expectation\n", "values for the population in the bipartite levels:\n" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "execution": { "iopub.execute_input": "2024-06-03T14:27:46.174207Z", "iopub.status.busy": "2024-06-03T14:27:46.173948Z", "iopub.status.idle": "2024-06-03T14:27:46.182369Z", "shell.execute_reply": "2024-06-03T14:27:46.181589Z" } }, "outputs": [], "source": [ "psi00 = qutip.Qobj(np.kron(np.array([1,0]), np.array([1,0])))\n", "psi01 = qutip.Qobj(np.kron(np.array([1,0]), np.array([0,1])))\n", "psi10 = qutip.Qobj(np.kron(np.array([0,1]), np.array([1,0])))\n", "psi11 = qutip.Qobj(np.kron(np.array([0,1]), np.array([0,1])))\n", "proj_00 = qutip.ket2dm(psi00)\n", "proj_01 = qutip.ket2dm(psi01)\n", "proj_10 = qutip.ket2dm(psi10)\n", "proj_11 = qutip.ket2dm(psi11)" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "ExecuteTime": { "end_time": "2019-02-12T04:47:26.872504Z", "start_time": "2019-02-12T04:47:26.775372Z" }, "attributes": { "classes": [], "id": "", "n": "15" }, "execution": { "iopub.execute_input": "2024-06-03T14:27:46.188678Z", "iopub.status.busy": "2024-06-03T14:27:46.188498Z", "iopub.status.idle": "2024-06-03T14:27:46.233985Z", "shell.execute_reply": "2024-06-03T14:27:46.226614Z" } }, "outputs": [], "source": [ "guess_dynamics = objectives[0].mesolve(\n", " tlist, e_ops=[proj_00, proj_01, proj_10, proj_11]\n", ")" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "ExecuteTime": { "end_time": "2019-02-12T04:47:27.116092Z", "start_time": "2019-02-12T04:47:26.874340Z" }, "attributes": { "classes": [], "id": "", "n": "16" }, "execution": { "iopub.execute_input": "2024-06-03T14:27:46.236709Z", "iopub.status.busy": "2024-06-03T14:27:46.236564Z", "iopub.status.idle": "2024-06-03T14:27:46.355393Z", "shell.execute_reply": "2024-06-03T14:27:46.354576Z" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkAAAAGwCAYAAABB4NqyAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAB1cUlEQVR4nO3dd3xN9x/H8de9N3uLLCFWEDt2bFpqNrYatauqRYfqUIpOnYrWrzqsUrVqtChVq1U79ooVYmUhe997fn8c0qaCJJKc3NzP8/G4Dycn5577zs117yff8x06RVEUhBBCCCEsiF7rAEIIIYQQRU0KICGEEEJYHCmAhBBCCGFxpAASQgghhMWRAkgIIYQQFkcKICGEEEJYHCmAhBBCCGFxrLQOUByZTCauX7+Os7MzOp1O6zhCCCGEyAVFUUhISMDX1xe9/sFtPFIA5eD69ev4+flpHUMIIYQQ+XDlyhXKlSv3wGOkAMqBs7MzoD6BLi4uGqcRQgghRG7Ex8fj5+eX9Tn+IFIA5eDuZS8XFxcpgIQQQggzk5vuK9IJWgghhBAWRwogIYQQQlgcKYCEEEIIYXGkABJCCCGExZECSAghhBAWRwogIYQQQlgcKYCEEEIIYXGkABJCCCGExZECSAghhBAWRwogIYQQQlgcKYCEEEIIYXGkABJCCCGExZHFUB8gPT0dRVGyFlUzGo0YjUb0ej1WVlbZjgOwtrZ+8LEpt0lPuAlWdljbO6GztgeDDUaTKcfzZmRkoCgKVlZW6PVqrWoymcjMzESn02FtbV2sjs3MzMRkMmEwGDAYDHk+VlEUMjIyALCxsSmUY3P6HeXl2Hz/7vN4bE7Pe16ONbfXSVH87h/1dVJUv/tHfZ2Y2+++uL1O5D1C+2Mf9feZW1IAPcDnn3/O5MmTcXR0BODvv/9m+/bt1K9fn27dumUd99lnn5GRkcFLL72Em5sbAAcOHGDz5s3UqVOHXr16qQce+oFZW66TrHPgeWURXtwEaweOWAexPqU+Ac7J9K/vBh5VwaMqc5ZvIy4unpEjR1K2bFkATpw4wZo1a6hcuTKDBw/OyvDdd98RHR3N0KFDqVixIgBnz55l+fLl+Pn5MWLEiKxjFy5cyPXr1xkwYADVqlUDICwsjCVLluDt7c3o0aOzjv3xxx+5fPkyffr0oVatWgBcvXqVBQsW4O7uzrhx47KOXbFiBefOnaN79+7Uq1cPgKioKL755hucnZ0ZP3581rFr1qzh1KlTdO7cmSZNmgBw69YtvvrqK2xtbXnzzTezjl2/fj1Hjx6lffv2tGjRAoCEhAS++OIL9Ho9b7/9dtaxmzdv5uDBg7Rp04a2bdsCkJaWxscffwzA5MmTs/6TbN26lT179tCsWTM6dOgAqP8hp0+fDsAbb7yBnZ0dAH/99Rc7d+6kUaNGdO3aNevxPv74Y0wmE6+88gouLi4A7N27lz/++IPAwEB69OiRdeyMGTNIS0tj7NixlC5dGoCQkBB+++03atasSd++fbOO/fLLL0lISOC5557Dx8cHgOPHj7Nu3TqqVq3KwIEDs46dO3cut27dYvjw4ZQvXx6A06dPs2rVKipUqMCwYcOyjp03bx6RkZEMGjQIf39/AM6fP89PP/2Er68vzz77bNaxixcv5sqVK/Tr14/q1asDEB4ezqJFi/D09OSFF17IOnbZsmVcvHiRnj17UrduXQBu3LjB999/j6urKy+//HLWsatWrSI0NJQnn3yShg0bAhAdHc3XX3+Ng4MDr732Wtaxv/zyC8ePH6djx440bdoUgLi4OGbNmoW1tTVvvfVW1rEbN27k8OHDPPbYY7Ru3RqA5ORkPvvsMwCmTp2adewff/zBvn37aNmyJe3atQPUN+i7v/uJEydmvcnu2LGDXbt2ERQURKdOnbLOcffYCRMmFNx7BDBr1iySk5N5/vnn8fLyAuDIkSOsX7+egIAA+vfvn3XsnDlziIuLK7T3iMbtgslw8uZmYjoxN8JJObWDTFsXosu2xqgoGE0KXhF7sU+7RUKZRlh7+GFvbYVzZizxx7Zg5+TKkwOG4+fugIudtbxHyHtEkbxH5JbmBdCcOXP49NNPiYiIIDAwkC+//DLrxf5fd9+gFi1axLVr1wgICODjjz/O9qY0bdo03nnnnWz3CwgI4MyZM4X6c+SKosCdqj5LRjJkxIAOiL8OO+f+8z3dSMAF/poB1eqBX1ARhhVCWIq4lAy+2XmB0zfiOX0jgYDYOErr4cONp7lqugGArz6OjrbqsZtORmTdt5NNOvYGOHjpFpcuqvu89Al0tYWo+FS6zt4FgKezLW0Mt3EG/j4fA6VjqVHGuah/VCGy6BRFUbR68OXLlzNkyBDmzp1LUFAQM2fOZOXKlYSGhmb95fNvb7zxBkuWLOG7776jevXqbN68mfHjx7N7927q168PqAXQqlWr+OOPP7LuZ2VlhYeHR65zxcfH4+rqSnR0NKVLly74Jk5FwVqvoMtMgeRbGONvYIyLQB9/DavY8xBzDqJDyUiJRwGsMKJH/TWZnP3IrNQWnX8brKu1B/tSQPFttpTmbWneLi6/e7kEph57O8XI/ku32Rd2k/0XY7gYlYCCDuO/uoQaMGHQKXg6O1C2tCOezraUsrfC1daAq7019va2GHQ6DHrAZCQj00RKpkJqpkJSupFbialExSUTnZhOREIGN5PSs86rQ8GIDgU91gYdNXycaVDOhaDK7rQI8MHFzrrY/e6L4+tE3iNyPvbu53dcXFxWi9v9aFoABQUF0bhxY7766itAfTL8/PwYN25ctubNu3x9fZk0aRJjxozJ2te7d2/s7e1ZsmQJoBZAa9eu5ciRI/nOlZcnsNAoitoidO0gXAuBqyFw9QAY0/45Rm8N/o9D7V4Q0BnsXLXJKoQothRFITQygT9ORfLH6SiOXIm955hKHo7ULONCjTLO1CjjQhUvJ8q42mNjVTDjZOJTM7gYncTF6EQuRCdy8no8R6/Ecjs5I9txeh3ULedGq6oePFHTmzplXbMKASFyIy+f35pdAktPTyckJISJEydm7dPr9bRv3549e/bkeJ+0tLSs66132dvbs2vXrmz7zp07h6+vL3Z2djRr1ozp06dnXfe833nT0v4pLOLj4/PzIxUsnQ5cy6q3mt3VfenJEL4bLmyH839A9Bk4t1m9GWzV4xqNgPJN773UJoSwKGExSaw9fI21R65x+WZytu/VLKO2uARVKk3jiqUo7WRbqFlc7Kyp5+dGPT+3rH2KonD1dgpHrsSyP+wWf5+P4WJMEkeuxHLkSixfbjuPr6sdHWr50KGWN0GVSmPQy/uaKDiatQBdv36dsmXLsnv3bpo1a5a1//XXX2fnzp3s27fvnvsMHDiQo0ePsnbtWvz9/dm6dSvdu3fHaDRmFTC//fYbiYmJBAQEcOPGDd555x2uXbvGiRMncHbO+XpzTv2GAG1bgHIj6gycWgsnVkNM6D/7PWtA42eg3tNg46BZPCFE0UpKy2TtkWusCrnK4fDYrP22VnpaVvGgfU1vHq/uhbeL3f1PoqHrsSn8fT6G7aFR7AiNJjndmPU9bxdbetQvS58G5ajqLX2HRM7M4hJYfgqg6Ohonn32WX799Vd0Oh3+/v60b9+e+fPnk5KSkuPjxMbGUqFCBWbMmMEzzzyT4zE5tQD5+fkV/wLoLkWB64fg4AI4vgoy7zwXDh7QdDQ0fhbs3TSNKIQoPBejE1m89zKrDl4lIS0TUC8ntarqSc/6ZelQyxsHG83HvORJaoaRXedi2Hwygt9PRRKX8s/lsrrlXOnbyI9e9cviaGteP5coXGZxCczDwwODwUBkZGS2/ZGRkVlD+v7L09OTtWvXkpqays2bN/H19eXNN9+kcuXK930cNzc3qlWrxvnz5+97jK2tLba2hdsEXKh0OijbUL11eB+OLoO9cyA2HLa9D7tmQdPnofk4sDODgk4IkSsHL91izvbzbA+NztpXycORp4PK062eL17OxbOlJzfsrA20r+lN+5revJ9pZPuZKFaFXGNHaBTHrsZx7Gocn/x2ht4NyzGkWQUqezppHVmYGc07QTdp0oQvv/wSUDtBly9fnrFjx+bYCfq/MjIyqFGjBk899RQffvhhjsckJiZSvnx5pk2bxosvvpirXMWiE/SjMmbCydWw6wuIOqXucygNrV9T+wlZmXHBJ4QFUxSFXedj+GrbefaF3QLUv4EeD/BiSPOKtKrigb4E95W5mZjG2iPXWbL3MmExSVn7W1fz5LnWlWnuX1o6Tlsws7gEBuow+KFDh/LNN9/QpEkTZs6cyYoVKzhz5gze3t4MGTKEsmXLZk06tW/fPq5du0a9evW4du0a06ZNIywsjEOHDmVNLjZhwgSCg4OpUKEC169fZ+rUqRw5coRTp07h6emZq1wlogC6y2SCM7/C1nfh5p1WMLfyaktRjW7SWVoIM7L34k0+3nQmq3+PtUFH7wblGN3Gn4oejtqGK2Imk8Jf52P4YfcltoVGcfeTLNDPjTFt/Wlfw7tEF4IiZ2ZxCQygX79+REdHM2XKFCIiIqhXrx6bNm3C29sbUGeUvDtfAEBqaiqTJ0/m4sWLODk50aVLFxYvXpxV/IA6S/GAAQO4efMmnp6etGzZkr179+a6+Clx9Hp1dFhAVziyBHZ8pF4aWzEE/NtBl0+htL/WKYUQD3A2MoGPfzvD1jNRgNqpeUCT8oxqXRlfN3uN02lDr9fRpponbap5cvlmEvN3hbHswBWOXoll1OIQqnk7MeaxKjxZ11dGj4kcadoCVFyVqBag/0pPVi+L/T0TjOlgsIHmL6qXxqzNt7+AECVRTGIan24KZWXIFUwKGPQ6+jf246X2Vc26f09hiU5IY8HfYSzeczmrM3iAtzMTOgbQvoaXXBqzAGZzCay4KtEF0F03L8DG1+DCVvVrjwDo+bXakVoIoSmjSWHpvst8sjmUhFT1g7xTLR9e6xSAv3T2fai4lAwW77nEt39eJP7O89egvBuvdaxOM//SGqcThUkKoEdkEQUQqMPnT/8CGyZAUhTo9NDiJWg7UTpJC6GRI1dieXvtCY5fiwOgdlkX3ulWi4YV3DVOZn7ikjOY++cFFvwdRmqGCYA21Tx5+8maVPGSQrIkkgLoEVlMAXRX8i21NejEKvVrzxrQZx5419I2lxAWJCXdyCebz7Bw9yUUBZztrHitYwBPB1WQPiyPKCo+lS+3neen/eFkmhSs9DqGNq/Ii+2q4mpv/fATCLMhBdAjsrgC6K7Tv8L6VyApGqzsoOOH6pB5uW4uRKE6cOkWr608yqU7S1b0ql+WiV1q4OksLbEF6VJMEu9vOM0fp9X550o72jChYwBPNfKTIrOEkALoEVlsAQSQFANrRsP5LerXNbpBt9lZq84LIQpOSrqRz34PZf7fYSgK+LjY8VHvOrQN8NI6Wom282w0760/xfmoREC9zPhhzzrULeembTDxyKQAekQWXQCBOnfQ3v/BH9PAlAGu5eGpRVC2gdbJhCgxzkTEM27pYc7d+RDu27Ack5+sKZdkikiG0cTiPZf54o+zJKRmotfBsOaVeLVDNVlew4xJAfSILL4AuutaCKwaAbcvqavNB8+CegO0TiWEWVMUhSX7wnl//SnSMk14OtvySe+6PFZdWn20EJOYxnvrT7HuyHUAyrrZ8273WrSr4a1xMpEfUgA9IimA/iU1DlaPgrOb1K+bPAcdPwCD/JUqRF7FJWfwxs/H2HQyAoDHAjz5rG8gpZ2kr4/WdoRGMXntCa7eVheT7lqnDO90r4WH/G7MihRAj0gKoP8wmWDnR7DzY/XrCi2h70JwstDZtYXIhxPX4nhucQjXYlOwNuh4o1N1RrSoJMs1FCPJ6ZnM/OMc83aFYTQplHa04YOedehUO+cFukXxIwXQI5IC6D5Or4c1z0F6IrhVgKdXgWc1rVMJUeytPnSViauPk5ZpokJpB74cUF863BZjJ67FMWHlUc5EJADQs35ZpgXXwtVBWr6LOymAHpEUQA8QHQpL+8HtMLBzhf5LoWJLrVMJUSxlGE18sOE0C3dfAuDx6l580a+edHQ2A2mZRmb9cY65Oy9gujNC7+M+dWlTTVq+izMpgB6RFEAPkRQDPw2Aq/tBbw3d50BgP61TCVGsxCSmMebHQ+wLuwXAi+2q8nK7qnLJy8wcCr/NhBVHuRiTBMDgphWY1LUGdtYGjZOJnOTl81v/wO8KkRNHDxj6i7rKvCkD1oyCnZ+oS2sIITgflUDP//3NvrBbONla8e3ghox/opoUP2aoQflSbHixFcOaVwRg8d7L9JjzN+ciE7QNJh6ZFEAif6ztoc9CdSV5gO0fqMtpmEyaxhJCa7svxNDrf7u5ciuFCqUdWDumBR1qSSdac2ZvY2Bat1osGtEEDycbzkQkEPzVLpbuC0cuopgvKYBE/un10OE96PIZoIMD36mtQcYMrZMJoYlVIVcZOn8/8amZNKxQijUvtJBFN0uQNtU8+e2l1rSq6kFqhom31hxn7NLDxKXIe545kgJIPLomz0Lv70FvBcdXwvJBkJGidSohioyiKMzYcpYJK4+SYVR4sm4ZfhwZhLujjdbRRAHzdLZl0fAmTOxcHSu9jg3Hb9Bl1l8cDr+tdTSRR1IAiYJRp486IszKTp00cUkfSI3XOpUQhc5oUpi09gSzt54DYMxj/szuX186yZZger2O59r48/PzzSnv7sC12BSe+mYPi/dckktiZkQKIFFwqnWEwWvA1gUu74IfukGK/FUkSq70TBMvLjvM0n3h6HXwYc86vNaxunR2thCBfm5seLElnWv7kGFUeHvdScavOEpyeqbW0UQuSAEkClaF5jBsPTiUhuuH4YfukHxL61RCFLjk9EyeWXSADcduYG3Q8dXABgwMKq91LFHEnO2s+d/TDZjUpQYGvY41h6/Rc85uLkYnah1NPIQUQKLglQmEoevBwQNuHJUiSJQ4scnpPP39Pv46F4ODjYH5wxrTpU4ZrWMJjeh0Op5tXZmlI4PwdLYlNDKB7l/9zaYTEVpHEw8gBZAoHN41YeivahEUcUyKIFFi3EpKp/+3ezkcHourvTVLRgbRqqrMDiwgqHJpNoxrSZOK7iSkZTJ6SQifbj6DyST9goojKYBE4fGuqV4Oc/S8UwR1kyJImLWbiWkM/G4vZyIS8HS2ZcVzzWhQvpTWsUQx4uVix4/PBjGyZSUA5my/wKjFISSkylD54kYKIFG4vGqol8McPSHiuNoSlBKrdSoh8iwmMY2B3+3jTEQCXs62LBvVlAAfZ61jiWLI2qBn8pM1+aJfIDZWev44HUnvr3dz+WaS1tHEv0gBJAqfV/V/+gRFHFMXU02XNwJhPqIT0hjw7V5CIxPwdlGLH39PmeBQPFjP+uVY8VwzvJxtORuZSPc5f/P3+RitY4k7pAASRcOr+p0h8q5wZa86WWJmmtaphHioqIRUBny3l3NRifi42LFsVDMqS/Ejcqmenxu/jmtJoJ8bsckZDJm/n4V/h8l8QcWAFECi6JSpC4NWgbUjXNgGq0aAUebLEMXX7aR0Bn2/j/NRiZRxtWPZqKZU8nDUOpYwM94udiwf1ZRe9ctiNClM+/UUb605ToZR1k7UkhRAomj5NYEBS8FgA2fWw7oxsoCqKJYSUjMYtmA/ZyMTsy57VZTiR+STnbWBz58K5K0u1dHp4Kf9Vxix8ADx0jlaM1IAiaJXuS30XQQ6AxxbBr+9DtIcLIqRlHQjzyw6yNGrcZRysGbJM0FUKC3Fj3g0Op2OUa39+W5wI+ytDfx1LoY+X+/m6u1kraNZJCmAhDaqd4Fe35K1ivxfn2udSAhAXd7i+R9D2B92C2dbK34YEURVbxntJQpO+5rerBz9T+fonv/bzbGrsVrHsjhSAAnt1OkDnT9Wt7e9B4d/1DaPsHhGk8Iry4+wIzQaO2s984c3pk45V61jiRKodllX1o5pQXUfZ6IT0njqmz38flJmji5KUgAJbQU9By1eVrd/GQfntmgaR1guRVGYvPY4G46ra3t9M7gRjSu6ax1LlGC+bvasHN2M1tU8Sc0w8dySEObtkhFiRUUKIKG99tOgbn9QjLBiCFwN0TqRsECztp7jp/1X0Otgdv/6tKkmy1uIwudsZ838oY0YGFQeRYH31p9i2i8nMcryGYVOCiChPZ0Oun8F/o9DRjIs7Qs3L2idSliQ5QfCmfnHOQDe7V6bzrKwqShCVgY9H/SozVtdqgOwaM9lxv10iNQMo8bJSjYpgETxYLCGp36AMvUg+SYs6QWJ0VqnEhZg+5ko3lpzAoAxj/kzqGkFjRMJS3R3hNhXA+tjY9Cz8XgEQ+fvJy5FhskXFimARPFh6wxPr4RSFeH2JVg2EDJStU4lSrCjV2J54cdDGE0KvRqUZUKHAK0jCQv3ZF1fFg5vjJOtFfvCbtHvmz1Exsv7YGGQAkgUL05e8PQqsHOFq/vViRKlQ6AoBJdvJjFi4QFSMoy0qurBx73rotPptI4lBM2reLD8uaZ4OttyJiKBXv/bzfmoRK1jlThSAInix6Mq9FsCeis4sQp2fKR1IlHCxCanM2zBAW4mpVPL14WvBzXE2iBvh6L4qOXryurnm1PJw5FrsSn0nbubQ+G3tY5Vosj/eFE8VWoNT36hbu/8CI6t0DaPKDEyjCZe+PEQYTFJlHWzZ8Ew9XKDEMWNn7sDq0Y3I7CcK7eTMxj43V62nYnUOlaJIQWQKL4aDIEWL6nb68ZA+F5t8wizpygKU9adZPeFmzjaGJg3rBFeLnZaxxLivko72bL02aa0DVDnCnr2hxBWHryidawSQQogUby1mwY1gsGYrnaKvnVR60TCjC34+xI/7Q9Hp4PZA+pT3cdF60hCPJSjrRXfDWlE7wblMJoUXlt1jHm7wrSOZfakABLFm14PPb/9Z3j80n6QGqd1KmGGtodG8f6GUwC81bkG7Wp4a5xIiNyzNuj5rG9dRrasBKgTJn6x5azMGv0IpAASxZ+NAwxYBi5lIeYsrB4FJpPWqYQZORuZwLilhzEp0K+RHyNbVdI6khB5ptPpmNS1Bq8+UQ1QZy9/59dTmGTW6HyRAkiYB5cy6sgwKzs4uwm2f6B1ImEmbiWl88yiAySmZRJUyZ33etSW4e7CbOl0Osa1q8o73WoBsHD3JV5bdYxMo/xRmFdSAAnzUbYBBM9Wt//6DE6u0TaPKPYyjSbGLj3ElVspVCjtwNxBDbGxkrc9Yf6GNq/IjKcCMeh1/HzoKi/8KEtn5JW8EwjzEtgPmo9Tt9e+ABHHtc0jirVPNoey+8JNHGwMfDekEaUcbbSOJESB6dWgHF8/3QAbg57fT0XyzKIDJKVlah3LbEgBJMxP+3f+WTj1p4GQdFPrRKIY+vXodb79Ux01+FnfQKp5O2ucSIiC16GWDwuHN8bBxsDf528yaN4+YpPTtY5lFqQAEuZHb4A+88G9MsSFw8qhYJQFA8U/zkTE8/qqYwCMbuNPF1ndXZRgzat48OPIIFztrTkcHku/b/YSJeuHPZQUQMI82ZeC/kvBxgku/QWb39I6kSgm4pIzeG5xSNYaX691lAVORclXv3wpVjzXDC9nW0IjE+j37V6ux6ZoHatYkwJImC+vGtDrW3V7/7dwdJm2eYTmjCaFl5Yf5vLNZMqVsmd2//oY9DLiS1iGAB9nVo5uRlk3e8Jiknjqmz1cuZWsdaxiSwogYd6qd4U2b6rbv74MESc0jSO0NeuPs+wIjcbWSs/cQQ2l07OwOBVKO7JidDMqlnbg6u0U+s7dw8VoWUk+J1IACfPX5g2o0h4yU2D5IEiJ1TqR0MD20ChmbzsPwEe961C7rKvGiYTQRlk3e1Y814wqXk5ExKfy1Dd7CY1I0DpWsSMFkDB/ej30+g5cy8PtMFj7vMwUbWGux6YwfvkRAAY3rUDP+uW0DSSExrxc7Fg2qik1yrgQk5hG/2/3cOKaLCP0b1IAiZLBwR36/QAGWwjdCH9/oXUiUUQyjCbG/XSY28kZ1C7rwuQna2gdSYhiwcPJlp+eDSKwnCu3kzMY8N1eDoff1jpWsSEFkCg5fOtDl0/V7W3vw8UdmsYRReOzzaGEXL6Ns60VcwY2wNbKoHUkIYoNNwcbFo8MolGFUiSkZjLo+33suyhzp4EUQKKkaTgU6g8CxQSrRkDcVa0TiUK09XQk39yZ7PDTvnWpUNpR40RCFD8udtYsGtGEZpVLk5RuZOiC/ew6F6N1LM1JASRKni6fgU9dSL4JK4ZAZprWiUQhuHo7mfErjgIwvEVFOtWWyQ6FuB9HWysWDG9Mm2qepGaYGLHoANvORGodS1NSAImSx9oe+i0GOze4FgKbJmqdSBSw9EwTY5YeJi4lg0A/NyZ2ln4/QjyMnbWBb4c05Ima3qRnmnhucQibTtzQOpZmpAASJVOpitD7e0AHB+fB8VVaJxIF6JNNZzh6JRYXOyu+GlBfVngXIpdsrQz87+kGPFm3DBlGhTFLD7PuyDWtY2lC3jVEyVX1CWj1qrr960tw84K2eUSB2BEaxfe7wgD4/Kl6+Lk7aJxICPNibdAzq399+jQsh9Gk8PLyI6w4eEXrWEVOCiBRsrWdCBVaQHqiumhqhiwQaM6iE9KYsFLt9zOseUWeqOmtcSIhzJNBr+OT3nV5Oqg8igKvrzrGj/suax2rSEkBJEo2gxX0ngcOHhBxXBZNNWOKovDaqqPEJKYT4O3Mm52rax1JCLOm1+t4v0dthreoCMCkNSeYf6d11RJIASRKPpcy0OsbdfvgPDixWts8Il8W/H0pa52v2QPqY2ct8/0I8ah0Oh1TnqzJc20qA/Du+lPM3WkZ3QWkABKWoUr7f/oD/fKi9AcyM6eux/PRb2cAmNy1BgE+zhonEqLk0Ol0vNmpOi+2qwrAR7+dYdYf51AUReNkhUsKIGE52r4F5ZtDegKsHCb9gcxESrqRF5cdJt1oon0NLwY1raB1JCFKHJ1Ox/gnqvFaxwAAvvjjLJ9uDi3RRZAUQMJyGKzUofEOpSHiGPw+SetEIhfe33CK81GJeDnb8kmfQHQ6ndaRhCixxjxWhcld1Xm1/rfjAu9vOF1iiyDNC6A5c+ZQsWJF7OzsCAoKYv/+/fc9NiMjg3fffRd/f3/s7OwIDAxk06ZNj3ROYWFcy0LPb9XtA9/DyTXa5hEPtPlkBD/uCwdgxlP1cHe00TiRECXfyFaVea97LQDm7Qrj7XUnMJlKXhGkaQG0fPlyxo8fz9SpUzl06BCBgYF07NiRqKioHI+fPHky33zzDV9++SWnTp1i9OjR9OzZk8OHD+f7nMICVW0PLV9Rt9eNk/5AxVRUQipv/nwMgOdaV6ZlVQ+NEwlhOQY3q8jHveug08GSveFMXH0cY0EVQYnR8Ms49V8N6RQN27aCgoJo3LgxX331FQAmkwk/Pz/GjRvHm2++ec/xvr6+TJo0iTFjxmTt6927N/b29ixZsiRf58xJfHw8rq6uxMXF4eLi8qg/piiOjJmwsCtc2auuIj/id7CS1oXiQlEUnll0kG1noqhZxoW1Y1rIbM9CaGDN4au8uuIoJgV61i/Lp33qYmV4hP+Lx1fBxgmQchtq94E+8wouLHn7/NbsHSU9PZ2QkBDat2//Txi9nvbt27Nnz54c75OWloadnV22ffb29uzatSvf57x73vj4+Gw3UcIZrNT/eHZucP0wbHtP60TiX5YfuMK2M1HYGPR80a+eFD9CaKRn/XJ8OaABVnodaw5f46VlR8gwmvJ+ImMGbHwNfn5GLX586kDzcQUfOA80e1eJiYnBaDTi7Z19Jldvb28iIiJyvE/Hjh2ZMWMG586dw2QysWXLFlavXs2NGzfyfU6A6dOn4+rqmnXz8/N7xJ9OmAXXctBdbSlk92w4v1XbPAKA8JvJvLf+FAATOlaTIe9CaKxr3TJ8PaghNgY9G47f4Pklh0jLNOb+BGmJsKQ37L/T/7L16/DsdvCtVyh5c8us/qyaNWsWVatWpXr16tjY2DB27FiGDx+OXv9oP8bEiROJi4vLul25YnlrolisGsHQaIS6vWa05tekLZ3RpDBh5VGS0o00qeTOMy0rax1JCAE8UdObb4c0xNZKzx+nIxn1QwipGbkoglJiYXFPCNsJNk4wYBk8PgkM1oWe+WE0K4A8PDwwGAxERkZm2x8ZGYmPj0+O9/H09GTt2rUkJSVx+fJlzpw5g5OTE5UrV873OQFsbW1xcXHJdhMWpOOH4FkDkqJg7fNgykfzrigQ83ZdZP+lWzjaGPi8byAGvQx5F6K4aBvgxfxhjbG3NrDzbDQjFh4gOT3z/ndIiYUfusHV/Wp3gyG/QEDnoor7UJoVQDY2NjRs2JCtW/+57GAymdi6dSvNmjV74H3t7OwoW7YsmZmZ/Pzzz3Tv3v2RzyksmLU99JkPVnZwfgvsm6t1IosUGpHAZ5vPAjAluKas8i5EMdSiigeLRjTB0cbA7gs3GTp/PwmpGfcemJECP/WHG0fVtRiHbYByDYs+8ANoegls/PjxfPfddyxatIjTp0/z/PPPk5SUxPDhwwEYMmQIEydOzDp+3759rF69mosXL/LXX3/RqVMnTCYTr7/+eq7PKUSOvGtCh/fV7S1T4PoRTeNYmvRMEy8vP0K60US76l481Uj64QlRXDWp5M7ikUE421lx4NJtBs/bT1zKv4ogYyasHA7he8DWFYasA5/a2gW+DystH7xfv35ER0czZcoUIiIiqFevHps2bcrqxBweHp6tf09qaiqTJ0/m4sWLODk50aVLFxYvXoybm1uuzynEfTUeCRe2Q+gGdaTCqJ1g66R1Koswa+tZTt+Ip5SDNdN715HZnoUo5hqUL8VPzzZl0Lx9HLkSy9Pf72XxiCBKOVjDry/C2d/UVvWBy4pl8QMazwNUXMk8QBYs+RZ83QISrkP9QdB9jtaJSrxD4bfp8/VuTAp8/XQDOtcpo3UkIUQunYmI5+nv9nEzKZ3qPs78XHMXjrs/Bp0B+v9Y5H1+zGIeICGKJQd36PUtoIPDS9RJu0ShSc0w8trKfyZZk+JHCPNS3ceF5c81xcvZlspRW9TiB+DJGcWqw3NOpAAS4r8qtYLWE9Tt9a/A7UuaxinJZm09x4XoJDydbZkaXFPrOEKIfKji5czaHg7MsFEHkKyw6sY1/34ap3o4KYCEyEmbN6FcE0iLh59HqrOYigJ17Gos3/55EYD3e9TGzUGWIhHCLMVfx3fTCOxIZ4++AW8mPkW/b/Zw5Vay1skeSAogIXJisILe36sjGK4egJ0fa52oREnLNPLaymMYTQrBgb50rHX/ebqEEMVYejIsGwgJN8CzOpVGL6OChzNXb6fw1Dd7uBidqHXC+5ICSIj7KVUBgr9Qt//6HC7ffz05kTdztp0nNDKB0o42vNOtltZxhBD5YTKpk8dePwz27jBgGT5e3iwf1ZSqXk7ciEul37d7OXW9eK6vKQWQEA9SuzfU7Q+KCdaMgtQ4rROZvZPX4/jfjgsAvNu9Nu6OculLCLO082M4tRb01tBvCbhXAsDLxY5lo5pSo4wL0Qlp9Pr6b1Yfuqpt1hxIASTEw3T5FNzKQ2w4bHz94ceL+8owmnht5TEyTQqda/vQta6M+hLCLJ34GXZ+pG4/+QVUbJHt26WdbFn2bFPaVPMkNcPE+BVHeX3V0ewTJmpMCiAhHsbOBXp9Bzo9HFum/scX+fL1jgucujPh4bvdi+fkaEKIh7gWAmtfULebj4MGg3M8zNXBmvnDGvNy+6rodLDi4FXafb6T5QfCSc/Ufs1FKYCEyI3yTaHVq+r2+lcgrvg15xZ3ZyLi+XLbOQCmdauFp7OtxomEEHmWEAnLBkFmKlTrBO3feeDhBr2Ol9tXY9mzTans6UhMYhpv/HycNp9uZ/Hey0UUOmdSAAmRW23egLIN1X5Aq58Dk1HrRGYj886lrwyjQvsa3nQL9NU6khAirzLTYeVQdaZ8j2pqy7jekKu7BlUuzW8vtWJy1xp4OttyIy6VW4nphRz4waQAEiK3DNbqf3hrR7i8C3bP1jqR2Zj/dxjHr8XhYmfFhz1ry1pfQpijzRPvLHDqAv2Xqt0D8sDWysDIVpX56/XHmNW/Hv0aa7vosRRAQuRFaX/ofKfj37YPZNX4XAi/mcyMLWcBmNy1Jl4udhonEkLk2aHFcOB7QKf+IehRNd+nsrM20L1eWXxctX0vkAJIiLyqPxiqPwmmDHWW6PTiPduplhRFYdLa46RmmGha2Z2+jcppHUkIkVdXD8KG8er2Y29BQCdt8xQQKYCEyCudDrp9CU4+cPMc/D5Z60TF1toj1/jrXAw2Vnqm96orl76EMDcJkbB8EBjT1T/8Wk3QOlGBkQJIiPxwcIeeX6vbB+dB6CZt8xRDt5LSeW/9aQBealeVSh6OGicSQuRJZjqsGKIuc+ERAD3ngr7klA0l5ycRoqj5Pw5Nx6jb68ZAYpS2eYqZ99ef4lZSOtV9nBnVurLWcYQQebXpTbiyV10Tsf9SsHXWOlGBkgJIiEfRbgp41YLkGLUIUhStExULf52LZvXha+h0ML1XHawN8lYjhFk59IPauo0Oen8HHlW0TlTg5F1JiEdhbaeuGm+whXO/3xklYdlS0o1MWnMCgKHNKlK/fCmNEwkh8uTKAdhwZ+LXxyZBtY7a5ikkUgAJ8ai8a8ITd2ZD/X0yRJ3RNo/GZv5xlvBbyfi62jGhY4DWcYQQeZEQCSsG/6vT86taJyo0UgAJURCaPKf2CcpMhdUjITNN60SaOHEtju93hQHwXo/aONlaaZxICJFrJbzT83+V3J9MiKKk10OPr8HeHSKOw7b3tU5U5DKNJiauPo7RpNC1bhna1fDWOpIQIi9KeKfn/5ICSIiC4uyjzg8EsPtLCPtT2zxFbOHuS1nLXUwNrql1HCFEXlhAp+f/kgJIiIJU40loMARQYM1oSLmtdaIicT02JWu5i7e61MDLWZa7EMJsWEin5/+SAkiIgtZxOrhXhvhrsH68RQyNf+fXkySnG2lUoRRPNdJ2gUMhRB5YUKfn/5ICSIiCZuukLhaoM8DJ1XBshdaJCtW2M5FsPhmJlV7H+z1ro9fLchdCmIV/d3r2rF7iOz3/l+X8pEIUpXKNoO2b6vbGCXD7srZ5CklKupEp604C8EzLSlT3cdE4kRAi1za9YVGdnv9LCiAhCkvL8eAXBGnxan8gk1HrRAXuq+3nuHo7BV9XO15sV1XrOEKI3ApZBAfno3Z6/h5K+2udqMhJASREYTFYQc9vwMYJwnfD3zO1TlSgzkcl8O2fFwGY2q0WjjLnjxDm4coBtWUa4PFJUK2Dtnk0IgWQEIXJvRJ0/kTd3v4hXDukbZ4CoigKk9eeIMOo0K66Fx1qypw/QpiFhAhYPkjt9FwjGFpN0DqRZqQAEqKw1RsINbuDKRNWPwvpSVonemRrDl9j78Vb2FnrmdatFjqddHwWoti72+k5MULt9Nzja7Dg/7tSAAlR2HQ6eHImOJeBm+fV9cLMWFxyBh9sOA3Ai+2q4ufuoHEiIUSu/PY6XNlnsZ2e/0sKICGKgoO7+tcWqB0PQzdpm+cRfLL5DDeT0qnq5cTIlpW1jiOEyI2QhRCyANBBn3kW2en5v6QAEqKo+D8GTceo2+vGQGKUtnny4XD4bZbuDwfUxU5trOQtRIhi78p+2HC30/NkqPqEtnmKCXn3EqIotZsCXrUgOQbWjTWrWaIzjSYmrTmBokCvBmVpWrm01pGEEA8TfwOWDwZTBtToZlEzPT+MFEBCFCVrO3WhQYMtnNt8Z/FB8/DDnsucuhGPq701b3WpoXUcIcTDZKb9p9Pz/yy60/N/SQEkRFHzrgXtp6nbmydD9FlN4+RGVHxq1mKnb3SqjoeTrcaJhBAP9dvrcHW/dHq+DymAhNBC0Gio/BhkpsDqkerw1GLsw42nSUzLpJ6fG/0by2KnQhR7BxeoHZ+l0/N9SQEkhBb0enVUmH0puHEUdkzXOtF97bt4k7VHrqPTwbvda8lip0IUd1f2w8bX1G3p9HxfUgAJoRWXMhA8W93e9QVc+lvbPDnINJqY+ou62OmAJuWpW85N20BCiAeTTs+5JgWQEFqq2Q3qDQIUWPMcpMZpnSibJXsvcyYiATcHa17rEKB1HCHEg2Tr9FzD4md6fhgpgITQWuePoFRFiLvyz1wdxUBMYhqf3+n4/FrHAEo52micSAjxQHc7Pdu5Qv8fwdZJ60TFmhRAQmjN1hl6fQc6AxxfAcdXaZ0IgI9/O0NCaia1y7rQv3F5reMIIR7k352ee8+XTs+5IAWQEMWBXxNofafT4vrxEHtF0ziHwm+zMuQqAO92r41BOj4LUXyF7/un03O7t6Fqe23zmAkpgIQoLlq/BmUbQVocrBkNJqMmMYwmhSnrTgDQt2E5GpQvpUkOIUQuxN+AFXc6PdfsDi3Ha53IbEgBJERxYbCCXt+CtSNc3gW7v9QkxrID4Zy4Fo+znRVvdK6uSQYhRC5kpqnFT2IkeNWE7jLTc15IASREcVLaX+0UDbDtfbh+pEgf/nZSOp9uDgXg1SeqyYzPQhRnG1+Dqwek03M+SQEkRHFTfzBUf1Jt0l79LKQnF9lDf/p7KLHJGVT3cWZQ0wpF9rhCiDw6OB8OLSKr07N7Za0TmR0pgIQobnQ6dYJEJx+IOQtbphTJwx67GstP+8MBteOzlUHeHoQolsL3wsbX1e12U6TTcz7JO5wQxZFjaXXlZoAD38HZ3wv14UwmhSnrTqIo0KOeL00quRfq4wkh8in+hjrZYVan51e0TmS28lUARUZGMnjwYHx9fbGyssJgMGS7CSEKQJV2EPS8ur1uDCRGF9pDrQq5ypErsTjaGHirS41CexwhxCOQTs8Fyio/dxo2bBjh4eG8/fbblClTBp38AoQoHO2nwsUdEH0afn0R+i8t8De8uOQMPt50BoCX21fDy8WuQM8vhCgAigIbJ0in5wKUrwJo165d/PXXX9SrV6+A4wghsrG2h97fwXePQ+hGdabXRsML9CG++OMsN5PSqeLlxLAWFQv03EKIAnJwPhz6Aen0XHDydQnMz88PRVEKOosQIic+ddSOjgCb34KY8wV26tCIBBbvvQzAO91qYS0dn4Uofi7vgd/eULel03OByde73cyZM3nzzTe5dOlSAccRQuSo6Rio1BoyktWh8caMRz6loii88+tJjCaFzrV9aFHFowCCCiEKVNy1f3V67iGdngtQvgqgfv36sWPHDvz9/XF2dsbd3T3bTQhRwPR66DEX7Nzg+iHY+fEjn3LzyUh2X7iJjZVeOj4LURxlpMLyQZAUBV611JGh0ue2wOSrD9DMmTMLOIYQ4qFcy0LwTFg5DP76HPzbQYVm+TpVaoaRDzaeAuC51pXxc3couJxCiEenKLD+FfUPHvtSaqdnG0etU5Uo+SqAhg4dWtA5hBC5UasnnN0MR3+CNaNg9N9g55Ln08zbFcaVWyn4uNjxfFv/QggqhHgk+7+Fo0tBp4c+C8C9ktaJSpx8FUAARqORtWvXcvr0aQBq1apFt27dZB4gIQpb50/g8t8QGw4bxkOv7/LULB4Rl8qc7WpH6oldquNgk++3ASFEYQj7CzZNVLefeA/8H9M2TwmVrz5A58+fp0aNGgwZMoTVq1ezevVqBg0aRK1atbhw4UJBZxRC/JudC/T6HnQGOL5SbQ3Kg483nSE53UjDCqXoFuhbSCGFEPkSGw4rh4JihDpPQbMxWicqsfJVAL344ov4+/tz5coVDh06xKFDhwgPD6dSpUq8+OKLBZ1RCPFf5YPgsTt/IW6YkOuh8SGXb7Pm8DV0OpgWXEsmMRWiOElPhmVPQ/JNKBMI3WZLp+dClK8CaOfOnXzyySfZRnyVLl2ajz76iJ07dxZYOCHEA7QcDxVbQUYSrBquTpP/ACaTOuwd4KmGftQp51oUKYUQuaEo6mzvEcfAwQP6/ahOhCoKTb4KIFtbWxISEu7Zn5iYiI2NzSOHEkLkgt6g9v9xKK2+aW6Z+sDDVx26yrGrcTjbWjGhY0ARhRRC5Mqer9RL2joDPLUI3Py0TlTi5asAevLJJxk1ahT79u1DURQURWHv3r2MHj2abt26FXRGIcT9uJSBHl+r2/u+htDfcjwsITWDTzaFAvBiu6p4OtsWVUIhxMNc2AZb7sz23ukjqNhS2zwWIl8F0OzZs/H396dZs2bY2dlhZ2dHixYtqFKlCrNmzSrojEKIB6nWEZq+oG6vfQHir99zyFfbzhOTmEZlD0eGNq9YtPmEEPd3KwxWDgfFBPUHQZNntU5kMfI1/tXNzY1169Zx7tw5zpxRV5GuUaMGVapUKdBwQohcaj8NLu1SL4X9/CwM/UW9RAZcjE5k/t9hALz9ZE1srGS9LyGKhbREtdNzaiyUbQRdPpdOz0Xokd4Jq1atSnBwMMHBwfkufubMmUPFihWxs7MjKCiI/fv3P/D4mTNnEhAQgL29PX5+frzyyiukpqZmfX/atGnodLpst+rVq+crmxBmw8pWnSzN2hEu71Jnir7j/Q2nyTAqtA3w5LHqXhqGFEJkURRY9wJEnQQnb+i3GKzttE5lUXLdAjR+/Hjee+89HB0dGT9+/AOPnTFjRq7OuXz5csaPH8/cuXMJCgpi5syZdOzYkdDQULy87n2jXrp0KW+++Sbz58+nefPmnD17lmHDhqHT6bI9Zq1atfjjjz+yvraykonehAXwqAJdP4e1o2HHdKjYiu2p/mw7E4WVXsfbT9bUOqEQ4q6/PoNT60BvDU8tBheZk6uo5boyOHz4MBkZGVnbBWHGjBk8++yzDB8+HIC5c+eyYcMG5s+fz5tvvnnP8bt376ZFixYMHDgQgIoVKzJgwAD27duX7TgrKyt8fHwKJKMQZqXeALi4A44tQ/n5GWaaPgb0DGteEX9PJ63TCSEATq+Hbe+r210+Vef1EkUu1wXQ9u3bc9zOr/T0dEJCQpg4cWLWPr1eT/v27dmzZ0+O92nevDlLlixh//79NGnShIsXL7Jx40YGDx6c7bhz587h6+uLnZ0dzZo1Y/r06ZQvX/6+WdLS0khL+2cOlfj4+Ef86YTQUNfP4Op+dLcu8rxxFpMdX+fF9lW1TiWEAIg4AatHqdtNRkGj4drmsWD56gM0YsSIHOcBSkpKYsSIEbk6R0xMDEajEW9v72z7vb29iYiIyPE+AwcO5N1336Vly5ZYW1vj7+9P27Zteeutt7KOCQoKYuHChWzatImvv/6asLAwWrVqlWPeu6ZPn46rq2vWzc9P5l8QZszWmdtdviFDMdDJcIBvqh/Bxc5a61RCiKQY+GmAOnlppTbQcbrWiSxavgqgRYsWkZKScs/+lJQUfvjhh0cOdT87duzgww8/5H//+x+HDh1i9erVbNiwgffeey/rmM6dO9O3b1/q1q1Lx44d2bhxI7GxsaxYseK+5504cSJxcXFZtytXrhTazyBEUfj4qB0fZQ4AoMGZT+H6EW0DCWHpMtNh+WCICwf3ytB3IRikf6qW8vTsx8fHZ018mJCQgJ3dPz3WjUYjGzduzLHzck48PDwwGAxERkZm2x8ZGXnf/jtvv/02gwcPZuTIkQDUqVOHpKQkRo0axaRJk9Dr763n3NzcqFatGufP33+tJFtbW2xtZWI4UTKcuBbH8oNXUJTOjK0cSakrW9TFFZ/7E+xk+QshipyiwMZXIXw32LrAgGXg4P7w+4lClacWIDc3N9zd3dHpdFSrVo1SpUpl3Tw8PBgxYgRjxuRu5VobGxsaNmzI1q1bs/aZTCa2bt1Ks2bNcrxPcnLyPUWOwaDOdaIoSo73SUxM5MKFC5QpUyZXuYQwZ4qiMO2XkygKdAssS6mB34Fbebh9CdaNUd+IhRBFa983cOgH0Omhz3zwlKVoioM8tQBt374dRVF4/PHH+fnnn7MthmpjY0OFChXw9c39UL7x48czdOhQGjVqRJMmTZg5cyZJSUlZo8KGDBlC2bJlmT5dvU4aHBzMjBkzqF+/PkFBQZw/f563336b4ODgrEJowoQJBAcHU6FCBa5fv87UqVMxGAwMGDAgLz+qEGbp12M3OHj5NvbWBiZ2qQ729mpT+7yOcPpX2DcXmj6vdUwhLMf5rbD5zmCfJ96Fqk9om0dkyVMB1KZNGwDCwsLw8/PL8ZJTXvTr14/o6GimTJlCREQE9erVY9OmTVkdo8PDw7M9xuTJk9HpdEyePJlr167h6elJcHAwH3zwQdYxV69eZcCAAdy8eRNPT09atmzJ3r178fT0fKSsQhR3yemZTN94GoDn2/pTxvXOStJlG0LHD+G31+D3yeqMs36NNUwqhIWIOQ+r7ixzUe9paDZW60TiX3TK/a4d5UJycjLh4eGkp6dn21+3bt1HDqal+Ph4XF1diYuLw8XFRes4QuTKjC1nmb31HOVK2fPH+DbYWRv++aaiwMphcGotuPqp/YGkD4IQhSflNnzfHm6eB78gGPqrOmO7KFR5+fzOVxf06Ohohg8fzm+/5bzytNFozM9phRD5dPV2Mt/svADAW11qZC9+QF1fqNuX6lphty7C2ueh/0/wiK24QogcGDNh1Qi1+HEpB/2WSPFTDOXr3e/ll18mNjaWffv2YW9vz6ZNm1i0aBFVq1bll19+KeiMQoiH+Oi3M6Rlmgiq5E7n2veZBd3OBfouAoMtnN0Eu2cXbUghLMWWt+HCNrB2gAFLwUnW4CuO8lUAbdu2jRkzZtCoUSP0ej0VKlRg0KBBfPLJJ1kdloUQRePApVusP3YDnQ6mBNdE96DVpMvUhS6fqNtb34XLu4smpBCW4sD3sPd/6naPr6FMoLZ5xH3lqwBKSkrKmu+nVKlSREdHA+q8PIcOHSq4dEKIBzKZFN759SQA/Rv7Ucs3F/P8NBgKdfuBYlSb6ROjCzmlEBbi/B+w8XV1+/HJUKuHpnHEg+WrAAoICCA0NBSAwMBAvvnmG65du8bcuXNlvh0hitCqkKucuBaPs60Vr3bI5dwiOh10nQEe1SDhBvz8jNpnQQiRf5GnYOVw9Q+LwAHQaoLWicRD5KsAeumll7hx4wYAU6dO5bfffqN8+fLMnj2bDz/8sEADCiFylpCawSeb1T9ExrWrgodTHjpZ2jrBUz+AtSOE7YRt7z38PkKInCVGwdJ+kBYPFVpA8Cz1Dw1RrD3SMPi7kpOTOXPmDOXLl8fDw6MgcmlKhsELc/DRb2eYu/MCFUs78PsrbbCxysffMydWq/OUgFoQ1exesCGFKOkyUmDhk3DtoLrG18itMsWEhvLy+V0gY2AdHBxo0KBBiSh+hDAHl28mMX9XGACTu9bMX/EDULvXP5OzrX0BokMLKKEQFsBkgjWj1eLHzg0GrpTix4zkeh6g8ePH5/qkM2bMyFcYIUTufLjxNOlGE62qetCuxiMOsW3/Dtw4Cpf+guWD1L9g7aTlU4iH2v6BOrmo3hr6/wgeVbROJPIg1wXQ4cOHc3XcA4fgCiEe2e4LMWw+GYlBr+PtJx8y7D03DFbQZwF80xpizsK6F+CpxdKHQYgHObIU/vpM3Q6eBRVbaptH5FmuC6Dt27cXZg4hRC5kGk28++spAJ4OKk81b+eCObGTJ/RbDAs6q4um/j0TWr5SMOcWoqS5tAt+eVHdbvUq1H9a2zwiX2QefCHMyLIDVzgTkYCrvTWvtK9WsCcv1wg6/2uSxAvyR48Q94g+C8ueBlMG1OwBj03WOpHIp3ytBfbYY489sNl927Zt+Q4khMhZXEoGM7acBeDl9lUp5WhT8A/ScJjaofPwEnWSxOd2glv5gn8cIcxRQiQs6Q2psVC2EfScK+vpmbF8FUD16tXL9nVGRgZHjhzhxIkTDB06tCByCSH+Y/bWc9xKSqeKlxODmlYonAfR6aDL5xB5Eq4fVv/SHbEZbBwK5/GEMBdpCbC0L8SFq8PdBy4Ha3utU4lHkK8C6Isvvshx/7Rp00hMTHykQEKIe12ITmTR7ksATO5aA2tDIf7VaW2ndoL+tq26evy6F9RO0tIpWlgqYwasGKqOlnTwgEE/g6NM+2LuCvRddNCgQcyfP78gTymEAD7YcJpMk8Lj1b1oG1AEK0u7+UG/Jerw3pNr4M/PCv8xhSiOFAV+fRkubFVXd396hdoCJMxegRZAe/bswc7OriBPKYTF23k2mm1norDS65jUtUbRPXCFZtD1c3V7+/vq6DAhLM2Oj+DIEtDp1ZbQsg21TiQKSL4ugfXq1Svb14qicOPGDQ4ePMjbb79dIMGEEJBhNPHeenXY+9DmFfH3dCraAA2HQtQp2DcXVj8Hz1QCn9pFm0EIrRz6AXZ+pG53nQEBnbTNIwpUvgogV1fXbF/r9XoCAgJ499136dChQ4EEE0LAkr2XOR+ViLujDS+2q6pNiA4fQPQZuLgDfhoAo7ZL/wdR8p39Xb30BdD6NWg0XNM4ouDlqwBasGBBQecQQvzH7aR0Zv5xDoDxT1TD1d5amyB3Z4r+vh3cuggrhsDgtWBVCMPwhSgOroXAymGgGCFwIDw2SetEohA8Uh+ggwcPsnjxYhYvXkxISEhBZRJCAF/8cZa4lAyq+zjTv7GftmEc3GHAMrBxhst/w2+vq51DhShpos/Ckj6QkQSVH4Nus2UEZAmVrxagq1evMmDAAP7++2/c3NwAiI2NpXnz5ixbtoxy5coVZEYhLM7ZyAR+3BcOwJQna2JVmMPec8szAPrMg6X9IGQBeFSDZi9onUqIghN3FRb3gJRb4NtAXR7GoFHLqyh0+XpXHTlyJBkZGZw+fZpbt25x69YtTp8+jclkYuTIkQWdUQiLoigK760/hdGk0KGmN82rFKP+NtU6Qof31O3Nb8Hp9drmEaKgJN2ExT0h/hqUrgpPrwLbAlprTxRL+SqAdu7cyddff01AQEDWvoCAAL788kv+/PPPAgsnhCXaejqKv87FYGPQF+2w99xqNhYajQAU+Hmk2l9CCHOWlgA/9oGYs+BSDoasBcfSWqcShSxfBZCfnx8ZGRn37Dcajfj6+j5yKCEsVXqmifc3qMPeR7SsRIXSjhonyoFOB50/hSpPQGYKLO0PseFapxIifzLT1CVfrh8Ce3cYvAZcpRuHJchXAfTpp58ybtw4Dh48mLXv4MGDvPTSS3z2mcwYK0R+LdwdxqWbyXg42TL28Spax7k/gxX0XQDetSEpCn58ClLjtE4lRN6YjGorZthOsHGCQavAs5rWqUQR0SlK3odylCpViuTkZDIzM7GyUvtR3912dMz+F+utW7cKJmkRio+Px9XVlbi4OFxcXLSOIyxETGIaj326g4S0TD7pXZentB75lRtx19Th8Qk3oHJbtd+EdBoV5kBR4NeX4NAiMNjA0yvV17Awa3n5/M7XKLCZM2fm525CiAf4/PdQEtIyqV3WhT4NzaQJ3rWsuir2/M7qRInrX4ZuX8mwYVG8KQpsnqQWPzo99P5eih8LlK8CaOjQoQWdQwiLdvJ6HMsOXAFgypO10OvNqIAoE6heDvupPxxeAq7loe0bWqcS4v62vQ9756jbwbOhZndt8whN5KsAArXD89q1azl9+jQAtWrVolu3bhgMhgILJ4QlUBSFd389haJA17plaFLJXetIeVetI3T5FDa8Cjs+VJfKaPyM1qmEuNefn8Jfd/qqdvkMGgzWNo/QTL4KoPPnz9OlSxeuXbuWNRR++vTp+Pn5sWHDBvz9/Qs0pBAl2aYTEewLu4WtlZ6JnatrHSf/Go+ExCjY+bFaCDl6yF/WonjZ/ZXa+gPQ4X1o8qy2eYSm8jUK7MUXX8Tf358rV65w6NAhDh06RHh4OJUqVeLFF18s6IxClFipGUY+2Ki2oj7XujLlSjlonOgRtZ0IDYeRNUdQ2F9aJxJCtf87+P3Oml6PTYLm47TNIzSXrxagnTt3snfvXtzd/2mqL126NB999BEtWrQosHBClHTzdoVx9XYKPi52jG5bAlpOdTroOgOSYuDMelg2EIZvBJ86WicTluzwEtg4Qd1uOV5d3V1YvHy1ANna2pKQkHDP/sTERGxsZIVoIXIjMj6VOdvPA/BG5wAcbPLdJa940Rug9zyo0ALS4mFJb7h9SetUwlIdXQ7rxqrbTV+AdlNklKIA8lkAPfnkk4waNYp9+/ahKAqKorB3715Gjx5Nt27dCjqjECXSJ5tCSU43Us/Pje6BZbWOU7Cs7aD/UnWixMRIdY2lhEitUwlLc2QprHkOUKDhcOj4oRQ/Iku+CqDZs2fj7+9Ps2bNsLOzw87OjubNm1OlShVmzZpV0BmFKHEOh9/m50NXAZgaXNO8hr3nlr0bDPoZ3MrDrYvqKttJN7VOJSzFocWw9gVAUdeu6zpDih+RTb7a3N3c3Fi3bh3nz5/n1Cl13aKaNWtSpUoxnrpfiGLCZFKY9stJAPo0LEf98qU0TlSInH1gyC+woDNEnYIlPdWv7d20TiZKsoML1Ek5ARo/q07RIMWP+I98tQABzJs3jx49etC3b1/69u1Ljx49+P777wsymxAl0qpDVzl6NQ4nWyte7xSgdZzC515JLXocPODGUfixL6Qlap1KlFQHvv+n+Al6XoofcV/5KoCmTJnCSy+9RHBwMCtXrmTlypUEBwfzyiuvMGXKlILOKESJEZ+awSebQgF4sV0VvJztNE5URDyrwZC1YOcGV/ers0ZnpGidSpQ0+75V56ACaDYWOk2X4kfcV74WQ/X09GT27NkMGDAg2/6ffvqJcePGERMTU2ABtSCLoYrC8sGGU3z3VxiVPRzZ9HJrbKzy3Qhrnq6FwKLukJ4AVTtAvx/BSkaOigLw92zY8ra63fxFeOJdKX4sUF4+v/P17puRkUGjRo3u2d+wYUMyMzPzc0ohSrzzUYks+PsSAG8H17S84gegbEN4egVY2cO532HFEMhM0zqVMGeKAlvf/af4aTleih+RK/l6Bx48eDBff/31Pfu//fZbnn766UcOJURJoygK764/RaZJ4fHqXjwW4KV1JO1UaA4DfgIrOzj7GywfBBmpWqcS5shkUic4/Otz9et2U6H9VCl+RK7ke+a1efPm8fvvv9O0aVMA9u3bR3h4OEOGDGH8+PFZx82YMePRUwph5raejuLPs9FYG3S8/WRNreNoz/8xGLgClvZTW4KWDYT+P4K1vdbJhLkwZqjD3I+vAHTQ9XNZgFfkSb4KoBMnTtCgQQMALly4AICHhwceHh6cOHEi6zidVOFCkJZp5L0N6nQRz7SsTCUPR40TFROV28CgVfDjU3Bhq9oxuv9PYGPm66GJwpeRCiuHqS2Ieivo+Q3U6aN1KmFm8lUAbd++vaBzCFFizdsVxuWbyXg52zL2cZkrK5uKLe8UQX3h4g5Y+hQMXA42UiSK+0iJhWVPw+Vd6mXUp36Aah21TiXMkAX2whSi6ETGp/LVNnW9rzc7V8fJtoSs91WQKjSHQavBxhku/aUum5FyW+tUojiKuwrzO6nFj42z+rqR4kfkkxRAQhSij347Q3K6kfrl3ehRr4St91WQygfdmSfIFa7sgwVdISFC61SiOIk4Ad+3h+jT4FwGRvwGFVtonUqYMSmAhCgkIZdvsebwNXQ6mBZcq2Su91WQyjWCYRvByRuiTsL8jnArTOtUoji4sF1t+Um4AZ7V4Zkt4FNH61TCzEkBJEQhUNf7Ujs+P9XQj0A/N20DmQuf2jBiM5SqCLcvqUVQxImH3UuUZEeXwY991MkzK7SEEZvAzU/rVKIEkAJIiEKwMuQKx6/F4WxrxWuWsN5XQXKvBCN+B+/akBgJC7rA5T1apxJFzWSCbR/AmufAlAm1e8Pg1WBfghcPFkVKCiAhClhcyj/rfb3UvioeTrYaJzJDzt4wbAP4NYW0OPihO5z4WetUoqikJ8HKIfDnJ+rXzV+EXt+DlfxfEgVHCiAhCtjsree4mZSOv6cjQ5tX1DqO+bJ3g8FrIKArGNNg1Qj4a4a69IEouWKvqJc+T/8KemvoPgc6vAd6+bgSBUteUUIUoHORCSzafQmAqcG1sDbIf7FHYuMA/RZD0xfUr7e+A7++qM4CLEqe8H3w3WMQcRwcPWHYeqg/SOtUooSSd2chCoiiKExZd5JMk8ITNb1pXc1T60glg94AnaZD509Bp4dDP6gTJ6bGaZ1MFKRDP8CiJyEpGrzrwLPboHxTrVOJEkwKICEKyPpjN9hz8Sa2VnqmyHpfBS9olLpUhrUDXNyuzgkTc07rVOJRZaTA2jHwyzgwpkON4DsjvcprnUyUcFIACVEAEtMyef/Oel8vtK2Cn7usZ1UoAjrB8N/ApSzEnIXvHofQ37ROJfLr1kWY9wQcWaK27j3+NvT9AWydtE4mLIAUQEIUgC+3niMyPo3y7g4816ay1nFKNt96MGoHlG8OafHqIqo7PlaHTQvzcWYDfNNW7e/j4KF2eG89QTo7iyIjrzQhHtH5qATm7VJnLJ7WrSZ21gaNE1kAJy8Y+gs0GaV+veNDWDFY+gWZg8w02DwJlg1UpzjwC4LRf0HltlonExZGCiAhHsG/Oz63r+HF49W9tY5kOQzW0OVTdZi0wQbOrIe5reBaiNbJxP1En1X7bu35Sv266QvqfE8uvtrmEhZJCiAhHsGG4zfYfUHt+Dw1uJbWcSxT/UF3Os1WgNjLMK8j7Jkj8wUVJ4oCB+fDN60h4hjYu0P/peroPoO11umEhZICSIh8SkrL5P31pwF4vq2/dHzWUtmG8NyfULM7mDJg81tq36Ckm1onE0kxsOxpWP8KZKZA5cfg+d1QvavWyYSFkwJIiHyave0cEfGp+LnbM7qNv9ZxhL0b9F0EXT8Hgy2c3QRfN4ezm7VOZpkURV2+ZE4TCN2gzurc4QMYtBpcymidTggpgITIj/NRCcz7607H5+Ba0vG5uNDpoPFIeHYreFSDxAhY+hSsGwup8VqnsxwJkbB8kLp8SfJN8Kqp/k6aj5VRXqLYkFeiEHmkKApTf1E7Prer7kW7GtLxudjxqaNeEms2FtDB4cVqa9DFnVonK9kUBY78pLb6nFkPeito8yaM2gllArVOJ0Q2UgAJkUcbj0fw9/mb2EjH5+LN2h46fqCOMnKrAHFX4IduamtQ8i2t05U8Uadh4ZOwdjSkxoJPXXW+pscmgpWN1umEuIfmBdCcOXOoWLEidnZ2BAUFsX///gceP3PmTAICArC3t8fPz49XXnmF1NTURzqnELmV9K8Zn59v40/50tLxudir2ELtdNtohPr14cXwZUM4/KOMFCsIaQnqvD5zW8LlXWBlD+2mqGt5+dTROp0Q96VpAbR8+XLGjx/P1KlTOXToEIGBgXTs2JGoqKgcj1+6dClvvvkmU6dO5fTp08ybN4/ly5fz1ltv5fucQuTFl9vOcyNO7fj8fFvp+Gw2bJ3gyS9gxGa1P0rKLVj3AizsCpGntE5nnkwmOLocvmqszutjyoTqT8KYfdDqVRneLoo9naJo9ydQUFAQjRs35quv1EmxTCYTfn5+jBs3jjfffPOe48eOHcvp06fZunVr1r5XX32Vffv2sWvXrnydEyAtLY20tLSsr+Pj4/Hz8yMuLg4XF5cC+3mFeTsbmUCXWX+RaVL4bkgjnqgpfX/MkjED9v4PdnwEGcnqGlT1B8Njk8BZfqe5cmEbbJmqzukDUKoSdP4EqnXQNpewePHx8bi6uubq81uzFqD09HRCQkJo3779P2H0etq3b8+ePXtyvE/z5s0JCQnJuqR18eJFNm7cSJcuXfJ9ToDp06fj6uqadfPz8yuIH1GUIIqiMHnNiTszPntL8WPODNbQ4iW1paJGN1BMcGgRzK4POz+B9GStExZfN47C4p7qLeIY2Lqol7te2CvFjzA7Vlo9cExMDEajEW/v7B8k3t7enDlzJsf7DBw4kJiYGFq2bImiKGRmZjJ69OisS2D5OSfAxIkTGT9+fNbXd1uAhLhrVchV9l+6hb21gWndamodRxQEt/LQbzGE71X7sFw7CNs/gAPfQ4uXodFwtSO1gGuH4M9PIXSj+rXeGpo8C60mgGNpbbMJkU+ad4LOix07dvDhhx/yv//9j0OHDrF69Wo2bNjAe++990jntbW1xcXFJdtNiLtuJ6Xz4UZ1xueX21elXCnp+FyilG8KI/+A3vPUoigxEjZPhJl1YfdXlt0iFL4PlvSG7x67U/zooE5fGHtAXcZCih9hxjRrAfLw8MBgMBAZGZltf2RkJD4+Pjne5+2332bw4MGMHDkSgDp16pCUlMSoUaOYNGlSvs4pxMNM/+00t5MzqO7jzIiWlbSOIwqDTgd1+qiXxI78CH/NgLhw+H0S7JoBjZ6Bxs+AswW8j2Smw+lfYN9cuHpA3aczQN2n1M7NHlW1zSdEAdGsBcjGxoaGDRtm69BsMpnYunUrzZo1y/E+ycnJ6P8zi6jBoM7AqyhKvs4pxIPsD7vFioNXAfigZ22sDWbVaCryyspGvfQ1LgSCZ6stQsk34c9P4IvasHqUejmoJIq/ATs/hZl14Odn1OLHYAMNhqjPR8+5UvyIEkWzFiCA8ePHM3ToUBo1akSTJk2YOXMmSUlJDB8+HIAhQ4ZQtmxZpk+fDkBwcDAzZsygfv36BAUFcf78ed5++22Cg4OzCqGHnVOI3ErPNDF57XEABjTxo2EFd40TiSJjZQMNh0K9p+HMr7D3a7iyD44tV2/edaDeQLVVxNFD67T5l5GqrtN1ZKk6sksxqfudvNVWr0bDwclL24xCFBJNC6B+/foRHR3NlClTiIiIoF69emzatCmrE3N4eHi2Fp/Jkyej0+mYPHky165dw9PTk+DgYD744INcn1OI3Jq3K4yzkYm4O9rwRqfqWscRWjBYQa2e6u1aCOydC6fWQuRxtZ/Qlrehakeo2Q2qdQT7UlonfriMVLi4HU6vV4u71Lh/vucXpK6lVrOHzN4sSjxN5wEqrvIyj4Aoma7cSuaJL3aSmmHi876B9G5YTutIorhIvqWucn7kR7h++J/9eiuo2Aqqd4XKbaF0FbVvUXEQewXCdsK5LeotI+mf77mUg3oDIHAAlJbJPYV5y8vnt6YtQEIUR3cXO03NMBFUyZ1eDcpqHUkUJw7u6hDwJs+qs0ifXAOnf4Xo02rLysXt6nHOvlCptboUh28D8KyutigVNpMRYs6qxdmVfeoCsLfDsh/jUladtblGMFRoISu0C4skLUA5kBYgy7bpRASjl4RgbdDx20utqOLlrHUkYQ5uXlALofN/qIWHMT37963swLu2uj6We+V/bm5+YOOUt9YiRYG0eEiIgFsX4eZ59RZ9Vp2s8N8tPKCO4irbECq3gYAu4Fu/+LROCVGApAVIiHxKTMvknV9PAvBca38pfkTulfaHli+rt4wUdYLFsJ1w5YBalKQnqJMtXjt4732t7MChtHqzdVFnq7ayVS+rmYyQmQqZaWphk3QTkqLBmHbvee6ydgTfemqhU7EVVGgOdvLHnBD/JgWQEP/y+e+h3IhLpby7A2Mfr6J1HGGurO3B/zH1BurCobcuwo0jEH1G3b57S41TC5z4a+otL2ycwb2S2t/o7q1MoDpcXW8o8B9LiJJECiAh7jgcfpuFuy8B8F6P2thZyweIKCB6PXhUUW//lZ4ESTGQHKO27qQnqgu2GtPUy2h6a7WFyMpWLawcPNSh946eYCOzkguRX1IACYE658/E1cdRFOhVvyxtqnlqHUlYChtH9VaqgtZJhLAo0vVfCODbPy9wJiIBd0cbJj8pi50KIURJJwWQsHgXohOZve08AFOerIm7o0wAJ4QQJZ0UQMKimUwKE1cfJz3TRJtqnnSv56t1JCGEEEVACiBh0ZYduML+sFs42Bj4oGdtdDI3ihBCWAQpgITFioxPZfpvpwGY0CGAcqVkRI0QQlgKKYCExZq67iQJqZkE+rkxtHlFreMIIYQoQlIACYu06UQEm05GYKXX8VGvOhj0culLCCEsiRRAwuLEp2YwZd0JAEa38adGGVkiQAghLI0UQMLifLD+NFEJaVT2cJTlLoQQwkJJASQsys6z0Sw/eAWdDj7uU1eWuxBCCAslBZCwGPGpGbz58zEAhjevROOK7honEkIIoRUpgITF+HDDaW7EpVKhtAOvdQzQOo4QQggNSQEkLMKfZ6NZdkC99PVpn0DsbeTSlxBCWDIpgESJl/CvS19Dm1WkSSW59CWEEJZOCiBR4n248QzX41Ip7+7A653k0pcQQggpgEQJt+tcDD/tDwfgkz51cbCx0jiREEKI4kAKIFFiJaRm8EbWpa8KNK1cWuNEQgghigspgESJ9eHG01yLTcHP3Z7XO1XXOo4QQohiRAogUSJtPR3JT/vVUV+f9A7E0VYufQkhhPiHFECixLmZmJZ16euZFpVo5i+XvoQQQmQnBZAoURRFYeLq48QkplPN24kJMuGhEEKIHEgBJEqUVSFX+f1UJNYGHV/0qydrfQkhhMiRFECixLhyK5l3fj0FwCtPVKOWr6vGiYQQQhRXUgCJEsFoUnh1xVES0zJpVKEUz7X21zqSEEKIYkwKIFEifP/XRfZfuoWjjYEZT9XDoNdpHUkIIUQxJgWQMHunb8Tz+e9nAZgSXJPypR00TiSEEKK4kwJImLWUdCMvLTtMutFE+xpePNXIT+tIQgghzIAUQMKsvb/hFGcjE/FwsuWj3nXR6eTSlxBCiIeTAkiYrU0nbvDjPnWh0y/6BeLhZKtxIiGEEOZCCiBhlq7HpvDGz8cBeK5NZVpV9dQ4kRBCCHMiBZAwO0aTwsvLjhCXkkFgOVdefUJmexZCCJE3UgAJs/PVtvPsv3QLJ1srZg+oj42VvIyFEELkjXxyCLNy4NItZm1Vh7y/36M2FUo7apxICCGEOZICSJiN2OR0XvrpMCYFetUvS4/6ZbWOJIQQwkxJASTMgsmkMH7FUa7HpVKhtAPv9qitdSQhhBBmTAogYRa+3nmBbWeisLHS87+nG+Bka6V1JCGEEGZMCiBR7O25cJPPfw8F4N1utWSVdyGEEI9MCiBRrEXFpzLubr+fBmXp11iWuhBCCPHopAASxVam0cS4nw4Tk5hGgLcz7/eoLUtdCCGEKBBSAIlia8aWs+wLu4WjjYH/DWqAg430+xFCCFEwpAASxdIfpyL5344LAHzUuy7+nk4aJxJCCFGSSAEkip3zUYm8svwIAEObVSA40FfbQEIIIUocKYBEsRKfmsGoxQdJSMukSUV3JnWtqXUkIYQQJZAUQKLYMJkUxi8/wsXoJMq42jHn6QayzpcQQohCIZ8uotiYufUcf5xWJzv8ZnBDPJ1ttY4khBCihJICSBQLm05EMHvrOQCm96xD3XJu2gYSQghRokkBJDR3NjKBV1ccAWB4i4r0blhO20BCCCFKPCmAhKaiE9IYvuAASelGmlZ2560uNbSOJIQQwgJIASQ0k5phZNTig1yLTaFiaQe+froh1gZ5SQohhCh88mkjNGEyKUxYeZTD4bG42lszb1hjSjnaaB1LCCGEhZACSGhi5h9nWX/sBlZ6HXMHNZSZnoUQQhQpKYBEkfs55Cqzt50H4MNedWjmX1rjREIIISyNFECiSO2+EMObq48B8EJbf55q5KdxIiGEEJZICiBRZE5ci2PUDyFkGBW61inDhA4BWkcSQghhoay0DiAsQ/jNZIYtOEBiWiZBldz5/KlA9Hqd1rGEECLPjEYjGRkZWsewSNbW1hgMhgI5lxRAotBFJ6QxeP4+YhLTqFHGhe+GNsLOumBewEIIUVQURSEiIoLY2Fito1g0Nzc3fHx80Oke7Y9oKYBEoUpMy2T4wv1cvplMuVL2LBreGBc7a61jCSFEnt0tfry8vHBwcHjkD2CRN4qikJycTFRUFABlypR5pPNJASQKTWqGkecWH+TEtXhKO9qw+JkgvFzstI4lhBB5ZjQas4qf0qVl5KpW7O3tAYiKisLLy+uRLodJJ2hRKNIzTbzw4yH+Pn8TBxsDC4Y3ppKHo9axhBAiX+72+XFwcNA4ibj7O3jUfljFogCaM2cOFStWxM7OjqCgIPbv33/fY9u2bYtOp7vn1rVr16xjhg0bds/3O3XqVBQ/igAyjSZe/Okw285EYWulZ97QxrK6uxCiRJDLXtorqN+B5pfAli9fzvjx45k7dy5BQUHMnDmTjh07EhoaipeX1z3Hr169mvT09Kyvb968SWBgIH379s12XKdOnViwYEHW17a2toX3Q4gsRpPC+BVH2XQyAhuDnu+GNJKJDoUQQhQ7mrcAzZgxg2effZbhw4dTs2ZN5s6di4ODA/Pnz8/xeHd3d3x8fLJuW7ZswcHB4Z4CyNbWNttxpUqVum+GtLQ04uPjs91E3plMCm/8fIxfjl7HSq/jf083oHU1T61jCSGEeESXLl1Cp9Nx5MiR+x6zY8cOdDqd2YyS07QASk9PJyQkhPbt22ft0+v1tG/fnj179uTqHPPmzaN///44OmbvX7Jjxw68vLwICAjg+eef5+bNm/c9x/Tp03F1dc26+fnJ7MR5ZTQpTFx9nFUhVzHodXw5oD7ta3prHUsIIUQRad68OTdu3MDV1RWAhQsX4ubmlqv77tixgwYNGmBra0uVKlVYuHBh4QW9Q9MCKCYmBqPRiLd39g9Kb29vIiIiHnr//fv3c+LECUaOHJltf6dOnfjhhx/YunUrH3/8MTt37qRz584YjcYczzNx4kTi4uKybleuXMn/D2WBMowmxq84wvKDV9DrYMZTgXSu82jDE4UQQpgXGxubfM3PExYWRteuXXnsscc4cuQIL7/8MiNHjmTz5s2FlFSl+SWwRzFv3jzq1KlDkyZNsu3v378/3bp1o06dOvTo0YP169dz4MABduzYkeN5bG1tcXFxyXYTuZOeaWLs0kOsO6Je9vpyQAO61yurdSwhhCh0iqKQnJ5Z5DdFUfKUMykpiSFDhuDk5ESZMmX4/PPPadu2LS+//HLWMTqdjrVr12a7n5ub2z0tMWfOnKF58+bY2dlRu3Ztdu7cmfW9f18C27FjB8OHDycuLi5rMNK0adNyzDd37lwqVarE559/To0aNRg7dix9+vThiy++yNPPmVeadoL28PDAYDAQGRmZbX9kZCQ+Pj4PvG9SUhLLli3j3XfffejjVK5cGQ8PD86fP0+7du0eKbP4R2qGkeeXhLA9NBobg56vBzWgXQ257CWEsAwpGUZqTincVoqcnHq3Iw42uf/4fu2119i5cyfr1q3Dy8uLt956i0OHDlGvXr08P/Zrr73GzJkzqVmzJjNmzCA4OJiwsLB75kZq3rw5M2fOZMqUKYSGhgLg5OSU4zn37NmTrSsMQMeOHbMVaIVB0xYgGxsbGjZsyNatW7P2mUwmtm7dSrNmzR5435UrV5KWlsagQYMe+jhXr17l5s2bjzxrpPhHfGoGwxccYHtoNHbWeuYNayTFjxBCFDOJiYnMmzePzz77jHbt2lGnTh0WLVpEZmZmvs43duxYevfuTY0aNfj6669xdXVl3rx59xxnY2ODq6srOp0uazDS/QqgiIiIHLvCxMfHk5KSkq+cuaH5MPjx48czdOhQGjVqRJMmTZg5cyZJSUkMHz4cgCFDhlC2bFmmT5+e7X7z5s2jR48e91SdiYmJvPPOO/Tu3RsfHx8uXLjA66+/TpUqVejYsWOR/VwlWWR8KkPn7+dMRAKONgbmD2tMUGUZ6i6EsCz21gZOvVv0nyv2eVhL8cKFC6SnpxMUFJS1z93dnYCAgHw99r8bJ6ysrGjUqBGnT5/O17m0pnkB1K9fP6Kjo5kyZQoRERHUq1ePTZs2ZVWD4eHh6PXZG6pCQ0PZtWsXv//++z3nMxgMHDt2jEWLFhEbG4uvry8dOnTgvffek7mACsD5qASGzj/AtdgUPJ1tWTCsMbXLumodSwghipxOp8vTpajiTKfT3dO3qKhWvPfx8cmxK4yLi0vW0heFoVj85saOHcvYsWNz/F5OHZcDAgLu2wnM3t6+0HuOW6oDl24xctFB4lIyqOzhyKIRTfBzl2nhhRCiuPL398fa2pp9+/ZRvnx5AG7fvs3Zs2dp06ZN1nGenp7cuHEj6+tz586RnJx8z/n27t1L69atAcjMzCQkJOS+n982Njb3HX39b82aNWPjxo3Z9m3ZsuWhXWEeVbEogETx93PIVSauPk660UT98m7MG9oYd0cbrWMJIYR4ACcnJ5555hlee+01SpcujZeXF5MmTbrnysrjjz/OV199RbNmzTAajbzxxhtYW1vfc745c+ZQtWpVatSowRdffMHt27cZMWJEjo9dsWJFEhMT2bp1K4GBgTg4OOS4ltro0aP56quveP311xkxYgTbtm1jxYoVbNiwoWCehPsw62HwovAZTQofbjzNqyuPkm400aGmN0tHNpXiRwghzMSnn35Kq1atCA4Opn379rRs2ZKGDRtmO+bzzz/Hz8+PVq1aMXDgQCZMmJBjsfLRRx/x0UcfERgYyK5du/jll1/w8PDI8XGbN2/O6NGj6devH56ennzyySc5HlepUiU2bNjAli1bCAwM5PPPP+f7778v9H67OiWvEwpYgPj4eFxdXYmLi7PoOYHiUzMYt/QwO89GAzDu8Sq80r4aer0sBiiEsCypqamEhYVRqVIl7OzstI7zyNq2bUu9evWYOXOm1lHy7EG/i7x8fsslMJGj0zfiGfPjIS7GJGFnrefTPoEEB/pqHUsIIYQoEFIAiWwURWH5gStM/eUkaZkmyrja8d2QRjLSSwghRIkiBZDIkpSWyaQ1x1l75DoAbQM8mfFUPenvI4QQJcz9loayJFIACQAOhd/m1RVHCYtJwqDXMaFDAM+1riz9fYQQQpRIUgBZuLRMI7P+OMfcnRcwKeDjYseXA+vTuKK71tGEEEKIQiMFkAU7eT2OV1cc5UxEAgA965dlWnAtXB3unftBCCGEKEmkALJACakZzNhylkW7L2FSwN3Rhg971qZTbVksVgghhGWQAsiCKIrC+mM3eG/9KaIS0gDoWrcM04Jr4eks66QJIYSwHFIAWYiQy7f56LfTHLh0G4CKpR14t3ttWlfz1DiZEEIIUfSkACrhLkQn8smmM2w+qa60a2ul5/m2/oxu44+dtUHjdEIIIYQ2ZC2wEurk9TjGLD3EEzN2svlkJHod9Gvkx87XHuPl9tWk+BFCCAug0+keeJs2bRqXLl1Cp9Nx5MiRHM9hNBr56KOPqF69Ovb29ri7uxMUFMT333//wMc+duwYrVq1ws7ODj8/v/uuBaYVaQEqQUwmhd0XbvLdXxez1u8CaF/Dm9c7BVDN21nDdEIIIYrajRs3sraXL1/OlClTCA0Nzdrn5ORETEzMA8/xzjvv8M033/DVV1/RqFEj4uPjOXjwILdv377vfeLj4+nQoQPt27dn7ty5HD9+nBEjRuDm5saoUaMe/QcrAFIAlQA3E9NYFXKVpfvDuXwzGQC9Dp6s68vzbf2pUcZyF3QVQohCoyiQkVz0j2vtALrcTVLr4+OTte3q6opOp8u2D3hoAfTLL7/wwgsv0Ldv36x9gYGBD7zPjz/+SHp6OvPnz8fGxoZatWpx5MgRZsyYIQWQeDRxyRn8fiqC9cdu8Pf5GDJNCgBOtlb0alCWZ1pWokJpR41TCiFECZaRDB9qsEj0W9fBpuje3318fNi2bRsvvPACnp65GzizZ88eWrdujY3NP0spdezYkY8//pjbt29TqlSpwoqba1IAmQmTSeHUjXj+OhfDX+eiOXDpFhlGJev7dcu5MrBJeYIDfXG0lV+rEEKIgjFjxgz69OmDj48PtWrVonnz5nTv3p3OnTvf9z4RERFUqlQp2z5vb++s70kBJHKkKAo3k9I5cS2OI1diOXIllqNXYrmdnJHtuABvZ7rWLUPXumXw93TSKK0QQlgoawe1NUaLxy1CNWvW5MSJE4SEhPD333/z559/EhwczLBhwx7aEbo4kwKoCCWmZRKbnE5qhom0TCOpGSZuJ6UTlZBGVEIq12NTuBCdxIXoRGL/U+wAONoYaOZfmlZVPWlV1YPKUvQIIYR2dLoivRSlJb1eT+PGjWncuDEvv/wyS5YsYfDgwUyaNOmelh5QL5tFRkZm23f36//2QdKKFEBFaP6uMGZsOZurY3U6qFjakXp+blm3GmVcsLGSmQuEEEJoq2bNmgAkJSXl+P1mzZoxadIkMjIysLZW15fcsmULAQEBxeLyF0gBVKTsrQ3YWumxtdJjZ23A1lqPm70NXs62eLnY4uNij7+XI/6eTlTycJS5eoQQQhSZfw+Pv6tWrVoMGDCAFi1a0Lx5c3x8fAgLC2PixIlUq1aN6tWr53iugQMH8s477/DMM8/wxhtvcOLECWbNmsUXX3xR2D9GrkkBVISebV2ZZ1tX1jqGEEIIcY/+/fvfs+/KlSt07NiRn376ienTpxMXF4ePjw+PP/4406ZNw8oq5zLC1dWV33//nTFjxtCwYUM8PDyYMmVKsRkCD6BTFEV5+GGWJT4+HldXV+Li4nBxkTl0hBDC0qWmphIWFkalSpWws7PTOo5Fe9DvIi+f39KhRAghhBAWRwogIYQQQlgcKYCEEEIIYXGkABJCCCGExZECSAghhMglGTekvYL6HUgBJIQQQjzE3cn8kpM1WP1dZHP3d3D3d5JfMg+QEEII8RAGgwE3NzeioqIAcHBwQKfTaZzKsiiKQnJyMlFRUbi5uWEwPNpkwVIACSGEELlwdw2ru0WQ0Iabm1uBrCcmBZAQQgiRCzqdjjJlyuDl5UVGxr0LVovCZ21t/cgtP3dJASSEEELkgcFgKLAPYaEd6QQthBBCCIsjBZAQQgghLI4UQEIIIYSwONIHKAd3J1mKj4/XOIkQQgghcuvu53ZuJkuUAigHCQkJAPj5+WmcRAghhBB5lZCQgKur6wOP0Skyr/c9TCYT169fx9nZucAnuoqPj8fPz48rV67g4uJSoOcW/5DnuWjI81w05HkuGvI8F43CfJ4VRSEhIQFfX1/0+gf38pEWoBzo9XrKlStXqI/h4uIi/8GKgDzPRUOe56Ihz3PRkOe5aBTW8/ywlp+7pBO0EEIIISyOFEBCCCGEsDhSABUxW1tbpk6diq2trdZRSjR5nouGPM9FQ57noiHPc9EoLs+zdIIWQgghhMWRFiAhhBBCWBwpgIQQQghhcaQAEkIIIYTFkQJICCGEEBZHCqAiNGfOHCpWrIidnR1BQUHs379f60glyrRp09DpdNlu1atX1zpWifDnn38SHByMr68vOp2OtWvXZvu+oihMmTKFMmXKYG9vT/v27Tl37pw2Yc3Yw57nYcOG3fMa79SpkzZhzdj06dNp3Lgxzs7OeHl50aNHD0JDQ7Mdk5qaypgxYyhdujROTk707t2byMhIjRKbp9w8z23btr3nNT169OgiyScFUBFZvnw548ePZ+rUqRw6dIjAwEA6duxIVFSU1tFKlFq1anHjxo2s265du7SOVCIkJSURGBjInDlzcvz+J598wuzZs5k7dy779u3D0dGRjh07kpqaWsRJzdvDnmeATp06ZXuN//TTT0WYsGTYuXMnY8aMYe/evWzZsoWMjAw6dOhAUlJS1jGvvPIKv/76KytXrmTnzp1cv36dXr16aZja/OTmeQZ49tlns72mP/nkk6IJqIgi0aRJE2XMmDFZXxuNRsXX11eZPn26hqlKlqlTpyqBgYFaxyjxAGXNmjVZX5tMJsXHx0f59NNPs/bFxsYqtra2yk8//aRBwpLhv8+zoijK0KFDle7du2uSpySLiopSAGXnzp2KoqivX2tra2XlypVZx5w+fVoBlD179mgV0+z993lWFEVp06aN8tJLL2mSR1qAikB6ejohISG0b98+a59er6d9+/bs2bNHw2Qlz7lz5/D19aVy5co8/fTThIeHax2pxAsLCyMiIiLb69vV1ZWgoCB5fReCHTt24OXlRUBAAM8//zw3b97UOpLZi4uLA8Dd3R2AkJAQMjIysr2mq1evTvny5eU1/Qj++zzf9eOPP+Lh4UHt2rWZOHEiycnJRZJHFkMtAjExMRiNRry9vbPt9/b25syZMxqlKnmCgoJYuHAhAQEB3Lhxg3feeYdWrVpx4sQJnJ2dtY5XYkVERADk+Pq++z1RMDp16kSvXr2oVKkSFy5c4K233qJz587s2bMHg8GgdTyzZDKZePnll2nRogW1a9cG1Ne0jY0Nbm5u2Y6V13T+5fQ8AwwcOJAKFSrg6+vLsWPHeOONNwgNDWX16tWFnkkKIFFidO7cOWu7bt26BAUFUaFCBVasWMEzzzyjYTIhCkb//v2ztuvUqUPdunXx9/dnx44dtGvXTsNk5mvMmDGcOHFC+gsWsvs9z6NGjcrarlOnDmXKlKFdu3ZcuHABf3//Qs0kl8CKgIeHBwaD4Z4RBJGRkfj4+GiUquRzc3OjWrVqnD9/XusoJdrd17C8vote5cqV8fDwkNd4Po0dO5b169ezfft2ypUrl7Xfx8eH9PR0YmNjsx0vr+n8ud/znJOgoCCAInlNSwFUBGxsbGjYsCFbt27N2mcymdi6dSvNmjXTMFnJlpiYyIULFyhTpozWUUq0SpUq4ePjk+31HR8fz759++T1XciuXr3KzZs35TWeR4qiMHbsWNasWcO2bduoVKlStu83bNgQa2vrbK/p0NBQwsPD5TWdBw97nnNy5MgRgCJ5TcslsCIyfvx4hg4dSqNGjWjSpAkzZ84kKSmJ4cOHax2txJgwYQLBwcFUqFCB69evM3XqVAwGAwMGDNA6mtlLTEzM9hdZWFgYR44cwd3dnfLly/Pyyy/z/vvvU7VqVSpVqsTbb7+Nr68vPXr00C60GXrQ8+zu7s4777xD79698fHx4cKFC7z++utUqVKFjh07apja/IwZM4alS5eybt06nJ2ds/r1uLq6Ym9vj6urK8888wzjx4/H3d0dFxcXxo0bR7NmzWjatKnG6c3Hw57nCxcusHTpUrp06ULp0qU5duwYr7zyCq1bt6Zu3bqFH1CTsWcW6ssvv1TKly+v2NjYKE2aNFH27t2rdaQSpV+/fkqZMmUUGxsbpWzZskq/fv2U8+fPax2rRNi+fbsC3HMbOnSooijqUPi3335b8fb2VmxtbZV27dopoaGh2oY2Qw96npOTk5UOHToonp6eirW1tVKhQgXl2WefVSIiIrSObXZyeo4BZcGCBVnHpKSkKC+88IJSqlQpxcHBQenZs6dy48YN7UKboYc9z+Hh4Urr1q0Vd3d3xdbWVqlSpYry2muvKXFxcUWST3cnpBBCCCGExZA+QEIIIYSwOFIACSGEEMLiSAEkhBBCCIsjBZAQQgghLI4UQEIIIYSwOFIACSGEEMLiSAEkhBBCCIsjBZAQQgghLI4UQEKIEmPHjh3odLp7FrEUQoj/kpmghRBmq23bttSrV4+ZM2cCkJ6ezq1bt/D29kan02kbTghRrMliqEKIEsPGxgYfHx+tYwghzIBcAhNCmKVhw4axc+dOZs2ahU6nQ6fTsXDhwmyXwBYuXIibmxvr168nICAABwcH+vTpQ3JyMosWLaJixYqUKlWKF198EaPRmHXutLQ0JkyYQNmyZXF0dCQoKIgdO3Zo84MKIQqFtAAJIczSrFmzOHv2LLVr1+bdd98F4OTJk/ccl5yczOzZs1m2bBkJCQn06tWLnj174ubmxsaNG7l48SK9e/emRYsW9OvXD4CxY8dy6tQpli1bhq+vL2vWrKFTp04cP36cqlWrFunPKYQoHFIACSHMkqurKzY2Njg4OGRd9jpz5sw9x2VkZPD111/j7+8PQJ8+fVi8eDGRkZE4OTlRs2ZNHnvsMbZv306/fv0IDw9nwYIFhIeH4+vrC8CECRPYtGkTCxYs4MMPPyy6H1IIUWikABJClGgODg5ZxQ+At7c3FStWxMnJKdu+qKgoAI4fP47RaKRatWrZzpOWlkbp0qWLJrQQotBJASSEKNGsra2zfa3T6XLcZzKZAEhMTMRgMBASEoLBYMh23L+LJiGEeZMCSAhhtmxsbLJ1Xi4I9evXx2g0EhUVRatWrQr03EKI4kNGgQkhzFbFihXZt28fly5dIiYmJqsV51FUq1aNp59+miFDhrB69WrCwsLYv38/06dPZ8OGDQWQWghRHEgBJIQwWxMmTMBgMFCzZk08PT0JDw8vkPMuWLCAIUOG8OqrrxIQEECPHj04cOAA5cuXL5DzCyG0JzNBCyGEEMLiSAuQEEIIISyOFEBCCCGEsDhSAAkhhBDC4kgBJIQQQgiLIwWQEEIIISyOFEBCCCGEsDhSAAkhhBDC4kgBJIQQQgiLIwWQEEIIISyOFEBCCCGEsDhSAAkhhBDC4vwf8uBBtOqCeFAAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "def plot_population(result):\n", " fig, ax = plt.subplots()\n", " ax.plot(\n", " result.times,\n", " np.array(result.expect[0]) + np.array(result.expect[1]),\n", " label='qubit 0',\n", " )\n", " ax.plot(\n", " result.times,\n", " np.array(result.expect[0]) + np.array(result.expect[2]),\n", " label='TLS 0',\n", " )\n", " p0_TLS_init = np.array(result.expect[0][0]) + np.array(result.expect[2][0])\n", " ax.legend()\n", " ax.axhline(p0_TLS_init, ls=\":\", c='gray')\n", " ax.set_xlabel('time')\n", " ax.set_ylabel('population')\n", " plt.show(fig)\n", "\n", "\n", "plot_population(guess_dynamics)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The population dynamics of qubit and TLS ground state show that\n", "both are oscillating and especially the qubit's ground state population reaches\n", "a maximal value at intermediate times $t < T$. This maximum is indeed the\n", "maximum that is physically possible. It corresponds to a perfect swap of\n", "the initial qubit and TLS purities. However, we want to reach this maximum at\n", "final time $T$ (not before), so the guess control is not yet working as desired." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Optimize" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Our optimization target is the ground state $\\ket{\\Psi_{q}^{\\tgt}}\n", "= \\ket{0}$ of the qubit, irrespective of the state of the TLS. Thus, our\n", "optimization functional reads\n", "\n", "$$\n", " J_T = 1 -\n", "\\Braket{\\Psi_{q}^{\\tgt}}{\\tr_{t}\\{\\op{\\rho}(T)\\} \\,|\\; \\Psi_{q}^{\\tgt}}\\,,\n", "$$\n", "\n", "and we first define `print_qubit_error`, which prints out the\n", "above functional after each iteration.\n" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "ExecuteTime": { "end_time": "2019-02-12T04:47:27.124250Z", "start_time": "2019-02-12T04:47:27.118668Z" }, "execution": { "iopub.execute_input": "2024-06-03T14:27:46.357352Z", "iopub.status.busy": "2024-06-03T14:27:46.357219Z", "iopub.status.idle": "2024-06-03T14:27:46.359780Z", "shell.execute_reply": "2024-06-03T14:27:46.359366Z" } }, "outputs": [], "source": [ "def print_qubit_error(**args):\n", " \"\"\"Utility function writing the qubit error to screen\"\"\"\n", " taus = []\n", " for state_T in args['fw_states_T']:\n", " state_q_T = trace_TLS(state_T)\n", " taus.append(state_q_T[0, 0].real)\n", " J_T = 1 - np.average(taus)\n", " print(\" qubit error: %.1e\" % J_T)\n", " return J_T" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In order to minimize the above functional, we need to provide the correct\n", "`chi_constructor` for the Krotov optimization. This is the only place where the\n", "functional (implicitly) enters the optimization.\n", "Given our bipartite system and choice of $J_T$, the equation for\n", "$\\op{\\chi}(T)$ reads\n", "\n", "$$\n", " \\op{\\chi}(T)\n", " =\n", " \\frac{1}{2} \\ket{\\Psi_{q}^{\\tgt}} \\bra{\\Psi_{q}^{\\tgt}} \\otimes \\op{1}_{2}\n", " =\n", " \\frac{1}{2} \\ket{00}\\bra{00} + \\frac{1}{2} \\ket{01}\\bra{01}.\n", "$$" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "ExecuteTime": { "end_time": "2019-02-12T04:47:27.144420Z", "start_time": "2019-02-12T04:47:27.132277Z" }, "attributes": { "classes": [], "id": "", "n": "18" }, "execution": { "iopub.execute_input": "2024-06-03T14:27:46.361247Z", "iopub.status.busy": "2024-06-03T14:27:46.361152Z", "iopub.status.idle": "2024-06-03T14:27:46.363293Z", "shell.execute_reply": "2024-06-03T14:27:46.363069Z" } }, "outputs": [], "source": [ "def chis_qubit(fw_states_T, objectives, tau_vals):\n", " \"\"\"Calculate chis for the chosen functional\"\"\"\n", " chis = []\n", " for state_i_T in fw_states_T:\n", " chi_i = qutip.Qobj(np.kron(rho_q_trg, np.diag([1, 1])))\n", " chis.append(chi_i)\n", " return chis" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We now carry out the optimization for five iterations." ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "execution": { "iopub.execute_input": "2024-06-03T14:27:46.364685Z", "iopub.status.busy": "2024-06-03T14:27:46.364602Z", "iopub.status.idle": "2024-06-03T14:27:49.835176Z", "shell.execute_reply": "2024-06-03T14:27:49.834803Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Iteration 0\n", " objectives:\n", " 1:ρ₀[4,4] to ρ₁[4,4] via [š“›ā‚€[[4,4],[4,4]], [š“›ā‚[[4,4],[4,4]], uā‚‚(t)]]\n", " adjoint objectives:\n", " 1:ρ₂[4,4] to Ļā‚ƒ[4,4] via [š“›ā‚‚[[4,4],[4,4]], [š“›ā‚ƒ[[4,4],[4,4]], uā‚‚(t)]]\n", " chi_constructor: chis_qubit\n", " mu: derivative_wrt_pulse\n", " S(t) (ranges): [0.000000, 1.000000]\n", " iter_start: 0\n", " iter_stop: 5\n", " duration: 0.1 secs (started at 2024-06-03 10:27:46)\n", " optimized pulses (ranges): [0.00, 2.00]\n", " ∫gₐ(t)dt: 0.00e+00\n", " λₐ: 1.00e-01\n", " storage (bw, fw, fw0): None, None, None\n", " fw_states_T norm: 1.000000\n", " Ļ„: (7.97e-01:0.00Ļ€)\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " qubit error: 1.1e-01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Iteration 1\n", " duration: 0.6 secs (started at 2024-06-03 10:27:46)\n", " optimized pulses (ranges): [0.00, 2.06]\n", " ∫gₐ(t)dt: 8.64e-03\n", " λₐ: 1.00e-01\n", " storage (bw, fw, fw0): [1 * ndarray(2500)] (1.1 MB), None, None\n", " fw_states_T norm: 1.000000\n", " Ļ„: (7.98e-01:0.00Ļ€)\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " qubit error: 1.0e-01\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Iteration 2\n", " duration: 0.7 secs (started at 2024-06-03 10:27:47)\n", " optimized pulses (ranges): [0.00, 2.36]\n", " ∫gₐ(t)dt: 4.72e-02\n", " λₐ: 1.00e-01\n", " storage (bw, fw, fw0): [1 * ndarray(2500)] (1.1 MB), None, None\n", " fw_states_T norm: 1.000000\n", " Ļ„: (7.92e-01:0.00Ļ€)\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " qubit error: 5.5e-02\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Iteration 3\n", " duration: 0.7 secs (started at 2024-06-03 10:27:47)\n", " optimized pulses (ranges): [0.00, 2.44]\n", " ∫gₐ(t)dt: 6.88e-03\n", " λₐ: 1.00e-01\n", " storage (bw, fw, fw0): [1 * ndarray(2500)] (1.1 MB), None, None\n", " fw_states_T norm: 1.000000\n", " Ļ„: (7.76e-01:0.00Ļ€)\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " qubit error: 4.8e-02\n", "Iteration 4\n", " duration: 0.7 secs (started at 2024-06-03 10:27:48)\n", " optimized pulses (ranges): [0.00, 2.42]\n", " ∫gₐ(t)dt: 7.33e-04\n", " λₐ: 1.00e-01\n", " storage (bw, fw, fw0): [1 * ndarray(2500)] (1.1 MB), None, None\n", " fw_states_T norm: 1.000000\n", " Ļ„: (7.82e-01:0.00Ļ€)\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " qubit error: 4.8e-02\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Iteration 5\n", " duration: 0.7 secs (started at 2024-06-03 10:27:49)\n", " optimized pulses (ranges): [0.00, 2.43]\n", " ∫gₐ(t)dt: 1.23e-04\n", " λₐ: 1.00e-01\n", " storage (bw, fw, fw0): [1 * ndarray(2500)] (1.1 MB), None, None\n", " fw_states_T norm: 1.000000\n", " Ļ„: (7.80e-01:0.00Ļ€)\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ " qubit error: 4.7e-02\n" ] } ], "source": [ "# NBVAL_IGNORE_OUTPUT\n", "# the DensityMatrixODEPropagator is not sufficiently exact to guarantee that\n", "# you won't get slightly different results in the optimization when\n", "# running this on different systems\n", "opt_result = krotov.optimize_pulses(\n", " objectives,\n", " pulse_options,\n", " tlist,\n", " propagator=krotov.propagators.DensityMatrixODEPropagator(\n", " atol=1e-10, rtol=1e-8\n", " ),\n", " chi_constructor=chis_qubit,\n", " info_hook=krotov.info_hooks.chain(\n", " krotov.info_hooks.print_debug_information, print_qubit_error\n", " ),\n", " check_convergence=krotov.convergence.check_monotonic_error,\n", " iter_stop=5,\n", ")" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "attributes": { "classes": [], "id": "", "n": "20" }, "execution": { "iopub.execute_input": "2024-06-03T14:27:49.837292Z", "iopub.status.busy": "2024-06-03T14:27:49.837153Z", "iopub.status.idle": "2024-06-03T14:27:49.839825Z", "shell.execute_reply": "2024-06-03T14:27:49.839511Z" } }, "outputs": [ { "data": { "text/plain": [ "Krotov Optimization Result\n", "--------------------------\n", "- Started at 2024-06-03 10:27:46\n", "- Number of objectives: 1\n", "- Number of iterations: 5\n", "- Reason for termination: Reached 5 iterations\n", "- Ended at 2024-06-03 10:27:49 (0:00:03)" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "opt_result" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Simulate the dynamics of the optimized field" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The plot of the optimized field shows that the optimization slightly shifts\n", "the field such that qubit and TLS are no longer perfectly in resonance." ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "attributes": { "classes": [], "id": "", "n": "21" }, "execution": { "iopub.execute_input": "2024-06-03T14:27:49.841504Z", "iopub.status.busy": "2024-06-03T14:27:49.841391Z", "iopub.status.idle": "2024-06-03T14:27:49.897493Z", "shell.execute_reply": "2024-06-03T14:27:49.897183Z" } }, "outputs": [ { "data": { "image/png": "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1dE1xXAjI5W1ni4ps5GtNkREFDre1ptChhsKNG+4sUQy3BARUeikxnrG3ZytqJO4ksBguJERb18nww0REYUSW24oaHzdUgw3REQUQskNM6ZKquwSVxIYDDcywm4pIiKSQkKMZ/kRhhsKuMaWG53ElRARUThpbTIAAEpt9RJXEhgMNzLClhsiIpJCQown3LDlhgLOWsdwQ0REoedtuTlfbYfbrfxVihluZMTKlhsiIpJAfLQn3Dhcoq8XQckYbmSEi/gREZEU9DqNb9ufEpvyu6YYbmTEN+aG+0oREVGItW4Yd1OqgnE3DDcywgHFREQkFd+gYrbcUKCIosgxN0REJBnvoGI1zJhiuJEJm90J7wB1jrkhIqJQY8sNBZy3S0qv1cAYwT8LERGFlm8hvyrlL+THq6hMXLivlCAIEldDREThJi7a02tQXsNwQwHSuCM4t14gIqLQaxXl2V+qrJrhhgKEO4ITEZGUWkV7wk1FOLfc1NfX48iRI3A6nYGsJ2xxphQREUkprFtuampqMH36dERFRaFHjx4oKCgAADz55JN4+eWXA15guOAaN0REJKW4hpYba50TTpdb4mqujd/hZs6cOdi7dy82bNgAo9HoOz5q1CisXLkyoMWFE++mmZwGTkREUrBERsA7n6VC4ftL+T16dc2aNVi5ciWGDBnSZFZPjx49cPz48YAWF06q6jzdeyYjBxQTEVHoaTUCLJERqKhxoLy63rfujRL53XJTUlKCxMTEi45XV1dzCvM1sNk94SaG4YaIiCTiHXdTXqPslhu/w83AgQPx+eef++57A82SJUuQlZUVuMrCjM3bcmNguCEiImm0ati4WemDiv2+kr700ksYN24cDh06BKfTiTfeeAOHDh3Cli1bsHHjxmDUGBbYckNERFLzDipW+kJ+frfcXH/99dizZw+cTid69eqFb775BomJicjNzcWAAQOCUWNY8IabaD3DDRERSSM2Sh3h5qqupB06dMDf/va3QNcS1thyQ0REUvO13IRDt5TVam3xE5rN5qsuJpw1jrnhVHAiIpJGrG/MjbIHFLco3MTGxrZ4JpTL5bqmgsJVNVtuiIhIYnFR6tiCoUVjbr777jusX78e69evx9KlS5GYmIjZs2dj9erVWL16NWbPno2kpCQsXbrUrx++adMm3HHHHUhNTYUgCFizZs1lz9+wYQMEQbjo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4EREJDs6rQbRei2q612oqnOoP9wAwNmzZ7F582acO3cObre7yfeeeuqpgBQWDuxON5xuEQDXuSEiInkxGSMawo3yBhX7fUVdvnw5Hn30Uej1esTHxzfZUFMQBIYbP3i7pAAgWs9wQ0RE8mEy6lBkVebO4H5fUZ977jk8//zzmDNnDjQaZQ0wkhtvl1S0XguN5vK7rhMREYWSd1CxEhfy8zud1NTU4L777mOwCQBOAyciIrkyKXg6uN8JZfr06Vi1alUwagk7nAZORERypeSF/Py+qubk5OD222/HV199hV69eiEiIqLJ91977bWAFad2XJ2YiIjkqrHlJkzCzddff40uXboAwEUDiqnl2C1FRERyZVbw/lJ+X1XnzZuHpUuXYurUqUEoJ7z4wg1bboiISGaU3C3l95gbg8GAYcOGBaOWsMMxN0REJFe+bim78lpu/A43M2fOxFtvvRWMWsIOx9wQEZFcKbnlxu+r6vbt27F+/Xp89tln6NGjx0UDij/++OOAFad2HHNDRERy5W25UeI6N35fVWNjYzFhwoRg1BJ22C1FRERyZQqnAcXLli0LRh1hid1SREQkV2YFTwXnMsMSYrcUERHJVVi13ADAhx9+iA8++AAFBQWor69v8r1du3YFpLBw0DgVPOIKZxIREYWWt+WmzuFGvdMNvU457SF+V/rmm29i2rRpSEpKwu7duzFo0CDEx8fj559/xrhx44JRo2o1jrnRSlwJERFRUxf2Kiit9cbvcPPXv/4VixcvxltvvQW9Xo/Zs2dj7dq1eOqpp1BZWRmMGlWrccwNW26IiEhetBoB0XrPh2+ljbvxO9wUFBRg6NChAIDIyEhUVVUBAH7729/i/fffD2x1KscxN0REJGdK3V/K73CTnJyMsrIyAEC7du2wdetWAEB+fj5EUQxsdSrmdouorme3FBERyZdSBxX7HW5uuukmfPrppwCAadOm4ZlnnsHo0aMxceJE3H333QEvUK1qHC54syC7pYiISI684UZpC/n53R+yePFiuN1uAEB2djbi4+OxZcsW3HnnnXj00UcDXqBaecfbaDUCjBHKGYFOREThw9st5R1GoRR+hxuNRgONpvFifN999+G+++4LaFHh4MIdwQVBkLgaIiKii4VNtxQFxoXhhoiISI6Uunkmw41EvN1SDDdERCRXjbOl2HJDLWCze94onAZO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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plot_pulse(opt_result.optimized_controls[0], tlist)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This slight shift of qubit and TLS out of resonance delays the population\n", "oscillations between qubit and TLS ground state such that the qubit ground\n", "state is maximally populated at final time $T$." ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "attributes": { "classes": [], "id": "", "n": "22" }, "execution": { "iopub.execute_input": "2024-06-03T14:27:49.899157Z", "iopub.status.busy": "2024-06-03T14:27:49.898997Z", "iopub.status.idle": "2024-06-03T14:27:49.997285Z", "shell.execute_reply": "2024-06-03T14:27:49.996999Z" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkAAAAGwCAYAAABB4NqyAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/xnp5ZAAAACXBIWXMAAA9hAAAPYQGoP6dpAABqKklEQVR4nO3dd3gU5d7G8e+m94SQRiB0CJ1AgAgIoqBgAQsqRemgKHBUDhZUmh7l+KqIBcVCBwVUBBVFkaYoNYCA9CYtpAGppO3O+8dKNIeIEJJMkr0/1zUX2dlnZ3/ZLNk7M0+xGIZhICIiIuJAnMwuQERERKS0KQCJiIiIw1EAEhEREYejACQiIiIORwFIREREHI4CkIiIiDgcBSARERFxOC5mF1AW2Ww2Tp8+ja+vLxaLxexyRERE5AoYhkFaWhrh4eE4OV3+HI8CUCFOnz5NRESE2WWIiIhIEZw4cYJq1apdto0CUCF8fX0B+wvo5+dncjUiIiJyJVJTU4mIiMj/HL8cBaBCXLzs5efnpwAkIiJSzlxJ9xV1ghYRERGHowAkIiIiDkcBSERERByOApCIiIg4HAUgERERcTgKQCIiIuJwFIBERETE4SgAiYiIiMNRABIRERGHowAkIiIiDkcBSERERByOApCIiIg4HC2Gehk5OTkYhpG/qJrVasVqteLk5ISLi0uBdgCurq6Xb3vhHDlpyeDigaunDxZXT3B2w2qzFXrc3NxcDMPAxcUFJyd7VrXZbOTl5WGxWHB1dS1TbfPy8rDZbDg7O+Ps7HzVbQ3DIDc3FwA3N7cSaVvYz+hq2hb5Z3+VbQt73a+mbXl7n5TGz/5a3yel9bO/1vdJefvZl7X3iX5HlFzb3DwreThhtUGuzYa7swVPF0ux/+yvlALQZbz++us8//zzeHt7A/Dzzz+zZs0aWrRoQY8ePfLbvfbaa+Tm5vLYY48REBAAwJYtW/juu+9o2rQp99xzj73htrm8ufI0mRYvHjHmEEIyuHqxwzWGry+0INI3k94tAiCoHgTVY9qi1aSkpDJ06FCqVq0KwO7du/niiy+oXbs2/fr1y6/hww8/JDExkQEDBlCzZk0ADhw4wKJFi4iIiGDw4MH5bWfPns3p06fp06cP9evXB+Do0aPMnz+f0NBQhg8fnt92wYIF/P7779x77700btwYgJMnTzJr1iwCAwMZNWpUftvFixdz8OBB7rzzTqKiogBISEjg/fffx9fXl9GjR+e3/eKLL9izZw+33norbdq0AeDs2bO88847uLu788wzz+S3/frrr/n111/p0qUL7du3ByAtLY033ngDJycnxo0bl9/2u+++Y+vWrdxwww106tQJgOzsbF555RUAnn/++fz/JKtWrWLDhg20bduWW265BbD/5508eTIATz/9NB4eHgD89NNPrFu3jlatWnH77bfnP98rr7yCzWbjiSeewM/PD4CNGzfyww8/0Lx5c+666678tlOmTCE7O5uRI0dSuXJlAGJjY/n2229p1KgR9913X37bt99+m7S0NB5++GHCwsIA2LVrF8uWLaNevXr07ds3v+306dM5e/YsgwYNonr16gDs3buXzz77jBo1ajBw4MD8tjNmzCA+Pp4HH3yQOnXqAHDo0CE++eQTwsPDGTZsWH7befPmceLECXr16kWDBg0AOH78OHPmzCE4OJhHH300v+3ChQs5cuQId999N82aNQMgLi6Ojz76CH9/fx5//PH8tp999hn79+/njjvuIDo6GoDExETee+89vLy8ePLJJ/Pbfvnll+zatYuuXbty3XXXAZCSksKbb76Jq6srzz77bH7bb775hu3bt3PjjTfSsWNHADIzM3nttdcAmDBhQn7bH374gU2bNnH99dfTuXNnwP4L+uLPfuzYsfm/ZNeuXcv69euJiYmhW7du+ce42HbMmDHF9zsCePPNN8nMzOSRRx4hJCQEgB07dvD1118TGRlJ796989tOmzaNlJQU/Y7Q7wjA3N8RIRG1OZqUzt6Dhzn88zfY3H05GnI9ZzOyOZ+ZS7MLOwm1pLAupxZHrPbv7dE2lbiwa2Wx/464UqZfAps2bRo1a9bEw8ODmJgYNm/e/Ldtc3NzeeGFF6hTpw4eHh40b96cFStWFGgzceJELBZLge3iL2/TGQb8kerz5WZCZpL969TTsO6/8PkQeL8jpJy07/9pCmybB4kHSrdeERGRv8iz2vjtdAqfbD7O8bOZAIz59FdavriSnu9t4J3VhwBIuZDLjwcS2X0qlZPnLpBnsxU4jsUCNptR6vUXqMEwDNMqWLRoEf3792f69OnExMQwdepUPv30U/bv35//l89fPf3008yfP58PP/yQBg0a8N133zF69Gh++eUXWrRoAdgD0GeffcYPP/yQ/zgXFxeC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YerUqWRkZDBo0CCzS6swxowZQ/fu3alRowanT59mwoQJODs706dPH7NLK/fS09ML/EV29OhRduzYQWBgINWrV+fxxx/nP//5D/Xq1aNWrVqMGzeO8PBw7rrrLvOKLocu9zoHBgYyadIkevbsSVhYGIcPH+app56ibt26dO3a1cSqy58RI0bw8ccfs2zZMnx9ffP79fj7++Pp6Ym/vz9Dhgxh9OjRBAYG4ufnx6hRo2jbti3XXXedydWXH//0Oh8+fJiPP/6Y2267jcqVK7Nz506eeOIJOnbsSLNmzUq+QFPGnjmot99+26hevbrh5uZmtGnTxti4caPZJVUovXr1MqpUqWK4ubkZVatWNXr16mUcOnTI7LIqhDVr1hjAJduAAQMMw7APhR83bpwRGhpquLu7G507dzb2799vbtHl0OVe58zMTOOWW24xgoODDVdXV6NGjRrGsGHDjDNnzphddrlT2GsMGLNmzcpvc+HCBePRRx81KlWqZHh5eRl33323ERcXZ17R5dA/vc7Hjx83OnbsaAQGBhru7u5G3bp1jSeffNJISUkplfosfxQpIiIi4jDUB0hEREQcjgKQiIiIOBwFIBEREXE4CkAiIiLicBSARERExOEoAImIiIjDUQASERERh6MAJCIiIg5HAUhEKoy1a9disVguWcRSROR/aSZoESm3OnXqRFRUFFOnTgUgJyeHs2fPEhoaisViMbc4ESnTtBiqiFQYbm5uhIWFmV2GiJQDugQmIuXSwIEDWbduHW+++SYWiwWLxcLs2bMLXAKbPXs2AQEBfP3110RGRuLl5cW9995LZmYmc+bMoWbNmlSqVIl//etfWK3W/GNnZ2czZswYqlatire3NzExMaxdu9acb1RESoTOAIlIufTmm29y4MABmjRpwgsvvADAb7/9dkm7zMxM3nrrLRYuXEhaWhr33HMPd999NwEBAXzzzTccOXKEnj170r59e3r16gXAyJEj2bNnDwsXLiQ8PJwvvviCbt26sWvXLurVq1eq36eIlAwFIBEpl/z9/XFzc8PLyyv/ste+ffsuaZebm8t7771HnTp1ALj33nuZN28e8fHx+Pj40KhRI2688UbWrFlDr169OH78OLNmzeL48eOEh4cDMGbMGFasWMGsWbN4+eWXS++bFJESowAkIhWal5dXfvgBCA0NpWbNmvj4+BTYl5CQAMCuXbuwWq3Ur1+/wHGys7OpXLly6RQtIiVOAUhEKjRXV9cCty0WS6H7bDYbAOnp6Tg7OxMbG4uzs3OBdn8NTSJSvikAiUi55ebmVqDzcnFo0aIFVquVhIQEOnToUKzHFpGyQ6PARKTcqlmzJps2beLYsWMkJSXln8W5FvXr1+eBBx6gf//+LFmyhKNHj7J582YmT57M8uXLi6FqESkLFIBEpNwaM2YMzs7ONGrUiODgYI4fP14sx501axb9+/fn3//+N5GRkdx1111s2bKF6tWrF8vxRcR8mglaREREHI7OAImIiIjDUQASERERh6MAJCIiIg5HAUhEREQcjgKQiIiIOBwFIBEREXE4CkAiIiLicBSARERExOEoAImIiIjDUQASERERh6MAJCIiIg7n/wHnlOJ3UX1wgwAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "optimized_dynamics = opt_result.optimized_objectives[0].mesolve(\n", " tlist, e_ops=[proj_00, proj_01, proj_10, proj_11]\n", ")\n", "\n", "plot_population(optimized_dynamics)" ] } ], "metadata": { "hide_input": false, "jupytext": { "formats": "" }, "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.12.0" }, "toc": { "base_numbering": 1, "nav_menu": {}, "number_sections": true, "sideBar": true, "skip_h1_title": false, "title_cell": "Table of Contents", "title_sidebar": "Contents", "toc_cell": false, "toc_position": {}, "toc_section_display": true, "toc_window_display": false }, "varInspector": { "cols": { "lenName": 16, "lenType": 16, "lenVar": 40 }, "kernels_config": { "python": { "delete_cmd_postfix": "", "delete_cmd_prefix": "del ", "library": "var_list.py", "varRefreshCmd": "print(var_dic_list())" }, "r": { "delete_cmd_postfix": ") ", "delete_cmd_prefix": "rm(", "library": "var_list.r", "varRefreshCmd": "cat(var_dic_list()) " } }, "types_to_exclude": [ "module", "function", "builtin_function_or_method", "instance", "_Feature" ], "window_display": false } }, "nbformat": 4, "nbformat_minor": 4 }