diff --git a/qiskit/aqua/finance/european_call_option_pricing.ipynb b/qiskit/aqua/finance/european_call_option_pricing.ipynb
new file mode 100644
index 000000000..318615c46
--- /dev/null
+++ b/qiskit/aqua/finance/european_call_option_pricing.ipynb
@@ -0,0 +1,420 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import matplotlib.pyplot as plt\n",
+ "%matplotlib inline\n",
+ "import numpy as np\n",
+ "from qiskit import LegacySimulators\n",
+ "from qiskit_aqua.algorithms import AmplitudeEstimation\n",
+ "from qiskit_aqua.components.uncertainty_problems import EuropeanCallExpectedValue, EuropeanCallDelta\n",
+ "from qiskit_aqua.components.random_distributions import LogNormalDistribution"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Analysis of European Call Option\n",
+ "
\n",
+ "Suppose a European call option with strike price $K$ and an underlying asset whose spot price at maturity $S_T$ follows a given random distribution.\n",
+ "The corresponding payoff function is defined as:\n",
+ "
\n",
+ "
\n",
+ "$$\\max\\{S - K, 0\\}$$\n",
+ "
\n",
+ "In the following, a quantum algorithm based on amplitude estimation is used to estimate the expected payoff, i.e., the fair price before discounting, for the option:\n",
+ "
\n",
+ "
\n",
+ "$$\\mathbb{E}\\left[ \\max\\{S - K, 0\\} \\right]$$\n",
+ "
\n",
+ "as well as the corresponding $\\Delta$, i.e., the derivative of the option price with respect to the spot price, defined as:\n",
+ "
\n",
+ "
\n",
+ "$$\n",
+ "\\Delta = \\mathbb{P}\\left[S \\geq K\\right]\n",
+ "$$\n",
+ "
\n",
+ "The approximation of the objective function is explained in detail in the following paper:
\n",
+ "Quantum Risk Analysis. Woerner, Egger. 2018."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Uncertainty Model\n",
+ "\n",
+ "We construct a circuit factory to load a log-normal random distribution into a quantum state.\n",
+ "The "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# number of qubits to represent the uncertainty\n",
+ "num_uncertainty_qubits = 3\n",
+ "\n",
+ "# parameters for considered random distribution\n",
+ "S = 2.0 # initial spot price\n",
+ "vol = 0.4 # volatility of 40%\n",
+ "r = 0.05 # annual interest rate of 4%\n",
+ "T = 40 / 365 # 40 days to maturity\n",
+ "\n",
+ "# resulting parameters for log-normal distribution\n",
+ "mu = ((r - 0.5 * vol**2) * T + np.log(S))\n",
+ "sigma = vol * np.sqrt(T)\n",
+ "mean = np.exp(mu + sigma**2/2)\n",
+ "variance = (np.exp(sigma**2) - 1) * np.exp(2*mu + sigma**2)\n",
+ "stddev = np.sqrt(variance)\n",
+ "\n",
+ "# lowest and highest value considered for the spot price; in between, an equidistant discretization is considered.\n",
+ "low = np.maximum(0, mean - 3*stddev)\n",
+ "high = mean + 3*stddev\n",
+ "\n",
+ "# construct circuit factory for uncertainty model\n",
+ "uncertainty_model = LogNormalDistribution(num_uncertainty_qubits, mu=mu, sigma=sigma, low=low, high=high)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "needs_background": "light"
+ },
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "# plot probability distribution\n",
+ "x = uncertainty_model.values\n",
+ "y = uncertainty_model.probabilities\n",
+ "plt.bar(x, y, width=0.2)\n",
+ "plt.xticks(x, size=15, rotation=90)\n",
+ "plt.yticks(size=15)\n",
+ "plt.grid()\n",
+ "plt.xlabel('Spot Price at Maturity $S_T$ (\\$)', size=15)\n",
+ "plt.ylabel('Probability ($\\%$)', size=15)\n",
+ "plt.show()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Payoff Function"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# set the strike price (should be within the low and the high value of the uncertainty)\n",
+ "strike_price = 2\n",
+ "\n",
+ "# set the approximation scaling for the payoff function\n",
+ "c_approx = 0.5\n",
+ "\n",
+ "# construct circuit factory for payoff function\n",
+ "european_call = EuropeanCallExpectedValue(\n",
+ " uncertainty_model,\n",
+ " strike_price=strike_price,\n",
+ " c_approx=c_approx\n",
+ ")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "needs_background": "light"
+ },
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "# plot payoff function (evaluated on the grid of the uncertainty model)\n",
+ "x = uncertainty_model.values\n",
+ "y = np.maximum(0, x - strike_price)\n",
+ "plt.plot(x, y, 'ro-')\n",
+ "plt.grid()\n",
+ "plt.title('Payoff Function', size=15)\n",
+ "plt.xlabel('Spot Price', size=15)\n",
+ "plt.ylabel('Payoff', size=15)\n",
+ "plt.xticks(x, size=15, rotation=90)\n",
+ "plt.yticks(size=15)\n",
+ "plt.show()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "exact (normalized) expected value:\t0.1133\n",
+ "exact (normalized) delta value: \t0.4700\n"
+ ]
+ }
+ ],
+ "source": [
+ "# evaluate exact expected value (normalized to the [0, 1] interval)\n",
+ "exact_value = np.dot(uncertainty_model.probabilities, y)\n",
+ "exact_delta = sum(uncertainty_model.probabilities[x >= strike_price])\n",
+ "print('exact (normalized) expected value:\\t%.4f' % exact_value)\n",
+ "print('exact (normalized) delta value: \\t%.4f' % exact_delta)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Evaluate Expected Payoff"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# set number of evaluation qubits (samples)\n",
+ "m = 5\n",
+ "\n",
+ "# construct amplitude estimation \n",
+ "ae = AmplitudeEstimation(m, european_call)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {},
+ "outputs": [
+ ],
+ "source": [
+ "# result = ae.run(quantum_instance=LegacySimulators.get_backend('qasm_simulator'), shots=100)\n",
+ "result = ae.run(quantum_instance=LegacySimulators.get_backend('statevector_simulator'))"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Exact value: \t0.1133\n",
+ "Estimated value:\t0.2351\n",
+ "Probability: \t0.4716\n"
+ ]
+ }
+ ],
+ "source": [
+ "print('Exact value: \\t%.4f' % exact_value)\n",
+ "print('Estimated value:\\t%.4f' % result['estimation'])\n",
+ "print('Probability: \\t%.4f' % result['max_probability'])"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "needs_background": "light"
+ },
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "needs_background": "light"
+ },
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "# plot estimated values for \"a\"\n",
+ "plt.bar(result['values'], result['probabilities'], width=0.5/len(result['probabilities']))\n",
+ "plt.xticks([0, 0.25, 0.5, 0.75, 1], size=15)\n",
+ "plt.yticks([0, 0.25, 0.5, 0.75, 1], size=15)\n",
+ "plt.title('\"a\" Value', size=15)\n",
+ "plt.ylabel('Probability', size=15)\n",
+ "plt.ylim((0,1))\n",
+ "plt.grid()\n",
+ "plt.show()\n",
+ "\n",
+ "# plot estimated values for option price\n",
+ "plt.bar(result['mapped_values'], result['probabilities'], width=1/len(result['probabilities']))\n",
+ "plt.plot([exact_value, exact_value], [0,1], 'r--', linewidth=2)\n",
+ "plt.xticks(size=15)\n",
+ "plt.yticks([0, 0.25, 0.5, 0.75, 1], size=15)\n",
+ "plt.title('Estimated Option Price', size=15)\n",
+ "plt.ylabel('Probability', size=15)\n",
+ "plt.ylim((0,1))\n",
+ "plt.grid()\n",
+ "plt.show()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Evaluate Delta"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "european_call_delta = EuropeanCallDelta(\n",
+ " uncertainty_model,\n",
+ " strike_price\n",
+ ")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# set number of evaluation qubits (=log(samples)\n",
+ "m = 5\n",
+ "\n",
+ "# construct amplitude estimation \n",
+ "ae_delta = AmplitudeEstimation(m, european_call_delta)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {},
+ "outputs": [
+ ],
+ "source": [
+ "# result_delta = ae_delta.run(quantum_instance=LegacySimulators.get_backend('qasm_simulator'), shots=100)\n",
+ "result_delta = ae_delta.run(quantum_instance=LegacySimulators.get_backend('statevector_simulator'))"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Exact delta: \t0.4700\n",
+ "Esimated value:\t0.5000\n",
+ "Probability: \t0.7291\n"
+ ]
+ }
+ ],
+ "source": [
+ "print('Exact delta: \\t%.4f' % exact_delta)\n",
+ "print('Esimated value:\\t%.4f' % result_delta['estimation'])\n",
+ "print('Probability: \\t%.4f' % result_delta['max_probability'])"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "needs_background": "light"
+ },
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "# plot estimated values for delta\n",
+ "plt.bar(result_delta['values'], result_delta['probabilities'], width=0.5/len(result_delta['probabilities']))\n",
+ "plt.plot([exact_delta, exact_delta], [0,1], 'r--', linewidth=2)\n",
+ "plt.xticks(size=15)\n",
+ "plt.yticks([0, 0.25, 0.5, 0.75, 1], size=15)\n",
+ "plt.title('Estimated Option Delta', size=15)\n",
+ "plt.ylabel('Probability', size=15)\n",
+ "plt.ylim((0,1))\n",
+ "plt.grid()\n",
+ "plt.show()"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "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.6.5"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 1
+}
diff --git a/qiskit/aqua/finance/fixed_income_pricing.ipynb b/qiskit/aqua/finance/fixed_income_pricing.ipynb
new file mode 100644
index 000000000..bf99155c5
--- /dev/null
+++ b/qiskit/aqua/finance/fixed_income_pricing.ipynb
@@ -0,0 +1,285 @@
+{
+ "cells": [
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import matplotlib.pyplot as plt\n",
+ "%matplotlib inline\n",
+ "import numpy as np\n",
+ "from qiskit import LegacySimulators\n",
+ "from qiskit_aqua.algorithms import AmplitudeEstimation\n",
+ "from qiskit_aqua.components.random_distributions import MultivariateNormalDistribution\n",
+ "from qiskit_aqua.components.uncertainty_problems import FixedIncomeExpectedValue"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Pricing fixed-income assets\n",
+ "\n",
+ "We seek to price a fixed-income asset knowing the distributions describing the relevant interest rates. The cash flows $c_t$ of the asset and the dates at which they occur are known. The total value $V$ of the asset is thus the expectation value of:\n",
+ "\n",
+ "$$V = \\sum_{t=1}^T \\frac{c_t}{(1+r_t)^t}$$\n",
+ "\n",
+ "Each cash flow is treated as a zero coupon bond with a corresponding interest rate $r_t$ that depends on its maturity. The user must specify the distribution modelling the uncertainty in each $r_t$ (possibly correlated) as well as the number of qubits he wishes to use to sample each distribution. In this example we expand the value of the asset to first order in the interest rates $r_t$. This corresponds to studying the asset in terms of its duration.\n",
+ "
\n",
+ "
\n",
+ "The approximation of the objective function follows the following paper:
\n",
+ "Quantum Risk Analysis. Woerner, Egger. 2018."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# can be used in case a principal component analysis has been done to derive the uncertainty model, ignored in this example.\n",
+ "A = np.eye(2)\n",
+ "b = np.zeros(2) \n",
+ "\n",
+ "# specify the number of qubits that are used to represent the different dimenions of the uncertainty model\n",
+ "num_qubits = [2, 2]\n",
+ "\n",
+ "# specify the lower and upper bounds for the different dimension\n",
+ "low = [0, 0]\n",
+ "high = [0.12, 0.24]\n",
+ "mu = [0.12, 0.24]\n",
+ "sigma = 0.01*np.eye(2)\n",
+ "\n",
+ "# construct corresponding distribution\n",
+ "u = MultivariateNormalDistribution(num_qubits, low, high, mu, sigma)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "needs_background": "light"
+ },
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "# plot contour of probability density function\n",
+ "x = np.linspace(low[0], high[0], 2**num_qubits[0])\n",
+ "y = np.linspace(low[1], high[1], 2**num_qubits[1])\n",
+ "z = u.probabilities.reshape(2**num_qubits[0], 2**num_qubits[1])\n",
+ "plt.contourf(x, y, z)\n",
+ "plt.xticks(x, size=15)\n",
+ "plt.yticks(y, size=15)\n",
+ "plt.grid()\n",
+ "plt.xlabel('$r_1$ (%)', size=15)\n",
+ "plt.ylabel('$r_2$ (%)', size=15)\n",
+ "plt.colorbar()\n",
+ "plt.show()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "needs_background": "light"
+ },
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "# specify cash flow\n",
+ "cf = [1.0, 2.0]\n",
+ "periods = range(1, len(cf)+1)\n",
+ "\n",
+ "# plot cash flow\n",
+ "plt.bar(periods, cf)\n",
+ "plt.xticks(periods, size=15)\n",
+ "plt.yticks(size=15)\n",
+ "plt.grid()\n",
+ "plt.xlabel('periods', size=15)\n",
+ "plt.ylabel('cashflow ($)', size=15)\n",
+ "plt.show()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Exact value: \t2.1942\n"
+ ]
+ }
+ ],
+ "source": [
+ "# estimate real value\n",
+ "cnt = 0\n",
+ "exact_value = 0.0\n",
+ "for x1 in np.linspace(low[0], high[0], pow(2, num_qubits[0])):\n",
+ " for x2 in np.linspace(low[1], high[1], pow(2, num_qubits[1])):\n",
+ " prob = u.probabilities[cnt]\n",
+ " for t in range(len(cf)):\n",
+ " # evaluate linear approximation of real value w.r.t. interest rates\n",
+ " exact_value += prob * (cf[t]/pow(1 + b[t], t+1) - (t+1)*cf[t]*np.dot(A[:, t], np.asarray([x1, x2]))/pow(1 + b[t], t+2))\n",
+ " cnt += 1\n",
+ "print('Exact value: \\t%.4f' % exact_value)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# specify approximation factor\n",
+ "c_approx = 0.125\n",
+ "\n",
+ "# get fixed income circuit appfactory\n",
+ "fixed_income = FixedIncomeExpectedValue(u, A, b, cf, c_approx)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# set number of evaluation qubits (samples)\n",
+ "m = 5\n",
+ "\n",
+ "# construct amplitude estimation \n",
+ "ae = AmplitudeEstimation(m, fixed_income)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {},
+ "outputs": [
+ ],
+ "source": [
+ "# result = ae.run(quantum_instance=LegacySimulators.get_backend('qasm_simulator'), shots=100)\n",
+ "result = ae.run(quantum_instance=LegacySimulators.get_backend('statevector_simulator'))"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Exact value: \t2.1942\n",
+ "Estimated value:\t2.4600\n",
+ "Probability: \t0.8487\n"
+ ]
+ }
+ ],
+ "source": [
+ "print('Exact value: \\t%.4f' % exact_value)\n",
+ "print('Estimated value:\\t%.4f' % result['estimation'])\n",
+ "print('Probability: \\t%.4f' % result['max_probability'])"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/png": "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\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "needs_background": "light"
+ },
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZwAAAEPCAYAAAB2s3LUAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzt3XucHFWd9/HPl8tCYiCGS8JlkQCCeWDdR8mIssvCRFAh+BLkYlh1fUUuiSu7uPsgchE16OojIJdV9CFBBVmVqIi4ChhumSAqQhJANCQYlnBVIBgIIQEJ/J4/Tg02lZ6Z6pnuqpnu7/v1qldPnzpV/Ts9M/3rOnXqlCICMzOzVtuo6gDMzKwzOOGYmVkpnHDMzKwUTjhmZlYKJxwzMyuFE46ZmZXCCceaStIsSdHH8sGC+9gj289rc+XTs/2MaU30xeIY4j6vlNRToN4mkv5N0t2S1klaJelaSfsN8nWHy3s6Pfc38YSkeZL2LrBtd7bN35QRqzWfE461wjPAvnWWnxXcfg/gM0D+g/6abD9rmxPmoONoKUkbA1cDXwD+G5gKTAdeAnokvX8Qux0u72mvt2evOxPYFpgvaYcBtlmcbXN/i2OzFtmk6gCsLa2PiNuavdOIeBJ4stn7HYb+FTgUOCQiapP0jyXNBeZIWhARjw71hSp8T++IiDUAkhYCDwIfAM7NV5QkYLOIWA00/e/KyuMjHKuEpNMlLZf0vKTHJf1M0naSuoGfZNUeyLpQVmTbvKr7R9LE7Pkxki6VtFrSI71dd5I+IekxSU9KOlvSRjWvP0nSXEkPS1or6XdZF9ZG2fo+48jWvy7b/k/Z9vMkvSHXxp2ybrB1klZIOr7g2/MxYH4u2fT6JLA5cFzN66yQ9CVJn5L0R0lrJH1H0tiB2lKvS03SNpK+JemprG09krpybet9zX/P3vNV2fvR8NFgRDxMSnoTs33PkrRS0n6S7gCeB46u16UmaePsb+k+SS9ksVyWi/UwSQuzv7U/SjpH0qaNxmlD5yMcawlJG/xtRcT6bN2HgDOAU4HfAVuTulheQ+o2+TjwJeAI4A/ACwO83NnAd4AjgWOBb0l6M7Bz9nwy8B/AncDcbJsdgWXZds8CbwLOAkYB/7e/OCRtBdwKPAV8hNQddRpwo6Q9ImJd9q38x8A2pOTwfLb/rYDf9/O+7UT64L2g3vqIuF/SPcD+uVX/CCwHTgC2B84Bvg4c3V9b+nA18Ppsm5XAKaQurzdHxPKaeu8DfgPMAP4aOJ/UDfjRfva9AUlbkN6XP9YUjwa+lbXjPuCxrF15s4EPZfUWZPs5smbf7wOuyOqdAexG+v1ulLXPyhQRXrw0bQFmAdHHMjGrcxHww3728e7a+jXl07PyMdnzidnzS2vqbAm8SPpQ37im/Hbge328nkhfvs4A/qdAHJ8jJZutasrGkc5dnZg9n5pt+9aaOjsD64Geftr+tmy7w/qpczVwb83zFcCfet+XrOwDwMvA/2rwPT04e35ATZ3XkI5AZude835gk5qyC4E/DvD30ft6Y7P3fCfge9n78qbc39BhuW27s/K/yZ5Pyp6f1M/v9cHav4+s/FhgHbB11f8vnbb4CMda4RngoDrlj2WPdwHHSTqLdNJ6UUS8NITXu6n3h4hYLelJYEFun8uB1/U+kbQ5cDrpg/l1wKY16zaJ7GisDwcBNwCra47kngUWAb1dT/sAj0fEr2tie1DSokG0r4gbIjsnkvkR6QP3LcC9DexnH+CJiFjQWxARz0n6KZAfITc/9z4tAcZL2jQiXhzgdZ6u+XklcGxE3FVTFsB1A+xjSvZ4WR/r9yD9br+fO+K+mdQt+TekoyIriROOtcL6iFjYz/pvAluQumI+DTwl6WLgM4NMPE/nnv+5j7LNa56fDRxP6uZanNU/DDgzq7eGvm1DOhKZVmddb/LbDniizvonSG3vS+9AgJ37qbNzTb3a/b4iItZKWkP9bqj+bJ/fV+ZxUndVrXrvsYDNSEeZ/dmf1BW5Eng4Il7OrV8VEX8eYB9bA89FGkxQzzbZ47V9rN9pgP1bkznhWOmyD5cLgAuycxYfAD4PPAJcXFIYRwNfiYhzegskHVpw2z+Rhit/rs66Z7PHPwLj66wfT+rOqSsiHs5O6L8H+HJ+vaRdSN/M8689PldvNDCGdL6mEX/I7yszgdTuZrkzd0SWV+S+KU8Br5G0ZR9JpzfeGaTzd3kPFHgNayKPUrNKRcTDEfFFUpfXnllx7zfbzetv1RSjqDlxrnTtyzG5On3FcROwF/C7iFiYW5Zlde4AJkh6a81rvA4Y8AJH4D+BAyW9s866z2dxfyNX/g69+uLN95I+tHuPNIu+p78mdYu9MighS16HkgZKDCc3Z48f6mP9MtKR4MQ6v6eFEfFUOWFaLx/hWCtsIultdcofjohHJc0mffu8jXS+ZwqwO2nUGqQPCoCZStedrI2Ie5oc4w3AiZKWZ7GcSOoKqtVXHOcDHwRulvQV0ofaBOAA4NaIuILUjXM38ANJp5KSxFnU767K+wrpPNGPJH0J6CF1wx1HOvn/T7HhNTjrgGsknUvqFjsX+FFELBmgLa8SEfMk/RL4nqTTSEcRHycl6A2ukalSRCyTNAc4T9J44BbSha1HRcQxEfGypJOB/5K0Jemc0J+BXYHDs3plX/Da2aoeteClvRb6H6V2ZlZnOvAL0gf9WtLQ2uNy+zmZNMJoPbCiZrt6o9Tendt2BfClXNllwMKa5xNIJ9ZXk85PnEMaUvzK/vuKIyvfAbg02/aF7DW/DexVU+d1pNkV1mX7mAlcST+j1Gq23QT49+y9WQesIn1g7len7grgvOy9fxx4jjQU+LWNvqdZ2bbA5dlrriOdWH9Lgfd4g33VibVInVnAyjrl3dSMUsvKNiYbXUhKJo8A38xtdwjw8+x9WU0atPIf1Iyw81LOouwXUhpJryeN69+X1C3x84joLrDdWNKwy8NJXYE/JQ2HfCpX7zDSH9PupD/CsyLie81sg9lwkp3zuTIifF2JDWtVnMPZi3SNwjLSBV1FfZ/0Ded40rekt5CuR3iF0sSGPwTmk77VXANc0UdfuJmZlaiKI5yNIhsCKelKYJuBjnAk7Qv8knQx2i1Z2T6kE5zviIgbs7J5wKYR8faaba8FtoyIQc2yazbc+QjHRorSj3Biw/H2RRxCuojulpr93E4a1ngIgKTNSCefv5/bdi6wb++8UmbtJiImOtnYSDBShkVPApbWKb83WwdpjqRN69S7l9TOPVoWnZmZDWikDIsex4ZXNUMaRbNrTR3q1FuVW/8qkmaQLgxj1KhRk3faaXhcfPzyyy+z0UYj5ftAce3YrqJt2uK+dMry2T1GxnefdvxdQXu2q8o23XfffSsjYtsidUdKwmmZiJgDzAHo6uqKhQv7m5GlPD09PXR3d1cdRtO1Y7sKt0lKj8uW9V9vmGjH3xW0Z7uqbJOkB4vWHSlpfhVpdtm8cfzlCKb3MV9vXG69mZlVYKQknKX85VxNrdpzO/eTJgzM15tEmqa9kSHYZmbWZCMl4VwHbJddZwNAdgfCXbN1RMQLpOtvjs5tOw34VUQ8U1KsZmZWR+nncLKJAKdmT3cEtpR0VPb82kjTqi8n3c/kOICI+JWk64HLJX2cdMRyNmneqhtrdv85oEfShaSLQqdmy8Etb5iZmfWrikED44Ef5Mp6n+9CmqNpE9IcSbWmkaa0/yY1U9vUVoiIW7Pk9R/AP5Ou03l/RFzfxPjNBqfki6zNhpvSE05ErCDdpKm/OhPrlD0NfDhb+tv2anJT3piZWfVGyjkcMzMb4ZxwzMoyeXJazDpUx1/4aVaaxYurjsCsUj7CMTOzUjjhmJlZKZxwzMysFE44ZmZWCiccMzMrhUepmZXlhBOqjsCsUk44ZmWZM6fqCMwq5S41MzMrhROOWVkWLUqLWYdyl5pZWbq60qNnjbYO5SMcMzMrhROOmZmVwgnHzMxK4YRjZmalcMIxM7NSOOGYmVkpPCzarCwLF1YdgVmlnHDMyuLbS1uHc5eamZmVwgnHrCwzZqTFrEM54ZiV5ZJL0mLWoZxwzMysFB40YDbMTDztmkL1Vnzx0BZHYtZcPsIxM7NSOOGYmVkpnHDMzKwUPodjVpa99646ArNKOeGYlcW3l7YO5y41MzMrhROOmZmVwgnHrCxSWsw6lBOOmZmVwgnHzMxK4YRjZmalcMIxM7NSOOGYmVkpnHDMzKwUnmnArCyzZ1cdgVmlnHDMyuLbS1uHK71LTdKekm6StFbSY5I+K2njAbaZJSn6WE6vqXdZH3Umtb5lZmbWn1KPcCSNA24ElgCHAbsB55ES35n9bPp14Ge5ssOBU4HrcuVLgQ/nylYMLmKzJpozJz36SMc6VNldah8BRgFHRMRq4AZJWwKzJJ2TlW0gIh4BHqktk/QpYGlE3JWr/lxE3NaC2M2GZubM9OiEYx2q7C61Q4B5ucQyl5SEDii6E0lbA+8ArmhueGZm1iplJ5xJpC6vV0TEQ8DabF1RRwKbUj/h7ClptaQXJN0qqXAiMzOz1lFElPdi0ovAKRFxYa78EeDyiDij4H5uBsZGxORc+ceAP5POEW0LnAxMBvaLiNv72NcMYAbAhAkTJs+dO7exRrXImjVrGDNmTNVhNF07tqtom7qnTAGgZ/78fuvd8+gzhV73jTuOLVRvsNrxdwXt2a4q2zRlypRFEdFVpO6ISziStiedzzk1Ir40QN3RwO+AuyPi8IH23dXVFQsXLhyoWil6enro7u6uOoyma8d2FW5T760JBvifm3jaNYVed8UXDy1Ub7Da8XcF7dmuKtskqXDCKbtLbRVQ72vZuGxdEe8DBHxvoIoRsRa4FvDN5M3MKlZ2wllK7lyNpJ2A0eTO7fTjGODWiHi4YP3IFjMzq1DZCec64F2StqgpmwasAxYMtLGkicDbKDg6TdIo4FBgUaOBmjVdxIDdaWbtrOyEczHwAnCVpIOyE/azgPNrh0pLWi7pG3W2PwZYD/wgv0LSWEk/lzRT0oGSpgHzgR2AL7SgLWZm1oBSL/yMiFWSDgQuAn4CPA1cQEo6+bjqTXdzDHBTRKyss+4F4EnSjAXjgeeBXwEHRMTwGAlgZtbBSp+8MyKWAG8foM7EPsrf1M82zwNHDCk4s1aanI3iX+QeXutMni3arCyLF1cdgVmlfAM2MzMrhROOmZmVwgnHzMxK4YRjZmalcMIxM7NSeJSaWVlOOKHqCMwq5YRjVpbeW0ybdSh3qZmZWSkaSjiS6k03Y2ZFLFrkWQasozXapfaopMuBSyPi3lYEZNa2urJ7VHnGaOtQjXapXQwcBfxW0q8lzZC0ZQviMjOzNtNQwomIWRGxK/AOYBlwPvAHSd+RdFArAjQzs/YwqEEDEXFzRHwI2A74V+ANwDxJKyTNkrRDM4M0M7ORb6ij1LqA/Um3jV4F/Bw4Hlgu6YND3LeZmbWRhhOOpJ0lfUbS/cBNwPbAscAOEfFPwM7AbODcpkZqZmYjWkOj1CTNB/4BeBS4lDRa7cHaOhHxkqTvAh9rWpRmZjbiNTos+glgKnBDRL9jO+8Cdhl0VGbtaKHvdG6drdGE81Vgcb1kI2kMsHdE3BIRLwIPbrC1WSfrvcW0WYdq9BzOfGDPPta9IVtvZma2gUYTjvpZNwZYO4RYzNrbjBlpMetQA3apSdof6K4pOl7SwblqmwOHAvc0LzSzNnPJJenRs0ZbhypyDuetpIs7AQI4Glifq/NnYClwSvNCMzOzdjJgwomIc8muqZH0APDeiLir1YGZmVl7aWiUWkR4qLOZmQ1KkXM4U4FbI2J19nO/IuLapkRmZmZtpcgRzk+BtwG3Zz8HfY9WC8A3aTMzsw0USTi7AH+o+dnMBmPvvauOwKxSRQYNPFjvZzNrkG8vbR2uyDmc0Y3sMCJ88aeZmW2gSJfaGtK5maJ8DsfMzDZQJOEcS2MJx8zqUTbWpt+J1s3aV5FzOJeVEIeZmbW5od5i2szMrJAigwZuB6ZHxBJJdzBA91pE7NOs4MzMrH0UOYfzO2Bdzc/ugDYzs4YVOYfz4Zqfp7c0GjMza1uDPoejZFtJ/d2UzczMDGhwtmh4ZTLPM4HJ2fbrJS0CPh8R1zQ5PrP2MXt21RGYVaqhhCNpJvA14CbgY8ATwHjgCOC/JX00IvxfZVaPby9tHa7RI5wzgNkR8dFc+cWSLgY+CTjhmJnZBho9h7M18KM+1v0Q2GqgHUjaU9JNktZKekzSZyX1Ox2OpImSos4yt07dwyTdI+l5SUskTSvUMrNWmzMnLWYdqtEjnPnAAcANddYdANzS38aSxgE3AkuAw4DdgPNIie/MAq//ceAXNc9X5va/HynxfQ04CZgKXCFpVURcX2D/Zq0zc2Z6dNeadagiF37uWfP0y8DXJW0NXM1fzuG8FzgEOH6A3X0EGAUcERGrgRskbQnMknROVtafZRFxWz/rPwXcEhEnZc/nS9oL+DTghGNmVqEiRzi/5dUXewqYmS35u3/+jP5niz4EmJdLLHOBs0lHSD8pEE9dkjYDppCObGrNBS6VNDYinhns/s3MbGiKJJwpTXy9ScDNtQUR8ZCktdm6gRLOpZK2Ih1ZXQF8MiJ6Z0HYDdgUWJrb5l5Sl90ewB1DC9/MzAaryEwDC5r4euOAp+uUr8rW9eUF4KukbrHVQDdwKinJHFazb+rsf1Vu/atImgHMAJgwYQI9PT39xV+aNWvWDJtYmqkd21W0Td3Z40B1T37j+kKv2+r3sR1/V9Ce7RopbWr4ws9ekjYCNs+Xt+KOnxHxB+Bfaop6JD0OfE3S/46Iu4ew7znAHICurq7o7u4eUqzN0tPTw3CJpZnasV2NtmmgutNPK3b99IoPFH/NwWjH3xW0Z7tGSpsaGhadTWdzqqTlwIvAs3WW/qwCxtYpH8dfjkSKujJ7nFyzb+rsf1xuvZmZVaDR63BOAk4DvkEaLPB54LPAfcAKsq6pfiwlnat5haSdgNFseO5lIJF7vJ+UBCfl6k0CXs5iNKtOhO/2aR2t0YRzAvAZ4Jzs+dURcRawFylh7D7A9tcB75K0RU3ZNNLtDxo9V3RU9rgIICJeIF0ndHSu3jTgVx6hZmZWrUbP4ewC3BURL0l6EXgtQES8LOlrwNdJR0B9uZh0lHSVpLOBXYFZwPm1Q6WzLrsFEXFc9nwWsAXpos/VwP7AKcBVEfGbmv1/jnR+50LSdUJTs+XgBttpZmZN1ugRzlPAmOznh4A316wbR7qos08RsQo4kHStzk+As4ALSEdNtTbh1dfzLCVdp3MpcC3wfuDc7LF2/7eSjnwOAuYB7wHe71kGbFiYPDktZh2q0SOcXwBvIX3of5c0Q8BWwJ+BE0mzSPcrIpYAbx+gzsTc87mkCzgHFBFXk45uzIaXxYurjsCsUo0mnFnAjtnPXyB1qU0nHdncAPxrswIzM7P20lDCiYhlwLLs5xdI98T5WAviMjOzNjOUCz//GtgeeCwiHm1eSGZm1o4aHTSApH+W9DDwIPBr4CFJj0jK35TNzMzsFY3ONPBp4CLS9TSHAl3Z43XAl7P1ZmZmG2i0S+1E4AsR8alc+c+yuc1OJM08YGZ5J5xQdQRmlWo04Yyi77t6LsCj1Mz65ttLW4dr9BzO1cARfaw7Evjp0MIxM7N2VeQW01Nrnl4HnCNpIhveYnov4BPND9GsTSxalB4924B1qCJdaj9lw1tJ7wi8q07db5PuxGlmeV1d6dEzRluHKpJwdml5FGZm1vaK3GL6wTICMTOz9tbwTAOSNiENENgP2Ar4E/Bz0q0Cit2M3czMOk5DCUfSeOB64G9Jd/h8HNiXdP3N3ZLeGRFPNjtIMzMb+RodFn0+sDXwtojYNSL2jYhdgbdm5ec3O0AzM2sPjSacqcCpEXF7bWFE3AGcTprmxszMbAONnsPZDHi2j3XPAn81tHDM2tjChVVHYFapRhPObcCpkm6OiOd6CyW9Bjg1W29m9fiCT+twjSack4H5wMOSricNGhhPughUQHdTozMzs7bR0DmciLgL2B2YA2wLvIOUcC4Gdo+Iu5seoVm7mDEjLWYdqvARjqRNgX2AByLitNaFZNamLrkkPXrWaOtQjRzhvATcDExqUSxmZtbGCieciHgZ+D2wXevCMTOzdtXodTifBD4t6Y2tCMbMzNpXo6PUziTNKHCXpEdJo9ReNdd6ROzTpNjMzKyNNJpwfpstZmZmDSmUcCSNIk1r81vgj8CNEfF4KwMzazt77111BGaVKnKL6V2BG4GJNcWrJb0vIq5vVWBmbaf3FtNmHarIoIFzgJeBfwBGA3sBdwKzWxiXmZm1mSIJZ1/gzIj4RUQ8HxH3AjOB10navrXhmZlZuyiScLYH/idXdj9p7jRfk2NWlJQWsw5V9DqcGLiKmZlZ34oOi54naX2d8pvy5RExfuhhmZlZuymScM5qeRRmZtb2Bkw4EeGEY2ZmQ9boXGpmZmaD4oRjZmalaHQuNTMbrNm+Vto6mxOOWVl8e2nrcO5SMzOzUjjhmJVlzpy0mHWo0hOOpD0l3SRpraTHJH1W0sYDbPMWSZdKWp5tt0zSZyRtnqs3S1LUWQ5ubavMCpg5My1mHarUcziSxpFudbAEOAzYDTiPlPjO7GfTaVnds4HfA38LfC57PDJX9xkgn2DuHWrsZmY2NGUPGvgIMAo4IiJWAzdI2hKYJemcrKyeL0bEyprnPZKeB2ZL2jkiHqxZtz4ibmtN+GZmNlhld6kdAszLJZa5pCR0QF8b5ZJNrzuzxx2aF56ZmbVK2QlnErC0tiAiHgLWZusasS/pxnD358pfK2mlpBcl3SnpiEFHa2ZmTaOI8u48IOlF4JSIuDBX/ghweUScUXA/2wG/Aa6NiOk15R8ExpOOfrYg3ShuKnBkRFzVx75mADMAJkyYMHnu3LmNNqsl1qxZw5gxY6oOo+nasV1F29Q9ZQoAPfPn91vvnkefKfS6b9xxbKF6g9WOvytoz3ZV2aYpU6YsioiuInVHXMKR9FekgQd/DUyOiFX91BXwS2BURLxpoH13dXXFwoULB6pWip6eHrq7u6sOo+nasV2F29R787UB/ucmnnZNoddd8cVDC9UbrHb8XUF7tqvKNkkqnHDK7lJbBdT7WjYuW9evLIFcDuwFTO0v2QBEyqZXAX870NBrs5aLGDDZmLWzskepLSV3rkbSTsBocud2+nAhaTj1OyKiSH1Idyv1f7mZWcXKPsK5DniXpC1qyqYB64AF/W0o6XTgX4APRsStRV4sOyI6Erg7Il4aXMhmZtYMZR/hXAycBFwl6WxgV2AWcH7tUGlJy4EFEXFc9vz9wBeAy4BHJb2tZp/3R8STWb0FwA9JR0uvAU4A3goc3tpmmRUweXJ6XLSo2jjMKlJqwomIVZIOBC4CfgI8DVxASjr5uGrPubwze5yeLbU+TEpEAMuBfwO2Jw2ZXgwcGhHXNSN+syFZvLjqCMwqVfrtCSJiCfD2AepMzD2fzoaJpt52xw0hNDMzayHPFm1mZqVwwjEzs1I44ZiZWSmccMzMrBSlDxow61gnnFB1BGaVcsIxK4tvL20dzl1qZmZWCiccs7IsWuRZBqyjuUvNrCxd2QzunjHaOpSPcMzMrBROOGZmVgonHDMzK4UTjpmZlcIJx8zMSuGEY2ZmpfCwaLOyLFxYdQRmlXLCMStL7y2mzTqUu9TMzKwUTjhmZZkxIy1mHcoJx6wsl1ySFrMO5YRjZmalcMIxM7NSOOGYmVkpnHDMzKwUTjhmZlYKX/hpVpa99646ArNKOeGYlcW3l7YO5y41MzMrhROOmZmVwgnHrCxSWsw6lBOOmZmVwgnHzMxK4VFqZv2YeNo1A9Y5+Y3r6W59KGYjno9wzMysFE44ZmZWCiccMzMrhc/hmJVl9uyqIzCrlBOOWVl8e2nrcO5SMzOzUjjhmJVlzpy0mHUod6mZlWXmzPTorjXrUE44Zlb3AteT37ie6TXlK754aJkhWRsqvUtN0p6SbpK0VtJjkj4raeMC242VdKmkVZKekfQdSVvXqXeYpHskPS9piaRprWmJmZk1otSEI2kccCMQwGHAZ4GTgbMKbP59oBs4HpgOvAW4Orf//YAfAvOBQ4BrgCskvbMpDTAzs0Eru0vtI8Ao4IiIWA3cIGlLYJakc7KyDUjaF3gncEBE3JKVPQr8WtJBEXFjVvVTwC0RcVL2fL6kvYBPA9e3rllWpiLzm7n7x2z4KTvhHALMyyWWucDZwAHAT/rZ7vHeZAMQEbdLeiBbd6OkzYApwEm5becCl0oaGxHPNKkdVocnurSi/KWhM5WdcCYBN9cWRMRDktZm6/pKOJOApXXK783WAewGbFqn3r2krsM9gDsGF3ZjivwzDeSyg18zqP0W+Sf1P7t1gr7+zpsxGKLK/8UiAzyKqOJ/XBFR3otJLwKnRMSFufJHgMsj4ow+trsBeC4iDs+VfxvYNSL+TtLfA7cCb46Iu2rqvB74PfCuiNigW03SDKB3nOobgGWDbmBzbQOsrDqIFmjHdrVjm8DtGkmqbNPOEbFtkYodPyw6IuYAw+5qPEkLI6Kr6jiarR3b1Y5tArdrJBkpbSp7WPQqYGyd8nHZuqFs1/uYrzcut97MzCpQdsJZyl/OuQAgaSdgNPXP0fS5Xab23M79wIt16k0CXgbuG0S8ZmbWJGUnnOuAd0naoqZsGrAOWDDAdttl19kAIKkL2DVbR0S8QLr+5ujcttOAX43AEWrDrpuvSdqxXe3YJnC7RpIR0aayBw2MA5YAvyUNhd4VOB+4MCLOrKm3HFgQEcfVlM0Ddgc+TjpiORt4IiL+oabOfkAPcBHpotCpWf2D6w0YMDOz8pR6hBMRq4ADgY1JQ6DPAi4APpOruklWp9Y00lHQN4HLgUXAe3P7vxU4CjgImAe8B3i/k42ZWfVKPcIxM7PO5fvhDCODndh0uJP0ekmzJf1G0kuSeqqOaagkHS3pvyU9KmmNpEWS/rHquIZC0lGSfinpqWzy22WSzpT0V1XH1iySdsx+XyFpTNXxDIWk6Vk78stHqo6tLx1/Hc5wUTOx6RLSxKa7AeeRvhSc2c+mI8FepPNpt5Fmg2gH/wco5+erAAADTklEQVR4APh30gV3U4HvStomIr5SaWSDtzVpJpBzgaeBfYBZwHbAv1QXVlOdC6wBNpzKY+R6O2ngVa//qSqQgbhLbZiQdDrwCdJVu6uzsk+Q/cP3NbHpSCBpo4h4Ofv5SmCbiOiuNqqhyRLLylzZd4F9I2KXisJqOkmfB04ExsUI/7CQtD9pMNEXSIlni4hYU21UgydpOnApI6gd7lIbPvqa2HQUaWLTEas32bSTfLLJ3AnsUHYsLfYUMOK71LKu6a+QbonSbtPajBhOOMPHBhOURsRDQO/Epjb87UsbXGAsaWNJo7PLDE4C/t9IP7oh3RplM+CrVQfSAvdLWp+dc5tZdTD98Tmc4WMcqd88bxV/mZ7HhilJBwKHA8dWHUsTPEf6cIZ0CcIpFcYyZNmdgT8HfDAiXpRUdUjN8gfSPcBuJ11GcgxwsaTREXFBpZH1wQnHbIgkTQS+C/w4Ii6rNJjm+DvSdFP7kG5eeBHw0UojGprPA7dFxLVVB9JMETGPdL1hr+skbQ6cKek/h2NXthPO8DHYiU2tQpK2Ik2v9CDwgYrDaYqIWJz9eKuklcC3JJ0XEfdXGddgZHf8PRbYX9Jrs+LR2eNYSS9FxLr6W49IVwLvAyYyDEerOeEMH4Od2NQqImk08FPSSfV3R8TaikNqhd7kswtpgtyRZnfSUPxf1Vn3CPAN4PhSI2qtyD0OK044w8d1wCmStoiIZ7OyIhObWgUkbQL8gPSB9ncR8UTFIbXK32ePD1QaxeDdSrr1fK2DgVNJ104Nu6OAITqKNArvwaoDqccJZ/i4mDQi6CpJvRObzgLOH8nX4MArRwJTs6c7AltKOip7fu0IPTL4GqlNHwO2zk5M97ozm718RJH0M9LFx78DXiIlm5OB743E7jR4Zfh6T21Zds4N4Ocj5fqVeiT9kDRg4DekQQPTsuWk4Xj+Bpxwho2IWJWNdLqINLHp06SJTWdVGVeTjCcdDdTqfb4LsKLUaJrjndnjf9ZZN1LbdAcwndT/v5707f900pchG36Wkc5P7QSINEvJhyLivyqNqh+eacDMzErhCz/NzKwUTjhmZlYKJxwzMyuFE46ZmZXCCcfMzErhhGNmZqVwwjEzs1I44ZiZWSn+P2elDYHX7N6iAAAAAElFTkSuQmCC\n",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {
+ "needs_background": "light"
+ },
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "# plot estimated values for \"a\"\n",
+ "plt.bar(result['values'], result['probabilities'], width=0.5/len(result['probabilities']))\n",
+ "plt.xticks([0, 0.25, 0.5, 0.75, 1], size=15)\n",
+ "plt.yticks([0, 0.25, 0.5, 0.75, 1], size=15)\n",
+ "plt.title('\"a\" Value', size=15)\n",
+ "plt.ylabel('Probability', size=15)\n",
+ "plt.xlim((0,1))\n",
+ "plt.ylim((0,1))\n",
+ "plt.grid()\n",
+ "plt.show()\n",
+ "\n",
+ "# plot estimated values for option price\n",
+ "plt.bar(result['mapped_values'], result['probabilities'], width=3/len(result['probabilities']))\n",
+ "plt.plot([exact_value, exact_value], [0,1], 'r--', linewidth=2)\n",
+ "plt.xticks(size=15)\n",
+ "plt.yticks([0, 0.25, 0.5, 0.75, 1], size=15)\n",
+ "plt.title('Estimated Option Price', size=15)\n",
+ "plt.ylabel('Probability', size=15)\n",
+ "plt.ylim((0,1))\n",
+ "plt.grid()\n",
+ "plt.show()"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3",
+ "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.6.5"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 1
+}