{ "cells": [ { "cell_type": "markdown", "id": "aab9ba3c", "metadata": {}, "source": [ "# Photonic Circuits" ] }, { "cell_type": "markdown", "id": "bda02f5c", "metadata": {}, "source": [ "Photonic circuits are critical for linear-optical quantum computing and play a crucial role in quantum communication. At the top-most level, constructing and simulating photonic circuits in ZPGenerator is very similar to [Perceval](https://perceval.quandela.net/), a framework also developed by Quandela. The main difference is that circuits in ZPGenerator cannot be analysed independent of sources and detectors. This is because ZPGenerator is a source-physics simulator as opposed to Perceval, which is a circuit-focused simulator. In ZPGenerator, as in Perceval, the object that combines sources, circuits, and detectors/post-processing is called a Processor." ] }, { "cell_type": "code", "execution_count": 1, "id": "ed5097ac", "metadata": { "ExecuteTime": { "end_time": "2024-02-09T08:42:45.779032Z", "start_time": "2024-02-09T08:42:44.631021Z" } }, "outputs": [], "source": [ "from zpgenerator import *\n", "import numpy as np\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "markdown", "id": "b9c58b76", "metadata": {}, "source": [ "## Building a processor" ] }, { "cell_type": "markdown", "id": "75af0a69", "metadata": { "ExecuteTime": { "end_time": "2023-10-02T13:31:53.817774Z", "start_time": "2023-10-02T13:31:53.802166Z" } }, "source": [ "To simulate a photonic circuit, the first thing to do is create a Processor. The number of discrete processor modes needed will expand dynamically as we add components." ], "outputs": [], "execution_count": 2 }, { "cell_type": "code", "execution_count": 2, "id": "db4d96d8", "metadata": { "ExecuteTime": { "end_time": "2024-02-09T08:42:45.781980Z", "start_time": "2024-02-09T08:42:45.780198Z" } }, "outputs": [], "source": [ "qpu = Processor()" ] }, { "cell_type": "markdown", "id": "daace7fc", "metadata": { "ExecuteTime": { "end_time": "2023-10-02T13:31:56.432116Z", "start_time": "2023-10-02T13:31:56.420768Z" } }, "source": [ "Once we initialise a processor, we can add components to it using the add() method. We have three types of components to add: (1) sources, (2) circuits, and (3) detectors. Catalogue sources can be easily created using class methods of the Source class. These components have one or more input modes that are vacuum by default, and one or more output modes that contain pulses of light. Sources are usually placed at the beginning of a processor but ZPGenerator also handles cascaded quantum systems where the emission from one source can be used to drive another.\n", "\n", "To demonstrate a simple example, we can simulate the Hong-Ou-Mandel (HOM) bunching effect [[C. K. Hong, Z. Y. Ou, and L. Mandel, Phys. Rev. Lett. 59, 2044 (1987)](https://journals.aps.org/prl/abstract/10.1103/PhysRevLett.59.2044)]. To do this, we can add a source of perfect single photon Fock states to modes 0 and 1 of our processor." ], "outputs": [], "execution_count": 3 }, { "cell_type": "code", "execution_count": 3, "outputs": [], "source": [ "qpu.add(0, Source.fock(1))\n", "qpu.add(1, Source.fock(1))" ], "metadata": { "collapsed": false, "ExecuteTime": { "end_time": "2024-02-09T08:42:45.811965Z", "start_time": "2024-02-09T08:42:45.782305Z" } } }, { "cell_type": "markdown", "source": [ "Next, we want to add a beam splitter so that our two single photons will interfere. To do this, we can use class methods from the Circuit class to access catalogue linear-optical components." ], "metadata": { "collapsed": false } }, { "cell_type": "code", "execution_count": 4, "outputs": [], "source": [ "qpu.add(0, Circuit.bs())" ], "metadata": { "collapsed": false, "ExecuteTime": { "end_time": "2024-02-09T08:42:45.814494Z", "start_time": "2024-02-09T08:42:45.812616Z" } } }, { "cell_type": "markdown", "source": [ "Finally, we need to place our detectors to monitor the output modes of the beam splitter. This is done using the Detector class that, like the Source and Circuit classes, has class methods to create different catalogue detector types. Since we wish to observe the HOM bunching effect, and we have only two photons, we can use photon-number resolving (PNR) detectors with a resolution of 2." ], "metadata": { "collapsed": false } }, { "cell_type": "code", "execution_count": 5, "id": "f776af4a", "metadata": { "ExecuteTime": { "end_time": "2024-02-09T08:42:45.820464Z", "start_time": "2024-02-09T08:42:45.815793Z" } }, "outputs": [], "source": [ "qpu.add(0, Detector.pnr(2))\n", "qpu.add(1, Detector.pnr(2))" ] }, { "cell_type": "markdown", "id": "3290c8c3", "metadata": { "ExecuteTime": { "end_time": "2023-10-02T13:31:58.119485Z", "start_time": "2023-10-02T13:31:58.114144Z" } }, "source": [ "Now that we have constructed our processor, we can visualise the basic structure using the display() method. More advanced visualisation methods will be implemented in future updates." ], "outputs": [ { "data": { "text/plain": "", "image/svg+xml": "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nRx\n\n\n0\n1\n0\n1\n" }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "execution_count": 4 }, { "cell_type": "code", "execution_count": 6, "id": "eeecb8e9", "metadata": { "ExecuteTime": { "end_time": "2024-02-09T08:42:45.823540Z", "start_time": "2024-02-09T08:42:45.821710Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", " _____________\n", "|0>----| Component |----D~\n", "|0>----| |----D~\n", " ‾‾‾‾‾‾‾‾‾‾‾‾‾\n" ] } ], "source": [ "qpu.display()" ] }, { "cell_type": "markdown", "id": "681276e6", "metadata": { "ExecuteTime": { "end_time": "2023-10-02T13:31:59.618657Z", "start_time": "2023-10-02T13:31:59.608819Z" } }, "source": [ "The total two-mode processor begins with vacuum inputs, one input to each source. The component represents the combination of two Fock state sources and a beam splitter. Finally, the detectors indicate that the output modes are monitored. To break this down, we can also display all the elements composing the component by setting elements=True when displaying the processor." ], "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", " 0 (source 0) -- (circuit) -- (detector) \n", " 1 (source 1) -- (circuit) -- (detector) \n" ] } ], "execution_count": 5 }, { "cell_type": "code", "execution_count": 7, "id": "39043852", "metadata": { "ExecuteTime": { "end_time": "2024-02-09T08:42:45.825882Z", "start_time": "2024-02-09T08:42:45.824032Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", " _______\n", "|0>--(0| |1> |0)--\n", " ‾‾‾‾‾‾‾\n", "\n", " _______\n", "|0>--(1| |1> |1)--\n", " ‾‾‾‾‾‾‾\n", "\n", " ______\n", " --(0| BS |0)--\n", " --(1| |1)--\n", " ‾‾‾‾‾‾\n", "\n", " ________\n", " --(0| PNRD |0)--D~\n", " ‾‾‾‾‾‾‾‾\n", "\n", " ________\n", " --(1| PNRD |1)--D~\n", " ‾‾‾‾‾‾‾‾\n" ] } ], "source": [ "qpu.display(elements=True)" ] }, { "cell_type": "markdown", "id": "2ce35153", "metadata": { "ExecuteTime": { "end_time": "2023-10-02T13:32:00.799123Z", "start_time": "2023-10-02T13:32:00.792490Z" } }, "source": [ "This function illustrates each element, or subcomponent, with its name and also the arrangement of ports and their labels connecting the different elements together. Note that sources and detectors are just special types of components where all inputs are vacuum, or all outputs are monitored, respectively." ], "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", " 0 (Fock |1> source 0) -- (circuit) -- (PNRD, L) \n", " 1 (Fock |1> source 1) -- (circuit) -- (PNRD, R) \n" ] } ], "execution_count": 6 }, { "cell_type": "markdown", "source": [ "## Simulating correlations" ], "metadata": { "collapsed": false } }, { "cell_type": "markdown", "source": [ "Now that we have built the processor, the next step is to simulate it. To do this, we can ask for the probabilities using the probs() method of the Processor class." ], "metadata": { "collapsed": false } }, { "cell_type": "code", "execution_count": 8, "id": "b83a958a", "metadata": { "ExecuteTime": { "end_time": "2024-02-09T08:42:45.874340Z", "start_time": "2024-02-09T08:42:45.827717Z" } }, "outputs": [], "source": [ "probabilities = qpu.probs()" ] }, { "cell_type": "markdown", "source": [ "Detection probabilities are returned as a CorrelationDistribution object that takes tuples of positive integers as keys. To check that we have HOM bunching, we must ensure that the coincidence count outcome corresponding to the tuple (1, 1) has a zero probability of occurring." ], "metadata": { "collapsed": false } }, { "cell_type": "code", "execution_count": 9, "outputs": [ { "data": { "text/plain": "True" }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "probabilities[1, 1] == 0" ], "metadata": { "collapsed": false, "ExecuteTime": { "end_time": "2024-02-09T08:42:45.878134Z", "start_time": "2024-02-09T08:42:45.875918Z" } } }, { "cell_type": "markdown", "source": [ "As expected, our processor never produces the (1, 1) detection pattern due to the HOM bunching effect. We can also diplay the distribution to see all non-negligible probabilities." ], "metadata": { "collapsed": false } }, { "cell_type": "code", "execution_count": 10, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Pattern | Probability\n", "2 0 | 0.50000\n", "0 2 | 0.50000\n", "\n" ] } ], "source": [ "probabilities.display()" ], "metadata": { "collapsed": false, "ExecuteTime": { "end_time": "2024-02-09T08:42:45.880563Z", "start_time": "2024-02-09T08:42:45.878599Z" } } }, { "cell_type": "markdown", "source": [ "Because we are using perfect source of single-photon Fock states and we have not included any losses, we never observe single-photon outcomes or vacuum outcomes. The photon-number patterns registered by each detector are ordered, by default, according to their spatial mode. That is, the pattern (2, 0) indicates that 'PNRD' monitoring mode 0 detected 2 photons while 'PNRD' monitoring mode 1 detected 0 photons.\n", "\n", "It's important to note that, unlike Perceval, detection probabilities _do not_ always represent state probabilities. Hence, ZPGenerator uses the notation '2 0' and not '|2,0>' to represent outcomes. In ZPGenerator, the detection probabilities are integrated over time, and thus can only be considered Fock state probabilities if the state of light is actually in a pure Fock state. Since we are using a perfect source of Fock states in this first example, we can equate measuring '2 0' with measuring '|2,0>' but this is not always true." ], "metadata": { "collapsed": false } }, { "cell_type": "markdown", "source": [ "
A note on detector resolution
" ], "metadata": { "collapsed": false } }, { "cell_type": "markdown", "source": [ "A very important point about using PNR detectors in ZPGenerator is that they must be given a resolution as large or larger than the largest photon number that it could measure with a non-negligible probability, or else the outcome probabilities will be modified by aliasing. To demonstrate this effect, consider what happens when simulating a 3-photon Fock states using a PNR detector with a resolution of 2." ], "metadata": { "collapsed": false } }, { "cell_type": "code", "execution_count": 11, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Pattern | Probability\n", "0 | 1.00000\n", "\n" ] } ], "source": [ "qpu = Processor()\n", "qpu.add(0, Source.fock(3))\n", "qpu.add(0, Detector.pnr(2))\n", "qpu.probs().display()" ], "metadata": { "collapsed": false, "ExecuteTime": { "end_time": "2024-02-09T08:42:45.914413Z", "start_time": "2024-02-09T08:42:45.881805Z" } } }, { "cell_type": "markdown", "source": [ "Notice that we expected 3 photons with a probability of 1, but measured 0 photons instead. This is because any detection probability that exceeds the resolution 'wraps around' and adds to the distribution, i.e., modulo the resolution. This behaviour is fully expected based on the theory of how the backend works, and can be a useful feature in some cases. However, it can cause confusion if not taken into account when simulating a processor." ], "metadata": { "collapsed": false } }, { "cell_type": "markdown", "id": "a9ccf80b", "metadata": {}, "source": [ "## Threshold detection" ] }, { "cell_type": "markdown", "source": [ "An interesting feature of ZPGenerator is the ability to simulate threshold detectors without first simulating all the number-resolved outcomes. Threshold detectors detect either zero photons (no click) or at least one photon (click). This type of detector is commonly used to model avalanche photodiode (APD) detectors and non-resolving superconducting nanowire single-photon detectors (SNSPD). Unlike photon-number resolved outcomes, ZPGenerator will not return aliased distributions if the number of photons incident exceeds the threshold detector resolution of 1. This is because threshold detection produces a finite set of outcomes that requires no truncation.\n", "\n", "Let's quickly rewrite the same HOM processor, but now using threshold detectors. In this case, we will use the shorthand // notation to add components and specify lists of integers to add a component to multiple modes at the same time." ], "metadata": { "collapsed": false } }, { "cell_type": "code", "execution_count": 12, "id": "a517c95e", "metadata": { "ExecuteTime": { "end_time": "2024-02-09T08:42:45.959749Z", "start_time": "2024-02-09T08:42:45.911357Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Pattern | Probability\n", "0 1 | 0.50000\n", "1 0 | 0.50000\n", "\n" ] } ], "source": [ "qpu = Processor() // ([0, 1], Source.fock(1)) // Circuit.bs() // ([0, 1], Detector.threshold())\n", "qpu.probs().display()" ] }, { "cell_type": "markdown", "source": [ "When using threshold detectors, a 0 represents the same outcome as it does for PNR detectors. However, a 1 now indicates at least one photon was detected. Comparing this with our number-resolved simulation of the HOM effect, we can see that threshold detectors register 2-photon outcomes as a single click. In many cases, threshold detection is sufficient to understand how the source and circuit interact, such as this HOM interference experiment where we only want to identify the absence of coincidence counts. This is why, in practice, HOM interference experiments used to characterise single-photon sources are performed using threshold detectors." ], "metadata": { "collapsed": false } }, { "cell_type": "markdown", "source": [ "In general, ZPGenerator also allows us to mix and match different sources and detectors, or even leave many inputs or outputs empty. As in permanent-based simulators, like Perceval, the time needed to simulate an experiment using ZPGenerator depends on the Hilbert space size of the input states or sources, and the number of outcomes for the outputs being monitored, but not the size of the circuit." ], "metadata": { "collapsed": false } }, { "cell_type": "code", "execution_count": 13, "id": "16df3767", "metadata": { "ExecuteTime": { "end_time": "2024-02-09T08:42:47.621948Z", "start_time": "2024-02-09T08:42:45.955595Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Pattern | Probability\n", "0 0 0 | 0.46479\n", "0 1 0 | 0.09099\n", "0 2 0 | 0.01460\n", "0 3 0 | 0.00178\n", "0 4 0 | 0.00013\n", "0 0 1 | 0.12664\n", "0 1 1 | 0.02085\n", "0 2 1 | 0.00320\n", "0 3 1 | 0.00030\n", "0 4 1 | 0.00002\n", "1 0 0 | 0.19182\n", "1 1 0 | 0.04545\n", "1 2 0 | 0.00668\n", "1 3 0 | 0.00066\n", "1 4 0 | 0.00004\n", "1 0 1 | 0.02436\n", "1 1 1 | 0.00663\n", "1 2 1 | 0.00100\n", "1 3 1 | 0.00007\n", "\n" ] } ], "source": [ "qpu = Processor()\n", "qpu.add(0, Source.fock(1))\n", "qpu.add(7, Source.fock(3))\n", "qpu.add(15, Source.fock(2))\n", "qpu.add(0, Circuit.haar_random(24))\n", "qpu.add(0, Detector.threshold(bin_name='TD 1'))\n", "qpu.add(12, Detector.threshold(bin_name='TD 2'))\n", "qpu.add(8, Detector.pnr(6, bin_name='PNRD'))\n", "qpu.probs().display()" ] }, { "cell_type": "markdown", "source": [ "In more complicated experiments such as the example above, it is useful to assign detectors to a unique bin using the 'bin_name' keyword, as done above. Then, we can always look to see what the order of the outcomes in the pattern represent by checking the bin_labels property of the processor." ], "metadata": { "collapsed": false } }, { "cell_type": "code", "execution_count": 14, "outputs": [ { "data": { "text/plain": "['TD 1', 'PNRD', 'TD 2']" }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "qpu.bin_labels" ], "metadata": { "collapsed": false, "ExecuteTime": { "end_time": "2024-02-09T08:42:47.627531Z", "start_time": "2024-02-09T08:42:47.624573Z" } } }, { "cell_type": "markdown", "source": [ "The bin_name keyword also allows detectors to serve more complex functionalities than just monitoring a single mode for the entirety of the experiment. We may have multiple detectors monitoring the same mode but at different times, or one detector monitoring multiple modes simultaneously and binning the results together." ], "metadata": { "collapsed": false } }, { "cell_type": "markdown", "source": [ "## Binned detectors" ], "metadata": { "collapsed": false } }, { "cell_type": "markdown", "source": [ "Sometimes we do not need to know the individual outcomes for different detectors, but instead only need to know their summed results. For example, this technique of binning detectors together can be used to validate Boson Sampling results [[B. Seron, et al., arXiv: 2212.09643 (2022)](https://arxiv.org/abs/2212.09643)]. To bin the results of two detectors in ZPGenerator, we must assign them the same bin name and also ensure that they are the same detector type and have the same resolution. Let's take a look at 4 photons passing through a 24-mode Haar random circuit, but divide the 24 outputs into two groups. Note that, without binning, there are 17750 possible outcomes. But, by binning into two groups, we have just 5 possible outcomes." ], "metadata": { "collapsed": false } }, { "cell_type": "code", "execution_count": 15, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Pattern | Probability\n", "4 0 | 0.08011\n", "3 1 | 0.25627\n", "2 2 | 0.35144\n", "1 3 | 0.24149\n", "0 4 | 0.07069\n", "\n" ] } ], "source": [ "qpu = Processor()\n", "qpu.add([0, 1, 2, 3], Source.fock(1))\n", "qpu.add(0, Circuit.haar_random(24))\n", "qpu.add(list(range(0, 12)), Detector.pnr(4, bin_name='bin 0'))\n", "qpu.add(list(range(12, 24)), Detector.pnr(4, bin_name='bin 1'))\n", "qpu.probs().display()" ], "metadata": { "collapsed": false, "ExecuteTime": { "end_time": "2024-02-09T08:42:54.644850Z", "start_time": "2024-02-09T08:42:47.627043Z" } } }, { "cell_type": "markdown", "source": [ "At this point, it is worth mentioning that ZPGenerator is generally a lot slower than Perceval for problems that both frameworks can tackle. This is because ZPGenerator is designed to solve general noisy time-dynamic problems, which can be overkill when simulating ideal photons as in the above scenarios. However, the backend is extremely flexible and can provide solutions to a wide range of realistic experimental setups that cannot be simulated using Perceval." ], "metadata": { "collapsed": false } }, { "cell_type": "markdown", "source": [ "## Imperfect sources" ], "metadata": { "collapsed": false } }, { "cell_type": "markdown", "id": "73a9e209", "metadata": { "ExecuteTime": { "end_time": "2023-10-02T13:32:21.834321Z", "start_time": "2023-10-02T13:32:21.505959Z" } }, "source": [ "Without going too deep into source physics, we can also use ZPGenerator to simulate a wide variety of realistic source types. The easiest way to accomplish this is to use the different catalogue sources available from the Source class. To demonstrate, let's revisit the Hong-Ou-Mandel scenario but using a more realistic source type that includes source inefficiency, multi-photon emission, and non-ideal indistinguishability. To obtain a source that produces a photon with known efficiency, integrated intensity correlation ($g^{(2)}), and amount of indistinguishability, we can use the perceval() source model.\n", "\n", "This source type is based on a simplified noise model of a near-ideal single photon produced by the fast excitation of a two-level emitter. Thus, we get at most two photons from each source, and the additional photon of the multiphoton component is completely distinguishable from the single photon component as demonstrated in [[H. Ollivier et al., Phys. Rev. Lett. 126, 063602 (2021)](https://journals.aps.org/prl/abstract/10.1103/PhysRevLett.126.063602)]. It is named as such because it is the same model that is used in the Source class in Perceval." ], "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Outcome: Probability\n", "00: 0.02250\n", "10: 0.12467\n", "20: 0.32826\n", "30: 0.00745\n", "40: 0.00008\n", "01: 0.12467\n", "11: 0.03992\n", "21: 0.00823\n", "02: 0.32826\n", "12: 0.00823\n", "22: 0.00017\n", "03: 0.00745\n", "04: 0.00008\n", "\n" ] } ], "execution_count": 15 }, { "cell_type": "code", "execution_count": 16, "id": "7087de45", "metadata": { "ExecuteTime": { "end_time": "2024-02-09T08:42:55.138015Z", "start_time": "2024-02-09T08:42:54.645989Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Pattern | Probability\n", "0 0 | 0.02250\n", "1 0 | 0.12467\n", "2 0 | 0.32826\n", "3 0 | 0.00745\n", "4 0 | 0.00009\n", "0 1 | 0.12467\n", "1 1 | 0.03992\n", "2 1 | 0.00823\n", "0 2 | 0.32826\n", "1 2 | 0.00823\n", "2 2 | 0.00017\n", "0 3 | 0.00745\n", "0 4 | 0.00009\n", "\n" ] } ], "source": [ "source = Source.perceval(emission_probability=0.85,\n", " multiphoton_component=0.05,\n", " indistinguishability=0.9)\n", "qpu = Processor()\n", "qpu.add([0, 1], source)\n", "qpu.add(0, Circuit.bs())\n", "qpu.add([0, 1], Detector.pnr(4))\n", "qpu.probs().display()" ] }, { "cell_type": "markdown", "id": "34febe4d", "metadata": { "ExecuteTime": { "end_time": "2023-10-02T13:32:44.057384Z", "start_time": "2023-10-02T13:32:43.545019Z" } }, "source": [ "By going one step deeper into the physics, we can also modify the physical parameters of catalogue components to create imperfections." ], "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Outcome: Probability\n", "40: 0.37500\n", "22: 0.25000\n", "04: 0.37500\n", "\n", "TVD: 0.0\n", "\n", "Outcome: Probability\n", "40: 0.34170\n", "22: 0.23204\n", "04: 0.34170\n", "31: 0.04228\n", "13: 0.04228\n", "\n", "TVD: 0.04227798753216591\n" ] } ], "execution_count": 16 }, { "cell_type": "markdown", "source": [ "## Parameters" ], "metadata": { "collapsed": false } }, { "cell_type": "markdown", "source": [ "ZPGenerator is built to handle components that may be controlled by many different parameters. This is particularly important once we start building new components and time-dynamic control pulses in a composable way. In this section, we will take a look at the basic methods we can use to modify parameters controlling the simulation model.\n", "\n", "All components come with a set of default parameters that can be overwritten when simulating the processor. To see what parameters we can modify, let's once again build a basic HOM setup and look at the list of parameters automatically included by the included catalogue components. This time, we will define our components first, and then add them to the processor using the shorthand // symbol." ], "metadata": { "collapsed": false } }, { "cell_type": "code", "execution_count": 17, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['angle', 'decay', 'delay', 'dephasing', 'efficiency', 'resonance']\n" ] } ], "source": [ "source = Source.fock(1)\n", "circuit = Circuit.bs()\n", "detector = Detector.pnr(2)\n", "\n", "qpu = Processor() // ([0, 1], source) // (0, circuit) // ([0, 1], detector)\n", "\n", "print(qpu.parameters)" ], "metadata": { "collapsed": false, "ExecuteTime": { "end_time": "2024-02-09T08:42:55.148473Z", "start_time": "2024-02-09T08:42:55.139031Z" } } }, { "cell_type": "markdown", "source": [ "By printing the parameters property of the processor, we can see there are many parameters and perhaps their functionalities are not clear because we don't know which components they belong to. One option is to check the parameters of each component individually." ], "metadata": { "collapsed": false } }, { "cell_type": "code", "execution_count": 18, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['decay', 'delay', 'dephasing', 'efficiency', 'resonance']\n", "['angle']\n", "['efficiency']\n" ] } ], "source": [ "print(source.parameters)\n", "print(circuit.parameters)\n", "print(detector.parameters)" ], "metadata": { "collapsed": false, "ExecuteTime": { "end_time": "2024-02-09T08:42:55.151040Z", "start_time": "2024-02-09T08:42:55.149192Z" } } }, { "cell_type": "markdown", "source": [ "We can see that each component has its own list of parameters, and together they make all the parameters of the processor. However, we must be _very careful_ because both the source and detector component have the same parameter \"efficiency\". So, if we change the efficiency parameter, it will apply twice---once at emission and once at detection. To avoid parameter clashes like this, it is important to always give each component a unique name so that we can control their parameters individually." ], "metadata": { "collapsed": false } }, { "cell_type": "code", "execution_count": 19, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "['beamsplitter/angle', 'detector/efficiency', 'source/decay', 'source/delay', 'source/dephasing', 'source/efficiency', 'source/resonance']\n" ] } ], "source": [ "source.name = 'source'\n", "circuit.name = 'beamsplitter'\n", "detector.name = 'detector'\n", "print(qpu.parameters)" ], "metadata": { "collapsed": false, "ExecuteTime": { "end_time": "2024-02-09T08:42:55.153968Z", "start_time": "2024-02-09T08:42:55.152034Z" } } }, { "cell_type": "markdown", "source": [ "Now we can easily see which parameters belong to which component. More importantly, we can specify which parameter to modify. Before doing this, let's take a look at what the default parameters are." ], "metadata": { "collapsed": false } }, { "cell_type": "code", "execution_count": 20, "outputs": [ { "data": { "text/plain": "{'source/resonance': 0.0,\n 'source/dephasing': 0.0,\n 'source/delay': 0.0,\n 'source/decay': 1.0,\n 'source/efficiency': 1,\n 'beamsplitter/angle': 0.7853981633974483,\n 'detector/efficiency': 1}" }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "qpu.default_parameters" ], "metadata": { "collapsed": false, "ExecuteTime": { "end_time": "2024-02-09T08:42:55.189908Z", "start_time": "2024-02-09T08:42:55.154078Z" } } }, { "cell_type": "markdown", "source": [ "Here, we can see that our source is emitting light that is resonant (resonance = 0) with respect to the global reference. There is also no dephasing impacting the amplitude coherence of the light (dephasing = 0), the 'delay' parameter being 0 indicates that the emission occurs at time t=0, and the decay rate of the source (governing the emission timescale) is set to 1. The source also has an efficiency parameter, which can represent a collection efficiency, which is set to 1 by default. The beamsplitter is has a 50:50 ratio by default, corresponding to an angle of $\\pi/4$. Finally, the detector has an efficiency of 1.\n", "\n", "The majority of the time, we don't care to modify all these default parameters. But, perhaps we want to modify only one or two of them. To do this, we simply specify the parameter to modify when simulating the processor. Let's increase the source dephasing and see how it impacts the HOM bunching effect." ], "metadata": { "collapsed": false } }, { "cell_type": "code", "execution_count": 21, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Pattern | Probability\n", "2 0 | 0.47727\n", "1 1 | 0.04545\n", "0 2 | 0.47727\n", "\n" ] } ], "source": [ "qpu.probs(parameters={'source/dephasing': 0.1}).display()" ], "metadata": { "collapsed": false, "ExecuteTime": { "end_time": "2024-02-09T08:42:55.225830Z", "start_time": "2024-02-09T08:42:55.159563Z" } } }, { "cell_type": "markdown", "source": [ "By specifying a new value for 'source/dephasing' we will add some pure dephasing to the fock state, which leads to some amount of distinguishability, preventing perfect HOM bunching, and thus we observe '1 1' coincidence counts.\n", "\n", "The way parameters work in ZPGenerator allow us to also specify the common part of one or more parameters to modify all parameters with that common name. For example, we have two 'efficiency' parameters: 'source/efficiency' and 'detector/efficiency'. We can modify them individually using their full name, or we can modify them both at the same time using their common name." ], "metadata": { "collapsed": false } }, { "cell_type": "code", "execution_count": 22, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Pattern | Probability\n", "0 0 | 0.25000\n", "1 0 | 0.25000\n", "2 0 | 0.12500\n", "0 1 | 0.25000\n", "0 2 | 0.12500\n", "\n", "Pattern | Probability\n", "0 0 | 0.56250\n", "1 0 | 0.18750\n", "2 0 | 0.03125\n", "0 1 | 0.18750\n", "0 2 | 0.03125\n", "\n" ] }, { "data": { "text/plain": "True" }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "qpu.probs(parameters={'source/efficiency': 0.5}).display()\n", "qpu.probs(parameters={'efficiency': 0.5}).display()\n", "qpu.probs(parameters={'efficiency': 0.5}) == qpu.probs(parameters={'source/efficiency': 0.5, 'detector/efficiency': 0.5})" ], "metadata": { "collapsed": false, "ExecuteTime": { "end_time": "2024-02-09T08:42:55.423884Z", "start_time": "2024-02-09T08:42:55.229066Z" } } }, { "cell_type": "markdown", "source": [ "As you can see, modifying 'source/efficiency' to 0.5 will reduce the emission efficiency of the sources to 50%. However, by modifying 'efficiency' to 0.5, we will change both 'source/efficiency' and 'detector/efficiency', resulting in more losses.\n", "\n", "If two components have parameters with the same name but with different default values, no parameter clashes will occur. Thus, another way to avoid parameter clashes is to assign different default parameters to components when creating them or to update their default parameters before simulating the processor.\n", "\n", "In the next section, we will use this approach to take a look at modifying the 'delay' parameter, but for each source independently." ], "metadata": { "collapsed": false } }, { "cell_type": "markdown", "source": [ "## Time dynamics" ], "metadata": { "collapsed": false } }, { "cell_type": "markdown", "source": [ "Since ZPGenerator is based on a time-dynamic backend, manipulating relative temporal properties of sources is natural. For example, by shifting the relative delay of the photons as above, we can see that the photons are partially distinguishable allowing for '1 1' coincidences similar to the case when we added dephasing." ], "metadata": { "collapsed": false } }, { "cell_type": "code", "execution_count": 23, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Pattern | Probability\n", "2 0 | 0.47621\n", "1 1 | 0.04758\n", "0 2 | 0.47621\n", "\n" ] } ], "source": [ "beamsplitter = Circuit.bs()\n", "detector = Detector.pnr(2)\n", "\n", "qpu = Processor()\n", "qpu.add(0, Source.fock(1, parameters={'delay': 0}))\n", "qpu.add(0, Source.fock(1, parameters={'delay': 0.1}))\n", "qpu = qpu // beamsplitter // ([0, 1], detector)\n", "\n", "qpu.probs().display()" ], "metadata": { "collapsed": false, "ExecuteTime": { "end_time": "2024-02-09T08:42:55.560706Z", "start_time": "2024-02-09T08:42:55.439873Z" } } }, { "cell_type": "markdown", "id": "152658e5", "metadata": { "ExecuteTime": { "end_time": "2023-10-02T13:32:56.190823Z", "start_time": "2023-10-02T13:32:48.585024Z" } }, "source": [ "Setting parameters in this way is convenient because we do not need to name each component, but we have to be careful to note that it only impacts the default values. If we try to modify 'delay', it will modify both the parameter for both sources, which eliminates the relative delay and restores HOM bunching.\n", "\n", "To get a better idea of what is happening in the above simulation, we can sweep the delay of one photon across the other and see how the anti-bunching probability is modified. To make things more interesting, let's also compare it to delaying a wavepacket when we have additional pure dephasing." ], "outputs": [ { "data": { "text/plain": "
", "image/png": "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fqhUTBsbG4qLi697zpYtW+jevTsTJkwwHDt16pQRLQcrKytGjx7NkiVLsLGx4YEHHrjuTKrg4OByhcHbt2+/4fO0atWKVq1a8dxzzzFy5EiWLFnC3XffXanXWRmtW7cuVweza9euMrc9PT1JTExEp9MZkssbrVmk0Wjo0aMHPXr0YNq0aTRr1ozVq1cTGRl5wzYdO3aMixcv8s477+Dn5wfA7t27Kzx3+/btNG3aFIBLly5x4sQJgoODKzy3ffv2HD9+vMJ/czeDm4MNjd3suZB+mSPxmXQNaFjunCMyE0uIekl6duqhli1bUlhYyLx58zh9+jTLly9n4cKFlXqsv78/Bw4c4Pjx46SmplbYAxEYGMju3bv5888/OXHiBK+99lq5D/jKGDduHH///Tfr1q0rU2NSkSeffJKYmBhefPFFjh8/zrfffnvddWkuX77M008/zaZNmzh79ixbtmxh165dhg9yf39/srOziYqKIjU1ldzcyu25dLUnnniCY8eO8dJLL3HixAl++OEHQ7v0iU3v3r1JSUnhvffe49SpU8yfP5+1a9deM+aOHTt4++232b17N3FxcaxatYqUlJRrJiFXa9q0KTY2Nob//r/88gtvvPFGhefOnDmTqKgoDh06xJgxY/Dw8LjmgoXTpk3jq6++YsaMGRw+fJijR4+yYsUKXn311Uq1Sw3BPkoSc+QaQ1mGPbF8JNkRoj6RZKceCg8PZ86cObz77ruEhobyzTffMGvWrEo9dvz48bRu3ZqOHTvi6enJli1byp3zxBNPMHz4cEaMGEGXLl24ePFimV6eygoMDKR79+4EBQWVq8e5WtOmTfnpp59Ys2YN4eHhLFy4kLfffvua51taWnLx4kVGjRpFq1atuP/++xk0aJChsLp79+48+eSTjBgxAk9PT9577z2j2w9KcfaPP/7IqlWrCAsL49NPP+WVV14BlKUBQOmVWrBgAfPnzyc8PJydO3ded8aWi4sLmzdvZvDgwbRq1YpXX32VDz74gEGDBlWqTZ6enixdupSVK1cSEhLCO++8w+zZsys895133mHSpEl06NCBxMREfv31V2xsbCo8d8CAAfz222/89ddfdOrUia5du/Lhhx8aiqhvhustLngpp4D4jDxANgAVor7R6K4uFqhnMjMzcXV1JSMjAxeXsm+AeXl5nDlzhubNm9+UmgNRlk6nIzAwkAkTJlRqeKa2eOutt1i4cCHnzp2r7qZUq6r4+/rrcCKPL99DkLcz6yb3LHPffzGpPPzlDpo1dOCfF/uo8nxCiOpzvc/vq0nNjqiRUlJSWLFiBYmJiYwdO7a6m2OWBQsW0KlTJxo2bMiWLVt4//33efrpp6u7WXVSm8bKjKyTydnkFxWXmXElKycLUX9JsiNqpEaNGuHh4cHnn39eZkp1bRQTE8Obb75JWloaTZs25fnnnzdpyw5xY76udrg5WJOeW8iJxGzaNrmycKAsJihE/SXJjqiR6tLo6ocffnjdNYKEejQaDW18Xdhy8iKH4zOuSnaUnh2p1xGi/pECZSFEnVLR4oK5BUWcTs0puV+SHSHqG0l2hBB1ypUZWRmGY0cTstDpwNPZlkbOMtlAiPpGkh0hRJ2iT3aOJmRRrFWGQ2UxQSHqN0l2hBB1SnMPJ+ytLblcWMyZkqEr2SZCiPpNkh0hRJ1iaaEhyMcZuDKUJTOxhKjfJNkRQtQ5+h6cI/GZFBZrOZ6YVea4EKJ+kWRHVKh3795MnjzZcNvf35+PPvpI1edYunQpbm5uhtuvv/46ERERZsXUaDSsWbPGrBimuPr3pda513L1764iavw+a6vSM7JOJmdTUKzF2dYKvwYO1dwyIUR1kGSnjhozZgwajabc5eTJk9XdtGt64YUXiIqKqtS51/ogT0hIqPQeUWpatWrVNTfTFDeffqPPIwmZhiGsYB8XLCw01dksIUQ1kUUF67CBAweyZMmSMsc8PT2rqTU35uTkhJOTk1kxvL29VWqNcdzd3avleUXFWns7Y2mhIS2ngI3HkgFZTFCI+kx6doyk0+nILcytlouxqwrb2tri7e1d5mJpacmYMWO46667ypw7efJkevfuXam4jz76KEOGDClzrLCwkEaNGvHll19e83FLly6ladOmODg4cPfdd3Px4sUy91/dW7Np0yY6d+6Mo6Mjbm5u9OjRg7Nnz7J06VJmzJjB/v37DT1WS5cuBcoOY8XGxqLRaFi1ahV9+vTBwcGB8PBwtm3bVuZ5Fy1ahJ+fn6Fdc+bMKTNEVJnf19VDUwsWLCAwMBA7Ozu8vLy49957yzxeq9UyZcoU3N3d8fb25vXXXy9z/5w5c2jbti2Ojo74+fkxYcIEsrOzy/1O16xZY3ieAQMG3HBz0S+++ILg4GDs7OwICgpiwYIF1z2/trKztqSlp5I4/3UkEZB6HSHqM+nZMdLlost0+bZLtTz3jgd34GBd/TUH48aNo2fPniQkJODj4wPAb7/9Rm5uLiNGjKjwMTt27OCxxx5j1qxZ3HXXXaxbt47p06df8zmKioq46667GD9+PN999x0FBQXs3LkTjUbDiBEjOHToEOvWrWPDhg0AuLpee5bNK6+8wuzZswkMDOSVV15h5MiRnDx5EisrK7Zs2cKTTz7Ju+++y7Bhw9iwYQOvvfaaGb8d2L17N88++yzLly+ne/fupKWl8e+//5Y5Z9myZURGRrJjxw62bdvGmDFj6NGjB/369QPAwsKCjz/+mObNm3P69GkmTJjAlClTyiQnubm5vPXWW3z11VfY2NgwYcIEHnjgAbZs2VJhu7755humTZvGJ598Qrt27di3bx/jx4/H0dGR0aNHm/Waa6I2vi4cT8qisFhXcltmYglRX9XInp358+fj7++PnZ0dXbp0YefOndc9f+XKlQQFBWFnZ0fbtm35448/blJLa7bffvvNMDTk5OTEfffdp0rc7t2707p1a5YvX244tmTJEu67775rDkPNnTuXgQMHMmXKFFq1asWzzz7LgAEDrvkcmZmZZGRkMGTIEFq0aEFwcDCjR4+madOm2Nvb4+TkhJWVlaHHyt7e/pqxXnjhBe644w5atWrFjBkzOHv2rKF2ad68eQwaNIgXXniBVq1aMWHCBLNrfuLi4nB0dGTIkCE0a9aMdu3a8eyzz5Y5JywsjOnTpxMYGMioUaPo2LFjmXqlyZMn06dPH/z9/bntttt48803+eGHH8rEKCws5JNPPqFbt2506NCBZcuWsXXr1mv+vUyfPp0PPviA4cOH07x5c4YPH85zzz3HZ599ZtbrralKD1vZWFoQ6GXeEKkQovaqcT0733//PZGRkSxcuJAuXbrw0UcfMWDAAI4fP06jRo3Knb9161ZGjhzJrFmzGDJkCN9++y133XUXe/fuJTQ0VPX22VvZs+PBHarHrexzG6NPnz58+umnhtuOjo6qtWXcuHF8/vnnTJkyhaSkJNauXcvff/99zfOPHj3K3XffXeZYt27dWLduXYXnu7u7M2bMGAYMGEC/fv3o27cv999/v6EnyRhhYWGG6/rHJycnExQUxPHjx8u1q3Pnzvz2229GP49ev379aNasGQEBAQwcOJCBAwdy9913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" }, "metadata": {}, "output_type": "display_data" } ], "execution_count": 18 }, { "cell_type": "code", "execution_count": 24, "id": "2320c8f7", "metadata": { "ExecuteTime": { "end_time": "2024-02-09T08:43:02.833431Z", "start_time": "2024-02-09T08:42:55.579739Z" } }, "outputs": [ { "data": { "text/plain": "
", "image/png": "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T5/O+++/z913301AQAB33303zz//PJ999lmVXm9tFXZJT45GAx183WqwNUKImlTrena+/fZbIiIiWLhwIT179uTDDz9kyJAhxMTE4O3tXe78rVu38uCDDzJ79mxuv/12vvrqK+6880727t1LaGio6u1ztHFkx0M7VI9b2ee2xIABA1iwYIH5trOzs2ptGTduHIsWLWLKlCkkJSXx559/8s8//1zx/OjoaO66664yx3r37s3atWsrPL9x48aMGTOGIUOGMHjwYAYNGsT9999v7kmyRFhYmPm66fHJyckEBwcTExNTrl09evTgt99+s/h5TAYPHkyrVq1o3bo1Q4cOZejQodx11104OV3slbu0TaZ2JScnm2+vX7+e2bNnc/ToUbKysigpKaGgoIC8vDxzHBsbG7p3725+THBwMB4eHkRHR9OjR48y8XNzczlx4gSPP/4448ePNx8vKSm5aq9YXXbpHJ22Xi4429e6tzshxHVS63p25s6dy/jx4xk7dizt27dn4cKFODk5sWzZsgrPN/UYvPTSS4SEhDBr1iy6dOnCp59+Wi3t02g0ONk61chFo9FY1FZnZ2fatm1rvpg+6LVabbn5P8XFxRbFHjVqFCdPnmTbtm188cUXBAQE0K9fP4tiXMvy5cvZtm0bffr04dtvv6Vdu3Zs377d4ji2thdX4Jh+hwaDodKPt/T35erqyt69e/n6669p1qwZ06ZNIzw8nAsXLlTYJlO7TG06ffo0t99+O2FhYfz444/s2bOHefPmAVBUVFTpdl/KNN9n8eLFREVFmS+HDh2y6ndaF1w6bCVDWEI0bLUq2SkqKmLPnj0MGjTIfEyr1TJo0KByk0pNtm3bVuZ8gCFDhlzx/MLCQrKysspcGhovLy8SEhLKHIuKirIoRpMmTbjzzjtZvnw5K1asYOzYsVc9PyQkhB07yvaIVeZDtnPnzkydOpWtW7cSGhrKV199BYCdnR16vd6iNlckKCiIXbt2lTl2+W1rfl82NjYMGjSId999lwMHDnD69Omr9nxdas+ePRgMBt5//3169epFu3btOH/+fLnzSkpK2L17t/l2TEwMFy5cICQkpNy5Pj4++Pr6cvLkyTIJcNu2bQkICKhUu+qaxs52tGik9IZK5WQhGrZaleykpqai1+vx8fEpc9zHx4fExMQKH5OYmGjR+bNnz8bd3d188fPz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/te8efPo6elhcHCQl19+mU8//ZTFixcDMHfuXPbs2cP27du5++67Rz1++fLlw5YbGxtJS0vj0KFDuN1uVqxYQVNTE5WVlQC88847ZGZmUlRUNOaMLpcLgH379mGz2ViyZAmpqakxjFZEJoPKjogkFcMwsNls9PX18ccff7B06dJh24eGhigoKLjk8YcPH+b555+nu7ub06dPRyc8B4NB3G43a9eu5fbbbycUCpGRkYHP54tOmB6vnp4esrOzVXREkpzKjogklR9++IGcnBwuXrwIQFtbGxkZGcP2cTqdlzz+oYceIisri4aGBmbPnk0kEsHtdjM0NARAQUEB+fn5NDc3c++993Lw4EHa2tpiytrT08Ott94a07EiMnlUdkQkaXz22Wf09vZSW1vL/PnzcTqdBIPBS56y+rczZ87w008/0dDQwJIlSwDYs2fPiP2eeOIJtm3bRigUorS0lDlz5sSU99ixY7jd7piOFZHJo7IjIqYYHBzk5MmThMNhfv31Vzo6OvB6vZSXl7Ny5UocDgcbN26ktraWSCRCYWEh58+fZ+/evVx//fV4PJ4R9zl9+nRcLhdvvfUWs2bNIhgMsnnz5hH7rVixgo0bN9LQ0EBzc3PMY4hEIvz888+EQiFmz54d06kwEUk8XY0lIqbo6Ohg1qxZZGdnU1ZWRldXF3V1dfj9fhwOBwAvvvgiW7duxev1cvPNN1NWVkZbWxs5OTmj3qfdbqelpYX9+/fjdrupra3l1VdfHbHftGnTWL58OampqVRUVAzb5vP5xlxannnmGfbu3UteXh6GYYzvARCRSWMz9AoVkStQSUkJt9xyC3V1dcPWv/DCC+zevZtAIGBOMBGJO53GEpErytmzZwkEAgQCAd54440R29vb23n99ddNSCYiiaKyIyJXlIKCAs6ePcsrr7xCXl7eiO1fffWVCalEJJF0GktEREQsTROURURExNJUdkRERMTSVHZERETE0lR2RERExNJUdkRERMTSVHZERETE0lR2RERExNJUdkRERMTSVHZERETE0lR2RERExNL+AmQMyj1CCHZNAAAAAElFTkSuQmCC" }, "metadata": {}, "output_type": "display_data" } ], "source": [ "qpu = Processor()\n", "qpu.add(0, Source.fock(1, name='source 0'))\n", "qpu.add(1, Source.fock(1, name='source 1'))\n", "qpu.add(0, Circuit.bs())\n", "qpu.add([0, 1], Detector.threshold())\n", "\n", "def pr11(delay: float, dephasing: float): # make a function to simulate the coincidence probability\n", " return qpu.probs(parameters={'source 1/delay': delay, 'dephasing': dephasing})[1, 1]\n", "\n", "# Let's generate data for a set of delays and for three different regimes of dephasing\n", "delays = np.linspace(-4, 4, 21)\n", "coinc_indi = [pr11(tau, 0.0) for tau in delays] # no dephasing (indistinguishable)\n", "coinc_deph = [pr11(tau, 0.5) for tau in delays] # some dephasing (partially distinguishable)\n", "coinc_dist = [pr11(tau, 10**3) for tau in delays] # lots of dephasing --> distinguishable\n", "\n", "# Now let's plot them to compare!\n", "plt.plot(delays, coinc_indi, label = 'Indistinguishable')\n", "plt.plot(delays, coinc_deph, label = 'Partially distinguishable')\n", "plt.plot(delays, coinc_dist, label = 'Fully distinguishable')\n", "plt.xlabel('Delay, $\\\\tau$')\n", "plt.ylabel('HOM coincidence probability, $p_{11}(\\\\tau)$')\n", "plt.legend()\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "5e9d3824", "metadata": {}, "source": [ "When there is no dephasing, we see a clear dip in the coincience probability $p_{11}$ down to zero when the delay $\\tau$ is zero. When we add some dephasing, there is still a dip, but it does not go all the way to $p_{11}=0$. In the case where dephasing is very large, we can see that there is no dip at all, corresponding to completely distinguishable photons regardless of how they overlap in time." ] }, { "cell_type": "markdown", "source": [ "## Losses" ], "metadata": { "collapsed": false } }, { "cell_type": "markdown", "source": [ "ZPGenerator also naturally takes into account losses, both uniform and non-uniform, at no additional computational cost. The easiest way to control losses is to add loss components in the circuit. As an example, let's look at a single photon passing through a Mach-Zehnder interferometer with unbalanced losses." ], "metadata": { "collapsed": false } }, { "cell_type": "code", "execution_count": 25, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Pattern | Probability\n", "0 1 | 1.00000\n", "\n" ] } ], "source": [ "qpu = Processor() // Source.fock(1) // Circuit.bs() // Circuit.loss(name='arm 0') // Circuit.bs() // ([0, 1], Detector.threshold())\n", "qpu.probs().display()" ], "metadata": { "collapsed": false, "ExecuteTime": { "end_time": "2024-02-09T08:43:02.880806Z", "start_time": "2024-02-09T08:43:02.831450Z" } } }, { "cell_type": "markdown", "source": [ "By default, a circuit loss component will have perfect transmission. In that case, we can see above that the perfect single-photon interference that results in only '0 1' outcomes at the output of the interferometer. However, if we add a small amount of losses, we can disturb the interference. Not only do we reduce '0 1' outcomes, but we can actually _increase_ '1 0' outcomes!" ], "metadata": { "collapsed": false } }, { "cell_type": "code", "execution_count": 26, "outputs": [ { "data": { "text/plain": "
", "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAGwCAYAAABVdURTAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAABfe0lEQVR4nO3dd3hT1f8H8HeaNukeULoDLZS9oVDKEJBqQQRxAAoyRQTZuBgqqF/FxVBB+MmqCAiogAjIKiCrjAJl75YuOih07yb390doIHTQlKS3Sd6v58nT5uTem08uSN6ee+45EkEQBBARERGZCAuxCyAiIiLSJ4YbIiIiMikMN0RERGRSGG6IiIjIpDDcEBERkUlhuCEiIiKTwnBDREREJsVS7AKqm0qlwp07d+Dg4ACJRCJ2OURERFQJgiAgKysLXl5esLCouG/G7MLNnTt3oFAoxC6DiIiIqiAuLg4+Pj4VbmN24cbBwQGA+uQ4OjqKXA0RERFVRmZmJhQKheZ7vCJmF25KLkU5Ojoy3BARERmZygwp4YBiIiIiMikMN0RERGRSGG6IiIjIpJjdmJvKUiqVKCoqErsMk2ZlZQWpVCp2GUREZGIYbh4jCAKSkpKQnp4udilmwdnZGR4eHpxziIiI9Ibh5jElwcbNzQ22trb80jUQQRCQm5uLlJQUAICnp6fIFRERkalguHmEUqnUBJvatWuLXY7Js7GxAQCkpKTAzc2Nl6iIiEgvOKD4ESVjbGxtbUWuxHyUnGuObyIiIn1huCkDL0VVH55rIiLSN4YbIiIiMimihptDhw6hX79+8PLygkQiwdatW5+4z8GDB9GuXTvI5XL4+/sjNDTU4HUSERGR8RA13OTk5KB169ZYsmRJpbaPjo5G37590bNnT0RGRmLq1KkYM2YMdu/ebeBKTde1a9fg4eGBrKwsvR739ddfx/z58/V6TCIiosoQNdz06dMH//vf//Dyyy9Xavtly5bBz88P8+fPR9OmTTFx4kS89tprWLhwoYErrflGjhwJiUQCiUQCmUwGf39/fP755yguLq5wv5kzZ2LSpElaq6yeP38e3bp1g7W1NRQKBb799lutfS5duoRXX30Vvr6+kEgkWLRoUanjfvzxx/jyyy+RkZGhl89HRETGISE9DzdTskWtwajG3ISHhyM4OFirLSQkBOHh4eXuU1BQgMzMTK2HqerduzcSExNx48YNvPfee5g7dy6+++67UtsVFhYCAGJjY7F9+3aMHDlS81pmZiaef/551KtXD6dPn8Z3332HuXPn4pdfftFsk5ubi/r16+Prr7+Gh4dHmbW0aNECDRo0wNq1a/X7IYmIqMYpKFbin3N3MGzlCXT9Zj++3XVV1HqMap6bpKQkuLu7a7W5u7sjMzMTeXl5mnlTHjVv3jx89tlnVX5PQRCQV6Ss8v5Pw8ZKqtPdRHK5XBM2xo8fjy1btmDbtm24du0a0tPT0aFDByxZsgRyuRzR0dHYtGkTWrduDW9vb80x1q1bh8LCQqxatQoymQzNmzdHZGQkFixYgLFjxwIAOnTogA4dOgAAZsyYUW49/fr1w4YNGzBhwoSqfHwiIqrhLt3JwB8R8dgamYD03IdTeuQXq6BUCZBaiHNHrFGFm6qYOXMmpk+frnmemZkJhUJR6f3zipRo9qk4Y3oufx4CW1nV/4hsbGxw7949AEBYWBgcHR2xd+9ezeuHDx9GQECA1j7h4eF45plnIJPJNG0hISH45ptvkJaWBhcXl0q/f8eOHfHll1+ioKAAcrm8yp+DiIhqjozcIvx9LgEbT8Xh0p2HV0O8nKzxWnsfDAxQQFFL3PnijCrceHh4IDk5WastOTkZjo6OZfbaAOreDHP7YhUEAWFhYdi9ezcmTZqEu3fvws7ODitWrNAKLTExMaXCTVJSEvz8/LTaSnrLkpKSdAo3Xl5eKCwsRFJSEurVq/cUn4iIiMSkUgk4eisVmyLisftSEgqLVQAAmdQCzzV3x+AABbr4u4rWU/M4owo3QUFB2Llzp1bb3r17ERQUZLD3tLGS4vLnIQY7/pPeWxfbt2+Hvb09ioqKoFKpMGTIEMydOxcTJkxAy5YttYINAOTl5cHa2lqfJWspCZy5ubkGew8iIjKcuPu5+PN0PP48HY+E9DxNe1NPRwwO8MFLbbzhYier4AjiEDXcZGdn4+bNm5rn0dHRiIyMRK1atVC3bl3MnDkTCQkJWLNmDQBg3LhxWLx4MT788EOMHj0a+/fvx6ZNm7Bjxw6D1SiRSJ7q0lB16tmzJ5YuXQqZTAYvLy9YWj6s287OrtT2rq6uSEtL02orr3es5DVd3L9/HwBQp04dnfYjIiLx5BcpsftSEjZFxOHozXuadkdrSwxo641BAQq08HYSscInE/VbOyIiAj179tQ8LxkbM2LECISGhiIxMRGxsbGa1/38/LBjxw5MmzYNP/zwA3x8fLBixQqEhIjTs1LT2NnZwd/fv9Lbt23bFpcvX9ZqCwoKwuzZs1FUVAQrKysA6t6xxo0b63RJCgAuXrwIHx8fuLq66rQfERFVL0EQcDEhE5si4vB3ZAIy8x9OI9LV3xWDOijwfDN3WOt4RUEsooabHj16QBCEcl8va/bhHj164OzZswasynyEhIRgzJgxUCqVmhW5hwwZgs8++wxvvfUWPvroI1y8eBE//PCD1lxChYWFmlBUWFiIhIQEREZGwt7eXitcHT58GM8//3z1figiIqq0tJxCbI1MwKaIeFxJfDg42NvZBgMDfPBqOx/RBwdXhXFcbyGD6NOnDywtLbFv3z5N75eTkxP27NmDCRMmoH379nB1dcWnn36quQ0cAO7cuYO2bdtqnn///ff4/vvv0b17dxw8eBAAkJ+fj61bt2LXrl3V+pmIiKhiSpWAIzdTselUHPZeTkah8sHgYEsL9G7ugUEBCnRuUBsWNWRwcFVIhIq6TkxQZmYmnJyckJGRAUdHR63X8vPzER0dDT8/P4MOtK1JlixZgm3btul9CYulS5diy5Yt2LNnT4XbmeM5JyISQ+y9XPxxOg5/no5HYka+pr2FtyMGBSjwUmtvONlaiVhhxSr6/n4ce27M3DvvvIP09HRkZWVpLcHwtKysrPDTTz/p7XhERKS7vEIldl1KxKZT8QiPejg42NnWCgPaeGNggA+ae9XswcFVwXBj5iwtLTF79my9H3fMmDF6PyYRET2ZIAg4H5+BTRFx2BZ5B1kF6sHBEgnQrWEdDArwQXBT4xkcXBUMN0RERCbgXnYBtpxNwB8R8biWnKVpV9SywcD2Crza3gfezmVPeGtqGG6IiIiMVLFShcM3UrEpIg77riSjSKkeRiu3tECfFh4Y1EGBTn7GPTi4KhhuiIiIjMzt1BzN4ODkzAJNe2sfJwwMUKBfay842dTcwcGGxnBDRERkBHILi7Hzgnrm4JPR9zXtLrZWeLmtDwZ18EETj4rvIjIXDDdEREQ1lCAIOBuXjj8i4vDPuURkPxgcbCEBnmlUB4MCFOjV1A1yS9MdHFwVDDdEREQ1zN2sAmw9m4BNEXG4kZKtaa9X2xaDAhR4pZ03PJ3MY3BwVTDcEBER1QDFShUOXruLTRFx2H81BcUq9eBgaysLvNDSE4MCFOjoW8vsBgdXBcONmbt27Rq6d++OGzdu6HUSv9dffx0dOnTAe++9p7djEhGZolt3s/FHRDz+OhOPu1kPBwe3UThjUIACL7b2hKO1+Q4OrgoLsQsg/Rg5ciQkEgkkEglkMhn8/f3x+eefo7i4uML9Zs6ciUmTJmmCTX5+PkaOHImWLVvC0tISAwYMKHO/gwcPol27dpDL5fD39y+1yOnHH3+ML7/8EhkZGfr4eEREJiWnoBibIuLw2tJj6DX/Pyz77xbuZhWgtp0Mb3fzw55pz2DrhC4YEliXwaYK2HNjQnr37o3Vq1ejoKAAO3fuxIQJE2BlZYWZM2dqbVdYWAiZTIbY2Fhs375da5kEpVIJGxsbTJ48GX/99VeZ7xMdHY2+ffti3LhxWLduHcLCwjBmzBh4enpqFuBs0aIFGjRogLVr12LChAmG+9BEREZCEAScjknDpog4bD+fiNxCJQD14OCejd0wMECBZ5u4QWbJfoenxXDzJIIAFOWK895Wtur5sitJLpfDw8MDADB+/Hhs2bIF27Ztw7Vr15Ceno4OHTpgyZIlkMvliI6OxqZNm9C6dWt4e3trjmFnZ4elS5cCAI4ePYr09PRS77Ns2TL4+flh/vz5AICmTZviyJEjWLhwoSbcAEC/fv2wYcMGhhsiMmspWfnYfEY9ODjqbo6m3c/VDgMDfPBqOx+4O3LhYH1iuHmSolzgKy9x3nvWHUBmV+XdbWxscO+eeqG0sLAwODo6Yu/evZrXDx8+jICAAJ2PGx4ejuDgYK22kJAQTJ06VautY8eO+PLLL1FQUAC5XK77ByAiMlJFShUOXE3Bpog4HLh2F8oHg4NtrKTo28oTgzsoEFDPBRId/geWKo/hxgQJgoCwsDDs3r0bkyZNwt27d2FnZ4cVK1ZAJpNptouJialSuElKSoK7u7tWm7u7OzIzM5GXlwcbG/XtiV5eXigsLERSUhLq1av3dB+KiMgI3EzJwqaIeGw+E4/U7EJNe/t6LhgU4IO+rbxgL+dXr6HxDD+Jla26B0Ws99bB9u3bYW9vj6KiIqhUKgwZMgRz587FhAkT0LJlS61gAwB5eXmwtjZcV2hJyMnNFemyHhFRNcjKL8KO84nYFBGHM7HpmnZXexlebeeDgQE+8HfT392o9GQMN08ikTzVpaHq1LNnTyxduhQymQxeXl6wtHz4x2tnV/ozuLq6Ii0tTef38fDwQHJyslZbcnIyHB0dNYEGAO7fV08PXqdOHZ3fg4ioJhMEAadup2HjqTjsvJCIvCL14GCphQQ9G7thUIAPejZxg5WUg4PFwHBjQuzs7ODv71/p7du2bYvLly/r/D5BQUHYuXOnVtvevXsRFBSk1Xbx4kX4+PjA1dVV5/cgIqqJkjLy8deZePwREYfb9x72StevY4fBAQq83M4bbg4cHCw2hhszFhISgjFjxkCpVEIqfbguyeXLl1FYWIj79+8jKysLkZGRAIA2bdoAAMaNG4fFixfjww8/xOjRo7F//35s2rQJO3bs0Dr+4cOH8fzzz1fXxyEiMojCYhX2X03Gpoh4HLyWggdjg2Enk+LFVl4Y1MEH7epycHBNwnBjxvr06QNLS0vs27dP6xbuF154ATExMZrnbdu2BaDuhgUAPz8/7NixA9OmTcMPP/wAHx8frFixQusY+fn52Lp1K3bt2lVNn4aISL+uJ2dh06k4bDmbgHs5DwcHd/B1wcAABfq29IQdBwfXSBKh5BvLTGRmZsLJyQkZGRlwdNReGj4/Px/R0dHw8/Mz6EDbmmTJkiXYtm0bdu/erdfjLl26FFu2bMGePXsq3M4czzkR1VyZ+UX459wdbIqIx7m4dE27m4Mcr7b3wcD2Pqhfx168As1YRd/fj2PkNHPvvPMO0tPTkZWVpde1paysrLRmPiYiqqkEQcDxqPv4IyIOOy8mIr9IBQCwtJCgV1M3DApQoHujOrDk4GCjwXBj5iwtLTF79my9H3fMmDF6PyYRkT4lZuThr9Px+ON0PGIeGRzs72aPwQEKDGjrjToOnIDUGDHcEBGR2SgoViLsSgo2norD4Rt3NYOD7eWW6NfaE4MCFGijcObgYCPHcFMGMxuGJCqeayKqDlcSM7EpIg5bzyYgLbdI0x7oVwuDAhTo09IDtjJ+JZoK/kk+wspKvax8bm6u1mR0ZDglsxeXnHsiIn3JyCvCtnN38EdEHM7HZ2ja3R3leK29Dwa2V8DX1TgmaSXdMNw8QiqVwtnZGSkpKQAAW1tbdk0aiCAIyM3NRUpKCpydnbXm2SEiqiqVSsDxqHvYGBGHXReTUFCsHhxsJZUguKk7BgUo0K2hKwcHmziGm8d4eHgAgCbgkGE5OztrzjkRUVWlZhdg46k4bDgVi7j7eZr2xu4OGNRBgQFtvFDbnoODzQXDzWMkEgk8PT3h5uaGoqKiJ+9AVWZlZcUeGyKqMkEQcCL6PtadiMWui4koUqrH8DnILdG/jRcGBSjQyseJPfBmiOGmHFKplF+8REQ1UGZ+ETafjse6E7G4kZKtaW+tcMabgXXxYisv2Mj477c5Y7ghIiKjcCE+A+tOxODvyDuaVbhtrKQY0NYLQwProYW3k8gVUk3BcENERDVWXqES/5y/g3XHY3DukTueGrrZ481O9fByO284WvNuS9LGcENERDXOzZRsrDsRg79OxyMzvxiA+o6nPi088Waneujgy1W4qXwMN0REVCMUKVXYcykZa4/HIDzqnqbdx8UGQwLrYlCAAq6844kqgeGGiIhElZCeh99PxGJjRBzuZhUAACwkwLNN3DC0Uz10b1gHFhbspaHKY7ghIqJqp1QJOHTjLtYdj8H+qymaNZ5c7eV4vYMCbwTWhbczZ4qnqmG4ISKiapOaXYBNEXFYfyIW8WkPJ9sLql8bb3aqh+ebu8OKswfTU2K4ISIigxIEAadup2Ht8Rj8+8hke47WlnitvQJDAuvC381e5CrJlDDcEBGRQWTmF2HLmQSsOxGD68mPTLbn44ShneqhHyfbIwNhuCEiIr26mPBwsr3cQvVke9ZWFniptTfe7FQPLX042R4ZFsMNERE9tfwiJf45dwdrT8TiXFy6pt3fzR5vBtbFy+184GTDyfaoejDcEBFRlUXdzca6E7H483Q8MvLUiw1bSSXo3cITQwPrItCvFifbo2rHcENERDopUqqw97J6sr1jtx5Otuft/HCyvToOnGyPxMNwQ0RElXInPQ8bTsZiw6k4pDyYbE8iAZ5t7IY3O9XDM43qQMrJ9qgGYLghIqJyqR5Mtrf2eCz2X01+ZLI9GQZ3UOCNjnXh42IrbpFEj2G4ISKiUu5lF+CP0/FYfyIWsfdzNe2d6tfC0MB6CGnuAZklJ9ujmonhhoiIAKgn24uIeTDZ3oUkFCpVAAAHa0u82s4Hb3aqC383B5GrJHoyhhsiIjOXlV+ELWcTsO54LK4lZ2naW3o74c1OddGvtRdsZfy6IOPBv61ERGbq0p0MrD0ei78jE7Qm2+vf2gtvdqqHVj7O4hZIVEUMN0REZiS/SIkd5xOx9kQMzsama9ob1LHD0MB6eLWdD5xsOdkeGTeGGyIiMxCdmoN1x2Pw55l4pOeqJ9uztJAgpIUH3gysh071OdkemQ6GGyIiE1WkVGHf5WSsOxGLIzdTNe0lk+0NDPCBm4O1iBUSGQbDDRGRiUnMyMPvJ+Ow4WSs1mR7PRrVwZud6qFHYzdOtkcmjeGGiMgEqFQCDt9MxbrjMQi7mgLlg9n2XO1lGBSgnmxPUYuT7ZF5YLghIjJi93MK8UdEHNafjEXMvYeT7XX0q4U3O9VDb062R2ZI9L/xS5Ysga+vL6ytrREYGIiTJ09WuP2iRYvQuHFj2NjYQKFQYNq0acjPz6+maomIxCcIAiJu38fUDWfR6aswzPv3KmLu5cJBbomRnX2xZ9oz2PROEPq39mKwIbMkas/Nxo0bMX36dCxbtgyBgYFYtGgRQkJCcO3aNbi5uZXafv369ZgxYwZWrVqFzp074/r16xg5ciQkEgkWLFggwicgIqo+2QXFDybbi8HVpIeT7bXwdsSbgfXQvw0n2yMCAIkgCIJYbx4YGIgOHTpg8eLFAACVSgWFQoFJkyZhxowZpbafOHEirly5grCwME3be++9hxMnTuDIkSNlvkdBQQEKCgo0zzMzM6FQKJCRkQFHR0c9fyIiIv27fCcTa0/E4O+zCch5MNme3FI92d7QTvXQ2seJt3GTycvMzISTk1Olvr9Fi/iFhYU4ffo0Zs6cqWmzsLBAcHAwwsPDy9ync+fOWLt2LU6ePImOHTsiKioKO3fuxLBhw8p9n3nz5uGzzz7Te/1ERIZUpFTh34tJCD0ajTOPTLZX/8Fke69xsj2icokWblJTU6FUKuHu7q7V7u7ujqtXr5a5z5AhQ5CamoquXbtCEAQUFxdj3LhxmDVrVrnvM3PmTEyfPl3zvKTnhoioJkrLKcTvp2Kx5lgMkjLV4wktLSQIae6BoZ3qIqh+bfbSED2BUV2cPXjwIL766iv8/PPPCAwMxM2bNzFlyhR88cUX+OSTT8rcRy6XQy6XV3OlRES6uZmShVVHb2PzmXjkF6lX43a1l2FoYD0MDawLN0dOtkdUWaKFG1dXV0ilUiQnJ2u1Jycnw8PDo8x9PvnkEwwbNgxjxowBALRs2RI5OTkYO3YsZs+eDQsL3hVARMZDEAQcupGKVUei8d/1u5r2Zp6OGN3VD/1ae0JuKRWxQiLjJFq4kclkaN++PcLCwjBgwAAA6gHFYWFhmDhxYpn75ObmlgowUqn6P3wRx0UTEekkr1CJzWfjsfrobdxMyQagnkH4uabuGN3VD4F+XOeJ6GmIellq+vTpGDFiBAICAtCxY0csWrQIOTk5GDVqFABg+PDh8Pb2xrx58wAA/fr1w4IFC9C2bVvNZalPPvkE/fr104QcIqKaKjEjD2vCY/D7yVjN4pX2cksMClBgROd6qFfbTuQKiUyDqOFm8ODBuHv3Lj799FMkJSWhTZs22LVrl2aQcWxsrFZPzccffwyJRIKPP/4YCQkJqFOnDvr164cvv/xSrI9ARPREZ2PTsOrobey8kKhZFkFRywYjO/thUIAPHKx51xORPok6z40YdLlPnoioqoqVKuy6lIRVR7Rv5Q70q4XRXf0Q3NSdi1cS6cAo5rkhIjJFGblFD27lvo07Gepbua2kEvRv7Y1RXXzRwttJ5AqJTB/DDRGRHty6m43VR6Px1+kE5BWpZxGubSfD0E718GanunBz4K3cRNWF4YaIqIoEQcCRm+pbuQ9ce3grdxMPB4zu6of+rb1gbcWbHYiqG8MNEZGO8ouU2HI2AauPRuN68sNbuXs1ccforr6cRZhIZAw3RESVlJyZjzXht7H+RCzSHtzKbSuTYlCAAiM7+8LXlbdyE9UEDDdERE9wPj4dq45EY/v5RBQ/uJXb29kGo7r4YmCAAk42vJWbqCZhuCEiKkOxUoU9l5Ox6kg0ImLSNO0dfWthdFdfBDd1h6WUS74Q1UQMN0REj8jIK8KmU3EIPXYbCel5ANS3cvdr5YVRXfzQ0oe3chPVdAw3REQAolNzEHo0Gn+cjkduofpW7lp2MgwNrIthnepxVW4iI8JwQ0RmSxAEHLt1D6uORGP/tRSUzNfe2N0Bo7v64qU23ryVm8gIMdwQkdnJL1JiW+QdrDoajatJWZr2Xk3cMLqrHzo34K3cRMaM4YaIzEZKZj7WHo/BuhOxuJdTCEB9K/fA9j4Y0dkX9evYi1whEekDww0RmbyLCRlYdSQa/5y/gyLlw1u5R3Suh8EBdeFky1u5iUwJww0RmSSlSsDey8lYdTQaJ6Pva9oD6rlgdFc/PN+Mt3ITmSqGGyIyKZn5D2/ljk9T38ptaSHBi608MaqLH1ornMUtkIgMjuGGiExCzL0crD56G39ExCHnwa3cLrZWGBJYF8M6+cLDibdyE5kLhhsiMlqCIOB41H2sOhqNfVeSNbdyN3Szx+iufhjQxhs2Mt7KTWRuGG6IyOjkFynxz7k7WHX0Nq4kZmraezaug9Fd/dDV35W3chOZMYYbIjIa93MK8eux21h3Igap2epbuW2spHi1vTdGdfFDA97KTURguCEiI5CQnoflh6Kw4VQs8otUAABPJ2uM6OyL1zso4GwrE7lCIqpJGG6IqMa6mZKFpQej8HdkAopV6gE1Lb2dMPaZ+ujdwgNWvJWbiMrAcENENU5kXDp+PnATey4na9o6N6iNd3v4o4s/l0YgoorpHG58fX0xevRojBw5EnXr1jVETURkhgRBwJGbqfj5wC2ER93TtIc0d8f4Hv5ow/lpiKiSdA43U6dORWhoKD7//HP07NkTb731Fl5++WXI5XJD1EdEJk6pErDrYhKW/ncTFxPUdz5ZWkjwcltvvNO9PvzdHESukIiMjUQQSmaG0M2ZM2cQGhqK33//HUqlEkOGDMHo0aPRrl07fdeoV5mZmXByckJGRgYcHR3FLofIbBUUK7HlTAL+71AUolNzAKjvfHqjY12M6eYHL2cbkSskoppEl+/vKoebEkVFRfj555/x0UcfoaioCC1btsTkyZMxatSoGnldnOGGSFzZBcX4/UQsVhyJQnJmAQDAycYKIzv7YkRnX9Sy451PRFSaLt/fVR5QXFRUhC1btmD16tXYu3cvOnXqhLfeegvx8fGYNWsW9u3bh/Xr11f18ERkYu5lF+DXY7fxa3gMMvKKAAAejtYY080Pb3SsCzs5728gIv3Q+V+TM2fOYPXq1fj9999hYWGB4cOHY+HChWjSpIlmm5dffhkdOnTQa6FEZJzKmqOmvqsdxnVvgJfaekFuyeURiEi/dA43HTp0wHPPPYelS5diwIABsLKyKrWNn58fXn/9db0USETG6UZyFpb9V3qOmnd7NMDzzT0gtah5l62JyDToHG6ioqJQr169Crexs7PD6tWrq1wUERmvs7FpWHrwltYcNV38a2N8d85RQ0TVQ+dw07NnT5w6dQq1a9fWak9PT0e7du0QFRWlt+KIyDgIgoDDN1Lx88GbOB51HwAgkQAhzTwwvkcDtOYcNURUjXQON7dv34ZSqSzVXlBQgISEBL0URUTGoeI5ahrA340LWRJR9at0uNm2bZvm9927d8PJyUnzXKlUIiwsDL6+vnotjohqJs5RQ0Q1WaXDzYABAwAAEokEI0aM0HrNysoKvr6+mD9/vl6LI6KaJbugGOtPxGDF4WikZKnnqHG2tcKIIF+M7OwLF85RQ0Q1QKXDjUqlvoXTz88Pp06dgqurq8GKIqKa5V52AUKP3cavx24jM78YAOeoIaKaS+d/kaKjow1RBxHVQPFpuVhxOLrMOWoGtPWGzNJC5AqJiEqrVLj58ccfMXbsWFhbW+PHH3+scNvJkyfrpTAiEs/15Cws++8WtkXe0cxR08pHPUfNc804Rw0R1WyVWlvKz88PERERqF27Nvz8/Mo/mERS428F59pSROU782COmr2PzVHzbg9/dG7AOWqISDx6X1vq0UtRvCxFZFoEQcChG6lY+tgcNb2be2Bcd85RQ0TGh6MAicyUUiXg34uJWHrwFi7dUc9RYyVVz1Ez9hnOUUNExqtS4Wb69OmVPuCCBQuqXAwRGV5hsQqbz8Rj2X+3cPteLgD1HDVDAuvira6co4aIjF+lws3Zs2crdTBejyequYqUKmw5k4Af999AfFoeAPUcNSM7+2JEEOeoISLTUalwc+DAAUPXQUQGUqxUYWvkHfwYdgOx99U9NXUc5Hjnmfqco4aITBL/VSMyUUqVgH/O3cEPYTc0SyS42sswrnsDDA2sBxuZVOQKiYgMo1Lh5pVXXkFoaCgcHR3xyiuvVLjt5s2b9VIYEVWNSiVg+4VE/LDvOm7dVYcaF1srjOveAMOC6sFWxv+nISLTVql/5ZycnDTjaR5dMJOIag6VSsCuS0lYtO86ridnAwCcbKww9pn6GNHZF/a8/EREZqJSk/iZEk7iR6ZGEATsuZyMhXuv42pSFgDA0doSb3erj5FdfOFgbSVyhURET0/vk/iVJSUlBdeuXQMANG7cGG5ublU9FBFVgSAICLuSgoX7rmvmqXGQW2J0Vz+M7uoHJxuGGiIyTzqHm8zMTEyYMAEbNmyAUqkEAEilUgwePBhLlizhZSsiAxMEAQev38XCvddxPj4DAGAnk2JUFz+M6eYHZ1ve0k1E5k3ncPP222/j7Nmz2L59O4KCggAA4eHhmDJlCt555x1s2LBB70USkTrUHL6RioX7ruNsbDoA9eR7I7v44u1u9VGL89QQEQGowpgbOzs77N69G127dtVqP3z4MHr37o2cnBy9FqhvHHNDxkYQBITfuocFe68jIiYNAGBtZYHhQb4Y+0x9uNrLRa6QiMjwDDrmpnbt2mVeenJycoKLi4uuhyOiChyPuoeFe6/jRLR6QUu5pQWGBtbDuB714eZgLXJ1REQ1k87h5uOPP8b06dPx22+/wcPDAwCQlJSEDz74AJ988oneCyQyRxG372PB3us4duseAEAmtcCQwLoY36MB3B0ZaoiIKlKpcNO2bVutdaNu3LiBunXrom7dugCA2NhYyOVy3L17F++8845hKiUyA2di07Bw73UcvpEKQL1K9+AOCrzbw58LWhIRVVKlws2AAQMMXAaReTsfn46Fe6/jwLW7AABLCwkGBvhgQk9/+LjYilwdEZFx4SR+RCK6mJCBRfuuY9+VFACA1EKCV9t5Y9KzDaGoxVBDRFRCl+9vi2qqqVxLliyBr68vrK2tERgYiJMnT1a4fXp6OiZMmABPT0/I5XI0atQIO3furKZqifTjSmIm3vktAi/+dAT7rqTAQgK80s4bYdO749vXWjPYEBE9BZ0HFCuVSixcuBCbNm1CbGwsCgsLtV6/f/9+pY+1ceNGTJ8+HcuWLUNgYCAWLVqEkJAQXLt2rcwZjwsLC/Hcc8/Bzc0Nf/75J7y9vRETEwNnZ2ddPwaRKK4nZ+GHfTew40IiAEAiAfq39sLkXg3RoI69yNUREZkGncPNZ599hhUrVuC9997Dxx9/jNmzZ+P27dvYunUrPv30U52OtWDBArz99tsYNWoUAGDZsmXYsWMHVq1ahRkzZpTaftWqVbh//z6OHTsGKyv11PK+vr4VvkdBQQEKCgo0zzMzM3WqkUgfbqZk44ewG9h+/g5KLgS/2MoTU3o1REN3B3GLIyIyMTqPuWnQoAF+/PFH9O3bFw4ODoiMjNS0HT9+HOvXr6/UcQoLC2Fra4s///xTa8DyiBEjkJ6ejr///rvUPi+88AJq1aoFW1tb/P3336hTpw6GDBmCjz76CFKptMz3mTt3Lj777LNS7RxzQ9UhPi0XC/Zcx9bIBKge/JfWp4UHpgQ3RBMP/v0jIqosg07il5SUhJYtWwIA7O3tkZGhXtvmxRdf1Gmem9TUVCiVSri7u2u1u7u74+rVq2XuExUVhf3792Po0KHYuXMnbt68iXfffRdFRUWYM2dOmfvMnDkT06dP1zzPzMyEQqGodJ1EVZGRW4SfD97E6mO3UVisAgA818wdU4MborkX118jIjIkncONj48PEhMTUbduXTRo0AB79uxBu3btcOrUKcjlhp0GXqVSwc3NDb/88gukUinat2+PhIQEfPfdd+WGG7lcbvC6iEoUFCvxW3gMftp/Exl5RQCATvVrYWafpmitcBa3OCIiM6FzuHn55ZcRFhaGwMBATJo0CW+++SZWrlyJ2NhYTJs2rdLHcXV1hVQqRXJyslZ7cnKyZubjx3l6esLKykrrElTTpk2RlJSEwsJCyGRcOJDEoVIJ2H4hEd/tvoq4+3kAgEbu9pjZpyl6NK6jNQkmEREZls7h5uuvv9b8PnjwYNStWxfh4eFo2LAh+vXrV+njyGQytG/fHmFhYZoxNyqVCmFhYZg4cWKZ+3Tp0gXr16+HSqWChYX6Lvbr16/D09OTwYZEE37rHub9ewXn49WXaN0c5Hjv+UZ4tZ0PLKWiz7ZARGR2dA43jwsKCkJQUFCV9p0+fTpGjBiBgIAAdOzYEYsWLUJOTo7m7qnhw4fD29sb8+bNAwCMHz8eixcvxpQpUzBp0iTcuHEDX331FSZPnvy0H4NIZ9eTs/DNv1cRdlU9AZ+dTIpx3RvgrW5+sJU99X9aRERURVX6F/jatWv46aefcOXKFQDqS0OTJk1C48aNdTrO4MGDcffuXXz66adISkpCmzZtsGvXLs0g49jYWE0PDQAoFArs3r0b06ZNQ6tWreDt7Y0pU6bgo48+qsrHIKqS5Mx8LNx7HZsi4qAS1LMKD+lYF1OCG8LVnuO7iIjEpvOt4H/99Rdef/11BAQEaHpsjh8/jlOnTmHDhg149dVXDVKovnD5Baqq7IJi/PLfLSw/HI28IiUAoHdzD3zQuzEn4CMiMjBdvr+rNM/N0KFD8fnnn2u1z5kzB2vXrsWtW7d0r7gaMdyQroqUKmw4FYcf9l1HarZ6Ru52dZ0x64WmCPCtJXJ1RETmwaDhxtbWFufPn4e/v79W+40bN9C6dWvk5ubqXnE1YrihyhIEAXsuJ+ObXVcRdTcHAODnaoePejdGSHMP3gFFRFSNDDqJX48ePXD48OFS4ebIkSPo1q2brocjqpHOxKZh3s4rOHU7DQBQy06GqcEN8UbHurDiHVBERDVapcLNtm3bNL/3798fH330EU6fPo1OnToBUI+5+eOPP8pc5oDImESn5uC73Vex80ISAMDaygJjutbHO93rw8HaSuTqiIioMip1WerRO5YqPJhEAqVS+dRFGRIvS1FZ7mUX4Kf9N7H2eAyKVQIkEmBgex9Me64RPJ1sxC6PiMjs6f2ylEql0kthRDVNXqESq45GY9nBW8gqKAYA9GhcBzP6NOHClkRERoozjZFZUqoE/HUmHgv2XEdSZj4AoIW3I2b2aYou/q4iV0dERE+jSuHmv//+w/fff6+ZxK9Zs2b44IMPOKCYajxBEPDf9bv4+t+ruJqUBQDwdrbBByGN0b+1FywseAcUEZGx0zncrF27FqNGjcIrr7yiWfbg6NGj6NWrF0JDQzFkyBC9F0mkD7fuZmPutks4fCMVAOBobYmJz/pjeJAvrK2kT9ibiIiMhc7z3DRt2hRjx44ttQL4ggULsHz5ck1vTk3FAcXmJ7ugGD/tv4FVR6JRpBQgk1pgeFA9THzWH862XHCViMgYGHQSP7lcjkuXLpWa5+bmzZto0aIF8vPzda+4GjHcmA9BEPDP+UR8ueMykjMLAAC9mrjhkxebwdfVTuTqiIhIFwadxE+hUCAsLKxUuNm3bx8UCoWuhyMyiGtJWZiz7SKOR90HANStZYs5/ZqhV1N3kSsjIiJD0zncvPfee5g8eTIiIyPRuXNnAOoxN6Ghofjhhx/0XiCRLjLzi7Bo7w38Gn4bSpUAaysLTOjhj7efqc9xNUREZkLncDN+/Hh4eHhg/vz52LRpEwD1OJyNGzfipZde0nuBRJWhUgnYcjYB8/69itRs9SWo3s098PGLTeHjYitydUREVJ10CjfFxcX46quvMHr0aBw5csRQNRHp5GJCBuZsu4TTMep1oOrXscPcfs3xTKM6IldGRERi0HlAsb29PS5evAhfX18DlWRYHFBsOtJzC/H9nmtYfyIWKgGwlUkxuVdDjO7iB5klF7ckIjIlBh1Q3KtXL/z3339GG27I+KlUAjZGxOHbXVeRllsEAOjX2guzXmjCdaCIiEj3cNOnTx/MmDEDFy5cQPv27WFnp31Lbf/+/fVWHNHjIuPSMefvizgXnwEAaORuj8/6t0BQg9oiV0ZERDWFzpelKlohnKuCk6Hcyy7Ad7uvYWNEHAQBcJBbYupzjTA8qB6spLwERURk6gx6WYorhFN1UqoErDsRg+93X0NmvnrV7lfb+eCjPo3h5mAtcnVERFQTcVVwqrEibt/Hp39fwuXETABAM09HfP5ScwT41hK5MiIiqsmqFG7CwsKwcOFCzTpSTZs2xdSpUxEcHKzX4sg8pWYX4KudV7D5TAIA9QKXH4Q0xpDAepBy1W4iInoCnQcr/Pzzz+jduzccHBwwZcoUTJkyBY6OjnjhhRewZMkSQ9RIZkIQBPx1Oh7BC/7D5jMJkEiANzoqcOD9HhgW5MtgQ0RElaLzgGIfHx/MmDEDEydO1GpfsmQJvvrqKyQkJOi1QH3jgOKaKT4tF7O2XMSh63cBqC9BffVKS7RROItbGBER1Qi6fH/r3HOTnp6O3r17l2p//vnnkZGRoevhyMypVAJ+PXYbzy88hEPX70JmaYEPezfG3xO7MNgQEVGV6Bxu+vfvjy1btpRq//vvv/Hiiy/qpSgyDzdTsjHo/8IxZ9sl5BYq0dG3Fv6d0g3v9vDn7d1ERFRlOg8obtasGb788kscPHgQQUFBAIDjx4/j6NGjeO+99/Djjz9qtp08ebL+KiWTUaRU4f/+u4Ufw26iUKmCnUyKGS80xdCOdWHBcTVERPSUdB5z4+fnV7kDSySIioqqUlGGxDE34roQn4EP/jyHq0lZAIAejevgy5dbwtuZyyYQEVH5DDqJX3R0dJULI/OVX6TEwn3XsfxQFFQC4GJrhTn9muOlNl6QSNhbQ0RE+sNJ/Mjgwm/dw8zN53H7Xi4A9SKXc/o1g6u9XOTKiIjIFDHckMFk5hfh63+vYv2JWACAh6M1/jegBYKbuYtcGRERmTKGGzKIfZeT8fHWi0jKzAcADAmsixl9msDR2krkyoiIyNQx3JBepWYX4LN/LuOfc3cAAL61bTHvlVYIalBb5MqIiMhcMNyQ3uy6mIiZmy8gLbcIFhLg7W71MTW4EWxkUrFLIyIiM1KlcJOeno6TJ08iJSUFKpVK67Xhw4frpTAyHjkFxfjsn0vYFBEPAGji4YBvX2uFVj7O4hZGRERmSedw888//2Do0KHIzs6Go6Oj1m28EomE4cbMnI1Nw9SNkYi5lwuJBBjXvQGmBTeCzJIzDBMRkTh0DjfvvfceRo8eja+++gq2traGqImMQLFShSUHbuHH/TegVAnwcrLGgsFt0Kk+x9YQEZG4dA43CQkJmDx5MoONGYu9l4tpmyJxOiYNANC/tRe+GNACTja8E4qIiMSnc7gJCQlBREQE6tevb4h6qAYTBAF/nUnA3G2XkF1QDAe5Jb4Y0AID2nqLXRoREZGGzuGmb9+++OCDD3D58mW0bNkSVlba/7fev39/vRVHNUd6biFmb7mIHRcSAQAdfF2wYFAbKGqxB4+IiGoWnRfOtLAof6CoRCKBUql86qIMiQtn6u7YzVRM33QOSZn5sLSQYNpzjTCuewNIuYI3ERFVE4MunPn4rd9kugqKlZi/5zqWH46CIAB+rnZYNLgNWiucxS6NiIioXJzEj8p0IzkLUzZE4nJiJgDgjY518cmLTWEr418ZIiKq2ao0Gcl///2Hfv36wd/fH/7+/ujfvz8OHz6s79pIJJsi4vDiT0dwOTETLrZW+GVYe8x7pSWDDRERGQWdw83atWsRHBwMW1tbTJ48GZMnT4aNjQ169eqF9evXG6JGqib5RUrM+Os8PvzzPAqKVejW0BW7pz6D55t7iF0aERFRpek8oLhp06YYO3Yspk2bptW+YMECLF++HFeuXNFrgfrGAcVli7ufi/HrTuNiQiYkEuC95xrh3R7+sOCgYSIiqgF0+f7WuecmKioK/fr1K9Xev39/REdH63o4qgEOXE3Biz8dwcUE9WWoNaM7YuKzDRlsiIjIKOk8iEKhUCAsLAz+/v5a7fv27YNCodBbYWR4SpWAH/Zdx4/7bwIAWiuc8fPQdvB2thG5MiIioqqr0tpSkydPRmRkJDp37gwAOHr0KEJDQ/HDDz/ovUAyjPs5hZiy4SwO30gFAAzrVA8fv9gUckupyJURERE9HZ3Dzfjx4+Hh4YH58+dj06ZNANTjcDZu3IiXXnpJ7wWS/p2NTcOEdWdwJyMf1lYWmPdKS7zc1kfssoiIiPRC5wHFxs6cBxQLgoC1x2Pw+fbLKFIK8HO1w9I326GJh3mdByIiMj4GnaGYjFN+kRIzN1/AlrMJAICQ5u74bmBrOFpzJW8iIjItlQo3tWrVwvXr1+Hq6goXFxdIJOXfRXP//n29FUf6kZKVj7fXnMa5uHRILST4qHdjvN2tfoV/jkRERMaqUuFm4cKFcHBw0PzOL0XjcTUpE2+FRiAhPQ9ONlZY+mY7dG7gKnZZREREBsMxNybs4LUUTFx/FtkFxfBztcPKEQGoX8de7LKIiIh0ZtBJ/KRSKVJSUkq137t3D1IpbyOuKdaE38bo0FPILihGR79a2Dy+M4MNERGZBZ3DTXkdPQUFBZDJZFUqYsmSJfD19YW1tTUCAwNx8uTJSu23YcMGSCQSDBgwoErva4qUKgFzt13Cp39fgkoAXm3ng7VvBcLFrmp/NkRERMam0ndL/fjjjwAAiUSCFStWwN7+YS+AUqnEoUOH0KRJE50L2LhxI6ZPn45ly5YhMDAQixYtQkhICK5duwY3N7dy97t9+zbef/99dOvWTef3NFXZBcWY/PtZ7L+q7ln7IKQx3u3RgGOkiIjIrFR6zI2fnx8AICYmBj4+PlqXoGQyGXx9ffH5558jMDBQpwICAwPRoUMHLF68GACgUqmgUCgwadIkzJgxo8x9lEolnnnmGYwePRqHDx9Geno6tm7dWqn3M9UxNwnpeXgr9BSuJmVBbmmBBYPaoG8rT7HLIiIi0guDzHNTsihmz549sXnzZri4uDxdlQAKCwtx+vRpzJw5U9NmYWGB4OBghIeHl7vf559/Djc3N7z11ls4fPhwhe9RUFCAgoICzfPMzMynrrumuZGchTdXnkByZgFc7eVYMSIAbRTOYpdFREQkCp0n8Ttw4IDe3jw1NRVKpRLu7u5a7e7u7rh69WqZ+xw5cgQrV65EZGRkpd5j3rx5+Oyzz5621BrrfHw6Rqw6ibTcIjR0s8fqUR3g42IrdllERESi0XlA8auvvopvvvmmVPu3336LgQMH6qWo8mRlZWHYsGFYvnw5XF0rN1fLzJkzkZGRoXnExcUZtMbqdDzqHoYsP4G03CK09nHCpneCGGyIiMjs6dxzc+jQIcydO7dUe58+fTB//nydjuXq6gqpVIrk5GSt9uTkZHh4eJTa/tatW7h9+zb69eunaVOpVAAAS0tLXLt2DQ0aNNDaRy6XQy6X61SXMQi7kox3151BQbEKQfVrY/mIANjLuZoGERGRzj032dnZZd7ybWVlpfN4FplMhvbt2yMsLEzTplKpEBYWhqCgoFLbN2nSBBcuXEBkZKTm0b9/f/Ts2RORkZFQKBS6fhyj9HdkAt757TQKilUIbuqG1aM6MNgQERE9oPM3YsuWLbFx40Z8+umnWu0bNmxAs2bNdC5g+vTpGDFiBAICAtCxY0csWrQIOTk5GDVqFABg+PDh8Pb2xrx582BtbY0WLVpo7e/s7AwApdpN1W/HY/Dp3xchCMCANl74bmBrWEl1zqhEREQmS+dw88knn+CVV17BrVu38OyzzwIAwsLC8Pvvv+OPP/7QuYDBgwfj7t27+PTTT5GUlIQ2bdpg165dmkHGsbGxsLDglzcALD8UhS93XgEADA+qh7n9msPCgnPYEBERPapKa0vt2LEDX331FSIjI2FjY4NWrVphzpw56N69uyFq1Ctjnefm12O3MWfbJQDAhJ4N8P7zjTk5HxERmQ1dvr+5cKYR+P1kLGZuvgAAmNjTH++HNBa5IiIioupl0IUzASA9PR0rVqzArFmzcP/+fQDAmTNnkJCQUJXDUQX+Oh2PWVvUwebtbn547/lGIldERERUs+k85ub8+fMIDg6Gk5MTbt++jTFjxqBWrVrYvHkzYmNjsWbNGkPUaZb+OXcHH/x5DoKgHmMz64WmvBRFRET0BDr33EyfPh0jR47EjRs3YG1trWl/4YUXcOjQIb0WZ852X0rC1I2RUAnA6x0UmNuvOYMNERFRJegcbk6dOoV33nmnVLu3tzeSkpL0UpS5O3X7Pib9fhZKlYBX2nrjq5db8q4oIiKiStI53Mjl8jIn67t+/Trq1Kmjl6LM2a272Xh7TQQKi1V4vpk7vn2tFYMNERGRDnQON/3798fnn3+OoqIiAIBEIkFsbCw++ugjvPrqq3ov0JzczSrAyNUnkZ5bhLZ1nfHD621hyQn6iIiIdKLzN+f8+fORnZ0NNzc35OXloXv37vD394eDgwO+/PJLQ9RoFnILi/HWr6cQdz8P9WrbYsXwANjIpGKXRUREZHR0vlvKyckJe/fuxdGjR3Hu3DlkZ2ejXbt2CA4ONkR9ZkGpEjD597M4H58BF1srhI7qiNr2prfYJxERUXXQOdysWbMGgwcPRpcuXdClSxdNe2FhITZs2IDhw4frtUBzsGjfdey7kgK5pQVWjOgAP1c7sUsiIiIyWjpflho1ahQyMjJKtWdlZWkWu6TK230pCT/tvwkA+PrVlmhfz0XkioiIiIybzuFGEIQy51uJj4+Hk5OTXooyF7fuZuO9TecAACM7++Lltj4iV0RERGT8Kn1Zqm3btpBIJJBIJOjVqxcsLR/uqlQqER0djd69exukSFOUXVCMd347jeyCYnT0rYXZfZuKXRIREZFJqHS4GTBgAAAgMjISISEhsLe317wmk8ng6+vLW8F1MHfbJdxMyYa7oxyLh7aFFW/5JiIi0otKh5s5c+YAAHx9fTF48GCtpRdIN9vP38Gfp+NhIQF+fL0t3Bx4LomIiPRF5+6CESNGID8/HytWrMDMmTO5KriOEtLzMGuzepXvd3v4I7B+bZErIiIiMi1PvSr422+/zVXBK0mlEvDepkhk5hejjcIZU4Ibil0SERGRydG552batGlcFbyKNkbE4XjUfdhYSbFocBuOsyEiIjIAnXtuIiIi8Msvv5Rq56rgFUvOzMdXO68AAN4PaQxfTtRHRERkEFwVvJrM+fsSsvKL0drHCSM7+4pdDhERkcniquDV4OjNVOy6lASphQRfv9oKUovSkyASERGRfnBVcAMrVqrw+T+XAQDDOtVDU09HkSsiIiIybVVeFfzIkSM4f/48VwV/go0RcbiWnAVnWytM5d1RREREBqdzuCnRtWtXdO3aVZ+1mJz8IiV+DLsBAJjSqyGcbWUiV0RERGT6dAo3KpUKoaGh2Lx5M27fvg2JRAI/Pz+89tprGDZsWJkLapqzdSdikZxZAC8nawwJrCt2OURERGah0mNuBEFA//79MWbMGCQkJKBly5Zo3rw5YmJiMHLkSLz88suGrNMobTkbDwAY39MfckupyNUQERGZh0r33ISGhuLQoUMICwtDz549tV7bv38/BgwYgDVr1mD48OF6L9IYZeQW4dId9S3zIc3cRa6GiIjIfFS65+b333/HrFmzSgUbAHj22WcxY8YMrFu3Tq/FGbPj0fcgCECDOnZwc+TCmERERNWl0uHm/Pnz6N27d7mv9+nTB+fOndNLUaYg/NY9AEBQAy6MSUREVJ0qHW7u378Pd/fyL6+4u7sjLS1NL0WZgpJw07mBq8iVEBERmZdKhxulUglLy/KH6EilUhQXF+ulKGOXml2Aa8lZAIBO9dlzQ0REVJ0qPaBYEASMHDkScrm8zNcLCgr0VpSxOx6l7rVp4uGAWnac24aIiKg6VTrcjBgx4onb8E4pNY63ISIiEk+lw83q1asNWYdJ4XgbIiIi8ei8cCZVLCkjH1GpObCQAB39aoldDhERkdlhuNGz8KhUAEALbyc42ViJXA0REZH5YbjRM814G94lRUREJAqGGz079iDcdOJgYiIiIlEw3OhR3P1cxKflwdJCgg6+HG9DREQkBoYbPSq5JNXKxwn28krfiEZERER6xHCjR+FRvAWciIhIbAw3eiIIAi7fvIXGklhO3kdERCQiXjvRk+STf+HfwjG4YFUfjeuNFbscIiIis8WeGz2JsW4CC4mAlhZRsC5MF7scIiIis8VwoyeBrVtAcG8OCwjArf1il0NERGS2GG70SOL/nPqXm/vELYSIiMiMMdzok3+w+uetMEClErcWIiIiM8Vwo0+KQEBmD+TcBZLOiV0NERGRWWK40SdLGVC/h/p3XpoiIiISBcONvvn3Uv+8GSZuHURERGaK4UbfGjwIN3Engbx0UUshIiIyRww3+uZSD3BtBAhKIOqg2NUQERGZHYYbQ+At4URERKJhuDGER8fdCIK4tRAREZkZhhtDqNcFsLQBsu4AKZfFroaIiMisMNwYgpU14NdN/TsvTREREVWrGhFulixZAl9fX1hbWyMwMBAnT54sd9vly5ejW7ducHFxgYuLC4KDgyvcXjQlsxXf2CtuHURERGZG9HCzceNGTJ8+HXPmzMGZM2fQunVrhISEICUlpcztDx48iDfeeAMHDhxAeHg4FAoFnn/+eSQkJFRz5U9QEm5ijwMFWeLWQkREZEYkgiDuiNfAwEB06NABixcvBgCoVCooFApMmjQJM2bMeOL+SqUSLi4uWLx4MYYPH/7E7TMzM+Hk5ISMjAw4Ojo+df3lEgTgxzZA2m3g5f8DWr9uuPciIiIycbp8f4vac1NYWIjTp08jODhY02ZhYYHg4GCEh4dX6hi5ubkoKipCrVq1yny9oKAAmZmZWo9qIZEArYeof9/7KZCXVj3vS0REZOZEDTepqalQKpVwd3fXand3d0dSUlKljvHRRx/By8tLKyA9at68eXByctI8FArFU9ddaV2mALUbAtnJwL9P7oUiIiKipyf6mJun8fXXX2PDhg3YsmULrK2ty9xm5syZyMjI0Dzi4uKqr0Ara+ClxYDEAji/ATi3ofrem4iIyEyJGm5cXV0hlUqRnJys1Z6cnAwPD48K9/3+++/x9ddfY8+ePWjVqlW528nlcjg6Omo9qlXdTkD3B70226cDyZz3hoiIyJBEDTcymQzt27dHWNjDFbRVKhXCwsIQFBRU7n7ffvstvvjiC+zatQsBAQHVUerTeeZ9wO8ZoCgHWD8YyL4rdkVEREQmS/TLUtOnT8fy5cvx66+/4sqVKxg/fjxycnIwatQoAMDw4cMxc+ZMzfbffPMNPvnkE6xatQq+vr5ISkpCUlISsrOzxfoIT2YhBQb+CtSqD2TEAhuHAoW5YldFRERkkkQPN4MHD8b333+PTz/9FG3atEFkZCR27dqlGWQcGxuLxMREzfZLly5FYWEhXnvtNXh6emoe33//vVgfoXJsawFvbASsnYC4E+qAU5QvdlVEREQmR/R5bqpbtc1zU57Y48Bvr6gvUTXqDQz6DbCUVX8dRERERsRo5rkxS3U7AUM2AJbWwPVdwKZhvERFRESkRww3YvB7Bnh9/cOAs6Y/kHNP7KqIiIhMAsONWPx7AcP/BqydgfhTwMrn1Es1EBER0VNhuBFT3U7AW3sAJwVw/xawvBcQdVDsqoiIiIwaw43Y6jQG3toLeLQCclOB314GDn0HqFRiV0ZERGSUGG5qAkdPdQ9O2zcBQQXs/x/w+2Ag977YlRERERkdhpuawsoGeGkJ0H+xeqDxjT3A/z3Dy1REREQ6YripadoNU1+mcvEDMuKANS8B/0wB8jPFroyIiMgoMNzURJ6tgHGHgQ5j1M9PhwI/BwE394laFhERkTFguKmp5A5A3/nAiO2Aiy+QGQ+sfRXYOoFjcYiIiCrAcFPT+XUDxh8DOr0LQAJErgV+bAMcWwwUF4hdHRERUY3DcGMMZHZA73nA6F2Ae0sgPwPYMxtYEghc3gaY1/JgREREFWK4MSZ1OwHv/Ke+q8reHUiLVq9NtfoFIOGM2NURERHVCAw3xsZCqp4PZ9IZ4JkPAUsbIPYYsLwn8NfbwN3rYldIREQkKoYbYyW3B56dDUyKAFq9rm67sAlY0hHYNBxIPCdufURERCJhuDF2Tj7AK/8HjD0INH4BgABc/ls9AeDa14CYcLErJCIiqlYSQTCv0aiZmZlwcnJCRkYGHB0dxS5H/5IvAUcWAhf/Ui/lAAB1OwPd3lOvRC6RiFsfERFRFejy/c1wY6ruRwFHfwAi1wPKQnWbZ2sgaBLQrD9gKRe3PiIiIh0w3FTAbMJNicw76jlxTq8GinLVbTa1gDZDgPajAFd/cesjIiKqBIabCphduCmRcw84tRw4/SuQdedhu283IGAU0KQfYCkTrz4iIqIKMNxUwGzDTQllsXrF8dOh6p948Mdv6wq0HQq0GwHUbiBmhURERKUw3FTA7MPNo9LjgDNrgLO/AVmJD9vr9wDajwQa92VvDhER1QgMNxVguCmDshi4vks9LudmGDS9OdZOQJMXgeYvA37dGXSIiEg0DDcVYLh5grSYB705a4HspIft1k7qcTnNBzDoEBFRtWO4qQDDTSWplEDsceDSFvWkgDkpD1+zdgaavgg0exmo3x2QWolWJhERmQeGmwow3FSBSgnEhj8SdO4+fM3G5cGlqwHqHh0GHSIiMgCGmwow3DwllRKIOaYOOle2lR10Gr8A+HUD5A7i1UlERCaF4aYCDDd6pCwGYo4Cl7cCl7cBuakPX7OwBBSBQINn1Q/PNoAFlzIjIqKqYbipAMONgSiLgZgj6pBzKwxIu639uk0toEFPoEEv9U9HL1HKJCIi48RwUwGGm2pyP0p9W/mtA0D0IaAwS/t1t2YPe3XqdQasbMSpk4iIjALDTQUYbkSgLALiTz0IO/uBO2ehmUsHACyt1QGnJOy4NePq5UREpIXhpgIMNzVA7n0g6oA66Nzcr73WFQDYe6hDTt1OgKIj4NqY43WIiMwcw00FGG5qGEEA7l5Tj9O5tR+4fRQoztPeRu4E+LQHfDoCig6AdwBg4yxKuUREJA6Gmwow3NRwRfnqOXWi/wPiTgF3zgBFuY9tJAHqNAZ8Oqh7dnw6Aq6N2LtDRGTCGG4qwHBjZJTFQPJF9Zid+FNA3EkgLbr0dtZO6h4dnw7s3SEiMkEMNxVguDEB2XcfhJ2T7N0hIjITDDcVYLgxQY/27sSdVIeex+fZAR727ni3B9ybqx+16gMW0movmYiIdMNwUwGGGzNRqd4dqG9Dr9MYcGsOuDdT34bu3hywd+ft6ERENQjDTQUYbszUo707iZFA8mXg7tWyAw+gnlHZvfmDsNNMHX7cmgJy+2otm4iI1BhuKsBwQxoqpfryVcplddhJvqj+/X4UIKjK3sfFt3QvT60GgNSyOisnIjI7DDcVYLihJyrKU/fqJF9+EHwuqX9mJ5e9vVQO1Gn0SOh58NPBk5e2iIj0RJfvb/7vJtHjrGwAr7bqx6Ny7gEplx6EnpKfV4CiHCDpgvrxKGvnh5e26jQGXPyAWn6AkwKwlFXbxyEiMjfsuSF6GioVkB7z8NJWSei5dxMQlGXvI7EAHH0Al3rqsOPiqw4+Lr7qh22tavwARETGgZelKsBwQ9WiKB9Ivf7wsta9W+rJB9Nulz+IuYS1k3bgqfVI8HH04fgeIjJLvCxFJDYra8CzlfrxKEEAslPUIack7Nx/8DPtNpCdBORnAInn1I/HWViqL2uV1eNTyw+QOxj4gxER1XwMN0TVSSIBHNzVj7qBpV8vzFVf5tIEnkeCT1oMoCx40FbGEhQAYFu7dOApCUEOnpyhmYjMAsMNUU0is1XPp+PWtPRrKhWQlVhGj8+Dn7n3Hj4SIkrvL5Wrx/mUBB8nH8DeQx20Sn5aO/MOLyIyegw3RMbCwgJw8lY/fLuWfj0/85FenscCUEacutcn9br6UR6pXDvsaP30UM/c7OAB2LqyF4iIaiyGGyJTYe1Y9jgfQD1Dc2a8duDJvKMe45OV/HCsj7IASI9VPyoikQL2bg/DjoNH2YHI3g2QWhni0xIRlYvhhsgcSC0fXo6q36PsbYry1BMVloSd8n7mpKpvc89KVD8SK3pjiXoc0KO9PuX9tLLR+8cmIvPEcENEalY2DwNQRZRFQM5dICvpQRhKLDsI5aQAqmIgN1X9SL5Y8XHlTg96fNzVg5/Luhxm766+I4zjgoioAgw3RKQbqRXg6KV+VESlUg9u1go9JYHosZ/F+UBBhvpR0ZggALCyVS9sauOsHgBt46yeG0jzezlt1k7qW/SJyOQx3BCRYVhYAPZ11A+PluVvJwjq8T4V9QKV/CzMUk+CWJSrHkOkK0vr0oGnsiFJZsceIyIjwXBDROKSSNQhwsZZvQZXRQpz1L09eelAfpo6FOWlA/npD35mPPL7o20ZAAR1D1F2kvqhKwtL3QNRSZvckXeXEVUjhhsiMh4yO6B2A933U6mAgkx14HlSICr1erp67NCj44d0JlHfzVbpXiOXR1534h1nRDpiuCEi02dh8bB3SFeCoL4MVm74eUI4Ks4DIDzsQUqPqUL9VuoB31Y26ktrVrbq8UOWNo+1P/rcRr2NlW05+zz62iP7SK14+Y2MXo0IN0uWLMF3332HpKQktG7dGj/99BM6duxY7vZ//PEHPvnkE9y+fRsNGzbEN998gxdeeKEaKyYisyGRqHuMZHbqCRR1VVxQiUD0SPujrxdkqo+hKgIKih4+NySJtIwQ9cjvpQJROWGrzID12D6WcgYpMgjRw83GjRsxffp0LFu2DIGBgVi0aBFCQkJw7do1uLm5ldr+2LFjeOONNzBv3jy8+OKLWL9+PQYMGIAzZ86gRYsWInwCIqIKWMofTHhY+t+zJ1IWqwNNUZ56vFBR3oPf8x75Pf/BIOsHP7W2e+S1R/cp63iCSv2eghIozFY/DE5SQY+TTRk9U7aPvVZOz5SFpbq3TiIFLKSP/LR4+LPc16SPbcOxUsZIIgiCIGYBgYGB6NChAxYvXgwAUKlUUCgUmDRpEmbMmFFq+8GDByMnJwfbt2/XtHXq1Alt2rTBsmXLnvh+uiyZTkRkFgQBUBaWEZZKglRZwam8gFXWPiUB68HvqmKxP7FuSgUhqbrH6fG2xwPVo2Gq1LYlAaqMUFXqvSzKCWsl76ljWKvqcbSOWc5xSs6LpY16rio90uX7W9Sem8LCQpw+fRozZ87UtFlYWCA4OBjh4eFl7hMeHo7p06drtYWEhGDr1q1lbl9QUICCggLN88zMaujWJSIyJhKJuofJUl4976csqkRvVN5jr5UVlkq2eSx8qZTqHqhSP1WPPH/we0mPVUUEJaBUGv68mBKfDsCYfaK9vajhJjU1FUqlEu7u2unO3d0dV69eLXOfpKSkMrdPSir71s558+bhs88+00/BRET09KRWD+4AqwG954KgDjhlBiJVOa+ptJ9rtqngOI8GqvKOU+F7PnZ8rW3KOo5S/dmedJxKv6eOtVuKO2Gm6GNuDG3mzJlaPT2ZmZlQKBQiVkRERDWGRPLwsgqZDFHDjaurK6RSKZKTk7Xak5OT4eHhUeY+Hh4eOm0vl8shl1dTVysRERGJTtRh4DKZDO3bt0dYWJimTaVSISwsDEFBQWXuExQUpLU9AOzdu7fc7YmIiMi8iH5Zavr06RgxYgQCAgLQsWNHLFq0CDk5ORg1ahQAYPjw4fD29sa8efMAAFOmTEH37t0xf/589O3bFxs2bEBERAR++eUXMT8GERER1RCih5vBgwfj7t27+PTTT5GUlIQ2bdpg165dmkHDsbGxsHhknoHOnTtj/fr1+PjjjzFr1iw0bNgQW7du5Rw3REREBKAGzHNT3TjPDRERkfHR5fubUy8SERGRSWG4ISIiIpPCcENEREQmheGGiIiITArDDREREZkUhhsiIiIyKQw3REREZFIYboiIiMikMNwQERGRSRF9+YXqVjIhc2ZmpsiVEBERUWWVfG9XZmEFsws3WVlZAACFQiFyJURERKSrrKwsODk5VbiN2a0tpVKpcOfOHTg4OEAikej12JmZmVAoFIiLi+O6VQbE81w9eJ6rB89z9eG5rh6GOs+CICArKwteXl5aC2qXxex6biwsLODj42PQ93B0dOR/ONWA57l68DxXD57n6sNzXT0McZ6f1GNTggOKiYiIyKQw3BAREZFJYbjRI7lcjjlz5kAul4tdiknjea4ePM/Vg+e5+vBcV4+acJ7NbkAxERERmTb23BAREZFJYbghIiIik8JwQ0RERCaF4YaIiIhMCsONjpYsWQJfX19YW1sjMDAQJ0+erHD7P/74A02aNIG1tTVatmyJnTt3VlOlxk2X87x8+XJ069YNLi4ucHFxQXBw8BP/XEhN17/PJTZs2ACJRIIBAwYYtkAToet5Tk9Px4QJE+Dp6Qm5XI5GjRrx345K0PU8L1q0CI0bN4aNjQ0UCgWmTZuG/Pz8aqrWOB06dAj9+vWDl5cXJBIJtm7d+sR9Dh48iHbt2kEul8Pf3x+hoaEGrxMCVdqGDRsEmUwmrFq1Srh06ZLw9ttvC87OzkJycnKZ2x89elSQSqXCt99+K1y+fFn4+OOPBSsrK+HChQvVXLlx0fU8DxkyRFiyZIlw9uxZ4cqVK8LIkSMFJycnIT4+vporNy66nucS0dHRgre3t9CtWzfhpZdeqp5ijZiu57mgoEAICAgQXnjhBeHIkSNCdHS0cPDgQSEyMrKaKzcuup7ndevWCXK5XFi3bp0QHR0t7N69W/D09BSmTZtWzZUbl507dwqzZ88WNm/eLAAQtmzZUuH2UVFRgq2trTB9+nTh8uXLwk8//SRIpVJh165dBq2T4UYHHTt2FCZMmKB5rlQqBS8vL2HevHllbj9o0CChb9++Wm2BgYHCO++8Y9A6jZ2u5/lxxcXFgoODg/Drr78aqkSTUJXzXFxcLHTu3FlYsWKFMGLECIabStD1PC9dulSoX7++UFhYWF0lmgRdz/OECROEZ599Vqtt+vTpQpcuXQxapympTLj58MMPhebNm2u1DR48WAgJCTFgZYLAy1KVVFhYiNOnTyM4OFjTZmFhgeDgYISHh5e5T3h4uNb2ABASElLu9lS18/y43NxcFBUVoVatWoYq0+hV9Tx//vnncHNzw1tvvVUdZRq9qpznbdu2ISgoCBMmTIC7uztatGiBr776CkqlsrrKNjpVOc+dO3fG6dOnNZeuoqKisHPnTrzwwgvVUrO5EOt70OwWzqyq1NRUKJVKuLu7a7W7u7vj6tWrZe6TlJRU5vZJSUkGq9PYVeU8P+6jjz6Cl5dXqf+g6KGqnOcjR45g5cqViIyMrIYKTUNVznNUVBT279+PoUOHYufOnbh58ybeffddFBUVYc6cOdVRttGpynkeMmQIUlNT0bVrVwiCgOLiYowbNw6zZs2qjpLNRnnfg5mZmcjLy4ONjY1B3pc9N2RSvv76a2zYsAFbtmyBtbW12OWYjKysLAwbNgzLly+Hq6ur2OWYNJVKBTc3N/zyyy9o3749Bg8ejNmzZ2PZsmVil2ZSDh48iK+++go///wzzpw5g82bN2PHjh344osvxC6N9IA9N5Xk6uoKqVSK5ORkrfbk5GR4eHiUuY+Hh4dO21PVznOJ77//Hl9//TX27duHVq1aGbJMo6freb516xZu376Nfv36adpUKhUAwNLSEteuXUODBg0MW7QRqsrfZ09PT1hZWUEqlWramjZtiqSkJBQWFkImkxm0ZmNUlfP8ySefYNiwYRgzZgwAoGXLlsjJycHYsWMxe/ZsWFjw//31obzvQUdHR4P12gDsuak0mUyG9u3bIywsTNOmUqkQFhaGoKCgMvcJCgrS2h4A9u7dW+72VLXzDADffvstvvjiC+zatQsBAQHVUapR0/U8N2nSBBcuXEBkZKTm0b9/f/Ts2RORkZFQKBTVWb7RqMrf5y5duuDmzZua8AgA169fh6enJ4NNOapynnNzc0sFmJJAKXDJRb0R7XvQoMOVTcyGDRsEuVwuhIaGCpcvXxbGjh0rODs7C0lJSYIgCMKwYcOEGTNmaLY/evSoYGlpKXz//ffClStXhDlz5vBW8ErQ9Tx//fXXgkwmE/78808hMTFR88jKyhLrIxgFXc/z43i3VOXoep5jY2MFBwcHYeLEicK1a9eE7du3C25ubsL//vc/sT6CUdD1PM+ZM0dwcHAQfv/9dyEqKkrYs2eP0KBBA2HQoEFifQSjkJWVJZw9e1Y4e/asAEBYsGCBcPbsWSEmJkYQBEGYMWOGMGzYMM32JbeCf/DBB8KVK1eEJUuW8Fbwmuinn34S6tatK8hkMqFjx47C8ePHNa91795dGDFihNb2mzZtEho1aiTIZDKhefPmwo4dO6q5YuOky3muV6+eAKDUY86cOdVfuJHR9e/zoxhuKk/X83zs2DEhMDBQkMvlQv369YUvv/xSKC4uruaqjY8u57moqEiYO3eu0KBBA8Ha2lpQKBTCu+++K6SlpVV/4UbkwIEDZf57W3JuR4wYIXTv3r3UPm3atBFkMplQv359YfXq1QavUyII7H8jIiIi08ExN0RERGRSGG6IiIjIpDDcEBERkUlhuCEiIiKTwnBDREREJoXhhoiIiEwKww0RERGZFIYbIiIiMikMN0RkUo4ePYqWLVvCysoKAwYMKLPt4MGDkEgkSE9Pr9Qxe/TogalTpxqsZiLSL85QTGTGwsPD0bVrV/Tu3Rs7duyo1vcWBAFz5szB8uXLkZ6eji5dumDp0qVo2LDhUx03MDAQjRo1wrx582Bvbw9nZ+dSbba2trh//z7c3d0hkUieeMz79+/DysoKDg4OT1UbEVUP9twQmbGVK1di0qRJOHToEO7cuVPhtoIgoLi4WG/v/e233+LHH3/EsmXLcOLECdjZ2SEkJAT5+flPddxbt27h2WefhY+PD5ydnctsk8lk8PDwqFSwAYBatWox2BAZEYYbIjOVnZ2NjRs3Yvz48ejbty9CQ0O1Xi+5dPPvv/+iffv2kMvlOHLkCHr06IFJkyZh6tSpcHFxgbu7O5YvX46cnByMGjUKDg4O8Pf3x7///lvuewuCgEWLFuHjjz/GSy+9hFatWmHNmjW4c+cOtm7dWu5+KpUK8+bNg5+fH2xsbNC6dWv8+eefAIDbt29DIpHg3r17GD16NCQSCUJDQ8tsK+uy1NGjR9GjRw/Y2trCxcUFISEhSEtLA1D6slRBQQHef/99eHt7w87ODoGBgTh48KDm9dDQUDg7O2P37t1o2rQp7O3t0bt3byQmJmp9nlWrVqF58+aQy+Xw9PTExIkTAQCjR4/Giy++qLVtUVER3NzcsHLlynLPDxGpMdwQmalNmzahSZMmaNy4Md58802sWrUKZV2lnjFjBr7++mtcuXIFrVq1AgD8+uuvcHV1xcmTJzFp0iSMHz8eAwcOROfOnXHmzBk8//zzGDZsGHJzc8t87+joaCQlJSE4OFjT5uTkhMDAQISHh5db87x587BmzRosW7YMly5dwrRp0/Dmm2/iv//+g0KhQGJiIhwdHbFo0SIkJiZi4MCBpdoGDx5c6riRkZHo1asXmjVrhvDwcBw5cgT9+vWDUqkss46JEyciPDwcGzZswPnz5zFw4ED07t0bN27c0GyTm5uL77//Hr/99hsOHTqE2NhYvP/++5rXly5digkTJmDs2LG4cOECtm3bBn9/fwDAmDFjsGvXLq0wtH37duTm5pZZPxE9xuDrjhNRjdS5c2dh0aJFgiAIQlFRkeDq6iocOHBA8/qBAwcEAMLWrVu19uvevbvQtWtXzfPi4mLBzs5OGDZsmKYtMTFRACCEh4eX+d5Hjx4VAAh37tzRah84cKAwaNCgMvfJz88XbG1thWPHjmm1v/XWW8Ibb7yhee7k5CSsXr1aa5vH20o+W1pamiAIgvDGG28IXbp0KfN9Sz7zlClTBEEQhJiYGEEqlQoJCQla2/Tq1UuYOXOmIAiCsHr1agGAcPPmTc3rS5YsEdzd3TXPvby8hNmzZ5f7ns2aNRO++eYbzfN+/foJI0eOLHd7InrIUtRkRUSiuHbtGk6ePIktW7YAACwtLTF48GCsXLkSPXr00No2ICCg1P4lPTgAIJVKUbt2bbRs2VLT5u7uDgBISUnRW803b95Ebm4unnvuOa32wsJCtG3b9qmOHRkZiYEDB1Zq2wsXLkCpVKJRo0Za7QUFBahdu7bmua2tLRo0aKB57unpqTkfKSkpuHPnDnr16lXu+4wZMwa//PILPvzwQyQnJ+Pff//F/v37dflYRGaL4YbIDK1cuRLFxcXw8vLStAmCALlcjsWLF8PJyUnTbmdnV2p/KysrrecSiUSrrWSgrkqlKvP9PTw8AADJycnw9PTUtCcnJ6NNmzZl7pOdnQ0A2LFjB7y9vbVek8vlZe5TWTY2NpXeNjs7G1KpFKdPn4ZUKtV6zd7eXvN7WedIeHDZrzLvN3z4cMyYMQPh4eE4duwY/Pz80K1bt0rXSWTOOOaGyMwUFxdjzZo1mD9/PiIjIzWPc+fOwcvLC7///rvBa/Dz84OHhwfCwsI0bZmZmThx4gSCgoLK3KdZs2aQy+WIjY2Fv7+/1kOhUDxVPa1atdKqpSJt27aFUqlESkpKqTpKQtuTODg4wNfXt8L3rF27NgYMGIDVq1cjNDQUo0aNqtSxiYg9N0RmZ/v27UhLS8Nbb72l1UMDAK+++ipWrlyJcePGGbQGiUSCqVOn4n//+x8aNmwIPz8/fPLJJ/Dy8tJMvPc4BwcHvP/++5g2bRpUKhW6du2KjIwMHD16FI6OjhgxYkSV65k5cyZatmyJd999F+PGjYNMJsOBAwcwcOBAuLq6am3bqFEjDB06FMOHD8f8+fPRtm1b3L17F2FhYWjVqhX69u1bqfecO3cuxo0bBzc3N/Tp0wdZWVk4evQoJk2apNlmzJgxePHFF6FUKp/q8xGZG4YbIjOzcuVKBAcHlwo2gDrcfPvttzh//rzB6/jwww+Rk5ODsWPHIj09HV27dsWuXbtgbW1d7j5ffPEF6tSpg3nz5iEqKgrOzs5o164dZs2a9VS1NGrUCHv27MGsWbPQsWNH2NjYIDAwEG+88UaZ269evRr/+9//8N577yEhIQGurq7o1KlTqdu3KzJixAjk5+dj4cKFeP/99+Hq6orXXntNa5vg4GB4enqiefPmWpcQiahinKGYiKiGys7Ohre3N1avXo1XXnlF7HKIjAZ7boiIahiVSoXU1FTMnz8fzs7O6N+/v9glERkVhhsiohomNjYWfn5+8PHxQWhoKCwt+U81kS54WYqIiIhMCm8FJyIiIpPCcENEREQmheGGiIiITArDDREREZkUhhsiIiIyKQw3REREZFIYboiIiMikMNwQERGRSfl/o7CetqnC238AAAAASUVORK5CYII=" }, "metadata": {}, "output_type": "display_data" } ], "source": [ "probs01 = []\n", "probs10 = []\n", "efficiencies = [0] + [10**eta for eta in np.linspace(-2, 0, 20)]\n", "for eta in efficiencies:\n", " prbs = qpu.probs(parameters={'arm 0/efficiency': eta})\n", " probs01.append(prbs[0, 1])\n", " probs10.append(prbs[1, 0])\n", "\n", "plt.plot(efficiencies, probs01, label = 'Pr(01)')\n", "plt.plot(efficiencies, probs10, label = 'Pr(10)')\n", "plt.xlabel('Arm 0 efficiency')\n", "plt.ylabel('Detection probability')\n", "plt.legend()\n", "plt.show()" ], "metadata": { "collapsed": false, "ExecuteTime": { "end_time": "2024-02-09T08:43:03.387571Z", "start_time": "2024-02-09T08:43:02.882465Z" } } }, { "cell_type": "markdown", "source": [ "This interesting phenomenon is behind a paradox called the 'interaction free measurement'. Notice that, by detecting the outcome '1 0', we can infer the presence of an absorbing object in one arm of the interferometer. However, since we only used a single photon, and we detected that photon, the photon never interacted with the absorbing object! This interaction free measurement occurs with 25\\% probability in the limit of a perfectly absorbing object." ], "metadata": { "collapsed": false } }, { "cell_type": "markdown", "source": [], "metadata": { "collapsed": false } } ], "metadata": { "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.9.6" } }, "nbformat": 4, "nbformat_minor": 5 }