{ "metadata": { "name": "" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "#Salish Sea NEMO Sub-domain Bathymetry\n", "\n", "This notebook documents the bathymetry used for the \n", "initial Salish Sea NEMO runs on a sub-set of the whole region domain.\n", "This sub-domain was used for the runs known as `JPP`\n", "and `WCSD_RUN_tide_M2_OW_ON_file_DAMP_ANALY`.\n", "\n", "The first part of the notebook explores and plots the bathymetry.\n", "The second part records the manual smoothing that was done to\n", "get the JPP M2 tidal forcing case to run." ] }, { "cell_type": "code", "collapsed": false, "input": [ "%matplotlib inline\n", "import netCDF4 as nc\n", "import numpy as np" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 1 }, { "cell_type": "markdown", "metadata": {}, "source": [ "`bathy_tools` is a collection of Python functions that were developed\n", "to encapsulate the details of working with a bathymetry netCDF file." ] }, { "cell_type": "code", "collapsed": false, "input": [ "from salishsea_tools import bathy_tools" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 2 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Open the file and get some basic information about it.\n", "The `r` mode shown opens the file in read-only mode.\n", "Use `r+` as the mode if you want to change the bathymetry." ] }, { "cell_type": "code", "collapsed": false, "input": [ "bathy = nc.Dataset('../../NEMO-forcing/grid/SubDom_bathy_meter_NOBCchancomp.nc', 'r')\n", "print bathy.file_format\n", "bathy_tools.show_dimensions(bathy)\n", "bathy_tools.show_variables(bathy)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "NETCDF3_CLASSIC\n", ": name = 'x', size = 398\n", "\n", ": name = 'y', size = 345\n", "\n", "[u'nav_lon', u'nav_lat', u'Bathymetry']\n" ] } ], "prompt_number": 3 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Assign short names to the variables\n", "and get some basic information about their values:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "lats = bathy.variables['nav_lat']\n", "lons = bathy.variables['nav_lon']\n", "depths = bathy.variables['Bathymetry']" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 4 }, { "cell_type": "code", "collapsed": false, "input": [ "lat_stats = bathy_tools.min_mid_max(lats)\n", "lon_stats = bathy_tools.min_mid_max(lons)\n", "print lat_stats\n", "print lon_stats\n", "print np.max(depths)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "(47.630783, 48.702590942382812, 49.751278)\n", "(-125.20717, -123.60331726074219, -121.98944)\n", "428.0" ] }, { "output_type": "stream", "stream": "stdout", "text": [ "\n" ] } ], "prompt_number": 5 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Plot a colour-mesh plot of the whole dataset.\n", "Use `fig.savefig('filename.png')` to store the\n", "plot as an image file in the pwd." ] }, { "cell_type": "code", "collapsed": false, "input": [ "fig = bathy_tools.plot_colourmesh(\n", " bathy, 'Salish Sea Sub-domain Bathymetry', \n", " axis_limits=(-125, -122.4, 48.08, 49.71))" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "iVBORw0KGgoAAAANSUhEUgAAAgsAAAGqCAYAAACF9wcYAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsnXl4VNX9/98TCSSRAJlhURIVdYIQZIliAhQEFEW04IIL\noggqtj621mpbrbYKahUElCrf0mqtWlSs9aHfsgXErxVstWbUIiDRXzJUahY3ZkIgTaJC5vfHnXPn\n3HPPuffOlszyeT1PnlnuPeeemUDO+35WVygUCoEgCIIgCEJBTncvgCAIgiCI1IbEAkEQBEEQlpBY\nIAiCIAjCEhILBEEQBEFYQmKBIAiCIAhLSCwQBEEQBGEJiQUiZoYMGYK//e1vAICHH34YN910k+2Y\nKVOm4A9/+EOyl9alDBkyBK+//nrM4xcsWIB77703gStyxoUXXojnn3++y68r47nnnsOkSZO6exkE\nQSggsZDl/OMf/8CECRPQr18/eDweTJw4Ee+9956jsS6XS39+zz334Pe//72jMfw4Ox5++GGccsop\nKCwsxAknnIA5c+Y4HhsN69evx5gxY9C3b18MGDAA5557Lvbv3+9obLSfKdHjY6Wqqgrz5s2LaeyQ\nIUNQUFCAwsJCuN1ufPe730VDQ4Ojsfv370dOTg46OztjunYyWbx4cczfCUFkMiQWsphDhw7hu9/9\nLm677TY0NzejsbERixYtQq9evbp7aQCAP/7xj3jhhRfw+uuv4/Dhw3jvvfcwbdq0hF/H7/dj/vz5\nWLlyJVpaWvDJJ5/gBz/4AY455piEX0tFutVGc7lc2LRpEw4fPozPPvsMgwYNwq233hrVHOn2mQFt\nzem4boKIFxILWUxtbS1cLheuuuoquFwu5OXl4bzzzsPIkSMBAPv27cM555yD/v37Y8CAAbj22mvR\n0tIinYu/I+vo6MC1116L/v37o6ioCBUVFfjqq6/0c/fv34+JEyeiT58+mD59OgKBgHTO9957D9On\nT8fJJ58MABg0aBAWLlyoH29pacGNN96IwYMHo6SkBPfee69+txrN2j/44AOcfPLJmDp1KgCgd+/e\nuOyyy3DCCScAMLsJtm/frh9j+Hw+jBgxAm63GzfccAO+/vprxbcO7Ny5E2eccQb69OmDOXPmoKOj\nw3D897//PUpLS+HxeHDxxRfjs88+04/l5OTgt7/9LUpLS9GnTx/cd9992LdvH8aPH49+/fphzpw5\n+PbbbwEABw8exHe/+10MHDgQbrcbM2fORGNjoz4X7xJ67rnnMHHiRPzsZz+D2+3GKaecgq1btyo/\nA0+vXr0we/Zs1NTU6O9t3rwZ5eXl6Nu3L0488UTcf//9+rGzzz4bANCvXz/06dMH77zzjm5ZkV3/\nlVdewdixYw3XfOyxx3DJJZcA0H4/t9xyCy688EIUFhZi0qRJ+Pzzz3HbbbehqKgIw4cPxwcffKCP\nbWpqwuzZszFw4ECccsopWLVqFQBg69atWLJkCV5++WUUFhaivLxc/55++ctf4jvf+Q6OPfZYPPro\no5brIYhMhMRCFnPaaafhmGOOwYIFC7B161Y0NzebzvnFL36Bzz77DB999BHq6+uxePFi6Vy8Kf2P\nf/wjDh06hIaGBgSDQTz55JPIy8sDoN2ZrV27Fs899xy+/PJLfPPNN1ixYoV0znHjxmHNmjVYsWIF\n3nvvPRw9etRwfMGCBejZsyf27duHnTt3Ytu2bXj66aejXvuZZ56Jjz/+GHfccQe2b9+O1tZW5WeT\nwT7Ttm3bsG/fPtTW1uJXv/qV9NxvvvkGl1xyCebPn4/m5mZcccUVWLdunT7/3/72N9xzzz145ZVX\n8Nlnn+Gkk04yuV62bduGnTt34p133sEjjzyCm266CS+99BI+/fRT7NmzBy+99BIAoLOzEzfeeCM+\n/fRTfPrpp8jPz8cPf/hD5efy+XwYNmwYAoEA7rzzTtx4443Kz8w+NwC0tbXh5Zdfxvjx4/VjvXv3\nxgsvvICWlhZs3rwZv/3tb7F+/XoAwN///ncAmtg7dOgQxo0bh1AohOrqaun1Z82ahU8++QQff/yx\nPv/zzz+P+fPn669feeUVPPTQQzhw4AB69uyJcePG4ayzzkIwGMTll1+OO+64Q/9OZs6cifLycjQ1\nNeH111/Hr3/9a2zbtg0XXHAB7rnnHsyZMweHDx/Gzp079flfeOEFPP3002htbcWPfvQj2/UQRMYR\nIrKajz76KLRgwYJQSUlJqEePHqFZs2aFvvjiC+m5//u//xsqLy/XXw8ZMiT0+uuvh0KhUGjRokWh\na6+9NhQKhULPPPNMaMKECaHdu3eb5pgyZUrooYce0l+vXr06dMEFFyjX9+KLL4amTZsWOvbYY0Me\njyf0yCOPhEKhUOjzzz8P9erVK9Te3q6fu3bt2tDUqVMdrV3knXfeCV155ZWhAQMGhPLy8kILFiwI\ntba2hkKhUGjBggWhX/7yl/q5b7zxRqikpMTwPTz55JP666qqqtCpp54qvc6OHTtCgwcPNrw3YcKE\n0L333hsKhUKhG264IXTXXXfpx1pbW0O5ubmh//znP6FQKBRyuVyht99+Wz9+5plnhpYtW6a//slP\nfhL68Y9/LL32zp07Q0VFRfrrKVOmhP7whz+EQqFQ6Nlnnw15vV792H//+9+Qy+VS/ls46aSTQr17\n9w7169cvlJubGyouLg7t2bNHem4oFArddtttodtvvz0UCoVCn3zyScjlcoWOHj2qH7e7/s033xz6\nxS9+EQqFQqEPP/wwVFRUFPrmm29CoZD2+/ne976nj121alWorKxMf7179+5Qv379QqGQ9ns+8cQT\nDWt7+OGHQ9dff30oFDL+O+a/p0WLFhnes1oPkZkARSEACfvh/y+mA2RZyHKGDRuGZ599FvX19fjw\nww/R1NSEH//4xwCAL774AnPmzEFJSQn69u2LefPmKV0GPPPmzcP06dMxZ84cFBcX46677sKRI0f0\n48cdd5z+PD8/33QnzzN37ly89tpraGlpwe9+9zvce++92LZtG/7zn//g22+/xfHHH4+ioiIUFRXh\n5ptv1t0d0a69srISL7/8Mr788kv8/e9/x5tvvomHHnrI9rMyeLfEiSeeiKamJgDAjBkzUFhYiMLC\nQqxduxZNTU0oLi42jD3ppJP058yawDj22GPh8XgM7oNBgwbpz/Pz802v2ffZ1taG73//+xgyZAj6\n9u2LyZMno6WlRelz538vBQUFAKD83bhcLqxfvx7Nzc34+uuvsWrVKkyePBlffPEFAKC6uhpTp07F\nwIED0a9fPzz55JO2/3asrj9//nysXbsWgHYXf9VVVyE3N1c/f+DAgfrzvLw8w2v+O/nPf/6DpqYm\n/d9MUVERlixZgi+//NJybaLbyW49RCbSjARqBaklN5UhsUDonHbaaZg/fz4+/PBDAFqGwzHHHIMP\nP/wQLS0teP755x1FsPfo0QP33Xcf9u7di7fffhubNm3CmjVr4lrbMcccg8svvxyjRo3C3r17ceKJ\nJ6JXr14IBAJobm5Gc3MzWlpasGfPnrjWDgBjx47FpZdeir179wLQNuy2tjb9+Oeff24a8+mnnxqe\nDx48GACwZcsWHD58GIcPH8bcuXNx/PHHGzZ+QNvAGIMHDzZkYfz3v/9FIBAwCQwnPProo6itrYXP\n50NLSwt27NiRlAA9l8uFSy+9FMcccwzeeustAJrIu+SSS9DQ0ICDBw/i5ptv1r//WDI/xo0bh549\ne+LNN9/ESy+9FHPGwgknnICTTz5Z/zfT3NyMQ4cOYdOmTQC0mBDVZ0zGeggiXSCxkMX8v//3//DY\nY4/pm1d9fT1eeukl3ffc2tqKY489Fn369EFjYyOWL1/uaN7t27djz549OHr0KAoLC5Gbm2vILHC6\nWf3xj39EVVUVDh8+jM7OTmzZsgV79+5FZWUljjvuOJx//vm444479OP79u3Dm2++GfXa33rrLTz9\n9NO6VeLjjz/Gxo0bMW7cOADAmDFjUFVVhebmZnz++ef49a9/bRgfCoXwm9/8Bo2NjQgGg3jooYeU\nKZ4TJkxAjx498MQTT+Dbb7/FX/7yF7z77rv68auvvhrPPvssdu3aha+//hr33HMPxo0bhxNPPFG5\nfv775J+3trYiPz8fffv2RTAYNAQZJgJ2rVAopFsZhg8frl+7qKgIPXv2hM/nw9q1a/UNd8CAAcjJ\nycG+ffuiut68efPwwx/+ED179sSECRNM63BCRUUFCgsLsWzZMrS3t+Po0aP48MMP9XThQYMGYf/+\n/aY5ZddQrYcgMhESC1lMYWEhqqurUVlZid69e2P8+PEYNWoUHn30UQDAokWL8K9//Qt9+/bFzJkz\nMXv2bOVdIR8s9/nnn+OKK65A3759UVZWhilTphjuvPg5rIIH+/Tpg4cffhgnnXQSioqK8POf/xy/\n+93v9D/Ma9aswTfffIOysjK43W5cccUV+l1/NGvv168fNmzYgJEjR6KwsBAzZszAZZddhjvvvBOA\ntimMHj0aQ4YMwQUXXIA5c+aYPsM111yD888/H6eeeipKS0vxy1/+Unqt3Nxc/OUvf8Fzzz0Hj8eD\nP//5z5g9e7Z+/Nxzz8WDDz6I2bNnY/Dgwfjkk0/wpz/9Sfrd2X2fP/7xj9He3o7+/ftjwoQJmDFj\nhqPfn9W1eGbOnInCwkL07dsX9957L9asWaOLhdWrV+O+++5Dnz598OCDD+Kqq67SxxUUFOAXv/gF\nvvOd78DtdqO6utrR9efNm4e9e/fi2muvtVy71VzHHHMMNm3ahA8++ACnnHIKBgwYgO9973s4dOgQ\nAOCKK64AAHg8HkPGg+y7UK2HIDIRVyjRNkmCIIgk0N7ejkGDBmHnzp049dRTu3s5KbceIrlogjGR\n26UrrWp2kGWBIIi04Le//S0qKipSZmNOtfUQRDLp0d0LIAiCsGPIkCFwuVz461//2t1LAZB66yGI\nZENuCIIgCIKwgdwQBEEQBEEQFqSEG2LMmDHYtWtXdy+DIAiCSEMmT56M7du3d/cyMpqUcEO4XOll\njkkFFi9erOx1QMih7yx6UuE7C/q6Pi7AXRFfU6hU+N7SjXi+s67YQ7LdDZESlgWCIAiR7hAJBEHI\noZgFgiBSiqDvr90uFLr7+gSRapBlIU2ZMmVKdy8h7aDvLHq68jvLpA2a/q1FD31nqQ3FLBAE0a10\nhUjwVGgB1AHf6KjGxRu7QHQNFLOQfMgNQRBEt9Fl1oRgPoCIaCAIIjpILBAE0eUkOy5BFAUB/9CY\n5skk1whBxAO5IQiC6DK60uUAvzt8Uc2qEED/mOckd0RqQ26I5EMBjgRBJJ0uEQnueu3JVqGxk7sj\n6dcmiEyHLAsEQSSNLhEJOAB4g4BvsCYM6sIWBU9b5CRvMwAgEDwh5uuQdSF1IctC8iHLAkEQCafL\nRAIAbPEC7nbtOXtkQsHbDPiL4hIJBEFQgCNBEAmmy+IStni1H8OBNu3ngn3ABfsQCJ6AgLt3Qq5J\nwY5EV3D06FGUl5dj5syZAICf/exnGD58OEaPHo3LLrsMLS0t+rlLlixBaWkphg0bhm3btiV1XSQW\nCIJICF1aedHvBmb4I68rGwEAAXdv7cc3OuqaCgSRCjz++OMoKysLuz2A888/H3v37sWuXbswdOhQ\nLFmyBABQU1ODl19+GTU1Ndi6dStuueUWdHZ2Jm1dJBYIgoiLbinPXF2s/YQJoD8ClV8n/bJkXSCS\nSUNDA6qqqrBw4UI9nuG8885DTo62VVdWVqKhoQEAsH79elx99dXIzc3FkCFD4PV64fP5krY2EgsE\nQcREt/ZwKA0aXnq29OuyS5NgIJLF7bffjuXLl+viQOSZZ57BhRdeCABoampCSUmJfqykpASNjY1J\nWxuJBYIgoiIVGj0F0F+vnwB3eySwkSDSlE2bNmHgwIEoLy+XZkk89NBD6NmzJ+bOnaucg7kukgFl\nQxAE4YjuFggmvEEtdiGYD3iD8FTs6bI4haDvr5RKmY144hCl376p/TCEqd5++21s2LABVVVV6Ojo\nwKFDh3DddddhzZo1eO6551BVVYXXX39dP7+4uBj19fX664aGBhQXFyNZUJ0FgiBsSTWh4PHWapkQ\nzLrAgh39RQnLfrCDxELq0GV1FvjaHfESKFCueceOHVixYgU2btyIrVu34ic/+Ql27NiB/v0jVUhr\namowd+5c+Hw+NDY2Ytq0afD7/UmzLpBlgSAIJakmEhgB/1CgFPDUhW/Pqos14VDZCKBrxAJZF4hk\nEQqF9E3/1ltvxTfffIPzzjsPADB+/HisXr0aZWVluPLKK1FWVoYePXpg9erVSXVDkGWBIAgTqSoS\nRPTARha3UNmouScQfTvqWCCxkBpkmmUhFXEU4CgWidi1axfGjx+PUaNGYdasWTh8+LB03MGDB3H5\n5Zdj+PDhKCsrwzvvvJO4lRMEkXBSIXjRKZ5gq/YkmB9pGlVd3KU1FtLluyKIeHEkFsQiEQsXLsSy\nZcuwe/duXHrppVi+fLl03G233YYLL7wQH330EXbv3o3hw4cnbuUEQSSMdBIJOtXhtDG+xLOQUtkV\npN33RhAxYCsWZEUi6urqMGnSJADAtGnTsG7dOtO4lpYW/P3vf8cNN9wAAOjRowf69u2byLUTBBEn\naSkSGN6gJhS8QaCiEahoAioaIy2qCYJIGLZiQVYkYsSIEVi/fj0A4JVXXjGkbzA++eQTDBgwANdf\nfz3OOOMM3HTTTWhrS6C/hyCIuEhbkcDwtGliIZivWRT87m4r85z23yVB2GApFlRFIp555hmsXr0a\nY8eORWtrK3r27Gkae+TIEfzrX//CLbfcgn/961849thjsXTp0sR/AoIgoiKtrQlhPO56raMkS530\nBvXARoIgEo9l6qRVkYhXX30VAFBbW4vNmzebxpaUlKCkpARnnXUWAODyyy+3FAuLFy/Wn0+ZMgVT\npkyJ4eMQBKEi3QWCCa43BPxurapjN0KplF3H9u3bsX379u5eRlbhOHWSLxLx1VdfYcCAAejs7MSC\nBQtwzjnnYMGCBaYxZ599Np5++mkMHToUixcvRnt7Ox555BHzIih1kiCSRsaJBIQzIeo8hjLPgdLu\nr15PYqF7oNTJ5BPV/y6WDbF27VqcdtppGD58OEpKSnSh0NTUhIsuukg/f9WqVbjmmmswevRo7N69\nG/fcc0/iVk4QhCWZ4G5QoVdpDOZrf8Ark9dAJxoy9fsmCCrKRBAZRqZvWJ7qXtoTVlvhmj0A0O1u\nCB6yMHQtZFlIPlTumSAyiEwWCh5vrfbkxcmRN1nlRm8QHjR2SyYEQWQDZFkgiAwgk0SCxx1OxeZb\nT7MqjXVuwMcFNlZo7odUiFcQIetC10GWheRDlgWCSGMyUiTwWQ6yiowVjZHW1J42wN0BpJALgiAy\nEbIsEEQaklEiAQe0J3VubfMPFHAHw3dy7D0Wp8AsDpWNEetCCrogyLrQNZBlIfmQZYEg0ohMEglA\n2JrAWxJkQoGHVWx0t2vHg3kpKRIIItMgywJBpAGZJhIYulWBCQYmAtwdkZOCedojExKsamO4HXXA\nP7RrFhsjZF1IPmRZSD4kFggixUl3oeAJtuqbv5jeqKdBhusk8Mf17AfmegA04RAo0P5oVzSlvFBg\nkGBILiQWkg+5IQgiRUl3kQCELQdu6PEIHrQi4O6tCYEXR0ZOrC5GoPJr42AmEphlQZ80/AfbN1ib\nmyCIpEOWBYJIMTJCJDCrwKqKyJss3sCrdYjkSzUDACobzZaHYKv2hLkgmFBQWCpSGbIuJA+yLCQf\nsiwQRIqQCSJB58WRQGnA+B6LNdAtBuHXYdEg2/hZWWcPBNHgbdbG+dNHLBBEOkOWBYLoZjJBJHhw\nQLMYvDgyvIm7jQWVZLCiS9y5JlcEwlYK32BDpkQqFmFyAlkXkgNZFpIPWRYIopvICJFQ1xl+Fq6u\nyFwNQORxhl+LO6ho0jZ9bzPgL9KOCZ0jTfMzd4b4Pg6klQuCINIdsiwQRDeQ7kLBU9dpzFIANMsC\nYIwrEAIXPRW7AGgFlPQgR05UyASAKb1yhl+bI3hCYj5MF0PWhcRDloXkQ2KBILqQdBcJALd5b/Fq\nj5UNALi20dHMw81hNd7jrtfPlbkq0g0SDImFxELyIbFAEF1AJogEAGZrAAC422PawPVeECyFctEO\naTVGT8UuYOup2osL9gFIzdLO0UBiIbF0mVgQg3bjoc6TVvsexSwQRBLJFJEAhNMYfYO1F96gHmSo\npTdGZ1UAYA583HqqlvXAFVvSYxbCLo10KsRkRdD3VxIMRFpBYoEgkkAmiQSdOk/kuacNnqDmeojW\n/cAIoL8W+8CCIqtLtOd1HoBZKpjVQZVRQRBEl5Ce+UcEkcJkolDwBFs1E2wwP7Jxe5vjn1ghAjzV\nvbRr8tcDgFUV8HhrlVkS6UQm/jshMheKWSCIBJHJf/w9OKClRvKbt0VthKjm3tIv8sIbNAsEGTYB\nkekCuSISA8UsJB9yQxBEnGSySDDBF1pipZvjNFAGZhwEwNds4K4lpmeyQk7eZnjQnLbpkwyKXSDS\nBXJDEESMBH1/zRqhEEB/oDSo/QDhDTuod4tMCJ427Ye3KrDaDTzh4+kuFBjZ8m+ISG/IskAQUZKt\nf9wD6B/uItlucBV43PWJ27hZECWzIDDrheCWyBShQBDpAlkWCMIhLtyftUKBEUB/Q1+GQPCEhGzc\nnopdWu8HIR5CeT6r0ZAhZPu/KyL1IbFAEA5wBZd19xJSBg8O6O4HVr45XgK+0VoZZ5lIEOMkgEhK\nJUEQXQJlQxCEBa6tL2gFgbzBSPR/mlcPjAcPDmhNocItohNdIMmQGcGobNCsDr7iiHtihj8jXREU\n7BgblA2RfChmgSAkuFZtCYuDcFtkv9sgGLIRj7te6xYZKAACBUlpEx2YcTAiGPjvmq/Jz3e2JAii\nSyA3BEFwuO7fDtf926MelyhzfEoTzNesLCxrIQqi+n68QWO9heoS7YetwVcMBPPCZaYzC4pdIFIV\nckMQBMKWBPFulZm8gcjmWNFkcEfom6DQWIkdlyHbONPBteHx1mqf018EeKOrccB/ZrvP6qnYFYlJ\nYHUWxN/NrT5trgx0RQDkjogWckMkHxILRFbjWrUl8iKYbzZxszx/JhbcHdpjRaNxDHvOv6dyWUhM\n6OnQHMlTscu0eQfQP3nXClsQsKU0coB9p96gFhCJ9PjuooXEQnSQWEg+JBaIrMV1/3bzhi4KBnHT\nD+ZH/mCw3giyOfix/GtRUHDCIR3ukj3eWk0wMOuJsGaZBUG0pDixouhWjC3eiEBh3zN7LA0AF+xL\nC6tMLJBgcA6JheRDYoHIOgwxCXZiQXYO/z5f0ZAfK25sMusDf73wOal+l2yqbyBZs35O+JhhDBMZ\nNp/TUPrZV2w8yAJNS4NJs2ykAiQWnENiIflQNgSRNbjm7Q7f7VucJIu0l0Xe65t/nvxc/tEbjNyN\ny+Ii9C6OktLGKQZvSdDSKCXfjb8o/KQIHm9YKKgsNWwub23kfb8bqASwqsJ4kknY5cFzgWa1yETr\nAvWNIFIJEgtExuMa1xCO4g+/IcYZiJuQaAWQwR/ztGkdGcUMAXeHJiZUQXri9aCZ7NNh4+OtB/Br\nd/e668CNiGDQRZMmqlQWhYB/qJbd4G3mxIYCTohlQudJgkgHyA1BZCyuoUHAzQUmetqMwkD1nOEk\nl1+cw06IyAQFELEqpEHhJ96tYIpZwAHtiUw8XbBPGyN8NtMY1h9C7DgJGN067vak1HpINci6YA+5\nIZIPiQUiI3EN5Uz6biGTgf2HtyotzIhWMDg9R1angA+Y5M5PReGgCwZvUEsh5dMqAwXSMeLGrmdX\nbPFG2lEz0SRaY/j3hTiQQOXXCftcqQoJBmtILCSfzJflRFbh6t8OV3+HVRb9bmO/ASDyOp4KgbLx\n/LzBfL0Kov4DaBstO87dVXsqduk/qYinYpd1nAfrThkuouRx12tjVlVo9RSEz6uPEeesbASu2WM8\nJ5EtsgmiG+no6EBlZSXGjBmDsrIy3H333fqxVatWYfjw4Tj99NNx11136e8vWbIEpaWlGDZsGLZt\n25bU9ZFlgcgIpALB4CIQrAsmd0C7eYxTorEsWHVV5Gs5yAIBU8DaoFsQZBkfbMOvLpYPDvd0AAD4\nBofP5Soz8p+ZFwvMgjDjoLYGVg66skF7P0viFsi6oCZTLAttbW0oKCjAkSNHMHHiRKxYsQLffvst\nHn74YVRVVSE3NxdfffUVBgwYgJqaGsydOxfvvvsuGhsbMW3aNNTW1iInJzk2AApwJNKaiLshSksA\nbyrnhYMszoAh1luw6lEgxi942rRrlgaUZnoDVpYNd3v3BULym7jpMS/y2WTrD+YbMxxkqaZiyip7\nPcMPsDRJll1SXQLc6oMHmVmYicg+Cgq0/z/ffPMNjh49iqKiIjzwwAO4++67kZubCwAYMGAAAGD9\n+vW4+uqrkZubiyFDhsDr9cLn82HcuHFJWZsjCXL06FGUl5dj5syZAIBdu3Zh/PjxGDVqFGbNmoXD\nhw87HksQicA1NCjEJdgEKAYLtB+/W9vUVCmPTlFZItjdMQum5PsoiI8izCXB1qYy7TOzfne4Jays\nKEwoOLG03OrTXAoz/JFH9nPNHmPApzcIVDRq7gsc0GpbsABH/9CsEQrUNyLz6ezsxJgxYzBo0CBM\nnToVI0aMQG1tLd58802MGzcOU6ZMwXvvvQcAaGpqQklJiT62pKQEjY3Jc8s5siw8/vjjKCsr00XB\nwoUL8dhjj2HSpEl49tlnsXz5cjzwwAOOxhJEPLjGNYSfSe7OndRIcLdrokF/3aFtcp42+Z0uP84K\nWYdEsUQ0YBYpMvRNt0P+eViTJQj1CdjwJFkcPO56tagK5kWsJ6q6FGztALDFq85kCAKe0gPG+I1V\nFVLrg8dbmzVigch8cnJy8MEHH6ClpQXTp0/H9u3bceTIETQ3N+Odd97Bu+++iyuvvBL//ve/peNd\nLlfy1mZ3QkNDA6qqqrBw4ULdv1JXV4dJkyYBAKZNm4Z169Y5HksQseKatzv+SUybb3jz5l0DbIOS\nmdxFrHo2IxH4AAAgAElEQVRAuDuMQoF/z65zo27Ol4gLm6DMZARE8tkPqGiM/LAOkfxaePjvZ4Zf\n+8zX7LFPeQzmmf3D/O+lslH7kaVXZjBkXUhj2v4BBB6J/FjQt29fXHTRRXjvvfdQUlKCyy67DABw\n1llnIScnBwcOHEBxcTHq6yNpzA0NDSguVsQLJQBby8Ltt9+O5cuX49ChQ/p7I0aMwPr163HxxRfj\nlVdeMSzYbixBRItBJBju0h1aF0Ss7o5LhY1PZWkQz4kVJhhkcQx17sgxdtfuadPWyawOqnLS8azJ\nAqXVwh3OduC/L7aGcMZCIHgCPBW1zi0frN4CYP6dbfECi3Zoz32ZW/JZBlV27EbcFgLfduwZAM6I\nvK5eZjh84MAB9OjRA/369UN7eztee+01LFq0CIWFhfjb3/6GyZMno7a2Ft988w369++PWbNmYe7c\nubjjjjvQ2NiIuro6VFQIVU8TiKVY2LRpEwYOHIjy8nJs375df/+ZZ57Bj370Izz44IOYNWsWevbs\n6XgsQTjFdVu1TaBfm1owMOyqMDK3BPsjUOc2WwP4c/n5rTIagMimzs61WgsTAyr4Yyy2QSYchMdE\nmOlN/SCcrBEwfBeseJOTtXjc9cCWkdYnhes7EESm8Nlnn2H+/Pno7OxEZ2cn5s2bh3PPPRdnn302\nbrjhBowcORI9e/bEmjVrAABlZWW48sorUVZWhh49emD16tVJdUNYpk7ec889eP7559GjRw90dHTg\n0KFDmD17tr5YAKitrcW8efNQXV0d9Vh9ES4XFi1apL+eMmUKpkyZkoCPR6QjrtuM/5ZMm6xoopcJ\nBhE7a4MuALjNXhQNbPPzWgRWirELvFgQ1yFzMTjJlJCtia1XFCj8ujjB41RAeLy1+ni7zdnjrjem\nTbJARETXUdMTbNW+B1UFx9IAUNGU9bEK2Wxd2L59u+Em9P777++a1MlKh8LZCdUnpJV73nGdhR07\ndmDFihXYuHGjnufZ2dmJBQsW4JxzzsGCBQscjZUuguosEAgHL8qK7Mg2enFT1e+wbQSETUqi9qgQ\nDIaNWWFlkFkbmGuD38jZa5FoxYK4Ln19gkVDrHoYrVjgxypEg6FTZLieQiwbuqe6l/bEooFXNlRt\ntCObxYJIl9VZyGKxEFWdBWbiWLt2LVavXg0AmD17ti4UmpqacNNNN2Hz5s3KsQQhw3WhH0CeOhNB\n3DjEDdIqWNCQ/WDhotD9/RapjWzDZ24A2ZyS7ojaeR3G1zL4z+FUOMjOY++J30sU7glTgCQLoHTX\na9YVX7GxDHMpInEWwfyorAkmVKKOFXWKZ+4MgWIXiK6EKjgS3Ypr3m6zWyHeEr5so2Gbuz8cKBdN\n3wfRylAalPvk+UA+J70m+EBFp8RibeCvZ1iPuXGVqbFTuOCTLhasMkIU2SWxVFX0eGu1wEXA7III\np4uSRcEIiQUNsiwkHxILRLfgun+7MQWQFwycr9sWqywFQIuo1/P/uTt6Zm2waxvNxALrSeB3R6L0\nmZWB72Ype7TKmJDVYjB9Fm7dsbopDJYQIaaBCQdeFIjWHL5Koyxok71fERF60QYgeip2AVtPjZSA\n5tdW2Ri1CyVbIMFAYqErILFAdCmu26qNwX6JFAuyIEL2mt/gAXNMg4V/nPUg0F+Lc4ndLPlznZSO\nVt3962sT4jGA+GIb+PlFUSMifS8v0iEzmB9ZV/i9eNwPhngFJhTC/x7icmtkONkuGEgsJB/qDUF0\nCXqtBN66rNpI69zGegdWwoHfVFTxCO72yIbPzNuB8OZrlUnB5qgu0cazO+4ZdcCW0kjKpd+tPVYX\nG9dttXbe2iD2qVDFNPCCwao+gwqrc61qT/CNrXhRwda/9VTtHPZ78MW5qYtuD93yEd+0BEHEDokF\nIukYiioxa4JX8ZdfrKjIm/oBuVlf9to0r8xywAIOC+zrIDAzPmtiBBifM/g6DeKcVtYG9hlkGzpf\nT0GkNGj+zuzggx/tyk/r35FElOmiIXJOPC4CT7AVKG01uiFKA+R2cAAFOxLJhsQCkTT0uARZR0i+\nyp+hkBC74+fjC4TX4t07EyBW8QHixs38+O6OiHXByo3BRMGW0oi7gRcK+hxtkfWWBo2bLJuXjXeS\nHcGvRcxw0EUJ9xiNcODnE6tE6tfPAyqaDN8xi0XQ21VblbyOhjqPcZ7SAODugAcdCCC7qjQSRKpB\nMQtEwnHdvz3yQhVJL9tg2ObL7ixZhUZ9Q+IyE1SZDbK0S/ae3208V9Z/QRX4GGAbfVB+nL8eWzsf\n/MhbFcKboHH9ih4Vqvl5wWCIAYnSymBFadBsARIFFb/GOKoqenBAc+OIv8cZfk2gkHXBEdlqXaCY\nheRDlgUiYbi2vhAO/rOplggYNwW2gc7waxuGN6gJhmCeEJFfoB2zqitgujOWuDwMG7JwVy/WWGCC\nRWV1kH0u/VyLJlDeYNit0Rx+3Qz4i4xln6VVHzl3hYezYsRjZVClcQbzIgKLX4s3qHaxxEqdWx6s\nShBESkBigYgbl39VeONg2QFCEJwsFY8RzI8U2mGigb3PSgcH+LnCG6Osh4O4ObNN0KpOgBWy4kx2\nsQ36WgRBIsuYYOixAIqy1qa5BcEgrk8/R8igUPWfsKr7oGePcBkPfrcytZLVaIgaX3Fk/e72yHr8\nRYBXKwRF2RD2UOwCkSzIDUHETND314jfmpnAZZ0C7Uz2AHCrT3tkd7Krwt3TtpQazxebR/Ebuvg+\ns0QYFm0T0MfPJYqFoI2LgMeqdDQTDKwmAe9W4esWAJyrxKaAFN+HQoWVpUHMrpDFfui9MZrl84e/\n62jEgsddr12rzq397isbIp9DiPUgseCcbBMM5IZIPmRZIGIi6PsrAK1AjqF/QGnAKBgAvfqeNlDw\nSct84v6iSKaBN2CMI1BZJ8TgxqAkHoHPftDfU9xRS60KzFJRAFuLib42ycbMzmfCqJT7fvgNMpgf\nLiYlKY6kr0mSfqkfE5tYcWmX4vmy8ZYCRd60KiqhgAORio38Otm/F/7fjDcIjzdGqwVBEHFDlgUi\nKphI4NHFgh6gyJmURXeETDTw7gfmwweAF8Ntipn48HEdDZ0Qi99bj1FQiQhJBkOwQL6xmoItuTlZ\noKReoTBcB6KiKTwnq/FQbHxtZaWRFXpyEkipQpYVwgdq8tYMZlVw0m9C/P0yuCqNpusrylPzpalJ\nSBjJJusCWRaSD4kFwhEykcBjcEcAZnM/25zEjAR+k2ObBb9RBvO5YEfFphwPdoJCamFQdI70e8zn\n8tewckm427UNkWUg8K4d0RWhstKoAgTFzAl/kfbaacaEqlU0H1sgFm4CTJu43mti66nao5710m4W\nH6ZaDty8/qHGJleqTJgw2SoiSCwk/hokFrp7ESQWUhY7kcDQrQu6iT28IXmbI3/EfYO1R71csrDx\ns82SdS7kLQl87EIiBYMhINBCOKjaVgNcEKCwqUvrPXCbK19oiq8yyWIC2HfICEjcMSq3hCgcZDEN\n0ZSPdiJQ+PoXTPDw7hoWGMmnSOpjhdoTskwQ/poq9w8JBgPZIhhILCQfEguEFKcigUc3MQu+ZkNZ\nYEAetMfOFS0PzG9vKICUYOuCDKuNHlBbF1SCwc6tweox8I2T+PH+ImP8gpMMD3FDZ4+molZ5ZrEg\nKydt5ZbgMfTICGeueNqMRZfY75NlwqjWDhiFpxWyGhsSssltQWIhsdcgsdDdiyCxkFLELBQYotna\nUDRIEe2vGstM1bINWSRZIsLKjWBaQ3idYltslVjg5+JdEoBmaRAbNjHBEE06qFimmRcC0fSYUAV0\nyu7+2WdR/X5F14OqnDVgDqSUiRRLq5D6GAmGzIDEQvIhsUDoxCISeAyCATBuDHaZA/w5vsFGawJ7\nrJP4zgHz3XwyEDd9vryzu0PbHFkKIB9bYXAH2FgXAKNrAoikV/J1EJgbRxZLAKhN97LHaBDLQssE\ni2p+VWCrOL8KUUhEIxaUc7ZnhVgAMl8wkFhIPpQ6ScQtEpTwGRCyVEmlv73DuDl4g1r8QmVjZAy/\nael3pm3qIMNEYXIzhKsosqwF8fqGDILwOksVVSgBc/VGP1fZUBQS7Lv0u53d9fNjY62+KFaYNKSr\nChYPVWaD7Dhg7n1hOF9oB87jdP3CedkiFAgiEZBlIYtJhkgwWReEO2zxD7QhlU6EzwioLokEycnm\n5zdfX7Eza0ZXwbsVxPfEmhQMFsPAn8vEgeg68AnplXbrUPV7sIPfxEWxI6uBIabL8teSWSB4IWKq\nTGlhWVCtP8vdDyKZbF0gy0LyIbGQhSTNkqDALphMFxiqu2LdvC+5a+Xf04sYKbITuhO7DV/msxez\nJfh5xI1QrEHBRIjsLl02n7hOFaoYB7HQFD+XKoNCdi07keBkzTafIRuFAkBiIRHXILHQ3YsgsdBl\ndLVQcIqhCqQMVumPz+uvLjZvSHp8A0vPzEu+a8IJstgFVSojnyHBj7Xa5HUrDCeaVKjcGbJ5ZeMA\ndUaL+B6P1fpVRaSs1hRD3EK2CgVGpgoGEgvJh2IWsoRUFQk6srtQftNh8Qr8hsDS7li3xjqPOSYi\nmKeVjO5uwWBXxwEwZkUwa4q7w7jxlwbMLhaZq0XVNEoGHxehr8WBhSFQYLy2nevHSZyEpIS04zU5\n+I6zJWWSIBINWRYynJQXCRKk1fn456bmUPnhID9JkaGtYYtEdUlquCMYYnYFK9LE3q8W3AqyO25Z\n5oT+XURpXVDFAKhcBSo3hNP6D/y8YidOUSzI1hBL9oNAtoqGTLQudJllYUZd4ibcUppW+x5ZFjKU\ndBQJDFN5YIZsgzDcrXIbqrSZlRDLII7vTsR22gyWQWGVDcBQ3blbtaVWZS+wOayyFsRznayLf4+N\nsWqRLZ6bAJHAyFYrA7WxJmKBLAsZRjqLBBlKK4Pde6xdNrvTBozBhACUxZ1U8yYTd7tR0DC3C19b\nQhUACRjLKwPmO3yxRoWstgNbh+xRPO4EMfjU6hpizEIi6kJYkI0igSfTxAJZFpIPWRYyiEwTCoBg\nZRDz9sUNSGZlYJuw323cFFldBlEwqAonJVs88KIG0HpheIMRywJgzpjg78hVBZrYefw84lx8uqJd\nXIGs2JQdsXx3vEgQxjvZ6E1WKW6s6lg2QdYFIlpILGQAmSgSlIgVAPkMAH5jCeaZg+/YeLtKgUxI\n6NcssHeBJAOxc6dJ2HREgiCBSJCnWGnRbn5RNOjH860zGJTzWsQtqCwGMouCWNALzi0CVudlu1WB\nIGKB3BBpTDaJBMu7Qb6sNP+a32z5AEe2AfHplYA6lVHE3WFueJVoxABIOwuIVSwDQ/V5ZOPFAEjx\nOXsty4CQFWiSzcELEb4rptjLIgxt8oknU6wL5IZIPmRZSEOySSQAQtEmq/Q8UwofZ3rnSyOz4yz7\nQJU54GQDTjZ8YSmDG0a0AhSoBQQfo6F0syhcHLI4CNEdxD/q126Xvy8rA+1uj7hKLMjWgESCSAXI\nspBGZKpIcORDtruDdxL8WCdYA0xBgA5qMfCmfb8bej8KuxoDiSCaOAGlKCiwPm6VoimuwSql0Ykr\ngj03pFEGLV0fJBYSTyZYF8iykHxyunsBhDMyVSg4xt2OgH+ovpHwz9lxy9eAtukxawL/E8w3lkcW\nAyGDeeb3PW2ataI0qBV9crdFHhMcuR8TwQIhRbQgYlmwapfNp2kyAkKqqZUQUGU+WK5VGMMHewrX\noODExJP1f1sIR5AbIsXJhv/I0dwt8ufyzw2bCBMAsnRCcYPzu7XzmNVBLBAERIIl+fn5x9Kwi4Pv\nS8GvozuxSg9VIbMuqBo8WQkD1WeXVenURRuXtRJL5gVBEEmB3BApSjaIhK7C0NnSEISXp22CfNqh\nU/M5D38u76KQHY+XRGycVpYF/RxF/IAs8FE6XpGJIjtP9shfy9scfoxU7iR3ROJJZ3cEuSGSD1kW\nUgwSCYnHYIGwaljFBz/yG5xVYSJVnAKfxSC7g+5OrAId9XMkXTABc+VHwDqtVBQBTmJPHAgiCnYk\niK6FxEKKQCKhawj4h2objX9oRDgwKwC7k2XxC3yDJTH+QQWfaREo0FwUdW6bOIEUKTkdK042eCfi\nwiTKhFRKARIMiYUKNRFWkBsiBSCh0D2YguVkQXV8QycWB8G/lj2KiO+z2IZoe1Qk0nfvxBUB2Lsj\nTOc7FFSy13zNBUBzPzgsCEWiITGkq1ggN0TyIbHQjZBISB30uAZTAGSR9sisDVZxC+52ueCQpVXy\n1gvxfBWJDvRLlmAArNdq5dYRizR5g44/NwmGxJCOgoHEQvIhN0Q3QCIhRVFlPPCxDMF8ecYE2zhZ\nyWVxPj4zg83Bl6bmSSW3RKyFqZxmMqiOi+WfHUBuicRA7ghCBomFLoREQupiaDAkBiGyOgsq+A01\nmKcJAVmqoaxXg7tdc3WoAiLZOamIKp3SDlUAqeiGYEJNEbMgg/0OSTQQRGJxXJTp6NGjKC8vx8yZ\nMwEAu3btwvjx4zFq1CjMmjULhw8fNo2pr6/H1KlTMWLECJx++ul44oknErfyNCLo+ysJhTQg4But\nFXsSexy4OyJZAJWNkVQ+d4e1id7TFva7d0QeS4OamKhsiJzLz8O7BpxmEKQyMteOXRVIwGxtiRJP\nxS79h4ge+ntFiDgWC48//jjKyso0vw2AhQsXYtmyZdi9ezcuvfRSLF++3DQmNzcXK1euxN69e/HO\nO+/gN7/5DT766KPErT4NoP90aYiY+cA3mmJ3wkwwiOfrEfzNnKgQq0p2RPzx3qDmBy0NRIo78VUg\nnWZhxIKTgk1ONu1AQeTHDqefJQY3hAoSDQQRP47EQkNDA6qqqrBw4UI9IKOurg6TJk0CAEybNg3r\n1q0zjTvuuOMwZswYAEDv3r0xfPhwNDU1JWrtKQ1ZEzIAtlGxTb9OYhKXbWa8SLAqQz3Dr1kqKhvD\nAsS5uT1tceJecXckVCQFfKPJLRED9PeL4HEUs3D77bdj+fLlOHTokP7eiBEjsH79elx88cV45ZVX\nUF9fbznH/v37sXPnTlRWVsa34hSH/oOlP3r8gqyAErMsWDVRYs/5oEjLfgp5Ef98ZWP4nKC8GmSs\nuNvMlgS7bAir4EYWV5AIa4JYtVHvkikp2e0QEgcEkVhsLQubNm3CwIEDUV5ebkjzeOaZZ7B69WqM\nHTsWra2t6Nmzp3KO1tZWXH755Xj88cfRu3fvxKw8xSBLQoYibmQslZIdk/3w6X7sNWvQVOc2P8qC\nHg3Co838E9VniPJ8RixxA3biwarao3iewxoLRPKgv2ldR0dHByorKzFmzBiUlZXh7rvvBgAEg0Gc\nd955GDp0KM4//3wcPHhQH7NkyRKUlpZi2LBh2LZtW1LXZ2tZePvtt7FhwwZUVVWho6MDhw4dwnXX\nXYc1a9bg1VdfBQDU1tZi8+bN0vHffvstZs+ejWuvvRaXXKJOx1m8eLH+fMqUKZgyZUp0n6SboP9M\nGY6e6hiMlEAWrAvMEiG7m5WWl2YbKntkmyVzQ/ApmnUe7dqmJlVc9oQdYlvqWJpLichEQbRZEQyl\nO4JEAiFn+/bt2L59e3cvI6Hk5eXhjTfeQEFBAY4cOYKJEyfiH//4BzZs2IDzzjsPd955Jx555BEs\nXboUS5cuRU1NDV5++WXU1NSgsbER06ZNQ21tLXJyktNMOqqiTDt27MCKFSuwceNGfPXVVxgwYAA6\nOzuxYMECnHPOOViwYIHh/FAohPnz58Pj8WDlypXqRaRpUSYSCpmNHhTnd5t97cLdv8rs7anYZR7P\nNn1RLPDwNRl4F4YoGgxjohAB0VgbnNZacFKkyUnjKHZNJp5iEA3khkgsqV53IdOKMrW1tWHy5Ml4\n7rnnMHv2bOzYsQODBg3C559/jilTpuDjjz/GkiVLkJOTg7vuugsAcMEFF2Dx4sUYN25c4tbIEbUE\nYdkQa9euxWmnnYbhw4ejpKREFwpNTU246KKLAABvvfUWXnjhBbzxxhsoLy9HeXk5tm7dmrjVdxPk\ncsgyTNkRkQ3cLnhOP2ZwK4Q3X7Y5lgYkrgdFgShW2bA0GMmq0H9icFE4QSVO+EJUKuwCFaUuiA6y\nKqQY9Peua+js7MSYMWMwaNAgvezAF198gUGDBgEABg0ahC+++AKAtteWlJToY0tKStDY2Ji0tUVV\nlGny5MmYPHkyAOC2227DbbfdZjpn8ODBukti4sSJ6OzsTMAyUwP6D5NdmAIdxYBHh4GHgeAJmjuC\nBesBXIVDm7t28dqqzTdQEHaR5MmDGUVE14TlGoQ1ioWmgIjLxM4VIX4W8TOw8UyQxRjgSNUciXQk\nJycHH3zwAVpaWjB9+nS88cYbhuMul0u/YZdhdSxeqIKjA0gkZC/SzIhgnr6Jedz1CARPsJ/I3S6v\nEml67DC7Kbg5TK9FAaH3nuDOUwmHWK0Q/KbOw5ew1q8tbPROghaDeeYaFTFAgiGxUBloxB6XAwCf\nvwt88Z6jU/v27YuLLroI77//vu5+OO644/DZZ59h4MCBAIDi4mJDFmJDQwOKi4tVU8YNNZKygERC\n9qLsSMnhSCTYzWuIZZA8t4tvUL3WRQNrVGVhaYjHuuDExWAlFsTx+rxcrYU4BAOJhcSSqmKhy2IW\nrk1gca8XRhvWfODAAfTo0QP9+vVDe3s7pk+fjkWLFuHVV1+Fx+PBXXfdhaVLl+LgwYN6gOPcuXPh\n8/n0AEe/35806wJZFhSQUMhOlJX+xDt3dzsQQw0lacaElYCwQ4yl4DfhYL5Wt4H1nog1C8LKVWLl\nInCyyfPjZUKBSCnIupA8PvvsM8yfPx+dnZ3o7OzEvHnzcO6556K8vBxXXnkl/vCHP2DIkCH485//\nDAAoKyvDlVdeibKyMvTo0QOrV69OqhuCLAsCJBIIpWCQ9DhIxJ2r4XoqSwGr7xAoUG/QpvbaXPtr\nOwuDyrrgpDCTk01d5kIRn4vZEGRZSElSUSxkgmUh1SHLQhgSCQSDbTAm0cCqLALJK80sboyyQEiW\nEcFnKQQKjN0uWXAga6/NxqvEQrBALhhYbQkRO9+tKoiR/1xW5Z6dnGcDCYXkQNaF7CTrLQskEggr\nbGMXvMGkbUr6tcU4BJWbok6SncHXaWBrry4xnwck1rpg9VpWs8IwF3e9OGotACQYkkkqCQayLCSf\nrLUskEgg7JC6I/jYBVnviARisnAoaj3or0uDcsHA1sksDSpU1gUZTgowWb22Sp3ksyFk4x1CQoEg\nEkdy6kKmOCQUiJjh/ejBfAT8Q/XNPFltkKWbHt+Dgv/xtMk3crbheoNAZYP247SIk6wok9MGUqq4\nA5nQklkW4kydJJIH/R3NLrLKskD/uIloUMYuMNzt8LhrAb9bK7rURVYGU70GhlinQTwuQ4xhcFqs\nyRCMaBOXwNeCiMYFwc9BEES3khVigUQCEQ9W5my9YBOgFWny1iLgH5rwNfCCRSpeDCmdedrmyzIn\n2PsipUGgOsZ0SrHaotMNXRW7oL/HNetKVhApkTAo2DF7yGixQCKBSDbd4hdXtXS2ep8PjmQllIP5\n8voL0WRFiGtS9beQIUuZFNcdp1Uh0VUceaFGMRFENpGRMQvU6InISsSgRz5TQRQMPPGUfVatQ7yO\nUxeNKEjiFAvJEgpEBPpbmx1knFigf7hEOuGp2CXdhFTvA1AXZGIuCEDbyJkbQlJMSqc0ClO/qvuk\n3bpiJQHZJpbfYxfOkenQ393MJ2PcEPSPlUgHTAGK3PtW5zuCbaziHb+qKiR/Hu+OiCaFUh8vKSbl\n1CogNqbiAx8TFNzIvt9oLA1WAoFcEES2kfZigUQCkQ7YBigCluWklTUXeJN/ME/dcEq8RjDfuEE7\nbLetRNVd0uocwJwFwX+ubgpwJCtCbFCwY2aTtmKBRAKRThisCVYZCjzRmOD10s4d5sJMduZ8VggJ\nsLcq8IGOqsJMVlYGZV8LLgsiiamSVgGKZEkgCDVpJxZIJBBpi93m78BHz29aHm+t87lk3SkNjxaZ\nDvocwjmi+0CcV7Uuqzm6sNsk7+IRhQKJg9gg60LmklYBjiQUiHTFUI+BwW3mAd9o8wblNPXQyXEW\n6CgKCPZaVfnRsF6bAEfDuYo4CauqjRbfT7Kg4EWCcEZaiAVKhSSyBmHDdLyR8dkQnjZ5FoRkftNr\nu+wIUTA4KfvsFFFQdFPlRt7aQEIieuhvdWaS0mKBRAKRsQh3+oZofb40ssXdtcESoWcPSMolWwU7\nRnv3bueucFJbweqaql4ScSJabuyqcpJIiA/6u515pKRYIJFAZCSyGIJgvhaYGMw3p/eFz7GMTeDh\n6yxEm3rINuhAgU2lxihcEaaxEpGgZ2/kGc9JkgtC6u5JwLkEkemknFggkUBkIgaLAaAOPoTc9aC8\n2xXFQEVTeICDOgkyIWGIIXAQ9BgN8cZgxIhqw7cSAt0tEjLBskF/yzMLVygUCnX7IlwuBKr/t7uX\nQRBJxZQ6qaqsqAr04+ouGOZllgd+Pn+RsZGUKuBQhH9fvOvX1ymICKuW2FYxErKOk0l0Q1gRS9Gm\nRBKNOOhuIRMNXZUZ4XK5kOytzOVyAdcmUMS9MDrpa04kKWdZIIhMhZm1A/6h8s3aUGBJ+9HP54+L\nqDZm2SZuF6cg26TtLAxWQY5ORYp4ToLdEHabcXe6HKK1IqST1YGsC5kDiQWCSCUE94R+x+sfanjN\nYxnoyAsJuzt2VSMqNh+bM5YeEarrAUYLhlXDqziJugdHkon12ulkWSAyh7QrykQQ6Y6nYpd9lgKg\n3HRlVQiZ9UF3SbjbzZUc+Tn5Akr8sVg3aLG4khVOqzQmqE01T0J6cCRpDU5IR6FAhZoyA7IsEEQX\nYwh2dHCnzwSAk42CWSDgbtdqJpQGFa4FBxswu+NXWRis1m31WnbM0NTKPm00kSTbBcEsCInqgEkQ\n3QFZFgiiGwj4Rjsr18zSJ/k7Xydlo/lHfj7xuXKBglDwtEVXgCnWwkqmYMruKcwUC6LFJ9Ebezpa\nFcZbK5cAACAASURBVBgZY11Io3+PiYYsCwTRTeiBi076KLA6DIqYBsO8Qp0GVDaa53OacRAoiPw4\nOVeFaCmwK96U4BbVViTjbj2Rc2ZKvQcKdkxvyLJAEKmEnVuCw0mdAI+7XntDZhlQbdKsfXW0pZzF\nmAWnbarZa3a9QEGk7LTf3W2tqp2SLNdAJggEInMgywJBdCMG60KUAYZ2lR1NdR1kJLN5k9O5pGmk\neRGXRLjCZTJjGGKJKUhmJkWmCgWyLqQvJBYIIlUQ6yzEScA3GoHgCWEh0qHd+fPuB7sgS6fZDfoF\nHbgrxE6Ysuc8/HeSxf5iguhuSCwQRHejCkh0gMdba393626PmPJZR0rxuCgg9AtEKRjscCqCxNoL\nQMTCkGScWAySnZWQyVkPZF1IT0gsEEQqEOdds+Xmwub2NocbRTkIqDRM3uZcNNidJ3N7OCnC5MQK\nkWAyecMmiGghsUAQ3YwpeyFahDbXlvOzjV90QcgeY+nRYBdEaZX5oDrOd6SU/SQBqwyErhIRmSxW\nyLqQflA2BEF0I1EFIdrdeVts7AH/UC0zwtusNZmSZTtEIwyizZSwQqzJwD6LVVXILIhhyNQgR0bG\n1F7IEsiyQBDdgO4XV90lq+7Ao0itFK8XsRZ0RAIe2bxWyGIqrFwTsQgJ1RoMsQt5mtBRWRcSaGVI\nhbv6VFgDQTAciYWjR4+ivLwcM2fOBADs2rUL48ePx6hRozBr1iwcPnxYOm7r1q0YNmwYSktL8cgj\njyRu1QSRpphEAkNVMCnKUs0s4FHcaByXmOavL7No8O9biYJoOlHGCi8W/G7je3FgVwRJ7x7aBXf+\nYqlo/ncrPqYj5I5IHxyJhccffxxlZWVaP28ACxcuxLJly7B7925ceumlWL58uWnM0aNH8cMf/hBb\nt25FTU0NXnrpJXz00UeJXT1BpBnS+ATVBuduV29K/IZuFTQISXQ/b2Hg+0eIc/HuAVmMg5V1gX8/\nls2bH2OKg8iTn9tFgY+pQCYJBiI9sBULDQ0NqKqqwsKFCxEKhQAAdXV1mDRpEgBg2rRpWLdunWmc\nz+eD1+vFkCFDkJubizlz5mD9+vUJXj5BpB+6AFBZDyw2P+XdrEQ0KFMA2bl8ZUR+47cLchTXnYj0\nyng3erFGRRyFnKLZeFMpriBdBQNZF9IDW7Fw++23Y/ny5cjJiZw6YsQIfeN/5ZVXUF9fbxrX2NiI\nE044QX9dUlKCxsbGRKyZIDKCaDYa3sLg2ARuITaUfSlUcQx22RO82Ig2fVKFaF3gLQx8hUer8aJw\n6MJult2BymVBEPFiKRY2bdqEgQMHory8XLcqAMAzzzyD1atXY+zYsWhtbUXPnj1NY5nLgiAINcpN\nOxztH/Ufe1m8QXhz5MWG6Xxvs3wu2WvR8iBaKOxIaElpTjRYiQFZAKldQCjRZZB1IfWxTJ18++23\nsWHDBlRVVaGjowOHDh3CddddhzVr1uDVV18FANTW1mLz5s2mscXFxQaLQ319PUpKSpTXeuT3f9Kf\nf+eM0zHxzNOj/jAEkW6YOkny2DRRsm2DzPeaYAGA/Hj/UGPqprtD23jZhi+rmSDGNLBr2NVKENfl\n5D0ZqnTKYJ62fnENVr0v+O8njjTMZLSjzkaiSaXcvn07tm/fntwFZQjvv/++7c17bm4uRo4caXmO\nK8SbDCzYsWMHVqxYgY0bN+Krr77CgAED0NnZiQULFuCcc87BggULDOcfOXIEp512Gl5//XUMHjwY\nFRUVeOmllzB8+HDzIlwuBKr/18kyCCLjkGZHAPqdu53LwbBRyeoPMMsCs2KI46Spm+G7dT11UVIL\nQXyPz0gQUVkpVK/tjqksGLxgcDKPeEw4J6rvPoVJpdgKK2Ktu+ByueBwK4sZl8sF/OidxE34xLik\nrxkACgsLMXbsWMtzPvnkE+zfv9/ynKiKMjF1snbtWqxevRoAMHv2bF0oNDU14aabbsLmzZvRo0cP\n/M///A+mT5+Oo0eP4sYbb5QKBYLIdKRpjDx2TZScYlUtMZgPj7fWIBj0O2J+o5RYIPRjVq/Ze4mO\nB4hGKAARkSMTDTIxxh+LwboQs1XBai0JRG9VXrErLQQDFWpKPGPHjsUbb7xhec7UqVNt53FsWUgm\nZFkgMhnZZmLaZFQZEOFNRLQKWM5vsWErrQtsnKHIkRBAaAgwzDdaGcRri+/FWDdCedw2iNLCwuDk\nGmH3j5MNNiqxoPrddGE1ylQXDbGIBbIsJB+q4EgQSUb2xznau9FEmbtlVg5TwKMTxCJSPHZ38NEQ\nc78MB9kShvPlAY9OvveoNl9VkCihQ8GOyWPXrl1Yv3491q1bh3Xr1uEvf/mL47HUG4IgugCludqu\noFAw3xTkKJqU+ecGt0IU19HN1d5aLmiRDxjMk/eTkOGkl0U8JLptNg+zgtgEl4pE5Y6wsrJ0Aeni\nkiASy/XXX489e/ZgxIgRhlIIl112maPxJBYIooswbOre2sgBVaqf0Fgp0dYFywJP4tr4TAmWkcAL\nBz4rQhYMKc6bDghxDGyT5X8PfExAqpAJ2RkUu5B4qqursXfv3pjLGpAbgiC6AUPsgJMqiQIx1V+I\nZl1Sc7nQgEp2DdVnUV0/2iyIrkCI3ZD1Y2BQ4aPkkW3uiPr6ekydOhUjRozA6aefjieeeMJw/NFH\nH0VOTg6CwYjFa8mSJSgtLcWwYcOwbds2y/nPOuss1NTUxLw+siwQRHfhxFyvCnhUWAVkd76qAEgx\nO0If4x8quCM4wSDWY+CtC+x1PDEKdiTVBcHFOLg7tLX7iiPuCFlNiRRDLLxlm4lDpAy5ublYuXIl\nxowZg9bWVpx55pk477zzMHz4cNTX1+O1117DSSedpJ9fU1ODl19+GTU1NWhsbMS0adNQW1trcDHw\nXH/99Rg/fjyOO+449OrVC4AWtLl7925H6yPLAkF0E6Y/3E42ofAdr8GNYYGpgZTTtfmHRqozSss8\nh+MZWJlncROPpaSzo4UVOIubAGLIiFCcL/aZSKOS0WKHzHSzgmSTdeG4447DmDFjAAC9e/fG8OHD\n0dTUBAC44447sGzZMsP569evx9VXX43c3FwMGTIEXq8XPp9POf+NN96IF154AVu3bsXGjRuxceNG\nbNiwwfH6yLJAEN2Ifudvt/kk6Y7WSbCbodIjDx+fwO7KxeqPVrUX7D5PvJ9ZrOroBGY1UVWEBJSl\nua3XklyLBFkMMov9+/dj586dqKysxPr161FSUoJRo0YZzmlqasK4ceP013b9lwYOHIhZs2bFvCYS\nCwTRzQR8o51ZCuzqFcDiztGiqiJzOYgbjtTyIQYx6sc6jGZ8lbsgUZumquyz6XoxCAZ+LGAez5fQ\nrmh0VjbaKkMlzu/DqVBIV0GRbcGOra2tuPzyy/H4448jJycHDz/8MF577TX9uFVtBqvgxfLycsyd\nOxczZ87U+zm5XC7KhiCIdMLUp4FHscHKrAKOLBVirIQDs7qh2qPYEyIak3wsdRziJVrBIAofNl60\nLhgsKw5KXPPniUGfKR4LQYSJ53f0yQfA/g8sT/n2228xe/ZsXHvttbjkkkuwZ88e7N+/H6NHa//P\nGxoacOaZZ6K6utrUf6mhoQHFxcXKudva2tCrVy9TIKRTsUAVHAkiRdDFgqzksmhV4P5omeos8GPY\n+bLX4vywrhRpuoa4UYouCbHiY7TY/WF2GuwYi2VBLOikmkMUDew9/tE0t4VLw3JN8t9fuloMosXK\nutBlFRwXW5dNjorFUw1rDoVCmD9/PjweD1auXCkdcvLJJ+P999+H2+1GTU0N5s6dC5/Ppwc4+v3+\npHV8pgBHgkgRAr7R1neYoiWAC3Y01U5g83DZE9LMB6GCo8dbq/9YrdMwn2pz5DfzdKtUyNJEmUjQ\n22Bzj8E8eeAj+xEDI/W5BYuCrJGXdE3Rf4eU2pk+vPXWW3jhhRfwxhtvoLy8HOXl5diyZYvhHF4I\nlJWV4corr0RZWRlmzJiB1atXS4XCU089ZXttJ+eQZYEgUghprwY7ZJu1cBeqtD5A7bpwYmXQ52Ti\nQtVbIhYrg9XGGE0KZawxCzxWpaMDBUCpUO1RlnbKPwKxB36qluGwrHg6WyJU1oVMsCwki1NOOQUr\nVqyQXot9b/fee69tDQaKWSCIFMJUF0EWE8Bes/x/B+4F5TWC+ZHngruCr7VgKxyEapOGctFiTQan\n5aCtrCxOAxwThRjHIFLnjqxHjG8AuiTVUrQuZaJFIduCHRPB2WefjY0bN1qec/7559vOQ5YFgkhR\nlIGKvNlb0S3RyrJgug5fgEmFg3kM8/Fr8Bdpj1b1EWK5y45FLMSbGRHLdWQxI/zvyUoUJcF1k86W\nBUBuXSDLQvKhmAWCSGXsyieLrgqF68L2LtPJXb6Tefj1sYJO3mZYlonuCvj4g2iJViiIY3hBwESZ\n6j3TPOlR/KkryaZCTakEuSEIIkWRxhlYperJCG9IVneTlmmb4lywL+RkapjFuyVE60JpkAsaVGyW\nsrvraIWHbMO3Ew+xiATL+ThxwDJe+FLSduMSQLpbFYjug8QCQaQTsuqB7FF1zMFGY/Jz24gRWedF\n6bxMiFQ0ahtkZWPELeHu4AL/OjS/v4NraxOHRUc81gpTL4hEi4Mo6jvY/a6oDoMBil3oeihmgSDS\nBJMLwC9sriqxACCA/tFfx+5OX7J52cZGAJF1VzSa0wbrhBoTVmmHQPe6NqLFSjjwn8tOFCQwWyKd\n4cUCxSzY09HRgXXr1mH//v04cuQIAO0z3XfffY7Gk2WBINIVb5DbbCX9DGLEUK0RUBcRivJul8+o\nMKeIhtfOUhBF0ZDKWAVuWrXzjuZ9nmi/9wwTCQyyLkTHxRdfjH79+uHMM89EXl70VjQSCwSR7niD\nnJVB8kegognwO7csmJD2gnBQFdICcQPzuA9EXvCplmK9AtNEXZxCKbu+3XG2Pr7XhOwzxVLNMdbx\nGQIJBuc0Njbi1VdfjXk8ZUMQRJogvUOUuQTENs7u9qhz7sXKjiZkWRiII7efz/BgmQus9bWs4mF3\no2qVLQtAddpWO9bPpajsaPs7JLKKCRMmYPfu3TGPJ8sCQWQSzA3BNihPG+ArjipmgcfkkgDUm1o8\nQXhergKiaCXh217zaYbsWt1tXQCkwslgdfG0mYMokxi0mE0igVIprRk5ciQA4OjRo3j22Wdx8skn\no1evXgC0mAWnAoLEAkGkEdLqfGIzI9/giBk/UAC4O2zTHRO9vljG6Z+JuVVYhgQTAqJrorsyBEQr\ngeM0VgcxJdF8pix0OxDRw6o3yoJAo2k6RWKBINIQU1loILKJepsj6YnBfKC6GAjmwYNWBNy9Y7oW\nI5klhA09KthGyJdQBswlo/XB3Abe3VYGHl5IJHpdlE5JOGDIkCEAgHnz5uH55583HJO9p4JiFggi\nTWGbuOluXtxoAd3KYNVN0jEWGxTfATMWAr7RxjiMiiZN/LBqkKXBSCwDoyvjGJzEHoiw9QUKzAGo\nsrVH81nErpVc7Egm9oYgYufDDz80vD5y5Ajef/99x+NJLBBEGmMSDHyQIE8wPxy/MDj+69nd0Qbz\n4xIlSvHDnqvKR7NNlrlfYtnYLRdmEdBoB9vI6zyRNFcn58eCIBqI7Obhhx9GYWEh9uzZg8LCQv1n\n4MCBmDVrluN5SCwQRCbBbzLMv88Ib3Yed318mzmrl2BjAo/1GlL3Cv/T1TjJfIimERabS9Y/wm6s\nU7ixJBiym3vuuQeHDx/GT3/6Uxw+fFj/CQaDWLp0qeN5KGaBIDIJfoMpDVoWN/J4a+1bTyswZElY\n3AGz3hBRBz5KxpiCOoFI5kSdWx70mIhMCb69NsPvtqxkqSNmScRSSyEW0SCM7aoAVyJ1WbJkCdat\nW4d//OMfyMnJwcSJE3HppZc6Hk+WBYLIRNztkeJGDOY3Z8GPceI4jz+Yb3l3Kz0mESAmV4thkjag\nNCDvxhmPW0Ic53cby2xbxRuoymUzd0SgwFmlynhdEmEojiG7ueWWW/Dkk09i1KhRGDFiBH73u9/h\nlltucTyeekMQRAaibwovajnW+qZRGgCAmLIiLK/nxOUQ3shN2RXBfGMpaNapEpL4BcDYu4LfSJlZ\nXzfzK+7M7SwNKlERy4ZtVWlRlfERTyloKyy+03THU3kp9YawYdiwYaipqUFOjmYj6OzsRFlZGT7+\n+GNH48myQBCZzAx/pN+Cu91QdyFR6O4Iu8JNwh0yW4PoCrFzjehBloAQzyBUflSthbc0yH6sPkMi\nEEVO+Heifx6rcfFeExTDkK14vV58+umn+utPP/0UXq/X8XiyLBBEBuPx1kY2GeZ+qGgCYL8pO5pf\ntvEwM72qr4OkMVUsazFYMwzBhnlm64JwPcM4q/XFipM5RAsDL+qcjnWCTMRlmJWBLAv2nH322Xj3\n3XdRUVEBl8sFn8+Hs846C3369IHL5cKGDRssx1OAI0FkMAbzvvtAOG0vH4HgCVHNw4sCfoORFofi\nES0OfomPPlbzOh+fwAsTZmWoc5sDMFUWj0RjE/hpur67XVtvadBZICS/6TtIZVUFY1LgY/bwwAMP\nKI85qeRIYoEgsgl3R9RCATCKAqU4kAT7sWsZKjNKNtFYNi1D7AMX56CvhS8PLVufbN1dlZqpiqPg\nS0I7sXjwFhWq5khYMGXKFOzfvx9+vx/Tpk1DW1sbjhw5gj59+jgaTzELBJElBNA/5oZSgIPsB14I\nCBaFgG+0ZuVwt0eqMQIG/31cvnRxo/QGteJNlY3G7pWyDbU7azgwrPpNiHUmVCmbMVpIKIYhO3jq\nqadwxRVX4Pvf/z4AoKGhIarUSbIsEASROIRqi6LFQFqfgbkmKhqjvpy09oIpTqEj8sjSSWUxDYm8\nO49242aWEEBbo7dZey5WrxSxs5rw8ys+G7khoiCNrTe/+c1v4PP5MG7cOADA0KFD8eWXXzoeT5YF\ngiCiglkYHNdZkIwHYHaH+IqjrgUgChEA5jtvqz/wVnfqseC0JoLMcqC/tulMycbI5orBukCWheyg\nV69eemtqQOsNQV0nCYLofsJ3s7J4BMNru5RLG2xdI+yRr8dQGjTWZYgmIFFcZ7QiQ3U+s3boVSeL\ntMwVu/lF64LKikBxDVnN5MmT8dBDD6GtrQ2vvfYaVq9ejZkzZzoe78iycPToUZSXl+sT+3w+VFRU\noLy8HGeddRbeffdd6bglS5ZgxIgRGDlyJObOnYuvv/7a8cIIgkgPDBaGKDYjPfWRbWLeIAL+oco0\nSidWB93ioUrFZJkSymOKH6tz2Wew6g8Ra/2EYL7mplEVd3LqhrCBrAuZz9KlSzFgwACMHDkSTz75\nJC688EL86le/cjzeUZ2Fxx57DO+//z4OHz6MDRs2YMqUKbj77rsxffp0bNmyBcuWLcMbbxjzT/fv\n349zzjkHH330EXr16oWrrroKF154IebPn29eBNVZIIi0x8mGw0SFp2KXsWwyYBl8qaoQyUSBeG3D\ndbhrmDIyVNUfo0Gci2ElECrD8RnVxfIxfFEpFr/gDVqvQ0xLtYpxkJDOsQtdVmfhiarETfijC7u0\nzgIAPUZh4MCBUY+1tSw0NDSgqqoKCxcu1D/Y8ccfj5aWFgDAwYMHUVxcbBrXp08f5Obm6ukZbW1t\n0vMIgsgMDJsNX6WQz3jw1ia+eqTF+47jGJi1gWVOsM1a9cgTS++G6mKzUODnqvMY3+MfZYguBpUo\niKfPBJGWhEIhLF68GP3798dpp52G0047Df3798f9998flVixjVm4/fbbsXz5chw6dEh/b+nSpZg4\ncSJ++tOforOzE//85z9N49xuN37yk5/gxBNPRH5+PqZPn45p06Y5XhhBEOmHbZEmQLlZWXbBtDC3\nO3FNmM7lCzjxr1WZFEAkzoGvtBjM116zjV/Vj0IVQ6CCleYWy1Zb9Y2II7Mjna0KhDUrV67EW2+9\nhXfffRcnn3wyAODf//43br75ZqxcuRJ33HGHo3ksLQubNm3CwIEDUV5eblAgN954I5544gl8+umn\nWLlyJW644QbT2H379uHXv/419u/fj6amJrS2tuLFF1+M5jMSBJGuRFO7gJ0jq+6oOpcR5V2yHl+h\nqlngDUZ+Kpoi9RrcHZHnfJ0IMbbhmj1GdwGLNxAtFvxYywUX6FU3HVkFYgxgpJiFzGXNmjVYu3at\nLhQA4JRTTsGLL76INWvWOJ7H0rLw9ttvY8OGDaiqqkJHRwcOHTqEefPmwefz4f/+7/8AAJdffjkW\nLlxoGvvee+9hwoQJ8Hg0c9pll12Gt99+G9dcc430Wo/8/k/68++ccTomnnm64w9BEETqYIgXsLt7\nFrMKFG55pXXAAquqkKbqj+z64vqgxUWYKkR6g8bNW6+RELY01IVbWbMx1SVaUy8gUu8BMGdiiBYU\nZmFwkk4prDtaxJLeqVwK+h/vf4i3/vVhdy8jLThy5AgGDBhgen/AgAE4cuSI43kcN5LasWMHVqxY\ngY0bN+KMM87AypUrMXnyZLz++uv4+c9/bsqI2LVrF6655hq8++67yMvLw4IFC1BRUYEf/OAH5kVQ\ngCNBZCzKzV0MOnS3O24oFY3rwel84hhZPwzTZ2HWkDrOKsK7AJhgcLdrQY3BfE1o+AaHJ44ioJK5\nP7yKhlPRWFkyzEVBAY5qysvLsXPnzqiPiURVZ4EVcHjqqafwgx/8AF9//TXy8/Px1FNPAQCamppw\n0003YfPmzRg9ejSuu+46jB07Fjk5OTjjjDPwve99L5rLEQSRAUirNirqFMR7NxvrWKVQYG2dw/EU\nhpgMJgr8RZplgQUliu6CW32R12yjr2iKCA2ngoFZI1REUyuCEzQmISSQyhYGwp7du3ejsLBQeqy9\n3blopBbVBEF0CdI0Rh5vMKpNSZUumSj49Rq6d7L3t54avnCBObiQiQL2/q0+wxr11uHuds3KwLpk\n2i6qLRI/AcRXZ0Ho3WFlrUl1sUCWheRD5Z4Jguh+uGZSsQbbJTpITy9LLbhGIumYHXKrgLtdsxr4\n3UBpQPvxadkSenwEX2OCBVJes0eetikSzIuM5ws2ydwSDkWE3XdHAZAEWRYIgugyDNYFyUYWbfts\n2SaWNAtDeG7dKgAAW7zaY2lALhyYJQCwTnsUX4vzO5lPFcMQZXEmK5x+typxkSwLBVkWkg/1hiAI\nonsQYxgUfSSsMMUQQFKQKQ483lrgxZH6Xb4HrZrbgC+apJ/MWQL4GgnBPG2Dry7W3qtosq6DwB9j\nQY2GAEpJ7AL7LmVuiQT1hHDyfTqxUKS6S4OQQ24IgiC6DFOVRxEntRZUcwobZUJM5353OBXSY/yR\n4e4wVoLkLQ3BPC0bgh3nazUg4urQXR7M8lLRGMmkANRuDyfvsfeTVIvB6fdNLo30hCwLBEF0GboJ\nX9ZHIUbrgnTz4bIYGE7TMg3UcbEFYndMvjBToAC4YJ/2mgU+MssCEwhs8+fWxxPwDzV8doO7gyHO\nKa5F1Z8iTssCWQMIEgsEQXQJ+qZuZT0Id1n0uOsBOI9hsE3PhLHLJZvX1KCKZTK8ODLyWmbGtyrf\nbNjI87Qf1gxKgUEkiOKHrUEV8MhfW1wj/13YNaKKkVgsBbIaFkRqQ2KBIDKIlP4jnKRSxXrWgqzK\nI39d7vpMjJiESzBPq5vAr8kuPbE0GNmIZULI3aHNySwPbF5JAKIsBkOv5RAtVgGOCcRRPxALUvrf\nLKFDYoEgMpFwh0cApuI7yYAPKjQVLWLXlm1eyqqOWlCgBweiru6oXw8S0aDa8PmgQRYXwO7k7Yom\nVRcb79pFcaEqpiQ2sRLXy1IwAc6VYVOYSYWstHaCoBiE7IACHAkiAzDVJxA35HANA8MY0QQfB0wM\nSM367H0hqE+JbEOMsa2y3jRKnJ+/Bnsutqlm6HECikBCvq6C2CZaT3Ps0GIZfMXGGgtcnQTppusv\n0n7YGr3NCLh7I4D+WvwDi4GwwmkTKgVWIjPRQoGER+pCYoEgMgBTloGqDXTFLni8tZoZ3u9OqGAw\nRdo76V0giwUQ76LZZuquj71okyzQTyUaDOO4DAcVpZxVgW99LYthYNffempYYBRp5zEhwd5nz0XC\nwsvwe2MZE9HA/S70TpwpQrYKhhtuuAGDBg3CyJEj9fd8Ph8qKipQXl6Os846y9CDacmSJSgtLcWw\nYcOwbdu2pK+PxAJBZAjsj37AP1T/MfncJaboRAkGp4LFRAzpfCYriZMNJpa7ayYoPG3mQEexrbX4\nOdhY3nLBLAXsOIO1ombrZOfLhAazRviKjZ/JkdUmX/4ccguCSkTEU2nTilQTLl3J9ddfj61btxre\nu/POO/Hggw9i586deOCBB3DnnXcCAGpqavDyyy+jpqYGW7duxS233ILOzs6kri9lxIK74pLuXgJB\nZBzSP75iql0wPxLwlwh4s3csnRC9QS17wNuspS7WcXfgzIzvd+sblqMOlMF8YFWFtiFXl2ibM/+j\nXFNH5Kc0oL1X2aj9zPCHKypyBZGYaAjmW2dAsOuydtW824PNI7pt+CBHPmhTIQJNryW/D/HfhtON\nOtEbejaLBMakSZNQVGQMZD3++OPR0tICADh48CCKi7Wy4evXr8fVV1+N3NxcDBkyBF6vFz6fL6nr\nowBHgsgCWHCgx1ub3Oh4K4HgpByxGBzIb6L6nTd3B+4NRtwUwVZtgw7mI4D+mgBytwO3XQDgFG1M\ndYnzz8I2dLYGJmB4NwPLcJC5YPjvoc5tLtTkadMDObX5hdRGJkAqwjERvJVCFCKyAEZFCmm8FR2T\nYVGgyo5yli5diokTJ+KnP/0pOjs78c9//hOA1uF53Lhx+nklJSVobHQQvxIHKWNZAMi6QBDJRndN\nSPC4683+8CjQ6xzwcLECps1A4n4w3GGKm5zMCsD8/v4i7Vh1MVDn1oQDO86jEjKqvg4GsZIfCUpk\nrgBZYCO/Ln7N0uqLHUYXBv/DhJDolpC5JqLBxtrD/w66In6ArApqbrzxRjzxxBP/v73zD7KqMI+O\nMQAAIABJREFUvO//ew0YFulU7jWC7NIh4S7CEn4syNLpJMNOLRVs49cAQwPGOAHMzNfftobYZFo1\nNsK3OqXojJ3yTZNa4nfapiYlKNCICpOkhjViMBoru4oj7Gqi9wrIsPz0fP849zn3Oc95fp4f9+fn\nNbOze+895znPPXvOed7P59eDt99+G5s2bcKaNWuU27a1tWXaF7IsEESLESyGJM5GgcosvXDQOlUx\nUhdAhEsLVNURiJjDS5MrloHAx1+eEQ/kw793FcIuDCBY5TE4vtg3NsC7DLay4kqq/XuH5AGKQLgK\nI+/C0M34dSWdddUblami8awLrRp8mAoDL/s/DvT392P37t0AgBUrVmDdunUAgI6ODhw+XHEdHjly\nJHBRZEXdiYVc77Uo9f9nrbtBEE1N4JawqaqoIKiBYNq31B49nlhdUWaGDlwM4yuzcrYfOyYTBaLJ\nXWaWFwdX9lt0D8gQMyIk1RBDZZqDLyZpuzi2staDrqoiLyJCfVEM8oVSxeJhEgLlbVSikBcFWboI\nGs6ikMSFt7DL/2Hs+n/GXQqFAvbu3YtFixbh2WefxbRp/v/qmmuuwerVq/Hnf/7nGBoawsDAAHp7\ne+P3zYK6EwsEQVQR1eDKaiNIZv3SNQsMD9HIjFQ36y1T7J/jWxf42TwTCaLpnw8GVGUHyNIn2Sw/\nso6DkEbJWy7KrgGt5YX1UxQKSwelfePN/qHS1Twu1gBd4SthO5tVOlO3KCSMm2hGVq1ahb179+L9\n99/H5MmT8c1vfhNbtmzBzTffjNOnT6O9vR1btmwBAHR3d2PlypXo7u7GqFGj8Oijj2buhmjz6mBB\n7ba2tsi63mRdIIjqYLQuSCoNRkQGG0R1g5TKXF5GOsNls/SdhXAfg8qGEouBrP/iLJ23Kkj3ORV1\nOwjHkQ2uwblkLgheLCwc8o/fO2Q9o873HlCnO8rEBP8/4FMteVTnS/heWbsc0rQq5Bd+PjKGpE1b\nWxvwvSfSa/CLyzPvc5rUrVgASDAQRLXQDkoyVLN2Ece6BqJgyBcO+oPdQNm8vrOLEwrlgV406Zv8\n/0BUJASVFjlBIboINCJB2ufSmLBYYMWbylUXY62sKRv4VcWuQmmXObnQMAiG0LE1fY4rLNISDCQW\nsofcEATR4kSEgg5+kLEpBmSwJkT6wqd2smwDtkz0zrK/NycO9OWBsatYGZzFPrHYAZUlgaUw8hUY\nFa4CY/+BSp/FY5QtFa6DpNSKkTusDFDlhU7gzhHTKTX/Q1Wcgur9uItJUcpk41BXqZMilEpJENkj\nXT9BRBw8+UGVb8d2fxvYPvmTfsaDzBrAxwCwwMGFQ/4svkuwDISyECQ/IpIgTFMRqOLgNF/gdAlp\njwDQOwwUSukNjrKaFoLrITgWb3Xhf/Nt8b85IjErku+fdNXJrCpCEulR95YFm+AbgiCSEfipVZUc\nS+0oliZXpzORAfBU9DUb+Bce8X/3DodN9CyGgsUJyLAJIFS4M7QzYtGqkD/p989iX5fnXRGX+PuA\n+5/x31W19ofOZaT4TMz0oIG99ahrywIAeLgHQHa1yAmCqCAVBKxAkM3+5UFFWUbY1rrAB+tFKhuW\nYwF6h/xaC0ve8Gf0vUPhrAi+uJFo2dDVLbBEtj5FkCnCm/eLY4PjqwoQic83l2ddsTQ5amXgC0ix\n17awWhuSPgRFveKU8yYamrq3LIiQpYEgsiESRCcUC7L1L4v+a1FASGMkVGmP7DUfKMgsDeUYhuLC\n06H2+e8S15duSjeUUeyfg/zAR9Ggw/xJ43mL3U+2Py6pBFaKyN6zsC6o+lzN6o5E/VD3lgWgYl0g\nCCI7ggWXZDNGx1mkysIQtKVCNoipti+XY1bNykPHVgQtWiGeE8k5Cpb9Flk6qF9QSuiz6T0dxcFp\nagsQ//1tCjaV2uNZc8na0LQ0jmVB8KfZpPMQBOEIb00IllY21DHQIB1sXAo6sb7cuwe4t0++zeOz\ngOt+Fbxks3TxGWEc+FQ1DMQsAo6QQBAtCl1FoH8Sirlx+uOmSFApE+/Hb8Ty/yw9p7yLgoouNRUN\nIxa83Hq0lf628oZCOPCQiCCIGPBCAQj5223RDswuaZd8wSc+G4JfEXJXAVg4hHzucBBzIZrKZS4U\n62W5WR/4Usqs/3wwoyAkXERCUjdEpD0W/Bhn6XHhO2rdT7r/IwmGpqIh3BAML7e+8sLC1EVBkQTh\nSPDwP+UPxqUxwSCZyb3kUvzpnr3R9xg7C8Dg+EgfrdM5Vf0Q32dmfrZcdP6k3PR+a7/6uFWkWJoc\n/AS4DOCuKbX8ew4WCqL+aSixEEHlHyOfGUHEgs1IK2+UAwvLQXK2OfHaAYCfjeoi68Xt+AGItzKw\nNgbywCO9yON9qZtS7HtQLVI1K+ZdD7umhktas1RIWX2GW/tTGQDTHkRDosElKwWO1tsYmRK0THX9\n0zBuCEbEHQGoI6jL71GVMIIwE5is93WEB2NW3bC/I1Tcx3RfWUfNa2ICgtf8WhDst6xIFOC7Bgql\n8iJUJb/fbP9y/yOVIsV4A94NwwRTsN5DR/QzBisSVYeE/g+y72y5v/FZGqNdej7XP41tWRDhA2ti\nVF8jiFYkKNxTagcGx/t/84MgVycgEbJaAAyTS4B9xg/Gqj6V2v2gx50F/3eh5H8vZiEQl7UWazmI\nK06ySpAsTgIIMjFE60exNDn2wGdTKTE1XGb+BkuB9PvGFCJE/dKQYiEUu6BC82CjC5MgfNhSyMHa\nATy6gR0xzOQ2KXuy7fhj7yyEXRK8RUG1aiZbsZJZSNi25QEwSBkNrCblbXqH/bRHWb8LH0RTItmC\nVgnIfIZtIxJ0/6eSv3S5dOJVbjfud6Dncn3TkGLBCcWNQRcmQXC+YjZAsJmzUFQomG07xgMp7zNV\nYByPbGAT4xd0wkKMbyiLgCIuqcRmsAFucFpFeORGfCFQFhDF0uRKG4FbZLzvruH6kEU57LSeU1bt\nJLUelcVbcKzciFrAEQ1HXS9RbdxPjF0wIbkRyFdGED753GF/EBQFQ1fRH2jLZZMTpVCqahmotuFf\ns5TO4thojIMYDClrn190qkzE9C+rT1Ao+e4MVb/LQkJMlUxaC4aPq0h1ti47ZwnSHIPaDuI6FEwo\n9LpZXGKdK1qiOnOa37LAQ1kSBKFHVW2Q8+Pbzna1QkGHzOLA9uWFjCwokvevl9r9eIOlg76LYDBX\nme2WfyLm9ELJ/xnI+d95IFdxfci+R/6kf86WvBH5GqlMRGI+s5zjs0xWHt2xCgfDa2KIws3RukBW\n3/qkocWCVeyCiCTwkSAIzowuLgU9kK+Y5ZOgGYCMqXMsnoD1zWZhq66if8z+SZW+95ddByyQsxzs\nGJkVLx2UCxP+e7C+DI5XLg6VhGDRJrgP/saURlV8iGiZMbkmWFssBoR/X2yPaGga2g0R7O/qjmAI\nFzG5JIhWJzDD7+sIf7BwCOgdSl7FUeOGkC0EFdqHzVBZwKKsTcbSAf83bykRUyOLY8NBiYGlYkyk\nvkSkv11Fv8+GKo3SlRsTnkPT/sE+NjVoxLLWkuNYt6cSCAnEgu25IjdE9jRcnQWCILKjiEt8wSCW\nZE4jbZK1xV5zfnKlUOD3UaXj6dL0NBaIYv8c5Evtvk+dZUMM5irFl/h+i33pHS5nBryhHNCqbbVU\nrtOgek/xP3WaNInprilbEmiV4frByg1x/vx59PT04HOf+xwAoL+/H729vejp6cGCBQvwwgsvSPc7\nevQoVqxYgRkzZqC7uxs///nP0+s5Ryx3hASqw0AQ8GfW4oyR1SlwQLrqI/+atY1oMKB2cLApfJQ7\n5f8Y+hxkRZQDN4ulyRXzf24kmg6ZP+m/x6duqtpOQUSE2igLLKtqiroUSYM7SPmeTgSosltSEg70\nXK49VmJh8+bN6O7u9s0wANavX4/7778fL730Er75zW9i/Xr5YH377bfj6quvxmuvvYaXX34ZM2bM\nSK/naeBYkpQgWoFibhyKC0+H3xzIp/Lgd5khMtEQ7FPOxrCCZS+U3Qj8cUUxohUnpTGV2IfcSFCg\nqtg/JxRTwDBNOFIpa1ySLx+tdReIiMItjUGdBYdmFKdAgqG2GMXCkSNHsGPHDqxbty7wr1x22WU4\nduwYAN960NHREdnv2LFj+MlPfoI1a9YAAEaNGoXf/d3fTbPvIRJZF4TAH7ooiVYmnzvsp1HyYrrs\no3clKHjEWRBCtR04C4N1ldXcCLDwiP7z3IjvXiiU4lVGZFYDFvMgrEWhHawhMZ9LLCi2BKKJt3ik\nCScujP8DicgoDk6rrLNBNC3GmIU777wTDz74II4fPx68t3HjRnzmM5/BXXfdhY8++gjPP/98ZL9D\nhw7hE5/4BL785S/jwIEDmD9/PjZv3oyxY8dGtq1HqF450dIMjvcH5H2d5diCU5Uyya7YDm6aXP9i\n/5xK3YHBHCILOEl88ao4CJv7utg/J7q8c/6kb1lg54FfZ0LT/6DvCayYNiIj1jLXcSvdqr5nxhOt\nmj+XxUyhFkJrWXjyySdx6aWXoqenJxS1uXbtWjz88MN4++23sWnTpsB6wHPu3Dns378fN910E/bv\n34+LLroIGzduTP8bcKQVu8DPAiiOgWg1ghTKgXzlzdyIXbqiBfys28ofLpIb8esfyCi1+4P50sHo\nYA+H6PreAxWTOp9RwapZivEKwoxfPI52hcsEOC3JzcOsAqKrR4fCbat9ThrWlSAaB61l4b//+7/x\nox/9CDt27MCpU6dw/PhxXH/99ejv78fu3bsBACtWrMC6desi+3Z2dqKzsxMLFiwIttOJhXvvvTf4\nu6+vD319fTG+TooYIoYJoqkZyEdnyrl4K7iaZpzBzNvUzuC0ygxdLPQjGYyY6BHdA9YDI/+7d9iv\n18AYHF8REYYU7NB3K6+t4GK2d5ms5HsPxB6YrVIlVVTxeZnvPYBt//Ax/Gz/K5kfi6igFQsPPPAA\nHnjgAQDA3r178dBDD2Hr1q2YN28e9u7di0WLFuHZZ5/FtGnRC3/ixImYPHkyDh48iGnTpmH37t2Y\nOXOm8li8WEiCdAnrFKi5+YsgqgmbOZfafXcEK2IU07ogCgbxfgoJAYUoCa05wFwkir7L1mlwCq7k\nBnOlkBHcHWy7SN8l1R+dUwJ54WYqzWzI0mBtxIozkB2X9UdIh83SmvC//vd5FPu/ELz+22//W2bH\nInyc6iywbIgtW7bg5ptvxunTp9He3o4tW7YAAIaHh3HjjTfiqaeeAgA88sgjuO6663DmzBlMnToV\n3/3ud1Puvhwvtx5tg4/4L2R5wC5wFz/l/BKtQB7vA13Q5+jHIDJzZceTFWCCRFDwcQvFDuk+wb2a\nOxwIBiZU4gr+ytoHZbcGE07l45lm/iGhJAyq1lYD8TnGPc/Y97K2CNg+A2WuFl17us9FIZEAev7W\nhqao4Chtk4kFFbYqnd+Wgy5YopnJl074M3fmi+8qWxTKiwIluf7FYEOnmCDmftjXEa3syFG87p1A\nWPDHSNRvZmFg7ohgKWuhFoPlrD1oTyYEVBUQFYO3q1hwqgLJClaJx9GhqxSZAhGrU7UqOO7cml6D\nS6+nCo71gFe4VS8YZGVKGeKFLbFKxA4sIohGgNVVMM0aHdFaFRgqAc/eH8z54kUsSc23+/hlAC4D\nrvuVfCXJGIQsDHxp6F1Tg4Wk4ro6GFKXh+Z88G0EA7nOAuTyf+Sfe65uC9YHzlWTVqA4PWtrQ0Mv\nJJUZqgheoR6DLD+Z/U0QDc3Cocr1zdLFNGLZlkRFiXjhwv5WrWjItsmgLoEsHgK7pgbBi4kyqHgr\ng6xEtrCtdNKisyxYupEidTDEz2wQYjrSKEhFQqF2NK1lAbCwLtigqkUv+5y7eSkgkmho9pVXZ2RL\nMAPS+gWZIMxKpZTaK8tOs9f8/ozB8X4mA1Lud9DHUwiW72Z9Ed0SLogCwSB0pOWZdcGZFi4IFa5Z\nHMF+DlZYU9YMUTta17IgsxLY5gOrtuPa4IO5yNJANBrFhaf9a3lfp18FsTQ5nVLFcKigyPeHr8dg\nU/OB3Z8sYyLlyPxiaXKlDyx2oTTG/+nvcK4Emy8cjKRYRoRCEgsJFw9h+0yK1MAQYiRiiw56JjYk\nTS8WvMKtlRe2gsBWQGg+D27+UnvoBqWbhGgYlg4CSwdrM6OT3FeRwYutDilzF/K/xSWtU6I4OM3v\ng8ySUK4FYbrfg2eCbq0GmUvCpY+K55fT80hTWTMJvCVWt0AWWRVqT9OLBQDpVBAziQfxM9UDDKSs\nifomj/crFQx7h2p7rQp1CQLY4LV5V3QfcWBbOJTZ2gXFwWn+YJYbh2JuXOX4g+Ol61JE9pd9Xl5v\ngX8tzY6wfaYZBIbs/6t6RsneC61/4fCspRivxqJpUycjx+j/tnkj5nsEorXndah8rDbpmRn4gake\nBOEC80XnBz6qPOjLSzMHSzinfUzTAGGT38+nTrJVJlUz8LKoyPqeCEpMs370DkmPyd+jkRRKrp+h\nFEaFSDAJIWmGhcVzxzXjK1I90tUKkiStlVInM6epAxx5vN51aNv1PfsdeOEA6MWDmB/N/xa3EYUF\nmzmxYjOopBm53jyk0AkX+IEtnzsMdFWu26xEghGV1S4pj88CrvtV8nZMFErhBbf6O6TinS8UxT8v\nxIE/lA4pYjEYK6tPuhRIstw2VMkyRgEmCgqvb1pGLCRGFA88vJCQuSFk2ROym4kXDkhmIaCbjjBR\nLE1Gft/H/RfMkiBLC6wmcapEMjM9Kx4kq5symAtSG7NcTrnYP6dS14H1pSweIpUquX7W6n5VDdCh\nvnIVbK1W7GT1KEpuNTromVXftEbMQhlvyRfVHxbHhn+7wKKg+Z/Q54qASZsYCNitfklWBSIWXUXf\np49LqmpN0A4MNoOLympn2rZayGIMZEt8x5iB8/uqzmO+94DUvaHDFENAg3lr0zIxC8GxHv9BsgbY\nmvasUA0TFzbrnKtcGbYpUpLYCFm9fbqpCRdqEePiFLMge19mueOzHsRiTbkR4J69wcuqxS7wKESN\nizVHVtJZtJQoyz471nAI9TFBmqQLsY9DMQuZ01KWBQDwrluWrAHeAsFbIdhrnWVCZnUA9BYHWYaF\nY9QxQajI5w4Dg7n6Ego8qgqMstRCtu3CoWh8QqkduG9R1dLwgjoMhVK0mqSQChnLKshbHi2W95YK\nFd3zQ3i+2PQxDesmWUjrF4pZANQ3jeg/FYMXVVkQMsHAWx5KYyqV30Rrg8qkqsqVZjOYwVzs5YOJ\nFqYGwYzGdQJkLgaGLKaBCfCuUkWQD+T9+4G3MJTaARxN1HcXIosdsXtVcFHYipdIHAEnkvgAaSnC\n9kpk1gibQErBhZFkLQgKdKxPWs4NERzzkZ3ZHkB1g+ncFSoBYWsu5GZhdLMR9UxsNwT/Gb/NQFkU\nsPuLVW6UtFW87h3LXqZDxC0gFlmyqMegXHCLtSFkVEiPydCleMveTwkXAeGcCUZuiMwhywIjSaCR\nqj2R3Ije6sBmSOx3UEZW8+BUmBWp1gLR0EgtCBorg2xQrCdkFkrA2hooG2i1WR0u50H1rHLol40Q\nIBdDY9OylgUAaLtvT/qNuggO3bYqC4RNkKToHiFrA1GHWLsiZO8Hv8vCeiAv31dmer+1P5MUUVmQ\nsXaGb2FRULUvHke6nUpA2TyjYgQ/pi0GnM4NWRYyp+UCHDNHFpxoSo+Ufa4KlrRNz5S8Jy6fS0qf\nqBXO157qHmLiuaso30f2+pFet2Nbwg9uoVRn2T1etijYngdZNUVjKenBaRXrgy4OhEcVUCo5dlbB\noq26FsSaNWswYcIEzJo1K3jvq1/9KmbMmIE5c+Zg2bJlOHbsWPDZhg0b0NXVhenTp+PHP/5x5v1r\nacsC4GBdMN1grm4M07auMQ8yi4MuJVO1qh9BVAHnmAWV2AYq8Qo6VwT/WW4kdeuC8vuIKZwcsVIm\nxTYs7ltpGqdF+Xnbcs+1tCgEfWgCy8JPfvITjBs3Dl/60pfwq1/52TxPP/00rrzySlxwwQW4++67\nAQAbN27Er3/9a6xevRovvPAChoaG8Ed/9Ec4ePAgLrggu/l/y1sWvHv65B+YrAIifLSxzfYuVgce\nVYqmzOIge+Cy98oV7YL0K2H1N1olk8gS7ezRRijwMAGdGykXmTqiOfBY32Vx21L5IJoW7P5SDcoO\nmUuuxdiCe5etfGuT/aAJjjbN9NOeaLTqM+ezn/0sxo8fH3pv8eLFgQBYuHAhjhzxr+1t27Zh1apV\nGD16NKZMmYJCoYD+/v5M+9fyYgGAncvAZn/Te65tmD7TCQdxX9E9IWmfX1Kbp1VvXiJ7pOZsl+wf\nQL9uiwjvrmAph1nAL5/Nm/YlQchxMA7ets8SzQqWreoOqFe+853v4OqrrwYADA8Po7OzkvHT2dmJ\noSHJUukpQmIBgLd5YXaNV0M0SLe1KAClE0hxRBNBpIXKZcYXN2Kw6zx/0rca8MGO/H7iNf3FZcDO\nQiqCITSoDuai9R2EmAGXgdglrTKwBqoKWTGLhsQ9kkQcyPaLG9tAAiXKt771LVx44YVYvXq1cpu2\ntrZM+0Cpk9WCN/el0ZasEJQsnkFWt8Gl3TLsgZrlIjxEayON7Netb8CnILIy7DrY9vy2uwrArgLy\nW3+o7ENqlNr9+7HwAeBYP02MITAWLrIJaBTu9ywX2Woa66SLFUvkxdeB/a877/bP//zP2LFjB555\n5pngvY6ODhw+XHGjHTlyBB0dkrVHUoQsC2W8zQujWQRZYG0ZsJz58+/rMiiS9Dcl0ylBOGPyt+dG\n/Ad47pQvArqK4Rk03wZvkVg64G/Ltrv+88AjvcgPfBSJ1bGN3QkGb1bmWewr4AuFQinWfRS4F0rR\nBaQifRTPG3OLMIuCLPiZFw4pxCzRs0Jg/uXAjddUfizYtWsXHnzwQWzbtg1jxlSe49dccw3+9V//\nFWfOnMGhQ4cwMDCA3t5ssnwYJBZEbFOM4pDUqmArHGSxDKp0S9kxVMdNuaIbQeiIPdjkT/o/LNBR\njBvg3wPCazYM5oD7FgGDuWSDnXi/sL8H/QC2RBaM8noS/GAeaU/M/ujv0D7P0rCo8O4G0fWQtJ5E\nK7Bq1Sr8wR/8AV5//XVMnjwZ3/nOd3DrrbfixIkTWLx4MXp6enDTTTcBALq7u7Fy5Up0d3dj6dKl\nePTRRzN3Q7R86qRI2/Uv+39kPTCm2b4mJRKA3D1hU1Jak3rJV24jiKxQrqDIiMQDCIJYFr8g+ut7\nh6KCOzcCLB30P+NwKsssBhSXfyddi8N6MFVllYjiSVifwjZlMg4NX+553/9Nr8GFN9bNuGcDxSw0\nAzoLCCsxLQoGMZbBFFMhvN+q6p+oM3SrKLr4l1naZXFsRTTsLAD7Ovz3l7xh1UwotkCxEF0e78cW\nDNoqkbLvJMuA0mRABO/Lym0TLQ25IQS8rbMby6pgwtU1YWqHIKqIVSS9UNY8xMKhcAZFbsS3FvCv\nWU0EZoUQBQi3KFUskSweP+b9n+89IHVDautVWMZfsZoMIUtOua9pTgxsMyNoMlJ/kGVBgrd5Ybbu\niDT8/7aFVmSvmWAQF7DKnQpvK/ZTYn2wrVdPEJkSXK9s8bUxlffZdc4LZdXsWjWw3rfId0vAvEib\nzLoQrATZP8kPcoyL7XNDvI8NbQZWCl32SYrIrCJZrTFBpAOJBRMWN1rU/Glxo8kG5bTSK2UPQplJ\nVHRP8K4J2fdWiQ+CyJhgsNXdj6Hrm7uOCx/4gYVBpUfBPWEqF82u82C7MUDvsL6/qpiesjsjD7dF\npPg2GdpB1daNIGxXHJxWKc4mTAqyWgeCaAwowFFDYF1QIQ6WugHWhM6PqGvD1L5uYOff40WDKfjR\n9FoCPRSIpGiDHU0DfTkLAcWxQFcpnAHBPs+d8gWBaLqXuQ66yqmRLEVSCP7VfofBHIqlybGXkRf3\ni4gGW2sJo5xWGQgFhvCdq3UPy6wNxn0owDFzyLKgw3XmrAu2MiEb1G3aMLk0ZEFOMguBrD4DPztT\npZ3Z9IEgUiCYWScJvsufrMTqFMrv8e4LEf5e4V0azArHWwXL26qyCXixw8/ek87aeSuG9PyYzlf5\nM9VaGdUW+jSxqE/IsmCg7fZ9lRcyPz4jzQBAlcUiiYWBtaNzJcgsDSorQ9K+gB4KhBvWM2jV/cKs\nCwzelRAEA5ZjHZh4HsxF75GuUthlx5dQzo3YLRIl9NF6Bm2YdSutLzbuVM179X6vkmUhe8iyYEK8\niXizozirEPOY4woIWUEXU2EkV0HBtyl+HyBqaRCtDLJULJe+IJ65kWhNpP55Xvia0odVrguVWOa3\nEV8P5CoWCtl2TDTo7lWhT7r4A9kqkEp0Lhodqm1yI3RvEgDIsmBF2317Ki9UswZbJe8qIOKY++O4\nBMQBXmwjf1JvquX30wkJC+jhRDCk1gTVNSVZHCm0Hz+4mzIS+GuY7ScWeGIrWDILRf8k/x4R74dI\nP9pD25iyAJysDik/dxplLRiyLGQPWRZskD2cxIVrbP2EsqwH6whvh7QpnctEhi5Y0xTTwG9vysAg\nmo64gXqxsLGcaTN5FAurxbECDuR9wdA/KdqWKfiZewZIqz46uicC0rJwltpRLE12349oWqgokwXe\nrUsrC9QAFX9+V8n/YbXo2WyB/RRKoRlEgPgev48Ok7lV3NZ1H9NxVUWdBsdzPt/26LEd+8IenuJv\norWQWhVM7gb+t7gv4FsUxO1EqwN/L5bGVK57WbtisTOxHdnfqsyNtEniCiUIAXJDONC263vuOwUP\nkRjmQUvfv5E0Z/SixUIsIy2btcnEkm37AuSiqB+yLsjlstJjJLBP57tXzfqZi1EWy1MaI19nQhYU\nzFwcspUnNbEBsr+d0yr51Ed2zLgU3GtB1ApyQ2QPuSFcYGZH9tuGUNEjg1tC9llS0jb9iyZOWTVI\nUTC4uF1U+5ShoMja07ALiKksDvx1yayB4nU+IImHENvji5ypsgscrn1VvICV2ycNi4L44zE3AAAg\nAElEQVQuBoRoOawsC+fPn8cVV1yBzs5ObN++Hf39/bjllltw9uxZjBo1Co8++igWLFhgta+0Ew1i\nWQCAtsd/EH6jqxR9CAQ52MK6CyETvqM7IQ3SFg6yIMjINprFfFzSLzXbNuTA1cCYZvxprkgae4VF\n1XsqZC4Mtv9gLiwWdDER+ZN+wKMpCFNnNSxbJLSBj6L1TZaRpfo+NrBte4ca4v4iy0L2WFkWNm/e\njO7ubnz44YcAgPXr1+P+++/HVVddhZ07d2L9+vV47rnnrPZteMQ686KPstTumyFL7UIA4JhwUKTt\nLFuWmhmXtNwaYnusTV4MydadMO1vOpZiG1lFu0Z4wDUqYtlhAKH/jyzWJNP/RxKhYJUuOUYuhE1u\nDZs4Bf66Zvd4fwcAII/3/fdkM3zxuSC2m6LrsqoBrETdYgxwPHLkCHbs2IF169YFKuiyyy7DsWPH\nAABHjx5FR0eH9b6Njrfki/4fLKgRQGj1Rv7GD/2c8kUEHxCZP1kJnJT9MNKOOagGssAv3SqXNqmn\nhgC3fO+B0EBFgZHZoKx5IAa5cv+rOP8P4/amGADVta4KKJbdu0BF6OZOhUWv6his+JMpO0rcX/Z9\nVN+RrZTJhIRONJgmGqo+UIAkwWEUC3feeScefPBBXHBBZdONGzfiL/7iL/B7v/d7+OpXv4oNGzZY\n79sUsIcG/wPYR2oXPgjvywQEIKzRID60LLMmdGR18ysGCQDRtEuVaJBlT6iOZQkJhhqjEA2qjBft\n/8slq0a3jWkmLjsOLxJYFhS/LYNd6yydUndfuKBrR3xPdhxVfZhQ5ke0DT5ugu6l1kY7ij/55JO4\n9NJL0dPTE7IMrF27Fg8//DDefvttbNq0CWvWrLHetxnwetf5f4iWA/49E5FZTVk05E6FLQ98wFSc\ndEsZSR9ccRAtDYDZ2gCoBYT4QE/jgUxoCQZ52Tl3HbxL7UFbMsEQqT2gM+O79kV237i6LURLogw+\n5sHWVWJ7P9tux58T3T4ssJNvP5d83QqiedAGOH7961/H1q1bMWrUKJw6dQrHjx/HsmXLsG3bNhw/\nfhwA4HkeLr744sAtodt3+fLl+Jd/+ZdoJ9racM899wSv+/r60NfXl9JXzIa2wUf8P2SmTHZjsrKv\nog/TyuSuCY5U7hNjoMzSLaFqW+b/DfZJkHrJzjsFQ2aCdtVHFS5xKeXPQ4F9NveKKy7XvBgvwO87\nOL6SASHen2Iapc5dwv8tugEYSWMSZG2JQZ39HdF9hGDLeuGnL76Cn+1/JXj9t9/+NwpwzBjrOgt7\n9+7FQw89hO3bt2PevHnYtGkTFi1ahGeeeQZ33303XnjhBat9pZ1ooGwInjbcZ78xH4wke81vF3rd\nwKLBpk2VcEiSRWE4br09+BoJbUlhHtdrUCUITS4pVywFS8gqoIK/N2UVTlWLsdn2JXI8B+GlOx4v\nFsQASlFINEitBcqGyB6nOgttbW0AgC1btuDmm2/G6dOn0d7eji1btgAAhoeHceONN+Kpp55S7ttM\neLgHbbgvEh0uTXkSVbwKcQYgy6gIDjQ2vSAk2WwmjTZN7Yl1GthMLZRloqjbEHyuMSlLjs9Hd5OZ\n1ZEshAK/j8r6Vg3EeymwEI5X76MiVF9FU2Jadn+o7um07vWQdUQjhqoVDE00BFTBMSGl/v80bqMM\nDDIFJZmsDAxd/QbVa9PsPE1M7YnpqDo3BRDPVaETLtz7JBzCMDEV/GYVAmXn03Ug469FG2GZBjbH\nCKwK4yGtlyJDZ1kIjq1Y7p13n2UtknSuUPH/wNxCDbCYFFkWsofEQgokEgxBIxr3ROhvC8EQ2UcT\nFQ6YB9G0HuSubbjGNvDHsRQHqvdbXTSE4hOycAnYBCGqXHXi5zbYbB8JntW4GWTXpmkblVhgxyyU\nogGa1Zzdy2IZco2xRDWJhewhsZACqYiFUIOSgT6NIMi4ooGnVqKBL6UrbVMjHlyOL86qNFX0GuEh\nmgSr9RZcSXvm7CIaTNuEsi4M95aNWBC3s7GI8X2x2c6E7t7WHUNxH9QrVRMLAw+n12DXbQ017pFY\nSIk4goG/AY2uCt3AL7M2qBawMrk7bB+6cawNLturIsxNogFIJhz42Syb6RlcHPX+II1LyOWQlDQD\nFF2vPVP2DBD13evuKd31J6tiCri5zlT3fFpWBpt2ObHQCNc3iYXsoYWkakCsm080x4ZSMsUAQK60\ntE3AmIt/n28rRlqcEf4BK8YyiL9VD21dcGRkW414En/zAwv3MM0XDjrPwOq5hG7EopDUl65LG9S5\nGlQkmWXLBmQbNx+gXlWyv6Oyn0zkynAR5bbb2+LQVj1en0RtIMtCithYF2yQ1t13eQ2ozai2rok4\npBU0qRIBqoewjaVBFZFuiyL4K/Q57B6uOgtTrama66EeIu1tA4gZuVOVQEQg/B1YjQJxdUpd+qQq\nZoEXCVmIBR0SV0Q9XZ8qyLKQPWRZaARk+dHi67gP9bj76qLhTf5Rm3RKkwBw2Z4NAuJgoBIP/Kqh\nYilv1UO8fD6YlUH2gKVyuXWEaE0wCUm+Qiv/m78OxBRLm/TJoH1BIFRbTLHj1+LYRENAloWUycy6\nEBzAMQYBqAySqgDILILO0tgGiIoAGxOvyTLhIkR4jAOKIkBMZWqvs+yLSMGlNK8LWaS9aru0UghN\nqZmqYEYZhQ/CVgWxDbYWBKC+zlwCHPn2VceUkWSgb7CgRh6yLGQPiYUMSEswADFFg415tThWLzRs\nYh1MZOWWsBEMsv0G8v5x44oFkThVJg3BkoxqP6hTL62ssjK5/N9tjq8SFq59VwkGFp+gEznMBSET\n5bbpk7L7Lc75jyMWErjU6gUSC9lDbog6R5m6pw14FE2kQhVIVRv8vqrXfLtJcIn0FmdqYuCjLV1F\nt+1tEQMqxXMc2tbOzFvtypKhKqS6FFvbVD8ZuoHRtS2+HdVn1bCYldqhrccQ2V7ijhDN/2n3W4VN\nlghBlCGxkAG53mtTtS4AijRLU+yC7OHDP6jilou2fai5xCnYPKB0Mzbd9mlZEkSky2yr4iOEYDb+\nb2berqeHtJglwL/PsLl2XL+Ty7WYVGyYyJ2qBB7K0JVKtkWVmiu+7yLGkmzXgFYFojqQWGgGdFYF\n/j1GqV1uQo8jGrL0a+twsSrwosE1eDIpQbCkwc8sCW6rlnUhshy0rF8ybAcwG597tWbTKmRlnU3X\nYaHkuyBsS0IzguWtHdxYomBRiTmbtgzbkVAgZJBYyIgsrAsMKyuDjshMpvzQYmlfcXLeVfvEmSln\nNcOW1WmohnjQDSS5U5G6Dfy5DAojOaZm2i6SpU2VTCvYMKn7wvVYcREzYGQBqwxmVTC5IGyuL531\nItJHTcCsbFtb6sWiRdQtF9S6A0QyIoOBKdpc3Jb/6Sr5D7auonxGaGpLBpsBOQectUcHrrThxYPu\nR9yW/61rJw7sew/mpK9t0y/ZdqbtQ9ePSxxJUuJcE9WAFwoubrY48EJDtOjw9zH/w94DfIEhfpZm\n/wiCg7IhMiYr64KI1JQc52HBcsVVRZxsSNPKkOb+tUCWySFW+eML98hqPDDKs0+bVQBdLRL53gNh\ngeLqL5eR5v+Ln027zK7jIg7MvAWNHZOvq2AShyrrAv8/Vh3TBln8RAu5HygbInvIDdEkhLImVLMM\nm4dr4YP4gWNpBLvp3Bqy91RBnkkGKlXshDLbxCKTQ/depP6FJEiSc1fkCweVgsGY0aDbJ9SHGs1K\ndbE3ogiuZh/5QFRxYNYJBdP6EDJcA0JTEmXVzsAhGgsSCxmTZeyCjFAKHP/AVc1WlFaA8uyWnwWb\nZptpzEZN2Ry67fnXLpkYtm3rjpnGA1u0NvD+7iAozhdDykqRfPxDuW82lojUrAlimzJsTOa1NqHz\ncQRS4cIJOdV6EK5CIe51lChOowGtdURNoJiFJkQZx8BQ+UfF7XOn/J/8SUlxGUNMg2vMg4y0/Nqu\n7aQVr5EEMQ6CoZhV53OHkc8drnzGfWfRcsDHM0itClkPIHz/0vgfp91fPpUVCPdRHNBV8SkyoWBr\nVbNNyUzRwlLsn0NWBUILWRaqQLWtC4CkmFOSB6rMyhB8ZpENIYuwryW2KZomkVWL71Iaw7kp2pHH\n+/L+8bBUTG51TGWRL5eBxyYFMGuyPP8qC4iqfDpPcawfMMy3wywVg4qsI97VYXNtJXH7NUGcAlFd\nKMCxilRbMIhYVejTvWd6SNq4C2otFFTUa79kuKR68isliv52XfAee61DlhKahnCwcT8x+JUa2T5p\nWKNkbrtSezQAWAa/lLXKSsVKRKuOK+uD6n8jEwW22VBoDsFAAY7ZQ5aFFiKIZ1AFOpoCIMWBwMXK\nUK+DcVr9crEyJLVIuFamVA2g7D0+BU/8TNmmonZEmgJCdj3ys27ZgJ5VhkQgdk9Fl6EWYQJNVztB\n1U+T4GaCz0VQyY6N5hAJRPUgsVBFauGOUKIaGMSHWJygtySBctU27YupeEnbEpG1mdb3kxX84VMz\n8yfVgzoQHsRtLQo2yznL9hGPp+yTxQxZd/7StCqw9pgw4VeWlMEHo4oWjzh9FK9N3jKkukdNcUQE\nERMKcGwxpLMJ3kzN/8i2AyoPfRb4qJvh1kOwoIk0AsVM5y4rTAWkVEWmgMogLg5AqswZcT9XtMLF\n4byptk3boiA7jsr9wO6B3mH/x9Qu/xsIx6LIiLiIFNsnTZklCAUkFqpMrvfaWndBSSAkTIMFgCBT\ngmEyiTfCrCZNE7Zu8EvLr65rW9e+bMCTRf6HPjcMZtb9S6Ednfk+y/PKlquWwd8PJitNJLDR8nyw\n4EqVpcYkuITjkhui/jh69ChWrFiBGTNmoLu7G/v27UOpVMLixYsxbdo0/PEf/zGOHj1ak76RWGhB\nWJqULF0qJBhks2Xxte4BKlKLmbcLWblAXAJK0zqO6XsEFTqZdWF8JYBPJjjE1UrjlrMWRaZNXyNt\nqLIUFCKH/bYVKjLhwQc3igQVOAV3ls21nhsR3EFcPQ0W9xC6/zSuHG28UbgvJBTqk9tvvx1XX301\nXnvtNbz88suYPn06Nm7ciMWLF+PgwYO48sorsXHjxpr0jbIhakTdxC4oiF0+2iZanCermWAS0oph\n4JEF6sneN/VLt48qIFCGKtZBRxpLfssGuyRuKn5BJ9Pqj66xFmyAZULB5IJgwtkmhkB0/YjWAlmA\n5GDOLAhVx5O830yCoRmyIY4dO4aenh68+eaboc2mT5+OvXv3YsKECXj33XfR19eH//mf/0mvH5ZQ\ngCMhRbqyJcOUMaGqySDdPuXo9aTt2bhgkrTLiNNHMQvA5jgqZP+bgXx4f1EUpLE6pyxAMk72TGD9\n4BdjMlgNbIIzI+2N9/cxCQXbwksq2H1TGqOPeYjTfr1a8ogQhw4dwic+8Ql8+ctfxoEDBzB//nz8\n/d//PX7zm99gwoQJAIAJEybgN7/5TU36R26IGlHPsQsigcticJpfOlgVEMlmQ73D/ixr4ZA5ABJI\n3zUR+4FdxYeqwwwwRBbxDnyb/N82Yk8WTKkjaR2GWtTrYOJXhujOieyriFngRSkTCbyLRvb9ZCmu\nMaBqjfXJuXPnsH//ftx0003Yv38/LrrooojLoa2tzbdw1ACyLNSQukqldMHmYcXnpbPfpqJOppRL\n3mpgsiC4zuTrbfZlcjm4zMZlqbFpWHTENM00hYLODRQqLGVwPUTaNaRx6q5TVZ9YtUZTqqR4fSep\nR1IoyctCG8QUiYQasm/A/1HQ2dmJzs5OLFiwAACwYsUKbNiwARMnTsS7776LiRMn4p133sGll15a\nrR6HILFAOGFKt5K6L1S17nWDi81DM46vu55iJNJO/9PVyxC30cU98JhiGXjLQmT9EJYdEKM2A0/c\n7AFtmzJ3iIOY5eHrWfAFk0ziTeyD+L1MMQm6a5oXLtWuXdLMJDmPSzv9H8Yju0IfT5w4EZMnT8bB\ngwcxbdo07N69GzNnzsTMmTPx2GOP4Wtf+xoee+wxXHttbazSFOBYBzSadYEtZSsKB9WsJSQaRD9z\n3Kj6uOhm1fX6QK2mwJGdA1kwpAqVYEiDNEQCDy9mGHGuR9V31okGPjCTh5WIVu0nYnJLCUGSzWpZ\nqFqAY/H/pNdg/muRPh84cADr1q3DmTNnMHXqVHz3u9/F+fPnsXLlSrz99tuYMmUK/v3f/x0XX3xx\nev2whMRCHdBoYiEOESsDe8Cx0rm2AZFp45JuWK8kKPlr9f35wdAU6Bc5joNY0M6UUxYKKuJegzLB\nUBpTyZBQupM0YgGwi2GRta8RHM0oGJpFLNQzJBbqhFYQDEBZNIh5/OID0/TATltYpG2mZQNHLcSP\niCnGw/Z7676TMYBVFR8g+PB1MStZiwXxe/GxGKptdMTJHGHnSUyZtP0f8e4+yboUzSgSGCQWsodi\nFoiqElo6mz3cciPhgjc2g60pOt0p8C5li0KcPmSFzsft+r1VQsFUf0EVsyBmBfB94/fNAtX/hf8O\nqtRRlywRtp8p9kNcp0MnpGTUUyxOFWmkrLJGhywLdUSrWBcYISsDUIlnkEWk6x7sMt+zjHqY6Tcq\nqoHSZgatc0XwhY8ANxeEjQXKZXvVfnGOzbclChNdXIfKfSAGK4oBjLJt+e42mVVBFAnVGEPIskAQ\nNSKUOVE4qE/nk83UVKjS6Wo5w2904rgfGFbFkCx8+uz/KpaeVuH6v1bFHdhsa9NukuBP/vyosota\nALIk1A4SC3VEw9ZdSIHi4DQAZdHAwx7WMpOwbDDg6zrw+/P7BQcl4RALl4HSZkAstUfrBohFihgs\nYFC1TkMcZN9HdR251nXQ4ZpSGnHRSIJTGzVI1wISCrWF3BB1SKsKBp7ARQGo08x0vnKXsr4uVouk\niP7rRhIsSYL24qIyv+vWING5TFxiB0ykIRp0FRtda4MoBEOjuyBsRAK5IbKHLAtEXRKq49A7FM6g\n4K0NrMSwOADYVOpTkYX1QRU4ZwrUdGnXtF8SX3yWQiEUs6D5v/FLNJvcIjIBqBMKaRSQ4q0O0v5z\n8Tj8WhC5U/IgRl1RreCYitiGJoAsCfWFtWXh/PnzuOKKK9DZ2Ynt27ejv78ft9xyC86ePYtRo0bh\n0UcfDcpUMg4fPowvfelL+O1vf4u2tjZ85StfwW233RbtBFkWIpB1IUwgHPo7/N9xZnWus0ZVoKUM\n12A7V0wiQJd1EefYsoyOuMSZrfNLn5syJNJYDZPHZVGoJDUuxP3TGOibIGUyjkggy0L2WFsWNm/e\njO7ubnz44YcAgPXr1+P+++/HVVddhZ07d2L9+vV47rnnQvuMHj0amzZtwty5c3HixAnMnz8fixcv\nxowZM9L9FkTTE6RcFg5GqzBmkV4n+qxNpDVQxYEvucxjM6NWYWP9UKGbYauWkuaLGDELkmsNiKxI\nSzSIA7ksBiGpYGDlpnMjLSESiOphJRaOHDmCHTt24Bvf+Ab+7u/+DgBw2WWX4dixYwCAo0ePoqOj\nI7LfxIkTMXHiRADAuHHjMGPGDAwPD5NYsKCVgx1laNekMAkHmwFftU4Da5sNYjKqXTAo6/2SYlo2\nWsxw4P+WDZhpL2Nug23AoE1cgW6FURfBYHksFizcSJBQqH+sxMKdd96JBx98EMePHw/e27hxIz7z\nmc/grrvuwkcffYTnn39e28Zbb72Fl156CQsXLkzWY6IlCcUwyMy4YvEhmW9XDJIzrb4oDhhKQaHw\nT6dFnGDIRgiglJ03qwXEUsxIUOEyy7dZxdO2Ld21rSqmxR230YQCiYTGwSgWnnzySVx66aXo6enB\nnj17gvfXrl2Lhx9+GJ///Ofx/e9/H2vWrMHTTz8tbePEiRNYsWIFNm/ejHHjxqXW+WaHrAsGWEEf\nwKowjXLwV81kbWa0yuPbpAw6Dng2qz+a9kvbvx8Hm/LP7LVYrjqJSGDumLiWJt22uuvFVnjYBitK\njlEsTbboaP1AIqHxMAY4fv3rX8fWrVsxatQonDp1CsePH8eyZcuwbdu2wNLgeR4uvvjiwC3Bc/bs\nWfzpn/4pli5dijvuuEPeibY23HPPPcHrvr4+9PX1JfhazQOJhTCmJbIDbMzWNgLDRiyoTMlxTOfV\nWjCpFqQxSMetryCKJJe+uAgH2SqQvKjlEYsrxYhXaFWRsGfPntDk9b777qMAx4xxqrOwd+9ePPTQ\nQ9i+fTvmzZuHTZs2YdGiRXjmmWdw991344UXXght73kebrjhBuTzeWzatEndCcqG0EKCIYq1aACy\n83ebFj9K0odmEA2yiotW+xlm1GnWN7Dtj8tiTuJ3lmQohLbnj2NJq4oEFZQNkT3OdRba2toAAFu2\nbMHNN9+M06dPo729HVu2bAEADA8P48Ybb8RTTz2Fn/3sZ/je976H2bNno6enBwCwYcMGLFmyJMWv\nQLQioQWpTNjkr9tsY9pH14ZuIJD2R5JF4EpocSLF/rpBM+6gLAYtumJa6EqsVeDat1B9A25gL5QQ\nVJMEygO/pcgLLYolpF7auiHEhbUksTUkEohaQRUcGwSyLuhxsjQA5gGJ3yYJLm04bSsp8GM7MPNp\njTJTu7iok8uAnKRio7hAkowkGSli39jxeofUx1EJPpeCSUbXisS6IFsMioIXlZBlIXtILDQQJBjU\nOIuFuMhW/VNtp3s/TkxDXPEiC8LUmdb57cWqmcpjJCzrzB+Xf63KamH9E9NmZdYUcaYvGZBDdTxy\nI/LFmtj7Nv9307kV4ZdrF7YlkWCGxEL2ULlnoikIrWDZeyCcapkmrvn3gFpguBb7iZPKZ3M8XY0J\n1QqHaYgDU79cP1NVXuTdC4rBPLhWdAWhBnPRBa+Y6HIVcuL1wdrljk0igagnyLLQYJB1IT5Vsz6Y\niJthkRauUf78gl5J1k7Q9cX2fbFPbFs+C0GMPYiL6n8gCg6ZtYPHViCWxUIRl8Tvcw2oB5FAloXs\nIcsC0TKogiIzs0KoUNVm4D9js0vWtzQEhKtVQ3YsXXyELChP2Y57mmDkWGKbvUOV2XlSoSA7Bpv9\nuwTDyrZVnBcKXiTqGbIsNCBkXcgOlWhgg3bWwkJsX1bfP2Qyj0uSwZot5pV0wFcRp13DPqKbKjYq\ntwxgF+Co6Cet45AMsixkD1kWCIJD99Bmn5ksFDYDk83goNpG2r5N6WqXEsYy4sRP2JCkb5b7pCbw\n+LiHWEW3wpYVEglEo0CWhQaFrAv1ARuEavnQjwyEonBIc2DXzaxtSdKflK0ZTvU6GLq0ScuMEwpe\nTBeyLGQPiYUGhcQCIcNl0IvlUuGzBZKmcma9jwSTqMu6MiiJhGwgsZA9JBYaGBIMhAzTgKcaMJ3W\n3dAFXKqERA1EQhyLTxaCgURCtlRNLHj3ptjgvQ017l1Q6w4Q8Wm0G5qoD5LEUQAIB+7lRvyBMDfi\n+/MLpcrAGKeEtkhW63pUkUYSCrnea+m5Qkghy0KDQ9YFQocsCNN1H5FQtUPddoPT1Nvo0ip121iS\nNIbEyrpgEDKNJBKAxp58kGUhe0gsNAEkGIg0scnyUG0bQuWuyCrlskxawabG76Y6PomEqkNiIXso\ndZIgiBCywTbWAOxaKbKRkIggEglEM0OWhSaBrAtEraiXMtpZpa9Kvx8nFEgk1B6yLGQPWRYIgkhE\natURDe0nDsxMePxQHxqwqFIzigSiepBYaBJyvdeSdYGoOeLgaVvlUlbzQWyrngbmeuqLDSQUiKSQ\nG6KJILFAEARPq4gEckNkD9VZaCJa5cFAEIQeqpdApA25IQiCIJoEEghEVpBlocmghwVBtB5kSSCy\nhsRCg7Jnzx7lZ/TQkPPTF1+pdRcaDjpn8ajmeWuW+133TCNqD4mFBoVuLHd+tp8GPlfonMWjGuet\n2awJ9Eyrb0gsNCnN9BAhCKJCs4kEojGgAEeCIIgGgAQCUUvqos7C3LlzceBAfZSMJQiCIBqLRYsW\nZe7GaPU6C3VhWfjlL39Z6y4QBEEQBKGAYhYIgiAIgtBCYoEgCIIgCC2ZiYXvf//7mDlzJj72sY/h\nxRdfDN5/+umnccUVV2D27Nm44oor8NxzzwWf9fX1Yfr06ejp6UFPTw/ef/99adsbNmxAV1cXpk+f\njh//+MdZfYWqE+ecMa655hrMmjVL2u5bb72F9vb24LzedNNNmX2HapPVOQOa9zoD4p23JUuWYO7c\nuZg5cybWrl2Ls2fPRtqla839nAHNe625nrORkRH8yZ/8CWbMmIFPf/rT+Mu//Etpu818ndUtXka8\n9tpr3uuvv+719fV5L774YvD+Sy+95L3zzjue53neK6+84nV0dASfidvKePXVV705c+Z4Z86c8Q4d\nOuRNnTrVO3/+fDZfosrEOWee53lPPPGEt3r1am/WrFnSdg8dOuR9+tOfzq7jNSSrc9bM15nnxTtv\nH374YfD38uXLva1bt0bapWvN/Zw187Xmes5Onjzp7dmzx/M8zztz5oz32c9+1tu5c2ek3VpcZwA8\nePem9yMZfnfu3OldfvnlXqFQ8DZu3FjV72ciswDH6dOnS9+fO3du8Hd3dzdGRkZw9uxZjB49mokX\nbbvbtm3DqlWrMHr0aEyZMgWFQgH9/f34/d///fQ6XyPinLMTJ05g06ZN2LJlC1auXFmtrtYNWZ2z\nZr7OgHjnbdy4cQCAs2fP4syZM7jkkkuq0td6Iatz1szXmus5a29vx6JFiwAAo0ePxrx58zA0NFSV\nvtaa8+fP45ZbbsHu3bvR0dGBBQsW4JprrsGMGTNq3TUANY5ZeOKJJzB//vxAKADADTfcgJ6eHvzN\n3/yNdJ/h4WF0dnYGrzs7O1vmYgKi5+yv/uqvcNddd2Hs2LHa/Q4dOoSenh709fXhpz/9aTW6WjfE\nOWetfp0B8vvzqquuwoQJE9De3o4lS5ZI96Nrze2ctfq1JjtnAHD06FFs374dV155pXS/ZrvO+vv7\nUSgUMGXKFIwePRpf+MIXsG3btlp3KyCRZWHx4sV49913I+8/8MAD+NznPqfd90VmITcAAAOZSURB\nVNVXX8Xdd9+Np59+Onjv8ccfx6RJk3DixAksX74cW7duxfXXX2/sR1tbm3vna0Sa5+yXv/wl3nzz\nTWzatAlvvfWWcr9Jkybh8OHDGD9+PPbv349rr70Wr776Kn7nd34n0XepFrU4ZzIa6ToD0r8/AeC/\n/uu/cPr0afzZn/0ZHnvsMdxwww2hz+lacz9nMhrpWsvinJ07dw6rVq3C7bffjilTpkT2a/TrTMbQ\n0BAmT54cvO7s7MS+fftq2KMwicSC+A+25ciRI1i2bBm2bt2KT37yk8H7kyZNAgCMGzcOq1evRn9/\nf0QsdHR04PDhw6G2Ojo6YvWjFqR5zn7+85/jF7/4BT75yU/i3Llz+O1vf4s//MM/xLPPPhva98IL\nL8SFF14IAJg3bx6mTp2KgYEBzJs3L9mXqRK1OGeNfp0B6d+fjI9//ONYvnw59u3bFxn46FpzP2eN\nfq1lcc6+8pWv4PLLL8dtt90m3bfRrzMZdS8Qsw6K6Ovr837xi18Erz/44ANv9uzZ3g9/+MPQdufO\nnfPee+89z/P8wJbly5d7//iP/xhpjwUDnT592nvzzTe9T33qU95HH32U7ZeoMrbnjOett95SBvy8\n99573rlz5zzP87w33njD6+jo8D744IN0O11j0j5nrXCdeZ79eTtx4oQ3PDzseZ7nnT171lu5cqX3\n7W9/O9IeXWsVbM9ZK1xrLvfnN77xDW/58uXac1CL6wxAqj/jxo0Ltf/88897V111VfD6gQceqKsg\nx8zEwg9+8AOvs7PTGzNmjDdhwgRvyZIlnud53v333+9ddNFF3ty5c4Of9957zztx4oQ3f/58b/bs\n2d7MmTO9O+64I7hYfvSjH3l//dd/HbT9rW99y5s6dap3+eWXe7t27crqK1Qd13PGc+jQoVBkP3/O\n/uM//sObOXOmN3fuXG/evHnek08+Wb0vlTFZnTPPa97rzPPcz9u7777rLViwwJs9e7Y3a9Ys7667\n7pLen3StuZ8zz2vea831nB0+fNhra2vzuru7g/f/6Z/+yfO85r/Ozp49633qU5/yDh065J0+fdqb\nM2eO9+tf/7rW3Qqoi7UhCIIgCKLV2blzJ+644w6cP38ea9euVdaZqAUkFgiCIAiC0ELlngmCIAiC\n0EJigSAIgiAILSQWCIIgCILQQmKBIAiCIAgtJBYIgiAIgtBCYoEgCIIgCC0kFgiCIAiC0EJigSAI\ngiAILf8fDIAIlKaBZI0AAAAASUVORK5CYII=\n", "text": [ "" ] } ], "prompt_number": 6 }, { "cell_type": "markdown", "metadata": {}, "source": [ "##Manual Smoothing\n", "\n", "Manual smoothing of the sub-domain bathymetry\n", "was done iteratively via the following steps:\n", "\n", "1. Run the JPP case and note the coordinates\n", "at which the run aborted,\n", "typically due to high u-velocity,\n", "but occassionally due to negative surface salinity.\n", "2. Susan examined the bathymetry in the region of the\n", "bad results point via:\n", "```python\n", "bathy_tools.plot_colourmesh_zoom(bathy, centre=(fortran_i-1, fortran_j-1))\n", "```\n", "and decided on the bathymetry grid points to smooth\n", "and their new depth values.\n", "3. Create a list of 3-tuples of the grid point to change \n", "and their new depths.\n", "4. Print the present depths,\n", "grid of depth values in the region of the changes,\n", "and a zoomed colour-mesh plot of the region of the changes\n", "to verify that the changes will be in the correct locations.\n", "5. Apply and verify the changes.\n", "6. Verify that each set of previous changes are still\n", "present in the bathymetry.\n", "7. Save and commit the updated bathymetry.\n", "8. Repeat the cycle.\n", "\n", "Below are the cummulative results of several passes through\n", "the above iteration cycle:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Centre of grid area to view,\n", "and coordinates of grid cell(s) to change (0-based indexing):" ] }, { "cell_type": "code", "collapsed": false, "input": [ "centre = (212, 93)\n", "changes = [\n", " (211, 94, 14),\n", " (211, 92, 24),\n", " (212, 92, 23),\n", " (213, 92, 23),\n", "]" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 7 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Print the present depths,\n", "grid of depth values in the region of the changes,\n", "and a zoomed colour-mesh plot of the region of the changes\n", "to verify that the changes will be in the correct locations." ] }, { "cell_type": "code", "collapsed": false, "input": [ "old_depths = (depths[jchg, ichg] for ichg, jchg, new_depth in changes)\n", "print ' '.join(map(str, old_depths))\n", "\n", "bathy_tools.show_region_depths(depths, centre)\n", "\n", "bathy_tools.plot_colourmesh_zoom(bathy, centre)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "14.0 24.0 23.0 23.0\n", "[[-- -- -- 6.0 7.0 11.0 11.0 21.0 27.0 21.0]\n", " [-- 4.0 6.0 15.0 18.0 23.0 23.0 29.0 34.0 28.0]\n", " [-- 6.0 12.0 20.0 23.0 23.0 30.0 33.0 28.0 15.0]\n", " [-- 9.0 16.0 15.0 15.0 14.0 23.0 28.0 22.0 13.0]\n", " [4.0 14.0 14.0 14.0 14.0 15.0 21.0 19.0 17.0 8.0]\n", " [12.0 22.0 20.0 20.0 20.0 20.0 20.0 17.0 11.0 7.0]\n", " [24.0 25.0 24.0 26.0 24.0 23.0 23.0 23.0 12.0 4.0]\n", " [34.0 33.0 32.0 30.0 29.0 30.0 29.0 27.0 24.0 16.0]\n", " [46.0 50.0 49.0 49.0 41.0 35.0 34.0 32.0 36.0 34.0]\n", " [54.0 61.0 66.0 70.0 62.0 53.0 49.0 46.0 49.0 43.0]]\n" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nAABJRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 9 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Apply changes:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "for chg in changes:\n", " ichg, jchg, new_depth = chg\n", " depths[jchg, ichg] = new_depth" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 365 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Confirm that Chatham Islands west fixes (94,211):13->14, (92,211):24->26, and (92,212&213):23->21&22 are present." ] }, { "cell_type": "code", "collapsed": false, "input": [ "assert depths[94, 211] == 14\n", "assert depths[92, 211] == 24\n", "assert depths[92, 212] == 23\n", "assert depths[92, 213] == 23\n", "bathy_tools.show_region_depths(depths, centre)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "[[-- -- -- 6.0 7.0 11.0 11.0 21.0 27.0 21.0]\n", " [-- 4.0 6.0 15.0 18.0 23.0 23.0 29.0 34.0 28.0]\n", " [-- 6.0 12.0 20.0 23.0 23.0 30.0 33.0 28.0 15.0]\n", " [-- 9.0 16.0 15.0 15.0 14.0 23.0 28.0 22.0 13.0]\n", " [4.0 14.0 14.0 14.0 14.0 15.0 21.0 19.0 17.0 8.0]\n", " [12.0 22.0 20.0 20.0 20.0 20.0 20.0 17.0 11.0 7.0]\n", " [24.0 25.0 24.0 26.0 24.0 23.0 23.0 23.0 12.0 4.0]\n", " [34.0 33.0 32.0 30.0 29.0 30.0 29.0 27.0 24.0 16.0]\n", " [46.0 50.0 49.0 49.0 41.0 35.0 34.0 32.0 36.0 34.0]\n", " [54.0 61.0 66.0 70.0 62.0 53.0 49.0 46.0 49.0 43.0]]\n" ] } ], "prompt_number": 10 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Confirm that Gordon Head fix (106,216):13->8 is present." ] }, { "cell_type": "code", "collapsed": false, "input": [ "assert depths[106, 216] == 8\n", "#print depths[111:101:-1, 211:221]" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 11 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Confirm that Chatham Islands east fixes (93,219):12->9 and (93,220):22->20 are present." ] }, { "cell_type": "code", "collapsed": false, "input": [ "assert depths[93, 220] == 20\n", "assert depths[93, 219] == 9\n", "#print depths[98:88:-1, 214:224]" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 12 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Confirm that Constance Hole fixes (67&68, 215&216&217):120&121->119 are present." ] }, { "cell_type": "code", "collapsed": false, "input": [ "assert depths[67, 215] == 119\n", "assert depths[67, 216] == 119\n", "assert depths[67, 217] == 119\n", "assert depths[68, 215] == 119\n", "assert depths[68, 216] == 119\n", "assert depths[68, 217] == 119\n", "#print depths[72:62:-1, 211:221]" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 13 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Confirm that 6th Chatham Pass fixes (94,217&218):4->5, (95,217&218):4->6, (96,218):4->7 are present." ] }, { "cell_type": "code", "collapsed": false, "input": [ "assert depths[94, 217] == 5\n", "assert depths[94, 218] == 5\n", "assert depths[95, 217] == 6\n", "assert depths[95, 218] == 6\n", "assert depths[96, 218] == 7\n", "#print depths[100:90:-1, 212:222].data" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 14 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Confirm that 5th Chatham Pass fix (98,217):5->8 and is present." ] }, { "cell_type": "code", "collapsed": false, "input": [ "assert depths[98, 217] == 8\n", "#print depths[103:93:-1, 212:222].data" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 15 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Confirm that 4th Chatham Pass fixes (94,219):11->9 and (94,219):23->20 are present." ] }, { "cell_type": "code", "collapsed": false, "input": [ "assert depths[94, 219] == 9\n", "assert depths[94, 220] == 20\n", "#print depths[99:89:-1, 214:224].data" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 16 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Confirm that 3rd Chatham Pass fix (97,219):27->20 and (96,219):15->12 is present." ] }, { "cell_type": "code", "collapsed": false, "input": [ "assert depths[97, 219] == 20\n", "assert depths[96, 219] == 12\n", "#print depths[101:91:-1, 214:224].data" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 17 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Confirm that 2nd Chatham Pass fix (96,217)5->9 is present." ] }, { "cell_type": "code", "collapsed": false, "input": [ "assert depths[96, 217] == 9\n", "#print depths[101:91:-1, 212:222].data" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 18 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Confirm that Poulier pass fix (230,239):4->12 is present." ] }, { "cell_type": "code", "collapsed": false, "input": [ "assert depths[230, 239] == 12\n", "#print depths[235:225:-1, 234:244].data" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 19 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Confirm that 1st Chatham Pass fix (96,216):12->15 is present." ] }, { "cell_type": "code", "collapsed": false, "input": [ "assert depths[96, 216] == 15\n", "#print depths[101:91:-1, 211:221].data" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 20 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Save the modified bathymetry:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "bathy.close()" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 5 }, { "cell_type": "markdown", "metadata": {}, "source": [ "##Algorithmic Smoothing\n", "\n", "Susan developed a smoothing algorithm that successively adjusts the\n", "depths at adjacent grid point for pairs of grid points that have the\n", "greatest normalized difference in depth.\n", "The normalization factor is the average depth at the pair of grid points.\n", "The pair by pair adjustment of grid points is repeated until the maximum\n", "normalized depth difference has dropped below a threshold.\n", "\n", "The `bathy_tools.smooth()` function used below is the final implementation\n", "of the algorithm.\n", "Its development can be seen in `TowardSmoothing.ipynb` notebook." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Bathymetry file to modify:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "bathy = nc.Dataset('../../NEMO-forcing/grid/Subdom_bathy_meter_smooth.nc', 'r')\n", "depths = bathy.variables['Bathymetry']" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 25 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Smooth the bathymetry by successively adjusting depths \n", "that have the greatest normalized difference \n", "until all of those differences are below a threshhold.\n", "This takes several minutes..." ] }, { "cell_type": "code", "collapsed": false, "input": [ "depths = bathy_tools.smooth(depths, max_norm_depth_diff=0.8, smooth_factor=0.2)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 14 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Confirm that the threshold has been achieved." ] }, { "cell_type": "code", "collapsed": false, "input": [ "diffs_lat = bathy_tools.calc_norm_depth_diffs(depths, delta_lat=1, delta_lon=0)\n", "max_lat_diff_ij = bathy_tools.argmax(diffs_lat)\n", "diffs_lon = bathy_tools.calc_norm_depth_diffs(depths, delta_lat=0, delta_lon=1)\n", "max_lon_diff_ij = bathy_tools.argmax(diffs_lon) \n", "\n", "print diffs_lat[max_lat_diff_ij], diffs_lon[max_lon_diff_ij]" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "0.799839 0.799263\n" ] } ], "prompt_number": 16 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Compare the smoothed bathymetry to the original." ] }, { "cell_type": "code", "collapsed": false, "input": [ "orig_bathy = nc.Dataset('../../NEMO-forcing/grid/Subdom_bathy_meter_orig.nc', 'r')\n", "orig_depths = orig_bathy.variables['Bathymetry']" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 26 }, { "cell_type": "code", "collapsed": false, "input": [ "import matplotlib.pyplot as plt\n", "plt.figure(figsize=(9, 9))\n", "diffs = orig_depths[:] - depths[:]\n", "plt.pcolormesh(-diffs[100:200,150:250], cmap=plt.cm.bwr)\n", "plt.colorbar()" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 27, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\nsH75y19q3759eu+999TT06MNGzbw/PXj/vvv720S/6u+nrPa2lpt3LhRtbW12r59ux588EFd8ur3\n8MLFjpI33njDvuWWW3rjiooKu6KiIlrDe8Lf/d3f2Tt37rSnTJliNzc327Zt28eOHbOnTJkS45nF\nr4aGBnvBggX2q6++at966622bds8f0Foa2uzr776ar/tPIcDc/LkSXvy5Ml2a2ur3dXVZd966632\njh07eP4GoL6+3p4+fXpv3Ndz9tRTT9mVlZW9+91yyy32m2++Gd3JJpioVfxui/s0NTVFa/iEd/jw\nYb3zzju6/vrr1dLSIp/PJ0ny+XxqaWmJ8ezi13e/+10988wzSkn57Fed52/g6uvrNW7cON1///2a\nPXu2HnjgAZ07d47ncICysrL08MMPa8KECcrNzVVmZqZKS0t5/gahr+fs6NGjyr/soiHklv5FLfGz\nuM/gtbe36/bbb9eaNWs0YoR5ER/Lsnhu+/DKK68oOztbs2bN6vNCGDx/gXV3d2vfvn168MEHtW/f\nPl1xxRV+H0vzHPbt4MGD+ulPf6rDhw/r6NGjam9v1/r16419eP6C199zxvMZWNQSf15enhoaGnrj\nhoYG410a3HV1den222/XvffeqyVLlkj65N1uc3OzJOnYsWPKzs6O5RTj1htvvKGtW7fq6quv1rJl\ny/Tqq6/q3nvv5fkLQn5+vvLz8zV37lxJ0h133KF9+/YpJyeH53AA9u7dqxtuuEFjxoxRamqqbrvt\nNr355ps8f4PQ19+tM7c0NjYqLy8vJnNMFFFL/HPmzNGBAwd0+PBhdXZ2auPGjSorK4vW8AnJtm2t\nWLFCxcXFWrVqVe/2srIyVVVVSZKqqqp63xDA9NRTT6mhoUH19fXasGGDvvzlL+vXv/41z18QcnJy\nNH78eNXV1UmSqqurNW3aNC1evJjncACKioq0e/dunT9/XrZtq7q6WsXFxTx/g9DX321ZWZk2bNig\nzs5O1dfX68CBA5o3b14spxr/otlQsG3bNnvy5Mn2xIkT7aeeeiqaQyekP/zhD7ZlWfbMmTPt6667\nzr7uuuvs3/72t/bJkyftBQsW2JMmTbJLS0vtU6dOxXqqca+mpsZevHixbds2z1+Q/vSnP9lz5syx\nr732WvurX/2q3dbWxnMYhKefftouLi62p0+fbt933312Z2cnz18/7r77bvvKK6+009LS7Pz8fPul\nl14K+Jw9+eST9sSJE+0pU6bY27dvj+HMEwML+AAAkESiuoAPAACILRI/AABJhMQPAEASIfEDAJBE\nSPwAACQREj8AAEmExA8AQBIh8QMAkET+fzPU6lZbvkosAAAAAElFTkSuQmCC\n", "text": [ "" ] } ], "prompt_number": 27 }, { "cell_type": "code", "collapsed": false, "input": [ "np.min(diffs), np.max(diffs)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 28, "text": [ "(-98.399994, 98.399994)" ] } ], "prompt_number": 28 }, { "cell_type": "code", "collapsed": false, "input": [ "bathy.close()" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 24 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] } ], "metadata": {} } ] }