SHARE
TWEET

Untitled

a guest Oct 21st, 2019 80 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. {
  2.  "cells": [
  3.   {
  4.    "cell_type": "markdown",
  5.    "metadata": {},
  6.    "source": [
  7.     "Before you turn this problem in, make sure everything runs as expected. First, **restart the kernel** (in the menubar, select Kernel$\\rightarrow$Restart) and then **run all cells** (in the menubar, select Cell$\\rightarrow$Run All).\n",
  8.     "\n",
  9.     "Make sure you fill in any place that says `YOUR CODE HERE` or \"YOUR ANSWER HERE\", as well as your name and collaborators below:"
  10.    ]
  11.   },
  12.   {
  13.    "cell_type": "code",
  14.    "execution_count": 1,
  15.    "metadata": {},
  16.    "outputs": [],
  17.    "source": [
  18.     "NAME = \"Albion Krasniq\"\n",
  19.     "COLLABORATORS = \"Cesar\""
  20.    ]
  21.   },
  22.   {
  23.    "cell_type": "markdown",
  24.    "metadata": {},
  25.    "source": [
  26.     "---"
  27.    ]
  28.   },
  29.   {
  30.    "cell_type": "markdown",
  31.    "metadata": {
  32.     "deletable": false,
  33.     "editable": false,
  34.     "nbgrader": {
  35.      "checksum": "fe57a13a2ba710371e280641c9f21c35",
  36.      "grade": false,
  37.      "grade_id": "cell-90b6f68e307cf4d7",
  38.      "locked": true,
  39.      "schema_version": 1,
  40.      "solution": false
  41.     }
  42.    },
  43.    "source": [
  44.     "# CS110 Pre-class Work 4.2\n",
  45.     "\n",
  46.     "## Part A. The Hire-Assistant Problem.\n",
  47.     "\n",
  48.     "Imagine that you need to hire a new assistant. Every day an agency sends a new assistant for you to interview. If the assistant is better than your current assistant, then you fire your current assistant and you hire the better assistant. You may assume that assistant quality is uniformly distributed between 0 and 1.\n",
  49.     "\n",
  50.     "## Question 1.\n",
  51.     "Write a function, named hire_assistant, that takes applicants (a list of the numbers that represent the level of qualification of the applicants; the higher the number, the better qualified), and returns the number hires if the applicants are presented in the exact same order as the input list applicants. Note that your function should not randomize anything (or else it would be called a randomized algorithm)."
  52.    ]
  53.   },
  54.   {
  55.    "cell_type": "code",
  56.    "execution_count": 2,
  57.    "metadata": {
  58.     "deletable": false,
  59.     "nbgrader": {
  60.      "checksum": "3e823066b88c3701b5aa6feb0b29ea00",
  61.      "grade": false,
  62.      "grade_id": "cell-d011f5f4707fe41a",
  63.      "locked": false,
  64.      "schema_version": 1,
  65.      "solution": true
  66.     }
  67.    },
  68.    "outputs": [],
  69.    "source": [
  70.     "def hire_assistant(applicants):\n",
  71.     "    \"\"\"\n",
  72.     "    Return the number of assistant hired.\n",
  73.     "    Inputs:\n",
  74.     "    - applicants: a list of the numbers that represent the level of qualification of \n",
  75.     "    the applicants; the higher the number, the better qualified\n",
  76.     "    \n",
  77.     "    Outputs:\n",
  78.     "    - hires: Number of assistants hired\n",
  79.     "    \"\"\"\n",
  80.     "    # YOUR CODE HERE\n",
  81.     "    #setting the current employer as dummy\n",
  82.     "    best = -float(\"inf\") \n",
  83.     "    #How many people we hired\n",
  84.     "    num_hires = 0\n",
  85.     "    #Looping through each applicant\n",
  86.     "    for i in range(len(applicants)):\n",
  87.     "        #Comparing the new candiate with the our best candidate\n",
  88.     "        if applicants[i] > best:\n",
  89.     "            #If, new canditate more qualified, hire him\n",
  90.     "            best = applicants[i]\n",
  91.     "            #Increase number of hires\n",
  92.     "            num_hires += 1\n",
  93.     "            \n",
  94.     "    return num_hires\n",
  95.     "    raise NotImplementedError()"
  96.    ]
  97.   },
  98.   {
  99.    "cell_type": "code",
  100.    "execution_count": 3,
  101.    "metadata": {
  102.     "deletable": false,
  103.     "editable": false,
  104.     "nbgrader": {
  105.      "checksum": "1cf91a3b99ed87bfe9ea81d9a9252e16",
  106.      "grade": true,
  107.      "grade_id": "cell-66778b97ad66f71e",
  108.      "locked": true,
  109.      "points": 1,
  110.      "schema_version": 1,
  111.      "solution": false
  112.     }
  113.    },
  114.    "outputs": [],
  115.    "source": [
  116.     "assert(hire_assistant([1])==1)\n",
  117.     "assert(hire_assistant([-1, -2, -3, -4])==1)"
  118.    ]
  119.   },
  120.   {
  121.    "cell_type": "markdown",
  122.    "metadata": {
  123.     "deletable": false,
  124.     "editable": false,
  125.     "nbgrader": {
  126.      "checksum": "950e8b4c047988bb6493460be72d1bc7",
  127.      "grade": false,
  128.      "grade_id": "cell-e5d810828093b20d",
  129.      "locked": true,
  130.      "schema_version": 1,
  131.      "solution": false
  132.     }
  133.    },
  134.    "source": [
  135.     "## Question 2. \n",
  136.     "Assuming the applicants are presented in a random order, write a function that receives the number of applicants as input and returns the average number of assistants hired.\n",
  137.     "\n",
  138.     "**N.B.:** Don’t forget to run the simulation several times for each given number of applicants to better estimate the number of hires (please refer to task 3 of the Study Guide)."
  139.    ]
  140.   },
  141.   {
  142.    "cell_type": "code",
  143.    "execution_count": 4,
  144.    "metadata": {
  145.     "deletable": false,
  146.     "nbgrader": {
  147.      "checksum": "7038d9d8cc9239d5ca15f5d21aa986e3",
  148.      "grade": true,
  149.      "grade_id": "cell-b223520ca72942a0",
  150.      "locked": false,
  151.      "points": 0,
  152.      "schema_version": 1,
  153.      "solution": true
  154.     }
  155.    },
  156.    "outputs": [],
  157.    "source": [
  158.     "import random\n",
  159.     "import numpy as np\n",
  160.     "\n",
  161.     "def experimental_hires(N):\n",
  162.     "    #Creating a empty lis\n",
  163.     "    average_hires = []\n",
  164.     "    \n",
  165.     "    #Looping 1000 times through these operations\n",
  166.     "    for i in range(1000):\n",
  167.     "        #creating a new list to store applicants\n",
  168.     "        applicants = [] \n",
  169.     "        #The level of qualification can have values from 0 to 100\n",
  170.     "        #Inserting applicants into the list\n",
  171.     "        [applicants.append(random.randint(0,100)) for j in range(N)]\n",
  172.     "        average_hires.append(hire_assistant(applicants))\n",
  173.     "    #returning the average of hired applicants\n",
  174.     "    return np.mean(average_hires)"
  175.    ]
  176.   },
  177.   {
  178.    "cell_type": "code",
  179.    "execution_count": 5,
  180.    "metadata": {},
  181.    "outputs": [
  182.     {
  183.      "data": {
  184.       "text/plain": [
  185.        "5.305"
  186.       ]
  187.      },
  188.      "execution_count": 5,
  189.      "metadata": {},
  190.      "output_type": "execute_result"
  191.     }
  192.    ],
  193.    "source": [
  194.     "experimental_hires(1000)"
  195.    ]
  196.   },
  197.   {
  198.    "cell_type": "markdown",
  199.    "metadata": {
  200.     "deletable": false,
  201.     "editable": false,
  202.     "nbgrader": {
  203.      "checksum": "7f78b31a96cb5ddc8eb534ab037d9fee",
  204.      "grade": false,
  205.      "grade_id": "cell-a55a7b3d12ef78bb",
  206.      "locked": true,
  207.      "schema_version": 1,
  208.      "solution": false
  209.     }
  210.    },
  211.    "source": [
  212.     "## Question 3.\n",
  213.     "\n",
  214.     "Use the function below, `analytical_hires(N)`, which returns the analytical expected number of hires, given the number of applicants, along with the function you created in question 2 to create a graph with two curves such that:\n",
  215.     "* The x-axis shows the total number of applicants (make sure label the x-axis)\n",
  216.     "* The y-axis shows the average number of hires (make sure label the y-axis)\n",
  217.     "* The graph contains two curves;\n",
  218.     "    * Curve 1: the theoretical performance estimates computed calls to the function `analytical_hires`.\n",
  219.     "    * Curve 2: the simulated or experimental estimates using the function you created in question 2.\n"
  220.    ]
  221.   },
  222.   {
  223.    "cell_type": "code",
  224.    "execution_count": 6,
  225.    "metadata": {
  226.     "deletable": false,
  227.     "editable": false,
  228.     "nbgrader": {
  229.      "checksum": "1e514458253b863a6c69ce09ccd2d9de",
  230.      "grade": false,
  231.      "grade_id": "cell-4092502cb05933d4",
  232.      "locked": true,
  233.      "schema_version": 1,
  234.      "solution": false
  235.     }
  236.    },
  237.    "outputs": [],
  238.    "source": [
  239.     "def analytical_hires(N):\n",
  240.     "    \"\"\"\n",
  241.     "    Return the analytical expected number of hires if there are N applicants\n",
  242.     "    Inputs:\n",
  243.     "    - N: Number of applicants\n",
  244.     "    Outputs:\n",
  245.     "    - hires: Average number of assistants hired\n",
  246.     "    \"\"\"\n",
  247.     "    # from the textbook, we know that the analytical result is \n",
  248.     "    # 1 + 1/2 + 1/3 + ... + 1/N\n",
  249.     "    hires = 0\n",
  250.     "    for n in range(N):\n",
  251.     "        hires += 1/(n+1)\n",
  252.     "    return hires"
  253.    ]
  254.   },
  255.   {
  256.    "cell_type": "code",
  257.    "execution_count": 8,
  258.    "metadata": {
  259.     "deletable": false,
  260.     "nbgrader": {
  261.      "checksum": "055b3a48707a83f9330ab3b00c45144a",
  262.      "grade": true,
  263.      "grade_id": "cell-f9c07920c069ce20",
  264.      "locked": false,
  265.      "points": 0,
  266.      "schema_version": 1,
  267.      "solution": true
  268.     }
  269.    },
  270.    "outputs": [
  271.     {
  272.      "data": {
  273.       "image/png": "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\n",
  274.       "text/plain": [
  275.        "<Figure size 432x288 with 1 Axes>"
  276.       ]
  277.      },
  278.      "metadata": {},
  279.      "output_type": "display_data"
  280.     }
  281.    ],
  282.    "source": [
  283.     "import matplotlib.pyplot as plt\n",
  284.     "\n",
  285.     "analytical_average = []\n",
  286.     "experimental_average = [] \n",
  287.     "applicants = list(range(1,101))\n",
  288.     "\n",
  289.     "for i in applicants:\n",
  290.     "    #adding the result to the list experimental_average which we get from experimental_hires\n",
  291.     "    experimental_average.append(experimental_hires(i)) \n",
  292.     "    #adding the result to the list analytical_average which we get from analytical_hires\n",
  293.     "    analytical_average.append(analytical_hires(i))\n",
  294.     "\n",
  295.     "#plotting the data\n",
  296.     "plt.plot(applicants, experimental_average, color = \"g\")\n",
  297.     "plt.plot(applicants, analytical_average, color = \"b\")\n",
  298.     "\n",
  299.     "plt.legend(['Analytical', 'Experimental'])\n",
  300.     "plt.xlabel('Total number of applicants')\n",
  301.     "plt.ylabel('Average hires from applicants')\n",
  302.     "plt.show()"
  303.    ]
  304.   },
  305.   {
  306.    "cell_type": "markdown",
  307.    "metadata": {
  308.     "deletable": false,
  309.     "editable": false,
  310.     "nbgrader": {
  311.      "checksum": "f5c0fc54ac7e38140eacf7a0d3877a00",
  312.      "grade": false,
  313.      "grade_id": "cell-8720f8d8a6a98422",
  314.      "locked": true,
  315.      "schema_version": 1,
  316.      "solution": false
  317.     }
  318.    },
  319.    "source": [
  320.     "## Question 4.\n",
  321.     "\n",
  322.     "Plot a graph with the x-axis showing the total number of applicants and the y-axis showing the probability that exactly one assistant is hired."
  323.    ]
  324.   },
  325.   {
  326.    "cell_type": "code",
  327.    "execution_count": 9,
  328.    "metadata": {
  329.     "deletable": false,
  330.     "nbgrader": {
  331.      "checksum": "99500575978918dad34be4dfe49fff36",
  332.      "grade": true,
  333.      "grade_id": "cell-d3fe1b7d6d175ad7",
  334.      "locked": false,
  335.      "points": 0,
  336.      "schema_version": 1,
  337.      "solution": true
  338.     }
  339.    },
  340.    "outputs": [
  341.     {
  342.      "data": {
  343.       "image/png": "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\n",
  344.       "text/plain": [
  345.        "<Figure size 432x288 with 1 Axes>"
  346.       ]
  347.      },
  348.      "metadata": {},
  349.      "output_type": "display_data"
  350.     }
  351.    ],
  352.    "source": [
  353.     "# YOUR CODE HERE\n",
  354.     "#The probability of the best candidate being first\n",
  355.     "\n",
  356.     "x = np.arange(1,len(applicants))\n",
  357.     "\n",
  358.     "plt.plot(x, 1/x, color='black')\n",
  359.     "plt.xlabel('Number of Applicants')\n",
  360.     "plt.ylabel('Probability that exactly one assistant is hired')\n",
  361.     "\n",
  362.     "\n",
  363.     "plt.show()\n"
  364.    ]
  365.   },
  366.   {
  367.    "cell_type": "markdown",
  368.    "metadata": {
  369.     "deletable": false,
  370.     "editable": false,
  371.     "nbgrader": {
  372.      "checksum": "998ef0b673bc47c929e5543e6f86ccb2",
  373.      "grade": false,
  374.      "grade_id": "cell-2bd2500c3ca4cf02",
  375.      "locked": true,
  376.      "schema_version": 1,
  377.      "solution": false
  378.     }
  379.    },
  380.    "source": [
  381.     "## [Optional] Question 5.\n",
  382.     "Assume that an assistant is able to perform an amount of work each day that is equal to their “quality”. You have a total amount of work M that needs to be accomplished. Your costs are as follows:\n",
  383.     "* X = daily salary for the assistant,\n",
  384.     "* Y = fee to the employment agency,\n",
  385.     "* Z = retrenchment fee for the old assistant.\n",
  386.     "\n",
  387.     "Try to formulate an optimal stopping rule (ie. at what point should one stop requesting new potential hires from the agency?) Make any necessary assumptions to ensure the problem is well-formulated.\n"
  388.    ]
  389.   },
  390.   {
  391.    "cell_type": "code",
  392.    "execution_count": 9,
  393.    "metadata": {
  394.     "deletable": false,
  395.     "nbgrader": {
  396.      "checksum": "43b6a51878665a39b0ede1313448eaa6",
  397.      "grade": true,
  398.      "grade_id": "cell-af2f0291eced6982",
  399.      "locked": false,
  400.      "points": 0,
  401.      "schema_version": 1,
  402.      "solution": true
  403.     }
  404.    },
  405.    "outputs": [
  406.     {
  407.      "ename": "NotImplementedError",
  408.      "evalue": "",
  409.      "output_type": "error",
  410.      "traceback": [
  411.       "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
  412.       "\u001b[1;31mNotImplementedError\u001b[0m                       Traceback (most recent call last)",
  413.       "\u001b[1;32m<ipython-input-9-15b94d1fa268>\u001b[0m in \u001b[0;36m<module>\u001b[1;34m()\u001b[0m\n\u001b[0;32m      1\u001b[0m \u001b[1;31m# YOUR CODE HERE\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 2\u001b[1;33m \u001b[1;32mraise\u001b[0m \u001b[0mNotImplementedError\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m",
  414.       "\u001b[1;31mNotImplementedError\u001b[0m: "
  415.      ]
  416.     }
  417.    ],
  418.    "source": [
  419.     "# YOUR CODE HERE\n",
  420.     "raise NotImplementedError()"
  421.    ]
  422.   },
  423.   {
  424.    "cell_type": "markdown",
  425.    "metadata": {
  426.     "deletable": false,
  427.     "editable": false,
  428.     "nbgrader": {
  429.      "checksum": "b0c67a7805b6596f1ba87521c45df302",
  430.      "grade": false,
  431.      "grade_id": "cell-92211f5b42929c46",
  432.      "locked": true,
  433.      "schema_version": 1,
  434.      "solution": false
  435.     }
  436.    },
  437.    "source": [
  438.     "## Part B. The Hat Check Problem.\n",
  439.     "\n",
  440.     "There is a coat check at a party, where an attendant stores everyone’s hat while they attend the party. The attendant receives the N hats from everyone attending (all attendees come with a hat). Unfortunately, the coat check attendant forgets which hat belongs to whom. Rather than admitting a mistake, the attendant simply returns random hats back to the party goers. \n",
  441.     "What is the average number of correct hats returned? Here are some guiding questions to help you to simulate this problem. \n",
  442.     "\n",
  443.     "## Question 1. \n",
  444.     "Knowing that everyone’s hats are unique and every guest has a hat. Do you need to generate a random sample in a similar way as what you did for the hiring assistant problem? "
  445.    ]
  446.   },
  447.   {
  448.    "cell_type": "markdown",
  449.    "metadata": {
  450.     "deletable": false,
  451.     "nbgrader": {
  452.      "checksum": "259c6115bee56676178f28ab36d6db2f",
  453.      "grade": true,
  454.      "grade_id": "cell-e786799fc4eb1499",
  455.      "locked": false,
  456.      "points": 0,
  457.      "schema_version": 1,
  458.      "solution": true
  459.     }
  460.    },
  461.    "source": [
  462.     "YOUR ANSWER HERE"
  463.    ]
  464.   },
  465.   {
  466.    "cell_type": "markdown",
  467.    "metadata": {},
  468.    "source": [
  469.     "No, we wouldn't like to have hats with the random numbers, since we know each hat is unique (no 2 elements are the same) and it has to correspond with their owner's number. So, creating a totally radomized list will not be a smart choice. \n",
  470.     "\n",
  471.     "Maybe, we can create an 2-dimensional array which takes the owner and the number of hat. "
  472.    ]
  473.   },
  474.   {
  475.    "cell_type": "markdown",
  476.    "metadata": {
  477.     "deletable": false,
  478.     "editable": false,
  479.     "nbgrader": {
  480.      "checksum": "c9f8182f3dd59f572cb797f373fb7464",
  481.      "grade": false,
  482.      "grade_id": "cell-e2f68e2bd4c2d099",
  483.      "locked": true,
  484.      "schema_version": 1,
  485.      "solution": false
  486.     }
  487.    },
  488.    "source": [
  489.     "## Question 2. \n",
  490.     "Which of the following commands do you think is the Pythonic way to implement that? \n",
  491.     "```\n",
  492.     "import numpy as np\n",
  493.     "n = 100 #the number of party attendants `\n",
  494.     "```\n",
  495.     "**Command 1. **\n",
  496.     "```\n",
  497.     "hat_list = [np.random.integers(0,n) for i in range(n)]`\n",
  498.     "```\n",
  499.     "**Command 2.**\n",
  500.     "```\n",
  501.     "hat_list = list(range(n)) \n",
  502.     "np.random.shuffle(hat_list) \n",
  503.     "```\n",
  504.     "**Command 3.**\n",
  505.     "```\n",
  506.     "hat_list = np.random.sample(n)\n",
  507.     "```"
  508.    ]
  509.   },
  510.   {
  511.    "cell_type": "markdown",
  512.    "metadata": {
  513.     "deletable": false,
  514.     "nbgrader": {
  515.      "checksum": "b5e83025692b2772640e9e58f0f36af1",
  516.      "grade": true,
  517.      "grade_id": "cell-b8da78e72c1c0738",
  518.      "locked": false,
  519.      "points": 0,
  520.      "schema_version": 1,
  521.      "solution": true
  522.     }
  523.    },
  524.    "source": [
  525.     "YOUR ANSWER HERE"
  526.    ]
  527.   },
  528.   {
  529.    "cell_type": "markdown",
  530.    "metadata": {},
  531.    "source": [
  532.     "The second approach is the best one since this list \"existed\" and then we are just shuffling it, meaning it will have the same elements. In such case, we would need to compare only the number of the hat with the owner. "
  533.    ]
  534.   },
  535.   {
  536.    "cell_type": "markdown",
  537.    "metadata": {
  538.     "deletable": false,
  539.     "editable": false,
  540.     "nbgrader": {
  541.      "checksum": "ec25d5c32cc709928fa50666f21d9808",
  542.      "grade": false,
  543.      "grade_id": "cell-8915979a0b8cf6ce",
  544.      "locked": true,
  545.      "schema_version": 1,
  546.      "solution": false
  547.     }
  548.    },
  549.    "source": [
  550.     "## Question 3.\n",
  551.     "Now write a function `hat_check(N)` that has: \n",
  552.     "* Input: N the number of party attendants. \n",
  553.     "* Output: the number of hats correctly returned despite the fact that hats are randomly handed back to the guests.\n",
  554.     "\n",
  555.     "You should use the command you picked for question 2. "
  556.    ]
  557.   },
  558.   {
  559.    "cell_type": "code",
  560.    "execution_count": 10,
  561.    "metadata": {
  562.     "deletable": false,
  563.     "nbgrader": {
  564.      "checksum": "c37f6cdc2ca8cbb92644fa2746445779",
  565.      "grade": true,
  566.      "grade_id": "cell-c8499aeb1b1d76c7",
  567.      "locked": false,
  568.      "points": 0,
  569.      "schema_version": 1,
  570.      "solution": true
  571.     }
  572.    },
  573.    "outputs": [],
  574.    "source": [
  575.     "# YOUR CODE HERE\n",
  576.     "import numpy\n",
  577.     "def hat_check(N):\n",
  578.     "    #COunting how many correct hat were given\n",
  579.     "    correct_hat = 0\n",
  580.     "    #Using the Command 2 from previous question\n",
  581.     "    hat_list = list(range(N)) \n",
  582.     "    #shuffling the hats\n",
  583.     "    numpy.random.shuffle(hat_list) \n",
  584.     "    \n",
  585.     "       #Loopthrough hats \n",
  586.     "    for i in range(N):\n",
  587.     "    #checking if the hat matches with the owner\n",
  588.     "        if hat_list[i] == i:\n",
  589.     "            #If yes add 1 to correct_hat\n",
  590.     "            correct_hat += 1\n",
  591.     "        #returning how many correct guess we had\n",
  592.     "    return correct_hat"
  593.    ]
  594.   },
  595.   {
  596.    "cell_type": "markdown",
  597.    "metadata": {
  598.     "deletable": false,
  599.     "editable": false,
  600.     "nbgrader": {
  601.      "checksum": "1ff8b95312de63513a2107ffb7ab9d5a",
  602.      "grade": false,
  603.      "grade_id": "cell-086d4cc0fc5b0155",
  604.      "locked": true,
  605.      "schema_version": 1,
  606.      "solution": false
  607.     }
  608.    },
  609.    "source": [
  610.     "## Question 4.\n",
  611.     "\n",
  612.     "Plot a curve with the x-axis showing the total number of party attendants and the y-axis showing the average number of hats correctly returned. As always, remember to run several trials. "
  613.    ]
  614.   },
  615.   {
  616.    "cell_type": "code",
  617.    "execution_count": 11,
  618.    "metadata": {
  619.     "deletable": false,
  620.     "nbgrader": {
  621.      "checksum": "c4d1251529b962f3d3ce28f6ac9f244e",
  622.      "grade": true,
  623.      "grade_id": "cell-597031ea2a5a512a",
  624.      "locked": false,
  625.      "points": 0,
  626.      "schema_version": 1,
  627.      "solution": true
  628.     }
  629.    },
  630.    "outputs": [
  631.     {
  632.      "data": {
  633.       "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZIAAAEKCAYAAAA4t9PUAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMi4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvhp/UCwAAIABJREFUeJzsvXm0ZFV59/95btWdex5oummgm0kGRcAGcYgDRgUTBdREMY7xFc1ror4uXQ7xjYnG18Q4RX9GRUXEMWKCYoIjAUUFtVFkFGjoRppu6Pn2nW8Nz++PfXadXafOqTo11713f9eqVVWnzjm1q+rUfvb3+0yiqnh4eHh4eDSKvm4PwMPDw8NjfsMbEg8PDw+PpuANiYeHh4dHU/CGxMPDw8OjKXhD4uHh4eHRFLwh8fDw8PBoCt6QeHh4eHg0BW9IPDw8PDyagjckHh4eHh5NIdvtAXQCa9as0U2bNnV7GB4eHh7zCrfccss+VV1ba79FYUg2bdrE1q1buz0MDw8Pj3kFEXkwzX5e2vLw8PDwaArekHh4eHh4NAVvSDw8PDw8moI3JB4eHh4eTcEbEg8PDw+PppAYtSUiZ1U7UFV/0/rheHh4eHjMN1QL//1IcD8EbAF+BwhwOvBL4KntHZqHh4eHx3xAorSlqs9U1WcCDwJnqeoWVX0CcCawrVMD9PDw8OgZ5A7D9q92exQ9hzQ+kpNV9Xb7RFXvAM5o35A8PDw8ehR/uApuejlMPtTtkfQU0mS23y0inwe+AijwcuDuto7Kw8PDoxeRO2zu8xPdHUePIY0heQ3wV8Cbg+c/BT7dthF5eHh49CpygQEpTHd3HD2GmoZEVWdE5DPAtap6TwfG5OHh4dGbKEwG9zGGZHY/DK7u7Hh6BDV9JCLyAuBW4PvB8zNE5Jp2D8zDw8Oj55BPMCRjd8N/rIWDv+v8mHoAaZzt7wXOAQ4BqOqtwKZaB4nI5SKyR0TuSHhdROQTIrJNRG6zeSsi8kwRudW5zYjIRcFrV4jIduc17/T38PDoHKwhyU+Vb596CFCY3NHpEfUE0hiSvKqONXDuK4Dzq7x+AXBicLuUwO+iqter6hmqegZwHjAF/NA57u329cCoeXh4eHQGSYzEGpbceGfH0yNIY0juEJGXARkROVFEPgn8otZBqvpT4ECVXS4ErlSDm4EVIrI+ss+Lge+p6lTl4R4eHh4dRj7B2W6fL9JorjSG5G+A04BZ4OvAYeAtLXjvowA3GHtnsM3FS4P3dPGBQAr7mIgMtmAcHh4eHumQxEgKnpFUhapOqerfqurZQXb736rqTAveW+LervSiYSePA37gvP4u4GTgbGAV8I7Ek4tcKiJbRWTr3r17WzBcDw+PRY8kH4l9vkgZSc3wXxE5CXgbxsFe2l9Vz2vyvXcCRzvPNwK7nOd/DlytqjnnPXcHD2dF5IvBuGKhqpcBlwFs2bJFk/bz8PDwSA3PSGKRJiHxKuAzwOeBQgvf+xrgr0XkG8ATgTHHUABcgmEgJYjIelXdLSICXATERoR5eHh4tAWJzvbF7SNJY0jyqlp3JruIfB14BrBGRHZiwoj7AVT1M8C1wPMwBSCnMBn09thNGLbyk8hpvyoiazGy2K3AG+odl4eHh0fDsIYin8BI8p6RJOG7IvK/gasxDncAVLVaRBaqekmN1xV4Y8JrO6h0vLdCTvPw8PBoHCVGkuAj8dJWIl4V3L/d2abAca0fjoeHh0ePoliAYrCW9uG/ZahqSESkD3i5qv68Q+Px8PDw6E3YOlvgne0RVA3/VdUi8OEOjcVjsaOYg+lHuz0KD4945By2EfWRLPLw3zQJiT8UkRcFkVIeHu3D/Z+H/3qMMSgeHr2GvMtIIj4S72yvibcCo0BeRGYwEVOqqsvaOjKPxYfJhyA3ZmSDvv5uj8bDoxxVpa3g+SKVttL0I1naiYF4eJRWdYUZ6PfrFI8eg2UkmaHkoo35SdAiSBqxZ+EgTWb70+K2B0UZPTxah1JoZSsq8Hh4tBj2+hxck+xsR41R6V/S0aF1G2mkLTfsdwjTm+QWTIl3D4/WwRsSj16GdaQPrjXdEMtemy7fzxuScqjq893nInI08KG2jchj8cKVtjw8eg0lRrI2aGTloDBl5NjcYeMnGT6y8+PrIhoR8nYCj231QDw8EusYeXj0AqpJW/kpGDwieLz4QoDT+Eg+SVjevQ84A1icjYk92gsvbXn0MqKGRBVEzH1hCobXwcS2RRkCnMZHstV5nAe+7jPdPdoCb0g8ehklH8kaE5lVzEFmICybYhnJIgwBTmNIVqjqv7obROTN0W0eHk3DhlAWvSHx6EHkJ03or3WkF6aMIbHX7dDilbbS+EheFbPt1S0eh4dHmPDlGYlHLyI/CdlRyAyb59ZPYoNEhtaZe89IQojIJcDLgM0ico3z0lJgf/xRHh5NwDvbPXoZ+UnIxBgSG/q7iBlJNWnrF8BuYA3wEWf7OHBbOwflsUiR9+G/Hj0My0iyI8HzCCMZXGvuPSMJoaoPAg8CTxKRY4ETVfXHIjIMDGMMiodHa1CYA80Hj70h8ehB5Ccgu8RhJLYsSnDfvxz6BhclI6npIxGR1wHfAj4bbNoIfLudg/JYhCgriOcNiUcPopaPJDsM/UsXZfhvGmf7G4GnAIcBVPU+4IhaB4nI5SKyR0TuSHhdROQTIrJNRG4TkbOc1woicmtwu8bZvllEfiki94nIv4vIQIrxe8wH5L0h8ehxRA1JSdoK7jMjhrEsQmkrjSGZVdU5+0REsoQJitVwBXB+ldcvAE4MbpcCn3Zem1bVM4LbC5zt/wx8TFVPBA4Cr00xDo/5gLzT38E729uHg7fC1Uf5BmKNoJDASOy1mx0JGImXtuLwExF5NzAsIs8GrgK+W+ugoDrwgSq7XAhcqQY3AytEZH3SzkFjrfMwMhvAl4CLUozfYz7AM5LO4MBvYHoXHL672yNpDYo5+NEfwSPXtf+9os72Um244D4zAtmlnpEk4J3AXuB24PXAtcB7WvDeRwFu5bOdwTaAIRHZKiI3i4g1FquBQ6rWI1u2v8d8h2tIfEJi+zC7t/x+vmNmL+z9Gez/VfvfKxd1tkelrWHz+iJkJFUz20UkA3xJVV8OfK7F7x3XutdKZseo6i4ROQ74HxG5ncBHk7B/5clFLsVIZhxzzDHNjtWj3XBbl3pG0j7M7jP3MwvEkMwdNPedkEOj0lY+Qdqa3tn+sfQYqjISVS0Aa9vk1N4JHO083wjsCt7X3j8A3ACcCezDyF/Z6P5xUNXLVHWLqm5Zu3Zt60fv0Vp4aaszKBmSPd0dR6uQO2Tu81PV92sWxZy5VfORWEaSW3yMJI20tQP4uYj8XxF5q7214L2vAV4ZRG+dC4yp6m4RWSkigwAisgYTMXaXqipwPfDi4PhXAd9pwTgWHg78BrZ/udujqA/WkGRHvSFpJ2YCQ7JQpK0SI2mzIXGvzzhpq28A+rKLNvw3TdHGXcGtD1MeJRVE5OvAM4A1IrITeC/QD6Cqn8H4Wp4HbAOmgNcEh54CfFZEisF7/pOq3hW89g7gGyLyj8BvgS+kHc+iwr2fgp3fhs2v6PZI0sP+UQdW+6itdsIakF5iJDN7Ydf34LhX1n/sXIcYifV7ZEehL2MMh+tst8bFhv/aEvOLBGk6JP5DIydW1UtqvK6YHJXo9l8Aj0s45gFMq1+Pasgdmn8Ov1KZiVWekbQTsz3ISB78BtzyJthwAQzVKUN3ykdSYiRB5d/McLmPxEZy9S81FRqKc5AZbO+YegiNdEj06HXMHTIXcmGu9r69gjJG4g1J29CLPpJSqZEGJKGOMRJH2gJjSNzM9kxgSLKBaLPIQoC9IVmIyI2Z+/nESvKTIFnT99qH/7YHxVx4bTTKSCa2t36StAseN+AiLbrhI4GIIZkul7Zgfv33WgBvSBYi5uajIZkKHZmekbQHs0H3h8E15nGxUP85fvgkuPtfWjsu22GwEUOS67C0lQkMSXakvGijK23BonO4pyna+CERWSYi/SJynYjsE5GXd2JwHg3CrjrnE70uTJo/Y2bIO9vbBctClp8KKMzV2VaomIeZR1svizVjSDrtbO+P8ZGUSVvB6/Ppv9cCpGEkz1HVw8CfYnI/TgLe3tZReTSH+SptZUYDQ+IZSVtg/SPLTjX39SYl2lV2IxN+Ncx3aSs/HcNI5tF/rwVIY0j6g/vnAV9X1Wr1szy6jcKMcbTD/LqYS9KWNyRtgzUkywNDMlsns7CSaasn7XnBSCLSVoWzPeIj8YykAt8Vkd8DW4DrRGQt4P/pvQr7x4L5dTGXSnR7Q9I2lAzJKea+XkaSC6oUtXrSbsqQdDr8N8FHkmkhI/n1G+F3/7fx47uANIbkvcCTgC2qmsMkD76g+iEeXYOVtWCeMZLAR9I3FMTh52sf0wns+Brc9Or2nV8VfnoR7Lym9r7NwhqOZdaQ1MlIcm1iJPNK2goMRtRHkm1h+O+j/wP7ftH48V1AGkNyk6oeDOpuoaqTwPfaO6wFhpk9cMOfVu8BUczDz18Ge29q7r3m5qkhsQXxsrb8RI+wkkd+DA9+3Uz47UB+HHZ+x1QiiOK2v29tqZvZfaYd7NCRgNQfAlzyvbWJkRTqNCTFvPn+JGOuFy22dlwu8hOGdUgwZbYz/Dc3Nu8CThINiYgcKSJPwPQhOVNEzgpuzwBGOjbChYADt8Cu/4Zd1ybvs+enZsJ65MfNvZfLSOaVtDVl9Oe+IfO8VwxJfsL4nHKHau/bCOziYvze8u2qcM/H4Q/fqjymUczug8G1psTH4KoGDEkgbbWckTQobdlrfejI4DxtvGas9GpR5mx3GElmyBi2ZsJ/5w613+fTYlRjJM8FPoypsvtR4CPB7a3Au9s/tHmIyQfhtr+rXL3aC27/zcnH7rza3DfLIua7tJUJDEmvJCXaSq7t6ig484i5P3xv5fbcWGvzEWb3mRwSgMEjGpe26pnkHrkO7vtM9X2KDUpb1h84vKH+cdWLqCHJDhuDWswZKdb6SESaa7dbmDPzxTxjJIm1tlT1S8CXRORFqvofHRzT/MW2z8GdH4ATXg8jTs8tu1Lal2BIVENpY1EbktHQkPQKI7Fyy+we4OTWn38mMFCze43eP7DSPB8LOhi2klXO7oXhjebx0NrOMJJtl8EfvgmrtsDqLfH7NOpst/6RkQ2mF2s7/SSFKCMZMdeo24vEopl2uyU/1AIxJBaq+h8i8ifAacCQs/197RzYvIQ1FNGLwD4fu8NMDP2RIsoHtsJU0Ayn2cnfrtIyI/NH2lINHJZdNCQHfgNagNVnl2+3jGSmTYxk+pHw8eF7Yc0Tg8e/D94/rp9bg5jdByvPMI8HjzDXYz2Ya4CRWLbxm7fAH98YXxG3YWmrg4zEdke0sD6RuQPlz6E5RtKugIY2I01m+2eAlwB/g+lq+GfAsW0e1/xDsQD7f2keRw2Jje7QojEaUTx0tdFVhze0iJEIDK+fP4ykOGcm8W4akt+8FW55S+X2fLulLee8rp/E9lRvlbSlGvpIoDlGkp9MH3xQnAME9v4cHkrw9zQsbQWMxBqSdq7iKxhJYDhs2ZmMw0iyTTCSUl7M/GIkaaK2nqyqrwQOBiXln0R5Z0MPgMN3hRdPdBJ09f44eWvn1XDE02Hk6OazhufGTOHD/mXzh5GUkr1GKpsGdQozj8Q71PNtZiQzj8DAKrOQOHxPuL3ESFr0GxamzHXp+khm99cXZl2STTWUo2qhmDMsb8Xp8Nu3xy8QmpW2Soakwz4SCA1JhbTVLCOZbl+kYBuQxpDYf/SUiGwAcsDm9g1pnsI1EEmMZMnxlYZk7Pdm0th4saHErWAk/ctbc65Ooaz7XJcYycze+Enbfof1ZoGnft9HzQJiyXHljMT6SPITrQlrtTkk1pDYvh+zddTbKvO/pZy0i3NmcXDWx0wwyu8/VrlPo9JWydl+VH1jagQVUVuB4bD1yiqkrSYZST3GugeQxpD8l4isAP4F+A2m9e432jmoeQnXQERpaWHalEhf+1QTueWuNGy01tEXmYJwzfZ7zo3BwPLmHH6dhl1JdsuQFHNG644aEtX2M5LpR2BoHSw9KYzcyo3D9MMwuNo8b8XvaLPaS4zEGpI65C3XX5N29V+cM90EjzwP1l8A934yfh+oP49k7iD09cPQmvrG1Ajiwn+hfYwE5pXDvaYhUdX3q+qhIHLrWOBkVZ1f+fudwP6bk7XawoyZINeca0IuJ3eErz10Naw6G0Y2toZFzB1yGEnMxNiLdNllJH1dCP+1k0F+vPz7cZPc2ukjGT7SGJLxe837WVlrVeD4b4W8VTIk1kdyRPD+dTCtRhlJX1Cub/mp5QmzpX2aYCT9K0J20E6/Qr6Ws931kTThbHdLHM0jP0mqfiQi8mQReRnG6X6hiNRsriwil4vIHhGJDQ0Rg0+IyDYRuU1Ezgq2nyEiN4nIncH2lzjHXCEi20Xk1uB2RrqP2WbMHYKxu2DdM83zuKitzLAxJAD7guz1/VvhwK/h6IvN81ZLW1F289C34D/X9U5orUWZj6QLjMSuyrVQ/r7ub9EORqJqfCRDR8Kyx5jrZOrh0JCsDrpKt9SQNMlI7ISZmpHkDCMB89vGyTUNS1tBuHS2zjHVC9UGfCRNhv/CvIrcShO19WVMYuJTgbODW0JAeBmuAM6v8voFwInB7VLg08H2KeCVqnpacPzHA2nN4u2qekZwuzXFONqP/b8297UMyfLHmotx383mwvzFXxh994TXm/1aZUgGVsRfzIduNxNHu2SaRpF3pa0uONvdVbnL4uz3N7CqPd9Zbsys2IfWwbKTzLbxe41/RLKw8szKMTUKa0isDNQoIxleH4ypTmkLoG/QGOuog79RRpI7ZK71EiNp08TrRhVa2Pe032vUR1KYbqxenMtI5pG0VTOPBGM0TlWtTxNR1Z+KyKYqu1wIXBmc92YRWSEi61W15HFU1V0isgdYC7SpRkULsO9mQGDt08zzJGmrL2vkin03m3DT8fvgWdeZchUQGJJJI29Ig80ry5ztgVRjY/dnAxo+ux9GeyiCu9BlZ7tbBTc3Hk6y1pAsOd4wx+iqtFnYHBIrbYGJ3Dr8e1h6QpicGM0lufOfYHoXbPlE+vea3Wsiw/qXm+cDq6ir3paqGceyU2Di/vp9JFD+2/YtKd8HwrDiuFyTOFhG0u7FR7SEPNQO/7XHDSyv773K5MP5Y0jSzFZ3AEe24b2PAh5ynu8MtpUgIucAA8D9zuYPBJLXx0RksA3jqh/7bzb67/A68zyJkYCRtw5sNRm/p7w9ZDEQdl9rdGWlGoT/BoZEi+UTstVz7SqqV9B1aSuBkVhpcMlx5r7VrMSeb2id8a9lRw0jOXw3LDs5TFyNSluP/MjUbqsHtjyKXaD0ZczztKXkCzNGpqqbkeRCH0ncb1ssmNV+ZgTQ+n73uYOBj8QakjYxEnt99lfxkUSlLWiMSboh6AtB2hKR74rINcAa4C4R+YGIXGNvLXjvuGVHifWIyHrgy8BrVEvxj+/C1Kk4G1gFvKPK+C8Vka0isnXv3joTr+qBqmEYa84NL664qC3XkKCw8iw4/f3l+zVbObQwber+2KgtKL+Y7eqpnpDPTqDM2R6sDbrJSErjCn6Hpceb+1Y73G2draEjzSp86UkwdieMbzMr//5lwTgiE9LcoZBdpoVbZ8tiaG36sOZSgURrSFLKUHGMxA2ksLKWZeX1yFtzhwwj6cuY66Zd0pa9DjJVfCRRZzs0FoE5NxZ+XwtE2vpwm997J+WJjRuBXQAisgz4b+A9qlqKq1XV3cHDWRH5IvC2pJOr6mXAZQBbtmxpX6jS+DazKll9rll5SaYy4shKWwDrngXHvRpOfTdkBsr3a9aQWH21f7lj1CaAQKqZc6StXoLrI+nLmO+xW4wkzpAsCQxJOxkJGEOy89tmMbDs5OTeFnMHzcq1mDdyaRrEGZLBtekZiZXXhm2l3SalLfd1MAZhamfwnUfGGQfVQNoK3Kduo6lWI9rUChxpa59heZZ1QfOMZOhImPrDwjAkqvqTNr/3NcBfi8g3gCcCY6q6W0QGgKsx/pOr3AMCH8puERHgIozs1l3YCCwbkeU2vLEoTIdRMv1L4Nwvxp+rWUNiV439y8M/r7sqsoZkrtcMSaRpUN9Qh53te41zW/PxznYrbbU6KXH6EfO+djW+7DHhCn35KY60FfGR2IzuuYNhYmEtzOwNW+xaDB0Bh25Ld7y9tppxtscZEhuxNVAnIylMBew78CO5Zd1bjVhDYh384+Z/6/p1mmm3OxcENEz9YV6Vkk+5nKkfIvJ14BnAGhHZiem02A+gqp8BrsX0gd+GidR6TXDonwNPA1aLyKuDba8OIrS+GrT6FeBW4A3tGn9qPPStIOom6DoXd0EXpkMqXA39TVBiCP/sAysMM4KItNWjjKQwaVZ0dlWXHe58+O/oJpjYlsBIAkPScmnrUTOZW7+FdbiDMSqZYfOa+xtqMfyd5w6kNyRunS2LRhjJUL2MxPGRWNnSDQEuNmhIrDG1jCQz0tjEu+9m85uvf3byPrGGZCh87PpHoLl2u7lDsPLx5vFCYCTNQlUvqfG6Am+M2f4V4CsJx5zXmtG1CJN/ME7PU99pJBlIMCQzYaJdNTQtbTmMxMIapWIhdOT1nLN9qlx/7hvqbELizB5jLCa2xTvbB1aZlW8aaSs/baoVHPvS2pF3NofEwoYADx8V+keykZppucOUXIlpFwRaNCy0wkdyhDFG7mSfhJKPJJDh0kzaqvVJW5A+u93KuPa4RqStwhz87M8NK7zwgeT97P/RTUgUMZ+nMFMe+uvuV+//WLU8xHoeGZI0eSRvTrNtUeL+z5sf//jXhduyTTCSVkpb0VWRGw3Sa4ykovzEUOcZiWUdZYzEkdyG1qUzJLe8yeQH7f157X1nHg0nZggZyTKn70n/0nJpa66B33HukDEmcT6StOexYxgIoqTSTNoa5FGkkbbqdbaXGIkjbdUbLvvg12DqIVNpolClrlUcI7HvCeWOdvd5vQzJ1lWzi4t5JG2lCf99Vcy2V7d4HPMPxZwxJBsugCWbwu1J0lZ01RKHVhmSgeXOuYKJ0Z0setFH4soDnTQkxZyZlIaPDCajiLSVHTXMYuiI2j6Sh/7TXBNQXgYnCdOPhM5rML/b8lNh7VPCbdG6TXYChdDnVQs2VySOkbivV4PLdrOj6SY5yzZKCYlxjKRJaau/QWd7sQB3/VMgAasJmklCoiEZCd/bRaOZ9iU/lJUP5w8jSZS2ROQS4GXA5ki471Kgx2aiLuDh78L0bjjnsvLtcY5iN2qrGpLCBmcPmEkuymrsKtHKIG7Ulv2z2nPZSWdwtWckLkoZ30cEq/+oIQl+k6F11R3TUw/DL19nGkcdvNXIntWgRWOYXEYCcP5vQ/8WmMitMmmrAUZS+oxRH0lgWNL4SdxrLZNy0i7mzH3VPJKItJXakESkrcwIzO1O3j+Knd82yZ+nvB3u/heTv7PitPh97XcebUjXakbifqZMhwNOmkQ1H8kvgN2YWLyPONvHgZShHgsY933GlP9ef0H59qi0pZqekfQnMJIfP830Kzn7U+XbfxaUIXvm98x9bsysnrNLwj9vqQx6YEiWngSHuh/sVgbbHdGik3+iUnn1tZWTdtSQJDnbtQg3vcpMkE/5d/jRU03J9GqYO2gmWtdHApUh4dG+MmWMpE5DEmUk1peWpgtjbsxMkH1Zs+JuhJG0Mmor6myvh5Gowl0fhCUnwGnvDg1JEiYeML9TdDFoF3bR/3bpczbISGz4/jyStqqF/z4IPCgifwHsUtUZABEZxuR87OjICHsR49tMdvHp7w+d7BaZ4fIKp5a6pzEkfYNBlE7EkEw8ULlCL8zCo9eXZ9va8igiwbkyoSxiGcnSE03IcmGuctLqFvKT5QECmeFyX0A7YeUqy0jipC0whiR3yHzvmUhBhYf/Cx69Ds75rHGYjx5rwjerIZpDkoT+paakvEUjPpKSIVkdOXfAZNMaElvuI22EVIUhqRK1Va+PJOewb6gv/PeRH8GBW+CczxlDNLy+vKlYFOP3mf9NFPY/HZW2RBqLIivLAxuZV4wkjY/km4DbWacAXJWw7+LA9q+YCf/411a+lhkujziyBiCNtCVSWbixMGMuqIn7jZRmcWCr+RPO7oeZYKKw5VHcc0WlLfuH6CU/STd9JNUYidunu5o/YWqnuT/qQnM/ekxtacuts1UN0TGVugKuT+8jKfk3VpRvr8uQHHYiyUbSRVeVDIkN/60ibfUvB6Q+RpJdGiZk1jNx3/dv5vvb/Arz3JbwT8L4NlP7LIokaQsaiyJzw/fbmRfTBqQxJFlVnbNPgsc9spTtEqYfDuojra98LRo9Yi+GNIwEwsKNFq6UsefG8PHen4WPbX/v3Fj5yt5dYc/uByTM0u4lP0lU2upk+O9MLUbiSFsQH7nlBjkAjBxjpK1qdU5TM5IYaUv6TN5L2t/QGgo3fNWeGyCfkpH018tIrI8khbTVNxhIZnUYEusfgfom7qldsOKMkCEtPSmZkeTGTZh2LCOxzvaY/3azjCSbMjKuR5DGkOwVkRfYJyJyIdBjiQgdRm48LF8RRXQl0ZAhcRiJW1PJNR57bgz/SKX+3mPl1Ubdc80dMCud0sq6hwxJV53tQVXcgZXxPpL+iCGJ85PkDgcJlcHENHqsmQSqMYaZlIzEGjdrlGwzp8E19RmS7JIYGXbQTPINMZImfCRxtbYyg+YaqCePZMBhWPZ/l6ZIeSHCgJc9xsh/cfXLJoJ6sXGMJNtORjKy4Kr/vgF4t4g8JCJ/wBRKfH17h9XjyB2ujOCwqDAkdUhbUNmQqtSBbQj2BoxEiyZP4egXmvez/b3tJBN3rtkDxqFpHa69Jm1luuRsn91rfAfS1xwjsb4pMNIWlMtb+Un4yQuMNm/P0zdQKTdFkV0aNNwKvg+7Eh9cnV7ayjtGIIr+Zel9JHUzkmj4ry1GGCNt9Q2aa6AZRqLF8HzVkI8wYJu/M35f5b42LLgeHwk0ZgjmDpnvKDO08KQtVb1fVc8FTgFOU9Unq2qVoOtFgHwVRhKN2qqXkfRHGImdLI58Nhz8ndG7x+40zsapMQygAAAgAElEQVS1TzOrKZeRJElbc9aQBA7XXmEkpe5zro+kgyVSZvbAYMDSqkZt2UZQCYzE/d5HrCFxIrf2/9qEjP/qDWbCs73aa/XeiJaSt82cBlbVx0iaNiTOZ8yOplttFyI+EjcbvLSPlbYGgvyUOpztZYykjtyN/GQ5i7AVBeLkLWtcrCTsoh0+klLJlwUmbYnIOhH5AnCVqo6LyKkiEuNlXkTIjSf/MTPDZlVULJjn+SalLesj2XghoLDvF6Gv5Ig/MlnQro+kmrQ1uAoGrCHpEXWyOAtoemkrNwG/fUfrQiNn94b5FbarpO1a4Drbs6PmFtdRcG6s/HqwTcPcyC2bg3JgqwnWiGa1JyFaSt5lJIWpdAa3FYbE/Yxpw3814iMBwzwKMVFbVtpqhpFAunEVpsoXLkuOM/JmnMN9fJv5neIUCGtA4v7bjfpISsZ64UVtXQH8ANgQPL8XeEu7BjQvkB+vIm1FdGB736yPZP0FpibQnhuNxDV8lHG4LjvFrHzzU5Ur4zJpa78xItlhM5ZeYSRJBfGKc+GE7uKRH8LdHyr3FzUDl5GUyspMGkdxcbbcQZ1UJiXKBAfXmM/gSluHbjeT/6qz4XfvCnMTaiFaSt7Kl6UFQQp5q6ohWV7bkBQLwTXvSFuN+Egg+G0TpK26DMkh6HcMSdouiaqV0lZfvzEmSYwkTtaC0EcSJ201ykj6HUaywHwka1S1FAKsqnlMCPDiRS1nO4QXQYmR1OEjiUpb0mecsqvOMkZkz42GjYgEdZkUDvzGaOnVpC0bqz+4und8JG53RItSdE9M/SMrNbgtSZvBjMNISpP24XBcbp7O4BFVpC1nohYJI7csDt0GKx4PT/i4aZM7fm/YUbMaoqXkS4wk+C3T/I7NMhJ7PbqMpJgLo7KSUEgwJHHSVj2MpJgzY4qTtmqxgMIMoJVyVFII8ERC6C9Ul7YaZSSlXJ0FJm0BkyKymqDkqIicC7ToXzxPUcvZDuHKqJGoraizfWClMSZr/8hIW9MPw9qnmteXB+Xr9wf9v+KkrWIhuEiDyWegh8qkuE2tLEr5BjErMuv8nGvBJViYM1p7lJHkxuMrvg6nZCRQnpSoRVNNYMXjYO2TTWVgqI+R5KM+kjp8Xc0akmh4c8kfUWPFHM0jgUpDYqUtyaY3JNHyKJC+vlUh5noD42scv6+cBecmTO5WEiMpGZKY/3azjGQBSltvxTShOl5Efg5cCfxNW0fVy7CSRzUfCYR/FnufpvovhM72UrjnwdAArH1qeKGv/SNzv/REY2T2/TI4PhK1lZ8M/CwanqeX6m0VEqQtiNf/rSFpBSOJ1qByJ+1cjCEZWhdfuDFuonaTEiceMJPKitPN8zP+yUyCKx5Xe4ylpMHxIDl1JvSRQLrIrdxhU44+6fw1DUmkplvJH1Fj0o/1kcQwkr7BMIE2TfivW0rEoqQE1Ji8o03ULJaeZCZum1wKYejvkhqMJDFqq15DEmUk88eQVO1HIiJ9wBDwdOAxmIZS96hqDU67gGG16lrSVpSRpOlHAubPpHmzmssMhmG7ELKQ/hWw4rHB+w3B6OaQkUSlLTClssGRttaYwoK9gGptTOOSElspbc06We0QiZAKoqmyUWlrrzHmtteI7SExEGEkI8eYXJHCTOhot4Zj9Fh44Z50bXLdtq1ufSl7TdRaEKi2jpH0RxhJTRkphbRlr3NIz0jiZMe0LMmOORPDSMDIWzZ8u1roL4QGpFU+krmIj6SYq6+dchdRlZGoahH4iKrmVfVOVb1jURsRCCWGeqWttIwkWkp+zjEkQ2tg5Zlw5HnlTZOWnRyupKLSFoRavZVDuuEjyU/HTxKlP3acj2Smcl9bd6oVtbjcrHYon7RjfSSBwusascJ04JuKMhIbubXTONoRWO5Ul007Obg+klLm88r0Ydz5STPmaoakOFu9H0eJkTgRRVB7orTSllvTLTNYWWvLGhprSGolFdr/hmsMUktbVRgJwGHHT2IXLUtjQn+hto+kOGcMQRoUc2bsFd/x/GAlaaStH4rIi4I+6R6lP1WVPBJwDEkDUVsQMSSOFvzMH8ATLy8/xvpJoDJqC0JDMuj4SOYOxkdFQRi63Erc9HL4yfMrt1drYxo1JFZqgPYwkmwNH0kcC4iTWaA8KfHQbcZhG7dyrQW3/7fbzCk7Yr6nWtJWVJaqOL8jnSWhVKvLSlvBb1WLkdg1pzg+kiRpy55XC7WTCuOumbThvyWfXOS3GF5vvms3cmtiW1A6J+G7s9dNtKqye/60hsB+x24eST3HdxlpfSRXAbMiclhExkUkReA5iMjlIrJHRGLrlovBJ0Rkm4jcJiJnOa+9SkTuC26vcrY/QURuD475RMcNXMPS1mD8/lFE+7bPHQwNABg9PyqjlHXUi5O2Aq3e9ZFoMX5Vf/g++OYo7L0p3XjTYG7MJOPt/1Wl8arHkFipQTKtMSRVGUmMIbG/gxtyG9feGMqTEg/dHvpH6oVtC5Abd5zMwWSTJimxliFJU28rSdqqufqvU9qyDKOWvFVNDm1U2hKpjNyqFvoLcOQfw/lbw4RGF/XktUB8NeN6ju8yqhqSYJI+TVX7VHVAVZep6lJVTbgqK3AFcH6V1y8ATgxulwKfDt53FfBe4InAOcB7RcQuyz8d7GuPq3b+1sMakkRneyTiqDBttqW1dy4jiUZbJWGZw0gGIs52CJ2+riGB+Eno4G+M3LDjK+nGmwa7rg1CNidNAygXcVJD9Du0sIZk+Wmtidoq1dmykTK1GEmMgztpoh7ZCIhJFh3fls6xngQbxh1tL5tGokxrSKr5SRKd7Y1IW9E8koi0BZVtFKIoGZIYH0lNv02CtAXGT3LwN+EibnxbsqMdzH961RPiX6sn0x7K62yVHb8AGImqKnB1oydX1Z8C1bj3hcCVanAzsEJE1gPPBX6kqgdU9SDwI+D84LVlqnpTMLYrgYsaHV9DSOsjyTvSVlpZC8oNSW6MsmirJFhGItny97ITY8lHEkxA1bLbJ7ab+53fTpa+6sVO5xKyWfgWVcN/o4zkPiMjjBzTIkay15zP+puyo4AYQ2Ink/4YRlJmSBIYSWbQ5P7s/j6gjTMSCEq3HA5XrSVGsrp2QmK+FYZkzBhc+xulnSStIZEq4b9RaQsaYyRpfSRx15vFiW8w18Rv/o95j+ld1RlJNdTLSOYijCQqkfc40khbN4vI2W16/6OAh5znO4Nt1bbvjNneHvzydXDji8q3lUpy1yFtpU1GhHJDYics10cSh8FVRp4ZWF7OfOwkOPWgiQax1V9LoaMxq9nJwJBM7zL1oZpFYQZ2fQ82Bvbe1gWzKCUkupNCJITaYmKb+WMPLG+Ns312TyhrgdMPxmEk7rhifSRVJuqRYwJHO80zEtdHYiN7Bld1jpH0LwuvrbhJ8vb3wb3/Vn5ctIw81I7aghSGxLLFSHa6ZNKH/8Y5yI94Gpz6Drj/83D3h822pGTEWmgVI1kI0laAZwI3icj9gR/jdhFpVavdOL1HG9heeWKRS0Vkq4hs3bs3RU/qOMwdCivrWuRSMpIyQ9IAI8lNhKvNwRqMBAwria6K7blm9pSfwzoH46Stie1Bbkq2nEk0ikd+bP74J7zeGMTo95mfNCtSt8R5IiMJpIb+FS1kJJE+5nbSzk+YycmVZaxBj2MkUb8VhJFbmRFTgqNR9C8LpK1D5lx2TGkSS1tiSCK1xOImye1fgoevKT+uOGfYXvS3jdbaqpC2GmAkdly1VvCFBGe7xeP+AVZtgdv/3jzvFiOJ8/k8dDXc9c+NjafNSGNILgCOB84Dng/8aXDfCuwEjnaebwR21di+MWZ7BVT1MlXdoqpb1q5dG7dLbQyuqoyKyad1tjsJiXUZEkcnLmniKQzJY/4PnPzW8m2usXPPUc1HMrHdhBive6a5cNP0d6iGh642k9C684ICkxFGMn4vjBxdvi2ub0V+2uTDWEaSG2t+bFM7YXhD+Tbrj3Ar/1r0Zc0ffTaFjwTCyK0Vjy0P164XWYeRuOzUJpZW+x5axkjcaMBIQqKqyQCPGv7iXDkbgSD8twXSVt9AZQh1mtyNatIWGCP95K+GxrJbjCRO2tp+ZSXr6xGkKSP/ILACYzyeD6wItrUC1wCvDKK3zgXGVHU3pkjkc0RkZeBkfw7wg+C1cRE5NwgEeCXwnRaNpRI2Ksb9o+bGg94JCU0im5W2+uOkrRSG5OiL4KQ3Rsbi/Fncft39y40MEJVFigUjgy3ZDEdfbCb5qE8jDg9cGZ/gWMybVeqGPzHf17JTys+nCvtuhjVPiow7+L7conUTD5j7pSeY8WuhuVpExbzJSRndVL496zCSqCEB81vEMZK4zHEbudWMfwQClnS40pAMrDLJq9Wc07Wk2IYYSSSiKHfYXOdxhsT1j0Aobdn/VJy0VSu7PT8Z/9ukySbPTxq23defvM+yk+BJV8Bxf5lsgGuhUUZif6c4aWt2f8/W30pTRv7NwFeBI4LbV0QkVYkUEfk6cBPwGBHZKSKvFZE3iMgbgl2uBR4AtgGfA/43gKoeAN4P/Dq4vS/YBvBXwOeDY+4HvpdmLA1hcHXlH7VanS0wNL6vv3Fpyw2BnKtD2oo910C4InSNkUh86Oj0w0bXHt0c9h9/KIW8tfWNcPdHK7fv/blx6B99sXm+7GRTq8oyrak/mOzvNedGxh3DSErJYSeGq+NmIremdhpjtGRT+XbLSHIJhmRwVaWPJDta2X0QQmmrGf8IhNJWtAdHmqTE3GHzfVZb+EimuiGZi9QS68ua68pOatO7zX2FIclVvm/ptw0c8Y1IW4XJeEYR7QUUe+xUMhtxccyfwblfqL1fEhphJP3LwusoTtqa29+zPpM06bWvBZ6oqpMAIvLPGOPwyVoHquolNV5X4I0Jr10OXB6zfSvw2NrDbgHs5Dt3oDzHIGl1Z+HWySnMxE9ISejLBCWkJyi5hGo526uhf2lQQj5ijAZXV0Zt2YitJZthZAOsPtf4SR77t8nnL8yZsU7FkNSd3zbsbf0F5rlNnBz7Pax9kmEjEGNIYpztE7ZcxQlOva1DhN0N6sTkDnMfx0gmd5j7tIwk6puyWLXFGL4jn93YGN0xWWnLlQHLgiY2xR9brTwKmEVFrTIpucNhCZHSmEbDSW06UJejJW3ipC3X/5UZLJe20uaR5CbijUFaRtJIYmi9aISRxNUOcw3J7D5jmFTTpxN0CGmEW6G8bHyBeKf3wkMpSsedOKo0tbIoMyR1SlsQVu2dO2geV6Phac4FlawmrnCjjdga3Wzuj77YtIZ1+2pEYSfVyRhDsucGEwlj5Tobpmz9JPtuNt9VdMXelzWrZNeQjG8zQQIDK0LHdjOMxI7XsgYL19nen8KQRFfrLkY2wPPvLa880Aj6l5qV+8ye8qKccddnFFH/Ruz5axmSmM/o9iRJZCRxPpJIIEVDUVtJjCSljyQuYqvVKBmCehhJjB/KHq8a/s49GBKcxpB8EfiliPy9iPw9cDPQBOebR4jLG6jW1MoiM+TkkdQpbQGlUvJuna1GYQ1JBSNZU+kjmdgOSOgkPupPzf2j1yef3343UzvL6wqpwvj95Vn3o5vNxGL9JPtuNqv2OEMZDRMdvy9MDrOTaTORW5M7AKl09GerONuhsld6rRV/K2AZ8PTuSmc71Ja2ao0vDSOJRqW5XRJnqhiSOB8JhPW2yqStlFWFk6StzHC6hMQ00lazqDd8dy7aOjiSj5Y7bGT2es7ZQaRxtn8UeA0msfAg8BpV/Xi7B9YTiOv5UK2plUVU2qrXkNhS8m4zqkZhx+o62yE+dHRiu8nItitEW6LeOrrjYFdJWigvwT27z0zIbq/rvowpQ3H490bSOPibSlnLIjNUvvIa3xaGYtpJrVlDMrwh/KwWlpEk+UgGVpXXKasmbbUKJUOg5ZPNgCttJSC1IUn4LufGzGQfXYikYiQxPhIrY5WiGh1pS/oCY9CEsz1NiZROMBKb19IoI+nLmqAA+3nc37gHHe5pnO3nAvep6idU9V+BbSLyxPYPrQcQm8lcw9kOLZS2DjTnH4FQnon1kUQi0ia3G/+IRV8/DG8MfSdxcL8bV96yxieaP7H8FJNLcvBWs2JNMiRucb/CTBD6axlJKwzJg5WyFhjDW5yF3MFkZ7sWw/fuBCMpC+NeWfm4prRVY3zZKozkQJCUuuqs8u0uI2mVtAXpSsk3I22ldbY3C5F0PhuLmUcr/6Pu53EXffORkWBqW7nxhZPBtoWPuAS0fJ0+knyD0lZ+orwXSaNIlLZWmwnT/dNObA/9IxZLNsNkNUbiXODWgQ1hpd5oCe5lJ5vz7fmJeb66GiMJJpuJBwANGUkpaquJ7PaJHZWOdggn7dn9yYwEwsk7rhdJq+Ey4DL5Y8C8VouRJDW1sqgmbe27GRDTa95FHCMpzpYvTFIZktnyfaKGJC5HJj8PnO2QzrCB8UFO74LVW8q3u/OIGxgzHxkJIEF0FVDqUdL7nVZagcyQuTijzvZU0pb9ozQgbbnO9qYNiZW2Ynwk4KwmZ83FvCTGkKRmJDvCx+OBIYkapmWnmBX99i8b/8RIQtRVZjiMArKlvS0jyY42VwG4WDAMJxr6C+Wr/yRnO4SfO81E3SySGAnU7naZb9JHsu8mWH5qgo8kmPCtjwQivUbmKv1fbmi3Fo381RdhJDaP5MAt8K2VxuiXfabJyuq9QKo+5/kOMRJIz0j23GjubdfT0vHDoY9kATCSB0TkTSLSH9zejMn9WBxw6xlpMYjmSSltFQuBTtyAtJUbb42PpCRtRXwkttvi7h+Y+8kHAa2c+Ec3GwMT1/YWzBglY/o5uNLW5AMwfBQVDb2s833sjmRZC8oZyb6bzKrVRneJGFbSaNTW9C7juEyStkqPE5ztYBYXxYK5HtrNSFxDEGdIknqS1OqO6J4/zpCUEkZjfid3kpzaFWbul9XRylVnJLYWlyttZRxG8uC/m8WCW9odakhbtXwkk53xkZTG40z6WoQfPNF8Lhd7f2auu2jiapK0NU8ZyRuAJwMPY0qUPBFTxn1xwK2wahMTaxkSmxhlL+pGnO0ze8yKrlWMxJVEwOQFLDs5rKfl5pC4sM/jwnshlN9GN1cykrj6Um7vhiRZC8oNyZ4bYfXZ5Qa5f3njjCQphwTKf9tq0tbcfqcSdAcZSX/kd6zWk6Q4aybrNIakMFXZzW98mzFScb9TdtQck58038NwULmoEGUkSYZkNmQvUUZiDcmuINfY/Z2LOXPeJGd7MRcaqDgUpjonbUUZSW7M9OS5L+IZ2HsjrH1yZVKrK23NzXNGoqp7VPWlqnqEqq5T1Zep6p5ODK4n4NbbqtWLxMJeAPV2R7TILglXHc0624//SzjnsvjWrhsvNr6K2f1hDknUkFiGkiRvze0339HopnIJYuL++Bal2dGQCdRkJNPmT3NgayXtH2iTIanJSBwfSVIJ+VYjW0Pamnkk3pdQq86WRam5VaRL4v6EhFEIne1WGrXXTVmvkZjwX2s0ijOh0YnzkUztNKwVyplnUsFGSFd6vZPSVpSR2AXp3htNwVAw/72xOyuvb4j4SFxDkqKvfYfRRCW5RYKBGEOSNvy3xEgakLbc928Gyx4DJ7wu/rWjLzZhuw//l3Fo9w1UFjEsMZIEQ1JiJMcav0OxYHTd6V3lob9lYzrZaOcrz0wet43a2v8rI0NZKc6iKUZikxGPqXytpo/ECcBI6o7YavQnONsBjniG+Tw7Y0rO1WtIovLWvpvNtb4sJqHSOtujhqSiRHw1aSswJHFRW7u+73yOlIaklLuRYEiKBfOenZK2oozEziNaNB1DwZQRgsrrO3r87D6nFtk8ZCSLHgOrHGmrRgl5C5uQ2Ki0FdfetR1YtcXkjey8OojY2lRZpXZ4vVlFJjKSA0b+W7LJTPjTuxx2k1A6/YTXw2l/W+k/cWGlrT03AgJrn1L+en8TPUkmd8DQkfEGvpa01ddvJt65A+kn6mbR12/GKpnKMR3/WuMM/+3bymUlaI0hWX1OfB2x7EgQlh10vByNMyS1fCS2FW+MIdn9vbDLZFpDUqu5VamEfJcZCRLWsNv7M/P7rj4n5vgII7HJs/NJ2gqc6ojIU5L2WRSw7Uyt4xLqYCTBn6rahBmH/hYykmoQMQ2ndv/A0OuorAXGsCzZlJyUaAMCrEw0uSOM2EpiJEdfDI97b/Wx2ci3vTcaJ3t0Jd4MI0kK/YXa0haEfolOSVt2XAMrKmss9WXhzI8aKfHeSPm7ZgxJfgoO/a5KwmgwadvQ8CRGUq3WVpK0lRszfWzWXxAYbWfBENdmNzqmpIm2dGy3GElQrHT9c+CRHxmFY8+NJrQ6bo6I+kisIZlnjOQ1wX3N4owLGgOrwn7j9fhINB8ymL5mpK0mfSS1sPFi86c+fHdlxJbFaJUQYFfaAiOzTNQwJGmQGTLBDftuiqf9Aysaj9qa3BEf+gu1GQmEcmenGIkdV3/CtbDhubDheXDH+02QhkUzhuTALUb2TDIkdjIe3xYkrgaNSisMSUL4b1Vpa8KMZcMFlQuGqtJWjfpWdnu3orastHXcX5rP/tDVxv93RIx/BCLS1n4jO0vf/GIkwN0isgNTAv4259bKDom9Dze7PbW0FVzQdgVSLyNppY+kFo54WvgecYzEbo/zkRTmzHcysCrsvTG5w7CX/mWVZVnqQWYIZveaSSXOEdm/3ORI1NvcSoumfH1c6C8YmUWCwIQkCWRwVbmzvd3hvxAykiSc+REzyd72d+G2ZgyJrcy8OqGIhZ2MJ+6HofXxFZurSVvFWXP9QETaCq59ycKRz6oMqohrs1s61kpbCT6SWk2tWo0kH8lRzzd5XLe/N97/Vzo+Im0Nri5PBO0hJBqSoAT8uZi+H893bq3skNj7cBPQ6nG2Q2hIGvWR9PW3/6Lvy5oLG5INyehm81miDMB+vsFVxlgOHRkYkiD0t5lS167/Im7FNrA8zOupB9O7g54rm+JfFwkXCr3ESJafajotJr5+slnpPvDFMPy1GUOy/2ZTJHMoobtoiZHcb/xoGScayyJW2sqaVXUZI4lIW2Am1/5llflCqZztwUQ79vv4aKdOMxK72Jk9YK6p7DBsvDAsHBr1/5WODwxJftqcZ3BNeWmaHkJVZ7uqPqKqjwd2A0uD264WdkjsfZRKYux3/pgp8kjAMST1Sluj4Xt3ou/AppeZP3dSJ7+kyK1SB8eAeYweG0pbzchaEH5no5th5KjK1xstk1It9NfCLhTiorYg9JvlxowDvBMT01O+Bud+sfo+a59iJm/rz2rUkKgaSbFaeLa9RqcfDgxJpPQJxBsSCCPykvJIADacH4ytDmkr60hbUzvh+08Ie6/b7UnHtgPZkSB7P2BeOafD5cag2duKxybL17YIpS2PMh8ZiYWIPB24D/gU8G/AvSLytHYPrGdQah4USFuSqc0w7Os2SqNRRtJuWcti/XPghXsqmxdZLEnIJYl2cBzdZCaxie0tMCTBd5ZE++MKN86l6OOe1Iek7NxLAUn+3WwF4LlDZhLulSZD0X4vucOG1boTdRzs9WYNyfTDhrklyVpQbjyrGpIqLQLipK2h9WZRY1ly1JAU0jjbp+HWd4UGxaIbznZwstOd2nlHPss8XvesKscH159tHDawen4ykgAfBZ6jqk9X1acBzwU+1t5h9RDcIn22zlatiaMkbTVoSEplTdrsaHdRzZ+RlJRoZYOSj2WTMSTFueTQ37SwE1OSIzJqSGb2wNXr4/MpXJQYSRVDkl0a1PNK+HsMBBWApx7qTMRWWpTKzwT9Xmx5lFrXq/SZz2wNyf6t5n712cnHuJPx0PryaCww348W4hlJZshIYHHS1lF/As/fZqQ8CIIq4qK2qvhI9twAO75iHrvFDjvtI4l2SXRLHmWG4Hm/g8d/IPl4O29MPWTuLSOZpwmJ/ap6j32iqvcCqVr2icj5InKPiGwTkXfGvH6siFwXOPFvEJGNwfZnisitzm1GRC4KXrtCRLY7r52R7qM2CDcBLU1TKwgnwYalrQ4zkloYWGkmpGgIcAUjcSbnuKz2emDlliMSyK91PFv9/OCtRgaYqtLNEUzo79AR1Vel/Qltdi3s553Y3luGZGC5YQcuI0lbUNKtt3Xg18bZnSR1QjIjKTWsCvw0SYakLPzXYSTSV+6rs4zEMs3cROX7R8d0/xdgaB2sf27EkHTYRxL12UQb1Y1srH4d2tcsqxpcnb6icIeRporvVhH5AvDl4PlfALfUOkhEMhg57NmYGl2/FpFrVPUuZ7cPA1eq6pdE5Dzgg8ArVPV64IzgPKswDv8fOse9XVW/lWLszSM7bFYG1tmeypA0yUiS2uN2CyJBLa0oI4n6SDaFrzUrbR37UnO+JLktykjGgsuqVtG+yQer+0fAGM5qkVj2805uh5VnJe/XDSw7JexAmabyr4VrSPZvNdp9tWjDbA1pq5RsmGRIZsN9os3FXAwsN8zG9hEpTJrj45IkS/8zNSv9/VtNGLNFyUfSQWe7+771VvOuYCRrTFFL1zj2CNIwkr8C7gTeBLwZuAtTyLEWzgG2qeoDqjoHfAO4MLLPqcB1wePrY14HeDHwPVXtnhm2pbpzh2tHbEHzPpK+AaMt9wojgfhy8rbyr52s7AQt2coWtvUiO2p05CSUuiQGssfYneY+qTyGxcS26rIWwOP+Hs75fPLr1sDnJ3uLkYCRtw7/Pn3lXwtrSFRNbsOqLdX3jzKSaOfDkiGJES/6BiPO9hhjUxqXDaoIFgxJlX8hyP7vg5VnwOZXm4iz2f2mNAp0J/zXvq/tuV6PXB01JAO9y0jSFG2cVdWPquoLVfViVf2Yqs7WOg44CnjIeb4z2Obid8CLgscXA0tFJCrWvxT4emTbBwI57GMiUsOT2AKUwj1TNLWC8ALIHTQTbVzBxGoQgXOvgBP/d91DbRuWHGf8C64ze3a/+WNYDU91hCMAACAASURBVN7Wrho9tv7PXC+iE4w1JNUYyaE7jDwXl5fiYvkpcESCkx/KDXwnQn/rwbJTjEGY3t2YIZncYa71WoakjJFsMAyhr98xJDWkrWKCtFUxrgjzTGqzC+Y6POcyePLXzHgG1wAaSswlaavOhV2jcBlJYdoYznpUBlfayi4xvqR6ui52EO2stRXn4YuG1LwNeLqI/BZ4OqZUfamWtYisBx4H/MA55l3AycDZwCrgHbFvLnKpiGwVka179+5t+EMAYb2t1D4Sh5E0etFuehksO7GxY9uB0c3mzzDzaLgtqvlmR2FwbfOyVhpkhg3zsfp5yZBU+ZPt+Kox7Me+pLn3dj9zJ5IR68FyJ3KrXkOSP2zYCFR264vCrralz/zmUN4euaa0NZNO2oo1JFUYxfGvNQsBCJu3WSmoMBVcNx0qMegyklKofIPSlg2Gma+MpAnsBFx9YyOwy91BVXcFTOdM4G+DbW7W258DV6tqzjlmtxrMAl/ESGgVUNXLVHWLqm5ZuzYhqSotBh1GkkbacvNIOrX6aTfiQoCjhgRMMcaTOsCkRIzDPTdmwlWtvp/ESLQIO74GRz7bONubgStP9CIjAeMnaYSR7N9qJv/lVZIfwayOJWuc2tZfYZkG1JC2onkkVaStUlBFIGHmJ4jtjhiHqCHpZJtdKGcklhXVZUiC46d3h365+chIRCQjIv/S4Ll/DZwoIptFZAAjUV0TOf8akdLy4F3A5ZFzXEJE1gpYCiIiwEXAHQ2OLz3cTOZ6GInm64/Y6lWUDIkTuTV7oDJs+OQ3m6zdTsBmPY858RtJPpK9PzcRXZv+ovn3tb3S7Rh6CcMbzNgaYSS5gJGsOL06S7DIjpjQX4tMnYwkrmhjxbjqZCQuLFMqYyQdNCQuIykFptThI7ELUi2ERjGaLd8jqJXZXgCeEEzadUFV88BfY2Spu4FvquqdIvI+EXlBsNszgHtE5F5gHVAKqhaRTRhG85PIqb8qIrcDtwNrgH+sd2x1wzrb83X6SKKP5zNGNxtJwIaWgsnu7mZAQP9y42y3stbQkcmMZMdXzR9740WteW+rdfcaIxExDvdDt5vvoi5DMm6inGr5RywyI8bRXno+VIePZDZMWKwmNQ00Y0gsIwmk7U42tYIII4mEyqeBO3e40pYWQkPdI0jjEf0t8B0RuQooZcKo6n/WOlBVrwWujWz7O+fxt4DYMF5V3UGlcx5VPS/FmFuLgVXhD5cqasthIQvFkGSHzQR18NZw22wLeso3A1vQb+xOs/ocPSbekBTm4A9XGSOSVPak7vdeZUKJe42RQNBCOfh71mNIUPN91vKPWKx7RnkfDRuNBSl9JLPV2QgkRG2l/A3t5OtKW91iJA35SJyxDq4u31aYSscaO4Q0hmQVsB9wJ3AFahqSBYOyKJ0UhkT6zB+kOLdwpC0wHQ0fvcE8LubCyr/dQv9yU8b80J2w/DRA4x2Ru79v/sitkLUs7OfuRUOy/BTYEaz56jIkAdIykqdEgiljpa0q4b+F2XTlW6SvMUaSHTETryttdZKRuGXt5wJRp57/i5vHM+AwEjDGqZOVL2qgpiFR1dfU2mfBw111p2EkYC6i4tzCYSRgDMmOrwb9pgONttuGJHco8H28whSLdKu9Wuz4qpE51j+7de/dq9IWhKVSIP34bAZ8ZigsT1IvYp3tNaK2aq2qRcrrbeUn6jMGQ2vLGUknJ9++jDGU+SljNCVb39jjpC0baNBjDvc0RRtPCsqY3BE8P11E3tP+ofUQBhyHcto/pr0IFpQhCarRHLw1dB4203OkWQysMK1ec4dhxWmBIzJG2tr9fVNtNW513PB7B5+718J/obzHer2MZMUZjX9PdflIrLSVQp5x2yrXw0jALCBmuuQjgdA5buts1eNu7huklEXhOtuh50KA04T/fg4TUZUDUNXbMBFYiweDdUpb4BiShSRtOYZkLlKwsRvoX06JGS07tbwRkIUWjaEZ3tDa9+5lRrL0eKc5V52GJK1/JA59Q2EkVi1GUsyZ36qWjwRCRlKYM5GQaX0kYCbgbvlIIAzXjQuVrwVxKlBHfSQuI1ENv/cuIY0hGVHVX0W25WP3XKgYaEDayi5ARjK42pQ+Ofhbh5F025AEWH5aYEgiKzVrWFqdPzC8wSQ39lIZG4u+flh6gnmc1tDZ3JpqpeNrIW0eiV1c5cbTOYxtUEWphHydjKTMR9JhQ1JiJHXW2SodHzEkcYzk/s/DdzZBsXvTchpDsk9EjidY+onIizGNrhYP6nW2Q2hA6m2z2+tYeWbASBqIQmk1rKw0dAQMrTHfeTSPpFrZ8WZw3Gvg2T+r3v62m7B+krSGZNlJ8Kzr4dhLGn9PV9oqVGEktuR8bqwOaWussd9y0PWRTKVPZmwVSs2pGmAk9niId7ZbjN0FM4+U917pMNIYkjcCnwVOFpGHgbeQrmjjwkF2OFxF1esj6VtA0hYYeWv8nvLS1t2CZSTLTzP3cdJWuwr1ZUeqdxDsNqzDvB7pbd0z4qvqpoVrSLSajyQwHrmx+qQtW0K+XkaSHw+ixDqc2Q5hI6q5Ogs2WiRJWy4jsQEm0ercHUSaqK0HgD8WkVGgT1XH2z+sHsTAalOKwzMS43fYc4MJy+ymjyBqSLIjxoGrxTDJrV2MpNdx4huN36hVeTNpUE9mOxiWMbSu9nltKZxGpS0wXQa12PnrIBNxttd9/LD5Dq1fqMRInOZW1l85sR3WPbO58TaINFFbq0XkE8CNwA0i8q8xFXoXPuxFkNbRtxCjtgBWnWnu9/4sqPzboQJ4cbCykstIoJyVdLqZUa9gZANsbmHeTBqkziOx0tbh9NJWGSOp09kOYYvlTl8H2RHzOXOHG/SRjBg2YqO94pzt1l8ZbTzXQaSZBb4B7MWUe39x8Pjf2zmonsTAqurtV6Owq66FFLUFMHKMMSCFme47mlecDif9DRz9QvPcGhLXT9LIKtajMfQFznbV2uG/YCSntNKWFsPK0/XmkQBMBp0zOy1tZUacnusNMhI3/SDO2e4yki4hVWa7qr7fef6Ptu3tosLAqvpknIXKSESMn+TR67tvSDKDsOUTzvM4RtLhZkaLGZmhoFd7Pp20BemjtiCckBuRtiwj6UYeifVhNOIj2fxKk4RpUVoszTMfCXC9iLwU+Gbw/MXAf7dvSD2KjRfV14d8oRoSMElrj17fXUd7HEqrNS9tdQVuu9004b+QXtqC1hiSbuSRlMbSwMLruFeVP5e+8jB3LYYl6nuRkYjIOCbkV4C3Al8JXuoDJoD3tn10vYTjXlnf/gsxIdHC+km6zUiiqOYj8Yyk/XDb7RZq1NoqPU4pbUFoSOoJ4bXX6JSVtrrASKJjacU5LSOZOwSoCXOeecTIul0I8EkU/FV1qaouC+77VDUb3PpUtQfTeXsMCzEh0cJmuPeqIXFpf8FLWx2Dy0g0Z7Lr43yKdUtbQVDF1MPmvp5ItL5sWKkZuuMjsWjV/8VGgkEoa616grmf3NGa96gTqRpri8jpwCZ3/zRl5Bc1FrK0texkGD7K1LfqJXhG0l1YA1HqNZLANhqWtgJDUu9/anBNd30kFq0qGFnGSKwh2WJqyk1sD1sNdxA1DYmIXA6cDtwJFIPNi6uMfCNYyNJWXz9c+GBzyWvtQNXw3wX4O/QaXEZSmEsu/lhmSOqUtjIj9YecD66B8XuD9+4mI2lRFYTMSHhd29BfWyOtSw73NIzkXFVtsK70IsZCZiTQe0YEkp3tjUw+HvUj6mxPw0jqidrKT4btc+uBdbhDdzLbwRjDvlQCULpzFiKMxBYt7ZLDPc2/6yYR8YakXpTySBaoIelFJPlIvKzVGUR9JK2StjIjpkAmNPZbDjnGpxuZ7dBaf2LGkbasj2RwNYxu6lpSYhpD8iWMMblHRG4TkdtF5LY0JxeR84PjtonIO2NePzbodXKbiNwgIhud1woicmtwu8bZvllEfiki94nIv4tICm7cBVga24sd9BYqkqStTq9CFytsxnrRSlsJf816o7ZEwv9TPVntFi4j6UZmO7S2SnYZIzlg2PbACliyuWvSVhpDcjnwCuB84PnAnwb3VSEiGeBTwAXAqcAlMczmw8CVqno68D7gg85r06p6RnB7gbP9n4GPqeqJwEHgtSk+Q+dx1PPhGd+DZSd2eySLB9kkQ+IZSUdQIW0l+EhcQ5K277hdkDXyW1pDIpl0hquVsIaklZ0ZM6PljMSWKhrd3NPS1h9U9RpV3a6qD9pbiuPOAbap6gOqOocptXJhZJ9TgeuCx9fHvF4GERFM7/hvBZu+BPRmln1fP2w4v9ujWFzIxPlIulA6fLEirY+kLxMamTTSFrTGkGRG6utQ2Aq0Q9rKRsJ/7bmXbDY1yWyCYgeRxpD8XkS+JiKXiMgL7S3FcUcBDznPdwbbXPwOU8ML4GJgqVMQckhEtorIzU5JltXAIVW1HVzizumxWNE3AEjER+IZScdQZkiq+EgglMHSMoSmDEngI+mGxJlts49k7kBYi2vJZnPfBVaSJoxgGJgFnuNsSxP+G2f6NfL8bcD/JyKvBn4KPEzYffEYVd0lIscB/yMitwOHU5zTvLnIpcClAMccc0yNoXosCNjWpFFpK02pco/mkZaR2H3zKTskQhi51YyPpBsLikybfSSz+2F4vXm85DhzP7EdVp3VuvdLM6RaO6jqaxo8907gaOf5RmBX5Ny7gBcCiMgS4EWqOua8hqo+ICI3AGcC/wGsEJFswEoqzumc+zLgMoAtW7bEGhuPBYhsjCHxjKQz6EvpI4HQ6HRa2uo02uIjGTHfbzFvwn9tG4XRgJF0weGeJiHxi8Ss+lX1L2sc+mvgRBHZjGEaLwVeFjn3GuCAqhaBd2Ec+4jISmBKVWeDfZ4CfEhVVUSuxxSO/AbwKuA7tT6DxyKCbW1qkffhvx2DZRfFwJBUC323BiS1s91GbTVhSLpxHQwdCce+FI58duvO6ZaSn90fFk8dWG4MVo9KW//lPB7C+DJiWYALVc2LyF8DPwAywOWqeqeIvA/YqqrXAM8APigiipG23hgcfgrwWREpYvw4/6SqdwWvvQP4hoj8I/Bb4AspPoPHYkFU2ipM+sq/nULUR1It9D1Tp49koAlG0r/MsKNu+Ej6svCUr7f2nPZzzB0yJebdKtxditxKI239h/tcRL4O/DjNyVX1WuDayLa/cx5/izACy93nF8DjEs75ACYizMOjEpnhcme7l7Y6B1uksTDbW9KWiGElCyV6zy6Mpnaae9eRv2QzjN3R8SE1UjfiRMB7rz16Ey4jKRbM6tgbks5AJOySmMbZDg3kkTTYg37V2bDisY0d22uwjGQqCIp1GcmSzTCxw/Qp6eSQau0Q6UuiwCMYecnDo/fgOtvtvTcknYPt257WkHRC2gJ4+gJypVpmZRlJmSE5wVRfnvwDLNnUsSGlkbaWdmIgHh4tQWYEco+Yx747YudRMiQ5yKTJI6mTkSwUeaoZRBmJK22tDlT//b/sLUMCICJHAce6+6vqT9s1KA+PhuH6SAq+F0nH4TISSeEjSSttDQd5x8NHNje+hYBMFWlrxePMf2DfzXDsSzo2pDTS1j8DLwHuAgrBZhtl5eHRW3B9JHnfHbHjSC1tBQYkrbS14jR43m2wfIH4OZpBNupsdwxJXxZWn20MSSeHlGKfi4DHqOpsuwfj4dE0XB+Jl7Y6j76hdCVS6o3aArPa9iiXtvr6KxdKq8+Fez5uoufSMr4mkSZq6wGgCkf18OghuAmJvs1u55FxorbS+Eg6NNEtKNiF0fQjho1EC1GuOdd8/wdv7diQ0jCSKeBWEbkOU3MLAFV9U9tG5eHRKFwfiTcknUdmyBjytD6STpd1XwgoJVZquX/EYvUTzf2+m2DNEzszpBT7XBPcPDx6H5lh0LypQ1TwPpKOIzNkKtKirZe2PAzc0jNxVYVHNsDIMR31k6QJ//1SJwbi4dESuM2tSozE+0g6hswQ5MaDx1UMyTF/Zvbty3RmXAsJff3mVszFMxIw8tb+zhmSRjLbPTx6F5kYQ+JzDzqHvkFTHh6qM5KVj4fHvqczY1qIsNd0NUMy+SBM7+7IcLwh8VhYcLskemmr88gMQS5oG1TNR+LRHGo1zFp9rrnf98uODCe1IRER/2/06H1YRpKfChiJhHq8R/th80igurTl0RxKDbMSGMmqM4381SF5q6YhEZEni8hdwN3B88eLyL+1fWQeHo0g6iPJdqFP92JGn2O0fURW+1BiJAmGJDMEK8/smMM9DSP5GPBcYD+Aqv4OeFo7B+Xh0TCiPhIva3UWLvvz0lb7kKaF7+pzYf+vTQRjm5FK2lLVhyKbCrE7enh0G66PJD/lHe2dhmtIvLTVPtRiJGAc7oWpjvQnSZNH8pCIPBlQERkA3kQgc3l49Byyjo+kMOlDfzuNjJe2OoJaPhKADReY+mTLTm37cNIYkjcA/wocBewEfkjYEtfDo7fgpa3uwhuSzqBW1BbAwApz6wBqSluquk9V/0JV16nqEar6clXdn+bkInK+iNwjIttE5J0xrx8rIteJyG0icoOIbAy2nyEiN4nIncFrL3GOuUJEtovIrcHtjHo+sMcCR5khmfKGpNMoMyTeR9I2ZFP4SDqINGXkPxGzeQzYqqqJbcdEJAN8Cng2hsn8WkSuUdW7nN0+DFypql8SkfOADwKvwNT3eqWq3iciG4BbROQHqnooOO7tQb93D49yRBnJ8IbujmexwUdtdQbZZZBd2jOh7Wmc7UPAGcB9we10YBXwWhH5eJXjzgG2qeoDqjoHfAO4MLLPqcB1wePr7euqeq+q3hc83gXsAdam+kQeixt2peZ9JN2Bl7Y6g5PfAk+9qtujKCGNITkBOE9VP6mqnwT+GDgFuBh4TpXjjgLcaK+dwTYXvwNeFDy+GFgqImXeIxE5BxgA7nc2fyCQvD4mIr7qm0cI7yPpLrwh6QyWbIYNz+32KEpIY0iOAtx/4yiwQVULOGXlYxCXBaaR528Dni4ivwWeDjwMlIKeRWQ98GXgNapaDDa/CzgZOBvDjN4R++Yil4rIVhHZunfv3irD9FhQ6OsHyXgfSbfgVvP1PpJFgzRRWx/C9CO5AWMcngb8v6Bkyo+rHLcTONp5vhHY5e4QyFYvBBCRJcCLVHUseL4M+G/gPap6s3OMrUI2KyJfxBijCqjqZcBlAFu2bIkaMI+FjMww5ANG4rsjdhaekSxKpCkj/wURuRbj8xDg3YEBAHh7lUN/DZwoIpsxTOOlwMvcHURkDXAgYBvvAi4Ptg8AV2Mc8VdFjlmvqrtFRDBtgNufbeMxv5AdgfwEFGc9I+k0vCFZlEhbtHEG2A0cAE4QkZolUlQ1D/w18ANMAuM3VfVOEXmfiLwg2O0ZwD0ici+wDvhAsP3PMczn1TFhvl8VkduB24E1wD+m/AweiwWZYZjdZx57Q9JZeEOyKJEm/Pd/AW/GSFO3AucCNwHn1TpWVa8Fro1s+zvn8beAijBeVf0K8JWEc9Z8X49FjswwzAWpTt6QdBY+j2RRIg0jeTPGsf2gqj4TOBPw3muP3oXLSLyPpLPwjGRRIo0hmVHVGQARGVTV3wOPae+wPDyaQGYYZoK1jmcknYVPSFyUSBO1tVNEVgDfBn4kIgeJRF95ePQUsiNe2uoWvLS1KJEmauvi4OHfi8j1wHLg+20dlYdHM8gMg0078pntnUVZP5I061SPhYCqv7SI9AG3qepjAVT1Jx0ZlYdHM7DZ7eAZSadh5ay+Ad+ZchGhqo8kyO/4nYgc06HxeHg0D9eQ+MZWnYWIYSXeP7KokIZ7rgfuFJFfAZN2o6q+IPkQD48uwpWzPCPpPPqGPBtZZEhjSP6h7aPw8GglyqQt7yPpODJDVJbV81jISONs/4mIHAucqKo/FpERINP+oXl4NAjvI+kuMoNhsIPHokDNPBIReR0m+/yzwaajMKHAHh69CWtIpK+8Gq1HZ+B9JIsOaRIS3wg8BTgMEDScOqKdg/LwaApWzsqMeK2+G+gb8jkkiwxpfCSzqjonwR9SRLJ4AdSjl2EZiZe1ugPvI1l0SMNIfiIi7waGReTZwFXAd9s7LA+PJuANSXfhpa1FhzSG5J2YIo23A6/HVPN9TzsH5eHRFLwh6S5WngUrz+z2KDw6iDTS1oWYBlOfa/dgPDxaAmtIfOXf7uAJH+32CDw6jDSM5AXAvSLyZRH5k8BH4uHRu7DOds9IPDw6gpqGRFVfA5yA8Y28DLhfRD7f7oF5eDQML215eHQUqdiFquZE5HuYUIxhjNz1v9o5MA+PhuGlLQ+PjiJNQuL5InIFsA14MfB5TP2tmgiOvUdEtonIO2NeP1ZErhOR20TkBhHZ6Lz2KhG5L7i9ytn+BBG5PTjnJ0R8ooBHBJ6ReHh0FGl8JK/GZLKfpKqvUtVrVTVf6yARyQCfAi4ATgUuEZFTI7t9GOPIPx14H/DB4NhVwHuBJwLnAO8VkZXBMZ8GLgVODG7np/gMHosJ3kfi4dFRpPGRvFRVv62qswAi8hQR+VSKc58DbFPVB1R1DvgGRhJzcSpwXfD4euf15wI/UtUDqnoQ+BFwvoisB5ap6k2qqsCVwEUpxuKxmOAZiYdHR5GGkSAiZ4jIh0Rkx//f3t0Hyz3dcRx/f0SCkAgSGfIgYYJiPPW2DZL2CpNBKUEm0nQ8DFVaD73TTCtFG0qHUa2ioyjCDColIdUhlAQz2khEQkRCRFqXkJR6Lhr59o/z3bk/t7t399q72dzffl8zO3d/Z3+/s9+zZ+9+9/ew5wCXAMsq2GwQ8GpmudXLshYDx/n9cUAfSdt1sO0gv99RnaHRxTmSEDaokifbJe0KnABMBN4C7gJkZgdXWHexcxftx02YDFwr6WTgceA1YF0H21ZSZ3py6XTSITCGDo15uRpKz61gn1/CkOPKrxtCqFpHeyTLgEOAo8xslJldA3zWibpbgSGZ5cHA69kVzOx1MzvWzPYDzveydzvYttXvl6wzU/cNZtZkZk0DBgzoRNghF/acAn13rXcUITSEjhLJccAbwBxJN0o6hOJ7BKXMB0ZIGi6pF2nvZlZ2BUn9fV54gCnAzX5/NjBW0jZ+kn0sMNvMVgPvSxrpV2udCNzXiZhCCCF0sZKJxMxmmtkEYHdgLtACDJR0naSx5Sr2K7vOIiWFF4DpZva8pIslFabpbQaWS3oRGAhc6tu+DfyClIzmAxd7GcCZpEuQVwAvAw90qsUhhBC6lNLFTxWunC7LHQ9MMLMxNYuqizU1NdmCBQvqHUYIIXQrkp42s6Zy61V01VaBX457fXdKIiGEEGqrU4kkhBBCaC8SSQghhKpEIgkhhFCVSCQhhBCq0qmrtrorSWuBf3Rik/7Av2oUzsaqEdsMjdnuRmwzNGa7q23zTmZW9hfdDZFIOkvSgkouecuTRmwzNGa7G7HN0Jjt3lBtjkNbIYQQqhKJJIQQQlUikRR3Q70DqINGbDM0Zrsbsc3QmO3eIG2OcyQhhBCqEnskIYQQqhKJJEPSYZKWS1oh6bx6x1MrkoZImiPpBUnPSzrXy7eV9LCkl/zvNvWOtatJ6iHpGUn3+/JwSfO8zXf5lAe5IqmfpLslLfM+PyDvfS2pxd/bSyTdKWnzPPa1pJslrZG0JFNWtG+VXO2fb89K2r+r4ohE4iT1AH4HHE6aS36ipD3qG1XNrAN+ZGZfAkYCP/C2ngc8YmYjgEd8OW/OJU1rUHA58Btv87+BU+sSVW39FnjQzHYH9iG1P7d9LWkQcA7QZGZ7AT1I8yHlsa+nAYe1KyvVt4cDI/x2OnBdVwURiaTNV4EVZrbSzD4F/ggcXeeYasLMVpvZQr//PumDZRCpvbf6arcCx9QnwtqQNBj4Jmk+G3xytDHA3b5KHtvcF/g6cBOAmX1qZu+Q874mTSO+haRNgd7AanLY12b2OPB2u+JSfXs0cJslfwf6SdqhK+KIRNJmEPBqZrnVy3JN0jBgP2AeMNBnocT/bl+/yGriKuDHwHpf3g54xydhg3z2+c7AWuAWP6T3B0lbkuO+NrPXgF8B/yQlkHeBp8l/XxeU6tuafcZFImlTbBrhXF/SJmkr4B7gh2b2Xr3jqSVJRwJrzOzpbHGRVfPW55sC+wPXmdl+wIfk6DBWMX5O4GhgOLAjsCXpsE57eevrcmr2fo9E0qYVGJJZHgy8XqdYak5ST1ISud3MZnjxm4VdXf+7pl7x1cBBwLckrSIdthxD2kPp54c/IJ993gq0mtk8X76blFjy3NeHAq+Y2Voz+y8wAziQ/Pd1Qam+rdlnXCSSNvOBEX5lRy/SyblZdY6pJvzcwE3AC2b268xDs4CT/P5JwH0bOrZaMbMpZjbYzIaR+vZRM5sEzAGO99Vy1WYAM3sDeFXSbl50CLCUHPc16ZDWSEm9/b1eaHOu+zqjVN/OAk70q7dGAu8WDoFVK36QmCHpCNK31B7AzWZ2aZ1DqglJo4AngOdoO1/wU9J5kunAUNI/43gza38ir9uT1AxMNrMjJe1M2kPZFngG+I6ZfVLP+LqapH1JFxj0AlYCp5C+ROa2ryVdBEwgXaH4DHAa6XxArvpa0p1AM2mU3zeBnwP3UqRvPaleS7rK6yPgFDNb0CVxRCIJIYRQjTi0FUIIoSqRSEIIIVQlEkkIIYSqRCIJIYRQlUgkIYQQqhKJJHQLkkzSlZnlyZKmdlHd0yQdX37Nqp9nvI++O6fE4y2SPpa0daZsX78svbDcLOnALoxpqqTJX3DbYZK+3VWxhO4rEknoLj4BjpXUv96BZPmo0ZU6Ffi+mR1c4vGJpB/GjsuU7QsckVluJv1Ke2MwDIhEEiKRhG5jHWna0Jb2D7Tfo5D0gf9tlvSYpOmSXpR0maRJkp6S9JykXTLVHCrpCV/vSN++h6QrJM33+Ru+l6l3jqQ7SD/qbB/PRK9/iaTLvexnwCjg95KuKLLNLsBWpg2c2wAAA4dJREFUwAWkhIKPsHAxMEHSIkk/Ac4AWnx5tKQBku7xGOdLOsi3nao0V8VcSSslnZN5rvOV5t35K7Bbpvy7Xsdir7N35vW9WtKTXlfhtb4MGO2xtEja01/bRf56jeioQ0OOmFnc4rbR34APgL7AKmBrYDIw1R+bBhyfXdf/NgPvADsAmwGvARf5Y+cCV2W2f5D0xWoEaUyizUlzNlzg62wGLCANBNhMGvxweJE4dyT9mngAacDER4Fj/LG5pDkyirXvAuBCj2EVsL2Xnwxcm1lvKulX+YXlO4BRfn8oadibwnpPetz9gbeAnsCXScmvt7+eKwr1Adtl6r0EODvz+vzJY9uDNN1C4fW9P7PNNcAkv98L2KLe75u4bZhbYQCzEDZ6ZvaepNtIkxb9p8LN5puPJyTpZeAhL38OyB5imm5m64GXJK0EdgfGAntnvoFvTUo0nwJPmdkrRZ7vK8BcM1vrz3k7aT6Qe8vEeQIwzszWS5oBjCdNtFbOocAeafQLAPpK6uP3/2JpCJBPJK0BBgKjgZlm9pHHlx1Pbi9JlwD9SHtHszOP3euvz1JJA0vE8jfgfKV5X2aY2UsVxB9yIBJJ6G6uAhYCt2TK1uGHaX08oewUqtmxlNZnltfz+fd/+7GCjDTs9tlmlv1ALYzV9WGJ+IoN1d0hSXuTEtTDnhAKY2JVkkg2AQ4ws88lVq8n2/bPaGtvqXGRppH2nhZLOpm0x1GQratoG83sDknzSJOHzZZ0mpk9WkEbQjcX50hCt2JpYMHpfH6a1FWkQzaQ5qHo+QWqHi9pEz9XsTOwnPSN/EylIfeRtKvSpFAdmQd8Q1J/PxE/EXiszDYTSYfphvltR2CQpJ2A94E+mXXbLz8EnFVY8AEaO/I4ME7SFr7nclTmsT7Aam/vpDL1/F8sPgDmSjO7mjTS7N4V1BFyIBJJ6I6uJB33L7iR9OH9FPA1Su8tdGQ56QP/AeAMM/uYNGLuUmChpCXA9ZTZi/fDaFNIQ5YvBhaaWbnhyk8AZrYrm+nlc0iHrhZJmgD8mZQIFkkajc9N7ie3l5JOxncU30LgLmARaT6aJzIPX0hKhA8Dy8rEDPAssM5PzreQRttdImkR6dDgbRXUEXIgRv8NIYRQldgjCSGEUJVIJCGEEKoSiSSEEEJVIpGEEEKoSiSSEEIIVYlEEkIIoSqRSEIIIVQlEkkIIYSq/A+CNuu/bKfhyQAAAABJRU5ErkJggg==\n",
  634.       "text/plain": [
  635.        "<Figure size 432x288 with 1 Axes>"
  636.       ]
  637.      },
  638.      "metadata": {},
  639.      "output_type": "display_data"
  640.     }
  641.    ],
  642.    "source": [
  643.     "#Number of attendants \n",
  644.     "attendants = list(range(1,101))\n",
  645.     "\n",
  646.     "#creating a function which will return the average of correct hats\n",
  647.     "def average_correct_hats(N):\n",
  648.     "    #this list will store indexes of correct hats\n",
  649.     "    hats_returned_correct = []\n",
  650.     "    #Reapeating the experiment many times to get more accurate average\n",
  651.     "    for i in range(1000): \n",
  652.     "        #add to the list the correct idexes\n",
  653.     "        hats_returned_correct.append(hat_check(N))\n",
  654.     "    #Return the mean of the list with correct hats\n",
  655.     "    return np.mean(hats_returned_correct)\n",
  656.     "\n",
  657.     "#Plotting\n",
  658.     "plt.plot(attendants,[average_correct_hats(correct) for correct in attendants], color='orange')\n",
  659.     "\n",
  660.     "#Labeling x-y axes\n",
  661.     "plt.xlabel('Number of Attendants')\n",
  662.     "plt.ylabel('Average number of correct hats returned')\n",
  663.     "\n",
  664.     "plt.show()"
  665.    ]
  666.   },
  667.   {
  668.    "cell_type": "markdown",
  669.    "metadata": {
  670.     "deletable": false,
  671.     "editable": false,
  672.     "nbgrader": {
  673.      "checksum": "aad5d529ed9af56148bfc12691cdb950",
  674.      "grade": false,
  675.      "grade_id": "cell-f74b2078132a5177",
  676.      "locked": true,
  677.      "schema_version": 1,
  678.      "solution": false
  679.     }
  680.    },
  681.    "source": [
  682.     "## [Optional] Question 5.\n",
  683.     "As $N$ tends to infinity, the number of correct hats returned tends towards a well-known statistical distribution. State the distribution with all its parameters. Plot several samples using your code. Does the empirical distribution match your theoretical prediction?"
  684.    ]
  685.   },
  686.   {
  687.    "cell_type": "markdown",
  688.    "metadata": {
  689.     "deletable": false,
  690.     "nbgrader": {
  691.      "checksum": "33f94a80e6d5d9c371e6c39790bd67eb",
  692.      "grade": true,
  693.      "grade_id": "cell-32fe26c1d99fdd2a",
  694.      "locked": false,
  695.      "points": 0,
  696.      "schema_version": 1,
  697.      "solution": true
  698.     }
  699.    },
  700.    "source": [
  701.     "YOUR ANSWER HERE"
  702.    ]
  703.   }
  704.  ],
  705.  "metadata": {
  706.   "kernelspec": {
  707.    "display_name": "Python 3",
  708.    "language": "python",
  709.    "name": "python3"
  710.   },
  711.   "language_info": {
  712.    "codemirror_mode": {
  713.     "name": "ipython",
  714.     "version": 3
  715.    },
  716.    "file_extension": ".py",
  717.    "mimetype": "text/x-python",
  718.    "name": "python",
  719.    "nbconvert_exporter": "python",
  720.    "pygments_lexer": "ipython3",
  721.    "version": "3.6.5"
  722.   }
  723.  },
  724.  "nbformat": 4,
  725.  "nbformat_minor": 2
  726. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Not a member of Pastebin yet?
Sign Up, it unlocks many cool features!
 
Top