{ "cells": [ { "attachments": {}, "cell_type": "markdown", "id": "0ab12ce9", "metadata": {}, "source": [ "TTL acquisition\n", "==================\n", "\n", "In this tutorial we will demonstrate the sequencer based TTL (Transistor-Transistor-Logic) acquisition procedure. The TTL acquisition enables us to count trigger pulses, based on a settable threshold. The acquisition protocol allows us to save the number of triggers in separate bins, or average the triggers on the fly (see section [TTL Acquisitions](https://qblox-qblox-instruments.readthedocs-hosted.com/en/master/cluster/q1_sequence_processor.html#acquisitions)). We will showcase this functionality by using a QRM of which output $\\text{O}^{[1]}$ is directly connected to input $\\text{I}^{[1]}$, to both send pulses and acquire the resulting data.\n", "\n", "To run this tutorial please make sure you have installed and enabled ipywidgets:\n", "```\n", "pip install ipywidgets\n", "jupyter nbextension enable --py widgetsnbextension\n", "```" ] }, { "attachments": {}, "cell_type": "markdown", "id": "11dd74e3", "metadata": { "tags": [] }, "source": [ "Setup\n", "-----\n", "\n", "First, we are going to import the required packages." ] }, { "cell_type": "code", "execution_count": 1, "id": "4d4a42fe", "metadata": { "execution": { "iopub.execute_input": "2023-11-07T18:32:44.133861Z", "iopub.status.busy": "2023-11-07T18:32:44.132855Z", "iopub.status.idle": "2023-11-07T18:32:45.048943Z", "shell.execute_reply": "2023-11-07T18:32:45.048416Z" } }, "outputs": [], "source": [ "import contextlib\n", "\n", "import ipywidgets as widgets\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "\n", "# Set up the environment.\n", "from IPython.display import display\n", "from numpy import random\n", "from qcodes import Instrument\n", "\n", "from qblox_instruments import Cluster, PlugAndPlay" ] }, { "attachments": {}, "cell_type": "markdown", "id": "021b4476", "metadata": {}, "source": [ "### Scan For Clusters\n", "\n", "We scan for the available devices connected via ethernet using the Plug & Play functionality of the Qblox Instruments package (see [Plug & Play](https://qblox-qblox-instruments.readthedocs-hosted.com/en/master/api_reference/tools.html#api-pnp) for more info)." ] }, { "cell_type": "code", "execution_count": 2, "id": "f6ea66e8", "metadata": { "execution": { "iopub.execute_input": "2023-11-07T18:32:45.054723Z", "iopub.status.busy": "2023-11-07T18:32:45.054723Z", "iopub.status.idle": "2023-11-07T18:32:46.929316Z", "shell.execute_reply": "2023-11-07T18:32:46.928161Z" }, "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Devices:\n", " - 10.10.200.42: cluster_mm 0.6.1 with name \"QAE_1\" and serial number 00015_2320_004\n", " - 10.10.200.50: cluster_mm 0.6.1 with name \"cluster-mm\" and serial number 00015_2219_003\n", " - 10.10.200.51: pulsar_qcm 0.11.1 with name \"pulsar-qcm\" and serial number 00012_2039_005\n", " - 10.10.200.52: pulsar_qrm 0.11.1 with name \"pulsar-qrm\" and serial number 00013_2120_008\n", " - 10.10.200.53: cluster_mm 0.6.1 with name \"cluster-mm\" and serial number 00015_2320_003\n" ] } ], "source": [ "!qblox-pnp list" ] }, { "cell_type": "code", "execution_count": 3, "id": "479b1a7a", "metadata": { "execution": { "iopub.execute_input": "2023-11-07T18:32:46.934325Z", "iopub.status.busy": "2023-11-07T18:32:46.933273Z", "iopub.status.idle": "2023-11-07T18:32:46.945441Z", "shell.execute_reply": "2023-11-07T18:32:46.944362Z" } }, "outputs": [], "source": [ "cluster_ip = \"10.10.200.42\"\n", "cluster_name = \"cluster0\"" ] }, { "attachments": {}, "cell_type": "markdown", "id": "b3a5d3e3", "metadata": {}, "source": [ "### Connect to Cluster\n", "\n", "We now make a connection with the Cluster." ] }, { "cell_type": "code", "execution_count": 4, "id": "1fcbea24", "metadata": { "execution": { "iopub.execute_input": "2023-11-07T18:32:46.949811Z", "iopub.status.busy": "2023-11-07T18:32:46.949811Z", "iopub.status.idle": "2023-11-07T18:32:47.414379Z", "shell.execute_reply": "2023-11-07T18:32:47.412362Z" }, "lines_to_next_cell": 2, "scrolled": true }, "outputs": [], "source": [ "from qblox_instruments import Cluster, ClusterType\n", "\n", "try: # Close the chosen QCodes instrument to prevent name clash\n", " Cluster.find_instrument(cluster_name).close()\n", "except KeyError:\n", " pass\n", "\n", "cluster = Cluster(\n", " name=cluster_name,\n", " identifier=cluster_ip,\n", " dummy_cfg={\n", " 2: ClusterType.CLUSTER_QCM,\n", " 4: ClusterType.CLUSTER_QRM,\n", " 6: ClusterType.CLUSTER_QCM_RF,\n", " 8: ClusterType.CLUSTER_QRM_RF,\n", " }\n", " if cluster_ip is None\n", " else None,\n", ")" ] }, { "cell_type": "markdown", "id": "e9802dfd", "metadata": { "lines_to_next_cell": 2 }, "source": [ "#### Get connected modules" ] }, { "cell_type": "code", "execution_count": 5, "id": "45f2547b", "metadata": { "execution": { "iopub.execute_input": "2023-11-07T18:32:47.418930Z", "iopub.status.busy": "2023-11-07T18:32:47.417926Z", "iopub.status.idle": "2023-11-07T18:32:47.428973Z", "shell.execute_reply": "2023-11-07T18:32:47.427971Z" } }, "outputs": [], "source": [ "def get_connected_modules(cluster, filter_fn=None):\n", " def checked_filter_fn(mod):\n", " if filter_fn is not None:\n", " return filter_fn(mod)\n", " return True\n", "\n", " return {\n", " mod.slot_idx: mod for mod in cluster.modules if mod.present() and checked_filter_fn(mod)\n", " }" ] }, { "cell_type": "code", "execution_count": 6, "id": "336f2e67", "metadata": { "execution": { "iopub.execute_input": "2023-11-07T18:32:47.432990Z", "iopub.status.busy": "2023-11-07T18:32:47.431985Z", "iopub.status.idle": "2023-11-07T18:32:47.538555Z", "shell.execute_reply": "2023-11-07T18:32:47.536542Z" } }, "outputs": [ { "data": { "text/plain": [ "{4: }" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# QRM baseband modules\n", "modules = get_connected_modules(cluster, lambda mod: mod.is_qrm_type and not mod.is_rf_type)\n", "modules" ] }, { "cell_type": "code", "execution_count": 7, "id": "d98b177c", "metadata": { "execution": { "iopub.execute_input": "2023-11-07T18:32:47.543100Z", "iopub.status.busy": "2023-11-07T18:32:47.543100Z", "iopub.status.idle": "2023-11-07T18:32:47.553749Z", "shell.execute_reply": "2023-11-07T18:32:47.551717Z" }, "lines_to_next_cell": 0 }, "outputs": [], "source": [ "readout_module = modules[4]" ] }, { "attachments": {}, "cell_type": "markdown", "id": "d3a94a7c", "metadata": {}, "source": [ "### Reset the Cluster\n", "\n", "We reset the Cluster to enter a well-defined state. Note that resetting will clear all stored parameters, so resetting between experiments is usually not desirable." ] }, { "cell_type": "code", "execution_count": 8, "id": "54e71970", "metadata": { "execution": { "iopub.execute_input": "2023-11-07T18:32:47.557323Z", "iopub.status.busy": "2023-11-07T18:32:47.557323Z", "iopub.status.idle": "2023-11-07T18:32:50.903295Z", "shell.execute_reply": "2023-11-07T18:32:50.902293Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Status: OKAY, Flags: NONE, Slot flags: NONE\n" ] } ], "source": [ "cluster.reset()\n", "print(cluster.get_system_state())" ] }, { "attachments": {}, "cell_type": "markdown", "id": "e03c9611", "metadata": {}, "source": [ "Generate waveforms\n", "------------------------------\n", "\n", "Next, we need to create the waveforms used by the sequence for playback on the outputs. Here, we define a single waveform consisting of a 16 ns block pulse with an amplitude of 0.5." ] }, { "cell_type": "code", "execution_count": 9, "id": "160084c8", "metadata": { "execution": { "iopub.execute_input": "2023-11-07T18:32:50.907841Z", "iopub.status.busy": "2023-11-07T18:32:50.907841Z", "iopub.status.idle": "2023-11-07T18:32:50.919067Z", "shell.execute_reply": "2023-11-07T18:32:50.918012Z" } }, "outputs": [], "source": [ "# Waveform length parameter\n", "waveform_length = 16 # nanoseconds\n", "\n", "waveforms = {\n", " \"block\": {\"data\": [0.5 for i in range(0, waveform_length)], \"index\": 0},\n", "}" ] }, { "attachments": {}, "cell_type": "markdown", "id": "4b99deab", "metadata": {}, "source": [ "Specify acquisitions\n", "--------------------\n", "\n", "We need to specify the acquisitions so that the instrument can allocate the required memory for its acquisition list. Here, we create one acquisition that consists of 100 bins, at acquisition index 0." ] }, { "cell_type": "code", "execution_count": 10, "id": "d3c60181", "metadata": { "execution": { "iopub.execute_input": "2023-11-07T18:32:50.923767Z", "iopub.status.busy": "2023-11-07T18:32:50.923767Z", "iopub.status.idle": "2023-11-07T18:32:50.935335Z", "shell.execute_reply": "2023-11-07T18:32:50.934313Z" } }, "outputs": [], "source": [ "# Acquisitions\n", "acquisitions = {\n", " \"ttl\": {\"num_bins\": 100, \"index\": 0},\n", "}" ] }, { "attachments": {}, "cell_type": "markdown", "id": "f079fd34", "metadata": {}, "source": [ "Create Q1ASM programs\n", "--------------------\n", "\n", "Now that we have the waveform and acquisition specified, we define a simple Q1ASM program that sequences the waveforms and one that triggers the acquisitions.\n", "We will send 5 block pulses of 16 ns at 1 MHz (with 984 ns in between them). At the same time we will perform a 6000 ns TTL acquisition. Note that 1 MHz is the maximum continuous rate for a TTL acquisition.\n", "\n", "The TTL acquisition is carried out with the `acquire_ttl` command that takes four arguments. The first argument is the index of what acquisition should be done, the second specifies in what bin index it is stored, the third toggles the acquisition on or off and finally the fourth argument is the amount of ns to wait. See the section on [Q1ASM instructions](https://qblox-qblox-instruments.readthedocs-hosted.com/en/master/cluster/q1_sequence_processor.html#instructions) for a more detailed overview of the sequencer instructions." ] }, { "cell_type": "code", "execution_count": 11, "id": "56342578", "metadata": { "execution": { "iopub.execute_input": "2023-11-07T18:32:50.939725Z", "iopub.status.busy": "2023-11-07T18:32:50.938290Z", "iopub.status.idle": "2023-11-07T18:32:50.951465Z", "shell.execute_reply": "2023-11-07T18:32:50.950182Z" } }, "outputs": [], "source": [ "# Sequence program for AWG.\n", "seq_prog_awg = \"\"\"\n", " wait_sync 4 #Wait for sequencers to synchronize and then wait another 4ns.\n", " move 5,R0 #Loop iterator.\n", "loop:\n", " play 0,0,16 #Play a block on output path 0 and wait 16ns.\n", " wait 984 #Wait 984ns\n", " loop R0, @loop #Repeat loop until R0 is 0\n", "\n", " stop #Stop the sequence after the last iteration.\n", "\"\"\"\n", "\n", "# Sequence program for acquiring\n", "seq_prog_acq = \"\"\"\n", " wait_sync 4 #Wait for sequencers to synchronize and then wait another 4ns.\n", " wait 140 #Approximate time of flight\n", " acquire_ttl 0,0,1,4 #Turn on TTL acquire on input path 0 and wait 4ns.\n", " wait 6000 #Wait 6000ns.\n", " acquire_ttl 0,0,0,4 #Turn off TTL acquire on input path 0 and wait 4ns.\n", "\n", " stop #Stop sequencer.\n", "\"\"\"" ] }, { "attachments": {}, "cell_type": "markdown", "id": "0f3e1baf", "metadata": {}, "source": [ "Upload sequence\n", "---------------\n", "\n", "The sequences are uploaded to the sequencers. We will use sequencer 0 to send the pulses and sequencer 1 to acquire them." ] }, { "cell_type": "code", "execution_count": 12, "id": "24654e4c", "metadata": { "execution": { "iopub.execute_input": "2023-11-07T18:32:50.956124Z", "iopub.status.busy": "2023-11-07T18:32:50.955116Z", "iopub.status.idle": "2023-11-07T18:32:50.967092Z", "shell.execute_reply": "2023-11-07T18:32:50.966093Z" } }, "outputs": [], "source": [ "# Add sequence program, waveform and acquisitions to single dictionary.\n", "sequence_awg = {\n", " \"waveforms\": waveforms,\n", " \"weights\": {},\n", " \"acquisitions\": {},\n", " \"program\": seq_prog_awg,\n", "}\n", "sequence_acq = {\n", " \"waveforms\": {},\n", " \"weights\": {},\n", " \"acquisitions\": acquisitions,\n", " \"program\": seq_prog_acq,\n", "}" ] }, { "cell_type": "code", "execution_count": 13, "id": "8fd9c5d7", "metadata": { "execution": { "iopub.execute_input": "2023-11-07T18:32:50.972936Z", "iopub.status.busy": "2023-11-07T18:32:50.971954Z", "iopub.status.idle": "2023-11-07T18:32:51.044132Z", "shell.execute_reply": "2023-11-07T18:32:51.042567Z" } }, "outputs": [], "source": [ "# Upload sequence.\n", "readout_module.sequencer0.sequence(sequence_awg)\n", "readout_module.sequencer1.sequence(sequence_acq)" ] }, { "attachments": {}, "cell_type": "markdown", "id": "b016d0cb", "metadata": {}, "source": [ "Play sequence\n", "-------------\n", "\n", "Now we configure the sequencers, and play the sequence.\n", "\n", "We will use sequencer 0 which will drive output $\\text{O}^{1}$, and sequencer 1 which will acquire on input $\\text{I}^{1}$, enabling syncing, and prepare the (scope) acquisition.\n", "\n", "Then the TTL acquisition is configured by using `ttl_acq_input_select` to select $\\text{I}^{1}$ as input. We set `ttl_acq_auto_bin_incr_en` to False such that our TTL count will be put in one bin. We set our TTL threshold to a value of 0.5 of our input range (corresponding to 0.5 V) using `ttl_acq_threshold `, and our input gain to 0 dB using `in0_gain`." ] }, { "cell_type": "code", "execution_count": 14, "id": "0b48bea4", "metadata": { "execution": { "iopub.execute_input": "2023-11-07T18:32:51.048555Z", "iopub.status.busy": "2023-11-07T18:32:51.047594Z", "iopub.status.idle": "2023-11-07T18:32:51.214494Z", "shell.execute_reply": "2023-11-07T18:32:51.212978Z" } }, "outputs": [], "source": [ "# Map sequencer to specific outputs (but first disable all sequencer connections)\n", "readout_module.disconnect_outputs()\n", "readout_module.disconnect_inputs()\n", "\n", "# Drive through first output\n", "readout_module.sequencer0.connect_out0(\"I\")\n", "\n", "# Acquire through first input\n", "readout_module.sequencer1.connect_acq_I(\"in0\")\n", "\n", "# Enable sync\n", "readout_module.sequencer0.sync_en(True)\n", "readout_module.sequencer1.sync_en(True)\n", "\n", "# Delete previous acquisition.\n", "readout_module.delete_acquisition_data(1, \"ttl\")\n", "\n", "# Configure scope mode\n", "readout_module.scope_acq_sequencer_select(1)\n", "\n", "# Choose threshold and input gain\n", "threshold = 0.5\n", "input_gain = 0\n", "\n", "# Configure the TTL acquisition\n", "readout_module.sequencer1.ttl_acq_input_select(0)\n", "readout_module.sequencer1.ttl_acq_auto_bin_incr_en(False)\n", "\n", "# Set input gain and threshold\n", "readout_module.in0_gain(input_gain)\n", "readout_module.sequencer1.ttl_acq_threshold(threshold)" ] }, { "attachments": {}, "cell_type": "markdown", "id": "02bda8c6", "metadata": {}, "source": [ "We start the sequence, and print the status flags of our sequencers." ] }, { "cell_type": "code", "execution_count": 15, "id": "eacc5f26", "metadata": { "execution": { "iopub.execute_input": "2023-11-07T18:32:51.218719Z", "iopub.status.busy": "2023-11-07T18:32:51.218719Z", "iopub.status.idle": "2023-11-07T18:32:51.260960Z", "shell.execute_reply": "2023-11-07T18:32:51.259760Z" }, "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Status: STOPPED, Flags: NONE\n", "Status: STOPPED, Flags: ACQ_SCOPE_DONE_PATH_0, ACQ_SCOPE_DONE_PATH_1, ACQ_BINNING_DONE\n" ] } ], "source": [ "# Arm and start sequencer.\n", "readout_module.arm_sequencer(0)\n", "readout_module.arm_sequencer(1)\n", "readout_module.start_sequencer()\n", "\n", "# Print status of sequencer.\n", "print(readout_module.get_sequencer_state(0, 1))\n", "print(readout_module.get_sequencer_state(1, 1))" ] }, { "attachments": {}, "cell_type": "markdown", "id": "68386cda", "metadata": {}, "source": [ "Retrieve acquisition\n", "--------------------\n", "\n", "We retrieve the acquisition data from sequencer 1. Then, both plot the scope data for the first 6000 ns and print the number of counted pulses, that is stored in `data['acquisition'][\"bins\"][\"avg_cnt\"][0]`." ] }, { "cell_type": "code", "execution_count": 16, "id": "a77058ee", "metadata": { "execution": { "iopub.execute_input": "2023-11-07T18:32:51.264349Z", "iopub.status.busy": "2023-11-07T18:32:51.264349Z", "iopub.status.idle": "2023-11-07T18:32:51.463238Z", "shell.execute_reply": "2023-11-07T18:32:51.462194Z" }, "lines_to_next_cell": 2 }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "pulses detected: 5.0\n" ] }, { "data": { "image/png": "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+7qJfiHI1w1A43DtKwRwFQcD1ShszVUcDFIzfgFzEL8wWfV0ZLGwAICT2r59+5z/njdvnqZNm6a0tDTntsjISK1atarB71taWqqQkJBGaaM/YCSan3C948ZdOJjMYjonDHT0SB7iFyapHklZVZOSAIY53PvA1FUFcPJKSEhwfsXExMiyLLdtkZGRzn1Xr16tlJQURUREaPjw4W7Jtvvvv18DBgzQSy+9pFNOOUVhYWGSpOzsbN14441q06aNoqOjdd555+nHH390vu7HH3/Uueeeq6ioKEVHR2vw4ME1knaff/65Tj31VEVGRurCCy90S/w5HA49+OCD6tChg0JDQzVgwAAtWLDgmJ95/vz56t69u8LDw3Xuuedqx44dJ/ItrBeSaH6Iu3AwUY2LOB+2BWg4FhaAuVxH8lQ+BgzFZAwA3mLbUkGBb768cGfgvvvu0+OPP65Vq1YpKChI119/vdvzv/zyi9577z29//77zhpkV199tbKysvTZZ59p9erVGjRokM4//3wdOnRIknTttdeqQ4cOWrlypVavXq2pU6cqODjY+Z6FhYWaNWuW3njjDX3zzTdKT0/XX/7yF+fz//rXv/T4449r1qxZWr9+vUaOHKlLL71UW7du9fgZdu3apSuuuEKjRo3SunXrdOONN2rq1KmN/J2qiemcfsI1YcbqWjBRVQwzkgcmqq7JA5iL+IWJjr4JJ5EIBuAFhYWSy0iuJpWfL7Vo0ahv+fDDD2vEiBGSpKlTp+qSSy5RcXGxc9RZaWmpXn/9dbVp00aStHTpUq1YsUJZWVkKDQ2VJM2aNUsffvih3n33Xf3pT39Senq67rnnHvXs2VOS1K1bN7djlpWV6fnnn1eXLl0kSZMmTdKDDz7ofH7WrFmaMmWKfv/730uSHn30US1evFhPPvmknn322Rqf4bnnnlOXLl30+OOPS5J69OihDRs26NFHH22075MnjETzE64JB5IQMJFrYWDAVBbz6WEi53RkpsLBPFXhaokVkgGgvvr16+f8d7t27SRJWVlZzm2dOnVyJtCkyqma+fn5at26tSIjI51f27dv17Zt2yRJkydP1o033qjU1FTNnDnTub1KRESEM4FWddyqY+bm5mrv3r0644wz3F5zxhln6KeffvL4GX766ScNHTrUbduwYcPq/T04XoxE80MUBobJAo6k9pmODJNQmB0m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0T755BM5HA6NGDFCW7Zs0eWXX67s7GxlZ2friiuuUFpams466yxvthUAgGaJqW8AAACA/6v3SLTRo0crPj5e48eP1/XXX88CAgAA1FA5FILp9DAV49kBAABqV++RaNu3b9dNN92kuXPnqnv37hoxYoTeeOMNFRUVebN9qCePoyC4hoPBGNkDEzGdCCYjgQYTebppwY0MAIC31DuJlpSUpGnTpmnbtm368ssv1alTJ918881q166d/vznP2vlypXebCfqybK4iIN5XLu6xC8AAGgoS1RVBQB4X4NX55Skc889V6+//rr27dunf/7zn9qwYYNOP/10VucEcMLoAMNEjHoAAAAA/F+DV+d0FRUVpfPPP187d+7Uzz//rM2bNzdWuwAAANDEGA0MAABQu+MaiVZUVKTXX39d55xzjrp166a5c+dq8uTJ2rFjRyM3D/XHKAgA8LWq/AM1/WAST/FKDMMUxC8AoCk1aCTa999/rzlz5ujtt99WaWmprrjiCn355Zc699xzvdU+NJDrDWT6DzCFa2fXsljdEOayGMYDgxG+MJlliSAGAHhdvZNovXr1UlpamgYOHKgZM2boD3/4g2JiYrzZNhwnVteCyYheAAAAAEBzVO8kWmpqqt566y0WDwAA4ChMHYK/4EYGAABA7eqdRHvqqae82Q4AAIznrInm01YADeNp+jxT6mEybmwAALylXgsLXHjhhfr+++/r3C8vL0+PPvqonn322RNuGBrGc1FVehAwF+ELE1GOBwB8h1MwAMDb6jUS7eqrr9aVV16pmJgYjRo1SikpKUpMTFRYWJgOHz6szZs3a+nSpZo/f74uueQS/fOf//R2u1ELy7K4iIN53BYW8F0zAACAmagJDABoCvVKot1www364x//qHfeeUfz5s3TCy+8oJycHEmVSZtevXpp5MiRWrlypU499VSvNhiAfyOJBhMxcBIAAADwf/WuiRYaGqo//vGP+uMf/yhJysnJUVFRkVq3bq3g4GCvNRAAAABNw+JOBgAAQK3qnUQ7WkxMjGJiYhqzLTgBjIKAv6EmGkxksbIADOS5rmrTtwM4Hp5qABO+AABvqdfCAjCH6/1jOhAwhesqcNQ0gcmIX5iMUWgwmWVREgIA4H0k0QA0L3SAYSBG7QAAAAD+jyQaAAAAJHEfAwAA4FhIogEA0FiOZCBsJtTDIB5rojV9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k5P1yCOP6Prrr1dUVJQ6duyoF154wfl8aWmpJk2apHbt2iksLEydOnXSjBkznM+3bNlSZ5xxhubOnXuC3z0AAICmRRINAADAMK+99pri4uK0YsUK3Xbbbbr55pt19dVXa/jw4VqzZo0uuOACXXfddSosLJQkZWdn67zzztPAgQO1atUqLViwQJmZmfrd735X6zHWr1+vnJwcpaSk1Hju8ccfV0pKitauXatbbrlFN998s3ME3VNPPaWPP/5Yb7/9ttLS0vTmm28qOTnZ7fVDhgzRt99+23jfEAAAgCZAEg0AAMAw/fv319/+9jd169ZN9957r8LCwhQXF6eJEyeqW7dumjZtmg4ePKj169dLqqxDNnDgQD3yyCPq2bOnBg4cqDlz5mjx4sXasmWLx2Ps3LlTgYGBatu2bY3nLr74Yt1yyy3q2rWrpkyZori4OC1evFiSlJ6erm7duunMM89Up06ddOaZZ+qaa65xe31iYqJ27tzZyN8VAAAA7yKJBgAAYJh+/fo5/x0YGKjWrVurb9++zm3x8fGSpKysLEmVCwQsXrzYWWMtMjJSPXv2lCRt27bN4zGKiooUGhrqcfED1+NXTUGtOtb48eO1bt069ejRQ7fffru++OKLGq8PDw93jpIDAAAwRZCvGwAAAICGCQ4OdntsWZbbtqrEl8PhkCTl5+dr1KhRevTRR2u8V7t27TweIy4uToWFhSotLVVISEidx6861qBBg7R9+3Z99tln+vLLL/W73/1Oqampevfdd537Hzp0SG3atKnvxwUAAGgWSKIBAAD4uUGDBum9995TcnKygoLq1/0bMGCAJGnz5s3Of9dXdHS0xowZozFjxuiqq67ShRdeqEOHDqlVq1aSKhc5GDhwYIPeEwAAwNeYzgkAAODnbr31Vh06dEjXXHONVq5cqW3btunzzz/XhAkTVFFR4fE1bdq00aBBg7R06dIGHWv27Nl666239PPPP2vLli165513lJCQoNjYWOc+3377rS644IIT+UgAAABNjiQaAACAn0tMTNSyZctUUVGhCy64QH379tWdd96p2NhYBQTU3h288cYb9eabbzboWFFRUXrssceUkpKi0047TTt27ND8+fOdx1m+fLlycnJ01VVXndBnAgAAaGqWbdu2rxsBAACA5qeoqEg9evTQvHnzNGzYsEZ5zzFjxqh///7661//2ijvBwAA0FQYiQYAAACPwsPD9frrr+vAgQON8n6lpaXq27ev7rrrrkZ5PwAAgKbESDQAAAAAAACgDoxEAwAAAAAAAOpAEg0AAAAAAACoA0k0AAAAAAAAoA4k0QAAAAAAAIA6kEQDAAAAAAAA6kASDQAAAAAAAKgDSTQAAAAAAACgDiTRAAAAAAAAgDqQRAMAAAAAAADq8P8Bgf3Az8ZXmIoAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Wait for the sequencer to stop with a timeout period of one minute.\n", "readout_module.get_acquisition_state(1, 1)\n", "\n", "# Move acquisition data from temporary memory to acquisition list.\n", "readout_module.store_scope_acquisition(1, \"ttl\")\n", "\n", "# Get acquisition list from instrument.\n", "data = readout_module.get_acquisitions(1)[\"ttl\"]\n", "\n", "# Plot acquired signal on both inputs.\n", "print(\"pulses detected: \" + str(data[\"acquisition\"][\"bins\"][\"avg_cnt\"][0]))\n", "\n", "fig, ax = plt.subplots(1, 1, figsize=(15, 15 / 2 / 1.61))\n", "ax.plot(data[\"acquisition\"][\"scope\"][\"path0\"][\"data\"][0:6000], label=\"Trace\")\n", "ax.axhline(y=threshold, color=\"r\", label=\"Threshold\")\n", "ax.set_xlabel(\"Time (ns)\")\n", "ax.set_ylabel(\"Amplitude (Volt)\")\n", "plt.legend(loc=\"upper right\")\n", "plt.show()" ] }, { "attachments": {}, "cell_type": "markdown", "id": "6439001e", "metadata": {}, "source": [ "We observe that we indeed do see five 16 ns pulses in the scope acquisition. Furthermore we observe that the amount of pulses counted matches the amount we of the scope trace. You are encouraged to change the threshold value and input gain yourself, and learn about th importance of calibrating these values." ] }, { "attachments": { "download.png": { "image/png": "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" } }, "cell_type": "markdown", "id": "ef8ee8dc", "metadata": {}, "source": [ "
\n", "

Note

\n", "It is important to correctly calibrate your input gain and threshold. For example in a setup with noise and/or interferences, setting the input gain too high might result in these kind of pulses:\n", "\n", "![download.png](download.png)\n", "\n", "\n", "Such a single pulse results in multiple counts, as the threshold is passed multiple times. We therefore strongly recommend calibrating the TTL acquisition using the scope acquisition as is shown above.\n", "
" ] }, { "attachments": {}, "cell_type": "markdown", "id": "f5ef5d0e", "metadata": { "lines_to_next_cell": 2 }, "source": [ "Short pulse bursts\n", "--------------------\n", "\n", "As the acquisition module in the sequencer has an internal buffer of 8 data entries, any pulse bursts of <8 will be handled correctly when exceeding the maximum continuous rate of 1 MHz. When exceeding the buffer limit, a `ACQ_BINNING_FIFO_ERROR` will be thrown.\n", "To illustrate this we will define a function `generate_pulse_program` that takes as input `num_pulses` (the number of pulses to generate) and `wait_time` (the time to wait between pulses in ns).\n", "We also define a function to upload the sequence to the AWG." ] }, { "cell_type": "code", "execution_count": 17, "id": "847230e1", "metadata": { "execution": { "iopub.execute_input": "2023-11-07T18:32:51.467806Z", "iopub.status.busy": "2023-11-07T18:32:51.466784Z", "iopub.status.idle": "2023-11-07T18:32:51.479415Z", "shell.execute_reply": "2023-11-07T18:32:51.477417Z" } }, "outputs": [], "source": [ "# Sequence program for AWG.\n", "def generate_pulse_program(num_pulses, wait_time):\n", " seq_prog_awg = f\"\"\"\n", " wait_sync 4 #Wait for sequencers to synchronize and then wait another 4ns.\n", " move {num_pulses},R0 #Loop iterator.\n", "loop:\n", " play 0,0,16 #Play a block on output path 0 and wait 16ns.\n", " wait {wait_time} #Wait wait_time ns\n", " loop R0, @loop #Repeat loop until R0 is 0\n", "\n", " stop #Stop the sequence after the last iteration.\n", " \"\"\"\n", " return seq_prog_awg\n", "\n", "\n", "# Upload sequence to AWG\n", "def upload_sequence(seq_prog_awg):\n", " sequence_awg = {\n", " \"waveforms\": waveforms,\n", " \"weights\": {},\n", " \"acquisitions\": {},\n", " \"program\": seq_prog_awg,\n", " }\n", "\n", " readout_module.sequencer0.sequence(sequence_awg)" ] }, { "attachments": {}, "cell_type": "markdown", "id": "b885376d", "metadata": {}, "source": [ "We now generate the program, upload it and set the threshold and input gain." ] }, { "cell_type": "code", "execution_count": 18, "id": "0f73286d", "metadata": { "execution": { "iopub.execute_input": "2023-11-07T18:32:51.484554Z", "iopub.status.busy": "2023-11-07T18:32:51.483527Z", "iopub.status.idle": "2023-11-07T18:32:51.556255Z", "shell.execute_reply": "2023-11-07T18:32:51.554593Z" } }, "outputs": [], "source": [ "seq_prog_awg = generate_pulse_program(num_pulses=5, wait_time=20)\n", "upload_sequence(seq_prog_awg)\n", "\n", "# Choose threshold and input gain\n", "threshold = 0.5\n", "input_gain = 0\n", "\n", "# Delete previous acquisition.\n", "readout_module.delete_acquisition_data(1, \"ttl\")\n", "\n", "# Set input gain and threshold\n", "readout_module.in0_gain(input_gain)\n", "readout_module.sequencer1.ttl_acq_threshold(threshold)" ] }, { "attachments": {}, "cell_type": "markdown", "id": "b380459a", "metadata": {}, "source": [ "We then arm the sequencers and play the sequence." ] }, { "cell_type": "code", "execution_count": 19, "id": "fd72f3ef", "metadata": { "execution": { "iopub.execute_input": "2023-11-07T18:32:51.559770Z", "iopub.status.busy": "2023-11-07T18:32:51.559770Z", "iopub.status.idle": "2023-11-07T18:32:51.602143Z", "shell.execute_reply": "2023-11-07T18:32:51.601121Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Status: STOPPED, Flags: NONE\n", "Status: STOPPED, Flags: ACQ_SCOPE_DONE_PATH_0, ACQ_SCOPE_DONE_PATH_1, ACQ_BINNING_DONE\n" ] } ], "source": [ "# Arm and start sequencer.\n", "readout_module.arm_sequencer(0)\n", "readout_module.arm_sequencer(1)\n", "readout_module.start_sequencer()\n", "\n", "# Print status of sequencer.\n", "print(readout_module.get_sequencer_state(0, 1))\n", "print(readout_module.get_sequencer_state(1, 1))" ] }, { "attachments": {}, "cell_type": "markdown", "id": "dc19f246", "metadata": {}, "source": [ "We retrieve the acquisition and plot it as in the previous section." ] }, { "cell_type": "code", "execution_count": 20, "id": "834fee5c", "metadata": { "execution": { "iopub.execute_input": "2023-11-07T18:32:51.607626Z", "iopub.status.busy": "2023-11-07T18:32:51.606611Z", "iopub.status.idle": "2023-11-07T18:32:51.788746Z", "shell.execute_reply": "2023-11-07T18:32:51.786727Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "pulses detected: 5.0\n" ] }, { "data": { "image/png": "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PvroI+WYKQB89NFHmD59eqefM27cOLz66qtxb/vkk0969gMlgCF+Mr2apkhthBSnnQ/IXYjWRGuzZDSfusZW70eX5nYgrb3FOxeUyYUB5O7lsy5aUoo2FWBgtCvs0JmcOO93L1rGgiVcSF9z5szBzJkzMW/ePLz99tvYu3cvPv74Y9x555344osv0NraioULF2LdunXYt28fPvroI3z++ecYN25cj7/HbbfdhgceeACrVq1CaWkp7rjjDmzZsgU///nPO/34n/70p9i5cyduu+02lJaW4h//+Aeee+45lX7irjEiQaYn3yTy0t1KqinFk3elgmEJh1uCrCORRLig7F5euhu+2hZUN/kxLLf/7hAmG4797uWlu4FyoJpZyEmFTTW6xyBacpI3DnO9XMd2hU1lyCiCIOCNN97AnXfeiQULFqC6uhqFhYU49dRTUVBQALvdjtraWlxxxRWorKxEbm4uLrjgAtxzzz09/h4333wzGhoa8Itf/AJVVVUYP348Xn311Q4NCmRDhgzBf/7zH9x66614/PHHMX36dNx3330dOo2qjUE0Mj0+SHXP5bAhO82FOl8AVU1tDKIlibZgGE1tPMrcnfx0D/bWtnBXNsnwSFv3mImWnLju6R6DaMmJY797Sh1kbp5QN6666ipcddVVHd5+2mmndTi5NHny5Li33X333bj77rs7fG56ejoee+wxPPbYY51+z3/+85+9up558+bFfV+bzYalS5di6dKlnX6NkpKSDtf+P//zP/if//mfuLctWLCgy+tQA49zkumxsHrPyA9TvKkmD3kx6XLYkM6jzF3iw1TykSRJmcvyvDzS1pU8Zd5nADmZMBOtewwgJycG0bonvza1vgA7MxMZhEE0Mj35QUquAUCdk2+qlXyYShqxAWQeZe6aEkhgEC1pNPlD8IciHaJy05lZ2xUGEpITAwnd4+ZJcqppjtRBzuXGeZdy0lwQBCAsSqjzBYy+HKJ+iUE0Mj126umZaHMBLiiTBR+keoYPU8lH/l163Q6kupiF2ZU8HutJStHGApz7uyJnqFY3+dlQKYlw3dM9h92GnPayLVz3EBmDQTQyPdbF6Zl8HutJOlxM9gyDaMmHQYSekTO0mYmWPEJhEbU+zv3dkTNUW4NhNPtDBl8NqYVr/p5RNlBYC5bIEAyikekpD1M8znlUzERLPgyi9Uw+j3MmHXns53LsH5WcoV3VyGycZFHnC0CSAJsA5KRx/Hcl1eWAt71WKDdQkkMwLOJwC49z9kQ+Nw91w3tr8lHjd2qKINqTTz6JkpISeDwezJgxA5999lmXH/vcc89BEIS4Px4Piw4nM3mXhcWljy6fNdGSDptq9Awz0ZIPA8g9I78+rcEwfIGwwVdDapA3A3K8bthtrIV5NJz7k4scQLbbBAxIZS3Mo2EtWO05nU4AQEtLi8FXQmqTf6fy77gvDC80smrVKixatAgrVqzAjBkz8Oijj2Lu3LkoLS1Ffn5+p5+TkZGB0tJS5e99Krjt8wF2e18vm3QiihJ8dY1IESXk20KR3xt1qtARRkqgDY219XydkkRDTT1SAm0odIT5Oz2KPFsIKYE2tBxuQ6ixCQ67KfaHKAH1NYeREmjDQI79o0oDkIsgfIEwqstr4c3zGn1JlKDayjqkBNow2Onk2O/GYKeIikAb6qoOAwXcaLW6msoGpATakJvugr2VgYujGeSMrPnrqw9zntCIHUBWaiqqKisBUURqSgqbfFmcJEloaW1FVXU1stLSYG/rJPGkh/+eBMngHMUZM2bg+OOPxxNPPAEAEEURxcXFuOmmm3DHHXd0+PjnnnsOt9xyC+rr63v09f1+P/z+aJS+sbERxcXFaACQocYPQERERERERERJQxIEVCxYgPrzzgNcLoBBNGuTJCAQQNarr6Lwz3+G0EkYrBFAJoCGhgZkZHQdLTI0Ey0QCGDjxo1YvHix8jabzYY5c+Zgw4YNXX5ec3Mzhg4dClEUcdxxx+G+++7DMccc0+nHLlu2DPfcc4/q105EREREREREyUeQJBStXIn8F15AMDeXQTSrkyQ4a2pgV+GIrqFBtJqaGoTDYRQUFMS9vaCgADt27Oj0c8aMGYOVK1di4sSJaGhowPLly3HiiSfi66+/xuDBgzt8/OLFi7Fo0SLl73ImGg4dAo4SXSRzWL+zGtc9vxGjC7z4fwtPNvpyTO+EZWvQ0BLE/1t4EkYXpBt9OZQASZIw5d534A+JeOfWUzE4O9XoSzK1C/7vI2wvb8KKy47DrDGdlwIg65j35EcorWjCisuPw6zR/H0eza2rtmD1tgrccfZYXHliidGXQwn67Wtf4++f7sdPTh2GW783xujLMbU/vr8bj767E+dPGYT7LjjW6MuhBMm/z3mTB2HZhfx9Hs0Xe+tw+bOfYWhOClbfMsvoy0l69vY/1A80NgIDB3b7YYbXROutmTNnYubMmcrfTzzxRIwbNw5//OMf8Zvf/KbDx7vdbrjdnRQmTkuL/CFTqwwfRqvLg4zcLP6+eiAjJxMVoWZUhu0YzdfL0pragqi3uQAXkFuYDTh5+z6ajNwstNYGURl2cK5IAgcCNrS6PMgtyObvsxuZuVloddWjPGTna5UEDoXsaHV5MCBvAH+f3RiQPwCtLg8OBm18rZJARTgy9jPzsvj77EZuAdDq8mC/n2OfSFXhnjVpMrT6cm5uLux2OyorK+PeXllZicLCwh59DafTiSlTpmDXrl1aXCIZjN0Je6cgI1JYt6qR3XqsTu42lu52wMMAWrfkOULu5kvWFRYl1PnYnbOn8jM49pOJfP/OS2eh/O6wO2dyYVfmnpNfI18gDJ8/ZPDVEPU/hgbRXC4Xpk6dijVr1ihvE0URa9asics2O5pwOIyvvvoKRUVFWl0mGUhZTGbwhtoT8k21kg9TlsfFZO/IgQQ+TFlfrc8PUQJsApCTxvHfnfz2YAvHfnJQNg8593dL3jyRXzOyNnkOy/W6DL4S80tzO5Dmimywcu4n0p+hQTQAWLRoEZ5++mn85S9/wfbt23HDDTfA5/NhwYIFAIArrrgirvHAvffei7fffhvfffcdNm3ahMsuuwz79u3Dtddea9SPQBpiJlrvMBMteSiLST5I9QgfppKHPPaz09yw21jEtzvMxkkekiQp9+98zv3dkl+j2mY/wmLHLmtkLTUMIPeK/DpVce4n0p3hNdHmz5+P6upqLFmyBBUVFZg8eTJWr16tNBsoKyuDzRaN9R0+fBjXXXcdKioqMGDAAEydOhUff/wxxo8fb9SPQBqqbs+o4g21Z/LTeawnWTATrXfyGUBOGhz7vZPPIFrS8AXCaA1G6rFw/HcvO80FQQBECajzBfiaWZw8hzGA3DP56R7srW3h3E9kAMODaACwcOFCLFy4sNP3rVu3Lu7vjzzyCB555BEdrorMgA9TvcNMtOTBLMzeUbJxmIlmeVWc93tFfp1qfQEEwyKcdsMPGVAfyWueNJcdaW5TLNFNzWG3ISfNjZpmP6qa2jhnWFhbMIzGtkhtr1yue3okjxvnRIbhSotMrUrZlWKB3Z7IZ020pMEAcu8ojQUa/ZAkHuuxMmXs80GqR7JTXcqx19rmgMFXQ4moamT2fW/xOHNyqPVF5i6nXUBmitPgq7EGHuckMg6DaGRabcEwmtp3pbig7Bk52MhAgvUxiNY78uvUGgzDF+hZe2oyJ+VIDxvK9IjNJiiFuJmRYG1sKtB7DKIlh9jNE0FgLcye4NgnMg6DaGRa8k3B5bAhw8NjDT0hP3T6QyIaW9ny2soYROsddqpKHjzK3Hvs0Jkcqpl932tsKpMc2Eyp9/KZiUZkGAbRyLSquCvVax6nXQk4MiPB2moYSOi1aHMBjn0rYwC593isJzmwHmDvMRsnOXDN03sc+0TGYRCNTItHevpGaS7Am6plhUVJqQ/Ch6meY0ZCcqhhIKHX2KEzOTCA3HsMJCQHjv3ei2Ygc+OQSG8MopFp8UhP38hBx0pm41jW4ZYAwqIEQQCy01xGX45lKNk47E5raXyY6j12aUsOzETrPQbRkoOcicbOnD0X25k5FBYNvhqi/oVBNDItPkj1TUE6M9GsTh772akuOO2cpntKeZhiJppltQbCaPKzoUxvMRMtOXDd03sc+8mBY7/3stMinZklKdrdlIj0waczMi05PZkFdnsnj5lolsfFZN8wI8H65N+d22FDupsNZXqKNdGSQ7SxAOf+nuK8nxy47uk9u01ATvtpBY5/In0xiEamxRtq3+QzE83yOPb7hp2qrK+6uX3zJIMNZXojj905LS8UFlHr49zfW/Jr1eQPoTUQNvhqqK94nLNv5BIuPMpPpC8G0ci0GEjomwL5hspMNMtiPcC+YUaC9SnzPsd+r8QGkCVJMvhqqC/qfAFIEmATgJw0jv+eSnc74HZEHmdqeJTfsrjm7xuloRLXPUS6YhCNTIsFdvuGmWjWx8Vk30SDaAwgWxXHft/Ir1cgJKKxNWTw1VBfyPfsHK8bdhuzMHtKEAQeZ7a4lkAIvvYswlwvmyn1hrLmZ0MlIl0xiEamJIqSsqPI2iC9I3dzPMwio5bFQELfyItJdqqyLo79vvE47Uj3RGrIyUdiyVqYhdl3zEK2tpqmyHrV47TBy1qYvcKGSkTGYBCNTKmhNYhgOHIkJYe7Ur0iH2sIMIhgWQwk9E12mgs2AZAkoK6FQWQrih5lZkOZ3lKOdDIjwZKUpgIZnPd7K3qkjQFkK5ID/3nprIXZW/IzErtzEumLQTQyJflBKivVCbfDbvDVWItLDqKFGESzKtZE6xu7TVDmi7YAx78VyQEgBpB7L93jBAA0+3mc04rkwuCc93tPzsCvbwkafCXUF3IAmU0Fek9e83DNT6QvBtHIlJQHKd5Qe81lj/yzFiUgLLLAtBUxE63vlCBymF3arKiax/j7zMUsZEtjJlrfcexbW3VzJIuKa/7e48Y5kTEYRCNTklO7uZjsPfmGCvCmakX+UBgNrZHddO7K9p48/v0c+5bEAHLfufkwZWnMQO47efOQY9+aOO/3HYNoRMZgEI1MiQV2+85pZxDNymrbd2SddgGZKU6Dr8Z65IcpuaYiWUdsQxk+TPUeAwnWFj3KzHqAvcXNE2vjcc6+U+Z9ZmES6YpBNDIl1sXpO6c9WpTVzyNtlhO7mLTZWGC3t5iNY11sKJMYHmmzNuUoMzPwe00e+0GOfUvi5knfuTn2iQzBIBqZUjVvqH0mCELMgpLZOFbDYw2JcTIbx7LYUCYxPNZjXZIksRZsAjj2rY3rnr7jmofIGAyikSkpBXZ5rKFPeKzHulgXJzFsLGBdPMafGB7rsS5fIIzWYGTOYiCh9zj2rY3HOfuOAWQiYzCIRqZU54vUhZLbllPv8KZqXdyRTQzHvnVVNUUaynDs9w3HvnXJ836ay440t8Pgq7Eejn3rkqRoLUx2Ze491gMkMgaDaGRK8s3A4+SRnr6IFlfnTdVqGERLTDQjgUeZrUZuqsFshL7hsR7r4ryfGGbfW1eTP6Ss+Tn39x6zMImMwSAamZK8EJJ3WKh3uDNlXQ2tQQBgZ84+YkaCdbW1H2dL4eZJn7CphnX5/CEAgNfDLLS+YFMN62rxR+Z9u01Aiotzf2+xqQaRMRihIFOSF0LyDgv1jtyhkw9T1iP/ztwMIPcJs3Gsi5sniWEgwbrkDS+uefqGmyfWFeDYTwg3T4iMwRmLTCn6MCUYfCXW5GrvbMeHKetRAsgMJPRJdEHJxgJWIx/B5djvGx5ps64g5/2E8EibdXHNkxhuHBIZgzMWmVJ0Z4qp3X2hpHfzpmo5fJhKDLNxrIuZaIlhNo51Rcc+1zx94eTYtyzO+4mRX7eQKEEUWQuWSC+csciUuDOVGJd8nJOBBMvxM4CckGhTDS4mrSYQjmQPOnmsp08YQLauaAkLZt/3hZvZOJbF8i2JiX1O4txPpB/OWGQ6YVFCWOSxnkQwI8G65N+Zkw9TfcKmGtbFeoCJ4bxvXczGSQwDyNbFsZ+Y2OAj1z1E+uGMRaYT22GGgYS+YX0Q6+KCMjGsD2JdLDCdGCfnfcvi2E8MS1hYF8d+YmKfk9ihk0g/nLHIdGJ3UhhI6BtmJFgXjzInhmPfuoJsLJAQdmmzLs77iWEmmnWxDmxiBEFgUxkiA3DGItOJvQlwZ6pvmI1jXTzSlhglI4EPU5bjZxZmQvggZV3MQE6MvObhcTbr4byfOG4eEumPMxaZTjCmyKgg8DhnX3BX1rqi45+NBfqC2TjWJc9XbCzQN5z3rSvAeT8hDCBbV3Te53q/rzj3E+mPK1UyHe7IJs7N+iCWxfGfGCc701pWIBTpzsmx3zfMRrAupaGMg4GEvnDHBBEkiZ2ZrSS65mEAua8YRCbSH1eqZDrclUocGwtYF7tzJoaLSetigenEcOxbl3KMn2O/T+QAsiQBIZFBNCvhvJ84diUn0h9nLDIdZuIkjjXRrMvPIrsJkXezuZi0Hjnoz3qAfcMjPdbFdU9iYl831sO0FjkDmfN+37EWLJH+OGOR6bBLVeL4MGVNkiTxYSpBXExaVzDE7pyJ4HFO62KHwsTE1lHk+LcWdmVOHDfOifTHGYtMh6ndiePDlDXJi0kAcLPAdJ9w7FsXN1ASw2P81uUPc92TCIdNgNyHinO/tbCES+K47iHSH+/WZDrRmlAcnn3FXSlris2eYiChb1xsLGBZnPsTwwcp64o2FuDY7wtBEJQAJI/yW4uf2fcJc3MDhUh3nLHIdJQCu7yh9pmbxzktKfbhlwvKvmEgwbr8zEJOCMe+dTEDP3EsY2FN0bHP7Pu+4txPpD/ercl0WBskcawLZU3y4t8mAHYbjzb0hbwQ52LSeuQC05z7+0YOwIRECSI7FFoKa2Emzs11jyVx7CeOAWQi/XHGItNhXZzEuXic05K4mEwcA8jWJdcEZBZy38TOG3yYshZ2pk0c1z3WxI3zxMn15Dj2ifTDGYtMh0d6EudkbRBL4thPnLwQ59i3Hm6gJIZBNOtiICFxTh5psySWcEmcy8EMfCK9ccYi02Fx6cQxG8eaoplorA3SV042FrCksCgh3H4EkUHkvol93fgwZS2sC5U4ZqJZE7tzJo6dmYn0x5UqmQ6PtCWORUatKcgjPQlzc+xbUuzvix0K+0YQBB7rsajo5iEDCX2lZCEzkGApbKqROK75ifTHGYtMh8caEscio9bE42yJkzM5mIVpLXGdafkw1WfMxrEmPzcPE6Zk4HPsW4qfGfgJ4+Yhkf54tybTYX2ExPFBypqYjZA47shakz8cVv6f47/vuIFiTdxASRyPtFkTN84TJ98zuXlIpB/OWGQ60foIHJ59Fa2JJhl8JdQbPMqcOPm1C4kSRJHj3yrkucrlsEEQGETrKwaRrYlH+RPHsW9NXPckjg2ViPRnihnrySefRElJCTweD2bMmIHPPvusR5/3wgsvQBAEzJs3T9sLJF2xPkLimIlmTezOmbjYLCZmJFiHkoHMsZ8QPkxZExsLJI7rHmtSsjCZgdxn8rzBNQ+Rfgxfra5atQqLFi3C0qVLsWnTJkyaNAlz585FVVXVUT9v7969+OUvf4lTTjlFpyslvfBYQ+LkLD4+SFkLx37iYl87jn/rUI4yc+wnhIEEa4qOfwYS+opHma2JmWiJYxYmkf4Mn7EefvhhXHfddViwYAHGjx+PFStWIDU1FStXruzyc8LhMC699FLcc889GD58uI5XS3rgDTVx0RtquJuPJDMJssBuwmKz+FgfxDqYgawOee7g2LcOUZQQaj96zvHfdwwkWBOzMBPHsU+kP0Pv1oFAABs3bsScOXOUt9lsNsyZMwcbNmzo8vPuvfde5Ofn45prrun2e/j9fjQ2Nsb9IXOLFlfnYrKv3KyJZknRYw0c+30lCAKzcSwo0N5YgJsniZGPRHHsW0ds5hTHf9+xsYA1sbFA4qJ1kDn2ifRi6IxVU1ODcDiMgoKCuLcXFBSgoqKi089Zv349nn32WTz99NM9+h7Lli1DZmam8qe4uDjh6yZtBVhgN2E81mBN7EyrDu7KWk8gFG0sQH3Hud96Yo+dc/z3Hed9a/Lz9EnCuHlCpD9LzVhNTU24/PLL8fTTTyM3N7dHn7N48WI0NDQof/bv36/xVVKiuCuVODmLLyxKCLNDoWVEszBZFycR8uvHQIJ1MAtTHQwkWE9s9gjHf985mYFsSfLcz3VP33HzhEh/DiO/eW5uLux2OyorK+PeXllZicLCwg4fv3v3buzduxfnnnuu8jZRjEwYDocDpaWlGDFiRNznuN1uuN1uDa6etMLaOImLDUAGwyLsNtaasAI2FlAHAwnWw1qY6uBRZuuJXfMIAgMJfeXmvG9JzMBPnFxPjs2UiPRj6IzlcrkwdepUrFmzRnmbKIpYs2YNZs6c2eHjx44di6+++gpbtmxR/px33nmYPXs2tmzZwqOaSYKp3YmLDUDypmodHPvq4K6s9XDzRB3y2Pdz7FsGM5DVwXnfmthYIHHcOCTSn6GZaACwaNEiXHnllZg2bRqmT5+ORx99FD6fDwsWLAAAXHHFFRg0aBCWLVsGj8eDCRMmxH1+VlYWAHR4O1kXGwskLnYxzpuqdShHmbmYTAizcayHjQXUIXfn5Ni3DmYgq0Oe91lc3Vo4/hPHIBqR/gwPos2fPx/V1dVYsmQJKioqMHnyZKxevVppNlBWVgabjRNrf8IbauLkDoWBsMhdWQvhkTZ1sDaO9QTZWEAVDCRYD+d9dShZmJz3LSO2bi/Hf9/JG+ec94n0Y3gQDQAWLlyIhQsXdvq+devWHfVzn3vuOfUviAzFxgLqcDkiQbQgF5SWwYcpdbA2jvX42VhAFcxIsB4e41cHN0+sJ66pBsd/n7l5lJlId5yxyHSUIqN8mEoI64NYT7Q2CGvjJEIe+9yVtQ4GkNUhzx0MJFhHkAFkVTCAbD2xWYOsCdh3cgkQjn0i/fCOTaaj1ETjw1RCnHyYshweZVYHA8jWw1qY6uDYtx6OfXVw7FtP7PqUQeS+YwCZSH+csch02KVNHVxQWg/Hvjrk14+1cayDmWjq4MOU9SjZ9xz7CeExfusJxGRhCgIz0fqK8z6R/njHJtMJhFlkVA3sUGg90Uw0dudMBGvjWI/cnZOBhMTIx3oYQLYOZiCrg001rCfIzRNVcNOcSH+ctch0AqHIwxRvqomRAzEMJFgHs3HUwV1Z6wly80QVHPvWw3lfHRz71sMAsjqU8i1hEZIkGXw1RP0DZy0ynQCL7KqCBaathw9T6mBjAevhUWZ1cOxbD9c86nDyGL/lROsB8ihnItztGciSBIREBtGI9ODo7Sfs2bMHH374Ifbt24eWlhbk5eVhypQpmDlzJjwejxbXSP0MAwnq4MOU9UQfprigTARr41iPn/O+KpiNYz1c86iDR9qsh/O+OmJfv0BIZJMSIh30OIj297//HX/4wx/wxRdfoKCgAAMHDkRKSgrq6uqwe/dueDweXHrppbj99tsxdOhQLa+ZklhYlCBvonBXNjFcUFoPH6bUodQD5Ni3DHYoVIcr5lgPWQPHvjoYQLYeZiCr48ggWprbwIsh6id6FESbMmUKXC4XrrrqKvznP/9BcXFx3Pv9fj82bNiAF154AdOmTcP//d//4eKLL9bkgim5xbW7ZiAhITzaYD3RBSUbCySCjQWsh7Vx1MFAgvVw7KuDjQWsJ8hmSqqw2wTYbQLCosQNFCKd9CiIdv/992Pu3Lldvt/tduO0007Daaedht/97nfYu3evWtdH/QyDaOrhgtJ6gnyYUoX8+jGAbB3s0qYOOQDPIJp1yL8rdqZNDI/xWw+z79XjtLcH0Tj+iXTRoyDa0QJoR8rJyUFOTk6fL4j6N384rPy/w8a6UIlgRoL1sD6IOlgP0Hrk3XM3j/UkRAkgc+xbBo+0qYMZyNbDOrDqcdltaAuKzEQj0kmv79h2ux1VVVUd3l5bWws7jyBRgmJ3pQSBN9VEMIhmPezSpg6OfethRoI6OPathxnI6mAdWOvhvK8e+Ugs534iffR61pKkzlvn+v1+uFyuhC+I+rdgODK+mI2QOBd3ZS2HC0p1sLGA9bC4ujqi8364m48ks2AGsjqiGcgSRLHzZxUyF2ZhqofHmYn01ePunI899hgAQBAEPPPMM/B6vcr7wuEwPvjgA4wdO1b9K6R+hUEE9fBIm/VwQakOZuNYj5/ZOKqIDSSQNcjBfgaQExPXoTAswmPj6Riz47yvHmZiEumrx0G0Rx55BEAkE23FihVxRzddLhdKSkqwYsUK9a+Q+hVmI6hHDsSwNo51sEubOthUw3q4gaIOZiNYD8e+OmI3n4JhER4ng2hmF20ow99Vonj6hEhfPQ6i7dmzBwAwe/ZsvPTSSxgwYIBmF0X9V6C9sQAXk4ljNo61hEUJ4fYjKBz/iWF3TusJsh6gKpw8ymw5zEBWR+zrx3WPNUSzMFkDOVFOR+Q15NxPpI8eB9Fka9eu1eI6iAAAgRCDCGpxMhvHUmJ/Txz/iWEA2XqYjaMOjn3rked+N8d+Qmw2AQ6bgJAoMZBgEfI8xbGfOGaiEemrR0G0RYsW9fgLPvzww32+GCJ2J1QPH6asJTZriuM/MWwsYD18mFIH533rYQBZPS6HDaFAmOPfIpiFqR7O/UT66lEQbfPmzT36YoLAdFxKDBeT6mFtHGuJ/T3xaENinBz7lsPi6uqIDSBLksR1mQVw7KvH5bChhUE0y2AdWPXIdeU49on00aMgGo9wkl64K6Ue1saxltgsTD74JsbNo8yWww0UdRzZodDNgt2m5+fYVw2zkK2F8756OPaJ9JXQrHXgwAEcOHBArWshihaX5g01YdHUbsngK6Ge4GJSPTzWYD3MSFBH7HHYYJhzvxVw81A9nPutJbp5yGB/olztjQW4eUikj17fsUVRxL333ovMzEwMHToUQ4cORVZWFn7zm99AFPkPlxLDQIJ6uCtlLQwgq4cPUtYiSRIDCSpxskOh5XDdox4WV7cW+fckd5akvuPYJ9JXr7tz3nnnnXj22Wdx//3346STTgIArF+/HnfffTfa2trwu9/9TvWLpP7Dz8YCqokGEsIGXwn1BIMI6uFRZmuJzZhiICExdpsAu01AWJT4MGUR3EBRj7Lu4dxvCVz3qEce+37O+0S66HUQ7S9/+QueeeYZnHfeecrbJk6ciEGDBuFnP/sZg2iUkOiuFG+oiXJyV8pSWBdHPVxMWkvsAy+7cybOZbehVWRxdauQxz/HfuKYhWwt7MqsHo59In31etaqq6vD2LFjO7x97NixqKurU+WiqP8KMhNNNfKihHVxrIFHetTjYmMBS4nvTMvxn6hoNg6zkK1A2Tzk2E8Y535rYRameuS6cszCJNJHr2etSZMm4Yknnujw9ieeeAKTJk1S5aKo/2IgQT3clbIWeeHDB6nEuTn2LUX+PclHESkxzMS0Fq571MOxby1sKKMervmJ9NXr45y///3vcc455+Ddd9/FzJkzAQAbNmzA/v378cYbb6h+gdS/MLVbPawLZS18kFKP/BqKEhAKi3AwMGlqzEBWFwtMWwvrQqmHZSysxc8sTNW47OzOSaSnHs9ar732GkRRxKxZs/Dtt9/i/PPPR319Perr63HBBRegtLQUp5xyipbXSv1ANBuH2QiJ4q6UtcgLHzcXkwmL61DIBaXpsR6gupiJaS1+ZuOoho0FrIUBZPVwzU+krx5nos2bNw8FBQW46qqrcPXVV7OBAGmC2TjqcTETzVI49tUT+xoGQxLgMvBiqFsc++pysR6mZUiSxLpQKmIgwVo496uHY59IXz2etfbs2YPrr78eL7zwAkaPHo1Zs2bhr3/9K1pbW7W8PupnlPoI7QUyqe94Q7UWLibV47AJENqTWf0srm56AR7nVBUbC1hHSJQgtcc6Of4T5+ZxTkthTTT1yPOHnxvnRLro8axVXFyMJUuWYPfu3Xj33XcxdOhQ3HDDDSgqKsJPf/pTfP7551peJ/UTDCSoh3VxrMXPQIJqBEHg+LcQzvvqYl0o64j9HXH8Jy6ahcmxbwVKGQuO/YS5HO3dOTnvE+miT7PW7Nmz8fzzz6O8vBwPPvggvvrqK5xwwgnszkkJ48OUeriYtBZ57Ds59lXBTEzrYGMBdSkZCRz7phcXROP4TxjnfWsJsLGAapxsLECkq15354yVnp6OM844A/v27cOOHTvwzTffqHVd1E9Fi4yysUCi5MVkSJQgihJsNr6mZsYCu+piTUDr4OaJuhhIsA55frIJYBdhFTh5pM1SOPerh/M+kb76NGu1trbi+eefx2mnnYZRo0bhhRdewKJFi7B3716VL4/6GxbYVU/sa8hAgvlxMakuJRMzxOLqZsfunOpih0Lr4LyvLgYSrIWbh+phV2YiffUqE+2TTz7BypUr8a9//QuBQAAXXHAB3n33XcyePVur66N+hkVG1eOMyeYLhEV4nGzWYGasDaIuFle3DjYWUBcDCdbBsa8u1sK0Fj/X/Krh5gmRvnocRBs/fjxKS0sxZcoULFu2DD/+8Y+RmZmp5bVRP6RkJLA7Z8JiF+VcUJofA8jqYl0o62A9QHXJHQpZG8f8mImmLtaCtQ5Jknj6REXycxPX+0T66HEQbc6cOfjnP//J5gGkqWiRUdbvSpTcoTAQFnlTtQAea1AXs3Gsg40F1MWxbx2c99XFI23WERIlSO3VFtzcOE+Y/NzEsU+kjx4H0R577DEtr4MIAGuiqc1pFxAI86ZqBawLpS4nj/VYhvw74lFmdXDsWwczkNXlZEMZy4idn5wObpwnisc5ifTVo7v2WWedhU8++aTbj2tqasIDDzyAJ598MuELo/6JRxvUxaMN1sFW7+qKjn02FjA7zvvqkl9Hdig0P459dTEL0zpif0fMxEwcxz6RvnqUiXbxxRfjwgsvRGZmJs4991xMmzYNAwcOhMfjweHDh/HNN99g/fr1eOONN3DOOefgwQcf1Pq6KUkFWFxdVcrDFG+qpseMBHW52VjAMlhcXV18mLIOzvvqYi1M65DHvk0AHJz7E+ZmJhqRrnoURLvmmmtw2WWX4cUXX8SqVavwpz/9CQ0NDQAidZfGjx+PuXPn4vPPP8e4ceM0vWBKbgE2FlAV07utI8iMBFWxS5t1+JXGAjzSowaOfetgTTR1MYBsHczCVBcbCxDpq8c10dxuNy677DJcdtllAICGhga0trYiJycHTqdTswuk/iXAhylVyUcDg7ypmp6ShcmHKVXwYco6uHmiLo596+AxfnWxhIV1MANZXZz3ifTV4yDakTIzM5GZmanmtRDxpqoyF4vsWgZ3ZdUVLTDNmmhmx4Yy6uKxHuvgvK8uZt9bB8e+uuTunCFRgihKsNmYjECkJc5cZCq8qaqL7d6tg2NfXdyVtQ6OfXUxG8c6WAdWXTzKbB08yqyu2Psng8hE2uPMRaYhSRKL7KqMgQTrkDvp8ViPOjj2rUP+HTGQoA4nAwmWwSxMdXHetw6u99XFIBqRvjhzkWmERAlS+8kr7kypw8njnJbBbBx1RY8yszun2fEYv7rYodA6mI2jLmaiWQebKakrdg7h+CfSHmcuMo3Yoye8qaqDu7LWEWQgQVUc+9YRLa7OGi5q4Ni3Dj8bC6gqWhONtTDNzs9MNFUJgsAgMpGO+jRz1dfX45lnnsHixYtRV1cHANi0aRMOHjyo6sVR/xI76TOQoA42FrAOZqKpSx77QT5MmV70WA+7c6qBxdWtg/O+uqIBZGYgmx0706pP3ohiEI1Ie72eubZu3YrRo0fjgQcewPLly1FfXw8AeOmll7B48eI+XcSTTz6JkpISeDwezJgxA5999lmXH/vSSy9h2rRpyMrKQlpaGiZPnoy//vWvffq+ZC7ypG8TAAdvqqpwMiPBMlgXSl3ywxSPtJkfAwnqYiaadbAulLq4cWgdPMqsPjaVIdJPr2euRYsW4aqrrsLOnTvh8XiUt3//+9/HBx980OsLWLVqFRYtWoSlS5di06ZNmDRpEubOnYuqqqpOPz47Oxt33nknNmzYgK1bt2LBggVYsGAB3nrrrV5/bzIXHmtQn9vOG6pV8GFKXQwkWAeDaOpy80iPZXDsq4vzvnVw7KuPm4dE+un1zPX555/j+uuv7/D2QYMGoaKiotcX8PDDD+O6667DggULMH78eKxYsQKpqalYuXJlpx9/2mmn4fzzz8e4ceMwYsQI/PznP8fEiROxfv36Xn9vMhd2qVIfF5TWwaMN6mJGgnWwsYC6mI1gHfLvyM2xrwp5DhElIMTxb2ryvM/se/XwKD+Rfno9c7ndbjQ2NnZ4+7fffou8vLxefa1AIICNGzdizpw50Quy2TBnzhxs2LCh28+XJAlr1qxBaWkpTj311E4/xu/3o7GxMe4PmRNvqOpjEM06uCurLidr41gGjzKri/O+dXDeV1fs68hAgrlx41x9bCxApJ9ez1znnXce7r33XgSDQQCRbiBlZWW4/fbbceGFF/bqa9XU1CAcDqOgoCDu7QUFBUfNamtoaIDX64XL5cI555yDxx9/HN/73vc6/dhly5YhMzNT+VNcXNyrayT9sD6C+pxKNg6Lq5uZJEnMxlGZm40FLINZmOpyMgvTMjj21RUbkAmGOPebGce++uTmPAyiEWmv1zPXQw89hObmZuTn56O1tRWzZs3CyJEjkZ6ejt/97ndaXGMH6enp2LJlCz7//HP87ne/w6JFi7Bu3bpOP3bx4sVoaGhQ/uzfv1+Xa6Te446s+piRYA2xgR6Of3Vw7FsHMxLUxbo41uHn2FeVwyYo/+8PMwvZzPzcOFedi905iXTj6O0nZGZm4p133sH69euxdetWNDc347jjjos7ktlTubm5sNvtqKysjHt7ZWUlCgsLu/w8m82GkSNHAgAmT56M7du3Y9myZTjttNM6fKzb7Ybb7e71tZH+5F1z7kqpJ1oXiotJM4vNGOGRNnUwiGYdfm6gqIpHeqyDm4fqEgQBLocNgZDI8W9yHPvqYz1MIv30OogmO/nkk3HyyScn9M1dLhemTp2KNWvWYN68eQAAURSxZs0aLFy4sMdfRxRF+P3+hK6FjMcbqvoYSLCG2N8Pd2XVIb+Ofi4mTY9HmdXljikuLUkSBEHo5jPIKEGOfdW57QyiWQE7kquPjQWI9NOjINpjjz3W4y9488039+oCFi1ahCuvvBLTpk3D9OnT8eijj8Ln82HBggUAgCuuuAKDBg3CsmXLAERqnE2bNg0jRoyA3+/HG2+8gb/+9a946qmnevV9yXwYRFOfi3WhLEEe+w6bAJuND7xqcDKAbBmc+9Ulv46SBIRECU475xSz4thXn8thA/wMJJhdkGNfdcrmIdc9RJrrURDtkUceift7dXU1WlpakJWVBQCor69Hamoq8vPzex1Emz9/Pqqrq7FkyRJUVFRg8uTJWL16tdJsoKysDDZbdIL1+Xz42c9+hgMHDiAlJQVjx47F3/72N8yfP79X35fMh9kI6mMmmjWwwK76ogFkjn2zY1MZdcUVVw+LnFdMjGNffcqRNjYWMDV5ze/m2FcN1/xE+ulREG3Pnj3K///jH//A//3f/+HZZ5/FmDFjAAClpaW47rrrcP311/fpIhYuXNjl8c0jGwb89re/xW9/+9s+fR8yN+7Iqo8Fpq2BxxrUx8WkdbCxgLpiAzKBkIhUl4EXQ0fFuV990SNtrAVrZtw8VJ+T9TCJdNPrmeuuu+7C448/rgTQAGDMmDF45JFH8Otf/1rVi6P+hbVB1OdkNo4lMICsPjeDaJYgihJCYiRjhONfHXabALkMGse/uXHuV5+TR9osgWNffWwsQKSfXs9c5eXlCIVCHd4eDoc7dNkk6g3eUNXHbBxr4FFm9bHArjXE/n4496tDEATWxrEIHudUH7vTWoOfWZiq4+YhkX56PXOdccYZuP7667Fp0yblbRs3bsQNN9yAOXPmqHpx1L/4GURTnbKYZCDB1OQFj5tjXzVKFiYXk6YWG+RhIEE9DCJbA49zqo+bh9bAxgLq45qfSD+9nrlWrlyJwsJCTJs2DW63G263G9OnT0dBQQGeeeYZLa6R+glm46iPu1LWwCxM9Sn1ALmYNLXYuYldJNXDud8aOPerL3qkjY0FzIxrfvUxgEyknx41FoiVl5eHN954A99++y127NgBABg7dixGjx6t+sVR/yJ3UnJyMaka1kSzBrkAMgvsqif2SI8kSRAEBmjMKPZBir8j9fBImzUwkKA+NxsLWAIDyOpjMzEi/fQ6iCYbPXo0A2ekKnnBw8WkergrZQ2BEAurqy32tQyGJbgcDNCYEY/0aIPHOa2BgQT1sUOhNbAeoPqcPM5JpJteB9Guvvrqo75/5cqVfb4Y6t9YF0p93JWyBmYjqC92HgmERT6kmhRrQmlDOdLGud/UGERTH7MwrYFzv/o47xPpp9dBtMOHD8f9PRgMYtu2baivr8fpp5+u2oVR/8PFpPrkGkM8zmluHPvqiz0aGwyJgNvAi6EuMRtBG6wJaH6iKCEktmchc/yrhpuH1sB1j/rYWIBIP70Oor388ssd3iaKIm644QaMGDFClYui/inQXgSWdaHU4+aRHkvgYlJ9dpsAu01AWJQ4/k2MXZm1wSNt5hc7L3H8q4dHma2BGfjqY0MZIv2oMnPZbDYsWrQIjzzyiBpfjvopBhLU57LbAfCGanaBUHs9QI59VfFYj/nJvxt25lQXx775xQZ5uHmonuiRNnbnNDNl7ue6RzWsg0ykH9Vmrt27dyMUCqn15agf4q6U+nhDtQaOfW3wWI/5BZW6OHaDryS5cO43v9jfDed+9USPtLE7p5nxKL/62FiASD+9Ps65aNGiuL9LkoTy8nK8/vrruPLKK1W7MOp/mI2jPjm7IyRKEEUJNhuzPcwoGGZdHC3wSJv5MQNZGzzKb36xWZi8N6uHAWRrkOcmNhNTD8c+kX56HUTbvHlz3N9tNhvy8vLw0EMPddu5k+houCulPtcRHQo9NmZ7mBHrQmlDXpyzsYZ5KQ9SnPdVxYcp8+OaRxs8ymwN3EBRHxsLEOmn10G0tWvXanEdRNFsHN5QVdMhiOZkEM2MuJjUBgtMmx/HvjbkhykGkM0repSZY19NnPetgeNffdw8IdJPr2eu008/HfX19R3e3tjYiNNPP12Na6J+ig9T6nPaoq9lkDdV0+LY1wYzEsyPY18brAdofsxA1kY0kMDGAmYlihLLWGiAQTQi/fR65lq3bh0CgUCHt7e1teHDDz9U5aKof/KzuLrqbDZBqYvGXVnzkgsgc+yriwtK85PnJXbnVBfrAZpfdOxz3lcTj7SZX1xnWgaRVcOxT6SfHh/n3Lp1q/L/33zzDSoqKpS/h8NhrF69GoMGDVL36qhfYUaCNlx2G4LhMB+mTIxjXxsMIJtfdOzzqLmaeKTN/Djva8OpbJ6wO6dZxc5L3DxUDzcOifTT4yDa5MmTIQgCBEHo9NhmSkoKHn/8cVUvjvqXIHdlNeFy2OALMIhmZjzWoA0uKM0vwAxkTXDsmx8bC2jDzSxM04v93XD8q8fFZkpEuulxEG3Pnj2QJAnDhw/HZ599hry8POV9LpcL+fn5sNu5k0x9x11ZbTiZ3m16HPvakLOb+DBlXhz72mAgwfzk342bY19VzMI0v2DMMX6bjUf51SIHJFkLk0h7PQ6iDR06FAAgivyHSdrgglIbzEgwPxaY1gbrg5gf531tcN43P3Yn1AbHvvkxC1MbHPtE+ulREO3VV1/F2WefDafTiVdfffWoH3veeeepcmHU/wS4oNQEb6rmxyNt2nBz7JseGwtog9k45sc1jzaimyfszmlW8j2ZTQXUFTvvS5IEQeB9lUgrPQqizZs3DxUVFcjPz8e8efO6/DhBEBAOs5An9U1QvqkykKAqZuOYn1wAmQ9T6pIDM6wPYl48zqkNzvvm5+eaRxPcODQ/PzPRNCG/npIEhESJm1NEGupREC32CCePc5JW/NyV1QQLjZofAwnakF9P1gcxr2gWJmuqqon1AM2PR9q0odSBZXdO02IWpjZiX89ASGSAnkhD/NdFpiBJEheUGnGxwLTpsTunNpiRYH4MIGtDzkDg2Dcvjn1t8Ciz+QU59jURu4bkxjmRtnqUifbYY4/1+AvefPPNfb4Y6r+CMbUreFNVF7NxzI8PU9qQs5v4MGVeHPvaYADZ/NhYQBushWl+rAOrDYfdBpsAiBLHP5HWehREe+SRR3r0xQRBYBCN+iT2IZc3VXXJ6dxBFtk1LR5t0AYDCebHIJo23MzGMT12ptVGtIQF1zxmxXlfOy6HDW1BkRvnRBrrURBtz549Wl8H9XPBmMmeN1V1MZBgfjzKrA0XGwuYnpKNwwLIquK8b37RzrSc99XEEhbmxzWPdpz2SBCNGyhE2kpo9pIkCZLEnR5KnDzZ220C7DY+TKkp+jDFIrtm5eeurCYYSDA/ZmFqQznKzLFvWgwkaMPJed/0OO9rh8eZifTRp9nr2WefxYQJE+DxeODxeDBhwgQ888wzal8b9SNcTGrHbeexHrOTA5xcUKqLQTTzUwLI7M6pKnZlNj9unmjDFbPm4Ua/OXHsa8dl59xPpIceHeeMtWTJEjz88MO46aabMHPmTADAhg0bcOutt6KsrAz33nuv6hdJyY83VO2wJpr5sTunNuTX08/FpGmxNo422FDG/JiNo43Y1zMQFuF2MEBvNkE2FtAMNw+J9NHrINpTTz2Fp59+GpdcconytvPOOw8TJ07ETTfdxCAa9UmQtUE0w4cp8+PDlDbkYz1Bjn3TYhBNG872GnPMQDavIMe+JmIbNQRCDKKZEed97TCIRqSPXs9ewWAQ06ZN6/D2qVOnIhQKqXJR1P+wS5V2eEM1t7AoISwyE00LLh5lNr0AMxI0wbo45sexr43YzVhm4JsTS7hoR9k457qHSFO9nr0uv/xyPPXUUx3e/qc//QmXXnqpKhdF/Q8zcbTD2jjmFvuQy/GvLgaQzU851uNgQxk1sbGA+TEbRxuxDao4/s2JY187TnanJdJFr49zApHGAm+//TZOOOEEAMCnn36KsrIyXHHFFVi0aJHycQ8//LA6V0lJj7tS2uEN1dwYRNMOs3HML8DGAppQAsjcPDEtrnu047Lb0CqGOfebFDfOtePimp9IF70Oom3btg3HHXccAGD37t0AgNzcXOTm5mLbtm3KxwkCd5Wp5+QbqpPZCKpjIMHc/OFIZ05BABw2jn81MZBgfsxI0Ib8esrHxe2cW0yHgQTtuBw2tAbDCLTfX8lceJRZOzx9QqSPXgfR1q5dq8V1UD/HHVntsC6Uuck1W5x2GzcfVMYsTPNjEE0bsa9nMCzCbmOmn9mwK7l22FDJ3Djva4cb50T64OxFpsAbqnbYpc3clKYaDCCrjgFk8/MzG0cTsRtSDCSYU5DZOJqRX1M2FjAned3j5NhXHTPwifTR60y0trY2PP7441i7di2qqqogivH/SDdt2qTaxVH/EQ2icbdcbfJryl0pc2IAWTtsLGBukiQpgQQ52E/qiH09Of7NSQkkcO5XHbNxzI3rHu0wA59IH70Ool1zzTV4++23cdFFF2H69Ok8fkSq4I6sdhhIMDcuJrXDsW9uIVGC1J4o4mZjAVUJggCX3YZAWGRGgkkxC1k7DCSYmzwnubnuUZ38HMUMZCJt9TqI9tprr+GNN97ASSedpMX1UD8VLbDLoKzaWGTU3OTCxwyiqc/NYw2mxs602nI52oNofJgyJTYW0E70SBsbC5hRkGNfM1zzE+mj17PXoEGDkJ6ersW1UD/GxgLacck10fggZUp+jn3NyNkIQY59U2IQTVvMxDQ3ZiFrh2Pf3Ljm1w7HPpE+ej17PfTQQ7j99tuxb98+La6H+il2qdIOi4yaW2x3TlIXx765yb8Xu02A3cYsZLW5eKTN1JiNox0eaTM3PxsLaIZBNCJ99Po457Rp09DW1obhw4cjNTUVTqcz7v11dXWqXRz1H9yR1Y7LzsYCZsaxr53YDm2iKMHGQI2pMBtBWzzSZm7MQtZO9Egbu3OaEdc92nGzKzmRLnodRLvkkktw8OBB3HfffSgoKGBjAVJFtEMbb6hqk7u08YZqTlxMaif2NQ2ERXhsLF5vJgF25tRUNCOBgQQzCjAbRzNsLGBurAeoHY59In30Ooj28ccfY8OGDZg0aZIW10P9FAMJ2mFqt7nJWSLsUqW+2PkkGBbhcTKIZibReZ+/Fy24mJFgWpIksUOhhpSmMiFmYZoR1/za4ZqfSB+9nr3Gjh2L1tZWLa6F+jFlMckdWdXxhmpuPNKmHactJhON49905N8JgwjacHLuN62QKEFqTxBkIEF9rIdpbkGu+TXDsU+kj17PXvfffz9+8YtfYN26daitrUVjY2PcH6K+4K6UdtxKbRDeUM2IY187NpvA48wmxiM92nLzWI9psTOttthUw9yUo8wc+6rjxjmRPnp9nPOss84CAJxxxhlxb5ckCYIgIMwCttQHAdZE0wzrI5gbO9Nqy2W3IRgOc/ybELMwtcXGAuYVu6nF8a++6NhnPUAz4tyvHR7jJ9JHr4Noa9euVf0innzySTz44IOoqKjApEmT8Pjjj2P69OmdfuzTTz+N559/Htu2bQMATJ06Fffdd1+XH0/WwGwc7TC129zk7mEMIGvD5bDBF2AQzYyUzRMHGwtogRkJ5iX/TmwC4ODcrzqOfXNjFrJ2OPaJ9NHrINqsWbO6fJ8c2OqNVatWYdGiRVixYgVmzJiBRx99FHPnzkVpaSny8/M7fPy6detwySWX4MQTT4TH48EDDzyAM888E19//TUGDRrU6+9P5sAgmnbkXalgWIIoSrDZ+MBqJhz72mIQ2byYjaAtHmkzLzkDmZsn2mAGvrkxA187nPeJ9JHw7NXU1IQ//elPmD59ep86dj788MO47rrrsGDBAowfPx4rVqxAamoqVq5c2enH//3vf8fPfvYzTJ48GWPHjsUzzzwDURSxZs2aRH8UMpCyK8UFperiOhSKvKmajXzUimNfG3yYMi8GkLXFI23mxUwcbfEos7kFuebXjIt1kIl00efZ64MPPsCVV16JoqIiLF++HKeffjo++eSTXn2NQCCAjRs3Ys6cOdELstkwZ84cbNiwoUdfo6WlBcFgENnZ2Z2+3+/3s/mBBQS5oNRM7E43Awnmww6F2uLRBvOKBtHsBl9JcuLYNy/O+9pyc+ybGse/duR538+xT6SpXh3nrKiowHPPPYdnn30WjY2N+OEPfwi/349XXnkF48eP7/U3r6mpQTgcRkFBQdzbCwoKsGPHjh59jdtvvx0DBw6MC8TFWrZsGe65555eXxvpi8d6tONiEM3UmI2jLRbZNS9mIGuLWZjmxUwcbcWWsSBzCYVFiO2/Fh5nVh/XPET66PHsde6552LMmDHYunUrHn30URw6dAiPP/64ltfWrfvvvx8vvPACXn75ZXg8nk4/ZvHixWhoaFD+7N+/X+erpJ5gIEE7NpsApz1SB403VfNhIEFbzEgwLzmQwGwEbbh5pM20uObRFrMwzSt2Hcrxrz4nxz6RLnqcifbmm2/i5ptvxg033IBRo0ap8s1zc3Nht9tRWVkZ9/bKykoUFhYe9XOXL1+O+++/H++++y4mTpzY5ce53W643W5Vrpe0wyKj2nLabQiGwwiGuCtrNoH234mTY18TTiUjgQtKswkoxdXZ7EQLDCSYV4CNBTQlv6480mY+sfMR1/zqY2MBIn30ePZav349mpqaMHXqVMyYMQNPPPEEampqEvrmLpcLU6dOjWsKIDcJmDlzZpef9/vf/x6/+c1vsHr1akybNi2hayBzYDaOtlhk17w49rXF+iDmxc0TbfFhyrz8rAOrKXZlNi/5dyIIgIPd4lXn5tgn0kWP794nnHACnn76aZSXl+P666/HCy+8gIEDB0IURbzzzjtoamrq0wUsWrQITz/9NP7yl79g+/btuOGGG+Dz+bBgwQIAwBVXXIHFixcrH//AAw/grrvuwsqVK1FSUoKKigpUVFSgubm5T9+fzEHOEmE2jjZc3JU1rUCovTsnx74mmI1jXjzSpi0GEsyLY19b0XmfG4dmE1sDWRAYRFOb0p2Tax4iTfX67p2Wloarr74a69evx1dffYVf/OIXuP/++5Gfn4/zzjuv1xcwf/58LF++HEuWLMHkyZOxZcsWrF69Wmk2UFZWhvLycuXjn3rqKQQCAVx00UUoKipS/ixfvrzX35vMg40FtBVtec3jnGbDhyltsciueUWzMNmdUwvMwjQvrnm0xSxM8+LY1xY3T4j00avunEcaM2YMfv/732PZsmX473//i5UrV/bp6yxcuBALFy7s9H3r1q2L+/vevXv79D3I3NjuWltcUJpXgMXVNcVdWfNiAFlb7FBoXkEe59SUmxuHphXg2NdU7LwvihJsPDJLpAlVZjC73Y558+bh1VdfVePLUT/Ehylt8UibeXFXVlvMRDMvBhK0xSNt5sWNQ205uXFoWlzvayu2LA7XPUTa4QxGpiDvFvKmqg02FjCvQPvYZ5c2bTCAbF7RADJ3yrXADGTzkh9uOe9rg0fazItBNG3Fbshy/BNphzMYGU6SJC4oNRZ9mOLRBrPhglJbDKKZF8e+thhIMC+OfW1x3jcvdiTXVlwQjeOfSDOcwchwsQt8Lii14eSRNtNid05tKZ1pOfZNx8+HKU0xkGBefh7j1xQ7kpuXPB9x01wbNpsAZ3t2d5DrHiLNcAYjw8Uu8Lmg1AYfpsyLRXa1FW0swCxMs4lm47A7pxZ4nNO8WA9QW9GO5Bz7ZsMsTO1x7ifSHmcwMlxs9yQG0bTBBaV5sbGAtqJZmKwHaDYMJGhLfl2ZjWM+DCRoy82NQ9PixqH2nBz/RJrjDEaGkyd5h01gK2aNcFfKvNilTVvMwjSv6LEezvta4OaJeXHzRFssYWFeXPNoj8eZibTHGYwMxx1Z7TGQYF7sTKstZiSYFx+mtMXGAubFbBxtya9rWJQQFnmU30yCrIWpOc79RNrjDEaGk49ZcTGpHRd3ZU2LRXa1xcWkeTGQoC1mIJsXM9G0FTuncPybCzfOtRetBcuxT6QVzmBkuEB7wW8uJrXDTDRzkiSJgQSNRQMJzEYwm2gggY0FtMB537wYSNBW7HqS499c/Nw41Bw3zom0xxmMDCdP8ryhaof1Qcwp9vfBhyltcOybFwMJ2mImmnlx80RbsXUWOfebC8e+9ljGgkh7nMHIcKyLoz1mJJhT7O+DmZjaiI59duc0Gz5MaYtHmc2LAWRtCYLAbByT4tjXnpMbKESa4wxGhuMNVXvs0mZODKJpjwFk82J3Tm1F530JIourmwoz8LXHud+c2FhAe9xAIdIeZzAyHBsLaM/V/pDKxaS5yJ05nXYBNhsDCVqIDSSQucgLfGYhayOuuDofpkyFGfjaYxDNnDj2tSePfT/HPpFmOIOR4dhYQHtcTJoTO3Nqz81jDabFxgLair2nMgvZXNidU3usCWhOXPdoTx77nPeJtMMZjAzHYw3ak2+oft5QTYVZmNpz8liDafEov7bYodC8WA9QezzSZk4c+9rjxjmR9jiDkeH4IKU9lyOS6RHkDdVU/MxG0ByzEcxJFCWE2ut0ce7Xhs0mwNF+TJyBBHPhukd7DCSYk59jX3Nc9xBpjzMYGY6LSe3Jhbv5IGUuHPvaY20Qc4qdi9hYQDsMJJgTM/C152R3TlOS65Ny81A7nPeJtMcZjAwXZGq35nhDNScG0bTHzrTmFPtgy/GvHc795sS5X3sc++YUCLGMhdZ4lJlIe5zByHAssKs9NwMJpsQdWe3xWIM5xf4+OP61o9TD5Pg3Fa57tMemMubEsa89F7MwiTTHGYwMpxQZ5Q1VM9yRNSc2FtAed2TNKfZBShB4nFMrHP/mJP8+3Jz7NRMd+2GDr4RisbGA9rjmJ9IeZzAyHIuMas/JbART4o6s9uTXNixKCLcXsifj8TibPpTjzJz7TSXI8a+56NjnvG8mnPu1xyAakfY4g5HhWBNNe0ztNicGkLUX+9pyQWkenPf1wbnfnJiNoz25YYmfY99UuHmoPSePMhNpjjMYGY67UtpjcXVz4tjXXlwQjePfNOQAMjtzaosZCeYjipJSD5PdObXjctgBcOybTUCuBct1j2bcPMZPpDnOYGS4gPIwxeGoFe5KmRPrAWrPYYsGaTj+zYOZOPpgYw3zYWdafXDsmxO7c2qPmydE2uMMRoaTJ3kW2NWOmzdUU2JdHO0JgsDi6ibEIz364Ng3n7ggGse/ZhhIMCd5/HPjXDvyvMLTJ0Ta4QxGhmM2jva4mDQnjn19uJmRYDrRo8x2g68kuclzP5vKmEfsPMS5XztulrEwJW6ca4/zPpH2OIOR4XisR3vRmmjsUmUmrImmDwaRzYeNBfTBI23mE1QycQTYbKwJqBVmYZoT1z3aYwkXIu1xBiPDsSaa9pwxHdokiYE0s+BiUh9srGE+0eOcDCJoiWPffHiUWR9y0xIGEsxF3szl+NcOA8hE2uMMRoZjIEF77FBoTn4e59SFHETm0QbzYAayPpiFaT7KxiHHvqZc9shRcc775sI1v/Y47xNpjzMYGY43VO3FBml4pNM8OPb1wQWl+fiZjaMLHuc0H459fXDeNx9JkthYQAesA0ukPc5gZLggs3E0F/va8qZqHqwLpQ+XnUcbzIYBZH3wWI/5MAtTHzzKbD5xnWk5/jXDsU+kPc5gZLjogpK1cbRiswlw2FgfxGwYSNCHsqDk2DeNaACZ3Tm1xEw08wly3tcFM9HMJ/Z3we6c2mFjASLtcQYjw0WL7PJhSktcUJoPC0zrg9k45sOxrw957LMulHkEmH2vC7lpCed984gtJ8Lxrx2ueYi0xxmMDMdsHH3wpmo+PNajD2bjmE903mcGspY475sP1zz64Mah+ci/C4dNgM3GuV8r3Dwh0h7v4GQ4BhL0wfRu82E2jj74MGU+zMbRR4bHCQBoaAkafCUk47yvD/l0A+d981A603Lsa8rFjuREmuMsRobjglIfLK5uPn5mJOhCWVBy7JsGs3H0kZvuBgBUN/sNvhKSceNQH3LNrbZQ2OArIVkgHPldcOxra0CaC0DkPuvzhwy+GqLkxFmMDMfGAvrwOCP/3FsDXFCaBbtz6iMjxQEAaGgJGHwlJGMAWR953kgQrYZBNNPg2NeHHEiobea8bxYc+/pIc9mVNT/nfiJtcBYjw7GxgD5y2h+man28oZoFszD1kZ/uAQBUN3Hsm4USQOa8r6m89EgggWPfPII8yqyL/JgsTEmSuvlo0gPXPPoQBAF56dxAIdISZzEyHI/16EO+ofJhyjzkLEwnx76m5LFfxbFvGpz39ZHnjQSQm9pCaAsyC9kMOPb1Ic/7gZCIxjYeaTMDuTunm2Nfc3IWMtf8RNrgLEaGEkUJITFyU+WCUlvyDZWBBPOQH6bc3JXVVD6DaKajBJDtPMavpYwUh5L1wYwEc2A2jj48TjvSPZGj/AwkmAMbC+iHG+dE2uIsRoaKLXLPhylt8YZqPsxI0AfHvvkoAWSOfU0JgoBcb+RIZw1rQ5kC5339RLOQ2wy+EgLYWEBPXPcQaYuzGBkqNojGm6q28nlDNR0+TOlDrolW1dTG2jgmwbGvn1zO/abC7pz64brHXDjv6ydXPs7JzRMiTXAWI0PJN1SARxu0xl0p8wmEeZRZD/LYbwuKaGa7d1NgIEE/7NBpLjzOqZ88NpUxFT/Hvm645ifSFmcxMlRslypB4HFOLbG4uvkEQu1HG7ig1FSKy450d6Q2Dse/ObArs37kjIQajn1TYABZPyyubi5BbhzqRhn73Dwh0gRnMTKUrz0rxOPkUNSafKStzudHWOSRNqOFRUnJivK2Fz8m7XBX1lwaWoMAOPb1kJseqYnGhylzkNc9qS4GkLWWn8F530xa2zsEsxam9uQ1DzdPiLTBWYwMJWeFyJM9aSc7zQWbAIgSUOvjTdVotc1+iBJgE4CcNI5/rTET01zko4Xybjlph8c5zaWa6x7dMBvHXGrbfw85nPc1F7txyFqwROpjEI0MJS8m5Swp0o7dJigLF+7KGk8O5uR63bDbeJRZa8xEM4+wKKHOFyl2zECC9thYwFy4eagfzvvmwgCyfuRj/IGwiMY21oIlUpvhQbQnn3wSJSUl8Hg8mDFjBj777LMuP/brr7/GhRdeiJKSEgiCgEcffVS/CyVN8IaqL3lXltk4xpN3xjn29RHboZOMVecLKFmY2Wkuoy8n6UUz0dilzQy4eagfZiCbC9f8+vE47UhvL5fAIDKR+gwNoq1atQqLFi3C0qVLsWnTJkyaNAlz585FVVVVpx/f0tKC4cOH4/7770dhYaHOV0taYCBBX6wPYh5cTOqLGQnmIf8OstNczMLUATPRzCMsStGjzJz7NZff/hrX+QJKIysyTjWP8euK6x4i7RgaRHv44Ydx3XXXYcGCBRg/fjxWrFiB1NRUrFy5stOPP/744/Hggw/iRz/6Edzunk3Afr8fjY2NcX/IPBhI0Bc7VZmHMva5mNRFPheTpiEHEXI59nUh31+b/SG0tRf2JmPIWZiCAOQwC1NzA1KjgfpaZmIajmt+fbEmIJF2DAuiBQIBbNy4EXPmzIlejM2GOXPmYMOGDap9n2XLliEzM1P5U1xcrNrXpsQxkKAv7kqZBxeT+mIWpnlw7Osr3e2Aq70bHse/seTj5DlpLjjshldUSXo2m4Bcb3t3Wo59Q0mSFHOUmXO/Htihk0g7ht3Ba2pqEA6HUVBQEPf2goICVFRUqPZ9Fi9ejIaGBuXP/v37VfvalDg+TOmLQTTz4NjXF2vjmAc7c+pLEARmJJhEdN5nPTS9ROd+1sM0UpM/BH8ocqSWWcj6yOW8T6QZh9EXoDW3293jo5+kPwYS9CUXMmYQzXgc+/qSx75cG8fJLBDDyGM/l2NfN7npbhysb2VGgsHYmVN/kbm/keseg8mvf7rbgRSX3eCr6R+4cU6kHcOeInJzc2G321FZWRn39srKSjYN6CeCYRF1LZEaFUzt1odyQ+WulOHk3wE7tOkjK8UJR3ttnBqOf0MxE01/efKRNo59Q/E4m/5YC9YcuHGoPwbRiLRjWBDN5XJh6tSpWLNmjfI2URSxZs0azJw506jLIh3V+QKQJMBuEzAglQV29aAca2jksQajcUGpL5tN4ILSJGraC3znpnPe10u0Ng6LqxuJ877+eJTfHJiBrD+ueYi0Y+hxzkWLFuHKK6/EtGnTMH36dDz66KPw+XxYsGABAOCKK67AoEGDsGzZMgCRZgTffPON8v8HDx7Eli1b4PV6MXLkSMN+Duob5YbqdcHWniFC2pJvqL5AGD5/CGnupD/RbUotgRCa/SEAfJjSU166G+UNbahq5ILSSNG5n2NfL9HaONxAMRIz0fTHpjLmwACy/uQsTGbfE6nP0Cfo+fPno7q6GkuWLEFFRQUmT56M1atXK80GysrKYLNFk+UOHTqEKVOmKH9fvnw5li9fjlmzZmHdunV6Xz4liDdU/XndDqS67GgJhFHT7GcQzSByNkiK04401gbRTT6PM5uCcpyTc79umIlmDnJxe459/bCphjlU8xi/7uR5ptYXQFiUYGfCApFqDH+CXrhwIRYuXNjp+44MjJWUlECSJB2uivSgBNF4Q9VVXrob+2pbUN3kx9CcNKMvp1+Ss0Hy0t0QBC5q9BI9zsyHKaOEYmphMhNNP+zSZg5VTayFqTceaTMHbpzrLzvNBUEAwqKEwy0B3nOJVMT2ZGSYamYjGEIOWrI+iHHkIA7Hvr7y5O60PNJmGNbCNIaSicYgmqEYSNBftCZaGzfiDcSxrz+n3Ybs9vssg8hE6mIQjQwjF7fnDVVf3JU1Ho81GIOZaMaTg/fZaS4eLdGRnIFQw3nfMM3+EFoCYQCsiaYned5vC4pKLVLSH4NoxuAGCpE2GEQjw8iBBB5r0Fc+g2iG42LSGKyJZjx5Ic9jJfrK9UayEXyBMFoCDCQYQZ73U1121iPVUarLAW/76811j3G4eWgM5Sg/xz6RqhhEI8MwkGAMZqIZjx3ajMFMNONx3jeG1+2AxxlZ8rG5gDHk7HvO+/rjusdYYVFCbTPXPUbg2CfSBoNoZBg+TBkjtj4IGYNj3xixmWisjWOMmma5qQDroelJEISY5gKc+43AOrDGia57GEgwQp0vAFECBCFylJ/0wyAakTYYRCPDsDunMfJ4pM1wfJgyhhxECIRENLbySJsRajj2DRN9mGImmhHkDFiWsNAfAwnGkl/3nDQXHHY+eupJfsZiTTQidXEmI0P4/CH42gvs8mFKX/ICnotJ4zATzRgepx2ZKU4AzMQ0CjdPjBPNROPcbwRunhgnj2PfUNWshWkYbpwTaYNBNDKEvCPCArv6i3bqCUAUeaRNb6IoMYhmIGYkGIuZaMZR5n6OfUPImWgc+/pjPUxjcc1jHDYWINIGg2hkiCreUA2TneaCIEQKvda18FiP3upbgwi1By9z0jj+9ZbP2jiGkhfyzEjQXy6P9RiKmWjGYWdmYzGIZhxuHBJpg0E0MgSP9BjHabchOzVS2JU3Vf3Jr/mAVCdcDk7BeuOC0lg1PNZjGI59Y7E7p3E49o3FIJpx5Nf8cEsQwbBo8NUQJQ8+wZEh5BtqfgZvqEbggtI4ythncWlDRDPRWBNNb8GwiMMtQQB8mDJCXntHVGaiGYNHmY3DNY+xlCxMbp7oLivFCYdNAADUNvP0CZFaGEQjQzATzVhs926c6uZI8IYPUsbgw5Rx5AW83SYgq73BA+mHjQWMEwqLqPVFxj83UPQnz/u1Pj9CzMbRXXUT1z1GsdkE1kUj0gCDaGQIpnYbi4EE43DsG0t+gGUAWX/Ro5wu2Np3xkk/0cYCAUgSm8roqdYXgCRFAsjZaS6jL6ffyUlzwyYAkgTU+ZiNozeue4yVm95ewqWZGfhEamEQjQzBArvGkgMJDKLpjx3ajMUAsnHYVMBY8uveGgzDFwgbfDX9izzv56S5YGcAWXd2m4AcLzPwjRItY8G53wh5zEQjUh2DaGQI7koZK4+dqgzD2iDGYndO41SzqYCh0twOpLrsAIAajn9dyRkgrANrHAYSjNEWDKOxLQQAyPPyKLMRlCxk1kQjUg2DaGQIuag3b6jGUGqiNTK1W28MIBtLft0bWoPwh5iNoyeOfePJAUw2F9CXkoHMALJh5AAmg2j6kucal92GjBSHwVfTPzEDn0h9DKKR7kRRUnZD+DBljDwWmDYMAwnGykxxwmWP3Pq4oNRXDTPRDMeHKWOwK7PxuO4xRuyaRxB4lNkIbCxApD4G0Uh3h1sCCIsSBAHI8bLArhG4I2sceQHP2iDGEASBgQSDMIBsvNz2ey4z0fRVxbFvOM77xlBqYXLsG4Zjn0h9DKKR7uQgQnaqC047h6AR5BtqU1sIbUEeadOLPxRGfUsQAB+mjJTHumiGiO3OScZgRoIxlEw01kQzTHTeZxkLPbEOrPGYhUmkPkYwSHfMRjBeutsBt4NH2vRW236M2WkXkJniNPhq+i/uyhqDx/iNF20qwwLTeorWgeXYNwq7khuDa37jKY0FOPaJVMMgGumON1TjxR5pYzaOfpQjPV7WBjESO3Qao7qJGQlGYyaaMZRj/MxEMww3T4zBNb/xlNMn/hBaAzx9QqQGBtFId3yQMod8Lih1x8WkOfBhSn/+UBgNrZGjzGwsYBwlI4HHenQjSVJMd042FjAK531jcN1jPG/M6RPO/UTqYBCNdMcCu+YQPdbDG6peuJg0h+ixHtbG0QuPMpuDHMDkg5R+mvwh+EMiAM79RpI3Dn2BMHz+kMFX03+wJprxePqESH0MopHuGEgwByWI1shAgl449s2BGQn6k4M2OWlu2Gw8ymyU2AxkSZIMvpr+Qc5CS3c7kOKyG3w1/Vea24HU9tefc79+uO4xB2YhE6mLQTTSHW+o5iAfK2Emmn6qm1lc2gxYE01/nPfNQc5E84dENDMbRxfK2Gc9NMMxA19fkiRFO9Ny7jdUHuthEqmKQTTSnZLazRuqoeQCx7yh6if6MMW6OEaK3ZEVRWbj6EHe/c71ugy+kv4txWWH1+0AwLlfL+zMaR7y70DODiRtxR5lZi1MYzEDn0hdDKKR7rgrZQ7KYpI3VN2wqYY5yIv5YFhCfXuxe9JWTXtNNG6eGE8OZMq/E9KWsubh5onhopuHLGOhB3ns8yiz8ZTOzMzCJFIFg2ikq9gObexSZSzuSumPTTXMweWwYUBqpLg9x78+5NeZ2QjGy+WxHl1x88Q88hhI0BWP8ZuHkoHPeZ9IFQyika7knW+X3YaMFIfBV9O/8UibvlgbxFzkDp1VzEjQRXUzg2hmwQLT+qpSMtE49o3GzUN9KZsnXPMYjvUAidTFIBrpqqq9E2ReuhuCwA5tRoo90tbAI22aY20Qc+HDlL6YkWAezETTFzPRzCOPTWV0xXnfPLjmIVIXg2ikK+5KmUfskTYuKLXH2iDmwg6d+qphJpppMBNNX3K2KzPRjCdnIDOQoA+lkRjnfcPFdueUJJ4+IUoUg2ikK95QzYU7U/rhjqy5KBkJ7NKmC45/85ADmQyi6YNj3zy45tEXx755yL8Df0hEkz9k8NUQWR+DaKSratYGMZVojQTWhdIaF5PmIv8e9h9uMfhKkl9bMIymtsiinRsoxmMgQT+BkIjDLZFyCXIWFBlHHvu1vgDCrAWrOa57zMPjtCPdHalFzeYCRIljEI10xdog5iIv6ksrmpnerTEuJs1ldEE6AOCdbypx8z83o6GFdQG1UutjQxkzyfW6AADfVfuwcd9hg68mucnZfg6bgKwUp8FXQzlpLjjtAsKihHv++zX8obDRl5TUuO4xF/n38O72SoOvhMj6GEQjXfGGai4DsyJBtBXv78bs5evwxHs7cai+1eCrSk5VHPumcsqoXCz63mjYbQJe/fIQzv7DB/h4d43Rl5WUlFqYXhcbypjA+IEZGJGXhiZ/CD/84wY88s63CIVFoy8rKcXO+zYbx77RHHYbfnnmGADA8xv24eIVG7C/jtnIWmEJF3M5+9hCAMB9b+zAkv+3DUHO+0R9xiAa6Uq5oTKQYAoLThqGHx1fjDSXHXtrW7D87W9x0gPv4fJnP8XqbRUQedxBNQwgm4sgCLj5jFH4909noiQnFYca2nDpM59i2RvbmZ2gsho2lDEVt8OOl288CedPGYSwKOEPa3biohUbsLfGZ/SlJR3O++Zz/awR+PNVxyMr1YmtBxpwzmMf4p1vmJmjtrAoobZ9zZ/P8W8KvzxzDH555mgIQiSIfNkznyq/IyLqHQbRSFdyEW8uKM0h1+vG/RdOxOe/noOHLp6EE4ZnQ5KAD3fW4Kd/24iz//AhXv3yEGuHqIA7suY0ZcgAvH7zKbhkejEkCfjjB9/h3MfXY+2OKh5xVgnHvvlkeJx4ZP5kPHbJFGR4HNiyvx7ff+xD/POzMo57FSmdObnmMZXZY/Px+s2nYMqQLDS2hXDd81/gvje2MzNHRXW+AEQJEAQgO81l9OUQIpuHC08fhacvnwav24FP99ThvCc+wteHGoy+NCLLYRCNdCNJEh+mTCrV5cCFUwfjhZ/MxAe3zcYNp41AutuB0som3PzPzfjew+/j3xsP8MhPApiRYF5pbgeWXTART18xDdlpLnxb2YwFz32OS57+BFv21xt9eZanZKJx3jed8yYNxOpbTsXM4TloCYSx+KWvcMXKz3jETSWc981rUFYKVv1kJq45eRgA4E8ffIcf/ekTlDewpIUa5LGfk+aCw87HTTOZM74Ar9x4IoblpuFgfSsufOpjPLVuN5rZtZOoxzirkW4a20IIhCJBGC4ozWtITipuP2ss1t9xOhZ9bzQyU5z4rsaHX774Jc54+H28y2MPfcKHKfP73vgCvPeLWfjJqcPhctjwyXd1mPfkR7jx75uwh0fd+ozH+M1tYFYK/n7tDNz5/XFwO2z4cGcN5j76Af780R5mIScoWhONnTnNyOWw4a7/GY8Vl01FuseBjfsO4/t/+BDrSquMvjTLk+d9bp6Y08j8dLxy40mYNToPbUERD6zegZMfeA+PrdmJhlY2WiLqDoNopBs5iJDhccDjtBt8NdSdzBQnbj5jFD6643TcftZY5KS5sK+2Bdc+/wWufu5z1s/phbAooc4n1wbhw5SZZaW68Kvvj8PaX56GC48bDEEAXv+qHN97+H3c9co2ZR6jnqtpjjYWIHOy2QRcd+pwrL7lVEwflo2WQBj3/PcbXLziY+yqajL68iyLmyfWcNaEQrx208mYMCgDh1uCWPDc51j+Vimz7xPAsW9+mSlOrLzqeCy/eBKG56ahviWIh9/5Fiff/x6Wv1XKemlER8Fe86Qb3lCtyet24IbTRuCKmUPx+Hu78Oz67/Dejiqs31mDn5w6HDfOHomwJGHr/nps3l+PzWX1+OZQA9I9TozM9yp/RhV4MSDVhWZ/CM1tIfj8ITT5QwiLEsYXZWBoTmqnnftaAiF8uqcOG3bXoi0YjvuaeV63Kbv9NftDcDtscLYfYaht9kOUABtrg1jGoKwUPPTDSbj2lGH4/eodWFtajb9+sg//2XQA150yHNedOhxed/QW2uwP4ZPdtfh4dy2a2oJIczuQ7nHA63bA2/7fdI8Daa7I39PdTmSkOJCVmvzjoZqNBSxjWG4aXrjuBPzjszLc/+YObCqrx1mPfoiS3DQUZXpQmOFBUaYHBZkeZKe64se2O/L/aS7HUTtRhkUJLYEQvG6HKedvtYTCotLtmjXRzG9oThr+/dMT8dvXv8HfPinDE2t34Yt9dbjhtJGRMZ/hQYYnMmYlScK+2hZs2V+PLfvrsbnsMCoa2zA0Jw2j5DVPfjqG56Uh1dVx0zjN7VDWB50RRQnf1TRjd7UPEwdnoigzRcsfXRNc81uD3SbgoqmDcf6UQXj9q3I88d5OfFvZjCfW7sIfP9iNM8YW4OJpgzFrdF6HY7lhUcLOqibsrfFhRJ4XI/K8nc79/lAYG/cdxke7atDcFsKxg7MwZUgWhuWkdXmvaA2E4XHaDLlHtAXD+GhXDaYMGWDYml2SJNV/9rAowSYgqe+7ehKkflZBtrGxEZmZmWhoaEBGRobRl2MYSZJQ1eTHrqpm7KxsQn0nqbthUYoGPAIhNLWF0BoIY1SBF6eMysOJI3I6fQCUJAnVTX7sP9yqfH6zP4iN+w7jX18cwAnDs/HCT2bq8WOSBnZXN+PuV7/GhztrAADpbgeaAyEkOpMMSHVicnEWJhcPwPiBGfi2sgnrd9Zg477DCHSxG5zhcWBITirstvgbu02IBEFG5acrAbySnDS4HNok3za1BbFhdy3W76rB+p01+K49S8/tsCHd44DLbsOhhjbkpbvx+Z1zNLkG0taG3bW4/83t+PJApABvrteFn84agZZAGOt31mBT2WGE+nD0rSQnFSePysUpo/Iwc0QOMjxOAJFF3FcHG7ClrB6b9x9GSyCMGcNycMqoXIwvyohbeIZFCV8fasCH7f9ehmSn4oqZQzE8z9vp95QkCZvKDmNzWT1G5HkxuTgLAzRcKM5evg57anxY9ZMTMGN4jmbfh9R1qL4Vv35lG97b0fujbV53NIDscdrQEgi3rwVCaAlEut/mpbtxyshcnDwqFyePzEV+RnyWbiAkorKxDXW+AHr6L8vrtqMgw4P09n9HsfyhMPbWtGBnVRP21bb0uIi8x2nHiLxIYGRIdirsXTz0yYGVD3fVYP3O6vaAeqTG0Cs3noTJxVk9/CnIaK9+eQiL/7MVvkB8p+ZUlx2FGR4cbgngcEvfj7w57QJKctIwqsCLkXlejCxIR6rTji8P1CuBOXnsAMCUIVk4e0Ihzp5QhOLsVOXttc3t6/iqZtS3BJRAdmQDx4k0t135f6/HgVSn/agB7r447AtgzY4q1Pn8KMjwoCgzBYUZHjz94Xf46yf7cP2s4Vh89jhVvydpRxQlvP1NJZ5at0tZ7wCR+fqCKYMwuTgLXx1swOayemw9UB/3byTd7cCk4ixMLs7CsYMzsb+uBet31eDT7+rQGuzY9TzD48DkIQMwOt+L+tYgKhraUN7QioqGNvgCYQzLTcNFUwfjguMGdRpIltfeB+tbMXtMPkpy0xL62cOihJc2HcAj73yLQw1tSHHacdkJQ3DdqcN1OUXS0BrEq18ewr+/2I+tBxtw6qg8LDipBKeOyuvzv9vKxja89XUF3vyqAp/uqcWw3DRcPK0YF0wZ1OGeSxE9jRUxiJYEZi9fh/qWQIe3C4KANLc9cvN02+F1O5DqcuBQQyt2VTXH3aD7QhCAiYMycfKoXGSluNpv5E3YVdWMxqN87QuOG4SHfzg5oe9NxpIkCW99XYnfvPYNDrbvtA/KSsHkIVmYUpyFiYOz4AuEsLuqGTsrI+NiZ1UzfP5Q+wLPqTxghcIitpc3dRkok7/2ySNzkZXmxO6qZuyqakZZXQt6E7Ow2wSkexw48jbktNtQkOFBYaZH2W3O9bpwuCXmht7oR2VDpMtabOaF1+1AdZMfm/fX96h20CmjcvHXa2b0/KLJVCRJwpvbKvDgW6Wd1kgbkp2KU0blYmBWCnz+SMAgupEQ/f8mfyQTs+WIBzS7TcCkwZkIhEXsKG/qMiiXnebCiSNycOygTGw90ICPdtegvpMHutPG5GHBScNw6qhcCIKAysY2/GfTAfx74wF8Vx1//SU5qe1B7CwMzEpRsuXS3HZ4PQ4IEDr8LPUtAVQ2tqG8oQ0VDW2oaGxDdZMfeeluJRtjZH46fvGvLfAFwljzi1kY0UVgj8xJDgwdONyKisY2VDS0Kr/vxrYgmo4Y230JJMvGFqZj8ICU9u/jV44B94XX7UBhe+acx2nDd9U+7KtrSbjGm8thw/DcNJTkpCEkSmj2B9HsD8HnD6OhNYg6X/xaLDPFibMnFOJ35x/bZfCNzGl3dTMeersU31X7UNHY1mGOddltOGZQBiYXZ2HKkAEYPCAF+2p97ZvTkXVKImPO47SheEAqdlU3x21SHjMwA2luB3ZVNXcYb90RBMDras8aPWIt43Z0zPpx2ASU5Ka1Z9ZFgsgOuw1VTW146+tKrN5Wjk++qzvqz/jrc8bh2lOG9+o6yRy2lzfi3xsP4JXNB1HbxVhLddkxLDcN31X7Og2UyXK9bpwyKhfZaS58ub8eXx1sgD/Us40MmwCcPCoPF08djKJMDz7cWYP1u2qw5Yi19/SSbFw0bTDOObYIae0nBSRJwoHDrdhUdhhbDzS0r7MimXBFmR4ls3RtaRUeeLMUpZWR8gUepw1twcj1uRw2XHJ8Ma6fNQIDs1LQ1BbE7mofdlY2YVd1M1r8YRw7KBOTh2RhZCfZeKGwiLK6Fuyu9iEsSnGnFNLdDuyoaMKLGw/gra8rlNrhsYbnpWHBiSW44LjB8Djt2FnVhM1l9dhSJgfcgyiIeYYpyvRAlIB3vqnEprLDnSY52G0CZo2OvKajCrzYVeXDrvZntZ2VzWgNhnHuxCJcdsLQLoNtobCIT/fU4WB9K344rbhHv0srYBCtC8kYRJty79t92hGzCZH09ZH5XuSnu3FkdqdNECJHM2Jusg67DZvLDmP9zhrsrGo+6tcuykxBZopTuVF73Q4MSHViwUnDEt4tIHNoC4ax7WADhmSndrujIU81naUR+0NhbC9vwpayw9i8vx47ypswJCcSkDh5ZC6G5aZ1+Ly2YBh7anw4VN/a4QYREkXsq23BzvaA266qZs27DpXkpOKUUXk4eVQuZgzLhgABTe0PWM1tIbQGw5g4OAuZKR0zJMhagmERL3y+H//+Yj8GZqVEMslG5mFITmr3nxyjqS2IT76rw4c7q+MyGGV56W5MKc7C5CFZSHHa8dGuGmzYXdshOwKI7ACfMCIHM4ZlY8PuWrxXWqX8uxiRl4bBA1Lx4c5qJfCc4rRj5ogc7K31dQioaWXr3WcqmXaUfCRJgj8kxgVbm9pCaAuFkeq0K4FZr8cBl8OGrfvr27O2arDtUEOnC32X3YYcrwu2Hh4/kQN7XUn3ODAy34vhuV6kuHqWmdzYGsLu6mbsrm5WHqq64rQLOG7IAJw6Og8nj8zFhEGZDJ4lidZAuD3A24YUlx3jitLhdhy9vq8oSh2yKCVJQmWTP/IAfsQa5ZiBmZgyJLKZMaYwHU67DVVyJsm2CnzyXW3c5qEgAIMHpGBknhf56R74AqEO//7kILcaTUJcdhuKsjwoq2uJ+/c6rigDo/K9qGyMbKaUN7QhEBIhCMBLN5yIKUMGJPy9yTiBkIi1pVX498YDOHi4VQkYTRmShVH56bDbBITCIkorm9qPN9dj28EG5Gd4lGzjsYXpcev4YFhEaUUTNpcdxp6aFuR4XUq5gMJMDzJTnHhvRxVe/OIAPttb1+W1DctNQ2GGB5/uif7bSHXZceb4AjT7Q9hcVt9lADA/3Y0pQ7JwuCWIz/ZEvkeGx4EbZ4/ElSeWYMPuWjz23k5sLqsHEJnfc9LcqGhs6/J60t0OTCzOxNjCDFQ0tmFXZTP21PiOmigQa0xBOi6eNhgzhuXg5c0H8a8v9ivPL+luB0RJ6nQNeDRyJutpY/Kxad9hvLjxADbuO9yjz3XaBZxzbBEWnDQMk4qz4A+F8fGuWry5rRzvfFOJwy1BpLsd+OKuOd3Oh1bBIFoXkjGI9l11M8ROfo1hEZEbakz9KZ8/hLx0N0bmezEsNy2hAV/R0Ib1u2rw8a4a+EMiRrTvVMlfm80DyCwkSUJlox/N/o7B5tZA5MhQeUyWRW1zANlpLiWTQf6v3SYoi1L535TbYcPM4TlxRyyI+uLA4RZ88l0dPE4bpgwZgIHtu6SxgmERW/bX48OdNdhe3ojxRRk4dXQuJg3OiqtXsrfGh79s2IsXvzgQF0A+vmQALp5ajO9PLFJqujW0BLHlQGRX86uDkQWnknHWFlKOa8ce0UtzO5DhccTVyCrK9CgLzF1VzZFM1KpI8OH4kmw8t+B41uKgTtX5Avh4dw0aWoNxc252mqvXY8bnD6GisQ2VDZGH+ZZgGMNzYzcM+zYGRVHCwfpW7KxqQlltC9xOe/y/CZcDQ3NSlQwIIrXV+QJ4/9sqCBAwMj9Sgyqlk5prR5IkCW1B8YiM6GBcZrG/kwBxazCM76qbsas6EuiLDSJPLo48mJ81oRBDc+I3xiVJwuGWIARA01IB1D/srfHh3xsP4OXNB9ESCOHEEbmRTfZRuRg8ILL2rmiIZNq/+MV+7K1tift8p13A+KJI1mhYkrC5rB47KpriAssuhw0LTirBz2aNRGZqdLNPkiR8vLsWj63ZiU/3RIN5+e3P0qPyvXA77fhyfz22HmjoMhvP47RheK4XHqetw6mEdI8T500aiIunDcaxgzLj7lHN/hD+/cV+PPfxXuXnSnPZlWOzk4uzkJfujp4KaA/0+/xhnDwyB3MnFHZ6FHZ3dbOSZdjYGsSImFqOI/O9aA2G8ZeP98YF28YVZeBAXQuaYtaU2WkunDm+ALfNHYOcJOnEyyBaF5IxiEZERNSZprYgXtlyCI2tQZw9obDLOmlHI7YvNPtak0OLArlERKQfOYi8r7YFw/PSMDDLes0OKPlJkoQv9h3Gu9srkZ/uweTiLBwzMKNDYkdroL3u7P7DaPaH8aPji7sd098cakRrMISReelxgTZZKCzi28pmbNlfj51VTSjK9ChBqUFZKZ2uoY52SieWKErYvL8eXnckm1rNDOejrdG2HqjHcx/txX+3HkIwHLnW/HQ35h5TiLMnFGL6sOwODSesjkG0LjCIRkRERERERER0dFVNbVi3oxrD89Jw3JABqjcoMZOexoqYc05ERERERERERHHy0z344fHJ0zxADabIv3vyySdRUlICj8eDGTNm4LPPPjvqx7/44osYO3YsPB4Pjj32WLzxxhs6XSkREREREREREfVHhgfRVq1ahUWLFmHp0qXYtGkTJk2ahLlz56KqqqrTj//4449xySWX4JprrsHmzZsxb948zJs3D9u2bdP5yomIiIiIiIiIqL8wvCbajBkzcPzxx+OJJ54AAIiiiOLiYtx000244447Onz8/Pnz4fP58NprrylvO+GEEzB58mSsWLGiw8f7/X74/X7l742NjSguLmZNNCIiIiIiIiIi6nFNNEMz0QKBADZu3Ig5c+Yob7PZbJgzZw42bNjQ6eds2LAh7uMBYO7cuV1+/LJly5CZman8KS7meV4iIiIiIiIiIuodQ4NoNTU1CIfDKCgoiHt7QUEBKioqOv2cioqKXn384sWL0dDQoPzZv3+/OhdPRERERERERET9RtJ353S73XC73UZfBhERERERERERWZihmWi5ubmw2+2orKyMe3tlZSUKCws7/ZzCwsJefTwREREREREREVGiDA2iuVwuTJ06FWvWrFHeJooi1qxZg5kzZ3b6OTNnzoz7eAB45513uvx4IiIiIiIiIiKiRBl+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44034h//+Af+3//7f0hPT1fOk2dmZiIlJQW7d+/GP/7xD3z/+99HTk4Otm7diltvvRWnnnoqJk6caPDVkxZ++ctf4txzz8XQoUNx6NAhLF26FHa7HZdccgkyMzNxzTXXYNGiRcjOzkZGRgZuuukmzJw5EyeccILRl04aEkURf/7zn3HllVfC4Yje9jlH9A/Nzc1xmYV79uzBli1bkJ2djSFDhuCWW27Bb3/7W4waNQrDhg3DXXfdhYEDB2LevHkAgHHjxuGss87CddddhxUrViAYDGLhwoX40Y9+FHc0mKzhaOOhqKgIF110ETZt2oTXXnsN4XBYWVtkZ2fD5XJhw4YN+PTTTzF79mykp6djw4YNuPXWW3HZZZdhwIABRv1YlICjjYns7Gzcc889uPDCC1FYWIjdu3fjf//3fzFy5EjMnTsXAOeIZNTdfQOIbLi8+OKLeOihhzp8PueJ5NLdM2dPnjHOPPNMjB8/Hpdffjl+//vfo6KiAr/+9a9x4403WvN4r8HdQUkFjz/+uDRkyBDJ5XJJ06dPlz755BOjL4l0AKDTP3/+858lSZKksrIy6dRTT5Wys7Mlt9stjRw5UrrtttukhoYGYy+cNDN//nypqKhIcrlc0qBBg6T58+dLu3btUt7f2toq/exnP5MGDBggpaamSueff75UXl5u4BWTHt566y0JgFRaWhr3ds4R/cPatWs7vVdceeWVkiRJkiiK0l133SUVFBRIbrdbOuOMMzqMldraWumSSy6RvF6vlJGRIS1YsEBqamoy4KehRB1tPOzZs6fLtcXatWslSZKkjRs3SjNmzJAyMzMlj8cjjRs3TrrvvvuktrY2Y38w6rOjjYmWlhbpzDPPlPLy8iSn0ykNHTpUuu6666SKioq4r8E5Irl0d9+QJEn64x//KKWkpEj19fUdPp/zRHLp7plTknr2jLF3717p7LPPllJSUqTc3FzpF7/4hRQMBnX+adQhSJIkaRijIyIiIiIiIiIisjzWRCMiIiIiIiIiIuoGg2hERERERERERETdYBCNiIiIiIiIiIioGwyiERERERERERERdYNBNCIiIiIiIiIiom4wiEZERERERERERNQNBtGIiIiIiIiIiIi6wSAaERERERERERFRNxhEIyIiIjKxq666CvPmzTPs+19++eW47777VPlagUAAJSUl+OKLL1T5ekRERER6EiRJkoy+CCIiIqL+SBCEo75/6dKluPXWWyFJErKysvS5qBhffvklTj/9dOzbtw9er1eVr/nEE0/g5Zdfxpo1a1T5ekRERER6YRCNiIiIyCAVFRXK/69atQpLlixBaWmp8jav16ta8Kovrr32WjgcDqxYsUK1r3n48GEUFhZi06ZNOOaYY1T7ukRERERa43FOIiIiIoMUFhYqfzIzMyEIQtzbvF5vh+Ocp512Gm666SbccsstGDBgAAoKCvD000/D5/NhwYIFSE9Px8iRI/Hmm2/Gfa9t27bh7LPPhtfrRUFBAS6//HLU1NR0eW3hcBj//ve/ce6558a9vaSkBPfddx+uvvpqpKenY8iQIfj/7d1BSJN/HMfxj81ygsWqTZ0Xd2hsl7U2ppB5EhkSdLONHQKFPGxa5CkS8agU2KGjh0BhVFqXDqkR7LBEqKjwEDUYNW+KDgeywcDsII6/uFji/jPj/To9z/N7fr/v8zynhw+/5/lNTEwU2vP5vAYGBmS1WmU0GtXc3KyxsbFC+9mzZ3XlyhU9ffr0kE8PAACgsgjRAAAAjpnJyUmZzWa9e/dOt27dUjgc1vXr19XW1qaPHz/K7/frxo0bymazkqSNjQ11dHTI4/How4cPmpub08rKigKBwG9rLC0tKZPJyOfz7WsbHx+Xz+fTp0+fFIlEFA6HCzPoHj16pJcvX2p6elrfvn1TNBqVzWbb07+1tVXxeLx8DwQAAKACCNEAAACOGbfbreHhYdntdt27d09Go1Fms1l9fX2y2+0aGRnR+vq6lpaWJO38h8zj8Wh0dFROp1Mej0ePHz9WLBZTIpEoWiOVSslgMKi+vn5f29WrVxWJRHThwgXdvXtXZrNZsVhMkrS8vCy73a729nY1Nzervb1doVBoT/+mpialUqkyPxUAAID/FyEaAADAMXPx4sXCtsFg0Pnz5+VyuQrHGhoaJEmrq6uSdhYIiMVihX+s1dXVyel0SpKSyWTRGrlcTjU1NUUXP/hv/d1PUHdr9fT06PPnz3I4HLp9+7Zev369r39tbW1hlhwAAMBxUX3UFwAAAICDOXny5J79qqqqPcd2g6+fP39KkjY3N3Xt2jXdv39/31hWq7VoDbPZrGw2q3w+r1OnTpWsv1vL6/Xq+/fvmp2d1Zs3bxQIBNTZ2annz58Xzk+n07JYLH96uwAAAH8FQjQAAIB/nNfr1YsXL2Sz2VRd/Wevf5cuXZIkffnypbD9p86cOaNgMKhgMKju7m51dXUpnU7r3LlzknYWOfB4PAcaEwAA4KjxOScAAMA/rr+/X+l0WqFQSO/fv1cymdT8/Lx6e3u1tbVVtI/FYpHX69Xbt28PVOvhw4d68uSJvn79qkQioZmZGTU2NspkMhXOicfj8vv9h7klAACAiiNEAwAA+Mc1NTVpYWFBW1tb8vv9crlcunPnjkwmk06c+P3r4M2bNxWNRg9U6/Tp03rw4IF8Pp9aWlr048cPvXr1qlBncXFRmUxG3d3dh7onAACASqva3t7ePuqLAAAAwN8nl8vJ4XDo2bNnunz5clnGDAaDcrvdGhoaKst4AAAAlcJMNAAAABRVW1urqakpra2tlWW8fD4vl8ulwcHBsowHAABQScxEAwAAAAAAAEpgJhoAAAAAAABQAiEaAAAAAAAAUAIhGgAAAAAAAFACIRoAAAAAAABQAiEaAAAAAAAAUAIhGgAAAAAAAFACIRoAAAAAAABQAiEaAAAAAAAAUAIhGgAAAAAAAFDCL4QuPdrBpn6IAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Wait for the sequencer to stop with a timeout period of one minute.\n", "readout_module.get_acquisition_state(1, 1)\n", "\n", "# Move acquisition data from temporary memory to acquisition list.\n", "readout_module.store_scope_acquisition(1, \"ttl\")\n", "\n", "# Get acquisition list from instrument.\n", "data = readout_module.get_acquisitions(1)[\"ttl\"]\n", "\n", "# Plot acquired signal on both inputs (first 200 ns).\n", "print(\"pulses detected: \" + str(data[\"acquisition\"][\"bins\"][\"avg_cnt\"][0]))\n", "\n", "fig, ax = plt.subplots(1, 1, figsize=(15, 15 / 2 / 1.61))\n", "ax.plot(data[\"acquisition\"][\"scope\"][\"path0\"][\"data\"][0:200], label=\"Trace\")\n", "ax.axhline(y=threshold, color=\"r\", label=\"Threshold\")\n", "ax.set_xlabel(\"Time (ns)\")\n", "ax.set_ylabel(\"Amplitude (Volt)\")\n", "plt.legend(loc=\"upper right\")\n", "plt.show()" ] }, { "attachments": {}, "cell_type": "markdown", "id": "967cbb3b", "metadata": {}, "source": [ "We encourage you to play around with the `num_pulses`, `wait_time`, `input_gain` and `threshold` yourself." ] }, { "attachments": {}, "cell_type": "markdown", "id": "4c1553c8", "metadata": {}, "source": [ "Auto bin increment\n", "--------------\n", "\n", "\n", "In the play sequence section we set the `ttl_acq_auto_bin_incr_en` to False, meaning all of our pulses get counted within one bin. When it is set to True our data will be stored in separate bins, where the bin index is incremented by one for every detected pulse. The pulse count is therefore equal to the number of valid bins. When doing multiple measurements, this allows us to acquire a cumulative probability distribution of counted triggers.\n", "\n", "To illustrate the usage we will define a function which returns a Q1ASM program that plays a `N` amount of pulses (at a 1 MHz rate), where `N` is a random number between 1 and 100 taken from a Poissonian distribution. This is meant to mock a stochastic physical process, e.g the amount of photons emitted by a laser.\n", "We will call the function a 1000 times and run it, without deleting the acquisition data between the runs.\n", "After this we will plot a histogram from our acquired data to inspect the result." ] }, { "attachments": {}, "cell_type": "markdown", "id": "16caa0a3", "metadata": {}, "source": [ "We will now define new Q1ASM programs. We define a function which returns a program that generates `num_pulses` number of pulses. These pulses are 16 ns long, and are send at a rate of 1 MHz again.\n", "\n", "For the acquiring sequencer we will execute the same program as in the previous section, albeit with an acquisition window of 100.000 ns." ] }, { "cell_type": "code", "execution_count": 21, "id": "aa9458ff", "metadata": { "execution": { "iopub.execute_input": "2023-11-07T18:32:51.794842Z", "iopub.status.busy": "2023-11-07T18:32:51.793843Z", "iopub.status.idle": "2023-11-07T18:32:51.803946Z", "shell.execute_reply": "2023-11-07T18:32:51.802413Z" } }, "outputs": [], "source": [ "# Sequence program for acquiring\n", "seq_prog_acq = \"\"\"\n", " move 10,R0 #Loop iterator.\n", " wait_sync 4 #Wait for sequencers to synchronize and then wait another 4ns.\n", " wait 140 #Approximate time of flight\n", " acquire_ttl 0,0,1,4 #Turn on TTL acquire on input path 0 and wait 4ns.\n", "loop:\n", " wait 10000 #Wait 10000 ns\n", " loop R0, @loop #Repeat loop until R0 is 0\n", " acquire_ttl 0,0,0,4 #Turn off TTL acquire on input path 0 and wait 4ns.\n", "\n", " stop #Stop sequencer.\n", "\"\"\"" ] }, { "attachments": {}, "cell_type": "markdown", "id": "9597cba9", "metadata": {}, "source": [ "We will first configure our sequencers. Then use `random` to generate an amount of pulses, and repeat this 10000 times." ] }, { "cell_type": "code", "execution_count": 22, "id": "e52d78a9", "metadata": { "execution": { "iopub.execute_input": "2023-11-07T18:32:51.808949Z", "iopub.status.busy": "2023-11-07T18:32:51.807946Z", "iopub.status.idle": "2023-11-07T18:32:52.004823Z", "shell.execute_reply": "2023-11-07T18:32:52.003799Z" } }, "outputs": [], "source": [ "# Choose threshold and input gain\n", "threshold = 0.5\n", "input_gain = 0\n", "\n", "# Delete previous acquisition.\n", "readout_module.delete_acquisition_data(1, \"ttl\")\n", "\n", "# Configure the TTL acquisition\n", "readout_module.sequencer1.ttl_acq_input_select(0)\n", "readout_module.sequencer1.ttl_acq_auto_bin_incr_en(True)\n", "\n", "# Enable sync\n", "readout_module.sequencer0.sync_en(True)\n", "readout_module.sequencer1.sync_en(True)\n", "\n", "# Set input gain and threshold\n", "readout_module.in0_gain(input_gain)\n", "readout_module.sequencer1.ttl_acq_threshold(threshold)\n", "\n", "sequence_acq = {\n", " \"waveforms\": {},\n", " \"weights\": {},\n", " \"acquisitions\": acquisitions,\n", " \"program\": seq_prog_acq,\n", "}\n", "\n", "# Upload acquire sequence.\n", "readout_module.sequencer1.sequence(sequence_acq)\n", "\n", "# Map sequencer to specific outputs (but first disable all sequencer connections)\n", "readout_module.disconnect_outputs()\n", "readout_module.disconnect_inputs()\n", "\n", "# Drive through first output\n", "readout_module.sequencer0.connect_out0(\"I\")\n", "\n", "# Acquire through first input\n", "readout_module.sequencer1.connect_acq_I(\"in0\")" ] }, { "cell_type": "code", "execution_count": 23, "id": "808187d8", "metadata": { "execution": { "iopub.execute_input": "2023-11-07T18:32:52.009818Z", "iopub.status.busy": "2023-11-07T18:32:52.009818Z", "iopub.status.idle": "2023-11-07T18:33:43.526219Z", "shell.execute_reply": "2023-11-07T18:33:43.525160Z" } }, "outputs": [], "source": [ "num_pulses_list = random.poisson(lam=50, size=1000)\n", "wait_time = 1000\n", "\n", "for num_pulses in num_pulses_list:\n", " seq_prog_awg = generate_pulse_program(num_pulses, wait_time)\n", " upload_sequence(seq_prog_awg)\n", " # Arm and start sequencer.\n", " readout_module.arm_sequencer(0)\n", " readout_module.arm_sequencer(1)\n", " readout_module.start_sequencer()\n", " readout_module.get_acquisition_state(1, 1)" ] }, { "attachments": {}, "cell_type": "markdown", "id": "9341dae1", "metadata": {}, "source": [ "### Create histogram\n", "\n", "We retrieve the acquired data from the sequence to take a look at it." ] }, { "cell_type": "code", "execution_count": 24, "id": "cf6e89ae", "metadata": { "execution": { "iopub.execute_input": "2023-11-07T18:33:43.531364Z", "iopub.status.busy": "2023-11-07T18:33:43.531364Z", "iopub.status.idle": "2023-11-07T18:33:43.588266Z", "shell.execute_reply": "2023-11-07T18:33:43.587254Z" }, "lines_to_next_cell": 2, "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "counts per bin: [1000.0, 1000.0, 1000.0, 1000.0, 1000.0, 1000.0, 1000.0, 1000.0, 1000.0, 1000.0, 1000.0, 1000.0, 1000.0, 1000.0, 1000.0, 1000.0, 1000.0, 1000.0, 1000.0, 1000.0, 1000.0, 1000.0, 1000.0, 1000.0, 1000.0, 1000.0, 1000.0, 1000.0, 999.0, 998.0, 997.0, 997.0, 994.0, 993.0, 987.0, 979.0, 973.0, 962.0, 951.0, 938.0, 916.0, 888.0, 852.0, 820.0, 782.0, 730.0, 682.0, 622.0, 569.0, 503.0, 447.0, 399.0, 345.0, 292.0, 250.0, 216.0, 179.0, 147.0, 113.0, 86.0, 70.0, 49.0, 31.0, 23.0, 17.0, 11.0, 6.0, 6.0, 3.0, 2.0, 1.0, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan, nan]\n" ] } ], "source": [ "# Wait for the sequencer to stop with a timeout period of one minute.\n", "readout_module.get_acquisition_state(1, 1)\n", "\n", "# Move acquisition data from temporary memory to acquisition list.\n", "readout_module.store_scope_acquisition(1, \"ttl\")\n", "\n", "# Get acquisition list from instrument.\n", "data = readout_module.get_acquisitions(1)[\"ttl\"][\"acquisition\"][\"bins\"][\"avg_cnt\"]\n", "\n", "# Plot acquired signal on both inputs.\n", "print(f\"counts per bin: {data}\")" ] }, { "attachments": {}, "cell_type": "markdown", "id": "2cc56b9e", "metadata": { "lines_to_next_cell": 2 }, "source": [ "Every time the acquisition_ttl is ran the sequencer starts over with incrementing the bins (from bin 0). In every bin, the counts are summed up for all 1000 runs. Therefore, the data is a cumulative probability distribution of triggers counted. We now reorganize the acquired data into a probability distribution function (a histogram), and plot the result." ] }, { "cell_type": "code", "execution_count": 25, "id": "d5c3bf48", "metadata": { "execution": { "iopub.execute_input": "2023-11-07T18:33:43.592604Z", "iopub.status.busy": "2023-11-07T18:33:43.591598Z", "iopub.status.idle": "2023-11-07T18:33:43.743552Z", "shell.execute_reply": "2023-11-07T18:33:43.742553Z" }, "scrolled": false }, "outputs": [ { "data": { "image/png": "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3FytXLnS5RouJj8/X59//rl69Oih2rVr29urVaume++9V1999VWRbfnQQw85/PdeuO/+9NNPpT7Xr7/+qsqVK5fvC5DUtGlTrVixwqnbxaYI1KxZU8uXL9cjjzyi22+/XcOGDdPWrVsVERGhxx9/3L6eK5/Lha+9tMs/uLIPlsVDDz3kMKo7cOBA+fj4XHK/kuyjJMuXLy/xUP1//vMfFRQU6K677tIvv/xiv0VFRalevXpavXq10325giDjhMI/dDk5OUWWZWdnO6wTEBDg9HrO9lmamJiYi65zMdWrVy8y/Fi5cmWHY6wjR45UUFCQWrRooXr16mnQoEFat27dRfu++eabVbFiRXtoKQwybdu21aZNm5SdnW1flpCQcEmv449/2Apfg6Qix4ovdOjQIfsHTFBQkCIiIuzHqZ0d2n7uuee0YsUKffHFF9qxY4eOHj2qv//975Jk/0Nwww03ODzGz89PtWvXLvUPxaOPPqr69eura9euql69uu677z4tW7bMYZ1x48YpIyND9evXV+PGjfXEE09ox44d9uUlPb/0ewD45ZdfdPbsWYd2V97LgoICTZs2TfXq1ZO/v7+qVKmiiIgI++HEC7nyHCdOnNC5c+dUr169IsuKe30Xuth75Yyy7HNeXl4OQUKS6tevL0lF5o6UpxMnTui3334rcZsXFBQUmbvg6v4jyWHOT3mpXLmyEhMTnboVhoyyCAsL04ABA7R37179/PPPklz7XC587aUdwnFlHyyLC/eHoKAgVatWrVx+x2JiYpScnKw33nhDVapUUVJSkl599VWHfXrfvn0yxqhevXqKiIhwuO3Zs0fHjx93ui9XEGScUK1aNUm/p+oLHTt2TGFhYfYEX61aNaWlpRXZsQsfWzhPoCx9lqa4sFPSDpWfn19su7e3d7Htf3wNDRo00N69e7Vw4UIlJCToww8/VEJCgkaPHl1qfb6+vmrZsqW+/PJL7d+/X2lpaWrTpo0SEhKUl5enDRs2aO3atYqNjb3kkSVnXseF8vPzddttt+mzzz7TyJEjtWTJEq1YscI+wbKkuQ8Xaty4sRITE9WhQwc1btxYPj7lM/2satWq2rZtmz7++GP95S9/0erVq9W1a1f169fPvk7btm114MABvfXWW7rxxhv1xhtv6Oabb9Ybb7zh8vO68l5OnDhRycnJatu2rd59910tX75c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6CFlZGQoISFBy5YtU4UKFdxYOQAA8AQ2Y8xVPdMuKytLISEhyszM5DATcAVdjsm+TCAGrh3O/v12+1cUAAAAuIogAwAALIsgAwAALIsgAwAALIsgAwAALIsgAwAALIsgAwAALIsgAwAALIsgAwAALIsgAwAALIsgAwAALIsgAwAALIsgAwAALIsgAwAALIsgAwAALMvH3QUAQHmzjbU5va4ZbS5jJQAuN0ZkAACAZRFkAACAZRFkAACAZRFkAACAZRFkAACAZRFkAACAZRFkAACAZRFkAACAZRFkAACAZRFkAACAZfEVBQDgBL72APBMjMgAAADLIsgAAADLIsgAAADLIsgAAADLYrIvALcqyyRaq3D2NTEpGLh0jMgAAADLIsgAAADLIsgAAADLIsgAAADLYrIvACanArAsRmQAAIBlEWQAAIBlEWQAAIBlEWQAAIBlEWQAAIBlEWQAAIBluTXIjBkzRjabzeEWGxtrX56dna1BgwYpPDxcQUFB6tmzp9LT091YMQAA8CRuH5Fp1KiRjh07Zr999dVX9mXDhw/XJ598okWLFmnNmjU6evSo7rzzTjdWCwAAPInbL4jn4+OjqKioIu2ZmZl68803tWDBAnXs2FGSlJKSogYNGuibb75Rq1atrnSpAADAw7h9RGbfvn2Kjo5W7dq11adPHx06dEiStHnzZuXl5SkxMdG+bmxsrGrWrKn169eX2F9OTo6ysrIcbgAA4Ork1iDTsmVLzZs3T8uWLdPs2bOVmpqqNm3a6PTp00pLS5Ofn59CQ0MdHhMZGam0tLQS+5w0aZJCQkLstxo1alzmVwEAANzFrYeWunbtav+5SZMmatmypWrVqqV///vfCggIcKnPUaNGKTk52X4/KyuLMAMAwFXK7YeW/ig0NFT169fX/v37FRUVpdzcXGVkZDisk56eXuycmkL+/v4KDg52uAEAgKuTRwWZM2fO6MCBA6pWrZri4uLk6+urVatW2Zfv3btXhw4dUnx8vBurBAAAnsKth5ZGjBih22+/XbVq1dLRo0c1evRoeXt765577lFISIjuv/9+JScnKywsTMHBwRoyZIji4+M5YwkAAEhyc5D5+eefdc899+jXX39VRESEEhIS9M033ygiIkKSNG3aNHl5ealnz57KyclRUlKSZs2a5c6SAQCAB3FrkFm4cGGpyytUqKBXX31Vr7766hWqCAAAWIlHzZEBAAAoC4IMAACwLIIMAACwLIIMAACwLLd/aSQA67CNtbm7hHJ3Nb4m4FrCiAwAALAsggwAALAsggwAALAsggwAALAsggwAALAsggwAALAsggwAALAsggwAALAsggwAALAsggwAALAsggwAALAsggwAALAsggwAALAsggwAALAsggwAALAsggwAALAsggwAALAsggwAALAsggwAALAsggwAALAsggwAALAsggwAALAsggwAALAsggwAALAsggwAALAsggwAALAsggwAALAsggwAALAsggwAALAsggwAALAsggwAALAsH3cXAADXKttYm9PrmtHmMlYCWBcjMgAAwLJcDjIZGRl64403NGrUKJ08eVKStGXLFh05cqTcigMAACiNS4eWduzYocTERIWEhOjgwYN68MEHFRYWpv/85z86dOiQ3nnnnfKuEwAAoAiXRmSSk5PVv39/7du3TxUqVLC3/+lPf9KXX35ZbsUBAACUxqUgs3HjRj388MNF2q+77jqlpaVdclEAAADOcCnI+Pv7Kysrq0j7Dz/8oIiICJcKmTx5smw2mx577DF7W3Z2tgYNGqTw8HAFBQWpZ8+eSk9Pd6l/AABw9XEpyPzlL3/RuHHjlJeXJ0my2Ww6dOiQRo4cqZ49e5a5v40bN2ru3Llq0qSJQ/vw4cP1ySefaNGiRVqzZo2OHj2qO++805WSAQDAVcilIDN16lSdOXNGVatW1blz59SuXTvVrVtXlSpV0oQJE8rU15kzZ9SnTx+9/vrrqly5sr09MzNTb775pl566SV17NhRcXFxSklJ0ddff61vvvnGlbIBAMBVxqWzlkJCQrRixQqtW7dO27dv15kzZ3TzzTcrMTGxzH0NGjRI3bp1U2JiosaPH29v37x5s/Ly8hz6jI2NVc2aNbV+/Xq1atWq2P5ycnKUk5Njv1/cITAAAHB1uKQr+7Zu3VqtW7d2+fELFy7Uli1btHHjxiLL0tLS5Ofnp9DQUIf2yMjIUicUT5o0SWPHjnW5JgAAYB0uHVoaOnSoZsyYUaR95syZDpN1S3P48GENGzZM7733nsMp3Jdq1KhRyszMtN8OHz5cbn0DAADP4lKQ+fDDD4sdibn11lv1wQcfONXH5s2bdfz4cd18883y8fGRj4+P1qxZoxkzZsjHx0eRkZHKzc1VRkaGw+PS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7777rn2dyZMnm9DQUPPRRx+ZHTt2mO7du5uYmBhz7tw5N1Z+bcnPzzc1a9Y0I0eOLLLME/chgoyHuO+++0ytWrWMn5+fiYiIMJ06dbKHGGOMOXfunHn00UdN5cqVTcWKFc0dd9xhjh075saKcWGQYRu53913322qVatm/Pz8zHXXXWfuvvtus3//fvtytpH7ffLJJ+bGG280/v7+JjY21rz22msOywsKCsyzzz5rIiMjjb+/v+nUqZPZu3evm6q9Ni1fvtxIKvZ998R9yGaMMe4bDwIAAHAdc2QAAIBlEWQAAIBlEWQAAIBlEWQAAIBlEWQAAIBlEWQAAIBlEWQAAIBlEWQAuGTMmDG66aab3F0GgGscQQaAbDZbqbcxY8YUecyIESMcvnPFU3344Ydq3769QkJCFBQUpCZNmmjcuHE6efLkFa2D4AdcHgQZADp27Jj9Nn36dAUHBzu0jRgxwr6uMUbnz59XUFCQwsPD3Vj17/Lz81VQUFDssn/84x+6++67dcstt2jp0qXatWuXpk6dqu3bt2v+/PlXuFIAl4VbvyABgMdJSUkxISEh9vurV682ksx///tfc/PNNxtfX1+zevVqM3r0aNO0aVP7enl5eWbIkCEmJCTEhIWFmSeffNL07dvXdO/e3b5OVlaWuffee03FihVNVFSUeemll4p8Z1V2drZ5/PHHTXR0tKlYsaJp0aKFWb16dZH6PvroI9OgQQPj7e1tUlNTi7yODRs2GElm+vTpxb7OU6dO2X+eNWuWqV27tvH19TX169c377zzjn1ZamqqkWS2bt3q8FhJ9roK36OVK1eauLg4ExAQYOLj4833339vr1mSwy0lJaWkTQCgDBiRAeCUp556SpMnT9aePXvUpEmTIsuff/55vffee0pJSdG6deuUlZWlJUuWOKyTnJysdevW6eOPP9aKFSu0du1abdmyxWGdwYMHa/369Vq4cKF27NihXr16qUuXLtq3b599nd9++03PP/+83njjDX333XeqWrVqkXree+89BQUF6dFHHy329YSGhkqSFi9erGHDhunxxx/Xrl279PDDD2vAgAFavXp1Gd+h30eApk6dqk2bNsnHx0f33XefJOnuu+/W448/rkaNGtlHue6+++4y9w+gKB93FwDAGsaNG6fbbrutxOWvvPKKRo0apTvuuEOSNHPmTP33v/+1Lz99+rTefvttLViwQJ06dZIkpaSkKDo62r7OoUOHlJKSokOHDtnbR4wYoWXLliklJUUTJ06UJOXl5WnWrFlq2rRpifXs27dPtWvXlq+vb6mv68UXX1T//v3tgSc5OVnffPONXnzxRXXo0KHUx15owoQJateunaTfg1+3bt2UnZ2tgIAABQUFycfHR1FRUWXqE0DpGJEB4JTmzZuXuCwzM1Pp6elq0aKFvc3b21txcXH2+z/++KPy8vIc1gkJCdENN9xgv79z507l5+erfv36CgoKst/WrFmjAwcO2Nfz8/MrdlToj4wxTr2uPXv2qHXr1g5trVu31p49e5x6/B/9saZq1apJko4fP17mfgA4jxEZAE4JDAy87M9x5swZeXt7a/PmzfL29nZYFhQUZP85ICBANput1L7q16+vr776Snl5eRcdlSmNl9fv/+/9MRjl5eUVu+4fn6ewvpImIgMoH4zIALhkISEhioyM1MaNG+1t+fn5DvNfCg/z/HGdzMxM/fDDD/b7zZo1U35+vo4fP666des63Mp6SObee+/VmTNnNGvWrGKXZ2RkSJIaNGigdevWOSxbt26dGjZsKEmKiIiQ9PuZXYW2bdtWplqk30eR8vPzy/w4AKVjRAZAuRgyZIgmTZqkunXrKjY2Vq+88opOnTplH5moVKmS+vXrpyeeeEJhYWGqWrWqRo8eLS8vL/s69evXV58+fdS3b19NnTpVzZo104kTJ7Rq1So1adJE3bp1c7qeli1b6sknn9Tjjz+uI0eO6I477lB0dLT279+vOXPmKCEhQcOGDdMTTzyhu+66S82aNVNiYqI++eQT/ec//9HKlSsl/T7606pVK02ePFkxMTE6fvy4nnnmmTK/P9dff71SU1O1bds2Va9eXZUqVZK/v3+Z+wHgiBEZAOVi5MiRuueee9S3b1/Fx8crKChISUlJqlChgn2dl156SfHx8frzn/+sxMREtW7dWg0aNHBYJyUlRX379tXjjz+uG264QT169NDGjRtVs2bNMtf0/PPPa8GCBdqwYYOSkpLUqFEjJScnq0mTJurXr58kqUePHnr55Zf14osvqlGjRpo7d65SUlLUvn17ez9vvfWWzp8/r7i4OD322GMaP358mWvp2bOnunTpog4dOigiIkLvv/9+mfsAUJTNODsjDgDKoKCgQA0aNNBdd92lf/7zn8Wuc/bsWV133XWaOnWq7r///itcIYCrAYeWAJSLn376SZ9//rnatWunnJwczZw5U6mpqbr33nvt62zdulXff/+9WrRooczMTI0bN06S1L17d3eVDcDiCDIAyoWXl5fmzZunESNGyBijG2+8UStXrlSDBg0c1nvxxRe1d+9e+fn5KS4uTmvXrlWVKlXcVDUAq+PQEgAAsCwm+wIAAMsiyAAAAMsiyAAAAMsiyAAAAMsiyAAAAMsiyAAAAMsiyAAAAMsiyAAAAMsiyAAAAMv6f24K7aUiEV7+AAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "def create_histogram(data):\n", " data_diff = np.diff(data)\n", " res = {\n", " count + 1: -v\n", " for (count, v) in enumerate(data_diff)\n", " if not (np.isnan(v) or np.isclose(v, 0))\n", " }\n", " return res\n", "\n", "\n", "res = create_histogram(data)\n", "plt.bar(res.keys(), res.values(), 1, color=\"g\")\n", "plt.title(\"1000 runs with a Poissonian distribution (ยต = 50) of pulses\")\n", "plt.xlabel(\"Trigger Count\")\n", "plt.ylabel(\"Occurrence\")\n", "plt.show()" ] }, { "attachments": {}, "cell_type": "markdown", "id": "a90f558b", "metadata": {}, "source": [ "Stop\n", "----\n", "\n", "Finally, let's stop the sequencers if they haven't already and close the instrument connection. One can also display a detailed snapshot containing the instrument parameters before\n", "closing the connection by uncommenting the corresponding lines." ] }, { "cell_type": "code", "execution_count": 26, "id": "d193988c", "metadata": { "execution": { "iopub.execute_input": "2023-11-07T18:33:43.749379Z", "iopub.status.busy": "2023-11-07T18:33:43.748370Z", "iopub.status.idle": "2023-11-07T18:33:47.045379Z", "shell.execute_reply": "2023-11-07T18:33:47.044327Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Status: STOPPED, Flags: FORCED_STOP\n", "\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Status: OKAY, Flags: NONE, Slot flags: NONE\n" ] } ], "source": [ "# Stop sequencer.\n", "readout_module.stop_sequencer()\n", "\n", "# Print status of sequencer.\n", "print(readout_module.get_sequencer_state(0))\n", "print()\n", "\n", "# Uncomment the following to print an overview of the instrument parameters.\n", "# Print an overview of the instrument parameters.\n", "# print(\"Snapshot:\")\n", "# qrm.print_readable_snapshot(update=True)\n", "\n", "# Reset the cluster\n", "cluster.reset()\n", "print(cluster.get_system_state())" ] } ], "metadata": { "interpreter": { "hash": "31f2aee4e71d21fbe5cf8b01ff0e069b9275f58929596ceb00d14d90e3e16cd6" }, "jupytext": { "formats": "ipynb,py:percent" }, "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.0" }, "widgets": { "application/vnd.jupyter.widget-state+json": { "state": { "03f0b6fe39154c859045052f7ce825b1": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "state": { "description_width": "" } }, "082e1028e19a42728ef060eec4ae155b": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "state": { "description_width": "" } }, "0b899c5a222d4328af93eb8a784eacac": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": {} }, "1cae236c888542b1bb75f0a191ae44d6": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DropdownModel", "state": { "_options_labels": [ "module8" ], "index": 0, "layout": "IPY_MODEL_f7096b261042425aa3bb6df6043d5232", "style": "IPY_MODEL_a26d39036504496ebf1ea0b3bd7df0b4" } }, "3606e0cac00148eeb7aa9f8d228d56a3": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "state": { "description_width": "" } }, "3b114af916ee4999aeaebd7b78c9c730": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DropdownModel", "state": { "_options_labels": [ "cluster-mm" ], "description": "Select Device", "index": 0, "layout": "IPY_MODEL_0b899c5a222d4328af93eb8a784eacac", "style": "IPY_MODEL_03f0b6fe39154c859045052f7ce825b1" } }, "47b00ee92b764bf8a8fc1eceeb5e3df0": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": {} }, "55fe574742944c829be33ff10cc685c4": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": {} }, "5cc90d03382e4fb9a5e780a178728195": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "state": { "description_width": "" } }, "5f7ed04dd5914b70a7a58de6229738f2": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DropdownModel", "state": { "_options_labels": [ "module8" ], "index": 0, "layout": "IPY_MODEL_899992e963d74cb7a0447a88b62729ec", "style": "IPY_MODEL_6d806020a6734192beceb21dd188126e" } }, "6d806020a6734192beceb21dd188126e": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "state": { "description_width": "" } }, "899992e963d74cb7a0447a88b62729ec": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": {} }, "951760d575e74d52b5d18a2a94bede80": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DropdownModel", "state": { "_options_labels": [ "cluster-mm" ], "description": "Select Device", "index": 0, "layout": "IPY_MODEL_b6cf29a5e6d4484a8218f610ce3086c7", "style": "IPY_MODEL_3606e0cac00148eeb7aa9f8d228d56a3" } }, "a2104283bca8416dafafa4f0b4fc4df6": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": {} }, "a26d39036504496ebf1ea0b3bd7df0b4": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "state": { "description_width": "" } }, "b05c483bf3de4c0fb51d44d39fd837e9": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DropdownModel", "state": { "_options_labels": [ "cluster-mm" ], "description": "Select Device", "index": 0, "layout": "IPY_MODEL_55fe574742944c829be33ff10cc685c4", "style": "IPY_MODEL_082e1028e19a42728ef060eec4ae155b" } }, "b6cf29a5e6d4484a8218f610ce3086c7": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": {} }, "c5ee3b91fa6945d8870ef6b07ead9d71": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "state": { "description_width": "" } }, "c6b4f30421484887a1015399895c6c94": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DropdownModel", "state": { "_options_labels": [ "module8" ], "index": 0, "layout": "IPY_MODEL_a2104283bca8416dafafa4f0b4fc4df6", "style": "IPY_MODEL_f138390e23d64fc2bbc36a0c5e97e649" } }, "d57c5c8020ec43b9b3ce44dac683d15d": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DropdownModel", "state": { "_options_labels": [ "cluster-mm" ], "description": "Select Device", "index": 0, "layout": "IPY_MODEL_47b00ee92b764bf8a8fc1eceeb5e3df0", "style": "IPY_MODEL_5cc90d03382e4fb9a5e780a178728195" } }, "eaf92e82c1e2497f81234596c107e433": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": {} }, "f138390e23d64fc2bbc36a0c5e97e649": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DescriptionStyleModel", "state": { "description_width": "" } }, "f55687d9dd5545aa811ab1345ad0c893": { "model_module": "@jupyter-widgets/controls", "model_module_version": "1.5.0", "model_name": "DropdownModel", "state": { "_options_labels": [ "module8" ], "index": 0, "layout": "IPY_MODEL_eaf92e82c1e2497f81234596c107e433", "style": "IPY_MODEL_c5ee3b91fa6945d8870ef6b07ead9d71" } }, "f7096b261042425aa3bb6df6043d5232": { "model_module": "@jupyter-widgets/base", "model_module_version": "1.2.0", "model_name": "LayoutModel", "state": {} } }, "version_major": 2, "version_minor": 0 } } }, "nbformat": 4, "nbformat_minor": 5 }