{
 "metadata": {
  "name": ""
 },
 "nbformat": 3,
 "nbformat_minor": 0,
 "worksheets": [
  {
   "cells": [
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import numpy as np\n",
      "import scipy.sparse as sp\n",
      "import scipy.sparse.linalg as alg\n",
      "import math\n",
      "from time import time\n",
      "\n",
      "import pylab as pl\n",
      "\n",
      "%pylab inline --no-import-all"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Populating the interactive namespace from numpy and matplotlib\n"
       ]
      }
     ],
     "prompt_number": 1
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# x - bezwymiarowa siatka polozen\n",
      "\n",
      "# Stale 'rho' zadeklerowane dla ponizszych typow potencjalow to bezwymiarowe zmienne\n",
      "# z bezwymiarowego rownania Schrodingera.\n",
      "\n",
      "def rho_LennardJones2():\n",
      "    return 1.0\n",
      "def LennardJones(x):\n",
      "    # potencjal Lennarda-Jonesa: v(x) = V_c * ( (C/x)**12 - (C/x)**-6)\n",
      "    # bezwymiarowy potencjal Lennarda-Jonesa: V(x) = x**-12  - 2*x**-6\n",
      "    return x**-12  - x**-6"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 68
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# rozmiar macierzy pieciodiagonalnej:\n",
      "N = 1000\n",
      "    \n",
      "# konce bezwymiarowego przedzialu obustronnie domknietego [x_min,x_max]:\n",
      "x_min = 0.99\n",
      "x_max = 5.0\n",
      "\n",
      "# ilosc wartosci wlasnych i wektorow wlasnych, ktore chcemy wyznaczyc:\n",
      "N_eigvals = 4\n",
      "\n",
      "# wybor potencjalu:\n",
      "potential = LennardJones\n",
      "# opcjonalne argumenty wybranego potencjalu:\n",
      "args_potential = ()\n",
      "\n",
      "# wybor parametru rho (odpowiedni dla danegoJ potencjalu):\n",
      "#rho = rho_Konwent\n",
      "rho = rho_LennardJones2\n",
      "# opcjonalne argumety wejsciowe funkcji zwracajacej wartosc bezwymiarowej zmiennej rho\n",
      "args_rho = ()"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 79
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "x = np.linspace(x_min, x_max, 300)\n",
      "pl.plot(x, LennardJones(x))"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 80,
       "text": [
        "[<matplotlib.lines.Line2D at 0xcf2b8ec>]"
       ]
      },
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\n",
       "text": [
        "<matplotlib.figure.Figure at 0xd8c5acc>"
       ]
      }
     ],
     "prompt_number": 80
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "def EigenvalEigenvecProblem3(N, x_min, x_max, N_eigvals, potential, *args_potential):\n",
      "    \n",
      "    \"\"\"\n",
      "    funkcja 'EigenvalEigenvecProblem3' rozwiazuje algebraiczne zagadnienie wlasne \n",
      "    wykorzystujac trojpunktowa metode centralnych roznic skonczonych do przyblizenia \n",
      "    drugiej pochodnej.\n",
      "    \"\"\"\n",
      "    \n",
      "    # dyskretna siatka polozen, gdzie N - ilosc punktow siatki:\n",
      "    x = np.linspace(x_min, x_max, N)\n",
      "    \n",
      "    # krok dyskretnej siatki:\n",
      "    dx = (x_max - x_min) / (N - 1)\n",
      "    \n",
      "    # elementy na glownej diagonali macierzy trojdiagonalnej:\n",
      "    diagonal = 2.0 * np.ones(N) + dx * dx * rho(*args_rho) * potential(x, *args_potential)\n",
      "    # elementy na dwoch pozostalych diagonalach macierzy trojdiagonalnej:\n",
      "    diag_edge = -1.0 * np.ones(N - 1)\n",
      "    # tablica niezerowych element\u00f3w macierzy trojdiagonalnej:\n",
      "    tridiagonal = np.array([diag_edge, diagonal, diag_edge])\n",
      "    \n",
      "    # numery diagonali, gdzie 0 oznacza diagonale glowna, \n",
      "    # -1 -pierwsza diagonale dolna, 1 -pierwsza diagonale gorna:\n",
      "    offsets = [-1, 0, 1]\n",
      "    # macierz trojdiagonalna (hamiltonian) zapisana w postaci macierzy rzadkiej:\n",
      "    hamilton = sp.diags(tridiagonal, offsets)\n",
      "        \n",
      "    start = time()\n",
      "    \n",
      "    # wyznaczenie N_eigvals wartosci wlasnych i odpowiadajacych im wektorow wlasnych\n",
      "    eigvals, eigvecs = alg.eigsh(hamilton, k = N_eigvals, which = \"SM\", tol = 1.0E-4)\n",
      "    # Argument \"SM\" oznacza, \u017ce wyznaczone zostanie N_eigvals najmniejszych wartosci\n",
      "    # wlasnych i odpowiadajacych im wektorow wlasnych, a argument \"tol\" oznacza wzgledna \n",
      "    # dokladnosci, z jaka wyznaczone zostana wartosci wlasne.\n",
      "    \n",
      "    # !UWAGA! Argument 'eigvecs' stanowi macierz o 'N' wierszach i 'k' kolumnach,\n",
      "    # wiec i-ty wektor wlasny ma 'i' kolumn o dlugosci 'N'.\n",
      "    \n",
      "    #print \"'alg.eigsh(...)' time: %.2fs\" % (time() - start)\n",
      "    \n",
      "    eigvals = eigvals / (dx * dx * rho(*args_rho))\n",
      "\n",
      "    return eigvals, eigvecs"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 81
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "eigvals_a, eigvecs_a = EigenvalEigenvecProblem3(N, x_min, x_max, N_eigvals, potential, *args_potential)\n",
      "print eigvals_a"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "[ 0.60465941  2.42938661  5.4795196   9.7548357 ]\n"
       ]
      }
     ],
     "prompt_number": 82
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# DYSKUSJA BLEDOW\n",
      "\n",
      "eigvals_a, eigvecs_a = EigenvalEigenvecProblem3(N, x_min, x_max, N_eigvals, potential, *args_potential)\n",
      "\n",
      "print eigvals_a\n",
      "\n",
      "N_max = 800\n",
      "N_list = range(100, N_max, 100)\n",
      "measures = 5\n",
      "\n",
      "# blad wzgledny:\n",
      "time_list = []\n",
      "digits_list = []\n",
      "\n",
      "for N in N_list:\n",
      "    eigvals_num, eigvecs_num = EigenvalEigenvecProblem3(N, x_min, x_max, N_eigvals, potential, *args_potential)\n",
      "    print eigvals_num\n",
      "    time_start = time()\n",
      "    for m in xrange(measures):\n",
      "        EigenvalEigenvecProblem3(N, x_min, x_max, N_eigvals, potential, *args_potential)\n",
      "    exec_time = (time() - time_start) / measures\n",
      "    \n",
      "    time_list.append( exec_time )\n",
      "    digits = [-math.log10( abs( (e_num - e_a) / e_a ) )\n",
      "                  for e_num, e_a in zip(eigvals_num, eigvals_a) ]\n",
      "    digits_list.append(digits)\n",
      "    \n",
      "for idx in xrange(N_eigvals):\n",
      "    \n",
      "    digit_data = [digit[idx] for digit in digits_list]\n",
      "    pl.plot(N_list, digit_data, \".-\", label = \"$\\widetilde{E}_{%d}$\" % idx)\n",
      "    \n",
      "pl.xlabel(\"$N_{}^2$\", {\"fontsize\": \"xx-large\"})\n",
      "pl.ylabel(\"$l_n$\", {\"fontsize\": \"xx-large\", \"rotation\": \"horizontal\"})\n",
      "pl.xlim(None,N_max)\n",
      "pl.show()\n",
      "\n",
      "for idx in xrange(N_eigvals):\n",
      "    \n",
      "    digit_data = [digit[idx] for digit in digits_list]\n",
      "    pl.plot(time_list, digit_data, \".-\")\n",
      "    \n",
      "pl.xlabel(\"$t$\", {\"fontsize\": \"xx-large\"})\n",
      "pl.ylabel(\"$l_n$\", {\"fontsize\": \"xx-large\", \"rotation\": \"horizontal\"})\n",
      "#pl.xlim(None,1000)\n",
      "pl.show()"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "[ 0.55973522  2.26766298  5.14077263  9.17980264]\n",
        "[ 0.53755914  2.1802801   4.94571004  8.83239271]"
       ]
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n",
        "[ 0.5498116   2.2286309   5.05397529  9.02612217]"
       ]
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n",
        "[ 0.5539335   2.24485806  5.09012813  9.09031749]"
       ]
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n",
        "[ 0.5560014   2.25299122  5.10821221  9.12233097]"
       ]
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n",
        "[ 0.55724436  2.25787727  5.11906456  9.14151051]"
       ]
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n",
        "[ 0.55807391  2.26113716  5.12630013  9.15428462]"
       ]
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n",
        "[ 0.5586669   2.26346689  5.13146869  9.16340287]"
       ]
      },
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "\n"
       ]
      },
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\n",
       "text": [
        "<matplotlib.figure.Figure at 0xb7df10c>"
       ]
      },
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\nRU5ErkJggg==\n",
       "text": [
        "<matplotlib.figure.Figure at 0xc905fac>"
       ]
      }
     ],
     "prompt_number": 51
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# WYKRES ZALEZNOSCI ENERGII DLA KOLEJNYCH POZIOMOW ENERGETYCZNYCH:\n",
      "\n",
      "N_eigvals = 4\n",
      "\n",
      "eigvals, eigvecs = EigenvalEigenvecProblem3(N, x_min, x_max, N_eigvals, potential, *args_potential)\n",
      "\n",
      "fig, ax1 = pl.subplots(figsize = (8, 5))\n",
      "ax1.set_yticklabels([])\n",
      "ax1.set_ylabel(\"$\\psi_n$\", {\"fontsize\": \"xx-large\", \"rotation\": \"horizontal\"})\n",
      "\n",
      "ax2 = ax1.twinx()\n",
      "\n",
      "num_x = len(eigvecs)\n",
      "dx = (x_max - x_min) / (num_x - 1) \n",
      "x_list = [x_min + i * dx for i in xrange(num_x)]\n",
      "print len(x_list)\n",
      "h_list = [potential(x_i) for x_i in x_list]\n",
      "ax2.plot(x_list, h_list, color = \"black\")\n",
      "\n",
      "#ax2.plot((eigvals), \"o-\")\n",
      "for i in xrange(N_eigvals):\n",
      "    ax2.plot([x_min, x_max], [eigvals[i],eigvals[i]], color = \"orange\")\n",
      "    ax2.plot(x_list, eigvecs[:,i] + eigvals[i], color = \"green\")\n",
      "#plt.savefig(\"num_har_E.png\")\n",
      "\n",
      "ax2.set_xticks([x_min, x_max])\n",
      "ax2.set_xticklabels([\"$x_{min}$\", \"$x_{max}$\"])\n",
      "ax2.set_xlim(x_min, x_max)\n",
      "ax2.set_yticks(eigvals)\n",
      "ax2.set_yticklabels([\"$n = %d$\" % i for i in range(0,len(eigvals))])\n",
      "ax2.set_ylim(None, eigvals[-1] + 1)\n",
      "\n",
      "pl.show()"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "700\n"
       ]
      },
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\njv8PQEMYBxuBnB0AAAAASUVORK5CYII=\n",
       "text": [
        "<matplotlib.figure.Figure at 0xc1bfc8c>"
       ]
      }
     ],
     "prompt_number": 52
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "x = np.linspace(x_min, x_max, N)\n",
      "eigvals, eigvecs = EigenvalEigenvecProblem5(N, x_min, x_max, N_eigvals, potential, *args_potential)\n",
      "\n",
      "# WYKRES FUNKCJI FALOWEJ:\n",
      "\n",
      "fig, ax1 = pl.subplots()\n",
      "ax2 = ax1.twinx()\n",
      "\n",
      "#ax1.set_figure(figsize = (10, 6))\n",
      "\n",
      "\n",
      "for idx in range(N_eigvals)[0:4]:\n",
      "    \n",
      "    psi = eigvecs[:,idx]\n",
      "    ax2.plot(x, psi + eigvals[idx], label = \"$\\psi_{%d}(x)$\" % idx)\n",
      "    \n",
      "#pl.legend(bbox_to_anchor=(1.16, 0.7))\n",
      "ax1.set_ylabel(\"$\\psi_n(x)$\", {\"fontsize\": \"xx-large\", \"rotation\": \"horizontal\"})\n",
      "ax1.set_yticks([])\n",
      "ax2.set_xlabel(\"$x$\", {\"fontsize\": \"xx-large\"})\n",
      "ax2.set_xlim(x_min, x_max)\n",
      "#pl.ylim(-shift, shift * N_eigvals)\n",
      "ax2.set_xticklabels([x_min, x_max], [\"$x_{min}$\", \"$x_{max}$\"], size = 15)\n",
      "\n",
      "ax2.set_yticks(eigvals)\n",
      "ax2.set_yticklabels([\"$n = %d$\" % i for i in range(0,len(eigvals))])\n",
      "\n",
      "#plt.savefig(\"num_harr_psi3.png\")\n",
      "pl.show()"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\nMayIiEh4/weyQHdhaun66gAAAABJRU5ErkJggg==\n",
       "text": [
        "<matplotlib.figure.Figure at 0xcdd396c>"
       ]
      }
     ],
     "prompt_number": 92
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "x = np.linspace(x_min, x_max, N)\n",
      "eigvals, eigvecs = EigenvalEigenvecProblem5(N, x_min, x_max, N_eigvals, potential, *args_potential)\n",
      "\n",
      "\n",
      "# WYKRES FUNKCJI FALOWEJ:\n",
      "\n",
      "pl.figure(figsize = (10, 6))\n",
      "\n",
      "shift = 0.3\n",
      "\n",
      "for idx in range(N_eigvals)[0:3]:\n",
      "    \n",
      "    psi = eigvecs[:,idx]\n",
      "    pl.plot(x, psi + idx * shift, label = \"$\\psi_{%d}(x)$\" % idx)\n",
      "    \n",
      "pl.legend(bbox_to_anchor=(1.16, 0.7))\n",
      "pl.xlabel(\"$x$\", {\"fontsize\": \"xx-large\"})\n",
      "pl.ylabel(\"$\\psi_n(x)$\", {\"fontsize\": \"xx-large\", \"rotation\": \"horizontal\"})\n",
      "pl.xlim(x_min, x_max)\n",
      "#pl.ylim(-shift, shift * N_eigvals)\n",
      "pl.xticks([x_min, 0.0, x_max], [\"$x_{min}$\", \"$0.0$\", \"$x_{max}$\"], size = 15)\n",
      "pl.yticks([])\n",
      "#plt.savefig(\"num_harr_psi3.png\")\n",
      "pl.show()"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "iVBORw0KGgoAAAANSUhEUgAAAsIAAAGBCAYAAABsNteGAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XmcjXX/x/H3LMYwBoORsZN9CdlTSEUM2SMpWtCGyp2f\n4i7dubVxt3JTKipLWQbZsqQo+zaWse87Y6yzL9fvj+9NKTHruc451+v5eJzHOc65znV9DuPM+3zP\n9/p8fSzLsgQAAAA4jK/dBQAAAAB2IAgDAADAkQjCAAAAcCSCMAAAAByJIAwAAABH8re7AFfw8fGx\nuwQAAIB0o6mXazgiCEv8QAHIfsOHD9fw4cPtLgOAl2EAz3WYGgEAAABHIggDAADAkQjCAJBJzZs3\nt7sEAEAW+DhhiWUfHx/mCAMAAI9AbnEdRoQBAADgSI7pGgEgG1iWtGGDtHq1tGmTtGePdO6cuT8o\nSCpbVqpdW2rWTLr7bsmftxivceiQtHCh+fffvVuKjpZSU82/e6lSUo0aUtOmUpMmUv78dlcLAOnC\n1AgAt7Zzp/T559KMGVLevFLz5lLdulKVKlKRIpKvr3T5sglLGzZIS5dKx49LvXpJAwdKYWF2vwJk\nRkqK9N130qefSvv3S61bS3fdZf7dQ0PNB50rV6TDh6XISGnFCvPv36KF+bdv21bKlcvuVwF4HHKL\n6xCEAfy9lSuld94x4aZPH+mRR6Rq1aT09LjcvVsaM0b69lvpmWekoUPN6CE8w/z50j/+YQLvoEFS\neHj6RvgvXTIfmL76SjpyRBo8WHrySSlPnpyvGfAS5BbXIQgD+KuoKGnIEGnbNhNge/aUAgMzt68T\nJ6RXXpFWrTKhuEmT7K0V2evCBen556W1a6WPPzajwJlt7r9mjfT229LGjeb60UfNtwcAborc4jq8\nIwH4XXy8CcDNmpnpD7t2SU8/nfkQLEnFi0uTJ5tQ1bmz9N57Zk4x3M/OnVLDhlKBAtLWrVKbNpkP\nwZLUqJE0Z440fbr0ySdmWkVkZPbVCwBZRBAGYCxfLt1xh3TwoBkJfvllKXfu7Nt/u3ZmisW0aear\n8uTk7Ns3sm7hQvMBaMgQaexYMxc8uzRubEaH+/aVHnhAevNNKSkp+/YPAJnE1AjA6RITTfiZMcPM\n6X3ooZw9Xmys1KWLlC+fNGUKJ1O5g9mzpX79zHXjxjl7rOPHTSA+ftxMlalRI2ePB3ggcovrMCIM\nONnu3ebr66tn/ed0CJbMCXOzZ0txcebkO0aG7RURYULwggU5H4IlqUQJad48003k3nulL75gqgwA\n2zAiDDjVlCkmjIwYYUbosjIXNDMSE6VOnaTChaVJk1x/fEjLlkk9ephpEXfe6frjR0VJDz8s1akj\n/fe/5lsCAOQWF2JEGHCa1FTTxeGf/zRBqF8/e0Jo7tzmJKqdO00Yh2vt3GlG5L/7zp4QLJlWfOvW\nSQEBUv360o4d9tQBwLEIwoCTnD9v+sFu3mwCyB132FtP3rzS3LnShAnS1Kn21uIkZ8+axS7ee890\nB7FT3rxmesSQIWaqxJw59tYDwFGYGgE4RVSU1L69CUDvv+9eyx9v3Srdd5/pXMHJUzkrNVV68EGz\nMuA779hdzfXWrzfTZfr0kYYNo+cwHIvc4jq8ywBOMGeOaY01bJj0wQfuFYIlMzL9/vtmvmhsrN3V\neLe33zbzs91xOkr9+uabikWLpK5dzfLNAJCDGBEGvFlamgk8n38uzZwpNWhgd0U317u3uZ440c4q\nvNcvv0jdu5t+ziVK2F3N30tM/H11uzlzpPLl7a4IcClyi+swIgx4qytXzKjawoVmlM3dQ7Bk+hiv\nXWsW3UD2unBBeuwx6auv3DsES+ZEys8/NydyNm5sTuoEgBzAiDDgjQ4cMPOBGzQwq4Rl5wpxOW39\nerMKXWSkdNttdlfjPZ580vwc/Pe/dleSMcuXm+4WQ4aYdn+02YMDkFtchyAMeJurvWH/+U/z9bIn\nBofXXpN27TLTOTyxfnezYIH5Wdi6VQoOtruajDt0yHywq1NHGjdOCgy0uyIgR5FbXIepEYC3sCzp\nww+lRx81UwteeMFzQ+Qbb0h79jBFIjtcvGimGHzxhWeGYEkqW1ZatcqcSNmsmXTihN0VAfASjAgD\n3iAuzqwOt2OHWTK3bFm7K8q6deukDh1M27eCBe2uxnMNGCDFx5s5t57OsqSRI830jhkzzPLggBci\nt7gOQRjwdIcOSR07StWrS599ZhYo8Bb9+pl5rR9/bHclnmnLFqlVK/NhonBhu6vJPnPnSk89ZVru\nXe00AngRcovrEIQBT7Z0qdSzp/eeSHTunFmG98cfpdq17a7Gs6SlSXffbU6Se/ppu6vJfjt3mnnD\nbdpIo0a5X29sIAvILa7DHGHAE1mWNHq0aYc1dar04oveF4IlM4o5YoT03HMm2CH9Jk40q8g9+aTd\nleSMqlVNq71du6QHHpBOnrS7IgAeiCAMeJqYGDMVYto0EwTuvdfuinLWU0+ZQDdpkt2VeI6YGNN5\nY+xY716mOCREmj/fnEBXt675hgQAMoCpEYAnWbXK9FTt1El65x3P6g+cFRs3Sm3bmk4Sntr5wJUG\nDpSSkjyvZ3BW/PST+YbkySdN1xGmSsCDkVtchyAMeILUVHNi0AcfSBMmmAUnnObxx6UyZaS33rK7\nEve2d69ZjS0qSipa1O5qXOv0aTNnPilJmjLF/VfQA/4GucV1CMKAu9u/35wZ7+MjTZ4slSpld0X2\nOHLELKiwdSsB52a6dJHuvNNMjXCi1FTzbcnHH0v/+Y9ZXMYb58/Dq5FbXIcgDLirtDSzitbrr0tD\nh5qvu715vmd6vPqqGfX78ku7K3FPq1ZJ3bubE8i8qY1eZmzaZL5FqFTJ/D9y2ug4PBq5xXUc/lsV\ncFP790stW5oTxH79VXrpJUKwZNrELVhgRoVxPcuS/vEPM3XE6SFYMqPiGzdKlStLd9xhuqsQLAD8\nCb9ZAXcSHy8NHy41aGCC8G+/SVWq2F2V+yhQQBo2THrlFbsrcT8zZ5oVBnv2tLsS95E7t/T229Ls\n2Wa6xP33m9FyAPgfgjDgLhYskGrUkLZtkzZvlgYP5sz3G+nXTzpwQFq+3O5K3EdqqvTPf0rvviv5\n+dldjftp1MiMDj/0kFlk5LXXpNhYu6sC4AYIwoDdNmwwCwIMHCiNGWNG9kqXtrsq95Urlxk1HzaM\nr7qvmjLFLD7SsqXdlbgvf3/zf2zrVunw4d/nDicn210ZABsRhAG77NkjPfywWSa2SxfT7urBB+2u\nyjN07y5dvCgtXGh3JfZLTpbefNPMDaY7wq0VL266r8yZI82aZZbw/u47Vi4EHIogDLjapk1mUYwm\nTcwJPXv3mq/7c+WyuzLP4edngt+wYQSYr7823yB4+wqD2a1ePWnxYjMqPHq0VLOmWZY6KcnuygC4\nEEEYcIW0NGnRIum++8wIcL16pjPEkCGc4Z9ZHTqYThqzZtldiX2SkswHAhYZybz77jNLlX/0keks\nUb689N570oULdlcGwAXoIwzkpGPHzCjTl19K+fNLgwZJ3bpJAQF2V+YdFi2SXn7ZnGDoxJPExo0z\nHREWLbK7Eu+xZYs0apQ0b55Z1vvpp6VmzZh2Apcit7gOQRjIbjEx0g8/mHmHa9aY4PvUU1Lduvwy\nzW6WJTVtKvXpYxZPcJKEBKliRXNyZYMGdlfjfaKjpW+/lb74wrQ17NlT6tzZdHbh/zFyGLnFdQjC\nQHY4eFD68UfzNf3atebr1s6dpY4dmfqQ01asMEtQ797trHnWH38sLVliPnQh51iWtH69NG2a+f+d\nK5f5v92unfkA4qSfObgMucV1CMJARlmWdPSoGe1dtkxaulS6csU06+/YUWrdWgoKsrtKZ2nZ0nTe\n6NvX7kpcIy5OqlBBmj9fqlPH7mqcw7LMya4zZ5rpKPv3S/fcY/7v33OPWcGOYIxsQG5xHYIwcDNp\nadKRI6a12caN0rp1ZnTIsqSGDaUWLczoL1+X2mvtWqlrV9OBI3duu6vJeaNGSatXm0AG+0RHm4Vd\nli41q0AeOiTVqmXeG2rXlqpXl6pW5VshZBi5xXUIwsCVKybsHj36+/XevWYp1j17pJAQ88vszjvN\nV6H160ulShF83U27dlKrVtILL9hdSc66ckW6/XbzbUSNGnZXgz+6dMkskLN2rVm4IyrKvIeEhZlQ\nXL68aXVXpszvl9BQ3kvwF+QW1yEIw3NZlllaNjHRLJd65cr113+8ff68dO6cGcG5eh0dLZ05Y1pQ\nlSp1/aVCBalKFXMJDrb7lSI9Nm+WwsOlffu8ewTu7bdNyJo61e5KkB4pKWZJ8Kgocy7B4cPXX2Jj\npSJFTCAODb3+dv785v0nXz5zuXr76nXu3OYSEODMrilejNziOs4Jwp06/X7Hn1/yzf6ckW1duS9P\nqTOjz01LM784kpNvfPnjYykppo9s7txmTm6+fNdf//F2wYLmF0zhwub66u3QUKlQIUZkvEXnztJd\nd5k2dd7o4kXzIW3lSvMhDZ4vLs58KD971lz+ePvyZXO5csVcrt6+ep2YaD7IJyaa97CAgBtf/P3N\ne6Wfn7nO6MXH58bvkem9LyPbZvX5N7vfg/jMnEkQdhHnBOEZM/58Z/r/nJFtXbkvT6kzo9vmymUu\n/v6/377R5eqbO3DV9u3mxKV9+8yHIG/z5pvmBK2vv7a7Erib1FQTim90SU42gwyZuaSm/nXAQkr/\nfRnZNqvPv9n9Hsana1eCsIs4Jwh7/8sEIJnlq++4Q3r1VbsryV4xMVKlSqZbSYUKdlcDIAeRW1yH\nIAzAu+zebVpZ7d0rFShgdzXZZ+hQ6fRpacIEuysBkMPILa5DEAbgfXr3lsqWlYYPt7mQbBIdLVWu\nbHrYliljdzUAchi5xXUIwgC8z4EDptXdnj3mZEhP98orprvA2LF2VwLABcgtrkMQBuCd+vY13UFG\njrS7kqw5edL0oN22TSpRwu5qALgAucV1CMIAvNORI2b54Z07paJF7a4m8154wbQIHD3a7koAuAi5\nxXUIwgC8V//+po+qp4bIw4fNioaeHuYBZAi5xXUIwgC818mTZhnibduk4sXtribjnnrKLM87YoTd\nlQBwIXKL6xCEAXi3QYPMogKffGJ3JRmzZ49ZJW/vXikkxO5qALgQucV1CMIAvNuZM1LVqtLmzVLp\n0nZXk349epiT5IYOtbsSAC5GbnEdgjAA7/faa9K5c9L48XZXkj7btv2+VHRwsN3VAHAxcovrEIQB\neL+ryxOvWyeVL293NbfWpo3UsqX04ot2VwLABuQW1/G1uwAAyHGFCpkOEq+/bnclt7Z0qZkf/Nxz\ndlcCAF6PEWEAznDlilmmOCLCrDrnjlJTpbp1pWHDpC5d7K4GgE3ILa7DiDAAZ8iXz7Qhe/llyV1/\nwXz7rZQ3r9S5s92VAIAjEIQBOMfjj0uxsdKMGXZX8ldxcWYkeNQoycfH7moAwBEIwgCcw89P+s9/\npMGDpYQEu6u53gcfSA0bmt7BAACXYI4wAOfp0EFq3Fj6v/+zuxLj6lLKGzZI5crZXQ0Am5FbXIcg\nDMB59u2TGjUyi2yUKmV3NVKnTlLt2p7R1QJAjiO3uA5TIwA4T4UKpp3agAF2VyItXChFRprpGgAA\nlyIIA3CmIUOkqChp7lz7aoiLM4H844+lwED76gAAh2JqBADnWr5c6t1b2r7dnqWMBw2Sjh+Xpk1z\n/bEBuC1yi+sQhAE421NPmW4Sn33m2uOuWmX6BW/bJhUp4tpjA3Br5BbXYWoEAGf74AOzrPEPP7ju\nmPHx0hNPSJ9+SggGABsxIgwAK1dK3bqZk9ZCQ3P+eM8+K124IE2dmvPHAuBxyC2uw4gwANxzj1l1\n7vHHpdTUnD3WlClmBHrcuJw9DgDglhgRBgBJSk6WWrY0C22MHJkzx9i5U2ra1AThWrVy5hgAPB65\nxXUYEQYAScqVS/r+ezNiO2NG9u8/Jkbq2FF6+21CMAC4CUaEAeCPNm2SWrWS5syR7rore/aZkGBG\nmxs0kEaNyp59AvBa5BbXIQgDwJ8tWiT16mWu69TJ2r4SEkybtOBgM9rsyxdxAG6O3OI6vCMDwJ89\n+KD03/+akeEVKzK/n8uXpQ4dpKAg6ZtvCMEA4GZ4VwaAG+nUyYzgdukiffGFlNHRmQMHzNSK0qXN\nfnLlypk6AQCZRhAGgL9z//3Szz+bRTe6d5eOHbv1c1JTzWhygwZS377S+PGSv3+OlwoAyDiCMADc\nTLVq0rp1UsWKptvDwIFm4Y0/jxCfPWuWaa5WzSyUsXKl1L+/5ONjT90AgFviZDkASK+jR03YnTzZ\nrAxXsaIUGCgdP26CcMuW0jPPSC1aEIABZBq5xXUIwgCQGSdOSIcPm64QxYtL5cpJAQF2VwXAC5Bb\nXIcgDAAA4EbILa7DHGEAAAA4EkEYAAAAjkQQBgAAgCMRhAEAAOBIBGEAAAA4EkEYAAAAjkQQBgAA\ngCMRhAEAAOBIBGEAAAA4EkEYAAAAjkQQBgAAgCMRhAEAAOBIBGEAAAA4EkEYAAAAjkQQBgAAgCMR\nhAEAAOBIBGEAAAA4EkEYAAAAjkQQBgAAgCP5210AAAAAMq5QoUI6f/683WW4tZCQEMXExPzt4z6W\nZVkurMcWPj4+csDLBAAAXiC9uYV8c2u3+jtiagQAAAAciSAMAAAARyIIAwAAwJEIwgAAAHAkgjAA\nAAAciSAMAAAARyIIAwAAwK0cPHjwpo+fPHlScXFxWT4OQRgAAABu48CBA1qzZs1NtwkNDdV7772X\n5WMRhAEAAOA2xo8fr0ceeeSm2/j7+ys8PFxff/11lo5FEAYAAIBLzJw586aPR0ZGqmTJkunaV/36\n9bV06dIs1UMQBgAAgEvcaknoefPmqUWLFuneX2hoqPbt25fpegjCAAAAyHHR0dEqWrToTbdZv369\nqlWrlu591qpVSxs3bsx0TQRhAAAAL+Xjk/VLZsXExGjatGnq1q2bJGnt2rVq1KiRZs2apf79+9/w\nOXFxcfL5w0Hnzp2r+fPna8iQIZo8ebIee+wx7dq169rjISEhOnbsWKZrJAgDAAB4KcvK+iWzNmzY\noFatWmnv3r2SpKSkJAUEBKht27bKnz//DZ+Tmpp67faRI0dUrVo1hYeHa8mSJQoPD1e3bt1UunTp\na9vkyZNHSUlJma7RP9PPBAAAAP5Gy5YtNXbsWHXp0kWSro30Xrp0SfXq1dO7776rokWL6o477lDd\nunUlmW4QV10NvKdPn1ZwcLAKFiyotm3bXneMixcvqlChQpmukRFhAAAA5IioqCjVqVNHJ0+eVMmS\nJZWcnKyIiAgdPHhQ9957rx577DH95z//ubZ9sWLFdOXKFUnSrl27FBkZqQULFqhp06aSzMl0f3Ty\n5ElVqFAh0/URhAEAAJAj+vfvrzVr1mjixIk6d+6cIiIi1KtXLx08eFBhYWHy9/dXTEzMte2bNWum\ndevWSZIWL16sefPmybIsJSQkKCIi4i8n223ZskVNmjTJdH1MjQAAAECOqFy5st58801Nnz5drVq1\nunZ/Wlqa/Pz8JOm6k+M6deqkUaNGqUWLFhowYMBN952QkKD8+fMrMDAw0/UxIgwAAIAcY1mWfH2v\nj5yVK1fW6dOnr4XZqwoWLKgiRYooOjr6lvudNm2a+vXrl6XafKxbdTb2Aj4+Prds4AwAAOAO0ptb\nPDnfnDt3Tl9++aUKFCigmjVrqnHjxtcesyxLEyZMUJ8+ff72+UePHtWmTZvUvn37mx7nVn9HBGEA\nAAA34oQg7Cq3+jtiagQAAAAciSAMAAAARyIIAwAAwJEIwgAAAHAkgjAAAAAciSAMAAAARyIIAwAA\nwJEIwgAAAHAkgjAAAAAciSAMAAAARyIIAwAAwK0cPHjwpo+fPHlScXFxWT4OQRgAAABu48CBA1qz\nZs1NtwkNDdV7772X5WMRhAEAAOA2xo8fr0ceeeSm2/j7+ys8PFxff/11lo5FEAYAAIBLzJw586aP\nR0ZGqmTJkunaV/369bV06dIs1UMQBgAAgEtYlnXTx+fNm6cWLVqke3+hoaHat29fpushCAMAACDH\nRUdHq2jRojfdZv369apWrVq691mrVi1t3Lgx0zX5Z/qZAAAAcGs+b/pkeR/WGzcfxf07MTExWrx4\nsSIiIvTdd99p7dq1euCBBzRr1iwtX75cn3zyyV+eExcXJx+f32ueO3eu/Pz8tHLlStWsWVOLFi3S\n0KFDVaVKFUlSSEiI9uzZk7kXJoIwAACA18psiM0OGzZsUKtWra51d0hKSlJAQIDatm37t6O4qamp\n124fOXJE1apVU4UKFfT6669ryJAhKlCggEqXLn1tmzx58igpKSnTNTI1AgAAANmuZcuWmjp1qrp0\n6SJJ10Z6L126pHr16mnWrFl6++23r3uOv//vY7SlS5dWhQoVdPr0aQUHB6tgwYJq27at8ubNe22b\nixcvqlChQpmukRFhAG7BsixFnY3Sr0d+1e5zu3XwwkGdizsnS5b8fPxUukBplQspp7phdXVP6XsU\nkifE7pIBALcQFRWl8PBwnTx5UiVLllRycrIiIiLUp08fHT58WNu2bbtu+2LFiunKlSvKly+fdu3a\npcTERG3atElNmzaVZE6ma9u27bXtT548qapVq2a6PoIwANukWWn69civmrxtsiJ2RihfQD41LdNU\n1UOr665Sdyk0b6h8fHyUkpaiIxePaP/5/Rqzfowei3hMjUo20hO1n1CXal3k78tbGQC4o/79+2vK\nlCnasmWL7rzzTkVERKh3795/u32zZs20bt06tWjRQosXL9bly5cVFhamhIQERUREqESJEtdtv2XL\nFj399NOZro/fHgBcLi45ThO3TNQHaz5QHv88erTmo1rXZ53KFiybrufHJsVq3p55GrN+jF5b9poG\nNxmsp+98mkAMAG6mcuXKevPNNzV9+nS1atXqltt36tRJo0aNUosWLTRgwICbbpuQkKD8+fMrMDAw\n0/UxRxiAyySlJumjNR+p3EfltOTAEk1sP1GRz0Tq/+7+v3SHYEkKCghStxrdtOKJFfqm4zf6fsf3\nqv95fa07vi7nigcAZIplWfL1/WvkvFFP4YIFC6pIkSKKjo6+5X6nTZumfv36Zak2gjCAHGdZlr7b\n/p2qjqmqxQcWa9njyxTRLUJNSje5rk1OZjQp3UTLHl+mfzT+h9pPa68hS4coJS0lmyoHAGSVj4+P\nOnfufN19V65c0cyZM7Vx40Zt3779uscGDhyoiIiIm+7z6NGjCgkJUeXKlbNWm3WrJT68gI+Pzy1X\nMgGQM/bH7FffeX0VEx+j0S1Hq0W59K8YlFFnY8/q0VmPKjE1UdM6T1NYcFiOHQsAckp6cwv55tZu\n9XfEiDCAHJGSlqL3f3tfDSc0VJsKbbS+z/ocDcGSFBoUqoWPLtS9Ze9VgwkNtOPMjhw9HgDAszEi\nDCDbHTh/QI/OelRBuYL0WbvPVD6kvMtrmLx1sl5e/LJmd5utxqUau/z4AJBZjAhnH0aEAbjUlG1T\n1HBCQz1c7WEtfmyxLSFYkh6941FNbD9R7ae118+HfralBgCAe2NEGEC2uJx4Wc8veF7rjq/T1M5T\nVSesjt0lSZJ+OviTus3opvk95qtBiQZ2lwMAt8SIcPZhRBhAjtsVvUsNJjRQLr9c2th3o9uEYElq\nUa6FvnzoS7Wb2k7bTm+79RMAAI7hFkH44MGDmjRpUoafN3LkSCUlJeVARQDSK2JnhO756h4NajxI\nXzz0hYICguwu6S/aVW6nD1t9qPAp4Tp5+aTd5QAA3ESWgvD27ds1f/78LBVw7tw5DRs2TD179szw\nc7t06aJnnnkmS8cHkDmpaaka+tNQDVw0UPN7zNfTd2Z+iUtXeKTmI3r6zqfV4bsOik+Ot7scAIAb\nyFIQ/vXXX9WwYcMsFTBkyBC98sor8vPzy/BzK1WqpOrVq+vrr7/OUg0AMiYmPkbhU8K16ugqbei7\nwWPm3v6z6T91e8jtemLOE8yrAwBkLQifOXNGRYoUyfTzd+7cqUOHDql27dqZ3kffvn01evRopaSw\nkhTgCltObVG9z+qpRtEaWvLYEhUNKmp3Senm4+OjL9t/qX0x+/TJuk/sLgcAYLMsBeGsLo36ySef\nqHfv3lnaR3BwsOrUqaM5c+ZkaT8Abu3brd/qgW8e0Mj7RmpUy1Hy9/W3u6QMC/QP1Pddv9eIFSO0\n9thau8sBANgo00H41KlTKl68eJYO/uOPP6px46w3ur/77rs1e/bsLO8HwI0lpyZr4KKBGv7zcP30\n+E/qXqO73SVlSfmQ8vqs3WfqNqObzsWds7scAMCfHDx48KaPnzx5UnFxcVk+TrqC8PTp0zVy5EiF\nh4df69Lw22+/6e6775YkDRo0SD169MjQgQ8dOqTz58+rfPkbN9v/6KOP9Pbbb6tr167auXOn/v3v\nf2vEiBEaNGjQX7atV6+e1qxZk6HjA0ifU1dO6b6v79P+mP3a0HeDat5W0+6SskWHKh3UoUoHPTv/\nWeYLA4AbOXDgwC1zXWhoqN57770sH+uWQfjo0aM6fvy4Bg8erOXLl2vHjh2SpN27d6ty5cqSpLJl\nyyoyMjJDBz5y5IiKFr3x3MKPP/5YDz74oF599VW1bNlSzZs31xNPPKHExER9++23f9m+SJEiOnDg\nAPOEgWy26ugq1fusnlqUa6G5j8xVwcCCdpeUrd6+721tP7NdU7dPtbsUAMD/jB8/Xo888shNt/H3\n91d4eHiWGybcMggvWrRIPXv21LJly+Tv76+qVatK0nUjKM8//7yqVauWoQOfOXNGBQve+JdqSkrK\ntZB97Ngx1alTR8WLF1e/fv20cuXKv2xfqFAhWZal8+fPZ6gGADdmWZbGrBujDtM6aFzbcRrefLh8\nfdyi7Xi2ypMrj77p+I1eXPSijl06Znc5AOD1Zs6cedPHIyMjVbJkyXTtq379+lq6dGmW6rnlb7Y+\nffqoSJEimjRpkjp16qTAwEDFx8crKOj3pvmpqam66667MnTgtLQ0+fre+PAvv/zytdsrVqxQ8+bN\nJUklS5b9Z2lyAAAgAElEQVRUpUqV/voi/refrJ68B0CKT45X7zm9NX7jeK16apXaVmprd0k5qm7x\nuurfoL+enPMkUyQAIIfd6n123rx5atGiRbr3Fxoaqn379mW6nnQN8aSlpWn+/Pl66KGHJEkbNmxQ\n/fr1rz3+ww8/qHPnzhk6cGhoqGJiYm66TWJiotauXatmzZrddLuYmBj5+fllqZUbAOng+YO668u7\nlJKWotVPrVaFQhXsLsklXr3nVV1MvKj/bviv3aUAgNeKjo7+22mxV61fvz5Dswxq1aqljRs3Zrqm\ndAXh6OhoXb58+VphGzduvBaEY2JidPz4cZUuXTpDBy5RooTOnfvr2drJycn66aefJElr1qyRZVnX\njnXu3LkbLsV87tw53XbbbRk6PoDrzd8zX42+aKTetXrr247fuuVSyTnF39dfE9tP1Bs/v8EUCQDe\nxccn65dMiomJ0bRp09StWzdJ0tq1a9WoUSPNmjVL/fv3v+Fz4uLirvuGf+7cuZo/f76GDBmiyZMn\n67HHHtOuXbuuPR4SEqJjxzL/vp2uIFykSBFVrFhRe/bskSQlJCQoICBAx44d00cffaTnnnsuwweu\nVKmSAgICdOLEievu/+yzz9SmTRvFx8dr7ty5KlKkiPz9Ta/SMWPGqF27dn/Z1+bNm7O8wh3gVEmp\nSRq0eJCenf+sZj48UwMbDXTkNKOqoVX1XP3n1H/hjd+cAcAjWVbWL5m0YcMGtWrVSnv37pUkJSUl\nKSAgQG3btlX+/Plv+JzU1NRrt48cOaJq1aopPDxcS5YsUXh4uLp163bd4GuePHmudTTLjHR1w/f1\n9dXChQv11ltv6dixY1q9erU++OADBQcHa/jw4dd+ae7Zs0crV67U5s2b9cADDyglJUXTp0/XtGnT\nbrjfli1basWKFere/feepM2aNVOnTp00cuRIderUSUFBQRo0aJDy5MmjLl26qFChQn/Zz8qVK9W+\nffvMvH7A0fbF7FP3Gd1VIn8Jbe63WYXzFra7JFu9everqj2utiJ2Rqhj1Y52lwMAHq1ly5YaO3as\nunTpIun3c7kuXbqkMmXKKCIiQlu3blW7du105513StK1wU9J1wLv6dOnFRwcrIIFC6pt2+vPW7l4\n8eINs2F6pXtZqPLly+urr75SVFSUihYteu1F/dH+/fvVuHFjff755/r0008lSW+99ZZiY2OvO7nu\nql69eunjjz++LgjXqFFDU6ZMufbnJk2a3LSuhIQEbdq06drxAKTP1G1TNWDRAL3e9HW90OAFR44C\n/1mgf6DGtx2vnhE9dV/5+5Q/941HLAAA6RMVFaXw8HCdPHlSJUuWVHJysiIiInTlyhXVrl1b999/\nv/r163ct+xUrVkxXrlxRvnz5tGvXLiUmJmrTpk1q2rSpJHMy3R/D8MmTJ691NMuMDPdDWrt2rRo0\naHDDx1q3bq0lS5aoZ8+ekkzrszx58twwBEtS8+bNFR8ff23KRWZMmjRJffr0Ue7cuTO9D8BJYuJj\n1GNmDw3/ZbgW91ys/g37E4L/oFnZZnqwwoN6bdlrdpcCAB6vf//+WrNmjSZOnKhz584pIiJCvXr1\n0ssvv6wGDRro6NGjKleu3LXtmzVrpnXr1kmSFi9erHnz5smyLCUkJCgiIuIvJ9tt2bLlloOmN2Vl\n0Ouvv37Tx9u2bWvt3r3bsizLGjlypDVhwgRrzpw5f7v9oUOHrIcffthKTU3NaCnWiRMnrM6dO1sp\nKSk33S4TLxPwSj/s/sEqPrq4NXDhQCs2KdbuctzWubhzVtH3i1pbTm6xuxQADpTe3OJJ+eb777+/\n4f0jRoywYmN//310/vx5a+jQoenaZ3x8vPXSSy/ddJtb/R1leET4j3M3buTChQvXev3mzZtXCQkJ\nCgwM/Nvty5Qpo3/84x8aM2ZMRkvR+++/r3HjxsnPzy/DzwWc5Hz8eT0550kNWDhAUzpN0YcPfqi8\nufLaXZbbKpSnkP7V/F/qv7A/vYUBIIssy7rh2hFz587VgAEDdPz48Wv3FSxYUEWKFFF0dPQt9ztt\n2jT169cvS7X5WA54l/fx8eGXGRzJsix9s/Ub/d/S/1Onqp30zn3vKDh3sN1leYTUtFQ1mNBAgxoP\nUo+aPewuB4CDpDe3eHK+iYiI0MiRI1WwYEE1b95cQ4cOvfaYZVmaMGGC+vTp87fPP3r0qDZt2nTL\nZgm3+jsiCANeKupslJ6b/5wuJ13WuPBxql+i/q2fhOusPrpaXad31a4XdilfQD67ywHgEE4Iwq5y\nq7+jDE+NAODeouOiNXDRQDWb2Eydq3bWuqfXEYIzqXGpxrqv/H0asWKE3aUAAHIAQRjwEnHJcXp7\n5duq8mkVpVlp2vHcDvVv2F9+vsyhz4p3739XX2z+QnvOZb67DQDAPRGEAQ8XnxyvT9d9qsqfVtam\nU5u0+qnV+qT1JyoadPP13JE+xfIV05AmQ/TSjy/ZXQoAIJsRhAEPdSnxkt799V2V/7i8lh5YqpkP\nz9T0rtNVsXBFu0vzOv0b9teec3u0ZP8Su0sBAGQjgjDgYfae26tBiwep/EflFXk6Uot7Ltbs7rPV\noMSNF7pB1gX4Bei9+9/ToMWDlJqWanc5AIBsQhAGPEByarJm75qtVt+2UpMvm8jf11/r+qzTlM5T\nVPO2mnaX5wgdqnRQSJ4QTdwy0e5SAADZhPZpgJtKs9L025HfNGX7FM2ImqFKhSvpmbrPqGv1rgr0\n//tFapBzNpzYoIemPqQ9/ffQTg1AjklvbilUqJDOnz/vgoo8V0hIiGJiYv72cYIw4EYSUhL086Gf\nNW/PPP2w5wcFBwTr0ZqPqnuN7ioXUu7WO0COeyziMZUrWE7/uvdfdpcCwEuRW1yHIAzYKDUtVZGn\nI/XLoV+0/NBy/XzoZ9UqVkttK7ZV20ptVb1odbtLxJ8cvXhUtcfXVuQzkSqZv6Td5QDwQuQW1yEI\nAy5iWZaOXDyiTSc3afOpzVp/Yr1WH12tEvlLqGmZpmpWppla3t5ShfIUsrtU3MKwn4bp6KWjmtRh\nkt2lAPBC5BbXIQgD2Sw5NVmHLx7WnnN7tDt6t/bEmOstp7Yo0D9Qd4bdqTphdVQ3rK6alGqi0KBQ\nu0tGBl1OvKzKn1bWD4/8oLrF69pdDgAvQ25xHYIwkA4paSmKiY/Rubhz5jreXJ+JPaPjl4/r2KVj\n1y5nY8+qRP4SqlS4krkUMte1itVSsXzF7H4pyCafb/xck7dN1vJey+Xj42N3OQC8CLnFdRwThDef\n3HzdfX9+2ZasDD2emX1wnJw9TmpaqpLTkpWcmqyUtJSb3r56nZSapNikWMUlxyk2OVaxSbGKTf7f\nn/93+1LiJcUmxapgYEEVzltYhfMUVqE8hVQ4b2EVyVtEJYNLqmT+3y9hwWHy9/X/y2uAd0lNS1Xt\n8bX11r1vqUOVDnaXAy9lWZbSrDSlWWlKtVJ/v52Wet19f/7z1fuu7ecP76E3ew/+42MZvT+9z8Gt\n1QmrQxB2Ecf8tu49u/df7vvzKI6PfDL0eGb2wXFy7jj+vv7y9/VXLt9cyuWX64a3/X39lcsvl3L5\n5lKgf6AC/AIUlCtIeXPlVVBA0F9uBwUEKTggWAUCC8jXh7bb+J2fr59GtxytFxa8oDYV2yjAL8Du\nkmCjuOQ4nY09qzOxZ3Q27qwuJFzQ5cTLupxkLpcSL/3+58TLik+JV2JKopJSk5SYmnjd7aTUJCWm\nJCoxNVEpaSnykY/8fP3k6+MrPx9z7evj+5f7brTNH98n//geerP34PQ8J6v7AtyFY0aEHfAyAdig\nzeQ2anV7Kw1sNNDuUpBDLiZc1IHzB3T44mEdvnBYRy4d0eELh3X00lGdvnJaZ+POKs1KU2jeUIUG\nhSo0b6hC8oQoOCBYwbmDzXVAsPLnzn/tz3ly5VFuv9wK8AtQbv/cf3s7l28upt44ELnFdQjCAJAF\nUWej1Hxic+16YRcdPzxcYkqiIk9HavPJzYqKjlLU2SjtPLtTFxIuqHxIeZUpWEZlCvzvUrCMSuUv\npWL5iik0KFRBuYIIrMg25BbXIQgDQBY9N/855fbPrQ9afWB3KciAwxcO65fDv2jd8XVad3yddpzd\noYqFKurOsDtVPbS6qoVWU7XQaipVoBRTo+BS5BbXIQgDQBadiT2jamOqadVTq1SpcCW7y8HfuJhw\nUYv3L9bSg0u17MAyXU66rOZlm6tRiUZqUKKB6oTVUd5cee0uEyC3uBBBGACywXu/vafVx1YroluE\n3aXgD05fOa05u+coYleEfjvym5qUbqKW5VvqvvL3qUbRGoz0wi2RW1yHIAwA2SAhJUFVx1TVV+2/\nUvOyze0ux9Hik+M1Z/ccTdwyUWuOrdGDFR5Uxyod1bpia+XPnd/u8oBbIre4DkEYALLJ9zu+1zu/\nvqP1fdbLz9fP7nIcZ9vpbRq7Yay+3/G96obVVe/avdWxSkflyZXH7tKADCG3uA7fCQFANularasC\n/QP1zdZv7C7FMdKsNM3fM18PfPOAWn3bSmH5wrSl3xYtfmyxetTsQQgGcFOMCANANlp7bK06f99Z\nu1/YraCAILvL8VopaSmasm2KRq4cqby58uqlRi+pW41uLGwCr0BucR2CMABks0dnPaqKhSpqePPh\ndpfidVLTUvXdju/05i9v6rag2zS8+XDdW/ZeevjCq5BbXIcgDADZ7MjFI6ozvo62PrNVJfKXsLsc\nr2BZlhbsXaBXlryikDwherP5m7qv3H0EYHglcovrEIQBIAcM/WmoDl84rG87fWt3KR4v6myUXvrx\nJR2+cFijW45Wm4ptCMDwauQW1+FkOQDIAa/d/ZpWHF6hFYdX2F2Kx7qYcFEDFg5Qs4nN1KZCG217\ndpvCK4UTggFkG4IwAOSAoIAgjW45Wi8seEEpaSl2l+NxInZGqPrY6kpISdDO53dqYKOByuWXy+6y\nAHgZpkYAQA6xLEsPfPOA2lVqp4GNBtpdjkc4cfmE+i/sr+1ntuvzdp+raZmmdpcEuBy5xXUYEQaA\nHOLj46NPWn+iEStH6NSVU3aX49Ysy9LkrZNVe1xtVQutpshnIgnBAHIcI8IAkMMGLxms07GnNanD\nJLtLcUvn48/ruQXPKfJUpCZ3mqw6YXXsLgmwFbnFdRgRBoAc9s+m/9SyA8v065Ff7S7F7fx86GfV\nHl9bRfIW0Ya+GwjBAFyKEWEAcIHpO6brjZ/f0OZ+m5XbP7fd5dguJS1Fw34apm+2fqMJ7SaodcXW\ndpcEuA1yi+sQhAHABSzLUofvOqh2sdp6s/mbdpdjq9NXTqvbjG4K9A/UNx2/UWhQqN0lAW6F3OI6\nTI0AABfw8fHRmDZjNHb9WG0/s93ucmyz5tga1fu8npqWaar5PeYTggHYihFhAHChcRvGaeKWifrt\nyd/k5+tndzkuY1mWxm8cr9eXv64vHvpC7Sq3s7skwG2RW1yHIAwALpRmpeneSfeqY5WOerHRi3aX\n4xLxyfF6bsFz2nBig2Y9PEsVC1e0uyTArZFbXIepEQDgQr4+vprQboJGrBihqLNRdpeT4w5dOKS7\nv7pbCSkJWvPUGkIwALdCEAYAF6tYuKJG3jdSj856VIkpiXaXk2MW71+sRhMa6bE7HtOUTlMUFBBk\nd0kAcB2mRgCADSzLUsfvOqpS4Up674H37C4nW6VZaXrn13f06bpPNbXzVDUr28zukgCPQm5xHYIw\nANjkbOxZ1R5fW992/Fb3lrvX7nKyxaXES+o1u5dOXTmlGV1nqET+EnaXBHgccovrMDUCAGwSGhSq\nLx76Qo/PflxnYs/YXU6WRZ2NUv3P6yssX5h+7vUzIRiA2yMIA4CNHqzwoB6v9bi6z+iulLQUu8vJ\ntOk7pqvZxGZ67e7XNDZ8LKvnAfAITI0AAJulpqWq9eTWqhNWR+/e/67d5WRISlqKXl32qmZEzdCs\nh2epTlgdu0sCPB65xXX87S4AAJzOz9dPUzpPUb3P6qn2bbX1SM1H7C4pXU5dOaXuM7ort39ubeiz\nQYXzFra7JADIEKZGAIAbKJK3iOY+MlcDFw3UisMr7C7nllYcXqG6n9VV87LNtaDHAkIwAI/E1AgA\ncCNL9i9Rz4ie+qX3L6pSpIrd5fyFZVkavXq0Rq0apUkdJqlVhVZ2lwR4HXKL6xCEAcDNTNwyUW/8\n/IaW91qu8iHl7S7nmpj4GD0992kdv3xc07tOV+kCpe0uCfBK5BbXYWoEALiZ3rV7a0iTIWoxqYUO\nXThkdzmSpGUHlqnWuFoqU7CMVvReQQgG4BU4WQ4A3NCz9Z9VmpWmeyfdq0WPLlLlIpVtqSMhJUFD\nfxqq77Z/p6/af6UHbn/AljoAICcQhAHATT3f4HnlyZVHTSc21fSu09W0TFOXHn/d8XV6eu7Tqli4\noiKfieSEOABehznCAODmlh5Yqh4ze2jkfSP1VJ2n5OPjk6PHu5BwQa8te00RuyI06oFR6lGzR44f\nE8DvyC2uwxxhAHBz95e/X7/0/kUfr/1YD894WOfjz+fIcVLSUjRh0wRVH1tdaVaaop6L0qN3PEoI\nBuC1CMIA4AGqhlbVuj7rVDy4uGr+t6a+ifxGaVZatuw7NS1V03dMV83/1tTkbZMV0S1C49qOU0ie\nkGzZPwC4K6ZGAICHWXV0lV768SVZlqWh9wxV20pt5efrl+H9nIs7p8nbJuvDNR8qLDhMw+4Zpgcr\nPMgIMGAzcovrEIQBwAOlWWmavmO6Plz7oU5cPqFetXrpwQoPqkGJBvL3vfF50JZlaV/MPv1y+BfN\n3T1XKw6vUOuKrTWgwQA1LtXYxa8AwN8ht7gOQRgAPNzGExv1fdT3Wrx/sfbH7FeFQhVUPqS8CgQW\nkGVZikuO06ELh7T//H4F+geqWZlmanl7S3Ws0lHBuYPtLh/An5BbXIcgDABe5Hz8ee0/v18Hzh/Q\n5cTLkqRA/0CVLVhW5ULKKSxfGFMfADdHbnEdgjAAAIAbIbe4Dl0jAAAA4EgEYQAAADgSQRgAAACO\nRBAGAACAIxGEAQAA4EgEYQAAADgSQRgAAACORBAGAACAIxGEAQAA4EgEYQAAADgSQRgAAACORBAG\nAACAIxGEAQAA4EgEYQAAADgSQRgAAACORBAGAACAIxGEAQAA4EgEYQAAADgSQRgAAACORBAGAACA\nIxGEAQAA4EgEYQAAADgSQRgAAACORBAGAACAIxGEAQAA4EgEYQAAADgSQRgAAACORBAGAACAIxGE\nAQAA4EgEYQAAADgSQRgAAACORBAGAACAIxGEAQAA4EgEYQAAADgSQRgAAACORBAGAACAIxGEAQAA\n4EgEYQAAADgSQRgAAACORBAGAACAIxGEAQAA4EgEYQAAADgSQRgAAACORBAGAACAIxGEAQAA4EgE\nYQAAADiSv90FAIAnSEiQdu2SDh+WTpyQoqOlxEQpOVnKm1cKDpaKFpXKlZNuv10qVszuigEAt+Jj\nWZZldxE5zcfHRw54mQCy0dmz0tKl0vLl0q+/SgcPmoBbvrxUvLhUpIiUO7eUK5cUFyddviydPm22\n27vX3F+vntS8udS6tVS1quTjY/erAuAJyC2uQxAGgP+JjpZmzpSmT5c2bDAh9t57pXvukapXN8E3\nPSxLOnpUWrfOhOmFC00I7tRJ6t1buuOOnHwVADwducV1CMIAHM2yTGD99FNp3jzpwQelrl3Ndd68\n2XeMqChp6lRp0iQzheLpp6VevbLvGAC8B7nFdQjCABzJskzwfest6dw56fnnpSeekEJCcva4qanS\nTz9JY8ZIq1eb4z7/vFS4cM4eF4DnILe4DkEYgKNcDcDDh5tQ+vrrUocOkq8NPXR27pRGj5YiIqT+\n/aVBg8xJdwCcjdziOgRhAI6xebP04otSTIz0r39J7dvbE4D/7OBBE8iXLJGGDZP69TMn2wFwJnKL\n67jBrwAAyFlnzkhPPWW6N/ToIW3ZInXs6B4hWDIt1775RvrxR2nOHKluXem33+yuCgC8n5v8GgCA\n7GdZ0tdfSzVrSgUKSLt3m9FWPz+7K7uxWrWkxYvNqHC3bia8R0fbXRUAeC+CMACvdPCg1KqV9MEH\n0oIF0n/+Y8Kwu/PxkR5+2HSZyJ/ftG2bOtWEegBA9iIIA/AqlmU6MtSvL91/v2mNVreu3VVlXP78\nJsTPny+NGGFaup09a3dVAOBdCMIAvMapU1KbNqZX76pV0uDBnn/SWb160saNZlW7O+4wHSYAANmD\nIAzAK8yeLdWubUaCf/tNqlTJ7oqyT2Cg9O67ZtW7V16R+vY1yzoDALKG9mkAPFpcnDRwoLRsmfTt\nt9Jdd9ldUc66dEl69lnT+WLaNHMiIADvQm5xHUaEAXisXbukBg2k+HgTDL09BEtm7vC335qR4RYt\npPHjOZEOADKLEWEAHmnqVGnAAOntt02bMR8fuytyvd27TZu1ChWkzz/P+eWhAbgGucV1GBEG4FES\nEqTnnvt9Jbann3ZmCJakypWlNWuksDDpzjtNhwwAQPoRhAF4jAMHpCZNTBuxDRvMyXFOFxgoffKJ\nNHq01Lat9NFHTJUAgPQiCAPwCBERUqNGUu/e0vffe8biGK7UqZMZHf7mG6lzZ+nCBbsrAgD3RxAG\n4NaSk6VBg6SXXpJ++EHq39+5UyFupXx50zquRAkzVWL9ersrAgD3RhAG4LaOHZOaNZP27JE2bZIa\nNrS7IveXO7eZKvHee1J4uLnNVAkAuDGCMAC3tHixWRzjoYekOXOkQoXsrsizdOkirV4tTZxolme+\neNHuigDA/RCEAbiV1FRp+HDpiSfMghFDhki+vFNlyu23m6kSxYqZqRIbN9pdEQC4F/oIA3AbZ89K\nPXtKiYmmT3BYmN0VeY/p06Xnn5feeMO0n2OeNeC+yC2uwzgLALewapVUt64ZuVy6lBCc3bp2NX/H\nEyaYRTiYKgEABGEANrMs6cMPpY4dpbFjzUpx/v52V+WdKlQw84aLFDEfOjZtsrsiALAXUyMA2Ob8\nealPH+nQIfPVfblydlfkHN99J73wgvTmm9KzzzJVAnAn5BbXYUQYgC1++02qU0cqXlz69VdCsKt1\n62amSnz+udS9u3Tpkt0VAYDrEYQBuFRqqvSvf5nVzz75RPr4Y7NMMFyvYkUzVaJQITNVYssWuysC\nANdiagQAlzl61HSF8Pc3SwEXL253Rbhq6lRpwABpxAipb1+mSgB2Ire4DiPCAFxi+nSpXj2pdWuz\nWAYh2L088oiZrjJ2rNSjh3T5st0VAUDOIwgDyFHR0WY+6j//Kc2daxbI8POzuyrcSKVK0po1Uv78\nUq1a0vLldlcEADmLIAwgx8yeLd1xh1SqlLR5s9Swod0V4Vby5JHGjzfztx97zCzCceWK3VUBQM4g\nCAPIdtHRZi7wK6+YKRGjRpmABc8RHi5t3y7FxUk1a0o//WR3RQCQ/QjCALJNWpr0xRdS9epSaKgU\nGSk1aWJ3VcisggWlr76SxoyRevWSnnrKLIMNAN6CIAwgW2zbJjVtKn32mbRokfTBB1LevHZXhezQ\npo0ZHc6f33zIGTfOtMEDAE9H+zQAWXLxomm5NWmS6Q/cpw8nw3mzyEgzbzgx0XSYqF/f7ooA70Nu\ncR1GhAFkSnKy+cq8cmXp3DkzIvzMM4Rgb1erlrRihVme+aGHzJSJI0fsrgoAMocgDCBDLMt0g6hR\nw1z/+KP05ZfSbbfZXRlcxdfXBODdu6XSpc1S2YMHS+fP210ZAGQMQRhAuliW9MMP5qvwN96QPvrI\nLIxRq5bdlcEu+fNLb71lvg24cMF8O/DWW+Y2AHgC5ggDuKm0NGnePOnNN6WUFGn4cKl9ezMqCPzR\n7t3SyJHS/PnSs89KL74oFS5sd1WA5yG3uA5BGMANxcZKX39tRn6DgqRhwwjASJ8DB6R33pFmzDDL\nNffvb0aLAaQPucV1+JUG4Dr790uvviqVLWumPnz2mbRhg9SxIyEY6VO+vPm52bbN9CK+5x6pdWtp\nwQLargFwL4wIA1BcnDRzpjnpbccOsyrc889Lt99ud2XwBgkJ0rRpZtnms2elxx83J9tVrGh3ZYB7\nIre4DkEYcKiEBDPiO326mQPcqJFZOeyhh6SAALurg7eKjDQ9pydPNkG4WzepUyepRAm7KwPcB7nF\ndQjCgIOcPSstWWK+op4/X7rjDqlrV6lzZykszO7q4CTJyWYFwhkzzAexSpVMIG7d2qxe5+Njd4WA\nfcgtrkMQBrxYfLy0fr0Jvz/+aM7qv/deqVUrqUMHwi/cQ1KS9PPPUkSE+TlNSJAeeMBc7r9fKlbM\n7goB1yK3uA5BGPASlmVW+Fq3Tlq1yly2bzeja/fdZ8LvXXcx7SE7/fzzz2revLndZXid/fvNtJ0l\nS6Tly6WQEDN1p1EjqXFj07uan2N4M3KL6xCEAQ9jWdLJkyYs7Npl5lxu3WouQUHSnXdKTZqY0Fuv\nnpQ3r90Ve6/hw4dr+PDhdpfh1dLSpD17pNWrpTVrzGXPHqlCBalmTbPCYc2aUpUqUpkyBGR4B3KL\n6/jbXQCA6125YoLuiRPmcvKkdPy46c26b5+5zpfPBIFKlczoWKdOZr5vkSJ2Vw9kL19fE3KrVJGe\neMLcFx9vPgRu22YuY8aYcHz8uJnuU768uZQrZ07CK1bM3B8WZv6P0AYQwFUEYSALLMustpacbC7x\n8aYV2c0uly5J589LMTHm+o+3o6PNfooXN5ewsN9vN25swu/tt0vBwXa/csA+efJIdeqYyx8lJ0tH\nj5oPi/v3SwcPSj/9JJ06ZT5QnjolXbwohYaaQBwSYvocFyx4/e0CBcwx8ua9/vLH+3Lnlvz9pVy5\nCNaAJ3PM1AgAAABP4YB45hYcMSLMDxMAAAD+jC90AAAA4EgEYQAAADgSQRgAAACORBAGAACAI3nk\nyXIxMTGaMGGC0tLSlJCQoMqVK+vQoUOKjo7W6NGj7S4PgJeIjY3V4MGDVblyZe3du1dNmjRR9+7d\nsyUwFQIAAAYKSURBVLwtAOcgs7g3jwzCn332mQYPHixfX1/ddtttGjdunG677TYtWLDA7tIAeJHB\ngwerUqVKGjBggFJTU1W1alXVqFFDNWrUyNK2AJyDzOLePK6PcGpqqrZs2aK6devq7NmzKlu2rC5e\nvCh//4xn+tatW2vhwoU5UCUATxcXF6fQ0FDt2LFDZcuWlSQNHDhQQUFBGjlyZKa3BeAc2ZlZkDM8\nbo6wn5+f6tatK0lasWKFGjZsmOkfKEIwgL+ze/duxcfHq0yZMtfuK1WqlFasWJGlbQE4R3ZmFuQM\njwvCf7RixQo1adLk2p/Xrl1rYzUAvMnp06eVO3fu61amDAoK0smTJ7O0LQBnIrO4J4/7WPL999/r\n3//+tzZu3KgffvhBw4cPlyRFRESoUqVKWr16tX744QdVrVpV+fLl0/z589WjRw/FxcVp+vTp+uKL\nL3T06FEtW7ZMV65c0YsvvqhVq1Zp3rx5qlatmoKDg7VgwQK98847CgkJsffFArBNTEyMAgMDr7sv\nICBAly5dytK2AJwjOzKLv7+/Zs+erTNnzigtLU179+7V6NGjZVmWpk2bdu3+pKQklS9fXl27drX3\nRXsYjxsRLlmypGrWrKn3339fX331lZYvX66xY8fKz89P1atXV2JiogoVKiRJ6tixo4KCgpSamqq2\nbdsqJiZGcXFxOnbsmMqUKaOkpCRJUlJSkgoVKiTLstS+fXvlzZtXR48etfNlArBZcHDwX+6Li4v7\nS+DN6LYAnCOrmSU+Pl779u3T119/rb59++q2227T7bffLkmKjIxU27Zt1ahRI506dUrh4eGqX7++\nnS/XI3nciPBdd92lu+6669qfmzVrdt3jzZs310cffaRJkyZJknbs2KEPPvhAqampunTpkvLnz697\n7rlHTzzxhP71r3/d8Dlbt25VtWrVXPSKALijsLAwxcbGXndfbGysSpcunaVtAThHVjNLcHCw3n//\nfbVr106StGbNGj3yyCOSpNq1a0uSfv31VzVv3pwONZnkcSPCt5KWlqYLFy4of/78iouLU0BAgHx9\nfbVixQq1aNFCK1euVFJSkk6dOqXo6GjFxcVd95z9+/erdOnSWrNmjd0vBYCNatWqpTx58uj48ePX\n7tu7d68aNGiQpW0B4Kr0ZJbz58+rWrVqsixLa9asUcGCBXXw4EFt3rxZJ06c0PLly9WgQQPt2bOH\n8xIyweuC8KFDh9SwYUNJ0vb/b+f+QXnrAziOf1wMrCxuFhmsiJlrQEoZbnemlM1gYjUYlIGy3E1Z\nXWWRX7FYWEwy2JRsmPyLOnd4pqeeun6G5zye83rN59TnbO9O377n5xkZGUmSNDU1paGhIY2NjXl7\ne0tnZ2dubm7S2tr6t3eKokhbW1uen59L+wagfM3NzZmamsru7m6S5Pn5ObVaLbOzs0mSra2trK6u\nvutZgH/yp2b58uVLpqenc3h4mJ2dnfT29qZWq6Wrqyv7+/vZ29vLwMBAarVaLi4u0tHRUebnfEqf\n7h5hgH/L3d1d5ufn09/fn8vLy4yMjOTHjx9JkoWFhVxdXWVnZ+ePzwLw3ySEAQCopP/d0QgAAHgP\nIQwAQCUJYQAAKkkIAwBQSUIYAIBKEsIAAFSSEAYAoJKEMAAAldRU9gCAz2Z9fT2Pj485OzvL8vJy\nfv36laIocn9/n7W1tbLnAfBO/ggD1GFjYyPj4+NZWlrK6OhohoeHMzMzk5eXl2xvb5c9D4A6CGGA\nOry9vaWnpydJcn19nb6+vnz9+jVzc3M5Pj4ueR0A9WgoiqIoewTAZ/Tt27eMjY1lcXGx7CkAfIA/\nwgAf8PLyktPT0wwNDZU9BYAPEsIA7/T6+pqjo6MkycnJSYqiyODgYJLk9vY2W1tbZc4DoE5CGOCd\nfv78mYmJiTw9PWVvby/t7e1pavrr8p3Nzc1MTk6WvBCAejgjDPBO5+fnWVlZSXd3d8bHx3NwcJCH\nh4e0tLTk+/fv6e3tLXsiAHUQwgAAVJKjEQAAVJIQBgCgkoQwAACVJIQBAKgkIQwAQCUJYQAAKkkI\nAwBQSUIYAIBKEsIAAFTSb14Romzj+akWAAAAAElFTkSuQmCC\n",
       "text": [
        "<matplotlib.figure.Figure at 0xcd808ec>"
       ]
      }
     ],
     "prompt_number": 9
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "pl.figure(figsize = (10, 6))\n",
      "x = np.linspace(-3.0, 9.0, 300)\n",
      "pl.ylim(0.0,2.0)\n",
      "#pl.xlim(0.0, 200.0)\n",
      "pl.plot(x, (1.0 - np.exp(-x)) ** 2)\n",
      "#plt.plot(np.exp(-2.0 * x) - 2.0 * np.exp(-x))"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "pyout",
       "prompt_number": 10,
       "text": [
        "[<matplotlib.lines.Line2D at 0xbcd582c>]"
       ]
      },
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\n13333aeLL75YF110kZKSkvS9733PdFmeU1paWnODXXJycr02LI/q7/TBgwerd+/eZx2rVq3SvHnz\nNGvWrJpz+Rfb2er6/E5fezFnzhw1b95ct956q8FK3Y8RS3RUVFRo+PDhevrpp9Wahx7W2+rVq9Wp\nUydlZGTwZ10DHT9+XFu3btWdd96prVu3KiEhoV7jFlg+/vhj/epXv1JhYaEOHDigiooK/eEPfzBd\nlqeFQqF6/Z0S8S6/hlqzZs05f/3DDz/Uvn37lJ6eLslqhffv31+bN29Wp06dolmCp9X1+Z20ZMkS\n5eTkaN26dQ5V5F312UMNkVVVVWnYsGEaNWqUhg4darocT9m4caNWrVqlnJwcHT16VF9//bVGjx5d\ns8UM6paamqrU1FRdeeWVkqThw4cTqBpgy5Yt+ud//md16NBBknTTTTdp48aNuu222wxX5i3Jycn6\n/PPP1blzZ3322Wf1yiqO9KJ79eql0tJS7du3T/v27VNqaqq2bt1KmGqA3NxcPfHEE1q5cqVatmxp\nuhzXq88eaqhbOBzW+PHj1aNHD02fPt10OZ4zd+5cFRUVad++fVq+fLmuu+46wlQ9de7cWWlpadqz\nZ48kae3aterZs6fhqryjW7duys/P15EjRxQOh7V27Vr16NHDdFmek52drRdeeEGS9MILL9TrH5VR\n7VDVF+OYhps6daoqKys1ePBgSdLAgQP129/+1nBV7lXXHmqonw0bNmjZsmXq06ePMjIyJFm3Yv/g\nBz8wXJk38Wdew/z617/WbbfdpsrKypptYlA/6enpGj16tAYMGKCYmBj169dPEydONF2Wq40cOVLr\n169XWVmZ0tLS9Mgjj+j+++/XzTffrN///vc12yacj+P7UAEAAPgNt58AAAA0EYEKAACgiQhUAAAA\nTUSgAgAAaCICFQAAQBMRqAAAAJro/wERsQL8ycUTjwAAAABJRU5ErkJggg==\n",
       "text": [
        "<matplotlib.figure.Figure at 0xbcd506c>"
       ]
      }
     ],
     "prompt_number": 10
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "# WYKRES GESTOSCI PRAWDOPODOBIENSTWA:\n",
      "\n",
      "pl.figure(figsize = (10, 6))\n",
      "\n",
      "#shift2 = shift**2\n",
      "shift2 = 0.012\n",
      "\n",
      "for idx in range(N_eigvals)[0:4]:\n",
      "    \n",
      "    psi = eigvecs[:,idx]\n",
      "    pl.plot(x, psi**2 + idx * shift2, label = \"$P_{%d}(x)$\" % idx)\n",
      "    \n",
      "pl.legend(bbox_to_anchor=(1.16, 0.7))\n",
      "pl.xlabel(\"$x$\", {\"fontsize\": \"xx-large\"})\n",
      "pl.ylabel(\"$P_i(x)$\", {\"fontsize\": \"xx-large\", \"rotation\": \"horizontal\"})\n",
      "#pl.xlim(x_min, x_max)\n",
      "#pl.ylim(-shift2, shift2 * N_eigvals)\n",
      "pl.xticks([x_min, 0.0, x_max], [\"$x_{min}$\", \"$0.0$\", \"$x_{max}$\"], size = 15)\n",
      "pl.yticks([])\n",
      "#pl.savefig(\"num_harr_P3.png\")\n",
      "pl.show()"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "ename": "ValueError",
       "evalue": "x and y must have same first dimension",
       "output_type": "pyerr",
       "traceback": [
        "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[1;31mValueError\u001b[0m                                Traceback (most recent call last)",
        "\u001b[1;32m<ipython-input-11-73ec2a18dac3>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[0;32m      9\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     10\u001b[0m     \u001b[0mpsi\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0meigvecs\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m,\u001b[0m\u001b[0midx\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m---> 11\u001b[1;33m     \u001b[0mpl\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mplot\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mx\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mpsi\u001b[0m\u001b[1;33m**\u001b[0m\u001b[1;36m2\u001b[0m \u001b[1;33m+\u001b[0m \u001b[0midx\u001b[0m \u001b[1;33m*\u001b[0m \u001b[0mshift2\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mlabel\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;34m\"$P_{%d}(x)$\"\u001b[0m \u001b[1;33m%\u001b[0m \u001b[0midx\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m     12\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m     13\u001b[0m \u001b[0mpl\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mlegend\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mbbox_to_anchor\u001b[0m\u001b[1;33m=\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;36m1.16\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;36m0.7\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
        "\u001b[1;32m/usr/lib/pymodules/python2.7/matplotlib/pyplot.pyc\u001b[0m in \u001b[0;36mplot\u001b[1;34m(*args, **kwargs)\u001b[0m\n\u001b[0;32m   2465\u001b[0m         \u001b[0max\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mhold\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mhold\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   2466\u001b[0m     \u001b[1;32mtry\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 2467\u001b[1;33m         \u001b[0mret\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0max\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mplot\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0margs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m   2468\u001b[0m         \u001b[0mdraw_if_interactive\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   2469\u001b[0m     \u001b[1;32mfinally\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
        "\u001b[1;32m/usr/lib/pymodules/python2.7/matplotlib/axes.pyc\u001b[0m in \u001b[0;36mplot\u001b[1;34m(self, *args, **kwargs)\u001b[0m\n\u001b[0;32m   3891\u001b[0m         \u001b[0mlines\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;33m[\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   3892\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m-> 3893\u001b[1;33m         \u001b[1;32mfor\u001b[0m \u001b[0mline\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_get_lines\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m*\u001b[0m\u001b[0margs\u001b[0m\u001b[1;33m,\u001b[0m \u001b[1;33m**\u001b[0m\u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m   3894\u001b[0m             \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0madd_line\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mline\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m   3895\u001b[0m             \u001b[0mlines\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mappend\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mline\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
        "\u001b[1;32m/usr/lib/pymodules/python2.7/matplotlib/axes.pyc\u001b[0m in \u001b[0;36m_grab_next_args\u001b[1;34m(self, *args, **kwargs)\u001b[0m\n\u001b[0;32m    320\u001b[0m                 \u001b[1;32mreturn\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    321\u001b[0m             \u001b[1;32mif\u001b[0m \u001b[0mlen\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mremaining\u001b[0m\u001b[1;33m)\u001b[0m \u001b[1;33m<=\u001b[0m \u001b[1;36m3\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 322\u001b[1;33m                 \u001b[1;32mfor\u001b[0m \u001b[0mseg\u001b[0m \u001b[1;32min\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_plot_args\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mremaining\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mkwargs\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    323\u001b[0m                     \u001b[1;32myield\u001b[0m \u001b[0mseg\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    324\u001b[0m                 \u001b[1;32mreturn\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
        "\u001b[1;32m/usr/lib/pymodules/python2.7/matplotlib/axes.pyc\u001b[0m in \u001b[0;36m_plot_args\u001b[1;34m(self, tup, kwargs)\u001b[0m\n\u001b[0;32m    298\u001b[0m             \u001b[0mx\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0marange\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0my\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mshape\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m0\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0mdtype\u001b[0m\u001b[1;33m=\u001b[0m\u001b[0mfloat\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    299\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 300\u001b[1;33m         \u001b[0mx\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0my\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0m_xy_from_xy\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mx\u001b[0m\u001b[1;33m,\u001b[0m \u001b[0my\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    301\u001b[0m \u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    302\u001b[0m         \u001b[1;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mcommand\u001b[0m \u001b[1;33m==\u001b[0m \u001b[1;34m'plot'\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
        "\u001b[1;32m/usr/lib/pymodules/python2.7/matplotlib/axes.pyc\u001b[0m in \u001b[0;36m_xy_from_xy\u001b[1;34m(self, x, y)\u001b[0m\n\u001b[0;32m    238\u001b[0m         \u001b[0my\u001b[0m \u001b[1;33m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0matleast_1d\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0my\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    239\u001b[0m         \u001b[1;32mif\u001b[0m \u001b[0mx\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mshape\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m0\u001b[0m\u001b[1;33m]\u001b[0m \u001b[1;33m!=\u001b[0m \u001b[0my\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mshape\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m0\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m--> 240\u001b[1;33m             \u001b[1;32mraise\u001b[0m \u001b[0mValueError\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"x and y must have same first dimension\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m    241\u001b[0m         \u001b[1;32mif\u001b[0m \u001b[0mx\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mndim\u001b[0m \u001b[1;33m>\u001b[0m \u001b[1;36m2\u001b[0m \u001b[1;32mor\u001b[0m \u001b[0my\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mndim\u001b[0m \u001b[1;33m>\u001b[0m \u001b[1;36m2\u001b[0m\u001b[1;33m:\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m    242\u001b[0m             \u001b[1;32mraise\u001b[0m \u001b[0mValueError\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;34m\"x and y can be no greater than 2-D\"\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
        "\u001b[1;31mValueError\u001b[0m: x and y must have same first dimension"
       ]
      },
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\n59lhMvt3uddeey02b948HaNxHZP9u9fb2zv+mxG8V272mMz+DQ4Oxr/+9a/YsGFDrF69On79619P\n95hcw2T2r6OjIz799NNYsmRJtLS0xK9+9avpHpMpmGqzpCVz1juvmBn/yT588MEH8frrr8dHH310\nEydisiazd88991y89NJLUSqVoigK75abRSazf6Ojo3Ho0KF4//3348KFC7Fu3bp48MEHo6GhYRom\npJLJ7N+LL74Yq1atinK5HJ999lk88sgjcfjw4bjjjjumYUJuxFSaJS2svPNqbpvM/kVEHDlyJDo6\nOqKvr6/iLVSmz2T27uOPP4729vaI+OpB2j179kR1dfUVr09h+k1m/+rq6mLRokUxb968mDdvXjz8\n8MNx+PBhYTULTGb/9u3bFz//+c8jImLZsmVx7733xvHjx2P16tXTOiv/mSk3S8oTYEVRjI6OFvfd\nd19x8uTJ4osvvrjuw+v79+/38PMsMpn9++tf/1osW7as2L9//wxNydVMZu8u98Mf/rD4/e9/P40T\nUslk9u/YsWPFt771reLSpUvFv//976K5ubn49NNPZ2hiLjeZ/fvxj39cdHV1FUVRFH//+9+Lmpqa\n4p///OdMjMvXnDx5clIPr/8nzZJ2x8o7r+a2yezfCy+8EGfPnh1/Tqe6ujoGBgZmcmxicnvH7DWZ\n/WtsbIxNmzbFypUr47bbbouOjo5YsWLFDE9OxOT27/nnn48tW7ZES0tLfPnll/Hyyy/HwoULZ3hy\nnnzyyfjwww9jZGQk6urqoru7O0ZHRyPixpqlVBQetgAAyJD2rwIBAG51wgoAIImwAgBIIqwAAJII\nKwCAJMIKACDJ/wCmruOzjR1NoAAAAABJRU5ErkJggg==\n",
       "text": [
        "<matplotlib.figure.Figure at 0xbcd5c2c>"
       ]
      }
     ],
     "prompt_number": 11
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "g = lambda x: x**2\n",
      "x = 1\n",
      "result = %timeit -o g(x)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": []
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "aaa = 1\n",
      "b = print aaa"
     ],
     "language": "python",
     "metadata": {},
     "outputs": []
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "%timeit EigenvalEigenvecProblem5"
     ],
     "language": "python",
     "metadata": {},
     "outputs": []
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "%timeit EigenvalEigenvecProblem5(N, x_min, x_max, N_eigvals, potential, *args_potential)"
     ],
     "language": "python",
     "metadata": {},
     "outputs": []
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "print eigvals\n",
      "print [\"n = %d\" % i for i in range(0,eigvals)]"
     ],
     "language": "python",
     "metadata": {},
     "outputs": []
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [],
     "language": "python",
     "metadata": {},
     "outputs": []
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [],
     "language": "python",
     "metadata": {},
     "outputs": []
    }
   ],
   "metadata": {}
  }
 ]
}