{ "cells": [ { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "# The HFM library - A fast marching solver with adaptive stencils \n", "\n", "## Part : Algorithmic enhancements to the fast marching method\n", "## Chapter : Sensitivity analysis\n", "\n", "The present notebook is devoted to forward and reverse differentiation of the fast marching algorithm. We limit ourselves to isotropic fast marching, but more complex models are supported equally well, see the subsequent notebooks as well as the publication :\n", "\n", "* Jean-Marie Mirebeau and Johann Dreo, “Automatic differentiation of non-holonomic fast marching for computing most threatening trajectories under sensors surveillance,” Geometrical Science of Information conference, 2017. [link](https://hal.archives-ouvertes.fr/hal-01503607)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Limitations.** For the purposes of sensitivity analysis, we do avoid some enhancements of the fast marching method :\n", "* Second order enhancement of the numerical scheme. (Obtained by setting hfmInput['order']=2)\n", "* Time dependent speed functions.\n", "\n", "Indeed, if they were used, in the current implementation, then minor inaccuracies could arise in the the computed sensitivities." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "[**Summary**](Summary.ipynb) of volume Fast Marching Methods, this series of notebooks.\n", "\n", "[**Main summary**](../Summary.ipynb) of the Adaptive Grid Discretizations \n", "\tbook of notebooks, including the other volumes.\n", "\n", "# Table of contents\n", " * [1. Setting up the problem](#1.-Setting-up-the-problem)\n", " * [2. Forward differentiation](#2.-Forward-differentiation)\n", " * [2.1 Raw arguments](#2.1-Raw-arguments)\n", " * [2.2 Using automatic differentiation](#2.2-Using-automatic-differentiation)\n", " * [3. Reverse differentiation](#3.-Reverse-differentiation)\n", " * [3.1 Raw arguments](#3.1-Raw-arguments)\n", " * [3.2 Using automatic differentiation](#3.2-Using-automatic-differentiation)\n", " * [3.3 Caching data](#3.3-Caching-data)\n", " * [4. Gradient of the value function](#4.-Gradient-of-the-value-function)\n", " * [4.1 Relation with the geodesic flow](#4.1-Relation-with-the-geodesic-flow)\n", " * [4.2 Centered and upwind scheme](#4.2-Centered-and-upwind-scheme)\n", " * [4.3 Forward differentiation](#4.3-Forward-differentiation)\n", " * [4.4 Reverse differentiation](#4.4-Reverse-differentiation)\n", " * [5. An optimization problem : finding the cost function which maximizes distance](#5.-An-optimization-problem-:-finding-the-cost-function-which-maximizes-distance)\n", " * [6. Sensitivity at multiple points, possibly weighted](#6.-Sensitivity-at-multiple-points,-possibly-weighted)\n", " * [6.1 Raw arguments](#6.1-Raw-arguments)\n", " * [6.2 Using automatic differentiation](#6.2-Using-automatic-differentiation)\n", "\n", "\n", "\n", "This Python® notebook is intended as documentation and testing for the [HamiltonFastMarching (HFM) library](https://github.com/mirebeau/HamiltonFastMarching), which also has interfaces to the Matlab® and Mathematica® languages. \n", "More information on the HFM library in the manuscript:\n", "* Jean-Marie Mirebeau, Jorg Portegies, \"Hamiltonian Fast Marching: A numerical solver for anisotropic and non-holonomic eikonal PDEs\", 2019 [(link)](https://hal.archives-ouvertes.fr/hal-01778322)\n", "\n", "Copyright Jean-Marie Mirebeau, University Paris-Sud, CNRS, University Paris-Saclay" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 0. Importing the required libraries" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:03.230760Z", "iopub.status.busy": "2024-04-30T08:59:03.228703Z", "iopub.status.idle": "2024-04-30T08:59:03.243452Z", "shell.execute_reply": "2024-04-30T08:59:03.242823Z" } }, "outputs": [], "source": [ "import sys; sys.path.insert(0,\"..\") # Allow import of agd from parent directory (useless if conda package installed)\n", "#from Miscellaneous import TocTools; print(TocTools.displayTOC('Sensitivity','FMM'))" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:03.247243Z", "iopub.status.busy": "2024-04-30T08:59:03.246908Z", "iopub.status.idle": "2024-04-30T08:59:03.505478Z", "shell.execute_reply": "2024-04-30T08:59:03.505159Z" } }, "outputs": [], "source": [ "from agd import Eikonal\n", "from agd import AutomaticDifferentiation as ad\n", "from agd import FiniteDifferences as fd\n", "from agd import Metrics\n", "from agd.Interpolation import UniformGridInterpolation\n", "from agd.Plotting import savefig; #savefig.dirName = 'Figures/Sensitivity'\n", "norm_infinity = ad.Optimization.norm_infinity" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:03.507198Z", "iopub.status.busy": "2024-04-30T08:59:03.507084Z", "iopub.status.idle": "2024-04-30T08:59:03.595587Z", "shell.execute_reply": "2024-04-30T08:59:03.595266Z" } }, "outputs": [], "source": [ "import numpy as np\n", "%matplotlib inline\n", "import matplotlib.pyplot as plt\n", "import scipy.optimize" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:03.597214Z", "iopub.status.busy": "2024-04-30T08:59:03.597112Z", "iopub.status.idle": "2024-04-30T08:59:03.599120Z", "shell.execute_reply": "2024-04-30T08:59:03.598887Z" } }, "outputs": [], "source": [ "def ReloadPackages():\n", " from Miscellaneous.rreload import rreload\n", " global Eikonal,ad,fd,Metrics\n", " Eikonal,ad,fd,Metrics = rreload([Eikonal,ad,fd,Metrics],rootdir=\"../..\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1. Setting up the problem\n", "\n", "We choose as a start to set up a same problem as considered in the [first notebook](http://nbviewer.jupyter.org/urls/rawgithub.com/Mirebeau/HFM_Python_Notebooks/master/A1_Isotropic.ipynb): a path planning problem involving an isotropic cost, on a two dimensional domain with obstacles.\n", "More precisely, we compute the unique viscosity solution $u: \\overline \\Omega \\to ]-\\infty,\\infty]$ to an eikonal equation\n", "\\begin{align*}\n", "\\forall x \\in \\Omega, \\|\\nabla u(x)\\| &= c(x), &\n", "\\forall x \\in \\partial \\Omega, u(x) &= \\sigma(x).\n", "\\end{align*}\n", "This PDE solution is known to solve the following optimal control problem\n", "\\begin{equation*}\n", " u(x) = \\min_{\\substack{\\gamma(0) \\in \\partial \\Omega\\\\ \\gamma(1)=x}} \\sigma(\\gamma(0))+ \\int_0^1 c(\\gamma(t)), \\|\\gamma'(t)\\| \\,\\mathrm dt\n", "\\end{equation*}\n", "and the minimal paths $\\gamma:[0,1] \\to \\overline \\Omega$ can be efficiently backtracked." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Choice of the numerical scheme.** At this point, we need to mention that there exists two consistent discretizations of the eikonal equation, namely:\n", "$$\n", " \\|\\nabla u(x)\\|^2 \n", " \\approx h^{-2} \\sum_{1\\leq i \\leq d} \\max \\{0,u(x)-u(x-h e_i), u(x)-u(x+h e_i)\\}^2, \n", "$$\n", "and \n", "$$\n", " \\|\\nabla u(x)\\|^2 \n", " \\approx h^{-2} \\sum_{1\\leq i \\leq d} \\sum_{s \\in \\{-1,1\\}} \\max \\{0,u(x)-u(x- h s e_i)\\}^2,\n", "$$\n", "where $h$ denotes the gridscale, and $(e_1,\\cdots,e_d)$ is the canonical basis of $\\mathbb R^d$.\n", "\n", "* The first implementation (left), referred to as 'Isotropic2', is usually preferred since it is more accurate at points were the solution $u$ looses differentiability, e.g. near the cut locus (the points reached by two minimal geodesics). \n", "\n", "* The second implementation, referred to as 'IsotropicDiff2', has the advantage of being continuously differentiable w.r.t. the values of $u$, and is thus better behaved when it comes to automatic differentiation." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:03.600488Z", "iopub.status.busy": "2024-04-30T08:59:03.600389Z", "iopub.status.idle": "2024-04-30T08:59:03.602091Z", "shell.execute_reply": "2024-04-30T08:59:03.601853Z" } }, "outputs": [], "source": [ "hfmIn = Eikonal.dictIn()\n", "hfmIn['model']='Isotropic2' # Alternatively 'IsotropicDiff2'" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Before turning to sensitivity analysis, let us recall how the software is run and its output displayed." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:03.603377Z", "iopub.status.busy": "2024-04-30T08:59:03.603301Z", "iopub.status.idle": "2024-04-30T08:59:03.606706Z", "shell.execute_reply": "2024-04-30T08:59:03.606442Z" } }, "outputs": [], "source": [ "# Define the domain\n", "hfmIn.SetRect(sides=[[-1,1],[0,1]],gridScale=1./100.)\n", "\n", "# Set up the boundary conditions\n", "hfmIn['seeds']=[[-0.5,0.3],[0.5,0.8]] # Seed position\n", "hfmIn['seedValues']=[0.,0.5] # Boundary condition imposed at the seed. Defaults to $[0.,0.]$.\n", "\n", "# Define the speed function\n", "X,Y = hfmIn.Grid() # Create a coordinate system\n", "hfmIn['cost'] = np.exp(-0.5*(X**2+Y**2)) # Define the cost function\n", "\n", "# Insert the obstacles\n", "disk = (X-0.3)**2 + (Y-0.3)**2 <= 0.2**2\n", "barrier = np.logical_and(X==X[70,0], Y>=0.4)\n", "walls = np.logical_or(disk,barrier) \n", "hfmIn['walls']= walls\n", "\n", "# Request the desired outputs\n", "hfmIn['exportValues']=1. # Ask for the PDE solution\n", "hfmIn['tips'] = [[0.,0.6],[-0.9,0.5],[0.8,0.8]] # Ask for the geodesics from these three points" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:03.608078Z", "iopub.status.busy": "2024-04-30T08:59:03.607995Z", "iopub.status.idle": "2024-04-30T08:59:03.625110Z", "shell.execute_reply": "2024-04-30T08:59:03.624732Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Field verbosity defaults to 1\n", "Field order defaults to 1\n", "Field seedRadius defaults to 0\n", "Fast marching solver completed in 0.003074 s.\n", "Field geodesicSolver defaults to Discrete\n", "Field geodesicStep defaults to 0.25\n", "Field geodesicWeightThreshold defaults to 0.001\n", "Field geodesicVolumeBound defaults to 8.45\n" ] } ], "source": [ "hfmOut = hfmIn.Run()" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:03.626821Z", "iopub.status.busy": "2024-04-30T08:59:03.626690Z", "iopub.status.idle": "2024-04-30T08:59:03.719323Z", "shell.execute_reply": "2024-04-30T08:59:03.719006Z" } }, "outputs": [ { "data": { "image/png": "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y5GamopOnTph9+7deOONN+y+10FISAjmz5+PSZMmYfDgwXj44YcRExODo0ePYu/evfj3v/8NAHjvvfcwbNgwDBkyBBMnTkR8fDwuXryIgwcPYs+ePfjss88a3MaIESOwYMECjB07Fo888ghKS0vx5ptvmgUbWzz//PP46quvMHDgQMyePRtBQUFYuHAhKisr7V6nnDl6H3fs2BH/93//h/nz50OpVGLgwIHYv38/5s+fD7VaDR+fP79Pvfjii9i0aRN69+6NqVOnon379qiqqsLJkyexfv16LF68GAkJCRg/fjwWLlyICRMm4OTJk7jhhhuwbds2vPLKKxg+fLjx9Z+ZmYl+/frhr3/9KyorK9GtWzds377dYrh5++23cfPNN6Nv3774y1/+gqSkJFRUVODo0aP4+uuvsXnzZgDAqFGjjPcPiYqKwqlTp/DWW28hMTERKSkpFveBNe+N3377DY8//jjuvfdepKSkQKVSYfPmzfjtt98wY8YMu/Y9uYl7xzSS3BhGIRt+VCqViI6OFv379xevvPKKKC4uNlum/lUGubm54s477xSJiYnC399fREREiP79+4uvvvrKZLnvvvtOdOnSRfj7+5uM6r506ZLIysoS0dHRIigoSNx8881i69atZiPHDaPgP/vsM5P1njhxQgAQy5YtM5m+fv160b9/fxEcHCyCgoJEhw4dxGuvvWYyz969e8Xo0aNFdHS08PPzEy1bthQDBw4UixcvbnLfLV26VLRv3174+/uLtm3binnz5oklS5aYXRGQmJgoRowYYba8pZHx27dvFz179hT+/v6iZcuW4tlnnxXvv/++1VcZBAcHW9xOx44dzabXL1dDVxlYWmf914AQDV9lUP8KFsOyFy5caLL81u5ja64yEEKIqqoqMX36dBEdHS0CAgJEz549RW5urlCr1SZXtAhRe2XM1KlTRZs2bYSfn58IDw8XGRkZYtasWeLKlSvG+UpLS8WUKVNEbGys8PX1FYmJiWLmzJmiqqrKZH2XL18WDz30kAgLCxNBQUHi1ltvFYcOHbJ49c2JEyfEQw89JOLj44Wfn5+IiooSvXv3Fi+99JJxnvnz54vevXuLyMhIoVKpROvWrUVWVpY4efKk2TGo/9pp7L1x/vx5MXHiRJGamiqCg4NFSEiI6NSpk/jnP/8ptFptk/uYpEMhhJ137CAi8kI5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HRN5eXniwQcfFL6+vibB0R1sres///lP8eWXX4ojR46Iffv2iRkzZggA4vPPPzfO4wnH1OCBBx4QPXr0sLhOqR5TZ2AgcJHS0lJx//33ixYtWogWLVqI+++/3+ySHgBi2bJlJtPee+89ERgYaPE69IKCAtGvXz8RHh4uVCqVSE5OFlOnTjW7ft/VbK3r1atXRWZmpoiKihJ+fn6idevWYsKECaKgoMBkmWvXronHH39chIeHi8DAQDFy5EizeVzJ1nqeOHFCALD4s2XLFiGEdI7pwoULRWJiolCpVKJr164mvRMTJkwQ/fv3N5n/hx9+EF26dBEqlUokJSVZDLCfffaZaN++vfDz8xOpqakmjYu72FLP/v37Wzx2EyZMMM4zbdo00bp1a6FSqURUVJTIzMwUOTk5LqxRw2yp62uvvSaSk5NFQECAuO6668TNN98s1q1bZ7ZOuR9TIWp7HwMDA8X7779vcX1SPqaOxscfExEREW9dTERERAwEREREBAYCIiIiAgMBERERgYGAiIiIwEBAREREYCAgIiIiMBAQERERGAiIiIgIDAREREQEBgIiIiICAwEREREB+H/csH35Y0QhJwAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=[6,3]); plt.title('Distance and minimal geodesics'); plt.axis('equal'); \n", "for geo in hfmOut['geodesics']: plt.plot(*geo) \n", "plt.contourf(X,Y,hfmOut['values'],cmap='Greys');" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "## 2. Forward differentiation\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In this section, we differentiate the front arrival times $u : \\Omega \\to ]-\\infty,\\infty[$ w.r.t variations in the cost function $c : \\Omega \\to ]0,\\infty[$, and in the boundary conditions $\\sigma : \\Omega\\to ]-\\infty,\\infty[$.\n", "More precisely, denote by $u[c,\\sigma] : \\Omega \\to ]-\\infty,\\infty[$, the solution to the eikonal equation\n", "\\begin{align*}\n", " \\forall x \\in \\Omega, \\| \\nabla u[c,\\sigma](x) \\| &= c(x) &\n", " \\forall x \\in \\partial \\Omega, u[c,\\sigma](x) &= \\sigma(x).\n", "\\end{align*}\n", "\n", "Consider perturbation fields $\\xi : \\Omega \\to \\mathbb R$ and $\\zeta : \\partial \\Omega \\to \\mathbb R$. Forward differentiation allows to compute the first term $\\nu : \\Omega \\to \\mathbb R$ in the Taylor expansion of the distance function, if it exists. In other words\n", "\\begin{equation*}\n", "\\mu(x) := \\frac d {d \\varepsilon} u[c+ \\varepsilon \\xi, \\sigma+ \\varepsilon \\zeta] (x)\n", "\\end{equation*}\n", "\n", "These features are implemented in the HFM library, and can be accessed in two ways:\n", "- raw arguments, where the perturbation fields $\\xi$, $\\zeta$ and $\\mu$ discussed above are directly manipulated (under different names).\n", "- interface with the AutomaticDifferentiation module of the agd library.\n", "\n", "The first approach is more explicit and possibly pedagogical, yet the second approach is expected to be more convenient in practice." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 2.1 Raw arguments\n", "\n", "We show how the perturbation to the cost function, and to the seed values, can be provided to the HFM library by raw explicit arguments." ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:03.720895Z", "iopub.status.busy": "2024-04-30T08:59:03.720785Z", "iopub.status.idle": "2024-04-30T08:59:03.723088Z", "shell.execute_reply": "2024-04-30T08:59:03.722826Z" } }, "outputs": [], "source": [ "cost = hfmIn['cost']\n", "seedValues = hfmIn['seedValues']\n", "\n", "# Define the cost perturbation(s), above named xi. We actually define three perturbations, \n", "# xi_0 (on the right side of the domain only), xi_1 (on the left side only), and xi_2 (no perturbation)\n", "hfmIn['costVariation']= np.stack([(X>0.)*cost, (X<=0.)*cost, 0.*X],2) \n", "\n", "# Define the boundary condition perturbation(s), above named zeta. \n", "# Again, similarly define three perturbation, zeta_0 (no perturbation), zeta_1 (no perturbation), and zeta_2.\n", "hfmIn['seedValueVariation']= [[0,0],[0,0],seedValues]" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:03.724525Z", "iopub.status.busy": "2024-04-30T08:59:03.724422Z", "iopub.status.idle": "2024-04-30T08:59:03.746384Z", "shell.execute_reply": "2024-04-30T08:59:03.746064Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Field verbosity defaults to 1\n", "Field order defaults to 1\n", "Field seedRadius defaults to 0\n", "Fast marching solver completed in 0.003026 s.\n", "Field geodesicSolver defaults to Discrete\n", "Field geodesicStep defaults to 0.25\n", "Field geodesicWeightThreshold defaults to 0.001\n", "Field geodesicVolumeBound defaults to 8.45\n" ] } ], "source": [ "hfmOut = hfmIn.Run()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The following cell shows the effect $\\mu_0$ of the first perturbation $(\\xi_0,\\zeta_0)$. Since $\\xi_0$ is positive in the right side of the domain $\\{x>0\\}$, the perturbation increases the cost function there, hence also the value function. Therefore $\\mu_0>0$ where $\\{x>0\\}$, as can be observed numerically. On the other hand $\\zeta_0=0$, which means that boundary conditions, in other words the seed values, are untouched." ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:03.747931Z", "iopub.status.busy": "2024-04-30T08:59:03.747821Z", "iopub.status.idle": "2024-04-30T08:59:03.888937Z", "shell.execute_reply": "2024-04-30T08:59:03.888628Z" } }, "outputs": [ { "data": { "image/png": "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fft29fOWXu9NqVsIgS1btiAqKgoODg4N9m2JdU4WxDy76q2f6mCsH374Qd32/fffG3ww1syZM7WOqNbn1KlTAoDGBf2boqm1q5SVlQm5XC7+8Y9/CCH+ewBcRkaGus+VK1ea/QA4qXUrlUoxceJE8eCDD4rS0lKD3qup6/zRRx8VL774okZbQEBAgwfABQQEaLTFxMRoHQAXERGh0efxxx9vkQPgpNQuhBAff/yxUCgUYs+ePQa9R11dnQgODhazZs1qSqlajKm9vqefflqMGDFC/dwU693YulUH8J06darR92ipdU6WgWHeBI8//rjo16+fyM3NFbm5uaJv375ap0n17t1b7N69W6OtvLxctGvXTufdc3799VexcuVKcfToUVFQUCD27dsn/P39Rf/+/Zvt9C5jaq+srBR/+9vfRE5OjigoKBCHDh0SISEhonv37qKiokI9TUxMjPDy8hJfffWVOH78uBg5cmSzn5ompe47d+6I8ePHCy8vL3HixAmNU3Sqq6uFEC2zzlWnGm3evFmcPn1aLFq0SLRv3159tHF8fLyIiopS91edmrZ48WJx+vRpsXnzZq1T07777jtha2sr3njjDXHmzBnxxhtvtOipaYbW/vHHHws7Ozvx/vvv6z21LykpSezfv1+cP39e5Ofni1mzZgk7OzuNL2bmqP2dd94Re/bsEb/88ov46aefRHx8vACgcdcqU6x3qXWrPPvss2LgwIE652mqdU6WgWHeBNevXxfTp08XTk5OwsnJSUyfPl3rFBcAYuvWrRptGzduFI6OjjrPYy4sLBTDhg0TnTt3Fg4ODqJnz55iwYIFWudzm7r2P/74Q4SHhws3Nzdhb28vfHx8xMyZM0VhYaHGNH/++aeYN2+e6Ny5s3B0dBRPPvmkVh9T1l1QUCAA6HwcOnRICNFy69xSb5XY3LUPHz5c5/qdOXOmus+iRYuEj4+PcHBwEG5ubiI8PFzk5OSYvfY333xT9OzZUygUCtGpUycxdOhQsW/fPq15mmK9S/283Lx5Uzg6OopNmzbpnJ8p1zmZH2+BSkREZOV4njkREZGVY5gTERFZOYY5ERGRlWOYExERWTmGORERkZVjmBMREVk5hjkREZGVY5gTERFZOYY5ERGRlWOYExERWTmGORERkZVjmBMREVm5/wd1Sl4rsrmBLgAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=[6,3]); plt.title(r'Value variation $\\mu$, cost perturbed on the right.'); plt.axis('equal'); \n", "# The field 'valueVariation' is denoted mu in the above mathematical expression.\n", "plt.contourf(X,Y,hfmOut['values'].gradient(0)) \n", "plt.axis('equal');plt.colorbar();" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The following cell shows the effect $\\mu_1$ of the second perturbation $(\\xi_1,\\zeta_1)$. Since $\\xi_1$ is positive on the left side of the domain $\\{x\\leq 0\\}$, the perturbation increases the cost function there, hence also the value function $u$. Therefore $\\mu_1>0$ where $\\{x \\leq 0\\}$, as can be observed numerically.\n", "\n", "However, one can note that $\\mu_1>0$ on part of the right side of the domain $\\{x>0\\}$ as well. That is because the corresponding minimal paths come from the left part of the domain, hence they see their cost increased by the perturbation." ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:03.890493Z", "iopub.status.busy": "2024-04-30T08:59:03.890386Z", "iopub.status.idle": "2024-04-30T08:59:03.984458Z", "shell.execute_reply": "2024-04-30T08:59:03.984169Z" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAeoAAAEpCAYAAABcEWEgAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAABG50lEQVR4nO3de1xUdf4/8Be3GVABUxBBrmkKSprBqmBkamKY3TcxW/CCfWOpDMm+X1gfCbptdnFdukG5iWyruXxN/W5trMWWGoW1itjWol28BCqIUAKWMgKf3x/+ZpZhZmDOMJdzZl7Px2MeDzmcy/scxnnN53M+5xw3IYQAERERyZK7owsgIiIi0xjUREREMsagJiIikjEGNRERkYwxqImIiGSMQU1ERCRjDGoiIiIZY1ATERHJGIOaiIhIxhjUREREMsagJiIikjFFBfU999wDHx8fXLhwweQ8Dz74ILy8vHDu3Dmz11taWgo3NzecOnVq4EXK2ED2s6qqCgUFBQbH3lWOna2YOq5yYev6CgoK4ObmhubmZpusv/d25KKv42qvYzLQ/7tlZWWYMGECfHx84ObmhiNHjsj+/axUigrqjIwMXL58GW+99ZbR37e2tmL37t2YP38+goKC7Fyd/N1+++04cOAAgoODJS9bVVWFtWvXGvwHHMg6yfRxlQu516dUSj+u58+fR1paGkaPHo09e/bgwIEDGDt2rOL3S648HV2AFCkpKQgJCUFJSQmysrIMfr99+3ZcunQJGRkZDqhOvn7++WcMGjQIgYGBCAwMtOq6bbFOcjzte0ap6yfb+uabb3DlyhX86le/wowZMxxdjvMTCpOXlycAiH/9618Gv5syZYoIDg4WnZ2dQgghvv32W7FkyRIxZswY4ePjI0JCQsT8+fMNlt2yZYsAIE6ePKmbtnjxYhEREWGwjfz8fNH7sH3zzTfigQceEIGBgUKlUono6Gjxyiuv9Lsvu3fvFgDEP/7xD4PfFRUVCQDiiy++kLQv2vqqq6vFfffdJ4YOHSpGjhxpdD+lrrP3a+/evUaPnRBCVFZWilmzZokhQ4YIHx8fkZCQIP72t78ZXe9XX30lFi5cKPz8/MSIESPE0qVLxYULF/o9fkIIERkZKdLT0w2mz5w5U9x8881mraO3o0ePioULF4oRI0YIlUolwsLCRFpamrh8+bKk/WtqahIPPfSQCA0NFSqVSgQEBIjExERRUVGht//Gjqsp2mUOHz4s7rnnHuHr6yv8/PzEgw8+KJqamgzmN+e9aeo901d9Uv5/9PWelLI/5v4/+9vf/iYmTZokVCqViIyMFC+88ILRukyx9Xu3v7+7lHVb+tkjhPHPPXPWuXjxYoPaZ8yYYdH7mcyjqBY1ACxbtgzPPvssSkpK8Ic//EE3vba2Fv/85z+Rm5sLDw8PAMDZs2cxfPhwPPvsswgMDMQPP/yAP/3pT5g6dSpqamowbty4AddTW1uLxMREhIeH4/e//z1GjhyJ999/HytWrEBzczPy8/NNLjt//nyMGDECW7ZswezZs/V+V1paihtvvBETJ060aF/uvfdeLFy4EJmZmfjpp5+Mbt/cdS5fvhw//PADXn75ZezatUvXzT1+/Hij57f279+POXPmYOLEidi8eTPUajWKiopwxx13YPv27UhNTdWb/7777kNqaioyMjLw5ZdfIi8vDwBQUlLSx5EHWlpacOrUKeTk5OhNF0Lg8OHDWLZsWZ/LG/PFF1/gpptuQkBAANatW4frrrsODQ0NeOedd6DRaKBWq83ev7S0NBw+fBi/+93vMHbsWFy4cAGHDx9GS0tLv8e1P/fccw8WLFiAzMxM/Pvf/8ZTTz2F2tpafP755/Dy8gIg/b3Z+z0TFxdnsr7S0lLJx7av92R/+2Puvnz44Ye46667kJCQgL/85S/o6urC888/b/aYFXu8d839u/e37oF89phizjqfeuopTJkyBY888gieeeYZzJw5E35+fvDz87P4/Uz9cPQ3BUvMmDFDBAQECI1Go5v2xBNPCADim2++MblcZ2en0Gg04rrrrhMrV67UTR9Ii3ru3LkiNDRUtLa26s336KOPCm9vb/HDDz/0uS85OTnCx8dH75tybW2tACBefvllyfuirW/NmjUGy5j6Bt3fOoUQ4oUXXjC6rLF1Tps2TYwYMUK0t7frrTs2NlaEhoaK7u5uvVqff/55vXVmZWUJb29v3Xym7NmzRwAQVVVVetO//vprAUBs3bq1z+WNmTVrlhg6dKjR1qmWufs3ZMgQkZ2d3ef2TB1XU7THrPffZ9u2bQb7bO57s6/3jKn6LGlRG1u/uftj7r5MnTpVhISEiEuXLunmaWtrE8OGDTOrRW2v925ff3dz1z3Qzx5j/3fNXefevXsFALFjxw6z94ssp6jBZFoZGRlobm7GO++8AwDo7OzE1q1bkZSUhOuuu043X2dnJ5555hmMHz8eKpUKnp6eUKlU+Pbbb3H06NEB13H58mV8+OGHuOeeezBo0CB0dnbqXvPmzcPly5fx2Wef9bmOZcuW4dKlSygrK9NN27JlC9RqNRYtWmTxvtx333391m+L4/PTTz/h888/xy9/+UsMGTJEN93DwwNpaWk4ffo0vv76a71l7rzzTr2fJ06ciMuXL6OpqanPbR08eBCenp644YYb9KZXV1cDAOLi4iTV/vPPP2P//v1YsGCByfPuUvZvypQpKC0txdNPP43PPvsMV65ckVRPXx588EG9nxcsWABPT0/s3bsXgGXvTXPeMwPR1/r72h9z9+Wnn37CwYMHce+998Lb21u3Ll9fX9xxxx391mfP9645+lq3NT57erPFOsk6FBnUv/zlL+Hv748tW7YAAMrLy3Hu3DmDQWQ5OTl46qmncPfdd+Pdd9/F559/joMHD2LSpEm4dOnSgOtoaWlBZ2cnXn75ZXh5eem95s2bBwD9XmIxYcIE/OIXv9DtS1dXF7Zu3Yq77roLw4YNs3hfzBmFbYvj8+OPP0IIYXT7ISEhAKDr+tUaPny43s9qtRoA+q3h0KFDGD9+PHx8fAymDxkyBGPHjpVce1dXF0JDQ/ucx9z9Kysrw+LFi/HGG28gISEBw4YNQ3p6OhobGyXVZczIkSP1fvb09MTw4cN127bkvWnrkft9rb+v/TF3X3788Ud0d3cbrMvY+o2x53vXHH2t2xqfPb3ZYp1kHYo7Rw0APj4+eOCBB/DHP/4RDQ0NKCkpga+vL+6//369+bZu3Yr09HQ888wzetObm5sxdOjQPrfh7e2Njo4Og+k936jXXHON7tv2I488YnQ9UVFR/e7P0qVLkZWVhaNHj+LEiRNoaGjA0qVLB7Qv5lwzOpDjY8o111wDd3d3NDQ0GPzu7NmzAICAgACL1t3boUOHMGfOHIPp+/btw+TJk+HuLu176LBhw+Dh4YHTp0+bnEfK/gUEBKCwsBCFhYWoq6vDO++8g9zcXDQ1NWHPnj2SauutsbERo0aN0v3c2dmJlpYW3Ye7Je9NKdcZm/P/o7e+1t/X/pi7L97e3nBzczP6RcicL0f2fO8OlLU+e2y9TrIORQY1cLX7+7XXXsMLL7yA8vJyLFmyxOByDzc3N923UK333nsPZ86cwZgxY/pcf2RkJJqamnDu3DndNdkajQbvv/++bp5BgwZh5syZqKmpwcSJE6FSqSzalwceeAA5OTkoLS3FiRMnMGrUKCQnJ1ttX0yRsk5zWwqDBw/G1KlTsWvXLmzYsEHX2u3u7sbWrVsRGhoquaVrTGNjI86cOQNPT/238P79+3H48GFkZ2dLXqePjw9mzJiBHTt24He/+53RD2VL9y88PByPPvooPvzwQ3z66ae66Za2wLZt26bXtf+///u/6OzsxC233ALAeu9NU/WZ8/9Dir72R8q+TJkyBbt27cILL7yg6/5ub2/Hu+++228N9nrvAgNveVvr72vtdVqzR4H+Q7FBHR8fj4kTJ6KwsBBCCKPXTs+fPx+lpaWIjo7GxIkTUV1djRdeeKHPrk2t1NRUrFmzBgsXLsSTTz6Jy5cv46WXXkJXV5fefC+++CJuuukmJCUl4de//jUiIyPR3t6O7777Du+++y4++uijfrc1dOhQ3HPPPSgtLcWFCxewatUqg9bgQPbFFCnrvP7663X7u3jxYnh5eZkcNb9+/XrMmTMHM2fOxKpVq6BSqVBUVISvvvoK27dvt8odog4ePAgA2LFjB8aPH48xY8bgyJEjePXVVwEATU1N+OqrrxAbGwvg6peSGTNmYN++fX2ud+PGjbjpppswdepU5ObmYsyYMTh37hzeeecdvP766/D19TVr/1pbWzFz5kwsWrQI0dHR8PX1xcGDB7Fnzx7ce++9uu2ZOq6+vr591rlr1y54enpizpw5ulHSkyZNwoIFC3TzWOO9aao+c/9/mKu//TF3X37729/itttuw5w5c/DEE0+gq6sLzz33HAYPHowffvih3zrs8d4FLP+792SNv6+112lqvw4fPozZs2djzZo1WLNmjeS6XJ5jx7INzIsvvigAiPHjxxv9/Y8//igyMjLEiBEjxKBBg8RNN90kKisrxYwZM8SMGTN085kaDV1eXi5uuOEG4ePjI6699lrxyiuvGB3VevLkSbFs2TIxatQo4eXlJQIDA0ViYqJ4+umnzd6XDz74QHfdobGR6+bui7a+8+fPG6yj936au06tvLw8ERISItzd3c2+jnrw4MHCx8dHTJs2Tbz77rt685iqtb/R6UIIsWbNGuHp6Sl27NghIiMjhbe3t7jlllvE559/LsaMGSOCg4N1o8Hb29sFALFw4UKT6+uptrZW3H///WL48OFCpVKJ8PBwsWTJEqPXUZvav8uXL4vMzEwxceJE4efnJ3x8fMS4ceNEfn6++Omnn/o9rqb0vCb5jjvuEEOGDBG+vr7igQceEOfOnTOY35z3Zl/vmb7qM/f/R1/rl7I/5v4/e+edd8TEiRN1f7tnn33WouuobfXe1TJ1XKWseyCfPaZqNWedpkZ9m9ov7fz5+fn91kWG3IQQwi7fCIisaN68eWhsbMThw4f7nbe8vBzz58/HF198ofvGr1QFBQVYu3Ytzp8/L5vzpURkW4oc9U1UXV2NKVOmmDXv3r17sXDhQsWHNBG5JsWeoybXVVdXh6amJrOD+oUXXrBxRUREtsOubyIiIhlj1zcREZGZioqKdNftx8XFobKyss/5t23bhkmTJmHQoEEIDg7G0qVLDW6c0x8GNRERkRnKysqQnZ2N1atXo6amBklJSUhJSUFdXZ3R+T/55BOkp6cjIyMD//73v7Fjxw4cPHgQy5cvl7Rddn0TERGZYerUqbjxxhtRXFysmxYTE4O7774b69evN5h/w4YNKC4uxvHjx3XTXn75ZTz//POor683e7uKGEzW3d2Ns2fPwtfX12o3HCAiIvsTQqC9vR0hISGSb/NrjsuXL0Oj0Uiqp3euqNVqg7s2ajQaVFdXIzc3V296cnIyqqqqjK47MTERq1evRnl5OVJSUtDU1IS3334bt99+u9n1aYuUvfr6eqMPJOeLL7744kuZr/r6eqtnxaVLl0RgoLukOoYMGWIwzdiNWc6cOSMAiE8//VRv+u9+9zsxduxYkzXt2LFDDBkyRHh6egoA4s4779R7RLM5FNGi1t5Wr76+Hn5+fg6uhoiILNXW1oawsDBJt0s1l0ajwfnz3dj3+QgMGdJ/7+vFiwK3TG0yyJberemeere+hZEWuVZtbS1WrFiBNWvWYO7cuWhoaMCTTz6JzMxMbN682cy9UkjXt/Yg+Pn5MaiJiJyALU9jDhnihiG+5nSrdwMwL1sCAgLg4eFh8CS2pqYm3YNpelu/fj2mT5+OJ598EsDVZ4oPHjwYSUlJePrpp81+tCxHfRMREfVDpVIhLi4OFRUVetMrKiqQmJhodJmff/7Z4Dy8h4cHgKstcXMxqImIiMyQk5ODN954AyUlJTh69ChWrlyJuro6ZGZmAgDy8vKQnp6um/+OO+7Arl27UFxcjBMnTuDTTz/FihUrMGXKFISEhJi9XUV0fRMRETlaamoqWlpasG7dOjQ0NCA2Nhbl5eWIiIgAADQ0NOhdU71kyRK0t7fjlVdewRNPPIGhQ4di1qxZeO655yRtVxHXUbe1tcHf3x+tra08R01EpGC2/DzXrvvQv4PMOkd9sb0b8RPOyT5b2PVNREQkYwxqIiIiGWNQExERyRiDmoiISMYY1ERERDLGoCYiIpIxBjUREZGMMaiJiIhkjEFNREQkYwxqIiIiGWNQExERyZjkoP74449xxx13ICQkBG5ubvi///u/fpfZv38/4uLi4O3tjWuvvRavvfaaJbUSERG5HMlB/dNPP2HSpEl45ZVXzJr/5MmTmDdvHpKSklBTU4Pf/OY3WLFiBXbu3Cm5WCIiIlcj+TGXKSkpSElJMXv+1157DeHh4SgsLAQAxMTE4NChQ9iwYQPuu+8+qZsnIiJyKTY/R33gwAEkJyfrTZs7dy4OHTqEK1euGF2mo6MDbW1tei8iIiJXZPOgbmxsRFBQkN60oKAgdHZ2orm52egy69evh7+/v+4VFhZm6zKJiIhkSXLXtyXc3Nz0fhZCGJ2ulZeXh5ycHN3PbW1tCAsLw7x9q+E5WG27Qs1w6nSgQ7evRJGh562ynlOnAzG6tBvHl7jjofhKq6zTXn7pd9ii5d5uu9Gqdby5azauLfrOquskkqKzW+PoEhTH5kE9cuRINDY26k1ramqCp6cnhg8fbnQZtVoNtdqxgdwTw3lgTp0OtFpYK9XbbTdaHNZE5Nps3vWdkJCAiooKvWkffPAB4uPj4eXlZevND8ip04EMaSvRHktXPp5SW8fWbk0T0cAVFRUhKioK3t7eiIuLQ2Wl6d69JUuWwM3NzeA1YcIESduUHNQXL17EkSNHcOTIEQBXL786cuQI6urqAFzttk5PT9fNn5mZie+//x45OTk4evQoSkpKsHnzZqxatUrqpu2CgWJ7rnx832670awAZkgTyU9ZWRmys7OxevVq1NTUICkpCSkpKbr86+3FF19EQ0OD7lVfX49hw4bh/vvvl7RdyUF96NAhTJ48GZMnTwYA5OTkYPLkyVizZg0AoKGhQa/oqKgolJeXY9++fbjhhhvw29/+Fi+99JLsLs1y5fBwFFc+5n0FsS1DuiNcA010qM3WT+TMNm7ciIyMDCxfvhwxMTEoLCxEWFgYiouLjc7v7++PkSNH6l6HDh3Cjz/+iKVLl0raruRz1LfccotuMJgxpaWlBtNmzJiBw4fld37OVUNCbrR/B1c7j+2o89ato9XwRyhUx07bfdtEctT7EmBj46Q0Gg2qq6uRm5urNz05ORlVVVVmbWfz5s249dZbERERIak+u4z6lhsGtDy5YmBrW8/awLZ1l/dD8ZX4I5Lgf9ymmyFyqP9rnwRv0f8YqMsXrwD4wOAS4Pz8fBQUFOhNa25uRldXl9HLjXsPmDamoaEBf//73/HWW2/1O29vLhXUDGhlcOXAtoeH4ivxZt1sXHvMbpskkrX6+nr4+fnpfu7rqiNjlxubutS4p9LSUgwdOhR333235PpcIqgZ0MrkioFNRPbn5+enF9TGBAQEwMPDw+jlxr1b2b0JIVBSUoK0tDSoVCrJ9Tn1Yy5debCSM+HfkIgcTaVSIS4uzuBy44qKCiQmJva57P79+/Hdd98hIyPDom07ZYuaH+zOh39TInK0nJwcpKWlIT4+HgkJCdi0aRPq6uqQmZkJ4OrlyWfOnMGbb76pt9zmzZsxdepUxMbGWrRdpwtqfqATEZEtpKamoqWlBevWrUNDQwNiY2NRXl6uG8Xd+/JkAGhtbcXOnTvx4osvWrxdpwlqBjSR+bTXU/MSLSJpsrKykJWVZfR3xi5P9vf3x88//zygbSo+qBnQRNJFhp7H6VmjEMrrqYlkT9GDyRjSRJaZM/IYghPPoHW0fB5+Q0TGKbJFzYAmIiJXobgWNUOaiIhciaJa1HVnA+Du4+gqSA4qGqMNps0ZyVttEZHzUVRQE/WF4U1EzohBTU6td3gzuK/SHpf2CDf48zItIlljUJNL6RncrhraPY9BR7gGraPVCHTNQ0GkCAxqclmuGNq9exgiQ8+jIWIUW9VEMsagJsJ/AsxZA9vY+Xut4MQzaP0+hK1qIpliUBP14Iyt7L5CmojkT3HXUROp66Q/z9USFY3Rig85pddPRAxqon4pNbCVWDMRGWLXN5GZlHIe25KAbk66Av/jHFBGJEdsURNJJOeWqqW1RYaex/El7tBEh1q5IiIaKLaoXYyp87sd4Ro7V6Jscmxdy/kLBBFZjkHtBKwxuMqcdTDMDcklsBnSRM6LQa0g9hrtbO727R3cV7d/2a7bNFdFY7TDwpohTeTceI5axtR1Kr2X3Mi9PntzxOhwhjSRfRUVFSEqKgre3t6Ii4tDZWVln/N3dHRg9erViIiIgFqtxujRo1FSUiJpmxYFtdRCt23bhkmTJmHQoEEIDg7G0qVL0dLSYsmmnZ6Sg0/JtVuTPcLTVl8KWkerrb5OImdRVlaG7OxsrF69GjU1NUhKSkJKSgrq6upMLrNgwQJ8+OGH2Lx5M77++mts374d0dHS/u9KDmqphX7yySdIT09HRkYG/v3vf2PHjh04ePAgli9fLnXTTslZW6XOtj9S2bJ1bav1RoaeR3uEG0d+E5mwceNGZGRkYPny5YiJiUFhYSHCwsJQXFxsdP49e/Zg//79KC8vx6233orIyEhMmTIFiYmJkrYrOailFvrZZ58hMjISK1asQFRUFG666SY8/PDDOHTokNRNOxVXCTJn/BIihbVD1dat9eDEM2xVk8tpa2vTe3V0dBjMo9FoUF1djeTkZL3pycnJqKqqMrred955B/Hx8Xj++ecxatQojB07FqtWrcKlS5ck1SdpMJm20NzcXLMLTUxMxOrVq1FeXo6UlBQ0NTXh7bffxu233y6pUGfgqmGlpd1/Vxs9bq2BZvY6H82bn5DS7T03Fp4X+//C2flTB4APEBYWpjc9Pz8fBQUFetOam5vR1dWFoKAgvelBQUFobGw0uv4TJ07gk08+gbe3N3bv3o3m5mZkZWXhhx9+kHSeWlJQW1JoYmIitm3bhtTUVFy+fBmdnZ2488478fLLL5vcTkdHh943mra2Nillyo6rB3RvrhjYAw1rDhojsp36+nr4+fnpflarTYe8m5ub3s9CCINpWt3d3XBzc8O2bdvg7+8P4Gqv9C9/+Uu8+uqr8PHxMas+iwaTSSm0trYWK1aswJo1a1BdXY09e/bg5MmTyMzMNLn+9evXw9/fX/fq/W1HCVy9y9ccrnZ8LD1vbe+Qjgw9z+5vcil+fn56L2NBHRAQAA8PD4NGaVNTk0HjVSs4OBijRo3ShTQAxMTEQAiB06fN77GSFNSWFLp+/XpMnz4dTz75JCZOnIi5c+eiqKgIJSUlaGhoMLpMXl4eWltbda/6+nopZTqUq4WPNbjaMZMSvI5qSQ954CzO3z7aIdsmkiOVSoW4uDhUVFToTa+oqDA5OGz69Ok4e/YsLl68qJv2zTffwN3dHaGh5g/alBTUlhT6888/w91dfzMeHh4ArrbEjVGr1QbfcOTO1cLGFlzpGJoTwI7u7m6PMN5LRuSqcnJy8MYbb6CkpARHjx7FypUrUVdXp+shzsvLQ3p6um7+RYsWYfjw4Vi6dClqa2vx8ccf48knn8SyZcvM7vYGLLgzWU5ODtLS0hAfH4+EhARs2rTJoNAzZ87gzTffBADccccdeOihh1BcXIy5c+eioaEB2dnZmDJlCkJCQqRuXnZcJVjsSV2nconz132dt3Z0SBORodTUVLS0tGDdunVoaGhAbGwsysvLERERAQBoaGjQu1R5yJAhqKiowGOPPYb4+HgMHz4cCxYswNNPPy1pu5KDWmqhS5YsQXt7O1555RU88cQTGDp0KGbNmoXnnntO6qZlhyFtO64y4MxYWMsppDXRHP1N1FNWVhaysrKM/q60tNRgWnR0tEEvtFQW3etbaqGPPfYYHnvsMUs2JUsMaPtxhcDuGdZyCmlnPuZESsKHckjAgHYcZz/2cgporcjQ8zg9axRCwVY1kSPxoRxmcvagIDImOPEMTs/ydnQZRC6NLep+MKDl6dTpQKPTI0PP27kSIiLbYlD3gSGtPL0DnMFNRErHoDaCAe08GNwDF5x4BicwBtcWfefoUohcEs9R98KQdm6nTgea7DYn04ITz/BOZUQOwhZ1Dwxp19EzrNnKJiI5Y1CDAe3qtKHNwO5be4Qb2BdBZH8u3/XNkCYtdov3LTjxDE5kjXF0GUQux6WDmiFNxjCwTeO5aiL7c9mgZkhTfxjWRCQHLhnUDGkyF1vXhtoj3KCJNv9ZukQ0MC4X1AxpsgTD+j+0txVlWBPZh8sEtbpOxZCmAWHr+j86wjVoHa12dBlELsElLs9iQPfN93thdHp7hJudK1GGU6cDeSkXEdmN0wc1Q9p0EFu6HAOcYQ1cfR/4R/MRmES25jJd367C93th8LL1NlyVq3eFd4RreK6aXE5RURGioqLg7e2NuLg4VFZWmpx33759cHNzM3gdO3ZM0jadukXtKq1pR4dlz+27YmubrWsi11BWVobs7GwUFRVh+vTpeP3115GSkoLa2lqEh4ebXO7rr7+Gn5+f7ufAQGlf8J22Re3sIS3XFq0ca7IHV21Zd4RrHF0Ckd1s3LgRGRkZWL58OWJiYlBYWIiwsDAUFxf3udyIESMwcuRI3cvDw0PSdp0yqJ01pOUazsbYuutdjlwlrHvvJ7u/yRVoNBpUV1cjOTlZb3pycjKqqqr6XHby5MkIDg7G7NmzsXfvXsnbdrqub2cMabkGk7m09btCt7gzd4Ob+iKivVQrUNppNyLZaGtr0/tZrVZDrda//LC5uRldXV0ICgrSmx4UFITGxkaj6w0ODsamTZsQFxeHjo4O/PnPf8bs2bOxb98+3HzzzWbX51RB7WwhrfSA7s1VAtuZwtrcXgKOACc5qTsbAHcf737n6750GQAQFhamNz0/Px8FBQVGl3Fz0//8EkIYTNMaN24cxo0bp/s5ISEB9fX12LBhg2sGtTOFtLMFdG+WBraSjouSw9qSLnyeqyYlq6+v1xvs1bs1DQABAQHw8PAwaD03NTUZtLL7Mm3aNGzdulVSfU5xjtpZQlop55+txdn3VWnnrAd6uRnPVZNS+fn56b2MBbVKpUJcXBwqKir0pldUVCAxMdHsbdXU1CA4OFhSfU7TolYyZw+svjh7d7jcW9bW/DLBc9Xk7HJycpCWlob4+HgkJCRg06ZNqKurQ2ZmJgAgLy8PZ86cwZtvvgkAKCwsRGRkJCZMmACNRoOtW7di586d2Llzp6TtKj6oldyaduWA7s33e8GwtiNbtfbbI9ygrH4EIvOlpqaipaUF69atQ0NDA2JjY1FeXo6IiAgAQENDA+rq6nTzazQarFq1CmfOnIGPjw8mTJiA9957D/PmzZO0XTchhOzToq2tDf7+/ggrLtAbIMCQdk6mAtv3ewH/4x1oHa1Gc9IVO1c1cHIIa3t0xwdUeiHwveM23w4pU2e3Bv9oegOtra1654WtwVRWmNJ96TLqf11gk1qsyaJz1FJuoQYAHR0dWL16NSIiIqBWqzF69GiUlJRYVLCWUkPa1c5DW8Kc46N9GlrvFxnSnnu21znz5qQrOH/7aLtsi8gVSO76tuQWagsWLMC5c+ewefNmjBkzBk1NTejs7Bxw8UrDgDafpV3hPcNabiOR7d0F7sjBbOwCJ7IeyUHd8xZqwNWT5e+//z6Ki4uxfv16g/n37NmD/fv348SJExg2bBgAIDIyckBFK7HlxJCWbqADzeQY2vYIa6WNNieivknq+rbkFmrvvPMO4uPj8fzzz2PUqFEYO3YsVq1ahUuXLpncTkdHB9ra2vReWkoLaXZ1D5w1jp+cusZtFaRyeppXR7iG3d9EViKpRW3JLdROnDiBTz75BN7e3ti9ezeam5uRlZWFH374weR56vXr12Pt2rVSSpMlBrT1WOtYasNaLi1sa5BLOPd2dcDfaA4sIxogiwaTSbmFWnd3N9zc3LBt2zZMmTIF8+bNw8aNG1FaWmqyVZ2Xl4fW1lbdq76+HgCgqpdHi8gcDGl5c3QLe6Dhau8BYpZqj3DjTVCIBkhSUFtyC7Xg4GCMGjUK/v7+umkxMTEQQuD0aeP3BVar1QZ3ilEShrRyKC2slRDOPWlvgsKwJrKcpKC25BZq06dPx9mzZ3Hx4kXdtG+++Qbu7u4IDXW+/7wMaeVxdOvaHEoL6J6UeM07kZxI7vrOycnBG2+8gZKSEhw9ehQrV640uIVaenq6bv5FixZh+PDhWLp0KWpra/Hxxx/jySefxLJly+Dj42O9PZEBhrSyOSKs+wtfJQd0T62jDe+dTETmkXx5ltRbqA0ZMgQVFRV47LHHEB8fj+HDh2PBggV4+umnrbcXMsCQdg7qOpXdB5oZu2TLGcK5p/YIN+B2DiwjsoRF9/rOyspCVlaW0d+VlpYaTIuOjjboLncmDGnn4oiw1nK2gNa6ejxVfGY1kQUU/1AOR2NIOyd7h7WzBnRPznRJHJE9OcXzqB2FIe3c5D7ATIlOz+r/QQlEpI8tags5Y0j7H+8wOt2VBwI5shvcGWnvWMZz1UTmY1BbwBlC2lQomzOvI4Nbdew0MNq+t6ZkWFsXB5YRScOglkipIS0lmKWsy1Va2wxr6+HAMiJpGNQSKDGkrRnQ/a3f2UObYW092juWBR5zdCVE8sfBZE7I/3iH7uWI7TozDjCzHt4HnMg8DGozKaE1LZeglEsdtsKwtg5tq5pISYqKihAVFQVvb2/ExcWhsrLSrOU+/fRTeHp64oYbbpC8TQa1GeQe0nINRrnWRfLRHuHG51aTYpSVlSE7OxurV69GTU0NkpKSkJKSonc3TmNaW1uRnp6O2bNnW7RdBrXCKSEIlVCjVGxVW0dHuIZd4KQYGzduREZGBpYvX46YmBgUFhYiLCwMxcXFfS738MMPY9GiRUhISLBouwzqfsi1Na201qrS6jUHw9p6+ChMkjuNRoPq6mokJyfrTU9OTkZVVZXJ5bZs2YLjx48jPz/f4m1z1Hcf5BzSSuV/vMMq5yV9vxdXr8clIhqgtrY2vZ/VajXUav3PqebmZnR1dSEoKEhvelBQEBobG42u99tvv0Vubi4qKyvh6Wl53DKoFUTJAd2TNcNay1GhzUu2DAVUekl8r17m9dRkVap6FTy8++/x6rrcDQAICwvTm56fn4+CggKjy7i56X/WCCEMpgFAV1cXFi1ahLVr12Ls2LFmVm4cg9oEubWmnSWktawV1lpyCG1XYqrb3/d7wTuOkeLU19fDz89P93Pv1jQABAQEwMPDw6D13NTUZNDKBoD29nYcOnQINTU1ePTRRwEA3d3dEELA09MTH3zwAWbNmmVWfQxqBXC2kNayNKz7W87e3eKu1qpW16kQ+tFlo79jy5iUyM/PTy+ojVGpVIiLi0NFRQXuuece3fSKigrcddddRtf55Zdf6k0rKirCRx99hLfffhtRUVFm18egNkJOrWlnDWkt7f5Z+3pa7d+QrWvr6NmCDv2IXdXkmnJycpCWlob4+HgkJCRg06ZNqKurQ2ZmJgAgLy8PZ86cwZtvvgl3d3fExsbqLT9ixAh4e3sbTO8Pg7oXhrRjWLsrXMterWtnblX3bkEzpMlVpaamoqWlBevWrUNDQwNiY2NRXl6OiIgIAEBDQ0O/11RbgkEtU64U0rbGEeKW04Y0w5noqqysLGRlZRn9XWlpaZ/LFhQUmByk1hdeR92DXFrTrhrSttxve/xtne26aoY0kTywRS0zrhrSWn11gQ/02LBlbZ6ASi8AgP9xhjSRHDCo/z85tKZdPaS1bHW+GrB9WCv9XPXo0m6ojvHyKiI5Yde3TDCk9Sm9G1yJroY0W9BEcsOgJtliWNsPQ5pIvhjUcPyHNlvTzkVpg8oY0kTyxqB2MIZ039iqti2GNJH8uXxQ88Na/vhlxjYY0kTKYFFQFxUVISoqCt7e3oiLi0NlZaVZy3366afw9PTEDTfcYMlmnY5cA0h17LTey5m56he1gEovp//bEjkLyUFdVlaG7OxsrF69GjU1NUhKSkJKSkq/t01rbW1Feno6Zs+ebXGxzkRuId1XMMshtOV2vPqjtPPURCRfkoN648aNyMjIwPLlyxETE4PCwkKEhYWhuLi4z+UefvhhLFq0CAkJCRYXa22u2prqSWoAOzqwbcHV3gfqOpXivvgQuTJJQa3RaFBdXY3k5GS96cnJyaiqqjK53JYtW3D8+HHk5+ebtZ2Ojg60tbXpvZyJHD4kBxq4jgpsTXSo3bfpTHhbUCLlkRTUzc3N6OrqMnhIdlBQkMHDtLW+/fZb5ObmYtu2bfD0NO9GaOvXr4e/v7/uFRYWJqVM6oO1A9YRH/i2umuZs2NIEymTRYPJ3Nz0b8EohDCYBgBdXV1YtGgR1q5di7Fjx5q9/ry8PLS2tupe9fX1lpQpS45sTdvqA9oZusOdvfubIU2kXJLu9R0QEAAPDw+D1nNTU5NBKxsA2tvbcejQIdTU1ODRRx8FAHR3d0MIAU9PT3zwwQeYNWuWwXJqtRpqtW1bTc7+wdybPT6gVcdOs2u6Bznd99v3e8GQJlIoSS1qlUqFuLg4VFRU6E2vqKhAYmKiwfx+fn748ssvceTIEd0rMzMT48aNw5EjRzB16tSBVa8wjmpN2/MD2h7bksM5fiIie5H89KycnBykpaUhPj4eCQkJ2LRpE+rq6pCZmQngarf1mTNn8Oabb8Ld3R2xsbF6y48YMQLe3t4G08k2HNGKYstaXq6O8r7s6DKIyEKSgzo1NRUtLS1Yt24dGhoaEBsbi/LyckRERAAAGhoa+r2mmuzDkV2dSgxrZ3xeNc9NEymfRYPJsrKycOrUKXR0dKC6uho333yz7nelpaXYt2+fyWULCgpw5MgRSzZrNY44P23v7lpn/2Bm97f5nP29QGRPUu7M+cknn2D69OkYPnw4fHx8EB0djT/84Q+Stym5RU3yJ5cPZiW2qomITNHembOoqAjTp0/H66+/jpSUFNTW1iI8PNxg/sGDB+PRRx/FxIkTMXjwYHzyySd4+OGHMXjwYPzXf/2X2dt1+YdykG3J5UsDEdFASb0z5+TJk/HAAw9gwoQJiIyMxK9+9SvMnTvX7OdjaDGo7cCe3bSuFIzs/iYie7H0zpw91dTUoKqqCjNmzJC0bXZ9OxG5hjS7wIlIznrfptrYvTwsuTOnVmhoKM6fP4/Ozk4UFBRg+fLlkupjUBP1YO2R346+6Ymr3diHCAB86wU8VP2/97s0V+fpfZvq/Px8FBQUGF3G3Dtz9lRZWYmLFy/is88+Q25uLsaMGYMHHnig3/q0GNRkF2xV219ApRcC3zvu6DKIZK++vh5+fn66n43dGVPqnTl7ioqKAgBcf/31OHfuHAoKCiQFNc9ROwm5dnuTY/BRlkTm8/Pz03sZC2qpd+Y0RQiBjg5p/zfZorYxfljalv/xDj5Ni4jsQsqdOQHg1VdfRXh4OKKjowFcva56w4YNeOyxxyRt1+WC2hnP2SmlNc3ubyJSMql35uzu7kZeXh5OnjwJT09PjB49Gs8++ywefvhhSdt1uaAmIiKyVFZWFrKysoz+rrS0VO/nxx57THLr2RieoyYiIpIxBjUREZGMuVxQO9vTkYiIyLm5XFAT2ZMjb3ZCRM6BQW1j9rh0SCkjqW1RJy/NIiJnx6Am6oGnRohIbhjUTkIprWoiIpKGQU12wS8SRESWccmgtnf3Js+j2gaPq2kcxEbkPFwyqJ2VXFutcq3L1hwdlseXuLvssSdyJgxqJ8MPZss540Cy07O8HV0CEQ0Qg9pOXLWb1lZfHFz1eBKR63HZoHbG1pOWXFrVcqmDiEjJXDaonZ2jQ9LR25fKmb+4EZGyMajtyN7dtY4KS1tvVwnd3o4eSEZEzsOlg9oVWlH2DmultaSJiOTOoqAuKipCVFQUvL29ERcXh8rKSpPz7tq1C3PmzEFgYCD8/PyQkJCA999/3+KClc4RrUF7hac9tmOL4+fMX9g6wjU4f/toR5dBRAMgOajLysqQnZ2N1atXo6amBklJSUhJSUFdXZ3R+T/++GPMmTMH5eXlqK6uxsyZM3HHHXegpqZmwMWT+WwdomxJ/4fcur2bk64wrIkUTHJQb9y4ERkZGVi+fDliYmJQWFiIsLAwFBcXG52/sLAQ//3f/41f/OIXuO666/DMM8/guuuuw7vvvjvg4q3BEa0pR51j1USH2iRQ7RXSSjg3TUTOzRE9ypKCWqPRoLq6GsnJyXrTk5OTUVVVZdY6uru70d7ejmHDhknZtNNxZOhYK1htFfz25Mzd3j25yn4S2ZKjepQlBXVzczO6uroQFBSkNz0oKAiNjY1mreP3v/89fvrpJyxYsMDkPB0dHWhra9N72ZIrfogNJGQdEdBKaU3LrdtbqyNcgxNZYxxdBpGiOapH2aLBZG5u+sEmhDCYZsz27dtRUFCAsrIyjBgxwuR869evh7+/v+4VFhZmSZmyJ4fw0YauOcHrqBa0rY6Tq31BY1gTWc6RPcqeUmYOCAiAh4eHQeu5qanJoJXdW1lZGTIyMrBjxw7ceuutfc6bl5eHnJwc3c9tbW02D+v2CDf4fi9sug1jWker4X+8w+7bNUbp3djUP21YX1v0naNLsRtNdChOz/KG7/cCge8dd3Q5JEO9e23VajXUav0Ggr16lI2RFNQqlQpxcXGoqKjAPffco5teUVGBu+66y+Ry27dvx7Jly7B9+3bcfvvt/W7H2EEi1ySHXgdzybXbuzftJVuuElqto9XoCNegIxwAXGe/XZnfyQ54evbfY9bZebWR1LshmJ+fj4KCAqPLDLRH+a9//WufPcrGSApqAMjJyUFaWhri4+ORkJCATZs2oa6uDpmZmQCutobPnDmDN998U1dceno6XnzxRUybNk33zcPHxwf+/v5SN29TbFXLiy1D2tW6vemq5qQrAEbD/3gHVMdOO7ockon6+nr4+fnpfjbWULRXj7Ixks9Rp6amorCwEOvWrcMNN9yAjz/+GOXl5YiIiAAANDQ06I2Ae/3119HZ2YlHHnkEwcHButfjjz8uuVhnpqSWoz3weNhWe4SbS5zq0ESHGnwpa066gtOzvHH+9tEucQyof35+fnovY0Hds0e5p4qKCiQmJppc9/bt27FkyRK89dZbZvUoGyO5RQ0AWVlZyMrKMvq70tJSvZ/37dtnySYcxlGtaoAta3uxRWtaKd3eWh3hGpye5Y1QhDpty1J7btrY30bbFd4e4Q3f0Wxhk3kc1aNsUVCT7TCs2eVtL84c1proUBxf4g6g7y9Q/zl3rYa/Ex4Hsq7U1FS0tLRg3bp1aGhoQGxsrNk9yo888ohu+uLFiw0atX1hUBvhyFY14NphrcQub6W1pntyxrD+T0ibrznpClvXZBZH9Ci79NOz+uLolpcSA2ugbL3Pjv6bypU2rJ3hfK22u9sSHeEatEe4oXW02imOBTkPBrWMuVJYK3Vfldya7skZwrqvc9Lm0oa10o8FORd2fffB0V3ggGt0g9sjpNma7p82rH1HX33SlhKuN9ZEh+reP1cvvRr4Fydt0GuPBbvCydEY1P1gWNuWkkPaWVrTPf1ncBXQHiHvO5hZowXdl54jw53pHD4pD7u+FUKpXcOmtI5WO90+ORs53xvc1iHdkzOcFiBlY1CbQS7dps4SbvbcB7amB0aOYW3PkNbShjVvkkKOwK5vM8mhC1xLyV3hzhDSrkYb1tr3v6POXZ+//eq58/YIN4d8Ubq6TRV4zTXZG4NaArmFNQDFBLYz9ARo2SIkIkPPAwBOnQ60+rqtoee5a0c82OJE1hhZ9GIwrMkRGNQSySmsAWW0rh0R0kptTcs9sAHtzUGMd4eHfnTZ4vA6f/tok383OYS0FsOa7I1B7QTk2rp2VCvaliFty9a0qWlyDG1Tx+H4EneMLpUeXudvH/3/L69SBoY12ROD2gJya1VrySWwHdnNrbSQNocSWtk9HV/iDnWdtAFocmoxm4thTfaiqKDWhGngc96y2wNam1zDGtAPSnuGtqPPQyuxu9tYa7q/eZUQ2EoMXkswrMkeFBXUciPnsNayR2g7OqAB24e0nIJHSYHtChjWZGuKC+qOcA3UdSpHl6GjhLDWsmZoyyGctZTYkgaktab7W56h7VgMa7IlxQU1wLC2BlNBayzA5RTKjiCn1rQpbGU7HsOabEWRQQ0wrG1FaaGs1C7vgbam+1svA5vIeSg2qOXIWcJaCezR3a2ElrQpDGzHYKuabEHRQS23VjXwnwBhYNuOUs9Ja9mqNd3XthjY9sOwJmtT/EM55NrqUXqYyJW9jqvSurzN2a72RbbXEa5Be4QbWker+RAPJ1NUVISoqCh4e3sjLi4OlZWVJudtaGjAokWLMG7cOLi7uyM7O9uibSo+qAGGtatQekjLBQPbfhjWzqWsrAzZ2dlYvXo1ampqkJSUhJSUFNTV1Rmdv6OjA4GBgVi9ejUmTZpk8XadIqgB+X64MqytwxmOo9zCkYFtW3L9TCLLbdy4ERkZGVi+fDliYmJQWFiIsLAwFBcXG50/MjISL774ItLT0+Hv72/xdp0mqAH5/sdoj3BziqBxFHseO7m+h2yJgW077AJXhra2Nr1XR4fhZaoajQbV1dVITk7Wm56cnIyqqiqb1qfowWRKw1Hh0tj7y40tQ1oJQciBZ7bBwWX2p/rmLDzd+x9o7N599f98WFiY3vT8/HwUFBToTWtubkZXVxeCgoL0pgcFBaGxsXFgBffD6YJajiPBe+KocPMwpB2HgW19DGt5q6+vh5+fn+5ntdr0/STc3PQ/m4QQBtOszemCGpB/WANsXffFmUJayRjY5Cr8/Pz0gtqYgIAAeHh4GLSem5qaDFrZ1mbROWopw9MBYP/+/YiLi4O3tzeuvfZavPbaaxYVK4USPnx57lqfI46Hrd8nSmtNG8NLu6yD56uVTaVSIS4uDhUVFXrTKyoqkJiYaNNtSw5qqcPTT548iXnz5iEpKQk1NTX4zW9+gxUrVmDnzp0DLr4/SghrwDlGNA+UI44BQ1o6BvbAMKyVLScnB2+88QZKSkpw9OhRrFy5EnV1dcjMzAQA5OXlIT09XW+ZI0eO4MiRI7h48SLOnz+PI0eOoLa2VtJ2JXd99xyeDgCFhYV4//33UVxcjPXr1xvM/9prryE8PByFhYUAgJiYGBw6dAgbNmzAfffdJ3XzkimhGxxw3XPXjvqSopQvcXLFbvGBufq+VyPwmKMrISlSU1PR0tKCdevWoaGhAbGxsSgvL0dERASAqzc46d1onTx5su7f1dXVeOuttxAREYFTp06ZvV1JQa0dnp6bm6s3va/h6QcOHDAYzj537lxs3rwZV65cgZeXl8EyHR0desPj29rapJRpuD6FhDXgWueunbknga1OMqXn55EmmgPLlCYrKwtZWVlGf1daWmowTYiBf55LCmpLhqc3NjYanb+zsxPNzc0IDg42WGb9+vVYu3atwfSvFq3s94Q/ERHJV1tbG/z933B0GYpi0WAyqcPTjc1vbLpWXl4eWltbda/6+npLyiQiIlI8SS1qS4anjxw50uj8np6eGD58uNFl1Gp1n9exERERuQpJLWpLhqcnJCQYzP/BBx8gPj7e6PlpIiIi+g/JXd9Sh6dnZmbi+++/R05ODo4ePYqSkhJs3rwZq1atst5eEBEROSnJl2dJHZ4eFRWF8vJyrFy5Eq+++ipCQkLw0ksv2eXSLCIiIqVzE9YYO25jV0cJ+qO1tZWjvomIFMyWn+fadd86YrlZD+Xo7NbgH01vyD5bnOoxl0RERM6GQU1ERCRjDGoiIiIZY1ATERHJGIOaiIhIxhjUREREMsagJiIikjEGNRERkYwxqImIiGSMQU1ERCRjDGoiIiIZY1ATERGZqaioCFFRUfD29kZcXBwqKyv7nH///v2Ii4uDt7c3rr32Wrz22muSt8mgJiIiMkNZWRmys7OxevVq1NTUICkpCSkpKXpPjOzp5MmTmDdvHpKSklBTU4Pf/OY3WLFiBXbu3ClpuwxqIiIiM2zcuBEZGRlYvnw5YmJiUFhYiLCwMBQXFxud/7XXXkN4eDgKCwsRExOD5cuXY9myZdiwYYOk7Up+HrUjaJ/E2dbW5uBKiIhoILSf47Z8wnKn0ADdZs4Hw2xRq9VQq9V60zQaDaqrq5Gbm6s3PTk5GVVVVUbXf+DAASQnJ+tNmzt3LjZv3owrV67Ay8ur/yKhkKBub28HAISFhTm4EiIisob29nb4+/tbdZ0qlQojR47EvsY3zV5myJAhBtmSn5+PgoICvWnNzc3o6upCUFCQ3vSgoCA0NjYaXXdjY6PR+Ts7O9Hc3Izg4GCzalREUIeEhKC+vh6+vr5wc3NzdDlma2trQ1hYGOrr62X9UPLelFo3wNodRam1K7VuQLm1CyHQ3t6OkJAQq6/b29sbJ0+ehEajkVRP71zp3Zruqfe8xpbvb35j0/uiiKB2d3dHaGioo8uwmJ+fn6L+I2kptW6AtTuKUmtXat2AMmu3dku6J29vb3h7e1t9vQEBAfDw8DBoPTc1NRm0mrVGjhxpdH5PT08MHz7c7G1zMBkREVE/VCoV4uLiUFFRoTe9oqICiYmJRpdJSEgwmP+DDz5AfHy82eenAQY1ERGRWXJycvDGG2+gpKQER48excqVK1FXV4fMzEwAQF5eHtLT03XzZ2Zm4vvvv0dOTg6OHj2KkpISbN68GatWrZK0XUV0fSuVWq1Gfn5+n+c75EipdQOs3VGUWrtS6waUXbtSpaamoqWlBevWrUNDQwNiY2NRXl6OiIgIAEBDQ4PeNdVRUVEoLy/HypUr8eqrryIkJAQvvfQS7rvvPknbdRO2HCNPREREA8KubyIiIhljUBMREckYg5qIiEjGGNREREQyxqAegB9//BFpaWnw9/eHv78/0tLScOHChT6XcXNzM/p64YUXdPPccsstBr9fuHChw2tfsmSJQV3Tpk3Tm6ejowOPPfYYAgICMHjwYNx55504ffq0w+q+cuUK/ud//gfXX389Bg8ejJCQEKSnp+Ps2bN689nimNvicXg7d+7E+PHjoVarMX78eOzevXtANVqj9l27dmHOnDkIDAyEn58fEhIS8P777+vNU1paavR9f/nyZYfWvm/fPqN1HTt2TG8+exx3KXUb+7/o5uaGCRMm6Oax5zEnGxNksdtuu03ExsaKqqoqUVVVJWJjY8X8+fP7XKahoUHvVVJSItzc3MTx48d188yYMUM89NBDevNduHDB4bUvXrxY3HbbbXp1tbS06M2TmZkpRo0aJSoqKsThw4fFzJkzxaRJk0RnZ6dD6r5w4YK49dZbRVlZmTh27Jg4cOCAmDp1qoiLi9Obz9rH/C9/+Yvw8vISf/zjH0Vtba14/PHHxeDBg8X3339vdP4TJ06IQYMGiccff1zU1taKP/7xj8LLy0u8/fbbunmqqqqEh4eHeOaZZ8TRo0fFM888Izw9PcVnn31mcZ3WqP3xxx8Xzz33nPjnP/8pvvnmG5GXlye8vLzE4cOHdfNs2bJF+Pn5Gbz/rU1q7Xv37hUAxNdff61XV8/3qz2Ou9S6L1y4oFdvfX29GDZsmMjPz9fNY69jTrbHoLZQbW2tAKD3n/XAgQMCgDh27JjZ67nrrrvErFmz9KbNmDFDPP7449Yq1YCltS9evFjcddddJn9/4cIF4eXlJf7yl7/opp05c0a4u7uLPXv2OKzu3v75z38KAHofgtY+5lOmTBGZmZl606Kjo0Vubq7R+f/7v/9bREdH6017+OGHxbRp03Q/L1iwQNx2221688ydO1csXLjQSlVfJbV2Y8aPHy/Wrl2r+3nLli3C39/fWiWaJLV2bVD/+OOPJtdpj+M+0GO+e/du4ebmJk6dOqWbZq9jTrbHrm8LHThwAP7+/pg6dapu2rRp0+Dv72/ykWe9nTt3Du+99x4yMjIMfrdt2zYEBARgwoQJWLVqle4JYo6ufd++fRgxYgTGjh2Lhx56CE1NTbrfVVdX48qVK3qPdQsJCUFsbKzZx8RWdffU2toKNzc3DB06VG+6tY659nF4vR9vZ8nj8A4dOoQrV670OY81ju1Aau+tu7sb7e3tGDZsmN70ixcvIiIiAqGhoZg/fz5qamqsVjcwsNonT56M4OBgzJ49G3v37tX7na2PuzWO+ebNm3HrrbfqbryhZetjTvbBO5NZqLGxESNGjDCYPmLECJOPPOvtT3/6E3x9fXHvvffqTX/wwQcRFRWFkSNH4quvvkJeXh6++OILg3vG2rv2lJQU3H///YiIiMDJkyfx1FNPYdasWaiuroZarUZjYyNUKhWuueYaveX6egycPeru6fLly8jNzcWiRYv0HmRgzWNuq8fhmZrHGsd2ILX39vvf/x4//fQTFixYoJsWHR2N0tJSXH/99Whra8OLL76I6dOn44svvsB1113nsNqDg4OxadMmxMXFoaOjA3/+858xe/Zs7Nu3DzfffDMA038bax33gR7zhoYG/P3vf8dbb72lN90ex5zsg0HdS0FBAdauXdvnPAcPHgRg/DFlop9HnvVUUlKCBx980OBJLw899JDu37GxsbjuuusQHx+Pw4cP48Ybb3RY7ampqXp1xcfHIyIiAu+9957Blw0p67XXMb9y5QoWLlyI7u5uFBUV6f3O0mPeF1s8Dk/qOi1l6Xa2b9+OgoIC/PWvf9X7UjVt2jS9gYfTp0/HjTfeiJdffhkvvfSS9QqHtNrHjRuHcePG6X5OSEhAfX09NmzYoAtqqeu0lKXbKC0txdChQ3H33XfrTbfnMSfbYlD38uijj/Y72jcyMhL/+te/cO7cOYPfnT9/3uQjz3qqrKzE119/jbKysn7nvfHGG+Hl5YVvv/22z9CwV+1awcHBiIiIwLfffgvg6iPdNBoNfvzxR71WdVNTk8mny9ir7itXrmDBggU4efIkPvroo34fC2juMTfGVo/DMzWPlL+ZLWrXKisrQ0ZGBnbs2IFbb721z3nd3d3xi1/8QvfesYaB1N7TtGnTsHXrVt3Ptj7uA6lbCIGSkhKkpaVBpVL1Oa8tjjnZiWNOjSufdmDT559/rpv22WefmT2wafHixQYjj0358ssvBQCxf/9+i+vtaaC1azU3Nwu1Wi3+9Kc/CSH+M5isrKxMN8/Zs2etPphMat0ajUbcfffdYsKECaKpqcmsbQ30mE+ZMkX8+te/1psWExPT52CymJgYvWmZmZkGg8lSUlL05rnttttsMphMSu1CCPHWW28Jb29vsXv3brO20d3dLeLj48XSpUsHUqoBS2rv7b777hMzZ87U/WyP425p3drBcF9++WW/27DVMSfbY1APwG233SYmTpwoDhw4IA4cOCCuv/56g0uFxo0bJ3bt2qU3rbW1VQwaNEgUFxcbrPO7774Ta9euFQcPHhQnT54U7733noiOjhaTJ0+22iVOltTe3t4unnjiCVFVVSVOnjwp9u7dKxISEsSoUaNEW1ubbpnMzEwRGhoq/vGPf4jDhw+LWbNmWf3yLCl1X7lyRdx5550iNDRUHDlyRO8ylY6ODiGEbY659nKbzZs3i9raWpGdnS0GDx6sG5Wbm5sr0tLSdPNrL89auXKlqK2tFZs3bza4POvTTz8VHh4e4tlnnxVHjx4Vzz77rE0vzzK39rfeekt4enqKV1991eTlbQUFBWLPnj3i+PHjoqamRixdulR4enrqfelyRO1/+MMfxO7du8U333wjvvrqK5GbmysAiJ07d+rmscdxl1q31q9+9SsxdepUo+u01zEn22NQD0BLS4t48MEHha+vr/D19RUPPvigwWUeAMSWLVv0pr3++uvCx8fH6HW6dXV14uabbxbDhg0TKpVKjB49WqxYscLgemV71/7zzz+L5ORkERgYKLy8vER4eLhYvHixqKur01vm0qVL4tFHHxXDhg0TPj4+Yv78+Qbz2LPukydPCgBGX3v37hVC2O6Yv/rqqyIiIkKoVCpx44036rXOFy9eLGbMmKE3/759+8TkyZOFSqUSkZGRRr/I7dixQ4wbN054eXmJ6OhovUCxJim1z5gxw+jxXbx4sW6e7OxsER4eLlQqlQgMDBTJycmiqqrK4bU/99xzYvTo0cLb21tcc8014qabbhLvvfeewTrtcdylvl8uXLggfHx8xKZNm4yuz57HnGyLj7kkIiKSMV5HTUREJGMMaiIiIhljUBMREckYg5qIiEjGGNREREQyxqAmIiKSMQY1ERGRjDGoiYiIZIxBTUREJGMMaiIiIhljUBMREckYg5qIiEjG/h8zf3Q88iqcgQAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig = plt.figure(figsize=[6,3]); plt.title(r'Value variation $\\mu$, cost perturbed on the left.'); plt.axis('equal'); \n", "plt.contourf(X,Y,hfmOut['values'].gradient(1))\n", "plt.axis('equal');plt.colorbar();\n", "savefig(fig,'ValueVariation_CostPerturbationLeft.png')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The third perturbation affects the boundary conditions only: $\\xi_2=0$ and $\\zeta_2 \\neq 0$. More precisely, the perturbation increases the boundary condition at the right seed $x_1$ only. Therefore, as can be observed numerically, hence the value function $u$ increases in the Voronoi region of $x_1$ only. In other words $\\mu_2>0$ at at all the points for which the backtracked geodesic leads to $x_1$." ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:03.986017Z", "iopub.status.busy": "2024-04-30T08:59:03.985899Z", "iopub.status.idle": "2024-04-30T08:59:04.075323Z", "shell.execute_reply": "2024-04-30T08:59:04.075076Z" } }, "outputs": [ { "data": { "image/png": "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+PDhStut7vvRkpaOeynHp7r9qO33V+p236mpvaysLDFjxgzRq1cvYWlpKZ599llx6dIlndbT0jEoRMvHhjbb3FL7HbE9Qmh3rBw9elQAEFFRURr3N0kjE0KIzvjRQKSr6dOno7S0FKdOnWq1blJSEh577DH89NNPip5NR7p16xZGjBgBJycnJCcnd/j6SH+io6Oxbt06XL58ud3GghC1F4M4zU7dW1ZWFp588kmt6h49ehSzZ8/usEQeGhoKPz8/ODg4oLS0FNu3b0dubi62bt3aIesjItIGkzl1aQUFBSgrK8Po0aO1qr9p06YOjae6uhorV67E5cuXYWpqilGjRiEpKQlTp07t0PUSEbWEp9mJiIgMXJefNIaIiKiriI2NVdxX7+XlhbS0NI11U1NTFQ/JufP1yy+/KNW7evUqFi9eDAcHB8jlcnh4eCApKUlSXDzNTkREpIWEhAQsX74csbGxGDduHD744AMEBAQgJycHLi4uGpfLy8uDlZWV4r2tra3i33V1dfDz84OdnR0+/fRT9O/fH4WFhWpvT20JT7MTERFpYcyYMRg1ahS2bdumKPPw8MDMmTOxceNGlfqpqamYNGkSrly5onEmw6YJ0X755RfFU+p0YRA988bGRhQXF8PS0rJdJiEhIiL9EEKguroajo6ObZqGWZOamhrU1dVJiqd5XjE3N1eZkbCurg5ZWVmIiIhQKvf390d6enqL6xg5ciRqamowdOhQrF69GpMmTVJ89sUXX8DX1xeLFy/G559/DltbWwQFBeG1115TPOJbGwaRzIuLi+Hs7KzvMIiIqJ0UFha2aVZLdWpqauDs0hPllxu1XqZXr164du2aUllUVBSio6OVysrLy9HQ0KDyYCV7e3uNc887ODhgx44d8PLyQm1tLT766CNMmTIFqampeOihhwAAFy9exLfffos5c+YgKSkJ586dw+LFi1FfXy9pdjyDSOZN1w4KCwuVrjsQEZFhqaqqgrOzs+Rrwtqoq6tD+eVGHPm+H3r2ar3Xf/1aI6b5lKrklua98js178Wr69k3cXd3V5oK29fXF4WFhdi8ebMimTc2NsLOzg47duyAsbExvLy8UFxcjE2bNt19ybxpR1lZWTGZExHdBTrykmnPXkboZan9KXxtckvfvn1hbGys0gsvKyvT+BhkdXx8fLB3717FewcHB5iamiqdUvfw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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig = plt.figure(figsize=[6,3]); plt.title(r'Value variation $\\mu$, right seed value perturbed.'); plt.axis('equal'); \n", "plt.contourf(X,Y,hfmOut['values'].gradient(2))\n", "plt.axis('equal');plt.colorbar();\n", "savefig(fig,'ValueVariation_SeedValuePerturbationRight.png')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We end this section with a consistency test, based on a mathematical property that we describe below.\n", "\n", "It is worth noting that the arrival time function $u$ is $1$-homogeneous w.r.t. its parameters $c$ and $\\sigma$\n", "\\begin{equation*}\n", "u[\\lambda c,\\lambda \\sigma] = \\lambda u[c,\\sigma].\n", "\\end{equation*}\n", "This implies a differential identity, referred to as Euler identity for homogeneous functions:\n", "\\begin{equation*} \n", " \\frac d {d\\lambda} u[\\lambda c,\\lambda \\sigma] = u[c,\\sigma].\n", "\\end{equation*}\n", "In the test case above, we have chosen the perturbations such that $\\xi_0+\\xi_1+\\xi_2 = c$ and $\\zeta_0+\\zeta_1+\\zeta_2 = \\sigma$. Thus denoting by $\\mu_0,\\mu_1,\\mu_2$ the corresponding value variations, Euler's identity implies that $\\mu_0+\\mu_1+\\mu_2 = u$, as can be observed numerically." ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:04.076838Z", "iopub.status.busy": "2024-04-30T08:59:04.076739Z", "iopub.status.idle": "2024-04-30T08:59:04.078922Z", "shell.execute_reply": "2024-04-30T08:59:04.078657Z" } }, "outputs": [], "source": [ "values = hfmOut['values'].value \n", "values[hfmIn['walls']]=0.; # Eliminate values inside walls, which equal Infinity\n", "\n", "# Check Euler's identity\n", "assert np.max(np.abs(hfmOut['values'].gradient().sum(axis=0)-values)) < 1e-14" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 2.2 Using automatic differentiation\n", "\n", "For convenience, we provide a (limited) interface between HFM library and the AutomaticDifferentiation (ad) module of the AdaptiveGridDiscretizations (agd) package.\n", "In that setting, some of the keys of the hfmInput dictionary can be provided as *first order dense AD* variables.\n", "Under the hood, a pre-processing and a post-processing step reformat the AD data as in the previous subsection.\n", "" ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:04.080357Z", "iopub.status.busy": "2024-04-30T08:59:04.080254Z", "iopub.status.idle": "2024-04-30T08:59:04.082079Z", "shell.execute_reply": "2024-04-30T08:59:04.081848Z" } }, "outputs": [], "source": [ "# The following keys cannot be enhanced with AD information\n", "hfmIn_ad = Eikonal.dictIn({key:hfmIn[key] for key in \n", " ['model','arrayOrdering','gridScale','dims','origin','seeds','walls','exportValues']})" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let us construct a first order symbolic perturbation with three independent components. " ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:04.083433Z", "iopub.status.busy": "2024-04-30T08:59:04.083337Z", "iopub.status.idle": "2024-04-30T08:59:04.085005Z", "shell.execute_reply": "2024-04-30T08:59:04.084772Z" } }, "outputs": [], "source": [ "delta = ad.Dense.identity(shape=(3,))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can define a cost and seed values which incorporate first order perturbations. Here we simply reproduce the previous ones." ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:04.086397Z", "iopub.status.busy": "2024-04-30T08:59:04.086313Z", "iopub.status.idle": "2024-04-30T08:59:04.089011Z", "shell.execute_reply": "2024-04-30T08:59:04.088733Z" } }, "outputs": [], "source": [ "hfmIn_ad['cost'] = cost*(1+ delta[0]*(X>0.) + delta[1]*(X<=0.))\n", "hfmIn_ad['seedValues'] = seedValues * (1+ delta[2])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A smart run will pre-process and post-process the HFM data to correct formatting." ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:04.090405Z", "iopub.status.busy": "2024-04-30T08:59:04.090306Z", "iopub.status.idle": "2024-04-30T08:59:04.112337Z", "shell.execute_reply": "2024-04-30T08:59:04.112037Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Field verbosity defaults to 1\n", "Field order defaults to 1\n", "Field seedRadius defaults to 0\n", "Fast marching solver completed in 0.003031 s.\n" ] } ], "source": [ "hfmOut_ad = hfmIn_ad.Run()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The field of values output by the smart run incorporates first order AD information." ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:04.113877Z", "iopub.status.busy": "2024-04-30T08:59:04.113778Z", "iopub.status.idle": "2024-04-30T08:59:04.115550Z", "shell.execute_reply": "2024-04-30T08:59:04.115311Z" } }, "outputs": [], "source": [ "values_ad = hfmOut_ad['values']\n", "grad = values_ad.gradient()" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:04.116854Z", "iopub.status.busy": "2024-04-30T08:59:04.116754Z", "iopub.status.idle": "2024-04-30T08:59:04.240458Z", "shell.execute_reply": "2024-04-30T08:59:04.240162Z" } }, "outputs": [ { "data": { "image/png": "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u7s1efJk7d+/X8XFxU6XMyRqtQa1WoNazWcYhnp6ejRx4kTl5THrnT5jPmq1BrVag1rNR59J5ZU+I3nnPeaVOiVqtQq1WsMrtWbTZzwx1TEvL89T3xQVFxe7+g3SH7Vag1qtQa3mikajTpfgGvQZ61CrNajVGtRqLvrMh7zWZyRvvMck79QpUatVqNUaXqg10z7D1y8AAAAAAADwJYIvAAAAAAAA+BLBl4kikYjuueceRSIRp0s5I2q1BrVag1qBPl56f1GrNajVGtQKfMgr7zGv1ClRq1Wo1RpeqjVTnljcHgAAAAAAAMgWI74AAAAAAADgSwRfAAAAAAAA8CWCLwAAAAAAAPgSwRcAAAAAAAB8ieArC0eOHNHixYsVjUYVjUa1ePFivffee0PeJxQKpb39wz/8Q3Kfv/qrvxrw8+uuu872Wm+88cYBdcyaNStln1gspq997WsaM2aMRo0apc997nNqbW21tdYTJ07o7/7u7/Txj39co0aN0sSJE7VkyRK1t7en7GfGcV29erUqKytVUFCg6dOna/v27UPu/9JLL2n69OkqKCjQRz7yEf3Lv/zLgH02btyoj33sY4pEIvrYxz6m5557LquazKh106ZNmj9/vkpLS1VcXKzZs2frV7/6Vco+69atS/vePX78uK21vvjii2nraGxsTNnPDcc13d9QKBTSBRdckNzHyuMK76PP0GfoM/QZ+gysRq+h19Br6DWB6zUGMnbllVcatbW1xo4dO4wdO3YYtbW1xmc+85kh73PgwIGU29q1a41QKGQ0NTUl97n00kuNL3/5yyn7vffee7bXunTpUuPKK69MqePw4cMp+yxfvtyYNGmSUV9fb7z++uvGZZddZlx44YXGyZMnbav1vffeM+bNm2ds2LDBaGxsNF555RXjoosuMqZPn56y33CP6y9/+Utj5MiRxs9+9jNj9+7dxh133GGMGjXK2LdvX9r99+7da5x11lnGHXfcYezevdv42c9+ZowcOdJ49tlnk/vs2LHDGDFihPHAAw8Yb775pvHAAw8Y+fn5xquvvppxXWbUescddxgPPvig8bvf/c546623jJUrVxojR440Xn/99eQ+TzzxhFFcXDzgPTxc2db6wgsvGJKMPXv2pNTR/z3nluP63nvvpdS4f/9+Y/To0cY999yT3Meq4wp/oM/QZ+gz9Bn6DKxGr6HX0GvoNUHrNQRfGdq9e7chKeVN98orrxiSjMbGxowf5+qrrzbmzp2bsu3SSy817rjjDrNKzbnWpUuXGldfffWgP3/vvfeMkSNHGr/85S+T29ra2oy8vDzj+eeft7XW0/3ud78zJKX88Q73uM6cOdNYvnx5yraamhrjrrvuSrv/t7/9baOmpiZl2y233GLMmjUr+d/XXnutceWVV6bsc8UVVxjXXXddznXmUms6H/vYx4z77rsv+d9PPPGEEY1Gh1VXOtnWmmgSR44cGfQx3Xpcn3vuOSMUChnvvPNOcptVxxXeR5+hzxgGfcYM9Bn6DAZHr6HXGAa9xgz0Gm/1GqY6ZuiVV15RNBrVRRddlNw2a9YsRaNR7dixI6PHePfdd7V582bddNNNA3725JNPasyYMbrgggv0zW9+Uz09PY7U+uKLL2rs2LE6//zz9eUvf1mHDh1K/mznzp06ceKEFixYkNw2ceJE1dbWZnwMzKy1v66uLoVCIZ1zzjkp23M9rvF4XDt37kx5rZK0YMGCQet65ZVXBux/xRVX6LXXXtOJEyeG3CfX45drrafr7e1VT0+PRo8enbL96NGjqqioUFlZmT7zmc9o165dOdc53Fo/+clPasKECbr88sv1wgsvpPzMrcf18ccf17x581RRUZGy3ezjCn+gz9BnJPoMfYY+A2vRa+g1Er2GXhO8XpPvdAFecfDgQY0dO3bA9rFjx+rgwYMZPcbPf/5zFRUV6Qtf+ELK9htuuEGVlZUaP368GhoatHLlSr3xxhuqr6+3tdarrrpKf/M3f6OKigo1Nzfr7//+7zV37lzt3LlTkUhEBw8eVDgcVklJScr9xo0bl/ExMKvW/o4fP6677rpL119/vYqLi5Pbh3NcOzs7derUKY0bNy5l+1Cv9eDBg2n3P3nypDo7OzVhwoRB98n1+OVa6+l+8IMf6P3339e1116b3FZTU6N169bp4x//uLq7u/XDH/5QF198sd544w199KMfta3WCRMm6NFHH9X06dMVi8W0fv16XX755XrxxRf1qU99StLgx97J43rgwAH953/+p5566qmU7VYcV/gDfYY+I9Fn6DP0GViLXkOvkeg19Jrg9ZrAB1/33nuv7rvvviH3+f3vfy+pb1HH0xmGkXZ7OmvXrtUNN9yggoKClO1f/vKXk/+/trZWH/3oRzVjxgy9/vrrmjZtmm21Llq0KKWOGTNmqKKiQps3bx7Q2M70uHYd1xMnTui6665Tb2+vVq9enfKzTI/rUE6v4Ux1pdv/9O3ZPmamcn3cp59+Wvfee6/+/d//PaVhz5o1K2Uh0IsvvljTpk3Tj370I/3zP/+zbbVWV1eruro6+d+zZ8/W/v379Y//+I/JJpHtY1pVa3/r1q3TOeeco2uuuSZlu5XHFe5En/kQfWYg+gx9hj4DM9BrPkSvGYheQ68Jeq8JfPB12223nfGqGFOmTNH//M//6N133x3ws46OjgHpaTrbt2/Xnj17tGHDhjPuO23aNI0cOVJvv/12yoeZXbUmTJgwQRUVFXr77bclSePHj1c8HteRI0dSviE5dOiQ6urqUu5rR60nTpzQtddeq+bmZv36179O+WYkncGOazpjxozRiBEjBqTghw4dGrSu8ePHp90/Pz9f55577pD7ZPN7MaPWhA0bNuimm27SM888o3nz5g25b15env7yL/8y+X6wu9b+Zs2apX/9139N/rfbjqthGFq7dq0WL16scDg85L5mHFe4G31mcPQZ+kx/9JnMH5c+g9PRawZHr6HX9EevyfxxfdVrrF1CzD8SCxb+13/9V3Lbq6++mvGChUuXLh1whY7B/OEPfzAkGS+99JIjtSZ0dnYakUjE+PnPf24YxocLQW7YsCG5T3t7uykLQWZbazweN6655hrjggsuMA4dOpTRc2V7XGfOnGl85StfSdk2derUIReCnDp1asq25cuXD1gI8qqrrkrZ58orrzRlwcJsajUMw3jqqaeMgoIC47nnnsvoOXp7e40ZM2YYy5YtG06pOdV6ui9+8YvGZZddlvxvNx1Xw/hw8co//OEPZ3wOs44rvI8+Q58xDPoMfYY+A2vRa+g1hkGvodcEr9cQfGXhyiuvND7xiU8Yr7zyivHKK68YH//4xwdcora6utrYtGlTyrauri7jrLPOMtasWTPgMf/4xz8a9913n/H73//eaG5uNjZv3mzU1NQYn/zkJ4d9Od1sau3p6TG+8Y1vGDt27DCam5uNF154wZg9e7YxadIko7u7O3mf5cuXG2VlZca2bduM119/3Zg7d64pl/7NptYTJ04Yn/vc54yysjLjv//7v1MunxqLxQzDMOe4Ji77+vjjjxu7d+82VqxYYYwaNSp5NYu77rrLWLx4cXL/xKV/v/71rxu7d+82Hn/88QGX/n355ZeNESNGGN///veNN9980/j+979v6iVqM631qaeeMvLz842f/OQng14a+d577zWef/55o6mpydi1a5exbNkyIz8/P6Wh21HrP/3TPxnPPfec8dZbbxkNDQ3GXXfdZUgyNm7cmNzHLcc14W//9m+Niy66KO1jWnVc4Q/0GfoMfYY+Q5+B1eg19Bp6Db0maL2G4CsLhw8fNm644QajqKjIKCoqMm644YYBlyOVZDzxxBMp2376058ahYWFKX+ACS0tLcanPvUpY/To0UY4HDaqqqqM22+/3Th8+LCttf75z382FixYYJSWlhojR440ysvLjaVLlxotLS0p9zl27Jhx2223GaNHjzYKCwuNz3zmMwP2sbrW5uZmQ1La2wsvvGAYhnnH9Sc/+YlRUVFhhMNhY9q0aSnfrCxdutS49NJLU/Z/8cUXjU9+8pNGOBw2pkyZkvYfBs8884xRXV1tjBw50qipqUn5sBuObGq99NJL0x6/pUuXJvdZsWKFUV5eboTDYaO0tNRYsGCBsWPHDttrffDBB42qqiqjoKDAKCkpMS655BJj8+bNAx7TDcfVMPq+RSwsLDQeffTRtI9n5XGF99Fn6DP0GfoMfQZWo9fQa+g19Jqg9ZqQYXywUh0AAAAAAADgI3lOFwAAAAAAAABYgeALAAAAAAAAvkTwBQAAAAAAAF8i+AIAAAAAAIAvEXwBAAAAAADAlwi+AAAAAAAA4EsEXwAAAAAAAPAlgi8AAAAAAAD4EsEXAAAAAAAAfIngCwAAAAAAAL5E8AUAAAAAAABfIvgCAAAAAACAL/3/u6rcMLbMsj8AAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig = plt.figure(figsize=[15,2.5])\n", "plt.subplot(1,3,1)\n", "plt.contourf(X,Y,grad[0])\n", "plt.subplot(1,3,2)\n", "plt.contourf(X,Y,grad[1])\n", "plt.subplot(1,3,3)\n", "plt.contourf(X,Y,grad[2]);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 3. Reverse differentiation\n", "\n", "Consider a cost function $c : \\Omega \\to ]0,\\infty[$ and some boundary values $\\sigma : \\Omega \\to ]-\\infty,\\infty]$. Reverse differentiation, for a given point $x\\in \\Omega$ provides two fields $\\rho = \\rho[x,c,\\sigma] : \\Omega \\to \\mathbb R$ and $\\pi = \\pi[x,c,\\sigma] : \\partial \\Omega \\to \\mathbb R$ such that \n", "\\begin{equation*}\n", "u[c+\\varepsilon \\xi,\\sigma+\\varepsilon \\zeta](x) = u[x,\\sigma](x)+ \\varepsilon \\Bigg(\\int_\\Omega \\rho \\xi + \\int_{\\partial \\Omega} \\pi \\zeta\\Bigg) + o(\\varepsilon).\n", "\\end{equation*}\n", "This equality holds, assuming differentiability, for any perturbation $\\xi$ of the cost function $c$, and any perturbation $\\zeta$ of the boundary condition $\\sigma$.\n", "The fields $\\rho$ and $\\pi$ express how much the front arrival time value $u[c,\\sigma]$ is sensitive to variations in these parameters.\n", "\n", "\n", "Similarly to the forward case, this functionality can be accessed in two ways:\n", "- by directly manipulating the perturbations fields $\\xi$, $\\zeta$, $\\rho$, and $\\pi$, suitably renamed.\n", "- using an interface with the AutomaticDifferentiation module of the AdaptiveGridDiscretizations library.\n", "\n", "Again, the first usage is more explicit and possibly pedagogical, but the second one is expected to be much more convenient." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 3.1 Raw arguments" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:04.242119Z", "iopub.status.busy": "2024-04-30T08:59:04.242011Z", "iopub.status.idle": "2024-04-30T08:59:04.243865Z", "shell.execute_reply": "2024-04-30T08:59:04.243628Z" } }, "outputs": [], "source": [ "hfmIn['inspectSensitivity']=[ [-0.8,0.8], [0.575,0.1] ] # Ask for rho and pi related to these two points" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:04.245222Z", "iopub.status.busy": "2024-04-30T08:59:04.245126Z", "iopub.status.idle": "2024-04-30T08:59:04.268166Z", "shell.execute_reply": "2024-04-30T08:59:04.267787Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Field verbosity defaults to 1\n", "Field order defaults to 1\n", "Field seedRadius defaults to 0\n", "Fast marching solver completed in 0.003026 s.\n", "Field geodesicSolver defaults to Discrete\n", "Field geodesicStep defaults to 0.25\n", "Field geodesicWeightThreshold defaults to 0.001\n", "Field geodesicVolumeBound defaults to 8.45\n" ] } ], "source": [ "hfmOut = hfmIn.Run()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As can illustrated in the next cell, the sensitivity $\\rho = \\rho[x,c,\\sigma]$, of the value function $u(x)$ at a given point $x$ w.r.t. variations in the cost $c$, is (mostly) supported in the neighborhood of the minimal geodesic from $x$ to the nearest seed point. This property is actually at the foundation of one of our backtracking methods." ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:04.269734Z", "iopub.status.busy": "2024-04-30T08:59:04.269616Z", "iopub.status.idle": "2024-04-30T08:59:04.363753Z", "shell.execute_reply": "2024-04-30T08:59:04.363489Z" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAfwAAAEpCAYAAAB2oZCPAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAABC/0lEQVR4nO3de1xUdf4/8NfIZcYbpCgIioisJUiWDoag6FqJYpq2bpC5Iyb6a1Zduax9FS9BfkuiK3kBUkFyS2WLSLdQgd1EjdEEgdzEsiQhAwk3GbW4f35/+GXWYQaYGbmI83o+HufxaD7zPp/zPifqPZ9zzucciRBCgIiIiO5pvbo7ASIiIup8LPhERERmgAWfiIjIDLDgExERmQEWfCIiIjPAgk9ERGQGWPCJiIjMAAs+ERGRGWDBJyIiMgMs+ERERGaABZ+IiMgMsOBTp3jqqafQu3dvXLt2rdWYhQsXwsrKCleuXDG435SUFEgkEvzwww93nuQ9Qt8xyc3NRXR0tM7xv5Pj13Ld1rZBRHcnFnzqFCEhIaipqcHevXv1fl9dXY309HTMnj0bDg4OXZzdveWJJ56ASqWCo6Ojpi03NxcvvfSSTjHWF2vqdlrbBhHdnSy7OwG6NwUEBMDJyQnJyclYvny5zvf79u3Db7/9hpCQkG7I7t4yePBgDB48uMNjO3JdIup+HOFTp7CwsEBwcDDy8/Nx9uxZne93794NR0dHBAQEAAC+++47PPfccxg1ahT69OmDoUOHYs6cOXrXbWnx4sUYMWKETnt0dDQkEolW24ULF/Dss8/C3t4eUqkU7u7u2L59u0H79PPPP+P//b//B2dnZ0ilUgwePBiTJk1Cdna20dtozu3rr7/GggULYGtrCwcHByxZsgTV1dVGbbPlqfbo6Gi88MILAABXV1dIJBJIJBIcPXpUJ/aTTz6BRCLBP//5T539TUhIgEQiwVdffaWznba2cfz4cUgkEuzbt0+nzz179kAikeD06dMGHfPU1FQ89NBD6NOnD/r06YPZs2ejvLzcoHWJSBtH+NRplixZgldffRXJycl4++23Ne3nzp3Dl19+ibVr18LCwgIA8NNPP8HOzg6vvvoqBg8ejP/85z9477334O3tjYKCAjzwwAN3nM+5c+fg6+uL4cOH480338SQIUNw5MgRrFq1ClVVVYiKimpzfYVCgTNnzuCVV17B/fffj2vXruHMmTO4evWqyduYP38+goKCEBISgrNnzyIyMhIAkJycbPA2W1q6dCn+85//YOvWrfj44481p+A9PDx0rt3Pnj0b9vb22L17Nx577DGt71JSUjB+/HiMHTvWqG3Y2Nhg3Lhx2L59OxYsWKC13rZt2zBhwgRMmDChrUMNAFi+fDn27NmDdevWYcKECfjyyy8RFRWF4OBgZGZmtrs+EbUgiDrR1KlTxaBBg0RdXZ2m7a9//asAIL799ttW12toaBB1dXVi1KhRIjw8XNO+e/duAUCUlJRo2oKDg4WLi4tOH1FRUeL2P/EZM2aIYcOGierqaq24lStXCplMJv7zn/+0uS/9+vUTYWFhbcYYuo3m3F577TWtuOXLlwuZTCaampoM3qa+Y/L666/rtLUWGxERIXr37i2uXbumaTt37pwAILZu3drquq1t4/bYgoICTduXX34pAIj33nuvzf0RQoj3339f9OrVSxw/flyrXaFQCIlEopUrERmGp/SpU4WEhKCqqgoHDx4EADQ0NOD999+Hn58fRo0apYlraGjA5s2b4eHhAWtra1haWsLa2hoXLlxAcXHxHedRU1ODf/7zn3jqqafQp08fNDQ0aJZZs2ahpqYGJ0+ebLOPRx55BCkpKXj55Zdx8uRJ1NfX3/E2nnzySa3PY8eORU1NDSorKw3aZkdYsmQJfvvtN6Smpmradu/eDalUimeffdakPhcsWAB7e3utSxlbt27F4MGDERQU1O76r7zyCp566ilMnjxZq/3++++HEAK//vqrSXkRmTMWfOpUf/zjH2Fra4vdu3cDADIyMnDlyhWdm/UiIiKwceNGzJs3D//4xz9w6tQpnD59Gg899BB+++23O87j6tWraGhowNatW2FlZaW1zJo1CwBQVVXVZh+pqakIDg7Grl274OPjg4EDB2LRokWoqKgweRt2dnZan6VSKQBo9rm9bXaEMWPGYMKECZp/R42NjXj//fcxd+5cDBw40KQ+pVIpnn/+eezduxfXrl3Dzz//jL///e9YunSpZh9bc/78eRQXF2POnDk63/3444/o378/Z3YQmYDX8KlT9e7dGwsWLMDOnTtRXl6O5ORk9O/fH08//bRW3Pvvv49FixZh8+bNWu1VVVW477772tyGTCZDbW2tTvvtxXXAgAGwsLCAQqHAihUr9Pbj6ura5nYG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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=[6,3]); plt.title(r'Value sensitivity $\\rho$.'); plt.axis('equal'); \n", "plt.contourf(X,Y,hfmOut['costSensitivity_0']); # rho\n", "plt.colorbar();" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The second point $x_2 = (0.575,0.1)$ for which we request the sensitivity, is located precisely on the cut locus. In other words, it is at equal distance of the two seeds (taking into account the boundary conditions). The corresponding sensitivity $\\rho$ is thus supported on the neighborhood of two geodesics." ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:04.365318Z", "iopub.status.busy": "2024-04-30T08:59:04.365209Z", "iopub.status.idle": "2024-04-30T08:59:04.457368Z", "shell.execute_reply": "2024-04-30T08:59:04.457081Z" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAfwAAAEpCAYAAAB2oZCPAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAABKmUlEQVR4nO3de1hU1f4/8PfIZQYVUFEQFBHJEjQrwRAUPd5QTNPyBN1GzMsvjpVcjh3FS5CnJLuiKZiGmqdUTiFphQZ0kjRGU0TqBJYlCSpIWDJocV+/P/yyj8PMwMxwE+f9ep55HmfNZ6/1mT2Mn9l7r723TAghQERERLe1bp2dABEREbU/FnwiIiIzwIJPRERkBljwiYiIzAALPhERkRlgwSciIjIDLPhERERmgAWfiIjIDLDgExERmQEWfCIiIjPAgk9ERGQGunTBf+ihh2BjY4OrV6/qjXniiSdgZWWFy5cvG9zvzp07IZPJ8Msvv7Q+yduErnWSnZ2N2NhYrfXfmvXXdFl9Y9xqZDKZQY/Dhw93dqoma8vPtSN15e9zbGwsZDJZu/TdldcLmaZLF/yFCxeiqqoKu3fv1vl6RUUFUlNTMXPmTDg5OXVwdreXBx54ACqVCs7OzlJbdnY2XnzxRa1irCvW1HH0jXGrUalUGo8ZM2bAxsZGq33UqFGdnarJ2vJzpc7Hz8T8WHZ2Aq0RFBQEFxcXbN++HUuWLNF6fc+ePfjzzz+xcOHCTsju9tKvXz/069evzWPbctnONGbMGI3n/fr1Q7du3bTauzJz/FxvZ/xMzE+X3sK3sLBAaGgocnJy8N1332m9vmPHDjg7OyMoKAgA8NNPP+Gpp57C0KFD0b17dwwYMACzZs3SuWxT8+fPx+DBg7Xade1yO3v2LB5//HE4OjpCLpfD09MTmzdvNug9/frrr/h//+//wdXVFXK5HP369cPYsWORmZlp9BiNuX3//fd47LHHYG9vDycnJyxYsAAVFRVGjdl0919sbCyef/55AIC7u7vGLuumsR9//DFkMhm++OILrfebmJgImUyGb7/9Vmuc5sY4cuQIZDIZ9uzZo9Xnrl27IJPJcOLECYPWeXJyMu655x50794d3bt3x8yZM1FSUmLQssb6/vvvIZPJ8OGHH0ptOTk5kMlkGD58uEbsgw8+CG9vb422o0ePYvLkybC1tUX37t3h7++Pzz77zKCxG/8evv32WzzyyCOwt7dHnz59EBUVhbq6Ovzwww+YPn06bG1tMXjwYLz66qsay+v6GzDk70vXsm2RT2u+z/rs378fI0eOhFwux5AhQ7Bhwwa9u9UN/Z4b+pl99tlnuPfeeyGXy+Hu7o7XX39db56GjN3S91rfLv0zZ87gscceg5OTE+RyOQYNGoR58+ahurraoH7p1tWlt/ABYMGCBXjllVewfft2vPXWW1J7fn4+vvnmG6xYsQIWFhYAgEuXLsHBwQGvvPIK+vXrh99++w3vvfcefH19kZubi7vuuqvV+eTn58Pf3x+DBg3CG2+8gf79++Pzzz/H0qVLUV5ejpiYmGaXVyqVOHXqFF5++WXceeeduHr1Kk6dOoUrV66YPMbcuXMREhKChQsX4rvvvkN0dDQAYPv27QaP2dSiRYvw22+/4e2338a+ffuk3YJeXl5a/4HMnDkTjo6O2LFjByZPnqzx2s6dOzFq1CiMHDnSqDHs7Oxw3333YfPmzXjsscc0ltu0aRNGjx6N0aNHN7eqAQBLlizBrl27sHLlSowePRrffPMNYmJiEBoaivT09BaXN9bw4cPh7OyMzMxMPPLIIwCAzMxM2NjYID8/H5cuXYKLiwvq6uqQlZWFsLAwadmsrCxMnToVI0eORFJSEuRyORISEjBr1izs2bMHISEhBuUQHByMJ598Ek8//TQyMjLw6quvora2FpmZmViyZAmWLVuG3bt3Y/ny5bjjjjvw8MMPN9tfS39f7ZVPW3+fDx06hIcffhjjx49HcnIy6urq8Prrr+uc/2Pod9DQz+yLL77A7Nmz4efnh71796K+vh6vvvpqq8Y25Xudl5eHcePGoW/fvli7di2GDh2KkpISHDhwADU1NZDL5Sb1S7cIcRuYMGGC6Nu3r6ipqZHa/v73vwsA4scff9S7XF1dnaipqRFDhw4VkZGRUvuOHTsEAFFYWCi1hYaGCjc3N60+YmJixM2rcdq0aWLgwIGioqJCI+7ZZ58VCoVC/Pbbb82+l549e4qIiIhmYwwdozG3V199VSNuyZIlQqFQiIaGBoPH1LVOXnvtNa02fbFRUVHCxsZGXL16VWrLz88XAMTbb7+td1l9Y9wcm5ubK7V98803AoB47733mn0/Qgjx/vvvi27duokjR45otCuVSiGTyTRyNVZoaKjo0aOHzteefPJJMWTIEOn5lClTxOLFi0Xv3r2lvL/++msBQKSnp0txY8aMEY6OjqKyslJqq6urEyNGjBADBw6UPk99Gv8e3njjDY32e++9VwAQ+/btk9pqa2tFv379xMMPPyy1Nf1sDP370rVsW+TTlDHfZ11Gjx4tXF1dRXV1tdRWWVkpHBwcRNP/Kg39Dhr6mfn6+goXFxfx559/SnFqtVr06dPH5LFb+l7rWi+TJk0SvXr1EmVlZXqXM+T/C7o1deld+o0WLlyI8vJyHDhwAABQV1eH999/HwEBARg6dKgUV1dXh3Xr1sHLywvW1tawtLSEtbU1zp49i4KCglbnUVVVhS+++AIPPfQQunfvjrq6OukxY8YMVFVV4dixY832cf/992Pnzp146aWXcOzYMdTW1rZ6jAcffFDj+ciRI1FVVYWysjKDxmwLCxYswJ9//onk5GSpbceOHZDL5Xj88cdN6vOxxx6Do6Ojxq7Mt99+G/369TNoa/fll1/GQw89hHHjxmm033nnnRBC4I8//jApr5ZMnjwZ586dQ2FhIaqqqnD06FFMnz4dEydOREZGBoAbW/1yuVzK7fr16zh+/Dj++te/omfPnlJfFhYWUCqVuHDhAn744QeDxp85c6bGc09PT8hkMunQFwBYWlrijjvuwPnz51vsr6W/r/bKpy2/z9evX8fJkycxZ84cWFtbS+09e/bErFmzNGIN/Q4a+pldv34dJ06cwMMPPwyFQiHF2dramjw2YPz3+o8//kBWVhaCg4ObPbbfEf9fUPu4LQr+X//6V9jb22PHjh0AgLS0NFy+fFlrsl5UVBTWrFmDOXPm4JNPPsHx48dx4sQJ3HPPPfjzzz9bnceVK1dQV1eHt99+G1ZWVhqPGTNmAADKy8ub7SM5ORmhoaF499134efnhz59+mDevHkoLS01eQwHBweN53K5HACk99zSmG1h+PDhGD16tPQZ1dfX4/3338fs2bPRp08fk/qUy+V4+umnsXv3bly9ehW//vor/v3vf2PRokXSe9TnzJkzKCgo0PoPFQAuXLgAW1vbdjuzY8qUKQBuFPWjR4+itrYWkyZNwpQpU6R5DpmZmRg7dixsbGwAAL///juEEDpnVLu4uACAwbtUm65va2trdO/eXaPYNLZXVVW12F9Lf1/tlU9bfp8b16+uz7xpm6HfQUM/s99//x0NDQ3o37+/VlzTNmO+/8Z+r3///XfU19dj4MCBza6rjvj/gtpHlz+GDwA2NjZ47LHHsG3bNpSUlGD79u2wtbWVjpE2ev/99zFv3jysW7dOo728vBy9evVqdgyFQiFNWmm6bKPevXtLv96feeYZnf24u7s3O07fvn0RHx+P+Ph4FBUV4cCBA1ixYgXKyspw6NChNhnD2DHbylNPPYUlS5agoKAA586dQ0lJCZ566qlW9fm3v/1NmsNRVVWFuro6jePe+mRnZwMABg0apNHe0NCATz/9FHPmzEG3bu3ze3jgwIG48847kZmZicGDB8PHxwe9evXC5MmTsWTJEhw/fhzHjh3Diy++KC3Tu3dvdOvWTedkwkuXLgG48Tmak9Z8n5vq3bs3ZDKZzmPmTQuZod9BhUJh0GfWOLaugmnq2I19G/O97tOnDywsLHDhwgWd/TbqqP8vqO3dFgUfuLFbf8uWLXjttdeQlpaG+fPno3v37hoxMplMa8vvs88+w8WLF3HHHXc02//gwYNRVlaGy5cvS7/4a2pq8Pnnn0sx3bt3x8SJE5Gbm4uRI0dq7Bo0xaBBg/Dss8/iiy++wNdff90uYxgypj7Gbsk99thjiIqKws6dO3Hu3DkMGDAAgYGBrRrD2dkZjzzyCBISElBTU4NZs2ZpFXFdGmfwnz17FhMnTpTaGydpPffccwa9J1NNmTIF//73v+Hq6ooHHngAwI1DCYMGDcILL7yA2tpaaU8AAPTo0QO+vr7Yt28fXn/9dWnLv6GhAe+//770I8KctOb73FSPHj3g4+ODjz/+GK+//rr0vbp27Ro+/fRTjVhjvoOGfGYymQz3338/9u3bh9dee03as1FZWYlPPvnE5LFvZsj32sbGBhMmTMCHH36Il19+2aAfkMb8f0Gd77Yp+D4+Phg5ciTi4+MhhNB57v3MmTOxc+dODBs2DCNHjkROTg5ee+21FndhAUBISAheeOEFPProo3j++edRVVWFjRs3or6+XiNuw4YNGDduHAICAvC3v/0NgwcPRmVlJX766Sd88skn+M9//qN3jIqKCkycOBGPP/44hg0bBltbW5w4cUKaPdwWY5g6pi533323lE9oaCisrKyanRndq1cvPPTQQ9i5cyeuXr2KZcuWtbgVrW8MW1tbKSY8PBy+vr4AIB0yaMk333wDV1dXrFq1CtbW1nBycsKBAwfwzjvv4LXXXtOY4Z+VlYXJkyfjhRdewAsvvGBQ/y2ZPHkyEhISUF5ejvj4eI32HTt2oHfv3lqn5MXFxWHq1KmYOHEili1bBmtrayQkJOC///0v9uzZ025XZLtVteb7rMvatWvxwAMPYNq0aQgPD0d9fT1ee+019OzZE7/99ptGrKHfQUM/s3/+85+YPn06pk6dir///e+or6/H+vXr0aNHD5PGNvV7/eabb2LcuHHw9fXFihUrcMcdd+Dy5cvSd6OhocGgftvjO0NtoFOnDLaxDRs2CADCy8tL5+u///67WLhwoXB0dBTdu3cX48aNE0eOHBETJkwQEyZMkOL0zepNS0sT9957r7CxsRFDhgwRmzZt0pqlL4QQhYWFYsGCBWLAgAHCyspK9OvXT/j7+4uXXnqp2fyrqqpEWFiYGDlypLCzsxM2NjbirrvuEjExMeL69etGj9GY26+//qqx7M3vz9Ax9a2T6Oho4eLiIrp16yYAiC+//LLZWdHp6ekCgN4zKHQtq2uMpgYPHiw8PT2bWbv/U1VVJaysrERMTIyIj48XAwcOFNbW1uK+++4TycnJWvFffvmlACBiYmIM6l+I5mfpC3Hjb7Fbt26iR48eGmeXfPDBBwKA3tnoR44cEZMmTRI9evQQNjY2YsyYMeKTTz4xKCd9fw/6cp0wYYIYPny49FzfLP3m/r6aa2ttPq39PuuSmpoq7r77bmFtbS0GDRokXnnlFbF06VLRu3dvrVhDv+eGfmYHDhwQI0eO1Bhb1/8vhoxtyPda33rJz88XjzzyiHBwcJBymT9/vqiqqjL4/wtTvjPU/mRCCNFxPy+I2t63336Le+65B5s3b9Z5xcWmjh8/jjFjxuDTTz+VdqcT6VJbW4t7770XAwYMaJfrMhB1pNtmlz6Zn59//hnnz5/HypUr4ezsjPnz5xu0XOPxex8fn3bMjrqihQsXYurUqXB2dkZpaSm2bNmCgoICbNiwobNTI2o1Fnzqsv75z3/iX//6Fzw9PfHhhx9qTdLU58SJE3B1deUNlUhLZWUlli1bhl9//RVWVlYYNWoU0tLSNCZQEnVV3KVPRERkBm6LC+8QERF1hISEBOk6C97e3jhy5Eiz8VlZWfD29oZCocCQIUOwZcsWrZiUlBR4eXlBLpfDy8sLqampGq/X1dVh9erVcHd3h42NDYYMGYK1a9eioaHBuOQ7d84gERFR17B3715hZWUltm3bJvLz80V4eLjo0aOHOH/+vM74c+fOie7du4vw8HCRn58vtm3bJqysrMRHH30kxWRnZwsLCwuxbt06UVBQINatWycsLS3FsWPHpJiXXnpJODg4iE8//VQUFhaKDz/8UPTs2VPEx8cblT936RMRERnA19cXo0aNQmJiotTm6emJOXPmIC4uTit++fLlOHDggMa9HcLCwpCXlweVSgXgxjVe1Go1Dh48KMVMnz4dvXv3lm7/PXPmTDg5OSEpKUmKmTt3Lrp3745//etfBuffJSbtNTQ04NKlS7C1tTW7i4sQEd1OhBCorKyEi4tLu1y+uqqqCjU1NUbl07SuyOVyras41tTUICcnBytWrNBoDwwMlC7V3ZRKpdK6mui0adOQlJSE2tpaWFlZQaVSITIyUivm5gtyjRs3Dlu2bMGPP/6IO++8E3l5eTh69KhGjCG6RMG/dOkSXF1dOzsNIiJqI8XFxSZfFVGfqqoqDBrUA7/+avix7Z49e+LatWsabTExMYiNjdVoKy8vR319vdbZPU5OTnpvHFRaWqozvq6uDuXl5dLpny31uXz5clRUVGDYsGGwsLBAfX09Xn75ZTz22GMGv0+gixT8xsuoFhcXw87OrpOzISIiU6nVari6umpcHrut1NTU4NdfG3D4uCN69mx5b/C1awJ/8S3Tqi3N3W2z6d4AXXsIWopv2t5Sn8nJyXj//fexe/duDB8+HKdPn0ZERARcXFwQGhrazDvU1CUKfuMbt7OzY8EnIroNtOfh2Z49Zehpa8jhght7AgypLX379oWFhYXW1nxZWZnea3r0799fZ7ylpaV0W2l9MTf3+fzzz2PFihV49NFHAdy4x8j58+cRFxdnVMHnaXlEREQtsLa2hre3NzIyMjTaMzIy4O/vr3MZPz8/rfj09HT4+PjAysqq2Zib+/zjjz+05jtYWFgYfVpel9jCJyIi6mxRUVFQKpXw8fGBn58ftm7diqKiIoSFhQEAoqOjcfHiRezatQvAjRn5mzZtQlRUFBYvXgyVSoWkpCRp9j1w426f48ePx/r16zF79mzs378fmZmZOHr0qBQza9YsvPzyyxg0aBCGDx+O3NxcvPnmm1iwYIFR+bPgExERGSAkJARXrlzB2rVrUVJSghEjRiAtLQ1ubm4AgJKSEhQVFUnx7u7uSEtLQ2RkJDZv3gwXFxds3LgRc+fOlWL8/f2xd+9erF69GmvWrIGHhweSk5OlW34DwNtvv401a9ZgyZIlKCsrg4uLC55++mmjbz3cJc7DV6vVsLe3R0VFBY/hExF1Ye35/3lj3ye/dzLoGP61ygb4DL9sNrWFx/CJiIjMAAs+ERGRGWDBJyIiMgMs+ERERGaABZ+IiMgMsOATERGZARZ8IiIiM8CCT0REZAZY8ImIiMwACz4REZEZYMEnIiIyA0YX/K+++gqzZs2Ci4sLZDIZPv744xaXycrKgre3NxQKBYYMGYItW7aYkisRERGZyOiCf/36ddxzzz3YtGmTQfGFhYWYMWMGAgICkJubi5UrV2Lp0qVISUkxOlkiIiIyjdG3xw0KCkJQUJDB8Vu2bMGgQYMQHx8PAPD09MTJkyfx+uuva9wikIiIiNpPux/DV6lUCAwM1GibNm0aTp48idraWp3LVFdXQ61WazyIiIjIdO1e8EtLS+Hk5KTR5uTkhLq6OpSXl+tcJi4uDvb29tLD1dW1vdMkIiK6rRm9S98UMplM47kQQmd7o+joaERFRUnP1Wo1XF1dMXfo32HZzbr9EiUionZV11DT2SmYrXYv+P3790dpaalGW1lZGSwtLeHg4KBzGblcDrlc3t6pERERmY1236Xv5+eHjIwMjbb09HT4+PjAysqqvYcnIiJqMwkJCXB3d4dCoYC3tzeOHDnSbLwhp6WnpKTAy8sLcrkcXl5eSE1N1Xh98ODBkMlkWo9nnnnGqNyNLvjXrl3D6dOncfr0aQA3Trs7ffo0ioqKANzYHT9v3jwpPiwsDOfPn0dUVBQKCgqwfft2JCUlYdmyZcYOTURE1GmSk5MRERGBVatWITc3FwEBAQgKCpLqX1OGnJauUqkQEhICpVKJvLw8KJVKBAcH4/jx41LMiRMnUFJSIj0aN6IfeeQRo/KXicYD6gY6fPgwJk6cqNUeGhqKnTt3Yv78+fjll19w+PBh6bWsrCxERkbi+++/h4uLC5YvX46wsDCDx1Sr1bC3t8cUx0U8hk9E1IXVNdQgs+xdVFRUwM7Ork37bqwVJ793Qk/blrdnr1U2wGf4ZYNz8fX1xahRo5CYmCi1eXp6Ys6cOYiLi9OKX758OQ4cOICCggKpLSwsDHl5eVCpVACAkJAQqNVqHDx4UIqZPn06evfujT179ujMIyIiAp9++inOnj2rdy6cLkYfw//LX/6C5n4j7Ny5U6ttwoQJOHXqlLFDERERtbump37rmkdWU1ODnJwcrFixQqM9MDAQ2dnZOvvVd1p6UlISamtrYWVlBZVKhcjISK2YxmvXNFVTU4P3338fUVFRRhV7oINm6RMREXWUjyvvgUK0PEes6lotgHStU79jYmIQGxur0VZeXo76+nqdp5k3nZjeqKXT0p2dnfXG6Ovz448/xtWrVzF//vwW319TLPhERGTWiouLNXbpN3eWmK7TzJvb0jbktHRj+kxKSkJQUBBcXFz0jqkPCz4REZk1Ozu7Fo/h9+3bFxYWFjpPM2+6hd7IkNPS9cXo6vP8+fPIzMzEvn37WnxPuvD2uERERC2wtraGt7e31mnmGRkZ8Pf317mMIael64vR1eeOHTvg6OiIBx54wKT3wC18IiIiA0RFRUGpVMLHxwd+fn7YunUrioqKpLPOoqOjcfHiRezatQvAjRn5mzZtQlRUFBYvXgyVSoWkpCSN2ffh4eEYP3481q9fj9mzZ2P//v3IzMzE0aNHNcZuaGjAjh07EBoaCktL00o3Cz4REZEBQkJCcOXKFaxduxYlJSUYMWIE0tLS4ObmBgAoKSnROCff3d0daWlpiIyMxObNm+Hi4oKNGzdq3CnW398fe/fuxerVq7FmzRp4eHggOTkZvr6+GmNnZmaiqKgICxYsMDl/o8/D7ww8D5+I6PbQEefhrz4WCEVPw2bpvzQmvV1yuRXxGD4REZEZYMEnIiIyAyz4REREZoAFn4iIyAyw4BMREZkBFnwiIiIzwIJPRERkBljwiYiIzAALPhERkRlgwSciIjIDLPhERERmgAWfiIjIDLDgExERmQEWfCIiIjPAgk9ERGQGWPCJiIjMAAs+ERGRGWDBJyIiMgMs+ERERAZKSEiAu7s7FAoFvL29ceTIkWbjs7Ky4O3tDYVCgSFDhmDLli1aMSkpKfDy8oJcLoeXlxdSU1O1Yi5evIgnn3wSDg4O6N69O+69917k5OQYlbtJBd/YN/zBBx/gnnvuQffu3eHs7IynnnoKV65cMWVoIiKiTpGcnIyIiAisWrUKubm5CAgIQFBQEIqKinTGFxYWYsaMGQgICEBubi5WrlyJpUuXIiUlRYpRqVQICQmBUqlEXl4elEolgoODcfz4cSnm999/x9ixY2FlZYWDBw8iPz8fb7zxBnr16mVU/jIhhDD2DSuVSiQkJGDs2LF455138O677yI/Px+DBg3Sij969CgmTJiAt956C7NmzcLFixcRFhaGoUOH6vwVo4tarYa9vT2mOC6CZTdrY9IlIqJbSF1DDTLL3kVFRQXs7OzatO/GWrH6WCAUPa1ajK+6VouXxqQbnIuvry9GjRqFxMREqc3T0xNz5sxBXFycVvzy5ctx4MABFBQUSG1hYWHIy8uDSqUCAISEhECtVuPgwYNSzPTp09G7d2/s2bMHALBixQp8/fXXLW5ct8ToLfw333wTCxcuxKJFi+Dp6Yn4+Hi4urpqrICbHTt2DIMHD8bSpUvh7u6OcePG4emnn8bJkydblTgREVFbUKvVGo/q6mqtmJqaGuTk5CAwMFCjPTAwENnZ2Tr7ValUWvHTpk3DyZMnUVtb22zMzX0eOHAAPj4+eOSRR+Do6Ij77rsP27ZtM/p9GlXwTXnD/v7+uHDhAtLS0iCEwOXLl/HRRx/hgQceMDpZIiKilnx5+U5klA5r8fHl5TsBAK6urrC3t5ceurbWy8vLUV9fDycnJ412JycnlJaW6syjtLRUZ3xdXR3Ky8ubjbm5z3PnziExMRFDhw7F559/jrCwMCxduhS7du0yar1YGhNsyhv29/fHBx98gJCQEFRVVaGurg4PPvgg3n77bb3jVFdXa/zCUqvVxqRJRGSwmmEDUeEhh/3P1bA+c6Gz06FOUFxcrLFLXy6X642VyWQaz4UQWm0txTdtb6nPhoYG+Pj4YN26dQCA++67D99//z0SExMxb948vWM3ZdKkPWPecH5+PpYuXYoXXngBOTk5OHToEAoLCxEWFqa3/7i4OI1fW66urqakSUTUrMZiX+kmQ4WH/v/k6fZmZ2en8dBV8Pv27QsLCwutjduysjKtjeBG/fv31xlvaWkJBweHZmNu7tPZ2RleXl4aMZ6ennonC+pjVME35Q3HxcVh7NixeP755zFy5EhMmzYNCQkJ2L59O0pKSnQuEx0djYqKCulRXFxsTJpERERtytraGt7e3sjIyNBoz8jIgL+/v85l/Pz8tOLT09Ph4+MDKyurZmNu7nPs2LH44YcfNGJ+/PFHuLm5GfUejCr4przhP/74A926aQ5jYWEB4H+7NpqSy+Vav7iIiIg6U1RUFN59911s374dBQUFiIyMRFFRkbTHOjo6WmMXe1hYGM6fP4+oqCgUFBRg+/btSEpKwrJly6SY8PBwpKenY/369Thz5gzWr1+PzMxMRERESDGRkZE4duwY1q1bh59++gm7d+/G1q1b8cwzzxiVv1HH8BvfsFKphI+PD/z8/LB161atN3zx4kVpMsGsWbOwePFiJCYmYtq0aSgpKUFERATuv/9+uLi4GDs8EVGbsT5zAfDwgO15AfuftWdmE90sJCQEV65cwdq1a1FSUoIRI0YgLS1N2tIuKSnR2M3u7u6OtLQ0REZGYvPmzXBxccHGjRsxd+5cKcbf3x979+7F6tWrsWbNGnh4eCA5ORm+vr5SzOjRo5Gamoro6GisXbsW7u7uiI+PxxNPPGFU/kafhw/cuPDOq6++Kr3ht956C+PHjwcAzJ8/H7/88gsOHz4sxb/99tvYsmULCgsL0atXL0yaNAnr16/HgAEDDBqP5+ETUXv59QEPAOCkvQ7SEefhj93/LCx7tDwno+56Nb6evaldcrkVmVTwOxoLPhG1l5sLPgAW/XbGgt95eC19IiIiM8CCT0RmjcfuyVyw4BOR2WPRJ3PAgk9ERGQGWPCJiIjMAAs+ERGRGWDBJyIiMgMs+EREN6kZNrCzUyBqFyz4RGTWeKEdMhcs+ERERGaABZ+IzN7NW/nc4qfbFQs+ERH+V+h5DJ9uVyz4RET/h0Wfbmcs+ERERGaABZ+IiMgMsOATERGZARZ8IqKbWJ+5wJn6pFdCQgLc3d2hUCjg7e2NI0eONBuflZUFb29vKBQKDBkyBFu2bNGKSUlJgZeXF+RyOby8vJCamqrxemxsLGQymcajf//+RufOgk9ERGSA5ORkREREYNWqVcjNzUVAQACCgoJQVFSkM76wsBAzZsxAQEAAcnNzsXLlSixduhQpKSlSjEqlQkhICJRKJfLy8qBUKhEcHIzjx49r9DV8+HCUlJRIj++++87o/GVCCGH0Uh1MrVbD3t4eUxwXwbKbdWenQ0REJqprqEFm2buoqKiAnZ1dm/bdWCvG7n8Wlj3kLedyvRpfz95kcC6+vr4YNWoUEhMTpTZPT0/MmTMHcXFxWvHLly/HgQMHUFBQILWFhYUhLy8PKpUKABASEgK1Wo2DBw9KMdOnT0fv3r2xZ88eADe28D/++GOcPn26xRybwy18IiKiFtTU1CAnJweBgYEa7YGBgcjOzta5jEql0oqfNm0aTp48idra2mZjmvZ59uxZuLi4wN3dHY8++ijOnTtn9HtgwSciIrOmVqs1HtXV1Vox5eXlqK+vh5OTk0a7k5MTSktLdfZbWlqqM76urg7l5eXNxtzcp6+vL3bt2oXPP/8c27ZtQ2lpKfz9/XHlyhWj3qelUdFERES3uKJLfdHNRtFiXMOfVQAAV1dXjfaYmBjExsbqXEYmk2k8F0JotbUU37S9pT6DgoKkf999993w8/ODh4cH3nvvPURFRekduykWfCIiMmvFxcUax/Dlcu3j/3379oWFhYXW1nxZWZnWFnqj/v3764y3tLSEg4NDszH6+gSAHj164O6778bZs2ebf2NNcJc+ERGZNTs7O42HroJvbW0Nb29vZGRkaLRnZGTA399fZ79+fn5a8enp6fDx8YGVlVWzMfr6BIDq6moUFBTA2dnZoPfXiAWfiIjIAFFRUXj33Xexfft2FBQUIDIyEkVFRQgLCwMAREdHY968eVJ8WFgYzp8/j6ioKBQUFGD79u1ISkrCsmXLpJjw8HCkp6dj/fr1OHPmDNavX4/MzExERERIMcuWLUNWVhYKCwtx/Phx/PWvf4VarUZoaKhR+XOXPhERkQFCQkJw5coVrF27FiUlJRgxYgTS0tLg5uYGACgpKdE4J9/d3R1paWmIjIzE5s2b4eLigo0bN2Lu3LlSjL+/P/bu3YvVq1djzZo18PDwQHJyMnx9faWYCxcu4LHHHkN5eTn69euHMWPG4NixY9K4huJ5+ERE1GE64jx818RYgyftFf8ttl1yuRWZtEvf2EsLVldXY9WqVXBzc4NcLoeHhwe2b99uUsJERERkPKN36TdeWjAhIQFjx47FO++8g6CgIOTn52PQoEE6lwkODsbly5eRlJSEO+64A2VlZairq2t18kRERGQYowv+m2++iYULF2LRokUAgPj4eHz++edITEzUeWnBQ4cOISsrC+fOnUOfPn0AAIMHD25d1kREHaRm2EDeTIduC0bt0jfl0oIHDhyAj48PXn31VQwYMAB33nknli1bhj///FPvONXV1VpXPiIiIiLTGbWFb8qlBc+dO4ejR49CoVAgNTUV5eXlWLJkCX777Te9x/Hj4uLw4osvGpMaERERNcOkSXvGXFqwoaEBMpkMH3zwAe6//37MmDEDb775Jnbu3Kl3Kz86OhoVFRXSo7i42JQ0iYiI6P8YtYVvyqUFnZ2dMWDAANjb20ttnp6eEELgwoULGDp0qNYycrlc55WOiIg6Go/f0+3CqC18Uy4tOHbsWFy6dAnXrl2T2n788Ud069YNAwcONCFlIiIiMpbRu/SNvbTg448/DgcHBzz11FPIz8/HV199heeffx4LFiyAjY1N270TIqJ2VDOMGyjUtRl9Wp6xlxbs2bMnMjIy8Nxzz8HHxwcODg4IDg7GSy+91HbvgoioHbHY0+3ApGvpL1myBEuWLNH52s6dO7Xahg0bpnUYgIioq+E5+dSV8W55REREZoAFn4iIyAyw4BMREZkBFnwiohbcfNyeE/ioq2LBJyIiMgMs+ERERGaABZ+IiMgMsOATEREZKCEhAe7u7lAoFPD29saRI0eajc/KyoK3tzcUCgWGDBmCLVu2aMWkpKTAy8sLcrkcXl5eSE1N1dtfXFwcZDIZIiIijM6dBZ+IyEicuGeekpOTERERgVWrViE3NxcBAQEICgrSuLrszQoLCzFjxgwEBAQgNzcXK1euxNKlS5GSkiLFqFQqhISEQKlUIi8vD0qlEsHBwTh+/LhWfydOnMDWrVsxcuRIk/JnwSciIjLAm2++iYULF2LRokXw9PREfHw8XF1dkZiYqDN+y5YtGDRoEOLj4+Hp6YlFixZhwYIFeP3116WY+Ph4TJ06FdHR0Rg2bBiio6MxefJkxMfHa/R17do1PPHEE9i2bRt69+5tUv4s+ERERC2oqalBTk4OAgMDNdoDAwORnZ2tcxmVSqUVP23aNJw8eRK1tbXNxjTt85lnnsEDDzyAKVOmmPweTLqWPhER0e1CrVZrPJfL5ZDL5Rpt5eXlqK+vh5OTk0a7k5MTSktLdfZbWlqqM76urg7l5eVwdnbWG3Nzn3v37sWpU6dw4sQJo9/bzVjwiYjotmJdbA0LhXWLcfVVDQAAV1dXjfaYmBjExsbqXEYmk2k8F0JotbUU37S9uT6Li4sRHh6O9PR0KBSKZt5Ny1jwiYgMYH3mAifr3aaKi4thZ2cnPW+6dQ8Affv2hYWFhdbWfFlZmdYWeqP+/fvrjLe0tISDg0OzMY195uTkoKysDN7e3tLr9fX1+Oqrr7Bp0yZUV1fDwsLCoPfJY/hERCZg8b992NnZaTx0FXxra2t4e3tr3eo9IyMD/v7+Ovv18/PTik9PT4ePjw+srKyajWnsc/Lkyfjuu+9w+vRp6eHj44MnnngCp0+fNrjYA9zCJyIiMkhUVBSUSiV8fHzg5+eHrVu3oqioCGFhYQCA6OhoXLx4Ebt27QIAhIWFYdOmTYiKisLixYuhUqmQlJSEPXv2SH2Gh4dj/PjxWL9+PWbPno39+/cjMzMTR48eBQDY2tpixIgRGnn06NEDDg4OWu0tYcEnIiIyQEhICK5cuYK1a9eipKQEI0aMQFpaGtzc3AAAJSUlGufku7u7Iy0tDZGRkdi8eTNcXFywceNGzJ07V4rx9/fH3r17sXr1aqxZswYeHh5ITk6Gr69vm+cvE40zCG5harUa9vb2mOK4CJbdWp6IQUTUHpruxr/5LnpkmLqGGmSWvYuKigqN4+ZtobFWeKxcBwsDJrjVV1Xh53Ur2yWXWxGP4RMREZkBFnwiIiIzwIJPRERkBljwiYhMxFPzqCthwSciIjIDLPhERERmgAWfiIjIDLDgExEZiOfdU1dmUsFPSEiAu7s7FAoFvL29ceTIEYOW+/rrr2FpaYl7773XlGGJiIjIREYX/OTkZERERGDVqlXIzc1FQEAAgoKCNC4nqEtFRQXmzZuHyZMnm5wsERERmcbogv/mm29i4cKFWLRoETw9PREfHw9XV1ckJiY2u9zTTz+Nxx9/HH5+fiYnS0RERKYxquDX1NQgJycHgYGBGu2BgYHIzs7Wu9yOHTvw888/IyYmxqBxqquroVarNR5ERERkOqMKfnl5Oerr6+Hk5KTR7uTkhNLSUp3LnD17FitWrMAHH3wAS0vDbs4XFxcHe3t76eHq6mpMmkRERNSESZP2ZDKZxnMhhFYbANTX1+Pxxx/Hiy++iDvvvNPg/qOjo1FRUSE9iouLTUmTiIiI/o9hm9z/p2/fvrCwsNDami8rK9Pa6geAyspKnDx5Erm5uXj22WcBAA0NDRBCwNLSEunp6Zg0aZLWcnK5HHK53JjUiIiIqBlGbeFbW1vD29sbGRkZGu0ZGRnw9/fXirezs8N3332H06dPS4+wsDDcddddOH36NHx9fVuXPRERERnEqC18AIiKioJSqYSPjw/8/PywdetWFBUVISwsDMCN3fEXL17Erl270K1bN4wYMUJjeUdHRygUCq12IiIiaj9GF/yQkBBcuXIFa9euRUlJCUaMGIG0tDS4ubkBAEpKSlo8J5+IqKur8JDD/ufqzk6DyGAmTdpbsmQJfvnlF1RXVyMnJwfjx4+XXtu5cycOHz6sd9nY2FicPn3alGGJiIg6lbFXms3KyoK3tzcUCgWGDBmCLVu2aMWkpKTAy8sLcrkcXl5eSE1N1Xg9MTERI0eOhJ2dHezs7ODn54eDBw8anTuvpU9ERGQAY680W1hYiBkzZiAgIAC5ublYuXIlli5dipSUFClGpVIhJCQESqUSeXl5UCqVCA4OxvHjx6WYgQMH4pVXXsHJkydx8uRJTJo0CbNnz8b3339vVP4yIYQw7a13HLVaDXt7e0xxXATLbtadnQ4RmbGaYQMB/G+XPm+oY5y6hhpklr2LiooK2NnZtWnfjbXCY+U6WCgULcbXV1Xh53UrDc7F19cXo0aN0riyrKenJ+bMmYO4uDit+OXLl+PAgQMoKCiQ2sLCwpCXlweVSgXgxmFytVqtscU+ffp09O7dG3v27NGbS58+ffDaa69h4cKFLebdiFv4RERELTDlSrMqlUorftq0aTh58iRqa2ubjdHXZ319Pfbu3Yvr168bfal6oyftERHR/9QMG8it/C6u6eXbdV0LxpQrzZaWluqMr6urQ3l5OZydnfXGNO3zu+++g5+fH6qqqtCzZ0+kpqbCy8vLqPfJgk9EZATrMxek3fp0a7ItFrCwbvlodX3NjZiml2+PiYlBbGyszmUMvdJsc/FN2w3ps/H6NVevXkVKSgpCQ0ORlZVlVNFnwSciIrNWXFyscQxf15Vejb3SLAD0799fZ7ylpSUcHByajWnap7W1Ne644w4AgI+PD06cOIENGzbgnXfeMfBd8hg+ERGZucbT3Rofugq+sVeaBQA/Pz+t+PT0dPj4+MDKyqrZGH19NhJCoLrauOtAcAufiIjIAMZcaRa4MSN/06ZNiIqKwuLFi6FSqZCUlKQx+z48PBzjx4/H+vXrMXv2bOzfvx+ZmZk4evSoFLNy5UoEBQXB1dUVlZWV2Lt3Lw4fPoxDhw4ZlT8LPhERkQGMvdKsu7s70tLSEBkZic2bN8PFxQUbN27E3LlzpRh/f3/s3bsXq1evxpo1a+Dh4YHk5GSNe81cvnwZSqUSJSUlsLe3x8iRI3Ho0CFMnTrVqPx5Hj41qzWTkzhzmW5XNcMGalxal3/rhuuI8/DvVb4MC2sDzsOvqcLpf61ql1xuRdzCJ71qhg3Ez/O7YfDAX/HLhX5ar8uLtH982Z6/6fejh4f0T0OuOc7/NImI2g8LPulV4SHH4IGXAACDB/4qtTcW/+pBNVJbY/GvdPvfqSQ3F/8KjxuTYJor/I17E1j4iYjaHgs+6dXvs59xzu0Orfam81dvFPbmjwwZc1cxFn4iorbHgk/NGpLwk/Tvjr7YCAs/EVHbYcEng+kqvB3xI+DmMVj8iYhMw4JPraKvALfXDwFet5yIyDQs+NQu2nNvALf4iYiMx4JPHaY9fgRwi5+IyDAs+NSp2uKQACf3ERG1jAWfbknG/hBgsSciah4LPnUpLOxERKbh7XGJiIjMAAs+ERGRGWDBJyIiMgMs+ERERGaABZ+IiMgMmFTwExIS4O7uDoVCAW9vbxw5ckRv7L59+zB16lT069cPdnZ28PPzw+eff25ywkRERGQ8owt+cnIyIiIisGrVKuTm5iIgIABBQUEoKirSGf/VV19h6tSpSEtLQ05ODiZOnIhZs2YhNze31ckTERGRYYwu+G+++SYWLlyIRYsWwdPTE/Hx8XB1dUViYqLO+Pj4ePzjH//A6NGjMXToUKxbtw5Dhw7FJ5980urkiYiIOpIxe7gBICsrC97e3lAoFBgyZAi2bNmiFZOSkgIvLy/I5XJ4eXkhNTVV4/W4uDiMHj0atra2cHR0xJw5c/DDDz8YnbtRBb+mpgY5OTkIDAzUaA8MDER2drZBfTQ0NKCyshJ9+vQxZmgiIqJOZewe7sLCQsyYMQMBAQHIzc3FypUrsXTpUqSkpEgxKpUKISEhUCqVyMvLg1KpRHBwMI4fPy7FZGVl4ZlnnsGxY8eQkZGBuro6BAYG4vr160blb9SV9srLy1FfXw8nJyeNdicnJ5SWlhrUxxtvvIHr168jODhYb0x1dTWqq6ul52q12pg0iYiI2tzNe7iBG3uwP//8cyQmJiIuLk4rfsuWLRg0aBDi4+MBAJ6enjh58iRef/11zJ07V+pj6tSpiI6OBgBER0cjKysL8fHx2LNnDwDg0KFDGv3u2LEDjo6OyMnJwfjx4w3O36RJezKZTOO5EEKrTZc9e/YgNjYWycnJcHR01BsXFxcHe3t76eHq6mpKmkRERG3ClD3cKpVKK37atGk4efIkamtrm41pbq95RUUFABi9p9yogt+3b19YWFhobc2XlZVpbfU3lZycjIULF+Lf//43pkyZ0mxsdHQ0KioqpEdxcbExaRIRtasKD3lnp0BtSK1Wazxu3sPcyJQ93KWlpTrj6+rqUF5e3myMvj6FEIiKisK4ceMwYsQIg98jYOQufWtra3h7eyMjIwMPPfSQ1J6RkYHZs2frXW7Pnj1YsGAB9uzZgwceeKDFceRyOeRyfqGIiMh4doXVsLRsea9zXd2Nwt50L3JMTAxiY2N1LmPsHm5d8U3bjenz2WefxbfffoujR4/qHVMfo++WFxUVBaVSCR8fH/j5+WHr1q0oKipCWFgYgBtb5xcvXsSuXbsA3Cj28+bNw4YNGzBmzBjpV4uNjQ3s7e2NTpiIiKgtFRcXw87OTnqua4PTlD3c/fv31xlvaWkJBweHZmN09fncc8/hwIED+OqrrzBwoO5bhTfH6GP4ISEhiI+Px9q1a3Hvvffiq6++QlpaGtzc3AAAJSUlGjMW33nnHdTV1eGZZ56Bs7Oz9AgPDzc6WaLbXc2wgVoPImpfdnZ2Gg9dBf/mPdw3y8jIgL+/v85+/fz8tOLT09Ph4+MDKyurZmNu7lMIgWeffRb79u3Df/7zH7i7u5v0Po3ewgeAJUuWYMmSJTpf27lzp8bzw4cPmzIEkVmyPnMBADQKva6i3xhHnY+fhfkwdg93WFgYNm3ahKioKCxevBgqlQpJSUnS7HsACA8Px/jx47F+/XrMnj0b+/fvR2ZmpsYu+2eeeQa7d+/G/v37YWtrK+0RsLe3h42NjcH5m1Twiaj9GLJV3zSGRYeo/YWEhODKlStYu3YtSkpKMGLEiGb3cLu7uyMtLQ2RkZHYvHkzXFxcsHHjRumUPADw9/fH3r17sXr1aqxZswYeHh5ITk6Gr6+vFNN4Ybu//OUvGvns2LED8+fPNzh/mWicQXALU6vVsLe3xxTHRbDsZt3Z6RB1iNbszucPgPb16wMeAAD7n6u5ro1U11CDzLJ3UVFRoXHcvC001orx416ApaWi5VzqqvDV0bXtksutiFv4RLcoXbv3DXXzMixIRASw4BPd8lpT+HUtxx8ArcOJlNRVseATdRGtLfyNuPXfdio85Oh3prOzIDIMCz5RF9NWhb9pHyz+RLc3FnyiLqotC3/Tflj8W1bpJoPt+Vt+zjORhAWfqIu7uTi3dfFn4Se6fbDgE91GuNVPRPqw4BPdhozd6jfk7m/2MN+t/pvXYYWHHJVuLd+YhehWw4JPdJszZKvf/ufqFou+9LqHh8ZyTce5VbTFDx1dhb16UA0GD/wVAFCCAehnWnpEHY4Fn8hMtLTV31i8mxbB5rZmK90U/5u45uGh8QOgsxhzr3p97616UI3O9sZCP7X/GfzV7hSmXeBNwKjrYMEnMkPNFf+mW/u250ULRV8mFcjyAKNvwNkOagEA8iLTL8PddNnG9/fLhRvb8xkAMkqHtWoMoo7Ggk9k5pruiq8ZNlDHlrr+rf6bd3FP7d++V6HJKB1mUNwvF/rp3UrXV6SbO8XO9vyNW5n+b73cuJf5kDM/GZQP0a2ABZ+INBj/A8AaJUUDAADbBnXOEe2mRVzfTv0bRV1/Ydd3SOJWm59AZAoWfCJqlq5id/PlZBtLfOdeY74KAAszUXNY8ImoTbDYEt3aboUZNkRERNTOWPCJiIjMAAs+ERGRGWDBJyIiMlBCQgLc3d2hUCjg7e2NI0eONBuflZUFb29vKBQKDBkyBFu2bNGKSUlJgZeXF+RyOby8vJCamqrx+ldffYVZs2bBxcUFMpkMH3/8sUm5s+ATEREZIDk5GREREVi1ahVyc3MREBCAoKAgFBUV6YwvLCzEjBkzEBAQgNzcXKxcuRJLly5FSkqKFKNSqRASEgKlUom8vDwolUoEBwfj+PHjUsz169dxzz33YNOmTa3KXyaEuOVv6KxWq2Fvb48pjotg2Y1XtiIi6qrqGmqQWfYuKioqYGdn16Z9N9aK8eNegKWlouVc6qrw1dG1Bufi6+uLUaNGITExUWrz9PTEnDlzEBcXpxW/fPlyHDhwAAUFBVJbWFgY8vLyoFKpAAAhISFQq9U4ePCgFDN9+nT07t0be/bs0epTJpMhNTUVc+bMaTHfpriFT0REZk2tVms8qqu1L8BUU1ODnJwcBAYGarQHBgYiOztbZ78qlUorftq0aTh58iRqa2ubjdHXZ2vwPHwiIrqtWP94yaC9wd0ablx+2dXVVaM9JiYGsbGxGm3l5eWor6+Hk5OTRruTkxNKS0t19l9aWqozvq6uDuXl5XB2dtYbo6/P1mDBJyIis1ZcXKyxS18u13/HRZlM80ZSQgittpbim7Yb26epWPCJiMis2dnZtXgMv2/fvrCwsNDa8i4rK9PaQm/Uv39/nfGWlpZwcHBoNkZfn61h0jH89jgtgYiI6FZlbW0Nb29vZGRkaLRnZGTA399f5zJ+fn5a8enp6fDx8YGVlVWzMfr6bA2jC357nJZARER0q4uKisK7776L7du3o6CgAJGRkSgqKkJYWBgAIDo6GvPmzZPiw8LCcP78eURFRaGgoADbt29HUlISli1bJsWEh4cjPT0d69evx5kzZ7B+/XpkZmYiIiJCirl27RpOnz6N06dPA7hRV0+fPq237upj9Gl57XFaQkt4Wh4R0e2hI07LM7RWmJJLQkICXn31VZSUlGDEiBF46623MH78eADA/Pnz8csvv+Dw4cNSfFZWFiIjI/H999/DxcUFy5cvl34gNProo4+wevVqnDt3Dh4eHnj55Zfx8MMPS68fPnwYEydO1MolNDQUO3fuNChvwMiCX1NTg+7du+PDDz/EQw89JLWHh4fj9OnTyMrK0lpm/PjxuO+++7BhwwapLTU1FcHBwfjjjz+k3Ro3q66u1jgtQq1Ww9XVlQWfiKiL6+oFvyszatJee52W0FRcXBxefPFFrfaUs2+YxYdCRHS7ulGU3+3sNMySSZP22uO0hJtFR0ejoqJCehQXF5uSJhEREf0fo7bw2+u0hKbkcnmz50ESERGRcYzawm+v0xKIiIiofRm9S789TksgIiKi9mX0lfZCQkJw5coVrF27VjotIS0tDW5ubgCAkpISjXMD3d3dkZaWhsjISGzevBkuLi7YuHEj5s6d23bvgoiIiJrVpW6Pay6nThAR3a7a8/9znpbXPN4el4iIyAyw4BMREZkBFnwiIiIzwIJPRERkBljwiYiIzAALPhERkRlgwSciIjIDLPhERERmgAWfiIjIDLDgExERmQEWfCIiIjPAgk9ERGSghIQEuLu7Q6FQwNvbG0eOHGk2PisrC97e3lAoFBgyZAi2bNmiFZOSkgIvLy/I5XJ4eXkhNTW11ePqwoJPRERkgOTkZERERGDVqlXIzc1FQEAAgoKCNO4Qe7PCwkLMmDEDAQEByM3NxcqVK7F06VKkpKRIMSqVCiEhIVAqlcjLy4NSqURwcDCOHz9u8rj68G55RETUYbry3fJ8fX0xatQoJCYmSm2enp6YM2cO4uLitOKXL1+OAwcOoKCgQGoLCwtDXl4eVCoVgBu3nFer1Th48KAUM336dPTu3Rt79uwxaVx9LA2O7ESNv0nUanUnZ0JERK3R+P94e25r1okaoMHAOGjXFrlcDrlcrtFWU1ODnJwcrFixQqM9MDAQ2dnZOvtXqVQIDAzUaJs2bRqSkpJQW1sLKysrqFQqREZGasXEx8ebPK4+XaLgV1ZWAgBcXV07ORMiImoLlZWVsLe3b9M+ra2t0b9/fxwu3WXwMj179tSqLTExMYiNjdVoKy8vR319PZycnDTanZycUFpaqrPv0tJSnfF1dXUoLy+Hs7Oz3pjGPk0ZV58uUfBdXFxQXFwMW1tbyGSyzk7HYGq1Gq6uriguLu5ShyK6at4Ac+8sXTX3rpo30HVzF0KgsrISLi4ubd63QqFAYWEhampqjMqnaV1punV/s6axupZvKb5puyF9GjuuLl2i4Hfr1g0DBw7s7DRMZmdn16W+kI26at4Ac+8sXTX3rpo30DVzb+st+5spFAooFIo277dv376wsLDQ2qouKyvT2vpu1L9/f53xlpaWcHBwaDamsU9TxtWHs/SJiIhaYG1tDW9vb2RkZGi0Z2RkwN/fX+cyfn5+WvHp6enw8fGBlZVVszGNfZoyrj5dYgufiIios0VFRUGpVMLHxwd+fn7YunUrioqKEBYWBgCIjo7GxYsXsWvXjTkEYWFh2LRpE6KiorB48WKoVCokJSVJs+8BIDw8HOPHj8f69esxe/Zs7N+/H5mZmTh69KjB4xpMULupqqoSMTExoqqqqrNTMUpXzVsI5t5ZumruXTVvIbp27l3Z5s2bhZubm7C2thajRo0SWVlZ0muhoaFiwoQJGvGHDx8W9913n7C2thaDBw8WiYmJWn1++OGH4q677hJWVlZi2LBhIiUlxahxDdUlzsMnIiKi1uExfCIiIjPAgk9ERGQGWPCJiIjMAAs+ERGRGWDBb4Xff/8dSqUS9vb2sLe3h1KpxNWrV5tdRiaT6Xy89tprUsxf/vIXrdcfffTRTs99/vz5WnmNGTNGI6a6uhrPPfcc+vbtix49euDBBx/EhQsXOi3v2tpaLF++HHfffTd69OgBFxcXzJs3D5cuXdKIa4913lm30WwLxuS+b98+TJ06Ff369YOdnR38/Pzw+eefa8Ts3LlT5999VVVVp+Z++PBhnXmdOXNGI64j1rsxeev6LspkMgwfPlyK6ch1Tl2E0fP6STJ9+nQxYsQIkZ2dLbKzs8WIESPEzJkzm12mpKRE47F9+3Yhk8nEzz//LMVMmDBBLF68WCPu6tWrnZ57aGiomD59ukZeV65c0YgJCwsTAwYMEBkZGeLUqVNi4sSJ4p577hF1dXWdkvfVq1fFlClTRHJysjhz5oxQqVTC19dXeHt7a8S19Trfu3evsLKyEtu2bRP5+fkiPDxc9OjRQ5w/f15n/Llz50T37t1FeHi4yM/PF9u2bRNWVlbio48+kmKys7OFhYWFWLdunSgoKBDr1q0TlpaW4tixYybn2Ra5h4eHi/Xr14tvvvlG/PjjjyI6OlpYWVmJU6dOSTE7duwQdnZ2Wn//bc3Y3L/88ksBQPzwww8aed3899oR693YvK9evaqRb3FxsejTp4+IiYmRYjpqnVPXwYJvovz8fAFA40uvUqkEAHHmzBmD+5k9e7aYNGmSRtuECRNEeHh4W6WqxdTcQ0NDxezZs/W+fvXqVWFlZSX27t0rtV28eFF069ZNHDp0qNPybuqbb74RADT+M23rdX7//feLsLAwjbZhw4aJFStW6Iz/xz/+IYYNG6bR9vTTT4sxY8ZIz4ODg8X06dM1YqZNmyYeffTRNsr6BmNz18XLy0u8+OKL0vMdO3YIe3v7tkpRL2Nzbyz4v//+u94+O2K9t3adp6amCplMJn755RepraPWOXUd3KVvIpVKBXt7e/j6+kptY8aMgb29vcG3LLx8+TI+++wzLFy4UOu1Dz74AH379sXw4cOxbNky6Y6BnZ374cOH4ejoiDvvvBOLFy9GWVmZ9FpOTg5qa2s1bgfp4uKCESNGGH0bx7bO+2YVFRWQyWTo1auXRntbrfPG21k2vS2mKbfRPHnyJGpra5uNaYt125rcm2poaEBlZSX69Omj0X7t2jW4ublh4MCBmDlzJnJzc9ssb6B1ud93331wdnbG5MmT8eWXX2q81t7rvS3WeVJSEqZMmQI3NzeN9vZe59S18NK6JiotLYWjo6NWu6Ojo8G3LHzvvfdga2uLhx9+WKP9iSeegLu7O/r374///ve/iI6ORl5enta1lDs696CgIDzyyCNwc3NDYWEh1qxZg0mTJiEnJwdyuRylpaWwtrZG7969NZYz5TaObZn3zaqqqrBixQo8/vjjGjccact13lm30WwLbXErzjfeeAPXr19HcHCw1DZs2DDs3LkTd999N9RqNTZs2ICxY8ciLy8PQ4cO7bTcnZ2dsXXrVnh7e6O6uhr/+te/MHnyZBw+fBjjx48HoP+zaav13tp1XlJSgoMHD2L37t0a7R2xzqlrYcFvIjY2Fi+++GKzMSdOnACgfbtCwLhbFm7fvh1PPPGE1p2dFi9eLP17xIgRGDp0KHx8fHDq1CmMGjWq03IPCQnRyMvHxwdubm747LPPtH60GNNvR63z2tpaPProo2hoaEBCQoLGa6au8+Z01m0024Kp4+zZswexsbHYv3+/xo+zMWPGaEzwHDt2LEaNGoW3334bGzdubLvEYVzud911F+666y7puZ+fH4qLi/H6669LBd/YPk1l6hg7d+5Er169MGfOHI32jlzn1DWw4Dfx7LPPtjg7e/Dgwfj2229x+fJlrdd+/fVXg25ZeOTIEfzwww9ITk5uMXbUqFGwsrLC2bNnmy0+HZV7I2dnZ7i5ueHs2bMAbtzmsaamBr///rvGVn5ZWVmzd3XqiLxra2sRHByMwsJC/Oc//2nxdqKGrnNdOus2mm2hNbfiTE5OxsKFC/Hhhx9iypQpzcZ269YNo0ePlv522kJb3UZ0zJgxeP/996Xn7b3eW5O3EALbt2+HUqmEtbV1s7Htsc6pi+mcqQNdX+MEsuPHj0ttx44dM3gCWWhoqNZMcX2+++47AcCkmyXo0trcG5WXlwu5XC7ee+89IcT/Ju0lJydLMZcuXWrzSXvG5l1TUyPmzJkjhg8fLsrKygwaq7Xr/P777xd/+9vfNNo8PT2bnbTn6emp0RYWFqY1aS8oKEgjZvr06e0yac+Y3IUQYvfu3UKhUIjU1FSDxmhoaBA+Pj7iqaeeak2qWkzJvam5c+eKiRMnSs87Yr2bmnfjpMPvvvuuxTHaa51T18GC3wrTp08XI0eOFCqVSqhUKnH33XdrnSJ21113iX379mm0VVRUiO7du+u8a9JPP/0kXnzxRXHixAlRWFgoPvvsMzFs2DBx3333tdmpbabkXllZKf7+97+L7OxsUVhYKL788kvh5+cnBgwYINRqtbRMWFiYGDhwoMjMzBSnTp0SkyZNavPT8ozJu7a2Vjz44INi4MCB4vTp0xqnJ1VXVwsh2medN55mlZSUJPLz80VERITo0aOHNIt6xYoVQqlUSvGNp+VFRkaK/Px8kZSUpHVa3tdffy0sLCzEK6+8IgoKCsQrr7zSrqflGZr77t27haWlpdi8ebPe0xpjY2PFoUOHxM8//yxyc3PFU089JSwtLTV+vHVG7m+99ZZITU0VP/74o/jvf/8rVqxYIQBo3K2sI9a7sXk3evLJJ4Wvr6/OPjtqnVPXwYLfCleuXBFPPPGEsLW1Fba2tuKJJ57QOr0HgNixY4dG2zvvvCNsbGx0nuddVFQkxo8fL/r06SOsra2Fh4eHWLp0qdb57h2d+x9//CECAwNFv379hJWVlRg0aJAIDQ0VRUVFGsv8+eef4tlnnxV9+vQRNjY2YubMmVoxHZl3YWGhAKDz8eWXXwoh2m+dd9ZtNNuCMblPmDBB5/oNDQ2VYiIiIsSgQYOEtbW16NevnwgMDBTZ2dmdnvv69euFh4eHUCgUonfv3mLcuHHis88+0+qzI9a7sX8vV69eFTY2NmLr1q06++vIdU5dA2+PS0REZAZ4Hj4REZEZYMEnIiIyAyz4REREZoAFn4iIyAyw4BMREZkBFnwiIiIzwIJPRERkBljwiYiIzAALPhERkRlgwSciIjIDLPhERERmgAWfiIjIDPx/2zpHgf+D8bkAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig = plt.figure(figsize=[6,3]); plt.title(r'Value sensitivity $\\rho$. Two minimal geodesics.'); plt.axis('equal'); \n", "plt.contourf(X,Y,hfmOut['costSensitivity_1']);\n", "plt.axis('equal');plt.colorbar();\n", "savefig(fig,'ValueSensitivity_TwoPaths.png')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The sensitivity of the value $u[x,c,\\sigma]$ w.r.t. the boundary condition $\\sigma$ is also returned, above denoted $\\pi : \\partial \\Omega \\to \\mathbb R$. The format is \n", "\\begin{equation*}\n", "[ [s_0^0,s_0^1,\\pi_0], [s_1^0,s_1^1,\\pi_1], ...].\n", "\\end{equation*}\n", "Here $s_0=(s_0^0,s_0^1)$ and $s_1=(s_1^0,s_1^1)$ are the seeds for which the corresponding sensitivity $\\pi_0$ and $\\pi_1$ is positive. \n", "If the sensitivity $u(x)$ was requested unless for a generic point $x$, then the list is of length one, and of the form $[ [s^0,s^1,1] ]$. In addition $s=(s^0,s^1)$ is the seed linked to $x$ by the minimal path." ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:04.458923Z", "iopub.status.busy": "2024-04-30T08:59:04.458821Z", "iopub.status.idle": "2024-04-30T08:59:04.461111Z", "shell.execute_reply": "2024-04-30T08:59:04.460860Z" } }, "outputs": [ { "data": { "text/plain": [ "array([[-0.495, 0.305, 1. ]])" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "hfmOut['seedSensitivity_0']" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "However, if sensitivity is requested for a point on the cut-locus, for which there exists several minimal geodesics leading to distinct seeds, then $\\pi$ is supported on several seeds." ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:04.462601Z", "iopub.status.busy": "2024-04-30T08:59:04.462496Z", "iopub.status.idle": "2024-04-30T08:59:04.464569Z", "shell.execute_reply": "2024-04-30T08:59:04.464324Z" } }, "outputs": [ { "data": { "text/plain": [ "array([[ 0.505 , 0.805 , 0.37180042],\n", " [-0.495 , 0.305 , 0.62819958]])" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "hfmOut['seedSensitivity_1']" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A slight annoyance of the above output is that the original seeds are not returned. Instead, the returned positions correspond to the nearest point on the discretization grid. Some minor postprocessing, for instance by converting these points to multi-indices, is thus required to establish the matching." ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:04.465952Z", "iopub.status.busy": "2024-04-30T08:59:04.465853Z", "iopub.status.idle": "2024-04-30T08:59:04.467888Z", "shell.execute_reply": "2024-04-30T08:59:04.467666Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Seed indices : [[ 50 29]\n", " [150 80]]\n", "Sensitivity returned as positions : [[150 80]\n", " [ 50 30]]\n" ] } ], "source": [ "print(\"Seed indices : \",hfmIn.IndexFromPoint(hfmIn['seeds'])[0])\n", "print(\"Sensitivity returned as positions : \",hfmIn.IndexFromPoint(hfmOut['seedSensitivity_1'][:,0:2])[0])\n", "# Note that the order of the seeds may not be preserved. Also, roundoff direction may change for points exactly in the middle of a cell." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We conclude this section with a consistency check. More precisely, we ensure that our two automatic differentiation methods yield consistent results.\n", "Both can be used to compute the scalar $\\mu(x)$ appearing in the following Taylor expansion\n", "\\begin{equation*}\n", " u[c+\\varepsilon \\xi, \\sigma+\\varepsilon \\zeta] (x) = u[c,\\sigma](x)+\\varepsilon \\mu(x) + o(\\varepsilon),\n", "\\end{equation*}\n", "where the point $x$ and the perturbations $\\xi$ and $\\zeta$ are given.\n", "The two differentiation methods use distinct inputs, as follows.\n", "* Forward differentiation. *Input*: $\\xi$ (costVariation), $\\zeta$ (seedValueVariation). *Output*: $\\mu$ (valueVariation).\n", "* Reverse differentiation. *Input*: $x$ (inspectSensitivity). *Output*: $\\rho$ (costSensitivity) and $\\pi$ (seedSensitivity).\n", "\n", "The inputs $x,\\zeta,\\xi$ and outputs $\\mu, \\rho, \\pi$, are mathematically tied by the the following identity, which we verify numerically:\n", "\\begin{equation*}\n", "\\mu(x) = \\int_\\Omega \\rho \\xi + \\int_{\\partial \\Omega} \\pi \\zeta.\n", "\\end{equation*}" ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:04.469290Z", "iopub.status.busy": "2024-04-30T08:59:04.469185Z", "iopub.status.idle": "2024-04-30T08:59:04.470973Z", "shell.execute_reply": "2024-04-30T08:59:04.470738Z" } }, "outputs": [], "source": [ "valueVariation = hfmOut['values'].gradient()\n", "index,_ = hfmIn.IndexFromPoint(hfmIn['inspectSensitivity'][1])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In the first instance of forward differentiation, boundary conditions were not perturbed ($\\zeta=0$). Hence we expect, and numerically check, that $\\mu(x) = \\int_\\Omega \\rho \\xi$." ] }, { "cell_type": "code", "execution_count": 29, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:04.472370Z", "iopub.status.busy": "2024-04-30T08:59:04.472271Z", "iopub.status.idle": "2024-04-30T08:59:04.474257Z", "shell.execute_reply": "2024-04-30T08:59:04.474026Z" }, "scrolled": false }, "outputs": [], "source": [ "mu_x = valueVariation[0,index[0],index[1]] # Evaluates mu(x)\n", "int_dom = (hfmIn['costVariation'][:,:,0]*hfmOut['costSensitivity_1']).sum() # Evaluates int_Omega rho*xi \n", "\n", "assert abs(mu_x-int_dom) < 1e-14" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In the last instance of forward differentiation, the cost function was not perturbed ($\\xi=0$). Hence we expect, and numerically check, that $\\mu(x) = \\int_{\\partial\\Omega} \\pi \\zeta$." ] }, { "cell_type": "code", "execution_count": 30, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:04.475613Z", "iopub.status.busy": "2024-04-30T08:59:04.475513Z", "iopub.status.idle": "2024-04-30T08:59:04.477313Z", "shell.execute_reply": "2024-04-30T08:59:04.477095Z" } }, "outputs": [], "source": [ "mu_x = valueVariation[2,index[0],index[1]] # Evaluates mu(x)\n", "int_bd = np.dot(hfmOut['seedSensitivity_1'][(1,0),2] , hfmIn['seedValueVariation'][2,:]) # int_Boundary pi*zeta\n", "\n", "assert abs(mu_x-int_bd) < 1e-14 " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 3.2 Using automatic differentiation\n", "\n", "An interface is provided with the *reverse first order* automatic differentiation module of the agd library." ] }, { "cell_type": "code", "execution_count": 31, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:04.478720Z", "iopub.status.busy": "2024-04-30T08:59:04.478615Z", "iopub.status.idle": "2024-04-30T08:59:04.480392Z", "shell.execute_reply": "2024-04-30T08:59:04.480177Z" } }, "outputs": [], "source": [ "# These variables cannot be enhanced with automatic differentiation\n", "hfmIn_rev = Eikonal.dictIn({key:hfmIn[key] for key in \n", " ['model','arrayOrdering','gridScale','dims','origin','seeds','walls']})" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We need to register the variables w.r.t which sensitivity will be requested." ] }, { "cell_type": "code", "execution_count": 32, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:04.481773Z", "iopub.status.busy": "2024-04-30T08:59:04.481675Z", "iopub.status.idle": "2024-04-30T08:59:04.483589Z", "shell.execute_reply": "2024-04-30T08:59:04.483364Z" } }, "outputs": [], "source": [ "rev,(cost_rev,seedValues_rev) = ad.Reverse.empty(inputs=(cost,seedValues),input_iterables=(tuple,Eikonal.dictIn,))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Note on the `input_iterables` field.** By default, the ad.Reverse automatic differentiation module only looks for AD information inside tuples. This behavior is here modified, through the `input_iterables` field, since calls to the HFM library involve a dictionary of inputs. See the notebook [Reverse](../Notebooks_Algo/Reverse.ipynb) for details." ] }, { "cell_type": "code", "execution_count": 33, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:04.484954Z", "iopub.status.busy": "2024-04-30T08:59:04.484863Z", "iopub.status.idle": "2024-04-30T08:59:04.486533Z", "shell.execute_reply": "2024-04-30T08:59:04.486288Z" } }, "outputs": [], "source": [ "hfmIn_rev['cost'] = cost_rev\n", "hfmIn_rev['seedValues'] = seedValues_rev" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In order to be taken into account, the solution values will be returned separately from the rest of the HFM outputs. \n", "This is achieved with the `extractValues` key.\n", "\n", "" ] }, { "cell_type": "code", "execution_count": 34, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:04.487911Z", "iopub.status.busy": "2024-04-30T08:59:04.487829Z", "iopub.status.idle": "2024-04-30T08:59:04.489363Z", "shell.execute_reply": "2024-04-30T08:59:04.489138Z" } }, "outputs": [], "source": [ "hfmIn_rev['extractValues']=True" ] }, { "cell_type": "code", "execution_count": 35, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:04.490628Z", "iopub.status.busy": "2024-04-30T08:59:04.490552Z", "iopub.status.idle": "2024-04-30T08:59:04.506944Z", "shell.execute_reply": "2024-04-30T08:59:04.506633Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Field verbosity defaults to 1\n", "Field order defaults to 1\n", "Field seedRadius defaults to 0\n", "Fast marching solver completed in 0.00304 s.\n" ] } ], "source": [ "hfmOut,values_rev = rev.apply(Eikonal.dictIn.Run,hfmIn_rev)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let us define the objective function, which has to be a scalar function, in terms of the values." ] }, { "cell_type": "code", "execution_count": 36, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:04.508558Z", "iopub.status.busy": "2024-04-30T08:59:04.508448Z", "iopub.status.idle": "2024-04-30T08:59:04.511294Z", "shell.execute_reply": "2024-04-30T08:59:04.511071Z" } }, "outputs": [], "source": [ "grid = np.array((X,Y))\n", "values_rev_interp = UniformGridInterpolation(grid,values_rev)\n", "\n", "points = np.array([[-0.8,0.8],[0.575,0.1]]).T\n", "val = values_rev_interp(points)\n", "\n", "objective = 2*val[0]**2+val[1]**2 " ] }, { "cell_type": "code", "execution_count": 37, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:04.512607Z", "iopub.status.busy": "2024-04-30T08:59:04.512509Z", "iopub.status.idle": "2024-04-30T08:59:04.529339Z", "shell.execute_reply": "2024-04-30T08:59:04.529000Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Field verbosity defaults to 1\n", "Field order defaults to 1\n", "Field seedRadius defaults to 0\n", "Fast marching solver completed in 0.003042 s.\n" ] } ], "source": [ "grad = rev.gradient(objective)" ] }, { "cell_type": "code", "execution_count": 38, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:04.530899Z", "iopub.status.busy": "2024-04-30T08:59:04.530791Z", "iopub.status.idle": "2024-04-30T08:59:04.532662Z", "shell.execute_reply": "2024-04-30T08:59:04.532416Z" } }, "outputs": [], "source": [ "cost_sensitivity,seed_sensitivity = rev.to_inputshapes(grad)" ] }, { "cell_type": "code", "execution_count": 39, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:04.533933Z", "iopub.status.busy": "2024-04-30T08:59:04.533854Z", "iopub.status.idle": "2024-04-30T08:59:04.591472Z", "shell.execute_reply": "2024-04-30T08:59:04.591200Z" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiMAAAGxCAYAAACwbLZkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA1j0lEQVR4nO3de3hU1b3/8c+EJJOAJBLD/RKQakACCkGuWhQhguDltL+ChUKgaKXeQLTnwPG0gseK1mpre4RqFdBTsCkK1Ra8hIoWTWwVUGsDIggGSmKAQhIFEki+vz84M80kkzCTy+yZzPv1PPM8zJo1e9aaPWQ++a69d1xmZgIAAHBIjNMDAAAA0Y0wAgAAHEUYAQAAjiKMAAAARxFGAACAowgjAADAUYQRAADgKMIIAABwFGEEAAA4ijCCFvXRRx9pzpw56tu3rxITE5WYmKgLLrhAt9xyi95///2QjWPx4sVyuVw+bb1799asWbNa9HXz8vK0ePFiHTt2rNm3nZOTowEDBigxMVEul0sffPCB334FBQVavHix9u3bV+exK664QhkZGc0+tsaaNWuWzjnnnID6tvT+W7ZsmVatWlWnfd++fXK5XH4fa2n79u3TpEmTlJKSIpfLpfnz54d8DB7Hjx/X4sWL9eabb9Z5bNWqVXK5XH4/c4A/sU4PAK3Xk08+qdtvv13p6emaN2+eBgwYIJfLpR07duj555/XpZdeqt27d6tv376OjG/9+vVKSkpq0dfIy8vTkiVLNGvWLJ177rnNtt1Dhw5pxowZmjBhgpYtWya3260LL7zQb9+CggItWbJEV1xxhXr37t1sY3BaS++/ZcuWKTU1tU7g6dq1q/Lz8x353N511136y1/+ohUrVqhLly7q2rVryMfgcfz4cS1ZskTSmVBb06RJk5Sfn+/o+BBZCCNoEe+8845uvfVWTZo0SS+88ILi4+O9j40dO1a33Xab1q5dq8TExAa3c/z4cbVt27ZFxjh48OAW2W4o7Nq1S6dOndJ3vvMdjRkzxunhOMKp/ed2uzVixAhHXvvjjz/WsGHDdMMNNzjy+oHq2LGjOnbs6PQwEEkMaAHXXHONxcXF2cGDBwN+TnZ2trVr184++ugjGz9+vJ1zzjk2YsQIMzN7/fXX7brrrrPu3bub2+22vn372ve+9z07dOhQne388Y9/tIsvvtji4+Otd+/e9sgjj9h9991ntT/uaWlplp2d7dNWWlpqd999t/Xu3dvi4uKsW7duNm/ePPvyyy99+kmy2267zZ577jnr16+fJSYm2qBBg+wPf/iDt4/nNWvfNm/e3OD78NJLL9mIESMsMTHRzjnnHBs3bpzl5eX5vE+1tzlmzBi/21q5cqXfMaxcudLMzMaMGWMDBgywv/71r3bZZZdZYmKi9enTx5YuXWpVVVWNem/q88wzz9igQYPM7XZbhw4d7IYbbrCCggKfPp7PwMcff2xjx461tm3bWmpqqt1222321Vdf+fRtyv6rqqqyX/ziF3bxxRdbQkKCJScn2/Dhw+2ll17ybrv2e5aWlmZmZnv37vV5D9evX2+SbNOmTXXmvGzZMpNkH374obftvffes2uvvdY6dOhgbrfbLrnkEsvJyWnwvdu8ebPf/bh3717vPt67d6/f59T8vAWzv48ePWoLFiywPn36WHx8vHXs2NEmTpxoO3bs8L4HtW+e/VHfmIL5DHz66ac2ceJEa9eunfXo0cMWLFhgJ0+ebPB9QuQijKDZnT592hITE23kyJFBPS87O9vi4uKsd+/etnTpUvvTn/5kr732mpmZLV++3JYuXWovv/yyvfXWW/bss8/axRdfbOnp6VZZWendxqZNm6xNmzZ22WWX2bp162zt2rV26aWXWq9evc4aRr766iu75JJLLDU11R577DHbtGmTPf7445acnGxjx4616upqb19J1rt3bxs2bJj97ne/s40bN9oVV1xhsbGxtmfPHjMz279/v91xxx0mydatW2f5+fmWn59vpaWl9b4Hq1evNkmWlZVlv//97y0nJ8cyMzMtPj7etmzZYmZmu3fvtieeeMIk2YMPPmj5+fn297//3e/2SkpK7MEHHzRJ9sQTT3jHUFJSYmZnvpzOO+88u+CCC+xXv/qV5ebm2q233mqS7Nlnn23Ue+OPZwzf/va3bcOGDfbcc8/Z+eefb8nJybZr1y6fz0B8fLz16tXLfvzjH9vrr79uixcvttjYWJs8eXKz7b8ZM2aYy+Wym266yV566SV75ZVX7Mc//rE9/vjjZma2bds2O//8823w4MHe92zbtm1mVjeMnDp1yjp16mTTp0+vM+9hw4bZkCFDvPffeOMNi4+Pt8svv9xycnLs1VdftVmzZvlsz5/S0lLLz8+3Ll262OjRo71jOnnyZNBhJJD9XVZWZgMGDLB27drZ/fffb6+99pq9+OKLNm/ePHvjjTfs5MmT9uqrr5okmzNnjnc8u3fvNjP/YSTYz0D//v3tpz/9qW3atMl+9KMfmcvlsiVLltT7HiGyEUbQ7IqLi02S3XjjjXUeO336tJ06dcp7q/kF4fmNf8WKFQ1uv7q62k6dOmWff/65SfL+NmtmNnz4cOvWrZudOHHC21ZWVmYpKSlnDSNLly61mJgYe++993z6vfDCCybJNm7c6G2TZJ07d7aysjKfecfExNjSpUu9bY888ojfLwp/qqqqrFu3bjZw4ECf31LLy8utU6dONmrUKG+b54tm7dq1Z93u2rVr663IjBkzxiTZX/7yF5/2iy66yK6++mrv/WDem9qOHj1qiYmJds011/i0FxYWmtvttmnTpnnbPJ8BTyjw+PGPf2yS7O233/a2NXb//fnPfzZJdu+999Y7ZjOzAQMG+K041Q4jZmYLFiywxMREO3bsmLetoKDAJNkvf/lLb1u/fv1s8ODBdurUKZ9tTp482bp27VqnOlFbWlqaTZo0yact2DASyP6+//77TZLl5ubWO5ZDhw6ZJLvvvvvqPFZ7TI35DPzud7/z6XvNNddYenp6veNBZONsGoRUZmam4uLivLdHH320Tp9vfvObddpKSko0d+5c9ezZU7GxsYqLi1NaWpokaceOHZKkr776Su+9956+8Y1vKCEhwfvc9u3b69prrz3r2P74xz8qIyNDl1xyiU6fPu29XX311XK5XHXOGrjyyivVvn177/3OnTurU6dO+vzzzwN6L2r75JNPdPDgQc2YMUMxMf/6r3nOOefom9/8pt59910dP368UdtuSJcuXTRs2DCftkGDBvnMI9j3pqb8/HydOHGizoGgPXv21NixY/WnP/2pznOmT5/uc3/atGmSpM2bN9f7OoGO8ZVXXpEk3XbbbfVuK1jf/e53deLECeXk5HjbVq5cKbfb7R377t27tXPnTu/cao7xmmuuUVFRkT755JNmG1N9Atnfr7zyii688EKNGzeuWV4z2M+Ay+Wq83+29hjRunAAK5pdamqqEhMT/f7gWLNmjY4fP66ioiJdd911dR5v27ZtnTMkqqurlZWVpYMHD+qHP/yhBg4cqHbt2qm6ulojRozQiRMnJElHjx5VdXW1unTpUme7/tpq++KLL7R7927FxcX5ffzw4cM+988777w6fdxut3c8wTpy5Igk+T0DoVu3bqqurtbRo0eb/YDeQOYR7HtT09nmlZub69MWGxtbZ0ye/efZlj+BjvHQoUNq06ZNQJ+JQA0YMECXXnqpVq5cqe9973uqqqrSb37zG11//fVKSUnxjk+S7rnnHt1zzz0NjrElBbK/Dx06pF69ejXbawb7GWjbtq3PLxSeMZ48ebLZxoTwQhhBs2vTpo3Gjh2r119/XUVFRT4/gC666CJJqvf6A7WvBSKdOYPgww8/1KpVq5Sdne1t3717t0+/Dh06yOVyqbi4uM42/LXV5glRK1asqPfxluT5kigqKqrz2MGDBxUTE6MOHTq06Bjq05T35mzzqv3c06dP68iRIz5fmp795++LNNgxduzYUVVVVSouLm7WU09nz56tW2+9VTt27NBnn32moqIizZ49u87rL1q0SN/4xjf8biM9PT3o1/V8aVdUVPi0NyXYdOzYUQcOHGj082sL9jOA6MMyDVrEokWLVFVVpblz5+rUqVNN2pYnoLjdbp/2J5980ud+u3btNGzYMK1bt87nN6jy8nL94Q9/OOvrTJ48WXv27NF5552noUOH1rk15hodnjEHUi1JT09X9+7dtWbNGpmZt/2rr77Siy++qJEjRzaqKhLMGOrTlPdm5MiRSkxM1G9+8xuf9gMHDuiNN97QVVddVec5q1ev9rm/Zs0aSXWvZ9GYMU6cOFGStHz58gbnHGyV69vf/rYSEhK0atUqrVq1St27d1dWVpb38fT0dF1wwQX68MMP/Y5v6NChPst+gfLM66OPPvJpf/nll4PelsfEiRO1a9cuvfHGG/X2CeZz1ZjPAKILlRG0iNGjR+uJJ57QHXfcoSFDhuh73/ueBgwYoJiYGBUVFenFF1+UpIAuWtWvXz/17dtXCxculJkpJSVFf/jDH+qUdiXpv//7vzVhwgSNHz9ed999t6qqqvTwww+rXbt2+uc//9ng68yfP18vvviivv71r+uuu+7SoEGDVF1drcLCQr3++uu6++67NXz48KDeh4EDB0qSHn/8cWVnZysuLk7p6el+v3RiYmL0k5/8RNOnT9fkyZN1yy23qKKiQo888oiOHTumhx56KKjX9vBcYfWpp55S+/btlZCQoD59+jRYZaitKe/Nueeeqx/+8If6z//8T82cOVPf/va3deTIES1ZskQJCQm67777fPrHx8fr0Ucf1ZdffqlLL71UeXl5euCBBzRx4kRddtllTR7j5ZdfrhkzZuiBBx7QF198ocmTJ8vtdmv79u1q27at7rjjDkln9t1vf/tb5eTk6Pzzz1dCQoJ3f9Y3z3/7t3/TqlWrdOzYMd1zzz0+x/5IZwL0xIkTdfXVV2vWrFnq3r27/vnPf2rHjh3atm2b1q5dG+gu8br00kuVnp6ue+65R6dPn1aHDh20fv16vf3220Fvy2P+/PnKycnR9ddfr4ULF2rYsGE6ceKE3nrrLU2ePNl7vFRaWppeeuklXXXVVUpJSVFqaqrfYBrsZwBRyOkjaNG6ffDBBzZ79mzr06ePud1uS0hIsK997Ws2c+ZM+9Of/uTT13N9AX8KCgps/Pjx1r59e+vQoYN961vfssLCQr9H87/88ss2aNAg7ymiDz30UMDXGfnyyy/tv/7rvyw9Pd3i4+MtOTnZBg4caHfddZcVFxd7++n/rjNSm79tLlq0yLp162YxMTEBXWfk97//vQ0fPtwSEhKsXbt2dtVVV9k777zj0yeYs2nMzH7+859bnz59rE2bNn6vM1Jbdna297oaHoG+N/V5+umnvfslOTnZrr/++jqnJNe81swVV1xhiYmJlpKSYt///vfrXCskLS3NZs2a1agxVlVV2c9+9jPLyMjw9hs5cqTPdWL27dtnWVlZ1r59+wavM1LT66+/7r3mRs3TVWv68MMPbcqUKdapUyeLi4uzLl262NixY+1Xv/rVWd9Df2fTmJnt2rXLsrKyLCkpyTp27Gh33HGHbdiwod7rjNTmb38fPXrU5s2bZ7169bK4uDjr1KmTTZo0yXbu3Onts2nTJhs8eLC53e6ArjMSzGegNn//h9F6uMxq1IMBIEKkpKTou9/9rn760586PRQATcQyDYCI8tFHH2njxo06evSoRo4c6fRwADQDKiMAIsqVV16pnTt36jvf+Y5+8pOf+D0DC0BkIYwAAABHcWovAABwFGEEAAA4ijACAAAcFRFn01RXV+vgwYNq3749B6sBABAhzEzl5eXq1q1bnYsA1hQRYeTgwYPq2bOn08MAAACNsH//fvXo0aPexyMijHgunX1F6kzFxsQ7PBoAABCI09WVevPwc2f9u0sREUY8SzOxMfGEEQAAIszZDrHgAFYAAOAowggAAHAUYQQAADiKMAIAABxFGAEAAI4ijAAAAEcRRgAAgKMIIwAAwFGEEQAA4CjCCAAAcBRhBAAAOIowAgAAHEUYAQAAjiKMAAAARxFGAACAowgjAADAUYQRAADgKMIIAABwFGEEAAA4ijACAAAcRRgBAACOIowAAABHEUYAAICjCCMAAMBRhBEAAOAowggAAHAUYQQAADiKMAIAABxFGAEAAI4ijAAAAEcRRgAAgKMIIwAAwFGEEQAA4CjCCAAAcBRhBAAAOIowAgAAHEUYAQAAjiKMAAAARxFGAACAowgjAADAUYQRAADgKMIIAABwFGEEAAA4ijACAAAcRRgBAACOIowAAABHEUYAAICjCCMAAMBRhBEAAOAowggAAHAUYQQAADiKMAIAABxFGAEAAI4ijAAAAEcRRgAAgKMIIwAAwFGEEQAA4CjCCAAAcBRhBAAAOIowAgAAHEUYAQAAjiKMAAAARxFGAACAowgjAADAUYSREKrs18PpIQAAEHZinR5AtKjs10Olfd1K1plAEr/zgMMjAgAgPDSqMrJs2TL16dNHCQkJyszM1JYtWxrsv3r1al188cVq27atunbtqtmzZ+vIkSONGnCkKu3rVnmaS6V93ZKokgAA4BF0GMnJydH8+fN17733avv27br88ss1ceJEFRYW+u3/9ttva+bMmZozZ47+/ve/a+3atXrvvfd00003NXnwkaJm8CCQAADgK+gw8thjj2nOnDm66aab1L9/f/385z9Xz549tXz5cr/93333XfXu3Vt33nmn+vTpo8suu0y33HKL3n///Xpfo6KiQmVlZT63SFee5lJFr0qnhwEAQNgJKoxUVlZq69atysrK8mnPyspSXl6e3+eMGjVKBw4c0MaNG2Vm+uKLL/TCCy9o0qRJ9b7O0qVLlZyc7L317NkzmGGGHU8lRJIqelVSHQEQ9fjZh5qCCiOHDx9WVVWVOnfu7NPeuXNnFRcX+33OqFGjtHr1ak2dOlXx8fHq0qWLzj33XP3yl7+s93UWLVqk0tJS723//v3BDDOsNPQfjkACIBp5fubxsw8ejTqA1eVy+dw3szptHgUFBbrzzjv1ox/9SFu3btWrr76qvXv3au7cufVu3+12KykpyecW6ViiAQDAv6BO7U1NTVWbNm3qVEFKSkrqVEs8li5dqtGjR+sHP/iBJGnQoEFq166dLr/8cj3wwAPq2rVrI4ceWdyF8Q0Gksp+PTjdFwAQlYKqjMTHxyszM1O5ubk+7bm5uRo1apTf5xw/flwxMb4v06ZNG0lnKirRqjzNfyUJAIBoE/QyzYIFC/T0009rxYoV2rFjh+666y4VFhZ6l10WLVqkmTNnevtfe+21WrdunZYvX67PPvtM77zzju68804NGzZM3bp1a76ZRAh3YbzP/ZoHtwIAEI2CvgLr1KlTdeTIEd1///0qKipSRkaGNm7cqLS0NElSUVGRzzVHZs2apfLycv3P//yP7r77bp177rkaO3asHn744eabRRiL33ng/6666pYU32BflmoAANHIZRGwVlJWVqbk5GSN63STYmMa/kIPR55Lwddcmmn/+b/e9uQ9Fd5/E0YAtHY1z6LhZ17rdrq6UptKnlZpaWmDJ6Pwh/JCrP3n5hNEJN+lGk51AwBEG8JICNUOIQAAgDASMjWXYs6G6ggAIJoQRgAAIcVxIqiNMBICgfzH4xRfAEC0IoyEEEs1AADURRgBAACOIoyEGNURAAB8EUYAAICjCCMhwtHjAAD4RxhxQH1LNf7OqGGpBkBrxS9p8CCMAABCjiCCmggjDuFAVgAAziCMhFDt3wSCCSQAALRWhBEAAOAowojDkvdUBFQhYakGANBaEUZCrL6DtgINJQAAtDaEkQhCdQQA0BoRRgAAgKMIIw7g/HoAAP6FMBJhWKoBALQ2hBEAAOAowohDWKoBAOAMwkgEYqkGANCaEEYAAICjCCMOaspSDdURAEBrQRgBAACOIowAAABHEUYcxlINACDaEUYAAICjCCMAAMBRhJEwwFINACCaEUYAAICjCCOtANURAEAkI4yECf5WDQAgWhFGAACAowgjYYQDWQEA0YgwAgAAHEUYaUWojgAAIhFhJMxwICsAINoQRgAAgKMII2GIA1kBANGEMAIAABxFGAEAAI4ijIQplmoAANGCMAIAABxFGAljVEcAANGAMAIAABxFGAEAAI4ijIQ5lmoAAK0dYQQAADiKMBIBqI4AAFozwggAAHAUYQQAADiKMBIhWKoBALRWhBEAAOAowkgEaUp1BACAcEUYiRIs1QAAwhVhBAAAOIowEmE4kBUA0NoQRgAAgKMIIxGIA1kBAK0JYSTKsFQDAAg3jQojy5YtU58+fZSQkKDMzExt2bKlwf4VFRW69957lZaWJrfbrb59+2rFihWNGjDOoDoCAGgtYoN9Qk5OjubPn69ly5Zp9OjRevLJJzVx4kQVFBSoV69efp8zZcoUffHFF3rmmWf0ta99TSUlJTp9+nSTB4/GqezXgzADAAgbLjOzYJ4wfPhwDRkyRMuXL/e29e/fXzfccIOWLl1ap/+rr76qG2+8UZ999plSUlIaNciysjIlJydrXKebFBsT36httEZNWXIhjAAAWtrp6kptKnlapaWlSkpKqrdfUMs0lZWV2rp1q7Kysnzas7KylJeX5/c5L7/8soYOHaqf/OQn6t69uy688ELdc889OnHiRL2vU1FRobKyMp8b6iJQAABag6CWaQ4fPqyqqip17tzZp71z584qLi72+5zPPvtMb7/9thISErR+/XodPnxYt956q/75z3/We9zI0qVLtWTJkmCGhiCxVAMACBeNOoDV5XL53DezOm0e1dXVcrlcWr16tYYNG6ZrrrlGjz32mFatWlVvdWTRokUqLS313vbv39+YYUYFAgUAINIFFUZSU1PVpk2bOlWQkpKSOtUSj65du6p79+5KTk72tvXv319mpgMH/H+Rut1uJSUl+dzQ/DjNFwAQDoIKI/Hx8crMzFRubq5Pe25urkaNGuX3OaNHj9bBgwf15Zdfett27dqlmJgY9ejBlyEAANEu6GWaBQsW6Omnn9aKFSu0Y8cO3XXXXSosLNTcuXMlnVlimTlzprf/tGnTdN5552n27NkqKCjQn//8Z/3gBz/Qd7/7XSUmJjbfTKIYSzUAgEgW9HVGpk6dqiNHjuj+++9XUVGRMjIytHHjRqWlpUmSioqKVFhY6O1/zjnnKDc3V3fccYeGDh2q8847T1OmTNEDDzzQfLNAo3EgKwDAaUFfZ8QJXGckMI09BoQwAgBoCS1ynRG0ThzICgBwEmGkFaHCAQCIRIQRSKI6AgBwDmEEAAA4ijDSyrBUAwCINIQReLFUAwBwAmGkFaI6AgCIJIQR+KA6AgAINcJIK0V1BAAQKQgjAADAUYQR1MFSDQAglAgjrRhLNQCASEAYgV9URwAAoUIYaeWojgAAwh1hBPWiOgIACAXCSBSgOgIACGeEETSI6ggAoKURRgAAgKMII1GCpRoAQLgijOCsWKoBALQkwkgUoToCAAhHhBEEhOoIAKClEEaiDNURAEC4IYwgYFRHAAAtgTACAAAcRRiJQizVAADCCWEEQWGpBgDQ3AgjUYrqCAAgXBBGEDSqIwCA5kQYiWJURwAA4YAwgkahOgIAaC6EEQAA4CjCSJRrylIN1REAQHMgjAAAAEcRRkB1BADgKMIIAABwFGEEkjjNFwDgHMIImoylGgBAUxBGAACAowgj8OJAVgCAEwgjAADAUYQR+KA6AgAINcIIAABwFGEEdVAdAQCEEmEEAAA4ijCCZkd1BAAQDMII/OKKrACAUCGMoEVQHQEABIowgnpRHQEAhAJhBAAAOIowggZxmi8AoKURRgAAgKMII2hRVEcAAGdDGMFZcSArAKAlEUbQ4qiOAAAaQhhBQKiOAABaCmEEIUF1BABQH8IIAkZ1BADQEggjCBmqIwAAfwgjAADAUYQRBKWpSzVURwAAtRFGAACAowgjCBrVEQBAcyKMAAAARzUqjCxbtkx9+vRRQkKCMjMztWXLloCe98477yg2NlaXXHJJY14WYYTqCACguQQdRnJycjR//nzde++92r59uy6//HJNnDhRhYWFDT6vtLRUM2fO1FVXXdXowQIAgNYn6DDy2GOPac6cObrpppvUv39//fznP1fPnj21fPnyBp93yy23aNq0aRo5cmSjB4vWheoIAEAKMoxUVlZq69atysrK8mnPyspSXl5evc9buXKl9uzZo/vuuy+g16moqFBZWZnPDeGHK7ICAJpDUGHk8OHDqqqqUufOnX3aO3furOLiYr/P+fTTT7Vw4UKtXr1asbGxAb3O0qVLlZyc7L317NkzmGECAIAI0qgDWF0ul899M6vTJklVVVWaNm2alixZogsvvDDg7S9atEilpaXe2/79+xszTIQAB7ICAJoqsFLF/0lNTVWbNm3qVEFKSkrqVEskqby8XO+//762b9+u22+/XZJUXV0tM1NsbKxef/11jR07ts7z3G633G53MEMDAEShyn49WDJuBYKqjMTHxyszM1O5ubk+7bm5uRo1alSd/klJSfrb3/6mDz74wHubO3eu0tPT9cEHH2j48OFNGz3CAtURAEBTBFUZkaQFCxZoxowZGjp0qEaOHKmnnnpKhYWFmjt3rqQzSyz/+Mc/9NxzzykmJkYZGRk+z+/UqZMSEhLqtAMAgOgUdBiZOnWqjhw5ovvvv19FRUXKyMjQxo0blZaWJkkqKio66zVH0PrE7zzQpAoHpVYAwaKq2nq4zMycHsTZlJWVKTk5WeM63aTYmHinh4N6NPUHA2EEQDA8P3P42RG+TldXalPJ0yotLVVSUlK9/fjbNAgb/JYDANGJMIJmw28nAIDGIIwgrFAdAYDoQxhBs6I6AgAIFmEEYYfqCABEF8IIml1zVEcIJAAQPQgjAADAUYQRAADgKMIIWgRLNQCAQBFGAACAowgjaDGc5gsACARhBAAAOCrov9oLBCOQv+Zb2tfttz15T0VLDAkAEGaojAAAAEcRRtDiGnvsSH0VEwBA60IYQVjj9F4AaP0IIwg75Wkulae5nB4GACBECCMICU7zBQDUhzCCsEV1BACiA2EEIRNIdcQTQCp6Vbb0cAAAYYIwgrBDEAGA6EIYQUgFeuxI7x6HWngkAIBwQRiB4+q70mpFr0quNQIAUYAwgpA7W3Wkd49DGt9lZ4hGAwBwGmEEYaX28SKcUQMArR9/KA+OqO8P6LkL47VPHZVbo+3QpL4Bb7exf1yP66AAgHMIIwgbniqIuzBeRYXd5daZSklFL//93YXxfraRIElq/7k1+Fq1Q8vZLjtPWAGAlkMYgeMaOkj15qFb6rTlFvc7848a+WHfgY4+fSp6+Q8r0pmgUt9r1ldZ8RdWCCgA0DwIIwg77T83Je+p0J5ZMfp/Sdu87S+UDZEk78Gt3lCif50KXDOUeI4/qR1KPBUYf9UTT0gJZLnHE1AIJQDQNIQROMZz3EjyngqV9nV7w0HyngrF7zwgd+HXdMuuaQ1uo3ZFxKO+qogU/BLO2VT260EgAYAmIIzAUTUDSc02Serxxknt6VU3bNQMGoFcheRs4aOmxh4AS5UEABqPMALH1fcFHr/zgFK3+DuTJvBwEYzGBpGaqJIAQPAIIwhrHTfs8bl/trNewgFVEgAIDhc9Q0SJ33kgYr7kK/v1iIjwBABOI4wgIhFKAKD1YJkGEa1mIAn3L3yWbwDAP8IIWo3aX/LhGk4IJQDgi2UatFrhvpTD8g0AnEFlBK1euC/lUCkBEO0II4gq4RxMCCUAohVhBFErXIMJoQRAtCGMAArPYEIoARAtCCNALeEWTAglAFo7zqYBGhBOZ+Rw9g2A1oowAgTAE0rCIZgQSAC0NizTAEEKh2Uclm4AtCaEEaAJnA4mNV+TYAIgUrFMAzQTp5dxWL4BEKmojADNzMlqCcs3ACIRYQRoQU4FE0IJgEjCMg0QIk4s43A6MIBIQGUECDEnqiVUSgCEMyojgINCXS2hUgIgHFEZAcJAqKslVEoAhBMqI0CYCWW1hEoJgHBAZQQIU6GsllApAeAkKiNABAhVtYRKCQAnUBkBIkioqiVUSgCEEpURIEKFolpCpQRAKBBGgAhHKAEQ6QgjQCtBKAEQqThmBGhlPIEkFMeU1Hw9AGgsKiNAKxXKM3AAoCmojACtXCjOwOHsGwBN0ajKyLJly9SnTx8lJCQoMzNTW7ZsqbfvunXrNH78eHXs2FFJSUkaOXKkXnvttUYPGEDjtXS1xHNMCdUShBKft8gXdBjJycnR/Pnzde+992r79u26/PLLNXHiRBUWFvrt/+c//1njx4/Xxo0btXXrVl155ZW69tprtX379iYPHkDjcLArgHDiMjML5gnDhw/XkCFDtHz5cm9b//79dcMNN2jp0qUBbWPAgAGaOnWqfvSjH/l9vKKiQhUVFd77ZWVl6tmzp8Z1ukmxMfHBDBdAAEIRGljCQXPjQOrwd7q6UptKnlZpaamSkpLq7RdUZaSyslJbt25VVlaWT3tWVpby8vIC2kZ1dbXKy8uVkpJSb5+lS5cqOTnZe+vZs2cwwwQQJColAJwUVBg5fPiwqqqq1LlzZ5/2zp07q7i4OKBtPProo/rqq680ZcqUevssWrRIpaWl3tv+/fuDGSaARiKUAHBCo86mcblcPvfNrE6bP88//7wWL16sl156SZ06daq3n9vtltvtbszQADSDUF6rhPI6gKAqI6mpqWrTpk2dKkhJSUmdakltOTk5mjNnjn73u99p3LhxwY8UQMjxl4IBhEJQYSQ+Pl6ZmZnKzc31ac/NzdWoUaPqfd7zzz+vWbNmac2aNZo0aVLjRgrAEZ6lm1At3xBMgOgT9DLNggULNGPGDA0dOlQjR47UU089pcLCQs2dO1fSmeM9/vGPf+i5556TdCaIzJw5U48//rhGjBjhraokJiYqOTm5GacCoKXF7zwQkrDAEg4QXYIOI1OnTtWRI0d0//33q6ioSBkZGdq4caPS0tIkSUVFRT7XHHnyySd1+vRp3Xbbbbrtttu87dnZ2Vq1alXTZwAgpEJxPIkHoQSIDkFfZ8QJZWVlSk5O5jojQBgK5bIKoQQ1cZ2R8Nci1xkBgNpC9Qf5JA52BVorwgiAZhHK30wJJUDrQhgB0GxCWSWRCCVAa0EYAdDsCCUAgtGoK7ACQCBCeeZN7dfhgEYgclAZAdDinAgGVEuAyEEYARASoV668SCUAOGPMAIgpAglAGojjABwBKEEgAdhBICjnDrQlEAChA/CCADHUSUBohthBEDYIJQA0YkwAiDsEEqA6EIYARC2nDyehFAChA5hBEBYc6pKIhFKgFAhjACICIQSoPUijACIKE7+zRlCCdAyCCMAIo6TVRKJa5QAzY0wAiBiOb10A6B5xDo9AABoKk8gaY6AUNrXXacteU+F376V/Xo4WqEBWgvCCIBWo6mhxF8Qqd1eO5h4XotQElpUploXlmkAtDqNDQb1VUBqKu3r9t5q4uBWoPGojABolRpbJUneU1FvhaS22v2S91RQKQEagcoIgFYtlAe51qyYUCUBAkdlBEBUCKZSEkx1xB/Pc5NFlaQlePah930OYHkN4Y0wAiCqBBpKggkk5Wkun/vtPzdJNZZx+vb1+4VJSDmjMVWkpoRFhB/CCICoFEgo8QSIhr74ageR+tsSvCHFs+1oOb6kpU65/tf77FbHnU1+CTiIMAIgqgUaSgL9TbyiV2VDr1bj3/9aYmgN1ytpauAIptLhL+y1hvcwmhFGAEBnDyVNPY6ktpq/1UuS+vZttm1HGn/hAtGFMAIANdT87bp2MPG3bONZevF8oboLz1Q/aldI3IXxfqsmFb2aYdCtiOf9CxZVkchGGAGAetRXLal5MKonmNQXSurTu8ch77/Hd4msAx5yi/u1yHb3Heh4lmUuX573mLNpIh9hBADOIphqSe1Q4lHzS9YTRDwh5P8lbWvmEbes2uN9oWxIo7ZTO9TUDGj+7DvQsU5bzYOCEbkIIwAQhNrLAZ5wUrta4q9S4gkk+w50VO8eh5Rb3E/ju+zUC2VDHAskjQ0SgWhsBcVf6Kitscs5CE+EEQBoAn9LOb7LBjWPL4nzhpOiwu6q6FWpX//fF29uj5ZZ+qgpkC/5UDhbkAjkMOH2n5v3feZ4kchHGAGAZuDvC7GyX486xzMk76m5pBPnbf9S3Vp2gJJSW/wVAhXY0kogx4IQRFoHwggAtJD6vii5QBfgiz+UBwAAHEUYAQAAjiKMAAAARxFGAACAowgjAADAUYQRAADgKMIIAABwFGEEAAA4ijACAAAcRRgBAACOIowAAABHEUYAAICjCCMAAMBRhBEAAOAowggAAHAUYQQAADiKMAIAABxFGAEAAI4ijAAAAEcRRgAAgKMIIwAAwFGEEQAA4CjCCAAAcBRhBAAAOIowAgAAHEUYAQAAjiKMAAAARxFGAACAo2KdHkAgzEySdLq60uGRAACAQHm+tz3f4/WJiDBSXl4uSXrz8HMOjwQAAASrvLxcycnJ9T7usrPFlTBQXV2tgwcPqn379nK5XE4PJyTKysrUs2dP7d+/X0lJSU4PJ2Sidd5S9M6deTPvaBGNczczlZeXq1u3boqJqf/IkIiojMTExKhHjx5OD8MRSUlJUfOhrSla5y1F79yZd3SJ1nlL0Tf3hioiHhzACgAAHEUYAQAAjiKMhCm326377rtPbrfb6aGEVLTOW4reuTNv5h0tonnuZxMRB7ACAIDWi8oIAABwFGEEAAA4ijACAAAcRRgBAACOIowAAABHEUYccvToUc2YMUPJyclKTk7WjBkzdOzYsQaf43K5/N4eeeQRb58rrriizuM33nhjC88mcI2Z96xZs+rMacSIET59KioqdMcddyg1NVXt2rXTddddpwMHDrTgTIIX7NxPnTql//iP/9DAgQPVrl07devWTTNnztTBgwd9+oXbPl+2bJn69OmjhIQEZWZmasuWLQ32f+utt5SZmamEhASdf/75+tWvflWnz4svvqiLLrpIbrdbF110kdavX99Sw2+SYOa+bt06jR8/Xh07dlRSUpJGjhyp1157zafPqlWr/P6fP3nyZEtPJSjBzPvNN9/0O6edO3f69IuEfR7MvP39HHO5XBowYIC3T6Ts7xZhcMSECRMsIyPD8vLyLC8vzzIyMmzy5MkNPqeoqMjntmLFCnO5XLZnzx5vnzFjxtjNN9/s0+/YsWMtPZ2ANWbe2dnZNmHCBJ85HTlyxKfP3LlzrXv37pabm2vbtm2zK6+80i6++GI7ffp0S04nKMHO/dixYzZu3DjLycmxnTt3Wn5+vg0fPtwyMzN9+oXTPv/tb39rcXFx9utf/9oKCgps3rx51q5dO/v888/99v/ss8+sbdu2Nm/ePCsoKLBf//rXFhcXZy+88IK3T15enrVp08YefPBB27Fjhz344IMWGxtr7777bqimFZBg5z5v3jx7+OGH7a9//avt2rXLFi1aZHFxcbZt2zZvn5UrV1pSUlKd//vhJNh5b9682STZJ5984jOnmv9XI2GfBzvvY8eO+cx3//79lpKSYvfdd5+3TyTs75ZCGHFAQUGBSfL5j5Wfn2+SbOfOnQFv5/rrr7exY8f6tI0ZM8bmzZvXXENtVo2dd3Z2tl1//fX1Pn7s2DGLi4uz3/72t962f/zjHxYTE2Ovvvpqs4y9qZprn//1r381ST4/8MJpnw8bNszmzp3r09avXz9buHCh3/7//u//bv369fNpu+WWW2zEiBHe+1OmTLEJEyb49Ln66qvtxhtvbKZRN49g5+7PRRddZEuWLPHeX7lypSUnJzfXEFtEsPP2hJGjR4/Wu81I2OdN3d/r1683l8tl+/bt87ZFwv5uKSzTOCA/P1/JyckaPny4t23EiBFKTk5WXl5eQNv44osvtGHDBs2ZM6fOY6tXr1ZqaqoGDBige+65R+Xl5c029qZoyrzffPNNderUSRdeeKFuvvlmlZSUeB/bunWrTp06paysLG9bt27dlJGREfD72dKaY59LUmlpqVwul84991yf9nDY55WVldq6davPfpCkrKyseueYn59fp//VV1+t999/X6dOnWqwT7jsW6lxc6+turpa5eXlSklJ8Wn/8ssvlZaWph49emjy5Mnavn17s427qZoy78GDB6tr16666qqrtHnzZp/Hwn2fN8f+fuaZZzRu3DilpaX5tIfz/m5JEfFXe1ub4uJiderUqU57p06dVFxcHNA2nn32WbVv317f+MY3fNqnT5+uPn36qEuXLvr444+1aNEiffjhh8rNzW2WsTdFY+c9ceJEfetb31JaWpr27t2rH/7whxo7dqy2bt0qt9ut4uJixcfHq0OHDj7P69y5c8DvZ0trjn1+8uRJLVy4UNOmTfP5i5/hss8PHz6sqqoqde7c2ae9of1QXFzst//p06d1+PBhde3atd4+4bJvpcbNvbZHH31UX331laZMmeJt69evn1atWqWBAweqrKxMjz/+uEaPHq0PP/xQF1xwQbPOoTEaM++uXbvqqaeeUmZmpioqKvS///u/uuqqq/Tmm2/q61//uqT6Pxfhss+bur+Lior0yiuvaM2aNT7t4b6/WxJhpBktXrxYS5YsabDPe++9J+nMwai1mZnfdn9WrFih6dOnKyEhwaf95ptv9v47IyNDF1xwgYYOHapt27ZpyJAhAW07WC0976lTp3r/nZGRoaFDhyotLU0bNmyoE8aC2W5zCNU+P3XqlG688UZVV1dr2bJlPo85sc8bUns+Z5ujv/6124PdplMaO87nn39eixcv1ksvveQTWkeMGOFzsPbo0aM1ZMgQ/fKXv9QvfvGL5ht4EwUz7/T0dKWnp3vvjxw5Uvv379dPf/pTbxgJdptOaewYV61apXPPPVc33HCDT3uk7O+WQBhpRrfffvtZz2Lo3bu3PvroI33xxRd1Hjt06FCdpO3Pli1b9MknnygnJ+esfYcMGaK4uDh9+umnLfbFFKp5e3Tt2lVpaWn69NNPJUldunRRZWWljh496lMdKSkp0ahRowLebmOEYu6nTp3SlClTtHfvXr3xxhs+VRF/QrHP/UlNTVWbNm3q/GZYUlJS7xy7dOnit39sbKzOO++8BvsE85lpaY2Zu0dOTo7mzJmjtWvXaty4cQ32jYmJ0aWXXur97DutKfOuacSIEfrNb37jvR/u+7wp8zYzrVixQjNmzFB8fHyDfcNtf7coZw5ViW6egxn/8pe/eNvefffdgA9mzM7OrnNGRX3+9re/mSR76623Gj3e5tLUeXscPnzY3G63Pfvss2b2rwNYc3JyvH0OHjwYlgewBjv3yspKu+GGG2zAgAFWUlIS0Gs5uc+HDRtm3//+933a+vfv3+ABrP379/dpmzt3bp0DWCdOnOjTZ8KECWF1MKNZ8HM3M1uzZo0lJCTY+vXrA3qN6upqGzp0qM2ePbspQ21WjZl3bd/85jftyiuv9N6PhH3e2Hl7DuD929/+dtbXCMf93VIIIw6ZMGGCDRo0yPLz8y0/P98GDhxY5zTP9PR0W7dunU9baWmptW3b1pYvX15nm7t377YlS5bYe++9Z3v37rUNGzZYv379bPDgwWFzimuw8y4vL7e7777b8vLybO/evbZ582YbOXKkde/e3crKyrzPmTt3rvXo0cM2bdpk27Zts7Fjx4blqb3BzP3UqVN23XXXWY8ePeyDDz7wOdWvoqLCzMJvn3tOd3zmmWesoKDA5s+fb+3atfOeMbBw4UKbMWOGt7/n1N677rrLCgoK7Jlnnqlzau8777xjbdq0sYceesh27NhhDz30UNid5mkW/NzXrFljsbGx9sQTT9R7WvbixYvt1VdftT179tj27dtt9uzZFhsb6xNqnRbsvH/2s5/Z+vXrbdeuXfbxxx/bwoULTZK9+OKL3j6RsM+DnbfHd77zHRs+fLjfbUbC/m4phBGHHDlyxKZPn27t27e39u3b2/Tp0+uc6ibJVq5c6dP25JNPWmJiot/rSBQWFtrXv/51S0lJsfj4eOvbt6/deeedda7J4aRg5338+HHLysqyjh07WlxcnPXq1cuys7OtsLDQ5zknTpyw22+/3VJSUiwxMdEmT55cp4/Tgp373r17TZLf2+bNm80sPPf5E088YWlpaRYfH29DhgzxqdBkZ2fbmDFjfPq/+eabNnjwYIuPj7fevXv7Ddpr16619PR0i4uLs379+vl8cYWTYOY+ZswYv/s2Ozvb22f+/PnWq1cvi4+Pt44dO1pWVpbl5eWFcEaBCWbeDz/8sPXt29cSEhKsQ4cOdtlll9mGDRvqbDMS9nmwn/Vjx45ZYmKiPfXUU363Fyn7uyW4zP7vaDEAAAAHcJ0RAADgKMIIAABwFGEEAAA4ijACAAAcRRgBAACOIowAAABHEUYAAICjCCMAAMBRhBEAAOAowggAAHAUYQQAADjq/wO+R1epcXV5+wAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.title('Gradient of the objective function')\n", "plt.contourf(*grid,cost_sensitivity);" ] }, { "cell_type": "code", "execution_count": 40, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:04.592985Z", "iopub.status.busy": "2024-04-30T08:59:04.592879Z", "iopub.status.idle": "2024-04-30T08:59:04.595004Z", "shell.execute_reply": "2024-04-30T08:59:04.594774Z" } }, "outputs": [ { "data": { "text/plain": [ "array([3.52533149, 0.40359865])" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "seed_sensitivity" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 3.3 Caching data\n", "\n", "Reverse automatic differentiation is a two pass procedure:\n", "- The function *value* is evaluated in an initial *forward* pass.\n", "- The function *jacobian*, transposed, is applied to a suitable co-vector in a final *backward* pass.\n", "\n", "If suitable data is cached in the first pass, then the jacobian evaluation in the second pass can avoid the full recomputation of the function value.\n", "Compare the results above and below." ] }, { "cell_type": "code", "execution_count": 41, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:04.596535Z", "iopub.status.busy": "2024-04-30T08:59:04.596427Z", "iopub.status.idle": "2024-04-30T08:59:04.598301Z", "shell.execute_reply": "2024-04-30T08:59:04.598065Z" } }, "outputs": [], "source": [ "hfmIn_rev = Eikonal.dictIn({key:hfmIn[key] for key in \n", " ['model','arrayOrdering','gridScale','dims','origin','seeds','walls','seedValues']})\n", "hfmIn_rev['extractValues']=True" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For a change, in contrast with the previous paragraph, we do not register the seed values for automatic differentiation." ] }, { "cell_type": "code", "execution_count": 42, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:04.599657Z", "iopub.status.busy": "2024-04-30T08:59:04.599560Z", "iopub.status.idle": "2024-04-30T08:59:04.601303Z", "shell.execute_reply": "2024-04-30T08:59:04.601073Z" } }, "outputs": [], "source": [ "rev,cost_rev = ad.Reverse.empty(inputs=cost,input_iterables=(Eikonal.dictIn,))\n", "hfmIn_rev['cost'] = cost_rev" ] }, { "cell_type": "code", "execution_count": 43, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:04.602695Z", "iopub.status.busy": "2024-04-30T08:59:04.602599Z", "iopub.status.idle": "2024-04-30T08:59:04.618883Z", "shell.execute_reply": "2024-04-30T08:59:04.618552Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Requesting cacheable data\n", "Field verbosity defaults to 1\n", "Field order defaults to 1\n", "Field seedRadius defaults to 0\n", "Fast marching solver completed in 0.003024 s.\n", "Filling cache data\n" ] } ], "source": [ "cache = Eikonal.Cache()\n", "hfmOut,values_rev = rev.apply(Eikonal.dictIn.Run,hfmIn_rev,cache=cache)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Some output data is cached so as to bypass most the fast marching solver in future computations on this data." ] }, { "cell_type": "code", "execution_count": 44, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:04.620487Z", "iopub.status.busy": "2024-04-30T08:59:04.620365Z", "iopub.status.idle": "2024-04-30T08:59:04.622699Z", "shell.execute_reply": "2024-04-30T08:59:04.622461Z" } }, "outputs": [ { "data": { "text/plain": [ "dict_keys(['values', 'activeNeighs'])" ] }, "execution_count": 44, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cache.contents.keys()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We next define the objective function, and compute its sensitivity w.r.t. the cost function." ] }, { "cell_type": "code", "execution_count": 45, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:04.624120Z", "iopub.status.busy": "2024-04-30T08:59:04.623933Z", "iopub.status.idle": "2024-04-30T08:59:04.626091Z", "shell.execute_reply": "2024-04-30T08:59:04.625870Z" } }, "outputs": [], "source": [ "values_rev_interp = UniformGridInterpolation(grid,values_rev)\n", "val = values_rev_interp(points)\n", "objective = 2*val[0]**2+val[1]**2 " ] }, { "cell_type": "code", "execution_count": 46, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:04.627458Z", "iopub.status.busy": "2024-04-30T08:59:04.627356Z", "iopub.status.idle": "2024-04-30T08:59:04.644261Z", "shell.execute_reply": "2024-04-30T08:59:04.643800Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Providing cached data\n", "Field verbosity defaults to 1\n", "Field order defaults to 1\n", "Field seedRadius defaults to 0\n", "Bypassing fast marching solver based on cached data.\n" ] } ], "source": [ "cost_sensitivity_cache, = rev.to_inputshapes(rev.gradient(objective))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As mentioned in the last line, and in contrast with the previous subsection, the fast marching solver was bypassed entirely in the reverse pass thanks to the cached data. Yet the result is identical." ] }, { "cell_type": "code", "execution_count": 47, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:04.645872Z", "iopub.status.busy": "2024-04-30T08:59:04.645759Z", "iopub.status.idle": "2024-04-30T08:59:04.647740Z", "shell.execute_reply": "2024-04-30T08:59:04.647513Z" } }, "outputs": [], "source": [ "assert norm_infinity(cost_sensitivity-cost_sensitivity_cache,axis=None)==0." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 4. Gradient of the value function\n", "\n", "We discuss the computation of the gradient of the value function, using a centered or upwind scheme.\n", "Then we compute its first order perturbation using forward or reverse automatic differentiation." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 4.1 Relation with the geodesic flow\n", "\n", "Let $u : \\Omega \\to R$ be the value function, also referred to as the distance map, which is approximated by the fast marching algorithm. One would like to estimate the gradient $\\nabla u$, which satisfies the eikonal equation\n", "$$\n", " \\| \\nabla u(x) \\| = c(x)\n", "$$\n", "at any $x \\in \\Omega$, where $c(x)$ is the cost function. A closely related quantity is the geodesic flow, which is defined by \n", "$$\n", " V(x) := \\frac 1 {c(x)^2} \\nabla u(x),\n", "$$\n", "and for which the HFM library provides an upwind approximation. \n", "\n", "**Note on anisotropic metric.** When metric is Riemannian or Finslerian, the gradient and the geodesic flow are not anymore proportionnal, but are related through norm duality, see the notebook [Sensitivity in Semi-Lagrangian schemes](SensitivitySL.ipynb)." ] }, { "cell_type": "code", "execution_count": 48, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:04.649101Z", "iopub.status.busy": "2024-04-30T08:59:04.648990Z", "iopub.status.idle": "2024-04-30T08:59:04.652031Z", "shell.execute_reply": "2024-04-30T08:59:04.651799Z" } }, "outputs": [], "source": [ "hfmIn = Eikonal.dictIn({\n", " 'model':'Isotropic2',\n", " 'arrayOrdering':'RowMajor',\n", " 'seeds':[[-0.5,0.3],[0.5,0.8]],\n", " 'seedValues':[0.,0.5],\n", " 'tips':[[0.,0.6],[-0.9,0.5],[0.8,0.8]],\n", " 'walls':np.logical_or(disk,barrier),\n", " \n", " 'exportValues':True,\n", " 'exportGeodesicFlow':True,\n", "})\n", "\n", "hfmIn.SetRect(sides=[[-1,1],[0,1]],gridScale=1./100.)\n", "X,Y = hfmIn.Grid()\n", "hfmIn['cost']=np.exp(-0.5*(X**2+Y**2))\n", "h = hfmIn['gridScale']" ] }, { "cell_type": "code", "execution_count": 49, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:04.653347Z", "iopub.status.busy": "2024-04-30T08:59:04.653266Z", "iopub.status.idle": "2024-04-30T08:59:04.670360Z", "shell.execute_reply": "2024-04-30T08:59:04.670043Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Field verbosity defaults to 1\n", "Field order defaults to 1\n", "Field seedRadius defaults to 0\n", "Fast marching solver completed in 0.003015 s.\n", "Field geodesicSolver defaults to Discrete\n", "Field geodesicStep defaults to 0.25\n", "Field geodesicWeightThreshold defaults to 0.001\n", "Field geodesicVolumeBound defaults to 8.45\n" ] } ], "source": [ "hfmOut = hfmIn.Run()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The gradient is easily recovered from the geodesic flow." ] }, { "cell_type": "code", "execution_count": 50, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:04.671884Z", "iopub.status.busy": "2024-04-30T08:59:04.671771Z", "iopub.status.idle": "2024-04-30T08:59:04.673777Z", "shell.execute_reply": "2024-04-30T08:59:04.673533Z" } }, "outputs": [], "source": [ "grad_hfm = hfmOut['flow']*hfmIn['cost']**2" ] }, { "cell_type": "code", "execution_count": 51, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:04.675093Z", "iopub.status.busy": "2024-04-30T08:59:04.674935Z", "iopub.status.idle": "2024-04-30T08:59:04.753392Z", "shell.execute_reply": "2024-04-30T08:59:04.753090Z" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAicAAAGxCAYAAAC5hxYeAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOydd1hVR/e2H8qhqoiiYsUONuzdWEmiKLF3YzdqYu+9d+yKvfeCvXfsDRURVBRQEEEQlN4OZz/fH36cnyicPcfoG032fV1e75vDs2Zm11mzZvYsA5KEgoKCgoKCgsJ3guE/3QAFBQUFBQUFhY9RnBMFBQUFBQWF7wrFOVFQUFBQUFD4rlCcEwUFBQUFBYXvCsU5UVBQUFBQUPiuUJwTBQUFBQUFhe8KxTlRUFBQUFBQ+K5QnBMFBQUFBQWF7wrFOVFQUFBQUFD4rlCck3853t7e6NOnD0qUKAFzc3OYm5ujVKlS6N+/Pzw9Pf9n7Zg2bRoMDAwy/Fa0aFH07Nnzm9Z748YNTJs2DdHR0d+0HoX/Y9euXVi6dOk3KVvknnn58iUMDAywcOHCb9KGdB4/foxp06bh5cuXn/2tYcOGKF++/DetHwB69uyJbNmyZfn3bNmyZThf6ecms3/VqlXLUK6BgQGyZ8+O+Pj4z8oNCgqCoaEhDAwMMG3aNNl2fqrz8PCAgYEBPDw8hI9F4b+F8T/dAIVvx9q1azFo0CDY29tj6NChKFeuHAwMDPDkyRPs3r0b1atXh7+/P0qUKPGPtO/QoUPIkSPHN63jxo0bmD59Onr27ImcOXN+07oUPrBr1y74+Phg2LBh/3RTvimPHz/G9OnT0bBhQxQtWvSfbo5eDB48GF26dMnw26eOgUqlQlpaGvbu3Ys+ffpk+NvmzZuRPXt2xMbGflH9VapUwc2bN1G2bNkvslf496M4J/9Srl+/jj///BPNmzeHu7s7TExMtH9r3Lgx/vrrL+zfvx/m5uY6y0lMTISFhcU3aWPlypW/SbkKCgq6KVKkCGrVqqVTY2JiAhcXF2zatCmDc0ISW7ZsQceOHbF+/fovqj9Hjhyy9esDSSQnJ8u+z+RISkr622UofB2UaZ1/KXPmzIGRkRHWrl2bwTH5mPbt26NAgQLa/04Pqz569Ai//PILsmfPjiZNmgAAzp07h5YtW6JQoUIwMzNDyZIl0b9/f0RGRn5W7okTJ1CpUiWYmpqiWLFiWYbXMwvRx8bGYtSoUShWrBhMTExQsGBBDBs2DAkJCRl0BgYGGDRoELZv344yZcrAwsICFStWxPHjx7WaadOmYfTo0QCAYsWKacPXH4eSP8XT0xOdOnVC0aJFYW5ujqJFi6Jz584ICgrKoEtMTNS208zMDLly5UK1atWwe/fuLMtO5/Xr1/jjjz9QuHBhmJiYoECBAmjXrh3Cw8O1muDgYHTr1g158+aFqakpypQpg0WLFkGSJK0mPUTv6uqK+fPna9vcsGFDPHv2DGq1GuPGjUOBAgVgZWWF1q1bIyIi4rNr0KJFCxw6dAiOjo4wMzND8eLFsXz58gy6LVu2wMDA4LMpjE/D8w0bNsSJEycQFBSUYcogndTUVMyaNQsODg4wNTVFnjx50KtXL7x9+zZDuWq1GmPGjIGtrS0sLCxQr1493LlzR/bcfowkSZg9ezaKFCkCMzMzVKtWDRcuXND+/erVqzAwMMj0mm3btg0GBga4e/dupmVv2bIF7du3BwA0atRIe5xbtmzJoLt79y5++uknWFhYoHjx4pg3b16GawiI3/P/BL1798aNGzfg5+en/e38+fMICgpCr169vrjczKZ10vH19UWTJk1gaWmJPHnyYNCgQUhMTMygSX/+16xZgzJlysDU1BRbt24FAEyfPh01a9ZErly5kCNHDlSpUgUbN27Epzlu0+/9gwcPonLlyjAzM8P06dPRpEkTODg4fKYniZIlS6J58+ZffNwK4iiRk38hGo0Gly5dQrVq1ZA/f369bFNTU/Hbb7+hf//+GDduHNLS0gAAAQEBqF27Nvr27QsrKyu8fPkSixcvRr169fDo0SOoVCoAwIULF9CyZUvUrl0be/bsgUajwYIFCzJ0vFmRmJiIBg0aICQkBBMmTICjoyN8fX0xZcoUPHr0COfPn8/Q0Z04cQJ3797FjBkzkC1bNixYsACtW7eGn58fihcvjr59++Ldu3dYsWIFDh48qD0XukLJL1++hL29PTp16oRcuXIhLCwMq1evRvXq1fH48WPY2NgAAEaMGIHt27dj1qxZqFy5MhISEuDj44OoqCidx/j69WtUr14darVae4xRUVE4c+YM3r9/j3z58uHt27eoU6cOUlNTMXPmTBQtWhTHjx/HqFGjEBAQgFWrVmUo083NDY6OjnBzc0N0dDRGjhwJFxcX1KxZEyqVCps2bUJQUBBGjRqFvn374ujRoxnsvby8MGzYMEybNg22trbYuXMnhg4ditTUVIwaNUr2un3MqlWr8McffyAgIACHDh3K8DdJktCyZUtcvXoVY8aMQZ06dRAUFISpU6eiYcOG8PT01I5a+/Xrh23btmHUqFH4+eef4ePjgzZt2iAuLk64LStXroSdnR2WLl0KSZKwYMECNGvWDJcvX0bt2rXx008/oXLlynBzc0Pnzp0/s61evTqqV6+eadnNmzfHnDlzMGHCBLi5uaFKlSoAkGGK9M2bN+jatStGjhyJqVOn4tChQxg/fjwKFCiA7t27A9D/ns+K9OdUFEmSPrMxMjL6rC4nJyfY2dlh06ZNmD9/PgBg48aNqF+/PkqVKqVXnSKo1Wo4Oztr3z83btzArFmzEBQUhGPHjmXQHj58GFevXsWUKVNga2uLvHnzAvjwDPfv3x9FihQBANy6dQuDBw/G69evMWXKlAxl3L9/H0+ePMGkSZNQrFgxWFpaok6dOmjZsiUuXLgAJycnrfbUqVMICAj4zHFX+EZQ4V/HmzdvCICdOnX67G9paWlUq9Xaf5Ikaf/Wo0cPAuCmTZt0li9JEtVqNYOCggiAR44c0f6tZs2aLFCgAJOSkrS/xcbGMleuXPz0drOzs2OPHj20/z137lwaGhry7t27GXTu7u4EwJMnT2p/A8B8+fIxNjY2w3EbGhpy7ty52t9cXV0JgC9evNB5TFmRlpbG+Ph4WlpactmyZdrfy5cvz1atWuldXu/evalSqfj48eMsNePGjSMA3r59O8PvAwcOpIGBAf38/EiSL168IABWrFiRGo1Gq1u6dCkB8LfffstgP2zYMAJgTEyM9jc7OzsaGBjQy8srg/bnn39mjhw5mJCQQJLcvHlzpufx0qVLBMBLly5pf2vevDnt7Ow+O67du3cTAA8cOJDh97t37xIAV61aRZJ88uQJAXD48OEZdDt37iSADPdMZqSfl6zuQycnJ+1v6cf14MED7W937twhAG7dulVnPfv37//s2NNp0KBBptewbNmy/PXXX7X/rc89nxnpz6yufx+fr/Rzk9m/c+fOZSjX0tKSJDl16lTa2tpSrVYzKiqKpqam3LJlC9++fUsAnDp1qs42kvxMl9l9k34sHz9nJDl79mwC4LVr1zKUZ2VlxXfv3umsV6PRUK1Wc8aMGcydO3eG952dnR2NjIy0z9PHNsWLF2fLli0z/N6sWTOWKFEiQxkK3w5lWuc/RtWqVaFSqbT/Fi1a9Jmmbdu2n/0WERGBAQMGoHDhwjA2NoZKpYKdnR0A4MmTJwCAhIQE3L17F23atIGZmZnWNnv27HBxcZFt2/Hjx1G+fHlUqlQJaWlp2n+//vprpiHgRo0aIXv27Nr/zpcvH/LmzfvZFIw+xMfHY+zYsShZsiSMjY1hbGyMbNmyISEhQXucAFCjRg2cOnUK48aNg4eHB5KSkoTKP3XqFBo1aoQyZcpkqbl48SLKli2LGjVqZPi9Z8+eIImLFy9m+N3Z2RmGhv/3KKeX/Wn4Of334ODgDL+XK1cOFStWzPBbly5dEBsbi/v37wsdlwjHjx9Hzpw54eLikuH6VqpUCba2ttrre+nSJQBA165dM9h36NABxsbiwd6s7sMrV65Ao9EAADp37oy8efPCzc1Nq1uxYgXy5MmDjh07fumhAgBsbW0/u4aOjo4Z7k997/nMMDc3x927dzP9l9X6iaFDh36mrVmzZqbaXr16ITw8HKdOncLOnTthYmKindL6Fnx63dMX7qbfF+k0btwY1tbWn9lfvHgRTk5OsLKygpGREVQqFaZMmYKoqKjPpjUdHR1RunTpDL8ZGhpi0KBBOH78uPZZCQgIwOnTp/Hnn38KRbIU/j7KtM6/EBsbG5ibm2faSe/atQuJiYkICwvDb7/99tnfLSwsPvuCRpIk/PLLLwgNDcXkyZNRoUIFWFpaQpIk1KpVS9sxv3//HpIkwdbW9rNyM/vtU8LDw+Hv76+dIvqUT9e35M6d+zONqampsKOQGV26dMGFCxcwefJkVK9eHTly5ICBgQGcnZ0zlLt8+XIUKlQIe/fuxfz582FmZoZff/0Vrq6uOsPdb9++RaFChXS2ISoqKtOvP9LXB306dZQrV64M/52+xiir35OTkzP8rut6yU1T6UN4eDiio6OzXAOVfn3T6/y0XcbGxple86zI6rhSU1MRHx8PKysrmJqaon///li0aBFcXV2hVquxb98+jBgxAqampsJ1ZYbI/anvPZ8ZhoaGGT4D/vRvmVGoUKEsbT7Fzs4OTZo0waZNm/Dy5Ut06tQJFhYWn60D+Rpkdo2zuhczm7K+c+cOfvnlFzRs2BDr169HoUKFYGJigsOHD2P27NmfvRuymvbu3bs3pkyZgjVr1mDOnDlwc3ODubk5evfu/XcOT0EPFOfkX4iRkREaN26Ms2fPIiwsLMMDmL7eIrO9GQBkOirw8fHBw4cPsWXLFvTo0UP7u7+/fwadtbU1DAwM8ObNm8/KyOy3T0l3qjZt2pTl378lMTExOH78OKZOnYpx48Zpf09JScG7d+8yaC0tLTF9+nRMnz5dO6ocN24cXFxc8PTp0yzryJMnD0JCQnS2I3fu3AgLC/vs99DQUABf/zzoul7pHUV6BCIlJSWDTqTzTMfGxga5c+fG6dOnM/17ehQsvc43b96gYMGC2r+npaXp5SxldVwmJiYZPpsdOHAg5s2bh02bNiE5ORlpaWkYMGCAcD1/h3/6nheld+/e6NatGyRJwurVq79ZPenX+GMH5dN7MZ3M3lV79uyBSqXC8ePHM0TNDh8+nGl9WUVBrKys0KNHD2zYsAGjRo3C5s2b0aVLF2U7gv8hyrTOv5Tx48dDo9FgwIABUKvVf6us9Af405Hk2rVrM/y3paUlatSogYMHD2YYncfFxX22mC0zWrRogYCAAOTOnRvVqlX77N+X7CWR3maRaIqBgQFIfnacGzZs0E4DZEa+fPnQs2dPdO7cGX5+fjpHlM2aNcOlS5cyfP3wKU2aNMHjx48/m1JJ/4KkUaNGsseiD76+vnj48GGG33bt2oXs2bNrF3qmn3tvb+8Muk8X1wJZR69atGiBqKgoaDSaTK+vvb09gA9f/ADAzp07M9jv27dPr4WfWd2HP/30E4yMjLS/58+fH+3bt8eqVauwZs0auLi4aBdT6kKfeysrvsU9/y1o3bo1Wrdujd69e3/VT4Az49PrvmvXLgD/d1/owsDAAMbGxhmub1JSErZv3653O4YMGYLIyEi0a9cO0dHRGDRokN5lKHw5SuTkX0rdunXh5uaGwYMHo0qVKvjjjz9Qrlw5GBoaIiwsDAcOHAAAoU3QHBwcUKJECYwbNw4kkStXLhw7dgznzp37TDtz5kw0bdoUP//8M0aOHAmNRoP58+fD0tLys+jDpwwbNgwHDhxA/fr1MXz4cDg6OkKSJAQHB+Ps2bMYOXJklvPiWVGhQgUAwLJly9CjRw+oVCrY29tnWKuSTo4cOVC/fn24urrCxsYGRYsWxeXLl7Fx48bPRkw1a9ZEixYt4OjoCGtrazx58gTbt29H7dq1de4LM2PGDJw6dQr169fHhAkTUKFCBURHR+P06dMYMWIEHBwcMHz4cGzbtg3NmzfHjBkzYGdnhxMnTmDVqlUYOHDgZ3Pkf5cCBQrgt99+w7Rp05A/f37s2LED586dw/z587XHUr16ddjb22PUqFFIS0uDtbU1Dh06hGvXrn1WXoUKFXDw4EGsXr0aVatW1U47dOrUCTt37oSzszOGDh2KGjVqQKVSISQkBJcuXULLli3RunVrlClTBt26dcPSpUuhUqng5OQEHx8fLFy4UK9N+4yMjPDzzz9jxIgRkCQJ8+fPR2xsLKZPn/6ZdujQodp7a/PmzULlp+8Au27dOmTPnh1mZmYoVqyYXlNP3+Ke/xaYmZnB3d39m9djYmKCRYsWIT4+HtWrV9d+rdOsWTPUq1dP1r558+ZYvHgxunTpgj/++ANRUVFYuHDhF03RlS5dGk2bNsWpU6dQr169z9ZlKXxj/uEFuQrfGC8vL/bq1YvFihWjqakpzczMWLJkSXbv3p0XLlzIoP14hf6nPH78mD///DOzZ89Oa2trtm/fnsHBwZmu1j969CgdHR1pYmLCIkWKcN68eZw6dars1zokGR8fz0mTJtHe3p4mJia0srJihQoVOHz4cL5580arA8C//vrrs3ZmVub48eNZoEABGhoaZvl1RTohISFs27Ytra2tmT17djZt2pQ+Pj6flTtu3DhWq1aN1tbWNDU1ZfHixTl8+HBGRkZmWXY6r169Yu/evWlra0uVSsUCBQqwQ4cODA8P12qCgoLYpUsX5s6dmyqVivb29nR1dc3wVU76lxeurq4Zyk//EmL//v0Zfk//MuXjL0Ps7OzYvHlzuru7s1y5cjQxMWHRokW5ePHiz9r97Nkz/vLLL8yRIwfz5MnDwYMH88SJE5+d03fv3rFdu3bMmTMnDQwMMlx3tVrNhQsXsmLFijQzM2O2bNno4ODA/v378/nz51pdSkoKR44cybx589LMzIy1atXizZs3M72+n5J+XubPn8/p06ezUKFCNDExYeXKlXnmzJks7YoWLcoyZcroLPtTli5dymLFitHIyIgAuHnzZpIfvtYpV67cZ/oePXp89iWT6D2fGbqeWZK0tLTM9GudT+8Zfcsl+U2+1rG0tKS3tzcbNmxIc3Nz5sqViwMHDmR8fPxn5WX2/JPkpk2baG9vr30u586dy40bN372tVn6va+LLVu2EAD37Nkje4wKXxcD8pOdZhQUFP4zFC1aFOXLl8+wed1/EW9vb1SsWBFubm74888//+nmKHwntG3bFrdu3cLLly+zXLSs8G1QpnUUFBT+swQEBCAoKAgTJkxA/vz5v3kiSoXvn5SUFNy/fx937tzBoUOHsHjxYsUx+QdQnBMFBYX/LDNnztSmQNi/f/83yyOl8OMQFhaGOnXqIEeOHOjfvz8GDx78TzfpP4kyraOgoKCgoKDwXaF8SqygoKCgoKDwXaG3c3LlyhW4uLigQIECMDAwyHJzm4+5fPkyqlatqs14umbNmi9pq4KCgoKCgsJ/AL2dk4SEBFSsWBErV64U0r948QLOzs746aef8ODBA0yYMAFDhgzR7rOhoKCgoKCgoPAxf2vNiYGBAQ4dOoRWrVplqRk7diyOHj2aIWnagAED8PDhQ9y8eVOoHkmSEBoaiuzZsytJlxQUFBQUFH4QSCIuLg4FChTIMtdTZnzzr3Vu3ryJX375JcNvv/76KzZu3Ai1Wp3pJ1opKSkZcni8fv1amxNGQUFBQUFB4cfi1atXsklPP+abOydv3rxBvnz5MvyWL18+pKWlITIyMtOskHPnzs10i+lXr17ptX21goKCgoKCwj9HbGwsChcunGnKEF38T/Y5+XQqJn0mKaspmvHjx2PEiBHa/04/uBw5cijOiYKCgoKCwg+GvksyvrlzYmtr+1nq8oiICBgbG2eZIMvU1PSLEjUpKCgoKCgo/Ph8831Oateu/Vn22rNnz6JatWrKlsAKCgoKCgoKn6G3cxIfHw8vLy94eXkB+PCpsJeXF4KDgwF8mJLp3r27Vj9gwAAEBQVhxIgRePLkCTZt2oSNGzdi1KhRX+cIFBQUFBQUFP5V6D2t4+npiUaNGmn/O31tSI8ePbBlyxaEhYVpHRUAKFasGE6ePInhw4fDzc0NBQoUwPLly9G2bduv0HwFBQUFBQWFfxs/RG6d2NhYWFlZISYmRlkQq6Dw/0lJSdFrbRZJkNRrrwEFBQWFv8OX9t/KW0rhf0paWppe+piYGL30ycnJiIqK0svm9evXeunT0tL0btfH+/Z8DeLj4+Hm5qaXzc6dOxEXFyesT0lJwaVLl/SqIygoSC89SWg0Gr1sFH5MXr169U83QeEHQnFO/uWkpqbqpde3c/l0sbMca9asgSRJwvp58+YhMTFRWL9jxw7cv39fWB8TE4Px48cL6wFgwoQJeP/+vbDe09MTO3fu1KsOOVauXIl79+4J61+/fo3BgwfDyMhISE8Sf/zxh14dyrVr1zBz5kxhfUpKCkaOHKnX/eDt7Y2wsDBhPUkkJCQI6xV0s3v37i+yCwsLg6ur6xfZXr58+YvsFH5sFOfkK6PvLNnbt2/1srl8+bJe0Yfly5fr1blPmzYNkZGRwvp58+bB399fWL9161Zcv35dSCtJErZt24YbN24I6xctWpQhVYIckyZNwosXL4T1Bw8ehKurK2xsbIT0vr6+aNq0KYoUKSJchxwxMTFYsGCBcMSHJPr164fo6Ghh52TBggXYtm0bChcuLKS/cuUKmjZtijJlygjpw8PD0ahRI0RERAh9tSdJEhYuXIgePXrA1tZWqI4nT56gTZs2wve/JEnYv38/QkNDhfQ/MgEBAdi1a5fe76vNmzdj06ZNetd34sQJHDlyRO/69u7dix07duhlQxJXrlzRy0bh++M/6ZwkJSXppX/48KGwNi4uTq+H18fHB0uXLhXW379/H/PnzxfW+/r6Yu7cucL6J0+eCI9wSOL+/ftYvXq1kD4qKgr37t3D/v37hfRXr15FaGio8NTCyZMn8fTpUzx9+lRIf+/ePaxatUr4fvDz80PPnj1hamoKS0tLWX1gYCB+/vlnREVFoUKFCkJ1iLBkyRK8f/8eISEhQvpNmzbh1KlTACDknBw+fFgbTRJxTjw8PNCsWTMkJCSgRo0asnovLy9Ur14dN2/exG+//SarDwoKQpMmTTB69Gj06NFDdjOn2NhYjBo1Co6OjihRogTy5MmjU5/ulDg6OsLd3R0FChSQbdP3RGpqKmbNmoW7d+8Kd/4lSpTAypUr0bx5c72ipWXLlkW/fv1w8OBBvdp4/PhxBAcHw8fHR9jm0aNH6N27N/LmzStsExMTg/bt2+sVPQWAO3fuIDo6Wi8bhW8MfwBiYmIIgDExMV+lPHd3d+7cuVNY36dPH+7du1dYX7hwYR45ckRI++TJExoaGvLcuXNC+lWrVtHY2Jh37twR0nfo0IEmJib08/MT0hcsWJDm5uYMCwuT1QYFBREAc+bMyYSEBFn9vn37CIAFChSgRqOR1Q8YMIAAWKtWLaG2N2jQgADYqFEjWW1aWhqrV69OACxXrpysPj4+nuXKlSMAFixYUFYfEhLCokWLEgBtbGwoSZLQMcgRGRlJGxsbAqCZmZlsucHBwSxdujQBEADVarVO/YsXL1ihQgWtPikpSafez89PW76hoSHj4+N16u/du8d8+fIRAI2NjRkdHa1Tf/bsWebIkYMAaGJiwsjISJ36PXv20NbWlgBoamqq8z7WaDTct2+f9rqamZnx5cuXOsv/EhITE/W6/s+fP2f37t25dOlS3rt3j2lpabI2Hh4eNDAwYKVKlbhq1SrZ80p+eA8CoIWFBRcvXixUz7p167TXQvSdlZSURAsLCwLg7NmzhWzevXvHEiVKEACXLVsmZPPgwQOWLFmSBgYGfP36tZDNnTt36OzszLZt2wrp09u2ffv2r9Yf/dv50v77P+mchIeH08DAgPPnzxd6abi5udHQ0FDYoWncuDHNzMx49epVWe379+8JgLly5WJgYKCsftOmTQTAUqVKMS4uTlbv4uJCAHRycpI9VrVaTUNDQwLg0KFDZcs+cuSIthNbv369rL5fv35a/bVr13RqU1NTmTdvXm0nFhsbq1Pv6elJe3t7AmDhwoVl23L79m26uLhQpVKxVKlSsnovLy927dqVZmZmrFixoqzez8+P7dq1o0qlEnKWRImOjub58+dpZmbGJUuWyHZCkiTx0KFDzJ07N3v37i10vy9btozFixfnL7/8ItSmESNG0N7enjVr1hTSt2vXjjY2NnRycpLVpqSksFq1ajQ0NGSXLl1k9UFBQcyVKxcBcNCgQTq1kiRx165d2ntyypQpn/09M54/f869e/fyyJEjPHPmDD08PHjr1i2+efMmU72fnx8rV67McuXK0dnZmQMHDuT8+fMZEhKSZdvOnj1LExMTAmCOHDn422+/MTQ0VOfxjB49WnsspUqV4rNnz3Tq09LSWKxYMe0zc+zYMZ16krx27Zq2jiFDhggNSk6cOEErKyuampqyQYMGsvq0tDS2bNlS+y7avXu3Tr0kSVy/fj1NTU0JgI0bN5atw9PTky1atNA6sXLv3vfv33PLli10dnamSqUScpgiIiJ47NgxTpo0ia6urkIDMpJMSEjg27dvhbQ/AopzoicVK1bUvsDkRgyenp7akeG2bdtky/7zzz+1EQVvb2+dWkmStA+Vo6Oj7Mjz45fpH3/8IdsWJycnAmDevHl54MABndpXr17R3NycANimTRtGRUXp1Lu6urJ69eos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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.title(\"Gradient as computed by the HFM library\")\n", "s=5; plt.quiver(*grid[:,::s,::s],*grad_hfm[:,::s,::s]);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 4.2 Centered and upwind scheme\n", "\n", "We may also directly recompute the gradient using finite differences. Centered finite differences are usually more precise, whereas upwind finite differences are usually more stable.\n", "\n", "*Note on Python warnings.** Those come from the computation of the gradient inside obtacles, where the the value function is $+\\infty$." ] }, { "cell_type": "code", "execution_count": 52, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:04.755191Z", "iopub.status.busy": "2024-04-30T08:59:04.755079Z", "iopub.status.idle": "2024-04-30T08:59:04.759906Z", "shell.execute_reply": "2024-04-30T08:59:04.759620Z" } }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/Users/jean-mariemirebeau/Dropbox/Programmes/GithubM1/AdaptiveGridDiscretizations/agd/FiniteDifferences.py:314: RuntimeWarning: invalid value encountered in add\n", " return sum(TakeAtOffset(u,mult*ad.asarray(offset),**kwargs)*weight\n" ] } ], "source": [ "grad_centered = fd.DiffGradient(hfmOut['values'],gridScale=h)" ] }, { "cell_type": "code", "execution_count": 53, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:04.761373Z", "iopub.status.busy": "2024-04-30T08:59:04.761282Z", "iopub.status.idle": "2024-04-30T08:59:04.763604Z", "shell.execute_reply": "2024-04-30T08:59:04.763386Z" } }, "outputs": [], "source": [ "def gradient_upwind(u,h):\n", " \"\"\"(Quasi-)Upwind gradient of an array u at gridscale h\"\"\"\n", " offsets = np.eye(u.ndim).astype(int)\n", " dup = fd.DiffUpwind(u, offsets, h, padding=np.inf)\n", " dum = fd.DiffUpwind(u,-offsets, h, padding=np.inf)\n", " return np.where(dup0.95\n", "print(f\"Pixel ratio where hfm and 'upwind' gradient are equal : {ratio}\")" ] }, { "cell_type": "code", "execution_count": 56, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:04.773514Z", "iopub.status.busy": "2024-04-30T08:59:04.773439Z", "iopub.status.idle": "2024-04-30T08:59:04.866430Z", "shell.execute_reply": "2024-04-30T08:59:04.866136Z" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiMAAAGxCAYAAACwbLZkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA/xUlEQVR4nO3deXhU1eH/8U9CVkgIASSyJYyxBjSKCgYIYEAgsokavgWrhqVgQeqC4ALFlqVWqlWkteJSIbSpC1ZCrRWRoIBosCAqyg+MFoNBFiMYQgIYCDm/P+iMDNlmJjO5M8n79TzzPMydM/eek5thPrnn3HOCjDFGAAAAFgm2ugIAAKBpI4wAAABLEUYAAIClCCMAAMBShBEAAGApwggAALAUYQQAAFiKMAIAACxFGAEAAJYijMBnli9frqCgIMcjIiJC559/vgYOHKiFCxeqqKioynvmzZunoKAgt45z/PhxzZs3Txs2bKixDnv27PGwFZ4fuzobNmxQUFCQXn31VZfKP/jgg4qPj1dISIhatWrleUX9yIQJE9SlSxerq+GWoKAgzZs3z6v77NKliyZMmODVffpKdZ/Lhqh/Xl6e5s2bpyNHjvj0OLBeiNUVQOOXlZWlrl276tSpUyoqKtJ7772nRx55RI899phWrFihwYMHO8pOnjxZQ4cOdWv/x48f1/z58yVJAwYMcHptxIgR2rx5s9q3b1/vdrh77Pp67bXX9Lvf/U5z5szRsGHDFB4e7tX9w3WbN29Wp06drK6GX1m1apVatmzp02Pk5eVp/vz5mjBhQqMJ46geYQQ+l5ycrJ49ezqejx49Wvfcc4/69eunjIwMffnll4qLi5MkderUyav/6Z933nk677zzvLa/hrRjxw5J0l133aV27dpZXJumrXfv3lZXwSPHjx9X8+bNfbLvK664wif7RdNENw0sER8fr8cff1ylpaV69tlnHduruxz8zjvvaMCAAWrTpo0iIyMVHx+v0aNH6/jx49qzZ48jbMyfP9/RJWS/fFxdN82AAQOUnJysrVu3qn///mrevLkuuOAC/f73v1dlZaXTsY8cOaKZM2fqggsuUHh4uNq1a6fhw4fr888/r/PYtTl16pTmzJmjDh06qGXLlho8eLDy8/Mdr3fp0kUPPvigJCkuLs6pm6BLly4aOXKk/v3vf+uKK65QZGSkunXrpn//+9+ONnfr1k0tWrRQSkqKPvzwwzrr891332natGm6+OKLFRUVpXbt2umaa67Rpk2bnMrt2bNHQUFBeuyxx7Ro0SLZbDZFRUWpT58++uCDD6rsd/ny5UpKSlJ4eLi6deumv/3tb3XWxa6mrpFzuwfs5zg3N1cTJ05U69at1aJFC1133XX66quvHOWeeuopBQcHO3UPPv744woKCtIvf/lLx7bKykrFxsZq5syZNdbFfsz169fr9ttvV9u2bdWmTRtlZGRo//79TvU9deqU7r//fp1//vlq3ry5+vXrpy1btrj8c/jmm2/0f//3f4qOjlarVq10yy23aOvWrQoKCtLy5csd5SZMmKCoqCh99tlnSk9PV3R0tAYNGiRJys3N1fXXX69OnTopIiJCF154oaZMmaJDhw5VOd4bb7yhyy+/XOHh4bLZbHrssceqrVd13TRHjx7VvffeK5vNprCwMHXs2FHTp0/XsWPHnMoFBQXpjjvuUHZ2trp166bmzZure/fujt9h6cz/Bffdd58kyWazOT5frnaJIrBwZQSWGT58uJo1a6Z33323xjJ79uzRiBEj1L9/fy1btkytWrXSvn37tGbNGp08eVLt27fXmjVrNHToUE2aNEmTJ0+WpDqvhhw8eFC33HKLZs6cqblz52rVqlWaPXu2OnTooHHjxkmSSktL1a9fP+3Zs0cPPPCAevXqpbKyMr377rs6cOCAUlNTPTq2JP3qV79S37599fzzz+vo0aN64IEHdN1112nXrl1q1qyZVq1apaeeekpLly7VmjVrFBMT43TFaPv27Zo9e7bmzJmjmJgYzZ8/XxkZGZo9e7befvttPfzwwwoKCtIDDzygkSNHqqCgQJGRkTXW5/vvv5ckzZ07V+eff77Kysq0atUqDRgwQG+//XaVLqinnnpKXbt21eLFiyVJv/71rzV8+HAVFBQoJiZG0pkv7IkTJ+r666/X448/rpKSEs2bN0/l5eUKDvb+30GTJk3SkCFD9OKLL2rv3r168MEHNWDAAH366adq1aqVBg8eLGOM3n77bf3sZz+TJK1bt06RkZHKzc117OfDDz/UkSNHnLoPazJ58mSNGDHCccz77rtPt956q9555x1Hmdtuu01/+9vfdO+992rIkCHasWOHMjIyVFpaWuf+jx07poEDB+r777/XI488ogsvvFBr1qzR2LFjqy1/8uRJjRo1SlOmTNGsWbNUUVEhSdq9e7f69OmjyZMnKyYmRnv27NGiRYvUr18/ffbZZwoNDZUkvf3227r++uvVp08fvfzyyzp9+rQeffRRffvtt3XW9fjx40pLS9M333yjX/3qV7rsssv0//7f/9NvfvMbffbZZ1q3bp3THxpvvPGGtm7dqgULFigqKkqPPvqobrzxRuXn5+uCCy7Q5MmT9f333+vJJ59UTk6Oo6v14osvrrMuCEAG8JGsrCwjyWzdurXGMnFxcaZbt26O53PnzjVn/1q++uqrRpL55JNPatzHd999ZySZuXPn1liHgoICx7a0tDQjyfznP/9xKnvxxReba6+91vF8wYIFRpLJzc316NjVWb9+vZFkhg8f7rT9lVdeMZLM5s2bHdvsP4vvvvvOqWxCQoKJjIw033zzjWPbJ598YiSZ9u3bm2PHjjm2//Of/zSSzL/+9S+X6mdXUVFhTp06ZQYNGmRuvPFGx/aCggIjyVx66aWmoqLCsX3Lli1GknnppZeMMcacPn3adOjQwVx55ZWmsrLSUW7Pnj0mNDTUJCQk1FmHmn6uCQkJZvz48Y7n9nN8dj2NMeb99983ksxDDz3k2NapUyfz85//3BhjTHl5uWnRooV54IEHjCTz9ddfG2OM+d3vfmdCQ0NNWVlZjXWxH3PatGlOx3z00UeNJHPgwAFjjDG7du0yksw999zjVO6FF14wkpzaUZ2nnnrKSDJvvvmm0/YpU6YYSSYrK8uxbfz48UaSWbZsWa37rKysNKdOnTJff/21kWRee+01x2u9evUyHTp0MCdOnHBsO3r0qGndurU59+vi3POwcOFCExwcXOXzbv8Mr1692rFNkomLizNHjx51bDt48KAJDg42CxcudGz7wx/+UOXzi8aJbhpYyhhT6+uXX365wsLC9Itf/EJ//etfnS6718f555+vlJQUp22XXXaZvv76a8fzN998UxdddJFLfyG7a9SoUVWOLcnp+LW5/PLL1bFjR8fzbt26STrTBXX2GAH7dlf2+8wzz+jKK69URESEQkJCFBoaqrffflu7du2qUnbEiBFq1qxZjfXPz8/X/v37dfPNNzv9NZyQkKDU1FSX2uiuW265xel5amqqEhIStH79ese2QYMGad26dZLODI48fvy4ZsyYobZt2zqujqxbt059+vRRixYt6jxmXefRfuxz6zZm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oncHc3UEAJoYwggAALAUYQQAAFiKMAIAACxFGAEAAJYijAAAAEsRRgAAgKUIIwAAwFKEEQAAYCnCCAAAsBRhBAAAWIowAgAALEUYAQAAliKMAAAASxFGAACApQgjAADAUoQRAABgKcIIAACwFGEEAABYijACAAAsRRgBAACWIowAAABLEUbgFzJj82QGF6s0sdLqqgAAGhhhBH4ju3uWJClnY4rFNQEANCTCCPxKRtoWSVLm9okW1wQA0FAII/ArmbF5kqSgdbHKLk61uDYAgIZAGIFfis0/qbWFSVZXAwDQAAgjAADAUoQRAABgKcIIAACwFGEEAABYyqMwsmTJEtlsNkVERKhHjx7atGlTreXLy8s1Z84cJSQkKDw8XImJiVq2bJlHFQYAAI1LiLtvWLFihaZPn64lS5aob9++evbZZzVs2DDt3LlT8fHx1b5nzJgx+vbbb7V06VJdeOGFKioqUkVFRb0rDwAAAp/bYWTRokWaNGmSJk+eLElavHix3nrrLT399NNauHBhlfJr1qzRxo0b9dVXX6l169aSpC5dutSv1gAAoNFwq5vm5MmT2rZtm9LT0522p6enKy8vr9r3/Otf/1LPnj316KOPqmPHjrrooot077336sSJEzUep7y8XEePHnV6AACAxsmtKyOHDh3S6dOnFRcX57Q9Li5OBw8erPY9X331ld577z1FRERo1apVOnTokKZNm6bvv/++xnEjCxcu1Pz5892pGgAACFAeDWANCgpyem6MqbLNrrKyUkFBQXrhhReUkpKi4cOHa9GiRVq+fHmNV0dmz56tkpISx2Pv3r2eVBMAAAQAt66MtG3bVs2aNatyFaSoqKjK1RK79u3bq2PHjoqJiXFs69atm4wx+uabb/STn/ykynvCw8MVHh7uTtUAAECAcuvKSFhYmHr06KHc3Fyn7bm5uUpNrX5Rs759+2r//v0qKytzbPviiy8UHBysTp06eVBlAADQmLjdTTNjxgw9//zzWrZsmXbt2qV77rlHhYWFmjp1qqQzXSzjxo1zlL/55pvVpk0bTZw4UTt37tS7776r++67Tz//+c8VGRnpvZYAAICA5PatvWPHjtXhw4e1YMECHThwQMnJyVq9erUSEhIkSQcOHFBhYaGjfFRUlHJzc3XnnXeqZ8+eatOmjcaMGaOHHnrIe60AAAABy+0wIknTpk3T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KCjI6uo0iKNHj6pz587au3evWrZsaXV1GkxTbbfUdNtOu2l3U9EU226MUWlpqTp06KDg4JrvmQmIbprg4OBaE1Vj1rJlyybzS3u2ptpuqem2nXY3LU213VLTa3tMTEydZbi1FwAAWIowAgAALEUY8VPh4eGaO3euwsPDra5Kg2qq7ZaabttpN+1uKppy2+sSEANYAQBA48WVEQAAYCnCCAAAsBRhBAAAWIowAgAALEUYAQAAliKMWKS4uFiZmZmKiYlRTEyMMjMzdeTIkVrfExQUVO3jD3/4g6PMgAEDqrx+0003+bg1rvOk3RMmTKjSpt69ezuVKS8v15133qm2bduqRYsWGjVqlL755hsftsR97rb91KlTeuCBB3TppZeqRYsW6tChg8aNG6f9+/c7lfO3c75kyRLZbDZFRESoR48e2rRpU63lN27cqB49eigiIkIXXHCBnnnmmSplVq5cqYsvvljh4eG6+OKLtWrVKl9Vv17caXtOTo6GDBmi8847Ty1btlSfPn301ltvOZVZvnx5tZ/5H374wddNcYs77d6wYUO1bfr888+dygXCOXen3dX9PxYUFKRLLrnEUSZQzrdPGFhi6NChJjk52eTl5Zm8vDyTnJxsRo4cWet7Dhw44PRYtmyZCQoKMrt373aUSUtLM7fddptTuSNHjvi6OS7zpN3jx483Q4cOdWrT4cOHncpMnTrVdOzY0eTm5pqPPvrIDBw40HTv3t1UVFT4sjlucbftR44cMYMHDzYrVqwwn3/+udm8ebPp1auX6dGjh1M5fzrnL7/8sgkNDTV/+ctfzM6dO83dd99tWrRoYb7++utqy3/11VemefPm5u677zY7d+40f/nLX0xoaKh59dVXHWXy8vJMs2bNzMMPP2x27dplHn74YRMSEmI++OCDhmqWS9xt+913320eeeQRs2XLFvPFF1+Y2bNnm9DQUPPRRx85ymRlZZmWLVtW+ez7E3fbvX79eiPJ5OfnO7Xp7M9qIJxzd9t95MgRp/bu3bvXtG7d2sydO9dRJhDOt68QRiywc+dOI8npg7V582YjyXz++ecu7+f6668311xzjdO2tLQ0c/fdd3urql7labvHjx9vrr/++hpfP3LkiAkNDTUvv/yyY9u+fftMcHCwWbNmjVfqXl/eOudbtmwxkpz+w/Onc56SkmKmTp3qtK1r165m1qxZ1Za///77TdeuXZ22TZkyxfTu3dvxfMyYMWbo0KFOZa699lpz0003eanW3uFu26tz8cUXm/nz5zueZ2VlmZiYGG9V0Sfcbbc9jBQXF9e4z0A45/U936tWrTJBQUFmz549jm2BcL59hW4aC2zevFkxMTHq1auXY1vv3r0VExOjvLw8l/bx7bff6o033tCkSZOqvPbCCy+obdu2uuSSS3TvvfeqtLTUa3Wvj/q0e8OGDWrXrp0uuugi3XbbbSoqKnK8tm3bNp06dUrp6emObR06dFBycrLLP09f88Y5l6SSkhIFBQWpVatWTtv94ZyfPHlS27ZtczoPkpSenl5jGzdv3lyl/LXXXqsPP/xQp06dqrWMv5xbybO2n6uyslKlpaVq3bq10/aysjIlJCSoU6dOGjlypD7++GOv1bu+6tPuK664Qu3bt9egQYO0fv16p9f8/Zx743wvXbpUgwcPVkJCgtN2fz7fvhQQq/Y2NgcPHlS7du2qbG/Xrp0OHjzo0j7++te/Kjo6WhkZGU7bb7nlFtlsNp1//vnasWOHZs+ere3btys3N9crda8PT9s9bNgw/fSnP1VCQoIKCgr061//Wtdcc422bdum8PBwHTx4UGFhYYqNjXV6X1xcnMs/T1/zxjn/4YcfNGvWLN18881OK376yzk/dOiQTp8+rbi4OKfttZ2HgwcPVlu+oqJChw4dUvv27Wss4y/nVvKs7ed6/PHHdezYMY0ZM8axrWvXrlq+fLkuvfRSHT16VH/84x/Vt29fbd++XT/5yU+82gZPeNLu9u3b67nnnlOPHj1UXl6u7OxsDRo0SBs2bNDVV18tqebfC3855/U93wcOHNCbb76pF1980Wm7v59vXyKMeNG8efM0f/78Wsts3bpV0pnBqOcyxlS7vTrLli3TLbfcooiICKftt912m+PfycnJ+slPfqKePXvqo48+0pVXXunSvt3l63aPHTvW8e/k5GT17NlTCQkJeuONN6qEMXf26w0Ndc5PnTqlm266SZWVlVqyZInTa1ac89qc25662lhd+XO3u7tPq3haz5deeknz5s3Ta6+95hRae/fu7TRYu2/fvrryyiv15JNP6k9/+pP3Kl5P7rQ7KSlJSUlJjud9+vTR3r179dhjjznCiLv7tIqndVy+fLlatWqlG264wWl7oJxvXyCMeNEdd9xR510MXbp00aeffqpvv/22ymvfffddlaRdnU2bNik/P18rVqyos+yVV16p0NBQffnllz77Ymqodtu1b99eCQkJ+vLLLyVJ559/vk6ePKni4mKnqyNFRUVKTU11eb+eaIi2nzp1SmPGjFFBQYHeeecdp6si1WmIc16dtm3bqlmzZlX+MiwqKqqxjeeff3615UNCQtSmTZtay7jzO+NrnrTdbsWKFZo0aZL+8Y9/aPDgwbWWDQ4O1lVXXeX43bdafdp9tt69e+vvf/+747m/n/P6tNsYo2XLlikzM1NhYWG1lvW38+1T1gxVadrsgxn/85//OLZ98MEHLg9mHD9+fJU7Kmry2WefGUlm48aNHtfXW+rbbrtDhw6Z8PBw89e//tUY8+MA1hUrVjjK7N+/3y8HsLrb9pMnT5obbrjBXHLJJaaoqMilY1l5zlNSUsztt9/utK1bt261DmDt1q2b07apU6dWGcA6bNgwpzJDhw71q8GMxrjfdmOMefHFF01ERIRZtWqVS8eorKw0PXv2NBMnTqxPVb3Kk3afa/To0WbgwIGO54Fwzj1tt30A72effVbnMfzxfPsKYcQiQ4cONZdddpnZvHmz2bx5s7n00kur3OaZlJRkcnJynLaVlJSY5s2bm6effrrKPv/73/+a+fPnm61bt5qCggLzxhtvmK5du5orrrjCb25xdbfdpaWlZubMmSYvL88UFBSY9evXmz59+piOHTuao0ePOt4zdepU06lTJ7Nu3Trz0UcfmWuuucYvb+11p+2nTp0yo0aNMp06dTKffPKJ061+5eXlxhj/O+f22x2XLl1qdu7caaZPn25atGjhuGNg1qxZJjMz01HefmvvPffcY3bu3GmWLl1a5dbe999/3zRr1sz8/ve/N7t27TK///3v/e42T2Pcb/uLL75oQkJCzFNPPVXjbdnz5s0za9asMbt37zYff/yxmThxogkJCXEKtVZzt91PPPGEWbVqlfniiy/Mjh07zKxZs4wks3LlSkeZQDjn7rbb7tZbbzW9evWqdp+BcL59hTBikcOHD5tbbrnFREdHm+joaHPLLbdUudVNksnKynLa9uyzz5rIyMhq55EoLCw0V199tWndurUJCwsziYmJ5q677qoyJ4eV3G338ePHTXp6ujnvvPNMaGioiY+PN+PHjzeFhYVO7zlx4oS54447TOvWrU1kZKQZOXJklTJWc7ftBQUFRlK1j/Xr1xtj/POcP/XUUyYhIcGEhYWZK6+80ukKzfjx401aWppT+Q0bNpgrrrjChIWFmS5dulQbtP/xj3+YpKQkExoaarp27er0xeVP3Gl7Wlpated2/PjxjjLTp0838fHxJiwszJx33nkmPT3d5OXlNWCLXONOux955BGTmJhoIiIiTGxsrOnXr5954403quwzEM65u7/rR44cMZGRkea5556rdn+Bcr59IciY/40WAwAAsADzjAAAAEsRRgAAgKUIIwAAwFKEEQAAYCnCCAAAsBRhBAAAWIowAgAALEUYAQAAliKMAAAASxFGAACApQgjAADAUv8fFhb7i0rUYWwAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.title(\"Distinct hfm and upwind gradient\")\n", "plt.contourf(*grid,grad_same);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In this example, not much distinguishes the centered and the upwind gradient." ] }, { "cell_type": "code", "execution_count": 57, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:04.868111Z", "iopub.status.busy": "2024-04-30T08:59:04.867998Z", "iopub.status.idle": "2024-04-30T08:59:04.984272Z", "shell.execute_reply": "2024-04-30T08:59:04.984004Z" } }, "outputs": [ { "data": { "image/png": "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nypWrEgzZsz46lA3sVhMlpaWVLlyZapevTpt2bJFpo2goCBycnIiX19fSkhIkEnRWFBQQG/fvhW8dn5+vmA/fgC/XsE3UJ7VK4VRUaBAgQIF/yTlSQmvsE3/Dj+t0xMbG0t79uwhPz8/GRkAevnyJW3atImePXsmIy8sLKR79+6RjY0Nb42OtLQ0unDhAk2bNk0mfzkACgsLowMHDtDw4cMpNDS0zId8RkYGeXl50cqVK8nU1JSePn1K2dnZpR/mjx8/pt27d9Mff/xB2tradO/ePUpMTKTCwkICQO7u7mRlZUVaWlpUq1Ytunr1Kr18+ZLS09OJ4zi6cOECdejQgdq1a0cjR46k3bt3k6urK71584akUimNHTuWXr58ST179qQ6depQv379aODAgXTs2DFKTk6WuVclJSX666+/qEKFCuVyfD5+/EjHjh2jQYMGUbt27ah69eokEonI39+ftm7dSqqqqvTmzRu6ePEibdy4kdauXUvjxo2j7t2704IFC+j169eUkZFBr1+/pps3b5KTkxN17NiRatSoQd26daOjR49SQUEBffr0icLCwsjPz4/Gjx9Penp6NGXKFDp69CilpKSQWCym5ORkiomJIRcXF+rYsSMtX76cPD09KSsriwBQQUEBZWZmUmJiIllZWdG6devI19e3TBpJACSRSMje3p5sbW3p2bNnvGPg5+dHdnZ29Pr1a14nKy0tjbZt28ab777kOkeOHKG3b98yx/batWsUExMjOP4KFCj4sYmMjKRt27ZRYWEhrzw4OJi2bdvGW8MDAD19+pR27tzJOw9xHEd+fn60Z88e3rYlEgl5e3vT/v37eeUFBQXk6elJBw4c4JXn5eWRu7s785xAVlYWubq6MuVpaWl05swZOnjwIK/8ewGANm3aRB4eHszsVl5eXnT48GFmVqn09HTatGkTBQcHMxfWHB0dydvbm5khy9fXly5cuEC5ubnMaxw+fJjXNpfg5OQkaBfu3btHL1++ZPYxIiKC/P39mfLs7Gy6c+cOs2YMAPL29hasO6NAwX+GbyqD+g/zNVVX3759C0tLSxARiAhNmzZF7969S+WhoaHo1atXqbxFixbQ0dFBeno6ACAoKAgmJialci0tLejo6MDHxwdAcaVsU1NTKCkpgYggEomgo6ODv/76CwDw4MEDDB06FBUrVoSysjKMjY2hq6uL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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=(10,3))\n", "plt.subplot(1,2,1)\n", "plt.title(\"Upwind gradient\")\n", "s=5; plt.quiver(*grid[:,::s,::s],*grad_upwind[:,::s,::s]);\n", "plt.subplot(1,2,2)\n", "plt.title(\"Centered gradient\")\n", "s=5; plt.quiver(*grid[:,::s,::s],*grad_centered[:,::s,::s]);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 4.3 Forward differentiation\n", "\n", "Finite differences are compatible with automatic differentiation. For illustration, we compute the first order perturbation of the value function gradient w.r.t. the perturbations of the cost function and seed values previously considered." ] }, { "cell_type": "code", "execution_count": 58, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:04.986148Z", "iopub.status.busy": "2024-04-30T08:59:04.986039Z", "iopub.status.idle": "2024-04-30T08:59:05.009185Z", "shell.execute_reply": "2024-04-30T08:59:05.008825Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Field verbosity defaults to 1\n", "Field order defaults to 1\n", "Field seedRadius defaults to 0\n", "Fast marching solver completed in 0.003039 s.\n" ] } ], "source": [ "hfmOut = hfmIn_ad.Run()" ] }, { "cell_type": "code", "execution_count": 59, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:05.010752Z", "iopub.status.busy": "2024-04-30T08:59:05.010640Z", "iopub.status.idle": "2024-04-30T08:59:05.020439Z", "shell.execute_reply": "2024-04-30T08:59:05.020188Z" } }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/Users/jean-mariemirebeau/Dropbox/Programmes/GithubM1/AdaptiveGridDiscretizations/agd/AutomaticDifferentiation/Dense.py:54: RuntimeWarning: invalid value encountered in add\n", " return self.new(self.value+other.value, _add_coef(self.coef,other.coef))\n" ] } ], "source": [ "grad_upwind_ad = gradient_upwind(hfmOut['values'],h)\n", "grad_centered_ad = fd.DiffGradient(hfmOut['values'],gridScale=h)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Automatic differentiation has no impact on the zero-th order term, where it is defined." ] }, { "cell_type": "code", "execution_count": 60, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:05.021885Z", "iopub.status.busy": "2024-04-30T08:59:05.021776Z", "iopub.status.idle": "2024-04-30T08:59:05.023917Z", "shell.execute_reply": "2024-04-30T08:59:05.023708Z" } }, "outputs": [], "source": [ "assert np.all(np.logical_or(grad_upwind_ad.value==grad_upwind,np.isnan(grad_upwind)))\n", "assert np.all(np.logical_or(grad_centered_ad.value==grad_centered,np.isnan(grad_centered)))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The improved stability of the upwind gradient, w.r.t.\\ the centered gradient, is slightly more visible when differentiation is involved. One sees that the centered gradient features more long spurious arrow, originating from the vicity of obtsacles or of the boundary." ] }, { "cell_type": "code", "execution_count": 61, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:05.025311Z", "iopub.status.busy": "2024-04-30T08:59:05.025230Z", "iopub.status.idle": "2024-04-30T08:59:05.143446Z", "shell.execute_reply": "2024-04-30T08:59:05.143140Z" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "perturbation_index = 0\n", "plt.figure(figsize=[10,3])\n", "plt.subplot(1,2,1)\n", "plt.title(\"Upwind gradient perturbation\")\n", "plt.quiver(*grid[:,::s,::s],*grad_upwind_ad.gradient(perturbation_index)[:,::s,::s]);\n", "plt.subplot(1,2,2)\n", "plt.title(\"Centered gradient perturbation (omiting boundary layer)\")\n", "plt.quiver(*grid[:,::s,::s],*grad_centered_ad.gradient(perturbation_index)[:,1:-1:s,1:-1:s]);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 4.4 Reverse differentiation\n", "\n", "We illustrate reverse differentiation of the value function gradient" ] }, { "cell_type": "code", "execution_count": 62, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:05.145244Z", "iopub.status.busy": "2024-04-30T08:59:05.145130Z", "iopub.status.idle": "2024-04-30T08:59:05.147114Z", "shell.execute_reply": "2024-04-30T08:59:05.146880Z" } }, "outputs": [], "source": [ "rev,cost_rev = ad.Reverse.empty(inputs=cost,input_iterables=(Eikonal.dictIn,))\n", "hfmIn_rev['cost'] = cost_rev" ] }, { "cell_type": "code", "execution_count": 63, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:05.148497Z", "iopub.status.busy": "2024-04-30T08:59:05.148400Z", "iopub.status.idle": "2024-04-30T08:59:05.165787Z", "shell.execute_reply": "2024-04-30T08:59:05.165472Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Requesting cacheable data\n", "Field verbosity defaults to 1\n", "Field order defaults to 1\n", "Field seedRadius defaults to 0\n", "Fast marching solver completed in 0.003023 s.\n", "Filling cache data\n" ] } ], "source": [ "hfmOut,values_rev = rev.apply(Eikonal.dictIn.Run,hfmIn_rev,cache=Eikonal.Cache())" ] }, { "cell_type": "code", "execution_count": 64, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:05.167364Z", "iopub.status.busy": "2024-04-30T08:59:05.167240Z", "iopub.status.idle": "2024-04-30T08:59:05.176444Z", "shell.execute_reply": "2024-04-30T08:59:05.176189Z" } }, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/Users/jean-mariemirebeau/Dropbox/Programmes/GithubM1/AdaptiveGridDiscretizations/agd/AutomaticDifferentiation/Sparse.py:73: RuntimeWarning: invalid value encountered in add\n", " value = self.value+other.value\n" ] } ], "source": [ "grad_upwind_rev = gradient_upwind(values_rev,h)\n", "grad_centered_rev = fd.DiffGradient(values_rev,gridScale=h)" ] }, { "cell_type": "code", "execution_count": 65, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:05.177759Z", "iopub.status.busy": "2024-04-30T08:59:05.177664Z", "iopub.status.idle": "2024-04-30T08:59:05.179647Z", "shell.execute_reply": "2024-04-30T08:59:05.179408Z" } }, "outputs": [], "source": [ "def objective(grad):\n", " interp = UniformGridInterpolation(grid,grad)\n", " p0,p1 = points.T \n", " # Return horizontal component at p0, vertical component at p1\n", " return interp(p0)[0] +interp(p1)[1] " ] }, { "cell_type": "code", "execution_count": 66, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:05.181047Z", "iopub.status.busy": "2024-04-30T08:59:05.180968Z", "iopub.status.idle": "2024-04-30T08:59:05.212016Z", "shell.execute_reply": "2024-04-30T08:59:05.211696Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Providing cached data\n", "Field verbosity defaults to 1\n", "Field order defaults to 1\n", "Field seedRadius defaults to 0\n", "Bypassing fast marching solver based on cached data.\n", "---- Finished upwind, turning to centered ----\n", "Providing cached data\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Field verbosity defaults to 1\n", "Field order defaults to 1\n", "Field seedRadius defaults to 0\n", "Bypassing fast marching solver based on cached data.\n" ] } ], "source": [ "grad_upwind_cost, = rev.to_inputshapes(rev.gradient(objective(grad_upwind_rev)))\n", "print(\"---- Finished upwind, turning to centered ----\")\n", "grad_centered_cost, = rev.to_inputshapes(rev.gradient(objective(grad_centered_rev)))" ] }, { "cell_type": "code", "execution_count": 67, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:05.213548Z", "iopub.status.busy": "2024-04-30T08:59:05.213430Z", "iopub.status.idle": "2024-04-30T08:59:05.308487Z", "shell.execute_reply": "2024-04-30T08:59:05.308194Z" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAzoAAAEnCAYAAABhZjbYAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA/bElEQVR4nO3deXxTVf7/8Xe6l0LLUihbKciwFFnEIrsi++4uKMgmIAwqsrgxjAKOyqaI409wQUBnEBEEFUGwjKBgiyKgo4DiwiZQEBSoCwXa8/uDbzOkSdukTZrk9vV8PPp4kMvJvZ/e5uaTzznnntiMMUYAAAAAYCEh/g4AAAAAALyNQgcAAACA5VDoAAAAALAcCh0AAAAAlkOhAwAAAMByKHQAAAAAWA6FDgAAAADLodABAAAAYDkUOgAAAAAsh0LHjz799FPdeOONqlWrliIjI5WQkKA2bdpo4sSJ/g5NmzZtks1m06ZNm+zb1q5dq6lTp7psX7t2bQ0dOtTnxykpf//731WrVi2FhYWpfPnyfo3FXddee62uvfZar+5z6NChql27tlf36SuuXkslEf+RI0c0depUffHFFz49DuBN5B/yT1G9/vrrmjt3rr/DcGn//v2y2WxavHixv0NxS968XVLxB/Lf0OsM/OK9994zISEhplOnTmbp0qVm06ZNZunSpWbixImmRo0a/g7PnD592qSnp5vTp0/bt919990mv5fMjh07zPfff+/z45SEt99+20gykydPNlu2bDHbtm3zWyye2LVrl9m1a5dX9zlkyBCTlJTk1X36ysaNG40ks3HjRvu277//3uzYscOnx922bZuRZBYtWuTT4wDeQv4p2nFKQjDkn969ewdsXti3b19QvR936NDBdOjQwf747NmzJj093Rw/ftynxw3kv6G3hfmtwirlZs2apTp16mj9+vUKC/vfn+G2227TrFmz/BjZRbGxsWrdurXb7Zs3b14ixykJX3/9tSRp7NixqlKlip+jcV+jRo38HUKR/Pnnn4qKipLNZvP6vuvWrev1fQLBjvxTtOOUhGDNP97w559/Kjo62t9huMVXsUZGRgbcazLYMXXNT06ePKn4+HiHJJMrJMT5z7Js2TK1adNGMTExKlu2rLp3766dO3c6tBk6dKjKli2r77//Xr169VLZsmWVmJioiRMnKisry6Ht/Pnz1axZM5UtW1blypVTw4YN9be//c3+/3mH9IcOHarnn39ekmSz2ew/+/fvl+Q4deDnn39WRESEHnnkEaff45tvvpHNZtM///lPj4/TuXNnNWzYUMYYh30aY/SXv/xFvXv3dnWq7XJycjRr1iw1bNhQkZGRqlKligYPHqyffvrJ3qZ27dr6+9//LklKSEiQzWYrcBpDftPF8k6Zyh2OnjVrlp544gnVqlVLUVFRatGihf7zn//Y2+3atUs2m03Lly+3b9u+fbtsNpsuv/xyh2Ncd911SklJyTeW3GM+9dRTmjNnjurUqaOyZcuqTZs22rp1q1PMixcvVoMGDRQZGank5GS99tpr+f7eeWVlZWnixImqWrWqypQpo2uuuUbbt293mlKyePFi2Ww2ffDBB7rzzjtVuXJllSlTRllZWfr+++81bNgw1atXT2XKlFGNGjXUt29fffXVV07H++abb9SjRw+VKVNG8fHxGj16tDIzM53auZq6ZozRvHnzdMUVVyg6OloVKlTQLbfcoh9//NGh3bXXXqvGjRtr27Ztuvrqq1WmTBlddtllmjFjhnJyciRdfP1eddVVkqRhw4bZX6/+nvoCFIT8Y438I12cgti3b19VqlRJUVFRqlu3rsaNG+fQ5rvvvtOAAQNUpUoV+/t77u+ZK/dcLF26VJMnT1b16tUVGxurLl266Ntvv7W3u/baa7VmzRodOHDA4RzlOnfunB5//HH771m5cmUNGzZMP//8s8PxateurT59+mjlypVq3ry5oqKiNG3aNElSRkaGRo0apZo1ayoiIkJ16tTRtGnTdOHCBYd9HDlyRP369VO5cuUUFxen/v37KyMjo8DzdaktW7aoTZs2ioqKUo0aNfTII49owYIFDq+twmJ9/vnndc0116hKlSqKiYlRkyZNNGvWLJ0/f97hWMYYzZo1S0lJSYqKitKVV16p999/3ymm/KauleTf0HL8OZxUmo0YMcJIMvfee6/ZunWrOXfuXL5tn3jiCWOz2cydd95p3nvvPbNy5UrTpk0bExMT4zBVaciQISYiIsIkJyebp556ymzYsME8+uijxmazmWnTptnbLV261H7sDz74wGzYsMG88MILZuzYsfY2eacBff/99+aWW24xkkx6err95+zZs8YYY5KSksyQIUPsz7/xxhtNYmKiyc7OdvhdHnzwQRMREWFOnDjh8XHeeecdI8mkpqY67HPNmjVGklmzZk2B5/yuu+4yksw999xj1q1bZ1544QVTuXJlk5iYaH7++WdjzMUpEMOHDzeSzLp160x6ero5dOhQvvvMO+x86d/i0mHh3OH0xMRE0759e/PWW2+Z5cuXm6uuusqEh4ebtLQ0e9tq1aqZu+66y/54xowZJjo62kgyhw8fNsYYc/78eRMbG2sefPDBfGPJPWbt2rVNjx49zNtvv23efvtt06RJE1OhQgVz6tQpe9tFixYZSeb66683q1evNv/+97/NX/7yF5OYmOjW8Pbtt99uQkJCzMMPP2w++OADM3fuXJOYmGji4uIcXhe5x6lRo4a56667zPvvv29WrFhhLly4YD766CMzceJEs2LFCvPRRx+ZVatWmRtuuMFER0ebb775xr6PjIwMU6VKFVOjRg2zaNEis3btWjNw4EBTq1Ytp6lrrqbejRw50oSHh5uJEyeadevWmddff900bNjQJCQkmIyMDIfzWalSJVOvXj3zwgsvmNTUVDNmzBgjybz66qvGmItTX3J/p7///e/212tBrxnA38g/1sg/69atM+Hh4aZp06Zm8eLF5sMPPzQLFy40t912m73Nrl27TFxcnGnSpIl57bXXzAcffGAmTpxoQkJCzNSpU53Oee3atc3AgQPNmjVrzNKlS02tWrVMvXr1zIULF+z7a9eunalatarDOTLGmOzsbNOjRw8TExNjpk2bZlJTU82CBQtMjRo1TKNGjcwff/xhP15SUpKpVq2aueyyy8zChQvNxo0bzWeffWaOHj1qzzsvvvii2bBhg/nHP/5hIiMjzdChQ+3P/+OPP0xycrKJi4szzz33nFm/fr0ZO3asPQ8UNnXtyy+/NFFRUaZp06bmjTfeMO+++67p1auXqV27tpFk9u3bV2isxhgzfvx4M3/+fLNu3Trz4YcfmmeeecbEx8ebYcOGORxvypQpRpIZPny4ef/9981LL71katSoYapWreoyb18af0n+Da2IQsdPTpw4Ydq3b28kGUkmPDzctG3b1kyfPt1kZmba2x08eNCEhYWZe++91+H5mZmZpmrVqqZfv372bUOGDDGSzJtvvunQtlevXqZBgwb2x/fcc48pX758gfG5ut+hoLnLeRPNu+++aySZDz74wL7twoULpnr16ubmm28u0nGys7PNZZddZq6//nqH7T179jR169Y1OTk5+f4+e/bsMZLMmDFjHLZ/+umnRpL529/+Zt+W+4aUm3wK4mmhU716dfPnn3/at585c8ZUrFjRdOnSxb7tjjvuMJdddpn9cZcuXczIkSNNhQoV7B+wP/nkE6fzm1+h06RJE/sbnDHGfPbZZ0aSWbp0qTHm4nmtXr26ufLKKx3O4f79+014eHihhc6uXbuMJPPQQw85bM/9QOOq0Bk8eHCB+zTm4uvl3Llzpl69emb8+PH27Q899JCx2Wzmiy++cGjftWvXQgud9PR0I8k8/fTTDs89dOiQiY6OdiocJZlPP/3UoW2jRo1M9+7d7Y+5RwfBhvzj+XECMf/UrVvX1K1b1yGn5NW9e3dTs2ZNh/uQjLn4d4iKijK//PKLMeZ/56JXr14O7d5880174Zcrv/s7ct/z33rrLYftue+R8+bNs29LSkoyoaGh5ttvv3VoO2rUKFO2bFlz4MABh+1PPfWUkWQvrufPn28kmXfeeceh3ciRI916P7711ltNTEyMw3nOzs42jRo1clnouIo1r+zsbHP+/Hnz2muvmdDQUPu5/fXXX01UVJS58cYbHdrn5vHCCp2S/BtaEVPX/KRSpUravHmztm3bphkzZuj666/X3r17NWnSJDVp0kQnTpyQJK1fv14XLlzQ4MGDdeHCBftPVFSUOnTo4LBajHRxuL1v374O25o2baoDBw7YH7ds2VKnTp3S7bffrnfeecd+LG/q2bOnqlatqkWLFtm3rV+/XkeOHNGdd95ZpH2GhITonnvu0XvvvaeDBw9Kkn744QetW7dOY8aMKXDodePGjZLktDJPy5YtlZyc7DB9zJduuukmRUVF2R+XK1dOffv21ccff6zs7GxJUufOnfXjjz9q3759Onv2rLZs2aIePXqoY8eOSk1NlSRt2LBBkZGRat++faHH7N27t0JDQ+2PmzZtKkn218S3336rI0eOaMCAAQ7nMCkpSW3bti10/x999JEkqV+/fg7bb7nlFpdTYyTp5ptvdtp24cIFPfnkk2rUqJEiIiIUFhamiIgIfffdd9qzZ4+93caNG3X55ZerWbNmDs8fMGBAobG+9957stlsuuOOOxyup6pVq6pZs2ZO11PVqlXVsmVLh215rycg2JB/PBdo+Wfv3r364YcfNHz4cIeccqmzZ8/qP//5j2688UaVKVPG4W/Yq1cvnT171mka83XXXefwOG++KMh7772n8uXLq2/fvg7HuuKKK1S1alWn10vTpk1Vv359p3107NhR1atXd9hHz549Jf0v32zcuFHlypVzitedPJC7n06dOik+Pt6+LSQkxCmPFRSrJO3cuVPXXXedKlWqpNDQUIWHh2vw4MHKzs7W3r17JUnp6ek6e/asBg4c6PDctm3bKikpqcA4S/pvaEUUOn7WokULPfTQQ1q+fLmOHDmi8ePHa//+/fYbQo8dOyZJuuqqqxQeHu7ws2zZMqckUaZMGac3vcjISJ09e9b+eNCgQVq4cKEOHDigm2++WVWqVFGrVq3sH6K9ISwsTIMGDdKqVat06tQpSRfvz6hWrZq6d+9e5P3eeeedio6O1gsvvCDp4vzY6OjoQpPXyZMnJUnVqlVz+r/q1avb/9/Xqlat6nLbuXPn9Ntvv0mSunTpIuliMbNlyxadP39enTp1UpcuXewJccOGDWrXrp1bN0NWqlTJ4XFkZKSkizdTSv87N/nFVpjc5yckJDhsDwsLczp2Lld/hwkTJuiRRx7RDTfcoNWrV+vTTz/Vtm3b1KxZM3usuccraqzHjh2TMUYJCQlO19PWrVudridX8UdGRjrEAwQr8o9nAin/5N7zUrNmzQKPe+HCBT333HNOf79evXpJUqHveXnzRUGOHTumU6dOKSIiwul4GRkZTsdydT6OHTum1atXOz0/9x7V3H2cPHnSKedI7uWBgp7valt+sR48eFBXX321Dh8+rGeffdbeeZB774w3cmxJ/w2tiFXXAkh4eLimTJmiZ555xr7ySm5vw4oVKwqt/D0xbNgwDRs2TL///rs+/vhjTZkyRX369NHevXu9dpxhw4Zp9uzZeuONN9S/f3+9++67GjdunMPogqfi4uI0ZMgQLViwQPfff78WLVqkAQMGFPpdA7kX/tGjR50Sw5EjRxx6dTwRFRWl06dPO23Pr5fS1Y2SGRkZioiIUNmyZSVdTFz169fXhg0bVLt2bbVo0ULly5dX586dNWbMGH366afaunWr/WbI4so9N/nF5u7zjx07pho1ati3X7hwId8E7qr389///rcGDx6sJ5980mH7iRMnHP6+lSpVKnKs8fHxstls2rx5s/3N/1KutgGlAfmncIGUfypXrixJDosZ5FWhQgWFhoZq0KBBuvvuu122qVOnjsfHzk98fLwqVaqkdevWufz/cuXKOTx2lQfi4+PVtGlTPfHEEy73Ub16dUkXz+lnn33m9P/uLkZQqVIleyHvzvNdxfr222/r999/18qVKx1et3m/U62wHFvQd72V9N/Qiih0/OTo0aMuewhyp+jkXszdu3dXWFiYfvjhB5fTfYorJiZGPXv21Llz53TDDTdo165d+SaaS3sF3BlJSE5OVqtWrbRo0SJlZ2crKytLw4YNK/R5hR1n7Nixmjdvnm655RadOnVK99xzT6H77NSpk6SLH6ZzV8mSpG3btmnPnj2aPHlyoftwpXbt2lq+fLmysrLscZ88eVJpaWmKjY11ar9y5UrNnj3b3uuZmZmp1atX6+qrr3ZIwF26dNGbb76pxMRE+2o+9evXV61atfToo4/q/Pnz9pGf4mrQoIGqVaumpUuXasKECfY39AMHDigtLc3+WszPNddcI+niykxXXnmlffuKFSucVskpiM1mcyo01qxZo8OHD+svf/mLfVvHjh01a9Ysffnllw7T115//fVCj9GnTx/NmDFDhw8fzneKgqdKe28Zgg/5J3/Bkn/q16+vunXrauHChZowYYLLTpoyZcqoY8eO2rlzp5o2baqIiAiPj+NKfqPaffr00RtvvKHs7Gy1atWqSPvu06eP1q5dq7p166pChQr5tuvYsaPefPNNvfvuuw5TtdzJA5LUoUMHrV27VidOnLAXmjk5OQ4rnhYmN1deeu6NMXr55Zcd2rVu3VpRUVFasmSJw3WUlpamAwcOFFjolPTf0IoodPyke/fuqlmzpvr27auGDRsqJydHX3zxhZ5++mmVLVtW9913n6SLH6Qfe+wxTZ48WT/++KN69OihChUq6NixY/rss88UExPjcc/+yJEjFR0drXbt2qlatWrKyMjQ9OnTFRcX5/AmnFeTJk0kSTNnzlTPnj0VGhpa6IV35513atSoUTpy5Ijatm2rBg0aFBpfYcepX7++evTooffff1/t27d3ulfDlQYNGuiuu+7Sc889p5CQEPXs2VP79+/XI488osTERI0fP77QfbgyaNAgvfjii7rjjjs0cuRInTx5UrNmzXJZ5EhSaGiounbtqgkTJignJ0czZ87UmTNnnP6GnTt31rx583TixAmHby/u3LmzFi1apAoVKjgsLV0cISEh+sc//qERI0boxhtv1MiRI3Xq1ClNnTrVrWkAl19+uW6//XY9/fTT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nTun7du3O/zOktStW7d8Y0tPT3dq3717d33++ec6f/58gW2Kcx6LE3NeOTk5yszMVMWKFR22//bbb0pKSlLNmjXVp08f7dy506/xNm/eXNWqVVPnzp21ceNGh//z1Tn2xvl95ZVX1KVLFyUlJTls98X5hTUFW24KtrxU3JgvRW4KvrxU3JjJTf4V5u8AgklGRoaqVKnitL1KlSrKyMhwax+vvvqqypUrp5tuuslh+8CBA1WnTh1VrVpVX3/9tSZNmqQvv/xSqampfom5Z8+euvXWW5WUlKR9+/bpkUceUadOnbR9+3ZFRkYqIyNDERERqlChgsPzEhIS3D4X3oz3UmfPntXDDz+sAQMGKDY21r69uOf4xIkTys7OVkJCgsP2gn7njIwMl+0vXLigEydOqFq1avm2Kc55LE7MeT399NP6/fff1a9fP/u2hg0bavHixWrSpInOnDmjZ599Vu3atdOXX36pevXqlWi81apV00svvaSUlBRlZWXpX//6lzp37qxNmzbpmmuukZT/36G457i45/fo0aN6//339frrrzts99X5hTUFW24KtrxUnJgvRW4qerx5lWReKmrM5KbAQKEjaerUqZo2bVqBbbZt2ybp4s2beRljXG53ZeHChRo4cKCioqIcto8cOdL+78aNG6tevXpq0aKFduzYoSuvvLLEY+7fv79DPC1atFBSUpLWrFnjlAjd2W9JnePz58/rtttuU05OjubNm+fwf56e4/zkjaOw2Fy1z7vd0316qqj7X7p0qaZOnap33nnHIcm3bt3a4Sbgdu3a6corr9Rzzz2nf/7znyUab4MGDdSgQQP74zZt2ujQoUN66qmn7MnE0336Mt5LLV68WOXLl9cNN9zgsN3X5xfBIdhyU7DlpZKIORe5yb3jB3Je8jRmclNgoNCRdM899xS6wknt2rX13//+V8eOHXP6v59//tmpanZl8+bN+vbbb7Vs2bJC21555ZUKDw/Xd9995/KNrqRizlWtWjUlJSXpu+++kyRVrVpV586d06+//urQe3b8+HG1bdvWL/GeP39e/fr10759+/Thhx869Ji5Utg5zis+Pl6hoaFOvSHHjx/PN7aqVau6bB8WFqZKlSoV2MaTv483Y861bNkyDR8+XMuXL1eXLl0KbBsSEqKrrrrK/vrwR7yXat26tf7973/bH/vqHBcnXmOMFi5cqEGDBikiIqLAtt46vwguwZabgi0vlVTM5Kbix5vLH3mpuDFfitzkByV3O1Dwy70Z8dNPP7Vv27p1q9s3Iw4ZMsRptZX8fPXVV0aS+eijj4ocrzHFjznXiRMnTGRkpHn11VeNMf+76XPZsmX2NkeOHPHaYgSexnvu3Dlzww03mMsvv9wcP37crWMV5Ry3bNnS/PWvf3XYlpycXOANn8nJyQ7bRo8e7XTDZ8+ePR3a9OjRw6uLEXgSszHGvP766yYqKsqsWrXKrWPk5OSYFi1amGHDhhUnVGNM0eLN6+abbzYdO3a0P/blOS5qvLk3qn711VeFHsOb5xfWE2y5KdjyUnFiJjd5J15j/JuXjCE3uRIMuYlCx0M9evQwTZs2Nenp6SY9Pd00adLEaXnJBg0amJUrVzpsO336tClTpoyZP3++0z6///57M23aNLNt2zazb98+s2bNGtOwYUPTvHlzry2J6UnMmZmZZuLEiSYtLc3s27fPbNy40bRp08bUqFHDnDlzxv6c0aNHm5o1a5oNGzaYHTt2mE6dOnlteWlP4j1//ry57rrrTM2aNc0XX3zhsORhVlaWMcZ75zh3ucZXXnnF7N6924wbN87ExMTYVyV5+OGHzaBBg+ztc5fwHD9+vNm9e7d55ZVXnJbw/OSTT0xoaKiZMWOG2bNnj5kxY4ZPlpd2N+bXX3/dhIWFmeeffz7f5U6nTp1q1q1bZ3744Qezc+dOM2zYMBMWFubwIaCk4n3mmWfMqlWrzN69e83XX39tHn74YSPJvPXWW/Y2vjzHnsab64477jCtWrVyuU9fnl9YU7DlpmDLS0WJmdzkvXj9nZeKEjO5KTBQ6Hjo5MmTZuDAgaZcuXKmXLlyZuDAgU5LB0oyixYtctj24osvmujoaJdr4x88eNBcc801pmLFiiYiIsLUrVvXjB071un7AUoq5j/++MN069bNVK5c2YSHh5tatWqZIUOGmIMHDzo8588//zT33HOPqVixoomOjjZ9+vRxalMS8e7bt89IcvmzceNGY4x3z/Hzzz9vkpKSTEREhLnyyisdet2GDBliOnTo4NB+06ZNpnnz5iYiIsLUrl3b5QeK5cuXmwYNGpjw8HDTsGFDhzdCb/Ak5g4dOrg8l0OGDLG3GTdunKlVq5aJiIgwlStXNt26dTNpaWl+iXfmzJmmbt26JioqylSoUMG0b9/erFmzxmmfvjzHnr4mTp06ZaKjo81LL73kcn++Pr+wnmDLTcGWl4oSM7nJe/EGQl7yNGZyU2CwGfN/d58BAAAAgEXwPToAAAAALIdCBwAAAIDlUOgAAAAAsBwKHQAAAACWQ6EDAAAAwHIodAAAAABYDoUOAAAAAMuh0AEAAABgORQ6AAAAACyHQgcAAACA5VDoAAAAALAcCh0AAAAAlvP/ASRVknw2/7ifAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "levels = [0.0001,0.001,0.01]\n", "plt.figure(figsize=(10,3))\n", "plt.subplot(1,2,1)\n", "plt.title(\"Sensitivity of upwind gradient\")\n", "plt.contourf(*grid,grad_upwind_cost,levels=levels)\n", "plt.subplot(1,2,2)\n", "plt.title(\"Sensitivity of centered gradient\")\n", "plt.contourf(*grid,grad_centered_cost,levels=levels);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Validation by comparison with forward gradient. " ] }, { "cell_type": "code", "execution_count": 68, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:05.309975Z", "iopub.status.busy": "2024-04-30T08:59:05.309873Z", "iopub.status.idle": "2024-04-30T08:59:05.312431Z", "shell.execute_reply": "2024-04-30T08:59:05.312165Z" } }, "outputs": [], "source": [ "grad_diff = (grad_upwind_cost * hfmIn_ad['cost']).sum().gradient() - objective(grad_upwind_ad).gradient()\n", "assert norm_infinity(grad_diff[:2])<1e-13\n", "# Third component ignored because related with seedValueVariation, not considered in reverse more here." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 5. An optimization problem : finding the cost function which maximizes distance" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We illustrate automatic differentiation solving an optimization problem posed on cost functions $c$. The objective is to maximize the distance from a point $x_*$ to the boundary, minus a integral penalty on the cost. Formally, the problem reads as follows\n", "\\begin{align*}\n", " \\max_{c : \\Omega \\to [\\alpha,\\beta]} \\, u[c](x_*) - \\gamma \\int_\\Omega c.\n", "\\end{align*}\n", "The bounds $\\alpha,\\beta > 0$ imposed on the cost function, and the penalization factor $\\gamma >0$ on the cost function integral, are given parameters, as well as the target point $x_*$.\n", "\n", "Experiments of similar nature are presented in :\n", "* F. Benmansour, G. Carlier, G. Peyré, and F. Santambrogio, “Derivatives with respect to metrics and applications: subgradient marching algorithm,” Numerische Mathematik, vol. 116, no. 3, pp. 357–381, May 2010.\n", "* J.-M. Mirebeau and J. Dreo, “Automatic differentiation of non-holonomic fast marching for computing most threatening trajectories under sensors surveillance,” presented at the Geometrical Science of Information, 2017." ] }, { "cell_type": "code", "execution_count": 69, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:05.313889Z", "iopub.status.busy": "2024-04-30T08:59:05.313789Z", "iopub.status.idle": "2024-04-30T08:59:05.315367Z", "shell.execute_reply": "2024-04-30T08:59:05.315150Z" } }, "outputs": [], "source": [ "optIn = Eikonal.dictIn()\n", "optIn['model']='IsotropicDiff2' # Alternatively, 'Isotropic2'" ] }, { "cell_type": "code", "execution_count": 70, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:05.316732Z", "iopub.status.busy": "2024-04-30T08:59:05.316646Z", "iopub.status.idle": "2024-04-30T08:59:05.319216Z", "shell.execute_reply": "2024-04-30T08:59:05.318961Z" } }, "outputs": [], "source": [ "#Fast marching parameters, copied from earlier problem, with different seed\n", "for key in ['arrayOrdering','dims','gridScale','origin','walls']:\n", " optIn[key]=hfmIn[key]\n", "\n", "# Problem parameters\n", "alpha = 0.1; beta=1.; gamma=1.5;\n", "optIn['seed']=[-0.7,0.7] # Seed position\n", "\n", "# For better stability, we slightly spread the target x_* on the four neighbor points\n", "targetIndices = [(180,40),(179,40),(181,40),(180,39),(180,41)];\n", "targetWeights = [0.5,0.125,0.125,0.125,0.125]\n", "#Unspread target, commented below, yields less stable computations.\n", "#targetIndices = [(40,180)]; targetWeights = [1]; \n", "\n", "# Silent the execution, since HFM will be called many times\n", "optIn['verbosity']=0\n", "\n", "# Utilities\n", "targetPoints = optIn.PointFromIndex(targetIndices)\n", "allOnes = np.ones(optIn.size)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We prepare two functions returning the objective function and its jacobian. \n", "\n", "This particular test application works better with the differentiable scheme 'IsotropicDiff2', although the usual discretization 'Isotropic2' is still usable." ] }, { "cell_type": "code", "execution_count": 71, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:05.320493Z", "iopub.status.busy": "2024-04-30T08:59:05.320413Z", "iopub.status.idle": "2024-04-30T08:59:05.323358Z", "shell.execute_reply": "2024-04-30T08:59:05.323127Z" } }, "outputs": [], "source": [ "def func(cost,sign=1):\n", " optIn['cost']=cost.reshape(optIn.shape)\n", " optIn['exportValues']=1\n", " optIn.pop('inspectSensitivity',None)\n", " optOut = optIn.Run()\n", " value = sum([weight*optOut['values'][index] for index,weight in zip(targetIndices,targetWeights)])\n", " return sign*(value - gamma*cost.sum()*optIn['gridScale']**2)\n", "\n", "def func_deriv(cost,sign=1):\n", " optIn['cost']=cost.reshape(optIn.shape)\n", " optIn['exportValues']=0\n", " \n", " # Request sensitivity for a weighted sum of values\n", " optIn['inspectSensitivity'] = targetPoints \n", " optIn['inspectSensitivityWeights'] = targetWeights\n", " optIn['inspectSensitivityLengths'] = [len(targetWeights)]\n", " \n", " optOut = optIn.Run()\n", " return sign*(optOut['costSensitivity_0'].reshape(-1) - gamma*allOnes*optIn['gridScale']**2)" ] }, { "cell_type": "code", "execution_count": 72, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:05.324732Z", "iopub.status.busy": "2024-04-30T08:59:05.324655Z", "iopub.status.idle": "2024-04-30T08:59:14.258241Z", "shell.execute_reply": "2024-04-30T08:59:14.257870Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "CPU times: user 993 ms, sys: 2.43 s, total: 3.42 s\n", "Wall time: 8.93 s\n" ] } ], "source": [ "%%time\n", "# Warning : takes up to a minute.\n", "res = scipy.optimize.\\\n", "minimize(func,\n", " allOnes*(alpha+beta)/2., # Initial guess\n", " bounds=np.array((alpha*allOnes,beta*allOnes)).transpose(), # alpha <= c <= beta\n", " jac=func_deriv,\n", " args=(-1.), # Minimize instead of maximize\n", " method='L-BFGS-B',options={'gtol':1e-4,'maxiter':300})" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The optimal strategy uses a large cost around the seed, the target, around the boundary of obstacles, ..." ] }, { "cell_type": "code", "execution_count": 73, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:14.260007Z", "iopub.status.busy": "2024-04-30T08:59:14.259885Z", "iopub.status.idle": "2024-04-30T08:59:14.317492Z", "shell.execute_reply": "2024-04-30T08:59:14.317228Z" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAgQAAAEnCAYAAADW0luTAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAABA00lEQVR4nO3deXQUVd4+8CcLWYAkBgkQIAkRJSBBxGAkAWVkCQZQkHFAxYiIviIuLOOMoMcfi3NEZkbBcQTFF2EE1IgGl1dE4giMmrixqAwQHQwTloRtAgSFhCT390emml6ququ6q7uWfj7n5ByoVHequqrrPvW9t6oihBACREREFNYijV4AIiIiMh4DARERETEQEBEREQMBERERgYGAiIiIwEBAREREYCAgIiIiMBAQERERGAiIiIgIDAQUBr744gv85je/QWpqKmJiYtCpUyfccsstKC8vD+h9ly5dilWrVnlM379/PyIiImR/FwrdunXDXXfdZcjf9uapp57CO++8o3r+/fv3Y9SoUWjXrh0iIiIwY8aMoC2bL7/88gvmzZuHLVu2ePxu1apViIiIwP79+0O+XER6YiAgW3v++ecxcOBAHDx4EH/84x/x8ccf489//jMOHTqEQYMG4a9//avf760UCFJTU1FeXo5Ro0YFsOT2ozUQzJw5E19++SVeeeUVlJeXY+bMmcFbOB9++eUXzJ8/XzYQjBo1CuXl5UhNTQ39ghHpKNroBSAKls8//xwzZszAyJEjsX79ekRHX9jdb731Vtx8882YPn06+vXrh4EDB+r2d2NjYzFgwADd3i9c7dq1C7m5uRg7dqzRi+JVSkoKUlJSjF4MosAJIpsaNWqUiIqKEgcOHJD9fVVVlYiKihKjR492TJs7d64AILZv3y5uvvlmkZCQIBITE8XEiRPF0aNHHfNlZGQIAC4/GRkZQgghKisrBQCxcuVKj/f99ttvxS233CISExNFcnKymDlzpjh//rzYu3evGDFihGjbtq3IyMgQixYtclnWs2fPilmzZom+ffs6XjtgwADxzjvveKxXRkaGmDRpks/Pp6mpSfzlL38Rffv2FXFxcSIpKUlcc8014t1333WZZ9GiRSIrK0vExMSIlJQUUVRU5PGZbt++XYwaNUqkpKSImJgYkZqaKkaOHOmYz/2zAiAGDx4su1ybN2+Wnb+yslKsXLnS8W+512zevNkxbfDgwaJ3797iq6++EoMGDRLx8fEiMzNTLFy4UDQ1Nbm8vra2VsyaNUtkZmY61rOwsFDs2bPHsT3df6TPWGmZVqxYIa644goRGxsrkpOTxdixY8Xu3btd5pk0aZJo06aN+PHHH0VhYaFo06aN6Nq1q5g1a5Y4d+6cjy1IpC92GZAtNTU1YfPmzejfvz+6du0qO09aWhpycnLwySefoKmpyeV3N998My699FK89dZbmDdvHt555x2MGDEC58+fBwCsX78el1xyCfr164fy8nKUl5dj/fr1Ppdr/Pjx6Nu3L95++23ce++9WLx4MWbOnImxY8di1KhRWL9+PYYMGYJHH30UJSUljtfV19fjP//5Dx555BG88847eP311zFo0CCMGzcOr776ql+f0V133YXp06fj6quvRnFxMd544w3cdNNNLn3h999/Px599FEMHz4c7733Hp588kls3LgR+fn5OH78OADg559/xvDhw3HkyBG88MILKC0txZIlS5Ceno66ujoAQHl5OeLj4zFy5EjH57V06VLZ5brqqqtQXl6OTp06YeDAgY75/SnJ19TUYOLEibjjjjvw3nvvobCwEHPmzMGaNWsc89TV1WHQoEF46aWXMHnyZLz//vt48cUX0aNHD1RXVyM1NRUbN24EAEyZMsWxPE888YTi3124cCGmTJmC3r17o6SkBM899xy+++475OXl4ccff3SZ9/z587jpppswdOhQvPvuu7j77ruxePFiLFq0SPP6EgXE6ERCFAw1NTUCgLj11lu9zjdhwgQBQBw5ckQIceFMfubMmS7zrV27VgAQa9ascUzr3bu37FmutwrBM8884zLvlVdeKQCIkpISx7Tz58+LlJQUMW7cOMXlbmxsFOfPnxdTpkwR/fr1c/mdmgrBP/7xDwFAPP7444rz7NmzRwAQ06ZNc5n+5ZdfCgDiscceE0II8c033wgAstUKZ23atFFVuZBkZGSIUaNGuUzTWiEAIL788kuXeS+//HIxYsQIx/8XLFggAIjS0lLFZTl27JgAIObOnevxO/dlqq2tFfHx8WLkyJEu81VVVYnY2Fhx++23O6ZNmjRJABBvvvmmy7wjR44UWVlZistDFAysEFBYE0IAACIiIlymT5w40eX/48ePR3R0NDZv3hzQ3xs9erTL/3v16oWIiAgUFhY6pkVHR+PSSy/Fv//9b5d5161bh4EDB6Jt27aIjo5Gq1atsGLFCuzZs0fzcnz44YcAgAceeEBxHmld3a9YyM3NRa9evfD3v/8dAHDppZciOTkZjz76KF588UXs3r1b8/IES6dOnZCbm+sy7YorrnD5bD/88EP06NEDw4YN0+VvlpeX4+zZsx6fW1paGoYMGeL43CQRERG48cYbvS4jUSgwEJAttW/fHq1bt0ZlZaXX+fbv34/WrVujXbt2LtM7derk8v/o6GhcfPHFOHHiREDL5f53YmJi0Lp1a8TFxXlMP3funOP/JSUlGD9+PLp06YI1a9agvLwcX3/9Ne6++26X+dQ6duwYoqKiPNbTmbSucqX6zp07O36flJSErVu34sorr8Rjjz2G3r17o3Pnzpg7d66ji8UoF198sce02NhYnD171vH/Y8eOKXYr+UPt5yaR2/6xsbF+bVeiQPAqA7KlqKgoXH/99di4cSMOHjwoe8A/ePAgtm3bhsLCQkRFRbn8rqamBl26dHH8v7GxESdOnJBtYEJhzZo1yMzMRHFxsUs1o76+3q/3S0lJQVNTE2pqahT75qV1ra6u9vj8Dh8+jPbt2zv+36dPH7zxxhsQQuC7777DqlWrsGDBAsTHx2P27Nl+LaMcqeF0X29pPIM/UlJScPDgwYCWy5nz5+bO/XMjMhNWCMi25syZAyEEpk2b5jFosKmpCffffz+EEJgzZ47Ha9euXevy/zfffBONjY341a9+5ZjmfqYZTBEREYiJiXEJAzU1NXj33Xf9ej+pi2LZsmWK8wwZMgQAXAbgAcDXX3+NPXv2YOjQobLL2bdvXyxevBgXXXQRtm/f7vidHp9Xt27dAADfffedy/T33nvP7/csLCzEDz/8gE8++URxntjYWABQtfx5eXmIj4/3+NwOHjyITz75RPZzIzIDVgjItgYOHIglS5ZgxowZGDRoEB588EGkp6ejqqoKL7zwAr788kssWbIE+fn5Hq8tKSlBdHQ0hg8fjn/+85944okn0LdvX4wfP94xj3RWXFxcjEsuuQRxcXHo06dPUNZl9OjRKCkpwbRp03DLLbfgwIEDePLJJ5Gamuoxal2Na6+9FkVFRfjDH/6AI0eOYPTo0YiNjcWOHTvQunVrPPTQQ8jKysL//M//4Pnnn0dkZCQKCwuxf/9+PPHEE0hLS3PcKOj//u//sHTpUowdOxaXXHIJhBAoKSnByZMnMXz4cMff7NOnD7Zs2YL3338fqampSEhIQFZWlqblvvrqq5GVlYVHHnkEjY2NSE5Oxvr16/HZZ59p/gwkM2bMQHFxMcaMGYPZs2cjNzcXZ8+exdatWzF69Ghcf/31SEhIQEZGBt59910MHToU7dq1Q/v27R0BxdlFF12EJ554Ao899hjuvPNO3HbbbThx4gTmz5+PuLg4zJ0716/lvPTSSwEA//rXv/xeVyKvDB3SSBQC5eXl4pZbbhEdO3YU0dHRokOHDmLcuHGirKzMY17paoBt27aJG2+8UbRt21YkJCSI2267zXElgmT//v2ioKBAJCQkqL4PwbFjx1zeQ7oO3Z10Db2zp59+WnTr1k3ExsaKXr16iZdfftnxvs603Idg8eLFIjs7W8TExIikpCSRl5cn3n//fZd5Fi1aJHr06CFatWol2rdvL+644w6X+xDs3btX3HbbbaJ79+4iPj5eJCUlidzcXLFq1SqXv7dz504xcOBA0bp1a6/3IXBeD/erDIQQ4ocffhAFBQUiMTFRpKSkiIceekh88MEHivchcDdp0iTHtpLU1taK6dOni/T0dNGqVSvRoUMHMWrUKLF3717HPB9//LHo16+fiI2NVXUfgv/93/8VV1xxheOzHTNmjPjnP//psSxy219pu7ovN5GeIoT47zBrIsK8efMwf/58HDt2jH29RBRWOIaAiIiIGAiIiIgIYJcBERERsUJAREREDAREREQEBgIiIiKCRW5M1NzcjMOHDyMhIcHjITRERESkTAiBuro6dO7cGZGRynUASwSCw4cPIy0tzejFICIisqwDBw54fZCXJQJBQkICAOBXHScjOjLG4KUhIjM7e7n8w5qcnbzUfseRi/7VoGq++N2eD10ie2tsbsCWIysdbakSSwQCqZsgOjKGgYCIvIqOjvM5T1Ss/Y4j0dHqhoSdvyIT8bsOBXlpyIx8dblzUCERERExEBAREREDAREREYGBgIhs5Gx2F6MXgciyGAiIiIiIgYCIiIgYCIiIbKE2y36XUlJoMRAQEYUZjrUgOQwERERExEBARPbAs16iwDAQEBEREQMBERERMRAQERERGAiIiIgIDAREFGZ4vX4LDsIkdwwERERExEBAREREDAREZAMsfxMFjoGAiIiIGAiIiMIVKyvkjIGAiCwvftchoxfBFHgFBQWC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z549WxQVFTnmly47nDlzpti9e7dYsWKFx2WHn3/+uYiKihJPP/202LNnj3j66adNc4ma2vV87bXXRHR0tHjhhRcULwmdN2+e2Lhxo9i3b5/YsWOHmDx5soiOjnYJjkbQuq6LFy8W69evFz/88IPYtWuXmD17tgAg3n77bcc8dtimkjvuuENcc801su9p1m0aDAwEIXLixAkxceJEkZCQIBISEsTEiRM9LukBIFauXOky7aWXXhLx8fGy16FXVVWJ6667TrRr107ExMSI7t27i4cfftjj+v1Q07quv/zyiygoKBApKSmiVatWIj09XUyaNElUVVW5vObs2bPiwQcfFO3atRPx8fFi9OjRHvOEktb1rKysFABkfzZv3iyEMM82feGFF0RGRoaIiYkRV111lUt1YtKkSWLw4MEu82/ZskX069dPxMTEiG7duskG2HXr1omsrCzRqlUr0bNnT5fGxSha1nPw4MGy227SpEmOeWbMmCHS09NFTEyMSElJEQUFBaKsrCyEa6RMy7ouWrRIdO/eXcTFxYnk5GQxaNAg8cEHH3i8p9W3qRAt1cf4+HixfPly2fcz8zbVGx9/TERERLx1MRERETEQEBERERgIiIiICAwEREREBAYCIiIiAgMBERERgYGAiIiIwEBAREREYCAgIiIiMBAQERERGAiIiIgIDAREREQE4P8DxvWP9EaLz8kAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig = plt.figure(figsize=[6,3]); plt.title('Optimal cost function.'); plt.axis('equal'); \n", "plt.contourf(X,Y,res.x.reshape(hfmIn.shape));\n", "savefig(fig,'OptimalCost.png')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "At the optimal strategy, there is a continuum of optimal curves, spread all over the domain." ] }, { "cell_type": "code", "execution_count": 74, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:14.319101Z", "iopub.status.busy": "2024-04-30T08:59:14.318990Z", "iopub.status.idle": "2024-04-30T08:59:14.396253Z", "shell.execute_reply": "2024-04-30T08:59:14.395928Z" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig = plt.figure(figsize=[6,3]); plt.title('Sensitivity at the optimal cost.'); plt.axis('equal'); \n", "plt.contourf(X,Y,func_deriv(res.x).reshape(optIn.shape));\n", "savefig(fig,'OptimalSensitivity.png')" ] }, { "cell_type": "code", "execution_count": 75, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:14.397905Z", "iopub.status.busy": "2024-04-30T08:59:14.397800Z", "iopub.status.idle": "2024-04-30T08:59:14.419392Z", "shell.execute_reply": "2024-04-30T08:59:14.418869Z" } }, "outputs": [], "source": [ "optIn['tips']=optIn['inspectSensitivity']\n", "optIn['exportValues']=1\n", "optOut = optIn.Run()" ] }, { "cell_type": "code", "execution_count": 76, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:14.421262Z", "iopub.status.busy": "2024-04-30T08:59:14.421139Z", "iopub.status.idle": "2024-04-30T08:59:14.485132Z", "shell.execute_reply": "2024-04-30T08:59:14.484834Z" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAgQAAAEnCAYAAADW0luTAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAACmUUlEQVR4nOydd3wb9f3/n3enLVuS9x7Ze4fsMBIII+wyCgXKhtKWUuBLyygF2pLSFkp/tEAHoxTKaoGyIRBGQhLI3omzPOK9LWvr7vP7Q7GJYzvxkC07uefjoYfs0423Tjde9/68hySEEOjo6Ojo6Ogc18ixNkBHR0dHR0cn9uiCQEdHR0dHR0cXBDo6Ojo6Ojq6INDR0dHR0dFBFwQ6Ojo6Ojo66IJAR0dHR0dHB10Q6Ojo6Ojo6KALAh0dHR0dHR10QaCjo6Ojo6PDcSAInn/+eSRJan1ZLBbS09M55ZRTWLJkCVVVVe2WeeCBB5AkqVvb8Xq9PPDAA3z++edRsvz4oeU3Kiws7NPtfP7550iS1OPfSJIkHnjggaja1FVOPvlkTj755Jhsu7f05X7rr2MnWjz88MO89dZbXZr3SNeUlmtUTU1NdA3sB/7973/z+OOPd/iZfo6158knn+T555/vl20d84Kgheeee45Vq1axdOlS/vKXvzB58mQeeeQRxowZwyeffNJm3uuvv55Vq1Z1a/1er5cHH3xQFwQDmKlTp7Jq1SqmTp3ao+VXrVrF9ddfH2WrdHrD4sWLWbVqFRkZGbE2pUt0VxAci9eUIwkC/RxrT38KAkO/bGUAMH78eKZPn976/3e+8x1++tOfMm/ePC688EJ2795NWloaANnZ2WRnZ8fKVJ0+wuFwMGvWrB4v35tldfqGlJQUUlJSYm2GTpTQz7HYctx4CDoiNzeXRx99FLfbzV//+tfW6R0NGSxbtoyTTz6ZpKQkrFYrubm5fOc738Hr9VJYWNh6UXrwwQdbhyeuvvpqAPbs2cM111zDiBEjsNlsZGVlcc4557Bly5Y222hxab/88svce++9ZGZm4nA4OPXUU9m1a1c7+z/88EMWLlyI0+nEZrMxZswYlixZ0maetWvXcu6555KYmIjFYmHKlCm89tprXdo/Dz74IDNnziQxMRGHw8HUqVN55plnOLwfVn5+PmeffTYffvghU6dOxWq1Mnr0aJ599tl261y9ejVz587FYrGQmZnJ3XffTSgU6pI9V199NXFxcezcuZPTTz8du91ORkYGv/3tb1vXPW/ePOx2OyNHjuSf//xnm+U7GjJoWeeePXs466yziIuLIycnhzvuuINAINBm+cPdmS3u6mXLlnHDDTeQlJSEw+HgqquuwuPxUFFRwSWXXILL5SIjI4M777yz3Xft6j7uKoFAgDvuuIP09HRsNhsnnngi69atIz8/v/V4bKGiooKbbrqJ7OxsTCYTQ4YM4cEHHyQcDreZr66ujltuuYWsrCxMJhNDhw7l3nvvbbd/mpqaWvdDXFwcZ5xxBgUFBR3auXv3bi6//HJSU1Mxm82MGTOGv/zlL23m0TSNX//614waNQqr1YrL5WLixIn86U9/ap2nsyGDo50b+/bt47vf/S6ZmZmYzWbS0tJYuHAhGzdu7OKe/ha/388dd9zB5MmTcTqdJCYmMnv2bP73v/+1mU+SJDweD//85z9brxGduaiPdk1pobKykssuuwyn00laWhrXXnstjY2NbeYRQvDkk08yefJkrFYrCQkJXHTRRezbt69L32/FihUsXLiQ+Ph4bDYbc+bM4b333mszT8vvsHTpUq655hoSExOx2+2cc845bbZz8skn895771FUVNRmKPfQfTTQzzGIeDlmz55NXFwccXFxTJ48mWeeeabNPM8++yyTJk3CYrGQmJjIBRdcwI4dO9rMc7TjMD8/n23btvHFF1+07qv8/Pwe2300jhsPQWecddZZKIrCl19+2ek8hYWFLF68mPnz5/Pss8/icrkoLS3lww8/JBgMkpGRwYcffsgZZ5zBdddd1+ryajmhy8rKSEpK4re//S0pKSnU1dXxz3/+k5kzZ7JhwwZGjRrVZnv33HMPc+fO5R//+AdNTU387Gc/45xzzmHHjh0oigLAM888ww033MBJJ53E008/TWpqKgUFBWzdurV1PZ999hlnnHEGM2fO5Omnn8bpdPLKK69w6aWX4vV6211cOvreN910E7m5uUDkhvvjH/+Y0tJS7r///jbzbtq0iTvuuIOf//znpKWl8Y9//IPrrruO4cOHc+KJJwKwfft2Fi5cSH5+Ps8//zw2m40nn3ySf//73134pSKEQiEuvPBCbr75Zv7v//6Pf//739x99900NTXx3//+l5/97GdkZ2fzxBNPcPXVVzN+/HimTZt21HWee+65XHfdddxxxx18+eWX/OpXv8LpdLb7nh1x/fXXc+GFF/LKK6+wYcMG7rnnHsLhMLt27eLCCy/kxhtv5JNPPuGRRx4hMzOT22+/vUf7uCtcc801vPrqq9x1110sWLCA7du3c8EFF9DU1NRmvoqKCmbMmIEsy9x///0MGzaMVatW8etf/5rCwkKee+45IHKzO+WUU9i7dy8PPvggEydOZPny5SxZsoSNGze23hiEEJx//vmsXLmS+++/nxNOOIGvvvqKM888s52N27dvZ86cOa2CPD09nY8++ohbb72VmpoafvnLXwLwu9/9jgceeID77ruPE088kVAoxM6dO2loaDjiPujKuXHWWWehqiq/+93vyM3NpaamhpUrVx513R0RCASoq6vjzjvvJCsri2AwyCeffMKFF17Ic889x1VXXQVE3OELFizglFNO4Re/+AUQ8Vp1xNGuKS185zvf4dJLL+W6665jy5Yt3H333QBtxPhNN93E888/z6233sojjzxCXV0dDz30EHPmzGHTpk2tntGO+OKLLzjttNOYOHEizzzzDGazmSeffJJzzjmHl19+mUsvvbTN/Ndddx2nnXYa//73vykpKeG+++7j5JNPZvPmzbhcLp588kluvPFG9u7dy5tvvtnlfTyQzrH777+fX/3qV1x44YXccccdOJ1Otm7dSlFRUes8S5Ys4Z577uGyyy5jyZIl1NbW8sADDzB79mzWrFnDiBEjgKMfh2+++SYXXXQRTqeTJ598EgCz2dxtm7uMOMZ57rnnBCDWrFnT6TxpaWlizJgxrf//8pe/FIfumv/85z8CEBs3bux0HdXV1QIQv/zlL49qUzgcFsFgUIwYMUL89Kc/bZ3+2WefCUCcddZZbeZ/7bXXBCBWrVolhBDC7XYLh8Mh5s2bJzRN63Q7o0ePFlOmTBGhUKjN9LPPPltkZGQIVVWPamsLqqqKUCgkHnroIZGUlNRmu3l5ecJisYiioqLWaT6fTyQmJoqbbrqpddqll14qrFarqKioaLMvRo8eLQCxf//+I9rw/e9/XwDiv//9b+u0UCgkUlJSBCDWr1/fOr22tlYoiiJuv/321mkt+/ezzz5rt87XXnutzbbOOussMWrUqDbTDv99W46tH//4x23mO//88wUgHnvssTbTJ0+eLKZOndrp9zvSPj7ppJPESSed1OmyQgixbds2AYif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hRdaP4fIbwvw0ksvtZnv8IBRm83GKaecwoYNG5g4cWKH2+7I2+Ryubjooov44Q9/SF1dXaeFiLpybhzOyJEjue+++5gwYULr+dwdJEnCZDK1EQMVFRXtsgygvdfsSBzpmtJVzj77bIQQlJaWdrivJ0yY0OmydrudmTNn8sYbb7SxQdM0XnzxRbKzsxk5cmSbZQ7//VeuXElRUVGbB67u7IPeEu1zbNGiRSiKwlNPPdXpPLNnz8ZqtfLiiy+2mX7gwAGWLVvWes4cTmfHYX/ur+PGQ7B169bW8bOqqiqWL1/Oc889h6IovPnmm0fMZX766adZtmwZixcvJjc3F7/f3xrFe+qppwIQHx9PXl4e//vf/1i4cCGJiYkkJye3puQ9//zzjB49mokTJ7Ju3Tp+//vf97jWQVxcHI8++ijXX389p556KjfccANpaWns2bOHTZs28ec//xmAv/71r5x55pmcfvrpXH311WRlZVFXV8eOHTtYv349r7/+eqfbWLx4MY899hiXX345N954I7W1tfzhD3/oVYTrfffdx9tvv82CBQu4//77sdls/OUvf8Hj8fR4nYOZaO/jcePGcdlll/Hoo4+iKAoLFixg27ZtPProozidTmT5W/3/0EMPsXTpUubMmcOtt97KqFGj8Pv9FBYW8v777/P000+TnZ3NVVddxV/+8he+//3vU1hYyIQJE1ixYgUPP/wwZ511Vuvxv2jRIk488UTuuusuPB4P06dP56uvvurwwvunP/2JefPmMX/+fH7wgx+Qn5+P2+1mz549vPPOOyxbtgyAc845p7V+SEpKCkVFRTz++OPk5eW1RmkfTlfOjc2bN/OjH/2Iiy++mBEjRmAymVi2bBmbN2/m5z//eeu6nn/+ea655hqee+65I2bknH322bzxxhvccsstXHTRRZSUlPCrX/2KjIwMdu/e3WbeCRMm8Pnnn/POO++QkZFBfHx8p566I11TusrcuXO58cYbueaaa1i7di0nnngidrud8vJyVqxYwYQJE/jBD37Q6fJLlizhtNNO45RTTuHOO+/EZDLx5JNPsnXrVl5++eV2Q0lr167l+uuv5+KLL6akpIR7772XrKys1mHKln3wxhtv8NRTTzFt2jRkWW5TIyaaRPscy8/P55577uFXv/oVPp+vNeVz+/bt1NTU8OCDD+JyufjFL37BPffcw1VXXcVll11GbW0tDz74IBaLpTWLpqvH4YQJE3jllVd49dVXGTp0KBaL5YhCrlf0S+hiDGmJUm15mUwmkZqaKk466STx8MMPi6qqqnbLHJ5lsGrVKnHBBReIvLw8YTabRVJSkjjppJPE22+/3Wa5Tz75REyZMkWYzeY2Ud319fXiuuuuE6mpqcJms4l58+aJ5cuXt4tqbYmCf/3119usd//+/QIQzz33XJvp77//vjjppJOE3W4XNptNjB07VjzyyCNt5tm0aZO45JJLRGpqqjAajSI9PV0sWLBAPP3000fdd88++6wYNWqUMJvNYujQoWLJkiXimWeeaZcRkJeXJxYvXtxu+Y6idr/66isxa9YsYTabRXp6uvi///s/8be//a3LWQZ2u73D7YwbN67d9MPt6izLoKN1Hn4MCNF5BPThGSwty1ZXVx/V/q7u465EQAshhN/vF7fffrtITU0VFotFzJo1S6xatUo4nc42GS1CRKLYb731VjFkyBBhNBpFYmKimDZtmrj33ntFc3Nz63y1tbXi5ptvFhkZGcJgMIi8vDxx9913C7/f32Z9DQ0N4tprrxUul0vYbDZx2mmniZ07d3YYKb9//35x7bXXiqysLGE0GkVKSoqYM2dOm2j0Rx99VMyZM0ckJycLk8kkcnNzxXXXXScKCwvb/QaHHztHOjcqKyvF1VdfLUaPHi3sdruIi4sTEydOFH/84x9FOBxuXccTTzwhAPHhhx8edb//9re/Ffn5+cJsNosxY8aIv//97x0eQxs3bhRz584VNptNAEf9TTu7pnR2jHW2P5599lkxc+ZMYbfbhdVqFcOGDRNXXXWVWLt27VG/2/Lly8WCBQtal501a5Z45513Otzuxx9/LK688krhcrlaI+13797dZt66ujpx0UUXCZfLJSRJarOPBsM5JoQQL7zwgjjhhBOExWIRcXFxYsqUKe2uz//4xz/ExIkThclkEk6nU5x33nmt2TtCdP04LCwsFIsWLRLx8fEC6DRDIxpIQvSiOoOOjs6AZ+XKlcydO5eXXnqpXdS/Tudccskl7N+/nzVr1sTalAFPizdlzZo1ffa0r9P3HDdDBjo6xwNLly5l1apVTJs2DavVyqZNm/jtb3/LiBEjOg0u1WmPEILPP/+83Tiwjs6xjC4IdHSOIRwOBx9//DGPP/44breb5ORkzjzzTJYsWdIutVKncyRJ6naOuo7OYEcfMtDR0dHR0dE5vtMOdXR0dHR0dCLogkBHR0dHR0dHFwQ6Ojo6Ojo6gySoUNM0ysrKiI+P77RhiY6Ojo6Ojk57hBC43W4yMzPbFCg7nEEhCMrKyjqtG62jo6Ojo6NzdEpKSo5YIXdQCIKWmvt79uw5Yv19HZ2+5tDUvbvuuiuGlugMRI7WUlxHJxaEw2FWrFhx1PvnoBAELcME8fHxOByOGFujczxzqCDoTV8HnWMTg2FQXFJ1jlOONuSuBxXq6Ojo6Ojo6IJAR0dHR0dHRxcEOjo6Ojo6OuiCQEdHR0dHRwddEOjo6Ojo6OigCwIdHR0dHR0ddEGgo6Ojo6Ojgy4IdHR0dHR0dNAFgY6Ojo6Ojg6DpFKhjo6OzkBCILo1HYCe9mUTIPV4YR2drqMLAh0dnUGPJmn4TX78Jj+qrKLKKpqstXvXJK3DzzVZQ5XaL9Pt+/DUPvl6oIKkSaB18K5KSOGDL/WQ95CEHJSRApF32SdjaDYge2RdYOh0iC4IdHR0BhUCQbO1mSZ7E022JprsTXgsnp4/gQ8GFBBKxPtwRC9EF5BCEoY6A8Y6Y+RVa0RpUnSRoKMLAh0dnYGPz+Sj1llLfXw99XH1hA3hdvPIqow1aEVRFRRNQRZy5F07wrvoeHrLZ5I4wk2yg/tyQUFBh9N7g5AFyEd4VwTCcPClHPJuFGhmDc2kIcwC1aai2lWEURBKCxFKC32777wy5jIz5jIzpnITckgPLzse0QWBjo7OgKPFC1DjrKHaVU2zrbnN54qq4PA4cHgdre+mkCnmT7lyYGDfSIUkCDvChBPDhJJChBIjL82m4RvuwzfcBxoYa4yYS81Yii0Y3Ppt4nhB/6V1dHQGBAJBo72RqoQqapw1+M3+Qz/E1ewisSmRBHcC8d54ZD1JqttIQsLYaMTYaMS63wpEPA3B1CCBzACBzACqSyWUGiKUGqJ5SjOGegPmkoPioMEQc9Gl03fogkBHRyemBJUgFUkVlCWX4bV4W6fLmkxiUyLJDckkNyVjCptiaOWxi6RJmCvMmCvMsB7C9jDBzCD+HD/B9CDhhDDhhDCeiR6UJgVLsSUiDup0cXCsoQsCHR2dfkcgaIhroCy5jCpXVWQ8nEgcQGpDKikNKSS6E1E0JcaWHn8YPAYMuw3YdtvQTBqB7AD+XD+BjACqQ8Uz3oNnvAdDvQHrXiuW/RaUgP47HQvogkBHR6ffCBqCVCRWUJpcis/ia50e540jqyaLtLo0DJp+WRooyEEZ6z4r1n1WNINGIOugOMgOEE4I457uxj3VjbnEjK3Ahqky9nEcOj1HP/N0dHT6lBZvQGlyKdWu6lZvgKIqpNWlkVmTicPniLGVOkdDDstYi6xYi6xoJg1/nh/fMB+h5BCBvACBvABKg4KtwIZ1v1XPVBiE6IJAR0enT9DQqE6opiitqE2WQLwnnqyaLFLrU3VvwCBFDsrYdtuw7bYRcoXwjvDiH+pHdam4Z7hpntKMZb8FW4ENY4Mx1ubqdBH9bNTR0YkqqqRSnlROcVpxa6aArMpk1GWQWZNJvC8+xhbqRBNjgxHnGifxG+PxDfHhHelFdan4RvrwjfRhrDRi32XHXGI+cl0HnZijCwIdHZ2ooEkapcmlFKYXEjJGit4YQ0ayq7PJrs7GqOpPiscyckjGXmDHVmAjmBbEO9JLICdAKC1EQ1oDSpOCfasda6E1UnZZZ8ChCwIdHZ1eIRBUJlSyL3Nfq0fAErCQW5lLRm0GitAj0I8nJCTMlWbMlWZUq4p3hBfvKC+qQ6VpThPNk5qxb7dj22NDUnVhMJDQBYGOjk6PqYuvY0/WntYYAVPQxNDyoaTXpuuFg3RQfArxm+Oxb7fjG+HDM9aDZtdwn+CmeUIz9h0Rj4IegDgw0AWBjo5Ot2m2NrM7azf1jnogkjGQV5FHTlWO7hHQaYccliM3/102fMN8eMZ5UONUmqc04xnnwVZgw77djhzUhUEs0QWBjo5OlwnLYfZl7uNAygGQIlXusmqyyC/Px6TqlQR1joykSdh227DuseLP8+MZ7yHsCuMZ78E7wot9mx37Lrs+lBAjdEGgo6NzVASCisQK9mbtJWgMApBan8qw0mFYg9YYW6cz2JCEhLXQiqXQQiA7QPOkZsIJYZqnNuMd7SVucxzWvVY9K6Gf0QWBjo7OEfGYPezK3UVDfAMANr+NkSUjSXQnxtYwnUGPhITlgAVzqRl/vh/3JDdanEbTrCY8Yzw41jkwl5ljbeZxgy4IdHR0OkQgKE4tZn/mfjRZQ1ZlhlQMIacqB1noY7060UMSEtb9VixFFrwjvTSPb0Z1qtQvqMdcaiZ+bbzehrkf0Pewjo5OOzxmDzvydtAU1wRAYmMio4tHYwlZYmyZzrGMpEnYd9qx7rXSPKEZ7ygvgawAgfQA9p127FvtekZCH6ILAh0dnVYO9wooqsKIkhFk1GXoTWt0+g05JONY78C2x0bTtCaCWUE84zz4hvhwrHFEqh7qx2PU0QWBjo4OAD6Tj+3522mMawR0r4BO7DE0GUj8LBF/lh/3NDeqQ6XhpAbMJWYcaxwoXj3FNZrogkBHR4fKhEp25u5EVdSIV+DACDJqda+AzsDAUmrBXG6meUKkbkEgJ0BNeg1xG+OwFdj0bIQooQsCHZ3jmLAcpiCngIqkCgAczQ7GFY7TUwl1BhySJhG/KR5LoYWmWU2EUkK4T3Djz/fjXOnUgw6jgL4HdXSOU9xWN1uHbMVn8YGA/Ip88svz9ZLDOgMaY6ORxI8S8Y3w4Z7iJpQSomZxDfHr4yPeAt2r1WN0QaCjcxxS46xhW/42VEXFHDQztnAsCc0JsTZLR6dLSEQqHppLzTTObiSYEcQ9w00gO4BzlRPFp8cW9AT9UUBH5ziiJYtg89DNqIpKQlMCM3bM0MWAzqBE8SokfJpA/DfxEIZgZpCas2vw5flibdqgRPcQ6OgcJ2hoFOQWUJZcBkBmdSYjS0bqQwQ6gxoJCXuBHXOFmcY5jYSSQzTObySYFsSx1oGk6UMIXaVHV4Inn3ySIUOGYLFYmDZtGsuXLz/i/C+99BKTJk3CZrORkZHBNddcQ21tbY8M1tHR6T4hJcSm4ZsiYkDAiJIRjCoZpYsBnWMGQ5OBxI8SsW+2gwDfSB+1p9cStodjbdqgodtXg1dffZXbbruNe++9lw0bNjB//nzOPPNMiouLO5x/xYoVXHXVVVx33XVs27aN119/nTVr1nD99df32ngdHZ2j4zV7WTdqHfWOehRVYeLeieRU5+jBVzrHHJKQiN8cT8KyBKSARDgpTO1ZtQQyA7E2bVDQbUHw2GOPcd1113H99dczZswYHn/8cXJycnjqqac6nH/16tXk5+dz6623MmTIEObNm8dNN93E2rVre228jo7OkamPq2ftqLV4LV7MATPTCqaR3JQca7N0dPoUc7mZ5PeSMdYYEWZB/YJ63JPcCEnE2rQBTbcEQTAYZN26dSxatKjN9EWLFrFy5coOl5kzZw4HDhzg/fffRwhBZWUl//nPf1i8eHHPrdbR0TkqZYllbByxkbAhjKPZwQm7TiDOFxdrs3R0+gXFq5D4cSK2XTYAPBM81C+oRzWrMbZs4NItQVBTU4OqqqSlpbWZnpaWRkVFRYfLzJkzh5deeolLL70Uk8lEeno6LpeLJ554otPtBAIBmpqa2rx0dHS6hkBQmFbIzvydCEmQWpfKlN1TMIVNsTZNR6dfkTQJxxoHzhVOpJBEMCNI7eJaginBWJs2IOlRRJEktR17FEK0m9bC9u3bufXWW7n//vtZt24dH374Ifv37+fmm2/udP1LlizB6XS2vnJycnpipo7OcYdAsCdrD/uy9gGQV5HHuMJxKELPy+4xAiQhIwsjijBjFDZMWjxmzYlZc2HWXFg0FxYtgQRzFonmLBItWSRaskm0ZOEyZ+AwpRJvTMJuSMBqcGBW7BhlCzL679IfWAutJH2YhNKgoNk06k6rwzPag0AfQjiUbqUdJicnoyhKO29AVVVVO69BC0uWLGHu3Ln83//9HwATJ07Ebrczf/58fv3rX5ORkdFumbvvvpvbb7+99f+mpiZdFOjoHAWBYGfuTsqTy4FIJkFOtX7etCJAwYxBmJExoQgTSuu7EbnN/yYUYUTC0K2bdm72id02SxMqYS1ISAsQ1oKRlwgSPuT/oOYnqHoJqB4Cqrf1FdL0fPuuYmg0kPRhEk2zmvDn+3FPdxNKDuFc5URS9QBb6KYgMJlMTJs2jaVLl3LBBRe0Tl+6dCnnnXdeh8t4vV4MhrabUZTICSZEx+rMbDZjNpu7Y5qOznGNQLAjb0ekJ4GAMUVjyKhrL7aPBxRhjjy9CydGYYu8sGEQ1l4/kQsEAhWBioYGhzxhCgShUDAy5ZBrmyzJSJKC3PIi8t7iVZUlBZNixaR0v3+EJjSCqhdfuAlPuAFvqBFvuBFvqJHmUB3ecGMbG4935LCMc4UTY5UR97RIHwTVruL6woXi17013S5MdPvtt3PllVcyffp0Zs+ezd/+9jeKi4tbhwDuvvtuSktLeeGFFwA455xzuOGGG3jqqac4/fTTKS8v57bbbmPGjBlkZmZG99vo6ByHHCoGJCExpnAM6fXpsTarfxBgES5sWipWLRGzcGKg83bNkdt5AFUKohJEk0KoBFv/V6UgGqFDPg8j0A4KADWywSM8TG7fu73LpktIGGQTBskUeZfNB98P/n1wulE2YZQtmBU7JsWG+eDLpFiRJRmLIQ6LIY4E2l9PVS1Mc6iO5lAtDYEK6v1l1AfKUUWoy3Yea7QUMjI2GKk/qZ5QSojaM2pJ+CwBY6Mx1ubFlG4LgksvvZTa2loeeughysvLGT9+PO+//z55eXkAlJeXt6lJcPXVV+N2u/nzn//MHXfcgcvlYsGCBTzyyCPR+xY6Oscph4uBcfvHkdqQGmuz+hYhYddSideysGtpKLQNlhQIglIzAamRkNRMSPK2vsL4YYCkngkEIS1AiAD0IPBdQj4oDuzYDA5sRhc2gxOb0YnN4CLOmIgiG3CaU3GaU8mKGwOAKsLU+Uup8u6nzLMLT6guyt9scGCqMpH0YRL1p9SjOlTqTq/DtdyFufz49U5LojO//QCiqakJp9NJZWUlDocj1uboHMdYLN8+ff7kJz+JoSWRG0pBTgGlKaXHvhgQYBGJONUc4rTMNiJAJYRXrsYrVxOQGglITQgpNqll27d33UPQ90jYDA7iTEk4jMkkWDJJtGRhNbS9hjYGKilxb6XIvZmQ5o+RrbFDM2kRT0FaCDRwrHFg222LtVlRJRwO8/nnn9PY2HjEe6jey0BHZxDSkk1QmlIaiRkoHHNMigFJKDi0bJzqECzC2To9jB+3UkqzXIZPqh8wT/0DCxGJJwg3UsU+aIxMtRsTSLUOId0+nBRrPk5zGk5zGmMST6SkeRv7G9fTGKyMren9iByUSfw0kcaZjfiH+Wma2UTYESZ+fTySOL6CDXVBoKMzCNmfsZ+StBIARhePPuZiBozChksdhkPNQSEyrquh4pYP0KQcwCfVHHEsX6dzPKF69ofq2d+0HqNsIdM+mqHOqTjNaeQ7JpPvmEytr4R9Tesoa96FQIu1yX2OpEk4VzkxNBlontKMd4wXNV7FucKJHD5++n3ogkBHZ5BRlFZEYUYhEEktzKw9doJzTVo8ieoI4rXs1l4LQamZBnk/TUoJmnT8BsP1BSHNT5F7I0XujSRashjqmE5m3CiSrDkkWXPwJzWzp+Fr9jdtOOYDESUk4rbFYXAbaJjTQCA7QN2iOhI+T0DxHh8ZCLog0NEZRBxIOcDerL0ADC0deszUGTBrThLVkcRr34obj1RJvWEvXqla9wb0A3X+Uur8pZhr7eQ7pjDEMQWLIY7xyQsZ7prFnobVx4UwsBRbSPQk0nByA+HEcCQD4fMEjHXHfgaCLgh0dAYJFQkVFOQUAJBfnk9+ZX5sDYoCZs1Fsjoau/ZtYTO3XEadUkBAboyhZccvAdXDrvoVFNSvJCd+PKMS5mA3JrQKg131Kyhs2nhMDyWYag9mIJxcTzghTO2iWlwrXFgOdJ7SeiygCwKddmhCo85fR1gLExZhzIqZBHMCBlk/XGJFg72BnXk7AciuymZI+ZAYW9Q7DMJKcngsDi0biARJuuUD1Cm7CcruGFunAyDQKHZvpsS9tY0wmJRyOkOd09lW+xkV3t2xNrPPUDyR5kgN8xoIZgVpOKmB+PXx2HbYjtnW4foVXgeAal81HxR+wMqKleys34kn5Gk3T6o1laHOoYxPGs/8zPmMThiNLB0/ATexwmP2sHnYZjRZI7khmREHRgzaC5IsDCSqI3GpQ5FRWoVArWEXIan9MacTew4VBvmOyYxOnEe8KYlZGRdR4dnNppqP8YWPzQZ0ckgm4fME3NPdeEd5cU9zE3aEcXzjOCYzEHRBcJxT7avmsQ2PsezAMjTxrQtQQsIoG5ElmaAWRBMaVb4qqnxVrK5YzT+2/YNkSzKnZJ/C5aMuJzsuO4bf4tglaAiyafimSAtjj4Nx+8cNTjEgIF7LJiU8HgORwi9eqZpqwzZ9aGCQINDY37SeEvdWRiTMZoRrJun2ESRb89hZt5y9jWuPyWEESUQ6JipNCu5pbnwjfKhxKq7lLuTgsfVApAuC45SmYBPv7n+Xv2/7O82hZgAmJk3kjLwzmJwymSGOIa1DBJrQaAw0UtxczN6GvXxd+TWrK1ZT46/h9T2v88beNzgj7wyuHnM1+Y78GH6rYwtN0tg8dDN+sx+r38rEvRMHZddCg7CRFpqEXUTqJAQkNzXKNjxypR4sOAgJiyA76r6gxL2VySlnkGzNZXzyQnLix7Ox+kPqA2WxNrFPsO+yozQrNM5rjLRRPj1S7tjQfOzcRvVKhccZhU2FvLDzBT4u/piAGgBgbOJY7pl+D6MSRnV5PUE1yJqqNbxa8CqrKlYBEa/CJSMu4YcTf4jV0P1GLYOB/qxUuCtnF6UppRjCBqbvmo4tMMiqpwlwqcNIVkcjY0BDpVbZRb2y55gtJDSwKhX2D7nxExmftACTYkUIwf6m9Wyv+4KwFoi1aX1CyBWi/pR6NLuG7JdJWDbwMxC6WqlQFwTHAZrQWFG2gld2v8KayjWt04c7h3Px8Is5b+h5KHLPnzy3123n2e3P8kXpFwBk2jO574T7OCHthF7bPtDoL0FQlljGzvydIGDS3kkkNSX12bb6ApPmID08GYtIAMAr1VBp2EhIPrbjBI5HQQBgkq2MT15IbvwEAPzhZjbXLKXMszPGlvUNqlWNZCAkhZFCEq4vXJgrBm4PBF0Q6FDjq+Hdwnf5z57/UOmNlCKVkJifOZ/vj/k+E5ImtLZgjQarK1bzmzW/ocJbgYTELRNv4fujvx/VbcSa/hAETdYm1o9ajyZrDCkbwpCKwZNRIAmZRHUUiepwJGRUQlQbttIkFx8XwwPHqyBoIdmax6Tk04k3RQRshWcvm2s+OtiG+dhCM2o0nNhAMCMIKji/cmItHpieUV0QHKeEtTAbqzfycfHHvFf4HkEtCEC8MZ4Lhl3ARcMvIsOe0eGyalijscqHzx1CNkgYDDJGs4IjxYqsdO1q3hxq5vENj/O//f8DYFHuIn4545eYFNNRlhwc9LUgCCkh1oxeg9/sJ7khmQn7JgyaIEKz5iA9PB2ziAci9QSqDJtRpWPTddwRx7sgAJAlhZGu2YxImI0iGQhrIXbUfcHexjVHX3iQIWRB45xG/Pn+SODsmnjsBfZYm9UOvbnRcUZhUyHv7H+H9wrfo9Zf2zp9QtIEFucvZnH+YuSwEX9ziOoaN35PGH9zCL8njLvWT3WRm7oyL5raXh8aTDIpeXGkDXGQNyGRpGx7p0/9ccY47ptxH2MSx/D79b/n4+KP8Ya8PDL3kWNGFPQlu7N3twYRjikaMzjEQGuswBhkFML4qTJsplkpj7VlOjFAEyo761dwoHk7k1LOIMWax4TkU0mx5rO+6l2Cmi/WJkYNSZMi/Q78Mt7RXtwz3GhWjbhNcYPj3D0M3UPQh6h1dXg//xz/li2Ey8oIl5UjAgFQZIy5uZjHjUdJTEQyGpFMRjAaI38f8jp8GoqCpCgIWaKyfD9vFH7D7nAFlfX1WMN2LKE4XCKJLCWXTCUHY9DaeuNXQ0dPCTJZFGwuE0IDNaQR8IYJBdq2knWkWBh/UiYjZqRgMHUee/B1xdfcseIOAmqAeRnzjglR0JceglpHLZuGbwIB03ZNw+l1Hn2hGKMIC+mhKa0ZBM1yOZWGjahSMMaWxQbdQ9CefMcUJiSdiiIb8IWbWFv5P2r9B2JtVlQRCDzjPTRPjmRsWXdbB1StAn3IIIYEtmyl8d//xrN0KYTDfbINryWZ1bMe7PZyilHGEmfAYjditkfe7U4TyTlxpOTFEZdobvP0LzRBQ6WPykI3ZbsaKN5W3yos7C4Ts78zlLwJiZ1ub03lGn66/KcE1ACn5pzKb2b/ZlAXM+orQRCWw3w95msC5gA5lTmMKB0RtXX3FXY1nfTwZBTMaISpNmylUS46LmIFOkMXBB3jMKVyQtr5xJuSEEJjR91yChpWAQP+9tMtvMO9NM1oAhnMxWZcX7mQ1NifEPqQQQwIl5dT9/jjeD76uHWaacwYrHPnYszLxZCRgWyzIfx+gnv3Eti2DeEPIEJBRCgMoRAiFEIEg4hw6NtpwWBkejgEqoYIhzEJPwBK2EfIZSQpIY54hxVLXORGb40ztvnbbDdijTdiNHcvm0CSJRIybCRk2Bg9O41QQKXg6yq2LCvF0xDkk2d2kjsugTmXDMPubP/0f0LaCTw2/zF+8uVP+KTkE7LisvjRxB/1bkcfg+zN3EvAHMASsDC0fGiszTkyApLVcSSqwwHwSw2UG9YRkptjbJjOQKUpWMXnB55jUsrp5MZPYGzSSSRbc1lX9Q4B9djJPLHtsSH7ZRrmNxDIDVBnjnRLlEOD4yFI9xBEieb33qPmV79G+P0gScQtXozj8sswjx3bNxus3kn586cTHzLw6zHv8NsL+mg7nRAKqGz8+ABbPitDaAKb08RpN4wmOTuuw/nfL3yfX379SwAemvkQZ+af2Z/mRo2+8BA02BtYP2o9AJN3TybR3bnHJdZIQiEjPJ04LR2AOmU3NcqOY7auQHfRPQRHJyd+ApOSF2GQTfjDHtZVvU21rzDWZkWVYGqQ+pPrESaBod5AwrIEFF/siorpHoJ+QoRC1D36KE2vvAqAecoUkn72M8yju17kpydIYR9DVD+lUhIbShr6dFsdYTQrnHBOHsNPSGHZ87toqPDx3v/byslXjSRvfPsb2ln5Z1HkLuLZ7c/y23W/ZVzSOHLjc/vd7oGGQLAnew8AGTUZA1oMGISFzNBMLMKFhkqFYT3NyrFZle5ohJFRUdCQUSUZDQUNCZ89AyErIEBCAyEAgSQEklCR1BCyFkLWgkha+LgcXSlxb6HeX8oJaRfgNKcyJ+O7FDSsZGfdcsQxMoRgqjKR+HEi9QsOdks8vZbEZYkYmgb2LXdgWzfA0fx+Km/7Kf7VqwFw3XgDrptuQlL6XglKwYibzSssFNf5KKz1kp/U/5XsEtJtnPOTCSx7voDSXQ18+uxOFlw9ivyJ7Qvp3DDuBjZUb2BD9QbuWXkPz5767KAPMuwtNc4amuxNKKrCsLJhsTanU8yak6zQLAxYCOOnzPgNfrk+1mZFFRUZr2TBK9nwSWYCkomgZCKIsc3fQcmEKnVyjo+e3a1tymoAOexHCftRwr6D714MwWYMoWYMQffBd09EYBwjNIfq+KL0n0xIWsgQ51RGJcwlyZLL2sq38KvHxtCTscFI4keJ1C+sR3Wo1C6KlDo21Q7ca54uCHqICIWouuMO/KtXI1mtpP52CbaTTuo/A0JeABSzHRGEF1aXcP/ivvVKdIbJamDRjWNY/soe9qyp5rN/FnDa9aPJHpPQZj6DbODXs37N5R9dzq6GXTyz/Rl+MOEHMbF5ICAQ7MvcB0BOVQ6m8MC8UMSpGaSHpyJjICA1UWpcTVgavKljfkw0yg4a5Xjckh2vZMUrW/FL3e91LwsNGRUZgSJUwkE/klABCSFJB9/lyLusoMlGhGyEg4G7mmJGU8yEzUfJKBECQ6gZo78ek7/ukFc9SsgzKD0NmgizqeYjqn1FTEk5k2RrDidlX83q8v/QGKyItXlRweAxkPRREnUL6ggnhak/tR7Xly7M5QOzqqEuCHqAEIKaX/0a31crkSwW0v/yZyxTp/avEQcFQYLTCW74YFsld58xAqMSm+AVWZGYf9lw1LDG/g21LPtnAef+dCKutLaVu1Jtqdwz/R5+tvJn/HPHPzk562TGJI6Jic2xps5Rh8fqwRA2kFs5AIdPBCSow0lWxyIh4ZEqKTeuRZP6JnOmLwhioEZOpEF2tIqAgNT5xVgRYezCh1X4MYsAZhHERAiTCGIWkfeW/w2o7W7EXYkhEICQDGiKEU0xoxosqAYrmmKJ/G20EzbGETYdfBnjELKBsCmesCken6PtsSKrAUzeGizeCiyeSsyeSozBxkEjEso8O2kIVDAr4yIcphTmZ13B+qp3KPPsirVpUUEOyCQuTYxUNcwMUn9KfaSqYdHAq2qoC4Ie0PTyyzS//TYoCql/+H3/iwFACkYEQbzDQbLdRI0nyPtbKzlvUsdVCPsDWZY4+YoReBtDVO5r4pNndnLu7RMwWdoeZgtyFnBazmksLVnKg988yL9O+xdGZWA3B+kLDqREcrEzajMwaAPvVExSR5OkRrxODfI+qgxbB3zwoAAapXgqlFSqlCTqJWfr0/i3MwnihAen5sYhmrELLzbNh034MBHq8xupBEgijBwOQ9gHRynkKADVYCVkdhKyJBK0JBK0JBC0JBIyO9EUM/74LPzxWa3LKMFmbO5ibE0lWN0lGEMD2w3vDTfw5YEXmJ52Pun2YcxIv5DttV9Q0LAy1qZFBTksk/B5Ao2zG/EP8dM4txFJSFiKu++V6ksG3lVogBPYsYO6Pz4OQOIdt2ObNy82hhz0EEgmO1fNyuGxT/fyp2X7WDw+DUOMvAQAsiKz8JqRvPWHzTRW+fjypT0svGYUktz2MnvXtLtYW7WWvY17eX3P61w+6vIYWRwbgoYgtY5IRcmsmqyjzN3/JIZHtoqBKmUrDYa9MbboyAQwUWzIpETJxC23zXSJ15pJ0uojAkBz4xBuDINoPF4CDGEfhrAPq6etK12TFEJmFwFbKn57Gn57OkFrMqopDnfSWNxJkewjk7ea+PoC4ut2Ygy6Y/Atjk5YBPm64nXGJS1guGsGY5NOwm50sbH6Q8Qg+r06Q9IknF85kVQJ33AfDfMacH3pwnJg4IgCXRB0AxEMUn3PvRAKYTvlFByXXRY7Yw4KAmG0cdWsHJ5bVUxZo58v99SyYFRK7OwCrPEmTr12FO/+v60Ubalj6+dlTFjQ9qbnMru4ZcIt/Gbtb3hm+zMszl+M82jjqMcQdY46kCDOGzfg2hq7wpEyxADVA1wMNEjx7DPkUqpkoB0seCULlTSthjS1hlStBqs4dnspyELF7K/F7K/FUbcDiIgEf1wm3vhcvI4cArZUgrYUam0p1GbOwd64D1fVRqzukgE3rCAQbK39lOZQHZOSF5HnmITV4OCbyjePiXbKEhKOrx0IReAf4qdhfgMJnycMmJiCwVEtYYDQ8OxzhPbvR0lKIvmBX8a0i590UBBgtGExKlwwOTJU8O9vBkZJ0JS8eGZfGOnSt/7DEprr25/M5ww5h+HO4TQFm3h2+7P9bWJMqY+LROgnNg2sNEOnmk+qOh6AGmUH9QNUDNTJTlaYpvOFZTYlhiw0ScalNTI5uI0z/F8wI7iJPLX0mBYDnSELFZu7hOSyr8jd+QpDN/2V1MKlWJtKQJLwuIZROvI7FI+9gsakcWidZUzEkMKmDayu+A9hLUiqbQjzM6/AahiYNWi6iyQknCudmIvMoED9SfUE0gfGcaoLgi4SKiqi4ZlnAEi86/9QnDF+mj1EEABcfkI2sgQr9taxr3pgVP4aNSeNtKEOwkGN1W/ub/e5Iiv8ZHKkuM9re16jxF3S3ybGjCZ7EwBOz8DxijjUXNLCkwCoVQqoUwpibFF7miQ7X5sms9w8k1olEUloZIfLmO//mpMCX5OnlmJk8AQ99geKGsBZu43s3f8lb+vzOKs2IqlBgtZkqvJPo2j892lMHn8wG2LgUOndy/LSF/GF3TjNqZyYdRVOU1qszYoKkpBwrXBhLjGDARpObiCYEvv+HwPrCBjA1D/9VwiFsM6Zg33RolibAwfrEIiDgiA7wdo6VPDiNwPjxipJEnMuHoIkSxRtrqN4W127eWalz2J2+mzCWpg/b/5zDKzsf8JyGI8l8vs5PAPjqceqJZMWngxAvbKXWmXHgOpJ4JPMbDCO5TPzHCqUVBCC3PABTgssZ1poK4miMdYmDgpMgQZSSz5nyJZnSC75EiXYTNjkoCrvVIrGXoHHkR9rE9vQGKzky9IXaAxUYTXEMz/rClKtA7y0dxeRhIRruQtTqQlhENQvqCeYHFtRoAuCLhDcuxfPhx8CkHDrj2M6VNBC65CB6dve21fMzAbgrY0VNPlCsTCrHYkZdsafHBnOWP3GfsJBtd08P5n8E2RJZtmBZWys3tjPFvY/bpsbJDAHzZjDsR87VISJjNA0JCQa5WKqla0DRgyoyOwwDOMT8zyKDdkgSWSolSwIrGRKaPtxOSQQDRQ1QELVevK3PkdK8ecoIQ8hSyJlI86ndNi5hEwDQ6gC+MJNLC97kSrvfgyyiVkZF5EVd2ykKkuaRMKXCZjKTQhjRBSEnbHzcOmCoAs0vvAvEALbggWYR4+OtTkRDhsyAJiZn8CIVDvekMobGwdOL/opp+dgd5lw1wbY9Elpu8+HOYdx3pDzAHh84+NoYvBHFB+JluGCAeEdEJAemoYBCwGpiSrD5gEjBirlZJaZ51BgHIYmKSSpdcz3f82M4CbixcAYFhvsyELFVb2RvK3/xFWxDoSK1zWUorFX0JAyccAUEg5rAVaVv0aJexuypDA99TzyHVNibVZUkFQJ1+cujFVGhElQf1I9mik210BdEBwFtaEBzwcfAOD8/lUxtuYQDskyaEGSJK6cmQPAS98cQNUGxulsNCvMvCASYLjls7IOAwxvmnATNoONbXXb+KTkk/42sV9psg0cQZCgjsAuUtEIU25Yi5Dae3D6Gx9mvjFNYrV5Kl7ZhkXzc0JgI3ODa/WhgT5C0YKklC4nb9uLWN0HEIqJ6twFlI78zoDxFgg01lW9zb7GdUiSxOSUMxjpmhNrs6KCrMokfJGA3CyjOlQa5jUgYlDzQxcER8H95luIYBDTmDGYJ06MtTmtSB14CADOmZCO02KgpN7HZ7tqYmBZx+RPTCRtqAM1pLH+g/YxDkmWJK4cfSUAf936V8LasRsY1uoh8Mb2QmvWHCSrEY9XlWELQTm2+ekC2Kvk8qllLuVKGpLQGBYqZGHgKzK1qoHiuDimMQXqySr4DynFnyGpIXzxOQPOW7C55mN21q0AYGzSSYxPWhhji6KDHIiIAsIQzAzSPLn/i0npguAICFXF/dprADguvXRAxA60EmyJIWgrCKwmhUumR3L+//FVEQOlu7UkScw4Nw+A3WuqqCtv7/K9bORlOE1Oit3FfFj0YX+b2C94TV4CpgCSkIj3xsfOEAFp4clIyLjlMprk4tjZQsQrsMo0ja2m0aiSgQS1gZMCqxkfLsBA7L0WhyKhYZP8JMpuMpU6hiiVjDYcYJKxkBOTajk5uZZTkms5JbmGhSk1LEipYU5iPVOcjYyOaybX6iPFFMCuhJEHzG32WyTAVb2JvO3/OsxbcNGA8RbsrF/O5pqlAAx3zWBqymKkY0AyGuuNOFdFMo884zz48vu3Z4hemOgI+NesIVxejux0Yj/j9Fib05YOhgxauGpmDv9cVcLGA42sLWrghPyEdvPEgtT8ePInJlK4uY7Nn5Ry8pUj23xuN9q5avRVPLH5Cf6x7R+ckXcGBvnYOkRrXBGvjcvtimm5YoeWi0UkoBKKedxAuZzCRtM4gpIJRaiMC+0iXz0QM5NkNBLkZlLkJlIUNylyE8mKG6fkIV72Ey/5kTtz53YzxCisSVQHjVQFzFQFTFQFzFQGTFQHTFQGzFQHTPi12NQJMAabyCr4D40pE6nJmo8vPpuisVeSXLoCZ/WmmN9+9zWuJaT6mZK6mFzHRIyKhTWVb6GJgSUgu4u1yEo4IYxnvIfGWY0YGg0Y6/untPuxdbWNMp5PlwFgW7AA2TJwyktC50MGACnxZi6YnMGr60p5ZmXxgBEEAJNOy6Zwcx37NtQw7axc4pPa7teLR1zMv3b9i1JPKV+WfsmCnAUxsrQtlZWVAOTl5fVqPXXxkdTLpKb27aH7C0nIJIUjd65aZReqFJtI/TAKW40jKTJE4l6cWhPTgpuJF95+skCQIHnINNSTqdSTqdSRqdSTIjehdGH8NigUAsKIXxgJCCNBDKhCwuP1IoQUaWIkAAkssoZNUbEq6sF3DaMsMMiCDEuQDEvn6WYNIQP7PTZ2e2zsabaxx2On1GdB64dbcsRbsBl7YyGV+afhi8+hOvcUmhNGkFb4McZgU5/bcCRKmrcS0vyckHYBGfaRzMm4lNXl/yEsYp/T3xviNsURSggRzArSMK+B5PeTkdS+/711QdAJQtPwfv4ZAPaFA+Om1IbQQZd7B4IA4Jo5uby2rpTPC2rYXu5mbEYM3dOHkJwTR+ZIJ2UFjWz9vIzZ32mbU2w1WLlw2IU8u/1ZXt/zeswEQYsAiCaapNEQ1wBAojt2FQrjtWyMWAnho1FpXzCqP2iQ4llnmkizHEmbHR4qZHR4N0ofutBlNHKVGoYZKhlmrGSIUoVN7vjGERQKNVo81aqDGs1BtRpPvWbHLaw0aVY8woLWyYhrVzoeAhglDacxTJo5QKo5SOph72nmIHaDissYZoqriSmub2++PlVmn8dGQbOd9Q0ONjQ6CPShJyHiLfjvQW/BPHzx2RSP/R5phR8T1xDbapYV3j2sLH+FWekXkWzNY17W5awse5WgNnhbdEtCwrXSRc3iGlSninuyG8e6vh+u6ZEgePLJJ/n9739PeXk548aN4/HHH2f+/Pmdzh8IBHjooYd48cUXqaioIDs7m3vvvZdrr722x4b3NcHtO1Cra5DsdqwzZsTanLYIAaHIwd7RkAFAfpKNs8an8d7WSl5YXcJvLxjbnxYekYkLsygraKTg6yqmLc7DZGl7ITt/6Pk8u/1Z1lWto8ZXQ7I1uc9t6okAGDVqVOvfu3YdvVVro70RTdEwhozYffajzt8nCEhQIyKsQdmLkPo/valUSWO9cQKaJGMWfqYGt5KqtS9aFQ3MBBlrPMAEUwljjQewSm3rc6hColJ1UaYmUKomUqYmUKG6aBQ2RB8/gYeETE3QRE3QxLZO4jltSphMS4Bhdi8j4jwMt3sZavdiVTTGOZoZ52jmgsxKAqrExkYHX9e7+LreRVUg+vUtDvUWVAw5HX9cFuXDzsFVuY7kA18hxbABUa2/hBVl/2ZO5qW4zBnMz7qSleWv4AvH1oPRG+SAjHO1k/oF9XhHe7EUWjDVmvp0m90WBK+++iq33XYbTz75JHPnzuWvf/0rZ555Jtu3byc3t+Oe7pdccgmVlZU888wzDB8+nKqqKsLhgR1F7luzBgDrCScgmfr2R+g2wWakllx9c+dP/pedkMV7Wyt5b0sFty0YSrpzYAx7ZI504kyx0Fjtp3BTLSNnprb5PMOewdjEsWyv286KshWcP+z8qG27L578oa04OJRDhUJLd8NEd2LMAqCsIhmzcKIRplHp30BCAew15LHNGNlXaWo1U4JbMRPtIlqCXKWGueZdTDXtx3RIKmWzZmZvOJ294TT2hlMpVxNQGXi1/Fvwqgb2eAzs8dj5qCpSiVRGkG31MzzOw7j4ZmYkNJBuCTIzsZGZiY1AEfs9VlbXu1hV52KHO45oBokYg01k7/ovNVlzaEifTkPaNPz2DNL3vR/TNsuRqoYvMjfju8SbkiKioOxlmkN9Izb7A3OZGcs+C/6hfppmNZH0fhKS6LtrR7cFwWOPPcZ1113H9ddfD8Djjz/ORx99xFNPPcWSJUvazf/hhx/yxRdfsG/fPhITI27S/Pz83lndD/jXrgXAMm1ajC1pj+SL3FiEwdqmUuHhTM9LYHqei7VFDTy3qpi7zxjZ6bz9iSRJDDshhfXvl7B/Q007QQCRksbb67azoXpDjwVBX938u8OhQmG1vBqA5Ma+93h0RoI6DIAmuQRN6r9qlgLYYhzNfkPkoWFouIjxoV1RlUUyGtNM+zjZvJ1sw7c3gUrVwZZQLluCuRSpKX3+5N/XaEgU+6wU+6wsq04GBHlWH7MSG5iR0Mg4h5shdh9D7D4uyy5nv8fK2xVpfFKVFLUARQmNlNIVWJvLqcxfhD8uk5Ixl5O2/0Ps7thlrHhCdXxZ+i/mZn6XeFMy87OuZFX5qzQEKo6+8ADFsc5BICtAOCGMb7gP2+6+647arbTDYDDIunXrWHRYLf9FixaxcuXKDpd5++23mT59Or/73e/Iyspi5MiR3Hnnnfh8nY/vBAIBmpqa2rz6ExEO49+4EQDLCdP7ddtdwnvwYmc7+jj0zfPzAXh1bSnV7oFT5jV3XMT2in1NaGp7V+Pk5MkAbKzZ2KX1VVZWtnsNJJqkJrxWL5KQmJk6MyY2mLQ44rR0BIJ6pf/GfQWw3jg+IgaEYHxwJxOiKAYkBNNMe7nH8SZX2FeQbagjJGS+CQzjj01n8XDTBbzjm06hmjroxUDHSBT5bLxamskdW8dw8TdTeXjXMJZVJ+JTZYbYffxkWCEvTNvExVnlWOToReHHNe4ld8dLmL1VqEYbZSMuoDZjVkz3s191s7z0Rer9ZZgVG3MzLyfZ0rH3ejAgB2TiNscB0DypGc3Yd0Mz3fIQ1NTUoKoqaWltO06lpaVRUdGxAtu3bx8rVqzAYrHw5ptvUlNTwy233EJdXR3PPttxy9slS5bw4IMPdse0qBLctQvh8SDHxWEaMSJmdnSG5D3oIbAePVJ97rBEJmU52FTaxFNf7uf+xQOj9HJihg2TzUDQG6amxENqftuhjwnJE5AlmTJPGZXeStJs3x5zA+1m3xVKlEgxpjQtDTPmVs9BV2IPooXroHfAI1cQkvun9K8ANhnHcsCQiSQ0pgW3kKVF7/fLVWq40PY1QwzVQGRIYJl/PKuCI/CKgTFE1t+4wwY+q0nis5ok7EqYRak1nJ9RSaY1wI35JVySVc6rBzJ4qzyNsOh9KRpjsInsna9SnXMSTSkTqcuchS8ug/T9H2IIxyawL6j5+KrsZWamf4cUWz6zMy9lbcVblHt3x8Se3mIrsOEd5UV1qHjGeojf1DdB4j06Gg4v0COE6LRoj6ZpSJLESy+9xIwZMzjrrLN47LHHeP755zv1Etx99900Nja2vkpK+rd7X/DgRdo8YQKSMgDHF30RD4HogodAkiTuOG04AK+tK6Owtr9Suo6MJEukD40c1BV723uA4oxxjHRFhji+2PPFgH3y7yrFB8frc9W2TyqjRo1qffUlijDh0CLpffXKnj7d1qFsM4ykyJANQjAtFD0xYCHIJbaV3OF4lyGGavzCwLu+qTzYeBGfBiYct2LgcDyqgTfL07l2wwR+v3sIpT4zLmOYm4aU8PTkrUx0RMf7KguVtOJlpO3/IFLh0JFHyZjLCVhil14bFkFWVbxGWfMuFMnAjPQLyY2fEDN7eoMkJOLXR66XnjEeVEvf1FroliBITk5GUZR23oCqqqp2XoMWMjIyyMrKwun8tu/7mDFjEEJw4MCBDpcxm804HI42r/4kWFgIgHHIkH7dbleRggcDd8xd2y8z8hM4aUQSYU3wt+WFfWdYN0kfFjkmyvdG6tMf7vIfaYsIgm2N22JmYzRQUSlVIk2dDhcEh9KXwsClDkVGwS/V45P6J8iqSMlirzEfgMmhbWSp0REDYwwH+LnzLeaaCwD4JjCM3zReyFL/RIL0TwGXwYYqZD6uSuHa9RN5dPcQ6oMG8mx+Hp2wk5+N2Eu8ITrxJI66XeTsfBmjv46wKZ4Doy/BG58dlXX3BE2orKl8k6KmTUiSzNTUsxnuHGBZY13EfMCMsdoIBvCO6ZsHu24JApPJxLRp01i6dGmb6UuXLmXOnI6bTMydO5eysjKam7+NPi0oKECWZbKzY3egHIlwceRpztjLIjR9Rkv1Pq3rKvGmg7EE72+tpHGAtEY2J0YyTSr2NlFe3n7IabxrPDD4BUG5XE5ICmHVrCRrRw8ojLYokIUB18FUwzpld79UJWyU4thsjAxPjQ7tJk8t6/U6rVKAy23LuTn+ExJkL9VqPP/PfQYveefTJPou0OpYQkPiw4PC4O3yVDQBp6bW8vcpW5mR0BCVbZj9deTsfBWL+wCaYqZ0+AU0JcauXbFAsKH6fXY3RIJ6xycvZEziSTGzp6dISNi3RoLIvSO9fdIRsdtDBrfffjv/+Mc/ePbZZ9mxYwc//elPKS4u5uabbwYi7v6rrvq2K+Dll19OUlIS11xzDdu3b+fLL7/k//7v/7j22muxWq3R+yZRRK2rB0BJjp2764i0CAK160GCU3KcjEi14w9rfFEQu6ZHh3oAHKkmDGaZcECjqbL9dxnnHAdAkaeIptDgzScuMhQBkKfmdTndMJreApc6FAUjAamJZrnv22JrSGwwjUeTFNLUakaGe1/8aKShjLsdbzHTvBdNwGf+sTzSdB57w+lRsPj4o1k18MS+fH68eSxFXgtJphC/GVvAbcP2RyXoUFEDZO1+k7i6XSArVA45ndqMmTHt3LCt9jO21UaKzY1KmMOk5NMZML2+u4i51IyhzoAwCjyjox8H1G1BcOmll/L444/z0EMPMXnyZL788kvef//91pKu5eXlFBd/m3YSFxfH0qVLaWhoYPr06Xzve9/jnHPO4f/9v/8XvW8RZbTGiAtbPmSYYyAh4jMAkBq7HlshSRLzhkUEzrri/mshe6TIf0mWSMyJjPXWFvvbLes0OcmxRca9tzd2rfrbQKRIiQiCIw0XdEZvhYEsDK2phrXKrn65/u0x5NMoOzCKIJOD23q1SQmNMywb+EHcxzhlH5Wqgz+5z+It3wxCeqHVXlPQHMctm8bzn9LIkO/i9Gr+PGkbOdbeBwPKQiV9/wckVERqutRlzqYybxEihj31djesZkPVBwghGOKcyvS0c5EGUY+/Nl6CUV6EEl2J1aMz6pZbbuGWW27p8LPnn3++3bTRo0e3G2YYyKgH0xyVASoItKRI5oNUtw+08Lceg6MwLdfFc6uKWV/c0Cd29STgLznPStUeLzWFPobNdLX7fJxzHCXeEjbVb2JW8qwoWNm/NEqNNMqNyEImR83p8Xp6mpXgUoegYCIguWmWe++2PxpeycIuQ2R4YkJoFxZ6XlPeJgW42v45o4wRr8bKwAje8M7UhUCUCWoyfy3MY3V9Aj8fsZc8m58/T9rGH3YPZXlt70psS0By6VcYA01U5Z6CO3ksqtFKxt73kEVsitMVuTcS0nxMTzuP7LixGGUL31S8gSoGxlDq0bCUWGhubkaNU/Hl+bDti95w2eCRRv1JS8vggZhhAODIQhitSFoIqb6wy4tNzY0InN3VHhq8vT/4o5H3n5wXGTaqK/Ghqe3V7tTEqQCsrV07YFo5d4eW7IJ0LR0Tva942R2PgSQMJKiRDJM6paBfvANbjKPQJIVktY5stefDEylyIz+Nf49RxnICwsC/PPN51TtXFwN9yKZGBz/YNJ5NjfHYFI37R+/hxvziqLRodtZsIXPP20haCK9zCKUjL0RVol9euauUeXaxqvw1wlqQNNtQ5mZehlEeHJkpkpCwFkSum76R0U3r1AVBR7RcOLUBegOSZETiQS9BbUGXF0u0mxiaHFGTG0q6N2zQV4V/4lNNGK0yakjQUN4+jmBywmQMkoFyfzmlvtKobLM/aak/0JPhgiPRFWHQ4h0ISs245b7fd5VyEhVKGpLQmBDa2WP9kSHXc1v8+6QqTdSqdv7YtJi1wWFRtVWnYxpCRu7aOppXD0RiMy7OquD343eSYOx990B7UyFZBW8gh/344zI5MOpiwsYY9fQAqn2FfFX2MkHVR6Ili3mZ38OixMXMnu5g22sDDULJIcLx0fO06IKgI6SDu0XErlnH0RDJBwVBTdcFAUSGDYCjDhv0V9U/SZJavQRVe9sHydgMNia6JgLwReUXfWZHX9Am3TDcN5XSOhMGsjCSeNA7EIkd6FtxqyGx9WBWwVC1GIfoWU37NLmBH8Z/RJwcoDicxB/dZ1OuDZz23ccDGhL/KMrlwZ3D8YRlJjrdPDV5G+PiO+nA1A2snnKyd72OEmwmaE2mZNQlBM2xG5qtD5SxvPRFfGE3TnMq87OuwG4Y+MebHJAxVUQ8jv6c9vFXPV5v1NZ0DCFbIq4j7QjllWNNSxyBXNu9yltTDwqCdYcIgliX/U0fFXlKKNve3OGwwKkZpwKwtGIpquibghx9QblcTlgKY9NsJIq+bXd8uChIVEccjB1oxC13XO8jmuxXcmiW7ZhEkFGhfT1aR7LcxA/jPyJe9lMSTuTJ5kW4xcDMRDoeWFGbyI82j6PQayXJFOIP43dyQUYF9HIIweyvJWfXaxj9DYTNTg6MuoSANSU6RvcAd6iG5aX/ojlYh92YwPysK3CY2vdXGWhYSiL3qUBO9ErS64KgA2RXRLFqDQ2xNeQIiKRI0R6ppntBZnm2SOzAltImikvLB0Tlv7ThdhSjhLchTH1p+4N7dvJs4g3x1ARq+KbmmxhY2DNa4gdy1Jx+6W7Y4i0wCEtr3YEaZUefxw4EMLLLGHHpjwntxkj3XZgWgtwU9wlO2UdZOIGnmhfhE7EbY9aJcMBn5cebxvJZdSIGWXDL0GLuGbm316mJkY6Jr2HyVqMa7RwYdRHeuKwoWd19vOFGlpf9i8ZAJRZDHPMyLx/wosBUFvEQhBJDCDk6HkBdEHSA4nQBoA5gQaClTwJAqtoOgc7ds4c/+Wc6TCTaDIQ0wc6qgeEBMZhkMkZHxu72fdPQ7nOjbOT0zNMBeKnwJbQBPJRzKCWGvokfOBpD42Ygo+CTavHIfS/4dhqHE5KMOLQm8tTuxypICK60f0mq0kS9ZufJ5kV49NLDAwa/pvBwwTD+si+XsCZxSkodj03YQYqpd0+mhrCX7F2vYz1YwKhsxAU0u2IXKxJQvawoe4k6fykmxcrczMuIM/atZ683KB4FKSiBAmp8dDynuiDoACUpkq+vVlbF2JIj4MxGOHKQhIpctrZ18tFc/5IkMSE9Eli4pWJg9DUAWlMOK3Z5aK5tH8D0nZzvYFfsFHoKeb/s/X62rvs0S83UyXUgIFvtv4qcwm+COhcA1qHNjBrdtz0SmqQ4CpXI9+tpB8P55h2MNx0gJGT+0XyKPkwwIJF4qzydO7eOpj5oYESclycmbWdkXM9iRVpQtCCZu9/EXr8HIRsoH7qYxuTxUbK5+4S0AKvKX6XeX45ZsTE97bwBW6dAQkLxRjLhVKsuCPoMQ17kiS50SIGlgYiWOxsA346l3Rr7n5hxMNOgtHcnczSJTzGRNiJi196vG9p/bozn8iGXA/Ds3mcp8hT1p3nd5oASGbdP1VKx0I9Pu5XJgATxzUj2iAeor3okCGCrcRRIEhlqJclafbfXkSw3cY51HQBv+WZwQD16aWed2LHNHc+PN49jvycSV/Do+J3MTuz+734oslDJ2PcejuotIMlU5Z1KXfqMmFU1DGkBvq74D0HVh8uczujEeTGy5OjI3sgtXLNFx2uqC4IOMOXlAxAqGpg3nZabf/3B0r7m8jXdWn5mbqRr1oYyD+7AwAnSGz4rEt17YIsbT137OgnnZJ3D1ISpBLUgv9/+e4Jq71Oh+oqWdMPeFCPqLsJrgUYHICC9ut3n0RYGFXIK1UoSstAYF+petgtEhgout63AJKkUhDL4KtC33gyd6FAZMHPblrGsqXdiUTR+OXo3C1N6Vw5dQpBa/CkJ5V8DUJs1h+qck2MmCvxqMxurPwRgqHM6ijQwm2bJ/oOCwKwLgj7DmB8pwxzat2/AFMPpaBjAnxnxEJirNyN7u35C5rjMDE00o2qwYv/A6RGQkG0hZYgVocHWj6vb7XtZkvnp6J/iNDop9BTy1z1/HTC/z6EIRKuHoL8EgRBA+cEgKFcTkrXz8d1oiAINiW3GSGDrsHAhdtH9eJQTzdsZZqzCLwy87J2DGGR15Y9nvKrCfdtH8mFlMooEd43Yx1lpvRtilYDkslWkFH8GQtCYOpmKIWcipNjcpso8O2kO1mGUzWTHxa4505GQ1Mg5owcV9iHGIUOQTCa05mbCJV3vF9AXHGkoQI1LJ5AyAQmBrfjTbq33lOGRTIoPdvbO3Rdtxi1KRlYkqvf7KN/Zvi5BgjmBn47+KRISH5V/xMtFL8fAyiNTJpfhl/yYhIlUrZ8ilZviwGMDSevQO3A4vfUWFClZeGQ7ZhFgRA+aFyXLTZxtXQ/A/7wnUKfF99gWndigIfHYniH8rzwVWYKfDi88mJbYO1zVm0jf/wFoKs2Joygbfh6aHJsn9EL3RgDyHJNjsv2jctAxEK2eBrog6ADJaMR08GIZ2Nb/rXe7Uw/AmxfJ0bcVftKtbZw5KgFFgk3lXgrrolfYorfEJZoYPtsFwLZPaggF2rvCpidN5wcjfgDAvwv/zfulAyvIcL8hcoMcFh6GQt+Xvxaa9K13IKUOydT1tL+eCIMwSmua4cjQPox0d9hJcIltFSZJZVcog5XBkd1cXmegIJD487681sqGtwwt5rtZve+ZEV9fQOae/yGpQbyOPA6M/A5hQ/8Hm5a4t6AJlURLFvHGgRffImkHvWpRcq7pgqATTGPHAhDYvLlfttfTokDe/NMAsFSsweDuegGalDgjs/MjT2Vvbavr1jb7mmGzXdgTjASa1Q6HDgDOyjqLy/IuA+Cp3U/xVfVX/W1mhwgEZQebCKVr/dSatzYBgiYwhCGltker6I4w2GPIJyCZsWte8tXuFz2aZtrHKGM5QaHwqnc2g60Frc7hSPyjKIcXijMBuC7/AN/PPUBvCxjZ3cVkF/wXJeQlYE/nwKiLCZkcUbC36wRULzW+SHB5oqX/soW6zMFdrHsI+hjrjBMA8K1c1afb6W1lwHB8Nr7MOUhCI37bi91a9oLxkfTKD3bW0+CLTeexjlAMMhMXp4AEpVubKVzXcZzD5fmXc0bGGQgEv9/+ezbX9494OxJ1Uh21Si2KUMgP5/f59kRYgcrI70h6NVIvLwxHEwZ+TOwx5AORIkTdbXxjlQJcYI0EwX7sn0it1r8XeJ2+QuJfJdn8vTASM3NFThk35pfQW1Fg8VaSvet1DIEmQpZESkZdQsCSFAV7u447GBHZ8aYBWJOgxUGgRUdU64KgE6wzZoDBQKioiNCB6JZ+jXaJ4KYJVwMQV/AGsr/rMQHTsuyMTLbgDwv+u6VnT5Z9RVKOldEnR07AbUtrKNvRPkVSkiR+MPIHzEmeQ1iE+fXWX7PP3bOyudGiTIl4BzK0jP5JN6xIBk0Bqx8Sutew6kh0Jgx2GoejSgoJWgOZWveP37Mt64mX/VSoTpb5Y5dvrtM3vFaawZ/3RoKyL86q4MdDi5B6KQpMgXpydr2KyVeDaorjwKiL8dkzo2Ful2gMRuIiXOaMfttmV2nxDLQEF/YWXRB0ghwfj2VSpKmO97PPorLOvuoT4M+YSSBpDLLqJ37nq11eTpIkvjc1UkP8jS21eIIDJwURIsWK8qZEniA3vF1J+c72okCRFO4ccyfjnePxql7u33w/Fb7eBzb1lJZ0wyy178uwCq+ltQgRmZVIfeB5P1QYNEl2ipTI9xoXKui2oz9bqWGOOVJq+3XvLNR+iK/Q6X/+V5HGY3vy0QScm1HFHcP397qFsiHkIXvX61iaS9EMFkpHXkizc2iULD4yKzcuA8BpTGPL5q1s2rSp01d/0zpUEKVLt95c/AjYF52Of916mt99D+eVV/ZoHf3SK0CSaBp/DSlf3EX89pdpGv99RBcDcOYPcZDrMlPcEOC1TTVcc0JaHxvbdSRJYvyiZEJ+jbIdzax7s5KxC8MMneFqM59JMXHf+Pv4+cafU+gp5BebfsHvpv6OBFP/di07tLthXjivT7clBHAgHZDA1dhahKivGDVqFP/cbwNJIl2tJElr6OYaBBdav0GWYG1gKHvCA+9pqyf86U9/6vU6TjvttChYMrD4oDKVgCZz14h9nJ5Wg0nWeGT3UFTR82dQRQ2QVfAGFUPPwuMaRvmws0kt+gRn7fYoWh6h7c1dwhdsxmqKI9WZQ0VDYReXg0mTJkXdtkPRLJGgazkYnWd73UNwBOynLwKDgeCuXQR3d6+rYH93DfTmn0ooLgslUI999/+6vJwiS1w7IxKh/tqm2gEVSwAgyRJTzk0lb2rEU7D901q2La1BaG2fOOKMcTw08SHSLGmU+8t5YPMDeMP9W5q5Wq4mLIWxCEufdzekJhH8FlBUyOz7EtvFfjOVSgoSgrGh7p0LAJONRQwzVhEUCm/7pvWBhf1PNMQAwNKlS6OynoHGsupkfr1rOKGD/Q9+MWoPRql3BXRkoZKx910cNdsiVQ3zF1GXNj0qBYw6f9IXlDdEMofSHN0T+n3tPVAdEdeAoSk6z/a6h+AIKC4Xtvnz8X72Gc3vvkfiT2876jIx6x4oG2ga/32SVj+MY9sLNI+6COSu/bwnDXUwItnC7ho/L2+o4Qdz+ik6votIcsRTYHMa2PFZHfvXNuJtCjPlnFQMpm81baI5kYcmPsRdG+5ib/NefrP1Nzww8QGM/ZTD3OIdyFQz+7S7oQgaIrEDABlVSIa+HeoRAj5viHhbJsU1Mz03Eji2a1fXOm0aCHPuwUDCT/0TaBT2vjE0ykTrht8VjiYKBqsXYUVtIg/slPnl6N3MTWrgoTEFPLBzBAGt58NFEoLUoqUoYS/16SdQmz0P1Wgj+cCXPT7rjnbDrnWXMTR1AumuPDb1sKJ9yzai5TUQskCNi5z7SlN0ht90D8FRiDvnbACa338foXZ+4e1vj0BHeEach2p2YXQfwFbU9UJFsiRx/YzIUMEbW2upbm5fNjjWSJLEsFkJTDkvFVmBygIPX/2rFE99W1uzbFk8MOEBLLKFTQ2beGzHY/3WHbEloLAv4weEAErTQchg90Y1kLAzdnhtVATNGCWNuc6G1uldTVM82bKdJMVDvWbj00ESSNifYqArDGYvwjf1Lu7bPhKfKjM9oYmHxxZgU3onYiUgufQrkku+AKAhbSqV+ad3u6phV5/eC2t2AJCT1Psqn9HyFoQdYZBACkqtJYx7iy4IjoJt3jxkpxO1uhr/N+17BgwEIdCCMFhxj4nk5ju2PHfw7tE1ZubGMSHdRlAVPLtmYHyfjsgaG8/sy7Mw2xXcVUFWPH+Ayt1tKxqOcIzg3vH3YpAMLK9ezt/2/K3PSxyrqFTIkWDGTLUPI6AbHOCOA0lAVkWfBBIeSljA8oPegZmOJuxKW3F1tDRFh+RlkSWSDvqObxqhQeCUHGhioIXBLAo2NDq5e9soPGGFiU43vx23k3hD74cnE6o2kLb/QxAq7qQxlI64EFXpWnZPd27MNe6I9y85LhNZ6v3TeDSGEYJpkV4uxlpj1DySuiA4CpLJhH3RIgCa33u3dfpAEgKH4h7zXTTFgrl2O5byb7q8nCRJ3Dw7MlTwwc4G9tYOnOqFh5OQbWHe1dkkZJkJ+TXW/KeCghV1bW76UxKn8NPRPwXg3dJ3eb349T61qUquao0fSBB9E8woAkYoPRj0mVqDZOn75k4b3PE0qgbsSpjp8Z33vehMGCy2rscshdkfTmFdsH+iwnvCn/70p9bXQGbp0qWtr8HGNnc8d24dTWPIwJh4D78ftxOXsffeSEfdTjL3vI2sBvDFZ1My+rsELEeO4enuzbiq6QBufz1mo5XsxBG9MbdXdhxKMD1y/pvKTdEyRxcEXaFl2MDzyadU7N8/IIVAC5olgeaRFwDg2Ppct5Ydn27j5GEOBPD0qtil7nUFq8PA7O9lkT8tEmxYsLyedW9WEg5++wR7UtpJ3Dj8RgBe2P8CH5V91Gf2tMQPZKlZfRI/IARQnBmpOWD3Qmrf143wazKrmiI9L+Y7GzF1oYHKocIgW6lhhmkPAG96T2CgViQc6CKgMwajKNjjsXPn1tHUBY0Mi/Py6PgdJJl6L2ztTUVk73wVQ6CRkMVFyZjLaEiZ2GGwYc9uwoKKhkj321RHdBuW9cRbICTR6iEwV5ijZosuCLqAecIEpOwshN9POEo1CfoS97grEZKMtXQlpprupeTcODMNgyzxTUkza0ra5/0PJGRFYvyiFCaelYIkQ8UuD1+90Dau4Nzsc7k492IA/lLwF1bXrO4TW4qUyMWiL4YLWuMGfNZIVkFOWZ8PFQCsanTg1xSSjUHG27t3LIwaOZLvJW1tTTMsUvupyVM3GaxioIXBKAoKvTZu3zKaqoCJXJufR8fvINXceXfOrmL215Gz8xWsTUUI2Uh17gLKhp9P2PhtEGtvnshLaiNBtENS+yYOpjvCIJQSQpgEUkDCUB+9YThdEByBlmGBqqoqDIsjXoLw/94ekC13DyUcn41nyJkAODf9vVvLZjnNnD8u4m57elUFqjawvytA7iQHc753MK6gOhJXUL3/25TDq4ZcxWnpp6Gh8bvtv2Nrw9aobHf8+MiFwSN5qFKqQMBQtQ/c4tVJBwsQCcgp71bzop7SGFZY7454X05y1SN3U4AMDWwlM1RICCPvDNA0w8EuBloYjKKg1G/l9i1jKPebybIG+OOEHWRZej9MaQj7yNr9JinFnyFpYbzOfIrGXoHbNaLXY/bFtTsByHAN6bWdR6IrwsA3JFJ3xHLAgiSi93SgC4IO6Cg+wHD6IrBYEEVFaJtiXzP/aDROugGBhK34U4x1Bd1a9qrpKcSZZPbU+lla0NA3BkaZhGwL86/JxpUZiSv4+tVy9n7dgBACSZL40cgfMSNpBkEtyK+2/orC5sKobHf8+PFY8iNBTIkiEZuwRWW9EPEMiKpEqIhUkySzEsnRP16bLxsSUJHINfsY2s0LtSzCzG7+AICNthNJGzm1V62Wo8lgiRXoLoMxtqAyYOanW8ZQ7LWQag7y6IQd5Fl7XztEItJCOWfHvzF7KtEMViqGLcZ00o1g6nnHxMrGSL5hgj0Vcz90XuxMFAhF4M+LnJOWfdEtj64LgoMcrb+AZLdjODXSajj8dtcL/8SKsGso3vxIMKRz09+6tazTYuCKgyWN//FNJd7QwCpp3BmW+EhcQc7EeBCwY1ktG96uQg1pKLLCXWPvYqxjLJ6wh/s330+VPzoFfQoDhQCMdoxu9Rr0FhFWoCQDKlraGtciJTdEZd1HozxgYoc34mY9OaGh28MTY33f4NTq8cjxbLCf2Dq9J62Wo8mxJgI6YzCJgtqgiTu2jmGfx0qSKcSjE3YyzO45+oJdwOyvI2fXqySUf43QNAzDZmM55xfIyT17wveHPLh9kc6wSfH900uhI1Hgz/YjTAK5WcZUGb2AQjjOBUF3mwwZzj0HAHXVarSKgR10B996CeyFH2M86O7qKhdOSCIj3ki1J8w/11T3kYXRRzFITDwrhfGLkpFkKNvezFf/KsXbGMKiWPjFhF+Qa8ulLljHLzb9gsZg53n8RUVF7V4d0SII8s35QMRr0FNhIASIOifsGgoNTkBEPAMZ/fMbHFqEaKytmfRuBnwZtADTPZE4m7X2hYSl9hesWIiC40UMtDCYREFDyMidW8ewy23HaQzz+/E7GRUXHU+YJDRKP3iawHu/QWuuQ3ZmYD77PozTLwKl+2Pvtc2R635SXP+V3j50CEEg8I6KeFGs+6xRD2A+LgVBT1MG5bw85GnTQNMIv/lmH1gWXUKJI/EOPQMA1/onurWs2SDzk/kRFfz65poBnYZ4OJIkkT/NyazLMjHZZJoqg6x47gA1RT7ijfE8NPEhUswplPpKeXDLg/jC3/YBONrN/3A0oVEciLgS8y35bT7rrjAQHivszocDGaAqYPHD8CKk5K53sOwt+/xWSgIWFATzXQ3dXn6S7ytsoplGJZEdlumdztef3oLjTQy0MJhEgTts4K5to9jaFEe8QeWRcTsZG++O2vq16n3437qf8J5VSLKMceJiLOc+0G1vQYM3IswzXf2fQrtp0yaCGUFCqSEIg2139IYnWziuBEE0agcYv/MdAMIffoRwR++A7SsaJt+CkBRsB5ZjrlzfrWVn58Vz4hAHqoA/flmGNsCDKQ8nKdfK/KuzcaabCPo0vn65jP1rGkgyJ/HQxIeIN8RT4C5gybYlhLRQl0XAoVSGKvELPybJRIax46eGo4kCocqI0jTYmxfpTyCrkFEFIwqRbP0nxDQBnze4AJgW34SzmyWRzZqHyd4vAfjafhpaFwq49LUwOF7FQAuDSRR4VQN3bxvFpsZ47AaN347bxURH57UvukIbl3vQQ/DLvxH45P8hvI3ICVnd9hZUHYwjsFucvbKrR0hQNTIyzGnbbUPxRb9b6DEvCLo7LHA05KlTkIYMAb+f8PvvR2WdfUnYmUfziEhdAte6/9et6oUAP56XjtUgs6XCy9vb6vrCxD7F6jQy54osssbFIQRs+6SWTe9Vk2XN5oGJD2CWzayvX8/D6x7uUYnjluGCXHMu8hHKpnYmCkSTHQqGQO3BYkYJDTB6H1JKXb+kFh7KpuY4akMmLLLKLGf3SyJP9X6JWQSoMWSwxzyxW8v2hTA43sVAC4NJFPg1hXu3j2RdgwOrorFk3C4WpNREdRtq8QZ8b9zbI2+BNxh5CIy39G8nVQDrXCvGHCOaT6Pote4/vHSFY1YQ9FUlQUmSvvUSvPU/RGjg1f0/nMbJNyIUE5bK9VhKv+rWsqlxJq6fGQlse3JVBYV1g2fooAXFKDP5nFTGLkxCkuDAFjfr36pkiGE4d4+7GxmZNZ41vFn3ZrdTSlsEQZ756F3QDhUFIqwgijKhMAdCRjAFYUgxUk5Fnzcr6givKrO80QXAXGcjli4UIToUm9rEBO9KAL62L4Ju1pRvIVqiQBcDbRlMoiCgKdy/YyQrahMwyYK7R+7jypwDEJWehgdp4y1o6LK3oKKxEIA0Z270bOkCSqpC3BlxADS/14zWrPVJF8VjShBE2xvQGcrJJyElJSHq6lA//7xPtxUNVHs67tHfBSDhmz+A2j0Rc+GEJE7IiSMQFjz0yQEC4f5pFhRNJEli6AwXUy9IAylSxGjVy2U4K5O5IvkKAJY1LeOTxk+6td6iQESptwQUHo1x48Yh6uMjQYONDkBASi2M3I8U37/tmg/lywYXfk0hxRhkSlz3h8Kme5dhIEy5MY8iU+9u6r31FuhioGMGkygIajIP7RzOqwciw3BX5Zbx4Ojd3Sp13JWbZcRbcB/hPSvbegtSOo4RaPJF4nmspjiULnaT7S2STcJ1jQvZLBPcE8T3ja/N59EUBYNaEBwqAPqznLBkNGI47zwAQq+9jtAG/g2ycdKNqJZETI37cGz7Z7eWlSWJuxdk4bIo7K318+gXZQO+OFNnZIyKY+YlGZhsMu6qILvfV5kYmsEFiZFhlbfq3+Jr99ddWpdf83MgeACAoeajBxmFfILiFRqUZB0SNFiIlFGN1M0n8mhSHjCx2RN5+jgtoa7bRYgc4VrG+CKNv1bbTydaYx09EQa6GDgyg0kUCCT+UZTDY3vyCWoSc5Ia+NvkLcxLqiP63oK/E1j6p2+9BYvvxTj94nbeAl+wGX8oItzzksdEz4ZOkEwSrqtdGJINqHUqDS82dPjVo+UtGFSCoKqqKiYCoCMMZy8Gmw1RXIy6um/K4UYTzeygfsadADg3/g2D+0C3lk+yGbnv1BwUCT4qaODF9YMnFfFwUobayDtZwuICLQT7PlGZXL6AhY6FALxc+zK7fbuPup7CQCECQaIhEZfBdcR5G4o0Ct5VaSoRkcopadUHgwZ7X7K1N2gCltYnAhLj7M1kW7pvzwmeT1DQKDKNpNwU/SpuXRUGuhjoGoNJFAB8UJnKjzaNY5/HSoIpzC9H7+GPE3YwI6EBOYrCQC3ZeJi34Cws5z2EnHZoMyOBJxCJr4lG18MjIcfJuG5wYRpiQvNpNDzXgPAc+fv2VhgMKkEwkJDsdgznngtA+OVXBsUTs2foYvzpJyCrfhJXPdztAMMTcuK4dV7EhfePb6pYtqf7gWcDBYtLYuhpCrZk0MJQvl5j+q5zGWeaQEiEeLryaUqDpUdcR00oEuyUaey8SEnYLyj8XKXkKw0tBNZEGH6GwoSFGf0eNNgRm5vjqAiaMUkaJ7u6n96YEK5kZCByAfrGvija5rXhSMJAFwPdY7CJgv1eGz/aNI6XSjLxqzLjHc38ZmwB/525nt+P38EPhhRxdnoV85LqGBXXjNMQokdehMO9Ba4MLIvvwTj7SjBGqhPWHaxF4LQlR/EbtsU00kTibYmY8iNioP5v9YQrul6yvEUYtLy2bNnSpeV6JAiefPJJhgwZgsViYdq0aSxfvrxLy3311VcYDAYmT57ck80OOIwXnA9mM1pBAdqGDbE25+hIErVz7kPIRqylK7Dve6/bqzh/fBIXT0wC4DefHuDLfYNPFLSkFypGiaGnKqSOj9yZGwvhjILrGG0Yi1/4+UvFX1pv+h3RoDYA4FAcHX5es0tj19sq7rLIhSlplMSwRQrWhAGgBAB3WOHLg4GE85wN2JXuD32d4PkUCcE+8ziqjVlRtrBjBkoZZJ3+JSRkni/O5ur1E3mzLI2GkIE4g8pkp5sLMyv5ybBCfjl6D3+etJ3/zNzAvuuDLP9ukPcuDPL7k0L8bEaYS0epnJKjMSJBw6wIOhMNEW/BPYR3fQ6AccwCrN9ZgmHcItz+BgBspvjefykjKCkKxjwjptEmrLOsJNyUQMINCShOhXBlmLon6ggf6Pv+JQDdjop49dVXue2223jyySeZO3cuf/3rXznzzDPZvn07ubmdR142NjZy1VVXsXDhwpi7+6OF5HJhOPMMwm/9j9Arr6JMnRprk45K2DmEhsk3k7D+CRK+fgRf5mw0a1K31vGD2enUesMs29PIAx+XcM9CwakjXH1jcB8jyRJpExWsiRrFX2l4yiVObbqR8Ni/sYftPFHxBLdn3I7T0D7veL9/PwBZ5rY3wmCzoPgrFd/BDsVmJ+TOVbC42gqB8ePHs3VrdBotdRch4L3aJPyaQpopwNQeFIFJCpUxPLAFgcQ39lP7wMrOaREFu3bt6tft6sSe2qCJJ/fn8dfCHPJtPobavAyL85JhDuA0hkkzB0g2h4gzwajEyA3/hPSOb/y+MFR5ocorccAtUeKWCGvgDkKNr5nm8meprv8UbcJ51NqHos08g+pAItsaq6jxVSA7ZNAi7n0toGFINiDZJGSbjGSNnO+KS0EyS0hmCdksR0RAvILskJEMHT8ciLDAu8qL50MPIth/3mdJdNPXPXPmTKZOncpTTz3VOm3MmDGcf/75LFmypNPlvvvd7zJixAgUReGtt95i48aNXd5mU1MTTqeTLVu2EB8fBVUWRbSqavxXXw2qivmPj6GMHRtrk46OFiLjne9hqtuJL2seVaf9udtpYqom+N3npXy4qwEJ+NkpWZw5uv9zc7vLkYoPeaoFJStVQh6QTYIVw/7DZtcKMowZ3JZxG3FKHCee+G1t/nkvzqNRbeSuzLvIM+chNEHtbkHVFg01CEiQNlEmZayE1Mn4QKwEwddNDr5oSMAoaXw/vZxEY/efQBY3PEdesIAC8yQ+cX63D6zsGrfcckvMtj3YOe2002JtQp9glDQaCjeRbodkq2B0oiDRIhjqEiRaYIhTYDf2bN0LA79nr8hCCnxB3OQPem2r5tPQvBrCK9B8GqF9IXzrfWj10QtW1zSN2tpaGhsbcTg69mhCNz0EwWCQdevW8fOf/7zN9EWLFrFy5cpOl3vuuefYu3cvL774Ir/+9a+Pup1AIEAg8G1wU1NT76pV9SVyagrKqQtRP/o44iV46MFYm3R0ZCM1J/6G9Hcux1q6gvhtL+Ief1W3VqHIEj87JQujIvHO9np++1kpIVVw7sHWyYMRe0rEpV/4mYq/QWLOjotIzsjhs7xXeLLiSW7NuJUvv/ySE088kY8//5hGNTJckqyk4KkSlK1VOehNxJoIufMUTHEDY3jgUEoDJpYfrEi4IKG+R2IgM7iPvGABKjLf2GN3U9HFQO9YunTpMSkKQkJmT4PMnoaOP5cQxJkgwQxpdkGaTZDrEKTbwSAJnGZIsgpSbZDnEKga2I0gS6AdHGnX6ooRqkBSJERQIJkk1HoVtU6N3ODDAtkkEyoPIXwCETj4Cgk0r4ZapyKCAuEbOPFn3RIENTU1qKpKWlpam+lpaWlUdNLsZ/fu3fz85z9n+fLlGAxd29ySJUt48MFBcGM9iPGSS1A/Xor29deoBQUoI0fG2qSjEkoYQf2Mu0ha9SsS1j1OIG0qwZTuNeSRJYk7TszEpMj8d0stj35ZRq03xNXTUzt9Ih7oGK0Sw05XKP1Go2E/jCyfhawa+GzIyywpXYJDcfDoK48SFpGbaKY/n6rlZprLI8WEJAVSx8kkj5aQO3EHHkp/DxuUB0y8XpWGhsRIq4eJ9h40kREac5ojVTq3W2fQZOjekFO00MVAdDhWRcGREEi4g5GhgWJ3965Vl1oe4majiQ+CAd7/4JCsHCMw8OvUHZEeBRUefrFv6Tl/OKqqcvnll/Pggw8yshs3ybvvvpvGxsbWV0lJSU/M7Dfk7GyUBQsACD3/fGyN6QbNoy7Ck38akhYm+Yu7kAPd98RIksSP56a3tkt+fm01v1l2gKA68GszdIasSOTMVsiaGTk9hldN56Itd5JTNBmtLI5QhRlRaWPO/gs4d8NPaS4XSDIkDJMYfZ5C6ni5S2Kgv6kImnitKpWgkMk2+zkrqbZHmQ4jAptJDZcSlMystS+MvqFdQBcD0WWwZR3EklxZYaLRSOLhw6yDXAxANz0EycnJKIrSzhtQVVXVzmsA4Ha7Wbt2LRs2bOBHP/oREBnLEEJgMBj4+OOPWXDwRnooZrMZs9ncHdNijvGqK1G/+AJt3XrUTZtQJk2KtUlHR5KonfNLzDXbMLoPkPTl3VSf+kS34wkkSeKGmWlkxBt57MsylhY0UukO8eszcnFa+qeaV1+QOEzGaIWSVRoJ3gxmFp/T4XyWBMieNXCyBzqiPGDi9epUAkIhy+TnOylVmHpQDEkRIWY1fwTAettJ+OS4aJuqozOgSZYj18fmHvQ+Geh068pvMpmYNm1aOzW5dOlS5syZ025+h8PBli1b2LhxY+vr5ptvZtSoUWzcuJGZM2f2zvoBhJyejuHMSKvh0HPPD4q6BADC7KBqwR/RFDO2A8txbnzq6At1wtljE/nd2fnYTTKby73c8sY+DjTEtvBOb4nPlBlxlkL6ZBlnnoQ1KSIALAmROIGsmTIjzjQMaDGwzWPn35Xp+DWFDFOAi1KrMPewMuIE70ritQaaZSebbXOjbKmOzsAnpVUQDI5rfHfo9uPb7bffzpVXXsn06dOZPXs2f/vb3yguLubmm28GIu7+0tJSXnjhBWRZbtflLTU1FYvF0q0+8YMF42WXEf54KdqOHahff41h1qxYm9QlQkljqJvzC5KX34dr418JJYzAm9+zIjPTs+P4ywVD+fn7RRxoDHLzG/u4e0EWc/M7j2wd6BitEiljB+4NvzMi7YwTWOuO7PthVi9nJ9X0WAxYNA/TvJ8BkQZGYckUNVu7gz5c0Dccj7EEPaFFEPiOQUHQ7RiCSy+9lMcff5yHHnqIyZMn8+WXX/L++++Tlxfp9lZeXk5xcXHUDR0MSElJ3/Y4eP75QdHjoAXP8HNpGvs9AJK+vA9TzbYer2tIooWnLhzG2FQr7oDKPR8U8+evygdlU6TBijus8HpVaqsYmO1o4MLk6h6LAYA5ze9jFgGqDRnsskyOkqXdQxcDfYseS3Bk7JKE46AgWD8IOt12l27XIYgFA7kOweGIJje+q68GjwfTz36GYcEpsTap62gqqZ/8GGvpCsLWFCoWv4Aa3/PqcyFV46+rK3l9c6RCT5bDxK3zMpiZGxezLIQj1SGIFdHMMlAFbGyOZ3mDi6CQMUoaZyXVMsrWu06Ko3zrWOj+DxoS/3Pd0Cc9C46GLgb6j2PFUxDt9sBDFIXnnS6aNI1zGrpf6jtWdLUOgd7LIMpIjniMF10EQOiFFxDh/ik5GRVkheqTf0fQNRyDr5q0j25A8Vb1eHVGReZHczN4+MxcUuwGSpuC/Oz9In745j5WFbnRBr4WHTQIAbu9Vp4rz+TT+kSCQibTFODKtIpei4GM4H5Odr8JwFr7wpiIAR2dgUBLZkHNIPL+dgddEPQBhgvOB5cLUV5O+KOPYm1OtxCmOKpOf5pQfDZG9wFSP7oJ2d87JTw338EL3x3BJZOSMCkS2yp9/Pz9Ii57qYDn1lRS3hSMkvXHF0JEUglXNjp5tiKDN2tSqQsbscoqpyXU8r20CpJNvXNrOsM1nNn4LxRU9prHs9Y2iDxeOjpRJuFgb/D6Y/RhRhcEfYBktWK8LFLKNfzSvxGBwRVpr9pSqTr9b4RtqZga9pL68c29FgU2k8IP52TwyhUj+e6kZOwmmQp3iOfXVvPdlwq49rU9PL2qgvUHmvGFjk313Vs0ATUhI1ua7bxfm8STpdm8UJHBikYXtSETRkljpqORGzNLmRLf3Otuija1icWNz2MRPioN2XzquLjbKak6OrFkUpTTvxMOHv8Nx6iHYPAmiQ9wDGedRfiNNxCVVYTffgfjxRfF2qRuEY7PpvL0v5P+wdWYa3eQ/t5VVC16inB8dq/Wm2Qz8oM56Vw7I5Uv9zXxwa561h/wsLfWz95aPy9vrEGWID/BzOhUK/kJFjKdJrIcJjIdJizG4+OGJAS4VYWKoInyoJnygJmKoImgaPv9jZJGvsXPUKuP0TZPr4IGD8WmNnFew99xqbU0yQm877oqZlkFOjoDhYSDAYV1x2ANAtAFQZ8hmUwYr7iC4KOPEXrlFQynL0I6QjDHQCTsGkLFmc+R9vEPMDYVkf7uFVSd+udulzjuCLNB5rSRLk4b6aLBF2btgWa+KW5m7YFmar1h9tUF2FfX3rOSaDXgtCq4LN++W4wyJkXCpEgYFRmjImFUJEyyhCxLHPqgXFsbav1fkmj922mWGOZSMMj9F+yoaoI6v6DIb6EhbKAxbKDh4KsxbMCnKe2WMUoaaaYgmaYAQ6x+ss1+lCibHBED/yBBrcEtu/hfwg345IEdzKuj0xmTJk2KWnCh/aDbzXOMDhnogqAPURYuRHrjTcT+/YSeex7TT26NtUndJuwaSsXZ/yJ16Q8x1e0i/YOrqZt1D80jL4zaNlxWA6eOcLW2UK5uDrGr2seuah8HGoOUNgYpbQzQHNSo84Wp84WB6A/DWA2QYJHJjpMZnqAwMkEh1yH3SCRoQuALgyckcAcFNT6NKq9GjVdQ5dWo9mnU+ASaAGhf5RMiDVhSjCEyzAEyTEEyTAGSjCH6UrM4wjWc0/AcTq0Ot+zkrYQbcCsDv4uljk5/kKNERHqtPmSg010kRcH0wx8SuPNOwh98gHLmGYOi8dHhqLZUKs58juQvfo7twJckffUA5qpN1M26G2GwRH17KXFGUuKMzBvyrUdFCEFTQKWqOUSDT6XRH25994c1QqogqApCqiCkfvu/JgStWl6Az++P/C9ARN5AQGmzRnNI4GvWKGvW+KYikh1iUmCYUyHZJoEAjYg7XxAZ02/5O6AKmoMCT0jQHBJ4Q9CVZwijDMlWGavqwWkI4TKEcRnCOA1hEgxhjFEaAugKyaFSzm54HptoplFO5J2E63Arg7d7pY5OC9HyEuQeFAQFgyl7rBvodQj6gcAjj6Au+wx59GjMf3wMSR6k4+BCw7H5GVwb/oIkNIIJI6k58WFCiYNH5HRWhyCoCkrcGt6QYH+jyu569f+3d+fhUVX3/8Dfd5s1MxNCFsIWFpFIgpFFScCyKCBUFH72K9BSRKVU3Aq1/WmoXwVsi1qrFq0o8AjYVjQuYFsBLSooNaAYooBAAGWTbCQkmSWZ5d57vn9MMjBkIZNMcmcmn9fzzHNnzpyZOSc3yX3Puefei+PVClztPPeIXgDMEofuRh7JJg5JRh5Jpvr7Jh7xeg48x3XqFQ+b0sdzFDfZN0JXf+Kh9213oU6InL81OgdB54uVcxFcrD2hwAjg/W4JEDkOP6mqQkUUzSNo7XkIKBB0ArWyEu75vwDq6qBbtAjij6dq3aR2MRTvQeKnj0BwV4HxEqpGLIIj4+dRMQM9lBMTqYyhxKnieLUCh5eBg/9CTv6l/9roHPw3vcjBLHEwS0CcxMGs42AW/XMZWkOzQMAYrq7Lx2jnVvBQ8YM0ANtsc+Hjwz/y01YUBrRDoeCCDFHEKqsN5aqC26urw9uoDtbaQEC7DDoB3707pDvmwrd6DbyvvgphdA64+Hitm9Vm7p7ZKJ6xCd3/uxSmHz5Dwt4/w/jDZ6i8/g9Q4npo3byw4TkOvSwCelkaT+6LBZLqxgTHJlzhOQAAOGIYjp2W/weVo38LJHa1dfdBcv3IbqUa8d+h2yzyv9LFCHH6dHADBwJOJ7xr1mrdnHZTjd1xbuKLqMx5DKpogLHkS/T8509gPv5v/451EtFSfKdxe9VfcYXnABTw+G/czfjE8j8UBkiX0JbzE2SI/r+Nb+XYu4ZBAwoEnYQTBOh+9SuA46B8/DGUr7/Wukntx3Fwpt+OklvfgicxE7zXgcRdjyL5P/dCtJ/RunWkCSLzYrRjC26regXxSiWcvA3vdfsl9puuR7vPZERIFAk1FKTUjxCcUZSOaE5EoEDQiYT0wRCn3QwA8D77HJjTqXGLwkO29UPpzX9D1fAHwQQdjMX5SH3vNtj2vQTO69C6eQQAGMMA90HMqvwLrqn7LzgwFBmGIS/hQZRJaVq3jhBNhBIK+gv+EYLiGD3kEKBA0Omku+8Gl5oKVl4O78oXEAVzOluHF2HPWoDi6e+iLvU68IoH8d+sRq+3pyK+4EUIrlKtW9g1MYZe3uOYXr0WU+yvw6ZWwcnb8L5tHj62zoSHN2vdQkI0lZWVddlgIABIrR8h+F6O3REC2mHYyTiTCbrcXHgeegjKZ59BuXYkxMmTtW5W2Mi2NJTftBamU9th27cKuprvYdu/FtYD61DXZyxc/Sajru94MIk2RB1JYD709xxGVu0upMg/AABkiCg0jUWheRydhpiQSzSEgqYmHKbwPESOg4+xmD1tMUCBQBNC+mD/UQfrN8D70irwGRnge/XSulnhw3Go7TcZtX1vhOn0J7AcfgOG0q9gOr0DptM7wAQd3CnD4U7NhrvnKHgT0gE+Nmfydyaj6kAv7/fo4z2GAZ5voWduAIAPEg4bR+Jr01g4hXhtG0lIhLt4tKAhHFwjSgCAIllG7MYBCgSaEW+/HUrBPqj798P71FPQP/ccOEnSulnhxQuo7TcJtf0mQao6BvP3H8B08j+Q7KdgLN4DY/EeoABQRQN83a6Et3s6vAn+m2ztA1VnpYluTeCZDItSjW5KORLlYiT6SpAoF8OqVgfVc/DxOGIYjgOmHLj5OG0aS0gUy8rKAhjD/5SfA7xefOmL3SMMAAoEmuEEAbqH/z/cC++FevQYfK/9DbpfzNe6WR3G120QqkcMQvXwByDVfA9D8R4Yir+AofQr8D4n9Of2Q39uf9BrVCkOclxPyJZekE0pUA3xUAwJUPXxUA3xUEUjmKAHE/VggqF+6b9dOEkSFzWhgmcydMwNneqBgdXCpDpgVh0wKXaYVQesynlYlfOIU6vBN3Ni5HNiKs5KA3FSfxWKpX5RcbIoQiLZELcbA71eyABODByILDF4NDNcF06KBBQINMQnJUH30K/hfeL3kN9+G8LwYRCGD9e6WR2L4+CLHwhf/EA4hswBVAWi4zR0lYehqzwC3fkj0FUdg1BXCd7nhK7qKHRVR8P28X04Eaqgh8pLUDkRjJegCHooghkqL4BxIlRegiIYoQgGME4A4wSA4+vv8/U34aKlAA4MYCo4poALLJVGj3nFA1GuhaDU+peyfzna54SI1p8f3QcJNWIiKsTU+ltPVIip8PLGsP2sCOnqTIqCmVXVAICdljjUiI13bV46ITGaAwIFAo2JY8ZA/fGPIW/dCu8zf4bhlZfB2WxaN6vz8AJkW3/Itv6oHfDjQDEn10FwlkB0nIXoPAux9hx4TzV4dxWE+iUnu8EpHvCKB5ziAad4L/9xTAYf4Rcm8XE6eDgjXLwFtfU3l2CBg09AjZAAu5CAWt4SNSMfhEQjjjHMPV+FBEVBuSjiP628fH00BwQKBBFAuueXUA4cADtzBt7nnodu2VJwXfyfPRONkOMHQI4fEMKL1AvBIDATmF04cyJjKD5zArziBc984FQZvOqDoLghKHXgVNn/LV71QlRq/UEj8A3f/y0fzXz7B8eBoX7EgBcajSAwTgDAQxF0UEQzZMEERTRBFuuXghkHj52Cl9OD0TA/IZriGMNPz1chw+2GD8D67glwt/GidNEUECgQRADOYIB+SS7cixZD2bMH8vtbIN0yTetmRR+OBxONYGLzw+Yeg6sTGxQaD1+udRMI6fIExvCz81W4trYWCoDXunfHWV34DtNt6iiGSEGBIELwAwdCuvtu+Favhm/NGgiZGeD799e6WYQQ0mVYFAV3Vp7HII8HCoC/JyRgv6nj5uVE2ugBjU1GEHHGdPAjRwJeLzxLl4JVVWndJEII6RIy6+qQW1qGQR4P3ByHV5ISsc9s6tQ2tOasiR2JAkEE4Xge+kceBterF1hZOTzLloN5PFo3ixDSBU2aNEnrJnSKbrKM+RUV+GVFJSyqirOShGdTklFkMGjWJq1CAQWCCMNZrdD//gnAYoF65Ai8zzwDFsMX0yDkclatWqV1E7qcrhAGdKqKyTV2/K60DFl1bigAPrLE4dmUZJRFwEnitBgtoEAQgfhevaBf+jggilB2/Re+DRu0bhIhmqJQQMJFZAzjHQ4sLSnFNLsdesbwnU6HP6Wk4F/x8ZAj7AivzgwFFAgilDB0KHSLFwMA5Ly3IH/4obYNIoSQKCYyhuudTjxWUorbqmtgUVWcEwW8lpCAlclJKNFpPyrQnM4KBXSUQQQTJ02EWlwMeeNGeFe+AC4xEcKIEVo3ixBCooZRVXG904lxDies9btfqwQBH1gt+MJshhphIwJaohGCCCfdMRfC+PGAosCz/Ako336rdZMIISTiWRUFt1ZXY3lxCW6pscOqqjgvCHgn3obfp/bA7ri4qAoDnTFKQCMEEY7jOOh+8xA8DgfUggJ4Hnschj89Df6KK7RuGiGERJxknw83Ohy41lUb2MAVSyI+tlhQYDJFVQi4VFZWVoeeq4BGCKIAp9NB//hj4DMzAZcL7t89CvXYMa2bRQghkYExDPB4cHdFJX5XWoac+jDwnU6HVxK746mUFOyNkd0DHTlSQCMEUYIzGKB/Yjk8ublQjx6D++FHoF+6FMI12p3EghBCtCQwhmG1tRjvcKKvzxcoP2Aw4COrBSf0eg1bF31ohCCKcGYz9E89Bf7qq4HaWnj+938hf/651s0ihMSQaDgHQZyi4KYaO5YVl+CO81Xo6/PBywH5ZjNW9EjB2qTEmA4DHTVKQIEgynBmM/R//AOEMaMBnw/eP/wR8rZtWjeLkA5H5yLoeJEeBlK9Pvz0/HksLy7BzXY7bKqKGp7Hv21WLE1NxZsJ3VAaAScVilZtCgSrVq1C//79YTAYMGLECOzatavZups2bcKkSZOQlJQEq9WKnJwcfEjH1LcLp9NB9+ijEKZMAVQV3r+shC8vD6zhMr+ExCgKBR0nYsMAY7jS7cY95yqwpMw/P0ACcEqS8FpCApb1TMV2qxUuQdC6pZ2qI0YJQg4EeXl5WLx4MR599FEUFhbiRz/6EaZOnYrTp083Wf+zzz7DpEmTsHXrVhQUFGDChAm45ZZbUFhY2O7Gd2WcIEC3eBHEWbMAAL516+Fbs5ZOc0xiHoWCrkGnqhjtdCK3tAwPnKtAhtsNFUCh0Yjnk5PwbEoyCswmKDEwUTBScCzEr5WjRo3C8OHD8fLLLwfKrrrqKsyYMQNPPvlkq94jIyMDs2bNwuOPP96q+na7HTabDQcOHIDFYgmluV2Cb9Mm+FavAQAIEydC9+vF4ESaL9qUU6dOad2EZh08eFDrJkSN++67T+smxJxIGSFIkGX8yOlEjtMFU/3mycNx+NJswo44Cyok+t92sdYchqiqKiorK1FTUwOr1dpsvZB+sl6vFwUFBcjNzQ0qnzx5MvLz81v1HqqqwuFwICEhIZSPJi2QbrsNnNUK77PPQfnoI3gqK6FfkgvOZtO6aSQEmZmZFApI18QYBnk8GOt0YmidOzB0XSEI+MwShz1mM9w8TXnraCH9hCsqKqAoClJSUoLKU1JSUFpa2qr3ePbZZ+FyuTBz5sxm63g8Htjt9qAbaZk4cSL0y5YCej3UwkK4H3gQSlGR1s0ipEPQboPw0mp0QFIZcpwuPFJWjgfPVSCrPgwc0euxOrE7fp/aAzstFgoDLQjnXII2/ZS5S/bZMMYalTXljTfewLJly5CXl4fk5ORm6z355JOw2WyBW58+fdrSzC5HGDUKhhdWguvdC6y8HJ7f/Ba+LVtosiGJSRQKwkOLMGBSFEypsWN5SQl+WlWFXj4fPByHXfWHDa5KTsK3RiMYzQ/oVCEFgsTERAiC0Gg0oLy8vNGowaXy8vIwf/58vPXWW5g4cWKLdZcsWYKamprA7cyZM6E0s0vj+/WD4YUXAocl+l54Ed4/rgCjURYSgygUtE9nh4FusozbqqqxvKQUP7bbEaeqqBQEbI634fGeqXibDhtsk3CNEoQUCHQ6HUaMGIHt27cHlW/fvh2jR49u9nVvvPEG7rzzTmzcuBE333zzZT9Hr9fDarUG3UjrcWYzdI89Bmn+fIDnoezaBfc9C6Hs3at10wgJOwoFbdOZYSBBljH7fBUeLynFeKcTesZwRpKwoXsCfp/aAzssFtTRbgHNhTxd86GHHsLcuXMxcuRI5OTkYM2aNTh9+jQWLlwIwP/t/uzZs/jb3/4GwB8G7rjjDqxcuRLZ2dmB0QWj0QgbTXrrMBzHQZp5O/hrsuD90zNgZ87A87+PQbz5Zki/XADOYNC6iYSQGNdNljHZ7kC2y4WGswQU6fX4yGpBkV4P0C6BiBJyIJg1axYqKyvxxBNPoKSkBJmZmdi6dSvS0tIAACUlJUHnJFi9ejVkWcb999+P+++/P1A+b948bNiwof09IC0SrrwShpf+Ct+69ZDfew/yli1QvtoL6b77IGZna908QkgMaggCo1yuwEbmiF6PbTZrTJ9SWEvhuBJiyOch0AKdhyA8lMJCeJ97Hqy8HAAgZGdDuu9e8JeZ/xFLIvk8BACdi6A96NwErddRuwu6yTIm1Y8INASBovog8D0FgQ7XXCBo7XkIaKdNFyIMGwbD2jUQZ84EBAHKnj1wL/glfHlvgV10pTBCohHNJWidjggD8bKM289X4bGSUlxfHwaK9Hr8JTkJLyUnURiIEjRC0EWpp07B+9e/Qt1/AADApaZCuvNOCOPGtuoQ0mhFIwSxj0YKmhfuMGCTFUxy2DHaeWFE4Khej21WK74zUAjQQlOjBK0dIaBA0IUxxqB89DF869aBnT8PAOCvvBLSgl9AuPpqjVsXfpEeBgAKBOFCoaCxcIYBm6xgosOOMRcFgWN6HbZZrThOE5Y1RYGAtAtzuyG/+y58b78D1NUBAPhrroH009ngs7JiZsSAAkHXQqHggnCFAauiYJLdgdFOJxrOFnBcr8NWCgIRgwIBCQtWVQXf669D3roNUBQAAJ+eDnH2LAijRoGL8uOEKRB0PRQKwhMGrIqCiXYHxlwSBLZZrThGhw9GnEtDAQUC0mZqWRnkd96F/MEHgNcLAOD69YM0ayaEsWOj9kqKFAi6pq4cCtobBhqCwGiXE7r6LcV3Oh222igIRDIKBCTsWFUVfJs3Q/73+0BtLQCAS0yEeMs0iFOnRt3VFCkQdF1dMRS0JwxYFQU32h0Yc0kQ2Gaz4igFgYhHgYB0GOZ0Qv7Xv+D757+A6mp/oU4H4YYJkGbMAN+/v6btay0KBF1bVwoFbQ0DloZdAxcFge/rRwQoCESXi0MBBQISdszrhfLpZ/C99x7Y8eOBcj4rC+KMGRBGXQdOEFp4B21RICANYjEctGdEwFI/InC9ywVd/SbhRH0QoFMMRycKBKRTMMagfvst5Pfeg/J5PqCq/ie6dYM4YTyE8ePBX3FFxIUDCgTkYrEUCtoaBpJ9PoxxujDmkiCwzWbFEQoCUY0CAel0ank55H+/D/nDD4GamgtPWCwQsrLAD7oCXFoa+NRUcCkp4IxGzdpKgaAZqgpeUcArCjhV9d8YC16qKjiVgWPBS4ABDAAYOAC4+N8JA7iLnvfjAA6B69z7lxzAcWAc6pf1GyGOAwPAeB5MEKDyPFRBgCpK8BkNYdlYxUIoCDUMxCkKrq6rw7WuWgysnzQMACd1/sMHjxgoCMQCCgREM0yWoXz1FZSPPoZSUBCYhNhIXBw4mw2c1QrOZgWsNnA2KzirDVycGTAYAIMBnL5+aTAABv1F9w1tHnmI2EDAGKCogKLg8MED4BUVnKqAb9gQKyp41b+xbtho84oCXpYh+HyBpdCw9PkgeH0QvF6IPv9S8Pn8r63f8AcCgKKAj/x/AY2oPA+3xYLahASc79MHlf37wd3GSa7RHApaGwY4xjDI48GNDgeudHsCVx5UAXxrMOC/cXE4TEEg5jSEAgoERDNMUaAWFUE9cADqyZNQT50GKysDnM7wfIAkATodIIqAwIMTxMB9CCIgCOBEAQAH8DzAAeB4eDweMP7CN1L/zf8cgEBZwzdUjjH/xpoxgKmA6r/PXVoGBO4Hv4b5d6c0vEb1b/Q5RbmwlGX/MoKoHOf/Vs7zYBfdR8P9i5YAAt/kgzYmXGDMIFAngLELIwcNPxsgsGxUpqr+cKT4QxIvy2hqs3W+b19U9ktDVe/ecHXvHtLGLRpDQWvCgElRMN7pRI7TBVvDrj0ApyUJhSYT9ppNsEfYrj0SPhQISMRiLhdYZSVYjR3MXgPUL1mNHaymBnC5wNxuwOP2L90eMI9/Cbf7wlyFLkDlODBBAON5qPVD5oH7DUPnkgRFFKFIIlRRgiKJUEQJiiRB0UlQJB1knQRFp4MiSf7X1N/YRfcvftyw4Y9knKJA73LBYLfDWlaGhJOnEH/2bFBIsKck43zfvrCn9IDXbIIzKcnft1aI1HDQqtEAxtDL58MQtxsZdW7083oDV7Bz8RwKjSZ8YrGgQorOc4mQ0FAgIDGJMQb4fIDbDeb2AF4PIMuAooIpsv/MirL/mzcU2f8cAxhT67+JqjhXXl7/zb1+33ZgH/jFN39djuHCxpHnLho9aFwGruHbc+My8PUjDg1lggAmCv6lIACi6F/WP/62qCgqNsqRxlBdg+TjxxB/9iy6nfkB/CXh0WMyoWzwYJRelQ5XYmKL71VUVISVK1d2ZHNDdrkwYFJUDPB6ML26BimyHPTcWUnCf6wW7DcaodDvVZdCgYCQZkTsHIKL0FEG7adzOtH9lH/UwFx5Hga7HZLHE3jeazCgqm9flA2+Eo7kZHjN5qDXFxUVXfYzwh0YFi1aFPT40KFDLdbnGYNFUTHI40aa14sclytw3gAvx6FIr8e3RgMOGwyoitIzi5Lw+Oabb1odCOg3hRASU7xxcSjJyEBJRgYA/y6GhFOn0OPwESSeOAGd242Uo0eRcvQoAMBjNsOZlAhn90ScrKtDL5MRDqMRToMBajO7GRYtWhS2UHBpGGiKwBgSZRlX19XhCo8HAz3ewGGCDVw8j28NBmyKj0etEN3XHSHaoEBACIlpTBBQOWAAKgcMgOD1wlxZiR6HDyO+uASmqiroXS7oXS50P3kKaRe9TgXgMhjgMBrhMDYs/UHBJwhYfvfdyF2ypOkPbW5o/pLyFStWIB6AwedDN6cLlro6GL1eTPF6gZoamFUFZkWFqZmB3DOShJM6HX7Q6fCF2QSVdgmQdqBAQAjpMhSdDvbUVNhTUwEAvM+HuIoKWMrPwXT+PNSSEsTV1cFaVwdRVWFxu2Fxu4Gqpt/v+1tubVd7ZodQ18NxOK3TodBoxEm9DiWSRHMCSFhRICCEdFmqJAUFhMD8AcZg9HphqQ8Hlvqbta4ORo8XkiJDau5w0TbMyvKJAqrNcagxmVCnk1Cn0+NYWRmcAg8n77/VXXyoJyGtlJWVhcLCwlbVpUBACCGX4jjU6fWo0+tRHh+vSRMOOeyafC7pumjmCSGEEEIoEBBCCCGEAgEhhBBCQIGAEEIIiWlDhw5tVT0KBIQQQgihQEAIIYQQCgSEEEIIAQUCQgghhIACASERJTMzU+smEEK6KAoEhBBCCKFAQAghhBAKBIQQQggBBQJCCCGEgAIBIYQQQkCBgBBCCCGgQEAIIYQQUCAghBBCCABR6wa0BmMMAOB0OjVuCYlmLpdL6ya0Sl1dndZN6LI8Ho/WTQiQZVnrJpAY0fC71LAtbU5UBAKHwwEAyMnJ0bglhBBCSHRyOByw2WzNPs+xy0WGCKCqKoqLi2GxWMBxnNbN6RB2ux19+vTBmTNnYLVatW5Oh+oqfaV+xp6u0teu0k+ga/SVMQaHw4GePXuC55ufKRAVIwQ8z6N3795aN6NTWK3WmP2lvFRX6Sv1M/Z0lb52lX4Csd/XlkYGGtCkQkIIIYRQICCEEEIIBYKIodfrsXTpUuj1eq2b0uG6Sl+pn7Gnq/S1q/QT6Fp9vZyomFRICCGEkI5FIwSEEEIIoUBACCGEEAoEhBBCCAEFAkIIIYSAAkGnqaqqwty5c2Gz2WCz2TB37lxUV1e3+BqO45q8PfPMM4E648ePb/T87NmzO7g3LWtLX++8885G/cjOzg6q4/F48OCDDyIxMRFmsxm33norfvjhhw7sSctC7afP58MjjzyCoUOHwmw2o2fPnrjjjjtQXFwcVC8S1umqVavQv39/GAwGjBgxArt27Wqx/qeffooRI0bAYDBgwIABeOWVVxrVeffddzFkyBDo9XoMGTIEmzdv7qjmt1oo/dy0aRMmTZqEpKQkWK1W5OTk4MMPPwyqs2HDhib/Zt1ud0d35bJC6evOnTub7MeRI0eC6kX7Om3q/w7HccjIyAjUieR1GnaMdIopU6awzMxMlp+fz/Lz81lmZiabNm1ai68pKSkJuq1bt45xHMe+++67QJ1x48axBQsWBNWrrq7u6O60qC19nTdvHpsyZUpQPyorK4PqLFy4kPXq1Ytt376d7du3j02YMIFlZWUxWZY7sjvNCrWf1dXVbOLEiSwvL48dOXKE7d69m40aNYqNGDEiqJ7W6/TNN99kkiSxtWvXskOHDrFFixYxs9nMTp061WT977//nplMJrZo0SJ26NAhtnbtWiZJEnvnnXcCdfLz85kgCGzFihXs8OHDbMWKFUwURbZnz57O6lYjofZz0aJF7Omnn2ZffvklO3r0KFuyZAmTJInt27cvUGf9+vXMarU2+tvVWqh93bFjBwPAioqKgvpx8d9aLKzT6urqoP6dOXOGJSQksKVLlwbqROo67QgUCDrBoUOHGICgP5Tdu3czAOzIkSOtfp/p06ezG264Iahs3LhxbNGiReFqaru1ta/z5s1j06dPb/b56upqJkkSe/PNNwNlZ8+eZTzPsw8++CAsbQ9FuNbpl19+yQAE/cPSep1ed911bOHChUFl6enpLDc3t8n6Dz/8MEtPTw8qu+eee1h2dnbg8cyZM9mUKVOC6tx0001s9uzZYWp16ELtZ1OGDBnCli9fHni8fv16ZrPZwtXEsAm1rw2BoKqqqtn3jMV1unnzZsZxHDt58mSgLFLXaUegXQadYPfu3bDZbBg1alSgLDs7GzabDfn5+a16j7KyMmzZsgXz589v9Nzrr7+OxMREZGRk4Le//W3g6pBaaE9fd+7cieTkZFx55ZVYsGABysvLA88VFBTA5/Nh8uTJgbKePXsiMzOz1T/DcArHOgWAmpoacByH+Pj4oHKt1qnX60VBQUHQzxkAJk+e3Gy/du/e3aj+TTfdhK+++go+n6/FOlqsO6Bt/byUqqpwOBxISEgIKnc6nUhLS0Pv3r0xbdo0FBYWhq3dbdGevg4bNgypqam48cYbsWPHjqDnYnGdvvrqq5g4cSLS0tKCyiNtnXaUqLi4UbQrLS1FcnJyo/Lk5GSUlpa26j1ee+01WCwW3HbbbUHlc+bMQf/+/dGjRw8cPHgQS5YswTfffIPt27eHpe2hamtfp06dittvvx1paWk4ceIEHnvsMdxwww0oKCiAXq9HaWkpdDodunXrFvS6lJSUVv8Mwykc69TtdiM3Nxc/+9nPgi6qouU6raiogKIoSElJCSpv6edcWlraZH1ZllFRUYHU1NRm62ix7oC29fNSzz77LFwuF2bOnBkoS09Px4YNGzB06FDY7XasXLkSY8aMwTfffINBgwaFtQ+t1Za+pqamYs2aNRgxYgQ8Hg/+/ve/48Ybb8TOnTsxduxYAM2v92hdpyUlJdi2bRs2btwYVB6J67SjUCBoh2XLlmH58uUt1tm7dy8ANHnZZsZYqy/nvG7dOsyZMwcGgyGofMGCBYH7mZmZGDRoEEaOHIl9+/Zh+PDhrXrv1ujovs6aNStwPzMzEyNHjkRaWhq2bNnSKASF8r6h6qx16vP5MHv2bKiqilWrVgU911nrtCWX9uFy/Wqq/qXlob5nZ2hrm9544w0sW7YM//znP4OCYXZ2dtBk2DFjxmD48OF48cUX8cILL4Sv4W0QSl8HDx6MwYMHBx7n5OTgzJkz+POf/xwIBKG+Z2dpa5s2bNiA+Ph4zJgxI6g8ktdpuFEgaIcHHnjgsrO/+/Xrh/3796OsrKzRc+fOnWuUZpuya9cuFBUVIS8v77J1hw8fDkmScOzYsbBuPDqrrw1SU1ORlpaGY8eOAQB69OgBr9eLqqqqoFGC8vJyjB49utXvezmd0U+fz4eZM2fixIkT+OSTTy57ydWOWqdNSUxMhCAIjb5RlZeXN9uvHj16NFlfFEV07969xTqh/E6EU1v62SAvLw/z58/H22+/jYkTJ7ZYl+d5XHvttYHfYy20p68Xy87Oxj/+8Y/A41hap4wxrFu3DnPnzoVOp2uxbiSs0w6jzdSFrqVhAtoXX3wRKNuzZ0+rJ6DNmzev0Uz05hw4cIABYJ9++mmb29se7e1rg4qKCqbX69lrr73GGLswqTAvLy9Qp7i4WPNJhaH20+v1shkzZrCMjAxWXl7eqs/q7HV63XXXsXvvvTeo7KqrrmpxUuFVV10VVLZw4cJGkwqnTp0aVGfKlCmaT0ALpZ+MMbZx40ZmMBjY5s2bW/UZqqqykSNHsrvuuqs9TW23tvT1Uj/5yU/YhAkTAo9jZZ0ydmES5YEDBy77GZGyTjsCBYJOMmXKFHb11Vez3bt3s927d7OhQ4c2OkRt8ODBbNOmTUFlNTU1zGQysZdffrnRex4/fpwtX76c7d27l504cYJt2bKFpaens2HDhml2KB5joffV4XCw3/zmNyw/P5+dOHGC7dixg+Xk5LBevXoxu90eeM3ChQtZ79692UcffcT27dvHbrjhBs0POwylnz6fj916662sd+/e7Ouvvw46hMnj8TDGImOdNhy69eqrr7JDhw6xxYsXM7PZHJh5nZuby+bOnRuo33DY4a9//Wt26NAh9uqrrzY67PDzzz9ngiCwp556ih0+fJg99dRTEXOIWmv7uXHjRiaKInvppZeaPSR02bJl7IMPPmDfffcdKywsZHfddRcTRTEoOGoh1L4+//zzbPPmzezo0aPs4MGDLDc3lwFg7777bqBOLKzTBj//+c/ZqFGjmnzPSF2nHYECQSeprKxkc+bMYRaLhVksFjZnzpxGh/QAYOvXrw8qW716NTMajU0eh3769Gk2duxYlpCQwHQ6HRs4cCD71a9+1ej4/c4Wal9ra2vZ5MmTWVJSEpMkifXt25fNmzePnT59Oug1dXV17IEHHmAJCQnMaDSyadOmNarTmULt54kTJxiAJm87duxgjEXOOn3ppZdYWloa0+l0bPjw4UGjE/PmzWPjxo0Lqr9z5042bNgwptPpWL9+/ZoMsG+//TYbPHgwkySJpaenB21ctBJKP8eNG9fkups3b16gzuLFi1nfvn2ZTqdjSUlJbPLkySw/P78Te9S8UPr69NNPs4EDBzKDwcC6devGrr/+erZly5ZG7xnt65Qx/+ij0Whka9asafL9Inmdhhtd/pgQQgghdOpiQgghhFAgIIQQQggoEBBCCCEEFAgIIYQQAgoEhBBCCAEFAkIIIYSAAgEhhBBCQIGAEEIIIaBAQAghhBBQICCEEEIIKBAQQgghBBQICCGEEALg/wBIMJB0JWBIjwAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig = plt.figure(figsize=[6,3]); plt.title('Distance and minimal geodesics, at the optimal cost'); plt.axis('equal'); \n", "for geo in optOut['geodesics']: plt.plot(*geo) \n", "plt.contourf(X,Y,optOut['values'],cmap='Greys');\n", "savefig(fig,'OptimalPathCost.png')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 6. Sensitivity at multiple points, possibly weighted\n", "\n", "The HFM library lets you compute the sensitivity at multiple points, possibly weighted. \n", "For instance, assume $u : \\Omega \\to R$ is a distance map computed using the fast marching algorithm. \n", "Let also $x_0,x_1,x_2 \\in \\Omega$ and $\\alpha_0,\\alpha_1,\\alpha_2 \\in R$. We show how to compute the sensitivity of the the vector\n", "$$\n", " (\\alpha_0 u(x_0)+\\alpha_1 u(x_1),\\ \\alpha_2 u(x_2))\n", "$$\n", "w.r.t. variations of the cost function." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 6.1 Raw arguments" ] }, { "cell_type": "code", "execution_count": 77, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:14.486708Z", "iopub.status.busy": "2024-04-30T08:59:14.486592Z", "iopub.status.idle": "2024-04-30T08:59:14.489073Z", "shell.execute_reply": "2024-04-30T08:59:14.488828Z" } }, "outputs": [], "source": [ "# Define the problem\n", "hfmIn = Eikonal.dictIn({\n", " 'model':'Isotropic2',\n", " 'cost':1.,\n", " 'seed':[0.,0.],\n", " 'exportValues':1.,\n", "})\n", "hfmIn.SetRect(sides=[[-1.,1.],[-1.,1.]],dimx=100)\n", "X = hfmIn.Grid()" ] }, { "cell_type": "code", "execution_count": 78, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:14.490502Z", "iopub.status.busy": "2024-04-30T08:59:14.490394Z", "iopub.status.idle": "2024-04-30T08:59:14.492237Z", "shell.execute_reply": "2024-04-30T08:59:14.492013Z" } }, "outputs": [], "source": [ "# Where to get the sensitivity\n", "x0,x1,x2 = [0.1,-0.4],[0.5,0.8],[-0.5,-0.7] \n", "alpha0,alpha1,alpha2 = 2.,3.,4.5 " ] }, { "cell_type": "code", "execution_count": 79, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:14.493668Z", "iopub.status.busy": "2024-04-30T08:59:14.493566Z", "iopub.status.idle": "2024-04-30T08:59:14.495317Z", "shell.execute_reply": "2024-04-30T08:59:14.495096Z" } }, "outputs": [], "source": [ "# Format this data for the input\n", "hfmIn['inspectSensitivity'] = [x0,x1,x2] \n", "hfmIn['inspectSensitivityWeights'] = [alpha0,alpha1,alpha2]\n", "\n", "# How to group the points (here the first two are summed together, and the last one is alone)\n", "hfmIn['inspectSensitivityLengths'] = [2.,1.]" ] }, { "cell_type": "code", "execution_count": 80, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:14.496728Z", "iopub.status.busy": "2024-04-30T08:59:14.496623Z", "iopub.status.idle": "2024-04-30T08:59:14.508848Z", "shell.execute_reply": "2024-04-30T08:59:14.508522Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Field verbosity defaults to 1\n", "Field order defaults to 1\n", "Field seedRadius defaults to 0\n", "Fast marching solver completed in 0.001528 s.\n" ] } ], "source": [ "hfmOut = hfmIn.Run()" ] }, { "cell_type": "code", "execution_count": 81, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:14.510392Z", "iopub.status.busy": "2024-04-30T08:59:14.510286Z", "iopub.status.idle": "2024-04-30T08:59:14.580580Z", "shell.execute_reply": "2024-04-30T08:59:14.580292Z" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjgAAAGzCAYAAAAi6m1wAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAABDqElEQVR4nO3de1yUVeLH8e/IZVCTUQMEU9Hc8oa2ggroVpqE2mq5XdQyMtdobXPLtXbL7bel7m523a7aZml0saTy0s0sNC1LzFS0tdTMNDUh1BToIqCc3x8tk8MMMAMMDA+f9+s1r5dz5jznOec8ol/OcxmbMcYIAADAQpo1dAcAAADqGgEHAABYDgEHAABYDgEHAABYDgEHAABYDgEHAABYDgEHAABYDgEHAABYDgEHAABYDgEHAABYDgEHAABYDgHHDz799FNNnDhRXbp0UVhYmE477TTFx8frvvvu03fffVfn+1u3bp1mzJihY8eO1Xnb9SkjI0M2m0179+51llU2Nk91a7off85fZmamevXqpebNm8tms2nLli11vo9yVY1jxowZstlsOnz4sN/2Xx9qc9x9mQN//Z0o7wNqZ9asWerZs6fKysrqvO358+frjDPO0A8//FDnbQcSf81hQM2fQZ2aN2+eCQ4ONr169TJz5swxq1evNu+++665++67TZcuXczo0aPrfJ/333+/kWT27NlT523Xp/z8fJOdnW2OHz/uLKtsbJ7q1nQ//pq//Px8ExISYkaNGmXWrFljsrOzzQ8//FCn+zhVVeO46667jCRz6NAhv+2/PtTmuPsyB/76O1HeB9TcN998Y1q2bGleeeUVv7RfWlpqzjrrLHPnnXf6pf1A4M85DKT5C264aGU92dnZuuGGG3ThhRdq2bJlstvtzs8uvPBC3XLLLVqxYkUD9jCwRUZGKjIyss7r1uW2vvjiiy9UWlqqq6++Wueff36dtPnjjz+qRYsWddJWY1Rfxw6B65FHHlHr1q116aWX+qX94OBg/eEPf9A//vEP3XbbbV7/vA0ePFidO3dWRkaGX/pVl/w5hzWdP79o6IRlJSNHjjTBwcFm3759XtVfu3atueCCC8xpp51mmjdvbpKTk82bb77pUic/P9+kp6ebDh06mNDQUBMREWEGDhxosrKyjDG//EZY8bV69epK91tdm+W++OILc+WVV5rIyEgTGhpqunfvbh5//HGXOuX737Ztmxk3bpwJDw83UVFRZuLEiebYsWM+7fOZZ55x+a25qrFVrLt06VIjyaxcudJtvHPnzjWSzNatW932U9U+PvjgAyPJvPjii25tPvvss0aS2bBhg8c5njBhglub559/vvNzb459ed82bdpkLrvsMtO6dWsTHR3tcX/V/T3w9jgZ491x92Tbtm1Gknn55ZedZRs3bjSSTM+ePV3qjho1ysTHx/u834rH3Rhjli1bZnr37m1CQ0NNly5dzMMPP+xxpcTbOahuLr2dnzfffNOcc845JjQ01HTu3Nncf//9Xq/gePPzMmHCBBMbG+u2bcV9lL/funWrufzyy014eLhp06aN+fOf/2xKS0vNjh07zLBhw8xpp51mYmNjzb333ltt/8qVlZWZJ554wsTFxRm73W66du1qXnnlFXPy5EnTq1cv869//cvrtiIjI80NN9zgVt6/f38zYsQIY4wxxcXF5vTTTzd/+ctf3OodPHjQtGzZ0owdO9al/I033jDBwcHmb3/7m9d9yc3NNTabzcyfP9/rbc4//3wzYcIEr+uXq6s59Gb+jKmfOazJ/PkDAaeOnDhxwrRo0cIkJiZ6VX/NmjUmJCTEJCQkmMzMTLNs2TKTmppqbDabWbRokbPesGHDTGRkpJk3b55Zs2aNWbZsmbnzzjuddfbv32/+9Kc/GUlmyZIlJjs722RnZ5uCgoJK911dm8YY89lnnxmHw2F69+5tnnvuOfPuu++aW265xTRr1szMmDHDWa/8H89u3bqZO++802RlZZl///vfxm63m4kTJ/q0z4r/eVU1top1S0tLTVRUlBk/frzbeAcMGODyn+mp21Y3f3379jWDBg1ya7N///6mf//+lc7xl19+aebMmWMkmbvvvttkZ2ebzz77zBjj/bEvn9vY2Fhz2223maysLLNs2TKP+6tuHN4eJ2+Pe2ViYmLM9ddf73x/zz33mObNmxtJ5ptvvjHG/HyswsPDzV//+lef91vxuL/99tumWbNmZvDgwWbp0qXmlVdeMYmJiaZz586VBpzq5qCqufS2nytXrjRBQUHmN7/5jVmyZIl55ZVXTP/+/U2nTp28Cjje/Lz4GnC6detm/vGPf5isrCzz17/+1UgyU6ZMMd27dzePPvqoycrKMhMnTjSSzOLFi6vtY1lZmbniiitM8+bNzX333WeysrJMSkqKadmypZk/f75p376916dk9+7daySZp556yqW8tLTU2O12c8cddxhjjPOXjuXLl3tsZ+bMmcZms5mNGzcaY4xZvXq1CQsLM3/605+86sepevToYS699FKv69ck4NTVHHo7f8bU3xz6On/+QMCpI3l5eUaSGTdunFf1k5KSTFRUlCkqKnKWnThxwsTFxZkOHTqYsrIyY4wxp512mpk6dWqVbfl6vYA3bQ4bNsx06NDBLShNmTLFhIWFme+++84Y88s/nvfdd59LvT/+8Y8mLCzMp3F4+u28srF5qjtt2jTTvHlzl9/GP//8cyPJPPbYY5VuW9X8ldfNyclxlm3YsMFIMs8++2yV41m9erWR5Hae29tjXz633p7L9uYanOqOk7fHvTJXX321OfPMM53vU1JSTHp6umnTpo1zvj766CMjybz77rvOet7ut+Kx69+/v+nYsaMpLi52blNUVGROP/30SgNOdXNgTOVz6W0/ExMTTfv27c1PP/3krFNYWGjatm3rVcDx5ufF14Dz4IMPutT79a9/7Qxx5UpLS01kZKRX/zEtWLDASDILFy50lpX/59mmTRuX/2zz8/PNRRddZFq0aGHOOussl2NvjDGvvvqqkWQ2b97sUp6Tk+MSuO69914jyeTl5Xns0w8//GDat29vhg4dajZs2GBatWplJk6c6HJsq+tLufHjx5t27dp5/KysrMyUlpa6vM477zxzzTXXuJVXxZc5nDt3runbt68JDg42d911l0s73s6fMbWfw6r6caqq5q++cBdVA/jhhx/08ccf6/LLL9dpp53mLA8KClJaWpoOHDignTt3SpIGDBigjIwM/fOf/9T69etVWlpa6/1X1+bx48e1atUq/e53v1OLFi104sQJ5+uiiy7S8ePHtX79epdtLr74Ypf3ffr00fHjx5Wfn++3cVT0+9//Xj/99JMyMzOdZc8884zsdruuuuqqGrV55ZVXKioqSnPmzHGWPfbYY4qMjNTYsWN9bs+XY1/usssuq1HfPanqONXkuFc0dOhQffXVV9qzZ4+OHz+uDz/8UMOHD9eQIUOUlZUlSVq5cqXsdrt+85vfSKrZ3zfp57ncuHGjRo8erdDQUGf5aaedplGjRtVoDqribT9/+OEHffLJJ7r00ksVFhbm3L5Vq1ZV9utU/vh5GTlypMv7Hj16yGazacSIEc6y4OBg/epXv9LXX39dbXuPP/644uLiXH622rRpI0mKjo7WxIkTneU33nijoqOjdejQIT3wwAMaM2aMjhw54vx848aNCg0NVVxcnMs+Nm3aJEmKj4+XJB08eFA2m00REREe+9SiRQv985//1KpVqzRkyBCNGDFCTz31lMuda9X1pVxUVJTy8/N14sQJt8/ef/99hYSEuLw++OADPffcc27lVd3x58scxsTEaObMmRo9erRbO97On1T7OayqH6eqav7qCwGnjkRERKhFixbas2dPtXWPHj0qY4xiYmLcPmvfvr0kOX/gMjMzNWHCBD399NNKTk5W27Ztdc011ygvL6/Gfa2uzSNHjujEiRN67LHH3H5YL7roIklyu9X29NNPd3lffoH1Tz/95LdxVNSrVy/1799fzzzzjCTp5MmTeuGFF3TJJZeobdu2NWrTbrfrD3/4g1588UUdO3ZMhw4d0ssvv6zrrrvO5SJyb/ly7Mt5qltTVR2nmhz3ilJSUiT9HGI+/PBDlZaW6oILLlBKSopWrVrl/GzQoEFq3ry5pJr9fZN+mct27dq5feapzJs5qIq3/Tx69KjKysoUHR3t1oanMk/88fNS8WcgNDRULVq0cAlh5eXHjx+vsq2jR48qJyfHLbCdPHlSkvSvf/1LQUFBkqTvv/9ey5Yt04wZM9SiRQtdfPHFOuecc/Taa685t/vkk0/Uu3dvhYSEuLS3adMmtW3bVp07d5b08zEKCQlxtu3J2WefLUmy2WzKyMhwqetNX8qFhYXJGONxLhISEvTJJ5+4vOLj4zVy5Ei38vKf69rMoSSNHj1ao0aNksPhcGvL2/mTaj+HVfXjVFXNX33hLqo6EhQUpKFDh+rtt9/WgQMH1KFDh0rrtmnTRs2aNVNubq7bZwcPHpQkZ7qOiIjQww8/rIcfflj79u3T66+/rttvv135+fk1viOrujbbtGnjXFG48cYbPbbRpUuXOt1nXZk4caL++Mc/avv27frqq6+Um5vr8ltQTdxwww265557tGDBAh0/flwnTpzQ5MmTa9SWL8e+XH09N6UujnuHDh109tlna+XKlercubP69eun1q1ba+jQofrjH/+ojz/+WOvXr9fMmTNrvd82bdrIZrPp22+/dfusLoOzr/0MCwuTzWbz2Adv++XNz0tYWJiKi4vdtq2PZx19+eWXMsa4HZd58+ZJkvr37+8s27Vrl0477TR17NjRWda7d2999tlnzvc5OTkeVyqzsrJcVh8iIiJUUlKiH374QS1btnSrv2XLFo0cOVKDBg3SRx99pAULFrgcK2/6Uu67776T3W53WWkt16pVK/Xr18+t7PTTT3crr4wvc1gdb+dPqv0cequq+asvBJw6NH36dC1fvlzp6el67bXXXJbNJam0tFQrVqzQqFGjlJiYqCVLluiBBx5w/iZbVlamF154wfmfREWdOnXSlClTtGrVKn300UfOcm9/A/XEU5stWrTQkCFDlJOToz59+riNo7YqG4cnvo7tyiuv1LRp05SRkaGvvvpKZ5xxhlJTU2u1j5iYGF1xxRWaO3euSkpKNGrUKHXq1Mmr/lTUsmXLGh17b9Tm74FUd8c9JSVFL7/8sjp27Kjf/va3kn7+jbBTp0668847VVpa6lzpqc1+W7ZsqX79+mnZsmV64IEHnNt9//33evPNN2vU93Ke5tKXfg4YMEBLlizR/fff71whKSoq0htvvOFzXyr7eencubPy8/P17bffOlesSkpK9M477/i8D1+V/0Z/6NAhZ9mmTZuc/zkbY5zl33//vcLDw122Dw8PdwaxkpISfffddzrjjDNc6ixevFhffvmly63M3bt3lyTt3r1bffr0cam/c+dODRs2TMnJyXrttdd0xRVXaMaMGbr66qudqw3V9eVUX331lXr27OnFbNSML3NYFV/mT6r9HHrL3/PnDU5R1aHk5GQ98cQTWrlypRISEjR37ly9//77Wrlype6//3717NlTCxYskCTNnj1bR44c0ZAhQ/Tqq6/q9ddf10UXXaRt27bpgQcekM1mU0FBgeLj4/XAAw/ozTff1Pvvv68HHnhAK1as0IUXXujcb+/evSX9/GyD7Oxsbdy4UUVFRR776G2bjzzyiPbt26dzzz1XGRkZWrNmjd544w099NBDuuCCC3yaF2/36YkvY5Ok1q1b63e/+50yMjL0+uuva8KECWrWrOq/5t7s4+abb9bu3bu1f/9+TZkyxZthV8qbY18Tvs6VJ3Vx3IcOHarDhw8rJyfH5fgOHTpU7777rtq0aaOEhIQ62e+sWbP0zTffaNiwYVq2bJkWL16slJQUnXbaabVa+apsLr3t5z/+8Q/l5eU5n4m1ePFiDR061ONvzBV5+/MyduxYBQUFady4cVq+fLmWLFmi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E0K4QVNBwAEA+B3hBvWNgAMATURDrt4A9Y2AAwBNAKem0NQQcADA4gg3aIoIOABgYYQbNFUEHACwKMINmrJ6CThz585Vly5dFBYWpoSEBK1du7bSumvWrJHNZnN77dixw6Xe4sWL1bNnT9ntdvXs2VNLly719zAAoNEg3KCp83vAyczM1NSpU3XHHXcoJydH5557rkaMGKF9+/ZVud3OnTuVm5vrfJ111lnOz7KzszV27FilpaVp69atSktL05gxY/Txxx/7ezgAgCoQbhAobMYY488dJCYmKj4+Xk888YSzrEePHho9erRmz57tVn/NmjUaMmSIjh49qtatW3tsc+zYsSosLNTbb7/tLBs+fLjatGmjl156qdo+FRYWyuFwKCXqOgU3C/V9UAAQwBpq9YZwA387UVailflPq6CgQOHh4VXW9esKTklJiTZt2qTU1FSX8tTUVK1bt67Kbfv27auYmBgNHTpUq1evdvksOzvbrc1hw4ZV2mZxcbEKCwtdXgBgRYQb4Gd+DTiHDx/WyZMn1a5dO5fydu3aKS8vz+M2MTExmjdvnhYvXqwlS5aoW7duGjp0qD744ANnnby8PJ/anD17thwOh/PVsWPHWo4MAAIP4Qb4RXB97MRms7m8N8a4lZXr1q2bunXr5nyfnJys/fv364EHHtB5551XozanT5+uadOmOd8XFhYScgBYCk8pBlz5dQUnIiJCQUFBbisr+fn5biswVUlKStKuXbuc76Ojo31q0263Kzw83OUFAFbBHVOAO78GnNDQUCUkJCgrK8ulPCsrSwMHDvS6nZycHMXExDjfJycnu7X57rvv+tQmAFgB4QbwzO+nqKZNm6a0tDT169dPycnJmjdvnvbt26fJkydL+vn00TfffKPnnntOkvTwww+rc+fO6tWrl0pKSvTCCy9o8eLFWrx4sbPNm2++Weedd57uvfdeXXLJJXrttde0cuVKffjhh/4eDgAEDMINUDm/B5yxY8fqyJEjmjVrlnJzcxUXF6fly5crNjZWkpSbm+vyTJySkhLdeuut+uabb9S8eXP16tVLb731li666CJnnYEDB2rRokX6v//7P/39739X165dlZmZqcTERH8PBwCaPMINGgO/PwcnEPEcHACNHXdMoSkKmOfgAADqHuEGqB4BBwAaEcIN4B0CDgA0EoQbwHsEHABoBAg3gG8I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4QBoJEJ3HFCH946rw3vHWa0BmiCbMcavP/mJiYmKj4/XE0884Szr0aOHRo8erdmzZ7vVv+222/T6669r+/btzrLJkydr69atys7OliSNHTtWhYWFevvtt511hg8frjZt2uill15ya7O4uFjFxb/cClpYWKiOHTsqJeo6BTfz/pw8gMajpHsHj6sz5Ss3p4aeireKc/0NEJhOlJVoZf7TKigoUHh4eJV1/bqCU1JSok2bNik1NdWlPDU1VevWrfO4TXZ2tlv9YcOGaePGjSotLa2yTmVtzp49Ww6Hw/nq2LFjTYcEoBEoDzdFsTa35960+to4w41jd7FLuAndcYBwA1iEXy8yPnz4sE6ePKl27dq5lLdr1055eXket8nLy/NY/8SJEzp8+LBiYmIqrVNZm9OnT9e0adOc78tXcABYz6HfdlVRrM3lWTh7O0XKvi/UJdiUI9AA1lQvd1HZbK6/QRlj3Mqqq1+x3Jc27Xa77HYuJASsruK3iV8YvUNZed1dyhy7iwk1QBPg11NUERERCgoKcltZyc/Pd1uBKRcdHe2xfnBwsE4//fQq61TWJoCmqWK4AdB0+DXghIaGKiEhQVlZWS7lWVlZGjhwoMdtkpOT3eq/++676tevn0JCQqqsU1mbAACgafH7beLTpk3T008/rQULFmj79u3685//rH379mny5MmSfr4+5pprrnHWnzx5sr7++mtNmzZN27dv14IFCzR//nzdeuutzjo333yz3n33Xd17773asWOH7r33Xq1cuVJTp07193AAWEDFU1kArMfv1+CMHTtWR44c0axZs5Sbm6u4uDgtX75csbGxkqTc3FyXZ+J06dJFy5cv15///GfNmTNH7du316OPPqrLLrvMWWfgwIFatGiR/u///k9///vf1bVrV2VmZioxMdHfwwEAAI2A35+DE4gKCwvlcDh4Dg5gMafeHu5yF9WBX+6i4g4qoPEKmOfgAAAANAQCDgBL23sg0uX9qU835locwLoIOAAsq2K4AdB0EHAAWE6rr43Lt4hX9o3iAKyLgAPAUip+cWZ1OE0FWBMBBwAAWA4BB4BlcNs3gHIEHACW5s31N5ymAqyHgAPAsk4NN62+bnLPNAWaNAIOAIhVHMBqCDgALIkVG6BpI+AAsDzCDtD0EHAA4H84TQVYBwEHgOVU97C/U7+PCoA1EXAAWFarr43P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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.title(r\"Cost sensitivity for the weighted sum $\\alpha_0 u(x_0)+\\alpha_1 u(x_1)$\")\n", "plt.contourf(*X,hfmOut['costSensitivity_0']);" ] }, { "cell_type": "code", "execution_count": 82, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:14.582100Z", "iopub.status.busy": "2024-04-30T08:59:14.581970Z", "iopub.status.idle": "2024-04-30T08:59:14.645027Z", "shell.execute_reply": "2024-04-30T08:59:14.644743Z" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjgAAAGzCAYAAAAi6m1wAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8o6BhiAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA63klEQVR4nO3deXxU1f3/8fdkmwQkAxgSgkCIPDRAgn5JgCRQVAQCWESrFRCMSGkUWlSK9KtoVaBWql2RTeELxgUhtYDLF6QGBUVJZAtYFMNSMAiJASQTUMlCzu8Pf5mvw2Qnk+Xm9Xw87kPmzLnnns9ckDdn7r2xGWOMAAAALMSnsScAAABQ3wg4AADAcgg4AADAcgg4AADAcgg4AADAcgg4AADAcgg4AADAcgg4AADAcgg4AADAcgg4AADAcgg4AADAcgg4QC18+umnmjRpkiIjIxUYGKjLLrtMsbGxevbZZ/XNN9/U+/G2bdum2bNnq6CgoN7Hbkipqamy2Ww6evSoq62y2irqW9fjePPzS0tLU3R0tIKCgmSz2bRnz556P0ZTMXfuXPXq1UtlZWX1Ou7y5ct1xRVX6Ntvv63XcQFJkgFQI0uXLjV+fn4mOjraLFq0yGzevNm8++675umnnzaRkZHm1ltvrfdj/ulPfzKSzJEjR+p97IaUn59vMjIyzPnz511tldVWUd+6Hsdbn19+fr7x9/c3N998s9myZYvJyMgw3377bb0eo6k4fvy4ad26tXn99dfrfeySkhJz1VVXmSeeeKLexwb8GjlfAc1CRkaGpk6dqmHDhumNN96Q3W53vTds2DA99NBD2rhxYyPOsGnr0KGDOnToUO9963Pf2jhw4IBKSkp011136frrr6+XMb/77ju1atWqXsaqT/Pnz1fbtm1122231fvYfn5+uu+++/T73/9eDz/8cJOsH81YYycsoDkYNWqU8fPzMzk5OTXqv3XrVnPjjTeayy67zAQFBZnExETzv//7v2598vPzTUpKiuncubMJCAgwISEhZsCAASY9Pd0YY8yTTz5pJHlsmzdvrvS41Y1Z7sCBA+bOO+80HTp0MAEBAaZHjx5m4cKFbn3Kj79v3z4zbtw4ExwcbEJDQ82kSZNMQUFBrY754osvuq2kVFXbxX3XrVtnJJlNmzZ51Lt48WIjyezdu9fjOFUd48MPPzSSzGuvveYx5ksvvWQkme3bt1f4GU+cONFjzOuvv971fk3Offncdu3aZW6//XbTtm1b07FjxwqPV66srMwsWbLExMTEGLvdbrp3725ef/11c+HCBRMdHW3+8Ic/VLn/j3Xo0MFMnTrVo71fv35m5MiRrtdFRUXm8ssvN7/97W/d+p04ccK0bt3ajB071q397bffNn5+fubRRx+t8Vxyc3ONzWYzy5cvr/E+QE0QcIBqlJaWmlatWpn4+Pga9d+yZYvx9/c3cXFxJi0tzbzxxhsmKSnJ2Gw2s3r1ale/4cOHmw4dOpilS5eaLVu2mDfeeMM88cQTrj7Hjh0z999/v5Fk1q5dazIyMkxGRoZxOp2VHru6MY0x5rPPPjMOh8P07t3bvPzyy+bdd981Dz30kPHx8TGzZ8929Sv/SzgqKso88cQTJj093fz1r381drvdTJo0qVbHvDi0VFXbxX1LSkpMaGiomTBhgke9/fv3N7GxsRUep7rPr0+fPmbgwIEeY/br18/069ev0s/40KFDZtGiRUaSefrpp01GRob57LPPjDE1P/fln21ERIR5+OGHTXp6unnjjTcqPWZZWZm54447TFBQkHn22WdNenq6GTp0qGndurVZvny56dSpU42/Ijt69KiRZJYtW+bWXlJSYux2u3nsscdcbeVBcMOGDR7jzJkzx9hsNrNz505jjDGbN282gYGB5v7776/RPH6sZ8+e5rbbbqv1fkBVCDhANfLy8owkM27cuBr1T0hIMKGhoebs2bOuttLSUhMTE2M6d+5sysrKjDHGXHbZZWb69OlVjlXba0hqMubw4cNN586dPYLStGnTTGBgoPnmm2+MMf/3l/Czzz7r1u9Xv/qVCQwMrFUdF4eWqmqrqO+MGTNMUFCQ28rR559/biSZBQsWVLpvVZ9fed+srCxX2/bt240k89JLL1VZz+bNm40kj+tSanruyz/bml57smLFCiPJrFy50tVWHj7atWvnCivnz58399xzj+ncubNp06aNiY+PNx9//LHbWP/85z+NJLN792639qysLCPJrFmzxtX2zDPPGEkmLy/PY07ffvut6dSpkxkyZIjZvn27adOmjZk0aZKrxprMpdyECRNMWFhYjT4LoKa4iwqoR99++60++eQT/fznP9dll13mavf19VVycrK++uorZWdnS5L69++v1NRUPfXUU8rMzFRJScklH7+6Mc+fP6/33ntPP/vZz9SqVSuVlpa6tptuuknnz59XZmam2z6jR492e33NNdfo/Pnzys/P91odF/vFL36h77//Xmlpaa62F198UXa7XePHj6/TmHfeeadCQ0O1aNEiV9uCBQvUoUMHjR07ttbj1ebcl7v99ttrNPbChQsVExPjVmu7du0kSR07dtSkSZMkSaWlpYqMjNTHH3+sgoICTZ06VaNHj9Z3333n2m/nzp0KCAhQTEyM2zF27dolSYqNjXW1nThxQjabTSEhIR5zatWqlZ566im99957Gjx4sEaOHKlly5bJZrPVeC7lQkNDlZ+fr9LS0hp9HkBNEHCAaoSEhKhVq1Y6cuRItX3PnDkjY4zCw8M93uvUqZMk6fTp05J+uM144sSJ+p//+R8lJiaqffv2uvvuu5WXl1fnuVY35unTp1VaWqoFCxbI39/fbbvpppskSadOnXIb8/LLL3d7XX6B9ffff++1Oi4WHR2tfv366cUXX5QkXbhwQa+++qpuueUWtW/fvk5j2u123XfffXrttddUUFCgkydP6h//+Id++ctful1EXlO1OfflKupb0bhZWVm6+eab3dovXLggSfrDH/4gX19fSVLr1q31xBNPqGvXrvLx8dHEiRNVVlamgwcPuvbbsWOHevfuLX9/f7fxdu3apfbt26tbt26utu+//17+/v6u8S929dVXS5JsNptSU1Pd+tVkLuUCAwNljNH58+er/TyAmiLgANXw9fXVkCFDtGvXLn311VdV9m3Xrp18fHyUm5vr8d6JEyckyfWv4ZCQEP3973/X0aNH9eWXX2revHlau3at7rnnnjrPtbox27VrJ19fX91zzz3asWNHhVt50KmvY9aXSZMmKTMzU/v379fGjRuVm5vrWrmoq6lTp6qkpEQrVqzQsmXLVFpaqilTptRprNqc+3Llqx1VOXTokIwxioyMdGtfunSpJKlfv36V7vvFF1/o+++/V/fu3V1tWVlZbqs05dLT0z3aQ0JCVFxcXOFzavbs2aNRo0Zp4MCBOnfunFasWFFlHRXNpdw333wju93utvIFXCoCDlADs2bNkjFGKSkpKi4u9ni/pKREb7/9tlq3bq34+HitXbvWtcIhSWVlZXr11VfVuXNn1796f6xr166aNm2ahg0bpt27d7vaL14tqY2KxmzVqpUGDx6srKwsXXPNNerbt6/H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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.title(r\"Cost sensitivity for $\\alpha_2 u(x_2)$\")\n", "plt.contourf(*X,hfmOut['costSensitivity_1']);" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### 6.2 Using automatic differentiation \n", "\n", "The reverse AD library currently only supports scalar valued objectives. In the case of a non-scalar output, multiple calls to the gradient are required. The cost remains reasonable provided the adequate data is cached in the forward pass." ] }, { "cell_type": "code", "execution_count": 83, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:14.646618Z", "iopub.status.busy": "2024-04-30T08:59:14.646516Z", "iopub.status.idle": "2024-04-30T08:59:14.648584Z", "shell.execute_reply": "2024-04-30T08:59:14.648342Z" } }, "outputs": [], "source": [ "hfmIn_ad = Eikonal.dictIn({key:hfmIn[key] for key in ['model','seeds','arrayOrdering','dims','origin','gridScale']})\n", "hfmIn_ad['extractValues']=True\n", "X = hfmIn_ad.Grid()" ] }, { "cell_type": "code", "execution_count": 84, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:14.650072Z", "iopub.status.busy": "2024-04-30T08:59:14.649973Z", "iopub.status.idle": "2024-04-30T08:59:14.651861Z", "shell.execute_reply": "2024-04-30T08:59:14.651637Z" } }, "outputs": [], "source": [ "cost = np.ones( hfmIn_ad.shape ) \n", "\n", "rev, cost_ad = ad.Reverse.empty(inputs = cost, input_iterables = (Eikonal.dictIn,))\n", "hfmIn_ad['cost'] = cost_ad" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We provide an un-named cache variable, which will be saved by the Reverse AD structure, like the other input arguments." ] }, { "cell_type": "code", "execution_count": 85, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:14.653305Z", "iopub.status.busy": "2024-04-30T08:59:14.653209Z", "iopub.status.idle": "2024-04-30T08:59:14.665868Z", "shell.execute_reply": "2024-04-30T08:59:14.665548Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Requesting cacheable data\n", "Field verbosity defaults to 1\n", "Field order defaults to 1\n", "Field seedRadius defaults to 0\n", "Fast marching solver completed in 0.00153 s.\n", "Filling cache data\n" ] } ], "source": [ "hfmOut_ad,values_ad = rev.apply(Eikonal.dictIn.Run, hfmIn_ad, cache=Eikonal.Cache() )" ] }, { "cell_type": "code", "execution_count": 86, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:14.667445Z", "iopub.status.busy": "2024-04-30T08:59:14.667322Z", "iopub.status.idle": "2024-04-30T08:59:14.670413Z", "shell.execute_reply": "2024-04-30T08:59:14.670155Z" } }, "outputs": [], "source": [ "values_ad_interp = UniformGridInterpolation(X,values_ad)\n", "objective = ad.array( (alpha0*values_ad_interp(x0) + alpha1*values_ad_interp(x1), alpha2*values_ad_interp(x2)) )" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We defined a multi-dimensional objective function, but we can only request its gradient component by component so far. The cost remains bearable since the fast marching solver is bypassed thanks to cached data." ] }, { "cell_type": "code", "execution_count": 87, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:14.671782Z", "iopub.status.busy": "2024-04-30T08:59:14.671685Z", "iopub.status.idle": "2024-04-30T08:59:14.692581Z", "shell.execute_reply": "2024-04-30T08:59:14.692253Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Providing cached data\n", "Field verbosity defaults to 1\n", "Field order defaults to 1\n", "Field seedRadius defaults to 0\n", "Bypassing fast marching solver based on cached data.\n", "------\n", "Providing cached data\n", "Field verbosity defaults to 1\n", "Field order defaults to 1\n", "Field seedRadius defaults to 0\n", "Bypassing fast marching solver based on cached data.\n" ] } ], "source": [ "grad_0, = rev.to_inputshapes(rev.gradient(objective[0]))\n", "print(\"------\")\n", "grad_1, = rev.to_inputshapes(rev.gradient(objective[1]))" ] }, { "cell_type": "code", "execution_count": 88, "metadata": { "execution": { "iopub.execute_input": "2024-04-30T08:59:14.694177Z", "iopub.status.busy": "2024-04-30T08:59:14.694066Z", "iopub.status.idle": "2024-04-30T08:59:14.789671Z", "shell.execute_reply": "2024-04-30T08:59:14.789400Z" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.figure(figsize=[12,3])\n", "plt.subplot(1,2,1)\n", "plt.contourf(*X,grad_0)\n", "plt.subplot(1,2,2)\n", "plt.contourf(*X,grad_1);" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "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.10.8" }, "latex_envs": { "LaTeX_envs_menu_present": true, "autocomplete": false, "bibliofile": "biblio.bib", "cite_by": "apalike", "current_citInitial": 1, "eqLabelWithNumbers": true, "eqNumInitial": 1, "hotkeys": { "equation": "Ctrl-E", "itemize": "Ctrl-I" }, "labels_anchors": false, "latex_user_defs": false, "report_style_numbering": false, "user_envs_cfg": false }, "varInspector": { "cols": { "lenName": 16, "lenType": 16, "lenVar": 40 }, "kernels_config": { "python": { "delete_cmd_postfix": "", "delete_cmd_prefix": "del ", "library": "var_list.py", "varRefreshCmd": "print(var_dic_list())" }, "r": { "delete_cmd_postfix": ") ", "delete_cmd_prefix": "rm(", "library": "var_list.r", "varRefreshCmd": "cat(var_dic_list()) " } }, "types_to_exclude": [ "module", "function", "builtin_function_or_method", "instance", "_Feature" ], "window_display": false } }, "nbformat": 4, "nbformat_minor": 1 }