{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "colab": {
      "provenance": []
    },
    "kernelspec": {
      "name": "python3",
      "display_name": "Python 3"
    },
    "language_info": {
      "name": "python"
    }
  },
  "cells": [
    {
      "cell_type": "markdown",
      "source": [
        ">>> PREDICCIONES OBSERVABLES DE LOS TEOREMAS DEL MONO\n",
        ">>>>\n",
        ">>>> José Rodríguez\n",
        ">>>>\n",
        ">>>> jose@ejristos.com\n",
        ">>>>\n",
        ">>>> 4 de octubre de 2025.\n",
        ">>>>\n",
        ">>>> Bogotá, Colombia.\n",
        "\n",
        "Resumen\n",
        "\n",
        "La aleatoriedad es la primera explicación que la ciencia debe proponer para explicar cualquier fenómeno. Aquí mostramos cómo funciona ésto al intentar explicar el ADN. La aleatoriedad se presenta tradicionalmente de forma figurada como un mono que golpea una máquina las teclas de escribir, y medimos el tiempo que necesita el mono para producir las obras de Shakespeare. Un primer teorema dice: el mono tiene éxito si el tiempo es infinito.  Un segundo teorema dice: el mono podría tener éxito si el tiempo es finito, pero con una probabilidad tan baja que no es reproducible ni esperable. Destacamos las predicciones observables de estos teoremas. La más importante es que el distintivo de la aleatoriedad es la enorme producción de basura. Por lo tanto, tenemos una predicción para los mares antiguos y otra para probar las capacidades de los laboratorios modernos de Biología Molecular. Aprovechamos para disfrutar del poder de Google IA: todos los programas en Python aquí presentados fueron desarrollados por Gemini.\n",
        "\n",
        "# INTRODUCCIÓN\n",
        "\n",
        "Nuestro ADN es una cadena con un alfabeto de cuatro caracteres, ATCG. El ADN humano contiene casi 3700 millones de estos caracteres. Todos queremos saber de dónde provienen. En ciencia, la primera hipótesis que se estudia es: el ADN se ensambló aleatoriamente. Conviene plantearse algunas preguntas.\n",
        "\n",
        "> *Primera pregunta:* ¿Qué significa que el ADN de la vida se ensambló aleatoriamente?\n",
        ">>\n",
        ">> *Respuesta:* Significa que antes del surgimiento de la vida, se postula un mundo bioquímico complejo, en el que las moléculas se formaban y destruían aleatoriamente, y el ADN de la vida primordial fue un posible resultado.\n",
        ">\n",
        "> *Segunda pregunta:* ¿Por qué debemos estudiar esta hipótesis?\n",
        ">>\n",
        ">> *Respuesta:* Es porque existe la posibilidad de que muchos componentes básicos del ADN (o ARN) de la vida primordial estuvieran correctamente colocados antes del surgimiento de la vida. Esto es posible, pero con una probabilidad muy baja. Necesitamos saber cuán baja es para poder hacer predicciones observables.\n",
        ">\n",
        "> *Tercera pregunta.* ¿Por qué la ciencia no se detiene aquí, dejando en el olvido todas las demás teorías?\n",
        ">>\n",
        ">> *Respuesta.* La concatenación del ADN primordial como un evento fortuito tiene una probabilidad tan baja que con alegría estudiamos otras teorías, como la de la evolución.\n",
        ">\n",
        "> *Cuarta pregunta.* Si otras teorías son más prometedoras, ¿por qué debemos estudiar la aleatoriedad en lugar de pasar a estudiarlas?\n",
        ">>\n",
        ">> *Respuesta.* Porque el estudio de la aleatoriedad es totalmente factible y eso nos permite adquirir experiencia en la formulación y el estudio de teorías.\n",
        ">\n",
        "> *Quinta pregunta.* ¿Qué esperamos para empezar a estudiar la aleatoriedad?\n",
        ">>\n",
        ">> *Respuesta.* Nada. Comencemos.\n",
        "\n",
        "# EL MONO GOLPEADOR\n",
        "\n",
        "A los seres humanos nos encanta personificar los procesos. Así, en lo que respecta a la concatenación del ADN (o ARN), la aleatoriedad se ha personificado como un mono que se sienta frente a una máquina de escribir y pulsa teclas al azar, pero sin jugar, cansarse, aburrirse, tener hambre ni sueño.\n",
        "\n",
        "Las máquinas de escribir tienen alrededor de 100 teclas, mientras que el ADN se compone de 4 caracteres. Abordamos esta variabilidad asumiendo un alfabeto con $n$ letras, y el valor de $n$ solo se especifica en los ejemplos. El tamaño del alfabeto determina la probabilidad de pulsar una tecla determinada: es $1/n$.\n",
        "\n",
        "> *Ejemplo.* Si una máquina de escribir tiene 96 teclas, la probabilidad de pulsar una tecla específica es $1/96$. Pero con el ADN, la probabilidad de pulsar una base específica es $1/4$.\n",
        "\n",
        "\n",
        "# LA TAREA\n",
        "\n",
        "Le damos al mono la tarea de escribir una letra específica. Solo una letra. El mono puede tener éxito en el primer intento con una probabilidad $p = 1/n$. Pero puede fallar con una probabilidad $1-p$. En ese caso, el mono debe comenzar de nuevo como si fuera el primer intento. Por lo tanto, el proceso no tiene memoria, lo cual es una consecuencia directa de la invariabilidad eterna del mono. Esto implica que los eventos son independientes entre sí; el resultado de un intento no interfiere con eventos futuros o paralelos.\n",
        "\n",
        "> *Ejemplo*. Registremos la probabilidad de éxito por primera vez después de $k$ fallos:\n",
        ">>\n",
        ">> - Después de 0 fallos, el éxito en el primer intento puede ocurrir con una probabilidad $p$.\n",
        ">> - Después de 1 fallo con una probabilidad $1-p$, el éxito sigue con una probabilidad $p$. La independencia dicta que los eventos deben multiplicarse: la probabilidad de éxito después de 1 fallo es $(1-p)p$.\n",
        ">> - La probabilidad de tener éxito por primera vez después de 2 fracasos es $(1-p)(1-p)p = (1-p)^2p$.\n",
        "\n",
        "# LA DISTRIBUCIÓN GEOMÉTRICA\n",
        "\n",
        "> *Ejercicio*. Hallar la probabilidad de éxito por primera vez después de $k$ fallos.\n",
        ">>\n",
        ">> *Respuesta*. La probabilidad de éxito por primera vez después de $k$ fallos es\n",
        ">>>\n",
        ">>> $(1-p)...(1-p)p = (1-p)^kp$\n",
        ">>>\n",
        ">> porque hubo $k$ fallos antes del éxito por primera vez, y los eventos son independientes.\n",
        "\n",
        "> *Definición*. La variable aleatoria $X$ sobre los números 0, 1, 2, 3,... con probabilidad de $k$ dada por\n",
        ">>\n",
        ">> $p(k) = (1-p)^kp$\n",
        ">>\n",
        ">> se denomina ***Variable Aleatoria Geométrica***. También se conoce como ***Distribución Geométrica***, lo que significa que $X$ predice una distribución determinada por $p(k)$. En palabras más simples:  al hacer repeticiones, la frecuencia relativa de cometer $k$ fallos antes del primer éxito tiende al valor previsto $p(k)$.\n",
        "\n",
        "> *Simulación.* Pidamos a Colab que desarrolle el código para una simulación:\n",
        ">>\n",
        ">>> Colab, por favor, necesitamos el código para simular una distribución geométrica donde el fracaso se denota con f y el éxito con s.\n",
        ">>\n",
        ">> Gemini respondió con comentarios interesantes, además del siguiente código que aceptamos. Comentarios incluidos:\n",
        ">>>\n",
        ">>> ¿Qué les gustaría explorar a continuación? Podríamos:\n",
        ">>>\n",
        ">>> 1. Simular el proceso para un número dado de ensayos o éxitos.\n",
        "2. Calcular el número esperado de ensayos para lograr el primer éxito.\n",
        "3. Analizar el segundo teorema sobre el mono y el tiempo finito.\n",
        "4. Pasar al concepto del mono escribiendo una secuencia específica de letras (como un segmento de ADN)."
      ],
      "metadata": {
        "id": "QwIbBXweQRw0"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "import random\n",
        "\n",
        "def geometric_simulation(p):\n",
        "  \"\"\"\n",
        "  Simulates a geometric distribution.\n",
        "\n",
        "  Args:\n",
        "    p: The probability of success (a number between 0 and 1).\n",
        "\n",
        "  Returns:\n",
        "    A string representing the sequence of failures ('f') and the first success ('s').\n",
        "  \"\"\"\n",
        "  results = []\n",
        "  while True:\n",
        "    if random.random() < p:\n",
        "      results.append('s')\n",
        "      break\n",
        "    else:\n",
        "      results.append('f')\n",
        "  return \"\".join(results)\n",
        "\n",
        "# Example usage with a probability of success p = 0.25\n",
        "p = 0.05\n",
        "simulation_result = geometric_simulation(p)\n",
        "print(f\"Simulation result for p={p}: {simulation_result}\")\n",
        "\n",
        "# Another example with a different probability\n",
        "p = 0.9\n",
        "simulation_result = geometric_simulation(p)\n",
        "print(f\"Simulation result for p={p}: {simulation_result}\")"
      ],
      "metadata": {
        "id": "2C3Goq8wHq7s"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "source": [
        "> *Ejercicio.* Pida a Colab que explique el código invocando la opción correspondiente en el menú de tres puntos situado arriba a la izquierda de la celda de código activa.\n",
        "\n",
        "> *Ejercicio propuesto por Gemini.* Explore cómo cambia el número de ensayos hasta el primer éxito con diferentes probabilidades de éxito.\n",
        ">>\n",
        ">> *Respuesta.* Tras ejecutar el programa con los valores de p propuestos por Gemini, exploramos con $p = 0.05$ y $p = 0.9$: Para el primer caso, era común encontrar una lista con varias f: 5, 7, 10, 15. Para el segundo valor, necesitábamos ejecutar el programa varias veces, aproximadamente 15, para obtener un fracaso.\n",
        "\n",
        "Queríamos estimar la distribución de la distribución geométrica. Por lo tanto, le preguntamos a Gemini:\n",
        ">\n",
        "> El código para 200 repeticiones de la simulación anterior con $p = 0.1$ para estimar la distribución geométrica, con media, varianza y gráfico. Gemini presentó el código a continuación después de comentar:\n",
        ">>\n",
        ">> Bien, generaré el código para ejecutar la simulación 200 veces con una probabilidad de éxito de $p = 0.1$, registraré el número de ensayos de cada ejecución y luego calcularé y mostraré la media y la varianza. También generaré un histograma para visualizar la distribución del número de ensayos."
      ],
      "metadata": {
        "id": "FnYyEAiIYabT"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "import random\n",
        "import statistics\n",
        "import matplotlib.pyplot as plt\n",
        "\n",
        "def geometric_simulation_trials(p):\n",
        "  \"\"\"\n",
        "  Simulates a geometric distribution and returns the number of trials until the first success.\n",
        "\n",
        "  Args:\n",
        "    p: The probability of success (a number between 0 and 1).\n",
        "\n",
        "  Returns:\n",
        "    The number of trials until the first success.\n",
        "  \"\"\"\n",
        "  trials = 0\n",
        "  while True:\n",
        "    trials += 1\n",
        "    if random.random() < p:\n",
        "      break\n",
        "    else:\n",
        "      pass # This else is not strictly necessary but makes the logic clear\n",
        "  return trials\n",
        "\n",
        "# Parameters for the simulation\n",
        "p = 0.1\n",
        "num_repetitions = 200\n",
        "\n",
        "# Run the simulation multiple times and store the number of trials\n",
        "trial_counts = [geometric_simulation_trials(p) for _ in range(num_repetitions)]\n",
        "\n",
        "# Calculate and print the mean and variance\n",
        "mean_trials = statistics.mean(trial_counts)\n",
        "variance_trials = statistics.variance(trial_counts)\n",
        "\n",
        "print(f\"Mean number of trials after {num_repetitions} repetitions with p={p}: {mean_trials:.2f}\")\n",
        "print(f\"Variance of the number of trials after {num_repetitions} repetitions with p={p}: {variance_trials:.2f}\")\n",
        "\n",
        "# Plot a histogram of the trial counts\n",
        "plt.figure(figsize=(10, 6))\n",
        "plt.hist(trial_counts, bins=range(min(trial_counts), max(trial_counts) + 2), density=True, alpha=0.75, edgecolor='black')\n",
        "plt.title('Estimated Geometric Distribution')\n",
        "plt.xlabel('Number of Trials Until First Success')\n",
        "plt.ylabel('Probability Density')\n",
        "plt.grid(axis='y', alpha=0.75)\n",
        "plt.show()"
      ],
      "metadata": {
        "id": "MDlmFX-CP1w-"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "source": [
        "> *Ejercicio.* Ejecute el programa, observe el resultado, comente el histograma y explique el código.\n",
        ">>\n",
        ">> *Respuesta.* El resultado es coherente con el histograma. La media se reportó como 9,24 y la varianza como 78,14; por lo tanto, su desviación estándar es casi 9. El histograma presenta una distribución que decrece con $k$, el número de intentos hasta el primer éxito. La envolvente promedio del histograma se ve como una función exponencial decreciente. La parte intrigante del código fue la del bucle while. La instrucción `while True` inicia un bucle infinito que continuará hasta que la instrucción `break` lo interrumpa explícitamente cuando se encuentre un número mayor que $p$.\n",
        "\n",
        "> *Ejercicio.* La primera predicción observable de nuestra teoría es la siguiente: la probabilidad de éxito en el primer intento es $p$. Por lo tanto, la frecuencia relativa de 1 debe ser muy cercana a $p$. Compruebe esto en el histograma.\n",
        ">>\n",
        ">> *Respuesta.* En nuestro caso, $p = 0,1$. Por lo tanto, la frecuencia relativa de finalización de la tarea en el primer intento debe ser muy cercana a $0,1$. La predicción se cumple: la primera barra del gráfico tiene una altura de $0,095 \\sim 0,1$.\n",
        "\n",
        "# LA DISTRIBUCIÓN COMO UNA TENDENCIA\n",
        "\n",
        "Como pudimos ver en nuestro trabajo introductorio, [Cara y Sello](https://colab.research.google.com/drive/1r2-BqBHswT2Xus35ZHp6G1-AGbAvz20f?usp=sharing),\n",
        "podemos desarrollar ciencia en presencia de aleatoriedad si encontramos una tendencia de una observable dada hacia un límite estable y bien definido. Nuestro objetivo inmediato es encontrar la forma de la distribución límite. Así que le preguntamos a Colab:\n",
        ">\n",
        "> Queremos un gráfico 3D que muestre cómo cambia el histograma de la distribución del número de ensayos al aumentar el número de repeticiones. Sugerimos encontrar la distribución para $p = 0.1$ con 200 repeticiones de la simulación anterior. Luego, con 500 repeticiones y, por último, con 1000.\n",
        ">\n",
        ">Gemini respondió profesionalmente:\n",
        ">\n",
        ">> Puedo ayudar con eso. Generaré código para realizar las simulaciones con 200, 500 y 1000 repeticiones, calcularé los histogramas para cada una y luego crearé un gráfico 3D para visualizar cómo cambia la distribución con el número de repeticiones.\n",
        ">\n",
        "> Gemini presentó el siguiente código. Dimos una respuesta positiva y Gemini lo ejecutó. Gemini también sugirió un interesante plan de estudio para profundizar en el tema.\n"
      ],
      "metadata": {
        "id": "zAYt_-9FaBos"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "import random\n",
        "import matplotlib.pyplot as plt\n",
        "import numpy as np\n",
        "from mpl_toolkits.mplot3d import Axes3D\n",
        "\n",
        "def geometric_simulation_trials(p):\n",
        "  \"\"\"\n",
        "  Simulates a geometric distribution and returns the number of trials until the first success.\n",
        "\n",
        "  Args:\n",
        "    p: The probability of success (a number between 0 and 1).\n",
        "\n",
        "  Returns:\n",
        "    The number of trials until the first success.\n",
        "  \"\"\"\n",
        "  trials = 0\n",
        "  while True:\n",
        "    trials += 1\n",
        "    if random.random() < p:\n",
        "      break\n",
        "    else:\n",
        "      pass\n",
        "  return trials\n",
        "\n",
        "# Parameters for the simulation\n",
        "p = 0.1\n",
        "num_repetitions_list = [200, 500, 1000]\n",
        "\n",
        "# Store histogram data for each number of repetitions\n",
        "hist_data = {}\n",
        "\n",
        "for num_repetitions in num_repetitions_list:\n",
        "    trial_counts = [geometric_simulation_trials(p) for _ in range(num_repetitions)]\n",
        "    # Calculate histogram\n",
        "    counts, bins = np.histogram(trial_counts, bins=range(1, max(trial_counts) + 2), density=True)\n",
        "    bin_centers = 0.5 * (bins[:-1] + bins[1:])\n",
        "    hist_data[num_repetitions] = (bin_centers, counts)\n",
        "\n",
        "# Create the 3D plot\n",
        "fig = plt.figure(figsize=(12, 8))\n",
        "ax = fig.add_subplot(111, projection='3d')\n",
        "\n",
        "colors = ['r', 'g', 'b']\n",
        "\n",
        "for i, num_repetitions in enumerate(num_repetitions_list):\n",
        "    bin_centers, counts = hist_data[num_repetitions]\n",
        "    # Create a 2D array for the bars in 3D\n",
        "    x_pos = bin_centers\n",
        "    y_pos = np.array([num_repetitions] * len(bin_centers))\n",
        "    z_pos = 0\n",
        "    dx = dy = 0.5  # Width of the bars\n",
        "    dz = counts\n",
        "\n",
        "    ax.bar3d(x_pos, y_pos, z_pos, dx, dy, dz, color=colors[i], zsort='average', alpha=0.8)\n",
        "\n",
        "ax.set_xlabel('Number of Trials')\n",
        "ax.set_ylabel('Number of Repetitions')\n",
        "ax.set_zlabel('Probability Density')\n",
        "ax.set_title('Estimated Geometric Distribution vs. Number of Repetitions')\n",
        "ax.set_yticks(num_repetitions_list) # Set explicit ticks for the number of repetitions\n",
        "\n",
        "plt.show()"
      ],
      "metadata": {
        "id": "YKiuw4tbJRkT"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "source": [
        "> *Ejercicio.* Ejecuta el código y comenta  el gráfico 3D resultante.\n",
        ">>\n",
        ">> *Respuesta.* El gráfico fue perfecto y los ejes estaban bien marcados. El primer gráfico, con 200 repeticiones, es muy irregular y presenta muchas subidas y bajadas, muy visibles en la cola. El gráfico con 500 repeticiones fue más suave, y el de 1000 aún más. La diferencia entre el primer y el segundo gráfico es muy clara, pero no tanto entre el segundo y el tercero. Esto significa que la convergencia es muy lenta. La altura de la primera barra de los dos primeros gráficos es de 0,1 y casi 0,08 en el último. Consideramos que la concordancia con lo esperado es buena.\n",
        "\n",
        "> *Reto.* Descifra este asombroso y hermoso código: deja que Colab lo explique y escribe tus propias conclusiones.\n",
        "\n",
        "Vemos que tenemos una razón para considerar que las distribuciones observadas tienden a un límite. Nuestra pregunta es la siguiente: ¿Es el límite observado igual al matemáticamente esperado? Necesitamos una respuesta afirmativa para asegurarnos de que nuestras ideas coincidan con la realidad. Para dilucidar esta intrigante pregunta, imaginamos que 5000 repeticiones constituyen una buena aproximación al infinito, y preguntamos a Colab:\n",
        "\n",
        "> El código para comparar una distribución observada en una simulación con muchas repeticiones de la distribución geométrica con la distribución matemáticamente esperada. Sugerimos ejecutar la simulación de la distribución geométrica con una probabilidad de éxito p = 0,1 y 5000 repeticiones con el histograma correspondiente para visualizar la distribución del número de ensayos. Además, se incluye una curva de la distribución matemáticamente predicha.\n",
        "\n",
        "> Gemini respondió: Agregaré el código para simular la distribución geométrica con 5000 repeticiones y una probabilidad de éxito de 0,1. Luego, trazaré el histograma de los resultados de la simulación y la distribución geométrica teórica en el mismo gráfico para su comparación.\n",
        ">\n",
        "> Después de aceptar esto, Gemini mostró el siguiente código:"
      ],
      "metadata": {
        "id": "-s5ezw7MdL06"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "import random\n",
        "import statistics\n",
        "import matplotlib.pyplot as plt\n",
        "import numpy as np\n",
        "\n",
        "def geometric_simulation_trials(p):\n",
        "  \"\"\"\n",
        "  Simulates a geometric distribution and returns the number of trials until the first success.\n",
        "\n",
        "  Args:\n",
        "    p: The probability of success (a number between 0 and 1).\n",
        "\n",
        "  Returns:\n",
        "    The number of trials until the first success.\n",
        "  \"\"\"\n",
        "  trials = 0\n",
        "  while True:\n",
        "    trials += 1\n",
        "    if random.random() < p:\n",
        "      break\n",
        "    else:\n",
        "      pass\n",
        "  return trials\n",
        "\n",
        "# Parameters for the simulation\n",
        "p = 0.1\n",
        "num_repetitions = 5000\n",
        "\n",
        "# Run the simulation multiple times and store the number of trials\n",
        "trial_counts = [geometric_simulation_trials(p) for _ in range(num_repetitions)]\n",
        "\n",
        "# Calculate histogram data\n",
        "counts, bins = np.histogram(trial_counts, bins=range(1, max(trial_counts) + 2), density=True)\n",
        "bin_centers = 0.5 * (bins[:-1] + bins[1:])\n",
        "\n",
        "# Calculate the theoretical geometric distribution\n",
        "k = np.arange(1, max(trial_counts) + 1)\n",
        "theoretical_probabilities = [(1 - p)**(i - 1) * p for i in k]\n",
        "\n",
        "# Plot the histogram and the theoretical distribution\n",
        "plt.figure(figsize=(12, 8))\n",
        "plt.bar(bin_centers, counts, width=1.0, alpha=0.75, edgecolor='black', label='Simulated Distribution')\n",
        "plt.plot(k, theoretical_probabilities, 'r-', label='Theoretical Distribution')\n",
        "\n",
        "plt.title('Simulated vs. Theoretical Geometric Distribution')\n",
        "plt.xlabel('Number of Trials Until First Success')\n",
        "plt.ylabel('Probability Density')\n",
        "plt.legend()\n",
        "plt.grid(axis='y', alpha=0.75)\n",
        "plt.show()"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 718
        },
        "id": "Ikxp2n9A5by6",
        "outputId": "482f138f-e6c0-4006-e32c-72ecef9e3a78"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 1200x800 with 1 Axes>"
            ],
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAA/IAAAK9CAYAAACHG1c1AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAsMJJREFUeJzs3Xd4FHXix/HPpveCIQUICVVaCB3pIHggiKKIiJ7UQz1BURR+YgNED1FEsGIFvRNBiojlQEBBEKSD9CYhtCQESEIIpO38/sDssaSQhSST8n49Tx6ys9+d+WxJHj6Zme9YDMMwBAAAAAAAygQnswMAAAAAAIDCo8gDAAAAAFCGUOQBAAAAAChDKPIAAAAAAJQhFHkAAAAAAMoQijwAAAAAAGUIRR4AAAAAgDKEIg8AAAAAQBlCkQcAAAAAoAyhyANAMYmMjNTgwYNN2faECRNksVhM2XZ+YmJiZLFYNHv2bLOj3BCLxaKRI0eaHaPIde7cWZ07dy629Zv581DemP1aWiwWTZgwodi3s2rVKlksFq1atcq2rHPnzmrUqFGxb1sqP7+zAJRPFHkAcNDOnTt17733KiIiQh4eHqpatapuu+02vfPOO2ZHKxLvv/9+hfqPa+fOnWWxWK75VRLFpbjt2bNHEyZMUExMjNlRCpSenq533nlH7du3V2BgoNzc3FSlShXdeeed+uqrr5SdnW12xCJRGt6PyMhI22fcyclJAQEBioqK0sMPP6wNGzYU2XbmzJmj6dOnF9n6ilJpzgYA+XExOwAAlCXr1q1Tly5dVL16dQ0fPlyhoaE6duyYfv/9d82YMUOPP/64bez+/fvl5FT2/l76/vvvKygoqMLsPX3++ef1j3/8w3Z706ZNevvtt/Xcc8+pfv36tuWNGzc2I16R2rNnjyZOnKjOnTsrMjLS7r6ffvrJnFBXOX36tG6//XZt2bJF3bt31wsvvKBKlSopLi5OK1as0AMPPKBDhw7pxRdfNDvqDSvo/ShIUf9uadKkiZ5++mlJ0vnz57V3717Nnz9fH3/8sZ566ilNmzbNbvzFixfl4uLYfyHnzJmjXbt26cknnyz0Yzp27KiLFy/Kzc3NoW05Kr9sERERunjxolxdXYt1+wBwPSjyAOCAV199Vf7+/tq0aZMCAgLs7ktISLC77e7uXoLJcL1uu+02u9seHh56++23ddtttxXroeZFISsrS1artUiKTnGXpcJ66KGHtG3bNi1cuFD33HOP3X3jxo3T5s2btX//fpPSmccwDF26dEmenp5F/rulatWq+vvf/263bMqUKXrggQf01ltvqU6dOvrnP/9pu8/Dw6NIt3+1S5cuyc3NTU5OTsW+rYJYLBZTtw8ABSl7u4oAwESHDx9Ww4YNc5V4SQoODra7ffV5rLNnz5bFYtHatWv1xBNPqHLlygoICNAjjzyijIwMJSUlaeDAgQoMDFRgYKDGjh0rwzBsj8/rfFGp8Odxzpo1S7feequCg4Pl7u6uBg0a6IMPPsiVeffu3Vq9erXtcNsry2xSUpKefPJJhYeHy93dXbVr19aUKVNktVrt1pOUlKTBgwfL399fAQEBGjRokJKSkgrMJ0mbN2+WxWLR559/nuu+ZcuWyWKx6Pvvv5d0ec/hk08+qcjISLm7uys4OFi33Xabtm7des3tFIXFixerUaNGcnd3V8OGDbV06dJcY06cOKGhQ4cqJCTENu6zzz7LNS4hIUHDhg1TSEiIPDw8FB0dnes1yHmfp06dqunTp6tWrVpyd3fXnj17JEn79u3Tvffeq0qVKsnDw0MtWrTQkiVLbI+fPXu2+vXrJ0nq0qWL7f3N+TzldY78pUuXNGHCBNWtW1ceHh4KCwvTPffco8OHD9vGTJ06VW3bttVNN90kT09PNW/eXAsWLLiu13T9+vVatmyZHn744VwlPkeLFi304IMP2i1LT0/X+PHjVbt2bbm7uys8PFxjx45Venq63bisrCxNmjTJ9tpFRkbqueeeyzUuMjJSd9xxh1atWqUWLVrI09NTUVFRttdq0aJFioqKkoeHh5o3b65t27blynmj70dOhmXLltkyfPjhh7b7rj5iJikpSU899ZTt56FatWoaOHCgEhMTC37R8+Hp6al///vfqlSpkl599VW730VXn2pyrZ/Fzp0764cfftDRo0dtzzPnCISc32tz587VCy+8oKpVq8rLy0spKSn5/s6TpC1btqht27by9PRUjRo1NHPmTLv7c37fXn3awtXrLChbfr9bf/75Z3Xo0EHe3t4KCAjQXXfdpb1799qNyZmn5NChQxo8eLACAgLk7++vIUOGKC0trXBvAgAUgD3yAOCAiIgIrV+/Xrt27bruCZcef/xxhYaGauLEifr999/10UcfKSAgQOvWrVP16tX1r3/9Sz/++KPeeOMNNWrUSAMHDiyS7B988IEaNmyoO++8Uy4uLvruu+/02GOPyWq1asSIEZKk6dOn6/HHH5ePj4+ef/55SVJISIgkKS0tTZ06ddKJEyf0yCOPqHr16lq3bp3GjRunU6dO2c4xNQxDd911l9auXatHH31U9evX1zfffKNBgwZdM2OLFi1Us2ZNff3117nGz5s3T4GBgerevbsk6dFHH9WCBQs0cuRINWjQQGfOnNHatWu1d+9eNWvWrEhes/ysXbtWixYt0mOPPSZfX1+9/fbb6tu3r2JjY3XTTTdJkuLj43XLLbfYJserXLmy/vvf/2rYsGFKSUmxHcZ78eJFde7cWYcOHdLIkSNVo0YNzZ8/X4MHD1ZSUpJGjRplt+1Zs2bp0qVLevjhh+Xu7q5KlSpp9+7dateunapWrapnn31W3t7e+vrrr9WnTx8tXLhQd999tzp27Kgnnngi12kDV54+cKXs7GzdcccdWrlype6//36NGjVK58+f1/Lly7Vr1y7VqlVLkjRjxgzdeeedevDBB5WRkaG5c+eqX79++v7779WrVy+HXtfvvvtOknLtHS6I1WrVnXfeqbVr1+rhhx9W/fr1tXPnTr311ls6cOCAFi9ebBv7j3/8Q59//rnuvfdePf3009qwYYMmT56svXv36ptvvrFb76FDh/TAAw/okUce0d///ndNnTpVvXv31syZM/Xcc8/psccekyRNnjxZ9913n93h7kX1fuzfv18DBgzQI488ouHDh+vmm2/O8zVITU1Vhw4dtHfvXg0dOlTNmjVTYmKilixZouPHjysoKKjQr+eVfHx8dPfdd+vTTz/Vnj171LBhwzzHXetn8fnnn1dycrKOHz+ut956y7buK02aNElubm565plnlJ6eXuARIufOnVPPnj113333acCAAfr666/1z3/+U25ubho6dKhDz7Ew2a60YsUK3X777apZs6YmTJigixcv6p133lG7du20devWXKdI3HfffapRo4YmT56srVu36pNPPlFwcLCmTJniUE4AyMUAABTaTz/9ZDg7OxvOzs5GmzZtjLFjxxrLli0zMjIyco2NiIgwBg0aZLs9a9YsQ5LRvXt3w2q12pa3adPGsFgsxqOPPmpblpWVZVSrVs3o1KmTbdkvv/xiSDJ++eUXu+0cOXLEkGTMmjXLtmz8+PHG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n+vnn3/W2LFjJUlt27bV9OnT5efnp1OnTunUqVN65plnJEkjR47U+vXrNXfuXP3xxx/q16+fevTooYMHD0qSNmzYoGHDhmnkyJHavn27unTpoldeeeW6cz711FM6f/68li9fnuf9Dz74oKpVq6ZNmzZpy5YtevbZZ+Xq6lrgc5CkqVOnKjo6Wtu2bdOLL76Y7/bHjBmjN998U5s2bVLlypXVu3dvZWZmFir7M888o/vuu089evSwZWjbtm2ucSdOnFDPnj3VsmVL7dixQx988IE+/fTTXK/b559/Lm9vb23YsEGvv/66Xn755Xxfl5LCofUAAAAAyg0XFxfNnj1bw4cP18yZM9WsWTN16tRJ999/vxo3blzgY5955hl1795dkjRq1CgNGDBAK1eutJ1XP2zYMM2ePfuG8l25Bz8yMlKvvPKKHn30Ub3//vtyc3OTv7+/LBaL3SHgsbGxmjVrlmJjY1WlShVb1qVLl2rWrFn617/+pRkzZqhHjx62PwrUrVtX69at09KlS68rZ7169SRdPlohL7GxsRozZoxtXJ06dWz35fUcctx66616+umnbbfzW//48eN12223SbpcpKtVq6ZvvvlG99133zWz+/j4yNPTU+np6QUeSv/+++8rPDxc7777riwWi+rVq6eTJ0/q//7v//TSSy/Jyenyfu/GjRtr/Pjxtuf57rvvauXKlbZ8ZmCPPAAAAIBypW/fvjp58qSWLFmiHj16aNWqVWrWrNk1S/iVRT8kJESSFBUVZbcsISHhhrKtWLFCXbt2VdWqVeXr66uHHnpIZ86cUVpa/lcB2Llzp7Kzs1W3bl3bEQc+Pj5avXq1Dh8+LEnau3evWrdubfe4Nm3aXHdOwzAk2U+Gd6XRo0frH//4h7p166bXXnvNluNaWrRoUahxV2avVKmSbr75Zu3du7dQjy2svXv3qk2bNnbPsV27dkpNTdXx48dty67+A1BYWNgNfw5uFEUeAAAAQLnj4eGh2267TS+++KLWrVunwYMH2/aq5sfV1dX2fU65u3qZ1Wq13XZycrIV3hwFHf4dExOjO+64Q40bN9bChQu1ZcsWvffee5IuT/yWn9TUVDk7O2vLli3avn277Wvv3r2aMWNGgc/peuWU5ho1auR5/4QJE7R792716tVLP//8sxo0aKBvvvnmmuv19va+4WyOvu436srPgJT7c2AGijwAAACAcq9Bgwa6cOFCka6zcuXKOnXqlO12dna23aRsV9uyZYusVqvefPNN3XLLLapbt65OnjxpN8bNzU3Z2dl2y5o2bars7GwlJCSodu3adl85h47Xr19fGzZssHvc77//ft3PLec8927duuU7pm7dunrqqaf0008/6Z577tGsWbPyfQ6OujL7uXPndODAAdWvX1/S5dc9Li7OrsxfPVleYTLUr19f69evt1vPb7/9Jl9fX1WrVu2G8hc3zpEHAAAA4LALZ+NK5XbOnDmjfv36aejQoWrcuLF8fX21efNmvf7667rrrruKNNutt96q0aNH64cfflCtWrU0bdq0Aq+dXrt2bWVmZuqdd95R79699dtvv2nmzJl2YyIjI5WamqqVK1cqOjpaXl5eqlu3rh588EENHDhQb775ppo2barTp09r5cqVaty4sXr16qUnnnhC7dq109SpU3XXXXdp2bJlhT4/PikpSXFxcUpPT9eBAwf04YcfavHixfriiy/sZqrPcfHiRY0ZM0b33nuvatSooePHj2vTpk3q27dvvs/By8ur0K+rJL388su66aabFBISoueff15BQUHq06ePpMszyZ8+fVqvv/667r33Xi1dulT//e9/5efnZ/c6Llu2TPv379dNN90kf3//XNt47LHHNH36dD3++OMaOXKk9u/fr/Hjx2v06NG28+NLK4o8AAAAgELz9/dXgK+XEtfMdfj67tcrwNcrzyKWFx8fH7Vu3VpvvfWWDh8+rMzMTIWHh2v48OF67rnnijTX0KFDtWPHDg0cOFAuLi566qmn1KVLl3zHR0dHa9q0aZoyZYrGjRunjh07avLkybZrtUuXZ65/9NFH1b9/f505c0bjx4/XhAkTNGvWLL3yyit6+umndeLECQUFBemWW27RHXfcIUm65ZZb9PHHH2v8+PF66aWX1K1bN73wwguaNGnSNZ/HkCFDJF0+HaFq1apq3769Nm7cqGbNmuU53tnZWWfOnNHAgQMVHx+voKAg3XPPPZo4cWKBz8ERr732mkaNGqWDBw+qSZMm+u677+Tm5ibp8p70999/X//61780adIk9e3bV88884w++ugj2+OHDx+uVatWqUWLFkpNTdUvv/xiuzxdjqpVq+rHH3/UmDFjFB0drUqVKmnYsGF64YUXHMpqBotx9ckFUEpKivz9/ZWcnGz3V53S5uDBg7p7wCBF3PWkfEPC8x13Pv6Yjn47Xd989bndbJIAAABAQS5duqQjR46oRo0a8vDwsC1PSEhQcnJyieXw9/dXcHBwiW0PKC75/UxJjvVQ9sgDAAAAcEhwcDDFGjBR6T7wHwAAAAAA2KHIAwAAAABQhlDkAQAAAAAoQyjyAAAAAArE/NhA0SiqnyWKPAAAAIA8ubq6SpLS0tJMTgKUDzk/Szk/W9eLWesBAAAA5MnZ2VkBAQFKSEiQJHl5eclisZicCih7DMNQWlqaEhISFBAQIGdn5xtaH0UeAAAAQL5CQ0MlyVbmAVy/gIAA28/UjaDIAwAAAMiXxWJRWFiYgoODlZmZaXYcoMxydXW94T3xOSjyAAAAAK7J2dm5yEoIgBvDZHcAAAAAAJQhFHkAAAAAAMoQijwAAAAAAGUIRR4AAAAAgDKEIg8AAAAAQBlCkQcAAAAAoAyhyAMAAAAAUIZQ5AEAAAAAKEMo8gAAAAAAlCEUeQAAAAAAyhCKPAAAAAAAZQhFHgAAAACAMoQiDwAAAABAGUKRBwAAAACgDKHIAwAAAABQhlDkAQAAAAAoQyjyAAAAAACUIRR5AAAAAADKEIo8AAAAAABlCEUeAAAAAIAyxPQi/9577ykyMlIeHh5q3bq1Nm7cmO/Y3bt3q2/fvoqMjJTFYtH06dNveJ0AAAAAAJQlphb5efPmafTo0Ro/fry2bt2q6Ohode/eXQkJCXmOT0tLU82aNfXaa68pNDS0SNYJAAAAAEBZ4mLmxqdNm6bhw4dryJAhkqSZM2fqhx9+0GeffaZnn3021/iWLVuqZcuWkpTn/dezTklKT09Xenq67XZKSookKSsrS1lZWdf/BIuZ75w5eu3oYf2QeEIpIdXyHedskVxdXGS1Wkv18wEAAACAisqRrmZakc/IyNCWLVs0btw42zInJyd169ZN69evL9F1Tp48WRMnTsy1fPPmzfL29r6uLCWhwcKFuiMxQZ4ZMToceHO+47K9XXVpwL2KjY1VYmJiCSYEAAAAABTGhQsXCj3WtCKfmJio7OxshYSE2C0PCQnRvn37SnSd48aN0+jRo223U1JSFB4erhYtWsjPz++6spSE81FR0s6dStoVo9VNA/Ifl3Bcx75foLmff6xatWqVXEAAAAAAQKHkHBleGKYeWl9auLu7y93dPddyFxcXubiU3pco8+bLe+Grx8cqW5Z8x2UbUmZWlpycnEr18wEAAACAisqRrmbaZHdBQUFydnZWfHy83fL4+Ph8J7IzY52lWXrdupKkiIRjJicBAAAAAJQU04q8m5ubmjdvrpUrV9qWWa1WrVy5Um3atCk16yzNMurUkSQFJ5+R58VUk9MAAAAAAEqCqcdZjx49WoMGDVKLFi3UqlUrTZ8+XRcuXLDNOD9w4EBVrVpVkydPlnR5Mrs9e/bYvj9x4oS2b98uHx8f1a5du1DrLE+sfn6Kc3VTaGaGwk/8qQO1G5sdCQAAAABQzEwt8v3799fp06f10ksvKS4uTk2aNNHSpUttk9XFxsbKyel/Bw2cPHlSTZs2td2eOnWqpk6dqk6dOmnVqlWFWmd5c8DT63KRP0mRBwAAAICKwPSZz0aOHKmRI0fmeV9OOc8RGRkpwzBuaJ3lzSFPL3VMSVL4iT/NjgIAAAAAKAGmnSOPonHI00uSVP3kYZOTAAAAAABKAkW+jDvwV5GvduJPqRBHKwAAAAAAyjaKfBl3xMND2RaL/C4kyz/lrNlxAAAAAADFjCJfxqU7OetUpVBJUvUTHF4PAAAAAOUdRb4ciAmpLkkKP8mEdwAAAABQ3lHky4GjweGSKPIAAAAAUBFQ5MuBoyF/FXkOrQcAAACAco8iXw7kHFpf7eQRWaxWk9MAAAAAAIoTRb4cOBUYogwXN3lkXFLwmZNmxwEAAAAAFCOKfDlgdXbWibAISX9dTx4AAAAAUG5R5MuJY1VrSWLCOwAAAAAo7yjy5cSxKjUlcS15AAAAACjvKPLlRE6RZ488AAAAAJRvFPlyIufQ+rC4WDlnZZqcBgAAAABQXCjy5cSZwGCleXjLxZqtKvGxZscBAAAAABQTinx5YbHoWNW/Dq/nPHkAAAAAKLdczA6AohNbtZZuPrwzz/PkszIzFRMTU+Dj/f39FRwcXEzpAAAAAABFgSJfjhzPmfDuqmvJp6cm6/ixWI14epzc3NzyfXyAr5cWzZtDmQcAAACAUowiX47kN3N9VnqarE4uCmrfX4FhEXk+9sLZOCWumavk5GSKPAAAAACUYhT5ciTnHPmQxJNyv5SmdA8vu/s9K4XINyQ838cnFms6AAAAAEBRYLK7cuS8T4DO+d0kSQo/dcTkNAAAAACA4kCRL2f+N3N97gnvAAAAAABlH0W+nLGdJ88l6AAAAACgXKLIlzPHqtaSlHvCOwAAAABA+UCRL2diq+Y9cz0AAAAAoHygyJczJ8JqSJICUs7K9/w5k9MAAAAAAIoaRb6cSXf3VHxQFUnslQcAAACA8ogiXw7F5pwnz8z1AAAAAFDuUOTLoZyZ66szcz0AAAAAlDsU+XLoGBPeAQAAAEC5RZEvh3IuQVft5J+SYZicBgAAAABQlCjy5dCp4HBlObvI61Kags7GmR0HAAAAAFCEKPLlULaLq06GVJfE4fUAAAAAUN5Q5MupY7aZ65nwDgAAAADKE4p8OZUzcz2XoAMAAACA8oUiX079b+b6IyYnAQAAAAAUJYp8ORX716H1VeNi5JydbXIaAAAAAEBRociXU4mVQnXJ3VOuWZmqmnza7DgAAAAAgCJCkS+nDCcnHQ+rIUmqcYZL0AEAAABAeUGRL8dyDq+vmXjS5CQAAAAAgKJCkS/HcmauZ488AAAAAJQfFPlyLGfm+hpnTpmcBAAAAABQVCjy5dixnJnrkxLlaVhNTgMAAAAAKAoU+XIs2TdQKT4BcpKhetlZZscBAAAAABQBinx5ZrEo9q/D6xtkUeQBAAAAoDygyJdzORPeNczONDkJAAAAAKAoUOTLuZzz5KMo8gAAAABQLlDky7mY8LqSpCZZmZJhmJwGAAAAAHCjKPLl3LGqNZXl5KSbDEPBKWfNjgMAAAAAuEEU+XIu09VdMZVCJUm1446anAYAAAAAcKMo8hXAocpVJUm14ynyAAAAAFDWUeQrgIOVq0mS6sTFmBsEAAAAAHDDKPIVwIHgy0W+dlysyUkAAAAAADeKIl8BHA66fGh98Pmz8k1NMjcMAAAAAOCGUOQrgDR3Dx1ycpYkRcYeMDkNAAAAAOBGUOQriO0urpKkGrH7TU4CAAAAALgRFPkKYsdfRT7yGHvkAQAAAKAso8hXEDucc4r8QZOTAAAAAABuBEW+gsjZI18lPlYely6YnAYAAAAAcL0o8hXEaSdnnfYNlCRFHD9kchoAAAAAwPWiyFcgh0IiJDFzPQAAAACUZRT5CuRQ6F9FngnvAAAAAKDMoshXIAdDqkuSarBHHgAAAADKLIp8BXIwLFKSVO3kn3LJzDA3DAAAAADgulDkK5AEv5uU6uUrF2u2qp06YnYcAAAAAMB1oMhXJBaLYsLrSuLwegAAAAAoqyjyFcyR6jdLkiJj95ucBAAAAABwPSjyFUxM9b/2yDNzPQAAAACUSRT5CubIX4fWVz9+SBZrtslpAAAAAACOoshXMKdCwnXJzUMeGZcUFn/M7DgAAAAAAAdR5CsYw8lZsdVqS+LwegAAAAAoiyjyFVDO4fWRzFwPAAAAAGUORb4CypnwLpI98gAAAABQ5lDkK6CcS9DViN0vGYbJaQAAAAAAjqDIV0DHw2ooy8lZPmnnFXQ2zuw4AAAAAAAHUOQroCxXNx2vUlMSh9cDAAAAQFlDka+gYsLrSJIiYw+anAQAAAAA4AiKfAVld548AAAAAKDMoMhXUMxcDwAAAABlE0W+gjparbasFotuSjotv5SzZscBAAAAABQSRb6CuuThrfjK1SSxVx4AAAAAyhKKfAV2hMPrAQAAAKDMochXYDHhl4t8DWauBwAAAIAygyJfgTHhHQAAAACUPRT5CuzIX3vkwxKOyfNSmslpAAAAAACFQZGvwM77BupMYLAkqWbcUZPTAAAAAAAKgyJfweXsla8ZF2NuEAAAAABAoVDkK7icCe9qnTpichIAAAAAQGFQ5Cu4nEvQ1TpJkQcAAACAsoAiX8HlzFxf/fQJuVqtJqcBAAAAAFwLRb6COxMYovPefnKxZqvORWauBwAAAIDSjiJf0VkstvPk66ddMDkMAAAAAOBaKPLQkeo3S5LqX6TIAwAAAEBpR5GHYsLrSJLqsUceAAAAAEo9ijxse+RvTkuTMjNNTgMAAAAAKAhFHooLDleqh5c8DavcDx40Ow4AAAAAoACmF/n33ntPkZGR8vDwUOvWrbVx48YCx8+fP1/16tWTh4eHoqKi9OOPP9rdn5qaqpEjR6patWry9PRUgwYNNHPmzOJ8CmWe4eSkg1VqSZI8duwwOQ0AAAAAoCCmFvl58+Zp9OjRGj9+vLZu3aro6Gh1795dCQkJeY5ft26dBgwYoGHDhmnbtm3q06eP+vTpo127dtnGjB49WkuXLtV//vMf7d27V08++aRGjhypJUuWlNTTKpP2V6stiSIPAAAAAKWdqUV+2rRpGj58uIYMGWLbc+7l5aXPPvssz/EzZsxQjx49NGbMGNWvX1+TJk1Ss2bN9O6779rGrFu3ToMGDVLnzp0VGRmphx9+WNHR0dfc01/R7a92ecI79z/+MDkJAAAAAKAgLmZtOCMjQ1u2bNG4ceNsy5ycnNStWzetX78+z8esX79eo0ePtlvWvXt3LV682Ha7bdu2WrJkiYYOHaoqVapo1apVOnDggN566618s6Snpys9Pd12OyUlRZKUlZWlrKys63l6JcJqtcrVxUXOFslZRr7jXJwscnNzlYtT/uMOh18+tN7t8GFlnT0r+fkVS2YAAAAAQG6OdE/TinxiYqKys7MVEhJitzwkJET79u3L8zFxcXF5jo+Li7Pdfuedd/Twww+rWrVqcnFxkZOTkz7++GN17Ngx3yyTJ0/WxIkTcy3fvHmzvL29HXlaJSotLU0DB9wrjyBXObsl5Tsuo3Gwbg0ZIf8q3nL1yHtcdlRlJQdWkv+5s9r3738ruUWL4gkNAAAAAMjlwoXCXw7ctCJfXN555x39/vvvWrJkiSIiIvTrr79qxIgRqlKlirp165bnY8aNG2e3pz8lJUXh4eFq0aKF/ErxnunDhw9r7IuTFH7HSPkGh+Q7Ln7fIW2e+55a/+NlBVULy3PM+YTjqmlxUndJ9c+fl9G6dTGlBgAAAABcLefI8MIwrcgHBQXJ2dlZ8fHxdsvj4+MVGhqa52NCQ0MLHH/x4kU999xz+uabb9SrVy9JUuPGjbV9+3ZNnTo13yLv7u4ud3f3XMtdXFzk4lJ6/9bh5OSkzKwsZRtStiz5jsuyGsrIyFSWNf9x2Ya0w8tb3c8mynnzZqkUP28AAAAAKG8c6Z6mTXbn5uam5s2ba+XKlbZlVqtVK1euVJs2bfJ8TJs2bezGS9Ly5ctt4zMzM5WZmSknJ/un5ezsLKvVWsTPoPzZ6e1z+ZsNGyQj/3PuAQAAAADmMXW36+jRozVo0CC1aNFCrVq10vTp03XhwgUNGTJEkjRw4EBVrVpVkydPliSNGjVKnTp10ptvvqlevXpp7ty52rx5sz766CNJkp+fnzp16qQxY8bI09NTERERWr16tb744gtNmzbNtOdZVuzx8pbh7CxLXJx07JhUvbrZkQAAAAAAVzG1yPfv31+nT5/WSy+9pLi4ODVp0kRLly61TWgXGxtrt3e9bdu2mjNnjl544QU999xzqlOnjhYvXqxGjRrZxsydO1fjxo3Tgw8+qLNnzyoiIkKvvvqqHn300RJ/fmVNupOz0m++WR579lzeK0+RBwAAAIBSx/QToUeOHKmRI0fmed+qVatyLevXr5/69euX7/pCQ0M1a9asoopX4VyKjr5c5DdulAp4nQEAAAAA5jDtHHmUTpeioy9/s2GDuUEAAAAAAHmiyMPOpcaNL3+zZYuUlWVuGAAAAABALhR52MmsWVPy85PS0qRdu8yOAwAAAAC4CkUe9pycpJYtL3+/caO5WQAAAAAAuVDkkVvr1pf/5Tx5AAAAACh1KPLIjSIPAAAAAKUWRR65tWp1+d89e6SUFHOzAAAAAADsUOSRW2ioVL26ZBiXZ68HAAAAAJQaFHnkjcPrAQAAAKBUosgjbxR5AAAAACiVXMwOgNIjKzNTMTExkiSPsDCFS8pat05HDhyQLBZJkr+/v4KDg80LCQAAAAAVHEUekqT01GQdPxarEU+Pk5ubmzys2fpdkktCgh69d4Di3dwlSQG+Xlo0bw5lHgAAAABMQpGHJCkrPU1WJxcFte+vwLAISdLRU/+nWnExurVBZ61r2FoXzsYpcc1cJScnU+QBAAAAwCScIw87npVC5BsSLt+QcP1Zt4kkKepcvHxDwuVdKdTccAAAAAAAijzydziygSSp9pHdJicBAAAAAOSgyCNfh2pcLvI1j+6TU3aWyWkAAAAAABJFHgU4ERqhNA8veWRcUrVTMWbHAQAAAACIIo8CGE7O+jOiviQOrwcAAACA0oIijwIdqtFQklT7yB6TkwAAAAAAJIo8ruFQjct75GvFUOQBAAAAoDSgyKNAOXvkw08ekUf6JZPTAAAAAAAo8ihQkn+QEgND5GRYVefkYbPjAAAAAECFR5HHNeVchu7m44dMTgIAAAAAoMjjmg5FXi7ydU9Q5AEAAADAbBR5XBN75AEAAACg9KDI45qORNRTtpOzglLOKjgj3ew4AAAAAFChUeRxTenunjpWpaYkqfGFVJPTAAAAAEDFRpFHoRyOvHw9+UYUeQAAAAAwFUUehZJzPXn2yAMAAACAuSjyKJSDf0141zAtVcrONjkNAAAAAFRcFHkUyomwSKW5ecjbapXbwYNmxwEAAACACosij0IxnJx1oFptSZLn1q0mpwEAAACAiosij0LbFVFPkuS5ebPJSQAAAACg4qLIo9B2R1yeud5j82bJMExOAwAAAAAVE0Uehba/Wh1lyiLXuDjp6FGz4wAAAABAhUSRR6Glu7lrj7f35Rtr1pgbBgAAAAAqKIo8HLLVx/fyN2vXmhsEAAAAACooijwcstXH7/I37JEHAAAAAFNQ5OEQ2x75vXulxERzwwAAAABABUSRh0OSXVyVXvvy9eQ5vB4AAAAASh5FHg671KLF5W84vB4AAAAAShxFHg67SJEHAAAAANNQ5OEwW5HfulW6cMHcMAAAAABQwbiYHQBlS1Zmpg5lZKhaWJhcT53S8QULdLFtW7sx/v7+Cg4ONikhAAAAAJRvFHkUWnpqso4fi9WIp8dpWnqm7pC0ZNwLer9KuN24AF8vLZo3hzIPAAAAAMWAIo9Cy0pPk9XJRUHt+yvm+AHpu0/U1iNAP9z1pG3MhbNxSlwzV8nJyRR5AAAAACgGFHk4zLNSiGKCq0jffaJ6Jw4pIChM2c7/+yhxdXkAAAAAKD5MdofrciI0Uue9/eSRcUk1YvebHQcAAAAAKgyKPK6L4eSk/bUbS5JuPrTD5DQAAAAAUHFQ5HHd9tWKliTVO0iRBwAAAICS4nCRnzVrltLS0oojC8qYfXUuF/mbD/0hi9VqchoAAAAAqBgcLvLPPvusQkNDNWzYMK1bt644MqGMOFL9ZqW7usvvQrKqxB01Ow4AAAAAVAgOF/kTJ07o888/V2Jiojp37qx69eppypQpiouLK458KMWyXVx1sGZDSVI9zpMHAAAAgBLhcJF3cXHR3XffrW+//VbHjh3T8OHD9eWXX6p69eq688479e2338rKYdYVxr7aTSRJ9Q5uNzUHAAAAAFQUNzTZXUhIiNq3b682bdrIyclJO3fu1KBBg1SrVi2tWrWqiCKiNMs5T77e4T9MTgIAAAAAFcN1Ffn4+HhNnTpVDRs2VOfOnZWSkqLvv/9eR44c0YkTJ3Tfffdp0KBBRZ0VpdDBGg2V7eSsymfidNPZeLPjAAAAAEC553CR7927t8LDwzV79mwNHz5cJ06c0FdffaVu3bpJkry9vfX000/r2LFjRR4WpU+6h5diwutI4jx5AAAAACgJLo4+IDg4WKtXr1abNm3yHVO5cmUdOXLkhoKh7NhXO1q1ju5TvYM7tDSivtlxAAAAAKBcc7jId+rUSc2aNcu1PCMjQ3PnztXAgQNlsVgUERFRJAFR+u2r00S9Vs5TvUPbpW73KyszUzExMdd8nL+/v4KDg4s9HwAAAACUJw4X+SFDhqhHjx65Ctj58+c1ZMgQDRw4sMjCoWzYV7uxJCn85BG5nz6h48diNeLpcXJzcyvwcQG+Xlo0bw5lHgAAAAAc4HCRNwxDFosl1/Ljx4/L39+/SEKhbDnvG6gToRGqGndU9WL2aKmTi4La91dgWP5HZVw4G6fENXOVnJxMkQcAAAAABxS6yDdt2lQWi0UWi0Vdu3aVi8v/Hpqdna0jR46oR48exRISpd++2tGqGndUUSf/lCR5VgqRb0h4gY9JLIlgAAAAAFDOFLrI9+nTR5K0fft2de/eXT4+Prb73NzcFBkZqb59+xZ5QJQN+2pHq+vaJWp84rDZUQAAAACgXCt0kR8/frwkKTIyUv3795eHh0exhULZs69OtCTp5oRj8gzgUHkAAAAAKC4OX0d+0KBBlHjkcvqmMJ0JqCwXq1UtszLNjgMAAAAA5VahinylSpWUmHj5jObAwEBVqlQp3y9UUBaLba98u8wMk8MAAAAAQPlVqEPr33rrLfn6+tq+z2vWemBf7Wi127RCbbPStcrsMAAAAABQThWqyA8aNMj2/eDBg4srC8q4fXWaSJJaZ2bKyZptbhgAAAAAKKccPkd+69at2rlzp+32t99+qz59+ui5555TRgaHVFdkx8Nq6Ly7p3xkqHZcrNlxAAAAAKBccrjIP/LIIzpw4IAk6c8//1T//v3l5eWl+fPna+zYsUUeEGWH4eSkXWE1JEmNj+03OQ0AAAAAlE8OF/kDBw6oSZMmkqT58+erU6dOmjNnjmbPnq2FCxcWdT6UMdur1ZYkNY3ZY3ISAAAAACifHC7yhmHIarVKklasWKGePXtKksLDw20z26Pi2hJeV5LUOHa/nLOzTE4DAAAAAOWPw0W+RYsWeuWVV/Tvf/9bq1evVq9evSRJR44cUUhISJEHRNlyuHIVJVqc5JVxSbWOsFceAAAAAIqaw0V++vTp2rp1q0aOHKnnn39etWtfPpR6wYIFatu2bZEHRNliWJy0ytVNktRo32aT0wAAAABA+VOoy89dqXHjxnaz1ud444035OzsXCShULatcnXXvRmXFLV3kxbdMdTsOAAAAABQrjhc5HNkZGQoISHBdr58jurVq99wKJRtP7u6S5Lq/LlL7pfSlO7hZXIiAAAAACg/HC7yBw4c0LBhw7Ru3Tq75YZhyGKxKDs7u8jCoWyKcXbRKf8ghSUnqv6hHdreqI3ZkQAAAACg3HC4yA8ZMkQuLi76/vvvFRYWJovFUhy5UMZtrdFQvbavVqO9myjyAAAAAFCEHC7y27dv15YtW1SvXr3iyINywlbk920xOwoAAAAAlCsOz1rfoEEDrhePa9oWUV+SFHn8oPxSzpqcBgAAAADKD4eL/JQpUzR27FitWrVKZ86cUUpKit0XIEnJ3n6KqVZHktRwP3vlAQAAAKCoOHxofbdu3SRJXbt2tVvOZHe42q56zRV5/KAa7dus9S1vMzsOAAAAAJQLDhf5X375pThyoBzaVb+l7lgxV1F7N5sdBQAAAADKDYeLfKdOnYojB8qhvbWjleXsouAzpxR8+oQSKlc1OxIAAAAAlHkOnyMvSWvWrNHf//53tW3bVidOnJAk/fvf/9batWuLNBzKtnQPLx2s0VCSFLV3k8lpAAAAAKB8cLjIL1y4UN27d5enp6e2bt2q9PR0SVJycrL+9a9/FXlAlG0767eUJDXax+H1AAAAAFAUHC7yr7zyimbOnKmPP/5Yrq6utuXt2rXT1q1bizQcyr5d9VpIkhru2yKL1WpyGgAAAAAo+xwu8vv371fHjh1zLff391dSUlJRZEI5crhGA11095LfhWRFHD9odhwAAAAAKPMcLvKhoaE6dOhQruVr165VzZo1iyQUyo9sZxftqdtUktRoH9eTBwAAAIAb5XCRHz58uEaNGqUNGzbIYrHo5MmT+vLLL/XMM8/on//8Z3FkRBmXc3h9Iya8AwAAAIAb5vDl55599llZrVZ17dpVaWlp6tixo9zd3fXMM8/o8ccfL46MKON21r9c5Osf3C6XzAxlubqZnAgAAAAAyi6H98hbLBY9//zzOnv2rHbt2qXff/9dp0+f1qRJk4ojH8qB41VqKsmvktwz01XnyG6z4wAAAABAmXZd15E3DEMpKSkKCQlRq1at5OPjU9S5UJ5YLLbD67mePAAAAADcGIeKfFxcnAYOHKjAwECFhIQoODhYgYGBGjp0qOLj44srI8oBzpMHAAAAgKJR6HPkU1JS1LZtW6WmpmrIkCGqV6+eDMPQnj179NVXX2nt2rXaunUre+eRp5zz5Gsd3SfPi6k6b3IeAAAAACirCl3kZ8yYIWdnZ+3evVuVK1e2u++FF15Qu3bt9Pbbb+u5554r8pAo+85UCtWp4HCFJRxTgwPblBAaaXYkAAAAACiTCn1o/Q8//KDnnnsuV4mXpODgYI0bN07fffedwwHee+89RUZGysPDQ61bt9bGjRsLHD9//nzVq1dPHh4eioqK0o8//phrzN69e3XnnXfK399f3t7eatmypWJjYx3OhqJlO7x+32aTkwAAAABA2VXoIn/gwAG1bds23/vbtm2r/fv3O7TxefPmafTo0Ro/fry2bt2q6Ohode/eXQkJCXmOX7dunQYMGKBhw4Zp27Zt6tOnj/r06aNdu3bZxhw+fFjt27dXvXr1tGrVKv3xxx968cUX5eHh4VA2FL2cw+sb7aXIAwAAAMD1KnSRT0lJUUBAQL73BwQEKCUlxaGNT5s2TcOHD9eQIUPUoEEDzZw5U15eXvrss8/yHD9jxgz16NFDY8aMUf369TVp0iQ1a9ZM7777rm3M888/r549e+r1119X06ZNVatWLd15550KDg52KBuK3u6bm8tqsSj81BFVSjlrdhwAAAAAKJMKfY68YRhycsq/91ssFhmGUegNZ2RkaMuWLRo3bpxtmZOTk7p166b169fn+Zj169dr9OjRdsu6d++uxYsXS5KsVqt++OEHjR07Vt27d9e2bdtUo0YNjRs3Tn369Mk3S3p6utLT0223c/4gkZWVpaysrEI/p5JmtVrl6uIiZ4vkrPxfexcni9zcXOXilP+4khhzydtXMeF1VTN2v5oe2a1dLi6yWq2l+jUGAAAAgJLgSC9yqMjXrVtXFosl3/sdkZiYqOzsbIWEhNgtDwkJ0b59+/J8TFxcXJ7j4+LiJEkJCQlKTU3Va6+9pldeeUVTpkzR0qVLdc899+iXX35Rp06d8lzv5MmTNXHixFzLN2/eLG9vb4eeV0lKS0vTwAH3yiPIVc5uSfmOy2gcrFtDRsi/irdcPfIeV1JjUppGSbH71TNhtywD7lVsbKwSExMLfqIAAAAAUM5duHCh0GMLXeRnzZp1XWFKktVqlSTdddddeuqppyRJTZo00bp16zRz5sx8i/y4cePs9vSnpKQoPDxcLVq0kJ+fX/EHv06HDx/W2BcnKfyOkfINDsl3XPy+Q9o89z21/sfLCqoWZuqYM5Ht1EQLdNOOP/RFeqbmfvGJatWqVYhnCwAAAADllyOnqhe6yA8aNOi6wuQnKChIzs7Oio+Pt1seHx+v0NDQPB8TGhpa4PigoCC5uLioQYMGdmPq16+vtWvX5pvF3d1d7u7uuZa7uLjIxaXQL1GJc3JyUmZWlrINKVt5HykhSVlWQxkZmcqy5j+upMbsqd1EGS5uqpxyRlUvpMrJyalUv8YAAAAAUBIc6UWFnuyuqLm5ual58+ZauXKlbZnVatXKlSvVpk2bPB/Tpk0bu/GStHz5ctt4Nzc3tWzZMtfs+QcOHFBEREQRPwNcj0w3dx2o1UiSdEtKsslpAAAAAKDsMXVX6OjRozVo0CC1aNFCrVq10vTp03XhwgUNGTJEkjRw4EBVrVpVkydPliSNGjVKnTp10ptvvqlevXpp7ty52rx5sz766CPbOseMGaP+/furY8eO6tKli5YuXarvvvtOq1atMuMpIg+76rVUo/1b1eZ8ktlRAAAAAKDMMW2PvCT1799fU6dO1UsvvaQmTZpo+/btWrp0qW1Cu9jYWJ06dco2vm3btpozZ44++ugjRUdHa8GCBVq8eLEaNWpkG3P33Xdr5syZev311xUVFaVPPvlECxcuVPv27Uv8+SFvfzRoKUlqnZIiZWSYnAYAAAAAyhbTT04eOXKkRo4cmed9ee1F79evn/r161fgOocOHaqhQ4cWRTwUgyPV6+mcj78CU5PluWWL1LCh2ZEAAAAAoMxweI/8L7/8Uhw5UIEYTk7aXKeJJMmbzxMAAAAAOMThIt+jRw/VqlVLr7zyio4dO1YcmVABbKrbTJLkvXq1yUkAAAAAoGxxuMifOHFCI0eO1IIFC1SzZk11795dX3/9tTI41xkO2FarsTJlkduRI9KhQ2bHAQAAAIAyw+EiHxQUpKeeekrbt2/Xhg0bVLduXT322GOqUqWKnnjiCe3YsaM4cqKcSfPw0lZf38s3fvjB3DAAAAAAUIbc0Kz1zZo107hx4zRy5Eilpqbqs88+U/PmzdWhQwft3r27qDKinPrVP/DyNxR5AAAAACi06yrymZmZWrBggXr27KmIiAgtW7ZM7777ruLj43Xo0CFFRERcc2Z5wFbkV6+WUlPNDQMAAAAAZYTDl597/PHH9dVXX8kwDD300EN6/fXX7a7j7u3tralTp6pKlSpFGhTlz0EnZ6VVqSKvkyd18osvdOG223KN8ff3V3BwsAnpAAAAAKB0crjI79mzR++8847uueceubu75zkmKCiIy9ShQOmpyTp+/JjmO0mDJK0bP1ETPvtPrnEBvl5aNG8OZR4AAAAA/uJwkR8/frzatm0rFxf7h2ZlZWndunXq2LGjXFxc1KlTpyILifInKz1NVicXbWvTU4O+/0Sd0zMVcecoyWKxjblwNk6Ja+YqOTmZIg8AAAAAf3H4HPkuXbro7NmzuZYnJyerS5cuRRIKFce+hrfokrungs6fU1TGRfmGhNu+vCuFmh0PAAAAAEodh4u8YRiyXLHXNMeZM2fk7e1dJKFQcWS6uGpnvRaSpGY715mcBgAAAABKv0IfWn/PPfdIkiwWiwYPHmx3fnx2drb++OMPtW3btugTotzbFtVWLXesUdOd67So1xCz4wAAAABAqVboIu/v7y/p8h55X19feXp62u5zc3PTLbfcouHDhxd9QpR72xpd/gNQrZg98j1/Tud9A01OBAAAAAClV6GL/KxZsyRJkZGReuaZZziMHkXmXGBlHQmvoxrHDqrJrt+1ps3tZkcCAAAAgFLL4XPkx48fT4lHkdsW1U4S58kDAAAAwLUUao98s2bNtHLlSgUGBqpp06Z5TnaXY+vWrUUWDhXH1qi2uufH2Wq8Z4Ocs7OU7ezwlREBAAAAoEIoVFu66667bJPb9enTpzjzoII6HFlfKT4B8ktNUt3DO7W3blOzIwEAAABAqVSoIj9+/Pg8vweKiuHkrO2NblHH35eq6c51FHkAAAAAyIfD58gDxSVn9vqmnCcPAAAAAPkq1B75wMDAAs+Lv9LZs2dvKBAqrh0NWyvbyVnhp46ocuJJnTc7EAAAAACUQoUq8tOnTy/mGICU5uWr/bWi1ODgdjXbuU5/NmhtdiQAAAAAKHUKVeQHDRpU3DkASdLWqHZqcHC7mu5cpwUUeQAAAADIpVDnyKekpNh9X9AXcCO2RV0+T77B/q1yz7hkchoAAAAAKH0KfY78qVOnFBwcrICAgDzPlzcMQxaLRdnZ2UUeEhXHibBIJdwUpuAzpxT9524dMDsQAAAAAJQyhSryP//8sypVqiRJ+uWXX4o1ECo4i0Xbotqq+6qFanlgq+abnQcAAAAASplCFflOnTrl+T1QHP5X5LdJteuYHQcAAAAASpVCFfmrnTt3Tp9++qn27t0rSWrQoIGGDBli22sP3IjddZsp3dVdlVPOqO7FqmbHAQAAAIBSpVCT3V3p119/VWRkpN5++22dO3dO586d09tvv60aNWro119/LY6MqGAy3dy1q14LSVLH5CRzwwAAAABAKePwHvkRI0aof//++uCDD+Ts7CxJys7O1mOPPaYRI0Zo586dRR4SFc+2qLZqvvM3dUw+Z3YUAAAAAChVHN4jf+jQIT399NO2Ei9Jzs7OGj16tA4dOlSk4VBx5VyGLvrCeTmdPWtyGgAAAAAoPRwu8s2aNbOdG3+lvXv3Kjo6ukhCAWcqhehQWA05S/JZudLsOAAAAABQahTq0Po//vjD9v0TTzyhUaNG6dChQ7rlllskSb///rvee+89vfbaa8WTEhXSbw1aq/apI/JZulR67jmz4wAAAABAqVCoIt+kSRNZLBYZhmFbNnbs2FzjHnjgAfXv37/o0qFCW9uwtQatnCuv33+Xzp2TAgPNjgQAAAAApitUkT9y5Ehx5wByORlURQc8PFX30kXpu++kgQPNjgQAAAAApitUkY+IiCjuHECelgfepLqnjksLF1LkAQAAAEDXcfm5HHv27FFsbKwyMjLslt955503HArIsTzwJo04dVxatkw6f17y9TU7EgAAAACYyuEi/+eff+ruu+/Wzp077c6bt1gski5fUx4oKoc8PJVRo4bcjhyRfvhBuv9+syMBAAAAgKkcvvzcqFGjVKNGDSUkJMjLy0u7d+/Wr7/+qhYtWmjVqlXFEBEVWVZWlo7/dXWE87Nn6+DBg7m+EhISTE4JAAAAACXH4T3y69ev188//6ygoCA5OTnJyclJ7du31+TJk/XEE09o27ZtxZETFVB6arKOH4vV6LQLWizJeflyPXDf33XR2dluXICvlxbNm6Pg4GBTcgIAAABASXK4yGdnZ8v3r/OUg4KCdPLkSd18882KiIjQ/v37izwgKq6s9DRZnVyU0G2w4s68qdBzCepzc3uta9jaNubC2Tglrpmr5ORkijwAAACACsHhQ+sbNWqkHTt2SJJat26t119/Xb/99ptefvll1axZs8gDAp43hWpTi26SpM5/7pRvSLjty7tSqMnpAAAAAKBkOVzkX3jhBVmtVknSyy+/rCNHjqhDhw768ccf9fbbbxd5QECSNjTvIklquvM3uWamm5wGAAAAAMzj8KH13bt3t31fu3Zt7du3T2fPnlVgYKBt5nqgqB2OqK8zgcG66VyCovZs0tbo9mZHAgAAAABTOLxH/krHjh3TsWPHVKlSJUo8ipXh5KQNTTtLklpvW2VmFAAAAAAwlcNFPisrSy+++KL8/f0VGRmpyMhI+fv764UXXlBmZmZxZAQkSRubdZYkNd+xRs5ZfNYAAAAAVEwOH1r/+OOPa9GiRXr99dfVpk0bSZcvSTdhwgSdOXNGH3zwQZGHBCRpf60oJflVUkDKWTXcv0V/NLzF7EgAAAAAUOIcLvJz5szR3Llzdfvtt9uWNW7cWOHh4RowYABFHsXGcHLWxqad9LfV36j11l8o8gAAAAAqJIcPrXd3d1dkZGSu5TVq1JCbm1tRZALytbHp5dnrW25fI6fsLJPTAAAAAEDJc7jIjxw5UpMmTVJ6+v8uAZaenq5XX31VI0eOLNJwwNX21G2iFG9/+aUmqf7B7WbHAQAAAIASV6hD6++55x672ytWrFC1atUUHR0tSdqxY4cyMjLUtWvXok8IXMHq7KLNTTrq1t++U6utq/R71/5mRwIAAACAElWoIu/v7293u2/fvna3w8PDiy4RcA0bmnW5XOS3rZalSz+z4wAAAABAiSpUkZ81a1Zx5wAKbVe95rrg6aPAlDOqf+yAYswOBAAAAAAlyOFz5HOcPn1aa9eu1dq1a3X69OmizAQUKNvFVZujO0iS2u3+3eQ0AAAAAFCyHC7yFy5c0NChQxUWFqaOHTuqY8eOqlKlioYNG6a0tLTiyAjksrFZZ0lS270bJcMwNwwAAAAAlCCHi/zo0aO1evVqfffdd0pKSlJSUpK+/fZbrV69Wk8//XRxZARy+aNBK11091Jw8hk1Sks1Ow4AAAAAlBiHi/zChQv16aef6vbbb5efn5/8/PzUs2dPffzxx1qwYEFxZARyyXR119bGbSVJfzt31uQ0AAAAAFByHC7yaWlpCgkJybU8ODiYQ+tRojY27SxJuu3cGQ6vBwAAAFBhOFzk27Rpo/Hjx+vSpUu2ZRcvXtTEiRPVpk2bIg0HFGR7oza65Oqm8Ix0ue/da3YcAAAAACgRhbr83JWmT5+uHj16qFq1aoqOjpYk7dixQx4eHlq2bFmRBwTyk+7uqc11mqr9ng3y+f576a67zI4EAAAAAMXO4T3yUVFROnjwoCZPnqwmTZqoSZMmeu2113Tw4EE1bNiwODIC+VrVuL0kyW/JEik72+Q0AAAAAFD8HNojn5mZqXr16un777/X8OHDiysTUGib6jZVsrOz/BMSpFWrpK5dzY4EAAAAAMXKoT3yrq6udufGA2bLcnHV0sCgyzf+/W9zwwAAAABACXD40PoRI0ZoypQpysrKKo48gMO+v+mvIr9wocSVEwAAAACUcw5Pdrdp0yatXLlSP/30k6KiouTt7W13/6JFi4osHFAYm9w8lBYWJq9TpxQ3c6bO9+6d5zh/f38FBweXcDoAAAAAKFoOF/mAgAD17du3OLIADktPTdbx48f0mauzRko6MHGSHpuzIM+xAb5eWjRvDmUeAAAAQJnmcJGfNWtWceQArktWepqsTi76teuDGvnVG2qXmqLoroOV5BNgN+7C2Tglrpmr5ORkijwAAACAMq3Q58hbrVZNmTJF7dq1U8uWLfXss8/q4sWLxZkNKLQzNRvpYI2GcrZa9bcje+QbEm735V0p1OyIAAAAAFAkCl3kX331VT333HPy8fFR1apVNWPGDI0YMaI4swEOWdO6hySpw4alJicBAAAAgOJT6CL/xRdf6P3339eyZcu0ePFifffdd/ryyy9ltVqLMx9QaOtbdlWWk7Nqxu5X1ZNHzI4DAAAAAMWi0EU+NjZWPXv2tN3u1q2bLBaLTp48WSzBAEed9wnQ9kZtJEkdNiwzOQ0AAAAAFI9CF/msrCx5eHjYLXN1dVVmZmaRhwKu15pbLh9e327jMlk4WgQAAABAOVToWesNw9DgwYPl7u5uW3bp0iU9+uijdteS5zryMNPWxu10wdNHlc/Gq96hHdpbt6ntvqzMTMXExBT4eK41DwAAAKC0K3SRHzRoUK5lf//734s0DHCjMl3d9XvzLuq69jt1+H2prcinpybr+LFYjXh6nNzc3PJ9PNeaBwAAAFDaFbrIc/14lBVrW/dQ17Xf6ZYtP2vW/aOV6eZuu958UPv+CgyLyPNxXGseAAAAQFlQ6CIPlBX7akfrdKUQVT4br+Z/rNXvLbra7vOsFCLfkPB8H5tYEgEBAAAA4AYUerI7oKwwnJy0tnV3SVJ7Zq8HAAAAUM5Q5FEurWl9efb6JrvWy/f8OZPTAAAAAEDRocijXDoZFqnD1evJxZqttptXmh0HAAAAAIoMRR7l1tpbLh9e3+H3pSYnAQAAAICiQ5FHubWu5W3KdnJW7Zg9qnYuwew4AAAAAFAkKPIot5L9KumPBq0kSbft22xyGgAAAAAoGhR5lGtr/pq9/rZ9WyTDMDkNAAAAANw4ijzKtc1NOuqiu5eqpJzRLVkZZscBAAAAgBvmYnYAoDhluHloY7PO6rT+R/09/aK+vMb4rMxMxcTEFDjG399fwcHBRZYRAAAAABxBkUe5t7pNT3Va/6P6pV/UovSL+Y5LT03W8WOxGvH0OLm5ueU7LsDXS4vmzaHMAwAAADAFRR7l3p66TRUbUFnVk07r1t2/a2OdxnmOy0pPk9XJRUHt+yswLCLPMRfOxilxzVwlJydT5AEAAACYgnPkUf5ZLPo+qq0k6Y5tv1xzuGelEPmGhOf55V0ptLjTAgAAAECBKPKoEJbVb6l0SXXjjqpmzF6z4wAAAADAdaPIo0JI9vTRIjdPSVLXNYvNDQMAAAAAN4AijwrjUw8vSVK7TSvkefGCyWkAAAAA4PpQ5FFhrHNx09GgKvJIv6j2G5eZHQcAAAAArgtFHhWHxaLvm3aRJHX99VvJMEwOBAAAAACOo8ijQvkpqp0yXN0UefygasfsMTsOAAAAADiMIo8KJdXTW+ubd5UkdVv9jclpAAAAAMBxFHlUOCs79pEktdm8Ul5p580NAwAAAAAOosijwjlQs5Fiq9SUe2a6Ovy+1Ow4AAAAAOCQUlHk33vvPUVGRsrDw0OtW7fWxo0bCxw/f/581atXTx4eHoqKitKPP/6Y79hHH31UFotF06dPL+LUKLMsFtte+W5rFjPpHQAAAIAyxfQiP2/ePI0ePVrjx4/X1q1bFR0dre7duyshISHP8evWrdOAAQM0bNgwbdu2TX369FGfPn20a9euXGO/+eYb/f7776pSpUpxPw2UMWtad1e6q7vCTx5R3cM7zY4DAAAAAIVmepGfNm2ahg8friFDhqhBgwaaOXOmvLy89Nlnn+U5fsaMGerRo4fGjBmj+vXra9KkSWrWrJneffddu3EnTpzQ448/ri+//FKurq4l8VRQhqR5+Wpdy26S/torDwAAAABlhIuZG8/IyNCWLVs0btw42zInJyd169ZN69evz/Mx69ev1+jRo+2Wde/eXYsXL7bdtlqteuihhzRmzBg1bNjwmjnS09OVnp5uu52SkiJJysrKUlZWliNPqURZrVa5urjI2SI5K//Dw12cLHJzc5WLU/7jSnJMadneLx3vUpd1P+iWzT/rP/eNUmIh1uVskVxdXGS1Wkv1ZwMAAABA2eJIvzC1yCcmJio7O1shISF2y0NCQrRv3748HxMXF5fn+Li4ONvtKVOmyMXFRU888UShckyePFkTJ07MtXzz5s3y9vYu1DrMkJaWpoED7pVHkKuc3ZLyHZfROFi3hoyQfxVvuXrkPa4kx5Sa7QVUUWJEDQUdPaLBOxZpa+dbr7mubG9XXRpwr2JjY5WYmJjv9gAAAADAERcuXCj0WFOLfHHYsmWLZsyYoa1bt8pisRTqMePGjbPby5+SkqLw8HC1aNFCfn5+xRX1hh0+fFhjX5yk8DtGyjc4JN9x8fsOafPc99T6Hy8rqFqY6WNK0/Zc2vXV0KNTFbHsJ70U2FCb5xW8rvMJx3Xs+wWa+/nHqlWrVr7bAwAAAABH5BwZXhimFvmgoCA5OzsrPj7ebnl8fLxCQ0PzfExoaGiB49esWaOEhARVr17ddn92draefvppTZ8+XTExMbnW6e7uLnd391zLXVxc5OJSev/W4eTkpMysLGUbUrby/6NFltVQRkamsqz5jyvJMaVpe2taddcDC99T1bijanD8sNZdY13ZhpSZlSUnJ6dS/dkAAAAAULY40i9MnezOzc1NzZs318qVK23LrFarVq5cqTZt2uT5mDZt2tiNl6Tly5fbxj/00EP6448/tH37dttXlSpVNGbMGC1btqz4ngzKpIue3vrtr0nveu9cZ3IaAAAAALg203cpjh49WoMGDVKLFi3UqlUrTZ8+XRcuXNCQIUMkSQMHDlTVqlU1efJkSdKoUaPUqVMnvfnmm+rVq5fmzp2rzZs366OPPpIk3XTTTbrpppvstuHq6qrQ0FDdfPPNJfvkUCas7NBHXdd+p06HtusmvyCz4wAAAABAgUwv8v3799fp06f10ksvKS4uTk2aNNHSpUttE9rFxsbKyel/Bw60bdtWc+bM0QsvvKDnnntOderU0eLFi9WoUSOzngLKuD8j6+vP6jerZux+PZh+UZvMDgQAAAAABTC9yEvSyJEjNXLkyDzvW7VqVa5l/fr1U79+/Qq9/rzOiweutLLDXar55esadumCNhtWs+MAAAAAQL5MPUceKC3WtvqbUt08VMeardaH/jA7DgAAAADkiyIPSEr38NJ3UW0lSfduWGpyGgAAAADIH0Ue+Mui6A7KlNT06F5Fxu43Ow4AAAAA5IkiD/zltG+gFrp5SpJ6rZhrchoAAAAAyBtFHrjCO57ekqQ2m1Yo8Nxpk9MAAAAAQG4UeeAK21zctL16PblYs9Xjl/lmxwEAAACAXCjywFUWtO4uSeq65lu5X0ozOQ0AAAAA2KPIA1f5vU4TnQoOl0/aeXVe94PZcQAAAADADkUeuIphcdKP3fpLknqunCeLNdvkRAAAAADwPxR5IA+r2/TUeW8/hSSeVIvta8yOAwAAAAA2FHkgDxluHlre8W5JXIoOAAAAQOlCkQfy8VOXvsp0cVW9w3+o9pHdZscBAAAAAEkUeSBfSf5B+q3lbZKkXsvZKw8AAACgdKDIAwX4sdv9kqTWW39R5cRTJqcBAAAAAIo8UKDYarX1R/2WcjKs6vHz12bHAQAAAACKPHAtP3QbIEnq8tt38rqUZnIaAAAAABUdRR64hh0NW+tYWA15XUpT9y0rzY4DAAAAoIKjyAPXYrHYzpW/8/f/ysWwmhwIAAAAQEVGkQcKYW3rvynJN1DByWd027mzZscBAAAAUIFR5IFCyHR110+d+0qSBsWflAzD5EQAAAAAKiqKPFBIyzvdrXQXVzVKuyDPDRvMjgMAAACggqLIA4V03jdQPzW7VZJU6b33TE4DAAAAoKKiyAMOWNDhTmVaLPLasEH69Vez4wAAAACogCjygAMS/YO0MCj48o2JE80NAwAAAKBCosgDDvoktKoMV1fp55+lNWvMjgMAAACggqHIAw6Kc3NXSt/LM9izVx4AAABASaPIA9fh7COPSK6u0sqV0m+/mR0HAAAAQAVCkQeuQ1bVqtLgwZdvsFceAAAAQAmiyAPX67nnJBcXaflyad06s9MAAAAAqCAo8sD1ioxkrzwAAACAEkeRB25Ezl75n36Sfv/d7DQAAAAAKgCKPHAjatSQBg68/D175QEAAACUAIo84KCszEzFxMTo4MGDOnjwoI488IAMZ2dp6VLFLliggwcPKiEhweyYAAAAAMopF7MDAGVJemqyjh+L1Yinx8nNzc22fFJAJd195rRihg3XY3XqK8DXS4vmzVFwcLCJaQEAAACURxR5wAFZ6WmyOrkoqH1/BYZF2Jb/cCZOd77zlDqmJKl9nTZae3C9kpOTKfIAAAAAihyH1gPXwbNSiHxDwm1fqQ1aam3rHpKkoVtXmRsOAAAAQLlGkQeKyDe3D5LV4qRWB7aq0YVUs+MAAAAAKKco8kARiQsJ19rWf5MkPXrquMlpAAAAAJRXFHmgCH3Tc7CyLRZ1Tj4n9127zI4DAAAAoByiyANF6FRIda1u3F6SdNO0aSanAQAAAFAeUeSBIvZll37KtFjkvXattGyZ2XEAAAAAlDMUeaCIxVUK0VeVQy/fGDNGys42NxAAAACAcoUiDxSDD8OqKtvXV9q5U/riC7PjAAAAAChHKPJAMUh2cdXZxx67fOOFF6S0NHMDAQAAACg3KPJAMUn++9+liAjp5EmJie8AAAAAFBGKPFBMDHd36V//unxjyhQpPt7cQAAAAADKBYo8UJzuv19q0UJKTZUmTjQ7DQAAAIBygCIPFCcnJ2nq1Mvff/SRtG+fuXkAAAAAlHkuZgcAyqOszEzFxMRcvlGlisJuvVU+P/+s1JEjdeqDD2zjMjIy5ObmVuC6/P39FRwcXIxpAQAAAJQlFHmgiKWnJuv4sViNeHqcraTXvJimRZJ8Vq7UK3fcrS2+fsrKzNSpk8cVVi1cLs75/ygG+Hpp0bw5lHkAAAAAkijyQJHLSk+T1clFQe37KzAsQpKULWnZd5+o16bleu7CJT39wAtKOLJLsSdmqVKbfrZxV7twNk6Ja+YqOTmZIg8AAABAEkUeKDaelULkGxJuu73kvlG69Y/fdPOJw/rbsf1aFFA5z3FXSyz2pAAAAADKEia7A0pIsl8lLen+oCTp/sUfyjUry+REAAAAAMoiijxQgn64bYDOBgQp+Mwp3f3HGrPjAAAAACiDKPJACcpw89DXdz4sSXpo408KtFpNTgQAAACgrKHIAyVsdZvbdbRqLfmmX9SzF8+bHQcAAABAGUORB0qY4eSsL/uOkCQ9eumCIhOOm5wIAAAAQFlCkQdM8EfDW7SmVpRcJT259HNZOMQeAAAAQCFR5AGTvNPxHl2QRVHHDqjj+h/NjgMAAACgjKDIAyZJ8AvUq16+kqQHF74nn9RkkxMBAAAAKAso8oCJ3vXw1p+Vq8nvQrIGfPO+2XEAAAAAlAEUecBEWRaLZtw+SJLUde13qnt4p8mJAAAAAJR2FHnAZLvC6+qXtr0kScPmvCGn7CyTEwEAAAAozSjyQCkwp+8Inff2U8TxQ+rx83yz4wAAAAAoxSjyQClw3idAc+55TJLU77tPVelcgsmJAAAAAJRWLmYHAHDZqrZ3qMtv36vun7s06OvpeuuRfxX6sQkJCUpOvvas9/7+/goODr6RmAAAAABMRpEHSgnDyUmfPDhWk18dotZbV6nJrvVaU7naNR+XkJCge/o/oKTzadccG+DrpUXz5lDmAQAAgDKMIg+UIrHVauu/t/bTHSvmashXb2rDP6dc8zHJyclKOp+moA73y7tSaL7jLpyNU+KauUpOTqbIAwAAAGUYRR4oZRb0HqY2m1cqJPGk7vv1G71ayMd5VwqVb0h4gWMSbzweAAAAAJMx2R1Qylzy8Nbn/Z+UJN279ltFXrpobiAAAAAApQpFHiiFNjbtrK2N2sg1O1svxP4pGYbZkQAAAACUEhR5oDSyWDT7/tFKd3HVLedT5DdvntmJAAAAAJQSFHmglEqoXFVfdL1fklT5tdekP/80OREAAACA0oAiD5RiS9r01GYfXzmlpUlDhkhWq9mRAAAAAJiMIg+UYlYnJ70QWVtWLy/p11+lGTPMjgQAAADAZBR5oJQ77u6h088+e/nGuHHS3r3mBgIAAABgKoo8UAak9O8v9eghpadLAwdKWVlmRwIAAABgEoo8UBZYLNInn0gBAdLmzdLkyWYnAgAAAGASijxQVlStKr377uXvX35Z2rbN3DwAAAAATEGRB8qSBx6Q+va9fGj9wIGXD7UHAAAAUKFQ5IGyxGKRPvhACg6Wdu2Sxo83OxEAAACAEkaRB8qaypWlDz+8/P0bb8hj61Zz8wAAAAAoURR5oCzq0+fyofVWq0L+7//kmZ1tdiIAAAAAJYQiD5RVM2ZI1arJ7ehRPXXiqNlpAAAAAJQQijxQVgUESJ99Jkl64HS8mh3cbmocAAAAACWDIg+UZbfdpqQHH5QkPbPwXQWeO21yIAAAAADFjSIPlHGJzz6rvZ5e8k87r1GfvCTn7CyzIwEAAAAoRhR5oIwz3N01umZdXXD3VL1DO9R/8YdmRwIAAABQjCjyQDlwzMNT0/v8U5J0509fqtmOtSYnAgAAAFBcKPJAObGuYWv9eOt9kqTHZk9S5cRTJicCAAAAUBwo8kA58mXfEToU2UA+aec16uMX5JyVaXYkAAAAAEXMxewAAAqWlZmpmJiYfO+PiYlR1l8T3GW7uGr6w5P02iuDVTtmr/6+8F193v+pEkoKAAAAoCRQ5IFSLD01WcePxWrE0+Pk5uaW95hLFxWXcFoRmZfLfOJNYXp/yEsa+94Y3f7zfO2rHa0NzW8tydgAAAAAihFFHijFstLTZHVyUVD7/goMi8hzzOnDf+jE97OUZf3fZee2Nm6nJX97UHf+9KUe+eJfigmvq/MlFRoAAABAseIceaAM8KwUIt+Q8Dy/vAIq5/mYeX0e0b7a0fK6lKYnP3pebpkZJZwaAAAAQHGgyAPlVLazi2b842Wl+ASoxrGDevi/s82OBAAAAKAIcGg9UI6dC6ysd4eN17Nvj9btm1fq5/AaBU6cJ0n+/v4KDg4umYAAAAAAHFYq9si/9957ioyMlIeHh1q3bq2NGzcWOH7+/PmqV6+ePDw8FBUVpR9//NF2X2Zmpv7v//5PUVFR8vb2VpUqVTRw4ECdPHmyuJ8GUCr90aC1FvUcIkmadOyIPvrn47p7wKB8v+7p/4ASEhJMTg0AAAAgP6bvkZ83b55Gjx6tmTNnqnXr1po+fbq6d++u/fv357lXcN26dRowYIAmT56sO+64Q3PmzFGfPn20detWNWrUSGlpadq6datefPFFRUdH69y5cxo1apTuvPNObd682YRnCJhv4R1DFLp3o9r/uUszT57Q03c9odMBQbnGXTgbp8Q1c5WcnMxeeQAAAKCUMr3IT5s2TcOHD9eQIZf3GM6cOVM//PCDPvvsMz377LO5xs+YMUM9evTQmDFjJEmTJk3S8uXL9e6772rmzJny9/fX8uXL7R7z7rvvqlWrVoqNjVX16tVzrTM9PV3p6em22ykpKZKkrKwsZWVl5RpfWlitVrm6uMjZIjnLyHeci5NFbm6ucnHKf1xJjinv2yuNmeTkpNduH6jJHz6vqIupmvj1W3p5zPu65OFtN8zZIiW7uMhqtZbqzz4AAABQ3jjy/2+LYRj5N41ilpGRIS8vLy1YsEB9+vSxLR80aJCSkpL07bff5npM9erVNXr0aD355JO2ZePHj9fixYu1Y8eOPLezYsUK/e1vf1NSUpL8/Pxy3T9hwgRNnDgx1/Jly5bJ29s71/LSIi0tTbv27JVHULic3dzzHZdxIUUp8cfkX6WmXD08TR9T3rdXGjPljNP+PzT0gw/klZyko81a6aexL8hwcraNyc5I16XEY2rUoL68vLzyXRcAAACAonXhwgV1795dycnJefbWK5m6Rz4xMVHZ2dkKCQmxWx4SEqJ9+/bl+Zi4uLg8x8fFxeU5/tKlS/q///s/DRgwIN8XY9y4cRo9erTtdkpKisLDw9WiRYtrvoBmOnz4sMa+OEnhd4yUb3BIvuPi9x3S5rnvqfU/XlZQtTDTx5T37ZXGTP8bN0cH+j6hqV+8poitG1Xl0680596RtjHnE47r2PcLNPfzj1WrVq181wUAAACgaOUcGV4Yph9aX5wyMzN13333yTAMffDBB/mOc3d3l7t77j3aLi4ucnEpvS+Rk5OTMrOylG1I2bLkOy7LaigjI1NZ1vzHleSY8r690pjpynG7w2rpg8EvaNQnL6nX8q90PDRCv7S/U5KUbUiZWVlycnIq1Z99AAAAoLxx5P/fps5aHxQUJGdnZ8XHx9stj4+PV2hoaJ6PCQ0NLdT4nBJ/9OhRLV++vFTvWQdK2vqW3TT/jmGSpGFfvqEG+7eYnAgAAABAYZla5N3c3NS8eXOtXLnStsz6/+3dd3hUVf7H8ffMJJPeK0iLGHoJ0qQILmURkZVVmouAYl1BpAvuAi4qTUWqIqjY4IcdsbEiKitIx4iUAAIxQBotPaTN/f0xMBJSCBgyCXxez3OeuXPvmXO/M3Mo37nnnGuzsW7dOtq1a1fsa9q1a1eoPsDatWsL1T+fxB88eJBvv/2WoKCgq/MGRKqwj+8cxsbW3XGxFTBm8dOEJx11dkgiIiIiIlIGTr+P/JgxY1i6dClvv/02+/bt45///CeZmZmOVeyHDBnCpEmTHPWffPJJ1qxZw0svvURMTAzPPPMM27dvZ8QI+zzfvLw8+vbty/bt21m+fDkFBQUkJiaSmJhIbm6uU96jSKVkMrF4yNMcjGiMd1Y6ExaNxzs7w9lRiYiIiIjIJTg9kR8wYAAvvvgiU6ZMISoqiujoaNasWeNY0C4uLo6EhARH/fbt27NixQqWLFlC8+bN+eijj1i1ahVNmjQB4Pjx46xevZpjx44RFRVFtWrVHOWnn35yynsUqazyrG68+M+ZnAwIo3pSHJNWvoyLYXN2WCIiIiIiUopKsZrViBEjHFfUL/bDDz8U2devXz/69etXbP06dergxDvqiVQ5qX5BzB7xAv+Z/RhRR3bzr/RQ0J8hEREREZFKy+lX5EXE+eJq3MSCB5/BZjLR72QyQXPnOjskEREREREpgRJ5EQFgZ/OOLDq3kn3gq6/CSy85OSIRERERESmOEnkRcVjTujsv31DL/mTcOHj9decGJCIiIiIiRVSKOfIiUnm8FhRKnw63EPHBBxiPPEJiVhYZPXsWquPn50doaKiTIhQRERERub4pkRcRh5yMVI4djaOHzcZzwaH0P5lM8KhRPLPgVTb6BTjq+ft48sn7K5TMi4iIiIg4gYbWi4hDfk4WNrMLwbcO5N0R81jfpB2uhsG83w/TM+p2at81iuBbB5KSnkVqaqqzwxURERERuS4pkReRIjwCw/CqVpsl/5zJz03a4Z6XyzMrXqBJbjZegeHODk9ERERE5LqmRF5ESlTg4srLjz7Pvpua45WdwdPzRlH9ZLyzwxIRERERua4pkReRUuVa3Zk94gUO16qPX3oKz7/9HOG5Oc4OS0RERETkuqVEXkQuKdvDmxkj53A8rBahqadYemAvluRkZ4clIiIiInJdUiIvImWS7hPA9FHzSPYLJiLnLDXuuw+OHnV2WCIiIiIi1x0l8iJSZqcCw5j0wBSOWd2wxsZCp05w+LCzwxIRERERua4okReRy5IYGMb99RuTW7s2nE/m9+93dlgiIiIiItcNJfIictkSrW4cW74cGjWC48ehc2fYvdvZYYmIiIiIXBeUyIvIFSkIDYUffoCoKEhKgttug507nRyViIiIiMi1T4m8iFy5kBD47jto0wZOnYIuXWDzZmdHJSIiIiJyTVMiLyJ/TkAArF0Lt94KqanQvTusX+/sqERERERErllK5EXksuXn5REbG8vBgwftJSmJ3xYsIKt9e8jIwHb77Rxftoxk3WteRERERKTcuTg7ABGpWnIyUjl2NI7hYydhtVoLHbPabLzs50/n1BRCHnyQZxo1YdR33xIaGuqkaEVERERErj1K5EXksuTnZGEzuxDccQAB1WoXOT4nPx/LR/PpuHcLz+35lVNz58Lzz4PJVPHBioiIiIhcg5TIi8gV8QgMwyesZrHHXhnxAqnLnqXXtrWEzJgB6ekwdy5YLBUbpIiIiIjINUhz5EWk3NksLrxy54O8UKM2hskECxfC3/8OmZnODk1EREREpMpTIi8iV4fJxNth1UmcPx/c3eHzz6FzZ0hIcHZkIiIiIiJVmhJ5EbmqMnr0gO+/t99zfscOuOUW2L3b2WGJiIiIiFRZSuRF5Oq75RbYtAnq1YO4OOjQAb791tlRiYiIiIhUSUrkRaRi1K1rT+ZvvRXS0qBnT1i2zNlRiYiIiIhUOUrkRaTiBAbC2rXwj39Afj4MGwZPPw0FBc6OTERERESkytDt50TkqsnPyyM2NrbogalTCfT3J+iVV2DGDPvc+eXLITi4wmMUEREREalqlMiLyFWRk5HKsaNxDB87CavVWmydnhGRTPv9EB7ffAMtW8LHH0OrVhUcqYiIiIhI1aJEXkSuivycLGxmF4I7DiCgWu1i62w7nci937zJB1mpWGNj7YvgLVwIDz0EJlPFBiwiIiIiUkVojryIXFUegWH4hNUstngFhvObhydHP/4Y7roLcnPhkUfsiXx2trNDFxERERGplJTIi4jT2Xx84JNP7PPlzWZ480371fkjR5wdmoiIiIhIpaOh9SJSOZjNMHEitG4NAwfCzz/b580vX05yy5akpqaW+nI/Pz9CQ0MrKFgREREREedRIi8iTlVkZftatXD5+GOqPfEE7rt2YfTqxWc1arIgpDq2UubN+/t48sn7K5TMi4iIiMg1T4m8iDhNaSvbu1o8eCokjIEnknj4aBxt883MHTiWpICiiXrm6URO/riS1NRUJfIiIiIics1TIi8iTnOple3fBfZ+s5xxGz+nWUIsC199ircGjuF/t/Qssqr9yQqKWURERETE2ZTIi4jTnV/Zvjj/a9mFD3Zv5kMff5oePcDjbz1Hy10bWDroKTK8/So4UhERERER59Oq9SJS6cVZXBhz3yT+r89j5JsttN35A7OnDabZ3i3ODk1EREREpMIpkReRKsFmNvNZzyFMnriU4+G1CUw9ydPzRjP0/Zex5uU6OzwRERERkQqjRF5EqpQjtRsw6V/L+O9t9wDQ87sPmbt4EvWzMp0cmYiIiIhIxVAiLyJVTq7VnWX3jmXmiBdJ8Q2k9oljrIz5lcAFCyAnx9nhiYiIiIhcVUrkRaTKim7anvFT3uWnhq1xNQyCFiyAqCj48UdnhyYiIiIictVo1XoRqdLSfQJ4fuBYGr41mZnpZ3CJiYFOneDhh2HWLAgIKFQ/OTmZ1NTUUtv08/PT/ehFREREpNJSIi8iVZ/JxJrAYP75wQrqLlkCS5fay+rVMG8e9O8PJhPJycncPeAfpKRnldqcv48nn7y/Qsm8iIiIiFRKSuRF5Jph8/ODJUtg8GB45BGIiYGBA+Gdd+CVV0jNzSUlPYvgWwfiFRhebBuZpxM5+eNKUlNTlciLiIiISKWkRF5Ergn5eXnExsban4SHY/roIwJee42AxYsxf/UVtoYNsQ0ejJGfh1dgOD5hNUts62TFhCwiIiIickWUyItIlZeTkcqxo3EMHzsJq9Va6NiNkY2YEneYVhnp1F+yhJUWF95rGs3vpSTyhX4UKIHm0YuIiIiIsyiRF5EqLz8nC5vZheCOAwioVrvQsQLgGZuN7j9/z/1fv0PT3LPMem8G23/9kffueYLEixL60n4UuJDm0YuIiIiIsyiRF5FrhkdgWIlD5jdVu591YbW5/Z3pPJqTTatfNhC1ezP/ve0ePun1AJlevkDpPwqcp3n0IiIiIuJMSuRF5LqR5uHFOC8/tg39N09sXM3NuzfRa9373Lp5DR/1fohvO93lqFvajwKgefQiIiIi4jxmZwcgIlLR4oKrM/uJl5g+cg5Hq0Xgm5nKsJUvMfvZIbSJ3efs8ERERERESqVEXkSuW7sa38JTk9/mjX+MI83bnxoJscz+7DU+SztF/fjDzg5PRERERKRYSuRF5Lpms7iwtvPdjHr2fb7ofi95Zgvd83J4Zdl/GPfKBGofPeDsEEVEREREClEiLyICZHn68F7fJxgyZBLvunlQYDLR6pcNzHrufka/9jQ1dIVeRERERCoJJfIiIhdI8AvmUe8Ahj06g42tu2MzmWi78wdmTxvME69PpVri784OUURERESuc1q1XkSkGMeCqrHgof/wac8h9PviDdru/IEO29bSbvs6vmt+Ky/ln3V2iCIiIiJyndIVeRGRUhy7oS4vPzqdif9axvZmHTEbNrpFr+fz3T8TNm4c/PKLs0MUERERkeuMEnkRkTKIrVWfF4fP5l8TX2fHTc1xAXxXr4aoKLj9dvjuOzAMZ4cpIiIiItcBJfIiIpfhUEQjpgx5mn4Nm5LeqxeYzfDf/0LXrtC6NXzwAeTnOztMEREREbmGKZEXEbkC+zy9SXz5ZTh4EEaMAA8P2LEDBgyA+vXhlVcgK8vZYYqIiIjINUiJvIjIn3HjjbBgAcTFwTPPQFAQHD4Mw4dD7drwr3/Zj4mIiIiIlBMl8iIi5SE4GKZOtSftCxdCRAScPAnTp9u377rLPgTfZnN2pCIiIiJSxSmRFxEpT56e9qvxBw7ARx9Bly725H31avuiePXrw5w5cPq0syMVERERkSpKibyIyNXg4gL33APr1sHevTByJPj6wm+/wdixcMMNMGwYbN/u7EhFREREpIpxcXYAIiJVUX5eHrGxsZesl5ubi9VqhREjMA0bhs/nn+O/fDluMTGwbBksW0Zes2a4PvQQ3HuvfYi+iIiIiEgplMiLiFymnIxUjh2NY/jYSfYkvQT5eXkkxB+jWo2auFgu+OvW05/m9Zsw8EQiPc6cwrprl/2K/dixcOedMHQo3HEHuLpWwLsRERERkapGibyIyGXKz8nCZnYhuOMAAqrVLrHeiUO7iDu+jMB2/YrUSwEWA68f/402Xy1lrJ837rt3w6ef2ktICPzjH3D//RAVdRXfjYiIiIhUNUrkRUSukEdgGD5hNUs8nnkq4ZL10oH/C61G//97m8icHHj7bXjvPUhMhHnz7KVZMxgyBPr3h5oln09ERERErg9a7E5EpLJo0gReeAGOHoUvv7Qn7lYr7NoF48ZBrVrQvj3MnQvHjjk7WhERERFxEl2RFxFxsmIXzouMhOeewzx+PD5ffYX/mjVYN2+GTZvsZfRo6NDBnuz37QvVqzsldhERERGpeErkRUScqKwL5/n7eLIqOprg9evhww9hwwbYuNFeRo2Cjh2hXz+46y77lXsRERERuWYpkRcRcaKyLJyXeTqRkz+u5IyHB8FPPAFPPAHHj8PHH8MHH9iT+R9/tJeRI8lp0ICMLl3I7NKFnCZNwFx4FpWfnx+hoaEV8fZERERE5CpQIi8iUglcauG8kxfvuOEG+y3rRo6EY8dIX7aMwy+9RJPUVNxiYnCLiSHolVc44eLKev8AfvALYLOvH2fNFvx9PPnk/RVK5kVERESqKCXyIiJVXY0aJA4cyKDPvqZuqzvpdOI4bffv4ObfdhGSk03fk8n0PZlMjosrO2rWY92JRLJ+/RW6di2xyeTkZFJTU0s9ra7si4iIiDiHEnkRkWtI/g03se3mv7Ctx3245OXS6ODP3PzLRlr+uoGQU4m0P7KH9gDdukFEBPz1r9C9O3TpAgEBgD2Jv3vAP0hJzyr1XLqyLyIiIuIcSuRFRK5R+a5WdjVqy65GbXlr4GhqHT9E45++otGWr2h1NgvTkSPw2mv2YjZDmzbQvTs5DRuSkZZBcKd/4BUYXmzb5+ftp6amKpEXERERqWBK5EVErgcmE3E1bmJP57/ze8rvrFq6iJuOH4e1a+GbbyAmBjZvhs2bqQn8ZDazLzWbg01uYV+9Fhyq3ZB818Kr6heZty8iIiIiFUKJvIjIdcjw9oY777QXgKNHHUl9wX//i2dKCi0P7aLloV0A5LpaOXBjE2Iio9hbrwU/e/mTn5dHbGzsJc+Vm5tb6q31QPPtRURERC6HEnkREYGaNWHYMBg2jMP79/PU3/vz14ibiUr8nYYHf8YvPYUm+3fSZP9OAPLMFraZzOz9x2C+9PXjFy8fThSTrOfn5ZEQf4xqNWriYin5nxzNtxcREREpOyXyIiJVwKWufsfGxpJfkF8+JzObOeDpRc4tPfkhrCYYBtWTfqfhgWgaHfiZhgd/JjDlJO0poP3JJDiZBECyXxD7a0QSU7MeMTUiOVStDvFxMcQdX0Zgu34EVKtd7OmcMd9eq/KLiIhIVaZEXkSkksvJSOXY0TiGj51U4hD1nLPZJCafoHZeOSXzFzKZiA+vQ3x4HdZ16gOGgXnT13h9tJDe9VvQ9MQxah87RGjqKUJTT3Hrns0A5Lm4cjC4Ov/LSCHt6H5OBoVxvHoEBcVcma/I+fZalV9ERESqOiXyIiKVXH5OFjazC8EdB5R4VfvEoV0c/2IZ+barkMhfzGQi3j+Yre6eHO55PyG1InE7m0Xd32O46chu6h3eTeTh3filp9Ao8XcaAXzxBnzxBrkuVuJq3MSRWvU5XLs+R2rVZ5+l9Pnz5S01NZWU9CyCbx2oVflFRESkSlIiLyJSRXgEhuETVrPYY5mnEio4msJy3D3ZW/9m9ta/2b7DMAg9GU/whtX4/vAJt4XVpF7SUTzPZnJT7F5uit3reG2exYWDVjfCnnoKOnaEpk2hWTMIC7uqMXsFhpf4eYJW5RcREZHKS4m8iIiUP5OJ5JAb2FW/JVu3raPdfZMIrVGXsBPHiYiLISLuADf+HkOdowfwzkqnUXY+fPqpvZwXGmpP6M8n9k2bQoMG4OXlvPd1hTQnX0RERMqTEnkREakQhtlMYlhNEsNqsql193M7DbxituO9ehFTevUgKD4edu2C336D5GT49lt7uVCtWtCwYdESHFzxb6oMNCdfREREypsSeRERcR6TicTAcH4PCGLEE08QFBlp35+ZCXv32pP6Xbvg11+x7dqF+dQpiIuzl//+t1BT+YGB2OrXx9qoEURG/lFuugk8PJzw5uw0J19ERETKmxJ5EZHrTIXeyu5KeXlB69b2wh9XtY0zqdx4Npsbs7Ptj+fKDbk5uJw+DZs22cvFatRwJPb+AQF0PXMKW0IsGb4BZHt4FxvCpT4nuLzh8Jeak59YzucTERGRa5cSeRGR64jTb2V3hRxXtf8ymNOB4ZwGtl9w3C33LEGHfyXwp1VMuPN2gk6fhoMH7SUlBY4ds5fvvycEmAfw6lMApHv5khxUneSQ6pwIqkZycHV+y8vleOxhxox+CsPdvcS4yms4fFm+l/I8n4iIiFRtSuRFRK4jle5WdpeptKva8VZ3Nu3fyEMjR/4xRN8w4NQpe0L/229w8CDpO3dy5Pv11DKZ8c9Mw+dcqRsXU6i9mQB7TpPi5csJv2BO+AWR7Bds3/YPJs5kImbvelJPn/7TiXVZvhcNvxcREZHzlMiLiFyHKvOt7P6MEofDBwfbyy23EHvrrTxxPJm6d48j2C+I0FMJhJ6MJ/REPKGn4gk5mUDQ8d8IPpWEDwb+mWn4Z6YRGX+42HPaGjcmLzSU/LAwCsLCyL+oJOfn45abY/9R4RJK+15At8QTEREROyXyIiLidOUxb7+sw9MvnDqQ4+7J0RvqcvSGuoXqJO7dytZ3Z9H9/snU9/Qi+HTSuZJI0Bn7dkDyMYLSz2Cx2TAnJuKamFjs+WoAO4CzMUNJ9QvijF8wqX6BpPgGkeIbSIpfEEdST5Gfn0to6ilccmuRZ3Ur9b1eim53JyIicm1TIi8iIk5VXvP2yzI8HS5j6oDJRIaHF3E1I4mrGVnkcOLerex4dxZ/6TWMuh6eBKWdJij9tP0x7TRBaWcISj9NYMpJvPJzcc/Lwf1kPGEn40s+58IxAGS5e5Lu7U+qTwBpvgGk+gRw0uzCkaQEfD77DBo3/mOUQVAQ+PiAyQSU/XZ3nm4uzH9pNkFBQSXWUbIvIiJSOSmRFxERpyrvefuXGp5enlMHCkwmMmvVI6FWJCW1mrh3K3venUmPgWO40cuXgNST+Kedxi/1FP5pp/FPO4VXUhxeJ+MJNZmxFuTjeTYLz7NZxSf948cX2WW4ulLg709BQAAu7u5M+f0oeTXqk+0fQoaHN+me3mS4e5F+bvt4ygk2f/02Qx8ejqtbyVf/y7K4Xlmu/oN+FBARESlPSuRFRKRSuFbn7QNkmswkBISRX6volX04N5T/vdm0e3Q6tUKr45d2Bt+MFHzTT9u3089gPXaIgl83Us3NSkCBjYD8PPzz8/EwbJjy8nA5cQKXEydwA/4KkLr5knHZUk6R5e5Jhrsnme5eZLp7nitepAAn9u/H9PLLULcu+PqCn5/98dz2iZwc7nnwEc5kZF/yXFpxX0REpPwokRcREaksTCayPbzJ9vAm8aIfNRL3bmXr7zFE9R9VaOSCW24OPtnp+GbZC0f2kLnje5q26kaYqyvemWl4Z6XhlZn+x2NGCtaCfMwYeJ/NxPtsJnCi+Jhmziwx3BDgRyDL1Y1sd0+yre5ku3nYH89vu7mTZrNxav9+THPmQJ064OUF3t72cn7by+uP4ukJFsuf/jjLg9YbEBGRykiJvIiISBVS3MiFHOxp+Akg0T+ErXu20q7j3wgpZQTAL+/OouvgidQKDMEzKwPP7Ay8HI/pmOKPkPnzekI9PPDFwKsgH5+CArwKCvA+V1yxr8TvmZeDZ17OpYOfNavsb9TNzZ7Qn0/szz96eoKHR9HHi7fPF3f3kh/PFzc3MJuLhFDW9QY02kBERCpapUjkFy1axAsvvEBiYiLNmzdnwYIFtGnTpsT6H374IZMnTyY2NpbIyEhmzZrFHXfc4ThuGAZTp05l6dKlpKSk0KFDB1599VUiI4v/D42IiMj1Jsdk4oy3Py7hdYo9nrh3K1t/21VkBICDYZB2YCdHv3qbWweO5YbAENzPZuGRk2V/PGt/dM/JxnI6ifz9W+nZ4RZ8zWbIyIDMTPvjhdtZWX/cpi8nx17OnLl6H8KFXF3/SOrPJfh+JhOvHY/H8AvB5uZJnosreS6u5Fss5Fns21n5uaTv3YPLv/8NYWFgtdrbsFr/KOefu7pe+rG0UklGKUjxtF6EiFQkpyfy77//PmPGjGHx4sW0bduWuXPn0qNHD/bv31/sX3I//fQT9957LzNmzODOO+9kxYoV9OnTh507d9KkSRMAZs+ezfz583n77beJiIhg8uTJ9OjRg7179+Lu7l7Rb1FERKTKKnXtgtOJJJstxAeGkVfC1X+A9KSj/H72JDe/8AK+pfyonpyURFpyMqasLMxnz/7xmJ2NOTsbU3Y2tvR0XPPzMefkYMrOxpST46jj2D57FrKzseTmYsrJ+aOcPWt/3blt0/kfDQDy8uwlPd2xyw1oDJCVeekPaunSS9f5kwyTCcPFBVxdMVutcG67pMc8wyAf7K+xWDBcXAptY7Hg4uGBh5eX/TXn9hXZtliKbhf3vAwlJT2djOxs+wgIiwXDZLI/Wiz2Oy9YLHj7+hIYEuKog9lc+nZp+y4s5+7scDWUdfQGaASHiJQPpyfyc+bM4eGHH+aBBx4AYPHixXz55Ze8+eabTJw4sUj9efPmcfvttzP+3Kq9zz77LGvXrmXhwoUsXrwYwzCYO3cu//73v7nrrrsAeOeddwgLC2PVqlUMHDiw4t6ciIiIAJCfl0dsbGyJx0+dOsWT454i82xeqW0kxB+jWo2auFhK/i9MoXpWb7B6g89FdXJzORF/jDrVb8DDbMbNZsNqs2E1DPu2YWA6m03WmRSa9hhCgF8ALvl5uObn4pqfhyU/D9f8PPKSj5G88zsCvb1xM5lxNWy4GgZWm/3RXmxYbQbuZhMNb4zAFSA31/7DwQWPtpwccjMzsdgMx7SFC5kMA9P5HxyyLp0wup4rlYn/ueIsxrmk3jCZHAm+AUUSfuN84n/++QX1Hc8vOO6Zn89bySewePtjsrjaf3QxmTAwXbAN+QUF5KafxHrbbWR7eNiDuvB854oNMJ+Ps5himEy4urri5u5e7PErKudiKfOxi/dd+Pxyti/1eLltlNZeWc5ZyrH0jAzOnj1btN5F2+4eHvj4+JRap8TtC8+Xnk72hecrpq6Hhwc+vr6Xf47L2XepOuXVzhW2lZaWxpmaNclt2LDUetfaaBinJvK5ubns2LGDSZMmOfaZzWa6devGpk2bin3Npk2bGDNmTKF9PXr0YNWqVQAcOXKExMREunXr5jju5+dH27Zt2bRpU7GJfE5ODjk5f8ztOz8s6vTp0+TnX/pWR86SlpaGGchMisWWU/I/6Fmn4nF1sZCdHEcqNqfXudbPVxljutbPVxljqujzVcaYKvp8lTGma/18ZY0pNeEwSQnxPDF+ElYXa7F1cnJzOHHyJDd2ugdP/+LvbZ+WEAtJSXjVa49XQEiJ5ytLvbSEWPKTk6HhrZgDQsgD8oDMi+oc2fJfEvwD8QutUWw7p7x92X/oF27qfHepMZ3NSCVj7/c8P/lpatWqVWyduLg4/v3cTLwadsbd2xeLzYaLrQCLreDcto2C9BRy9v/EuMcfoVpICKaCAkz5+ZCfb98uKIC8PE4mJLDi/Y/wuqEhbm7uWGwGFsPezvlinM0kL+Egvbrchr+PDyabDc63UVAA+fnkZmezZdMWbPn5mA2wYGAxDMyGgRn7c7NhYDWZaBh5E64Wi/31Npu9PZvN8Tw3O5vEhERc3DyxmEz2NgzbuUcDs82AgnyMnCxczGbMgNkAM4bj0XQuBjNgAoqubHAJ52K6GkIBchLLVnnfPkr+ycruUlHmnCtSsUq+YecfDCCtnM53qbHE5XmuquzTajV4s3rJt54F8PXx5M3XXiE4OLiCorp8aWn2b9Mwiv6YW4ThRMePHzcA46effiq0f/z48UabNm2KfY2rq6uxYsWKQvsWLVpkhIaGGoZhGBs3bjQAIz4+vlCdfv36Gf379y+2zalTpxrY/xyoqKioqKioqKioqKioqDitHD169JK5tNOH1lcGkyZNKnSV32azcfr0aYKCgjBdxflUpUlLS6NmzZocPXoU3wuHy4hcQ9TP5Xqgfi7XOvVxuR6on0tFMAyD9PR0qlevfsm6Tk3kg4ODsVgsJCUlFdqflJREeHh4sa8JDw8vtf75x6SkJKpVq1aoTlRUVLFturm54eZWeKCMv7//5byVq8bX11d/Wcg1T/1crgfq53KtUx+X64H6uVxtfn5+Zap32VOLypPVaqVly5asW7fOsc9ms7Fu3TratWtX7GvatWtXqD7A2rVrHfUjIiIIDw8vVCctLY0tW7aU2KaIiIiIiIhIVeH0ofVjxoxh6NChtGrVijZt2jB37lwyMzMdq9gPGTKEG264gRkzZgDw5JNP0rlzZ1566SV69erFypUr2b59O0uWLAHAZDIxatQonnvuOSIjIx23n6tevTp9+vRx1tsUERERERERKRdOT+QHDBjAiRMnmDJlComJiURFRbFmzRrCwsIA+wquZvMfAwfat2/PihUr+Pe//83TTz9NZGQkq1atctxDHmDChAlkZmbyyCOPkJKSQseOHVmzZk2Vuoe8m5sbU6dOLTLkX+Raon4u1wP1c7nWqY/L9UD9XCobk2GUZW17EREREREREakMnDpHXkREREREREQujxJ5ERERERERkSpEibyIiIiIiIhIFaJEXkRERERERKQKUSJfSS1atIg6derg7u5O27Zt2bp1q7NDErkiM2bMoHXr1vj4+BAaGkqfPn3Yv39/oTpnz55l+PDhBAUF4e3tzT333ENSUpKTIhb582bOnOm4Hep56udyLTh+/Dj33XcfQUFBeHh40LRpU7Zv3+44bhgGU6ZMoVq1anh4eNCtWzcOHjzoxIhFyq6goIDJkycTERGBh4cHdevW5dlnn+XCtcHVx6WyUCJfCb3//vuMGTOGqVOnsnPnTpo3b06PHj1ITk52dmgil239+vUMHz6czZs3s3btWvLy8vjrX/9KZmamo87o0aP5/PPP+fDDD1m/fj3x8fHcfffdToxa5Mpt27aN1157jWbNmhXar34uVd2ZM2fo0KEDrq6ufP311+zdu5eXXnqJgIAAR53Zs2czf/58Fi9ezJYtW/Dy8qJHjx6cPXvWiZGLlM2sWbN49dVX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+zExMbRv3x53d3eaNGnC+vXrCx3fvXs3PXv2xNvbm7CwMAYPHszJkycdx2+77TZGjBjBqFGjCA4OpkePHsW+D5vNxrRp06hRowZubm5ERUWxZs0ax3GTycSOHTuYNm1aiVfXw8PDHcXPzw+TyeR4HhMTg4+PD19//TUtW7bEzc2NDRs2FPn8tm3bRvfu3QkODsbPz4/OnTuzc+fOEj//3NxcRowYQbVq1XB3d6d27dqlfl9ldT6ud999lzp16uDn58fAgQNJT08H7N/p+vXrmTdvnuMqemxs7BVd2Qfw9/cv9PkFBgYWGVp/vu2LP8NffvmFv/zlL/j4+ODr60vLli3Zvn07P/zwAw888ACpqamljooAWL16NY8//jj9+vUjIiKC5s2b8+CDDzJu3DhHnTp16jB37txCr4uKiirUZkpKCo8++ihhYWGOPvvFF184jm/cuJHbbrsNT09PAgIC6NGjh+PHApvNxowZM4iIiMDDw4PmzZvz0UcfOV575swZBg0aREhICB4eHkRGRjr+zFytfiAiIn+OEnkREalwFouF6dOns2DBAo4dO/an2vruu++Ij4/nf//7H3PmzGHq1KnceeedBAQEsGXLFh577DEeffTRIucZP348Y8eO5eeff6Zdu3b07t2bU6dOAfakqUuXLrRo0YLt27ezZs0akpKS6N+/f6E23n77baxWKxs3bmTx4sXFxjdv3jxeeuklXnzxRXbt2kWPHj3429/+xsGDBwH71fbGjRszduxYEhISCiV4l2PixInMnDmTffv20axZsyLH09PTGTp0KBs2bGDz5s1ERkZyxx13OBLoi82fP5/Vq1fzwQcfsH//fpYvX17oR5Q/49ChQ6xatYovvviCL774gvXr1zumWsybN4927drx8MMPk5CQQEJCAjVr1iyX817KxZ/hoEGDqFGjBtu2bWPHjh1MnDgRV1dX2rdvz9y5c/H19XXEWNL3Fh4eznfffceJEyeuOC6bzUbPnj3ZuHEj7733Hnv37mXmzJlYLBYAoqOj6dq1K40aNWLTpk1s2LCB3r17U1BQAMCMGTN45513WLx4MXv27GH06NHcd999jh+vJk+ezN69e/n666/Zt28fr776KsHBwcDV7QciInLlNLReRESc4u9//ztRUVFMnTqVN95444rbCQwMZP78+ZjNZurXr8/s2bPJysri6aefBmDSpEnMnDmTDRs2MHDgQMfrRowYwT333APAq6++ypo1a3jjjTeYMGECCxcupEWLFkyfPt1R/80336RmzZocOHCAevXqARAZGcns2bNLje/FF1/kqaeecpx71qxZfP/998ydO5dFixYRHh6Oi4sL3t7eVzR0/Lxp06bRvXv3Eo936dKl0PMlS5bg7+/P+vXrufPOO4vUj4uLIzIyko4dO2IymUoc9n8lbDYbb731Fj4+PgAMHjyYdevW8fzzz+Pn54fVasXT0/NPfR7n3XvvvY6EF+C9994rcRHAiz/DuLg4xo8fT4MGDQD7933ehSMjSjNnzhz69u1LeHg4jRs3pn379tx111307NmzzO/h22+/ZevWrezbt8/R92688UbH8dmzZ9OqVSteeeUVx77GjRsDkJOTw/Tp0/n2229p166d47UbNmzgtddeo3PnzsTFxdGiRQtatWoFUChRv5r9QERErpyuyIuIiNPMmjWLt99+m3379l1xG40bN8Zs/uOfs7CwMJo2bep4brFYCAoKIjk5udDrzic1AC4uLrRq1coRxy+//ML333/vmGfu7e3tSOYOHTrkeF3Lli1LjS0tLY34+Hg6dOhQaH+HDh3+1HsuzvkkrCRJSUk8/PDDREZG4ufnh6+vLxkZGcTFxRVb//777yc6Opr69eszcuRIvvnmm3KLtU6dOo4kHqBatWpFvp/y8vLLLxMdHe0opf3YcfFnOGbMGB566CG6devGzJkzC333ZdWoUSN2797N5s2bGTZsGMnJyfTu3ZuHHnqozG1ER0dTo0YNRxJf3PGuXbsWe+y3334jKyuL7t27F+rP77zzjuP9/POf/2TlypVERUUxYcIEfvrpJ8frr2Y/EBGRK6dEXkREnKZTp0706NGDSZMmFTlmNpsxDKPQvry8vCL1XF1dCz03mUzF7rPZbGWOKyMjg969exdKAKOjozl48CCdOnVy1PPy8ipzm1fbpWIZOnQo0dHRzJs3j59++ono6GiCgoLIzc0ttv7NN9/MkSNHePbZZ8nOzqZ///707du3xPZ9fX1JTU0tsj8lJQWLxVIovj/7/VyO8PBwbrrpJkcp7XO6+NgzzzzDnj176NWrF9999x2NGjXi008/vewYzGYzrVu3ZtSoUXzyySe89dZbvPHGGxw5csRxvLS+7uHhUWr7pR3PyMgA4MsvvyzUl/fu3euYJ9+zZ09+//13Ro8eTXx8PF27dnVMFbjcfiAiIhVDibyIiDjVzJkz+fzzz9m0aVOh/SEhISQmJhZKcMrzvt+bN292bOfn57Njxw4aNmwI2JOXPXv2UKdOnUJJ4KUSwYv5+vpSvXp1Nm7cWGj/xo0badSoUfm8kTLauHEjI0eO5I477qBx48a4ubkVWryvOL6+vgwYMIClS5fy/vvv8/HHH3P69Oli69avX589e/aQk5NTaP/OnTuJiIgokryXxmq1OuZ3O1u9evUYPXo033zzDXfffbdjEbg/E+P57z4zMxOw9/UL70yQlpbmSPIBmjVrxrFjxzhw4ECx7TVr1qzEWw02atQINzc34uLiivTlC9ceCAkJYejQobz33nvMnTuXJUuWOI5dTj8QEZGKoTnyIiLiVE2bNmXQoEHMnz+/0P7bbruNEydOMHv2bPr27cuaNWv4+uuv8fX1LZfzLlq0iMjISBo2bMjLL7/MmTNnGDZsGADDhw9n6dKl3HvvvUyYMIHAwEB+++03Vq5cyeuvv15ozvWljB8/nqlTp1K3bl2ioqJYtmwZ0dHRLF++vFzeR1lFRkby7rvvOm6BNn78+FKv5M6ZM4dq1arRokULzGYzH374IeHh4SXeO33QoEFMmzaNIUOGMGHCBPz8/Pjf//7H3LlzL7mOwMXq1KnDli1biI2Nxdvbm8DAwMt6fXnIzs5m/Pjx9O3bl4iICI4dO8a2bdsc6yrUqVOHjIwM1q1bR/PmzfH09MTT07NIO3379qVDhw60b9+e8PBwjhw5wqRJk6hXr55jukaXLl1466236N27N/7+/kyZMqVQH+vcuTOdOnXinnvuYc6cOdx0003ExMRgMpm4/fbbmTRpEk2bNuXxxx/nsccew2q18v3339OvXz+Cg4MZN24co0ePxmaz0bFjR1JTU9m4cSO+vr4MHTqUKVOm0LJlSxo3bkxOTg5ffPGF40ety+0HIiJSMXRFXkREnG7atGlFhlY3bNiQV155hUWLFtG8eXO2bt16xSu6F2fmzJnMnDmT5s2bs2HDBlavXu1Yqfv8VfSCggL++te/0rRpU0aNGoW/v3+h+fhlMXLkSMaMGcPYsWNp2rQpa9asYfXq1YUWTqsIb7zxBmfOnOHmm29m8ODBjBw5ktDQ0BLr+/j4OBZRa926NbGxsXz11Vclvn9/f39+/PFH8vLy+Nvf/kZUVBTz589nzpw5PProo5cV67hx47BYLDRq1IiQkJAS5/FfTRaLhVOnTjFkyBDq1atH//796dmzJ//5z38AaN++PY899hgDBgwgJCSkxB8revToweeff07v3r2pV68eQ4cOpUGDBnzzzTeO+9RPmjSJzp07c+edd9KrVy/69OlD3bp1C7Xz8ccf07p1a+69914aNWrEhAkTHCMC6tWrxzfffMMvv/xCmzZtaNeuHZ999pmj/WeffZbJkyczY8YMGjZsyO23386XX35JREQEYB9dMGnSJJo1a0anTp2wWCysXLkSuPx+ICIiFcNkXDwpS0REREREREQqLf2cKiIiIiIiIlKFKJEXERERERERqUKUyIuIiIiIiIhUIUrkRURERERERKoQJfIiIiIiIiIiVYgSeREREREREZEqRIm8iIiIiIiISBWiRF5ERERERESkClEiLyIiIiIiIlKFKJEXERERERERqUKUyIuIiIiIiIhUIf8PrbP2HQcvlAEAAAAASUVORK5CYII=\n"
          },
          "metadata": {}
        }
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "> *Ejercicio propuesto por Gemini.* Analice la gráfica que compara las distribuciones geométricas simuladas y teóricas y comente sus observaciones. ¿Qué tan bien se aproxima la simulación con 5000 repeticiones a la distribución teórica?\n",
        "\n",
        ">> *Respuesta.* ¡La gráfica es una obra de arte! Muestra qué tan bien se ajusta la distribución geométrica simulada a la teóricamente esperada. Este resultado y los del histograma anterior indican que podemos relacionar la teoría con la observación y que se espera una buena correspondencia incluso si no tenemos demasiadas repeticiones: 200 son suficientes para tener una idea muy precisa de la distribución ideal con un número infinito de repeticiones.\n",
        ">>\n",
        ">> Gemini no cuenta el número $k$ de fracasos antes del primer éxito, sino el número total de ensayos, incluyendo el último, el del éxito. La diferencia es un desplazamiento de 1 que aparentemente no altera mucho el panorama ni la discusión. En la literatura, esta configuración se conoce como *Distribución Geométrica Desplazada*.\n",
        "\n",
        "## La tarea más simple es universal\n",
        "\n",
        "La tarea más simple que podemos plantearle al mono es la siguiente: encontrar un solo carácter. Solo un carácter. El mono debe escribir una y otra vez al azar. Y debemos registrar el ensayo de la finalización de la tarea. Más detalladamente:\n",
        "\n",
        "El mono debe pulsar una tecla específica cuya probabilidad es $p$. Los valores ordinarios de $p$ podrían ser $1/27$, $1/54$, $1/96$, $1/110$. Sin embargo, observemos que nuestro razonamiento no depende del valor real de $p$, por lo que puede ser cualquiera, $1/2$ o $1/10^{-80}$.\n",
        "\n",
        "El mono puede tener éxito en el primer intento con probabilidad $p$, pero puede fallar con probabilidad $1-p$ y fallar de nuevo con probabilidad $1-p$ y fallar una y otra vez... Nuestro estudio de este juego debe producir predicciones observables. Para ello, necesitamos algunos prerrequisitos que se explicarán más adelante.\n",
        "\n",
        "Hemos subrayado que $p$ puede tener cualquier valor entre 0 y 1. Esto implica que podemos aplicar nuestros resultados a cualquier tarea, por compleja que sea.\n",
        "\n",
        "> *Ejemplo.* Necesitamos calcular predicciones observables sobre las obras de Shakespeare. Como hizo Richard Dawkins (1986), podemos tomar una frase simple: «Me parece que es como una comadreja».\n",
        "\n",
        "> Tomado de\n",
        ">\n",
        "> Richard Dawkins\n",
        "> The Blind Watchmaker(1986-1987-1996)\n",
        "> https://avalonlibrary.net/ebooks/Richard%20Dawkins%20-%20The%20Blind%20Watchmaker.pdf\n",
        "\n",
        "Para calcular el valor correspondiente de $p$, procedemos de la siguiente manera: La frase se presenta en una combinación de mayúsculas y minúsculas, sin números. Esto significa que utiliza un alfabeto de 28 letras para minúsculas, contando el espacio como una letra más un punto, y las otras 26 letras para mayúsculas. El número total de caracteres es 54. Consideramos que todos estos signos tienen la misma probabilidad de ser escritos. La frase contiene 29 caracteres, que corresponden a 29 espacios para completar.\n",
        "\n",
        "En el primer espacio, el mono puede escribir cualquiera de los 54 caracteres, por lo que la probabilidad de elegir M es 1/54.\n",
        "\n",
        "En el segundo espacio, el mono puede escribir cualquiera de los 54 caracteres, por lo que la probabilidad de elegir e es 1/54. Como vemos, se asume que los eventos son independientes. Esto significa que para los dos primeros caracteres, el mono elige una opción entre 54 x 54 = 2916. O, equivalentemente, que la probabilidad de acertar el dúo correcto es (1/54) x (1/54) = 1/2916.\n",
        "\n",
        "> *Ejercicio.* Calcula la probabilidad de acertar la subcadena inicial correcta de 3 caracteres de la frase \"Me parece que es como una comadreja.\" y generaliza.\n",
        ">>\n",
        ">> Respuesta. Tenemos 54 x 54 x 54 = 157464 opciones para la subcadena inicial de 3 caracteres. La probabilidad correspondiente es 1/157464. En general, para la subcadena inicial de $n$ caracteres, el mono tiene $(54)^n$ opciones y una probabilidad de $p = (1/54)^n = 1/(54^n) = 0.000006$. Esta es la probabilidad de acertar una cadena de longitud $n$ en el primer intento utilizando un generador perfecto de caracteres aleatorios del alfabeto elegido con 54 letras.\n",
        "\n",
        "> *Ejemplo.* Calculemos $p$ para el mensaje de ADN ATCAGTTGCTGCTAGGGCTCTAGAGCT con 9 codones, grupos de 3 bases y 27 caracteres en total.\n",
        ">>\n",
        ">> *Respuesta.* El alfabeto del ADN tiene cuatro caracteres. Por lo tanto, hay cuatro opciones para cada sitio. Por independencia, multiplicamos las opciones y las probabilidades para múltiples sitios. Por lo tanto, para un mensaje de longitud $n$, tenemos $4^n$ opciones o una probabilidad $p = 1/(4^n)$. La cadena dada tiene 27 caracteres; por lo tanto, la probabilidad asociada es $p = 1/(4^{27}) = 5 \\times 10^{-17}$. Esta es la probabilidad de coincidir con esta cadena en el primer intento utilizando un generador de números aleatorios, preferentemente en base 4.\n",
        "\n",
        "> *Ejercicio.* Un mensaje binario para una computadora es 11001010101010. ¿Cuál es la $p$ asociada?\n",
        ">>\n",
        ">> *Respuesta.* Hay 2 opciones para cada sitio, y hay 14 sitios. Por lo tanto, hay $2^{14} = 16384$ opciones. La probabilidad correspondiente es $p = 1/16384= 0.00006$.\n",
        "\n",
        "Para continuar y comparar lo que pensamos en nuestros cálculos matemáticos con lo que observamos en nuestras simulaciones, necesitamos realizar algunos cálculos con sumas o series infinitas.\n",
        "\n",
        "## La serie geométrica\n",
        "\n",
        "Nuestras sumas o series infinitas son de tipo geométrico y las aplicaremos a la Distribución Geométrica.\n",
        "\n",
        "Seguimos a\n",
        "\n",
        "\n",
        "\n",
        "https://online.stat.psu.edu/stat414/lesson/11/11.2\n",
        "\n",
        "y a\n",
        "\n",
        "https://www.statlect.com/probability-distributions/geometric-distribution\n",
        "\n",
        "\n",
        "Para la razón, consideramos  $ 0 < r  < 1$, y la potencia $n > 0$. Nuestros resultados son:\n",
        "\n",
        "\n",
        "> *Truco  1.* Para la serie geométrica,\n",
        ">>\n",
        ">> $(1+r+r^2 +... r^n)  = \\frac{1 -r^{n+1}}{1-r} $\n",
        ">>\n",
        "> *Prueba.*\n",
        ">>\n",
        ">> $(1+r+r^2 +... r^n)(1-r) = (1+r+r^2 +... r^n) -r(1+r+r^2 +... r^n))$\n",
        ">>\n",
        ">> $= 1+r+r^2 +... r^n - r - r^2 - r^3 ... -r^{n+1}$\n",
        ">>\n",
        ">> $= 1+(r-r)+(r^2- r^2) +... (r^n-r^n)   -r^{n+1} = 1 -r^{n+1} $\n",
        ">>\n",
        "> esto es\n",
        ">>\n",
        ">> $(1+r+r^2 +... r^n)(1-r) = 1 -r^{n+1} $\n",
        ">>\n",
        "> o\n",
        ">>\n",
        ">> $(1+r+r^2 +... r^n)  = \\frac{1 -r^{n+1}}{1-r} $\n",
        "\n",
        "> *Truco  2.* La serie, o suma infinita\n",
        ">>\n",
        ">> $1+r+r^2 +... = \\frac{1  }{1-r}  $.\n",
        ">>\n",
        ">> A esta suma infinta se la conoce con el nombre de *serie geométrica* con  $0 < r < 1$\n",
        ">>\n",
        "> *Prueba.* Tomando el límite cuando   $n \\rightarrow \\infty$ en\n",
        ">>\n",
        ">> $(1+r+r^2 +... r^n)  = \\frac{1 -r^{n+1}}{1-r} $\n",
        ">>\n",
        "> obtenemos\n",
        ">>\n",
        ">> $(1+r+r^2 + r^3... )  = \\frac{1  }{1-r} $\n",
        ">>\n",
        "> porque $r^n \\rightarrow 0$ y $r^{n+1} \\rightarrow 0 $ cuando $n \\rightarrow \\infty $\n",
        "\n",
        "> *Ejercicio.* Encontrar el valor de la suma infinita\n",
        ">>\n",
        ">>  $(a+ar+ar^2 +... )  $\n",
        ">>\n",
        ">> *Respuesta.* Si multiplicamos la ecuación\n",
        ">>\n",
        ">> $(1+r+r^2 +r^3 +... r^n)  = \\frac{1 -r^{n+1}}{1-r} $\n",
        ">>\n",
        ">> por a en ambos lados, obtenemos:\n",
        ">>\n",
        ">> $(a+ar+ar^2 +ar^3 +... ar^n) = \\frac{a - ar^{n+1}}{1-r}   $\n",
        ">>\n",
        "> y tomando el límite de $n \\rightarrow \\infty$, obtenemos\n",
        ">>\n",
        ">> $(a+ar+ar^2 +ar^3 + ...  ) = \\frac{a }{1-r}   $\n",
        "\n",
        "\n",
        "> *Truco  3.* La serie\n",
        ">>\n",
        ">> $a + 2ar + 3 ar^2 + ... = a(1-r)^{-2}$\n",
        ">>\n",
        "> *Prueba.* En la serie del ejercicio anterior\n",
        ">>\n",
        ">> $(a+ar+ar^2 +ar^3 + ar^4... )  = \\frac{a  }{1-r} = a(1-r)^{-1} $,\n",
        ">>\n",
        "> Tomemos la derivada con respecto a  $r$ en ambos lados, obtenemos\n",
        ">>\n",
        ">> $(a +2ar +3ar^2 + 4ar^3... )   = (-1)(-1)a(1-r)^{-2} = a(1-r)^{-2}$.\n",
        "\n",
        "> *Truco  4.* La serie\n",
        ">>\n",
        ">> $ 2a + 6ar + 12 ar^2+ ... = 2a(1-r)^{-3}$\n",
        ">>\n",
        "> *Prueba.* Derivemos a ambos lados con respecto a   $r$ en la serie del truco 3, la cual es\n",
        ">>\n",
        ">> $(a +2ar +3ar^2 + 4ar^3... )   =  a(1-r)^{-2}$\n",
        ">>\n",
        "> Obtenemos\n",
        ">>\n",
        ">> $ 2a + 6a r + 12ar^2 + ...= -2a(-1) (1-r)^{-3}  = 2a(1-r)^{-3}$\n",
        "\n",
        "    \n",
        "\n",
        "\n",
        "> *Truco  5.* $ln|1-x| =  -x - x^2/2 - x^3/3 + ... $\n",
        ">>\n",
        ">> y  $ln(1-x) = -x  $ cuando $x$ es muy pequeño.\n",
        ">>\n",
        "> Prueba. De acuerdo al Truco  2\n",
        ">>\n",
        ">> $1+r+r^2 +... = \\frac{1  }{1-r}  $\n",
        ">>\n",
        "> cambiando $r$ por $x$, como de ordinario en las funciones, tenemos\n",
        ">>\n",
        ">> $1+x+x^2 +... = \\frac{1  }{1-x}  $\n",
        ">>\n",
        "> Integremos término por término\n",
        ">>\n",
        ">> $x + x^2/2 + x^3/3 + ... = -ln|1-x| + c$\n",
        ">>\n",
        "> multiplicando por -1\n",
        ">>\n",
        ">> $-x - x^2/2 - x^3/3 + ... = ln|1-x| + c$\n",
        ">>\n",
        "> Para saber el valor de la constante, evaluamos ambos lados en un punto específico, $x= 0$:\n",
        ">>\n",
        ">> $0 - 0 - 0 + ... 0 .. = ln 1 + c = c$\n",
        ">>\n",
        "> De donde se desprende que la costante es 0.\n",
        ">\n",
        "> Como consecuencia, la serie infinita de $ln|1-x|$ es\n",
        ">\n",
        ">> $ln|1-x| =  -x - x^2/2 - x^3/3 + ... $\n",
        ">\n",
        "> pero si $x $ es pequeño, el primer término de la serie es suficiente para dar una buena aproximación:\n",
        ">>\n",
        ">> $ln(1-x) =  -x   $ para $x \\sim 0$\n",
        "\n",
        "> *Ejemplo.* Si $x$ es pequeño, $-x^2/2$ es despreciable:\n",
        ">>\n",
        ">> If $x = 0.1$, $-x^2/ 2 = -0.01/2 = 0.005$.\n",
        ">>\n",
        ">> If $x = 0.01$, $-x^2/ 2 = -0.0001/2 = 0.00005$.\n",
        ">>\n",
        ">> If $x = 0.001$, $-x^2/ 2 = -0.000001/2 = 0.0000005$.\n",
        "\n",
        "> *Truco  6.* El número de Euler $e = 2.7172... = \\lim_{n \\to \\infty}(1 + 1/n)^n$.\n",
        ">>\n",
        ">> *Prueba.* Apliquemos la expansión\n",
        ">>\n",
        ">> $(a+b)^n = a^n + na^{n-1}b + \\frac{n(n-1)}{2}a^{n-2}b^2 +  +  \\frac{n(n-1)(n-2) }{2 \\times 3}a^{n-3}b^3 + \\frac{n(n-1)(n-2)(n-3)}{2 \\times 3 \\times 4}a^{n-4}b^4 +  \\frac{n(n-1)(n-2)(n-3)(n-4)}{2 \\times 3 \\times 4 \\times 5}a^{n-5}b^5  +...+  \\frac{n(n-1)(n-2)(n-3)(n-4)...(n-k+1)}{k!}a^{n-k}b^k+ ...$  \n",
        ">>\n",
        ">> Acá $a = 1$, $b = 1/n$ y $n = n$. Así que el término general $g_k $ es\n",
        ">>\n",
        ">> $ g_{k,n} =  \\frac{n(n-1)(n-2)(n-3)(n-4)...(n-k+1)}{k!}a^{n-k}b^k $\n",
        ">>\n",
        ">> $ g_{k,n}  =  \\frac{n(n-1)(n-2)(n-3)(n-4)...(n-k+1)}{k!}1^{n-k}(1/n)^k $\n",
        ">>\n",
        ">> $ g_{k,n}  =  \\frac{n(n-1)(n-2)(n-3)(n-4)...(n-k+1)}{k!}(1/n)^k$\n",
        ">>\n",
        ">>  Tomemos el límite cuando $n$ diverge hacia el infinito:\n",
        ">>\n",
        ">> $ g_{k,n}  =  \\frac{n(n)(n)(n)(n)...(n)}{k!}(1/n)^k$\n",
        ">>\n",
        ">> Simplificando $k$ términos todos iguales a $n$ en el numerador con   $n^k$ en el denominador, obtenemos:\n",
        ">>\n",
        ">> $ g_{k}  =  \\frac{1}{k!}$\n",
        ">>\n",
        ">> O bien\n",
        ">>\n",
        ">> $ (1 + 1/n)^n = 1 + n (1/n) + \\frac{n(n-1)}{2} (1/n)^2  +   \\frac{n(n-1)(n-2)(n-3)}{3!} (1/n)^3 + ...$\n",
        ">>\n",
        ">> converge hacia\n",
        ">>\n",
        ">> $ (1 + 1/n)^n \\to 1 +1 + \\frac{1}{2} 1  +   \\frac{1}{3!}  + ...+ \\frac{1}{k!} + ...$\n",
        ">>\n",
        ">> $ (1 + 1/n)^n \\to 1 + 1 + 1/2 + 1/6 + 1/24 + 1 /120 + ... $\n",
        ">>\n",
        ">> $ (1 + 1/n)^n \\to 1 + 1 + 0.5 + 0.167 + 0.042 + 0.008 + ... + = 2.717...$\n",
        ">>\n",
        ">> $ (1 + 1/n)^n \\to 2.717... = e = Euler$\n",
        "\n",
        "\n",
        "> *Truco  7.* $\\lim_{n \\to \\infty}(1 - 1/n)^n = \\frac{1}{e}$\n",
        ">>\n",
        ">> *Prueba.*  Seguimos a Alberto Cid\n",
        ">\n",
        "> https://www.quora.com/How-do-we-evaluate-1-1-n-n-as-n-approaches-infinity\n",
        ">\n",
        ">> $L = \\lim_{n \\to \\infty}(1 - 1/n)^n =  \\lim_{n \\to \\infty}(\\frac{n - 1}{n})^n $\n",
        ">>\n",
        ">> Hagamos un cambio de variable $k = n-1$, i.e., $n = k+1$. Obtenemos:\n",
        ">>\n",
        ">> $L = \\lim_{n \\to \\infty}(\\frac{n - 1}{n})^n = \\lim_{k \\to \\infty}( \\frac{k}{k+1})^{k+1} $\n",
        ">>\n",
        ">> Invirtiendo multiplicativamente $k+1$ términos, obtenemos un exponente igual a $k+1$ :\n",
        ">>>\n",
        ">>> $ \\frac{1}{L} =  \\lim_{k \\to \\infty}( \\frac{k+1}{k})^{k+1} $\n",
        ">>>\n",
        ">>> $ = \\lim_{k \\to \\infty}( 1 + \\frac{1}{k})^{k+1} $\n",
        ">>>\n",
        ">>> $ = \\lim_{k \\to \\infty}( 1 + \\frac{1}{k})^k ( 1 + \\frac{1}{k})$\n",
        ">>>\n",
        ">>> $ = e \\times 1 = e$\n",
        ">>>\n",
        ">>> Por tanto,\n",
        ">>>\n",
        ">>> $  L = \\frac{1}{e}$\n",
        ">>\n",
        ">> Reemplazando el valor de $L$, obtenemos\n",
        ">>>\n",
        ">>>  $L = \\lim_{n \\to \\infty}(1 - 1/n)^n = \\frac{1}{e}$\n",
        "\n",
        "\n",
        "> *Test*. Todos tienen derecho a dudar, pero en ciencia es obligatorio. Y si trabajas con inteligencia artificial, dudar es un deber sagrado. Así que, pongamos a prueba nuestros trucos mostrando gráficamente el significado del quinto. Preguntamos a Colab:\n",
        ">>\n",
        ">> El código para la gráfica de $y = ln(1-x)$ en la vecindad de 0, junto con la de la recta $y = -x$. Sugerimos el intervalo [-0.5,0.5] como dominio de las funciones.\n",
        ">\n",
        "> Gemini respondió con el siguiente código:\n",
        "\n"
      ],
      "metadata": {
        "id": "sZ44EWdue9uM"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "import numpy as np\n",
        "import matplotlib.pyplot as plt\n",
        "\n",
        "# Define the interval for x\n",
        "x = np.linspace(-0.5, 0.5, 100)\n",
        "\n",
        "# Calculate y values for ln(1-x) and -x\n",
        "y_ln = np.log(1 - x)\n",
        "y_neg_x = -x\n",
        "\n",
        "# Create the plot\n",
        "plt.figure(figsize=(8, 6))\n",
        "plt.plot(x, y_ln, label='y = ln(1-x)', color='blue')\n",
        "plt.plot(x, y_neg_x, label='y = -x', color='red', linestyle='--')\n",
        "\n",
        "# Add title and labels\n",
        "plt.title('Graph of y = ln(1-x) and y = -x near x=0')\n",
        "plt.xlabel('x')\n",
        "plt.ylabel('y')\n",
        "plt.legend()\n",
        "plt.grid(True)\n",
        "plt.show()"
      ],
      "metadata": {
        "id": "7eKt8IiThvzq"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "source": [
        "> *Desafío de Gemini.* Descifra este asombroso y hermoso código: deja que Colab te lo explique y escribe tus propias conclusiones.\n",
        "\n",
        "> *Desafío.* Ejecuta el programa. Observando la gráfica presentada, decide si nuestros trucos son fiables. La gráfica muestra el quinto truco: el logaritmo de $1-x$ puede aproximarse por su recta tangente cuando $x$ es muy pequeño y, de hecho, no demasiado pequeño. ¿Consideras que poner a prueba lo que pensamos, nuestros trucos,  convierte las matemáticas en una ciencia?\n",
        "\n",
        "> *Ejercicio. Encontramos una aproximación a $ln(1-x)$ cercana a cero mediante un truco algebraico. Pero nuestro último resultado simplemente indica que la curva del logaritmo puede aproximarse por la recta tangente. Por lo tanto, usa derivadas para hallar la recta tangente en cero a $ln(1-x)$ y verifica que su ecuación es $y = -x$, tal como hemos encontrado. Nuestra demostración se encuentra más abajo.\n",
        "\n",
        "Hagamos ahora una prueba obligatoria: todas las probabilidades deben sumar 1.\n",
        "\n",
        "# EL TEOREMA DEL MONO PARA TIEMPO INFINITO\n",
        "\n",
        "Este teorema es la interpretación de un resultado que sirve como comprobación de nuestros procedimientos.\n",
        "\n",
        "> *Test.* Hemos dicho que la probabilidad de tener éxito por primera vez después de $k$ fracasos es $(1-p)^k p$. Para interpretar estos términos como probabilidades, todos los términos deben ser positivos y su suma para todos los $k$ debe ser 1. ¿Es cierto? Sí, lo es.\n",
        "\n",
        "> *Teorema del mono para tiempo infinito.* La suma de todas las probabilidades es 1:\n",
        ">> $p + (1-p)p + (1-p)^2 p + (1-p)^3 p + ... = 1 $.\n",
        ">>\n",
        ">> En otras palabras: cuando el tiempo es ilimitado, llegará un momento en que el mono triunfará y producirá cualquier obra de arte que necesites, sin importar lo compleja que sea.\n",
        "\n",
        ">\n",
        "> Prueba. $p + (1-p)p + (1-p)^2 p + (1-p)^3 p + ... $\n",
        ">>\n",
        ">> $= p[1 + (1-p) + (1-p)^2 + (1-p)^3 + ...  ] $\n",
        ">>\n",
        "> Puesto que $0 < p < 1$, multiplicando por -1, obtenemos\n",
        ">\n",
        "> $0 > - p > -1$ o\n",
        ">\n",
        "> $-1 < -p < 0$.\n",
        ">\n",
        "> En palabras: puesto que  $p$ está entre 0 y 1, entonces $-p$ está entre -1 y 0.  Sumando 1 a ambos lados, obtenemos:  \n",
        ">\n",
        "> $0 < 1-p < 1$.\n",
        ">\n",
        "> Por lo que tenemos el derecho de llamar a $(1-p)$ como $r$ y aplicar el truco 2, que dice:   \n",
        ">>\n",
        ">> $1+r+r^2 +... = \\frac{1  }{1-r}  $.\n",
        ">\n",
        "> Obtenemos\n",
        ">\n",
        ">> $p[1 + (1-p) + (1-p)^2 + (1-p)^3 + ...  ] $\n",
        ">>\n",
        ">>  $ = p \\frac{1 }{1-(1-p)} $\n",
        ">>\n",
        ">> $=  \\frac{p }{1-1+p}  $\n",
        ">>\n",
        ">> $=  p \\frac{1}{ p} $\n",
        ">>\n",
        ">> $= 1$\n",
        ">>\n",
        ">> Esto demuestra que la suma de probabilidades es 1. Por lo tanto, no se necesita ninguna constante de normalización, y concluimos que los términos $(1-p)^k p$ son probabilidades per se.\n",
        "\n",
        "Interpretación: Con probabilidad 1, con cualquier alfabeto, con cualquier probabilidad $0 < p < 1$, el mono tendrá éxito en algún intento y completará la tarea de pulsar la tecla objetivo, que puede corresponder a un texto predefinido extremadamente complejo y largo.\n",
        "\n",
        "> *Ejercicio.* Resuelve el siguiente problema. El mono puede fallar en el primer intento, en el segundo, en el tercero y para siempre. Esto no se descarta porque la probabilidad de fracaso no es nula, y tras cada fracaso, el mono debe empezar de nuevo. Por lo tanto, la probabilidad de éxito no puede ser uno.\n",
        ">>\n",
        ">> *Respuesta.* El mono tendrá éxito con una probabilidad de uno, pero no podemos asegurar que eso ocurra en un tiempo finito. De hecho, no hay contradicción, porque si fallas para siempre, aún no has alcanzado el infinito, que es un poco más allá. Si te gusta el rigor, deberás abordar la definición de probabilidad para clases de secuencias con miembros finitos e infinitos.\n",
        "\n",
        "En conclusión, si tenemos tiempo infinito para hacer ensayos, el éxito nos espera, incluso en el infinito. Pero, ¿qué ocurre si nuestro tiempo es limitado? En realidad, ¿es el tiempo limitado?\n",
        "\n",
        "# EL TIEMPO ES LIMITADO\n",
        "\n",
        "La gran abundancia de diversos materiales radiactivos en la Tierra, que se desintegran incesantemente, nos obliga a concluir que nuestro planeta se formó muy recientemente. Las estimaciones generalmente aceptadas establecen un límite de 5000 millones de años y tres veces más para todo el universo. Esto es excesivo comparado con nuestra esperanza de vida, pero ¿es suficiente para explicar nuestro ADN por mera aleatoriedad? Para estudiar esta cuestión, especifiquemos con mayor precisión cuál es el problema que la aleatoriedad debe resolver.\n",
        "\n",
        "## El Problema del ADN Reducido\n",
        "\n",
        "Hemos dicho que nuestro ADN tiene más de 3000 millones de caracteres. Para considerar que la aleatoriedad podría ser una explicación de esa información, debemos tener en cuenta que, en el supuesto entorno prebiótico de los mares ancestrales, las moléculas se creaban y destruían, y se combinaban y recombinaban a cada instante. Por lo tanto, trabajaron en paralelo para resolver nuestro problema. Esto significa que las subcadenas cortas —no demasiado cortas— se sintetizaron y posteriormente se unieron a los cromosomas dentro de vesículas. Supongamos que la longitud media de esos fragmentos fuera 1000.\n",
        "\n",
        "> *El Problema del ADN Reducido se lee ahora:*\n",
        ">>\n",
        ">> Inventa un mecanismo que deba operar durante menos de 5000 millones de años para reproducir y explicar la información contenida en una cadena de ADN de 1000 bases de longitud, escrita con un alfabeto de cuatro letras.\n",
        "\n",
        "No especificaremos esa información debido a la gran variedad de formas de ADN. Es un fragmento de ADN anónimo.\n",
        "\n",
        "> *Ejercicio.* Calcula la $p$ asociada a nuestro Problema del ADN Reducido: sintetizar una cadena de 1000 bases de longitud.\n",
        ">>\n",
        ">> Respuesta. En cada sitio podemos postular cualquiera de los cuatro caracteres, y como los eventos son independientes, tenemos una multiplicación encadenada, cuyo resultado es $4^{1000} = (10^{0.61})^{1000} = 10^{610}$. Esto es un 10 seguido de 609 ceros. Por lo tanto, la probabilidad asociada tiene un valor de\n",
        ">>\n",
        ">>> $p = \\frac{1}{10^{610}} = 1 \\times 10^{-610}$\n",
        "\n",
        "> *Protesta.* Esta probabilidad es demasiado baja. Tiene su origen en la longitud promedio de las cadenas de la supuesta sopa prebiótica presente hace 3.800 millones de años. Por lo tanto, es más sensato asignarle a esa longitud el valor de 100 caracteres. La razón es que es mucho mejor no menospreciar el potencial de trabajo paralelo de la sopa prebiótica, junto con la multiplicidad de subcadenas que podrían llevar a la misma función, una vez insertadas en las células.\n",
        ">>\n",
        ">> *Respuesta.* Bien, supongamos que la tarea consiste en sintetizar una subcadena de ADN de 100 bases. El número de opciones asociado es:\n",
        ">>\n",
        ">>> $4^{100} = (10^{0.61})^{100} = 10^{61}$\n",
        ">>\n",
        ">> Es decir, un 10 seguido de 60 ceros. Y la probabilidad correspondiente es\n",
        ">>\n",
        ">>> $p = \\frac{1}{10^{61}} = 1 \\times 10^{-61}$\n",
        "\n",
        "Hagamos ahora predicciones observables de nuestra teoría para compararlas con nuestros límites. El primer candidato a observable es el número promedio de ensayos que deben realizarse antes del primer éxito.\n",
        "\n",
        "## El valor esperado de la distribución geométrica\n",
        "\n",
        "Calculemos el número promedio de ensayos que el mono debe realizar antes del éxito, dado que $p = 1 \\times 10^{-61}$.\n",
        "\n",
        "La probabilidad de terminar la tarea después de $k$ fallos es\n",
        ">\n",
        "> $ p(X=k) = p_k =  (1-p)^k p$\n",
        ">\n",
        "El valor esperado es\n",
        ">\n",
        "> $E(X) = \\sum_{k =0}^{\\infty}  kp_k = \\sum_{k =0}^{\\infty} k(1-p)^k p $\n",
        ">>\n",
        ">> $ =  \\sum_{k =1}^{\\infty} kp(1-p)^k $\n",
        ">>\n",
        ">> $ =  p(1-p) \\sum_{k=1}^{\\infty} k(1-p)^{k-1} $\n",
        ">>\n",
        ">>  $ = p(1-p) [1+ 2(1-p)  + 3(1-p)^2 + ... ]$\n",
        ">>\n",
        "Esta serie fue calculada antes en el truco 3:\n",
        ">>\n",
        ">>  $a + 2ar + 3 ar^2 + ... = a(1-r)^{-2}$\n",
        ">>\n",
        " If $a = 1$, we get\n",
        ">>\n",
        ">> $1 + 2r + 3 r^2 + ... = (1-r)^{-2}$\n",
        "\n",
        "\n",
        "Sea, pues,  $r = 1-p$. El resultado es\n",
        ">\n",
        "> $E(X) = p(1-p)[(1- (1-p))^{-2}] $\n",
        ">>\n",
        ">> $=  p(1-p)(1- 1+p)^{-2} $\n",
        ">>\n",
        ">> $=  p(1-p)(p)^{-2} $\n",
        ">>\n",
        ">> $ = \\frac{p(1-p)}{p^2} $\n",
        ">>\n",
        "> Terminamos con\n",
        ">\n",
        ">> $E(X) = \\frac{1-p}{p} $\n",
        "\n",
        "\n",
        "\n",
        "> *Ejemplo.* Si $p =   10^{-61}$, el número promedio de fracasos, que el mono debe cometer para cumplir su tarea y resolver el problema reducido del ADN, es:  \n",
        ">>\n",
        ">> $E(X) = \\frac{1-p}{p}  = \\frac{1 - 10^{-61}}{10^{-61}} $\n",
        ">>\n",
        ">> $ = \\frac{1 }{10^{-61}} = 10^{61}$\n",
        ">>\n",
        "> ¿Qué tanto tiempo toma esto?\n",
        ">\n",
        "> Imaginemos que un ensayo dura un milisegundo. Entonces, el número de ensayos $N$ en   5000 millones de años es:\n",
        ">\n",
        ">> $N = 1000 \\times 60 \\times 60 \\times 24 \\times 365 \\times 5000 \\times 1000000 $\n",
        ">>\n",
        ">> $= 6 \\times 6 \\times 24 \\times 365 \\times 5 \\times 100000 \\times 1000 \\times 1000000 $\n",
        ">>\n",
        ">> $= 1576800 \\times   100000 \\times 1000 \\times 1000000 $\n",
        ">>\n",
        ">> $= 15768 \\times 10^{16} $\n",
        ">>\n",
        ">> $= 20000 \\times 10^{16} $\n",
        ">>\n",
        ">> $= 2 \\times 10^{20} $\n",
        "\n",
        "esto es un dos seguido de 20 ceros.\n",
        "\n",
        "La relación $R$ entre el número de ensayos posibles en promedio y los exigidos  es\n",
        "\n",
        ">> $R = \\frac{2 \\times 10^{20}}{10^{61}} = \\frac{2}{10^{41}} = \\frac{1}{10^{40}} = 10^{-40}$\n",
        "\n",
        "Por eso todos buscan explicaciones alternativas a nuestra existencia, más allá de la aleatoriedad.\n",
        "\n",
        "> *Ejercicio.* Dado que no hay razón para suponer que la vida surgió por mera aleatoriedad en la Tierra, estudie la posibilidad de que la vida sea un fenómeno cósmico que migró a la Tierra.\n",
        ">>\n",
        ">> *Respuesta.* El cambio es irrelevante porque el tiempo se alarga solo tres veces. El nuevo $R$ será $10^{-39}$.\n",
        "\n",
        "> *Protesta.* Estos cálculos son correctos, pero su mérito es solo académico, ya que la ciencia no rechaza teorías trabajando con valores promedio, sino con significancias, y la aceptada por defecto es 0,05.\n",
        ">>\n",
        ">> *Respuesta.* La protesta es correcta. Se justifica por el hecho de que la distribución se extiende hasta el infinito y, por lo tanto, la varianza debe ser muy grande. Esto significa que el valor promedio tiene un poder predictivo cuestionable y el éxito puede ocurrir muy lejos de la media.\n",
        "\n",
        "\n",
        "Así que, pasemos a las significancias.\n",
        "\n",
        "\n",
        "## La función de distribución acumulada\n",
        "\n",
        "Las significancias se tratan de forma general mediante la función de distribución acumulada. Veamos en qué consiste.\n",
        "\n",
        "- El mono puede tener éxito en el primer intento con una probabilidad $p$.\n",
        "\n",
        "- Si no, puede tener éxito en el segundo intento con una probabilidad $(1-p)p$. Sumando, el mono ha acumulado una probabilidad de $p + (1-p)p$.\n",
        "\n",
        "- Si no, puede tener éxito en el tercer intento con una probabilidad de $(1-p)^2p$. Sumando, el mono ha acumulado una probabilidad de $p + (1-p)p + (1-p)^2p$.\n",
        "\n",
        "Y así sucesivamente. ¿Cuánta probabilidad ha acumulado el mono hasta el intento $n$?\n",
        "\n",
        "Necesitamos calcular las fórmulas generales.\n",
        "\n",
        "> *Definición.* Si $X$ es una variable aleatoria, definimos su **función de distribución acumulada $F$** como:\n",
        ">>\n",
        ">> $F_X(k) = P(X \\le n)$\n",
        ">>\n",
        "> que representa la probabilidad acumulada hasta el ensayo $n$ incluido.\n",
        "\n",
        "Calculemos el valor de la función de distribución acumulada para la variable aleatoria geométrica $X$.\n",
        "\n",
        ">> $F_X(n) = P(X \\le n) $\n",
        ">>\n",
        ">> $ = \\sum_{x=0}^n(1-p)^x p$\n",
        ">>\n",
        ">> $ = p\\sum_{x=0}^n(1-p)^x $\n",
        ">>\n",
        ">> $ = p (1 + (1-p)^1 + (1-p)^2 +...+ (1-p)^n)$\n",
        ">>\n",
        "> Vemos una progresión geométrica finita que ya calculamoss en el truco 1   \n",
        ">>\n",
        ">> $(1+r+r^2 +... r^n)  = \\frac{1 -r^{n+1}}{1-r} $\n",
        ">>\n",
        "> Poniendo  $r = (1-p)$, obtenemos:\n",
        ">>\n",
        ">> $ F_X(n)  = p (\\frac{1 -(1-p)^{n+1}}{1-(1-p)} )$\n",
        ">>\n",
        ">>> $= p (\\frac{1 -(1-p)^{n+1}}{p} )$\n",
        ">>\n",
        "> Simplificando,\n",
        ">>\n",
        ">> $F_X(n)  =  1 -(1-p)^{n+1} $\n",
        "\n",
        "> *Ejemplo.* ¿Cuánta probabilidad ha acumulado el mono hasta alcanzar el valor esperado de fracasos antes del éxito, que es $n = \\frac{1-p}{p}$, y para $p$ muy pequeño, se convierte en $n = \\frac{1}{p}$?\n",
        "\n",
        "La función de distribución acumulada es:\n",
        ">>\n",
        ">>$F_X(n)  =  1 -(1-p)^{1 + 1/p} $\n",
        ">>\n",
        ">> Si $p = 10^{-61}$, obtenemos el valor esperado $n = 1/p = 10^{61}$\n",
        ">>\n",
        ">> La función de distribución acumulada se convierte en\n",
        ">>\n",
        ">> $F_X(n)  =  1 -(1-10^{-61})^{1 + 10^{61}} $\n",
        ">>\n",
        ">> $F_X(n)  =  1 -(1-10^{-61})^{10^{61}} $\n",
        ">>\n",
        ">> $F_X(n)  =  1 -(1-\\frac{1}{10^{61}})^{10^{61}} $\n",
        ">\n",
        "> ¿Podremos expandir el binomio y tomar sólo los términos lineales? Aplicaríamos la fórmula\n",
        ">>\n",
        ">> $(a+b)^n = a^n + na^{n-1}b$\n",
        ">>\n",
        "> Si hacemos eso con  $a = 1$, $n = {10^{61}}$, y $b = -\\frac{1}{10^{61}}$, obetenemos:\n",
        ">>\n",
        ">> $(1-\\frac{1}{10^{61}})^{10^{61}} = 1 + {10^{61}} \\times (-\\frac{1}{10^{61}})$\n",
        ">>\n",
        ">>> $ = 1 - 1 = 0$,\n",
        ">>\n",
        ">>\n",
        "> lo que implica que $F_X(n) = 1 -0 = 1$. Esto indicaría que la probabilidad acumulada hasta la media es 1 y que, por lo tanto, los términos adicionales no cuentan. Esto es falso porque la distribución geométrica nunca llega a cero, a pesar de ser fuertemente decreciente. Por lo tanto, no podemos aproximar el binomio mencionado por el primer término, ya que el segundo, el tercero y el cuarto no serán comparativamente pequeños. Debemos ampliar el desarrollo tomando muchos términos. En las siguientes líneas, tomaremos un desarrollo infinito:\n",
        "\n",
        ">> $F_X(n)  =  1 -(1-\\frac{1}{10^{61}})^{10^{61}}  =  1 - lim_{n \\to \\infty} (1-\\frac{1}{n})^{n} $\n",
        ">>\n",
        ">>> $ = 1- \\frac{1}{e} = 1- \\frac{1}{2.7172} = 1 - 0.368 = 0.632$\n",
        ">\n",
        "> donde hemos usado el truco 7 que dice:\n",
        ">\n",
        ">  $lim_{n \\to \\infty} (1-\\frac{1}{n})^{n}  = 1/e = 1/2.71 = 0.63$\n",
        "\n",
        "> *Queja.* Se usaron demasiados trucos para obtener el resultado final. ¿Cómo podemos asegurarnos de que sea correcto?\n",
        ">>\n",
        ">> *Respuesta.* Realizamos una exploración con una hoja de cálculo:\n",
        ">>\n",
        ">> Evaluamos $F_X(n) = 1 -(1-p)^{1 + 1/p} $ para valores de $p$ entre $0.1$ y $1E-15 = 10^{-15}$, en potencias de $10$. Los valores de $F$ de hasta 2 cifras significativas fueron $0.63$ en todas partes. Dado que este resultado fue impresionante para nosotros, consideramos que también podría serlo para el Lector. Así que le pedimos a Colab que desarrollara el código correspondiente:\n",
        ">>>\n",
        ">>> El código para generar una tabla con el valor de la función $f(p) = 1 -(1-p)^{1 + 1/p}$ para valores de $p = 0,1$, y decreciendo por potencias de diez hasta $p = 1E-15 = 10^{-15}$ o, si es posible, más allá.\n",
        ">>\n",
        ">> Gemini responde con el siguiente código y posteriormente ofrece la posibilidad de crear una gráfica.\n"
      ],
      "metadata": {
        "id": "LIQOLeVLE-0n"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "import pandas as pd\n",
        "import numpy as np\n",
        "\n",
        "# Define the function\n",
        "def f(p):\n",
        "  return 1 - (1 - p)**(1 + 1/p)\n",
        "\n",
        "# Create a list of p values\n",
        "p_values = [10**(-i) for i in range(1, 16)]\n",
        "\n",
        "# Calculate the function value for each p\n",
        "results = {'p': p_values, 'f(p)': [f(p) for p in p_values]}\n",
        "\n",
        "# Create a pandas DataFrame\n",
        "df = pd.DataFrame(results)\n",
        "\n",
        "# Set pandas display options to show more decimal places if needed\n",
        "pd.options.display.float_format = '{:.10f}'.format\n",
        "\n",
        "# Display the table\n",
        "display(df)"
      ],
      "metadata": {
        "id": "zXpBameWLNQ3"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "source": [
        "from matplotlib import pyplot as plt\n",
        "df['f(p)'].plot(kind='line', figsize=(8, 4), title='f(p)')\n",
        "plt.gca().spines[['top', 'right']].set_visible(False)"
      ],
      "cell_type": "code",
      "metadata": {
        "id": "zR7r_hV4M8F7"
      },
      "execution_count": null,
      "outputs": []
    },
    {
      "cell_type": "markdown",
      "source": [
        "> *Ejercicio.* Explique las implicaciones del resultado anterior.\n",
        ">>\n",
        ">> *Respuesta.* El resultado dice:\n",
        ">>> La probabilidad acumulada hasta el valor esperado fue de $0.63$ y fue casi independiente del valor de la probabilidad.\n",
        ">>\n",
        ">> Consideremos dos puntos para aplicar el resultado:\n",
        ">>\n",
        ">> - Este es un valor alto y predice que si realizamos muchas repeticiones con varios ensayos, en los que podemos alcanzar la media, tendremos éxito a tiempo el $63\\%$ de las veces. Por lo tanto, el valor esperado tiene un poder predictivo bastante bueno.\n",
        ">>\n",
        ">> - La probabilidad de no tener éxito también es muy alta, $0.37$, por lo que no es de extrañar que llegar al valor esperado no produzca ningún resultado.\n",
        "\n",
        "> *Desafío.* Hemos descubierto que la probabilidad acumulada de una Variable Aleatoria Geométrica hasta el valor esperado es de $0.63$ y es casi independiente del valor de la probabilidad pequeña de éxito. Sorprendentemente, también es válido para valores no demasiado pequeños de esa probabilidad. Explique por qué.\n",
        "\n",
        "> *Ejercicio.* Calcule el número de fallos necesarios para tener éxito con una probabilidad acumulada de 0,05 cuando $p = 10^{-61}$.\n",
        ">>\n",
        ">> *Respuesta.* Debemos igualar $F_X(n) $ a $0,05$ y despejar $n$.\n",
        ">>\n",
        ">> $F_X(n)  =  1 -(1-p)^{1 + n}  = 0.05$\n",
        ">>\n",
        ">> No podemos aproximar  $(1-p)$ por 1porque obtendríamos $0 = -0.05$. Debemos ir por un camino más largo. Pasando 1 al lado derecho\n",
        ">>\n",
        ">> $ -(1-p)^{1 + n}  = -1 + 0.05$\n",
        ">>\n",
        ">> $ (1-p)^{1 + n}  = 1 - 0.05 = 0.95$\n",
        ">>\n",
        ">> Tomando logaritmo natural de números positivos, obtenemos:\n",
        ">>\n",
        ">> $ln( (1-p)^{1 + n} ) = ln(0.95) = -0.051293294$\n",
        ">>\n",
        ">> $(1+n)ln( (1-p) ) = -0.051293294$\n",
        ">>\n",
        ">>\n",
        "> Debido a que $p$ es tan pequeño, $1-p$ está cerca de 1 y, por lo tanto, el primer término de la serie es suficiente. Esto se puede hallar mediante la recta tangente, que resulta de la derivada de $ln(1-x)$ en $x = 0$:\n",
        ">>\n",
        ">> $\\frac{d(ln(1-x)) }{dx}= \\frac{-1}{1-x}$\n",
        ">\n",
        "> La recta tangente tiene la forma $y = mx + b$. La pendiente de la recta tangente $m$ en la gráfica de la función $ln(1-x)$ en $x = 0$ es\n",
        ">>\n",
        ">> $m =\\frac{-1}{1-x} = -1 $\n",
        ">>\n",
        "> Para conocer el valor de $b$, sustituimos $x = 0$. Según $ln(1-x)$, el valor debe ser $0$; según la recta tangente, es $-x + b$, de lo que deducimos que $b = 0$. Esto significa que la ecuación de la recta tangente es $y = -x$. Por lo tanto, la serie de $ln(1-x)$ en la vecindad de $x = 0$ hasta el primer término es\n",
        ">>\n",
        ">> $ln(1-x) = -x$\n",
        ">\n",
        "> Por tanto\n",
        ">\n",
        ">> $(1+n)ln( 1-p )   = -0.051293294$\n",
        ">\n",
        "> se convierte en\n",
        ">>\n",
        ">> $(1+n)( -p )   = -0.051293294$\n",
        ">>\n",
        ">> $(1+n)( p )   = 0.051293294$\n",
        ">>\n",
        ">> $(1+n)    = \\frac{0.051293294}{p}$\n",
        ">>\n",
        ">> $n   = \\frac{0.051293294}{p} -1$\n",
        ">>\n",
        ">Since $p = 10^{-61}$ we have at last:\n",
        ">>\n",
        ">> $n   = \\frac{0.051293294}{10^{-61}} -1$\n",
        ">>\n",
        ">> $n   =  0.051293294 \\times 10^{61} -1$\n",
        ">>\n",
        ">> $n   =  \\frac{1}{20} \\times 10^{61} $\n",
        ">>\n",
        ">> $n   =   10^{59} $\n",
        ">\n",
        "> Este es un 10 seguido de 58 ceros.\n",
        "\n",
        "Por lo tanto, nuestro resultado científico indica: para acumular una significancia de 0,05, el mono necesita cometer, en promedio, $10^{59}$ fallos antes del primer éxito.\n",
        "\n",
        "> *Desafío.* Calcula el número de fallos necesarios para tener éxito con una probabilidad acumulada de 0,95 cuando $p = 10^{-61}$.\n",
        "\n",
        "# EL TEOREMA DEL MONO PARA UN CORTO PERIODO DE TIEMPO\n",
        "\n",
        "Calculemos la probabilidad acumulada de éxito para la edad de la Tierra, que es de 5000 millones de años.\n",
        "\n",
        "> *Teorema de Monkey para la TIERRA.*\n",
        ">>\n",
        ">> La probabilidad acumulada de éxito durante la edad de la Tierra es cero experimental. ¿Qué es eso?\n",
        ">>\n",
        ">> *Definición.* El **cero experimental** es la probabilidad no nula de un evento tan pequeño que ningún experimento viable puede demostrar su posibilidad.\n",
        "\n",
        "> *Demostración.* El número de ensayos que se pueden realizar durante 5000 millones de años es $n = 2 \\times 10^{20}$. Por lo tanto\n",
        ">>\n",
        ">> $F_X(n) = 1-(1-p)^{n+1}$\n",
        ">>>\n",
        ">>> $= 1-(1-p)^{2 \\times 10^{20}+1} $\n",
        ">>>\n",
        ">>> $= 1-(1-p)^{2 \\times 10^{20}} $\n",
        ">>>\n",
        "> Since $p = 10^{-61}$,\n",
        ">>\n",
        ">> $F_X(n) = 1 - (1 - 10^{-61})^{  2 \\times 10^{20} }$\n",
        ">>\n",
        ">> $F_X(n)  = 1 - (1 - 10^{-61})^{  2 \\times 10^{20} }$\n",
        ">\n",
        "> Usando la expansión binomial para $p$ pequeño hasta los términos lineales:\n",
        ">\n",
        ">> $(a+b)^n = a^n + na^{n-1}b$\n",
        ">\n",
        "> obtenemos\n",
        ">>\n",
        ">> $F_X(n) = 1 - (1 +  2 \\times 10^{20}(- 10^{-61}) )$\n",
        ">>\n",
        ">> $F_X(n) = 1 - (1 -  2 \\times 10^{20}( 10^{-61}) )$\n",
        ">>\n",
        ">> $F_X(n) = 1 - 1 + 2 \\times 10^{20}( 10^{-61}) $\n",
        ">>\n",
        ">> $F_X(n) =   2 \\times 10^{20}( 10^{-61}) $\n",
        ">>\n",
        ">>  $F_X(n) =   2 \\times  10^{-41}$\n",
        "\n",
        "Este resultado indica que la aleatoriedad podría ser una explicación de la vida en la Tierra, pero ningún experimento factible puede respaldarlo. Más bien, este resultado aboga firmemente por inventar y probar otras explicaciones.\n",
        "\n",
        "> *Enérgica protesta.* Nuestro planeta es nuestro hogar. Y este resultado indica que el azar, la explicación más simple de nuestra existencia en este planeta,  no funciona. Este resultado matemático es dudoso, ya que, como hemos visto anteriormente, cuando hay exponentes grandes en un binomio, una expansión hasta los términos lineales es engañosa. Por lo tanto, es obligatorio realizar la expansión completa para ver cuál es el resultado correcto.\n",
        ">>\n",
        ">> *Respuesta.* La prueba propuesta es obligatoria dada la gravedad de la pregunta. Así que, sigamos el consejo:\n",
        "\n",
        ">>\n",
        ">> $(a+b)^n = a^n + na^{n-1}b + \\frac{n(n-1)}{2}a^{n-2}b^2 +  \\frac{n(n-1)(n-2)}{2 \\times 3}a^{n-3}b^3 +  \\frac{n(n-1)(n-2)(n-3)}{2 \\times 3 \\times 4}a^{n-4}b^4  +...+  \\frac{n(n-1)(n-2)(n-3)(n-4)...(n-k+1)}{k!}a^{n-k}b^k+ ...$  \n",
        ">>\n",
        ">> Acá $a = 1$, $b = -1/n$ y el exponente es $m$. El signo menos de $b$ dice que los signos se alternarán en el desarrollo:\n",
        ">>\n",
        ">> $ (1 - 1/n)^m = 1 - m (1/n) + \\frac{m(m-1)}{2} (1/n)^2  -   \\frac{m(m-1)(m-2)}{3!} (1/n)^3 + ...$\n",
        ">>\n",
        ">> Reemplazando $n = 10^{61}$ y $m = 2 \\times  10^{20} = 10^{21}$, tenemos:\n",
        ">>>\n",
        ">>>  $ (1 - 1/10^{61})^{10^{21}} = 1 - (10^{21}) (1/10^{61}) + \\frac{(10^{21}) (10^{21}) }{2} (1/10^{61})^2  -   \\frac{(10^{21})(10^{21})(10^{21}) }{3!} (1/10^{61})^3 + ...$\n",
        ">>>\n",
        ">>> $ = 1 - 1/10^{40} + \\frac{1}{2} \\frac{10^{42}}{10^{122}} - \\frac{1}{6} \\frac{10^{63}}{10^{183}} +  ...$\n",
        ">>>\n",
        ">>> $ = 1 - 1/10^{40} + \\frac{1}{2} \\frac{1 }{10^{80}} - \\frac{1}{6} \\frac{1 }{10^{120}} +  ...$\n",
        ">>\n",
        ">> Al final nos quedamos con:\n",
        ">>\n",
        ">>  $ (1 - 1/10^{61})^{10^{21}} =  1 - 1/10^{40}$\n",
        ">>\n",
        ">> Por ello,la probabilidad acumulada de éxito para la edad de la tierra es:\n",
        ">>\n",
        ">>> $F_X(n)  = 1 - (1 - 10^{-61})^{  2 \\times 10^{20} } $\n",
        ">>>\n",
        ">>> $F_X(n)  = 1 - (  1 - 1/10^{40}) $\n",
        ">>>\n",
        ">>> $F_X(n)  =  1/10^{40} $\n",
        "\n",
        "Por lo tanto, $F_X(n) $ es cero experimental porque ningún experimento factible puede reproducir el resultado afirmado de que una porción de ADN de un genoma de 100 bases de longitud puede sintetizarse aleatoriamente.\n",
        "\n",
        ">> *Recomendación.* Para explicar el origen de la vida, la Ciencia recomienda inventar otras propuestas distintas a la mera aleatoriedad. Si no existe otra explicación aceptable, la aleatoriedad podría considerarse la explicación correcta, independientemente de cuán bajas sean sus probabilidades. En cualquier caso, la ciencia enfatiza que las creencias son responsabilidad exclusivamente humana. Las verdades dogmáticas están por fuera de la Ciencia.\n",
        "\n",
        "# La ira de los experimentalistas\n",
        "\n",
        "Si bien a muchos les gusta pensar, muchos anhelan las pruebas experimentales en un laboratorio. Por lo tanto, podrían estar muy descontentos con nuestra falta de pruebas apropiadas para ellos:\n",
        "\n",
        "> *Protesta.* Dejen de elucubrar. En cambio, predigan resultados realmente observables. El problema es que predecir un número de fallos del orden de $10^{50}$ es solo un trabajo mental. No podemos esperar hasta entonces para ver que pequeños fragmentos de ADN con una secuencia predefinida surgen por mera aleatoriedad. Y probar resultados matemáticos con simulaciones es una especie de ciencia mental experimental. Lo que necesitamos urgentemente es una conexión con un laboratorio.\n",
        "\n",
        "> *Respuesta.* La protesta es correcta. Consideremos las dos ideas siguientes.\n",
        "La primera trata sobre los mares ancestrales, la segunda sobre la predicción de altas probabilidades, esto es, sobre secuencias muy cortas.\n",
        "\n",
        "## Sedimentos en mares ancestrales.\n",
        "\n",
        "La observable más robusta de la distribución geométrica para $p$ pequeño es la cantidad excesiva de fallos que el mono comete antes de su primer éxito. En términos simples, esto significa que la aleatoriedad es tremendamente ineficiente y produce demasiada basura. La basura predicha en cantidades astronómicas es nuestro observable científico: **La basura es la firma y sello de la aleatoriedad.**\n",
        "\n",
        "La basura debe observarse en el registro fósil molecular prebiótico en grandes cantidades. Pero, ¿dónde?\n",
        "\n",
        "Para que la aleatoriedad sea interesante en relación con la presente discusión, debe predecir que los mares prebióticos pueden sintetizar moléculas de ADN a gran velocidad. Nos parece que esto no puede suceder sin una catálisis eficiente, que debe ser realizada por moléculas complejas. Esto implica que los mares ancestrales debieron ser reactores químicos muy activos que sintetizan todo tipo de moléculas. ¿Podemos esperar encontrar algunas de esas moléculas? Sí, podemos.\n",
        "\n",
        "Algunas moléculas son lábiles, otras son más robustas y otras son casi indestructibles. Estas últimas se han convertido en un problema para la industria moderna. Un caso es el de los PFAS (sustancias polifluoroalquiladas) con unos 10.000 exponentes diferentes, como puede verse en:\n",
        "\n",
        "\n",
        "> Courtney Lindwall, Molly M. Ginty, NRDC (2025)\n",
        ">\n",
        "> https://www.nrdc.org/stories/forever-chemicals-called-pfas-show-your-food-clothes-and-home\n",
        "\n",
        "Este caso es muy interesante porque se le ha encontrado una cura, la cual no se puede esclar para resolver los problemas ubiquitos que están por todo lado.\n",
        "\n",
        "\n",
        "> Yang, L., Chen, Z., Goult, C.A. et al. Phosphate-enabled mechanochemical PFAS destruction for fluoride reuse. Nature 640, 100–106 (2025). https://doi.org/10.1038/s41586-025-08698-5\n",
        "\n",
        "Por lo tanto, tenemos una predicción sólida e imperativa que debe cumplirse: los sedimentos de los mares ancestrales deben estar llenos de sustancias químicas eternas.\n",
        "\n",
        "Si esto ocurre y la predicción se cumple, la aleatoriedad es una candidata seria para explicar nuestra existencia.  \n",
        "\n",
        "Si esto no ocurre y la predicción no se cumple, si dichas sustancias químicas eternas no se encuentran en los sedimentos de los mares ancestrales, significa que el poder catalítico de estos es insignificante y, por lo tanto, la aleatoriedad no es muy poderosa. Pero, cuidado, la aleatoriedad podría tener suerte y sintetizar todo lo necesario en unos pocos intentos. En este sentido, la aleatoriedad no puede ser refutada ni rechazada. Pero, si nos atenemos al criterio científico por defecto, que dicta que los eventos se vuelven interesantes cuando su probabilidad es de 0,05 o superior, entonces, la aleatoriedad no es una opción para la ciencia.\n",
        "\n",
        "> *Ejercicio.* Indague sobre los sedimentos de los mares ancestrales. ¿Contienen señales de sustancias químicas prebióticas?\n",
        ">\n",
        "> *Respuesta.* Hasta donde sabemos, no hay rastros de sustancias químicas prebióticas en los sedimentos de mares ancestrales, algunos de los cuales ahora están expuestos debido a que los terrenos fueron elevados por cataclismos. Esto ocurre, por ejemplo, en la región de Ráquira y Villa de Leyva en Boyacá, Colombia, donde abundan los trilobites, de origen muy reciente, hace 600 millones de años. Los sedimentos de los que hablamos deben encontrarse a mayor profundidad, lo que corresponde a una antigüedad de 2, 3 o 4 mil millones de años.\n",
        "\n",
        "## Predicciones relacionadas con altas probabilidades\n",
        "\n",
        "Las secuencias cortas se asocian con altas probabilidades. Por ejemplo, una cadena de 5 bases tiene $p = 4^{-5} = 0,001$, que es muy alta. Esto abre la posibilidad de experimentación.\n",
        "\n",
        "Las técnicas de Biología Molecular están muy desarrolladas. Por lo tanto, es posible sintetizar ADN a escalas tan grandes que el genoma de una bacteria se reconcatenó hace muchos años. Para los aficionados a estas técnicas, tenemos una predicción matemática que es a la vez factible y desafiante. Es factible porque incluye tareas de baja complejidad, y es desafiante porque incluye tareas de alta complejidad. Y, en cualquier caso, la predicción puede ajustarse a las posibilidades reales del laboratorio interesado.\n",
        "\n",
        "Procedamos.\n",
        "\n",
        "El alfabeto del ADN consta de cuatro letras ATCG, por lo que una cadena de $n$ caracteres tiene $4^n$ variantes diversas. La probabilidad correspondiente es, por lo tanto, $p = 4^{-n}$. Se trata de una variable aleatoria geométrica que describe el proceso de ensayo y error. Según nuestras fórmulas, el valor esperado $E(X)$ del número de fallos antes del primer éxito es\n",
        "\n",
        "\n",
        "> $E(X) = \\frac{1-p}{p}$\n",
        "\n",
        "En términos de $n$, esto se convierte en:\n",
        "\n",
        "> $E(X) = \\frac{1-4^{-n}}{4^{-n}} = (1-4^{-n}) (4^n)  = 4^n -1$\n",
        "\n",
        "En nuestro trabajo anterior, $E(X) $ se interpretó como el número de fallos antes del primer éxito. Si contamos el ensayo adicional en el que se obtuvo el éxito, debemos sumar 1. De esta manera, obtenemos una predicción para los amantes de la biología molecular:\n",
        "\n",
        "> *Predicción.* El número promedio de ensayos que se deben realizar para sintetizar aleatoriamente una cadena de ADN predefinida de longitud $n$ es $4^n$. Esta es una función exponencial; por lo tanto, quien intente probarla debe elegir cuidadosamente la longitud $n$ de sus cadenas. Podría ser tan bajo como $n = 5$ dando $4^{5} = 1024$ ensayos, o tan alto como $n = 10$ dando $4^{10} = $ 1 millón de ensayos, o incluso $n = 15$ dando $4^{15} = 100$ millones de ensayos.\n",
        "\n",
        "Para comprobar la viabilidad de nuestras predicciones con una simulación, solicitamos a Colab:\n",
        "\n",
        "> El código de una simulación cuya tarea consiste en hacer coincidir una cadena de ADN predefinida de longitud variable $n$, contando el número de ensayos hasta el éxito $O(n)$, y un gráfico que compara el $O(n)$ observado con la predicción del número de ensayos igual a $p(n) = 4^n$. Sugerimos ejecutar $n$ de 1 a 15.\n",
        "\n"
      ],
      "metadata": {
        "id": "O4Tsp3MtGRsq"
      }
    },
    {
      "cell_type": "code",
      "source": [
        "import random\n",
        "import matplotlib.pyplot as plt\n",
        "import numpy as np\n",
        "\n",
        "def generate_random_dna_string(length):\n",
        "  \"\"\"Generates a random DNA string of a given length.\"\"\"\n",
        "  return ''.join(random.choice('ATCG') for _ in range(length))\n",
        "\n",
        "def simulate_dna_matching(target_string):\n",
        "  \"\"\"Simulates attempts to match a target DNA string and returns the number of trials.\"\"\"\n",
        "  trials = 0\n",
        "  while True:\n",
        "    trials += 1\n",
        "    if generate_random_dna_string(len(target_string)) == target_string:\n",
        "      break\n",
        "  return trials\n",
        "\n",
        "# Define the range of string lengths to test\n",
        "string_lengths = range(1, 16)  # From 1 to 15\n",
        "\n",
        "observed_trials = []\n",
        "predicted_trials = []\n",
        "\n",
        "for length in string_lengths:\n",
        "  # Create a target DNA string (e.g., 'A' * length)\n",
        "  target = 'A' * length\n",
        "  # Simulate matching and record the number of trials\n",
        "  observed = simulate_dna_matching(target)\n",
        "  observed_trials.append(observed)\n",
        "  # Calculate the theoretical prediction (4^n)\n",
        "  predicted = 4**length\n",
        "  predicted_trials.append(predicted)\n",
        "\n",
        "# Plot the results\n",
        "plt.figure(figsize=(12, 8))\n",
        "plt.plot(string_lengths, observed_trials, 'o-', label='Observed Trials')\n",
        "plt.plot(string_lengths, predicted_trials, 's-', label='Predicted Trials (4^n)')\n",
        "\n",
        "plt.yscale('log') # Use a logarithmic scale for better visualization of exponential growth\n",
        "\n",
        "plt.title('Observed vs. Predicted Trials to Match a DNA String')\n",
        "plt.xlabel('DNA String Length (n)')\n",
        "plt.ylabel('Number of Trials (log scale)')\n",
        "plt.legend()\n",
        "plt.grid(True)\n",
        "plt.show()"
      ],
      "metadata": {
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 718
        },
        "id": "2t2MNKg29BDs",
        "outputId": "47d47b5a-7998-49cf-ad88-e730b96184f4"
      },
      "execution_count": null,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "text/plain": [
              "<Figure size 1200x800 with 1 Axes>"
            ],
            "image/png": "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DaJ79+706NEDgNq1a9vqpKSkEBYWxn333cenn36a6fs41cyZM7l69SrPPPMMJpOJMWPG0KNHD44dO2ZrlV+8eDG9evWiVq1afPjhh1y5coUnnniC0qVL3/J1iUghZIiIFHBRUVEGYHTt2vWm9R544AEDMGJiYgzDMIyRI0cagPHAAw+kqffcc88ZgLFz507DMAxj/PjxBmBcvHgx03P/+OOPhoODg/HXX3+l2T558mQDMNavX2/bBhgODg7G3r1709RdunSpARiLFi1Ks71jx45GhQoVsn2tHTt2GIDx3HPPpanXt29fAzBGjhyZ6esxDMOYMmWKARi7d+9Os7169erG/fffbyuHhoYanTp1uum5sgMwnnjiCePixYvGhQsXjL///tto3bq1ARhjx441DMMwVq9ebQBGhQoVjPj4eNuxFovFCAkJMcLCwgyLxWLbHh8fb5QvX95o27atbVu3bt0MNzc348SJE7Zt+/btMxwdHY0b//dZtmxZo3///rbyiBEjDMCYN29euvhTr7tlyxYDMKZOnZpuf27EeCs1atQwWrRokWZbZu/F1H3Xv0euv8+pNm7caADGDz/8YNuW+mxWr15tGIZh/PPPPwZgzJkzJ1vxGoZhdOrUyShbtmy67RMmTDAAY/r06bZtSUlJRpMmTQwvLy/bZzwzLVq0MGrUqGEYhmE0aNDAeOKJJwzDMIwrV64YLi4uxvfff297HdfHndV7MGfOnDT3IFVUVJTh7e1tNG7c2Lh27Vqafde/F1q0aJHunImJiUZgYKDRs2fPm762zOIMCwtL83skM6m/FzP7fXflyhUDMLp3727b1r9/f8PT09MwDMP4/vvv0302AOP5559Pc56kpCSjWLFixltvvWXb1rdvXyM0NPSWMRqGYXz77bcGYLi4uBitWrUy/ve//xl//fWXYTab09S7ePFipr/v+vfvbwDGG2+8keG+69974eHhBmAUK1bMiIyMtG1fsGBBut/btWrVMoKCgoyrV6/atq1Zs8YAMnw/i0jhpi7xIlLgXb16FQBvb++b1kvdn9ptOtWNLU4vvPACAL///jsAfn5+ACxYsCDTSYjmzJlDtWrVqFq1KpcuXbL9pLbarV69Ok39Fi1aUL169TTb7r//fvz9/Zk1a5Zt25UrV1i+fDm9evXK9rVS4x8yZEia62R1Aq8ePXrg5OSUJp49e/awb9++NPH4+fmxd+9eDh8+nKXzZsW3335LQEAAxYsXp3Hjxqxfv55hw4ali71///64u7vbyjt27ODw4cP07duXy5cv2+5NXFwcrVu3Zu3atVgsFsxmM0uXLqVbt26UKVPGdny1atUICwu7ZXy//PILoaGhGU5ieKtWxbyKMasyei9m5Pr7nJyczOXLl6lUqRJ+fn5s37490+NSW9CXLl1KfHz8nQeM9b0dGBhInz59bNucnZ0ZMmQIsbGx/Pnnn1k+V9++fZk3bx5JSUnMnTsXR0fHTCenvN17kGr58uVcvXqVN954I90cATe+b7y8vNLMN+Di4kKjRo04duzYLa9zfZzR0dFcunSJFi1acOzYsZsOQ8iK1F4Oqb93b9SvXz9CQkJ45513MpwxPtUff/zB5cuX0zzDPn36sHPnziyt6vH444+zZMkSWrZsybp163j33Xdp1qwZISEhbNiwIVuvadCgQVmu26tXL4oUKWIrp/aeSX0uZ86cYffu3Tz22GO2ewXWz1mtWrWyFZeIFA5K2EWkwEtNxDP7AzJVZon9jUs7VaxYEQcHB9u41F69etG0aVOefPJJSpQoQe/evZk9e3aa5P3w4cPs3buXgICAND+VK1cG0k+CVL58+XTxOTk50bNnTxYsWGAbiz5v3jySk5PTJMhZvdaJEydwcHCgYsWKaa5TpUqVm96nVP7+/rRu3ZrZs2fbts2aNQsnJydb11KAd955h6ioKCpXrkytWrV49dVX2bVrV5aukZmuXbuyfPlyVqxYwd9//82lS5cYO3ZsugnlbryPqV8a9O/fP939+eabb0hMTCQ6OpqLFy9y7dq1DJf1ysr9OXr06G2vk51XMWZVRu/FjFy7do0RI0YQHByMq6sr/v7+BAQEEBUVddMksHz58gwbNoxvvvkGf39/wsLCmDhx4h0ljidOnCAkJCTd+yG12/mJEyeyfK7UsfR//PEHM2bMoHPnzpl++Xe79yDV0aNHAbL03gkKCkqXxBcpUoQrV67c8tj169fTpk0bPD098fPzIyAgwDbnxp0m7LGxsUDmX5A6Ojry9ttvs2PHjnRDga43ffp0ypcvbxtidOTIESpWrIiHhwczZszIUixhYWEsXbqUqKgo1q5dy/PPP8+JEyfo3Llzlieec3JyyrRLfUau//IMsCXvqc8l9b134/CdzLaJiGgMu4gUeL6+vpQsWfKWSeKuXbsoXbo0Pj4+N6134x/J7u7urF27ltWrV7N48WKWLFnCrFmzuP/++1m2bBmOjo5YLBZq1arFuHHjMjznjUsgXd8Cdr3evXszZcoU/vjjD7p168bs2bOpWrUqoaGhtjrZvdad6N27NwMHDmTHjh3UqVOH2bNn07p16zSzRzdv3pyjR4+yYMECli1bxjfffMP48eOZPHlylmd8vlFQUBBt2rS5Zb0b72PqlyiffPJJpkuppS5VZS/5LcbM3os3euGFF5g6dSovvfQSTZo0wdfXF5PJRO/evW+5/NXYsWMZMGCA7T0yZMgQ25wR2UmWckPJkiVp2bIlY8eOZf369TedGf5O7kF2OTo6Zrj9Zq3WYP1SoHXr1lStWpVx48YRHByMi4sLv//+O+PHj7/jOPfs2QPcPPns16+fbSx7t27d0u2PiYlh0aJFJCQkZPiF1MyZM3n//fezNNM8gIeHB82aNaNZs2b4+/szevRo/vjjD/r373/LY11dXbO1ssTtPhcRkcwoYReRQqFz5858/fXXrFu3jvvuuy/d/r/++ovjx4/zzDPPpNt3+PDhNK2MR44cwWKxpJl8y8HBgdatW9O6dWvGjRvHBx98wFtvvcXq1atp06YNFStWZOfOnbRu3TrLf2RmpHnz5pQsWZJZs2Zx3333sWrVqnTrZmf1WmXLlsVisXD06NE0LbIHDx7McjzdunXjmWeesXWLP3ToEMOHD09XL3WG+4EDBxIbG0vz5s0ZNWrUbSfstyu1N4GPj89NE/6AgADc3d0z7MaflftTsWJFW+KSmcyeTV7FmNPmzp1L//79GTt2rG1bQkICUVFRWTq+Vq1a1KpVi7fffpsNGzbQtGlTJk+ezHvvvZfpMZndw7Jly7Jr1y4sFkuaZOvAgQO2/dnRt29fnnzySfz8/OjYsWOm9bJ6D2717Pfs2ZNrra2LFi0iMTGRhQsXpmkNvnFYzu368ccfAW46LCO1lT31S5obzZs3j4SEBCZNmpTmyz+wvrfffvtt1q9fn+Hv8ltp0KABAGfPngVuPUQlp6W+944cOZJuX0bbRETUJV5ECoVXX30Vd3d3nnnmGS5fvpxmX2RkJM8++yweHh4Zzj48ceLENOXPP/8cwDYTc2RkZLpjUltGU1tBH374YU6fPs3XX3+dru61a9eIi4vL0utwcHDgwQcfZNGiRfz444+kpKSk6Q6fnWulxv/ZZ5+lqTNhwoQsxQLW8elhYWHMnj2bn3/+GRcXl3QtZjfeby8vLypVqpSmhTg6OpoDBw7ccXfcW6lfvz4VK1bk008/tXXdvd7FixcBa0IRFhbGr7/+ysmTJ2379+/fz9KlS295nZ49e7Jz584Ml69KbWnz9PQESJfM5VWMOc3R0TFdK+Lnn3+O2Wy+6XExMTGkpKSk2VarVi0cHBxu2YvA09Mzw/dMx44dOXfuXJr5FVJSUvj888/x8vKiRYsWt3o5aTz44IOMHDmSL7/8MsNlwlJl9R5k9uzbtWuHt7c3H374YbqlI3OqhTa1Bfj680VHRzN16tQ7PvfMmTP55ptvaNKkCa1bt75p3UceeYRKlSpluDTk9OnTqVChAs8++ywPPvhgmp9XXnkFLy+vW3aLX7lyZYbbU+fuSP2SMnXW96x+sXSnSpUqRc2aNfnhhx/SfL7//PNPdu/enScxiMjdRS3sIlIohISE8P3339OvXz9q1arFE088Qfny5Tl+/Djffvstly5d4qeffko3nhsgPDycBx54gPbt27Nx40bbMmip3dDfeecd1q5dS6dOnShbtiwXLlzgyy+/JCgoyNYC9OijjzJ79myeffZZVq9eTdOmTTGbzRw4cIDZs2ezdOlSW8vPrfTq1YvPP/+ckSNHUqtWLdu43FRZvVadOnXo06cPX375JdHR0dx7772sXLky2608vXr14pFHHuHLL78kLCzMNglfqurVq9OyZUvq169P0aJF2bp1K3PnzmXw4MG2OvPnz2fgwIFMnTo13XrmOcnBwYFvvvmGDh06UKNGDQYOHEjp0qU5ffo0q1evxsfHh0WLFgHWdZmXLFlCs2bNeO6552wJX40aNW45vOLVV19l7ty5PPTQQzz++OPUr1+fyMhIFi5cyOTJkwkNDaVixYr4+fkxefJkvL298fT0pHHjxpQvXz5PYsxpnTt35scff8TX15fq1auzceNGVqxYQbFixW563KpVqxg8eDAPPfQQlStXJiUlhR9//BFHR0d69ux502Pr16/PrFmzGDZsGA0bNsTLy4suXbrw9NNPM2XKFAYMGMC2bdsoV64cc+fOZf369UyYMOGWE1DeyNfXN82a85nJ6j2oU6cOjo6OfPzxx0RHR+Pq6mpbF338+PE8+eSTNGzYkL59+1KkSBF27txJfHx8tteRz0i7du1wcXGhS5cuPPPMM8TGxvL1119TvHhxW6tzVsydOxcvLy+SkpI4ffo0S5cuZf369YSGhjJnzpxbHu/o6Mhbb73FwIED02w/c+YMq1evTjcZZipXV1fCwsKYM2cOn332mW2ptBt17dqV8uXL06VLFypWrEhcXBwrVqxg0aJFNGzYkC5dugDWIR/Vq1dn1qxZVK5cmaJFi1KzZs3bnoMiKz744AO6du1K06ZNGThwIFeuXOGLL76gZs2aGX5JJyKFnP0mqBcRyXu7du0y+vTpY5QsWdJwdnY2AgMDjT59+qRbmsww/lu+aN++fcaDDz5oeHt7G0WKFDEGDx6cZsmllStXGl27djVKlSpluLi4GKVKlTL69OljHDp0KM35kpKSjI8//tioUaOG4erqahQpUsSoX7++MXr0aCM6OtpWjwyWOLqexWIxgoODDcB47733MqyT1Wtdu3bNGDJkiFGsWDHD09PT6NKlixEREZGlZd1SxcTEGO7u7umW0Ur13nvvGY0aNTL8/PwMd3d3o2rVqsb7779vJCUl2epMnTo1wyXOMnKr+2MYRoZLbl3vn3/+MXr06GEUK1bMcHV1NcqWLWs8/PDDxsqVK9PU+/PPP4369esbLi4uRoUKFYzJkyfb3hfXu3FZN8MwjMuXLxuDBw82Spcubbi4uBhBQUFG//79jUuXLtnqLFiwwKhevbrh5OSU7vXndIy3ktmybpnd6xvfI1euXDEGDhxo+Pv7G15eXkZYWJhx4MCBdPfmxmXdjh07Zjz++ONGxYoVDTc3N6No0aJGq1atjBUrVtwy5tjYWKNv376Gn59fuiWxzp8/b4vHxcXFqFWrVpbeX4aRdlm3zGT0HsvqPTAMw/j666+NChUq2Jbgu36Jt4ULFxr33nuv4e7ubvj4+BiNGjUyfvrpp1vGd+NSY5lZuHChUbt2bcPNzc0oV66c8fHHHxvfffedARjh4eE3PTb1vZX64+bmZgQFBRmdO3c2vvvuOyMhISHDuFKXdbtecnKyUbFixTTvs7FjxxpAuvf59aZNm2YAxoIFCzKt89NPPxm9e/c2KlasaLi7uxtubm5G9erVjbfeeivdsn4bNmywfYauf19nFnfqvoyWdfvkk0/S1c3o9+nPP/9sVK1a1XB1dTVq1qxpLFy40OjZs6dRtWrVTF+TiBROJsPQLBgiIiIiIvZUp04dAgICWL58ub1DEZF8RGPYRURERETySHJycrp5G9asWcPOnTtp2bKlfYISkXxLLewiIiIiInnk+PHjtGnThkceeYRSpUpx4MABJk+ejK+vL3v27LnlvA8iUrho0jkRERERkTxSpEgR6tevzzfffMPFixfx9PSkU6dOfPTRR0rWRSQdtbCLiIiIiIiI5EMawy4iIiIiIiKSDylhFxEREREREcmHCv0YdovFwpkzZ/D29sZkMtk7HBERERERESngDMPg6tWrlCpVCgeHzNvRC33CfubMGYKDg+0dhoiIiIiIiBQyERERBAUFZbq/0Cfs3t7egPVG+fj42DkaSZWcnMyyZcto164dzs7O9g5HcoGeccGnZ1zw6RkXbHq+BZ+eccGnZ5x/xcTEEBwcbMtHM1PoE/bUbvA+Pj5K2POR5ORkPDw88PHx0S+XAkrPuODTMy749IwLNj3fgk/PuODTM87/bjUsW5POiYiIiIiIiORDSthFRERERERE8iEl7CIiIiIiIiL5UKEfw54VZrOZ5ORke4dRqCQnJ+Pk5ERCQgJms9ne4cgNnJ2dcXR0tHcYIiIiIiIFmhL2W4iNjeXUqVMYhmHvUAoVwzAIDAwkIiLilhMxSN4zmUwEBQXh5eVl71BERERERAosJew3YTabOXXqFB4eHgQEBChxzEMWi4XY2Fi8vLxwcNDIjfzEMAwuXrzIqVOnCAkJUUu7iIiIiEguUcJ+E8nJyRiGQUBAAO7u7vYOp1CxWCwkJSXh5uamhD0fCggI4Pjx4yQnJythFxERERHJJcqEskAt6yJp6TMhIiIiIpL7lLCLiIiIiIiI5ENK2EVERERERETyISXsecBsMdh49DILdpxm49HLmC35Z8b5cuXKMWHCBHuHkWNy+vVMmzYNPz8/u8YgIiIiIiKFkxL2XLZkz1nu+3gVfb7exIs/76DP15u47+NVLNlzNlevGxERweOPP06pUqVwcXGhbNmyvPjii1y+fDlXr5uflStXDpPJlOnPgAED0h3Tq1cvDh06lPfBioiIiIhIoadZ4nPRkj1nGTR9Oze2p5+LTmDQ9O1MeqQe7WuWzPHrHjt2jCZNmlC5cmV++uknypcvz969e3n11Vf5448/2LRpE0WLFs3x62aF2WzGZDLZZeb3LVu2YDabAdiwYQM9e/bk4MGD+Pj4AKRbCSA5ORl3d3etECAiIiIiInahFvZsMAyD+KSULP1cTUhm5MK96ZJ1wLZt1MJ9XE1IztL5DCPr3eiff/55XFxcWLZsGS1atKBMmTJ06NCBFStWcPr0ad5666009a9evUqfPn3w9PSkdOnSTJw4Mc1rHjVqFGXKlMHV1ZVSpUoxZMgQ2/7ExEReeeUVSpcujaenJ40bN2bNmjW2/aldyhcuXEj16tVxdXXlm2++wc3NjaioqDRxvPjii9x///228saNG2nRogXu7u4EBwczZMgQ4uLibPsvXLhAly5dcHd3p3z58syYMeOm9yUgIIDAwEACAwNtX1gUL16cwMBAEhIS8PPzY9asWbRo0QI3NzdmzJiRrkv80aNH6dq1KyVKlMDLy4uGDRuyYsWKTK95q/snIiIiIiKSGbWwZ8O1ZDPVRyzNkXMZwLmYBGqNWpal+vveCcPD5daPKzIykqVLl/L++++naxkODAykX79+zJo1iy+//NK2NNcnn3zCm2++yejRo1m6dCkvvvgilStXpm3btvzyyy+MHz+en3/+mRo1anDu3Dl27txpO+fgwYPZt28fP//8M6VKlWL+/Pm0b9+e3bt3ExISAkB8fDwff/wx33zzDcWKFSMoKIgRI0bwyy+/8MQTTwDWlvdZs2bx/vvvA9bE+KGHHuLdd9/lu+++4+LFiwwePJjBgwczdepUAAYMGMCZM2dYvXo1zs7ODBkyhAsXLmTpfmbmjTfeYOzYsdStWxc3NzeWLk37vGNjY+nYsSPvv/8+rq6u/PDDD3Tp0oWDBw9SpkyZdOe71f0TERERERHJjBL2Aubw4cMYhkG1atUy3F+tWjWuXLnCxYsXKV68OABNmzbljTfeAKBy5cqsX7+e8ePH07ZtW06ePElgYCBt2rTB2dmZMmXK0KhRIwBOnjzJ1KlTOXnyJKVKlQLglVdeYcmSJUydOpUPPvgAsHYt//LLLwkNDbXF0bt3b2bOnGlL2FeuXElUVBQ9e/YE4KOPPuLBBx/kxRdfxMHBgZCQED777DNatGjBpEmTOHnyJH/88QebN2+mYcOGAHz77beZvu6seumll+jRo0em+0NDQ9O8jnfffZf58+ezcOFCBg8enK7+ze6fiIiIiIjIzShhzwZ3Z0f2vROWpbqbwyMZMHXLLetNG9iQRuVvPZ7c3dkxS9dNlZ0u9E2aNElXTp3l/KGHHmLChAlUqFCB9u3b07FjR7p06YKTkxO7d+/GbDZTuXLlNMcnJiZSrFgxW9nFxYXatWunqdOvXz/uuecezpw5Q6lSpZgxYwadOnWydT/ftWsXu3btYu7cuWlek8ViITw8nEOHDuHk5ET9+vVt+6tWrZrtGd1v1KBBg5vuj42NZdSoUSxevJizZ8+SkpLCtWvXOHnyZIb1b3b/REREREREbkZZQzaYTKYsdUsHaBYSQElfN85FJ2Q4jt0EBPq60SwkAEcHU47FWKlSJUwmE/v376d79+7p9u/fv58iRYoQEBCQpfMFBwdz8OBBVqxYwfLly3nuuef45JNP+PPPP4mNjcXR0ZFt27bh6Jj2CwUvLy/bv93d3W3d71M1bNiQihUr8vPPPzNo0CDmz5/PtGnTbPtjY2MZMGAAL7/8croJ6sqUKZNrM7d7enredP8rr7zC8uXL+fTTT6lUqRLu7u48+OCDJCUlZVj/ZvfP2dk5N16CiIiIiIgUEErYc4mjg4mRXaozaPp2TJAmaU9NXUd2qZ6jyTpAsWLFaNu2LV9++SVDhw5NM4793LlzzJgxg8ceeyxNAr1p06Y059i0aVOaruXu7u506dKFLl268Pzzz1O1alV2795N3bp1MZvNXLhwgWbNmmU71n79+jFjxgyCgoJwcHCgU6dOtn1169bl4MGDVKpUKcMZ5atWrUpKSgrbtm2zdYk/ePBguonsctr69esZMGCA7cuQ2NhYjh8/ftNjMrt/9erVy9VYRURERETk7qZZ4nNR+5olmfRIPQJ93dJsD/R1y7Ul3QC++OILEhMTCQsLY+3atURERLBkyRLatm1L6dKlbRO7pVq/fj1jxozh0KFDTJw4kTlz5vDiiy8C1lnev/32W/bs2cOxY8eYPn067u7ulC1blsqVK9OvXz8ee+wx5s2bR3h4OJs3b+bDDz9k8eLFt4yzX79+bN++nffff58HH3wQV1dX277XXnuNzZs388ILL7Bjxw4OHz7MggULbOPEq1SpQvv27XnmmWf4+++/2bZtG08++WSuL8EWEhLCvHnz2LFjBzt37qRv375YLJZM69/s/omIiIiIiNyMWthzWfuaJWlbPZDN4ZFcuJpAcW83GpUvmuMt69cLCQlh69atjBw5kocffpjIyEgCAwPp1q0bI0eOTLcG+8svv8zWrVsZPXo0Pj4+jBs3jrAw61h9Pz8/PvroI4YNG4bZbKZWrVosWrTINkZ96tSpvPfee7z88sucPn0af39/7rnnHjp37nzLOCtVqkSjRo3YvHmzbcx8qtq1a/Pbb7/x4Ycf0qxZMwzDoGLFivTq1ctWZ+rUqTz55JO0aNGCEiVK8N577/G///3vDu/ezY0bN47HH3+ce++9F39/f15//XViYmIyrX+r+yciIiIiIncgKgLiL2e+36MY+AXnXTw5zGRkZ3ayfOrTTz9l6tSpmEwm3njjDR555JEsHxsTE4Ovry/R0dH4+Pik2ZeQkEB4eDjly5fHzc0tkzNIbrBYLMTExODj45Nhl3ixr5z4bCQnJ/P777/TsWNHjecvoPSMCz4944JNz7fg0zMu+Ar8M46KgC/qQ0pi5nWcXGHwtnyXtN8sD73eXd/Cvnv3bmbOnMm2bdswDINWrVrRuXPnO54tXERERERERPKx+Ms3T9bBuj/+cr5L2LPqrm+63L9/P02aNMHNzQ13d3dCQ0NZsmSJvcMSERERERERuSN2T9jXrl1Lly5dKFWqFCaTiV9//TVdnYkTJ1KuXDnc3Nxo3Lgxmzdvtu2rWbMma9asISoqiitXrrBmzRpOnz6dh69AREREREREJOfZPWGPi4sjNDSUiRMnZrh/1qxZDBs2jJEjR7J9+3ZCQ0MJCwvjwoULAFSvXp0hQ4Zw//3306NHD+655550a4KLiIiIiIiI3G3sPoa9Q4cOdOjQIdP948aN46mnnmLgwIEATJ48mcWLF/Pdd9/xxhtvAPDMM8/wzDPPAPDkk08SEhKS6fkSExNJTPxvnEPqDN/JyckkJyenqZucnIxhGFgslpsu3SU5L3UuxNT7L/mLxWLBMAySk5Nv+wuy1M/bjZ87KTj0jAs+PeOCTc+34NMzLvgK9DNOisNh45dk5S/R5JQUyGf3IKvPJF/NEm8ymZg/fz7dunUDICkpCQ8PD+bOnWvbBtC/f3+ioqJYsGABABcuXKB48eIcPHiQhx56iO3bt+PklPF3EaNGjWL06NHpts+cORMPD48025ycnAgMDCQ4OBgXF5eceZEiBUBSUhIRERGcO3eOlJQUe4cjIiIiIoVIieh/qB3xAx7JN1nO7TprqrxDtEe53A0qm+Lj4+nbt+/dPUv8pUuXMJvNlChRIs32EiVKcODAAVu5a9euREdH4+npydSpUzNN1gGGDx/OsGHDbOWYmBiCg4Np165dhsu6RURE4OXlpWXd8phhGFy9ehVvb29Mptxbs15uT0JCAu7u7jRv3vyOlnVbvnw5bdu2LZjLjIiecSGgZ1yw6fkWfHrGBV+Be8Yxp3Fc9iYOxxYDYHgFYoo9d8vDmjZtCiVDczu6bEnt6X0r+Tphz6qNGzdmua6rqyuurq7ptjs7O6d7E5vNZkwmEw4ODloLPI+ldoNPvf+Svzg4OGAymTL83GRXTpxD8jc944JPz7hg0/Mt+PSMC767/hmbU+DvybD6A0iOAwcnuPcFTKF9Ycp9t1yH3dmnBOSz15/V55GvE3Z/f38cHR05f/58mu3nz58nMDDQTlGJiIiIiIhInojYAr8NhfO7reUyTaDzeChezVoevM26znpmPIrdtWuwQz6YJf5mXFxcqF+/PitXrrRts1gsrFy5kiZNmtgxsiyKioAzOzL/iYqwY3A5Y8CAAWnmF2jZsiUvvfRSnsexZs0aTCYTUVFROXbO7L6WnIjh4MGDBAYGcvXq1ds6ftOmTXh5eVG8eHEOHTp0W+fYt28fQUFBxMXF3dbxIiIiIiJ37NoVWPQSfNvWmqy7F4EHvoABv/+XrIM1GS9VJ/OfuzhZh3zQwh4bG8uRI0ds5fDwcHbs2EHRokUpU6YMw4YNo3///jRo0IBGjRoxYcIE4uLibLPG51tREfBF/Vt2z2Dwthx/Ew0YMIDvv/8esHa1KFOmDI899hhvvvnmTcf354R58+ZluXvHmjVraNWqFVeuXMHPzy/XYkq9zs2sXr2ali1bptmWndeSU4YPH84LL7yAt7d3un1Hjhyhbt26ODo6ZvilwN69e+nYsSMDBw7kzJkztGvXjvXr11O6dOlsxVC9enXuuecexo0bx//+97/bfSkiIiIiItlnGLB7Dix9E+IuWrfV6Qdt3wXPYvaNzQ7snrBv3bo1TTKVOiFc//79mTZtGr169eLixYuMGDGCc+fOUadOHZYsWZJuIrp8J/7yzZN1sO6Pv5wr3/q0b9+eqVOnkpiYyO+//87zzz+Ps7Mzw4cPT1c3KSkpx2bBL1q0aI6cJyfde++9nD171lZ+8cUXiYmJYerUqbZt18edej/y+rWcPHmS3377jc8//zzdvuTkZPr06UOzZs3YsGFDuv3Hjx+nXbt2PPvss3zwwQeYzWYGDBhAu3bt+Ouvv7L9WgYOHMhTTz3F8OHDc/1LHhERERERAC4dgcXDIPxPa9m/CnQeB+Xus29cdmT3LvEtW7bEMIx0P9OmTbPVGTx4MCdOnCAxMZG///6bxo0b2ydYw4CkuKz9pFzL2jlTrmXtfNlcfc/V1ZXAwEDKli3LoEGDaNOmDQsXLgT+68b+/vvvU6pUKapUqQJAREQEDz/8MH5+fhQtWpSuXbty/Phx2znNZjPDhg3Dz8+PYsWK8dprr3HjqoA3diNPTEzk9ddfJzg4GFdXVypVqsS3337L8ePHbV/UFClSBJPJxIABAwDrsIePPvqI0NBQPD09CQ0NZe7cuWmu8/vvv1O5cmXc3d1p1apVmjhv5OLiQmBgoO3H3d3ddn8CAwOZPHkyjRo14ptvvqF8+fK2Wc9vfC0//vgjDRo0wNvbm8DAQPr27cuFCxcyve6JEyfo0qULRYoUwdPTkxo1avD7779nWn/27NmEhoZm2CL+9ttvU7VqVR5++OF0+y5cuEC7du14/vnn+eCDDwBwdHTk+++/p1mzZnTq1In4+HhbfZPJxDfffEP37t3x8PAgJCTE9t5I1bZtWyIjI/nzzz8zjVdEREREJEckJ8DqD2FSE2uy7uQGrUfAs+sKdbIO+aCF/a6SHA8flMrZc37XPmv13jwDLp63fRl3d3cuX/5vMoaVK1fi4+PD8uXLAWsLblhYGE2aNOGvv/7CycmJ9957j/bt27Nr1y5cXFwYO3Ys06ZN47vvvqNatWqMHTuW+fPnc//992d63ccee4yNGzfy2WefERoaSnh4OJcuXSI4OJhffvmFnj17cvDgQXx8fHB3dwfgww8/ZPr06YwbN47Q0FDWrVvHI488QkBAAC1atCAiIoIePXrw/PPP8/TTT7N161Zefvnl2743YO1u/ssvvzBv3jwcHR0zrJOcnMy7775LlSpVuHDhAsOGDWPAgAGZJuHPP/88SUlJrF27Fk9PT/bt24eXl1emMfz11180aNAg3fZVq1YxZ84cduzYwbx589Ltz2y8uoODA5MnT87wWqNHj2bMmDF88sknfP755/Tr148TJ07YWuJdXFyoU6cOf/31F61bt840ZhERERGRO3J0FSx+GSKPWcuV2kDHT6FoefvGlU8oYS/gDMNg5cqVLF26lBdeeMG23dPTk2+++cbWFX769OlYLBa++eYb27rnU6dOxc/PjzVr1tCuXTsmTJjA8OHD6dGjBwCTJ09m6dKlmV770KFDzJ49m+XLl9OmTRsAKlSoYNufmhwWL17cNoY9MTGRDz74gGXLllGjRg18fHyoVKkS69atY8qUKbRo0YJJkyZRsWJFxo4dC0CVKlXYvXs3H3/88W3fp6SkJH744QcCAgIyrfP444/b/l2hQgU+++wzGjZsSGxsbIaJ+MmTJ+nZsye1atVK99ozcuLEiXQJ++XLlxkwYADTp0/Hx8cnOy/ppgYMGECfPn0A+OCDD/jss8/YvHkz7dv/9wVSqVKlOHHiRI5dU0RERETE5up56zj1Pf/2pPUuCe0/gupd4d98JDvMFoPN4ZFcuJpAcW83GpUviqND9s+T3yhhzw5nD2tLd1ac25W11vPHl0Bg7axdOxt+++03vLy8SE5OxmKx0LdvX0aNGmXbX6tWrTTj1nfu3MmRI0fSTXaWkJDA0aNHiY6O5uzZs2mGIzg5OdGgQYN03eJT7dixA0dHR1q0aJHluI8cOUJ8fDxhYWFpticlJVG3bl0A9u/fn25YxJ2uGlC2bNmbJusA27ZtY9SoUezcuZMrV67Y1oo/efIk1atXT1d/yJAhDBo0iGXLltGmTRt69uxJ7dqZP+tr167ZuuOneuqpp+jbty/Nmze/jVeVuevj8PT0xMfHJ133fnd39zRd6UVERERE7pjFDNumwop3IDEaTA7Q6Glo9Ra43V4D1ZI9Zxm9aB9noxNs20r6ujGyS3Xa1yyZU5HbhRL27DCZst4t3ck96/XuoKt7Zlq1asWkSZNwcXGhVKlS6SYO8/RMe83Y2Fjq16/PjBkz0p3rVolsZlK7uGdHbGwsAIsWLcLX1xcvLy8cHKxTLbi6ut5WHFlx4/24UVxcHGFhYYSFhTFjxgwCAgI4efIkYWFhJCUlZXjMk08+SVhYGIsXL2bZsmV8+OGHjB07Nk1Ph+v5+/tz5cqVNNtWrVrFwoUL+fTTTwFrjwmLxYKTkxNfffVVmlb/7Lhx9nuTyWT7AiJVZGQkFStWvK3zi4iIiIikc3andU3109us5VJ1rWuql6p726dcsucsg6Zv58YmxHPRCQyavp1Jj9S7q5N2JewFlKenJ5UqVcpy/Xr16jFr1iyKFy+eadfrkiVL8vfff9tae1NSUti2bRv16tXLsH6tWrWwWCz8+eefti7x10tt4TebzbZt1atXx9XVlZMnT9K1a1d8fHxsCXuqatWqpZskbdOmTVl+rbfjwIEDXL58mY8++ojgYOus/lu3br3lccHBwTz77LM8++yzDB8+nK+//jrThL1u3brs27cvzbaNGzemuT8LFizg448/ZsOGDdleri279uzZw4MPPpir1xARERGRQiDxqnVSub8ngWEBVx/rpHINHgeHjOePygqzxWD0on3pknUAAzABoxfto231wLu2e7zdZ4kvsDyKWddZvxknV2u9fKBfv374+/vTtWtX/vrrL8LDw1mzZg1Dhgzh1KlTgHU5tI8++ohff/2VAwcO8Nxzz2W4HniqcuXK0b9/fx5//HF+/fVX2zlnz54NWLuhm0wmfvvtNy5evEhsbCze3t688sorvPzyy/z0008cPXqU7du38/nnn9vWln/22Wc5fPgwr776KgcPHmTmzJlpVhXIDWXKlMHFxYXPP/+cY8eOsXDhQt59992bHvPSSy+xdOlSwsPD2b59O6tXr6ZatWqZ1g8LC0uXoFerVo2aNWvafkqXLo2DgwM1a9akSJEiOfb6bnT8+HFOnz6d4RctIiIiIiJZYhiwbyF80Qg2TbQm6zV6wPObodFTd5SsA2wOj0zTDT7d5YGz0QlsDo+8o+vYkxL23OIXDIO3wdN/Zv4zeFuurMF+Ozw8PFi7di1lypShR48eVKtWjSeeeIKEhARbi/vLL7/Mo48+Sv/+/WnSpAne3t507979puedNGkSDz74IM899xxVq1blqaeeIi4uDoDSpUszevRo3njjDUqUKMHgwYMBePfdd3n77bcZP348NWrUoH379ixevJjy5a0zRZYpU4ZffvmFX3/9ldDQUCZPnmxbziy3BAQEMG3aNObMmUP16tX56KOPbN3UM2M2m3n++eepVq0a7du3p3Llynz55ZeZ1u/QoQNOTk6sWLEip8PPtp9++ol27dpRtmxZe4ciIiIiInejKyfgp94w+1G4egaKlINHfoGHpoLPnXdRNwyDvw5fzFLdC1czT+rzO5OR2YxhhURMTAy+vr5ER0en6wqekJBAeHh4mrW5JW9YLBZiYmIy7BJfkE2cOJGFCxfedPb93JaUlERISAgzZ86kadOmGdbJic9GcnIyv//+Ox07dkw3pl4KBj3jgk/PuGDT8y349IwLPrs8Y3MybPwC1nwMKdfAwRnuewmavQzO2Z/j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vvuuo0sSO0pPTzdGjRplREZGGt7e3kaTJk2MZ5991sjNzXV0aVJBK1euLPHP3rvvvtswDMOwWq3GxIkTjdDQUMPLy8vo3bu3sXfvXscWLeVyoTGOj48v9e9fK1eudHTpUkYX+338d40aNTJef/31Kq1RKkb7sIuIiIiIiIg4IS06JyIiIiIiIuKEFNhFREREREREnJACu4iIiIiIiIgTUmAXERERERERcUIK7CIiIiIiIiJOSIFdRERERERExAkpsIuIiIiIiIg4IQV2ERERERERESekwC4iIlJD9OzZk9GjRzu6DIeq6M8gLy+PZs2a8euvv5b5nKVLlxIbG4vVai33+4mIiIACu4iISBH33HMPJpMJk8mEh4cHoaGh9O3blw8++KBY8GrcuDEmk4nff/+9yPHRo0fTs2fPYtc+duwYnp6etG3btky1pKSk8MgjjxAZGYmXlxdhYWH079+ftWvXFvYxmUx8++23Zbre/PnzeeGFF8rU91I4wxcDP//8MyaTiTNnztjleu+88w5RUVFcccUVZT5nwIABeHh48Omnn9qlBhERqXkU2EVERP5mwIABJCQkcPjwYZYsWUKvXr0YNWoUgwcPpqCgoEhfb29vxo8fX6brzp07l5tvvpn09HTWrVt30f433ngjW7Zs4aOPPmLfvn0sWLCAnj17curUqXJ9nry8PACCgoLw8/Mr17kChmEwe/Zs7r///nKfe8899zBr1qxKqEpERGoCBXYREZG/OT+bXb9+fTp27MgzzzzDd999x5IlS5g7d26Rvg899BC///4733///QWvaRgGH374IXfeeSe3334777///gX7nzlzhtWrVzN9+nR69epFo0aN6NKlC08//TRDhw4FbDP8ANdffz0mk6mw/fzzzxMbG8t//vMfoqKi8Pb2BorPfDdu3JiXX36Z++67Dz8/PyIjI3n33XeL1PHrr78SGxuLt7c3nTt35ttvv8VkMhEXF3fhH+IFrFmzhh49euDj40PDhg0ZOXIkWVlZdqvr8OHD9OrVC4A6depgMpm45557Cs+1Wq089dRTBAUFERYWxvPPP3/Bejdt2sTBgwe59tprC48dPnwYk8nE/Pnz6dWrF76+vsTExPDbb78VOXfIkCFs3LiRgwcPVvCnJSIiNZkCu4iISBlcc801xMTEMH/+/CLHo6KiePjhh3n66acv+KzyypUryc7Opk+fPgwfPpzPP/+8SEj9u9q1a1O7dm2+/fZbcnNzS+yzYcMGAD788EMSEhIK2wAHDhzg66+/Zv78+RcM16+99hqdO3dmy5YtPProozzyyCPs3bsXgPT0dIYMGUK7du3YvHkzL7zwQpnvJijNwYMHGTBgADfeeCPbtm3jiy++YM2aNYwYMcJudTVs2JCvv/4agL1795KQkMCbb75Z+PpHH31ErVq1WLduHTNmzGDq1KksX7681JpXr15NixYtSrw74dlnn+WJJ54gLi6OFi1acNtttxW5CyMyMpLQ0FBWr15dsR+YiIjUaArsIiIiZdSqVSsOHz5c7Phzzz1HfHz8BZ9Vfv/997n11ltxc3Ojbdu2NGnShC+//LLU/u7u7sydO5ePPvqIwMBAunfvzjPPPMO2bdsK+9SrVw+AwMBAwsLCCttguw3+448/pkOHDrRv377U9xk0aBCPPvoozZo1Y/z48dStW5eVK1cCMG/ePEwmE++99x7R0dEMHDiQJ598stRrlcW0adO44447GD16NM2bN+eKK65g1qxZfPzxx+Tk5NilLjc3N4KCggAICQkhLCyMgICAwtfbt2/P5MmTad68OXfddRedO3dmxYoVpdZ85MgRIiIiSnztiSee4Nprr6VFixZMmTKFI0eOcODAgSJ9IiIiOHLkSPl/WCIiUuMpsIuIiJSRYRiYTKZix+vVq8cTTzzBpEmTCp8X/6szZ84wf/58hg8fXnhs+PDhF70t/sYbb+TEiRMsWLCAAQMG8PPPP9OxY8dit+WXpFGjRkUCfGn+GuZNJhNhYWEkJycDttnp9u3bF95SD9ClS5eLXvNCtm7dyty5cwvvIKhduzb9+/fHarUSHx9fJXX9/QuM8PDwwmuX5OzZs0Xeq7RrhYeHAxS7lo+PD9nZ2WWuT0RE5Dx3RxcgIiJSXezevZuoqKgSXxs7dixvv/02b7/9drHX5s2bR05ODl27di08ZhgGVquVffv20aJFi1Lf09vbm759+9K3b18mTpzIAw88wOTJk4s8k12SWrVqlekzeXh4FGmbTKZK3YYsMzOTf/7zn4wcObLYa5GRkVVSV3mvXbduXbZv337Ra53/Mufv10pNTS3TlyciIiJ/pxl2ERGRMvjpp5/Yvn07N954Y4mv165dm4kTJ/LSSy+RkZFR5LX333+fcePGERcXV/jP1q1b6dGjBx988EG56oiOji7y7LuHhwcWi6X8H6gMWrZsyfbt24s8Q//X5+QromPHjuzatYtmzZoV+8fT09NudZ2/lj1+Nh06dGDPnj0YhlHuc3Nycjh48CAdOnS45DpERKTmUWAXERH5m9zcXBITEzl+/DibN2/m5ZdfZtiwYQwePJi77rqr1PMeeughAgICmDdvXuGxuLg4Nm/ezAMPPEDbtm2L/HPbbbfx0UcfFdsqDuDUqVNcc801fPLJJ2zbto34+Hi+/PJLZsyYwbBhwwr7NW7cmBUrVpCYmMjp06ft+nO4/fbbsVqtPPTQQ+zevZsffviBV199FaDERwP+KiUlpcgXFHFxcSQlJTF+/Hh+/fVXRowYQVxcHPv37+e7774rtujcpdbVqFEjTCYTixYtIiUlhczMzAr+FKBXr15kZmayc+fOcp/7+++/4+XlRbdu3Sr8/iIiUnMpsIuIiPzN0qVLCQ8Pp3HjxgwYMICVK1cya9YsvvvuO9zc3Eo9z8PDgxdeeKHI4mnvv/8+0dHRtGrVqlj/66+/nuTk5BK3hKtduzZdu3bl9ddf56qrrqJt27ZMnDiRBx98kNmzZxf2e+2111i+fDkNGza0+yyuv78/CxcuJC4ujtjYWJ599lkmTZoEUOoz3efNmzePDh06FPnnvffeo3379vzyyy/s27ePHj160KFDByZNmlTqom4Vrat+/fpMmTKFCRMmEBoaWq4vBP4uODiY66+//oKLCpbms88+44477sDX17fC7y8iIjWXyajI/V0iIiJSI3366afce++9pKWl4ePj4+hyClV2Xdu2baNv374cPHiQ2rVrl+mckydP0rJlSzZu3Fjq2gciIiIXokXnREREpFQff/wxTZo0oX79+mzdupXx48dz8803OzysV3Vd7du3Z/r06cTHx9OuXbsynXP48GHefvtthXUREakwzbCLiIhIqWbMmMHbb79NYmIi4eHhXHfddbz00ksOv8XbWesSERGxJwV2ERERERERESekRedEREREREREnJACu4iIiIiIiIgTUmAXERERERERcUIK7CIiIiIiIiJOSIFdRERERERExAkpsIuIiIiIiIg4IQV2ERERERERESekwC4iIiIiIiLihP4fcVZdkII+mSMAAAAASUVORK5CYII=\n"
          },
          "metadata": {}
        }
      ]
    },
    {
      "cell_type": "markdown",
      "source": [
        "> *Desafío.* Deja que Colab explique el código y extrae tus propias conclusiones.\n",
        "\n",
        "> *Desafío propuesto por Gemini.* Ejecuta el programa anterior con un $n$ realizable. Prueba con 8 para ver qué sucede.\n",
        "\n",
        "> *Ejercicio.* Explica por qué la gráfica de la función predicha es casi una línea recta cuando nuestras predicciones indican que debe ser una función exponencial.\n",
        ">\n",
        ">> *Respuesta.* La gráfica parece un poco torcida, pero esto se debe a que los puntos de la función observada, dictados por la simulación, no están alineados. Como se puede verificar al pasar una regla por la pantalla, la función esperada es una línea recta. La gráfica se muestra en una escala semilogarítmica. Esto significa que el eje horizontal está marcado con números del 1 al 15 en escala normal, pero el eje vertical está en escala logarítmica en base 10 porque el valor del siguiente tick no se suma, sino que se multiplica por 100. El valor esperado es\n",
        ">>\n",
        ">>>  $ E(X) = \\frac{1-p}{p}$.\n",
        ">>\n",
        ">> Para $p$ pequeñas eso es   \n",
        ">>\n",
        ">> $E(X) = \\frac{1}{p}$.\n",
        ">>\n",
        ">> Si $p = 4^{-n}$  el valor esperado se convierte en una función exponencial:   \n",
        ">>\n",
        ">> $ E(X) = y(n) = \\frac{1-4^{-n}}{4^{-n}} = 4^n$.\n",
        "\n",
        ">> Si tomamos logaritmo en base 10 en ambos lados, obtenemos:\n",
        ">>\n",
        ">>> $lg (y(n)) = lg (4^n) =  n log 4 =  cn$, where $c = log 4 = 0.6 = 1/2$.\n",
        ">>>\n",
        ">>> $lg (y(n)) = n/2$\n",
        ">>\n",
        "\n",
        "Esta ecuación muestra que $n$, en el eje horizontal, está en su propia escala, dividido entre 2, pero el eje vertical $y$, el número de fallos antes del primer éxito, se ve afectado por el logaritmo. En cualquier caso, la función esperada debe pasar por los puntos $(4, 1024)$ y $(8, 1000000 = 10^6)$. Esto se cumple.\n",
        "\n",
        "> *Ejercicio.* Explique por qué el ajuste de lo observado a lo esperado es bueno, pero imperfecto.\n",
        ">>\n",
        ">> *Respuesta.* Toda variable aleatoria tiene una varianza, y la geométrica no debe ser la excepción. Sin embargo, la varianza de la variable aleatoria geométrica no es lo suficientemente alta como para borrar su identidad, por lo que se registra un coste exponencial en el número de fallos antes del primer éxito. Por eso, ncontramos que el ajuste es lo suficientemente bueno como para generar satisfacción.\n",
        "\n",
        "\n",
        "# Graduación\n",
        "Elija uno de los dos proyectos siguientes:\n",
        "\n",
        "> *Primero.* Hemos visto que existe una buena coincidencia entre lo observado en la simulación y el coste teóricamente esperado en número de ensayos para encontrar una cadena de longitud $n$. Demuestre que el valor teóricamente esperado del número de ensayos hasta el éxito determina el límite de una tendencia de los puntos dados por la simulación.\n",
        "\n",
        "> *Segundo.* Hemos visto que sin estudiar la varianza de la Distribución Geométrica, no podemos ser asertivos. Gemini ofreció su guía para llevar a cabo dicho estudio. Así que, utilizando las matemáticas o la literatura, encuentre la varianza y compruebe sus predicciones con la ayuda de las simulaciones de Gemini. Con su estudio, podrá proponer una explicación más precisa del hecho de que lo observado se ajusta bien a lo esperado, aunque, de todos modos, es imperfecto.\n",
        "\n",
        "# Conclusión\n",
        "\n",
        "Hemos estudiado la explicación más simple de la existencia del ADN: surge por mera aleatoriedad. No podemos negar que esto podría haber ocurrido por un golpe de suerte. Sin embargo, nosotros, los seres humanos, preferimos buscar otras explicaciones porque la probabilidad de tal evento es experimentalmente nula, es decir, es tan baja que su reproducción es imposible. La búsqueda de predicciones observables nos llevó a predecir sustancias químicas eternas en los sedimentos de mares ancestrales y a una batalla de la biología molecular para sintetizar, por mera aleatoriedad, cadenas de ADN con una secuencia predefinida. La tarea es tan abrumadora que la síntesis aleatoria de cadenas de ADN con 15 bases de longitud podría representar un serio desafío para la mayoría de los investigadores. De hecho, Gemini necesitó dos horas para encontrar cadenas predefinidas de longitud 1, 2,...15.\n",
        "\n"
      ],
      "metadata": {
        "id": "hUAJ7XftkGhG"
      }
    }
  ]
}