{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Université d’Orléans - Licence 1 semestre 1 - 2026-27  <br> Programmation et Algorithmique 1      \n",
    "<h3 align=\"center\">TP 02</h3>\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Exercice 1 - Travaux sur les triangles\n",
    "\n",
    "Dans cet exercice, on étudie des triangles dont les sommets sont des points à coordonnées de type float.\n",
    "Un des calculs importants de cet exercice : la distance entre deux points A(xA, yA) et B(xB, yB).\n",
    " \n",
    "1. Définissez une fonction *distance*, qui prend en arguments 4 float xA, yA, xB, yB et qui retourne la distance entre A(xA, yA) et B(xB, yB).\n",
    "\n",
    "2. Définissez une fonction *perimetre* qui prend en arguments 6 float xA, yA, xB, yB, xC, yC et qui retourne le périmètre du triangle défini par les points A(xA, yA), B(xB, yB) et C(xC, yC). Vous utiliserez des appels à la fonction précédente.\n",
    "\n",
    "3. Faites des recherches sur la \"Formule de Héron\", qui permet de calculer l'aire intérieure d'un triangle, à partir de son demi-périmètre et de la longueur des 3 côtés. Écrivez une fonction *aire* qui prend en arguments 6 float xA, yA, xB, yB, xC, yC et qui retourne l'aire du triangle ABC. \n",
    "\n",
    "4. Dessinez au brouillon un triangle ABC, et placez un point M à l'intérieur du triangle. Donnez ensuite de façon intuitive une condition sur les aires de ABC, ABM, BCM et ACM pour exprimer que M est intérieur à ABC. La notion de point intérieur peut être prise au sens large (incluant les côtés) ou non, au choix.\n",
    "\n",
    "5. Définissez une fonction *estInterieur* qui prend en arguments 8 float xA, yA, xB, yB, xC, yC, xM, yM et qui retourne un booléen qui dit si M est intérieur à ABC.\n",
    "\n",
    "6. Testez votre fonction à partir de situations simples et pour lesquelles on sait à coup sûr si M est intérieur à ABC.\n",
    "\n",
    "7. Si certaines configurations ne fonctionnent pas, rappelez-vous que les calculs entre float peuvent générer des approximations... Améliorez votre fonction estInterieur pour palier à ces approximations en lui donnant une tolérance pour l'égalité entre float.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "xA = 1\n",
      "yA = 3\n",
      "xB = 4\n",
      "yB = 2\n",
      "xC = 2\n",
      "yC = 1\n",
      "xM = 2.8\n",
      "yM = 1.7\n",
      "M est intérieur à ABC.\n"
     ]
    }
   ],
   "source": [
    "import math\n",
    "\n",
    "def distance(xA, yA, xB, yB) :\n",
    "    pass\n",
    "\n",
    "def perimetre(xA, yA, xB, yB, xC, yC) :\n",
    "    pass\n",
    "\n",
    "def aire(xA, yA, xB, yB, xC, yC) :\n",
    "    pass\n",
    "\n",
    "def estInterieur(xA, yA, xB, yB, xC, yC, xM, yM) :\n",
    "    pass\n",
    "\n",
    "\n",
    "# saisie des coordonnées de A, B, C\n",
    "xA = float(input(\"xA = \"))\n",
    "yA = float(input(\"yA = \"))\n",
    "xB = float(input(\"xB = \"))\n",
    "yB = float(input(\"yB = \"))\n",
    "xC = float(input(\"xC = \"))\n",
    "yC = float(input(\"yC = \"))\n",
    "\n",
    "# saisie des coordonnées de M\n",
    "xM = float(input(\"xM = \"))\n",
    "yM = float(input(\"yM = \"))\n",
    "\n",
    "if estInterieur(xA, yA, xB, yB, xC, yC, xM, yM) :\n",
    "    print(\"M est intérieur à ABC.\")\n",
    "else :\n",
    "    print(\"M n'est pas intérieur à ABC.\")\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Exercice 2 - Face à face dans un couloir\n",
    "\n",
    "Deux personnes se croisent dans un couloir étroit, où il est tout juste possible de se croiser à\n",
    "deux. Ces deux personnes se voient au dernier moment et constatent qu'elles sont face à face.\n",
    "Chacune décide, ou non, de se décaler vers l'autre partie du couloir.\n",
    "\n",
    "On estime qu'une personne qui constate que sa route est bouchée se décale dans 75 % des cas. De\n",
    "plus, les deux personnes se décidant en même temps, elles le font sans savoir ce que l'autre\n",
    "s'apprête à faire.\n",
    "\n",
    "On partira du principe suivant : en cas de face à face, les personnes passent à la configuration suivante après une seconde. Ainsi, le nombre de phases aboutissant au débloquage est aussi le temps mis à se débloquer. \n",
    "\n",
    "On voudrait en savoir plus sur le temps qu'il faut pour débloquer la situation. \n",
    "\n",
    "Suggestions : \n",
    "- pour modéliser un événement qui se produit dans 75 % des cas, on peut tirer au hasard un float entre 0 et 1. S'il est entre 0 et 0.75, alors l'événement se réalise. S'il est supérieur à 0.75, il ne se réalise pas.\n",
    "- pour modéliser une position dans le couloir, on peut utiliser une variable entière prenant comme valeurs 0 ou 1. Par exemple côté gauche = 0 et côté droit = 1.\n",
    "- un débloquage correspond à deux variables \"position\" de valeurs différentes : 0 et 1 ou 1 et 0\n",
    "- un bloquage correspond à deux variables \"position\" de valeurs égales : 0 et 0 ou 1 et 1\n",
    "\n",
    "Prolongement :\n",
    "- Et si les probabilités de changement de chacun ne valent pas 0.75 ? Si par exemple on a des probabilités pA et pB ? "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "donnez la probabilité pA  : 0.75\n",
      "donnez la probabilité pB  : 0.55\n",
      "donnez le nombre d'essais : 20\n",
      "- liste des temps d'attente pour le débloquage :  [2, 1, 2, 7, 2, 4, 2, 4, 3, 2, 4, 3, 2, 1, 1, 2, 2, 2, 2, 4]\n",
      "- temps maximum constaté                       :  7  secondes\n",
      "- temps moyen de débloquage                    :  2.60\n"
     ]
    }
   ],
   "source": [
    "from random import *\n",
    "\n",
    "# acquisition des données\n",
    "pA = float(input(\"donnez la probabilité pA  : \"))\n",
    "pB = float(input(\"donnez la probabilité pB  : \"))\n",
    "n = int(input(\"donnez le nombre d'essais : \"))\n",
    "\n",
    "# votre code ici\n",
    "\n",
    "\n",
    "\n",
    "# fin de votre code\n"
   ]
  },
  {
   "attachments": {
    "quart_de_disque.png": {
     "image/png": "iVBORw0KGgoAAAANSUhEUgAAATEAAAEvCAYAAAAtufaDAAAABHNCSVQICAgIfAhkiAAAABl0RVh0U29mdHdhcmUAZ25vbWUtc2NyZWVuc2hvdO8Dvz4AAAApdEVYdENyZWF0aW9uIFRpbWUAbWFyLiAwMiBqdWlsLiAyMDI0IDA4OjE4OjM5FiBGIAAAIABJREFUeJzsvXmQHNd95/l5L4+6+q5G4yYOkgAIgDcp8ZJIUKelkSx7ZEv07jpiJiZi9pjYjdgJ/7H714ZjdzZi/lh7Y+xde0L2ju8ZybIOizRFivd94SIAgiDusxvou64839s/srIqq1AgAKK7Gt2dH0ShqrKy6mVmZ37z937v9/s98dRTT+mnnnoKrTWO4zExEbL/Q4OjxyT5fMBjj4aMrADbFjiO4OJFOHVSsWmzoLcXyhXJ5LhJvkdgSIFth+RyAbYdEgYKhMY0JYYhEAIMQyBl9LqJJiUlJeVaMQyDXC4HgLl161a+/vWvMzk5xcEDR3CdAcJgmKmpAr7vk7Mn2bChRl8/XLpoceZMhtHRLOtugZmS4sxpi/FLvWRyIIXEsl0KhQo9+Ro1x0NIyGUlmazEkJpCAfI5MAyNQGFZmv5+gWkqTBNMC0xLYJoCpTRCgGloDBkCkSg2Re/TxK+pkrptqdagtUapEMMwEK2KGq2no2W60d7l67S2k9ymzutqrevtqiu2O18opbrebnJ/TdPsSpvJdrXWSCm7vr8L0a5SCogu7m6xUO36vo9t29xyyy0MDAxgAriuy/nz53nn3fcw5N34Xg9amYSeolzycGoumaygVFJcuBBy+oxk1RqDsTGXd9+tMT4uCMIMQoAQLpblkct4VB0PIQXZrEkmozGkpqeg6SkoLEMhREgmEzIyoslkfExLkc1r+gagp8fCcQIylqC/T9DXFyAI6B8w6O2V2LYgKRiRdVc/aTQgREK8BKAAEb1SCs/z8X2PfD6PYRiNdYWm8ZvRL2giPUuekK1CpSNppNli55M3DEN838f3/Ua73WA5tut5HmEYks/nkVJ2pd0gCPB9H6UUuVxuybartUYI0dJuPp/vmmjPzs422uzr64tELAgCyqUSKnT5yldWsOvJAY4d87Etk4cf3khxOINtG8zOemzYMMt99/ts357nww8lnjfNqdMTONURDCsgCDSek8dzerHtECEMAt+mWjFxHYlWgNYIoRCEIHxMq4YQLuCTyYUMr9SsGskyM+3SUzDYuMHilg0C8LnrzjyrV+cpFi2EAKXBMiX5vEk2a2AYAtMQSIMO3dYI3/epVCpUq1WKxSKZTKYrB9/3fcrlMrVajeHhYWzb7kq7nudRqVQWrF3HcRgeHsayrK6067oulUoFz/MYHh7umhUYtxsEAUNDQwvSbrFY7NrNwnEcqtUqSikGBwe71u7Fixe5cOEC1WoVrTWNo6zRaEIKBYtbb+1jxw4QIvKFSRkpQU+Pxd13D7F9u8Y0BXff1cN3//kKfB8qFY1tS2Znfc6fr3HurMvJ0xWyWYtSSXLwQMirr4RUKkWCMAfSQAsDrW08P09k3Sg8X1Epa86eVGgdIoRm/34Dw5CAIpOpkSuMkc1XsS1wKoJVK23uv7+HnTuzFIuSzZtyrF5t0T9gkskYHYUs9cN1B627f5yFEF3tqrezEPsMLOg+LySJW0WzW2bbkk436+gz0fgsk4Genkh9g0AjJQSBZP16k9pdearVPqQU+D5MTYX8y38R4noZTp3yCAKN4yo+PlLjwIceE5Mms9NZnFqGMJSEoQYkmugZnQEE5bKJmLKQMkRKiQolo2Oa02cMXnzZJGdL+vokhYJPT2+JoaLDunWKzZuzrFtnMly06OmRmKZEK4sr+7pS5gIhRNcv6tgvtVAsVzHpFvFNKv4bN0VMwBVMlmvCNKPvRiIn6e9vdh0iB6AmvEejFFy6JAhDjeOEHD8u+OhwSK1mcnFMcepkjTNnfaamoVyFSkXguTZKmWhlobWJDvOoUAB1Aa2EVKqKs+cMBCZSRIJq2QaFHpPhYcWa1ZKVKzVDgyGDgwGDQy6FfMD6W6ZYvy7L4KBJJiMZGsqmJ2FKyk1M+w2qrdM+P3cvIQSGIYi7zOvX18XHD1i5UnHHHYqenh5mZyTHjjl8dFhx5qxicgompyRTkz7TU5qJcYPZksKpGQShidaC+ngjaBG51rVAAYQWnm9QqeS4eFHx0SGJZUajofm8z+CQYqioWbfO4fbbFGvXWPT1Km7f4tPTI+jrM8jlDKSEfN4gkzEa3eqU6yO9KaTMNUkhS4hYMnShSwgQQmHbit5emxUrstx6Ww9f+rKiUnGp1QKqNcXFiz6HDlZ5712PA4cUZ89mmJ4uUK1mCUKBCiVaG0TdzljWdKONaHjRwPMsPE9TqVhcGs8BCsOEbEaRtT16Cg63bpnilg2KndsLrFubw7I0mzfbrL8lTy5nNGLdOse7paSkdJumiC2on7t1SNgwJD09WQqFSHHXroGdOwb49rcUp8/Ocu5swP79Ls8/N8uRo4rJyTyu24tWucZvxEEP6GgXdUs8l0DoegBFIKkFglrVZno2x+ilft55V/GLrMA2BZbps3HTDN/+TpVVqwQ9Bcn6dVnWrDEZGspi2d2Lj0lJSbmchoiJegzVwnC5gja7brGvTZLPa/KFfjZuUOzYoXjsMZ+jR2c5fTpk374pjhwpMTWd4dIlizCwILbOLgtIBV0XTqXj2DIByiQMwXUV1YpECInEYmrGYPQiZLNgmTAwABs3OezcWeL2203WrbUZHjbo7zfJZq36SGpKSko3aHXs3+QjdUIIcjmLXC4SknXrbLZtk0xNhTzySMjJk4rzFxQHDjgcOVJjdNSgVLLx3AxK1S0mAZEPDUAimh3P+oeR6GkV+dgUBrOlLLMfN9ewLMWHB2D37pDVqzUrVvgMD3vcttli584amzZb9Peb9RAVE8NIRm/f3Mc4JWWx0b1ckDlGCLAsg5GRHkZGYOtW8LyQ8XGHjw877N7jceSTkDOnFWfOwMkTBjVXouriJFBoLSO/XKxpjXCOZOR9PTq/PoigEXieZmxMMjZmg1AIEZDPBWzeoHnoIYd77/VZucpEC8XKlRabN2cYGjQBHf20ToUsJWWuWLQi1gnbNlizpsCaNQV2PQmlkseJ4y5vvO7z139T5cw5g3Ilg+faeF6I79dFpeGTiwcDEl1MRELU4nVE1FUVArREY1KpwIGDgk8+MfnZTzws20UbATvurPH9385xz90Z+vsFWke5Zr6vsSydjtylpNwgS0rE2ukpWNyx3WTjJs2Xv+py4ECVI0cCPtwP77wTcOIkKG1Hzn9tACLSq0bPT9eFTCe62yJhSdXFrz6wq0WIF9hMTJsgcgghmJzUfPC+R09PjZUrPbZt9bn/AcWTT1TZvFlSKHQnFSclZamypEVMSIElBaYJuVyGoSGT++4TPPFEwFcOu3x4oMrRoxn27s1x6lQGtFl3mdU7lwKQIRASdTNlXex0c1mzNcBAxZZdXdjCABxHMD0tGb9kcea0Yvcen18977N1yxTbtgq2bDXYti3H4GAGy0oHBVJSroclLWIxsf+sWDQoFmHlSs3qNZJbb4eJSyavvqp49TWHU6dsJsYlWot6IC2g4xQHruzLSo5wiqhaRmzORXJooEJBtQrVqubixZATx0P27wtYsyZkwwaf27cq7rrLZf1aSV8f5POCVaty2HYaZJuS8mksCxFrxzAEfb0GmzZa3H1nnnXrFZs2+Xyw22P37pCJSYtSyaRWNQg8gcDgslQ8EXcl20v0JAYF4uJlEFlxdWFToUG1Ijhd0Zw5E/DBbo/ePo+77na57VbNimHF4KBm+/aADbeYrFpt099nYZoLm9icknIzsixFLEagsW2D++7Ns2N7wD8brfHCS7Ps2W3z0UcZjh0zOX9eEvixZRV3JUVdq5phE6JeB6R1eewsU4m8VJkIVxNobeN7NpMTmpdf8njlZR/D8MnnPVavmuLJJxVf/nIvd97Zy+CgRU9BYtsytc5SUuosaxGLrSghIJMxWbeuh+//dp7vfFtz9qzLL5+v8Gd/7nH0aB86sOrio+tdRkXDT4auZwQ0u5HJkoy68V9yHZWIWYtF0UJrm0BDuaQ4VgkYHavyyqsh69fPctttId/5tsk99/QxOJhJg2pTUljuIpZAiKgSh2ka5PORTyqTheFheP2NWfbvMzl+LMfUVKbZNRQiEbuqE13LOIA2OYrZKnIt8WhxOFqMEigkKrSYnenBdQLOn1ccPKjYt9fhW9+qsGZ1ieFhwa23Zlm1yiafTzMFUpYnqYh1QAjI5Qw2b8oy0C/ZttXh4EHFKy97vPOOx7lzJo6Ta02WankTq1IyaDZRcaMF3Vx02W8ItJI4jsRxFDNTgtELBuWypq/Pp79fsXGDx5YtPlu2SLZssVm50qpX3EgFLWV5sLxF7CpuJds2WLUqx6pVOXbu8Nm0oczGDQ5794UcPyaZLUV5ldVKu8UV/35snV2eu9mKptVaa/+4ngqFJPAt9u1VaBRSBuRyPuvX++zc4fHggx47d1isW2+xerVNf7+ZhmykLHmWt4hdB319Fl/+yiAPP+Jz/HiVF190+PCgzxtv2hw5IlEBoK1oJLPh0IeG9dWuTY2o2uRsSldS1WSljHqWgRAoZVGp2Bw+LPj4sMezz8yyceMMDz8sefJLvdx7b45Vqy1Mk0TttZSUpUUqYtdJPm+ybVsvGzf2cOijCkLUmLgEExM5VH0quKQTPx63bBph9YGBZEL4dZRBanRKE7mcQmi0MKk4fXz8SZ5TpzU/+5nJXXeV+Na3BF983GLVGonWFu1lj1JSFjupiF0nQggsS2BZsH17nv/+v7W4Y2uNn/6sxO49NWq1PCq0G07+tjHK+Fc6jFZei5VUD+NoGftMhKIh8EOJX9WUKwYf7M5zYSzkVy97bN3qsG2rZNcTLmvXCjKZtA5aytIgFbEboLfH5M47DQYGBKtWKfbtD3nttSqHPwqjUcw4riwZSpGoiNHk+rp5upPppokCcHUUvqGB6VmTmZLBqdNw4KDilvWSE8c97r3H4447LDZszKS5mymLnuaUbQs4O8xixjQFGzZkWLXK4MknPTbcUuK551z27ddcvGhSq8l6hVlZ70LGInb1GcM7ItqGMpMWXTIxXagofUpJyqUc5bLNyeOaI4dddu50+fxDHp/7nM/69RarV1n09hpkMjIN00hZFHSc7ShNZ/nsSBkXa7T4nd8xuOOOCs89X+OXz8HHH2dwHBMVxv6oTuEX1ypkdaESLZ1JWnxvjcVtXVUd5X9eGDUZHcvw7vs1NmyY5Y47PL7x9T527Miwbl2GoaFMmt6UclPTfm6mltgc09eX4eGHLW6/3eOhh0r8P388xQfv5ZiazqO1RJOoMKublWSvi0RqU+x500m/WqNskGorG6RBa7Q2KM3k+egjm6PHNG+/GbBp4zS7doX8xm/2ceutfWSzdpralLIoaPGJKaXwfR/P87rSeBAEBEFAGIb4vt+1AE3f9/F9nyAI8Dxvzq0OKWFwUPDA/Tn+7b+Fl1/0ee45h4MHBa5nJiYtgVaL7Ppp/lbCwmuIXCL2TEQCJurvlRIoT+D7inOOwfTUIBdGPXbvCbn33kkefdRk82aLoSGLfP6z+c08z8P3fcIwxPO8rt0o479t3K5Sqivtep7XOKcXot14fw2jO4M28XFWSnW1Xc/zCMOwcd1eJmLVapXZ2Vm0nt+qo1prwjDEdV1qtRqmaeK67ry1lyQMQxzHwXEcLMtKtNs2gnhVmgLUeJX4CduC7ds12axAShfDDPj4sKBUzaFUssqFAZ2c9R3pFPXfui2X70NT2FrmE6iXFwoUzAYm5YrF+fM+hw/77N2ruHVzhbvvETz4uSyDAwIpdfQL4tq21fd9HMfB8zxM08Q0k6fbdfoCr0JSIIMgwHEcfN/HMIzGxTXf57Pv+7iuSxAELe3ON/FxDsMQw+hOtka8v47joLVGStk1I6RcLuM4DrlcNLvZZT6xaLZu1Xg9n8RtJR/doL3Nzu1+2r63C0nnQAqIZkTfui2LZQmKwyGvveawe69mbMzCdWU065KWHX6z/ReTI5qi5elKdc4uzxNItCEAjEZ2utaKUJmUyiYff5zjkyMeff2z3Hufz4VRuPsuyeZNkkJBYxggrqGrGR9brVXLeXX5vs0t7X/b+OLq1vkcP3fLr7gQ11DcbvIa7na7MS2WmGmaDAwMMDIy0pWNCYKAcrmMbdsUi0Wy2WxX2vV9n0qlQrVapVgskslk5r3NlSNw990Bu75U4wd/NsvLLxmcOWNTrWQIg7qYNSpbkBCmsN4FlImk8vpniZI+neh8ybZ/N/kFXR9BNVEapmd6ef21gCOHFU8+Cf/N72bZtEnS1yfp6zPJZIxPnTzY8zwqleiuOTw8jGV1J5zDdV0qlQqe5zE8PNxmAc5/u0EQMDQ01PV2wzBkaGioaxag4zhUq1WUUgwODnatXaDFPZHGiXUR09SsXaP4H/47m12Ph/zs5yVeeNHl/LliIvModsbHI45GsjgG85c6JGmtdSZBZwkCzeiY5if/oHj++SqrV9V47DHNd387y+c/P4htG59qcaTDRSnzTSpiXUQIsExNf5/i0Ud6UDqakekXoxWCsBfieLKoFnZbJ3W+ch/bwz1athitBWGoqVShWjOZmelhcjLk0EchO++c5qnfsdl+R47e3itbWamQpcwnqYgtCCFDRZvPf76XWq1MGFR5/fVoot8gaPN7kfQ1zK0zvDPtvrk4RxM0No4rOXMuZOySz+HDitmSyz13u+zcabFzZ44VK+wWyywN0kiZb1IR6zI6Mbq3bm2Or34FBvtL5LIO774Do2MGjhf7FpL9SHG5vszjVkbNJ/1nka9MEyWfu67k/HnBj35Y4fXXajz4oM+v/Ro8+qhieNgkn2/6R0QqZSnzSCpiC0Ac2yWlZOXKPF/+SoZbby3xH/5vn+df1Jw5J/A9Wa+I0R4QO9fW2BWU8bImdKJ8kEALCUJSrhQ4ejTH+XM+Bw84nDlT5tFH89x+e55CD4Qq3uaUlPkhFbEFRghBNmty+5Z+/uffc1m1bpa//3GVjw/34vsmUQxZ7Ojvlhy0lQeK48IaOZ/xo16sURvUaoKPD8Mf/F+Kn/60zFe/6vLFx002bdItVllKylyTiljXubxzFc2LKbnllgy/81Q/xaESf/EX4+zb30/gZ+p1wOJA1fly8F8N0azGAfXYNuojqKC0gevbeFOS6iHN+Ljm3Xd97rnH5aGHNI8+GlIsmhhG2rVMmVtSEbuJyGQkt96a4WtfCwlDj+FfOuzeLZiYEISByeXhq50EYR6c/x1q/zcd/k3rTCPR2qZSEZw4rrl40eDkScmhQz6lWY+HHxGsX2+RzaaVMlLmjlTEbjKkFGzcmOW7vzXIuvVV/vbvAt5522B0VBIGcbesvVPZLm7XK2RX66h2SmXq8Pu6bpnpSNDK5QxHPrE5+omPUwsYG/N47AuKbdss8nmBZaXzZ6bcOKmIdZ2re7Usy2Dtmjy/8Z0c+dwMGSvgpZclExMS36tH9jd+q716ReyAv97qGJfHiF19nXgbmp83a/k3/WiKLC+8oDjwYZV9+2p87/s+mzdL1q/P0lMwkGkXM+UGSEXsJkZKwRNP9LFxo8fd9zj84M9cjh3tRytaiyPGovWZvf7XImCf9t329VsLN8afXpqw+enPDV56xWO4OMXv/28DPPaFAsXh9DRM+eykzombnFxOsmmTxa4nTL7x9QDLqiFESCQQ9ZnIRWT5RFPuNsvt3DxE2QdhaFCtmIyN2hw50s//9+eCv/6rWd55e5qZme6Uf0pZeqS3wEVANmtw22023/xmyIkTLm++qZmcMlumYYtc7DdWm2x+iCc3Aeq5oKESKM/gzbcVF0ZDDhz0+dznStx3v81tt2Xp7TVv0Fd2s4l4ynySitgiYWDA4sEHBf/qX1VQyuPd90LGJyy0sm7yWNJOpYQkGs2lCYOJiSyfHPXYu9fl4Ueq7Nrls22bzZo1Gfr6rE+tkpGSAqmILRqkFAwMWHzjG32E4STSrPHaqyGlkiQMIq9AM8syDkZdaAXQCR9/nMIkaE6YolAYTE2bfLAny4EPPV577RJf+arka1/t5b77+ujtNTAMmYpZyhVJRWwRIQSYpuQrXxmgp3eatWsq/OM/epw/P1TvWibQis9Uv39utrT+XK/r3yBRPjs5SxMCrcANbA4eWsG5cz5vvenwpS+d46mn+tiwoZ9s9jqi/sW1V59NWfykIrYIKRRMHnigD9s2yGWr/ODPalQqNkqZRKOUN4MVBpG1lUxVipdGy1plRqI1+L7J5KRk337J+ITBiZNl/vW/lmy/I0tvr51OKZdyGamILUKEgMEBm7vvgsCHo0cd3npLMDkpUSppfd0MQgbt26Eb/4vms4hHWyWhkpRKBkePmUxOSZQK2fVElYc+H3Db7Vls+1pP29QaWw6kIraI6euzuOeeAv/1fxXgOgHvf2AwOZWs0NpukXXbQuvk1E8uT75X9edmtzHwJRcvmvzwv/icOO5x/pzLrl2azZsNhoezWPbVrLKbRcRT5pNUxBYxUgoGBy2+9e0BSuVZqrWAd94z8AONCI0Odkh7scNuhGTEbbT7x5IzPNWHJHRdgNu+7ns53n7H5sQJl/ferfCd3wjYtavIqtUZMpkOE/3quBubshxIRWyRI2VUyuerXy1w9qzLpXGfI59k6h6nttmNdIgkmpREt/mp5l7IOsVqtXdz4+1LZhskvxdZZhpBGEjGxiQvvmJw4LDL7j2z/NZ3c9x3f46enu5MQJJyc5KK2BJACMHKlTa/+ZsaKV3+03+qcfJEHpV08OumJ6ohcI1cy8YvdXvTaYpWJ6uwVfTCUFKpWJw5Lfn5zw2On3D42lddvvGNHLfd1pP4XrtApyxlUhFbIti2ZMsWiy896XPmdJUf/UhSqliEoYGo1/5KxvTXF9C5pv5CcKV2W0VNK0ngw5mzNlPTIVNTAVNTLl//umDnjiz5gtHQxVTGlgepiC0hMhmTLVstfv3XJWfOOLz9XsjMdBahE7W/WvzridHBRZOqE5Xr1hpKpRx7dodMXAoYG63xW78Fd9xhUehR9TVTGVsOpCK2xCgWszz2BZNQzTD+vwcc+DDAc4xGXf/Iid6s2y8W1aUe7UM08Bptv+NYHD2mOXPWY3Ssynd+XXD/A5KhoXoi/OLZuZTPSEPE5nuK95TuIISgp8dk165+zpwZ46/+MuCDDwSBygGK1pl4k8nZ8ajgzWyN1UMx4m5wfVOVkrhOhuee0xw8UOKRRx2++U14+OH+hHinLBWEiEakO84ArrXG9308rztlUYIgaDx830fK7kRj+76P7/sEQYDneZ86g/Vctxvv73weY63BsjRf/3ofF86XmZgscfxEVAdfaAOdDGMQLLJwhHoXOJlWJBQKqFUNTp/OU6kJRi+6TE/X+MY3sgwNmXTj1Gr/+yqlrv6lOcDzPIIgIAxDPM/DMLozMUu8v91u1/M8wjBsXLctIqaUolqtMjs725WNCcMQx3Go1WqUSiVc1+1qu47jYFlW19oNggDHcXBdl1KphGV91tAA3bAwLg8hbdoe/X2SRx6Bixej/T13PpcQsERCduP9zS5m7SlMie6i0GgMXM/mwgVJtWYR+B69/TXu3CkZHADLVCAiYWlPgpoLfN/HcRyCIMAwjK6KieM4hGGIYRhdMwY8z8NxHLTWXW23XC7jOA65XA7oYIlprbt2B1FKoZRa0Hbj191u98b3Vyf+7/QJgGLnnVkcTzE+4XHpGRPPM+rRFm2lrW96AYtJdIeTSeTxFJ0YaGUwM23z+hs1+gZqnDyhuPsuwZYtBoU8CNkq/XPlSLlZzudusRDXULLdmIaICSEwTZOBgQFGRka6sjFBEFAul6lUKhSLRbLZbFfa9X2fSqVCtVqlWCySyWS61m65XKZWqzE8PIxt211pV8oqE+Mue/eWuXDBxHXjWvifPilvYwLwm9Fd2lIFo7mwsTdK4tRy/OTHAW++XuGffdPkX/zLAndsy9DXNz9Tx7muS6VSIQgChoaGMM3ujJsl2y0Wi12zAB3HoVqtopRicHCwa+1CZAXGQtaw/1LH/tKlWLT44hcL/Jt/A5tvK2NlvEZJ62bOIrTbdVrfjAIWi28swKK5WIv6Ngu0lqANtO7n0qXV/PBHA/yP/1ONH/zgApOTwYJt/XzSLd/uQhM79mNk8oOUpYlhwOAgPFGv079xg48gbNQmXHy0x7XFuZKCKCcz4ZvRkjA0KJVsPj6c5e/+zuTHP57k9Gmn2xudMke0G1xpnNiyQGNZmpUrBV/7ms3pMyGjoy6zpXxb7bHFpGjtOZadtr05CKA1VCoWH31U4D//bY2J8Rm+8AWH7TuyDA93x42RMnd09ImlLH2EUNx9Ty+PPOLwyVGPfXszKN09P8bccaXE8iSJuTnrGqe1xHHyvPWW4Pz5MkePlvi1b/g8/jgMDdlYVlpwcTGSitiyQtHfZ/PYowHHjjkcO+pQKuXqfq/FEOx6vSTn5qzX9hcSL8hx9FiG0bEKR46WcD2XJx4fZmTExrbTev6LjfTWs6yIrs6tWwt85cs2Dz9cRgiPVuf+UkES+cfiR2KoVYAWgnItx759g/wf/87kj/74Evv2zeI4S9Ppv5RJRWwZks+b3Htvnqe+n2PTpirZbL2m15KywjrROpKhlaRaszl5ssDf/6iXP/mTgOefL1MqpRP5LibS7uQyRMqo/tijj2q+970yf/WXirNnFXpR+sc+jUR3MpmmlJh0WCuN60hOngTPc3FcH9ct8+STWQYGsunEJIuAVMSWKZYlWbvW5neeyvPeuz7T05JSaSlZY1eae7NtKrt62pXScPZcjhdegNnpKtWKxxO7YPXqLPZVa/mnLCTpX2cZk80abNmSZdeugFtuWWq+INH6qBeGbM6qlAzwrb/WgosXszz/qxz/6/9S45fPznJxrDt5tSmfnVTElhHtsa3RZLwG3/tegXvvBdN0gZDmRX7lMs+LZQTv8jR5CULWD0ZsqcWTmCjQGj/IcHGiyL//9x7vvOsTBN3LC0y5ftLu5DKjXZKEgLVrbb72NZdii0JxAAAgAElEQVQLF1xefTWL7xsg4tmIBNR9ZaJRPUPchOlInWgvx32le3Zr11NrTRAanB8t8NJLNTLZCps2mmzdOoRhyKtmt8xdSnnKtZCK2DLiSpdWJiN59FGb8YmQi5eqHDiQryeIx7SXr4HF5zv7tO1VHT6XuG6Ol1+qcfZMha1ba3z71+GeewYpFD7tskmryXabVMRSANiwIcvDDwXs3Vfj0Ec5wjAEbbbV4V9sXOs2J9OX4pfRbOqHD2uOHtHs21OjUi0TBhm278gxMGBgmp0tu7mrUJZyLaQ+sRQgCrsYKkpuv02Qy/pIGfvFEhfkkr0222caiKvHgtIWXljg3IVB/st/7uWP/qjE66+XmZoKUOoK1dxEaop1k1TEUhqsXZNh1+M93HlnmXwurC+NhWypOrfbRyvrFTG0ATqeaNggUBaTMzme/qc+/uOfKn75bCUNir1JSEUspUE2a7B1W47f+70C99zr0tOTuEiFqFe8WIpWhm5zxsfjuPXkcS3RWqJCSa1m8e57GX7yU82LL1bw/XCRDHIsXVKfWEoDKQUDAya7nujhuedHOXlCUC5Z9ZHKmKXYp7zSPiVKeGtAGGhgcsrivXc1uayHaVR46OFoMpLkt1K6RypiKS0YhmBgwOaB+wQH9isuXQxxvbjY4FIVMBlNIJIwqVq9ZHEwbBRPphFcGM3wwguC2VmX6ZmQxx/Ps2JFKl8LQdqdTOnIl788xAP32QwOhFwW/V5nsQS8Xp3Y0mo65XXLoEbSbxb5zIJAMjqW5Zlnevn936/ywgs1pqZC1KKa/m5pkIpYSkfWrs2x+daAFStqdQslrE93lrBPlozhoZtPOqo51sivbNHuuAx2HQGhkpw6VeQP/9DnL/6ixOyMqgcHp2LWLVIRS+mIaUruuVdy770hhuF0yDlcaiTq8+tWi7OZe9k6s1L8mR+YHD2a5x9+bPCDH1Q5dszB85bqaO7NR+oTS7kit9+e45FHNbv3ehw4aLO073mi82vd6fP4s2YljFrV4vDhDK7rU3NqDA7W2LRJkM2ml9h8s5TPypQbZMWKLA88kOPxJ8CQS9my6Ozza/2MtufW9bSAStXiyJECP/2JxQu/qnL6tIPrhqTML6mIpVwRw5Bs2GDxxccsBvpDzKVWM/GqXE3cIJk8rpF4ns25M8P85V8oXnqxytiYs4R8hzcnqYilfCr9/Sb33JPld383YHhFmKbUtNchExpkXL4oqt0fKNh/oJ+/+VvBr37lUasttVptNxctHXalFL7v43ndSacIgoAgCAjDEN/3kbI7mur7Pr7vEwQBnud1beLg9na7RdxufJyvB601AwOKx58IefoZl9HReAKO5Uj7TOnt1lh0bLSWuB4cOFjgxz/2EGKWb30rS6FgYBhzf655nte4jjzPwzC68/eJz+WFaDcMw4ZeNERMa41Simq1yuzs7LxvSNye4zjUajVM08R1u1NFMwxDHMfBcRwsy+pau0EQ4DgOrutSKpWwLKvr7VqWhWl2cjbH05ol3wMIgkCzfr2ir8/FMi1832L5hhB0sER1XFSxfkxE9H5mxuK99xVK1TCMWR55NENfr0bKSPTiWDSRDEn7DPi+j+M4hGGIYRhdMQa01o12tdZdaxegXC7jui65XA7oMDoZi0s3UEpd9uhmu/G+Lpd2r36cdYdrVCOloDhks2O7w7mzitFRnfp5YnQcmhF3L5sfKQXj4ybvvmOhQ5cg0Nx/v2RkRBAZLbEvjRuKXGk/r7rFQpzLyXZjWkTMMAwGBgYYGRnpysYEQUC5XMa2bYrFItlsd6aT932fSqVCtVqlWCySyWS61m65XKZWqzE8PIxt211p1/M8KpXKDbWrlOK73xWcPasZGwuX4MxIn4VO8WTQImbaYGYmx2uvGlQqVfK5LGvW5CgWLaScG2vWdV0qlQphGDI0NNS1bp3jOFSrVZRSDA4Odq1diK6lWMiWtWNfp+bENSOl5JGHC2zcKDGM5eqorotWY8DyCvMQCOrpDNGIpVImrp/jg929/L9/ovjJT6pMTjpd3valQ+zDjq9fs9OHKSmd6Os32LFDcNttio8+6lTSOckSPpfiPMtklQtovtbx63oepgClNY5rsG+/gWF6OE7I974PxaHMFSvEplwbyzqcOBXt68M0JXfepbn7bo+jRwWBn61PHHIlluLxjaP0295ftk69/lqcUK6jahkzMyZ79ii0CujpqfGtb5kUi2LOupbLgfYe1LIWsZTrZ9tWg/sf0Lz6msOFc3VfYhw71rGCw1K8ODsFv7Z/LomngGskjwNoi+lp2LsXTKkYGHB46KEMIyNmapFdB0khaxy11CpJuRbWrMlx7z15du6MS/Ek7oqNQNirXeSLmfYo/k6PmHpMXSN5XDSWzc5avPlWjj/8wyqvvVZhZsZPR3w/I6n0p1wXUgpWrRLce48GWQM8ogl32wNBlzvtwqajUkYi8iUqLak5IR+8n+HHP67x1tslfH+5DpjcGKmIpVw3IyOSe++TrFpTwcok4oM0ienKbj4x625nIzlymbTQ4nJGBhqTmmPz5lsZnn1W8eGHZYIgrdl/vaQ+sZTrpr/f5PbbM2zdOktptoDvNS2OuC7qzdid7L446LbXovW1NtAYjI3CSy855PMehllm29Yestk0Du9aSUUs5bqxbYOVK23uv09z+KOQcimN4L+cTjNDxT6xeLkEAUFoceSIxvM0mUyN7/22yebNWfL5VMiuhbQ7mfKZKOQFn/+czUC/hzQ8om5SPXbs5jPCFgh9+VttNOa0bK4iCAKbkyd7+MEPMvz852VOn3YJw/TOcC2klljKZyKTEdx+u82qVQ6nT5tUAotGDmF67UXEo7eN4NeYpDWmEPVU8CCQXLqU44//OKC3x6Wvz2DNmu6kxC1mUkss5TNhZww2b+rnvvtMRkbi8jypFdakPqlIS3R/pxFcXY95ipaFoeTixTzP/FPIG2/U0sqw10AqYimfCUMKenszbNliMDwsiALOO02ysVyJ/V+JpHCSz8n1YsGLvhOEJnv2WPzDTwJ++csZXDdI83w/hbQ7mXJD3HqrxerVimwmoFaLHNHp5RaTdOR3Oirtjn4aA5cXL2V48QUfISps325yyy0FbPtqjv7leeRTSyzlhtixPcvttyv6B1wEGhHHQaUGWZ1kpH5iPsuOk47UxU4LtJZcGrfZ/YHJiy+WmJjwCYKlPFnLZycVsZQboq/PYuXKkP4BD0WIQkU+oCsZH8uSK0020k59bk8h6r1QizNn8vzxf5D84z9OMjp6tQrEy/OukYpYyg2RzZps326ydZtGSD/Nwb0h6habFvUQDInjGRw7keVv/sbg6afLHD9eSf1jbaQ+sZQbQkrBxg0GmzbVkGYZ5RdTC+y66WC2aqBeULFaE+zdKykUPHI5j/5+i2KxU3Xe5XngUxFLuWGKRYPVazQ9vVVmJoYQjfSjlKvTHn6R6HZqAAMtJLMlg7ffERR6QgYGauzaJSgUzLY6ZMvTCk5FLOWGKfRYrF1js+GWgP2TulGaebleVNdNowhsu8M/sVwLpqYyPPecQ6XssHJEceddfeRy8SQly5fUJ5Zyw/QUMtyxtcAXHskiCNGpX+w6aMaHJS9HUY/kj4L+dd22FZTLNh/ssfiDP5jlzJkaQRDSmny//EhFLOWGEUKwZo3F/fdlMGWtGWaRDlFeA20zitctsORRE7Gc6chHNjWZ4Y23MvzkJ5OcPu20/c7yIxWxlDmhkBeMjGjsTAkh41SZ5XthfTZahb/1Xdy9FPi+ydhYjp/9DN54s1YPvRDLtvOeiljKnCCkxjQDsrkKUqQ+sesjcawuO2ydSl9LfN9mz94CTz/ts2ePg+dxhTkOlj4Nx34ae5JyIwgBli3o6YFSKTE5xjK9sK6d2KvftLRaP0uSLKxo4noFnn9eM1xUbN6sWLlyeR7rdKKQlDkhk7FYs6bAF75QoLevnuOX3hivkWRqUtLJf4WJSLSsPwxmZvK88YbBz3/qUatJ1DLMTGoJsdBa4/s+nud1pfEgCBoP3/eRsju9W9/38X2fIAjwPK9rAh63GbfbLeL9DcMQ3/fnpQ2tNb298PjjOV5/AyYmIO1OzjVt8WRaoJTBseM2Tz8b0j9U5Z//ps3QUHv82PwQn89KKTzPwzC6U4k2PpdjvWjpTiqlqFarzM7OdmVjwjDEcRxqtRqlUgnXvVpu2NwQBAGu6+I4DpZldbVdx3Ea7VqW1dV2XdfFsixM80bCA9vmmExcK66nKBRcTMNCYKBTl2sXkJQrJoc/zvCTn2pGRsrce6/B4IBITKHXSou8af2ZZ1DxPA/XdVFKIaXsmhFSLpdxXZdcLgd0sMRiMesGSimUUl1vN24r+egGC7W/7ft6Y+0mI8sTbxEIoenpUWTsKlLahGF3RHr5IDq/1Qazsxnee0+yYniaXFZy990muVxncbpM2j5jt38hrqG43aQPvyFiQghM02RgYICRkZGubEwQBJTLZSqVCsVikWw225V2fd+nUqlQrVYpFotkMt0pAez7PuVymVqtxvDwMLbdKf9t7vE8j0qlMu/thqGiv89l5aoxjp/wqdXmpZllTnIgIM6O0KhQUilneO6XNnffJdmxo8DwcG5eu5WO41CtVlFKMTg42LXuJETndCxkqb2fMmdIKejpsXjgQZvVa4zUJTafiLZYDC3QymB2tpcf/UjyzNMOMzPdcZMsNKmIpcwZkTVvsHGDycBAqmDzQ3uZ62g0U9QtM6VMjh61ee99OPJJKmIpKdeNlIJsFkwjTTmaPzRo1ZJo3zzSknLFZu9eg+d+GXD6dHXJV4RNRSxlzin0SOxM7LtJhWzuaI/c122fxoMtBseP2zzzjOTZfyozORks6TksUxFLmXNuuy1DsSgRVxjiT7kRIhETLYIWBcY24/kFlYrFh/sz/OmfKg4dqlKuBEs29jgVsZQ5Z7hoUiiAEOmcifNDXKQnGdUfRfnrRNS/41qcONnDP/y4xCdHqnhesIDbPH+kRRFT5pxi0aLQM4M0BCrsThjJ8uNKAyfNrqYKBZWSyTO/KLBqpUehYLBtW2HJpRimlljKnJPJSGzbRUqH1Ce2gAgIQsHp01leeFHx/vsulcrSs8ZSEUuZc4SAfF6Tz6cCtpBoQAtBqE327bd46eWQffsrhOHSGq1Mu5Mpc44QgjWrMqxZBdOTC701yxgd+ci0DpmcLPDCC7P09pW4+64c+bzdlSTxbpBaYilzjpSCrVtttmw1uVm7k0JcOe956biM6vFkMkSjuTBq8OGHBhdGnSUVcpGKWMq8YFkCy7x51UDrK+c9L41QhPps4qh6xRFB4GU5fCjD//nvZjh2rIrrLo3R41TEUuaJNNB14Wibw7JeRFFrk/Fxmxd+ZfHBBy4TE96S8I+lIpYyL1iWxrY1UqZC1n1aY8eSkf5BYHFpvJdnn1UcOuRRLi/+0crUsZ8yL/T3CwYGwDA0SiVrw7dORpYyXySPbXPOA41BzRH88Ec+a9d6rFol6e21FrWTPxWxlHlhaNBkxTBYlo8fClCxRQDNrmZyWcrck7hhNCYgiSwy3yvwwkvTrFtfZdUqyfBwYSE2cE5Iu5Mp80Jx2GZklYuduwDCjx6E0JhYF1K/2XxSd+yLAET8HIAIQYRoFB9/bPOLZ3yeeXYK1/UX7YxnqYilzAu5nMHgYEhf3yzoEIhFLB41i0mFbO5JTLt7xYnYFaWSyd49Js8/F3D8WAnfX5xO/lTEUuYFKQUDAwa3rLcAjdCxBaY7zAebCtn18umxbO0VLuoPXe++J57HL+bYszvDa6+VmZ0N6v7LxUUqYinzxorhHHdsG2orGxNPqCtS7boBrq3n117lIj72ksgdbhCqDBfOF/jFP8K5szW8RRg7lopYyrwRhBLPs9DCQAuDxgUl4oKJy4OFywCIrd62GapQ9cMvAINS2Wb/hzmOHPEplVMRS0kBQCnN+XMhH3zgR3d/YdRzfRZ6y7rPwvjLEz4xoDmgEltmurEsDCXjk1n++u889ux1Fl3sWBpikTIvCAFKhQRBPON425W8fAyxBUC3vdZN3QKad5LoWSuBUzN5622LzZtcBgcMHnhg8dQdSy2xlHlBCEEmG9DbV4uG9QloWgPJ4Ne5bHPOf3KR0l6LP7lYX7aORqCUZHw8x/PPwyuveFy65HVzg2+IVMRS5g0V+nhuCUEsYnGcmGpeUELPmZ4t0jCneSIpYnH+ZOzYT1D3jWkkWpkcPpzlxRcUb79dXjR5lQ0RW6yBbik3L3lbsKJHIkOJVCYivpDikUloG6EMESJprbWv9GmPeD1FJJbtgbVX+p3LNqLDOirxWEzXSX0kUrcPpCQSwxMzJKEsVJBh7z6Tp59WzMw4iyLkosUnppTC9308rzumZBAEBEFAGIb4vo+U3TEMfd/H932CIMDzvK71/eM2wzDs2jGO2/V9nyAM8Xz/8hU63MBUEDl3tVL4jkPouqA1hlIYWqFdl8roBULHRVs29sgI2ZER3EqF6Q/eJ5gp4R032KIG2CeGmNHD+MhGDl/bBhD7bXRLBYb6Z3EX6LLNTF6c7SlNIvqe7vjFy9tu8xM1l+m2dRZbn1V0eB2HWST2W+jG4ZqYlOzdr3n1tQke/+Iw+bzRsaveOJ+VwvM8DMOYzx1paTcMw4ZeXCZi1WqV2dnZed8QrTVhGOK6Lo7jYJomrtudGYuDIGi0a1lWV9t1HAfXdTFNE8uyrriubnsnkgtFY0mDxjvd2j3TCMIgwKnV8DyPimnimma0ilLgeqhaDQKfsFohnJ5GVmuo6WkMAcJxCMcn0NPTEAbYgY+pAvB99NQkeAFYGdTKVXirVuKPjyMPH8IoV1jp9PK5yds4adbYre5jQg8RCDOaKVxKTBsCX+P7BlpZia5Om2BoaI3y7yQkzdG21oOYGJVrvxIbApfM42y3ygSLV8Bi2gW6/TWJgUyN5xmcPWPwy196bNxYYdVKgWm23wg0nufjuA5aaQwp25LI5+9YlctlXNcll8sBHUYntdYo1Z2+cNyWUmrB2o0f3aB9Xzu326n6QJux1MG6aLFHtG5eihrCIEC5LuH4BNXpGaTQyCDArFTh+EnU1CQ4NcLZafyxUYzZMmJyEo3GcB3kpXHMqRl0GGAoH6FCBJBHoxEIaUK+B53PI6enyPuR1TYgctjWacpDgtzwMGdtgSsyWKakkDcZGDKZngmYnjTw3DxokzDUlCsB5XKIUwOESRg2Z7jWWqBUHHOW3PG4GxlHqIPQomnZiaRlRWJZ2yBD40C3Wmei/tx+81g8dNru+l4J3dxtEcWOTU9ZvP66zb33Vnj0EZsVKxLHvH4MlVJopVEqrJ/LyZ7U/HVD42sopiFiQghM02RgYICRkZF524AkQRBQLpepVCoUi0Wy2WxX2vV9n0qlQrVapVgskslkutZuuVymVqsxPDyMbc/xdGZao5VCBwGoqMunfR9fK5xKhZmDh9CVEsqtYTgO9vkxxLPPw9Q4MvAQKFAKU2tk/fKXuvnQou5tEqBELAkaQwUY0zMwNYMQgkAoQmGSJWCtdZEvrT/C1u/OMrnaJbAk2YxBcdjillsynDujOHUqoFTyQUO5ojh5ssonR2tcuBCiyVGumAhhoLXAdSWVsoXWFkppwkDj+xpNgCIEbdMcdaPu92nGSzVlrG6hiTbfUHQg6+9U/VUshYtVwD4d3WIBR8erVrX45EgPv/jFJHfc0c+WLb1YVmt30XEcqtUqSikGBwe71p0E8DyvIWQNEUsd+4uf0PdxL16idvI44fhFMgcPwflz6FIZMT1D3/sfIHwPoSO/lhUEGDUXFaqoM1Y/l436C1W/sQpVv8fq6K5t6Hb7JenTAlOBSYAQYIYV8qXjbN+RI//gWuzeXoSIcisNQ7JmdZ777gel6sKjIQjyBHVxqlYDzp6r0dNjgxacOuXz/ns+riMolxXHj7kcOORQdQKqTpYwTA4eRFZZPYiguZ0tk8zSeG7+H62nWyy1pBguNTGL/34hzRuAgR9YvP1OLx9+6HP77S6rVuYXeDs702KJpSwuQs8jKJUIZqZw338f3nsfcfQoYmYKq1bDnJxGVmqIIIDAh+lpdP2fQCPr4iTqVpahRcKdHYlVbKzE128kB3F3jcaFLtAJ/7ts+Fe0ClDlWVAedkaQz7d6MEyz0907WqY1hKHBypUmphm1uWmTzd13QRgKfF8zO2swNWUThIpqTXLiuObjwzU++STgxKmQWs3GqRkEQSSQGhH531DNLqYwiKyuhACiIxEUyZt7u69sqdG6T0oJpqayPPf8LOvWC77+1Qy23T1r61pJI/YXCVopVK2Gf+E8slzGP3GC8PQZmJ5EzUyjDx7E+PgTjIuXQAUIrTEDhaF1y3WohG6MuMt6NyIZPiTq/jQJLb50RdJuiWQwttxiT4hOfA4iCgETBjLfg5nJXPfosxBgmpLe3ub3cjmDYrHentYoZaCUDWiCAMZGQ06e8Dh23OfUmQCwmJ4OqJQ1NUdxYdRhfDzL2bMZZmYMdCPsI45fS4YliFbdWtLo5ElQ9zEaBL7B++9bbN7ksXljiZ07BxZ0KzuRitjNitaoMMQvlwlnZtDjl+DMWYKDH2KNT+Dv30949ChmtYL0PDKOgxGo6HuiLiM6UqGGx0O0xpg2miLZPazXnNBNF3bc1Wx6mqK1taivV/9yYwxPR9YeAoRpYA0OYRV6kObcnm5CCAxDELtiLAs2bjJZtVqwfWc0ONDfn2V2VlGphFSqAceOa86eCdm/P+DIJyEXxxSzMzZBIFEafF/geWZknSXHABrHYjGPUnaiPYSExOvoGIye7+HNN2e5dXOFW2/tIZs1bqqeWypiNxlaKbQXhT34MzPMHDmCu38vxnvvkduzh+yFc5iOh6VUo3snNEgh6iNrUddOQbNXVP/tMCFi0ce66fFRnzoAD0RC1ryuo8tZ6uZvJkdIdd35r6QAQyKl7NqJL4TGNDX5PPT3ZygWm6f55z83jOcFjI977NkzyyuvlDl4wKY0k8XzLcYnTM6dCwmVQGmBCuMBS41odJOXGrrpU2j4EiE+C5TKcORwnpdfqvHVr1TYuKkXy0pFLOUK+FNTVPbspfLCC1gfH0Yf/YSe8XGy5TKW4yCDEKGbTvS6jEUxX3VaRS0iFE0LTCeMCV1fP3lKqoTYxasKLepC1TpO13SG17umdYd4/LtSC4RhIoyb5+5tWSYrVxo8+WSGhx4aYmLCpVoJKJc177xT49l/CrkwVqBU0YyPG1QrJhojujXo1j3v3N/s9NnNse+dqXehBaCbtmZ9eAOA2bLNJ0dD3n23wuo1PTRDHBvBPAtGKmILiApD3EqF6tmz1F59hcJsGev8eazDHzPw8UcYpRJUKkjfx1CqpYtX763FHbvLf1wnbaamxQStXcl266uTqEEcISU6LI/b0A0Za7pX6p3P+n/dP9U7C4cQYBiCXM4gm5X09hqEoSIIYO26kM99PmBmRjA+6fHcsxU++MBkfKLAzIwkDAEdO7cTcRuJkctmGMdV9rhF6xZK5BJ3M1rPmcZfVGvC0OD8eYtfPO3whS8G5HKt1tpCkopYN9FRmWbDdfBHR3HPnKZ26BD+R4ew3nwLs1LFnJnFmJrCKJeu+DPtnourrdf++tO4ksen6Q/rhE4Ian19HfnMlGngDw0i8zlkF+OIrhUhRH3ELdq2nh6TdessfF9RqUrWrxU89hicPBWyb1+Njz5STE1mcJwMYSDrYh2n8ERcXa7jfn7ySF/trzmftFqX+rLPopGf2VmLvXszHDlSo79f0gyvXFghS0WsS2itUbUa6uw5OHiQ4NI4wf69qP17sU+don98ElNdXzz49QhTN0iKq6Q+3meaeCtWYBR6bkoRa0cIgWUZWJZBPm/x5JM5HnkkZHTMZfdul7ff9jl6VHP2TMClS4JazWB6xoxSp+Jx2jj1SwsaqU5tls7Nx9XOEoHvm4yNZnn11RIbNmRYv37hrTBIRWz+0RrleoTVCu6xYzi/+hXqhz8kf+w4hWo5ss6ExlALfT+bOxrdKR0FTXp2BmFZiC4l+M8lQkRhHZs25tm0Mc9vfEdz9GiZ996fZs+eGufP53j33QxjY1lqTpQiFX0RWmfgbo03Ewnb9WaWtiRKCcplg6ef1jz0cMjIyM3x90xFbB7RSqFcl8pbb1F75RX0G6+T27+f7GwJ0/dBq0as1VIRsBYE0YheoFkqCSFSCjZvLrBuXZ5vfkPjupq33irxwx+O8fobDhdGM4RhH1oVgHpQbb1LJhLdzpaczuRIy01OEEo+/rif559zGOiHbdtim3vhSEVsnlBBgH/2LNU/+3Pst96hcOo4TFzCmC1hKtUIEG1ktiwhmk7teiyZ1bmUy2LFNCWmCfl85Cb4whd6ueUWk+9/3+XsuZBDh0LeeafGJ58IZmaiKesii6uZ1rOwPrDPjtaCmmPx9NMuQ4MBIys0A4MLK8KpiM0VWqN8H/fsWZwTxwlPn8I4egz59/+AeeY8wqnWo6CTZXWaAQpLTsmoh1tIELbNklKxBEIIikWLwUGDrVttxsdrbN/usmO75OWXPY4cCZicMjh/ziBUMsoQqDvKL3fu3+xEYqUUnDxpsXdvwIMPetz/YHcKKFyJVMRuEB0EhKUSwcUx1JkzuLt3U/3gfdSRw+RHx8hfnMCoW9vNiPbkL3xavNHiRgPaNDEGB2GOo/VvNqSUmKagtxe2bTXYfkeODRt8Dh9WHDumeenlGhdGLcrlDIFvRaKuI9/Y4soCiLY7DGyOH6+xe4/Hjp0Z9AJmIy3tM2se0fVSN8HEBM6BD6m+8DzmSy+TOXmKYmk2SrqmNWC0Xaeabt3FcgJfGw03thCQyZDdsAE512WHblqigZqhoQy/9mt5vvzlqLTQ2rUTvPSywf/f3ps/yXFd+X6fe3Oppfe90dgBkgAIgiBAECQALhIlcBG1Ur9Oj+gAACAASURBVMuMpCfPmwiP/d4vtsN+i/8AOxzzfnWEIzwTMTHjZ+n5zYwWiqRGosQVICmK+04CBEGAxN5715Lrvf4hM6uyCg2gAXRXoxv5CRS6a+m6WVmZJ88995zv+fjjdsZG23BdizBszie71o+DOHtMaLQWfHZM8Morii99KWBgQC/adSozYleACgLc6RlKB5/HePpp7JdfovOTTzArHgQhUiWG6XzvSqce1zWXTDd5Z8uDQAhcy4S2NliCK5NXTPxlJuka69e38W//7RoeeaTMwRerPPv0JH/6U54TJ4uopPRiURNeL4OagKJgeqad9943ePLJaW68MSSXa11pWZrMiF0GWimc0VHKb71F7qlnyL/+MsbRoxhjY4iKg1SRgRIiql9Mvuz0hFHXHqlbrXQ2/XJBAGE+jzc4iDkygriIFPdyI13XIARYlqS72yKf76C/v8CO2wJefz3g149P8dFHeUbP5XBdK9b0qxf8pN/x/N8vnHjc+Lr5PLKSWF48kjIYHTV48WXNj3/s0tVlLIpUz3VuxObm/mitCRyH4LPP8F56CX73FOarr2OeOYl0HVCxTHMtaJ+uLzw/gbW5dGi5GTCIT8PODtSatdj9/cs+JnYphBAUCiYrV5oMDChWrfJYtVrw/vuC11/3ee/dgM8/N3DdZNqtqacupA1Dc/ih+RhO/iauh5zfT0FiZEVcZlWpmBz5tMDRowErVqjMiF1r6HjF0R8fJ/joQ8IDBxFPP0Pbq3/CrlaRDfWJjYXRs5G+NtaC/Au07YtJ4kfoYhsMDSEKhSWZ6LpQ2LZkzZo8q1bl2LfH57UdHs8+5/PiQY9PjwSUShaOKwibwxK1461ZThvO01aq/TKfR1g9/JG8cxgYTIy38dIfq6xf79PRYdQELFvFdWzELu6FaaUIKxW8kycpvfoK1k9/Su71N7BGxzHiRhlpLrcEaDkar2a0FGAayza94mqRUjA4ZPPwwxbbtlXZdXuJ3zzp8MGHeT47ZjE5aREERr2CP8kz0yLt90fU7F2rLo31HgauY/KrX/lsv9Vh5UqDrq7Wplxct0ZMX6Lcw5+YoPrMs7h/87fkDn1Ifmwcs+oglLouDNDVUNs/oSL0/Kg7zWJu0DWOEIKRkQLf+Eaer3xFc+yYy//7swpPPunzyeECGhuUJpLRToIU9QhrnQBEokq7EN6QjisM0nE3QRgYfHK4g48+Crl9p6KrawGGvgjXrRG7EFopZp5/luCZZzAOHqTtrXcwS2VkmKjjLcPTsUl77Gqp7SXLRBYLiCVQ+L3YGIagWBQUClBsy/FX/61k2y0u//KbCo8/HuD5VtyVSKTslqCxi3fcEyApAzmvi9PVEq+k1sv7AYHWEt+z+c2TEwwOuHR3afr6W9dU5Lo1Yg258loTOFX8yUmYnCL4558jn3kG+/PPsSpVhE4afF067rUkWZDCRoHIFzF6+xBCXDOCiK3gajqHCQHFgsHmTZKebkF/X5WOdpfXXvP57JhJqWShMZnbxXQh9nm6bKo+hsbggw8t3njDY+8ed8GNmBAia9kGRFrwSuGPj+EcPoz79ltYp89iPfU09tEjmGHYEMSqhTWXYUrEfKMRiLYOjIHW9DBdbkgpGB62+dKXBCtXlnnqdwEHD4Z88IHmzBmB48bi4jWpn2Q1MzYyeiGmk4laQTxOU/ytNFPgyKchHx/yuHX7AgyfbEXTBfH6bdmmNcIPCMbHCN55B+exXyIffwyr4mGVyhhh4ionh8ViKJMuXQIpCdvbkQMDaLE4cjOLdWGer3NJCEFnp83OnTabNrnsu3uaJx6v8tvfBHx2zKDsxp2eEqVZsRBTyGaSaSQ0eGVao4XFp59qXnvd5VvfUliWbMmaznU5nRSA8DzE0aNM/+F35A4eoP2jj5CTExgKZFhvUCbQtQtOc5egjAvjmBJ3oA+xYT3qertAzjNCQFubze7dvaxZ43DXnhl+9asJnni8g8kp0ORoSNipdW2Z7/2ugDAVF0sn5kZjTowX+fhjyfvvz7B1awe2Pf8eYXJxSi4WDdNJrTW+7+N53rwPPBtBEBAEAWEY4vv+ZfclvGziz+idOkXlwEHkY49R+OBdcqdOYZQraNU4z6/5D0nmfazOmZ2S59Ns2/28jVvIYUqJCsOGtvMLje/7+L5PGI+rVGv0rjzPqx3TCzGuEJr+fsmuXQXa2xWaEgcPBpw40U7g5aP9m0z1RBL/aM7gb/4OLvdoTqV3CACVMpiactnivfc0P/uZw//4P+ToHxBxxdn8nTW+7xMEQc1eNHhiSikqlQrT09PzNuDFCMMQx3FwHAfTNHFd98reKFY0SUKMEefvNMP1UMePE77yR4zf/Y7Ca69hTU9i+EGsTRcbr6aYV2Px9uw1kdcLs50Ss50WamiYYHAQ5Xl4ocIyTUzTTKVJNr7PfOL7Po7j4Ps+lmVhtGh11PM8HMchDEMMw2gad67GY7Zjq/G1uZzmhhsk3/m2SVeXx4svVjj8saBSNdAY1Jv/zvZ+s92fq/MgACP1Dulk3Gi8IDA5c1px4IDmoYcqaBT5QqJk2zzulX37pVIJ13UpFApAkxFLvLFWXbmUUrXbVY+rm7+exl1NGBIePoT6wx8wf/97Cu++Q951o9hY/FKpZ//7xrWYzIAlv4t4b+jmbHEhsbfdSm77bQSWhQ5CtEp/v3rW95wvmo+pVsV7kzHndh5dzidvfK0QgvZ2i7178wwMuqwcgWef8Xj1dZiZKRKG6W5MFzNi5xuhi9P0mtqfidRN4zgGX5wwOXo0YGREk8tdKKJ8Zd9+s0ffYMRM06S7u5vBwdasKAVBQKlUolwu09fXRz6fn/cxdBiiXBd/cpLKiwcxnnyc3LvvYcQJmEKLmgd3MQN1PRuvC6GbvdJ4BhNaJm333EP+K1/BkZJctUr/QD9Wi4rAXdelXC7jui4DAwOYLarbTMYNgoDe3t6WjDs8DLdu87ltR4n/9NfjfPChZGpS4PkmWiUeVvrYFfWpha49coVHd2NBePKY1gaem+fcWRfbaqO/30bK+buQCCEawhPLfnXSHx+n9KdXcP7xZxQOvkTu5CnMWNtepIKfjVPRjNlIh3EjHyP6P5GJV/ExPdmeo62rHbtQAMfNyo4WmFxOc/MW+A//ocCLB6v8/g+KDz8sMlOym6aVcUpGrTxJ1p6ZT8JQMjFh87d/W2Ld+ir9A4KurvnTk7ugJ7bc8sS01vjnzuE+/zzG3/897W+/jjU2iXQDktNRaGKBt+hvslPtMkjSk+K7WhBpY0nQu3YiVq0CaSxqYspyvTA3I9C0FTVbNlts2FDkjt2KX/zS59e/DpmcKNA4rYyvOMTttRYkJUMQhpKTp/P86U8emzd77Ngxf0Ys+V6XrSemtSb0PLwjRwhffBHx299iv/wScmYKoaI4DjqtA7C8jPdCI5p+1qTiEbXFFdXZjc4X4kWy5XFcXdtopAFtbYJVq/MMDyuCoMz0dJWDBwQTE3bUuRxSK2BRDUrdkM3zFmnwvByvv1Hhrj0+O3bM+xA1llWemFaK0HGoHv0U/7HHMP/lt9jvvIMxM4NK1DZTN8hM2OUT7TkZZwE3hokFSgp0sR3M60cEcdGpXVk0QkBnp8mdd9qEYUAh7/LyS3DqtIXrJk1KkianyRSTBTgRBFqbHDoEn30W4nnhgmmNLR+Rp7jDtnvkCJWf/xzrH/4fcn98GXNmOspqiZbR4u8sleuVWbE507DWFRswoYE4I19JiVMsYm+/DXNoeLE28zokmVPUk0BXrizyyCPd/Mf/aPHQQw4jK31MSyFEpMIikpiYFgt6DkxMmnzxheLMGWfe3jNZ/U1YNkZM+T7uG29Q/d//N9r/5v/GPnYMmUjAaBFnjSenYRLUlFkg7ArRQNLsulZLaluUNqynuHcf9sqV2VSy5aTy7wQUiyabN7fz7/5dG488MsWqVecwzUp8CZdE5UoLaQIEvlfklZc1v35shiAIF0RrYFlMJ92JCSoHDxD+8hfkD7yAeW4UGYYIreMrjkBqUELXkpgjc3ZeclnGJakrWcWdBKK+1vGunJaSgY4OpG0T+v7ibup1xnnJDgJyOcnqNTn+8i87uOWWKs895/D4Y4JqtViX9lnI7dEWX5ywef+DAM8LKRTmfyFhSRsxrTWh71N96SDBL/4Z89lnsc6ewwhVzUAl+V1JIms6mJ8kbEZfZWbN5kJqVl7LrJOJc2sYqK5uhGVlXtg1hG1LbtlaZHjIZHDAYWKsxB9fkczM5FAqnRg7F+b+veo48XliyuboMc0XJ1zWrzOxrMyIAdTko51Dh/B/9UusZ58h98VJpIrNkq7HvZLejkZzRn4tXybjcmlepUSAKBTI37QJuQBJyxlXh22bjIyY7NtnUip5VJ0y77wrmJrKRV3Jm/PJatQz8RsfmyNa4DomX5wIeeUVj+GhAqY5v/pySzImppXCn56i8t57lP/u77Ce+j25L05iKZBaxFn4jdVa6T7LyU3WgvyZFzZ3ov1b83Ljg19LiejuoXPPPoy29kXexowLMTho84MfDPLjHwXcvKVKoejXWgySvom05E6CnuWxSxGtUp45ZfHkk5rxcZ8wnN/zbUl6Yt70FKXf/ZbqX/8f9Bw7jjVTQobR1FASTSWTOP7F7H3mg10+aYNvxN14tIAwl0MNDdN+xx3ItrbF28CMS2Lbkh/82RCmVeanP/U4cBD8wIztU3yJ13KWmcrlxNAStYvoeJmcFLz6iuDYZxX6+gw6OuYv+XXJGTFndBTn6adR//SPtB05DBUXESZeVqT9pdOeQsaCkBzKYVxq5Hd14m/cSNfKVUh7/g7QjPknySV74IEiUrjYlsvvnw4IdVpgMXl1KtP/si/7ieemCALN+LjkwIEJVq/JXZ9GTIch7ugolSceRz/xBParf8KqukitU9eHes5LPSKW6X8tFMkiiRKCcMUI6vbbMYrFrMfkEkBKwciIxZfvB9NU2LbLS3+k3ibuonI+l0PiXkg8z+bIpxaTkxCGCsOYn+NkSRgx5fv4Y2OUn38e/bOfYr/+JvZMKVoQi1+j48mkXtRqvesIQS3nRxsmangYbt6aGbAlhJSC1astHnxI090TIA2Xl18JOXvORocWYKQmhEm87EpSJKLpaRCaHP2sjXPnNK4bUixeL0ZMa/zJSWZe+SP6b/6Gtjfewp6KRBt1PJWpZR/HraSUUDUPLWOB0PUyvKBYJOjtR/T0LPZWZVwmUgr6+3N89asmQo7i+g4vvaQpzRiEQSyAKJJpYZJXOTfjU3cmojPR9wWvvib5+GOPW7cZFIvzU5p2zRuxwHVx3n4L5//6P+l59VWscqUe/2pYDdZEHZIj7cnzUgAyrpr0vowO6Sio723dirh7Hx3r1y/WpmVcBUlS7H339qLVGAN9FZ56SnD6rIyLw5Oay8uJi8WGr/ZyhcbHcQzeeafK7Tslg0P5eZlSXtNGLHQdKs8/h/9ffkb7W29jV8tRm7U4gJ+QLA+rWkZY9F+txjVjXtGp31ShgLn9VuSO27CzVcklixCCtjaTPXt66Gh3GBzw+bu/LzE52R4lxNay+6/QLdBR8EeF8PLLkpu3+Ny0yWFg4Or7U16bRkxrwiCg8tqrBL9+DPO55ymMTyJCVTuD0teE5AKRnr2ngzaZNzZ/1DP1BQKF7urC3LABc9VqZNbpe0kjhKCvL8fO2w0QZb44McUzz8L4WJEgMKlPI5s9g+YzTKceT87UpNBWcewzi0OHQ86d8xkYuPrtviajsMrzcA8dxvv5LzH+8Az5L04gQ1Vr4FFPVKXeQi2V4Cri+/NqvrIymgaSCbseHEIODyM7OhZ5izLmi44Ok23b8vz4xya776jS3e1Fya+iOZs/ua+aHks/15xnBpWqxdiYZHx8fnp5XHOemFaKYHoa55/+GfvXj2MfPYqhkghMRDqFJe1rndevYl43LJuX1usmowNXC0m4YQPm0DBGi/TzM1pDb2+O/fuHmZ4aZfScz9SUgR/IunMFdaOm0x4XRLGwJnGFWvJ5ZHJmZgRjYxql9FXr719znpjWGl0uY731NvbEBKYKkbFSwmxE65IaWZvkJI8pGnTDMq6aWoxRCxAS3zQQDz2EefPNGFmC67LDNAV79hbYd7fDmjVlBEHjTLFG03nWMEVqRIvoTP3gA8Vzz/jMzHgodXUOwjVlxIJqlcp771L6z/+AfOsNjNJM6tnUVDFjUWgQRLRs1Or16DVroaMjm24vQ6QUrFhR4Cc/6eJ737VYtcqj7orFKRepAnERZ+fXLnSIeh5UTQMrqsscHZW88abmwAtjuO7VTSuvCSMmgNDzqHz4IeUnfo3+5c8xTp9CB36ti060e7JCokUnXvpVhSL+tlsxV4xkqhXLFCEgnzfZsqXAV75qsm+vi52rIEQIWlETkYM4yTwxbHVhgOTZ5rml41ocOyZ55pkypVJ4VY2KFt2IJWmqzqefUv39U6jHH8d6/32k50a7JTbiKjZmzbsjo/VoKQi7Ownu3oc5OJDFw5Y5tm2wdavBgw9rtmyZwc4F6RW1yNoJXYuRRT5YumQpfdYK0AZaW0xM2rz+hs3YmI/vz4MRa9atbgVaa1AKWSpR+s2T8Iuf0/7OuxiqaWoiQAsd31q6iRmzENoW/oohjK9+GdHVddHXLrdWgHNhOX7moaE8993bxo9/HDI85GGZqsFw1ZIz05Ho9AqciKeeQoA2AQvHKXLyZA9Hj7qUK8EVb9viemJKoSYnqD7+OMXf/AsdHx+m4HjkA4WhJaYCQ0Wru4aKJKYvEC/MaCU93YjNm8ivXn1JxYrrUeF1OX5mw5CsXFngB9/v54c/dFizpoLAo74SGce+4uz+dMYmSESijqHrhs8PYHRM8sabDpMT4fmDzpGGvpNaa3zfx/O8K37DOaM13pmzuAdfovhP/0Th8GGsUilqBZYiUadI9NyX3+GxtNBA2NGFWrUWLAvf9xHh7Aeg53n4vk8Yhg1t5xca3/cJgoAgCPA8D6XmJx/pUniet6jjJvvZWKCkY601vb3w6KM5TpysUqoozp6RaC3j+uX4dZCqt0wZtcQbSyWsOw68+qrD/fd7jIwYc1ofSo4pGYsNNHQAV0pRqVSYnp6elw9de++m+0JrZLWCeustePwxih98gFWpIFVj0lzj2kfS9CNzxRaTwLTxV4zgbd5MWKlATbWioQ4MAD8IcB0Hz/MwTRPTbE1aou/7OI6D7/tYlrVgJ/WFxg2CAMMwWj5uGIYYhlE7ueePeg6Y1jAyovjyl0MmJnxePBgyNdmFJh0XTY6F2RQvUvlkWhL4go8PKb74wmH9uhDTSPfEnN2ilUolXNelUCgAsyS7KqUW/Aqiw5Dg8CHE078nd+AF7GolTmhNbQdRcDBxS0VNrSJLs2gFsx1CGgh6e1GbN2NsvzV6rOZdpSSQkittfCwppWoXyVbQPGarpnfpcRfz884P6cB8+idYlmTv3jxKuaBdnn9uhnKlE6VSxeJJesWsS3FJbY1GKYMzp/McPx4wMa7p6090zBQXOtOTz5rQYMQMw6Cnp4fBwcEr/eRzwp+cpPLOu4S/+z3t50aRTclutXxKLUmCgsn+SD58xvwxS2L1rEUjSgj0xhuw79hNYdMmjEt4Vp7nUS6XcRyH/v5+rBatYrquS7lcxvM8+vv7W+YBJuMGQUBvb2/Lxw3DkN7e3pZ4gIODsHpVwMjIFJ99dorDn+Rx3Vz0ZNwqMTquEs+qXkCe7n6hlEFpuofPPp2mXCmwZfDiC0UQhb58368ZbJl+ohVXLK010y8eRD33PG3HPifxHptvhgZBiCCqmZSqHhnLWAjqK0uhgFCIWs2DRhACvinwN90UeWItOkEzrl2kVKxeDX/+wzb6+10MI/aehKhnEYjzvTOdOq5AEiiL994POHZsbn1KF7UDuPJ9qsePEz7xOOLNN5GeF+V+CXGeN3ChW8bCE104o5QWhUAh0ULgr16DtXsX+c2bFnsTM64JFH19gvvvL/DA/ipDQ/FqZZKdL8Ikyk99enk+Wgs++bTKiVPuFW1Fy4yYCkO88XGmfvoPiAMHMM+eqRVVZ77V4tKcjgjUFEM0EEqJb9novfdgbbsVs/vSLn/G9YFtw+rVJo8+muOWrS5tbW5K7SKtBpumqQBTw8SEydgoVCqX3zW+NUZMa4KZGSrvvI330/+MdfQIlu+TnDpZ7tfiUTdgujmvGhBoCUHepnrjDRgPPoixYeMCrH5lLFUEYFuwb18Xd94ZsHKkjBABF3ZNmhcKIi/N99o5fcrg8+POZW9DS45GFYZ4x49ReeJxuk6cwfb8uvJE4npmLBqiNl/XcdfOOkpC0N9J9dFvYt6zD3NoYRd9MpYeUkJnp81dd8Gtt7q0FStIAiJp68TbOk9IqwHfa+eTwwZvvX35Rqwl0VlvZgbv0CHsl14kV3WRYZJzEs1ZEoHDjNaTpOQ0KELpaCUyEAaeaeD09CB27sLo7My6GWU0Ufff9+zpY3p6gmpligMHJKWyiao9nfa8dOpn/Ji2KZcDJidClFKX5e0vuBHzXZfy66/h/uYJikePgA5qHphIZe9m3tji05gZJFBC4A2P4O+9h+6duzDa2hdv4zKuUeruR2enzX339dBWdOjtC/jVL31KJQt9XtLr+S6LRnDseMBbbzuUy0Xa2uw5iyUu6GVVa03l6FH8F17AfOklrJkZhGoWK8x8sGsTTdjVid6xg/zXHqE4PIzM1CoyZiU6hw1DMjyc4649Rb79bZO166rk8vXYd0TaWdENt/Fxg48Pw0eHSgTB3J2aBTNiWinc6WkqB15AHDhA4fjnGKGO8r9S7mXW6vbaQqd/27Ae+0v30bF3H4ZtL8vC5oz5RQhBT4/JHXfk2XJzlY4Or5bvGTHLWnhSEO7bnD2T4+23q7je3CsPFsyIKd9n5vAn6F//GvvNN7A9F6mj+FeNtJRHxqJSO7REHK0wTIzbbye/bx/53t5F3rqMpYRpSnp6LDZv8ejq9KPVShHG53ssS5Pk8EBdyUeblEo5PjkicZ25S4MtnCdWraKefYa2T45QKFVSzVJSE0mdBfWvOeK0HmfFMHrTJuTKlYu9RRlLEMuCnTts+voAQrROqb4m1OL6BokVGBsLOHBgmnPnyvj+3OR5FsSIeePjTB88iPWLX5I7cQJThRg1g1Vv5pFl4V8rRN+Kin4FAf4ddyBuuQWzp2eRty1jKWJZkjt39/Hd7xns2BkihIqL1xJ1gNSZryFK7lG4rub0WUXVCefcQGRBjFh49izOc8+S++gjzHK53iMy9ZrMeF2DCIEyDJzuLsSePRgbNyBzucXeqowliJSCoaECX92fY/ttGsNIJcDWbNP5ShmhkjiVIuWSIJij2Ou8GzHl+4SnT8Frr2JXykilshrIJUTYVqSycwfWHbsxB4cWe3MyljBSCm660ea2WyWrV/kIkZa0hobSJBFLVysL3+3i2LGAcnluwf15N2Le1BT+0aPYR44gwiAzWEuCWDfXNAhWrCD80Y+xt2zBaGtb7A3LWOIUixa77jDZvx8sM4iCFrop5aIm1WOglEW1XODllyucG/XnFNyfVyOmwpDw48OIP75G8dw44iqbYmYsPOlvKBgcxL/7bjof+hpWT0+WUpFx1Qgh2HZrgYcfKTA4XMGUzTZB1IQgktf7vuCNNz0+/7xCtXrpgvB5NWKlgwfx/8vPsJ7+PZbnIZZh15fliBbgGxJnxTDeztvJ9fcjMr2wjHmiWDDYdJPFt78l6ekKMWU6pCRSctSRPQsCOPKpzZkzGse59ArlvBqx8M3XEX98Cev4sfMafmRcw2hwV60k3LOHwr69GJaVeWEZ84aUgpUrLb7znSLrN1Qp5P1Y3DS1Upm6G2rJ5EQ7x4/B+HiLjJgOQ7xzo4jDhzHOnMIILl8TKGPxUNJA7bgd64EHad+ylTm1nMnIuAw6Ow1uv73InXt8+gc8hEySX5NXpFMuBEHQxuFPNCdPtsCIaa0JKxWmn38e/ckRZLkSpYBkImFLBr+rm9y+eyjetTfr5p2xYOTzgkcesVl/Q4CVS9dUNl00hUZrg08+0Xxx4tL5YldtxFQQ4J08ifpPf4398h+xpmciKRdozs/NWAT0RW4KQWCYhA8/hNx9B1ZP9yJuacZyx7IEu3f3sGkzdHV70ZRSNzcP0UAIhIyPw+i5kHL54n1wr9qIBefOUnnhOXLHjyKrFYit5mwJrhmtpWasRHxD1vTylYSwuxPvoYew/pufYN1yC6JFfRIzrk+EEHR0WDz8oMUduzSG4cf5YYmucEwsEDE2oTh1xmVq+uLa+1dlxFQYok+fRrz0Eka53vy2YaqbsegknWVU3KtBAcqyCEZWoL//PcydOzEyLyyjBRiG4LbbcuzdI1i3LvGw4qLwhnmbpDST4+xZk/Gxiye9XrER01rjnzuH/+672G+8ifDDOBm3rhWWGbJrARHXpoma/LSSAq+vD3fnDqz7v4zs6sqC+RktY3DQZudOkx07kord2Eg1BPklntvG2TPWJYP7V2zEVBBQefNNyk88gfHRR4ggjIeuz2+XZTxsCZ3s0Teha9+GIGrD5hcLOLdsw/vGt8iNrETa9iJvacb1RC5ncsMNOW7bbmIaAYJUb8oke18LtDI4ezrk2GcX192/YiPmTU/DB++Rf+dtzCDAVEEtuVURxWCWZWB/ieS/RYF7HXXtFpFOhQJCUzJz0434Dz5A9/4HsjhYxqLQ3S1Yu1YxPDyDYSQB/hhBTUTRcTXlysWnkw1p2UopfN/H8y6+GoDWzBz6GPHeexROnUQDBkQB41huJ2NxSaTbGhewBdUVI/DV/dj33ofO5y/9XV8Fnufh+z5hGOJ53pxF7q4W3/cJgoAgCPA8r9bufqHxPG9Rx032s9GiC1Oyn69k3FxOcdMmwcNf8/j//muF6ekiaCPdihIAzxeUK5pK1cGQEiGoHVNJSFI/lQAAFyVJREFUM5GaEdNao5SiUqkwPT190Q0wVIjz3rvkPj2CrFaJIy7JwmTS/av2e0brEUROo4gLbLWUBLkC3u496F27CQYGKZXK8av1gkyTgyDAcRw8z8M0TcwWlTL5vo/jOPi+j2VZLT2pHcchCAIMw2j5uGEYYhhGy/qCep6H4zhorS85bsPFNLYNXd0h99wLr/ypxOFDFpWKQbPFmJiQHP5Ec+RImcEBkFJTKpVwXZdCoQDM0u1IKXXRK4jWmmBmGj78COPEKaSKJac1yNSmZsZr8Wno4N3RgbttO8Yj30DcvBWRz6N06nteAC8pOZaUUrWLZCtIxkvGbFUJVfrzLsa4rdzHybjJmHMZt/kIa2+XbN9eYN++EuNjIZVKPK2s7TfN+LjF4UMWhw+7dHdZ5HK6Nm5CzYgJITBNk56eHgYHL9wgVfk+4+PjiM+OYZ4bQyqBFJEBqydSRqdP1qFwsRFooXELOUo3bIR/89/Tt38/dn9/S04wz/MolUo4jkN/fz9Wi6oBXNelXC7jeR79/f0t8wCTcX3fp6+vr+XjBkFAX19fyzxAx3GoVCoopejp6bmicft6Fd/8uubtNwUnT4aESsbWLjo+fT/P9JTg7JkKPT29tLdHY6TDEzU7M+d4hVKI6WnssQmsqhMZTd3Us6imD5SxuESB/XDNGsKHH8a8/XZkR0dLi7uFENddMflifd6luJ8tS3D7rg623hLQ1++ACKKbTEIcBtMzgo8+dvH9yMo0H1M1I9bYyHZ2lO/jnjuHfuoprFMnscIAqXWDuRK1xrgZC8Fs5UOzPU6c3OqsWoV3z71Y+x9AF9uinvOt3uYlsqI7X1xvn/dqEELQ2Wmydn1I/4BPUnIUHcjR0VyuhBw56hLE6WK6QVQxnWIxB6vjTU8z9cYbmE89hXXmDEbcCPe8DUNnRmwBSabsOt77tWhELSM/etzv6ELt24fx4EOYG29AGdkEP+PaQoioxduNNwpGRkIgFtbXSXs0RRBoZqYlbqp5SDTjjM6E+nQy9f+FCM6epfz001jvvYtRmkbO0rmoXi+ZXY0WlvrVSIu0JJNAS0FgGvjbt2M8+DC53XchC4Wa0Ws1S3GaczVcb5/3apFSsGWzzfr1Gstyo1lhrT9lSKg01arF+ISD54VxHtlsntgl0FojzpzFeuEgZqWKzKSnF410YX16+qiRaCTKtHH6elHf/x72ffeRG+jPLiwZ1zQ33lBgy2ZBX181jnmFxGnz+J5ibBw+/7xMtZrq2xEvANRjYpqUHMb5aN/HLJfonZnBjDsYZbSe5rZ3UU6eQOvo2hQaBt7gENV/9RMK+/djrxw57/UZGdcatm1wy9Y8d+/Nx81EJGiJ0AY6NKlWDCYmFX5Nhqx+NNenk5eI67ufH8d9522ssXOIFuaiZNRpDOSLOBoQFXYLNMo0qK5ZRfnhB+j4i7/AWrMG2bTMn/liGdciQgg2brTZs8dkaMhBGhIwQBvoMIdT6eT48Tzlyvlh/Mbp5AUu01opwvfeJXzheWSplBmxRSTRB0viW0nJWSjBXb8O9dBD5H/45xQ2b8YoFBoy8TMDlnEtMzRksWtXjn13++TyKj5gJVpbeG6ew58oSqWkFGgWT+xihFNT8O67mG++iZxrW96MhSExYCJSpFACAkNQ7enE27cX89FH6bj7HqRlLSnFjYyMtjaT9etN7twTUij4CKFrq/BhKDl1KqBaVbXjOrkoz8mI+Uc+QR45Qm56hiyqsngk8S+IlDCV0ISGxCkWKN12G+LBB8nv2pXp5GcsWewcDAxo8nkfKaMZnwaU1riOJAhIae7P6onNPuGovvEa/kcfIlyPzIgtNgJDp+oi83mc23bQ8e//VzoeeAi7o2OxNzAj44opFkzWrm6jvQ0MQ5EkvwaB5sghwelTAVXHj4WlIiOXMmKzqH9pTVCtot9+B44dj8qLLp3Yn3GZzKa7duEGH1EpEQJUVyfBrl0U/5d/T2Hn7VhdXYhFyMjPyJgvCgWDtesKDAyNYueqsWw1oAW+axH6Aq10/Phsnphu9LKU71N+/33E4cOYE5PLVOVwcblYN6J0QX0tNiAgFOAViwTbtyN/8hOK996H2dubGbCMJY9pSnq6Le7YBb19CiFU3MINXFdwbtRneiaIwyqzTicbjZgOApyjRzEmJjB9P5tILiA6VTRfW4EUoISoqeQSdy0K8jbezVtQj3yd3De/hdnVlSm0ZiwbcjnJV77czdo1EsuKVik1gqojOXY8YGxUEZmuJhWLSLal6d0EWPkcRnyFj6aSmSs2n6QTVmv34h+1VUh0vBoJWAbemjXo7/0A67vfx+7ty1YhM5YVti3YvbuLG27QdLQHRGkWAt+3OfGFwfhYosl/nhFrRCtFUCpTPvgC+ty5mlqFyDp7LwBxYl+86oiOlUh0pAiihSCQAjdvM7NmLep/+p8pfO97FFavzur0MpYdUgp6e3P09pbIFys1mWilLT79VHP6NNSXtmZRdk1Qnod34iTGcwcwzo3WRA8zG7YQ6Gi1RSRNVpK5fpQHFgqB39GOu2kT+kc/ov0rX4m6FLVIdC8jo9UYhmTjBsnKlXDqlEYFUXR4ZkZRSRqHxOdJw1mQtk/h9DTue+9S+OwzjGo10mvPdMIWiLidWux1JVcZJSA0JG5/P/5tO5GPfI38w49gr1yJzOUWe6MzMhaUO+7o4J334MgnmrHR6LGpqZBSWdVEDyAtT50yYVprwvEx/LfepK1aRcZa7FkB8cIhYu9YQmzM4lKivl78vXsxvvltig8+SGFwKIuBZVwXbN7czs2bXbq7fcZGI1M1PQPlikBrI9Ico8GI1SUtVBiixscxPv4oWpXU2TRyodEaECLaz0JHcbCcTXXXLop/8a9p/+oDmHF3l4yM6wHDgELeo60QAHk0Aj8wcV0TzwuwraYUC5XWyQ9DjFKZ/JkzSBVGQeb4qcyWzT8CkEiUFui42a1bzDO5/TZyf/VvKOzdh5nPL/ZmZmS0lHzeZMvNkl27QwzTB6EJApNTpwKOHavU8lrrMbHUDCUYG8M/dAjzyBFqwtYNL8xM2XxSE/MWGmXZOCtHqOy5k8Kf/Tltu+/E6urOppAZ1x1CCDZvLvLAAyavvab58EPQWlB1oFyue1apwH79JHFPnsT56EO6pqbi8qQkJyNL2b8cZt9TAt3UgyCRBldSEO64DfbvJ3/vPRR234nV3o7MElkzrlNsW5PLhfi+Am2jhUApQRjWz6CG1cnkYX9iHO/UyTg3rFH2IvMHrpxaYw9BaoouUFIS5nP4G9cjvvNt7O88ir1xY2a8Mq57XDdgYtxhdBRCBaYJliWx7XqKa8qIxTExrRFBiAzCWjA/yRiP72SG7DJIqiAS+Wgdlw4BSATKMPHbO3DWr0P/5b+m+PDD5DZsyOogMzKIainb2iSdnT4TExrDhELeoFCom66G1UkA3/MIJ8bR42NEHptO/sWvy7gcGhKEo/qi2k73bZvy8AilO3dT/OEP6bpzN/bAQGbAMjJiOjpyrFsXsHVriZMnA1xHc+hwmXfenWLjhk6gOdlVg1epoMbGMKYmax6DQT3RNTNicyNRn4gMWGOzNA34pklpwwb8Bx+i8/vfw1q3Ht3Zha8UeN68bovv+/i+TxiG+L4/r+99MTzPq42bbju/0Pi+TxAEBEGA53moFsmpe563qOMm+9loURgi2c9KqQUbV2tNoRCwarWPYfhorfF9jevW4/N1I6ajeknv7FnU58cwz51LTScz43U5JAYsvdcSKWklJL5l4d6yDffuu9FfuZ9w40aUNHCrFXQ12ttpZfzaI1foDgdBgOM4uK6LZVmYLSpX8n0f13XxPA/TNFs6ruM4+L6/KOMGQYBhGC0zJp7n4TgOSikMw0C2wJOPjEn0/SqlkFJe5bgXsDIaPN+ns0NgSA1IqhWLmSkTrSRaNwf2tUZPTCBPncGemEh66WQe2GWSLIXU+kHGGmChGce/NtwI332U3L69sHZtlBumVd1IzaIV0vDIZTo0Sqnzbq1Aa10bL/m9FaTHXKxxlVItK85Pf85WfVY4/7i6emY7sAX5nGTVyjydnVCpGExN5Dh7Oo8Ko4tEKiYGtiGxlaboBeS8sJYJm9VMXj41QyY0oYTQtvF6e3E234z33T+j7+tfozCyoiUrkJ7nUS6XqVar9Pf3Y9v2go+ZHtdxHPr7+7FapP3vui7lchnP8+jv72+ZJ5aMGwQBvb29LR83DEN6e3tb5gE6jkOlUkEpRU9Pz4KN29EREAQV/vG/KiYnDUrTeSZGC6gwcq9Sya4aQ4dUj36Ce/YUOQkibDZeWaLrXElWIkMJnmHgbdqEfvgRrG98C/r7sPr7shSKjIw5YFmC7i6LgQGfnK0IPB/T9kBEF8WaEZNa0+mHFE6cwBgfA9U8pamLJsrMM7skmsj7cteuxfrv/gprx07C4WG83j60CsHIViAzMuaClJKOTpNtt1Z5612NnQ8YXqmRZlNgXyiNmJ5GnjyBnJwiUUuOFteSZKeWb39Laf54lzLUF9odoWHgtbfhrV2Levhr5L75bcz16wlUiF+poCuVObx7RkYGRCKJti0ZGHTJ5S1mZsD3BVo11U5qFeKPjhKePo0uRf0lk/IYLUilCixv5mbIRKLBet6Lw1wBd906vJu3EG7fjv31ryNHRpCmifB1auUyIyNjrggBUnqgDaanDM6cNpmZUWgV510KNEIp1Pg4anQ09hQ0QosovynRd0/ecBl6ZEnWSaKqWsvrms1SIdGEKFE3ckpKwpyFu24d/g9/hPjWt2hfu5ZCR0fjKlU2Fc/IuCIMKRFC4ro5xid8Tp+ZiUqRgOjEUppCxSHn+hhhnBwQ1/hpvexnkrU6RhGXB5FUK1AP0tdXaeuZv1oLlDRwOtuZvvUWjB/+Kzruv5/i2rWR95WpT2RkXDW2Ldmzp4uf/UwhUAShheuajXliguiOoWOpZBFpjKVzxZZz6VHSmBaS6qDUpC8OEOq4E5EWGhQoaVId6Me95Ra49x7a7txNfsvN2IODGC1KY8jIuB6QEnp6JMWCj5SgQoHriEYjZmhNu+uRD0JkSiDxcoPdS5H6VDK6lyoZrS1uxMKrtSlnmLOp3rgJfd992Pfdi3nrNnKrVmEVClntY0bGPCME5HLQ3qHI5SOZw3IlrBsxQZRi0e645P0QQ+lZYzfJtEou07ll8vkMnVqQTVX7aAGqUCAYHCRYswZ1/37yX3uYwrZtGHZrEjkzMq5XbFvS2y9p79BooQhVk8Y+gNQhEjVrqZGO24nREBtaTohIhihejtVCEApQQiPRIAWqrQ3/xpvwvnw/Yv9+Onftwu7uWewNz8hY9ggBtm0xNBjS1RUgDSi2CYRIGzGlEMqvdRCJVWNqAe9ausUy9cIQGiM20BqBijttajSuISj19sH+Byg8+l26774Ho70dkcW9MjJaRGSwDCmRQqJDE98xGmNiEo2lAqRWSK1rWflJbbnQ0b3lXAxenzZq/JyJOzyE2rYV++576Nh4A8aGDVir12D29mZxr4yMliOQ0kMIjedbzMy0o5RsjIlZ6EiSuilFajmvSkbUezlpAU6xiHvHHXDffdi37yS3bTvGwABGPh+lTGRpExkZLUWISOW1o7NKoQhT00VOnm7DdZMCcKUwgoBcGJKUJNdW5priX604fZuN5pXomV3O32ghCGwbv6sN0d+Pe8ONiG9+i9z+/eRHVmK0SI0gIyPjwhiGpKurSrEIrlfg7KiN6yark0phOi7troepVC2XQMeeCRpEs3s2z+im3xulAev5W81F6elH0q9OtFTFLBuc5HshBNo0CfJFnOEhKrduRdx9N21f+jKFDRsx29uzZNWMjGuIYiEgZ2vQITq06zExQ2sKKgTfR2pV88Lq8a+FjebXjVYqZ0sKpBINz8zmXTUbv9rvtZp1UTNkyduFAlzTwG/vJNi4AX37Lox9d9OxexfF4RWIQgGRZdtnZFxzbNjQzciIz/sfCjo7BZaVGDGgEKpoWhlbgmR1ssYC2rGaAmqyAkqUMZ88q1OSGjpJSNXJX4qmUmwRG9+6H5YY5VAK3EKO6shKvNu2Y23dTvG2HVjr1mEMDmL29GSZ9hkZ1zDVaoDjKiplwfHjUKnERkxWHfKnzoDnx2VHzXGw+rRtIXyTur9VXwGNHtcNKkDJsxqBENEiRJKVGxm+xHzFNY8iksUJ2wqwdh165UrCkRWwcQPGLdtQwyPYN9xAvrMrW23MyFgCRCkWGt+HqSnw/cSIlcvkjh5Fux6G0g1NKUTKpMwWX5of0tGvZs8qVYYtRMpXo2ZRVby5SZ1nKATKNAm7uwhXrCC8YSPWXXsxbtqEvXIl5kA/YUcHlUoVWShmBiwjY4nQ11egs9NLzbaSwL7rYp47SxiGiQoiUJ+YkfqDhUHX/K+k9EcDslarSK1SQOqwbvDi6WUgo62T0sSwbIKcjdvXi7/9NsR9X8K+9x7attyMjDXefd+nVC4v55yRjIxlydBQgd5eMEwfyw6RMunjGhsJmXJwEpPSCgG/yHDphnKmdJqFkSjf6FhdI86oR0IgFaFlAgIxOIzatZtgyxbse+6hbdNNmL19iFwO2ZQmIVL/Z2RkLA0CpQi1gzA9bNtMGTHPJRwfjSSqac7TupCexfyRlrzRRDWaQkea/oGI8rhMHS1AKKEJpMDv6cbbtBm163babt2O2dmFyBeQQ0PYXV2IgQGMtjZEluOVkbFsaG+zuPdeDZQYGdL09rZHRkz7AczMRIXPSIiLwCNaVCyp60XmyXxXCYGSAmUaqFwBo2+Ack8HauVKjE2bsXbsRG7ZQm7deoxiEYRAGEb0M0uPyMhYdti2wZZNAtvyydtlisUkJqYVwg/Q8epeZAAa5VyvJGv+UiRvr4Soxb60FAhpgGXjD/ah+vpQ3d3orh70DTcSrhhC3HgT9qbNFFavxsxSIjIyrhuEEHR2SoaHBFr5GEatADwyHKEQCCFJt8FIG69LGbLGbK3zH2vaGpRhEFoWoWWilEbbJhQKqGI7qq+f4O69iN27kRs2Ijo7sYaG6C8Woyad8+BpZb5aRsZSpHGxMTJihhHJJopaamiUY0VkK1IP17qCNxu3mnwzGiE0Sgu0nN2IaQRhoYg/OIxz40bCG9ZTLZex163H3roV+gewOjroXLUKs7MzimtJiZAyK8BeYuhlq92Usdgki46RETNN6GxHSI1E1UTDIgMWvVDJOFKlVS23XiNq6RChBCVknIAKnmkzNTxAODiIW5rBm5hAWBZ2Wwf2qlWwYSNqw0bEqlUE7W0YOZugswvd2Ql2Ds80cbVGzszMwa27PIIgwHEcHMdBKYVltUaVNRnXdd2Wj1utVnFdF601ZosWO3zfx3EcPM9Da71gbe4vNG4QBCilFmXcMAyRLco/TMZVShEEQcvG9Tyvdiz7vt+yccfGxpiZmaG9rQ2IjZgq5HFHRiBnYQZBpLGvVeyJCULbZqa9g0q+QC5w6axWKecLlGwbTwgkmopt4ZomhtZIpank8owODeD09eE5Dn6phDAM7HwRs7+foLeHwJQwM0M4U8Iq5JGj46B1XeNfJD9jqxu3kLtaPyz5soMgIJfLtewgT4+bz+db8qVrrWvjhmG4LD9v2tsTQhCGYc2A5XK5lp1cybhaa3K5XMsWl1o5rq45OPX9DGDbdss+b7lcpq2tjbvuugshYike1dWFt3078tU/ISsOIgjQrkMYhEjTxB8axtm8GWflSrRbpe3cOby+AaptbXhSRkYsZ+NYFoaKjJhrWYSFPMqykEKSS01HQ6HxBXhCoAIfpSVuWIllVWMjlircjLw9mTJiV+eSJV+E1hrf91u6kqm1Rmtd+/JbNWbyc7E+byvHTX9ez/NaPi5EXkqrWKxx02O7rtuyMZVSFAoF+vv7kVLy/wOOrVgK5nAGOAAAAABJRU5ErkJggg=="
    }
   },
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Exercice 3 - Comparaison de deux zones géométriques\n",
    "\n",
    "On trace un quart de cercle de rayon 1. Sur chacun des deux bords droits du quart de cercle, on dessine un demi-cercle de rayon 0.5. Cela délimite plusieurs zones, dont la bleue et la rouge comme ci-dessous. Le quadrillage est dessiné tous les  en x et en y.\n",
    "\n",
    "![quart_de_disque.png](attachment:quart_de_disque.png)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "L'objectif de l'exercice est d'avoir un élément de comparaison de la taille de ces deux zones, qui ne soit pas basé sur des arguments de calcul géométrique (des calculs d'aires).\n",
    "\n",
    "On utilisera un repère dont l'origine O(0,0) est le point inférieur gauche du graphique, et dont les coins sur les axes sont de coordonnées (1,0) et (0,1).\n",
    "\n",
    "On pourra aussi utiliser les points importants A(0.5,0) et B(0,0.5).\n",
    "\n",
    "1. Exprimer, en termes de distances, à quelle condition un point M(x,y) appartient à la zone bleue.\n",
    "2. Même question pour un point M(x,y) de la zone rouge.\n",
    "\n",
    "Par la suite, on va procéder à de multiples tirages aléatoires de points du carré de côté 10. En comptant combien de points tombent dans la zone rouge ou la zone bleue, on obtiendra un indice pour comparer ces zones.\n",
    "\n",
    "3. écrivez des fonctions AM(x, y), BM(x, y) et OM(x, y) qui retournent, pour des x et y float entre 0 et 1, la valeur des distances AM, BM et OM.\n",
    "4. écrivez les fonctions rouge(x, y) et bleue(x, y) qui retournent un booléen disant si oui ou non le point M(x, y) est dans la zone rouge (ou bleue).\n",
    "5. écrivez le programme principal qui permet de comparer les deux zones.\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "exemple d'exécution :\n",
    "\n",
    "nombre de points ? 10000\n",
    "\n",
    "sur 10000 points : \n",
    "- 1464 points dans la zone rouge\n",
    "- 1422 points dans la zone bleue"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "from random import random\n",
    "from math import sqrt\n",
    "\n",
    "def AM(x, y) :\n",
    "    pass\n",
    "\n",
    "def BM(x, y) :\n",
    "    pass\n",
    "\n",
    "def OM(x, y) :\n",
    "    pass\n",
    "\n",
    "def rouge(x, y) :\n",
    "    pass\n",
    "\n",
    "def bleue(x, y) :\n",
    "    pass\n",
    "\n",
    "# programme principal\n",
    "\n"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.12.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
