diff --git a/algorithms/gradient_estimation/Gradient Estimation.ipynb b/algorithms/gradient_estimation/Gradient Estimation.ipynb
new file mode 100644
index 000000000..fc514e5cc
--- /dev/null
+++ b/algorithms/gradient_estimation/Gradient Estimation.ipynb
@@ -0,0 +1,2289 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "id": "8040b1be",
+ "metadata": {},
+ "source": [
+ "# Initialization"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "9beb3b70",
+ "metadata": {},
+ "source": [
+ "Always run those cells before using the notebook, it import needed packages and initialize helper functions."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "id": "f8d11d1a",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "from classiq import *\n",
+ "from typing import List\n",
+ "import numpy as np\n",
+ "import pandas as pd\n",
+ "from dataclasses import dataclass\n",
+ "from matplotlib import pyplot as plt\n",
+ "import matplotlib\n",
+ "# %matplotlib widget"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "id": "2d6c8e39",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "@dataclass\n",
+ "class params:\n",
+ " # Algorithm parameters\n",
+ " l = 0.5\n",
+ " m = 2\n",
+ " n = 3\n",
+ " n0 = 3\n",
+ "\n",
+ " @property\n",
+ " def N(self):\n",
+ " return 2**self.n\n",
+ "\n",
+ " @property\n",
+ " def N0(self):\n",
+ " return 2**self.n0\n",
+ "\n",
+ " # Function parameters\n",
+ " f = None\n",
+ " f_prams = None\n",
+ " f_name = None\n",
+ "\n",
+ " def set_function(self, f, f_prams):\n",
+ " self.f_prams = f_prams\n",
+ "\n",
+ " # Allow passing by name, e.g. \"linear\" or \"quadratic\"\n",
+ " if isinstance(f, str):\n",
+ " self.f_name = f\n",
+ " self.f = getattr(self, f)\n",
+ " return\n",
+ "\n",
+ " # If a method from another params instance is passed,\n",
+ " # re-bind it to this instance to avoid mixed state.\n",
+ " if hasattr(f, \"__func__\"):\n",
+ " self.f = f.__func__.__get__(self, self.__class__)\n",
+ " else:\n",
+ " self.f = f\n",
+ "\n",
+ " self.f_name = getattr(self.f, \"__name__\", None)\n",
+ "\n",
+ " # Generated functions\n",
+ " def f_normalized(self, x):\n",
+ " val = self.f(self.l / self.N * (x - self.N // 2))\n",
+ " val *= self.N / (self.l * self.m)\n",
+ " return val\n",
+ "\n",
+ " def calculate_magnitude_and_phase(self):\n",
+ " x_array = np.arange(self.N)\n",
+ " # reorder the x_array to match the order of the quantum states\n",
+ " # TODO: delete? x_array = np.concatenate((x_array[self.N//2:], x_array[:self.N//2]))\n",
+ " phases = self.f_normalized(x_array) * 2 * np.pi\n",
+ " magnitudes = np.ones(self.N) * 1 / self.N\n",
+ " return magnitudes, phases\n",
+ "\n",
+ " def analytical_gradient(self, x):\n",
+ " if self.f_name == 'linear':\n",
+ " return self.f_prams[0]\n",
+ " elif self.f_name == 'quadratic':\n",
+ " return (2 * self.f_prams[0] * x + self.f_prams[1])\n",
+ " else:\n",
+ " raise NotImplementedError(\"Analytical gradient not implemented for this function.\")\n",
+ "\n",
+ " # A few example functions\n",
+ " def linear(self, x):\n",
+ " return self.f_prams[0] * x + self.f_prams[1]\n",
+ "\n",
+ " def quadratic(self, x):\n",
+ " return self.f_prams[0] * x**2 + self.f_prams[1] * x + self.f_prams[2]\n",
+ "\n",
+ " # Unpack function, to be used in the notebook\n",
+ " def unpack(self):\n",
+ " global l, m, n, n0, f, f_prams, N, N0\n",
+ " l, m, n, n0, N, N0 = self.l, self.m, self.n, self.n0, self.N, self.N0\n",
+ " f, f_prams = self.f, self.f_prams\n",
+ " global f_normalized\n",
+ " f_normalized = self.f_normalized"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "id": "ad03b035",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# ****** Simulation ******\n",
+ "def run_statevector_simulation(qfunc_to_run, print_circuit_info=False, filter_ancilla=False):\n",
+ " # Run a statevector simulator\n",
+ " qprog = synthesize(qfunc_to_run)\n",
+ " #show(qprog)\n",
+ " if print_circuit_info:\n",
+ " print(\"Circuit Width:\", qprog.data.width)\n",
+ " print(\"Circuit Depth:\", qprog.transpiled_circuit.depth)\n",
+ " print(\"Gate Counts:\", qprog.transpiled_circuit.count_ops)\n",
+ "\n",
+ " backend_preferences = ClassiqBackendPreferences(backend_name=\"simulator_statevector\")\n",
+ " execution_preferences = ExecutionPreferences(num_shots=1, backend_preferences=backend_preferences)\n",
+ " with ExecutionSession(qprog, execution_preferences=execution_preferences) as es:\n",
+ " if filter_ancilla:\n",
+ " es.set_measured_state_filter(\"ancilla\", lambda v: v == 0)\n",
+ " results_statevector = es.sample()\n",
+ " df = results_statevector.dataframe\n",
+ " return df\n",
+ "\n",
+ "def run_standard_simulation(qfunc_to_run):\n",
+ " # Run a regular simulator\n",
+ " qprog = synthesize(qfunc_to_run)\n",
+ " job = execute(qprog)\n",
+ " # job.open_in_ide()\n",
+ " pc = job.get_sample_result().parsed_counts\n",
+ " return pc\n",
+ "\n",
+ "# ****** Result Processing ******\n",
+ "def state_to_gradient(value):\n",
+ " if value >= N//2:\n",
+ " value -= N\n",
+ " return value / (N/m)\n",
+ "\n",
+ "def simplify_df(df, unwrap=True):\n",
+ " # Get the phase from the df\n",
+ " phases = np.angle(df[\"amplitude\"]).astype(float)\n",
+ " phases_over_2pi = phases/(2*np.pi)\n",
+ " f_classical = f_normalized(df['x'])\n",
+ " simplified_df = pd.DataFrame({\"f_classical\": f_classical, \"phase_over_2pi\": phases_over_2pi.round(5)})\n",
+ " simplified_df.index = df['x']\n",
+ " simplified_df.sort_index(inplace=True)\n",
+ "\n",
+ " # Unwrap the phase if requested\n",
+ " if unwrap:\n",
+ " # Unwrap the phase\n",
+ " simplified_df['phase_over_2pi'] = np.unwrap(simplified_df['phase_over_2pi'], period=1)\n",
+ " # Get rid of the global phase\n",
+ " simplified_df['phase_over_2pi'] -= simplified_df['phase_over_2pi'].iloc[N//2]\n",
+ " simplified_df['f_classical'] -= simplified_df['f_classical'].iloc[N//2]\n",
+ "\n",
+ " return simplified_df\n",
+ "\n",
+ "def compute_success_rate(pc, analytic_derivatives, reject_underresolution=False):\n",
+ " items = []\n",
+ " for obj in pc:\n",
+ " # obj.state -> dict of measured registers\n",
+ " # obj.count (or obj.shots) -> number of occurrences\n",
+ " state = getattr(obj, \"state\", None)\n",
+ " shots = getattr(obj, \"count\", None)\n",
+ "\n",
+ " if shots is None:\n",
+ " shots = getattr(obj, \"shots\", None)\n",
+ "\n",
+ " if state is None or shots is None:\n",
+ " raise TypeError(\n",
+ " f\"Unsupported parsed_counts entry type: {type(obj)}. \"\n",
+ " f\"Need fields like .state and .count/.shots.\"\n",
+ " )\n",
+ "\n",
+ " items.append((state, shots))\n",
+ "\n",
+ " total_shots = sum(shots for _, shots in items)\n",
+ " if total_shots == 0:\n",
+ " return 0.0, 0, 0\n",
+ "\n",
+ " tolerance = 0.5 * m/N\n",
+ "\n",
+ " success_shots = 0\n",
+ "\n",
+ "\n",
+ " for state_key, shots in items:\n",
+ " # state_key might be SampledState key object or plain dict; normalize:\n",
+ " state = getattr(state_key, \"state\", state_key)\n",
+ "\n",
+ " # estimate derivatives using your formula: value * m\n",
+ " est = {}\n",
+ " for name, value in state.items():\n",
+ " est[name] = state_to_gradient(value)\n",
+ "\n",
+ " # success condition: all analytic derivatives within tolerance\n",
+ " correct = True\n",
+ " for name, analytic_val in analytic_derivatives.items():\n",
+ " measured_val = est.get(name)\n",
+ " if measured_val is None or abs(measured_val - analytic_val) >= tolerance:\n",
+ " correct = False\n",
+ " break\n",
+ " if reject_underresolution and measured_val == 0:\n",
+ " correct = False\n",
+ " break\n",
+ "\n",
+ " if correct:\n",
+ " success_shots += shots\n",
+ "\n",
+ " success_rate = success_shots / total_shots\n",
+ " return success_rate, success_shots, total_shots\n",
+ "\n",
+ "def analyze_results(pc):\n",
+ " # Print the results and compute the majority gradient\n",
+ " print(\"Parsed counts:\", pc)\n",
+ " print(f\"The analytical gradient is: {p.analytical_gradient(0)}\")\n",
+ " majority_state = pc[0].state\n",
+ " majority_gradient = state_to_gradient(majority_state.get('x'))\n",
+ " print(f\"The majority gradient is: {majority_gradient}\")\n",
+ "\n",
+ " # Check if the majority result is correct within the resolution of the algorithm\n",
+ " resolution = m/N\n",
+ " is_correct = abs(majority_gradient - p.analytical_gradient(0)) < resolution/2\n",
+ " print(f\"The majority result is\", \"correct\" if is_correct else \"incorrect\")\n",
+ " print(\"####################################################\")\n",
+ "\n",
+ " # Compute the success rate of the algorithm, i.e. the percentage of shots that are correct within the resolution of the algorithm.\n",
+ " success_rate, success_shots, total_shots = compute_success_rate(pc, analytic_derivatives={'x': p.analytical_gradient(0)})\n",
+ " print(f\"Success rate: {success_rate:.2%} ({success_shots}/{total_shots} shots)\")\n",
+ " show_bar(success_rate)\n",
+ "\n",
+ " # Visualize the theoretical values of the phases\n",
+ " # We used the standard simulation, so this is theoretical values only without the phases from the simulation\n",
+ " plot_theoretical()\n",
+ "\n",
+ "# ****** Plotting ******\n",
+ "def plot_classical():\n",
+ " x_values = np.linspace(-N//2, N*1.5, 1000) # more points for smoother curve\n",
+ " f_values = f_normalized(x_values)\n",
+ " f_values -= f_normalized(N//2)\n",
+ " plt.plot(x_values, f_values, color='lightgray', label=\"Original function\")\n",
+ " ax = plt.gca()\n",
+ " ax.set_xticks(np.arange(N))\n",
+ " ax.set_xticklabels([str(i) for i in range(N)])\n",
+ "\n",
+ " # Primary-axis labels (normalized coordinates)\n",
+ " ax.set_xlabel(\"x (index)\")\n",
+ " ax.set_ylabel(\"f (normalized)\")\n",
+ "\n",
+ " # Secondary X axis: integer grid index -> real x\n",
+ " # Uses existing l, N convention: x_real = (x - N/2) * (l/N)\n",
+ " x_to_real = lambda x: (x - N / 2) * (l / N)\n",
+ " real_to_x = lambda xr: xr * (N / l) + N / 2\n",
+ " secax_x = ax.secondary_xaxis(\"top\", functions=(x_to_real, real_to_x), color='blue')\n",
+ " secax_x.set_xlabel(\"x (real)\")\n",
+ "\n",
+ " # Secondary Y axis: normalized f -> unnormalized f\n",
+ " # Assumes f_normalized = m * f_real => f_real = f_normalized / m\n",
+ " f_to_real = lambda y: (y + f_normalized(N//2)) * m * l / N \n",
+ " real_to_f = lambda yr: yr / m / l * N - f_normalized(N//2)\n",
+ " secax_y = ax.secondary_yaxis(\"right\", functions=(f_to_real, real_to_f), color='blue')\n",
+ " secax_y.set_ylabel(\"f (real, unnormalized)\")\n",
+ "\n",
+ "def plot_theoretical(show=True):\n",
+ " # Get the phase from the df\n",
+ " x_array = np.arange(N)\n",
+ " \n",
+ " f_classical = f_normalized(x_array)\n",
+ " f_classical -= f_classical[N//2]\n",
+ "\n",
+ " if show:\n",
+ " plt.figure()\n",
+ " plot_classical()\n",
+ " plt.plot(x_array, f_classical, 'o', label=\"Theoretical values\")\n",
+ " xmin, xmax = -N//2, N*1.5\n",
+ " ymin, ymax = -N//2, N//2\n",
+ " plt.xlim(xmin, xmax)\n",
+ " plt.ylim(ymin, ymax)\n",
+ " plt.vlines(0, ymin, ymax, colors='lightgray', linestyles='dashed')\n",
+ " plt.vlines(N-1, ymin, ymax, colors='lightgray', linestyles='dashed')\n",
+ " plt.hlines(-N/4+0.5, xmin, xmax, colors='lightgray', linestyles='dashed')\n",
+ " plt.hlines(N/4, xmin, xmax, colors='lightgray', linestyles='dashed')\n",
+ " plt.legend()\n",
+ " if show:\n",
+ " plt.show()\n",
+ "\n",
+ "\n",
+ "def plot_simplified_df(simplified_df, show=True):\n",
+ " plt.figure()\n",
+ " plot_theoretical(show=False)\n",
+ " plt.plot(simplified_df.index, simplified_df['phase_over_2pi'], 'o', label=\"Measured phases\")\n",
+ " plt.legend()\n",
+ " if show:\n",
+ " plt.show()\n",
+ "\n",
+ "def show_bar(success_rate):\n",
+ " bar_length = 50\n",
+ " filled = int(round(bar_length * success_rate))\n",
+ " GREEN = \"\\033[92m\"\n",
+ " RED = \"\\033[91m\"\n",
+ " RESET = \"\\033[0m\"\n",
+ "\n",
+ " bar = f\"{GREEN}{'█' * filled}{RED}{'-' * (bar_length - filled)}{RESET}\"\n",
+ "\n",
+ " print(f\"[{bar}] {success_rate * 100:.2f}%\")\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "d85717d1",
+ "metadata": {},
+ "source": [
+ "# 1. Fast Quantum Algorithm for Numerical Gradient Estimation"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "35a1c868",
+ "metadata": {},
+ "source": [
+ "Given a function scalar function $f(x_1, ... x_d)$, we want to find the gradient of the function in specific point.\\\n",
+ "Classicaly this requires at least d+1 queries of the function $f$ (one query at the origin, and one in each direction).\\\n",
+ "In this notebook we will explore quantum algorithm to find the gradient in just a single query of the function.\\\n",
+ "This is a dramatic improvement in large dimensions functions, as most of the times the most expensive part of calculating the derivative is querying the function.\\\n",
+ "\\\n",
+ "The core concept of the algorithm is to first 'apply' the function to the phase of a superposition state, then extract the gradient value from the phase to a measurable state by using a QFT.\\\n",
+ "Let's see it step by step, first a little simplified version to understand the concept, and then fixing the inaccurities for the final algorithm."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "ce1b3ca4",
+ "metadata": {},
+ "source": [
+ "## Simplified version of the algorithm\n",
+ "As briefly mentioned earlier, the algorithm can be divided to two steps:\n",
+ "1. Applying the function to the phase\n",
+ "2. Extracting the gradient value to a measurable state\n",
+ "\n",
+ "In more details:\n",
+ "1. For each coordinate ($x_i$), we start with the state $\\ket{\\delta_i}=\\ket{0}+\\ket{1}+\\ket{2}....\\ket{N-1}$, by applying the Hadamard gate on $\\ket{0}$. If there are more than one coordinates, the state $\\ket{\\delta}$ is a product state of all $\\ket{\\delta_i}$\n",
+ "2. Using the phase kickback technique, we apply the function to the phase of each ket creating the state:\n",
+ "$$e^{i\\cdot2\\pi f(0)}\\ket{0} + e^{i\\cdot2\\pi f(1)}\\ket{1} + e^{i\\cdot2\\pi f(2)}\\ket{2} ..... e^{i\\cdot2\\pi f(N-1)}\\ket{N-1}$$\n",
+ "3. We note the fact that for small enough interval, we can approximate: $f(x)\\approx f(0)+x\\cdot f'(x)$, so we can write the previous state as: \n",
+ "$$ e^{i\\cdot2\\pi f(0)}(\\ket{0} + e^{i\\cdot2\\pi f'(0)}\\ket{1} + e^{i\\cdot2\\pi 2f'(0)}\\ket{2} ..... e^{i\\cdot2\\pi (N-1)f'(0)}\\ket{N-1}) = e^{i\\cdot2\\pi f(0)}\\sum e^{i\\cdot2\\pi jf'(0)}\\ket{j} $$\n",
+ "4. We note that this state is exactly the fourier transform of the state $\\ket{f'(0)}$, so we apply the inverse fourier transform and get the result: $$\\ket{f'(0)}$$\n",
+ "5. We measure to get $f'(0)$, and for a multi-coordinates function $\\nabla f$.\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "05c25e29",
+ "metadata": {},
+ "source": [
+ "## Exact version of the algorithm\n",
+ "The previous explaination covers the main idea of the algorithm, but miss some important details on negative and fractional values.\\\n",
+ "In this explaination we will fill in this details.\\\n",
+ "When we calculate gradient, we look on an interval around the point of interest (in this case, it will be the origin). We will call this interval $l$.\n",
+ "The state $\\ket{\\delta_i}$ should represent $N$ equally spaced points around the origin in the interval $l$, so we normalized it to be:\n",
+ "$$ x=\\frac{l}{N}(\\delta-\\frac{N}{2}) $$\n",
+ "That way, $\\delta=0$ will be the leftmost point of the interval ($-l/2$), $\\delta=N/2$ will be the origin, and $\\delta=N-1$ will be the rightmost point of the interval ($l/2-l/N$).\\\n",
+ "\\\n",
+ "We also need to normalize the result state. Say the expected gradient is bounded between $-m/2$ and $m/2$, we want to represent those values using the $N$ states of the coordinate, so doing a similar trick we can define $$ \\nabla f=\\frac{m}{N}(\\delta_{measured}-\\frac{N}{2}) $$\\\n",
+ "\\\n",
+ "When using the algorithm we need to select $l$ and $m$ using our prior knowledge on the function $f(x)$, and $N$ will define the final resolution we get.\\\n",
+ "$l$ should be small enough so we will stay in a linear regime of the function, and $m$ should be larger than the maximum possible gradient, but not too large because then we will lose resultion.\n",
+ "\\\n",
+ "Using those two normalizations, we change two things in the algorithm:\n",
+ "1. In step 2, instead of applying $f(\\delta)$, we apply $\\frac{N}{ml}f(\\frac{l}{N}(\\delta-\\frac{N}{2}))$.\n",
+ "2. In step 5, instead of measuring $\\nabla f$ directly, we measure $\\frac{N}{m}\\nabla f + \\frac{N}{2}$, and need to invert this to find $\\nabla f$\n",
+ "Note that due to the cyclic nature of the QFT, if we know that the gradient must be positive or negative, we don't need to change anything in the algorithm, just adjust the final convertion."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "2fe010f7",
+ "metadata": {},
+ "source": [
+ "## Notebook's structure:\n",
+ "In the notebook, we will cover those topics:\n",
+ "1. Theoretical explaination (this section)\n",
+ "2. Step 1 of the algorithm - State Preparation. We will cover two methods. Phase Kickback (as in the cited paper) and Prepare State (more straight forward and more efficient for the simulation). We will demonstrate how the states are prepared using a full statevector simulation.\n",
+ "3. The full algorithm, showing examples of linear and non-linear functions.\n",
+ "4. Parameters selection and limits (Still work in progress)\n",
+ "5. Multi-coordinates example, f as function of x, y\n",
+ "\n",
+ "A technical note: In this notebook, some analysis functions are repetetive. Each time a new analysis is used it is written explicitly in the first time, but in later times is appears as an helper function, in order to make the code more readable and easy to understand. All the helpers functions appears at the beggining of this notebook."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "6b665020",
+ "metadata": {},
+ "source": [
+ "# 2. State Preparation"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "id": "7cbd6c18",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# TODO: free the ancilla\n",
+ "# TODO: write explanations\n",
+ "# TODO: format using the other notebooks as a reference\n",
+ "# TODO: explain about the params class and the auxillary functions.\n",
+ "# TODO: write / remove section 5"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "cb541ef9",
+ "metadata": {},
+ "source": [
+ "## 2.1. Phase Kickback"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "05340b0f",
+ "metadata": {},
+ "source": [
+ "The first step of the algorithm is to prepare the state:\n",
+ "$$\\sum_{\\delta}e^{i2\\pi\\frac{N}{ml}f(\\frac{l}{N}(\\delta-\\frac{N}{2}))}\\ket\\delta$$\n",
+ "The paper uses the phase kickback technique using the ancilla in order to create this state.\\\n",
+ "In the next example we will see how it works."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "3568e49c",
+ "metadata": {},
+ "source": [
+ "The phase kickback contains three steps:\n",
+ "1. Apply Hadamard gate on $\\ket\\delta$ to have an entangeled state\n",
+ "2. Set the ancilla to $\\ket{1111...1}$ (in binary representation) and apply QFT on it\n",
+ "3. Add the value $f(\\delta)$ to the ancilla, and the function's value will be 'kicked' to the phase\n",
+ "\n",
+ "Note that we use the ancilla as a signed and fractional QNum, so in order to have $\\ket{1111...1_b}$, we will assign $-1/N_0$"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "id": "0e3557a4",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Circuit Width: 10\n",
+ "Circuit Depth: 69\n",
+ "Gate Counts: {'u': 54, 'cx': 48}\n"
+ ]
+ },
+ {
+ "data": {
+ "application/vnd.microsoft.datawrangler.viewer.v0+json": {
+ "columns": [
+ {
+ "name": "index",
+ "rawType": "int64",
+ "type": "integer"
+ },
+ {
+ "name": "x",
+ "rawType": "int64",
+ "type": "integer"
+ },
+ {
+ "name": "ancilla",
+ "rawType": "float64",
+ "type": "float"
+ },
+ {
+ "name": "amplitude",
+ "rawType": "complex128",
+ "type": "unknown"
+ },
+ {
+ "name": "magnitude",
+ "rawType": "object",
+ "type": "string"
+ },
+ {
+ "name": "phase",
+ "rawType": "object",
+ "type": "string"
+ },
+ {
+ "name": "probability",
+ "rawType": "float64",
+ "type": "float"
+ },
+ {
+ "name": "bitstring",
+ "rawType": "object",
+ "type": "string"
+ }
+ ],
+ "ref": "ec828fe0-9d6c-4212-a761-135d6c4c7a15",
+ "rows": [
+ [
+ "0",
+ "0",
+ "0.0",
+ "(0.0883883476483181-0.08838834764831877j)",
+ "0.12",
+ "-0.25π",
+ "0.015624999999999997",
+ "0000000000"
+ ],
+ [
+ "1",
+ "2",
+ "0.0",
+ "(-0.0883883476483181+0.08838834764831877j)",
+ "0.12",
+ "0.75π",
+ "0.015624999999999997",
+ "0000000010"
+ ],
+ [
+ "2",
+ "1",
+ "0.0",
+ "(0.08838834764831884+0.08838834764831802j)",
+ "0.12",
+ "0.25π",
+ "0.015624999999999993",
+ "0000000001"
+ ],
+ [
+ "3",
+ "3",
+ "0.0",
+ "(-0.08838834764831882-0.088388347648318j)",
+ "0.12",
+ "-0.75π",
+ "0.01562499999999999",
+ "0000000011"
+ ],
+ [
+ "4",
+ "4",
+ "0.0",
+ "(0.08838834764831811-0.08838834764831871j)",
+ "0.12",
+ "-0.25π",
+ "0.01562499999999999",
+ "0000000100"
+ ],
+ [
+ "5",
+ "6",
+ "0.0",
+ "(-0.08838834764831811+0.08838834764831871j)",
+ "0.12",
+ "0.75π",
+ "0.01562499999999999",
+ "0000000110"
+ ],
+ [
+ "6",
+ "5",
+ "0.0",
+ "(0.0883883476483188+0.08838834764831802j)",
+ "0.12",
+ "0.25π",
+ "0.015624999999999986",
+ "0000000101"
+ ],
+ [
+ "7",
+ "7",
+ "0.0",
+ "(-0.0883883476483188-0.08838834764831802j)",
+ "0.12",
+ "-0.75π",
+ "0.015624999999999986",
+ "0000000111"
+ ]
+ ],
+ "shape": {
+ "columns": 7,
+ "rows": 8
+ }
+ },
+ "text/html": [
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
\n",
+ "
x
\n",
+ "
ancilla
\n",
+ "
amplitude
\n",
+ "
magnitude
\n",
+ "
phase
\n",
+ "
probability
\n",
+ "
bitstring
\n",
+ "
\n",
+ " \n",
+ " \n",
+ "
\n",
+ "
0
\n",
+ "
0
\n",
+ "
0.0
\n",
+ "
0.088388-0.088388j
\n",
+ "
0.12
\n",
+ "
-0.25π
\n",
+ "
0.015625
\n",
+ "
0000000000
\n",
+ "
\n",
+ "
\n",
+ "
1
\n",
+ "
2
\n",
+ "
0.0
\n",
+ "
-0.088388+0.088388j
\n",
+ "
0.12
\n",
+ "
0.75π
\n",
+ "
0.015625
\n",
+ "
0000000010
\n",
+ "
\n",
+ "
\n",
+ "
2
\n",
+ "
1
\n",
+ "
0.0
\n",
+ "
0.088388+0.088388j
\n",
+ "
0.12
\n",
+ "
0.25π
\n",
+ "
0.015625
\n",
+ "
0000000001
\n",
+ "
\n",
+ "
\n",
+ "
3
\n",
+ "
3
\n",
+ "
0.0
\n",
+ "
-0.088388-0.088388j
\n",
+ "
0.12
\n",
+ "
-0.75π
\n",
+ "
0.015625
\n",
+ "
0000000011
\n",
+ "
\n",
+ "
\n",
+ "
4
\n",
+ "
4
\n",
+ "
0.0
\n",
+ "
0.088388-0.088388j
\n",
+ "
0.12
\n",
+ "
-0.25π
\n",
+ "
0.015625
\n",
+ "
0000000100
\n",
+ "
\n",
+ "
\n",
+ "
5
\n",
+ "
6
\n",
+ "
0.0
\n",
+ "
-0.088388+0.088388j
\n",
+ "
0.12
\n",
+ "
0.75π
\n",
+ "
0.015625
\n",
+ "
0000000110
\n",
+ "
\n",
+ "
\n",
+ "
6
\n",
+ "
5
\n",
+ "
0.0
\n",
+ "
0.088388+0.088388j
\n",
+ "
0.12
\n",
+ "
0.25π
\n",
+ "
0.015625
\n",
+ "
0000000101
\n",
+ "
\n",
+ "
\n",
+ "
7
\n",
+ "
7
\n",
+ "
0.0
\n",
+ "
-0.088388-0.088388j
\n",
+ "
0.12
\n",
+ "
-0.75π
\n",
+ "
0.015625
\n",
+ "
0000000111
\n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " x ancilla amplitude magnitude phase probability bitstring\n",
+ "0 0 0.0 0.088388-0.088388j 0.12 -0.25π 0.015625 0000000000\n",
+ "1 2 0.0 -0.088388+0.088388j 0.12 0.75π 0.015625 0000000010\n",
+ "2 1 0.0 0.088388+0.088388j 0.12 0.25π 0.015625 0000000001\n",
+ "3 3 0.0 -0.088388-0.088388j 0.12 -0.75π 0.015625 0000000011\n",
+ "4 4 0.0 0.088388-0.088388j 0.12 -0.25π 0.015625 0000000100\n",
+ "5 6 0.0 -0.088388+0.088388j 0.12 0.75π 0.015625 0000000110\n",
+ "6 5 0.0 0.088388+0.088388j 0.12 0.25π 0.015625 0000000101\n",
+ "7 7 0.0 -0.088388-0.088388j 0.12 -0.75π 0.015625 0000000111"
+ ]
+ },
+ "execution_count": 5,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# Set the default values:\n",
+ "# l = 0.5, m = 2, n = 3, n0 = 3\n",
+ "p = params()\n",
+ "\n",
+ "# Set the function we want to calculate the gradient of:\n",
+ "# f(x) = 0.5*x + 0.25\n",
+ "# Gradient: f'(0) = 0.5\n",
+ "p.set_function(p.linear, (0.5, 0.25))\n",
+ "\n",
+ "# Unpack the parameters to global variables for easier use\n",
+ "p.unpack()\n",
+ "\n",
+ "@qfunc\n",
+ "def main(x: Output[QNum[n]], ancilla: Output[QNum[n0, SIGNED, n0]]):\n",
+ " # 1. State preparation\n",
+ " \n",
+ " # 1.1. Set the coordinates state - Apply Hadamard gate on the coordinates register\n",
+ " allocate(n, x)\n",
+ " hadamard_transform(x)\n",
+ " \n",
+ " # 1.2. Set the ancilla state - Apply QFT to |1111...1> state\n",
+ " # Note: the ancilla is a signed fractional number,\n",
+ " # so the state |1111...1> corresponds to the value -1/N0\n",
+ " # which is the most negative value\n",
+ " numeric_value = -0.5**n0\n",
+ " ancilla |= numeric_value\n",
+ " qft(ancilla)\n",
+ "\n",
+ " # 1.3. Apply the function f on the ancilla, to create the phase kickback\n",
+ " # Calculate the normalized f and add it to the ancilla\n",
+ " val = f_normalized(x)\n",
+ " inplace_add(val, ancilla)\n",
+ "\n",
+ " # 2. Next step in the algorithm: QFT inverse on the coordinates register\n",
+ " # invert(lambda: qft(x))\n",
+ "\n",
+ "# Run using a statevector simulator\n",
+ "qprog = synthesize(main)\n",
+ "# show(qprog) # Uncomment to see the circuit\n",
+ "print(\"Circuit Width:\", qprog.data.width)\n",
+ "print(\"Circuit Depth:\", qprog.transpiled_circuit.depth)\n",
+ "print(\"Gate Counts:\", qprog.transpiled_circuit.count_ops)\n",
+ " \n",
+ "# Pay attention that we use a statevector simulator here\n",
+ "backend_preferences = ClassiqBackendPreferences(backend_name=\"simulator_statevector\")\n",
+ "execution_preferences = ExecutionPreferences(num_shots=1, backend_preferences=backend_preferences)\n",
+ "with ExecutionSession(qprog, execution_preferences=execution_preferences) as es:\n",
+ " es.set_measured_state_filter(\"ancilla\", lambda v: v == 0)\n",
+ " results_statevector = es.sample()\n",
+ "\n",
+ "# Show the results as a dataframe.\n",
+ "df = results_statevector.dataframe\n",
+ "df\n",
+ "\n",
+ "# From now on, we will use the shortcut function:\n",
+ "# df = run_statevector_simulation(main, print_circuit_info=True, filter_ancilla=True)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "cf477c66",
+ "metadata": {},
+ "source": [
+ "In order to understand the results, let's focus on the phase compared to the classical value of f(x):"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "id": "f473a2df",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "application/vnd.microsoft.datawrangler.viewer.v0+json": {
+ "columns": [
+ {
+ "name": "x",
+ "rawType": "int64",
+ "type": "integer"
+ },
+ {
+ "name": "f_classical",
+ "rawType": "float64",
+ "type": "float"
+ },
+ {
+ "name": "phase_over_2pi",
+ "rawType": "float64",
+ "type": "float"
+ }
+ ],
+ "ref": "4b5ced2e-554e-40fe-bb9d-aaa29448de04",
+ "rows": [
+ [
+ "0",
+ "-1.0",
+ "-0.125"
+ ],
+ [
+ "1",
+ "-0.75",
+ "0.125"
+ ],
+ [
+ "2",
+ "-0.5",
+ "0.375"
+ ],
+ [
+ "3",
+ "-0.25",
+ "-0.375"
+ ],
+ [
+ "4",
+ "0.0",
+ "-0.125"
+ ],
+ [
+ "5",
+ "0.25",
+ "0.125"
+ ],
+ [
+ "6",
+ "0.5",
+ "0.375"
+ ],
+ [
+ "7",
+ "0.75",
+ "-0.375"
+ ]
+ ],
+ "shape": {
+ "columns": 2,
+ "rows": 8
+ }
+ },
+ "text/html": [
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
\n",
+ "
f_classical
\n",
+ "
phase_over_2pi
\n",
+ "
\n",
+ "
\n",
+ "
x
\n",
+ "
\n",
+ "
\n",
+ "
\n",
+ " \n",
+ " \n",
+ "
\n",
+ "
0
\n",
+ "
-1.00
\n",
+ "
-0.125
\n",
+ "
\n",
+ "
\n",
+ "
1
\n",
+ "
-0.75
\n",
+ "
0.125
\n",
+ "
\n",
+ "
\n",
+ "
2
\n",
+ "
-0.50
\n",
+ "
0.375
\n",
+ "
\n",
+ "
\n",
+ "
3
\n",
+ "
-0.25
\n",
+ "
-0.375
\n",
+ "
\n",
+ "
\n",
+ "
4
\n",
+ "
0.00
\n",
+ "
-0.125
\n",
+ "
\n",
+ "
\n",
+ "
5
\n",
+ "
0.25
\n",
+ "
0.125
\n",
+ "
\n",
+ "
\n",
+ "
6
\n",
+ "
0.50
\n",
+ "
0.375
\n",
+ "
\n",
+ "
\n",
+ "
7
\n",
+ "
0.75
\n",
+ "
-0.375
\n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " f_classical phase_over_2pi\n",
+ "x \n",
+ "0 -1.00 -0.125\n",
+ "1 -0.75 0.125\n",
+ "2 -0.50 0.375\n",
+ "3 -0.25 -0.375\n",
+ "4 0.00 -0.125\n",
+ "5 0.25 0.125\n",
+ "6 0.50 0.375\n",
+ "7 0.75 -0.375"
+ ]
+ },
+ "execution_count": 6,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "phases = np.angle(df[\"amplitude\"]).astype(float)\n",
+ "phases_over_2pi = phases/(2*np.pi)\n",
+ "f_classical = f_normalized(df['x']) - f_normalized(N//2) # shift the classical function to match the quantum convention\n",
+ "simplified_df = pd.DataFrame({\"f_classical\": f_classical, \"phase_over_2pi\": phases_over_2pi.round(5)})\n",
+ "simplified_df.index = df['x']\n",
+ "simplified_df.sort_index(inplace=True)\n",
+ "simplified_df"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "a3aad709",
+ "metadata": {},
+ "source": [
+ "We can plot the phases from the statevector simulation (in orange) next to the values of $f(x)$ (blue).\\\n",
+ "We expect to see that the phases will match the function value, hence the two graphs should match complitly.\\\n",
+ "Let's plot it:\n",
+ "\n",
+ "\\* Quick note about the graph:\\\n",
+ "The quantum calculations are in normalized space where $x$ is a coordinate from $0$ to $N-1$, and $f$ is normalized using $l$ and $m$. The graphs show the normalized axes in black, and the real unnormalized axes in blue."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "id": "77343d45",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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IC6dyKpXBnesdK1WrRoqVqyoqtcIp8BOREQkxFKvu3btcjSKj42NNalX9a4UUmAnIiISIjg6x1E6jtZRhQoVzEidUq8SkkuK/fTTT+jevbuZP8Bh588++6zA/bnmKPfLe7H39hH36tati/Hjx+sUBYD993b//v06/yLiwHl069atM0Ed3yPYxiRSVpGQMA3s+MvcsmVLTJw4sUj3W7t2LdLT0x2XpKQkBJWcbGDjz8Cqj62vvC4hh93dhw0bhubNm6Ns2bLmAwjXvd22bVuRHqdjx47m95SToEVEmHplxeumTZvMiB1Trw0aNDDz6URCOhXLBeF5KSoGchyuDkqrvwBmDQMynf74l68OdHsaSLkykEcmeXDxbLYRKKiH1IoVK/Doo4+aDyD79u3DoEGDcOWVV+LXX38t9Pnkc3DpHxERfmBk1as99cpgjqnXqKiQGpcRP4qI34xWrVqZ/wiXXHIJfvnllwL3PXr0qFks2fni06Duw16uQR1lplvbebuPXHjhhRg4cKC5cGQoMTHRBCT8ZOgcqNx2221m0WguR/P666+7PAZHp8444wyUKVMG9evXN/fnm5Dd77//josuusjcn93P27Rp4xLgLFiwAOeff77ptcSJv/fdd5/jzet0GDRxNIxvcnx+Bvz//vuvuY2vGR/z22+/dbnPzJkzzbHw5yLOU7n++utN0M/1E6+66irzidiuT58+6NGjB8aMGWNG3xo3blzgMfE8zpkzxzwm9z3nnHPwyiuvYPny5WbpNuLjM4XywQcfmJE5TnZu1qwZ5s+f73gcpWJFhLh6hD31ykCOaVemXxXUScQGdgzmJk+ejE8++cRcGDwwoOGoijtjx441f6DtF97HJ5hu5UgdcgOpXCe3zRru07Ts9OnTzcoTS5cuxYQJE/DCCy/gjTfecNz+/PPPo23btvjtt99w9913Y8CAASatbccgadq0aWY9Wd5/ypQpePHFFx2333zzzeaNaNmyZSa4GT58uFmzkNavX49u3brhmmuuwR9//IEZM2aYQI+BZmEw6GKQ+MUXX2DRokUmIL388stNYMkg8j//+Q/ef/99l/u89957JlBjIMj9unbtan6Gn3/+2QT85cqVM8fEkTm7uXPnmp+ZAdtXX31V5HOckZFhArm8I8YPPvgghg4das5thw4dzNxRru0oIsL3M84F37x5M7Kzs80HQKZegzbzJMHFFqJ46DNnzizy/S644ALbLbfc4vb2I0eO2DIyMhyXrVu3mufi93kdPnzYtnr1avO1yDb8ZLONKn/6C/fzgU6dOtmaNm1qy8nJcWwbNmyY2UZ16tRxOU/cLykpyTZp0iS3j/nss8/a2rRp47geHx9vmzZtWr773n777bb+/fu7bPv5559tUVFRpz2f//zzj3lNfvnlF8e23bt32+Li4mwffvihuc7fjXLlytkOHjxorvP1K126tO3bb78119955x1b48aNXX7+o0ePmseYPXu2ud67d29b1apVzXZP8Oc466yzbDfddJNj28aNG82xjxs3zrHt+PHjtpo1a9qefvppc33evHlmn3379nn0nB7/TopIwB07dsy2fv1626pVq8wlLS3Nlp2dHejDCklbt2aY91J+jSRhPWKXn3bt2pmhbXc4KZUjPs4Xnziww7v7eYCpQo4m2XHkiOlMfkKkFi1aOG7jfpz3Ze+bRBxlO/fcc812jnY98sgjjpQjDRkyBHfccQe6dOmCcePGmVE65zQtR/t4P/uFI2g5OTnYuHFjgcf9999/m5HG9u3bO7ZVrlzZpD95G3H0jqODHNEjjtjyteSx2J+fvwccsbM/P9OxR44ccTlOFkIUNK/OHY4IMiXLzyCTJk065Xaeazv+LBwZtR+7iER26pXTRZhuZcaI00CUepWiiLjAbuXKlSZFG3Dlqnp3Px+wp02dgzsGXsT0J1OtDKCYomRK8eGHH3ZJYz722GP466+/cMUVV+CHH35ASkqKmedmL9u/8847zethvzDYYmDJlENxMRi79tprHelYfu3Zs6cJouzPzzl/zs/Pyz///IObbrrJ8TisbvU0qGMahSlcn304EJGwTr2qMl7CvirW3sPHjiM7/GPMkRZO7h8xYgTS0tLw9ttvm9vZh61evXo488wzzUgM548xwPjuu+8QcHU6WtWvLJTId55dCet27ucjS5Yscbm+ePFiNGrUqFA9kRYuXIg6deqYYM6Ob0p5sbiCl8GDB+PGG2/E1KlT8d///hdnnXWWmZvXsGHDIh9306ZNTck/j58FCMT5aZwLx+DRjoEnC2YYXPJ1f/LJJx238fk54siKaW8GXvagjgHqvHnzzEhifniuL7jgAvM9fxbOQSzs/EIRCR/8MMxCrsOHD5vr/HvGLIhG6SQiRuw4Wb5169bm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YoFkX5iDK1CIiIhIaMjKsv5uR9oCWwrsTiMrK8t8rVWrlj9eDxEREfGiAwf4dzwhYs6p1oo9jZycHGzbtg3x8fEoUaKEf14VCQkcxWXAv3XrVr+sI+zv5wvEc+r5dD5FvCUnx4b09CyccUZ1REdHzswzjdidRlRUFGrWrOmfV0NCEgMefwVagXi+QDynnk/nU8QbKlSInJE6u8gJYUVERETCnAI7ERERkTChwE7EQ7GxsRg1apT5Go7PF4jn1PPpfIpI8ah4QkRERCRMaMROREREJEwosBMREREJEwrsRERERMKEAjsRERGRMKHATsRDEydORN26dVG6dGm0b98eS5cu9cm5/Omnn9C9e3dUr17drH7y2WefwZfGjh2Ls88+26y2kpSUhB49emDt2rU+e75JkyahRYsWjqbEHTp0wLfffgt/GTdunDmv999/v8+e47HHHjPP4Xxp0qQJfCktLQ233HILKleujLi4ODRv3hy//vqrT56L/w/y/ny83HPPPT55PhFxT4GdiAdmzJiBIUOGmFYgK1asQMuWLdG1a1fs3LnT6+fz4MGD5vEZSPrD/PnzzR/kxYsXY86cOTh+/DguvfRScxy+wJVdGFwtX77cBB4XX3wxrrrqKvz111/wtWXLluG1114zgaWvnXnmmUhPT3dcFixY4LPn2rdvH84991yUKlXKBMmrV6/G888/j4oVK/rsPDr/bPy9oeuuu84nzyciBbCJSJG1a9fOds899ziuZ2dn26pXr24bO3asT88m/8vOnDnT5k87d+40zzt//ny/PWfFihVtb7zxhk+fIysry9aoUSPbnDlzbJ06dbINGjTIZ881atQoW8uWLW3+MmzYMNt5551nCxSeywYNGthycnICdgwikUojdiJFdOzYMTO61KVLF5c1hXl90aJFYXc+MzIyzNdKlSr5/Lmys7PxwQcfmNFBpmR9iaOSV1xxhcvr6Ev//vuvSafXr18fN998M7Zs2eKz5/riiy/Qtm1bM2LGdHrr1q0xZcoU+Ov/x7vvvovbbrvNpGNFxL8U2IkU0e7du00AUrVqVZftvL59+/awOp85OTlm7hnTes2aNfPZ86xatQrlypUzK0/cddddmDlzJlJSUnz2fAwemULnfEJ/4BzMadOmYdasWWZO4caNG3H++ecjKyvLJ8+3YcMG8zyNGjXC7NmzMWDAANx3332YPn06fI1zQPfv348+ffr4/LlE5FQl89kmIuIY1frzzz99Oh+MGjdujJUrV5rRwY8//hi9e/c2c/18Edxt3boVgwYNMvPAWPjiD5dddpnje87nY6BXp04dfPjhh7j99tt9EpBzxO6pp54y1zlix9dx8uTJ5tz60ptvvml+Xo5Oioj/acROpIgSExMRHR2NHTt2uGzn9eTk5LA5nwMHDsRXX32FefPmmQIHX4qJiUHDhg3Rpk0bM4rGYpEJEyb45LmYRmeRy1lnnYWSJUuaC4PIl156yXzP0Vhfq1ChAs444wysW7fOJ49frVq1U4Lipk2b+jT9S5s3b8b333+PO+64w6fPIyLuKbAT8SAIYQAyd+5clxESXvf1vDB/YI0GgzqmQ3/44QfUq1fP78fA83n06FGfPHbnzp1N6pcjhPYLR7c4743fM2j3tQMHDmD9+vUmAPMFps7ztqj5559/zCihL02dOtXM6ePcRREJDKViRTzAVidMaTEgaNeuHcaPH28m/Pft29cnQYDzyA7nZzEAYTFD7dq1fZJ+ff/99/H555+bXnb2eYMJCQmmH5q3jRgxwqTu+LNwzhmf+8cffzRzw3yBP1Pe+YJly5Y1/d58NY/wgQceML0IGVht27bNtMlhAHnjjTf65PkGDx6Mjh07mlTs9ddfb3osvv766+biy2CcgR3/X3DkU0QCJNBluSKh6uWXX7bVrl3bFhMTY9qfLF682CfPM2/ePNNuJO+ld+/ePnm+/J6Ll6lTp/rk+W677TZbnTp1zHmsUqWKrXPnzrbvvvvO5k++bnfSs2dPW7Vq1czPWKNGDXN93bp1Nl/68ssvbc2aNbPFxsbamjRpYnv99dd9+nyzZ882vydr16716fOISMFK8J9ABZUiIiIi4j2aYyciIiISJhTYiYiIiIQJBXYiIiIiYUKBnYiIiEiYUGAnIiIiEiYU2ImIiIiECQV2IiIiImFCgZ2IiIhImFBgJyIiIhImFNiJiIiIhAkFdiISUXbt2oXk5GQ89dRTjm0LFy5ETEwM5s6dG9BjExEpLq0VKyIR55tvvkGPHj1MQNe4cWO0atUKV111FV544YVAH5qISLEosBORiHTPPffg+++/R9u2bbFq1SosW7YMsbGxgT4sEZFiUWAnIhHp8OHDaNasGbZu3Yrly5ejefPmgT4kEZFi0xw7EYlI69evx7Zt25CTk4NNmzYF+nBERLxCI3YiEnGOHTuGdu3ambl1nGM3fvx4k45NSkoK9KGJiBSLAjsRiTgPPvggPv74Y/z+++8oV64cOnXqhISEBHz11VeBPjQRkWJRKlZEIsqPP/5oRujeeecdlC9fHlFRUeb7n3/+GZMmTQr04YmIFItG7ERERETChEbsRERERMKEAjsRERGRMKHATkRERCRMKLATERERCRMK7ERERETChAI7ERERkTChwE5EREQkTCiwExEREQkTCuxEREREwoQCOxEREZEwocBOREREJEwosBMRERFBePh/yuOxY43BE8gAAAAASUVORK5CYII=",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "# Plot the results\n",
+ "plt.figure()\n",
+ "plot_classical()\n",
+ "simplified_df.plot(style='o', ax=plt.gca())\n",
+ "plt.legend()\n",
+ "plt.show()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "c82662b7",
+ "metadata": {},
+ "source": [
+ "But wait! The phase doesn't match the classical function!\\\n",
+ "There are two reasons:\n",
+ "1. Wrapping of the phase around $2\\pi$\n",
+ "2. A constant shift due to global phase\n",
+ "\n",
+ "If we solve those two issues, we see that the phase exactly equal to the original function."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "id": "8901bbc1",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAnYAAAHZCAYAAAAL9nZfAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAbcdJREFUeJzt3Qd4VNXWBuCPBBJ6gFBC770LgmABBQ3IRbGiohQRvAiigAV+kWIDFRVUBEUFbFdsWFBBRESRKk0EQTokhAChhQ7J/M+3DzMpZEIymT7f+zxjcs6cmTmcxMmavfZaO5/NZrNBRERERAJemK9PQERERETcQ4GdiIiISJBQYCciIiISJBTYiYiIiAQJBXYiIiIiQUKBnYiIiEiQUGAnIiIiEiQU2ImIiIgECQV2IiIiIkFCgZ2IiIhIkFBgJyJB6b33gBtu8M5r5csHfP219f3Bg0DZskBcnHdeW0QkPQV2IhJ0Tp8Gnn4aGD3a+69dujTQs6dvXltERIGdiASdL74AihcHrrzS+TFnz3ru9fv0AT7+GDh0yHOvISKSFQV2IuK3DhwAYmKAF15I27dkCRARASxY4Pxxn34KdO2acV/v3kC3bsDzzwMVKgB161r79+wB7rwTKFECKFUKuPlmYOfOtMetXAlcf701EhcVBbRrB6xenf15N2xovcbs2S79s0VEXKbATkT8VpkywPvvA2PGAH/+CSQnA/fdBwwaBHTo4PxxixcDLVtevJ/B4ObNwPz5wJw5wLlzQGwsUKwY8PvvwB9/AEWLAp06pY3o8TV79bKec9kyoHZt4MYbrf3ZadXKek4REW/K79VXExHJJQZR/foBPXpYwVqRIsC4cc6PP3IEOHrUGjHLjI99911rxI8++ghITbX2sQCCpk+3Ru9+/dUqvrjuuozP8c471v2LFgH/+Y/z8+Drr1mjH7eIeJdG7ETE702YAJw/D3z+uTV3LTLS+bGnTllfCxa8+L7GjdOCOlq3Dti61Rqx40gdb0zHsvhi2zbrmMREK7DkSB1TsZy7d/w4sHt39udcqBBw8qRL/1wREZdpxE5E/B6DrL17rdE1zn9jgOZMdLQ1+nb4cNYjdukxQGvRwgoWs0oDE9OwSUnApElA1apWUNmmzaWLL1g4YX8OERFvUWAnIn6NAdS99wLdu1sFDw88AKxfb/WKywpH5Bo0ADZuvHQfu8suA2bNsp6LI3FZ4by7t96yUsL2Ygv2qruUv/8G2re/9HEiIu6kVKyI+LWnnrLmzL3+OvDkk0CdOsD992f/GBZEsNjhUjhvj9WurIRlocOOHdbcusGD0xoMMwX74YfAP/8Ay5dbj2GaNTtMwa5a5b0GySIidgrsRMRvMciaONEKrDiiFhZmfc8gbMoU54/r2xf44QcrIMxO4cLAb78BVaoAt94K1K9vPZZz7OwjeFzBgmldju6xIpdBn7PRQrtvvrGe8+qrXfhHi4jkQT6bzWbLyxOIiPijO+6wgrERI7z/2ldcYQWA99zj/dcWkdCmETsRCUovv2xVuXob599x9O/uu73/2iIiGrETERERCRIasRMREREJEgrsRERERIKEAjsRERGRIKHATi7ZPZ99u9j6getjshUEu/XnBOutO3e2VgH4+mtdaHdeZx7/8MNWw172VGNrDVZhXqq9RyiaPBmoVs1aYqx1a2DFiuyP57Jl9epZx3OFC7ZNEfde52nTrFYwJUtat44dL/1zEdd+n+0+/dR6L+7WTVcy2Cmwk2wx2NiwAZg/H5gzx+r51b9/zi4a+4/ZF1YX915nLq/FG9dQ5QoHM2YAc+daAaGk4aoSQ4cCo0cDq1cDTZtazYv378/6Ki1ZYlWz8jquWWP9EeSN11jcd53Zn5DXeeFCYOlSoHJlq5lzfLyusjuvsx2X4XvsMfVVDBnsYyeSlY0bOeZms61cmbbvxx9ttnz5bLb4+Oyv2Zo1NlvFijZbQoL1HLNn6xp74jqn99lnNltEhM127pyutV2rVjbbwIFp1yMlxWarUMFmGzcu62t05502W5cuGfe1bm2zPfigrqk7r3Nm58/bbMWK2WwzZ+o6u/s689q2bWuzvfuuzdarl8128826xsFOI3biFD9JMy3YsmXaPqZM2P2fSytlt5wSG7MyZRATowvsqeucGdOwTOXm1wrQjjVmuawXr6Udrym3ec2d/SzSH08cEXF2vLh2nbN6zzh3DihVSlfU3df5mWeslVI0mh869CdAnNq37+Klkxg08M2X9zkzZAjQtq21/qZ47jpnbor77LM5T5OHAl6TlBSgXLmM+7m9aVPWj+H1zur4nP4cQpEr1zkzrgFcocLFQbXk7TpzvWQuibd2ra5kKNGIXQgaPtya+5bdLadvyJl9+y3wyy/W/LpQ58nrnN6xY0CXLkCDBsCYMe44cxHvGT/emtg/e7ZVECDukZxsrW3MQpXSpXVVQ4lG7ELQsGFA797ZH1OjhpVGzTwp9/x5qyLTWYqVQd22bVZqMb3bbrMm7nLSdKjw5HVO/+bdqRNQrJj1h7FAgbyfd7DgH7PwcCAxMeN+bju7rtyfm+PFtetsx+IfBnY//ww0aaKr6c7rzPdhFk107Zq2LzU1LSOweTNQs6aueTBSYBeCypSxbpfSpg1w5Ig1r6NFi7TAjW8OLLN3Nkr1wAMZ97FlxGuvZXyDCQWevM72kTrO/4qMtEZKNdqRUUSEdT0XLEhr8cBryu1Bg5z/LHj/o4+m7WOlMveL+64zvfQS8PzzwLx5GeeXinuuM1v2rF+fcd/IkdaHwUmTrEpkCVK+rt4Q/9apk83WvLnNtny5zbZ4sc1Wu7bNdvfdaffHxdlsdeta9zujqlj3X+ejR61qzcaNbbatW63qY/uNVXBi+fRTmy0y0mabMcOqPu7f32YrUcJm27fPuv+++2y24cPTrtYff9hs+fPbbBMm2Gz//GOzjR5tsxUoYLOtX68r6s7rPH68VcH9xRcZf3eTk3Wd3XmdM1NVbGjQiJ1k6+OPrU+DHTpYFVhMqb7+etr9rGTjkD6r2sR715k9rOwVs7VqZXyuHTusBqYCdO8OHDgAjBplFUA0a2b1+7NPQN+927rediz6+eQTa2Tj//4PqF3baq7dqJGupjuv85QpVpXn7bdnfB72Z9M8UfddZwlN+Rjd+fokRERERCTvFNuLiIiIBAkFdiIiIiJBQoGdiIiISJBQYCciIiISJBTYiYiIiAQJBXYiIiIiQUKBneTKmTNWnyl+Fc/RdfYOXWdd52Ci32ch9bGTXOEyVlFRwNGjQPHiunieouvsHbrOus7BRL/PQhqxExEREQkSCuxEREREgoTWir2ElJRU/PvvXhQtWgz58uVDqEtOtr7Gx1vD/qLrHMj0+6zrHEz0+5xRaqoNiYnJaN68AvLnD51xLM2xu4R//olDgwaVvfPTEBEREbdasWIPLr+8UshcVY3YXUL58sXM140b96BYMVULiIiIBIKEhGNo1aoyypWz/o6HCgV2lxAWZqVfK1YsjuIqAxUREQnIv+OhInSSziIiIiJBToGdiIiISJBQYCciIiISJDTHzk1SUlJw7tw5dz2diEsiIiIQFqbPayIioUqBXR7ZbDbs27cPR44ccc9PRCQPGNRVr17dBHgiIhJ6FNjlkT2oK1u2LAoXLqwmxuIzqamp2Lt3LxISElClShX9LoqIhCAFdnlMv9qDuujoaPf9VERcVKZMGRPcnT9/HgUKFNB1FBEJMZqMkwf2OXUcqRPxB/YULD90iIhI6FFg5wZaQ1b8hX4XRURCmwI7ERERkSARMIHduHHjcPnll6NYsWJmTlu3bt2wefPmSz7u888/R7169VCwYEE0btwYP/zwg1fON5jt3LnTjAytXbs2x4+ZMWMGSpQo4fXzOHnyJG677TazHByP9WX18q+//urzcxARkexNngxUqwYULAi0bg2sWOH82BkzmCnJeOPjfClgArtFixZh4MCBWLZsGebPn2/mt91www04ceKE08csWbIEd999N/r27Ys1a9aYYJC3v//+G6Fuz549uP/++1GhQgUzL6tq1ap45JFHkJSUdMnHVq5c2VReNmrUKMev1717d/z777/wtpkzZ+L33383vws856ioKK+8bvv27fHoo49m2Ne2bVuvnoOIiOTOrFnA0KHA6NHA6tVA06ZAbCywf7/zx3AZ+YSEtNuuXb696gET2M2dOxe9e/dGw4YN0bRpUzMCtHv3bqxatcrpYyZNmoROnTrh8ccfR/369fHss8/isssuw5tvvolQtn37drRs2RJbtmzB//73P2zduhVTp07FggUL0KZNGxw6dMjpY8+ePYvw8HDExMQgf/6cF1UXKlTIjLR627Zt28zPnkEoz9mXc9AYQPv6HERE/K0XbHJyMvzFq68C/foBffoADRoAU6eyQBJ4/33nj+FbekxM2q1cOfhUwAR2mR09etR8LVWqlNNjli5dio4dO2bYFxsba/Y7c+bMGRw7dizDLdhw5JNBxk8//YR27dqZnmedO3fGzz//jPj4eDz11FOOY6tVq2YC4p49e5p0Zv/+/bNMgX777beoXbu2SXlfe+21ZqQsfdoxcyp2zJgxaNasGT788EPzGhzFuuuuuzL8D85g/qqrrjKPYzuZ//znPyZQy82o2SuvvILffvvNnAu3id9//fXXGY7la/Acyf7v++qrr8y/hVXP/DCR+ffmjz/+MM/J+0uWLGl+tw4fPmw+gHCEmR8s+Dy88TmzSsV++eWX5sNKZGSkuQ483/S474UXXjCjq5yGwJ/VO++8k+NrICLir5h543vjrl27PDpFJTkZ4J9y++3MmayPO3sW4FhR+rCBC/lwO5uwAcePA1WrMpsF3HwzsGEDfCosUBuxMs115ZVXZpsOZPPgcplCZ25zf3Zz+Rhk2G9MO+bmkwfPzRc3vnZOcDRu3rx5eOihh8woWnocTerRowdmzZqV4fkmTJhgAhums59++umLnnPHjh24/fbbTZp73bp1ePDBBzMEh84wSGOANWfOHHNjMDR+/HjH/UyzDx06FH/++acZTeSqCrfccov59+YEA7N+/fqZUUimQLmdG/w3PPbYYyaArVOnjknrsz8ccV+HDh3QoEEDE/AtXrwYXbt2NW1GGNDxNfnafF3esvo94mjznXfeaQLa9evXm2CX19ceYNox2OMIK68/f24DBgzI0fxSERF/dfz4cfM3gO/zns5iNGgAcAaM/TZuXNbHHTzIVlEXj7hx21nYULeuNZr3zTfARx8xPuG0GyAuDj6TP1BHnDhPjn9M3W3EiBEmmLDjiF1OgzsGQxs3boQvMMDIyf8cTL/yPJmezAr3c9TpwIEDjtTpddddh2HDhjmO4Ses9N5++23UrVsXL7/8stnm9/z5PP/889meCwM0BjEciaL77rvPBHD2x7HoIb3333/fNODlNc7J/D6O5nI0zZ4CzS0GdV26dDHfjx071oysMW3NYpyXXnrJBFtvvfWW43jeb8fX5Gtn97qvvvqqCQ7twTKDR/7beB056md34403moCOnnzySbz22mtYuHChuc4iIoGEf3/2799v/sYQsxX8G8tsj6ds3AhUrJi2HRnpvudu08a62TGo45/Xt98Gnn0WPhFwI3aDBg0yozv8w1apUqVsj+Uf1cTExAz7uJ3dH1v+kjHlmP4WjHI6wkcMYLLD0SNWLKfXqlWrSz4v04z2oI7Kly9v/odPH4RylKxGjRrm58DjiXMrvaFJkyYZzo3s52cfscuLf/75x4w6p8dt/rvTNxhOfx4M3vn7m/46iYgESuqVGR57UMcpLDVr1vRoUEf8M8M/5fabs8CudGkgPJxxQsb93M7p2AAX/GneHNi6FT6TP5ACkYcffhizZ882c5W40PmlMB3GEaD01YmsqOV+T+AfXY6c+UJOh7Jr1apljmVQwbRmZtzP/9k4MmZXpEgReELmJa94XunTrExtslp32rRppnqX93GkjgUcecHXyRzY2lcRcXZ+9utrP7/MaWxPutR1EhHxd5w/HRcXZz60cloN39Pd3QIrryIigBYtgAULgG7drH18q+X2oEE5ew5+Jl+/npkW+ExYIKVfP/roI3zyySdmlIfz5Hg7deqU4xhO8Gcq1Y7tOzgBn3OUNm3aZOYwcb4WR/08gX9w+Qvri1tOAzsWIVx//fUmhZj+2hGv58cff2xak+RmzgNTgryu6a1cuRJ5wbYrHAkcOXKkGRmzp4jdgUEr573ZcYSM/e5yg6No/NDgDFOxl1rWi/8mFmCkx22mZFl5LCIS6Pghmn9bWCDB90SOznGUzt+COjvOxJo2ja2yONABDBjA+d5WlSz17MkpW47D8cwzwE8/sduE1R7l3nutdicPPACfCZjAbsqUKaYSllWITIvZb5zob8cUXfo/2OwbxkCQVYSc/P/FF1+Yyfq56b8WjNjuhdW/rOJkxSh72jEAZsBXsWLFS86Ny4zFEgycOf+Lveo+++wzRwGAq5NiOWrIIJQ/O85r++WXXzLMfcwLzhnkNWAxAgPS//73vxeNil0KP0AweOXct7/++sv8+/k7epCzby+kmZcvX27mI3JfViNsnLfI4JBVx7xurCTmeXFun4hIoGN2halX+/si5z1zag2nPPmr7t1ZMAiMGgU0a8ZpN+zQkFZQwZlA6cIMcLyB7VE4r46jdKy6XbLEKtjwlbBAivqzuqWfZM4UbeaKwjvuuMOM/DCQ4YR+TkQPdWxLwoCG/4OxKpOfntjGhK09WOGZXQuZrDAtzqCZVaccyWKAY6+KdfV/YI5Cfvrpp6ZylIH4kCFDHMUZecURXE7Wvfrqq3HPPfeYQIqFDrnBUTW2i2EVMOcTMr3/zTffOHr78Tk56sbUPEcIs5oXyJ6KDIL57+S/cdSoUXjmmWcy/E6LiARq6pVVr8yG8P2c77lMv/J7fzdokDXqxrYoy5dbq0/Y/fqrtdqE3WuvpR3Lytnvv7fm2PlSPltuZtGHIFbFsu0JRwszF1KcPn3afBphYOPpyZ+BhqN+bHrM0UDxHv1Oiog/pF7tqxjxbyODOl+M0sXFsatFFPbsOYpKlYKzEDKgiyfEv3HOHitjmT7lPDGOrnlqLqOIiPhn6pUf5u3zt/n3gL1jA2GULpgosBO3YAHCc889Zxogc3UEzh9LX8giIiLBnd1i1SvnEzOQYzuyYG0X5u8U2IlbsGkubyIiEjoYyLE/rD31ylZQTL2yM4D4hgI7ERERcSn1ysIwzu0lpV79gwI7ERERyRUWFMbHx5sRO3YAYKsspV79gwI7ERERyREGcqx65XxqYqsozqdT6tV/KLATERGRS2I/WFa92lOvpUuXNlWvrjaiF89QYCciIiLZOnLkCPbu3etIvXKUjst7iv9RYCciIiJZYiDHpTrta3Uz9cqq19wuwyjeo66BIdwdnMuIcfkwDqOv5YJ4LuBaqHl5fG5wuTh3LhzNJeh47vwkKiIiGTHlymXB7EEdl0fkSksK6vybRuz8QEqqDSt2HML+5NMoW6wgWlUvhfAwz85ZmDt3rgmUGNxwzVjOlfB33bt311q/IiJewGCOqVcOAnANbKZeixYtqmsfABTY+djcvxMw9ruNSDhqTUal8lEFMbprA3RqVN5jr8tPYeXLl0fbtm0RKNj4kjcREfFc6pUBnT2TUaRIERPUaZQucCgV6+OgbsBHqzMEdbTv6Gmzn/d7Qu/evfHwww+bxpJMRVarVu2S/6O/9NJLqFWrllnImUuGPf/881kem5KSgr59+5rhegZhdevWxaRJkzIcw1HCVq1amTcMplavvPJK7Nq1y9y3bt06XHvttWZSLnsitWjRAn/++afTVOx3331n1qjlQtMcdbzlllsc93344Ydo2bKlea6YmBjcc8892L9/v8vXTUQkFFKv9qCubNmy5u+DgrrAohE7H6ZfOVJny+I+7mMilvdf3yDG7WlZBlo1a9bEO++8g5UrV5oKp+xwzddp06aZJcOuuuoqM5F206ZNToNAfrr7/PPPTRfyJUuWmLl8HB288847cf78eXTr1g39+vXD//73P9O5fMWKFY5y+R49eqB58+aYMmWKOS/O3XP2pvL999+bQO6pp57CBx98YJ7rhx9+cNx/7tw5PPvssya4ZEA3dOhQE9SmP0ZEJNQx3crUK9/blXoNfArsfIRz6jKP1GUO7ng/j2tTM9qtrx0VFWVGsRg4cSQrO8nJySYQfPPNN9GrVy+zj0EhA7ysMAgbO3asY5sjd0uXLsVnn31mAjsuFM2O5f/5z3/M81D9+vUdx3MU8fHHH0e9evXMdu3atZ2eG0cN77rrrgyv17RpU8f3999/v+N7ziN8/fXXzeje8ePHNVdERORCloWpV74vE+fR8cM559VJYFIq1kdYKOHO4zzln3/+MU0pO3TokOPHTJ482aRQWUHFNwmODDJgI1bhctQsNjYWXbt2NUEjPyXacVTtgQceQMeOHTF+/HiTFnCGo3nZndeqVavMazB1zEC2Xbt2Zr/9XEREQtmpU6fMe6w9qGOz4apVqyqoC3AK7HyE1a/uPM5Tclus8Omnn+Kxxx4z8+x++uknE3z16dPHpEntpk+fbkbxWLgxa9Ys1KlTB8uWLTP3jRkzBhs2bECXLl3wyy+/oEGDBpg9e3auz+3EiRMmeOQ8vY8//tiknO3Pk/5cRERCDdOtXBJs+/bt5v2Qo3PMrvDDuFaRCHwK7HyELU1Y/eps9hz3834e50tMhTKAWrBgQY6O/+OPP0zA9tBDD5m5ciy4yGrUjfdx7h7n4DVq1AiffPKJ4z4GekOGDDGB4a233moCwaw0adLE6XlxDmBSUpIZ9bv66qtNaleFEyIS6ph65bJg9lYmzGbwfZrFbBIcFNj5CAsi2NKEMgd39m3e7+l+dpfCatMnn3wSTzzxhClQYJDG0bX33nvPaSDIKtZ58+bh33//xdNPP21Gy+x27NhhAjqO2LESlsHbli1bzDw7pgUGDRpkqmZ5H4NEPjb9HLz0Ro8ebQow+JUp4/Xr1+PFF1809zH9ykWp33jjDfOp9NtvvzWFFCIioZ565Vxn4hxrvldqPl1wUWDnQ+xTN+XeyxATlTHdym3u92Qfu9xgcDZs2DCMGjXKBFlsFOxs9OvBBx80o2w8pnXr1mbUjKN3dlyOhqNpt912mxmZY8XswIEDzeNYzMHje/bsae5jsUXnzp0zFEek1759e1N9y6CtWbNmuO6660yFLTGlwPYovJ/pXI7cTZgwwUNXSETEf3Fkju+t9tQri9zsjemVeg0++Wz8iYtT/GTDKlJOLuV8rcw9fzgCxbkJHNkKpJUnJDi563dSRIIn9RofH+8YpWPqlVWvl2pzFQzi4o6hcuUo7NlzFJUqZfz7HcxUz+wHGMS5u6WJiIiEtpMnT5r5dOzpyZE5pl7t64NL8FJgF+LY+oOpSmc2btxo5mCIiEhgpV737dtntpl65fu4lmQMDQrsQlyFChVMS5Ls7hcRkcDA1X2YemVzeeIUoooVK4ZE6lUsCuxCHKuhWOouIiKBTalXIQV2IiIiAZ56PXjwIBITE802Wz1VrlxZqdcQpcBOREQkgFOvcXFxZg1sYhcHTqFR6jV0KbATEREJQFw6kVWvDO5Y6Vq+fHmULFlSVa8hToGdiIhIgKVeDxw44GgUHxkZaVKv6l0ppMBOREQkQHB0jqN0HK2jEiVKmJE6pV4lIJcU++2339C1a1czf4DDzl9//XW2x3PNUR6X+Wbv7SPOVatWDRMnTtQl8gH77+2RI0d0/UXEgfPotm7daoI6vkewjUmorCIhQRrY8Ze5adOmmDx5cq4et3nzZiQkJDhuZcuWhV9JTQF2/A6s/8L6ym0JOOzu/uSTT6Jx48YoUqSI+QDCdW/37t2bq+dp27at+T3lJGgREaZeWfG6c+dOM2LH1GvNmjXNfDqRgE7FckF43nKLgRyHq/3Sxm+BuU8Cx9L98S9eAej0ItDgJl+emWTCxbPZRiC7HlKrV6/G008/bT6AHD58GI888ghuuukm/Pnnnzm+nnwNLv0jIsIPjKx6tadeGcwx9RoWFlDjMuJFIfGb0axZM/M/wvXXX48//vgj22PPnDljFktOf/NoUPdZz4xBHR1LsPbzfg9p3749Bg0aZG4cGSpdurQJSPjJMH2gcv/995tFo7kczTvvvJPhOTg6VadOHRQuXBg1atQwj+ebkN26detw7bXXmsez+3mLFi0yBDiLFy/G1VdfbXotceLv4MGDHW9el8KgiaNhfJPj6zPg37Jli7mPPzM+548//pjhMbNnzzbnwn8XcZ7KnXfeaYJ+rp948803m0/Edr1790a3bt3w/PPPm9G3unXrZntOvI7z5883z8ljr7jiCrz55ptYtWqVWbqN+PxMoXz66admZI6TnRs1aoRFixY5nkepWBEhrh5hT70ykGPalelXBXUSsoEdg7mpU6fiyy+/NDcGDwxoOKrizLhx48wfaPuNj/EIpls5Uoe0QCrNhX1zh3s0LTtz5kyz8sSKFSswadIkvPrqq3j33Xcd97/yyito2bIl1qxZg4ceeggDBgwwaW07BkkzZsww68ny8dOmTcNrr73muL9Hjx7mjWjlypUmuBk+fLhZs5C2bduGTp064bbbbsNff/2FWbNmmUCPgWZOMOhikPjtt99i6dKlJiC98cYbTWDJIPI///kPPvnkkwyP+fjjj02gxkCQx8XGxpp/w++//24C/qJFi5pz4sic3YIFC8y/mQHbnDlzcn2Njx49agK5zCPGjz/+OIYNG2aubZs2bczcUa7tKCLC9zPOBd+1axdSUlLMB0CmXv028yT+xRageOqzZ8/O9eOuueYa27333uv0/tOnT9uOHj3quO3Zs8e8Fr/P7NSpU7aNGzear7m2/TebbXTxS994nAe0a9fOVr9+fVtqaqpj35NPPmn2UdWqVTNcJx5XtmxZ25QpU5w+58svv2xr0aKFY7tYsWK2GTNmZHls3759bf3798+w7/fff7eFhYVd8nr++++/5mfyxx9/OPYdPHjQVqhQIdtnn31mtvm7UbRoUduJEyfMNn9+BQsWtP34449m+8MPP7TVrVs3w7//zJkz5jnmzZtntnv16mUrV66c2e8K/jsuu+wy2z333OPYt2PHDnPu48ePd+w7d+6crVKlSrYXX3zRbC9cuNAcc/jwYZde0+XfSRHxubNnz9q2bdtmW79+vbnFx8fbUlJSfH1aAWnPnqPmvZRfQ0lQj9hlpVWrVmZo2xlOSuWIT/qbRxxPdO9xLmCqkKNJdhw5YjqTnxCpSZMmjvt4HOd92fsmEUfZrrzySrOfo10jR450pBxp6NCheOCBB9CxY0eMHz/ejNKlT9NytI+Ps984gpaamoodO3Zke97//POPGWls3bq1Y190dLRJf/I+4ugdRwc5okccseXPkudif33+HnDEzv76TMeePn06w3myECK7eXXOcESQKVl+BpkyZcpF9/Na2/HfwpFR+7mLSGinXjldhOlWZow4DUSpV8mNkAvs1q5da1K0Ple0nHuP8wB72jR9cMfAi5j+ZKqVARRTlEwpPvXUUxnSmGPGjMGGDRvQpUsX/PLLL2jQoIGZ52Yv23/wwQfNz8N+Y7DFwJIph7xiMHb77bc70rH82r17dxNE2V+fc/7Svz5v//77L+655x7H87C61dWgjmkUpnA99uFARII69arKeAn6qlh7Dx87juzwjzFHWji5f8SIEYiPj8cHH3xg7mcfturVq6Nhw4ZmJIbzxxhg/PTTT/C5qm2t6lcWSmQ5zy6fdT+P85Dly5dn2F62bBlq166do55IS5YsQdWqVU0wZ8c3pcxYXMHbkCFDcPfdd2P69Om45ZZbcNlll5m5ebVq1cr1edevX9+U/PP8WYBAnJ/GuXAMHu0YeLJghsElf+7PPfec4z6+PkccWTHtzsDLHtQxQF24cKEZScwKr/U111xjvue/hXMQczq/UESCBz8Ms5Dr1KlTZpt/z5gF0SidhMSIHSfLN2/e3NzsqT5+P2rUKLPN3l/pU4H8H4YT1JlOa9eunRkR+vnnn9GhQwf4XFi41dLESEuHZtjuNN46zkN4rXgNGRD973//wxtvvGHac+QEA0A+ntWdTF2+/vrrjtE44psUAxVWeDLgY3ECiygYlNkrahkc8hgG5wyEvvnmmxwFN3xtVrD269fPFFzw53rvvfeaajHut2PgxDdIBngM8NOnbrmPlcA8nsUT/JDAc2VlLlsLuBrUcZSQv6cs1OAnb34K5y39SCaxFyOv16ZNmzBw4EBT5csKZBEJHazg52AF3y+VepWQHLFjRWv6dhyZcc5Wek888YS5+S32qbvzAyd97MZ7vI8d24XwDYXzDjlKx6Cuf//+OXose7NxFI6BGFvEMN3KdidMvxKfj6NofA021mQQdeutt2Ls2LGO+Xts8cERP7Y84c+VqQemS3OCI388X1a/MmhiEPfDDz9kSB8zdcxRwpdeeskR/NuxMpYrmTDA5HlxbgsDQwb9ro7gcbTYPqePLXbS4+gdf3/tOOeQNwa1HLXk43iNRCT4cUoL3xftlfD2lk+uzOcVySwfKygu2isZPlFxngPbVmT+g8/0Lkd6OBqUp8WX2dJk1xKrUIJz6ph+9eBIHTHIYPChZcO8i33s+PvCOYmZgz93cNvvpIh4JfXK6RrlypVT6tUD4uKOoXLlKOzZcxSVKoXOXOeAGrELWgziql/t67MQEREP4gABR/Y5YsesBrMEKq4Sd1NgJ36Hc96yWzqORTS+4K/nJSL+jYEc59oeOnTIMRWEzduVehVPUGAXolgo4K/Y041zz4LxvKpVq5btPFERCS6cg8zUK6dJEOfSMvWavoeoiDspsBO/w4nErrRBCdXzEhH/dOTIEezdu9eReuUoHZuii3iSAjsRERE3YiDH9ltsY2RPvbLqNXPTdxFPUGDnBvbVGER8TWleEd+nXtnjk1+pTJkyphG6Uq/iLQrs8oATX9lUkkPt/J+X2/qfV3wZ1B04cMD8DmpkQMT7OELHvwf8f5GpV47ScR1qEW9SYJcHDOrYL4xD7vyfWcTXGNRxHk9OloUTEfdlbfg3gHPq7GtM8/9DfcASX1Bgl0ccpeM6tVzvk0tIifgS/5AoqBPxHla7surVnnpl2pUZHGVvxFcU2LmBPfWlT2ciIqGB6VZ71Su/z58/vxmlU+pVfE2BnYiISC4wO8OAjitJEIM5BnUM7kR8Tb+FIiIiOcQ1Xpl65ZqvxGbDbDqs1Kv4CwV2IiIil8B0K6teWSxnT72y6pWFEiL+JMzXJyAiIuLvqde4uDjHfDqmXrkKjYK64DR5Mpd/BAoWBFq3BlasyNnjPv2Uc+6Bbt3gUwrsREREskm9btu2zTGfLiYmBlWrVtV8uiA1axYwdCgwejSwejXQtCkQGwvs35/943buBB57DLj6avicAjsREZFMODKXlJSE7du3m/l07HpQo0YNzacLcq++CvTrB/TpAzRoAEydyiXhgPffd/4Ydjrr0QMYOxaoUQM+p8BOREQkU+qVBRL2+XTFihVDzZo1zZqvEniSk4Fjx9JuF1oOXoT1MKtWAR07pu0LC7O2ly51/vzPPMP+hUDfvvALCuxEREQuOHnyJLZu3Ypjx46ZSlemXtmEXq1MAleDBkBUVNpt3Lisjzt40Bp9K1cu435u79uX9WMWLwbeew+YNg1+Q1WxIiIS8uyp18TERPM9U6+setUoXeDbuBGoWDFtOzLSfSOB991nBXWlS8NvKLATEZGQxiUh4+Pjkcy/1ACKFy+OihUranm+IFGsGH+mlz6OwRmX2U5MzLif2zExFx+/bZtVNNG1a9q+1FTrK3tVb94M1KwJr1MqVkREQjr1yqpXBnVMvZYvX96M1GnN5dATEQG0aAEsWJAxUON2mzYXH1+vHrB+PbB2bdrtppuAa6+1vq9cGT6hETsREQk5TLcePHjQpF4pIiLCBHSFChXy9amJDw0dCvTqBbRsCbRqBUycCJw4YVXJUs+eVlqX8/TY565Ro4yPL1HC+pp5vzcpsBMRkZBLvbLh8PHjx812VFQUKlSooFE6QffuwIEDwKhRVsFEs2bA3LlpBRW7d1uVsv4sn40fW8QpVkbxf3o2p+S8CxERCVwnTpwwrUwY3NlTryVLltRar0EoLu4YKleOwp49R1GpUuj8/daInYiIBD2OYRw4cAD7LywhwNQr25gUZD5NJIgosBMRkaDG0TmO0nG0jkqUKGFG6lQgIcFIgZ2IiAQtzqPjfDp76pVz6Zh6FQlWCuxERCQoU69MuzL9SpGRkabqValXCXYK7EREJKicO3fOjNKlT71ypC7M38sZRdxAgZ2IiAQNNhpmUJeSkmICOQZ0DOxEQkVAfXz57bff0LVrV/M/KudKfP3115d8zK+//orLLrvMDMPXqlULM2bM8Mq5ioiId1OvbDa8a9cuE9Qx5VqzZk0FdRJyAiqw47B606ZNMXny5Bwdv2PHDnTp0gXXXnst1q5di0cffRQPPPAA5s2b5/FzFRER76Ve+X5vn0/H4ogaNWqYD/QioSagUrGdO3c2t5yaOnUqqlevjldeecVs169fH4sXL8Zrr72G2NhYD56piIj4IvVasWJF01ReJFQFVGCXW0uXLkXHjh0z7GNAx5E7Z86cOWNu6VeeEBER/0y9cr1XYuqVVa8apZNQF1Cp2Nzat28fytkXeLuA2wzWTp06leVjxo0bZz7t2W98oxAREf9x9uxZbN++3RHUlSpVSqlXkVAI7FwxYsQIsy6s/cZu5SIi4h/4wXzbtm3mwzlTr/zwrVYmIiGSio2JiTFD9elxu3jx4ihUqFCWj+EwvobyRUT8S2pqqnn/TkpKMtt8D2dQxzVfRSREArs2bdrghx9+yLBv/vz5Zr+IiARO6pXZE/sUmujoaDOtRg2HRQI8Fcs1/9i2hDdieTu/3717tyON2rNnT8fx//3vf808jCeeeAKbNm3CW2+9hc8++wxDhgzx2b9BRERyjlNitm7daoK68PBwVKlSBeXLl1dQJxIMI3Z//vmn6UlnN3ToUPO1V69epvFwQkKCI8gjtjr5/vvvTSA3adIkVKpUCe+++65anYiIBEDqlQVwhw4dMttKvYrkTD4ba8Yl24m6rI7lp0bOzRMREc9iyymmXk+fPm22S5cubVKvXHFIJKfi4o6hcuUo7NlzFJUqhc7f74AasRMRkeB25MgR7N2714zYMfXKTEuxYsV8fVoiAUOBnYiI+BwDOU6nOXz4sNkuXLiwqXotUKCAr09NJKAosBMREb9KvZYpUwZly5ZV6lXEBQrsRETEb1KvHKUrWrSofiISEs6d4ypZwMmT/EDDVVTy/pwK7ERExOsYyDGgY2BHRYoUMfPplHqVYJecDHz0EfDpp8CKFezTyLWPAdYGVaoE3HAD0L8/cPnlIdDHTkREAh9TrlwWzB7UMe1arVo1BXUS9F59FahWDZg+HejYEfj6a4Ctef/9F1i6FBg9Gjh/3gruOnUCtmzJ/WtoxE5ERLyC3bXsqVd+nz9/fjNKp9SrhIqVK4HffgMaNsz6/latgPvvB6ZOtYK/338HatfO3WsosBMREY9LSUkxAR17gtpTr5xPx+BOJFT87385Oy4ykqtnufYa+j9KREQ8nnrlqkBc89WeemXlqxoOi7ifAjsREcmzlPPnsWn5PJw6HI9CJSuiXutYhIWHm7507E9nT71ylI6jdSKh6NZbc37sV1+59hoK7EREJE/WzJuJCkvHoiGSHPsS50djU8OhiK7f3mxzHh3n0yn1KqEsKirte1bCzp5t7WvZ0tq3ahVbAOUuAMxMgZ2IiOQpqGu6ZLC1kW4p1zK2JJT5+yn8fGYUmsf2NOu9KvUqoW769LTvn3wSuPNOq1AiPNzal5ICPPQQkJel6dXuREREXE6/cqTO/DFJF9Sl326ydTJKlSypoE4kk/ffBx57LC2oI34/dKh1n6sU2ImIiEs4p64cki4K6hx/YPIBMUgyx4lIRuxXt2lTFv9fbWIDb7hMqVgREXEJCyXceZxIKOnTB+jbF9i2zepfR8uXA+PHW/e5SoGdiIi4pFDJCjk8rqKusEgmEyYAMTHAK68ACQnWvvLlgccfB4YNg8sU2ImISK6dP38ehWLqIxGlUMZ2KMt0bKoN2J8v2rQ+EZGMwsKAJ56wbseOWfvyUjTheN68P4WIiISSkydPmrVeT546hXW1BzmCuPTs2wltRiNcq0uIOJ1n9/PP1ooU+S58ONq7Fzh+HC7TiJ2IiOQImwwfPHgQiYmJZjsiIgJX3/oQ1v1W2lTHspDCjiN1DOqax/bS1RXJwq5dQKdOwO7dwJkzwPXXA8WKAS++aG2zDYorFNiJiEiOUq9xcXE4fmEoISoqChUqVEB4eLgJ3lI69MCGTCtPxGikTsSpRx6xGhOvWwdER6ftv+UWoF8/uEyBnYiIZOvEiRPYs2ePCe7YZLh8+fIomak3HdOtDa/soispkkO//w4sWcKR74z7q1UD4vNQSK7ATkREnKZeDxw4gP379ztSr1WqVEHBggV1xUTyiL3quNJEZnFxVkrWVSqeEBGRi3B0bufOnY6grkSJEqhZs6aCOhE3ueEGYOLEtG0OgHOmw+jRwI03uv68GrETEZEMOI+O8+nsqVfOpWNgp7VeRdyH/etiY4EGDYDTp4F77gG2bAFKl7aqZF2lwE5ERLJMvUZGRqJy5coapRPxgEqVrMKJWbOsrxyt40oUPXoAhQq5/rwK7EREBOfOnTOjdCyUII7QcaQujF1URcQjWDjOQI43d9H/sSIiIY6p161bt5qgjoFcxYoVUalSJQV1Ih4UHg5cey1w6FDG/WwTyftcpcBORCSEU69sNswiiZSUFJN6ZYEEW5mIiGfZbFYjYvay27Dh4vtcpcBORCREU687duwwc+qIwRyDOgZ3IuJ5rIL98kuga1egTRvgm28y3ucqzbETEQkxycnJZj4dR+mYerVXvYqI93BUjinXSZOAhg2B7t2BkSOBBx7I2/O6FNidOXMGy5cvx65du8xi0GXKlEHz5s1RvXr1vJ2NiIi4Rcr589iUaYmvsPBwk3rleq/ERsOsetUonYhv9e8P1K4N3HEH8NtvXgzs/vjjD0yaNAnfffedGcbnWoGFChXCoUOHTLBXo0YN9O/fH//9739RLC9tk7MxefJkvPzyy9i3bx+aNm2KN954A61atcry2BkzZqBPnz4Z9vEN7DQbxoiIBKk182aiwtKxaIgkx77E+dHYUO9RlG10ndkuVaoUYmJiVCAh4iNVq2YskmAhxbJlVmo2L3I8x+6mm25C9+7dUa1aNfz0009mKD8pKckM53PUbsuWLRg5ciQWLFiAOnXqYP78+XC3WbNmYejQoRg9ejRWr15tArvY2FhHz6WsFC9eHAkJCY4bRxlFRII5qGu6ZDDK2NKCOuJ2+3+eRsK6n8wonVqZiPjWjh1AdHTGfbVqAWvWANu3e2HErkuXLvjyyy9RoECBLO/naB1vvXr1wsaNG00Q5W6vvvoq+vXr5xiFmzp1Kr7//nu8//77GD58eJaPYad0fioVEQmF9CtH6igs0+RrbqfagMZb3kTRIoN9c4IicklcipmjeR4fsXvwwQedBnWZNWjQAB06dIA7nT17FqtWrULHjh0d+zjpl9tLly7Ntj9T1apVzSfUm2++GRsy1xRnwpTysWPHMtxERAIB59SVQ9JFQZ0d98cgyRwnIt5XqhRwYYor2FWI285uQV8Vy8m+rOAqV65chv3c3rRpU5aPqVu3rhnNa9KkCY4ePYoJEyagbdu2Jrhj882sjBs3DmPHWp94RUQCCQsl3HmciLjXa68B9hKEiRPhETkO7NjjKKcLQLOYwh+0adPG3OwY1NWvXx9vv/02nn322SwfM2LECDOPz44jdhztExHxdwVLlM/RcaySFRHv69Ur6+99EthNTBdasmjiueeeM4UL9sCJ6dB58+bh6aef9siJli5dGuEXSvXT43ZO59Axlcy2LFw6xxlWzar0X0QCDaeRFChdG4kohTK2Q1mmYznHbn++aNP6RES8Lzezu4oX93Bgx6IIu9tuuw3PPPMMBg0a5Ng3ePBgvPnmm/j5558xZMgQuFtERARatGhhqm67detm9qWmpprt9OeRHaZy169fjxtvvNHt5yci4iucahIfH2/eE9fXGYzrNo8xQVz64I7blNBmNGK48riIeB37gF8q+cnGxTwmJcW113Dp/26OzL344osX7e/UqZPT6lR3YIqUAWbLli1N7zqOInLRanuVbM+ePc3i1ZwnRww+r7jiCtSqVQtHjhwx/e/Y7uSBvLZ1FhHxAwzk2IHg8OHDZrtw4cJod8cgrPullKmOZSGFHUfqGNQ1j/VQ/kckSEyeDLz8MrBvH9C0KfDGG4CTdrn46ivghRcAJgLPnbOaDA8bBtx3X9bHL1wIj3MpsIuOjsY333yDYTz7dLiP93kK++hxXcNRo0aZBsXNmjXD3LlzHQUVu3fvztBsk292bI/CYzlHkCN+S5YsMVW7IiKBnnrds2ePo+E6VwAqW7asmQvN4C2lQw9syLTyhEbqRLI3axYHkdhODWjd2ipwiI0FNm8Gypa9+HhWrz71FFCvHjOLwJw5AMeaeCwfl1m7dvC4fDYbB/1yhys6cNSrc+fOaM1/OWCWGGOQNW3aNPTu3RvBgsUTXGGDqQ42OxYR8TVmIPbu3WtG7Dj3mAVeRYsW9fVpifiVuDgWP0Zhz56jqFQpZ3+/GdJcfjnw5pvWdmoqwPrJhx8GcpqQvOwy9v4FnNRoXuTkSQ5Msa1bxv1NmsB7I3YM3Fhd+vrrr+MrjkMCZnvx4sWOQE9ERNyLgRwDOgZ2VKRIEdO6Kac9RkVCUXJyxqKFyEjrlhkDq1Wr2B0jbR+TgGyfm027XAcOk/3yizW6l8VstYscOGCN7v34Y9b3e3WOHTGA+/jjj119uIiI5AJTrky9MgWbOfUqIs41yDT7avRoYMyYi49j42AGU5na5ZptJ+1yjaNHgYoVOT3CWvv1rbeA66+/9E/k0Uc5+s6MJ9C+PTB7Njt9AM89B7zyius/UZcDu23btmH69OnYvn27KWLgG8yPP/6IKlWqoGHDhq6fkYiIZMD5whyp48yZ/Pnzm1E6pV5FcmbjRivwsstqtC4v2HB47VqudAUsWGDN0atRwwrWssPRvW++AVq2tEYGuYwYA0LO+mINKNO5Hl1SLL1FixahcePGZl4d14/lsl20bt06jGYoLCIiecYWTXFxcaaVCYM6pl5Z5a+gTiR3gVfx4mk3Z4Fd6dLWiFumdrlmO7t2uQzKatUCmjWzKmJvv90KzC7lxIm0ggwuL8bULDVuDKxeneN/3sXn48qD2NKEDYrnz59v+svZXXfddVi2bJnrZyMiIo7UKzMi9vl0zIpUq1bNjNiJiPtFRAAtWlijbnYsnuB2ukWsLomPuTBjIlt161rz8YhtVd5+G4iPtypyy+dsEZksufQOwSa/n3zyyUX7+cbDNV1FRMQ1HJlj6pX96eypV1a9crRORDxr6FBrqS+mR9m7ju1OOLJ2oV0ueva00rr2ETl+5bE1a1rB3A8/AB9+CEyZcunXeuQRICHB+p7Jzk6dAJYuMMCcMcPLgV2JEiXMm0716tUz7F+zZo1pECwiIq6lXjmXju2ViClXzqfTKJ2Id3TvbqVER42yGhQzvTp3blpBBduSpGuXa4K+hx5iaxWgUCGrn91HH1nPcyn33pv2PUcKd+2yijSqVLHSwl7tY/fYY4+Z+XWff/456tSpg9WrV5s1W7nyA2/BNM9OfexExBtOnTplql7PXmhmxcbrXCNbVa8i3utjFwxcGrF74YUXMHDgQJMe4CdMruTAr/fccw9Gjhzp/rMUEQlS/Gx96NAhs0IOv2dPOr63cnkwEQleNhvwxRfWMmP791tz89K70CbYO4EdCya4wgSX9uJ8O1bFNm/eHLW5SJqIiFwk5fx5bMq0xBdX+mbFKzMDVKxYMTOdRalXkeD36KNWwcS111qpXne1pHQpsPvtt99Qr14986mSN7tz585h6dKluOaaa9xzdiIiQWDNvJmosHQsGiLJsS9xfjTW13kYMU2uN+lWpl651rZSryKh4cMPrVG5G2907/O61O6kffv2aNq06UWtTZhOuJahp4iIOIK6pksGo4wtLagjbl+3eQz2/TXfFKJpPp1IaImKshoZu5tLgR3ddddd6NChA2Zkqsl1oRZDRCRo068cqaOwTGkW+3ajf99AZLp+oCISGsaMAcaOZeGUHwR2TBWMGDECH374IQYNGoShQ4c6AjqlEURELJxTVw5JFwV1jjfgfEAMksxxIhJa7ryTywVaq09wtYnLLst48+ocO3sQd+utt5oUws0334yNGzdi0qRJrp+JiEiQYaGEO48TkeDRqxewapXVz87nxRPpsRp2xYoV6Natm0nNioiIJTIqZ+sCsUpWRELL998D8+YBV13lB6nYXr16oRBbLF8QExODRYsWmcCuClsmi4iEuBMnTiCsZHUkohRSnUw95v59iLZan4hISKlcGSjugb7JLgV206dPN/2W0ouMjMTMmTOxY8cOd52biEjA4VSVAwcOmPdCxnN/133E7M8c3Nm3E9qMRnj+PCdPRCTAvPIK8MQTwM6d7n3eHL+b/PXXX2jUqBHCwsLM99lp0qSJO85NRCSgnD9/HnFxcaZpO0VFRaH+nQ9j3c8lTXUsCyns9ueLNkFd89hePjxjEfEVzq07eRKoWRPgQjMFCmS8/9AhD68Vy4COS96ULVvWfM/q1/QPtW/zK5cXCxZaK1ZEcoLBHIM6Bnd8H6xQoQJKlCjh6BSQ1coTGqkTCd21YmfOvHRxhUdH7JhWKFOmjON7ERFJS73u52KPF6alcEWeggULZrg8DOIaXtlFl0xEcO4csGgR8PTTQPXq7r0gOQ7sqlatmuX3IiKhissocpSOhRLEETqO1DGrISLiDNOuX35pBXbuluPA7ttvv83xk950002uno+ISMCkXvfs2WOmnjCQK1++PEqWLOnr0xKRANGtG/D118CQIT4K7NinLieCbY6diEjm1CvTrky/2lOvbPPEryIiOVW7NvDMM8AffwAtWgBFimS8f/BgeLZ4IlSpeEJE0qdeOUp3kqVsgBmh40idUq8i/ifOz4snsptbx5qr7dtde141TxIRyYHk5GQzn86eerVXvYqIuMJTdaguB3acLMzVJnbv3o2zZ89muG+wq+OHIiJ+hkmNxMREHDx40Gyz2pVVr0q9ioi72HOn7lgv1qXAbs2aNbjxxhtNOoIBXqlSpcybXuHChU2fOwV2IhIM+KGVo3T21Cvf67iEolKvIuIOH3wAvPwysGWLtV2nDvD448B997n+nC7V5A8ZMgRdu3bF4cOHzZqxy5Ytw65du9CiRQtMmDDB9bMREfGj+bXbtm0zQR0DOY7SqZWJiLjLq68CAwYAN94IfPaZdevUCfjvf4HXXnP9eV0qnuC8kuXLl6Nu3brm+6VLl6J+/fpmX69evbBp0yYECxVPiISW1NRUk3pNSrKW/+KHVwZ1ERERvj41EQmy4omxY4GePS9ekWLMGNfn4LmUii1QoIAjFcHUK+fZMbDjuoisGBMR8XdZLfGVkppq3sNOnTpljomOjka5cuWUehURt0tIANq2vXg/9/E+r6ZimzdvjpUrV5rv27Vrh1GjRuHjjz/Go48+ikaNGsGTJk+ejGrVqpkJzK1bt8aKFSuyPf7zzz9HvXr1zPGNGzfGDz/84NHzExH/t2beTBx8rg4azr8HLf983Hzl9qLP3zRBHT+4sjedWpmIiKfUqmWlXzObNcvqcefVwO6FF14wb3j0/PPPm15OAwYMMA0733nnHXjKrFmzMHToUIwePRqrV69G06ZNERsb61ijMbMlS5bg7rvvRt++fU3BB5ss8/b333977BxFxP+DuqZLBqOMzUq12nG7w79jsf/vX1CrVi0UL+5/qRsRCR5jxwKjRlnz6p591rrxe+5n42JXBVSDYo7QXX755XjzzTcdc2E49+Xhhx/G8OHDLzq+e/fupmp3zpw5jn1XXHEFmjVrhqlTp+boNTXHTiS40q8cmWMQF5ZFW4FUG7A/XzTKjPwX4fnV5lMkkPn7HDtatcoqlPjnH2u7fn1g2DBmRl1/zvyB1HZg1apVGDFihGMf0yUdO3Y0xRtZ4X6O8KXHEb6vuTibE2fOnDG39IGdiAQHzqlriCTASa8oBnsxSMIGHndlF2+fnoiEmBYtgI8+cu9zuhTYsVqM8+oWLlxo0qAcOUvv0KFDcDf2yWPHd05kTo/bzqpw9+3bl+Xx3O/MuHHjMJbjoCISdFgo4c7jRETyguHT1q0AZ5RlCqVwzTVeDOzuu+8+bN261cxdY6CUzx2tkv0ERwTTj/JxxI7pXhEJfAWKlc3RcaySFRHxpGXLgHvuAXbtSlt5wo5hVUqKFwO733//HYsXLzbFC95SunRphIeHm/5S6XGbneCzwv25OZ64TJCWChIJPkeOHEFYqRpIRCmUsR3Kdo4dW5+IiHgSGxG3bAl8/z3AelR3jZG5VBXL9iH2Pk/ewuagXNliwYIFjn1MAXO7TZs2WT6G+9MfT/Pnz3d6vIgEH75PxMfHm6XB8uULw8b6Q6z9mT4h27cT2oxW4YSIeByXEXvhBatgokQJICoq482rgd1bb72Fp556CosWLTLz7ZiuTH/zFKZIp02bhpkzZ+Kff/4xLVZY9dqnTx9zf8+ePTMUVzzyyCOYO3cuXnnlFTMPb8yYMfjzzz8xaNAgj52jiPiP06dPm2XBuPwhlSlTBu3vfBjr2r6OA/miMxzLkTrubx7by0dnKyKhpHVra36du7mUiuUyYgzgrrvuugz72TmF8+1Y5OAJbF/CXnks3GABBNuWMHCzF0hwBYz0i3O3bdsWn3zyCUaOHIn/+7//Q+3atU1FrKebKIuI7zGY27t3r3lfyp8/PypVqoSiRYua+xi8pXToYapf0688EaMWJyLiJQ8/bLU2YT1n48Zc1Svj/U2aeLGPXatWrcwbJUfEsiqe4GoUwUJ97EQCCz9YJiQkmDl1VKRIEVMAxfcsEQkdcX7exy7dOJQDwylGZV4vnuDKDVzJoW7duq69qoiIh1KvXOvV3ouSa1kz/RpMlfsiEhx27PDM87oU2LVs2dK8eSqwExF/wMQDU68cqbOnXjlKx9E6ERF/VLWqHwV2XMKLadjHH38cjRs3RoFMieEmriaGRURcSL1yLt3Ro0fNNufRcT6dUq8iEgiVsQsXZt2gmOvIem2OXfoCBccT5cvn8eIJX9AcOxH/xbZLzB5wyUHinF/2vFTqVUTi/HyO3bRpwIAB7NPLvrsZ+9jx+9WrvThit8NTiWERkRzgh0guXcjqeH7PrAFTr4ULF9b1E5GA8NxzwPPPA08+6d7nzXVgd+7cOdPmZM6cOajPrnoiIl7EjAAbDtt7ZhYrVgwVK1ZU6lVEAgrba95xh/ufN9cNivnJmJVnIiK+SL1ynWp7UMflAatUqaKgTkQCzh13AD/95P7ndSkVO3DgQLz44ot499139YYqIh7HdCtXueFaz0q9ikgwqFULePppYNmyrBsUDx7sxeKJW265xazByuozVsVmbinw1VdfIVioeELE96lXrvOanJxstosXL25Sr+Hh4frRiEjAFk9Ur+78PhZPbN/u5SXFbrvtNtdeUUQkCynnz2NTpiW+zpw9a6peObeXla5MvZYqVUpVryIS8Hb4U4Pi6dOnu/9MRCRkrZk3ExWWjkVDJDn2Jc6PxrpaA1GhWSwiIiJM1WuhQoV8ep4iIv4uT4snHjhwAJs3bzbfcxUKLt0jIpLboK7pkguTSdL1cSpjS0LHLc/gt4hIXH3bAKVeRSSo3H9/9ve//76XqmLpxIkTuP/++1G+fHlcc8015lahQgX07dsXJ0+edO1MRCQk068cqaOwTMu52rfrbXzVWhVbRCTI2p0cTnfj6hO//MI6BeDIES+P2A0dOhSLFi3Cd999hyuvvNLsW7x4MQYPHoxhw4ZhypQprp+RiIQMzqkz6ddMQV364C4GSdjA467s4u3TExHxmNmzL97HZcW4GkXNmq4/r0sjdl9++SXee+89dO7c2VSo8XbjjTdi2rRp+OKLL1w/GxEJKSyUcOdxIiKBjCu2Dh0KvPZaHp7DlQcx3co1GTMrW7asUrEikmPhRUrn6DhWyYqIhIJt24Dz572cim3Tpg1Gjx6NDz74AAULFnR0hB87dqy5T0QkO2yfyeKrsFI1kIhSKGM7dNEcO0q1AfvzRZvWJyIiwWTo0IzbnEqckAB8/z3Qq5eXA7tJkyYhNjYWlSpVQtOmTc2+devWmSBv3rx5rp+NiAQ99qRjw2EWYYWH58fmRsNQZv1TJohLH9xxmxLajEZM/jwV8IuI+J01ay5Ow7K5yCuvXLpi1u0rT9jTsR9//DE2bdpktuvXr48ePXoEXZ8prTwh4j7Hjx83Qd358+dNk2FW05csWdLRx65cuj52+xBtgrrmsXn46CoiISvOz1ee8BSXA7tQocBOJO/4NrN//36TfqXIyEhUqVLFfM1u5YlwjdSJiIviQjSwczm/sWXLFixcuNC8WaeyPjedUaNGuePcRCRIUq9cFsze45IjdOyBGca8QzoM4tTSRETEB4Ed25oMGDAApUuXNms3MqVix+8V2IkIJScnm9RrSkqKCeSYeuVa0yIi4hkutTt57rnn8Pzzz2Pfvn1Yu3Yt1qxZ47itXr3a/WcpIgGXeuX7w65du0xQx8KqmjVrKqgTEb83eTJQrRrAph+tWwMrVjg/dto04OqrmYmwbh07Zn+83wZ2hw8fxh133OH+sxGRgHf27Fns2LEDBw8eNNulSpVCjRo1MsynExHxR7NmWW1IRo8GOE7Fxh+xsdZyX1n59Vfg7ruBhQuBpUuBypWBG24A4uMDLLBjUPfTTz+5/2xEJOCLjbZt22bm0zH1WrlyZZN+zTyfTkTEH736KtCvH9CnD9CgATB1KlC4MPD++1kf//HHwEMPAc2aAfXqAe++ay0LtmBB3s7jgw+sRsVem2NXq1YtPP3001i2bBkaN26MAgUKZLifa8aKSOhgAVViYiKSkqx2JWx7xKAuIiLC16cmIpIjZ88Cq1YBI0ak7eNnUqZXORqXE6wRO3eOmQrkSe/eAEOr/v2BN97wQmD3zjvvoGjRoli0aJG5pcfiCQV2IqGVemXVK1efoejoaLPkoEbpRMQfJCczm5C2zVkhWc0M4eyRlBQg84qp3L7QsveSnnwSqFDBCgbzgqN+O3YAP/6Y+8e6FNhx/oyICFOvrHrliB0DOa5GU7x46PSLEhH/16BBxm3Onxszxv2vM3488Omn1ry7C6ut5kn16laaN7e0To+I5JpSryISKDZuBCpWTNt2VsdVujQQHg4kJmbcz+2YmOxfY8IEK7D7+WegSRPnx6UfObwUVz8j53hG8/jx4x2plktZvnw5vucqtiISdM6cOYPt27c75tOxnyWrXjWfTkT8UbFiVpBkvzkL7DgluEWLjIUP9kKINm2cP/9LLwHPPgvMnQu0bJn9ubCNp701irOb/RhX5XjEbuPGjWYJIFbEdu3aFS1btkQZrlYLmHUfef/ixYvx0UcfYe/evfiAJR0iErCyWuLr+IkTiI+PNyN24eHhJvVajO+aIiJBgK1OevWyArRWrYCJE4ETJ6wqWerZ0xr9GzfO2n7xRa62BXzyidX7bt8+a3/RotYtM7ZF8bQcB3YM1NatW4c333wT99xzj5lbwzd29qayLxXUvHlzPPDAA+jdu7dpSOpOhw4dwsMPP4zvvvvOzOW57bbbMGnSJFPE4Uz79u0vKu548MEHMZX1yyLi1Jp5M1Fh6Vg0hDUqR4nzo7Gu1kBUaBaLwoULm6rXzBXxIiKBrHt3gEtaM1hjkMY2JhyJsxdU7N5tVcraTZliVdPefnvO5vG1a+fhfwCLWG1sEZ9L/LT+119/ma7yTM8yFdOsWTPz1VM6d+6MhIQEvP3222btyT59+uDyyy/HJwyTswns6tSpg2eeecaxj3+QcjO5mwFsVFQUjh49qknhEjJBXdMlVsuisLTVApF64Z3ij6bjcNUtAzIsJSgi4m/i4o6hcuUo7NlzFJUq+W9RF8fGGDAyQEwvu7l6bi+e4IgZAznevOGff/7B3LlzsXLlSpMCpjfeeAM33ngjJkyYYBqgOsNAjuvZikjO0q8cqcsc1Nm3GdzV/msCUm/qj/D8qr0SEXEVRwaZ4nXW0oStV1wREO3gly5dataYtAd11LFjRxNgslAjOx9//LEZSWzUqBFGjBjhSBtnNzGco3TpbyKhgnPqyiHpoqDOjvtjkGSOExER1z36KHDkCAtO2dTdSvnOnAnUrg18+63rzxsQH7m5mHjZsmUz7MufP79Zg5L3OcO5gFWrVjUjekwdP/nkk9i8eTO++uorp48ZN24cxo61RixEQg0LJdx5nIiIZO2XX4BvvrEKNThvr2pV4PrrrcpdFmd06YLAG7EbPny4maeT3W1TTts9Z6F///6IjY01y5716NHDFIDMnj3brGXpDEf1OJ/OfmNHfZGQUTBnNfaskhUREdex2tY+ZsX2JkzNUuPGwOrVXhix44gX05nuXCZo2LBhpoI2O+yPxTly+/fvz7CfLVZYKZub+XOtW7c2X7du3YqaNWtmeQyrfHkTCSUsiGKbogJlaiMRpVDGdijLdCzn2O3PF21an4iIiOvq1gU2b7bapDRtCrz9tvU9G3eUL++FwI6tTFiVypQogy0WMnBNyLxgHzx7L7zstGnTBkeOHMGqVavQgt0DzRDmL+aPkT1Yy4m1a9ear+XzcsVEgszp06fNyDTnl4aH58eWJk+gzLrhJojLqio2oc1oxKhwQkQkTx55BEhISGuP0qkT6wKsRskzZnghsGPxAteIZWC3c+dOE1R5S/369dGpUyf069fP9KBju5NBgwbhrrvuclTEsmlqhw4dTLq1VatWJt3KViisnGUAyhHHIUOG4JprrkETV2uIRYIIOx0dPnzYfGDj95y3yt50RRo1wpoihU11LAsp7DhSx6CueWwvn563iEgwuPfetO85ZrVrF8DZZ1WqWMubeTywY0Pgdu3amdEuzn1jhSobFGeFyw25G6tbGcwxeLM3KH799dcd9zPYY2GEveqVyxv9/PPPmDhxIk6cOGH+YPExI0eOdPu5iQSalJQUk3rlPFJio2+uIsHgjhi8pXTogQ2ZVp7QSJ2IiHuxf92OHQBniF12mZcbFLOXHOenDR482DT9dbaU0CMcXwwSalAswYZNxZl6PXuhG2a5cuVMSyA1HBaRYBLn5w2KOQ718MNWixP691/WFVj7uGzZ8OFeaHfCdChxrhuDN60RKRI4+BmOBUdsEZQh9VqkiK9PTUQk5IwYAaxbB/z6qzW/zq5jR2s5Mq8EdnbTp0937dVExGepV85DtTfc5oeyihUrOlKvIiLiXV9/DcyaBVxxBZB+hcaGDYFsurJdkt7VRUIg9bp7924zD5XYIogFRUq9ioj4DvvWZVp7wdHfLi9LcQfEkmIikntMtyYlJZliJgZ1BQoUMK2KNJ9ORMT3uOLE99+nbduDuXffZZs3159XI3YiIZB6LV68uEm9OqtkFxER73rhBaBzZ2DjRi66AEyaZH2/ZAmwaJHrz6sRO5Egw5Y/rF5nUMd0K1sUsUhCQZ2IiP+46iqreIJBHZcR++knKzW7dKnV185VGrETCbLUK6teianXKlWqoFChQr4+NRERSYdTnh98EHj6aWDaNLiVRuxEggDXTmaBhD2oY+q1Vq1aCupERPxQgQLAl1965rkV2IkEOK6swiX0kpOTTeqVy+wp9Soi4t+6dbNanribUrEiASDl/HlsyrS8V1h4OA4ePIjExETHMnoM6JR6FRHxf7VrA888A/zxhzWnLnOv+MGDvbCkWCjSkmLia2vmzUSFpWNRDkmOfYmIxj8NhqB0g2vNdlRUlBmpU4GEiEhgLClWvbrz+9j6ZPt2155XI3Yifh7UNV1y4WNbuoaVZWxJKLNhJH4+NwotO/dByZIl1XBYRCSA7NjhmefVHDsRP06/cqSOwjJ1IbdvN9kyGVHFiyuoExERQ4GdiJ/inDqmXzMHdXbcH4Mkc5yIiPi/8eO5zGPOjl2+POPKFDmlwE7ET7FQwp3HiYiIb3FliSpVgIceAn780Vov1o6Niv/6C3jrLaBtW6B7d6BYsdy/hubYifipQiUr5PC4ih4/FxERybsPPrBWm3jzTeCee1igCXClx8hIrhpkHdO8OfDAA0Dv3kDBgrl/DQV2In7o3LlziCxbF4kohTK2Q1mmY1NtwP580ab1iYiIBIamTa3VJt5+2xqh27XLSs+WLg00a2Z9zQsFdiJ+ho2G4+LikJKSgh21H0aHf8eaIC59cMdtSmgzGjH59b+xiEigCQuzAjne3Pq87n06EXEVW0pySbBdu3aZoK5gwYK45vaBWNf2dRzIF53hWI7UcX/z2F664CIi4qCP+iJ+4OzZs2aU7uSFSRalSpVCTEwMwsLCTPCW0qEHNmRaeUIjdSIikpkCOxE/Sr0ykKtYsaJZSSK98Pz50fDKLj47RxERCQxKxYr4Ueq1Zs2aFwV1IiISHP76C0hN9exrKLAT8VHqdfv27Th48KDZjo6ORo0aNRDJmncREQlKzZsDF972UaMGkJS2BLjbKBUr4mXHjh0zqdfU1FSTeq1UqRKKF/e/BapFRMS9SpSw1ogtWxbYudMzo3cK7ES8hIFcYmIiki58RCtUqBAqV66MiIgI/QxERELAbbcB7doB5csD+fIBLVtaDYqzsn27a6+hwE7ES6nXPXv24NSFRQKZei1XrpwZsRMRkdDwzjvArbcCW7cCgwcD/fq5tmxYdhTYiXjY0aNHER8fb0bswsPDTdWrUq8iIqGpUyfr66pVwCOPKLATCRgM5Fj1eujQIbNduHBhM59OqVcREZk+3TPXQCN2Ih5w5swZk3o9ffq02S5durRJvebjpAoREREPUWAn4mZHjhzB3r17HalXjtIVc/ckChERkSwosBNxQcr589iUaYmvfGFhSEhIwOHDhx2pV1a9FihQQNdYRES8ImBK8p5//nm0bdvW/LEswUYwOezsP2rUKJQvX960lujYsSO2bNni8XOV4LZm3kwcfK4OGs6/By3/fNx85fbCz153BHVlypRB9erVFdSJiIhXhQVSu4g77rgDAwYMyPFjXnrpJbz++uuYOnUqli9fjiJFiiA2NtYx70nElaCu6ZLBKGPL2C6c29f+Mxr7/pqPatWqaT6diIj4RMAEdmPHjsWQIUPQuHHjHI/WTZw4ESNHjsTNN9+MJk2a4IMPPjBzn77++muPn68EZ/q1wtKx5vuwTDUQ9u1G/76BQgUL+uDsREREAiiwy60dO3aYVhNMv9pxcfXWrVtj6dKl2VYzcsmn9DcR4py6cki6KKiz4/4YJJnjREREfCFoAzsGdcQWE+lx235fVsaNG2cCQPuNk99FiIUS7jxOREQkqAK74cOHm75e2d02bdrk1XMaMWKEWSnAfmMvMhGKLFE+RxeCVbIiIiIh1+5k2LBh6N27d7bH1KhRw6XnjomJMV+56DqrYu243axZM6ePi4yMNDeR9LjGa/5SNZGIUihjO5RlOjbVBuzPF21an4iIiIRcYMeWELx5AltNMLhbsGCBI5DjfDlWx+amslZCG4tw2MKE/en4/fo6g3Hd5jEmiEsf3HGbEtqMRkx+tYcUERHfCJg5drt378batWvN15SUFPM9b8ePH3ccU69ePcyePdt8zzTuo48+iueeew7ffvst1q9fj549e6JChQro1q2bD/8lEij4e8ZUPCupGdRx9Yj2dz6MdW1fx4F80RmO5Ugd9zeP7eWz8xUREQmYoQU2Gp45c6Zju3nz5ubrwoUL0b59e/P95s2bzbw4uyeeeAInTpxA//79zTJPV111FebOnYuCakchOUi9Mqhj/0Ti6G90dLT5wMDgLaVDD2zItPKERupERMTX8tk4FCFOMX3L6lgGjMWLF9eVCnL83+HQoUOmcprfczkwVkZzxRMREQkccXHHULlyFPbsOYpKlULn73fAjNiJeCP1Gh8f7+hdyNRrpUqVEB4erosvIiIBQYGdCICTJ0+a1Ou5c+dMupWp11KlSpnvRUREAoUCOwlpTLcmJSU5mlYz9VqlShUUKlTI16cmIiKSawrsJGSdP3/epF6Tk5PNNudQVqxYUalXEREJWArsJCQp9SoiIsEoYPrYibgr9XrgwAFs377dzKeLiIgwq5vYW5mIiEhomzwZqFYNYGe01q2BFSucH7thA3Dbbdbx/BMycSJ8ToGdhFTqddeuXWZZOWIbm5o1a2o+nYiIGLNmAUOHAqNHA6tXA02bArGxwP79yNLJk1z6FBg/nv1O4RcU2ElIYKPqrVu3mpVKODLHFUjUykRERNJ79VWgXz+gTx+gQQNg6lSAbUzffx9Zuvxy4OWXgbvu4lrz8AsK7CToU6/79+/Hjh07zIhdZGSkGaVTKxMREUmPCw2tWgV07Ji2LyzM2l66FAFDxRMStBjIsTcdR+uoRIkSZqQujP+niohISEhO5ipSadscWctqdO3gQTaqB8qVy7if25s2IWDoL5wEJaZcmXplUMfUK9uYMPWqoE5EJLQ0aMA51Wm3ceMQ1DRiJ0GZemXlKzH1yrVeC7K8SUREQs7GjUDFimnbzubClS4NcAXJC/V1Dtz2l8KInNCInQQNti/ZuXOnI6grWbKkmU+noE5EJHQVK8YG9Gk3Z4FdRATQogWwYEHavtRUa7tNGwQMjdhJUODqEXFxcUhJSTHpVs6l45w6ERGRnGKrk169gJYtgVatrL50nKbNKlnq2dMa/bOnc1lwwRFB+/fx8cDatUDRokCtWvAJBXYSVKlXjs4x9coUrIiISG507w7wz8moUQCXEG/WDJg7N62gYvduq1LWbu9eoHnztO0JE6xbu3bAr7/CJ/LZ+JdRnDp27JhpZHv06FGzlqj4V+qVVa9cHozYwiQmJkYFEiIigri4Y6hcOQp79hxFpUqh8/dbI3YSFKlXVr0yABcREQllCuwkoHCAmUuCHWTDIaVeRUREMlBgJwHj7NmzJvV66tQpsx0dHY1y5cop9SoiInKBAjsJmLmO8fHxjtQrmw1rzqOIiEhGCuzEr6WmpprUa1JSktkuVKiQqXqNYMMhERERyUCBnfgtpV5FRERyR4Gd+CW2l2HqlSN24eHhpupVqVcREZHsKbATv8JAbt++fTh06JDZLly4sJlPp9SriIjIpSmwE79x5swZU/V6+vRps126dGlT9ZovXz5fn5qIiEhAUGAnfuHIkSPYu3evI/XKUbpiXLlZREREckyBnfgUA7mEhAQcPnzYkXpl1WuBAgX0kxEREcklBXbi09Tr7t27zVcqU6YMypYtq9SriIiIixTYiU9whI4jdRyxy58/v0m9Fi1aVD8NERGRPFBgJ17FQI5z6TinjooUKWKCOqVeRURE8k6BnXgNq11Z9WpPvTLtyvSrql5FRETcIwwB4vnnn0fbtm3N5PoSJUrk6DG9e/c2QUP6W6dOnTx+rpKRzWYzqddt27aZoI6p12rVqmk+nYiISKiO2HF5qTvuuANt2rTBe++9l+PHMZCbPn26YzsyMtJDZyhZSUlJMalXriRBnEfH1CuDOxEREXGvgPnrOnbsWPN1xowZuXocA7mYmBgPnZVcKvXKqlcG5cRmw2w6rNSriIhIiAd2rvr1119Nyq9kyZK47rrr8NxzzyE6Otrp8UwV2ueA0bFjx7x0psGXemXVK7/n6Bx707FQQkRERDwnYObYuYJp2A8++AALFizAiy++iEWLFqFz584mPejMuHHjEBUV5bgxIJGc47WNi4sz6VcGdVw9olatWgrqREREgj2wGz58+EXFDZlvmzZtcvn577rrLtx0001o3LgxunXrhjlz5mDlypVmFM+ZESNGmPlg9hurOCVnTp06ZQok7PPpmAKvUqWK5tOJiIiEQip22LBhpnI1OzVq1HDb6/G5OMdr69at6NChg9M5eSqwyB2OzB06dAj79u0z37MnHUc6WcEsIiIiIRLYsYcZb97CFGFSUhLKly/vtdcMhdRrfHy8Yy4iU6+seg0PD/f1qYmIiIScgJljx+rKtWvXmq8MJvg9b8ePH3ccU69ePcyePdt8z/2PP/44li1bhp07d5p5djfffLOZ7xUbG+vDf0nwOHnypBn9ZFDHtDkDZqZeFdSJiIj4RsBUxY4aNQozZ850bDdv3tx8XbhwIdq3b2++37x5s2N+F4OLv/76yzyGy1dVqFABN9xwA5599lmlWvOI6VaOfCYmJjpSrwzoChUqlNenFhERkTzIZ+NfZnGKo1GsjmXAWLx48ZC/UufPnzep1+TkZHMteE0qVqyoUToREfErcXHHULlyFPbsOYpKlULn73fAjNiJf6ReWSV87tw5k3pl1WupUqXUcFhERMRPKLCTS+Kg7sGDB03qlSIiIkzVq1KvIiIi/kWBnVwy9cpqYnuRCtPSnK+oAgkRERH/o8BOnDpx4oRJvTK4s1e9cmk2rfUqIiLinxTYSZap1wMHDmD//v1mmw2bmXotWLCgrpaIiIgfU2AnGXB0jqN0HK2jEiVKmJE6pV5FRET8nwI7ceA8Os6ns6deOZeOqVcREREJDArsRKlXERGRIKHALsSxJx1H6eypV47QMfUaFhYwq82JiIjIBQrsQjz1yvl0XHuXgRxTr5xTJyIiIoFJgV2IVr2y4pWVr8RqV1a9svpVREREApcCuxBMvXKUjsuDEZcE49JgSr2KiIgEPgV2ISQ5OdnMp7OnXitWrGhWkhAREZHgoMAuRFKvXOeV672SUq8iIiLBSYFdkDt79qxJvZ46dcpsK/UqIiISvBTYBbFjx44hPj5eqVcREZEQocAuCKWmpprUa1JSktkuVKiQqXqNiIjw9amJiIiIBymwC/LUa3R0NMqVK6eqVxERkRCgwC6IHD161KReOWIXHh5uql6LFy/u69MSERERL1FgFwQYyO3btw+HDh0y24ULF0alSpWUehUREQkxCuwC3JkzZ0zq9fTp02a7dOnSJvWaL18+X5+aiIiIeJkCuyBKvXKUrlixYr4+LREREfERBXYBiIFcQkICDh8+7Ei9suq1QIECvj41ERER8SEFdgGeei1TpgzKli2r1KuIiIgosAskR44cwd69ex2pV47SFS1a1NenJSIiIn5CI3YBgIEcAzoGdlSkSBEzn06pVxEREUlPgZ2fY8qVqVemYIlpV6ZfVfUqIiIimSmw81M2m82ReuX3+fPnN6N0Sr2KiIiIMwrs/FBKSoqperWnXhnMMahjcCciIiLijCIFP0y97t6926z5Smw2zKbDSr2KiIjIpSiw8xNMt7IvHUfq7KlXVr2yUEJEREQkJ8IQAHbu3Im+ffuievXqKFSoEGrWrInRo0c7RrWyG/0aOHAgoqOjTTrztttuQ2JiIvwx9RoXF+eYT8fVI2rVqqWgTkRExMsmTwaqVQMKFgRatwZWrMj++M8/B+rVs45v3Bj44Qf4VEAEdps2bTItP95++21s2LABr732GqZOnYr/+7//y/ZxQ4YMwXfffYfPP/8cixYtMoHTrbfeCn9y6tQpbNu2zSwPRjExMahSpYrm04mIiHjZrFnA0KHA6NHA6tVA06ZAbCywf3/Wxy9ZAtx9N9C3L7BmDdCtm3X7+2/4TD4bh4gC0Msvv4wpU6Zg+/btWd7PQIltQT755BPcfvvtjgCxfv36WLp0Ka644oocvc6xY8cQFRVlnq948eJuO39e9kOHDmHfvn3me/akY+qVy4OJiIhI3sTFHUPlylHYs+coKlXK2d9vjtBdfjnw5pvWdmoqULky8PDDwPDhFx/fvTtw4gQwZ07aPoYXzZoBU6f65icYECN2WWGgVapUKaf3r1q1CufOnUPHjh0d++rVq2dGwxjYOcN+cQzm0t/cjYEcU6/2+XRMvTK9rKBORETEvZKTOUiTdrvQFvYinN21ahWQLmxAWJi17Sxs4P70xxNH+LIJMzwuIAO7rVu34o033sCDDz7o9BiOhEVERKBEiRIZ9rPKlPc5M27cODNCZ79xFM3dWOHKII5flXoVERHxnAYNgKiotNu4cVkfd/Ag57wzTsi4n9vOwgbuz83xQR/YDR8+3AQ32d2YPk0vPj4enTp1wh133IF+/fq5/ZxGjBhhRgPtN6764AkcbWSBhFqZiIiIeM7Gjczypd1GjAjuq+3TdifDhg1D7969sz2mRo0aju9Z/HDttdeibdu2eOedd7J9HEfCWDXLJr/pR+1YFcv7nImMjDQ3T2PQ6o3XERERCWXFigE5mSJfujQQHs44IeN+bjsLG7g/N8cHfWDH4gbecoIjdQzqWrRogenTpyOMie9s8DgWJCxYsMC0OaHNmzeb5r9t2rRxy/mLiIhIcIiIYOwALFhgVbbaiye4PWhQ1o9hOMH7H300bd/8+dZ+XwmIOXYM6tq3b28KHyZMmIADBw6YeXLp58rxGBZHrLjQcIbz49j7bujQoVi4cKEppujTp48J6nJaESsiIiKhY+hQYNo0YOZM4J9/gAEDrKrXPn2s+3v2zJjKfeQRYO5c4JVX2HkDGDMG+PNP54GgNwTEyhPz5883BRO8cc3U9OzdWlgByxG5kydPOu5jvzuO7HHEjtWusbGxeOutt7x+/iIiIuL/uncHDhwARo2yCiDYtoSBm71AYvduq1LWrm1b4JNPgJEjAbbWrV0b+PproFEjn/0TArePnbd4qo+diIiI+Fcfu2AQEKlYEREREbk0BXYiIiIiQUKBnYiIiEiQUGAnIiIiEiQU2ImIiIgECQV2IiIiIkFCgZ2IiIhIkFBgJyIiIhIkFNiJiIiIBImAWFLMl+wLc3AFChEREQkMycnW3+1QW2BLgd0lJCcnm6+VK1f2xs9DRERE3Oj4cf4djwqZa6q1Yi8hNTUVe/fuRbFixZAvXz7v/FQkIHAUlwH/nj17vLKOsLdfzxevqdfT9RRxl9RUGxISklGnTgWEh4fOzDON2F1CWFgYKlWq5J2fhgQkBjzeCrR88Xq+eE29nq6niDuUKBE6I3V2oRPCioiIiAQ5BXYiIiIiQUKBnYiLIiMjMXr0aPM1GF/PF6+p19P1FJG8UfGEiIiISJDQiJ2IiIhIkFBgJyIiIhIkFNiJiIiIBAkFdiIiIiJBQoGdiIsmT56MatWqoWDBgmjdujVWrFjhkWv522+/oWvXrqhQoYJZ/eTrr7+GJ40bNw6XX365WW2lbNmy6NatGzZv3uyx15syZQqaNGniaErcpk0b/Pjjj/CW8ePHm+v66KOPeuw1xowZY14j/a1evXrwpPj4eNx7772Ijo5GoUKF0LhxY/z5558eeS3+f5D538fbwIEDPfJ6IuKcAjsRF8yaNQtDhw41rUBWr16Npk2bIjY2Fvv373f79Txx4oR5fgaS3rBo0SLzB3nZsmWYP38+zp07hxtuuMGchydwZRcGV6tWrTKBx3XXXYebb74ZGzZsgKetXLkSb7/9tgksPa1hw4ZISEhw3BYvXuyx1zp8+DCuvPJKFChQwATJGzduxCuvvIKSJUt67Dqm/7fx94buuOMOj7yeiGTDJiK51qpVK9vAgQMd2ykpKbYKFSrYxo0b59Gryf9lZ8+ebfOm/fv3m9ddtGiR116zZMmStnfffdejr5GcnGyrXbu2bf78+bZ27drZHnnkEY+91ujRo21Nmza1ecuTTz5pu+qqq2y+wmtZs2ZNW2pqqs/OQSRUacROJJfOnj1rRpc6duyYYU1hbi9dujTorufRo0fN11KlSnn8tVJSUvDpp5+a0UGmZD2Jo5JdunTJ8HP0pC1btph0eo0aNdCjRw/s3r3bY6/17bffomXLlmbEjOn05s2bY9q0afDW/x8fffQR7r//fpOOFRHvUmAnkksHDx40AUi5cuUy7Of2vn37gup6pqammrlnTOs1atTIY6+zfv16FC1a1Kw88d///hezZ89GgwYNPPZ6DB6ZQud8Qm/gHMwZM2Zg7ty5Zk7hjh07cPXVVyM5Odkjr7d9+3bzOrVr18a8efMwYMAADB48GDNnzoSncQ7okSNH0Lt3b4+/lohcLH8W+0REHKNaf//9t0fng1HdunWxdu1aMzr4xRdfoFevXmaunyeCuz179uCRRx4x88BY+OINnTt3dnzP+XwM9KpWrYrPPvsMffv29UhAzhG7F154wWxzxI4/x6lTp5pr60nvvfee+fdydFJEvE8jdiK5VLp0aYSHhyMxMTHDfm7HxMQEzfUcNGgQ5syZg4ULF5oCB0+KiIhArVq10KJFCzOKxmKRSZMmeeS1mEZnkctll12G/PnzmxuDyNdff918z9FYTytRogTq1KmDrVu3euT5y5cvf1FQXL9+fY+mf2nXrl34+eef8cADD3j0dUTEOQV2Ii4EIQxAFixYkGGEhNuenhfmDazRYFDHdOgvv/yC6tWre/0ceD3PnDnjkefu0KGDSf1yhNB+4+gW573xewbtnnb8+HFs27bNBGCewNR55hY1//77rxkl9KTp06ebOX2cuygivqFUrIgL2OqEKS0GBK1atcLEiRPNhP8+ffp4JAhIP7LD+VkMQFjMUKVKFY+kXz/55BN88803ppedfd5gVFSU6YfmbiNGjDCpO/5bOOeMr/3rr7+auWGewH9T5vmCRYoUMf3ePDWP8LHHHjO9CBlY7d2717TJYQB59913e+T1hgwZgrZt25pU7J133ml6LL7zzjvm5slgnIEd/7/gyKeI+Iivy3JFAtUbb7xhq1Klii0iIsK0P1m2bJlHXmfhwoWm3UjmW69evTzyelm9Fm/Tp0/3yOvdf//9tqpVq5rrWKZMGVuHDh1sP/30k82bPN3upHv37rby5cubf2PFihXN9tatW22e9N1339kaNWpki4yMtNWrV8/2zjvvePT15s2bZ35PNm/e7NHXEZHs5eN/fBVUioiIiIj7aI6diIiISJBQYCciIiISJBTYiYiIiAQJBXYiIiIiQUKBnYiIiEiQUGAnIiIiEiQU2ImIiIgECQV2IiIiIkFCgZ2IiIhIkFBgJyIiIhIkFNiJSEg5cOAAYmJi8MILLzj2LVmyBBEREViwYIFPz01EJK+0VqyIhJwffvgB3bp1MwFd3bp10axZM9x888149dVXfX1qIiJ5osBORELSwIED8fPPP6Nly5ZYv349Vq5cicjISF+flohIniiwE5GQdOrUKTRq1Ah79uzBqlWr0LhxY1+fkohInmmOnYiEpG3btmHv3r1ITU3Fzp07fX06IiJuoRE7EQk5Z8+eRatWrczcOs6xmzhxoknHli1b1tenJiKSJwrsRCTkPP744/jiiy+wbt06FC1aFO3atUNUVBTmzJnj61MTEckTpWJFJKT8+uuvZoTuww8/RPHixREWFma+//333zFlyhRfn56ISJ5oxE5EREQkSGjETkRERCRIKLATERERCRIK7ERERESChAI7ERERkSChwE5EREQkSCiwExEREQkSCuxEREREgoQCOxEREZEgocBOREREJEgosBMREREJEgrsRERERIKEAjsRERERBIf/B2FK4zerFcG7AAAAAElFTkSuQmCC",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "# 0. Simplify the dataframe - same as before\n",
+ "phases = np.angle(df[\"amplitude\"]).astype(float)\n",
+ "phases_over_2pi = phases/(2*np.pi)\n",
+ "f_classical = f_normalized(df['x'])\n",
+ "simplified_df = pd.DataFrame({\"f_classical\": f_classical, \"phase_over_2pi\": phases_over_2pi.round(5)})\n",
+ "simplified_df.index = df['x']\n",
+ "simplified_df.sort_index(inplace=True)\n",
+ "\n",
+ "# 1. Unwrap the phase\n",
+ "simplified_df['phase_over_2pi'] = np.unwrap(simplified_df['phase_over_2pi'], period=1)\n",
+ "\n",
+ "# 2. Get rid of the global phase\n",
+ "simplified_df['phase_over_2pi'] -= simplified_df['phase_over_2pi'].iloc[N//2]\n",
+ "simplified_df['f_classical'] -= simplified_df['f_classical'].iloc[N//2]\n",
+ "\n",
+ "# You can use the helper function:\n",
+ "# simplified_df = simplify_df(df)\n",
+ "\n",
+ "# Plot the results\n",
+ "plt.figure()\n",
+ "plot_classical()\n",
+ "simplified_df.plot(style='o', ax=plt.gca())\n",
+ "plt.legend()\n",
+ "plt.show()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "94f4f5f5",
+ "metadata": {},
+ "source": [
+ "For convinience, the full code to generate this graph:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "id": "97f5ce93",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Circuit Width: 7\n",
+ "Circuit Depth: 30\n",
+ "Gate Counts: {'u': 35, 'cx': 27}\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "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IiIiIi6ngE5ERETE5RTQiYiIiLicAjqJSa+99prphi5atKiZfPrHH38My+POnTsX3bt3R5UqVcxqJFOmTAnL43KZu4svvhiJiYmoUKECevTogXXr1oXlsV9//XU0b97cTN7MU/v27fHtt98iEsaOHWue9/vvvz/kjzVq1CjzWM5Tw4YNES7bt2/Hrbfeala+KVasGJo1a4affvopLI/NYyvr787ToEGDwvL4InIuBXQScyZOnIhhw4aZKUuWLVuGFi1amJVFdu/eHfLHPnz4sHk8BpThNGfOHPNhumjRIsyYMQMnT57Etddea/Yn1LhSCwOppUuXmoDi6quvxg033IBff/0V4bRkyRK8+eabJrgMlyZNmiAtLc17mjdvXlge9/fff8ell16KwoULm+B59erVeO6551CmTJmwPdfO35t/c3TTTTeF5fFFJBuctkQklrRt29YzaNAg7+XTp097qlSp4hkzZkxY94OH1+TJkz2RsHv3bvP4c+bMicjjlylTxvPf//43bI+XkZHhqVevnmfGjBmejh07eoYOHRryxxw5cqSnRYsWnkh4+OGHPZdddpknWvD5rlOnjufMmTOR3hWRuKUMncSUEydOmExR586dvdddcMEF5vLChQsRL7h+LZUtWzasj3v69GlMmDDBZAZZeg0XZie7devm87qHw/r16015vXbt2ujTp49ZdzocvvzyS7Rp08ZkxFhib9WqFcaNG4dIHXMffvghbr/9dlN2FZHIUEAnMWXv3r0mqKhYsaLP9by8c+dOxIMzZ86YMWQsyTVt2jQsj7ly5UqzxjJXyLjnnnswefJkNG7cOCyPzQCSpXWOIwwnjs189913MXXqVDOOcPPmzbj88suRkZER8sfetGmTecx69eph2rRpuPfeezFkyBC89957CDeOEz1w4AD69+8f9scWEZcv/SUiuWerVq1aFbbxXNSgQQOsWLHCZAYnTZqEfv36mXF9oQ7qUlNTMXToUDOGiw0w4XTdddd5z3PcHgO8GjVq4JNPPsHAgQNDHrQzQ/fUU0+Zy8zQ8TV/4403zHMfTm+//bZ5LpipFJHIUYZOYkq5cuVQsGBB7Nq1y+d6Xq5UqRJi3eDBg/H1119j1qxZplkhXBISElC3bl20bt3aZMrYGPLSSy+F/HFZXmezy0UXXYRChQqZEwPJl19+2ZxntjZcSpcujfr162PDhg0hf6zKlSufEyw3atQobCVf29atW/Hdd9/hjjvuCOvjisi5FNBJTGFgwaBi5syZPtkMXg7nmK5wYw8GgzmWOr///nvUqlUrovvD5/z48eMhf5xOnTqZci+zg/aJmSuOZ+N5BvfhcujQIWzcuNEEW6HGcnrWaWl+++03kyEMp/Hjx5sxfBy/KCKRpZKrxBxOWcKyEz/Y27ZtixdffNEM0h8wYEBYPtSdGRqOq2JgweaE6tWrh7TM+vHHH+OLL74wc9HZ4wVLlSpl5igLpREjRpiSG38/jh/jfsyePduM7Qo1/q5ZxwmWKFHCzM0W6vGDDz30kJlzkEHUjh07zDQ5DCBvvvlmhNoDDzyADh06mJJrr169zDyLb731ljmFM2hnQMdjjdlQEYmwSLfZioTCK6+84qlevbonISHBTGOyaNGisDzRs2bNMtOFZD3169cvpI+b3WPyNH78eE+o3X777Z4aNWqY57p8+fKeTp06eaZPn+6JlHBNW9K7d29P5cqVze9dtWpVc3nDhg2ecPnqq688TZs29RQpUsTTsGFDz1tvveUJp2nTppm/sXXr1oX1cUUkewX4T6SDShEREREJnMbQiYiIiLicAjoRERERl1NAJyIiIuJyCuhEREREXE4BnYiIiIjLKaATERERcTkFdCIiIiIup4BORERExOUU0IlI1Hj77bdx7bXXei/3798fPXr0OO/7LVCgAKZMmYJgGT58OO67776g3Z+IyPnSShEiEhWOHTuG2rVr49NPPzWLz9PBgwe5PCFKly593gHd5MmTgxIc0t69e82+cp1e/i8iEmnK0IlIVJg0aRJKlizpDeaoVKlS5x3MhUK5cuXQpUsXvP7665HeFRERQwGdiATVnj17UKlSJTz11FPe6xYsWICEhATMnDkzx5+bMGECunfv7nNd1pLrlVdeiSFDhuDvf/87ypYtax5n1KhRPj+zfv16XHHFFShatCgaN26MGTNmnPNYqamp6NWrlwkWeT833HADtmzZYm5bu3Ytihcvjo8//ti7/SeffIJixYph9erV3uu4r9xnEZFooIBORIKqfPnyeOedd0yg9dNPPyEjIwO33XYbBg8ejE6dOuX4c/PmzUObNm3yvP/33nsPJUqUwOLFi/Hvf/8b//rXv7xB25kzZ9CzZ08TPPL2N954Aw8//LDPz588edJk1xITE/HDDz9g/vz5uPDCC9G1a1ecOHECDRs2xLPPPou//vWvSElJwbZt23DPPffg6aefNgGirW3btuY2OxAUEYkkjaETkZAYNGgQvvvuOxOkrVy5EkuWLEGRIkWy3fbAgQMoU6YM5s6di8svv9wnQ8fb7IYGZuhOnz5tAjFnYHX11Vdj7NixmD59Orp164atW7eiSpUq5vapU6fiuuuu846h+/DDD/HEE09gzZo1ZmwdMZBjto6PYzdl/OEPf0B6eroJDgsWLGjux96eeBtLwrNnz0bHjh31VyQiEVUosg8vIrGKWa6mTZuaJoelS5fmGMzR0aNHzf8sk+alefPmPpcrV66M3bt3m/MM0qpVq+YN5qh9+/Y+2//888/YsGGDydBlbcrYuHGj9zKzjPXr18cFF1yAX3/91SeYI5Zg6ciRI3nus4hIqCmgE5GQYHC0Y8cOUwZlWbJZs2Y5bpuUlGQCpt9//z3P+y1cuLDPZf4cH8Nfhw4dQuvWrfHRRx9lWy52Bn6HDx82AV1aWpoJHJ32799/zs+IiESKAjoRCTqWMG+99Vb07t0bDRo0wB133GHKrhUqVMh2e5Y1OT6NTQfOeejyq1GjRqbhwRmALVq0yGebiy66CBMnTjT7wq7a7DBYY7n3n//8p7mvPn36YNmyZd6sHK1atcoEl02aNAl4f0VEgkVNESISdAyEOIfcyy+/bJoSWLq8/fbbc/0ZNiqwMeJ8dO7c2TxWv379TIaNY+24L04MzjjtCDtbefvmzZvNODh2z7LJgdgEwdLtI488gueff96M23vooYd87oc/y/F+ziBPRCRSFNCJSFAxOHrxxRfxwQcfmAwYS5Y8zwAot3nbBg4ciP/9738mEAwUH4vNDxyTx2YJZgaffPJJn204JQmbL6pXr246YpnV42NzDB339/333zf7wX0uVKiQ6ahlI8W4cePw7bffeu+HU5bceeedAe+riEgwqctVRKLGTTfdZEqiI0aMQDRjYPfggw/il19+MUGfiEikKUMnIlHjmWeeMXPCRTs2S4wfP17BnIhEDWXoRERERFxOGToRERERl1NAJyIiIuJyCuhEREREXE4BnYiIiIjLKaATERERcTkFdCIiIiIup4BORERExOUU0ImIiIi4nAI6EREREbjb/wOuVUAMaBNHNgAAAABJRU5ErkJggg==",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "p = params()\n",
+ "# f(x) = 0.5*x + 0.25\n",
+ "# Gradient: f'(0) = 0.5\n",
+ "p.set_function(p.linear, (0.5, 0.25))\n",
+ "p.unpack()\n",
+ "\n",
+ "@qfunc\n",
+ "def main(x: Output[QNum[n]], ancilla: Output[QNum[n0, SIGNED, n0]]):\n",
+ " # 1. State preparation\n",
+ " \n",
+ " # 1.1. Set the coordinates state - Apply Hadamard gate on the coordinates register\n",
+ " allocate(n, x)\n",
+ " hadamard_transform(x)\n",
+ " \n",
+ " # 1.2. Set the ancilla state - Apply QFT to |1111...1> state\n",
+ " # Note: the ancilla is a signed fractional number,\n",
+ " # so the state |1111...1> corresponds to the value -1/N0\n",
+ " # which is the most negative value\n",
+ " numeric_value = -0.5**n0\n",
+ " ancilla |= numeric_value\n",
+ " qft(ancilla)\n",
+ "\n",
+ " # 1.3. Apply the function f on the ancilla, to create the phase kickback\n",
+ " # Calculate the normalized f and add it to the ancilla\n",
+ " val = f_normalized(x)\n",
+ " inplace_add(val, ancilla)\n",
+ "\n",
+ " # 2. Next step in the algorithm: QFT inverse on the coordinates register\n",
+ " # invert(lambda: qft(x))\n",
+ "\n",
+ "df = run_statevector_simulation(main, print_circuit_info=True, filter_ancilla=True)\n",
+ "simplified_df = simplify_df(df)\n",
+ "plot_simplified_df(simplified_df)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "4f640f7d",
+ "metadata": {},
+ "source": [
+ "## 2.2. Direct Phase"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "7b083b7e",
+ "metadata": {},
+ "source": [
+ "The phase kickback approach is good when we have a state-oracle, but in our simulation it is very unefficient."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "cbe98ddd",
+ "metadata": {},
+ "source": [
+ "Another approach is to directly prepare the wanted state.\n",
+ "In our case:\n",
+ "$$\\sum_{\\delta}e^{i2\\pi\\frac{N}{ml}f(\\frac{l}{N}(\\delta-\\frac{N}{2}))}\\ket\\delta$$\n",
+ "\n",
+ "Here we can see the same example using the prepare_complex_amplitudes function.\\\n",
+ "You can look at the circuit width/depth and gate count to compare both methods.\\\n",
+ "In real applications, both methods can be used, depending on the problem."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "id": "7e84cce2",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Circuit Width: 3\n",
+ "Circuit Depth: 5\n",
+ "Gate Counts: {'u': 3, 'cx': 4}\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAnQAAAHZCAYAAAAPA6ZiAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAb9tJREFUeJzt3QeYU2X2BvAXgaE5tKEz9N5BEAQLKigoy8riCqsoRawLgqK7wq4KrAVce1sLq9j/oCjYVopIkSpSFKRInwGGLszQW/7P+11u5maYkglpN3l/zxNIuZPcSeYmJ+d85/sKeDweD0RERETEtS6I9A6IiIiIyPlRQCciIiLicgroRERERFxOAZ2IiIiIyymgExEREXE5BXQiIiIiLqeATkRERMTlFNCJiIiIuJwCOhERERGXU0AnIiIi4nIK6EQk6r39NnDtteF5rAIFgClTrPN79wIVKgDbtoXnsUVEAqWATkSi2rFjwKOPAiNHhv+xy5UD+vaNzGOLiOSHAjoRiWqTJgElSwKXXprzNidOhO7xBwwAPvoI2L8/dI8hInK+FNCJSFjs2QNUqgQ89VTmdQsWAAkJwMyZOf/chAlA9+6+1/XvD/ToATz5JFClCtCggXV9airQqxdQujRQtixwww3Ali2ZP7dkCXDNNVbmrVQpoGNHYNmy3Pe7SRPrMSZPDujXFhEJCwV0IhIW5csD77wDjBoF/PQTkJEB3HYbMHgw0KlTzj83bx7Qps251zMIXLcOmDED+Ppr4ORJoEsXIDER+OEHYP584MILga5dMzN4fMx+/az7XLQIqFcPuP566/rctG1r3aeISLQqFOkdEJH4weDpzjuBPn2sIK1ECWDMmJy3P3AAOHjQypBlxZ/973+tDB99+CFw5ox1HRsbaPx4K1s3e7bVVHH11b738dZb1u1z5gB/+EPO+8HHX748oF9ZRCQslKETkbB69lng1Cng00+tsWlFiuS87dGj1v9Fi557W7NmmcEc/fwzsGGDlaFjZo4nll3ZVLFxo7XNrl1WQMnMHEuuHJt36BCQkpL7PhcrBhw5EtCvKyISFsrQiUhYMbjascPKpnF8GwOznCQlWdm233/PPkPnxMCsdWsrSMyu3Esst+7bB7z0ElCjhhVMtm+fd1MFGyLs+xARiUYK6EQkbBg43Xor0Lu31chwxx3AypXWXG/ZYQaucWNg9eq856G76CJg4kTrvph5yw7H1f3nP1bp126i4FxzeVm1Crjyyry3ExGJFJVcRSRs/vlPa0zcyy8DDz8M1K8P3H577j/DRgc2MeSF4/LYvcrOVjYwbN5sjZ0bMiRzYmCWWj/4AFizBli82PoZllNzw1Lr0qXhm9hYRCQQCuhEJCwYXL34ohVQMYN2wQXWeQZfr7+e888NHAj8739WIJib4sWBuXOB6tWBnj2BRo2sn+UYOjtjxxUnWL5lNo8dtgz2csoO2r74wrrPyy8P4JcWEQmTAh6PxxOuBxMRCcRNN1lB2IgR4X/+LrnECvxuuSX8jy0i4i9l6EQk6j3zjNW1Gm4cX8ds3803h/+xRUTyQxk6EREREZdThk5ERETE5RTQiYiIiLicAjoRERERl1NA5wKcpZ7zZXHqBa47yakYOCu+P9jDfN111mz7U6aEek9jX35fC25/333WJLqc74zTX7BjMq8pOCR7r70G1KxpLQXWrh3w44+5P1NcXqxhQ2t7rkjB6U8k/K/FuHHWtC9lylinzp3zfu0kNK+F04QJ1mdDjx56tmOBAjoXYADx66/AjBnA119bc23ddZd/P8t5v+yFyiX8rwWXuOKJ65dytYF33wWmTrUCQckfrgIxbBgwciSwbBnQooU16fDu3dlvv2CB1Z3K53r5cutDiye+DhLe14JzEPK1mDULWLgQqFbNmqh5+3a9EuF+LWxcdu+hhzS/YkzhPHQSvVavZo7N41myJPO6b7/1eAoU8Hi2b8/9Z5cv93iqVvV40tKs+5g8OeS7G9PO57Vw+uQTjychweM5eTIkuxmz2rb1eAYNyrx8+rTHU6WKxzNmTPbb9+rl8XTr5ntdu3Yez913h3Y/40F+X4usTp3yeBITPZ733gvZLsaNQF4LPv8dOng8//2vx9Ovn8dzww1h2VUJMWXoohy/zbK016ZN5nUsV3CWfS5dlNtyRZwIlan4SpXCsqsxL9DXIiuWW1myLaSVlPO1BiyX3+LzbePzzst8XXJ6vZzbEzMXOW0voXstsnt/OnkSKFtWz3okXot//ctaIUWVgtiij5Qot3PnuUsTMRDgGyFvy8kDDwAdOljrWkpkX4usE9U+/rj/JXPJfN5OnwYqVvR9Rnh57dqcX6/stvf3tZLgvRZZcR3fKlXODbgl9K8F10XmEngrVujZjjXK0EXI8OHW2LbcTv6+OWb15ZfA999b4+cksq+FU3o60K0b0LgxMGqUXhmJT2PHWoPxJ0+2BvFL+GRkWGsYs0mlXDk987FGGboIefBBoH//3LepXdsql2Yd3HrqlNU9mVMplcHcxo1WedDpxhutAbAcoCzheS2cb6RduwKJidYHWeHCegXygx8+BQsCu3b5Xs/LOT33vD4/20voXgsbm4MY0H33HdC8uZ7xcL8W/FxgM0T37pnXnTmTWW1Ytw6oU0evi1spoIuQ8uWtU17atwcOHLDGSbRunRmw8SBke3pOGac77vC9jlM2vPCC74EsoX8t7Mwcx24VKWJlT5WVyL+EBOs5nzkzc4oFPu+8PHhwzq8Xb7///szr2J3M6yW8rwX9+9/Ak08C06b5jkOV8L0WnMJn5Urf6x55xPrC+dJLVvexuFiouy7k/HXt6vG0auXxLF7s8cyb5/HUq+fx3Hxz5u3btnk8DRpYt+dEXa6ReS0OHrQ6K5s183g2bLA6ju0TO83EfxMmeDxFing8775rdRzfdZfHU7q0x7Nzp3X7bbd5PMOHZ24/f77HU6iQx/Pssx7PmjUez8iRHk/hwh7PypV61sP9Wowda3V2T5rkewxkZOi1CPdrkZW6XGOHMnQu8NFH1retTp2sDiaWTl9+OfN2dosxVc7OMYmu14LzQtkdsHXr+t7X5s3WZKDin969gT17gMcesxobWra05vSzB4SnpFiviY1NQR9/bGUg/vEPoF49a3Ltpk31jIf7tXj9dasj889/9r0fzp2m8aThfS0kdhVgVBfpnRARERGRwCluFxEREXE5BXQiIiIiLqeATkRERMTlFNCJiIiIuJwCOhERERGXU0AnIiIi4nIK6Fzm+HFr3ib+L5Gn1yN66LWIHnotoodei/jh2nnoxo4dixEjRmDo0KF4MY5WoecyUqVKAQcPAiVLRnpvRK9H9NBrET30WkQPvRbxw5UZuiVLluDNN99Ec63uLCIiIuK+gO7QoUPo06cPxo0bhzJlykR6d0REREQiznVruQ4aNAjdunVD586d8cQTT+S67fHjx83Jdvr0GaSk7EfZskkoUKAA3Cgjw/p/+3YrlS6Rpdcjeui1iB56LaJHrLwWZ854sGtXBlq1qoJChVyXiwoLVwV0EyZMwLJly0zJ1R9jxozB6NGjEYsaN470HoiTXo/oodcieui1iB6x8lr8+GMqLr44OdK7EZVcE9ClpqaaBogZM2agaNGifv0MmyaGDRvmvXzgwEHUqFEdq1enIjFRHQWx7MyZM9ixY605X6VKQ1xwgb7RiegYE7dKS0tH27bVULFiYqR3JWq5JqBbunQpdu/ejYsuush73enTpzF37ly8+uqrprRasGBBn58pUqSIOWVVtWpJlFSLaMwHdOnpF5rzycklFdCJ6BiTGHDBBe4cLhUOrgnoOnXqhJUrV/pcN2DAADRs2BAPP/zwOcGciIiISLxwTUCXmJiIpk2b+lxXokQJJCUlnXO9iIiISDxxTUAnkl+lS5fWkyYSQjrGRKKHqwO62bNnR3oXJEqxCSI5WZ1QEp/jR0+cOBGWxypXrpz5P1yPJ7GrcOHCGjoVzwGdiIhkYmC1efNmE9SJuDHjW6lSJdfOExtpCugkJnGJYnuZYr456A1CYh3/3tPS0kyWo1q1aiHv7M66DLiOMTmfv6UjR46YmSyocuXKejIDoIBOYvYNYvXq1eZ848aN9WEjMe/UqVPmQ7FKlSooXrx4WI6xY8eOmfOcG1QBnZyPYsWKmf8Z1FWoUEHl1wBotlURkRjAeTkpISEh0rsiEhD7i8jJkyf1DAZAAZ2ISAxRpkzcSn+750cBnYiIiIjLKaATERHX2rJli8nsrFixwu+feffdd4M+h54/+8ExjjfeeKNZepLbHjhwAJGc9ivS+yDBpYBOREQiKjU1Fbfffrtp6OAYwBo1amDo0KHYt29fnj/Ljl529+ZnxaDevXvjt99+Q7i99957+OGHH7BgwQKzz6VKlQrL41555ZW4//77fa7r0KFDWPdBQk8BnYiIRMymTZvQpk0brF+/Hv/3f/+HDRs24I033sDMmTPRvn177N+/P9d59zhNC+cuK1SoUL46KtlJGW4bN25Eo0aNTPAZ6fnWGDhHeh8kuBTQScxiWYMnEQkNznV3vvPdDRo0yAQX06dPR8eOHVG9enVcd911+O6777B9+3b885//9G5bs2ZNPP744+jbt685tu+6665sS51ffvkl6tWrZ6ZTueqqq0xmzFlezFpyHTVqFFq2bIkPPvjAPAazVn/5y1+QkZHh3Wbq1Km47LLLzM9xDfE//OEPJkDLT5bsueeew9y5c82+8DLx/JQpU3y25WNwH8n+/T7//HPzu7ATtEWLFli4cKHPz8yfP9/cJ28vU6YMunTpgt9//x39+/fHnDlz8NJLL3nn5OR9Zldy/eyzz9CkSRMUKVLEPA/cXyde99RTT5lsKtdX52v11ltv+f0cSGgpoJOYxA8ZvtnwFOoJVkWiEeeJ44oRoTrx/rlcE09ZHyvrpMM5YfZt2rRp+Otf/+qdh8zG7FGfPn0wceJEn/t79tlnTUCzfPlyPProo+fcJ1fK+POf/4wePXrg559/xt133+0TFOaEwRkDq6+//tqcGASNHTvWe/vhw4cxbNgw/PTTTyZ7yPeVP/3pT36vysGA7M477zRZR5Y6eTk/+Ds89NBDJnCtX78+br75ZjP3IPG6Tp06mTk3GejNmzcP3bt3N1PZMJDjY/Kx+bg8sUyd1dKlS9GrVy8TyK5cudIEuXx+7cDSxiCPGVU+/3zd7r33Xqxbty5fv4uEhiYWFhGJ8cm1w83fybxZZuV+sgyZHV7PLNOePXu8JdKrr74aDz74oHcbZpuc3nzzTTRo0ADPPPOMuczzq1atwpNPPpnrvjAwY/DCzBPddtttJnCzf47NDE7vvPMOypcvb55jf8bvlS1b1mTP7FJnfjGY69atmzk/evRok0ljebphw4b497//bYKs//znP97tebuNj8nHzu1xn3/+eRMU2kEyg0b+bnwemeWzXX/99SaQo4cffhgvvPACZs2aZZ5niSylLkREJKL8zegRA5fcMFt08cUX+1zXtm3bPO+X5UQ7mLOXn7KXorKDT2bFateubcq93J5SUlIQDs2bN/fZN7L3z87QnY81a9bg0ksv9bmOl/l725NWZ90PBu0MEp3Pk0SOMnQSk/ht27n0l8quEm/4Ycu//Ugs/eXvQPu6deuabRlMsHyZFa/neDBmwmwlSpRAKLB07MT9cpZTWcJk9+24ceNMNy5vY2aOjRnng4+TNaDNbqUE5/7Zz6+9f1nL1aGU1/MkkaMMnYhIDOIHrd20EO6TvwEdmwuuueYaUyo8evSoz207d+7ERx99ZKYYyU8nJkt/HOfmtGTJEpwPTp/CzN8jjzxiMmF2KTgYGKxyXJuNGTHOV5cfzJqxPJwTllydWbbs8HdiY4UTL7P0yk5iiX4K6EREJGJeffVVHD9+3HRlsgOUc9Kxo5SBXtWqVfMc+5YVmyDWrl1rxndxrrlPPvnEO7A/0Ck6mCVk8MmOTo5b+/77702DRDBwTCCfAzYZMBC95557zsmC5WXEiBEmaOXYtl9++cX8/q+//jr27t1rbmd5ePHixWa8Ia/LLqPGcYkMCtlFzOeNncHcL47dE3dQQCciIhHD6UUYyHBsGrss69SpY6Yj4RQd7NhkM0F+1KpVC5MmTTJdpMxcMbCxu1w5HUcgmHWcMGGC6QRlmfWBBx7wNl2cL3aNsuv08ssvxy233GICKHuRen8xi8ZpX9jVy/GC7Gr94osvvHPz8T6ZZWMJnhnB7Mb9XXTRRSb45e/J3/Gxxx7Dv/71L5+GCIluBTz5GY3qcunp6WZ+oYMHD2p+shinMXQSbziejVN2MKDhmLZQy20MXbRhlo+TFTP7J+78G962LR3VqpVCaupBJCdrftHsqClCRERiCsfksdOVZVKOA2M2bfDgwZHeLZGQUkAnIiIxhY0FTzzxhJm4mJOLc3wYx5mJxDIFdBKzLrzwwkjvgkhMi9bpgDjZLU8i8UQBncTsB4098aeIBB/HzAXaZCAiwRedX69ERERExG8K6ERERERcTiVXidlpS7hskD0DerSO9RFxKzdNWyISDxTQScyKoykWRUQkziltISIiIuJyCuhERCRqzZ4925RzDxw4ADfhPk+ZMiVo98eu/RdffBGhdOWVV+L+++8P6WNI6CigExERr9NnPFi4cR++WLHd/M/LoQx6cjuNGjUq6l8Z7mPLli3PuT4tLQ3XXXddRPZJ4pPG0ImIiDF1VRpGf7UaaQetZgeqXKooRnZvjK5NKwf9WWLQY5s4caJZEH7dunU+k4P/9NNPEXl1Tpw4gYSEhIB/vlKlSkHdH5G8KEMnIiImmLv3w2U+wRztPHjMXM/bg41Bj30qVaqUyco5r3Ou9rJ06VK0adMGxYsXR4cOHXwCP/riiy9w0UUXmY7b2rVrY/To0Th16pT39pSUFNxwww3mPkuWLIlevXph165d52Ta/vvf//osDs9S7x133IHy5cubn7v66qvx888/m9veffdd8zi8bGcVeV12Jddt27bh5ptvRtmyZVGiRAnzuyxevNjctnHjRrNvFStWNPvHdWi/++47v5/H6dOnm/3NWpYeOnSo2V/at2+fefyqVaua57BZs2b4v//7v3yXjUuXLu39HSk1NdU8l7yevxt/jy1btviUzNu2bWt+Z25z6aWXYuvWrX7/buI/BXQSs/imxZOI5I5lVWbmsiuu2tfx9qzlV04HFK4pgf75z3/iueeeMxm7QoUK4fbbb/fe9sMPP6Bv374mgFm9ejXefPNNE3Q8+eST3mmMGGhwbdc5c+ZgxowZ2LRpE3r37u3zGBs2bMBnn32Gzz//HCtWrDDX3XTTTdi9eze+/fZbE1QyaOzUqZO5L/4814lt0qSJyTbylPU+6dChQ+jYsSO2b9+OL7/80gSAf//7381+2bdff/31mDlzJpYvX46uXbuie/fuJgj1B/eHwRL33Xb69GmT9ezTp4+5zClmWrdujW+++QarVq3CXXfdhdtuuw0//vgjAnXy5El06dIFiYmJ5jWYP3++CUi5/8xwMqDu0aOH+d1/+eUXLFy40DyuprgJDZVcJSbxQ4bf0kUkbz9u3n9OZs6JYRxv53bt6yRFZOkvBmcMDGj48OHo1q2bCVKYmWKWjNf169fP3M5j//HHHzdB08iRI02gtHLlSmzevBnVqlUz27z//vsmEFuyZInJiBGDEF7PbBzNmzfPBDwM6Ozf9dlnnzVZq0mTJpnghAEMA8zcSqwff/wx9uzZYx6LWSyqW7eu9/YWLVqYk437PnnyZBP8DR48OM/npmDBgvjLX/5iHmfgwIHmOv7OzNjdeOON5jIzcw899JD3Z+677z5MmzYNn3zyicmgBYIBI4NSZjXtIG38+PEmuGRmjlnIgwcP4g9/+APq1KnjnRdUQkMBnYhInNudcSyo24VC8+bNvecrV7bG8zHQql69usl4MTtkZ+TsDBUDviNHjphJxhnI2cEcNW7c2AQevM0O6GrUqOEN5oj3y+xZUpIVxNqOHj1qyqT+YravVatW3mAuKz4GS77MnjHLx8wWH8PfDB0xE3fJJZdgx44dqFKlCj766CMT9PJ3tJ+Pp556ygRwzBQyeD1+/Ph5VTH4/DCryQydE593Pj/XXnst+vfvb7J411xzDTp37mzKs/brJ8GlgE5EJM5VSCwa1O1CoXDhwt7zdjbIWbJklq5nz57n/Jw9Fs4fHOflxPtl8MFsU1Z2oOSPYsWK5Xo7M2csAzP7x8wdt//zn/9sgi5/MShlFmzChAm49957TYbPOdbtmWeewUsvvWSmPuH4Of6unKIkt8fg85x1gnaWWZ3PD8u4DB6zsgNjZuyGDBmCqVOnmozeI488Yn5XBp8SpwHd66+/bk72YEumytkRpbZwyQ7f6O1B0w0aNNDSXyK5aFurrOlmZQNEduPoGD5VKlXUbBeNS39xXBuPd2cZ04llPg7e58nO0nGsHUuSzNTldr87d+40JVXOA5cddsIy+5VXdpFlSY67yy5Lx+wiM1l/+tOfvIGSs7EgP1k6BlfJycnmPY8ZOudjcBzhrbfe6n2P/O2333L9/RmUOTuR169fbzKezueHQVqFChVMw0hOmJ3kacSIEWjfvr0pDSugi+OmCP6Bjh071gxK5aBYdu7wj/PXX3+N9K5JlOKbbF5vtCICFLyggJmahLKGZfZl3s7tohG/3HPsG7N0/ExgGZWZKmaDiKU+ZqUY8CxbtsyMi2MTBcfkcZxXTvhzDEA4sJ+dpAyyFixYYBo07OlUGOhxbB7Lqnv37jVlzKzYXcoxdrwfBlZsyGADA5sEqF69et5GDJYxb7nlFm/2MT/s34+lZ2b4nGMc+RjMjHH/+fzcfffdPl2+2eHn7KuvvmoaNfj73nPPPT6ZUj5euXLlzGcxmyL4PDCbyYwcu3p5mUEcf092tvI5ZFCocXRxHtCx44ddQPyjrF+/vvmD5WDURYsWRXrXRERcj/PMvX7rRSYT58TLvD4U89AFC8doff311yZgYOmR2Z8XXnjBjIkjZg85rUmZMmVwxRVXmECNjRPMLuWGP/e///3P/MyAAQPMZw+bDxiccIoRYtMBuzqvuuoqk9HKbioQZvG4b8xk8XOMwSUTFGxmoOeff97sG6dj4Wcdfx9mv/KLGUo2OLCj1O5utTG45X3yvrkihB1g5oZdxcxoXn755SbIZGnYOeaO5+fOnWvGMbLczUCNTRnM3DJjx9vXrl1rniM+d2wiGTRokAkmJfgKeFy4gjmzLp9++qnpaOI3h5xSxvym5Py2lJ6ebv442XWTW3pY3I/fbllSIf59hGtqBZFI4YcoMyLOOdQCwalJ2M3KBgiOmWOZNbvMXDSVXCX2/4a3bePndymkph5EcrI+v109ho7Yds70N190Zuc46DO3+v+YMWNMCl5ERPzD4M2emkRE3MNVaQsObucYA86uzS4eZujsLEx2WLtnNs4+cUCsiIiISKxxVYaO4xDsLia2SnOSRrZhc1bw7HBAaDgnvhQRERGJBFcFdNmNk8quo0jEn7mfROT8aNycSPRwTUDH8innnGM3TUZGhpnHhu3RXLpEJCs2QdhLzYhIaIK582m+EJE4HUPHJV44bxDH0XEhYpZbGcxxORERERERp9de4zyB7MIG2rUDfvwRuTpwABg0iEvLccgWUL8+8L//wTVck6F7++23I70LIiIi4gITJwLDhgFvvGEFcy++yPkKAS4gVKHCudtzBTTmh3jbpElA1arA1q1c4g2u4ZqATiS/4ys5IzlxMmrNQycSXJyHzh7DzOYzjaeTaPL888CddwIDBliXGdh98w3wzjvA8OHnbs/r9+8HFizgusHWdTms9ha1XFNyFckvLiLtXEhaRIIf1LlwbnqJcSdOAEuXcum2zOs4tzwvn11t7Rxffgm0b2+VXLkISNOmwFNPcSEDuIYCOhERkQjhMlz333//ed1H//7981zGK1ZkZHDVp8xTdhNd7N1rBWJnV2fz4uWdO7O/302brFIrf47j5h59lEufAU88AddQQCciIpnOnAY2/wCsnGT9z8shxGCE5Vou/J4V1/3kbdxGhLg4VKlSmacxY4LzvJw5Y42fe+stznML9O4N/POfVqnWLTSGTkRELKu/BKY+DKTvyHxGSlYBuj4NNP5jyJ4lrrE9YcIEvPDCC975I7nEI6en4lRV0e7EiRNm4nsJPS4OxYYFW3ZrB5QrBxQsCOza5Xs9L1eqlP39srOVY+f4c7ZGjayMHku4bnh5laETERErmPukr28wR+lp1vW8PUQuuugiE9R9/vnn3ut4nsFcq1atzml44jrdXMCdwV+LFi0wibWys06fPo2BAwd6b+dUV1xRyIlzmLZt2xYlSpRA6dKlcemll2IrWxpzKF+yJMrSqI3nBw8ebK4vV64curB9EsCqVavMfKlca7xixYq47bbbsJf1v7MOHz5spt/i7ZUrV8ZzrOnlYdSoUWjZsqVZEYnPUfHixdGrVy+znGVWzz77rLnfpKQkk910jiH+4IMP0KZNGyQmJqJSpUq45ZZbzHRgtt9//x19+vRB+fLlzfPGZrLx48d7b+fSmXxcPl9ly5bFDTfcgC1btvj1nAZTYiJQsmTmKbuALiHByrLNnOmbgeNljpPLzqWXAhs2WNvZfvvNCvTcEMyRAjoRkXjHsiozc8iuweHsdVOHh7T8evvtt/sEEO+88w4G2C2KDgzm3n//fbzxxhv49ddf8cADD+DWW2/FnDlzrF/lzBkkJyfj008/NWt9P/bYY/jHP/6BTz75xNx+6tQpE7B17NgRv/zyCxYuXIi77ror31267733nsnKzZ8/3+zLgQMHcPXVV5sA9KeffsLUqVOxa9cuEwTZ/va3v5n9/OKLLzB9+nQTBC1btizPx9qwYYPZ/6+++src7/Lly/HXv/7VZ5tZs2Zh48aN5n/u27vvvmtONgZ3jz/+OH7++WdMmTLFBGPOUvajjz5qnq9vv/0Wa9asweuvv26CVftnGbQyGPzhhx/M78ygtGvXriY7GaznNJiGDQPGjePrBKxZA9x7LwPqzK7Xvn25YEHm9rydXa5Dh1qBHDti2RTBJgnX8MSRgwcP8p3J/C+x7fTp057ffvvNnHheJNYdPXrUs3r1avN/vm2a6/GMLJn3iduddebMGfNYPPF8oPr16+e54YYbPLt37/YUKVLEs2XLFnMqWrSoZ8+ePeY2bkPHjh3zFC9e3LNgwQKf+xg4cKDn5ptvzvExBg0a5LnxxhvN+X379pnPgdmzZ+e6P05Dhw71dOzY0XuZ51u1auWzzeOPP+659tprfa5LTU01j7Vu3TpPRkaGJyEhwfPJJ594b+e+FCtWzNx/TkaOHOkpWLCgZ9u2bd7rvv32W88FF1zgSUtL8+5zjRo1PKdOnfJuc9NNN3l69+6d4/0uWbLE7Bv3i7p37+4ZMGBAttt+8MEHngYNGvi8zsePHzf7Pm3atDyf02D8DaemWp/f/N9fr7zi8VSv7vEkJHg8bdt6PIsWZd7Gl/Psn5UX/6zatfN4ihTxeGrX9niefNLjcTylUU9j6CQmcd45lgxExA+HduV7u2Av/cVSX7du3UxWiVOh8LydIXJmqo4cOXLOCkHMEjlLs6+99prJ8KWkpODo0aPmdpYtieVCZqaYceL9dO7c2WTRWKrMj9as6Tkw88XsGDNXWTFzZu9HO85yexb3hSXhvLD0XNUxcKx9+/YmE7lu3TpTPqUmTZqgoGMAGH+flStXei8vXbrUlG+5nyyv8ueJz1Hjxo1x77334sYbbzQZw2uvvdZk3Dp06OD93fjcM0PnxHGO/N24fTCe02AbPNg6ZWf27HOvYzl20SK4lkquIiLx7sKKwd3uPMquDOhYMuT5rA4dOmT+/+abb7BixQrviaVCexwdmyseeughM46OZU3eztItgykbS7ssCzJgmThxIurXr49FZz/J+WUw69x62c1nybFiWfete/fuPvvFEyc4v+KKKxBqhe3ZcB0Btx20ceweg62SJUvio48+MktnTp482dxmPy8c+8cxbyxh79ixwyyxyefR/t0YwGb93X777TczFi+v51TCQxk6EZF4V6OD1c3KBohsx9EVsG7ndiFkj8liMGI3Gjgxk8RVKZhV4nit7HB8F4MK5xgzZpGyYkaPpxEjRpiMFztqL7nkEpMpZHODE4OXrAFTdo0dn332GWrWrIlChc79aK1Tp465j8WLF3s7d5kpY1CU0+9i4+/LIKtKlSrmMgMlBp7+ZPdo7dq12LdvH8aOHWsaK4jj/LLi796vXz9zuvzyy82YPzZa8HdjkFahQgUTFOYkp+dUwkMZOonppb94sr+likgOLihoTU1iZB3IfvZy17HWdmcxi8WSG0/BWi2CJUMOyGfGzVk+tLHkx6wRs0jM4jFQY4nwlVdeMZeJQy0YrEybNs0ESxzsz4yUbfPmzSbgYDaJGSlm8fg+0YhzVACmsYE/z8YLXj9y5MhzArzssKt0//79uPnmm83jcd+4D8wOsvOWpVhmDRkkff/99+Y+Wab0Z1lClrYZZLH0yaaEIUOGmJKmXW7NCwNINnDwedq0aRO+/PJL0yDhxOYRNmuwtMpmk6+//tr7nLD7leVvdrby8fkcsqGD+7Ft27Y8n1MJDwV0ErO4zqS91qSI5IHzzPV6HyiZZdwTM3O8Ppt56EKx9BczQLllgRiIMEhjtysDBmb1WILlNCV09913o2fPnujdu7cZr8bMlDNbx2k/mLHieDGWBdmNyWCMP0fMDPL+//73v+Piiy9GRkaGmWokL8yeMTvI4I1jypo1a2amNeEUHnbQ9swzz5jMF0uzHGd22WWXnTMWLzt169Y1v9P1119v7rt58+b4z3/+A38x88ZSNjt/meVkpo6ZNycGfAzKeN8sETOgZvnafs7mzp1rAkPuB593BqcM5vla5fWcSngUYGcE4kR6ejpKlSpl5u/J7Q1D3I9ZOX7LJ76B+fMtWMTN+OHKTAkDm/NqVuDUJFsXWA0QHDPHMqsjM5c1Q0d8vEhOURHL2MjAaUZY9o3nv+Ft29JRrVoppKYeRHKyPr+zozF0IiKSicFbrcv1jIi4jNIWIiIiIi6ngE5ERCSKS67xUG6V86eATkRERMTlNIZOYlZe80aJxKJw9rmpEUKCKY56NENCAZ3EpPxMuikSC+x52zgxb7FixUL+eMFe+kuEy7qRvowHRgGdiEgM4OoEnA9sz5495gNRU/WImzJzDOZ2795t5u3LblJpyZsCOhGRGMCMGRdD5zxenK1fxG0YzPm7+oWcSwGdxOzEwvxgI05SqWyFxAPO9s+lr5wL0YfyGOOyT5ScnKxjTM4Ls8rKzJ0fBXQSs44ePRrpXRAJO355CcfYNgZ0duDIx9OXJpHI0rQlIiIiIi6ngE5ERETE5RTQiYiIiLicAjoRERERl1NAJyIiIuJy6nKVmKUWeBEdYyLxQgGdxCROodCoUaNI74ZIzNIxJhJdVHIVERERcTkFdCIiIiIup5KrxCTOYr9lyxZzvmbNmprFXkTHmEhMU0AnMevIkSOR3gWRmKZjTCR6uKbkOmbMGFx88cVITExEhQoV0KNHD6xbty7SuyUiIiISca4J6ObMmYNBgwZh0aJFmDFjBk6ePIlrr70Whw8fjvSuiYiIiESUa0quU6dO9bn87rvvmkzd0qVLccUVV0Rsv0REREQizTUBXVYHDx40/5ctWzagAfM85TS3knO73Gjb/D8PBQoUMKdQb+vcPuvPhmMfPB6POcXKts7XOZa3JR33/j0PTm58j4j0tm447qPlPeLUqVNIT9+T6zbi0oCOB83999+PSy+9FE2bNs1xu+PHj5uTLT093fy/du1aXHjhhedsz+vYEWlbs2ZNjn9oxYsXR+3atb2XOZ7v9OnT2W5brFgx1KlTx3t5/fr1pmScnSJFiqBevXreyxs3bvT5HZwKFy6MBg0aeC9v3rwZR48ezXHVBOdEu+wAzWlAMw/gJk2aeC+npKTg0KFDyInzNdi2bZv3ec5O48aNvW8QO3bswIEDB3LctmHDhihUyPoT3blzJ/bv35/jtvXr10dCQoI5v3v3buzdu9d7G19vp7p166Jo0aLm/J49e8wpJ3yN+VrTvn37sGvXrhy35d+O/XfFfU1LS8tx2xo1apjxoMTnYPv27TluW61aNZQqVcqc53Obmpqa47ZVq1ZFmTJlzHm+Zlu3bs1x28qVKyMpKcmc59AFuys4OxUrVkT58uXNef6Nbdq0KcdtuR23J/7tbtiwIcdty5Urh0qVKpnzPCZ+++23HLfll7cqVaqY8zzWsr6uTqVLl0ZycrI5z2N49erVOW5bsmRJVK9e3Xs5t231HmHhMex8P+Fx7+b3iKz0HhE97xH8nON7Q25/X+KyMXROHEu3atUqTJgwIc9GCn4Q2id+MIqISHA4MzgioWAnP4oUsb5YS84KePLKdUaZwYMH44svvsDcuXNRq1atXLfNLkPHoO73338338qzo9JLaJ+HaCt7qJwS+XJKNG1LKrlG9nmItmNZ7xGhf484duyYGUbFbCzLq87sHLPtrDrs3n0M1aqVQmrqQSQnZ//5He9cU3Lli37fffdh8uTJmD17dp7BnF2+5Cm7PyTnG0xO/NlG2+p5ON/MhbaNnueBdNzreQjH30M0/L1HclsOm7CDOOfwHz6HrKgxiONwpcz7OebXY8ezQm4qs3788ccmO8exRxwvQXzh+aKLiIhIdCdmOBaOQRwrZs4sHsenMhvH6ll+AmNxYck1p2h//Pjx6N+/v1/3wT8gBoD8VpBTyVViA8skbOYgDnjXG4SIjjGJDA594lCnrCVVVtAYxPHE8mputm3jkCmVXGMiQ+eSuFOiiLqiRHSMSWSwpMoAjifn7AuccYGJFQZxviVViZuATkRERKK/pMpsXEZGhk8ihkOlGMTxf1VMQkMBnYiIiASMXaoM4jicyVlS5XyfdknVni9QQkfPsIiIiOQLAzcGcAzkGNA5S6p2EKeGxfBSQCciIiJ+NZs5S6o2joNzllQ1Li4yFNCJiIhItuyJf+0GB+cSlyypcr44NjmopBp5CuhERETknCW37JKqc8UlBm52SdVeE1uigwI6iUnsonIuCC4iOsYk75IqS6nMxGVXUmU2jhMAq6QanRTQiYiIxHFJlfPEMYhjRs5ZUmVTg11SZbODRDcFdCIiInFYUrXHxWUtqTKIY0k1u7XQJXopoJOYLR1s27bNnE9OTtZEliI6xuIe3xe5BCaDOOdKOiyhcjlMBnIlSpRQSdWlFNBJzOIbl4joGIv3kuqRI0e8JVUGdbbixYubII7BnEqq7qeATkREJMacOHHCW1LleVvhwoVNOZWBXEJCQkT3UYJLAZ2IiEgMYEODXVI9fPiwT9e/XVJlVk5dqtHh5Elg507gyBGgfHmgbNnzuz8FdCIiIi4uqTJ4YxDHYM5ZUuV4OGbj2KXKoE4ij7PBfPghMGEC8OOPzKTyNeQ4Ro73Bq69FrjrLuDii/N/3wroREREXIadqXZJlR2rNpZR7Yl/VVKNLs8/Dzz5JFCnDtC9O/CPfwBVqnB6GGD/fmDVKuCHH6ygrl074JVXgHr1/L9/BXQiIiIuKamysYFBHBsdbMy+MQvHkirnjlNJNTotWQLMnQs0aZL97W3bArffDrzxBjB+vBXcKaATERGJoZIql+BiSZWXbVy1gZk4jo9TSTX6/d//+bcdp/+75578378ydBKT+A21cePG3vMiomPMbSVVBnHMxp06dcp7PSf7tUuq7FgVsSmgk5jEIE6BnIiOMbeVVO1xcVyOy8Y54lhSZRCnkqp79ezp/7aff57/+1dAJyIiEiEsoXLVBmbjMjIyfEqqiYmJJojj/yqpul+pUpnn+TJPnmxd16aNdd3SpcCBA/kL/JwU0ElMYuv+jh07zPkqVarozVBEx1hUOXbsmAni2OTgLKkWLVrUW1LluqoSO8aPzzz/8MNAr15WA0TBgtZ1p08Df/0rULJkYPevvxaJWSxb2AGdiOgYizQGbgzgGMgxoHOWVO0gjiVViX3vvAPMm5cZzBHPDxsGdOgAPPNM/u9TAZ2IiEgIqwV2SZX/2yVVjvF1llQ15je+nDoFrF0LNGjgez2vc8wNnS8K6ERERIKIQRszcHaDA5sdnCVVzhfHJgeVVOPXgAHAwIHAxo3W/HO0eDEwdqx1WyAU0ImIiASppMoAjtk4Tjvi/aAtVMhbUmVAJ/Lss0ClSsBzzwFpadbzUbky8Le/AQ8+GNjzo4BORETkPEqq7E5lIMf/bXZJldk4TgCskqo4cWndv//dOqWnW9cF2gzhvc/z+3EREZH4K6ly6S120q9btw6pqaneYI5NDWzEatiwIapXr67xcRH02mtAzZosc1tro/74o38/N2ECA3KgR4/Qj6P77jtrBQl7/ntOznDoUGD3pwydiIiIH06ePOkdF5ddSZXZOK7kIJE3caLVMcppQRjMvfgi0KULsG4dUKFCzj+3ZQvw0EPA5ZeHdv+2bgW6dgVSUrgqCHDNNZx3EHj6aesy9zu/FNBJTGJ5g9+Q7fMiomMs0JIq11BlEMcuVed7DNdQZRBXokQJvc9EmeefB+68M7PBgAHSN99Y04UMH579z7B3pU8fYPRo4IcfrEl+Q2XoUGtC4Z9/BpKSMq//05+s/Q6EAjqJSXyzVQeZiI6x8ympMojjvHEM6mzFixc32Th2qXL+OAkvVrbtMWfEhGjWpOiJE9aqCyNG+I5Z69wZWLgw5/v+17+s7B27TxnQhRLvf8ECICHB93qWiLdvD+w+FdCJiIiYQOCEt6TK87bChQt7u1RVUo2sxo19L48cCYwa5Xvd3r1Wtq1iRd/reZnzvGWHk/y+/TawYgXCgt8RHLPZeG3bZpVeA6GATmISv1Hv3LnTnK9UqZKW/hLRMZYtzhFnl1QPHz7svZ5rp7KkyiBOJdXosXo1ULVq5uVgDFnMyABuuw0YNw4oVw5hce211ri+t96yLnNkECv6DFCvvz6w+1RAJzFr//793oBORHSMOUuqDN4YxDGYc5ZUGbwxiGMwp5Jq9GH2Kq/pPcqVs5bR2rXL93pezu7jgJP7shmie/fM6+w/CS6ny0aKOnUQVJx/jk0azDhyFbhbbgHWr7f2nV2vgVBAJyIicYGdqXZJlR2rtoSEBG9JlefF3RISgNatgZkzM6ceYYDGy4MHn7s9++dWrvS97pFHrMzdSy8B1aoFfx+Tk62GCHbj8n9m5zh2j00ZgS7nq4BORERiFkuqbGxgEMdGB2dJlY0NDOLY6KBu+NgybBjQr5/VScqltVjeZEXd7nrt29cq3Y4ZY81T17Sp78+XLm39n/X6YGL2jwEcT0G5P7jI3Llz8cwzz2Dp0qVIS0vD5MmT0SPUM/+JiIgrS6pcgoslVV62cdUGu6TKoE5iU+/ewJ49wGOPARxO3bIlMHVqZqME53+L5MvPkvAVVwCffQaULetbFq5SJfuGiZgK6HiAtmjRArfffjt69uwZ6d0REZEoK6kyiGM2juuq2tiZapdU2bEq8WHw4OxLrDR7du4/++67CCl+x+AEwswgfvUV0KSJ722BcFVAd91115mTiIiIs6TKQO7o0aPeJ4UNDXZJlctxqaQq0YRdrczOjR0LtG8PfPABcMMNmbfFfEAnIiLCEipXbWAQxzVUnSXVxMREE8Txf5VUJVrxT5ZlVzZdMDvHEjEbMe64I/D7LBRoWnvx4sXYunWrGWRavnx5tGrVCrVq1UI04X4619vjWAqJD/w2Xr9+fe95EXH/MXbs2DFvl2rWkiqX4GJGTiVVcZu77gLq1QNuuom9AmEK6ObPn4+XXnoJX331lWn55sHDVDbn+2LgVLt2bdx111245557zLejSBszZgxGc1E2iTv8gNH0AyLuP8YYuNklVQZ0zpKqPS6uaNGi+uImrlKjhpWhs111FbBoke9cePnld4/HH//4R/Tu3Rs1a9bE9OnTTZp737592LZtm8nSrV+/Ho888ghmzpxpvrXNmDEDkTZixAjzRmCfUlNTI71LIiKSB5ZQWVFJSUnBunXrzKwGDOYYRLI7tXr16mjQoAEqV66s8XHiSps3A0lJvtfVrQssXw5s2hTiDF23bt3w2Wef5ZjOZnaOp379+mH16tXmAIw0puG17l584szvu3fvNucrVKigsTQiUX6MMYhzllTZ7GBjBs4uqRbi5F0iMapoUSt7Fwi/j4y7777b7ztt3LixOQUbB8Fu2LDBe3nz5s1YsWIFypYta76xiTjt5QrNZz9sRCQ6jzGWVO0gzllSZeDmLKmKuF3ZssBvv1nLe5Upk3s369mVK/PFVV91fvrpJ1zFQvNZwzgVNDgbdD+8G+pJY0REJGjZPQ7bYRDH/20sqXL8NbNxnABYDU0SS154wVqLlrhyRbD5HdDxAPP34LIXRQ+2K6+80qc9XURE3IHv3ZwnjkEcxzQ7S6psrrNLqmx2EIlF/fplfz7sAd2LjnCSzRBPPPEEunTpgvacEQ/AwoULMW3aNDz66KPB30sREYkqp0+dQondy1Do2D6sObAZDS+5DgWzGd/GGRHskqpzGim7pMpATmOdJR6k52PmtJIl83//BTwBpLxuvPFGU/ocnGVNjVdffRXfffcdpkyZgmjEril+A+S3Q3ZKSWyXdNicQxzPqQlGRYJn+bT3UHXRaFTw7PNetwtJ2NF+JFp16WeOP77fMojj2Geb3aXKIK5EiRIqqYrftm1LR7VqpZCaehDJye78/L7ggrxXgWBExm3CtpYrM3FPP/30Odd37doVw4cPD+QuRUTEJcFciwVDrAuOD6fynn0ov2AI5mYcQrnGV5mgzla8eHGTjVNJVeLZrFmhvf+AArqkpCR88cUXePDBB32u53W8TUREYrPMWmWhNVn7BVkyDbx8xgPUX/UcdtW7FEWLFvN2qaqkKgJ07BiFAR1XX7jjjjswe/ZstGvXzlzHpcCmTp2KcePGBXsfRfKNpZ26nKVRS3+JBM3axdPQBPt8MnNZg7pK2Icd+zah/lV/UklVJA9HjgApKcCJE77XN2+O8AR0/fv3R6NGjfDyyy/j888/N9fx8rx587wBnkikAzrNXSUS5NUbdm3xa9szR/YqmBPJxZ49wIABwLffZn972MbQEQO3jz76KNAfFxERF2Bnqt2levhMEb9+pliZqiHfLxE3u/9+4MABVjc5JRsweTKwaxfwxBPAc88Fdp8BB3QbN27E+PHjsWnTJjOlCWcK//bbb82KDU2aNAn0bkWCggOy9/ArEAdrly+vLleRfOAccZwNgEEc1+q2VWzQFrtWJZkGiKxj6Mxx5wF2F0hCw3Zd9HyL5OL779l3ALRpY3W/crmva66xpisZM4bLrSLfAlp8b86cOWjWrJkZN8f1Xe229J9//hkjR44M5C5Fgo4BnR3UiUjeJVW+l6empmLt2rXYsWOHN5jjqg3Jyclo0qSpmZrEDt6c7Mtp7UdmOx+diGQ6fJhL5lnnuQyY/VHVrBmwbBkCEtBRx6lJOLEwl97iMi22q6++2sxFJyIi7imp/v777yYbx3VVbexMtbtUCxcu7L2e88wtB86Zh46ZOQZzvF1EctegAbBuHVCzJtCiBfDmm9b5N94AKldG+AK6lStX4uOPPz7nepZd7cWaRUQkukuqDOS4HJeNy25xrjgGcVyOK6flHhm0nbzqZmyeN8GsFJFesq5ZKaKSMnMifhk6FEhLs86zsNm1K8C2hIQEINCl6QMK6Hiwp6WloVatWj7XL1++HFWrajCsiEi0llQZxGVkZPisi81KC9/X+b+/q6qwrHq4wkXmvFZjEcmfW2/NPN+6NbB1K7B2LVC9OlCuHMIX0P3lL3/Bww8/jE8//dR8g+MA9Pnz5+Ohhx5C3759A9sTERHJ90S/nBvu6O/bTWcpmxGyjl87duyYt0s1a0mVS3AxI+csqYpI+BUvDlxkfT8KWEAB3VNPPYVBgwahWrVqJnXPb2f8/5ZbbsEjjzxyfnskIiJ+LcHFVRvMRL9n7ZphrafarFMfb0mVAZ2zpGqPi+M8jTmVVEUktJggnzTJWg5s927OzOB7+9kpfkMf0CUkJJgVIR577DEzno5p/FatWqFevXqB3J2IiARxPdXv9u5FlRaZU4ewlMpsHLtV/S2pikho56FjI8RVVwEVK3Iy/PO/z4ACurlz56Jhw4YmQ8eT7eTJk1i4cCGuuOKK898zkfPAzEPt2rW950XiaT3V5utfw8HW3VCufHlTUi0UgmYFHWMigfvgAysLd/31CJqAvqpdeeWVaNGiBRYtWuRz/f79+3EVw02RCOOHTfHixc1JAZ3EEo6Zq4jsJ/Z1rqd6at9GJCUlhSSYIx1jIoErVQo4m3MImoBz72yM6NSpE97N0l/r7JwSEZHgYPMZx8XtTlnr1/ZslBCR6DRqFDB6NOCYNei8FQr0m9mIESNw+eWXm67WX375Bc+dXXxM2RCJlg+/ffusweLMUmjckLgRvyBznjh2qDKYY/PZ6cKlomI9VR1jIoHr1Qv4v/+zVovghMJZG80DWS0ioIDOzsL17NnTzEV3ww03YPXq1XjppZcCuTuRkNjFlY7PBnQibsLxyPZUI1zJwcbyaaNLumLXqqeiYj1VHWMigenXD1i61JqPLqJNEU7sbv3xxx/Ro0cPU4IVEZHAMl7p6ekmiLPXx7arHiVLljRdqiVKlDCXl7cfabpZGbw5gzrneqpatUEken3zDTBtGnDZZcG7z4ACun79+pllYWyVKlXCnDlzcNddd5kOWBER8b+kyvniWFJlUGdjQw/ni2OXKuePc7LXU2W3KxskbFpPVcQdOEFIyZLBvc8CnjjqYuC3X7458o2T33gldvGDkcMASMsSSbQ5ceKEt6TK8zau2GBP/MuVHIKxUkSo6BiTcNq2LR3VqpVCaupBJCeXjIkM3SuvAG+8YY2hCwa/j3w2PjRt2tQMLuf53DRv3jwY+yYiEvX8DarsLlUGcYcPH/Zez/dUfsFkEGeXVP3Fx2lyabeg/S4iEh4cO3fkCFCnjrXsV9amiP37QxjQtWzZEjt37kSFChXMeb7pOJN79mX+z04sEZF4Xn6LZVG+Jx45csSUVFkhcJZUGbwxiGMwl7WkKiKx7cUXg3+ffgd0mzdvRvny5b3nRUTiWV7Lb807fATlm1xtOladyybaJVWeF5H4c/IkMGcO8OijQK1awbtfjaGTmMTMiF3Wym8ZS8SfMuveJ+rnOXXIrj99jsKFE8zYXQZxsbRyiY4xCadYG0NXqhSwYkVwAzq/M3Rffvml33f6xz/+MdD9EQkKfmhyIXKRUOCYOVNmzWP5rW17NqDZ1T1jcmJrHWMigevRA5gyBXjgAYQ/oOM8c/7QGDoRiXWH9qb4t+Gx/TEZzInI+alXD/jXv4D584HWrVlJ8r19yNnRHCEJ6JyDeUXcUA7af7ZNqGzZsjFT5pLIYbMXu1TZ4JBxMktLWoSW34okHWMigXv7baB0aWu1CJ6c+HEV0oBOxG0fNmlpaeY8Z9hXQCeB/h1x1QZONcIuVbuzv3y9Nti1Kikqlt+KFB1jIoELRW9pwAEdB5xzdYiUlBSfiTFpSCChpYhIlDh27Jh34t9Tp055r+dkv/yCwCaHVTu1/JaInD97BrjzLSQFFNAtX74c119/vZlfiYEdS1p79+41HVycp04BnYi4DQM3u6TKgM7GOeLsqUaKFi3qzfZq+S0ROR/vvw888wywfr11uX594G9/A267LYwB3QMPPIDu3bvjjTfeMN9UFy1aZJasufXWWzF06NDA9kREJAJlw4yMDJOJ4//OydITExNNNo7d0jk1NjCoO92pD37NslJEpTAtvyUi7vT889Y8dIMHA5deal03bx5wzz3A3r2Bdb8G9K6zYsUKvPnmm+ZNjt9ejx8/jtq1a+Pf//43+vXrh549ewZytyIiYXH06FFvSdW5sg0zcHZJtZCfQZmW3xKR/OI6rq+/DvTtm3kdZ3xr0gQYNSqMAR2zcfY3VpZYOY6uUaNG5k0wNTU1kLsUEQnpeqosqdpBnLOkysCN710M5BjQiYiEGnv2OnQ493ped7afLzwBXatWrbBkyRLUq1cPHTt2xGOPPWbG0H3wwQdo2rQpQum1117DM888Y9aVbdGiBV555RW0bds2pI8pIu5cT7XFNbf5lFRtHAfnLKmqC1pEwqluXeCTT4B//MP3+okTrTnqwhbQPfXUU943xyeffBJ9+/bFvffeawK8d955B6EyceJEDBs2zIzda9euHV588UV06dIF69atM5lCERs/oGvUqOE9L/G5nur3+/ajUvNrvNcXK1bMNDfkp6Qq2dMxJhK40aOB3r2BuXMzx9BxkuGZM61AL+bXcmUQd/HFF+PVV1/1TnZcrVo13HfffRg+fHieP895pPhGzk62kiXdvxacSDzzdz3VfX/+EknlyplsHKcdERH3ibW1XIkTCr/wArBmjbmIRo2ABx9kFRQBcc1XVM51t3TpUowYMcJ7Hcfxde7cGQsXLsz2Z9iswZMzoBOR+FpPdd/BLagU4qEgIiL5xSW/PvwQQRNQQLdv3z4zbm7WrFnYvXv3OcuC2UsuBRPH6LEbrWLFij7X8/LatWuz/ZkxY8ZgNPOaEneYeOa4KWKJTWXX2Hpt2aW6d9tvfm1/9PcdId+neKRjTOT8MHTasAHYvds673TFFWEK6G677TZs2LABAwcONAFVtH5YMpvHMXfODB1LtBIfHzbbt28351lmj9a/Uclflt7uUuX5kwUTEe/rqUaSjjGRwC1aBNxyC7B1a+ZKETZ+XDlmUwptQPfDDz9g3rx5pss0XMqVK2fmvNu1a5fP9bxcqVKlbH+G42U0ZkbEvZj955hXBnFclcY53KJem85xv56qiLjTPfcAbdoA33wDVK58/st+BRzQNWzY0JQ8wikhIQGtW7fGzJkz0aNHD++bPS8P5lTLIhIzmR8uK8gluJhVdw7pKFGihCmhs6mJX/CWt9d6qiLiPlzua9Ika/qSYAkooPvPf/5juko5jo7zznGiYadQdZCyfMqVKNq0aWPmnuO0JfzWPmDAgJA8noiED8uoDOKYjTt58qT3er6/sEOVgRy/2DlpPVURcaN27azxcxEP6PjGym/OV1999TnfrDlWybmUTjD17t0be/bsMYEkJxZu2bIlpk6dek6jhIi4A98r+F7CQI5ZOWdJlWMf+V5TvHjxXMdAaj1VEXGb++6zpijZuRNo1oxfXH1vb948TPPQMTvGSTmHDh2abVMEV4+IRpqHLn6wTLd69WpzvnHjxjkuri7hXX6L+JbDzLpdUnW+BXHVBrukqtcsuukYk3CKtXnoLsjmI4mhFN8Ow9oUsWrVKixfvhwNGjQI5MdFJI6W32IGjTgnpN2l6iypsoxql1SzDt8QEYlFmzcH/z4DCug4hi01NVUBnUQtZo3tKWo0ZUlkl99acPQYKjbr7NNIxewbAzieuByXXiP30TEmErizK1NGPqDjUlsst/7tb39Ds2bNzvlW3TyQ4q9IkD9sOAZLQl9mZWaOsi6/xctcfqv2iqexq1Y7FCxYyJRUmY1LTExUSdXldIyJnH+n66xZ2U8s/NhjYRpDl93YFh7coW6KOF8aQycSXL/O/wZNZtyS53Y/dhiHVlf9SSVVEQlIrI2hGzcOuPdezrELcCpdZysCzy9bFqYM3eZQFH9FgohfLuy1eznAXiW90Diyb5tf211w4oCCuRijY0wkcE88ATz5JPDwwwiafAd0HMzM6Uq+/vprNGrUKHh7IhLkDxuO87S7XBXQBfe5zcjIMM0N6ScL+vUzWn4r9ugYEwnc778DN92EoMr3XA4cL3fs2LHg7oWIRD02NaSlpWHt2rVISUkxGdByddtgF5LMWLns8PqdSDJTmIiIiIXB3PTpCKqAJucaNGgQnn76aZw6dSq4eyMiUYXH+N69e7FhwwZs3LgR+/btM2NkOQ9lUlISGjRoaKYmoaxBnX05rf3IbOejExEJpddeA2rWBIoWtVZm+PHH3Me0XX45UKaMdercOfftzxdXiHj0UaB/f+C554CXX/Y9BSKgd9klS5aYNVSnT59uuly5vqLT559/HtjeiEhUTBhrl1T5v41la3anskuV3ap2GVvLb4lItJk4kcuFAm+8YQVzL74IdOkCrFsHVKhw7vazZwM33wx06GAFgE8/DVx7LfDrr0DVqsHfv7fe4kTqwJw51smJb61Dzs4EFfIu17zWTh0/fjyikbpc44dmsc8fvg2wpMog7uDBgz6d6pwnjvPFcRoYZubOd6UIiQ06xiSau1zbtQMuvhh49VXrMqcF4dSkXHJr+PC8H49vgczU8ef79oUrBPRuG60Bm4jkv8nJXr2BKznYGLjZE/8W5ddVPzB4a3JpN70EIhIyLBqcncDAKFLEOjmdOAEsXQqMGJF5HWdbYxl14UL4hUtLc0GbsmXhGuf19XnPnj1Yx/wlYFaNKF++fLD2S0QC4E+WjJkVZqsZxB06dMh7PUuonOKFQZyzpCoiEi0aN/a9PHIkMGqU73V791oZtooVfa/n5bVr/XscTidSpYoVBIbC7bfnfvs774QpoOPC2lwt4v333zcfDlSwYEH07dsXr7zyCooXLx7I3YoEDYORqmcHPsRLYJLbeqotr+1rSqq///67Kanaxy3xeLVLqjyORfwRj8eYRN7q1b5j2rJm54Jh7FhgwgRrXJ2fBYqApi1xYjZw1SrgwAHg6qsDu8+AArphw4Zhzpw5+Oqrr3DppZea6+bNm4chQ4bgwQcfxOuvvx7Y3ogECT9gOHg/XuS1nur3+38366k6px+yS6pFQvGOKDEv3o4xiQ6JiZwsPvdtypVjkgnYtcv3el7mqgy5efZZK6D77jsuY4qQmTz53Ov4PZurR9SpE9h9BtQUUa5cOUyaNAlXXnmlz/WzZs1Cr169TCk2GqkpQmK1zLr3ifomeMu6nqo9fcjuAknY3XMyypZNMkEcO9OVVRGRWG6KaNsWeOWVzGCpenVg8OCcmyL+/W9r9YZp04BLLkFEcBQbQ6u0tDBl6I4cOYKKWYvTYCtwBXObSKTxe4o9PizWx4NxzJwps+bwKzLIq4R92JOeguTmLcK9exKj4ukYE/cZNgzo1w9o08YK7DhtyeHDnKXDup2dqyzdjhljXeY0JY89Bnz8sTV33c6d1vWcWoSncNm4kfN/BvazAQV07du3x8iRI80YOrsDjuNzRo8ebW4TiYYPm61bt8b80l8nTpzA/u0b/Nr2+IEAvvKJxPkxJu7UuzcbN60gjcFZy5bA1KmZjRIpKVbnq40jxdgd++c/5910EayA04m1UmblvvnGCkTDFtC99NJL6NKlC5KTk9GihfWN/+effzbB3TTmKkUkZDhHHIcPsMGBGfHjF/hO7J0TracqIvFk8GDrlB02PDht2YKwWr7c9zKDS04UwlUj8uqADWpA17RpU6xfvx4fffSRWdeRbr75ZvTp08dMQioiwc+GsLucQRyDOefQ15otOmLXqqQ8x9BpPVURkegwa1YUzUPHqQ7uvPPO4O6NiPjgZL/2xL+cBNiWkJBgOgw51QjPL28/0nSzMnhzBnXO9VQradUGEZGYFXBAxwwdu1p3797tM6cVPcaitYgEXFLlXHHMxnFsqu2CCy7wTjXCTLhzzJLWUxURiW8BBXTjxo3Dvffea6YvqVSpks8HC88roBMJrGOQmbisJVV2EDIbl5iYaIK6nDCoO92pD37NslKEMnMiIrEvoIDuiSeewJNPPomHuTaGiATs2LFj3pLqKUevOif7tUuqnATYX1pPVUQkPgUU0LEUdNNNNwV/b0SChJniypUre89H03qqDNxYUmUQ5yypctktBnAM5NgxrmkgJJpF8hgTkSAFdAzmpk+fjnvuuSeQHxcJOX7AJCUlRc16qtsvGYm6Hf5kgriMjAyfkipLqQziWFrNraQqEk0idYyJxLr33we4qmp+lwALKKCrW7cuHn30USxatAjNmjU7pyTENV1F4k2u66kuHILv9u5FlZZdzHXMwNkNDoXUfSoiImf178/1toG77spcuixka7nWqlUr5zssUACbNm1CNNJarvE3bxuFY91Sf9dTPTVwDsqVL+9dYUXErcJ9jEl8y+9arm63eTPw7bfAX/8a4gzdZj6SSJR/2Gw5O/V3OJYlWrPoWzT1Yz3VX1N+QXK1biHdF5FYPMZE4kmtWvkL5s5rHjqReMcPNHapskkobdNqNPXjZ9goISIi8Sc93f9tSwaQhPQ7oBs7diyGDh3q19Jeixcvxt69e9GtmzIREnu4YoM91QhXcqACxf0bHK71VEVE4lPp0hyWlvs2HATHbU6fDmFAt3r1alSvXt10uHbv3h1t2rRBea4ke3YaBt4+b948fPjhh9ixYwfeZ5uGSIzgaijsTmU2jhMA21hmKlmyJJI73Yhdq57SeqoiIhK29VsDCugYoP3888949dVXccstt5gGA86bxQlQjxw5YrZp1aoV7rjjDvTv31+DviUmSqqcJ45BHOeNcy5xx7WM2aHKeeN4HJDWUxURkZx07IiQytcYuhYtWphlv95880388ssv2Lp1q/nA4xJgLVu2NP+LuN2JEye8JVWet3F6HnuqEX6RyUrrqYqISH4wH5aSws8d3+ubN0e+BdQUwclPGcDxJBILmH1j1pnZOHsqBrukyiwcgzh/pmbQeqoiIpKXPXuAAQOsqUmyE9IxdCJucub0KRTetxanM3ZhzYEtaHhJV5/lt+ySKocLMIhjMOcsqTJ4YxDH8XF2SdVfWk9V4kXFihUjvQsirnT//cCBA2wiBa68Epg8Gdi1C3jiCeC55wK7T9cEdE8++SS++eYbrFixAgkJCaYcJpLb8lsNnMtvfZeEHe1HmgyaXVJlIMeOVWdJlUtwMZDj35iI5F6psRvjRCR/vv8e+OILoE0bHktAjRrANddY05WMGQMEMkmIawI6fgizw7Z9+/Z4++23I7074sbltxYMwfcHDqJCk6t9PpTskiobHTQ5qoiIhBpH9lSoYJ0vU8YqwdavDzRrBixbFth9+h3QsQmiadOmEVs8fPTo0eb/d999NyKPL9GPy28xM0dZl9/iZS6/1XjNi9jV8AqULFnKZONYUo3U37RILHSBE+cn1ZchEf81aACsWwfUrMmGU+DNN63zb7wBVK6MgPj9ScYpSThZMNWuXRv79mWWs6IVJ33l2CjnSWLX2sXTUBHZr6XqXH6rwMGtZj1iZuUUzIkEHtBx3W6eAlgSXCSuDR0KpKVZ50eOtJojqlcHXn4ZeOqpEGfo+OHHNVwrVKhg1u9zDiCPVmPGjPFm9iS2nT59GgfSNvm17Yn0XSHfHxERkZzcemvm+datga1bgbVrraAu0Bng/M7Q3XjjjejYsaPJbDC1zpUimKnL7uSv4cOHm/vK7bSWv2GARowYYSaEtU+pqakB35dEH2YFuHoDX1f+nRxF3svSkZbfEhGRaMD551h6ZR/eRRcFHszlK0P31ltvoWfPntiwYQOGDBmCO++8E4mJiYE/MoAHH3zQrCqRm/wEiFlx8tfsJoAVdzt27Jh34l8uO2dLbnIpdq1K0vJbIiIS9RMK33cf8N571uXffmO8Y11XtSoTXiHucu3atav5f+nSpRg6dOh5B3RseVfbu/iDgRuzrAzi7IHYxDni2KXKBoeiRYtiRfuRppuVDRDOsXS8TGntR6JSlvnoREREwmnECODnn4HZsxlbZV7fuTMwalQYAjrb+PHjEW4pKSnYv3+/+Z/jpTgfHdWtWxcXXnhh2PdHwldSZRDH/50Dr/llgkEcX3tnY4O9/FbVRaNRwZPZuLO7QJIJ5ni7iIhIJE2ZAkycCFxyCVckyry+SRNg48bA7tM1qYrHHnsM79m5ybNdtzRr1ixcyWmWJWYwA2eXVBm825iBs9dSLZRLlo1B28mrbsbmeRNQ6Ng+pJesi4aXXKfMnIiIRAXOO2fPQ5d1fro8Vph0f0DH+ec0B11sl1TtII5j5JwlVQZwdkk1P8tvFW/SxZxvVL68picRCQENmREJDFeI+OYba8wc2UHcf/8LtG8f4wGdxB5OfeMsqdrY3cySKgM5/h/IhKUsw2qdSZHQ0TEmEjjONXfddcDq1UxoAC+9ZJ1fsACYMyew+1RAJ2HFcXDMwHEdVTY5OEuqnG2eQRybHHIrqYqIiLjZZZdZTRFct5XLfU2fbk1bsnChdTkQ+tSUsDh58qS3pMoVPLx/gIUKecfF5aek6k/gaD8Op67RskQiwaVjTCQwJ08Cd98NPPooMG4cgkYBnYS8pMps3KFDh7zXM7jiGqoM4tilGopgix82nDORGjdurIBORMeYSFQoXBj47DMroAsmBXQSkgW77ZKqc4m44sWLe0uqbHYQERGJRz16WFOXPPBA8O5TAZ0ExYkTJ7wlVZ63FS5c2FtS1aodIiIiQL16wL/+Bcyfb63lWqKE77MyZEj+nyUFdBIwZt/S09NNNu4wJ885iyVUZuEYxJUoUULlThEREYe33wZKl+bKW9bJiaOQFNBJWEqqR44cMUEcg7msJVXOF8fxcSqpioiIZG/zZgSdMnSSr5IqAzl2rDpLqgzimI1LSEjQsykiIhIBCugkR5wjzi6pMivnnFCUWTgGcszKaUoQERGR3I0dCwwdyjlX89gQwOLFwN69QLdu8JsCOjmnpMrxcMzGsUuVl20cD2eXVBnURbty5cpFehdEYpqOMRH/cSWI6tWBm24Cune3lv8qX966jatF8PZ584APPwR27ADefz8fd66ATmychNfuUnWWVFlGtbtU3VRSZcBZqVKlSO+GSMzSMSaSPwzQuDrEq68Ct9wCpKdzvXJOfg/YRbBWrYA77gD69wfyO9d+AY8zBRPjWD5k9yUzT8wyxTuWVPlcMIjLWlLl88RsHJfjUklVREQiadu2dFSrVgqpqQeRnOz+z+8zZ4BffgG2bgWOHmW2G2jZ0vo/UCq5xhnG71y1gUEcA1xnPM9VGxjEJSYmuqKkmhv+XnamkY0bCkpFdIyJRAt+xDKA4ylY4jKg41Qbzuk2nJyBTE7buHHbY8eOmQCOgdwpFuuzlFSZkWPgk51g7i8DKzu4CuW2PP3222/mcsOGDX32MRz7wIAyt+S327Yl+zmM5W3dcCxHy7aU0zHmhveISG/rhuM+2t4jJHdxGdCtXbvWZKOy4nU1a9b0Xl6zZk2Of2js7qxdu7b38rp160wJMzssW9apU8d7ef369T7j1Jy4mkI9TiF91saNG30Ws3diANagQQPv5c2bN5tlt/LCOeJ4kDKw43Qku3fvNicbb2vSpIn3ckpKis9arFk1bdrUe37btm0mcMyJc13VHTt2mAAzJ/yQKFTI+hPduXMn9u/fn+O29evX947x4++yl+1BjtfbqW7duih6dnDCnj17zCknfI35WtO+ffuwa9euHLfl3479d8V9TUtLy3HbGjVqmEwo8TnYvn17jttWq1bNBNzE5zY1NTXHbatWrWqyrMTXbCvz+TmoXLkykpKSzHk2wmzZsiXHbStWrIjyZ0fv8m9s06ZNOW7L7bg98W/XXlM3p0H19lhHHhN2gJCdsmXLokqVKuY8j7Wsr6sTv6QkJyeb8zyGV3O0cQ44/KI6Ryqfldu2sfwewfeFRo0aeS/z78E5FMOJx7BzWx73bn6PyErvEdH5HiG5i8uALl4xgOCHPT+UeGA6M3UiIiLiXnHZFMF51XJqioiGUkYg27Kkym+n/Dbr/Bl+m7eX4XJ2qUZqf8NZcrUzOCq5uqOcEg3bRsOx7JZtndlMlVxVcg318RkLTRG//MJstTV+LhTiMkPHPw5/avL5qdtHYltm2OwgjgGds3RiTzXCUk607G+kts3t9Q7VPjiDJW3rnuchWv+Go3FbZ8Dn73tqsPfBzdtGw9+727Z1u1atAI7EqVCBw3mAJUuAsxXtoIjLgM7N+CbKsSrMMmZkZHiv5wHBkiqDOP4fLweIiIiIG5Quba3hyoCOwxH9SILniwI6F2A6mhk4BnGcN845sJoZOLtL1R4cLCIiItHlxhuBjh3ZbMIkjLVSBCcWzk4uPSU5UgQQxdjlxgCOgZyzi42Bm11Stbs1JfuuSBEJHR1jIv576y2gZ0+ATb1DhgB33slmRQSNArooLKmylMogzjkNAEuobORgEMcuVZVU8x7LYk9xISLBp2NMJP+6drX+X7oUGDpUAV1MllQ5b49dUnUONuZcVnZJlc0OIiIi4m7jxwf/PpWhiyBO6ssOVZ543jkZqF1S5bQjEliQbI81tCdSFpHg0TEmEl0U0IUZs2+cD4/ZOM68bWPAYc8XV6JECQUgQfiwseehc848LyLBoWNMJLoooAvTGx+X0GEQx2Aua0mVqzdwfJxKqiIiIhIIBXRhKKkykHOuy8iSKoO4rKs3iIiIiARCAV2QcdyWXVJ1LmzNjjBm4RjIMSunEqCIiIgEiwK6IJVUOR6O2Th2qTrXpeN4OLukmp9lYURERET8pYDuPHCyX7tL1VlSZRnV7lJVSVVERERCTQFdACVVZuEYxGUtqbJLldk4LselkqqIiIiEiwI6P7CEylUbGMRxfJyzpMpVGxjEJSYmqqQaZZghFREdYyLxQAFdLo4dO+YtqZ46dcp7PSf7tUuq7FiV6MOMaXJycqR3QyRm6RgTiS4K6LJg4GaXVLkcl41zxNkl1aJFi6qkKiIiIlHDFW2XW7ZswcCBA1GrVi0zPq1OnToYOXKkz3JZ54MlVJZSU1JSsG7dOqSlpXmDOZZSq1WrhgYNGpjF3jU+zh34mnICZ56cJXIR0TEm8eG114CaNYGiRYF27YAff8x9+08/BRo2tLZv1gz43//gKq7I0HEJJ34wv/nmm6hbty5WrVqFO++800wV8uyzz55XSZXzxTEbZ6/7SczA2SXVQoVc8RRJFgziVq9ebc5r6S+R4NMxJtFs4kRg2DDgjTesYO7FF4EuXYB164AKFc7dfsEC4OabgTFjgD/8Afj4Y6BHD2DZMqBpU7hCAY9L0xfPPPMMXn/9dWzatMnvn2EWjmVT/gwDOAZ0zpKqHcQxCyfuxi8AzoBOcwCK6BgT99q2LR3VqpVCaupBJCeXzHP7du2Aiy8GXn3VuswVN6tVA+67Dxg+/Nzte/cGuLz6119nXnfJJUDLllZQ6AauTT9xnFvZsmXznCeOJ2dAR7t27TLdqZxahCVVBnH8X1ONiIiIRK+MDH6WZ14uUsQ6OXE01tKlwIgRmddxXv/OnYGFC5EtXs+MnhMzelOmwDVcMYYuqw0bNuCVV17B3Xffnet2Y8aMMRk5+8SxcHZJtXLlymZcXPXq1c0qDgrmREREolvjxkCpUpknlkiz2ruXc8YCFSv6Xs/LO3dmf7+8Pj/bR6OIBnTDhw83gVRuJ46fc9q+fTu6du2Km266yYyjy82IESNMJs8+paammutr166NpKQkjY8TERFxEY6kOXgw8+TMwsW7iJZcH3zwQfTv3z/XbRh82Xbs2IGrrroKHTp0wFtvvZXn/XO+OJ5ERETE/RITgZJ5DKErV47j4jm8yvd6Xq5UKfuf4fX52T4aRTSgK1++vDn5g5k5BnOtW7fG+PHjNchdREREzpGQALRuDcycaXWq2k0RvDx4cPZPWPv21u3335953YwZ1vVu4YqmCAZzV155JWrUqGGmKdmzZ4/3tkpuCp8lrDg2UkR0jEn8GTYM6NcPaNMGaNvWmraEXawDBli39+0LVK2aOQZv6FCgY0fgueeAbt2ACROAn34C/CgGRg1XBHQzZswwjRA8ZV3OyaWzrkiIcZoSNryIiI4xiT+9ewPM/Tz2mNXYwOlHpk7NbHxISbE6X20dOlhzzz3yCPCPfwD16lkdrm6Zg87V89AFwp6Hjg0Syt6IiIjE5jx08ciV05aIiIiIiMtKriL5pZUiREJLx5hIdFGGTkRERMTlFNCJiIiIuJwCOhERERGXU0AnIiIi4nIK6ERERERcTgGdiIiIiMtp2hKJWRdeeGGkd0EkpukYE4keCugkZpf+qlmzZqR3QyRm6RgTiS4quYqIiIi4nAI6EREREZdTyVVidlmiNWvWmPONGjUy5SER0TEmEqsU0EnM8ng8kd4FkZimY0wkeihtISIiIuJyCuhEREREXE4BnYiIiIjLKaATERERcTkFdCIiIiIupy5XiVnFixeP9C6IxDQdYyLRQwGdxCTOO1e7du1I74ZIzNIxJhJdVHIVERERcTkFdCIiIiIup5KrxOzSX+vWrTPnGzRooKW/RHSMicQ0BXQSs06fPh3pXRCJaTrGRKKHSq4iIiIiLqeATkRERMTlFNCJiIiIuJwCOhERERGXU0AnIiIi4nLqcpWYVaxYsUjvgkhM0zEmEj0U0EnMLktUp06dSO+GSMzSMSYSXVRyFREREXE5BXQiIiIiLqeSq8Ts0l/r16835+vVq6elv0R0jInENNdk6P74xz+ievXqKFq0KCpXrozbbrsNO3bsiPRuSRQ7efKkOYmIjjGRWOeagO6qq67CJ598YhZc/+yzz7Bx40b8+c9/jvRuiYiIiESca0quDzzwgPd8jRo1MHz4cPTo0cNkYAoXLhzRfRMRERGJJNdk6Jz279+Pjz76CB06dFAwJyIiInHPVQHdww8/jBIlSiApKQkpKSn44osvct3++PHjSE9P9zmJiIiIxJqIBnQsmxYoUCDX09q1a73b/+1vf8Py5csxffp0FCxYEH379oXH48nx/seMGYNSpUp5T9WqVQvTbyYiIiISPgU8uUVEIbZnzx7s27cv121q166NhISEc67ftm2bCdAWLFiA9u3b55ih48nGDB1/5uDBgyhZsmQQfgOJ5mlL2DhDXDGCs9qLiI4xcadt2/j5XQqpqQeRnKzP76hriihfvrw5BfqBTc6ALasiRYqYk8QfBnCcf05EdIyJxANXdLkuXrwYS5YswWWXXYYyZcqYzMujjz5qMi85ZedERERE4oUr6lDFixfH559/jk6dOqFBgwYYOHAgmjdvjjlz5igDJyIiInHPFRm6Zs2a4fvvv4/0boiLaAydiI4xkXjiioBOJBC5ja8UkfOnY0wkerii5CoiIiIiOVNAJyIiIuJyCuhEREREXE4BnYiIiIjLKaATERERcTl1uUrMKly4cKR3QSSm6RgTiR4K6CRml/7iJNQiomNMJB6o5CoiIiLicgroRERERFxOJVeJ2aW/Nm/ebM7XqlXLlGBFRMeYSKxSQCcx6+jRo5HeBZGYpmNMJHoobSEiIiLicgroRERERFxOAZ2IiIiIyymgExEREXE5BXQiIiIiLqeATmJWwYIFzUlEdIyJ5GT/fqBPH6BkSaB0aWDgQODQody3v+8+gIsRFSsGVK8ODBkCHDyIiNK0JRKTOO9co0aNIr0bIjFLx5jEij59gLQ0YMYM4ORJYMAA4K67gI8/zn77HTus07PPAo0bA1u3AvfcY103aRIipoDH4/EgTqSnp6NUqVI4ePAgSjIUFxERkai3bVs6qlUrhdTUg0hODt7n95o1VlC2ZAnQpo113dSpwPXX8zGBKlX8u59PPwVuvRU4fBgoFKFUmUquIiIi4goZGUzOZJ6OHz+/+1u40Cqz2sEcde7MDDSweLH/98NyK/NEkQrmSAGdxOzSX5s2bTInnhcRHWPifsymlSqVeRoz5vzub+dOoEIF3+sYlJUta93mj717gccft8q0kaQxdBKzjhw5EuldEIlpOsYk3FavBqpWzbxcpEj22w0fDjz9dN7l1vPFLGG3blagOWoUIkoBnYiIiLhCYqJV2szLgw8C/fvnvk3t2kClSsDu3b7XnzpldbLytrzKv127Wvs0eTJQuDAiSgGdiIiIxJTy5a1TXtq3Bw4cAJYuBVq3tq77/nsO2wHatcs9M9eli5Uh/PJLoGhRRJzG0ImIiEhcatTIyrLdeSfw44/A/PnA4MHAX/6S2eG6fTvQsKF1ux3MXXut1dH69tvWZY634+n06cj9LsrQiYiISNz66CMriOvUyepuvfFG4OWXM2/n3HTr1nHMqHV52bLMDti6dX3va/NmoGZNRIQCOhEREYlbZcvmPIkwMUBzzth75ZW+l6OFAjqJWQUKFIj0LojENB1jItFDAZ3E7LJETZo0ifRuiMQsHWMi0UVNESIiIiIup4BORERExOVUcpWYxOW+UlJSzPnq1aub8pCI6BgTiVUK6CRmHTp0KNK7IBLTdIyJRA+lLURERERcznUB3fHjx9GyZUvTLr9ixYpI746IiIhIxLkuoPv73/+OKvZ6HCIiIiLiroDu22+/xfTp0/Hss89GeldEREREooZrmiJ27dqFO++8E1OmTEHx4sUjvTsiIiIiUcMVAZ3H40H//v1xzz33oE2bNtiyZYvf4+14sh08eND8n56eHrJ9leiZtsTuwOPrrWlLRHSMiXtlZKR74wGJwoBu+PDhePrpp3PdZs2aNabMmpGRgREjRuTr/seMGYPRo0efc321atXyva8iIiISWYcOZQAopZchGwU8EQx39+zZg3379uW6Te3atdGrVy989dVXPgtBnz59GgULFkSfPn3w3nvv+ZWhY9Zm//79SEpK0qLScYCZOQbvqampKFmypB5bz7n+1mLoGJP4cuaMB2lpGahfvwoKFnTV8P/4COj8xRn/nWXSHTt2oEuXLpg0aRLatWuH5OTkiO6fRCf+zZQqVcqU2iMR0Omx9Zzrb01EwsUVY+i4dJPThRdeaP6vU6eOgjkRERGJe8pbioiIiLicKzJ0WdWsWVOdLpKnIkWKYOTIkeb/cNNj6znX35qIhJMrxtCJiIiISM5UchURERFxOQV0IiIiIi6ngE5ERETE5RTQiYiIiLicAjqJSa+99prphi5atKiZfPrHH38My+POnTsX3bt3R5UqVcxqJFOmTAnL43KZu4svvhiJiYmoUKECevTogXXr1oXlsV9//XU0b97cTN7MU/v27fHtt98iEsaOHWue9/vvvz/kjzVq1CjzWM5Tw4YNES7bt2/Hrbfeala+KVasGJo1a4affvopLI/NYyvr787ToEGDwvL4InIuBXQScyZOnIhhw4aZKUuWLVuGFi1amJVFdu/eHfLHPnz4sHk8BpThNGfOHPNhumjRIsyYMQMnT57Etddea/Yn1LhSCwOppUuXmoDi6quvxg033IBff/0V4bRkyRK8+eabJrgMlyZNmiAtLc17mjdvXlge9/fff8ell16KwoULm+B59erVeO6551CmTJmwPdfO35t/c3TTTTeF5fFFJBuctkQklrRt29YzaNAg7+XTp097qlSp4hkzZkxY94OH1+TJkz2RsHv3bvP4c+bMicjjlylTxvPf//43bI+XkZHhqVevnmfGjBmejh07eoYOHRryxxw5cqSnRYsWnkh4+OGHPZdddpknWvD5rlOnjufMmTOR3hWRuKUMncSUEydOmExR586dvdddcMEF5vLChQsRL7h+LZUtWzasj3v69GlMmDDBZAZZeg0XZie7devm87qHw/r16015vXbt2ujTp49ZdzocvvzyS7Rp08ZkxFhib9WqFcaNG4dIHXMffvghbr/9dlN2FZHIUEAnMWXv3r0mqKhYsaLP9by8c+dOxIMzZ86YMWQsyTVt2jQsj7ly5UqzxjJXyLjnnnswefJkNG7cOCyPzQCSpXWOIwwnjs189913MXXqVDOOcPPmzbj88suRkZER8sfetGmTecx69eph2rRpuPfeezFkyBC89957CDeOEz1w4AD69+8f9scWEZcv/SUiuWerVq1aFbbxXNSgQQOsWLHCZAYnTZqEfv36mXF9oQ7qUlNTMXToUDOGiw0w4XTdddd5z3PcHgO8GjVq4JNPPsHAgQNDHrQzQ/fUU0+Zy8zQ8TV/4403zHMfTm+//bZ5LpipFJHIUYZOYkq5cuVQsGBB7Nq1y+d6Xq5UqRJi3eDBg/H1119j1qxZplkhXBISElC3bl20bt3aZMrYGPLSSy+F/HFZXmezy0UXXYRChQqZEwPJl19+2ZxntjZcSpcujfr162PDhg0hf6zKlSufEyw3atQobCVf29atW/Hdd9/hjjvuCOvjisi5FNBJTGFgwaBi5syZPtkMXg7nmK5wYw8GgzmWOr///nvUqlUrovvD5/z48eMhf5xOnTqZci+zg/aJmSuOZ+N5BvfhcujQIWzcuNEEW6HGcnrWaWl+++03kyEMp/Hjx5sxfBy/KCKRpZKrxBxOWcKyEz/Y27ZtixdffNEM0h8wYEBYPtSdGRqOq2JgweaE6tWrh7TM+vHHH+OLL74wc9HZ4wVLlSpl5igLpREjRpiSG38/jh/jfsyePduM7Qo1/q5ZxwmWKFHCzM0W6vGDDz30kJlzkEHUjh07zDQ5DCBvvvlmhNoDDzyADh06mJJrr169zDyLb731ljmFM2hnQMdjjdlQEYmwSLfZioTCK6+84qlevbonISHBTGOyaNGisDzRs2bNMtOFZD3169cvpI+b3WPyNH78eE+o3X777Z4aNWqY57p8+fKeTp06eaZPn+6JlHBNW9K7d29P5cqVze9dtWpVc3nDhg2ecPnqq688TZs29RQpUsTTsGFDz1tvveUJp2nTppm/sXXr1oX1cUUkewX4T6SDShEREREJnMbQiYiIiLicAjoRERERl1NAJyIiIuJyCuhEREREXE4BnYiIiIjLKaATERERcTkFdCIiIiIup4BORERExOUU0IlI1Hj77bdx7bXXei/3798fPXr0OO/7LVCgAKZMmYJgGT58OO67776g3Z+IyPnSShEiEhWOHTuG2rVr49NPPzWLz9PBgwe5PCFKly593gHd5MmTgxIc0t69e82+cp1e/i8iEmnK0IlIVJg0aRJKlizpDeaoVKlS5x3MhUK5cuXQpUsXvP7665HeFRERQwGdiATVnj17UKlSJTz11FPe6xYsWICEhATMnDkzx5+bMGECunfv7nNd1pLrlVdeiSFDhuDvf/87ypYtax5n1KhRPj+zfv16XHHFFShatCgaN26MGTNmnPNYqamp6NWrlwkWeT833HADtmzZYm5bu3Ytihcvjo8//ti7/SeffIJixYph9erV3uu4r9xnEZFooIBORIKqfPnyeOedd0yg9dNPPyEjIwO33XYbBg8ejE6dOuX4c/PmzUObNm3yvP/33nsPJUqUwOLFi/Hvf/8b//rXv7xB25kzZ9CzZ08TPPL2N954Aw8//LDPz588edJk1xITE/HDDz9g/vz5uPDCC9G1a1ecOHECDRs2xLPPPou//vWvSElJwbZt23DPPffg6aefNgGirW3btuY2OxAUEYkkjaETkZAYNGgQvvvuOxOkrVy5EkuWLEGRIkWy3fbAgQMoU6YM5s6di8svv9wnQ8fb7IYGZuhOnz5tAjFnYHX11Vdj7NixmD59Orp164atW7eiSpUq5vapU6fiuuuu846h+/DDD/HEE09gzZo1ZmwdMZBjto6PYzdl/OEPf0B6eroJDgsWLGjux96eeBtLwrNnz0bHjh31VyQiEVUosg8vIrGKWa6mTZuaJoelS5fmGMzR0aNHzf8sk+alefPmPpcrV66M3bt3m/MM0qpVq+YN5qh9+/Y+2//888/YsGGDydBlbcrYuHGj9zKzjPXr18cFF1yAX3/91SeYI5Zg6ciRI3nus4hIqCmgE5GQYHC0Y8cOUwZlWbJZs2Y5bpuUlGQCpt9//z3P+y1cuLDPZf4cH8Nfhw4dQuvWrfHRRx9lWy52Bn6HDx82AV1aWpoJHJ32799/zs+IiESKAjoRCTqWMG+99Vb07t0bDRo0wB133GHKrhUqVMh2e5Y1OT6NTQfOeejyq1GjRqbhwRmALVq0yGebiy66CBMnTjT7wq7a7DBYY7n3n//8p7mvPn36YNmyZd6sHK1atcoEl02aNAl4f0VEgkVNESISdAyEOIfcyy+/bJoSWLq8/fbbc/0ZNiqwMeJ8dO7c2TxWv379TIaNY+24L04MzjjtCDtbefvmzZvNODh2z7LJgdgEwdLtI488gueff96M23vooYd87oc/y/F+ziBPRCRSFNCJSFAxOHrxxRfxwQcfmAwYS5Y8zwAot3nbBg4ciP/9738mEAwUH4vNDxyTx2YJZgaffPJJn204JQmbL6pXr246YpnV42NzDB339/333zf7wX0uVKiQ6ahlI8W4cePw7bffeu+HU5bceeedAe+riEgwqctVRKLGTTfdZEqiI0aMQDRjYPfggw/il19+MUGfiEikKUMnIlHjmWeeMXPCRTs2S4wfP17BnIhEDWXoRERERFxOGToRERERl1NAJyIiIuJyCuhEREREXE4BnYiIiIjLKaATERERcTkFdCIiIiIup4BORERExOUU0ImIiIi4nAI6EREREbjb/wOuVUAMaBNHNgAAAABJRU5ErkJggg==",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "p = params()\n",
+ "# f(x) = 0.5*x + 0.25\n",
+ "# Gradient: f'(0) = 0.5\n",
+ "p.set_function(p.linear, (0.5, 0.25))\n",
+ "p.unpack()\n",
+ "\n",
+ "@qfunc\n",
+ "def main(x: Output[QNum[n]]):\n",
+ " # 1. State preparation\n",
+ " \n",
+ " # Now using the direct prepare_complex_amplitudes instead of the ancilla and the inplace_add\n",
+ " x_array = np.arange(N) # Create an array of x values corresponding to the quantum states\n",
+ " phases = f_normalized(x_array) * 2 * np.pi # Apply 2pi times the normalized function to get the phases\n",
+ " magnitudes = np.ones(N) * 1 / N # Set equal magnitudes for all states\n",
+ " # You can use the helper function:\n",
+ " # magnitudes, phases = p.calculate_magnitude_and_phase()\n",
+ "\n",
+ " prepare_complex_amplitudes(magnitudes=magnitudes, phases=phases, out=x)\n",
+ "\n",
+ " # 2. Next step in the algorithm: QFT inverse on the coordinates register\n",
+ " # invert(lambda: qft(x))\n",
+ "\n",
+ "df = run_statevector_simulation(main, print_circuit_info=True)\n",
+ "simplified_df = simplify_df(df)\n",
+ "plot_simplified_df(simplified_df)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "bcf74e4c",
+ "metadata": {},
+ "source": [
+ "The graph is exactly the same as the phase kickback method.\\\n",
+ "From this point, we will use this method over the phase kickback, in order to have better efficiency."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "15415d27",
+ "metadata": {},
+ "source": [
+ "## 2.3. Quadratic Function"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "2ccef2dd",
+ "metadata": {},
+ "source": [
+ "More interesting are non-linear functions.\\\n",
+ "In the next example we will see a quadratic function.\\\n",
+ "Note that the 'magic' does not happen in this step. You will see that the phases agree with the function completly and doesn't do the linearization needed to calculate the gradient. The magic will happen in the next step where the QFT will do the linearization for us."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "id": "7f2a5f63",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Circuit Width: 3\n",
+ "Circuit Depth: 12\n",
+ "Gate Counts: {'u': 8, 'cx': 6}\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "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rhCGu/v27cOBAwcyvE6lSpVw55134ocffkjVS+z8+fOmErVr16745JNPvMrQMWtz8OBBFC9ePCr6kkU7ZuYYvCckJKBw4cK6bz3neq9F0DEm0eXCBRd27z6KatXKIEcOR03/j46AzlvsRu4+TLpr1y60bdsWkyZNMi1MypUrF9L9k/DE90xMTIwZag9FQKf71nOu95qIBIsj5tBxWRl3BQsWNP9XrlxZwZyIiIhEPeUtRURERBzOERm6tLiUkwNGiiXE8uTJg6FDh5r/dd96zvVei6xjTEQcOIdORERERDzTkKuIiIiIwymgExEREXE4BXQiIiIiDqeATkRERMThFNBJRHrvvfdMNXTevHlN8+k//vgjKPc7Z84cdOjQAWXKlDGrkUyZMiUo98tl7q688koUKlQIJUuWRKdOnbB+/fqg3Pfo0aNRr14907yZW7NmzfDzzz8jFEaMGGGe98cffzzg9/X888+b+3LfatSogWDZuXMn7r33XrPyTb58+VC3bl0sWbIkKPfNYyvtY+fWp0+foNy/iFxKAZ1EnIkTJ2LAgAGmncKyZctQv359s7JIYmJiwO/7+PHj5v4YUAbT7NmzzYfpwoULMX36dJw9exY33XST2Z9A40otDKSWLl1qAoobbrgBHTt2xF9//YVgWrx4McaOHWuCy2CpXbs2du/enbzNnTs3KPd76NAhtGjRArly5TLB85o1a/D666+jaNGiQXuu3R8333PUuXPnoNy/iKSDbUtEIknTpk1dffr0ST5//vx5V5kyZVzDhw8P6n7w8Jo8ebIrFBITE839z549OyT3X7RoUdeHH34YtPs7evSoq2rVqq7p06e7WrZs6erfv3/A73Po0KGu+vXru0LhmWeecV1zzTWucMHnu3Llyq4LFy6EeldEopYydBJRzpw5YzJFbdq0Sb4se/bs5vyCBQsQLbh+LRUrViyo93v+/HlMmDDBZAY59BoszE62b98+1eseDBs2bDDD65UqVULXrl3NutPB8P3336NJkyYmI8Yh9oYNG+KDDz5AqI65zz//HA888IAZdhWR0FBAJxFl//79JqgoVapUqst5fs+ePYgGFy5cMHPIOCRXp06doNzn6tWrzRrLXDGgV69emDx5MmrVqhWU+2YAyaF1ziMMJs7NHD9+PKZOnWrmEW7ZsgXXXnstjh49GvD73rx5s7nPqlWrYtq0aejduzf69euHTz75BMHGeaKHDx9Gjx49gn7fIuLwpb9EJONs1Z9//hm0+VxUvXp1rFixwmQGJ02ahO7du5t5fYEO6hISEtC/f38zh4sFMMF08803J5/mvD0GeBUqVMBXX32FBx98MOBBOzN0L7/8sjnPDB1f8zFjxpjnPpg++ugj81wwUykioaMMnUSUEiVKIEeOHNi7d2+qy3k+Li4Oka5v37748ccfMXPmTFOsECy5c+dGlSpV0LhxY5MpY2HIW2+9FfD75fA6i10aNWqEnDlzmo2B5Ntvv21OM1sbLEWKFEG1atWwcePGgN9X6dKlLwmWa9asGbQhX9u2bdvw66+/4qGHHgrq/YrIpRTQSURhYMGgYsaMGamyGTwfzDldwcYaDAZzHOr87bffULFixZDuD5/z06dPB/x+WrdubYZ7mR20N2auOJ+NpxncB8uxY8ewadMmE2wFGofT07al+fvvv02GMJjGjRtn5vBx/qKIhJaGXCXisGUJh534wd60aVOMGjXKTNK///77g/Kh7p6h4bwqBhYsTihfvnxAh1m//PJLfPfdd6YXnT1fMCYmxvQoC6TBgwebITc+Ps4f437MmjXLzO0KND7WtPMECxQoYHqzBXr+4JNPPml6DjKI2rVrl2mTwwDy7rvvRqA98cQTaN68uRlyvfPOO02fxffff99swQzaGdDxWGM2VERCLNRltiKB8M4777jKly/vyp07t2ljsnDhwqA80TNnzjTtQtJu3bt3D+j9pnef3MaNG+cKtAceeMBVoUIF81zHxsa6Wrdu7frll19coRKstiVdunRxlS5d2jzusmXLmvMbN250BcsPP/zgqlOnjitPnjyuGjVquN5//31XME2bNs28x9avXx/U+xWR9GXjP6EOKkVERETEd5pDJyIiIuJwCuhEREREHE4BnYiIiIjDKaATERERcTgFdCIiIiIOp4BORERExOEU0ImIiIg4nAI6EREREYdTQCciYeOjjz7CTTfdlHy+R48e6NSp02XfbrZs2TBlyhT4y6BBg/DYY4/57fZERC6XVooQkbBw6tQpVKpUCV9//bVZfJ6SkpK4PCGKFCly2QHd5MmT/RIc0v79+82+cp1e/i8iEmrK0IlIWJg0aRIKFy6cHMxRTEzMZQdzgVCiRAm0bdsWo0ePDvWuiIgYCuhExK/27duHuLg4vPzyy8mXzZ8/H7lz58aMGTM8/t6ECRPQoUOHVJelHXJt1aoV+vXrh6effhrFihUz9/P888+n+p0NGzbguuuuQ968eVGrVi1Mnz79kvtKSEjAnXfeaYJF3k7Hjh2xdetW87N169Yhf/78+PLLL5Ov/9VXXyFfvnxYs2ZN8mXcV+6ziEg4UEAnIn4VGxuLjz/+2ARaS5YswdGjR3Hfffehb9++aN26tcffmzt3Lpo0aZLp7X/yyScoUKAAFi1ahFdffRUvvPBCctB24cIF3H777SZ45M/HjBmDZ555JtXvnz171mTXChUqhN9//x3z5s1DwYIF0a5dO5w5cwY1atTAyJEj8eijj2L79u3YsWMHevXqhVdeecUEiLamTZuan9mBoIhIKGkOnYgERJ8+ffDrr7+aIG316tVYvHgx8uTJk+51Dx8+jKJFi2LOnDm49tprU2Xo+DO7oIEZuvPnz5tAzD2wuuGGGzBixAj88ssvaN++PbZt24YyZcqYn0+dOhU333xz8hy6zz//HC+++CLWrl1r5tYRAzlm63g/dlHGrbfeiiNHjpjgMEeOHOZ27OsTf8Yh4VmzZqFly5Z6F4lISOUM7d2LSKRilqtOnTqmyGHp0qUegzk6efKk+Z/DpJmpV69eqvOlS5dGYmKiOc0gLT4+PjmYo2bNmqW6/sqVK7Fx40aToUtblLFp06bk88wyVqtWDdmzZ8dff/2VKpgjDsHSiRMnMt1nEZFAU0AnIgHB4GjXrl1mGJTDknXr1vV43eLFi5uA6dChQ5nebq5cuVKd5+/xPrx17NgxNG7cGF988UW6w8Xugd/x48dNQLd7924TOLo7ePDgJb8jIhIqCuhExO84hHnvvfeiS5cuqF69Oh566CEz7FqyZMl0r89hTc5PY9GBex+6rKpZs6YpeHAPwBYuXJjqOo0aNcLEiRPNvrCqNj0M1jjc+69//cvcVteuXbFs2bLkrBz9+eefJrisXbu2z/srIuIvKooQEb9jIMQecm+//bYpSuDQ5QMPPJDh77BQgYURl6NNmzbmvrp3724ybJxrx31xx+CMbUdY2cqfb9myxcyDY/UsixyIRRAcun322WfxxhtvmHl7Tz75ZKrb4e9yvp97kCciEioK6ETErxgcjRo1Cp999pnJgHHIkqcZAGXUt+3BBx/E//73PxMI+or3xeIHzsljsQQzgy+99FKq67AlCYsvypcvbypimdXjfXMOHff3008/NfvBfc6ZM6epqGUhxQcffICff/45+XbYsqRnz54+76uIiD+pylVEwkbnzp3NkOjgwYMRzhjYDRw4EKtWrTJBn4hIqClDJyJh47XXXjM94cIdiyXGjRunYE5EwoYydCIiIiIOpwydiIiIiMMpoBMRERFxOAV0IiIiIg6ngE5ERETE4RTQiYiIiDicAjoRERERh1NAJyIiIuJwCuhEREREHE4BnYiIiAic7f8BfWkXTyu+WlUAAAAASUVORK5CYII=",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "p = params()\n",
+ "# f(x) = 0.5*x^2 + 0.25*x + 0.1\n",
+ "# Gradient: f'(x) = x + 0.25, so f'(0) = 0.25\n",
+ "p.set_function(p.quadratic, (0.5, 0.25, 0.1))\n",
+ "p.l = 2\n",
+ "p.unpack()\n",
+ "\n",
+ "@qfunc\n",
+ "def main(x: Output[QNum[n]]):\n",
+ " # 1. State preparation\n",
+ " magnitudes, phases = p.calculate_magnitude_and_phase()\n",
+ " prepare_complex_amplitudes(magnitudes=magnitudes, phases=phases, out=x)\n",
+ "\n",
+ " # 2. Next step in the algorithm: QFT inverse on the coordinates register\n",
+ " # invert(lambda: qft(x))\n",
+ "df = run_statevector_simulation(main, print_circuit_info=True)\n",
+ "simplified_df = simplify_df(df)\n",
+ "plot_simplified_df(simplified_df)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "fc8328e1",
+ "metadata": {},
+ "source": [
+ "If we decrease $l$, we look at the function more closly, and it is closer to linear."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "id": "25b19fcf",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Circuit Width: 3\n",
+ "Circuit Depth: 12\n",
+ "Gate Counts: {'u': 8, 'cx': 6}\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "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8NJLL0XBggVRsmRJdOjQAWtZYyAExowZg4svvjilEHWzZs3w008/IRxGjBhhXvfHHnss6I81ePBg81iuSy3WZwiR7du34+677zYzDOXNmxf169fHokWLQvLYPLc8nzuXHj16hOTxRcQ/Cvok5nCmFk6/x3ItS5YsQYMGDcwMLns858QJgmPHjpnHY9AZSrNnzzZfuPPnz8e0adNw+vRptGnTxhxPsLFAOoOtxYsXm6Dj2muvxc0334yVK1cilBYuXIi33nrLBKChUrduXezcuTNlmTt3bkge9+DBg7jiiiuQM2dOE2CvWrUKL730EooUKRKy19r1efM9R7fddltIHl9E/MSSLSKxpGnTplaPHj1Srp89e9ZKTEy0hg8fHtLj4Ok1adIkKxz27NljHn/27NlhefwiRYpY7777bsge78iRI1b16tWtadOmWS1atLB69+4d9MccNGiQ1aBBAyscnn76aevKK6+0IgVf76pVq1rnzp0L96GIiA/K9ElMOXXqlMk4tW7dOmXdRRddZK7PmzcP8SI5Odn8X5TVQUPo7NmzmDBhgskwspk3VJjlbN++vdvfPRTWrVtnmvKrVKmCTp06YevWrSF53G+//RZNmjQxmTU25zdq1AjvvPMOwnXOffzxx7jvvvtME6+IRC4FfRJT9u3bZwKPUqVKua3n9V2cKDEOnDt3zvRpY/NfvXr1QvKYy5cvN3NicyaShx56CJMmTUKdOnVC8tgMMtmMz36NocS+ou+//z6mTJli+jVu2rQJV111FY4cORL0x964caN5zOrVq+Pnn3/Gww8/jF69euGDDz5AqLHf6qFDh9C1a9eQP7aIxME0bCLiO+u1YsWKkPUvo5o1a2LZsmUmw/jll1+iS5cupp9hsAO/pKQk9O7d2/Qp46CdULr++utTLrMfIYPAihUr4vPPP8f9998f9MCemb5hw4aZ68z08W8+duxY89qH0nvvvWdeC2Y8RSSyKdMnMaV48eLInj07du/e7bae10uXLo1Y17NnT3z//feYOXOmGWARKrly5UK1atXQuHFjk3HjYJbXXnst6I/LpnwO0LnkkkuQI0cOszDYfP31181lZn1DpXDhwqhRowbWr18f9McqU6ZMmoC6du3aIWtedmzZsgXTp0/HAw88ENLHFRH/KOiTmMLgg4HHjBkz3LIivB7KPmahxnEjDPjYrPrLL7+gcuXKYT0evuYnT54M+uO0atXKNC0zy+gszICxfx0v8wdAqBw9ehQbNmwwAVmwsenesyTP33//bTKNoTR+/HjTp5D9KUUk8ql5V2IOy7WwiYtf/k2bNsWrr75qBhbce++9Ifnid830sJ8Xgw8OqKhQoUJQm3Q//fRTfPPNN6ZWn9N/MSEhwdRwC6b+/fub5j0+P/Zn43HMmjXL9DULNj5Xz36L+fPnN7Xrgt2f8YknnjA1GRlo7dixw5QIYpB55513Itgef/xxNG/e3DTv3n777aYO5dtvv22WUAb2DPp4rjGrKiJRwNfQXpFo9cYbb1gVKlSwcuXKZUq4zJ8/PySPO3PmTFMqxXPp0qVLUB/X22NyGT9+vBVs9913n1WxYkXzWpcoUcJq1aqVNXXqVCtcQlWypWPHjlaZMmXM8y5btqy5vn79eitUvvvuO6tevXpW7ty5rVq1allvv/22FUo///yzeY+tXbs2pI8rIv7Lxn/CHXiKiIiISHCpT5+IiIhIHFDQJyIiIhIHFPSJiIiIxAEFfSIiIiJxQEGfiIiISBxQ0CciIiISBxT0iYiIiMQBBX0iIiIicUBBn4hEjPfeew9t2rRJud61a1d06NDhgvebLVs2TJ48GYHSr18/PProowHbn4hIKGhGDhGJCP/88w+qVKmCL774AldccYVZl5yczKkiUbhw4QsO+iZNmhSQAJL27dtnjpXzKvN/EZFooEyfiESEL7/8EoUKFUoJ+CghIeGCA75gKF68ONq2bYsxY8aE+1BERDJNQZ+IBNTevXtRunRpDBs2LGXd77//jly5cmHGjBnp3m/ChAm46aab3NZ5Nu+2bNkSvXr1wlNPPYWiRYuaxxk8eLDbfdatW4err74aefLkQZ06dTBt2rQ0j5WUlITbb7/dBJTcz80334zNmzeb29asWYN8+fLh008/Tdn+888/R968ebFq1aqUdTxWHrOISLRQ0CciAVWiRAmMGzfOBGOLFi3CkSNHcM8996Bnz55o1apVuvebO3cumjRpkuH+P/jgA+TPnx8LFizACy+8gGeffTYlsDt37hxuueUWE2Dy9rFjx+Lpp592u//p06dNlq5gwYL49ddf8dtvv6FAgQJo164dTp06hVq1amHkyJF45JFHsHXrVmzbtg0PPfQQnn/+eRNEOpo2bWpuc4JFEZFIpz59IhIUPXr0wPTp000gt3z5cixcuBC5c+f2uu2hQ4dQpEgRzJkzB1dddZVbpo+3OYMwmOk7e/asCdZcg69rr70WI0aMwNSpU9G+fXts2bIFiYmJ5vYpU6bg+uuvT+nT9/HHH2Po0KFYvXq16etHDPaY9ePjOANJbrzxRhw+fNgEkNmzZzf7cbYn3sbm51mzZqFFixZ6F4lIxMsR7gMQkdjEbFm9evXMwIzFixenG/DRiRMnzP9sks3IxRdf7Ha9TJky2LNnj7nMQK58+fIpAR81a9bMbfs///wT69evN5k+z4EkGzZsSLnObGWNGjVw0UUXYeXKlW4BH7G5l44fP57hMYuIRAIFfSISFAygduzYYZpc2QRav379dLctVqyYCaoOHjyY4X5z5szpdp3342Nk1tGjR9G4cWN88sknXpumXYPDY8eOmaBv586dJrh0deDAgTT3ERGJZAr6RCTg2Fx69913o2PHjqhZsyYeeOAB08RbsmRJr9uzCZX95ThQwrVOX1bVrl3bDNJwDdLmz5/vts0ll1yCiRMnmmPhaGFvGNCxafn//u//zL46deqEJUuWpGT3aMWKFSYArVu3rt/HKyISShrIISIBx2CJNfZef/11M5CCzaT33Xefz/twcAUHc1yI1q1bm8fq0qWLydSx7x+PxRUDOJZc4Yhd3r5p0ybTL4+jgjkwgzhwg83EzzzzDF5++WXTj/CJJ55w2w/vy/6HroGgiEgkU9AnIgHFAOrVV1/FRx99ZDJpbB7lZQZJvura3X///fjxxx9NsOgvPhYHbLCPIAd4MMP43HPPuW3DciwcMFKhQgUz0pfZQT42+/TxeD/88ENzHDzmHDlymJHCHPzxzjvv4KeffkrZD8u1dOvWze9jFREJNY3eFZGIcdttt5nm1/79+yOSMfjr27cv/vrrLxMYiohEA2X6RCRivPjii6ZmXqTjAI/x48cr4BORqKJMn4iIiEgcUKZPREREJA4o6BMRERGJAwr6REREROKAgj4RERGROKCgT0RERCQOKOgTERERiQMK+kRERETigII+ERERkTigoE9EREQEse//ATwULf4cCJERAAAAAElFTkSuQmCC",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "p = params()\n",
+ "# f(x) = 0.5*x^2 + 0.25*x + 0.1\n",
+ "# Gradient: f'(x) = x + 0.25, so f'(0) = 0.25\n",
+ "p.set_function(p.quadratic, (0.5, 0.25, 0.1))\n",
+ "p.l = 0.2\n",
+ "p.unpack()\n",
+ "\n",
+ "@qfunc\n",
+ "def main(x: Output[QNum[n]]):\n",
+ " # 1. State preparation\n",
+ " magnitudes, phases = p.calculate_magnitude_and_phase()\n",
+ " prepare_complex_amplitudes(magnitudes=magnitudes, phases=phases, out=x)\n",
+ "\n",
+ " # 2. Next step in the algorithm: QFT inverse on the coordinates register\n",
+ " # invert(lambda: qft(x))\n",
+ "df = run_statevector_simulation(main, print_circuit_info=True)\n",
+ "simplified_df = simplify_df(df)\n",
+ "plot_simplified_df(simplified_df)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "edc56f33",
+ "metadata": {},
+ "source": [
+ "# 3. Full Algorithm"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "ed986f78",
+ "metadata": {},
+ "source": [
+ "## 3.1. Linear Functions"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "f2032268",
+ "metadata": {},
+ "source": [
+ "The next and final step of the algorithm is to apply QFT on the coordinate.\\\n",
+ "As discussed earlier, applying the QFT will automatically extract the gradient from the phases, and create a measurable state with the value of the gradient (normalized)."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "42bf7612",
+ "metadata": {},
+ "source": [
+ "To see the full algorithm in action, we will switch from the statevector simulation to standard simulation, because the final result is acquired by a measurement and not by looking at the phases."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "0d267096",
+ "metadata": {},
+ "source": [
+ "Let's start with a simple example of linear function."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "id": "dfc9b43c",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Parsed counts: [{'x': 6}: 2048]\n",
+ "The analytical gradient is: -0.5\n",
+ "The majority gradient is: -0.5\n",
+ "The majority result is correct\n",
+ "####################################################\n",
+ "Success rate: 100.00% (2048/2048 shots)\n",
+ "[\u001b[92m██████████████████████████████████████████████████\u001b[91m\u001b[0m] 100.00%\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "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",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "p = params()\n",
+ "p.set_function(p.linear, (-0.5, 0.25))\n",
+ "p.unpack()\n",
+ "\n",
+ "@qfunc\n",
+ "def main(x: Output[QNum[n]]):\n",
+ " # 1. State preparation\n",
+ " magnitudes, phases = p.calculate_magnitude_and_phase()\n",
+ " prepare_complex_amplitudes(magnitudes=magnitudes, phases=phases, out=x)\n",
+ "\n",
+ " # 2. QFT inverse on the coordinates register\n",
+ " invert(lambda: qft(x))\n",
+ "\n",
+ "qprog = synthesize(main)\n",
+ "job = execute(qprog)\n",
+ "# job.open_in_ide() # Uncomment to see the results in the IDE\n",
+ "pc = job.get_sample_result().parsed_counts\n",
+ "\n",
+ "# You can use the helper function:\n",
+ "# pc = run_standard_simulation(main)\n",
+ "\n",
+ "# Translate the majority state to a gradient value\n",
+ "majority_state = pc[0].state\n",
+ "value = majority_state.get('x')\n",
+ "# If the value is in the upper half of the range,\n",
+ "# it represents a negative value due to the modular arithmetic of the quantum states.\n",
+ "if value >= N//2:\n",
+ " value -= N\n",
+ "# Divide by (N/m) to get the actual gradient value.\n",
+ "majority_gradient = value / (N/m)\n",
+ "\n",
+ "# Or use the helper function:\n",
+ "# majority_gradient = state_to_gradient(majority_state.get('x'))\n",
+ "\n",
+ "# Print the results and compute the majority gradient\n",
+ "print(\"Parsed counts:\", pc)\n",
+ "print(f\"The analytical gradient is: {p.analytical_gradient(0)}\")\n",
+ "print(f\"The majority gradient is: {majority_gradient}\")\n",
+ "\n",
+ "# Check if the majority result is correct within the resolution of the algorithm\n",
+ "resolution = m/N\n",
+ "is_correct = abs(majority_gradient - p.analytical_gradient(0)) < resolution/2\n",
+ "print(f\"The majority result is\", \"correct\" if is_correct else \"incorrect\")\n",
+ "print(\"####################################################\")\n",
+ "\n",
+ "# Compute the success rate of the algorithm, i.e. the percentage of shots that are correct within the resolution of the algorithm.\n",
+ "success_rate, success_shots, total_shots = compute_success_rate(pc, analytic_derivatives={'x': p.analytical_gradient(0)})\n",
+ "print(f\"Success rate: {success_rate:.2%} ({success_shots}/{total_shots} shots)\")\n",
+ "show_bar(success_rate)\n",
+ "\n",
+ "# Visualize the theoretical values of the phases\n",
+ "# We used the standard simulation, so this is theoretical values only without the phases from the simulation\n",
+ "plot_theoretical()\n",
+ "\n",
+ "# You can use the helper function:\n",
+ "# analyze_results(pc)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "2eafff41",
+ "metadata": {},
+ "source": [
+ "The result for the gradient is always a multiple of m/N.\\\n",
+ "In the previous example, the gradient was -0.5, while the resolution (m/N) was 0.25.\\\n",
+ "The gradient is a multiple of the resolution, and therefore the result can be exact, and the success rate was 100%.\\\n",
+ "\\\n",
+ "More complex case is where the gradient is not a multiple of the resolution.\\\n",
+ "In those cases, the result will be a superposition of multiple solutions, but we can still get a good approximation for the gradient from the result.\\\n",
+ "Let's see it in the next example.\\\n",
+ "TODO: Consider removing this example, because it doesn't match the flow of the explaination."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "id": "be423003",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Parsed counts: [{'x': 2}: 1755, {'x': 3}: 133, {'x': 1}: 63, {'x': 4}: 29, {'x': 5}: 20, {'x': 7}: 20, {'x': 0}: 19, {'x': 6}: 9]\n",
+ "The analytical gradient is: 0.55\n",
+ "The majority gradient is: 0.5\n",
+ "The majority result is correct\n",
+ "####################################################\n",
+ "Success rate: 85.69% (1755/2048 shots)\n",
+ "[\u001b[92m███████████████████████████████████████████\u001b[91m-------\u001b[0m] 85.69%\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "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795tzicmJuobuEgUHGPcJwZwDOQY0Nk4lMogjsGcGgA72+rVQJUq6Zf9sUxuWhpw663ApElAfDyC4qqrrHl9EydalzlrgcUQDFCvuca3+1RAJxGLb+r2h42IRO4xxqFUuwEwh1g9GwAzkOP6qk6Y5yc5Y/Yqp/Ye8fHWMlp79nhfz8uZ/amyuS+LIXr0SL/OXq2BLQdZSFGnjn9fHfafY5EGM45cfOSWW4ANG6x9Z9WrLxTQiYiI47CogcUNDOSOHj3qvr5IkSImiFMD4OhVtCjQujUwb1566xEGaLw8ePD527O2548/vK979FErc/fSS0C1av7fx6pVrYIIVuPyf2bnOHePRRm+zgZQQCciIo7BNiMM4tQAWLIzbBjQv79VScqltTi8ybjfrnrt188auh03zupT17Sp98+XLWv9n/F6f2L2jwEcT/4Q+kkPebBgwQL06NEDlStXNunzWbNmhXqXREQkiA2A161b524AzPlwbABcv359NQAWL717W8trjRoFtGxpFTvMnp1eKMH+b/aSW6HAIeHLL+e0hfOHhXlbxGfomFZv0aIFbr/9dlx//fWh3h0REQkgBm12yxEuzWXjnLi4uDizgkM4FGNIeBo8OPMhVvrhh+x/9p13EFBsg8guOswgfv450KSJ920RH9BdffXV5iQiIpGbjWOF6v79+70aADNws1uOFOcYmYiDFSgAfPwxMH480L498P77wHXXpd8W8QGdiIhEJlan2i1HTrDs7xwGb3bLEWXjJFK4XNbQKosumJ3jEDELMe680/f7LOxrifiSJUvMfAYupcI5DBdccAFq1aqFcML99OwMzm97Eh04x5LzauzzIhKexxiDN7vliGcDYK7gYDcA1jEskezuu4F69YCbbmKtQJACup9++gkvvfQSPv/8c1NpxAOOB5u9pErt2rVx9913Y+DAgWZuQ6iNGzcOY7kom0QdfgAUzbimioiExTHGwM1uOcKkgI33Z7ccUQNgiWQ1angXP7BAYvFi7154eZXr2aR/+9vf0Lt3b9SsWRNz5swxFUec47B9+3ZzQG7YsAGPPvoo5s2bZ761zZ07F6E2cuRIk8K3T8nJyaHeJRGRqMXCBq4uwUpV+7OD2ACYny316tVDfHy8gjmJeElJQFyc93V16wIrVwKbNwc4Q9e9e3d8/PHHpmljZpid46l///5YvXo1doWy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mmwAXLZsWfP+llUDYK2nKiK+eu894NlngQ0brMv16wP//Cdw661BDOgefPBB9OjRA6+//jpiY2OxePFis/5g3759MXToUN/2REQkiNgA/dChQyaQO3nypPt6rlPNII7vbblpAKz1VEUkr154wWpbMngwcPHF1nULFwIDBwL79vlW/epTQPfrr7/ijTfeMG92/BbLN8PatWvjmWeeQf/+/XH99df7crciIgF3/PhxE8QxmLOzcRxGtbNxDOhERALplVeACROAfv3Sr2PHtyZNgDFjghjQMRtnf3PlECvn0TVq1Mh8o01OTvblLkVE8rVyA5v97k07YVqFsLrUsyCBVfqpqakmkGNAZ+NQKoM4BnP8cioiEgys2evQ4fzred25er7gBHQXXHABli1bhnr16qFjx44YNWqUmUP3/vvvo2nTpgik1157Dc8++6xZV7ZFixZ45ZVX0LZt24A+poiE95qqGQsTKp0rTLi8Xnl3Ns5eY5rZOBY3MJDjvF9VQItIsNWtC3z4IfDII97XT59u9ajzRQGXPeaQB7/88osp5b/88suxd+9e9OvXDz///LMJ8N5++20TaAXC9OnTzWNx7l67du3w4osv4qOPPsK6detMpjAnnPDMLCK/qfMNXSK/7QRxxQh9aEduMMfWIRnfxOxWIo9cloAO1Uu6RxYYxLHlCNuPSP7oGJNg2r79MKpV4yhgKqpWdf7n98cfA717A126pM+hY5PhefOsQO/vfw9SQBcqDOIuvPBCvPrqq+5hlGrVquH+++/HiBEjcvx5BXQikTXMesnT32W7pmp8yUL48NaGSIiPU2Av4mCRFtARGwr/97/AmjXmIho1Ah56iKOg8Iljvqay193y5csxcuRI93Wcx9elSxcsWrQo059hsYZn9RoDOhGJDJwzl10wR/uOncGeszGoHRMTtP0SEckNLvn1wQfwG58COq5lyHlz33//vRlyzbgsmL3kkj9xjh7nwFSsWNHrel5eu3Ztpj8zbtw4jB071u/7IuGPiWfOmyJOeNeQa+Q1AN60MyVX27JQQvxPx5hI/jB02rgR2LvXOu/pssuCFNDdeuut2LhxI+644w4TUIXrhyWzecOGDfPK0HGIVqLjw2bHjh3mPOdNhuvfqOTtNWWFKr9Q8lgueDK9WjU7rHoV/9MxJuK7xYuBW24Btm5NXynCxo+rczVcgQ/o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",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "p = params()\n",
+ "# f(x) = 0.55*x + 0.25\n",
+ "# Gradient: f'(0) = 0.55\n",
+ "# Pay attention that 0.55 is not a multiple of m/N = 0.25,\n",
+ "# so we expect to get a superposition of multiple states around the correct gradient.\n",
+ "p.set_function(p.linear, (0.55, 0.25))\n",
+ "p.unpack()\n",
+ "\n",
+ "@qfunc\n",
+ "def main(x: Output[QNum[n]]):\n",
+ " # 1. State preparation\n",
+ " magnitudes, phases = p.calculate_magnitude_and_phase()\n",
+ " prepare_complex_amplitudes(magnitudes=magnitudes, phases=phases, out=x)\n",
+ "\n",
+ " # 2. QFT inverse on the coordinates register\n",
+ " invert(lambda: qft(x))\n",
+ "\n",
+ "pc = run_standard_simulation(main)\n",
+ "analyze_results(pc)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "a67ddc29",
+ "metadata": {},
+ "source": [
+ "## 3.2. Quadratic Function"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "d72f288e",
+ "metadata": {},
+ "source": [
+ "Again, let's try calculating the gradient of a non-linear function. In the next example, we will explore a quadratic function.\\\n",
+ "In the case of non-linear function, we will need to cleverly choose the value of $l$ - the interval around the origin.\\\n",
+ "In order for the algorithm to work, we need to work in the linear regime around the origin, so we need to choose small enough $l$."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "a741bff9",
+ "metadata": {},
+ "source": [
+ "First, for good selection of $l$, we see that the points are almost linear, and we get a good success rate."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "id": "da592b2b",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Parsed counts: [{'x': 1}: 2013, {'x': 0}: 16, {'x': 2}: 15, {'x': 3}: 3, {'x': 5}: 1]\n",
+ "The analytical gradient is: 0.25\n",
+ "The majority gradient is: 0.25\n",
+ "The majority result is correct\n",
+ "####################################################\n",
+ "Success rate: 98.29% (2013/2048 shots)\n",
+ "[\u001b[92m█████████████████████████████████████████████████\u001b[91m-\u001b[0m] 98.29%\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "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zZIlC6ZNm4ZQGTRoEB544IGQ7U9EJFw0M4aIxIR//vkHVapUwccff4xLL73UWpecnMxpGlGoUKELDvQ+//zzkASNtG/fPutYOY8x/xcRiVVq0RORmPDJJ5+gYMGCKUEeJSUlXXCQFw7FihVDu3btMH78+GgfiohIuhToiUhI7d27F6VKlcKzzz6bsu7XX39Fzpw5MWvWLL9/N2XKFHTs2NFjnXfXbevWrdGvXz889thjKFKkiHU/w4YN8/ibdevW4YorrkDu3LlRp04dzJw5M819bd26FTfddJMVRHI/119/PTZt2mTdtmbNGuTNmxcffPBByvYfffQR8uTJg1WrVqWs47HymEVEYpkCPREJqeLFi2PixIlWAPbbb7/hyJEjuP3229G3b1+0adPG79/NmzcPzZo1y3D/77zzDvLly4eFCxfi+eefx5NPPpkSzJ07dw433HCDFVTy9gkTJmDgwIEef3/69GmrNa5AgQL4+eef8csvvyB//vxo3749Tp06hVq1amHUqFG4//77sWXLFmzbtg29e/fGc889ZwWOtubNm1u32QGiiEgs0hg9EQmLPn364IcffrCCtz/++AOLFy9Grly5fG576NAhFC5cGHPnzsXll1/u0aLH2+xECrbonT171grQ3AOuq666CiNHjsSMGTPQoUMHbN68GWXKlLFunz59Oq699tqUMXrvv/8+nn76aaxevdoau0cM8Ni6x/uxk0H+9a9/4fDhw1bQmC1bNms/9vbE29i1PHv2bLRq1UrvIhGJSdmjfQAi4kxsFatXr56VXLFkyRK/QR6dOHHC+p/drRlp0KCBx/XSpUtjz5491mUGb+XLl08J8qhFixYe2//+++9Yv3691aLnnQyyYcOGlOtslaxRowayZs2KP//80yPII3bl0vHjxzM8ZhGRaFGgJyJhwaBpx44dVncquzfr16/vd9uiRYtagdTBgwcz3G+OHDk8rvPveB+BOnr0KJo2bYrJkyf77HZ2DwiPHTtmBXo7d+60Akp3Bw4cSPM3IiKxRoGeiIQcu0Jvu+02dO3aFTVr1sTdd99tdd+WKFHC5/bsHuX4NyY7uNfRy6zatWtbiRbugdmCBQs8tmnSpAmmTp1qHQuzfH1hEMdu4//7v/+z9tWtWzcsXbo0pRWPVq5caQWddevWDfp4RUTCTckYIhJyDJBYA++VV16xkiHYBXrnnXem+zdMkGBCxoVo27atdV89evSwWuQ4lo/H4o5BG8ujMNOWt2/cuNEaZ8dsXiZXEJMv2AX8+OOPY/To0da4wEceecRjP/xbjid0D/5ERGKNAj0RCSkGTWPGjMF7771ntZix65OXGRilV3furrvuwrfffmsFiMHifTHpgmP+mKTBlsRnnnnGYxuWTmHSR4UKFawMXbYC8r45Ro/H++6771rHwWPOnj27leHLBI433ngD3333Xcp+WFqlV69eQR+riEgkKOtWRGJGly5drK7VwYMHI5Yx4Hv44YexYsUKKxgUEYlVatETkZjxwgsvWDXtYh2TNCZNmqQgT0Rinlr0RERERBxKLXoiIiIiDqVAT0RERMShFOiJiIiIOJQCPRERERGHUqAnIiIi4lAK9EREREQcSoGeiIiIiEMp0BMRERFxKAV6IiIiInCm/wdy/Lwdmv0JwAAAAABJRU5ErkJggg==",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "# In this example we will use the quadratic function\n",
+ "p = params()\n",
+ "# f(x) = 0.6*x^2 + 0.25*x + 0.1\n",
+ "# Gradient: f'(x) = 1.2*x + 0.25, so f'(0) = 0.25\n",
+ "p.set_function(p.quadratic, (0.6, 0.25, 0.1))\n",
+ "# Setting l properly, ensuring we are in the linear regime of the function.\n",
+ "p.l = 0.1\n",
+ "p.unpack()\n",
+ "\n",
+ "@qfunc\n",
+ "def main(x: Output[QNum[n]]):\n",
+ " # 1. State preparation\n",
+ " magnitudes, phases = p.calculate_magnitude_and_phase()\n",
+ " prepare_complex_amplitudes(magnitudes=magnitudes, phases=phases, out=x)\n",
+ "\n",
+ " # 2. QFT inverse on the coordinates register\n",
+ " invert(lambda: qft(x))\n",
+ "\n",
+ "pc = run_standard_simulation(main)\n",
+ "analyze_results(pc)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "40d8d166",
+ "metadata": {},
+ "source": [
+ "But if we increase $l$ outside of the linear regime, we see that the success rate get drasticly lower:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "id": "27717a39",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Parsed counts: [{'x': 0}: 501, {'x': 1}: 492, {'x': 2}: 484, {'x': 7}: 208, {'x': 3}: 184, {'x': 6}: 90, {'x': 4}: 46, {'x': 5}: 43]\n",
+ "The analytical gradient is: 0.25\n",
+ "The majority gradient is: 0.0\n",
+ "The majority result is incorrect\n",
+ "####################################################\n",
+ "Success rate: 24.02% (492/2048 shots)\n",
+ "[\u001b[92m████████████\u001b[91m--------------------------------------\u001b[0m] 24.02%\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "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R/SytEuobNgA5KVEsl9BX9u2bTFy5EjTp6/oueI0x48fx+jRo81tIpEQ9G3ZssVc1jRsIjrGxF1YgmXPHruYMgdasAl29uy0gRhbt9qZM8fFF9u1+R59FPi//7MDO47cdWr00SOP2IHjnXfafesuvdS+z0DX6KP0I4lZMmbHDuDzz+1g1l9+1elbuXIlOnfujBMnTqB58+Zm3W+//WYCwK+++gqNGzdGJFKdPvdQnT4RHWPi3jp90e6KK7yvM0BlgRQO4uDI3oJ+1l7x68+aNGmCdevWYcqUKVhzbvzzzTffjF69eqEY5yYREREREb98+y0iq04fy7IMGDAgsHsjIiIiIpEV9DHT9+2332L37t2ptfocj7MRXURERESiO+hjaZa7774bFSpUQJUqVbxGRvKygj4RERGRGAj6nnrqKTz99NMYNmxY4PdIRERERCIj6Dtw4ABuuOGGwO+NSIAw41z1XNl0TcMmEng6xkSij18zcjDgmzNnTuD3RiSAX0jly5c3i4I+kcDTMSYSHu++axdpDlmmr27dunjsscewePFiNG3aFIUKFfK6nXPwioiIiEhg9esHMOxikehXXw1BcebanH8kszvMlw8bN25EJFJxZvfgx/ooS6cDKFGihLJ9IjrGJIq5rThzdjZtAr78ErjnHgQ/07eJjyYS4UHf5s2bzWVNwyaiY0wkljD3ltuAL091+kREREQkMA4dyvm2pUsHeSDHs88+i+PHj+do2yVLluBzzgosIiIiItkqUwYoWzbrxdnGXznO9K1atQo1atQwI3e7d++O1q1boyJn/wVw+vRpc/vChQvx3nvvYfv27XiXw0tEREREJGzz7foV9DGI++233/Daa6/hlltuMYMiChQogCJFiuDYsWNmm5YtW+KOO+5Av379ULRo0WDut4iIiEjMaNcu+I+Rqz59zZs3N1OwTZw4EStWrMCWLVtMky+nY2vRooX5X0RERETyjjm1rVuBkye91zdr5t/9+TWQI3/+/CbI4yIiIiIigbNnD9C/v12WxZczZ0I4I4dINKhcubJZRETHmEg0uf9+4OBBDowFihUDZs8G3nkHqFcP+OQT/+83akq2PP3002ZE8PLly1G4cGEc5KshkkU22hloJCKBp2NMJHi++QaYNQto3ZrHGlCzJnDVVXapljFjgG7dYjzTd/LkSTNy+O677w73roiI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",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "# In this example we will use the quadratic function\n",
+ "p = params()\n",
+ "# f(x) = 0.6*x^2 + 0.25*x + 0.1\n",
+ "# Gradient: f'(x) = 1.2*x + 0.25, so f'(0) = 0.25\n",
+ "p.set_function(p.quadratic, (0.6, 0.25, 0.1))\n",
+ "# Setting l to be too big, so we are outside of the linear regime of the function.\n",
+ "p.l = 1\n",
+ "p.unpack()\n",
+ "\n",
+ "@qfunc\n",
+ "def main(x: Output[QNum[n]]):\n",
+ " # 1. State preparation\n",
+ " magnitudes, phases = p.calculate_magnitude_and_phase()\n",
+ " prepare_complex_amplitudes(magnitudes=magnitudes, phases=phases, out=x)\n",
+ "\n",
+ " # 2. QFT inverse on the coordinates register\n",
+ " invert(lambda: qft(x))\n",
+ "\n",
+ "pc = run_standard_simulation(main)\n",
+ "analyze_results(pc)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "d5b47027",
+ "metadata": {},
+ "source": [
+ "# 4. Parameters Selection - TODO"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "659ca4e7",
+ "metadata": {},
+ "source": [
+ "We saw earlier the importance of proper selection of some of the parameters.\\\n",
+ "Let's dive deeper into the parameters selection."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "c634e599",
+ "metadata": {},
+ "source": [
+ "## 4.1. Understanding the parameters"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "61a68f72",
+ "metadata": {},
+ "source": [
+ "There are three main parameters to be selected: $l$, $m$ and $n$.\\\n",
+ "$n$ is the number of bits of the result. The bigger $n$, the higher the accuracy of the result.\\\n",
+ "$l$ is the interval size around the origin ($dx$).\\\n",
+ "$m/2$ is the maximal gradient that can be calculated (in absolute value)."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "3e3dfc6f",
+ "metadata": {},
+ "source": [
+ "For the parameter $l$, we saw earlier that it should be selected such that we look at the linear regime of the function. See section 2.2."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "c539ec98",
+ "metadata": {},
+ "source": [
+ "Understanding the parameter $m$ is a little trickier. We will look at a bounding box around the origin.\\\n",
+ "The width of the box (dx) is $l$, spanning from $-l/2$ to $l/2$. The slope of the graph (dy/dx) is bounded between $-m/2$ to $m/2$. Therefore, the height of the box (dy) should be bounded dy/dx*dx, so the height should be $lm/2$, making the box span between $-lm/4$ to $lm/4$.\\\n",
+ "When we plot the graph, if all the points are inside this box, then we know that the gradient is bounded by $m/2$ and we will get the correct result.\\\n",
+ "If the points are outside this box, we will get aliasing in the results and get an incorrect gradient.\\\n",
+ "Note that in our graphs we use the normalized function instead of the original function, so the box is between $-N/4$ to $N/4$ instead of $lm/4$."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "f0a30a00",
+ "metadata": {},
+ "source": [
+ "We will see now the same function, once with correct selection of m and one with incorrect selection of $m$, and we can see that if $m$ is too small the theoretical values are out of the bounding box, and the phases from the simulation are folded into the box creating aliasing. "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "id": "a2a46ca7",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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IiIiIi6ngE5ERETE5RTQiYiIiLicAjqJSa+99prphi5atKiZfPrHH38My+POnTsX3bt3R5UqVcxqJFOmTAnL43KZu4svvhiJiYmoUKECevTogXXr1oXlsV9//XU0b97cTN7MU/v27fHtt98iEsaOHWue9/vvvz/kjzVq1CjzWM5Tw4YNES7bt2/Hrbfeala+KVasGJo1a4affvopLI/NYyvr787ToEGDwvL4InIuBXQScyZOnIhhw4aZKUuWLVuGFi1amJVFdu/eHfLHPnz4sHk8BpThNGfOHPNhumjRIsyYMQMnT57Etddea/Yn1LhSCwOppUuXmoDi6quvxg033IBff/0V4bRkyRK8+eabJrgMlyZNmiAtLc17mjdvXlge9/fff8ell16KwoULm+B59erVeO6551CmTJmwPdfO35t/c3TTTTeF5fFFJBuctkQklrRt29YzaNAg7+XTp097qlSp4hkzZkxY94OH1+TJkz2RsHv3bvP4c+bMicjjlylTxvPf//43bI+XkZHhqVevnmfGjBmejh07eoYOHRryxxw5cqSnRYsWnkh4+OGHPZdddpknWvD5rlOnjufMmTOR3hWRuKUMncSUEydOmExR586dvdddcMEF5vLChQsRL7h+LZUtWzasj3v69GlMmDDBZAZZeg0XZie7devm87qHw/r16015vXbt2ujTp49ZdzocvvzyS7Rp08ZkxFhib9WqFcaNG4dIHXMffvghbr/9dlN2FZHIUEAnMWXv3r0mqKhYsaLP9by8c+dOxIMzZ86YMWQsyTVt2jQsj7ly5UqzxjJXyLjnnnswefJkNG7cOCyPzQCSpXWOIwwnjs189913MXXqVDOOcPPmzbj88suRkZER8sfetGmTecx69eph2rRpuPfeezFkyBC89957CDeOEz1w4AD69+8f9scWEZcv/SUiuWerVq1aFbbxXNSgQQOsWLHCZAYnTZqEfv36mXF9oQ7qUlNTMXToUDOGiw0w4XTdddd5z3PcHgO8GjVq4JNPPsHAgQNDHrQzQ/fUU0+Zy8zQ8TV/4403zHMfTm+//bZ5LpipFJHIUYZOYkq5cuVQsGBB7Nq1y+d6Xq5UqRJi3eDBg/H1119j1qxZplkhXBISElC3bl20bt3aZMrYGPLSSy+F/HFZXmezy0UXXYRChQqZEwPJl19+2ZxntjZcSpcujfr162PDhg0hf6zKlSufEyw3atQobCVf29atW/Hdd9/hjjvuCOvjisi5FNBJTGFgwaBi5syZPtkMXg7nmK5wYw8GgzmWOr///nvUqlUrovvD5/z48eMhf5xOnTqZci+zg/aJmSuOZ+N5BvfhcujQIWzcuNEEW6HGcnrWaWl+++03kyEMp/Hjx5sxfBy/KCKRpZKrxBxOWcKyEz/Y27ZtixdffNEM0h8wYEBYPtSdGRqOq2JgweaE6tWrh7TM+vHHH+OLL74wc9HZ4wVLlSpl5igLpREjRpiSG38/jh/jfsyePduM7Qo1/q5ZxwmWKFHCzM0W6vGDDz30kJlzkEHUjh07zDQ5DCBvvvlmhNoDDzyADh06mJJrr169zDyLb731ljmFM2hnQMdjjdlQEYmwSLfZioTCK6+84qlevbonISHBTGOyaNGisDzRs2bNMtOFZD3169cvpI+b3WPyNH78eE+o3X777Z4aNWqY57p8+fKeTp06eaZPn+6JlHBNW9K7d29P5cqVze9dtWpVc3nDhg2ecPnqq688TZs29RQpUsTTsGFDz1tvveUJp2nTppm/sXXr1oX1cUUkewX4T6SDShEREREJnMbQiYiIiLicAjoRERERl1NAJyIiIuJyCuhEREREXE4BnYiIiIjLKaATERERcTkFdCIiIiIup4BORERExOUU0IlI1Hj77bdx7bXXei/3798fPXr0OO/7LVCgAKZMmYJgGT58OO67776g3Z+IyPnSShEiEhWOHTuG2rVr49NPPzWLz9PBgwe5PCFKly593gHd5MmTgxIc0t69e82+cp1e/i8iEmnK0IlIVJg0aRJKlizpDeaoVKlS5x3MhUK5cuXQpUsXvP7665HeFRERQwGdiATVnj17UKlSJTz11FPe6xYsWICEhATMnDkzx5+bMGECunfv7nNd1pLrlVdeiSFDhuDvf/87ypYtax5n1KhRPj+zfv16XHHFFShatCgaN26MGTNmnPNYqamp6NWrlwkWeT833HADtmzZYm5bu3Ytihcvjo8//ti7/SeffIJixYph9erV3uu4r9xnEZFooIBORIKqfPnyeOedd0yg9dNPPyEjIwO33XYbBg8ejE6dOuX4c/PmzUObNm3yvP/33nsPJUqUwOLFi/Hvf/8b//rXv7xB25kzZ9CzZ08TPPL2N954Aw8//LDPz588edJk1xITE/HDDz9g/vz5uPDCC9G1a1ecOHECDRs2xLPPPou//vWvSElJwbZt23DPPffg6aefNgGirW3btuY2OxAUEYkkjaETkZAYNGgQvvvuOxOkrVy5EkuWLEGRIkWy3fbAgQMoU6YM5s6di8svv9wnQ8fb7IYGZuhOnz5tAjFnYHX11Vdj7NixmD59Orp164atW7eiSpUq5vapU6fiuuuu846h+/DDD/HEE09gzZo1ZmwdMZBjto6PYzdl/OEPf0B6eroJDgsWLGjux96eeBtLwrNnz0bHjh31VyQiEVUosg8vIrGKWa6mTZuaJoelS5fmGMzR0aNHzf8sk+alefPmPpcrV66M3bt3m/MM0qpVq+YN5qh9+/Y+2//888/YsGGDydBlbcrYuHGj9zKzjPXr18cFF1yAX3/91SeYI5Zg6ciRI3nus4hIqCmgE5GQYHC0Y8cOUwZlWbJZs2Y5bpuUlGQCpt9//z3P+y1cuLDPZf4cH8Nfhw4dQuvWrfHRRx9lWy52Bn6HDx82AV1aWpoJHJ32799/zs+IiESKAjoRCTqWMG+99Vb07t0bDRo0wB133GHKrhUqVMh2e5Y1OT6NTQfOeejyq1GjRqbhwRmALVq0yGebiy66CBMnTjT7wq7a7DBYY7n3n//8p7mvPn36YNmyZd6sHK1atcoEl02aNAl4f0VEgkVNESISdAyEOIfcyy+/bJoSWLq8/fbbc/0ZNiqwMeJ8dO7c2TxWv379TIaNY+24L04MzjjtCDtbefvmzZvNODh2z7LJgdgEwdLtI488gueff96M23vooYd87oc/y/F+ziBPRCRSFNCJSFAxOHrxxRfxwQcfmAwYS5Y8zwAot3nbBg4ciP/9738mEAwUH4vNDxyTx2YJZgaffPJJn204JQmbL6pXr246YpnV42NzDB339/333zf7wX0uVKiQ6ahlI8W4cePw7bffeu+HU5bceeedAe+riEgwqctVRKLGTTfdZEqiI0aMQDRjYPfggw/il19+MUGfiEikKUMnIlHjmWeeMXPCRTs2S4wfP17BnIhEDWXoRERERFxOGToRERERl1NAJyIiIuJyCuhEREREXE4BnYiIiIjLKaATERERcTkFdCIiIiIup4BORERExOUU0ImIiIi4nAI6EREREbjb/wOuVUAMaBNHNgAAAABJRU5ErkJggg==",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "# In this example we will use the linear function\n",
+ "p = params()\n",
+ "p.set_function(p.linear, (0.5, 0.25))\n",
+ "p.m = 2 # Correct selection of m - no aliasing.\n",
+ "p.unpack()\n",
+ "\n",
+ "@qfunc\n",
+ "def main(x: Output[QNum[n]]):\n",
+ " magnitudes, phases = p.calculate_magnitude_and_phase()\n",
+ " prepare_complex_amplitudes(magnitudes=magnitudes, phases=phases, out=x)\n",
+ "\n",
+ "df = run_statevector_simulation(main, print_circuit_info=False)\n",
+ "simplified_df = simplify_df(df)\n",
+ "plot_simplified_df(simplified_df)\n",
+ "# simplified_df"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 18,
+ "id": "812c0c30",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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J01EREQk0mi4U0RERMSBFKSJiIiIOJCCNBEREREHUpAmIiIi4kAK0iQsjRs3zlQBFylSxDQ8/u233wLyuPPmzUOXLl0QHx9vVrWYNm1aQB6XS6BdfPHFKFGiBMqVK4euXbti/fr1AXns8ePHo3HjxqZhME9t2rTBDz/8gGAYM2aMed4ffvhhvz/WyJEjzWN5nurVq4dA2blzJ26//XazgkrRokXRqFEj/P777wF5bB5bGX93nh588MGAPL5IpFCQJmFnypQpGDhwoGm/sWzZMjRp0sSsULF3716/P/bff/9tHo9BYiDNnTvXfEAuWrQIs2bNwunTp3HNNdeY/fE3rvjB4Gjp0qUmSLj66qtx4403Ys2aNQikJUuW4M033zQBY6A0aNAAu3fvdp/mz58fkMc9ePAgLr30UhQsWNAExImJiXj55ZdRpkyZgD3Xnr83/+bolltuCcjji0QMtuAQCSetWrVyPfjgg+7Lqamprvj4eNfo0aMDuh88vKZOneoKhr1795rHnzt3blAev0yZMq533nknYI+XkpLiql27tmvWrFmudu3auQYMGOD3xxwxYoSrSZMmrmAYPHiw67LLLnM5BZ/vmjVrus6ePRvsXREJK8qkSVg5deqUyeh06NDBfd1FF11kLi9cuBCRguuVUnR0dEAfNzU1FZMnTzYZPA57BgqziJ07d073ugfChg0bzNB2jRo10KNHD7POcCB8/fXXaNmypclccXi7WbNmePvttxGsY+6jjz7CnXfeaYY8RcR3FKRJWElOTjaBQvny5dNdz8t//fUXIsHZs2fNnCwOhzVs2DAgj7lq1Sqzpi5XWrjvvvswdepUJCQkBOSxGRRyWJvz8gKJcx3ff/99TJ8+3czL27JlCy6//HKkpKT4/bE3b95sHrN27dqYMWMG7r//fvTv3x+TJk1CoHHe5aFDh9C7d++AP7ZIuAvJZaFEJPus0urVqwM2P4rq1q2LFStWmAze559/jl69epl5cv4O1Hbs2IEBAwaYOVEsEgmka6+91n2e8+AYtFWtWhWffvop7rrrLr8H4sykPffcc+YyM2l8zSdMmGCe+0B69913zXPBjKKI+JYyaRJWypYti/z582PPnj3pruflChUqINz169cP3377LX766SczoT9QChUqhFq1aqFFixYmo8XiiVdffdXvj8uhbRaENG/eHAUKFDAn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",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "# In this example we will use the linear function\n",
+ "p = params()\n",
+ "p.set_function(p.linear, (0.5, 0.25))\n",
+ "p.m = 1.333 # Marginal selection of m - still no aliasing.\n",
+ "p.unpack()\n",
+ "\n",
+ "@qfunc\n",
+ "def main(x: Output[QNum[n]]):\n",
+ " magnitudes, phases = p.calculate_magnitude_and_phase()\n",
+ " prepare_complex_amplitudes(magnitudes=magnitudes, phases=phases, out=x)\n",
+ "\n",
+ "df = run_statevector_simulation(main, print_circuit_info=False)\n",
+ "simplified_df = simplify_df(df)\n",
+ "plot_simplified_df(simplified_df)\n",
+ "# simplified_df"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "id": "19a77750",
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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bW531apVeOCBB9z2mTt3LrZs2WL+57G9//77ZrMxoHvmmWfw22+/4YsvvjABmOsw9VNPPWUer++++w7r1q3DhAkTTIBq/ywDVQaAP/30k/mdGYh27tzZZCH99ZhK9K3QICK+eeUV4O67rUAsKckKvBIS+NnoeX/mGf7xD6BBA4A9rAcPBpo0ARYutF+bwPjxwJNPAt26Wdd9+CGwezfwxRchfJYcMSQlJYURlfk/o5MnTzrWrl1r/s+1Pxc4HCOLZb9xPz/r27evo1u3bo79+/c74uPjHdu2bTNbwYIFHQcOHDDXcR86deqUIyEhwbFo0SK327jzzjsdvXr18nofAwYMcNx0003m9KFDh8xjOG/evCyPx9XgwYMd7dq1c57n6ebNm7vt88wzzzg6duzodllycrK5rw0bNjhSU1MdcXFxjunTpzuv57EUKlTI3H5G58+fN8/lE0884ciXL59j586dzuu+++47R968eR179uxxHnO1atUc586dc+5zyy23OHr27On1MVm+fLk5Nh4Xde3a1dG/f3+P+3700UeOevXqmWOynT592hz7999/n+1jmlMX9TcsYYF/T6tXr3b88ccfbn+P4SgtLc2xceNGs/G0SCAlJ1uf3/w/O6dPOxz58jkcM2a4X96nj8Nxww3Z3xffqn/4weFISHA4Zs2yLtuyhWGcw7Fqlfu+V13lcAwa5AgZtRjxh2P7/LufDziM16VLF5M94rd5nrYzQa4ZKVa9ZVzlgtkg12HXN99802TyduzYYebZ8fpmnCBwITvADBQzS7ydDh06mGwZhyFzo0WLFm7nmeFiFowZqoyYIbOPozUnNlzAY+Fwb1bLbuXPn98MK1eqVMl5XZs2bUzGccOGDWZolBo2bOg2gZy/z+rVq53nV6xYgVGjRpnj5NApf574GCUlJeH+++/HTTfdZDKDHTt2NJm1tm3bOn83PvbMxLnivEX+btzfH4+pRD67rQiH1MO9oIGVs5w2IBJMqanAhSmjRny8tbniLJy0NKBcOffLeX79enjFWTb8qGCLUb78/vMfwP643Ls3/TYy3qZ9XShoONUfipTz734XMaTKII7DgTyd0bFjx8z/3377LX799VfnxmFAe14cCyQeffRRMy+OQ5a8nsOyrsUHHLblkB+DlGnTpqFu3bpYsmSJ8409Y382T72kOPcr47F17drV7bi4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zXb+vHW+TRvfHz5WsGbsac1gkbcdKsrEiURYQUPBggVV0CAikgW2F2F2rGVLoFUrq+/b8eNWtSr16WMNyzKLZhdDcKjWPr1rlzVcWqQIULu2dXnXrtYcuKpVreHUVausKtg77kDIKIiTqF0SaMeOHeZ01apVI35JIK3QIOEm2l5jEl169gQOHABGjAD27gWaNQNmzkwvduCfruuf7O7dQPPm6efHjbO2du2AefOsy9gPjs1+H3jA6jfHuXD33mvdR6jkcfDTIUYcPXrUzCXiouHFshtUl4j/gFl74WtVUlJSxH/AHD9+HFu3bjW/R7169TQfTkIu2l5jEt527jyKKlUSkZycgsqV9flt06tOJMJWaFBBg4iIRGQQx/YKzZo1M6Xtv3LAWiQGChqYRaaSJUuG+nBERCRMRFwQ9/jjj6MiB6JFYoQKGkREJOKDuO+++w6zZs3COM42FInBFRpEREQirjp13759uPvuu/HFF18ggavYisQAFjScOXPGTBrnfDgREZGICuKYjejXrx/uu+8+tGzZEtu2bcvx/DluNlalkj2/SKK7cu7YsWPO5ztSK+d27txpfo/ixYubgE4kXETLa0wiQ2qq9bkdQw01wj+IGzZsGF544YUs91m3bp0ZQk1NTcXw4cNzdftjxozB6NGjM11epUqVXB+riIiIhNaxY6ms09fTEA594g4cOIBDhw5luU/NmjXRo0cPfP31126LLaelpZlWC71798YHH3yQo0wcvzlyflGpUqW0cHMMYHaAAXtycnLQ+wLqvvWY629NxH/On3dgz55U1K1bEfnyKesbUc1+2RXcdQh09+7d6NSpEz799FO0bt0alStXDunxSXgKZXNn3bcec/2tiUigRcScOC7p4qoIFzMDUKtWLQVwIiIiEpOUkxQRERGJQBGRicuoevXqqlCRbMXHx2PkyJHm/2DTfesx19+aiARaRMyJExERERF3Gk4VERERiUAK4kREREQikII4ERERkQikIE5EREQkAimIk6j05ptvmirmggULmobQy5YtC8r9LliwAF27dkXFihXNqiBffPFFUO6XS8xdeumlKFq0KMqWLYvu3btjw4YNQbnvCRMmoEmTJqahMrc2bdrgu+++QyiMHTvWPO4PPfRQwO9r1KhR5r5ct/r16yNYdu3ahdtuu82sQFOoUCE0btwYv/zyS1Dum6+tjL87twEDBgTl/kXEoiBOos60adMwZMgQ015k5cqVaNq0qVnhY//+/QG/by5Sz/tjEBlM8+fPNx+gS5YswezZs3H27Fl07NjRHE+gccUUBk8rVqwwQcQ111yDbt264Y8//kAwLV++HG+99ZYJKIOlYcOG2LNnj3NbuHBhUO738OHDuPzyy1GgQAETMK9duxYvv/wySpQoEbTH2vX35t8c3XLLLUG5fxG5gC1GRKJJq1atHAMGDHCeT0tLc1SsWNExZsyYoB4HX14zZsxwhML+/fvN/c+fPz8k91+iRAnHO++8E7T7S01NddSpU8cxe/ZsR7t27RyDBw8O+H2OHDnS0bRpU0coDB061HHFFVc4wgUf71q1ajnOnz8f6kMRiSnKxElUOXPmjMkIdejQwXlZ3rx5zfnFixcjVnC9WCpZsmRQ7zctLQ1Tp041GUAOqwYLs5BdunRxe96DYdOmTWbovGbNmujdu7dZ5zkYvvrqK7Rs2dJkvjh83rx5c0yaNAmhes19/PHHuOOOO8yQqogEj4I4iSoHDx40gUS5cuXcLuf5vXv3IhacP3/ezAnjcFujRo2Ccp+rV682axpzpYr77rsPM2bMQFJSUlDum0Ejh805LzCYONfy/fffx8yZM828wK1bt+LKK69EampqwO/7zz//NPdZp04dfP/997j//vsxaNAgfPDBBwg2zvs8cuQI+vXrF/T7Fol1EbnslohknZVas2ZN0OZnUb169fDrr7+aDOCnn36Kvn37mnl6gQ7kkpOTMXjwYDMni0UswXTdddc5T3MeHoO6atWqYfr06bjzzjsDHqgzE/f888+b88zE8TmfOHGieeyD6d133zWPBTOSIhJcysRJVCldujTy5cuHffv2uV3O8+XLl0e0GzhwIL755hvMnTvXFBwES1xcHGrXro0WLVqYjBiLO1599dWA3y+HzlmwcskllyB//vxmY/D42muvmdPMygZL8eLFUbduXWzevDng91WhQoVMAXKDBg2CNpxr2759O3744QfcddddQb1fEbEoiJOowmCCgcScOXPcshY8H8w5WsHGOgoGcBzG/PHHH1GjRo2QHg8f89OnTwf8fq699lozlMssoL0xQ8X5aTzNgD5Yjh07hi1btpgAK9A4VJ6xhczGjRtNJjCYJk+ebObkcT6iiASfhlMl6rC9CIeU+GHeqlUrjB8/3ky0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",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "# In this example we will use the linear function\n",
+ "p = params()\n",
+ "p.set_function(p.linear, (0.5, 0.25))\n",
+ "p.m = 0.3 # Incorrect selection of m - aliasing occurs.\n",
+ "p.unpack()\n",
+ "\n",
+ "@qfunc\n",
+ "def main(x: Output[QNum[n]]):\n",
+ " magnitudes, phases = p.calculate_magnitude_and_phase()\n",
+ " prepare_complex_amplitudes(magnitudes=magnitudes, phases=phases, out=x)\n",
+ "\n",
+ "df = run_statevector_simulation(main, print_circuit_info=False)\n",
+ "simplified_df = simplify_df(df)\n",
+ "plot_simplified_df(simplified_df)\n",
+ "# simplified_df"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "34d82a6f",
+ "metadata": {},
+ "source": [
+ "## 4.2. Success rate as function of parameter selection\n",
+ "**TODO**: consider removing this part"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "19c66ba4",
+ "metadata": {},
+ "source": [
+ "We can plot the success rate as a function of the selected parameters.\\\n",
+ "In the first example, we will have a quadratic function $f(x)=0.6x^2+0.25x+0.1$, $f'(0)=0.25$.\\\n",
+ "We can plot the graph for different selections of m.\\\n",
+ "We discussed earlier that $m/2$ is the bound for the gradient value, so we expect to have poor results for $m<0.5$, good results for $m>0.5$, until reaching $m=0.25N=4$, where the resolution won't be good enough for meaningful result.\\\n",
+ "Note the oscillations in the sucess rate in the optimal region. This is due to the discrete values the algorithm can return. As we increase the number of bits $n$, the oscillations will be smaller."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 27,
+ "id": "59ca5244",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "m=0.05: Success rate = 0.00%\n",
+ "m=0.1: Success rate = 0.00%\n",
+ "m=0.3: Success rate = 0.00%\n",
+ "m=0.5: Success rate = 0.00%\n",
+ "m=0.55: Success rate = 0.00%\n",
+ "m=0.7: Success rate = 79.39%\n",
+ "m=0.8: Success rate = 80.62%\n",
+ "m=0.9: Success rate = 87.40%\n",
+ "m=1.0: Success rate = 95.17%\n",
+ "m=1.5: Success rate = 73.05%\n",
+ "m=2.0: Success rate = 98.19%\n",
+ "m=4.0: Success rate = 0.00%\n",
+ "m=6.0: Success rate = 0.00%\n",
+ "m=10.0: Success rate = 0.00%\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1IAAAIoCAYAAABj6NoUAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAfTdJREFUeJzt3Qd4W+XVwPHjJc84y9l7h2yaRSYrEEah0JZVVimjZZdZoOy9C2VDWf0KhUJLgRLSQiCQSciCkD2cSYad6W3Z0vecV76ybMu2ZMvSlfT/PYjIV1dXV1fX9j1+z3tOgtvtdgsAAAAAIGCJga8KAAAAACCQAgAAAIAmYEQKAAAAAIJEIAUAAAAAQSKQAgAAAIAgEUgBAAAAQJAIpAAAAAAgSARSAAAAABAkAikAAAAACBKBFAAAAAAEiUAKQMwpKiqSBx98UH7yk59IVlaWpKamSvfu3WXKlCly6623ysaNGyO9i1Hl7rvvloSEhBq3jIwMGTZsmPzxj3+UQ4cONfs1fv3rX5vtbt68OST7HE+sY+d7y87OlrFjx8qf/vQncTqdEu9mz55tjoueywAQKskh2xIA2EBBQYFMnjxZvv/+e+nfv7+cd9550r59e8nPz5dFixbJww8/LP369TM3BOcXv/iFCZ7U7t27ZcaMGSZg/c9//mOOrQasiJyLL77Y/MHA7XbLtm3b5F//+pdcf/318sUXX8jHH3/MRwMAIUYgBSCmPPXUUyaIuuSSS+Tll182f4X2lZubK2VlZRHbv2j2y1/+Us4++2zv16WlpXLEEUfId999J2+//bZcdNFFEd2/eKfnvH4elvvvv18OP/xwE+jqiMxRRx0V0f0DgFhDah+AmLJgwQLz75VXXlkniFJ9+vSRwYMH11im69V3kdm7d29zq628vNykTWn6VKtWrUwK4ZAhQ8wIwP79+2usu2fPHrnhhhtk0KBBkp6eLu3atZPx48fL448/Xme7GgRqsNKlSxdxOBzSq1cvufrqq2Xv3r111v3yyy/lxBNPlK5du5rRoE6dOpn0RQ0gfS1dutQEQT179jTrdejQwez3Aw88IM2RlpYm5557rrm/ZMmSGo/9+OOPctddd5kL+44dO5rX1eN4xRVXmOPhS5e/+eab3s/HSk+r/ZloEKzBgvU+9BhpWtuWLVsC2t9jjz1WEhMT613/mmuuMa/72WefeZf985//lCOPPNK8B32/eqynTZtmlgfCOn8OHjwol19+udnnzMxMmTp1qvlcrGOlI6f6Gnp+HH/88bJ+/XppLt3Xn//85+b+t99+a/794IMP5JxzzjGjtZqe2bp1a3PO+Hs/mmapx0OP8erVq+X00083o7u+KZjN2d5Pf/pTadOmjbRt29ZsQ0eNre9h/aw0PVEf089c03X9+frrr+WUU06RnJwcc04MGDBAbr/9dikuLvauo+l8Rx99tLl/zz331EiB9E0l1e/pJ5980qQE62ek39f6Xj766KN60yk3bdokTzzxhPne19fX5QDiByNSAGKKXuipdevWyahRo1rkNUpKSuS4446TefPmmQs3HYnRiyi9+H3ppZfkggsuMBeAau3ateYibufOnSbl8LTTTjMXhStXrjRpcTfeeKN3u3rBduaZZ5qL/Z/97GfSo0cPWbVqlTz77LPy3//+V7755hvvdj/55BNzAakXorquXqDn5eWZ0aH/+7//k8suu8yst3z5cpk4caIkJSWZ9TQwO3DggNmuBlw6xykUkpOT61zg6gWmXhBr0JiSkiLLli2TF154wbwXDSL0olv9/ve/lzfeeMPs+7XXXmvek/INYPW9T58+3Rw7vQDX464XwW+99ZZ8+umn5uK7b9++De7j+eefb9Lc9Dm33XZbjccqKirknXfeMcGH7rPSfdXAT4+tFUTs2rXLpDFqAKGpjoHQC3Q9X3QE76yzzjJpkf/4xz9MQDZ//nzzvvQ1NJjasGGDScM7+eSTTbChn1soWH9U0DmCGqDruWidM3reaaD95z//2QTttek+aUA8fPhwEyhoUK/baOr2NCDWc3LMmDEmSFq8eLE59pqOqKm3Gkjq8dJzWEfSXn31VXG5XPLaa6/V2I5+PvoHEz1f9HtBA1Hdlv6BQP/IoDfdNw3I9VzRYF2DYt8A3TrXdJT6hBNOMK+nPzc0TVLnlun3mX7fPPPMM3LVVVfVeS/6/hYuXGg+L2sfAMQRNwDEkA8//NCtP9patWrlvuGGG9z//e9/3fn5+Q0+R9c/8sgj/T7Wq1cvc/Ol29XnnH/++e6Kiooajx04cMBdUFDg/XrMmDFm3ZdffrnOtrdt2+a9r/uYnZ3t7tatm3vz5s011vv73/9utnHVVVd5l/385z83y5YvX15nu77v9/rrrzfr/fvf/25wvYbcddddZhu6H75KSkrcI0eONI+99957NR7bvXt3jeNgefPNN836999/f43lF154oVmem5tb5znl5eXu3r17m8906dKlNR6bM2eOOykpyf3Tn/600fdx6NAhd3p6unvIkCF1Hvv444/N6994443eZT/5yU/cDofDvJemHjs9d3S7Z5xxhtvpdHqXP/LII2Z5mzZt3Nddd53b5XJ5H7v88svNY//85z8Deg3r2C1YsKDG8p07d7o7depkHvvqq6/Mso0bN9Z5vn5Ow4cPd7du3dpdVFTkXa6fhT5Xb3feeaff127q9p566invcn3vJ510kvd4+J6r+tmPGDHCnZyc7N61a5d3+cqVK80yPf9qfxYPPfSQ2dbjjz/uXfbll1+aZXou+3PbbbeZx++4444an4WeM/o9rOfBjh076hzz7t27u7ds2eJ3mwBiH4EUgJjzxBNPuLOysrwXbXrr16+f+8orr3SvW7euWYGUXgzrBb1eJO7bt6/B/fjmm2/MtqdOndroPj/55JNm3b/+9a9+H9eL+pycnDqB1Nq1axvcrhVIaUDZVFYg9Ytf/MLc15te7Pfs2dMsP/30092VlZUBbUsvUjVgPOqoowIOpP71r3+Zx+69916/29RjkZiY6D548GCjr3/OOeeYbS1ZsqTG8jPPPLNOYKrHPDMzs9HPOZBAqvbF9tatW81yPU99gw319ddfNxi81GYdu4svvth8Nvq83/zmNyYo0eU/+9nPAvqe0XVnz55dJ/Dp3Lmzu6ysLOD33Nj29HvRN1hRet7rY0cffXSdbennro998cUX3mXXXHONWabHqjY9Fzt06OAePXp0QIGUrt+2bVu/+6U++ugj89xnnnmmzjF/+umnAz4mAGIPqX0AYo7OU7r00ktl5syZJnVK0300Ney5554zaULvvvuunHrqqU3a9po1a0xlQE3LstLs6qMpYEpTlRqj6UFK99NfeXZNC9M5JHrT+SA6j0qrsmnK1a9+9SuTjqbzOfQxX5oqqAU4NDVN08o0ZUrn53Tr1i3Id+6ZL1R77ssZZ5xhjqe/+Wi6f5rqqGl8Om+ssrLS+5jOCwqUdWw0TdJf+WpNt9PUL03n1HSxxtL7/v73v5v0R50Lo7R8u6bTaerayJEjvevqMb755ptNpUI9xpqiqSlsOncnGHqe6LwuX5oGpzRFUecW+XssmGOk9Ny26Jy9ww47zMxh0/Q3i85P0/Q5TYfUuWKapurL32vqMbFS+WpryvZGjBhR53yx3rO/dFx/x8M6JzRNdNasWXWeo6mk+r0aCD2v9PzUtE6dQ1Wbpisqf9sbN25cQK8BIDYRSAGISTpRXC/y9aZ0sr/Oi3n++efN/IcdO3bUe3HYEN2OCiQQCWbdffv2mX812GuIzhHSYEnf17///W8zOf7FF180z9OLU73Y17lJ1gWpzk/SeR86H0sr673++utmuRabeOSRR7yT8AOhAYgGFzqfSC8+dX7Xe++9Z4po3HfffTXW1X3Qx7WwhQaSWpZbCykoDeyCqZxoHRud29TYsWmM7osW5dA5OVrsQ+cgvf/++yYA0CDLl+6/zovSuTj6fnR9nQum82G00IgWxgiEv8DLmlPW0GPB9n/SeWK+Vfv8HUf93Ldu3SqTJk0yfwzQOUJ6DHQu3Ycffuj3c9HjFcrtheJ4WOdEcwum+G5L5y3qLZjzq75jAyA+EEgBiAta2ECLNujkcf3L+YoVK2T06NHmMQ1ANDioLxiyiiL4Tk7XQKwxwaxrXUDqflm9mhqjk+D1piNkWvhCR4B0VEInzetfz63X15EqHTHQYEFHvHT0RQNKDQh++OGHRos0+LuwHTp0qCm4oKM4ejGrI17WCI8eSw2sdCRBL6h9J+BrJuWjjz4a1OtZx0b3WwtNNIde5GuFOA3mPv/8c1PoQUentMCHjjr50vPiN7/5jblpgYU5c+aYYFILRWhhEa2wGKpiEOGg54YGPfrZaGU7XzqqpIGPP/5GG5uzvVCwzgkdTdQ/moRiW1o8RIPqYNR3bADEB8qfA4gbetGjZY39pV75C3a00pdWuPOloy964aXlpGuXOa8v7ed///tfo/umI0e+5duDoReSGjxpFT6tqqZV4TRgqk1HhLRimY6u6OicBla+pb6DpeXAdZRGg6NbbrnFu1zTDzUAnTBhQp0qZppmWTv9S1kBiW/6XyiOjT/WyNPf/vY3Uynuq6++MiNzDY0c6siUVlzUNMZjjjnGVD3UanbRxEoZ1eC7Ng0SI729YFjnhJXi15iGzi9NgdTvaT03gx0FBBDfCKQAxBSdk2P1zKlNU+G0pLSO1PiO+mh6kgZNekHtW7Ja51r5G4357W9/awIFLdVd+8JMlxcWFnq3qzctBf7KK6/U2ZZv8KYl1DUg0nLk/tKLtC+O70WjbtPfRaHVo0mDHCv40PlVtWmw5bteU+lFtI5EaUBmXTxb/ZB0bpRvPx8NPP2Vw1baW0tpYOPvNXSOkaYx6vuuTS9+586dG/A+6/5q3x8dUdPzRQPB2ml9SlMiPbVIar6WlQrW3GMXblr6XtU+VpryOWPGjIhvLxhall6/F/V80lGx2vQPIFpuP5DzS7ejPb50pFrTOf0FUzpyW7v/GQCQ2gcgpmgK2+9+9zvTIFTnbegEcp3boBdVeqGvKVya1qZ9nywaMOmo0UknnWTSvnTyvwYGGnBZE9193XvvvSao0ZQw/Veb4ur2tDmnFrjQC0trjpLO69FRIO2Jo+vrKI0GNhos6T5ZjXZ1LpGmjencJ53cryNM2jhY55hYQZ723tHtW81jdfK9Fj/Qfks62qavqwUudJ6MLlc6D0r76WiBCZ3Toxf/GuDoBH1N6dOUvObSAhBavOPOO+80r6XHWC90deRL34v219EULP1s9OJbP5PadJRHR7f0OGmKlY4c6roa4Oix1ZQrPc7aB0jX1ZRCfc968aufq44YBVpcQOl2tQeSphnq5+2vJ5SOQOlIhR5P3Re9wNbzQkejtE+SFUhEC33Pej5o8KGfk+6/9u7Sc0Eb92pqaCS3Fwz9Q4h+H2sApKPE+r3br18/k+aq34f6/aKjszp/UOn3kp53OjdOzyeds6fnj+67pu5qkQn9vtDeV5r+q98v+gcB/WOHptvq+9I/StAnCkANkS4bCAChtGbNGvejjz7qPu6449x9+vRxp6WlmZuWNtaSxYsXL/b7PO2DpL1vtF+Mlnu++uqrTT8cf32kVGlpqelTM2rUKNObSMtYa38i7TG1f//+Gutq/5trr73W3bdvX7P9du3aucePH29Knvvbfy1jra+p62pZZt0vLfe8aNEi73rvvPOOKdmt7ysjI8OUY9eeOtqfyLd/08yZM90XXHCBe9CgQaZsu7Wf2jcnLy+vWX2kfFn9smbNmuXt//PAAw+4BwwY4E5NTTWl0vXYNHRM9XPT9VNSUvyWpN++fbs5jtY2tYz6YYcd5r7kkku8rxsoLT+uJdP1dbQkuj/PP/+8+9RTTzX7qudQ+/bt3ePGjXO/8MIL5v0For732lDZfatMuJ6vzekj5Y+Wdz/++OPNeaXng77+559/7n799dfNNvTfYPYjVNtrqDy5v21Z9Hvi7LPPdnft2tWcN9oiQMvW33LLLe7Vq1fXWHfhwoVm/3Q/rbYIvuX2tSfcSy+95J40aZI5t6zz9oQTTjCfeWFhYUDl+gHEjwT9X83QCgAAAADQEOZIAQAAAECQCKQAAAAAIEgEUgAAAAAQJAIpAAAAAAgSgRQAAAAABIlACgAAAACCFPcNeV0ul2lq2apVK9OcDwAAAEB8crvdprm3NvHWBvMNiftASoOoHj16hO3DAQAAAGBv27Ztk+7duze4TtwHUjoSZR2s7OxsicSIWF5ennTo0KHRqLellVWUyYrdKyQ5KVkcSY6I7gsa/2tJyYESSW+TzkgqAv7+LtpfJKP7j5Z0RzpHDVH3OwrRgXMG0X7eHDp0yAyyWDFCQ+I+kLLS+TSIilQgVVpaal470ieOXmhlFmdKpiOTQCoKAqlCV6FktckikELA39/i9PysI5BCNP6OQnTgnEGsnDeBTPmxx54CAAAAQBQhkAIAAACAIBFIAQAAAECQ4n6OFAAAAOwzB7iiokIqKysjvSsI8xwpp9Np5kmFY45USkqKJCUlNXs7BFIAAACIuPLyctm5c6cUFxdHelcQgQDa5XKZ/k3h6Ouqr6GlzbOyspq1HQIpAAAARJReROfm5ppRAm2E6nA4qEobhyORycnJLf6562tpqfXt27fLgAEDmjUyRSAFAACAiI9GaTCl/XsyMjL4NOKMO4yBlNJ+VZs3bzbphM0JpCg2AQAAAFuwSw8hxLaEEAVrnK0AAAAAECRS+wAAAGBbFa4KqXSFr4pfUmKSJCdyiYzGcZYAAADAtkHUqrxVUuIsCdtrpqeky5AOQwim0CgCKQAAANiSjkRpEJWSlCKOJEeLv155Zbl5PX3dQEalGptrc9ddd8ndd98tkaD79sEHH8hpp50WkdePBwRSAAAAsDUNosIRSClnpTPgdbXvleXdd9+VO++8U9auXetdFmyfIq1eqKXfY6EKX2VlpanCF8soNgEAAAA0QefOnb231q1bm1Eg6+uioiI599xzpVOnTiagGjt2rHz++ec1nt+7d2+577775IILLpDs7Gy57LLLzPJXXnnFWwr+9NNPlyeffFLatGlT47kffvih/OQnP5G0tDTp27ev3HPPPaaEuLVdpc/VfbK+rk1LgOvj//jHP2TKlCmSnp5u9nPdunXy7bffypgxY8y+n3jiiab3Un1mz55ttvPpp5/K6NGjJTU1VebOnSsbN26Un/3sZ40egwcffFAuvfRScwx69uwpL7/8co115s+fL6NGjTLvVffp3//+t3m95cuXe9f54YcfzH7q6+jrnX/++ZKfny8tiUAKAAAACLHCwkI56aSTZNasWbJs2TI54YQT5JRTTpGtW7fWWO/xxx+XkSNHmnXuuOMOmTdvnvzud7+Ta6+91gQKxx13nDzwwAM1njNnzhwTfOk6q1atkpdeekneeOMN73oaBKnXX3/djJpZXzeUgnj77bfL0qVLzSjSr371K7n55pvl6aefNq+1YcMGM9rWmFtuuUUefvhhWb16tYwYMSLgY6CBogZg+vpXXHGFXH755d6RvUOHDpnnDB8+3Dyugecf/vCHGs8/cOCAHHPMMXL44YfL4sWLZebMmbJ7924588wzJW4Cqa+//tocKO1orVGmRpuN0QhYo3GNfPv3729OIgAAACCSNDj67W9/K8OGDZMBAwaYAKBfv37y0Ucf1VhPA4AbbrjBPKa3Z555xoys3HjjjTJw4EATWOjXvnT0SYOWCy+80IxGabCl29eAymo4q3QUS0fHrK/ro681ffp0Oeyww0xwtmTJEhPUTZo0yQQnF198sXz55ZeNvud7773X7Iu+j3bt2gV8DDTY0uBRr+U1SMrJyfG+3ttvv23iAh2lGzJkiDkWN910U43nP/vss2Y/dWRr8ODB5v5rr71mtqGja3ERSOkQqB7w5557LqD1c3Nz5eSTT5ajjz7aROy///3v5ZJLLpH//ve/Lb6vAAAAQH10NEYDFA1ONKDRlDMdqak9GqOpar50JGbcuHE1ltX++rvvvjNBi27TumlqnI4+FRcXB/2h6OiRRdPilI4A+S7bs2dPo9sZU+u9BHoMfF/LSo+0Xk+Ph+6fpvU1dDw0aPI9HhpQKU0vbCm2mgGmEWbtiLshL774ovTp00eeeOIJ87V+SJqP+ac//clE1QAAAEAkaADx2WefmdQ9HWnR+Ue//OUvTUEJX5mZmUFvWwMUHZX6+c9/Xucx34AjUCkpKXUqEdZe5nK5Gt1OZq33Eugx8H2tYF7P93hoVtsjjzxS57EuXbpIXARSwVqwYIFMmzatxjINoHRkqj5lZWXmZtG8S6UfVjAfWKjoa2plk0i8dn37Yt1gX3xOaOo5E6mfdYhOdvodhdg+Z+q7BjH39b8wXZs05/Ws9a1/da6Tpt5Z5cf1Yl+LO/h7j75fDxo0yMxp8l1mzXGylum0ljVr1pg0ufr2RYMTLT7R0Pvw3efa+1/fskC3E8wxUPW9vqY3/u1vf5PS0lIzlUctWrSoxjqayvevf/1LevXq5bdSoL/Xqu93YjDnblQHUrt27fIOP1r0aw2OSkpKTNRb20MPPWQi+Nq0Eol+QOGmH9bBgwfNh5mYGNlMSy33WXawTBKSE6Q8seZfCmAvbnFLaWGpSIL+13APC0A5XU6pKK6Q/Lx8SU3x/CICoul3FGL7nHE6nea5euFvVZ5T5uvKCikuK5aKpOrlLdlHSpsA6+smSVJQz7UuwK391yBHL+4120pHWLSflBUw+r5H631btNCCzpvSURydwqL1ALQanm7DWu+2224zwUn37t3NqJQe6++//15WrlxpUv6UBhVaIW/8+PEmAGnbtm2dfba253vctWx57WW131ttlX6eE8wx0Odb29D1rCBH19GCEVoIQ1MXdW7Utm3bzLGxnqfr6Dysv/zlL3L22WebUTB9r5rSp9UIdd5YUlLNz1Kfo9vfu3dvndGwgoICiYtAqiluvfVWuf76671fa9Cl5SV1Ep6WXAw3/RD1hNHXj/QvqbKKMtnh2iEZjoyw9WpA8/5iltU2q9FmgID1/V3qLJWcDjmS7qj7RybA7r+jENvnjP4xWy9gdTShxohCokhWWpb5+VXuCsMfeRM8r5fqSA2oIa8v6/1a+69TTbRIw5FHHmmKJ2gVPB2R0ePj+x71eb5fT506VV544QUTEGk1PSvbSmsIWOtpcYaPP/7YFG/QoEKDAZ0TpK9nraNTX7SIxauvvirdunUztQVqs9b1Pe5W0OG7rPZ7qy3Jz3OCOQb6fL1ZQY0+bh0XLVqhxSm06IaWT9f5VFpBUEvL61woXUdLpuv0Hi3AocdGs880kNRjp325al8r6XN0++3bt6+TChlMamSC26Y5XIF0Y9YTTYc2n3rqKe8yLfOoJ5v+NSQQGkhp3X9dP1KBlE6m69ixY8R/SemF1vJdyyXTkUkgZVPlFS75em2hzFtfKAcKnNKmVYpMGpAlUwdliSOZixw0/P29L2+fjBs4jkAKUfk7CtGhqeeMBlJ6oa9z32tfyOoIUaXLM1oRDkmJSUEHUS1NR2M0lU9Lkccid9UIlQY4gfyB+K233pKLLrrIXL/7y0BrzvkWTGxgr7MkSBMmTJAZM2bUWKYT2nQ5EGsWbCiUx2bslsIy/Wuf/tARSdhdLvPWF8nzs/LkppM6yYT+wXVQBwDA7jSosVtg09J0lEnLiGvxBk3re/PNN+X555+XePXXv/7VlHnXkTWt0Kcl0jXlrylBVCjZ6s9LOtSnZcytLsUaKep9q0SipuVp8zGL1pvftGmTGSbUKF1PMM2FvO666yL2HoCWCqLu/mCnFJV5cpStcWTrX12uj+t6AAAgumkxBQ2kNI1Nq1T/+c9/Ni1+4tWuXbvkvPPOMxW69Tr/jDPOkJdffjnSu2WvESntRKw9oSzWXCat9qGNdrU2vm/deR2O++STT8wB1c7LOuFOJ5pR+hyxls6nI1GqvjxcXa4D4breO1dkkOYHAEAU04EBVNNBE73Zja0CqaOOOqrBEo0aTPl7zrJly1p4z4DI0TlRms7XGP3O0fV0/WlDwz/fDwAAIJ7YKrUPQF3z12t1m8COjK6n6wMAEI1sWgMNMcYdovOMQAqwuUOl2m8hsHV1PV0fAIBoYpW9Li4ujvSuIA6Ul3tK6dfuLxXVqX0A6spOS/RW6WuMrqfrAwAQTfSCtk2bNqZ0usrIyKBPYhxxB1n+vLkl+vPy8sw5Vl9frEARSAE2N3FAlsxdXxTQuhps6foAAESbzp07m3+tYArxFUi5XC7Te6ylAymlr6NNfJv7WgRSgM1ps13tE9VYwQn9UZCZmmjWBwAg2uhFbZcuXUwzX6fTGendQRi5XC7Zu3evtG/fPizNvx0OR0heh0AKsDlHcqJptnvXBzvrXcf6e4qup+sDABDNaX7NnbuC6AukUlJSJC0tLSyBVKhEz54CcWxC/yzpnePwfl17IFpHou4+vYtZDwAAAC2PQAqIAgeLK2XrXk+FmbYZSTJxQKa0TqsOp248qRNBFAAAQBiR2gfbKa/wNJXVfkhaylur0GkBBZ37E69paws2FoqrqmrfccOy5eKp7WXW0nx59IsDZtnCDUUykdEoAACAsCGQgq0s2FAoj83YbQorWCW/9V+tWqcFF3QOUDymr81bV91kd1JVVb5R3VMlLSVBSp1umbe+UK45rqMkJ7V8pRsAAACQ2gebBVF3f7BTiqqq01l9k6x/dbk+ruvFk6KySlm6pcTcz8lKlkFdUs391OQEGdc309wvKHXJ99s86wAAAKDlxWeeFGyZzqcjUaq+vrPWcl1P148XizYVi7PS8+4nDciURJ+eB1MGVo/OzVlXEJH9AwAAiEcEUrAFnROl6Xz1BVEWfVzX0/XjhabtWSb5BE5qbJ8MMzLlWa9IKq2JVAAAAGhRBFKwBS0sEWhzaV1P148HZU6XLNpUZO5npyfK8O7pNR5PdySaYEodKK6UlTtI7wMAAAgHAinYglbns+ZCNUbX0/XjwdItxaaYhNIiG0mJdaPNKYNaee/PiaOROgAAgEgikIItaInzYEakdP14MNenWt/kqmp9tY3rmyEpVdX65qzTMumk9wEAALS0+Lgahe1pn6hgRqR0/VhXUemWhRs9aX0ZjkQ5vFfNtD5LZmqSjO7tSe/bV1Qpq3eUhnU/AQAA4hGBFGxBm+1mpSZKY4NS+riup+vHOi1nrmXNrVGnhpoR+1bv+9pnFAsAAAAtg0AKtqBBgjbbbYgVZOl6DQUVsVitb3Ktan21HdE/U6xDQnofAABAy4v9q1FEDS2mcPfpXcRPPQUjLSXBPK7rxTqd52QFUjr/aWwfT+Pd+rRKS5LDe3nS+/ILKmTtzrKw7CcAAEC8IpCCrYzpow1nPffTUxKkZ3uH97FJA7LiIohSa34sNfOdlM5/0jLnjZnik+5Ic14AAICWRSAFW8nNK5OKqsrmWlDiufN7mEILav6GIil1xkfZ87lBpPVZJvbP8gahmt7npnofAABAiyGQgq2s3VldcW5g5zRJTUn0jrQUl7tkwQZPFbtYpgHQvHWe96mB0RH9Gk7rs2SnJ8monp70vt0HK2T9btL7AAAAWgqBFGxl7a7qQGpwl1Tz77Qh1Q1nP195SGLdprxy2XnQae6P7JFuAqRA+ab3+fagAgAAQGgRSMFW1u7yjKIkJYr06+gJpIb3SJeO2cnm/pLNxbK/qEJi2TyfAGhSgGl9lon9q+eYfb2W9D4AAICWQiAF2ygpd8m2veXmfp+cVG+J88SEBDm2alTK5Rb5cnWBxMv8KC2wEYy2mckm8FQ/HnBKbp7neAIAACC0CKRgGzqnRwMlNbCzZzTKcuyQbO/9z1fFbiC1fV+5bM73BD9DuqZJ+yzPSFwwpvgEX1p0AgAAAKFHIAXbWOczP2pQl7Qaj2kZdCu42rC7TLbkl8V8E95gR6O8zxuY5W1eTCAFAADQMgikYMtCE1qxr7Z4GJWqmdYXWLW+2nQUa2g3z/Hburc8ZoNOAACASCKQgm2s2+m54E9NTpDeOdWNeC1HDa7ukzRrVYG4YqxPUl6BU9ZWHYO+HRzStW3dYxComs15Se8DAAAINQIp2MKhkkpvyW+t1pdkRUy1CimM7ePpk5RfUCHfbS2RWDJ/fVHQTXjr45sWOGctgRQAAECoEUjB9vOjfB07tDq9b9aq2Oop1ZxqfbV1zE6Rw6qOY25+uWzbR/U+AACAUCKQgq36R/mr2OdrQr9MyXAkekdaSp0uiQUHiytlxTbPCFvXNil+UxuDRXNeAACAlkMgBfuNSPkpNGFJTUmUqVXzf0qcblmwoTodLpot2FjoLf2uaX0JCXVTG4Plmx5Ieh8AAEBoEUjBFtbu9ARSmamJ0rVtSoPrThvqac6rPl8ZG+l989aFLq3P0rl1SnXJ+D1lsvOAZw4aAAAAmo9AChGnhSP2FVWa+3rhn9jIaMyw7unSMdvTqHbJ5mLZX1Qh0ayorFKWbvGk9eVkJcugLvWnNgZriu+oFNX7AAAAQoZACrbqH9VQWp9FA61jh3hGpTQd7svV0d1TatGmYnFWur29oxoLJJuc3rcuuo8TAACAnRBIwTZpffU14vWnRnPeldEdIMzzrdbXzLLntXVr6zA9qZT2qNpdVWIeAAAAzUMgBXuNSAWY1tazvaPG/J/N+dVV/6JJmdMlizZ5CmZkpyfK8O7pIX+NKYNa+S2xDgAAgKYjkEJEud1uWV9V+rxdZpKZIxQo31GpWVE6KrV0S7GUOj1pfRP6Z/ltRBzSeVI05wUAAAgJAilE1I8HnFJY5vKm9QVT9vuowVlixR2zVheIy11VPzxK0/omh6han7/Ru15VfalW/VhqinsAAACgeQikYKP5UcFVq2ubmSxj+2aa+xocfLfVU/kuWlRUVvfB0ibDh/cKfVqfv1Ep0vsAAACaj0AKEVFe4TI9oP46b593WXG5yywPxrSq6n1q1qro6im1YnuJFJR63u+4vhniSG65b0fS+wAAAEKLQApht2BDoZz9fK48OmO3Se2zvP/tAbNcHw/UEf0yzWiONf+n1BlcIBZJc336OvmWKW8JvXMc0r2dp9HxD9tLZF8h6X0AAADNQSCFsNIg6e4PdkpR1byo2nS5Ph5oMJWakihTB3mCkBJndaqc3el8Lmt+VEpSgozt40lRbCk698walXLXmpsFAACA4BFIIWw0be+xGbvN/frKQljLdb1A0/ymDa1O7/tsZXSk9635sVT2FVWa+6N7Z0h61ahaS5o6sPo4zfEZDQMAAEDwCKQQNl+vLTQV+hqrraeP63q6fiCGdU+XjtmesulLNxdHRdqab8GHlk7rs/Tt6JCubTzpfd9vK5EDxfY/TgAAAHZFIIWwmb++UAKtbq7r6fqBSExIkGOrik643CJfrimwfe+sees8KYhavl3neYWDb3qfHqdoSYMEAACwIwIphM2hUpcE2upJ19P1Y7E576a8ctl50FNkY2SPdMlOTwrba0+pmk+maM4LAADQdARSCJvstMSgRqR0/WCazg6q6kO1YU+ZbM4vE7ua5zM/aVKY0vosAzqlSqeqNMhlW4vlUIlnnhYAAACCQyCFsJk4ICuoESldPxjHDo2OUSnf+VGTgnyPoUjvs+ZkVbpEFm4kvQ8AAKApCKQQNlqmPCs1URoblNLHdT2rrHmgjhqcJUlVZ/Ss1QWmxLjd7NhfLpvzy839IV3TpH2WZ3QonGo257VvwAkAAGBnBFIIG0dyotx0UqcG17GCLF1P1w9Gm4xkGVPVjym/oEK+21oitk7rC/NolGVw1zTJqQrglmwulqIy0vsAAACCRSCFsJrQP0v+eErnOsutuVOZqYly9+ldzHpNMa2qep/63IY9peaur06lmzQgPNX6/FU5tNL7tFUX1fsAAACCRyCFsGuTWZ3Opv2fRvRIl0n9M+XmkzrJO1f0aXIQpbSUeEZVc9u56wql1Bl45b+WllfglDU7S839vh0c0rWtI2L7UqN6H815AQAAghb+CRqIez9sr065u2BSezl+WHWRiOZKTfHMrZq54pCUON2mF9UxPqXRI2m+z2hUuJrw1kfnZ7XLTJJ9RZWyOLdYistd3gAUAAAAjePKCRENpIZ2Swv59qcN9UnvW2WfYgqRrNZXW1JigncfnJVu+YbqfQAAAEEhkEJYVbrcsupHT3qbjoh0bZMS8tcY1j3dpAyqpZuLZV9hhUTaweJKWbHNE0Dqe+6dE7m0Pn/pfZoGCQAAgMARSCGscvPKTBqZFfBoX6OWKKZwbFXRCZdb5Ms1kR+VWrCx0OyLldbXEu87WMO7p0vrjCRzf1FukZRUfS4AAABoHIEUwmrFds9olBraLb3FXmeazZrz2qHsud/0vv6eyoFlTrcszqU5LwAAQKAIpBCx+VHDu4d+fpSlRzuHDOqcau5v2FNmRsIiRfs0Ld3ied/av2lQF89+2YFv0Quq9wEAAASOQAph43a7ZeUOT0ChFeL6dGjZgOJY31GpCBadWLSp2BR0sHpHaeqhXYzqmSGt0jw/BrTgRJmNysUDAADYGYEUwubHA05Tbtsqv62pZS3pqMFZklR1hn+xqsAUuoiEeb7V+iJc9ry25KQEmVjVt0vLxS/ZXBzpXQIAAIgKBFIIG9+0Pi000dLaZCTLmD6eOUD5hRXyfVXVvHAqr3DJok2euUfZ6YmmwIPd0JwXAAAgeARSCJsfdpSGNZBS06qq96nPVx6ScNMRnlKnZyRsQn8dIbNPWp9lVM90yUz1/ChYsKHIBH8AAABoGIEUwj4ilZwo3kIQLe2IfplmPpbVK6k0zHOAfNP6JtukWl9tjuREmdDPM3KnpemXVRXGAAAAQP0IpBAW2hR3x36nuT+wc5qkpoTn1NPXOXJw9Ryg+T6BTUurqHSbER6lwdzhveyX1uc/vS/y5eIBAADsjkAKYWFV61Phnid07JDq6n2fh7F634rtJVJQ6hkBG9c3w4z82NXo3hmSnuJJO5y/vshbZRAAAAD+2ffKDjE7P2poC/aP8mdY9zTplJ1s7i/dXGxGx8JBUwnt1oS3PhrkHVHVnLewzCXfbaV6HwAAQEMIpBC20RmlYx5Du4V3REr7Nh1TVXRCK6B/sbrlR6Vcbrd3flRKUoKM7esJUuxsysDqwhw05wUAAGgYgRRaXFFZpWzaU2bu985xSKu0pLAf9Wlhbs675sdSb88sTZuzCl7Y2Zg+GZLqk94Xqb5bAAAA0cD+V3eIeqt/LDUjQWpohPoo9Wjn8FYK3LinTHLzPIFdS5nrW63PZk1465OWkijjqvpuHSypjEjfLQAAgGhBIIUWo/2ItHfTC1/k1VkeCceGaVTKrWl96zzV+rRtlJZgjxY05wUAAAgMgRRaxIINhXL287ny6Izdsm2fp+y5+s/yg2a5Ph5uRw3Whrie+1+sKmix1LVNeeWy86DnPY/skS7Z6eFPZWyqcX0zxZHsSe+bt66Q9D4AAIB6EEgh5DRIuvuDnVJU5n/kSZfr4+EOptpkJMvYqtS1/MKKFktd823COylK0vosOpdrTO8Mc39/caWs9Km2CAAAgGoEUggpTdt7bMZuc7++8R5rua4X7jS/aUOrK9Np2mFL0JGcaCl77g/NeQEAABpHIIWQ+nptoelD1FjSnD6u6+n64aTzlTJTE719nkrKQxvI7dhfLrn55eb+kK5p0j7L078qmugx0pLt1jHSUu4AAACweSD13HPPSe/evSUtLU3Gjx8vixYtanD9p556SgYNGiTp6enSo0cPue6666S0lHSkcBeUuPffP8qN72yXV7/KN72iApGQoGW2C8PeeHbqIM8oUYnTLfNDnF4Y7aNRKjM1SX5Sld63t7DSVF0EAACAjQOpd999V66//nq56667ZOnSpTJy5EiZPn267Nmzx+/6b7/9ttxyyy1m/dWrV8urr75qtnHbbbeFfd/jvaDEvA1FZs7R3qLKRkejLDrQcag0/BX8jh3iU71vZWir981d76nWpyYNiJ5qfbVN8ZnbNSfMo4YAAADRwFaB1JNPPimXXnqpXHTRRTJkyBB58cUXJSMjQ1577TW/68+fP18mTZokv/rVr8wo1vHHHy/nnHNOo6NYCH1BiaZkf+mIVHZa+E/BYd3TpFO2J+Vu6ZZi2VtYEZLt5hU4Zc1Oz+hN3w4O6drWIdFqQv9Mb4VD7YmlJd0BAABQzTYTOMrLy2XJkiVy6623epclJibKtGnTZMGCBX6fM3HiRPnb3/5mAqdx48bJpk2bZMaMGXL++efX+zplZWXmZjl0yFNwwOVymVu46WvqRWokXru+fbFuzSkoEQh9iYkDssJ+ka6ph8cMaSV/X7jfNAr+cvUh+cWYtiFP62vJ9xXI59QcWamJcnjPDFm8uVj2HKqQtTtLZVCXtBZ5LYSHdb5E6mcdopOdfkchOnDOINrPm2D2wTaBVH5+vlRWVkqnTp1qLNev16xZ4/c5OhKlz5s8ebI5+BUVFfK73/2uwdS+hx56SO655546y/Py8iIyt0o/rIMHD5r918AxkpyVTik7WCYJyQlSnugpmODP7A0lplBEc4OZDEeCHJ4jUrgv/KljE7olyd+r7n/2/UGZ3jel2dv8enV1FcDDOya06Ptyi1tKC0vNgUwIeFZacMZ2T5bFmz33v/h+v3RLra54iOjjdDmlorhC8vPyJTUlNdK7gyhhp99RiA6cM4j286agoCD6AqmmmD17tjz44IPy/PPPm8IUGzZskGuvvVbuu+8+ueOOO/w+R0e8dB6W74iUFqno0KGDZGdXz50J54mTkJBgXj/SJ05ZRZnscO2QDEeGOJLqT0tburPApOU1dTDEuuy/+eTO0q5jZOYRDWonMqhzgazdVSa5+yokvzJFendo+sXlweJKWbXLE3x2bZMiQ/q1MZ9rSzEjUW6RrLZZLfY6R49Il5fmHTKjdt9sLZPfHd+5Rd8TWpZ+f5c6SyWnQ46kO9I53Ii631GIDpwziPbzRgveRV0glZOTI0lJSbJ7tydlzKJfd+7c2e9zNFjSNL5LLrnEfD18+HApKiqSyy67TP74xz/6/SBSU1PNrTZdN1IfnJ44kXx9i76+7ot1q09BqQ6/Br99K/jS8uM3ndRJJvSPbFW7aUOzZe2uPHN/1upCuaRj01PXFm4qMgGHmjwwKyyfZSCfVXO0yUyWkT3SZdnWEtl5sEI25ZVL/06k90Ur61yxw88aRBfOG3DOIJ5+1iQG8fq2+W3qcDhk9OjRMmvWrBrRqX49YcIEv88pLi6u82Y1GFNMjm85WiAimGv39plJMqJHukzqnyk3n9RJ3rmiT8SDKHXU4FbeggpfrCqQSisSitOy540356V6HwAAgO0CKaUpd6+88oq8+eabppz55ZdfbkaYtIqfuuCCC2oUozjllFPkhRdekHfeeUdyc3Pls88+M6NUutwKqBB6ngIRga9/8ZE58vjZ3eXO07qaUSDt5WQHrTOSZGwfT2phfmGFfLe1pEnbKSqrlKVbPM/NyUqWQV1iZ/6JBoVWzKzNk/kDBQAAgM1S+9RZZ51lij7ceeedsmvXLhk1apTMnDnTW4Bi69atNUagbr/9djMMqP/u2LHD5FVqEPXAAw9E8F3EPm1o+/ysPFP6vKF4Si/ANY3PaoBrR9OGtpKFGz29nz5fdcjbiDYY3+YWi7PS7e0dlRhD84jaZibL8B7ppkfYjv1O2ZxfLn2aMZcMAAAgVtgqkFJXXXWVudVXXMJXcnKyacarN4SPjijpHCftI6Uhg79gygoldD27jED5c0S/TBPsaVA4d12hXD3NJemOxKan9fk0so0V2pxXAymrOS+BFAAAgM1S+xA9dI7T3ad3MUGIL2swRpfr43aYC9UQDfKsEbNSp1vmbwhuHpD21Ppmk2dEKzs9UYZ3j71qaFo8w8I8KQAAAA8CKTSZBkmvXdKrRhNXuxWUCMSxQ6rL3s9aGXjvALVkc7EJwJS+36TE2Enrs7TPSpah3TzV+rbsLZct+dUNrQEAAOIVgRSaxbcZrF5s262gRCCGdU+TTq09Wa5LtxTL3sKKgJ87b331CNbkGKrW5y+9z8KoFAAAAIEUmqm80uW9nxJFwZMvLQ5hjUppBfQvVwc2KlVR6ZYFGzxpfRmORDm8V+yl9flL79O5ZAAAAPEuOq98YRvlFdWlJhxJ0ZvWNm1IK+/9WasCC6RWbC8xzYnVuL4ZUTUKF6yO2SkyuIsnvU8b8+7YXx7pXQIAAIio2L3yQ/gDqeToDaS6t3N4+z9t3FMmuXmNzwOaG6NNeOtDeh8AAEA1Aik0i9U/SaVE8YiUmuZTdOLzRopOuNxu7/wofd9j+3oa+8ayGtX71pLeBwAA4huBFJrFGSMjUuqowa0kqeo74ovVh6RSJ0zVY82PpbKvqNLcH907w8yRinVd2qRI/06eUbv1u8tk5wFnpHcJAAAgYmL/6g8tqrwydgKp1hlJMraPZ2Rpb2GlfLfV04TWn7m+1fpisAlvIOl9FJ0AAADxjEAKIZsjFe2pfWra0OqiE5+vOuR3HbfbLfPXe6r1aduoI/rFflqfhXlSAAAAHgRSaJbyiury57FQtU6DoszURO+IS0l59fuz5OaVy49VaW0je6RLdnqSxAstytG3g8PcX7OzVPYcIr0PAADEp+i/8kVExVKxCSsYnDrIk75W6nTL/A2FDab1TYqjtD4LPaUAAAAIpNBMsTRHyjJtaHX1vll+qvfNi7Oy57VNHVSd/jiH5rwAACBOMSKFZomVhry+hnZLk06tk839pVuKZW9hhfcxbUSbm+9pRjuka5q0z/KsF096tndIr/ae9L6VO0olv6D6+AAAAMQLAik0S6w05PWVmJAgx1b1lNIK6F+urh6VivfRKH9FJ6x+WgAAAPGEQArNEmtzpCzThvhU71tZXb1vblW1PjVpQPxU66ttStU8MkUZdAAAEI8IpNAssdSQt3Z1ukFdPM1nN+WVS25emeQVOE2lOqWV67q29aS3xaPeOQ7p3jbF3F+xvUT2F5HeBwAA4guBFJolFotNWKZVpfepez/cKTe9s8P7dTz1jvInISHBW71P0x/n+YzUAQAAxAMCKYSwIW9snU5WPym1Y7/T2ztK/XvpAVngpzR6vKb3zVlXt7ohAABALIutK19EuCFv7IxIaZD02Izd9T5eUu6Wuz/YGdfBVP+OqdK5qrrhd1tL5GBxZaR3CQAAIGwIpNAssVhsQoPDhoIoZb1rXc83mIy39L4pA1t50/v8NS8GAACIVQRSaJZYnCP19dpCKSxzeYOl+ujjup6uH69qpvfF73EAAADxh0AKzRKLDXnnry+UhADfiq6n68erQZ1TpUMrT3rfsi3FUlBKeh8AAIgPBFJollgsf36o1CXuxoajquh6un688qT3eUalKl06t4zqfQAAID4QSCFkc6RiJZDKTksMakRK149npPcBAIB4FN9XgAhpal9yjKT2TRyQFdSIlK4fzw7rmibts5LM/aWbi6WojPQ+AAAQ+wikEJJiE1qxLzHQYRybmzooS7JSE6Wxd6OP63q6fjxL9GnOqyOU32wkvQ8AAMQ+Aik0i1X6O1ZKnytHcqLcdFInc7++d2Ut1/V0/XhnlUFXVO8DAADxgCtAhGREKlbmR1km9M+Su0/vIpmpnm8Ra7DN+leX6+O6HkSGdkuTNhme9L5vc4ulpDx+C3AAAID44KlbDDSzal8sjUhZNEh654oM0ydKS5xrdT4tLKFzojSdj5GoakmJCTJ5QJb857uDZt7cok1FcuTg6lEqAACAWEMghZBU7Yu1ESmLBkvThmabGxqv3qeBlJXeRyAFAABiGal9CEnVvlhpxoumG9EjXbLTPT9SvtlUJKVO0vsAAEDsIpBCk7nd7upAKkZHpBBcet+kqlLwZU63LM4t5vABAICYRSCFJtOCfVa7pRQCKZjqfdXFN+asK+CYAACAmEUghWbPj4rVYhMI3qieGdIqzfNjZeGGIm95fAAAgFhDIIUm871IpoIdVHJSgkzon2nulzjdsmQz6X0AACA2EUihyaz5UYpiE/DbnHdtIQcGAADEJAIphCS1j2ITsBzeK10yHJ4fLQs2FtU4TwAAAGIFgRRCMyJFsQl4z4VEb3pfUZlLlm0hvQ8AAMQeAik0GcUmEFj1PtL7AABA7CGQQpMxRwr1Gd07Q9JSPJUc568vlArS+wAAQIwhkEJIAin6SMFXakqijO/nSe8rKHXJd9tI7wMAALGFQApNVl5J+XMEmN5H9T4AABBjCKTQZE7fESka8qKWsX0yJbWqCMm8DUVS6aJ6HwAAiB0EUmiycsqfowHpjkQZ29eT3newuFJWbC/heAEAgJhBIIUmo9gEGkN6HwAAiFUEUghJah99pOCPFpyw0j7nrS8kvQ8AAMQMAik0Gal9aEyGI1HG9Mkw9/cVVcqqH0s5aAAAICYQSKHJaMiLQJDeBwAAYhGBFELTR4qqfajHhP6Zklz1k2bu+kJxuaneBwAAoh+BFEJTbMK6UgZqyUxNktG9Pel9+QUVsnYn6X0AACD6cfWLEDXk9RQUAPyZTHNeAAAQYwik0GQ05EWgJvTPkqSqnzZz1hWKm/Q+AAAQ5Qik0GRU7UOgstOTZFRPT3rf7kMVsn53GQcPAABENQIphKaPFMUm0Aiq9wEAgFhCIIUmY0QKwZg4IFMSq6bSkd4HAACiHYEUQlS1j2ITaFibjGQZ0SPd3P/xgFM27SnnkAEAgKhFIIUmoyEvmpPe9/W6Ag4gAACIWgRSaDIa8iJYkwZkiTV2OWct1fsAAED0IpBCk5VXePpIpSQlSEICqX1oXLusZBnW3ZPet32/Uzbnk94HAACiE4EUml1sgvlRCMaUQdXpfVp0AgAAIO4CqR07dsjf//53efrpp2X79u1mWWVlpezbt8/8i/iYI0XpcwRj8oDqQGougRQAAIinQMrtdsv1118vffr0kXPPPdfcX7dunXmssLBQevfuLc8880yo9xU27SOVQsU+BCGnVbIM6Zpm7mtq39a9pPcBAIA4CaQee+wxMwp14403ymeffWYCK0vr1q3l5z//ufzzn/8M5X7CxsUmGJFCsCb7VO9jVAoAAMRNIPXKK6/IBRdcIA8++KCMGjWqzuMjRozwjlAhdjFHCqEog848KQAAEDeB1LZt22TixIn1Pp6ZmSmHDh1qzn7B5nQU0hqRIrUPwerUOkUGdU419zfuKZMd+0nvAwAAcRBIdezY0QRT9VmyZIn07NmzOfsFm6uqfO4tfw40Z1SK9D4AABAXgZTOgXrxxRdl06ZN3mVWH6H//e9/8sYbb8gZZ5wRur2EbXtIKUcSVfTRvHlSpPcBAIBo06Qr4HvuuUe6dOli5kfpXCkNoh555BGZPHmynHjiiWaO1G233Rb6vYVtWGl9ij5SaIqubR3Sv6MnvW/drjLZddDJgQQAALEdSGllvoULF8rNN99sekmlpaXJV199JQcOHJC77rpL5syZIxkZGaHfW9iuh5QikEIomvOS3gcAAKJJclOfmJ6eLrfffru5Ic4DKeZIoRnzpF6fs9fcn7O2UH45ti3HEgAAxO6I1DHHHCOzZs2q9/Evv/zSrIP4SO2jah+aqns7h/TJcZj7q3eWSl4B6X0AACCGA6nZs2fL7t276318z549JtUPcTJHihEphCy9r4hjCQAAokKTy61ZVfr82bBhg7Rq1aqpm0YUNeNVjEghdM15CziYAAAgtuZIvfnmm+Zmuf/+++WVV16ps54WnPj+++/lpJNOCt1ewt7lz5Mpf46m65WTKj3apci2fU5Zub1U9hZWSPusJk/fBAAACIuAr4CLi4slLy/P3FRBQYH3a+uWn58vqamp8rvf/U7+8pe/tOR+w0bFJmjIi+aaMsgzgq1n1bz1hRxQAABgewH/2ffyyy83N9WnTx95+umn5dRTT23JfYONMUcKoU7ve3vBPm9z3lMPb8MBBgAAttaknKzc3NwWC6Kee+456d27t+lNNX78eFm0aFGD62sq4ZVXXmkaBOto2MCBA2XGjBktsm+oRkNehFLfDg7p2ibF3F+xrUT2F1VwgAEAgK01eyKCpvgdPHhQXK7qOTOWnj17BrWtd999V66//np58cUXTRD11FNPyfTp02Xt2rXSsWPHOuuXl5fLcccdZx57//33pVu3brJlyxZp04a/Zrc0GvIilLR4jVbve/eb/eJyi8zfUCQnj2zNQQYAALEXSL3wwgvy5JNPyqZNm+pdp7KyMqht6vYuvfRSueiii8zXGlB98skn8tprr8ktt9xSZ31dvm/fPpk/f76kpHj+mq2jWQhzHynKnyNE6X0aSFnNeQmkAABAzAVSGuBoOp2OFv3mN7+RP/7xj3LdddeZdLw33nhDOnXqJNdcc01Q29TRpSVLlsitt97qXZaYmCjTpk2TBQsW+H3ORx99JBMmTDD78uGHH0qHDh3kV7/6lfzhD3+QpKQkv88pKyszN8uhQ4fMvzqi5m9UraXpa7rd7oi8dn37Yt0CrdqngVRj6yO0Av2cokn/jg7plJ0suw9VyPKtxXKwuEKy0/1/HyN41vkSqZ91iE52+h2F6MA5g2g/b4LZhyYFUs8884wJoj799FPZu3evCaROPvlkOeaYY+Tmm2+WMWPGmOXB0Ip/OoKlQZgv/XrNmjV+n6OjYV988YWce+65Zl6U9q+64oorxOl0yl133eX3OQ899JDcc889dZZr1cHS0lKJxIelqZF68mjgGEnOSqeUHSyThOQEKU8sb3DdwoLqYLSypFQKPXUCECZucUtpYalIgv5Xf0+3aDO+p0M++qHCpPd9+d1eOXZgRqR3KWY4XU6pKK6Q/Lx8SU1JjfTuIErY6XcUogPnDKL9vNFpSy0aSG3cuNGMAikrpU5HlFTr1q3lkksukeeff15uuOEGaemDrvOjXn75ZTMCNXr0aNmxY4c89thj9QZSOuKl87B8R6R69OhhRrOys7Ml3PQ96PwQff1InzhlFWWyw7VDMhwZ4khyNLhugqM6kMpukyFZ7bjgDSczEuUWyWqb1WBz7Ghz7Mhk+eiHYnP/2x0V8rMjqpv1ovnf36XOUsnpkCPpjnQOJ6LudxSiA+cMov280Qy7Fg2kNFiqqPBU1dLgIyMjQ7Zt2+Z9vFWrVrJr166gtpmTk2OCod27d9dYrl937tzZ73O0Up8Gcr5pfIcddph5bQ3sHI66wYBW9tNbbfqhReqD0xMnkq9v0dfXfbFuDSn36SOVmuJ5HsIr0M8qmgzukiYdWiVLXkGFLNtSLEVlLslKI70vFKxzxQ4/axBdOG/AOYN4+lmTGMTrN2lPhw0bJt9995336yOOOMIUn9DRIA2oXnrpJVOGPBga9OiI0qxZs2pEp/q1zoPyZ9KkSSadzzeXcd26dSbA8hdEoYWq9lFsAiH8ITp5oGcUSqfhLdxYxLEFAAC21KRA6rzzzpMffvjBW7RB5xytXr3alDvXqnlarvz+++8PeruacvfKK6/Im2++abanDYCLioq8VfwuuOCCGsUo9HGt2nfttdeaAEor/D344IPetEO0HKr2oSWr91m0OS8AAIAdNSm1TwMbK7ixRoZWrlwpH3/8sUmzO/7444MekVJnnXWWKfpw5513mvS8UaNGycyZM70FKLZu3VpjuE3nNv33v/81FQNHjBhh+khpUKVV+9CynD7lzx3JsZNahsgb0i1N2mUmyb6iSlmcq+l9lZKZSnofAACIsYa8lr59+5ogxpKbmyt9+vQJejtXXXWVufkze/bsOss07W/hwoVBvw6ax3eOFIEUQimxKr3vo2UHTQrpok3FcvRhrTjIAADAVkI+m+v77783vZwGDRoU6k3DRkjtQ9jS+9YGXoYUAADAliNSmr6nRSW0/Hnbtm3ljDPOkNNPP908tnTpUrn99ttNqp1W0tN5VIiTYhOk9iHEhnVPl9YZSXKwuFIW5RZLSblL0h1UmgMAAFEYSGn6nDbc9W1a++6778qTTz5pSqHrvCQte37TTTeZFD+tnIfYxYgUWlJSYoJMHpApn3x3yJxr3+YWydRBpPcBAAD7CPhPvPfee69pUPXpp59KYWGhrFixwpQr18IQVpPbzZs3y8MPP0wQFQfKK6tLzqdQ/hwtYMrA6sBpzlqq9wEAgCgNpL755htTVnz69OmmAe/QoUPNaFRBQYFcc8018uijj5pGvYivqn2a1hdLDWFhHyN6pEt2uudH1DebiqTUWR28AwAARE0gdeDAgTolza2vNeUP8Vm1j2a8aCnJSQkysb+n6ESp021KoQMAAERdIOV2u02PKF/W15ryh/gckSKtDy1pyiCa8wIAgBio2jdjxgzTKNdSXFxs0rree+89Wb58eY11dbk2ykVsF5ugYh9a0qieGZKVmiiFZS75ZmORlFe4xJFM9T4AABBlgdTbb79tbrW99NJLdZYRSMVHal8Kpc/RgnTE84j+mfL5ygIpLnfJ0i3FckS/6lEqAAAA2wdSubm5LbsniM4RKSr2IQzNeTWQsqr3EUgBAICoCqR69erVsnuCqKHz5ayGvKRZoaWN7p0hGY5EMyK1YEOROfeYmwcAACKNyQYImhVEKS5o0dI0WB/fL9Pc17lSy7dSvQ8AAEQegRSaFUhRbALhSu+z0JwXAADYAYEUmjw/ShFIIRzG9smQtBRP4+d56wulwieYBwAAiAQCKTRvRIpiEwiD1JREGd/Xk95XUOqS77eVcNwBAEBEEUihWSNSzJFCZJrzeqr4AQAAxEQgVV5eLkVFRaHcJOweSNFHCmEytk+mpFadb3PXF0mli/Q+AAAQZYHUO++8I9ddd12NZffcc49kZWVJmzZt5PTTT5fCwsJQ7SNs2oxXMUcK4ZLuSDRzpdTB4kr5YTvpfQAAIMoCqSeeeKLGyNP8+fNNIDV9+nQTYM2cOVMeeOCBUO4n7FpsIonsUITPlEGtvPfnruOPNQAAIHKadBW8ceNGGTFihPfrt99+Wzp37iwffPCBPProo3LllVfKP//5z1DuJ2zEWeny3mdECuE0rm+Gd17enHWF4nKT3gcAAKIokCorK5O0tDTv1//73//kxBNPlOTkZPP1kCFDZPv27aHbS9gKxSYQKZmpSTK6tye9b19RpazeUcqHAQAAoieQ6tOnj3z++efm/uLFi2XDhg1ywgkneB/fvXu3mS+F2ERDXtilOe/XpPcBAIBoCqR++9vfyj/+8Q+T3nf88cdL9+7d5ac//an38Xnz5snQoUNDuZ+w7RwpT5oVEC5H9M+U5KqfXKT3AQCAqAqkrr76annppZekX79+8rOf/cyk9qWnp5vH9u3bJ7t27ZJzzz031PsKm6D8OSKpVVqSHN7Lk96XX1Aha3eW8YEAAICw80xqaoJLL73U3Gpr166dSfdDfKT20ZAXkWrO+21usbc572Fdq+dsAgAAhEPIale73W754osv5NNPP5WCgoJQbRZ2T+2jIS8iYGL/LElMqE7v058/AAAAtg+k/vjHP8rRRx/t/VovYnSu1HHHHScnn3yyDB8+3JRIR2yiIS8iLTs9SUb19KT37T5YIet3k94HAACiIJDSHlHjxo3zfv3+++/LrFmz5P7775f//Oc/UllZKXfffXco9xM2Ul7h00eKhryIYHqfRUelAAAAbB9I7dixQ/r37+/9+l//+pfpHXXrrbfKSSedJJdffrnMnj07lPsJG6H8OexgYv/M6vS+taT3AQCAKAiktPGuNuW10vp0NMq3j1SnTp0kPz8/dHsJW3H6zJGi2AQipW1msgzv4akW+uMBp+TmlfNhAAAAewdSw4YNk7/97W+yf/9+ef3112Xv3r1mbpRly5YtkpOTE8r9hI0wRwp2bM5Leh8AALB9IHXnnXfK8uXLTbCkJdAnTZpUo/jEJ598ImPHjg3lfsJGqNoHu5g0IEusltAEUgAAwPZ9pLQ639KlS+Wzzz6TNm3ayFlnneV9TEeppk6dahr1Ig4a8iZZl7FA+LXPSpah3dLkhx2lsnVvuWzJL5NeOal8FAAAwL4NebW4hN5qa9u2rfzpT39q7n7Bxig2AbtV79NAyhqVIpACAAC2b8i7cOFCeeihh+S6666T9evXm2XFxcVmtKqwkHLEsYoRKdgtvc+i1fsAAABsG0iVl5fLz3/+czM3Spvz/vnPf5Zt27Z5NpiYaJrzPv3006HeV9hEeaVPH6nkZsXiQLN1zE6Rw7qkmfu5+eWybR/V+wAAQMtr0lXwHXfcYRrvvvDCC7J27VpTAt2SlpYmZ5xxhnz44Yeh3E/YsPy5zo4ijoLdmvPOpTkvAACwayD197//3TTdveyyy6Rdu3Z1Hj/ssMNk06ZNodg/2HiOlCM5QRISKDaByJvsWwad9D4AAGDXQGrPnj0yfPjweh9PSkoyc6UQ23OkqNgHu+jcOkUGdvZU69uwp0x+3E96HwAAsGEg1aNHD1mzZk29j8+bN0/69+/fnP1CFDTk1REpwI7NeUnvAwAAtgykfvWrX8lLL70kCxYs8C6zUrxeeeUV+cc//iEXXHBB6PYS9hyRIpCCXdP7mCcFAADs2EdKK/Vp6XNtvKvzoTSI0hLo+/btk+3bt8tJJ51kvkZsB1IOmvHCRrq1dUi/jqmycU+ZrN1VJrsPOqVT65RI7xYAAIhRTRqRcjgcMnPmTHn99delb9++MnjwYCkrK5MRI0bIG2+8IR9//LGZJ4VYLzZB6XPYd1Rq7np6SgEAAJuNSCkdhTrvvPPMDfFDS91bgRTFJmDHeVJvzt3rrd73izFtI71LAAAgRjVpSEFT+L7//vt6H1+xYoXs37+/OfsFm7KCKEWxCdhNz/YO6ZXjMPdX/Vgq+QUVkd4lAAAQo5oUSOn8J+0hVZ/f/va3cuONNzZnv2Dz+VGKOVKwffU+0vsAAICdAqkvvvhCTj311HofP+WUU+Tzzz9vzn4hCgIpqvbB7oEUzXkBAICtAqm8vDzJycmp9/H27dubpr2IPaT2we565zikeztPtb4ftpfIvkLS+wAAgE0CqS5dusiyZcvqfXzJkiXSoUOH5uwXbN6MV1FsAnakhXCsUSk9W+eR3gcAAOwSSJ122mny6quvykcffVTnsQ8//NCURT/99NNDsX+wGeZIIRpMHdjKe5/mvAAAwDblz++++24zB0qDpZEjR8qwYcPM8h9++EG+++4706T3nnvuCfW+wm6BFH2kYFN9Ozqka5sU+fGAU77fViIHiiukTUaTuz0AAACEZkSqdevWsnDhQrn99tvF6XTK+++/b256/4477pBvvvlG2rRpw+GOQcyRQrSl97ncIvPXF0V6lwAAQIxp8p9oMzMzzagTI0/xpbzC5b3PHCnY2ZRBWfLuIk8/u7nrCuWkka0jvUsAACDeR6QqKirk0KFD9T6uj+k6iD2MSCFaDOiUKp2yPX8rWra1WA6VVEZ6lwAAQLwHUtdcc41MnDix3scnTZokN9xwQ3P2C9HQRyopIaL7AjSW3je5Kr2v0iWycCPpfQAAIMKB1MyZM+WXv/xlvY/rYzNmzGjOfiEqik0QSCGamvMWRHRfAABAbGlSIPXjjz9Kt27d6n28a9eusmPHjubsF2yK1D5Ek8Fd0yQny5Pet2RzsRSVkd4HAAAiGEi1b99e1q5dW+/jq1evluzs7ObsF2yKhryIJok+6X1aJ2XBBtL7AABABAOpE044QV566SVZtmxZnceWLl0qL7/8spx44omh2D/YDA15EY3V+yw05wUAABEtf37fffeZeVLjxo2TU089VYYOHeptyPvxxx9Lx44dzTqI7fLnNORFNBjSNU3aZSbJvqJKWZxbLMXlLslwNOlvSAAAAM0LpHQO1OLFi+WWW26RDz/8UD744AOzXNP5zj33XHnwwQfNOog9zJFCtElKTJBJA7Lk4+UHzfn7zcYiOfqwVpHeLQAAEK8Nebt06SJvvvmmuN1uycvLM8s6dOhgSg4jdjkpf44oTe/TQMpK7yOQAgAAEQukLBo4aSof4q/YBOXPES2Gd0+X1hlJcrC4Ur7dVCQl5S5JJ70PAACEO5C69957Awqw7rjjjqZsHjZGQ15EbXpf/0yZ8f0hKatwy7e5RTJ1EOl9AAAgzIHU3Xff3WAApel+BFKxiYa8iOb0Pg2k1Nx1hQRSAACgWZpUusrlctW5VVRUyMaNG+W6666TMWPGyJ49e5q3Z7Alik0gWo3skSGt0jw/8rTgRJmzugIlAABAsEJWAzgxMVH69Okjjz/+uAwYMECuvvrqUG0aNkJDXkSr5KQEmdjf01OqxOmWJZuLI71LAAAgirVIM5WpU6fKjBkzWmLTiDD6SCGa0ZwXAADYOpDSHlM6QoXYLn/uSKLUPaLLqJ7pkpnq+dm0YENRjT8MAAAAtHixib/+9a9+lx84cEC+/vpr+de//iWXXHJJUzaNKJkjlZigldAivTdAcBzJiTKhX6Z8vqpAistdsmxLiYzvl8lhBAAA4Qmkfv3rX9f7WE5Ojtxyyy1y5513NmXTiJKqfSnJCTRfRtSm92kgpeasKyCQAgAA4QukcnNz6yzTcudt27aVVq3ozRIPxSZI60O0Gt07Q9JTEkzBifnri8R5vFtSSFMFAADhCKR69erVlKchlkakuPBEFKf3HdE/U75cXSiFZS75bmuxjOlDeh8AAAhDIFXbmjVr5L333pOdO3fKoEGD5KKLLpLs7OxQbBp2HZFKptAEoteUga1MIKXmrCskkAIAAEELuFzAs88+KwMHDpT8/Pwayz/++GMZNWqU3HXXXfLiiy+ahrw/+clP6qyH2Krap3/VB6LVmD4Zkpri+WPAvPWFUumqrkYJAAAQiICvhj/66CPp16+fKSZhqaioMNX5kpKS5PXXX5cVK1bIww8/LFu2bJEHHngg0E0jCqv2kdqHaJaWkijj+3rS+Q6VuOT7bSWR3iUAABCrgdSqVavkiCOOqLHsyy+/lLy8PDMKdeGFF8rQoUPl5ptvljPPPJOGvDHI5XZ7AymKTSDaTR6Y5b2v6X0AAAAtEkjt3btXevToUWPZrFmzTLW+008/vcbySZMmydatW6WpnnvuOendu7ekpaXJ+PHjZdGiRQE975133jH7c9pppzX5tRFgM17mSCHKjeub6T2P560jvQ8AALRQINWpUyfZtWtXjWVz5syRjIwMGTlyZI3lDofD3Jri3Xffleuvv97MuVq6dKnZ9vTp02XPnj0NPm/z5s1y4403ypQpU5r0ugi80ITVRwqIZhmORBnTO8Pc319cKSt3lEZ6lwAAQCwGUmPGjJE333xTCgo8jSxXrlxpRoo0yElOTq5Txa979+5N2qEnn3xSLr30UlP5b8iQIaaAhQZrr732Wr3PqayslHPPPVfuuece6du3b5NeF0GOSFH+HDHSnNeizXkBAABCXv5cR4jGjh0rAwYMMHOhlixZYtLobr311jrrfvDBB3LMMcdIsMrLy812fbeZmJgo06ZNkwULFtT7vHvvvVc6duwoF198sRkla0hZWZm5WQ4dOmT+dblc5hZu+pputzsir13fvli32soqqvdRi034Wwfh0dDnhMCN75shKUlaREVk7rpC+d3ROZKYEJujrdb5EqmfdYhOdvodhejAOYNoP2+C2YeAA6nhw4fLF198Yarxbdq0yRSe0FS60aNH11hv9uzZZgTpjDPOCG6vRUzJdB1d0jRCX/q1jnL5M3fuXHn11Vdl+fLlAb3GQw89ZEauatOiGaWlpRH5sA4ePGhOHg0aI8lZ6ZSyg2WSkJwg5YnldR4/cKDCez+hskIK9zFBP1Lc4pbSwlKRBP0vNi/8w2VE11RZsq1M9hZWytI1+2Vwp6alJdud0+WUiuIKyc/Ll9SU1EjvDqKEnX5HITpwziDazxsr+y7kDXknTpwon3zySYPrHHXUUaYMerje6Pnnny+vvPJKjbLsDdHRLp2D5TsipUU0OnToEJEmwnri6Mievn6kT5yyijLZ4dohGY4McSTVvZhMqageycvIdEhWu+q0KISXGYlyi2S1zTLnD5ru6KEuWbLNMwdzya5KGXNYbJ7X+v1d6iyVnA45ku5Ij/TuIErY6XcUogPnDKL9vNFidy0SSLU0DYa0J9Xu3btrLNevO3fuXGf9jRs3miITp5xySp3hOJ23tXbtWtP7yldqaqq51aYfWqQ+OD1xIvn6Fn193RfrVpumP1lSkz3rInIa+qwQuAkDsiTpf3uk0qXzpIrkt0d3iMljap0rdvhZg+jCeQPOGcTTz5rEIF7fVr9NtdKfpgpqWXXfwEi/njBhQp31Bw8ebEa/NK3Pup166qly9NFHm/u1y7WjeZx6pWl9VhSbQIxolZYkh/fyVO/LK6iQtbuqR14BAACiYkRKadqdNvfVKoHjxo2Tp556SoqKikwVP3XBBRdIt27dzFwnHXobNmxYjee3adPG/Ft7OZqv3KdqnxabAGLFlIFZsji32Nyfs7ZQBncJfFgfAADEJ9sFUmeddZYp/HDnnXeavlWjRo2SmTNnegtQaKPfSA/5xasagRR9pBBDJvbPkqf/t0dcbk/1vkuObB+T6X0AACCGAyl11VVXmZs/WhWwIW+88UYL7RV8G/I6CKQQQ1pnJMnIHumybGuJ7DzolI17yqR/J0alAABA/RjaQcBoyIv4ac5LaX8AANAwAik0aUSK1D7EmkkDsrwdub5eW0izYwAA0CACKTRpjhRV+xBr2mYmy/Aenv5KO/Y7ZXN+3abUAAAAFgIpBMxZ4VP+PJlTB7FZvc+i1fsAAADqw9UwAkaxCcS6yb6BFPOkAABAAwikEDCn7xwp+kghBrXPSpah3TzV+rbsLZct+TTnBQAA/hFIIWDMkULcpfcxKgUAAOpBIIWA0ZAX8Zbep815AQAA/CGQQsCYI4V40DE7RQZ38aT3bcorl+37qN4HAADqIpBCwGjIi3hBeh8AAGgMgRQCRkNexAvS+wAAQGMIpNC0PlJJnDqIXV3apEj/Tqnm/vrdZbLzgDPSuwQAAGyGq2E0rWpfcgJHDnGT3kfRCQAAUBuBFAJGsQnEE+ZJAQCAhhBIIeiGvIkJIkn6PyCGdW/nkL4dHOb+mp2lsucQ6X0AAKAagRSCTu1LIa0PcYKiEwAAoD4EUgg6kHIkMRqF+DB1UCvv/Tk05wUAAD4IpBD0HCkKTSBe9GzvkF7tPel9K3eUSn5BRaR3CQAA2ASBFIKeI0Xpc8Rr0Yl56wsjui8AAMA+CKQQMKeV2sccKcSRKYOqAynS+wAAgIVACgErr2rIm8IcKcSR3jkO6d42xdxfsa1E9heR3gcAAAikEKBKl1uq4ihGpBBXEhISvKNSOiY7b31RpHcJAADYACNSCGp+lKL8OeK5DPqcdQUR3RcAAGAPBFIIOpCi/DniTf+OqdK5dbK5/93WEjlYXBnpXQIAABFGIIWgekgp5kghLtP7Bnp6SrncIvM3UL0PAIB4RyCFoAMpqvYhHlG9DwAA+CKQQvCpfZQ/Rxwa1DlVOrTypPct21IsBaWk9wEAEM8IpBBUDylFQ17Eb3qfp+hEpUtkwQaq9wEAEM8IpBCQcr1yrELVPsQr0vsAAICFQArBz5GiIS/i1GFd06R9VpK5v3RzsRSVkd4HAEC8IpBCQMrpIwVIYkKCt6eUzhtcuJH0PgAA4hWBFAJC1T7AwyqDruaspQw6AADxikAKAaEhL+AxtFuatM3wpPct3lwsJeXV8wcBAED8IJBCQBiRAjySEhNk0oAs7/fFok2k9wEAEI8IpBB0IJVCsQnEOar3AQAAAikExOlT/tyRzGmD+DaiR7pkp3u+D77ZVCSlTtL7AACIN1wRI+iGvIxIId75pveVOd2yOLc40rsEAADCjEAKQZc/dyQncNQQ96ZUlUFXc9YVxP3xAAAg3hBIISDMkQJqGtUzQ1qleX6ELtxQJOUVpPcBABBPCKQQEKr2ATUlJyXIhP6Z5n6J0y1LNpPeBwBAPCGQQkBI7QPqojkvAADxi0AKAaEhL1DX4b3SJcPh+TG6YCPpfQAAxBMCKTQhtY/TBrC+F6z0vqIylyzfWsKBAQAgTnBFjIA4fSbSU/4cqKd639pCDg0AAHGCQAoBYY4U4N/o3hmSluJpCTB/Q6FU+LQKAAAAsYtACgGh/DngX2pKoozv50nvKyh1yXfbqN4HAEA8IJBC8MUmaMgL1EB6HwAA8YdACkGNSCUmiCTp/wB4je2TKalVf2CYt6FIKl2k9wEAEOsIpBDUHClGo4C60h2JMravJ73vYHGlrNhO9T4AAGIdgRQC4qwakSKQAvwjvQ8AgPhCIIXgRqSSOGUAf7TghNUaYN76QtL7AACIcVwVIyCMSAENy3Akypg+Geb+vqJKWfVjKYcMAIAYRiCFgJRXNeSlGS9QP9L7AACIHwRSCCq1L4XS50C9JvTPlOSqn6pz1xWKy031PgAAYhWBFBqlpZwrPQNS4qiaAwKgrszUJBnd25Pel19YIWtI7wMAIGYRSKFRNOMFAjdlUCvvfR2VAgAAsYlACgE341WUPwcadkS/TLGKW85ZVyhu0vsAAIhJBFIIakSKYhNAw7LTk2RUT0963+5DFbJ+dxmHDACAGEQghUYxIgUEh+p9AADEPgIpBDdHioa8QKMmDsiUxKq6LKT3AQAQmwikEHAPKUX5c6BxbTKSZUSPdHP/xwNO2bSnnMMGAECMIZBCUKl9zJECgk/v+3pdAYcNAIAYQyCFgJvxKqr2AYGZNCBLrK5rc9ZSvQ8AgFhDIIXgik3QkBcISLusZBnW3ZPet32/Uzbnk94HAEAsIZBCo2jICzTNlEHV6X1adAIAAMQOAik0ivLnQNNMHkAgBQBArCKQQqNoyAs0TU6rZBnSNc3c35JfLlv3kt4HAECsIJBCUOXPHcmcMkAwJvtU75tLeh8AADGDq2I0ivLnQGjKoDNPCgCA2EEghUZRbAJouk6tU2RQ51Rzf+OeMtmxn/Q+AABiAYEUGkWxCSB0o1Kk9wEAEBsIpBBUQ94U+kgBzZonRXofAACxgUAKjaIhL9A8Xds6pH9HT3rful1lsuugk0MKAECUI5BCo5gjBYS2OS/pfQAARD8CKTTKWVGd2kf5cyAE1fvWFnIYAQCIcgRSaFR5ZXUfKeZIAU3TvZ1D+uQ4zP3VO0tlzyHS+wAAiGYEUmgUVfuA0Kf3zVvPqBQAANHMloHUc889J71795a0tDQZP368LFq0qN51X3nlFZkyZYq0bdvW3KZNm9bg+ggeDXmB0CC9DwCA2GG7QOrdd9+V66+/Xu666y5ZunSpjBw5UqZPny579uzxu/7s2bPlnHPOkS+//FIWLFggPXr0kOOPP1527NgR9n2PVRSbAEKjV06q9GiXYu6v3FEqewsrOLQAAEQp2wVSTz75pFx66aVy0UUXyZAhQ+TFF1+UjIwMee211/yu/9Zbb8kVV1who0aNksGDB8tf/vIXcblcMmvWrLDve6xiRAoInSmDWpl/tYQL6X0AAESvZLGR8vJyWbJkidx6663eZYmJiSZdT0ebAlFcXCxOp1PatWvn9/GysjJzsxw6dMj8q8GX3sJNX9PtdkfktevbF+tWuyFvUqJIYoLUeAyR4e9zQnSYPCBT3l6wz1u975RRrcPyutb5EqmfdYhOdvodhejAOYNoP2+C2QdbBVL5+flSWVkpnTp1qrFcv16zZk1A2/jDH/4gXbt2NcGXPw899JDcc889dZbn5eVJaWmpROLDOnjwoDl5NGiMJGelU8oOlklCcoKUJ5Z7l5eWVZp/UxITpHAfE+TtwC1uKS0sFUnQ/xIivTsIQsckt3TOTpJdhyplxfYS2bHjoLROT2rxY+h0OaWiuELy8/IlNcXTHBiIpt9RiA6cM4j286agoCA6A6nmevjhh+Wdd94x86a0UIU/Otqlc7B8R6R0XlWHDh0kOztbInHiJCQkmNeP9IlTVlEmO1w7JMORIY4kT5lmVSl7zb+pKQmS1a666hgix4xEuUWy2maZ8wfR5cjBZfLuogPicot8ly9y0sissHx/lzpLJadDjqQ70lv89RAb7PQ7CtGBcwbRft7UF0PYPpDKycmRpKQk2b17d43l+nXnzp0bfO7jjz9uAqnPP/9cRowYUe96qamp5labfmiR+uD0xInk61v09XVfrFvthrwpyZ7HYQ/+PitEzzwpDaTUnHVFcvKoNi3+mta5YoefNYgunDfgnEE8/axJDOL1bfXb1OFwyOjRo2sUirAKR0yYMKHe5z366KNy3333ycyZM2XMmDFh2tv4a8jrSOKCHQiFAZ1SpVNrz9+xlm8tlkMlnvRZAAAQPWwVSClNu9PeUG+++aasXr1aLr/8cikqKjJV/NQFF1xQoxjFI488InfccYep6qe9p3bt2mVuhYXM5Ql11b6UZAIpIFR/dbN6Sml63/wN/LwCACDa2C6QOuuss0ya3p133mlKmi9fvtyMNFkFKLZu3So7d+70rv/CCy+Yan+//OUvpUuXLt6bbgOhDaQYkQJCZ8pATxl0q3ofAACILraaI2W56qqrzM0fLSTha/PmzWHaq/hU6XKbv5grByNSQMgM7pIqHVolS15BhSzbUiwFpZXSKq3lq/cBAIAYHZGCfZvxMiIFhDa9b3JVel+FS2ThhiIOLwAAUYRACg1yVjXjVcyRAkLLmiel5q4nvQ8AgGhCIIUGMSIFtJwh3dKkXaYnnW9xbrEUVTW/BgAA9kcghSBGpDhdgJD+APZJ79PvtUWbijnAAABECa6M0aBynbxRhWITQMum981ZW8AhBgAgShBIoUHlPiNSFJsAQm9Y93RpneFJ71uUWywl5dV/vAAAAPZFIIWA50ilJNGQFwi1pMQEmTwg0/v99m0u1fsAAIgGBFIIvNgEfaSAFkFzXgAAog+BFAIuNkEgBbSMET3SJTvd8+P4m01FUuokvQ8AALsjkEKDKH8OtLzkpASZ2N9TdKLU6Tal0AEAgL0RSKFBNOQFwmPKIJ/qfetozgsAgN0RSCHg8ucpSZwuQEsZ1TNDslKr0vs2FtX43gMAAPbDlTEaRLEJIDy0KuaE/p7qfcXlLlmymfQ+AADsjEAKDaLYBBA+k32a884lvQ8AAFsjkEKDaMgLhM/o3hmS4fD8WF6woajGHzIAAIC9EEgh8Ia89JECWpQjOVHG9/Ok9xWWuWT5VtL7AACwKwIpNMjp25A3KYGjBbSwKT7pfXPWUr0PAAC7IpBC4Kl9jEgBLW5snwxJS/H80WLe+kKpIL0PAABbIpBCECNSnC5AS0tNSZTxfT3pfQWlLvl+WwkHHQAAG+LKGA0qr/TpI8WIFBCB5rwFHHUAAGyIQAqBF5tgjhQQFmP7ZEpq1R8u5q4vkkoX1fsAALAbAik0iIa8QPilOxLNXCl1sLhSfthOeh8AAHZDIIUG0ZAXiIwpg1p578+hOS8AALZDIIUG0ZAXiIxxfTO86bRz1xWKy016HwAAdkIghYCr9lFsAgifzNQkGd3bk963r6hSVu8o5fADAGAjBFIIaI5UcqJIYgINeYFINef9mvQ+AABshUAKAc2RcmgkBSCsjuifaf6IYc2TIr0PAAD74OoYAY1IkdYHhF+rtCQ5vJcnvS+/oELW7izjYwAAwCYIpBBQQ14HPaSAiKA5LwAA9kQghcBGpAikgIiY2D9LEhOq0/vcVO8DAMAWCKQQUPlzRzKFJoBIyE5PklE9Pel9uw9WyPrdpPcBAGAHBFIIqPw5gRRgl/S+Qj4KAABsgEAK9ap0ucVV1UaKOVJA5Ezsn1md3reW9D4AAOyAQAqNzo9SzJECIqdtZrIM75Fu7v94wCmb8sr5OAAAiDACKQQUSJHaB9inOS/pfQAARB6BFBotfa5SaMgLRNSkAVlilXyZs7aATwMAgAgjkEKjhSYUc6SAyGqflSxDu6WZ+9v2OWVLPtX7AACIJAIpNFr6XJHaB0Qe1fsAALAPAinUi2ITgP3S+yxavQ8AAEQOgRQCS+2jIS8QcR2zU+SwLp70vtz8ctm2j+p9AABECoEU6kVqH2Dv9L65NOcFACBiCKRQL6fPHCn6SAH2MNm3DDrpfQAARAyBFALsI8WpAthB59YpMrBzqrm/YU+Z/Lif9D4AACKBq2PUq7zCp49UktXBBoCdmvOS3gcAQGQQSKFezJECoiC9j3lSAABEBIEU6kVDXsCeurV1SL+OnvS+tbvKZPdBZ6R3CQCAuEMghXoxIgVER3ofo1IAAIQfgRTqRUNeIDrS+5gnBQBA+BFIoV405AXsq2d7h/TKcZj7q34slfyCikjvEgAAcYVACgH1kXIkU7UPsHX1vvWFEd0XAADiDYEUApojlZLEqQLYep4UzXkBAAgrro4RUB8pRqQA++md45Du7VLM/R+2l8i+QtL7AAAIFwIp1ItiE4C9JSQkeEeldPx4Hul9AACEDYEU6kX5c8D+pg5s5b1PGXQAAMKHQAr1oiEvYH99OzqkaxtPet/320rkQDHpfQAAhAOBFOrFiBQQXel9LrfI/PVFkd4lAADiAoEU6kUfKSA6TBnkU71vHWXQAQAIBwIpBFRsIjmJPlKAXQ3olCqdspPN/eVbi+VQSWWkdwkAgJhHIIVGG/KmJCVIYgKBFGDn9L7JVel9lS6RhRtJ7wMAoKURSKHROVIaSAGIpua8BRHdFwAA4gGBFBptyEszXsD+BndNk5wsT3rfks3FUlRGeh8AAC2JQAqNzpFiRAqwv0Sf9D79G8iCDaT3AQDQkgik0OgcKUakgOhA9T4AAMKHQAqNzpFyMEcKiApDuqZJu8wkc39xbrEUl3vScwEAQOgRSMEvt9vt7SPFiBQQHZISE2TSgCzviPI3VO8DAKDFEEjBLy2h7KpqI5WSTNU+IFqQ3gcAQHgQSKHBtD5FsQkgegzvni6tMzzpfd9uKpIS0vsAAGgRBFJosPS5ciRzmgBRld7XP9PcL6twy7e5VO8DAKAlcIWMBiv2KYpNANGF9D4AAFoegRQa7CGlKDYBRJeRPTKkVZrnx7sWnChzUr0PAIBQI5BCo4EUc6SA6JKclCAT+3uq95U63bJkc3GkdwkAgJhDIIXGU/uo2gdEHdL7AABoWQRS8MvqIaWYIwVEn1E90yUz1fMjfsGGohrf0wAAoPkIpNB4+XNGpICoo9U2J/TzVO8rLnfJ8q2lkd4lAABiCoEUAig2wWkCRHt637z1zJMCACCUkkO6NTRZmbNSPl35o/xv5W7ZV1gmJVV9nNJTkqRdpkOOH9pJThreRdJSPI02/Sl1VsqMFTvNNg4Ul0ubjOCeN/OHH2X7gQOSnVYk5ZXVj3+1pkA6ZSfL1EFZBFVAFBndO0PSkkVKK0RmrymS7fmJ0nPpCjlxWNdGfy4gvlm/F/67cpfkHSiSDm22y/ShnTlvAPCzxkeC2+2O68T5Q4cOSevWreXgwYOSnZ0d9td3uVzy/oJ1cv9nW+RQaYUkiEjtD8Ralp2eLE+eMUqmDelUZzufrdotN7y3XA6VVEhigojLLd5/g31efbJSE+WmkzrJhKpqYIgc/bYt3FcoWe2yJCFBzxCgrgUbCuW+D3eKT3/tgH4uIL419fcJYF3X7NmzRzp27CiJiWS0IPp+1gQTG9jyDH/uueekd+/ekpaWJuPHj5dFixY1uP57770ngwcPNusPHz5cZsyYIdHi89W75Q8fb5QC/ZOxnyDKd1lBSYVc+n+LzYnnS7++7P8Wm8eVFQxZ/wb7vPoUlbnk7g92moszAPam36f6/eobRAXycwHxram/TwAgHn/W2C6Qevfdd+X666+Xu+66S5YuXSojR46U6dOnm79u+DN//nw555xz5OKLL5Zly5bJaaedZm4//PCDREPqxI3vfW/uBzIsaNZxi9z43nLzXGsbGs3rcneIn+d3OyLy2IzdUl776gyAbej3p36fNsTfzwXEt6b+PgGAeP1ZY7vUPh2BGjt2rDz77LPeIeIePXrI1VdfLbfcckud9c866ywpKiqS//znP95lRxxxhIwaNUpefPFFW6f2/Wvpdrn+H9816bkju7eWbm3TZcf+Evlu+8EWf15tN5/USaYNDX8qJDxI7UNDPl95SB5tJJDy93MB8a2pv08AX3pVWVZWKqmpaULmOULxs+ZPZ42U0w/vLuESTGxgq2IT5eXlsmTJErn11lu9yzS/dtq0abJgwQK/z9HlOoLlS0ew/v3vf/tdv6yszNwsepDUgQMHTNAWTh8v3iBSXtxoSp0/yzYWyzIJ3/N86Q/GL77bKYd3dTZzS2hOIFVysETKEsqYI4U6vvguX9zlpeaCJlw/FxB/OG8AtDSdM/XRtxvk6D5ZYQ2kVCBjTbYKpPLz86WyslI6dao5sUy/XrNmjd/n7Nq1y+/6utyfhx56SO655546y3v16tWsfY83W0Xkn5HeCQAAAMS0N/T22/C/bkFBgRmZippAKhx0tMt3BEtHofbt2yft27ePyF/2NerV1MVt27ZFpGogohPnDThnwM8a2BG/nxDt542ORGkQ1bVr10bXtVUglZOTI0lJSbJ7d83cfv26c+fOfp+jy4NZPzU11dx8tWnTRiJNT5pInziIPpw34JwBP2tgR/x+QjSfN42NRNmyap/D4ZDRo0fLrFmzaowY6dcTJkzw+xxd7ru++uyzz+pdHwAAAACay1YjUkrT7i688EIZM2aMjBs3Tp566ilTle+iiy4yj19wwQXSrVs3M9dJXXvttXLkkUfKE088ISeffLK88847snjxYnn55Zcj/E4AAAAAxCrbBVJazjwvL0/uvPNOUzBCy5jPnDnTW1Bi69atNTplT5w4Ud5++225/fbb5bbbbpMBAwaYin3Dhg2TaKBphtozq3a6IcB5A37WINL4HQXOGfCzJor6SAEAAACA3dlqjhQAAAAARAMCKQAAAAAIEoEUAAAAAASJQAoAAAAAgkQgFUHPPfec9O7dW9LS0mT8+PGyaNGiSO4ObE5L/o8dO1ZatWolHTt2lNNOO03Wrl0b6d1ClHn44YclISFBfv/730d6V2BjO3bskPPOO0/at28v6enpMnz4cNNaBKhPZWWl3HHHHdKnTx9zzvTr10/uu+8+oaYZfH399ddyyimnSNeuXc3vIq207UvPF63c3aVLF3MeTZs2TdavXy92RSAVIe+++67pmaWlz5cuXSojR46U6dOny549eyK1S7C5r776Sq688kpZuHChaTrtdDrl+OOPN33WgEB8++238tJLL8mIESM4YKjX/v37ZdKkSZKSkiKffvqprFq1yvRqbNu2LUcN9XrkkUfkhRdekGeffVZWr15tvn700UflmWee4ajBS69Z9JpXBxP80XPmz3/+s7z44ovyzTffSGZmprk+Li0tFTui/HmE6AiUji7oDxzlcrmkR48ecvXVV8stt9wSqd1CFNF+azoypQHW1KlTI707sLnCwkL5yU9+Is8//7zcf//9pkefNjwHatPfQfPmzZM5c+ZwcBCwn/70p6bn56uvvupd9otf/MKMKvztb3/jSKIOHZH64IMPTIaNNRqlI1U33HCD3HjjjWbZwYMHzXn1xhtvyNlnny12w4hUBJSXl8uSJUvMcKX3g0hMNF8vWLAgEruEKKQ/XFS7du0ivSuIAjqaefLJJ9f4uQP489FHH8mYMWPkjDPOMH+sOfzww+WVV17hYKFBEydOlFmzZsm6devM1999953MnTtXTjzxRI4cApKbmyu7du2q8XuqdevWZvDBrtfHyZHegXiUn59vcok1wvalX69ZsyZi+4XooSOYOsdF02+GDRsW6d2Bzb3zzjsmhVhT+4DGbNq0yaRoafr5bbfdZs6ba665RhwOh1x44YUcQNQ7knno0CEZPHiwJCUlmeucBx54QM4991yOGAKiQZTyd31sPWY3BFJAlI4u/PDDD+avfUBDtm3bJtdee62ZV6eFbYBA/lCjI1IPPvig+VpHpPTnjc5ZIJBCff7xj3/IW2+9JW+//bYMHTpUli9fbv7gp6lanDeIVaT2RUBOTo75a83u3btrLNevO3fuHIldQhS56qqr5D//+Y98+eWX0r1790jvDmxO04i1iI3Oj0pOTjY3nVenk3n1vv7VGPCl1bKGDBlSY9lhhx0mW7du5UChXjfddJMZldJ5LFrl8fzzz5frrrvOVJwFAmFdA0fT9TGBVARoesTo0aNNLrHvXwD16wkTJkRilxAFdBKmBlE6MfOLL74wJWaBxhx77LGyYsUK89dh66ajDZpuo/f1jzqAL00Zrt1aQee99OrViwOFehUXF5v53r7054te3wCB0OsaDZh8r481XVSr99n1+pjUvgjR3HMd6tYLmnHjxpnqWVoS8qKLLorULiEK0vk0ZeLDDz80vaSsfGGdiKlVkQB/9FypPY9Oy8lqfyDm18EfHUXQwgGa2nfmmWeaHocvv/yyuQH10d5AOieqZ8+eJrVv2bJl8uSTT8pvfvMbDhpqVJDdsGFDjQIT+kc9LZyl546mg2pl2QEDBpjASnuTaXqoVdnPbih/HkFa+vyxxx4zF8RailhTbbQyCVBfmVB/Xn/9dfn1r3/NQUPAjjrqKMqfo0GaPnzrrbeaRph6MaN//Lv00ks5aqhXQUGBuejVrAlNJ9aL33POOcc0V9VMHEDNnj1bjj76aKlNBxe0xLlm32iPVf3DzYEDB2Ty5MmmbcfAgQPFjgikAAAAACBIzJECAAAAgCARSAEAAABAkAikAAAAACBIBFIAAAAAECQCKQAAAAAIEoEUAAAAAASJQAoAAAAAgkQgBQAAAABBIpACAAAAgCARSAEAYBPPP/+8vPHGG5HeDQBAABLcbrc7kBUBAEDLGjZsmOTk5Mjs2bM51ABgc4xIAQDiSlFRkcSTiooKKS8vj/RuAEDMIZACAATt7rvvloSEBFm3bp2cd9550rp1a+nQoYPccccdookO27Ztk5/97GeSnZ0tnTt3lieeeCKg7eo2r7rqKnnrrbdk0KBBkpaWJqNHj5avv/66xnpbtmyRK664wqyTnp4u7du3lzPOOEM2b95cYz1Nk9NtfvXVV2b9jh07Svfu3Zu0jblz58o111xj3mebNm3kt7/9rQlQDhw4IBdccIG0bdvW3G6++WZzDHy5XC556qmnZOjQoeY9derUyTx///793nV69+4tK1euNPuqr6e3o446yvu4vs7vf/976dGjh6Smpkr//v3lkUceMdu26L7r8x5//HHzev369TPrrlq1KqDjDwAIXHIQ6wIAUMNZZ50lhx12mDz88MPyySefyP333y/t2rWTl156SY455hhzoa9B0Y033ihjx46VqVOnNnoENZB49913TdCiQYDOGzrhhBNk0aJFJvVNffvttzJ//nw5++yzTWCkAcQLL7xgAg8NGjIyMmpsUwMmDYDuvPNO74hUsNu4+uqrTVB4zz33yMKFC+Xll182AZVuo2fPnvLggw/KjBkz5LHHHjP7qcGVRYMmDcguuugi875yc3Pl2WeflWXLlsm8efMkJSXFBD76GllZWfLHP/7RPE8DLlVcXCxHHnmk7Nixw2xLX09f99Zbb5WdO3ea5/p6/fXXpbS0VC677DJzDPUzAQCEmM6RAgAgGHfddZcOubgvu+wy77KKigp39+7d3QkJCe6HH37Yu3z//v3u9PR094UXXtjodnWbelu8eLF32ZYtW9xpaWnu008/3busuLi4znMXLFhgnvvXv/7Vu+z11183yyZPnmz2z1ew25g+fbrb5XJ5l0+YMMG819/97nd1jsGRRx7pXTZnzhzz/LfeeqvGa82cObPO8qFDh9Z4ruW+++5zZ2ZmutetW1dj+S233OJOSkpyb9261Xydm5trtpmdne3es2dPne0AAEKH1D4AQJNdcskl3vtJSUkyZswYk9Z28cUXe5frqI2mz23atCmgbU6YMMGk81l09EXTBP/73/9KZWWlWaapeBan0yl79+41qW76WkuXLq2zzUsvvdTsn69gt6HvSdPmLOPHj6/zXq1j4Pte33vvPZP6eNxxx0l+fr73pu9RR5++/PLLRo+JbmPKlCkmddB3G9OmTTPHpHbq4y9+8QszAgcAaDmk9gEAmkyDHF8aMOgcIK08V3u5BiqBGDBgQJ1lAwcONOlteXl5Jr2upKREHnroIZPCpuluvnOSDh48WOf5ffr0qbMs2G34e69K5yzVXu4792n9+vVmezo/y589e/ZIY3Qb33//fb3BUe1t+Hu/AIDQIpACADRZ7VGe+papUHbb0LlEGgBp8QUdwdLgRUeLdL6Tb/EFf6NPTd1Gfe/L33Lf96rb0iBK54r5E8jIkW5DR7S0kIU/Gmg29n4BAKFFIAUAsBUdfalNqwNq8Qcr6Hj//fflwgsvrFENUIsraGW7QIViG4HQynmff/65TJo0qdEAxzd1sPY2CgsLTSofAMAemCMFALCVBQsW1JijpKXUP/zwQzn++OO9oz/6b+0RrmeeecY7hyoQodhGIM4880yzzfvuu89vjyffwC0zM9NvIKfb0OOi88Rq0/V1OwCA8GJECgBgK1o6fPr06TXKnystO2756U9/Kv/3f/9n0vGGDBliggwd9dFeUIEKxTYCoWXLtWS5zsdavny5CQi13LmOvGkRiaefflp++ctfmnW1AIWWYNcy8lr4QlMCtYz8TTfdJB999JHZ51//+tdmPS3jvmLFCjOypqXba89LAwC0LAIpAICtaOChc5Y0cNq6dasJcrQH04gRI7zraPChI0o670jT8TRtToMgDcACFYptBOrFF180wY/217rtttskOTnZNODVZsb6uhbtc6WNgh999FEpKCgwx0IDKU1r1P5a2qtKg6+//vWvptmxzo3S42QVvgAAhE+C1kAP4+sBANDgHKErr7zSNKsFAMDOmCMFAAAAAEEikAIAAACAIBFIAQAAAECQKDYBALANpu0CAKIFI1IAAAAAECQCKQAAAAAIEoEUAAAAAASJQAoAAAAAgkQgBQAAAABBIpACAAAAgCARSAEAAABAkAikAAAAAECC8//TsdAhZf7p4AAAAABJRU5ErkJggg==",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "def plot_success_rate_vs_m(m_values, function, function_params, l_val=0.1, n_val=3):\n",
+ " \"\"\"\n",
+ " Iterate over different m values and plot success rate as a function of m.\n",
+ "\n",
+ " Args:\n",
+ " m_values: list of m values to test\n",
+ " function: function name (\"linear\" / \"quadratic\") or callable\n",
+ " function_params: parameters for the function\n",
+ " l_val: l parameter (default 0.1)\n",
+ " n_val: n parameter (default 3)\n",
+ " \"\"\"\n",
+ " success_rates = []\n",
+ "\n",
+ " for m_val in m_values:\n",
+ " p = params()\n",
+ " p.m = m_val\n",
+ " p.l = l_val\n",
+ " p.n = n_val\n",
+ " p.set_function(function, function_params)\n",
+ " p.unpack()\n",
+ "\n",
+ " @qfunc\n",
+ " def main(x: Output[QNum[n]]):\n",
+ " magnitudes, phases = p.calculate_magnitude_and_phase()\n",
+ " prepare_complex_amplitudes(magnitudes=magnitudes, phases=phases, out=x)\n",
+ " invert(lambda: qft(x))\n",
+ "\n",
+ " pc = run_standard_simulation(main)\n",
+ " analytic_grad = p.analytical_gradient(0)\n",
+ " success_rate, _, _ = compute_success_rate(pc, analytic_derivatives={'x': analytic_grad}, reject_underresolution=True)\n",
+ " success_rates.append(success_rate)\n",
+ " print(f\"m={m_val}: Success rate = {success_rate:.2%}\")\n",
+ "\n",
+ " # Plot\n",
+ " plt.figure(figsize=(10, 6))\n",
+ " plt.plot(m_values, success_rates, 'o-', linewidth=2, markersize=8)\n",
+ " plt.xlabel('m parameter', fontsize=12)\n",
+ " plt.ylabel('Success Rate', fontsize=12)\n",
+ " plt.title('Success Rate vs m Parameter', fontsize=14)\n",
+ " plt.grid(True, alpha=0.3)\n",
+ " plt.ylim([0, 1.05])\n",
+ " ax = plt.gca()\n",
+ " ax.axvspan(0.5, 4.0, color='green', alpha=0.15, label='Target m range')\n",
+ " ax.legend()\n",
+ " plt.show() \n",
+ " return success_rates\n",
+ "\n",
+ "# Example usage:\n",
+ "m_values = [0.05, 0.1, 0.3, 0.5, 0.55, 0.7, 0.8, 0.9, 1.0, 1.5, 2.0, 4.0, 6.0, 10.0]\n",
+ "results = plot_success_rate_vs_m(m_values, \"quadratic\", (0.6, 0.25, 0.1))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "37699833",
+ "metadata": {},
+ "source": [
+ "As for the $l$ parameter, we need to be in the linear regime, so we need to ensure $l$ is small enough, as can be seen in the next example:"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "806fc176",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "l=0.1: Success rate = 94.19%\n",
+ "l=0.2: Success rate = 78.86%\n",
+ "l=0.3: Success rate = 60.84%\n",
+ "l=0.4: Success rate = 38.92%\n",
+ "l=0.5: Success rate = 23.05%\n",
+ "l=1: Success rate = 8.94%\n",
+ "l=1.5: Success rate = 15.62%\n",
+ "l=2.0: Success rate = 14.75%\n",
+ "l=3.0: Success rate = 28.37%\n",
+ "l=4.0: Success rate = 2.25%\n",
+ "l=5.0: Success rate = 24.37%\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "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Gj9+vNSuXdvkR2mulAZRr7zyipx33nkyYMAAkyP1+OOPl+bQqODpfYlpmXLgRArnHQAAACjvQEor8y1fvlweeeQRs5ZUYGCg/PHHHxIXFydPP/20/PXXXxIcHFyaQ6OCsDAvAAAA4IAFeYOCguTJJ580N7h4wYkjidK3bYRD2wMAAAC4/YhU7969ZfHixUU+/9tvv5l94Lya1Kxsuz9tyR656/PV8t2aA5KakeXQdgEAAABuG0j9/vvvEh0dXeTzMTExZqofnNPPm6Plug+W2R4fT06XRZuPyIPfrJOuL/4iv2wu+rUFAAAAUMpAKneVvsLs2LFDqlQ5vegrnCuIuuPzVZKYmplne/apwn2JKZly++erzH4AAAAAypgj9emnn5qb1fPPPy9Tp04tsJ8WnFi/fr1ceumlxT00KohO23to5loRi/lXKN3uZRF5eOZaWfF4Hwn08+H1AQAAAEobSCUnJ0tsbKztcWJionh7excYpapUqZLcddddMm7cuOIeGhVk3obDkpCSdySqqGAqPiVT5m88LIPPqVchbQMAAADcMpC6++67zU01btxY3nrrLbniiivKs22ws0WbosXb6/Q0vjPR/RZujCaQAgAAAOyVI7V79+5yC6ImTZokjRo1MmtTdevWTVauXHnG/XUq4b333msWCA4ICJAWLVrIvHnzyqVtri4uOb1YQZTS/eJS0su7SQAAAIBnrSOVe4pffHy8ZGdnF3iuQYMGJTrW119/LQ8++KBMnjzZBFFvvvmm9OvXT7Zt2ya1atUqsH96erpccskl5rlZs2ZJ3bp1Ze/evVK1atUy/U7uqmqwf4lGpKoG+VdEswAAAADPCaTef/99mThxouzatavIfbKySrYmkR7v9ttvl5EjR5rHGlD99NNP8vHHH8tjjz1WYH/dfvz4cVm6dKn4+fmZbTqahcL1bRsuCzYdKdbp0WCrX7twTiUAAABgr0BKAxydTqejRbfccos88cQT8sADD5jpeNOmTZPw8HC57777SnRMHV1avXq1jB071rZNi1n06dNHli07veZRbnPmzJHu3bubtvzwww8SFhYmN9xwgzz66KPi41N4tbm0tDRzs0pISDBfdUStsFG10tDjWCwWux3PXga0DZdnAn1N6fMzDUppYfsqgb7Sv0240/0OnsBZ+w9cA/0H9B3w3gNXk+1E1z4laUOpAql3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",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "def plot_success_rate_vs_l(l_values, function, function_params, m_val=2.0, n_val=3):\n",
+ " \"\"\"\n",
+ " Iterate over different l values and plot success rate as a function of l.\n",
+ "\n",
+ " Args:\n",
+ " l_values: list of l values to test\n",
+ " function: function name (\"linear\" / \"quadratic\") or callable\n",
+ " function_params: parameters for the function\n",
+ " m_val: m parameter (default 1.0)\n",
+ " n_val: n parameter (default 3)\n",
+ " \"\"\"\n",
+ " success_rates = []\n",
+ "\n",
+ " for l_curr in l_values:\n",
+ " p = params()\n",
+ " p.m = m_val\n",
+ " p.l = l_curr\n",
+ " p.n = n_val\n",
+ " p.set_function(function, function_params)\n",
+ " p.unpack()\n",
+ "\n",
+ " @qfunc\n",
+ " def main(x: Output[QNum[n]]):\n",
+ " magnitudes, phases = p.calculate_magnitude_and_phase()\n",
+ " prepare_complex_amplitudes(magnitudes=magnitudes, phases=phases, out=x)\n",
+ " invert(lambda: qft(x))\n",
+ "\n",
+ " pc = run_standard_simulation(main)\n",
+ " analytic_grad = p.analytical_gradient(0)\n",
+ " success_rate, _, _ = compute_success_rate(pc, analytic_derivatives={\"x\": analytic_grad})\n",
+ " success_rates.append(success_rate)\n",
+ " print(f\"l={l_curr}: Success rate = {success_rate:.2%}\")\n",
+ "\n",
+ " plt.figure(figsize=(10, 6))\n",
+ " plt.plot(l_values, success_rates, \"o-\", linewidth=2, markersize=8)\n",
+ " plt.xlabel(\"l parameter\", fontsize=12)\n",
+ " plt.ylabel(\"Success Rate\", fontsize=12)\n",
+ " plt.title(\"Success Rate vs l Parameter\", fontsize=14)\n",
+ " plt.grid(True, alpha=0.3)\n",
+ " plt.ylim([0, 1.05])\n",
+ " plt.show()\n",
+ "\n",
+ " return success_rates\n",
+ "\n",
+ "\n",
+ "# Example usage:\n",
+ "l_values = [0.1, 0.2, 0.3, 0.4, 0.5, 1, 1.5, 2.0, 3.0]\n",
+ "results_l = plot_success_rate_vs_l(l_values, \"quadratic\", (0.6, 0.25, 0.1), m_val=1.0, n_val=3)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "7b3097bb",
+ "metadata": {},
+ "source": [
+ "# 5. Multi-Coordinates Examples"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "854afbc8",
+ "metadata": {},
+ "source": [
+ "This algorithm works in multiple dimensions too.\\\n",
+ "We will now see an example in 2D, f(x,y).\\\n",
+ "We will start with a linear and decoupled function $f(x,y)=ax+by+c$."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 22,
+ "id": "2f4588e6",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "[{'x': 2, 'y': 7}: 2048]\n",
+ "Analytical gradient: (dx, dy) = (0.5, -0.25)\n",
+ "Majority gradient: (dx, dy) = (0.5, -0.25)\n",
+ "Success rate: 100.00% (2048/2048 shots)\n",
+ "[\u001b[92m██████████████████████████████████████████████████\u001b[91m\u001b[0m] 100.00%\n"
+ ]
+ }
+ ],
+ "source": [
+ "px = params()\n",
+ "py = params()\n",
+ "\n",
+ "# Set the functions for x and y axes\n",
+ "# f(x, y) = a*x + b*y + c = 0.5*x - 0.25*y + 0.1\n",
+ "# df/dx = 0.5, df/dy = -0.25\n",
+ "a, b, c = 0.5, -0.25, 0.1\n",
+ "px.set_function(px.linear, (a, 0.0))\n",
+ "py.set_function(py.linear, (b, c))\n",
+ "\n",
+ "# Use the globals from px. \n",
+ "# Be careful - If you change the parameters in py you can not use the globals anymore!\n",
+ "px.unpack()\n",
+ "\n",
+ "@qfunc\n",
+ "def main(x: Output[QNum[n]], y: Output[QNum[n]]):\n",
+ " # State preparation for x-axis contribution\n",
+ " magnitudes_x, phases_x = px.calculate_magnitude_and_phase()\n",
+ " prepare_complex_amplitudes(magnitudes=magnitudes_x, phases=phases_x, out=x)\n",
+ "\n",
+ " # State preparation for y-axis contribution\n",
+ " magnitudes_y, phases_y = py.calculate_magnitude_and_phase()\n",
+ " prepare_complex_amplitudes(magnitudes=magnitudes_y, phases=phases_y, out=y)\n",
+ "\n",
+ " # Gradient extraction on each axis\n",
+ " invert(lambda: qft(x))\n",
+ " invert(lambda: qft(y))\n",
+ "\n",
+ "pc = run_standard_simulation(main)\n",
+ "print(pc)\n",
+ "\n",
+ "majority_state = pc[0].state\n",
+ "gx_true = px.analytical_gradient(0)\n",
+ "gy_true = py.analytical_gradient(0)\n",
+ "\n",
+ "gx_meas = state_to_gradient(majority_state.get(\"x\"))\n",
+ "gy_meas = state_to_gradient(majority_state.get(\"y\"))\n",
+ "\n",
+ "print(f\"Analytical gradient: (dx, dy) = ({gx_true}, {gy_true})\")\n",
+ "print(f\"Majority gradient: (dx, dy) = ({gx_meas}, {gy_meas})\")\n",
+ "\n",
+ "success_rate, success_shots, total_shots = compute_success_rate(\n",
+ " pc, analytic_derivatives={\"x\": gx_true, \"y\": gy_true}\n",
+ ")\n",
+ "print(f\"Success rate: {success_rate:.2%} ({success_shots}/{total_shots} shots)\")\n",
+ "show_bar(success_rate)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "d430350c",
+ "metadata": {},
+ "source": [
+ "We can also have more complex example, with non-linear and coupled equation: $f(x, y)=ax^2+by^2+cxy+dx+ey+f$."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 23,
+ "id": "93751a65",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "[{'x': 1, 'y': 6}: 1992, {'x': 0, 'y': 6}: 14, {'x': 2, 'y': 6}: 14, {'x': 1, 'y': 5}: 8, {'x': 1, 'y': 7}: 6, {'x': 3, 'y': 6}: 3, {'x': 6, 'y': 6}: 2, {'x': 2, 'y': 7}: 1, {'x': 0, 'y': 3}: 1, {'x': 7, 'y': 1}: 1, {'x': 4, 'y': 6}: 1, {'x': 5, 'y': 4}: 1, {'x': 0, 'y': 7}: 1, {'x': 2, 'y': 5}: 1, {'x': 0, 'y': 5}: 1, {'x': 6, 'y': 7}: 1]\n",
+ "Analytical gradient: (dx, dy) = (0.25, -0.5)\n",
+ "Majority gradient: (dx, dy) = (0.25, -0.5)\n",
+ "Success rate: 97.27% (1992/2048 shots)\n",
+ "[\u001b[92m█████████████████████████████████████████████████\u001b[91m-\u001b[0m] 97.27%\n"
+ ]
+ }
+ ],
+ "source": [
+ "p = params()\n",
+ "p.l = 0.1\n",
+ "p.unpack()\n",
+ "\n",
+ "def f(x, y):\n",
+ " a, b, c, d, e, f = 0.6, -0.4, 0.25, 0.25, -0.5, 0.1\n",
+ " global gradient_x, gradient_y\n",
+ " gradient_x = d\n",
+ " gradient_y = e\n",
+ " return a * x**2 + b * y**2 + c * x * y + d * x + e * y + f\n",
+ "\n",
+ "# Generated functions\n",
+ "def f_normalized(x, y):\n",
+ " val = f(l / N * (x - N // 2), l / N * (y - N // 2))\n",
+ " val *= N / (l * m)\n",
+ " return val\n",
+ "\n",
+ "@qfunc\n",
+ "def main(x: Output[QNum[n]], y: Output[QNum[n]]):\n",
+ " # 1. State preparation\n",
+ " x_array = np.arange(N) # Create an array of x values corresponding to the quantum states\n",
+ " y_array = np.arange(N) # Create an array of y values corresponding to the quantum states\n",
+ " \n",
+ " # In order to use the prepare_complex_amplitudes function, we need to flatten the 2D arrays of magnitudes and phases into 1D arrays.\n",
+ " X_grid, Y_grid = np.meshgrid(x_array, y_array, indexing='ij')\n",
+ " phases_2d = f_normalized(X_grid, Y_grid) * 2 * np.pi\n",
+ " magnitudes_2d = np.ones((N, N)) / N \n",
+ " phases_flat = phases_2d.flatten().tolist()\n",
+ " magnitudes_flat = magnitudes_2d.flatten().tolist()\n",
+ " \n",
+ " # Prepare the state using the flattened arrays, then bind the combined register to the x and y registers.\n",
+ " combined_reg = QNum(\"combined_reg\")\n",
+ " prepare_complex_amplitudes(\n",
+ " magnitudes=magnitudes_flat, \n",
+ " phases=phases_flat, \n",
+ " out=combined_reg\n",
+ " )\n",
+ " bind(combined_reg, [y, x])\n",
+ "\n",
+ " # 2. Next step in the algorithm: QFT inverse on the coordinates register\n",
+ " invert(lambda: qft(x))\n",
+ " invert(lambda: qft(y))\n",
+ "\n",
+ "pc = run_standard_simulation(main)\n",
+ "print(pc)\n",
+ "\n",
+ "majority_state = pc[0].state\n",
+ "gx_true = gradient_x\n",
+ "gy_true = gradient_y\n",
+ "\n",
+ "gx_meas = state_to_gradient(majority_state.get(\"x\"))\n",
+ "gy_meas = state_to_gradient(majority_state.get(\"y\"))\n",
+ "\n",
+ "print(f\"Analytical gradient: (dx, dy) = ({gx_true}, {gy_true})\")\n",
+ "print(f\"Majority gradient: (dx, dy) = ({gx_meas}, {gy_meas})\")\n",
+ "\n",
+ "success_rate, success_shots, total_shots = compute_success_rate(\n",
+ " pc, analytic_derivatives={\"x\": gx_true, \"y\": gy_true}\n",
+ ")\n",
+ "print(f\"Success rate: {success_rate:.2%} ({success_shots}/{total_shots} shots)\")\n",
+ "show_bar(success_rate)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "35e960db",
+ "metadata": {},
+ "source": [
+ "# References"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "id": "7f9c7201",
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# TODO: add"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "classiq",
+ "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.12"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}