{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Construct single qubit quantum gates\n", "\n", "A quantum circuit is a powerful representation of an algorithm specifically designed to be executed on a gated-based universal quantum processor. While the usual way to define a circuit is using common gates, gates however abstract the underlying details of how qubits operate. \n", "\n", "A simple example of pulse-level control is using a parametric gate like $R_X$. An $R_X(θ)$ gate rotates the quantum state of a qubit by an angle θ with respect to an X axis defined by some properties of the pulse sequence. While this is equivalent to applying a pulse of a certain duration on a specific frame used to drive the qubit, it is not the most convenient implementation of the $R_X$ gate as it requires to calibrate and carefully map between the pulse duration and the angle.\n", "\n", "In this tutorial, we will describe how a method to create any single-qubit gate with pulses, based on a decomposition to a product of $R_X(\\pi/2)$ and $R_Z$ gates." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "# Use Braket SDK Cost Tracking to estimate the cost to run this example\n", "from braket.tracking import Tracker\n", "t = Tracker().start()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's first import some packages." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline\n", "\n", "from braket.aws import AwsDevice\n", "from braket.pulse import PulseSequence, GaussianWaveform, ConstantWaveform, DragGaussianWaveform\n", "from braket.parametric import FreeParameter\n", "from braket.circuits import Circuit, circuit\n", "\n", "## Imports for function fitting\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import scipy.optimize\n", "from scipy.fft import fft, fftfreq" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "While we use Rigetti's Aspen M-3 device here, this notebooks can be easily adapted to OQC's Lucy device by changing the parameters of the $\\pi$/2 pulse." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "device = AwsDevice(\"arn:aws:braket:us-west-1::device/qpu/rigetti/Aspen-M-3\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We use qubit #4 and define a couple of frame to drive and readout the qubit" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "qubit = 4\n", "drive_frame = device.frames[\"q4_rf_frame\"]\n", "readout_frame = device.frames[\"q4_ro_rx_frame\"]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Calibrating $\\pi$/2 pulses via Rabi spectroscopy \n", "\n", "As single-qubit gates are rotations around the Bloch sphere, we can get the intuition that any of them can be decomposed as a series of rotations around the X axis and the Z axis. Here, Z is defined as the axis along the measurement basis and X by the direction of the driving field with a phase equals to 0. We formalize the decomposition in more details below where we will see that it is only necessary to calibrate a single operation per qubit, namely a $\\pi$/2 pulse, to build any single-qubit gate.\n", "\n", "Let's optimize the pulse power to realize a $\\pi$/2 pulse. First we write the short sequence that will drive the qubit with a single pulse around the X axis (since the phase is set to 0). Unlike in the [tutorial](./1_Bringup_experiments.ipynb) where we presented a $\\pi/2$-pulse calibration based on a length sweep, here we will keep the pulse length fixed to 40ns and its width to 5ns and find the best pulse amplitude." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "width = 5e-9\n", "length = 40e-9\n", "waveform = GaussianWaveform(length, width, FreeParameter(\"amplitude\"), False)\n", "\n", "rabi_sequence = ( \n", " PulseSequence()\n", " .play(drive_frame, waveform)\n", " .capture_v0(readout_frame)\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We create the sweep range and execute the batch of pulse sequences" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "start_amp=0.01\n", "end_amp=0.75\n", "amps = np.arange(start_amp, end_amp, 0.02)\n", "N_shots = 1000\n", "\n", "pulse_sequences = [rabi_sequence(amplitude=amplitude) for amplitude in amps]\n", "\n", "batch = device.run_batch(pulse_sequences, shots=N_shots)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We define a fit function that is the product of an exponential and a sine function as we expect the qubit to oscillate between the state $|0\\rangle$ and the state $|1\\rangle$. The projected state after measurement must display this oscillatory dynamics." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "rx(pi/2) amplitude: 0.16392 ns\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAGwCAYAAABVdURTAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/NK7nSAAAACXBIWXMAAA9hAAAPYQGoP6dpAABlGklEQVR4nO3deVwV9f7H8decw+YCKBqCihvmgvsS5pZampZh3TZbTNtv3nav/crbQrbZYmWrlplWVlZmmWlYaWomRYmUuJWIoQZuKOCCwDnz+2MCJUHZBw7v5+NBDHO+5/ieRM6Hme98voZpmiYiIiIiHsJhdwARERGRiqTiRkRERDyKihsRERHxKCpuRERExKOouBERERGPouJGREREPIqKGxEREfEoXnYHqGput5u//voLf39/DMOwO46IiIiUgGmaZGVl0bRpUxyOU5+bqXXFzV9//UVYWJjdMURERKQMduzYQfPmzU85ptYVN/7+/oD1PycgIMDmNCIiIlISmZmZhIWFFbyPn0qtK27yL0UFBASouBEREalhSjKlRBOKRURExKPYWtysWrWKqKgomjZtimEYfP7556d9zooVK+jZsye+vr60bduWOXPmVHpOERERqTlsLW4OHz5Mt27deO2110o0Pjk5mZEjRzJkyBASEhK45557uPnmm1m6dGklJxUREZGawtY5NxdccAEXXHBBicfPmDGD1q1b8/zzzwPQsWNHVq9ezYsvvsjw4cMrK6aIiIjUIDVqzk1sbCxDhw4ttG/48OHExsYW+5xjx46RmZlZ6ENEREQ8V40qbtLS0mjSpEmhfU2aNCEzM5OjR48W+ZwpU6YQGBhY8KEeNyIiIp6tRhU3ZTFp0iQyMjIKPnbs2GF3JBEREalENarPTUhICLt37y60b/fu3QQEBFCnTp0in+Pr64uvr29VxBMREZFqoEaduenbty/Lli0rtO+bb76hb9++NiUSERGR6sbW4ubQoUMkJCSQkJAAWLd6JyQkkJKSAliXlMaOHVsw/rbbbmPbtm383//9H5s3b+b111/n448/5t5777UjfiEut0ls0n4WJuwiNmk/LrdpdyQREZFaydbLUr/88gtDhgwp+HrChAkAjBs3jjlz5pCamlpQ6AC0bt2axYsXc++99/LSSy/RvHlz3nrrLdtvA49JTGXyoo2kZmQX7AsN9CM6KoIRnUNt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U9pj79ChA+vXrychIaHgY9SoUQwZMoSEhATCwsKqMn65VMTfu8vlYv369YSGhlZWzApXluPu378/W7duLShkAX7//XdCQ0NrTGED5fs7/+STTzh27Bhjxoyp7JgVy+4ZzdXNvHnzTF9fX3POnDnmxo0bzVtvvdVs0KBBwW2P1113nfnAAw8UjP/hhx9MLy8vc+rUqeamTZvM6OjoGn0reGmO/dixY+a6devMdevWmaGhoebEiRPNdevWmX/88Yddh1BmpT32p59+2vTx8THnz59f6HbJrKwsuw6hTEp73E899ZT59ddfm0lJSebGjRvNqVOnml5eXubMmTPtOoQyK+2x/1NNvluqtMc+efJkc+nSpWZSUpK5du1a86qrrjL9/PzMDRs22HUIZVLa405JSTH9/f3NO+64w9yyZYv55ZdfmsHBweYTTzxh1yGUWVm/3wcMGGCOHj26quOWm4qbIrzyyitmixYtTB8fHzMyMtL88ccfCx4bNGiQOW7cuELjP/74Y7Ndu3amj4+P2alTJ3Px4sVVnLjilObYk5OTTeCkj0GDBlV98ApQmmNv2bJlkcceHR1d9cHLqTTH/eCDD5pt27Y1/fz8zIYNG5p9+/Y1582bZ0PqilHaf+snqsnFjWmW7tjvueeegrFNmjQxL7zwQjM+Pt6G1OVX2r/zNWvWmH369DF9fX3NNm3amE8++aSZl5dXxakrRmmPffPmzSZgfv3111WctPwM0zRNm04aiYiIiFQ4zbkRERERj6LiRkRERDyKihsRERHxKCpuRERExKOouBERERGPouJGREREPIqKGxEREfEoKm5ERETEo6i4EZEK1apVK6ZNm2Z3DACuv/56LrnkklOOGTx4MPfcc88px8yZM4cGDRqUKcPDDz/MrbfeWqKxDzzwAHfeeWeZ/hwROU7FjYgUuP766zEMA8Mw8PHxoW3btjz22GPk5eXZHa1MXnrpJebMmVOq51RkcZaWlsZLL73Egw8+WKLxEydO5J133mHbtm0V8ueL1FYqbkSkkBEjRpCamsoff/zBf//7Xx599FGee+45u2OVSWBgYJnPuFSEt956i379+tGyZcsSjW/cuDHDhw9n+vTplZxMxLOpuBGRQnx9fQkJCaFly5aMHz+eoUOH8sUXXwBFX8K55JJLuP7664t8LdM0efTRR2nRogW+vr40bdqUu+66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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "def damped_oscillation_fit(x, A, A0, Tau, f, x0):\n", " return A*np.exp(-x/Tau)*np.cos(2*np.pi*(x-x0)*f)+A0\n", "\n", "population = [result.measurement_counts['0']/N_shots for result in batch.results()]\n", "x, y = amps, population\n", "\n", "initial_guess=[0.5, 0.5, 1, 0.4, 0]\n", "optimal_params, _ = scipy.optimize.curve_fit(damped_oscillation_fit, x, y, p0=initial_guess)\n", "x_fit = np.arange(x[0],x[-1], np.diff(x)[0]/10)\n", "y_fit = damped_oscillation_fit(x_fit, *optimal_params)\n", "\n", "plt.plot(x,y, 'o')\n", "plt.plot(x_fit,y_fit)\n", "plt.xlabel(\"Pulse width (s)\")\n", "plt.ylabel(\"Population\")\n", "\n", "frequency = optimal_params[3]\n", "phase_offset = optimal_params[4]\n", "x90_amplitude=(np.pi/2)/(2*np.pi*frequency)+phase_offset\n", "plt.plot(x90_amplitude, damped_oscillation_fit(x90_amplitude, *optimal_params), 'ks')\n", "\n", "print('rx(pi/2) amplitude: ', round(x90_amplitude, 5), ' ns')\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We save the $\\pi$/2 calibration to reuse it later." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "x90 = GaussianWaveform(length, width, x90_amplitude, False)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Canonical decomposition of single-qubit gates\n", "Native gates are directly related to the Hamiltonian of the qubits and do not require a complex design. Their implementation could essentially rely on the application of a single pulse. An example of a native gate is the $R_X(π/2)$ gate, also known as the V or SX gate (equivalent up to a global phase $e^{-i\\pi/4}$) that we just calibrated. \n", "\n", "On the other hand, non-native gates cannot be directly understood from a continuous Hamiltonian and usually requires a sequence of pulses with varying parameters. The concept of native gates is rather loose and gates that could be designed with a single pulse such as the Hadamard gate are often decomposed into a series of native gates during the compilation stage. \n", "\n", "As the state of a single qubit can be represented as a vector on the Bloch sphere, any gate operated on this qubit can be expressed via the following unitary matrix:\n", "\n", "$$\n", " U(θ,ϕ,λ) = \n", " \\begin{pmatrix}\n", " \\cos⁡(\\theta/2) & -ie^{iλ} sin⁡(θ/2)\\\\\n", " -ie^{iϕ} \\sin⁡(θ/2) & e^{i(ϕ+λ)} \\cos⁡(θ/2)\n", " \\end{pmatrix}\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It is then convenient to decompose any 1-qubit gate (including the $R_X(\\theta)$ gate) into a sequence of three $R_Z$ gates, which will be [absorbed](https://aip.scitation.org/doi/10.1063/1.5089550) into an instantaneous and perfect shift of the phase of the frame, and two $R_X$ gates with a fixed angle of π/2. The result is that 1-qubit gates have all the same θ-independent duration (up to a global phase):\n", "\n", "$$U(θ,ϕ,λ)= R_Z (ϕ- π/2) R_X (π/2) R_Z (π-θ) R_X (π/2) R_Z (λ- π/2)$$\n", "\n", "We implement the parametric sequence by composing a sequence with `shift_phase` and `play` instructions\n" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "lambda_ = FreeParameter(\"lambda_\")\n", "theta = FreeParameter(\"theta\")\n", "phi = FreeParameter(\"phi\")\n", "\n", "U_sequence = (\n", " PulseSequence()\n", " .shift_phase(drive_frame, lambda_ - np.pi/2)\n", " .play(drive_frame, x90)\n", " .shift_phase(drive_frame, np.pi - theta)\n", " .play(drive_frame, x90)\n", " .shift_phase(drive_frame, phi - np.pi/2)\n", ")" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "image/png": "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GRkZakmiWjWyBeY8Vnm9REREtZK25maU1uoESkdHB+3atUNQUBD8/f0BFA8iDwoKwpQpU8q9plOnTggKCsK0adPk544fP45OnToBABo3bgxbW1sEBQXJE6aMjAxcvHgRkyZNKrdOXV1d6OpWw15uIpHGmiqJiIjoX7U6gQKA6dOnIyAgAN7e3mjfvj1Wr16N7OxsjB8/HgAwduxYODg4IDAwEAAwdepU9OjRAytXrsSAAQOwe/duXLlyBZs2bQJQPDh02rRp+Prrr+Hq6ipfxsDe3l6epBEREVH9VusTqBEjRiA5ORnz5s1DQkIC2rZti6NHj8oHgcfGxkIs/neoV+fOnbFr1y588cUXmDNnDlxdXXHw4EH5GlAAMHPmTGRnZ+Pdd99FWloaunbtiqNHjyq0BhQASKXFU/0fPnxYq5YxICIiqs9KJoGVfI6/SK1fB6omunz58gtXQiciIqKa69KlS/Dx8XlhGSZQavD06VM0aNAAcXFxbIEiIiKqJUomgaWmpsLc3PyFZWt9F15NJJEUL4JhYmLCBIqIiKiWKfkcfxGuA0VERESkJCZQREREREpiAkVERESkJCZQREREREpiAkVERESkJCZQREREREpiAkVERESkJCZQREREREpiAkVERESkJCZQREREREpiAkVERESkJCZQREREREpiAkVERESkJCZQREREREpiAkVERESkJCZQREREREpiAkVERESkJCZQREREREpiAkVERESkJCZQREREREpiAkVERESkJCZQREREREpiAkVERESkJCZQREREREpiAkVERESkJCZQREREREpSWwJ1//59dVVNREREpFFqS6CaNm2KV155BT/99BPy8vLUdRsiIiKiaqe2BCo0NBQeHh6YPn06bG1t8d577+HSpUvquh0RERFRtVFbAtW2bVt8++23ePz4MbZu3Yr4+Hh07doV7u7uWLVqFZKTk9V1ayIiIiK1Uvsgci0tLQwdOhR79+7F0qVLERUVhRkzZsDR0RFjx45FfHy8ukMgIiIiUim1J1BXrlzBBx98ADs7O6xatQozZszAvXv3cPz4cTx+/BivvfaaukMgIiIiUiktdVW8atUqbNu2DXfu3EH//v2xc+dO9O/fH2Jxcc7WuHFjbN++Hc7OzuoKgYiIiEgt1JZArV+/HhMmTMC4ceNgZ2dXbhlra2v88MMP6gqBiIiISC1EgiAImg6irsnIyICpqSnS09NhYmKi6XCIiIhIAcp8fqttDNS2bduwd+/eMuf37t2LHTt2qOu2RERERGqntgQqMDAQlpaWZc5bW1tj8eLF6rotERERkdqpLYGKjY1F48aNy5xv1KgRYmNj1XVbIiIiIrVTWwJlbW2N69evlzl/7do1WFhYqOu2L7RkyRKIRCJMmzbtheVWr14NNzc36Ovrw9HRER9//DG3oyEiIiI5tc3CGzVqFD766CMYGxuje/fuAIDTp09j6tSpGDlypLpuW6HLly9j48aN8PDweGG5Xbt2YdasWdi6dSs6d+6MyMhIjBs3DiKRCKtWraqmaImIiKgmU1sC9dVXXyE6Ohq9e/eGllbxbWQyGcaOHVvtY6CysrIwevRobN68GV9//fULy54/fx5dunTBm2++CQBwdnbGqFGjcPHixeoIlYiIiGoBtXXh6ejoYM+ePbh9+zZ+/vln7N+/H/fu3cPWrVuho6OjrtuWa/LkyRgwYAB8fX0rLdu5c2eEhITINz6+f/8+Dh8+jP79+1d4TX5+PjIyMkodREREVHeprQWqRLNmzdCsWTN136ZCu3fvRmhoKC5fvqxQ+TfffBMpKSno2rUrBEFAUVER3n//fcyZM6fCawIDA7Fw4UJVhUxEREQ1nNoSKKlUiu3btyMoKAhJSUmQyWSlnj9x4oRC9RQWFiIhIQE5OTmwsrJCgwYNFI4hLi4OU6dOxfHjx6Gnp6fQNadOncLixYvx/fffo0OHDoiKisLUqVPx1VdfYe7cueVeM3v2bEyfPl3+OCMjA46OjgrHSURERLWL2lYinzJlCrZv344BAwbAzs4OIpGo1PPffPNNhddmZmbip59+wu7du3Hp0iUUFBRAEASIRCI0bNgQffr0wbvvvgsfH58XxnDw4EEMGTIEEolEfk4qlUIkEkEsFiM/P7/UcwDQrVs3dOzYEcuXL5ef++mnn/Duu+8iKytLvpffi3AlciIiotpHmc9vtbVA7d69G7/++usLxw6VZ9WqVVi0aBGaNGmCQYMGYc6cObC3t4e+vj5SU1Nx48YNnD17Fn369EGHDh2wZs0auLq6lltX7969ER4eXurc+PHj0bx5c3z22WdlkicAyMnJKZMklZTjrjdEREQEqDGB0tHRQdOmTZW+7vLlyzhz5gxatWpV7vPt27fHhAkTsH79emzfvh1nz56tMIEyNjaGu7t7qXOGhoawsLCQnx87diwcHBwQGBgIABg0aBBWrVoFT09PeRfe3LlzMWjQoHITLiIiIqp/1JZAffLJJ/j222+xdu3aMt13L/LLL78oVE5PTw/vv/9+VcOTi42NLdXi9MUXX0AkEuGLL77Ao0ePYGVlhUGDBmHRokUvfS8iIiKqG9Q2BmrIkCE4efIkGjRogFatWkFbW7vU8/v376+0jp07d8Lb2xstW7YsdT4vLw+//vorxo4dq9KYVYVjoIiIiGofZT6/1ZZAjR8//oXPb9u2rdI6xGIxDA0NsX37drz++uvy84mJibC3t4dUKn3pONWBCRQREVHtUyMGkSuSICli4cKFeOuttxAeHo4FCxaopE4iIiKil6G2lcgBoKioCH///Tc2btyIzMxMAMDjx4+RlZWlcB1jxozBiRMnsHHjRgwbNgy5ubnqCpeIiIhIIWpLoGJiYtC6dWu89tprmDx5MpKTkwEAS5cuxYwZMxSqo2TweceOHXHx4kVERUWhc+fOiI6OVlfYRERERJVSWwI1depUeHt74+nTp9DX15efHzJkCIKCghSq4/nhWU5OTjh//jycnZ3x6quvqjxeIiIiIkWpbQzU2bNncf78+TIbBzs7O+PRo0cK1TF//nwYGRnJHxsYGODAgQOYP38+zpw5o9J4iYiIiBSltgRKJpOVO0vu4cOHMDY2VqiO+fPnl3ueG/cSERGRJqktgerTpw9Wr16NTZs2ASgez5SVlYX58+dXur3LH3/8UWn9IpEIgwYNUkmsRERERMpQ2zpQDx8+hJ+fHwRBwN27d+Ht7Y27d+/C0tISZ86cgbW1dYXX/ncvOpFIVGYfOpFIVO/WgRIEAbmFNfM1ExERVTd9bYlSu51UpkYspAkUL2Owe/duXL9+HVlZWfDy8sLo0aNLDSpXhLGxMa5duwYXFxc1Rapa6kqgcgqK0HLeMZXVR0REVJtFfOkHAx3VdabViIU0AUBLSwtjxoxR5y2IiIiIqp3aEqidO3e+8Pmauo9dTaavLUHEl36aDoOIiKhG0NeWaOzeakugpk6dWupxYWEhcnJyoKOjAwMDAyZQVSASiVTaVElERERVo7aFNJ8+fVrqyMrKwp07d9C1a1f88ssvStUlEolUOkiMiIiI6GWodRB5ea5cuYIxY8bg9u3bFZYxNzcvlTClpaXBxMSkzOy81NRUtcX5MtQ1iJyIiIjUp8YMIi/3hlpaePz48QvLrF69unqCISIiIqoCtSVQ/10MUxAExMfHY+3atejSpcsLrw0ICFBXWEREREQvTW0JlL+/f6nHIpEIVlZW6NWrF1auXKlUXZmZmaUW0hSLxaX2yCMiIiKqTmrdC6+qwsLCMGfOHBw+fBgAYG9vj5ycHPnzIpEIwcHB8PHxeek4iYiIiJRVI+fEr1mzBl27di117scff4SDgwMEQcDWrVvx3Xff4ccff9RQhERERFSfqS2Bmj59usJlV61aVerx+fPnMWXKlFLnOnbsKN/KRV9fH2+88cbLB0lERERUBWpLoK5evYqrV6+isLAQbm5uAIDIyEhIJBJ4eXnJy5W3vlNMTAysrKzkj7/88ktYWlrKH9vZ2SExMVFdoRMRERG9kNoSqEGDBsHY2Bg7duyAubk5gOLFNcePH49u3brhk08+qfBaPT09xMTEoGHDhgCAjz/+uNTzcXFxMDAwUFfoRERERC+ktpXIV65cicDAQHnyBBQvkPn1119XOgvP09MTBw8erPD5/fv3w9PTU1WhEhERESlFbS1QGRkZSE5OLnM+OTkZmZmZL7z2gw8+wMiRI+Hs7IxJkybJVyCXSqX4/vvvsWbNGuzatUstcRMRERFVRm0J1JAhQzB+/HisXLkS7du3BwBcvHgRn376KYYOHfrCa19//XVMnz4dH374IebMmSMfPH7//n1kZWVh+vTpGDZsmLpCJyIiInohte2Fl5OTgxkzZmDr1q0oLCwEULyNy8SJE7F8+XIYGhpWWseFCxfwyy+/4O7duwAAV1dXjBo1Ch07dlRHyCrDvfCIiIhqH2U+v9W+mXB2djbu3bsHAGjSpEmliVNsbCycnJwUrv/Ro0dwcHB4qRhVjQkUERFR7aPM57faBpGXiI+PR3x8PFxdXWFoaIjK8jUfHx+89957uHz5coVl0tPTsXnzZri7u+O3335TdchEREREL6S2MVBPnjzBG2+8gZMnT0IkEuHu3btwcXHBxIkTYW5uXuFMvIiICCxatAivvvoq9PT00K5dO9jb20NPTw9Pnz5FREQEbt68CS8vLyxbtgz9+/dX10sgIiIiKpfaWqA+/vhjaGtrIzY2ttSaTSNGjMDRo0crvM7CwgKrVq1CfHw81q5dC1dXV6SkpMjHQY0ePRohISEIDg5m8kREREQaobYWqL/++gvHjh2TL4ZZwtXVFTExMZVer6+vj2HDhnG2HREREdU4amuBys7OLne18NTUVOjq6qrrtkRERERqp7YEqlu3bti5c6f8sUgkgkwmw7Jly/DKK6+o67ZEREREaqe2Lrxly5ahd+/euHLlCgoKCjBz5kzcvHkTqamp+Oeff9R1WyIiIiK1U1sLlLu7OyIjI9G1a1e89tpryM7OxtChQ3H16lU0adJEXbclIiIiUju1JFCFhYXo3bs3kpKS8Pnnn+PXX3/F4cOH8fXXX8POzk4dt1TIkiVLIBKJMG3atBeWS0tLw+TJk2FnZwddXV00a9YMhw8frp4giYiIqMZTSxeetrY2rl+/ro6qq+zy5cvYuHEjPDw8XliuoKAAr776KqytrbFv3z44ODggJiYGZmZm1RMoERER1Xhq68IbM2YMfvjhB3VVr5SsrCyMHj0amzdvhrm5+QvLbt26FampqTh48CC6dOkCZ2dn9OjRA23atKmmaImIiKimU9sg8qKiImzduhV///032rVrV2YPvFWrVqnr1mVMnjwZAwYMgK+vL77++usXlv3jjz/QqVMnTJ48Gb///jusrKzw5ptv4rPPPoNEIin3mvz8fOTn58sfZ2RkqDR+IiIiqllUnkDdv38fzs7OuHHjBry8vAAAkZGRpcqIRCJV37ZCu3fvRmho6Av31nve/fv3ceLECYwePRqHDx9GVFQUPvjgAxQWFmL+/PnlXhMYGIiFCxeqMmwiIiKqwURCZbv7KkkikSA+Ph7W1tYAirdu+e6772BjY6PK2ygkLi4O3t7eOH78uHzsU8+ePdG2bVusXr263GuaNWuGvLw8PHjwQN7itGrVKixfvhzx8fHlXlNeC5Sjo6NCuzkTERFRzZCRkQFTU1OFPr9V3gL133zsyJEjyM7OVvVtFBISEoKkpCR5SxgASKVSnDlzBmvXrkV+fn6Zbjk7Oztoa2uXOt+iRQskJCSgoKAAOjo6Ze6jq6vL1dWJiIjqEbWNgSqh4gYupfTu3Rvh4eGlzo0fPx7NmzevcExTly5dsGvXLshkMojFxWPsIyMjYWdnV27yRERERPWPymfhiUSiMmOcqnPM0/OMjY3h7u5e6jA0NISFhQXc3d0BAGPHjsXs2bPl10yaNAmpqamYOnUqIiMj8eeff2Lx4sWYPHmyRl4DERER1Txq6cIbN26cvEsrLy8P77//fplZePv371f1raskNjZW3tIEAI6Ojjh27Bg+/vhjeHh4wMHBAVOnTsVnn32mwSiJiIioJlH5IPLx48crVG7btm2qvG2NoswgNCIiIqoZNDqIvC4nRkRERESAGlciJyIiIqqrmEARERERKYkJFBEREZGSmEARERERKYkJFBEREZGSmEARERERKYkJFBEREZGSmEARERERKYkJFBEREZGSmEARERERKYkJFBEREZGSmEARERERKYkJFBEREZGSmEARERERKYkJFBEREZGSmEARERERKYkJFBEREZGSmEARERERKYkJFBEREZGSmEARERERKYkJFBEREZGSmEARERERKYkJFBEREZGStDQdQF0klUoBAA8fPoSJiYmGoyEiIiJFZGRkAPj3c/xFmECpQVRUFACgVatWGo6EiIiIlBUVFQUfH58XlhEJgiBUUzz1xtOnT9GgQQPExcWxBYqIiKiWyMjIgKOjI1JTU2Fubv7CsmyBUgOJRAIAMDExYQJFRERUy5R8jr8IB5ETERERKYktUEREVTTv9xs4dD1e02EQ1UudXCywbrSXxu7PBIqIqAoEQcCui7EoknEYKZEmZOQVavT+TKCIiKogv0gmT55+n9wFBjqVj5kgItXR1/DfHBMoIqIqyMovkv/c2sEUYrFIg9EQUXXjIHIioirIfpZAGehImDwR1UNMoIiIqqCkBcpIlw35RPUREygioirIzi/e6oEJFFH9VOcTqPXr18PDw0O+qGWnTp1w5MiRF16zd+9eNG/eHHp6emjdujUOHz5cTdESUW1R0oVnyASKqF6q8wlUw4YNsWTJEoSEhODKlSvo1asXXnvtNdy8ebPc8ufPn8eoUaMwceJEXL16Ff7+/vD398eNGzeqOXIiqsmy5AkUZ98R1Uf1ci+8Bg0aYPny5Zg4cWKZ50aMGIHs7GwcOnRIfq5jx45o27YtNmzYoFD9GRkZMDU1RXp6OrdyIaqjdl+Kxaz94fBtYY0tAS/edJSIagdlPr/rfAvU86RSKXbv3o3s7Gx06tSp3DLBwcHw9fUtdc7Pzw/BwcEV1pufn4+MjIxSBxHVbVnswiOq1+pFAhUeHg4jIyPo6uri/fffx4EDB9CyZctyyyYkJMDGxqbUORsbGyQkJFRYf2BgIExNTeWHo6OjSuMnopqnZBA5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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "data = U_sequence(theta=np.pi/2, phi=0, lambda_=np.pi).to_time_trace()\n", "for frame_id in data.amplitudes:\n", " f, ax = plt.subplots(nrows=3, sharex=True)\n", " f.subplots_adjust(hspace=0)\n", "\n", " ax[0].set_title(frame_id)\n", " ax[0].plot(data.amplitudes[frame_id].times(), np.real(data.amplitudes[frame_id].values()), label=\"Real\")\n", " ax[0].plot(data.amplitudes[frame_id].times(), np.imag(data.amplitudes[frame_id].values()), label=\"Imag\")\n", " ax[0].set_ylabel(\"Amplitude\\n(a. u.)\")\n", " ax[0].tick_params('x', labelbottom=False)\n", "\n", " ax[1].plot(data.frequencies[frame_id].times(), np.array(data.frequencies[frame_id].values())*1e-9)\n", " ax[1].set_ylabel(\"Frequency\\n(GHz)\")\n", " ax[1].tick_params('x', labelbottom=False)\n", "\n", " ax[2].plot(data.phases[frame_id].times(), data.phases[frame_id].values())\n", " ax[2].set_xlabel(\"Time (s)\")\n", " ax[2].set_ylabel(\"Phase\\n(rad)\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "With this sequence, we can create the U Gate via the `pulse_gate` function. For instance, the Hadamard gate is implemented by:\n", " \n", "$$ U(π/2,0,π)=R_Z (-π/2) R_X (π/2) R_Z (π/2) R_X (π/2) R_Z (π/2) $$\n", "\n", "In the following, we test our implementation of the U gate by probing its behavior when we sweep the angle $\\theta$ fixing $\\phi$ and $\\lambda$ to zero. We expect to achieve the $R_X$ gate that makes the qubit oscillate between $|0\\rangle$ and $|1\\rangle$ around the X axis. We initialize the state along both the X and Y axis before applying the U gate, to confirm that the $R_X$ gate was created successfully. If we initialize the qubit along the X axis which should coincide with the rotation X, we should observe a flat line as the qubit remains in the same state. " ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "@circuit.subroutine(register=True)\n", "def U_pulses(theta, phi, lambda_):\n", " return (\n", " Circuit()\n", " .pulse_gate(\n", " [qubit], \n", " pulse_sequence=U_sequence(theta=theta, phi=phi, lambda_=lambda_)\n", " )\n", " )" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "nb_shots=500\n", "thetas=np.linspace(0, 2*np.pi, 25)\n", "\n", "# initialization along the X axis\n", "b_X=device.run_batch([Circuit().rx(4, np.pi/2).rz(4, np.pi/2).U_pulses(t, 0, 0) for t in thetas], shots=nb_shots, disable_qubit_rewiring=True)\n", "\n", "# initialization along the Y axis\n", "b_Y=device.run_batch([Circuit().rx(4, np.pi/2).U_pulses(t, 0, 0) for t in thetas], shots=nb_shots, disable_qubit_rewiring=True)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAGwCAYAAABVdURTAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/NK7nSAAAACXBIWXMAAA9hAAAPYQGoP6dpAABxNElEQVR4nO3dd3hT5f/G8Xe6W2hLGW0plCF7FmgBGQoqiIIoTr4qMsWFOPg5QETcuHAjKILgQMABoiAIqCgbCmXvVQTasrp3kt8fB4qV2ZL2JOn9uq5cfXJ6ktwNI58+5xkWu91uR0RERMRNeJgdQERERMSRVNyIiIiIW1FxIyIiIm5FxY2IiIi4FRU3IiIi4lZU3IiIiIhbUXEjIiIibsXL7AClzWazcfjwYQIDA7FYLGbHERERkUtgt9tJS0sjIiICD48L982UueLm8OHDREZGmh1DREREiuHgwYNUr179gueUueImMDAQMN6coKAgk9OIiIjIpUhNTSUyMrLgc/xCTC1u/vrrL95++21iY2M5cuQIs2bNolevXhd8zJ9//smwYcPYsmULkZGRPP/88/Tv3/+SX/P0paigoCAVNyIiIi7mUoaUmDqgOCMjg6ioKMaNG3dJ5+/bt48ePXpwzTXXEBcXxxNPPMH999/PggULSjipiIiIuApTe25uvPFGbrzxxks+f8KECdSuXZuxY8cC0KhRI5YuXcp7771Ht27dSiqmiIiIuBCXmgq+YsUKunTpUuhYt27dWLFixXkfk5OTQ2pqaqGbiIiIuC+XGlCckJBAWFhYoWNhYWGkpqaSlZWFv7//WY8ZM2YML730UpFfy2q1kpeXV+ys4nq8vb3x9PQ0O4aIiFwmlypuimPEiBEMGzas4P7p0dbnY7fbSUhIIDk5uRTSibOpUKEC4eHhWgNJRMSFuVRxEx4eTmJiYqFjiYmJBAUFnbPXBsDX1xdfX99Lfo3ThU1oaCgBAQH6kCsj7HY7mZmZJCUlAVC1alWTE4mISHG5VHHTrl075s2bV+jYwoULadeunUOe32q1FhQ2lSpVcshzius4XSAnJSURGhqqS1QiIi7K1AHF6enpxMXFERcXBxhTvePi4oiPjweMS0p9+/YtOP+hhx5i7969PPPMM2zfvp1PPvmEmTNn8uSTTzokz+kxNgEBAQ55PnE9p//sNd5KRMR1mVrcrF27lpYtW9KyZUsAhg0bRsuWLXnhhRcAOHLkSEGhA1C7dm3mzp3LwoULiYqKYuzYsXz++ecOnwauS1Fll/7sRURcn6mXpTp37ozdbj/v96dMmXLOx6xfv74EU4mIiIgrc6l1bkREREQuRsVNGWaxWJg9e7bDn7d///4X3SNMRESkpKi4cRPFKSiOHDlSsP3F/v37sVgsBYO73cG8efPw8fFh3bp1hY6PHTuWypUrk5CQYFIyESkVOWmQn2N2CjGBS00FF8cKDw83O0KJ6t69O3379qVv377Exsbi6+vL1q1bef7555kyZYrb//wiZZI1D3YugPVfwa7fwOIBVRpB1Sio2tz4GtYUfMubnVRKkHpuLsJut5OZm2/K7UKDrS+mc+fOPPbYYzzzzDNUrFiR8PBwXnzxxULn/PuyVO3atQFo2bIlFouFzp07n/N5rVYrgwYNonbt2vj7+9OgQQM++OCDC2bJycnhscceIzQ0FD8/Pzp27MiaNWsKvv/nn39isVhYvHgxMTExBAQE0L59e3bs2FHoeV599VVCQ0MJDAzk/vvvZ/jw4bRo0eKCr/3ee++Rnp7O6NGjyc/Pp1+/fvTs2ZPevXtf8HEi4mKO7YLfRsG7jWHGvbBzPthtYMuHxE0Q9zX8+gxM7gZjqsNHMfD9IFj2Aez9EzJPmP0TiAOp5+YisvKsNH5hgSmvvfXlbgT4FP+PaOrUqQwbNoxVq1axYsUK+vfvT4cOHejatetZ565evZo2bdqwaNEimjRpgo+Pzzmf02azUb16db777jsqVarE8uXLeeCBB6hatSp33XXXOR/zzDPP8MMPPzB16lRq1qzJW2+9Rbdu3di9ezcVK1YsOG/kyJGMHTuWKlWq8NBDDzFw4ECWLVsGwDfffMNrr73GJ598QocOHZg+fTpjx44tKMrOJzAwkMmTJ9OtWzf27dvHwYMHmT9//qW+hSLizHIzYMssWPcVHFx55ni5KhB1N7S8D7z94cgGSNhofD2yEdIOw/Fdxm3z92ceF1zjTO9O+KmvgeGgJSJcjoobN9a8eXNGjx4NQL169fj4449ZvHjxOYubKlWqAFCpUqULXq7x9vYutBFp7dq1WbFiBTNnzjxncZORkcH48eOZMmVKwfieiRMnsnDhQiZNmsTTTz9dcO5rr71Gp06dABg+fDg9evQgOzsbPz8/PvroIwYNGsSAAQMAeOGFF/jtt99IT0+/6Ptw7bXXcscddzB9+nRmzJih1adFXJndDodiYd2XsPlHyE0zjls8oN71RkFTvxt4ep95TIVIaHTTmfvpSUaRk7DhTMFzch+kxBu37b+cObdclVOXtFpAq/sgpFZp/JRymVTcXIS/tydbX3bsIoFFee3L0bx580L3q1atWrB30uUYN24ckydPJj4+nqysLHJzc897eWjPnj3k5eXRoUOHgmPe3t60adOGbdu2nTfv6b2dkpKSqFGjBjt27OCRRx4pdH6bNm34/fffL5r30KFDzJ8/n4CAAP7+++/z9jCJiBPLOA4bpxu9NEf/9X9HSG2j6Ii6B4IucU+48qFQr4txOy0rGRI2Fe7hObYDMo7C7kXGbeUn0OVFaD0YPDSqw5mpuLkIi8VyWZeGzOTt7V3ovsViwWazXdZzTp8+naeeeoqxY8fSrl07AgMDefvtt1m1atVlPS8Uznt6peDLzQswePBgoqOjGTlyJF27duWOO+4o6CESESdms8KeP2D9l7B9HthObYvi5QeNb4FWfaFmB8dcNvKvALWvMm6n5WZC0lY4EgebfoD45ca4nS2z4OaPoXLdy39dKRGu+aktDnd6jI3Var3gecuWLaN9+/aFelH27Nlz3vPr1KmDj48Py5Yto2bNmoCxb9OaNWt44oknLjlfgwYNWLNmTaG9xv49KPl8Pv/8c5YuXcqmTZuoWbMmDz/8MAMHDmTjxo2UK1fukl9fRErRyQOw/muImwap/5w5fvrSUNM7jGKkpPkEQPUY4xY9ENZOgoWjIX4FTOgA14yEdkPAQ5vsOhv1qwkAoaGh+Pv7M3/+fBITE0lJSTnnefXq1WPt2rUsWLCAnTt3MmrUqAsWGeXKlePhhx/m6aefZv78+WzdupXBgweTmZnJoEGDLjnf0KFDmTRpElOnTmXXrl28+uqrbNy48YJ7QR04cIBhw4bxzjvvFBRWb775JhaLheHDh1/ya4tIKTmxF6b9Dz6Igr/eMgobvwrQ5kF4aCk8uARa3186hc1/eXhAm8HwyAq44hrIz4aFo2BSV0jaXvp55IJU3AgAXl5efPjhh3z66adERERwyy23nPO8Bx98kNtuu43evXvTtm1bjh8/ftZYmP964403uP3227nvvvto1aoVu3fvZsGCBYSEhFxyvnvvvZcRI0bw1FNP0apVK/bt20f//v3x8/M75/l2u51BgwbRrl07HnjggYLjAQEBTJkyhfHjx7NkyZJLfn0RKUH5ObDkbfikHez8FbBD7U5w+yT4vx3Q/S0Ib2Z2SkNITbhvFtz8EfgGGYObP70K/nrHWGNHnILFfjmLqbig1NRUgoODSUlJISgoqND3srOz2bdvH7Vr1z7vh6Y4j65duxIeHs5XX33lsOfU3wGRUrbvb5g7DI7tNO7X7gTd34Eq9c3NdSlSDsEvTxiLBYIxfbzXJ85TiLmZC31+/5fG3IhLyMzMZMKECXTr1g1PT0++/fZbFi1axMKFC82OJiLFkXHMWHRvwzTjfrkq0G0MNLvDddaVCa4G98yEjTPg12eNmVafdYar/g+uegq8zr1emJQ8XZYSl2CxWJg3bx5XX3010dHR/Pzzz/zwww906dLl4g8WEedhsxlr1Hwcc6qwsUDMQHh0DTS/03UKm9MsFoj6HwxZDQ1vMlZEXvImfNYJDq27+OOlRKjnRlyCv78/ixYtMjuGiFyOpG3wy5PGbCMw9ni66X2IbG1qLIcIDIPeXxvTxOc9ZUwh//w6aP8YdB4B3rrMXZrUcyMiIiUrNxMWvQgTOhqFjXcAXP8qPLDEPQqb0ywWaHqb0YvT9HZjb6tl75/6uS9/LTC5dCpuRESk5Oz8DT5pC0vfMy7ZNOhhfPi3HwqebnrxoFxluGMy9P4GyocZe1hN7gbzRxiFnpQ4FTciIuJ4qYdhxn0w7U5Ijoeg6vC/aXD3NGOvp7Kg0U0wZJWxNQR2Y/uG8e2NGWJSolTciIiI49issHI8fNwats0Biye0e9T4kG/Yw+x0pc8/BG4dD/d+D0HVjA06p95kbPopJUbFjYiIOMahdTDxGpg/HHLToXprY1Xhbq+Bb3mz05mrXldjdePmvY37vzwBKf9c8CFSfCpuyjCLxcLs2bMd/rz9+/enV69eDn9eEXFS2akw72mYeK2xo7ZfMNz0Hgz8TQva/ZtfMNwyDiJaQXYKzH7YmBovDqfixk0Up6A4cuQIN954IwD79+/HYrEQFxfn+HAmWLJkCd7e3ixdurTQ8YyMDK644gqeeuopk5KJuBm7Hab1htWfAXZodic8utZYu8ZDHzFn8fSG2yYaM8b2/QWrxpudyC3pb14ZFh4ejq+vr9kxSkSnTp0YOnQo/fv3JyMjo+D4M888g7+/P6+++qqJ6UTcyI5fIX658WF932y4/XMoH2p2KudWua4xFR5g0UuQuNXcPG5IxY2b6ty5M4899hjPPPMMFStWJDw8nBdffLHQOf++LFW7dm0AWrZsicVioXPnzud8XqvVyqBBg6hduzb+/v40aNCADz744IJZcnJyeOyxxwgNDcXPz4+OHTsW2kn8zz//xGKxsHjxYmJiYggICKB9+/bs2LGj0PO8+uqrhIaGEhgYyP3338/w4cNp0aLFeV/39ddfx8fHh2effRaAP/74g88//5wvv/xS+0aJOILNBn+8ZrTbPgh1rjE3jyuJGQj1rgdrDvz4gLF5qDiMipuLsdshN8Oc22XuaTp16lTKlSvHqlWreOutt3j55ZfPuxfT6tWrAVi0aBFHjhzhxx/PPZLfZrNRvXp1vvvuO7Zu3coLL7zAc889x8yZM8+b45lnnuGHH35g6tSprFu3jrp169KtWzdOnDhR6LyRI0cyduxY1q5di5eXFwMHDiz43jfffMNrr73Gm2++SWxsLDVq1GD8+At35/r5+fHll1/y2Wef8dNPPzFw4ECee+45oqOjL/g4EblEW2dD4mZjd+z2j5mdxrVYLHDzxxBQCRI3nSkSxSHcdAUlB8rLhNcjzHnt5w6DT7liP7x58+aMHj0agHr16vHxxx+zePFiunbteta5VapUAaBSpUqEh4ef9zm9vb156aWXCu7Xrl2bFStWMHPmTO66666zzs/IyGD8+PFMmTKlYHzPxIkTWbhwIZMmTeLpp58uOPe1116jU6dOAAwfPpwePXqQnZ2Nn58fH330EYMGDWLAgAEAvPDCC/z222+kp6df8D2IiYlhxIgR3HbbbbRs2ZKRI0de8HwRuUTWfPjjdaPdbggEVDQ3jysKDIOeH8CMPrDsQ6jXDWp1MDuVW1DPjRtr3rx5oftVq1YlKSnpsp933LhxREdHU6VKFcqXL89nn31GfHz8Oc/ds2cPeXl5dOhw5h+st7c3bdq0Ydu2befNW7VqVYCCvDt27KBNmzaFzv/v/fMZNWoUNpuN4cOH4+Wlel7EITbNNFbe9Q+BKx8xO43ratQTWvQB7DDrIWMWlVw2/U9/Md4BRg+KWa99OQ/39i5032KxYLvMaYfTp0/nqaeeYuzYsbRr147AwEDefvttVq26/H1T/p3Xcmpn4MvNCxQUNCpsRBwkPxf+fMNod3gC/IJMjePybnwD9v8NyQfg12fh1glmJ3J56rm5GIvFuDRkxu3UB3xp8PHxAYwBwxeybNky2rdvzyOPPELLli2pW7cue/bsOe/5derUwcfHh2XLlhUcy8vLY82aNTRu3PiS8zVo0KDQIGTgrPsiUkrivjY+iMuFQpvBZqdxfb6BcNtnYPGADd/CltlmJ3J5Km4EgNDQUPz9/Zk/fz6JiYmkpJy7a7RevXqsXbuWBQsWsHPnTkaNGnXBIqNcuXI8/PDDPP3008yfP5+tW7cyePBgMjMzGTRo0CXnGzp0KJMmTWLq1Kns2rWLV199lY0bNxb08IhIKcnLhiVvG+2rn7qscYHyLzWuhI5PGu1fnoDUI6bGcXUqbgQwLtl8+OGHfPrpp0RERHDLLbec87wHH3yQ2267jd69e9O2bVuOHz/OI49c+Hr7G2+8we233859991Hq1at2L17NwsWLCAkJOSS8917772MGDGCp556ilatWrFv3z769++vKd0ipW3tZEg7bGyEGd3f7DTupdNwqBoFWSfhpyGXPWO2LLPY7WXr3UtNTSU4OJiUlBSCggpfJ87Ozmbfvn3Url1bH5ouoGvXroSHh/PVV1857Dn1d0DkAnLS4cMWkHHUmOWj4sbxju6AT6+G/Gy48W1o+4DZiZzGhT6//0s9N+ISMjMzeffdd9myZQvbt29n9OjRLFq0iH79+pkdTaTsWP2ZUdiE1IYW95qdxj1VaQBdXzbaC0cZxY4UmYobcQkWi4V58+Zx9dVXEx0dzc8//8wPP/xAly5dzI4mUjZkJcOyU6uRdx5h7JEkJaP1YKhzrdF78+NgY3aaFInmxopL8Pf3Z9GiRWbHECm7Vn4C2clQuQE0u8PsNO7Nw8PYPfyTdsYu60vehOtGmZ3KpajnRkRELizjOKz4xGhf8xx4eJqbpywIioCe7xvtpe9C/OWvJVaWqLg5hzI2xlr+RX/2Iuew/APITYPw5tDoZrPTlB1NboXm/wO7DWY9ADlpZidyGSpu/uX0CrmZmZkmJxGznP6z/+/qziJlVloCrPrMaF/7vHHJREpP97cgOBJO7of5I8xO4zI05uZfPD09qVChQsF+RgEBAVokroyw2+1kZmaSlJREhQoV8PRUt7sIAH+/C/lZUL011Lve7DRlj1+wsR3DlJtg/VdQ/wZodJPZqZyeipv/OL0jtiM2mBTXU6FChQvuii5SpiQfhNgvjPa1o0p1Sxj5l1odof1QWP4h/PyYUWgGhpmdyqmpuPkPi8VC1apVCQ0NJS8vz+w4Uoq8vb3VYyPyb3+9DdZcqHUVXNHJ7DRl27XPw57fIXEzzHkU7pmpYvMCVNych6enpz7oRKTsOr4H1n9ttK/VNGTTefkam2t+1hl2/Wb0qMUMNDuV09LIMBEROduSN8FuNcbZ1GhrdhoBCGsC14022gtGwrHd5uZxYipuRESksKTtsHGm0b7mOXOzSGFXPgK1r4a8TGN6uFXDJ85FxY2IiBT2x2uAHRr1hIiWZqeRf/PwgF7jwTcYDsXCX++YncgpqbgREZEzDsfBtjmABa4ZaXYaOZfg6tBjrNH+621I3GJuHiek4kZERM7443Xja7M7IbSRuVnk/JrfCQ1vMsZFLXzB7DROR8WNiIgYDq6GXQvA4gmdh5udRi6m68vg4QW7F8GeP8xO41RU3IiIiOH3V4yvLe6BSnXMzSIXV6kOxAwy2gtfAJvN3DxORMWNiIjA3iWw7y/w9IFOz5qdRi5Vp2fBNwgSNsKmmWancRoqbkREyjq7/dQMKSC6P1SINDWOFEG5StDxSaO9+BXIyzI3j5NQcSMiUtbtXgQHV4GXH1z1f2ankaK68mEIqgap/8CqT81O4xRU3IiIlGV2+5mxNm0GQ6A2jnU53v7G3lNg7OKeecLcPE5AxY2ISFm27Wc4sgF8ykOHJ81OI8XVvDeENYOcFFjyltlpTKfiRkSkrLJZz6xrc+UjxvgNcU0entD1JaO95nM4sdfcPCZTcSMiUlZt/gGObgO/YGg3xOw0crnqXgd1rgVbHix+2ew0plJxIyJSFlnz4M8xRrvD4+BfwdQ44iBdXwEssGUW/LPW7DSmUXEjIlIWbfjWuHQRUBnaPGh2GnGU8KbGIowAv40yBoyXQSpuRETKGrsdVowz2h2fAN/ypsYRB7tmpDGtP3457JhndhpTqLgRESlr9v0FR7cbM6Ra9TM7jThacDVjgDjAwtHGJcgyRsWNiEhZs/oz42vU/8AvyNwsUjI6PgEBleD4Llg31ew0pc704mbcuHHUqlULPz8/2rZty+rVqy94/vvvv0+DBg3w9/cnMjKSJ598kuzs7FJKKyLi4pLjz1yqaPOAuVmk5PgFQ6dTO7v/+QbkpJmbp5SZWtzMmDGDYcOGMXr0aNatW0dUVBTdunUjKSnpnOdPmzaN4cOHM3r0aLZt28akSZOYMWMGzz33XCknFxFxUWsng90GtTtBlQZmp5GSFN0fKl4BGUdh2YdmpylVphY37777LoMHD2bAgAE0btyYCRMmEBAQwOTJk895/vLly+nQoQP33HMPtWrV4vrrr+fuu+++aG+PiIhgbKoYe+oShXpt3J+XD3R50Wiv+BhSj5gapzSZVtzk5uYSGxtLly5dzoTx8KBLly6sWLHinI9p3749sbGxBcXM3r17mTdvHt27dz/v6+Tk5JCamlroJiJSJm3+EbJOQHAkNLjR7DRSGhrdDNXbQF4m/Pm62WlKjWnFzbFjx7BarYSFhRU6HhYWRkJCwjkfc8899/Dyyy/TsWNHvL29qVOnDp07d77gZakxY8YQHBxccIuMjHTozyEi4hLsdlh9asfo1oOM5frF/VkscP2rRnv915C0zdw8pcT0AcVF8eeff/L666/zySefsG7dOn788Ufmzp3LK6+8ct7HjBgxgpSUlILbwYMHSzGxiIiT+GeNsUGml5+mf5c1NdpCo57GWKuFL5idplR4mfXClStXxtPTk8TExELHExMTCQ8PP+djRo0axX333cf9998PQLNmzcjIyOCBBx5g5MiReHicXav5+vri6+vr+B9ARMSVnJ7+3fQOCKhobhYpfV1egh2/wq7fYO8SuKKT2YlKlGk9Nz4+PkRHR7N48eKCYzabjcWLF9OuXbtzPiYzM/OsAsbT0+hatZfRJaZFRC4qLRG2zDbabQabGkVMUqkOxAw02gtHgc1mbp4SZuplqWHDhjFx4kSmTp3Ktm3bePjhh8nIyGDAgAEA9O3blxEjRhSc37NnT8aPH8/06dPZt28fCxcuZNSoUfTs2bOgyBERkf+InWLsFB3ZFiJamJ1GzNLpWfAJNC5Pbv7e7DQlyrTLUgC9e/fm6NGjvPDCCyQkJNCiRQvmz59fMMg4Pj6+UE/N888/j8Vi4fnnn+fQoUNUqVKFnj178tprr5n1I4iIOLf8XGNtG9D077KuXGVj5eLfX4HFLxszqbz9zE5VIiz2MnY9JzU1leDgYFJSUggK0rLjIuLmNv8A3w+E8mHwxGZj7RMpu3Iz4aNoSDsMXV+BDo+ZneiSFeXz26VmS4mISBGtnmh8jR6gwkbAJwCufd5o//0OZJ4wN08JUXEjIuKujmyE+BXg4WUsxS8CxoapoU0gOwX+esfsNCVCxY2IiLs6Pf278S0QVNXcLOI8PDzh+peN9urP4OR+U+OUBBU3IiLuKPMEbPrOaGsgsfxX3S5wxTXGLLrFL5udxuFU3IiIuKP1X0F+NoQ3N6aAi/xX15cBizHo/FCs2WkcSsWNiIi7sVlhzedGu80Dxv5CIv9Vtbkx/gbgtxeM/cfchIobERF3s3MBJMeDfwg0u8PsNOLMrn3e2G/swFLYOd/sNA6j4kZExN2cHkjcqi94+5ubRZxbcHW48mGjvXC022zLoOJGRMSdHN0Je/8AiwfEDDI7jbiCjk+CXzAc2wE75pqdxiFU3IiIuJM1pxbtq38jhNQ0N4u4Br9gaH2/0V76vluMvVFxIyLiLrJTIW6a0dbu31IUbR8CT184tNZY+NHFqbgREXEXG6ZDbjpUrg9XdDY7jbiS8qHQ4h6jvewDc7M4gIobERF3YLefGUis6d9SHO2HAhZj1lTSNrPTXBYVNyIi7mDvH3B8F/gEnlm7RKQoKtWBRj2N9vKPzM1ymVTciIi4g9O7f7e4B3wDzc0irqvD48bXjTMh5ZC5WS6DihsREVd3cj/s+NVon571IlIc1WOgZkdjz6lV481OU2wqbkREXN2aSYDd2AixSn2z04irO917s3YKZCWbmaTYVNyIiLiy3ExY96XRbvuguVnEPdTrCqGNITcNYr8wO02xqLgREXFlm7+H7GSoUAPqXW92GnEHFgu0f8xorxwP+Tnm5ikGFTciIq7q39O/Ww8GD09z84j7aHo7BFWD9ETYOMPsNEWm4kZExFXFr4SETcauzi37mJ1G3ImXD1z5iNFe9qHLbaip4kZExFWd7rVpdicEVDQ3i7if6H7GvlPHd8GOeWanKRIVNyIirij1CGybY7TbPGBuFnFPvoFnlhZY9r5Lbaip4kZExBXFfgG2fKjRDqo2NzuNuKs2Dxobav6zxrgM6iJU3IiIuJr8XFh7aoquem2kJAWGQYu7jbYLbaip4kZExNVs/QkykqB8+Jm9gERKSrvTG2r+CknbzU5zSVTciIi4mtMDiWMGgqe3uVnE/VWuC41uMtousqGmihsREVdyeD38sxo8vCG6v9lppKzo8ITxdeMMSD1sapRLoeJGRMSVnN79u0kvYzyESGmoHgM1Oxgbaq50/g01VdyIiLiKjOOw6Xuj3Ub7SEkpK9hQ8wvITjE3y0WouBERcRWLXgBrDlRtYfwmLVKa6naFKo2MDTXXOveGmipuRERcwcbvYP3XgAWuf9XY3FCkNHl4QAfX2FBTxY2IiLM7vgd+ecJod3oGal9lahwpw5recWpDzQSn3lBTxY2IiDPLz4HvB0BuujGg8+pnzE4kZZmLbKip4kZExJktfAGObAD/inD75+DpZXYiKeui+4HvqQ01d/5qdppzUnEjIuKsts+FVROM9q0TICjC3DwicGpDzUFG20m3ZFBxIyLijJIPwuxT3f/tHoX63czNI/JvbR8CTx84uMopN9RUcSMi4mys+fDD/ZCdDBGt4LrRZicSKSwwDKKcd0NNFTciIs7mz9fh4ErwDYI7JhuDOEWcTftTG2rumAdHd5idphAVNyIizmTPH/D3u0a75wdQsba5eUTOp3I9aNjDaC//0Nws/6HiRkTEWaQnwY8PAHZjU8ymt5mdSOTCTm+ouWEGpB4xNcq/qbgREXEGNptR2GQkQWhjuOENsxOJXFxka6jR3thQc5XzbKip4kZExBksew/2/gFe/nDHF+Dtb3YikUvjhBtqqrhxJJvV2LVXRKQo4lfB768Z7e5vQ2hDc/OIFEW9640NNXNSnWZDTRU3jrLnD3i/Ocx+yOwkIuJKMk/AD4PAboVmd0LLPmYnEikaJ9xQU8WNowRHQuo/sHuRUw2qEhEnZrfDnKGQchBCakOPd7Xbt7impndAYMSpDTVnmp1GxY3DVK4LNdqB3QYbp5udRkRcweqJsP0X8PCGO78AvyCzE4kUj5cPtDu1ovZy8zfUVHHjSC3uNb6u/8b4jUxE5HyObIDfRhrt61+BiJbm5hG5XK1Obah5bCfsnG9qFBU3jtSkF3gHGDulHlxtdhoRcVY5afDdALDmQoPuxj49Iq7OLwhaDzTaJm/JoOLGkXwDoXEvox33talRRMRJ2e0w9//gxB4Iqga3jNM4G3EfbR+CclWgxpVgzTMthoobRzs902HzLMjNMDeLiDifuGmwcQZYPOH2SRBQ0exEIo4TGA7DtkHXl8DT27QYKm4crWZ7Y9ZDbhpsnWN2GhFxJkd3wLynjPY1I6BmO3PziJQEE4ua01TcOJrFcmZgcdw35mYREeeRl2WMs8nLhNqdoOMwsxOJuC0VNyWhxd2ABfb/DSf2mZ1GRJzBgucgaYsxHuG2ieDhaXYiEbel4qYkBFeHOtcY7Q3fmptFRMy3ZRasnWy0b/0UAsPMzSPi5lTclJSCS1PTTF/MSERMlHEM5pzaWLDjk1D3OnPziJQBKm5KSsObwC/YWFZ93xKz04iIWTbOgJwUCGsK14w0O41ImaDipqR4+xl7bYAGFouUZacvTUf3d4pZJCJlgYqbknR6zZttP0NWsqlRRMQECZshYZOxd1TT281OI1JmqLgpSREtIbQx5GfD5h/MTiMipe10r02DG7RYn0gpUnFTkrTmjUjZZc2HjTONdtTd5mYRKWNU3JS05r3BwwsOxULSNrPTiEhp2fsHZCRBQCWo29XsNCJliunFzbhx46hVqxZ+fn60bduW1asvvJt2cnIyQ4YMoWrVqvj6+lK/fn3mzZtXSmmLoXwVqH+D0V6vzTRFyoy4acbXpneAl4+5WUTKGFOLmxkzZjBs2DBGjx7NunXriIqKolu3biQlJZ3z/NzcXLp27cr+/fv5/vvv2bFjBxMnTqRatWqlnLyITl+a2jjD1F1SRaSUZCXD9rlGu4UuSYmUNi8zX/zdd99l8ODBDBgwAIAJEyYwd+5cJk+ezPDhw886f/LkyZw4cYLly5fj7W1MqaxVq9YFXyMnJ4ecnJyC+6mpqY77AS5Vva7GkusZR2HXQmjYvfQziEjp2foTWHOgSkOo2sLsNCJljmk9N7m5ucTGxtKlS5czYTw86NKlCytWrDjnY+bMmUO7du0YMmQIYWFhNG3alNdffx2r1Xre1xkzZgzBwcEFt8jISIf/LBfl6W2MvQENLBYpC07Pkoq625hYICKlyrTi5tixY1itVsLCCu+xEhYWRkJCwjkfs3fvXr7//nusVivz5s1j1KhRjB07lldfffW8rzNixAhSUlIKbgcPHnToz3HJTq95s3M+pB81J4OIlLwTeyF+BWCB5neZnUakTCpWcZOYmMh9991HREQEXl5eeHp6FrqVFJvNRmhoKJ999hnR0dH07t2bkSNHMmHChPM+xtfXl6CgoEI3U4Q2gmrRYMs3xt6IiHvacOrf9xWdISjC1CgXsvlQCiN+3MS8TUfIzdf+d+JeijXmpn///sTHxzNq1CiqVq2KpRjdrpUrV8bT05PExMRCxxMTEwkPDz/nY6pWrYq3t3ehAqpRo0YkJCSQm5uLj4+Tz0hoca8xJTzuG2g3RN3VIu7Gbj9zSarFPeZmuYDtCancM3Elqdn5fLs6norlfLi1ZTV6t46kflig2fFELluxipulS5fy999/06JFi2K/sI+PD9HR0SxevJhevXoBRs/M4sWLefTRR8/5mA4dOjBt2jRsNhseHkan086dO6latarzFzZgLL++4DlI2gqH10O1VmYnEhFHil8ByQfApzw07GF2mnM6eCKTvpNWk5qdT73Q8qRk5ZGUlsOkpfuYtHQfLSIr8L/WkdwUFUF5X1PnnIgUW7EuS0VGRmK32y/7xYcNG8bEiROZOnUq27Zt4+GHHyYjI6Ng9lTfvn0ZMWJEwfkPP/wwJ06c4PHHH2fnzp3MnTuX119/nSFDhlx2llLhX8HYLRy05o2IOzrda9O4F/iUMzXKuSSlZdNn0iqS0nJoEBbI9w+1Z/nwa5nUL4brG4fh5WEh7mAyw3/cRJvXFvH0dxtYu/+EQ/6/FylNxSrL33//fYYPH86nn3560anYF9K7d2+OHj3KCy+8QEJCAi1atGD+/PkFg4zj4+MLemjAKKoWLFjAk08+SfPmzalWrRqPP/44zz77bLEzlLqWfWDz98at2+vG7uEi4vrysmDLbKMd9T9To5xLSlYe/Sav4cDxTCIr+vPloDYEBxhLalzXKIzrGoVxNC2HH9f9w4y1B9l7NIPvYv/hu9h/uKJKOXrHRHJbq+pUCfQ1+ScRuTiLvRgleUhICJmZmeTn5xMQEFCw5sxpJ06ccFhAR0tNTSU4OJiUlBRzBhfbbPBBc0g5CLdPgmZ3lH4GEXG8Td/DD4MguAY8vgE8TF8AvkBWrpW+k1exZv9JKpf35fuH2lGr8vl7lux2O2sPnGTGmoPM3XiErDxjuQ0vDwvXNgyld+tIOtWvgpen8/yM4v6K8vld7J4bKSYPD2Pti7/eMi5NqbgRcQ8Fa9v0dqrCJs9q49Fp61iz/ySBfl58ObDNBQsbAIvFQutaFWldqyKjezbml41HmLHmIHEHk/ltayK/bU0kLMiX21tV566YyIs+n0hpK1bPjSszvecG4MQ++LAFYIEnNkEFExYWFBHHSUuAdxuB3QZD10GlOmYnAsBms/N/321g1vpD+Hp58PX9bWldq2Kxn29nYhoz1hxk1vpDnMjILTjetnZFbmtVjVY1QriiSnk8PTQTVByvxHtuAKxWK7Nnz2bbNmOn6yZNmnDzzTeX6Do3bqNibah1Fez/GzZMh05Pm51IRC7HxplGYVO9jdMUNna7nVfmbmXW+kN4elgY36fVZRU2APXDAhl1U2OevaEhi7YlMmPNQf7adZRV+06wap8xHMHP24NGVYNoEhFE04hgmlYLpl5YeXy99NkgpadYPTe7d++me/fuHDp0iAYNGgCwY8cOIiMjmTt3LnXqOMc/7nNxip4bgLhvYfZDEFILhq53qm5sESkCux3GtzeWeLjpPYgZaHYiAD5avIuxC3cC8F7vKG5tWb1EXudwchbfx/7DXzuPsvVIKpm5Z2+H4+VhoX5YoFHwVAumSUQQjaoGUc5Npprn5FtJzszjREYuJzNyOZmZx4lMo30iI5eTmcax0/dzrTaaRgQRU6siMTVDiIqsgJ+3ir+LKcrnd7GKm+7du2O32/nmm2+oWNH4TeD48eP06dMHDw8P5s6dW7zkpcBpipvcDHinAeSmQf+5UKujeVlEpPiObIRPrwJPX3hqB/iHmJ2Ir1YeYNTszQCM7tmYAR1ql8rrWm129h/PYMvhVLYcSmHL4VQ2H04hOTPvrHMtFriicjmaRATTtFoQTSKMoqdCgLlrluXm20g+VYycLkz+XbQU3D/1NTkzj/Sc/Mt6TW9PC02rBdO6VkWia4YQUzOESuU1K+2/Sry4KVeuHCtXrqRZs2aFjm/YsIEOHTqQnp5e1KcsNU5T3AD89Cis/wqi7oFbx5ubRUSKZ/4IWPmJsbbNXVPNTsPPGw7z2PT12O3w2HX1GNa1vql57HY7h1Oy2XwopVDBk5iac87zq1Xwp2alAPy9PfHz8cTf27j5eXucdczfxxO/gu+fPuZR6FhmrvVfhUguJzLyChUsJ/7Vq3IyI5e0YhYqnh4WQgK8qRDgQ8UAH0LKeVOxnA8hAadu5XyoWM6bkAAf7MD6+GRiD5xgzf6THE07+724onI5YmqFEFOzIjG1QqhduVyxdgNwJyU+5sbX15e0tLSzjqenp7vGSsHOouV9RnGzdTZ0fwt8tey5iEux5sGm74x21N3mZgGW7DzKsJlx2O1w35U1ebJLPbMjYbFYqFbBn2oV/OnW5MzWOkfTcthy2Ch2Tn89cDyTQ8lZHErOMjGx0atkFCVGgVKhoO1bUKCcKViMYibQzwuPIgykblUjhEEda2O32zl4Ios1+0+w9sBJYg+cYGdiOnuPZbD3WAYz1/4DQKVyPkavTq0QomtWpFm1YHy8NJzhfIrVc9O3b1/WrVvHpEmTaNOmDQCrVq1i8ODBREdHM2XKFEfndBin6rmx2+Hj1nB8F9z8MbS6z9w8IlI0O+bDt72hXBUYtg08vS/+mBISe+AkfT5fRVaelZ5REXzQu0WRPmydQUpWHlsPp5KUlk12npWsXCtZeTay86zG/YJj/71/9jk5pzYDtViggr93QTESEnCqB+V0+z+9KiEBPgT5e5s64ys5M5d18SdZs/8ksftPEvdP8lmbm/p6eRBVvQJX1atM/w61CPQz7+9eaSnxy1LJycn069ePn3/+uWABv/z8fG6++WamTJlCcHBw8ZKXAqcqbgD+fhcWvwSRV8KgBWanEZGimNnP6Hm98hG4YYxpMXYkpHHXpytIycqjU/0qTOwbU+Z/q7fZ7GTnW/H18nT5qek5+VY2H0otuIwVe+Bkoan4lcv78swNDbijVXWXK2iLosSLm9N27drF9u3bAWN37rp16xb3qUqN0xU3qUfgvcbGNNJHY6Gy87+HIgJknYR36oM1Fx78G6o2NyXGwROZ3D5+OUlpObSqUYGv729LgI97zEKSc7Pb7ew9lsHqfSeY+Nde9h7LACCqejCjb25CqxrmD2ovCaVW3LgipytuAL65E3b9Bh2HQZfRZqcRkUuxdjL88iSENoGHlxnXP0rZ0bQc7pywnP3HM2kQFsiMB680fbaRlK7cfBtTl+/ng8W7CmZt3dqyGsNvbEhYkHvtXVgiA4qHDRvGK6+8Qrly5Rg2bNgFz3333Xcv9WkFoMW9RnGz4Vu49nnw0HoHIk4v7tR2Cy3uNqWwSc3Oo9/k1ew/nkn1EGMjTBU2ZY+PlweDr76CXi2r8faC7XwX+w+z1h9iwZYEhlxTl0Eda5fJNXQuubhZv349eXl5BW1xoAY3GmtjpB2BPb9Dva5mJxKRCzm+B/5ZDRYPaHZnqb98dp6V+6esZeuRVCqX9+XrQW3d7rd0KZoqgb68dUcUfa6syYtztrAuPpm3F+xgxpqDjOzRiOsbh5WpqeS6LOUs5j0Dqz91mrUyROQCfn8V/nob6naFPt+X6kvnWW08/HUsi7YlEejnxYwH2tE4won+LxPT2e12foo7zJhftxWsJ9ShbiVG92xC/bCSWXLEZrOz9Ugqf+86xtLdR6kXGsiLNzdx6GsU5fO7WMPpBw4ceM51bjIyMhg40DmWHnc5LfsYX3fMg8wT5mYRkfOz2WDDDKMd9b9Se1m73U5CSjbPfr+RRduS8PXyYFK/1ips5CwWi4VeLavx+/915tFr6uLj5cGy3ce58YO/eXHOFlLOsWJ0cRxJyWLm2oMM/XY9rV9bxE0fLeXN+dtZtvs4i7YlYmbfSbF6bjw9PTly5AihoaGFjh87dozw8HDy8y9vKeqS5LQ9NwATOkLCJrjxLWj7oNlpRORc9v0NU28C3yB4aid4+zv8Jex2O/EnMo3VfA+dWejuWLox/dfTw8Jn90VzXaMwh7+2uJ/445m8Pm8b87ckABAS4M2w6xtwT5saRZomn5GTz8q9x0/1zhxjd1Lh3QjK+Xhy5RWV6FivMlfVq0KdKo5dVbnEVihOTU3Fbrdjt9tJS0vDz+/MNV6r1cq8efPOKnikCFr0gfnPwvqvVdyIOKsN042vTXo5pLDJt9rYeyyDLYdT2HzozGq9adln/5LoYYF6oYE82bWeChu5ZDUqBTDhvmiW7T7Gyz9vZUdiGqNmb+ablQcY3bMJ7epUOufjrDY7mw6l8PfOo/y9+xjr40+SZz3TH+JhgeanFhLsWLcyLWuEOM36SkXqufHw8LhgFWaxWHjppZcYOXKkQ8KVhJLsuXlv4U66NQkvfjdxxnEY2wBsefDQUghvdvHHiEjpyc2Ed+pBbjoMmA812xXp4Tn5VnYmpBuFzKliZntCKtl5trPO9fH0oGFVYyft05tKNgwPwt+n7M18EcfJt9qYtjqesb/tJCXLuDzVvVk4z3VvRPWQAA6eyCwYN7Ns9/GCc06LrOjPVfWqcFXdyrSvU5nggNJbGbnE1rlZsmQJdruda6+9lh9++KFgR3AAHx8fatasSURERPGTl4KSKm5+ijvE49Pj8PXy4LVbm3FHdPXiPdHMvrD1J2j7MNz4hsPyiYgDbJwJPw6GkFrwWNxFp4CfzMhl2Z5jLNt9jA0HU9iZmEa+7ez/csv5eNL4X0VM02rB1A0tj7enc/wWLO7nZEYu7y7cyTerDmCzG9s5hAf7ceB4ZqHzAv28aF+nEh3rVeHqepWpWamcSYlLYRG/AwcOEBkZiYeH6/3DK6niJjkzlydmxPHnjqMA3N2mBqN7Ni76+gI7f4Npd4J/Rfi/HeCldStEnMZXtxrLNXQeAZ2Hn/XtnHwrsQdOGr/57jrG5sMp/Pd/2JAAb6OIqWYUM00jgqhVqZxbL5svzmvbkVRe+nkLK/caE1k8PSy0qlGBjnWr0LFeZaKqB+PlJEV2qa1QnJmZSXx8PLm5uYWON29uzjLkl6IkL0vZbHY++n037y/eid0OzasHM+6eVkRWDLj0J7Hmw3tNID0B7voSGt/i0IwiUkyph41/m3ab0WtT0djReWdiOn/vOsrfu46xet8JsvKshR7WMDyQjnUr07p2RZpWCyYi2K9MrTcizs9ut7Ny7wkyc/NpU7ui027CWWIDik87evQoAwYM4Ndffz3n961W6zmPuzsPDwuPd6lHixoVeHz6ejb+k0LPj5fyfu8WdG5wiQOtPb2M6aXL3je6wFXciDiHjTPBbiO32pXMPeDN34viWLrrGElpOYVOqxLoy1V1K9Px1CDLUC2uJ07OYrGcd1CxqypWcfPEE0+QnJzMqlWr6Ny5M7NmzSIxMZFXX32VsWPHOjqjy+lUvwq/DO3IkG/WseGfFAZMWcNj19bj8evqXVrXc9PbjOJm92JjAKNPEXp+RMShsnKtrN53nMZLp1AFGLW/GTP2bCj4vp+3B21rVzJmjNSrTIOwQPXMiJisWMXN77//zk8//URMTAweHh7UrFmTrl27EhQUxJgxY+jRo4ejc7qc6iEBzHyoHa/8spWvV8bzweJdxB1M5v3eLQgpd5FxNOHNITgSUg7C3j+hYfdSySwiZ8zZcJgZa+JZs/8k9a27+cV3H9l2b+ZZ29K0WhAd6xoDLFvVDCmTe/eIOLNiFTcZGRkF69mEhIRw9OhR6tevT7NmzVi3bp1DA7oyXy9PXu3VjFY1Qnhu1iaW7DzKTR8t5ZN7WxEVWeH8D7RYoGEPWDUBts9VcSNSyiYt3ccrv2wtuN+33HKwwrHIrvz5v5upVN7XxHQicjHFGgLdoEEDduzYAUBUVBSffvophw4dYsKECVStWtWhAd3Bba2qM+uRDtSqFMCh5CzunLCCb1YduPDS1A1OFTQ7fwVb2RzDJGKGyf8qbPq3r8Wix9txp+8qAKp3GqTCRsQFFKu4efzxxzly5AgAo0eP5tdff6VGjRp8+OGHvP766w4N6C4aVQ1iztCOXN84jFyrjZGzNvN/320gK/c8hUvN9uBXATKPw8FVpZpVpKyasmwfL58qbIZeW5fRPRtTN2UFlszjUD4MruhsbkARuSTFuizVp0+fgnZ0dDQHDhxg+/bt1KhRg8qVKzssnLsJ8vPm0/ui+fSvvbw1fzs/rjvE1sOpTOgTTa3K/1kYydMb6t8AG6cbl6ZqtjcntEgZMXX5fl782ShshlxTh2Fd6xsDgzd8a5zQ7E5jNqOIOD2HrMwTEBBAq1atVNhcAovFwkOd6vDN/VdSubwP2xPS6PnRUn47taFZIafH2mz/hbNWAhMRh/lyxX5Gz9kCwMOd6/DU9Q2MwibzBOyYb5zU4h4TE4pIUVzyryHDhg275Cd99913ixWmLGlXpxJzH7uKId+sY+2BkzzwVSwPdarDU9fXP7MaZJ3rwNMXTu6HpK0Q1sTUzCLu6KuVB3jhJ6OweahTHZ7p1uDMVO7NPxh7vYU3078/ERdyycXN+vXrL+k8re9w6cKC/Pj2gSsZM287k5ftY8KSPWw4mMyHd7ekSqAv+JaHOtfAzvmwfZ7+cxVxsK9XHmDU7M0APHj1FTx7Q4PC/4edviQVpV4bEVdyWdsvuKKS3H7hcvyy8TDPfr+RjFwrYUG+jLunFTG1KsK6L2HOUKjaAh5cYnZMEbcxbVU8z83aBMADV1/BiBsbFi5sju6Eca3B4gn/tx3KX+Iq4yJSIkp8+wVxvJuaR9AwPJCHvl7H7qR0/vfZSuqFBRLmWZHJWPA4EsfIqfPJCaiKv7cn/j6e+Hl7Gm1vj4L7Bcd8jK9+/2r7e3vi6+WhDfqkzPt29ZnC5v6Otc8ubMAYzA9Qr6sKGxEXU6zi5pprrrng5afff/+92IHKsrqhgfw0pAPP/rCRXzYeYduRVLZhIdanHq09duKx81e+t15/2a/j5+1xpvD5TwF0pn3qHB9P/LzOfL9SeR9a1gihWgV/B/zEIqVvxpp4RvxoFDYDO9RmZI9GZ/9/Zs2HDaeKm6j/lXJCEblcxSpuWrRoUeh+Xl4ecXFxbN68mX79+jkiV5lVzteLj+5uyZBr6nIsPYesXCv+W2+GLe/wcNg2Ipo/Rnaelew8K1l5VrJyja+F79uM+7lnjuVabQWvkZ1nIzvPBuQVO2dEsB/RtSrSulYI0TVDaBgehKd6hMTJzVxzkOGnCpsBHWox6qZzFDZgDCROPQTlqkD9G0s5pYhcrmIVN++99945j7/44oukp6dfViAxBmU3qvqv64nh98CWd4hIjuXhtpXAv0KRn9NqsxcqgHLyrWTl2oz7p46dq2A6c8womA6ezGTL4VQOp2RzeMNhft5wGIDyvl60rFGB1rUqElMzhBY1KhDgo6ue4jxmrj3Isz9uxG43Vh5+4abG5y5sbDZYeur/uCsfBm/t6i3iahw6oHj37t20adOGEydOOOopHc5ZBxRf1Li2cHQ73PY5NL/T1CiZufnExSez9sBJ1uw/wfr4ZNJz8gud4+lhoUlEENE1QwoKntAgfUiIOb6P/Yenv9+A3Q792tXkxZubnP/S+o758G1v8AmEJzcX65cJEXE80wYUr1ixAj8/fYCViIY9jOJm+y+mFzcBPl60r1uZ9nWNRRutNjvbE1KJPXCSNftPErv/BIdTstn4Twob/0nhi2X7AahRMYCYmiHE1KpITK0Q6lYpr8HNUuJ++Fdhc9+VFyls4EyvTeuBKmxEXFSxipvbbrut0H273c6RI0dYu3Yto0aNckgw+Y8GPeDvsbB7EeTngJfzbN5n9NIE0yQimL7tagFwKDmLtftPFBQ82xNSiT+RSfyJTH5cfwiAhuGBTOwbQ2TFABPTizubtf4fnjpV2PS5sgYv33KRwubAcji40lg888pHSi+oiDhUsYqb4ODgQvc9PDxo0KABL7/8Mtdff/mzeeQcIlpCYFVIOwL7/jKmpzqxahX8qdaiGre0qAZAanYe6+OTid1/grUHTrIu/iTbE9K4bfxyvujfmqbVgi/yjCJFM3v9If5vplHY3Nu2Bi/f3PTii4ye7rVpcQ8Ehpd8SBEpEVrEz5X8MgzWToLo/tDzA7PTXJYjKVkM+GIN2xPSKO/rxfg+rbiqXhWzY4mb+CnuEE/OiMNmh7vb1OC1Xk0vfgk0YTNM6AAWD3h0LVSqUzphReSSFOXz+7I2zly7di1fffUVX331FbGxsZfzVHIpTm+kueNXY0aHC6sa7M/Mh9rR7opKpOfkM+CLNcxa/4/ZscQNzNlwuKCw+V/ryEsrbACWvW98bdxLhY2IiyvWZal//vmHu+++m2XLllGhQgUAkpOTad++PdOnT6d69eqOzCin1boafIMgPREOxUJka7MTXZYgP2+mDGzNU99t5OcNh3lyxgYSUnJ4qNMV2qPMidjtdlKy8jicnM3h5CwOp2RxKDmL4+m5XF2/Cj2bV3WKPy+73c63qw/y/OxN2OzQOyaS129tdmmFzYl9xto2AB2fLNmgIlLiilXc3H///eTl5bFt2zYaNGgAwI4dOxgwYAD3338/8+fPd2hIOcXLxxhrs/kHY9aUixc3AL5ennzQuwXhQb5M/Hsfb87fTkJKFi/0bKJFAUtJdp6VhBSjcDmUnMWRc7Qzc63nfOz3sf8wY008r9zSlCuqlC/l5GfsTkpj5KzNrNpnLENxV0x1xtx2iYUNwPKPwG6Dul2gavMSTCoipaFYY278/f1Zvnw5LVu2LHQ8NjaWq666iszMTIcFdDSXHnMDRmHz/UCoVA+GrjU7jUN9/vdeXp27DYAbmoTz/v9a4OftaXIq95GdZ+WXjUfYcjiFI8nZHE7J4nByFsfScy/p8ZXL+1A12J+ICn5EVPDHw2Lh65UHyMm34ePpwSPX1OGhTnVK9c8sO8/Kx7/v5tO/9pBntePn7cETXerzwFVXXHphk54E7zUFaw70nwu1OpZsaBEplhJf5yYyMpK8vLOX7rdarURERBTnKeVS1e0KHt5wfJexa3GV+mYncpj7r7qCsCA//m/mBuZvSeC+SauY2DeGCgE+ZkdzaSlZeXy98gBfLNvPsfScc57j7+1ZULREBPsbX0/fr+BP1WC/cxYtfdvVZNRPW/hr51HeX7SLOXGHebVX04I1kErSXzuPMuqnzRw4bvwydW3DUF66uUnRlxZYOd4obKq3hpodSiCpiJS2YhU3b7/9NkOHDmXcuHHExMQAxuDixx9/nHfeecehAeU//IKg9tWwZzHsmOtWxQ1Az6gIKpf35YGv1rJm/0numLCCqQPbaKPOYkhIyWbysn1MWxVfsIJ0RLAfPZpXpXpIwJkCJtifCgHexRo3U7NSOaYOaM3cTUd46eet7D2WwT2fr+LWltV4rnsjqgQ6fj2mpNRsXv5lK79sPAJAeJAfL97cmG5Nwov+M2SnwJrPjXbHYeAEY4dE5PIV67JUSEgImZmZ5Ofn4+Vl1Een2+XKlSt0rrNtxeDyl6UA1kyCucOM3zTvX2R2mhKxPSGV/pPXkJCaTViQL1/0b0PjCBf98yplu5PS+HTJXmbHHSLPavzzbhAWyIOdrqBnVATenpc1SfK8UrPzGLtgB1+uPIDdDkF+Xgy/sRH/ax3pkJWorTY736w6wNvzd5CWk4+HBfq3r82w6+tT3reYi60vfQ8WvQhVGsLDK8CjZN4bEbl8Rfn8LlZxM3Xq1Es+19l2CXeL4ib1CLzbELDA/21328XGDidn0f+L1exMTKe8rxef3RddIpc77HY7mw+lMmfDIf7edQyLxYKftwf+3p74e3vi5+NZ0Pb38cTvdNvbo/D9U+f5nWoH+XmXSM/F+cQeOMmEJXtYuDWx4FibWhV5qPMVXNMgtNRmNG38J5nnZm1i86FUAFrVqMBrtzYrvBlsEW0+lMLIWZvY8E8KAM2rB/P6rc0ub/HHvGx4vxlkJEGvCdDi7uI/l4iUuBIvblyZWxQ3ABOvNaaD3/Q+xAwwO02JScnMY/BXa1m97wTenhbeuTOqYNXjy7XnaDpz4oydzfcey3DIc/5XRLBfwV5aMTUr0iA80KGzwOx2O3/sSGLCn3tZvf9ML2nXxmE81KkO0TVDHPZaRZFvtfHligOM/W0HGblWPD0s3N+xNo93qVek3eLTc/J597edTFm+D5sdAn29ePqGBtzbtublv49rJ8MvT0JwJDy2Hjy9L+/5RKRElUpxY7VamT17Ntu2GbNbmjRpws0334ynp3PPbnGb4ubvsbD4ZWOAcZ/vzU5TorLzrPzfzA3M3WSMsXiue0MGX1W8tXAOJ2fx84bDzNlwmC2HUwuO+3p50KVRGN2bVSXI34usXCtZeVay86yn2rb/3D/1/X+1s3JPff9UOz0nH9t//nUF+nrRsmbIqQ1EQ2gRWaFIH/an5Vlt/LzhMJ8u2cuOxDQAvD0t3NqyGg9cfQV1QwOL/JwlISElm5d+3sKvmxMAY1uOl25uQpfGYRd8nN1uZ8GWBF6cs5WE1GwAbmpelVE3NSbMEbvLW/Ph42g4uR9ufAvaPnj5zykiJarEi5vdu3fTvXt3Dh06VGidm8jISObOnUudOs67uqfbFDdJ2+GTtuDpA8/sBV/n+DArKTabnVfmbi3YYXxAh1qM6tH4ksZyHE/PYd7mBH6OO1yod8PLw8JV9Spzc4sIujYOL/64jfPIyMkn7mAya05tILruwEky/rNejJeHhSYRQUTXrEjrWiFE1wohNPD8H96ZuflMX32QSUv3cSg5C4ByPp7ce2VNBnaoTXiwAz74S8Dv2xN54act/HPSyHx94zBevLkJEecYKH7wRCYvztnC4u1JgLGb/Cu9mtKpvgO359j0PfwwCAIqwRObwUebt4o4uxIvbrp3747dbuebb76hYsWKABw/fpw+ffrg4eHB3Llzi5e8FLhNcWO3w0fRcGIP3DkFmtxqdqISZ7fbmfj3Xl6ftx2AHs2qMvauqHNOUU7LzuO3LYnM2XCYpbuPYT3VhWKxQOtaFbmlRQQ3Nq1KxXKlN80832pje0LaqZ3ST7B2/8mCXol/q1kpgOiaIbSuVZGYmiHUqVKe5Kw8pizfz5cr9pOcaSzDULm8LwM61KLPlTUJ9nf+SypZuVY+WLyLz//eS77NToCPJ8O61qd/+1p4eXqQZ7Uxaek+Pli0i6w8K96eFh68ug6PXlvXsWvn2O0w4SpI3ATXjIROzzjuuUWkxJR4cVOuXDlWrlxJs2bNCh3fsGEDHTp0ID09vahPWWrcprgB+G0ULP8Qmt0Jt39udppS81PcIZ76bgN5Vjttaldk4n0xBAd4k51n5c8dSczZcJjF25LIyT+z/1azasHcHBXBTVFVqRrsHNPK7XY7h5KzChU7OxLT+O+/yAqnfrbsPOPnqVkpgAeuvoLbW1V3yUUOdySkMXLWJtYeOAlAo6pBDOpYm4l/nbnE1rZ2RV67tWnJXF7btQi+uR18ysMTmyCgouNfQ0QcrsQX8fP19SUtLe2s4+np6fj4aMG1UtOwh1Hc7PwNrHllZkDkLS2qUaW8Lw9+FcvqfSe489PlNK9egQWbE0g7tZ4LwBVVynFLVDV6RlU1dWuA87FYLFQPCaB6SEDBIOmUrDzWx58sKHjiDiYX9NQ0qxbMQ53qcEPTcJfemqJBeCAzH2zHd7EHGfPrdrYdSeWp7zYAEBLgzcgejbm9VbWSm9219F3ja3R/FTYibqpYPTd9+/Zl3bp1TJo0iTZt2gCwatUqBg8eTHR0NFOmTHF0Todxq54bmxXGNoCMo3DfbKhzjdmJStXWw6n0/2I1SWlnVt2NCPajZ1QEPaMiaBIR5BQbOl6OPKuNLYdT8bAYxY2r/zz/dTw9h9fnbefnDYfp1TKCETc2IqQkLxXGr4LJ1xurfD+xEYK0orqIqyjxy1LJycn079+fn3/+udAifjfffDNTpkwhOPgy1p4oYW5V3ADMGQrrvoTWg6FH2Vsd+p+Tmbz6yzYqB/pwc1Q1YmqGOGTBOCldVpu9dHqjvr0bdsyDlvfBLR+X/OuJiMOUWHFjs9l4++23mTNnDrm5udSoUYN+/fphsVho1KgRdevWvezwJc3tipudC2DaXRBUDZ7couXjRc4naRt8ciVggUfXQOV6ZicSkSIosTE3r732Gi+++CJdunTB39+fefPmERwczOTJky8rsFyG2p3AuxykHoIjcRDR8qIPESmTlr5vfG18swobETdXpI1UvvzySz755BMWLFjA7Nmz+fnnn/nmm2+w2WwXf7CUDG8/qHud0d7uvFPwRUyVHA+bvjPaHZ4wNYqIlLwiFTfx8fF079694H6XLl2wWCwcPnzY4cGkCBreZHxVcSNybss/BrsVrugM1VqZnUZESliRipv8/Hz8/AqvgOrt7U1eXp5DQ0kR1esKFk9I2gon9pqdRsS5ZBwzBt0DdHzS3CwiUiqKVNzY7Xb69+/PbbfdVnDLzs7moYceKnSsqMaNG0etWrXw8/Ojbdu2rF69+pIeN336dCwWC7169Srya7qVgIpQq4PR3j7P3CwizmbVBMjPgohWxhg1EXF7RSpu+vXrR2hoKMHBwQW3Pn36EBERUehYUcyYMYNhw4YxevRo1q1bR1RUFN26dSMpKemCj9u/fz9PPfUUV111VZFez23p0pTI2XLSYPVnRrvjk5pNKFJGFHtXcEdp27YtrVu35uOPjTUnbDYbkZGRDB06lOHDh5/zMVarlauvvpqBAwfy999/k5yczOzZs895bk5ODjk5ZxZ5S01NJTIy0n2mgp+WHA/vNwOLBzy1C8pVNjuRiPmWfwS/PQ+V6sGQ1eBRpN/nRMSJFGUquKn/0nNzc4mNjaVLly4Fxzw8POjSpQsrVqw47+NefvllQkNDGTRo0EVfY8yYMYV6lSIjIx2S3elUqAHhzcFug53zzU4jYr78HFgxzmh3eFyFjUgZYuq/9mPHjmG1WgkLCyt0PCwsjISEhHM+ZunSpUyaNImJEyde0muMGDGClJSUgtvBgwcvO7fT0qUpkTM2TIe0IxAYAc17m51GREqRS/0qk5aWxn333cfEiROpXPnSLrv4+voSFBRU6Oa2Gp6apr/nD8jNNDeLiJlsVlj2gdFu/yh4aUNfkbKkWLuCO0rlypXx9PQkMTGx0PHExETCw8PPOn/Pnj3s37+fnj17Fhw7vYCgl5cXO3bsoE6dOiUb2pmFNTUuTyXHw57fodFNZicSMce2n+HEHvAPgVb9zE4jIqXM1J4bHx8foqOjWbx4ccExm83G4sWLadeu3VnnN2zYkE2bNhEXF1dwu/nmm7nmmmuIi4tz3/E0l8pi0aUpEbsdlr5ntNs8CL7lzc0jIqXO1J4bgGHDhtGvXz9iYmJo06YN77//PhkZGQwYMACAvn37Uq1aNcaMGYOfnx9NmzYt9PgKFSoAnHW8zGrYA1Z+YgwqtuaDp+l/xCKla++fxj5r3gHQ5gGz04iICUz/5OvduzdHjx7lhRdeICEhgRYtWjB//vyCQcbx8fF4aJbDpYu80uiKzzoBB1dCrY5mJxIpXUvfNb626gflKpmbRURMYfo6N6WtKPPkXdash2HDNLjyEbhhjNlpRErPP7Hw+bXg4QWPxUGFMn6pWsSNuMw6N1JCGvYwvm6fa4w/ECkL7Hb441Wj3by3ChuRMkzFjTuqcw14+UHyAUjcYnYakdKxYpwxS9DTVxtkipRxKm7ckU85qHOt0dasKSkLDsXCoheN9g1joHI9U+OIiLlU3Lir05emdqi4ETeXnQLfDQBbHjS+BWIGmp1IREym4sZd1b/B2ETzyAZIduMtJ6Rss9vh58eNS7AVakDPD7Xzt4iouHFb5Sob08IBdswzN4tISYmdAltmGbOj7vgC/CuYnUhEnICKG3f271lTIu4mcQvMH260r3sBqseYm0dEnIaKG3d2eiPN/Ush66S5WUQcKTfDGGeTnw11u0K7oWYnEhEnouLGnVW8AkIbg90Kyz7UmjfiPn59Bo7tgPLhcOsE0CrmIvIv+h/B3bV90Pi69F347XkVOOL6Nn4H678GLHD7RGN8mYjIv6i4cXfR/aHbqS0YVnwMPz1qbKgp4oqO74FfnjDanZ6B2lebGkdEnJOKm7Kg3SPQazxYPCHua/iuH+Rlm51KpGjyc+D7AZCbDjU7wNXPmJ1IRJyUipuyosU9cNeX4OkD23+BaXdBTprZqUQu3cIXjHWb/CvC7Z+Dp5fZiUTESam4KUsa3QT3fg8+5WHfEvjyFsg8YXYqkYvbPhdWTTDat06AoAhz84iIU1NxU9Zc0Qn6zTF++z0UC1/cCKmHzU4lcn7JB2H2I0a73aNQv5u5eUTE6am4KYuqRcOAXyEwAo5uh8ndjIGaIs7Gmg8/3A/ZyRDRCq4bbXYiEXEBKm7KqtCGMGiBsRZOcjxMvgESNpmdSqSwP1+HgyvBNwjumAxePmYnEhEXoOKmLKtQAwYugPBmkJEEX/SA+JVmpxIx7PkD/n7XaPf8ACrWNjePiLgMFTdlXflQ6PcL1GgHOSnwZS/YtcjsVFLWpSfBjw8AdmOtpqa3mZ1IRFyIihsxdlLu86OxR09+Fnz7P9j8g9mppKyy2YzCJiPJ2D7khjfMTiQiLkbFjRh8AuB/06Dp7WDLg+8HwdrJZqeSsmjZ+7D3D/Dyhzu+AG9/sxOJiItRcSNnePnAbRMhZhBgh1+eNMY8aD8qKS3xq+D3V41297eNge8iIkWk4kYK8/CEHmPhqqeM+4tfMlaGVYEjJS3zBPwwyNjFvtmd0LKP2YlExEWpuJGzWSxw3Si4/jXj/vIPYc5QsFnNzSXuy243/o6lHDSWJ7jpPePvoYhIMai4kfNr/yjc/DFYPGD9V/Bdf2PzQhFHWz3R2PPM08cYZ+MbaHYiEXFhKm7kwlrdB3dONT50ts2Bab1V4IhjJWyC30Ya7a6vQEQLU+OIiOtTcSMX1/hmuPc78C5nzGI5PeBTxBF+fw2suVD/Rmj7oNlpRMQNqLiRS3NFZ7j9c6O9/CPYv9TUOOImTuyDnfON9vWvaJyNiDiEihu5dA27Q6u+gB1mPQTZKWYnEle3dhJghzrXQuV6ZqcRETeh4kaKptsYCKltzGqZ97TZacSV5WbCuq+MdhtdjhIRx1FxI0XjWx5u+8yYQbVxBmz+0exE4qo2fQfZyVChJtTranYaEXEjKm6k6CLbwFX/Z7R/eRJSD5ubR1yP3W5M/wZoM9hYPFJExEFU3EjxdHoWIloav3nPfsTY7FDkUsWvgMRNxv5RLe41O42IuBkVN1I8nt7GPlRe/sb08NWfmZ1IXMnpvy/N74SAiuZmERG3o+JGiq9yPWP6LsCi0ZC03dw84hpSD8PWOUa7zQPmZhERt6TiRi5P6/uhbhfIz4YfB0N+rtmJxNmt/cLYHLNGewhvZnYaEXFDKm7k8lgscMs48K8ICRvhzzFmJxJnlp8DsV8Y7bbqtRGRkqHiRi5fYDj0/MBoL3sfDqwwNY44sa0/QcZRCIyAhjeZnUZE3JSKG3GMxjdD1D1gt8GsByA71exE4oxODySOGWgMShcRKQEqbsRxbnwTKtSA5HiYP8LsNOJsDq2Df9aAhzdE9zM7jYi4MRU34jh+QXDrp4AF4r4+MyNGBM4s2tfkVigfam4WEXFrKm7EsWq2h45PGO2fH4e0RFPjiJPIOAabfzDabbWPlIiULBU34nidnzOm+GadgJ+GGEvtS9m2bipYc4xVratFm51GRNycihtxPC8fY/ViT1/YvRDWTjI7kZjJmg9rJhvtNg8ayweIiJQgFTdSMkIbQdeXjPaC5+HYLnPziHl2zIPUfyCgkjHeRkSkhKm4kZLT5kG4ojPkZ8GPD4A1z+xEYobT079b9QNvP3OziEiZoOJGSo6HB9zyCfgFw+F18NfbZieS0pa4Ffb/DRYPaD3I7DQiUkaouJGSFVwNbnrPaP/1DhxcY24eKV1rTk3/btgDgqubm0VEygwVN1Lymt4Oze4yNkv8cTDkpJudSEpDVjJsmG6022j6t4iUHhU3Ujq6vw1B1eHkPvhtpNlppDTETYO8TAhtDLU6mp1GRMoQFTdSOvwrwK3jAQvEToEdv5ocSEqUzXbmklSbwZr+LSKlSsWNlJ7aV0O7IUZ7zlBIP2puHik5exbDib3gG2xckhQRKUUqbqR0XfcChDaBjKPG9gzink5P/255L/iWNzeLiJQ5Km6kdHn5wu0TwcMLdsw1pgqLezm+B3YtNNqt7zc3i4iUSSpupPSFNYH6NxjtuG/MzSKOt2YSYIe6XaFSHbPTiEgZpOJGzNGyj/F1w3StXOxOcjNg/ddGW7t/i4hJVNyIOep2hXKhkHkMdi4wO404ysYZkJMCFa+AOteZnUZEyigVN2IOTy+I6m20dWnKPdjtsPrU9O/Wg43tN0RETKD/fcQ8LU5dmtq5ANKTzM0il2//UkjaCt4B0OIes9OISBmm4kbME9oQqsUY2zJsnGF2Grlcp6d/N+9tLNooImISFTdirpb3Gl/Xf21c1hDXlPIPbJ9rtNs8YG4WESnznKK4GTduHLVq1cLPz4+2bduyevXq8547ceJErrrqKkJCQggJCaFLly4XPF+cXNPbwcsPjm6HQ+vMTiPFtXay0QNX6yoIa2x2GhEp40wvbmbMmMGwYcMYPXo069atIyoqim7dupGUdO4xGH/++Sd33303f/zxBytWrCAyMpLrr7+eQ4cOlXJycQi/YGjU02jHfW1uFimevGxjvzBQr42IOAWL3W7utYC2bdvSunVrPv74YwBsNhuRkZEMHTqU4cOHX/TxVquVkJAQPv74Y/r27XvR81NTUwkODiYlJYWgoKDLzi8OsPdP+PIWYx+ip3aAt7/ZiaQo4r6F2Q9BUDV4fKMxE05ExMGK8vltas9Nbm4usbGxdOnSpeCYh4cHXbp0YcWKFZf0HJmZmeTl5VGxYsVzfj8nJ4fU1NRCN3Eyta6G4BrG+ijbfjE7jRTV6YHEMQNV2IiIUzC1uDl27BhWq5WwsLBCx8PCwkhISLik53j22WeJiIgoVCD925gxYwgODi64RUZGXnZucTAPD2hxt9HWpSnX8s9aOLwOPH0gur/ZaUREACcYc3M53njjDaZPn86sWbPw8/M75zkjRowgJSWl4Hbw4MFSTimX5PS6KHuXQLL+jFzG6V6bprdDucrmZhEROcXU4qZy5cp4enqSmJhY6HhiYiLh4eEXfOw777zDG2+8wW+//Ubz5s3Pe56vry9BQUGFbuKEQmoZM22ww4ZvzU4jlyI9CbbMMtoaSCwiTsTU4sbHx4fo6GgWL15ccMxms7F48WLatWt33se99dZbvPLKK8yfP5+YmJjSiCql4fRmmuu/BpvN3CxycbFTwZprLMRYrZXZaURECph+WWrYsGFMnDiRqVOnsm3bNh5++GEyMjIYMGAAAH379mXEiBEF57/55puMGjWKyZMnU6tWLRISEkhISCA9Pd2sH0EcpdHN4BMIyQfgwDKz08iFWPOMtW1Au3+LiNMxvbjp3bs377zzDi+88AItWrQgLi6O+fPnFwwyjo+P58iRIwXnjx8/ntzcXO644w6qVq1acHvnnXfM+hHEUXwCoOltRlubaTq3v96GtMNQrgo0vsXsNCIihZi+zk1p0zo3Tu7gapjU1dh88f92gJ/+jJzOqs/g16eNds8PIbqfuXlEpExwmXVuRM5SvTVUqgd5mWcGq4rz2PjdmcKm83MqbETEKam4EedisZzZTFOXppzLzt+MlYgB2jwInZ4xN4+IyHmouBHnE3U3WDzh4Co4tsvsNAIQvxJm9gVbPjS7E254wyhERUSckIobcT6B4VD31IrT6r0xX8JmmHYX5GdB3a7Qa7yxqrSIiJPS/1DinAouTX0L1nxzs5RlJ/bB17dBdgpEXgl3fQme3manEhG5IBU34pzq3wj+FSE9Afb8bnaasiktEb7qBemJENoE7pluTNcXEXFyKm7EOXn5QPPeRlubaZa+rGSjx+bkfmNrjPt+BP8Qk0OJiFwaFTfivE5fmto+DzKOm5ulLMnNhGm9IXEzlA+D+2Yb46BERFyEihtxXuHNILw52PJg03dmpykbrHnwXT84uBJ8g6HPj1CxttmpRESKRMWNOLfTm2nq0lTJs9lg9iOw6zfw8od7ZkB4U7NTiYgUmYobcW7N7gRPH0jYBEc2mp3GfdntMH84bJoJHl7GrKia7cxOJSJSLCpuxLkFVIQG3Y221rwpOUvegtWfGu1eE6D+9ebmERG5DCpuxPmdvjS1cQbk55ibxR2tngh/vm60b3wLmt9pbh4Rkcuk4kacX51rIbAqZJ2EHb+anca9bPoe5p3aCLPTcGj7oLl5REQcQMWNOD8PT2O/KdClKUfatQhmPQjYofVg6Dzc7EQiIg6h4kZcQ4tTa97sXgSpR8zN4g7iV8GMPsZGmE3vMC5HaSNMEXETKm7ENVSua+xtZLfBhm/NTuPaErfAtDu1EaaIuC39jyauo2AzzW+MqctSdCf2wVenN8Jsa0z59vIxO5WIiEOpuBHX0eRW8A6A47vh4Gqz07ie5PhTG2EmQGhjY5E+bYQpIm5IxY24Dt9AaNzLaGvF4qI5ugMmdTM2wqxQ09hWQRthioibUnEjruX0panNP0JuhrlZXMWhdTD5Bkg7DJUbwMD5EFTV7FQiIiVGxY24lpodIKQ25KbD1jlmp3F++/6CqT0h6wREtIIBv0JQhNmpRERKlIobcS0Wy5lp4Vrz5sK2z4Wv7zAKwdpXQ785UK6S2alEREqcihtxPS3uBiyw/29j9o+cLW4azLgPrDnQ8Ca45ztjzJKISBmg4kZcT3B1uKKz0Y6bZmoUp7RyPMx+GOxWo5frzqng7Wd2KhGRUqPiRlzT6c00N3wLNpu5WZyF3Q6/vwbzT22jcOUQuPlj8PQyN5eISClTcSOuqeFN4BcMKQdh3xKz05jPZjM2wPzrLeP+tc9Dt9e08rCIlEn6n09ck7efsScSaGCxNQ9mPQBrJgIW6P4OXP209ooSkTJLxY24rtNr3mz7GbKSTY1imrwsmH4vbPoOPLzg9s+hzWCzU4mImErFjbiuiFbGNgL52bD5B7PTlL7sFGOfqF0LwMsP/jcNmt1hdioREdOpuBHX9e81bxa+AEvfh/wcUyOVmvSjMOUmiF8OvkFw3yyo383sVCIiTkHFjbi2Vn2N3a1z02HRaPjkStgx3713DU8+CF/cAAkbIaAy9P8FarY3O5WIiNNQcSOuzS8IBsyHWz6BcqFwYi982xu+vh2O7jQ7neMd3QmTuxk7owdHwsAFUDXK7FQiIk5FxY24Pg8PY3Dx0Fjo8Dh4eMOexTC+Hcx/zn0GGx9aZ/TYpB6CyvWNwqZyXbNTiYg4HRU34j78gqDryzBkFdS/EWz5sHIcfBQNsVPAZjU7YfHt+9vYADPzOES0NHqrgquZnUpExCmpuBH3U6kO3DMd+vxg9HBkHoOfH4fPOsOBFWanK7qtc4zLbLnpUOsq6PezNsAUEbkAFTfivup2gYeXQ7cx4BtsDMD94gb4fiCk/GN2uovLOgmzHoaZpzbAbNAD7v1eG2CKiFyEihtxb57e0O4RYzxOq36AxVgT56MY+PNNYxE8Z7R9LoxrCxumARZjn6i7vtQGmCIil8Bit7vznNmzpaamEhwcTEpKCkFBQWbHkdJ2ZAP8+izEn7o8FVwDrn8FGt/iHNsVZByHX58+syhhpbpwyziocaW5uURETFaUz2/13EjZUjUKBvwKd0yGoOqQEg/f9TMG6yZsNjfbllkwro1R2Fg8jJlfDy1VYSMiUkTquZGyKzcTlr0Pyz4wtnCweEB0f7jq/yC4eunlSE+Cuf8H2+YY96s0gl7joFp06WUQEXFyRfn8VnEjkhwPv42CrbNPHbBA3eug5X3QoDt4+ZTM69rtsHEmzH/WGDzs4WUUVlf9H3j5lsxrioi4KBU3F6DiRs5r/1L48w3Y//eZYwGVoPn/oNV9ENrIca+Vehh+eRJ2zjfuhzc3xtZUbe641xARcSMqbi5AxY1c1PE9sP5riJsG6QlnjleLMYqcprcXfzq23W4894KRkJMCnj7Q6Rno8IQxs0tERM5Jxc0FqLiRS2bNh92LYP1XRg+LLd847h0ATW49s2nnpc6ySo43FhPc87txv1q00VvjyB4hERE3peLmAlTcSLGkJ8GGb2HdV3B815njleoZvTlRd0P50HM/1maD2MmwcLSxyrCXH1wzEq58BDy9Sie/iIiLU3FzASpu5LLY7XBwlVHkbPkR8jKN4x5eUP8GYxBy3S5nipYTe2HOY2fG8UReafTWaMNLEZEiUXFzASpuxGGyU40CZ91XcGjtmeOBVY2eHP8KxgDlvEzjUtZ1o6HNA8Yu5iIiUiQqbi5AxY2UiKRtRpGzcbqxc/e/1boKbv4IKtY2J5uIiBtQcXMBKm6kROXnwo55xiDkxK3Q6Wlo1V+9NSIil6kon98azSjiSF4+0KSXcRMREVPo10kRERFxKypuRERExK2ouBERERG3ouJGRERE3IqKGxEREXErKm5ERETErai4EREREbei4kZERETcioobERERcSsqbkRERMStqLgRERERt+IUxc24ceOoVasWfn5+tG3bltWrV1/w/O+++46GDRvi5+dHs2bNmDdvXiklFREREWdnenEzY8YMhg0bxujRo1m3bh1RUVF069aNpKSkc56/fPly7r77bgYNGsT69evp1asXvXr1YvPmzaWcXERERJyRxW63280M0LZtW1q3bs3HH38MgM1mIzIykqFDhzJ8+PCzzu/duzcZGRn88ssvBceuvPJKWrRowYQJEy76ekXZMl1EREScQ1E+v71KKdM55ebmEhsby4gRIwqOeXh40KVLF1asWHHOx6xYsYJhw4YVOtatWzdmz559zvNzcnLIyckpuJ+SkgIYb5KIiIi4htOf25fSJ2NqcXPs2DGsVithYWGFjoeFhbF9+/ZzPiYhIeGc5yckJJzz/DFjxvDSSy+ddTwyMrKYqUVERMQsaWlpBAcHX/AcU4ub0jBixIhCPT02m40TJ05QqVIlLBaLQ18rNTWVyMhIDh48qEte56D35/z03lyY3p8L0/tzYXp/zs+V3hu73U5aWhoREREXPdfU4qZy5cp4enqSmJhY6HhiYiLh4eHnfEx4eHiRzvf19cXX17fQsQoVKhQ/9CUICgpy+r8kZtL7c356by5M78+F6f25ML0/5+cq783FemxOM3W2lI+PD9HR0SxevLjgmM1mY/HixbRr1+6cj2nXrl2h8wEWLlx43vNFRESkbDH9stSwYcPo168fMTExtGnThvfff5+MjAwGDBgAQN++falWrRpjxowB4PHHH6dTp06MHTuWHj16MH36dNauXctnn31m5o8hIiIiTsL04qZ3794cPXqUF154gYSEBFq0aMH8+fMLBg3Hx8fj4XGmg6l9+/ZMmzaN559/nueee4569eoxe/ZsmjZtataPUMDX15fRo0efdRlMDHp/zk/vzYXp/bkwvT8Xpvfn/Nz1vTF9nRsRERERRzJ9hWIRERERR1JxIyIiIm5FxY2IiIi4FRU3IiIi4lZU3DjIuHHjqFWrFn5+frRt25bVq1ebHclp/PXXX/Ts2ZOIiAgsFst59wEri8aMGUPr1q0JDAwkNDSUXr16sWPHDrNjOY3x48fTvHnzggXG2rVrx6+//mp2LKf0xhtvYLFYeOKJJ8yO4hRefPFFLBZLoVvDhg3NjuVUDh06RJ8+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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "population_init_X = [result.measurement_counts['0']/nb_shots for result in b_X.results()]\n", "plt.plot(thetas, population_init_X, label=\"Init along X\")\n", "\n", "population_init_Y = [result.measurement_counts['0']/nb_shots for result in b_Y.results()]\n", "plt.plot(thetas, population_init_Y, label=\"Init along Y\")\n", "\n", "plt.xlabel(\"Angle (rad)\")\n", "plt.ylabel(\"Population\")\n", "plt.legend()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We observe that applying $U(\\theta, 0, 0)$ after initializing the qubit along the X axis does not seem to change the qubit state. On the other hand, the qubit undergoes a rotation of period $2\\pi$ if initialized on the Y axis. This indicates that we have construct an $R_X$ gate.\n", "\n", "The fidelity of the gate is noticibly low. This is mainly due to the $\\pi/2$ pulse characterization that is too simplistic. To go further, we could switch to DragGaussianWaveform that suppresses excitations in the second excited state during driving and implement a better calibration scheme that would optimize the detuning, phase and length of pulse and limit the impact of SPAM errors." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Construct a Hadamard gate with a single pulse\n", "A trade-off to the previous construct is that any gate will have the same duration, i.e., the duration equivalent to a π-equivalent which is longest optimal duration for a 1-qubit gate. If you were able to use a single π/2-pulse, you would theoretically improve your gate duration and fidelity. In particular, let’s see that this decomposition is not the most performant for the Hadamard gate.\n", "\n", "The Hadamard gate is describable by a single rotation using the $U_2$ decomposition. \n", "\n", "$$ U(π/2,ϕ,λ)=U_2 (ϕ,λ)=R_Z (ϕ+π/2) R_X (π/2) R_Z (λ-π/2) $$\n", "\n", "Identifying that the Hadamard gate is given by $U_2(0, \\pi)$, we can write a sequence directly from this decomposition as the following pulse sequence:" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "single_x90_sequence = ( \n", " PulseSequence()\n", " .shift_phase(drive_frame, lambda_ - np.pi/2)\n", " .play(drive_frame, x90)\n", " .shift_phase(drive_frame, phi + np.pi/2)\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can visualize that we have only a single pulse." ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "image/png": "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T/DHH3/g9u3biI2NxauvvoqEhAS89tprtX58REREVDfp9CDyc+fO4fnnn1e+Dg4OBgAEBgYiIiICycnJyjAFAI0bN8bBgwfxzjvvwNPTE02bNsXo0aPx2WefKds8evQIr7/+OlJSUtCkSRN069YNJ0+eRPv27WvvwIiIiKhOkwiCIGi7iPomJycH5ubmyM7O5uU8IiIiHSHm+1unL+ERERERaQMDFBEREZFIDFBEREREIjFAEREREYnEAEVEREQkEgMUERERkUgMUEREREQiMUARERERicQARURERCQSAxQRERGRSAxQRERERCIxQBERERGJxABFREREJBIDFBEREZFIDFBEREREIjFAEREREYnEAEVEREQkEgMUERERkUgMUEREREQiMUARERERicQARURERCQSAxQRERGRSAxQRERERCIxQBERERGJxABFREREJJJOB6hjx47B398fDg4OkEgkiIyMfOo2RUVF+Oijj9CiRQsYGhrC2dkZ4eHhKm12796Ntm3bwsjICJ06dcK+ffs0dARERESki3Q6QOXn56NLly5YvXq12tuMHj0aUVFR2LRpE65du4bt27ejTZs2yvdPnjyJsWPHYsqUKTh//jwCAgIQEBCAixcvauIQiIiISAdJBEEQtF1ETZBIJNi7dy8CAgIqbbN//36MGTMGt2/fhqWlZYVtXnnlFeTn5+PXX39VruvRowfc3d2xbt06tWrJycmBubk5srOzYWZmJuo4iIiISDvEfH/r9BkosX755Rd4enpi+fLlcHR0hJubG+bMmYPHjx8r20RHR8PX11dlOz8/P0RHR1fab1FREXJyclQWIiIiqr/0tF1Abbp9+zaOHz8OIyMj7N27F+np6Zg2bRoyMjKwefNmAEBKSgpsbW1VtrO1tUVKSkql/YaEhGDx4sUarZ2IiIjqjgZ1BkqhUEAikeD777+Hl5cXhgwZgtDQUGzZskXlLJRY8+bNQ3Z2tnJJSkqqwaqJiIiormlQZ6Ds7e3h6OgIc3Nz5bp27dpBEATcu3cPrq6usLOzQ2pqqsp2qampsLOzq7RfQ0NDGBoaaqxuIiIiqlsa1BmoXr164cGDB8jLy1Ouu379OqRSKZo1awYA8PHxQVRUlMp2Bw8ehI+PT63WSkRERHVXtQPUrVu38PHHH2Ps2LFIS0sDAPz++++4dOlSjRX3NHl5eYiL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7ru4f/8+TExM0LlzZ/z5558qfdy7dw9jx45FRkYGrK2t0bt3b5w6dQrW1ta1ckxERERU94kaRB4UFKRWu82bN1e7oPpAzCA0IiIiqhvEfH+LOgPV0IMREREREVDNZ+ERERERNWQMUEREREQiMUARERERicQARURERCQSAxQRERGRSAxQRERERCIxQBERERGJxABFREREJBIDFBEREZFIDFBEREREIjFAEREREYnEAEVEREQkEgMUERERkUgMUEREREQiMUARERERicQARURERCQSAxQRERGRSAxQRERERCIxQBERERGJxABFREREJBIDFBEREZFIDFBEREREIjFAEREREYmk0wHq2LFj8Pf3h4ODAyQSCSIjI6tsf+TIEUgkknJLSkqKSrvVq1fD2dkZRkZG8Pb2xpkzZzR4FERERKRrdDpA5efno0uXLli9erWo7a5du4bk5GTlYmNjo3xv586dCA4OxsKFCxEbG4suXbrAz88PaWlpNV0+ERER6Sg9bRfwLAYPHozBgweL3s7GxgYWFhYVvhcaGorXX38dQUFBAIB169bht99+Q3h4OObOnfss5RIREVE9odNnoKrL3d0d9vb2GDhwIE6cOKFcX1xcjJiYGPj6+irXSaVS+Pr6Ijo6WhulEhERUR3UoAKUvb091q1bh59++gk//fQTnJyc0K9fP8TGxgIA0tPTIZfLYWtrq7Kdra1tuXFS/1ZUVIScnByVhYiIiOovnb6EJ1abNm3Qpk0b5euePXvi1q1b+Oqrr7Bt27Zq9xsSEoLFixfXRIlERESkAxrUGaiKeHl54ebNmwAAKysryGQypKamqrRJTU2FnZ1dpX3MmzcP2dnZyiUpKUmjNRMREZF2NfgAFRcXB3t7ewCAgYEBunXrhqioKOX7CoUCUVFR8PHxqbQPQ0NDmJmZqSxERERUf+n0Jby8vDzl2SMAuHPnDuLi4mBpaYnmzZtj3rx5uH//PrZu3QoACAsLQ8uWLdGhQwcUFhZi48aNOHToEP744w9lH8HBwQgMDISnpye8vLwQFhaG/Px85V15RERERDodoM6dO4fnn39e+To4OBgAEBgYiIiICCQnJyMxMVH5fnFxMd59913cv38fJiYm6Ny5M/7880+VPl555RU8fPgQCxYsQEpKCtzd3bF///5yA8uJiIio4ZIIgiBou4j6JicnB+bm5sjO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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "data = single_x90_sequence(phi=0, lambda_=np.pi).to_time_trace()\n", "for frame_id in data.amplitudes:\n", " f, ax = plt.subplots(nrows=3, sharex=True)\n", " f.subplots_adjust(hspace=0)\n", "\n", " ax[0].set_title(frame_id)\n", " ax[0].plot(data.amplitudes[frame_id].times(), np.real(data.amplitudes[frame_id].values()), label=\"Real\")\n", " ax[0].plot(data.amplitudes[frame_id].times(), np.imag(data.amplitudes[frame_id].values()), label=\"Imag\")\n", " ax[0].set_ylabel(\"Amplitude\\n(a. u.)\")\n", " ax[0].tick_params('x', labelbottom=False)\n", "\n", " ax[1].plot(data.frequencies[frame_id].times(), np.array(data.frequencies[frame_id].values())*1e-9)\n", " ax[1].set_ylabel(\"Frequency\\n(GHz)\")\n", " ax[1].tick_params('x', labelbottom=False)\n", "\n", " ax[2].plot(data.phases[frame_id].times(), data.phases[frame_id].values())\n", " ax[2].set_xlabel(\"Time (s)\")\n", " ax[2].set_ylabel(\"Phase\\n(rad)\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "You can register this gate with the subroutine decorated as follow. Executing the gate indicates that we have created an equal-weigth superposition of $|0\\rangle$ and $|1\\rangle$." ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Counter({'0': 517, '1': 483})\n" ] } ], "source": [ "@circuit.subroutine(register=True)\n", "def short_h_4():\n", " return (\n", " Circuit()\n", " .pulse_gate(\n", " [qubit], \n", " pulse_sequence=single_x90_sequence(phi=0, lambda_=np.pi)\n", " )\n", " )\n", "\n", "circ = Circuit().short_h_4()\n", "print(device.run(circ, shots=1000).result().measurement_counts)" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Task Summary\n", "{'arn:aws:braket:us-west-1::device/qpu/rigetti/Aspen-M-3': {'shots': 63000, 'tasks': {'COMPLETED': 88}}}\n", "Note: Charges shown are estimates based on your Amazon Braket simulator and quantum processing unit (QPU) task usage. Estimated charges shown may differ from your actual charges. Estimated charges do not factor in any discounts or credits, and you may experience additional charges based on your use of other services such as Amazon Elastic Compute Cloud (Amazon EC2).\n", "Estimated cost to run this example: 48.450 USD\n" ] } ], "source": [ "print(\"Task Summary\")\n", "print(t.quantum_tasks_statistics())\n", "print('Note: Charges shown are estimates based on your Amazon Braket simulator and quantum processing unit (QPU) task usage. Estimated charges shown may differ from your actual charges. Estimated charges do not factor in any discounts or credits, and you may experience additional charges based on your use of other services such as Amazon Elastic Compute Cloud (Amazon EC2).')\n", "print(f\"Estimated cost to run this example: {t.qpu_tasks_cost() + t.simulator_tasks_cost():.3f} USD\")" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3.9.14", "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.9.15" }, "orig_nbformat": 4, "vscode": { "interpreter": { "hash": "e8fe7b1d737818ec041fd05b4c8bbd1804e351a931e38c7cd860a34c69554183" } } }, "nbformat": 4, "nbformat_minor": 2 }