{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    ">> Evolución DE ÁRBOLES MORFOLÓGICOS DE NEWICK.\n",
    ">>>>\n",
    ">>> José Rodríguez\n",
    ">>>>\n",
    ">>> jose@ejristos.com\n",
    ">>>>\n",
    ">>> 10 de Octubre de 2026.\n",
    ">>>>\n",
    ">>> Bogotá, Colombia.\n",
    "\n",
    "**Resumen**\n",
    "\n",
    "El modelo de red de iluminación de la morfogénesis dice que la forma biológica se logra mediante la modulación del proceso de reproducción por medio de moléculas mensajeras. Su funcionamiento está modelado por un árbol que es similar a una red de iluminación, cuyas lámparas iluminan el entorno inmediato. Ya hemos visto que la codificación natural de los árboles morfológicos como clases de árboles es extremadamente costosa para la CPU. Así, el propósito de esta contribución es explorar la codificación de árboles como cadenas de caracteres, según la notación de Newick.\n",
    "\n",
    "# INTRODUCCIÓN\n",
    "\n",
    "Dos hechos simples de la naturaleza podrían servir como test para nuestro modelado de morfogénesis.\n",
    "\n",
    "1. La morfogénesis es claramente compatible con la Evolución. De hecho, todos los individuos en una familia humana son diferentes, como predice la mutación, y las características del clan se distribuyen de manera divergente entre sus miembros. Por ejemplo, Patrick tiene la nariz del abuelo paterno y Mary los labios de la abuela de la línea materna. La recombinación y la regulación genética por marcadores epigenéticos son los candidatos para explicar esto. En general, no vemos monstruos.\n",
    "2. Las moscas domésticas son iguales en toda la Tierra.\n",
    "\n",
    "Las dos condiciones conforman un rompecabezas de **círculo cuadrado** que se puede expresar con una simple pregunta: ¿Cómo podemos explicar la tremenda estabilidad evolutiva de la forma de las moscas en todo el mundo frente a la Evolución tan viva y eficaz en toda familia?\n",
    "\n",
    "**Concurso.** Proponer un modelo de morfogénesis que resuelva el rompecabezas del círculo cuadrado: debe ser evolutivo, es decir, claramente compatible con la Evolución, pero también debe explicar la estabilidad evolutiva de la forma de las moscas que son iguales en todo el mundo.\n",
    ">\n",
    "> *Respuesta.* Hemos inaugurado este concurso en [la contribución anterior](https://drive.google.com/file/d/1uUkyhGALznjn5uZQ2BxvL-bGXC4IqR4g/view?usp=sharing) , en la que propusimos el Modelo de Iluminación de la Morfogénesis. En este modelo, la forma biológica resulta naturalmente de la reproducción, que se describe por un árbol. Las células especializadas, conformando un subárbol, expulsan a un mensajero que modula el proceso de diferenciación dondequiera que su concentración supere un umbral dado.  Así, un nodo o célula de ese subárbol es similar a una lámpara que ilumina satisfactoriamente su entorno hasta cierto radio.  De la misma manera, y para fijar ideas, para generar una región con forma específica, necesitamos un subárbol cuyos nodos irradian mensajeros. Si la concentración del mensajero está por debajo de un cierto umbral, las células detienen su división y/o diferenciación.\n",
    ">\n",
    "> ¿Tiene el modelo de iluminación de la morfogénesis alguna esperanza de resolver el rompecabezas del círculo cuadrado?\n",
    ">\n",
    "> Sí. La Evolución puede trabajar continuamente sobre las hojas, los nodos terminales de las ramas, pero no puede tocar los nodos internos, cerca de la raíz del zigoto, porque todo se dañaría. Esta afirmación es equivalente a exigir una pleiotropía en el árbol: los cambios internos que tienen muchos efectos son letales, pero aquellos en las hojas que no tienen efectos secundarios son bienvenidos.\n",
    "\n",
    "Un árbol es un grafo especial, compuesto de nodos y enlaces. Por lo tanto, es natural codificar nuestros árboles usando la clase Nodo. Aunque estamos buscando nuevas opciones, no podemos perder contacto con la clase Nodo porque tal vez un enfoque mixto podría funcionar  mejor. Además, los conceptos detrás de nuestros morpho-trees o mofo-árboles son independientes de su codificación. O, los conceptos fundamentales aparecen en todas partes, inclusive en las representaciones gráficas.\n",
    "\n",
    "**Ejemplo.** El siguiente programa utiliza la clase Node para representar un morfo-árbol, o arbol morfológico, como se entiende en el modelo de red de iluminación. La clase de nodo está representada aquí por la clase `SpatialTreeNode_Diffusion`.\n"
   ]
  },
  {
   "cell_type": "code",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 1000
    },
    "executionInfo": {
     "elapsed": 439,
     "status": "ok",
     "timestamp": 1788795761296,
     "user": {
      "displayName": "jose rodriguez",
      "userId": "08454562216435392883"
     },
     "user_tz": 300
    },
    "id": "3kFfZOHFu1YZ",
    "outputId": "a7bc3ead-a49e-4efe-aa9e-6b23bf09799f",
    "ExecuteTime": {
     "end_time": "2026-10-08T11:25:06.395064Z",
     "start_time": "2026-10-08T11:25:05.961974Z"
    }
   },
   "source": [
    "# Program lighting_network.py\n",
    "# The program generates a lighting network based on a tree\n",
    "# and with lamps of different power.\n",
    "# This is a simulation of the generation of form in morphogenesis.\n",
    "# The lamps represent the nodes of the tree that can expel chemical messengers.\n",
    "# The circles represent the regions in which\n",
    "# the density of the messengers is high enough to affect reached cells.\n",
    "# An affected cell can have a license to divide,\n",
    "# or, if a previous cellular matrix exists,\n",
    "# it can acquire specific characteristics proper of cell differentiation.\n",
    "# Trees are encoding along the Node class in the direction of graphs, nodes and links. \n",
    "# By Gemini.\n",
    "\n",
    "import random\n",
    "import matplotlib.pyplot as plt\n",
    "import matplotlib.patches as patches\n",
    "import numpy as np\n",
    "\n",
    "# Global set to store all occupied coordinates for unique cell placement\n",
    "# (No longer directly used for overlap check within tree generation, but might be useful for plotting limits)\n",
    "occupied_coords_diffusion = set()\n",
    "\n",
    "class SpatialTreeNode_Diffusion:\n",
    "    def __init__(self, value, x, y, radius, occupied_squares_set, diffusion_nodes_info):\n",
    "        self.value = value\n",
    "        self.x = x\n",
    "        self.y = y\n",
    "        self.radius = radius\n",
    "        self.children = []\n",
    "\n",
    "        self.occupied_squares_set = occupied_squares_set\n",
    "        self.diffusion_nodes_info = diffusion_nodes_info # List of (x, y, radius) for all nodes in the tree\n",
    "\n",
    "        self.occupied_squares_set.add((x, y)) # Add current node's (x,y) square to the set\n",
    "        self.diffusion_nodes_info.append((x, y, radius)) # Add current node's (x,y,radius) to the list\n",
    "\n",
    "    def add_child(self, child_node):\n",
    "        if not isinstance(child_node, SpatialTreeNode_Diffusion):\n",
    "            raise TypeError(\"Child must be an instance of SpatialTreeNode_Diffusion\")\n",
    "        self.children.append(child_node)\n",
    "\n",
    "    def get_neighboring_coordinates(self):\n",
    "        neighbors = []\n",
    "        for dx in [-1, 0, 1]:\n",
    "            for dy in [-1, 0, 1]:\n",
    "                if dx == 0 and dy == 0:\n",
    "                    continue  # Exclude the current square itself\n",
    "                neighbors.append((self.x + dx, self.y + dy))\n",
    "        return neighbors\n",
    "\n",
    "    def _is_diffusion_overlapping(self, potential_nx, potential_ny, potential_radius, overlap_factor):\n",
    "        \"\"\"\n",
    "        Checks if a potential new node's diffusion circle overlaps \"too much\" with existing nodes.\n",
    "        \"Too much overlap\" is defined by the overlap_factor.\n",
    "        \"\"\"\n",
    "        potential_center_x, potential_center_y = potential_nx + 0.5, potential_ny + 0.5\n",
    "\n",
    "        for ex, ey, er in self.diffusion_nodes_info:\n",
    "            # Skip checking against self if self is already in diffusion_nodes_info\n",
    "            if (ex, ey) == (self.x, self.y):\n",
    "                continue\n",
    "\n",
    "            existing_center_x, existing_center_y = ex + 0.5, ey + 0.5\n",
    "\n",
    "            # Calculate distance between centers\n",
    "            distance = np.sqrt((potential_center_x - existing_center_x)**2 + (potential_center_y - existing_center_y)**2)\n",
    "\n",
    "            # Check for significant overlap\n",
    "            # If distance is less than a fraction of the sum of radii, it's too much overlap.\n",
    "            if distance < overlap_factor * (potential_radius + er):\n",
    "                return True # Significant overlap detected\n",
    "        return False\n",
    "\n",
    "    def add_child_in_random_neighbor(self, child_value_prefix, max_node_radius, overlap_factor):\n",
    "        coordinates_neighbors = self.get_neighboring_coordinates()\n",
    "\n",
    "        # First, filter for unoccupied grid squares\n",
    "        available_square_neighbors = [coord for coord in coordinates_neighbors if coord not in self.occupied_squares_set]\n",
    "\n",
    "        valid_child_candidates = [] # Store (nx, ny, child_radius) for candidates that pass overlap check\n",
    "\n",
    "        for nx, ny in available_square_neighbors:\n",
    "            child_radius = random.uniform(0.5, max_node_radius) # Generate potential radius for this child\n",
    "            if not self._is_diffusion_overlapping(nx, ny, child_radius, overlap_factor):\n",
    "                valid_child_candidates.append((nx, ny, child_radius))\n",
    "\n",
    "        if not valid_child_candidates:\n",
    "            return None # No available neighbors that satisfy both square and diffusion overlap conditions\n",
    "\n",
    "        # Choose a random valid candidate\n",
    "        chosen_nx, chosen_ny, chosen_child_radius = random.choice(valid_child_candidates)\n",
    "\n",
    "        child_value = f\"{child_value_prefix}_{len(self.children) + 1}\"\n",
    "        child_node = SpatialTreeNode_Diffusion(child_value, chosen_nx, chosen_ny, chosen_child_radius, self.occupied_squares_set, self.diffusion_nodes_info)\n",
    "        self.add_child(child_node)\n",
    "        return child_node\n",
    "\n",
    "    def __repr__(self):\n",
    "        return f\"SpatialTreeNode_Diffusion(value={self.value}, a={self.x}, b={self.y}, R={self.radius:.2f}, children={[child.value for child in self.children]})\"\n",
    "\n",
    "\n",
    "def generate_random_diffusion_tree(\n",
    "    max_depth, max_children, max_node_radius, current_depth=0, parent_node=None, node_prefix=\"Node\",\n",
    "    occupied_squares_set=None, diffusion_nodes_info=None, overlap_factor=0.7\n",
    "):\n",
    "    if occupied_squares_set is None:\n",
    "        occupied_squares_set = set() # Initialize a new set for this tree's square coordinates\n",
    "    if diffusion_nodes_info is None:\n",
    "        diffusion_nodes_info = [] # Initialize a new list for this tree's node (x,y,radius) information\n",
    "\n",
    "    if parent_node is None:\n",
    "        # Root node at (0,0) with a random initial radius\n",
    "        node_value = f\"{node_prefix}_Root_{random.randint(0, 99)}\"\n",
    "        initial_radius = random.uniform(0.5, max_node_radius)\n",
    "        current_node = SpatialTreeNode_Diffusion(node_value, 0, 0, initial_radius, occupied_squares_set, diffusion_nodes_info)\n",
    "    else:\n",
    "        # Children are added by the parent's method, which handles their coordinates and radius\n",
    "        current_node = parent_node.add_child_in_random_neighbor(f\"{node_prefix}_{current_depth}\", max_node_radius, overlap_factor)\n",
    "        if current_node is None:\n",
    "            return None # Branch terminated if no available neighbor\n",
    "\n",
    "    if current_depth < max_depth:\n",
    "        # Ensure at least two children if max_children >= 2, else at least one if max_children = 1, else 0\n",
    "        num_children = random.randint(min(max_children, 2) if max_children > 0 else 0, max_children)\n",
    "        for _ in range(num_children):\n",
    "            generate_random_diffusion_tree(\n",
    "                max_depth, max_children, max_node_radius, current_depth + 1, current_node,\n",
    "                node_prefix, occupied_squares_set, diffusion_nodes_info, overlap_factor\n",
    "            )\n",
    "    return current_node\n",
    "\n",
    "# --- Plotting functions for Diffusion Trees ---\n",
    "def plot_diffusion_tree_nodes(node, ax):\n",
    "    if node is None:\n",
    "        return\n",
    "\n",
    "    # Plot the square representing the cell\n",
    "    rect = patches.Rectangle((node.x, node.y), 1, 1, facecolor='lightblue', edgecolor='black', linewidth=1, zorder=1)\n",
    "    ax.add_patch(rect)\n",
    "    ax.text(node.x + 0.5, node.y + 0.5, node.value.split('_')[-1], ha='center', va='center', color='darkblue', fontsize=7, zorder=2)\n",
    "\n",
    "    # Plot the circle representing the radius of influence\n",
    "    circle = patches.Circle((node.x + 0.5, node.y + 0.5), node.radius, color='red', alpha=0.2, zorder=0) # Zorder 0 to be behind squares\n",
    "    ax.add_patch(circle)\n",
    "\n",
    "    # Draw lines connecting parent to children\n",
    "    for child in node.children:\n",
    "        ax.plot([node.x + 0.5, child.x + 0.5], [node.y + 0.5, child.y + 0.5], 'k--', linewidth=0.8, zorder=3)\n",
    "        plot_diffusion_tree_nodes(child, ax)\n",
    "\n",
    "def print_diffusion_tree(node, level=0):\n",
    "    if node is None:\n",
    "        return\n",
    "    indent = \"  \" * level\n",
    "    print(f\"{indent}- {node.value} (a={node.x}, b={node.y}, R={node.radius:.2f})\")\n",
    "    for child in node.children:\n",
    "        print_diffusion_tree(child, level + 1)\n",
    "\n",
    "# --- Example Usage ---\n",
    "if __name__ == \"__main__\":\n",
    "    # Clear the global occupied_coords for each run (still useful for total count but tree logic manages its own)\n",
    "\n",
    "    # Parameters to modify\n",
    "    occupied_coords_diffusion.clear()\n",
    "    my_seed = 175\n",
    "    my_sees = 1275\n",
    "    random.seed(my_seed) # For reproducibility\n",
    "    MAX_DEPTH = 5 # Increased for a denser tree\n",
    "    MAX_CHILDREN_PER_NODE = 3\n",
    "    MAX_NODE_RADIUS = 5.0 # Max radius of influence for nodes\n",
    "    OVERLAP_FACTOR = 0.5 # Increased to allow more overlap for a denser tree\n",
    "\n",
    "    print(f\"Generating a random diffusion tree with max_depth={MAX_DEPTH}, max_children={MAX_CHILDREN_PER_NODE}, max_node_radius={MAX_NODE_RADIUS}, overlap_factor={OVERLAP_FACTOR}\")\n",
    "    root_diffusion_tree = generate_random_diffusion_tree(\n",
    "        max_depth=MAX_DEPTH,\n",
    "        max_children=MAX_CHILDREN_PER_NODE,\n",
    "        max_node_radius=MAX_NODE_RADIUS,\n",
    "        overlap_factor=OVERLAP_FACTOR\n",
    "        # occupied_squares_set and diffusion_nodes_info are initialized within the function if None\n",
    "    )\n",
    "\n",
    "    if root_diffusion_tree:\n",
    "        print(\"\\nGenerated Diffusion Tree Structure:\")\n",
    "        print_diffusion_tree(root_diffusion_tree)\n",
    "\n",
    "        # Access the diffusion_nodes_info from the root node to get all (x,y,radius) for plotting limits\n",
    "        all_node_coords_radii = root_diffusion_tree.diffusion_nodes_info\n",
    "        all_x = [info[0] for info in all_node_coords_radii]\n",
    "        all_y = [info[1] for info in all_node_coords_radii]\n",
    "        all_radii_values = [info[2] for info in all_node_coords_radii]\n",
    "\n",
    "        # Plotting the tree with diffusion circles\n",
    "        fig, ax = plt.subplots(figsize=(10, 10))\n",
    "        ax.set_aspect('equal', adjustable='box')\n",
    "\n",
    "        plot_diffusion_tree_nodes(root_diffusion_tree, ax)\n",
    "\n",
    "        # Set plot limits based on occupied cells and radii\n",
    "        if all_x and all_y:\n",
    "            min_x_val = min(all_x) - 1\n",
    "            max_x_val = max(all_x) + 2\n",
    "            min_y_val = min(all_y) - 1\n",
    "            max_y_val = max(all_y) + 2\n",
    "\n",
    "            # Adjust limits to include max radius if it extends beyond cell coords\n",
    "            if all_radii_values:\n",
    "                # Consider the maximum extent of any circle: center + radius\n",
    "                max_extent_x = max([x + 0.5 + r for x, y, r in all_node_coords_radii])\n",
    "                min_extent_x = min([x + 0.5 - r for x, y, r in all_node_coords_radii])\n",
    "                max_extent_y = max([y + 0.5 + r for x, y, r in all_node_coords_radii])\n",
    "                min_extent_y = min([y + 0.5 - r for x, y, r in all_node_coords_radii])\n",
    "\n",
    "                min_x_val = min(min_x_val, min_extent_x - 0.5) # Add some padding\n",
    "                max_x_val = max(max_x_val, max_extent_x + 0.5)\n",
    "                min_y_val = min(min_y_val, min_extent_y - 0.5)\n",
    "                max_y_val = max(max_y_val, max_extent_y + 0.5)\n",
    "\n",
    "            ax.set_xlim(min_x_val, max_x_val)\n",
    "            ax.set_ylim(min_y_val, max_y_val)\n",
    "\n",
    "            # Set sensible ticks\n",
    "            ax.set_xticks(range(int(min_x_val) - 1, int(max_x_val) + 1))\n",
    "            ax.set_yticks(range(int(min_y_val) - 1, int(max_y_val) + 1))\n",
    "\n",
    "        ax.grid(True)\n",
    "        ax.set_title(\"Random Spatial Tree with Diffusion Circles (Overlap Restricted)\")\n",
    "        plt.xlabel(\"X Coordinate\")\n",
    "        plt.ylabel(\"Y Coordinate\")\n",
    "        plt.show()\n",
    "    else:\n",
    "        print(\"Could not generate a diffusion tree.\")"
   ],
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Generating a random diffusion tree with max_depth=5, max_children=3, max_node_radius=5.0, overlap_factor=0.5\n",
      "\n",
      "Generated Diffusion Tree Structure:\n",
      "- Node_Root_56 (a=0, b=0, R=1.56)\n",
      "  - Node_1_1 (a=-1, b=1, R=0.83)\n",
      "    - Node_2_1 (a=-1, b=2, R=2.08)\n",
      "      - Node_3_1 (a=0, b=2, R=1.54)\n",
      "        - Node_4_1 (a=1, b=1, R=0.81)\n",
      "          - Node_5_1 (a=2, b=0, R=1.97)\n",
      "          - Node_5_2 (a=2, b=2, R=1.32)\n",
      "        - Node_4_2 (a=1, b=3, R=1.26)\n",
      "          - Node_5_1 (a=1, b=4, R=2.72)\n",
      "      - Node_3_2 (a=-2, b=2, R=1.79)\n",
      "        - Node_4_1 (a=-3, b=2, R=0.87)\n",
      "          - Node_5_1 (a=-3, b=1, R=0.58)\n",
      "          - Node_5_2 (a=-4, b=3, R=2.42)\n",
      "    - Node_2_2 (a=-2, b=0, R=0.65)\n",
      "      - Node_3_1 (a=-3, b=-1, R=2.90)\n",
      "        - Node_4_1 (a=-4, b=-1, R=2.24)\n",
      "          - Node_5_1 (a=-5, b=-2, R=1.28)\n",
      "        - Node_4_2 (a=-2, b=-1, R=0.79)\n",
      "          - Node_5_1 (a=-1, b=-2, R=1.48)\n",
      "  - Node_1_2 (a=-1, b=0, R=0.67)\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 1000x1000 with 1 Axes>"
      ],
      "image/png": "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"
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "execution_count": 1
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "Dj08ZIOl7m2C"
   },
   "source": [
    "**Ejercicio.** Ejecuta el programa y observa el dibujo. El gráfico muestra cómo se representa y entiende una red de alumbrado en nuestros trabajos. Esto debe ser independiente del formato de codificación. Observe los cuadrados azules donde reside un nodo o lámpara, los enlaces entre nodos que forman un árbol, los círculos de iluminación que están centrados en los nodos o lámparas. Cada círculo es la región de alumbrado de una lámpara que representa la región de influencia de un centro que expulsa mensajeros que controlan la reproducción o diferenciación de las células circundantes dondequiera que su concentración sea superior a cierto umbral. La región roja general es la forma dictada por este morfo-árbol.\n",
    "\n",
    "**Interpretación detallada.** Entendamos el resultado del programa anterior:\n",
    "1. Todos los cuadrados son de anchura uno y representan una celda real o potencial. Cada cuadrado azul denota una célula del morfo-árbol.  Estos expulsan un mensajero que induce la diferenciación celular específica en las células circundantes siempre que su concentración esté por encima de un umbral dado. El área de influencia está marcada por círculos rojos que están centrados en el centro del cuadrado.\n",
    "2. Cada celda tiene su propia posición, determinada por  $(x,y)$. El zigoto, o célula primordial de la que el organismo resulta por varias generaciones de reproducción celular, está en el cuadrado $(0,0)$.  La dupla $(x,y)$ representa un cuadrado que se extiende hacia la derecha y hacia arriba. Así, el cuadrado correspondiente a $(0,0)$ se extiende de 0 a 1 en la dirección horizontal y de 0 a 1 en la vertical.\n",
    "3. La reproducción de una célula produce una hija que ocupa uno de los ocho cuadrados circundantes. Debido a que la posición de las células se guarda en sus genomas correspondientes, la Evolución a través de la recombinación rompe la regla de que un hijo y el padre deben ser vecinos. Esta regla es natural porque cada organismo es una unidad conectada.\n",
    "4. Cada cuadrado está ocupado por una sola célula. La Evolución rompe esta regla, y lo toleramos porque invocamos la apoptosis, o suicidio celular, como un mecanismo que opera en silencio para controlar el hacinamiento.\n",
    "5. Para seguir el morfo-árbol, debemos tener en cuenta que el descendiente está marcado por trazos lineales desde el centro del padre hasta el centro del hijo. La raíz del árbol está en $(0,0)$. Los árboles complejos conforman laberintos muy intrincados.\n",
    "\n",
    "La incompatibilidad del Modelo de Alumbrado con la Evolución nos obliga a reaccionar de alguna manera. Algunas opciones son:\n",
    "\n",
    "1. Abandonar el modelo de iluminación.\n",
    "2. Tratar de hacerlo evolutivo, es decir, compatible con Evolución, tanto como sea posible.\n",
    "3. Reformular la Evolución.\n",
    "\n",
    "Nos gusta el modelo de iluminación, así que lo guardamos para estudiarlo más a fondo. En la contribución anterior usamos la clas Nodo (nodos y conectores) para la codificación de nuestros morfo-árboles. La clase Nodo es natural pero tremendamente cara: pequeños ejercicios en Evolución requieren media hora de cálculo por parte de Colab. Por lo tanto, es obligatorio investigar otras opciones. Por eso, estudiamos aquí la posibilidad de codificar árboles como cadenas o secuencias de caracteres o letras que carecen de toda conexión explícita con la clase nodo.\n",
    "\n",
    "## La Notacioón Newick\n",
    "\n",
    "El desafío de codificar árboles en un formato apropriado para el estudio de la Evolución como cadenas sin ninguna conección con la clase Node fue resuleto exitosamente. La solución se conoce como\n",
    "[formato o notación Newick](https://es.wikipedia.org/w/index.php?title=Formato_Newick&oldid=160140912).\n",
    "\n",
    "**Observación.** En la notación utilizada en la clase de Nodo, el genoma o la información asociada a un Nodo o célula controladora se denota en la imagen de $Node123[x = x_o, y = y_o, r = r_o]$, donde la pareja $(x_o,y_o)$ denota la posición de la esquina inferior izquierda del cuadrado ocupado. Y $r=r_o$ es el radio de iluminación o influencia del centro mensajero. Además de esta información, también usaremos un par redundante $(a,b)$, que en lugar de posición denota movimiento. Por el momento, pensemos sólo en el movimiento.\n",
    "\n",
    "La notación es muy intuitiva. Bastarán algunos ejemplos para comprenderla. Consideremos tres casos:\n",
    "\n",
    "1. La cadena\n",
    "  >$father[a = 0, b=0, r = 2,1]$\n",
    "\n",
    "  >  denota la raíz con el nombre $padre$. Su genoma consiste en $[a = 0, b = 0, r = 2,1]$. La interpretación es: a partir del origen de las coordenadas $(0,0)$, se añade el paso $(a=0, b=0)$ para adquirir la posición $(0,0)$. Desde allí, una lámpara irradiará luz hasta un círculo de radio de $2,1$. Vemos que los genomas no contienen la posición sino los pasos para recuperarla comenzando con la posición del padre. Por lo tanto, los genomas no contienen datos, contienen instrucciones para hacer cosas, es decir, software que debe ser correctamente decodificado y ejecutado.\n",
    "\n",
    "2. La cadena\n",
    "\n",
    "    > $(child[a = -1, b = 1, r = 0.5])father[a = 0, b=0, r = 2.1]$\n",
    "\n",
    "  denota un padre y su hijo. La cuerda debe leerse de derecha a izquierda. El padre se encuentra en $(0,0)$ con radio de acción $2,1$, mientras que el hijo está en $(0-1,0+1) = (-1,1)$ y su radio de acción es $0,5$.\n",
    "\n",
    "3. La cadena\n",
    "\n",
    " > $(child1[a = 1, b=0, r = 1.3], child0[a = -1, b = 1, r = 0.5])father[a = 0, b=0, r = 2.1]$\n",
    "\n",
    "  denota a un padre con dos hijos. El padre se encuentra en $(0,0)$ con radio de acción $2,1$. El primer hijo está en $ (-1,1)$ y su radio de acción es $0,5$. Un segundo hijo se encuentra en $(0+1,0+0) = (1,0)$ y su radio de acción es $1.3$.\n",
    "\n",
    "**Ejercicio.** Añade un hijo al hijo1 del tercer ejemplo. Debe moverse hacia el noreste y con radio de acción $0.9$. Calcula su posición.\n",
    "> *Respuesta.* La dirección hacia el noreste se denota $(1,1)$. Si añadimos un hijo al hijo1 del tercer ejemplo, obtenemos:\n",
    "\n",
    "> $((grandchild0[a = 1, b = 1, r = 0.9]) child1[a= 1, b=0, r = 1.3], child0[a = -1, b = 1, r = 0.5])father[a = 0, b=0, r = 2.1]$\n",
    "\n",
    "La posición del nieto se obtiene comenzando con $(0,0)$, la posición de la raíz, y sumando los pasos dados por sus antepasados, hijo y nieto: $(0,0) + (1,0) + (1,1) = (2,1)$.\n",
    "\n",
    "\n",
    "**Advertencias.* Tenemos dos invitaciones para ser humildes y trabajar duro:\n",
    "\n",
    "1. Géminis ha expresado explícitamente que la notación de Newick podría resultar extremadamente engorrosa para el estudio de la Evolución de los árboles.\n",
    "2. Por nuestra parte, esperamos una feroz batalla evolutiva con la complejidad porque la Evolución de los morfo-árboles encierra un tipo de Evolución muy engorroso: ¡la Evolución del software! Veamos esto en detalle.\n",
    ">\n",
    "> El software se compone de instrucciones verbales para hacer cosas, digamos, cocinar. En general, los productos son altamente dependientes del tipo y orden de las instrucciones a aplicar. Por ejemplo, no podemos cocer la harina primero para después añadir agua. Primero debemos añadir agua a la harina para luego cocinar un conjunto cuidadosamente mezclado. Por lo tanto, la Evolución del software para ser útil debe quemar inmensas cantidades de tiempo de CPU y memoria.\n",
    ">\n",
    "> ¿Dónde están concretamente las instrucciones para construir un morfo-árbol?\n",
    ">\n",
    "> Cuando una célula se divide, el hijo debe ocupar uno de los otros ocho cuadrados vecinos. Las ocho posibilidades están denotadas por $(a,b)$, donde $a$ y $b$ pueden ser $-1,  0, 1$. Se excluye el caso $(0,0)$ porque corresponde al padre. Por lo tanto, si $(a,b) = (-1,1)$, el niño debe ocupar la celda vecina que se encuentra a la izquierda y hacia arriba del padre, o al noroeste. Por lo tanto, podemos codificar la división celular dando directamente la posición final de los hijos o expresando la instrucción que contiene el paso que cada hijo debe dar desde su padre para ocupar su cuadrado correspondiente.  Durante un tiempo usaremos la información de movimiento $(a,b)$, mientras que $(x,y)$ se reservará para denotar posición. Más luego, incluimos estas dos opciones en la codificación, pero estaremos atentos para detectar y utilizar la mejor alternativa.\n",
    "\n",
    "De estas consideraciones, no está del todo claro que la notación de Newick hará que los programas funcionen más rápido.  Sin embargo, nuestra creatividad y resiliencia deben ser puestas a prueba con experimentos para saber qué dan de sí mismas.\n",
    "\n",
    "Nuestro camino para llegar a la simulación de la Evolución de los morfo-árboles usando solo cadenas de Newick es muy largo y difícil. Así que vamos paso a paso. Nuestra primera tarea es abstraer el patrón, arquitectura o topología de un árbol en notación Newick.\n",
    "\n",
    "\n",
    "### Esquemas y gramáticas\n",
    "\n",
    "\n",
    "Entonces, consideremos la siguiente cadena de Newick que codifica para un morfo-árbol:\n",
    "\n",
    "> I = ((Target_4[a=-2,b=2,r=0.86])Target_3[a=-1,b=1,r=0.81], (Target_2[a=1,b=-2,r=2.45])Target_1[a=0,b=-1,r=2.04])Target_Root_0[a=0,b=0,r=0.85]\n",
    "\n",
    "Todos los nodos tienen la misma estructura, que está modelada sobre la siguiente *información de movimiento de un nodo*\n",
    ">\n",
    "> Target_Root_0[a=0,b=0,r=0.85]\n",
    "\n",
    "Sustituyamos cada nodo de I por la variable muda n. Obtenemos\n",
    "\n",
    "> I = ((n)n,(n)n)n\n",
    "\n",
    "Este es el **esquema o patrón** del árbol. Vemos que la raíz del árbol está en el extremo derecho\n",
    ">\n",
    "> I = ( )n y su familia es (n)n,(n)n\n",
    ">\n",
    "> La raíz tiene dos hijos,\n",
    ">\n",
    "> I = ( n, n)n\n",
    ">\n",
    "> Cada hijo aporta un nieto\n",
    ">\n",
    "> I = ((n)n,(n)n)n\n",
    ">\n",
    "> En conclusión: Esta es una familia con un padre, dos hijos y un nieto de cada hijo.\n",
    "\n",
    "**Ejercicio.** Especifique la composición de la familia del siguiente árbol:\n",
    ">\n",
    "> tree_2: (((Node57[a=16,b=13,r=9],Node50[a=11,b=19,r=18])Node73[a=17,b=5,r=7],(Node86[a=19,b=2,r=18],Node46[a=16,b=10,r=18])Node58[a=4,b=4,r=15],(Node10[a=9,b=0,r=12],Node42[a=7,b=14,r=12])Node86[a=2,b=19,r=7])Node4[a=19,b=3,r=8])Node83[a=13,b=17,r=18]\n",
    ">\n",
    "> *Respuesta.*  El patrón correspondiente es\n",
    ">\n",
    "> tree_2: (((n,n)n,(n,n)n,(n,n)n)n)n\n",
    ">\n",
    "> El padre está en la extrema derecha ()n, y su familia es (((n,n)n,(n,n)n,(n,n)n)n) con un solo hijo, cuya gran familia es (n,n)n,(n,n)n,(n,n)n. En la gran familia hay tres niños, cada uno de los cuales tiene dos hijos.\n",
    ">\n",
    "> Composición de la familia: un padre, un hijo y tres nietos, cada uno con dos hijos. o bien, un padre con un hijo, quien tiene 3 hijos, cada uno con dos hijos.\n",
    "\n",
    "\n",
    "Vamos a mostrar que la cadena que representa un árbol de morfología en notación Newick se puede generar automáticamente siguiendo un conjunto de reglas de sustitución que funcionan sobre una cadena inicial que eventualmente podría ser nula. Notemos que todos los nodos siguen exactamente la misma construcción: `tag_index[a_value, b_value, r_radius]`. Por lo tanto, nos referiremos a él genéricamente como `n`. Las reglas propuestas son:\n",
    "\n",
    "\n",
    "1. Cadena o semilla inicial: `s = ()n`\n",
    "2. Generar un dígito aleatorio: x, que es el número de hijos\n",
    "3. Reemplace en `s` , `()` por x copias de `()n ` separadas por una coma, obtenemos un número de hijos x.\n",
    "4. Iterar.\n",
    "5. Reemplace cada `n` con la información de un nodo cuyos valores se generan al azar, pero el índice de la etiqueta es un contador que va con el proceso iterativo.\n",
    "6. Eliminar la etiqueta \"()\" que aparece en los últimos hijos añadidos y que se utilizó para la recursión.\n",
    "\n",
    "Un conjunto ordenado de reglas como este es un algoritmo que se llama una **Gramática Generativa**.\n",
    "\n",
    "**Desafío.** Investiga la web sobre gramáticas en Ciencias de la computación.\n",
    "\n",
    "**Ejercicio.** Implementa en Python la gramática mencionada anteriormente para construir cadenas aleatorias de Newick.\n",
    ">\n",
    "> *Respuesta.* El siguiente programa en Python implementa la gramática mencionada y produce cadenas aleatorias de Newick.\n"
   ]
  },
  {
   "cell_type": "code",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "executionInfo": {
     "elapsed": 53,
     "status": "ok",
     "timestamp": 1788800163369,
     "user": {
      "displayName": "jose rodriguez",
      "userId": "08454562216435392883"
     },
     "user_tz": 300
    },
    "id": "HjhM-ycjy9xw",
    "outputId": "97b27772-99d1-4ad3-a329-cae8c3243162"
   },
   "source": [
    "# Program grammar_generator_of_Newick_morpho_trees.py\n",
    "# This program uses a grammar to generate Newick expressions that encode for morphological trees.\n",
    "# The rules of the grammar are:\n",
    "# 1. Initial string or seed: `s = ()n`\n",
    "# 2. Generate a random digit: x\n",
    "# 3. Replace in `s`, `()` by x copies of `(()n ` separated by a comma.\n",
    "# 4. Iterate.\n",
    "# 5. Replace each `n`by the info of a node whose values are generated at random but the index of the tag is a counter with the iterative process.\n",
    "# 6. Delete the tag \"()\" that appears in the last appended children.\n",
    "# An ordered set of rules like this is a Generative Grammar.\n",
    "# With the assitance of Colab.\n",
    "\n",
    "import random\n",
    "import numpy as np\n",
    "import math\n",
    "import re # Required for newick parsing if needed, though not directly used in this generator\n",
    "import itertools # Required for sequential replacement\n",
    "\n",
    "\n",
    "\n",
    "def replace_str_subsequence(original_str, start_idx, end_idx, new_subsequence):\n",
    "    ''' Replace a subsequence of a string with another string.\n",
    "        By Google'''\n",
    "    # Concatenate the pieces together\n",
    "    return original_str[:start_idx] + new_subsequence + original_str[end_idx:]\n",
    "\n",
    "\n",
    "def generate_children(numb_children):\n",
    "  ''' Generate children in the pattern form of a Newick Tree'''\n",
    "  #print(\"generate_children(max_numb_children)\")\n",
    "  #print(f\"Number of children: {numb_children}\")\n",
    "  s = \"\"\n",
    "  for i in range(numb_children):\n",
    "    if i == numb_children-1:\n",
    "      s = s + \"()n\"\n",
    "    else:\n",
    "      s = s + \"()n,\"\n",
    "  s =  \"(\" + s + \")\"\n",
    "  #print(f\"Children: {s}\")\n",
    "  return s\n",
    "\n",
    "\n",
    "def newick_pattern_generator(max_depth, max_numb_children):\n",
    "  ''' Generates the pattern of a tree in Newick Notation\n",
    "      Outputs strings of the form\n",
    "      ((()n)n)n\n",
    "      '''\n",
    "  #print(\"newick_pattern_generator(max_depth, max_numb_children)\")\n",
    "  actual_depth = random.randint(0, max_depth)\n",
    "  print(f\"Depth: {actual_depth}\")\n",
    "  if actual_depth == 0:\n",
    "    return \"()n\"\n",
    "  s = \"()n\"\n",
    "  for i in range(actual_depth):\n",
    "    l = len(s)\n",
    "    #print(f\"i : {i} l: {l}\")\n",
    "    # String s is scanned starting from the end\n",
    "    for j in range(l-1, 0, -1):\n",
    "      #print(f\"s: {s}\")\n",
    "      #print(f\"s[j-1] s[j]  :  {s[j-1]}{s[j]}\")\n",
    "      if s[j-1] == \"(\" and s[j] == \")\":\n",
    "        numb_children = random.randint(0, max_numb_children)\n",
    "        if numb_children == 0:\n",
    "          continue\n",
    "        else:\n",
    "          # Replace () by a list of children\n",
    "          s = replace_str_subsequence(s, j-1, j+1, generate_children(numb_children))\n",
    "        #print(f\"{i} {j} Tree: {s}\")\n",
    "  return \"(\" + s + \")n\"\n",
    "\n",
    "\n",
    "def node_info_generator(counter):\n",
    "  '''For each node, info is generated on the model\n",
    "     Node_26[x=0,y=0,r=0.85]\n",
    "     by replacing n by the info of a node whose values are generated at random\n",
    "     but the index of the tag is a counter with the iterative process.\n",
    "      '''\n",
    "  x = random.randint(0, 20)\n",
    "  y = random.randint(0, 20)\n",
    "  r = random.randint(0, 20)\n",
    "  s = \"Node\" +  str(counter)  + \"[\" + \"a=\" + str(x) + \",\" + \"b=\" + str(y) + \",\" + \"r=\" + str(r) + \"]\"\n",
    "  return s\n",
    "\n",
    "\n",
    "# Generate a sample of Newick strings\n",
    "if __name__ == \"__main__\":\n",
    "    print(\"Generated Well-Formed trees in Newick Notation:\\n\" + \"=\"*47)\n",
    "    max_depth = 4\n",
    "    max_numb_children = 4\n",
    "    print(f\"max_depth: {max_depth}\")\n",
    "    print(f\"max_numb_children: {max_numb_children} \\n\"+ \"=\"*20)\n",
    "    for i in range(1, 6):\n",
    "        counter = 0\n",
    "        s = newick_pattern_generator(max_depth, max_numb_children)\n",
    "        print(f\"tree {i}: {s}\")\n",
    "\n",
    "        l = len(s)\n",
    "        # String s is scanned starting from the end\n",
    "        for j in range(l-1, 0, -1):\n",
    "            if s[j] == \"n\":\n",
    "              # In s replace each n by a different info\n",
    "              s = replace_str_subsequence(s, j, j+1, node_info_generator(counter))\n",
    "              counter = counter + 1\n",
    "        s = s.replace(\"()\", \"\")\n",
    "        print(f\"tree {i}: {s}\")\n"
   ],
   "outputs": [],
   "execution_count": null
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "LA8Iq4-mzOWq"
   },
   "source": "**Ejercicio.** Corra el programa anterior, estudie el código para ver cómo trabaja. El funcionamiento de la gramática generadora debe ser entendida para poder seguir los programas que siguen.\n"
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "0QFnicBGy0b4"
   },
   "source": [
    "**Tarea.** Desarrollar el código para un intérprete de la notación de Newick. Debe aceptar una fórmula correcta y dibujar el árbol correspondiente.\n",
    "\n",
    "La tarea es difícil. Por lo tanto, la dividimos en varias subtareas. Divide y vencerás es una estrategia habitual en la ciencia de la computación.\n",
    "\n",
    "Para interpretar eficientemente una fórmula, uno necesita entenderla. En programación, esto se hace con **tokenizers** que forman la maquinaria para reconocer patrones. El primer patrón reconoce subcadenas del tipo $[a = 0, b = 0, r = 2,1]$ que transmiten la información para posicionar un nodo o célula en el árbol de morfología.\n",
    "\n",
    "### Tokenizers\n",
    "\n",
    "Vamos a familiarizarnos con los tokenizers, una poderosa maquinaria para el reconocimiento de patrones en las cadenas.\n",
    "\n",
    "**Ejercicio.** Deja que tu asistente de IA desarrolle un programa que muestre cómo funciona un tokenizer para cadenas Newick. El programa no debe usar la clase Node.\n",
    ">\n",
    "> *Respuesta.* Géminis respondió:\n",
    ">\n",
    ">> Claro, puedo crear un tokenizer para cadenas de Newick que no utilice la clase Node. Este enfoque se centra exclusivamente en la estructura sintáctica de la cadena, haciéndolo eficiente para la validación.\n",
    ">>>\n",
    ">> El tokenizer descompondrá la cadena de Newick en sus componentes fundamentales (como paréntesis, comas, etiquetas de nodo y elementos de metadatos). En el futuro, una función de validador analizará esta secuencia de tokens para asegurar que se ajuste a la gramática de Newick esperada, sin construir ningún objeto árbol en la memoria.\n",
    ">\n",
    "> Gemini propuso el siguiente programa que divide el genoma o la información asociada a un nodo en tokens predefinidos, o subcadenas que son subpatrones:\n"
   ]
  },
  {
   "cell_type": "code",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "executionInfo": {
     "elapsed": 52,
     "status": "ok",
     "timestamp": 1788798880204,
     "user": {
      "displayName": "jose rodriguez",
      "userId": "08454562216435392883"
     },
     "user_tz": 300
    },
    "id": "TNSLVV_xmjdE",
    "outputId": "d19342f9-432f-42ea-a9ab-c36990c2dc23"
   },
   "source": [
    "# Program newick_tokenizer.py\n",
    "# Adaptation of an example by Gemini 2.5 Flash\n",
    "\n",
    "import re\n",
    "\n",
    "# --- TOKENIZER FOR NEWICK STRINGS ---\n",
    "# --- Elements to create well-formed Newick info-s of Morpho_trees.---\n",
    "# --- Every info is modeled on the pattern\n",
    "# --- info = NodeB_3_x_2[x=2,y=2,r=3]\n",
    "\n",
    "# WARNING: the order of items in a tokenizer is important\n",
    "# # because the list is processed from top to botton!\n",
    "TOKEN_SPECIFICATION_NEWICK = [\n",
    "\n",
    "    ('LPAREN',    r'\\('),          # Left Parenthesis\n",
    "    ('RPAREN',    r'\\)'),          # Right Parenthesis\n",
    "    ('COMMA',     r','),           # Comma separator for children\n",
    "    ('LBRACKET',  r'\\['),          # Left Bracket for metadata\n",
    "    ('RBRACKET',  r'\\]'),          # Right Bracket for metadata\n",
    "    ('EQUALS',    r'='),           # Equals sign in metadata\n",
    "    ('NUMBER',    r'-?\\d+(?:\\.\\d+)?'), # Numbers (integers or floats, possibly negative)\n",
    "    ('LETTERS',   r'[a-zA-Z_0-9]+'), # Node labels (e.g., 'Node0', 'Target_Root_26'), or variables (a, b, r)\n",
    "    ('SEMICOLON', r';'),           # Optional semicolon at end of Newick string\n",
    "    ('SKIP',      r'[ \\t\\n]+'),  # Skip spaces, tabs, newlines\n",
    "    ('MISMATCH',  r'.'),           # Any other illegal character\n",
    "]\n",
    "\n",
    "def tokenize_newick(newick_str):\n",
    "    \"\"\"Converts a Newick string into a list of (token_type, value) tuples.\n",
    "        Adapted from a code by Gemini\"\"\"\n",
    "    tok_regex = '|'.join(f'(?P<{name}>{pattern})' for name, pattern in TOKEN_SPECIFICATION_NEWICK)\n",
    "    tokens = []\n",
    "    try:\n",
    "        for mo in re.finditer(tok_regex, newick_str):\n",
    "            kind = mo.lastgroup\n",
    "            value = mo.group()\n",
    "            if kind == 'SKIP':\n",
    "                continue\n",
    "            elif kind == 'MISMATCH':\n",
    "                raise SyntaxError(f\"Newick Grammar Violation: Illegal character '{value}' in '{newick_str}'\")\n",
    "            tokens.append((kind, value))\n",
    "    except SyntaxError as e:\n",
    "        return str(e)\n",
    "    if not tokens:\n",
    "        return \"Empty Newick string.\"\n",
    "    else:\n",
    "        return tokens\n",
    "\n",
    "if __name__ == \"__main__\":\n",
    "    #Correct Newick string\n",
    "    newick_str_m = \"Target_1_1[a=-2,b=2,r=0.86]\"\n",
    "    tokens_m = tokenize_newick(newick_str_m)\n",
    "    print(f\"\\nnewick_str: {newick_str_m}\")\n",
    "    print(f\"Tokens: {tokens_m}\")\n",
    "    # Correct Newick string\n",
    "    newick_str_m = \"Node8[a=0.1,b=-7.3,r=15.143]\"\n",
    "    tokens_m = tokenize_newick(newick_str_m)\n",
    "    print(f\"\\nnewick_str: {newick_str_m}\")\n",
    "    print(f\"Tokens: {tokens_m}\")\n",
    "    # Incorrect Newick string+\n",
    "    newick_str_m = \"Node8[a=0,,1,b=-7.3,r=15.143$\"\n",
    "    tokens_m = tokenize_newick(newick_str_m)\n",
    "    print(f\"\\nnewick_str: {newick_str_m}\")\n",
    "    print(f\"Tokens: {tokens_m}\")\n",
    "    # Incorrect Newick string\n",
    "    newick_str_m = \"Node8[a=0,,1,b=-7.3,r=15.143))))))\"\n",
    "    tokens_m = tokenize_newick(newick_str_m)\n",
    "    print(f\"\\nnewick_str: {newick_str_m}\")\n",
    "    print(f\"Tokens: {tokens_m}\")\n"
   ],
   "outputs": [],
   "execution_count": null
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "TY_lPYpQqN3v"
   },
   "source": [
    "**Ejercicio.** Juega con el programa para entender cómo funciona.\n",
    "\n",
    "**Ejercicio.** Utiliza un tokenizer para desarrollar un validador de cadenas Newick. Debe distinguir las expresiones válidas de las inválidas. Una fórmula contiene la información de varias células. Un substring con la información de una sola celda se llama *grupo de letras con la información de un nodo* o simplemente, *grupo*.\n",
    ">\n",
    "> *Respuesta.* Con la ayuda de Gemini y Google, proponemos el siguiente código para el validador si las cadenas son de Newick:"
   ]
  },
  {
   "cell_type": "code",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "executionInfo": {
     "elapsed": 52,
     "status": "ok",
     "timestamp": 1788798494011,
     "user": {
      "displayName": "jose rodriguez",
      "userId": "08454562216435392883"
     },
     "user_tz": 300
    },
    "id": "Fcx2NfgcrDhS",
    "outputId": "04d1d2ca-13d8-4110-9e13-723d0025734b"
   },
   "source": [
    "# Program validator_for_newick_morpho_trees.py\n",
    "# The task is to decide whether a Newick string encodes for a morpho tree.\n",
    "# To solve the task,\n",
    "# we simply go backwards over the procedure of creation of Newick strings.\n",
    "# The program has two sections.\n",
    "# In the first,\n",
    "# the string is divided in tokens, substrings of predefined content,\n",
    "# and all groups or substrings that fit into the pattern\n",
    "# info = NodeB_3_x_2[a=2,b=2,r=3] are detected.\n",
    "# Each found group undergoes a detailed test for correctness.\n",
    "# This is done so:\n",
    "# Each specification couple has an index,\n",
    "# shown to the end of the comments at the right.\n",
    "# A correct group has a very precise sequences of indexes:\n",
    "# 73756275627564\n",
    "# So, a test for correctness reduces to the comparison of two numbers.\n",
    "# If some group is wrong, the whole string is rejected.\n",
    "# If all are correct, the test continues further on.\n",
    "# In the second section,\n",
    "# each group or info is replaced by \"n\",\n",
    "# then, each \"n\" is replaced by\"\"\n",
    "# then each \"()\" is replaced by \"\".\n",
    "# If a formula is correct,\n",
    "# the final product of this simplifying algorithm is the void sting \"\",\n",
    "# and its length is zero.\n",
    "\n",
    "\n",
    "\n",
    "# With the help of Gemini and Google.\n",
    "\n",
    "import re\n",
    "\n",
    "# --- TOKENIZER FOR NEWICK STRINGS ---\n",
    "# --- Elements to create well-formed Newick info-s of Morpho_trees.---\n",
    "# --- Every info is modeled on the pattern\n",
    "# --- info = NodeB_3_x_2[a=2,b=2,r=3]\n",
    "# --- If a substring fits into this pattern,\n",
    "# --- it must produce the sequence 73756275627564.\n",
    "# --- Say, each info begins with a noun = letters, number 7,\n",
    "# --- and ends with a right bracket number 4.\n",
    "# --- Assigned numbers are at the right of comments.\n",
    "# --- By Gemini\n",
    "TOKEN_SPECIFICATION_NEWICK = [\n",
    "('LPAREN', r'\\('), # Left Parenthesis, 0\n",
    "('RPAREN', r'\\)'), # Right Parenthesis, 1\n",
    "('COMMA', r','), # Comma separator for children, 2\n",
    "('LBRACKET', r'\\['), # Left Bracket for metadata, 3\n",
    "('RBRACKET', r'\\]'), # Right Bracket for metadata, 4\n",
    "('EQUALS', r'='), # Equals sign in metadata, 5\n",
    "('NUMBER', r'-?\\d+(?:\\.\\d+)?'), # Numbers (integers or floats, possibly negative), 6\n",
    "('LETTERS', r'[a-zA-Z_0-9]+'), # Node labels (e.g., 'Node0', 'Target_Root_26'), or variables (x, y, r), 7\n",
    "('SEMICOLON', r';'), # Optional semicolon at end of Newick string, 8\n",
    "('SKIP', r'[ \\t\\n]+'), # Skip spaces, tabs, newlines, 9\n",
    "('MISMATCH', r'.'), # Any other illegal character, *\n",
    "]\n",
    "\n",
    "def tokenize_newick2(newick_str):\n",
    "  \"\"\"Converts a Newick string into a list of (token_type, value) tuples.\"\"\"\n",
    "  print(\"\\ntokenize_newick\")\n",
    "  tokens = []\n",
    "  tok_regex = '|'.join(f'(?P<{name}>{pattern})' for name, pattern in TOKEN_SPECIFICATION_NEWICK)\n",
    "  tokens = []\n",
    "  for mo in re.finditer(tok_regex, newick_str):\n",
    "    kind = mo.lastgroup\n",
    "    value = mo.group()\n",
    "    if kind == 'SKIP':\n",
    "      continue\n",
    "    elif kind == 'MISMATCH':\n",
    "      raise SyntaxError(f\"Newick Grammar Violation: Illegal character '{value}' in '{newick_str}'\")\n",
    "    tokens.append((kind, value))\n",
    "  return tokens\n",
    "\n",
    "# --- VALIDATOR FOR INFO SUBSTRINGS THAT MUST FIT INTO THE PATTERN ---\n",
    "# --- info = NodeB_3_x_2[a=2,b=2,r=3]\n",
    "def examine_subsequence2(tokens, j):\n",
    "  print(\"\\nexamine_subsequence2\")\n",
    "  # Every info must begin with a letter, whose index is 7.\n",
    "  tracker = [\"LETTERS\"]\n",
    "  tracker2 = \"7\"\n",
    "  if tokens[j + 1][0] == 'LBRACKET':\n",
    "    tracker.append('LBRACKET')\n",
    "    tracker2 += \"3\"\n",
    "  if tokens[j + 2][0] == 'LETTERS':\n",
    "    tracker.append('LETTERS')\n",
    "    tracker2 += \"7\"\n",
    "  if tokens[j + 3][0] == 'EQUALS':\n",
    "    tracker.append('EQUALS')\n",
    "    tracker2 += \"5\"\n",
    "  if tokens[j + 4][0] == 'NUMBER':\n",
    "    tracker.append('NUMBER')\n",
    "    tracker2 += \"6\"\n",
    "  if tokens[j + 5][0] == 'COMMA':\n",
    "    tracker.append('COMMA')\n",
    "    tracker2 += \"2\"\n",
    "  if tokens[j + 6][0] == 'LETTERS':\n",
    "    tracker.append('LETTERS')\n",
    "    tracker2 += \"7\"\n",
    "  if tokens[j + 7][0] == 'EQUALS':\n",
    "    tracker.append('EQUALS')\n",
    "    tracker2 += \"5\"\n",
    "  if tokens[j + 8][0] == 'NUMBER':\n",
    "    tracker.append('NUMBER')\n",
    "    tracker2 += \"6\"\n",
    "  if tokens[j + 9][0] == 'COMMA':\n",
    "    tracker.append('COMMA')\n",
    "    tracker2 += \"2\"\n",
    "  if tokens[j + 10][0] == 'LETTERS':\n",
    "    tracker.append('LETTERS')\n",
    "    tracker2 += \"7\"\n",
    "  if tokens[j + 11][0] == 'EQUALS':\n",
    "    tracker.append('EQUALS')\n",
    "    tracker2 += \"5\"\n",
    "  if tokens[j + 12][0] == 'NUMBER':\n",
    "    tracker.append('NUMBER')\n",
    "    tracker2 += \"6\"\n",
    "  if tokens[j + 13][0] == 'RBRACKET':\n",
    "    tracker.append('RBRACKET')\n",
    "    tracker2 += \"4\"\n",
    "  print(f\"tracker: {tracker}\")\n",
    "  print(f\"Encoding of info: {tracker2}\")\n",
    "  if tracker2 == \"73756275627564\":\n",
    "    print(\"Pattern : 73756275627564\")\n",
    "    print(\"Valid Newick sub-string at examine_subsequence2(tokens, j)\")\n",
    "    return True, \"Valid Newick sub-string at examine_subsequence2(tokens, j).\"\n",
    "  else:\n",
    "    print(\"Invalid Newick sub-string at examine_subsequence2(tokens, j)\")\n",
    "    return False, \"Invalid Newick sub-string at examine_subsequence2(tokens, j).\"\n",
    "\n",
    "def replace_at_position2(original_str, replacement, position, length_to_replace):\n",
    "  \"\"\"\n",
    "  Replaces a subsequence at a given position.\n",
    "  :param original_str: The main text string\n",
    "  :param replacement: The new text you want to insert\n",
    "  :param position: The starting index of the old subsequence\n",
    "  :param length_to_replace: The length of the old subsequence being removed\n",
    "  \"\"\"\n",
    "  before = original_str[:position]\n",
    "  after = original_str[position + length_to_replace:]\n",
    "  return before + replacement + after\n",
    "\n",
    "\n",
    "def simplify2(text):\n",
    "    # Assuming that all infos of a string have been declared correct,\n",
    "    # the string is further tested for the balance of parentheses.\n",
    "    print(\"\\nsimplify(text)\")\n",
    "    print(f\"text: {text}\")\n",
    "    # Detect a pattern on the model  info = NodeB_3_x_2[x=2,y=2,r=3]\n",
    "    info_words = r'[\\a-zA-Z_0-9_[_=_,\\] ]+'\n",
    "    info_words = r'[a-zA-Z_0-9_]*\\[a=-?[0-9]+(?:\\.[0-9]+)?,b=-?[0-9]+(?:\\.[0-9]+)?,r=-?[0-9]+(?:\\.[0-9]+)?\\]'\n",
    "    starts = []\n",
    "    groups = []\n",
    "    for match in re.finditer(info_words, text):\n",
    "        print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "        print(f\"    starts at index: {match.start()}\")\n",
    "        starts.append(match.start())\n",
    "        groups.append(match.group())\n",
    "    number_of_infos = len(starts)\n",
    "    print(f\"number_of_infos = {number_of_infos}\")\n",
    "    print(f\"starts of infos: {starts}\")\n",
    "    print(f\"groups or infos: {groups}\")\n",
    "    new_s = text\n",
    "    # All infos are replaced by the dumb variable n\n",
    "    for j in range(number_of_infos - 1, -1, -1):\n",
    "        print(f\"start_of_info[{j}]:  {starts[j]},  len(groups[{j}]): {len(groups[j])}\")\n",
    "        new_s = replace_at_position2(new_s, \"n\", starts[j], len(groups[j]))\n",
    "    print(f\"new string = '{new_s}'\")\n",
    "    # Balance of parentheses is inquired.\n",
    "    new_s = new_s.replace(\"n,\", \"\")\n",
    "    new_s = new_s.replace(\"n\", \"\")\n",
    "    new_s = new_s.replace(\"(n)n,\", \"\")\n",
    "    new_s = new_s.replace(\"(n)n\", \"\")\n",
    "    new_s = new_s.replace(\"(n),\", \"\")\n",
    "    new_s = new_s.replace(\"(n)\", \"\")\n",
    "\n",
    "    new_s = new_s.replace(\"n,\", \"\")\n",
    "    new_s = new_s.replace(\"n\", \"\")\n",
    "    print(f\"Simplified string = {new_s} \")\n",
    "    l = len(new_s)\n",
    "    print(f\"Length of Simplified string = {l}\")\n",
    "    for i in range(l):\n",
    "      new_s = new_s.replace(\"()\", \"\")\n",
    "    final_length = len(new_s)\n",
    "    print(f\"Final string = {new_s}, final_length = {final_length}\")\n",
    "    if final_length == 0:\n",
    "        print(\"Valid string at simplify\")\n",
    "        return True,  \"Valid Newick string.\"\n",
    "    else:\n",
    "        print(\"Invalid string at simplify\")\n",
    "        return False, \"Invalid Newick string.\"\n",
    "\n",
    "\n",
    "def validate_newick_syntax2(newick_str):\n",
    "    \"\"\"\n",
    "    Validates if a Newick string is syntactically correct.\n",
    "    This function checks for balanced parentheses, proper comma usage for children,\n",
    "    and correct metadata format, without building a tree object.\n",
    "    \"\"\"\n",
    "    print(\"\\nValidating Newick syntax\")\n",
    "    try:\n",
    "        tokens = tokenize_newick2(newick_str)\n",
    "        print(f\"newick_str: {newick_str}\")\n",
    "        print(f\"Tokens: {tokens}\")\n",
    "    except SyntaxError as e:\n",
    "        return False, str(e)\n",
    "    if not tokens:\n",
    "        return False, \"Empty Newick string.\"\n",
    "    # Stack to track parentheses and tree structure\n",
    "    paren_stack = [] # Stores 'LPAREN'\n",
    "    bracket_stack = [] # Stores 'LBRACKET'\n",
    "    node_count_in_group = 0 # Counts nodes/subtrees within a (...,...,...) group\n",
    "    expect_node_label_or_lparen = True\n",
    "    expect_metadata_key = False\n",
    "    expect_equals_after_key = False\n",
    "    expect_value_after_equals = False\n",
    "    expect_comma_or_rbracket_after_value = False\n",
    "    is_valid2 = False\n",
    "    l = len(tokens)\n",
    "    j = 0\n",
    "    indexes_of_tokens = []\n",
    "    if l == 1:\n",
    "        kind, value = tokens[j]\n",
    "        if kind == 'LETTERS': # NodeA\n",
    "            return True, \"Valid Newick string.\"\n",
    "        else:\n",
    "            return False, \"Invalid Newick string.\"\n",
    "    elif l == 2:\n",
    "        kind, value = tokens[j]\n",
    "        if kind == 'LETTERS' and tokens[1][0] == 'SEMICOLON': #NodeC;\n",
    "            return True, \"Valid Newick string.\"\n",
    "        else:\n",
    "            return False, \"Invalid Newick string.\"\n",
    "    elif 3 < l < 14: # No redundancy is assumed\n",
    "        return False, \"Invalid Newick string.\"\n",
    "    elif l >= 14:\n",
    "        print(f\"Length of string: {l}\")\n",
    "        for j in range(l-12):\n",
    "            # print(f\"{j} tokens[j]: {tokens[j]}\")\n",
    "            if tokens[j][0] == 'LETTERS' and tokens[j+1][0] == 'LBRACKET':\n",
    "                print(f\"Starting index : {j}\".format(j=j))\n",
    "                indexes_of_tokens.append(j)\n",
    "                # info that starts at j is examined for correctness\n",
    "                is_valid2, message2 = examine_subsequence2(tokens, j)\n",
    "                if is_valid2:\n",
    "                    pass\n",
    "                else:\n",
    "                    return False, \"Invalid Newick string.\"\n",
    "        print(f\"Starting indexes of tokens: {indexes_of_tokens }\")\n",
    "    is_valid3, message3 = simplify2(newick_str)\n",
    "    if is_valid3:\n",
    "        return True, \"Valid Newick info-substrings at validate_newick_syntax2(newick_str).\"\n",
    "    else:\n",
    "        return False, \"Invalid Newick string validate_newick_syntax2(newick_str).\"\n",
    "\n",
    "# --- TEST SUITE (copied from previous cell and adapted) ---\n",
    "if __name__ == \"__main__\":\n",
    "  print(\"--- Newick Grammar Validator Results ---\")\n",
    "  # Re-use the examples from the previous `newick_expression_validator.py`\n",
    "  # and ensure they work with this tokenizer-based validator.\n",
    "  # Valid Newick Strings (from previous notebook state)\n",
    "  valid_newick_1 = \"((Target_1_1[a=-2,b=2,r=0.86])Target_0_1[a=-1,b=1,r=0.81],(Target_2_1[a=1,b=-2,r=2.45])Target_0_2[a=0,b=-1,r=2.04])Target_Root_26[a=0,b=0,r=0.85]\"\n",
    "  valid_newick_2 = \"((Node4[a=1,b=0,r=9],Node3[a=5,b=20,r=11],Node2[a=15,b=11,r=15])Node1[a=4,b=8,r=0])Node0[a=20,b=8,r=17]\"\n",
    "  valid_newick_3 = \"(((Node9[a=11,b=19,r=12],Node8[a=0,b=7,r=15],Node7[a=6,b=16,r=9])Node6[a=17,b=9,r=20],Node5[a=19,b=15,r=10],(Node4[a=15,b=14,r=1])Node3[a=11,b=13,r=19],Node2[a=18,b=17,r=11])Node1[a=16,b=1,r=12])Node0[a=10,b=4,r=1]\"\n",
    "  valid_newick_4 = \"NodeA[a=1,b=1,r=5]\" # Single node with metadata\n",
    "  valid_newick_5 = \"(NodeB[a=2,b=2,r=3])NodeA[a=1,b=1,r=5]\" # Simple tree\n",
    "  valid_newick_6 = \"NodeC;\" # Single node with semicolon\n",
    "  valid_newick_7 = \"(NodeD,NodeE)NodeF;\" # Tree with semicolon\n",
    "  valid_newick_8 = \"NodeA\" # Single node without metadata\n",
    "  valid_newick_9 = \"((A,B)C,(D,E)F)G;\" # Classic Newick, no metadata\n",
    "  # Invalid Newick Strings\n",
    "  invalid_newick_1 = \"(NodeA,NodeB\" # Missing closing parenthesis\n",
    "  invalid_newick_2 = \"NodeA[a=1,b=1]\" # Missing r-metadata, or malformed if r is optional\n",
    "  invalid_newick_3 = \"(NodeA,NodeB)[a=1,b=1,r=1]\" # Node label after children missing\n",
    "  invalid_newick_4 = \"((NodeX[a=1,b=1,r=1])NodeY[a=2,b=2,r=2])\" # Missing root label\n",
    "  invalid_newick_5 = \"(NodeA[a=1,b=1,r=1],)NodeC[a=3,b=3,r=3]\" # Trailing comma\n",
    "  invalid_newick_6 = \"(NodeA,NodeB)C D\" # Extra token after valid tree\n",
    "  invalid_newick_7 = \"[a=1]NodeA\" # Metadata before node label\n",
    "  invalid_newick_8 = \"NodeA[a=1,b=1r=1]\" # Missing comma in metadata\n",
    "  invalid_newick_9 = \"(\" # Unclosed parenthesis\n",
    "  invalid_newick_10 = \"NodeA(NodeB)\" # Parentheses in wrong place\n",
    "\n",
    "  test_cases_newick = {\n",
    "  \"Valid Newick Strings\": [\n",
    "  valid_newick_1,\n",
    "  valid_newick_2,\n",
    "  valid_newick_3,\n",
    "  valid_newick_4,\n",
    "  valid_newick_5,\n",
    "  valid_newick_6,\n",
    "  valid_newick_7,\n",
    "  valid_newick_8,\n",
    "  valid_newick_9\n",
    "  ],\n",
    "  \"Invalid Newick Strings\": [\n",
    "  invalid_newick_1,\n",
    "  invalid_newick_2,\n",
    "  invalid_newick_3,\n",
    "  invalid_newick_4,\n",
    "  invalid_newick_5,\n",
    "  invalid_newick_6,\n",
    "  invalid_newick_7,\n",
    "  invalid_newick_8,\n",
    "  invalid_newick_9,\n",
    "  invalid_newick_10\n",
    "  ]\n",
    "  }\n",
    "\n",
    "  for category, newick_strings in test_cases_newick.items():\n",
    "        print(f\"\\n--- {category} ---\")\n",
    "        for i, nw_str in enumerate(newick_strings):\n",
    "            print(\"\\nString \", i+1)\n",
    "            is_valid, message = validate_newick_syntax2(nw_str)\n",
    "            print(f\"is valid at main : {is_valid}, message: {message}\")\n",
    "            status = \"✅ VALID\" if is_valid else \"❌ INVALID\"\n",
    "            print(f\"  String {i+1}: {status} - {message}\")\n",
    "            #print(f\"    '{nw_str}'\") # Uncomment to see the string itself\n",
    "\n"
   ],
   "outputs": [],
   "execution_count": null
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "HzAWJOovJrXe"
   },
   "source": [
    "**Ejercicio.** Ejecuta el programa y pruébalo con fórmulas de tu propia invención.\n",
    "\n",
    "**Protesta.** Una prueba de unas pocas fórmulas no es suficiente para inspirar confianza.\n",
    "\n",
    "**Ejercicio.** Realiza una prueba masiva para verificar que cada fórmula es realmente correcta.\n",
    ">\n",
    ">*Respuesta.* En el siguiente programa tenemos un generador de fórmulas Newick, cada una de las cuales es puesta a prueba inmediatamente por un validador."
   ]
  },
  {
   "cell_type": "code",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "executionInfo": {
     "elapsed": 166,
     "status": "ok",
     "timestamp": 1788893545141,
     "user": {
      "displayName": "jose rodriguez",
      "userId": "08454562216435392883"
     },
     "user_tz": 300
    },
    "id": "pWVlMuydLPg8",
    "outputId": "82068ccc-451d-47e8-e320-10524de06d2e"
   },
   "source": [
    "# Program massive_test_of_Newick_morpho_trees.py\n",
    "# This program uses a grammar to generate Newick expressions that encode for morphological trees.\n",
    "# Each generated formula is tested with a validator to verify its correctness.\n",
    "# The rules of the grammar are:\n",
    "# 1. Initial string or seed: `s = ()n`\n",
    "# 2. Generate a random digit: x\n",
    "# 3. Replace in `s`, `()` by x copies of `(()n ` separated by a comma.\n",
    "# 4. Iterate.\n",
    "# 5. Replace each `n`by the info of a node whose values are generated at random,\n",
    "#    but the index of the tag is a counter with the iterative process.\n",
    "# 6. Delete the tag \"()\" that appears in the last appended children.\n",
    "# An ordered set of rules like this is a Generative Grammar.\n",
    "# With the assitance of Colab.\n",
    "\n",
    "import random\n",
    "import numpy as np\n",
    "import math\n",
    "import re # Regular expressions package. Required for newick parsing\n",
    "import itertools # Required for sequential replacement\n",
    "\n",
    "\n",
    "# === Generator===\n",
    "\n",
    "def replace_str_subsequence3(original_str, start_idx, end_idx, new_subsequence):\n",
    "    ''' Replace a subsequence of a string with another string.\n",
    "        By Google'''\n",
    "    # Concatenate the pieces together\n",
    "    return original_str[:start_idx] + new_subsequence + original_str[end_idx:]\n",
    "\n",
    "\n",
    "def generate_children3(numb_children):\n",
    "  ''' Generate children in the pattern form of a Newick Tree'''\n",
    "  #print(\"generate_children(max_numb_children)\")\n",
    "  #print(f\"Number of children: {numb_children}\")\n",
    "  s = \"\"\n",
    "  for i in range(numb_children):\n",
    "    if i == numb_children-1:\n",
    "      s = s + \"()n\"\n",
    "    else:\n",
    "      s = s + \"()n,\"\n",
    "  s =  \"(\" + s + \")\"\n",
    "  #print(f\"Children: {s}\")\n",
    "  return s\n",
    "\n",
    "\n",
    "def newick_pattern_generator3(max_depth, max_numb_children):\n",
    "  ''' Generates the pattern of a tree in Newick Notation\n",
    "      Outputs strings of the form\n",
    "      ((()n)n)n\n",
    "      '''\n",
    "  #print(\"newick_pattern_generator(max_depth, max_numb_children)\")\n",
    "  actual_depth = random.randint(0, max_depth)\n",
    "  #print(f\"Depth: {actual_depth}\")\n",
    "  if actual_depth == 0:\n",
    "    return \"()n\"\n",
    "  s = \"()n\"\n",
    "  for i in range(actual_depth):\n",
    "    l = len(s)\n",
    "    #print(f\"i : {i} l: {l}\")\n",
    "    # String s is scanned starting from the end\n",
    "    for j in range(l-1, 0, -1):\n",
    "      #print(f\"s: {s}\")\n",
    "      #print(f\"s[j-1] s[j]  :  {s[j-1]}{s[j]}\")\n",
    "      if s[j-1] == \"(\" and s[j] == \")\":\n",
    "        numb_children = random.randint(0, max_numb_children)\n",
    "        if numb_children == 0:\n",
    "          continue\n",
    "        else:\n",
    "          # Replace () by a list of children\n",
    "          s = replace_str_subsequence3(s, j-1, j+1, generate_children3(numb_children))\n",
    "        #print(f\"{i} {j} Tree: {s}\")\n",
    "  return \"(\" + s + \")n\"\n",
    "\n",
    "\n",
    "def node_info_generator3(counter):\n",
    "  '''For each node, info is generated on the model\n",
    "     Node_26[x=0,y=0,r=0.85]\n",
    "     by replacing n by the info of a node whose values are generated at random\n",
    "     but the index of the tag is a counter with the iterative process.\n",
    "      '''\n",
    "  x = random.randint(0, 20)\n",
    "  y = random.randint(0, 20)\n",
    "  r = random.randint(0, 20)\n",
    "  s = \"Node\" +  str(counter)  + \"[\" + \"a=\" + str(x) + \",\" + \"b=\" + str(y) + \",\" + \"r=\" + str(r) + \"]\"\n",
    "  return s\n",
    "\n",
    "def morpho_tree_generator3(max_depth, max_numb_children):\n",
    "      ''' Generates a Newcick formula that repreents a morpho-tree.\n",
    "          '''\n",
    "      counter = 0\n",
    "      s = newick_pattern_generator3(max_depth, max_numb_children)\n",
    "      #print(f\"tree  {i} at line 341: {s}\")\n",
    "\n",
    "      l = len(s)\n",
    "      # String s is scanned starting from the end\n",
    "      for j in range(l-1, 0, -1):\n",
    "          if s[j] == \"n\":\n",
    "            # In s replace each n by a different info\n",
    "            s = replace_str_subsequence3(s, j, j+1, node_info_generator3(counter))\n",
    "            counter = counter + 1\n",
    "      s = s.replace(\"()\", \"\")\n",
    "      return s\n",
    "\n",
    "# === VAlidator ===\n",
    "\n",
    "# Program validator_for_newick_morpho_trees.py\n",
    "# The task is to decide whether a Newick string encodes for a morpho tree.\n",
    "# To solve the task,\n",
    "# we simply go backwards over the procedure of creation of Newick strings.\n",
    "# The program has two sections.\n",
    "# In the first,\n",
    "# the string in divided in tokens, substrings of predefined content,\n",
    "# and all groups that fit into the pattern\n",
    "# info = NodeB_3_x_2[a=2,b=2,r=3] are detected.\n",
    "# Each found group undergoes a detailed test for correctness.\n",
    "# If some group is wrong, the whole string is rejected.\n",
    "# If all are correct, the test continues further on.\n",
    "# In the second section,\n",
    "# each info is replaced by \"n\",\n",
    "# then, each \"n\" is replaced by\"\"\n",
    "# then each \"()\" is replaced by \"\".\n",
    "# If a formula is correct,\n",
    "# the final product of this algorithm is the void sting \"\",\n",
    "# and its length is zero.\n",
    "# With the help of Gemini and Google.\n",
    "\n",
    "import re\n",
    "\n",
    "# --- TOKENIZER FOR NEWICK STRINGS ---\n",
    "# --- Elements to create well-formed Newick info-s of Morpho_trees.---\n",
    "# --- Every info is modeled on the pattern\n",
    "# --- info = NodeB_3_x_2[a=2,b=2,r=3]\n",
    "# --- If a substring fits into this pattern,\n",
    "# --- it must produce the sequence 73756275627564.\n",
    "# --- Say, each info begins with a noun = letters, number 7,\n",
    "# --- and ends with a right bracket number 4.\n",
    "# --- Assigned numbers are at the right of comments.\n",
    "# --- By Gemini\n",
    "TOKEN_SPECIFICATION_NEWICK = [\n",
    "    ('LPAREN',    r'\\('),          # Left Parenthesis, 0\n",
    "    ('RPAREN',    r'\\)'),          # Right Parenthesis, 1\n",
    "    ('COMMA',     r','),           # Comma separator for children, 2\n",
    "    ('LBRACKET',  r'\\['),          # Left Bracket for metadata, 3\n",
    "    ('RBRACKET',  r'\\]'),          # Right Bracket for metadata, 4\n",
    "    ('EQUALS',    r'='),           # Equals sign in metadata, 5\n",
    "    ('NUMBER',    r'-?\\d+(?:\\.\\d+)?'), # Numbers (integers or floats, possibly negative), 6\n",
    "    ('LETTERS',   r'[a-zA-Z_0-9]+'), # Node labels (e.g., 'Node0', 'Target_Root_26'), or variables (x, y, r), 7\n",
    "    ('SEMICOLON', r';'),           # Optional semicolon at end of Newick string, 8\n",
    "    ('SKIP',      r'[ \\t\\n]+'),  # Skip spaces, tabs, newlines, 9\n",
    "    ('MISMATCH',  r'.'),           # Any other illegal character, *\n",
    "]\n",
    "\n",
    "def tokenize_newick3(newick_str):\n",
    "    \"\"\"Converts a Newick string into a list of (token_type, value) tuples.\"\"\"\n",
    "    #print(\"\\ntokenize_newick\")\n",
    "    tokens = []\n",
    "    tok_regex = '|'.join(f'(?P<{name}>{pattern})' for name, pattern in TOKEN_SPECIFICATION_NEWICK)\n",
    "    tokens = []\n",
    "    for mo in re.finditer(tok_regex, newick_str):\n",
    "        kind = mo.lastgroup\n",
    "        value = mo.group()\n",
    "        if kind == 'SKIP':\n",
    "            continue\n",
    "        elif kind == 'MISMATCH':\n",
    "            raise SyntaxError(f\"Newick Grammar Violation: Illegal character '{value}' in '{newick_str}'\")\n",
    "        tokens.append((kind, value))\n",
    "    return tokens\n",
    "\n",
    "# --- VALIDATOR FOR INFO SUBSTRINGS THAT MUST FIT INTO THE PATTERN ---\n",
    "# --- info = NodeB_3_x_2[a=2,b=2,r=3]\n",
    "def examine_subsequence3(tokens, j):\n",
    "    #print(\"\\nexamine_subsequence\")\n",
    "    # Every info must begin with a letter, whose index is 7.\n",
    "    tracker = [\"LETTERS\"]\n",
    "    tracker2 = \"7\"\n",
    "    if tokens[j + 1][0] == 'LBRACKET':\n",
    "        tracker.append('LBRACKET')\n",
    "        tracker2 += \"3\"\n",
    "    if tokens[j + 2][0] == 'LETTERS':\n",
    "        tracker.append('LETTERS')\n",
    "        tracker2 += \"7\"\n",
    "    if tokens[j + 3][0] == 'EQUALS':\n",
    "        tracker.append('EQUALS')\n",
    "        tracker2 += \"5\"\n",
    "    if tokens[j + 4][0] == 'NUMBER':\n",
    "        tracker.append('NUMBER')\n",
    "        tracker2 += \"6\"\n",
    "    if tokens[j + 5][0] == 'COMMA':\n",
    "        tracker.append('COMMA')\n",
    "        tracker2 += \"2\"\n",
    "    if tokens[j + 6][0] == 'LETTERS':\n",
    "        tracker.append('LETTERS')\n",
    "        tracker2 += \"7\"\n",
    "    if tokens[j + 7][0] == 'EQUALS':\n",
    "        tracker.append('EQUALS')\n",
    "        tracker2 += \"5\"\n",
    "    if tokens[j + 8][0] == 'NUMBER':\n",
    "        tracker.append('NUMBER')\n",
    "        tracker2 += \"6\"\n",
    "    if tokens[j + 9][0] == 'COMMA':\n",
    "        tracker.append('COMMA')\n",
    "        tracker2 += \"2\"\n",
    "    if tokens[j + 10][0] == 'LETTERS':\n",
    "        tracker.append('LETTERS')\n",
    "        tracker2 += \"7\"\n",
    "    if tokens[j + 11][0] == 'EQUALS':\n",
    "        tracker.append('EQUALS')\n",
    "        tracker2 += \"5\"\n",
    "    if tokens[j + 12][0] == 'NUMBER':\n",
    "        tracker.append('NUMBER')\n",
    "        tracker2 += \"6\"\n",
    "    if tokens[j + 13][0] == 'RBRACKET':\n",
    "        tracker.append('RBRACKET')\n",
    "        tracker2 += \"4\"\n",
    "    #print(f\"tracker: {tracker}\")\n",
    "    #print(f\"Encoding of info: {tracker2}\")\n",
    "    if tracker2 == \"73756275627564\":\n",
    "        #print(\"Pattern         : 73756275627564\")\n",
    "        return True, \"Valid Newick sub-string.\"\n",
    "    else:\n",
    "        return False, \"Invalid Newick sub-string.\"\n",
    "\n",
    "\n",
    "def replace_at_position3(original_str, replacement, position, length_to_replace):\n",
    "    \"\"\"\n",
    "    Replaces a subsequence at a given position.\n",
    "    :param original_str: The main text string\n",
    "    :param replacement: The new text you want to insert\n",
    "    :param position: The starting index of the old subsequence\n",
    "    :param length_to_replace: The length of the old subsequence being removed\n",
    "    \"\"\"\n",
    "    before = original_str[:position]\n",
    "    after = original_str[position + length_to_replace:]\n",
    "    return before + replacement + after\n",
    "\n",
    "\n",
    "def simplify3(text):\n",
    "    # Assuming that all infos of a string have been declared correct,\n",
    "    # the string is further tested for the balance of parentheses.\n",
    "    #print(\"\\nsimplify(text)\")\n",
    "    #print(f\"text: {text}\")\n",
    "    # Detect a pattern on the model  info = NodeB_3_x_2[a=2,b=2,r=3]\n",
    "    #info_words = r'[\\a-zA-Z_0-9_[_=_,\\] ]+'\n",
    "    #info_words = r'[a-zA-Z_][a-zA-Z_0-9_]*\\[x=-?[0-9]+(?:\\.[0-9]+)?,y=-?[0-9]+(?:\\.[0-9]+)?,r=-?[0-9]+(?:\\.[0-9]+)?\\]$'\n",
    "    info_words = r'[a-zA-Z_0-9_]*\\[a=-?[0-9]+(?:\\.[0-9]+)?,b=-?[0-9]+(?:\\.[0-9]+)?,r=-?[0-9]+(?:\\.[0-9]+)?\\]'\n",
    "    starts = []\n",
    "    groups = []\n",
    "    for match in re.finditer(info_words, text):\n",
    "        #print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "        #print(f\"    starts at index: {match.start()}\")\n",
    "        starts.append(match.start())\n",
    "        groups.append(match.group())\n",
    "    number_of_infos = len(starts)\n",
    "    #print(f\"number_of_infos = {number_of_infos}\")\n",
    "    #print(f\"starts of infos: {starts}\")\n",
    "    #print(f\"groups or infos: {groups}\")\n",
    "    new_s = text\n",
    "    # All infos are replaced by the dumb variable n\n",
    "    for j in range(number_of_infos - 1, -1, -1):\n",
    "        #print(f\"start_of_info[{j}]:  {starts[j]},  len(groups[{j}]): {len(groups[j])}\")\n",
    "        new_s = replace_at_position3(new_s, \"n\", starts[j], len(groups[j]))\n",
    "        #print(f\"new string = '{new_s}'\")\n",
    "    # Balance of parentheses is inquired.\n",
    "    new_s = new_s.replace(\"n,\", \"\")\n",
    "    new_s = new_s.replace(\"n\", \"\")\n",
    "    #print(f\"Simplified string = {new_s} \")\n",
    "    l = len(new_s)\n",
    "    #print(f\"Length of Simplified string = {l}\")\n",
    "    for i in range(l):\n",
    "      new_s = new_s.replace(\"()\", \"\")\n",
    "    final_length = len(new_s)\n",
    "    #print(f\"Final string = {new_s}, final_length = {final_length}\")\n",
    "    if final_length == 0:\n",
    "        #print(\"Valid string at simplify\")\n",
    "        return True,  \"Valid Newick string.\"\n",
    "    else:\n",
    "        #print(\"Invalid string at simplify\")\n",
    "        return False, \"Invalid Newick string.\"\n",
    "\n",
    "\n",
    "def validate_newick_syntax3(newick_str):\n",
    "    \"\"\"\n",
    "    Validates if a Newick string is syntactically correct.\n",
    "    This function checks for balanced parentheses, proper comma usage for children,\n",
    "    and correct metadata format, without building a tree object.\n",
    "    \"\"\"\n",
    "    print(\"Validating Newick syntax\")\n",
    "    try:\n",
    "        tokens = tokenize_newick3(newick_str)\n",
    "        #print(f\"newick_str: {newick_str}\")\n",
    "        #print(f\"Tokens: {tokens}\")\n",
    "    except SyntaxError as e:\n",
    "        return False, str(e)\n",
    "    if not tokens:\n",
    "        return False, \"Empty Newick string.\"\n",
    "    # Stack to track parentheses and tree structure\n",
    "    paren_stack = [] # Stores 'LPAREN'\n",
    "    bracket_stack = [] # Stores 'LBRACKET'\n",
    "    node_count_in_group = 0 # Counts nodes/subtrees within a (...,...,...) group\n",
    "    expect_node_label_or_lparen = True\n",
    "    expect_metadata_key = False\n",
    "    expect_equals_after_key = False\n",
    "    expect_value_after_equals = False\n",
    "    expect_comma_or_rbracket_after_value = False\n",
    "    is_valid2 = False\n",
    "    l = len(tokens)\n",
    "    j = 0\n",
    "    indexes_of_tokens = []\n",
    "    if l == 1:\n",
    "        kind, value = tokens[j]\n",
    "        if kind == 'LETTERS': # NodeA\n",
    "            return True, \"Valid Newick string.\"\n",
    "        else:\n",
    "            return False, \"Invalid Newick string.\"\n",
    "    elif l == 2:\n",
    "        kind, value = tokens[j]\n",
    "        if kind == 'LETTERS' and tokens[1][0] == 'SEMICOLON': #NodeC;\n",
    "            return True, \"Valid Newick string.\"\n",
    "        else:\n",
    "            return False, \"Invalid Newick string.\"\n",
    "    elif 3 < l < 14: # No redundancy is assumed\n",
    "        return False, \"Invalid Newick string.\"\n",
    "    elif l >= 14:\n",
    "        #print(f\"Length of string: {l}\")\n",
    "        for j in range(l-12):\n",
    "            # print(f\"{j} tokens[j]: {tokens[j]}\")\n",
    "            if tokens[j][0] == 'LETTERS' and tokens[j+1][0] == 'LBRACKET':\n",
    "                #print(f\"Starting index : {j}\".format(j=j))\n",
    "                indexes_of_tokens.append(j)\n",
    "                # info that starts at j is examined for correctness\n",
    "                is_valid2, message2 = examine_subsequence3(tokens, j)\n",
    "                if is_valid2:\n",
    "                    pass\n",
    "                else:\n",
    "                    return False, \"Invalid Newick string.\"\n",
    "        #print(f\"Starting indexes of tokens: {indexes_of_tokens }\")\n",
    "    is_valid3, message3 = simplify3(newick_str)\n",
    "    if is_valid3:\n",
    "        return True, \"Valid Newick morpho-tree.\"\n",
    "    else:\n",
    "        return False, \"Invalid Newick morpho-tree.\"\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "#=== Main ===\n",
    "\n",
    "# Generate a sample of Newick strings that are immediately tested by a validator\n",
    "if __name__ == \"__main__\":\n",
    "    print(\"Program massive_test_of_Newick_morpho_trees.py\")\n",
    "    print(\"Generated Well-Formed Newick formulas of morpho-trees:\\n\" + \"=\"*47)\n",
    "    max_depth = 7\n",
    "    max_numb_children = 3\n",
    "    print(f\"max_depth: {max_depth}\")\n",
    "    print(f\"max_numb_children: {max_numb_children} \\n\"+ \"=\"*20)\n",
    "    for i in range(1, 100):\n",
    "        s = morpho_tree_generator3(max_depth, max_numb_children)\n",
    "        print(f\"Morpho-tree {i}: {s}\")\n",
    "        is_valid, message = validate_newick_syntax3(s)\n",
    "        #print(f\"is valid at main : {is_valid}, message: {message}\")\n",
    "        status = \"✅ VALID\" if is_valid else \"❌ INVALID\"\n",
    "        print(f\"Morpho-tree {i}:: {status} - {message}\")\n"
   ],
   "outputs": [],
   "execution_count": null
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "qQxn9O6DfRQi"
   },
   "source": [
    "**Ejercicio.** Ejecuta el programa y expresa tu conclusión: ¿Nuestro generador produce las fórmulas de Newick correctas que representan los morfo-árboles?\n",
    ">\n",
    "> *Respuesta.* Las fórmulas generadas pasan la prueba masiva ofrecida por el validador.\n",
    "\n",
    "**Quejas.** Pueden surgir dos quejas:\n",
    "1. El validador no incluye una prueba para la regla de que, para ser un morfo-árbol, el padre y el hijo deben ser vecinos entre sí.\n",
    "2. El validador puede revertir con éxito el trabajo del generador. Sin embargo, esto no prueba que las fórmulas generadas codifiquen para un morfo-árbol.\n",
    ">\n",
    "> *Respuesta.* La primera protesta es correcta, pero no la segunda porque todo se pone a prueba a fondo. De todos modos, lo mejor que podemos hacer para ayudar en la percepción de las fórmulas es dibujarlas. Por lo tanto, el dibujo traslada la responsabilidad de la validación al observador.\n",
    "\n",
    "## Dibujando un morfo-árbol de Newick.\n",
    "\n",
    "Sucede que la tarea de dibujo es difícil. Podría facilitarse al menos un poco si incluyéramos en los genomas de cada célula su posición, además de su paso desde el padre. Debido a los errores cometidos por el desarrollador en el momento del desarrollo, necesitamos la ayuda de un validador para este nuevo patrón de genoma que se basa en la imagen de `NodeB_3_x_2[a=0,b=1,x=2,y=2,r=3]`. En esta nomenclatura, incluimos el paso dado por el hijo lejos del padre, que se denota con $(a,b)$, y la posición resultante del hijo, que se denota con $(x,y)$.\n",
    "\n",
    "**Ejercicio.** Desarrollar un validador para las fórmulas de Newick que funcionan sobre morfo-árboles cuyos genomas o grupos están construidos en la imagen de `NodeB_3_x_2[a=0,b=1,x=2,y=2,r=3]`, donde el paso dado por el hijo desde su padre está denotado por $(a,b)$ y la posición adquirida del hijo por $(x,y)$.\n",
    ">\n",
    ">*Respuesta.* El código para un validador de cadenas Newick cuyos grupos o informaciones de cada nodo están construidos en la imagen de `NodeB_3_x_2[a=0,b=1,x=2,y=2,r=3.1]` está incluido en el programa que es la respuesta al siguiente ejercicio. Nuestro validador acepta todas las fórmulas correctas, pero es tolerante a fallos porque también acepta algunas fórmulas incorrectas del estilo de `NodeB_3_x_2[a=0,b=1,x=2,y=2,r=3.1],,`\n",
    "\n",
    "**Ejercicio.** Desarrollar el código para el generador de fórmulas de Newick para incluir la regla de que el padre y su hijo deben ser vecinos. Prueba tu código y permite que el Observador vea el árbol. Así, el Observador es el juez final del procedimiento.\n",
    ">\n",
    "> *Respuesta.* El siguiente programa contiene:\n",
    "1. Los árboles generados observan la regla de que el hijo y el padre serán vecinos.\n",
    "2. Un validador sintáctico se utiliza principalmente para detectar errores que dan lugar a cadenas inválidas.\n",
    "3. El supuesto árbol se dibuja para dar al Observador la capacidad de probar la corrección de las fórmulas generadas. Cada hijo está unido a su padre por un trazo lineal que va de centro a centro. Así, el Beholder puede ver lo que se genera y si el dibujo corresponde a un morfo-árbol. El árbol puede tener segmentos lineales que se cruzan sin estar mal porque un vacío puede ser llenado por el hijo de un nodo más distante. Esto hace que los árboles se entrelazen. El enredo parece ser la firma universal de la Evolución. Para entender el árbol, comienza con la raíz, marcada por una cruz roja, y sigue un camino definido por los trazos que conectan centro a centro.\n",
    "3. Como antes, incluimos en el genoma de cada célula o nodo del árbol el paso que separa al hijo del padre. Se denota por $(a,b)$. Nuevo: También incluimos la posición de la esquina inferior izquierda de cada celda, denotada por $(x,y)$. Hacer un seguimiento de la posición permite dibujar el árbol más fácilmente. Sin embargo, sabemos que la posición no es compatible con la Evolución.\n",
    "4. El radio de acción de cada lámpara está representado por un círculo rojo.\n",
    "5. Una celda o cuadrado se ilumina si al menos un píxel está iluminado. Las celdas iluminadas se rellenan de nuevo en un color púrpura pálido.\n",
    "6. Imaginamos que en la morfogénesis, las células no van al espacio ocupado. De lo contrario, invocaremos la apoptosis o el suicidio celular para resolver conflictos. De lo contrario, debemos llevar un registro de las celdas ocupadas y ordenar a los hijos que vayan sólo al espacio vacío. La contabilidad se realiza mediante un conjunto que contiene las coordenadas de los cuadrados ocupados.\n",
    "\n",
    "El código es el siguiente:\n"
   ]
  },
  {
   "cell_type": "code",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 1000
    },
    "executionInfo": {
     "elapsed": 722,
     "status": "ok",
     "timestamp": 1789393355379,
     "user": {
      "displayName": "jose rodriguez",
      "userId": "08454562216435392883"
     },
     "user_tz": 300
    },
    "id": "mNH4C_kkk6ZB",
    "outputId": "afbabae8-dcf7-4181-9e68-320620d05c02",
    "ExecuteTime": {
     "end_time": "2026-10-08T15:34:42.765245Z",
     "start_time": "2026-10-08T15:34:27.286439Z"
    }
   },
   "source": [
    "# Program morpho_tree_generator_and_drawer.py\n",
    "# This program generates a morpho tree and drwas it.\n",
    "# It builds morpho trees of predefined number of trees.\n",
    "\n",
    "import random\n",
    "import matplotlib.pyplot as plt\n",
    "import matplotlib.patches as patches\n",
    "import numpy as np\n",
    "import math\n",
    "import copy # For deep copying trees during reproduction and mutatio\n",
    "import re # Required for newick parsing\n",
    "#import itertools # Required for sequential replacement\n",
    "import sys # Import sys module to adjust recursion limit\n",
    "sys.setrecursionlimit(3000)\n",
    "import time\n",
    "#from datetime import datetime, timedelta\n",
    "\n",
    "# trace memory allocation \n",
    "#https://www.geeksforgeeks.org/python/monitoring-memory-usage-of-a-running-python-program/\n",
    "# this consumes too much cpu-time by a multiplicative factor, say 5 for 1000 lines.\n",
    "import tracemalloc \n",
    "\n",
    "\n",
    "#Activate  memory monitoring?\n",
    "memory_monitoring = False \n",
    "recombination_of_leaves = False\n",
    "\n",
    "# starting the memory allocation monitoring\n",
    "if memory_monitoring:\n",
    "    tracemalloc.start() \n",
    "start_time = time.time()\n",
    "\n",
    "# Parameters for the target tree generation\n",
    "target_tree_params = {\n",
    "  'max_depth': 10,\n",
    "  'max_number_children': 2,\n",
    "  'max_node_radius': 1.5,\n",
    "}\n",
    "\n",
    "# Parameters for the Genetic Algorithm\n",
    "ga_params = {\n",
    "   #'seed': 47423648, #the seed of the target tree is this plus 1.\n",
    "  'pop_size': 70,\n",
    "  'generations': 100,\n",
    "  'max_depth': target_tree_params['max_depth'],\n",
    "  'max_number_children': target_tree_params['max_number_children'],\n",
    "  'max_node_radius': 1.5,\n",
    "  'mutation_rate': 0.001, \n",
    "  'crossover_rate': 0.001  \n",
    "}\n",
    "\n",
    " \n",
    "def print_parameters4(target_tree_params, ga_params):\n",
    "    print(\"LAB: Evolución OF NEWICK MORPHO-TREES\")\n",
    "    print(\"PURPOSE: \"\n",
    "          + \"\\n A random morpho-tree T is generated.\"\n",
    "          + \"\\n Evolución tries to restore the tree T\"\n",
    "          + \"\\n beginning from a population of random trees.\")\n",
    "    print(f\"EXPERIMENT {start_time}\")\n",
    "    print(f\"RECOMBINATION OF LEAVES: {recombination_of_leaves}\")\n",
    "    #print(f\"SEED FOR THE GENETIC ALGORITHM: {ga_params['seed']}\")\n",
    "    print(f\"INITIAL TARGET TREE PARAMETERS: {target_tree_params}\")\n",
    "    print(f\"INITIAL GENETIC ALGORITHM PARAMETERS: {ga_params}\\n\")\n",
    "\n",
    "\n",
    "# GENERATION OF A MORPHO-TREE\n",
    "\n",
    "# Program morpho_tree_generator_and_drawer.py\n",
    "\n",
    "# The following program generates a Newick strings\n",
    "# that encodes for a morpho-tree  and draws it.\n",
    "# Children are located in the immediate neighborhood of the father.\n",
    "# If postions are occupied, no children.\n",
    "# Then, children are generated only when there is place for them.\n",
    "\n",
    "# ====   Grammar_generator =======\n",
    "\n",
    "# This program uses a hidden grammar to generate Newick expressions that encode for morphological trees.\n",
    "# The information of each node is generated on the image of\n",
    "#   Node25[a=18,b=18,x=19,y=0,r=14.3]\n",
    "# The rules of the grammar are:\n",
    "# 1. Initial string or seed: `s = ()n`\n",
    "# 2. Generate a random digit: x\n",
    "# 3. Replace in `s`, `()` by x copies of `(()n ` separated by a comma.\n",
    "# 4. Iterate.\n",
    "# 5. Replace each `n`by the info of a node whose values are generated at random but the index of the tag is a counter with the iterative process.\n",
    "# 6. Delete the tag \"()\" that appears in the last appended children.\n",
    "# An ordered set of rules like this is a Generative Grammar.\n",
    "# The grammmar is hidden because no n is generated,\n",
    "# because beforehand it is replaced by the info of a node.\n",
    "# With the assistance of Colab and reusing a previous code by Gemini.\n",
    "\n",
    "\n",
    "\n",
    "def replace_str_subsequence4(original_str, start_idx, end_idx, new_subsequence):\n",
    "    \"\"\" Replace a subsequence from start_idx to end_idx with another string.\n",
    "        By Google\"\"\"\n",
    "    # Concatenate the pieces together\n",
    "    return original_str[:start_idx] + new_subsequence + original_str[end_idx:]\n",
    "\n",
    "def replace_strig_of_length4(original_str, replacement, position, length_to_replace):\n",
    "    \"\"\"\n",
    "    Replaces a subsequence of given length.\n",
    "    :param original_str: The main text string\n",
    "    :param replacement: The new text you want to insert\n",
    "    :param position: The starting index of the old subsequence\n",
    "    :param length_to_replace: The length of the old subsequence being removed\n",
    "    \"\"\"\n",
    "    before = original_str[:position]\n",
    "    after = original_str[position + length_to_replace:]\n",
    "    return before + replacement + after\n",
    "\n",
    "\n",
    "def detect_all_groups4(newick_string):\n",
    "    \"\"\"Al substrings that encodes for the info of a node, step from father, center and radius are detected.\"\"\"\n",
    "\n",
    "    #print(\"detect_all_groups13(newick_string)\")\n",
    "    #print(f\"Newick String: {newick_string}\")\n",
    "    # Detect a pattern on the model  info = NodeB_3_x_2[a=0,b=1,x=2,y=2,r=3]\n",
    "    #info_words = r'[\\a-zA-Z_0-9_[_=_,\\] ]+'\n",
    "    #info_words = r'[a-zA-Z_][a-zA-Z_0-9_]*\\[x=-?[0-9]+(?:\\.[0-9]+)?,y=-?[0-9]+(?:\\.[0-9]+)?,r=-?[0-9]+(?:\\.[0-9]+)?\\]$'\n",
    "                                                    #info_words = r'[a-zA-Z_0-9_]*\\[x=-?[0-9]+(?:\\.[0-9]+)?,y=-?[0-9]+(?:\\.[0-9]+)?,r=-?[0-9]+(?:\\.[0-9]+)?\\]'\n",
    "    info_words =  r'[a-zA-Z_0-9_]*\\[a=-?[0-9]+(?:\\.[0-9]+)?,b=-?[0-9]+(?:\\.[0-9]+)?,x=-?[0-9]+(?:\\.[0-9]+)?,y=-?[0-9]+(?:\\.[0-9]+)?,r=-?[0-9]+(?:\\.[0-9]+)?\\]'\n",
    "    starts = []\n",
    "    groups = []\n",
    "    for match in re.finditer(info_words, newick_string):\n",
    "        #print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "        #print(f\"    starts at index: {match.start()}\")\n",
    "        starts.append(match.start())\n",
    "        groups.append(match.group())\n",
    "    #number_of_groups = len(starts)\n",
    "    #print(f\"number_of_groups = {number_of_groups}\")\n",
    "    #print(f\"starts of gropus: {starts}\")\n",
    "    #print(f\"groups: {groups}\")\n",
    "\n",
    "\n",
    "    \"\"\"\n",
    "    # All infos are replaced by the dumb variable n\n",
    "    for j in range(number_of_infos - 1, -1, -1):\n",
    "        print(f\"start_of_info[{j}]:  {starts[j]},  len(groups[{j}]): {len(groups[j])}\")\n",
    "        new_s = replace_at_position2(new_s, \"n\", starts[j], len(groups[j]))\n",
    "        print(f\"new string = '{new_s}'\")\n",
    "        \"\"\"\n",
    "    return groups\n",
    "\n",
    "def count_groups4(newick_string):\n",
    "    \"\"\"The number of groups is counted.\"\"\"\n",
    "    groups = detect_all_groups4(newick_string)\n",
    "    number_of_groups = len(groups)\n",
    "    return number_of_groups\n",
    "\n",
    "def extract_info4(group):\n",
    "  \"\"\"The info of each group is extracted by tokenizers from the string.\"\"\"\n",
    "  patern_a = r'a=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  patern_b = r'b=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  patern_x = r'x=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  patern_y = r'y=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  patern_r = r'r=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  a = re.findall(patern_a, group)\n",
    "  b = re.findall(patern_b, group)\n",
    "  x = re.findall(patern_x, group)\n",
    "  y = re.findall(patern_y, group)\n",
    "  r = re.findall(patern_r, group)\n",
    "  a = float(a[0][2:])\n",
    "  b = float(b[0][2:])\n",
    "  x = float(x[0][2:])\n",
    "  y = float(y[0][2:])\n",
    "  r = float(r[0][2:])\n",
    "  return [a,b,x,y,r]\n",
    "\n",
    "\n",
    "def extract_all_infos4(newick_string):\n",
    "    #print(\"extract_all_infos\n",
    "    # Groups are detected. A group is the encoding of the parameters of a node in an info.\n",
    "    groups = detect_all_groups4(newick_string)\n",
    "    #print(f\"Groups: {groups}\")\n",
    "    number_of_groups = len(groups)\n",
    "    #print(f\"number_of_groups = {number_of_groups}\")\n",
    "\n",
    "    # Info is extracted from each group and\n",
    "    # all infos are kept in corresponding arrays.\n",
    "    a = []\n",
    "    b = []\n",
    "    x = []\n",
    "    y = []\n",
    "    r = []\n",
    "    #print(\"\\nInfo is extracted form each group\")\n",
    "    for i in range(number_of_groups):\n",
    "      #print(f\"group[{i}]: {groups[i]}\")\n",
    "      #print(f\"len(group[{i}]): {len(groups[i])}\")\n",
    "      [ai,bi,xi,yi,ri] = extract_info4(groups[i])\n",
    "      #print(f\"a: {ai}, b: {bi}, x: {xi}, y: {yi}, r: {ri}\")\n",
    "      a.append(ai)\n",
    "      b.append(bi)\n",
    "      x.append(xi)\n",
    "      y.append(yi)\n",
    "      r.append(ri)\n",
    "    return a,b,x,y,r\n",
    "\n",
    "\n",
    "def get_neighboring_coordinates4(cell):\n",
    "  \"\"\"Immediate neighboring coordinates of a cell are generated\"\"\"\n",
    "  neighbors = []\n",
    "  for dx in [-1, 0, 1]:\n",
    "      for dy in [-1, 0, 1]:\n",
    "          if dx == 0 and dy == 0:\n",
    "              continue  # Exclude the current square itself\n",
    "          neighbors.append((cell[0] + dx, cell[1] + dy))\n",
    "  return neighbors\n",
    "\n",
    " \n",
    "\n",
    "def find_father_center4(newick_string, j):\n",
    "  \"\"\" Finds the address of the father of a node at j\"\"\"\n",
    "  #print(\"find_father_center13(s, j)\")\n",
    "  #print(f\"s: {newick_string}\")\n",
    "  #print(f\"j: {j}\")\n",
    "\n",
    "  #Right tail is recruited\n",
    "  tail = newick_string[j+1:]\n",
    "  father_group = detect_all_groups4(tail)\n",
    "  if father_group:\n",
    "    #print(f\"Father_group 1: {father_group}\")\n",
    "    [af,bf,xf,yf,rf] = extract_info4(father_group[0])\n",
    "    #print(f\"Info: a: {af}, b: {bf}, x: {xf}, y: {yf}, r: {rf}\")\n",
    "    father_center = [xf,yf]\n",
    "    return father_center\n",
    "  else:\n",
    "   return \"\"\n",
    "\n",
    "\n",
    "\n",
    "def node_info_generator4(father_center, counter,  occupied_squares_set, max_node_radius):\n",
    "  \"\"\"For each node, info is generated on the model\n",
    "     Node_26[a=1,b=-1,x=3,y=5,r=0.85]\n",
    "     by replacing n by the info of a node whose values are generated at random\n",
    "     but the index of the tag is a counter with the iterative process.\n",
    "      \"\"\"\n",
    "  #print(\"node_info_generator13(father_center, counter,  occupied_squares_set)\")\n",
    "  coordinates_neighbors = get_neighboring_coordinates4(father_center)\n",
    "  #print(f\"coordinates_neighbors: {coordinates_neighbors}\")\n",
    "  #print(f\"occupied_squares_set: {occupied_squares_set}\")\n",
    "  # First, filter for unoccupied grid squares within this tree\n",
    "  available_square_neighbors = [coord for coord in coordinates_neighbors if coord not in occupied_squares_set]\n",
    "  info = \"\" # future info of a node that represents a cell\n",
    "  if available_square_neighbors:\n",
    "    # Choose a random valid candidate\n",
    "    nx,  ny  = random.choice(available_square_neighbors)\n",
    "    na = nx - father_center[0]\n",
    "    nb = ny - father_center[1]\n",
    "    nr = random.uniform(0.5, max_node_radius)\n",
    "    nr = round(nr, 2)\n",
    "    info = \"Node\" +  str(counter)  + \"[\" + \"a=\" + str(na) + \",\" + \"b=\" + str(nb) + \",\"  +   \"x=\" + str(nx) + \",\" + \"y=\" + str(ny) + \",\" + \"r=\" + str(nr)+ \"]\"\n",
    "    info = \"()\"+ info\n",
    "    #print(f\"Generated Node info: {info}\")\n",
    "    occupied_squares_set.add((nx, ny))\n",
    "\n",
    "  else:\n",
    "    #All neighboring places are occupied\n",
    "    #print(\"All neighboring places are occupied\")\n",
    "    info = \"\"\n",
    "  return info, occupied_squares_set\n",
    "\n",
    "\n",
    "def generate_children4(father_center, numb_children, counter, occupied_squares_set, max_node_radius):\n",
    "  \"\"\" Generate children in the pattern of a Newick Tree.\n",
    "      Output in the form\n",
    "      n,n,n,n \"\"\"\n",
    "  #print(\"generate_children(max_numb_children)\")\n",
    "  #print(f\"Number of children: {numb_children}\")\n",
    "  s = \"\"\n",
    "  for i in range(numb_children):\n",
    "    if i == 0:\n",
    "      a = \"\"\n",
    "    else:\n",
    "      a = \",\"\n",
    "    info, occupied_squares_set = node_info_generator4(father_center, counter, occupied_squares_set, max_node_radius)\n",
    "    if not info:\n",
    "      continue\n",
    "    else:\n",
    "     s = info + a + s\n",
    "     counter = counter + 1\n",
    "  s =  \"(\" + s + \")\"\n",
    "  #print(f\"Children: {s}\")\n",
    "  return s, counter, occupied_squares_set\n",
    "\n",
    "\n",
    "def complete_tree_generator4(max_depth, max_numb_children, max_node_radius):\n",
    "  \"\"\" A tree is generated step by step\n",
    "   taking care of generating no child where there is no place for it.\"\"\"\n",
    "  #print(\"complete_tree_generator13(...)\")\n",
    "  occupied_squares_set = set() # Initialize a new set for this tree's square coordinates\n",
    "  actual_depth = max_depth - random.randint(0,5) # Number of allowed divisions along each branch.\n",
    "  #print(f\"Actual depth: {actual_depth}\")\n",
    "  # () is used as a marker for insertion of children. \n",
    "  tree = \"()Node_0[a=0,b=0,x=0,y=0,r=1]\"\n",
    "  occupied_squares_set.add((0,0))\n",
    "  #counter of defined nodes\n",
    "  counter = 1\n",
    "  for i in range(actual_depth):\n",
    "      #print(f\"depth: {i}\")\n",
    "      l = len(tree)\n",
    "      #print(f\"i : {i} l: {l}\")\n",
    "      # String s is scanned starting from the end\n",
    "      for j in range(l-1, 0, -1):\n",
    "        #print(f\"s: {s}\")\n",
    "        #print(f\"s[j-1] s[j]  :  {s[j-1]}{s[j]}\")\n",
    "        # Replace () by a list of children\n",
    "        if tree[j-1] == \"(\" and tree[j] == \")\":\n",
    "          father_center = find_father_center4(tree, j)\n",
    "          #print(f\"Father center: {father_center}\")\n",
    "          if not father_center:\n",
    "            continue\n",
    "          numb_children = random.randint(0, max_numb_children)\n",
    "          if numb_children == 0:\n",
    "            continue\n",
    "          else:\n",
    "            # Replacement\n",
    "            generated_children, counter, occupied_squares_set = generate_children4(father_center, numb_children, counter, occupied_squares_set, max_node_radius)\n",
    "            tree = replace_str_subsequence4(tree, j-1, j+1, generated_children)\n",
    "          #print(f\"{i} {j} Tree: {tree}\")\n",
    "  #print(f\"crude tree: {tree}\")\n",
    "  tree = tree.replace(\"()\", \"\")\n",
    "  #print(f\"final tree: {tree}\")\n",
    "  return tree\n",
    "\n",
    "# =================================================================================\n",
    "# ==== Drawer ===\n",
    "# =================================================================================\n",
    "\n",
    "def get_neighboring_coordinates4(cell):\n",
    "  '''Immediate neighboring coordinates of a cell are generated'''\n",
    "  neighbors = []\n",
    "  for dx in [-1, 0, 1]:\n",
    "      for dy in [-1, 0, 1]:\n",
    "          if dx == 0 and dy == 0:\n",
    "              continue  # Exclude the current square itself\n",
    "          neighbors.append((cell[0] + dx, cell[1] + dy))\n",
    "  return neighbors\n",
    "\n",
    " \n",
    "\n",
    "\n",
    "def detect_all_groups4(newick_string):\n",
    "    '''Al substrings that encodes for the info of a node, step from father, center and radius are detected.'''\n",
    "\n",
    "    #print(\"detect_all_groups11b(newick_string)\")\n",
    "    #print(f\"Newick String: {newick_string}\")\n",
    "    # Detect a pattern on the model  info = NodeB_3_x_2[a=0,b=1,x=2,y=2,r=3]\n",
    "    #info_words = r'[\\a-zA-Z_0-9_[_=_,\\] ]+'\n",
    "    #info_words = r'[a-zA-Z_][a-zA-Z_0-9_]*\\[x=-?[0-9]+(?:\\.[0-9]+)?,y=-?[0-9]+(?:\\.[0-9]+)?,r=-?[0-9]+(?:\\.[0-9]+)?\\]$'\n",
    "    #info_words = r'[a-zA-Z_0-9_]*\\[x=-?[0-9]+(?:\\.[0-9]+)?,y=-?[0-9]+(?:\\.[0-9]+)?,r=-?[0-9]+(?:\\.[0-9]+)?\\]'\n",
    "    info_words =  r'[a-zA-Z_0-9_]*\\[a=-?[0-9]+(?:\\.[0-9]+)?,b=-?[0-9]+(?:\\.[0-9]+)?,x=-?[0-9]+(?:\\.[0-9]+)?,y=-?[0-9]+(?:\\.[0-9]+)?,r=-?[0-9]+(?:\\.[0-9]+)?\\]'\n",
    "    starts = []\n",
    "    groups = []\n",
    "    for match in re.finditer(info_words, newick_string):\n",
    "        #print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "        #print(f\"    starts at index: {match.start()}\")\n",
    "        starts.append(match.start())\n",
    "        groups.append(match.group())\n",
    "    #number_of_groups = len(starts)\n",
    "    #print(f\"number_of_groups = {number_of_groups}\")\n",
    "    #print(f\"starts of gropus: {starts}\")\n",
    "    #print(f\"groups: {groups}\")\n",
    "\n",
    "\n",
    "    '''\n",
    "    # All infos are replaced by the dumb variable n\n",
    "    for j in range(number_of_infos - 1, -1, -1):\n",
    "        print(f\"start_of_info[{j}]:  {starts[j]},  len(groups[{j}]): {len(groups[j])}\")\n",
    "        new_s = replace_at_position2(new_s, \"n\", starts[j], len(groups[j]))\n",
    "        print(f\"new string = '{new_s}'\")\n",
    "        '''\n",
    "    return groups\n",
    "\n",
    "def extract_info11b(group):\n",
    "  '''The info of each group is extracted by tokenizers from the string.'''\n",
    "  patern_a = r'a=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  patern_b = r'b=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  patern_x = r'x=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  patern_y = r'y=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  patern_r = r'r=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  a = re.findall(patern_a, group)\n",
    "  b = re.findall(patern_b, group)\n",
    "  x = re.findall(patern_x, group)\n",
    "  y = re.findall(patern_y, group)\n",
    "  r = re.findall(patern_r, group)\n",
    "  a = float(a[0][2:])\n",
    "  b = float(b[0][2:])\n",
    "  x = float(x[0][2:])\n",
    "  y = float(y[0][2:])\n",
    "  r = float(r[0][2:])\n",
    "  return [a,b,x,y,r]\n",
    "\n",
    "\n",
    "def extract_all_infos4(newick_string):\n",
    "    #print(\"extract_all_infos\n",
    "    # Groups are detected. A group is the encoding of the parameters of a node in an info.\n",
    "    groups = detect_all_groups4(newick_string)\n",
    "    #print(f\"Groups: {groups}\")\n",
    "    number_of_groups = len(groups)\n",
    "    #print(f\"number_of_groups = {number_of_groups}\")\n",
    "\n",
    "    # Info is extracted from each group and\n",
    "    # all infos are kept in corresponding arrays.\n",
    "    a = []\n",
    "    b = []\n",
    "    x = []\n",
    "    y = []\n",
    "    r = []\n",
    "    #print(\"\\nInfo is extracted form each group\")\n",
    "    for i in range(number_of_groups):\n",
    "      #print(f\"group[{i}]: {groups[i]}\")\n",
    "      #print(f\"len(group[{i}]): {len(groups[i])}\")\n",
    "      [ai,bi,xi,yi,ri] = extract_info4(groups[i])\n",
    "      #print(f\"a: {ai}, b: {bi}, x: {xi}, y: {yi}, r: {ri}\")\n",
    "      a.append(ai)\n",
    "      b.append(bi)\n",
    "      x.append(xi)\n",
    "      y.append(yi)\n",
    "      r.append(ri)\n",
    "    return a,b,x,y,r\n",
    "\n",
    "def find_father_center4(newick_string, j):\n",
    "  ''' Finds the address of the father of a node at j'''\n",
    "  #print(\"find_father_center11(s, j)\")\n",
    "  #print(f\"s: {newick_string}\")\n",
    "  #print(f\"j: {j}\")\n",
    "\n",
    "  #Right tail is recruited\n",
    "  tail = newick_string[j+1:]\n",
    "  father_group = detect_all_groups4(tail)\n",
    "  if father_group:\n",
    "    #print(f\"Father_group 1: {father_group}\")\n",
    "    [af,bf,xf,yf,rf] = extract_info4(father_group[0])\n",
    "    #print(f\"Info: a: {af}, b: {bf}, x: {xf}, y: {yf}, r: {rf}\")\n",
    "    father_center = [xf,yf]\n",
    "    return father_center\n",
    "  else:\n",
    "   return \"\"\n",
    "\n",
    "\n",
    "\n",
    "def get_illuminated_area4(x,y,r):\n",
    "    '''\n",
    "      The illuminated area enclosess all unitary squares that intersetcs the circles of illumination.\n",
    "      Each square is denoted by its left botton corner. These will be found in the set illuminated_coords.\n",
    "    '''\n",
    "    #print(\"get_illuminated_area11\")\n",
    "    #print(f\"x: {x}, y: {y}, r: {r}\")\n",
    "    illuminated_coords = set()\n",
    "\n",
    "\n",
    "    for xi,yi,ri in zip(x,y,r):\n",
    "        circle_center_x = xi + 0.5\n",
    "        circle_center_y = yi + 0.5\n",
    "        r_sq = ri ** 2\n",
    "        # 1. Add the cell containing the center of the circle\n",
    "        # This covers the case of small circles not intersecting grid lines.\n",
    "        illuminated_coords.add((math.floor(circle_center_x), math.floor(circle_center_y)))\n",
    "\n",
    "        # 2. Horizontal Scan: Check intersections with horizontal grid lines\n",
    "        # Iterate y_line from floor(cy - r) to ciel(cy + r)\n",
    "        # These y_line values represent the y-coordinates of horizontal grid lines.\n",
    "        for y_line in range(math.floor(circle_center_y - ri)-1,\n",
    "                            math.ceil(circle_center_y + ri) + 1):\n",
    "            dy = y_line - circle_center_y\n",
    "            discriminant = r_sq - dy * dy\n",
    "\n",
    "            if discriminant >= 0:\n",
    "                dx = math.sqrt(discriminant)\n",
    "                x_min_intersect = circle_center_x - dx\n",
    "                x_max_intersect = circle_center_x + dx\n",
    "\n",
    "                # For each integer x-coordinate that the horizontal segment crosses:\n",
    "                # Add the cells whose bottom-left corner's x-coordinate is in this range.\n",
    "                # This covers cells whose top edge is y_line AND cells whose bottom edge is y_line.\n",
    "                for ix in range(math.floor(x_min_intersect), math.floor(x_max_intersect) + 1):\n",
    "                    illuminated_coords.add((ix, y_line))\n",
    "                    illuminated_coords.add((ix, y_line - 1))\n",
    "\n",
    "        # 3. Vertical Scan: Check intersections with vertical grid lines\n",
    "        # Iterate x_line from floor(cx - r) to ciel(cx + r)\n",
    "        # These x_line values represent the x-coordinates of vertical grid lines.\n",
    "        for x_line in range(math.floor(circle_center_x - ri)-1,\n",
    "                            math.ceil(circle_center_x + ri) + 1):\n",
    "            dx = x_line - circle_center_x\n",
    "            discriminant = r_sq - dx * dx\n",
    "\n",
    "            if discriminant >= 0:\n",
    "                dy = math.sqrt(discriminant)\n",
    "                y_min_intersect = circle_center_y - dy\n",
    "                y_max_intersect = circle_center_y + dy\n",
    "\n",
    "                # For each integer y-coordinate that the vertical segment crosses:\n",
    "                # Add the cells whose bottom-left corner's y-coordinate is in this range.\n",
    "                # This covers cells whose right edge is x_line AND cells whose left edge is x_line.\n",
    "                for iy in range(math.floor(y_min_intersect), math.floor(y_max_intersect) + 1):\n",
    "                    # Cell (x_line, iy) - its left edge is at x_line\n",
    "                    illuminated_coords.add((x_line, iy))\n",
    "                    # Cell (x_line - 1, iy) - its right edge is at x_line\n",
    "                    illuminated_coords.add((x_line - 1, iy))\n",
    "    # print(f\"illuminated_coords  {illuminated_coords}\")\n",
    "\n",
    "    return illuminated_coords\n",
    "\n",
    "\n",
    "def plot_illuminated_area_newick4(ax, illuminated_coords, title, color='blue', alpha=0.1):\n",
    "    ax.set_aspect('equal', adjustable='box')\n",
    "    if not illuminated_coords:\n",
    "        ax.set_title(title)\n",
    "        ax.grid(True)\n",
    "        return\n",
    "\n",
    "    for x, y in illuminated_coords:\n",
    "        rect = patches.Rectangle((x, y), 1, 1, facecolor=color, alpha=alpha, edgecolor='black', linewidth=0.5)\n",
    "        ax.add_patch(rect)\n",
    "\n",
    "    min_x = min(c[0] for c in illuminated_coords) - 1\n",
    "    max_x = max(c[0] for c in illuminated_coords) + 2\n",
    "    min_y = min(c[1] for c in illuminated_coords) - 1\n",
    "    max_y = max(c[1] for c in illuminated_coords) + 2\n",
    "    #print(f\"min_x: {min_x}, max_x: {max_x}, min_y: {min_y}, max_y: {max_y}\")\n",
    "\n",
    "    ax.set_xlim(min_x, max_x)\n",
    "    ax.set_ylim(min_y, max_y)\n",
    "    ax.set_xticks(range(int(min_x), int(max_x)))\n",
    "    ax.set_yticks(range(int(min_y), int(max_y)))\n",
    "    ax.grid(True)\n",
    "    ax.set_title(title)\n",
    "\n",
    "\n",
    "\n",
    "def plot_tree_nodes_and_their_diffusion_circles4(x,y,r, ax, tree_color='lightblue', diff_color='red'):\n",
    "  for xi,yi,ri in zip(x,y,r):\n",
    "    # Plot the square representing the cell\n",
    "    rect = patches.Rectangle((xi, yi), 1, 1, facecolor=tree_color, edgecolor='black', linewidth=1, zorder=1)\n",
    "    ax.add_patch(rect)\n",
    "    #node_label_part = node.value.split('_')[-1] if '_' in node.value else node.value\n",
    "    #ax.text(xi + 0.5, yi + 0.5, node_label_part, ha='center', va='center', color='darkblue', fontsize=7, zorder=2)\n",
    "\n",
    "    # Plot the circle representing the radius of influence\n",
    "    circle = patches.Circle((xi + 0.5, yi + 0.5), ri, color='red', alpha=0.1, zorder=2)\n",
    "    ax.add_patch(circle)\n",
    "\n",
    "def find_leaves_newick4(newick_string):\n",
    "    '''Detect leaves in a Newick string.'''\n",
    "    #print(\"\\n\\nfind_leaves\")\n",
    "    #print(f\"Newick String: {newick_string}\")\n",
    "\n",
    "    # Detection of leaves.\n",
    "    # Dectect substrings of the form \"(...)\" but without interior parentheses.\n",
    "    pattern_leaves = r'[(][^()]*[)]'\n",
    "    # Leaves may come grouped by bouquets\n",
    "    bouquets_of_leaves = re.findall(pattern_leaves, newick_string )\n",
    "    #print(f\"Bouquets_of_leaves: {bouquets_of_leaves}\")\n",
    "    all_leaves = []\n",
    "    # Descipher each leaf and find the father\n",
    "    for bouquet_of_leaves in bouquets_of_leaves:\n",
    "        bouquet_of_leaves = bouquet_of_leaves[1:-1]\n",
    "        leaves = detect_all_groups4(bouquet_of_leaves)\n",
    "        for loaf in leaves:\n",
    "          loaf = loaf.replace(\" \", \"\")\n",
    "          all_leaves.append(loaf)\n",
    "    return all_leaves\n",
    "\n",
    "\n",
    "\n",
    "def connect_leaves_to_father4(newick_string, ax, tree_color='lightblue', diff_color='red'):\n",
    "    '''Draw lines connecting leaves to fathers'''\n",
    "\n",
    "    #print(\"\\n\\nconnect_leaves_to_father11\")\n",
    "    #print(f\"Newick String: {newick_string}\")\n",
    "\n",
    "    all_leaves = find_leaves_newick4(newick_string)\n",
    "    for leaf in all_leaves:\n",
    "        [al,bl,xl,yl,rl] = extract_info4(leaf)\n",
    "        #print(f\"Info: a: {al}, b: {bl}, x: {xl}, y: {yl}, r: {rl}\")\n",
    "\n",
    "        # Task: Find the father of the leaf.\n",
    "        # It is the node after the last leaf\n",
    "        # Example:\n",
    "        # (Node9[x=-11,y=19.7,r=12.4567],Node8[x=0,y=7,r=4],Node7[x=6,y=16,r=9])Node6[x=17,y=9,r=20]\n",
    "        # The father of Node9, Node8, and Node7 is Node 6.\n",
    "        # The father of a node is found after the first unbalanced right parenthesis.\n",
    "        index_nex_right_par = newick_string.find(\")\", newick_string.find(leaf))\n",
    "        father_with_tail = newick_string[index_nex_right_par+1:]\n",
    "        father_group = detect_all_groups4(father_with_tail)\n",
    "        if father_group:\n",
    "          [af,bf,xf,yf,rf]  = extract_info4(father_group[0])\n",
    "          #father_center = (xf,yf)\n",
    "          ax.plot([xl + 0.5, xf + 0.5], [yl + 0.5, yf + 0.5], 'k--', linewidth=0.8, zorder = 3)\n",
    "    # Leaves are erased: each leave is replaced by \"\"\n",
    "    for leaf in all_leaves:\n",
    "          #print(f\"leaf to be erased: {leaf}\")\n",
    "          newick_string = newick_string.replace(leaf + \",\", \"\")\n",
    "          newick_string = newick_string.replace(leaf, \"\")\n",
    "          #print(f\"Newick String without leaves: {newick_string}\")\n",
    "    newick_string = newick_string.replace(\"()\", \"\")\n",
    "    groups = detect_all_groups4(newick_string)\n",
    "    number_of_groups = len(groups)\n",
    "    #print(f\"number_of_groups = {number_of_groups}\")    \n",
    "     \n",
    "    return newick_string, number_of_groups\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "def draw_tree_links4(newick_string, ax,   diff_color='red' ):\n",
    "    '''Draw lines connecting children to father.\n",
    "       1. Each leaf is connected to its father,\n",
    "          and the corresponding stroke is plotted.\n",
    "       2. Leaves are erased.\n",
    "       3. New leaves are detected and connected to their father.\n",
    "       4, And so on.\n",
    "       '''\n",
    "\n",
    "    #print(\"draw_tree_links11\")\n",
    "    #print(f\"Newick String: {newick_string}\")\n",
    "    length_string = len(newick_string)\n",
    "    #print(f\"length_string: {length_string}\")\n",
    "    groups = detect_all_groups4(newick_string)\n",
    "    #print(f\"Groups: {groups}\")\n",
    "    number_of_groups = len(groups)\n",
    "    # Leaves are recursively found and connected to their father.\n",
    "    counter_of_trials = 0\n",
    "    while number_of_groups > 1:\n",
    "        #print(\"\\n\\ndraw_tree_links11\")\n",
    "        #print(f\"Newick String: {newick_string}\")\n",
    "\n",
    "        newick_string, number_of_groups = connect_leaves_to_father4(newick_string, ax, tree_color='lightblue', diff_color='red')\n",
    "        counter_of_trials = counter_of_trials + 1\n",
    "        if counter_of_trials > length_string:\n",
    "          break\n",
    "    # The root is detected and marked with a cross\n",
    "    groups = detect_all_groups4(newick_string)\n",
    "    #print(f\"Groups: {groups}\")\n",
    "    number_of_groups = len(groups)\n",
    "    #print(f\"number_of_groups = {number_of_groups}\")\n",
    "    # Mark the root with a red cross\n",
    "    if number_of_groups >= 1:\n",
    "      [a0,b0,x0,y0,r0] = extract_info4(groups[-1])\n",
    "      #print(f\"Origin: a: {a0}, b: {b0}, x: {x0}, y: {y0}, r: {r0}\")\n",
    "      ax.plot([x0, x0 +1 ], [y0+ 0.5, y0+ 0.5],   color = 'red', linewidth=0.8, zorder = 3)\n",
    "      ax.plot([x0 + 0.5, x0 +0.5], [y0, y0+ 1],   color = 'red', linewidth=0.8, zorder = 3)\n",
    "    return newick_string, number_of_groups\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "def draw_tree_newick4(newick_string, title):\n",
    "    #print(\"\\n=========== DRAWING=======\\n\")\n",
    "    #print(\"=========== DRAWING=======\\n\")\n",
    "    #print(\"=========== DRAWING=======\\n\")\n",
    "    a,b,x,y,r = extract_all_infos4(newick_string)\n",
    "    fig, ax = plt.subplots(figsize=(7, 4))\n",
    "    ax.set_aspect('equal')\n",
    "    plot_tree_nodes_and_their_diffusion_circles4(x,y,r, ax, tree_color='lightgreen', diff_color='red')\n",
    "     \n",
    "    # Illuminated area is calculated\n",
    "    illuminated_coords = get_illuminated_area4(x,y,r)\n",
    "    #print(f\"Illuminated cells: {illuminated_coords}\")\n",
    "    #print(f\"Number of illuminated cells: {len(illuminated_coords)}\")\n",
    "    # Tree is drawn\n",
    "    #title = \"morpho-tree: lightgreen, illuminated circles: red, illuminated Area: lightblue\"\n",
    "    plot_illuminated_area_newick4(ax, illuminated_coords, title, color='blue', alpha=0.1)\n",
    "    # Lines that define the tree are added\n",
    "    draw_tree_links4(newick_string, ax, diff_color='red'  )\n",
    "\n",
    "    plt.tight_layout()\n",
    "    plt.show()\n",
    "    return illuminated_coords\n",
    "\n",
    "if __name__ == \"__main__\":\n",
    "    # Example Newick string\n",
    "    # newick_string = \"((((((()Node63[a=1.0,b=-1.0,x=5.0,y=-3.0,r=1.26])Node52[a=1.0,b=-1.0,x=4.0,y=-2.0,r=0.7])Node21[a=1.0,b=1.0,x=3.0,y=-1.0,r=1.9613197090647045],((()Node219[a=0.0,b=1.0,x=-2.0,y=3.0,r=1.06])((((Node46[a=-1.0,b=-1.0,x=-2.0,y=2.0,r=0.71])Node125[a=0.0,b=1.0,x=-1.0,y=3.0,r=1.37])Node103[a=-1.0,b=1.0,x=-1.0,y=2.0,r=1.36],(((Node198[a=-1.0,b=1.0,x=-4.0,y=1.0,r=0.75])Node45[a=-1.0,b=0.0,x=-3.0,y=0.0,r=0.58])Node124[a=-1.0,b=-1.0,x=-2.0,y=0.0,r=1.6749306080259698],((((()Node913[a=-1.0,b=0.0,x=-4.0,y=3.0,r=0.59]))Node698[a=0.0,b=1.0,x=-3.0,y=3.0,r=0.84])()Node600[a=-1.0,b=1.0,x=-3.0,y=2.0,r=1.25])()Node123[a=0.0,b=-1.0,x=-1.0,y=0.0,r=1.33])Node102[a=-1.0,b=0.0,x=-1.0,y=1.0,r=1.33])Node51[a=-1.0,b=1.0,x=0.0,y=1.0,r=0.54],(((()Node122[a=-1.0,b=0.0,x=0.0,y=3.0,r=1.17])Node81[a=-1.0,b=1.0,x=1.0,y=3.0,r=0.85])Node62[a=0.0,b=1.0,x=2.0,y=2.0,r=1.07],(((()Node43[a=-1.0,b=1.0,x=3.0,y=5.0,r=0.54683679559608],Node42[a=0.0,b=-1.0,x=4.0,y=3.0,r=1.03])Node101[a=1.0,b=1.0,x=4.0,y=4.0,r=0.5748403340449614])Node80[a=0.0,b=1.0,x=3.0,y=3.0,r=1.22],()Node79[a=1.0,b=0.0,x=4.0,y=2.0,r=1.36])Node61[a=1.0,b=1.0,x=3.0,y=2.0,r=0.5295884877970901])Node50[a=1.0,b=1.0,x=2.0,y=1.0,r=1.21])Node29[a=0.0,b=1.0,x=1.0,y=0.0,r=1.43])Node20[a=-1.0,b=1.0,x=1.0,y=-1.0,r=1.1])Node8[a=1.0,b=0.0,x=2.0,y=-2.0,r=0.64])Node3[a=1.0,b=-1.0,x=1.0,y=-2.0,r=1.37],((((((()Node100[a=0.0,b=1.0,x=-2.0,y=-2.0,r=1.05],((Node40[a=0.0,b=1.0,x=-4.0,y=-1.0,r=0.733489119496699],(Node193[a=-1.0,b=1.0,x=-6.0,y=0.0,r=0.5820889162363478])Node149[a=-1.0,b=1.0,x=-5.0,y=-1.0,r=0.81])Node120[a=-1.0,b=0.0,x=-4.0,y=-2.0,r=1.36],()Node119[a=0.0,b=1.0,x=-3.0,y=-1.0,r=1.16])Node99[a=-1.0,b=1.0,x=-3.0,y=-2.0,r=1.47])Node49[a=-1.0,b=1.0,x=-2.0,y=-3.0,r=1.26],()((()Node118[a=0.0,b=-1.0,x=-3.0,y=-4.0,r=1.0],((()Node367[a=-1.0,b=-1.0,x=-7.0,y=-3.0,r=1.8764650499221425])()Node147[a=-1.0,b=0.0,x=-5.0,y=-3.0,r=0.82],Node146[a=-1.0,b=1.0,x=-5.0,y=-2.0,r=1.13])Node117[a=-1.0,b=0.0,x=-4.0,y=-3.0,r=1.13])Node78[a=-1.0,b=1.0,x=-3.0,y=-3.0,r=1.0329473493338008])Node48[a=-1.0,b=0.0,x=-2.0,y=-4.0,r=0.76])Node28[a=-1.0,b=0.0,x=-1.0,y=-4.0,r=1.46])Node14[a=1.0,b=-1.0,x=0.0,y=-4.0,r=1.06])Node7[a=0.0,b=-1.0,x=-1.0,y=-3.0,r=0.89])Node5[a=0.0,b=-1.0,x=-1.0,y=-2.0,r=0.71],(((((((()Node47[a=-1.0,b=1.0,x=4.0,y=-4.0,r=0.6058398421466735],((()Node441[a=0.0,b=-1.0,x=8.0,y=0.0,r=1.2970045651723827])((((()Node145[a=1.0,b=1.0,x=8.0,y=1.0,r=0.52],()Node144[a=0.0,b=1.0,x=7.0,y=1.0,r=0.96])Node116[a=1.0,b=1.0,x=7.0,y=0.0,r=1.23571244728331],()Node14[a=1.0,b=0.0,x=7.0,y=-1.0,r=0.95])Node98[a=1.0,b=1.0,x=6.0,y=-1.0,r=1.37],(()Node114[a=1.0,b=0.0,x=7.0,y=-2.0,r=0.62])Node97[a=1.0,b=0.0,x=6.0,y=-2.0,r=1.04])Node77[a=1.0,b=1.0,x=5.0,y=-2.0,r=1.01])Node59[a=-1.0,b=1.0,x=4.0,y=-3.0,r=0.62],(((Node185[a=1.0,b=0.0,x=9.0,y=-5.0,r=1.25],()Node476[a=1.0,b=-1.0,x=9.0,y=-6.0,r=0.87])Node142[a=1.0,b=-1.0,x=8.0,y=-5.0,r=1.7146586553405185])Node96[a=1.0,b=1.0,x=7.0,y=-4.0,r=1.49],((Node183[a=1.0,b=-1.0,x=8.0,y=-6.0,r=0.54])Node141[a=1.0,b=-1.0,x=7.0,y=-5.0,r=0.518535704237459],(()Node303[a=1.0,b=-1.0,x=9.0,y=-4.0,r=0.69])(Node181[a=1.0,b=0.0,x=8.0,y=-3.0,r=1.16])Node140[a=1.0,b=1.0,x=7.0,y=-3.0,r=1.44])Node95[a=0.0,b=1.0,x=6.0,y=-4.0,r=1.1])Node58[a=1.0,b=-1.0,x=6.0,y=-5.0,r=0.72])Node46[a=0.0,b=1.0,x=5.0,y=-4.0,r=0.79])Node36[a=1.0,b=0.0,x=5.0,y=-5.0,r=1.02])Node27[a=1.0,b=-1.0,x=4.0,y=-5.0,r=0.71])Node19[a=1.0,b=0.0,x=3.0,y=-4.0,r=0.83],(Node57[a=0.0,b=-1.0,x=3.0,y=-6.0,r=0.83])Node18[a=1.0,b=-1.0,x=3.0,y=-5.0,r=1.36])Node13[a=0.0,b=-1.0,x=2.0,y=-4.0,r=1.956337326453025],((((((()Node94[a=1.0,b=1.0,x=2.0,y=3.0,r=1.5714886013535794])Node76[a=1.0,b=0.0,x=1.0,y=2.0,r=1.760704619465394])Node56[a=-1.0,b=1.0,x=0.0,y=2.0,r=1.43])Node45[a=-1.0,b=1.0,x=1.0,y=1.0,r=0.71])Node26[a=0.0,b=1.0,x=2.0,y=0.0,r=0.81],(((()Node55[a=1.0,b=0.0,x=5.0,y=-1.0,r=0.68])Node44[a=0.0,b=-1.0,x=4.0,y=-1.0,r=1.39])Node35[a=1.0,b=0.0,x=4.0,y=0.0,r=1.5450652146942652])Node25[a=1.0,b=1.0,x=3.0,y=0.0,r=0.8])Node17[a=-1.0,b=1.0,x=2.0,y=-1.0,r=0.84])Node12[a=1.0,b=1.0,x=3.0,y=-2.0,r=0.59])Node10[a=1.0,b=0.0,x=2.0,y=-3.0,r=1.31],((((((()Node74[a=0.0,b=1.0,x=-3.0,y=-5.0,r=0.97],(((()Node139[a=0.0,b=1.0,x=-5.0,y=-4.0,r=0.85])Node113[a=0.0,b=1.0,x=-5.0,y=-5.0,r=1.29],(Node138[a=-1.0,b=1.0,x=-7.0,y=-4.0,r=1.09])Node112[a=-1.0,b=1.0,x=-6.0,y=-5.0,r=0.69])Node92[a=-1.0,b=0.0,x=-5.0,y=-6.0,r=1.9891193529247717])Node73[a=-1.0,b=0.0,x=-4.0,y=-6.0,r=0.9])Node43[a=-1.0,b=-1.0,x=-3.0,y=-6.0,r=0.93])Node34[a=-1.0,b=0.0,x=-2.0,y=-5.0,r=1.7667232954270577],(()Node707[a=0.0,b=-1.0,x=-8.0,y=-11.0,r=1.2418125160543307])((((((Node176[a=-1.0,b=1.0,x=-8.0,y=-8.0,r=0.73])Node137[a=-1.0,b=-1.0,x=-7.0,y=-9.0,r=1.3],Node136[a=-1.0,b=0.0,x=-7.0,y=-8.0,r=0.59])Node111[a=-1.0,b=-1.0,x=-6.0,y=-8.0,r=0.53],(Node175[a=-1.0,b=1.0,x=-7.0,y=-6.0,r=1.8710079054235957])Node110[a=-1.0,b=0.0,x=-6.0,y=-7.0,r=0.81])Node91[a=-1.0,b=0.0,x=-5.0,y=-7.0,r=0.64])Node72[a=-1.0,b=0.0,x=-4.0,y=-7.0,r=1.35],(Node90[a=-1.0,b=0.0,x=-5.0,y=-8.0,r=1.48],(()Node109[a=-1.0,b=0.0,x=-6.0,y=-9.0,r=1.8236264836746388])Node89[a=-1.0,b=-1.0,x=-5.0,y=-9.0,r=0.94])Node71[a=-1.0,b=-1.0,x=-4.0,y=-8.0,r=0.91])Node42[a=-1.0,b=-1.0,x=-3.0,y=-7.0,r=0.58],(()Node46[a=-1.0,b=-1.0,x=-2.0,y=-7.0,r=0.93])()Node41[a=1.0,b=0.0,x=-1.0,y=-6.0,r=1.39])Node33[a=-1.0,b=-1.0,x=-2.0,y=-6.0,r=1.12])Node24[a=-1.0,b=0.0,x=-1.0,y=-5.0,r=1.47])Node16[a=-1.0,b=-1.0,x=0.0,y=-5.0,r=0.67],((Node32[a=0.0,b=-1.0,x=1.0,y=-6.0,r=1.9638918299741654],(((()Node841[a=-1.0,b=-1.0,x=-7.0,y=-11.0,r=0.58])((((()Node135[a=-1.0,b=-1.0,x=-5.0,y=-11.0,r=0.85])Node108[a=0.0,b=-1.0,x=-4.0,y=-10.0,r=1.0],(()Node630[a=-1.0,b=-1.0,x=-6.0,y=-13.0,r=0.77])(()Node134[a=-1.0,b=-1.0,x=-6.0,y=-11.0,r=1.0])Node107[a=-1.0,b=-1.0,x=-5.0,y=-10.0,r=1.14])Node88[a=-1.0,b=-1.0,x=-4.0,y=-9.0,r=0.65])Node69[a=-1.0,b=0.0,x=-3.0,y=-8.0,r=0.87],(((Node170[a=1.0,b=-1.0,x=-3.0,y=-12.0,r=1.951238469851274],(()Node686[a=-1.0,b=-1.0,x=-4.0,y=-12.0,r=1.5])Node169[a=1.0,b=0.0,x=-3.0,y=-11.0,r=0.91])Node133[a=-1.0,b=-1.0,x=-4.0,y=-11.0,r=1.33])Node87[a=-1.0,b=-1.0,x=-3.0,y=-10.0,r=1.08],Node86[a=-1.0,b=0.0,x=-3.0,y=-9.0,r=1.33])Node68[a=0.0,b=-1.0,x=-2.0,y=-9.0,r=0.99])Node54[a=-1.0,b=-1.0,x=-2.0,y=-8.0,r=0.72])Node40[a=-1.0,b=-1.0,x=-1.0,y=-7.0,r=1.45],(()Node951[a=-1.0,b=-1.0,x=0.0,y=-11.0,r=1.7392926307253513])((()Node132[a=1.0,b=-1.0,x=2.0,y=-9.0,r=1.25],()Node131[a=1.0,b=0.0,x=2.0,y=-8.0,r=1.45])Node67[a=1.0,b=-1.0,x=1.0,y=-8.0,r=1.41],((()Node193[a=-1.0,b=0.0,x=-4.0,y=-14.0,r=1.22])()Node370[a=-1.0,b=-1.0,x=-3.0,y=-14.0,r=0.94])((()Node139[a=0.0,b=-1.0,x=-2.0,y=-13.0,r=1.33])(((Node166[a=0.0,b=-1.0,x=-2.0,y=-12.0,r=0.65],((()Node192[a=-1.0,b=0.0,x=0.0,y=-14.0,r=0.88])((()Node527[a=1.0,b=-1.0,x=1.0,y=-14.0,r=0.85])((()Node591[a=1.0,b=-1.0,x=0.0,y=-13.0,r=1.04])()Node169[a=0.0,b=-1.0,x=-1.0,y=-12.0,r=1.0099492850296317]))Node421[a=1.0,b=-1.0,x=-1.0,y=-11.0,r=1.29])Node165[a=0.0,b=1.0,x=-2.0,y=-10.0,r=1.23])Node130[a=-1.0,b=-1.0,x=-2.0,y=-11.0,r=1.45])Node106[a=0.0,b=-1.0,x=-1.0,y=-10.0,r=1.2592804255064793],Node105[a=1.0,b=0.0,x=0.0,y=-9.0,r=1.23])Node85[a=0.0,b=-1.0,x=-1.0,y=-9.0,r=1.49])Node66[a=-1.0,b=-1.0,x=-1.0,y=-8.0,r=1.38])Node39[a=0.0,b=-1.0,x=0.0,y=-7.0,r=1.13])Node31[a=-1.0,b=-1.0,x=0.0,y=-6.0,r=1.07])Node23[a=-1.0,b=0.0,x=1.0,y=-5.0,r=0.73],(((()Node952[a=1.0,b=-1.0,x=2.0,y=-10.0,r=1.18])(()Node84[a=-1.0,b=-1.0,x=0.0,y=-8.0,r=0.91])Node38[a=-1.0,b=0.0,x=1.0,y=-7.0,r=1.38],(((Node129[a=-1.0,b=-1.0,x=3.0,y=-8.0,r=1.27],()Node128[a=0.0,b=-1.0,x=4.0,y=-8.0,r=1.35])Node65[a=0.0,b=-1.0,x=4.0,y=-7.0,r=0.98],((((Node162[a=1.0,b=0.0,x=8.0,y=-7.0,r=1.2685669416870335],()Node283[a=1.0,b=-1.0,x=8.0,y=-8.0,r=0.9586343616711437])Node127[a=1.0,b=-1.0,x=7.0,y=-7.0,r=0.81],(()Node189[a=0.0,b=-1.0,x=6.0,y=-12.0,r=0.94])((()Node78[a=-1.0,b=-1.0,x=6.0,y=-11.0,r=0.66])((()Node537[a=0.0,b=-1.0,x=7.0,y=-11.0,r=1.22])()Node887[a=0.0,b=-1.0,x=7.0,y=-10.0,r=0.94])()Node473[a=0.0,b=-1.0,x=7.0,y=-9.0,r=0.81])()Node126[a=0.0,b=-1.0,x=6.0,y=-7.0,r=1.19],()Node93[a=1.0,b=0.0,x=7.0,y=-6.0,r=0.74])Node104[a=1.0,b=0.0,x=6.0,y=-6.0,r=1.4108167024543916])Node83[a=0.0,b=1.0,x=5.0,y=-6.0,r=1.32],((((()Node745[a=-1.0,b=-1.0,x=3.0,y=-14.0,r=0.62]))Node919[a=-1.0,b=-1.0,x=4.0,y=-13.0,r=1.4])()Node772[a=0.0,b=-1.0,x=5.0,y=-12.0,r=1.28])(()Node798[a=1.0,b=0.0,x=5.0,y=-11.0,r=0.8])(((()Node41[a=-1.0,b=-1.0,x=4.0,y=-11.0,r=0.96]))Node4[a=0.0,b=-1.0,x=5.0,y=-10.0,r=1.03])()Node82[a=1.0,b=-1.0,x=6.0,y=-8.0,r=0.96])Node64[a=1.0,b=-1.0,x=5.0,y=-7.0,r=1.37])Node53[a=1.0,b=1.0,x=4.0,y=-6.0,r=0.5])Node37[a=1.0,b=0.0,x=3.0,y=-7.0,r=1.28])Node30[a=0.0,b=-1.0,x=2.0,y=-7.0,r=0.75])Node22[a=0.0,b=-1.0,x=2.0,y=-6.0,r=0.83])Node4[a=1.0,b=-1.0,x=2.0,y=-5.0,r=1.41])Node11[a=1.0,b=-1.0,x=1.0,y=-4.0,r=0.68])Node9[a=-1.0,b=0.0,x=0.0,y=-3.0,r=1.224188604200087])Node6[a=1.0,b=-1.0,x=1.0,y=-3.0,r=0.95])Node4[a=1.0,b=-1.0,x=0.0,y=-2.0,r=0.82])Node2[a=-1.0,b=0.0,x=-1.0,y=-1.0,r=0.53])Node1[a=0.0,b=-1.0,x=0.0,y=-1.0,r=0.62])Node_0[a=0,b=0,x=0,y=0,r=1]\"\n",
    "    # Draw the tree and get the illuminated coordinates\n",
    "    newick_string = complete_tree_generator4(max_depth = 40, max_numb_children = 2, max_node_radius = 1.2)\n",
    "    number_of_groups = count_groups4(newick_string)\n",
    "    illuminated_coords = draw_tree_newick4(newick_string, title=f\"Morpho-tree with {number_of_groups} nodes\")\n",
    "    print(f\"Illuminated coordinates: {illuminated_coords}\")"
   ],
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<Figure size 700x400 with 1 Axes>"
      ],
      "image/png": "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"
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Illuminated coordinates: {(-14, -15), (18, 17), (19, -18), (-16, 24), (-24, 20), (8, 9), (0, 5), (19, 18), (20, -17), (-8, 1), (11, 14), (12, -21), (4, -25), (-23, 21), (23, -12), (-11, -5), (-20, 26), (-19, -9), (16, -15), (3, 15), (-18, -8), (-5, 11), (14, 24), (15, -11), (-26, -12), (-15, -3), (26, -1), (26, -2), (18, -6), (-3, -29), (-16, 1), (-4, 12), (15, 25), (-12, 8), (7, 21), (8, -14), (0, -18), (19, -5), (-8, -22), (11, -9), (-23, -1), (-23, -2), (-31, -6), (-20, 3), (-8, 14), (12, -8), (25, 11), (4, -12), (-9, 18), (-30, -5), (2, 27), (-19, 4), (22, 5), (-27, 0), (14, 1), (-7, -22), (3, 28), (-5, 24), (-4, -11), (15, 2), (-12, -15), (7, -2), (7, -1), (26, 11), (18, 7), (-16, 14), (-24, 10), (-12, 21), (21, 18), (0, -5), (-13, 25), (-8, -9), (11, 4), (-23, 11), (-10, 30), (-31, 7), (10, 8), (-11, -15), (-20, 16), (-19, -19), (-17, 27), (3, 5), (-5, 1), (14, 14), (15, -21), (7, -25), (18, -16), (-16, -9), (-24, -13), (-4, 2), (-12, -2), (-12, -1), (7, 11), (8, -24), (0, -28), (19, -15), (11, -19), (6, 15), (-24, 23), (-23, -12), (-20, -7), (25, 1), (-9, 8), (10, 21), (-17, 4), (2, 17), (3, -18), (22, -5), (-27, -10), (14, -9), (-28, -6), (3, 18), (-5, 14), (-4, -21), (15, -8), (-12, -25), (7, -12), (26, 1), (18, -3), (5, 27), (-16, 4), (-24, 0), (21, 8), (-8, -19), (-13, 15), (6, 28), (-21, 11), (-2, 24), (-1, 24), (-10, 20), (-31, -3), (10, -2), (10, -1), (2, -6), (-32, 1), (-9, 21), (-17, 17), (3, -5), (22, 8), (-5, -9), (14, 4), (-28, 7), (-16, -19), (17, 15), (9, 11), (-12, -12), (-25, 18), (-14, 27), (6, 5), (-22, 23), (-1, 1), (-2, 1), (-20, -17), (-13, 28), (-21, 24), (-9, -2), (-9, -1), (10, 11), (-17, -6), (2, 7), (22, -15), (14, -19), (13, 22), (7, -22), (-6, 8), (5, 17), (6, -18), (-3, 13), (-24, -10), (9, 24), (21, -1), (21, -2), (-13, 5), (6, 18), (-21, 1), (-2, 14), (-1, 14), (-29, -3), (-10, 10), (-9, -25), (10, -12), (2, -16), (-17, 7), (24, 8), (3, -15), (-5, -19), (1, 24), (-7, 20), (-28, -3), (17, 5), (9, 1), (-25, 8), (-6, 21), (-33, 4), (-14, 17), (-13, -18), (6, -5), (-22, 13), (-3, 26), (-1, -9), (-2, -9), (-10, -13), (-13, 18), (-21, 14), (20, 15), (-29, 10), (-10, 23), (-9, -12), (-17, -16), (2, -3), (-11, 27), (-32, 4), (13, 12), (16, 17), (17, -18), (9, -22), (-18, 24), (-26, 20), (-6, -2), (-6, -1), (-14, -6), (5, 7), (-22, -10), (-3, 3), (9, 14), (-25, 21), (21, -12), (-13, -5), (-22, 26), (-21, -9), (-2, 4), (-1, 4), (-10, 0), (10, -22), (2, -26), (12, 24), (13, -11), (4, 20), (24, -1), (24, -2), (16, -6), (-5, -29), (-18, 1), (1, 14), (-7, 10), (-6, -25), (-15, 6), (5, -16), (-3, -20), (17, -5), (9, -9), (-25, -1), (-25, -2), (-6, 11), (-14, 7), (-22, 3), (6, -15), (-3, 16), (-2, -19), (-1, -19), (-10, -23), (0, 27), (20, 5), (-8, 23), (-29, 0), (12, 1), (-9, -22), (4, -3), (23, 10), (-11, 17), (-19, 13), (1, -9), (-7, -13), (13, 2), (24, 11), (16, 7), (-18, 14), (-26, 10), (-7, 23), (-6, -12), (-15, 19), (-14, -16), (5, -3), (-3, -7), (8, 8), (-13, -15), (0, 4), (19, 17), (20, -18), (11, 13), (-10, -10), (-23, 20), (23, -13), (-11, -6), (-20, 25), (20, 18), (12, 14), (13, -21), (4, 10), (16, -16), (-11, 30), (-19, 26), (-18, -9), (1, 4), (-7, 0), (-15, -4), (5, -26), (-3, -30), (17, -15), (9, -19), (-4, 11), (15, 24), (-25, -12), (7, 20), (-14, -3), (27, -1), (27, -2), (6, -25), (19, -6), (-22, -7), (-2, -29), (-1, -29), (8, 21), (0, 17), (20, -5), (-8, 13), (12, -9), (4, -13), (23, 0), (-30, -6), (-11, 7), (-19, 3), (1, -19), (-7, -23), (13, -8), (16, -3), (3, 27), (-18, 4), (-26, 0), (15, 1), (-6, -22), (-15, 9), (26, 10), (5, -13), (18, 6), (-3, -17), (-16, 13), (-4, 24), (-12, 20), (8, -2), (8, -1), (27, 11), (0, -6), (19, 7), (-8, -10), (11, 3), (-23, 10), (-31, 6), (-11, -16), (-20, 15), (-19, -20), (-8, 26), (12, 4), (4, 0), (-30, 7), (-19, 16), (22, 17), (-18, -19), (1, -6), (14, 13), (-27, 12), (-7, -10), (-15, -14), (-4, 1), (15, 14), (-12, -3), (7, 10), (8, -25), (18, 19), (19, -16), (11, -20), (-16, 26), (-24, 22), (-23, -13), (8, 11), (-20, -8), (0, 7), (20, -15), (-8, 3), (11, 16), (12, -19), (4, -23), (-23, 23), (23, -10), (10, 20), (-11, -3), (-19, -7), (-27, -11), (3, 17), (-5, 13), (-26, -10), (15, -9), (7, -13), (26, 0), (18, -4), (-3, -27), (-16, 3), (-4, 14), (-12, 10), (7, 23), (8, -12), (27, 1), (0, -16), (19, -3), (-8, -20), (11, -7), (6, 27), (-23, 0), (-31, -4), (-11, -26), (-20, 5), (25, 13), (4, -10), (-9, 20), (-30, -3), (-17, 16), (2, 29), (3, -6), (22, 7), (-27, 2), (14, 3), (-7, -20), (-28, 6), (-5, 26), (-4, -9), (15, 4), (-12, -13), (7, 0), (18, 9), (-16, 16), (-24, 12), (-20, -18), (0, -3), (-13, 27), (-8, -7), (-21, 23), (-31, 9), (10, 10), (-11, -13), (2, 6), (-19, -17), (22, -16), (3, 7), (-5, 3), (14, 16), (15, -19), (7, -23), (18, -14), (-16, -7), (-24, -11), (-4, 4), (9, 23), (-12, 0), (8, -22), (0, -26), (11, -17), (6, 17), (-1, 13), (-2, 13), (-23, -10), (-20, -5), (25, 3), (-9, 10), (10, 23), (-17, 6), (2, 19), (3, -16), (22, -3), (-5, -20), (14, -7), (-28, -4), (-5, 16), (-4, -19), (15, -6), (-12, -23), (7, -10), (-6, 20), (5, 29), (-16, 6), (-3, 25), (-24, 2), (21, 10), (-13, 17), (-21, 13), (-1, 26), (-2, 26), (-29, 9), (-10, 22), (-9, -13), (10, 0), (2, -4), (-32, 3), (-9, 23), (-17, 19), (3, -3), (-5, -7), (14, 6), (-28, 9), (-16, -17), (17, 17), (9, 13), (-25, 20), (21, -13), (-13, -6), (-22, 25), (6, 7), (-1, 3), (-2, 3), (10, -23), (-21, 26), (25, -7), (-9, 0), (10, 13), (-17, -4), (2, 9), (3, -26), (22, -13), (14, -17), (13, 24), (17, -6), (-4, -29), (-6, 10), (-14, 6), (5, 19), (6, -16), (-3, 15), (9, 26), (21, 0), (-13, 7), (6, 20), (-21, 3), (-1, 16), (-2, 16), (-10, 12), (-9, -23), (10, -10), (2, -14), (13, 1), (-17, 9), (24, 10), (16, 6), (-5, -17), (-18, 13), (1, 26), (-7, 22), (-15, 18), (5, -4), (17, 7), (9, 3), (-25, 10), (-6, 23), (-14, 19), (-13, -16), (6, -3), (-22, 15), (-3, 28), (-1, -7), (-2, -7), (-10, -11), (-21, 16), (20, 17), (-29, 12), (12, 13), (-9, -10), (-17, -14), (24, -13), (-11, 29), (-32, 6), (-19, 25), (1, 3), (13, 14), (16, 19), (17, -16), (9, -20), (-18, 26), (-26, 22), (-25, -13), (-6, 0), (-14, -4), (5, 9), (6, -26), (-22, -8), (-3, 5), (-2, -30), (9, 16), (-25, 23), (21, -10), (8, 20), (-13, -3), (-21, -7), (20, -6), (11, 25), (-29, -11), (-10, 2), (10, -20), (2, -24), (13, -9), (4, 22), (24, 0), (16, -4), (-18, 3), (1, 16), (-7, 12), (-6, -23), (-15, 8), (5, -14), (-3, -18), (17, -3), (9, -7), (-25, 0), (-14, 9), (27, 10), (6, -13), (-22, 5), (-3, 18), (-2, -17), (-1, -17), (-10, -21), (0, 29), (20, 7), (-8, 25), (12, 3), (23, 12), (-30, 6), (-11, 19), (-19, 15), (-18, -20), (1, -7), (-27, 11), (-7, -11), (13, 4), (-15, -15), (16, 9), (-18, 16), (-26, 12), (-7, 25), (-6, -10), (-15, 21), (-14, -14), (-3, -5), (8, 10), (0, 6), (19, 19), (20, -16), (11, 15), (12, -20), (-23, 22), (23, -11), (-11, -4), (-20, 27), (-19, -8), (12, 16), (13, -19), (4, 12), (24, -10), (16, -14), (-18, -7), (1, 6), (-26, -11), (-7, 2), (-15, -1), (-15, -2), (5, -24), (-3, -28), (9, -17), (-4, 13), (-25, -10), (7, 22), (8, -13), (27, 0), (-22, -5), (19, -4), (-2, -27), (-1, -27), (11, -8), (8, 23), (0, 19), (20, -3), (-8, 15), (12, -7), (4, -11), (23, 2), (-30, -4), (-11, 9), (-19, 5), (1, -17), (-27, 1), (-7, -21), (3, 29), (-5, 25), (-26, 2), (15, 3), (-6, -20), (26, 12), (18, 8), (-3, -15), (-16, 15), (-4, 26), (-12, 22), (8, 0), (0, -4), (19, 9), (-8, -8), (11, 5), (-23, 12), (-31, 8), (-11, -14), (-20, 17), (-19, -18), (4, 2), (-30, 9), (16, -24), (3, 6), (-18, -17), (-27, 14), (14, 15), (-7, -8), (-15, -12), (-4, 3), (15, 16), (7, 12), (8, -23), (0, -27), (18, 21), (19, -14), (11, -18), (-16, 28), (-24, 24), (-23, -11), (-20, -6), (0, 9), (20, -13), (-8, 5), (12, -17), (4, -21), (23, -8), (10, 22), (-19, -5), (22, -4), (-27, -9), (3, 19), (-5, 15), (-4, -20), (15, -7), (7, -11), (26, 2), (18, -2), (18, -1), (-16, 5), (-24, 1), (-4, 16), (-12, 12), (8, -10), (0, -14), (-8, -18), (11, -5), (6, 29), (-23, 2), (-31, -1), (-31, -2), (-11, -24), (-20, 7), (-9, 22), (-17, 18), (3, -4), (22, 9), (-5, -8), (14, 5), (-15, -22), (-28, 8), (-16, -18), (-5, 28), (-4, -7), (15, 6), (-12, -11), (7, 2), (18, 11), (-16, 18), (-24, 14), (-20, -16), (-13, 29), (-8, -5), (-21, 25), (25, -8), (10, 12), (2, 8), (-19, -15), (22, -14), (14, -18), (3, 9), (-5, 5), (-4, -30), (14, 18), (15, -17), (7, -21), (26, -8), (18, -12), (-16, -5), (-24, -9), (9, 25), (-12, 2), (0, -24), (-8, -28), (-13, 6), (11, -15), (6, 19), (-2, 15), (-1, 15), (-23, -8), (-10, 11), (10, -11), (-20, -3), (25, 5), (-9, 12), (10, 25), (-17, 8), (2, 21), (3, -14), (-5, -18), (14, -5), (-28, -1), (-28, -2), (17, 6), (-4, -17), (-12, -21), (7, -8), (-6, 22), (-14, 18), (6, -4), (-3, 27), (-24, 4), (21, 12), (-13, 19), (-21, 15), (-1, 28), (-2, 28), (-29, 11), (-10, 24), (-9, -11), (10, 2), (-17, -15), (2, -1), (2, -2), (-32, 5), (13, 13), (-17, 21), (16, 18), (-5, -5), (-18, 25), (-28, 11), (5, 8), (-16, -15), (17, 19), (9, 15), (-25, 22), (21, -11), (-13, -4), (-22, 27), (6, 9), (-21, -8), (-2, 5), (-1, 5), (-10, 1), (10, -21), (2, -25), (25, -5), (12, 25), (-9, 2), (-17, -1), (-17, -2), (2, 11), (3, -24), (-5, -28), (14, -15), (1, 15), (17, -4), (9, -8), (-6, 12), (-14, 8), (5, 21), (6, -14), (-22, 4), (-3, 17), (-2, -18), (-1, -18), (9, 28), (21, 2), (-13, 9), (-21, 5), (-1, 18), (-2, 18), (-29, 1), (-10, 14), (-9, -21), (10, -8), (2, -12), (-32, -5), (13, 3), (24, 12), (16, 8), (-18, 15), (1, 28), (-26, 11), (-7, 24), (-6, -11), (-15, 20), (5, -2), (5, -1), (-3, -6), (17, 9), (9, 5), (-25, 12), (-6, 25), (-14, 21), (-13, -14), (-22, 17), (-3, 30), (-1, -5), (-2, -5), (-10, -9), (20, 19), (-29, 14), (12, 15), (13, -20), (4, 11), (-17, -12), (24, -11), (-19, 27), (1, 5), (-7, 1), (13, 16), (5, -25), (16, 21), (17, -14), (9, -18), (-25, -11), (-6, 2), (-14, -2), (-14, -1), (5, 11), (6, -24), (-22, -6), (-3, 7), (-2, -28), (-1, -28), (8, 22), (0, 18), (-21, -5), (20, -4), (-29, -9), (-10, 4), (23, 1), (2, -22), (-11, 8), (1, -18), (13, -7), (4, 24), (24, 2), (16, -2), (16, -1), (-18, 5), (1, 18), (-26, 1), (-7, 14), (-6, -21), (-15, 10), (5, -12), (-3, -16), (9, -5), (-4, 25), (-25, 2), (-14, 11), (-13, -24), (-22, 7), (19, 8), (-2, -15), (-1, -15), (-10, -19), (20, 9), (-8, 27), (12, 5), (4, 1), (23, 14), (-30, 8), (-11, 21), (-19, 17), (-18, -18), (1, -5), (-27, 13), (-7, -9), (-15, -13), (17, -24), (-18, 18), (-26, 14), (15, 15), (-6, -8), (-15, 23), (-14, -12), (18, 20), (-22, -16), (-3, -3), (-16, 27), (8, 12), (0, 8), (19, 21), (20, -14), (-8, 4), (11, 17), (12, -18), (4, -22), (-23, 24), (23, -9), (-11, -2), (-11, -1), (-19, -6), (1, -28), (13, -17), (4, 14), (24, -8), (16, -12), (-18, -5), (-26, -9), (-7, 4), (-15, 0), (5, -22), (-3, -26), (-4, 15), (-12, 11), (7, 24), (8, -11), (27, 2), (0, -15), (19, -1), (19, -2), (11, -6), (-23, 1), (-11, -25), (-20, 6), (0, 21), (-8, 17), (12, -5), (4, -9), (23, 4), (-30, -1), (-30, -2), (-11, 11), (-19, 7), (1, -15), (-27, 3), (-7, -19), (-5, 27), (-4, -8), (15, 5), (7, 1), (-14, -22), (18, 10), (-16, 17), (-24, 13), (-4, 28), (-12, 24), (8, 2), (0, -1), (0, -2), (19, 11), (-8, -6), (11, 7), (-23, 14), (-31, 10), (-11, -12), (-20, 19), (-19, -16), (16, -22), (3, 8), (-18, -15), (-5, 4), (14, 17), (15, -18), (-15, -10), (18, -13), (-16, -6), (-4, 5), (15, 18), (-12, 1), (7, 14), (8, -21), (0, -25), (19, -12), (11, -16), (-23, -9), (-20, -4), (-8, 7), (12, -15), (25, 4), (4, -19), (-9, 11), (10, 24), (2, 20), (-19, -3), (22, -1), (22, -2), (1, -25), (14, -6), (-27, -7), (-7, -29), (3, 21), (-5, 17), (-4, -18), (15, -5), (-12, -22), (7, -9), (26, 4), (18, 0), (-16, 7), (-24, 3), (-12, 14), (8, -8), (21, 11), (0, -12), (-8, -16), (11, -3), (-1, 27), (-2, 27), (-23, 4), (-31, 0), (10, 1), (-11, -22), (-20, 9), (-9, 24), (-17, 20), (3, -1), (3, -2), (22, 11), (-5, -6), (14, 7), (-28, 10), (-16, -16), (17, 18), (-4, -5), (-12, -9), (7, 4), (6, 8), (-24, 16), (-20, -14), (-21, 27), (25, -6), (-9, 1), (10, 14), (-17, -3), (2, 10), (3, -25), (22, -12), (14, -16), (13, 25), (3, 11), (-5, 7), (-4, -28), (15, -15), (7, -19), (26, -6), (18, -10), (5, 20), (-16, -3), (-24, -7), (9, 27), (21, 1), (0, -22), (-8, -26), (-13, 8), (6, 21), (-21, 4), (-1, 17), (-2, 17), (-10, 13), (-31, -10), (10, -9), (2, -13), (25, 7), (-9, 14), (-17, 10), (2, 23), (3, -12), (22, 1), (-5, -16), (14, -3), (1, 27), (-28, 0), (17, 8), (-4, -15), (9, 4), (-12, -19), (-25, 11), (-6, 24), (-14, 20), (6, -2), (6, -1), (-22, 16), (-3, 29), (-1, -6), (-2, -6), (21, 14), (-13, 21), (-21, 17), (-2, 30), (-1, 30), (-29, 13), (-10, 26), (-9, -9), (10, 4), (-17, -13), (2, 0), (-32, 7), (13, 15), (16, 20), (-5, -3), (-18, 27), (-26, 23), (-6, 1), (5, 10), (-16, -13), (-3, 6), (17, 21), (9, 17), (21, -9), (-13, -2), (-13, -1), (6, 11), (-21, -6), (-2, 7), (-1, 7), (-29, -10), (-10, 3), (10, -19), (2, -23), (25, -3), (-9, 4), (4, 23), (-17, 0), (24, 1), (3, -22), (-5, -26), (14, -13), (1, 17), (-7, 13), (-28, -10), (17, -2), (17, -1), (9, -6), (-25, 1), (-6, 14), (-14, 10), (-13, -25), (5, 23), (6, -12), (-22, 6), (-3, 19), (-2, -16), (-1, -16), (-10, -20), (21, 4), (-13, 11), (-21, 7), (20, 8), (-29, 3), (-10, 16), (-9, -19), (10, -6), (23, 13), (2, -10), (-11, 20), (13, 5), (24, 14), (16, 10), (-18, 17), (-26, 13), (-7, 26), (-6, -9), (-15, 22), (-14, -13), (5, 0), (-3, -4), (17, 11), (9, 7), (-25, 14), (21, -19), (-14, 23), (-13, -12), (6, 1), (-22, 19), (19, 20), (-21, -16), (-2, -3), (-1, -3), (-10, -7), (20, 21), (12, 17), (13, -18), (4, 13), (24, -9), (16, -13), (-18, -6), (1, 7), (-7, 3), (13, 18), (5, -23), (16, 23), (17, -12), (9, -16), (-25, -9), (-6, 4), (-14, 0), (5, 13), (6, -22), (-22, -4), (-3, 9), (-2, -26), (-1, -26), (8, 24), (0, 20), (20, -1), (20, -2), (-8, 16), (12, -6), (-29, -7), (23, 3), (-11, 10), (-19, 6), (1, -16), (13, -5), (4, 26), (24, 4), (16, 0), (-18, 7), (1, 20), (-26, 3), (-7, 16), (-6, -19), (-15, 12), (-14, -23), (5, -10), (-3, -14), (-4, 27), (-25, 4), (-12, 23), (8, 1), (-13, -22), (-22, 9), (19, 10), (11, 6), (-10, -17), (-23, 13), (-20, 18), (20, 11), (-8, 29), (12, 7), (4, 3), (23, 16), (-30, 10), (16, -23), (-11, 23), (-19, 19), (-18, -16), (-27, 15), (1, -3), (-7, -7), (-15, -11), (17, -22), (-26, 16), (15, 17), (7, 13), (-14, -10), (18, 22), (19, -13), (-22, -14), (8, 14), (0, 10), (20, -12), (-8, 6), (11, 19), (12, -16), (4, -20), (23, -7), (-11, 0), (-19, -4), (1, -26), (-27, -8), (13, -15), (4, 16), (16, -10), (3, 20), (-18, -3), (-26, -7), (-6, -29), (-15, 2), (26, 3), (5, -20), (-3, -24), (-4, 17), (-12, 13), (7, 26), (8, -9), (0, -13), (19, 0), (-8, -17), (11, -4), (-23, 3), (-11, -23), (-20, 8), (0, 23), (-8, 19), (12, -3), (4, -7), (-30, 0), (-19, 9), (22, 10), (1, -13), (-27, 5), (-7, -17), (-15, -21), (-5, 29), (-4, -6), (15, 7), (-12, -10), (7, 3), (18, 12), (-16, 19), (-24, 15), (-12, 26), (8, 4), (-20, -15), (0, 0), (-8, -4), (11, 9), (-23, 16), (23, -17), (-11, -10), (-20, 21), (-19, -14), (3, 10), (-5, 6), (14, 19), (15, -16), (7, -20), (26, -7), (18, -11), (-16, -4), (-24, -8), (-4, 7), (-12, 3), (7, 16), (8, -19), (27, -6), (0, -23), (19, -10), (-8, -27), (11, -14), (-23, -7), (-20, -1), (-20, -2), (25, 6), (4, -17), (-9, 13), (10, 26), (-30, -10), (2, 22), (3, -13), (22, 0), (-27, -5), (14, -4), (-7, -27), (3, 23), (-5, 19), (-4, -16), (15, -3), (-12, -20), (7, -7), (26, 6), (18, 2), (-16, 9), (-24, 5), (21, 13), (0, -10), (-13, 20), (-8, -14), (-1, 29), (-2, 29), (-10, 25), (-31, 2), (10, 3), (-11, -20), (-9, 26), (-17, 22), (3, 0), (22, 13), (-5, -4), (14, 9), (-28, 12), (18, -21), (-16, -14), (17, 20), (-4, -3), (-12, -7), (19, -20), (6, 10), (11, -24), (-2, 6), (-1, 6), (-20, -12), (25, -4), (-9, 3), (10, 16), (2, 12), (3, -23), (22, -10), (-5, -27), (14, -14), (-28, -11), (-5, 9), (-4, -26), (15, -13), (7, -17), (-6, 13), (18, -8), (5, 22), (-24, -5), (9, 29), (21, 3), (-8, -24), (-13, 10), (6, 23), (-21, 6), (-2, 19), (-1, 19), (-29, 2), (-10, 15), (-9, -20), (10, -7), (2, -11), (25, 9), (-9, 16), (-17, 12), (24, 13), (3, -10), (-5, -14), (1, 29), (-28, 2), (17, 10), (9, 6), (-12, -17), (-25, 13), (21, -20), (-6, 26), (-14, 22), (-13, -13), (6, 0), (-22, 18), (-1, -4), (-2, -4), (-10, -8), (21, 16), (-13, 23), (-21, 19), (20, 20), (-10, 28), (-9, -7), (10, 6), (-17, -11), (2, 2), (14, -24), (13, 17), (16, 22), (17, -13), (-6, 3), (5, 12), (6, -23), (-3, 8), (17, 23), (9, 19), (21, -7), (-13, 0), (6, 13), (-21, -4), (-2, 9), (-1, 9), (-29, -8), (-10, 5), (10, -17), (2, -21), (13, -6), (4, 25), (-17, 2), (24, 3), (3, -20), (-5, -24), (-18, 6), (1, 19), (-7, 15), (-28, -8), (-15, 11), (5, -11), (17, 0), (9, -4), (-25, 3), (-6, 16), (-14, 12), (-13, -23), (5, 25), (6, -10), (-22, 8), (-3, 21), (-2, -14), (-1, -14), (-10, -18), (-21, 9), (20, 10), (-8, 28), (-29, 5), (12, 6), (-9, -17), (23, 15), (-17, -21), (2, -8), (-11, 22), (-19, 18), (1, -4), (13, 7), (24, 16), (16, 12), (17, -23), (-18, 19), (-26, 15), (-7, 28), (-6, -7), (-15, 24), (-14, -11), (5, 2), (-22, -15), (-3, -1), (-3, -2), (9, 9), (-25, 16), (21, -17), (8, 13), (-13, -10), (-22, 21), (-21, -14), (11, 18), (-10, -5), (-23, 25), (12, 19), (13, -16), (4, 15), (24, -7), (16, -11), (-18, -4), (1, 9), (-26, -8), (-7, 5), (-15, 1), (5, -21), (-3, -25), (17, -10), (9, -14), (-25, -7), (-6, 6), (7, 25), (-14, 2), (6, -20), (-22, -1), (-3, 11), (-1, -24), (-2, -24), (-22, -2), (8, 26), (0, 22), (20, 0), (-8, 18), (-29, -5), (12, -4), (4, -8), (23, 5), (-11, 12), (-19, 8), (1, -14), (-27, 4), (-7, -18), (13, -3), (4, 28), (24, 6), (16, 2), (-18, 9), (-26, 5), (-7, 18), (-6, -17), (-15, 14), (-14, -21), (5, -8), (-3, -12), (-4, 29), (-12, 25), (-33, 2), (8, 3), (19, 12), (11, 8), (-23, 15), (23, -18), (-11, -11), (-20, 20), (20, 13), (12, 9), (4, 5), (24, -17), (16, -21), (-11, 25), (-19, 21), (-18, -14), (-27, 17), (-7, -5), (-15, -9), (9, -24), (-4, 6), (15, 19), (7, 15), (8, -20), (27, -7), (-22, -12), (19, -11), (8, 16), (0, 12), (20, -10), (-8, 8), (11, 21), (12, -14), (4, -18), (23, -5), (-11, 2), (-19, -1), (-19, -2), (1, -24), (-27, -6), (-7, -28), (3, 22), (-5, 18), (-26, -5), (15, -4), (-6, -27), (-15, 4), (26, 5), (18, 1), (-3, -22), (-16, 8), (-4, 19), (-12, 15), (7, 28), (8, -7), (0, -11), (19, 2), (-8, -15), (11, -2), (11, -1), (-23, 5), (-31, 1), (-11, -21), (-20, 10), (-8, 21), (4, -5), (-9, 25), (-30, 2), (-19, 11), (22, 12), (-27, 7), (14, 8), (-7, -15), (-15, -19), (-4, -4), (15, 9), (-12, -8), (7, 5), (18, 14), (19, -21), (11, -25), (-16, 21), (-24, 17), (-12, 28), (-20, -13), (0, 2), (20, -20), (-8, -2), (-8, -1), (12, -24), (-23, 18), (23, -15), (10, 15), (-11, -8), (-20, 23), (-19, -12), (22, -11), (3, 12), (-5, 8), (-4, -27), (14, 21), (15, -14), (7, -18), (26, -5), (18, -9), (-16, -1), (-16, -2), (-24, -6), (-4, 9), (-12, 5), (8, -17), (0, -21), (19, -8), (-8, -25), (11, -12), (6, 22), (-23, -5), (-31, -9), (-20, 0), (25, 8), (-9, 15), (-17, 11), (2, 24), (3, -11), (22, 2), (-5, -15), (14, -2), (14, -1), (-28, 1), (3, 25), (-5, 21), (-4, -14), (-12, -18), (7, -5), (18, 4), (-16, 11), (-24, 7), (21, 15), (-13, 22), (-8, -12), (-21, 18), (-10, 27), (-9, -8), (10, 5), (2, 1), (-32, 8), (14, -25), (-9, 28), (-17, 24), (3, 2), (-5, -1), (-5, -2), (14, 11), (15, -24), (-28, 14), (18, -19), (-16, -12), (17, 22), (9, 18), (-12, -5), (21, -8), (6, 12), (11, -22), (-1, 8), (-2, 8), (10, -18), (-20, -10), (25, -1), (25, -2), (-9, 5), (10, 18), (-17, 1), (2, 14), (3, -21), (22, -8), (-5, -25), (14, -12), (-28, -9), (-4, -24), (7, -15), (-6, 15), (5, 24), (6, -11), (-3, 20), (-24, -3), (21, 5), (-13, 12), (6, 25), (-21, 8), (-2, 21), (-1, 21), (-29, 4), (-10, 17), (-9, -18), (10, -5), (2, -9), (-32, -1), (-32, -2), (13, 6), (-17, 14), (24, 15), (3, -8), (16, 11), (-5, -12), (-7, 27), (-28, 4), (5, 1), (-16, -22), (17, 12), (9, 8), (-25, 15), (21, -18), (-6, 28), (-14, 24), (-13, -11), (6, 2), (-22, 20), (-21, -15), (-1, -1), (-1, -2), (-2, -1), (-10, -6), (-2, -2), (-21, 21), (12, 18), (-9, -5), (-17, -9), (2, 4), (22, -18), (14, -22), (1, 8), (13, 19), (17, -11), (9, -15), (-25, -8), (-6, 5), (-14, 1), (5, 14), (6, -21), (-22, -3), (-3, 10), (-2, -25), (-1, -25), (9, 21), (21, -5), (8, 25), (-13, 2), (-21, -1), (-21, -2), (-2, 11), (-1, 11), (-29, -6), (-10, 7), (10, -15), (2, -19), (13, -4), (4, 27), (24, 5), (16, 1), (-5, -22), (-18, 8), (1, 21), (-26, 4), (-7, 17), (-6, -18), (-15, 13), (5, -9), (-3, -13), (17, 2), (9, -2), (9, -1), (-25, 5), (-6, 18), (-14, 14), (-13, -21), (6, -8), (-22, 10), (-3, 23), (-2, -12), (-1, -12), (-10, -16), (20, 12), (-8, 30), (-29, 7), (12, 8), (-9, -15), (4, 4), (-17, -19), (24, -18), (-11, 24), (-19, 20), (1, -1), (1, -2), (-27, 16), (-7, -6), (13, 9), (16, 14), (17, -21), (9, -25), (-18, 21), (-26, 17), (-7, 30), (-6, -5), (-15, 26), (-14, -9), (5, 4), (-22, -13), (-3, 0), (21, -15), (8, 15), (-13, -8), (0, 11), (-21, -12), (20, -11), (11, 20), (-10, -3), (23, -6), (-11, 1), (12, 21), (13, -14), (4, 17), (24, -5), (16, -9), (-18, -1), (-18, -2), (1, 11), (-26, -6), (-7, 7), (-6, -28), (-15, 3), (5, -19), (-3, -23), (17, -8), (9, -12), (-4, 18), (-25, -5), (7, 27), (-14, 4), (-22, 0), (19, 1), (-2, -22), (-1, -22), (-10, -26), (8, 28), (0, 24), (20, 2), (-8, 20), (12, -2), (12, -1), (4, -6), (23, 7), (-30, 1), (-11, 14), (-19, 10), (1, -12), (-27, 6), (-7, -16), (-15, -20), (16, 4), (-18, 11), (-26, 7), (15, 8), (-6, -15), (-15, 16), (-14, -19), (5, -6), (18, 13), (-3, -10), (-16, 20), (-12, 27), (8, 5), (0, 1), (19, 14), (-8, -3), (11, 10), (12, -25), (-23, 17), (23, -16), (-11, -9), (-20, 22), (-19, -13), (12, 11), (13, -24), (4, 7), (24, -15), (16, -19), (-19, 23), (-18, -12), (1, 1), (-27, 19), (14, 20), (-7, -3), (-15, -7), (-4, 8), (15, 21), (-12, 4), (7, 17), (8, -18), (27, -5), (19, -9), (11, -13), (-23, -6), (8, 18), (0, 14), (20, -8), (-8, 10), (11, 23), (12, -12), (4, -16), (23, -3), (10, 27), (-30, -9), (-11, 4), (-19, 0), (1, -22), (-27, -4), (-7, -26), (3, 24), (-5, 20), (-26, -3), (15, -2), (15, -1), (7, -6), (26, 7), (18, 3), (-16, 10), (-24, 6), (-4, 21), (-12, 17), (8, -5), (27, 8), (0, -9), (19, 4), (-8, -13), (11, 0), (-23, 7), (-31, 3), (-11, -19), (-20, 12), (-9, 27), (-30, 4), (-17, 23), (3, 1), (22, 14), (-27, 9), (14, 10), (15, -25), (-15, -17), (-28, 13), (18, -20), (-4, -1), (-4, -2), (15, 11), (-12, -6), (7, 7), (18, 16), (19, -19), (11, -23), (-16, 23), (-24, 19), (-20, -11), (-8, 0), (12, -22), (4, -26), (10, 17), (2, 13), (-19, -10), (22, -9), (3, 14), (-5, 10), (-4, -25), (14, 23), (15, -12), (7, -16), (26, -3), (18, -7), (-16, 0), (-24, -4), (-12, 7), (8, -15), (0, -19), (-8, -23), (11, -10), (6, 24), (-2, 20), (-1, 20), (-23, -3), (-20, 2), (25, 10), (-9, 17), (-17, 13), (2, 26), (3, -9), (22, 4), (-5, -13), (14, 0), (-28, 3), (-5, 23), (-4, -12), (-12, -16), (7, -3), (-6, 27), (-24, 9), (21, 17), (-13, 24), (-21, 20), (-10, 29), (-9, -6), (10, 7), (-17, -10), (2, 3), (22, -19), (14, -23), (-9, 30), (-17, 26), (3, 4), (-5, 0), (15, -22), (7, -26), (-28, 16), (18, -17), (-16, -10), (9, 20), (21, -6), (0, -29), (-13, 1), (6, 14), (-21, -3), (-2, 10), (-1, 10), (-10, 6), (10, -16), (2, -20), (25, 0), (-9, 7), (-17, 3), (2, 16), (3, -19), (22, -6), (-5, -23), (14, -10), (-28, -7), (17, 1), (-4, -22), (9, -3), (-12, -26), (-6, 17), (-14, 13), (5, 26), (6, -9), (-3, 22), (-2, -13), (-1, -13), (21, 7), (-13, 14), (-21, 10), (-2, 23), (-1, 23), (-29, 6), (-10, 19), (-9, -16), (10, -3), (-17, -20), (2, -7), (-32, 0), (13, 8), (16, 13), (-5, -10), (-18, 20), (-7, 29), (-6, -6), (-15, 25), (5, 3), (-16, -20), (17, 14), (9, 10), (-25, 17), (21, -16), (-6, 30), (-14, 26), (-13, -9), (6, 4), (-22, 22), (-21, -13), (-1, 0), (-2, 0), (-10, -4), (25, -10), (12, 20), (-9, -3), (-17, -7), (24, -6), (14, -20), (1, 10), (-7, 6), (13, 21), (17, -9), (9, -13), (-25, -6), (-6, 7), (-14, 3), (5, 16), (6, -19), (-3, 12), (-1, -23), (-2, -23), (-10, -27), (21, -3), (8, 27), (-13, 4), (-21, 0), (20, 1), (-29, -4), (-10, 9), (-9, -26), (10, -13), (23, 6), (2, -17), (-11, 13), (13, -2), (13, -1), (4, 29), (24, 7), (16, 3), (-18, 10), (1, 23), (-26, 6), (-7, 19), (-6, -16), (-15, 15), (-14, -20), (5, -7), (-3, -11), (17, 4), (9, 0), (-25, 7), (-33, 3), (-14, 16), (-13, -19), (6, -6), (19, 13), (-22, 12), (-1, -10), (-2, -10), (-10, -14), (20, 14), (12, 10), (13, -25), (4, 6), (-17, -17), (24, -16), (16, -20), (-11, 26), (-19, 22), (-18, -13), (1, 0), (-27, 18), (-7, -4), (13, 11), (-15, -8), (16, 16), (17, -19), (9, -23), (-18, 23), (-26, 19), (15, 20), (-6, -3), (-15, 28), (-14, -7), (5, 6), (-22, -11), (-3, 2), (8, 17), (0, 13), (-21, -10), (20, -9), (-8, 9), (11, 22), (12, -13), (23, -4), (-11, 3), (1, -23), (12, 23), (13, -12), (4, 19), (24, -3), (16, -7), (-18, 0), (1, 13), (-26, -4), (-7, 9), (-6, -26), (-15, 5), (5, -17), (-3, -21), (9, -10), (-4, 20), (-25, -3), (-12, 16), (7, 29), (8, -6), (-22, 2), (19, 3), (-2, -20), (-1, -20), (-10, -24), (-23, 6), (-20, 11), (0, 26), (20, 4), (-8, 22), (12, 0), (4, -4), (23, 9), (-30, 3), (-11, 16), (-19, 12), (1, -10), (-27, 8), (-7, -14), (-15, -18), (-26, 9), (15, 10), (-6, -13), (7, 6), (-14, -17), (18, 15), (-3, -8), (-16, 22), (-24, 18), (-12, 29), (8, 7), (0, 3), (19, 16), (20, -19), (11, 12), (12, -23), (-23, 19), (23, -14), (-11, -7), (-20, 24), (-19, -11), (13, -22), (4, 9), (16, -17), (3, 13), (-18, -10), (-27, 21), (14, 22), (-15, -5), (26, -4), (-4, 10), (15, 23), (-12, 6), (7, 19), (8, -16), (27, -3), (0, -20), (19, -7), (11, -11), (-23, -4), (-31, -8), (-20, 1), (0, 16), (-8, 12), (12, -10), (4, -14), (-30, -7), (-11, 6), (2, 25), (-19, 2), (22, 3), (1, -20), (-27, -1), (-27, -2), (-7, -24), (3, 26), (-5, 22), (-4, -13), (15, 0), (7, -4), (26, 9), (18, 5), (-16, 12), (-24, 8), (-4, 23), (-12, 19), (8, -3), (0, -7), (19, 6), (-8, -11), (11, 2), (-23, 9), (-31, 5), (-11, -17), (-20, 14), (-19, -21), (-9, 29), (-17, 25), (3, 3), (22, 16), (14, 12), (15, -23), (-28, 15), (18, -18), (-16, -11), (-4, 0), (15, 13), (-12, -4), (7, 9), (18, 18), (19, -17), (11, -21), (-16, 25), (-24, 21), (-23, -14), (-20, -9), (-8, 2), (4, -24), (-9, 6), (10, 19), (2, 15), (22, -7), (-27, -12), (14, -11), (3, 16), (-5, 12), (-4, -23), (14, 25), (15, -10), (7, -14), (18, -5), (-16, 2), (-24, -1), (-24, -2), (-12, 9), (21, 6), (0, -17), (-8, -21), (-13, 13), (6, 26), (-2, 22), (-1, 22), (-10, 18), (-31, -5), (10, -4), (-11, -27), (-20, 4), (25, 12), (-9, 19), (-17, 15), (2, 28), (3, -7), (22, 6), (-5, -11), (14, 2), (-28, 5), (-16, -21), (17, 13), (-4, -10), (-12, -14), (-6, 29), (-14, 25), (6, 3), (-24, 11), (21, 19), (-20, -19), (-13, 26), (-21, 22), (-9, -4), (10, 9), (-17, -8), (2, 5), (22, -17), (14, -21), (13, 20), (-17, 28), (-5, 2), (15, -20), (7, -24), (18, -15), (5, 15), (-16, -8), (-24, -12), (9, 22), (21, -4), (-13, 3), (6, 16), (-2, 12), (-1, 12), (-10, 8), (-9, -27), (10, -14), (2, -18), (25, 2), (-9, 9), (-17, 5), (2, 18), (3, -17), (-5, -21), (14, -8), (1, 22), (-28, -5), (17, 3), (-12, -24), (-25, 6), (-6, 19), (-14, 15), (-13, -20), (5, 28), (6, -7), (-22, 11), (-3, 24), (-2, -11), (-1, -11), (-10, -15), (21, 9), (-13, 16), (-21, 12), (-2, 25), (-1, 25), (-29, 8), (-10, 21), (-9, -14), (-17, -18), (2, -5), (-32, 2), (13, 10), (16, 15), (17, -20), (-18, 22), (-26, 18), (-6, -4), (-15, 27), (-14, -8), (5, 5), (-3, 1), (17, 16), (9, 12), (-25, 19), (21, -14), (-14, 28), (-13, -7), (6, 6), (-22, 24), (-21, -11), (-1, 2), (-2, 2), (-10, -2), (-10, -1), (10, -24), (12, 22), (13, -13), (4, 18), (-17, -5), (24, -4), (16, -8), (1, 12), (-7, 8), (13, 23), (5, -18), (17, -7), (9, -11), (-25, -4), (-6, 9), (-14, 5), (5, 18), (6, -17), (-22, 1), (-3, 14), (-2, -21), (-1, -21), (-10, -25), (8, 29), (0, 25), (-21, 2), (20, 3), (-29, -1), (-29, -2), (-9, -24), (23, 8), (2, -15), (-11, 15), (1, -11), (13, 0), (24, 9), (16, 5), (-18, 12), (1, 25), (-26, 8), (-7, 21), (-6, -14), (-15, 17), (-14, -18), (5, -5), (-3, -9), (9, 2), (-25, 9), (8, 6), (-13, -17), (-22, 14), (19, 15), (-1, -8), (11, 11), (-2, -8), (-10, -12), (20, 16), (12, 12), (13, -23), (4, 8), (24, -14), (16, -18), (-11, 28), (-19, 24), (-18, -11), (1, 2), (-27, 20), (-7, -2), (-7, -1), (-15, -6), (17, -17), (9, -21), (-26, 21), (15, 22), (7, 18), (-14, -5), (27, -4), (-22, -9), (-3, 4), (8, 19), (0, 15), (20, -7), (-8, 11), (11, 24), (12, -11), (4, -15), (23, -1), (23, -2), (-30, -8), (-11, 5), (-19, 1), (1, -21), (-27, -3), (-7, -25), (13, -10), (4, 21), (16, -5), (-18, 2), (-26, -1), (-26, -2), (-7, 11), (-6, -24), (-15, 7), (26, 8), (5, -15), (-3, -19), (-4, 22), (-12, 18), (8, -4), (27, 9), (0, -8), (19, 5), (11, 1), (-10, -22), (-23, 8), (-31, 4), (-11, -18), (-20, 13), (0, 28), (20, 6), (-8, 24), (12, 2), (4, -1), (4, -2), (23, 11), (-30, 5), (-11, 18), (-19, 14), (22, 15), (-18, -21), (1, -8), (-27, 10), (-7, -12), (-15, -16), (15, 12), (7, 8)}\n"
     ]
    }
   ],
   "execution_count": 1
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "76buB0jj5n0Q"
   },
   "source": [
    "**Ejercicio.** Ejecuta el programa anterior, contempla el resultado y trata de evaluar si el árbol representado pasa como un morfo-árbol.\n",
    ">\n",
    "> *Respuesta.* Con todo el poder de censura que tenemos, el árbol pasa como un morfo-árbol. Es sorprendente que el número de líneas de intersección sea bajo. Esto se debe a la regla de `una célula en su cuadrado`. Esto crea una sensación de orden en medio del desorden propio del azar.\n",
    "\n",
    "Implementemos ahora los prerrequisitos de la Evolución.\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "rKMAK5d9oUyf"
   },
   "source": [
    "# BLOQUES BÁSICOS DE LA EVOLUCIÓN.\n",
    "\n",
    "Implementemos la mutación. La primera tarea es cambiar el radio de iluminación de un nodo dado.\n",
    "\n",
    "**Ejercicio.** Implementa la mutación del radio de las células para cadenas de Newick.\n",
    ">\n",
    "> *Respuesta.* En una cadena de Newick que codifica para un árbol de morfología, seleccionamos un nodo y cambiamos su radio. El código sigue.\n"
   ]
  },
  {
   "cell_type": "code",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "executionInfo": {
     "elapsed": 22,
     "status": "ok",
     "timestamp": 1789401206525,
     "user": {
      "displayName": "jose rodriguez",
      "userId": "08454562216435392883"
     },
     "user_tz": 300
    },
    "id": "UW1JcW9HKlWt",
    "outputId": "4191e0db-ca8e-471c-9f6d-4d84d2199447"
   },
   "source": [
    " # Program radius_mutation_newick_strings.py\n",
    " # This program finds  a random node in a Newick string that encodes for a morpho-tree and change its radius.\n",
    "\n",
    "import random\n",
    "import matplotlib.pyplot as plt\n",
    "import matplotlib.patches as patches\n",
    "import numpy as np\n",
    "from numpy import array as Array\n",
    "import copy # For deep copying trees during reproduction and mutation\n",
    "import sys # Import sys module to adjust recursion limit\n",
    "import re # Required for newick parsing\n",
    "import itertools # Required for sequential replacement\n",
    "# With the  assistance of Colab\n",
    "\n",
    "def replace_str_subsequence6(original_str, start_idx, end_idx, new_subsequence):\n",
    "    ''' Replace a subsequence of a string with another string.\n",
    "        By Google'''\n",
    "    # Concatenate the pieces together\n",
    "    return original_str[:start_idx] + new_subsequence + original_str[end_idx:]\n",
    "\n",
    "\n",
    "\n",
    "def newick_mutation_of_radius6(newick_string):\n",
    "  # The pattern of the radius of illumination\n",
    "  pattern_r = r'r=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  starts = []\n",
    "  groups = []\n",
    "  for match in re.finditer(pattern_r, newick_string):\n",
    "      print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "      starts.append(match.start())\n",
    "      groups.append(match.group())\n",
    "  number_of_infos = len(starts)\n",
    "  print(f\"number_of_infos = {number_of_infos}\")\n",
    "  print(f\"starts: {starts}\")\n",
    "  print(f\"groups: {groups}\")\n",
    "  # Select a start index at random\n",
    "  start_idx = random.randint(0, number_of_infos-1)\n",
    "  print(f\"selected start_idx: {start_idx}\")\n",
    "  l = len(groups[start_idx])\n",
    "  print(f\"l: {l}\")\n",
    "  # Select a new radius\n",
    "  new_radius = random.uniform(0.5, 2)\n",
    "  print(f\"new_radius: {new_radius}\")\n",
    "\n",
    "  new_info = \"r=\" + str(new_radius)\n",
    "  print(f\"new_info: {new_info}\")\n",
    "  # Replace the info\n",
    "  mutated_newick_string = replace_str_subsequence6(newick_string, starts[start_idx], starts[start_idx] + l, new_info)\n",
    "  print(f\"newick_string: {newick_string}\")\n",
    "  return mutated_newick_string\n",
    "\n",
    "if __name__ == \"__main__\":\n",
    "  newick_string = \"(Node3[a=-1.0,b=0.0,x=-1.0,y=0.0,r=0.5],Node2[a=0.0,b=-1.0,x=0.0,y=-1.0,r=0.67],(Node5[a=-1.0,b=0.0,x=-2.0,y=-1.0,r=0.83],Node4[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07])Node1[a=-1.0,b=-1.0,x=-1.0,y=-1.0,r=0.95])Node_0[a=0,b=0,x=0,y=0,r=1] \"\n",
    "  print(f\"Newick_string: {newick_string}\")\n",
    "  mutated_newick_string =  newick_mutation_of_radius6(newick_string)\n",
    "  # Comparison\n",
    "  print(f\"Original Newick string: {newick_string}\")\n",
    "  print(f\"Mutated  Newick_string: {mutated_newick_string}\")"
   ],
   "outputs": [],
   "execution_count": null
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "ehgNhGwyhklc"
   },
   "source": [
    "**Observación.** El procedimiento de mutación que cambia el radio de iluminación funciona bien.\n",
    "\n",
    "**Crítica.** Habilitar la Evolución con una mutación que solo cambia el radio de iluminación lo convierte en un proceso fallido. La razón es la siguiente: la mutación para ser perfecta debe conectar cada estado con cada estado posible, aquí cada cadena con cada cadena posible. Pero la mutación del radio no puede cambiar la arquitectura de un árbol, por lo que los árboles con otras arquitecturas son inaccesibles, y la Evolución no podría perseguir a un objetivo aleatorio. Uno podría pensar que la recombinación podría curar esta deficiencia. Eso es falso porque la recombinación solo puede mezclar lo que ya está en juego. La recombinación no crea nada nuevo, y por lo tanto, se necesitaría un tamaño de población muy grande para obtener resultados aceptables.\n",
    ">\n",
    "> *Respuesta.* La crítica es correcta.\n",
    "\n",
    "**Ejercicio.** Implementar mutación de la arquitectura de los morfo-árboles de Newick. ¿Es evolutivo este tipo de mutación? En este caso, evolutividad significa hacer que la mutación de la arquitectura sea compatible con la regla de ocupación que dice que un cuadrado debe ser ocupado por una sola célula, y que el árbol permanezca como un todo.\n",
    ">\n",
    "> *Respuesta.* Para tener una Evolución completa, es suficiente activar la mutación con cambio de radio, inserción de un nodo y eliminación de un nodo.  Nuestra expectativa es que la mutación aleatoria de la arquitectura producirá productos seguramente inviables porque se violaría la regla de la ocupación. O, para ver que la Evolución camine, se deben utilizar poblaciones muy grandes. Esto desencadenaría un alto costo en memoria y tiempo de cómputo. La eliminación de un nodo siempre es evolutiva. Pero la inserción no lo es. Para evitar problemas, ejecutamos una propuesta de inserción de un nodo en el único caso cuando el cuadrado objetivo está vacío.\n",
    ">\n",
    "> Nuestro código que quita un nodo sigue:\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "executionInfo": {
     "elapsed": 51,
     "status": "ok",
     "timestamp": 1789490802735,
     "user": {
      "displayName": "jose rodriguez",
      "userId": "08454562216435392883"
     },
     "user_tz": 300
    },
    "id": "V9I5Ayz8BsJe",
    "outputId": "da307a12-7a81-41ed-8e5c-b2a4a58fa350"
   },
   "source": [
    " # Program group_deletion_newick_strings.py\n",
    " # To include the insertion and deletion of nodes as part of mutation\n",
    " # is enough to change the architecture.\n",
    " # The problem is that if a node with children is deleted,\n",
    " # the children would get orphan, and the form tore apart.\n",
    " # So, the deletion of a father is accompanied by that of the children,\n",
    "\n",
    "\n",
    "import random\n",
    "import matplotlib.pyplot as plt\n",
    "import matplotlib.patches as patches\n",
    "import numpy as np\n",
    "from numpy import array as Array\n",
    "import copy # For deep copying trees during reproduction and mutation\n",
    "import sys # Import sys module to adjust recursion limit\n",
    "import re # Required for newick parsing\n",
    "import itertools # Required for sequential replacement\n",
    "# With the  assistance of Colab\n",
    "\n",
    "def replace_str_subsequence7(original_str, start_idx, end_idx, new_subsequence):\n",
    "    ''' Replace a subsequence of a string with another string.\n",
    "        By Google'''\n",
    "    # Concatenate the pieces together\n",
    "    return original_str[:start_idx] + new_subsequence + original_str[end_idx:]\n",
    "\n",
    "\n",
    "def newick_find_all_groups7(newick_string):\n",
    "  ''' All groups are found and one is chosen at random'''\n",
    "  # The pattern of groups on the image of\n",
    "  # Node4[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07]\n",
    "  info_words =  r'[a-zA-Z_0-9_]*\\[a=-?[0-9]+(?:\\.[0-9]+)?,b=-?[0-9]+(?:\\.[0-9]+)?,x=-?[0-9]+(?:\\.[0-9]+)?,y=-?[0-9]+(?:\\.[0-9]+)?,r=-?[0-9]+(?:\\.[0-9]+)?\\]'\n",
    "  starts = []\n",
    "  groups = []\n",
    "  for match in re.finditer(info_words, newick_string):\n",
    "      print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "      starts.append(match.start())\n",
    "      groups.append(match.group())\n",
    "  number_of_infos = len(starts)\n",
    "  #print(f\"number_of_infos = {number_of_infos}\")\n",
    "  #print(f\"starts: {starts}\")\n",
    "  #print(f\"groups: {groups}\")\n",
    "  # Select a start index at random\n",
    "  start_idx = random.randint(0, number_of_infos-1)\n",
    "  print(f\"selected start_idx: {start_idx}\")\n",
    "  return groups[start_idx], starts[start_idx]\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "def find_branch7(newick_string, final_index):\n",
    "  initial_segment = newick_string[:final_index]\n",
    "  print(f\"initial_segment: {initial_segment}\")\n",
    "  # Balance accounting\n",
    "  counter_of_pars = 0\n",
    "  branch = \"\"\n",
    "  for i in range(len(initial_segment)-1,-1,-1):\n",
    "    if initial_segment[i] == \"(\":\n",
    "      counter_of_pars = counter_of_pars + 1\n",
    "    if initial_segment[i] == \")\":\n",
    "      counter_of_pars = counter_of_pars - 1\n",
    "    if counter_of_pars == 0:\n",
    "      branch = initial_segment[i:final_index+1]\n",
    "      print(f\"Branch to be deleted: {branch}\")\n",
    "      break\n",
    "  return branch\n",
    "\n",
    "def deletion_of_branch7(newick_string ):\n",
    "  group, start =  newick_find_all_groups7(original_newick_string)\n",
    "  print(f\"Group (main): {group}\")\n",
    "  print(f\"Start (main): {start}\")\n",
    "  # Does the group have children?\n",
    "  char_before = original_newick_string[start-1]\n",
    "  print(f\"char_before: {char_before}\")\n",
    "  newick_string = original_newick_string\n",
    "  if char_before ==  \")\":\n",
    "    print(\"The group has children\")\n",
    "    #find branch\n",
    "    final_index = start-1\n",
    "    branch = find_branch7(newick_string, final_index+1)\n",
    "\n",
    "    branch_and_father = branch + group\n",
    "    print(f\"  Branch and father to be deleted: {branch_and_father}\")\n",
    "    #delete group\n",
    "    newick_string = newick_string.replace(branch_and_father , \"\")\n",
    "  else:\n",
    "    print(\"The group has no children\")\n",
    "    #delete group\n",
    "    newick_string = newick_string.replace(group, \"\")\n",
    "\n",
    "  # Cosmetics\n",
    "  newick_string = newick_string.replace(\",,\", \",\")\n",
    "  newick_string = newick_string.replace(\",)\", \")\")\n",
    "  newick_string = newick_string.replace(\"(,\", \"(\")\n",
    "  newick_string = newick_string.replace(\" \", \"\")\n",
    "  # Comparison\n",
    "  print(f\"Original Newick string: {original_newick_string}\")\n",
    "  l = len(newick_string)\n",
    "  # print(f\"Length of newick_string: {l}\")\n",
    "  if l == 0 :\n",
    "     newick_string = \"Node_0[a=0,b=0,x=0,y=0,r=1]\"\n",
    "  print(f\"Final Newick_string: {newick_string}\")\n",
    "  return newick_string\n",
    "\n",
    "if __name__ == \"__main__\":\n",
    "  original_newick_string = \"(Node3[a=-1.0,b=0.0,x=-1.0,y=0.0,r=0.5],Node2[a=0.0,b=-1.0,x=0.0,y=-1.0,r=0.67],(Node5[a=-1.0,b=0.0,x=-2.0,y=-1.0,r=0.83],Node4[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07])Node1[a=-1.0,b=-1.0,x=-1.0,y=-1.0,r=0.95])Node_0[a=0,b=0,x=0,y=0,r=1] \"\n",
    "  print(f\"Original Newick_string: {original_newick_string}\")\n",
    "  group, start =  newick_find_all_groups7(original_newick_string)\n",
    "  final_newick_string = deletion_of_branch7(original_newick_string )\n",
    "  print(f\"Final Newick_string: {final_newick_string}\")\n",
    "\n"
   ],
   "outputs": [],
   "execution_count": null
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "YVAEvLyFPtdZ"
   },
   "source": [
    "**Observación.** La eliminación de un nodo funciona bien. Si se elimina a un padre, también a sus hijos.\n",
    "\n",
    "**Ejercicio.** Desarrollar el código para la inserción de una hoja en una cadena de Newick.\n",
    ">\n",
    "> *Respuesta.* El siguiente programa detecta todos los lugares posibles que son apropiados para la inserción de hojas dentro de una cadena de Newick, elige una de esas posiciones e inserta una hoja. Se ofrecen tres modalidades. El código es el siguiente:"
   ]
  },
  {
   "cell_type": "code",
   "metadata": {},
   "source": [
    "# Program insertion_of_leaves.py\n",
    "# Three modalities of insertion of leaves.\n",
    "# The code also includes functions for extracting information from the Newick string, \n",
    "# detecting groups, finding neighboring coordinates.\n",
    "\n",
    "import random\n",
    "import matplotlib.pyplot as plt\n",
    "import matplotlib.patches as patches\n",
    "import numpy as np\n",
    "import math\n",
    "import copy # For deep copying trees during reproduction and mutatio\n",
    "import re # Required for newick parsing\n",
    "\n",
    "\n",
    "def extract_info110(group):\n",
    "  '''The info of each group is extracted by tokenizers from the string.'''\n",
    "  patern_a = r'a=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  patern_b = r'b=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  patern_x = r'x=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  patern_y = r'y=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  patern_r = r'r=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  a = re.findall(patern_a, group)\n",
    "  b = re.findall(patern_b, group)\n",
    "  x = re.findall(patern_x, group)\n",
    "  y = re.findall(patern_y, group)\n",
    "  r = re.findall(patern_r, group)\n",
    "  a = float(a[0][2:])\n",
    "  b = float(b[0][2:])\n",
    "  x = float(x[0][2:])\n",
    "  y = float(y[0][2:])\n",
    "  r = float(r[0][2:])\n",
    "  return [a,b,x,y,r]\n",
    "\n",
    "\n",
    "def detect_all_groups110(newick_string):\n",
    "    '''Al substrings that encodes for the info of a node, step from father, center and radius are detected.'''\n",
    "\n",
    "    #print(\"detect_all_groups11(newick_string)\")\n",
    "    #print(f\"Newick String: {newick_string}\")\n",
    "    # Detect a pattern on the model  info = NodeB_3_x_2[a=0,b=1,x=2,y=2,r=3]\n",
    "    #info_words = r'[\\a-zA-Z_0-9_[_=_,\\] ]+'\n",
    "    #info_words = r'[a-zA-Z_][a-zA-Z_0-9_]*\\[x=-?[0-9]+(?:\\.[0-9]+)?,y=-?[0-9]+(?:\\.[0-9]+)?,r=-?[0-9]+(?:\\.[0-9]+)?\\]$'\n",
    "                                                    #info_words = r'[a-zA-Z_0-9_]*\\[x=-?[0-9]+(?:\\.[0-9]+)?,y=-?[0-9]+(?:\\.[0-9]+)?,r=-?[0-9]+(?:\\.[0-9]+)?\\]'\n",
    "    info_words =  r'[a-zA-Z_0-9_]*\\[a=-?[0-9]+(?:\\.[0-9]+)?,b=-?[0-9]+(?:\\.[0-9]+)?,x=-?[0-9]+(?:\\.[0-9]+)?,y=-?[0-9]+(?:\\.[0-9]+)?,r=-?[0-9]+(?:\\.[0-9]+)?\\]'\n",
    "    starts = []\n",
    "    groups = []\n",
    "    for match in re.finditer(info_words, newick_string):\n",
    "        #print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "        #print(f\"    starts at index: {match.start()}\")\n",
    "        starts.append(match.start())\n",
    "        groups.append(match.group())\n",
    "    #number_of_groups = len(starts)\n",
    "    #print(f\"number_of_groups = {number_of_groups}\")\n",
    "    #print(f\"starts of gropus: {starts}\")\n",
    "    #print(f\"groups: {groups}\")\n",
    "\n",
    "    return groups\n",
    "\n",
    "def get_neighboring_coordinates110(cell):\n",
    "  '''Immediate neighboring coordinates of a cell are generated'''\n",
    "  neighbors = []\n",
    "  for dx in [-1, 0, 1]:\n",
    "      for dy in [-1, 0, 1]:\n",
    "          if dx == 0 and dy == 0:\n",
    "              continue  # Exclude the current square itself\n",
    "          neighbors.append((cell[0] + dx, cell[1] + dy))\n",
    "  return neighbors\n",
    "\n",
    "\n",
    "\n",
    "def find_occupied_squares110(newick_string):\n",
    "    '''Detects all the occupied squares in a tree'''\n",
    "    occupied_squares_set = set()\n",
    "    groups = detect_all_groups110(newick_string)\n",
    "    for group in groups:\n",
    "        [a,b,x,y,r] = extract_info110(group)\n",
    "        occupied_squares_set.add((x, y))\n",
    "    return occupied_squares_set\n",
    "\n",
    "def find_father_center110(newick_string, j):\n",
    "  ''' Finds the address of the father of a node at j'''\n",
    "  #print(\"find_father_center11(s, j)\")\n",
    "  #print(f\"s: {newick_string}\")\n",
    "  #print(f\"j: {j}\")\n",
    "\n",
    "  #Right tail is recruited\n",
    "  tail = newick_string[j+1:]\n",
    "  father_group = detect_all_groups110(tail)\n",
    "  if father_group:\n",
    "    #print(f\"Father_group 1: {father_group}\")\n",
    "    [af,bf,xf,yf,rf] = extract_info110(father_group[0])\n",
    "    #print(f\"Info: a: {af}, b: {bf}, x: {xf}, y: {yf}, r: {rf}\")\n",
    "    father_center = [xf,yf]\n",
    "    return father_center\n",
    "  else:\n",
    "   return \"\"\n",
    "\n",
    "\n",
    "\n",
    "def node_info_generator110(father_center, counter,  occupied_squares_set, max_node_radius):\n",
    "  '''For each node, info is generated on the model\n",
    "     Node_26[a=1,b=-1,x=3,y=5,r=0.85]\n",
    "     The node and father must be neighbors, \n",
    "     and the node must be in an unoccupied square. \n",
    "     The occupied squares are stored in a set.\n",
    "      '''\n",
    "  #print(\"node_info_generator11(father_center, counter,  occupied_squares_set)\")\n",
    "  coordinates_neighbors = get_neighboring_coordinates110(father_center)\n",
    "  #print(f\"coordinates_neighbors: {coordinates_neighbors}\")\n",
    "  #print(f\"occupied_squares_set: {occupied_squares_set}\")\n",
    "  # First, filter for unoccupied grid squares within this tree\n",
    "  available_square_neighbors = [coord for coord in coordinates_neighbors if coord not in occupied_squares_set]\n",
    "  info = \"\" # future info of a node that represents a cell\n",
    "  if available_square_neighbors:\n",
    "    # Choose a random valid candidate\n",
    "    nx,  ny  = random.choice(available_square_neighbors)\n",
    "    na = nx - father_center[0]\n",
    "    nb = ny - father_center[1]\n",
    "    nr = random.uniform(0.5, max_node_radius)\n",
    "    nr = round(nr, 2)\n",
    "    info = \"Node\" +  str(counter)  + \"[\" + \"a=\" + str(na) + \",\" + \"b=\" + str(nb) + \",\"  +   \"x=\" + str(nx) + \",\" + \"y=\" + str(ny) + \",\" + \"r=\" + str(nr)+ \"]\"\n",
    "    #info = \"()\"+ info\n",
    "    #print(f\"Generated Node info: {info}\")\n",
    "    occupied_squares_set.add((nx, ny))\n",
    "\n",
    "  else:\n",
    "    #All neighboring places are occupied\n",
    "    #print(\"All neighboring places are occupied\")\n",
    "    info = \"\"\n",
    "  return info, occupied_squares_set\n",
    "\n",
    "def select_one_insertion_pattern_left_parenthesis_110(newick_string, counter, max_illumination_radius):\n",
    "  ''' All insertion patterns (  are found and one is chosen at random\n",
    "      The new info will be inserted to the right of the parenthesis'''\n",
    "  # The pattern of groups on the image of\n",
    "  # Node4[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07]\n",
    "  insertion_pattern = r'[(]'\n",
    "  starts = []\n",
    "  groups = []\n",
    "  for match in re.finditer(insertion_pattern, newick_string):\n",
    "      #print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "      starts.append(match.start())\n",
    "      groups.append(match.group())\n",
    "  number_of_patterns = len(starts)\n",
    "  #print(f\"starts: {starts}\")\n",
    "  #print(f\"groups: {groups}\")\n",
    "  start_idx = 0\n",
    "  if groups:\n",
    "    # Select a start index at random\n",
    "    start_idx = random.randint(0, number_of_patterns-1)\n",
    "    group = groups[start_idx]\n",
    "    start = starts[start_idx]\n",
    "    #print(f\"group: {group}\")\n",
    "    #print(f\"start: {start}\")\n",
    "  else:\n",
    "    group = \"\"\n",
    "    start = 0\n",
    "  #print(f\"Group110: {group}\")\n",
    "  # String to be inserted\n",
    "  father_center = find_father_center110(newick_string, start)\n",
    "  #print(f\"Father center: {father_center}\")\n",
    "  occupied_squares_set = find_occupied_squares110(newick_string)\n",
    "  info, occupied_squares_set = node_info_generator110(father_center, counter,  occupied_squares_set, max_illumination_radius)\n",
    "  child_string = info \n",
    "  if group:\n",
    "      #print(f\"Group (main): {group}\")\n",
    "      #print(f\"Start (main): {start}\")\n",
    "      # The child string is inserted between ] and ) at place start\n",
    "      #print(f\"Child string: {child_string}\")\n",
    "      #print(f\"Newick string before insertion_point: {newick_string[:start+1]}\")\n",
    "      #print(f\"Newick string after insertion_point: {newick_string[start+2:]}\")\n",
    "      newick_string = newick_string[:start+1] + \"(\" + child_string +  \")\" + newick_string[start+1:]\n",
    "      #print(f\"Newick string after insertion****: {newick_string}\")\n",
    "  else:\n",
    "      # a node in the info is given as a child to the root\n",
    "      newick_string = \"(\" + child_string + \")\" + newick_string\n",
    "    # Cosmetics\n",
    "    #newick_string = newick_string.replace(\",,\", \",\")\n",
    "  \n",
    "    # Comparison\n",
    "    #print(f\"Original Newick string: {original_newick_string}\")\n",
    "    #print(f\"Final Newick_string: {newick_string}\")\n",
    "  return newick_string\n",
    "\n",
    " \n",
    "def select_one_insertion_pattern_comma_110(newick_string, counter, max_illumination_radius):\n",
    "  ''' All  commas are found and one is chosen at random,\n",
    "  the child will be inserted after the comma'''\n",
    "  # The pattern of groups on the image of\n",
    "  # Node4[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07]\n",
    "  insertion_pattern = r'[]][,]'\n",
    "  starts = []\n",
    "  groups = []\n",
    "  for match in re.finditer(insertion_pattern, newick_string):\n",
    "      #print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "      starts.append(match.start())\n",
    "      groups.append(match.group())\n",
    "  number_of_patterns = len(starts)\n",
    "  #print(f\"starts: {starts}\")\n",
    "  #print(f\"groups: {groups}\")\n",
    "  start_idx = 0\n",
    "  if groups:\n",
    "    # Select a start index at random\n",
    "    start_idx = random.randint(0, number_of_patterns-1)\n",
    "    group = groups[start_idx]\n",
    "    start = starts[start_idx]\n",
    "    #print(f\"group: {group}\")\n",
    "    #print(f\"start: {start}\")\n",
    "  else:\n",
    "    group = \"\"\n",
    "    start = 0\n",
    "  #print(f\"Group110: {group}\")\n",
    "  # String to be inserted\n",
    "  father_center = find_father_center110(newick_string, start)\n",
    "  #print(f\"Father center: {father_center}\")\n",
    "  occupied_squares_set = find_occupied_squares110(newick_string)\n",
    "  info, occupied_squares_set = node_info_generator110(father_center, counter,  occupied_squares_set, max_illumination_radius)\n",
    "  child_string = info \n",
    "  if group:\n",
    "      #print(f\"Group (main): {group}\")\n",
    "      #print(f\"Start (main): {start}\")\n",
    "      # The child string is inserted between ] and ) at place start\n",
    "      #print(f\"Child string: {child_string}\")\n",
    "      #print(f\"Newick string before insertion_point: {newick_string[:start+1]}\")\n",
    "      #print(f\"Newick string after insertion_point: {newick_string[start+2:]}\")\n",
    "      newick_string = newick_string[:start+2] + \"(\" + child_string + \")\" + newick_string[start+2:]\n",
    "      #print(f\"Newick string after insertion****: {newick_string}\")\n",
    "  else:\n",
    "      # a node in the info is given as a child to the root\n",
    "      newick_string = \"(\" + child_string + \")\" + newick_string\n",
    "    # Cosmetics\n",
    "    #newick_string = newick_string.replace(\",,\", \",\")\n",
    "  \n",
    "    # Comparison\n",
    "    #print(f\"Original Newick string: {original_newick_string}\")\n",
    "    #print(f\"Final Newick_string: {newick_string}\")\n",
    "  return newick_string\n",
    "\n",
    "def select_one_insertion_pattern_parentheses_110(newick_string, counter, max_illumination_radius):\n",
    "  ''' All insertion patterns ]) are found and one is chosen at random\n",
    "      The new info will be inserted between ] and ) as a brother'''\n",
    "  # The pattern of groups on the image of\n",
    "  # Node4[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07]\n",
    "  insertion_pattern = r'[]][)]'\n",
    "  starts = []\n",
    "  groups = []\n",
    "  for match in re.finditer(insertion_pattern, newick_string):\n",
    "      #print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "      starts.append(match.start())\n",
    "      groups.append(match.group())\n",
    "  number_of_patterns = len(starts)\n",
    "  #print(f\"starts: {starts}\")\n",
    "  #print(f\"groups: {groups}\")\n",
    "  start_idx = 0\n",
    "  if groups:\n",
    "    # Select a start index at random\n",
    "    start_idx = random.randint(0, number_of_patterns-1)\n",
    "    group = groups[start_idx]\n",
    "    start = starts[start_idx]\n",
    "    #print(f\"group: {group}\")\n",
    "    #print(f\"start: {start}\")\n",
    "  else:\n",
    "    group = \"\"\n",
    "    start = 0\n",
    "  #print(f\"Group110: {group}\")\n",
    "  # String to be inserted\n",
    "  father_center = find_father_center110(newick_string, start)\n",
    "  #print(f\"Father center: {father_center}\")\n",
    "  occupied_squares_set = find_occupied_squares110(newick_string)\n",
    "  info, occupied_squares_set = node_info_generator110(father_center, counter,  occupied_squares_set, max_illumination_radius)\n",
    "  child_string = info \n",
    "  print(f\"Child string: {child_string}\")\n",
    "  if group:\n",
    "      #print(f\"Group (main): {group}\")\n",
    "      #print(f\"Start (main): {start}\")\n",
    "      # The child string is inserted between ] and ) at place start\n",
    "      \n",
    "      #print(f\"Newick string before insertion_point: {newick_string[:start+1]}\")\n",
    "      #print(f\"Newick string after insertion_point: {newick_string[start+2:]}\")\n",
    "      newick_string = newick_string[:start+1] + \",\" + child_string + newick_string[start+1:]\n",
    "      #print(f\"Newick string after insertion****: {newick_string}\")\n",
    "  else:\n",
    "      # a node in the info is given as a child to the root\n",
    "      newick_string = \"(\" + child_string + \")\" + newick_string\n",
    "    # Cosmetics\n",
    "    #newick_string = newick_string.replace(\",,\", \",\")\n",
    "  \n",
    "    # Comparison\n",
    "    #print(f\"Original Newick string: {original_newick_string}\")\n",
    "    #print(f\"Final Newick_string: {newick_string}\")\n",
    "  return newick_string\n",
    "\n",
    " \n",
    "\n",
    "\n",
    "def insertion_of_leaf110(newick_string, counter, max_illumination_radius):    #original_newick_string = newick_string\n",
    "    ''' All insertion patterns ]) are found and one is chosen at random\n",
    "        The new info will be inserted between ] and )'''\n",
    "    case = random.choice([1, 2, 3])  # Randomly choose between three insertion methods\n",
    "    match case:\n",
    "        case 1:\n",
    "            newick_string = select_one_insertion_pattern_comma_110(newick_string, counter, max_illumination_radius)\n",
    "        case 2:\n",
    "            newick_string = select_one_insertion_pattern_parentheses_110(newick_string, counter, max_illumination_radius)\n",
    "        case 3:\n",
    "            newick_string = select_one_insertion_pattern_left_parenthesis_110(newick_string, counter, max_illumination_radius)\n",
    "     \n",
    "    return newick_string\n",
    "\n",
    "if __name__ == \"__main__\":\n",
    "    # Example usage of the functions\n",
    "    #newick_string = \"Node1[a=0.0,b=0.0,x=0.0,y=0.0,r=1.4]\"\n",
    "    #newick_string = \"(Node2[a=-1.0,b=1.0,x=-1.0,y=1.0,r=0.68])Node1[a=0.0,b=0.0,x=0.0,y=0.0,r=1.4]\"\n",
    "    #newick_string = \"(Node2[a=-1.0,b=1.0,x=-1.0,y=1.0,r=0.68],Node3[a=1.0,b=1.0,x=1.0,y=1.0,r=0.68])Node1[a=0.0,b=0.0,x=0.0,y=0.0,r=1.4]\"\n",
    "    original_newick_string = \"(Node2[a=-1.0,b=1.0,x=-1.0,y=1.0,r=0.68],Node3[a=1.0,b=1.0,x=1.0,y=1.0,r=0.68],Node4[a=1.0,b=-1.0,x=1.0,y=-1.0,r=2.18])Node1[a=0.0,b=0.0,x=0.0,y=0.0,r=1.0]\"\n",
    "    #newick_string = \"((((Node31[a=-1.0,b=-1.0,x=-4.0,y=-1.0,r=1.11],Node23[a=-1.0,b=1.0,x=1.0,y=3.0,r=1.0])Node13[a=1.0,b=0.0,x=2.0,y=2.0,r=1.05],Node12[a=-1.0,b=1.0,x=0.0,y=3.0,r=0.77])Node7[a=1.0,b=1.0,x=1.0,y=2.0,r=1.23],((Node22[a=-1.0,b=1.<Paste> x=-3.<Paste> y=3.\n",
    "    #newick_string = \"((((Node3１[a=-１．０,b=-１．０,x=-４．０,y=-１．０,r=１．１１],Node2３[a=-１．０,b=１．０,x=１．０,y=３．０,r=１．０])Node１３[a=１．０,b=０．０,x=２．０,y=２．０,r=１．０５],Node１２[a=-１．０,b=\"\n",
    "   \n",
    "    newick_string = insertion_of_leaf110(original_newick_string, counter=6, max_illumination_radius=3.0)\n",
    "    print(f\"Original Newick string: {original_newick_string}\")\n",
    "    print(f\"After inserting a leaf: {newick_string}\")\n",
    " "
   ],
   "outputs": [],
   "execution_count": null
  },
  {
   "cell_type": "code",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2026-10-02T13:55:44.075850Z",
     "start_time": "2026-10-02T13:55:44.034434Z"
    }
   },
   "source": [],
   "outputs": [],
   "execution_count": 9
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Ejercicio.** Desarrollar el código para la inserción de una rama en una cadena de Newick.\n",
    ">\n",
    "> *Respuesta.* El siguiente programa detecta todas los lugares apropiados para la inserción de una rama dentro de una cadena de Newick, elige uno de ellos, e inserta una rama. El código sigue:"
   ]
  },
  {
   "cell_type": "code",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "executionInfo": {
     "elapsed": 40,
     "status": "ok",
     "timestamp": 1789491134200,
     "user": {
      "displayName": "jose rodriguez",
      "userId": "08454562216435392883"
     },
     "user_tz": 300
    },
    "id": "xVo5NrGrQR9W",
    "outputId": "f0dc6f5e-9f58-402a-c19d-5cb7a8eaa3ad",
    "ExecuteTime": {
     "end_time": "2026-10-08T16:03:11.428050Z",
     "start_time": "2026-10-08T16:03:11.340275Z"
    }
   },
   "source": [
    " # Program branch_insertion_newick_strings.py\n",
    " # The following program detects all possible places\n",
    " # that are appropriate for the insertion of a branch inside a Newick string,\n",
    " # chooses one of those positions and inserts a branch.\n",
    " # Criterion: all insertion places are marked by the right pair ]).\n",
    " # If no such a marker exists, the string has only one node, the root.\n",
    " # In that case, synthezise a tree and give it as child to the root.\n",
    "\n",
    "\n",
    "import random\n",
    "import matplotlib.pyplot as plt\n",
    "import matplotlib.patches as patches\n",
    "import numpy as np\n",
    "from numpy import array as Array\n",
    "import copy # For deep copying trees during reproduction and mutation\n",
    "import sys # Import sys module to adjust recursion limit\n",
    "import re # Required for newick parsing\n",
    "import itertools # Required for sequential replacement\n",
    "# With the  assistance of Colab\n",
    "\n",
    "def replace_str_subsequence8(original_str, start_idx, end_idx, new_subsequence):\n",
    "    ''' Replace a subsequence of a string with another string.\n",
    "        By Google'''\n",
    "    # Concatenate the pieces together\n",
    "    return original_str[:start_idx] + new_subsequence + original_str[end_idx:]\n",
    "\n",
    "\n",
    "def newick_find_all_groups8(newick_string):\n",
    "  ''' All groups are found and one is chosen at random'''\n",
    "  # The pattern of groups on the image of\n",
    "  # Node4[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07]\n",
    "  #info_words =  r'[a-zA-Z_0-9_]*\\[a=-?[0-9]+(?:\\.[0-9]+)?,b=-?[0-9]+(?:\\.[0-9]+)?,x=-?[0-9]+(?:\\.[0-9]+)?,y=-?[0-9]+(?:\\.[0-9]+)?,r=-?[0-9]+(?:\\.[0-9]+)?\\]'\n",
    "  insertion_pattern = r'[]][])]'\n",
    "  starts = []\n",
    "  groups = []\n",
    "  for match in re.finditer(insertion_pattern, newick_string):\n",
    "      print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "      starts.append(match.start())\n",
    "      groups.append(match.group())\n",
    "  number_of_patterns = len(starts)\n",
    "  #print(f\"starts: {starts}\")\n",
    "  #print(f\"groups: {groups}\")\n",
    "  start_idx = 0\n",
    "  if groups:\n",
    "    # Select a start index at random\n",
    "    start_idx = random.randint(0, number_of_patterns-1)\n",
    "    group = groups[start_idx]\n",
    "    start = starts[start_idx]\n",
    "    print(f\"group: {group}\")\n",
    "    print(f\"start: {start}\")\n",
    "  else:\n",
    "    group = \"\"\n",
    "    start = 0\n",
    "  return group, start\n",
    "\n",
    "def insertion_of_branch8(newick_string, child_string):\n",
    "  # A group together its start site are elected\n",
    "  group, start =  newick_find_all_groups8(original_newick_string)\n",
    "  newick_string = original_newick_string\n",
    "  # String to be inserted\n",
    "  child_string = \"(Node15[a=-1.0,b=0.0,x=-2.0,y=-1.0,r=0.83],Node14[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07])Node1[a=-1.0,b=-1.0,x=-1.0,y=-1.0,r=0.95]\"\n",
    "  if group:\n",
    "    print(f\"Group (main): {group}\")\n",
    "    print(f\"Start (main): {start}\")\n",
    "    # Does the group have children?\n",
    "    char_before = original_newick_string[start-1]\n",
    "    print(f\"char_before: {char_before}\")\n",
    "\n",
    "    newick_string = newick_string.replace(\"])\", \"],\" + child_string + \")\")\n",
    "  else:\n",
    "    # a tree is given as a child to the root\n",
    "    newick_string = \"(\" + child_string + \")\" + newick_string\n",
    "  # Cosmetics\n",
    "  #newick_string = newick_string.replace(\",,\", \",\")\n",
    "\n",
    "  # Comparison\n",
    "  print(f\"Original Newick string: {original_newick_string}\")\n",
    "  print(f\"Final Newick_string: {newick_string}\")\n",
    "  return newick_string\n",
    "\n",
    "if __name__ == \"__main__\":\n",
    "  #original_newick_string = \"(Node3[a=-1.0,b=0.0,x=-1.0,y=0.0,r=0.5],Node2[a=0.0,b=-1.0,x=0.0,y=-1.0,r=0.67],(Node5[a=-1.0,b=0.0,x=-2.0,y=-1.0,r=0.83],Node4[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07])Node1[a=-1.0,b=-1.0,x=-1.0,y=-1.0,r=0.95])Node_0[a=0,b=0,x=0,y=0,r=1]\"\n",
    "  original_newick_string = \"Node_0[a=0,b=0,x=0,y=0,r=1]\"\n",
    "  #print(f\"Original Newick_string: {original_newick_string}\")\n",
    "  # A group together its start site are elected\n",
    "  group, start =  newick_find_all_groups8(original_newick_string)\n",
    "  newick_string = original_newick_string\n",
    "  # String to be inserted\n",
    "  child_string = \"(Node15[a=-1.0,b=0.0,x=-2.0,y=-1.0,r=0.83],Node14[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07])Node1[a=-1.0,b=-1.0,x=-1.0,y=-1.0,r=0.95]\"\n",
    "  newick_string = insertion_of_branch8(newick_string, child_string)\n",
    "  print(f\"Final Newick_string: {newick_string}\")\n",
    "\n",
    "\n"
   ],
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Original Newick string: Node_0[a=0,b=0,x=0,y=0,r=1]\n",
      "Final Newick_string: ((Node15[a=-1.0,b=0.0,x=-2.0,y=-1.0,r=0.83],Node14[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07])Node1[a=-1.0,b=-1.0,x=-1.0,y=-1.0,r=0.95])Node_0[a=0,b=0,x=0,y=0,r=1]\n",
      "Final Newick_string: ((Node15[a=-1.0,b=0.0,x=-2.0,y=-1.0,r=0.83],Node14[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07])Node1[a=-1.0,b=-1.0,x=-1.0,y=-1.0,r=0.95])Node_0[a=0,b=0,x=0,y=0,r=1]\n"
     ]
    }
   ],
   "execution_count": 8
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "exboT3lV1d2H"
   },
   "source": [
    "**Observación.** El programa inserta un elemento complejo en un antiguo árbol.\n",
    "\n",
    "**Protesta.** El problema de la doble ocupación no fue revisado.\n",
    ">\n",
    "> *Respuesta.* Bien, lo haremos al programar la Evolución.\n",
    "\n",
    "**Ejercicio.** Desarrolla el código para la recombinación. ¿Ves un futuro para esta operación?\n",
    ">\n",
    "> *Respuesta.* Se espera que la recombinación sea muy traumática debido a múltiples instancias del problema de la doble ocupación y de fragmentación de los recombinantes. Por lo tanto, no vemos futuro para esta operación. De todos modos, programar el intercambio de ramas en las cadenas Newick es bastante simple. El código sigue:\n"
   ]
  },
  {
   "cell_type": "code",
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "executionInfo": {
     "elapsed": 14,
     "status": "ok",
     "timestamp": 1789477137068,
     "user": {
      "displayName": "jose rodriguez",
      "userId": "08454562216435392883"
     },
     "user_tz": 300
    },
    "id": "G3LMAooCBEyf",
    "outputId": "350112eb-954e-4147-d5cb-413c315eca41",
    "ExecuteTime": {
     "end_time": "2026-10-08T16:08:20.583293Z",
     "start_time": "2026-10-08T16:08:20.498819Z"
    }
   },
   "source": [
    "# Program newick_strings_recombination.py\n",
    "# We hint recombination with the capability of\n",
    "# recombining full-functional branches and\n",
    "# use small to moderate population sizes.\n",
    "\n",
    "import random\n",
    "import matplotlib.pyplot as plt\n",
    "import matplotlib.patches as patches\n",
    "import numpy as np\n",
    "import math\n",
    "from numpy import array as Array\n",
    "import copy # For deep copying trees during reproduction and mutation\n",
    "import sys # Import sys module to adjust recursion limit\n",
    "import re # Required for newick parsing\n",
    "import itertools # Required for sequential replacement\n",
    "# With the  assistance of Colab\n",
    "\n",
    "\n",
    "def find_branch9(newick_string):\n",
    "  # A full functional branch is recognized because it is enclosed by ()\n",
    "  # and everything inside is full functional.\n",
    "  # We simply keep an accounting of parentheses pairing\n",
    "  print(\"\\nfind_branch\")\n",
    "  print(f\"newick_string: {newick_string}\")\n",
    "  pattern_right_par = r'[(]'\n",
    "  starts = []\n",
    "  groups = []\n",
    "  for match in re.finditer(pattern_right_par, newick_string):\n",
    "      print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "      starts.append(match.start())\n",
    "      groups.append(match.group())\n",
    "  number_of_infos = len(starts)\n",
    "  print(f\"number_of_infos = {number_of_infos}\")\n",
    "  print(f\"starts: {starts}\")\n",
    "  print(f\"groups: {groups}\")\n",
    "  if number_of_infos == 0: # The root is alone\n",
    "    return newick_string\n",
    "  # Select a start index at random\n",
    "  start_idx = random.randint(0, number_of_infos-1)\n",
    "  print(f\"selected start_idx: {start_idx}\")\n",
    "  start_idx = starts[start_idx]\n",
    "  print(f\"start_idx: {start_idx}\")\n",
    "  tail = newick_string[start_idx:]\n",
    "  print(f\"tail: {tail}\")\n",
    "  # Balance accounting\n",
    "  counter_of_pars = 0\n",
    "  for i in range(len(tail)):\n",
    "    if tail[i] == \"(\":\n",
    "      counter_of_pars = counter_of_pars + 1\n",
    "    if tail[i] == \")\":\n",
    "      counter_of_pars = counter_of_pars - 1\n",
    "    if counter_of_pars == 0:\n",
    "      branch = tail[: i+1]\n",
    "      print(f\"Functional branch: {branch}\")\n",
    "      break\n",
    "  return branch\n",
    "\n",
    "def newick_position_recombination9(newick_string1, newick_string2):\n",
    "  \"\"\" Recombination of full functional branches\"\"\"\n",
    "  print(\"\\nnewick_recombination14\")\n",
    "  print(f\"newick_string1: {newick_string1}\")\n",
    "  print(f\"newick_string2: {newick_string2}\")\n",
    "  branch1 = find_branch9(newick_string1)\n",
    "  branch2 = find_branch9(newick_string2)\n",
    "  print(f\"\\nbranch1: {branch1}\")\n",
    "  print(f\"branch2: {branch2}\")\n",
    "  # Branches are interchanged\n",
    "  newick_string1 = newick_string1.replace(branch1, branch2)\n",
    "  newick_string2 = newick_string2.replace(branch2, branch1)\n",
    "  return newick_string1, newick_string2\n",
    "\n",
    "\n",
    "if __name__ == \"__main__\":\n",
    "\n",
    "  newick_string1 = \"(Node3[a=-1.0,b=0.0,x=-1.0,y=0.0,r=0.5],Node2[a=0.0,b=-1.0,x=0.0,y=-1.0,r=0.67],(Node5[a=-1.0,b=0.0,x=-2.0,y=-1.0,r=0.83],Node4[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07])Node1[a=-1.0,b=-1.0,x=-1.0,y=-1.0,r=0.95])Node_0[a=0,b=0,x=0,y=0,r=1]\"\n",
    "  newick_string2  = \"(Node12[a=-1.0,b=0.0,x=-2.0,y=-1.0,r=0.83],Node11[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07])Node10[a=-1.0,b=-1.0,x=-1.0,y=-1.0,r=0.95]\"\n",
    "\n",
    "  #newick_string1 = \"(((Node9[x=-11,y=19.7,r=12.4567],Node8[x=0,y=7,r=15],Node7[x=6,y=16,r=9])Node6[x=17,y=9,r=20],Node5[x=19,y=15,r=10],(Node4[x=15,y=14,r=1])Node3[x=11,y=13,r=19],Node2[x=18,y=17,r=11])Node1[x=16,y=1,r=12])Node0[x=10,y=4,r=1]\"\n",
    "  #print(f\"Initial newick_string1: {newick_string1}\")\n",
    "  #newick_string2 = \"((Node2[x=18,y=17,r=11])Node1[x=16,y=1,r=12])Node0[x=10,y=4,r=1]\"\n",
    "  #print(f\"Initial newick_string2: {newick_string2}\")\n",
    "  #draw_newick_string14(newick_string1)\n",
    "  #draw_newick_string14(newick_string2)\n",
    "  print(\"Recombination\")\n",
    "  newick_recombinant1, newick_recombinant2 = newick_position_recombination9(newick_string1, newick_string2)\n",
    "  print(f\"newick_recombinant1: {newick_recombinant1}\")\n",
    "  print(f\"newick_recombinant2: {newick_recombinant2}\")\n",
    "  print(\"Done\")\n",
    "\n",
    "  #print(f\"\\nfinal newick_string1: {newick_string1}\")\n",
    "  #print(f\"final newick_string2: {newick_string2}\")\n",
    "  #draw_newick_string14(newick_string1)\n",
    "  #draw_newick_string14(newick_string2)\n",
    "  #print(\"Done\")\n"
   ],
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Recombination\n",
      "\n",
      "newick_recombination14\n",
      "newick_string1: (Node3[a=-1.0,b=0.0,x=-1.0,y=0.0,r=0.5],Node2[a=0.0,b=-1.0,x=0.0,y=-1.0,r=0.67],(Node5[a=-1.0,b=0.0,x=-2.0,y=-1.0,r=0.83],Node4[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07])Node1[a=-1.0,b=-1.0,x=-1.0,y=-1.0,r=0.95])Node_0[a=0,b=0,x=0,y=0,r=1]\n",
      "newick_string2: (Node12[a=-1.0,b=0.0,x=-2.0,y=-1.0,r=0.83],Node11[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07])Node10[a=-1.0,b=-1.0,x=-1.0,y=-1.0,r=0.95]\n",
      "\n",
      "find_branch\n",
      "newick_string: (Node3[a=-1.0,b=0.0,x=-1.0,y=0.0,r=0.5],Node2[a=0.0,b=-1.0,x=0.0,y=-1.0,r=0.67],(Node5[a=-1.0,b=0.0,x=-2.0,y=-1.0,r=0.83],Node4[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07])Node1[a=-1.0,b=-1.0,x=-1.0,y=-1.0,r=0.95])Node_0[a=0,b=0,x=0,y=0,r=1]\n",
      "Match: '(' starts at index: 0\n",
      "Match: '(' starts at index: 80\n",
      "number_of_infos = 2\n",
      "starts: [0, 80]\n",
      "groups: ['(', '(']\n",
      "selected start_idx: 1\n",
      "start_idx: 80\n",
      "tail: (Node5[a=-1.0,b=0.0,x=-2.0,y=-1.0,r=0.83],Node4[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07])Node1[a=-1.0,b=-1.0,x=-1.0,y=-1.0,r=0.95])Node_0[a=0,b=0,x=0,y=0,r=1]\n",
      "Functional branch: (Node5[a=-1.0,b=0.0,x=-2.0,y=-1.0,r=0.83],Node4[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07])\n",
      "\n",
      "find_branch\n",
      "newick_string: (Node12[a=-1.0,b=0.0,x=-2.0,y=-1.0,r=0.83],Node11[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07])Node10[a=-1.0,b=-1.0,x=-1.0,y=-1.0,r=0.95]\n",
      "Match: '(' starts at index: 0\n",
      "number_of_infos = 1\n",
      "starts: [0]\n",
      "groups: ['(']\n",
      "selected start_idx: 0\n",
      "start_idx: 0\n",
      "tail: (Node12[a=-1.0,b=0.0,x=-2.0,y=-1.0,r=0.83],Node11[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07])Node10[a=-1.0,b=-1.0,x=-1.0,y=-1.0,r=0.95]\n",
      "Functional branch: (Node12[a=-1.0,b=0.0,x=-2.0,y=-1.0,r=0.83],Node11[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07])\n",
      "\n",
      "branch1: (Node5[a=-1.0,b=0.0,x=-2.0,y=-1.0,r=0.83],Node4[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07])\n",
      "branch2: (Node12[a=-1.0,b=0.0,x=-2.0,y=-1.0,r=0.83],Node11[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07])\n",
      "newick_recombinant1: (Node3[a=-1.0,b=0.0,x=-1.0,y=0.0,r=0.5],Node2[a=0.0,b=-1.0,x=0.0,y=-1.0,r=0.67],(Node12[a=-1.0,b=0.0,x=-2.0,y=-1.0,r=0.83],Node11[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07])Node1[a=-1.0,b=-1.0,x=-1.0,y=-1.0,r=0.95])Node_0[a=0,b=0,x=0,y=0,r=1]\n",
      "newick_recombinant2: (Node5[a=-1.0,b=0.0,x=-2.0,y=-1.0,r=0.83],Node4[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07])Node10[a=-1.0,b=-1.0,x=-1.0,y=-1.0,r=0.95]\n",
      "Done\n"
     ]
    }
   ],
   "execution_count": 10
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "8G-hK8OGKNXM"
   },
   "source": [
    "*Observación.* El código es más simple de lo esperado.\n",
    "\n",
    "Podría ser bueno quemar otra opción para la recombinación.\n",
    "\n",
    "**Desafío.** Con la esperanza de disminuir el daño causado por el cruce, no recombine la posición sino las instrucciones para que los hijos se alejen del padre asociado a cada nodo. Aceptar solo aquellos movimientos que no sean problemáticos."
   ]
  },
  {
   "cell_type": "code",
   "metadata": {
    "id": "d7AK_dHGPU4B",
    "ExecuteTime": {
     "end_time": "2026-10-02T13:55:44.254732Z",
     "start_time": "2026-10-02T13:55:44.242910Z"
    }
   },
   "source": [],
   "outputs": [],
   "execution_count": 11
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "lSbwgatTPVrp"
   },
   "source": [
    "## Evaluación de la aptitud\n",
    "\n",
    "**Ejercicio.** Desarrolla el código para evaluar la aptitud o el rendimiento de un morfo-árbol de Newick. El procedimiento es el siguiente: se define un árbol objetivo y se determina y marca su área iluminada, que es la área iluminada objetivo. Para evaluar la aptitud de un morfo-árbol, se determina el área iluminada correspondiente y luego se compara con el área iluminada objetivo. El número de células en la diferencia simétrica de esas áreas es el error, a partir del cual se calcula la aptitud. Cuando el error es cero, eso significa perfección, la aptitud es uno, y cuando el error es infinito, la aptitud es cero.\n",
    ">\n",
    "> *Respuesta.* El siguiente código para evaluar la idoneidad de un árbol de morfología de Newick es el mismo que usamos en la contribución anterior con la clase Nodo. Por lo tanto, lo pegamos directamente sobre los programas de abajo que simulan la Evolución.\n"
   ]
  },
  {
   "cell_type": "code",
   "metadata": {
    "id": "XPlyvyUjPn-9",
    "ExecuteTime": {
     "end_time": "2026-10-02T13:55:44.265018Z",
     "start_time": "2026-10-02T13:55:44.258820Z"
    }
   },
   "source": [],
   "outputs": [],
   "execution_count": 11
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "FK2lcAAPPolV"
   },
   "source": [
    "# EVOLUCIÓN DE MORFO-ÁRBOLES NEWICK\n",
    "\n",
    "Vamos paso a paso. Nuestro propósito para el primer intento es simplemente ver que Evolución funciona, que las funciones de fitness crecen con el tiempo. Por lo tanto, no nos importa la regla de que el padre y los hijos deben ser vecinos, ni que dos celdas no pueden ocupar la misma plaza, ni que los árboles terminen en pedazos.\n",
    "\n",
    "**Ejercicio.** Desarrollar el código para la Evolución de los morfo-árboles de Newick.\n",
    ">\n",
    "> *Respuesta.* El siguiente es el código para nuestro primer intento de simular la Evolución de los morfo-árboles en notación Newick."
   ]
  },
  {
   "cell_type": "code",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2026-10-02T18:50:46.628942Z",
     "start_time": "2026-10-02T18:46:32.752350Z"
    }
   },
   "source": [
    "# Program Evolución_of_newick_morphological_trees_basic.py\n",
    "# Morphological trees considered here are like lighting trees:\n",
    "# an electrical thread in the form of tree covers an area\n",
    "# and there is lamp at each node.\n",
    "# Each lamp has a given power and a circle of illumination,\n",
    "# whose radius is determined by a threshold intensity.\n",
    "# In morphology, this corresponds with a threshold concentration of a messenger.\n",
    "# Evolución is given the task of illuminating\n",
    "# the area determined by a random target tree.\n",
    "# Trees are encoded in Newick Notation and\n",
    "# everything is done over the correspond strings\n",
    "# without resorting to the Node class.\n",
    "# Thus, it is possible to use the Newick strings as a genotype and\n",
    "# the corresponding trees as a phenotype.\n",
    "\n",
    "import random\n",
    "import matplotlib.pyplot as plt\n",
    "import matplotlib.patches as patches\n",
    "import numpy as np\n",
    "import math\n",
    "import copy # For deep copying trees during reproduction and mutatio\n",
    "import re # Required for newick parsing\n",
    "#import itertools # Required for sequential replacement\n",
    "import sys # Import sys module to adjust recursion limit\n",
    "sys.setrecursionlimit(3000)\n",
    "import time\n",
    "# trace memory allocation \n",
    "#https://www.geeksforgeeks.org/python/monitoring-memory-usage-of-a-running-python-program/\n",
    "# this consumes too much cpu-time by a multiplicative factor, say 5 for 1000 lines.\n",
    "import tracemalloc \n",
    "#Activate  memory monitoring?\n",
    "memory_monitoring = False \n",
    "\n",
    "\n",
    "# starting the memory allocation monitoring\n",
    "if memory_monitoring:\n",
    "    tracemalloc.start() \n",
    "start_time = time.time()\n",
    "\n",
    "# Parameters for the target tree generation\n",
    "target_tree_params = {\n",
    "  'max_depth': 7,\n",
    "  'max_number_children': 3,\n",
    "  'max_node_radius': 1.5,\n",
    "}\n",
    "\n",
    "# Parameters for the Genetic Algorithm\n",
    "ga_params = {\n",
    "  'seed': 12345,  \n",
    "  'pop_size': 200,\n",
    "  'generations': 30,\n",
    "  'max_depth': 8,\n",
    "  'max_number_children': 3,\n",
    "  'max_node_radius': 1.5,\n",
    "  'mutation_rate': 0.001,#size of trees overgrows\n",
    "  'crossover_rate': 0.001 #size of trees overgrows\n",
    "}\n",
    "\n",
    "# This is an upper bound to the number of nodes in a tree, \n",
    "# which is used to limit the size of the trees during Evolución.\n",
    "max_number_of_groups =  ga_params['max_depth'] * ga_params['max_number_children']/2 # This is an upper bound to the number of nodes in a tree, which is used to limit the size of the trees during Evolución.\n",
    "inhibit_insertion_of_branches = False # If True, the insertion of branches is inhibited during mutation\n",
    "\n",
    "\n",
    "def print_parameters10(target_tree_params, ga_params):\n",
    "    print(\"LAB: Evolución OF NEWICK MORPHO-TREES-BASIC\")\n",
    "    print(\"PURPOSE: \"\n",
    "          + \"\\n A random morpho-tree T is generated.\"\n",
    "          + \"\\n Evolución tries to restore the tree T\"\n",
    "          + \"\\n beginning from a population of random trees.\")\n",
    "    print(f\"EXPERIMENT {start_time}\")\n",
    "    print(f\"TARGET TREE PARAMETERS: {target_tree_params}\")\n",
    "    print(f\"GENETIC ALGORITHM PARAMETERS: {ga_params}\\n\")\n",
    "\n",
    "\n",
    "# GENERATION OF A MORPHO-TREE\n",
    "\n",
    "# Program morpho_tree_drawer.py\n",
    "\n",
    "# The following program generates a Newick strings\n",
    "# that encodes for a morpho-tree  and draws it.\n",
    "# Children are located in the immediate neighborhood of the father.\n",
    "# If postions are occupied, no children.\n",
    "# Then, children are generated only when there is place for them.\n",
    "\n",
    "# ====   Grammar_generator =======\n",
    "\n",
    "# This program uses a hidden grammar to generate Newick expressions that encode for morphological trees.\n",
    "# The information of each node is generated on the image of\n",
    "#   Node25[a=18,b=18,x=19,y=0,r=14.3]\n",
    "# The rules of the grammar are:\n",
    "# 1. Initial string or seed: `s = ()n`\n",
    "# 2. Generate a random digit: x\n",
    "# 3. Replace in `s`, `()` by x copies of `(()n ` separated by a comma.\n",
    "# 4. Iterate.\n",
    "# 5. Replace each `n`by the info of a node whose values are generated at random but the index of the tag is a counter with the iterative process.\n",
    "# 6. Delete the tag \"()\" that appears in the last appended children.\n",
    "# An ordered set of rules like this is a Generative Grammar.\n",
    "# The grammmar is hidden because no n is generated,\n",
    "# because beforehand it is replaced by the info of a node.\n",
    "# With the assistance of Colab and reusing a previous code by Gemini.\n",
    "\n",
    "\n",
    "\n",
    "def replace_str_subsequence10(original_str, start_idx, end_idx, new_subsequence):\n",
    "    ''' Replace a subsequence from start_idx to end_idx with another string.\n",
    "        By Google'''\n",
    "    # Concatenate the pieces together\n",
    "    return original_str[:start_idx] + new_subsequence + original_str[end_idx:]\n",
    "\n",
    "def replace_strig_of_length10(original_str, replacement, position, length_to_replace):\n",
    "    \"\"\"\n",
    "    Replaces a subsequence of given length.\n",
    "    :param original_str: The main text string\n",
    "    :param replacement: The new text you want to insert\n",
    "    :param position: The starting index of the old subsequence\n",
    "    :param length_to_replace: The length of the old subsequence being removed\n",
    "    \"\"\"\n",
    "    before = original_str[:position]\n",
    "    after = original_str[position + length_to_replace:]\n",
    "    return before + replacement + after\n",
    "\n",
    "\n",
    "def detect_all_groups10(newick_string):\n",
    "    '''Al substrings that encodes for the info of a node, step from father, center and radius are detected.'''\n",
    "\n",
    "    #print(\"detect_all_groups10(newick_string)\")\n",
    "    #print(f\"Newick String: {newick_string}\")\n",
    "    # Detect a pattern on the model  info = NodeB_3_x_2[a=0,b=1,x=2,y=2,r=3]\n",
    "    #info_words = r'[\\a-zA-Z_0-9_[_=_,\\] ]+'\n",
    "    #info_words = r'[a-zA-Z_][a-zA-Z_0-9_]*\\[x=-?[0-9]+(?:\\.[0-9]+)?,y=-?[0-9]+(?:\\.[0-9]+)?,r=-?[0-9]+(?:\\.[0-9]+)?\\]$'\n",
    "                                                    #info_words = r'[a-zA-Z_0-9_]*\\[x=-?[0-9]+(?:\\.[0-9]+)?,y=-?[0-9]+(?:\\.[0-9]+)?,r=-?[0-9]+(?:\\.[0-9]+)?\\]'\n",
    "    info_words =  r'[a-zA-Z_0-9_]*\\[a=-?[0-9]+(?:\\.[0-9]+)?,b=-?[0-9]+(?:\\.[0-9]+)?,x=-?[0-9]+(?:\\.[0-9]+)?,y=-?[0-9]+(?:\\.[0-9]+)?,r=-?[0-9]+(?:\\.[0-9]+)?\\]'\n",
    "    starts = []\n",
    "    groups = []\n",
    "    for match in re.finditer(info_words, newick_string):\n",
    "        #print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "        #print(f\"    starts at index: {match.start()}\")\n",
    "        starts.append(match.start())\n",
    "        groups.append(match.group())\n",
    "    #number_of_groups = len(starts)\n",
    "    #print(f\"number_of_groups = {number_of_groups}\")\n",
    "    #print(f\"starts of gropus: {starts}\")\n",
    "    #print(f\"groups: {groups}\")\n",
    "\n",
    "\n",
    "    '''\n",
    "    # All infos are replaced by the dumb variable n\n",
    "    for j in range(number_of_infos - 1, -1, -1):\n",
    "        print(f\"start_of_info[{j}]:  {starts[j]},  len(groups[{j}]): {len(groups[j])}\")\n",
    "        new_s = replace_at_position2(new_s, \"n\", starts[j], len(groups[j]))\n",
    "        print(f\"new string = '{new_s}'\")\n",
    "        '''\n",
    "    return groups\n",
    "\n",
    "def extract_info10(group):\n",
    "  '''The info of each group is extracted by tokenizers from the string.'''\n",
    "  patern_a = r'a=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  patern_b = r'b=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  patern_x = r'x=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  patern_y = r'y=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  patern_r = r'r=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  a = re.findall(patern_a, group)\n",
    "  b = re.findall(patern_b, group)\n",
    "  x = re.findall(patern_x, group)\n",
    "  y = re.findall(patern_y, group)\n",
    "  r = re.findall(patern_r, group)\n",
    "  a = float(a[0][2:])\n",
    "  b = float(b[0][2:])\n",
    "  x = float(x[0][2:])\n",
    "  y = float(y[0][2:])\n",
    "  r = float(r[0][2:])\n",
    "  return [a,b,x,y,r]\n",
    "\n",
    "\n",
    "\n",
    "def get_neighboring_coordinates10(cell):\n",
    "  '''Immediate neighboring coordinates of a cell are generated'''\n",
    "  neighbors = []\n",
    "  for dx in [-1, 0, 1]:\n",
    "      for dy in [-1, 0, 1]:\n",
    "          if dx == 0 and dy == 0:\n",
    "              continue  # Exclude the current square itself\n",
    "          neighbors.append((cell[0] + dx, cell[1] + dy))\n",
    "  return neighbors\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "def find_father_center10(newick_string, j):\n",
    "  ''' Finds the address of the father of a node at j'''\n",
    "  #print(\"find_father_center10(s, j)\")\n",
    "  #print(f\"s: {newick_string}\")\n",
    "  #print(f\"j: {j}\")\n",
    "\n",
    "  #Right tail is recruited\n",
    "  tail = newick_string[j+1:]\n",
    "  father_group = detect_all_groups10(tail)\n",
    "  if father_group:\n",
    "    #print(f\"Father_group 1: {father_group}\")\n",
    "    [af,bf,xf,yf,rf] = extract_info10(father_group[0])\n",
    "    #print(f\"Info: a: {af}, b: {bf}, x: {xf}, y: {yf}, r: {rf}\")\n",
    "    father_center = [xf,yf]\n",
    "    return father_center\n",
    "  else:\n",
    "   return \"\"\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "def node_info_generator10(father_center, counter,  occupied_squares_set, max_node_radius):\n",
    "  '''For each node, info is generated on the model\n",
    "     Node_26[a=1,b=-1,x=3,y=5,r=0.85]\n",
    "     by replacing n by the info of a node whose values are generated at random\n",
    "     but the index of the tag is a counter with the iterative process.\n",
    "      '''\n",
    "  #print(\"node_info_generator10(father_center, counter,  occupied_squares_set)\")\n",
    "  coordinates_neighbors = get_neighboring_coordinates10(father_center)\n",
    "  #print(f\"coordinates_neighbors: {coordinates_neighbors}\")\n",
    "  #print(f\"occupied_squares_set: {occupied_squares_set}\")\n",
    "  # First, filter for unoccupied grid squares within this tree\n",
    "  available_square_neighbors = [coord for coord in coordinates_neighbors if coord not in occupied_squares_set]\n",
    "  info = \"\" # future info of a node that represents a cell\n",
    "  if available_square_neighbors:\n",
    "    # Choose a random valid candidate\n",
    "    nx,  ny  = random.choice(available_square_neighbors)\n",
    "    na = nx - father_center[0]\n",
    "    nb = ny - father_center[1]\n",
    "    nr = random.uniform(0.5, max_node_radius)\n",
    "    nr = round(nr, 2)\n",
    "    info = \"Node\" +  str(counter)  + \"[\" + \"a=\" + str(na) + \",\" + \"b=\" + str(nb) + \",\"  +   \"x=\" + str(nx) + \",\" + \"y=\" + str(ny) + \",\" + \"r=\" + str(nr)+ \"]\"\n",
    "    info = \"()\"+ info\n",
    "    #print(f\"Generated Node info: {info}\")\n",
    "    occupied_squares_set.add((nx, ny))\n",
    "\n",
    "  else:\n",
    "    #All neighboring places are occupied\n",
    "    #print(\"All neighboring places are occupied\")\n",
    "    info = \"\"\n",
    "  return info, occupied_squares_set\n",
    "\n",
    "\n",
    "def generate_children10(father_center, numb_children, counter, occupied_squares_set, max_node_radius):\n",
    "  ''' Generate children in the pattern of a Newick Tree.\n",
    "      Output in the form\n",
    "      n,n,n,n '''\n",
    "  #print(\"generate_children(max_numb_children)\")\n",
    "  #print(f\"Number of children: {numb_children}\")\n",
    "  s = \"\"\n",
    "  for i in range(numb_children):\n",
    "    if i == 0:\n",
    "      a = \"\"\n",
    "    else:\n",
    "      a = \",\"\n",
    "    info, occupied_squares_set = node_info_generator10(father_center, counter, occupied_squares_set, max_node_radius)\n",
    "    if not info:\n",
    "      continue\n",
    "    else:\n",
    "     s = info + a + s\n",
    "     counter = counter + 1\n",
    "  s =  \"(\" + s + \")\"\n",
    "  #print(f\"Children: {s}\")\n",
    "  return s, counter, occupied_squares_set\n",
    "\n",
    "\n",
    "def complete_tree_generator10(max_depth, max_numb_children, max_node_radius):\n",
    "  ''' A tree is generated step by step\n",
    "   taking care of generating no child where there is no place for it.'''\n",
    "  #print(\"complete_tree_generator10(...)\")\n",
    "  occupied_squares_set = set() # Initialize a new set for this tree's square coordinates\n",
    "  actual_depth = random.randint(0, max_depth) # Number of allowed divisions along each branch.\n",
    "  #print(f\"Actual depth: {actual_depth}\")\n",
    "  # () is used as a marker for insertion. \n",
    "  tree = \"()Node_0[a=0,b=0,x=0,y=0,r=1]\"\n",
    "  occupied_squares_set.add((0,0))\n",
    "  #counter of defined nodes\n",
    "  counter = 1\n",
    "  for i in range(actual_depth):\n",
    "      #print(f\"depth: {i}\")\n",
    "      l = len(tree)\n",
    "      #print(f\"i : {i} l: {l}\")\n",
    "      # String s is scanned starting from the end\n",
    "      for j in range(l-1, 0, -1):\n",
    "        #print(f\"s: {s}\")\n",
    "        #print(f\"s[j-1] s[j]  :  {s[j-1]}{s[j]}\")\n",
    "        # Replace () by a list of children\n",
    "        if tree[j-1] == \"(\" and tree[j] == \")\":\n",
    "          father_center = find_father_center10(tree, j)\n",
    "          #print(f\"Father center: {father_center}\")\n",
    "          if not father_center:\n",
    "            continue\n",
    "          numb_children = random.randint(0, max_numb_children)\n",
    "          if numb_children == 0:\n",
    "            continue\n",
    "          else:\n",
    "            # Replacement\n",
    "            generated_children, counter, occupied_squares_set = generate_children10(father_center, numb_children, counter, occupied_squares_set, max_node_radius)\n",
    "            tree = replace_str_subsequence10(tree, j-1, j+1, generated_children)\n",
    "          #print(f\"{i} {j} Tree: {tree}\")\n",
    "  #print(f\"crude tree: {tree}\")\n",
    "  tree = tree.replace(\"()\", \"\")\n",
    "  #print(f\"final tree: {tree}\")\n",
    "  return tree\n",
    "\n",
    "# === VALIDATOR ====\n",
    "\n",
    "\n",
    "# Program validator_for_newick_morpho_trees.py\n",
    "# The task is to decide whether a Newick string encodes for a morpho tree.\n",
    "# To solve the task,\n",
    "# we simply go backwards over the procedure of creation of Newick strings.\n",
    "# The program has two sections.\n",
    "# In the first,\n",
    "# the string in divided in tokens, substrings of predefined content,\n",
    "# and all groups that fit into the pattern\n",
    "# info = NodeB_3_x_2[a=2,b=2,r=3] are detected.\n",
    "# Each found group undergoes a detailed test for correctness.\n",
    "# If some group is wrong, the whole string is rejected.\n",
    "# If all are correct, the test continues further on.\n",
    "# In the second section,\n",
    "# each info is replaced by \"n\",\n",
    "# then, each \"n\" is replaced by\"\"\n",
    "# then each \"()\" is replaced by \"\".\n",
    "# If a formula is correct,\n",
    "# the final product of this algorithm is the void sting \"\",\n",
    "# and its length is zero.\n",
    "# With the help of Gemini and Google.\n",
    "\n",
    "\n",
    "\n",
    "# --- TOKENIZER FOR NEWICK STRINGS ---\n",
    "# --- Elements to create well-formed Newick info-s of Morpho_trees.---\n",
    "# --- Every info is modeled on the pattern\n",
    "# --- NodeB_3_x_2[a=1,b=0,x=4,y=5,r=1.2]\n",
    "# --- where a nad b are -1,0,1 except (0,0)\n",
    "# --- because they represent a step awya from the father.\n",
    "# --- If a substring fits into this pattern,\n",
    "# --- it must produce the sequence 73756275627564.\n",
    "# --- Say, each info begins with a noun = letters, number 7,\n",
    "# --- and ends with a right bracket number 4.\n",
    "# --- Assigned numbers are at the right of comments.\n",
    "# --- By Gemini\n",
    "TOKEN_SPECIFICATION_NEWICK = [\n",
    "    ('LPAREN',    r'\\('),          # Left Parenthesis, 0\n",
    "    ('RPAREN',    r'\\)'),          # Right Parenthesis, 1\n",
    "    ('COMMA',     r','),           # Comma separator for children, 2\n",
    "    ('LBRACKET',  r'\\['),          # Left Bracket for metadata, 3\n",
    "    ('RBRACKET',  r'\\]'),          # Right Bracket for metadata, 4\n",
    "    ('EQUALS',    r'='),           # Equals sign in metadata, 5\n",
    "    ('NUMBER',    r'-?\\d+(?:\\.\\d+)?'), # Numbers (integers or floats, possibly negative), 6\n",
    "    ('LETTERS',   r'[a-zA-Z_0-9]+'), # Node labels (e.g., 'Node0', 'Target_Root_26'), or variables (x, y, r), 7\n",
    "    ('SEMICOLON', r';'),           # Optional semicolon at end of Newick string, 8\n",
    "    ('SKIP',      r'[ \\t\\n]+'),  # Skip spaces, tabs, newlines, 9\n",
    "    ('MISMATCH',  r'.'),           # Any other illegal character, *\n",
    "]\n",
    "\n",
    "def tokenize_newick10(newick_str):\n",
    "    \"\"\"Converts a Newick string into a list of (token_type, value) tuples.\"\"\"\n",
    "    #print(\"\\ntokenize_newick\")\n",
    "    tokens = []\n",
    "    tok_regex = '|'.join(f'(?P<{name}>{pattern})' for name, pattern in TOKEN_SPECIFICATION_NEWICK)\n",
    "    tokens = []\n",
    "    for mo in re.finditer(tok_regex, newick_str):\n",
    "        kind = mo.lastgroup\n",
    "        value = mo.group()\n",
    "        if kind == 'SKIP':\n",
    "            continue\n",
    "        elif kind == 'MISMATCH':\n",
    "            raise SyntaxError(f\"Newick Grammar Violation: Illegal character '{value}' in '{newick_str}'\")\n",
    "        tokens.append((kind, value))\n",
    "    return tokens\n",
    "\n",
    "# --- VALIDATOR FOR INFO SUBSTRINGS THAT MUST FIT INTO THE PATTERN ---\n",
    "# --- info = NodeB_3_x_2[a=1,b=-1,x=2,y=4,r=3.2], 22 tokens\n",
    "def examine_subsequence10(tokens, j):\n",
    "    #print(\"\\nexamine_subsequence\")\n",
    "    # Every info must begin with a letter, whose index is 7.\n",
    "    tracker = [\"LETTERS\"]\n",
    "    tracker2 = \"7\"\n",
    "    if tokens[j + 1][0] == 'LBRACKET':\n",
    "        tracker.append('LBRACKET')\n",
    "        tracker2 += \"3\"\n",
    "    if tokens[j + 2][0] == 'LETTERS':\n",
    "        tracker.append('LETTERS')\n",
    "        tracker2 += \"7\"\n",
    "    if tokens[j + 3][0] == 'EQUALS':\n",
    "        tracker.append('EQUALS')\n",
    "        tracker2 += \"5\"\n",
    "    if tokens[j + 4][0] == 'NUMBER':\n",
    "        tracker.append('NUMBER')\n",
    "        tracker2 += \"6\"\n",
    "    if tokens[j + 5][0] == 'COMMA':\n",
    "        tracker.append('COMMA')\n",
    "        tracker2 += \"2\"\n",
    "    if tokens[j + 6][0] == 'LETTERS':\n",
    "        tracker.append('LETTERS')\n",
    "        tracker2 += \"7\"\n",
    "    if tokens[j + 7][0] == 'EQUALS':\n",
    "        tracker.append('EQUALS')\n",
    "        tracker2 += \"5\"\n",
    "    if tokens[j + 8][0] == 'NUMBER':\n",
    "        tracker.append('NUMBER')\n",
    "        tracker2 += \"6\"\n",
    "    if tokens[j + 9][0] == 'COMMA':\n",
    "        tracker.append('COMMA')\n",
    "        tracker2 += \"2\"\n",
    "    if tokens[j + 10][0] == 'LETTERS':\n",
    "        tracker.append('LETTERS')\n",
    "        tracker2 += \"7\"\n",
    "    if tokens[j + 11][0] == 'EQUALS':\n",
    "        tracker.append('EQUALS')\n",
    "        tracker2 += \"5\"\n",
    "    if tokens[j + 12][0] == 'NUMBER':\n",
    "        tracker.append('NUMBER')\n",
    "        tracker2 += \"6\"\n",
    "    if tokens[j + 13][0] == 'COMMA':\n",
    "        tracker.append('COMMA')\n",
    "        tracker2 += \"2\"\n",
    "    if tokens[j + 14][0] == 'LETTERS':\n",
    "        tracker.append('LETTERS')\n",
    "        tracker2 += \"7\"\n",
    "    if tokens[j + 15][0] == 'EQUALS':\n",
    "        tracker.append('EQUALS')\n",
    "        tracker2 += \"5\"\n",
    "    if tokens[j + 16][0] == 'NUMBER':\n",
    "        tracker.append('NUMBER')\n",
    "        tracker2 += \"6\"\n",
    "    if tokens[j + 17][0] == 'COMMA':\n",
    "        tracker.append('COMMA')\n",
    "        tracker2 += \"2\"\n",
    "    if tokens[j + 18][0] == 'LETTERS':\n",
    "        tracker.append('LETTERS')\n",
    "        tracker2 += \"7\"\n",
    "    if tokens[j + 19][0] == 'EQUALS':\n",
    "        tracker.append('EQUALS')\n",
    "        tracker2 += \"5\"\n",
    "    if tokens[j + 20][0] == 'NUMBER':\n",
    "        tracker.append('NUMBER')\n",
    "        tracker2 += \"6\"\n",
    "    if tokens[j + 21][0] == 'RBRACKET':\n",
    "        tracker.append('RBRACKET')\n",
    "        tracker2 += \"4\"\n",
    "    #print(f\"Tokens: {tracker}\")\n",
    "    print(f\"tracker2: {tracker2}\")\n",
    "    master_pattern = \"7375627562756275627564\"\n",
    "                    # 7375627562756275627564\n",
    "    #print(f\"master pattern:  {master_pattern}\")\n",
    "    if tracker2 == master_pattern:\n",
    "        return True, \"Valid Newick sub-string.\"\n",
    "    else:\n",
    "        return False, \"Invalid Newick sub-string.\"\n",
    "\n",
    "\n",
    "def simplify10(text):\n",
    "    # Assuming that all infos of a string have been declared correct,\n",
    "    # the string is further tested for the balance of parentheses.\n",
    "    # print(\"\\nsimplify(text)\")\n",
    "    # print(f\"text: {text}\")\n",
    "    # Detect a pattern on the model  info = NodeB_3_x_2[a=2,b=2,x=3,y=7,r=2.3]\n",
    "    #info_words = r'[\\a-zA-Z_0-9_[_=_,\\] ]+'\n",
    "    #info_words = r'[a-zA-Z_][a-zA-Z_0-9_]*\\[x=-?[0-9]+(?:\\.[0-9]+)?,y=-?[0-9]+(?:\\.[0-9]+)?,r=-?[0-9]+(?:\\.[0-9]+)?\\]$'\n",
    "    info_words =  r'[a-zA-Z_0-9_]*\\[a=-?[0-9]+(?:\\.[0-9]+)?,b=-?[0-9]+(?:\\.[0-9]+)?,x=-?[0-9]+(?:\\.[0-9]+)?,y=-?[0-9]+(?:\\.[0-9]+)?,r=-?[0-9]+(?:\\.[0-9]+)?\\]'\n",
    "    starts = []\n",
    "    groups = []\n",
    "    for match in re.finditer(info_words, text):\n",
    "        #print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "        #print(f\"    starts at index: {match.start()}\")\n",
    "        starts.append(match.start())\n",
    "        groups.append(match.group())\n",
    "    number_of_infos = len(starts)\n",
    "    #print(f\"number_of_infos = {number_of_infos}\")\n",
    "    #print(f\"starts of infos: {starts}\")\n",
    "    #print(f\"groups or infos: {groups}\")\n",
    "    new_s = text\n",
    "    # All infos are replaced by the dumb variable n\n",
    "    for j in range(number_of_infos - 1, -1, -1):\n",
    "        #print(f\"start_of_info[{j}]:  {starts[j]},  len(groups[{j}]): {len(groups[j])}\")\n",
    "        new_s = replace_strig_of_length10(new_s, \"n\", starts[j], len(groups[j]))\n",
    "        #print(f\"new string = '{new_s}'\")\n",
    "    # Balance of parentheses is inquired.\n",
    "    new_s = new_s.replace(\"n,\", \"\")\n",
    "    new_s = new_s.replace(\"n\", \"\")\n",
    "    #print(f\"Simplified string = {new_s} \")\n",
    "    l = len(new_s)\n",
    "    #print(f\"Length of Simplified string = {l}\")\n",
    "    for i in range(l):\n",
    "      new_s = new_s.replace(\"()\", \"\")\n",
    "    final_length = len(new_s)\n",
    "    # print(f\"Final string = {new_s}, final_length = {final_length}\")\n",
    "    if final_length == 0:\n",
    "        #print(\"Valid string at simplify\")\n",
    "        return True,  \"Valid Newick string.\"\n",
    "    else:\n",
    "        #print(\"Invalid string at simplify\")\n",
    "        return False, \"Invalid Newick string.\"\n",
    "\n",
    "\n",
    "\n",
    "def validate_newick_syntax10(newick_str):\n",
    "    \"\"\"\n",
    "    Validates if a Newick string is syntactically correct.\n",
    "    This function checks for balanced parentheses, proper comma usage for children,\n",
    "    and correct metadata format, without building a tree object.\n",
    "    \"\"\"\n",
    "    #print(\"Validating Newick syntax\")\n",
    "    tokens = []\n",
    "    try:\n",
    "        tokens = tokenize_newick10(newick_str)\n",
    "        #print(f\"newick_str: {newick_str}\")\n",
    "        #print(f\"Tokens: {tokens}\")\n",
    "    except SyntaxError as e:\n",
    "        return False, str(e)\n",
    "    if not tokens:\n",
    "        return False, \"Empty Newick string.\"\n",
    "    l = len(tokens)\n",
    "    #print(f\"Length of tokens: {l}\")\n",
    "    j = 0\n",
    "    indexes_of_tokens = []\n",
    "    if l == 1:\n",
    "        kind, value = tokens[j]\n",
    "        if kind == 'LETTERS': # NodeA\n",
    "            return True, \"Valid Newick string.\"\n",
    "        else:\n",
    "            return False, \"Invalid Newick string.\"\n",
    "    elif l == 2:\n",
    "        kind, value = tokens[j]\n",
    "        if kind == 'LETTERS' and tokens[1][0] == 'SEMICOLON': #NodeC;\n",
    "            return True, \"Valid Newick string.\"\n",
    "        else:\n",
    "            return False, \"Invalid Newick string.\"\n",
    "    elif 3 < l < 22: # No redundancy is assumed\n",
    "        return False, \"Invalid Newick string.\"\n",
    "    elif l >= 22:\n",
    "        #print(f\"Length of string: {l}\")\n",
    "        for j in range(l-20):\n",
    "            #print(f\"tokens[{j}]: {tokens[j]}\")\n",
    "            #print(f\"tokens[{j+1}]: {tokens[j+1]}\")\n",
    "            if tokens[j][0] == 'LETTERS' and tokens[j+1][0] == 'LBRACKET':\n",
    "                #print(f\"Starting index : {j}\".format(j=j))\n",
    "                indexes_of_tokens.append(j)\n",
    "                # info that starts at j is examined for correctness\n",
    "                is_valid10, message10 = examine_subsequence10(tokens, j)\n",
    "                if is_valid10:\n",
    "                    pass\n",
    "                else:\n",
    "                    return False, \"Invalid Newick string.\"\n",
    "        #print(f\"Starting indexes of tokens: {indexes_of_tokens }\")\n",
    "    is_valid10, message10 = simplify10(newick_str)\n",
    "    if is_valid10:\n",
    "        return True, \"Valid morpho-tree.\"\n",
    "    else:\n",
    "        return False, \"Invalid morpho-tree.\"\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "# Generate a sample of Newick strings that are immediately tested by a validator\n",
    "def test_validator10(max_depth, max_numb_children, max_node_radius):\n",
    "    # Specific test\n",
    "    model = \"NodeB_3_x_2[a=-1,b=0,x=-4,y=5,r=1.2]\"\n",
    "    #print(\"Simple test\")\n",
    "    #print(f\"Model of Newick String: {model}\")\n",
    "    is_valid, message = validate_newick_syntax10(model)\n",
    "    #print(f\"message: {message}\")\n",
    "    invalid_string = \"NodeB_3_x_2[a=-1,b=0,x=-4,y=5,r=1.2]]\"\n",
    "    #print(f\"\\nInvalid_string: {invalid_string}\")\n",
    "    is_valid, message = validate_newick_syntax10(invalid_string)\n",
    "    #print(f\"message: {message}\")\n",
    "    #print(\"\\n\")\n",
    "\n",
    "\n",
    "    #print(\"\\nMassive test of Newick formulas encoding for morpho-trees:\\n\" + \"=\"*47)\n",
    "    max_depth = 7\n",
    "    max_numb_children = 3\n",
    "    #print(f\"max_depth: {max_depth}\")\n",
    "    #print(f\"max_numb_children: {max_numb_children} \\n\"+ \"=\"*20)\n",
    "    for i in range(1, 100):\n",
    "        p, s = complete_tree_generator10(max_depth, max_numb_children, max_node_radius)\n",
    "        #print(f\"pattern {p}\")\n",
    "        #print(f\"Morpho-tree {i}: {s}\")\n",
    "        is_valid, message = validate_newick_syntax10(s)\n",
    "        #print(f\"is valid at main : {is_valid}, message: {message}\")\n",
    "        #status = \"✅ VALID\" if is_valid else \"❌ INVALID\"\n",
    "        #print(f\"Morpho-tree {i}:: {status} - {message}\")\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "# ======== DRAWING ================\n",
    "\n",
    "def get_illuminated_area10(x,y,r):\n",
    "    '''\n",
    "      The illuminated area enclosess all unitary squares that intersetcs the circles of illumination.\n",
    "      Each square is denoted by its left botton corner. These will be found in the set illuminated_coords.\n",
    "    '''\n",
    "    #print(\"get_illuminated_area10\")\n",
    "    #print(f\"x: {x}, y: {y}, r: {r}\")\n",
    "    illuminated_coords = set()\n",
    "\n",
    "\n",
    "    for xi,yi,ri in zip(x,y,r):\n",
    "        circle_center_x = xi + 0.5\n",
    "        circle_center_y = yi + 0.5\n",
    "        r_sq = ri ** 2\n",
    "        # 1. Add the cell containing the center of the circle\n",
    "        # This covers the case of small circles not intersecting grid lines.\n",
    "        illuminated_coords.add((math.floor(circle_center_x), math.floor(circle_center_y)))\n",
    "\n",
    "        # 2. Horizontal Scan: Check intersections with horizontal grid lines\n",
    "        # Iterate y_line from floor(cy - r) to ciel(cy + r)\n",
    "        # These y_line values represent the y-coordinates of horizontal grid lines.\n",
    "        for y_line in range(math.floor(circle_center_y - ri)-1,\n",
    "                            math.ceil(circle_center_y + ri) + 1):\n",
    "            dy = y_line - circle_center_y\n",
    "            discriminant = r_sq - dy * dy\n",
    "\n",
    "            if discriminant >= 0:\n",
    "                dx = math.sqrt(discriminant)\n",
    "                x_min_intersect = circle_center_x - dx\n",
    "                x_max_intersect = circle_center_x + dx\n",
    "\n",
    "                # For each integer x-coordinate that the horizontal segment crosses:\n",
    "                # Add the cells whose bottom-left corner's x-coordinate is in this range.\n",
    "                # This covers cells whose top edge is y_line AND cells whose bottom edge is y_line.\n",
    "                for ix in range(math.floor(x_min_intersect), math.floor(x_max_intersect) + 1):\n",
    "                    illuminated_coords.add((ix, y_line))\n",
    "                    illuminated_coords.add((ix, y_line - 1))\n",
    "\n",
    "        # 3. Vertical Scan: Check intersections with vertical grid lines\n",
    "        # Iterate x_line from floor(cx - r) to ciel(cx + r)\n",
    "        # These x_line values represent the x-coordinates of vertical grid lines.\n",
    "        for x_line in range(math.floor(circle_center_x - ri)-1,\n",
    "                            math.ceil(circle_center_x + ri) + 1):\n",
    "            dx = x_line - circle_center_x\n",
    "            discriminant = r_sq - dx * dx\n",
    "\n",
    "            if discriminant >= 0:\n",
    "                dy = math.sqrt(discriminant)\n",
    "                y_min_intersect = circle_center_y - dy\n",
    "                y_max_intersect = circle_center_y + dy\n",
    "\n",
    "                # For each integer y-coordinate that the vertical segment crosses:\n",
    "                # Add the cells whose bottom-left corner's y-coordinate is in this range.\n",
    "                # This covers cells whose right edge is x_line AND cells whose left edge is x_line.\n",
    "                for iy in range(math.floor(y_min_intersect), math.floor(y_max_intersect) + 1):\n",
    "                    # Cell (x_line, iy) - its left edge is at x_line\n",
    "                    illuminated_coords.add((x_line, iy))\n",
    "                    # Cell (x_line - 1, iy) - its right edge is at x_line\n",
    "                    illuminated_coords.add((x_line - 1, iy))\n",
    "    # print(f\"illuminated_coords  {illuminated_coords}\")\n",
    "\n",
    "    return illuminated_coords\n",
    "\n",
    "\n",
    "def plot_illuminated_area_newick10(ax, illuminated_coords, title, color='blue', alpha=0.1):\n",
    "    ax.set_aspect('equal', adjustable='box')\n",
    "    if not illuminated_coords:\n",
    "        ax.set_title(title)\n",
    "        ax.grid(True)\n",
    "        return\n",
    "\n",
    "    for x, y in illuminated_coords:\n",
    "        rect = patches.Rectangle((x, y), 1, 1, facecolor=color, alpha=alpha, edgecolor='black', linewidth=0.5)\n",
    "        ax.add_patch(rect)\n",
    "\n",
    "    min_x = min(c[0] for c in illuminated_coords) - 1\n",
    "    max_x = max(c[0] for c in illuminated_coords) + 2\n",
    "    min_y = min(c[1] for c in illuminated_coords) - 1\n",
    "    max_y = max(c[1] for c in illuminated_coords) + 2\n",
    "    #print(f\"min_x: {min_x}, max_x: {max_x}, min_y: {min_y}, max_y: {max_y}\")\n",
    "\n",
    "    ax.set_xlim(min_x, max_x)\n",
    "    ax.set_ylim(min_y, max_y)\n",
    "    ax.set_xticks(range(int(min_x), int(max_x)))\n",
    "    ax.set_yticks(range(int(min_y), int(max_y)))\n",
    "    ax.grid(True)\n",
    "    ax.set_title(title)\n",
    "\n",
    "\n",
    "\n",
    "def plot_tree_nodes_and_their_diffusion_circles10(x,y,r, ax, tree_color='lightblue', diff_color='red'):\n",
    "  for xi,yi,ri in zip(x,y,r):\n",
    "    # Plot the square representing the cell\n",
    "    rect = patches.Rectangle((xi, yi), 1, 1, facecolor=tree_color, edgecolor='black', linewidth=1, zorder=1)\n",
    "    ax.add_patch(rect)\n",
    "    #node_label_part = node.value.split('_')[-1] if '_' in node.value else node.value\n",
    "    #ax.text(xi + 0.5, yi + 0.5, node_label_part, ha='center', va='center', color='darkblue', fontsize=7, zorder=2)\n",
    "\n",
    "    # Plot the circle representing the radius of influence\n",
    "    circle = patches.Circle((xi + 0.5, yi + 0.5), ri, color='red', alpha=0.1, zorder=2)\n",
    "    ax.add_patch(circle)\n",
    "\n",
    "\n",
    "def connect_leaves_to_father10(newick_string, ax, tree_color='lightblue', diff_color='red'):\n",
    "    '''Draw lines connecting leaves to father'''\n",
    "\n",
    "    #print(\"\\n\\nconnect_leaves_to_father10\")\n",
    "    #print(f\"Newick String: {newick_string}\")\n",
    "\n",
    "    # Detection of leaves.\n",
    "    # Dectect substrings of the form \"(...)\" but without interior parentheses.\n",
    "    pattern_leaves = r'[(][^()]*[)]'\n",
    "    # Leaves may come grouped by bouquets\n",
    "    bouquets_of_leaves = re.findall(pattern_leaves, newick_string )\n",
    "    #print(f\"Bouquets_of_leaves: {bouquets_of_leaves}\")\n",
    "    #number_of_bouquets = len(bouquets_of_leaves)\n",
    "    #print(f\"number_of_bouquets = {number_of_bouquets}\")\n",
    "    all_leaves = []\n",
    "    # Descipher each leaf and find the father\n",
    "    for bouquet_of_leaves in bouquets_of_leaves:\n",
    "        #print(f\"\\nbouquet_of_leaves1: {bouquet_of_leaves}\")\n",
    "        bouquet_of_leaves = bouquet_of_leaves[1:-1]\n",
    "        #print(f\"\\nbouquet_of_leaves2: {bouquet_of_leaves}\")\n",
    "        #Bouquet could be composed of various leaves.\n",
    "        leaves = detect_all_groups10(bouquet_of_leaves)\n",
    "\n",
    "        #print(f\"\\nLeaves: {leaves}\")\n",
    "        #number_of_leaves = len(leaves)\n",
    "        #print(f\"number_of_leaves = {number_of_leaves}\")\n",
    "        centers_leaves = []\n",
    "        father_group = []\n",
    "        for loaf in leaves:\n",
    "          loaf = loaf.replace(\" \", \"\")\n",
    "          #print(f\"\\nloaf: {loaf}\")\n",
    "          all_leaves.append(loaf)\n",
    "          [al,bl,xl,yl,rl] = extract_info10(loaf)\n",
    "          #print(f\"Info: a: {al}, b: {bl}, x: {xl}, y: {yl}, r: {rl}\")\n",
    "          centers_leaves.append((xl,yl))\n",
    "\n",
    "          # Find the father of the bouquet of leaves.\n",
    "          # It is the node after the last leaf\n",
    "          # Example:\n",
    "          # (Node9[x=-11,y=19.7,r=12.4567],Node8[x=0,y=7,r=15],Node7[x=6,y=16,r=9])Node6[x=17,y=9,r=20]\n",
    "          # The father of Node9, Node8, and Node7 is Node 6:\n",
    "\n",
    "          # We find the index of the last leaf in newick_string\n",
    "          # Find the last loaf in bouquet\n",
    "          last_leaf = leaves[-1]\n",
    "          # last_leaf = last_leaf.replace(\" \", \"\")\n",
    "          #print(f\"\\nlast_leaf: {last_leaf}\")\n",
    "          index_last_leaf = newick_string.find(last_leaf)\n",
    "          #print(f\"index_last_leaf: {index_last_leaf}\")\n",
    "          length_of_last_leaf = len(last_leaf)\n",
    "          #print(f\"length_of_last_leaf: {length_of_last_leaf}\")\n",
    "          #Find the father of the leaves. It is the node after the last brother\n",
    "          father_with_tail = newick_string[index_last_leaf+ length_of_last_leaf:]\n",
    "          #print(f\"Father with tail: {father_with_tail}\")\n",
    "          father_group = detect_all_groups10(father_with_tail)\n",
    "        if father_group:\n",
    "          #print(f\"Father_group: {father_group}\")\n",
    "          [al,bl,xl,yl,rl]  = extract_info10(father_group[0])\n",
    "          #print(f\"Info: a: {al}, b: {bl}, x: {xl}, y: {yl}, r: {rl}\")\n",
    "          father_center = (xl,yl)\n",
    "          #print(f\"father_center: {father_center}\")\n",
    "          # Draw a line from each center in centers_leaves to father_center\n",
    "          for center_leaf in centers_leaves:\n",
    "            ax.plot([center_leaf[0] + 0.5, father_center[0] + 0.5], [center_leaf[1] + 0.5, father_center[1] + 0.5], 'k--', linewidth=0.8, zorder = 3)\n",
    "    # Leaves are erased: each leave is replaced by \"\"\n",
    "    for leaf in all_leaves:\n",
    "          #print(f\"leaf to be erased: {leaf}\")\n",
    "          newick_string = newick_string.replace(leaf + \",\", \"\")\n",
    "          newick_string = newick_string.replace(leaf, \"\")\n",
    "          #print(f\"Newick String without leaves: {newick_string}\")\n",
    "    newick_string = newick_string.replace(\"()\", \"\")\n",
    "    #print(f\"Newick String without leaves: {newick_string}\")\n",
    "    is_valid, message = validate_newick_syntax10(newick_string)\n",
    "    #print(f\"is valid at connect_leaves_to_father10(...) : {is_valid}, message: {message}\")\n",
    "    #status = \"✅ VALID\" if is_valid else \"❌ INVALID\"\n",
    "    #print(f\"Is the Newick string a valid morpho-tree? : {status} - {message}\")\n",
    "    groups = detect_all_groups10(newick_string)\n",
    "    number_of_groups = len(groups)\n",
    "    return newick_string, number_of_groups\n",
    "\n",
    "\n",
    "\n",
    "def connect_children_to_father10(newick_string, ax,   diff_color='red' ):\n",
    "    '''Draw lines connecting children to father.\n",
    "       1. Each leaf is connected to its father,\n",
    "          and the corresponding stroke is plotted.\n",
    "       2. Leaves are erased.\n",
    "       3. New leaves are detected and connected to their father.\n",
    "       4, And so on.\n",
    "       '''\n",
    "\n",
    "    #print(\"connect_children_to_father10\")\n",
    "    #print(f\"Newick String: {newick_string}\")\n",
    "    length_string = len(newick_string)\n",
    "    #print(f\"length_string: {length_string}\")\n",
    "    groups = detect_all_groups10(newick_string)\n",
    "    #print(f\"Groups: {groups}\")\n",
    "    number_of_groups = len(groups)\n",
    "    # Leaves are recursively found and connected to their father.\n",
    "    counter_of_trials = 0\n",
    "    while number_of_groups > 1:\n",
    "        #print(\"\\n\\nconnect_children_to_father10\")\n",
    "        #print(f\"Newick String: {newick_string}\")\n",
    "\n",
    "        newick_string, number_of_groups = connect_leaves_to_father10(newick_string, ax, tree_color='lightblue', diff_color='red')\n",
    "        counter_of_trials = counter_of_trials + 1\n",
    "        if counter_of_trials > length_string:\n",
    "          break\n",
    "    # The root is detected and marked with a cross\n",
    "    groups = detect_all_groups10(newick_string)\n",
    "    #print(f\"Groups: {groups}\")\n",
    "    number_of_groups = len(groups)\n",
    "    #print(f\"number_of_groups = {number_of_groups}\")\n",
    "    # Mark the root with a red cross\n",
    "    if number_of_groups >= 1:\n",
    "      [a0,b0,x0,y0,r0] = extract_info10(groups[-1])\n",
    "      #print(f\"Origin: a: {a0}, b: {b0}, x: {x0}, y: {y0}, r: {r0}\")\n",
    "      ax.plot([x0, x0 +1 ], [y0+ 0.5, y0+ 0.5],   color = 'red', linewidth=0.8, zorder = 3)\n",
    "      ax.plot([x0 + 0.5, x0 +0.5], [y0, y0+ 1],   color = 'red', linewidth=0.8, zorder = 3)\n",
    "    return newick_string, number_of_groups\n",
    "\n",
    "def extract_all_infos10(newick_string):\n",
    "    #print(\"extract_all_infos\n",
    "    # Groups are detected. A group is the encoding of the parameters of a node in an info.\n",
    "    groups = detect_all_groups10(newick_string)\n",
    "    #print(f\"Groups: {groups}\")\n",
    "    number_of_groups = len(groups)\n",
    "    #print(f\"number_of_groups = {number_of_groups}\")\n",
    "\n",
    "    # Info is extracted from each group and\n",
    "    # all infos are kept in corresponding arrays.\n",
    "    a = []\n",
    "    b = []\n",
    "    x = []\n",
    "    y = []\n",
    "    r = []\n",
    "    #print(\"\\nInfo is extracted form each group\")\n",
    "    for i in range(number_of_groups):\n",
    "      #print(f\"group[{i}]: {groups[i]}\")\n",
    "      #print(f\"len(group[{i}]): {len(groups[i])}\")\n",
    "      [ai,bi,xi,yi,ri] = extract_info10(groups[i])\n",
    "      #print(f\"a: {ai}, b: {bi}, x: {xi}, y: {yi}, r: {ri}\")\n",
    "      a.append(ai)\n",
    "      b.append(bi)\n",
    "      x.append(xi)\n",
    "      y.append(yi)\n",
    "      r.append(ri)\n",
    "    return a,b,x,y,r\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "def draw_tree_newick10(newick_string, title):\n",
    "    #print(\"\\n=========== DRAWING=======\\n\")\n",
    "    #print(\"=========== DRAWING=======\\n\")\n",
    "    #print(\"=========== DRAWING=======\\n\")\n",
    "    a,b,x,y,r = extract_all_infos10(newick_string)\n",
    "    fig, ax = plt.subplots(figsize=(7, 15))\n",
    "    ax.set_aspect('equal')\n",
    "    plot_tree_nodes_and_their_diffusion_circles10(x,y,r, ax, tree_color='lightgreen', diff_color='red')\n",
    "\n",
    "    # Illuminated area is calculated\n",
    "    illuminated_coords = get_illuminated_area10(x,y,r)\n",
    "    #print(f\"Illuminated cells: {illuminated_coords}\")\n",
    "    #print(f\"Number of illuminated cells: {len(illuminated_coords)}\")\n",
    "    # Tree is drawn\n",
    "    #title = \"morpho-tree: lightgreen, illuminated circles: red, illuminated Area: lightblue\"\n",
    "    plot_illuminated_area_newick10(ax, illuminated_coords, title, color='blue', alpha=0.1)\n",
    "    # Lines that define the tree are added\n",
    "    connect_children_to_father10(newick_string, ax, diff_color='red'  )\n",
    "\n",
    "    plt.tight_layout()\n",
    "    plt.show()\n",
    "    return illuminated_coords\n",
    "\n",
    "\n",
    "# Generate the  Newick string of a morpho-tree, test and draw it\n",
    "# def generate_test_and_draw_morpho_tree(target_tree_params['max_depth'], target_tree_params['max_number_children'], target_tree_params['max_node_radius'] ):\n",
    "def generate_and_test_morpho_tree10(target_tree_params, ga_params):\n",
    "    #tree_info_generator10(target_tree_params['max_depth'], target_tree_params['max_number_children'], target_tree_params['max_node_radius'] )\n",
    "    # Parameters for the target tree generation\n",
    "\n",
    "\n",
    "    max_depth = max_depth=ga_params['max_depth'] #20 # MAximal number of cell divisions along each branch\n",
    "    max_numb_children = ga_params['max_number_children']\n",
    "    max_node_radius = ga_params['max_node_radius']  # MAximal radius of illuminated circle\n",
    "\n",
    "    # test_validator(max_depth, max_numb_children, max_node_radius)\n",
    "    #print(f\"max_depth: {max_depth}\")\n",
    "    #print(f\"max_numb_children: {max_numb_children}\")\n",
    "    #print(f\"max_node_radius: {max_node_radius} \\n\"+ \"=\"*20)\n",
    "\n",
    "    my_seed = 243 # For reproducibility\n",
    "    #print(f\"Seed: {my_seed}\")\n",
    "    random.seed(my_seed)\n",
    "    newick_tree = complete_tree_generator10(max_depth, max_numb_children, max_node_radius) #line 264\n",
    "    is_valid, message = validate_newick_syntax10(newick_tree)\n",
    "    illuminated_coords = set()\n",
    "    if is_valid:\n",
    "        a,b,x,y,r = extract_all_infos10(newick_tree)\n",
    "        illuminated_coords = get_illuminated_area10(x,y,r)\n",
    "    else:\n",
    "      print(\"Newick string is not valid\")\n",
    "    #is_valid, message = validate_newick_syntax10(newick_tree)\n",
    "    #print(f\"is valid at main : {is_valid}, message: {message}\")\n",
    "    #status = \"✅ VALID\" if is_valid else \"❌ INVALID\"\n",
    "    #print(f\"Is the Newick string a valid morpho-tree? : {status} - {message}\")\n",
    "    return newick_tree, illuminated_coords\n",
    "\n",
    "\n",
    "# --- Evoluciónary functions ---\n",
    "\n",
    "def create_initial_population_newick10(pop_size=ga_params['pop_size'], max_depth=ga_params['max_depth'], max_children=ga_params['max_number_children'],  max_node_radius=ga_params['max_node_radius'] ):\n",
    "    population = []\n",
    "    for _ in range(pop_size):\n",
    "        new_tree = complete_tree_generator10(max_depth, max_children, max_node_radius)\n",
    "        population.append(new_tree)\n",
    "    return population\n",
    "\n",
    "\n",
    "def get_illuminated_coordinates10(newick_string):\n",
    "  '''Coordinates of illuminated cells are extracted from the Newick string'''\n",
    "  a,b,x,y,r = extract_all_infos10(newick_string)\n",
    "  # Illuminated area is calculated\n",
    "  illuminated_coords = get_illuminated_area10(x,y,r)\n",
    "  ##print(f\"Illuminated cells: {illuminated_coords}\")\n",
    "  ##print(f\"Number of illuminated cells: {len(illuminated_coords)}\")\n",
    "  return illuminated_coords\n",
    "\n",
    "\n",
    "\n",
    "def calculate_fitness_illumination10(candidate_tree_root, target_illuminated_area):\n",
    "    \"\"\"\n",
    "    Calculates fitness based on the symmetric difference between illuminated areas.\n",
    "    Fitness is 1.0 for a perfect match, and decreases as symmetric difference increases.\n",
    "    Reuse of a previous code by Gemini 2.5 Flash\n",
    "    \"\"\"\n",
    "    if candidate_tree_root is None:\n",
    "        # If the tree generation failed, assign a very low fitness\n",
    "        return 0.0001 # A small non-zero value to avoid division by zero issues later\n",
    "\n",
    "    candidate_illuminated_area = get_illuminated_coordinates10(candidate_tree_root)\n",
    "\n",
    "    # Symmetric difference: (A U B) - (A intersect B)\n",
    "    # Or, the elements in A but not B, plus elements in B but not A.\n",
    "    symmetric_difference = candidate_illuminated_area.symmetric_difference(target_illuminated_area)\n",
    "\n",
    "    # Union size: used for normalization\n",
    "    union_size = len(candidate_illuminated_area.union(target_illuminated_area))\n",
    "\n",
    "    if union_size == 0:\n",
    "        if not target_illuminated_area and not candidate_illuminated_area:\n",
    "            return 1.0 # Perfect match if both are empty\n",
    "        else:\n",
    "            return 0.0001 # Should not happen if target is non-empty, but handles cases where both are empty but expected non-empty\n",
    "\n",
    "    # Fitness is 1.0 - (len(symmetric_difference) / union_size)\n",
    "    # This gives 1.0 for a perfect match (symmetric_difference_area = 0)\n",
    "    # and approaches 0.0 for large differences.\n",
    "    fitness = 1.0 - (len(symmetric_difference) / union_size)\n",
    "    return max(0.0001, fitness) # Ensure fitness is always positive\n",
    "\n",
    "\n",
    "def select_parents_newick(population, fitness_scores, num_parents):\n",
    "    parents = []\n",
    "    # Use roulette wheel selection or tournament selection. Tournament is generally robust.\n",
    "    for _ in range(num_parents):\n",
    "        tournament_size = min(5, len(population))\n",
    "        if tournament_size == 0:\n",
    "            break\n",
    "        tournament_candidates = random.sample(list(zip(population, fitness_scores)), tournament_size)\n",
    "        winner = max(tournament_candidates, key=lambda x: x[1])[0]\n",
    "        parents.append(winner)\n",
    "    return parents\n",
    "\n",
    "def find_recombinant_branch10(newick_string):\n",
    "  # A full functional branch is recognized because it is enclosed by ()\n",
    "  # and everything inside is full functional.\n",
    "  # We simply keep an accounting of parentheses pairing\n",
    "  #print(\"\\nfind_branch\")\n",
    "  #print(f\"newick_string: {newick_string}\")\n",
    "  pattern_right_par = r'[(]'\n",
    "  starts = []\n",
    "  groups = []\n",
    "  for match in re.finditer(pattern_right_par, newick_string):\n",
    "      #print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "      starts.append(match.start())\n",
    "      groups.append(match.group())\n",
    "  number_of_infos = len(starts)\n",
    "  #print(f\"number_of_infos = {number_of_infos}\")\n",
    "  #print(f\"starts: {starts}\")\n",
    "  #print(f\"groups: {groups}\")\n",
    "  if number_of_infos == 0: # The root is alone\n",
    "    return newick_string\n",
    "  # Select a start index at random\n",
    "  start_idx = random.randint(0, number_of_infos-1)\n",
    "  #print(f\"selected start_idx: {start_idx}\")\n",
    "  start_idx = starts[start_idx]\n",
    "  #print(f\"start_idx: {start_idx}\")\n",
    "  tail = newick_string[start_idx:]\n",
    "  #print(f\"tail: {tail}\")\n",
    "  # Balance accounting\n",
    "  counter_of_pars = 0\n",
    "  for i in range(len(tail)):\n",
    "    if tail[i] == \"(\":\n",
    "      counter_of_pars = counter_of_pars + 1\n",
    "    if tail[i] == \")\":\n",
    "      counter_of_pars = counter_of_pars - 1\n",
    "    if counter_of_pars == 0:\n",
    "      branch = tail[: i+1]\n",
    "      #print(f\"Functional branch: {branch}\")\n",
    "      break\n",
    "  return branch\n",
    "\n",
    "def newick_position_recombination10(newick_string1, newick_string2):\n",
    "  \"\"\" Recombination of full functional branches\"\"\"\n",
    "  #print(\"\\nnewick_recombination14\")\n",
    "  #print(f\"newick_string1: {newick_string1}\")\n",
    "  #print(f\"newick_string2: {newick_string2}\")\n",
    "  branch1 = find_recombinant_branch10(newick_string1)\n",
    "  branch2 = find_recombinant_branch10(newick_string2)\n",
    "  #print(f\"\\nbranch1: {branch1}\")\n",
    "  #print(f\"branch2: {branch2}\")\n",
    "  # Branches are interchanged\n",
    "  newick_string1 = newick_string1.replace(branch1, branch2)\n",
    "  newick_string2 = newick_string2.replace(branch2, branch1)\n",
    "  return newick_string1, newick_string2\n",
    "\n",
    "\n",
    "def newick_mutation_of_radius10(newick_string):\n",
    "  # The pattern of the radius of illumination, r = 0.2\n",
    "  pattern_r = r'r=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  starts = []\n",
    "  groups = []\n",
    "  for match in re.finditer(pattern_r, newick_string):\n",
    "      #print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "      starts.append(match.start())\n",
    "      groups.append(match.group())\n",
    "  number_of_infos = len(starts)\n",
    "  #print(f\"number_of_infos = {number_of_infos}\")\n",
    "  #print(f\"starts: {starts}\")\n",
    "  #print(f\"groups: {groups}\")\n",
    "  # Select a start index at random\n",
    "  start_idx = random.randint(0, number_of_infos-1)\n",
    "  #print(f\"selected start_idx: {start_idx}\")\n",
    "  l = len(groups[start_idx])\n",
    "  #print(f\"l: {l}\")\n",
    "  # Select a new radius\n",
    "  new_radius = random.uniform(0.5, 2)\n",
    "  #print(f\"new_radius: {new_radius}\")\n",
    "\n",
    "  new_info = \"r=\" + str(new_radius)\n",
    "  #print(f\"new_info: {new_info}\")\n",
    "  # Replace the info\n",
    "  mutated_newick_string = replace_str_subsequence10(newick_string, starts[start_idx], starts[start_idx] + l, new_info)\n",
    "  #print(f\"newick_string: {newick_string}\")\n",
    "  return mutated_newick_string\n",
    "\n",
    "\n",
    "def newick_find_insertion_patterns10(newick_string):\n",
    "  ''' All insertion patterns are found and one is chosen at random'''\n",
    "  # The pattern of groups on the image of\n",
    "  # Node4[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07]\n",
    "  insertion_pattern = r'[]][])]'\n",
    "  starts = []\n",
    "  groups = []\n",
    "  for match in re.finditer(insertion_pattern, newick_string):\n",
    "      #print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "      starts.append(match.start())\n",
    "      groups.append(match.group())\n",
    "  number_of_patterns = len(starts)\n",
    "  #print(f\"starts: {starts}\")\n",
    "  #print(f\"groups: {groups}\")\n",
    "  start_idx = 0\n",
    "  if groups:\n",
    "    # Select a start index at random\n",
    "    start_idx = random.randint(0, number_of_patterns-1)\n",
    "    group = groups[start_idx]\n",
    "    start = starts[start_idx]\n",
    "    #print(f\"group: {group}\")\n",
    "    #print(f\"start: {start}\")\n",
    "  else:\n",
    "    group = \"\"\n",
    "    start = 0\n",
    "  return group, start\n",
    "\n",
    "def insertion_of_branch10(newick_string, child_string):\n",
    "  #original_newick_string = newick_string\n",
    "  # The pattern of groups on the image of\n",
    "  # Node4[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07]\n",
    "  # A group together its start site are elected\n",
    "  group, start =  newick_find_insertion_patterns10(newick_string)\n",
    "  # String to be inserted\n",
    "  # child_string = \"(Node15[a=-1.0,b=0.0,x=-2.0,y=-1.0,r=0.83],Node14[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07])Node1[a=-1.0,b=-1.0,x=-1.0,y=-1.0,r=0.95]\"\n",
    "  child_string = complete_tree_generator10(max_depth = 2, max_numb_children = 2, max_node_radius= 1.5)\n",
    "  if group:\n",
    "    #print(f\"Group (main): {group}\")\n",
    "    #print(f\"Start (main): {start}\")\n",
    "    # Does the group have children?\n",
    "    #char_before = newick_string[start-1]\n",
    "    #print(f\"char_before: {char_before}\")\n",
    "\n",
    "    newick_string = newick_string.replace(\"])\", \"],\" + child_string + \")\")\n",
    "  else:\n",
    "    # a tree is given as a child to the root\n",
    "    newick_string = \"(\" + child_string + \")\" + newick_string\n",
    "  # Cosmetics\n",
    "  #newick_string = newick_string.replace(\",,\", \",\")\n",
    "\n",
    "  # Comparison\n",
    "  #print(f\"Original Newick string: {original_newick_string}\")\n",
    "  #print(f\"Final Newick_string: {newick_string}\")\n",
    "  return newick_string\n",
    "\n",
    "\n",
    "def newick_find_all_groups10(newick_string):\n",
    "  ''' All groups are found and one is chosen at random and returned'''\n",
    "  # The pattern of groups on the image of\n",
    "  # Node4[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07]\n",
    "  info_words =  r'[a-zA-Z_0-9_]*\\[a=-?[0-9]+(?:\\.[0-9]+)?,b=-?[0-9]+(?:\\.[0-9]+)?,x=-?[0-9]+(?:\\.[0-9]+)?,y=-?[0-9]+(?:\\.[0-9]+)?,r=-?[0-9]+(?:\\.[0-9]+)?\\]'\n",
    "  starts = []\n",
    "  groups = []\n",
    "  for match in re.finditer(info_words, newick_string):\n",
    "      #print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "      starts.append(match.start())\n",
    "      groups.append(match.group())\n",
    "  number_of_infos = len(starts)\n",
    "  if number_of_infos == 0: # The root is alone\n",
    "    return newick_string, 0\n",
    "  number_of_groups = len(groups)\n",
    "  if number_of_groups > max_number_of_groups:\n",
    "    inhibit_insertion_of_branches = True\n",
    "  else:\n",
    "    inhibit_insertion_of_branches = False\n",
    "  \n",
    "  #print(f\"number_of_infos = {number_of_infos}\")\n",
    "  #print(f\"starts: {starts}\")\n",
    "  #print(f\"groups: {groups}\")\n",
    "  # Select a start index at random\n",
    "  start_idx = random.randint(0, number_of_infos-1)\n",
    "  #print(f\"selected start_idx: {start_idx}\")\n",
    "  return groups[start_idx], starts[start_idx]\n",
    "\n",
    "  \n",
    "\n",
    "\n",
    "def find_branch10(newick_string, final_index):\n",
    "  initial_segment = newick_string[:final_index]\n",
    "  #print(f\"initial_segment: {initial_segment}\")\n",
    "  # Balance accounting\n",
    "  counter_of_pars = 0\n",
    "  branch = \"\"\n",
    "  for i in range(len(initial_segment)-1,-1,-1):\n",
    "    if initial_segment[i] == \"(\":\n",
    "      counter_of_pars = counter_of_pars + 1\n",
    "    if initial_segment[i] == \")\":\n",
    "      counter_of_pars = counter_of_pars - 1\n",
    "    if counter_of_pars == 0:\n",
    "      branch = initial_segment[i:final_index+1]\n",
    "      #print(f\"Branch to be deleted: {branch}\")\n",
    "      break\n",
    "  return branch\n",
    "\n",
    "def deletion_of_branch10(newick_string ):\n",
    "  group, start =  newick_find_all_groups10(newick_string)\n",
    "  #print(f\"Group (main): {group}\")\n",
    "  #print(f\"Start (main): {start}\")\n",
    "  # Does the group have children?\n",
    "  char_before = newick_string[start-1]\n",
    "  #print(f\"char_before: {char_before}\")\n",
    "  if char_before ==  \")\":\n",
    "    #print(\"The group has children\")\n",
    "    #find branch\n",
    "    final_index = start-1\n",
    "    branch = find_branch10(newick_string, final_index+1)\n",
    "\n",
    "    branch_and_father = branch + group\n",
    "    #print(f\"  Branch and father to be deleted: {branch_and_father}\")\n",
    "    #delete group\n",
    "    newick_string = newick_string.replace(branch_and_father , \"\")\n",
    "  else:\n",
    "    #print(\"The group has no children\")\n",
    "    #delete group\n",
    "    newick_string = newick_string.replace(group, \"\")\n",
    "\n",
    "  # Cosmetics\n",
    "  newick_string = newick_string.replace(\",,\", \",\")\n",
    "  newick_string = newick_string.replace(\",)\", \")\")\n",
    "  newick_string = newick_string.replace(\"(,\", \"(\")\n",
    "  newick_string = newick_string.replace(\" \", \"\")\n",
    "  # Comparison\n",
    "  #print(f\"Original Newick string: {newick_string}\")\n",
    "  l = len(newick_string)\n",
    "  #print(f\"Length of newick_string: {l}\")\n",
    "  if l == 0 :\n",
    "     newick_string = \"Node_0[a=0,b=0,x=0,y=0,r=1]\"\n",
    "  #print(f\"Final Newick_string: {newick_string}\")\n",
    "  return newick_string\n",
    "\n",
    "\n",
    "\n",
    "def newick_mutation10(newick_string):\n",
    "  # Mutation of radius of illumination\n",
    "  if random.random() <  ga_params['mutation_rate']:\n",
    "    newick_string = newick_mutation_of_radius10(newick_string)\n",
    "    if inhibit_insertion_of_branches == False:\n",
    "        newick_string = insertion_of_branch10(newick_string, newick_string)\n",
    "    newick_string = deletion_of_branch10(newick_string)\n",
    "  return newick_string\n",
    "\n",
    "def plot_illuminated_area10(ax, illuminated_coords, title, color='blue', alpha=0.5):\n",
    "    ax.set_aspect('equal', adjustable='box')\n",
    "    if not illuminated_coords:\n",
    "        ax.set_title(title)\n",
    "        ax.grid(True)\n",
    "        return\n",
    "\n",
    "    for x, y in illuminated_coords:\n",
    "        rect = patches.Rectangle((x, y), 1, 1, facecolor=color, alpha=alpha, edgecolor='black', linewidth=0.5)\n",
    "        ax.add_patch(rect)\n",
    "\n",
    "    min_x = min(c[0] for c in illuminated_coords) - 1\n",
    "    max_x = max(c[0] for c in illuminated_coords) + 2\n",
    "    min_y = min(c[1] for c in illuminated_coords) - 1\n",
    "    max_y = max(c[1] for c in illuminated_coords) + 2\n",
    "\n",
    "    ax.set_xlim(min_x, max_x)\n",
    "    ax.set_ylim(min_y, max_y)\n",
    "    ax.set_xticks(range(int(min_x), int(max_x)))\n",
    "    ax.set_yticks(range(int(min_y), int(max_y)))\n",
    "    ax.grid(True)\n",
    "    ax.set_title(title)\n",
    "\n",
    "# --- MAIN EvoluciónARY SIMULATION LOOP ---\n",
    "\n",
    "def run_Evolución_newick_morpho_trees10(target_tree_params, ga_params):\n",
    "    # A previous code by Gemini was reused.\n",
    "\n",
    "    # 1. Generate Target Tree and its Illuminated Area\n",
    "    #print(\"\\n--- Generating Target Tree ---\")\n",
    "    random.seed(ga_params['seed'] + 1) # Use a different seed for target generation\n",
    "    target_tree, target_illuminated_area =  generate_and_test_morpho_tree10(target_tree_params, ga_params)\n",
    "    #print(f\"target_tree: {target_tree} \\n\\n\")\n",
    "    #draw_newick_string10(target_tree, \"Target Tree\")\n",
    "    # target_area = get_illuminated_coordinates10(target_tree)\n",
    "    #print(f\"Target illuminated area: {target_illuminated_area}\")\n",
    "\n",
    "    # 2. Initialize Population\n",
    "    random.seed(ga_params['seed']) # Reset seed for GA population generation\n",
    "    #print(f\"\\n--- Initializing Population of {ga_params['pop_size']} Trees ---\")\n",
    "    population = create_initial_population_newick10(\n",
    "        pop_size=ga_params['pop_size'], max_depth=ga_params['max_depth'], max_children=ga_params['max_number_children'],\n",
    "        max_node_radius=ga_params['max_node_radius']  )\n",
    "    #print(f\"Population initialized with {len(population)} individuals.\")\n",
    "    #print(f\"Population: {population}\")\n",
    "\n",
    "\n",
    "\n",
    "    best_tree_overall = None\n",
    "    best_fitness_overall = -1.0\n",
    "    history = []\n",
    "\n",
    "    # 3. Evoluciónary Loop\n",
    "    #print(f\"\\n--- Starting Evoluciónary Loop for {ga_params['generations']} Generations ---\")\n",
    "    for generation in range(ga_params['generations']):\n",
    "        print(f\"\\n--- Generation {generation+1}/{ga_params['generations']}, Best fitness {round(best_fitness_overall, 5)} ---\")\n",
    "        fitness_scores = [calculate_fitness_illumination10(tree, target_illuminated_area)for tree in population]\n",
    "\n",
    "        current_best_fitness = max(fitness_scores)\n",
    "        current_best_tree = population[np.argmax(fitness_scores)]\n",
    "\n",
    "        if current_best_fitness > best_fitness_overall:\n",
    "            best_fitness_overall = current_best_fitness\n",
    "            best_tree_overall = copy.deepcopy(current_best_tree) # Deepcopy to save the best tree\n",
    "\n",
    "        history.append(current_best_fitness)\n",
    "\n",
    "        #print(f\"Generation {generation+1}/{ga_params['generations']}: Best Fitness = {current_best_fitness:.4f} (Overall Best: {best_fitness_overall:.4f})\")\n",
    "\n",
    "        if best_fitness_overall >= 0.999: # Almost perfect match\n",
    "            #print(\"Target illumination achieved (or very close)! Stopping Evolución.\")\n",
    "            return target_tree, target_illuminated_area, best_tree_overall, best_fitness_overall, history\n",
    "\n",
    "        # Selection\n",
    "        parents = select_parents_newick(population, fitness_scores, ga_params['pop_size'] // 2)\n",
    "\n",
    "        # Create next generation\n",
    "        next_population = []\n",
    "        # Elitism: Keep the best individual from the current generation\n",
    "        if best_tree_overall and current_best_fitness == best_fitness_overall: # Only if it's the current best in this generation\n",
    "            next_population.append(copy.deepcopy(current_best_tree))\n",
    "\n",
    "        while len(next_population) < ga_params['pop_size']:\n",
    "            if len(parents) < 2: # Not enough parents for crossover, fill with new random trees\n",
    "                new_tree =  complete_tree_generator10(target_tree_params['max_depth'], target_tree_params['max_number_children'], target_tree_params['max_node_radius'] )\n",
    "                if new_tree:\n",
    "                    next_population.append(new_tree)\n",
    "                continue\n",
    "\n",
    "            # Randomly pick two parents (can be the same parent multiple times with replacement for simplicity)\n",
    "            p1 = random.choice(parents)\n",
    "            p2 = random.choice(parents)\n",
    "\n",
    "            # Crossover newick_position_recombination10\n",
    "            child1, child2 = newick_position_recombination10(p1, p2)\n",
    "\n",
    "            # Mutation: Apply mutation to both children\n",
    "            mutated_child1 = newick_mutation10(child1)\n",
    "            mutated_child2 = newick_mutation10(child2)\n",
    "\n",
    "            next_population.append(mutated_child1)\n",
    "            if len(next_population) < ga_params['pop_size']:\n",
    "                next_population.append(mutated_child2)\n",
    "\n",
    "        population = next_population[:ga_params['pop_size']]\n",
    "\n",
    "    #print(\"\\n--- Evolución Finished ---\")\n",
    "    #print(f\"Final Best Fitness: {best_fitness_overall:.4f}\")\n",
    "\n",
    "    return target_tree, target_illuminated_area, best_tree_overall, best_fitness_overall, history\n",
    "\n",
    "\n",
    "# Generate the  Newick string of a morpho-tree and draw it\n",
    "if __name__ == \"__main__\":\n",
    "    #generate_test_and_draw_morpho_tree()\n",
    "    print_parameters10(target_tree_params, ga_params)\n",
    "    # Run the Evolución loop\n",
    "    target_tree, target_illuminated_area, evolved_best_tree, evolved_best_fitness, history = run_Evolución_newick_morpho_trees10(target_tree_params, ga_params)\n",
    "    \n",
    "    title = \"Target Tree\"\n",
    "    draw_tree_newick10(target_tree, title)\n",
    "    title = \"Evolved Best Tree\"\n",
    "    draw_tree_newick10(evolved_best_tree, title)\n",
    "\n",
    "    # Plot Symmetric Difference Area\n",
    "    evolved_best_area = get_illuminated_coordinates10(evolved_best_tree)\n",
    "    symmetric_diff_area = target_illuminated_area.symmetric_difference(evolved_best_area )\n",
    "    ##print(f\"Symmetric Difference Area: {symmetric_diff_area}\")\n",
    "    ##print(f\"Number of cells in symmetric difference area: {len(symmetric_diff_area)}\")\n",
    "\n",
    "\n",
    "    fig, axes = plt.subplots(1, 3, figsize=(15, 5))\n",
    "\n",
    "\n",
    "    plot_illuminated_area10(axes[0], target_illuminated_area, title=f\"Target Area (number of cells: {len(target_illuminated_area)})\")\n",
    "    plot_illuminated_area10(axes[1], evolved_best_area, title=f\"Evolved Best Area (number of cells: {len(evolved_best_area)})\")\n",
    "    plot_illuminated_area10(axes[2], symmetric_diff_area, title=f\"Symmetric Difference (Error Area: {len(symmetric_diff_area)})\")\n",
    "\n",
    "    plt.tight_layout()\n",
    "    plt.show()\n",
    "\n",
    "\n",
    "    # Plot Fitness History\n",
    "    plt.figure(figsize=(10, 6))\n",
    "    plt.plot(history, marker='o', linestyle='-', color='blue')\n",
    "    plt.title('Best Fitness Progression Over Generations')\n",
    "    plt.xlabel('Generation')\n",
    "    plt.ylabel('Fitness')\n",
    "    plt.grid(True)\n",
    "    plt.show()\n",
    "\n",
    "    print(f\"Evolved best tree: {evolved_best_tree}\")\n",
    "    print(f\"Evolved best fitness: {evolved_best_fitness:.2}\")\n",
    "\n",
    "    end_time = time.time()\n",
    "    Execution_time = end_time - start_time\n",
    "    # print(f\"Execution time: {Execution_time:.2f} seconds\")\n",
    "    # Execution time in hours, minutes and seconds:\n",
    "    hours = int(Execution_time // 3600)\n",
    "    minutes = int((Execution_time % 3600) // 60)\n",
    "    seconds = int(Execution_time % 60)\n",
    "    print(f\"Execution time: {hours} hours, {minutes} minutes, {seconds} seconds\")\n",
    "    if memory_monitoring:\n",
    "        # displaying the allocated memory\n",
    "        print(tracemalloc.get_traced_memory())\n",
    "        # stopping the memory allocation library\n",
    "        tracemalloc.stop()\n",
    "    \n"
   ],
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "LAB: EVOLUTION OF NEWICK MORPHO-TREES-BASIC\n",
      "PURPOSE: \n",
      " A random morpho-tree T is generated.\n",
      " Evolution tries to restore the tree T\n",
      " beginning from a population of random trees.\n",
      "EXPERIMENT 1790966792.834267\n",
      "TARGET TREE PARAMETERS: {'max_depth': 7, 'max_number_children': 3, 'max_node_radius': 1.5}\n",
      "GENETIC ALGORITHM PARAMETERS: {'seed': 12345, 'pop_size': 200, 'generations': 30, 'max_depth': 8, 'max_number_children': 3, 'max_node_radius': 1.5, 'mutation_rate': 0.001, 'crossover_rate': 0.001}\n",
      "\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "\n",
      "--- Generation 1/30, Best fitness -1.0 ---\n",
      "\n",
      "--- Generation 2/30, Best fitness 0.78632 ---\n",
      "\n",
      "--- Generation 3/30, Best fitness 0.81731 ---\n",
      "\n",
      "--- Generation 4/30, Best fitness 0.83962 ---\n",
      "\n",
      "--- Generation 5/30, Best fitness 0.86667 ---\n",
      "\n",
      "--- Generation 6/30, Best fitness 0.89623 ---\n",
      "\n",
      "--- Generation 7/30, Best fitness 0.91509 ---\n",
      "\n",
      "--- Generation 8/30, Best fitness 0.93458 ---\n",
      "\n",
      "--- Generation 9/30, Best fitness 0.95192 ---\n",
      "\n",
      "--- Generation 10/30, Best fitness 0.95192 ---\n",
      "\n",
      "--- Generation 11/30, Best fitness 0.96154 ---\n",
      "\n",
      "--- Generation 12/30, Best fitness 0.96154 ---\n",
      "\n",
      "--- Generation 13/30, Best fitness 0.96154 ---\n",
      "\n",
      "--- Generation 14/30, Best fitness 0.97087 ---\n",
      "\n",
      "--- Generation 15/30, Best fitness 0.97087 ---\n",
      "\n",
      "--- Generation 16/30, Best fitness 0.97087 ---\n",
      "\n",
      "--- Generation 17/30, Best fitness 0.97087 ---\n",
      "\n",
      "--- Generation 18/30, Best fitness 0.97087 ---\n",
      "\n",
      "--- Generation 19/30, Best fitness 0.97087 ---\n",
      "\n",
      "--- Generation 20/30, Best fitness 0.97087 ---\n",
      "\n",
      "--- Generation 21/30, Best fitness 0.97087 ---\n",
      "\n",
      "--- Generation 22/30, Best fitness 0.97087 ---\n",
      "\n",
      "--- Generation 23/30, Best fitness 0.97087 ---\n",
      "\n",
      "--- Generation 24/30, Best fitness 0.97087 ---\n",
      "\n",
      "--- Generation 25/30, Best fitness 0.97087 ---\n",
      "\n",
      "--- Generation 26/30, Best fitness 0.97087 ---\n",
      "\n",
      "--- Generation 27/30, Best fitness 0.97087 ---\n",
      "\n",
      "--- Generation 28/30, Best fitness 0.97087 ---\n",
      "\n",
      "--- Generation 29/30, Best fitness 0.97087 ---\n",
      "\n",
      "--- Generation 30/30, Best fitness 0.97087 ---\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 700x1500 with 1 Axes>"
      ],
      "image/png": "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"
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n",
      "tracker2: 7375627562756275627564\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 700x1500 with 1 Axes>"
      ],
      "image/png": "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"
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 1500x500 with 3 Axes>"
      ],
      "image/png": "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"
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 1000x600 with 1 Axes>"
      ],
      "image/png": "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1gsICndO0RBaE3w5nW6OAgAAAIIfgB155BEaOeIltWnTptTnW7YqfT0Qyny+GLlzz7PLZD8EAABAyARgTzz+mGZ9+61efXWU0renV3+tgCDIy+smn7ehnM6Nio2bzTEAAABAaARg7dq104UXXaKsrKxqq4gZ0lic0r6qr4mNjbXP7aywsFAej8cuR0VFKTo68O2ba5rtfHFpRN7wQ5N63uEo+pwAAAAAQb8O2MpVq9S4ceNqqUD//v3068L5+mf1Ss386ksdd1zX3ZZv2LChXnrxBS35bbFWrfxbc375yW6jpPnz5uqP338LuK1c8Zceefh//jKPPz5Ef/25LKDM9GlTquU9oe7xepOVm3uaXXYlTAp2dQAAABCmKtUDZoYePj38KT30v4e1atWqXXqh8vLyyrUdk8b+tlv76/obbtS8efN1S9+b9c7bb6n7Safo33//LfU1zzw9XK1bt1KPM8/S2rVr1a3biXrj9de0adMmjR8/wZY55NDDA15z4gkn6IMPxmr69I8D1n82Y4ZuuunmCr57hKNc91km9Yaio5cpOnpJsKsDAACAMFWpAMz0QBlfz/yySkk4brrpRo374AN9//0P9vHTzzyryy67VFddeYUef2Joqa856KADNWHCRH+A9s03s+x1yQ466KAy99OrV08tX75cc1NTq2XoI8KP2108/PAjlTJ6FQAAAAheAHbBBUUnq1XRoEF97duunR5/PDDQ+unnn3XEEUeU+ToTfJ177jm292rNmqIesDatW2vatGmllq9fv77OOON0DR325C7PnXLyyXYYY1ZWtubOnavBjz6qlStXVfm9oW7xFLZUfn7R0FeXi2GoAAAACLEA7Nprr1HfWwLnXRV75eWRmjN37h630bhxE3u/bevWgPVbtmxVp44dy3zdCy++pH333VdfffmFP2nG/fc/oAULFpZa/qIL/8/eT5w4MWD9X3/9rWuvvV4///KLmjVrpseGDNakiRN10smnKD299MyOJrmHuRVLTEzc4/tE6HO7L7D3sbE/Kip6XbCrAwAAgDBWqQDs/PPPKzMAM71TZT1XGoczMA+I0+nc7ZDAl18eob3atNFxx5+gf/75VyeccIJeGzPKzjubMnXqLuV79uqpGTM+V1ra9oD1r732un/ZDGfs1/82mwzkvPPO1bvvvlfqvm/t308DBty1y/pOnTrK7Q7+RXvbtWsb7CrUOeajNmvW5Xb5oIPma6+9y+59DQUc48jAcQ5/HOPIwHEOfxzjyNCunOfYLper+gOwlJSUUpeLA6ejjjpSGzduKte2TNIMo3HjRgHrGzdqpE2bNpeZAfGcs8/Wddff6B8qOGvWLH38ySe69tqrdwnADjvsMHU4+GANGjR4j/UxKfXXrV+vffbeu8wyL40YqVGjxwT0gC2Yn2p736ozJX9VpKbOC3YV6pSCgg7KytzLpOHQho0va9PmTIU6jnFk4DiHP45xZOA4hz+OcWRILcc5dlJSUvUHYEv/WFLqcjFzja2d53SVxQzzW7ZsmY7r2lWffPKpPyFG165d9eH48f5y5npdJrgzQw2Lr9EVHR0VsK2Y6Bjl5eeXmnxjxcqVmj37xz3Wx8wVa9WypQ3CypKfn29vCL9rf8XHfymnM/SDLwAAANRtFQrAepx5tr2f8dkn/uVihYUFWrduvbZvDxzqtzsjX35FTw4bph9mzy5KQ3/LzUpMTNA777zjL/PksKHq3LmzTj7lVGVmZurbb7/TgLvutMMP//nnH3U78USdddaZemSnXq74+HhdcP55GjFi5C77NfO4Xn9tjEaMfFnLly9Tq5at9PAj/7NB4UcffVSRJkEd5vNFye0+3y67EiYHuzoAAACIABUKwBYtWmTvuxx9rNasWVPlnU+cOMkO4xs48H41adxYS5cuVc9evbV+/QZ/mYLCQuXn/3ddsVv69dM9d99tk32YTIrmWmCDBw/RO++8G7DtHmecoejoaH2449pgJZlerFdHjdIdt9+mQw7poO3p6Zrzyxzdfvsdu8wVQ/jKzztOXm8zOZzbFBc3K9jVAQAAQAQodwDWsEEDe78tLU052dn+x6UxZcrr7bffsbeyDBz4QMBjEyA98OBDe9yumQ9WWlKOYmZYYnmGJiICrv0VP10OR9HwVgAAACAkArDfflvkv8hy8XJZynshZiBYvN4E5eaeaZddCZM4EAAAAAitAOy0088odRmoi3Jzz5DPl6CoqJWKiVkQ7OoAAAAgQpQ7AFuy5HdNnDBeF19yqV0unmc14/PPa7J+QI3ILR5+mPCRHA4aGQAAALUj8CrIe9C167EBj99447Xqrg9Q4zyepsrLO8Euu1xTaHEAAACEZgAGhAO3+zxzhTnFxKQqOrrogt4AAABAbSAAQ8Rxu//P3nPtLwAAAIT0dcCME044frePje+//6FqtQJqSEHB/iosOMwsyeWaRjsDAAAgtAOwDz8Yt9vHBmnoEerX/oqL/0ZOJxfdBgAAQAgHYEcceVTN1QSoQT6fU3l5Rysnu5d9HB8/mfYGAABAaAdg69dvqLmaADXE7e6hjPTB8npb+tdlZjwsh6NQLtcM2h0AAAC1hiQcCPvga3vaKHm9zQPWe73N7HrzPAAAAFBbCMAQ1sMOTc9X6R/1oscZ6YNsOQAAAKA2cOaJsJWf32XHsMOyPuZOeb2tbDkAAACgNhCAIWx5Pc2qtRwAAABQVQRgCFvOqI3VWg4AAACoKgIwhK3Y2DlyOteZ2WBllPDK6VxrywEAAAC1gQAMYcvh8Col5dEynvXaf1PqDbLlAAAAgNpAAIawZq71JTkkeQLWO53rVb9BH64DBgAAgNC9EDNQ1+Tk9LL3CYmjFR//tU24YeZ8mWGH9HwBAACgthGAIWx5PC2Ul9fdLicmjlV09KpgVwkAAAARjiGICFs5OZdJilJs7I8EXwAAAAgJBGAISz6fUzk5Pe1yQsK4YFcHAAAAsAjAEJby8k6U19NKDkea4l2fBbs6AAAAgEUAhrCUk9Pb3rsSJsnhyAt2dQAAAACLAAxhx+NporzcU+0yww8BAAAQSgjAEHbcOZdIilFMTKpiYpYHuzoAAACAHwEYworP5yhx7S+SbwAAACC0EIAhrOTnHyuPZx85HBmKj58e7OoAAAAAAQjAEJ7JN1xT5XS6g10dAAAAIAABGMKG19NAue4edjkhYWywqwMAAADsggAMYSPHfZGkOEXHLFJM7G/Brg4AAACwCwIwhAWfz2Q/3JF8I4HkGwAAAAhNBGAICwX5R6mw8AA5HDlyuaYEuzoAAABAqQjAEBaKU8+bzIdOZ1awqwMAAACUigAMdZ7XmyJ37jl2OSGR5BsAAAAIXQRgqPPc7v+TfC5FRy9VTMz8YFcHAAAAKBMBGOp88o2c7OLkG2PlcAS7RgAAAEDZCMBQpxUUHK7Cwg6ScuVKmBzs6gAAAAC7RQCG8Ei+4fpUTuf2YFcHAAAA2C0CMNRZXm+Cct3n22Wu/QUAAIC6gAAMdVau+zz5fEmKivpbsbE/B7s6AAAAwB4RgKHOysnpbe8TEseRfAMAAAB1AgEY6qSCggNVUNBJUr5cronBrg4AAABQLgRgqNO9X/HxXygqamuwqwMAAACUCwEY6hyfL17unP+zyyTfAAAAQF0SrRDgcrlUv349bdy4SV6vt3yviY9Xvfr1tXnzZnk8noDnGjZsqJSUlIB1+fl5WrdufbXsG8Hldp8ln6++oqL+UWzc9xwOAAAA1BlBDcCcTqceG/KoevXqqZwct7xejx566GFNnTatzNfstddeevaZp9WpUydt377dBk8ffjhe/3v4EX8gdu+9d+uiCy/Upk2b/a9bsWKFrrzq6irtG6HBvWP4oSvhQzkcvmBXBwAAAKgbAdgtt/TVueeeo9NO76G//vpLl1/eWy+99IKWLlumZcuWlfqa4U8NU1RUlA47vKOys7N18MEHaeqUyfrzzz/15ltv+8t9M2uWbrrp5mrdN4KvsGBf5ecfLcmjhITxwa4OAAAAUHfmgF191ZUaO3acDYCM998fq9X//KMrLi/q4ShNmzZ7afbs2Tb4Mn7//Q+tWr1abfbaa5eyzZo1s0MMq2vfCL6cnF72Pi7ua0VFbQh2dQAAAIC60QPWuHFjtWrVSvPmzQ9Ynzo3VYcffliZrxs1erT63dJXCxYu1Jo1a9Wt24lq2qSJDaZKOufss3XM0UcrOTlZy5cv18AHHtT8+QuqtG8El88XK7f7YruckDiWwwEAAIA6J2g9YCZRhpGWlhawftu2bWqw47nSTJw4yQZOr40ZrXFj39d9996r5557wd+TZZjnT+x2kg47vJMOPvgQ/fbbEr337jtq3rx5lfYdGxurpKQk/y0xMbGS7x6VkZt7urzeRnI6Nygu7hsaEQAAAHVO0HrAijMORscEViEmJkbenbIalvTWW2/Y15rgKjMzUwcddKAmTZwgp9OhN958y5aZMOG/C/O6c3Nt75eZ73XWmT1smcru+9b+/TRgwF27rO/UqaPcbreCrV27tgpnP/3Yx97vu993OvDAjopE4X6MUYTjHP44xpGB4xz+OMaRoV05z7/KmvoUMgHY+vVFKeGbNmkasL5p06b+53Zmnjuua1dddfU1Nvgy/vhjqT799DP934X/5w/Adpafn69NmzerdevWld638dKIkRo1eoz/sekBWzA/VQsWLFRWVpZCQWrqPIWjwsK9tGWLCbq82r79OaWmrlGkCtdjjEAc5/DHMY4MHOfwxzGODKnlOP8yI+RCegiiSaLx66+L1L17t4AeqONPOF4//vSzf50ZLtiyZQu7bIIc03tVr169gG3Vr19fmRlFAVlxivmSWrRorjatW2vlqlUV2ndpgZypQ/GtOBEIal5OTk97b677FR0ducEXAAAA6ragpqF/9rnn7Fyu35YssfO2+tx0owry8/Xuu+/6yzww8H517txZJ59yqnJycvTxx5/o/vvuVXZWtlb/s1rdTuymM844Xf373+YPpKZNnaLRo8do2fJlNtnGvffeo3/+/VeTJn1UoX0jNPh8UXLnXGqXExJIvgEAAIC6K6gB2JdffqU+ffrquuuvtenfly5dpgsvulhpadv9ZbZs3aq1a9f6H99x51264Ybr7a1BgwZas3aNbrjhJn3+xRf2+YKCAt12+x3qe3Mf9e3bR9vT0/X5jM/1yqujbABXkX0jNOTlniKvt5mczi2Kj/8y2NUBAAAA6mYAZsz4/HN7K8uwYU8GPM7NzdWIESPtrSzmosx3Dbi7yvtGaF37y+WaIIejINjVAQAAAOrmhZiBPfF4Wigv7yS7nJAYeK03AAAAoK4hAENIy8m5TFKUYmN/UnT0ymBXBwAAAKgSAjCELJ/P6c9+SPINAAAAhAMCMISsvLwT5fW0ksORpnjXZ8GuDgAAAFBlBGAIWTk5ve29K2GSHI68YFcHAAAAqDICMIQkj6eJ8nJPtcsJCSTfAAAAQHggAENIcudcYi6rrZiYVMXELA92dQAAAIBqQQCGkOPzOfzX/iL1PAAAAMIJARhCTn7+sfJ49pHDkaH4+OnBrg4AAABQbQjAELrJN1xT5XS6g10dAAAAoNoQgCGkeD0NlOvuYZe59hcAAADCDQEYQkqO+yJJcYqOWaSY2N+CXR0AAACgWkVX7+aAivP5nMrP7yKPp5mys66z60g9DwAAgHBEAIagcrt7KCN9sLzeliXWeuVwZAexVgAAAEDNIABDUIOv7WmjSnnGofTtz8vhcMvlmhGEmgEAAAA1gzlgCNqwQ9PzVfrH0GH/zUgfZMsBAAAA4YKzWwSFmfNVNOywrI+gU15vK1sOAAAACBcEYAgKr6dZtZYDAAAA6gICMATngxe1sVrLAQAAAHUBARiCIjZ2jpzOdTbjYem8cjrX2nIAAABAuCAAQ1A4HF6l1HvEn3AjUFFQllJvkC0HAAAAhAsCMARNfPwMRUWt3GW907le9Rv0IQU9AAAAwg7XAUPQ5OcfJ4+nnaRc1W/QX/LF2zlfZtghPV8AAAAIRwRgCJqszP72PiFxrFyuzzkSAAAACHsMQURQ5Od3Un7+8ZIKlJQ4iqMAAACAiEAAhqDIyrzV3rsSJikq2mRDBAAAAMIfARhqXUHBgcrLO02SR0lJL3MEAAAAEDEIwFDrsrKK5n7Fx3+i6OhdsyACAAAA4YoADLWqsHAf5brPsctJySNofQAAAEQUAjDUqqysWyRFKS7uK8XE/EHrAwAAIKIQgKHWeDwt5M65yC4nJb9EywMAACDiEICh1mRl9ZEUq9jYHxUbO5+WBwAAQMQhAEOt8HgaKSent12m9wsAAACRigAMtSI7+wbJ51JMzELFxv5AqwMAACAiEYChxnm9KcrJvsouJyW9JIeDRgcAAEBkIgBDjcvOvlo+X4qio5cpLv5LWhwAAAARiwAMNcrrdSkn+3q7nJQ0Qg6HjxYHAABAxCIAQ41y5/SW19tIUVGrFe+aTmsDAAAgohGAocb4fLE7Us+b3q+Rcjg8tDYAAAAiGgEYaoy56LLX20JO53q5EibR0gAAAIh4BGCoET5flLKybrHLSUmj5HDk09IAAACIeARgqBG57nPl8ewjp3OrXAljaWUAAACAIYioCT6fQ1lZ/exyQuLrcjrdNDQAAABAAIaakJd7mgoLD5TDkanExLdpZAAAAGAHhiCiWvl8UlZWf7uckPi2nM4MWhgAAADYIVohoE2bNmrSpLH+/nuF0tPT91je4XCobdt9VK9ePa1du06bNm3apUx0dLT2228/FRYWavXq1SooKAh4vl27tmrWrFnAupwct3799ddqeEeRKz//eBUUdDKzwJSY+FqwqwMAAACElKAGYPHx8Xrl5ZE6/vjj9M8//2qfffbRsCef1JgxZZ+4d+hwsF599RUluBK0fv16tW9/gH74YbZuuaWf3Lm5tsxdd96hq6++Sps3b5HL5bK3gQMf0OdffOHfzk033aizzzpLy5Yt96/7999/deddA2r4XYe3rMzi3q+xioraGuzqAAAAACElqAHYgLvu1CGHdNCxXY/Xli1bdNppp+rtt97UvHnzNH/+glJfM/SJx7Vq5Spdfc218nq9atGiub6e+ZWuvfYavfzKq7Z3zNxOOLG7MjKKhr/dccftevnlEXY/JXvLfvr5Z91008219n7DXX5+Z+XnHyepQElJrwa7OgAAAEDICeocsEsvvURjx46zwZfx5Zdfacnvv+uyyy4t8zUNGjTQ4t9+s8GXsX79Bm3YsMGuN3w+n5559jl/8GW89977thfMBHs798B17NhR++7bTlFRUTX0LiOv98tcdDkqan2wqwMAAACEnKD1gDVv3lxNmjTRosWLA9YvXrRYh3Q4pMzXPfnUcA0a9IjWrVunNWvWqlu3ExUTG6s333qrzNd06tTR3q9atSpg/QnHH69mTZuqSZOmNnC7f+BAGwSWJTY21t6KJSYmluu9RoKCgoOUl3eaJI+SkkYGuzoAAABASApaAGYSaBjbt28PWL9t2zbVq1/0XGl++WWOfl34qx2+uG7dejtvbNTo0bYnrDSNGjXS448N0eTJU7RixUr/+q9nfqMnn3xKaWnb7ZDF++67V6++8rJOPe10rVwZGKgVu7V/Pw0YcFepAZ7bHfxrXZnEIsEyL7Vo7lzLlj/qiCMbmZYPWl3CWTCPMWoPxzn8cYwjA8c5/HGMI0O7cp5/mRF3IR2AFRTk+4cB7lzxgvyi50oz9v13tWLlSh3V5Rib4dD0pH36yceKjorSs889v0uQZ8qbZB1333NvwHNffPmlf9n0fj311HBddeUVOu200zR69JhS9/3SiJEaVeI50wO2YH6qFixYqKysLIWC1NR5tb7PwsK22rzJzP2S8gseVWrq0lqvQyQJxjFG7eM4hz+OcWTgOIc/jnFkSC3H+VdSUlJozwFbv269PB6PDaBKMo/N0MLSmIQbHTp00AcffGiDL8PM//ryqy916qmnBpRNSUnRuLHvKy8vT70vv3KPPVRmTtn27elqvlNq+pLy8/NtoFV8y87OrsA7Dl9ZWbfYj1Jc3JeKiSH4AgAAAEIuADMp4+fOTdXpp5t5Q0USEhJ0wgnH67vvv/evMwkyDj/8cLtshguawKtly5YB22rVspW2bC1K5GEkJyfb4KvQU2iDr9ICpZ27CM1+2rRprT+WEkBUhKewpdw5F9nlpOSXKvRaAAAAINIENQ39sCef0vgPx+l/Dz2o1HnzbCr5TZs36/33x/rL9L35ZnXu3Fknn3KqcnNzbUbDgQPvV2xMjFb/849NwtG9ezddfsVV/gswv//+u2rdupXuuec+HXrofwk9zIWeTRr6mJgYffbpxxo/foKWLV+uVq1aqX+/W7Rg4UJNmTI1KG1RV2Vl95EUo9jY2YqNLf3SAQAAAABCIACbM2eOLrzoYnvR5CuvuEK/Lf5Nffv2U05Ojr/M33//HZAi/sGH/qd58+ere7duOuWUU7Rm7Rqddfa5WrRokb9nKz8vX3/++Ze92HJJr7z6qmbO/FoFBQW6+JLLdO01V9t5X9vT0/X8Cy/qww/H22GRKB+Pp7FysnvbZXq/AAAAgBAPwAxzweWyLrpsvPLqqIDHJmHGpEkf2VtpMjMzdfElZV9HrJi59tjwp5+pRI1RLDv7epNGRTExC2wPGAAAAIAQvhAz6i6vt55ysq/29345HMGuEQAAABD6CMBQKdnZV8vnS1Z09FLFxZV98WoAAAAA/yEAQ4V5vQk7hh+a6x2MlMPhoxUBAACAciAAQ4Xl5PSWz9tQUVGrFO+aTgsCAAAA5UQAhgrx+WKVndVnR+/Xy3I4yBoJAAAAlBcBGCrEnXOxvN7mcjrXy5UwidYDAAAA6lIaeoQ+n8+p/Pwu8nhaKDPzTrsuKWmUHI78YFcNAAAAqFMIwLBbbncPZaQPltfbssRajxzOLbQcAAAAUEEEYNht8LU9LfBC2EWcSt/+ohyOPLlcM2hBAAAAoJyYA4Yyhx2anq/SPyZFV13OSB9kywEAAAAoH86eUSoz56to2GFZHxGnvN5WthwAAACA8iEAQ6m8nmbVWg4AAAAAARjK4IzaWK3lAAAAABCAoQyxsXPkdK4zfVxllPDK6VxrywEAAAAoH4YgolQOh1cp9R7xJ9wIVBSUpdQbZMsBAAAAKB8CMJTJpJiPi/9s1w+Nc73qN+hDCnoAAACggrgOGMrk80mFBR3scmLSs4qJXmHnfJlhh/R8AQAAABVHAIYyFRR0lMeztxyObCUlvSqn001rAQAAAFXAEESUKdd9vr2Pi/+S4AsAAACoBgRgKJXP55Tbfa5ddrmm0UoAAABANSAAQ6ny87vI620mh2O74uK+pZUAAACAakAAhlLlus+z9/GuGXI48mklAAAAoBoQgGEXPl+0cnPPssuueIYfAgAAANWFAAy7yMs7Xl5vIzmdWxQb9yMtBAAAAFQTAjCUPfww/hM5HB5aCAAAAKgmBGAI4PPFKTf3DLvsck2ldQAAAIBqRACGAHm53eXzpcjpXKeY2FRaBwAAAKhGBGAI4N5x8WWXa7ocDh+tAwAAAFQjAjD4eb0Jys071S7Hc/FlAAAAoNoRgMEvL/c0yedSVNQqxcQsomUAAACAakYABj937nn+5BsOBw0DAAAAVDcCMFhebz2bgMNg+CEAAABQMwjAYOXm9pAUq+jopYqJWU6rAAAAADWAAAyWu/jiyyTfAAAAAGoMARjk8TRSft5x/vTzAAAAAGoGARiUm3u2pCjFxCxUdPQqWgQAAACoIQRgUC7DDwEAAIBaQQAW4TyeFsrPP9ouM/wQAAAAqFkEYBHO7T7X3sfG/qKoqA3Brg4AAAAQ1gjAIhzDDwEAAIDaQwAWwQoL91FBweFmSfHxnwS7OgAAAEDYIwCLYMXX/oqNm62oqK3Brg4AAAAQ9gjAIljx8EMXF18GAAAAagUBWIQqKGivwsL2kvIVHz8j2NUBAAAAIgIBWIT3fsXFz5LTmRHs6gAAAAARITrYFXA4HOrcuZOaNG6ipcuWadWqVXt8TXx8vA4//HDVr1dPa9eu1W9LllRqu5XZdzjw+f6b/+VyTQ12dQAAAICIEdQALDk5We+//65atWylP/9criOPPFJvvPGmnhg6rMzXHHPMMRoz+lVt2LhRa/5do06dOmrNmrW6/IorlZ6eXu7tVmbf4cJkPvR49pHDkaO4uC+DXR0AAAAgYgQ1ALv/vnvVoH59dT/pZGVmZqrLUUdpypSP9N333+uHH2aX+ppBj/xPs2f/qJv73mIfp6SkaPYP3+naa6/R88+/UO7tVmbfYTf8MO4rOZ3uYFcHAAAAiBhBnQP2f/93gcaN+8AGQMacuXM1f/4CXXThhWW+JjY2Tv/++6//cUZGhrZv366YmJgKbbcy+w4HPp9Dbve5dpnshwAAAECE9IC1bNlC9evXt3OvSlq6dKk6dOhQ5usGDRqsp54aJrfbrTVr16rbiScqbft2vf76G+XebmX3HRsba2/FEhMTVdcU5B8lr7eFHI4Mm4ADAAAAQAQEYMnJKfbe9F6VlJaWZocVluXfNf9q9erVOuecc/TPP/+oQ4eD9cmnnykrK6vc263svm/t308DBty1y3ozD80EhMHWrl3bPZZZvOh6bd0qtW49Vx07HVIr9ULtHmPUfRzn8Mcxjgwc5/DHMY4M7cp5/uVyuUI7AMvPzyu1F8k8zssreq60rIXvvvuOfv7pZ13Ws7c/mcYXn38mT2Ghhjz2eLm2W5l9Gy+NGKlRo8cElF8wP1ULFiz0B4DBlpo6r8znfL4obdrYxS5nZ7+527IIXRy3yMBxDn8c48jAcQ5/HOPIkFqO8+akpKTQngO2du06FRQU2CyEJbVq3cr2bJWmRYvmate2raZ//Il/nZnD9e1336lr167l3m5l9m3k5+fbQKv4lp2drbokP+84eb2N5XRuVWxceCcaAQAAAEJR0AIwE8yYbIPnnHO2f13DBg10/HHH6auZM/3rzPW+unfvbpc3b95iX7f//vsFbGv//fbX+vXry73d8u473BRf+ys+/lM5HIXBrg4AAAAQcYKahv6JoUM1ZfJHevHF5zVv3nz17tVTf/75p8aPn+Avc+UVl6tz586aNWuW7bUaOfJl3XfvPWrYsKH+Wf2PunU70V5M+aKLL6nQdstTJpz4fLHKze1hl+Nd04JdHQAAACAiBTUN/ZIlv+uMHmdq08ZNNpHF5MlT9X8XXmx7qIotWLhQ33zzjf/x8Kef0fXX36j4uDgdfXQX/fXXXzqx20k2hXxFtlueMuEkL7e7fL56cjo3KDb2l2BXBwAAAIhIQe0BM1asWKnHHn+izOfff3/sLuvMxZLNrSrbLW+ZcOHOLRp+6HJNl8PhC3Z1AAAAgIgU1B4w1A6v16W83NPsMsMPAQAAgOAhAIsAeXmnyudLUFTUasXELAx2dQAAAICIRQAWAfzZD+3ww2DXBgAAAIhcBGBhzutNUV7uSXbZ5Zoa7OoAAAAAEY0ALMzl5p4hKU7R0csUHb002NUBAAAAIhoBWJjLZfghAAAAEDIIwMKYx9NQeXnH22UXF18GAAAAgo4ALIzl5p5lL/UWHbNI0dErg10dAAAAIOIRgIWxXPf59p7eLwAAACA0EICFKY+nufLzu9hlV/z0YFcHAAAAAAFY+HK7z7GHNyZ2jqKi1wW7OgAAAAAIwMI/+yHDDwEAAIDQwRDEMFRYuLcKCjqZgYiKj/8k2NUBAAAAsAMBWBjKdZ9r72NjZysqakuwqwMAAABgBwKwMORm+CEAAAAQkgjAwkxBwQEqLDxIUr7iXZ8HuzoAAAAASiAAC9Phh3Fx38rp3B7s6gAAAAAogQAsjPh8ZvghF18GAAAAQhUBWBhJT99XHk9byeFWXPwXwa4OAAAAgJ1E77wCdY/P51R+fhctW9rTPo6L/UpOZ06wqwUAAABgJwRgdZzb3UMZ6YPl9bb0r8vPP86ud7lmBLVuAAAAAAIxBLEOM0HW9rRR8nqbB6z3+erb9eZ5AAAAAKGDAKwODzs0PV+lH8aixxnpg2w5AAAAAKGBs/M6ysz5Khp2WNYhdMrrbWXLAQAAAAgNBGB1lNfTrFrLAQAAAKh5BGB1lDNqY7WWAwAAAFDzCMDqqNjYOXI615k+rjJKeOV0rrXlAAAAAIQGArA6yuHwKqXeIzse7RyEFT1OqTfIlgMAAAAQGgjA6jBzna/6DfrI6dwQsN7pXG/Xcx0wAAAAILRwIeY6zgRZ8fFf2GyH++x9jFat/tkOO6TnCwAAAAg9BGBhwARbcXE/q1XrAq3fMC/Y1QEAAABQBoYgAgAAAEAtIQADAAAAgFpCAAYAAAAAtYQADAAAAABqCQEYAAAAANQSAjAAAAAAqCUEYAAAAABQSwjAAAAAAKCWEIABAAAAQC0hAAMAAACAWkIABgAAAAC1hAAMAAAAAGoJARgAAAAA1JLo2tpROEtMTFQocLlcSkpKCnY1UIM4xpGB4xz+OMaRgeMc/jjGkcFVznPs8sYEBGBVUNzIC+anVmUzAAAAAMIoRsjKyirzeUeLlq19tVqjMNOsWTNlZ2eHxIE2gWCnzkeGRH1Q/TjGkYHjHP44xpGB4xz+OMaRIbGC59im/MaNG3dbhh6wKtpTA9c288HYXcSNuo9jHBk4zuGPYxwZOM7hj2McGbLLeY5dnjIk4QAAAACAWkIABgAAAAC1hAAsTOTn5+uZZ5619whPHOPIwHEOfxzjyMBxDn8c48iQXwPn2CThAAAAAIBaQg8YAAAAANQSAjAAAAAAqCUEYAAAAABQS7gOWBiIj4/X/vvvr8zMTK1atSrY1UE122/ffdWwYcOAdRmZmVq6dCltXce1bt1aLVu00K+LFikvL6/UMnvvvbdSUlL0159/yp2bW+t1RNVER0fr8MMP07Zt27Ry5apdLtbZ4eCDd3nNb0uWKCcnh6avI2JiYrTffvsqMzNLa9asKbNc27b7KCkxScv//LPM7ztCV/PmzdWwYQOtWrV6l++n+Rt9YPv2u7xmd3/bEXqcTqf23Xdfeb0e/fPPvyooKCi13L77tlOCK0FLly0rs8yeEIDVcT169NBzzz6trdu2qVHDhlq+fLmuvfZ6bUtLC3bVUE3uve8eHXXkkVq9erV/3W+/LdFD/3uYNq6jjjuuq27p29eemJvguutxJ+zy40m9evX0+mtjdOihh2jT5s1q0rix7r3vfk2bNj1o9Ub5JSUlqV+/W3TJxRfZk7NPPv1Md955V0CZ9u0P0JQpHyk1NVVer9e/fsDd9+jvv1fQ3CEuISFB9957jy65+GKtX79ejRs3Ulpamm67/U4tXrzYX65Ro0Z6883X7Y9p5v/mBvUb2M/CF19+GdT6o3y6d++uBx+4Xw0bNtK2tG1qu88+ev31NzR02JP+Mp07d9bY99/VnDlzAl57c99+2rBhA01dB9x44w3qe/PN9seypKRE+/1+5JHBmjxlSkAQ/vZbb6hV69bKzMiwf+f7979N3373XYX3RwBWh7Vo0VwjR7yoYU8+pTFjXrMflqlTPtITQx/XzTffEuzqoRp9/sUXuv/+B2jTMGF+KX3t9ddtr/W0qf/9cS9pyJDBatCggY44souysrJ07TVX64Xnn9P8+Qt2+ys7QkOTJo3ldrt15lnnaMRLL+y2bM9el9PjVQeZ76f5Lh5x5FHKzc21vZ3PPvu0DbaOOupo+Xw+W+6pJ4cpOipaRxxxlO3F7t/vFr388ggd2/V4bd68OdhvA3uw99576bbb79AffxSNOuncuZMmThivP//6SxMnTvKXKyws1AX/dxHtWUdFR0WpW/eT7P/LRt+b++iFF57Tt99+6+/UeP65Z5SdnaPOnY+0KenNDzCvvvqy/S5v3769QvtjDlgddsH55ys3N09vvPGmfWy6xEePeU1n9uhhf3FF+HC5XDrssMPUqlWrYFcF1eD1N97UN9/MCuj1KMn8mHLuOefotddes8GX8fY779rliy66kGNQB5jhhi+++FK5TrDbtW2rDh0Ott9z1B1r167Va6+9boOv4hPwsWM/sMOK27RpY9c1bNBAp59+ml4dNco/hHjMa6/L4/Ho/PPPC2r9UT5vv/2OP/gyzI9gZphwl6OO2qWs6eU86KAD7dQQ1C2vvDrKH3wZP/70s/1RpXGTJvZxy5YtdOKJJ2rkyy/7rwf28suvKC4uTmed2aPC+6MHrA475JBD9Mcff9g/5MUWLFhox6MfeOCBu3SFo+4679xzdfDBB6tFixb2V5YBA+7RL7/8EuxqoYYccMAB9o/6ohLDmEywtnjxbzqkQwfaPcyYHhPTW2ZO2t96+x0NGfJYmcE5QlvHww+X253rH3Z20MEHKSoqSosW/fddNnOCzBzeQw7hu1wXmbmb+7bbVzM+mxGw3pysv/PO2/L6vDYINyf0w4c/HbR6ouJMkNW6VWs1adrEThOYNOkjO7XHOKTDIfa+5HfZ/Cj694oV9ny8ogjA6rD69evb8eYlFT9uUL9+kGqF6jZ9+se6++57lZGRYYPrJx5/TK+/Pkbdu5+sLVu20OBh+t02Svt+N23WNEi1QnUzP6ZcfMml+vHHn/xDmz78YJy2bt2qESNG0uB1jEmGdeedt+uVV17x/0Je9nd5O/9P11HDhj5hg+hxH3zgX7dp00adc+55tnfMOP744/TuO29r48aNeuedd4NYW1RE165ddeUVl6tly5bKy88POMb1G5T9/3Lx97wiGIJYhxUWFiguPi5gXXG3d35B0R9/hEcAZoIvw2TbefiRQUpJTla3bicGu2qowe+2YXrBdv5+F+RXLuMSQs+KFSv9wZdhTt7Gj5/A0LQ6mtHUJGEwQ4uffe55//rCgsIyvstxyue7XOf876EHdeqpp+iaa6+zQXSx33//wx98GT/8MFsff/yJzj+PYaZ1ycSJk3T+BRfqqC7H6PXXXte4se/bYaVGcbbD0v5frsw5NwFYHbZmzVq1aN58l8Qcxtq164JUK9Q0M1QpOzt7l2OP8PpuF2dcKsk8NvNOEL42b9nCd7sOBl+TJo7XgoUL1a//rQHDR9esXVP2d3kd/0/XJQPvv0+XX95bvS+/QosWLSrXd3nn446648233rZB1wknHG8fr93x//Iu5932/+WKf5cJwOqw7777XgcddFBAYoYzTj9d69av159//hnUuqF6mDHlZthhSZ06dbQpys31JxCeTEp6c9mB008/PeDHlcMOO1Tfff99UOuG6lNa0o0TTzhBS5fy3a4rWrVsqYkTPrTXe+rbt1/AnGzDJG/YtGmTzjj9NP+6du3a2nme31UidTWC4/7779PVV19lgy8z135P32VzPanjj+uqZfw/XSe4SkmaYv7PNQmxins6F/76q9LT021SnWJmTrY5Bzfn4xXFHLA6zFxDxFw/5o3Xx+j5F17U3nvtrZtuutFeQ6Y4/S3qNhNomTkhY8eOtdcFatu2rW6//VZ9//33mjnz62BXD1Wc6Lv/AfvbxyawatqkiVasXOmf12euMfPSiy9o65Yt+uvvFbrt1v528u8nn3xKu9cRxVnSkpNT1Di/wD7Ozcvz/3puhjOZv9U/zJ4tn9dnM1yaa8P17Nk7yDVHeZhr+E2YMN6OSnjzzbd0ROfO/ud+/+MPO0Hf9IYNG/aUhg59XNvT020P9l133mmHnn799Tc0dB1w66397aUDhjz2uL2cQPH3Om37dv+P3U8+OVRbtmzVnF/myOF06PLevbXXXnvpzrsGBLn2KI8D2rfX4EEPa/yEifr333/VqmUr9elzo5YsWaLPZhQlWzHzOp9++hk98MBA+503PZz33nO3vpo5s1JJ0RwtWrbmTL2OZ+O5pe/NOuKIzsrMzNKECRO5uGMYDm+57tpr1L59e3uBwO9/+MEeZ4Lsuuviiy/SFZfvepI9YuTL+uqrmf7HJ53UXb169VS9lBTNX7DQprwtmSYXoW3K5P+uEVRs46ZN6tOnr/9X8ksvuUTdT+pmf4H988+/9Mabb2rduvVBqC0qymQbHjb08VKfu3/ggzbTYbEeZ5xhv/fmAq9z56bq5VdetSdxCH1PPPG4Dj7owF3Wm+P4+BND7bIZqWL+Vp9w/PF25Mqy5cvtxZq5zlvdcdBBB+qKyy9Xu3bt7LnWTz//bOfkFifUKXbeeefay0CZXk9TZvToMf5LUVQEARgAAAAA1BLmgAEAAABALSEAAwAAAIBaQgAGAAAAALWEAAwAAAAAagkBGAAAAADUEgIwAAAAAKglBGAAAAAAUEsIwAAACCGHHnKIuhx1VLCrAQCoIdE1tWEAAGrKAQccoH323lt5eXlatXq1Vq9eXScb+7DDDlNcbKzmpqb61/XseZlatGihOXPnBrVuAICaQQAGAKgzunTpoieHPaEGDRpo0eLFcsihffbZWzk5ORr86BD9+ONPqkt69+6phg0bBgRgixYt1j///hvUegEAag4BGACgTjj00EP1wbj39frrb+jJp4arsLDQ/9yBBx6oli1b7PIas970lK1dt05LliyR1+v1P9epU0c5HA798fsfOuSQQ5SQmKgFCxYoIyOjUttZtmy5jjziCEXHRGvmzK+1//776+CDDrJlMjIztHTpUq1fv2GXbSYmJen8886z62b/+KN+//13uVyugP07nU517txJjRs30cqVK7Vs2bKA5yvyXgAAwUUABgCoEwbef5/+XrFCTwwdJp/PF/CcCW7MrVhiYqJGvfqKDjywvX77bYnatWurrKxsXX3Ntdq8ebMtc9VVV6nDwQcpLi5Oa9asVdOmTdS0aVNddNEl+uvvvyu8HVdCgv5Z/Y/++vsvG4Dtu+++6tHjDFumfv36OuqoI/Xcc89r5Muv2HX777+f2rTZS3Fxsf5yS5ct22UIYuPGjTX2/Xdtr58J8kwg9t333+uWW/r7A8HyvBcAQGggAAMAhLzo6Ggde+wxevmVV3cJvkrz8MMP2XLHdj1eBQUFtndo9KhX9fD/HtKtt93uL2eCpDN6nKW//vrLPv7ww3Hq2/dmDbj7ngptp3379jrr7HO0ZMnv/nUzZsywt2KHdOig6dOnavrHn+iff/7R9Okf67jjutohiH1v6Vfme3nwgYHyeLw6sdtJcrvdatOmjb78YoZ69eqp998fW+73AgAIDQRgAICQZ3qQTO/O2rVrA9Z369ZN9evVs8vb09P17bffKioqShddeKHefvsdnX76aTZoMrf169fr7LPPDni9mTNWHLAYv/z8i0488QS7XJHt/DJnTkDwVSwpKckOCWzcuJGinFHKysrSYYcdagOw8jr33HN03/0DbfBl/Pvvv5o8ZarOP/+8gABsd+8FABA6CMAAACEvOzvb3jds0CBg/XFdj7U9Qocc0kG5ubk2ADND9hISEtShw8Fq2bJlQPmffgpM0rF9+/aAx/n5+YqLi7fLFdnOpo2bdqnzWWedqWeeHm4zNK5du85uOzY2Vo0bNS73+27UqJGtgxnaWNLqVavV7cQTy/1eAAChgwAMABDyTO+PSTzRqVOngPVmPpgxePAj6nrssXbZ9DKZuVHvjx1nh/lVVkW2U9qwyMeGDNHw4U/rjTff8q/7bfGvcjjKX4f09HSbbKR+g/oB683jbdu2lX9DAICQwYWYAQB1wujRY3TGGafrxBNO2GNvWWpqqq644vJdnmvevHm591eV7ZishQ0bNtDff6/wrzNz2Mx8r5JysnPs0MqymOBr4cKFOuvMMwO2fWaPM7hOGADUUfSAAQDqhHEffKh27drpvffe0dSp07Tw11+VmZmpvffaS2efdZZS583zlx34wIMa/+EHmjDhQ3388Sc2yDn++OPsUL6H/vdwufdZ2e2YnrOvvpqpRx8dpNFjXrNDCW+4/jp7vbKSfv11kU2mcfXVV2l72nabhn5n5vpm4z/8UB6PRwsWLtR5555jU9ePeGlEud8HACB0EIABAOqMx58YqvETJtr5VSarYF5+nk27fv0NN+nXX3/1l/vjj6XqftIpuuzSS9SxY0elbdum119/084RK2auk+V0BA4EWb78TyUmfVvl7Ri33nqbrrr6Kh155JFKS0tT795X6MKLLtSKFSv9ZaZNn674+HgdcURnJScn2zT0O1+Ied68+epx5lm2Dl26HKUff/pZfW/pr21paRV6LwCA0OBo0bL1nvP5AgAAAACqjDlgAAAAAFBLCMAAAAAAoJYQgAEAAABALSEAAwAAAIBaQgAGAAAAALWEAAwAAAAAagkBGAAAAADUEgIwAAAAAKglBGAAAAAAUEsIwAAAAACglhCAAQAAAEAtIQADAAAAANWO/wfTy2fn+J/8qAAAAABJRU5ErkJggg=="
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Evolved best tree: ((((Node23[a=-1.0,b=0.0,x=-2.0,y=0.0,r=1.17],Node22[a=-1.0,b=1.0,x=-2.0,y=1.0,r=1.08])Node13[a=-1.0,b=1.0,x=-1.0,y=0.0,r=1.28])Node8[a=1.0,b=0.0,x=0.0,y=-1.0,r=1.27])Node3[a=-1.0,b=-1.0,x=-1.0,y=-1.0,r=1.37],(((Node21[a=1.0,b=0.0,x=0.0,y=-3.0,r=1.31],Node20[a=-1.0,b=0.0,x=-2.0,y=-3.0,r=0.61])Node12[a=-1.0,b=-1.0,x=-1.0,y=-3.0,r=0.97])Node6[a=-1.0,b=-1.0,x=0.0,y=-2.0,r=1.38],((Node30[a=1.0,b=1.0,x=3.0,y=-2.0,r=1.42],Node29[a=1.0,b=-1.0,x=3.0,y=-4.0,r=0.83],Node28[a=1.0,b=0.0,x=3.0,y=-3.0,r=0.56])Node17[a=1.0,b=-1.0,x=2.0,y=-3.0,r=0.73],Node16[a=1.0,b=0.0,x=2.0,y=-2.0,r=0.68],(Node27[a=0.0,b=1.0,x=0.0,y=-2.0,r=0.72],Node26[a=-1.0,b=1.0,x=-1.0,y=-2.0,r=1.29],Node25[a=-1.0,b=-1.0,x=-1.0,y=-4.0,r=0.89])Node15[a=-1.0,b=-1.0,x=0.0,y=-3.0,r=1.39])Node5[a=1.0,b=1.0,x=2.0,y=0.0,r=0.65])Node2[a=1.0,b=-1.0,x=1.0,y=-1.0,r=0.85],((((Node33[a=1.0,b=0.0,x=4.0,y=-1.0,r=1.05],((Node34[a=-1.0,b=-1.0,x=-3.0,y=-4.0,r=0.68],Node33[a=0.0,b=-1.0,x=-2.0,y=-4.0,r=0.82])Node16[a=-1.0,b=-1.0,x=-2.0,y=-3.0,r=1.25],Node15[a=0.0,b=1.0,x=-1.0,y=-1.0,r=1.15],(Node9[a=-1.0,b=-1.0,x=-2.0,y=-3.0,r=1.27])Node14[a=-1.0,b=1.0,x=-2.0,y=-1.0,r=1.49])Node32[a=1.0,b=1.0,x=4.0,y=0.0,r=1.23],(Node50[a=0.0,b=-1.0,x=3.0,y=-3.0,r=1.33],Node49[a=1.0,b=-1.0,x=4.0,y=-3.0,r=1.4],Node48[a=1.0,b=1.0,x=4.0,y=-1.0,r=0.72])Node31[a=1.0,b=-1.0,x=4.0,y=-2.0,r=0.54])Node15[a=1.0,b=0.0,x=3.0,y=-1.0,r=1.28],(Node30[a=1.0,b=-1.0,x=3.0,y=-3.0,r=0.83])Node14[a=0.0,b=-1.0,x=2.0,y=-2.0,r=0.8],((Node53[a=0.0,b=1.0,x=2.0,y=1.0,r=0.61],Node52[a=-1.0,b=0.0,x=1.0,y=0.0,r=0.54],Node51[a=-1.0,b=1.0,x=1.0,y=1.0,r=1.17])Node29[a=-1.0,b=0.0,x=2.0,y=0.0,r=0.76],(Node50[a=-1.0,b=1.0,x=3.0,y=2.0,r=1.18],Node49[a=1.0,b=0.0,x=5.0,y=1.0,r=0.86],Node48[a=-1.0,b=0.0,x=3.0,y=1.0,r=1.05])Node28[a=1.0,b=1.0,x=4.0,y=1.0,r=1.06])Node13[a=1.0,b=1.0,x=3.0,y=0.0,r=0.73])Node6[a=1.0,b=0.0,x=2.0,y=-1.0,r=0.82],(((Node47[a=-1.0,b=-1.0,x=-3.0,y=-4.0,r=0.61],Node46[a=-1.0,b=0.0,x=-3.0,y=-3.0,r=0.92])Node27[a=-1.0,b=0.0,x=-2.0,y=-3.0,r=1.36])Node12[a=-1.0,b=-1.0,x=-1.0,y=-3.0,r=1.12])Node5[a=-1.0,b=-1.0,x=0.0,y=-2.0,r=1.11])Node2[a=1.0,b=-1.0,x=1.0,y=-1.0,r=1.23],(((Node26[a=1.0,b=1.0,x=0.0,y=2.0,r=0.7],(Node45[a=1.0,b=-1.0,x=0.0,y=1.0,r=1.11])Node25[a=0.0,b=1.0,x=-1.0,y=2.0,r=0.54])Node11[a=0.0,b=1.0,x=-1.0,y=1.0,r=1.38],(((Node17[a=-1.0,b=1.0,x=-2.0,y=4.0,r=1.16])Node11[a=0.0,b=-1.0,x=-2.0,y=-2.0,r=0.94],(Node23[a=-1.0,b=-1.0,x=-2.0,y=-3.0,r=0.78],Node22[a=1.0,b=0.0,x=0.0,y=-2.0,r=1.41],Node21[a=0.0,b=-1.0,x=-1.0,y=-3.0,r=1.26])Node10[a=1.0,b=-1.0,x=-1.0,y=-2.0,r=1.2])Node4[a=-1.0,b=0.0,x=-2.0,y=-1.0,r=1.31])Node10[a=-1.0,b=0.0,x=-2.0,y=0.0,r=0.52],(((Node23[a=-1.0,b=0.0,x=1.0,y=2.0,r=1.4],((Node30[a=-1.0,b=0.0,x=-3.0,y=0.0,r=1.33])Node14[a=-1.0,b=-1.0,x=-2.0,y=0.0,r=1.19],(Node29[a=-1.0,b=1.0,x=-3.0,y=3.0,r=0.99],Node28[a=-1.0,b=-1.0,x=-3.0,y=1.0,r=1.03])Node13[a=-1.0,b=1.0,x=-2.0,y=2.0,r=0.51],(((Node21[a=-1.0,b=-1.0,x=0.0,y=-3.0,r=0.72],(Node37[a=1.0,b=0.0,x=3.0,y=-2.0,r=0.78])Node20[a=1.0,b=0.0,x=2.0,y=-2.0,r=1.02],(Node36[a=0.0,b=-1.0,x=0.0,y=-2.0,r=1.18],Node35[a=-1.0,b=1.0,x=-1.0,y=0.0,r=0.83],Node34[a=-1.0,b=-1.0,x=-1.0,y=-2.0,r=1.37])Node19[a=-1.0,b=1.0,x=0.0,y=-1.0,r=1.23])Node10[a=-1.0,b=-1.0,x=1.0,y=-2.0,r=1.13],(((Node17[a=-1.0,b=1.0,x=-2.0,y=4.0,r=1.16])Node11[a=0.0,b=-1.0,x=-2.0,y=-2.0,r=0.94],(Node23[a=-1.0,b=-1.0,x=-2.0,y=-3.0,r=0.78],Node22[a=1.0,b=0.0,x=0.0,y=-2.0,r=1.41],Node21[a=0.0,b=-1.0,x=-1.0,y=-3.0,r=1.26])Node10[a=1.0,b=-1.0,x=-1.0,y=-2.0,r=1.2])Node4[a=-1.0,b=0.0,x=-2.0,y=-1.0,r=1.31])Node9[a=1.0,b=0.0,x=3.0,y=-1.0,r=1.23])Node5[a=1.0,b=-1.0,x=2.0,y=-1.0,r=0.81],(((Node36[a=-1.0,b=1.0,x=-2.0,y=2.0,r=1.04])Node19[a=0.0,b=1.0,x=-1.0,y=1.0,r=0.69],Node18[a=-1.0,b=1.0,x=-2.0,y=1.0,r=0.88],(Node35[a=-1.0,b=1.0,x=-3.0,y=1.0,r=0.98])Node17[a=-1.0,b=0.0,x=-2.0,y=0.0,r=0.65])Node16[a=-1.0,b=-1.0,x=-2.0,y=-3.0,r=1.25],Node15[a=0.0,b=1.0,x=-1.0,y=-1.0,r=1.15],(Node32[a=0.0,b=-1.0,x=-2.0,y=-2.0,r=0.91],Node31[a=-1.0,b=1.0,x=-3.0,y=0.0,r=0.83],Node30[a=-1.0,b=-1.0,x=-3.0,y=-2.0,r=1.48])Node14[a=-1.0,b=1.0,x=-2.0,y=-1.0,r=1.49])Node4[a=0.0,b=1.0,x=1.0,y=1.0,r=0.67],((Node7[a=-1.0,b=1.0,x=0.0,y=1.0,r=0.68],Node6[a=1.0,b=0.0,x=2.0,y=0.0,r=1.37],Node5[a=1.0,b=1.0,x=2.0,y=1.0,r=0.67])Node2[a=1.0,b=0.0,x=1.0,y=0.0,r=0.9],(Node4[a=0.0,b=1.0,x=-1.0,y=2.0,r=0.65],Node3[a=-1.0,b=1.0,x=-2.0,y=2.0,r=0.61])Node1[a=-1.0,b=1.0,x=-1.0,y=1.0,r=0.77])Node3[a=0.0,b=-1.0,x=1.0,y=-1.0,r=0.86])Node12[a=1.0,b=1.0,x=0.0,y=2.0,r=0.62])Node22[a=1.0,b=0.0,x=3.0,y=2.0,r=0.71],Node21[a=-1.0,b=1.0,x=1.0,y=3.0,r=1.42])Node10[a=1.0,b=1.0,x=2.0,y=2.0,r=1.0])Node21[a=1.0,b=-1.0,x=-1.0,y=-2.0,r=1.0],Node20[a=-1.0,b=1.0,x=-3.0,y=0.0,r=1.38])Node9[a=-1.0,b=-1.0,x=-2.0,y=-1.0,r=1.01])Node4[a=-1.0,b=1.0,x=-1.0,y=0.0,r=0.73],(((Node39[a=1.0,b=1.0,x=3.0,y=-2.0,r=0.68])Node19[a=1.0,b=0.0,x=2.0,y=-3.0,r=1.39],Node18[a=0.0,b=-1.0,x=1.0,y=-4.0,r=0.9])Node8[a=0.0,b=-1.0,x=1.0,y=-3.0,r=0.6],(((Node26[a=1.0,b=1.0,x=0.0,y=2.0,r=0.7],(Node17[a=1.0,b=0.0,x=1.0,y=1.0,r=1.04],Node16[a=1.0,b=1.0,x=1.0,y=2.0,r=1.33],Node15[a=-1.0,b=1.0,x=-1.0,y=2.0,r=1.5])Node25[a=0.0,b=1.0,x=-1.0,y=2.0,r=0.54])Node11[a=0.0,b=1.0,x=-1.0,y=1.0,r=1.38],(((Node17[a=-1.0,b=1.0,x=-2.0,y=4.0,r=1.16])Node11[a=0.0,b=-1.0,x=-2.0,y=-2.0,r=0.94],(Node23[a=-1.0,b=-1.0,x=-2.0,y=-3.0,r=0.78],Node22[a=1.0,b=0.0,x=0.0,y=-2.0,r=1.41],Node21[a=0.0,b=-1.0,x=-1.0,y=-3.0,r=1.26])Node10[a=1.0,b=-1.0,x=-1.0,y=-2.0,r=1.2])Node4[a=-1.0,b=0.0,x=-2.0,y=-1.0,r=1.31])Node10[a=-1.0,b=0.0,x=-2.0,y=0.0,r=0.52],((((Node36[a=-1.0,b=1.0,x=-2.0,y=2.0,r=1.04])Node19[a=0.0,b=1.0,x=-1.0,y=1.0,r=0.69],Node18[a=-1.0,b=1.0,x=-2.0,y=1.0,r=0.88],(Node35[a=-1.0,b=1.0,x=-3.0,y=1.0,r=0.98])Node17[a=-1.0,b=0.0,x=-2.0,y=0.0,r=0.65])Node16[a=-1.0,b=-1.0,x=-2.0,y=-3.0,r=1.25],Node15[a=0.0,b=1.0,x=-1.0,y=-1.0,r=1.15],(Node32[a=0.0,b=-1.0,x=-2.0,y=-2.0,r=0.91],Node31[a=-1.0,b=1.0,x=-3.0,y=0.0,r=0.83],Node30[a=-1.0,b=-1.0,x=-3.0,y=-2.0,r=1.48])Node14[a=-1.0,b=1.0,x=-2.0,y=-1.0,r=1.49])Node7[a=-1.0,b=0.0,x=-1.0,y=-2.0,r=0.91],(((((Node23[a=-1.0,b=0.0,x=-2.0,y=0.0,r=1.17],Node22[a=-1.0,b=1.0,x=-2.0,y=1.0,r=1.08])Node13[a=-1.0,b=1.0,x=-1.0,y=0.0,r=1.28])Node8[a=1.0,b=0.0,x=0.0,y=-1.0,r=1.27])Node3[a=-1.0,b=-1.0,x=-1.0,y=-1.0,r=1.37],(((Node21[a=1.0,b=0.0,x=0.0,y=-3.0,r=1.31],Node20[a=-1.0,b=0.0,x=-2.0,y=-3.0,r=0.61])Node12[a=-1.0,b=-1.0,x=-1.0,y=-3.0,r=0.97])Node6[a=-1.0,b=-1.0,x=0.0,y=-2.0,r=1.38],(((Node13[a=1.0,b=1.0,x=3.0,y=1.0,r=0.7])Node6[a=1.0,b=1.0,x=2.0,y=0.0,r=0.94])Node7[a=-1.0,b=0.0,x=1.0,y=0.0,r=1.2])Node5[a=1.0,b=1.0,x=2.0,y=0.0,r=0.65])Node2[a=1.0,b=-1.0,x=1.0,y=-1.0,r=0.85],(((Node18[a=1.0,b=1.0,x=0.0,y=3.0,r=1.45])Node11[a=-1.0,b=0.0,x=-1.0,y=2.0,r=1.22],(Node17[a=-1.0,b=1.0,x=-2.0,y=4.0,r=1.16])Node10[a=-1.0,b=1.0,x=-1.0,y=3.0,r=0.6],(Node16[a=1.0,b=0.0,x=2.0,y=2.0,r=0.97],Node15[a=1.0,b=-1.0,x=2.0,y=1.0,r=1.4],Node14[a=-1.0,b=-1.0,x=0.0,y=1.0,r=1.16])Node9[a=1.0,b=0.0,x=1.0,y=2.0,r=0.69])Node4[a=-1.0,b=1.0,x=0.0,y=2.0,r=1.21])Node1[a=1.0,b=1.0,x=1.0,y=1.0,r=1.49])Node13[a=-1.0,b=0.0,x=0.0,y=-3.0,r=0.53],Node12[a=1.0,b=-1.0,x=2.0,y=-4.0,r=0.58],((Node38[a=1.0,b=0.0,x=4.0,y=-1.0,r=1.15],Node37[a=1.0,b=1.0,x=4.0,y=0.0,r=0.63])Node20[a=1.0,b=0.0,x=3.0,y=-1.0,r=0.59],(Node36[a=1.0,b=0.0,x=3.0,y=-2.0,r=0.57],Node35[a=1.0,b=-1.0,x=3.0,y=-3.0,r=1.02])Node19[a=0.0,b=-1.0,x=2.0,y=-2.0,r=1.2],(Node34[a=1.0,b=1.0,x=2.0,y=0.0,r=1.32])Node18[a=-1.0,b=0.0,x=1.0,y=-1.0,r=0.78])Node11[a=0.0,b=-1.0,x=1.0,y=-4.0,r=0.62])Node6[a=1.0,b=-1.0,x=1.0,y=-3.0,r=0.88],Node5[a=1.0,b=0.0,x=1.0,y=-2.0,r=1.16])Node9[a=-1.0,b=-1.0,x=-2.0,y=-1.0,r=1.01])Node17[a=-1.0,b=-1.0,x=-1.0,y=-4.0,r=1.24],(((Node23[a=-1.0,b=0.0,x=1.0,y=2.0,r=1.4],(Node40[a=1.0,b=-1.0,x=4.0,y=1.0,r=1.41],Node39[a=1.0,b=0.0,x=4.0,y=2.0,r=1.46])Node22[a=1.0,b=0.0,x=3.0,y=2.0,r=0.71],Node21[a=-1.0,b=1.0,x=1.0,y=3.0,r=1.42])Node10[a=1.0,b=1.0,x=2.0,y=2.0,r=1.0])Node7[a=0.0,b=1.0,x=1.0,y=1.0,r=1.0],((Node38[a=1.0,b=0.0,x=4.0,y=-1.0,r=1.15],Node37[a=1.0,b=1.0,x=4.0,y=0.0,r=0.63])Node20[a=1.0,b=0.0,x=3.0,y=-1.0,r=0.59],(Node36[a=1.0,b=0.0,x=3.0,y=-2.0,r=0.57],Node35[a=1.0,b=-1.0,x=3.0,y=-3.0,r=1.02])Node19[a=0.0,b=-1.0,x=2.0,y=-2.0,r=1.2],(Node23[a=-1.0,b=0.0,x=1.0,y=2.0,r=1.4],(Node40[a=1.0,b=-1.0,x=4.0,y=1.0,r=1.41],Node39[a=1.0,b=0.0,x=4.0,y=2.0,r=1.46])Node22[a=1.0,b=0.0,x=3.0,y=2.0,r=0.71],Node21[a=-1.0,b=1.0,x=1.0,y=3.0,r=1.42])Node18[a=-1.0,b=0.0,x=1.0,y=-1.0,r=0.78])Node6[a=1.0,b=-1.0,x=2.0,y=-1.0,r=0.76])Node16[a=0.0,b=-1.0,x=0.0,y=-4.0,r=1.0])Node7[a=-1.0,b=-1.0,x=0.0,y=-3.0,r=1.46])Node3[a=1.0,b=-1.0,x=1.0,y=-2.0,r=1.17])Node1[a=0.0,b=-1.0,x=0.0,y=-1.0,r=0.95])Node1[a=1.0,b=1.0,x=1.0,y=1.0,r=1.49])Node_0[a=0,b=-0,x=0,y=0,r=1]\n",
      "Evolved best fitness: 0.97\n",
      "Execution time: 0 hours, 4 minutes, 13 seconds\n"
     ]
    }
   ],
   "execution_count": 9
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "*Observación.* El fitness crece con las generaciones, un hecho que demuestra que la Evolución funciona. Sin embargo, este programa no tiene nada que ver con la morfogénesis porque los hijos se encuentran lejos de sus padres. Además, muchas ramas invaden el territorio de otros, y el gráfico final parece más un enredo que un árbol. Por lo tanto, nuestro modelo no es compatible con la Evolución y no tiene futuro. No es evolucionable. Además, tenemos el problema del crecimiento excesivo de árboles que hace que el programa se ejecute más lentamente cuanto mayor es el número de generaciones ejecutadas.\n",
    "\n",
    "**Intriga.** ¿Se puede diseñar la capacidad de Evolución de los morfo-árboles?"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# MODELOS EVOLUTIVOS\n",
    "\n",
    "Nuestros árboles considerados no son evolutivos porque se desgarran por recombinación. Presentemos dos modelos evolutivos, uno rlacionado con coordenadas polares y el otro con un fractal.\n",
    "\n",
    "## El modelo de torta o tarta\n",
    "\n",
    "Un gráfico de barras en coordenadas polares que es apropiado para nuestro propósito está representado por el siguiente programa:"
   ]
  },
  {
   "cell_type": "code",
   "metadata": {},
   "source": [
    "# Program pie.py\n",
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "# Example \n",
    "# Bar char in polar axis\n",
    "# of Matplot library usage to create a polar bar chart.\n",
    "# Adapted with the help of the AI of Visual Studio Code.\n",
    "\n",
    "# Fixing random state for reproducibility\n",
    "np.random.seed(19680801)\n",
    "\n",
    "# Compute pie slices\n",
    "N = 20\n",
    "theta = np.linspace(0.0, 2 * np.pi, N, endpoint=False)\n",
    "radii = 10 * np.random.rand(N)\n",
    "#width = np.pi / 4 * np.random.rand(N) #overlapping bars\n",
    "width = theta[1] - theta[0]  # Set width to the difference between consecutive theta values\n",
    "colors = plt.colormaps[\"viridis\"](radii / 10.)\n",
    "\n",
    "ax = plt.subplot(projection='polar')\n",
    "ax.bar(theta, radii, width=width, bottom=0.0, color=colors, alpha=0.5)\n",
    "\n",
    "plt.show()"
   ],
   "outputs": [],
   "execution_count": null
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Ejercicio.** Ejecute el programa y descubra que se trata de un gráfico de barras ordinario que ha sido enrollado alrededor del origen cubriendo toda la amplitud angular.\n",
    "\n",
    "**Ejercicio.** Interpreta el char del pastel en términos de morfología. Demuestra que este char conduce a un modelo de morfogénesis que es 100\\% evolutivo.\n",
    ">\n",
    "> *Respuesta.* Vemos que un gráfico de torta puede tener una silueta externa muy compleja, un hecho que indica que se pueden modelar geometrías muy intrincadas con este tipo de char. Todo lo que necesitamos es controlar el número de secciones, la anchura y el radio de cada sección en función de la posición angular de cada sección. En el modelo más simple, todas las secciones tienen la misma anchura pero radio variable. En morfología, cada corte es un producto de una sola célula cuyos descendientes heredan la misma información: el radio del corte. Esto se interpreta como el número de divisiones celulares que están permitidas a lo largo del radio correspondiente. Cuando se alcanza ese número, las células exteriores detienen la reproducción. Los genomas de las células contienen el número de reproducciones permitidas antes de detenerse.\n",
    ">\n",
    "> Este modelo es evolutivo porque ni la mutación ni la recombinación tienen efectos colaterales. Estas operaciones modifican cada radio sin afectar el de las otras secciones. En este sentido, cada sección está aislada.\n",
    "\n",
    "**Ejercicio.** Relaciona el modelo de tarta con árboles. ¿Esperas pleiotropía? Si este modelo no observa la pleiotropía, la estabilidad evolutiva de la forma de las moscas no se puede explicar.\n",
    ">\n",
    "> *Respuesta.* Un pastel con n rebanadas es en efecto un árbol cuya raíz es el origen, y la raíz tiene n hijos, cada uno de los cuales define un clan que ocupa completamente cada rebanada y nada más. No se espera pleiotropía porque cada rebanada está aislada de las otras. Pero, la pleiotropía podría ser diseñada aumentando el ancho de las secciones para que se superpongan entre sí.\n",
    "\n",
    "\n",
    "El modelo del pastel es bueno para explicar cómo generar una región en la que cada punto puede estar conectado al origen por un radio. Una región de este tipo se llama un *dominio estelar*. Pero las regiones con agujeros, como una vértebra, no pueden ser explicadas. Para llenar este vacío, el siguiente modelo podría ayudar.\n",
    "\n",
    "# El fractal de la cruz cuádrica\n",
    "\n",
    "Esta es un dibujo similar a sí mismo que se basa en un cuadrado. El siguiente código presenta cómo se dibuja recursivamente."
   ]
  },
  {
   "cell_type": "code",
   "metadata": {},
   "source": [
    "# Program quadric.py\n",
    "import matplotlib.pyplot as plt\n",
    "import matplotlib.patches as patches\n",
    "# By Google on the prompt: \n",
    "\n",
    "# \"Draw the Vicsek Cross Fractal (Quadric-Cross-Fractal) using Matplotlib in Python.\" \n",
    "# The fractal isdrawn recursively, and the depth of recursion should be adjustable. \n",
    "# The base case should draw a filled square, \n",
    "# and the recursive case should draw the cross pattern \n",
    "# by dividing the square into 9 smaller squares \n",
    "# and drawing the cross in the center and the middle of each edge.\"\n",
    "\n",
    "# You can use the following command to install the required libraries \n",
    "# if they are not already installed:\n",
    "# pip install matplotlib\n",
    "\n",
    "def draw_vicsek_cross(ax, x, y, size, depth):\n",
    "    \"\"\"\n",
    "    Zeichnet das Quadric-Cross-Fraktal (Vicsek-Kreuz) rekursiv.\n",
    "    \n",
    "    Parameters:\n",
    "        ax: Das Matplotlib-Achsen-Objekt.\n",
    "        x, y: Die Koordinaten der linken unteren Ecke des aktuellen Quadrats.\n",
    "        size: Die Seitenlänge des aktuellen Quadrats.\n",
    "        depth: Die aktuelle Rekursionstiefe (0 ist das Basis-Quadrat).\n",
    "    \"\"\"\n",
    "    if depth == 0:\n",
    "        # Basis-Fall: Zeichne ein ausgefülltes Quadrat\n",
    "        rect = patches.Rectangle((x, y), size, size, facecolor='darkblue', edgecolor='none')\n",
    "        ax.add_patch(rect)\n",
    "    else:\n",
    "        # Berechne die Größe der 9 kleineren Unterquadrate (3x3)\n",
    "        new_size = size / 3\n",
    "        \n",
    "        # Das Kreuz besteht aus 5 Positionen im 3x3 Gitter:\n",
    "        # (Spalte, Zeile) -> 0=links/unten, 1=mitte, 2=rechts/oben\n",
    "        cross_positions = [\n",
    "            (1, 1),  # Zentrum\n",
    "            (1, 0),  # Unten-Mitte\n",
    "            (1, 2),  # Oben-Mitte\n",
    "            (0, 1),  # Links-Mitte\n",
    "            (2, 1)   # Rechts-Mitte\n",
    "        ]\n",
    "        \n",
    "        # Rekursiver Aufruf für jede der 5 Teilflächen des Kreuzes\n",
    "        for dx, dy in cross_positions:\n",
    "            draw_vicsek_cross(ax, x + dx * new_size, y + dy * new_size, new_size, depth - 1)\n",
    "\n",
    "def plot_fractal(depth):\n",
    "    fig, ax = plt.subplots(figsize=(8, 8))\n",
    "    \n",
    "    # Startparameter für das Hauptquadrat\n",
    "    start_x, start_y = 0, 0\n",
    "    total_size = 1.0\n",
    "    \n",
    "    # Fraktal zeichnen\n",
    "    draw_vicsek_cross(ax, start_x, start_y, total_size, depth)\n",
    "    \n",
    "    # Achsen-Layout optimieren\n",
    "    ax.set_xlim(0, total_size)\n",
    "    ax.set_ylim(0, total_size)\n",
    "    ax.set_aspect('equal')\n",
    "    ax.axis('off')  # Blendet die Achsenlinien aus\n",
    "    \n",
    "    plt.title(f\"Quadric Cross Fraktal (Tiefe {depth})\", fontsize=14, fontweight='bold')\n",
    "    plt.show()\n",
    "\n",
    "# Generiert das Fraktal. \n",
    "# Hinweis: Tiefen über 5 können aufgrund der exponentiellen Zunahme der Quadrate rechenintensiv werden.\n",
    "plot_fractal(depth=0)\n",
    "plot_fractal(depth=1)\n",
    "plot_fractal(depth=2)\n",
    "plot_fractal(depth=3)\n",
    "plot_fractal(depth=4)\n",
    "plot_fractal(depth=5)"
   ],
   "outputs": [],
   "execution_count": null
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Ejercicio.** Ejecuta el programa para ver cómo se construye iterativamente el fractal cuadrilástico.\n",
    "\n",
    "**Ejercicio.** Fijar una profundidad de recursión, digamos 4, y explicar cómo esta estructura congelada puede ser animada para ser un modelo de morfogénesis.\n",
    ">\n",
    "> *Respuesta.* Todo está congelado en el fractal para una profundidad de recursión dada. Para encajar en cualquier silueta, es necesario dar  una longitud apropiada a ramas estratégicas, cuyo valor debe entrar dentro del genoma de cada célula.  El fractal es un árbol que expulsa mensajeros para controlar la reproducción de las células vecinas. El radio de acción de cada centro también debe incluirse en el genoma.\n",
    "\n",
    "**Ejercicio.** Decide: ¿Seguirías trabajando con los árboles de morfología anteriores o preferirías explorar estos modelos evolutivos?\n",
    ">\n",
    "> *Respuesta.* Preferimos seguir trabajando con árboles comunes por cuatro razones:\n",
    "> 1. Los morpho-trees pueden eventualmente ser utilizados para producir pleiotropia, que es una simple maquinaria para explicar la estabilidad evolutiva de la morfología de las moscas.\n",
    " > 2. Los morfo-árboles son en principio capaces de explicar estructuras tan complejas como una vértebra o el páncreas, que incluye islas que generan productos específicos, por ejemplo insulina o componentes del jugo pancreático.\n",
    "  > 3. Los morfo-árboles pueden explicar la tremenda variabilidad de los detalles dentro de las especies y razas, al tiempo que predicen la estabilidad evolutiva de características profundas.\n",
    "   > 4. Los árboles evolutivos no pueden explicar la estabilidad de las moscas porque, por más fácil que sea alcanzar la perfección, también es fácil perderla cuando la selección falla, por ejemplo en pequeños grupos, como aquellos en los que a las moscas les encanta existir.\n",
    "\n",
    "\n",
    "\n",
    "Sigamos trabajando.\n",
    "\n",
    "**Ejemplo.**  En el siguiente programa, vemos algunas mejoras que se han añadido a la simulación de la Evolución de los morfo-árboles en notación Newick:\n",
    "   1. La mutación se ha incorporado con el poder de\n",
    "       tener hijos en el vecindario inmediato del padre y\n",
    "       cambiar el radio y la topología de los árboles\n",
    "       mediante la inserción y eliminación de hojas.\n",
    "   2. Se ha habilitado la recombinación con el poder\n",
    "       intercambiar hojas entre árboles.\n",
    "       Esperamos que una buena proporción de la población\n",
    "       ser capaz de recombinar, mutar y reproducirse con éxito.\n",
    "   3. Se ha introducido un límite para la longitud de las cadenas de Newick para evitar el crecimiento excesivo de los árboles.\n",
    "   4. La semilla del generador de números aleatorios ha sido congelada para que los resultados sean reproducibles."
   ]
  },
  {
   "cell_type": "code",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2026-10-08T18:29:17.158716Z",
     "start_time": "2026-10-08T18:24:40.867579Z"
    }
   },
   "source": [
    "# Program Evolución_of_newick_morphological_trees11.py\n",
    "# Morphological trees considered here are like lighting trees:\n",
    "# an electrical thread in the form of tree covers an area\n",
    "# and there is lamp at each node.\n",
    "# Each lamp has a given power and a circle of illumination,\n",
    "# whose radius is determined by a threshold intensity.\n",
    "# In morphology, this corresponds with a threshold concentration of a messenger.\n",
    "# Evolución is given the task of illuminating\n",
    "# the area determined by a random target tree.\n",
    "# Trees are encoded in Newick Notation and\n",
    "# everything is done over the correspond strings\n",
    "# without resorting to the Node class.\n",
    "# Thus, it is possible to use the Newick strings as a genotype and\n",
    "# the corresponding trees as a phenotype.\n",
    "# \n",
    "# In this version:\n",
    "#   1. Mutation has been inbuilt with the power\n",
    "#       to have children in the immediate neighborhood of the father and    \n",
    "#       to change radius and the topology of trees\n",
    "#       by means of insertion and deletion of leaves.\n",
    "#    2. Recombination has been enabled with the power \n",
    "#       to exchange leaves between trees.\n",
    "#       We expect a good proportion of the population to \n",
    "#       be able to successfully recombine, mutate and reproduce.\n",
    "#    3. A cut-off for the length of the Newick string has been introduced to avoid overgrowth of trees.\n",
    "#    4. The seed of the random number generator has been fixed to make the results reproducible.\n",
    "# We reuse programs made with the help of Colab and Gemini 2.5 Flash.\n",
    "# With the  assistance of the AI of Visual Studio Code.\n",
    "\n",
    "import random\n",
    "import matplotlib.pyplot as plt\n",
    "import matplotlib.patches as patches\n",
    "import numpy as np\n",
    "import math\n",
    "import copy # For deep copying trees during reproduction and mutatio\n",
    "import re # Required for newick parsing\n",
    "#import itertools # Required for sequential replacement\n",
    "import sys # Import sys module to adjust recursion limit\n",
    "sys.setrecursionlimit(3000)\n",
    "import time\n",
    "# trace memory allocation \n",
    "#https://www.geeksforgeeks.org/python/monitoring-memory-usage-of-a-running-python-program/\n",
    "# this consumes too much cpu-time by a multiplicative factor, say 5 for 1000 lines.\n",
    "import tracemalloc \n",
    "\n",
    "\n",
    "#Activate  memory monitoring?\n",
    "memory_monitoring = False \n",
    "recombination_of_leaves = True\n",
    "\n",
    "# starting the memory allocation monitoring\n",
    "if memory_monitoring:\n",
    "    tracemalloc.start() \n",
    "start_time = time.time()\n",
    "\n",
    "# Parameters for the target tree generation\n",
    "target_tree_params = {\n",
    "  'max_depth': 7,\n",
    "  'max_number_children': 3,\n",
    "  'max_node_radius': 1.5,\n",
    "}\n",
    "\n",
    "# Parameters for the Genetic Algorithm\n",
    "ga_params = {\n",
    "  'seed': 47423648, #the seed of the target tree is this plus 1.\n",
    "  'pop_size': 200,\n",
    "  'generations': 5001,\n",
    "  'max_depth': 8,\n",
    "  'max_number_children': 3,\n",
    "  'max_node_radius': 1.5,\n",
    "  'mutation_rate': 0.001, \n",
    "  'crossover_rate': 0.001  \n",
    "}\n",
    "\n",
    " \n",
    "def print_parameters11(target_tree_params, ga_params):\n",
    "    print(\"LAB: Evolución OF NEWICK MORPHO-TREES\")\n",
    "    print(\"PURPOSE: \"\n",
    "          + \"\\n A random morpho-tree T is generated.\"\n",
    "          + \"\\n Evolución tries to restore the tree T\"\n",
    "          + \"\\n beginning from a population of random trees.\")\n",
    "    print(f\"EXPERIMENT {start_time}\")\n",
    "    print(f\"RECOMBINATION OF LEAVES: {recombination_of_leaves}\")\n",
    "    print(f\"SEED FOR THE GENETIC ALGORITHM: {ga_params['seed']}\")\n",
    "    print(f\"TARGET TREE PARAMETERS: {target_tree_params}\")\n",
    "    print(f\"GENETIC ALGORITHM PARAMETERS: {ga_params}\\n\")\n",
    "\n",
    "\n",
    "# GENERATION OF A MORPHO-TREE\n",
    "\n",
    "# Program morpho_tree_drawer.py\n",
    "\n",
    "# The following program generates a Newick strings\n",
    "# that encodes for a morpho-tree  and draws it.\n",
    "# Children are located in the immediate neighborhood of the father.\n",
    "# If postions are occupied, no children.\n",
    "# Then, children are generated only when there is place for them.\n",
    "\n",
    "# ====   Grammar_generator =======\n",
    "\n",
    "# This program uses a hidden grammar to generate Newick expressions that encode for morphological trees.\n",
    "# The information of each node is generated on the image of\n",
    "#   Node25[a=18,b=18,x=19,y=0,r=14.3]\n",
    "# The rules of the grammar are:\n",
    "# 1. Initial string or seed: `s = ()n`\n",
    "# 2. Generate a random digit: x\n",
    "# 3. Replace in `s`, `()` by x copies of `(()n ` separated by a comma.\n",
    "# 4. Iterate.\n",
    "# 5. Replace each `n`by the info of a node whose values are generated at random but the index of the tag is a counter with the iterative process.\n",
    "# 6. Delete the tag \"()\" that appears in the last appended children.\n",
    "# An ordered set of rules like this is a Generative Grammar.\n",
    "# The grammmar is hidden because no n is generated,\n",
    "# because beforehand it is replaced by the info of a node.\n",
    "# With the assistance of Colab and reusing a previous code by Gemini.\n",
    "\n",
    "\n",
    "\n",
    "def replace_str_subsequence11(original_str, start_idx, end_idx, new_subsequence):\n",
    "    ''' Replace a subsequence from start_idx to end_idx with another string.\n",
    "        By Google'''\n",
    "    # Concatenate the pieces together\n",
    "    return original_str[:start_idx] + new_subsequence + original_str[end_idx:]\n",
    "\n",
    "def replace_strig_of_length11(original_str, replacement, position, length_to_replace):\n",
    "    \"\"\"\n",
    "    Replaces a subsequence of given length.\n",
    "    :param original_str: The main text string\n",
    "    :param replacement: The new text you want to insert\n",
    "    :param position: The starting index of the old subsequence\n",
    "    :param length_to_replace: The length of the old subsequence being removed\n",
    "    \"\"\"\n",
    "    before = original_str[:position]\n",
    "    after = original_str[position + length_to_replace:]\n",
    "    return before + replacement + after\n",
    "\n",
    "\n",
    "def detect_all_groups11(newick_string):\n",
    "    '''Al substrings that encodes for the info of a node, step from father, center and radius are detected.'''\n",
    "\n",
    "    #print(\"detect_all_groups11(newick_string)\")\n",
    "    #print(f\"Newick String: {newick_string}\")\n",
    "    # Detect a pattern on the model  info = NodeB_3_x_2[a=0,b=1,x=2,y=2,r=3]\n",
    "    #info_words = r'[\\a-zA-Z_0-9_[_=_,\\] ]+'\n",
    "    #info_words = r'[a-zA-Z_][a-zA-Z_0-9_]*\\[x=-?[0-9]+(?:\\.[0-9]+)?,y=-?[0-9]+(?:\\.[0-9]+)?,r=-?[0-9]+(?:\\.[0-9]+)?\\]$'\n",
    "                                                    #info_words = r'[a-zA-Z_0-9_]*\\[x=-?[0-9]+(?:\\.[0-9]+)?,y=-?[0-9]+(?:\\.[0-9]+)?,r=-?[0-9]+(?:\\.[0-9]+)?\\]'\n",
    "    info_words =  r'[a-zA-Z_0-9_]*\\[a=-?[0-9]+(?:\\.[0-9]+)?,b=-?[0-9]+(?:\\.[0-9]+)?,x=-?[0-9]+(?:\\.[0-9]+)?,y=-?[0-9]+(?:\\.[0-9]+)?,r=-?[0-9]+(?:\\.[0-9]+)?\\]'\n",
    "    starts = []\n",
    "    groups = []\n",
    "    for match in re.finditer(info_words, newick_string):\n",
    "        #print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "        #print(f\"    starts at index: {match.start()}\")\n",
    "        starts.append(match.start())\n",
    "        groups.append(match.group())\n",
    "    #number_of_groups = len(starts)\n",
    "    #print(f\"number_of_groups = {number_of_groups}\")\n",
    "    #print(f\"starts of gropus: {starts}\")\n",
    "    #print(f\"groups: {groups}\")\n",
    "\n",
    "\n",
    "    '''\n",
    "    # All infos are replaced by the dumb variable n\n",
    "    for j in range(number_of_infos - 1, -1, -1):\n",
    "        print(f\"start_of_info[{j}]:  {starts[j]},  len(groups[{j}]): {len(groups[j])}\")\n",
    "        new_s = replace_at_position2(new_s, \"n\", starts[j], len(groups[j]))\n",
    "        print(f\"new string = '{new_s}'\")\n",
    "        '''\n",
    "    return groups\n",
    "\n",
    "def count_groups11(newick_string):\n",
    "    '''The number of groups is counted.'''\n",
    "    groups = detect_all_groups11(newick_string)\n",
    "    number_of_groups = len(groups)\n",
    "    return number_of_groups\n",
    "\n",
    "def extract_info11(group):\n",
    "  '''The info of each group is extracted by tokenizers from the string.'''\n",
    "  patern_a = r'a=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  patern_b = r'b=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  patern_x = r'x=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  patern_y = r'y=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  patern_r = r'r=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  a = re.findall(patern_a, group)\n",
    "  b = re.findall(patern_b, group)\n",
    "  x = re.findall(patern_x, group)\n",
    "  y = re.findall(patern_y, group)\n",
    "  r = re.findall(patern_r, group)\n",
    "  a = float(a[0][2:])\n",
    "  b = float(b[0][2:])\n",
    "  x = float(x[0][2:])\n",
    "  y = float(y[0][2:])\n",
    "  r = float(r[0][2:])\n",
    "  return [a,b,x,y,r]\n",
    "\n",
    "\n",
    "def extract_all_infos11(newick_string):\n",
    "    #print(\"extract_all_infos\n",
    "    # Groups are detected. A group is the encoding of the parameters of a node in an info.\n",
    "    groups = detect_all_groups11(newick_string)\n",
    "    #print(f\"Groups: {groups}\")\n",
    "    number_of_groups = len(groups)\n",
    "    #print(f\"number_of_groups = {number_of_groups}\")\n",
    "\n",
    "    # Info is extracted from each group and\n",
    "    # all infos are kept in corresponding arrays.\n",
    "    a = []\n",
    "    b = []\n",
    "    x = []\n",
    "    y = []\n",
    "    r = []\n",
    "    #print(\"\\nInfo is extracted form each group\")\n",
    "    for i in range(number_of_groups):\n",
    "      #print(f\"group[{i}]: {groups[i]}\")\n",
    "      #print(f\"len(group[{i}]): {len(groups[i])}\")\n",
    "      [ai,bi,xi,yi,ri] = extract_info11(groups[i])\n",
    "      #print(f\"a: {ai}, b: {bi}, x: {xi}, y: {yi}, r: {ri}\")\n",
    "      a.append(ai)\n",
    "      b.append(bi)\n",
    "      x.append(xi)\n",
    "      y.append(yi)\n",
    "      r.append(ri)\n",
    "    return a,b,x,y,r\n",
    "\n",
    "\n",
    "def get_neighboring_coordinates11(cell):\n",
    "  '''Immediate neighboring coordinates of a cell are generated'''\n",
    "  neighbors = []\n",
    "  for dx in [-1, 0, 1]:\n",
    "      for dy in [-1, 0, 1]:\n",
    "          if dx == 0 and dy == 0:\n",
    "              continue  # Exclude the current square itself\n",
    "          neighbors.append((cell[0] + dx, cell[1] + dy))\n",
    "  return neighbors\n",
    "\n",
    " \n",
    "\n",
    "def find_father_center11(newick_string, j):\n",
    "  ''' Finds the address of the father of a node at j'''\n",
    "  #print(\"find_father_center11(s, j)\")\n",
    "  #print(f\"s: {newick_string}\")\n",
    "  #print(f\"j: {j}\")\n",
    "\n",
    "  #Right tail is recruited\n",
    "  tail = newick_string[j+1:]\n",
    "  father_group = detect_all_groups11(tail)\n",
    "  if father_group:\n",
    "    #print(f\"Father_group 1: {father_group}\")\n",
    "    [af,bf,xf,yf,rf] = extract_info11(father_group[0])\n",
    "    #print(f\"Info: a: {af}, b: {bf}, x: {xf}, y: {yf}, r: {rf}\")\n",
    "    father_center = [xf,yf]\n",
    "    return father_center\n",
    "  else:\n",
    "   return \"\"\n",
    "\n",
    "\n",
    "\n",
    "def node_info_generator11(father_center, counter,  occupied_squares_set, max_node_radius):\n",
    "  '''For each node, info is generated on the model\n",
    "     Node_26[a=1,b=-1,x=3,y=5,r=0.85]\n",
    "     by replacing n by the info of a node whose values are generated at random\n",
    "     but the index of the tag is a counter with the iterative process.\n",
    "      '''\n",
    "  #print(\"node_info_generator11(father_center, counter,  occupied_squares_set)\")\n",
    "  coordinates_neighbors = get_neighboring_coordinates11(father_center)\n",
    "  #print(f\"coordinates_neighbors: {coordinates_neighbors}\")\n",
    "  #print(f\"occupied_squares_set: {occupied_squares_set}\")\n",
    "  # First, filter for unoccupied grid squares within this tree\n",
    "  available_square_neighbors = [coord for coord in coordinates_neighbors if coord not in occupied_squares_set]\n",
    "  info = \"\" # future info of a node that represents a cell\n",
    "  if available_square_neighbors:\n",
    "    # Choose a random valid candidate\n",
    "    nx,  ny  = random.choice(available_square_neighbors)\n",
    "    na = nx - father_center[0]\n",
    "    nb = ny - father_center[1]\n",
    "    nr = random.uniform(0.5, max_node_radius)\n",
    "    nr = round(nr, 2)\n",
    "    info = \"Node\" +  str(counter)  + \"[\" + \"a=\" + str(na) + \",\" + \"b=\" + str(nb) + \",\"  +   \"x=\" + str(nx) + \",\" + \"y=\" + str(ny) + \",\" + \"r=\" + str(nr)+ \"]\"\n",
    "    info = \"()\"+ info\n",
    "    #print(f\"Generated Node info: {info}\")\n",
    "    occupied_squares_set.add((nx, ny))\n",
    "\n",
    "  else:\n",
    "    #All neighboring places are occupied\n",
    "    #print(\"All neighboring places are occupied\")\n",
    "    info = \"\"\n",
    "  return info, occupied_squares_set\n",
    "\n",
    "\n",
    "def generate_children11(father_center, numb_children, counter, occupied_squares_set, max_node_radius):\n",
    "  ''' Generate children in the pattern of a Newick Tree.\n",
    "      Output in the form\n",
    "      n,n,n,n '''\n",
    "  #print(\"generate_children(max_numb_children)\")\n",
    "  #print(f\"Number of children: {numb_children}\")\n",
    "  s = \"\"\n",
    "  for i in range(numb_children):\n",
    "    if i == 0:\n",
    "      a = \"\"\n",
    "    else:\n",
    "      a = \",\"\n",
    "    info, occupied_squares_set = node_info_generator11(father_center, counter, occupied_squares_set, max_node_radius)\n",
    "    if not info:\n",
    "      continue\n",
    "    else:\n",
    "     s = info + a + s\n",
    "     counter = counter + 1\n",
    "  s =  \"(\" + s + \")\"\n",
    "  #print(f\"Children: {s}\")\n",
    "  return s, counter, occupied_squares_set\n",
    "\n",
    "\n",
    "def complete_tree_generator11(max_depth, max_numb_children, max_node_radius):\n",
    "  ''' A tree is generated step by step\n",
    "   taking care of generating no child where there is no place for it.'''\n",
    "  #print(\"complete_tree_generator11(...)\")\n",
    "  occupied_squares_set = set() # Initialize a new set for this tree's square coordinates\n",
    "  actual_depth = random.randint(0, max_depth) # Number of allowed divisions along each branch.\n",
    "  #print(f\"Actual depth: {actual_depth}\")\n",
    "  # () is used as a marker for insertion. \n",
    "  tree = \"()Node_0[a=0,b=0,x=0,y=0,r=1]\"\n",
    "  occupied_squares_set.add((0,0))\n",
    "  #counter of defined nodes\n",
    "  counter = 1\n",
    "  for i in range(actual_depth):\n",
    "      #print(f\"depth: {i}\")\n",
    "      l = len(tree)\n",
    "      #print(f\"i : {i} l: {l}\")\n",
    "      # String s is scanned starting from the end\n",
    "      for j in range(l-1, 0, -1):\n",
    "        #print(f\"s: {s}\")\n",
    "        #print(f\"s[j-1] s[j]  :  {s[j-1]}{s[j]}\")\n",
    "        # Replace () by a list of children\n",
    "        if tree[j-1] == \"(\" and tree[j] == \")\":\n",
    "          father_center = find_father_center11(tree, j)\n",
    "          #print(f\"Father center: {father_center}\")\n",
    "          if not father_center:\n",
    "            continue\n",
    "          numb_children = random.randint(0, max_numb_children)\n",
    "          if numb_children == 0:\n",
    "            continue\n",
    "          else:\n",
    "            # Replacement\n",
    "            generated_children, counter, occupied_squares_set = generate_children11(father_center, numb_children, counter, occupied_squares_set, max_node_radius)\n",
    "            tree = replace_str_subsequence11(tree, j-1, j+1, generated_children)\n",
    "          #print(f\"{i} {j} Tree: {tree}\")\n",
    "  #print(f\"crude tree: {tree}\")\n",
    "  tree = tree.replace(\"()\", \"\")\n",
    "  #print(f\"final tree: {tree}\")\n",
    "  return tree\n",
    "\n",
    "# === VALIDATOR ====\n",
    "\n",
    "\n",
    "# Program validator_for_newick_morpho_trees.py\n",
    "# The task is to decide whether a Newick string encodes for a morpho tree.\n",
    "# To solve the task,\n",
    "# we simply go backwards over the procedure of creation of Newick strings.\n",
    "# The program has two sections.\n",
    "# In the first,\n",
    "# the string in divided in tokens, substrings of predefined content,\n",
    "# and all groups that fit into the pattern\n",
    "# info = NodeB_3_x_2[a=2,b=2,r=3] are detected.\n",
    "# Each found group undergoes a detailed test for correctness.\n",
    "# If some group is wrong, the whole string is rejected.\n",
    "# If all are correct, the test continues further on.\n",
    "# In the second section,\n",
    "# each info is replaced by \"n\",\n",
    "# then, each \"n\" is replaced by\"\"\n",
    "# then each \"()\" is replaced by \"\".\n",
    "# If a formula is correct,\n",
    "# the final product of this algorithm is the void sting \"\",\n",
    "# and its length is zero.\n",
    "# Connectivity issues are not checked.\n",
    "\n",
    "# A bug in the drawing procedure has been corrected, and the drawing of trees is now correct.\n",
    "# The bug was related to the function that finds the father of a node.\n",
    "\n",
    "# With the help of Gemini, Google and the AI of Visual Studio Code.\n",
    "\n",
    "\n",
    "\n",
    "# --- TOKENIZER FOR NEWICK STRINGS ---\n",
    "# --- Elements to create well-formed Newick info-s of Morpho_trees.---\n",
    "# --- Every info is modeled on the pattern\n",
    "# --- NodeB_3_x_2[a=1,b=0,x=4,y=5,r=1.2]\n",
    "# --- where a nad b are -1,0,1 except (0,0)\n",
    "# --- because they represent a step awya from the father.\n",
    "# --- If a substring fits into this pattern,\n",
    "# --- it must produce the sequence 73756275627564.\n",
    "# --- Say, each info begins with a noun = letters, number 7,\n",
    "# --- and ends with a right bracket number 4.\n",
    "# --- Assigned numbers are at the right of comments.\n",
    "# --- By Gemini\n",
    "TOKEN_SPECIFICATION_NEWICK = [\n",
    "    ('LPAREN',    r'\\('),          # Left Parenthesis, 0\n",
    "    ('RPAREN',    r'\\)'),          # Right Parenthesis, 1\n",
    "    ('COMMA',     r','),           # Comma separator for children, 2\n",
    "    ('LBRACKET',  r'\\['),          # Left Bracket for metadata, 3\n",
    "    ('RBRACKET',  r'\\]'),          # Right Bracket for metadata, 4\n",
    "    ('EQUALS',    r'='),           # Equals sign in metadata, 5\n",
    "    ('NUMBER',    r'-?\\d+(?:\\.\\d+)?'), # Numbers (integers or floats, possibly negative), 6\n",
    "    ('LETTERS',   r'[a-zA-Z_0-9]+'), # Node labels (e.g., 'Node0', 'Target_Root_26'), or variables (x, y, r), 7\n",
    "    ('SEMICOLON', r';'),           # Optional semicolon at end of Newick string, 8\n",
    "    ('SKIP',      r'[ \\t\\n]+'),  # Skip spaces, tabs, newlines, 9\n",
    "    ('MISMATCH',  r'.'),           # Any other illegal character, *\n",
    "]\n",
    "\n",
    "def tokenize_newick11(newick_str):\n",
    "    \"\"\"Converts a Newick string into a list of (token_type, value) tuples.\"\"\"\n",
    "    #print(\"\\ntokenize_newick\")\n",
    "    tokens = []\n",
    "    tok_regex = '|'.join(f'(?P<{name}>{pattern})' for name, pattern in TOKEN_SPECIFICATION_NEWICK)\n",
    "    tokens = []\n",
    "    for mo in re.finditer(tok_regex, newick_str):\n",
    "        kind = mo.lastgroup\n",
    "        value = mo.group()\n",
    "        if kind == 'SKIP':\n",
    "            continue\n",
    "        elif kind == 'MISMATCH':\n",
    "            raise SyntaxError(f\"Newick Grammar Violation: Illegal character '{value}' in '{newick_str}'\")\n",
    "        tokens.append((kind, value))\n",
    "    return tokens\n",
    "\n",
    "# --- VALIDATOR FOR INFO SUBSTRINGS THAT MUST FIT INTO THE PATTERN ---\n",
    "# --- info = NodeB_3_x_2[a=1,b=-1,x=2,y=4,r=3.2], 22 tokens\n",
    "def examine_subsequence11(tokens, j):\n",
    "    #print(\"\\nexamine_subsequence\")\n",
    "    # Every info must begin with a letter, whose index is 7.\n",
    "    tracker = [\"LETTERS\"]\n",
    "    tracker2 = \"7\"\n",
    "    if tokens[j + 1][0] == 'LBRACKET':\n",
    "        tracker.append('LBRACKET')\n",
    "        tracker2 += \"3\"\n",
    "    if tokens[j + 2][0] == 'LETTERS':\n",
    "        tracker.append('LETTERS')\n",
    "        tracker2 += \"7\"\n",
    "    if tokens[j + 3][0] == 'EQUALS':\n",
    "        tracker.append('EQUALS')\n",
    "        tracker2 += \"5\"\n",
    "    if tokens[j + 4][0] == 'NUMBER':\n",
    "        tracker.append('NUMBER')\n",
    "        tracker2 += \"6\"\n",
    "    if tokens[j + 5][0] == 'COMMA':\n",
    "        tracker.append('COMMA')\n",
    "        tracker2 += \"2\"\n",
    "    if tokens[j + 6][0] == 'LETTERS':\n",
    "        tracker.append('LETTERS')\n",
    "        tracker2 += \"7\"\n",
    "    if tokens[j + 7][0] == 'EQUALS':\n",
    "        tracker.append('EQUALS')\n",
    "        tracker2 += \"5\"\n",
    "    if tokens[j + 8][0] == 'NUMBER':\n",
    "        tracker.append('NUMBER')\n",
    "        tracker2 += \"6\"\n",
    "    if tokens[j + 9][0] == 'COMMA':\n",
    "        tracker.append('COMMA')\n",
    "        tracker2 += \"2\"\n",
    "    if tokens[j + 10][0] == 'LETTERS':\n",
    "        tracker.append('LETTERS')\n",
    "        tracker2 += \"7\"\n",
    "    if tokens[j + 11][0] == 'EQUALS':\n",
    "        tracker.append('EQUALS')\n",
    "        tracker2 += \"5\"\n",
    "    if tokens[j + 12][0] == 'NUMBER':\n",
    "        tracker.append('NUMBER')\n",
    "        tracker2 += \"6\"\n",
    "    if tokens[j + 13][0] == 'COMMA':\n",
    "        tracker.append('COMMA')\n",
    "        tracker2 += \"2\"\n",
    "    if tokens[j + 14][0] == 'LETTERS':\n",
    "        tracker.append('LETTERS')\n",
    "        tracker2 += \"7\"\n",
    "    if tokens[j + 15][0] == 'EQUALS':\n",
    "        tracker.append('EQUALS')\n",
    "        tracker2 += \"5\"\n",
    "    if tokens[j + 16][0] == 'NUMBER':\n",
    "        tracker.append('NUMBER')\n",
    "        tracker2 += \"6\"\n",
    "    if tokens[j + 17][0] == 'COMMA':\n",
    "        tracker.append('COMMA')\n",
    "        tracker2 += \"2\"\n",
    "    if tokens[j + 18][0] == 'LETTERS':\n",
    "        tracker.append('LETTERS')\n",
    "        tracker2 += \"7\"\n",
    "    if tokens[j + 19][0] == 'EQUALS':\n",
    "        tracker.append('EQUALS')\n",
    "        tracker2 += \"5\"\n",
    "    if tokens[j + 20][0] == 'NUMBER':\n",
    "        tracker.append('NUMBER')\n",
    "        tracker2 += \"6\"\n",
    "    if tokens[j + 21][0] == 'RBRACKET':\n",
    "        tracker.append('RBRACKET')\n",
    "        tracker2 += \"4\"\n",
    "    #print(f\"Tokens: {tracker}\")\n",
    "    #print(f\"tracker2: {tracker2}\")\n",
    "    master_pattern = \"7375627562756275627564\"\n",
    "                    # 7375627562756275627564\n",
    "    #print(f\"master pattern:  {master_pattern}\")\n",
    "    if tracker2 == master_pattern:\n",
    "        return True, \"Valid Newick sub-string.\"\n",
    "    else:\n",
    "        return False, \"Invalid Newick sub-string.\"\n",
    "\n",
    "\n",
    "def simplify11(text):\n",
    "    # Assuming that all infos of a string have been declared correct,\n",
    "    # the string is further tested for the balance of parentheses.\n",
    "    # print(\"\\nsimplify(text)\")\n",
    "    # print(f\"text: {text}\")\n",
    "    # Detect a pattern on the model  info = NodeB_3_x_2[a=2,b=2,x=3,y=7,r=2.3]\n",
    "    #info_words = r'[\\a-zA-Z_0-9_[_=_,\\] ]+'\n",
    "    #info_words = r'[a-zA-Z_][a-zA-Z_0-9_]*\\[x=-?[0-9]+(?:\\.[0-9]+)?,y=-?[0-9]+(?:\\.[0-9]+)?,r=-?[0-9]+(?:\\.[0-9]+)?\\]$'\n",
    "    info_words =  r'[a-zA-Z_0-9_]*\\[a=-?[0-9]+(?:\\.[0-9]+)?,b=-?[0-9]+(?:\\.[0-9]+)?,x=-?[0-9]+(?:\\.[0-9]+)?,y=-?[0-9]+(?:\\.[0-9]+)?,r=-?[0-9]+(?:\\.[0-9]+)?\\]'\n",
    "    starts = []\n",
    "    groups = []\n",
    "    for match in re.finditer(info_words, text):\n",
    "        #print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "        #print(f\"    starts at index: {match.start()}\")\n",
    "        starts.append(match.start())\n",
    "        groups.append(match.group())\n",
    "    number_of_infos = len(starts)\n",
    "    #print(f\"number_of_infos = {number_of_infos}\")\n",
    "    #print(f\"starts of infos: {starts}\")\n",
    "    #print(f\"groups or infos: {groups}\")\n",
    "    new_s = text\n",
    "    # All infos are replaced by the dumb variable n\n",
    "    for j in range(number_of_infos - 1, -1, -1):\n",
    "        #print(f\"start_of_info[{j}]:  {starts[j]},  len(groups[{j}]): {len(groups[j])}\")\n",
    "        new_s = replace_strig_of_length11(new_s, \"n\", starts[j], len(groups[j]))\n",
    "        #print(f\"new string = '{new_s}'\")\n",
    "    # Balance of parentheses is inquired.\n",
    "    new_s = new_s.replace(\"n,\", \"\")\n",
    "    new_s = new_s.replace(\"n\", \"\")\n",
    "    #print(f\"Simplified string = {new_s} \")\n",
    "    l = len(new_s)\n",
    "    #print(f\"Length of Simplified string = {l}\")\n",
    "    for i in range(l):\n",
    "      new_s = new_s.replace(\"()\", \"\")\n",
    "    final_length = len(new_s)\n",
    "    # print(f\"Final string = {new_s}, final_length = {final_length}\")\n",
    "    if final_length == 0:\n",
    "        #print(\"Valid string at simplify\")\n",
    "        return True,  \"Valid Newick string.\"\n",
    "    else:\n",
    "        #print(\"Invalid string at simplify\")\n",
    "        return False, \"Invalid Newick string.\"\n",
    "\n",
    "\n",
    "\n",
    "def validate_newick_syntax11(newick_str):\n",
    "    \"\"\"\n",
    "    Validates if a Newick string is syntactically correct.\n",
    "    This function checks for balanced parentheses, proper comma usage for children,\n",
    "    and correct metadata format, without building a tree object.\n",
    "    \"\"\"\n",
    "    #print(\"Validating Newick syntax\")\n",
    "    tokens = []\n",
    "    try:\n",
    "        tokens = tokenize_newick11(newick_str)\n",
    "        #print(f\"newick_str: {newick_str}\")\n",
    "        #print(f\"Tokens: {tokens}\")\n",
    "    except SyntaxError as e:\n",
    "        return False, str(e)\n",
    "    if not tokens:\n",
    "        return False, \"Empty Newick string.\"\n",
    "    l = len(tokens)\n",
    "    #print(f\"Length of tokens: {l}\")\n",
    "    j = 0\n",
    "    indexes_of_tokens = []\n",
    "    if l == 1:\n",
    "        kind, value = tokens[j]\n",
    "        if kind == 'LETTERS': # NodeA\n",
    "            return True, \"Valid Newick string.\"\n",
    "        else:\n",
    "            return False, \"Invalid Newick string.\"\n",
    "    elif l == 2:\n",
    "        kind, value = tokens[j]\n",
    "        if kind == 'LETTERS' and tokens[1][0] == 'SEMICOLON': #NodeC;\n",
    "            return True, \"Valid Newick string.\"\n",
    "        else:\n",
    "            return False, \"Invalid Newick string.\"\n",
    "    elif 3 < l < 22: # No redundancy is assumed\n",
    "        return False, \"Invalid Newick string.\"\n",
    "    elif l >= 22:\n",
    "        #print(f\"Length of string: {l}\")\n",
    "        for j in range(l-20):\n",
    "            #print(f\"tokens[{j}]: {tokens[j]}\")\n",
    "            #print(f\"tokens[{j+1}]: {tokens[j+1]}\")\n",
    "            if tokens[j][0] == 'LETTERS' and tokens[j+1][0] == 'LBRACKET':\n",
    "                #print(f\"Starting index : {j}\".format(j=j))\n",
    "                indexes_of_tokens.append(j)\n",
    "                # info that starts at j is examined for correctness\n",
    "                is_valid11, message11 = examine_subsequence11(tokens, j)\n",
    "                if is_valid11:\n",
    "                    pass\n",
    "                else:\n",
    "                    return False, \"Invalid Newick string.\"\n",
    "        #print(f\"Starting indexes of tokens: {indexes_of_tokens }\")\n",
    "    is_valid11, message11 = simplify11(newick_str)\n",
    "    if is_valid11:\n",
    "        return True, \"Valid morpho-tree.\"\n",
    "    else:\n",
    "        return False, \"Invalid morpho-tree.\"\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "# Generate a sample of Newick strings that are immediately tested by a validator\n",
    "def test_validator11(max_depth, max_numb_children, max_node_radius):\n",
    "    # Specific test\n",
    "    model = \"NodeB_3_x_2[a=-1,b=0,x=-4,y=5,r=1.2]\"\n",
    "    #print(\"Simple test\")\n",
    "    #print(f\"Model of Newick String: {model}\")\n",
    "    is_valid, message = validate_newick_syntax11(model)\n",
    "    #print(f\"message: {message}\")\n",
    "    invalid_string = \"NodeB_3_x_2[a=-1,b=0,x=-4,y=5,r=1.2]]\"\n",
    "    #print(f\"\\nInvalid_string: {invalid_string}\")\n",
    "    is_valid, message = validate_newick_syntax11(invalid_string)\n",
    "    #print(f\"message: {message}\")\n",
    "    #print(\"\\n\")\n",
    "\n",
    "\n",
    "    #print(\"\\nMassive test of Newick formulas encoding for morpho-trees:\\n\" + \"=\"*47)\n",
    "    max_depth = 7\n",
    "    max_numb_children = 3\n",
    "    #print(f\"max_depth: {max_depth}\")\n",
    "    #print(f\"max_numb_children: {max_numb_children} \\n\"+ \"=\"*20)\n",
    "    for i in range(1, 100):\n",
    "        p, s = complete_tree_generator11(max_depth, max_numb_children, max_node_radius)\n",
    "        #print(f\"pattern {p}\")\n",
    "        #print(f\"Morpho-tree {i}: {s}\")\n",
    "        is_valid, message = validate_newick_syntax11(s)\n",
    "        #print(f\"is valid at main : {is_valid}, message: {message}\")\n",
    "        #status = \"✅ VALID\" if is_valid else \"❌ INVALID\"\n",
    "        #print(f\"Morpho-tree {i}:: {status} - {message}\")\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "# ======== DRAWING ================\n",
    "\n",
    "def get_illuminated_area11(x,y,r):\n",
    "    '''\n",
    "      The illuminated area enclosess all unitary squares that intersetcs the circles of illumination.\n",
    "      Each square is denoted by its left botton corner. These will be found in the set illuminated_coords.\n",
    "    '''\n",
    "    #print(\"get_illuminated_area11\")\n",
    "    #print(f\"x: {x}, y: {y}, r: {r}\")\n",
    "    illuminated_coords = set()\n",
    "\n",
    "\n",
    "    for xi,yi,ri in zip(x,y,r):\n",
    "        circle_center_x = xi + 0.5\n",
    "        circle_center_y = yi + 0.5\n",
    "        r_sq = ri ** 2\n",
    "        # 1. Add the cell containing the center of the circle\n",
    "        # This covers the case of small circles not intersecting grid lines.\n",
    "        illuminated_coords.add((math.floor(circle_center_x), math.floor(circle_center_y)))\n",
    "\n",
    "        # 2. Horizontal Scan: Check intersections with horizontal grid lines\n",
    "        # Iterate y_line from floor(cy - r) to ciel(cy + r)\n",
    "        # These y_line values represent the y-coordinates of horizontal grid lines.\n",
    "        for y_line in range(math.floor(circle_center_y - ri)-1,\n",
    "                            math.ceil(circle_center_y + ri) + 1):\n",
    "            dy = y_line - circle_center_y\n",
    "            discriminant = r_sq - dy * dy\n",
    "\n",
    "            if discriminant >= 0:\n",
    "                dx = math.sqrt(discriminant)\n",
    "                x_min_intersect = circle_center_x - dx\n",
    "                x_max_intersect = circle_center_x + dx\n",
    "\n",
    "                # For each integer x-coordinate that the horizontal segment crosses:\n",
    "                # Add the cells whose bottom-left corner's x-coordinate is in this range.\n",
    "                # This covers cells whose top edge is y_line AND cells whose bottom edge is y_line.\n",
    "                for ix in range(math.floor(x_min_intersect), math.floor(x_max_intersect) + 1):\n",
    "                    illuminated_coords.add((ix, y_line))\n",
    "                    illuminated_coords.add((ix, y_line - 1))\n",
    "\n",
    "        # 3. Vertical Scan: Check intersections with vertical grid lines\n",
    "        # Iterate x_line from floor(cx - r) to ciel(cx + r)\n",
    "        # These x_line values represent the x-coordinates of vertical grid lines.\n",
    "        for x_line in range(math.floor(circle_center_x - ri)-1,\n",
    "                            math.ceil(circle_center_x + ri) + 1):\n",
    "            dx = x_line - circle_center_x\n",
    "            discriminant = r_sq - dx * dx\n",
    "\n",
    "            if discriminant >= 0:\n",
    "                dy = math.sqrt(discriminant)\n",
    "                y_min_intersect = circle_center_y - dy\n",
    "                y_max_intersect = circle_center_y + dy\n",
    "\n",
    "                # For each integer y-coordinate that the vertical segment crosses:\n",
    "                # Add the cells whose bottom-left corner's y-coordinate is in this range.\n",
    "                # This covers cells whose right edge is x_line AND cells whose left edge is x_line.\n",
    "                for iy in range(math.floor(y_min_intersect), math.floor(y_max_intersect) + 1):\n",
    "                    # Cell (x_line, iy) - its left edge is at x_line\n",
    "                    illuminated_coords.add((x_line, iy))\n",
    "                    # Cell (x_line - 1, iy) - its right edge is at x_line\n",
    "                    illuminated_coords.add((x_line - 1, iy))\n",
    "    # print(f\"illuminated_coords  {illuminated_coords}\")\n",
    "\n",
    "    return illuminated_coords\n",
    "\n",
    "\n",
    "def plot_illuminated_area_newick11(ax, illuminated_coords, title, color='blue', alpha=0.1):\n",
    "    ax.set_aspect('equal', adjustable='box')\n",
    "    if not illuminated_coords:\n",
    "        ax.set_title(title)\n",
    "        ax.grid(True)\n",
    "        return\n",
    "\n",
    "    for x, y in illuminated_coords:\n",
    "        rect = patches.Rectangle((x, y), 1, 1, facecolor=color, alpha=alpha, edgecolor='black', linewidth=0.5)\n",
    "        ax.add_patch(rect)\n",
    "\n",
    "    min_x = min(c[0] for c in illuminated_coords) - 1\n",
    "    max_x = max(c[0] for c in illuminated_coords) + 2\n",
    "    min_y = min(c[1] for c in illuminated_coords) - 1\n",
    "    max_y = max(c[1] for c in illuminated_coords) + 2\n",
    "    #print(f\"min_x: {min_x}, max_x: {max_x}, min_y: {min_y}, max_y: {max_y}\")\n",
    "\n",
    "    ax.set_xlim(min_x, max_x)\n",
    "    ax.set_ylim(min_y, max_y)\n",
    "    ax.set_xticks(range(int(min_x), int(max_x)))\n",
    "    ax.set_yticks(range(int(min_y), int(max_y)))\n",
    "    ax.grid(True)\n",
    "    ax.set_title(title)\n",
    "\n",
    "\n",
    "\n",
    "def plot_tree_nodes_and_their_diffusion_circles11(x,y,r, ax, tree_color='lightblue', diff_color='red'):\n",
    "  for xi,yi,ri in zip(x,y,r):\n",
    "    # Plot the square representing the cell\n",
    "    rect = patches.Rectangle((xi, yi), 1, 1, facecolor=tree_color, edgecolor='black', linewidth=1, zorder=1)\n",
    "    ax.add_patch(rect)\n",
    "    #node_label_part = node.value.split('_')[-1] if '_' in node.value else node.value\n",
    "    #ax.text(xi + 0.5, yi + 0.5, node_label_part, ha='center', va='center', color='darkblue', fontsize=7, zorder=2)\n",
    "\n",
    "    # Plot the circle representing the radius of influence\n",
    "    circle = patches.Circle((xi + 0.5, yi + 0.5), ri, color='red', alpha=0.1, zorder=2)\n",
    "    ax.add_patch(circle)\n",
    "\n",
    "def find_leaves(newick_string):\n",
    "    '''Detect leaves in a Newick string.'''\n",
    "    #print(\"\\n\\nfind_leaves\")\n",
    "    #print(f\"Newick String: {newick_string}\")\n",
    "\n",
    "    # Detection of leaves.\n",
    "    # Dectect substrings of the form \"(...)\" but without interior parentheses.\n",
    "    pattern_leaves = r'[(][^()]*[)]'\n",
    "    # Leaves may come grouped by bouquets\n",
    "    bouquets_of_leaves = re.findall(pattern_leaves, newick_string )\n",
    "    #print(f\"Bouquets_of_leaves: {bouquets_of_leaves}\")\n",
    "    all_leaves = []\n",
    "    # Descipher each leaf and find the father\n",
    "    for bouquet_of_leaves in bouquets_of_leaves:\n",
    "        bouquet_of_leaves = bouquet_of_leaves[1:-1]\n",
    "        leaves = detect_all_groups11(bouquet_of_leaves)\n",
    "        for loaf in leaves:\n",
    "          loaf = loaf.replace(\" \", \"\")\n",
    "          all_leaves.append(loaf)\n",
    "    return all_leaves\n",
    "\n",
    "\n",
    "\n",
    "def connect_leaves_to_father11(newick_string, ax, tree_color='lightblue', diff_color='red'):\n",
    "    '''Draw lines connecting leaves to fathers'''\n",
    "\n",
    "    #print(\"\\n\\nconnect_leaves_to_father11\")\n",
    "    #print(f\"Newick String: {newick_string}\")\n",
    "\n",
    "    all_leaves = find_leaves(newick_string)\n",
    "    for leaf in all_leaves:\n",
    "        [al,bl,xl,yl,rl] = extract_info11(leaf)\n",
    "        #print(f\"Info: a: {al}, b: {bl}, x: {xl}, y: {yl}, r: {rl}\")\n",
    "\n",
    "        # Task: Find the father of the leaf.\n",
    "        # It is the node after the last leaf\n",
    "        # Example:\n",
    "        # (Node9[x=-11,y=19.7,r=12.4567],Node8[x=0,y=7,r=15],Node7[x=6,y=16,r=9])Node6[x=17,y=9,r=20]\n",
    "        # The father of Node9, Node8, and Node7 is Node 6.\n",
    "        # The father of a node is found after the first unbalanced right parenthesis.\n",
    "        index_nex_right_par = newick_string.find(\")\", newick_string.find(leaf))\n",
    "        father_with_tail = newick_string[index_nex_right_par+1:]\n",
    "        father_group = detect_all_groups11(father_with_tail)\n",
    "        if father_group:\n",
    "          [af,bf,xf,yf,rf]  = extract_info11(father_group[0])\n",
    "          #father_center = (xf,yf)\n",
    "          ax.plot([xl + 0.5, xf + 0.5], [yl + 0.5, yf + 0.5], 'k--', linewidth=0.8, zorder = 3)\n",
    "    # Leaves are erased: each leave is replaced by \"\"\n",
    "    for leaf in all_leaves:\n",
    "          #print(f\"leaf to be erased: {leaf}\")\n",
    "          newick_string = newick_string.replace(leaf + \",\", \"\")\n",
    "          newick_string = newick_string.replace(leaf, \"\")\n",
    "          #print(f\"Newick String without leaves: {newick_string}\")\n",
    "    newick_string = newick_string.replace(\"()\", \"\")\n",
    "    #print(f\"Newick String without leaves: {newick_string}\")\n",
    "    #is_valid, message = validate_newick_syntax11(newick_string)\n",
    "    #print(f\"is valid at connect_leaves_to_father11(...) : {is_valid}, message: {message}\")\n",
    "    #status = \"✅ VALID\" if is_valid else \"❌ INVALID\"\n",
    "    #print(f\"Is the Newick string a valid morpho-tree? : {status} - {message}\")\n",
    "    groups = detect_all_groups11(newick_string)\n",
    "    number_of_groups = len(groups)\n",
    "    return newick_string, number_of_groups\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "def draw_tree_links11(newick_string, ax,   diff_color='red' ):\n",
    "    '''Draw lines connecting children to father.\n",
    "       1. Each leaf is connected to its father,\n",
    "          and the corresponding stroke is plotted.\n",
    "       2. Leaves are erased.\n",
    "       3. New leaves are detected and connected to their father.\n",
    "       4, And so on.\n",
    "       '''\n",
    "\n",
    "    #print(\"draw_tree_links11\")\n",
    "    #print(f\"Newick String: {newick_string}\")\n",
    "    length_string = len(newick_string)\n",
    "    #print(f\"length_string: {length_string}\")\n",
    "    groups = detect_all_groups11(newick_string)\n",
    "    #print(f\"Groups: {groups}\")\n",
    "    number_of_groups = len(groups)\n",
    "    # Leaves are recursively found and connected to their father.\n",
    "    counter_of_trials = 0\n",
    "    while number_of_groups > 1:\n",
    "        #print(\"\\n\\ndraw_tree_links11\")\n",
    "        #print(f\"Newick String: {newick_string}\")\n",
    "\n",
    "        newick_string, number_of_groups = connect_leaves_to_father11(newick_string, ax, tree_color='lightblue', diff_color='red')\n",
    "        counter_of_trials = counter_of_trials + 1\n",
    "        if counter_of_trials > length_string:\n",
    "          break\n",
    "    # The root is detected and marked with a cross\n",
    "    groups = detect_all_groups11(newick_string)\n",
    "    #print(f\"Groups: {groups}\")\n",
    "    number_of_groups = len(groups)\n",
    "    #print(f\"number_of_groups = {number_of_groups}\")\n",
    "    # Mark the root with a red cross\n",
    "    if number_of_groups >= 1:\n",
    "      [a0,b0,x0,y0,r0] = extract_info11(groups[-1])\n",
    "      #print(f\"Origin: a: {a0}, b: {b0}, x: {x0}, y: {y0}, r: {r0}\")\n",
    "      ax.plot([x0, x0 +1 ], [y0+ 0.5, y0+ 0.5],   color = 'red', linewidth=0.8, zorder = 3)\n",
    "      ax.plot([x0 + 0.5, x0 +0.5], [y0, y0+ 1],   color = 'red', linewidth=0.8, zorder = 3)\n",
    "    return newick_string, number_of_groups\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "def draw_tree_newick11(newick_string, title):\n",
    "    #print(\"\\n=========== DRAWING=======\\n\")\n",
    "    #print(\"=========== DRAWING=======\\n\")\n",
    "    #print(\"=========== DRAWING=======\\n\")\n",
    "    a,b,x,y,r = extract_all_infos11(newick_string)\n",
    "    fig, ax = plt.subplots(figsize=(7, 15))\n",
    "    ax.set_aspect('equal')\n",
    "    plot_tree_nodes_and_their_diffusion_circles11(x,y,r, ax, tree_color='lightgreen', diff_color='red')\n",
    "\n",
    "    # Illuminated area is calculated\n",
    "    illuminated_coords = get_illuminated_area11(x,y,r)\n",
    "    #print(f\"Illuminated cells: {illuminated_coords}\")\n",
    "    #print(f\"Number of illuminated cells: {len(illuminated_coords)}\")\n",
    "    # Tree is drawn\n",
    "    #title = \"morpho-tree: lightgreen, illuminated circles: red, illuminated Area: lightblue\"\n",
    "    plot_illuminated_area_newick11(ax, illuminated_coords, title, color='blue', alpha=0.1)\n",
    "    # Lines that define the tree are added\n",
    "    draw_tree_links11(newick_string, ax, diff_color='red'  )\n",
    "\n",
    "    plt.tight_layout()\n",
    "    plt.show()\n",
    "    return illuminated_coords\n",
    "\n",
    "\n",
    "# Generate the  Newick string of a morpho-tree, test and draw it\n",
    "# def generate_test_and_draw_morpho_tree(target_tree_params['max_depth'], target_tree_params['max_number_children'], target_tree_params['max_node_radius'] ):\n",
    "def generate_and_test_morpho_tree11(ga_params):\n",
    "    #print(\"generate_and_test_morpho_tree( ga_params)\"\"\n",
    "\n",
    "    newick_tree = complete_tree_generator11(ga_params['max_depth'], ga_params['max_number_children'], ga_params['max_node_radius']) #line 264\n",
    "    #newick_tree = complete_tree_generator11(max_depth, max_numb_children, max_node_radius) #line 264\n",
    "    is_valid, message = validate_newick_syntax11(newick_tree)\n",
    "    illuminated_coords = set()\n",
    "    \n",
    "    if is_valid:\n",
    "        a,b,x,y,r = extract_all_infos11(newick_tree)\n",
    "        illuminated_coords = get_illuminated_area11(x,y,r)\n",
    "    else:\n",
    "      print(\"Newick string is not valid\")\n",
    "    '''\n",
    "    is_valid, message = validate_newick_syntax11(newick_tree)\n",
    "    print(f\"is the Newick String valid?: {is_valid}, message: {message}\")\n",
    "    status = \"✅ VALID\" if is_valid else \"❌ INVALID\"\n",
    "    print(f\"Is the Newick string a valid morpho-tree? : {status} - {message}\")\n",
    "    '''\n",
    "    return newick_tree, illuminated_coords\n",
    "\n",
    "\n",
    "# --- Evoluciónary functions ---\n",
    "\n",
    "def create_initial_population_newick11(pop_size=ga_params['pop_size'], max_depth=ga_params['max_depth'], max_children=ga_params['max_number_children'],  max_node_radius=ga_params['max_node_radius'] ):\n",
    "    population = []\n",
    "    for _ in range(pop_size):\n",
    "        new_tree = complete_tree_generator11(max_depth, max_children, max_node_radius)\n",
    "        population.append(new_tree)\n",
    "    return population\n",
    "\n",
    "def get_illuminated_coordinates11(newick_string):\n",
    "  '''Coordinates of illuminated cells are extracted from the Newick string'''\n",
    "  a,b,x,y,r = extract_all_infos11(newick_string)\n",
    "  # Illuminated area is calculated\n",
    "  illuminated_coords = get_illuminated_area11(x,y,r)\n",
    "  ##print(f\"Illuminated cells: {illuminated_coords}\")\n",
    "  ##print(f\"Number of illuminated cells: {len(illuminated_coords)}\")\n",
    "  return illuminated_coords\n",
    "\n",
    "def calculate_fitness_illumination11(candidate_tree_root, target_illuminated_area):\n",
    "    \"\"\"\n",
    "    Calculates fitness based on the symmetric difference between illuminated areas.\n",
    "    Fitness is 1.0 for a perfect match, and decreases as symmetric difference increases.\n",
    "    Reuse of a previous code by Gemini 2.5 Flash\n",
    "    \"\"\"\n",
    "    if candidate_tree_root is None:\n",
    "        # If the tree generation failed, assign a very low fitness\n",
    "        return 0.0001 # A small non-zero value to avoid division by zero issues later\n",
    "\n",
    "    candidate_illuminated_area = get_illuminated_coordinates11(candidate_tree_root)\n",
    "\n",
    "    # Symmetric difference: (A U B) - (A intersect B)\n",
    "    # Or, the elements in A but not B, plus elements in B but not A.\n",
    "    symmetric_difference = candidate_illuminated_area.symmetric_difference(target_illuminated_area)\n",
    "\n",
    "    # Union size: used for normalization\n",
    "    union_size = len(candidate_illuminated_area.union(target_illuminated_area))\n",
    "\n",
    "    if union_size == 0:\n",
    "        if not target_illuminated_area and not candidate_illuminated_area:\n",
    "            return 1.0 # Perfect match if both are empty\n",
    "        else:\n",
    "            return 0.0001 # Should not happen if target is non-empty, but handles cases where both are empty but expected non-empty\n",
    "\n",
    "    # Fitness is 1.0 - (len(symmetric_difference) / union_size)\n",
    "    # This gives 1.0 for a perfect match (symmetric_difference_area = 0)\n",
    "    # and approaches 0.0 for large differences.\n",
    "    fitness = 1.0 - (len(symmetric_difference) / union_size)\n",
    "    return max(0.0001, fitness) # Ensure fitness is always positive\n",
    "\n",
    "\n",
    "def select_parents_newick(population, fitness_scores, num_parents):\n",
    "    parents = []\n",
    "    # Use roulette wheel selection or tournament selection. Tournament is generally robust.\n",
    "    for _ in range(num_parents):\n",
    "        tournament_size = min(5, len(population))\n",
    "        if tournament_size == 0:\n",
    "            break\n",
    "        tournament_candidates = random.sample(list(zip(population, fitness_scores)), tournament_size)\n",
    "        winner = max(tournament_candidates, key=lambda x: x[1])[0]\n",
    "        parents.append(winner)\n",
    "    return parents\n",
    "\n",
    "def find_recombinant_branch11(newick_string):\n",
    "  # A full functional branch is recognized because it is enclosed by ()\n",
    "  # and everything inside is full functional.\n",
    "  # We simply keep an accounting of parentheses pairing\n",
    "  #print(\"\\nfind_branch\")\n",
    "  #print(f\"newick_string: {newick_string}\")\n",
    "  pattern_left_par = r'[(]'\n",
    "  starts = []\n",
    "  groups = []\n",
    "  for match in re.finditer(pattern_left_par, newick_string):\n",
    "      #print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "      starts.append(match.start())\n",
    "      groups.append(match.group())\n",
    "  number_of_infos = len(starts)\n",
    "  #print(f\"number_of_infos = {number_of_infos}\")\n",
    "  #print(f\"starts: {starts}\")\n",
    "  #print(f\"groups: {groups}\")\n",
    "  if number_of_infos == 0: # The root is alone\n",
    "    return newick_string\n",
    "  # Select a start index at random\n",
    "  start_idx = random.randint(0, number_of_infos-1)\n",
    "  #print(f\"selected start_idx: {start_idx}\")\n",
    "  start_idx = starts[start_idx]\n",
    "  #print(f\"start_idx: {start_idx}\")\n",
    "  tail = newick_string[start_idx:]\n",
    "  #print(f\"tail: {tail}\")\n",
    "  # Balance accounting\n",
    "  counter_of_pars = 0\n",
    "  for i in range(len(tail)):\n",
    "    if tail[i] == \"(\":\n",
    "      counter_of_pars = counter_of_pars + 1\n",
    "    if tail[i] == \")\":\n",
    "      counter_of_pars = counter_of_pars - 1\n",
    "    if counter_of_pars == 0:\n",
    "      branch = tail[: i+1]\n",
    "      #print(f\"Functional branch: {branch}\")\n",
    "      break\n",
    "  return branch\n",
    "\n",
    "\n",
    "def newick_position_branch_recombination11(newick_string1, newick_string2):\n",
    "  \"\"\" Recombination of full functional branches\"\"\"\n",
    "  #print(\"\\nnewick_position_branch_recombination11\")\n",
    "  #print(f\"newick_string1: {newick_string1}\")\n",
    "  #print(f\"newick_string2: {newick_string2}\")\n",
    "  branch1 = find_recombinant_branch11(newick_string1)\n",
    "  branch2 = find_recombinant_branch11(newick_string2)\n",
    "  #print(f\"\\nbranch1: {branch1}\")\n",
    "  #print(f\"branch2: {branch2}\")\n",
    "  # Branches are interchanged\n",
    "  newick_string1 = newick_string1.replace(branch1, branch2)\n",
    "  newick_string2 = newick_string2.replace(branch2, branch1)\n",
    "  return newick_string1, newick_string2\n",
    "\n",
    "def newick_leaves_recombination11(newick_string1, newick_string2):\n",
    "  \"\"\" Recombination of full functional branches\"\"\"\n",
    "  #print(\"\\nnewick_leaves_recombination11\")\n",
    "  #print(f\"newick_string1: {newick_string1}\")\n",
    "  #print(f\"newick_string2: {newick_string2}\")\n",
    "  leaves1 = find_leaves(newick_string1)\n",
    "  leaves2 = find_leaves(newick_string2)\n",
    "  if not leaves1 or not leaves2:\n",
    "    return newick_string1, newick_string2\n",
    "  # Select a leaf at random from each tree\n",
    "  leaf1 = random.choice(leaves1)\n",
    "  leaf2 = random.choice(leaves2)\n",
    "  #print(f\"\\nleaf1: {leaf1}\")\n",
    "  #print(f\"leaf2: {leaf2}\")\n",
    "  # Leaves are interchanged\n",
    "  newick_string1 = newick_string1.replace(leaf1, leaf2)\n",
    "  newick_string2 = newick_string2.replace(leaf2, leaf1)\n",
    "  return newick_string1, newick_string2\n",
    "\n",
    "\n",
    "def find_occupied_squares11(newick_string):\n",
    "    '''Detects all the occupied squares in a tree'''\n",
    "    occupied_squares_set = set()\n",
    "    groups = detect_all_groups11(newick_string)\n",
    "    for group in groups:\n",
    "        [a,b,x,y,r] = extract_info11(group)\n",
    "        occupied_squares_set.add((x, y))\n",
    "    return occupied_squares_set\n",
    "\n",
    "def newick_mutation_of_radius11(newick_string):\n",
    "  # The pattern of the radius of illumination, r = 0.2\n",
    "  pattern_r = r'r=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  starts = []\n",
    "  groups = []\n",
    "  for match in re.finditer(pattern_r, newick_string):\n",
    "      #print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "      starts.append(match.start())\n",
    "      groups.append(match.group())\n",
    "  number_of_infos = len(starts)\n",
    "  #print(f\"number_of_infos = {number_of_infos}\")\n",
    "  #print(f\"starts: {starts}\")\n",
    "  #print(f\"groups: {groups}\")\n",
    "  # Select a start index at random\n",
    "  start_idx = random.randint(0, number_of_infos-1)\n",
    "  #print(f\"selected start_idx: {start_idx}\")\n",
    "  l = len(groups[start_idx])\n",
    "  #print(f\"l: {l}\")\n",
    "  # Select a new radius\n",
    "  new_radius = random.uniform(0.5, 2)\n",
    "  #print(f\"new_radius: {new_radius}\")\n",
    "\n",
    "  new_info = \"r=\" + str(new_radius)\n",
    "  #print(f\"new_info: {new_info}\")\n",
    "  # Replace the info\n",
    "  mutated_newick_string = replace_str_subsequence11(newick_string, starts[start_idx], starts[start_idx] + l, new_info)\n",
    "  #print(f\"newick_string: {newick_string}\")\n",
    "  return mutated_newick_string\n",
    "\n",
    " \n",
    "def newick_find_insertion_patterns11(newick_string):\n",
    "  \"\"\" All insertion patterns are found and one is chosen at random\"\"\"\n",
    "  # The pattern of groups on the image of\n",
    "  # Node4[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07]\n",
    "  insertion_pattern = r'[]][])]'\n",
    "  starts = []\n",
    "  groups = []\n",
    "  for match in re.finditer(insertion_pattern, newick_string):\n",
    "      #print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "      starts.append(match.start())\n",
    "      groups.append(match.group())\n",
    "  number_of_patterns = len(starts)\n",
    "  #print(f\"starts: {starts}\")\n",
    "  #print(f\"groups: {groups}\")\n",
    "  start_idx = 0\n",
    "  if groups:\n",
    "    # Select a start index at random\n",
    "    start_idx = random.randint(0, number_of_patterns-1)\n",
    "    group = groups[start_idx]\n",
    "    start = starts[start_idx]\n",
    "    #print(f\"group: {group}\")\n",
    "    #print(f\"start: {start}\")\n",
    "  else:\n",
    "    group = \"\"\n",
    "    start = 0\n",
    "  return group, start\n",
    " \n",
    "\n",
    "def insertion_of_branch11(newick_string):\n",
    "  #original_newick_string = newick_string\n",
    "  # The pattern of groups on the image of\n",
    "  # Node4[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07]\n",
    "  # A group together its start site are elected\n",
    "  group, start =  newick_find_insertion_patterns11(newick_string)\n",
    "  # String to be inserted\n",
    "  # child_string = \"(Node15[a=-1.0,b=0.0,x=-2.0,y=-1.0,r=0.83],Node14[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07])Node1[a=-1.0,b=-1.0,x=-1.0,y=-1.0,r=0.95]\"\n",
    "  child_string = complete_tree_generator11(max_depth = 2, max_numb_children = 2, max_node_radius= 1.5)\n",
    "  if group:\n",
    "    #print(f\"Group (main): {group}\")\n",
    "    #print(f\"Start (main): {start}\")\n",
    "    # Does the group have children?\n",
    "    #char_before = newick_string[start-1]\n",
    "    #print(f\"char_before: {char_before}\")\n",
    "\n",
    "    newick_string = newick_string.replace(\"])\", \"],\" + child_string + \")\")\n",
    "  else:\n",
    "    # a tree is given as a child to the root\n",
    "    newick_string = \"(\" + child_string + \")\" + newick_string\n",
    "  # Cosmetics\n",
    "  #newick_string = newick_string.replace(\",,\", \",\")\n",
    "\n",
    "  # Comparison\n",
    "  #print(f\"Original Newick string: {original_newick_string}\")\n",
    "  #print(f\"Final Newick_string: {newick_string}\")\n",
    "  return newick_string\n",
    "\n",
    "def select_one_insertion_pattern_left_parenthesis_11(newick_string, counter, max_illumination_radius):\n",
    "  ''' All insertion patterns (  are found and one is chosen at random\n",
    "      The new info will be inserted to the right of the parenthesis'''\n",
    "  # The pattern of groups on the image of\n",
    "  # Node4[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07]\n",
    "  insertion_pattern = r'[(]'\n",
    "  starts = []\n",
    "  groups = []\n",
    "  for match in re.finditer(insertion_pattern, newick_string):\n",
    "      #print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "      starts.append(match.start())\n",
    "      groups.append(match.group())\n",
    "  number_of_patterns = len(starts)\n",
    "  #print(f\"starts: {starts}\")\n",
    "  #print(f\"groups: {groups}\")\n",
    "  start_idx = 0\n",
    "  if groups:\n",
    "    # Select a start index at random\n",
    "    start_idx = random.randint(0, number_of_patterns-1)\n",
    "    group = groups[start_idx]\n",
    "    start = starts[start_idx]\n",
    "    #print(f\"group: {group}\")\n",
    "    #print(f\"start: {start}\")\n",
    "  else:\n",
    "    group = \"\"\n",
    "    start = 0\n",
    "  #print(f\"Group110: {group}\")\n",
    "  # String to be inserted\n",
    "  father_center = find_father_center11(newick_string, start)\n",
    "  #print(f\"Father center: {father_center}\")\n",
    "  occupied_squares_set = find_occupied_squares11(newick_string)\n",
    "  info, occupied_squares_set = node_info_generator11(father_center, counter,  occupied_squares_set, max_illumination_radius)\n",
    "  child_string = info \n",
    "  if group:\n",
    "      #print(f\"Group (main): {group}\")\n",
    "      #print(f\"Start (main): {start}\")\n",
    "      # The child string is inserted between ] and ) at place start\n",
    "      #print(f\"Child string: {child_string}\")\n",
    "      #print(f\"Newick string before insertion_point: {newick_string[:start+1]}\")\n",
    "      #print(f\"Newick string after insertion_point: {newick_string[start+2:]}\")\n",
    "      newick_string = newick_string[:start+1] + \"(\" + child_string +  \")\" + newick_string[start+1:]\n",
    "      #print(f\"Newick string after insertion****: {newick_string}\")\n",
    "  else:\n",
    "      # a node in the info is given as a child to the root\n",
    "      newick_string = \"(\" + child_string + \")\" + newick_string\n",
    "    # Cosmetics\n",
    "    #newick_string = newick_string.replace(\",,\", \",\")\n",
    "  \n",
    "    # Comparison\n",
    "    #print(f\"Original Newick string: {original_newick_string}\")\n",
    "    #print(f\"Final Newick_string: {newick_string}\")\n",
    "  return newick_string\n",
    "\n",
    " \n",
    "def select_one_insertion_pattern_comma_11(newick_string, counter, max_illumination_radius):\n",
    "  ''' All  commas are found and one is chosen at random,\n",
    "  the child will be inserted after the comma'''\n",
    "  # The pattern of groups on the image of\n",
    "  # Node4[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07]\n",
    "  insertion_pattern = r'[]][,]'\n",
    "  starts = []\n",
    "  groups = []\n",
    "  for match in re.finditer(insertion_pattern, newick_string):\n",
    "      #print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "      starts.append(match.start())\n",
    "      groups.append(match.group())\n",
    "  number_of_patterns = len(starts)\n",
    "  #print(f\"starts: {starts}\")\n",
    "  #print(f\"groups: {groups}\")\n",
    "  start_idx = 0\n",
    "  if groups:\n",
    "    # Select a start index at random\n",
    "    start_idx = random.randint(0, number_of_patterns-1)\n",
    "    group = groups[start_idx]\n",
    "    start = starts[start_idx]\n",
    "    #print(f\"group: {group}\")\n",
    "    #print(f\"start: {start}\")\n",
    "  else:\n",
    "    group = \"\"\n",
    "    start = 0\n",
    "  #print(f\"Group110: {group}\")\n",
    "  # String to be inserted\n",
    "  father_center = find_father_center11(newick_string, start)\n",
    "  #print(f\"Father center: {father_center}\")\n",
    "  occupied_squares_set = find_occupied_squares11(newick_string)\n",
    "  info, occupied_squares_set = node_info_generator11(father_center, counter,  occupied_squares_set, max_illumination_radius)\n",
    "  child_string = info \n",
    "  if group:\n",
    "      #print(f\"Group (main): {group}\")\n",
    "      #print(f\"Start (main): {start}\")\n",
    "      # The child string is inserted between ] and ) at place start\n",
    "      #print(f\"Child string: {child_string}\")\n",
    "      #print(f\"Newick string before insertion_point: {newick_string[:start+1]}\")\n",
    "      #print(f\"Newick string after insertion_point: {newick_string[start+2:]}\")\n",
    "      newick_string = newick_string[:start+2] + \"(\" + child_string + \")\" + newick_string[start+2:]\n",
    "      #print(f\"Newick string after insertion****: {newick_string}\")\n",
    "  else:\n",
    "      # a node in the info is given as a child to the root\n",
    "      newick_string = \"(\" + child_string + \")\" + newick_string\n",
    "    # Cosmetics\n",
    "    #newick_string = newick_string.replace(\",,\", \",\")\n",
    "  \n",
    "    # Comparison\n",
    "    #print(f\"Original Newick string: {original_newick_string}\")\n",
    "    #print(f\"Final Newick_string: {newick_string}\")\n",
    "  return newick_string\n",
    "\n",
    "def select_one_insertion_pattern_parentheses_11(newick_string, counter, max_illumination_radius):\n",
    "  ''' All insertion patterns ]) are found and one is chosen at random\n",
    "      The new info will be inserted between ] and ) as a brother'''\n",
    "  # The pattern of groups on the image of\n",
    "  # Node4[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07]\n",
    "  insertion_pattern = r'[]][)]'\n",
    "  starts = []\n",
    "  groups = []\n",
    "  for match in re.finditer(insertion_pattern, newick_string):\n",
    "      #print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "      starts.append(match.start())\n",
    "      groups.append(match.group())\n",
    "  number_of_patterns = len(starts)\n",
    "  #print(f\"starts: {starts}\")\n",
    "  #print(f\"groups: {groups}\")\n",
    "  start_idx = 0\n",
    "  if groups:\n",
    "    # Select a start index at random\n",
    "    start_idx = random.randint(0, number_of_patterns-1)\n",
    "    group = groups[start_idx]\n",
    "    start = starts[start_idx]\n",
    "    #print(f\"group: {group}\")\n",
    "    #print(f\"start: {start}\")\n",
    "  else:\n",
    "    group = \"\"\n",
    "    start = 0\n",
    "  #print(f\"Group110: {group}\")\n",
    "  # String to be inserted\n",
    "  father_center = find_father_center11(newick_string, start)\n",
    "  #print(f\"Father center: {father_center}\")\n",
    "  occupied_squares_set = find_occupied_squares11(newick_string)\n",
    "  info, occupied_squares_set = node_info_generator11(father_center, counter,  occupied_squares_set, max_illumination_radius)\n",
    "  child_string = info \n",
    "  if group:\n",
    "      #print(f\"Group (main): {group}\")\n",
    "      #print(f\"Start (main): {start}\")\n",
    "      # The child string is inserted between ] and ) at place start\n",
    "      #print(f\"Child string: {child_string}\")\n",
    "      #print(f\"Newick string before insertion_point: {newick_string[:start+1]}\")\n",
    "      #print(f\"Newick string after insertion_point: {newick_string[start+2:]}\")\n",
    "      newick_string = newick_string[:start+1] + \",\" + child_string + newick_string[start+1:]\n",
    "      #print(f\"Newick string after insertion****: {newick_string}\")\n",
    "  else:\n",
    "      # a node in the info is given as a child to the root\n",
    "      newick_string = \"(\" + child_string + \")\" + newick_string\n",
    "    # Cosmetics\n",
    "    #newick_string = newick_string.replace(\",,\", \",\")\n",
    "  \n",
    "    # Comparison\n",
    "    #print(f\"Original Newick string: {original_newick_string}\")\n",
    "    #print(f\"Final Newick_string: {newick_string}\")\n",
    "  return newick_string\n",
    "\n",
    " \n",
    "\n",
    "\n",
    "def insertion_of_leaf11(newick_string, counter, max_illumination_radius):    #original_newick_string = newick_string\n",
    "    ''' All insertion patterns ]) are found and one is chosen at random\n",
    "        The new info will be inserted between ] and )'''\n",
    "    case = random.choice([1, 2, 3])  # Randomly choose between three insertion methods\n",
    "    match case:\n",
    "        case 1:\n",
    "            newick_string = select_one_insertion_pattern_comma_11(newick_string, counter, max_illumination_radius)\n",
    "        case 2:\n",
    "            newick_string = select_one_insertion_pattern_parentheses_11(newick_string, counter, max_illumination_radius)\n",
    "        case 3:\n",
    "            newick_string = select_one_insertion_pattern_left_parenthesis_11(newick_string, counter, max_illumination_radius)\n",
    "     \n",
    "    return newick_string\n",
    "\n",
    "\n",
    "\n",
    "def deletion_of_leaf11(newick_string):\n",
    "    '''A leaf is deleted at random from the Newick string. \n",
    "        If there are no leaves, the original string is returned.'''\n",
    "    # All leaves are detected\n",
    "    leaves = find_leaves(newick_string)\n",
    "    if not leaves:\n",
    "        return newick_string  # No leaves to delete\n",
    "    # Select a leaf at random\n",
    "    leaf_to_delete = random.choice(leaves)\n",
    "    # Remove the selected leaf from the Newick string\n",
    "    newick_string = newick_string.replace(leaf_to_delete, \"\")\n",
    "    # Clean up any potential formatting issues (like double commas)\n",
    "    newick_string = newick_string.replace(\",,\", \",\")\n",
    "    newick_string = newick_string.replace(\",)\", \")\")\n",
    "    newick_string = newick_string.replace(\"(,\", \"(\")\n",
    "    return newick_string\n",
    "\n",
    "def find_branch11(newick_string, final_index):\n",
    "  initial_segment = newick_string[:final_index]\n",
    "  #print(f\"initial_segment: {initial_segment}\")\n",
    "  # Balance accounting\n",
    "  counter_of_pars = 0\n",
    "  branch = \"\"\n",
    "  for i in range(len(initial_segment)-1,-1,-1):\n",
    "    if initial_segment[i] == \"(\":\n",
    "      counter_of_pars = counter_of_pars + 1\n",
    "    if initial_segment[i] == \")\":\n",
    "      counter_of_pars = counter_of_pars - 1\n",
    "    if counter_of_pars == 0:\n",
    "      branch = initial_segment[i:final_index+1]\n",
    "      #print(f\"Branch to be deleted: {branch}\")\n",
    "      break\n",
    "  return branch\n",
    "\n",
    "\n",
    "def newick_find_all_groups11(newick_string):\n",
    "  ''' All groups are found and one is chosen at random and returned'''\n",
    "  # The pattern of groups on the image of\n",
    "  # Node4[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07]\n",
    "  info_words =  r'[a-zA-Z_0-9_]*\\[a=-?[0-9]+(?:\\.[0-9]+)?,b=-?[0-9]+(?:\\.[0-9]+)?,x=-?[0-9]+(?:\\.[0-9]+)?,y=-?[0-9]+(?:\\.[0-9]+)?,r=-?[0-9]+(?:\\.[0-9]+)?\\]'\n",
    "  starts = []\n",
    "  groups = []\n",
    "  for match in re.finditer(info_words, newick_string):\n",
    "      #print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "      starts.append(match.start())\n",
    "      groups.append(match.group())\n",
    "  number_of_infos = len(starts)\n",
    "  if number_of_infos == 0: # The root is alone\n",
    "    return newick_string, 0\n",
    "  #print(f\"number_of_infos = {number_of_infos}\")\n",
    "  #print(f\"starts: {starts}\")\n",
    "  #print(f\"groups: {groups}\")\n",
    "  # Select a start index at random\n",
    "  start_idx = random.randint(0, number_of_infos-1)\n",
    "  #print(f\"selected start_idx: {start_idx}\")\n",
    "  return groups[start_idx], starts[start_idx]\n",
    "\n",
    "\n",
    "def deletion_of_branch11(newick_string ):\n",
    "  group, start =  newick_find_all_groups11(newick_string)\n",
    "  #print(f\"Group (main): {group}\")\n",
    "  #print(f\"Start (main): {start}\")\n",
    "  # Does the group have children?\n",
    "  char_before = newick_string[start-1]\n",
    "  #print(f\"char_before: {char_before}\")\n",
    "  if char_before ==  \")\":\n",
    "    #print(\"The group has children\")\n",
    "    #find branch\n",
    "    final_index = start-1\n",
    "    branch = find_branch11(newick_string, final_index+1)\n",
    "\n",
    "    branch_and_father = branch + group\n",
    "    #print(f\"  Branch and father to be deleted: {branch_and_father}\")\n",
    "    #delete group\n",
    "    newick_string = newick_string.replace(branch_and_father , \"\")\n",
    "  else:\n",
    "    #print(\"The group has no children\")\n",
    "    #delete group\n",
    "    newick_string = newick_string.replace(group, \"\")\n",
    "\n",
    "  # Cosmetics\n",
    "  newick_string = newick_string.replace(\",,\", \",\")\n",
    "  newick_string = newick_string.replace(\",)\", \")\")\n",
    "  newick_string = newick_string.replace(\"(,\", \"(\")\n",
    "  newick_string = newick_string.replace(\" \", \"\")\n",
    "  # Comparison\n",
    "  #print(f\"Original Newick string: {newick_string}\")\n",
    "  l = len(newick_string)\n",
    "  #print(f\"Length of newick_string: {l}\")\n",
    "  if l == 0 :\n",
    "     newick_string = \"Node_0[a=0,b=0,x=0,y=0,r=1]\"\n",
    "  #print(f\"Final Newick_string: {newick_string}\")\n",
    "  return newick_string\n",
    "\n",
    "\n",
    "def newick_mutation_branches11(newick_string):\n",
    "  # Mutation of radius of illumination and of complete branches\n",
    "  if random.random() <  ga_params['mutation_rate']:\n",
    "    newick_string = newick_mutation_of_radius11(newick_string)\n",
    "    newick_string = insertion_of_branch11(newick_string)\n",
    "    newick_string = deletion_of_branch11(newick_string)\n",
    "  return newick_string\n",
    "\n",
    "def newick_mutation_leaves11(newick_string, ga_params):\n",
    "  '''Radius is mutated, and only leaves can be inserted or deleted'''\n",
    "  if random.random() <  ga_params['mutation_rate']:\n",
    "    # Mutation of radius of illumination and of complete leaves\n",
    "    newick_string = newick_mutation_of_radius11(newick_string)\n",
    "    newick_string = insertion_of_leaf11(newick_string, counter=random.randint(0, 1000), max_illumination_radius=ga_params['max_node_radius'])\n",
    "    newick_string = deletion_of_leaf11(newick_string)\n",
    "  return newick_string\n",
    "\n",
    "\n",
    "def plot_illuminated_area11(ax, illuminated_coords, title, color='blue', alpha=0.5):\n",
    "    ax.set_aspect('equal', adjustable='box')\n",
    "    if not illuminated_coords:\n",
    "        ax.set_title(title)\n",
    "        ax.grid(True)\n",
    "        return\n",
    "\n",
    "    for x, y in illuminated_coords:\n",
    "        rect = patches.Rectangle((x, y), 1, 1, facecolor=color, alpha=alpha, edgecolor='black', linewidth=0.5)\n",
    "        ax.add_patch(rect)\n",
    "\n",
    "    min_x = min(c[0] for c in illuminated_coords) - 1\n",
    "    max_x = max(c[0] for c in illuminated_coords) + 2\n",
    "    min_y = min(c[1] for c in illuminated_coords) - 1\n",
    "    max_y = max(c[1] for c in illuminated_coords) + 2\n",
    "\n",
    "    ax.set_xlim(min_x, max_x)\n",
    "    ax.set_ylim(min_y, max_y)\n",
    "    ax.set_xticks(range(int(min_x), int(max_x)))\n",
    "    ax.set_yticks(range(int(min_y), int(max_y)))\n",
    "    ax.grid(True)\n",
    "    ax.set_title(title)\n",
    "\n",
    "# --- MAIN EvoluciónARY SIMULATION LOOP ---\n",
    "\n",
    "def run_Evolución_newick_morpho_trees11(target_tree_params, ga_params):\n",
    "    # A previous code by Gemini was reused.\n",
    "\n",
    "    # 1. Generate Target Tree and its Illuminated Area\n",
    "    #print(\"\\n--- Generating Target Tree ---\")\n",
    "    random.seed(ga_params['seed'] + 1) # Use a different seed for target generation\n",
    "    target_tree, target_illuminated_area =  generate_and_test_morpho_tree11( ga_params)#926\n",
    "    print(f\"target_tree: {target_tree} \\n\\n\")\n",
    "    #number_of_groups = count_groups11(target_tree)\n",
    "    #print(f\"Number of groups or nodes in target tree: {number_of_groups}\")\n",
    "    length_of_target_tree = len(target_tree)\n",
    "    #draw_newick_string11(target_tree, \"Target Tree\")\n",
    "    # target_area = get_illuminated_coordinates11(target_tree)\n",
    "    #print(f\"Target illuminated area: {target_illuminated_area}\")\n",
    "\n",
    "    # 2. Initialize Population\n",
    "    random.seed(ga_params['seed']) # Reset seed for GA population generation\n",
    "    #print(f\"\\n--- Initializing Population of {ga_params['pop_size']} Trees ---\")\n",
    "    population = create_initial_population_newick11(\n",
    "        pop_size=ga_params['pop_size'], max_depth=ga_params['max_depth'], max_children=ga_params['max_number_children'],\n",
    "        max_node_radius=ga_params['max_node_radius']  )\n",
    "    #print(f\"Population initialized with {len(population)} individuals.\")\n",
    "    #print(f\"Population: {population}\")\n",
    "\n",
    "\n",
    "\n",
    "    best_tree_overall = None\n",
    "    best_fitness_overall = -1.0\n",
    "    history = []\n",
    "\n",
    "    # 3. Evoluciónary Loop\n",
    "    #print(f\"\\n--- Starting Evoluciónary Loop for {ga_params['generations']} Generations ---\")\n",
    "    for generation in range(ga_params['generations']):\n",
    "        if generation % 1000 == 0:\n",
    "            print(f\"\\n--- Generation {generation+1}/{ga_params['generations']}, Best fitness {round(best_fitness_overall, 5)} ---\")\n",
    "        fitness_scores = [calculate_fitness_illumination11(tree, target_illuminated_area)for tree in population]\n",
    "\n",
    "        current_best_fitness = max(fitness_scores)\n",
    "        current_best_tree = population[np.argmax(fitness_scores)]\n",
    "\n",
    "        if current_best_fitness > best_fitness_overall:\n",
    "            best_fitness_overall = current_best_fitness\n",
    "            best_tree_overall = copy.deepcopy(current_best_tree) # Deepcopy to save the best tree\n",
    "\n",
    "        history.append(current_best_fitness)\n",
    "\n",
    "        #print(f\"Generation {generation+1}/{ga_params['generations']}: Best Fitness = {current_best_fitness:.4f} (Overall Best: {best_fitness_overall:.4f})\")\n",
    "\n",
    "        if best_fitness_overall >= 0.999: # Almost perfect match\n",
    "            #print(\"Target illumination achieved (or very close)! Stopping Evolución.\")\n",
    "            return target_tree, target_illuminated_area, best_tree_overall, best_fitness_overall, history\n",
    "\n",
    "        # Selection\n",
    "        parents = select_parents_newick(population, fitness_scores, ga_params['pop_size'] // 2)\n",
    "\n",
    "        # Create next generation\n",
    "        next_population = []\n",
    "        # Elitism: Keep the best individual from the current generation\n",
    "        if best_tree_overall and current_best_fitness == best_fitness_overall: # Only if it's the current best in this generation\n",
    "            next_population.append(copy.deepcopy(current_best_tree))\n",
    "\n",
    "        while len(next_population) < ga_params['pop_size']:\n",
    "            if len(parents) < 2: # Not enough parents for crossover, fill with new random trees\n",
    "                new_tree =  complete_tree_generator11(target_tree_params['max_depth'], target_tree_params['max_number_children'], target_tree_params['max_node_radius'] )\n",
    "                if new_tree:\n",
    "                    next_population.append(new_tree)\n",
    "                continue\n",
    "\n",
    "            # Randomly pick two parents (can be the same parent multiple times with replacement for simplicity)\n",
    "            p1 = random.choice(parents)\n",
    "            p2 = random.choice(parents)\n",
    "            child1, child2 = p1,p2 # No crossover, just pass parents to children for mutation\n",
    "            if recombination_of_leaves:\n",
    "                # Crossover newick_position_branch_recombination11\n",
    "                # child1, child2 = newick_position_branch_recombination11(p1, p2)\n",
    "                # Crossover newick_leaves_recombination11\n",
    "                child1, child2 =newick_leaves_recombination11(p1,p2)\n",
    "            # Mutation: Apply mutation to both children\n",
    "            mutated_child1 = newick_mutation_leaves11(child1, ga_params)\n",
    "            mutated_child2 = newick_mutation_leaves11(child2, ga_params)\n",
    "\n",
    "\n",
    "            next_population.append(mutated_child1)\n",
    "            if len(next_population) < ga_params['pop_size']:\n",
    "                next_population.append(mutated_child2)\n",
    "\n",
    "        population = next_population[:ga_params['pop_size']]\n",
    "        # print(f\"Population size for next generation: {len(population)}\")\n",
    "        # print(f\"Best fitness this generation: {current_best_fitness:.4f}, Overall best fitness: {best_fitness_overall:.4f}\")\n",
    "        # print(f\"Best tree this generation: {current_best_tree}\")\n",
    "        # If you want to see the entire population, uncomment the following line:\n",
    "        # print(f\"Population: {population}\")\n",
    "        # Cutt-off for the length of the Newick string to avoid excessive growth\n",
    "        population = [tree for tree in population if len(tree) <= 2 * length_of_target_tree]  # Allow some growth but limit it\n",
    "        #print(f\"Population size after length cut-off: {len(population)}\")\n",
    "        # If the population is too small, refill\n",
    "        while len(population) < ga_params['pop_size']:\n",
    "            new_tree = complete_tree_generator11(target_tree_params['max_depth'], target_tree_params['max_number_children'], target_tree_params['max_node_radius'])\n",
    "            if new_tree:\n",
    "                population.append(new_tree) \n",
    "    #print(\"\\n--- Evolución Finished ---\")\n",
    "    #print(f\"Final Best Fitness: {best_fitness_overall:.4f}\")\n",
    "\n",
    "    return target_tree, target_illuminated_area, best_tree_overall, best_fitness_overall, history\n",
    "\n",
    "\n",
    "# Generate the  Newick string of a morpho-tree and draw it\n",
    "if __name__ == \"__main__\":\n",
    "    print_parameters11(target_tree_params, ga_params)\n",
    "    # Run the Evolución loop\n",
    "    target_tree, target_illuminated_area, evolved_best_tree, evolved_best_fitness, history = run_Evolución_newick_morpho_trees11(target_tree_params, ga_params)\n",
    "    number_of_groups = count_groups11(target_tree)\n",
    "    print(f\"Number of groups or nodes in target tree: {number_of_groups}\")\n",
    "    title = \"Target Tree. Number of groups or nodes: \" + str(number_of_groups)\n",
    "    draw_tree_newick11(target_tree, title)\n",
    "    title = \"Evolved Best Tree\"\n",
    "    draw_tree_newick11(evolved_best_tree, title)\n",
    "\n",
    "    # Plot Symmetric Difference Area\n",
    "    evolved_best_area = get_illuminated_coordinates11(evolved_best_tree)\n",
    "    symmetric_diff_area = target_illuminated_area.symmetric_difference(evolved_best_area )\n",
    "    ##print(f\"Symmetric Difference Area: {symmetric_diff_area}\")\n",
    "    ##print(f\"Number of cells in symmetric difference area: {len(symmetric_diff_area)}\")\n",
    "\n",
    "\n",
    "    fig, axes = plt.subplots(1, 3, figsize=(15, 5))\n",
    "\n",
    "\n",
    "    plot_illuminated_area11(axes[0], target_illuminated_area, title=f\"Target Area (number of cells: {len(target_illuminated_area)})\")\n",
    "    plot_illuminated_area11(axes[1], evolved_best_area, title=f\"Evolved Best Area (number of cells: {len(evolved_best_area)})\")\n",
    "    plot_illuminated_area11(axes[2], symmetric_diff_area, title=f\"Symmetric Difference (Error Area: {len(symmetric_diff_area)})\")\n",
    "\n",
    "    plt.tight_layout()\n",
    "    plt.show()\n",
    "\n",
    "\n",
    "    # Plot Fitness History\n",
    "    plt.figure(figsize=(10, 6))\n",
    "    plt.plot(history, marker='o', linestyle='-', color='blue')\n",
    "    plt.title('Best Fitness Progression Over Generations')\n",
    "    plt.xlabel('Generation')\n",
    "    plt.ylabel('Fitness')\n",
    "    plt.grid(True)\n",
    "    plt.show()\n",
    "\n",
    "    print(f\"Evolved best tree: {evolved_best_tree}\")\n",
    "    print(f\"Evolved best fitness: {evolved_best_fitness:.2}\")\n",
    "\n",
    "    end_time = time.time()\n",
    "    Execution_time = end_time - start_time\n",
    "    # print(f\"Execution time: {Execution_time:.2f} seconds\")\n",
    "    # Execution time in hours, minutes and seconds:\n",
    "    hours = int(Execution_time // 3600)\n",
    "    minutes = int((Execution_time % 3600) // 60)\n",
    "    seconds = int(Execution_time % 60)\n",
    "    print(f\"Execution time: {hours} hours, {minutes} minutes, {seconds} seconds\")\n",
    "    if memory_monitoring:\n",
    "        # displaying the allocated memory\n",
    "        print(tracemalloc.get_traced_memory())\n",
    "        # stopping the memory allocation library\n",
    "        tracemalloc.stop()\n",
    "    \n"
   ],
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "LAB: EVOLUTION OF NEWICK MORPHO-TREES\n",
      "PURPOSE: \n",
      " A random morpho-tree T is generated.\n",
      " Evolution tries to restore the tree T\n",
      " beginning from a population of random trees.\n",
      "EXPERIMENT 1791483881.024878\n",
      "RECOMBINATION OF LEAVES: True\n",
      "SEED FOR THE GENETIC ALGORITHM: 47423648\n",
      "TARGET TREE PARAMETERS: {'max_depth': 7, 'max_number_children': 3, 'max_node_radius': 1.5}\n",
      "GENETIC ALGORITHM PARAMETERS: {'seed': 47423648, 'pop_size': 200, 'generations': 5001, 'max_depth': 8, 'max_number_children': 3, 'max_node_radius': 1.5, 'mutation_rate': 0.001, 'crossover_rate': 0.001}\n",
      "\n",
      "target_tree: (((Node32[a=-1.0,b=-1.0,x=1.0,y=-1.0,r=0.7])Node18[a=1.0,b=-1.0,x=2.0,y=0.0,r=0.9],(Node31[a=1.0,b=-1.0,x=2.0,y=1.0,r=0.79],Node30[a=1.0,b=0.0,x=2.0,y=2.0,r=1.16],Node29[a=1.0,b=1.0,x=2.0,y=3.0,r=1.44])Node17[a=0.0,b=1.0,x=1.0,y=2.0,r=1.32])Node2[a=1.0,b=1.0,x=1.0,y=1.0,r=0.94],(((Node16[a=1.0,b=-1.0,x=0.0,y=-2.0,r=1.39],(Node28[a=1.0,b=1.0,x=1.0,y=0.0,r=1.44],Node27[a=1.0,b=-1.0,x=1.0,y=-2.0,r=1.44])Node15[a=1.0,b=0.0,x=0.0,y=-1.0,r=1.3],(Node26[a=0.0,b=-1.0,x=-2.0,y=-3.0,r=0.84],Node25[a=1.0,b=0.0,x=-1.0,y=-2.0,r=1.47])Node14[a=-1.0,b=-1.0,x=-2.0,y=-2.0,r=0.91])Node7[a=0.0,b=-1.0,x=-1.0,y=-1.0,r=0.72])Node4[a=-1.0,b=-1.0,x=-1.0,y=0.0,r=1.3],(((Node24[a=1.0,b=-1.0,x=-2.0,y=-1.0,r=0.64],Node23[a=0.0,b=-1.0,x=-3.0,y=-1.0,r=1.29],Node22[a=-1.0,b=-1.0,x=-4.0,y=-1.0,r=1.37])Node13[a=-1.0,b=-1.0,x=-3.0,y=0.0,r=1.0],(Node21[a=-1.0,b=-1.0,x=-4.0,y=0.0,r=0.97],Node20[a=-1.0,b=0.0,x=-4.0,y=1.0,r=1.04])Node12[a=-1.0,b=0.0,x=-3.0,y=1.0,r=0.79],Node11[a=-1.0,b=1.0,x=-3.0,y=2.0,r=0.76])Node6[a=-1.0,b=-1.0,x=-2.0,y=1.0,r=0.86],((Node19[a=-1.0,b=1.0,x=-3.0,y=3.0,r=1.27])Node10[a=-1.0,b=1.0,x=-2.0,y=2.0,r=1.27],Node9[a=-1.0,b=-1.0,x=-2.0,y=0.0,r=1.11],Node8[a=1.0,b=1.0,x=0.0,y=2.0,r=0.72])Node5[a=0.0,b=-1.0,x=-1.0,y=1.0,r=0.79])Node3[a=-1.0,b=1.0,x=-1.0,y=2.0,r=1.48])Node1[a=0.0,b=1.0,x=0.0,y=1.0,r=1.31])Node_0[a=0,b=0,x=0,y=0,r=1] \n",
      "\n",
      "\n",
      "\n",
      "--- Generation 1/5001, Best fitness -1.0 ---\n",
      "\n",
      "--- Generation 1001/5001, Best fitness 0.94203 ---\n",
      "\n",
      "--- Generation 2001/5001, Best fitness 0.94203 ---\n",
      "\n",
      "--- Generation 3001/5001, Best fitness 0.94203 ---\n",
      "\n",
      "--- Generation 4001/5001, Best fitness 0.94203 ---\n",
      "\n",
      "--- Generation 5001/5001, Best fitness 0.94203 ---\n",
      "Number of groups or nodes in target tree: 33\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 700x1500 with 1 Axes>"
      ],
      "image/png": "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SMgKIYQQQohEIiErhBBCCCESiYSsEEIIIYRIJBKyQgghhBAikUjICiGEEEKIRCIhK4QQQgghEomErBBCCCGESCQSskIIIYQQIpFIyAohhBBCiEQiISuEEEIIIRKJhKwQQgghhEgkErJCCCGEECKRSMgKIYQQQohEIiErhBBCCCESiYSsEEIIIYRIJBKyQgghhBAikUjICiGEEEKIRCIhK4QQQgghEomErBBCCCGESCQSskIIIYQQIpFIyAohhBBCiEQiISuEEEIIIRKJhKwQQgghhEgkErJCCCGEECKRSMgKIYQQQohEIiErhBBCCCESiYSsEEIIIYRIJKsmZPfee28877nPxcMeduJq3aUQQgghhEgx/mrcieM4+MgZH8a97nVPnPfLX+Kcc362GncrhBBCCCFSzKpUZF/+spdi586d+P3556/G3QkhhBBCiAzQcyF79NFH46lPfQpe+apX9/quhBBCCCFEhuiptWDdunU448MfxGmveCV27dq1qN/J5/N26VCpVHr4CIUQQgghRCaE7H2POgpHHnnkvD/zve9/DzfffIv9//3vey9+8MMf4de//s2i7+PFL3ohTjvt1D1uP+KIw1GtVpFmDjroQGSBrGzngXc+AFngwIP2hec2kXaysp0HH3wAXC/925ml9yJtZ7rIwv4slUq9EbKVgQHstdfmeX8ml4urqQ958INx3HHH4uIPXGJpBeROBxyAViuwr7/05S9jfHx8j9//8BkfwZmf+OTt91mp4OKLLsDFF18y68+njQsuuBBZICvbedHF6d9Oih5tZ7r2Z1ZenyQr26rtTBdp358DAwO9EbLnnXeeXRbDrVu24LOf/RzWDQ9P3ZbPF+B5LRPDnufN+nuNRsMuQgghhBBCrIlH9uqrr8ab3vyWGbcdfMjBqNfre9wuhBBCCCHEUtFkLyGEEEIIkUhWZSBChx//6Gy0gtZq3qUQQgghhEgpqypkv/b1r6/m3QkhhBBCiBQja4EQQgghhEgkErJCCCGEECKRSMgKIYQQQohEIiErhBBCCCESiYSsEEIIIYRIJBKyQgghhBAikUjICiGEEEKIRCIhK4QQQgghEomErBBCCCGESCQSskIIIYQQIpFIyAohhBBCiEQiISuEEEIIIRKJhKwQQgghhEgkErJCCCGEECKRSMgKIYQQQohEIiErhBBCCCESiYSsEEII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"
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 700x1500 with 1 Axes>"
      ],
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAArIAAALACAYAAABvk5FKAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjExLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlcelbwAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzsnQeYZGW1tdc5p3JV5548TAKGnKNkFZQoIsGI+VfQqyIGzOmavYpeI2ZMBMMVMYMICihKlJxhYIbJnSqf9D9rn6qmu6dDdXfF7v0+9NNDh6rTVafqrG9/a69tLFm63IeiKIqiKIqitBhmow9AURRFURRFUWaCCllFURRFURSlJVEhqyiKoiiKorQkKmQVRVEURVGUlkSFrKIoiqIoitKSqJBVFEVRFEVRWhIVsoqiKIqiKEpLokJWURRFURRFaUlUyCqKMu9YuXIl9t5rr4bc95Ili3HggQc05L4VRVHmGqFGH4CiKPOTZcuWYdGihRN+/6GHHkY6na7JfV9wwTtw9NFH4eCDD0W9Offcc3HBO96OnVasguu6FT8+nudj69at2LhxIxzHqekxrlq1CqlkEvfce++kP9fW1oZdd92lotu8//4HkMvlqnSEiqIoASpkFUVpCG960xvx/974Rtx9990o2vYO3//Qhz6Cu+66C/OVsY+PaZhYunQJotEovvvd7+HiL38Fvl+bCeMXvfc9UjU+7PAjJv05itiPf/xjo77GSjeF9gMPPjjq6++84EI88uijNTleRVHmLypkFUVpKK993evxzDMb9Vmo8PF561vOxwc/+AFs396HH156aUMft9tvvwOnnXb6qK/deuu/sGXzlh2+riiKUgvUI6soSlOzZs1q7LvvvuN+r6urUyqH3OIeCauWe+yxO3bbbTeEw+Ga3IdhGPJ7e+21J1Kp1IS3zd/nz7S3t6MafPd734fneXjOEYeP+/1Kjss0TSxfvhy777474rHYqO+tXbtWjjkSicjfXf6YKeXb6e7ulv/v7OzEPvvss8PjwePZZ++90dPTM+ntVfpziqLMD7QiqyhKU/PCF7wAH/7wh3Dscc/Dww8/POp777rwQrz85S/HgQcdPCzQ3nfRe/GGN7we27dvh2laSKWS+NrXv4GvfvVrVbkP8upXn4t3XfhOEY19fX1YvnwnXPnzn+OjH/0YisWi/EwoFMKnP/VJvOxlL8XTT69HJBLGj3/y01k/Hr29vfJ3bt60eYfvVXJcp5xystgBLNMUz+1OO+2E6677Kz78kY9i27ZteNP/eyP23ntvJJPJUbaBl7zkLNjjWECmYunSpfjt1b/Be957Edau3RUnnXgiEokELnjnhbj22r/gec97rtzPwgULsH79BmnEu+nmm3DBBRfKc1im0p9TFGV+oRVZRVEaCkXTyMrf2ArglT//hYiwl7/8ZTtU+s444wz84Q9/wMDAgHztA+9/H84//zy844J34pBDD8dBBx+Cj3/iv/H+910kW/ITMZ37eOMb34DPfubT+NLFX8a++x0g4veUU0/DKSefNEr4fehDH8RZZ52JV7/mdTjiyKNw8CGHIWRZOP75z5vR43PwwQfhtNNOxXe/82089dRT+PZ3vjvq5yo5LlZDv/bV/8Uvf/FLHHDgwTjhBSdi9z32wh/++EepdJJ3v+e9+Pvfb8TmzZvFHlD+mImIHcmrz30V7rnnXhx62HPkuXni8Sdw1FFH4oc/+D5uuP4G7L3Pfnje84/H4c85AosXLcIPf/C94d+t9OcURZl/aEVWUZSG8u53XThus9fpp58hW+isErJyd9aZL8GnP/2Z4Y59Vva4BX7Z5ZfL/7OC+PrXvw6//e3v5KPMz352GU495RS89a1vwbcu+fa4SQGV3geFLSuev/vd73HppT8a/v0HHngA3/jGt/D+91+Ez3/+8ygWbRFuv/zlr3D99dcP/9wXv3QxXvSi02b8+Czo7ZUt+i996ct4+umnh3+m0uNihZa2i//cffeo+7j66t+i1tDT+/Of/0L+zfQCNn5d/OUv4cl16/CRj35MnmuyZcsW/PcnP4UrLr8Mhx9+OP75z3/iooveW9HPKYoy/1AhqyhK0zd7/eyyy3DyySfhhBOOxx/+8Ef52stf/lI88cSTuOmmm+X/99pzT8RiMdz8j3/s8Pv82nHHHYudd94ZDz300IzvY++990JHRwfWrVsnnlpu4RN+zufz4sfdc889YRdtOZZ//fvfO9zPv/99K3bdddcZPz4UbZf97Cfig33vRe+b1nHddtvtePLJJ/GFz38OBx10EG644W/497//jWw2i1pzy7/+Ner/6c09YP/9cc0110rVeeQxM6GB7LvvPrjrzjsr+jkVsooyP1EhqyhK03P99Tdgw4YN4jelyGTG6pFHHokv/M8Xh38mHo/L56HBoR1+f3BwUD7Tmzmb+2hLBQ1fL3jBCTj0sB0zaG+7/XY4jot46X7GPZahHb82HSjY/nzNNXjFK16Oz372c9je11fxcVHUnnLqi8SG8LznHoc3vuH1UuH84x//hA984INyW7WCFdSRJJJJ8frus+8++NSn/nvcYx4aHKz45xRFmZ+okFUUpemh2Lriyp/jbf/1VixatAgve+k5kqH685//fPhnntkYVC2XL1+2w++v2Gmn4GeeeWZW97F+/Xr5/JOf/gyXXPLtCW+Lnf9k2TjHMt7xzWSbnuJuydIlIj4rPa7gd7fj85//gnzQjnHaqafis5/9NDKZDN717vfIz9Qin9YvWQLK9Pf3y33efPPNePvbL5jw9yzLqujnFEWZn2izl6IoLcHll18h4u2lLz0H55xzNq6/4YZRW+60DDz62GM4++yzRPyU4RY/G7buuONObNq0aVb3QV/nXXf9B694+cvkdsdCYVg+lscffwJnn3XmDokDxx5zDGbLQQceINXVJ59cN63jKlety1AgXn7FFWI3YApAmQFWQiepXlcDepWvuuo3eMEJJ2DZ0qU7fJ+pD/T+VvpziqLMT7QiqyhKQ6HvccmSJTt8fd26pyQeqgw79W+66Sa8/W3/JSLrYx//xA6/8573XISf/PhSXHbZT/H97/8QlmXi/PPOQzwew0UlP+lkVHIf//W2t0mDESOlvve970kT0oLeBTjwoAPw/Oc/H0cdFQjV97//A7j00h/g0h9+X2K3UsmUxGOxEW1sOkKlj09vT68Idfpd2eg0coRvJcfF5INPfPxj0nTFyVtManjec58r3uH/HRFP9q9//QuvefW5YkG48847pVrN4QfV5hP//Unsscce+M1vrsK3LrlEmtOSyRT22nMPSXw4+5yXSVNbpT+nKMr8w1iydHltZhwqiqJMAkXS6ae/aMLvf+tbl0gX/kjYiPX2t79Nut5f8YpXDacLjGT16lV47WtfI8KHW+R3/+du/OAHP8T6DRuGf+aCC96B/ffbTxqpxlLJfXA4AsXocw4/XIL9aVm47bbbxJowsnGKwf9vfOPrsXzZcjz22GP4+je+KVFSrPiWUxkqfXz4t3A7/sknnpQUhfvuu39Gx8XH52UvfSn22HMPhKwQnnjySVx55c9FsI69f1aPOzo7pLGq0hxZxmQxw/adF75L/n/JksX49rcvwVf/92vi7R0LG9FecsYZeO5zj8PChQuxddtW3HvvfbjsssslAmy6P6coyvxChayiKIqiKIrSkqhHVlEURVEURWlJVMgqiqIoiqIoLYkKWUVRFEVRFKUlUSGrKIqiKIqitCQqZBVFURRFUZSWRIWsoiiKoiiK0pK0xEAEjovkBBpFURRFURRl7pNMJqecxtgSQpYi9o7bb230YSiKoiiKoih15IADD55SzDa9kC1XYvnHzPWq7AEH7C/z4Oc6+nfOLfT5nFvMl+dzPv2t+nfOLebD85lMJqWIWYnua3ohW4Z/zMi54nMRjsSc638j0b9zbqHP59xivjyf8+lv1b9zbjFfns9K0WYvRVEURVEUpSVRIasoiqIoiqK0JCpkFUVRFEVRlJZEhayiKIqiKIrSkqiQVRRFURRFUVoSFbKKoiiKoihKS6JCVlEURVEURWlJVMgqiqIoiqIoLYkKWUVRFEVRFKUlUSGrKIqiKIqitCQqZBVFURRFUZSWRIWsoiiKoiiK0pKokFUURVEURVFaEhWyiqIoiqIoSkuiQlZRFEVRFEVpSVTIKoqiKIqiKC2JCllFURRFURSlJVEhqyiKoiiKorQkKmQVRVEURVGUlkSFrKIoiqIoitKSqJBVFEVRFEVRWhIVsoqiKIqiKEpLokJWURRFURRFaUlUyCqKoiiKoigtiQpZRVEURVEUpSVRIasoiqIoiqK0JCpkFUVRFEVRlJZEhayiKIqiKIrSkqiQVRRFURRFUVoSFbKKoiiKoihKS6JCVlEURVEURWlJVMgqiqIoiqIoLYkKWUVRFEVRFKUlUSGrKIqiKIqitCQqZBVFURRFUZSWRIWsoiiKoiiK0pKokFUURVEURVFaEhWyiqIoiqIoSkuiQlZRFEVRFEVpSVTIKoqiKIqiKC2JCllFURRFURSlJVEhqyiKoiiKorQkKmQVRVEURVGUlkSFrKIoiqIoitKSqJBVFEVRFEVRWhIVsoqiKIqiKEpLokJWURRFURRFaUlUyCqKoiiKoigtiQpZRVEURVEUpSVRIasoiqIoiqK0JKFa3vhhhx2Go448YtTXCoUCvvb1b9TybhVFURRFUZR5QE0rsocffhhe/oqX1/IuFEVRFEVRlHlKTSuy5JlnnsEXv3Rxre9GURRFURRFmWfUXMh2dXXhzW9+Ewr5Au64807cddddtb5LRVEURVEUZR5Q82Yvx7axbOlS7H/AfvjVL3+BL33xfyb9+UgkglQqNfyRTCZrfYiKoiiKoihKC1LTiuzVV1+N//3fr8L3ffn/H/zgUvzmqv/DDTf8DVf95jfj/s7b/uuteNe7Ltzh6wccsD9yuRzmMmvWrMZ8YPWqneG5Ycx1Vq5cqX/nHEKfz7mHPqdzi9WrVmA+MB+0Qjwebw4h+9hjj4/6f9oK7r77Hhxx5HMmFLJf/drXccm3vzP8/6zI3nH7rbjjjjuRTqcx17n11tsw16GI/feto8+NuYjrhXH77fp3zhX0+Zx76HM697j9jrl/DZ0PWiGVSjWPR3YshmFMqrSLxaJ8KIqiKIqiKErDPLL77bffDv+/99574eab/lHLu1UURVEURVHmATWtyF7wjrcjmUrinnvuRXd3F0479VT8+qqr8PNf/KKWd6soiqIoiqLMA2oqZF/3+jfgoIMOxAEHHIBHH30U3/3O93DPvffW8i4VRVEURVGUeULNPbK33Xa7fCiKoiiKoihKS+XIKoqiKIqiKEotUCGrKIqiKIqitCQqZBVFURRFUZSWRIWsoiiKoiiK0pKokFUURVEURVFaEhWyiqIoiqIoSkuiQlZRFEVRFEVpSVTIKoqiKIqiKC2JCllFURRFURSlJVEhqyiKoiiKorQkKmQVRVEURVGUlkSFrKIoiqIoitKSqJBVFEVRFEVRWhIVsoqiKIqiKEpLokJWURRFURRFaUlUyCqKoiiKoigtiQpZRVEURVEUpSVRIasoiqIoiqK0JCpkFUVRFEVRlJZEhayiKIqiKIrSkqiQVRRFURRFUVqSUKMPQFEURVHmFL4PSypFwWej9GUDPvzS//kAPAAuDPnsG+WfUhRlOqiQVRRFUZQZYPo+wvAR8n1EfE/+HfF92eo0S5+tYekaCFoK2GeFrAG3JGL52TYMFGHANkw4hgGb31eBqyiTokJWURRFUSqA4jQGD1HPQ4ziFT7CvgfL8OH6QWXVMwKB6pQ+s+KK8cRoWfBK1daXi3HE89AOHyZ/16egDcRszjBRKH1Q4CqK8iwqZBVFURRlAihUo76PuO8iyaqrH9RUHX4YBjKGCY/icrr60igJX4re4a+N+LaIW1Z8PSQ8FyYMFChqTRNZw0KhVL0dVyQryjxChayiKIqijMAQ4eohRfHqeYgYnlRcKR5ZHa2HePRL1VgbQE48CYGNIeW56DQc2L4pxzJkWvJZLQjKfEWFrKIoiqKUqq8J30O754qQZcU0ZxjIGqHpV1yrTVnYlo6D1VpWids9B3lYGDRMZE1WajWMSJlfqJBVFEVR5jVR30Ob5yDleYjCR8GACMNmThKgrcExLKnUxuCj13Pgei7SJqu0oaByrCjzABWyiqIoyrwk5Lnodm10eK5s22fFOsDArBbCMJCHgbwBSU9gNbnN8zBomhg0Q1qhVeY8KmQVRVGUeYXl+1KB7c1m0e85JftAiwnYCaq0Q4YlgrazJGgHTAthl+FeijI3USGrKIqizA98X5IHejwHCd+Fb0CE3lyDgnbQsMTzy7+1J5cVLy1FbjPbJRRlJqiJRlEURZnzsErZ69lY6hZh+R76DAu2NfdE7Eg4WEGEuuFjiWtjoWeLH1hR5hJakVUURVHmRRU25nuS+zrfhgoUrZA0r0kag+dhuxXS6qwyZ1AhqyiKoszZSVxdnoNuz5GhAwN1yoBtRryS3YBintXZuOlhmxmed6JemXuokFUURVEaR2lSllBFUUV/KAVsp+8gbVgq2ErkDRNF+EFSg+9jqxWWrylKq6JCVlEURalpVZTRVvSoMsR/9P/vCCunNjNSYUgVkZ+d0jAAGQVbAaw6LmDV0fcwoA1OO8DHcQAm2nwPi90itphhZOZg05syP1AhqyiKolQNCtUYPEQ8D3HfRxSeiFbL8OH5Blh/5Ydr8HPw/2UoUyOcWOUF/+aHafhw/MDXWgRzXg0UTRN5mOMKW45w7XVtEc3z2UowJaWoLk4HW+IWsdUPod/kBDN9vJTWQoWsorQ6vr9D/IiIBb0gKXXMZWUVlKIoSfHqe3IOsrpKAcqxqSI6K9VIY37OZAUXwX208YY9yG1mSgMMcqXbZ8TUQteGY0BEmjI1fPwi8LDIc+R9pM8M6XuH0lKokFWUVqC0HTu8JVvapo2URCwv9KN+HAYYgV7ekh37WUWuUg0oWBOei3afo109eD5QlKai6o539UrV2GLpJg3fl8ptp+ehB24wjtX3kPI9pE1Lp1lNkyIXAvDQ6zswPV+awPQ9QmkVVMgqSpNCsRotVbkS3JotiVnilT8MfqaPcDTcsOWLO+x5SJUCo6kB6Dek/7BQmmRUKAkE3U5UKsb3kYCHNs9F0vNgwRfxSs8lzPpsS1NkFcDzODieBZ4j2+McMSuWBDNoalIqx2GF2/fR4zvy5rLVDOv7gtISqJBVlCaCYpUNKkk/yHuMwpfKKsUnxUJ2uqLT2PH2WclNeR46DQe2b4qYZRUra5gSoK4oEyFb+54jHe+ElVAKoEbChqWU72KrFYLvGyKw23xXoqaGTEuqjUplcMcm7Vvo9l14noHt6plVWgAVsorSZFu0Mbhw/KBqmmOVq4pbtK5By0GpkiVvALQnsHPZk8ps2jSlezlb5ftVWn93oNOz0e55YmMJBGzjz48ErQWeI4s8W85ZSNQWF2wdvouUWxa0oaY43laAj1PGN6TKzV2ffivc6ENSlElRIasoDRawbFBpG7FF2w+rblu0vGg5BoVrkLvJSlun54oYGChVaVXQzmN8X3yn3cNTsYLzpRmIyja4DdfwUeRrZsyCbQhWkCXrO7K70W+E9HyuEFbZs/TMeo7s0mg0l9LMqJBVlAbACyy3QCkcWRXNNoFA4AXLNoL4pGS5mmVaGDRDQTONMu+qsF2eLQubZpuKxWPr9mz5zEXXpOe0b4hdZ5FvS6Ysz2etzk4NLRkWXCzwuFgwJvUc8z2DC/Hy2VH+XI5ao4+ft6EotUCFrKLUE99Hu+9KhYuJA9lS01UzwQ7xodL2LMU2/bR9Jiu0ocZdjPzgIln+kC+N+GgWgTVXoPBjFis/Z5rERlCGiQWdniPHNlTJAkssOsH53OU7iHoetpthTTaoMJqL7wE8FzZaETkPRg604GdW6lkd5+P7rJANmlLLOcG0KPB3uSCmQB6ZoqIos0WFrKLUCXpROfedFS76X7l138zI9qxhIeR7WOjZSPgetlvcnq3xcZcmPjHbkhdLPm5MbQhErF9SroGiLV8o7VJQPitw050CpYwmYRex2OFmfXMOFBD7C5xSTqwxrfN50LdkYbYQRWw31PtZCVwsdHsuIn5ehGikVBHngAtOFy43o/J19+ziMnhenl18BqKX739WSdiWhSwXSjnTQl7TU5RmF7JdXZ044YQT8NRTT+Ef//hnve5WUZoCmTbk2TLbnBmbrSSy6JfrgyFeyaVOEdvMYAJQNXMmWeWhUI5NEDXGC547XH0NPpcvkPzMqlDKH38KFC+SDM9XKqt09hRyeLpJBwqwCsuqKsUPt6unDbvyDUvOl4W+jWSxIAunZhPrTYFMZeOUNVdSIVa4Lp6xwjIwgTtJnixypriJ4X+VIgKHt1OC9BS+xunD9TxX/Mu0MpWHWyhK0wnZL1/8JRx11NH4y3V/USGrzDtxEDRNGPJG3ZKUBEC4JADCpdD02VoNIqPSGoJAfRGhBqaXnGCMPwWK4pYXSaYx8Ph5sdSg93EePjZOebZkiBZMsyk90VbptRRMDJvd8dHvKc2Nxbzcpo5mHTNiWCaoubJw4CPNzN6tpiV2KCb1zlposoJbErc5I3huE76LdjcYbsHFflaj05RmErJvfOMbEIlEcdPNN9Xj7hSlKTA9dv3a0jWdmSMZrfwbBn1D7BGsLm+dQTSPMSIrl2kNFJ2FKgbqj50CxW1QaawrTYDiYkIzc8cXsWlYcJp0sSUDGHxXGraqdS4XrJBkphpeMJp1vldmOXyFwp67I4zpY/zfSNHKyixTVrZWeUeGC2Jp2uN7A3ws5MLfc9Ff8uZrhVaZjJpfWffZe2+cf955eMcF74TPLRxFmS8d34WceMsYAzQXRGwZXlTonZROcNdG1B07V2xi+DucwLTMLYrXkXm29ApLR3SNRAQrvAzGZ5WHvs/Fro1lThGdri3Vp/nMSBHL87RZm2/KloK0vI6qKKBMxkyZ6CoJOLEZzEOkEc615bXBqusgLGQMawcByQUgm1VpM6oJpYYwvicwQYW7P3y/YLVWURpSkU0kEvjGN7+OD37ow9i8eXNFvxOJROSjTDKZrOERKkptROwC10aimMc2x4XPcs8cpE+mKtnoyAwhVAgaQSaCgrHDc9ANV1bPfTQADF8k63eRstm8UrI09PhFhA0DfWa4oq10vzTNai5B8caKJCuxZZuI73lwbD5SzQHPnZRnw5bKPZ+n6j0PnuOh4DpwZYCCDdsMSQVwruE67oTPKauv5RQILhSCxczE71kcY5uCWxoyUbsFutgOuJsCB712AdsxdXXW8+bme60yOTV9xX72s5/GP//xT/zxj3+s+Hfe9l9vxbvedeEOXz/ggP2Ry+Uwl1mzZjXmAytXroTrheesnYCVWIrYzpVLsdaZe+JnLCuWdOPoQh5bIzEUrR23faOui3a7iKRrI89KS5NsXbMaucZ14LEqHIogE45MepFcsWJR8HtNcvyzJWHb6ClkxRNbthNQxC5b1otcjiMymoOEa6O7kEfWClfd37x0aTcKxbz8O+R5WOG52B6NIW/NLTG70069KBRGXz9NeshtGynHlseVr81Kd0VSThFLwlEMhJ8tOtUSPjd7eA6yVgiD4ciEz8/y5UsAHArTnDs7YOOxetUKzHXi8XjFP1uzV+vhhx+O0049FR//+H/jnHPOlq8tXbIEtu3I///2t79DNrvjm+VXv/Z1XPLt74yqyN5x+6244447kU6nMde59dbbMNfx3DBuv/1xzDUojBgePsiLoeOKiO05YSf0rOjBXOWxWx7DPfdswvJjl2Dn1QvR390ONxy8rRiuh0Qmh+RQVh6bQiwKv04Ty6ZDyHYQLRSRi8eQbk/Aju54cd7y2BY88Fv+resQHrFj1KqILcQpSjrByGo0q3YUsc1y3pquh47tg7JALI7zvMyGvvV9ePxvGxDaPYUVB6yUr0UKRaxgU2ZXG5zSeTwXXqOP3PPUqOfUsh20DWbl7y1EwvBC01uc8fd3cl3093TU73FiE1quIKJ7qDOFXDI+zmv08TnzGp2K2++Y21ohlUpV/LM1OwMz6TR+fdVvsN/++w1/raurC67r4jnPeQ6uvebacYVssViUD0VpKWQKErdpHWlGKdsJeOFYtHYx5irb1m3DtnsGkdh1CZYtaUdvMob0wi55PJLbBhEbNGAv74QbafIKvOehJ5OHb1lI97ajmNqxGrAFj88Z6wsD7tlkN1HEVrOct7HBLBIxAwU+HzXw7/ZhA9oWtmPBmgXDX4ukc+iORpBe2CHnw1x5jZafU6toI7FtEOFkCIVkDKkZPq7RoSza2hLI9nagnoTyRSwuOkgv6EC+PTHqvJgrr1FletRMyN59zz145ztHWwQuvfQHKBQKO3xdUVodNkD0eAxpn6cZiNyaTMURH8zBN/pheB6i6TwKbQn4Vgts85mmHGs4V0Db5n6kWUFuS2DOIRFWwcQuGXbQxJi2g9hgJlgE1fE1VUzG5NyNDmaR72rDXCJUsGWBaRUdEbGzeVzteAzRTB7FVAxOLIp64cQisrOT3DIg53O+Iznv0ybmO839TqYoLQAzF3tcB0WZbjOPX1KmiWI8jJ5Hn0Hb5gGplrSEiB2BHY/CDVlIbR4QITPXSMp0OVfi4Jo9aiqSLYiYdaJ1ruZzMlwsgvhgVhY2cwVaaBK0aRRtFFKzE7HEC5nB0IR04DGuJ1zcUNAmtw4iNpCp+/0rzUVdTUB///uNcOzKo3oUpdlhR3WXy7GLfu1HtzY5husiPpAVP6PpuLAcF26ktYQs4QUSho0UKz4G5kxllpYC7hrwHbhZY7bK0F8dzeQaZknxwhZ8VoT7M3AioZa3GLBZKjWQQSgZDiqxVYKVWC448kW77s+VG6F88ZHaOgh/jjd3KU0kZL/73e/V8+4UpeYwHLwDDvrnu4j1PCT6hhDJ5JDtahMRwkpJpqddKrWthlQBPV8qPnPlIsn4s1gLWApIOF+EVWDlsPLO5WpjxyOBxWAoh3xn5Y0nzfja7LALiLASm4xWtRLPqqyRc6Vy3YhFB+/T8IHU1gFE51D1XJkezf+OpihNCkUBBx5kRmWizk/imTxigzkUEzGZzlVMxBFN5xDNtO7FxYlH4BtAcuuAbMu2MlHfQ7vMszea3lLA7Wo2XMkCopHHSqtQNIxYOiee0lYlkWf0nYscfaw1eDwpJvlaNxoUNcjniGMsmI5i1WpQg9LUqJBVlJng+1KNNeGj2AIVrlrCnNhkJocihV/JE+tbBtxwGLGhTMMucNXATsQkaihBv2wLT33iucqUglaYMBcq2gjniuJTbTTcvqZNJpLOtmxzVyqXR44ZsTWKvqP1gkI/XGjcEA026EXyRcnFVeYfzf+upihNSAKejFjlyMb5DP2wbXZRNJ43Jk/SiYYQytvS2dzKFJJxJLJ5JKcxireZYEJBu+e1zLkayhZg+F7TNAraUpXNiyhsJegzpr2HSYBOLe0xhiEeYlbRG7bYMwwUYxF0OEUkdZztvKM53ikUpZXgOEvXle2s8ljP+UoiV0Dcc1AYr3rGrdlYBLGhLMwW3pqloHJCVuAzbMGty5TnwIDf9A1eAmPbGuS3nAgu0OgzDWdaa7Ikt/sj6TzydUh9cCJhqchy96JRMG3E9w3J87ZaePdEmT4qZBVlmnA2ecovRRjNY0K5IpK5AvKcTT+BSOK2IyOUIrnWrsqyKhfxOPTCbSmLAYV3yvOQawURW7IVWAWn6aZqUahFS3FgrQCrx/GBDJxY9cf6Ttj05boINXjBmrUsiZhjY6Myf5jfV2JFmQEUsZQy83LwwYhty3h/MDJ6qm3LRjeDVIuMFUKH76CthaqyCc9FRKqxrfFWHypQgPg183POxivbaB9oxTDbdTAj1e0goqpOd2uaCDU6OcAwJAaRC0424yrzg9Z4d1OUJur+bqUKVy3jkfiRr2ALuBmaQaoBFy7cnme1x2iBqiwzjtt9D4VWOVeZVpAr7OC1bhZYJY4M5UQgNjOsijLbVfKQ6wgXrOG83fCqtW0YkuvNRZwyP1AhqyjTIO650v3dKhWumgmOTB4em3EqEUnlZhCKgBYQgJORgynNU/xodliR4keOUx1aAPormR3bbLaCkTFPXLwFVePmhVVR0/Phheqbbe2GTJiOg5DdeAGZNwwZG65e2flBc75jKEoTYrRahauG/jsGoE8nHokeU0Yq0QPpRBsfqzRT6DeUzErfRRbNPQSDIlbkdoucr5btSlNVs6QV7ADtDgbP/6JkDO+A58l7hOn68pl/i+EF/xbGLuJK5xL/XjmvTBO+acDj/cwwZYA+VQ5xsOtoKXj2znmeGTAlAiuKRlKAgU640s8wNM+H1cwHVMgqSoXE4Iu1YGg+V2NpK8jm5eI8HcHBn2WkklV04TT2GjdraCtp8zwMmF7TZgjz+Un5nmyztgoUQM0+WMS1LISzBRQTURGslutKFZnWGXOEeA1ELX+D4neSXQifi6PgRyhiy6LWM024YQtuNCyVVc+ypOI5lcDlYpGV7UKqemNop9v0FcrZQAcaC+O4PEPyk+X9usnPK2V2qJBVlAqhiCXNfrGtJQyHZ/c2u7inC+0FFMGFtsaNHa0GtJWwIksPXrFJq4etuOgK5x34dd4OrwjPD2wPjotQvojYYFYsBiIqmXdrmiI8pZpqWfDDrK5Oc4KaiODSh1R1mQBgw5Bs1mAhSEHLSivFrRsKSSPXqMVkaSIaxWSjhJsXCiHkONLY2ejnMm+Ysphj5nez754os0OFrKJUAitcngt7/mpYgRdw03Zht03fHsCmrzArV0UHXiO2PqtIUTx4HgZ9vynTKxi7ZbTQoovCh2Kx3r7OyVI5WGUNpowxdssNdiFME4bjyftBIVnFka/iI+fHJMfDRWQmH4hbcHKeJdP02NTFRisuMvn6tOON2/JwLTOoULuuZC83Er4u6ebggpOxXMrcpbWvJopSJzjNO8KLVwtVuGpBmE1erPjMAIoUI1dAyHFRbHEhywYqCtlYk1Z7WI1tfMtN5VD4UIjRS90oKBbp/2bVNVwoyvFQYDJon55Yitjhn6VCquMiQYZysPpafnxKVWJWhzGYleqn4TjBbkmMgWsNwjTEQmRS7EebY8GZYLWbi5AWWdQp06e1ryaKUifCvi9pBfN5CIJUhWxXLuyzgdWtlsfgBRsIiaBBU8GLdsz3W8sfS+HTiPxYvq5Z6RzMSLWT5yYFK6udTiI8rlhl5ZSVWin3NeoxNo3AYlAStjzu1LahIK/Z9VCMR+HEojImuv4Ykl7QDHCmHV8LLEQUm+2FqlQNFbKKUgF8I2zt4KjZw61NevecyMxLLfTJsusbSKDV8Ub4ppvtXKXAZgRRawnZ+kGxFykU0WkX0TWYRqI/I77vYnJ88ToS+mBZrWWzlxdqjseYUXgU2PmOhPhzY0N5+EM5iQyLsbpcx/OU1WPaMpoBjhAP+568HorN8VQpNUCFrKJU6DlsPslSX3jxlo7sWVTNWOmybFuERNPGLFUIK55xVuUaWZkbh1Bp98Btpd0DL6iE1hqed/S8svrq9aXR7zmwQyEUUvFpicYQg/9dd8Y2m2rDYzFcf7gBrBgKlXZQHHQMZeEWCoinc/IarrUPmY1vlts875Z+aXGnzF2a41WoKE0OBQtX9/OZakzs4UWOlSxeeFsdblsycL3ZLpKUKa12pkqIfi1fX14wxCO5dRCJ7UOyIMvHI8hbITknpwWPk1GvTSTWWNE2uRgYsTgUX20sglw0As8AkukcUlsGEB3Kisit3cEYEkPWLBPQ+K6l42rnNlqRVZQpYD6kyQrXPH+k2Agz2woUtz15EW2FEa+VXCATCIRsMw3f5XjO5pAQlWN63vQFZSVwoZEvylQ5jkhmNbWYjJXE6CyFcxOdw7IwZCDteHC0smkin4iiwwDifRlpCsun4rBjUbEkVBMOdLDsIE/Xb4JSGcdKR7Xha06jQlZRpoDvxWzsacaYpXo3etEfOLsbklAo2QZteZq04YtV4pZ6dDk8wB1dTawGTB9g8xOtBLQtsAGqas1kfMqbqCJLT2olglTyn8MhaVZLbBuCE8ujmIpLjNeshL3k4Mo/pBoro2qLjiz25KuzmFY2W7Tha+6jQlZRKqhwBVWuJlIrdUYuTp4HO1ydeKS5UJEllIzNFr5Ff2zzSKypCQYB0HtandcXBSYFbHSIeauQXNVq+28pzJrKWkDPeaVClBVajomO+LLLktg6CCsVR6E9Pql/lovPckyaLD48v9T05sESK4EM3JXP0UxBvs98W8LKLBs9WXV3whZgWiK8WSHntDSPX6tRoYA7aXz/boLisFIjVMgqyhSYpY95XZGVa1S1xGdziYDZ4HNx02SinBVZeiJbBS5qgsM1qlOFHcwiki/ItnmtGptEyDaJB1SYScMhBW0sEgj/TA7hYhH59mRQnS2llHAXhsMqKHj5/2VbULBDVRrkwNG6Ml6XXzB5AopYpQ2JzZ1yV/wdh+kBDsK5oGorh83nPBSM32W1mMKXv+eEQ1WdDCaHWrVbU5oNFbKKolRANcVacwm/2WI25fHMr8v2qCqsARSS8donSUgFsnl8/DNFUg6SMYSyRbRt2AY3HJIKaXlcrhRZQ4z3osCMVGTP8Ez66SlmR4jR8TZzZBxvUNmVDFwvI+cu778Yi8BhHi6PZzYDVHgeiPuneZ4vZW6/BytK08E3wFaQBdnBLL7xzm9h6/qtNbuPZpiOs31jH3791avQDPDSyEZAZXYP4k9/fC1uvuE/M67CJrYNIj6QlvgpGdHaBOfpePzp1zfj97+8sSa3PVGv16R4tBewip1BPJNFJJ1H++Y+JLYMyPcocIupWDAGNxyaUsT6vo/rb7wHn/3O7+XfU2IYQQU2xgzfGAptCRRSMbEcMCIttbkPHZv6kNrUJ4uUaiSnKHMPFbKKMgWUsa0gVeJtcSzbZSm+eeElNRCzpc3fJthGjyWjuPHXN2Fw+2CjD0Uelfnsna4KBnDgQbvish/+GTf/9a7Kf88PIrUYpxWyHanC1jojdRQzEMt7HbAzrvvdv2oiZsX+M424rnC2gOT2QSS2pUXA8tcpWjM97fAjIcQGM4gMZSuuPOfzRVzy/T/hF7++Gacetx+MmS4mOBY4HBoWtrQpMHEiubUf7Rv7EN8+iFC+MG1LT2uUI5SZoEJWUSpA3jKbQMRNBi8cL3rLadj3mH1EzG57ZjuaE2NWld1EWwJLd16KR+98DM1AEzklhbL7sJXYY8+VeOu7z8IV3/8T/llJZdbzERvMioilP7MhVdgZ3N3ylYtwwUdfKWL2D7+qnpgV//5U708clFG0pfqa3D6AeF9avOp2LAwnER1VceVEMC9MMZsVQVtJQsN3Lr0GfQMZfPJDr8A+a5dX60+TxUkxERVRy+ptfCCDto39SG3ql4XMlMfWaikeyrRRj6yiVND1yqqbNHw1+aNVFrNdi7qQaKt8WlFF25YSN1WNiwLzJWcnOnbebw0evetRHPC8/dFIWKtvBrvF2NzMGE/U5jqsCeHjx3Nq971W4i0XnQNzinODfsrYQEZEDLe861qFLUH/6Exzb8tidsvGvioe0OSPWdjzkEjnEN9mymuYItXhON5JoE+VDVzRdF4quIWORCB2R0D7wL33r8Nee6zAuS87Du1tcZg88bKFmiwseP/8kAltBRuRzTwHosi3J4Kpg+NQPgoVs3MXrcgqyhRQxHot5IWkmD3mrKMRjUfxm29eXRWbAT1r/KhWduZshewhJx6MfY7eB42GF223yRQjczNb6Y2dTUQUTKbnY7e9V2HXPVfijlseGNdmwLzU+PYhEbF2onapBBUJ2VncN8XsAYftjkceeAp/vuofsz4eVirHE3JMGkhmC+goFhDLF0Wc8nErpwlMheTvJqMI2TYS/WnxI4+1Enzr+3/C9r40OjuSMM1AKPM59Wo4Ilka1FilTcUls5Ze2vbtg4i5zg6Vaav0mpjvA23mMq30fqcojavIGq0lDojBSBzPr45n1jSlkWbWsVlysQ3iemYDrQW7Hby2soaSWsHKVqkC2kxwlHJzHdEUSIQThdiz51YiGRObwUgxSxFFTycrcfRPVjsbtt67CiQWj4iQna1nlrFVhv/s48cFJ6eZJeiBLeThGCYKM61eGyXrhucj3p8Rb+1T67fio5++PLASfPiV6OluG5WgILmx9XhdlI6N/uiw46CnkMdCz0FsxPsCc5X5mrBb61WhTINWuzYrSt3hG3IQqt1ajPXMzlbMMkR9ttmZrLpVq1rzw49cijun0xxUZXiB5MWx2S6QrBA3mbaeEscaXVFkZZY2g7KYlWSCviERaMMjZhtJKT91toz0zM5GzHK3RPw/9MEWgseK/lbfMJGLRmVs7Gyhb5aVc9o6in1pHHbwrrjogjOkEjsSaQgdzpWtE6aBAi0GVghJeFjsFtHpOiKqOXkvV42RxErTokJWUSogbxjBKNIWFbMHHX8g0v3pWd0WQ8tn+whQCHMblB+zhT5g+mQbRRi+VGObrSLLoHo5VVvofJVK4ZhFUlnMDmzcLk1dFLpSGWw0XIzJ9nZ1lrZlMTs0kJnxDgNHR1PHRgcyiG9Pi6fVTjAyq3rL71zBxsW/vBG3PLwe+3e34aXPP0CsBDsejAfPqN2krsngzlma1WcD6IGNhZ6NpO+iUEObg9J49NlVlAooGmbLvlgoZk/+fydh1V6rcPeN98y4Mitig9vWs7AXMAfSlu7oqR9N3o9ZdGAVbYRzBUSyBfFGSvB9Oofd99gJj93+iGx1sgrFn+MUorGCqFaEfCDXhBdIVojpCWypTl7LGjfaba9dluKlx+6Lbf1p3Hjvk2gGTM+Fz6lVrIJWCYrZl77+hchlC7jpujun/fuW4yA2lEGiLyM+WOayVlNIPvnMdrzvq1dh+2AWa1Ytgs9Eg4HAZjDeKFu3ntXYcXBgYhAW4p6LBa6DlOfOamiE0ty01HudojSK4arbTEZBNhGP3/24DBM4/0tvRu+y3mn9rlua1EOf7Ewv4vRBepzzPo7ANV0XluPBsB1ECrZ0p0s2pozFLLfhly9GBvZd2InvrN8G76Gn0NGRKo3KDBqHOA3IjUTkos5KMo+9EvE8HazSAqcZhSw9gVIxbjLbw6Rb42OOddhO4PvYOJTD9350LYpFB0cfsScaCaudfB3QIlNt+rcP4f9+ch0G+tI4+cyjpv4Fz5dFXdlG4EbHTNOqAlv6hvDBb1yNFx2zD858/v6w6Jcvnf8Us4QNZKNe47OZxFU1DOQMC4bhoMt34LsGtlmhpnzNKrOjGc42RWl6ijBFIIRaSByMx2nnnTrcADZtMWuacKIhRDIFafyaNqWKiIhK34dlOwgVHISzeYSKjghXaaKRaT+h0napAS9qjDtRKNQWxye//lZEezvAupDh0Z/niQ83kivCSOeCuzVNEbSFeBRuNAInMvs57kaTNnoJBi/gBjpYmW7CwxsPboHzuWY1jwsRphOwS75sJ9ht12W44K2n4ctfv1p+vpFiljsFNn26NWDpTgvEZvDlj/9U/n8yMcvjiA1kRcg6sZDkrMb7h6pqJdjWn8HyRZ343NtPx7IFnTs8ZxZ8EbNcRDIKrYwfag5pwcVc3rCwDRbafBdh18dWK4QsrQ/KnEGXJopSARQsecNEtMW3p0Y2gN17833T/n07HgsE6QweB1ZbWVAN5fIyoaf9me0yrYdd6LwocjQlL8bFVFy2Rvk18dJO0qiSaktg4/ptQfONRQFsiVAtB6jzw+YF1gcS/Rm0bdqODnoutw6IVWGmNom474mtIN+kSpGewFa6VMuiJWTKtr3kxPZn5PNIT+yeu+0kYvamf94Pr072kfHgLgG31mtF2TN7920PI5/bceueWLYrvmGKWDvONALmq1pB+kMVIvLKVoL/uz5ophwrYsuUhyjEBzOyMJWFCCu2VfDAV4MwPGQYnGiaGDQthHwPix0b7d6OMV1K69IcyyZFaQEypol2t/XTCMtilp+3b+yD73noWdpT0e9SFDJMnRVUdjFXhOcjXCgivm0wsAqURlDytma7PfvA3U/g/376F3zsy+dP+DO8D3bFy/GyEuy4Msc9NpSFGw1LdA/FACOMKiVi+NhmBlXEZhWy3Dmw/CB6qNmR54jnVb6IsHwUgnSCMVDM7rF2uTRFPfDQeuy+dlldj5Pimsc6djBALcTsez/1Wvn3g/c+gd32WjX8vVDeRmIgDbPoyoKtvNCTRVw0Io+hE9/RvlMJfFyv+/dD+MHV/xy2EkwFX1f0sEcHsjLi1g8Z8MzGL6N47jMDPDfiWDKmhZjvYZFrI2T66DNDTfsaViqnOZZNitICjBQHrU55Dvrt196Ob7zzWxU3gPEizhByNlZNeR+uL81Zqa39SG4ZRCyTR6EjiUJbUHGthsdwlz12wqYN28VTOO057qm4jGpj1iYrxKzSsmlsKiK+h4JvNvX2ZAEGCoaBSNPPonsW2lZY2SsPO5jIi85zd8Mz2/Glr12Fv89gV2G2QpYV/3pUHPl3Dvan8Z0v/mo4mouCkecrHMaQPStiS78gCzJpmptgylUlPLxuM9776uNxzgkHih+2Ergo5Wsn3p+GywVeg5u9SIzVWMNCccyuCXfWsoaBhb6NXs/WJrA5gApZRZnD4mAqnv/K5007Z5YXS0YPmfYE1Wl6VLMFJLf1I7FtSJpjKFIKqYT8bjVJpuJYvmoRHr5vBh3tjM6KhcV+QHESS+fQtqkf8e2Dkwp1hq0PmVZz+mPLlGKIIi205grZ9HxmxGs51bCD5ct6xWbw48uvr6uYDewOkbo1fHZ0tQ3nzP7p8uuR2B4s2CaquNK7zh0TphhM10rwpZ9eB9txcd5ZR2PfXZdN/7UUjyA6lBPbQ6O37SnmGRaYYWPXOM8VB0Qw1aDbd9CjYrblUSGrKJXCColsTbWQOpiGZ/b33/lDRb/DLXhuaYbGij3fl23h5NYBJLYOioBl1YjChBc32b6vwZbsPgfugqHB7Kxug9uyrNBS0MYHMmjf1I/YQDqI8xoBq/F+aYuy2SmwMlaatNTsiKVgKDuqYWgqyp7Zn//6ZgyVGvtqCb2n0jg4DQtKtWwG73nv2fjrNbdj/Za+SR8jGSmbiIp9plIrwV/+9aCkEixf2AlrFrskPoeD0GaQD6LyGkkUvuygsfo6EbTcUMz2eCpmWx31yCrKNAgafFjp8uZMjEtZzNpsunJdpPvS6OjtmPR3uDUfTeeHx4oykovVNFZkKPhHevdYoeXP1SrM/kUvO65qtyWCti0hjStspolki8iNmFwUl+3KSNM2eY2Ex8jzlZ7AZrZBSPc9h3XQtpKMi/+60ggpitkvfPI1iEbC2LZ9aNSo1GrDJAWKSKeKQwYqgXaCtW0JXPyRV8BqS075d3IxxuY5Vo+nehx/9de78Ieb7sVFrzkB++yydFbHGXI9ePEw7GhU4sC44K3mQIbpNnltMSIyIGEy+P2BUmWWG21bzbB6ZluQuXElVpQ6YRsm0mbrpxeMJ2YjsQjuvO5O/O9bvzalzYCVl0IyiljRRsx10D6QDi5e0XDgbxzh3QvZNtxYRH6nFrCqdO3V/8RgKdOyGrByLF5g20Hbpj6kBjOIuux0BgZYjW1mW0EJNrEMmCFpTGv0Vu9kRIeyiGYLsvjhYme6XfcUselMHh/875/WzmbArWrGbk3i3a0FbOyK96VlahdFrOO4+NT//AK/+f2/JvwdWgtsNn0VJ7YXPLN1EJ7n49gDd8EX3nHGrEWsYDsoMt4uERERzee1Eecdiwx2KYKuEihmh1iZLdkMmvm1ooyPCllFmSYZM9jIaMWRtVNx4PEHVuaZNYOmr1ihiIX5XMlGENuxAkQBYLsoshpbhXnvE4nwW/5+Dx6654lq33BJXEWQGMxiaT4jVc5sC9gKyrAiW4ApW63NSChXFCtHseQ79SLP5slOh1Qyhrefd0rNPLMh25Fjq9VibMKILdpbPH/YThAKWbjgLafiT3+5c1Ixy/QAyXkt2ONaCd7zlf/DA09sRG9nCl3tidkfrO8H2col2wWbvyLpfN0tBjwGWr/6jbD4YCvFLYnZbs9Fh9/6yTTzDRWyijIDccCqXEKmTc0tRnpmf/DhSyfM6+QkLmZYstjHioYdGb9KSR+tFw0FQraGrN1zJR6q0QhTinNOMnNgIQEPbV7jm1kqhQ1pg4bVlDsIQaB/eriKSBjBxfNlus1KIz2zFLNPrNtc1WPlqORCIlaTaV7jQSFPqw7vd+TULLJi+QJc9M4zRMze8Z/HJvV8s4pctv/kiw6+esUNuOxPt4qVYM81S6p2vBb9w3ydlBayfJy8sCm7NNL8VScSroMhw5JGx5llhRvodR0k+BpXWgb1yCrKDBgyQ2jzPIRlG8uck2KWGbOmacIu2giPaHBhY068bwiRvI3+9iTcUBhLxlR+BC+oxmZ72iXsvpas3Wul5MnWAv4NPPotsZj4ope4RYTMEPpbJIMybVro8Nym83WXLQX5tvjoKng8ItvpmEH1k2L2Ux95JXp72lHkqOMqNBcywUK268cIyprh+4gOZhAu2S3Gg2L24x94Gbq72ib8O1kVtRJRxGwHgzx/B9IYyhTESlCVKuwIDPqHE9FROzLMtGWUGp/nbFeq5pYMVs1ZWe2fRb6zDBLxXSzwHGw0mFLTPK8XZWL0WVKUGcBu2EHTRKIJK13VErM9S7rx1INP4/Ov+cKwzSDIhR0Q/10+FYNnmkiHwhKAPjaySiZ2xSI1r8aW82T3PXgtvCpMNRoviSGbjCNvheR5z5QyKBd4dktkClO88uLeTOeqLIZGWApGIvFbpWalmbCgt0O20D/+2StmbzPwfRmjzKlzlTagzRbudMSGgoldk9lxKNZN08BXvvHb8W0GFGLJGP6+biPuG9iGnRZ04oNveGHVRaxk1vqBcB5LvSwGrO6Hiw4Gw5FZL9ZoHWKBotdtjde3okJWUWYMG2m4Yo/PYU/V8rXLsPdRe4tnduDh9RKtxfd2mbpUEiCOaSKXjIm4NUqTz+iZ5cWFCQC18saOzZN9yaueD7PKW78Szh+LyN83NoOyy3MlUL0VLnbcQWAGMhMMGg4rjumgEahsKRiJDKyIR3bwd04H7iS88pxjZu2ZpTXGjTFubscpY7UgVLARG8zBjYYqtjG89Mwjx/XM5vNFfPPHf8Fv730c7WZo2GJQ9WN2HPjREJxxYsnEYhAyJaO5GqNzJyKSKyIfjyJrVWeTecgwkfI9dGnzV0ugFVlFmSG0FGxnV7gf5IvORco2g/0P3wNfe9/3kJ5g/GU+HkGuPYlwrijZq6FcAfn2OIqx+jXH3PL3u/Gby6+vqohl80q2pw3eGFEhsT2GiU7PxYIWqNzQ/8dxnIwPk8lPDYQV7mi6MGkcm8Pv8TBnMaFqpGf29rvG95JOilhjPORT8bp4Y+mLjTJ5g2OFp2GJGOmZ/csN/5GvFYsOPvbZK9DXn8abTz8Gy9o6EOHCoAZilqNyC/HYhAtWjrA1C47EiNUCWjDozc22xatn9SkNFOFidS72Qsw16uKRXbVqFbq7u/DEE09i+/bt9bhLRakLXLnHzKA6N9DEWZ2zgT7Gc884AvfsvhwR+l3ZoTz2gsFGCdmy9NG+uR/5tgSKHAFbRw9pLBbF7f+8vyq5srw4Mosz090meZgTxlvBlC5nXuu2mOEpcysbCZtgEggh5bvy74bgeYgOZiVOajJxyHQALxaW6DZ6LWcjZt97wRlYuqR7/PN2iiofB3rUwxoj95fJIZy3J/TFTiVm33/hS5BIRLG9b0i8s6966bHYc7fleOLfT2AwFEYhHkEn/6YqJohw8IIXtqSCPCGlNApWZZ0YfbRmVVMv+LdketrhZKffIDjV4o/hGRyYwJ03+m+V5qSmy8yjjjoS117zZ1z6w+/jEx//OP79r1vwpS/+Dyxrbl7wlXmINBcE3snkHOx05YWCs93ZkbzbIbshPZjFFz/yI2zZOM6C1OSs96h0d4+tYNYD+mQ3bdiOATYKzbISywlJcnGcYtKUP6IyywzKRlc7J4Miu98KsSYrjV+NgOKQfskpxaFpyHnEat9sEyJ2WbMEiXgUP/zpdRXbDKTByzJQaK+PNSawFHCyWWjG90fP7JW/ugkf/fTl+PVvb8Hee6wQi0X5PKXPm5YNVsRnU+keiVmw5Tan8g/TdsDnMpzNo5o+a06t42JzopG9s4UjblmRVYtBc1PTq013dzde9/o34NjjnodTT3sRXvDCF+LFLz4d55x9Vi3vVlHqbjHYKt4sA9E5tA3FSUbJvqFROZbJtjhW7LwEX/rYT3YQs/TA0VO4feVCDC7uEpsBO/7rBX2yy1ctwsP3zTCGy/cRSefkopzpba/44kiRwMp8l++i06tuVagW0XHbTQvJBlgMeH6wGisVuQrEGhdFbjwiIq8aHHbI2oo8szxOq+jKDkMtRipPaCmQ2KyZ3d+6p7eIgO0byOC8178Q1/z1Llz1u9GeWS7O8h1J2LFwsM0/SzHLaiwXuEwrqARWbaOZXFXiuHj8pufLYtOupX9ZLQYtQU1fpb/5zdWj/v/RRx9DX18/ehcsqOXdKkrd4QjQrZaPxa4NFx6aW85MDS/m8f60VKaYRzn8dcPA2a85Qf5NMfuS044Ovu75iGTzyLUnkO9MiSjkhTPRn4HnOEFHcx225s497xR09bRP+/fYIc+LozR2dbeLr286cNsx6xvo9ZzS9Lfm3XUaNEOIuT7afVesEfWyf0RyBakGMgGgEnxWRJMxJLYNBqJrlpXRsmf2y1+/Wrr9d1+6cJw79eU84ECBejV4hXP5GVsKyvzl+v+IUH/xKYdKFZae2c9d/H/yd+7V3TP8c0yDyHcwCiuLSC4vE8Bm6v818zbynYzfq0xGcFHA3Y5QNg93xNjnGe2YWCbSve01G3s9nsWg23Nk562Z7UPzlZovN+PxOA4++CAk4gmcfMpJGBgYwGWXXT7hz0ciEfkok0zO/IRXlHrC4Pmw6aPXt2GXql3b1m1rvSfB95EayMLL5pCL0U+341b9cUfvj3goDGeoINt7+cc2YT19mHnA35Ybvh02mCSHMgizISQWFt9pLYkjhL6n+5Dflq3sF3iMRRuW6yObjCGb8uAN7VgBrOR5pIANwZXYniBcvTl7aXkh3maFEHZ96cxOj+OXrfZ5y4VO5/ZBpDnmdRqLBP5eW/8QQk4/ilPYPCphUTyB1591LMK+gYFnBuRrmx95dngCJ9XZYQuDyYQMwag1HCTQOZSRvjZnmtXYgu3ghjsfwrH7r8Uxu6ySRSb9sGVeefyhGEjnsHn7ZlDulf9ewgSDeCaPWK5fGqU4iGI6hEpV1XTRg7s9O60qrrWhHwNdbcPDE6ZV0S8U4YQtpNtTsLOjK7u1fK/NGiY64CLpe43zlyuNE7I9PT34r7e+Be3tHVi9ehW+8c1vYdu2iU+4t/3XW/Gud124w9cPOGB/5HKlC+QcZfWqneG59evybhSrVq+C683Nv5PbtR2FPHYvZNG1YgkeuuYpbMNTaCUSjoPuYh45+iknqT4shAHPy+LhwY3I/D0H745BieIai+V5aHNsJF1b/Jl5VitrVNWwXQc/vfsWnLPXIUiEJxc+lu8h7roomiYGwpEpj2uXXXZCNBqHNcUFOGEXsVsohG2xBLwmFbMk6jroyQWNV4VSbJHveVi2rBePXLOuqudtzHWQ5jk1gyES/N2uYgF5a+ZB9yMp1/D+NbAN7Z3tWLItjIFtGxFxPfAK0x+JoGhyhEDtSTpFhO2ivNam85rYks/id089imQojO3FNiRCO76fxksfT2UGkAubWHvLRgxg47M/wHGunoukE6RuFCodJOD7iHuuNJDlxrnfqUg4NvrDUWSn8btR14UFDxkrLLnV473PTOc1OhOijoOdDQOb40nJz24kq9cshWlVx3LTrLAI2jRC9umnn8ZLX/YK+ffOO6/BVVf9Gp7r4mtf/8a4P//Vr30dl3z7O6MqsnfcfivuuONOpNOza+Jodihi/33r45jrUMTefvtDmKtQzDJf9AgfeOSBp1uq2zXs+1jk2dgKf+qKos8LcQH9KRe3b3kGp7zmJPR0TbCtT6tB0UF7Jocex0EhHJ52RaZSFmx8AOmdTCxbu3TC5ydiOzA9D5l4DH48iqRlYrK9H1azHrnnKTz44HqEwuGpFzNwsdkIo89q7gUbx+0udosymnNkkDz/zmrCiLJBuONWf6ek1Dku1eMqCoj+YgbXbHgCJx+5L45/zu6wHA/pjgRS3IWoA6xOdvQNwTONaVVE73tkPa781R147uF74AVH7TPc0DURuXufwqVX34Qtyxfj5OcfsMP3fdcVy0db0YZjWXCmeF1G7SIc00IsmUBkBnaPsG0jZhnob0tNKZz5Go2VjmsoGYMVCaNjgt+Zzmt0Rvg+OuFioxmRDPFGYpk2br/jNsxlUqlUxT9b12eDHtkbrr8BRx9z9IRCtlgsyoeitCp8c95qhjEYT6AzbCELozXG2Pq+CIaEaWLICE365mAi2JbuRwS7rVyBaOcgrvnFdTj/S29G77LeiX/PcWX8ZjSTl6EJbtgKgtSr2Bm+z6NPYqhYxNqj146+b9tFqFCEwecjGka+IxF47CpYaGx6aCMeuufOip//jB9kULLKywarZmXItGAijIUuqzvBCFvDNKsqBDglqd1wUUQIoRku6nIISUU/YQB8BqvBIiRx+oIeXP3Pe7BkWScOPfFgmCMGX9QaNnjFY2YQU1cBHHAQClvYpyOGdy7pxF57rKjo93YDcObdu+FX6x/GTlu34vRTDp3AG1yUiCy+Rvn6GM87y9csB1XketrQM1Orh/jpC8gs7Bh3Glj5Z8KFIkzXlxxfvlYXTCH2p/ManRG0C8nr2kHGsMQ+pDQHNX2HbWtr2+Fra9aswbatLegbVJRpQDEzGIlhsxFCjFtxLTD9i8K03XeQweQVGQY4peCi37AkO9W1LDzv7ONw8AsOQi49uf2HiQBsphpa1C3JADBNEbVs4JjpSNKxrN1rJZ5+cvOIEaO2zHvnLHaKhqFFnfIh3c61sjgYpoj9btcWD3Ezw/zjLWwA48StGqRucBvagj+rCz/F6yBHh8Kv6kVrTTyF804/ClscN5hWVyfYuc/z3qlwYMhT67dKKsHfbrwXnR3JikVsmQWxBF594nOQzRUkT3cHDAN2IopMV0qazizbkSxl03aejT/zfVhs1muLTcvnvAOmAd805PZ3+JbjynsBHxu+V6QXdAQDSeqQHlEJ3KWKsoegydNJ5hs1PTuuvOJyXHvttbj3vvsRj8Xw4jNOF5/su9797lreraI0jZjtt8Iy0pQNQG0+t1bN6k2fqSL0yHX4DmxM3pUbg4uQD2wzwhgwLXilN3Q2mpz0hhPl33ddfxeW7bps0sqsGwnJBzvDWSVl4kEkU4CRK8pFjjm0bAyTqKZpPF5sCNlv71U4cM8VCFFU+4z9CSPbHXQ48z7rBZ9rbkUO+S4Gjea4EI9L6TzleUkLAL2z1YIivo2V3irIT2Z6xvwg15P/ni0c12t5PpbvvQp77LUcWzf344mH1+PgI/dCrQnlCyLapswp9n3ccNO9+OmVf8NJJxyI447ee8b3ubi7HUectD+G0jncesejeO44t0XBmOtMiYBlTmuEHzIcxJQqKYdUVGMByNchK8AUzLQYMeqPC02egzKEIhGTQRj1mKg2XTjqud33MMgRy034Xj4fqem761lnn4NXn/sqvOQlL4ZjO7j99jtw4YXvnrTZS1HmGoxiYjWqx7XFO8lt52azGiQ9Ry7sgxNUY1lRo4Dg1vNmM4TMJL68J+9bh99887dT2gwIL1S8MFJk5tsdhIqObF0yj9ZyHITzQYWQ4pYf8m9uLfOfPj/58pleOvknRXDIwuPrtwOJKBbtsrRhF0R/eCvSlXi2Zt+KpO/PhYHd/MA7y2zc2QoWnlPl84reYaN0LvFz+ZZH3oM/4jM/eDzyb4OfWZUNIeLaiMCfucWA3m7fQx6GNHZxWAL3Dvu2DuDH3/qdjHc94rn7oaa5sRSH4an9wv0DGfz2j7figvNPnXYVdiIGBrP4xa9vxuBgdnybQUnQFsMheW3ytRgdyiGaziEfi4j4FM+7ZUrE3rQpVXg5HCG+PXj9U9hmO1NSFZ5okl6zkIOBTjaKyoJKEwzmvJDNZDL45rcuqeVdKEpLwC2pZ6wIOjwH3Z6LWBNVZ0O+hw54KIybKeojBg9hP4gXo9ixpzjm084/VSpJ37zwkorErMCsxkg4uIjRM+j7MF1PfK2W68KUiCxvOMSdsUwibClcOQIzHBK/LUUsK7l///XNsIs2ztp3DRp90eOgBG5FsurZCouu7fGEjOTsYNTQFBX6UdDGIRcVHyE+f/DR4xTR4bmIm57UZIeF7Ijd7fGErPzbeFbIcjljw4Bb+jdvM83tcJjytUoFt+mzk5/eZRPb/BDipbQGsuueK/GWi87BNz53pfx/rcRsqFiEWXCk8jjZgIOn12/DEYftjs99/NWwqrgQW760ZzhnlkwkZgnFqhOJwIi7SHNcswyocGSRaeTLk+yCzOhgmp8hz9tI+Fwz7ouvZ/48zye53WhIbEm0D9hxLjZbRBQaBpzSYk92BprgPXy+08T7XYoyt+AbOLvYC6aJLtdBO7dcfYqdxr4ZcrQuR5aO3f6OgNU0X0QNq7AUDpUcJ20GL3rLafLvB/71II46owIhu+ONBKKUGZfyhcqjWMjO+++M333792g4HJSAYIRtxrSarhI/Hozi2miF0eM66ICDnG/KOTCZaOX5E5UFjz9ccaVo7IUj570LXwQohWmxLHYmO5dK1VveKwUxJQ79sVKX9YGQ52GnUgqCXbpN2+T9lD7Gue0IG5rgSxWNY6UL4/gcd9t7lYjZP/36Zhx+zD4wq13J5zFkC8EibJxjHGklOO3Eg+Vr1RSxZVYsXyBi9seXXY8Tjz8A0Yk8r8MDIuLIdrUFo4PbAguPLDS5yHQ88aHz37IAFW1bWpJIJR1iH6BdwBtebAZ/E3dguHhtGRFbgg2crOrHmO5SpeZDZeaokFWUOsNt5pxlSnMVR5rSR1nwTane1VvQshrbDjcQ0yXCJQFLgbDVoI1g+tviZTHLz1vXb5WvVVSZrRJr9l2NLU9vweD2QbR3T3/SVzUJqpusyrroa0LP33hQcG+ywiJiu11H/N0ZGIgYQITZo/CGRSzPDM8PxCMrpNLuZxiIGh5s15DzfWyVbkrKAqgkfkd/D8iaFgriO/fktimiDeooA3BgyAd3Qbh74PoGYgabzYDtPJ+5EzKJ+KCYZcOg5/l48J4n5P+rBQcJ0Bs63uQ4itjvXnoN7rrniapaCSYTsx94dzAu/p7712Hvce6PotuNMeEjOSpZhBVVDoxwSxKi0BbsogTfDCLo5J+y+J140UJPPKcH1tO7Xg14rjOHOsFkkhZ5Tc9l9BlQlAbAN3hGH623IpJL6JV8VxQ7bLyqF3FWXPygo5yNXGz4snygz2BVLoIBKzRjbydFLLnjL3eIzaAsaOtBoi2Bw046FNmByqcO1aNBpJ7PbTXOUVY82dQX8Tzs5uWx2smjx7Ol4c/xTaRhSVQbFzsUjnKulJ73sBekUExbxFZybPR6WmERtKzlUSzzGFj9pvBl5ZWLxKVuEcu9gnioOZGJ359MxI48d595eovYDG7+611VO25aZLjNPtazTV8u73OfvVbhkx9+Zc1FbBneZ19/Bt/87h9x1e/+Nep7bMLkceY6k1JFreDGgg/62emf5d84QeW5jKQX5HdML2gF+JpmMaIs2pXGoUJWURoIt13pO33aioio5QWZ4rKdvkK/tqKWF/deryhxMtwmc2BikxkRAdtnTe2FrZTjzz0e+x6zT93F7NnvPguLVy9GM8DtRy4U2CDS7JilBdUit4idnAJ6PUeqmVuMsIhBi9VSVj4ntZr4SDByq4aXGD6SfO3IIqz8uLICS1sK04KZ52uY8jN8nXW7LhZ7tkSi8bU1VSza8pWLxGZwxff/VB0xW7IVjBSFrMJef+M9eM+HL0UuV8Dhh6yVeK160t2VEpvBn6+7c1jMMkHAcHzkO1NBznONcJhekLerFr1XTwowJK6O9gKlsaiQVZQmgBdaNto8Y4WxPhSRXE+KAIpa+ivZWMCLNbdyh7fwpglFMd946YmlUF7gu4j6wEYjLFXhjWZYqsTVErBjbQYUs3/8wZ9RL7Zv3I5f/e+v0RRw29035Hmc6fNXa+hz7XRtLMxmsNQripilgB2gGLTC2GqFpWGRgpZnSLvvSiPg6BatAFZEoyV7Si3hGAf6XSlcOW6VPtgEM5sNoM8MYZsVke+zWkuPtwcfSbgyAIIT7JJ2USZsTUTZM3v1FdcjM0VG8lRwchitBWUhywEHl3z/T5Ig8KbXnoA4h3M0iLJn9rq/3Y2tG7ZKM1qulClbS/hYGI4r9oJWo9yoGy3tPCiNo7WMKYoy12FkE/19lol+Ck+wkcaXlAOKWv47WRIOomlLlakgoujZm2HDRblLvPxB3yBFKqOzuA3MrVf6cgdHdG7X7s8KxCxj+FzHxVDfEDoXdNb0PmPJGG6+6mYc/6rnNdwnS/iYJ0X8hZqmQYTboqwSp8TDG/heeTYN8OwZZ9oaq520m2R9S/yBKXCIhideVv59ZT8r7So8/7w6/JkUy6yOdYtwdrGd3l7DktfF6D+WHl5+EDaQuehwbBkTG9+elOin8abMUcx+/CtvQSQalqzZ3oUzO28p1tgk5cWD7Ng/XnsH+gYyYiWodxV2IjF78UdeiZgPPOW6aEvVYUCEYUjzHnNk7QRaDtsIBsnwvVrTCxqHVmQVpVkxDGkUYpV0ixXBOiuCp0PBxwYzgs1WGNuZJsDGF8OU0PnyB72DrEhtKVXRnuJHKPi8yYpI5zYvILkqzq6f+s8xEI6Ecfu1d+Cr//X1mtsM6JNduvNSPHrnY2gGKAL5aLNy2Gi4rd7uOVjuFrHMLUqFvsDqq2mhyIXNFFV5uyRonzGDaj6FIxsEWaVlRZR/Yy0Lz0xGCAS4J5XffiuER8IxbC35zb0KX1vZUAhOKJgul9o8gOTWAZksRcE5EorY9GAWn3rPd2ZsM6DnlML+pn/eL0MJTj3xYFx0wRlNIWIJ82IpYgdTMXz6c1fi97/8e13ul0NPmHrQivC9NloqOCiNQyuyitIqjKwozbLSRYtBxPBHpRXUi4NfeBA2PLphejmzM2Tn/dbg0bsexQHP2x/NQLHBFRxWYMtpGQmmZcCQwQczzTOmJSbDD99AtGRP4OCMXt9G3AiGVFC208dakcAch3IEF201sinPfFk/SCXgB4d0FIO/DjnTQ7fniOe70ulfzB2W8bSeL2IuvG1QhmiwE9/m5K1ShTbVnsB57zl7RjmzFMbOYBaXXPk33PPg01i6pBurVy5Cs8ApXsxmzna3wUvF8Nb3vxRf/vhP5Xsnn3l0Te9bJnvZLgzXbbkYLi5OmfzCnTIuBJXGoBVZRZmHsNlFZgs0QkyN8Mxe+tEfweNUrhpxyIkHY99j9gXmewWHlhTPlerrEq8Ibrz3w5JKalWGckiFM0ji2GqGZKdggxFBv2GJ0KQ8YQWVApPRXfK5JHr5ER/x7/L3UnCDrE6xKRhyO32GJR5d5txuNcOSqhBM+Ar+hjxM+Xpg4wiGMFSMacjIWIpaZqKmtrJCOyg5quXyctkzywaw9U9urvimtz69BR/6wi+wfTCL//7QK5pHxLIBLZOXhy/X045iyU7ARrcLPvpKXPe7f+OeOx6p6SFwIcHHmx7iVoQLtSh92UrD0IqsoswzuK2c9H0UGziEoSxm+zf3wzRNFDnTfYq58zOB1oJyd3g5DqwZKjisiO8wZKAWSPOTJ5OwmAXLEQCDNZ4oJxcVie56NupKKqqlc08qrAaD84PhCfLjI1rG6LOVaW38bNIDzlzY4HMlUNhuM0NSdaYYZuRWpb8bHEwgaB3PR7hQRHhrUZqeKHCZ/0ox+5EvvQk9CzpRLNhiO5gInnfMo22PR/HcQ3fHCaccIud7M8BRueFcHm4sgmxXCm54tBygmP3A59+Azu72Kf/OWWEaUg2W5IJa3UcNCVIzSk24TfAeMx9pjleUoih1g9VACqkZz6qvEhSWXYu6sO7+dfj8a/+nZp7ZH3z4h7izilmgs4XWkHrEcHGbf6FnSxWWTWa0ELB7v9ZjkWU8reGPymulkOT5xkpp1jClkjpohtBnhuVje+kzP/h1fp8/xworf29aQrQkhlkV7kMoaJKcSQXcNGDHozI+lUMMWJ2N96VlbDJFrOt6+Mz7vjehZzafK+KHX70Kv/7ZX5GKhnHq8/ZrGhHLpAaKWE7synD07BgRW6a7twOmaeDrn72i5p5Z095x0lorYJeaG7Uq2Dia41WlKErdCJdEVK0FTaXstPtO2OfovWuWM9u9uFt8ss1WwalZkLrvS8wXhwGwEkuvKLf8WeWs1/nFSV+NhkJ60LRE0LKxcdpWg/LtmGaQaBANIZbOIbUtaAizTAMve8OJ4+bM0nZAkdvfl8bxpx6GcMHeYQhCQyhl2ZrFIF4r25mqaNjB2a89QWwGtRKzrdzwxTQYxs3xQ2kMTfDKUhSlnrBS10xutJGeWYrZ3CzzOsey8/47N01yAWHDHquWtbjwlauwFLGEQo52hnrC6mfzOAaD6WTMwGWFNw5vZtVZGctqoZCKS1NYYntQnd1jt52GPbP/ue1h+TnbdvC1z1yOQ47aC+/40CvQ1ZYQD2hF07FqiOW6iKbz8CIhZHvbUWhLjBuxNh4jPbN/u+a2qh+bZ5pBnm8N/fI1jRAr7UQojUGr4UrLwooWcy+tkgcvyE71JfifXzfGWamVM1e5ii5PAGIkDj9LdzU4tajx1aSaIbmhwUjaZqIsZvd8zp6Ip+JV9bSu2Xc1tjy9BYPbB5siT5aVUTZbcTuSKQZVq8L6noyP5e3SB1uvCuxYKNCb7TVU9s3mfU+ixthwNjRD3UH/LFMIWJ0NF23ss3oxLvjwK9C9oBN3/utB7H/obvjwF9+EBJMQZCwtp2R58Go4IWsy6D+NOS5CjotsVxLFRBx+aPo1LIrZd37sVWhrT1Tdc86qN8U+39NbUQ66pUUkg+GU+qNCVmkJ+AbHCyRXvayoyGhANotI80jQQGIYfmlL0xdhWn5DLH8uv+0GAlda9gMvnx/8rFsSt/lSxqREXZUir5rtwjybF3yomgKqivDCuOuBu2Bo+5D4Wl/xgZdXJZqLebIfvOwDaOtqQ7PA4k21KrLcyu/yHJkAxwY+VmEb+TrlqdU8Fdln4ZFJyoFlos1zEPdtEXgUetO+LcuU6ixjq1idTeWL+NJHfyTTujgB7MgRcW9GucpY7/cQLuiLNqL5ovzNA+1JdLXPLrN22YqF8vmqy/6KcCRUtWgunw1fRQ+m68NtQS3I812tBY1DhazSnAwLVlYQg6lWkiMpwvPZbEqKThGt5YvETK4VHBlf6qZmJTfpeWinrC3lVZbvJ2tw8EDQtNKq3an8+/jBTu5mJdWVwso9V1Y1ZzbRFsemJzZh8erFaK4Kzuzg8IFe15HxxUMNrMKWkd0RqfijaSlXZyOWh0WWKUKPgpSJBNN9XbM6+/cb78GPrrgBJz//AKzebw2+/uX/k0VZOWeW1Vt6dOsJBSwrwW4sjKGOJPrDUXRM0NA1Ew46Ys+q5sxSyPKNfVj0txi8/qi1oHE079VMmXdQTPKC3OE50mm93CliqVeQxhVuOOU4TUi6nS3pvmbVlBXUalRLeRu8Ld4mb5v3wfviffK+OXeex8Jj4rHxGHmsNWvYqREUGfJwNbEQH+uZ3b6xb9a3+fDtj+DSj/0YzQLtLLQAzJjSZK7FDq0EnkzkarSIfXZ4QVD9bG64MDXRF45iqDMJP2RJAxcFbRCwPDXcXhcsExe85TSc84KDcPCSbrz9HS8Wz+wtf7u7/IOzHmBS4QFJw1REPOY+cl1tSHd3oBCPVv3cGOmZ/eP/3TT7GywdX6u9n45cmFotfPytjlZklYbDyhTjiNhhzX/zQsj+VRGVBsdlNu7YKG5pOShPbWE1k8e4yPVkY5jHSD8iR8IysL3ZaZVdu7KYXbC8F8kqjPBsOp8s6JMti5zpneC8WNJK0OM5YiXIG83zrJancE03LqtRcAFbiEWR7umQwQfRbF66+mV6WDQ8YYPWU+u34js/vAZvfdNJOPo5e8rX+J5FIXngoi68420vglU6z1iRraW84e3zflnN9KIhSSNgbFitm8vKYnagL12V22PVeuxo4FaBR12ePNeaIWKtTfNfeZU5CS/G3BZdwFnvThGLXVsugIwKYnWJwrDZGpIIj4nHxmNk4DuPeREryE5R/hb+Tc28KufxNvHhjUK2Z08/AqGwhV9c/MtZRXPRJ8vhCM2SXsALXzAQYHrwYrnAs7HQt5EVEdtcb+H8mwIN23yv3cnwLUOmWg31diC7oEOGH7CLPjKUQ6hQlOEB8nO+j+tvvAef+NyV2H/f1VjQM3pRRHuCGwnhwMXd2L27Dbf89S7c/Pe7pZmpqpTG6bL6ShHL+80u6MRQb5ekEdQrIYFidq/9d8Z9dz06+8psyeLVinDhVl7EKfVHK7JK3S90CTvYnufEIV7Qy/7TVoPbdTnOdzcoMIKKcpfnypYlrQlmE/q9KIRa7a3WtEyEI+FZe2b3fM4eyAxk0DwXvqBRkRX/SmCD4wLXltcNbS/NYCUYS/Md0UyGIETko2g7YjWI5IqBmPU83Pyfx/HLX/8DF5x/KvbaY8W4N+GFQ7AtE7GhHBaHQ7j48htkiMKRx85uVDKrlZbjwLSD9xUvaiHXmZTJXA79rw08H9o7U7j26ltk3PSMPbMtXpGVxJxGH8g8RYWsUhe40k75noyN7M1lsb5JmlOqhcPQeSMQ6vTOLvFcLMhlxd8rozqb5O+Uiixai7LNgMxGzJ74uhei2S58ldbpaL1Z6Jb8sKzCNsn5NJfhtCt+MJ3gmceeQUc0ggMPXos9dlmKrkQUyOThWaZEWXmGJVXdMqzAFlIx7LdqIT7wsuPw6cuvF4F79BGBDWFKPB+W58Fw3ZJw9eU2mQGbSyXgRiw44XDFObC1pmwzmE0DWBPM0JhdlmyrvbHOIVTIKrXF92WiDgUssxsZ054Oh2V7fi7ilarLWaYg+J40iGVgoc8MSaW20YJ25Ez7VhSzEVbKckHY/3SRbeErb8DBLzgYbV0ptAq0q1DEMmqOE7qaGTm7g2S7OQHPmZuvuxNX/uDPePn/OwmHH7svrJ52ZBnb5bBia8NyHYRsWopGTMwzTfhmUJ09cHEXPnjW0XiwPw3TKVcc/WetGB679f0xXfsGvLAJz6KQDsswBjdswaVloEkXMWUxe+tN9808Z7ZFrQVEemhb8t219VEhq9T0AtzhumjzXTHAsylK3uSb9I24qrCJJBTCACzZCqaVYsgIvLVzVcTXGl4YWVXd8Ogz+O77v48z3nY6epb2TOv37/jLnehc0IkDRuR8NvbCV7mITet5U1fyuSIu+87vcd9/Hsf5F52D3fdZLV/3whaKYb6GIyi0cTvch+m5sBwPBqdTsdJedGDx63zvi4Rx0JJuhLf04+e/uAEve/GRKBYd2BStJlNXTJjREMx4DAXbhcsBLZYJ17QQikfEI85j8W0X4AfvORqGZZnIsTFtBNFoGIZpyM8P/x35oghLbvuP/fl4IgrX9VAcMR6Wr5NYPALHdmVKWRnTNBCNReRr/F4ZHgePh7fRs6ATS3dagO9e/Cu89m2nIzydyK8Wvy6ohG0cKmSVqsOLLiuw7Kwmc8lCMF0o3DOGJZWXpO8i6bro91mhDdd9dGgr89jdj+PPP/wzjjrjSOx2yG5I9w3h6xd8E2/98vnTErM777cGj971aFMIWX+Ki5+IWCdoglQR2xhCkRA+9IU3omOSYRq0FLgWbQjjfZOh1z7ufGQDPnf5DXjFi56DbEcSP7j0Gtz417uGf+yUs4/Gaecci//95M9w313PNiS+6rxTcNTzD8DnPvB9PPP0s82Ob/vgy6XJ6v3nfWWUaP3Il96Mrp52vPM1Xxh1GK/c53Bs7xvCl0d8nWL1yz96Lx64+3F89VOXDX99yfJefPTi8/DPv/0HP/nW74a/vud+a/D2D71Cmrp+9/O/D3+dwx/OfPXx+Monf4YnH9kw/PXFy3vlb5oP1Vii7+aNQ4WsUlUSnotu2gh8D2mDwwSaq6u6UVDIsyLLprAeLxjwwFD2eldnW23X96kHn8bvvv07rHvgKRxz5tFYs+8auI6LTes24+AXHIRvvPNbeMvF51UsZnfef2f87tu/R7NT9sRaLSZiRYq00gk2gZXg8Yc3iIg897xTZ3eDhoEHntyML3z793jpWUfj+IPXwh/K4uXnPh9nvvYFwz/Gqit587vPgjcix7Zc0bzo069/Nre2VJEln/nWO8atyF586XuGv7b1ia1Y/6uH0NnVNurrZVhpHvn1siXg8GP2xUGlaLFyRZaceMaROP7Uw+XfuWwef7vmNnzwLV/F8pUL8fGvnIf2zrZRf9N0H69WJViYtu7xtzIqZJWqV2Hp8urXhpRxobDv5/Swkt2gr87VWXbLt8JbLZtrlqxZguxgBqv2WoVXf/RcJNoTw9//zO8/JRf2VGcKdtGZVp7s3kftBc/1JA2hUfCeR45RHgmbBdVO0FgrwRve8eKq3W6haOOVZxyBY47ZR7JmOXihM5NHtrtdorpGwq378WD1dDxoDZjq67FYRMSpaZrj/jytAeN9nUJ0PDFKcR0KWXKbP/7mb5EZyuL8956DtXutxLylBdNg5hIqZJVZwy3QblersBVTshuMqs5abAaz6pKDa7SAhYCV2Pf+8N1iI+DHSFzXxcO3PYJdD9oFLyxVtf71x39j533XTFmZZZ7sKf/vZDSaYGgAJwIZO8Sj9ZbSCZq9sWviin9rXtK/8bkr5NmYykpQKY888BQK+SIO2XsVwnlbRCxhRm0km0esP4NsTxv8Bi6opks2k8dffncLHn3gKbzjw6/Ea9562oTie7rIK6Haebt1Xpg+6xxW6klrnjVKc+D7Ei+1yLEl45JVWLUSTLM6a5gyKYyjRjlytNY+sXJwdzNyxRd+ju++73tSgf3gz96Pjt6OcX/Oztv4zkXflc9lnnn0GbEZbNuwbcr7ue2a2/CH7/8RDb/wydS4EV/zffR4ttgK6CtvRfg3+ZKj1BpillX9p5/aLP9+1ZtPEXFWLRH7tU9fhu1bBoKkgTGv62I8inC+gHh/uuKRuI2EzV1XX3mDWAgeuW+dxGuxIlstESswwKFJ4sRmujBtlYl2cw2tyCozYuyYzFYcaNAUGAbShiXbyYtcGyHTl6iuWsV0SU+10VwV2CfvexLPfelxOPL05+C0N58yykJQKeWc2Uo8s9FEDP+54W6c9PoT0cgLnyOjjEpPRun11Ok7GORrqUW9gv6IxVKzR9u7voe/r3sImy69A7sdvDMWLumuyu2WRexLzn0+jj7hQGAoNyJWq4RhwE5ExWbAWC1O42rG55wVWH70LOhAerC2FgK+L7VSdXqqhalSP1TIKtM/aXwf3Z6NLt+RsH+tws4ejhqlu5ijR8MeG8HCNRnRG1TMymN0jIZbCNjEdezZx0hlbPna5VUZmvDYfx6fVMjSJ7vl6S0Y3D6I9u7RI0brhekDxRHVpw7flUUhFzWtnPDBCzklW7P/BWk3j7uz69GRSOAtF5yJRDJWtdu+5/aHRcQec8JB8v/+BFVGDjhwYhHE+7OSE0vLQbNZCK773b9w7AsPwotf8Ty8/I0n1e4OmTvLKN0WPfet4SJBax5/q6NCVpkWI8dkDrb4RbfZ4IJgwDdk1G3Y97HFCqNQ5S1mVgH5ESpXBOsM/a2e4+Hyz16BA56//w5NXJXAruxFKxfJ51FfNwyc/tYXyb+feXyjdHaPJ2jpk12681I8eudjDYvh4oWvWHpumfTR4zoyqrkWi5e6C1k2Fk1j9G4jSDsFLAil8Nyd90Qbq6FV4PGH10vlkqJvrGCdCC9kwY14iA1k5N9OKY2gkTz1+EZ86WM/xorVi+vWxMWBEBT8kz1Wzb5Dabfosc8FVMgqFVPupqanU8dk1gaKgAGYaCtZDTZbYanWVgv29zMhISxCtv4V2GW7LsNp552K9/3ovTNODYjGo9IINhl3XX8X/v3HWye0GZzznrPRubATjYJ61YYhr6VeyVv2UZgD9hxWpFjw51/yrIO5OXB8Dw9lN2F5tAuLox1wrATMKi0cynaCV775FBxy5F6jvscJX1Kj5lbIOPfnRsII5wK/bKa7XQYuNKoCe+hRe8tAg7e+76XYZY8Vdbt/EbIc99uiHtngfG/NY58L6BJCmbaIlW7qFq8cNTXMnDUteawpZtn8U83bzhmG2EPqAbfwv/WuS4abuJ5fqlbNJvrKsR3883e3yOeJYJrBvsfsM2ED2PJdlw3nYtYbNnW5fuCnY9oHdzkyLZhQMBG8oLNC1WxWglsHn0DesxE1q1u/GemJHStiiWdZ8EImTHfi17EdiyBUsBEbzNR1MAAF7MgmLsdxYYWsuopYwvOFi6DWbfYCbL0mNgwVssqUlBuRhkWsUhf4WIdKC4hqilnaFcw6VGDzjBhKxrFq71X40GUfwImvf+GMGrnG4hQd/Px/fiGfp/LMUsxe97O/7vD9fCaPj7744+KTrTdi6+AYUN9DBwKf+VyiCEMqVM3CkJPHbYNPYmGkDQekdqqqkKW3+9c/vW6UJ3YsHDfrh6xJhSwXmMVEFNFMHpExY2RrAYeKkBuvvUMELC0E7/zYuVi2YiEageF6cLm4bcXt+dLCo9VtQa2MWguUSYmWhFSr5lq2OpzqxIizBVW0GQy/4U6w1TlrC8Gl12Dd/evwhk+/XkbCnvi6F6IRlMUshx/YBRvp/jS6FnXJ92LJGJbsvKQhPln6n20D6PRc5Obg+GZ6vY0msRK4vouUFcUBbSvQHopX9fY3PbMdCxZ14YKPvGryKVYUqdEwYoNZYBIPLP2hbjgkVVknEoJXmupVCwsBBexHvvhmHH/qYXjB6c9Bo7EcF4W26j4/9VyYcheiqHXBhtGCyx+lXkTG2gmUhlC2GZSfi9mShylV2WiVsz6vu+yvgYVgz5VSgaWIbTQUs9wqvfXPt+Frb//GKJsBj+/Rux6t+zFFfF+qsbwAVruZrxngFquskRqYJZt2AivBk/ntcg5UW8TSTvCZi76LRx98qqJRrKzIVmK3YLOX6biB6K2yxeBft94/bCF4wzvOQLIt3tDpdmOphXCvB+FScaCePQfKaFrzzFHqMnKWndS84A7OwYttK4pZVmY59WmTFZnVSFtWALMG0xE8FGZZOss6Wdz26L3Y2d0HB7/wIBx+ymFVsQ9MhmGaWHvwWvlcKYefehg2r9s8Kmd25/13xl8v29F2UOvXVcyntcDHNqPxHeq1gBd0JmJYDUjG4Fb/M8UBPJzdhJ1i3Vgd6636fYz0xO5aoZeUHtnJGr5GYscDiwGjuWYbycUK7JOPPzM8qrYpR8my0csIEhxaEfYbpPleNMd2VloJFbLKjpRyYtt9V9MJmgh6KTt8D7ZnY6sZnlVmIQdYdBszryFk7Aw2ZTchZ+ewS8cK2b6vVyZrNB7Bm7/w/2acM/uT//4p3v6Nt2HPw/fAXkfsiXqS8h3E4GADIqMsBazW8TJOuSOSp1SNGzkjSzKASxFX4nBs0gsnF1msUIXg1b1KxcdnS3EI+6SWozucrPrtc+Tst//nF5N6Ysej3PBl0Qs6hWCrhsVgZA7smp2X4VBrKfbde+fmE7E83xnJFwrBFbHfevDZnAuJI62MClllBzo9B92eK2MyNeC5eeBzMQQTXb4LxzPQZ828osdpbEXfDMTGNCrurufCMi1sy21DMpTEsthS7Ll8BcKR+lUX2eT1l59dJwkIoUho2mJ2qG9I/l0oFLB53RaEIyEsWbOkpscs9+/7WOC6KMhELxNJzxPveQy0GQRpBoGQlX350fjPTs2SUZh8/ujLM0zx51E4FoM/Es1ATs5Tr26TEWgl2FAcwK7xhdivbaea3Ec+V0AsHsUHv/DGaY+xLWfEhnPFKYUs4c9GMjmxGGS726b1vOayBXz4v76O5SsXSgW2K57AY5fdi2bFdDyZbsahEK0Gd1i468D3U6VxqJBVRpHi9rXnyNbzbLavldrA5yTrG/Ic2YYpzWAzgb+bNU2xKwwZlVdgyZqONVjRHmypOnb900IZu8WGMk4Em46QJeKX7G7Ho3c9hss+cxl2OWAXuY2z3nkmaj8Nr4jFTgGbQhEsdQswDZ+7qjI4QDx23HkWoconZMyTIv8bVG2Dz74MJUn5rmgczwsupln6n01TxHIjm8i4OBJBXmcrQa2gneCSL/wcH/j8G9HVM7OdB1oFOJK2UuwYR9gWUEzE4MQjFVVgFy/twSFH7Y33fPK1WLwsyE/e8tgWNDOt3OgVAe1ZwetNaRwqZJVRCQW9ni0X1PLUIaX5oAhlJZV+WQqgmSYZcBxqB2VUKcNxogrsk0NPIufk0BvrRU984tGvrQTH1O5z9D647ZrbJcGgFvBxjVFwei6SvoPVdmHYn8znkKJ1ete/8iz34HNxxO9ahi9DLjg22nCD128aJnKmhUIDBC0bviiuRazX8CL/aG4LNhYHamYlGOuJnamIJW4kJFVHRk0x/H8qZECAZSCayQUTv8bJWB1pIeAkrr3231m+XhaxTY+89wSPTSsS8YF+9cc2nNY8e5SaXHQZzs7KkSYUND+MbWrzXXS5DjZaM/PLZg1TRDDFVm6M2GAF1uT3rBjaI+1Y0bYCoSoHyTeSss3ALtr4x2/+ia0btqJ3aW/VthuDamnQLMkrtUVDgOHjaSuGYg38dKzqykhY+c9HpCRqO10XGcNExrBkEEa9rEJMQmWliseRr4GQLchggzAWR9qlElvtIQdltmzqGxax0/HEjgctBZzaZTkOHGvyCmsZOxpBJJdHOF+EnYgOfz2XySOWiGLj01uHc2Cb0f86FUxoYKIDp5u1GlIA4LmoiT4NZ+5cmZRZwcaudjgYUNN6azV/wUHOM9A/A78sRc2AaWGxayNnjGnicnJYmlyKeCiO3nj1O79nA+O0Dj35UPk8WzF75gUvwdC2IThFV7ap+bWZQo9r0vfQLgKW2ZJABpZs/S/zbGTNMHJ1CHxnpZdbnUykoAWB9gMueihmB0uCtuZe2pLNgWK6mjp2pJXgoPZVSIVqU00v31fvwk68/YOvwJrdls/+BuljjkcR70sDz2rSyTENaRSLpIOqbCZfHK7AlsfIcpBBq2LZLuxEpCUTC7hIU1tBc6D7x4pUjViNZYOGNne1Dn5ZLHhuUPmbAazKsmmI+bSDxUE8MfgEEqEEduvaDV2xYHhAsxGOhvHS95wtn2cLhevrPvlaxJJRfPnNXxl3nO2UUMB6LhZ5RSz0bJg+MMhtfcOS54jV2TbPw3aYQdW0jvD+aCFhVTbuu1jsFbHAC4R2raFXN3D7+lUbcHBf9hmxE9BKwEEHtYJ2gs994AcysrUqIraEGw3BNw2xF1SKEwlLRfaff75tOAeWFdh6j5GtBZx2Ri9wKxJl7NYcHGjSiqiQnedwe4Tb09YcDWef69ALyeeOz+FM5ttn7CzuHnoScPJoC7eJgF2cXNzUNgJO6briCz+Xz9Vg2zPbce1P/oI1+62RnNnpiFmmDrDxjiKWE7soYMWzXLq40WbQ7duyYMhZjXtM6VMN7AWmVGgXuUV0uo5UkWsFq8I8P+ndrQYDThZFz8Gh7atr5ocd6Yk94nn7IVzlkH4nHJLKaqjCczeTLeDGWx6QiuVOHQm85d1nSQW2FW0EYxGvsGm0pD+Wr2ue1Vm1FTQFqlzmOWVLwVyb9z6f4HPH57DDqzy10y6m0df3EAb6H4YVTsE3w+KVbWYBO3JO/L9+/6/hefGzJZ6K4Z+/vQXHvexY7HvMPiJm+7f0T/5Lvi8JH4slb9kRCwErsGO37NnolWI11gxJTFajKVdo2SjWA1sqyLWqzkpjm1T7/Vlt728o9KPPzqInnML+qZ1q5oclTzyyoWqe2HFho18yBsOjd9qfVMD+6up/4l0f+D7+/o/7pEFwz+ULsNfqxZgrWEVHqs3MzG014r4nC8Na+L+V6VOXMyiVSsGyLAwMDNTj7pQK4XYyK3ms0qiloHXhc5fzA4sBKwSTJU64bhGWFYHtZBEOp9DRsQamGULatUWUBRmn8+vNOdGWwNKdl+Kxux6XBrDFqxcj1ZmatBrDrOUO34ENE0PG+G+jrHZ2w0HGtOSjmXB43DDE0xt1i+gzQ8EEvyo/93nDktzjIAXXmLaV4MHsRmy3M9g7uVS+NhsPcyX0LurEq847FQfXcFAGG7i8aAghOxBy44n3z3zpl0gmorjgLadh97WBtYFmhGg6J5O/Kkk9aHbY9FboSLbe+43vi3CSpuhWO/Y5Sk1fDSeffBL++Iff4dZ/34J/3Hwjbrrx7zj++OfX8i6VadDuObLtp5aC1ofPIZ9LPqfjUSxVYPu23w/f95BILEQqtVRELBkyQ1JRjNch+7MZ2Xm/NXj0rkdFKB128qGiuy77zOU72AwCK4EtIpZV2Mmiz2JwZRt/m2HV3RtbaVMYq7OM2+Pf1O1V32qQ5+AJw0R0mucVLQS3Dj6BQslK0FVDK0HZTvDzH16DVFuipiKWMFKrkIjBLDo7VGB/csUNcg5edMEZeP+FZw6L2LItwbIdhIr1z26uSVqBZcGOtV5agaS8MIdbdzHnh5A98ogj8O53vxe777EX9txrH1xx5ZX49iXfwpo1q2t5t0qFmbHtnhd0MCtzggzD/j1vVOMXqzv9/Y+IhYAV2O6evWCM8wbMQQvc/mYDQy19k9UgFA7hBa85QT5Xi0NPOgT7H7ff8P9bYQuJ9sQoz2zUZUOXI1XMNAO1JnvtyBQvR6q1ze6jKyK4KHfBEb9viNveVcIrTaOr1F7A89X2XIQNC6vjvTigxlYC8uQTG8VOsGhZ7QYqjDccgbFTdjo3bCF48OH1OPiAXeT7balxBgSYhoyvDWcLk9oSWgF6hIuJSEvGbtGKw90LbfJqHmr6DvHBD3141P9/7Wtfx4XvvACHH3YYHnvs8VretTIFrNyxScjWuK05g1PqTG/zHAw6BXiMgYp1IR5fgPb2VcPV14ngSOI+00KH50pMU7PCSVwvfO0Lqnqb5RG15Qiucs4soZh95ZtfhO5iHoPwMGRMnQGaBJMkfDxlhWs6EKBasGI8BEsqyB3FvDSucahBNcibFlzXlfebySrTZSsBq7EHtK3AosjMhw9Uyqb0IP7y/Vtw5muOr40ndgKGig6KzBvO23jq6a2jLAST4URCMuaW/lK3CqkdDcHzYXg+isnWm+bFIgEHjDSbVWi+U1ejzcqVKxCJRPDMxo31vFtlHKM6xYpujcw9tjg5PN3/GAYGHoHnMpYeiEY7phSxgmGgn01JhiHnSLNSyBVxyXu+I5+ryfc++APc+de7hv+/LGaf84IDER9Iy9fY4DE1PnrcoIEy28QLgvGsBlzMRB2OqbZFzFYDufDLImvicyrt5IetBHuW/LD1wPM9nHjKc+omYjmJ6+orb5AYrZvuegzRVAwX/r8TKxKxhNvxpuchVKjuuT/b9AFWWDl+Vz7SOUSHgg/+m18L5YowbSfwlxZtsRTYrSbEfV/O4X7Dksl8SvNQt3ZBNnt94fOfx7333ou//e3vE/4chS4/yiSTtfVGzTv8Z32UHG/akEPwPDh26/u8Kvk763ZfsiVr47GhdVgS7cKythXYGp5+xYONYtvMMJa4RRRZQavwHNm2bgb5qzOkkCvgoVsfwqaHnkE0Xr0MykQ8jntuuAdLlz/bGR4u2Dhu7Ur0b+jHXX1bUbTzSExxO1wkOp6DTWYYjtN653maSQPFIjoMG1vNkFT6Z8ug7yLh2nANT0aSjoUDDnpDSayMdEm1zvFq+7gNODkUXQeHty1B1/LF2PLYFtSahx98Clf+7FosWdaLl5/7AqxesxQbtmaQTOeQHzG1ayrokzU3DqK/q62ipq++9X3yeeMD1SkgWY6LMCvsroew7cDyPFisssp3GUsV/MuQ/r5n/59b8S5H7toutna2YSgZgx0OVa3ReOCZ2jaTs3+AC1P2EyjNRV2eEVY2vvLli7F69Wqc8ZIzZZtpIt72X2/Fu9514Q5fP+CA/ZHL5TCXWblyJVyvtqvUqOtgQS4j231eHaYMjSfuli3rRS6XxVyHfycxavg4b+7fhrufeACrFi3Hzkt2xn7urgibJhKug83xJAozyS5ltnAhhza7iExo8vG35efzkWvWYRueQj2w3WAh9siP70a4itmsVp+NB556BKvywfMW9lx0FwrYzjGrVgh+1MD97lactHoftEXHnyhFHy0Fm/x+pHZTp2rJ0mU9KBTzWO3a8vz3h6Oz9gMy43hBMSeCh48lsV0X92/dgL0XLsdqLIZZp4U17QT/eOwJHLJ0NVavWorH/7YBfdhQk/sqOA4e2PoM9lywFI7n4rnLd8PiVAf8W/rw2C19IgJ77Dx834BdaRIBLQmui75ItOJsYvk7n9iAvs0bZvz8Rei/dx1EPFf+3zXorzZkscvzYypBSu99xOUiz0Mx0geTAzO4axEKo2hacKrwPrnLLjshGo3PeurfuHF7to1t8QR6w5WNF64lXASZVustkqdDPB5vHiFLEXvxxV/EEUccgbPOPhvr1q2b9Oe/+rWv45Jvf2dURfaO22/FHXfciXQ62N6bq3huGLffXlvvcI9rYys9lA3y+LASSxHbc8JO6FnRg7kKK5QUdw8+uB6hcPUXJxwh+0zmGfncG+vF4OYC7t762PD32zwX/aaFrRXOdB8vYoqh+ZxKJTEzU8C/s164EucEPPzwBlhV3Lrn7abzWdx7/5OIGhYWekwm8ILpPa6L3XZdhsJewDWPP4DXv/k0dPe071Api7ATnRf5sIWuaOMveNNl3R1P4vEHNqDr2GXoXtKJWK6AbFsc6bbErKOGYtk8OvqGkE3EsHHjdlzx02vR1p7AsjN2RbyKlfWpGrvoiT3p9COwy05LRMQ+/NDTMK3qvh86vouniwNYXxxAyoogNOQjZgbvA49uGr2IZ84wm+xo66jUTs0tbmaYbq1gNDXPXdJ1zFJ0LZvetD7TdREuOojmClJ9JXYkJGNzZ0Isl0cuHkeoPSFeWd5m2HHghCwUYlEU4hGp0s7kXAvec5+qyXsu86BpJ9hgRZqiycsybdx+x22Yy6RSE0cg1lXIUsR+6UtfxDFHH4OzzzmnogavYrEoH0r1Cfm+CBxG4jQaithFa+dOuPd41KJCmbWziIfiYiVIhpJY0bZi3CEGfI55gRwwvRn5uVhl4UVysWvL+NXJmhtYca6FWJ8I07ewLLUM4XAEZhW9aiGEsXvX7oiYIYmiajPZABVByDDglN7PXvyy5+JvN96FwUIOu63Zefh3DddHJJtDvi2OaLYoTTmtOD+e29B9D6RF8PSuWQDT8dCTyyPb04E8xccsvZRtm/vxyM334vvf+QOOf9HhOOXMo2HWMRP1n7feN9zYRTsBK7EUsaFQdc7fcrPgw5mtyHk29k0tR1d48seNFp6iZ6Ld9yruW/D4+oePtFg/Jn8/L4d88TldsGZBpX8IItkCYkNZWEUDblc8yLw1Z37t4ELPcNsQWtCJRHj0a4PNa6GiI7aTfCou+bIzef3U4j2X102+w242Q00hYpU6C9kvfP5zOOXkk3De+W+B63pYtWqVfL2/v18+lPqS8F1EDZrV1ePTamTsDDZlN0kFdpfOXZAIJ+RjIiheU74jFdWBGYo9+mXpkaSYZQWI2YnNAMVrd6y7Zrdt2Bl0ckgEdgw8p0g56zUnyL+fenwjYokoFizoRCSTE6FHARsbyrekiB0PL2TCjUYQ70/DiVhwYjOvnBYdF/lUDEsWduD895yN3fdbg3rx2ENPo7u3A6edc2xNbp+RYU8VtmObncFBbSuxNrEIVqWiFIbskC1w/SmTHUYuNOOehwg8MH+mmpi2i9hgBpEsz+MQCqnZLWDKWAUbuc6U7FaMhWNq+cF82Tjvu2Aj25mU4Q8NHTrABYPPyXyWNCwqzUlNn5mDDjoQW7ZsxX9/4hP46U9+PPxx5kvOqOXdKuNAT1O75waTm5SWYkN6A54YfAKJUAK7de2GqFWZmGBVls85n/uZwgzULVZYqhIj82kbCS0AD/U9NGwxqCZFewiPpJ+Wbdupqi933PIAvvTRH2Pg8WdQSMXlIh0u2jI/fi5BcS4d2/1ZqarOhA2PbsAX/9/FuP3OR7F4152w767LUC847OB/P/kzPHTvk1W/bVZgH8ttwT8GH0U/F5nxheL1rVTElsnDlAUnF56V4hlArJoNpazCZvJIbe1HNJOHHYvCqVKyAJMKvHAI9hRNbVwA8rVkuC7aNg8gvn1IxG2j4PPBoSf9tIVoNbZpqWlp7rnPO76WN69MA1bU+CE+LKUlKrBDxSEsTi6W6uPCxMJxLQRTXRzbS8/7bGKg6JE1EMZCaWIK3tgbig8UGC02/amnk0LBv8yM4hHPxhBHt07xd5529jFwBrP47Bd+gbdc/GawRSyctwPhN8coxqOIZnKIpsPId6SmJfRu+f2/cNXXfoPjXnos9jxiLxQKNkKb+sSOwSlXtRaxHHbwknOfj0OP3ruqFdii7yBpBTPL9kmObyHgOTXZX8jfLTdJpU0LMc8X8VSJxcCGIVOm2EQ162Y810N0MItYOluqwlYx45VDVooucl0V2gUMQyqx5eosF4fZrjYZIlFPRloKGpXwo1TG3HvHVcYlyHD0qxZ1otTeQsAmLgqBWGhm3e98rj0/sJRkZ7n9OGiGJEaHYjaO5rEZVJOU76HLMNBmRdHvZCcN5KcIY9XqJa9/oXj6/vrLG/GyN50Mw3HhtVo+ZiWYhtgK4gNZqdJVajHY+MQm/OkHf8brPvlarD1oV/laMR5BJBFFOF9AMVm7ZAe+dq6+/HoRsdXKiS1bCJ4u9GFxuB17JRZiz1iPiFXLd2H69HB7cmENXjHBWsuYRMjyndlh93+pyhoX8euKUPVKXx/vfZvfT7GKylSNWazoKGJpHWE1lgKykkiv6cCMWS8aQjExvee6XJ2lVze5dRCZnnY48TqJWbUUtBQqZOcBZsnnw5nnSnPCYHYDhtgI2iPtEzZxTZeiYSDp+9hehaoNK7O88C5wbZkAxW7+ubLdxupLp++I9aYnnBLBMhGsFIVzBRTa4lIpetHbTofneXA39WHr1kG0V7Oa1UTQ22gVihJ07zCRYZLnnlaCzEAWux64Cz7w0/chPFLcGwYK7QmE80V5LGvhJ964fhsWLunG2z/0iqpEMbGyyl2Afw6tQ6cVxZHxxVgWiiHk2SJeg3ESRqnCGmSnUqAG5YPAB7vDbcp3IEtMil6Tv+UBludiKXc+YMAxgqlrFLocLOEapghb/j/FrV+KxcrPUHyWRSwXZcVEVEbgjovnyyAGqTDTqlSazsUP03Vgun4wNrdkY+JfG8TI+gjnWFFNITaQkedarDemKZ95fx4/G+b41XnDkMUOx/Kmtg2ImBXfbI1p8z3xxKqloDVQITsP4OZXVG0FTVuB3ZzdjLAZxvK25dLIxYaiasGcR9oLYvBmXZUtb3+y0YRilrc7VN/hgMMNWas4creKC7Ok5yDiexg0QlgTn7izO2zbMqWIF+Z8e1IuyHy2QjBw6zV34A9X/wPv/PirsWDR9GKOWgWKiGg6L+NFx/M7jrQSvOC1J4iQHSViR9xOriOB5Pa0JD1Uc0FUthOc/95zsNveQYPxtKEAE2Hp4Ml8H1aE41hqRtCZWIQFVkwyVB34svBhFRUzOhfHE26BL50Tziim+Po1S+/hsqvmuXJ/ZXHLLv8O30faoyA0ZyxiC6yWlr3dIlpdSazgzzBtIMTEAW7vlMSryFT58VJ+7Ehf+IjnMpQtwImH4VmmVFb5uMp3ZSoGdwgxLGrdkCXVfj9kieB1LYrb4G/iucbFY2LbEDK93B2oXWWWUVtOKbVFLQWtgQrZeUCUDT8TbE8pjaHoFrE+vR5ZJysWgp54kKlbTRFLgqoNzwEP2SplZdJW8IwVRq/rSBWToe71hI9RW6StarcX9j20w0WuJMopxtYVtmNJpEOiuIIvQsLgTddDtrcDhVRs1AWbeZvPO3YfbNzUJw1gF3783DkpZiksKDqiQ1kZM0oRUoaDbq743JUydW2klWAi2A0fydsicKplMRjpiZ2uiJXAfgQVTsu38UhhAPcXB9BtRbEyHJcUj3g4gVqnmVMmcnpUyHOkwZJ+WYpWwQiqnFZJ3PK111UK2Br0LRRMS8TvlLsvvi+eWNoJirEIQo4Dw3afFa0uBSsbRSEilKNx3RDvPKiiVgJvx0lEkO1uF5E6LhTGUuUNBHO4NHZaqrWWOSxuvbAFNxyW0bzJbYNIL+iAyziwKsPFLJemG82w7mC2ECpk5zqcSMKVvWrYpqnAMnWAQf6Mz9qpbaeqWAgmw2amrO+hj4q2SkKZ8V6brDBsD9jNdaSKIQ0qdVgsuZ6LB/oekMxXqwqDPZiTS2tBvtQQR6G8qTgoAfb0ydJQQZ8xxcFAVzssVhDHwC1ybjGf9boXyEX4B1+9Cu/579dUfWHSDLCbnZm5kXxCtqPLIpZjyJevXY5TzzsF7d0T+4vLsPKW60gitam/KhaDYsHGd770q2l5YimiWOlMivc7EG8hw8QDdgbPuHkckVyCBaHg+a7nco33NWCGYJbE7MgGSy5OKV1F3DIuzg0CuDp8VyqofL3TlpA3TRRAEbwjkTTTCQZlWz+ZGxIRS9HK7X0RrWGK15kLRR6HIQ1eqYlFLKFgFZOFCW/k22CpKlwWt6zc+iFTRK2Z8aQqPcSFYhUHWfA9IOH72GiGJs3NVpoPFbLzwlbgz8nmnFZt4qL/lRXFRYlFdblvbn/SIx2bZVPIWCjstpphbI0nxbvXQV8ZL5x1EG/0FFdtSAg8ueCPpCuUQL+dwapwUkTCNsNCNBJDxwSNXAx0p4incD37NSdgaDAr/85l8ojXsKGpEYjYMU2EMzmZxEQrwY2/uhHvvOQCHHPW0dO6LbEYdM7eYlB+nD/4hTeivSM55c+btoNYJoeeYh6Oa4v4u6swhIfsQZyQ2gnLI+3YKdqBRkIBOmhY6CpVillpHQ/6S+nBzbBSWrJEJOChzQ2mUQ16roxb5t9Mr2kknUP7xm2yeGBGMBcQslVfxdg4NnjZyQjsmVoATAMeBxCERiQfuC5COVvEbQ+b07JFZBZ2SkrIbGPCWI1PwcU2MyQLCKW1UHUzx4lwG8rgXOy5VxlqFbbltkkOLCdxMQe2mtvilQpOq7RtVnUo1kJhGd3YZ1oimJOzzK6tJ6x28TXCDvCR9ITiGHCyItA3mRFsN0NwJ9lS5VQir9SsQgFLMfXA3Y/jE+/6NrZs6sNcg81e3vYhXPbJn+GP3/sjXvSWF824qYoWA3ogxUM5QzvBh972dWzb0j+5iPV88TczmzS1eQCpoZzUAu9w0vjF0HpsYgU2sRgJM9Q0lXQ2eFFYWT5EzI4H/bq0xwxHVxkmcoYVjFb2fSzwbKzIDGHpus3oeGozUpv7xOfKGDUuJFyOhK2miLUdqZ4WOUihWrfLBJZQSFIL2ChYSMYQ7xtC26btaNvUh9TmfhmnzMSImYhYVrO3GyFs17zYlkSF7ByH4kW8+UpdefqRp/Gvh/8jlcOOaIcI2EXJRTW3EUyEWyshW4JV2C1mGOutiHgJO+AizoEFTSxoKbbbfAdMxy1XAmkjYCLDQiuOrkg7NhohZClgJxE20hAjQna0kKNH84DDdxfP7FwTs5z49fMrbsDQln5c+N13TumHrcRiwMeYlbyZeGJPf/lx6FnQOeHzQy9ocusAUlsHpLlpyHZw58ZtsJndaoZwZHIxjkstG7YRNBM5w0B/Scyy2jpe5VYa00Z8izaXBPxSjrQvOw+W6yI+lEViezrIWJjhcIvJYJXXsD3kU4nJLQWzxGFMGCeEeT7sCL2zNtq3D2FBPo8ON2jcrOh4OShIJneFsM0M6wjaFkVr6HMc+r8Y4aLUh8fufhx//uGf8eR967C6eyn8tN8w8TpWaMbK8Ti1qjYZBjKGJTYWVma7PAedcFHwTbD2Va37ZVrBrp27zjq1gLYbPiZZmCJg+VrhBZ7buelwFJ2RhCwApjwe15UPOzx6G7VsMyBf/vhP8NGLz0OkxTNm2Qh3+z8fwH4Hr8VLXv5cRONhpDtSE9QKK4eVQUaZJbYOwLTol5xaBLECW27sGs8TS6HGiC82pslCI2Shzwf+9Nc78ee/3IFVyxbgBZElWB5KIhRq/Gt0MrKSDBBCp+fAMEbbDGgrYLVWwvHYlOh5Yi2gmONOXBbcNQmJDYTxXtKsl80jzO3/eKRq2bGyoMs7yHck5HZrDW0LrOLTFsFmwRzjwwygV7zCRXkvYoQW34/Ga3QersSaIbFIzTaeUGkczf3qVWaFVVqJ0/+l1JbsYBaJ9gTuvO5OrNprFU581Qvw1OUP4sEH1zfFQ886F7fQ+YIfr/mjmvCCMGRY0vzF6maH56KTCyo/SDyohs2FcWWzJeK5wdhdg4Wd4JjTZkhG+5K+fJ9kh3K62pRVKM8fVwyUxewhR+4lItZjE0uLjrDN54r42Xd+j/v/8ziWLO/F0mW9CGfysGwbToVjkyeDSRBsXGLFkPFek0394uPY3duBd3z4lVg9dtyt55cEbE663DkalULHdly878OXYumSblzwltOwIBbHul8/iFaBYtYvidkofd2lhRxfb2GXrzEHIcOXyi2beyniZEue6lW2/F2YIQM2PdvUxbYjUWqcRsemvbEpFNOC7y35IuxUNEigqMM1RzJoLXq1C0HTIW0VpoVB00QUplic2gxHBO2gaQWpJKXjCo3wxGoltvVRITuH4SqdW07lWCGldhXYzGAWF377ArzkHWfI1zc9tLGpHm52OCfhyfkwHOVTYyhYB4yQCERWO9s9V8ZvWpKiYZQyOKd/LLRr3Lf9PuzZvaekP0yLUjMM48iW+GzyMdFnhJBjdueYY+FtDxYHpxSylu1Obj0wDBFb27cM4BufuxJvfs9ZLRfNteGpLbjkf36Bzq4UPvSFN6Kjq+zz9hEqOBVP+poUdtu3J+XxjKZzwZjUcR5X2gmu/P6f8O7/fs1oEcvnNl9EZCiPSL4gW9t9hoE//fk2dLQn8Pxj98VHLjoHC3qDJq5t67ah1aDNgE1QrCTytcTXUNR30eW5iBo++qwQCuMtlNgwVijCb+Mgi+BLFPheyJeFWIyjYHPB9C1pnJrmYoveYzcaRiHFbOX6LdTcSEjue6wlhe89FLCsuvK9J+F6SBvW8FAX7sRQxNITq5XY1keF7ByGq06RsFqRrTrFfBHf/+APsO6Bp3D0mUfh2LOOaZoGkXFhRz09dn79x8vyQlHe5mNyQpyVEjaFMbPRD6rFFLZBnFD1H0OzJF5ZkeY1tugbKJom+rww+g1L/j0eyXBSKrK2N7YVbMztO24Q7D4FXb3tWLv3ypbKmaWVgITDFg47Zm+c+OIjZeu/DMVQJFdAvj1RnefONJHrTMEq+VqLY6akjcyJHWnTsAq2iF9uNXPrfDsM/Oma28VCsHLFQpz5oufIz5VFbCsjDWCwsNB3sdS1xVrA8487CRPtdvB1z4qsw8aukVAYi6C1JA0gPpiR5i82U1GYVoKISI6T7UiKd7qesCrLP5lidsL3HgSCNuW5MsiFC+snw1GxE+i1cW6gQnYOIx6pRh/EHKzAcmuY9oEDjz8Qr/7ouWIpaAVq3fA1JeV8S8tEPwPZSxPneIGhyGTFmOUSmT1fysosz5qv5ILDixUvoxz1Kc0tUlX14fpBJ3c/RZLByqsplgL6CNmYNhHMqI1ZMYlOS5nJyYVsBVWokZ5Zitn3fuq16OqZOm+10VYCVj2fe9IhOPnMHaO1KIxYBaUIqlZAPYUVJ6eltgwEwxJKWbVPPrphR0+s5yOayYmNgCNU5byKRDC4ZQAPPbJBLAS7r12OOYMPxPFsMggXpWHwfT6YADYR3IEQJjpPKYIjYbi0CBQdJPrTMu2LaRKT+Wf5vPM5yHUldxTJdcIpLab4OpwImb7GGEQuXGGgzfPgwZEmOk30aX1UyM5hWIVSIVtdCwErsKe/5UUiZA896RC0EoGQbY4UAb8sag0TA4Yl52q4JECjIzqtKUqtckd2aYC7wzQEAO2+ixAtrpxt71Pwlubb87YNUypUFKoUxaypjtxC5PQmCtypXBYcGyx+XM6SH/cPCWbQVzrtqCxmV6xeXFHeaaPY+Mw2fO0rgZXgwMN3n/DnKHIMz5Nxpm6kuvFemZ52JLcOymhSNiQtWNyNc88/DQc9Z4/hKmxsKCvZqIOOh9///W6pwJ73hhOx/z6r8b53vgRzCXpfU54jw00YuRV4ug0ZRtLtOWBr4uA4l3S+jiKuC7eSaikXkNEwDNeVdIeQbaOQjI9bnaWI5SCFfGeqpiNjK1n4hAs5RJjlPA4Whb/vy45Qn0zsMqRC3cvHzPfEYsCxwErrokJ2DkPRomNpqyNiv/u+7+GYM49uqQrsWCjk5AVfy+SCmVASmkEMVulrpYpqIGSfrbYGc9o9rOnZG5sNS4RhWbzyM8UsZe5U532laR7xUByON3F7HJu8OM6znCFb2Z9r4PBj94VddPDDL/8fXvTy45rKZlBwHFx+ydV43qmH4pQzjx5lJZgI+lqnF5w1NRSvFLPP/OM+3PLP+3H2m04ORKznI5LJIVaqwl5/zxP40eXXi4VgzlVgR1RhuXMRDLd5dlHG5RWnUPH/KHBZqaXfe+S+i+xMgOdo5WKN073suDlhdZbPt4jYjqR8vdHQDx0ujLUX+GJf4mOzjV590xquvsoOTen7y9wi+nxLRK5WZ1sTFbJzFJlfXarCKTOswF56DU56/YlYvfcqfOjyDyDR1poCtoxXuqDxUtRAg0FlcKuzJExHCVzRuCZcNw/LjMzIl8w0j7DvVzSBjONw799+P3Zt22X8w/Q8mRMPY/pvpaGwhbbOZNN4Zmkl2PDMVsRDIfzXhWdj5/1XVSx6rCJFRPVfHw89ugHf/eIvcc5Lj0UkXxQxxsak4rZBXPOfJ3Dc8/bDsmW9c1PAjqnCcuEl07vGgZYZbp9nYUmVka+dcqpBCIyVmwE7VGcd8c7SniAitj0RJCA0AUwvCHEsbmnHqVyFZXIK7QPj9gWUvPsh30OPx9zroAFMq7OthwrZOUq5iqUZstNj3f3r8Pvv/VE+swK7YKdeEUutLmIJaxPlBsCmF7KT4DPAfNt96F2wP4zpphaULDchGddbQaWx5JPNOtmJF4yeD28GsUVjPbONFLPrn9yMb3/pl0hFozimYw3a2yu3PbBRiCKn2pX+x+9+HN953/dw2nmn4ODjD0T46S3wntmGX//jfvzhb3dLBfbQw3fHyp0WYC7CXYPxqrDjQfkmGcj0gcNCm+9KtZH2Gm76z6Yzf2R1NrltQAYQDC3uhj2mEa+RiMWFucGeJ6I/5Js7VGEnwtHqbMujQnaOwi3ZQLA00RZyE7Pl6S1YsHwBtjy9Fav2XIlXf+RVLWshmAi3VJG16hjB1cyvjUptN0wvyLgTCFmXQtabceRQWcym2honCm76yx244gd/xgmnHY5dFy/CwI3Ti47j40iPLIUEp3RVkxe95TQcfvKhsAazIpS/8OO/yP1dcP6p2H23nTAXoR+cFgFGbE1WhR0JF6Y8A82S97xohMQ72+a5Ens365WrvFYMPtlyzpqsfk7DG15rKOKjhSLanKIMOMlakemls4ypztKWt9UKT9oMqjQPKmTnKMO+qHksWKbTxPX0w+vxocs+gINOOBBzFREcfnBezGf4GLBBrFJS4RQ2ZzeP+73AVjC71xiFQTkR4K9/+Df2PnCXulZmB/rTOP+9Z2OPfdfgob8/NO3f90xD7BoyFKJKldih7UPY99h9sWTFAvzlm7/F9qc24/VvfzHefNE56LFdWHkbtsshFMacOzfbxUrgSsNixZ5N9i2WmiP5P9StaXpluZvkmOhmM2XBkYXXtB8zHzLsAJaFbG+7+FFj6axMsyu0M3KrgY1SkrJgw7RdZC0LA+EwNnOc7wwFaLk6y3jAJa6NLWo1aAl0uTFHEa+QLKLn1ht9NfnxJ34iTVxMIPjAT96HWJP4vWoJBdw0NFxTnMcUSYwNi5U+uOVqGKZ85v8z5YBdyLTSyPb2FPBiz0leldIWacPK5IoJjk9WCKhWZuuWTX1iM+DnWlsJLv74T5AezIqIpoidKYweYzXWrEK0W9lOMLhtEH/+3h/xyVd8VhabR77w4CCztqsNme42FJNRhHN5qQTPFWj76S6JWHo7p9t4xKrk2Nc2Hx126/dHorA5PKBgI5wrwqrwcaPwZWoEH/tcZ1I8s9zGL8ZjiORtxPvSsIrVbvOr7LgoriPpvOyGZHvaMdjVBm+CcbTTu3FDLAkc3LLYtWVhUcn7itI4tCI7R1H5Oj68KG5ZtwWHnXIojjj9CJx5wUvmnIVgMpry7bg0OjcCetuCRix6WPnZKovZkgAtn9sru3YHPAc+P0pNYdST3IFgxgDHMrMzmWkIY+O3KIyn80iwYpp38xjIDtXsIaiXZ5Zi+abr7sSVJStBohqLN3lcg4rsrEXsRd/DCa8+HkcdfyCu/NwVePvbTsfqA3cdZd1gBTDX2SaVwfhABl403LAM02pBH2yH58g5Xx4tWw3Kt+KYJrKpGHLdKZgUgAUH4aINPxSCw4rqOCUtLhKsggM7GUUxER897MA0UIxHEMrbSPSlg8aveO3TCyzHldg1ieGLRYLUhGgEfsiU46vmIp1pENGSmA2bPvrMkE4Ba1Ja+9WvtKJsaXgO7PNf8Tz52s77zbwK1aqUnG6NpTQMgT40jtcsZ8ayCYtInNaISC36BGWcbenI+VNpO41UKCnij18VwVvy/1IUxH1em13RA8yLpZhlfiS3axO+K1u402HQHsTjmx3skBw8TVFcqZg1TRPrHttYdSF7w59vw+9+/vdhK0FVmcnDUKp05Yay+OMP/gTXdWHki+gcSONNbz5lwmgnbo8X2hPSiEQxG7aZNcvxqw0/u6cH/bC+hw7fkXM9W2XPqTE2hYBDKyJhOCIIHRlbG84XpIrph0NwGa/FSVnFwIaQb4sHz8F4HnDeXjwCq+hIZZYLGRleUeXngILadJxg8EjIQj4VgxuPwma27Yj78kcsdqsFkx9c+Oj1bYQ8phqEK0o7UeqLClllzpMdzOJHH/0RDj/18JbOga0GQShb/eG2fwyeDCJgV3G0VHVlAxovDEWJDqqsEuV5Lp4YfAJ7du8pXjheuoKk1x2juuS+SykFCc9DG1x0erZEFFH0UthS4NIbNxmJUAJbB2u73T9SzJ716uPl37btwLGfDdGzLFNGsxYLNlzXGxXlFeZoUUZUjaiM8mv83hOPbEBXTxv2O2hX7LHPKvQu6pbv57KFUfftsYHH95HPF0d9LxaPwPd8FMbMtI8nonIcuVwBuWweDr2ypoFoPAqnaMPLFYOJS+wkh4EYxRK3qvl1iS4DHnt0A771v7/GylWL8O63n4EDF3XC2TYklUA2FdG6EHyYErM07MnkeZOKSTUuNpiVkbas0jXUszkdJForaOri+T/VOTijReoEuo6PET8o/pk4YVHQFh2ECwVECi6K0TBy7Qk4FQhTNxKS3RDGonFhstlx8beb78NpJx0ys7Hd3IGhVYVimuejZUnFvdCWgM3nNzzB81ta1FbbBsD3p0HfQofnym7OFissuz1K86BCVpnzULh+6IoPItTi24/VgFXLusHKqAhItyRegzxL22DuJT2A9bkYsLLLsZQUC4QCiqKaHd2dhisimIKWXcvBcRnjCtmnB9cjPZDBItSPP/7fTVJBLXPk8/bHueefiiu+/yexCJQ55eyjcdo5x+KS//kF7rvrseGvv/LNJ0sn+08u+d2o6/vbPvhy7LX/znj/eV+R/Ngyr37lCyU791Mf/cGo47j40vegb9sgPnHhJaPE7Zd/9F48cPfj+OqnLhv++uKdFuDDXzkf//zDv/Hj7/xh+Ot77bUS737XWfi/q27Gb676x/DXDz1iDxxw0K54/cuORXu6AGkZMw0ZT2t4+WFhIlVDyxRLAcepUtBQjFHkpLvbEU1nER3KB8MZYqOrdc0qYjulqcuoaRD/pLdsBlmx/HCzRYQLFvJtoWDwgQ+Zmiae05ApCwmXFeNxqrP00JLs+q34zI//gl12WVpxGhv91RYr8Uy+kEWYPyyyuTChUOZzPuWNcQCQ3KBRk/eQAZjooD/ftbFZxWxToVf2OUwTv43XHRWxAdXdCJ+4+sqKJ4Vi0qd7lVt0Bgar0YhRDcQzGwhXwioLm8Yotos8TpgyHYnit3xRtAwLqxcuQyGb3+G2avlKO/GMI3H8qYePqsiSl77+hTir5KclrLqSN7/7rOGKLKuzv/zRNXjgnidx/kXnYNc9Vg7/PKu65DPfeseo+3vy34+j30zjgx9/HXpX9Y4SrYuX9oigHQmrrfvsshTf/czrYCfjQZ6nYSA6kMGRR+yJgw/bI/BWMjHDNNDneihaptze8pWLcPbrXoDOrjZc9KYv4w0nHwonGZXxtOPCrnyKHsdFuGCLd5oCww9bKFLwsIpoWYjmCs1dnS0NOQhE7PSbuqb12jYqbZwqyOM41NkVWDSYVOByBC2Fm4sIH2/mtBa47CstLChqeewUtoaBbUM5fOTSa7Hnsl68+uRD8P0fX4vXnH0sIhHW4ksxdZyEV/oYvh3Lgh8KPLceFyilxQkr7dOh5NSe1u9M7w4CMdvue1hUErMaz9UcqJCdo5QDshWlXjA5gFUmvtFH4cHxMaPu6ykxgKjFLc+Z/bo0fY244vP4OBGJQom+3R448FxXhG5aAuaDC+p+q3ZHz5IeVJVSbJV8yL9L04lYzeLxlH+Mx1w6bL/oIMYtdlbBxlTHoiNm3udzBbiujw994Y3o6Gob9+5pDRgJvbkUorFYZIfvGZYhXxNBky8G3e/9aRGzYcfHYCqKQjIRNAKVj6f02eNWsWXilz+6FuseewZvueilWLtXIKyd7YPB3yjVwQlErByAMbwlPozni7DluFpjMBtUa0MhgEMaskURQ9yOnmnOb20rsdV9bRjTvQ7Q3mNTrLoyoYs2DXnsSjfmmGFODxGKbZCKqcWFqcOxzJ7YRaT5SiZqediwqR97r16M8048CO62NG64+T68+vTnQIq7PHd5zjISTCrpXNSawxX28mJnVgQvm9pSWujyPW6BVmabBhWycxXJFdSyrDIGP+jurybcqu90bbk4UwgWSpWLWokHVkfXdq2d8e+zRjzuNbNsQYApVVqG0qd8RwRtH7vJc1n8+WfX4tyPvWr4V+SxrLRV2mNF0Q2aV1xXmmRESEilqjQljBFW8rpllJIvt8+bFyErW+xlv2hQCeNWL7deKWop8FzTwI1/uxuDAxmc9JKj8KZ3nYmqQN8iPZTseM/mJbdTRAg9r+GwVOec2I5NQdlMHn/53S3494334kNf+H948SueC2uEEOXthfoz8m9WVKcNHwNuPUdCQcXWcRGyg+qhVAELNmKFIhx6dsc0B9Wd0qCDWojY0s3v8Nrm4BNuuJdHtz4rYF0YRQdeLIx8V6KiRjkuChy+rsc8Tf0DGWxYvw17HbIb1hyyFhwdkh8KBoiw+cvt7QhEK9eDNXz8KaiL9RjQUBKztBksdG1ssiLaANZgVMjOUXixZotIcDFskmqE0lDkXKjitDdaCJh5uTCXQdqzpfo6YNZ+K9fzPfQX+tEZ7YQ5A5+tTEGaYpFHkUEBKzYJz0NUtoJ9XPu3/+D07YNo726Xn+MFerIyEIWVJc00tog2buOanLTEBYVlBM1Lpilbq3JbFYh/Eb6lSi4v3qF0XgRwPu/gh7+6Ef958Cm8+U0nS84mhab4HWeKxyD9omzVM2qJ90PhWkw+Kwqlm9xkvNmz98OGsd//4u+49re3YMXqxXjVm08ZtjOU4eMS70/L9uyxR+4Fy5rlucOKLQU9K9UU3hycULRFgLNi66VzKKbiDRO0TCeomSdWzkGRrONcBzgIJThJAwFrw49YyHemJDJrNkMlKGI//cVfYI/dlmPPPVcMvxTc0s4Ac179jhSceO3fFyjZnTq8/wR39qxntlyZraXPWZkcFbJzFF6s+QZmDXd0K/Mdc8QCZ1awWul7Et6eCBJc0Ue/aZ3eyCmS1qfXoyPSMSN7QTnWq1T6nPJnKWh918Ua+Fi6uAtP3XQv9jnp0GCLm9VR3gQ9fyURatqOxBcxSJ4iSrr2KV7CbFIKwbEm2T6vgPJYUN96dvIo0wY+evH/IRmP4DPvPQc9ySiwZUC2cRlTRL8oo5cqFrWs2uWKiKZzQTwTK66lMPyxiEiinmcwfSaPbZv7sdPqxeJLP/+95wxbCEbCimmsLw3T9mB2JPCGUkpD1TCerdTarotwjoMACogPpuFYIdipWF1D7iUn1nek4bAWgkdGLpcmeo3Eo0WAgpJ2Hzb1eZ5kr1bDP1wWsbuuWYLXvPy5o74XCll48amHIRQJITyQRsZqD6rmtaK0W1HXaKzhyqwLzpfYaoa1aNQgVMjOUcoB8UGXuq4UldJEq9LQgJnCvFfGV3V5Qbd/v2GhYIWau0N8wkUe478qO26p0IbCWLVmKR6//REccdBaZDuTQTc1faVsQipQMBUC76jrSrWVFVGKhlqK+o2b+7FkUZeIwRXLe8XnKh7VUlUyms7LB32IhWRMfKgiKsZ7zujLpaViIINUOKgac4rTpJVi18Ng0cXVv/gbrvvdv3DAYbvj1W85DS988RHj/7znIzaQlQp1kd7MooMfX349zn3ZcdIYVG3YTFRMWbATEYTTjJcqwOLfN5RFjBXzGuvZUGnYQZCJXJutb1lLjdlt4b9k6p0cg4dsMgarp71qDXB//8d9ImJ53vGcGwlj315yWtCkaGbziPVnkO1pm93uwCTQruNatU1/GA/udg7BRJfvwvYM9FszsMcos0aF7Byl/KbGi3X9BwgqzYhZOifcWVRhezxHOvw5fahVg8H5euAFjwMYpvtYHHDoHoh0sOHJRWpzP+xoCBHGPknTS6CIJM6InsMaw6zXH/7sr3jokQ343MfPxaoVCyesSpZFbaI/A8/MiSeSQfecivRsJdlFWyaHaKGAaKEowq9c/Z2M/m1DeNcXfo4VaxZPWIEdCau8/JBJUDxG18UNN92LV5x9dE0vSfxbiu1x2G5UYqXgDyLMXQWPAzJKecJVXvRz8Ean58rErmoPOxhNKcGhtGDlkBFCL+4mM4RuKwIrGUOyCiKWlVi+9E994cFSCGUaxViYN/yVb/0W7zjvVCAeDRZSAyZynamaeOe56+Fa9IjXP99VmkV9A72eIwuVdL3sDcowKmTnKvKmHGxpaUFWQekCNzJSqlLY+NQ1ogo7UMURmjOBXfWpcGpmYevBDSAPQzqPp/vaWLS4GwvWLEDRdhEv5ND9zHYk+9LIdSSQ6emoW3f8U+u34muX/B6dnUl85KJzpAI2KSNELUV4uWnLjkZRTEXFP00faaJQRJpTs+JRpCYRBZlsAX/6yx1Yu/MSHLhiES56/0uxeI8VUx43s2FjAxk4sVl6d2cB77fYFkeWflmJhIO8LiSGzfDg+cEUuEqr9RNBH3b78MKvtucFxztbno+kYYkYHzKCCDlOxDNNH65pBUkDs6RsJzj84LV4yYueM+HbAK0u99y3Tj5LE2WCYjYX7Aq0J1FtuAPCIQ6NggMSQnDR69qywOcCQqkfKmTnMJw3n9AptUoJbqHa0xRa3JrkmzMzVtNNUoVlg9fqjtWzug02GBn+DGrTno9vfvJnOPrAXXDU3qsksigkuaUckZqXrfJ6iPw77noMhx2yFi8+5dAdtnUr2Wq32Xzj+Yhmcmjb3CcNZBz5motERjVtTSRg//yXO7ByxULsv/cq2V5dtsvSKavb9A3HBtLS/e6VY54aiGdZyIWDkaNc8FNsZhBCyAgmz8URDPBgtnDQ/T/9hAI2Q7IJshbnRHkcs2H48tpOGyFsM0MyVtUeIcIpZguWKZO7quWJpf91uosH7lTQUsLnfqLRwzOBAp3nYCOFLMkZFtr8QMxu1CSDutL4dxOlZvANjZOiFYVQnkwnwJsXYm6XMR+2v8FV2LGpBVuyW7AgsWBGqQXlCkopzKrivOWo66K9P41lnUnc/9DTOPSw3YPhCqk4jKEc4txyZQRQKhgMUAsrweW/uhGnnXgIXnTyobO+PaYRsDLL+DRaTsLpPFK5PNIjRtyO3CqORsN44KGn8eDD63HBW07D7muXS3wYH0Fu604G0xqi/WnJImVm6biNQQ0aXsDqGbflU4yOgyvJG/2mKVFyUd8Fj5YDPoiMQy4J28nqmxTBbALibVcjNcYsj1pmxFjpazwOLi6LhoWQ6aHftJAuDfkYBSfpWSGYPOJKx22NA33ME3liK4FpEhxoER/MiHd8wlGz04TnMG0qTn72FefZwko4d3p6PBubtfmrbqiQncMMV89m8ealzB14Boys1EyIdFizssAGFR9DTeb5YoPT5txm9MZ7Z2ybKZREfQQUL5PfCLvyOz0HXcUCQo6DtXusxBW/vmn4NcXK3nDFKZ2Tbc58e6KqVceRVoLydK8Z4/mIZHJBJJVlopCKP5skULDRUSwgwg53yc4tDldgP/zec3Dgfmtw0P47D98Us0j5t05lqeD9hfO2bDGPZWRjUKOgkE1zEITsQDjSxMjzPmeGRUCy1scFHbv/6X5mJTRYCgXilj5JlgwopVgdbRO/5PQSCsoz4ri44jNMq4M80xIhHHTkM7qL5y2FNHfcytItSe/7JIu6omnBCYVk4cH0iumQzuSRiEfx+nOPRzwWrkjE8jl9/bnP38HywsZHWgxigxlku9uqMASBIct+sBPSP2bqXiPgeVRKMsj5JgYNlVj1QB/lOQxFCz/4JGsE1/yGF0Ve/KayBtAryWpCt+ciJxfN5hKx1YJVsox0GzsoTPKQUNiw4zzMrmROrIpFsNuyLmzc1I+BwQw62pPBWFbJhTVRjEclrirhlmKOpikaxuOBh9bji1+7CiedcOCMrAQjoViNDmUR5QjXaDAOtAyPPx+NyFZ1aiiDG/7wL1z259vFQsAK7LKlY6aayQAHH/4Uf2OIQwmGcuKLxRSNQaz6NhJWUMPw0O07CHk+BsyQiFwufAoSMcfHy5f3VFZHQ/CHxS2flZDnoctzAkuBZUlawLOMrHSPeByCiRej0mZYIS+LVn7N4eCHycZLG5MncMjfEIvApL1gGudk2U5w+smH4cjDd6/491hdP+6ovcf9Hl8j9GdT1IoAnQW0q3CsrUxvaxLksfYNdLt8b2ETofpla40K2TkMRSwrAnyzrXY3rtJasEOfInayiqxZErE9voMhNo3M8So+LzDBUK4dI+oo0FhVY+A5hQUjdnpKAjKZjOErn3uDiFj5bRm36Q9nydqJmAwjYNh/jmJ2srGrU1gJWH1evWoh3v2207Hbrstm9fcy3zY2WIq9YqrCOII4V7RxTzaNRdEwliRieP/Lj8Mu+6wZ19PIYQwUws4kW8RiKRjIiOidqEI9qjGoCaDtxIWPdt+F5UGsBvzaswSNtMOvj9Jij5XUFGhFYK5yIBap26dy14p4NUcnikznkZAjY8V2iqp4MRIsXDiIglv70/HEPufQtdM+dz/+2Svw0fe9VMYdj0RG1YZCUpXlQm/GFoPStDlWdhvVODjZgojnD3dy1GJQe5rr2Veqi2FIVY2VA2V+w3OAFZ6J/HplEctK1CCaW8QyraAr2jXz1IIShVLFKzpGaAQpDQ66fVd+JjeOPzgaCcl2PxF/aMgUr2kZyY71fMT7MyJqpwtv+6Ofvhx/uu5ORCPhWYtYTrhK9KcRKpa298eI2EyugCuvuR2fuvpG/Lt/q4ir/fbfGXuvXoJYfxoRjhwd4501C7ZUwibLJS1bCpqpYlYJwSAMU7yxjJxj1XUqaDVIwZPzha81fmRLtzPZB3+O9hZ7ODZxevB+A9/u5FC80kZiFZwdnssd/n7Px/989aoZe2JlaMkz2+XzeHA3gHFwFLMzHUzBvGY7FkaBwy2aEPqXaTFgA5hSW1TIznFYdZqbm8PKdF/oE21xGWNEbLOPWmSD1/K25TNu9BopVlhpZVNPGQqWXs9GWymlYaLH4v6H1uNr3/79sxUm05RGlpGImGX3+0AGoUJlYpYX/utvvAef+NyVkkrwopMOwWzh1j7zY6XRqpTdOhLX8/De/70K9z2+Ea87ej+cu3zn4WxQJxKMfGUll6KjHOHESiuL0M4k3edTWQpawn5iBlYDilkmeEzy02iXvFhPFj/1XqRyp6WSQSfFZFzEH6vyE8HKOJ//N7/uBTNu7KqEssWAkWzThZnHTNrgmF2mcDQjgSUlsBhMfu4os0WF7BxnuDtbq7LzFj730ug1zgWW3+stidghWPLm2+wwteDpoafl82zJm1ZpypeHOBvcKFhAETtx9ZrststS8cly+5VwDCwnXI1llJgt2hVtyV53w9244PxTpQFqtiKCYpIWB44mHTmkoVyB/eV1d8IyTfx/9t4CXrazvB5eW0ePXpfc2CVODBISnBA8KRqkSJAWSYH8iwRroS1SWrzAVzRoS5HiwaW4xYhAPCFyc/Xo2Pbvt56959w55x4ZPzNz3tUOczJ3ZPte73rXs55/eekT8E8vfjyO3jh+yHdw6pefZah9ZrIgU9OG5yFIW/CW8luGK1sKVioM6hWUNEOOj+XILJVbKm/lVZAN+IsrFSxWwU5tzkhOBjO6f6iGy+P5H9/+Bdxx514cti3uEtcpzFkMZktxG+e6PxgJEWeRoQzMehix5zouFlX34M5BEdkBB4PfnUWmTxXWDqQyn1OYC0/3pBq/SmJ7XYmtVS0nncklpy0bAdUzTu+SpJDEUlkrSlHP8tuCPlm2g2UhliyTYUjB12Ko2gzYCGAx8lC1Elz2/SuQyaTwz298Jk6so7lAXSQ2IZPVNrlMISCBveidXxIF9oQjN8vr60huVuqKlUvB9EiMZ2GVK3CyS7eutStu3ZaCamHQasVv1ZsRyviq8UXILPNcSWJ9vmM1TiGN1oL6b+Wc1q8MZWBW5lsMqp7YIw7bIMd2K7BtC6955ZPkeaVlodXBKlUathSwmLIfIBaDMJDOiAqdgSKyAw6ZHmPMkDqJ1izsJOx9odrK6XOSN1bv9wuJ7QS45mMSNba0/WIxMIqqmNyA5xV8LQISyWqxVW2HpVorgeN68t+ten8JFsGI/zAI5bepwDqeD8fzcNOde3HJheeKAnt8QmTrAosFmcpQcoVMhEuQWNoO2LaXXZzqsRRQhX7DP31OnnsZJLMm4lQCWgiqyEQh0pJB2/1zaK7Qq8FjpmoxsMts1RtJo4tqYVc77ASMiDv5xMPriorjclDt5/mx4vc6niibvWwpWAhedzkXQ9GAtQgK7YcismsALD7Q4zDC1V4UhW6DWZQMRF8Qo8WbLzvQ0G4wvyJ7bWGI3ZdCX8LkG70tPvn8s/DIh528ZMHXQnjplBBAu1CeOxc/+4X/w/9+4zdzVoJ2kFi2oE3NFMVHOI1oToH9w/V/wfhwDv/wosfixKO2NPflYYTANBDYFrKzJYk/WgjGj1Hto9rWjsKgXrMZcGDIds0kJVU1Nm793P3loXGM52+j8Yq0GFTGhuCnTDkmsxkbTzn/7LZ5YstlBy+++D/lua5GCX4Iu1hZcXBmJikFvW4pWAh2d8sh7vSm0H6s3TvYGoJk2bFzj7IXrDlwn7vSO/7gqW4lJJY3QanI7zOQ7G3MbGyZ9OWlcxnJvI5Jg93qtbmQ+3pA4vWt7/4BMzOluCGCbQp5XBKM5krb0jTB2z8tL51xv5146z/8dVusBAJaGGbKYiv45a275iwEVGAfXNPIoFkwUD9MWSiNDUszhOzkrHhmq5CmCoUyQqt3OsG1G5zdoJ+aClsu8OR8Yhvb1QAbM5D+1VPotRCBZeBeaHj3p74PZ980zrr/fdrqiW1EYfepDhcdUVyXJLGOJyTWGcqi75AUfo2GgaSiKLQX/XcXU2gYnDYu67pc9BTWFrjPue+rU4+SUBD4osjSu9WPYFrBptymllILuP7joSf5yiT5VNRY4JVp4Bwhkf79FTfjTzfeLf/t2za0lWKNdA3fu+Z2vPJtX8DsnkmccOxhGG2X149e2P1T+O6Pr0LFNrFjy7o5C0HTCmwNSFI1P4CTYwteTVrN6m6A9GRBFDWCVehGxWtLI4ieRWLXGo08bA49OKt4G2XzCmnU0ASmJ2fx7rf9N1KjeaRHs7BLcTe31QAj3PQoUWUXLAPJLePjSGKli1yfogwdGaqy4sVXaCf6806m0DBYwGJKBxlFZtcM2HlIi2Q6tAp2qRqBj5lFslH7BUwruH369qZTC8yExOpJVXEVs7opubLs5lUvjjtmO264KSayoW2KMrtUBXbZ8fDBL/4M//2jq3DJMx6GLYzsaqRaexnQ4/iNr/0KL3/bF/D7W3dhpuJiy/rhthDYKpiHy05M9DRW4WZtqSCnH1d3PfE6crq6kWOr3sKgXqs90CNgLAoknms1IPmxkd6UGkwS+963fA5HHbsdz7nofDjrRmW/kUi265hsFEz+YBQXlde5dIKSA8MPUFo/Ehd39ek1S8BsYekmGKhs9zaja3knqVQKrht3qlHoPiSkG4Z0nWGSgcLgg0kVVIvozyJI0Ojt47GwXLRUr4PXkIJXiK8lDa5G3PiBleeRZMjWgjFc05qBDVEo/1IPPTn+2O344ld/GX/e0BGY+lzHq4X49R9vw8RMCe/6f0/CWD4DveRItbZMlTa5P6rFYZ/g9PBsGW949jk47tjtaDcYHRbZBtx8Zv6yJgVgdqECs+yIMusOZZoqDOonsFsir6Ul6JIf69XMenQLPIY5m9BM10bDNHDmQ++Lxz35QdB53BpAaXxYivRSs2Uhs+JxbnKd2Gr4HW95TkMth+PkD0/IdGgYMkCiFacymus7T+xS4MCZ9gJ2DZw0+mfgtqYV2aGhIbzwBc/HT3/yI9x+2y148pOf1MmfU1jBXkAVrjb8XWGwwUpqEjPue1oKWJnP4pQ12/s7iRtjwUWBl75FbtLshDer6WI9qAfMk33A/e4jnZCqpI7T7wd/MsJP/nAT7t0/jXPOOAb/+DePxVhCXMUXSAK4hC9wJQX2q9/6Ld79H99AFIS4+CkPxtsuPLcjJFYsBV6ASi67KEGnCk2/5dCeKehB0NHCoF5BmsVe9JjrTDKI2xl3OyeUe6JRjzuV2G9/+efI5jJ4wtMeIiS2CqZMUPUsrR8GDL0ldZaDq3Vj+YZ97F7KRHZiFqlCGaXRHAobRwaGxNZeY9jxS3ll24eO3tFIXI8++mi89GV/18mfUagTJZ2x3qpl7VoAu/1QYeSNtmopGIbft77YdiAfhRiNfBRI55e8wWqY0U1RTurJfWSe7FP+6uy5TlgR7QUcOAThQSvB9y7HdKEiN3U2H6hC4oMMXbpf1UsYPM8XAvvqN16KG2++B+c/7v5IVVyMhCG8VAfawIaRVLU7Qxl4NQ0VFoLeYBI5y3FhLJGVuxx6PXqrFtyDORZRJrdPeh95rGS6aDGIZwziFsv1YnamKHaCA3unlraYJYOxwroR8aPSn8rp/UYJLffnS/7fR+rfr2Ek1hW77MlgiccbUxX6JWKrEbDoK41Qmmgo9IG14LOf/Vwnv16hQVCJK+i6RA7NNlkgoNAfoI2AvmjaSFIDYimogoRwW35bQ2oPK8vHIh90xq7UvYwDgCndlEQDdvlaqZjnl7/5M+7dM4kLnvRA+LzxWiYmJ2bwls/8CGPD2dhKsESlNZMOrKrFYDi3rAJbrjgYHx3C9HQR/++i88Wfy+zN1MSsfE/b28CSmJYdIbBubhn7QxTBLlfkfVoAiRcrD+f7si1tvecWZ7ZE1U/8smwRy+uq2yWLAX25cZFifSh5Lj750W/hmJMOx3Nfet48JXYxVNXZIG3LsWmVPZk5kC5v7MDWpnUkQWYiAQdCbGVM8lxt98wYuUEkspJgEGoYDn2Z/elr32+PoDd7Aip0DAXNwAhv1VE0EKRGYYkiLyleijtUDQeeTH/WFn31M5hWMJ4+tJXqkogi6axDMjur1XfJY4rBpGZiQ+ghYOekZd6bzaZw+VW3CJFlc69ZQ8do2sZ5Dz4J55x5zDwV9hBoGgIpcnGlcQHzWRcS2O//+Cr84MdX4dxHnIqnPfFsvOA5jzzYBna2LD3nw1T7p1/NCn2xJpyRrKQULPk+tqx1fAQk0/xvNkywHEk1GEQwekvMIDWbhMpoNkq8j3r7iN5SsCJgVn6jvt+Zdco4eue2ukjsHEjQ07Y8GLFmll2kShWJyYp0TZqAkHSG/L4615czFcxalmc/Jqpe1oaXTcftjjn4iSIpGmRnODc3GNesheCMD2eIsghRWoW2xoOGniOytm3Lo4pcrj/a0PULWPhTSjyAq0lsDtx5AIOM1Vw/TllxH5eT/UwSVy346gSiMITvNe7zbCm1oHAHjswfUVcEFz2x2cDHtHQ3q385Z/k/AZXcOPyeuOe6uzF9b5wBW0XKcbF7zyT+8MNr8bOrbpQb8d+eeh8cZ6Vx9x/jRIOVkHZdVGwLhUx6jhTs2j+Fz3zvN9iybgRPf/j9cMTm9bjtd7fNfcZ2PQwXK3AsU4hFO3Dg9v3g1ffAdXejMpbFLDtAmRPLfiZbdpCtOKgk1gbTZ7PWCNO5DAJj5VtMGIR41XkPxj1X3VU/yWoDCgdkDyMM2F62/gIrK/RRlo5N86eGZ6MIGS2AGUbz0jA6QWIdhCjoGvxw+ePZCX0U/AqOzm/BcWduxYG/tHZdolJqeZ40JrA8H3oYxU1A2NSOxy0JLi1Nbrxcs7fulSg2LQrZSVfEExJf39RF2SV59Z0QmHIOaXHs757B9PhQ3SS5n+4p3Fa8pOR4bR5E1XmtE9lXvPzv8OpXv+qQ10877VSUy7x8DC4OP/xwBGHnKxmznod1lSJKptV1VZakZ9u29bjlh3fiAO7CIGPnzh3IZLLQ2hgyvhKotOd8D/vTOWwwTYxXysj6LkqW3dH9WS6X0C14gY8br7gJO++zBdYKRMkMQ6x3KtLmwG3mhhFFyAcedngeNm7bgL/csg/TtxQPeduYlcalX/sFxtNpPG7b0dh/3SRSQQinzt8sRiGsMMKEbuD3U/tw/Og6DJk2/mrrTmzPDQF3+pi+c/e8/TziupiJ6v+NesCj5PBNY7j3L/ux614fjn7outaCBN90HDga4Ncc52mSQ0PHjGmvSERs38d7brwKrz/2NLhmd29Jh23f3FgBs+ciEwSoLLHNU0GADZqOadvu2LU14/somSZSVmpFO8F3b7kWm/PDOPKIrbj957swiV3tWxDue3Y3Y/dAsVuEcjxwraMwwsuPOQ27fvQXGWT5TFfQ4lbYgbayvYfHdzrwsT+Vaei83bnzMKRSGUll6HWYYTzo2ZvNwU9qGerFkUdthW50TzxYDWQymf4lsh/80Ifx0Y99fJ4ie9WVl+Oqq65GoVDAICMMLFx55e0d/x1eJLYEbhyK3+AJ1C7ceOM9GHSQxF53/R1d/U2O8Omd22XYsn+3Ba6Et/MG0glQiSWJXfeow7Buxzp0Aw6r26/4GXY+975IrVDRzDaq+ZkSyq1Mc0cRDvzmFuy94V6Mn7UZ+e3z1zPkDf0jN+CUY47EeY84Tboj2Y6H/EwRTnW6dAWUHBc//cON+MF1d2DblnFseMTh2LJhFEcu8X4qVlwvh5mubdy3E9fejXvv2g/tgduxacf6Fd9vl13kZ0twFhSC0e5guT6Kwzm4K0QwhTNF4MarsPHRR0BfxifcblBZv+t3u2HszGHbSSunPTDPdGi6KE0t2KZ3UXBavOKiMML1bv/gkV5SHlszY3msWyZ3l4Vd9MQefdJheNjZJ+P2X+6Cs1HH5uMaI+7NgIPGMAwxMzmL8bEhOR+4pI1KNFT67VxaZgXq3Z+3XHeX3FtMqz+irRjFtduwME07SgMwdA9XXnUFBhn5fL5/iSyzZvlQ6ByoFLCYJRe4MoJeaXTcblCh7JcLTSvophJLxL3fIfuWNxNaCjj52SkSWwuS2E3HdP4mSVSSnuwbd25CehmCym5AQ3t0BFtHkGeBSguYvGcKM7cWsH3dEEY3sUe9LRXZv7v8JjzswSfhHf/8PFQcF8NJUZcWRMhNzmCYtotlCEcQhJKj+tOfXI1bp2bxpmc9HEedvlP8skuB/sLcxCwwkka2gZzOlQu7XJTX5bBrt4/NO9bXNTDJTszAGEkturz0VOYtQ/JJlyPz/mT82bFtYzDHhtBNTGM38uuG6lpXFuVlUga83PKDJ9NxkTMMlMeHELX5GsDK/ohdsNaPLLtNr/7WrXOFXbQTcD1JYo95yDHoBsolB++/8F1432dei0y2Of82ExO4hjObxyXibSXsuWk3brruavQTOJPBIkHGJKqir+bR0Tstq4rZCIEPwjIt+dtQnpBVBz2TM7pRV8SQQn+A+5JpFFRgWURAb2gnvbGrBStt4W//7W/keTmwet7wQ4QtkliBBhRNG7OjsWK46+Z78JZ3/A9+/fsb4bo+/CDAK177CUxNx1PxLI5ymCnrLX5+FcsOvvTDK3HRO78ofz/x4SfjLS95Ak48crMkBSwHBsWTpFeLq1peNfoei44Ums1mM3DrnKWRinMvWDRblmCgvun4sJrIye1FmGzoU4e6zoEL15nFcu0Gt7mTTS9JYpkTOzUxi3PPewCe+7Lzu+o5bjcCy5REAxaaDSoY4UbfNZvXKDSPjh7lZ599Fv78p+vkUalU8K//+nb5+21ve2snf1ahHrBBQjKdQZ+TQn+jug9nOEjUNLEYcJKv22p7N8CB8HFnHrvsgJhRQcxndZdRNpsBp4t/csNdeMt/fAMPPOVIvOHlT4Rtm8hmUtixfT1uuOmgZYZpBKzsXpjB+bWf/hEXvfNL+NPtu/HKZz0cuUxqLtkgsA0hQEvdvDllzzaebEDQDgXH9IK49Ww+jdJoHn4D3kLdC6T5w1JEVgp/TAbrl0Wh7mewYxkLnBg/tSLoAzUNia1iskS7wHxebms20liu7ezPvn+5iEjVbOO+ha6JIttMw5B+AWfLOH/GiESF5tFRa8Gvf/0bHHX0fTr5EwotoCx5mQbGObWxRKcjhf5RYyd1Q1pmMmYqH4YNd/3pF9Ba8C9Pfxve/KV/WNJaYDOWipXU9RCPOkEvLJEdH8ZFr30aTjliE+yZsvgBqT4y1/WGm+7GWWfE07ckHSTSqWIFs56Pu/dM4dgjNiGbtnHJhefixKO2LN6mM/RhVFxRpBaCChWzY5drTlDnyoiyyynbykgeLqd/GyQ+nEJfaeo8zsl15b3eElPM6cQewede1d50Nnmgup+p75bJfcfmEGztu5xNpBEYFQ/lkdyiA4cqiT3q2O04/+kPQy8g3eoxyuNHBgSO5MsO6v2JND1HT/FgXq67gp7zyCp0EeKVtZCNoiSyqfcrPRUWz7Vk3A+9sdyn2TCAPUC5sYvBKS09/U6yJwH97fKPAti3fwrfvOFKPOPODTj94SfJaxX6y1M20jMFaed5ws6t+O5P53v0pjXgxz+7Bt/67Z9x2rGHCZF9zNnHL/tboW1KwRCzNed5AxMfq1TDt3BTZ+6rRjtE2paM2KCJpACxI7hxF6bl36jJOlCdFPK9yHJXJ4R6eWKIVg5Bvdtd8lBjG0g7iCzVWHpj/SUGA1/+zA+FxDaUE9tB0Bf7/s9e0vL30D4jVhqPOcWDWVfhaJo02aAA4Q2o+NBpKCK7xsEuNAd0E1sDV6anu9GVRqF9YPQNcyXvNUy5CLLgi0VevDiuVdBjyqlgL9M6kY+iCL/6ydX44pd/ghPHt2Db9g0H/1HT4GZs+NaI+HHvf+xhOPOYbQio3Jm6NDN4zVs+hyO2jOONz3g4jj1hR12/GZgkfo5MqdaqmPSjUtls1hvLqnvdYZMDo2kV9uB3+dDqVChpg2DhDgn0YoVvTkIS+Wz2YBMF2iKYFBA1qO5TjaZtgwp6qz5to+yhPJ4/RKUvzJaQzWXw7Bc/AamU1RMktlrEeMO1t+O4+x4pxYzNgoMgJjXQ1jGoRJaxZHn40i3OW7uX7ZbQG0e9wqqCxUGT1cKvXpZFFA4Bu8PQHlJIRvIc2fPB1rRrEVQKOZUvHtI24Kbr/4JvfuH/8MTzHoTTthwuUUILQVWyMppHedMIrrxzHz71+R/hil9djyHbxD9c8nS88VVPxYk7twgRrW8lEhWzMl91NhxXAujrqeCeA6PBvECKubht2Ha0ODYsnthWWsjqLk0AUV0KpZARaGKX6EcIaXcDBA0WKVNB5TZv1eNJe0JoG/DSqUPsBO9606fx259dIwpor5BYwnU8fPDtX5DnVsEGChzYDTKCSJPOcArNoXeOfIVVtxhwepoWA4X+tBQQJLHcg4PcfthO23jtpa+W54WgYkn1j57VVnD3X/bgnr/sxTEnHo63vP+l2HHYpmXfXypW8LWv/xrv/fA3ccWf78Lo1nVCXI8cykiBFhMMYvJXH0iO+flqoZgUeVW8pfNLF1ERSaBIYMGBzXAGpXVDcPOZle0AK0GaIHiIGrAksIiN2bcLC9/6AVLUJn80fk7Ro007SNNFX2w24PpwuN9qBme1ntizHnpfDDI4KCWZ78djp164tIRJYwklJDUDRWQV5lkMeGuiV0eht2GKpwqY0GNLQbXRBRVab4BJLKHpGkY3jsrzQtilShyR1OQ2oJXglz++SpSum2+4U6q/c/mlA9nLxYp85p479+KWP92J8572EKRzKWy5331Q2DiC8lheorukA1bgwypU6qrgJ9lkIgBJFMGbOKeolyOyUlmfkFdOaYdJlmlhfATuUHNe2EV/h9m3QSiNAeqFrI8Xin+532B6nqiCzYD7S2LKmiRhkpSQMuGydXGCMIzw4Xd+qac8sZ3E3LkwwESWibm871oqhqspKI+swhyKuoH9kYmNkYfZiK0EB5sQ9StIivIIsVe35iwFRCqJcal9bVALvd503j/i7d9+67zUAi0IYFU88SY2A06Dfv6jl+GGa27Hy173dPH3LafA/viy3+Enl/0er3jTs3Cf43fg7//puSgWyvjmF3+G6ckCRsZiT6ObzcTV6ykLw7snAebE0j5AImjoQgiFKC0435gIQIXZz9hCAOepgmEEIwxFqY2zamk5MCTuysllENrsZd/erl9V6PxN+mMb3M5cX2axLkwvyCTKOp97LmiJ29kPJBe4Kej0eIZJsVKDxyUVOs+XhhLcr7UNNF7wiidi05bxniWxHABu2b5entvwZZJAMshEljGJBuKWv2ySoNAYFJFVmAdOU7P/MyO5plQkV0+BiiuLu0ajALO6IaP4IfE1U/SLMBz6GIp8Xg7lNXY9j20GQJj8zVuB6O0DOEihekUFs5m0AqqqpmlgbN0w3vSuvxUSuhSo2P7vZ3+EHUduxssueTqOOuZge1Oqtw999OlCdKvfQRLEin3fGovJXMVDqBvQqdBymUlOnMRzOgcNWuAjQ3+kriE7VYqJurwlQsTBiqkh0A34I0w3MBBaeuzj7PC+JYnl8dbo73BqXPZRUgxXRZAo1NXnXoLBPOYmSHstSEIlq5cEvoFtRktCQHKftGGmneADb/1vPO+i83HEzq3oZTB66y3ve2nbvo/XMJL6QUYYxaospD+jQiNQRFZhHuitnNAtqaAcSjpFKXRfcbWS0TktBLyNmQjFBzTMRAJooGsvrXvQYh4rRGxj6Enslq2Rwibg32GVxGpzpJaE1oEutgTaSniL6PfEChYTcf0aIQvVVIIrf/NnUVaf/OxzFn0f28/eOrEXR+FEUcJIYOmfXQzP+pvHLf5bVEuH8zCcaWmW4JkpOFTdghA6b2BBJMoTC4TikUgkVgmquiTCXsqWyvlIjwuoeERUlbpuZ6qGTbRepepMv6d83jzob3Y9b+7ZRG+lFpC0cz80VGC3ALR0UJGlolhveoGojxFQGcrKQKjWE8sBVK/D9wL89ufX4KyHngyzDYWXtMlwtiVuTj2Y4DU4E0WYWu0F6UMoIqtwCGgp2G9Y2Bx4kklaqrNlpUITSEirnZDWNELwFk8SK3QsIsGM1VVbWs4a2KNbKFezRBPOxve7kY8ijEMJqbwtEiLMZyP5vQypEJsGyEVUk89VEnJLn63bT0VjYYgUFawGYo4qZRf//fHv4M/X3I4XXfykRadBqxaCH33jtxizs3i45+M+JyxOYKvYt2cSP/jGb/DsFz/+kH9z0xb04QzS06U4OUDTxAMYRjo0nUSW4aNVzzMQhPEAhgQoyHKYwsEIUw1Wab9wVoA+12aIXbJ9jTY2Ceg0qB63uqVJgvVKKBaFuogsrwUVF+XRnAxgyiVnjsT2iyfW83x8/iOX4X5nn9AeIsvixyCQWQnOPgwieP3lGU4hYxA7MnYSisgqLApH07FPN4XMZqLB7RK1GiBZoZ/VjkLkokBIpVFDWkkqqZbGwffxZ1IIEcAQX2x5ETXMSghqeYnfJAFK6t/j7knzrpPxZ/kdo5E/R25dTUcRuhwLrKrtFc90KpsSfyyfq2DElO56cNmHvk585sPfRKlQxj+8628wMja0qFr7njd/FvmhDP7qvAchf5sPqw4iks2l8csfXYXzLnjoPIsCi7z0MIiVyTBE7sBMXAxERZa+U5JYEWMPTrFb1RxS04RJb21SyEaLAlVRfhfVKv43yS1v8gGPjw61J50r9GqSTFFRth0fDqv4+6CFKgu9VupeVg94Ltfr8axaCuitrk7TP/GvH4FTzzi2L0hsJ0AriiSSeAH8QSWy0CQCk9dhzrop1A9FZBWWBJXYfQA2Bp4ohYx6UmgOHGWTjKZIYKi6ClmJ4EMXFVRG4Etcu2wwoSDCPt1GaYmbKhVZQVNkM7YqyG02+bieENuxyBdlkAot299WNEOaLaymDSEKI0ztncLGHRuhJcokyZ4mRrrll4vklArs8ScfiWe+6LEYGs7OIwdVBdYpu3jahY/CxW9+NoZHcrjpFzdh8rZddS0ffbLbD9+IW6+9HQ844xjx7dIbyull2gYY8E51Lj1Vgp+2xDsqxFTTEVkHj4NYfQWyFRdO3pRiIZJdsR9w8OP5MBxaR+JjSfR2rouhw7MMUadpPRByu0gxWTcLvaog+aaiy0I1+nuJqhLelsKgXir0qv0qI17vRiwFU7NFUTXpiT39rOW7wQ08pOCr/sFAP0IVfDUPRWQVlgWLiohNgYsIoahzCvWD5v1MGGCIJDYKhZywSItKZz3T9nZCevczoWAZZYi/E5H1tIkLcEKVqkBcQRuT2uEowCh8uKEuTTRKuonCKuQeuhUX73rhe+alFpDIRmR4dVoJ3vDOF2J8/UjNvzn44bd+KykE9CCe9/SHyusksY1MQxueJz7Qk47cjNuuuBnnHLE5tg+IWqojMC15dnMp+JaB1Ew5TllY4ligGsjvZfU7P7fS1iZRJtmkqpcqOrF/mqqtqcNL20JAA8NsnpxJQVbjhV5VCNEmGSchSaLE0klxHp97KbWA25HrW5vf2iy43iTF3D9L+m1rLAX7KwftBMvFv/UqdF3DCaccJc/tA2c0eq8gsN0FX6aK4GoYisgq1EVmNViizLJsSCmzy4NqGRXsEacirX85be9BxywNBA0QgFSixJLEVgcUiyJRezs39R+T72r7REsLMRIFGAkCzIQhMoEnU86rCRaCcIp9KbC5wcfe+78YHcvPsxJQga1utbtu37NsEddi4FQnPZ+c9mSGqy5RWMDDzzoOMxUv9sEuBk2Dl01LaoHp+KLMLvo2Dn2C+lUoIcskSjVfR/JEEpWZLiHkylomHFGCTbEs1CYIrASxP7Q4WuKnhZwn8JO/q8+9AgmnD0NEWuu3yaoSzfNE9s8yloJ9ToD3vvXzfeWJXYhU2sYr/+Gv2/qdnLUY9OQCnl1MplFoDIrIKtSFGZ3jRE3ILIuElGd28RsfPU75yJcOW1nfhYs4FaBRkAib9ZDY5CQm4SVZ7gb4OyS1JOhp+FjnVDAyMY309LAEt7cSVdQMSPRYCBIsQ8jKpQru/8AT8ISnPUSIQW0O7JOfcw4e+qj74aLXPb3O32PvdxdW2YFV9mKVTdeke5XPfvDM0MxvxmYWbYTRkqqUtLbNZ5CZLAjRXKzZAYmPBDG0EE1FcuuTDNFSzL71QYDUbFksCvSsOhkbYcqCX4f/V0h1i+Mlycf1PLhJQoHn+3PPPXVDCmMbR1u8vDqnxplQESBYZC1NEjQWWw5nYQYhznr4yXjMEx/YlyS2Wuz1va/9Co998oPq8pXXTWRXecDcaXDtlCLbOPrzLFFYFZBQ7TEsubjnma+oRo4HO2qFATaFLjaFnpBKpgeUTaspEssCMG5jemJXIrEECSXf1W33GH21JRaE8ZhgkdPELIb3TCI9Xei4clJb6GWwspwV4QsUWVoJPvUfX8fVf7gRO4/fgfOf8TAhBtdddQvedNEHpRMXFViS2HpgUn0uOcgfmEJu3wysElMSDFFdGfJPdbNWcX/vh76J319x87Lfyep9ZygLnWruIoqkkGQWCjWgyi4LXRPC6mdT8JiCoGlIz5aROTCL7GQBKc9NVNclPk6FskViR1uDdLrq8Wni2HvcPnBbi6ViAej71Bwf90YRvvzVXyGdtvG4pzy4b0lsNX7rsi//Qp7bBbHZtOs86FFwxiSun1BoBD01AFbofRR0Q6awNwQehpkzW6fXs1sQ1SOJlF5qqaKaxgAtLXsUIRtxmt2X/D9Ov0+30ESC08hUdJkWwNaz9are1VitVdsPnCa3LCFkLGoioU0VynCGcnByDOtv7w2Zvth3XPa2gz9PLyNRQ7Du/ssefPy9XxUrwZE7t4oC+7PvX45HPuEB2H74pvotBPQtOj6GCiXYbgW52SK0dZk43H4FQrd50xhuuOlunHXGMcu+j35ZLQyQnikf8r1UoCS+qRNKFJMopCjMiO0Hro/h2TJ8x0G6WFlUJRay3eJxJoROvLxRQ21uuw4eV21cPBmQLCDHou5XXNyLCP/27/8rdgKFpbcfBxfL+oz7HJx/kTUjme2h+2qvQxFZhYZBgnWvYWF94EtcE72f3axiJ1m1Ei+RxE6RbEg/q5jEcoo/JrLRslFUrBKdy1Dla9IYIK7IZ9HJksRQMljjTlpUT6lMFlok9EZCYguagUndlLiresH11XokroWFSyxiIvnL7p+GXazAGcrAEYLWnptPEAS4+YpbcJ/77YRhxCSsts7rwL4pvOtNn8a5f3UWHvG4M/DT7/5hrojrAQ+5L8Y3jGB0/NC4rYUgKbcLZVglBxnHlQK3SiaFXKq+DNTjj92OL371lyu/kZm9uaz4bWlXkBauyf4XAksiyxtbB29uVftBmevGpIRiBdmJGTiZNPwM1ea4SItErGVFlutAQiJnnw49GbBVn3sFJE1t1caYilaryPL6Va5grx/gne//Wl97YruB2CPL2ao275desxYk96/B1p7bC0VkFZoCQ/NpM2Btyzo2TYAmSmInwKl6ntzStUo6XcX/rYvJL1ZYwxpiSv9mXJa2+A1Xr8lO5QnA7xRVM6ljCcOYzDrJOsWFTvGDvzsS+lLBT15R1IyWw6sthHFHl4TENvp9EpjfS5d2DgjSFvyUCcvxkNs3BSubRmU0B79OErgcvIqHj7/uE5JaYOSMWOXSYivB5IEZ6fH++n97EbZsW49Pf+ibmNw/3VARlxDKYhmpQiWOHktbqKRSCBokcMfu3Irde6YwM1PC8HB2xen2ykgOWalc9+Bn7Ji4JuHookSxyZTRhX2n6+KbZRvc9EwRUdlBJZdGkGL8VygxYa2S5nh94mM2lTLnnnsqtYCDiDYOHLg9a+0KHCCxuGvXxAyOO/koPOMFjx4YEmsYOh50zqny3HZFVmZgjAFWZCnIRCKQKNQHRWQVmgZvsCxGItEjmU1FAQrMwmz14i9V+DHB5NQ9Y6uovApZTTqgVDgtKtP4jX99tTHA3Ih3wXcYWkxy+dt5+lXZpCDg63HMFS+hk1oSPN/aiiKfRHLt10xM0w/bxLZje1PJUO216x7JPzs42Za0WiWpLY/k4OQz7Z0aDALcdfd+fPg/v43DjtiETdvW4fqrbsUlb3u+dNey6iw+o1pGckFbBH23JLAsyGoWuVwa//HvL1qRxM4r/hpm8VdR1GBWt/PGzeiuOD+WSlT3dnLVdsBCpMxUUU4Ag0kMSeRZy0hInZf4KOW5h5KmxI/ZRuuDxBxzP4aMafMxUSzjhnv248SzjscRx+3AIMFOWXjuy85r63cuHAANIoKamodeGtT1OgZj+KewetA0TBsW7jVtsRyMIBCy1xR5pdoZ+NgSetgSuNgYekhHAVwNmNEMmXZni1YmAXRytMrv5m+Uqr8Z6chGPrb6DjaGPjJhiHVRgKHQF5U41oQbg4kQwwhkm1HZnjaWzhJd+bviIoGeha7BzWeEFGUPzCC3f1riqtoBNjj4zQ8ux9vf9t8YHs1JIReLuJ7ynEeKulUXiaXaX6wgv38amamC3DCdfLolElsFK7bvvJttReqDb9sShg8/lGguklcpYpOp+NW5gbM4jIVhCEJprZueKsRV9i2iSkj8pICn+twrkKK3dnpkOfAVz7WLqYkC/uXD38KVV9+KQYTrePjcf35bntuOaMAbP7QccLf2oBRZhTb6Zm2Zdh9j4Uqd6iwVirTEVgXiEeXNmm1amVUriutqgsVcJJyiNgNTuik+Wj2xA4xx5jdgFJkmFgN2vFq5M/tBFfaAZmFGb92aoPXJtZ2dpgLDaFmd1XQNmw7fJM/lQhl/vuo2/N3FT8a1N9yF85/+sIZzYFOzJdiFCkJLF8LdTtxw0z3ik/23f35e3Z+hR5Ykj6Tf8P24YQKPmNXcyZwBsS34aVOUyvRkUXzP9M821VxBDtrePmo7QSZYUDe9v4B//sR3cNRxh+HZf/t4DCKCIMSvfnK1dMdrN1ZrQNdNrIV1bCcUkVVoG0jIJg0LFd3AeOCJOluO9EW7gTFihB2v8gglc5VaTE+Q1xqCTcV1hMumAQVpIRvf2qg3O+B6xVMamSgUEs71LEKT9afdYrEuXcyHJemdbiCVYMVlRR8hUWc5tSpEjYR2NN9Q9mwqk8IFr34qPnDRB6VV7YMfdjJOOOkIHLNCOsAhKmzJQXqmJGTWpSe0A/7Eqk92arqI0Qa6hDHSixFmkjFr95BSSQ9tyoIRREgXyvBdD95Qpq4M2r5EGz2yTIEgkf3FnXuFxKrCrubsGQoKCzGgVx+FXlBnWdU/yg5QLAaTYildCreGXAebA1d8r6zOnxFC1ztXKKYgUFkeiuKp/+U6ZpHUMkuVYBHaGIlvwPQBHVYSYk8bQTWea78WNzhoVYVdiH4bv1fV2VSxDCMIURrLwU8fzIZdDnffcg8+9Mr/D6MbRvDsNz0Lp2wah8vWsBlbpjK5/aswLUOm952KK80Jql7YoYqLbMVDKQzgkYS58RSobVtSoFIuO/N+k5+ljaHiuPP+jZmffN1ZMIWayaRkOdgMYfvWcVxz3R048373kff7fiCB8VXouo4U27N6vvzb3DYyDdgsmitUJL+1nOURZiPF9fH8eetpmYY8Kq43t561r5cdT5azCn4H17NUmW/xCIMQtu8jmC3BmzrYHkzayLo+nJmSKLNJhSGG2JlstowZ7s+0JZXlGrNpuT5+MG99uC1Sdvy6y5ivMBIirBfj7Zl2A2gLtnsnYTsuUrQzLKYMt1ktNllt7/rS8OCh5z8ADzLNNrdvXUPocSVfoftQRFahIyBRmzIsFCMDQ2GAdYGPTVEFVgQMu44kC5R7sPKUBWZjoS9+3WKDhWtMOaC9gGZ9tnAdLxexNXAwq5mSRsAMXiYfKCTQNbEWUBkd2jeD0lhe/nsxlGeK+PlXfoGhsTyOP+NYeW1q3zQufdOn5e8HP+y+eM7Ln4gvXvp9mdKs4gkXPETsBh9991fwpz/eNvf6iy94KB7yiFPwj2/9L9xz78Tc66955ZNw8omH4+LXX4pKDcm76MkPl1zRN7z7S/OW66PvfykOTBbwxn/+/NxrJKsf+8DLcP0Nd+Hd//F1ee0Tn/0RvvvDK/Gv//Rc/PK3f8aln/vx3PtPOmEHLrn4yfjW9y7H17/9u7nXH3b28dhsm/jiz66de+2cM47By572EFz6jd/gJ3+4ae71C849DU9/1Ol492d/jD/efM/c6y996oPxyDOPxRs/9E3cvXdq7vU3vfAxOPXY7XjpO/5HSO7c6+eegbfddj3AR5fxrDd/BquBf73/xkNfbON5Kn5iL0RlNA83ivCt//0lHsMOc/rg3n45gOS5x+e2Q11DFRZA27J1e08Pb/L5PG668c845tjjUSgUMMg4/bSz8IfLb8cgQaboo0Ba264LPFEnjzpmB665eVdXs2frQTYKMBoGMBCi1EJjAyOC2CV2HrkJt9y+BxOGiQO6JSptu5VYgs0puOwsTus2fN/D0UdvwVHPOhEbjtrQ9PcwcorB8Kza9zKpuODBD+DMFPGTb/4OP/7eHzA+NoS9e6fw0pefjw++72t41/tfgkw2jcxEQWwbGM6jElL5jsQmwCIpPW3BYPesiguzWJFiJek6OpSBSQWz4s5TKpdSZO+5+m7M/H43Nj3+KIxvH69bkXUTpZcQpbIBRTaqePjSF/4Pz3z8/TFeciWfF7kUjGy6Y4rsnut2wbtiN8YfdhhGNo8cosjq+6dFTa9W82dTFoIwhOMEUsQUsjBsKAMrl15WkUWhLEVt7DBGJZYk9gWPOBU/vepmvPrlT8SG9cPoNCbunsBd374F6bO34qizjj7k31n8x4KvVmwTTJ9gkRyj1RhJ504V8aI3XIr3fea1yNR0p+sk9t22D7d94XqMPXQrjnlIA/abHgRznQubxuQasRB7btqNmz55NW688R6Y1sHZhH4DZzDvNu1lr+dn3P9IXHnVbzHIyDfA/QZ3SKiw6iC5Gg985BGI//V2MyXT75ssey471YOOCmnLapJa8cMGYoOgH7YpQhjRA8sGDaEUfBV0HfszOdwp6xxiQ+QiFxmY0kyU29QYoOan+w/MAaZn0Aug+740ULDKLob3TMDJpFDI2ELYfvvTa3DLn+/Eox93Br777d/hb1/xROxMirnsoRzsTArpiivFY77nIz8XzxOHAkclR+KrRvn9FVfiwLwsu43FxxuJ5WIgEa2FPjdlbh/yb3x94WsEiSJfJ4H85nf+gEc85CT5PRJoPhaCFojavvQVL8BP/ngrLvyrB8AcySHMp2BVPKDsAmmLLPWQ70hz2n+x9SERXQTZBevPpAfXNGEMZWGN5udeJx3VTROpIS8uPkuIbJWO2xTSoyzsiod0GKHCgv98RhqX1ILv5yctXUdAz3AuPWcnePRfPQD36sA/ffibeOOrn4aNGw4S6U7ATdlwDAPp5a49zU5jJ3nA3E5UYr2MPdduWKF5rGrBYxfRzZi9QUBf1Yko9AfoMWWx11bflQzYSRhxYRObDGg6plNp8dAyO5WxUYyhYmqBdC/qNqK4Q9d45Itfd7HCtOWgRyTsoZB1FiJMaAZ2GxYmdAsuY5OSwrAZGGJb2By6GAt82UbtQtAvF/gwkuIuqiq5/TPI752WKK7MNAuufGmgsNdO4SvfvxyvuuQT2Fd0cPbjz8Qr3vxsXH75TXjhxU/CyWcfD9gmTjjlKHkOLQN+2haVkM+s+GehFAvK2Po11CEZqMN7J6VrFou78hPTSM0URQGWlqsdBonu5Vfdgj/deHdjH0zIYrWblpdLozyaA0xd8m6rOaxdQ3JvXfJYY95yxpJnNlKwCpWll1FCVfVDttNfX/BQnHH6TnzvR1ditdH01g0j2T+RZaA8lhMS24k4r7WKgSZ5yv/bFJQiq9AZFTYKMKvp8Jcghiz88gwdBYnfCsV+wOp/ktlqjmunrQdaQmJH6ijqWmgd4FQ2u6/wokq1WdqX0jqw5EVWE6WXtgWS5nQYtk2dlUiwHr62s/qeaii9sNJiMgwlozWwDfjGQUWQHtJvXPY7HH7YRvz9887FVg249c692HT4RrzxnS+CkaiYqbSNV/7DX899LkyC0herEk/NluX36b+VHE+S6SCQuC0tqiCydPic7s7Y8Dkd2aENedwx23HDTXfjrEaSFeba1Ab0AsRHXMpEccxAeroo25PL3a2+86Im8iE326W3ExVbDhCYasAiNTfHiLWF7yc5P/SzVTJLewTtGrOFMtav67zNYDHIdq2xb9QDrrfhuDL17Qxn52UR8xjlMfygR5zS1o5XawZsCMLDqJcvdi0iqaGUh0Jj201BofUTMFFht/herMJqxpIkthb0jJZ0A3t0C7sMG/t0Wwghb9tsA5sL4wYLoma0EVqSTEA7QWUFEksFiq1psyE7fbHLWBy1RdWV6us+3RSSunKGLNVTXVIaUjXqbKtKdPy7PSbJhpxadZGZmEV+3zSyEwW5kYtPMJ8R9TQyDBRLDq7/853ykZHhLP7fRefjDa9+Knbe9yhc9fsb8I43fQp779w7R2IJekm/9aWfzflM+T0LV99wPVFiWWhDlVZILKFrsXqbTUnIf6jrMMsusvtnkZuYgVWsiOWh3Tj+2O34802NKbKGbeLpjzgFaXZ80zVRZQmSo/LokPiJuY1J2LtFZLkd6zkXQ1OXmC6S7VSxJNPqB/+xSkgWvz6QzJLo/eI3f8Lb3vVl7N03jdWAz2OuAdWbyQQksc5QBpWR/CENNTiAM9M2nnvR+dL5SqExyGBVb0PnyB4GzwgKOao9bWNQRFahZZDkbQg9bIg8VJi52kyrVU2Dq+kSTbXHsIXU7tbjqCqKObmE2NLLSgW3JXK7jBJbJa1MLcglxJVNEbgM9L2StMbklcVbzIttJjosbqDARgrj8LA+9CWWrFnQ19szc5Zh3CWLlgFaB1LFitzQeXMnsakSShLYr37rt3j1Gy/FD376R/GRPvABx4lySVz+x1vxof/+KV757HNwVDYNrcYC4HsBLvvyL+SZiG9s0XwSO10UJVaKQpY6FtnAwjTgZ2xRNvUgRHayIISW1gM2I2hnnuxZ9z9mXiHWSqBf9oJHnw6bJJbrUKNEUeF0hrJSRKS5LLTqQkNLXRMrUL3nHZeR+9wqudL2t0pm5fP6yoWPj3zYyWIzeMd7vrI6ZFarj7TP+WH9QAgs98tiTSL4XSxG7FjHqzVAZDmYo+d9UMFZPp4XSpFtDMpaoNASSCrXB57YAthGtl1V+VRz2eGrCAOTEYuoIiGYZhQ3FeCENFVNelSlT1YUn/y80XK6P1jEUyXdUoTEBtJitqJpQlhj7xrfFfdToaWBtxlaIwJZDq0jo2Sqs7PQxIZhhpEovFymRhE3L43XbdWK5riPyg7s2QrsiiMZqC6rsheZBnRdH69782ewbes6UWCr5LWK6ZkiPvGZH+JlL3osTj75KFilCjKaJo0TIvPQsbcoldp8EkviSyW2bugx6eIUPhXZ9GwFYdmFk00L0W0VuVwaTz7/rIY+w6n193zqB/iH889GlE8vPvhjZzTTQHq2JGpyrHR3Tp+QfvcNKMAkdCyw47FBMF4tJrLVAcjSqNoMiI9+6vv4h9deIK91C3JcRfVZCcKUhUoy07AUZEZCjzrW8WrQQUWbA+G52ZUBBNeMh1wn0m0GGYrIKjSNfBgIiTURxU0NOnTy8aSOM1r5XwaozbBYir/LZz0ZyQrRTRoQHNRJqxXsyTJHIUYRiLpKBZi35DjbNSa/VGe7ObVDEkrCzOXaELhCZosNXqiD5Huq/qqugh2yggBD0wXk7LifPMnfQgJLBfb7P74KY6N5qd5/8+uesWhVeqnsYGQ4h3//lwsxPJyV19xsWtrakliQzC4EPbKhbsg0OwkdfbgNkdiF30cSbhoxoZ0pIio7yFQczLRoAfnFr/+E3XsmccGTH1TfcoQh/njTPYh8/5Bp6lqQKHLgYBXLsAuOFIMJKe8AaMVoeCZE5zKmJJVCCsIsW9oBV60S9ZBZemX5N4+P7CIJEZ0Al2/JTlK81ri+DJg428AkjOX2UfyZ2HKh0Bw4EJDtN8AkjzYzWt0UGoPaYgqNI4owSj9swBtTJNP/3b64kHDSp0p/La0MM7qJCcPCXoNe2xTu0e3kkcKu5DGpmRL1dadYF1LYr1uYFIuAKTaBsmZIkVn3/Uma/D5/dmPoYjTwG6pe5fL6SSOGboKDCHqM17kObDeexpep/BqCUmshuPHme6TLFbEYiWVl/+ve/FkhK1USK2DFfiYl09PSCczQ8aBzTp0rmGFeLKJQ/LitkthakJgwKYBkJl+sYIzrySnhJgktVdnLr7614c9JakGSgLHcsjrDOVTGh2R7UZ2d50ttE5pWe3XM2QwyMwV4Vv3XDBLY4aGseKnZeKJrNgNGrsk4ODpEhZVUAuYNrxsSK8GKJJbQovhYVWgKHEAFnWiw0EPg2nEmUqExKCKr0BhY1BX62Bj64vEk+etFcNpSvEZUWBOSNyY5sfTi9uYyV5ipq2lYF/nSmKFewsR1ZPtbKtRdQRQhEwXiiyaRdejX5JR2jZJMAktFcXKqgJtuvicu4nrVU3Gfo7cu+pUksR+59Pt4/rPPWVRxI2kI0jYyk0Xk/QDPfdl5cwUzvMHZZWbJslq8dRvAQrA4rJy2RS3Jz5SQourbRGwXfbK790xharrY0Odku9JDsxJ4HGRsFMeG4OTTMNhkogXivfiyNF9YOOeZLboy8Gl0uU447rCuembjaWztYCIGVVjHkwg5qrAl5sPSSrAUIadtiW2KmZfsuNCCCJau4fynPEgsTZLgwcGGilyqC9W0k0EGTWJM9FFoDMpaoNAwid0Q+ihoVAH744Sj5WA89ORZlM8ehg9GeYUYhw8tBKZ0o64q3TI05Lqkwg6FPoajUIrMZqFjXc1xULUQ/ODHV+Giv328tHt9/aueuux33nbHbiGx9MTe79RDOyxVwelzzQqh75vG5z/1fTz9bx8P2zaRmilJoVbA+KxOzQxwAGQY8CwdI7NlWK4feyJT9f8mFdkd29fjhpvuqSuGi8Vef/Osh0PPWoiWnONeWp0NbRvpQilWD20r7gzWKhIbTrMgMfRThiwTrQaNqOe1ntl3vu+reOc/PVf2f6cg3nqDqmwkOce64yNIW1Jg59Xud5JSEtaAxJSNPvy40Qebc0QkqoDucKgZWzP++iH3BSYLSQFfMug2DLHIBMxG5t+mMfDT6I2CY7luRc2tFlinoRILGocisgoNkdj1UX+RWN6ERkNfmhbMysRN74NFYGykykQDml4n67BucH9oUWdjmFhcx22ZjiJR4yXtgWw7wa9++2d87n/+D4fv2LhoEddiYBX/ETs24k2veRqOPHzTiu8ncQyKFfzyZ9figuc+CinXk7xSJ5dG1m9M6WwGJBkkX/RH0srAaWU3d6gneCm8+AWPxvgiPt/FwO5f55x9ArSZJtYrUWc5FUvvMNMjrKInRUkcEDQLEjEhYBKF1DjJIuELSaptS5pTNEpMqmT27DOPFRLL44dd1zoBqY4PIXYWL5eSZhT0+rLgkEqq4XvQXWYke5KXK8kaGqPF9Lm4tFDTEfH0DXQ46RQKho4PfPQyXPySxyNtm6IyVomy6UbQ2ESCFgQOYJNCuYD7zDIHXo1cCVIENcjbIFHm4xQahUbQH2xEYXURRRhLlNii+DH757Cpxmwx/aCf1A2OyrnMY6jPZhAnK8TFAp0AO6+tDz3J0OVAphpZ5kYhrpnYK/FZW7eMz1kI6iGxtBO8833/KzpEPSS2CmbREvm9k0hPFiWAnzd7aYzQjUxVDuT4e7aJ9HRJPJ/1Wg0O27YePhsc1IFKxcVr3/4FTLHwLAybL1zLZ1BcN4zKcFYIWCtZudzGJJ8kpM1AlHPDmNuHmZnGbRoks0cdsRn7D8zgH9/+3x2xGXD7MEaOZJKd4orjw+LTZiRbeqqA/IFpZA/MxMWFEb2vuuQSe0nKhV8lnxYJKcmXJoMIJqxc9+c7pSiT2zG0TAQk9uxKl0m60mXT0iyESM+WJYc5v3dKfs/ukPe51yHtfSV6a3CJLK1h1O1Zp6HQGNQWU1gRo31oJyAYCUZfLKfd+zHOhGS2hNgzO0Iyuwz8pOCr3T5Z6X4W+FgX+PLN4onmNHsU4PrKBH5Quhs3zUyg4nhCRushsLWe2Mc88rTGFbVkXw7tnRZfLMmA5MFahnTt6hbiDFp6Ph1kpmal+cJKYCHbKy/5ZF0+WQ4O7tkzGU9jxy+0tKzuUBYlFifl0+LP5PR+w15fNpQgsW6STGlBAI8klteStAXN88Vz3AzWjQ/hhGO3t9UzWyWwtAaQ+M9sHpfjiqo284VzB2bEEkGlVYobSVypDFMpXOoak3hs61YT2XjCYOc7S9R+zjaQKLM7HsnsEAdw00Xx6q4Vfy33i5D+AU594FlOgaB96dVrB4N7VCi0BeysxcD+cp+RWKmoD+PQ8X42z4vNgI0TIl8aNCzbIQ067Dbe2PREiR+LfDhJSkQVvyruxj6/jLPSG/G0I45DZpn8zIX447W31+WJXQqWruOCc06FmTalq5XpxfvZT6e6rlZRVaPVgFPMmcmCEJ7lwEK2qk92JdBvSZDMkAS1o+NYYJpwRvIor8vHy+0HQsSFhNd57FBpbKYZiQTac6q9xqvLqfOVttlKNoNqAdjEZKGp74mjtDzYhbIQWBLH4oZhSaywyhVkJ4rITBUkwYDZyFRcqbTWO8ND7yzf33TFPT20lhkrtpKioUtWctwxbzbefgNOaDlw8qlSD3CGLGs4eJ/tp5nDXoHyyCos2+yAlemMA2Hmaj9hKPHFzvSJL3alAjBfC6RgzddsIZWLgfmDo1rQVhLLZg1FTYeDEDdXplEMfZyZ3YgH5TbDZhviJrpfHbZ9A175kifg5JOOaGrZsq6H5zz4RCEVbC9rz5Thj5lCFMSfSMLfzRseB3lcFidui1sZwbLpCVStb7jp7hULvlg0RNBP6kWQdq8kNO2Ab9vy4FQ50w1S5YootCnPRWEFUtRswY3hh9K8gdaCeQpvUrBFhVHi25ogs4cftlFaHDdKjtJ+gIwb59uWx/JJQwPGlzHqzYHuughSZmwladKfWSXHTEFgAd8Ln/tIeW4KtPXQSkN/LW0iTOsoOTIoYbMJWmwGEbTWBHb7E0l6CTyrasUChfqhtprCkqNDaXYgo8T+IoNVS0Gpz3yxy6ECQ2wD1fSFxcDBBqnPUv/eiJrNwj42aeCE7XXOJL4zc6cosEfaQ/IekthGQTvBV7/5G4yP5ZsmsSSL0eQs3vzfP0XF84V4CJktxa1wSWap0q4GJMFAh3goSS6WwvHHbse9uydX/D52M3vVq54CO23LerIwqN2gQksPbWFsBGX6QA0LqTBEquLF23GRY2lewVcD0AIfbso8pEisShBr29g29L2ahgeffTyCIMT/94nvLm8zCCNRn6m+MnnCMXRM53OYXT8GN5uRYym3f0q8qYGlS/oDySETCJoCI7i4nROCyQK+hz/4JHlu12wAjw277IhCy2OPtpGBQ8SZgP66DzWE5DyjPUyhcSgiq3AIOG1IwiSV/n02QqxaCqqtZgcJBU0XlZxK6WJFXVzfimbAbqG/F7+Xnmgz9HCA0UGajtnQEwX24flt2GBmmvreqieWiQbNgkSOBCQKQvzxll1SsU5SFKYtqco3/ZjYruaNnOopO2vRwyidrBbBqfc9Eq9/1VOW/6IwgmEYOOH0ndL4QQqHDEM8pp0AK/GpIs/kMpiyU6hkYuJsllwpDpMuVonVoZmCL8lijTREy8RlGUwAKFWaXgfLMkSVXeiZ5XJzAMRjh6o2m2eUR3KYHh/CpJVCJWVJakCWBVyMxWLXP7FzmHH6A5e5heI2idVKSBgL+N7wT5+T53aB+yIuEDMlCSJ3YDoeSA2I3UAVeimshP5iKQpdAYkMPZlCYvuMDFYtBcWBPLQ1lDQdw/AxvETxV1nTm+7wRRKbDRzcXNmPLxfuxh1+AYam4azspqYJbC2JbdYTWwUJFQteJIS+BhInFYSxxcAy5cbelfSCJcBlYP4oyexi/k8Wt91y227cede+Jb/DDAIUwgAv/9v3oyyWAkOmuEkoOwraiHQdJaq060ZRXj8kuamsGOfUv5Baj4V/ekOFYpxeZ1GUT3K4BEjEUoUKTKd1z+y/vucrOHD3ftj8voobd+Eay6O4cQSzG8bhjORkP/EqkS1VkNs/LduWhXAcNNSChLZZNZwEmYObamc2KeC7d0Ke241qQgUHDSxKo2d7ENRZYw0UerG2wVWFXk1DeWQVDp2WD2NfZL9V+ttRKFFbZd6e+mzZ60UoSQZ63FEr0oW41oKdwZh2QHtBQ4p0FMFxZ/Hz0r0YNVKiwLZCXhcSjFZJLBU1qq4yfb8ISaUSa5UdGJnU3N/eKmZOkryIZ3amiLKhx+S2Br+/4mZ4ni+dzBYDA/TdtI1KjapL1U1UXpKgLhzf0onLsIFU/NtmwKYAQUIMNdgzFZm9EZuBqSOg5YDZq0ulFeQzy2bPxhYDDSlO65vxgKQekFDrYSA5riRxz3/cGRhO2fJ9JK/iceX2X7DNSDJHPAfDxYrEXYkCu9hy2XGEFn9HmhTUC1Ghl/dLdwJiQwlCsWpw0GG5cTFkv4KDoNJIdrALvQBMrEKr90GBIrIK8xS58cCDDo4O+8+PNBQGUtpF1XKQweKvNAKMhD4c3Zo34GBCQ1EzZFvU08XMCwPc7UziOHMIm3UDZnYz1luNFc0shSuuvlWq9FshsIIwkuIbkiaSE7oNX/rUB8OqJaoMoLcMpEoVOJl0PLXaZGh/u0DSTc9larqIcHRoHgmiT/aLX/3l0lOpWtySd+H3UZklAWM0U1fBjly6xfl7uLmkep51dWAjjhAW27Cy5arDQYYWk1uSWp6LQSDrU0+xlJ8yYdHOUHZEXRRIh6xIrk+ijErrV/5NVTMSkhmZmhT/VaPYHvWcR8q2+t53/4CTTt+JDZvG5v2OWfEwNFNEIQik/fBSJJZgcRpVf0a7NUJkWUhHdbdazNZNiN2AqQsVF0PTRWSCxlsC9wS4zFF0yLkwSKgmgPRbQXUvQW05hTmQGOVBAtR/hwW9o0NS4NV/y94MuI9yCBa1GBSpXGjxzX85AntbeR9+M3MrZvwi0pEH6GbbSCztBP/5ye+h3AYvIKOR2D2pmqdKAvvIM4+dT2STKX294gkR5DQ2Cd9qg1mp9H6mCsV5xVHH7tyK3XumFs2TpZLLzy1UcUlOWP3O71tVJBmwTjaNMMU4rxwKY0Moj+dRHhtCZSgLL2MhoMIERlv5suzigZUOY3w4B/9OCuOkbW3JkY5Z+b1x4ZIUZZXdxKMbiPUhMEwhrWIV2DCK2Y2jmNk4hvL4EJyhjCig0oggirBvzyTe+5bPyXO8ESPJieXUux5EKFP5XUkFk/W1G7arcEqcxVj03FZh2xZe88onyXPHId3dUgh1DaOug1w5Gdz1ETg44mCA5/OgIoVI0goqLbR+XusY3KNDoSlLAdXMFS/svYYoEgWSOY/BKipw3cXSFoMKdIniSkXRIRdH3tw51X9HZT9mAwen5bbiWN2mhiafaQdqPbGnn3JUS981V+DF/ZoQgrLj4Y0f+ibe8fK/QqY2bohB8vRZOhW4qRSsmVKshq3m8Zx0AbOKLgKjHKuMmoZcLo1HPuxkaZAwOpI7+P5EdWSGaSpl4c3vfYk8V+FzylymuakOruKsiZC7FEwS8VQSo0XiymWSBK04RovLqadtlEeHAJsSLtfvoMpKVH3EleFcEn8FqcJnW9jKSP5gq1daF3gI1Lk/eZxfcOGj5G+S2Vf903OwPZtGZrqE0NLhJt3F6kGYiqPdqAQvZZ+ohewfdjBbEIfFwr2TTzwc3QQHRPQ9byhVxLftDGebjlDrNjgYdXKZOY/xIMKKIrEV9N19t4fQ8aP53HMfiW9+42u44vI/4Ctf/hLOPPPMTv+kQjMpBXOWgv64wNUig1DyTgfdUrCYxYAEdGRBigEviAXNnJdeUFVgfzdzO8IoxNGZjbh//jAcradgImwbiSUY9t+qJ7ZWnbSoUNYoWCTjd++dWrRghl2YNJfKWSQdpKjmrjZIGujTTM+yWO3g8jzvWQ/H1s3j895LTyNVTi9lQ9M1jK0blucqSMyphnK7rDbEO8pFW0blMx0f7lAGfi4F37KEiFMxJUmVdqz5tPxN1L5GtZWKKSv+ue/jVq+Nh8VXyez9zj4eu/90p+T8+ilj3vFUD3zDRGTX3zmOBIwzCAsHG+Wygxdf/J/y3E3Qv1yxLWmpSzLbL21uaR9hA4qBBS0zSQa4QvPo6NYjaf3kJz6Ob1/2HTztggtw+RVX4Av//V+4z33u08mfVWgQzAvlox8tBdJCNQykTr/fitPagWJiMcguIHXsEMMqWDMMcHt5v1gIpvwyjs1uhq7p0DUN+TBApo12jGv/9BcUihU85xkPawuJ5c2WVeeSSlCv0i6qrAW7zCB7S8hQL0ynktCQiKUL5bkOXXv2TeGTn/vRvPfpji9T9nwvC73+/sJ3zSv4IqjqcrDSqSiuesEEAvqSlyJ3nBamp9TPphv+bu5zTuVbhXLLy8kj59lPfhAesnMbbtw9gd2TK7cHPgS6JsV3bKm74u/59ARr0r52MbQzeqsRUNGm1YFFYCSzvXBeLAeeJxwEDrKtwBbxaH7XRIXG0dGt9/KXX4Sf/fzn+NjHPo7bb78D73znv+G222/DS1/y4k7+rEITuaGOFit5/YY0QmSrSQVrEIxbd6FhJPIlQ7cKJ4pwr+8hQ68sgPvmtuP0oR0YSzywqSjEMALpEtaO/X7NDXfiA//5bdxx5160CyxUoaLaaLGMqLK8CbJiPNUbqizBaWZNWqFWRInJZ9P4+a/+NOeTFTXWNuClUyt+Dz2i3D6rCl2TKLSlWufqriekXAYiTYA2A3bXajaOqwp6YkWJTZu4/Lo7DsmZrReiCvNsWoEAstGCm0mtSpFXXWQ2k5DZmWJPF4DRUy2qdpu62fUiaP+iGBH04b23l9DRu/8DzjwTv/jF/Mrcn//s5zjzAcpe0CtggRQVvX4lgrkwRBTRQ7d2LwSVJMUgF4UIwgB7intww+QNuNOdFqvIsenxOQJbHbyM0FPM6fc2KAG3zEziv775K7ETnHT8DrQD4o0tOXGQ/IJ9m7JMvOmFj5HnpRB7ZZ14il6q3HtjKlW6MLGoqeKJT3bH9vVixSChYKtYthklYVoJVGVD3YC+ygVtJGuSBrYgZ1WyZlmk08K0MFVs7jsWhjULph+QxNLawWSCpz3xbMmZJZndPznb0HfRGhExy3eZtszcH7RDUPnsVUhHsIyNzExJ/Oc9O+UehJK8MKiQ65LMqg2u/7db6NhQJ5fLYWhoCPv37Z/3+r59+7Fp49LdfWzblkft9yh0BswaHQ0DIULdLIiJwhC+57UlNzYVeihCg9+B9p2tIvRD+H531MAiL/xhATIdUp4AAIZxSURBVDeU7kbaSGN7djtyZhYTQYANgQe/prkFm0ZYUYBZuqJZIdcCfN/H7/btw+NPOx5jjobbfndbW9bHdj0MF8vi61vs2GSY0t3X3L30F0QRMo4rnaosP0TGdVFONU+qDty+H/z0zN7GyM9iMOnh3TuD2ZEsjtiyDldfeQtOGBsRv+mMGyHcV5w3Bb3/jv1ILxI/lJ0pIVNm3Fj7SFPhQLx+0/fWqVhSWZ4qwuA5nSiQJLVUJcv5LCqVle0PdqK4Ttw9AXfBPmLlvxFMYWasCL9BZZdkmtFTFYbN1xRdPeYBJ6I8W8GPf3YNzsZ67L2l/lmElOPKcVleQjXPVFwUMimUM4u3IGY3uoue/HDcc/Xd0hijG6juUz4fuPPA/G17zxQKo7lDtvtqg/uORG+qEhfN1YPadeuX2UQW6S7MAlfoISJLkz1BhagWPkO1lwk2fsXL/w6vfvWrDnn9tNNORbnco6PHNuHwww9HEHYvHzLvVDDuVlAwFycLnSKx27atR7lcavm78p6LMc+Nl78HsXXrOBy3+Zab9cDxffxp3z3YnB/BqZkchrx1sEcOFhDpUYgNTgXbI8AxDJhhiHHXEdLktRgwvr9SwrpUBg/ddip27dqL6d/tbsMaxeRoxHcxE4SyzAvhBAHee/uf8KojT0BqmZsc38d1PGCYGPVjsuRJJFTj4G1+65aN2HXlXsyidftExvcxa1nY4Ztwggi7vnkDpu0USsb8orZn3/cs3PPVm+aup7Vo576sxWHbN+Ou3+3GNOrbn+kgwIjnoiyxb5r8d8XQMWvaddlWUonH9q5v37Lo/s76PqYtC0WzfrLF437UdTEbhigvQoBPj/KIkMeGLetwy527MH2gvnXVwwihV5HGJP6CbW6JKABMWSkprloMUqAYhpjRC4vu005B9uktu3HnLTcesu25LpN26pD1WU3kfA/TpoVZu7FB2s6dO5DJZKH10Losd/86kM5io9X4IOLIo7ZCN3rDMtUpZDKZ1SeyxWIR5XIF68bnV+WuW7cOBw4sPXL64Ic+jI9+7OPzFNmrrrwcV111NQqFAgYZYWDhyitv75oauz1wcAdv+F0cEVKJJYld96jDsG7Huqa/h6rP6IFp6ZzTaAVyN3DnVX/B7TfswthDt2Js2/ww9naAVc+/+eW18tiybT3Oevwx2LppFNsiYGp8ZF5we7rsYHhiFuVMCpliBdlSuWUVj57YL37zSjzrwadB27UXIw/YjJEtI21Ys4NKmkdP4iI3JMZvuR+9DlvOPXJ+/NYCcGrS9ALMjubk7/xMCW7KXPQ7V8LuG+7Frjv2wjgii+x4Hq2CBVLZMEQ6n4UR+PA0E5mRHFI1Kl0YhpiYnMXo2NCSg39GVw0XSrHa3AZiRNWOhOe2W++FXqcSRm/2hpBta2NwKSZ0U4pY6gIJe/YwlO/cv+g60EfI794jzT/q+b64zbYfBZhZps12GAT448ReXDm7F6+48DFYPzZU1+Jm6S8tu3Bq4rtYXU9luTicQ26Z8P6K4+IN7/4S/vU1T0e6Syoo1XUOTJbap7mk4POAXkembhfA4ymNCPfqVsP3JpLY667nXa23wdlEIwLuNlONdWBMYOgerrzqCgwy8vn86hNZjjz/+Mc/SnLBpz79mbnXzz7rAUJKl4LruvJQ6HxubAohpqQXVvdBErvpmM1Nf15CzdNx95pebOs3ec8kJm8oCIndcNSGtn2v63iwUxau+M2fsOve/bjo9c/AMTW5lKnZEvLrRyUYfg5hiPz+GWyYLsDKsBXnUEsFFMyJ/a9v/Rov+5vHiZ1geu9uIbGtDExqkZopIZ2JQ+8X/fdkyn106yiyK3T8YeB+ejgrntLMdBGjJWfJ710OtBTM3lHC5uO2tG1gYhcduBkLb/vMj3D2Oafi1IcdO+/fyyUH77/wXXjfZ16LzFLLHEbITs5K7irbyLYKTs9StSPhMZfpdrUQlUDHWOhL+P6UbkruayNHGLWlpd5PvZb+75xu1DUNyySO8VBHGSbMZS4NdLqeOr4B4Y4s/vMLP8YbX/00bNyw8mDMdF1k9hfEd1vNY6Xv2c2MQxvNIb/M9agauzW+fRyZNlpCVgLV9aX2qRsZGKG/XtMxa6x+YRWJNfdzoFswG41b6wMllkhHESZ1oykSq3AoOrrXP3nppXjsYx+Dc855hCgKT33qU3D66afj0k99upM/q7ASpNjHh8s5yX48kZLuPLLs/bj8TaBUrOBbX/oZXv+SD2DPrgM4/azj8ff/9Nx5JLZaIJMqloW8zoEZkiO5OAWg4rZEYmdmS/jkZ3/UtpzYhWCkFEkZkwfagTBlIVVyRJFlVyx2CaoG8K822I41O1XElq3j+NPN9zT3JboGZyiLUI87Z60WmH5hayEcNurowAwPFVmmk8R/LQ3mCoxEgZDfetRbTu8/6dz7SQHYJz77w7qLvkhiGS8mv+l6ct45+d4cVK8EqrDcf0wxoVK4ugsTyT6cZQFUH27LehVnHsVFffUHDYOCjm7Jyy77DrZu3Yr/+I8PIJ/LYWpqCq9+zWvx+9//vpM/q7ACsghFke3H3FiCNxCSsoVdcwYVP/3uH/DN//k/7DhyM1762guwaevSyier9Eny2USAMTtz4MVTOiMl8UFNFJoUixUMD2Xx72+9EEPsUNUBMECfcU7+MtXKKdvEe//+KfK8Ehj9xG3BY4aV2pWhDDJThbi6fJVjfUiuA1PH8ffZji98+7ctJQdUhrPITsyKpaQZ60Q7uhNNa4b4ZDsR6MTAeGYls2xpuWEICxlJxooNzDSRzP71BQ+VDOTqcc5EiWU+IBmx5sQM4Osw/BCl0fyqH0+tgOkldhS3vD6gtyeSrxnQUsB9PcgNAnjvZVJBWbWkbRs6frR8/OOfwEknnYwTTzoZp552P3z5y1/p9E8qrIBcnzcQoALCOKVVbdHZBQX2mstvkr/H14/gZZc8fVEF9hCQoGrxlHotrFIFbsaGO5SVSKJm7ASXvPmzKJacjpFYwqw4El+0HNjMYR19r3UevyR2RlIZz/grKpgktqsZyaX7ITQSoPFhnHD4JuzZNYGZJE+2Fuk646toK6DNhlPc3c4GpYc1MDTsToqx9A78PPcU4+KWUwxplRqKQpRJYhu8tJHM8ri+5vq/4E1v/a8Vc2al25htIjtTFqsK83TrAdMnPvr+ly6aQrHaoE+WqjeFjlWbaUOEGRh9e29aCYw+5NVtmkWnA7qOq4GuDXtY/KWw+rDYxStkS9L+PYmsihMriwNsIXjTRR/E/33vconrOeWMY1YmsAuD5MuuEH6C6iOn1/10aq7PeiNNAkhiP3Lp9/HC5z4SuQ7mY1KJZXHWSgH6LPa68C2fk+d6wO5TFgc/fnyDJvFgXqs0FFiN2DbJjHXhDMXkcyhl4v3vewmGR+ZHDdIX+/7PXrK0P7YWuobKcE4U+W42SmDRqIkIU5qJac1ESTOQ7tD0dJCoWYsjkk51TJOrqyBsCdz3hB1zObPLkVl2XmOOLxV1Nn2od4aDtSMHJguLtldebVCFpWeT27G25XV31VgNpSaTRfoB9HrP6Maaa6feaaitucZAkzm9bO0Iwl8NkOwwTH4Q2xYGQYi3vfbjuOVPd4oC+8p/+OumsiYlSN73ZZqekKl115cpaG43+mV1L1yyI1Mt2KmLJLZTntiF/emlLWWblfbA0KF5AYxqkD3b9+bTomJabP/a5Vad/M0gbcPNZmRZRNlzPdx9673zlzsIcf3Vt8pzPWAjhcpoTgiJWSfJbwWsumYW5oSmC4GlDFrQDRGaOqHKsrmHnRDnheBykCS0mslZtRmQzP7b+78Kb4mGE/RZc0BU2DAqeaz1wnE8vPGfPy/PvQh6nDlYyHbZK6tV1VjNHNguVxz0EbNKjW07+pPNKDQNTh15LPLqU1Bl1KWHuzFQCuz3v/5rGIaO1771wvosBCsgMgyxE1BxtGdL8Gv8e7wBl4czMCuxRWMpMP5px/YN+MdLnt5xEksYjtcZpT25MdYSd9oN6Culb1asFl0isySYkaWjMppFlESkcd/c+Oe78MkPfO2QhIoPvv0L8lwv6BvnQIUtejvZ9YtEleRxUjNQqClaqZDMajoyC6anuaZ0z5KEphCJakvCVCVN1Uf1Nf57Knk/P8fP8xsNLRQyOx8Rhtjhr84Cr3rJ7Cte8gRYlinnwbx1YVh/GKE8nkd5fEj+7pXOcS2DgzzaLKLuqrI8lkqaJu1aBxU8vmkpoIVDob1QW3QNgSPCTBjWn+/Yg6ASIjy8j9eBKNdYCKjAHn3sdnl9bN1wW76fyiu7K6Vmy7Acf35hHKuUhxhJlYpJ3CI3LNoJ3v7u2M9++GHtiw9bCiQCXN6VbAXNgu1SbbESHFxXWixI+rpFZmmb4G+Uh3IIamOQNA3H7tyG3bsnMd1g29TFQLtCZSQrpLkTBIsklj7KaU3HjJDY+Fykh9VCFFsAwgDrAg/rQg/rQw8bQg+bgvixPnCxLvQxLg8PYzWP+DVf/p3v4/s3BvHn+T1jfoCNgSNEi4SXv1clv9KhsE0gmT1ix0axF7zprf89ZzNgqgZnOLh9WUzppS24uVTPJGG0S5WlF3lpG0f71VgzUWMH1RtrMt4MGmZ5vgzoOq4mBm9+VmFJpKIQthah3KfjF96UbU7L9nF1MBVYqjzMk7z9pnvEQtCq+rqkvaDsIFUoxUR1odIpnsq8FB1ZJQdeTZV21RNLO0G32mhyepYqYlhHcRObIHzmn5+7bDOEhQgMQxRfM/Dh6zXdswxDyCxBMitJDx1YZynuckmA8uJhXojMaB6Hb1uHW6+9A6c/9L4t/56Tz4pSmJ4pyTpV807bYSfIIMAk4kxXkh3GJdGyRFLJwbKWpBgwD5Q3bg4PSG590Vbpxaz/9+h5lXFrUiTDF8YjHwjoUdUQhRpyTCqgXqtbCKLY59kuLXrD+mGcdPxh4pl9098/GdtyGZSHc+KxrrWp0C7CfVzbiGQp9GKh1zzI9tOQZ6OEiG2sO3sN4KCISuwg+0azSW7sIKcxrCbUVl1DYFC4iE59OiLUg0Cmh/vRVlBbxPXHy2+SJAJ6YDtBYqsgpchMFsQbuxh4062M5sWTatIryo5d193RNU9sLXQWY6G+YzNkwcxUUZ7rBYtztCiE5h2qMsVkNi+Ejxm27VYx+X1xcVdG1Lul9sUZJx2Bymxpniq4Zfv65lqZJsVfUtTWpnVKh0wF8OCG8VTw5tCXjl7jYSBWAO4OqqIkJfsMS/yynPD3NE18j5z2b9TVxPfzc/w8v4exRSTErq6jCB3MX+Gy6Ek3r3WRhw1UfUNfPLOkjFo7PLOn7cQ73vtV7A4jsaTUHqd+yoZTpyrLJggf+8DLutoMoVlVlmkUtHd0ErQvUMmf6ZGuYp0Azw1e3eLZC4VOQG3ZNQJeMHJR1Ne2AolMCqO2qUvdwhW/+TM+/5FvSw5spxTYRaEB6WIFxXWjy1oQSmNDyE7OyI348B0bcPHLzsN9T+jSMtYUeoVGfcem4/p41fu+KqrsSp29asEbJaeGF/032gxGcxL9lSpWEFhGW3JBSSDNJKGAKulyRP0pj7m/2BxKNdFbb3nfS5v/cZLZRG1OFcpNKbMkiFQ7hwJfCGNZM2FpJB+6+GGX8qRSFS3AwGjkC9lsN0mh8ssQfzOKJxyKNZXuFNRNhBhNvK0sEuOy8plkuFFKr4chnv/4M3DEUZthb1+/qGLv5rPSotZ0mG+99DEpBXw33IUTjztMPPG9inh/hciGASodXM4c2EbY7NtZwnruu5ytuNew5PhT6AzUll0jYEUofU9uH4cwS/FKnxBx9lS/fu89UiiybcfG+nNg2wgtDKUwzgiXn2j10xZ+deu9+J9v/RbrbKvrJJbLaXJattNB/qYOe5nCKRaAMZ5MUh1IQJPs2VZJLD2rzlBuRcsCyfM3v/EbzO6fkf/2vQC//PFV8twsSFzLo3lREanM1pNUQWZIG9Jw4GNj4OIw30FGCzFpWDigm9KRiCRypcIqxihVGMfV5lzSKPEc8g/OMpGc1oK/5iKeqqb9gYrfcOTPeXWHxYqwYpOwuWsOU1KckRxOe9T94AchPvrur2DfnslDEyOG86L4L6d+u66Hd//H1+W51+FAl0gsdqLqmFKp6Zga4Cr+fBTK+kmnMoWOQRHZNQJ61nit6OfpG9OtX7VbbQvBJz91Ge6cmUCp5GDztnVdJbACFlBUPFEY6d1bDlf97gZ8/COXYcdJR4iKW7UZdAty42eDiw4rVCTK/K1qnuziC6MJ8ST5I7GVBgNNZM0KiS3XT2Jl+UwDl19zG2659nb5b0Y/ff4jly0ZAdWozYAEnQVg1XzhpTzoo64rU/NUU1MIMKGbuMdIoaAZDVkDSHSZmUn9tp1kiGoviShVVyYYJKaURcFf5b8zHozEljSeTRM2SMGZh3Tgy6BlMcTbykd5JCvbj9vRsk2MrR/Ge9/yuUPIrDQcSfyygwA/GTCI/7gDSqUlqRcm/AFVKquWgqkBtk30CgbzCFJYtBFCl+My2+8zFCLbmyPbasD5pz74DUkh+KvzHoTH7bwv8h3sgrUcSF5pxfAtZsoGy5JYLvMLL34STnrQiSiNDcc3bHYG61L8Dgu9OH2LBhTZRgq9qiBRJoldSaEmWJDFtqMufbMVD2YDWaFcH7ETDGeEANGfWxc0DSfs3Iqb/vQXtB1CZrMoMS4qiA52d2NzBtdDaraE/IFp5GdLsdqJSAjGAd0SJZYV182AVqZZxE0SWLDVDnBZJIFFCsAasy3wsyS0LLohGR72XAxNF2EXygdzhkmykjQPxms5CYmtemYvuPBROO2s4w4ls0kaSGjrLav5PQFuVw1IdaBpSNVS0K9t0uu1FEwYnL0YzHXsJSiP7BoBM+z8Ph4USqFXEMCz7J5TYH982e9w56334qLXPwMvuvhJSGdSuOkXN2Hytl2ru73CAKFtyXT6Uk1pqTCRxJ56xrFzNoPSumGkpwqwi5W2VrwvBRLtRvJj6Yv97L88r4kf4m9E0Hwxfq4IemTLIzmJLiMJo3pHj/ZKswZsvkD1kw0XGk1AOP4+2/CFb/0OHUGiNpPQZ6YKSE8WYtLmeDKQCGwLvmlICoFMzRuWFP20CloM0kxQQBC3j20RpFUksExFaDY8X+wHmoZK4q1NT5cQzWrwuK91DU4uI57pebF1Capkdmg4e4jPtWoxyOyfgWaGh5w7/Oy2LePNFfCtAmhFy7AYK4raFo3FQQ39ospSoNAuKCK7BsBpPSoYnJLrV9Db10uFXp7r43tf/xV+ctnvpYjrCRc8VG5OJLG9APFCRppMV/PvhWkPV//+RtgpEyedtnPxArDxYaRnCrALbG1rdTQpgoVejRBZFsxce8su3Hfn1oYLZpYr+FoUugYvm8JMLgPfMGVQIAU9tjXf15dYOfh+qngs2moGxx67DQ/ctRMRO6/pGk445ai2R6CRyLLbWZbxbGUHlXwanm1LPJkRhpg1TEzoFrQ2+emrFoN1YSjXonZ0btKTivqZVr2HjJqyDHhMHSi7yO+fgZvPoDSSW/aY5Ln+uKc8WGZifvit3+LUM4/Fhk1jcxYDI5+WAjsOHGqPE0Zv/es/PRf9AsZwZZNotXYMaqqWgr2aPbCWAkbSKUtBdzGYR5LCPPAixAcvSv0K8bFpvaHATh6YgWEamDowuypFXPWANgzpB594ZKnQ1toJLv2Pr8NzlyZ0jIMqjQ6hPEpfpQ+zU8UpYQSD/tgGbAWO5+Ptl35fnhuGoYtq2ijYqGHWtFAYyUomLb2z4jXldHkYSRZvZBkoj8UNFppFJpfDU8+9n/g/U2lbItr43A6w8C81U0R+3zRSZRel9cOYXTcMq+whPV2UAUthJIeSZTOmta2oWgwybbIYUDW2qCK3Y+FIruiFJuHeOo7S+iFJrshxO82WViyQ4/Vgns2AFoPhrLQhlu+tge8H+L9fXifP/QAZ+NW0V23ty6KBtxSIp5jxgJzNGNB17EWoLb0GwIuQrrU/AqfbHtmoR3JgWUlOley5Lzuv5wjsnDoocVb63HS6HkSHeGJPOeOY5b+HU6xDGZTG83Nkrd1Ga8l2Dbt4bOpa0603uYxuyhbFlZFl0HRkp0tIzxThJZ5a326NdHLw8bPf/Rlf+6+fSpEXj7lWi7147ogHdv8UspNFOS7o/aVXNjJNzG4eQ2HzmOQNd7KzUjGp3qbC16r/mkkEMp3Y4vKaYYhUxZMOXZyFoBpLtZ3PHPQwh5nbjR3yuL0OWY4lPLOcweAgkDNItX5Z7stLP/fj1gv4uohQi6TGoh0V/EyRYPHTIKYU8LqSR4h9uolZRWK7CkVk1wCoXoSNJpH3GKiKsIp8NXD7zffMtZKlAnv+0x+GXoZ0kVqQAlCNBLrtxrvneWLr9VWW1o9IAdScEtkmiOc0ihqyFrSsMIXcPs0TKR6HJK70U3Jann5Y+ktpkWhH44F8No2rrrxZYrcu+/IvWorfYuV99sCsEDKuu5exYLpxMRrjvqjKzmwex/SWdZLUYPghMrSidKDQj5cghsJXNE26ObUC5tu24jONc7XZSCFCkftwNH9I4xDfMmNCS5/oxCyyEzOLzkxUyez9H3gC7r1r38HP25Z8Lz3Zc4VkfQgWyEljhBaOCfpifV0Ty0o/W9yWRBRJGgZTGAaVqPcylEd2DYAX6z4OLBCwAr+binK1iOuBjzgF2w/fJIVc9zl+B/oBQtRE5YyJLLfbtdfehs0nHoGnPu/cpr6Tvll/fAiplCnqlLS1bcOUN6eZhcw2sG9JHLZvHG2KyDAKStqeshNVk4VHVLt1xxOCP7t1XKwGJIx2qSI+WX53YFliR2im3e2xO7di9+5JzEwV0CwkSqtYRmq2EvujDR2GS5+0LuTbz6Tgpw7ecLldWJ0/M5ZHyTCQAf2sLM5qb4tS+mWndRPjzHJNin6amnHg4DxRYsIGjzeuG6+HM5qOaTuFbDaN/DKDZPFDm6YkGdCWUhnOwM1m5qVR8Fisnlu33ngXhkfz4pl1s1S+AxlIhJn+1I1oSbOSs6WZIRXVXO6vPdrgTreTxBaTlI9+nvnsVwzmUaUwD7yI9DWRpTWiS6pdrYWACqxT8aSyv19I7Bw55FRgsr3+cN0d+NCHv4W779jd2heL1SA7p87yxm55iU+02WUNSaEamyJm9Nb7Xv3U5iK4uE2CuC1mo9BZeV92hSSWx4ZQXDcsJIfTxywI438XNoygMpST76d6TTJJ9bMRpTaXT2PH9vW49Ya70AxIqvN7pzC8e1L+5vKFUsCXR2HjKCpjefHDLrbNqUJOWzb26pYkDNAG0C5faxVsYDCtGzCipLFBUzctDVEDs0ySOhGF8ighJhxTmgGv3lkeFv0x8cHSkZkoLKnOEtdecfM8mwHbBFeG4lbBbM9w0gk7oK/S7FIzIHnlvuLMXqPQk4HDAeb41nRfGySw+xlV5v2MqVMkdlWgFNk10gyh3cUb3VcYOVXeuQshK+FZAf/T7/x+zkLQk/7Xuqfr478vv+oWfPTzP8bfPf/ROPaUo9vy/VV11i7boj5kg6CpAipZVpktaOwG6fkBfn7lLXjo6TthNZqmoFORjWJiWefVj+9NOw6cKEAlkxKyGizWvlbTEKQseThBRqwGfLAanoSSxzDfQ3U0fiyh2OoaXva8RwI7NuJB55y6YjIDl4/FkLR8pGdLkolKNZ7FeqzG55S5qMP13mQZS6Xp2K+bQkKGwlDi+6h9koq1Y2qY3z+tGRiLfNFHG/Hmakn8ll6HImsmVfL8DNXlInM9+V+Skdo4iQ5ME0HOmKfOMqqrdj8+8VmPgOv6QmZf9c/PFWWWTTFo2xgqO7jklU/qr6ln2nEks7fBjyXFXZxup6VkEMEOeByc7NYHV23uBwzm0aWwYBounjrsV7BQSabKLa1jFoJf/+SPePN7X4LHPuXBEqXVz4jVM03a4172/Svwd89/FO5/8hGSBdm2G6gee2enhnMoWza2aIBdqCCwDfGLNqbIag0T2Y/87y9x9slHNk5kq79bB3emj5aFOlzGipXCpJ1GdjiLzGIkdgGogvqGLco1FTlaYzjFL+TW8cUzyWSJ6r7i/3PGgQMDZroeOTaEuxwfz3/RY2PFm0RYlPb4XKjm2YoomexTq8KiIg2zm8bgZdOtR6ZpmqiyFV0XjySVJxLbdMjWoppkjLYyjcriLyOMMBIFKDZgYaiq6dU82YVxJtxGbMldjRwswIDD9sNVAtsqEnWW+5DqLPcjfdLV7V31zBK/+OGVeMpzHonIjFsFB66Pb331V3j8+Q+A1cB5strgYDPe1vV+gIVPAYqaMbCeUVpjUlGEPYYlx7LC6kER2QFHrFowequfkRQEtfli+N2v/hI/+MZvJAf2Ba94IjLZ3siAbRX05N2xaz+23Gcb/vGSC2CR9DCHV6rU25xJqusomRamR/PIjeaQKpaF0NKLKd7CFewgq5ZGsUz6AjtzMVOVC8YoLRb8zAxNwmn2ZkWllqqobcJD6qCKyqIqtswVhTj+W9oJuz7ccgWvec3HcebZx+P5L348bFoYdE2UVWbAMm2ANgm+xu+hb1lP2SiON96EYSXwvKtAQ8XQxe/ImzebEdB2wGX3tLgNbMOJBxpQ0E3oISvaA5nyr+cc15OBCNddBiRaNZ80Jq8k9yTZzMOtQO/YdC/V2TBrwC46EiHHlAI55mvILMcgxUIZ5ZKD9RtHMZNP439/cAWe8PCTgXX9Q2S5kVlgV9eYk4VPCKWD2gG9s0kYq0li2blrr2ENrNrcT1B7YMAhlxBe9Pv4WiI3K1ET26PA7tl1AEfeZ5s0L+hnC8FSuPLyW/CxT34X/3jJ07HjsA2IwiC++XfQK81pcmZnUgmkismuYHbZlV/kVPuy6mAvHJshI8s8yVqNTEMKooJMSpIJqq062wkqtiSkixXPSAvZkSy2HrkJv//Nn/HENz4L6QXB+lXQRpCZLsaqcX7x97QTnqYLcS1GbPEawabtgCotFTvmurLBQFLpXg+BiZslmCKv1ktmYyIbSXOFNEKYEcQ65UHHLBMluIwtqsX1ggVfbi4lxY/Z/TOSUsACryqZ5SL89mfX4Eff+p3YDPJDWfk3Dmoy7JzH9/YD0dPiOoV6SWyZnlFJKNAHlsQyZov2GIXVhyKyCmsCVQsBO3GddPpOvOjiJ+MRjzsDgwbJif3kd/GK5z5SSGyM7t0oqcS6ZlpySi3Xg1lyYdNPWPFiX6iVeEOTm3fskW1s+Zjhe8p9trXW8YrjoiCORdLZWYzEK22hnM9KGgNbja4qNA1HnnQEdt2+JyHSC9Y1DJGeKUmrWQ4S6IXtJkgSOVXvGDpmEzWUQfD0DNKGQGIrnmAhtHHBEGkQ3ap8tZZkVsksLau5GjIrSnWVuCZV85xdorWBv8fvouI6w2I7aPJYFVLIWLNcPIDLHJgVdZ12kuqynPP4M3Fg37R4Zpl+QtBmkJWkCycmvn1AZlcskFxjJHZQLRP9CEVkBxxioZv7q08hU5jNf7w4W8Y/vuLDOOyITQOpwFZRmC3h8x+9DC/7m8fi/sdsxyE11d2cw6ePkFmraRuul5FCJN7oWfREjyhBsthM7mratvC65z9KvLIl8YVCCqJSlindvli4VwU9tHxUXA9hUhQVMZJK1+TiV4oCOCSupgnPtmCzvaihy1RwLeg3ZjvSSsWd92/pjI0ojODQilAD2lS4HG7N63ELY1tyYWsD8bks7N7F1yQzNoyE/B9+3GH41bd+d8j6x3FORSnsYpB/WIdnt+NEjkSSSi0MIaBMSpFHFMcvVeObWPkuGbCi7sVEtXpYcovw5fWRjxKL4vhI6BP3KO0NrmbAMuIWoLRWMMqLxKkX4Kd47MRRW1T2KyN5UWxrPbNf/vQPpIAPbKCRTSE7WZDZi4WtbHsNK146FpBYquKDBhmkJXYCUWJ7eH+tNSgiqzDwyA1l8Jq3XoitcwrlYILTlv/ygYuwnuHrC4iYYJWuuwze54M3a3pADY9k1oNdcSXCyCw7sTKr63FUVOL9XOpGQQL7tk98D3+6/WCc2DlnHIOXPe0huPQbv8FP/nDT3OvPeMTJeObDTsF7PvsjXH3bvXOvv+ivH4Gzn3Am/vF1n8S9d++fe/0Vb3oWTjz1aLzhpR9ApXywI9Pznv0YBGGAt7/lU/OW5X2fea20KP2XV3107jWS1fd/9hLccO3t+ODbvzD3+pbt6/GW970Uv/35Nfj8Ry6be/2EU46SVrTf+9qvpAFCFWc++nQ8+sJHwawhqvTDZidmJdbLzaZle/UapPGCKKTVY86II/QWqKt8ru7hKqHdH0UYDgOxGbA7UqDpsYIrb4rfnRErQdiTPIIe5jCTQqpQlmO6TDLL7N6yi4ecezqGR3PISZOFWKUujeXnyKyX4f7swZVaAVpS2EVP7KAqsSx0ZDoBC7uUJ7b3oIjsgCPWPap/9d9FUqDR79baVww6ia0l7ZicRa+C1oPQTMHLpOAEkTQTSE8XJemAHlUptHKDuWzaajHPHJFhtXzFFRL78Vc9FVl6WKkAapr4FF/yqNPxN+ecGk9d6xqMlCVTtxe/+PEIdKp4BsyKA3/TmBTmvO4dLxSltQo7yab9149cPG+5//KH2zGlF/Cmf34B1h+xfh5p3bx1nRDahTjuvkfOe73awOGsh56M+519wtzrVYvEY5/8IJx73lmxR9ZxMLV+BN/41A/mlq+WxC6MfOp5iLpajcpKSO6i7wNKmoHR0McQ484W2BAWv7b1Fji44CCDRY9cwAnbwgf/7YvYsGkUL2D0Vg0Y41YcH5JzgO/3M5wd6D3fZa1yfkiHtCSdgIVdA0dik45dTL9gxJZKJ+hNKCKroDBgkI5e8+46cZFXr0WwUX3ijZwRVSx6cZEWEqczgJ/+SqnmjxMr+N+0BRBBEqJvj2RgpWN/IdMTyqzmryq5BvU+HS4VLk1LprVj2CRLVIgTIroYFiZYMMBerAFp+5B/0wxt0cQLWhQWe920DHkshGWZ8hAiqwOzho7ff+f3eOJF5yOla8gemBEVu+9IbIOgpWCSpCjUMBoFYkeYn9EZB7b1IoldGE/nT8zgQ5/4HjJDGTznpect+lYS19LYkMxapKdK0O1wLv2gZ8CNvaCJAy0j9EJPJ21ZB60ZgJ6QWCrN+wyVE9vLUER2wCEEhtmUvX3ZXxZzWZl9LCp3WxGq7cQUd85qrHtWtxDpVb9kDbmdRzsPRTlRTelB1DLNFDn19rkQd2U7WL0vSmyhjFTZ7UoyQS+A6z5jmAgiTdTZTNIut6rsJnp9b+9JXcP//uxa5GwTr3zRY+Fzn67QNS/SDUmhsMquRL/1DnheHgQ7pNEDvV8zMKubA9eWlR3n8ghlQDUhdonBWr9BgyKyAw6qGzKYRv9CLpJJUDynhhVW2F6i1tUQWRYqiVrZe1uOvthGiaVhGHjYg06U59Z+tzdBYh/qjDSLl5HFQ6yWrtRUwq8VcMra12Mym48iFBN7Age3bBnc7lzkdqFcdmCYBp78V2dJ8V7O8+FOF+Y8s4uCtpl8Wv49M12QaDVaFHpDfWf3tXiqPReFCHRgrzaYU+0k6Uzg2KdbQmQHjaQPInr3aq7QNrDwoq4MwB4FSQenjqu+SYWVtlfVVFp9gVFFsZrVc5Blamy5bNvEi553rjw3jKSTVi+S+iqkcYWuwzJNPOFpD0HWTewEvbj/ugDaCg7oFgqajjxtJxIpHR83jWdedIfEvus/voHLvnc5bMsU37V4ZosVZGaKyzbjIJj0URwfFh85P8OIuNUGtze3O4u6HF3DXt0eOBIrVoIwkPXcbdiYUCS2b9DDl3OFdsGnetHHm1NadxpUZBWRrW97xbXhtcSIRVa9CA5Qaq0F9YB97D/52R/Jc6NgVqkcTz2tyHLmQUe+XMEFjzsD4ehQj6hyqwdO7VIdm9IMUcvMKJAiuLBHSWwmbeMJj73//Di6TBr2bBmpQmnFQTm946XxYZTH89C9EFaxsiIB7hQkTi0KkUGAgmZin24v8CwPhgo7LOtn4F7TxixJ+hodOPYjButoVFgUzPTrZ49stZhntS7k/QZOhUn7TgmkJ3mLVj/gfwlwOaUDVANkNggC/OxX18tzMyRRiGwP36S4vwzHhb53Gv/+ga/BcZes8V9T4HHCoqK9piX5svQwNjoI6jQ+9ukfCom9+KLzRI2tBQfjTCVgQRfb2q4Evp++2eKGYSmIXA11lpm/w4mVYLeewn5JJujdc6clFVa3JV5r0Ej6WoDyyK4BxP11+vviw25QVngw11NhacSKI4ksp6iT13r04lxNGZBl7UKGpjjGOSbqYUXWKlWEQBywLfzpmtsRqgHcQWgayjCwR7exMfSkaj5gowqxzqzePmPzC6ZUPPNpD8bYaP4QElubUMBUAhZ00QtLG8FKYIJBMD4MO11GeqYM3WHmbKrjKj2VbxshKpom0+xThjlwDQ4yCCV1YdIwFYHtY/Tu1VyhbWDfc62V1lg9AE6Nk+wo1LGtDF2C2atxVYIeDM4npAkCSXeXlLXYf2r07FS94fqSKeqbBoJmPMBrBJ6uic1gXxL7xCxTkv/VshO84z1fwRVX34pNG0aXJLFVVKO1WNBl1HR4a0idLVWkU14n6ga4HVnQxXsGvcmzTCbQBudYpE1ihA0OlAo7MOjNu5tCW8GpIMbY9HXBF0PCe5N79B64v21LYptox+A0etijHYNq1eN6YZoGnnTeA+S5UYjNokfVWLbrzUzMihfcZWMLhSVBa4GnGaLEsrp8RjNEXcsybzjqvic2nbJx3wZaXzNaS3d8pKeK0Pz6nb4kwfTOltYNy2CMdgN2x2sLotgrSi9skdmpUmBnSH7yILScNRIbQZpNKnQDu0xbWhz3ss1IoT4MzjBLYUnEfdB1yf1z+5QNShRR//LwroOeWKqcRhhIRFHQq9OCJN1sBFBxEdR5OWLTgKecf1ZzPxeG8FM9uC2iSJTYdLECZzgjHc8saHjOS58g66twKJGt6Jpc0zzo4p2tIMRQGErmbBhpQnJb7Qi4kp3g3R/8xpKe2JUgSQalClKWgcpIru7iIqqzbLbgpWzYZUeKxxjVFaQtBGYzSR5AChEsRCizqE4zUdZYVRGLH6TZ/eyLle5jSROVGd2QFrOVASDmCgehrpBrpEiCBJajbVfrX4+sBP0HcSaqwgrby2Q/JA2aFyCwrJ7u4e6nLKRYlV0nHMfDBz7ybVz80vOQSpoj1I2IXtzeK3yjspaeKcXdkSLAcj1YEfCIB54IUFkPgqQwLm6UIPuzj8lFa4hkO5WgS76ul3T8qMCAo+tIR7q0t82ytWikweHgvQObip7Y8x57f5x4/I6GSaxA1+CnU+J7DVM23AYbINBj6wxlRN21SGhny7ArlYTQGg35YCXiTDOlixUHCXP/jkg8sv0ogJDA8hjg3YLK8rRhyDGzds+bwYUismsEHGnn+1jRDEw9LpTwAwSKyNalYNNXbFY8OMNZ9PogpaH3hyGu+9Od8tywP1bTpRXoaoKDMSMI5VjW/EDUtPyBabE9mG6AynAWuheg4nj4hw98HW+7+ElIC2EngU1URnZAM0xRlyPTlPODKm6ven/bCQ7ROMvEXNn1CwK4OHgr03Kg6UJi8lEg2bNeGwkt7QQf+dQP8KynPhinnXxUS9/Fc5SP9EwBvjUi17jGv8MQ/yy9s4zpskuOtDLmrIxvLT7QMzkDAA4CdByAgTK9xotsHKq0M9zifUT+pHUu21oDQsyp1tMqoQjs4EIR2bUUwdXPBV+6Dt82YJU4Ba1Qz82NxUJ2odKTCmQtwoSEdVpt15k9ajLKrcvbgxYPP4ThelKgYzq+EFiejhEiUaNJXN1cBpHmojKcgZ+y4Rg67t4zCSebgs4q9TASuwiVJsn2dDxJOJgrmrN0uClb1D3fMpoiRf0AK5nqLmoaRqKYlC2c+iaNYVewcg2h5fQyywRoOZAuVS3mxI6PD7VtRoKKPAc0jVgMFoIWnWA0L8cRrTq0HYh1oeyK75rHTNxalvcDYAIGSrrBMrmlZy9oR+uDxgeybgiR91yYETClGyjqJsoyeOkfEq7QHBSRXSPghd6P4jxZye3sQ/Dmnp6tQKVq1rm9bFs8oautQNZnG9EkZaGTajuLaniz75bNQvdDIa5UyUwviIm6zkI8A6EVxydxSpjrTUXNYCFaitPCS9glWBhX2/Pemq820w/N6WVtpiQklgTJz6bhUs0dIKWWxJVTxb5uwIlYvBPCx+LHOKfJ+V4qc3wfyWyGfskIKCe+yXpRrrhzJLYZT+yS0FqzGCwElVjHysDJpWE5Hrw9MxjyHWwKfZShY4IWAiGwyx8TtBVQABEluxcRxb5eqq+8anDQMpHO4h7THojiNIX6oYjsGgEvRq6mialfRql96/tUaAR+Jg6P72nojRV8sfjphc99ZMNFUDFhbNBT2yiolHoBDHoWS44oraI4UyFdQFBoLUgVymIDESXaccTz2AzRlrB9FvRxm1ABDkJYZVeUvlTagptJS2ZprzbGaASkKFWiQpJK64BIrcsM0HkOlBJCS4KWIemHhqzvw3a8umYDTEPHKScdgcc9+vT2kdg2WgxqIQMbz4fu+ajkM9iVyeMmo4iMbgr5E/8wC85otVni+kDv7ATMnhI+qLxy/9HbayT3NRZw8Tggkd1gKRK7FqGI7FqBlnjKOCrvnetSQ1AFXw1Ci8RvafiBTDX3MqrTq/WAsVsPf/BJjf9Ihwu9TNeX6WGr5MgNl9YON59ecln4XoOWgmxK/pufiWoIkm1beM0rnyTPDSdB0FpCMkTfrecjMzmLlHgpM/DSqb4ltNSka6vo6YV1OECPojqVw7hwyWUEmw6MWzY2GbrYNCSajd7yBbYM2gm+ftnv8dS/OhtPfMKZHVu3eRaD0XxTMwCG58kASbzgKVNiuqYrIfams9hj2rAME3bSDCAbBbLdTC2QeEZuR5Jaqv6MqhK/cQ/YCqjAczhuixUHUpg2qcc+aP7dz4kKCu2BIrJrCKzo5V1Abph9ePJT1SIho9LgG61Nvw08kszgylBOCj+629iycciUv86mF5x+X14Zq1Rc/PM7v4i3vP4ZSNfRGal6kyeJ7YTNgscj7QOpQkV8r17aWlndczwpyvGS1AUqqMxKrq02Z1X8yQ1kky5ZGc/fSFnS3jQzUUDKLsPJZ0SlZeV7P4FqHFXEaoNXphfMQsc4fDgNxqL7GlA2LUyPDSGzaVSaUVDFFi9zxZOiuoIf4F0f+TYy6VTnc6wTi0FqtiKtbGmlqtd7LeeNYUjObGUkL0WAPgdFrC3YM3vwIxqL3kgGDcxEVKfj5AJmx9JjSvsFaykyYYhpPZ4B6+b9gqSVkWp85t7kr/oym8iiLR0O7SRI2lorKCRQRHYNgUUOvCDwZtCzvqflwGDuTArZqULPE7PVBlXY0DJRGcqKT67XY8tIZKmESSqFvfxyRlGEe+6dkOd6oft+XAzTzgKokIVaZfGlklCQwNY1JRxGcZEWk7aSfaK7viizC5XAi19/KT7wzhciw2KvFsGM0WDIlAD9zGRBioGcoRzctNU3BTFWFElHr1piRdUwDIJFi74ayTLmg/msPAY5OPEmC3jPB7+OLJXx5z0KlusjCsLYBtCh7nD8bsOhWl+JO4BV14fETpIuQuhBMNdAhMcLjxs/k4Jvx+tQ976UWC3aCzQUoIsKS0JghSHGdU+aBbBwio0mpLZCFNHYo83tHySWDSrk9RBLKVQUa8jBZ4OOkISwVkkr9+GMHt+rPF7zmYOuirYUloEismsIYVLpOxoyNxB9CVEpeA3nVXWACljaDapLLPbwsykh/ywq4k26Z6Fr4uFMz5akK1nbv94PpKCqXYSNNoLUTElsBJzCdepUhuPPerAqnhDfqp+RxzRVuMXU53ZDCJJliiqc3TcNfTgDN5/pg5SDOFJpYZg9CQ89kiNRgNklir4aAbcDH3unilh32EZc+ILHiHob+IEMCkkkDSZPRBoijS2PY5uCJEcw45cPXpsaPNY42BT109CRnSzM2QOqpLWq2Fey9Dpz0BS3ouaAtR0IEnJqasAuPYVdhi2Ek57aqlLKaCsjUXH5b1Xl1EgK57jGtU0o4mSO+HW+g9YFJkaEicXD53lPckw1WpFWhSahiOwaAzMWx7VgxeKIXgV9h3xQMQkaDcNfK6Dfkh2sqOJRdcmlY/9pj+9zIVhcxjYv51x+bBs6epFUpGZLcTpAEMb+1kYGVGHsjRWik1goOOUfciq4AwR++WlsWxQ+NmKwHRfl4cZ9md0ECRUVOiqICzGrG8gHgRCtVivWyyUH1111C8540Il4/iueKK9VhxNObQ6w58d/+36slIahnHc83nickNDNJR5qNcSuuvjR4u2apfiRyqzvo7Auj8i2EVi61AjIYKOD5zCj3UhUmb1aVV2lGGyRn5TOgUmub2wDSFhrldDOvTF+InmtqriSvNHD1yKF/oIismsMYpCHjjQ7tvShvYBqBeNppAuSIrKLglXzVGmq/ksqndxWVOBIXnoVHKBUm14spzI1WgRlBCSKBvxm2nfWQGeBTKGEdEpDaJtNbUuLcVy0EVQ/y0GHH4gFZDVu7FT1ONChQpw9MINMyZnzV/caqALOakbc/WwBqMrOaAbGIl9a1rZCYj/49i8gk03hfmcdD30ROw6vQT5ftxccT9WcXz6T0HLfBgsivhYZpMUEVo+f2VkrGRjRthKmU12dSWE8GdVtaSCwAkh0/cQOMIf+u6UoDAAUkV1j4E1gJkkvqPTpRUcIxEyp5xXG1YLhuCiND8lUZPXGS5tBdmKmp4ksl1P6x5ecZYlso0VQjMAqj2RbsqKYfoARz0Wm7MBPjzXlNyapofdRsnKTZTFZhGbFzSsWgu133/GW5zTehrcp77ktCmButoThwIXeg1zWYAqHtrR1QFTZMJC2tSS2zZLYdMbGS197waIkdllUc35lEdtjcaDVhgPRbvjbaRPgUclWruq6qtBP6PjZcdKJJ+Lf/+2d+O53LsMjHvHwTv+cQh2ohmHzwtWPoIcySpQ7hUWq81mpvICwSiGRZcJwerudBH2iWjUXdAmwCOrFF/+nPK+IxKpAT2GzoJI9TCU2CFBJNU8q+D30x9aSVs3x4GTTi/pTNU3DurG8PHcDLAZzbQN5z8N4yBYDvXN9MBHCjVgAtPS28FnZrlky20Q1tFHceN0dyORSeNklT4e1yMCi2+CgzmR3rnqO81YRRaLGMtaq1HlaoKDQVnT0iH3+hRfive99N6697jqccsrJGBsb6+TPKdQJZu8VdT3ucNOHkErddAqWo7ILFoKdpKSKecG0uyQY5DNSpNSrU8cEl5uV17Kcy6DeIih+Tyv+U8YwZSdmYYQhyrQmNKvqJkkFkpqQkDHmu0a2saRKznV8yf/7SEcKvpZcTMNA2TClpWsvkVl2b+J0Nz2yy4FZ2XzkpLSoPnD77rprH04981i8/A3P7AkSK9A1udZRxe/0OcsGCbSdTen9k2ChoNAVIvvlr3wFj37M4/C5z32+kz+j0AToNRODfg+TmuVA35hEdi/0oK1lJEVeXi6z6M2IlelUA1ciiavugc5lpJivHWBBjpNtrluWkNjJWSGhjt2aJYNKLLe7xCNV9xWTJbK9lxZA7yN9khzo9gKZZUwTUdLNupZ9UjelmIgWg5XgBj4++8nv4Ltf/aX8d7fU70baTDNxhF3vOoU4kQA4oJuquYBCX6KjRLZYLHby6xVaANv58dGvqqyftiSKiwRBIQajgajuVYu8FoKESTp99bgqy1iqoA3WEelwZFLxbFyNJekkieVAabFYrEYhRIQcSa9VY03xP/YiWFnPdq69QGYZ0s9rVX193+LCr0ndknbcrMJfCn4U4ge3Xi8tfJ/3svPRi5ABmAaYzB3uyA9E0uKXloJ6CrwUFHoRPTKHchC2bcujilwut6rLM6igcsGIla2Bi/IqdPo6cOeBlr9juuxgeGIWZUYg9ZiSMrt3Rp4n75nsyu8x7iddcTA9OgRndmlyT8V29MCMRAW5K3UOWsX1LMwUkWZg/yKNAMIwxCUvPg+FPTMoLdMFLF12UcmkUKiEDTeTGJopwmH7WCGxBRQOxN2Rpu+dbnhd+H3BdAEB45OMkuwr2/FQHMrCKS9N1itOrMJN3D2BdBv2VT2orh8bDPAomomAfOQhp/midNZmhHYF5KEkWoYJP6xfpZ9iNFQYYiTyMKvF+a4LcVdlAnbGwOPPfQCm7u7OedoMODthhBOYWldoqqHHctfaoSiU7UPi32vXUAWFjhDZ5z3vuXjWM5+57Hsued3rce2116JZvOLlf4dXv/pVh7x+2mmnolwuY5Bx+OGHIwi7lyVJW8H6ShF2EEirxm4gCkNs27Yet/zwThzAXS19F29UG5yKBGx7PdATfCGOPGIrbv/5LkxiV8d/Kx34Ei6+386sOCjJBD7G3QoqutmWVo+dWE8ek+u4jMb8Lk4EO3q5JOL67iWngnlsc5tMpNJw6piSroIK3ojvoOgHKC2o3j5s+2bc9bvdmMbuhtYl63soeT7KCQlh0RjbRc9Y9rL7iut50XGnY893buvqlDfXc+G23B74mLVsFMzuKsh2KCmmSKXSCBpUDBmXNu46OCIIUKy5vtFOoGsajsAmHH74Ftz96z2Y/fUe9DLyvocJOzVvPRrBzp07kMlkodUM/DK+J9v0QDqLzTzWBwBHH70Nhj74s3RHH70DujHY65nJZDpDZL///R/g6qv/uOx7brvtNrSCD37ow/joxz4+T5G96srLcdVVV6NQKGCQEQYWrrzy9q7+Zi4MRJVlgUQ3+1ffeOM9bfme0cDDOGJVodeQstO49dZ7O/47jErKRQH2GBaKy8QTzYEDmNDHSBRKK8heXE+Spw2hL+2UOa1cCy8K8e3SXTgvexisJfY7p6OZb7lXt+pXESNgNPThRYGcD7UkkwolYezMIb9uqP71CCOMFGix0mCahmTaGmGEMJfF8ArqWhhG2D9dwPBIHnqXutjtvWUv7rp7N0YesBkjW0bmqYKH+SFmR7Jw0q23y60XmWIFheEshpmz2wS43MNTs9CDSLJ7WdhFT+xRO7fhfiftxN0/34Wbb7obeo8TORa7cV5hlxzPjR8LJLHXXX/H3H+nolDaz+42LEmxGRSQxF551W8x6CCJvfzyKzDIyOfznSGye/bskUcn4bquPBS6A/qiWNhBIsQCsG6AqoDZQhxSLTx6KQMXKeiLBqWvJnRTh9kFpZsV5iXNgsve6HVug0JkIhd6yEeHtvzslfUsRwaGqDQnbT+riBJft2lyfRdf9gwC7NcsGA0c0zwHxkMNZaSwsDasOqm97aTtWLdjXd3fyUIdthsVi0IEaWlbGc1hNL+y2sB4sX/5fx/BR9//UmQWsVh0CtMHdguJXbiejA8bQYTi+pGDRWsdBH3KtMIYG8cw1EKSgFl2kd8/Jdvzve+5DENjOTztRY8WOwFnEUhiu3GetoIAsZc1r5soNzH4rFViWQSXiiIZ+A4SiVVYu+g9GUuhu9A0CcDmfbsfc2UZJUYCnm0gbmeQUC3CYVejRpSaOHPTlHzO5QpiVhNl6DLQyjS4b6U4CIYUK9ULAyGGowA+ODPRxMIu9b2OFyvCmgaz4krhmJvtXqemdsJPWdJcIsVmJGGHjxlW0ldc6XjGLmqtgNu8uG4Yn/rE95BJWT2TE9sI2KogSo7tVkASS3V3r2FhpgHLjYLCmiWyp556qjRC4IN47WteLX9ffPErO/mzCg2CAdhTOlXZ/iSD7OhDxYx91tcamP9IEltuQo0mSZzRTOQZVtSLZJYxULoBLdLqJtsyIJM8UVLT+j0Fw2Egx4/TRlWfiQdsR8sCHaYUgNFiw5mWOoytNrxMGnaxIt3XOgnT8eGnTOlI1yoCP4CXTeO8l52HV1z8JGQTm0i/gc0gsi0MPFM1JHa6S7NvCgrdQEeHZDfffDNe9/o3HPL6gQOtV6wrtBFJgkE2ipCJApT77CJX7bM+3mKf9X5DGkG87lRWmiFgyX63wlCmLQttaKvZblSgzQXclxJiakLDk4aPlOeFoGJFJbbUwPbgYGCIx32b15/+TI0RYpbBCiNUxvLwG7TUpHssnotxUFRI0zNFBCmzMxYDJg64HoobRufaLDeLSrGCj73uE3jYBQ/FKQ87GW7ZgXlgFnah3JuDt2XgQROxgUdEo2Fcad+DFSEmsUqJVRgwmJ3Okb3mmms6+RMKbYLH6lXdxJbAhYuo5/ymK4HK3VALfdb70VIgNybdXLHb0XLgfp7QLWwMvd4cxGgaipwtoFcyOnhclkIfw4wMqoGePKjGxl3jVwbfOdQBS4EsD4lsCMntrYzk4DWYR0tf7Mc+8DL0GtgljUTQKpQRjNVf+NZI5q6fSUmHunaQ2HQ2hRPOPl5e8zIpFDfoyEzMSrxbPzWE4TEtCQ5hgIpR56074vEdUseVwi6eSwoKg4bBv+Mr1A0qX7QYUJ3rN9DzOQ0DKfop++jm1CyoInJ6sNCGAYebDGL0OrshrYYPugCG88f71UeEHxTukudaMLw/bvRR/zbJJNOtTt02hAZa0lZc6J4HL5eOfbEN7qsgCHHN9X+R514DG2+kio60RG4ntCCSRhbOELuxNX97CoMQH3/9J4XEvuBtz4dV06KYXt/ihhHJKM4Ffl/VBnga4nqAOpZZouSS1rMHMllFYhUGForIKhwy1UziQHWu38AWliRlbF47yGjZUrAIqMQekG5IjOXpve03K/tWE5/fchcy+qVjp2z9aqzL97eZx9JWkJ4tSytlJ9+cL9Z1Pbz7P74uz70GdomjmmkXnbYOHO1SWbaX06Iaqxs6HvXcRx5CYmuXf3Ykh2nTQgYRsrze9eBxvxC0TjFxIFXHAG04CkWY2G3Y8Ho8XkxBoRUoIquwqMWA09b9VjzFmCZW4ls9XInfKljCxPzHSa01S8FiYBbvAc1EFkHPkVnu2xndkONysX3LG/eMtDFtQI0NfTnGSZDbjdRsCaFhoDKeF9I0iGB7XbtQkdbI7QDjvULTFBsGmsw3pp3gE2+4FHv+sgfHnXncoiS2iohNKewUduuWHANDPXjcLwTbQ3AAttTMCc8NFi4SuwxbcpR57igoDDIUkVVY1G+6XzelwKbfCGEhqcTnsg8adESyXiSxxU7cnBjFpptCZhl51Ws39SIYtRZbDGoLvVjgRYWaqm1DaiyijhQHWsUK9DBAaTyPwBzciCNO/TNazGxDggEtBSzwKo/mESxDPuvxxLJ5xfiW8bo/x+LAvbotg+A0QskT7uXrHmnqIUQ2ipANA/HDTuuGkFiZnVAkVmENQBFZhUVBi8GEZsr0VD9Muc0nY4aola1mLvYWIqlYnoYp69exG1RiL5mQbN4eU6hElTU5b4xnDh8hXb14AaPeSb9w3My0PtCiYLPVbTs9BTLVXkFoGXCzGVEsWwHb0m7bMt7V9rSNIkhZsCuuWCnaYinINWcpqJQOFnYtZSdYsejRsKQgij7rHAKxG/RiMRgVVrFPcdkkaSbEKAKpE6iqsGuh4FVBoYrBlQsUWkKUVLPzZs9Rfre6frXLHkHVcmPkwo20rrbe7RRYgEfliCSzmRaVzZBZjgPWRT4qkS7btHfsIzo8dxYjZhYZjc0gGivwigcFgShbbeOxYQS7VEGQtiX7NDNZaKlYqRq99a//9Fz0MmibYOcsNi9oNoqrHZYCEtcTH3gCHvq0hzRMYhd6xSu6jmxkYDjy5drnRYAjqRa9cR1h6+V0GGJIC2EiQkkzcK9ux9nJPbKMCgrdRG/cnRR6ElQp9huWkJhc4rvqP4tBfy33YmDhHQncZDf9bonNYJ9uw0acL9wrmAXwg/IeDIWeKKqNWAqIlKwPkwr0tjU+IIlltFNpLI9I10TJowezFfh+gP/75XXy3MtgrmyqVBF7QKPQ/bAlSwHtBN/48DfhewEe+dfntERiq+BAkTFVe3QbexL/LJMC2Ap6tesGGEFHEjuc2B/uNWzcY9gyU6FIrMJahSKyCsuCCQb7qM5B6ykyU7/FQO9riwE9e0yPPKBZbe06VRc0kkRDerLzJskbeU/YTJLtwOlTqlONWAoISwZlUVtyYw3fh1V2UBnKoDQ+LKokyRm/v1V4no9LP/djee5l+FxnJ4DpeU2p2OWRHJx8umlPLAu7dKP95waPedYL7NZtqfynfYVXQpLIXJXUduF8oL2HNoehyJdUESHZhjXX3KDfMr8VFNoNZS1QWBEl3cA+ABsDT4qA6CHrB5DE0ue7MWJXm7BnpsfrBW9aRgTs0y2UWlT3WgGnW/fqGsZDT+KqitHqTmGy6I24y7CR07QGGzlEyCKSBgitghmqmh+hPJaPI7aSbcKp8lbV2L6CRItF0gAC9fqCGSFVLKOSz6Aykm/Y813b7KAZT2xD0DSUoaFs6JiJDMkdlvxhBPEgOdTga/GUPx+tWH+o5JMsGwmB5abl8IBZsLQQcDDLAVyeLZUHPGZQQaFeKCKrUBeoTBCb+ozMUr2YiEKspycyogqn9Y0SSxK7X2c3ntXf1rx50mYwGvoYYSvgSJeba/dBf2uEnG6L7YVxW+xKVu9AhTd/5nBWWiCytBJQhQ1tA+X1w3BrO3aFkai0jN5aSwgtE3bZnUfol4NdcuCnU2IpaMZLXJwpYeNhG/HUv39yZ0nsArCgqqBB2jkbkQkbIeyQpDZuHcsiQk34ZYQoIqmNI7P4Ui3t1JIHB2V6dHCT8T1VUkzPK887klf+7vzl4AAuKfjqk2uagkKnoIisQsNkNlZme7Cd6RKgf8wMIQSsEBmdL5ZqI4kt9ACJrYJTmMwYdiIdo1II46Mo2lF3i94quoljxo6Rm3kJwIEowobIQxhpK06zksRqLdgKbMcTEisV9kNZSSiohR4E0PxQqvlbha7rOOmEHfLc62DMGAu+TM+XFrbLwax4UtRVGsuJv7ZRJfa6X12P+z/6fnjm656O1QSPtTIMlA0D00mGKwdKoqTKf4fgljClQex8F3fVfOLBQEDiqunyGr/Tw8rHMYluKvk9vl9BYS1DEVmFhslslJBZ+sT6oXd3lFThmyEzIkNRU3oV0mEImtgJekGJPQT0DbKyO9IwGgZS2Z0K/K4oQ5zKJXndT6uDM4nR1Ch0yY81YIURxpKBynKqO/M3SWUbBQcWWd9DqGsorRuGy85Ti/yOHkbQQhZ6tb4tUikLl1z8ZPQDIoMFbiF0LwCWIbKGF0hUF1vEUpFt1k5w+iNPk+5dvQQed2x17Mzt+prrzGJe2hbOlyBRc/kLvdf3TUGhu+itK4FCX6BabEAVYSjszazFRXMidSYwaAlZ7DVEUkwVSDh7j5LYGnDfs2kGg+RJDIcRLNltqB2wko5mExrtBMA9hXsQVY+7ZKBSTalY6nikEsulpZpVL7gXOPihF7JoWpgdyUvb2SVJSEhC3xpJqYJFXl/91m97vtirdsCoLZOwQBJrVhyUxodiC0ILntheI7ErgsfDwkeL21pUX+WTVVBQRFah+QIwhocz23Qk4lR41Dftd4leSjKgxs3GE/QdU4kt9ziJnUNS1b0/ncU+zZTCFNoN2h1RxLa8LLBh4d5SBJ9q2IRuYlYzpdXoYmTWSKZ96yGyfAcLejLJfpEKcdNGsEK7WT1sT2IBwditr3/7dz0fv1VFZOpivVgMun+QxFaGsw1/923X3I5sPtP5wq4+gqbF/loFhbUOZS1QaBosRNhj2PBCD2NRgFKk9XwyAH29+3VgQ+gJmV2dgqWDoH+OGZVsjznVp1E6IXvWc1AThVJNzXiidORLTqt0zmphnYykuIttc6Wj2YqquylT+1S3F/qhWQ2ur+CP1ZOCHf4SB2m0UbDZgh/6da0Hf3utIjIMUWTpESaprSWx9BUzY7cynGvoeKASO7F7AiecfTyOP+u4nu5y1m3QE64UWQUFpcgqtKNpgm6JIpdO+n33RNboCtYILjNJEknL6iBuMsBtdgCWELB+JLEL7QZT0ubTFvWUCu0IqGo217teSCwC+a6pmra8JDN5K78oqYkL0ixRZvOY/7u0JiwFktxcosDG2cmWWCfidA6toUSDqMcHc51CoOtxg4Oa5im0EwiJpRLbYMxW1U7w4//6ify3IrELEfXFTJiCQqehFFmFlkHVa9KI+3uvk3imEEXo3etC1UICw/rQkyKVbiqzJGjZhDDt18xVzYjtBHgcuIaO2SRvMx/5sr6ccWeFNVXaxZMjmKEZj67tMEAOkbSfjbQI68M4+bWqQG3NbwOokkoFeFzpTXsBo444NGHmZtxeOcAszQn0b8oyUCGOf43fxcpvQ4skToyB9xXdgCP/2tyxa9AG0KbD3jAMPOxBJ8pzP+XJVjt8ma4P3fESO0HjSmzVE/vM1z+jgwvdv+BxzwGYgsJahyKyCm1VOknORmk1CAP4UTw926s5h7Vktjs2g5jY8aSb0gyJBetlst8qqI5yar4Q6ciArTUDsVFQ+QS9pEnkELc6fbWsYafCxKIxbidaCUxoGEMgt2txnzKXMwpxa2USR6fHYCY2/xz/Z67OKs7w5H9zv46FPmY0Q1p7ZrRACrK4q/2IGZ26qK70JTfaIWxRhGHbmiHYtokXPe9c9BvoT6YKS5tFed2wdD1r9Brws6/8vDvNDvoYjO2ylCKroKCIrEJ7IfFILFjSjBp19tBA716LEyOZZZoBlbyuqLBtqFzuGySdkSq6hoqopD5GEWEoaa5RLVhxdB2hhLyza5eFWSnMO3QbUYe9pTKBrel1MJfYX9RlbUmm14TA7gg9jISBqMWTuoWZiP5XXYoWG0kxWBbMDyWRbdN+dV0fn/uf/8Nzn/lwIbV9AXbsmi1Ko4PiuhF4jClrAFRiuTvOfc4jEbLxhCKxy4CKrIKCgjoPFNoPTUNRO6jOjoTsdkOSqPekD5RKMguAxkNfioRoi2gXGSGBpbrIiKq1oMIuRKywRqKMUo2l2sq1L+saZjQ7ycLUJE1gJPRElSWBJQUdku0WQYtiu0C1SMtNfM1p9ruvdkiSGNuYuEpXJRk8xcV9t+qWKL47g4qohdO6Lr8zBh9DQQiXRJt2CD7km3tj/wRBgJ/96nr89QUP6YvJM/qD7YqL2eEsChtGETRIQqt2gqNPOQpP+NvH94+lYpWgTAUKCjF6/+qo0N/qrGGjqIcYojobBnFufg9Oh5Hw7NU1jIdeTGZXCNZfCSRoGc8XEsvpdZKzylohsFTlGF8VBhKFRSJL6skM3yI9r1WiKO07AS+KkNci7DdZJGZI8gUpDAu1jCT/lUQ31mcZnxUTWRLQQDOS7ybR1ecIL+kyldbqwInHXA4hRgMfKbG88Jt06Fpc8Ee1nJ+pJIMwPseUu5H1jilws13D+hm678Os+HByGRRH802TWNoJHn3hozq2nAMJ1aZWYY1DEVmFjiP2ILLdqoGRIJAOSbmQLW71lshiu0ECtV+3JWppJAqke1WjcWKkaVQfScAqpondui3xTWvBRkDiyRQGdnyjD5bbgn3iWbC1lMrJzzBdgASXDSuoihKSRrpkzwETY6kx7DPS0tmrsf1rCWllERiLzvh7sn8Sry73He0OLP4qsEuTbsQRYgqLgwOMCgsmI5RHc3EtXRMe4S+/5yvKE9sgek8OUFBYHSgiq9AdaBpKMFAydOzP5MR2kOfUcQRRv3olf7aaReqHwHgUwKizCIx5sCRxBAk6u0zlU5n+aW7QAkhGh+byY0NRWbnNghX6rXC6n0VgjWbokrxuH9re1LLyNyY1E26ky/LmwjBWZ0WBTYoTWWgFtrwNxadZJBlfhVkE0zTwpPMeIM+9iLjJgQc/bcEZzsJL27DpcW0C5730PORHc8oTq6Cg0DAUkVXoLuhHNC3cY9jimWTu7FDISvZAepRX2uhPbRb8/Wm24A11jEe+FCcVkwinWnByOsW2p1Ek8U+sjGfxEAubuJ5UpwYZMl0fRRivlFGMXGmAsJz6Oodkmp/Yn/iGG9nnYRRiV2EXtua3NqTIzjlokzQFJ9IwHAZiJamqs1XE/x0HztOrmwp9DPsOzC62i7UsE085/yz0tAo7koWbzyCqaRkbSgxXYxjbONrmhRx8xG5wBQUFRWQVVlmhNTCtxx5Fkoqhat6opsFJskFXswjMjTTx9g5Hvkw3k9zYiWeTIPnZlwTnc5nXBNj4ImJbXV8sBGYYYDpxs66EWIWlCqpjStItGlesoyjCpDOJLbktdddlRcmj9tc4CzCha3AWUWeroE+Wiiwpbd7zMDxVQGqmCC+TRmgtUErjxC9IzdmAe2FrVdh54HnRBJFVaAFr5bqjoLAEFJFVWHWQUEzLdLwhJCcVMkQ/zhtlNTr9kiSQEpPU5Ys2ldYpTYcWGdgQ+TDCSKbBOT3NuKjVJtvdBhsIjIQksIFoqrOaLl7gRlRYtpulCtvV7SbNEpgisWCxatRZ2iN43PH/Fs4MsJisZFoIdA2ZqSJSxQqcfBZOLr0miJvYCBxPMnIXU2GrkELOHrEJDTqUIqugEEMRWYWeQVSj0k5J5XtcUc7CsFSVCEVxMD4TEUhw20puk8p4K1Fc9RoyO8HWq5otynG1jWnVQrAWQIJCtXw09CVSjIpqvVX97VBh2wH2BssInT0UVXW2hEhmBkjUeWxVFuzjwDKFxJmuh8zkLAzHgzOSldf5vlDXYQSr1fa4M5FaZsWVdWMigTuUjtd1GYSLEFyFToAJHmvj+qOgsBwUkVXoWVJLEsGioWndFGJpI4yfJS4p9qaS3NKryk5OTA9ltBOpSrV4ZzGIi7Mm2okTx9VuUCStLAhi1ijJakyY44cQmoTQMXN2NAqFzPJ9a0GFHYIv+6N8iK65OLivSGDpKmUTiNk2qbCapmFjZqM8NwIuhzRfWOpjyTHnUHWFPqfQct/7C4q9fNuCZpiwy46QWmcoVmepUmpd9NF2CloYwirF3bncfApuLgM/VV+k1mp73NcKDM5WrYHZAAWFlaCIrEJfgISSWuAcCalRT1k1TypJpdBMWsCydeNSl3gSXFfXhdiw4xhbk8b5o/yNWIFdUmnVNMxqhqiKeZLZMJCorlIPJS+0DeKDPajCcgq+HhWW+4OFfKR+05Kha8wrpGoVLPDalNvU8OeYMwvNr3tmoKLror4zqouENhUEQvDm3mdocHNpKQCrqrMyZdDHHlkjDJDxA9gO0whsuPk0PBLYeshpGI8SuF0UOg8WIipFVkFBEVmFfkVCOmNrwRLvSVS0Oe5b89l2EOspw5KCME5F85FJCG2vtuNttCMXCewo83SlxaxRF4El8ePmjZtAsLFA+7cFUwv+MvMXHD58eEOpBez01dDvJM0RypEOywixQdNhOz7sUgW+ZSJMptj5t6Yb8rrpeWTCDbdmXVVwUOh60L0AZhCgZBqYHc1DHx9qyP9LS0VoGghUR64u4WDDDwWFtQylyCoMLpKLfCcFMqqwBwxdmj0MM6IpDGEk5K9KpPsNtGyMVdv1Jor1cjBYnBcGUq7P+DEWcnXSP8zUgoJXkOdGLIJiG2H+ADuNNRL3lRDaSTuF6bE8svkM7JIDyykhME3xjNJSQO+sMRmrs7QeuLlUT3uoWcBluL7YB8KUifJYBpNDeUxbRaxL2Q0XselBIEkOUY/m3g4a2JWu4e5zCgoDCEVkFRTaAPpk9xk2ZhklljQHYFwT/6Yq2S/JBpnE/0sfMhMJljRosIsXIlgIYYUhZnRm6NI/y+n73lxXqvdU0mk7YdpEw6DabluojObFM0oV0ypWpJpfD0MpchJSaxlITxeghQHcXLZ3ptrpC/d8UV7lPw0dXtaGl0nBt21ZTr8FEqr5gVgRFLoDevrXYjtkBYWFUERWQaGNIGmtGDqmIxPbM1nxhs7rYNbDSQcsbiKJpYZNa8BSloM02II3knXdDxMjmSwOGPUVAq0qpJhLxxACOC1+FZVHl49sCoYXCEG0yi7sQgmGGyCyNWQnCjAcH5WxvEy5dx30jgehKKU6W9XRC27pcIYyCFIWAstCaLbP+sECykii2BQ6DW5r8fUrRVZBQRFZBYVOgN61kmXPdTBjhBgD95myEERxLi67R/VEhTeLusIA69j0QRpR1JCuiKorEyPilAfSXBa6seCtqjT7endJGtMKtuW3NZxaQHBgoUd+e/NpbVMeLPxycikhjzSVSBHYbAl22UV5OIvQNhGZukR0SURVO/d9GIkqTNKq+eFcUwYS19AwJDorsK3EBqF1JKaLGbO+rYhsN8AzjjaZxcPkFBTWFtRVR0Ghk6jJxp3U41xcFoXlkkQAMh5XY0tUfXUKNyRaK5BWvI4oxiR6CXll8oMWCelmi14SWKcHVGUWeI2nx5v6LJc/bMInWy/8lA2PMVyMjrMMlMYDpKeL0iMgsA2J/xIFVxIOqKxxWzI2DkIERWBLvKlVh/W8pQwj8bRyv2k1b+LXCEk2DHjZtPhUqQLzv0Oj8/uL61Qlygqdh4lIrhdyLioorHGoq46CQjcjxDRDSOFEMkVvJ13M0qwcJ7EVpSVu0UtPZ0fJLYu6Ah8bIk+WLR1BGgZIPJmmYZKqq64LueW/9wqCKMCtU7fi6NGjYSxhgVgKVMFJZknSpdlBu6FrkmJgVVxRaUPTRGl8GHaRv6ahMJaX9+hCSENRMoWUigUghOFTZ0vSNmpqBUlUiZiYkqTqcWetpAkDvzNWeldnkGF4HkpDQz1rmxk0MKN5RgY+ansrKCgiq6CwCggXdDHj1L2ZKKGphNhWyW3MZ+IK5WrerTR9qJlaXJiPUL290QHJkq2556j6GpCPfIyFAYrsaMWYKSmGOtgEoidsD4shApzAiVe60UUUdVnHejZ3mOvd1l5QmWQUV+1v0nZAMpudKqI0lq9vCr429aJX90VNfizXW6E74JHbzmxmBYV+hiKyCgqrjcQvS4vB3EsJqSW55TSikTyz4p4nLf+Ou5PNz8qtBf+llvxKhzI9fmar3XSk4Q7TFhLbL6kK7YCjG4hYANUhe0FcQLXge2vIbGYKKI0NiRVgWfTJPjFdH0HKlEQHhS4gsZVw1kZBQUERWQWFnkS0CLk9+I8HO5lVqdDSRDYms6LcJje+bBRg1A+k9W8nGhb0Ohi9VdJ0pKNQVPF2IzAN2X+0DojvtQru02xa1NqUqUuMV7+Q1RVtBetGYquDQsfBgSxtR8ofq6AQQymyCgr9BilYai56x4pCrA98sRlQie1HsNjriOEjGurqNQ+aJvFiOSm2i9pOJulhpdrKyKvAXrCMVMQzKaRny1KQ5Qxl0c9gkRcjt7y0UmO7Bc7GVO0/CgoKsdVGQUFhDYBT6SSx9OAW+liJZezWkD3UVPxWFUxgYEFbqhN935KCL0ZhLQYql0HaRnqqJB3C+hmG48LJ2Mof20XQblTmsT8Aar6CQjvQv3czBQWF+hFFGA89jES+dOzq55tgEAa4/sD18tws6I2dgY4Ute0OtBL2U1acSLAExH5gakhPFaRDWD+i2mSBcWMK3Z1GZSdBBQWFGOpsUFBYA2DL3PEwkEYGPZtG0ADCJKqsFRR1UwgBU1/bDWk8oOvik10uc5ZkNzNVhMYuGX0Gq+LAyafhpe3VXpQ1AxZ90h+riKyCwkEoIqugMOCwo1Baz3IqvZfyYFcbzOid1szYXtBmVZZElm1s6SFdDl42BZOtbUtl9BN0PxCi7g5l+lrd7zfYCCUHmQWLCgoKMRSRVVAYZLDpQehLbBd9oQrzUdR0FDUNGSmfayN0DW7Ghu6v0A6Xg4uMjfR0SZoo9AussoNKPi2qskIXt3uE2N+uBg8KCnNQdzYFhQG3FIyGQV8Xdy0E0wruM3qf5lMLFnplNTOOMmu3Kiu5quwdu/z30i9LpGdKfWExMCseQsuEm8+s9qKsKTA3upqDrKCg0KX4LcMwcP555+Gssx8Ay7Rw9R//iC9+8Utw3f5RHhQU+t1SwKnIQWt4YOlWW1VZklkphGvjJbFqL+A0PInfcvAyNlKFilgMejmSi0SbubHFDaMqqaDLoAWG3tiOtFZWUOhjdFSm+cbXv4Zzz30krr/+T7jiyivxohe+AF/936/AttV0lIJCRxFFGB1QSwELvf408ae2FHwJ6JXVDWn5ySYJ7QJjtjzbWtEnu9BiYDq9O9CvEm1HJRV0f9tHoQy6BqFYU0GhbxTZF77ob7B37965//7pT3+KKy7/A8455xx873vf6+RPKyisaWQRYiQM5MansDJ8TcekZmJj5MKM2lcUJ+S0UK6r8QItBrrjwS5U4navPUZY6OGlslwZzvbcsq0FW4EGbeAGpQoK7UBHz4paEkscODAhtoLh4aFO/qyCwtpGFGEkCCRUipX5CvWhmJBZDgLa5ZclIfVtE6br1/f+tA276MCq9Fa2rOH50PwQpfFhZSlYBaQRColVRFZBYZVb1F544fMQRRF+9atfL/ke2g5qrQe5XK5LS6egMBhg69V81L0CrygM4XvdI15BFE/V+76HSGtv2sCBKIIehhiKfMzUdE8Kky5dk/dMNvydM8Uy8rNlVLKput6fqrhw9xdQGM4h0rs7EJndO3PIeupBKMs0O5JF2e39YrR6ceDOA+gXpCJgN1sfq4GpgkJrRPbJT3oSzj//vGXf82///i7ceOONh7z+oAc9EG98w+vx1re+Dffcc8+Sn3/Fy/8Or371qw55/bTTTkW53F9Zi43iyCN2YC3gyKO2wtB7S3HqBI44ctuqTEGurxRhBwHKZvsKopYjsdu2rUe5XOr4b839ZhThPuFWmLrRUpvapWCEIcZcB4eHIUrmwUvkkUdsxe0/34VJ7Gro+8wwxDq3InaFQNfr2ofpIMCknULF6KrWcMh6cllygY9Z08KUZQ+cpWDnzh3IZLLQ6tgvqwUzDGCEEUayOfhNJhYcffS2NXHNPfroHdCNwV/Po446EoOOTKb+VJSGrpLXXnfdimRy3wI7AXHmmWfi05+6FB/84Idw6ac+veznP/ihD+OjH/v4PEX2qisvx1VXXY1CoYBBx5VXXYFBBy80a2E9iSuvvL2rvzfEqK3AxXSXikKoxJLErnvUYVi3Yx26gTAMMbF7AuObx6F3iICwbezwdEHasDqZlCiUJHc333Q3dKNxMjEe+MiDnuX6PpuJQnjQsFe3EHWZO6bsNG699V5oETAUxd3g9uvmwCVfECSx111/B3oZPKendAP7jeaLpElir7zqt1gL95bLL18b95ZBX898Pt8ZInvLLbfIoxGccf/74/Of+ww++tGP4b3ve/+K76eHVsVzKSg0gSjCMDt48c8ukw6S2E3HbO7Kb1WKFbz7Ze/D27/9VqQ7WD1vVlzk9s9Ar9oKsEtIrNmE0u3yc4EHS9Pq2jd+1SKiG133ReqmDss0kZcqeQvTugld0wYydLyXlViCXm0taaesoKCwODp6Ft/vfqfjv/7rc/jYxz6Od7/nvZ38KQWFNQ8WKWWjEBVV2dwWsPCquH4YoWkgVXZaamPLlqLM87WlBG9lVN+VTfzA3QSV2JjEGjigm6pgcBVBZb7EIi+VHaugsCQ6OsyjnYA44YQTcOknPzH3+je+8U1845vf7ORPKyisOeTCOKlgEKeAV5fMjiC4Y794RavdlRoFVdiCZmBD6MHhXqpjH1GJzUYRZhHB7RKRYYezrO+JnWBCkdhVBY81UwP2UY1V57SCwuoQ2Ve9+jUwFjGnN2pPUFBQWB4Wp6FDqrFrg8Sm6kwAaAf8lIWZsSGUDQPDUYhyFDU1WKjGJ6UR1dWdiXkMGiKkwwBuF6aWbYRIkTjbKVFi1YBodZFN1NhBai+toNAJdPTq+MMf/qiTX6+goFBz0+O0danOYqJ+Bn2x77jsbV39TTYrmLTTmKCqigCVSJdOYI2AxLCgG1gfsIwrqssr62oacohQRISgY6psJMcPafM+3ULOSikS2wPeWN6c9+imitxSUFgBaqinoDAAU5Ds4kUP5lpAEAS44fc3ynM3QSLK6fa9ui1T8MzqbbRxQglUZQ1RZesBKa+NQJTSTsBAKCqzp+nYa1iY5Qza2jiMehos9KO9Q3XmU1BYGYrIKij0OUiKUizyWiMMxKt4+PjrPiHPXYemCdnbbdhCMvIIYYuaWR+ows7qOnTaZOskp2GkIdP2oi+qsAEyUYQJzcQe3VJdo3oERpJUMC2DirVxTisotAKV6aGg0OcgiSVU15/ugbYCTsOXoxCjkSedwCrQRdlcCWXo4n3MIEAJK1tBqLRTkTXaYi+I4oEP4lSCKc1EuccjqNYaaPOY0Q05RhQUFFaGIrIKCv2MKEI+DOAp4ab7m57qqmagEmmyD4ajAOmI5FRfPrIq8cpmgzAmpyuobiSvaYSwopXfu1IxVzqK4NBGoNlSRKQKunoLZhSCeuyMSipQUKgbisgqKPQxUmIriNbUtLCma9h0+CZ57gVQhZ00dBQjQ7owsRsWbQMu9Dg2axHySRsIieRQFKJQFzlN7CMN7mctUV9ZCMjl2a+ZKOqGtMtV6MFBaRThwCo0wVBQ6GcoIqug0MewpbqZSt3aufGlMilc8unXoBftBgcMHbORgQwJbVJI5UcQEjmPPGqx6pYKPSGoVElXIssZRJhh2sGK9oIIVjLAIUh+p7SYHCkC29sFXrQTTOmNd45TUFjLWDt3PwWFAQQLdlah5GlV4Xs+fnvZ7+S5F0FCO21YuFe3pYiKRNISUhtI0wpm/jLtgKSSBT1mFMctrZheIBFri8NIlFcmKVDlpfN2RjOwW7exW4/TCBSJ7V2Y4oGGpGKo/aSg0BiUIqug0Kcg+aHn0Vtj08S+6+PL7/4KTn34KTCt3r2EBUk3rwJIVuNmA+koREYaD5DMMpEggo8Io2Fc4BOKGYD+2/nfFSXV7HYYItQ1USBIfvjMt/rQhABNaoaou8yfbcVPq9BtS0EolgIVt6Wg0Dh69y6goKCwLDh9TDJTUoSl5+HLtD5QhJGE3cf7juosFVwzdJFFKMqrTJMtotDSRhIr8KYQXnps+Vl+hqSVyrxKruhzS4E6lxUUGoYisgoK/TwdqbFdqnII9ROYFMAiMFcEUwPTAKYCA5tDD2VNg8ZHorRWQVpr6yS6Ou7RbFFlFQbHUsAOXspSoKDQHBSRVVDoY0VWhLs1xmk0Xccx9z9GngcFTBKYQoSRyEch0hdVVqnoWvTTakD9LRgUehVMtmDCxX7dVJYCBYUWoIisgkKfgn7L7jZp7Q2kMjZe8q6/xUBB0zClmzDDUKaa6atdLE+W9gNetHuzzE2hbgiJDTGtmZhQlgIFhZYwOJKGgsIaU3NSa7DQq1rs9f1P/0CeBwn0uZLUcJ/SC3soYssBp6MV+hss7mJR3n7DVE0pFBRahCKyCgp9CBYLsWiIRT9rDYzd+sFnftiz8VutgHmxB9jVSYq7DjUQsO8To7YU+heZKJTzdp/BQYu6BSsotAp1Fiko9OmJK+1NV3tBFNqOsmaIMstcWEZuzYcGYxGCq9AfYAwb0yf2G5bq3qWg0CYoIqug0IcgieXJq+KWBhOzbHurmcghbp5QBQcuqrChP8H9mEeIfbop+1dBQaE9UGeTgkIfQpO0grU5xWyYBs58/JnyPLCQrl+mdOfKs8wrIbMcuDCtQqH/SCzbFU9ophT1qbxYBYX2QQ3uFRT6EOKTZPuntWeRhZWy8IzXXoC1kDfLlqVayM5PAQqRgUCL1QcSW6XG9we0hMRO6QYO6JbabwoKbYZSZBUU+hBiK1ijypznePjiu74sz4MOJhmQ/BQTZZbCLNW9AdaiB5bE7tctlVCgoNABKCKroNCHYBFQtBblWJI7P8Dvv/N7eV4LmEdmo0CI7Nrc8/0F7qeRKBR7CEks96OCgkL7oawFCgoKCj0OPyGzJEfrQz8uAFPEqOc9sVUlVpFYBYXOQRFZBYU+hLZGbQVrncySFKUiYAgB/EhTBKkHYSatZ+lvVnYCBYXOQ1kLFBQU+gqmZeLRFz5KntcaqOxN6iamxDMbwlKZsj0FNrFg1679isQqKHQNa+9OoKAwAFjLLknTNvGY5z8aaxUks1T6ilEoNgMTgTRRUFhdZMMAOjTs1k2JTlPWDwWF7kApsgoKCgp9Ag5foiSaa8qwsNuwJYZtKAwgkQb/f3t3Ah9FneZ//FtV3SEX96WgIJeuohyCCF4gio7KeM3O6Ozfv7PjjscoXuCJu+OsuqPgNSqIeIy3jo6jjrfiAaOrjHKpwACCFzdyJJAQknRX7ev3SyfKKVcnXVWf9+vVJOl06K500vnWU089P6HemVYCP23Hai3zkir1koRYoB5RkQVCyCxSSp9sfINsrTLXs72zrdLV9uSiMrmMeKrnk7oaB77KHdcuO1vJil1AvaMiC4RQzVnQ8W0viCvXTA92zFK13z/3GxzXVmbXup6aKG37NJF9jQLffr/NZILlXh4hFmggVGSBEPLlyI3pErVxrzyY537TqGqqsivcpCp9R839tBqZlcAcl1WksrTIgTmhy+xM2B0Ix+P7DDQggiwQQr5jWvPiuURt3A9lV5pq/BZmyAaZvtkNrqfm6ZSaKqX1gasqDnfv1ipsgcwiBwmt9hJUYYEcQJAFQqi2KmeqQybAID4V2eofeb5rWg2SqqA6u9tQhQVyF0EWCKF0bXtB5n3Ep0c2tR1l+C1VZysDVxXma9nx2X5BoAIFakQVFshZBFkghEx/nmkv8BRsdOIPos3Rjq3mVVudNS0Gzfy0mgW+DbOcXf/j8k0bQeBrveNpqZundfTCAjmJIAuEkJkjWiXH9uxVkWPjITMn1pzYtUNf5jgqdRIqN6uB+SkbaJsGaa13HFXTP7sZM/WhMNOLvMxNap2bYClgIIcRZIGQqnBcFQU0FsTpxbpajr3sjFSm3aDcjOny0/ZSkAm0KQKtEoGvoiCw398VbsLO6CXoA7mPIAuElPkj61KNjY2EaSMxVdRdbCUxPzerPNcGtSZ+So19E+DStgK5IW5tKkFgWwgaBTW9x6tdT2vdBJMegBAhyAIhZSps6cB0TTK5IA6SQaBS191tJ2uZPtnv7EIKvgpNhTbw1UxpFaSq5QU1oTmqzPaZ/tfiVLUCW4H1tN71CLBACBFkgZAylTkTZk2lblerdMh9ZkJFNk7SMv9npedqbSbcdfASKgx8mfU2NmR6sSMx6SAw0wcCW3013camZ3hlfpEWeXks6wuEGEEWCKn0D074qo5AzsA2ZMLXjp7otaM/T2WOp1X5hVqcaGSrtI0Dc2KYLz+oue9KOy3DCdUCEia8mmq2YRaHWJWpvpo2ij2TyVBtD4DNEWSBEDMn7hSnN12wFFGTZ6ruNkju/orsZhzHnkhY4bkqCRJ2R8lcGtuToXy5gTkaUBMKsxmsd1YiCOzkgaSdtVzzOFe6nipdVxvkElyBiCHIAiFmDgv7mcoTlaXoMofDS12v3vtWzf2ZOarr5amk7tC8r2I/bR+TCbam1ml+Bk2oNS0u9fkYTWg1rTXmrYn45p7NYzC/F+bELds2YbrIczBwA9g9CLJAiJk/0qbiZAKGXbUJkeQ5gSocr0EfgwmD5nC8WWSh1PGUzByyT2bCbb6dAGBCZU24NZd05utqVqL7fmnl7eq5zYRTs5qZeetldthqA6u5mEkDJkCvdV37e2DHk9VOdiC8ArFAkAVCzISEdY6rVn5KFeTYSDLBsCpw7XisnJEJiz/szXYyoTaxydtkJnzWVE0DuxpdDTMvoPbfWrWfc+y7ZtW62jCcMsHVrQmrtdVfQisAgiwQcqb3zzFlLnNCSy6FHewW5hC+qcbm+nD+IHPy4ZZWmjMh11ZUbZCt+bj2ZluKscFGldzvwywAbIogC4ScOYGlMtNeYFoNEL0TvVaa+bEhVltRrYut/JgC2E3C/eoIwJ7ktdZxbX8ioiUZ+HZHxUwRAABsjldHIAIqzBntcmwfIqLD7JyUmb5QgiwANExrQadO++iYY45RixYt9OWXX+rVV15VxYYN2b5bIFbM2eQm8JixSGaoPcLPnKFvjsCXu3SAAUCDVGTPP/88jb9vnPbcYw9VVVXpN/9xjiZOfFdt27bN5t0C8ZNZlclGWKqykWCWi11vFiagoRQAtiqru/rvvP2Oxo+/v+7jcePu09Spn+j0007VuPvGZ/OugdgxfZRmxmcBM2XDz4yucgJ9Z6qxnK0PAA1TkZ2/YMFGH+fl5SnheSotLc3m3QKxPenLrP7UyIycpyobajU7I56tyAIAti7rzVetW7fWsGEXqrCgUP36HaInn3xKzzz7l63e3oRdc6lVVFSU7YcIRIZpLzABqEC+fVtfVn27SlFWr9tnl4L1tdTNq/claQEg0kF28OCjNXDgUdu8zcMPP6qvv/667uNUqloLFy5S0yZNVFlZqb59+6h58+ZauXLlFr/+4mEXacSI4Ztd37t3L1VUVCjKOnfupDiIy3Z27NhRaT9Z7/dbVF2llhXrVZ5MZn2IfOD7at++leZP+FartFBR1rVrBxUUFMrJ8kzX/FS1Uq6nxgWF8hugItulS3t5brXioFPndrHY1i5dOsj1or+dcfnbEoftLCgoyE6QNS0BJpRuS2XlxhMJ1qwp0YMPPmTfv/ueMZrw1hu64orhuuaakVv8+nvGjNX4+x/YqCI7fdoUTZ8+Q2VlZYq6KVOmKg7isJ1+Oqlp075qkLPd26Wr7AzS9W79VGXnzl2sqDMhduas73fSs8GseNU08LXYy1NZPT13mzLBbtr0yYoDE+6mTZ8ai+2Mw2uuwXZGQ3FxcXaC7NSp0+xlZ1VXV2vmzFnq2qXrVm9jphuYC4Cd75UtcRM2zJpglO2qrKlQJpL1X3mub9muxBpFga8yx1U5vbEAsF2y+sp8xBGHb/Rx8+bN1H9Af332+efZvFsg9kwQWud4Kg782H8vwsILAvuCbHZCsr3zAQBRkdWTvc484wxdN3KkZs+erfz8fA0cNFCzZs7UXXfdnc27BWLPBKESL6HClG9bDFgZKveZamyJ61GNBYBcCbLDLr5E3bp1sydqmbaCe8eN06xZs7N5lwB+MFd2teupTVCt0sChypfDCoK0qhzXVmOZGwsAOTR+64svvrAXAPWv1E2oMO3bFgPTaoDcbCnIC6QlXoLKOQDsIKZtAxE/8Wu1l1Qgx7YYIDdbCta4nj3JCwCwY3jlBGLSYlAk304xQO4o9GkpAIBdQZAFYtJiUKqEmpiqLGE2J+QFvl17baVLSwEA7CyCLBCTFoNVXsJWZxvTYpATfbGFQWBDbHkDLXwAAFFAkAViwozgWukllZajAsJsgzHtHWZnYpXr1UwpAADsNIIsECMVmTCbDAJO/mogJsSudTytdpOM2gKAXUSQBWJmnevZQ9rm5K8E/bL1qrGfVqXj2jYP0+4BANg1BFkghswh7VVOQsVK235NZF+xn7btHSu8pF38AACw63g1BWK6hO0qN2nDbGPCbL2E2LTj2BC7gRALALsNQRaIeZhd7STURGnaDOohxJoeZQDA7sMps0DMw+xKNykzxKBlkFJZ4CpF2NpN39ya6QS17QSEWADY/QiyQMzVVmYD31FLP6UN8u0JSdi1EVtm8QkTXr+jnQAAsoYgCyATZs0KU45apVNKBGkG9e/si6qtxKZV4iTsdAJTkQUAZAdBFkANx9FaJ6GUHLXyU3ZUVJnj2pCL7V92tiCzYpeZE8uILQDILkoFADay3vW0zEtqveOqacCs2e0SBCry08oLpOVe0vYdE2IBIPuoyALYjJlzutzLU5VfrRZm/mkgG2xN1RabvIiaEBv4dqyWqcSaHQEAQP0gyALYIjMyylQWKxzPngRmqrPlMlMNCLNWEKjQVKwlrXY9lbhJvjcAUM8IsgC2znFU7nh2ikEzqrNbrMKucBMqp1oNAA2CIAvgR6U2qc42D9JaLzd2Y7rcTIA1qMICQMMjyALYoeqsqUI29lNqFqTV1E8r4adjMRe2IFWt4sDXOsfTWs+zQZ6eYQBoWARZADvcO1viJVUeeHZE175+YANtueNEblUwG2ADX3nmBDjP0xIvjzYCAMghBFkAO8UM+l/tufquoMgeZm/i+yoK0qp0HG2QE+pqZSITYE0st6tzuQkV5xexSAQA5BiCLIBdUu15Wunlaa3rq9BP26VZm8pX2q8JgaaCGwpBoEYK1CgI5MvROtdTmePZbTAzYVkYAgByD0EWwG6bPVvluVqbGUtl2g5MhdYJTPVWqlIOhtpMeM0LArmOVCkzC9azs2DjdiIbAIQRQRbAbmWql6aSaZa3zVdC+YGvYj+t/CBQUmmlAse2H1Q3UPuBmwmvySCoC+ClrmsnMoSqggwAIMgCyJJMr6yZclDieMrLHLYvDNIq8H0VypcCmX/teK9q83Y3h1sTWhMKbM+r2Wt3nUCpwFW1HSfmqdJ1tUE1rQMAgPChIgsg+xxHVXJU5Ujr5CnhBsqTbwNmo8BXQVBzeL/IdqcG8gPzr825SjvmrWMDb7Dpf5t562UmDNi3tdc7UjowkxRqwnSFCctOzcpk5rHQ8woA4UeQBVDvTJhMmdhZm0QzFVMTbt3ABNOgrpqarK2m2my6aZStCbkp83+6rm1XMK0B6Uzwran0OlRcASCiCLIAGp4Ntto43P5QYOLq958yb2sjra3c0hoAALFEkAWQ+8z4qy20FgAA4o35MgAAAAglgiwAAABCiSALAACAUCLIAgAAIJQIsgAAAAglgiwAAABCiSALAACAUCLIAgAAIJQIsgAAAAglgiwAAABCiSALAACAUCLIAgAAIJQIsgAAAAglgiwAAABCiSALAACAUCLIAgAAIJTqLci2bdtWF5x/voYMOba+7hIAAAARlqiPO3EcR2PH3KMePQ7SxEmTNGHC2/VxtwAAAIiweqnIXn7ZpVqzZo0+mjy5Pu4OAAAAMZD1INuvXz+deeYZuvKqq7N9VwAAAIiRrLYWNGvWTGPuuUsjrrhSJSUl2/U1eXl59lKrqKgoi48QAAAAsQiyh/Ttqz59+mzzNi+9/JKWLFlq37/zjtv1yquv6f33P9ju+7h42EUaMWL4Ztf37t1LFRUVirLOnTspDuKynZ326aA46NS5nTy3WlEXl+3s0qWDXC/62xmn1yK2M1ri8HwWFBRkJ8gWFRerTZvW27xNMllTTT3qyCM1aNBATf/jDDutwOjYoYNSqbT9+Iknn1RZWdlmX3/PmLEaf/8D399nUZGmT5ui6dNnbPH2UTNlylTFQVy2c9r06G+nCT1sZ7Sez7j8fhpx2Va2M1qi/nwWFxdnJ8hOnDjRXrbHsuXL9fDDj6hZ06Z11+XlNZLnpWwY9jxvi19XVVVlLwAAAECD9MjOmzdPN9x400bXdenaRZWVlZtdDwAAAOwoVvYCAABAKNXLggi1Xn/tDaXSqfq8SwAAAERUvQbZPz/zTH3eHQAAACKM1gIAAACEEkEWAAAAoUSQBQAAQCgRZAEAABBKBFkAAACEEkEWAAAAoUSQBQAAQCgRZAEAABBKBFkAAACEEkEWAAAAoUSQBQAAQCgRZAEAABBKBFkAAACEEkEWAAAAoUSQBQAAQCgRZAEAABBKBFkAAACEEkEWAAAAoUSQBQAAQCgRZAEAABBKBFkAAACEEkEWAAAAoUSQBQAAQCgRZAEAABBKBFkAAACEEkEWAAAAoUSQBQAAQCgRZAEAABBKBFkAAACEEkEWAAAAoUSQBQAAQCgRZAEAABBKBFkAAACEEkEWAAAAoUSQBQAAQCgRZAEAABBKBFkAAACEEkEWAAAAoUSQBQAAQCgRZAEAABBKBFkAAACEEkEWAAAAoUSQBQAAQCgRZAEAABBKBFkAAACEEkEWAAAAoZTI5n/etUsX7fcv+210XXVVtd6aMCGbdwsAAIAYyGqQPWnoSTr33N/oww8/rLtu/fr1BFkAAADkdpA1vvrqK5133gXZvhsAAADETNaDbH5+vgYOHKjKykrNmTNHJSUl2b5LAAAAxEDWg2zHDh104YUXqGmTJurWrZtGjb5V99//wFZvn5eXZy+1ioqKNnobZQUFBSouLlbUsZ3RwvMZLXF5PuO0rWxntMTh+Szagcy3Q0F23333VbduXbd5m48+mqzVq1fXvP/hR3rkkUdVWlpqPz7l5JM1btxYzZ49Wx988L9b/PqLh12kESOGb3b99GlTduShAgAAIOSBtqysbJu3cfZst1ewvf+hCaInDT1xm7e57bY7NG/evK1+/u0Jb9mTv353/e+3uyJrQmzvg/uqvLxcUcV2RgvPZ7TwfEYPz2m08HxG8zldvnz57q3I/u2ll+xlV6xbt06tWrXa6uerqqrsZVMmxP5YKo8CtjNaeD6jheczenhOo4XnMzq2N/NldUGETQNru3Z76qCDDtSnn32WzbsFAABADGT1ZK+HH35IM6bP0MyZs9SiRXOdc86vNXfuPD3++BPZvFsAAADEQFYrsj/72c/1zzlzdMghfdWuXTvdfMso/fTkU+yiCNvLtBncfvsdW2w3iBK2M1p4PqOF5zN6eE6jheczvnboZC8AAAAgFhVZAAAAIFsIsgAAAAglgiwAAABCKetL1GaD53nq3buXmjZtqmnTpmnNmhJFSWFhoYYce+xm13/40Uf67rvvFFUDBvRXm9Zt9NaECaqoqFDUtG7dWgce2F0bNmywkzzMTOUo2nPPPbT//vtr7dq1+vzzmaqsrFRUHXxwb+291956+513IrFgi3ldbdumreZ9MU9ffvmVomqfffZRzx49NH3GDH377beKokaNGtnXG/N30kwLWrx4saKqW7du6rTPPlq+YoU+++wzBUG0T/0ZeNRRatasmV597TWlUinFXeiC7IHdu2v8+Pvk+2nNm/eFfn/973TTTX/Qm2+9paho06aNXcp3woQJWr/++0D3xfwvIhtk+/Xrpycef8yuId3v0AFatGiRosLseN1262gddtgAzZkzR61atVaXLp113X/+l/761+cVFS1btrTb2b37AZozd672ar+XmjRtogsvHKaPP/5YUXLCCT/RiOHD1Si/kbp07qyjjhqk+QsWKMwr6Dz+2KM24M2dO1d9+/bRk089rd///r8VJeZn87qRI9WxY0d16LC3rr76Gj0VwSD7b788U5deeokNdqUlperf/1C98MKLuurqaxQl5nX0zjtuV0FhoRYtXKQDDthfVdXVOvvsX+mrr75WFB1zzGA9cP945efn61/2724LBnEXqiBr9iyfeOIxvfHmm7r22uvsXpcJPn36HKwouu4/fxepQLc1Zs/y7rvu1J13/lEjR16rqDFB9t333tPlw0fUXXfZZZdq9KhReumll1VdXa2oHEl4+uk/24p6rVtHj9J94+7VwX36Kkoa5TXSxZdcomQyT2+8/qrCbsTwy20lffAxx6qkpES9evXSyy+9qPfff1/vvPOuoqJx4yYaf/8DmjRpkr5c8IWiqqJig044cahWr15tP95vv/30+muv6ONPPtFzz/1VUVFYUKirrr7WFghqX2tffPF5jbz2Wp173vmKmrZt22rULTfrrrvv0dVXXdnQDydnhKpH9pdnnmkrBzfccFPdoQNzCPqDD/5XUdS3Tx8NGXKs3euMMrNH/eyzf9HUadMU1fmGL7/8ykbXLViwQMlkQnl5eYqKhQsXbhRijdffeEN77NHWVmuj5MW//U3//GfNH88oOP300+zvoAmxxowZM/Txx5/oZ6efriiZPHmyDbFR98KLL9aFWMNU2U2rSPfu3RUln8+cWRdijXQ6rW+/+VbFxcWKGsdxNGbM3Rp333jNnTO3oR9OTglVRdYcHpk6dap9f/Dgo23vnek1LC0tVdSYX8hzz/2N3TZTcTZ/VC4adnHkDiP8xzm/VsuWLfTHu+7WoYf2U5T16NFDnTt1sks1n3XWWbrhxpsi0Ve5LUceeaRth1m1alVDPxRsRYsWLWw7k2kH+SETEAYMGMD3LQJMtd0URB588CFF0fHHHafixsXq0eMg2xZz3vm/VdRcduklqq6q1kMP/Uk/Of74hn44OSXR0GXy/oceus3bzJo9W/Pnz7fvt2zVUoHv6803X9c3X39jD0mbX84RV1yp1157XbmqcePGGnz00du8zVdff22b1A0TVk8aenLdx+b79MrLf9P1v/svu625KpFI6KQTT9zmbZYuW1bXL2n61cwhdrOtvu8rbD2SecmtV1NL167VxIkTN7qu+wH7a+CggfakhKqqSs2fn/s9lYMGDVLTJk22+vmq6iq9/vobW/zcEUccrnN+/e+66qrc78vr37+/2rZps83bvPLqq3YHM2qaZJ7f2mpsrTVr1tgeZ4RbMpnUmHvu0YIFX+r5F15QFB09eJA9UdgEWVPcWrFiuaKk3yGH6Fe/OlvHHX9CQz+UnNSgQbZ1q1b6yU+2vWdhWgdqg2zlhkpbtRv601P06aef2uuuvGKE/njnHXrvvYk5e6Z7cXHRj27n3//+97rgag4J/fCw0PLly/XoY4/rvHN/o1yWTCR+dDs///zzuiB7yy0320kMvXv1spd99+1mrz9uyLH65JMp9rBRrjr2mGNsT+jWLFmyZLMg+/Sfn7GX2kr0nx56QEcceZSWLFmqXHXkEYfb5aW3xiw3vaUga87mf+jBB3TvuPv0zLPPKtf17XPwjx52NW0SUQyyZqfKMG1bP1RYVGRfcxFepmd03L1j1b59O7tkfFSXer/mmpF1of2Rh/9k+/JPOTU6bTG33TZa702cpAH9+9uPe/bsYd+eeMIJmvHppxu1V8RRgwbZmbNm6bcXXrTdt//mm2+0117t60KsYcZPXH75ZerapUvOBp+lS5ft0HZuSdm6MjVv3tz2yeTqaJGKDRt2aDvN6DSzF10bfk3F3Rg48CiVl6/P2efT2NXK+HN/fV433niDevbsmdNB9sab/menRjg99eQTevTRxzRq1GiFwZix9yquli1bbk8Oat++/UbXm9faqI6mikuIvffeMTrooAP1s3/9hRYvWaKoMyfOmhNob7/9Vrv9UdnxnDz5H/bIbu3fyj322KNugkH5+nKCrEJkwoS3deqpp9jpBbV9sd261lTxlizN3TCwo0y/2ooVKza67oQTjtdnn32esyF2Z1x//X9vNkf2iMMPj9y0BtODaA7b/rB9whwCM3I5xO4ME8xNiH3sscf1h5tvaeiHg+1gfi7NCVBDh55kdz5q2w3MrMrRt97G9zCEXNfV2LH3qFfPnjbERun19Mf+VprX1uXLV0QmxBqbjk0zPbLm6LQpqKyN2HkzkQ+yZuzWhx9+pKefelJPPf207ZG94PzzdN/4+yN1Mskvfv6vOuywwzRx0iQ7PP+kE0+wJwqdffa/N/RDw07OPr7mmqvtrOOlS5eqc+fO+v9nnaW/PPfcRkcXws7M5nz6qSdsFW/WrNk65eST6z733sSJkXrB7dq1q7ofcIA6dOxgPx58zGDbmmAO85kjR2Fzy6jRdtzWvWPH6B8ff6xf/PznWrRosZ588ilFSYvmze0JiLVhr2evnvboz8JFCzVt2nRFxS03/8Eedh49+lb1OfhgezEWLV6kqVOjMx3mwgt/q/bt2tlpFOaIoDkh/KdDh+rSyy5v6IeGeuTs2W6vUJX4zOGCM874hQ7p21dr163VpEl/17vvvqeoMc3dxx03RI2bNLZjU5599tnIrWC2pdVZhl9+mV0o4Ic9wlFgBs2fduop6tChgx1SPnHiJPviGyVmGPnFw4Zt8XM3/c8fIrWy0HFDhui0007d7Hqzg/3++x8orDsi/+/ffqk2bdto3tx5ti8/alM1zMnBV4z4fp5zrX/842M98uijioqR116jvffee7Prp0yZoof+9LCixBw5GHT0IBUVFurbhQv1wvMvRL6NwhS2fnvB+Ro+fIQN8HEXuiALAAAAhG5BBAAAAKAWQRYAAAChRJAFAABAKBFkAQAAEEoEWQAAAIQSQRYAAAChRJAFAABAKBFkAQAAEEoEWQAAAIQSQRYAAAChRJAFAABAKBFkAQAAoDD6P/c4GJ0nfPN4AAAAAElFTkSuQmCC"
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 1500x500 with 3 Axes>"
      ],
      "image/png": "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"
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 1000x600 with 1 Axes>"
      ],
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1cAAAIiCAYAAAAkWjI2AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjExLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlcelbwAAAAlwSFlzAAAPYQAAD2EBqD+naQAAX1ZJREFUeJzt3QmcTeUfx/HvLGZMljH2fS2UJXvIlhakHYX25V+JVq1UtKG0KGTXnlARKUQlZBtGdrIzdoZBw8yY+b+eZ9zbXDOjweWew+f9et3XzD33OWfOvfe4zvf+nuc5QcWKl0wVAAAAAOCMBJ/Z6gAAAAAAwhUAAAAA+AmVKwAAAADwA8IVAAAAAPgB4QoAAAAA/IBwBQAAAAB+QLgCAAAAAD8gXAEAAACAHxCuACCbRo8epZe7d+P1ukB9O3aMXnrxhUDvBlyK4we4MIQGegcAnL+6PvO0br75Ju/9lJQU7d6zRytXrNTITz7Vxo0bz9rffuvNN1S6dGndfc+9p7Wv6X351dcaOnSYypYpo107d/k8Nu777zR//nz17vO23G7E8GG65JKL7e+pqak6evSoNm7apO+/G6fJU6boQle2XFlt2bo1oPvQoEF9tbntNlWqXEk5w8O1bds2/frb7/rmm9H2/XKiyy67VG3btlX1atUUmS9S+/fv147tOzR79p+a+OOPOnz4sM4XEyaM18yZs9S377uOPH4AnH2EKwBnTaHChXTxxRfrhhtvUvyBeAWHhKhkyRJ65umndeedHXXLLbdp6bJlZ+VvFytWTGXKlD7tfU1vX1yc/Xn7HR2UkJDg81i5cmVtADkflC5dSjlz5lTHjnfZ+wUKFtQ9d9+lkSOH25PFD/p9qAtZmzbtMrz/50pwcLDe7tNbt9/eTp98+pneeOMtHT58yAaWp556Ug899KDuvvves/qFxakKCgpSjx6v6oH779N3332vwUOG2DCYO3ceNWzYQN26vaju3V9Steo1dL4oX66c1qxe47jjB8C5Q7gCcNZt3LDRG1DWrFmjtWvXae6c2ep4Z0e99FI3x+7riTadJyHqZJKSkrV23Tr7u/lpqnKVK1fW44930eDBQ5Rw5IguVIF8/7t2fcZ+IfFop8c0YcJE7/Lly1do6i/T9NOkifri80913XUtHfMemWrww/97SJ06ddYPEyb4PGaOq08++VTv9n1HF4oL4fMDAOEKQACYbkFGjtCM3++UKFFC//vfQ6pVq6Yicua0QWzI0GFavHixt02RIkXsSVuNGjV00UUXaf369fp61CjbzcjTva1RoyuVI0cO/THjN+96TZpedcZjrpYuWao33+pltz192lTlz59frVq2UO1av3lPdjs91tn+PunHifr111/tvj3btauqVauq3bv3aOiw4ZoxY0aG7Zvnc99996hypUpKTZViYmI0cODHit22zaeL1YMPPKBLKl5i+u5p5apVGjZ0uDcQZbdNdpnugX/99ZcuvbSySpQsad+TgQP764UXX1JoaKitmJQuVUqPPPqYDc6mkvfwww/r8urVFRISnPa3hw23r0t61atXV+fOnew3/Vu2bFX/AQNUtmxZPf3Uk7qtTTvt2bPHe4LevHlz3XTzLer06CO67rprdeBAvLe7pzlO7r037TVLSUnVwoUL9fGgQdq2bbv3b1WtUkUPPviALr7kYqWmpGjFypW2m+f69RtOqY0ZM2O2f2IX0FatWur2du1UslRJHTp4SLNmzbLv8cGDB71tJv88ST9PnqJvx36rZ5/tqipVLtOuXbs1ZOhQ243sZMwx9ugjj+j332f4BCuPvXv3qk+fd+z70r79Hbay9dlnn9gqyaOPPpahvQk0pUqX0h13dPAuy87r6HkO338/zr5PVatW0RdffqUvvvgy033u1KmTfpk2LUOw8jhw4IAeebRThuWnsi/ZfT3P9PkNHTrYrmskJx/Tnr177N8ZPmy4DbPm38WUKT8rb968at36etWrV9e2XbJkqbo8/sQ5PX6ycywDOHuY0ALAOWVOyB/v0tmOv5r0008ZwsW0X6bYcNCv34f2BH7nrl0aP+47XXPN1bZNeHi4vvturGrXrqWP+g/Qs889p58nT7bbvOKKK2ybHj1fs8Fkx44deuCBh7y3M2XGXJlgZyQlJdltmhNEE+o8f8MEL4/y5cvZroZ933lHv/wyTS91625PmEyFwYSV9O64/XZN+GGckhKT9Nrrb+j1N95QiRLFNXnyTypTpoxtU6FCef0wfpxCQkP05htv6ZVXe2pxzGINHjzIntxlt82pKlq0qP0ZFxeniIiItO6TrVurY4cOGjJkqIYNH6GwHDl0+eWXa/LPP6niJZfo7Xf6qudrrytvnrz6ceIENW/+b7CtV7eufU/NmCHzXn366Wd66skn1LBB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"
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Evolved best tree: ((((Node31[a=-1.0,b=-1.0,x=-4.0,y=-1.0,r=1.11],Node23[a=-1.0,b=1.0,x=1.0,y=3.0,r=1.0])Node13[a=1.0,b=0.0,x=2.0,y=2.0,r=1.05],Node12[a=-1.0,b=1.0,x=0.0,y=3.0,r=0.77])Node7[a=1.0,b=1.0,x=1.0,y=2.0,r=1.23],((Node22[a=-1.0,b=1.0,x=-3.0,y=3.0,r=0.72],Node19[a=-1.0,b=-1.0,x=-4.0,y=1.0,r=1.15],Node16[a=0.0,b=-1.0,x=-2.0,y=-3.0,r=1.09])Node11[a=-1.0,b=1.0,x=-2.0,y=2.0,r=0.85])Node6[a=-1.0,b=0.0,x=-1.0,y=1.0,r=0.73])Node3[a=0.0,b=1.0,x=0.0,y=1.0,r=1.4],((Node19[a=-1.0,b=-1.0,x=-3.0,y=-1.0,r=1.27],Node34[a=0.0,b=1.0,x=2.0,y=3.0,r=0.62])Node10[a=-1.0,b=0.0,x=-2.0,y=0.0,r=1.04],(Node20[a=1.0,b=1.0,x=-2.0,y=3.0,r=0.6],Node16[a=-1.0,b=0.0,x=-2.0,y=-1.0,r=0.97],Node15[a=0.0,b=-1.0,x=-1.0,y=-2.0,r=0.77])Node9[a=0.0,b=-1.0,x=-1.0,y=-1.0,r=1.23])Node2[a=-1.0,b=0.0,x=-1.0,y=0.0,r=0.94],(Node5[a=-1.0,b=-1.0,x=0.0,y=-2.0,r=1.34],((Node14[a=0.0,b=-1.0,x=2.0,y=0.0,r=1.36])Node8[a=1.0,b=1.0,x=2.0,y=1.0,r=0.51])Node4[a=0.0,b=1.0,x=1.0,y=0.0,r=1.38])Node1[a=1.0,b=-1.0,x=1.0,y=-1.0,r=0.8])Node_0[a=0,b=0,x=0,y=0,r=1]\n",
      "Evolved best fitness: 0.94\n",
      "Execution time: 0 hours, 4 minutes, 36 seconds\n"
     ]
    }
   ],
   "execution_count": 1
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Ejercicio.** Ejecute el programa anterior, en el que la recombinación está desactivada. Encienda la recombinación (línea 49). Compare los resultados.\n",
    ">\n",
    "> *Respuesta.* La recombinación acelera el proceso 20 veces. Pero el árbol final está muy desconectado. Por lo tanto, no aceptamos que la recombinación programada podría tener algo que ver con la vida en la Tierra. En nuestro caso, las desconexiones ocurren porque de todos modos no están censuradas. Todo lo que importa es la forma final de la región iluminada.\n",
    "\n",
    "**Ejercicio.** La variabilidad de la descendencia en cada familia humana indica una alta actividad de recombinación, pero en la mayoría de los casos no se produce ningún monstruo.  ¿Cómo puede ser esto? Haz alguna predicción verificable.\n",
    ">\n",
    "> *Respuesta.* Aparte de muchos pequeños y diversos detalles, el genoma del ser humano está congelado: todos tenemos dos piernas y dos brazos, dos ojos, dos orejas, una boca, una cabeza. Por lo tanto, las regiones de nuestros genomas que codifican la forma y la figura son en su mayoría monomórficas. Por consiguiente, cada tipo de elementos variables son de alguna manera disociados de los otros. Este no es el caso en nuestras simulaciones, porque cada árbol puede tener todo tipo de cambios drásticos por efecto acumulativo de inserción y eliminación de hojas.  Se puede suponer que el estado actual de los genomas ha sido alcanzado por el Proceso Evolutivo. De esto surge una predicción: la prehistoria y la historia del genoma humano deben llenarse de toda clase de monstruosidades. Puedes ir al museo y probar esta predicción mediante la observación directa de fósiles.\n",
    "\n",
    "**Ejercicio.** El programa anterior ha sido realizado con la intención de implementar una mutación libre de errores. Esto consiste en el cambio del radio de iluminación y la inserción y eliminación de hojas (solo hojas). Sin embargo, si la recombinación está desactivada, no todos los árboles producidos son perfectos, por ejemplo, tienen un cuadrado de colores desconectados que no pertenece al árbol. Este es un error que contradice la intención del diseño. Corrígelo.\n",
    ">\n",
    "> *Respuesta.* Si se encuentra un árbol defectuoso, de hecho no sabemos quién es el culpable: el procedimiento de mutación o la maquinaria de dibujo. Debemos analizar tanto la fórmula como el dibujo. Así, presentamos el siguiente programa en el que se traza una fórmula de Newick que produjo un árbol defectuoso.\n",
    ">\n",
    "> La fórmula es:\n",
    ">\n",
    "> ((((((()Node63[a=1.0,b=-1.0,x=5.0,y=-3.0,r=1.26])Node52[a=1.0,b=-1.0,x=4.0,y=-2.0,r=0.7])Node21[a=1.0,b=1.0,x=3.0,y=-1.0,r=1.9613197090647045],((()Node219[a=0.0,b=1.0,x=-2.0,y=3.0,r=1.06])((((Node156[a=-1.0,b=-1.0,x=-2.0,y=2.0,r=0.71])Node125[a=0.0,b=1.0,x=-1.0,y=3.0,r=1.37])Node103[a=-1.0,b=1.0,x=-1.0,y=2.0,r=1.36],(((Node198[a=-1.0,b=1.0,x=-4.0,y=1.0,r=0.75])Node155[a=-1.0,b=0.0,x=-3.0,y=0.0,r=0.58])Node124[a=-1.0,b=-1.0,x=-2.0,y=0.0,r=1.6749306080259698],((((()Node913[a=-1.0,b=0.0,x=-4.0,y=3.0,r=0.59]))Node698[a=0.0,b=1.0,x=-3.0,y=3.0,r=0.84])()Node600[a=-1.0,b=1.0,x=-3.0,y=2.0,r=1.25])()Node123[a=0.0,b=-1.0,x=-1.0,y=0.0,r=1.33])Node102[a=-1.0,b=0.0,x=-1.0,y=1.0,r=1.33])Node51[a=-1.0,b=1.0,x=0.0,y=1.0,r=0.54],(((()Node122[a=-1.0,b=0.0,x=0.0,y=3.0,r=1.17])Node81[a=-1.0,b=1.0,x=1.0,y=3.0,r=0.85])Node62[a=0.0,b=1.0,x=2.0,y=2.0,r=1.07],(((()Node153[a=-1.0,b=1.0,x=3.0,y=5.0,r=0.515683679559608],Node152[a=0.0,b=-1.0,x=4.0,y=3.0,r=1.03])Node101[a=1.0,b=1.0,x=4.0,y=4.0,r=0.5748403340449614])Node80[a=0.0,b=1.0,x=3.0,y=3.0,r=1.22],()Node79[a=1.0,b=0.0,x=4.0,y=2.0,r=1.36])Node61[a=1.0,b=1.0,x=3.0,y=2.0,r=0.5295884877970901])Node50[a=1.0,b=1.0,x=2.0,y=1.0,r=1.21])Node29[a=0.0,b=1.0,x=1.0,y=0.0,r=1.43])Node20[a=-1.0,b=1.0,x=1.0,y=-1.0,r=1.1])Node8[a=1.0,b=0.0,x=2.0,y=-2.0,r=0.64])Node3[a=1.0,b=-1.0,x=1.0,y=-2.0,r=1.37],((((((()Node100[a=0.0,b=1.0,x=-2.0,y=-2.0,r=1.05],((Node150[a=0.0,b=1.0,x=-4.0,y=-1.0,r=0.7334891191596699],(Node193[a=-1.0,b=1.0,x=-6.0,y=0.0,r=0.5820889162363478])Node149[a=-1.0,b=1.0,x=-5.0,y=-1.0,r=0.81])Node120[a=-1.0,b=0.0,x=-4.0,y=-2.0,r=1.36],()Node119[a=0.0,b=1.0,x=-3.0,y=-1.0,r=1.16])Node99[a=-1.0,b=1.0,x=-3.0,y=-2.0,r=1.47])Node49[a=-1.0,b=1.0,x=-2.0,y=-3.0,r=1.26],()((()Node118[a=0.0,b=-1.0,x=-3.0,y=-4.0,r=1.0],((()Node367[a=-1.0,b=-1.0,x=-7.0,y=-3.0,r=1.8764650499221425])()Node147[a=-1.0,b=0.0,x=-5.0,y=-3.0,r=0.82],Node146[a=-1.0,b=1.0,x=-5.0,y=-2.0,r=1.13])Node117[a=-1.0,b=0.0,x=-4.0,y=-3.0,r=1.13])Node78[a=-1.0,b=1.0,x=-3.0,y=-3.0,r=1.0329473493338008])Node48[a=-1.0,b=0.0,x=-2.0,y=-4.0,r=0.76])Node28[a=-1.0,b=0.0,x=-1.0,y=-4.0,r=1.46])Node14[a=1.0,b=-1.0,x=0.0,y=-4.0,r=1.06])Node7[a=0.0,b=-1.0,x=-1.0,y=-3.0,r=0.89])Node5[a=0.0,b=-1.0,x=-1.0,y=-2.0,r=0.71],(((((((()Node47[a=-1.0,b=1.0,x=4.0,y=-4.0,r=0.6058398421466735],((()Node441[a=0.0,b=-1.0,x=8.0,y=0.0,r=1.2970045651723827])((((()Node145[a=1.0,b=1.0,x=8.0,y=1.0,r=0.52],()Node144[a=0.0,b=1.0,x=7.0,y=1.0,r=0.96])Node116[a=1.0,b=1.0,x=7.0,y=0.0,r=1.235712154728331],()Node115[a=1.0,b=0.0,x=7.0,y=-1.0,r=0.95])Node98[a=1.0,b=1.0,x=6.0,y=-1.0,r=1.37],(()Node114[a=1.0,b=0.0,x=7.0,y=-2.0,r=0.62])Node97[a=1.0,b=0.0,x=6.0,y=-2.0,r=1.04])Node77[a=1.0,b=1.0,x=5.0,y=-2.0,r=1.01])Node59[a=-1.0,b=1.0,x=4.0,y=-3.0,r=0.62],(((Node185[a=1.0,b=0.0,x=9.0,y=-5.0,r=1.25],()Node476[a=1.0,b=-1.0,x=9.0,y=-6.0,r=0.87])Node142[a=1.0,b=-1.0,x=8.0,y=-5.0,r=1.7146586553405185])Node96[a=1.0,b=1.0,x=7.0,y=-4.0,r=1.49],((Node183[a=1.0,b=-1.0,x=8.0,y=-6.0,r=0.54])Node141[a=1.0,b=-1.0,x=7.0,y=-5.0,r=0.5185357042371559],(()Node303[a=1.0,b=-1.0,x=9.0,y=-4.0,r=0.69])(Node181[a=1.0,b=0.0,x=8.0,y=-3.0,r=1.16])Node140[a=1.0,b=1.0,x=7.0,y=-3.0,r=1.44])Node95[a=0.0,b=1.0,x=6.0,y=-4.0,r=1.1])Node58[a=1.0,b=-1.0,x=6.0,y=-5.0,r=0.72])Node46[a=0.0,b=1.0,x=5.0,y=-4.0,r=0.79])Node36[a=1.0,b=0.0,x=5.0,y=-5.0,r=1.02])Node27[a=1.0,b=-1.0,x=4.0,y=-5.0,r=0.71])Node19[a=1.0,b=0.0,x=3.0,y=-4.0,r=0.83],(Node57[a=0.0,b=-1.0,x=3.0,y=-6.0,r=0.83])Node18[a=1.0,b=-1.0,x=3.0,y=-5.0,r=1.36])Node13[a=0.0,b=-1.0,x=2.0,y=-4.0,r=1.9563373261553025],((((((()Node94[a=1.0,b=1.0,x=2.0,y=3.0,r=1.5714886013535794])Node76[a=1.0,b=0.0,x=1.0,y=2.0,r=1.7607046194653915])Node56[a=-1.0,b=1.0,x=0.0,y=2.0,r=1.43])Node45[a=-1.0,b=1.0,x=1.0,y=1.0,r=0.71])Node26[a=0.0,b=1.0,x=2.0,y=0.0,r=0.81],(((()Node55[a=1.0,b=0.0,x=5.0,y=-1.0,r=0.68])Node44[a=0.0,b=-1.0,x=4.0,y=-1.0,r=1.39])Node35[a=1.0,b=0.0,x=4.0,y=0.0,r=1.5450652146942652])Node25[a=1.0,b=1.0,x=3.0,y=0.0,r=0.8])Node17[a=-1.0,b=1.0,x=2.0,y=-1.0,r=0.84])Node12[a=1.0,b=1.0,x=3.0,y=-2.0,r=0.59])Node10[a=1.0,b=0.0,x=2.0,y=-3.0,r=1.31],((((((()Node74[a=0.0,b=1.0,x=-3.0,y=-5.0,r=0.97],(((()Node139[a=0.0,b=1.0,x=-5.0,y=-4.0,r=0.85])Node113[a=0.0,b=1.0,x=-5.0,y=-5.0,r=1.29],(Node138[a=-1.0,b=1.0,x=-7.0,y=-4.0,r=1.09])Node112[a=-1.0,b=1.0,x=-6.0,y=-5.0,r=0.69])Node92[a=-1.0,b=0.0,x=-5.0,y=-6.0,r=1.9891193529247717])Node73[a=-1.0,b=0.0,x=-4.0,y=-6.0,r=0.9])Node43[a=-1.0,b=-1.0,x=-3.0,y=-6.0,r=0.93])Node34[a=-1.0,b=0.0,x=-2.0,y=-5.0,r=1.7667232954270577],(()Node707[a=0.0,b=-1.0,x=-8.0,y=-11.0,r=1.2418125160543307])((((((Node176[a=-1.0,b=1.0,x=-8.0,y=-8.0,r=0.73])Node137[a=-1.0,b=-1.0,x=-7.0,y=-9.0,r=1.3],Node136[a=-1.0,b=0.0,x=-7.0,y=-8.0,r=0.59])Node111[a=-1.0,b=-1.0,x=-6.0,y=-8.0,r=0.53],(Node175[a=-1.0,b=1.0,x=-7.0,y=-6.0,r=1.8710079054235957])Node110[a=-1.0,b=0.0,x=-6.0,y=-7.0,r=0.81])Node91[a=-1.0,b=0.0,x=-5.0,y=-7.0,r=0.64])Node72[a=-1.0,b=0.0,x=-4.0,y=-7.0,r=1.35],(Node90[a=-1.0,b=0.0,x=-5.0,y=-8.0,r=1.48],(()Node109[a=-1.0,b=0.0,x=-6.0,y=-9.0,r=1.8236264836746388])Node89[a=-1.0,b=-1.0,x=-5.0,y=-9.0,r=0.94])Node71[a=-1.0,b=-1.0,x=-4.0,y=-8.0,r=0.91])Node42[a=-1.0,b=-1.0,x=-3.0,y=-7.0,r=0.58],(()Node46[a=-1.0,b=-1.0,x=-2.0,y=-7.0,r=0.93])()Node41[a=1.0,b=0.0,x=-1.0,y=-6.0,r=1.39])Node33[a=-1.0,b=-1.0,x=-2.0,y=-6.0,r=1.12])Node24[a=-1.0,b=0.0,x=-1.0,y=-5.0,r=1.47])Node16[a=-1.0,b=-1.0,x=0.0,y=-5.0,r=0.67],((Node32[a=0.0,b=-1.0,x=1.0,y=-6.0,r=1.9638918299741654],(((()Node841[a=-1.0,b=-1.0,x=-7.0,y=-11.0,r=0.58])((((()Node135[a=-1.0,b=-1.0,x=-5.0,y=-11.0,r=0.85])Node108[a=0.0,b=-1.0,x=-4.0,y=-10.0,r=1.0],(()Node630[a=-1.0,b=-1.0,x=-6.0,y=-13.0,r=0.77])(()Node134[a=-1.0,b=-1.0,x=-6.0,y=-11.0,r=1.0])Node107[a=-1.0,b=-1.0,x=-5.0,y=-10.0,r=1.14])Node88[a=-1.0,b=-1.0,x=-4.0,y=-9.0,r=0.65])Node69[a=-1.0,b=0.0,x=-3.0,y=-8.0,r=0.87],(((Node170[a=1.0,b=-1.0,x=-3.0,y=-12.0,r=1.9512384698512715],(()Node686[a=-1.0,b=-1.0,x=-4.0,y=-12.0,r=1.5])Node169[a=1.0,b=0.0,x=-3.0,y=-11.0,r=0.91])Node133[a=-1.0,b=-1.0,x=-4.0,y=-11.0,r=1.33])Node87[a=-1.0,b=-1.0,x=-3.0,y=-10.0,r=1.08],Node86[a=-1.0,b=0.0,x=-3.0,y=-9.0,r=1.33])Node68[a=0.0,b=-1.0,x=-2.0,y=-9.0,r=0.99])Node54[a=-1.0,b=-1.0,x=-2.0,y=-8.0,r=0.72])Node40[a=-1.0,b=-1.0,x=-1.0,y=-7.0,r=1.45],(()Node951[a=-1.0,b=-1.0,x=0.0,y=-11.0,r=1.7392926307253513])((()Node132[a=1.0,b=-1.0,x=2.0,y=-9.0,r=1.25],()Node131[a=1.0,b=0.0,x=2.0,y=-8.0,r=1.45])Node67[a=1.0,b=-1.0,x=1.0,y=-8.0,r=1.41],((()Node193[a=-1.0,b=0.0,x=-4.0,y=-14.0,r=1.22])()Node370[a=-1.0,b=-1.0,x=-3.0,y=-14.0,r=0.94])((()Node139[a=0.0,b=-1.0,x=-2.0,y=-13.0,r=1.33])(((Node166[a=0.0,b=-1.0,x=-2.0,y=-12.0,r=0.65],((()Node192[a=-1.0,b=0.0,x=0.0,y=-14.0,r=0.88])((()Node527[a=1.0,b=-1.0,x=1.0,y=-14.0,r=0.85])((()Node591[a=1.0,b=-1.0,x=0.0,y=-13.0,r=1.04])()Node169[a=0.0,b=-1.0,x=-1.0,y=-12.0,r=1.0099492850296317]))Node421[a=1.0,b=-1.0,x=-1.0,y=-11.0,r=1.29])Node165[a=0.0,b=1.0,x=-2.0,y=-10.0,r=1.23])Node130[a=-1.0,b=-1.0,x=-2.0,y=-11.0,r=1.45])Node106[a=0.0,b=-1.0,x=-1.0,y=-10.0,r=1.2592804255064793],Node105[a=1.0,b=0.0,x=0.0,y=-9.0,r=1.23])Node85[a=0.0,b=-1.0,x=-1.0,y=-9.0,r=1.49])Node66[a=-1.0,b=-1.0,x=-1.0,y=-8.0,r=1.38])Node39[a=0.0,b=-1.0,x=0.0,y=-7.0,r=1.13])Node31[a=-1.0,b=-1.0,x=0.0,y=-6.0,r=1.07])Node23[a=-1.0,b=0.0,x=1.0,y=-5.0,r=0.73],(((()Node952[a=1.0,b=-1.0,x=2.0,y=-10.0,r=1.18])(()Node84[a=-1.0,b=-1.0,x=0.0,y=-8.0,r=0.91])Node38[a=-1.0,b=0.0,x=1.0,y=-7.0,r=1.38],(((Node129[a=-1.0,b=-1.0,x=3.0,y=-8.0,r=1.27],()Node128[a=0.0,b=-1.0,x=4.0,y=-8.0,r=1.35])Node65[a=0.0,b=-1.0,x=4.0,y=-7.0,r=0.98],((((Node162[a=1.0,b=0.0,x=8.0,y=-7.0,r=1.2685669416870335],()Node283[a=1.0,b=-1.0,x=8.0,y=-8.0,r=0.9586343616711437])Node127[a=1.0,b=-1.0,x=7.0,y=-7.0,r=0.81],(()Node189[a=0.0,b=-1.0,x=6.0,y=-12.0,r=0.94])((()Node78[a=-1.0,b=-1.0,x=6.0,y=-11.0,r=0.66])((()Node537[a=0.0,b=-1.0,x=7.0,y=-11.0,r=1.22])()Node887[a=0.0,b=-1.0,x=7.0,y=-10.0,r=0.94])()Node473[a=0.0,b=-1.0,x=7.0,y=-9.0,r=0.81])()Node126[a=0.0,b=-1.0,x=6.0,y=-7.0,r=1.19],()Node93[a=1.0,b=0.0,x=7.0,y=-6.0,r=0.74])Node104[a=1.0,b=0.0,x=6.0,y=-6.0,r=1.4108167024543916])Node83[a=0.0,b=1.0,x=5.0,y=-6.0,r=1.32],((((()Node745[a=-1.0,b=-1.0,x=3.0,y=-14.0,r=0.62]))Node919[a=-1.0,b=-1.0,x=4.0,y=-13.0,r=1.15])()Node772[a=0.0,b=-1.0,x=5.0,y=-12.0,r=1.28])(()Node798[a=1.0,b=0.0,x=5.0,y=-11.0,r=0.8])(((()Node151[a=-1.0,b=-1.0,x=4.0,y=-11.0,r=0.96]))Node15[a=0.0,b=-1.0,x=5.0,y=-10.0,r=1.03])()Node82[a=1.0,b=-1.0,x=6.0,y=-8.0,r=0.96])Node64[a=1.0,b=-1.0,x=5.0,y=-7.0,r=1.37])Node53[a=1.0,b=1.0,x=4.0,y=-6.0,r=0.5])Node37[a=1.0,b=0.0,x=3.0,y=-7.0,r=1.28])Node30[a=0.0,b=-1.0,x=2.0,y=-7.0,r=0.75])Node22[a=0.0,b=-1.0,x=2.0,y=-6.0,r=0.83])Node15[a=1.0,b=-1.0,x=2.0,y=-5.0,r=1.41])Node11[a=1.0,b=-1.0,x=1.0,y=-4.0,r=0.68])Node9[a=-1.0,b=0.0,x=0.0,y=-3.0,r=1.224188604200087])Node6[a=1.0,b=-1.0,x=1.0,y=-3.0,r=0.95])Node4[a=1.0,b=-1.0,x=0.0,y=-2.0,r=0.82])Node2[a=-1.0,b=0.0,x=-1.0,y=-1.0,r=0.53])Node1[a=0.0,b=-1.0,x=0.0,y=-1.0,r=0.62])Node_0[a=0,b=0,x=0,y=0,r=1]\n",
    "\n",
    "¿Cómo podemos entender este misterio insondable?\n",
    "\n",
    "Podríamos dibujarlo. El código sigue:\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "metadata": {},
   "source": [
    "# Program morpho_tree_drawer.py\n",
    "\n",
    "import random\n",
    "import matplotlib.pyplot as plt\n",
    "import matplotlib.patches as patches\n",
    "import numpy as np\n",
    "import math\n",
    "import copy # For deep copying trees during reproduction and mutatio\n",
    "import re # Required for newick parsing\n",
    "\n",
    "def get_neighboring_coordinates11b(cell):\n",
    "  '''Immediate neighboring coordinates of a cell are generated'''\n",
    "  neighbors = []\n",
    "  for dx in [-1, 0, 1]:\n",
    "      for dy in [-1, 0, 1]:\n",
    "          if dx == 0 and dy == 0:\n",
    "              continue  # Exclude the current square itself\n",
    "          neighbors.append((cell[0] + dx, cell[1] + dy))\n",
    "  return neighbors\n",
    "\n",
    " \n",
    "\n",
    "\n",
    "def detect_all_groups11b(newick_string):\n",
    "    '''Al substrings that encodes for the info of a node, step from father, center and radius are detected.'''\n",
    "\n",
    "    #print(\"detect_all_groups11b(newick_string)\")\n",
    "    #print(f\"Newick String: {newick_string}\")\n",
    "    # Detect a pattern on the model  info = NodeB_3_x_2[a=0,b=1,x=2,y=2,r=3]\n",
    "    #info_words = r'[\\a-zA-Z_0-9_[_=_,\\] ]+'\n",
    "    #info_words = r'[a-zA-Z_][a-zA-Z_0-9_]*\\[x=-?[0-9]+(?:\\.[0-9]+)?,y=-?[0-9]+(?:\\.[0-9]+)?,r=-?[0-9]+(?:\\.[0-9]+)?\\]$'\n",
    "                                                    #info_words = r'[a-zA-Z_0-9_]*\\[x=-?[0-9]+(?:\\.[0-9]+)?,y=-?[0-9]+(?:\\.[0-9]+)?,r=-?[0-9]+(?:\\.[0-9]+)?\\]'\n",
    "    info_words =  r'[a-zA-Z_0-9_]*\\[a=-?[0-9]+(?:\\.[0-9]+)?,b=-?[0-9]+(?:\\.[0-9]+)?,x=-?[0-9]+(?:\\.[0-9]+)?,y=-?[0-9]+(?:\\.[0-9]+)?,r=-?[0-9]+(?:\\.[0-9]+)?\\]'\n",
    "    starts = []\n",
    "    groups = []\n",
    "    for match in re.finditer(info_words, newick_string):\n",
    "        #print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "        #print(f\"    starts at index: {match.start()}\")\n",
    "        starts.append(match.start())\n",
    "        groups.append(match.group())\n",
    "    #number_of_groups = len(starts)\n",
    "    #print(f\"number_of_groups = {number_of_groups}\")\n",
    "    #print(f\"starts of gropus: {starts}\")\n",
    "    #print(f\"groups: {groups}\")\n",
    "\n",
    "\n",
    "    '''\n",
    "    # All infos are replaced by the dumb variable n\n",
    "    for j in range(number_of_infos - 1, -1, -1):\n",
    "        print(f\"start_of_info[{j}]:  {starts[j]},  len(groups[{j}]): {len(groups[j])}\")\n",
    "        new_s = replace_at_position2(new_s, \"n\", starts[j], len(groups[j]))\n",
    "        print(f\"new string = '{new_s}'\")\n",
    "        '''\n",
    "    return groups\n",
    "\n",
    "def extract_info11b(group):\n",
    "  '''The info of each group is extracted by tokenizers from the string.'''\n",
    "  patern_a = r'a=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  patern_b = r'b=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  patern_x = r'x=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  patern_y = r'y=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  patern_r = r'r=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  a = re.findall(patern_a, group)\n",
    "  b = re.findall(patern_b, group)\n",
    "  x = re.findall(patern_x, group)\n",
    "  y = re.findall(patern_y, group)\n",
    "  r = re.findall(patern_r, group)\n",
    "  a = float(a[0][2:])\n",
    "  b = float(b[0][2:])\n",
    "  x = float(x[0][2:])\n",
    "  y = float(y[0][2:])\n",
    "  r = float(r[0][2:])\n",
    "  return [a,b,x,y,r]\n",
    "\n",
    "\n",
    "def extract_all_infos11b(newick_string):\n",
    "    #print(\"extract_all_infos\n",
    "    # Groups are detected. A group is the encoding of the parameters of a node in an info.\n",
    "    groups = detect_all_groups11b(newick_string)\n",
    "    #print(f\"Groups: {groups}\")\n",
    "    number_of_groups = len(groups)\n",
    "    #print(f\"number_of_groups = {number_of_groups}\")\n",
    "\n",
    "    # Info is extracted from each group and\n",
    "    # all infos are kept in corresponding arrays.\n",
    "    a = []\n",
    "    b = []\n",
    "    x = []\n",
    "    y = []\n",
    "    r = []\n",
    "    #print(\"\\nInfo is extracted form each group\")\n",
    "    for i in range(number_of_groups):\n",
    "      #print(f\"group[{i}]: {groups[i]}\")\n",
    "      #print(f\"len(group[{i}]): {len(groups[i])}\")\n",
    "      [ai,bi,xi,yi,ri] = extract_info11b(groups[i])\n",
    "      #print(f\"a: {ai}, b: {bi}, x: {xi}, y: {yi}, r: {ri}\")\n",
    "      a.append(ai)\n",
    "      b.append(bi)\n",
    "      x.append(xi)\n",
    "      y.append(yi)\n",
    "      r.append(ri)\n",
    "    return a,b,x,y,r\n",
    "\n",
    "def find_father_center11b(newick_string, j):\n",
    "  ''' Finds the address of the father of a node at j'''\n",
    "  #print(\"find_father_center11(s, j)\")\n",
    "  #print(f\"s: {newick_string}\")\n",
    "  #print(f\"j: {j}\")\n",
    "\n",
    "  #Right tail is recruited\n",
    "  tail = newick_string[j+1:]\n",
    "  father_group = detect_all_groups11b(tail)\n",
    "  if father_group:\n",
    "    #print(f\"Father_group 1: {father_group}\")\n",
    "    [af,bf,xf,yf,rf] = extract_info11b(father_group[0])\n",
    "    #print(f\"Info: a: {af}, b: {bf}, x: {xf}, y: {yf}, r: {rf}\")\n",
    "    father_center = [xf,yf]\n",
    "    return father_center\n",
    "  else:\n",
    "   return \"\"\n",
    "\n",
    "\n",
    "\n",
    "def get_illuminated_area11b(x,y,r):\n",
    "    '''\n",
    "      The illuminated area enclosess all unitary squares that intersetcs the circles of illumination.\n",
    "      Each square is denoted by its left botton corner. These will be found in the set illuminated_coords.\n",
    "    '''\n",
    "    #print(\"get_illuminated_area11\")\n",
    "    #print(f\"x: {x}, y: {y}, r: {r}\")\n",
    "    illuminated_coords = set()\n",
    "\n",
    "\n",
    "    for xi,yi,ri in zip(x,y,r):\n",
    "        circle_center_x = xi + 0.5\n",
    "        circle_center_y = yi + 0.5\n",
    "        r_sq = ri ** 2\n",
    "        # 1. Add the cell containing the center of the circle\n",
    "        # This covers the case of small circles not intersecting grid lines.\n",
    "        illuminated_coords.add((math.floor(circle_center_x), math.floor(circle_center_y)))\n",
    "\n",
    "        # 2. Horizontal Scan: Check intersections with horizontal grid lines\n",
    "        # Iterate y_line from floor(cy - r) to ciel(cy + r)\n",
    "        # These y_line values represent the y-coordinates of horizontal grid lines.\n",
    "        for y_line in range(math.floor(circle_center_y - ri)-1,\n",
    "                            math.ceil(circle_center_y + ri) + 1):\n",
    "            dy = y_line - circle_center_y\n",
    "            discriminant = r_sq - dy * dy\n",
    "\n",
    "            if discriminant >= 0:\n",
    "                dx = math.sqrt(discriminant)\n",
    "                x_min_intersect = circle_center_x - dx\n",
    "                x_max_intersect = circle_center_x + dx\n",
    "\n",
    "                # For each integer x-coordinate that the horizontal segment crosses:\n",
    "                # Add the cells whose bottom-left corner's x-coordinate is in this range.\n",
    "                # This covers cells whose top edge is y_line AND cells whose bottom edge is y_line.\n",
    "                for ix in range(math.floor(x_min_intersect), math.floor(x_max_intersect) + 1):\n",
    "                    illuminated_coords.add((ix, y_line))\n",
    "                    illuminated_coords.add((ix, y_line - 1))\n",
    "\n",
    "        # 3. Vertical Scan: Check intersections with vertical grid lines\n",
    "        # Iterate x_line from floor(cx - r) to ciel(cx + r)\n",
    "        # These x_line values represent the x-coordinates of vertical grid lines.\n",
    "        for x_line in range(math.floor(circle_center_x - ri)-1,\n",
    "                            math.ceil(circle_center_x + ri) + 1):\n",
    "            dx = x_line - circle_center_x\n",
    "            discriminant = r_sq - dx * dx\n",
    "\n",
    "            if discriminant >= 0:\n",
    "                dy = math.sqrt(discriminant)\n",
    "                y_min_intersect = circle_center_y - dy\n",
    "                y_max_intersect = circle_center_y + dy\n",
    "\n",
    "                # For each integer y-coordinate that the vertical segment crosses:\n",
    "                # Add the cells whose bottom-left corner's y-coordinate is in this range.\n",
    "                # This covers cells whose right edge is x_line AND cells whose left edge is x_line.\n",
    "                for iy in range(math.floor(y_min_intersect), math.floor(y_max_intersect) + 1):\n",
    "                    # Cell (x_line, iy) - its left edge is at x_line\n",
    "                    illuminated_coords.add((x_line, iy))\n",
    "                    # Cell (x_line - 1, iy) - its right edge is at x_line\n",
    "                    illuminated_coords.add((x_line - 1, iy))\n",
    "    # print(f\"illuminated_coords  {illuminated_coords}\")\n",
    "\n",
    "    return illuminated_coords\n",
    "\n",
    "\n",
    "def plot_illuminated_area_newick11b(ax, illuminated_coords, title, color='blue', alpha=0.1):\n",
    "    ax.set_aspect('equal', adjustable='box')\n",
    "    if not illuminated_coords:\n",
    "        ax.set_title(title)\n",
    "        ax.grid(True)\n",
    "        return\n",
    "\n",
    "    for x, y in illuminated_coords:\n",
    "        rect = patches.Rectangle((x, y), 1, 1, facecolor=color, alpha=alpha, edgecolor='black', linewidth=0.5)\n",
    "        ax.add_patch(rect)\n",
    "\n",
    "    min_x = min(c[0] for c in illuminated_coords) - 1\n",
    "    max_x = max(c[0] for c in illuminated_coords) + 2\n",
    "    min_y = min(c[1] for c in illuminated_coords) - 1\n",
    "    max_y = max(c[1] for c in illuminated_coords) + 2\n",
    "    #print(f\"min_x: {min_x}, max_x: {max_x}, min_y: {min_y}, max_y: {max_y}\")\n",
    "\n",
    "    ax.set_xlim(min_x, max_x)\n",
    "    ax.set_ylim(min_y, max_y)\n",
    "    ax.set_xticks(range(int(min_x), int(max_x)))\n",
    "    ax.set_yticks(range(int(min_y), int(max_y)))\n",
    "    ax.grid(True)\n",
    "    ax.set_title(title)\n",
    "\n",
    "\n",
    "\n",
    "def plot_tree_nodes_and_their_diffusion_circles11b(x,y,r, ax, tree_color='lightblue', diff_color='red'):\n",
    "  for xi,yi,ri in zip(x,y,r):\n",
    "    # Plot the square representing the cell\n",
    "    rect = patches.Rectangle((xi, yi), 1, 1, facecolor=tree_color, edgecolor='black', linewidth=1, zorder=1)\n",
    "    ax.add_patch(rect)\n",
    "    #node_label_part = node.value.split('_')[-1] if '_' in node.value else node.value\n",
    "    #ax.text(xi + 0.5, yi + 0.5, node_label_part, ha='center', va='center', color='darkblue', fontsize=7, zorder=2)\n",
    "\n",
    "    # Plot the circle representing the radius of influence\n",
    "    circle = patches.Circle((xi + 0.5, yi + 0.5), ri, color='red', alpha=0.1, zorder=2)\n",
    "    ax.add_patch(circle)\n",
    "\n",
    "def find_leaves_newick11b(newick_string):\n",
    "    '''Detect leaves in a Newick string.'''\n",
    "    #print(\"\\n\\nfind_leaves\")\n",
    "    #print(f\"Newick String: {newick_string}\")\n",
    "\n",
    "    # Detection of leaves.\n",
    "    # Dectect substrings of the form \"(...)\" but without interior parentheses.\n",
    "    pattern_leaves = r'[(][^()]*[)]'\n",
    "    # Leaves may come grouped by bouquets\n",
    "    bouquets_of_leaves = re.findall(pattern_leaves, newick_string )\n",
    "    #print(f\"Bouquets_of_leaves: {bouquets_of_leaves}\")\n",
    "    all_leaves = []\n",
    "    # Descipher each leaf and find the father\n",
    "    for bouquet_of_leaves in bouquets_of_leaves:\n",
    "        bouquet_of_leaves = bouquet_of_leaves[1:-1]\n",
    "        leaves = detect_all_groups11b(bouquet_of_leaves)\n",
    "        for loaf in leaves:\n",
    "          loaf = loaf.replace(\" \", \"\")\n",
    "          all_leaves.append(loaf)\n",
    "    return all_leaves\n",
    "\n",
    "\n",
    "\n",
    "def connect_leaves_to_father11b(newick_string, ax, tree_color='lightblue', diff_color='red'):\n",
    "    '''Draw lines connecting leaves to fathers'''\n",
    "\n",
    "    #print(\"\\n\\nconnect_leaves_to_father11\")\n",
    "    #print(f\"Newick String: {newick_string}\")\n",
    "\n",
    "    all_leaves = find_leaves_newick11b(newick_string)\n",
    "    for leaf in all_leaves:\n",
    "        [al,bl,xl,yl,rl] = extract_info11b(leaf)\n",
    "        #print(f\"Info: a: {al}, b: {bl}, x: {xl}, y: {yl}, r: {rl}\")\n",
    "\n",
    "        # Task: Find the father of the leaf.\n",
    "        # It is the node after the last leaf\n",
    "        # Example:\n",
    "        # (Node9[x=-11,y=19.7,r=12.4567],Node8[x=0,y=7,r=15],Node7[x=6,y=16,r=9])Node6[x=17,y=9,r=20]\n",
    "        # The father of Node9, Node8, and Node7 is Node 6.\n",
    "        # The father of a node is found after the first unbalanced right parenthesis.\n",
    "        index_nex_right_par = newick_string.find(\")\", newick_string.find(leaf))\n",
    "        father_with_tail = newick_string[index_nex_right_par+1:]\n",
    "        father_group = detect_all_groups11b(father_with_tail)\n",
    "        if father_group:\n",
    "          [af,bf,xf,yf,rf]  = extract_info11b(father_group[0])\n",
    "          #father_center = (xf,yf)\n",
    "          ax.plot([xl + 0.5, xf + 0.5], [yl + 0.5, yf + 0.5], 'k--', linewidth=0.8, zorder = 3)\n",
    "    # Leaves are erased: each leave is replaced by \"\"\n",
    "    for leaf in all_leaves:\n",
    "          #print(f\"leaf to be erased: {leaf}\")\n",
    "          newick_string = newick_string.replace(leaf + \",\", \"\")\n",
    "          newick_string = newick_string.replace(leaf, \"\")\n",
    "          #print(f\"Newick String without leaves: {newick_string}\")\n",
    "    newick_string = newick_string.replace(\"()\", \"\")\n",
    "    #print(f\"Newick String without leaves: {newick_string}\")\n",
    "    groups = detect_all_groups11b(newick_string)\n",
    "    number_of_groups = len(groups)\n",
    "    #print(f\"number_of_groups = {number_of_groups}\")    \n",
    "     \n",
    "    return newick_string, number_of_groups\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "def draw_tree_links11b(newick_string, ax,   diff_color='red' ):\n",
    "    '''Draw lines connecting children to father.\n",
    "       1. Each leaf is connected to its father,\n",
    "          and the corresponding stroke is plotted.\n",
    "       2. Leaves are erased.\n",
    "       3. New leaves are detected and connected to their father.\n",
    "       4, And so on.\n",
    "       '''\n",
    "\n",
    "    #print(\"draw_tree_links11\")\n",
    "    #print(f\"Newick String: {newick_string}\")\n",
    "    length_string = len(newick_string)\n",
    "    #print(f\"length_string: {length_string}\")\n",
    "    groups = detect_all_groups11b(newick_string)\n",
    "    #print(f\"Groups: {groups}\")\n",
    "    number_of_groups = len(groups)\n",
    "    # Leaves are recursively found and connected to their father.\n",
    "    counter_of_trials = 0\n",
    "    while number_of_groups > 1:\n",
    "        #print(\"\\n\\ndraw_tree_links11\")\n",
    "        #print(f\"Newick String: {newick_string}\")\n",
    "\n",
    "        newick_string, number_of_groups = connect_leaves_to_father11b(newick_string, ax, tree_color='lightblue', diff_color='red')\n",
    "        counter_of_trials = counter_of_trials + 1\n",
    "        if counter_of_trials > length_string:\n",
    "          break\n",
    "    # The root is detected and marked with a cross\n",
    "    groups = detect_all_groups11b(newick_string)\n",
    "    #print(f\"Groups: {groups}\")\n",
    "    number_of_groups = len(groups)\n",
    "    #print(f\"number_of_groups = {number_of_groups}\")\n",
    "    # Mark the root with a red cross\n",
    "    if number_of_groups >= 1:\n",
    "      [a0,b0,x0,y0,r0] = extract_info11b(groups[-1])\n",
    "      #print(f\"Origin: a: {a0}, b: {b0}, x: {x0}, y: {y0}, r: {r0}\")\n",
    "      ax.plot([x0, x0 +1 ], [y0+ 0.5, y0+ 0.5],   color = 'red', linewidth=0.8, zorder = 3)\n",
    "      ax.plot([x0 + 0.5, x0 +0.5], [y0, y0+ 1],   color = 'red', linewidth=0.8, zorder = 3)\n",
    "    return newick_string, number_of_groups\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "def draw_tree_newick11b(newick_string, title):\n",
    "    #print(\"\\n=========== DRAWING=======\\n\")\n",
    "    #print(\"=========== DRAWING=======\\n\")\n",
    "    #print(\"=========== DRAWING=======\\n\")\n",
    "    a,b,x,y,r = extract_all_infos11b(newick_string)\n",
    "    fig, ax = plt.subplots(figsize=(7, 15))\n",
    "    ax.set_aspect('equal')\n",
    "    plot_tree_nodes_and_their_diffusion_circles11b(x,y,r, ax, tree_color='lightgreen', diff_color='red')\n",
    "     \n",
    "    # Illuminated area is calculated\n",
    "    illuminated_coords = get_illuminated_area11b(x,y,r)\n",
    "    #print(f\"Illuminated cells: {illuminated_coords}\")\n",
    "    #print(f\"Number of illuminated cells: {len(illuminated_coords)}\")\n",
    "    # Tree is drawn\n",
    "    #title = \"morpho-tree: lightgreen, illuminated circles: red, illuminated Area: lightblue\"\n",
    "    plot_illuminated_area_newick11b(ax, illuminated_coords, title, color='blue', alpha=0.1)\n",
    "    # Lines that define the tree are added\n",
    "    draw_tree_links11b(newick_string, ax, diff_color='red'  )\n",
    "\n",
    "    plt.tight_layout()\n",
    "    plt.show()\n",
    "    return illuminated_coords\n",
    "\n",
    "if __name__ == \"__main__\":\n",
    "    # Example Newick string\n",
    "    newick_string = \"((((((()Node63[a=1.0,b=-1.0,x=5.0,y=-3.0,r=1.26])Node52[a=1.0,b=-1.0,x=4.0,y=-2.0,r=0.7])Node21[a=1.0,b=1.0,x=3.0,y=-1.0,r=1.9613197090647045],((()Node219[a=0.0,b=1.0,x=-2.0,y=3.0,r=1.06])((((Node156[a=-1.0,b=-1.0,x=-2.0,y=2.0,r=0.71])Node125[a=0.0,b=1.0,x=-1.0,y=3.0,r=1.37])Node103[a=-1.0,b=1.0,x=-1.0,y=2.0,r=1.36],(((Node198[a=-1.0,b=1.0,x=-4.0,y=1.0,r=0.75])Node155[a=-1.0,b=0.0,x=-3.0,y=0.0,r=0.58])Node124[a=-1.0,b=-1.0,x=-2.0,y=0.0,r=1.6749306080259698],((((()Node913[a=-1.0,b=0.0,x=-4.0,y=3.0,r=0.59]))Node698[a=0.0,b=1.0,x=-3.0,y=3.0,r=0.84])()Node600[a=-1.0,b=1.0,x=-3.0,y=2.0,r=1.25])()Node123[a=0.0,b=-1.0,x=-1.0,y=0.0,r=1.33])Node102[a=-1.0,b=0.0,x=-1.0,y=1.0,r=1.33])Node51[a=-1.0,b=1.0,x=0.0,y=1.0,r=0.54],(((()Node122[a=-1.0,b=0.0,x=0.0,y=3.0,r=1.17])Node81[a=-1.0,b=1.0,x=1.0,y=3.0,r=0.85])Node62[a=0.0,b=1.0,x=2.0,y=2.0,r=1.07],(((()Node153[a=-1.0,b=1.0,x=3.0,y=5.0,r=0.515683679559608],Node152[a=0.0,b=-1.0,x=4.0,y=3.0,r=1.03])Node101[a=1.0,b=1.0,x=4.0,y=4.0,r=0.5748403340449614])Node80[a=0.0,b=1.0,x=3.0,y=3.0,r=1.22],()Node79[a=1.0,b=0.0,x=4.0,y=2.0,r=1.36])Node61[a=1.0,b=1.0,x=3.0,y=2.0,r=0.5295884877970901])Node50[a=1.0,b=1.0,x=2.0,y=1.0,r=1.21])Node29[a=0.0,b=1.0,x=1.0,y=0.0,r=1.43])Node20[a=-1.0,b=1.0,x=1.0,y=-1.0,r=1.1])Node8[a=1.0,b=0.0,x=2.0,y=-2.0,r=0.64])Node3[a=1.0,b=-1.0,x=1.0,y=-2.0,r=1.37],((((((()Node100[a=0.0,b=1.0,x=-2.0,y=-2.0,r=1.05],((Node150[a=0.0,b=1.0,x=-4.0,y=-1.0,r=0.7334891191596699],(Node193[a=-1.0,b=1.0,x=-6.0,y=0.0,r=0.5820889162363478])Node149[a=-1.0,b=1.0,x=-5.0,y=-1.0,r=0.81])Node120[a=-1.0,b=0.0,x=-4.0,y=-2.0,r=1.36],()Node119[a=0.0,b=1.0,x=-3.0,y=-1.0,r=1.16])Node99[a=-1.0,b=1.0,x=-3.0,y=-2.0,r=1.47])Node49[a=-1.0,b=1.0,x=-2.0,y=-3.0,r=1.26],()((()Node118[a=0.0,b=-1.0,x=-3.0,y=-4.0,r=1.0],((()Node367[a=-1.0,b=-1.0,x=-7.0,y=-3.0,r=1.8764650499221425])()Node147[a=-1.0,b=0.0,x=-5.0,y=-3.0,r=0.82],Node146[a=-1.0,b=1.0,x=-5.0,y=-2.0,r=1.13])Node117[a=-1.0,b=0.0,x=-4.0,y=-3.0,r=1.13])Node78[a=-1.0,b=1.0,x=-3.0,y=-3.0,r=1.0329473493338008])Node48[a=-1.0,b=0.0,x=-2.0,y=-4.0,r=0.76])Node28[a=-1.0,b=0.0,x=-1.0,y=-4.0,r=1.46])Node14[a=1.0,b=-1.0,x=0.0,y=-4.0,r=1.06])Node7[a=0.0,b=-1.0,x=-1.0,y=-3.0,r=0.89])Node5[a=0.0,b=-1.0,x=-1.0,y=-2.0,r=0.71],(((((((()Node47[a=-1.0,b=1.0,x=4.0,y=-4.0,r=0.6058398421466735],((()Node441[a=0.0,b=-1.0,x=8.0,y=0.0,r=1.2970045651723827])((((()Node145[a=1.0,b=1.0,x=8.0,y=1.0,r=0.52],()Node144[a=0.0,b=1.0,x=7.0,y=1.0,r=0.96])Node116[a=1.0,b=1.0,x=7.0,y=0.0,r=1.235712154728331],()Node115[a=1.0,b=0.0,x=7.0,y=-1.0,r=0.95])Node98[a=1.0,b=1.0,x=6.0,y=-1.0,r=1.37],(()Node114[a=1.0,b=0.0,x=7.0,y=-2.0,r=0.62])Node97[a=1.0,b=0.0,x=6.0,y=-2.0,r=1.04])Node77[a=1.0,b=1.0,x=5.0,y=-2.0,r=1.01])Node59[a=-1.0,b=1.0,x=4.0,y=-3.0,r=0.62],(((Node185[a=1.0,b=0.0,x=9.0,y=-5.0,r=1.25],()Node476[a=1.0,b=-1.0,x=9.0,y=-6.0,r=0.87])Node142[a=1.0,b=-1.0,x=8.0,y=-5.0,r=1.7146586553405185])Node96[a=1.0,b=1.0,x=7.0,y=-4.0,r=1.49],((Node183[a=1.0,b=-1.0,x=8.0,y=-6.0,r=0.54])Node141[a=1.0,b=-1.0,x=7.0,y=-5.0,r=0.5185357042371559],(()Node303[a=1.0,b=-1.0,x=9.0,y=-4.0,r=0.69])(Node181[a=1.0,b=0.0,x=8.0,y=-3.0,r=1.16])Node140[a=1.0,b=1.0,x=7.0,y=-3.0,r=1.44])Node95[a=0.0,b=1.0,x=6.0,y=-4.0,r=1.1])Node58[a=1.0,b=-1.0,x=6.0,y=-5.0,r=0.72])Node46[a=0.0,b=1.0,x=5.0,y=-4.0,r=0.79])Node36[a=1.0,b=0.0,x=5.0,y=-5.0,r=1.02])Node27[a=1.0,b=-1.0,x=4.0,y=-5.0,r=0.71])Node19[a=1.0,b=0.0,x=3.0,y=-4.0,r=0.83],(Node57[a=0.0,b=-1.0,x=3.0,y=-6.0,r=0.83])Node18[a=1.0,b=-1.0,x=3.0,y=-5.0,r=1.36])Node13[a=0.0,b=-1.0,x=2.0,y=-4.0,r=1.9563373261553025],((((((()Node94[a=1.0,b=1.0,x=2.0,y=3.0,r=1.5714886013535794])Node76[a=1.0,b=0.0,x=1.0,y=2.0,r=1.7607046194653915])Node56[a=-1.0,b=1.0,x=0.0,y=2.0,r=1.43])Node45[a=-1.0,b=1.0,x=1.0,y=1.0,r=0.71])Node26[a=0.0,b=1.0,x=2.0,y=0.0,r=0.81],(((()Node55[a=1.0,b=0.0,x=5.0,y=-1.0,r=0.68])Node44[a=0.0,b=-1.0,x=4.0,y=-1.0,r=1.39])Node35[a=1.0,b=0.0,x=4.0,y=0.0,r=1.5450652146942652])Node25[a=1.0,b=1.0,x=3.0,y=0.0,r=0.8])Node17[a=-1.0,b=1.0,x=2.0,y=-1.0,r=0.84])Node12[a=1.0,b=1.0,x=3.0,y=-2.0,r=0.59])Node10[a=1.0,b=0.0,x=2.0,y=-3.0,r=1.31],((((((()Node74[a=0.0,b=1.0,x=-3.0,y=-5.0,r=0.97],(((()Node139[a=0.0,b=1.0,x=-5.0,y=-4.0,r=0.85])Node113[a=0.0,b=1.0,x=-5.0,y=-5.0,r=1.29],(Node138[a=-1.0,b=1.0,x=-7.0,y=-4.0,r=1.09])Node112[a=-1.0,b=1.0,x=-6.0,y=-5.0,r=0.69])Node92[a=-1.0,b=0.0,x=-5.0,y=-6.0,r=1.9891193529247717])Node73[a=-1.0,b=0.0,x=-4.0,y=-6.0,r=0.9])Node43[a=-1.0,b=-1.0,x=-3.0,y=-6.0,r=0.93])Node34[a=-1.0,b=0.0,x=-2.0,y=-5.0,r=1.7667232954270577],(()Node707[a=0.0,b=-1.0,x=-8.0,y=-11.0,r=1.2418125160543307])((((((Node176[a=-1.0,b=1.0,x=-8.0,y=-8.0,r=0.73])Node137[a=-1.0,b=-1.0,x=-7.0,y=-9.0,r=1.3],Node136[a=-1.0,b=0.0,x=-7.0,y=-8.0,r=0.59])Node111[a=-1.0,b=-1.0,x=-6.0,y=-8.0,r=0.53],(Node175[a=-1.0,b=1.0,x=-7.0,y=-6.0,r=1.8710079054235957])Node110[a=-1.0,b=0.0,x=-6.0,y=-7.0,r=0.81])Node91[a=-1.0,b=0.0,x=-5.0,y=-7.0,r=0.64])Node72[a=-1.0,b=0.0,x=-4.0,y=-7.0,r=1.35],(Node90[a=-1.0,b=0.0,x=-5.0,y=-8.0,r=1.48],(()Node109[a=-1.0,b=0.0,x=-6.0,y=-9.0,r=1.8236264836746388])Node89[a=-1.0,b=-1.0,x=-5.0,y=-9.0,r=0.94])Node71[a=-1.0,b=-1.0,x=-4.0,y=-8.0,r=0.91])Node42[a=-1.0,b=-1.0,x=-3.0,y=-7.0,r=0.58],(()Node46[a=-1.0,b=-1.0,x=-2.0,y=-7.0,r=0.93])()Node41[a=1.0,b=0.0,x=-1.0,y=-6.0,r=1.39])Node33[a=-1.0,b=-1.0,x=-2.0,y=-6.0,r=1.12])Node24[a=-1.0,b=0.0,x=-1.0,y=-5.0,r=1.47])Node16[a=-1.0,b=-1.0,x=0.0,y=-5.0,r=0.67],((Node32[a=0.0,b=-1.0,x=1.0,y=-6.0,r=1.9638918299741654],(((()Node841[a=-1.0,b=-1.0,x=-7.0,y=-11.0,r=0.58])((((()Node135[a=-1.0,b=-1.0,x=-5.0,y=-11.0,r=0.85])Node108[a=0.0,b=-1.0,x=-4.0,y=-10.0,r=1.0],(()Node630[a=-1.0,b=-1.0,x=-6.0,y=-13.0,r=0.77])(()Node134[a=-1.0,b=-1.0,x=-6.0,y=-11.0,r=1.0])Node107[a=-1.0,b=-1.0,x=-5.0,y=-10.0,r=1.14])Node88[a=-1.0,b=-1.0,x=-4.0,y=-9.0,r=0.65])Node69[a=-1.0,b=0.0,x=-3.0,y=-8.0,r=0.87],(((Node170[a=1.0,b=-1.0,x=-3.0,y=-12.0,r=1.9512384698512715],(()Node686[a=-1.0,b=-1.0,x=-4.0,y=-12.0,r=1.5])Node169[a=1.0,b=0.0,x=-3.0,y=-11.0,r=0.91])Node133[a=-1.0,b=-1.0,x=-4.0,y=-11.0,r=1.33])Node87[a=-1.0,b=-1.0,x=-3.0,y=-10.0,r=1.08],Node86[a=-1.0,b=0.0,x=-3.0,y=-9.0,r=1.33])Node68[a=0.0,b=-1.0,x=-2.0,y=-9.0,r=0.99])Node54[a=-1.0,b=-1.0,x=-2.0,y=-8.0,r=0.72])Node40[a=-1.0,b=-1.0,x=-1.0,y=-7.0,r=1.45],(()Node951[a=-1.0,b=-1.0,x=0.0,y=-11.0,r=1.7392926307253513])((()Node132[a=1.0,b=-1.0,x=2.0,y=-9.0,r=1.25],()Node131[a=1.0,b=0.0,x=2.0,y=-8.0,r=1.45])Node67[a=1.0,b=-1.0,x=1.0,y=-8.0,r=1.41],((()Node193[a=-1.0,b=0.0,x=-4.0,y=-14.0,r=1.22])()Node370[a=-1.0,b=-1.0,x=-3.0,y=-14.0,r=0.94])((()Node139[a=0.0,b=-1.0,x=-2.0,y=-13.0,r=1.33])(((Node166[a=0.0,b=-1.0,x=-2.0,y=-12.0,r=0.65],((()Node192[a=-1.0,b=0.0,x=0.0,y=-14.0,r=0.88])((()Node527[a=1.0,b=-1.0,x=1.0,y=-14.0,r=0.85])((()Node591[a=1.0,b=-1.0,x=0.0,y=-13.0,r=1.04])()Node169[a=0.0,b=-1.0,x=-1.0,y=-12.0,r=1.0099492850296317]))Node421[a=1.0,b=-1.0,x=-1.0,y=-11.0,r=1.29])Node165[a=0.0,b=1.0,x=-2.0,y=-10.0,r=1.23])Node130[a=-1.0,b=-1.0,x=-2.0,y=-11.0,r=1.45])Node106[a=0.0,b=-1.0,x=-1.0,y=-10.0,r=1.2592804255064793],Node105[a=1.0,b=0.0,x=0.0,y=-9.0,r=1.23])Node85[a=0.0,b=-1.0,x=-1.0,y=-9.0,r=1.49])Node66[a=-1.0,b=-1.0,x=-1.0,y=-8.0,r=1.38])Node39[a=0.0,b=-1.0,x=0.0,y=-7.0,r=1.13])Node31[a=-1.0,b=-1.0,x=0.0,y=-6.0,r=1.07])Node23[a=-1.0,b=0.0,x=1.0,y=-5.0,r=0.73],(((()Node952[a=1.0,b=-1.0,x=2.0,y=-10.0,r=1.18])(()Node84[a=-1.0,b=-1.0,x=0.0,y=-8.0,r=0.91])Node38[a=-1.0,b=0.0,x=1.0,y=-7.0,r=1.38],(((Node129[a=-1.0,b=-1.0,x=3.0,y=-8.0,r=1.27],()Node128[a=0.0,b=-1.0,x=4.0,y=-8.0,r=1.35])Node65[a=0.0,b=-1.0,x=4.0,y=-7.0,r=0.98],((((Node162[a=1.0,b=0.0,x=8.0,y=-7.0,r=1.2685669416870335],()Node283[a=1.0,b=-1.0,x=8.0,y=-8.0,r=0.9586343616711437])Node127[a=1.0,b=-1.0,x=7.0,y=-7.0,r=0.81],(()Node189[a=0.0,b=-1.0,x=6.0,y=-12.0,r=0.94])((()Node78[a=-1.0,b=-1.0,x=6.0,y=-11.0,r=0.66])((()Node537[a=0.0,b=-1.0,x=7.0,y=-11.0,r=1.22])()Node887[a=0.0,b=-1.0,x=7.0,y=-10.0,r=0.94])()Node473[a=0.0,b=-1.0,x=7.0,y=-9.0,r=0.81])()Node126[a=0.0,b=-1.0,x=6.0,y=-7.0,r=1.19],()Node93[a=1.0,b=0.0,x=7.0,y=-6.0,r=0.74])Node104[a=1.0,b=0.0,x=6.0,y=-6.0,r=1.4108167024543916])Node83[a=0.0,b=1.0,x=5.0,y=-6.0,r=1.32],((((()Node745[a=-1.0,b=-1.0,x=3.0,y=-14.0,r=0.62]))Node919[a=-1.0,b=-1.0,x=4.0,y=-13.0,r=1.15])()Node772[a=0.0,b=-1.0,x=5.0,y=-12.0,r=1.28])(()Node798[a=1.0,b=0.0,x=5.0,y=-11.0,r=0.8])(((()Node151[a=-1.0,b=-1.0,x=4.0,y=-11.0,r=0.96]))Node15[a=0.0,b=-1.0,x=5.0,y=-10.0,r=1.03])()Node82[a=1.0,b=-1.0,x=6.0,y=-8.0,r=0.96])Node64[a=1.0,b=-1.0,x=5.0,y=-7.0,r=1.37])Node53[a=1.0,b=1.0,x=4.0,y=-6.0,r=0.5])Node37[a=1.0,b=0.0,x=3.0,y=-7.0,r=1.28])Node30[a=0.0,b=-1.0,x=2.0,y=-7.0,r=0.75])Node22[a=0.0,b=-1.0,x=2.0,y=-6.0,r=0.83])Node15[a=1.0,b=-1.0,x=2.0,y=-5.0,r=1.41])Node11[a=1.0,b=-1.0,x=1.0,y=-4.0,r=0.68])Node9[a=-1.0,b=0.0,x=0.0,y=-3.0,r=1.224188604200087])Node6[a=1.0,b=-1.0,x=1.0,y=-3.0,r=0.95])Node4[a=1.0,b=-1.0,x=0.0,y=-2.0,r=0.82])Node2[a=-1.0,b=0.0,x=-1.0,y=-1.0,r=0.53])Node1[a=0.0,b=-1.0,x=0.0,y=-1.0,r=0.62])Node_0[a=0,b=0,x=0,y=0,r=1]\"\n",
    "    # Draw the tree and get the illuminated coordinates\n",
    "    illuminated_coords = draw_tree_newick11b(newick_string, title=\"Example of disconnected Morpho-tree\")\n",
    "    print(f\"Illuminated coordinates: {illuminated_coords}\")"
   ],
   "outputs": [],
   "execution_count": null
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Observaciones.** Al observar el dibujo, se ven al menos tres tipos de defectos de conectividad:\n",
    "1. Células aisladas, por ejemplo `(-6, -13)`. Según la fórmula, esto corresponde a la información `(()Node630[a=-1.0,b=-1.0,x=-6.0,y=-13.0,r=0.77])(()Node134`. Según la fórmula, el node630 también está aislado. Por lo tanto, esto no es un error de la maquinaria de dibujo. Es un error causado por una Evolución mal programada.\n",
    "2. El padre y el hijo no son vecinos. Tal es el caso de la célula `(-3,-14)`, cuya información es `)()Node370[a=-1.0,b=-1.0,x=-3.0,y=-14.0,r=0.94])(((()Node139`, cuyo padre es, según el dibujo, (-2,-12), con info `(Node166[a=0.0,b=-1.0,x=-2.0,y=-12.0,r=0.65], `. Según la fórmula, el node370 también está aislado.  Este es un error de una Evolución mal programada.\n",
    "3. Célula desconectada: La célula `(-7,-3)`, con info `(()Node367[a=-1.0,b=-1.0,x=-7.0,y=-3.0,r=1.8764650499221425])()Node147` está al lado de `(-7,-4)`, con info `(Node138[a=-1.0,b=1.0,x=-7.0,y=-4.0,r=1.09])Node112` pero no están conectadas. De acuerdo con la fórmula, el   node367 también está aislado. Esto es un error de programación.\n",
    ">\n",
    "> No encontramos ninguna razón para culpar a la maquinaria de dibujo como la causa de los errores. Por lo tanto, los errores son causados por una Evolución mal programada. En este caso, la recombinación se desactiva, por lo que el culpable es la mutación, que consiste en la inserción y eliminación de una hoja.\n",
    ">\n",
    "> Al observar el código, descubrimos que una modalidad de inserción inserta un nodo después del paréntesis izquierdo `( `. Pero esto es válido para `(((`) y esto produciría información aislada, si se insertara en algún punto intermedio. Para corregir el error, el paréntesis izquierdo como criterio para una hoja se cambió por `(N`, que significa que un nodo comienza justo después del paréntesis izquierdo. Además, el error fue aparentemente propiciado por el substring `()` que se utilizó en el proceso constructivo de las cadenas de Newick para permitir la recursión. Así, esto fue borrado en la línea 1318 y siguientes junto con otras posibles causas de error. El código sigue: es un clon del anterior con dos excepciones. Primero: el error de desconexión fue presumiblemente resuelto, y segundo: no hay una semilla aleatoria, por lo que se puede volver a ejecutarlo y recibir diferentes resultados."
   ]
  },
  {
   "cell_type": "code",
   "metadata": {},
   "source": [
    "# Program Evolución_of_newick_morphological_trees12.py\n",
    "# Morphological trees considered here are like lighting trees:\n",
    "# an electrical thread in the form of tree covers an area\n",
    "# and there is lamp at each node.\n",
    "# Each lamp has a given power and a circle of illumination,\n",
    "# whose radius is determined by a threshold intensity.\n",
    "# In morphology, this corresponds with a threshold concentration of a messenger.\n",
    "# Evolución is given the task of illuminating\n",
    "# the area determined by a random target tree.\n",
    "# Trees are encoded in Newick Notation and\n",
    "# everything is done over the correspond strings\n",
    "# without resorting to the Node class.\n",
    "# Thus, it is possible to use the Newick strings as a genotype and\n",
    "# the corresponding trees as a phenotype.\n",
    "# \n",
    "# In this version:\n",
    "#   1. Mutation has been inbuilt with the power\n",
    "#       to have children in the immediate neighborhood of the father and    \n",
    "#       to change radius and the topology of trees\n",
    "#       by means of insertion and deletion of leaves.\n",
    "#    2. Recombination has been enabled with the power \n",
    "#       to exchange leaves between trees.\n",
    "#       We expect a good proportion of the population to \n",
    "#       be able to successfully recombine, mutate and reproduce.\n",
    "#    3. A cut-off for the length of the Newick string has been introduced \n",
    "#       to avoid overgrowth of trees.\n",
    "#    4. The seed for the random number generator has been canceled \n",
    "#        to allow different histories for different runs.\n",
    "#\n",
    "# A bug was corrected in the function that inserts a node.\n",
    "# The criterion for insertion was changed from \"a leaf is just after a left parenthesis\" \n",
    "# to \"a leaf begins with `N` that is preceded by a left parenthesis\".\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "# We reuse pieces of code made with the help of Colab and Gemini 2.5 Flash.\n",
    "# With the  assistance of the AI of Visual Studio Code.\n",
    "\n",
    "import random\n",
    "import matplotlib.pyplot as plt\n",
    "import matplotlib.patches as patches\n",
    "import numpy as np\n",
    "import math\n",
    "import copy # For deep copying trees during reproduction and mutatio\n",
    "import re # Required for newick parsing\n",
    "#import itertools # Required for sequential replacement\n",
    "import sys # Import sys module to adjust recursion limit\n",
    "sys.setrecursionlimit(3000)\n",
    "import time\n",
    "# trace memory allocation \n",
    "#https://www.geeksforgeeks.org/python/monitoring-memory-usage-of-a-running-python-program/\n",
    "# this consumes too much cpu-time by a multiplicative factor, say 5 for 1000 lines.\n",
    "import tracemalloc \n",
    "\n",
    "\n",
    "#Activate  memory monitoring?\n",
    "memory_monitoring = False \n",
    "recombination_of_leaves = False\n",
    "\n",
    "# starting the memory allocation monitoring\n",
    "if memory_monitoring:\n",
    "    tracemalloc.start() \n",
    "start_time = time.time()\n",
    "\n",
    "# Parameters for the target tree generation\n",
    "target_tree_params = {\n",
    "  'max_depth': 30,\n",
    "  'max_number_children': 2,\n",
    "  'max_node_radius': 1.5,\n",
    "}\n",
    "\n",
    "# Parameters for the Genetic Algorithm\n",
    "ga_params = {\n",
    "   #'seed': 47423648, #the seed of the target tree is this plus 1.\n",
    "  'pop_size': 200,\n",
    "  'generations': 100,\n",
    "  'max_depth': target_tree_params['max_depth'],\n",
    "  'max_number_children': target_tree_params['max_number_children'],\n",
    "  'max_node_radius': 1.5,\n",
    "  'mutation_rate': 0.001, \n",
    "  'crossover_rate': 0.001  \n",
    "}\n",
    "\n",
    " \n",
    "def print_parameters12(target_tree_params, ga_params):\n",
    "    print(\"LAB: Evolución OF NEWICK MORPHO-TREES\")\n",
    "    print(\"PURPOSE: \"\n",
    "          + \"\\n A random morpho-tree T is generated.\"\n",
    "          + \"\\n Evolución tries to restore the tree T\"\n",
    "          + \"\\n beginning from a population of random trees.\")\n",
    "    print(f\"EXPERIMENT {start_time}\")\n",
    "    print(f\"RECOMBINATION OF LEAVES: {recombination_of_leaves}\")\n",
    "    #print(f\"SEED FOR THE GENETIC ALGORITHM: {ga_params['seed']}\")\n",
    "    print(f\"TARGET TREE PARAMETERS: {target_tree_params}\")\n",
    "    print(f\"GENETIC ALGORITHM PARAMETERS: {ga_params}\\n\")\n",
    "\n",
    "\n",
    "# GENERATION OF A MORPHO-TREE\n",
    "\n",
    "# Program morpho_tree_drawer.py\n",
    "\n",
    "# The following program generates a Newick strings\n",
    "# that encodes for a morpho-tree  and draws it.\n",
    "# Children are located in the immediate neighborhood of the father.\n",
    "# If postions are occupied, no children.\n",
    "# Then, children are generated only when there is place for them.\n",
    "\n",
    "# ====   Grammar_generator =======\n",
    "\n",
    "# This program uses a hidden grammar to generate Newick expressions that encode for morphological trees.\n",
    "# The information of each node is generated on the image of\n",
    "#   Node25[a=18,b=18,x=19,y=0,r=14.3]\n",
    "# The rules of the grammar are:\n",
    "# 1. Initial string or seed: `s = ()n`\n",
    "# 2. Generate a random digit: x\n",
    "# 3. Replace in `s`, `()` by x copies of `(()n ` separated by a comma.\n",
    "# 4. Iterate.\n",
    "# 5. Replace each `n`by the info of a node whose values are generated at random but the index of the tag is a counter with the iterative process.\n",
    "# 6. Delete the tag \"()\" that appears in the last appended children.\n",
    "# An ordered set of rules like this is a Generative Grammar.\n",
    "# The grammmar is hidden because no n is generated,\n",
    "# because beforehand it is replaced by the info of a node.\n",
    "# With the assistance of Colab and reusing a previous code by Gemini.\n",
    "\n",
    "\n",
    "\n",
    "def replace_str_subsequence12(original_str, start_idx, end_idx, new_subsequence):\n",
    "    \"\"\" Replace a subsequence from start_idx to end_idx with another string.\n",
    "        By Google\"\"\"\n",
    "    # Concatenate the pieces together\n",
    "    return original_str[:start_idx] + new_subsequence + original_str[end_idx:]\n",
    "\n",
    "def replace_strig_of_length12(original_str, replacement, position, length_to_replace):\n",
    "    \"\"\"\n",
    "    Replaces a subsequence of given length.\n",
    "    :param original_str: The main text string\n",
    "    :param replacement: The new text you want to insert\n",
    "    :param position: The starting index of the old subsequence\n",
    "    :param length_to_replace: The length of the old subsequence being removed\n",
    "    \"\"\"\n",
    "    before = original_str[:position]\n",
    "    after = original_str[position + length_to_replace:]\n",
    "    return before + replacement + after\n",
    "\n",
    "\n",
    "def detect_all_groups12(newick_string):\n",
    "    \"\"\"Al substrings that encodes for the info of a node, step from father, center and radius are detected.\"\"\"\n",
    "\n",
    "    #print(\"detect_all_groups12(newick_string)\")\n",
    "    #print(f\"Newick String: {newick_string}\")\n",
    "    # Detect a pattern on the model  info = NodeB_3_x_2[a=0,b=1,x=2,y=2,r=3]\n",
    "    #info_words = r'[\\a-zA-Z_0-9_[_=_,\\] ]+'\n",
    "    #info_words = r'[a-zA-Z_][a-zA-Z_0-9_]*\\[x=-?[0-9]+(?:\\.[0-9]+)?,y=-?[0-9]+(?:\\.[0-9]+)?,r=-?[0-9]+(?:\\.[0-9]+)?\\]$'\n",
    "                                                    #info_words = r'[a-zA-Z_0-9_]*\\[x=-?[0-9]+(?:\\.[0-9]+)?,y=-?[0-9]+(?:\\.[0-9]+)?,r=-?[0-9]+(?:\\.[0-9]+)?\\]'\n",
    "    info_words =  r'[a-zA-Z_0-9_]*\\[a=-?[0-9]+(?:\\.[0-9]+)?,b=-?[0-9]+(?:\\.[0-9]+)?,x=-?[0-9]+(?:\\.[0-9]+)?,y=-?[0-9]+(?:\\.[0-9]+)?,r=-?[0-9]+(?:\\.[0-9]+)?\\]'\n",
    "    starts = []\n",
    "    groups = []\n",
    "    for match in re.finditer(info_words, newick_string):\n",
    "        #print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "        #print(f\"    starts at index: {match.start()}\")\n",
    "        starts.append(match.start())\n",
    "        groups.append(match.group())\n",
    "    #number_of_groups = len(starts)\n",
    "    #print(f\"number_of_groups = {number_of_groups}\")\n",
    "    #print(f\"starts of gropus: {starts}\")\n",
    "    #print(f\"groups: {groups}\")\n",
    "\n",
    "\n",
    "    \"\"\"\n",
    "    # All infos are replaced by the dumb variable n\n",
    "    for j in range(number_of_infos - 1, -1, -1):\n",
    "        print(f\"start_of_info[{j}]:  {starts[j]},  len(groups[{j}]): {len(groups[j])}\")\n",
    "        new_s = replace_at_position2(new_s, \"n\", starts[j], len(groups[j]))\n",
    "        print(f\"new string = '{new_s}'\")\n",
    "        \"\"\"\n",
    "    return groups\n",
    "\n",
    "def count_groups12(newick_string):\n",
    "    \"\"\"The number of groups is counted.\"\"\"\n",
    "    groups = detect_all_groups12(newick_string)\n",
    "    number_of_groups = len(groups)\n",
    "    return number_of_groups\n",
    "\n",
    "def extract_info12(group):\n",
    "  \"\"\"The info of each group is extracted by tokenizers from the string.\"\"\"\n",
    "  patern_a = r'a=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  patern_b = r'b=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  patern_x = r'x=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  patern_y = r'y=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  patern_r = r'r=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  a = re.findall(patern_a, group)\n",
    "  b = re.findall(patern_b, group)\n",
    "  x = re.findall(patern_x, group)\n",
    "  y = re.findall(patern_y, group)\n",
    "  r = re.findall(patern_r, group)\n",
    "  a = float(a[0][2:])\n",
    "  b = float(b[0][2:])\n",
    "  x = float(x[0][2:])\n",
    "  y = float(y[0][2:])\n",
    "  r = float(r[0][2:])\n",
    "  return [a,b,x,y,r]\n",
    "\n",
    "\n",
    "def extract_all_infos12(newick_string):\n",
    "    #print(\"extract_all_infos\n",
    "    # Groups are detected. A group is the encoding of the parameters of a node in an info.\n",
    "    groups = detect_all_groups12(newick_string)\n",
    "    #print(f\"Groups: {groups}\")\n",
    "    number_of_groups = len(groups)\n",
    "    #print(f\"number_of_groups = {number_of_groups}\")\n",
    "\n",
    "    # Info is extracted from each group and\n",
    "    # all infos are kept in corresponding arrays.\n",
    "    a = []\n",
    "    b = []\n",
    "    x = []\n",
    "    y = []\n",
    "    r = []\n",
    "    #print(\"\\nInfo is extracted form each group\")\n",
    "    for i in range(number_of_groups):\n",
    "      #print(f\"group[{i}]: {groups[i]}\")\n",
    "      #print(f\"len(group[{i}]): {len(groups[i])}\")\n",
    "      [ai,bi,xi,yi,ri] = extract_info12(groups[i])\n",
    "      #print(f\"a: {ai}, b: {bi}, x: {xi}, y: {yi}, r: {ri}\")\n",
    "      a.append(ai)\n",
    "      b.append(bi)\n",
    "      x.append(xi)\n",
    "      y.append(yi)\n",
    "      r.append(ri)\n",
    "    return a,b,x,y,r\n",
    "\n",
    "\n",
    "def get_neighboring_coordinates12(cell):\n",
    "  \"\"\"Immediate neighboring coordinates of a cell are generated\"\"\"\n",
    "  neighbors = []\n",
    "  for dx in [-1, 0, 1]:\n",
    "      for dy in [-1, 0, 1]:\n",
    "          if dx == 0 and dy == 0:\n",
    "              continue  # Exclude the current square itself\n",
    "          neighbors.append((cell[0] + dx, cell[1] + dy))\n",
    "  return neighbors\n",
    "\n",
    " \n",
    "\n",
    "def find_father_center12(newick_string, j):\n",
    "  \"\"\" Finds the address of the father of a node at j\"\"\"\n",
    "  #print(\"find_father_center12(s, j)\")\n",
    "  #print(f\"s: {newick_string}\")\n",
    "  #print(f\"j: {j}\")\n",
    "\n",
    "  #Right tail is recruited\n",
    "  tail = newick_string[j+1:]\n",
    "  father_group = detect_all_groups12(tail)\n",
    "  if father_group:\n",
    "    #print(f\"Father_group 1: {father_group}\")\n",
    "    [af,bf,xf,yf,rf] = extract_info12(father_group[0])\n",
    "    #print(f\"Info: a: {af}, b: {bf}, x: {xf}, y: {yf}, r: {rf}\")\n",
    "    father_center = [xf,yf]\n",
    "    return father_center\n",
    "  else:\n",
    "   return \"\"\n",
    "\n",
    "\n",
    "\n",
    "def node_info_generator12(father_center, counter,  occupied_squares_set, max_node_radius):\n",
    "  \"\"\"For each node, info is generated on the model\n",
    "     Node_26[a=1,b=-1,x=3,y=5,r=0.85]\n",
    "     by replacing n by the info of a node whose values are generated at random\n",
    "     but the index of the tag is a counter with the iterative process.\n",
    "      \"\"\"\n",
    "  #print(\"node_info_generator12(father_center, counter,  occupied_squares_set)\")\n",
    "  coordinates_neighbors = get_neighboring_coordinates12(father_center)\n",
    "  #print(f\"coordinates_neighbors: {coordinates_neighbors}\")\n",
    "  #print(f\"occupied_squares_set: {occupied_squares_set}\")\n",
    "  # First, filter for unoccupied grid squares within this tree\n",
    "  available_square_neighbors = [coord for coord in coordinates_neighbors if coord not in occupied_squares_set]\n",
    "  info = \"\" # future info of a node that represents a cell\n",
    "  if available_square_neighbors:\n",
    "    # Choose a random valid candidate\n",
    "    nx,  ny  = random.choice(available_square_neighbors)\n",
    "    na = nx - father_center[0]\n",
    "    nb = ny - father_center[1]\n",
    "    nr = random.uniform(0.5, max_node_radius)\n",
    "    nr = round(nr, 2)\n",
    "    info = \"Node\" +  str(counter)  + \"[\" + \"a=\" + str(na) + \",\" + \"b=\" + str(nb) + \",\"  +   \"x=\" + str(nx) + \",\" + \"y=\" + str(ny) + \",\" + \"r=\" + str(nr)+ \"]\"\n",
    "    info = \"()\"+ info\n",
    "    #print(f\"Generated Node info: {info}\")\n",
    "    occupied_squares_set.add((nx, ny))\n",
    "\n",
    "  else:\n",
    "    #All neighboring places are occupied\n",
    "    #print(\"All neighboring places are occupied\")\n",
    "    info = \"\"\n",
    "  return info, occupied_squares_set\n",
    "\n",
    "\n",
    "def generate_children12(father_center, numb_children, counter, occupied_squares_set, max_node_radius):\n",
    "  \"\"\" Generate children in the pattern of a Newick Tree.\n",
    "      Output in the form\n",
    "      n,n,n,n \"\"\"\n",
    "  #print(\"generate_children(max_numb_children)\")\n",
    "  #print(f\"Number of children: {numb_children}\")\n",
    "  s = \"\"\n",
    "  for i in range(numb_children):\n",
    "    if i == 0:\n",
    "      a = \"\"\n",
    "    else:\n",
    "      a = \",\"\n",
    "    info, occupied_squares_set = node_info_generator12(father_center, counter, occupied_squares_set, max_node_radius)\n",
    "    if not info:\n",
    "      continue\n",
    "    else:\n",
    "     s = info + a + s\n",
    "     counter = counter + 1\n",
    "  s =  \"(\" + s + \")\"\n",
    "  #print(f\"Children: {s}\")\n",
    "  return s, counter, occupied_squares_set\n",
    "\n",
    "\n",
    "def complete_tree_generator12(max_depth, max_numb_children, max_node_radius):\n",
    "  \"\"\" A tree is generated step by step\n",
    "   taking care of generating no child where there is no place for it.\"\"\"\n",
    "  #print(\"complete_tree_generator12(...)\")\n",
    "  occupied_squares_set = set() # Initialize a new set for this tree's square coordinates\n",
    "  actual_depth = random.randint(0, max_depth) # Number of allowed divisions along each branch.\n",
    "  #print(f\"Actual depth: {actual_depth}\")\n",
    "  # () is used as a marker for insertion. \n",
    "  tree = \"()Node_0[a=0,b=0,x=0,y=0,r=1]\"\n",
    "  occupied_squares_set.add((0,0))\n",
    "  #counter of defined nodes\n",
    "  counter = 1\n",
    "  for i in range(actual_depth):\n",
    "      #print(f\"depth: {i}\")\n",
    "      l = len(tree)\n",
    "      #print(f\"i : {i} l: {l}\")\n",
    "      # String s is scanned starting from the end\n",
    "      for j in range(l-1, 0, -1):\n",
    "        #print(f\"s: {s}\")\n",
    "        #print(f\"s[j-1] s[j]  :  {s[j-1]}{s[j]}\")\n",
    "        # Replace () by a list of children\n",
    "        if tree[j-1] == \"(\" and tree[j] == \")\":\n",
    "          father_center = find_father_center12(tree, j)\n",
    "          #print(f\"Father center: {father_center}\")\n",
    "          if not father_center:\n",
    "            continue\n",
    "          numb_children = random.randint(0, max_numb_children)\n",
    "          if numb_children == 0:\n",
    "            continue\n",
    "          else:\n",
    "            # Replacement\n",
    "            generated_children, counter, occupied_squares_set = generate_children12(father_center, numb_children, counter, occupied_squares_set, max_node_radius)\n",
    "            tree = replace_str_subsequence12(tree, j-1, j+1, generated_children)\n",
    "          #print(f\"{i} {j} Tree: {tree}\")\n",
    "  #print(f\"crude tree: {tree}\")\n",
    "  tree = tree.replace(\"()\", \"\")\n",
    "  #print(f\"final tree: {tree}\")\n",
    "  return tree\n",
    "\n",
    "# === VALIDATOR ====\n",
    "\n",
    "\n",
    "# Program validator_for_newick_morpho_trees.py\n",
    "# The task is to decide whether a Newick string encodes for a morpho tree.\n",
    "# To solve the task,\n",
    "# we simply go backwards over the procedure of creation of Newick strings.\n",
    "# The program has two sections.\n",
    "# In the first,\n",
    "# the string in divided in tokens, substrings of predefined content,\n",
    "# and all groups that fit into the pattern\n",
    "# info = NodeB_3_x_2[a=2,b=2,r=3] are detected.\n",
    "# Each found group undergoes a detailed test for correctness.\n",
    "# If some group is wrong, the whole string is rejected.\n",
    "# If all are correct, the test continues further on.\n",
    "# In the second section,\n",
    "# each info is replaced by \"n\",\n",
    "# then, each \"n\" is replaced by\"\"\n",
    "# then each \"()\" is replaced by \"\".\n",
    "# If a formula is correct,\n",
    "# the final product of this algorithm is the void sting \"\",\n",
    "# and its length is zero.\n",
    "# Connectivity issues are not checked.\n",
    "\n",
    "# A bug in the drawing procedure has been corrected, and the drawing of trees is now correct.\n",
    "# The bug was related to the function that finds the father of a node.\n",
    "\n",
    "# With the help of Gemini, Google and the AI of Visual Studio Code.\n",
    "\n",
    "\n",
    "\n",
    "# --- TOKENIZER FOR NEWICK STRINGS ---\n",
    "# --- Elements to create well-formed Newick info-s of Morpho_trees.---\n",
    "# --- Every info is modeled on the pattern\n",
    "# --- NodeB_3_x_2[a=1,b=0,x=4,y=5,r=1.2]\n",
    "# --- where a nad b are -1,0,1 except (0,0)\n",
    "# --- because they represent a step awya from the father.\n",
    "# --- If a substring fits into this pattern,\n",
    "# --- it must produce the sequence 73756275627564.\n",
    "# --- Say, each info begins with a noun = letters, number 7,\n",
    "# --- and ends with a right bracket number 4.\n",
    "# --- Assigned numbers are at the right of comments.\n",
    "# --- By Gemini\n",
    "TOKEN_SPECIFICATION_NEWICK = [\n",
    "    ('LPAREN',    r'\\('),          # Left Parenthesis, 0\n",
    "    ('RPAREN',    r'\\)'),          # Right Parenthesis, 1\n",
    "    ('COMMA',     r','),           # Comma separator for children, 2\n",
    "    ('LBRACKET',  r'\\['),          # Left Bracket for metadata, 3\n",
    "    ('RBRACKET',  r'\\]'),          # Right Bracket for metadata, 4\n",
    "    ('EQUALS',    r'='),           # Equals sign in metadata, 5\n",
    "    ('NUMBER',    r'-?\\d+(?:\\.\\d+)?'), # Numbers (integers or floats, possibly negative), 6\n",
    "    ('LETTERS',   r'[a-zA-Z_0-9]+'), # Node labels (e.g., 'Node0', 'Target_Root_26'), or variables (x, y, r), 7\n",
    "    ('SEMICOLON', r';'),           # Optional semicolon at end of Newick string, 8\n",
    "    ('SKIP',      r'[ \\t\\n]+'),  # Skip spaces, tabs, newlines, 9\n",
    "    ('MISMATCH',  r'.'),           # Any other illegal character, *\n",
    "]\n",
    "\n",
    "def tokenize_newick12(newick_str):\n",
    "    \"\"\"Converts a Newick string into a list of (token_type, value) tuples.\"\"\"\n",
    "    #print(\"\\ntokenize_newick\")\n",
    "    tokens = []\n",
    "    tok_regex = '|'.join(f'(?P<{name}>{pattern})' for name, pattern in TOKEN_SPECIFICATION_NEWICK)\n",
    "    tokens = []\n",
    "    for mo in re.finditer(tok_regex, newick_str):\n",
    "        kind = mo.lastgroup\n",
    "        value = mo.group()\n",
    "        if kind == 'SKIP':\n",
    "            continue\n",
    "        elif kind == 'MISMATCH':\n",
    "            raise SyntaxError(f\"Newick Grammar Violation: Illegal character '{value}' in '{newick_str}'\")\n",
    "        tokens.append((kind, value))\n",
    "    return tokens\n",
    "\n",
    "# --- VALIDATOR FOR INFO SUBSTRINGS THAT MUST FIT INTO THE PATTERN ---\n",
    "# --- info = NodeB_3_x_2[a=1,b=-1,x=2,y=4,r=3.2], 22 tokens\n",
    "def examine_subsequence12(tokens, j):\n",
    "    #print(\"\\nexamine_subsequence\")\n",
    "    # Every info must begin with a letter, whose index is 7.\n",
    "    tracker = [\"LETTERS\"]\n",
    "    tracker2 = \"7\"\n",
    "    if tokens[j + 1][0] == 'LBRACKET':\n",
    "        tracker.append('LBRACKET')\n",
    "        tracker2 += \"3\"\n",
    "    if tokens[j + 2][0] == 'LETTERS':\n",
    "        tracker.append('LETTERS')\n",
    "        tracker2 += \"7\"\n",
    "    if tokens[j + 3][0] == 'EQUALS':\n",
    "        tracker.append('EQUALS')\n",
    "        tracker2 += \"5\"\n",
    "    if tokens[j + 4][0] == 'NUMBER':\n",
    "        tracker.append('NUMBER')\n",
    "        tracker2 += \"6\"\n",
    "    if tokens[j + 5][0] == 'COMMA':\n",
    "        tracker.append('COMMA')\n",
    "        tracker2 += \"2\"\n",
    "    if tokens[j + 6][0] == 'LETTERS':\n",
    "        tracker.append('LETTERS')\n",
    "        tracker2 += \"7\"\n",
    "    if tokens[j + 7][0] == 'EQUALS':\n",
    "        tracker.append('EQUALS')\n",
    "        tracker2 += \"5\"\n",
    "    if tokens[j + 8][0] == 'NUMBER':\n",
    "        tracker.append('NUMBER')\n",
    "        tracker2 += \"6\"\n",
    "    if tokens[j + 9][0] == 'COMMA':\n",
    "        tracker.append('COMMA')\n",
    "        tracker2 += \"2\"\n",
    "    if tokens[j + 10][0] == 'LETTERS':\n",
    "        tracker.append('LETTERS')\n",
    "        tracker2 += \"7\"\n",
    "    if tokens[j + 11][0] == 'EQUALS':\n",
    "        tracker.append('EQUALS')\n",
    "        tracker2 += \"5\"\n",
    "    if tokens[j + 12][0] == 'NUMBER':\n",
    "        tracker.append('NUMBER')\n",
    "        tracker2 += \"6\"\n",
    "    if tokens[j + 13][0] == 'COMMA':\n",
    "        tracker.append('COMMA')\n",
    "        tracker2 += \"2\"\n",
    "    if tokens[j + 14][0] == 'LETTERS':\n",
    "        tracker.append('LETTERS')\n",
    "        tracker2 += \"7\"\n",
    "    if tokens[j + 15][0] == 'EQUALS':\n",
    "        tracker.append('EQUALS')\n",
    "        tracker2 += \"5\"\n",
    "    if tokens[j + 16][0] == 'NUMBER':\n",
    "        tracker.append('NUMBER')\n",
    "        tracker2 += \"6\"\n",
    "    if tokens[j + 17][0] == 'COMMA':\n",
    "        tracker.append('COMMA')\n",
    "        tracker2 += \"2\"\n",
    "    if tokens[j + 18][0] == 'LETTERS':\n",
    "        tracker.append('LETTERS')\n",
    "        tracker2 += \"7\"\n",
    "    if tokens[j + 19][0] == 'EQUALS':\n",
    "        tracker.append('EQUALS')\n",
    "        tracker2 += \"5\"\n",
    "    if tokens[j + 20][0] == 'NUMBER':\n",
    "        tracker.append('NUMBER')\n",
    "        tracker2 += \"6\"\n",
    "    if tokens[j + 21][0] == 'RBRACKET':\n",
    "        tracker.append('RBRACKET')\n",
    "        tracker2 += \"4\"\n",
    "    #print(f\"Tokens: {tracker}\")\n",
    "    #print(f\"tracker2: {tracker2}\")\n",
    "    master_pattern = \"7375627562756275627564\"\n",
    "                     # 7375627562756275627564\n",
    "    #print(f\"master pattern:  {master_pattern}\")\n",
    "    if tracker2 == master_pattern:\n",
    "        return True, \"Valid Newick sub-string.\"\n",
    "    else:\n",
    "        return False, \"Invalid Newick sub-string.\"\n",
    "\n",
    "\n",
    "def simplify12(text):\n",
    "    # Assuming that all infos of a string have been declared correct,\n",
    "    # the string is further tested for the balance of parentheses.\n",
    "    # print(\"\\nsimplify(text)\")\n",
    "    # print(f\"text: {text}\")\n",
    "    # Detect a pattern on the model  info = NodeB_3_x_2[a=2,b=2,x=3,y=7,r=2.3]\n",
    "    #info_words = r'[\\a-zA-Z_0-9_[_=_,\\] ]+'\n",
    "    #info_words = r'[a-zA-Z_][a-zA-Z_0-9_]*\\[x=-?[0-9]+(?:\\.[0-9]+)?,y=-?[0-9]+(?:\\.[0-9]+)?,r=-?[0-9]+(?:\\.[0-9]+)?\\]$'\n",
    "    info_words =  r'[a-zA-Z_0-9_]*\\[a=-?[0-9]+(?:\\.[0-9]+)?,b=-?[0-9]+(?:\\.[0-9]+)?,x=-?[0-9]+(?:\\.[0-9]+)?,y=-?[0-9]+(?:\\.[0-9]+)?,r=-?[0-9]+(?:\\.[0-9]+)?\\]'\n",
    "    starts = []\n",
    "    groups = []\n",
    "    for match in re.finditer(info_words, text):\n",
    "        #print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "        #print(f\"    starts at index: {match.start()}\")\n",
    "        starts.append(match.start())\n",
    "        groups.append(match.group())\n",
    "    number_of_infos = len(starts)\n",
    "    #print(f\"number_of_infos = {number_of_infos}\")\n",
    "    #print(f\"starts of infos: {starts}\")\n",
    "    #print(f\"groups or infos: {groups}\")\n",
    "    new_s = text\n",
    "    # All infos are replaced by the dumb variable n\n",
    "    for j in range(number_of_infos - 1, -1, -1):\n",
    "        #print(f\"start_of_info[{j}]:  {starts[j]},  len(groups[{j}]): {len(groups[j])}\")\n",
    "        new_s = replace_strig_of_length12(new_s, \"n\", starts[j], len(groups[j]))\n",
    "        #print(f\"new string = '{new_s}'\")\n",
    "    # Balance of parentheses is inquired.\n",
    "    new_s = new_s.replace(\"n,\", \"\")\n",
    "    new_s = new_s.replace(\"n\", \"\")\n",
    "    #print(f\"Simplified string = {new_s} \")\n",
    "    l = len(new_s)\n",
    "    #print(f\"Length of Simplified string = {l}\")\n",
    "    for i in range(l):\n",
    "      new_s = new_s.replace(\"()\", \"\")\n",
    "    final_length = len(new_s)\n",
    "    # print(f\"Final string = {new_s}, final_length = {final_length}\")\n",
    "    if final_length == 0:\n",
    "        #print(\"Valid string at simplify\")\n",
    "        return True,  \"Valid Newick string.\"\n",
    "    else:\n",
    "        #print(\"Invalid string at simplify\")\n",
    "        return False, \"Invalid Newick string.\"\n",
    "\n",
    "\n",
    "\n",
    "def validate_newick_syntax12(newick_str):\n",
    "    \"\"\"\n",
    "    Validates if a Newick string is syntactically correct.\n",
    "    This function checks for balanced parentheses, proper comma usage for children,\n",
    "    and correct metadata format, without building a tree object.\n",
    "    \"\"\"\n",
    "    #print(\"Validating Newick syntax\")\n",
    "    tokens = []\n",
    "    try:\n",
    "        tokens = tokenize_newick12(newick_str)\n",
    "        #print(f\"newick_str: {newick_str}\")\n",
    "        #print(f\"Tokens: {tokens}\")\n",
    "    except SyntaxError as e:\n",
    "        return False, str(e)\n",
    "    if not tokens:\n",
    "        return False, \"Empty Newick string.\"\n",
    "    l = len(tokens)\n",
    "    #print(f\"Length of tokens: {l}\")\n",
    "    j = 0\n",
    "    indexes_of_tokens = []\n",
    "    if l == 1:\n",
    "        kind, value = tokens[j]\n",
    "        if kind == 'LETTERS': # NodeA\n",
    "            return True, \"Valid Newick string.\"\n",
    "        else:\n",
    "            return False, \"Invalid Newick string.\"\n",
    "    elif l == 2:\n",
    "        kind, value = tokens[j]\n",
    "        if kind == 'LETTERS' and tokens[1][0] == 'SEMICOLON': #NodeC;\n",
    "            return True, \"Valid Newick string.\"\n",
    "        else:\n",
    "            return False, \"Invalid Newick string.\"\n",
    "    elif 3 < l < 22: # No redundancy is assumed\n",
    "        return False, \"Invalid Newick string.\"\n",
    "    elif l >= 22:\n",
    "        #print(f\"Length of string: {l}\")\n",
    "        for j in range(l-20):\n",
    "            #print(f\"tokens[{j}]: {tokens[j]}\")\n",
    "            #print(f\"tokens[{j+1}]: {tokens[j+1]}\")\n",
    "            if tokens[j][0] == 'LETTERS' and tokens[j+1][0] == 'LBRACKET':\n",
    "                #print(f\"Starting index : {j}\".format(j=j))\n",
    "                indexes_of_tokens.append(j)\n",
    "                # info that starts at j is examined for correctness\n",
    "                is_valid12, message12 = examine_subsequence12(tokens, j)\n",
    "                if is_valid12:\n",
    "                    pass\n",
    "                else:\n",
    "                    return False, \"Invalid Newick string.\"\n",
    "        #print(f\"Starting indexes of tokens: {indexes_of_tokens }\")\n",
    "    is_valid12, message12 = simplify12(newick_str)\n",
    "    if is_valid12:\n",
    "        return True, \"Valid morpho-tree.\"\n",
    "    else:\n",
    "        return False, \"Invalid morpho-tree.\"\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "# Generate a sample of Newick strings that are immediately tested by a validator\n",
    "def test_validator12(max_depth, max_numb_children, max_node_radius):\n",
    "    # Specific test\n",
    "    model = \"NodeB_3_x_2[a=-1,b=0,x=-4,y=5,r=1.2]\"\n",
    "    #print(\"Simple test\")\n",
    "    #print(f\"Model of Newick String: {model}\")\n",
    "    is_valid, message = validate_newick_syntax12(model)\n",
    "    #print(f\"message: {message}\")\n",
    "    invalid_string = \"NodeB_3_x_2[a=-1,b=0,x=-4,y=5,r=1.2]]\"\n",
    "    #print(f\"\\nInvalid_string: {invalid_string}\")\n",
    "    is_valid, message = validate_newick_syntax12(invalid_string)\n",
    "    #print(f\"message: {message}\")\n",
    "    #print(\"\\n\")\n",
    "\n",
    "\n",
    "    #print(\"\\nMassive test of Newick formulas encoding for morpho-trees:\\n\" + \"=\"*47)\n",
    "    max_depth = 7\n",
    "    max_numb_children = 3\n",
    "    #print(f\"max_depth: {max_depth}\")\n",
    "    #print(f\"max_numb_children: {max_numb_children} \\n\"+ \"=\"*20)\n",
    "    for i in range(1, 100):\n",
    "        p, s = complete_tree_generator12(max_depth, max_numb_children, max_node_radius)\n",
    "        #print(f\"pattern {p}\")\n",
    "        #print(f\"Morpho-tree {i}: {s}\")\n",
    "        is_valid, message = validate_newick_syntax12(s)\n",
    "        #print(f\"is valid at main : {is_valid}, message: {message}\")\n",
    "        #status = \"✅ VALID\" if is_valid else \"❌ INVALID\"\n",
    "        #print(f\"Morpho-tree {i}:: {status} - {message}\")\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "# ======== DRAWING ================\n",
    "\n",
    "def get_illuminated_area12(x,y,r):\n",
    "    \"\"\"\n",
    "      The illuminated area enclosess all unitary squares that intersetcs the circles of illumination.\n",
    "      Each square is denoted by its left botton corner. These will be found in the set illuminated_coords.\n",
    "    \"\"\"\n",
    "    #print(\"get_illuminated_area12\")\n",
    "    #print(f\"x: {x}, y: {y}, r: {r}\")\n",
    "    illuminated_coords = set()\n",
    "\n",
    "\n",
    "    for xi,yi,ri in zip(x,y,r):\n",
    "        circle_center_x = xi + 0.5\n",
    "        circle_center_y = yi + 0.5\n",
    "        r_sq = ri ** 2\n",
    "        # 1. Add the cell containing the center of the circle\n",
    "        # This covers the case of small circles not intersecting grid lines.\n",
    "        illuminated_coords.add((math.floor(circle_center_x), math.floor(circle_center_y)))\n",
    "\n",
    "        # 2. Horizontal Scan: Check intersections with horizontal grid lines\n",
    "        # Iterate y_line from floor(cy - r) to ciel(cy + r)\n",
    "        # These y_line values represent the y-coordinates of horizontal grid lines.\n",
    "        for y_line in range(math.floor(circle_center_y - ri)-1,\n",
    "                            math.ceil(circle_center_y + ri) + 1):\n",
    "            dy = y_line - circle_center_y\n",
    "            discriminant = r_sq - dy * dy\n",
    "\n",
    "            if discriminant >= 0:\n",
    "                dx = math.sqrt(discriminant)\n",
    "                x_min_intersect = circle_center_x - dx\n",
    "                x_max_intersect = circle_center_x + dx\n",
    "\n",
    "                # For each integer x-coordinate that the horizontal segment crosses:\n",
    "                # Add the cells whose bottom-left corner's x-coordinate is in this range.\n",
    "                # This covers cells whose top edge is y_line AND cells whose bottom edge is y_line.\n",
    "                for ix in range(math.floor(x_min_intersect), math.floor(x_max_intersect) + 1):\n",
    "                    illuminated_coords.add((ix, y_line))\n",
    "                    illuminated_coords.add((ix, y_line - 1))\n",
    "\n",
    "        # 3. Vertical Scan: Check intersections with vertical grid lines\n",
    "        # Iterate x_line from floor(cx - r) to ciel(cx + r)\n",
    "        # These x_line values represent the x-coordinates of vertical grid lines.\n",
    "        for x_line in range(math.floor(circle_center_x - ri)-1,\n",
    "                            math.ceil(circle_center_x + ri) + 1):\n",
    "            dx = x_line - circle_center_x\n",
    "            discriminant = r_sq - dx * dx\n",
    "\n",
    "            if discriminant >= 0:\n",
    "                dy = math.sqrt(discriminant)\n",
    "                y_min_intersect = circle_center_y - dy\n",
    "                y_max_intersect = circle_center_y + dy\n",
    "\n",
    "                # For each integer y-coordinate that the vertical segment crosses:\n",
    "                # Add the cells whose bottom-left corner's y-coordinate is in this range.\n",
    "                # This covers cells whose right edge is x_line AND cells whose left edge is x_line.\n",
    "                for iy in range(math.floor(y_min_intersect), math.floor(y_max_intersect) + 1):\n",
    "                    # Cell (x_line, iy) - its left edge is at x_line\n",
    "                    illuminated_coords.add((x_line, iy))\n",
    "                    # Cell (x_line - 1, iy) - its right edge is at x_line\n",
    "                    illuminated_coords.add((x_line - 1, iy))\n",
    "    # print(f\"illuminated_coords  {illuminated_coords}\")\n",
    "\n",
    "    return illuminated_coords\n",
    "\n",
    "\n",
    "def plot_illuminated_area_newick12(ax, illuminated_coords, title, color='blue', alpha=0.1):\n",
    "    ax.set_aspect('equal', adjustable='box')\n",
    "    if not illuminated_coords:\n",
    "        ax.set_title(title)\n",
    "        ax.grid(True)\n",
    "        return\n",
    "\n",
    "    for x, y in illuminated_coords:\n",
    "        rect = patches.Rectangle((x, y), 1, 1, facecolor=color, alpha=alpha, edgecolor='black', linewidth=0.5)\n",
    "        ax.add_patch(rect)\n",
    "\n",
    "    min_x = min(c[0] for c in illuminated_coords) - 1\n",
    "    max_x = max(c[0] for c in illuminated_coords) + 2\n",
    "    min_y = min(c[1] for c in illuminated_coords) - 1\n",
    "    max_y = max(c[1] for c in illuminated_coords) + 2\n",
    "    #print(f\"min_x: {min_x}, max_x: {max_x}, min_y: {min_y}, max_y: {max_y}\")\n",
    "\n",
    "    ax.set_xlim(min_x, max_x)\n",
    "    ax.set_ylim(min_y, max_y)\n",
    "    ax.set_xticks(range(int(min_x), int(max_x)))\n",
    "    ax.set_yticks(range(int(min_y), int(max_y)))\n",
    "    ax.grid(True)\n",
    "    ax.set_title(title)\n",
    "\n",
    "\n",
    "\n",
    "def plot_tree_nodes_and_their_diffusion_circles12(x,y,r, ax, tree_color='lightblue', diff_color='red'):\n",
    "  for xi,yi,ri in zip(x,y,r):\n",
    "    # Plot the square representing the cell\n",
    "    rect = patches.Rectangle((xi, yi), 1, 1, facecolor=tree_color, edgecolor='black', linewidth=1, zorder=1)\n",
    "    ax.add_patch(rect)\n",
    "    #node_label_part = node.value.split('_')[-1] if '_' in node.value else node.value\n",
    "    #ax.text(xi + 0.5, yi + 0.5, node_label_part, ha='center', va='center', color='darkblue', fontsize=7, zorder=2)\n",
    "\n",
    "    # Plot the circle representing the radius of influence\n",
    "    circle = patches.Circle((xi + 0.5, yi + 0.5), ri, color='red', alpha=0.1, zorder=2)\n",
    "    ax.add_patch(circle)\n",
    "\n",
    "def find_leaves(newick_string):\n",
    "    \"\"\"Detect leaves in a Newick string.\"\"\"\n",
    "    #print(\"\\n\\nfind_leaves\")\n",
    "    #print(f\"Newick String: {newick_string}\")\n",
    "\n",
    "    # Detection of leaves.\n",
    "    # Dectect substrings of the form \"(...)\" but without interior parentheses.\n",
    "    pattern_leaves = r'[(][^()]*[)]'\n",
    "    # Leaves may come grouped by bouquets\n",
    "    bouquets_of_leaves = re.findall(pattern_leaves, newick_string )\n",
    "    #print(f\"Bouquets_of_leaves: {bouquets_of_leaves}\")\n",
    "    all_leaves = []\n",
    "    # Descipher each leaf and find the father\n",
    "    for bouquet_of_leaves in bouquets_of_leaves:\n",
    "        bouquet_of_leaves = bouquet_of_leaves[1:-1]\n",
    "        leaves = detect_all_groups12(bouquet_of_leaves)\n",
    "        for loaf in leaves:\n",
    "          loaf = loaf.replace(\" \", \"\")\n",
    "          all_leaves.append(loaf)\n",
    "    return all_leaves\n",
    "\n",
    "\n",
    "\n",
    "def connect_leaves_to_father12(newick_string, ax, tree_color='lightblue', diff_color='red'):\n",
    "    \"\"\"Draw lines connecting leaves to fathers\"\"\"\n",
    "\n",
    "    #print(\"\\n\\nconnect_leaves_to_father12\")\n",
    "    #print(f\"Newick String: {newick_string}\")\n",
    "\n",
    "    all_leaves = find_leaves(newick_string)\n",
    "    for leaf in all_leaves:\n",
    "        [al,bl,xl,yl,rl] = extract_info12(leaf)\n",
    "        #print(f\"Info: a: {al}, b: {bl}, x: {xl}, y: {yl}, r: {rl}\")\n",
    "\n",
    "        # Task: Find the father of the leaf.\n",
    "        # It is the node after the last leaf\n",
    "        # Example:\n",
    "        # (Node9[x=-11,y=19.7,r=12.4567],Node8[x=0,y=7,r=15],Node7[x=6,y=16,r=9])Node6[x=17,y=9,r=20]\n",
    "        # The father of Node9, Node8, and Node7 is Node 6.\n",
    "        # The father of a node is found after the first unbalanced right parenthesis.\n",
    "        index_nex_right_par = newick_string.find(\")\", newick_string.find(leaf))\n",
    "        father_with_tail = newick_string[index_nex_right_par+1:]\n",
    "        father_group = detect_all_groups12(father_with_tail)\n",
    "        if father_group:\n",
    "          [af,bf,xf,yf,rf]  = extract_info12(father_group[0])\n",
    "          #father_center = (xf,yf)\n",
    "          ax.plot([xl + 0.5, xf + 0.5], [yl + 0.5, yf + 0.5], 'k--', linewidth=0.8, zorder = 3)\n",
    "    # Leaves are erased: each leave is replaced by \"\"\n",
    "    for leaf in all_leaves:\n",
    "          #print(f\"leaf to be erased: {leaf}\")\n",
    "          newick_string = newick_string.replace(leaf + \",\", \"\")\n",
    "          newick_string = newick_string.replace(leaf, \"\")\n",
    "          #print(f\"Newick String without leaves: {newick_string}\")\n",
    "    newick_string = newick_string.replace(\"()\", \"\")\n",
    "    #print(f\"Newick String without leaves: {newick_string}\")\n",
    "    #is_valid, message = validate_newick_syntax12(newick_string)\n",
    "    #print(f\"is valid at connect_leaves_to_father12(...) : {is_valid}, message: {message}\")\n",
    "    #status = \"✅ VALID\" if is_valid else \"❌ INVALID\"\n",
    "    #print(f\"Is the Newick string a valid morpho-tree? : {status} - {message}\")\n",
    "    groups = detect_all_groups12(newick_string)\n",
    "    number_of_groups = len(groups)\n",
    "    return newick_string, number_of_groups\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "def draw_tree_links12(newick_string, ax,   diff_color='red' ):\n",
    "    \"\"\"Draw lines connecting children to father.\n",
    "       1. Each leaf is connected to its father,\n",
    "          and the corresponding stroke is plotted.\n",
    "       2. Leaves are erased.\n",
    "       3. New leaves are detected and connected to their father.\n",
    "       4, And so on.\n",
    "       \"\"\"\n",
    "\n",
    "    #print(\"draw_tree_links12\")\n",
    "    #print(f\"Newick String: {newick_string}\")\n",
    "    length_string = len(newick_string)\n",
    "    #print(f\"length_string: {length_string}\")\n",
    "    groups = detect_all_groups12(newick_string)\n",
    "    #print(f\"Groups: {groups}\")\n",
    "    number_of_groups = len(groups)\n",
    "    # Leaves are recursively found and connected to their father.\n",
    "    counter_of_trials = 0\n",
    "    while number_of_groups > 1:\n",
    "        #print(\"\\n\\ndraw_tree_links12\")\n",
    "        #print(f\"Newick String: {newick_string}\")\n",
    "\n",
    "        newick_string, number_of_groups = connect_leaves_to_father12(newick_string, ax, tree_color='lightblue', diff_color='red')\n",
    "        counter_of_trials = counter_of_trials + 1\n",
    "        if counter_of_trials > length_string:\n",
    "          break\n",
    "    # The root is detected and marked with a cross\n",
    "    groups = detect_all_groups12(newick_string)\n",
    "    #print(f\"Groups: {groups}\")\n",
    "    number_of_groups = len(groups)\n",
    "    #print(f\"number_of_groups = {number_of_groups}\")\n",
    "    # Mark the root with a red cross\n",
    "    if number_of_groups >= 1:\n",
    "      [a0,b0,x0,y0,r0] = extract_info12(groups[-1])\n",
    "      #print(f\"Origin: a: {a0}, b: {b0}, x: {x0}, y: {y0}, r: {r0}\")\n",
    "      ax.plot([x0, x0 +1 ], [y0+ 0.5, y0+ 0.5],   color = 'red', linewidth=0.8, zorder = 3)\n",
    "      ax.plot([x0 + 0.5, x0 +0.5], [y0, y0+ 1],   color = 'red', linewidth=0.8, zorder = 3)\n",
    "    return newick_string, number_of_groups\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "def draw_tree_newick12(newick_string, title):\n",
    "    #print(\"\\n=========== DRAWING=======\\n\")\n",
    "    #print(\"=========== DRAWING=======\\n\")\n",
    "    #print(\"=========== DRAWING=======\\n\")\n",
    "    a,b,x,y,r = extract_all_infos12(newick_string)\n",
    "    fig, ax = plt.subplots(figsize=(7, 15))\n",
    "    ax.set_aspect('equal')\n",
    "    plot_tree_nodes_and_their_diffusion_circles12(x,y,r, ax, tree_color='lightgreen', diff_color='red')\n",
    "\n",
    "    # Illuminated area is calculated\n",
    "    illuminated_coords = get_illuminated_area12(x,y,r)\n",
    "    #print(f\"Illuminated cells: {illuminated_coords}\")\n",
    "    #print(f\"Number of illuminated cells: {len(illuminated_coords)}\")\n",
    "    # Tree is drawn\n",
    "    #title = \"morpho-tree: lightgreen, illuminated circles: red, illuminated Area: lightblue\"\n",
    "    plot_illuminated_area_newick12(ax, illuminated_coords, title, color='blue', alpha=0.1)\n",
    "    # Lines that define the tree are added\n",
    "    draw_tree_links12(newick_string, ax, diff_color='red'  )\n",
    "\n",
    "    plt.tight_layout()\n",
    "    plt.show()\n",
    "    return illuminated_coords\n",
    "\n",
    "\n",
    "# Generate the  Newick string of a morpho-tree, test and draw it\n",
    "# def generate_test_and_draw_morpho_tree(target_tree_params['max_depth'], target_tree_params['max_number_children'], target_tree_params['max_node_radius'] ):\n",
    "def generate_and_test_morpho_tree12(ga_params):\n",
    "    #print(\"generate_and_test_morpho_tree( ga_params)\"\"\n",
    "\n",
    "    newick_tree = complete_tree_generator12(ga_params['max_depth'], ga_params['max_number_children'], ga_params['max_node_radius']) #line 264\n",
    "    #newick_tree = complete_tree_generator12(max_depth, max_numb_children, max_node_radius) #line 264\n",
    "    is_valid, message = validate_newick_syntax12(newick_tree)\n",
    "    illuminated_coords = set()\n",
    "    \n",
    "    if is_valid:\n",
    "        a,b,x,y,r = extract_all_infos12(newick_tree)\n",
    "        illuminated_coords = get_illuminated_area12(x,y,r)\n",
    "    else:\n",
    "      print(\"Newick string is not valid\")\n",
    "    \"\"\"\n",
    "    is_valid, message = validate_newick_syntax12(newick_tree)\n",
    "    print(f\"is the Newick String valid?: {is_valid}, message: {message}\")\n",
    "    status = \"✅ VALID\" if is_valid else \"❌ INVALID\"\n",
    "    print(f\"Is the Newick string a valid morpho-tree? : {status} - {message}\")\n",
    "    \"\"\"\n",
    "    return newick_tree, illuminated_coords\n",
    "\n",
    "\n",
    "# --- Evoluciónary functions ---\n",
    "\n",
    "def create_initial_population_newick12(pop_size=ga_params['pop_size'], max_depth=ga_params['max_depth'], max_children=ga_params['max_number_children'],  max_node_radius=ga_params['max_node_radius'] ):\n",
    "    population = []\n",
    "    for _ in range(pop_size):\n",
    "        new_tree = complete_tree_generator12(max_depth, max_children, max_node_radius)\n",
    "        population.append(new_tree)\n",
    "    return population\n",
    "\n",
    "def get_illuminated_coordinates12(newick_string):\n",
    "  \"\"\"Coordinates of illuminated cells are extracted from the Newick string\"\"\"\n",
    "  a,b,x,y,r = extract_all_infos12(newick_string)\n",
    "  # Illuminated area is calculated\n",
    "  illuminated_coords = get_illuminated_area12(x,y,r)\n",
    "  ##print(f\"Illuminated cells: {illuminated_coords}\")\n",
    "  ##print(f\"Number of illuminated cells: {len(illuminated_coords)}\")\n",
    "  return illuminated_coords\n",
    "\n",
    "def calculate_fitness_illumination12(candidate_tree_root, target_illuminated_area):\n",
    "    \"\"\"\n",
    "    Calculates fitness based on the symmetric difference between illuminated areas.\n",
    "    Fitness is 1.0 for a perfect match, and decreases as symmetric difference increases.\n",
    "    Reuse of a previous code by Gemini 2.5 Flash\n",
    "    \"\"\"\n",
    "    if candidate_tree_root is None:\n",
    "        # If the tree generation failed, assign a very low fitness\n",
    "        return 0.0001 # A small non-zero value to avoid division by zero issues later\n",
    "\n",
    "    candidate_illuminated_area = get_illuminated_coordinates12(candidate_tree_root)\n",
    "\n",
    "    # Symmetric difference: (A U B) - (A intersect B)\n",
    "    # Or, the elements in A but not B, plus elements in B but not A.\n",
    "    symmetric_difference = candidate_illuminated_area.symmetric_difference(target_illuminated_area)\n",
    "\n",
    "    # Union size: used for normalization\n",
    "    union_size = len(candidate_illuminated_area.union(target_illuminated_area))\n",
    "\n",
    "    if union_size == 0:\n",
    "        if not target_illuminated_area and not candidate_illuminated_area:\n",
    "            return 1.0 # Perfect match if both are empty\n",
    "        else:\n",
    "            return 0.0001 # Should not happen if target is non-empty, but handles cases where both are empty but expected non-empty\n",
    "\n",
    "    # Fitness is 1.0 - (len(symmetric_difference) / union_size)\n",
    "    # This gives 1.0 for a perfect match (symmetric_difference_area = 0)\n",
    "    # and approaches 0.0 for large differences.\n",
    "    fitness = 1.0 - (len(symmetric_difference) / union_size)\n",
    "    return max(0.0001, fitness) # Ensure fitness is always positive\n",
    "\n",
    "\n",
    "def select_parents_newick(population, fitness_scores, num_parents):\n",
    "    parents = []\n",
    "    # Use roulette wheel selection or tournament selection. Tournament is generally robust.\n",
    "    for _ in range(num_parents):\n",
    "        tournament_size = min(5, len(population))\n",
    "        if tournament_size == 0:\n",
    "            break\n",
    "        tournament_candidates = random.sample(list(zip(population, fitness_scores)), tournament_size)\n",
    "        winner = max(tournament_candidates, key=lambda x: x[1])[0]\n",
    "        parents.append(winner)\n",
    "    return parents\n",
    "\n",
    "def find_recombinant_branch12(newick_string):\n",
    "  # A full functional branch is recognized because it is enclosed by ()\n",
    "  # and everything inside is full functional.\n",
    "  # We simply keep an accounting of parentheses pairing\n",
    "  #print(\"\\nfind_branch\")\n",
    "  #print(f\"newick_string: {newick_string}\")\n",
    "  pattern_left_par = r'[(]'\n",
    "  starts = []\n",
    "  groups = []\n",
    "  for match in re.finditer(pattern_left_par, newick_string):\n",
    "      #print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "      starts.append(match.start())\n",
    "      groups.append(match.group())\n",
    "  number_of_infos = len(starts)\n",
    "  #print(f\"number_of_infos = {number_of_infos}\")\n",
    "  #print(f\"starts: {starts}\")\n",
    "  #print(f\"groups: {groups}\")\n",
    "  if number_of_infos == 0: # The root is alone\n",
    "    return newick_string\n",
    "  # Select a start index at random\n",
    "  start_idx = random.randint(0, number_of_infos-1)\n",
    "  #print(f\"selected start_idx: {start_idx}\")\n",
    "  start_idx = starts[start_idx]\n",
    "  #print(f\"start_idx: {start_idx}\")\n",
    "  tail = newick_string[start_idx:]\n",
    "  #print(f\"tail: {tail}\")\n",
    "  # Balance accounting\n",
    "  counter_of_pars = 0\n",
    "  for i in range(len(tail)):\n",
    "    if tail[i] == \"(\":\n",
    "      counter_of_pars = counter_of_pars + 1\n",
    "    if tail[i] == \")\":\n",
    "      counter_of_pars = counter_of_pars - 1\n",
    "    if counter_of_pars == 0:\n",
    "      branch = tail[: i+1]\n",
    "      #print(f\"Functional branch: {branch}\")\n",
    "      break\n",
    "  return branch\n",
    "\n",
    "\n",
    "def newick_position_branch_recombination12(newick_string1, newick_string2):\n",
    "  \"\"\" Recombination of full functional branches\"\"\"\n",
    "  #print(\"\\nnewick_position_branch_recombination12\")\n",
    "  #print(f\"newick_string1: {newick_string1}\")\n",
    "  #print(f\"newick_string2: {newick_string2}\")\n",
    "  branch1 = find_recombinant_branch12(newick_string1)\n",
    "  branch2 = find_recombinant_branch12(newick_string2)\n",
    "  #print(f\"\\nbranch1: {branch1}\")\n",
    "  #print(f\"branch2: {branch2}\")\n",
    "  # Branches are interchanged\n",
    "  newick_string1 = newick_string1.replace(branch1, branch2)\n",
    "  newick_string2 = newick_string2.replace(branch2, branch1)\n",
    "  return newick_string1, newick_string2\n",
    "\n",
    "def newick_leaves_recombination12(newick_string1, newick_string2):\n",
    "  \"\"\" Recombination of full functional branches\"\"\"\n",
    "  #print(\"\\nnewick_leaves_recombination12\")\n",
    "  #print(f\"newick_string1: {newick_string1}\")\n",
    "  #print(f\"newick_string2: {newick_string2}\")\n",
    "  leaves1 = find_leaves(newick_string1)\n",
    "  leaves2 = find_leaves(newick_string2)\n",
    "  if not leaves1 or not leaves2:\n",
    "    return newick_string1, newick_string2\n",
    "  # Select a leaf at random from each tree\n",
    "  leaf1 = random.choice(leaves1)\n",
    "  leaf2 = random.choice(leaves2)\n",
    "  #print(f\"\\nleaf1: {leaf1}\")\n",
    "  #print(f\"leaf2: {leaf2}\")\n",
    "  # Leaves are interchanged\n",
    "  newick_string1 = newick_string1.replace(leaf1, leaf2)\n",
    "  newick_string2 = newick_string2.replace(leaf2, leaf1)\n",
    "  return newick_string1, newick_string2\n",
    "\n",
    "\n",
    "def find_occupied_squares12(newick_string):\n",
    "    \"\"\"Detects all the occupied squares in a tree\"\"\"\n",
    "    occupied_squares_set = set()\n",
    "    groups = detect_all_groups12(newick_string)\n",
    "    for group in groups:\n",
    "        [a,b,x,y,r] = extract_info12(group)\n",
    "        occupied_squares_set.add((x, y))\n",
    "    return occupied_squares_set\n",
    "\n",
    "def newick_mutation_of_radius12(newick_string):\n",
    "  # The pattern of the radius of illumination, r = 0.2\n",
    "  pattern_r = r'r=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  starts = []\n",
    "  groups = []\n",
    "  for match in re.finditer(pattern_r, newick_string):\n",
    "      #print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "      starts.append(match.start())\n",
    "      groups.append(match.group())\n",
    "  number_of_infos = len(starts)\n",
    "  #print(f\"number_of_infos = {number_of_infos}\")\n",
    "  #print(f\"starts: {starts}\")\n",
    "  #print(f\"groups: {groups}\")\n",
    "  # Select a start index at random\n",
    "  start_idx = random.randint(0, number_of_infos-1)\n",
    "  #print(f\"selected start_idx: {start_idx}\")\n",
    "  l = len(groups[start_idx])\n",
    "  #print(f\"l: {l}\")\n",
    "  # Select a new radius\n",
    "  new_radius = random.uniform(0.5, 2)\n",
    "  #print(f\"new_radius: {new_radius}\")\n",
    "\n",
    "  new_info = \"r=\" + str(new_radius)\n",
    "  #print(f\"new_info: {new_info}\")\n",
    "  # Replace the info\n",
    "  mutated_newick_string = replace_str_subsequence12(newick_string, starts[start_idx], starts[start_idx] + l, new_info)\n",
    "  #print(f\"newick_string: {newick_string}\")\n",
    "  return mutated_newick_string\n",
    "\n",
    " \n",
    "def newick_find_insertion_patterns12(newick_string):\n",
    "  \"\"\" All insertion patterns are found and one is chosen at random\"\"\"\n",
    "  # The pattern of groups on the image of\n",
    "  # Node4[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07]\n",
    "  insertion_pattern = r'[]][])]'\n",
    "  starts = []\n",
    "  groups = []\n",
    "  for match in re.finditer(insertion_pattern, newick_string):\n",
    "      #print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "      starts.append(match.start())\n",
    "      groups.append(match.group())\n",
    "  number_of_patterns = len(starts)\n",
    "  #print(f\"starts: {starts}\")\n",
    "  #print(f\"groups: {groups}\")\n",
    "  start_idx = 0\n",
    "  if groups:\n",
    "    # Select a start index at random\n",
    "    start_idx = random.randint(0, number_of_patterns-1)\n",
    "    group = groups[start_idx]\n",
    "    start = starts[start_idx]\n",
    "    #print(f\"group: {group}\")\n",
    "    #print(f\"start: {start}\")\n",
    "  else:\n",
    "    group = \"\"\n",
    "    start = 0\n",
    "  return group, start\n",
    " \n",
    "\n",
    "def insertion_of_branch12(newick_string):\n",
    "  #original_newick_string = newick_string\n",
    "  # The pattern of groups on the image of\n",
    "  # Node4[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07]\n",
    "  # A group together its start site are elected\n",
    "  group, start =  newick_find_insertion_patterns12(newick_string)\n",
    "  # String to be inserted\n",
    "  # child_string = \"(Node15[a=-1.0,b=0.0,x=-2.0,y=-1.0,r=0.83],Node14[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07])Node1[a=-1.0,b=-1.0,x=-1.0,y=-1.0,r=0.95]\"\n",
    "  child_string = complete_tree_generator12(max_depth = 2, max_numb_children = 2, max_node_radius= 1.5)\n",
    "  if group:\n",
    "    #print(f\"Group (main): {group}\")\n",
    "    #print(f\"Start (main): {start}\")\n",
    "    # Does the group have children?\n",
    "    #char_before = newick_string[start-1]\n",
    "    #print(f\"char_before: {char_before}\")\n",
    "\n",
    "    newick_string = newick_string.replace(\"])\", \"],\" + child_string + \")\")\n",
    "  else:\n",
    "    # a tree is given as a child to the root\n",
    "    newick_string = \"(\" + child_string + \")\" + newick_string\n",
    "  # Cosmetics\n",
    "  #newick_string = newick_string.replace(\",,\", \",\")\n",
    "\n",
    "  # Comparison\n",
    "  #print(f\"Original Newick string: {original_newick_string}\")\n",
    "  #print(f\"Final Newick_string: {newick_string}\")\n",
    "  return newick_string\n",
    "\n",
    "def select_one_insertion_pattern_left_parenthesis_12(newick_string, counter, max_illumination_radius):\n",
    "  \"\"\" All insertion patterns (N  are found and one is chosen at random\n",
    "      The new info will be inserted to the right of the parenthesis\"\"\"\n",
    "  # The pattern of groups on the image of\n",
    "  # Node4[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07]\n",
    "  insertion_pattern = r'[(][N]'\n",
    "  starts = []\n",
    "  groups = []\n",
    "  for match in re.finditer(insertion_pattern, newick_string):\n",
    "      #print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "      starts.append(match.start())\n",
    "      groups.append(match.group())\n",
    "  number_of_patterns = len(starts)\n",
    "  #print(f\"starts: {starts}\")\n",
    "  #print(f\"groups: {groups}\")\n",
    "  start_idx = 0\n",
    "  if groups:\n",
    "    # Select a start index at random\n",
    "    start_idx = random.randint(0, number_of_patterns-1)\n",
    "    group = groups[start_idx]\n",
    "    start = starts[start_idx]\n",
    "    #print(f\"group: {group}\")\n",
    "    #print(f\"start: {start}\")\n",
    "  else:\n",
    "    group = \"\"\n",
    "    start = 0\n",
    "  #print(f\"Group120: {group}\")\n",
    "  # String to be inserted\n",
    "  father_center = find_father_center12(newick_string, start)\n",
    "  #print(f\"Father center: {father_center}\")\n",
    "  occupied_squares_set = find_occupied_squares12(newick_string)\n",
    "  info, occupied_squares_set = node_info_generator12(father_center, counter,  occupied_squares_set, max_illumination_radius)\n",
    "  info = info.replace(\"()\", \"\")\n",
    "  child_string = info \n",
    "  if group:\n",
    "      #print(f\"Group (main): {group}\")\n",
    "      #print(f\"Start (main): {start}\")\n",
    "      # The child string is inserted between ] and ) at place start\n",
    "      #print(f\"Child string: {child_string}\")\n",
    "      #print(f\"Newick string before insertion_point: {newick_string[:start+1]}\")\n",
    "      #print(f\"Newick string after insertion_point: {newick_string[start+2:]}\")\n",
    "      newick_string = newick_string[:start+1] + \"(\" + child_string +  \")\" + newick_string[start+1:]\n",
    "      #print(f\"Newick string after insertion****: {newick_string}\")\n",
    "  else:\n",
    "      # a node in the info is given as a child to the root\n",
    "      newick_string = \"(\" + child_string + \")\" + newick_string\n",
    "    # Cosmetics\n",
    "    #newick_string = newick_string.replace(\",,\", \",\")\n",
    "  \n",
    "    # Comparison\n",
    "    #print(f\"Original Newick string: {original_newick_string}\")\n",
    "    #print(f\"Final Newick_string: {newick_string}\")\n",
    "  return newick_string\n",
    "\n",
    " \n",
    "def select_one_insertion_pattern_comma_12(newick_string, counter, max_illumination_radius):\n",
    "  \"\"\" All  commas are found and one is chosen at random,\n",
    "  the child will be inserted after the comma\"\"\"\n",
    "  # The pattern of groups on the image of\n",
    "  # Node4[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07]\n",
    "  insertion_pattern = r'[]][,]'\n",
    "  starts = []\n",
    "  groups = []\n",
    "  for match in re.finditer(insertion_pattern, newick_string):\n",
    "      #print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "      starts.append(match.start())\n",
    "      groups.append(match.group())\n",
    "  number_of_patterns = len(starts)\n",
    "  #print(f\"starts: {starts}\")\n",
    "  #print(f\"groups: {groups}\")\n",
    "  start_idx = 0\n",
    "  if groups:\n",
    "    # Select a start index at random\n",
    "    start_idx = random.randint(0, number_of_patterns-1)\n",
    "    group = groups[start_idx]\n",
    "    start = starts[start_idx]\n",
    "    #print(f\"group: {group}\")\n",
    "    #print(f\"start: {start}\")\n",
    "  else:\n",
    "    group = \"\"\n",
    "    start = 0\n",
    "  #print(f\"Group120: {group}\")\n",
    "  # String to be inserted\n",
    "  father_center = find_father_center12(newick_string, start)\n",
    "  #print(f\"Father center: {father_center}\")\n",
    "  occupied_squares_set = find_occupied_squares12(newick_string)\n",
    "  info, occupied_squares_set = node_info_generator12(father_center, counter,  occupied_squares_set, max_illumination_radius)\n",
    "  info = info.replace(\"()\", \"\")\n",
    "  child_string = info \n",
    "  \n",
    "  if group:\n",
    "      #print(f\"Group (main): {group}\")\n",
    "      #print(f\"Start (main): {start}\")\n",
    "      # The child string is inserted between ] and ) at place start\n",
    "      #print(f\"Child string: {child_string}\")\n",
    "      #print(f\"Newick string before insertion_point: {newick_string[:start+1]}\")\n",
    "      #print(f\"Newick string after insertion_point: {newick_string[start+2:]}\")\n",
    "      newick_string = newick_string[:start+2] + \"(\" + child_string + \")\" + newick_string[start+2:]\n",
    "      #print(f\"Newick string after insertion****: {newick_string}\")\n",
    "  else:\n",
    "      # a node in the info is given as a child to the root\n",
    "      newick_string = \"(\" + child_string + \")\" + newick_string\n",
    "    # Cosmetics\n",
    "    #newick_string = newick_string.replace(\",,\", \",\")\n",
    "  \n",
    "    # Comparison\n",
    "    #print(f\"Original Newick string: {original_newick_string}\")\n",
    "    #print(f\"Final Newick_string: {newick_string}\")\n",
    "  return newick_string\n",
    "\n",
    "def select_one_insertion_pattern_parentheses_12(newick_string, counter, max_illumination_radius):\n",
    "  \"\"\" All insertion patterns ]) are found and one is chosen at random\n",
    "      The new info will be inserted between ] and ) as a brother\"\"\"\n",
    "  # The pattern of groups on the image of\n",
    "  # Node4[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07]\n",
    "  insertion_pattern = r'[]][)]'\n",
    "  starts = []\n",
    "  groups = []\n",
    "  for match in re.finditer(insertion_pattern, newick_string):\n",
    "      #print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "      starts.append(match.start())\n",
    "      groups.append(match.group())\n",
    "  number_of_patterns = len(starts)\n",
    "  #print(f\"starts: {starts}\")\n",
    "  #print(f\"groups: {groups}\")\n",
    "  start_idx = 0\n",
    "  if groups:\n",
    "    # Select a start index at random\n",
    "    start_idx = random.randint(0, number_of_patterns-1)\n",
    "    group = groups[start_idx]\n",
    "    start = starts[start_idx]\n",
    "    #print(f\"group: {group}\")\n",
    "    #print(f\"start: {start}\")\n",
    "  else:\n",
    "    group = \"\"\n",
    "    start = 0\n",
    "  #print(f\"Group120: {group}\")\n",
    "  # String to be inserted\n",
    "  father_center = find_father_center12(newick_string, start)\n",
    "  #print(f\"Father center: {father_center}\")\n",
    "  occupied_squares_set = find_occupied_squares12(newick_string)\n",
    "  info, occupied_squares_set = node_info_generator12(father_center, counter,  occupied_squares_set, max_illumination_radius)\n",
    "  info = info.replace(\"()\", \"\")\n",
    "  child_string = info \n",
    "  if group:\n",
    "      #print(f\"Group (main): {group}\")\n",
    "      #print(f\"Start (main): {start}\")\n",
    "      # The child string is inserted between ] and ) at place start\n",
    "      #print(f\"Child string: {child_string}\")\n",
    "      #print(f\"Newick string before insertion_point: {newick_string[:start+1]}\")\n",
    "      #print(f\"Newick string after insertion_point: {newick_string[start+2:]}\")\n",
    "      newick_string = newick_string[:start+1] + \",\" + child_string + newick_string[start+1:]\n",
    "      #print(f\"Newick string after insertion****: {newick_string}\")\n",
    "  else:\n",
    "      # a node in the info is given as a child to the root\n",
    "      newick_string = \"(\" + child_string + \")\" + newick_string\n",
    "    # Cosmetics\n",
    "    #newick_string = newick_string.replace(\",,\", \",\")\n",
    "  \n",
    "    # Comparison\n",
    "    #print(f\"Original Newick string: {original_newick_string}\")\n",
    "    #print(f\"Final Newick_string: {newick_string}\")\n",
    "  return newick_string\n",
    "\n",
    " \n",
    "\n",
    "\n",
    "def insertion_of_leaf12(newick_string, counter, max_illumination_radius):    #original_newick_string = newick_string\n",
    "    \"\"\" All insertion patterns are found and one is chosen at random\n",
    "        for the new info to be inserted \"\"\"\n",
    "    case = random.choice([1, 2, 3])  # Randomly choose between three insertion methods\n",
    "    match case:\n",
    "        case 1:\n",
    "            newick_string = select_one_insertion_pattern_comma_12(newick_string, counter, max_illumination_radius)\n",
    "        case 2:\n",
    "            newick_string = select_one_insertion_pattern_parentheses_12(newick_string, counter, max_illumination_radius)\n",
    "        case 3:\n",
    "            newick_string = select_one_insertion_pattern_left_parenthesis_12(newick_string, counter, max_illumination_radius)\n",
    "    newick_string = newick_string.replace(\",,\", \",\")\n",
    "    newick_string = newick_string.replace(\",)\", \")\")\n",
    "    newick_string = newick_string.replace(\"(,\", \"(\")\n",
    "    newick_string = newick_string.replace(\" \", \"\")\n",
    "    newick_string = newick_string.replace(\"()\", \"\")\n",
    "    return newick_string\n",
    "\n",
    "\n",
    "\n",
    "def deletion_of_leaf12(newick_string):\n",
    "    \"\"\"A leaf is deleted at random from the Newick string. \n",
    "        If there are no leaves, the original string is returned.\"\"\"\n",
    "    # All leaves are detected\n",
    "    leaves = find_leaves(newick_string)\n",
    "    if not leaves:\n",
    "        return newick_string  # No leaves to delete\n",
    "    # Select a leaf at random\n",
    "    leaf_to_delete = random.choice(leaves)\n",
    "    # Remove the selected leaf from the Newick string\n",
    "    newick_string = newick_string.replace(leaf_to_delete, \"\")\n",
    "    # Clean up any potential formatting issues (like double commas)\n",
    "    newick_string = newick_string.replace(\",,\", \",\")\n",
    "    newick_string = newick_string.replace(\",)\", \")\")\n",
    "    newick_string = newick_string.replace(\"(,\", \"(\")\n",
    "    return newick_string\n",
    "\n",
    "def find_branch12(newick_string, final_index):\n",
    "  initial_segment = newick_string[:final_index]\n",
    "  #print(f\"initial_segment: {initial_segment}\")\n",
    "  # Balance accounting\n",
    "  counter_of_pars = 0\n",
    "  branch = \"\"\n",
    "  for i in range(len(initial_segment)-1,-1,-1):\n",
    "    if initial_segment[i] == \"(\":\n",
    "      counter_of_pars = counter_of_pars + 1\n",
    "    if initial_segment[i] == \")\":\n",
    "      counter_of_pars = counter_of_pars - 1\n",
    "    if counter_of_pars == 0:\n",
    "      branch = initial_segment[i:final_index+1]\n",
    "      #print(f\"Branch to be deleted: {branch}\")\n",
    "      break\n",
    "  return branch\n",
    "\n",
    "\n",
    "def newick_find_all_groups12(newick_string):\n",
    "  \"\"\" All groups are found and one is chosen at random and returned\"\"\"\n",
    "  # The pattern of groups on the image of\n",
    "  # Node4[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07]\n",
    "  info_words =  r'[a-zA-Z_0-9_]*\\[a=-?[0-9]+(?:\\.[0-9]+)?,b=-?[0-9]+(?:\\.[0-9]+)?,x=-?[0-9]+(?:\\.[0-9]+)?,y=-?[0-9]+(?:\\.[0-9]+)?,r=-?[0-9]+(?:\\.[0-9]+)?\\]'\n",
    "  starts = []\n",
    "  groups = []\n",
    "  for match in re.finditer(info_words, newick_string):\n",
    "      #print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "      starts.append(match.start())\n",
    "      groups.append(match.group())\n",
    "  number_of_infos = len(starts)\n",
    "  if number_of_infos == 0: # The root is alone\n",
    "    return newick_string, 0\n",
    "  #print(f\"number_of_infos = {number_of_infos}\")\n",
    "  #print(f\"starts: {starts}\")\n",
    "  #print(f\"groups: {groups}\")\n",
    "  # Select a start index at random\n",
    "  start_idx = random.randint(0, number_of_infos-1)\n",
    "  #print(f\"selected start_idx: {start_idx}\")\n",
    "  return groups[start_idx], starts[start_idx]\n",
    "\n",
    "\n",
    "def deletion_of_branch12(newick_string ):\n",
    "  group, start =  newick_find_all_groups12(newick_string)\n",
    "  #print(f\"Group (main): {group}\")\n",
    "  #print(f\"Start (main): {start}\")\n",
    "  # Does the group have children?\n",
    "  char_before = newick_string[start-1]\n",
    "  #print(f\"char_before: {char_before}\")\n",
    "  if char_before ==  \")\":\n",
    "    #print(\"The group has children\")\n",
    "    #find branch\n",
    "    final_index = start-1\n",
    "    branch = find_branch12(newick_string, final_index+1)\n",
    "\n",
    "    branch_and_father = branch + group\n",
    "    #print(f\"  Branch and father to be deleted: {branch_and_father}\")\n",
    "    #delete group\n",
    "    newick_string = newick_string.replace(branch_and_father , \"\")\n",
    "  else:\n",
    "    #print(\"The group has no children\")\n",
    "    #delete group\n",
    "    newick_string = newick_string.replace(group, \"\")\n",
    "\n",
    "  # Cosmetics\n",
    "  newick_string = newick_string.replace(\",,\", \",\")\n",
    "  newick_string = newick_string.replace(\",)\", \")\")\n",
    "  newick_string = newick_string.replace(\"(,\", \"(\")\n",
    "  newick_string = newick_string.replace(\" \", \"\")\n",
    "  # Comparison\n",
    "  #print(f\"Original Newick string: {newick_string}\")\n",
    "  l = len(newick_string)\n",
    "  #print(f\"Length of newick_string: {l}\")\n",
    "  if l == 0 :\n",
    "     newick_string = \"Node_0[a=0,b=0,x=0,y=0,r=1]\"\n",
    "  #print(f\"Final Newick_string: {newick_string}\")\n",
    "  return newick_string\n",
    "\n",
    "\n",
    "def newick_mutation_branches12(newick_string):\n",
    "  # Mutation of radius of illumination and of complete branches\n",
    "  if random.random() <  ga_params['mutation_rate']:\n",
    "    newick_string = newick_mutation_of_radius12(newick_string)\n",
    "    newick_string = insertion_of_branch12(newick_string)\n",
    "    newick_string = deletion_of_branch12(newick_string)\n",
    "  return newick_string\n",
    "\n",
    "def newick_mutation_leaves12(newick_string, ga_params):\n",
    "  \"\"\"Radius is mutated, and only leaves can be inserted or deleted\"\"\"\n",
    "  if random.random() <  ga_params['mutation_rate']:\n",
    "    # Mutation of radius of illumination and of complete leaves\n",
    "    newick_string = newick_mutation_of_radius12(newick_string)\n",
    "    newick_string = insertion_of_leaf12(newick_string, counter=random.randint(0, 1000), max_illumination_radius=ga_params['max_node_radius'])\n",
    "    newick_string = deletion_of_leaf12(newick_string)\n",
    "  return newick_string\n",
    "\n",
    "\n",
    "def plot_illuminated_area12(ax, illuminated_coords, title, color='blue', alpha=0.5):\n",
    "    ax.set_aspect('equal', adjustable='box')\n",
    "    if not illuminated_coords:\n",
    "        ax.set_title(title)\n",
    "        ax.grid(True)\n",
    "        return\n",
    "\n",
    "    for x, y in illuminated_coords:\n",
    "        rect = patches.Rectangle((x, y), 1, 1, facecolor=color, alpha=alpha, edgecolor='black', linewidth=0.5)\n",
    "        ax.add_patch(rect)\n",
    "\n",
    "    min_x = min(c[0] for c in illuminated_coords) - 1\n",
    "    max_x = max(c[0] for c in illuminated_coords) + 2\n",
    "    min_y = min(c[1] for c in illuminated_coords) - 1\n",
    "    max_y = max(c[1] for c in illuminated_coords) + 2\n",
    "\n",
    "    ax.set_xlim(min_x, max_x)\n",
    "    ax.set_ylim(min_y, max_y)\n",
    "    ax.set_xticks(range(int(min_x), int(max_x)))\n",
    "    ax.set_yticks(range(int(min_y), int(max_y)))\n",
    "    ax.grid(True)\n",
    "    ax.set_title(title)\n",
    "\n",
    "# --- MAIN EvoluciónARY SIMULATION LOOP ---\n",
    "\n",
    "def run_Evolución_newick_morpho_trees12(target_tree_params, ga_params):\n",
    "    # A previous code by Gemini was reused.\n",
    "\n",
    "    # 1. Generate Target Tree and its Illuminated Area\n",
    "    #print(\"\\n--- Generating Target Tree ---\")\n",
    "    #random.seed(ga_params['seed'] + 1) # Use a different seed for target generation\n",
    "    target_tree, target_illuminated_area =  generate_and_test_morpho_tree12( ga_params)#926\n",
    "    print(f\"target_tree: {target_tree} \\n\\n\")\n",
    "    number_of_groups = count_groups12(target_tree)\n",
    "    print(f\"Number of groups or nodes in target tree: {number_of_groups}\")\n",
    "    length_of_target_tree = len(target_tree)\n",
    "    #draw_newick_string12(target_tree, \"Target Tree\")\n",
    "    # target_area = get_illuminated_coordinates12(target_tree)\n",
    "    #print(f\"Target illuminated area: {target_illuminated_area}\")\n",
    "\n",
    "    # 2. Initialize Population\n",
    "    #random.seed(ga_params['seed']) # Reset seed for GA population generation\n",
    "    #print(f\"\\n--- Initializing Population of {ga_params['pop_size']} Trees ---\")\n",
    "    population = create_initial_population_newick12(\n",
    "        pop_size=ga_params['pop_size'], max_depth=ga_params['max_depth'], max_children=ga_params['max_number_children'],\n",
    "        max_node_radius=ga_params['max_node_radius']  )\n",
    "    #print(f\"Population initialized with {len(population)} individuals.\")\n",
    "    #print(f\"Population: {population}\")\n",
    "\n",
    "\n",
    "\n",
    "    best_tree_overall = None\n",
    "    best_fitness_overall = -1.0\n",
    "    history = []\n",
    "\n",
    "    # 3. Evoluciónary Loop\n",
    "    #print(f\"\\n--- Starting Evoluciónary Loop for {ga_params['generations']} Generations ---\")\n",
    "    generation = 0\n",
    "    for generation in range(ga_params['generations']):\n",
    "        print(f\"\\n--- Generation {generation+1}/{ga_params['generations']}, Best fitness {round(best_fitness_overall, 5)} ---\")\n",
    "        fitness_scores = [calculate_fitness_illumination12(tree, target_illuminated_area)for tree in population]\n",
    "\n",
    "        current_best_fitness = max(fitness_scores)\n",
    "        current_best_tree = population[np.argmax(fitness_scores)]\n",
    "\n",
    "        if current_best_fitness > best_fitness_overall:\n",
    "            best_fitness_overall = current_best_fitness\n",
    "            best_tree_overall = copy.deepcopy(current_best_tree) # Deepcopy to save the best tree\n",
    "\n",
    "        history.append(current_best_fitness)\n",
    "\n",
    "        #print(f\"Generation {generation+1}/{ga_params['generations']}: Best Fitness = {current_best_fitness:.4f} (Overall Best: {best_fitness_overall:.4f})\")\n",
    "\n",
    "        if best_fitness_overall >= 0.999: # Almost perfect match\n",
    "            #print(\"Target illumination achieved (or very close)! Stopping Evolución.\")\n",
    "            return target_tree, target_illuminated_area, best_tree_overall, best_fitness_overall, history, generation\n",
    "\n",
    "        # Selection\n",
    "        parents = select_parents_newick(population, fitness_scores, ga_params['pop_size'] // 2)\n",
    "\n",
    "        # Create next generation\n",
    "        next_population = []\n",
    "        # Elitism: Keep the best individual from the current generation\n",
    "        if best_tree_overall and current_best_fitness == best_fitness_overall: # Only if it's the current best in this generation\n",
    "            next_population.append(copy.deepcopy(current_best_tree))\n",
    "\n",
    "        while len(next_population) < ga_params['pop_size']:\n",
    "            if len(parents) < 2: # Not enough parents for crossover, fill with new random trees\n",
    "                new_tree =  complete_tree_generator12(target_tree_params['max_depth'], target_tree_params['max_number_children'], target_tree_params['max_node_radius'] )\n",
    "                if new_tree:\n",
    "                    next_population.append(new_tree)\n",
    "                continue\n",
    "\n",
    "            # Randomly pick two parents (can be the same parent multiple times with replacement for simplicity)\n",
    "            p1 = random.choice(parents)\n",
    "            p2 = random.choice(parents)\n",
    "            child1, child2 = p1,p2 # No crossover, just pass parents to children for mutation\n",
    "            if recombination_of_leaves:\n",
    "                # Crossover newick_position_branch_recombination12\n",
    "                # child1, child2 = newick_position_branch_recombination12(p1, p2)\n",
    "                # Crossover newick_leaves_recombination12\n",
    "                child1, child2 =newick_leaves_recombination12(p1,p2)\n",
    "            # Mutation: Apply mutation to both children\n",
    "            mutated_child1 = newick_mutation_leaves12(child1, ga_params)\n",
    "            mutated_child2 = newick_mutation_leaves12(child2, ga_params)\n",
    "\n",
    "\n",
    "            next_population.append(mutated_child1)\n",
    "            if len(next_population) < ga_params['pop_size']:\n",
    "                next_population.append(mutated_child2)\n",
    "\n",
    "        population = next_population[:ga_params['pop_size']]\n",
    "        # print(f\"Population size for next generation: {len(population)}\")\n",
    "        # print(f\"Best fitness this generation: {current_best_fitness:.4f}, Overall best fitness: {best_fitness_overall:.4f}\")\n",
    "        # print(f\"Best tree this generation: {current_best_tree}\")\n",
    "        # If you want to see the entire population, uncomment the following line:\n",
    "        # print(f\"Population: {population}\")\n",
    "        # Cutt-off for the length of the Newick string to avoid excessive growth\n",
    "        population = [tree for tree in population if len(tree) <= 2 * length_of_target_tree]  # Allow some growth but limit it\n",
    "        #print(f\"Population size after length cut-off: {len(population)}\")\n",
    "        # If the population is too small, refill\n",
    "        while len(population) < ga_params['pop_size']:\n",
    "            new_tree = complete_tree_generator12(target_tree_params['max_depth'], target_tree_params['max_number_children'], target_tree_params['max_node_radius'])\n",
    "            if new_tree:\n",
    "                population.append(new_tree) \n",
    "    generation += 1  # Increment generation count after the loop\n",
    "    #print(\"\\n--- Evolución Finished ---\")\n",
    "    #print(f\"Final Best Fitness: {best_fitness_overall:.4f}\")\n",
    "\n",
    "    return target_tree, target_illuminated_area, best_tree_overall, best_fitness_overall, history, generation\n",
    "\n",
    "\n",
    "# Generate the  Newick string of a morpho-tree and draw it\n",
    "if __name__ == \"__main__\":\n",
    "    print_parameters12(target_tree_params, ga_params)\n",
    "    # Run the Evolución loop\n",
    "    target_tree, target_illuminated_area, evolved_best_tree, evolved_best_fitness, history, generation = run_Evolución_newick_morpho_trees12(target_tree_params, ga_params)\n",
    "    number_of_groups = count_groups12(target_tree)\n",
    "    print(f\"Number of groups or nodes in target tree: {number_of_groups}\")\n",
    "    title = \"Target Tree. Number of groups or nodes: \" + str(number_of_groups)\n",
    "    draw_tree_newick12(target_tree, title)\n",
    "    title = \"Evolved Best Tree\"\n",
    "    draw_tree_newick12(evolved_best_tree, title)\n",
    "\n",
    "    # Plot Symmetric Difference Area\n",
    "    evolved_best_area = get_illuminated_coordinates12(evolved_best_tree)\n",
    "    symmetric_diff_area = target_illuminated_area.symmetric_difference(evolved_best_area )\n",
    "    ##print(f\"Symmetric Difference Area: {symmetric_diff_area}\")\n",
    "    ##print(f\"Number of cells in symmetric difference area: {len(symmetric_diff_area)}\")\n",
    "\n",
    "\n",
    "    fig, axes = plt.subplots(1, 3, figsize=(15, 5))\n",
    "\n",
    "\n",
    "    plot_illuminated_area12(axes[0], target_illuminated_area, title=f\"Target Area (number of cells: {len(target_illuminated_area)})\")\n",
    "    plot_illuminated_area12(axes[1], evolved_best_area, title=f\"Evolved Best Area (number of cells: {len(evolved_best_area)})\")\n",
    "    plot_illuminated_area12(axes[2], symmetric_diff_area, title=f\"Symmetric Difference (Error Area: {len(symmetric_diff_area)})\")\n",
    "\n",
    "    plt.tight_layout()\n",
    "    plt.show()\n",
    "\n",
    "\n",
    "    # Plot Fitness History\n",
    "    plt.figure(figsize=(10, 6))\n",
    "    plt.plot(history, marker='o', linestyle='-', color='blue')\n",
    "    plt.title('Best Fitness Progression Over Generations')\n",
    "    plt.xlabel('Generation')\n",
    "    plt.ylabel('Fitness')\n",
    "    plt.grid(True)\n",
    "    plt.show()\n",
    "\n",
    "     \n",
    "    print(f\"Evolved best tree: {evolved_best_tree}\")\n",
    "    print(f\"Evolved best fitness: {evolved_best_fitness:.2}\")\n",
    "    print(f\"Generation: {generation}\")\n",
    "    print(f\"Number of nodes in target tree: {number_of_groups}\")\n",
    "    end_time = time.time()\n",
    "    Execution_time = end_time - start_time\n",
    "    # print(f\"Execution time: {Execution_time:.2f} seconds\")\n",
    "    # Execution time in hours, minutes and seconds:\n",
    "    hours = int(Execution_time // 3600)\n",
    "    minutes = int((Execution_time % 3600) // 60)\n",
    "    seconds = int(Execution_time % 60)\n",
    "    print(f\"Execution time: {hours} hours, {minutes} minutes, {seconds} seconds\")\n",
    "    if memory_monitoring:\n",
    "        # displaying the allocated memory\n",
    "        print(tracemalloc.get_traced_memory())\n",
    "        # stopping the memory allocation library\n",
    "        tracemalloc.stop()\n",
    "    \n",
    "# End of program Evolución_of_newick_morphological_trees12.py"
   ],
   "outputs": [],
   "execution_count": null
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Observaciones.** El autor no pudo encontrar un error en la nueva versión. Por lo tanto, seguimos adelante. Además:\n",
    "1. Para percibir claramente que el número de nodos es una medida de complejidad, se necesita una gran diferencia entre los números comparados de nodos, digamos, varios cientos.\n",
    "2. Uno tiene la impresión de que los árboles objetivo globulares son más fáciles de resolver por la Evolución que los árboles con una rica estructura de agujeros y grandes brazos.\n",
    "3. Nuestra medida de la aptitud no parece ser perfecta porque en grandes glóbulos, podría haber demasiadas células en la diferencia simétrica entre el objetivo y los árboles de prueba, pero, sin embargo, la aptitud es alta."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# EL COSTO DE LA EVOLUCIÓN\n",
    "\n",
    "Nuestro propósito ahora es estudiar el costo de la Evolución dependiendo de la complejidad. El costo es una medida de los cromosomas empleados, que viene dada por el tamaño de la población multiplicado por el número de generaciones necesarias para lograr una proporción determinada de la aptitud para una solución perfecta, que es uno. La complejidad se mide aquí por el número de nodos del árbol objetivo.\n",
    "\n",
    "Dos preguntas son importantes para nosotros:\n",
    " 1. ¿La complejidad aplasta a la Evolución?\n",
    " 2. ¿Hay un signo de pleiotropía?\n",
    "\n",
    "Esas dos preguntas son rutina en esta investigación porque siempre hemos encontrado que cuando la complejidad crece, la máxima fitness decrece. Moreover, la Evolución es muy mala para luchar contra la pleiotropía.\n",
    "\n",
    "Tenemos una razón ética para hacer estas preguntas porque hemos encontrado en varios casos que el fitness crece hasta su valor final en las primeras 100 generaciones y permanece invariable hasta la generación 5000. Dos hipótesis posibles compiten por ser la explicación correcta. Primero: el valor final observado es el valor de equilibrio que está determinado por el balance de recursos y complejidad. En segundo lugar, el valor final no es el punto de equilibrio, sino un estado transitorio de éxtasis causado por la plieotropía.\n",
    "\n",
    "En consecuencia, estudiemos la batalla de la Evolución contra la complejidad en el caso de los árboles morfológicos de Newick para arrojar luz sobre las dos preguntas planteadas. Tenemos dos experimentos complementarios. En el primero, aumentamos la complejidad, en el segundo, disminuimos los recursos. El primero sigue.\n",
    "\n",
    "**Ejercicio.** Programa a la Evolución para que enfrente diferentes valores de complejidad.\n",
    ">\n",
    "> *Respuesta.*  El siguiente programa muestra la dinámica de la aptitud a lo largo del número de generaciones para diferentes valores de complejidad, con el fin de ver si la complejidad aplasta a la Evolución. La inferencia de pleiotropía puede surgir de un aumento de la aptitud por saltos, y de un avance de la aptitud muy frustrada.\n",
    ">\n",
    "> Nuestra expectativa: la complejidad, dada por el número de nodos en el árbol objetivo, debe destruir a la Evolución. Esperamos que cuanto mayor sea la complejidad, más se retrase el crecimiento de la aptitud y menor sea el estado de equilibrio que opera como valor máximo.\n",
    ">\n",
    "> Los resultados obtenidos fueron inconsistentes, a veces la expectativa se cumplió más o menos, la mayoría de las veces no.\n",
    ">\n",
    "> ¿Cuál podría ser la causa de tanto desorden?\n",
    ">\n",
    "> En nuestra opinión, la causa más influyente del desorden era que podría existir una gran diferencia entre el número de nodos en el árbol objetivo, el que define la tarea que la Evolución debe resolver, y el rango del número de nodos en los árboles de prueba. Por ejemplo: profundidad máxima en el árbol objetivo: 40, número de nodos en el árbol objetivo: alrededor de 1000. Número de nodos en el árbol de prueba: 5. Esto puede suceder porque el valor real de la profundidad para cada árbol es aleatorio pero está por debajo de la profundidad máxima. Por lo tanto, los árboles de prueba deben detectar muchas fluctuaciones para crecer lo suficiente como para caber en el árbol objetivo. Esto se puede hacer pero lleva tiempo. Como consecuencia, la solución se retrasa. Ahora, si el valor real del número de nodos en los árboles de prueba está en el mismo rango que ese valor en los árboles de prueba, esperamos que el problema sería más fácil, es decir, resuelto antes.  Sin embargo, la Evolución exige variabilidad y por lo tanto debe mantenerse viva.\n",
    ">\n",
    "> La implementación de nuestro criterio de homogéneización, en el programa siguiente, fue el siguiente: la profundidad real, el número permitido de divisiones celulares a lo largo de cada rama, es la profundidad máxima más un valor aleatorio en el intervalo (-5,5). Línea 332. El siguiente código pone a prueba nuestras ideas:\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2026-10-05T20:24:04.717922Z",
     "start_time": "2026-10-05T15:15:27.502286Z"
    }
   },
   "source": [
    "# Program Evolución_of_newick_morphological_trees13.py\n",
    "# Evolución tries to restore three target morpho-trees\n",
    "# with different number of nodes.\n",
    "#\n",
    "# Morphological trees considered here are like lighting trees:\n",
    "# an electrical thread in the form of tree covers an area\n",
    "# and there is lamp at each node.\n",
    "# Each lamp has a given power and a circle of illumination,\n",
    "# whose radius is determined by a threshold intensity.\n",
    "# In morphology, this corresponds with a threshold concentration of a messenger.\n",
    "# Evolución is given the task of illuminating\n",
    "# the area determined by a random target tree.\n",
    "# Trees are encoded in Newick Notation and\n",
    "# everything is done over the correspond strings\n",
    "# without resorting to the Node class.\n",
    "# Thus, it is possible to use the Newick strings as a genotype and\n",
    "# the corresponding trees as a phenotype.\n",
    "# \n",
    "# In this version:\n",
    "#   1. Mutation has been inbuilt with the power\n",
    "#       to have children in the immediate neighborhood of the father and    \n",
    "#       to change radius and the topology of trees\n",
    "#       by means of insertion and deletion of leaves.\n",
    "#    2. Recombination has been enabled with the power \n",
    "#       to exchange leaves between trees.\n",
    "#       We expect a good proportion of the population to \n",
    "#       be able to successfully recombine, mutate and reproduce.\n",
    "#    3. A cut-off for the length of the Newick string has been introduced \n",
    "#       to avoid overgrowth of trees.\n",
    "#    4. The seed for the random number generator has been canceled \n",
    "#        to allow different histories for different runs.\n",
    "#\n",
    "# A bug was corrected in the function that inserts a node.\n",
    "# The criterion for insertion was changed from \"a leaf is just after a left parenthesis\" \n",
    "# to \"a leaf begins with `N` that is preceded by a left parenthesis\".\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "# We reuse pieces of code made with the help of Colab and Gemini 2.5 Flash.\n",
    "# With the  assistance of the AI of Visual Studio Code.\n",
    "\n",
    "import random\n",
    "import matplotlib.pyplot as plt\n",
    "import matplotlib.patches as patches\n",
    "import numpy as np\n",
    "import math\n",
    "import copy # For deep copying trees during reproduction and mutatio\n",
    "import re # Required for newick parsing\n",
    "#import itertools # Required for sequential replacement\n",
    "import sys # Import sys module to adjust recursion limit\n",
    "sys.setrecursionlimit(3000)\n",
    "import time\n",
    "from datetime import datetime, timedelta\n",
    "\n",
    "# trace memory allocation \n",
    "#https://www.geeksforgeeks.org/python/monitoring-memory-usage-of-a-running-python-program/\n",
    "# this consumes too much cpu-time by a multiplicative factor, say 5 for 1000 lines.\n",
    "import tracemalloc \n",
    "\n",
    "\n",
    "#Activate  memory monitoring?\n",
    "memory_monitoring = False \n",
    "recombination_of_leaves = False\n",
    "\n",
    "# starting the memory allocation monitoring\n",
    "if memory_monitoring:\n",
    "    tracemalloc.start() \n",
    "start_time = time.time()\n",
    "\n",
    "# Parameters for the target tree generation\n",
    "target_tree_params = {\n",
    "  'max_depth': 10,\n",
    "  'max_number_children': 2,\n",
    "  'max_node_radius': 1.5,\n",
    "}\n",
    "\n",
    "# Parameters for the Genetic Algorithm\n",
    "ga_params = {\n",
    "   #'seed': 47423648, #the seed of the target tree is this plus 1.\n",
    "  'pop_size': 70,\n",
    "  'generations': 100,\n",
    "  'max_depth': target_tree_params['max_depth'],\n",
    "  'max_number_children': target_tree_params['max_number_children'],\n",
    "  'max_node_radius': 1.5,\n",
    "  'mutation_rate': 0.001, \n",
    "  'crossover_rate': 0.001  \n",
    "}\n",
    "\n",
    " \n",
    "def print_parameters13(target_tree_params, ga_params):\n",
    "    print(\"LAB: Evolución OF NEWICK MORPHO-TREES\")\n",
    "    print(\"PURPOSE: \"\n",
    "          + \"\\n A random morpho-tree T is generated.\"\n",
    "          + \"\\n Evolución tries to restore the tree T\"\n",
    "          + \"\\n beginning from a population of random trees.\")\n",
    "    print(f\"EXPERIMENT {start_time}\")\n",
    "    print(f\"RECOMBINATION OF LEAVES: {recombination_of_leaves}\")\n",
    "    #print(f\"SEED FOR THE GENETIC ALGORITHM: {ga_params['seed']}\")\n",
    "    print(f\"INITIAL TARGET TREE PARAMETERS: {target_tree_params}\")\n",
    "    print(f\"INITIAL GENETIC ALGORITHM PARAMETERS: {ga_params}\\n\")\n",
    "\n",
    "\n",
    "# GENERATION OF A MORPHO-TREE\n",
    "\n",
    "# Program morpho_tree_drawer.py\n",
    "\n",
    "# The following program generates a Newick strings\n",
    "# that encodes for a morpho-tree  and draws it.\n",
    "# Children are located in the immediate neighborhood of the father.\n",
    "# If postions are occupied, no children.\n",
    "# Then, children are generated only when there is place for them.\n",
    "\n",
    "# ====   Grammar_generator =======\n",
    "\n",
    "# This program uses a hidden grammar to generate Newick expressions that encode for morphological trees.\n",
    "# The information of each node is generated on the image of\n",
    "#   Node25[a=18,b=18,x=19,y=0,r=14.3]\n",
    "# The rules of the grammar are:\n",
    "# 1. Initial string or seed: `s = ()n`\n",
    "# 2. Generate a random digit: x\n",
    "# 3. Replace in `s`, `()` by x copies of `(()n ` separated by a comma.\n",
    "# 4. Iterate.\n",
    "# 5. Replace each `n`by the info of a node whose values are generated at random but the index of the tag is a counter with the iterative process.\n",
    "# 6. Delete the tag \"()\" that appears in the last appended children.\n",
    "# An ordered set of rules like this is a Generative Grammar.\n",
    "# The grammmar is hidden because no n is generated,\n",
    "# because beforehand it is replaced by the info of a node.\n",
    "# With the assistance of Colab and reusing a previous code by Gemini.\n",
    "\n",
    "\n",
    "\n",
    "def replace_str_subsequence13(original_str, start_idx, end_idx, new_subsequence):\n",
    "    \"\"\" Replace a subsequence from start_idx to end_idx with another string.\n",
    "        By Google\"\"\"\n",
    "    # Concatenate the pieces together\n",
    "    return original_str[:start_idx] + new_subsequence + original_str[end_idx:]\n",
    "\n",
    "def replace_strig_of_length13(original_str, replacement, position, length_to_replace):\n",
    "    \"\"\"\n",
    "    Replaces a subsequence of given length.\n",
    "    :param original_str: The main text string\n",
    "    :param replacement: The new text you want to insert\n",
    "    :param position: The starting index of the old subsequence\n",
    "    :param length_to_replace: The length of the old subsequence being removed\n",
    "    \"\"\"\n",
    "    before = original_str[:position]\n",
    "    after = original_str[position + length_to_replace:]\n",
    "    return before + replacement + after\n",
    "\n",
    "\n",
    "def detect_all_groups13(newick_string):\n",
    "    \"\"\"Al substrings that encodes for the info of a node, step from father, center and radius are detected.\"\"\"\n",
    "\n",
    "    #print(\"detect_all_groups13(newick_string)\")\n",
    "    #print(f\"Newick String: {newick_string}\")\n",
    "    # Detect a pattern on the model  info = NodeB_3_x_2[a=0,b=1,x=2,y=2,r=3]\n",
    "    #info_words = r'[\\a-zA-Z_0-9_[_=_,\\] ]+'\n",
    "    #info_words = r'[a-zA-Z_][a-zA-Z_0-9_]*\\[x=-?[0-9]+(?:\\.[0-9]+)?,y=-?[0-9]+(?:\\.[0-9]+)?,r=-?[0-9]+(?:\\.[0-9]+)?\\]$'\n",
    "                                                    #info_words = r'[a-zA-Z_0-9_]*\\[x=-?[0-9]+(?:\\.[0-9]+)?,y=-?[0-9]+(?:\\.[0-9]+)?,r=-?[0-9]+(?:\\.[0-9]+)?\\]'\n",
    "    info_words =  r'[a-zA-Z_0-9_]*\\[a=-?[0-9]+(?:\\.[0-9]+)?,b=-?[0-9]+(?:\\.[0-9]+)?,x=-?[0-9]+(?:\\.[0-9]+)?,y=-?[0-9]+(?:\\.[0-9]+)?,r=-?[0-9]+(?:\\.[0-9]+)?\\]'\n",
    "    starts = []\n",
    "    groups = []\n",
    "    for match in re.finditer(info_words, newick_string):\n",
    "        #print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "        #print(f\"    starts at index: {match.start()}\")\n",
    "        starts.append(match.start())\n",
    "        groups.append(match.group())\n",
    "    #number_of_groups = len(starts)\n",
    "    #print(f\"number_of_groups = {number_of_groups}\")\n",
    "    #print(f\"starts of gropus: {starts}\")\n",
    "    #print(f\"groups: {groups}\")\n",
    "\n",
    "\n",
    "    \"\"\"\n",
    "    # All infos are replaced by the dumb variable n\n",
    "    for j in range(number_of_infos - 1, -1, -1):\n",
    "        print(f\"start_of_info[{j}]:  {starts[j]},  len(groups[{j}]): {len(groups[j])}\")\n",
    "        new_s = replace_at_position2(new_s, \"n\", starts[j], len(groups[j]))\n",
    "        print(f\"new string = '{new_s}'\")\n",
    "        \"\"\"\n",
    "    return groups\n",
    "\n",
    "def count_groups13(newick_string):\n",
    "    \"\"\"The number of groups is counted.\"\"\"\n",
    "    groups = detect_all_groups13(newick_string)\n",
    "    number_of_groups = len(groups)\n",
    "    return number_of_groups\n",
    "\n",
    "def extract_info13(group):\n",
    "  \"\"\"The info of each group is extracted by tokenizers from the string.\"\"\"\n",
    "  patern_a = r'a=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  patern_b = r'b=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  patern_x = r'x=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  patern_y = r'y=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  patern_r = r'r=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  a = re.findall(patern_a, group)\n",
    "  b = re.findall(patern_b, group)\n",
    "  x = re.findall(patern_x, group)\n",
    "  y = re.findall(patern_y, group)\n",
    "  r = re.findall(patern_r, group)\n",
    "  a = float(a[0][2:])\n",
    "  b = float(b[0][2:])\n",
    "  x = float(x[0][2:])\n",
    "  y = float(y[0][2:])\n",
    "  r = float(r[0][2:])\n",
    "  return [a,b,x,y,r]\n",
    "\n",
    "\n",
    "def extract_all_infos13(newick_string):\n",
    "    #print(\"extract_all_infos\n",
    "    # Groups are detected. A group is the encoding of the parameters of a node in an info.\n",
    "    groups = detect_all_groups13(newick_string)\n",
    "    #print(f\"Groups: {groups}\")\n",
    "    number_of_groups = len(groups)\n",
    "    #print(f\"number_of_groups = {number_of_groups}\")\n",
    "\n",
    "    # Info is extracted from each group and\n",
    "    # all infos are kept in corresponding arrays.\n",
    "    a = []\n",
    "    b = []\n",
    "    x = []\n",
    "    y = []\n",
    "    r = []\n",
    "    #print(\"\\nInfo is extracted form each group\")\n",
    "    for i in range(number_of_groups):\n",
    "      #print(f\"group[{i}]: {groups[i]}\")\n",
    "      #print(f\"len(group[{i}]): {len(groups[i])}\")\n",
    "      [ai,bi,xi,yi,ri] = extract_info13(groups[i])\n",
    "      #print(f\"a: {ai}, b: {bi}, x: {xi}, y: {yi}, r: {ri}\")\n",
    "      a.append(ai)\n",
    "      b.append(bi)\n",
    "      x.append(xi)\n",
    "      y.append(yi)\n",
    "      r.append(ri)\n",
    "    return a,b,x,y,r\n",
    "\n",
    "\n",
    "def get_neighboring_coordinates13(cell):\n",
    "  \"\"\"Immediate neighboring coordinates of a cell are generated\"\"\"\n",
    "  neighbors = []\n",
    "  for dx in [-1, 0, 1]:\n",
    "      for dy in [-1, 0, 1]:\n",
    "          if dx == 0 and dy == 0:\n",
    "              continue  # Exclude the current square itself\n",
    "          neighbors.append((cell[0] + dx, cell[1] + dy))\n",
    "  return neighbors\n",
    "\n",
    " \n",
    "\n",
    "def find_father_center13(newick_string, j):\n",
    "  \"\"\" Finds the address of the father of a node at j\"\"\"\n",
    "  #print(\"find_father_center13(s, j)\")\n",
    "  #print(f\"s: {newick_string}\")\n",
    "  #print(f\"j: {j}\")\n",
    "\n",
    "  #Right tail is recruited\n",
    "  tail = newick_string[j+1:]\n",
    "  father_group = detect_all_groups13(tail)\n",
    "  if father_group:\n",
    "    #print(f\"Father_group 1: {father_group}\")\n",
    "    [af,bf,xf,yf,rf] = extract_info13(father_group[0])\n",
    "    #print(f\"Info: a: {af}, b: {bf}, x: {xf}, y: {yf}, r: {rf}\")\n",
    "    father_center = [xf,yf]\n",
    "    return father_center\n",
    "  else:\n",
    "   return \"\"\n",
    "\n",
    "\n",
    "\n",
    "def node_info_generator13(father_center, counter,  occupied_squares_set, max_node_radius):\n",
    "  \"\"\"For each node, info is generated on the model\n",
    "     Node_26[a=1,b=-1,x=3,y=5,r=0.85]\n",
    "     by replacing n by the info of a node whose values are generated at random\n",
    "     but the index of the tag is a counter with the iterative process.\n",
    "      \"\"\"\n",
    "  #print(\"node_info_generator13(father_center, counter,  occupied_squares_set)\")\n",
    "  coordinates_neighbors = get_neighboring_coordinates13(father_center)\n",
    "  #print(f\"coordinates_neighbors: {coordinates_neighbors}\")\n",
    "  #print(f\"occupied_squares_set: {occupied_squares_set}\")\n",
    "  # First, filter for unoccupied grid squares within this tree\n",
    "  available_square_neighbors = [coord for coord in coordinates_neighbors if coord not in occupied_squares_set]\n",
    "  info = \"\" # future info of a node that represents a cell\n",
    "  if available_square_neighbors:\n",
    "    # Choose a random valid candidate\n",
    "    nx,  ny  = random.choice(available_square_neighbors)\n",
    "    na = nx - father_center[0]\n",
    "    nb = ny - father_center[1]\n",
    "    nr = random.uniform(0.5, max_node_radius)\n",
    "    nr = round(nr, 2)\n",
    "    info = \"Node\" +  str(counter)  + \"[\" + \"a=\" + str(na) + \",\" + \"b=\" + str(nb) + \",\"  +   \"x=\" + str(nx) + \",\" + \"y=\" + str(ny) + \",\" + \"r=\" + str(nr)+ \"]\"\n",
    "    info = \"()\"+ info\n",
    "    #print(f\"Generated Node info: {info}\")\n",
    "    occupied_squares_set.add((nx, ny))\n",
    "\n",
    "  else:\n",
    "    #All neighboring places are occupied\n",
    "    #print(\"All neighboring places are occupied\")\n",
    "    info = \"\"\n",
    "  return info, occupied_squares_set\n",
    "\n",
    "\n",
    "def generate_children13(father_center, numb_children, counter, occupied_squares_set, max_node_radius):\n",
    "  \"\"\" Generate children in the pattern of a Newick Tree.\n",
    "      Output in the form\n",
    "      n,n,n,n \"\"\"\n",
    "  #print(\"generate_children(max_numb_children)\")\n",
    "  #print(f\"Number of children: {numb_children}\")\n",
    "  s = \"\"\n",
    "  for i in range(numb_children):\n",
    "    if i == 0:\n",
    "      a = \"\"\n",
    "    else:\n",
    "      a = \",\"\n",
    "    info, occupied_squares_set = node_info_generator13(father_center, counter, occupied_squares_set, max_node_radius)\n",
    "    if not info:\n",
    "      continue\n",
    "    else:\n",
    "     s = info + a + s\n",
    "     counter = counter + 1\n",
    "  s =  \"(\" + s + \")\"\n",
    "  #print(f\"Children: {s}\")\n",
    "  return s, counter, occupied_squares_set\n",
    "\n",
    "\n",
    "def complete_tree_generator13(max_depth, max_numb_children, max_node_radius):\n",
    "  \"\"\" A tree is generated step by step\n",
    "   taking care of generating no child where there is no place for it.\"\"\"\n",
    "  #print(\"complete_tree_generator13(...)\")\n",
    "  occupied_squares_set = set() # Initialize a new set for this tree's square coordinates\n",
    "  actual_depth = max_depth + random.randint(-5,5) # Number of allowed divisions along each branch.\n",
    "  #print(f\"Actual depth: {actual_depth}\")\n",
    "  # () is used as a marker for insertion. \n",
    "  tree = \"()Node_0[a=0,b=0,x=0,y=0,r=1]\"\n",
    "  occupied_squares_set.add((0,0))\n",
    "  #counter of defined nodes\n",
    "  counter = 1\n",
    "  for i in range(actual_depth):\n",
    "      #print(f\"depth: {i}\")\n",
    "      l = len(tree)\n",
    "      #print(f\"i : {i} l: {l}\")\n",
    "      # String s is scanned starting from the end\n",
    "      for j in range(l-1, 0, -1):\n",
    "        #print(f\"s: {s}\")\n",
    "        #print(f\"s[j-1] s[j]  :  {s[j-1]}{s[j]}\")\n",
    "        # Replace () by a list of children\n",
    "        if tree[j-1] == \"(\" and tree[j] == \")\":\n",
    "          father_center = find_father_center13(tree, j)\n",
    "          #print(f\"Father center: {father_center}\")\n",
    "          if not father_center:\n",
    "            continue\n",
    "          numb_children = random.randint(0, max_numb_children)\n",
    "          if numb_children == 0:\n",
    "            continue\n",
    "          else:\n",
    "            # Replacement\n",
    "            generated_children, counter, occupied_squares_set = generate_children13(father_center, numb_children, counter, occupied_squares_set, max_node_radius)\n",
    "            tree = replace_str_subsequence13(tree, j-1, j+1, generated_children)\n",
    "          #print(f\"{i} {j} Tree: {tree}\")\n",
    "  #print(f\"crude tree: {tree}\")\n",
    "  tree = tree.replace(\"()\", \"\")\n",
    "  #print(f\"final tree: {tree}\")\n",
    "  return tree\n",
    "\n",
    "# === VALIDATOR ====\n",
    "\n",
    "\n",
    "# Program validator_for_newick_morpho_trees.py\n",
    "# The task is to decide whether a Newick string encodes for a morpho tree.\n",
    "# To solve the task,\n",
    "# we simply go backwards over the procedure of creation of Newick strings.\n",
    "# The program has two sections.\n",
    "# In the first,\n",
    "# the string in divided in tokens, substrings of predefined content,\n",
    "# and all groups that fit into the pattern\n",
    "# info = NodeB_3_x_2[a=2,b=2,r=3] are detected.\n",
    "# Each found group undergoes a detailed test for correctness.\n",
    "# If some group is wrong, the whole string is rejected.\n",
    "# If all are correct, the test continues further on.\n",
    "# In the second section,\n",
    "# each info is replaced by \"n\",\n",
    "# then, each \"n\" is replaced by\"\"\n",
    "# then each \"()\" is replaced by \"\".\n",
    "# If a formula is correct,\n",
    "# the final product of this algorithm is the void sting \"\",\n",
    "# and its length is zero.\n",
    "# Connectivity issues are not checked.\n",
    "\n",
    "# A bug in the drawing procedure has been corrected, and the drawing of trees is now correct.\n",
    "# The bug was related to the function that finds the father of a node.\n",
    "\n",
    "# With the help of Gemini, Google and the AI of Visual Studio Code.\n",
    "\n",
    "\n",
    "\n",
    "# --- TOKENIZER FOR NEWICK STRINGS ---\n",
    "# --- Elements to create well-formed Newick info-s of Morpho_trees.---\n",
    "# --- Every info is modeled on the pattern\n",
    "# --- NodeB_3_x_2[a=1,b=0,x=4,y=5,r=1.2]\n",
    "# --- where a nad b are -1,0,1 except (0,0)\n",
    "# --- because they represent a step awya from the father.\n",
    "# --- If a substring fits into this pattern,\n",
    "# --- it must produce the sequence 73756275627564.\n",
    "# --- Say, each info begins with a noun = letters, number 7,\n",
    "# --- and ends with a right bracket number 4.\n",
    "# --- Assigned numbers are at the right of comments.\n",
    "# --- By Gemini\n",
    "TOKEN_SPECIFICATION_NEWICK = [\n",
    "    ('LPAREN',    r'\\('),          # Left Parenthesis, 0\n",
    "    ('RPAREN',    r'\\)'),          # Right Parenthesis, 1\n",
    "    ('COMMA',     r','),           # Comma separator for children, 2\n",
    "    ('LBRACKET',  r'\\['),          # Left Bracket for metadata, 3\n",
    "    ('RBRACKET',  r'\\]'),          # Right Bracket for metadata, 4\n",
    "    ('EQUALS',    r'='),           # Equals sign in metadata, 5\n",
    "    ('NUMBER',    r'-?\\d+(?:\\.\\d+)?'), # Numbers (integers or floats, possibly negative), 6\n",
    "    ('LETTERS',   r'[a-zA-Z_0-9]+'), # Node labels (e.g., 'Node0', 'Target_Root_26'), or variables (x, y, r), 7\n",
    "    ('SEMICOLON', r';'),           # Optional semicolon at end of Newick string, 8\n",
    "    ('SKIP',      r'[ \\t\\n]+'),  # Skip spaces, tabs, newlines, 9\n",
    "    ('MISMATCH',  r'.'),           # Any other illegal character, *\n",
    "]\n",
    "\n",
    "def tokenize_newick13(newick_str):\n",
    "    \"\"\"Converts a Newick string into a list of (token_type, value) tuples.\"\"\"\n",
    "    #print(\"\\ntokenize_newick\")\n",
    "    tokens = []\n",
    "    tok_regex = '|'.join(f'(?P<{name}>{pattern})' for name, pattern in TOKEN_SPECIFICATION_NEWICK)\n",
    "    tokens = []\n",
    "    for mo in re.finditer(tok_regex, newick_str):\n",
    "        kind = mo.lastgroup\n",
    "        value = mo.group()\n",
    "        if kind == 'SKIP':\n",
    "            continue\n",
    "        elif kind == 'MISMATCH':\n",
    "            raise SyntaxError(f\"Newick Grammar Violation: Illegal character '{value}' in '{newick_str}'\")\n",
    "        tokens.append((kind, value))\n",
    "    return tokens\n",
    "\n",
    "# --- VALIDATOR FOR INFO SUBSTRINGS THAT MUST FIT INTO THE PATTERN ---\n",
    "# --- info = NodeB_3_x_2[a=1,b=-1,x=2,y=4,r=3.2], 22 tokens\n",
    "def examine_subsequence13(tokens, j):\n",
    "    #print(\"\\nexamine_subsequence\")\n",
    "    # Every info must begin with a letter, whose index is 7.\n",
    "    tracker = [\"LETTERS\"]\n",
    "    tracker2 = \"7\"\n",
    "    if tokens[j + 1][0] == 'LBRACKET':\n",
    "        tracker.append('LBRACKET')\n",
    "        tracker2 += \"3\"\n",
    "    if tokens[j + 2][0] == 'LETTERS':\n",
    "        tracker.append('LETTERS')\n",
    "        tracker2 += \"7\"\n",
    "    if tokens[j + 3][0] == 'EQUALS':\n",
    "        tracker.append('EQUALS')\n",
    "        tracker2 += \"5\"\n",
    "    if tokens[j + 4][0] == 'NUMBER':\n",
    "        tracker.append('NUMBER')\n",
    "        tracker2 += \"6\"\n",
    "    if tokens[j + 5][0] == 'COMMA':\n",
    "        tracker.append('COMMA')\n",
    "        tracker2 += \"2\"\n",
    "    if tokens[j + 6][0] == 'LETTERS':\n",
    "        tracker.append('LETTERS')\n",
    "        tracker2 += \"7\"\n",
    "    if tokens[j + 7][0] == 'EQUALS':\n",
    "        tracker.append('EQUALS')\n",
    "        tracker2 += \"5\"\n",
    "    if tokens[j + 8][0] == 'NUMBER':\n",
    "        tracker.append('NUMBER')\n",
    "        tracker2 += \"6\"\n",
    "    if tokens[j + 9][0] == 'COMMA':\n",
    "        tracker.append('COMMA')\n",
    "        tracker2 += \"2\"\n",
    "    if tokens[j + 10][0] == 'LETTERS':\n",
    "        tracker.append('LETTERS')\n",
    "        tracker2 += \"7\"\n",
    "    if tokens[j + 11][0] == 'EQUALS':\n",
    "        tracker.append('EQUALS')\n",
    "        tracker2 += \"5\"\n",
    "    if tokens[j + 12][0] == 'NUMBER':\n",
    "        tracker.append('NUMBER')\n",
    "        tracker2 += \"6\"\n",
    "    if tokens[j + 13][0] == 'COMMA':\n",
    "        tracker.append('COMMA')\n",
    "        tracker2 += \"2\"\n",
    "    if tokens[j + 14][0] == 'LETTERS':\n",
    "        tracker.append('LETTERS')\n",
    "        tracker2 += \"7\"\n",
    "    if tokens[j + 15][0] == 'EQUALS':\n",
    "        tracker.append('EQUALS')\n",
    "        tracker2 += \"5\"\n",
    "    if tokens[j + 16][0] == 'NUMBER':\n",
    "        tracker.append('NUMBER')\n",
    "        tracker2 += \"6\"\n",
    "    if tokens[j + 17][0] == 'COMMA':\n",
    "        tracker.append('COMMA')\n",
    "        tracker2 += \"2\"\n",
    "    if tokens[j + 18][0] == 'LETTERS':\n",
    "        tracker.append('LETTERS')\n",
    "        tracker2 += \"7\"\n",
    "    if tokens[j + 19][0] == 'EQUALS':\n",
    "        tracker.append('EQUALS')\n",
    "        tracker2 += \"5\"\n",
    "    if tokens[j + 20][0] == 'NUMBER':\n",
    "        tracker.append('NUMBER')\n",
    "        tracker2 += \"6\"\n",
    "    if tokens[j + 21][0] == 'RBRACKET':\n",
    "        tracker.append('RBRACKET')\n",
    "        tracker2 += \"4\"\n",
    "    #print(f\"Tokens: {tracker}\")\n",
    "    #print(f\"tracker2: {tracker2}\")\n",
    "    master_pattern = \"7375627562756275627564\"\n",
    "                     # 7375627562756275627564\n",
    "    #print(f\"master pattern:  {master_pattern}\")\n",
    "    if tracker2 == master_pattern:\n",
    "        return True, \"Valid Newick sub-string.\"\n",
    "    else:\n",
    "        return False, \"Invalid Newick sub-string.\"\n",
    "\n",
    "\n",
    "def simplify13(text):\n",
    "    # Assuming that all infos of a string have been declared correct,\n",
    "    # the string is further tested for the balance of parentheses.\n",
    "    # print(\"\\nsimplify(text)\")\n",
    "    # print(f\"text: {text}\")\n",
    "    # Detect a pattern on the model  info = NodeB_3_x_2[a=2,b=2,x=3,y=7,r=2.3]\n",
    "    #info_words = r'[\\a-zA-Z_0-9_[_=_,\\] ]+'\n",
    "    #info_words = r'[a-zA-Z_][a-zA-Z_0-9_]*\\[x=-?[0-9]+(?:\\.[0-9]+)?,y=-?[0-9]+(?:\\.[0-9]+)?,r=-?[0-9]+(?:\\.[0-9]+)?\\]$'\n",
    "    info_words =  r'[a-zA-Z_0-9_]*\\[a=-?[0-9]+(?:\\.[0-9]+)?,b=-?[0-9]+(?:\\.[0-9]+)?,x=-?[0-9]+(?:\\.[0-9]+)?,y=-?[0-9]+(?:\\.[0-9]+)?,r=-?[0-9]+(?:\\.[0-9]+)?\\]'\n",
    "    starts = []\n",
    "    groups = []\n",
    "    for match in re.finditer(info_words, text):\n",
    "        #print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "        #print(f\"    starts at index: {match.start()}\")\n",
    "        starts.append(match.start())\n",
    "        groups.append(match.group())\n",
    "    number_of_infos = len(starts)\n",
    "    #print(f\"number_of_infos = {number_of_infos}\")\n",
    "    #print(f\"starts of infos: {starts}\")\n",
    "    #print(f\"groups or infos: {groups}\")\n",
    "    new_s = text\n",
    "    # All infos are replaced by the dumb variable n\n",
    "    for j in range(number_of_infos - 1, -1, -1):\n",
    "        #print(f\"start_of_info[{j}]:  {starts[j]},  len(groups[{j}]): {len(groups[j])}\")\n",
    "        new_s = replace_strig_of_length13(new_s, \"n\", starts[j], len(groups[j]))\n",
    "        #print(f\"new string = '{new_s}'\")\n",
    "    # Balance of parentheses is inquired.\n",
    "    new_s = new_s.replace(\"n,\", \"\")\n",
    "    new_s = new_s.replace(\"n\", \"\")\n",
    "    #print(f\"Simplified string = {new_s} \")\n",
    "    l = len(new_s)\n",
    "    #print(f\"Length of Simplified string = {l}\")\n",
    "    for i in range(l):\n",
    "      new_s = new_s.replace(\"()\", \"\")\n",
    "    final_length = len(new_s)\n",
    "    # print(f\"Final string = {new_s}, final_length = {final_length}\")\n",
    "    if final_length == 0:\n",
    "        #print(\"Valid string at simplify\")\n",
    "        return True,  \"Valid Newick string.\"\n",
    "    else:\n",
    "        #print(\"Invalid string at simplify\")\n",
    "        return False, \"Invalid Newick string.\"\n",
    "\n",
    "\n",
    "\n",
    "def validate_newick_syntax13(newick_str):\n",
    "    \"\"\"\n",
    "    Validates if a Newick string is syntactically correct.\n",
    "    This function checks for balanced parentheses, proper comma usage for children,\n",
    "    and correct metadata format, without building a tree object.\n",
    "    \"\"\"\n",
    "    #print(\"Validating Newick syntax\")\n",
    "    tokens = []\n",
    "    try:\n",
    "        tokens = tokenize_newick13(newick_str)\n",
    "        #print(f\"newick_str: {newick_str}\")\n",
    "        #print(f\"Tokens: {tokens}\")\n",
    "    except SyntaxError as e:\n",
    "        return False, str(e)\n",
    "    if not tokens:\n",
    "        return False, \"Empty Newick string.\"\n",
    "    l = len(tokens)\n",
    "    #print(f\"Length of tokens: {l}\")\n",
    "    j = 0\n",
    "    indexes_of_tokens = []\n",
    "    if l == 1:\n",
    "        kind, value = tokens[j]\n",
    "        if kind == 'LETTERS': # NodeA\n",
    "            return True, \"Valid Newick string.\"\n",
    "        else:\n",
    "            return False, \"Invalid Newick string.\"\n",
    "    elif l == 2:\n",
    "        kind, value = tokens[j]\n",
    "        if kind == 'LETTERS' and tokens[1][0] == 'SEMICOLON': #NodeC;\n",
    "            return True, \"Valid Newick string.\"\n",
    "        else:\n",
    "            return False, \"Invalid Newick string.\"\n",
    "    elif 3 < l < 22: # No redundancy is assumed\n",
    "        return False, \"Invalid Newick string.\"\n",
    "    elif l >= 22:\n",
    "        #print(f\"Length of string: {l}\")\n",
    "        for j in range(l-20):\n",
    "            #print(f\"tokens[{j}]: {tokens[j]}\")\n",
    "            #print(f\"tokens[{j+1}]: {tokens[j+1]}\")\n",
    "            if tokens[j][0] == 'LETTERS' and tokens[j+1][0] == 'LBRACKET':\n",
    "                #print(f\"Starting index : {j}\".format(j=j))\n",
    "                indexes_of_tokens.append(j)\n",
    "                # info that starts at j is examined for correctness\n",
    "                is_valid13, message13 = examine_subsequence13(tokens, j)\n",
    "                if is_valid13:\n",
    "                    pass\n",
    "                else:\n",
    "                    return False, \"Invalid Newick string.\"\n",
    "        #print(f\"Starting indexes of tokens: {indexes_of_tokens }\")\n",
    "    is_valid13, message13 = simplify13(newick_str)\n",
    "    if is_valid13:\n",
    "        return True, \"Valid morpho-tree.\"\n",
    "    else:\n",
    "        return False, \"Invalid morpho-tree.\"\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "# Generate a sample of Newick strings that are immediately tested by a validator\n",
    "def test_validator13(max_depth, max_numb_children, max_node_radius):\n",
    "    # Specific test\n",
    "    model = \"NodeB_3_x_2[a=-1,b=0,x=-4,y=5,r=1.2]\"\n",
    "    #print(\"Simple test\")\n",
    "    #print(f\"Model of Newick String: {model}\")\n",
    "    is_valid, message = validate_newick_syntax13(model)\n",
    "    #print(f\"message: {message}\")\n",
    "    invalid_string = \"NodeB_3_x_2[a=-1,b=0,x=-4,y=5,r=1.2]]\"\n",
    "    #print(f\"\\nInvalid_string: {invalid_string}\")\n",
    "    is_valid, message = validate_newick_syntax13(invalid_string)\n",
    "    #print(f\"message: {message}\")\n",
    "    #print(\"\\n\")\n",
    "\n",
    "\n",
    "    #print(\"\\nMassive test of Newick formulas encoding for morpho-trees:\\n\" + \"=\"*47)\n",
    "    max_depth = 7\n",
    "    max_numb_children = 3\n",
    "    #print(f\"max_depth: {max_depth}\")\n",
    "    #print(f\"max_numb_children: {max_numb_children} \\n\"+ \"=\"*20)\n",
    "    for i in range(1, 100):\n",
    "        p, s = complete_tree_generator13(max_depth, max_numb_children, max_node_radius)\n",
    "        #print(f\"pattern {p}\")\n",
    "        #print(f\"Morpho-tree {i}: {s}\")\n",
    "        is_valid, message = validate_newick_syntax13(s)\n",
    "        #print(f\"is valid at main : {is_valid}, message: {message}\")\n",
    "        #status = \"✅ VALID\" if is_valid else \"❌ INVALID\"\n",
    "        #print(f\"Morpho-tree {i}:: {status} - {message}\")\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "# ======== DRAWING ================\n",
    "\n",
    "def get_illuminated_area13(x,y,r):\n",
    "    \"\"\"\n",
    "      The illuminated area enclosess all unitary squares that intersetcs the circles of illumination.\n",
    "      Each square is denoted by its left botton corner. These will be found in the set illuminated_coords.\n",
    "    \"\"\"\n",
    "    #print(\"get_illuminated_area13\")\n",
    "    #print(f\"x: {x}, y: {y}, r: {r}\")\n",
    "    illuminated_coords = set()\n",
    "\n",
    "\n",
    "    for xi,yi,ri in zip(x,y,r):\n",
    "        circle_center_x = xi + 0.5\n",
    "        circle_center_y = yi + 0.5\n",
    "        r_sq = ri ** 2\n",
    "        # 1. Add the cell containing the center of the circle\n",
    "        # This covers the case of small circles not intersecting grid lines.\n",
    "        illuminated_coords.add((math.floor(circle_center_x), math.floor(circle_center_y)))\n",
    "\n",
    "        # 2. Horizontal Scan: Check intersections with horizontal grid lines\n",
    "        # Iterate y_line from floor(cy - r) to ciel(cy + r)\n",
    "        # These y_line values represent the y-coordinates of horizontal grid lines.\n",
    "        for y_line in range(math.floor(circle_center_y - ri)-1,\n",
    "                            math.ceil(circle_center_y + ri) + 1):\n",
    "            dy = y_line - circle_center_y\n",
    "            discriminant = r_sq - dy * dy\n",
    "\n",
    "            if discriminant >= 0:\n",
    "                dx = math.sqrt(discriminant)\n",
    "                x_min_intersect = circle_center_x - dx\n",
    "                x_max_intersect = circle_center_x + dx\n",
    "\n",
    "                # For each integer x-coordinate that the horizontal segment crosses:\n",
    "                # Add the cells whose bottom-left corner's x-coordinate is in this range.\n",
    "                # This covers cells whose top edge is y_line AND cells whose bottom edge is y_line.\n",
    "                for ix in range(math.floor(x_min_intersect), math.floor(x_max_intersect) + 1):\n",
    "                    illuminated_coords.add((ix, y_line))\n",
    "                    illuminated_coords.add((ix, y_line - 1))\n",
    "\n",
    "        # 3. Vertical Scan: Check intersections with vertical grid lines\n",
    "        # Iterate x_line from floor(cx - r) to ciel(cx + r)\n",
    "        # These x_line values represent the x-coordinates of vertical grid lines.\n",
    "        for x_line in range(math.floor(circle_center_x - ri)-1,\n",
    "                            math.ceil(circle_center_x + ri) + 1):\n",
    "            dx = x_line - circle_center_x\n",
    "            discriminant = r_sq - dx * dx\n",
    "\n",
    "            if discriminant >= 0:\n",
    "                dy = math.sqrt(discriminant)\n",
    "                y_min_intersect = circle_center_y - dy\n",
    "                y_max_intersect = circle_center_y + dy\n",
    "\n",
    "                # For each integer y-coordinate that the vertical segment crosses:\n",
    "                # Add the cells whose bottom-left corner's y-coordinate is in this range.\n",
    "                # This covers cells whose right edge is x_line AND cells whose left edge is x_line.\n",
    "                for iy in range(math.floor(y_min_intersect), math.floor(y_max_intersect) + 1):\n",
    "                    # Cell (x_line, iy) - its left edge is at x_line\n",
    "                    illuminated_coords.add((x_line, iy))\n",
    "                    # Cell (x_line - 1, iy) - its right edge is at x_line\n",
    "                    illuminated_coords.add((x_line - 1, iy))\n",
    "    # print(f\"illuminated_coords  {illuminated_coords}\")\n",
    "\n",
    "    return illuminated_coords\n",
    "\n",
    "\n",
    "def plot_illuminated_area_newick13(ax, illuminated_coords, title, color='blue', alpha=0.1):\n",
    "    ax.set_aspect('equal', adjustable='box')\n",
    "    if not illuminated_coords:\n",
    "        ax.set_title(title)\n",
    "        ax.grid(True)\n",
    "        return\n",
    "\n",
    "    for x, y in illuminated_coords:\n",
    "        rect = patches.Rectangle((x, y), 1, 1, facecolor=color, alpha=alpha, edgecolor='black', linewidth=0.5)\n",
    "        ax.add_patch(rect)\n",
    "\n",
    "    min_x = min(c[0] for c in illuminated_coords) - 1\n",
    "    max_x = max(c[0] for c in illuminated_coords) + 2\n",
    "    min_y = min(c[1] for c in illuminated_coords) - 1\n",
    "    max_y = max(c[1] for c in illuminated_coords) + 2\n",
    "    #print(f\"min_x: {min_x}, max_x: {max_x}, min_y: {min_y}, max_y: {max_y}\")\n",
    "\n",
    "    ax.set_xlim(min_x, max_x)\n",
    "    ax.set_ylim(min_y, max_y)\n",
    "    ax.set_xticks(range(int(min_x), int(max_x)))\n",
    "    ax.set_yticks(range(int(min_y), int(max_y)))\n",
    "    ax.grid(True)\n",
    "    ax.set_title(title)\n",
    "\n",
    "\n",
    "\n",
    "def plot_tree_nodes_and_their_diffusion_circles13(x,y,r, ax, tree_color='lightblue', diff_color='red'):\n",
    "  for xi,yi,ri in zip(x,y,r):\n",
    "    # Plot the square representing the cell\n",
    "    rect = patches.Rectangle((xi, yi), 1, 1, facecolor=tree_color, edgecolor='black', linewidth=1, zorder=1)\n",
    "    ax.add_patch(rect)\n",
    "    #node_label_part = node.value.split('_')[-1] if '_' in node.value else node.value\n",
    "    #ax.text(xi + 0.5, yi + 0.5, node_label_part, ha='center', va='center', color='darkblue', fontsize=7, zorder=2)\n",
    "\n",
    "    # Plot the circle representing the radius of influence\n",
    "    circle = patches.Circle((xi + 0.5, yi + 0.5), ri, color='red', alpha=0.1, zorder=2)\n",
    "    ax.add_patch(circle)\n",
    "\n",
    "def find_leaves(newick_string):\n",
    "    \"\"\"Detect leaves in a Newick string.\"\"\"\n",
    "    #print(\"\\n\\nfind_leaves\")\n",
    "    #print(f\"Newick String: {newick_string}\")\n",
    "\n",
    "    # Detection of leaves.\n",
    "    # Dectect substrings of the form \"(...)\" but without interior parentheses.\n",
    "    pattern_leaves = r'[(][^()]*[)]'\n",
    "    # Leaves may come grouped by bouquets\n",
    "    bouquets_of_leaves = re.findall(pattern_leaves, newick_string )\n",
    "    #print(f\"Bouquets_of_leaves: {bouquets_of_leaves}\")\n",
    "    all_leaves = []\n",
    "    # Descipher each leaf and find the father\n",
    "    for bouquet_of_leaves in bouquets_of_leaves:\n",
    "        bouquet_of_leaves = bouquet_of_leaves[1:-1]\n",
    "        leaves = detect_all_groups13(bouquet_of_leaves)\n",
    "        for loaf in leaves:\n",
    "          loaf = loaf.replace(\" \", \"\")\n",
    "          all_leaves.append(loaf)\n",
    "    return all_leaves\n",
    "\n",
    "\n",
    "\n",
    "def connect_leaves_to_father13(newick_string, ax, tree_color='lightblue', diff_color='red'):\n",
    "    \"\"\"Draw lines connecting leaves to fathers\"\"\"\n",
    "\n",
    "    #print(\"\\n\\nconnect_leaves_to_father13\")\n",
    "    #print(f\"Newick String: {newick_string}\")\n",
    "\n",
    "    all_leaves = find_leaves(newick_string)\n",
    "    for leaf in all_leaves:\n",
    "        [al,bl,xl,yl,rl] = extract_info13(leaf)\n",
    "        #print(f\"Info: a: {al}, b: {bl}, x: {xl}, y: {yl}, r: {rl}\")\n",
    "\n",
    "        # Task: Find the father of the leaf.\n",
    "        # It is the node after the last leaf\n",
    "        # Example:\n",
    "        # (Node9[x=-11,y=19.7,r=12.4567],Node8[x=0,y=7,r=15],Node7[x=6,y=16,r=9])Node6[x=17,y=9,r=20]\n",
    "        # The father of Node9, Node8, and Node7 is Node 6.\n",
    "        # The father of a node is found after the first unbalanced right parenthesis.\n",
    "        index_nex_right_par = newick_string.find(\")\", newick_string.find(leaf))\n",
    "        father_with_tail = newick_string[index_nex_right_par+1:]\n",
    "        father_group = detect_all_groups13(father_with_tail)\n",
    "        if father_group:\n",
    "          [af,bf,xf,yf,rf]  = extract_info13(father_group[0])\n",
    "          #father_center = (xf,yf)\n",
    "          ax.plot([xl + 0.5, xf + 0.5], [yl + 0.5, yf + 0.5], 'k--', linewidth=0.8, zorder = 3)\n",
    "    # Leaves are erased: each leave is replaced by \"\"\n",
    "    for leaf in all_leaves:\n",
    "          #print(f\"leaf to be erased: {leaf}\")\n",
    "          newick_string = newick_string.replace(leaf + \",\", \"\")\n",
    "          newick_string = newick_string.replace(leaf, \"\")\n",
    "          #print(f\"Newick String without leaves: {newick_string}\")\n",
    "    newick_string = newick_string.replace(\"()\", \"\")\n",
    "    #print(f\"Newick String without leaves: {newick_string}\")\n",
    "    #is_valid, message = validate_newick_syntax13(newick_string)\n",
    "    #print(f\"is valid at connect_leaves_to_father13(...) : {is_valid}, message: {message}\")\n",
    "    #status = \"✅ VALID\" if is_valid else \"❌ INVALID\"\n",
    "    #print(f\"Is the Newick string a valid morpho-tree? : {status} - {message}\")\n",
    "    groups = detect_all_groups13(newick_string)\n",
    "    number_of_groups = len(groups)\n",
    "    return newick_string, number_of_groups\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "def draw_tree_links13(newick_string, ax,   diff_color='red' ):\n",
    "    \"\"\"Draw lines connecting children to father.\n",
    "       1. Each leaf is connected to its father,\n",
    "          and the corresponding stroke is plotted.\n",
    "       2. Leaves are erased.\n",
    "       3. New leaves are detected and connected to their father.\n",
    "       4, And so on.\n",
    "       \"\"\"\n",
    "\n",
    "    #print(\"draw_tree_links13\")\n",
    "    #print(f\"Newick String: {newick_string}\")\n",
    "    length_string = len(newick_string)\n",
    "    #print(f\"length_string: {length_string}\")\n",
    "    groups = detect_all_groups13(newick_string)\n",
    "    #print(f\"Groups: {groups}\")\n",
    "    number_of_groups = len(groups)\n",
    "    # Leaves are recursively found and connected to their father.\n",
    "    counter_of_trials = 0\n",
    "    while number_of_groups > 1:\n",
    "        #print(\"\\n\\ndraw_tree_links13\")\n",
    "        #print(f\"Newick String: {newick_string}\")\n",
    "\n",
    "        newick_string, number_of_groups = connect_leaves_to_father13(newick_string, ax, tree_color='lightblue', diff_color='red')\n",
    "        counter_of_trials = counter_of_trials + 1\n",
    "        if counter_of_trials > length_string:\n",
    "          break\n",
    "    # The root is detected and marked with a cross\n",
    "    groups = detect_all_groups13(newick_string)\n",
    "    #print(f\"Groups: {groups}\")\n",
    "    number_of_groups = len(groups)\n",
    "    #print(f\"number_of_groups = {number_of_groups}\")\n",
    "    # Mark the root with a red cross\n",
    "    if number_of_groups >= 1:\n",
    "      [a0,b0,x0,y0,r0] = extract_info13(groups[-1])\n",
    "      #print(f\"Origin: a: {a0}, b: {b0}, x: {x0}, y: {y0}, r: {r0}\")\n",
    "      ax.plot([x0, x0 +1 ], [y0+ 0.5, y0+ 0.5],   color = 'red', linewidth=0.8, zorder = 3)\n",
    "      ax.plot([x0 + 0.5, x0 +0.5], [y0, y0+ 1],   color = 'red', linewidth=0.8, zorder = 3)\n",
    "    return newick_string, number_of_groups\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "def draw_tree_newick13(newick_string, title):\n",
    "    #print(\"\\n=========== DRAWING=======\\n\")\n",
    "    #print(\"=========== DRAWING=======\\n\")\n",
    "    #print(\"=========== DRAWING=======\\n\")\n",
    "    a,b,x,y,r = extract_all_infos13(newick_string)\n",
    "    fig, ax = plt.subplots(figsize=(7, 15))\n",
    "    ax.set_aspect('equal')\n",
    "    plot_tree_nodes_and_their_diffusion_circles13(x,y,r, ax, tree_color='lightgreen', diff_color='red')\n",
    "\n",
    "    # Illuminated area is calculated\n",
    "    illuminated_coords = get_illuminated_area13(x,y,r)\n",
    "    #print(f\"Illuminated cells: {illuminated_coords}\")\n",
    "    #print(f\"Number of illuminated cells: {len(illuminated_coords)}\")\n",
    "    # Tree is drawn\n",
    "    #title = \"morpho-tree: lightgreen, illuminated circles: red, illuminated Area: lightblue\"\n",
    "    plot_illuminated_area_newick13(ax, illuminated_coords, title, color='blue', alpha=0.1)\n",
    "    # Lines that define the tree are added\n",
    "    draw_tree_links13(newick_string, ax, diff_color='red'  )\n",
    "\n",
    "    plt.tight_layout()\n",
    "    plt.show()\n",
    "    return illuminated_coords\n",
    "\n",
    "\n",
    "# Generate the  Newick string of a morpho-tree, test and draw it\n",
    "# def generate_test_and_draw_morpho_tree(target_tree_params['max_depth'], target_tree_params['max_number_children'], target_tree_params['max_node_radius'] ):\n",
    "def generate_and_test_morpho_tree13(ga_params):\n",
    "    #print(\"generate_and_test_morpho_tree( ga_params)\"\"\n",
    "\n",
    "    newick_tree = complete_tree_generator13(ga_params['max_depth'], ga_params['max_number_children'], ga_params['max_node_radius']) #line 264\n",
    "    #newick_tree = complete_tree_generator13(max_depth, max_numb_children, max_node_radius) #line 264\n",
    "    is_valid, message = validate_newick_syntax13(newick_tree)\n",
    "    illuminated_coords = set()\n",
    "    \n",
    "    if is_valid:\n",
    "        a,b,x,y,r = extract_all_infos13(newick_tree)\n",
    "        illuminated_coords = get_illuminated_area13(x,y,r)\n",
    "    else:\n",
    "      print(\"Newick string is not valid\")\n",
    "    \"\"\"\n",
    "    is_valid, message = validate_newick_syntax13(newick_tree)\n",
    "    print(f\"is the Newick String valid?: {is_valid}, message: {message}\")\n",
    "    status = \"✅ VALID\" if is_valid else \"❌ INVALID\"\n",
    "    print(f\"Is the Newick string a valid morpho-tree? : {status} - {message}\")\n",
    "    \"\"\"\n",
    "    return newick_tree, illuminated_coords\n",
    "\n",
    "\n",
    "# --- Evoluciónary functions ---\n",
    "\n",
    "def create_initial_population_newick13(pop_size=ga_params['pop_size'], max_depth=ga_params['max_depth'], max_children=ga_params['max_number_children'],  max_node_radius=ga_params['max_node_radius'] ):\n",
    "    population = []\n",
    "    for _ in range(pop_size):\n",
    "        new_tree = complete_tree_generator13(max_depth, max_children, max_node_radius)\n",
    "        population.append(new_tree)\n",
    "    return population\n",
    "\n",
    "def get_illuminated_coordinates13(newick_string):\n",
    "  \"\"\"Coordinates of illuminated cells are extracted from the Newick string\"\"\"\n",
    "  a,b,x,y,r = extract_all_infos13(newick_string)\n",
    "  # Illuminated area is calculated\n",
    "  illuminated_coords = get_illuminated_area13(x,y,r)\n",
    "  ##print(f\"Illuminated cells: {illuminated_coords}\")\n",
    "  ##print(f\"Number of illuminated cells: {len(illuminated_coords)}\")\n",
    "  return illuminated_coords\n",
    "\n",
    "def calculate_fitness_illumination13(candidate_tree_root, target_illuminated_area):\n",
    "    \"\"\"\n",
    "    Calculates fitness based on the symmetric difference between illuminated areas.\n",
    "    Fitness is 1.0 for a perfect match, and decreases as symmetric difference increases.\n",
    "    Reuse of a previous code by Gemini 2.5 Flash\n",
    "    \"\"\"\n",
    "    if candidate_tree_root is None:\n",
    "        # If the tree generation failed, assign a very low fitness\n",
    "        return 0.0001 # A small non-zero value to avoid division by zero issues later\n",
    "\n",
    "    candidate_illuminated_area = get_illuminated_coordinates13(candidate_tree_root)\n",
    "\n",
    "    # Symmetric difference: (A U B) - (A intersect B)\n",
    "    # Or, the elements in A but not B, plus elements in B but not A.\n",
    "    symmetric_difference = candidate_illuminated_area.symmetric_difference(target_illuminated_area)\n",
    "\n",
    "    # Union size: used for normalization\n",
    "    union_size = len(candidate_illuminated_area.union(target_illuminated_area))\n",
    "\n",
    "    if union_size == 0:\n",
    "        if not target_illuminated_area and not candidate_illuminated_area:\n",
    "            return 1.0 # Perfect match if both are empty\n",
    "        else:\n",
    "            return 0.0001 # Should not happen if target is non-empty, but handles cases where both are empty but expected non-empty\n",
    "\n",
    "    # Fitness is 1.0 - (len(symmetric_difference) / union_size)\n",
    "    # This gives 1.0 for a perfect match (symmetric_difference_area = 0)\n",
    "    # and approaches 0.0 for large differences.\n",
    "    fitness = 1.0 - (len(symmetric_difference) / union_size)\n",
    "    return max(0.0001, fitness) # Ensure fitness is always positive\n",
    "\n",
    "\n",
    "def select_parents_newick(population, fitness_scores, num_parents):\n",
    "    parents = []\n",
    "    # Use roulette wheel selection or tournament selection. Tournament is generally robust.\n",
    "    for _ in range(num_parents):\n",
    "        tournament_size = min(5, len(population))\n",
    "        if tournament_size == 0:\n",
    "            break\n",
    "        tournament_candidates = random.sample(list(zip(population, fitness_scores)), tournament_size)\n",
    "        winner = max(tournament_candidates, key=lambda x: x[1])[0]\n",
    "        parents.append(winner)\n",
    "    return parents\n",
    "\n",
    "def find_recombinant_branch13(newick_string):\n",
    "  # A full functional branch is recognized because it is enclosed by ()\n",
    "  # and everything inside is full functional.\n",
    "  # We simply keep an accounting of parentheses pairing\n",
    "  #print(\"\\nfind_branch\")\n",
    "  #print(f\"newick_string: {newick_string}\")\n",
    "  pattern_left_par = r'[(]'\n",
    "  starts = []\n",
    "  groups = []\n",
    "  for match in re.finditer(pattern_left_par, newick_string):\n",
    "      #print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "      starts.append(match.start())\n",
    "      groups.append(match.group())\n",
    "  number_of_infos = len(starts)\n",
    "  #print(f\"number_of_infos = {number_of_infos}\")\n",
    "  #print(f\"starts: {starts}\")\n",
    "  #print(f\"groups: {groups}\")\n",
    "  if number_of_infos == 0: # The root is alone\n",
    "    return newick_string\n",
    "  # Select a start index at random\n",
    "  start_idx = random.randint(0, number_of_infos-1)\n",
    "  #print(f\"selected start_idx: {start_idx}\")\n",
    "  start_idx = starts[start_idx]\n",
    "  #print(f\"start_idx: {start_idx}\")\n",
    "  tail = newick_string[start_idx:]\n",
    "  #print(f\"tail: {tail}\")\n",
    "  # Balance accounting\n",
    "  counter_of_pars = 0\n",
    "  for i in range(len(tail)):\n",
    "    if tail[i] == \"(\":\n",
    "      counter_of_pars = counter_of_pars + 1\n",
    "    if tail[i] == \")\":\n",
    "      counter_of_pars = counter_of_pars - 1\n",
    "    if counter_of_pars == 0:\n",
    "      branch = tail[: i+1]\n",
    "      #print(f\"Functional branch: {branch}\")\n",
    "      break\n",
    "  return branch\n",
    "\n",
    "\n",
    "def newick_position_branch_recombination13(newick_string1, newick_string2):\n",
    "  \"\"\" Recombination of full functional branches\"\"\"\n",
    "  #print(\"\\nnewick_position_branch_recombination13\")\n",
    "  #print(f\"newick_string1: {newick_string1}\")\n",
    "  #print(f\"newick_string2: {newick_string2}\")\n",
    "  branch1 = find_recombinant_branch13(newick_string1)\n",
    "  branch2 = find_recombinant_branch13(newick_string2)\n",
    "  #print(f\"\\nbranch1: {branch1}\")\n",
    "  #print(f\"branch2: {branch2}\")\n",
    "  # Branches are interchanged\n",
    "  newick_string1 = newick_string1.replace(branch1, branch2)\n",
    "  newick_string2 = newick_string2.replace(branch2, branch1)\n",
    "  return newick_string1, newick_string2\n",
    "\n",
    "def newick_leaves_recombination13(newick_string1, newick_string2):\n",
    "  \"\"\" Recombination of full functional branches\"\"\"\n",
    "  #print(\"\\nnewick_leaves_recombination13\")\n",
    "  #print(f\"newick_string1: {newick_string1}\")\n",
    "  #print(f\"newick_string2: {newick_string2}\")\n",
    "  leaves1 = find_leaves(newick_string1)\n",
    "  leaves2 = find_leaves(newick_string2)\n",
    "  if not leaves1 or not leaves2:\n",
    "    return newick_string1, newick_string2\n",
    "  # Select a leaf at random from each tree\n",
    "  leaf1 = random.choice(leaves1)\n",
    "  leaf2 = random.choice(leaves2)\n",
    "  #print(f\"\\nleaf1: {leaf1}\")\n",
    "  #print(f\"leaf2: {leaf2}\")\n",
    "  # Leaves are interchanged\n",
    "  newick_string1 = newick_string1.replace(leaf1, leaf2)\n",
    "  newick_string2 = newick_string2.replace(leaf2, leaf1)\n",
    "  return newick_string1, newick_string2\n",
    "\n",
    "\n",
    "def find_occupied_squares13(newick_string):\n",
    "    \"\"\"Detects all the occupied squares in a tree\"\"\"\n",
    "    occupied_squares_set = set()\n",
    "    groups = detect_all_groups13(newick_string)\n",
    "    for group in groups:\n",
    "        [a,b,x,y,r] = extract_info13(group)\n",
    "        occupied_squares_set.add((x, y))\n",
    "    return occupied_squares_set\n",
    "\n",
    "def newick_mutation_of_radius13(newick_string):\n",
    "  # The pattern of the radius of illumination, r = 0.2\n",
    "  pattern_r = r'r=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  starts = []\n",
    "  groups = []\n",
    "  for match in re.finditer(pattern_r, newick_string):\n",
    "      #print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "      starts.append(match.start())\n",
    "      groups.append(match.group())\n",
    "  number_of_infos = len(starts)\n",
    "  #print(f\"number_of_infos = {number_of_infos}\")\n",
    "  #print(f\"starts: {starts}\")\n",
    "  #print(f\"groups: {groups}\")\n",
    "  # Select a start index at random\n",
    "  start_idx = random.randint(0, number_of_infos-1)\n",
    "  #print(f\"selected start_idx: {start_idx}\")\n",
    "  l = len(groups[start_idx])\n",
    "  #print(f\"l: {l}\")\n",
    "  # Select a new radius\n",
    "  new_radius = random.uniform(0.5, 2)\n",
    "  #print(f\"new_radius: {new_radius}\")\n",
    "\n",
    "  new_info = \"r=\" + str(new_radius)\n",
    "  #print(f\"new_info: {new_info}\")\n",
    "  # Replace the info\n",
    "  mutated_newick_string = replace_str_subsequence13(newick_string, starts[start_idx], starts[start_idx] + l, new_info)\n",
    "  #print(f\"newick_string: {newick_string}\")\n",
    "  return mutated_newick_string\n",
    "\n",
    " \n",
    "def newick_find_insertion_patterns13(newick_string):\n",
    "  \"\"\" All insertion patterns are found and one is chosen at random\"\"\"\n",
    "  # The pattern of groups on the image of\n",
    "  # Node4[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07]\n",
    "  insertion_pattern = r'[]][])]'\n",
    "  starts = []\n",
    "  groups = []\n",
    "  for match in re.finditer(insertion_pattern, newick_string):\n",
    "      #print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "      starts.append(match.start())\n",
    "      groups.append(match.group())\n",
    "  number_of_patterns = len(starts)\n",
    "  #print(f\"starts: {starts}\")\n",
    "  #print(f\"groups: {groups}\")\n",
    "  start_idx = 0\n",
    "  if groups:\n",
    "    # Select a start index at random\n",
    "    start_idx = random.randint(0, number_of_patterns-1)\n",
    "    group = groups[start_idx]\n",
    "    start = starts[start_idx]\n",
    "    #print(f\"group: {group}\")\n",
    "    #print(f\"start: {start}\")\n",
    "  else:\n",
    "    group = \"\"\n",
    "    start = 0\n",
    "  return group, start\n",
    " \n",
    "\n",
    "def insertion_of_branch13(newick_string):\n",
    "  #original_newick_string = newick_string\n",
    "  # The pattern of groups on the image of\n",
    "  # Node4[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07]\n",
    "  # A group together its start site are elected\n",
    "  group, start =  newick_find_insertion_patterns13(newick_string)\n",
    "  # String to be inserted\n",
    "  # child_string = \"(Node15[a=-1.0,b=0.0,x=-2.0,y=-1.0,r=0.83],Node14[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07])Node1[a=-1.0,b=-1.0,x=-1.0,y=-1.0,r=0.95]\"\n",
    "  child_string = complete_tree_generator13(max_depth = 2, max_numb_children = 2, max_node_radius= 1.5)\n",
    "  if group:\n",
    "    #print(f\"Group (main): {group}\")\n",
    "    #print(f\"Start (main): {start}\")\n",
    "    # Does the group have children?\n",
    "    #char_before = newick_string[start-1]\n",
    "    #print(f\"char_before: {char_before}\")\n",
    "\n",
    "    newick_string = newick_string.replace(\"])\", \"],\" + child_string + \")\")\n",
    "  else:\n",
    "    # a tree is given as a child to the root\n",
    "    newick_string = \"(\" + child_string + \")\" + newick_string\n",
    "  # Cosmetics\n",
    "  #newick_string = newick_string.replace(\",,\", \",\")\n",
    "\n",
    "  # Comparison\n",
    "  #print(f\"Original Newick string: {original_newick_string}\")\n",
    "  #print(f\"Final Newick_string: {newick_string}\")\n",
    "  return newick_string\n",
    "\n",
    "def select_one_insertion_pattern_left_parenthesis_13(newick_string, counter, max_illumination_radius):\n",
    "  \"\"\" All insertion patterns (N  are found and one is chosen at random\n",
    "      The new info will be inserted to the right of the parenthesis\"\"\"\n",
    "  # The pattern of groups on the image of\n",
    "  # Node4[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07]\n",
    "  insertion_pattern = r'[(][N]'\n",
    "  starts = []\n",
    "  groups = []\n",
    "  for match in re.finditer(insertion_pattern, newick_string):\n",
    "      #print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "      starts.append(match.start())\n",
    "      groups.append(match.group())\n",
    "  number_of_patterns = len(starts)\n",
    "  #print(f\"starts: {starts}\")\n",
    "  #print(f\"groups: {groups}\")\n",
    "  start_idx = 0\n",
    "  if groups:\n",
    "    # Select a start index at random\n",
    "    start_idx = random.randint(0, number_of_patterns-1)\n",
    "    group = groups[start_idx]\n",
    "    start = starts[start_idx]\n",
    "    #print(f\"group: {group}\")\n",
    "    #print(f\"start: {start}\")\n",
    "  else:\n",
    "    group = \"\"\n",
    "    start = 0\n",
    "  #print(f\"Group130: {group}\")\n",
    "  # String to be inserted\n",
    "  father_center = find_father_center13(newick_string, start)\n",
    "  #print(f\"Father center: {father_center}\")\n",
    "  occupied_squares_set = find_occupied_squares13(newick_string)\n",
    "  info, occupied_squares_set = node_info_generator13(father_center, counter,  occupied_squares_set, max_illumination_radius)\n",
    "  info = info.replace(\"()\", \"\")\n",
    "  child_string = info \n",
    "  if group:\n",
    "      #print(f\"Group (main): {group}\")\n",
    "      #print(f\"Start (main): {start}\")\n",
    "      # The child string is inserted between ] and ) at place start\n",
    "      #print(f\"Child string: {child_string}\")\n",
    "      #print(f\"Newick string before insertion_point: {newick_string[:start+1]}\")\n",
    "      #print(f\"Newick string after insertion_point: {newick_string[start+2:]}\")\n",
    "      newick_string = newick_string[:start+1] + \"(\" + child_string +  \")\" + newick_string[start+1:]\n",
    "      #print(f\"Newick string after insertion****: {newick_string}\")\n",
    "  else:\n",
    "      # a node in the info is given as a child to the root\n",
    "      newick_string = \"(\" + child_string + \")\" + newick_string\n",
    "    # Cosmetics\n",
    "    #newick_string = newick_string.replace(\",,\", \",\")\n",
    "  \n",
    "    # Comparison\n",
    "    #print(f\"Original Newick string: {original_newick_string}\")\n",
    "    #print(f\"Final Newick_string: {newick_string}\")\n",
    "  return newick_string\n",
    "\n",
    " \n",
    "def select_one_insertion_pattern_comma_13(newick_string, counter, max_illumination_radius):\n",
    "  \"\"\" All  commas are found and one is chosen at random,\n",
    "  the child will be inserted after the comma\"\"\"\n",
    "  # The pattern of groups on the image of\n",
    "  # Node4[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07]\n",
    "  insertion_pattern = r'[]][,]'\n",
    "  starts = []\n",
    "  groups = []\n",
    "  for match in re.finditer(insertion_pattern, newick_string):\n",
    "      #print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "      starts.append(match.start())\n",
    "      groups.append(match.group())\n",
    "  number_of_patterns = len(starts)\n",
    "  #print(f\"starts: {starts}\")\n",
    "  #print(f\"groups: {groups}\")\n",
    "  start_idx = 0\n",
    "  if groups:\n",
    "    # Select a start index at random\n",
    "    start_idx = random.randint(0, number_of_patterns-1)\n",
    "    group = groups[start_idx]\n",
    "    start = starts[start_idx]\n",
    "    #print(f\"group: {group}\")\n",
    "    #print(f\"start: {start}\")\n",
    "  else:\n",
    "    group = \"\"\n",
    "    start = 0\n",
    "  #print(f\"Group130: {group}\")\n",
    "  # String to be inserted\n",
    "  father_center = find_father_center13(newick_string, start)\n",
    "  #print(f\"Father center: {father_center}\")\n",
    "  occupied_squares_set = find_occupied_squares13(newick_string)\n",
    "  info, occupied_squares_set = node_info_generator13(father_center, counter,  occupied_squares_set, max_illumination_radius)\n",
    "  info = info.replace(\"()\", \"\")\n",
    "  child_string = info \n",
    "  \n",
    "  if group:\n",
    "      #print(f\"Group (main): {group}\")\n",
    "      #print(f\"Start (main): {start}\")\n",
    "      # The child string is inserted between ] and ) at place start\n",
    "      #print(f\"Child string: {child_string}\")\n",
    "      #print(f\"Newick string before insertion_point: {newick_string[:start+1]}\")\n",
    "      #print(f\"Newick string after insertion_point: {newick_string[start+2:]}\")\n",
    "      newick_string = newick_string[:start+2] + \"(\" + child_string + \")\" + newick_string[start+2:]\n",
    "      #print(f\"Newick string after insertion****: {newick_string}\")\n",
    "  else:\n",
    "      # a node in the info is given as a child to the root\n",
    "      newick_string = \"(\" + child_string + \")\" + newick_string\n",
    "    # Cosmetics\n",
    "    #newick_string = newick_string.replace(\",,\", \",\")\n",
    "  \n",
    "    # Comparison\n",
    "    #print(f\"Original Newick string: {original_newick_string}\")\n",
    "    #print(f\"Final Newick_string: {newick_string}\")\n",
    "  return newick_string\n",
    "\n",
    "def select_one_insertion_pattern_parentheses_13(newick_string, counter, max_illumination_radius):\n",
    "  \"\"\" All insertion patterns ]) are found and one is chosen at random\n",
    "      The new info will be inserted between ] and ) as a brother\"\"\"\n",
    "  # The pattern of groups on the image of\n",
    "  # Node4[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07]\n",
    "  insertion_pattern = r'[]][)]'\n",
    "  starts = []\n",
    "  groups = []\n",
    "  for match in re.finditer(insertion_pattern, newick_string):\n",
    "      #print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "      starts.append(match.start())\n",
    "      groups.append(match.group())\n",
    "  number_of_patterns = len(starts)\n",
    "  #print(f\"starts: {starts}\")\n",
    "  #print(f\"groups: {groups}\")\n",
    "  start_idx = 0\n",
    "  if groups:\n",
    "    # Select a start index at random\n",
    "    start_idx = random.randint(0, number_of_patterns-1)\n",
    "    group = groups[start_idx]\n",
    "    start = starts[start_idx]\n",
    "    #print(f\"group: {group}\")\n",
    "    #print(f\"start: {start}\")\n",
    "  else:\n",
    "    group = \"\"\n",
    "    start = 0\n",
    "  #print(f\"Group130: {group}\")\n",
    "  # String to be inserted\n",
    "  father_center = find_father_center13(newick_string, start)\n",
    "  #print(f\"Father center: {father_center}\")\n",
    "  occupied_squares_set = find_occupied_squares13(newick_string)\n",
    "  info, occupied_squares_set = node_info_generator13(father_center, counter,  occupied_squares_set, max_illumination_radius)\n",
    "  info = info.replace(\"()\", \"\")\n",
    "  child_string = info \n",
    "  if group:\n",
    "      #print(f\"Group (main): {group}\")\n",
    "      #print(f\"Start (main): {start}\")\n",
    "      # The child string is inserted between ] and ) at place start\n",
    "      #print(f\"Child string: {child_string}\")\n",
    "      #print(f\"Newick string before insertion_point: {newick_string[:start+1]}\")\n",
    "      #print(f\"Newick string after insertion_point: {newick_string[start+2:]}\")\n",
    "      newick_string = newick_string[:start+1] + \",\" + child_string + newick_string[start+1:]\n",
    "      #print(f\"Newick string after insertion****: {newick_string}\")\n",
    "  else:\n",
    "      # a node in the info is given as a child to the root\n",
    "      newick_string = \"(\" + child_string + \")\" + newick_string\n",
    "    # Cosmetics\n",
    "    #newick_string = newick_string.replace(\",,\", \",\")\n",
    "  \n",
    "    # Comparison\n",
    "    #print(f\"Original Newick string: {original_newick_string}\")\n",
    "    #print(f\"Final Newick_string: {newick_string}\")\n",
    "  return newick_string\n",
    "\n",
    " \n",
    "\n",
    "\n",
    "def insertion_of_leaf13(newick_string, counter, max_illumination_radius):    #original_newick_string = newick_string\n",
    "    \"\"\" All insertion patterns are found and one is chosen at random\n",
    "        for the new info to be inserted \"\"\"\n",
    "    case = random.choice([1, 2, 3])  # Randomly choose between three insertion methods\n",
    "    match case:\n",
    "        case 1:\n",
    "            newick_string = select_one_insertion_pattern_comma_13(newick_string, counter, max_illumination_radius)\n",
    "        case 2:\n",
    "            newick_string = select_one_insertion_pattern_parentheses_13(newick_string, counter, max_illumination_radius)\n",
    "        case 3:\n",
    "            newick_string = select_one_insertion_pattern_left_parenthesis_13(newick_string, counter, max_illumination_radius)\n",
    "    newick_string = newick_string.replace(\",,\", \",\")\n",
    "    newick_string = newick_string.replace(\",)\", \")\")\n",
    "    newick_string = newick_string.replace(\"(,\", \"(\")\n",
    "    newick_string = newick_string.replace(\" \", \"\")\n",
    "    newick_string = newick_string.replace(\"()\", \"\")\n",
    "    return newick_string\n",
    "\n",
    "\n",
    "\n",
    "def deletion_of_leaf13(newick_string):\n",
    "    \"\"\"A leaf is deleted at random from the Newick string. \n",
    "        If there are no leaves, the original string is returned.\"\"\"\n",
    "    # All leaves are detected\n",
    "    leaves = find_leaves(newick_string)\n",
    "    if not leaves:\n",
    "        return newick_string  # No leaves to delete\n",
    "    # Select a leaf at random\n",
    "    leaf_to_delete = random.choice(leaves)\n",
    "    # Remove the selected leaf from the Newick string\n",
    "    newick_string = newick_string.replace(leaf_to_delete, \"\")\n",
    "    # Clean up any potential formatting issues (like double commas)\n",
    "    newick_string = newick_string.replace(\",,\", \",\")\n",
    "    newick_string = newick_string.replace(\",)\", \")\")\n",
    "    newick_string = newick_string.replace(\"(,\", \"(\")\n",
    "    return newick_string\n",
    "\n",
    "def find_branch13(newick_string, final_index):\n",
    "  initial_segment = newick_string[:final_index]\n",
    "  #print(f\"initial_segment: {initial_segment}\")\n",
    "  # Balance accounting\n",
    "  counter_of_pars = 0\n",
    "  branch = \"\"\n",
    "  for i in range(len(initial_segment)-1,-1,-1):\n",
    "    if initial_segment[i] == \"(\":\n",
    "      counter_of_pars = counter_of_pars + 1\n",
    "    if initial_segment[i] == \")\":\n",
    "      counter_of_pars = counter_of_pars - 1\n",
    "    if counter_of_pars == 0:\n",
    "      branch = initial_segment[i:final_index+1]\n",
    "      #print(f\"Branch to be deleted: {branch}\")\n",
    "      break\n",
    "  return branch\n",
    "\n",
    "\n",
    "def newick_find_all_groups13(newick_string):\n",
    "  \"\"\" All groups are found and one is chosen at random and returned\"\"\"\n",
    "  # The pattern of groups on the image of\n",
    "  # Node4[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07]\n",
    "  info_words =  r'[a-zA-Z_0-9_]*\\[a=-?[0-9]+(?:\\.[0-9]+)?,b=-?[0-9]+(?:\\.[0-9]+)?,x=-?[0-9]+(?:\\.[0-9]+)?,y=-?[0-9]+(?:\\.[0-9]+)?,r=-?[0-9]+(?:\\.[0-9]+)?\\]'\n",
    "  starts = []\n",
    "  groups = []\n",
    "  for match in re.finditer(info_words, newick_string):\n",
    "      #print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "      starts.append(match.start())\n",
    "      groups.append(match.group())\n",
    "  number_of_infos = len(starts)\n",
    "  if number_of_infos == 0: # The root is alone\n",
    "    return newick_string, 0\n",
    "  #print(f\"number_of_infos = {number_of_infos}\")\n",
    "  #print(f\"starts: {starts}\")\n",
    "  #print(f\"groups: {groups}\")\n",
    "  # Select a start index at random\n",
    "  start_idx = random.randint(0, number_of_infos-1)\n",
    "  #print(f\"selected start_idx: {start_idx}\")\n",
    "  return groups[start_idx], starts[start_idx]\n",
    "\n",
    "\n",
    "def deletion_of_branch13(newick_string ):\n",
    "  group, start =  newick_find_all_groups13(newick_string)\n",
    "  #print(f\"Group (main): {group}\")\n",
    "  #print(f\"Start (main): {start}\")\n",
    "  # Does the group have children?\n",
    "  char_before = newick_string[start-1]\n",
    "  #print(f\"char_before: {char_before}\")\n",
    "  if char_before ==  \")\":\n",
    "    #print(\"The group has children\")\n",
    "    #find branch\n",
    "    final_index = start-1\n",
    "    branch = find_branch13(newick_string, final_index+1)\n",
    "\n",
    "    branch_and_father = branch + group\n",
    "    #print(f\"  Branch and father to be deleted: {branch_and_father}\")\n",
    "    #delete group\n",
    "    newick_string = newick_string.replace(branch_and_father , \"\")\n",
    "  else:\n",
    "    #print(\"The group has no children\")\n",
    "    #delete group\n",
    "    newick_string = newick_string.replace(group, \"\")\n",
    "\n",
    "  # Cosmetics\n",
    "  newick_string = newick_string.replace(\",,\", \",\")\n",
    "  newick_string = newick_string.replace(\",)\", \")\")\n",
    "  newick_string = newick_string.replace(\"(,\", \"(\")\n",
    "  newick_string = newick_string.replace(\" \", \"\")\n",
    "  # Comparison\n",
    "  #print(f\"Original Newick string: {newick_string}\")\n",
    "  l = len(newick_string)\n",
    "  #print(f\"Length of newick_string: {l}\")\n",
    "  if l == 0 :\n",
    "     newick_string = \"Node_0[a=0,b=0,x=0,y=0,r=1]\"\n",
    "  #print(f\"Final Newick_string: {newick_string}\")\n",
    "  return newick_string\n",
    "\n",
    "\n",
    "def newick_mutation_branches13(newick_string):\n",
    "  # Mutation of radius of illumination and of complete branches\n",
    "  if random.random() <  ga_params['mutation_rate']:\n",
    "    newick_string = newick_mutation_of_radius13(newick_string)\n",
    "    newick_string = insertion_of_branch13(newick_string)\n",
    "    newick_string = deletion_of_branch13(newick_string)\n",
    "  return newick_string\n",
    "\n",
    "def newick_mutation_leaves13(newick_string, ga_params):\n",
    "  \"\"\"Radius is mutated, and only leaves can be inserted or deleted\"\"\"\n",
    "  if random.random() <  ga_params['mutation_rate']:\n",
    "    # Mutation of radius of illumination and of complete leaves\n",
    "    newick_string = newick_mutation_of_radius13(newick_string)\n",
    "    newick_string = insertion_of_leaf13(newick_string, counter=random.randint(0, 1000), max_illumination_radius=ga_params['max_node_radius'])\n",
    "    newick_string = deletion_of_leaf13(newick_string)\n",
    "  return newick_string\n",
    "\n",
    "\n",
    "def plot_illuminated_area13(ax, illuminated_coords, title, color='blue', alpha=0.5):\n",
    "    ax.set_aspect('equal', adjustable='box')\n",
    "    if not illuminated_coords:\n",
    "        ax.set_title(title)\n",
    "        ax.grid(True)\n",
    "        return\n",
    "\n",
    "    for x, y in illuminated_coords:\n",
    "        rect = patches.Rectangle((x, y), 1, 1, facecolor=color, alpha=alpha, edgecolor='black', linewidth=0.5)\n",
    "        ax.add_patch(rect)\n",
    "\n",
    "    min_x = min(c[0] for c in illuminated_coords) - 1\n",
    "    max_x = max(c[0] for c in illuminated_coords) + 2\n",
    "    min_y = min(c[1] for c in illuminated_coords) - 1\n",
    "    max_y = max(c[1] for c in illuminated_coords) + 2\n",
    "\n",
    "    ax.set_xlim(min_x, max_x)\n",
    "    ax.set_ylim(min_y, max_y)\n",
    "    ax.set_xticks(range(int(min_x), int(max_x)))\n",
    "    ax.set_yticks(range(int(min_y), int(max_y)))\n",
    "    ax.grid(True)\n",
    "    ax.set_title(title)\n",
    "\n",
    "# --- MAIN EvoluciónARY SIMULATION LOOP ---\n",
    "\n",
    "def oneEvoluciónaryProcess13(target_tree_params, ga_params):\n",
    "    # A previous code by Gemini was reused.\n",
    "\n",
    "    # 1. Generate Target Tree and its Illuminated Area\n",
    "    #print(\"\\n--- Generating Target Tree ---\")\n",
    "    #random.seed(ga_params['seed'] + 1) # Use a different seed for target generation\n",
    "    target_tree, target_illuminated_area =  generate_and_test_morpho_tree13( ga_params)#926\n",
    "    print(f\"target_tree: {target_tree} \\n\\n\")\n",
    "    number_of_groups = count_groups13(target_tree)\n",
    "    print(f\"Number of groups or nodes in target tree: {number_of_groups}\")\n",
    "    length_of_target_tree = len(target_tree)\n",
    "    #draw_newick_string13(target_tree, \"Target Tree\")\n",
    "    # target_area = get_illuminated_coordinates13(target_tree)\n",
    "    #print(f\"Target illuminated area: {target_illuminated_area}\")\n",
    "\n",
    "    # 2. Initialize Population\n",
    "    #random.seed(ga_params['seed']) # Reset seed for GA population generation\n",
    "    #print(f\"\\n--- Initializing Population of {ga_params['pop_size']} Trees ---\")\n",
    "    population = create_initial_population_newick13(\n",
    "        pop_size=ga_params['pop_size'], max_depth=ga_params['max_depth'], max_children=ga_params['max_number_children'],\n",
    "        max_node_radius=ga_params['max_node_radius']  )\n",
    "    #print(f\"Population initialized with {len(population)} individuals.\")\n",
    "    #print(f\"Population: {population}\")\n",
    "\n",
    "    best_tree_overall = \"\"\n",
    "    best_fitness_overall = -1.0\n",
    "    history = []\n",
    "\n",
    "    # 3. Evoluciónary Loop\n",
    "    #print(f\"\\n--- Starting Evoluciónary Loop for {ga_params['generations']} Generations ---\")\n",
    "    for generation in range(ga_params['generations']):\n",
    "        if generation % 1000 == 0:\n",
    "            print(f\"\\n--- Generation {generation+1}/{ga_params['generations']}, Best fitness {round(best_fitness_overall, 5)} ---\")\n",
    "        fitness_scores = [calculate_fitness_illumination13(tree, target_illuminated_area)for tree in population]\n",
    "\n",
    "        current_best_fitness = max(fitness_scores)\n",
    "        current_best_tree = population[np.argmax(fitness_scores)]\n",
    "\n",
    "        if current_best_fitness > best_fitness_overall:\n",
    "            best_fitness_overall = current_best_fitness\n",
    "            best_tree_overall = copy.deepcopy(current_best_tree) # Deepcopy to save the best tree\n",
    "\n",
    "        history.append(current_best_fitness)\n",
    "\n",
    "        #print(f\"Generation {generation+1}/{ga_params['generations']}: Best Fitness = {current_best_fitness:.4f} (Overall Best: {best_fitness_overall:.4f})\")\n",
    "\n",
    "        if best_fitness_overall >= 0.999: # Almost perfect match\n",
    "            #print(\"Target illumination achieved (or very close)! Stopping Evolución.\")\n",
    "            return history, number_of_groups\n",
    "\n",
    "        # Selection\n",
    "        parents = select_parents_newick(population, fitness_scores, ga_params['pop_size'] // 2)\n",
    "\n",
    "        # Create next generation\n",
    "        next_population = []\n",
    "        # Elitism: Keep the best individual from the current generation\n",
    "        if best_tree_overall and current_best_fitness == best_fitness_overall: # Only if it's the current best in this generation\n",
    "            next_population.append(copy.deepcopy(current_best_tree))\n",
    "\n",
    "        while len(next_population) < ga_params['pop_size']:\n",
    "            if len(parents) < 2: # Not enough parents for crossover, fill with new random trees\n",
    "                new_tree =  complete_tree_generator13(target_tree_params['max_depth'], target_tree_params['max_number_children'], target_tree_params['max_node_radius'] )\n",
    "                if new_tree:\n",
    "                    next_population.append(new_tree)\n",
    "                continue\n",
    "\n",
    "            # Randomly pick two parents (can be the same parent multiple times with replacement for simplicity)\n",
    "            p1 = random.choice(parents)\n",
    "            p2 = random.choice(parents)\n",
    "            child1, child2 = p1,p2 # No crossover, just pass parents to children for mutation\n",
    "            if recombination_of_leaves:\n",
    "                # Crossover newick_position_branch_recombination13\n",
    "                # child1, child2 = newick_position_branch_recombination13(p1, p2)\n",
    "                # Crossover newick_leaves_recombination13\n",
    "                child1, child2 =newick_leaves_recombination13(p1,p2)\n",
    "            # Mutation: Apply mutation to both children\n",
    "            mutated_child1 = newick_mutation_leaves13(child1, ga_params)\n",
    "            mutated_child2 = newick_mutation_leaves13(child2, ga_params)\n",
    "\n",
    "\n",
    "            next_population.append(mutated_child1)\n",
    "            if len(next_population) < ga_params['pop_size']:\n",
    "                next_population.append(mutated_child2)\n",
    "\n",
    "        population = next_population[:ga_params['pop_size']]\n",
    "        # print(f\"Population size for next generation: {len(population)}\")\n",
    "        # print(f\"Best fitness this generation: {current_best_fitness:.4f}, Overall best fitness: {best_fitness_overall:.4f}\")\n",
    "        # print(f\"Best tree this generation: {current_best_tree}\")\n",
    "        # If you want to see the entire population, uncomment the following line:\n",
    "        # print(f\"Population: {population}\")\n",
    "        # Cutt-off for the length of the Newick string to avoid excessive growth\n",
    "        population = [tree for tree in population if len(tree) <= 2 * length_of_target_tree]  # Allow some growth but limit it\n",
    "        #print(f\"Population size after length cut-off: {len(population)}\")\n",
    "        # If the population is too small, refill\n",
    "        while len(population) < ga_params['pop_size']:\n",
    "            new_tree = complete_tree_generator13(target_tree_params['max_depth'], target_tree_params['max_number_children'], target_tree_params['max_node_radius'])\n",
    "            if new_tree:\n",
    "                population.append(new_tree) \n",
    "    #print(\"\\n--- Evolución Finished ---\")\n",
    "    #print(f\"Final Best Fitness: {best_fitness_overall:.4f}\")\n",
    "    #return target_tree, target_illuminated_area, best_tree_overall, best_fitness_overall, history, number_of_groups\n",
    "    \n",
    "    return history, number_of_groups\n",
    "        \n",
    "\n",
    "def draw_all_histories13(fitness_histories, numbers_of_nodes):\n",
    "    print(\"draw_all_historiesk4(fitness_histories, lengths_of_target_sequence)\")\n",
    "    # Plot all the fitness histories together\n",
    "    # By the AI of VSCode. \n",
    "    for i in range(len(fitness_histories)):\n",
    "        # x_range contains all numbers from 0 to the length of the fitness history for the current length of target sequence.\n",
    "        x_range = range(len(fitness_histories[i]))\n",
    "        plt.plot(x_range, fitness_histories[i], label=f'Number of nodes {numbers_of_nodes[i]}')\n",
    "    plt.xlabel('Generation')\n",
    "    plt.ylabel('Best Fitness')\n",
    "    plt.title('GA: Fitness of the best morpho-treeover Generations for Different number of nodes')\n",
    "    plt.grid(True)\n",
    "    plt.legend()\n",
    "    plt.show()\n",
    "\n",
    " \n",
    "def main13(target_tree_params, ga_params):\n",
    "    ''' An Evoluciónary process is triggered for each max_depth value.\n",
    "    Only max-depth values are changed, the other parameters remain constant.\n",
    "    The fitness history is stored in a list, \n",
    "    and then all the histories are plotted together.\n",
    "    '''\n",
    "    max_depth_values = [10, 25, 40  ]  # Example max_depth values for different lengths of target sequence\n",
    "    numbers_of_generations = [7001, 7002, 7003 ]  # Example numbers of generations for different lengths of target sequence\n",
    "    # List to store the normalized best fitness history for each length of target sequence   \n",
    "    fitness_histories = []\n",
    "    numbers_of_nodes = []  # Example numbers of generations for different lengths of target sequence\n",
    "    for i in range(len(max_depth_values)):\n",
    "        target_tree_params['max_depth'] = max_depth_values[i]\n",
    "        ga_params['generations'] =  numbers_of_generations[i]\n",
    "        ga_params['max_depth'] = max_depth_values[i]\n",
    "        print(f\"\\nRunning Evoluciónary process for max_depth = {target_tree_params['max_depth']} and generations = {ga_params['generations']}\")\n",
    "        history, number_of_groups = oneEvoluciónaryProcess13(target_tree_params, ga_params)\n",
    "        fitness_histories.append(history)\n",
    "        numbers_of_nodes.append(number_of_groups)\n",
    "    draw_all_histories13(fitness_histories, numbers_of_nodes)\n",
    "     \n",
    "    \n",
    "# Run an Evoluciónary process for each value of target tree and GA parameters\n",
    "# Produces a comparative graphic\n",
    "if __name__ == \"__main__\":\n",
    "    print_parameters13(target_tree_params, ga_params)\n",
    "    main13(target_tree_params, ga_params)\n",
    " \n",
    "    end_time = time.time()\n",
    "    Execution_time = end_time - start_time\n",
    "    # print(f\"Execution time: {Execution_time:.2f} seconds\")\n",
    "    # Execution time in hours, minutes and seconds:\n",
    "    hours = int(Execution_time // 3600)\n",
    "    minutes = int((Execution_time % 3600) // 60)\n",
    "    seconds = int(Execution_time % 60)\n",
    "    print(f\"Execution time: {hours} hours, {minutes} minutes, {seconds} seconds\")\n",
    "    if memory_monitoring:\n",
    "        # displaying the allocated memory\n",
    "        print(tracemalloc.get_traced_memory())\n",
    "        # stopping the memory allocation library\n",
    "        tracemalloc.stop()\n",
    "    \n",
    "# End of program Evolución_of_newick_morphological_trees13.py"
   ],
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "LAB: EVOLUTION OF NEWICK MORPHO-TREES\n",
      "PURPOSE: \n",
      " A random morpho-tree T is generated.\n",
      " Evolution tries to restore the tree T\n",
      " beginning from a population of random trees.\n",
      "EXPERIMENT 1791213327.6287968\n",
      "RECOMBINATION OF LEAVES: False\n",
      "INITIAL TARGET TREE PARAMETERS: {'max_depth': 10, 'max_number_children': 2, 'max_node_radius': 1.5}\n",
      "INITIAL GENETIC ALGORITHM PARAMETERS: {'pop_size': 70, 'generations': 100, 'max_depth': 10, 'max_number_children': 2, 'max_node_radius': 1.5, 'mutation_rate': 0.001, 'crossover_rate': 0.001}\n",
      "\n",
      "\n",
      "Running evolutionary process for max_depth = 10 and generations = 7001\n",
      "target_tree: ((((Node15[a=1.0,b=-1.0,x=3.0,y=0.0,r=1.09])Node10[a=1.0,b=1.0,x=2.0,y=1.0,r=0.67],(Node14[a=0.0,b=1.0,x=1.0,y=2.0,r=1.48],Node13[a=1.0,b=1.0,x=2.0,y=2.0,r=0.62])Node9[a=0.0,b=1.0,x=1.0,y=1.0,r=0.61])Node6[a=0.0,b=1.0,x=1.0,y=0.0,r=0.51],((Node12[a=-1.0,b=0.0,x=-2.0,y=-2.0,r=0.66],(Node17[a=-1.0,b=1.0,x=-3.0,y=-2.0,r=1.33])Node11[a=-1.0,b=-1.0,x=-2.0,y=-3.0,r=1.4])Node8[a=-1.0,b=0.0,x=-1.0,y=-2.0,r=0.81])Node5[a=-1.0,b=-1.0,x=0.0,y=-2.0,r=1.39])Node2[a=1.0,b=-1.0,x=1.0,y=-1.0,r=1.46],(Node4[a=1.0,b=0.0,x=0.0,y=1.0,r=0.66],((Node16[a=-1.0,b=1.0,x=-3.0,y=2.0,r=1.33])Node7[a=-1.0,b=-1.0,x=-2.0,y=1.0,r=0.69])Node3[a=0.0,b=1.0,x=-1.0,y=2.0,r=0.57])Node1[a=-1.0,b=1.0,x=-1.0,y=1.0,r=0.9])Node_0[a=0,b=0,x=0,y=0,r=1] \n",
      "\n",
      "\n",
      "Number of groups or nodes in target tree: 18\n",
      "\n",
      "--- Generation 1/7001, Best fitness -1.0 ---\n",
      "\n",
      "--- Generation 1001/7001, Best fitness 0.87302 ---\n",
      "\n",
      "--- Generation 2001/7001, Best fitness 0.96552 ---\n",
      "\n",
      "--- Generation 3001/7001, Best fitness 0.96552 ---\n",
      "\n",
      "--- Generation 4001/7001, Best fitness 0.96552 ---\n",
      "\n",
      "--- Generation 5001/7001, Best fitness 0.96552 ---\n",
      "\n",
      "--- Generation 6001/7001, Best fitness 0.96552 ---\n",
      "\n",
      "--- Generation 7001/7001, Best fitness 0.96552 ---\n",
      "\n",
      "Running evolutionary process for max_depth = 25 and generations = 7002\n",
      "target_tree: (((((((((((((((Node374[a=-1.0,b=1.0,x=-4.0,y=6.0,r=1.41])Node317[a=0.0,b=1.0,x=-3.0,y=5.0,r=0.94],(Node373[a=1.0,b=0.0,x=-1.0,y=4.0,r=1.34])Node316[a=1.0,b=0.0,x=-2.0,y=4.0,r=0.54])Node272[a=1.0,b=1.0,x=-3.0,y=4.0,r=0.7],((Node372[a=1.0,b=0.0,x=-1.0,y=2.0,r=1.37])Node315[a=1.0,b=-1.0,x=-2.0,y=2.0,r=0.99],Node314[a=1.0,b=0.0,x=-2.0,y=3.0,r=1.01])Node271[a=1.0,b=0.0,x=-3.0,y=3.0,r=0.59])Node232[a=0.0,b=1.0,x=-4.0,y=3.0,r=1.14],((Node371[a=0.0,b=1.0,x=-4.0,y=5.0,r=1.24])Node313[a=1.0,b=1.0,x=-4.0,y=4.0,r=1.33],Node312[a=0.0,b=1.0,x=-5.0,y=4.0,r=1.26])Node231[a=-1.0,b=1.0,x=-5.0,y=3.0,r=0.86])Node186[a=1.0,b=1.0,x=-4.0,y=2.0,r=0.92])Node94[a=-1.0,b=1.0,x=-5.0,y=1.0,r=0.6])Node57[a=-1.0,b=-1.0,x=-4.0,y=0.0,r=1.07])Node29[a=0.0,b=1.0,x=-3.0,y=1.0,r=1.26])Node23[a=0.0,b=1.0,x=-3.0,y=0.0,r=0.71])Node15[a=-1.0,b=1.0,x=-3.0,y=-1.0,r=1.43],(Node22[a=-1.0,b=0.0,x=-4.0,y=-2.0,r=0.56],(((((((((Node311[a=1.0,b=1.0,x=-7.0,y=5.0,r=1.08])Node230[a=0.0,b=1.0,x=-8.0,y=4.0,r=0.92],(((Node370[a=-1.0,b=1.0,x=-9.0,y=7.0,r=0.58])Node310[a=1.0,b=1.0,x=-8.0,y=6.0,r=1.19])Node270[a=0.0,b=1.0,x=-9.0,y=5.0,r=0.91],(Node369[a=0.0,b=1.0,x=-10.0,y=6.0,r=1.39],Node368[a=1.0,b=1.0,x=-9.0,y=6.0,r=1.34])Node269[a=-1.0,b=1.0,x=-10.0,y=5.0,r=1.21])Node229[a=-1.0,b=1.0,x=-9.0,y=4.0,r=0.97])Node185[a=-1.0,b=1.0,x=-8.0,y=3.0,r=1.36])Node151[a=1.0,b=1.0,x=-7.0,y=2.0,r=1.0],(Node228[a=-1.0,b=1.0,x=-9.0,y=3.0,r=0.81],Node227[a=1.0,b=1.0,x=-7.0,y=3.0,r=1.4])Node150[a=0.0,b=1.0,x=-8.0,y=2.0,r=0.52])Node116[a=-1.0,b=0.0,x=-8.0,y=1.0,r=1.11])Node93[a=0.0,b=1.0,x=-7.0,y=1.0,r=1.21])Node76[a=-1.0,b=1.0,x=-7.0,y=0.0,r=1.1])Node37[a=-1.0,b=0.0,x=-6.0,y=-1.0,r=1.32],(((((Node184[a=-1.0,b=1.0,x=-11.0,y=1.0,r=1.21],((Node309[a=-1.0,b=-1.0,x=-13.0,y=0.0,r=1.28])Node226[a=-1.0,b=1.0,x=-12.0,y=1.0,r=0.83],(Node268[a=-1.0,b=1.0,x=-13.0,y=1.0,r=1.11],Node267[a=-1.0,b=-1.0,x=-13.0,y=-1.0,r=1.41])Node225[a=-1.0,b=0.0,x=-12.0,y=0.0,r=0.55])Node183[a=-1.0,b=0.0,x=-11.0,y=0.0,r=0.9])Node149[a=-1.0,b=1.0,x=-10.0,y=0.0,r=0.96],(Node182[a=-1.0,b=0.0,x=-11.0,y=-1.0,r=1.09],(Node224[a=-1.0,b=1.0,x=-12.0,y=-1.0,r=1.27])Node181[a=-1.0,b=-1.0,x=-11.0,y=-2.0,r=0.8])Node148[a=-1.0,b=0.0,x=-10.0,y=-1.0,r=1.31])Node115[a=-1.0,b=1.0,x=-9.0,y=-1.0,r=1.28],((Node223[a=0.0,b=-1.0,x=-10.0,y=-3.0,r=1.43])Node180[a=-1.0,b=0.0,x=-10.0,y=-2.0,r=1.11])Node114[a=-1.0,b=0.0,x=-9.0,y=-2.0,r=0.91])Node75[a=-1.0,b=1.0,x=-8.0,y=-2.0,r=1.17])Node48[a=-1.0,b=-1.0,x=-7.0,y=-3.0,r=1.24],(((((((Node367[a=-1.0,b=1.0,x=-11.0,y=5.0,r=1.36])Node266[a=1.0,b=1.0,x=-10.0,y=4.0,r=0.8])Node222[a=-1.0,b=1.0,x=-11.0,y=3.0,r=1.22],((Node366[a=-1.0,b=0.0,x=-12.0,y=4.0,r=0.73])Node308[a=-1.0,b=1.0,x=-11.0,y=4.0,r=1.21])Node221[a=0.0,b=1.0,x=-10.0,y=3.0,r=1.16])Node179[a=-1.0,b=1.0,x=-10.0,y=2.0,r=0.55])Node147[a=-1.0,b=1.0,x=-9.0,y=1.0,r=1.29],(((((Node365[a=-1.0,b=-1.0,x=-14.0,y=2.0,r=1.31],Node364[a=0.0,b=1.0,x=-13.0,y=4.0,r=1.06])Node307[a=-1.0,b=0.0,x=-13.0,y=3.0,r=1.24])Node265[a=-1.0,b=1.0,x=-12.0,y=3.0,r=0.93],(Node363[a=-1.0,b=0.0,x=-13.0,y=2.0,r=0.55])Node264[a=-1.0,b=0.0,x=-12.0,y=2.0,r=1.4])Node220[a=-1.0,b=1.0,x=-11.0,y=2.0,r=1.02],Node219[a=1.0,b=1.0,x=-9.0,y=2.0,r=0.75])Node178[a=-1.0,b=1.0,x=-10.0,y=1.0,r=1.3])Node146[a=-1.0,b=0.0,x=-9.0,y=0.0,r=1.25])Node92[a=-1.0,b=1.0,x=-8.0,y=0.0,r=0.87])Node74[a=0.0,b=1.0,x=-7.0,y=-1.0,r=0.54],Node73[a=-1.0,b=1.0,x=-8.0,y=-1.0,r=1.31])Node47[a=-1.0,b=0.0,x=-7.0,y=-2.0,r=0.83])Node36[a=-1.0,b=-1.0,x=-6.0,y=-2.0,r=1.01])Node28[a=-1.0,b=0.0,x=-5.0,y=-1.0,r=0.97],((Node46[a=1.0,b=0.0,x=-5.0,y=-3.0,r=1.28],Node45[a=0.0,b=-1.0,x=-6.0,y=-4.0,r=1.43])Node35[a=-1.0,b=-1.0,x=-6.0,y=-3.0,r=0.84])Node27[a=-1.0,b=-1.0,x=-5.0,y=-2.0,r=1.41])Node21[a=-1.0,b=1.0,x=-4.0,y=-1.0,r=1.13])Node14[a=-1.0,b=0.0,x=-3.0,y=-2.0,r=1.2])Node10[a=-1.0,b=-1.0,x=-2.0,y=-2.0,r=0.64],(((((((((Node362[a=-1.0,b=1.0,x=-8.0,y=5.0,r=0.82])Node263[a=-1.0,b=1.0,x=-7.0,y=4.0,r=0.92],((Node361[a=-1.0,b=1.0,x=-7.0,y=6.0,r=0.97],Node360[a=0.0,b=1.0,x=-6.0,y=6.0,r=0.59])Node306[a=0.0,b=1.0,x=-6.0,y=5.0,r=0.53])Node262[a=0.0,b=1.0,x=-6.0,y=4.0,r=1.39])Node218[a=0.0,b=1.0,x=-6.0,y=3.0,r=1.13])Node177[a=0.0,b=1.0,x=-6.0,y=2.0,r=0.64],Node176[a=1.0,b=1.0,x=-5.0,y=2.0,r=1.09])Node91[a=-1.0,b=1.0,x=-6.0,y=1.0,r=0.98],Node90[a=-1.0,b=0.0,x=-6.0,y=0.0,r=0.52])Node72[a=-1.0,b=-1.0,x=-5.0,y=0.0,r=1.09])Node44[a=-1.0,b=-1.0,x=-4.0,y=1.0,r=1.42])Node34[a=-1.0,b=1.0,x=-3.0,y=2.0,r=1.22])Node20[a=0.0,b=1.0,x=-2.0,y=1.0,r=0.56])Node9[a=-1.0,b=1.0,x=-2.0,y=0.0,r=0.96])Node6[a=1.0,b=0.0,x=-1.0,y=-1.0,r=1.35])Node4[a=-1.0,b=1.0,x=-2.0,y=-1.0,r=1.04],(((((((Node71[a=0.0,b=-1.0,x=-5.0,y=-6.0,r=0.54],((((Node217[a=-1.0,b=-1.0,x=-8.0,y=-10.0,r=1.41])Node145[a=0.0,b=-1.0,x=-7.0,y=-9.0,r=0.94],(((Node359[a=-1.0,b=-1.0,x=-8.0,y=-12.0,r=1.39])Node216[a=0.0,b=-1.0,x=-7.0,y=-11.0,r=1.21],((Node305[a=-1.0,b=-1.0,x=-10.0,y=-13.0,r=0.7],Node304[a=1.0,b=-1.0,x=-8.0,y=-13.0,r=0.65])Node261[a=-1.0,b=-1.0,x=-9.0,y=-12.0,r=1.45])Node215[a=-1.0,b=-1.0,x=-8.0,y=-11.0,r=1.26])Node175[a=1.0,b=-1.0,x=-7.0,y=-10.0,r=0.82])Node144[a=-1.0,b=-1.0,x=-8.0,y=-9.0,r=1.16])Node113[a=-1.0,b=-1.0,x=-7.0,y=-8.0,r=1.06],Node112[a=0.0,b=-1.0,x=-6.0,y=-8.0,r=0.72])Node89[a=0.0,b=-1.0,x=-6.0,y=-7.0,r=0.8],Node88[a=-1.0,b=-1.0,x=-7.0,y=-7.0,r=0.66])Node70[a=-1.0,b=-1.0,x=-6.0,y=-6.0,r=1.37])Node56[a=0.0,b=-1.0,x=-5.0,y=-5.0,r=0.8],((((((((Node358[a=-1.0,b=1.0,x=-14.0,y=-2.0,r=1.04])Node303[a=-1.0,b=-1.0,x=-13.0,y=-3.0,r=1.05])Node260[a=-1.0,b=1.0,x=-12.0,y=-2.0,r=0.66],Node259[a=-1.0,b=0.0,x=-12.0,y=-3.0,r=0.56])Node214[a=-1.0,b=1.0,x=-11.0,y=-3.0,r=0.5])Node174[a=-1.0,b=1.0,x=-10.0,y=-4.0,r=1.1],(((Node357[a=-1.0,b=-1.0,x=-13.0,y=-5.0,r=0.9])Node302[a=-1.0,b=0.0,x=-12.0,y=-4.0,r=0.59])Node213[a=-1.0,b=1.0,x=-11.0,y=-4.0,r=1.36],Node212[a=1.0,b=1.0,x=-9.0,y=-4.0,r=0.84])Node173[a=-1.0,b=0.0,x=-10.0,y=-5.0,r=0.53])Node143[a=-1.0,b=1.0,x=-9.0,y=-5.0,r=0.88])Node87[a=-1.0,b=-1.0,x=-8.0,y=-6.0,r=0.77],(((((((Node356[a=-1.0,b=0.0,x=-11.0,y=-12.0,r=0.92])Node301[a=-1.0,b=-1.0,x=-10.0,y=-12.0,r=0.63])Node258[a=0.0,b=-1.0,x=-9.0,y=-11.0,r=1.19])Node211[a=0.0,b=-1.0,x=-9.0,y=-10.0,r=0.57],((Node355[a=1.0,b=-1.0,x=-10.0,y=-11.0,r=0.65],Node354[a=0.0,b=-1.0,x=-11.0,y=-11.0,r=1.46])Node300[a=-1.0,b=-1.0,x=-11.0,y=-10.0,r=1.49],(Node353[a=-1.0,b=0.0,x=-12.0,y=-8.0,r=1.37],Node352[a=0.0,b=-1.0,x=-11.0,y=-9.0,r=1.24])Node299[a=-1.0,b=1.0,x=-11.0,y=-8.0,r=1.46])Node210[a=-1.0,b=0.0,x=-10.0,y=-9.0,r=1.46])Node172[a=-1.0,b=-1.0,x=-9.0,y=-9.0,r=0.57])Node142[a=0.0,b=-1.0,x=-8.0,y=-8.0,r=1.21],((Node298[a=-1.0,b=0.0,x=-10.0,y=-8.0,r=1.47],(Node351[a=-1.0,b=0.0,x=-11.0,y=-7.0,r=1.24])Node297[a=-1.0,b=1.0,x=-10.0,y=-7.0,r=0.54])Node171[a=0.0,b=-1.0,x=-9.0,y=-8.0,r=0.73])Node141[a=-1.0,b=0.0,x=-9.0,y=-7.0,r=1.45])Node111[a=-1.0,b=-1.0,x=-8.0,y=-7.0,r=1.47],((((Node296[a=-1.0,b=-1.0,x=-12.0,y=-6.0,r=1.19])Node209[a=-1.0,b=1.0,x=-11.0,y=-5.0,r=0.92],(Node257[a=-1.0,b=1.0,x=-12.0,y=-5.0,r=1.17],(Node350[a=-1.0,b=0.0,x=-13.0,y=-7.0,r=0.63],Node349[a=-1.0,b=-1.0,x=-13.0,y=-8.0,r=0.78])Node256[a=-1.0,b=-1.0,x=-12.0,y=-7.0,r=1.11])Node208[a=-1.0,b=0.0,x=-11.0,y=-6.0,r=0.7])Node170[a=-1.0,b=0.0,x=-10.0,y=-6.0,r=1.2])Node140[a=-1.0,b=-1.0,x=-9.0,y=-6.0,r=1.04])Node110[a=-1.0,b=1.0,x=-8.0,y=-5.0,r=0.72])Node86[a=0.0,b=-1.0,x=-7.0,y=-6.0,r=0.64])Node69[a=-1.0,b=0.0,x=-7.0,y=-5.0,r=1.49],((Node207[a=-1.0,b=0.0,x=-9.0,y=-3.0,r=0.93],Node206[a=0.0,b=-1.0,x=-8.0,y=-4.0,r=1.09])Node109[a=-1.0,b=1.0,x=-8.0,y=-3.0,r=1.03])Node68[a=-1.0,b=1.0,x=-7.0,y=-4.0,r=0.84])Node55[a=-1.0,b=-1.0,x=-6.0,y=-5.0,r=1.39])Node33[a=-1.0,b=1.0,x=-5.0,y=-4.0,r=0.63])Node19[a=0.0,b=-1.0,x=-4.0,y=-5.0,r=0.54],(((Node54[a=0.0,b=-1.0,x=-2.0,y=-6.0,r=1.16])Node43[a=1.0,b=-1.0,x=-2.0,y=-5.0,r=0.79],((Node67[a=-1.0,b=0.0,x=-4.0,y=-6.0,r=0.65],(((Node139[a=-1.0,b=-1.0,x=-6.0,y=-9.0,r=1.29])Node108[a=0.0,b=-1.0,x=-5.0,y=-8.0,r=0.93])Node85[a=-1.0,b=0.0,x=-5.0,y=-7.0,r=1.05])Node66[a=-1.0,b=-1.0,x=-4.0,y=-7.0,r=0.99])Node53[a=0.0,b=-1.0,x=-3.0,y=-6.0,r=1.31])Node42[a=0.0,b=-1.0,x=-3.0,y=-5.0,r=1.09])Node32[a=1.0,b=-1.0,x=-3.0,y=-4.0,r=1.2])Node18[a=0.0,b=1.0,x=-4.0,y=-3.0,r=1.2])Node13[a=-1.0,b=-1.0,x=-4.0,y=-4.0,r=1.24])Node8[a=-1.0,b=1.0,x=-3.0,y=-3.0,r=1.14],(((((((((Node107[a=1.0,b=-1.0,x=-1.0,y=-12.0,r=0.96],(((((Node348[a=-1.0,b=-1.0,x=-7.0,y=-15.0,r=0.71])Node295[a=-1.0,b=0.0,x=-6.0,y=-14.0,r=1.29])Node255[a=-1.0,b=0.0,x=-5.0,y=-14.0,r=1.34],((Node347[a=-1.0,b=-1.0,x=-6.0,y=-17.0,r=0.76])Node294[a=-1.0,b=-1.0,x=-5.0,y=-16.0,r=0.79])Node254[a=0.0,b=-1.0,x=-4.0,y=-15.0,r=0.62])Node205[a=-1.0,b=-1.0,x=-4.0,y=-14.0,r=1.04])Node138[a=-1.0,b=-1.0,x=-3.0,y=-13.0,r=0.56],((((Node293[a=1.0,b=-1.0,x=-2.0,y=-17.0,r=1.37],(Node346[a=1.0,b=0.0,x=-3.0,y=-17.0,r=0.83],Node345[a=1.0,b=-1.0,x=-3.0,y=-18.0,r=1.45])Node292[a=-1.0,b=-1.0,x=-4.0,y=-17.0,r=0.91])Node253[a=-1.0,b=-1.0,x=-3.0,y=-16.0,r=1.13],((Node344[a=1.0,b=-1.0,x=-1.0,y=-17.0,r=0.56])Node291[a=1.0,b=-1.0,x=-2.0,y=-16.0,r=1.4],(Node343[a=-1.0,b=1.0,x=-5.0,y=-15.0,r=0.6])Node290[a=-1.0,b=-1.0,x=-4.0,y=-16.0,r=1.4])Node252[a=-1.0,b=0.0,x=-3.0,y=-15.0,r=1.39])Node204[a=0.0,b=-1.0,x=-2.0,y=-15.0,r=1.3])Node169[a=-1.0,b=-1.0,x=-2.0,y=-14.0,r=0.65])Node137[a=1.0,b=-1.0,x=-1.0,y=-13.0,r=0.98])Node106[a=0.0,b=-1.0,x=-2.0,y=-12.0,r=1.48])Node84[a=0.0,b=-1.0,x=-2.0,y=-11.0,r=1.48],(((Node251[a=-1.0,b=-1.0,x=-3.0,y=-14.0,r=1.44])Node168[a=1.0,b=-1.0,x=-2.0,y=-13.0,r=1.24])Node136[a=0.0,b=-1.0,x=-3.0,y=-12.0,r=1.2])Node83[a=-1.0,b=-1.0,x=-3.0,y=-11.0,r=0.67])Node65[a=0.0,b=-1.0,x=-2.0,y=-10.0,r=0.75],(((((Node250[a=-1.0,b=-1.0,x=2.0,y=-14.0,r=1.2])Node203[a=1.0,b=-1.0,x=3.0,y=-13.0,r=1.03],(((Node342[a=1.0,b=1.0,x=4.0,y=-14.0,r=0.91],Node341[a=0.0,b=-1.0,x=3.0,y=-16.0,r=1.03])Node289[a=0.0,b=-1.0,x=3.0,y=-15.0,r=0.97])Node249[a=1.0,b=-1.0,x=3.0,y=-14.0,r=0.76])Node202[a=0.0,b=-1.0,x=2.0,y=-13.0,r=0.62])Node167[a=1.0,b=0.0,x=2.0,y=-12.0,r=0.84])Node135[a=1.0,b=-1.0,x=1.0,y=-12.0,r=0.63])Node105[a=1.0,b=-1.0,x=0.0,y=-11.0,r=1.13],(((((Node340[a=1.0,b=0.0,x=2.0,y=-15.0,r=0.56],Node339[a=1.0,b=-1.0,x=2.0,y=-16.0,r=0.74])Node288[a=0.0,b=-1.0,x=1.0,y=-15.0,r=1.03])Node248[a=1.0,b=-1.0,x=1.0,y=-14.0,r=1.43],(Node338[a=0.0,b=-1.0,x=-1.0,y=-15.0,r=1.29],Node337[a=1.0,b=-1.0,x=0.0,y=-15.0,r=0.83])Node247[a=-1.0,b=-1.0,x=-1.0,y=-14.0,r=0.54])Node166[a=0.0,b=-1.0,x=0.0,y=-13.0,r=0.89])Node134[a=1.0,b=-1.0,x=0.0,y=-12.0,r=1.44])Node104[a=0.0,b=-1.0,x=-1.0,y=-11.0,r=0.74])Node64[a=1.0,b=-1.0,x=-1.0,y=-10.0,r=0.83])Node52[a=1.0,b=-1.0,x=-2.0,y=-9.0,r=0.8],((((((Node246[a=1.0,b=-1.0,x=3.0,y=-12.0,r=0.96])Node201[a=1.0,b=0.0,x=2.0,y=-11.0,r=0.66])Node133[a=1.0,b=-1.0,x=1.0,y=-11.0,r=0.93])Node103[a=1.0,b=-1.0,x=0.0,y=-10.0,r=1.04],(Node165[a=1.0,b=-1.0,x=1.0,y=-10.0,r=0.81])Node102[a=1.0,b=0.0,x=0.0,y=-9.0,r=0.53])Node82[a=0.0,b=-1.0,x=-1.0,y=-9.0,r=1.5])Node63[a=1.0,b=0.0,x=-1.0,y=-8.0,r=0.88],((Node132[a=-1.0,b=-1.0,x=-5.0,y=-10.0,r=1.11])Node81[a=-1.0,b=0.0,x=-4.0,y=-9.0,r=1.16],(((Node287[a=0.0,b=-1.0,x=-5.0,y=-13.0,r=0.87],Node286[a=-1.0,b=-1.0,x=-6.0,y=-13.0,r=1.45])Node164[a=-1.0,b=-1.0,x=-5.0,y=-12.0,r=0.88],(Node200[a=0.0,b=-1.0,x=-4.0,y=-13.0,r=0.82])Node163[a=0.0,b=-1.0,x=-4.0,y=-12.0,r=0.76])Node131[a=-1.0,b=-1.0,x=-4.0,y=-11.0,r=1.16],Node130[a=-1.0,b=0.0,x=-4.0,y=-10.0,r=0.99])Node80[a=0.0,b=-1.0,x=-3.0,y=-10.0,r=0.63])Node62[a=-1.0,b=-1.0,x=-3.0,y=-9.0,r=0.69])Node51[a=1.0,b=0.0,x=-2.0,y=-8.0,r=1.37])Node41[a=-1.0,b=-1.0,x=-3.0,y=-8.0,r=0.61],(((((Node245[a=-1.0,b=-1.0,x=-7.0,y=-12.0,r=1.44])Node199[a=0.0,b=-1.0,x=-6.0,y=-11.0,r=0.75],((Node336[a=-1.0,b=-1.0,x=-7.0,y=-13.0,r=1.48])Node285[a=-1.0,b=-1.0,x=-6.0,y=-12.0,r=0.99])Node198[a=1.0,b=-1.0,x=-5.0,y=-11.0,r=0.62])Node162[a=-1.0,b=-1.0,x=-6.0,y=-10.0,r=1.26])Node129[a=-1.0,b=-1.0,x=-5.0,y=-9.0,r=1.1])Node101[a=-1.0,b=-1.0,x=-4.0,y=-8.0,r=1.18])Node40[a=-1.0,b=0.0,x=-3.0,y=-7.0,r=1.02])Node31[a=-1.0,b=-1.0,x=-2.0,y=-7.0,r=1.49])Node26[a=-1.0,b=-1.0,x=-1.0,y=-6.0,r=0.73],(((((((((Node335[a=0.0,b=1.0,x=4.0,y=2.0,r=0.95])Node284[a=0.0,b=1.0,x=4.0,y=1.0,r=0.73])Node244[a=-1.0,b=1.0,x=4.0,y=0.0,r=1.06])Node197[a=1.0,b=1.0,x=5.0,y=-1.0,r=1.18])Node161[a=1.0,b=-1.0,x=4.0,y=-2.0,r=1.2])Node128[a=1.0,b=0.0,x=3.0,y=-1.0,r=0.87])Node100[a=0.0,b=1.0,x=2.0,y=-1.0,r=0.64],(((Node334[a=0.0,b=1.0,x=2.0,y=2.0,r=0.94],Node333[a=1.0,b=0.0,x=3.0,y=1.0,r=1.36])Node243[a=1.0,b=1.0,x=2.0,y=1.0,r=1.18],((Node332[a=0.0,b=1.0,x=1.0,y=3.0,r=1.14])Node283[a=0.0,b=1.0,x=1.0,y=2.0,r=1.11],(Node331[a=1.0,b=0.0,x=3.0,y=0.0,r=0.8])Node282[a=1.0,b=-1.0,x=2.0,y=0.0,r=0.55])Node242[a=0.0,b=1.0,x=1.0,y=1.0,r=1.38])Node127[a=0.0,b=1.0,x=1.0,y=0.0,r=1.11],Node126[a=0.0,b=-1.0,x=1.0,y=-2.0,r=0.9])Node99[a=-1.0,b=1.0,x=1.0,y=-1.0,r=0.97])Node61[a=0.0,b=1.0,x=2.0,y=-2.0,r=1.37])Node39[a=1.0,b=1.0,x=2.0,y=-3.0,r=0.83],((((Node160[a=1.0,b=1.0,x=3.0,y=-5.0,r=0.51])Node98[a=1.0,b=-1.0,x=2.0,y=-6.0,r=0.92],((Node159[a=1.0,b=0.0,x=2.0,y=-7.0,r=0.72])Node125[a=0.0,b=-1.0,x=1.0,y=-7.0,r=0.96])Node97[a=0.0,b=-1.0,x=1.0,y=-6.0,r=0.7])Node60[a=-1.0,b=0.0,x=1.0,y=-5.0,r=0.85],(((((Node196[a=1.0,b=-1.0,x=4.0,y=-7.0,r=0.95])Node158[a=-1.0,b=0.0,x=3.0,y=-6.0,r=1.4],(Node195[a=0.0,b=-1.0,x=3.0,y=-8.0,r=0.99],Node194[a=1.0,b=-1.0,x=4.0,y=-8.0,r=1.45])Node157[a=-1.0,b=-1.0,x=3.0,y=-7.0,r=1.1])Node124[a=-1.0,b=0.0,x=4.0,y=-6.0,r=1.38],(((((Node330[a=1.0,b=-1.0,x=7.0,y=-8.0,r=1.45])Node281[a=0.0,b=1.0,x=6.0,y=-7.0,r=1.13])Node241[a=0.0,b=1.0,x=6.0,y=-8.0,r=0.59])Node193[a=1.0,b=-1.0,x=6.0,y=-9.0,r=0.58])Node156[a=0.0,b=-1.0,x=5.0,y=-8.0,r=0.85])Node123[a=0.0,b=-1.0,x=5.0,y=-7.0,r=1.39])Node96[a=1.0,b=-1.0,x=5.0,y=-6.0,r=1.11],((((((Node329[a=1.0,b=-1.0,x=8.0,y=-7.0,r=1.24])Node280[a=-1.0,b=-1.0,x=7.0,y=-6.0,r=1.4])Node240[a=1.0,b=0.0,x=8.0,y=-5.0,r=1.02])Node192[a=1.0,b=-1.0,x=7.0,y=-5.0,r=1.01],((Node328[a=1.0,b=-1.0,x=7.0,y=-4.0,r=0.71])Node239[a=-1.0,b=0.0,x=6.0,y=-3.0,r=0.69])Node191[a=1.0,b=1.0,x=7.0,y=-3.0,r=1.43])Node155[a=1.0,b=1.0,x=6.0,y=-4.0,r=1.46])Node122[a=1.0,b=-1.0,x=5.0,y=-5.0,r=1.11],((Node327[a=1.0,b=0.0,x=7.0,y=-2.0,r=1.07],Node326[a=1.0,b=1.0,x=7.0,y=-1.0,r=1.04])Node190[a=1.0,b=1.0,x=6.0,y=-2.0,r=1.22])Node121[a=1.0,b=1.0,x=5.0,y=-3.0,r=1.19])Node95[a=0.0,b=1.0,x=4.0,y=-4.0,r=0.8])Node79[a=1.0,b=-1.0,x=4.0,y=-5.0,r=1.35],(((Node325[a=1.0,b=1.0,x=4.0,y=-1.0,r=0.52])Node238[a=0.0,b=1.0,x=3.0,y=-2.0,r=0.96])Node120[a=-1.0,b=0.0,x=3.0,y=-3.0,r=1.22],((((Node324[a=-1.0,b=1.0,x=7.0,y=2.0,r=0.81],Node323[a=1.0,b=0.0,x=9.0,y=1.0,r=1.24])Node279[a=1.0,b=1.0,x=8.0,y=1.0,r=0.61],Node278[a=0.0,b=1.0,x=7.0,y=1.0,r=1.44])Node237[a=1.0,b=1.0,x=7.0,y=0.0,r=0.7],(Node277[a=0.0,b=1.0,x=6.0,y=1.0,r=1.29])Node236[a=0.0,b=1.0,x=6.0,y=0.0,r=0.55])Node154[a=1.0,b=1.0,x=6.0,y=-1.0,r=1.21])Node119[a=1.0,b=1.0,x=5.0,y=-2.0,r=0.98])Node78[a=1.0,b=1.0,x=4.0,y=-3.0,r=0.78])Node59[a=1.0,b=1.0,x=3.0,y=-4.0,r=1.32])Node50[a=0.0,b=-1.0,x=2.0,y=-5.0,r=0.83])Node38[a=1.0,b=0.0,x=2.0,y=-4.0,r=1.11])Node25[a=1.0,b=1.0,x=1.0,y=-4.0,r=0.53])Node17[a=0.0,b=-1.0,x=0.0,y=-5.0,r=0.66])Node12[a=1.0,b=-1.0,x=0.0,y=-4.0,r=1.15],(((((((((Node189[a=1.0,b=-1.0,x=2.0,y=-9.0,r=1.02],(((Node322[a=1.0,b=0.0,x=5.0,y=-9.0,r=1.16])Node276[a=1.0,b=0.0,x=4.0,y=-9.0,r=1.11])Node235[a=1.0,b=-1.0,x=3.0,y=-9.0,r=1.15])Node188[a=1.0,b=0.0,x=2.0,y=-8.0,r=1.08])Node153[a=1.0,b=-1.0,x=1.0,y=-8.0,r=1.08])Node118[a=1.0,b=0.0,x=0.0,y=-7.0,r=0.53],((((Node275[a=1.0,b=0.0,x=4.0,y=-11.0,r=0.56],(Node321[a=0.0,b=-1.0,x=4.0,y=-13.0,r=0.95],Node320[a=1.0,b=0.0,x=5.0,y=-12.0,r=0.78])Node274[a=1.0,b=-1.0,x=4.0,y=-12.0,r=0.66])Node234[a=1.0,b=-1.0,x=3.0,y=-11.0,r=1.36],((Node319[a=1.0,b=0.0,x=5.0,y=-10.0,r=1.33],Node318[a=1.0,b=-1.0,x=5.0,y=-11.0,r=1.11])Node273[a=1.0,b=0.0,x=4.0,y=-10.0,r=1.08])Node233[a=1.0,b=0.0,x=3.0,y=-10.0,r=0.53])Node187[a=1.0,b=-1.0,x=2.0,y=-10.0,r=1.01])Node152[a=1.0,b=-1.0,x=1.0,y=-9.0,r=1.08])Node117[a=1.0,b=-1.0,x=0.0,y=-8.0,r=0.9])Node77[a=-1.0,b=-1.0,x=-1.0,y=-7.0,r=0.86])Node58[a=1.0,b=-1.0,x=0.0,y=-6.0,r=0.6])Node49[a=0.0,b=-1.0,x=-1.0,y=-5.0,r=0.77])Node30[a=-1.0,b=-1.0,x=-1.0,y=-4.0,r=0.68])Node24[a=-1.0,b=0.0,x=0.0,y=-3.0,r=1.44])Node16[a=1.0,b=-1.0,x=1.0,y=-3.0,r=1.3])Node11[a=1.0,b=1.0,x=0.0,y=-2.0,r=0.64])Node7[a=1.0,b=1.0,x=-1.0,y=-3.0,r=1.37])Node5[a=0.0,b=-1.0,x=-2.0,y=-4.0,r=0.55])Node3[a=-1.0,b=-1.0,x=-2.0,y=-3.0,r=0.78])Node2[a=-1.0,b=-1.0,x=-1.0,y=-2.0,r=1.33])Node1[a=0.0,b=-1.0,x=0.0,y=-1.0,r=1.49])Node_0[a=0,b=0,x=0,y=0,r=1] \n",
      "\n",
      "\n",
      "Number of groups or nodes in target tree: 375\n",
      "\n",
      "--- Generation 1/7002, Best fitness -1.0 ---\n",
      "\n",
      "--- Generation 1001/7002, Best fitness 0.74687 ---\n",
      "\n",
      "--- Generation 2001/7002, Best fitness 0.77373 ---\n",
      "\n",
      "--- Generation 3001/7002, Best fitness 0.77901 ---\n",
      "\n",
      "--- Generation 4001/7002, Best fitness 0.79582 ---\n",
      "\n",
      "--- Generation 5001/7002, Best fitness 0.80357 ---\n",
      "\n",
      "--- Generation 6001/7002, Best fitness 0.8075 ---\n",
      "\n",
      "--- Generation 7001/7002, Best fitness 0.81281 ---\n",
      "\n",
      "Running evolutionary process for max_depth = 40 and generations = 7003\n",
      "target_tree: (((((((((Node78[a=0.0,b=1.0,x=6.0,y=7.0,r=0.81],(((((Node205[a=0.0,b=1.0,x=3.0,y=10.0,r=1.34])Node162[a=0.0,b=1.0,x=3.0,y=9.0,r=0.55])Node136[a=-1.0,b=-1.0,x=3.0,y=8.0,r=0.79],(((Node301[a=0.0,b=1.0,x=4.0,y=13.0,r=1.49],((Node421[a=1.0,b=1.0,x=5.0,y=15.0,r=1.47])Node366[a=-1.0,b=1.0,x=4.0,y=14.0,r=0.57])Node300[a=1.0,b=1.0,x=5.0,y=13.0,r=1.21])Node247[a=0.0,b=1.0,x=4.0,y=12.0,r=1.11],Node246[a=-1.0,b=0.0,x=3.0,y=11.0,r=0.52])Node161[a=0.0,b=1.0,x=4.0,y=11.0,r=0.89],((((Node365[a=-1.0,b=1.0,x=5.0,y=14.0,r=0.66],(((((((Node879[a=0.0,b=1.0,x=8.0,y=20.0,r=0.96],(((((((Node1768[a=1.0,b=-1.0,x=15.0,y=23.0,r=0.57],(Node1916[a=1.0,b=-1.0,x=15.0,y=24.0,r=0.99],(((Node2538[a=1.0,b=1.0,x=18.0,y=28.0,r=0.83],(((((Node3390[a=1.0,b=1.0,x=16.0,y=33.0,r=0.53])Node3212[a=0.0,b=1.0,x=15.0,y=32.0,r=1.23],Node3211[a=-1.0,b=1.0,x=14.0,y=32.0,r=1.47])Node3041[a=-1.0,b=1.0,x=15.0,y=31.0,r=0.69])Node2871[a=0.0,b=1.0,x=16.0,y=30.0,r=0.88],(((((Node3725[a=1.0,b=1.0,x=19.0,y=35.0,r=1.34])Node3555[a=1.0,b=1.0,x=18.0,y=34.0,r=1.34],(Node3724[a=-1.0,b=1.0,x=16.0,y=35.0,r=1.25],Node3723[a=0.0,b=1.0,x=17.0,y=35.0,r=1.38])Node3554[a=0.0,b=1.0,x=17.0,y=34.0,r=1.26])Node3389[a=1.0,b=1.0,x=17.0,y=33.0,r=0.98],(Node3553[a=1.0,b=1.0,x=16.0,y=34.0,r=0.65])Node3388[a=-1.0,b=1.0,x=15.0,y=33.0,r=0.93])Node3210[a=0.0,b=1.0,x=16.0,y=32.0,r=1.4])Node3040[a=-1.0,b=1.0,x=16.0,y=31.0,r=1.11],Node3039[a=1.0,b=1.0,x=18.0,y=31.0,r=0.6])Node2870[a=1.0,b=1.0,x=17.0,y=30.0,r=1.17])Node2702[a=-1.0,b=1.0,x=16.0,y=29.0,r=1.24],(Node2869[a=-1.0,b=0.0,x=17.0,y=29.0,r=0.72],((Node3387[a=0.0,b=1.0,x=17.0,y=32.0,r=1.34])Node3038[a=-1.0,b=1.0,x=17.0,y=31.0,r=1.41])Node2868[a=0.0,b=1.0,x=18.0,y=30.0,r=0.54])Node2701[a=1.0,b=1.0,x=18.0,y=29.0,r=1.17])Node2537[a=0.0,b=1.0,x=17.0,y=28.0,r=0.53])Node2379[a=1.0,b=1.0,x=17.0,y=27.0,r=0.89],(Node2700[a=-1.0,b=1.0,x=14.0,y=27.0,r=0.8])Node2378[a=-1.0,b=0.0,x=15.0,y=26.0,r=1.0])Node2066[a=1.0,b=1.0,x=16.0,y=26.0,r=0.57])Node1915[a=1.0,b=0.0,x=15.0,y=25.0,r=1.3])Node1767[a=0.0,b=1.0,x=14.0,y=25.0,r=1.5])Node1633[a=1.0,b=1.0,x=14.0,y=24.0,r=1.19],Node1632[a=0.0,b=1.0,x=13.0,y=24.0,r=1.41])Node1494[a=1.0,b=1.0,x=13.0,y=23.0,r=0.62])Node1277[a=1.0,b=1.0,x=12.0,y=22.0,r=0.77],((((((((Node2867[a=-1.0,b=-1.0,x=13.0,y=27.0,r=1.01],(Node3037[a=-1.0,b=-1.0,x=12.0,y=28.0,r=0.93])Node2866[a=-1.0,b=1.0,x=13.0,y=29.0,r=1.09])Node2699[a=-1.0,b=1.0,x=14.0,y=28.0,r=0.97])Node2377[a=1.0,b=1.0,x=15.0,y=27.0,r=0.51])Node2065[a=1.0,b=0.0,x=14.0,y=26.0,r=0.9])Node1914[a=0.0,b=1.0,x=13.0,y=26.0,r=0.51])Node1766[a=1.0,b=1.0,x=13.0,y=25.0,r=1.4])Node1631[a=1.0,b=1.0,x=12.0,y=24.0,r=0.79],(Node1765[a=1.0,b=1.0,x=12.0,y=25.0,r=1.48])Node1630[a=0.0,b=1.0,x=11.0,y=24.0,r=0.98])Node1381[a=0.0,b=1.0,x=11.0,y=23.0,r=0.58],((Node1629[a=1.0,b=1.0,x=14.0,y=23.0,r=1.29],Node1628[a=-1.0,b=1.0,x=12.0,y=23.0,r=0.78])Node1493[a=1.0,b=1.0,x=13.0,y=22.0,r=0.61])Node1380[a=1.0,b=-1.0,x=12.0,y=21.0,r=1.08])Node1276[a=0.0,b=1.0,x=11.0,y=22.0,r=0.66])Node1178[a=0.0,b=1.0,x=11.0,y=21.0,r=0.89])Node1078[a=1.0,b=-1.0,x=11.0,y=20.0,r=1.19])Node975[a=1.0,b=1.0,x=10.0,y=21.0,r=0.7])Node878[a=1.0,b=1.0,x=9.0,y=20.0,r=1.2])Node791[a=1.0,b=1.0,x=8.0,y=19.0,r=0.77])Node712[a=1.0,b=1.0,x=7.0,y=18.0,r=0.99])Node639[a=0.0,b=1.0,x=6.0,y=17.0,r=0.82])Node575[a=0.0,b=1.0,x=6.0,y=16.0,r=1.12],((((Node1077[a=1.0,b=1.0,x=10.0,y=20.0,r=0.69])Node974[a=1.0,b=1.0,x=9.0,y=19.0,r=1.09])Node877[a=0.0,b=1.0,x=8.0,y=18.0,r=1.24])Node638[a=1.0,b=1.0,x=8.0,y=17.0,r=1.26],(((((Node1275[a=0.0,b=-1.0,x=10.0,y=18.0,r=1.2])Node1076[a=1.0,b=1.0,x=10.0,y=19.0,r=0.92])Node876[a=0.0,b=1.0,x=9.0,y=18.0,r=0.61])Node790[a=1.0,b=1.0,x=9.0,y=17.0,r=1.3],(((Node1274[a=0.0,b=1.0,x=11.0,y=19.0,r=1.12],((Node1492[a=1.0,b=1.0,x=13.0,y=21.0,r=1.17])Node1379[a=0.0,b=1.0,x=12.0,y=20.0,r=0.85])Node1273[a=1.0,b=1.0,x=12.0,y=19.0,r=1.27])Node973[a=1.0,b=1.0,x=11.0,y=18.0,r=1.39])Node875[a=1.0,b=1.0,x=10.0,y=17.0,r=0.95])Node789[a=1.0,b=0.0,x=9.0,y=16.0,r=1.13])Node711[a=1.0,b=-1.0,x=8.0,y=16.0,r=0.95])Node637[a=0.0,b=1.0,x=7.0,y=17.0,r=0.69])Node574[a=1.0,b=1.0,x=7.0,y=16.0,r=0.78])Node501[a=-1.0,b=0.0,x=6.0,y=15.0,r=0.78])Node420[a=1.0,b=1.0,x=7.0,y=15.0,r=0.56])Node364[a=0.0,b=1.0,x=6.0,y=14.0,r=0.77])Node299[a=-1.0,b=1.0,x=6.0,y=13.0,r=0.99],(Node363[a=0.0,b=-1.0,x=8.0,y=12.0,r=0.61],(((((Node972[a=0.0,b=-1.0,x=13.0,y=14.0,r=1.07])Node788[a=1.0,b=1.0,x=13.0,y=15.0,r=1.2],((((Node1177[a=1.0,b=0.0,x=14.0,y=17.0,r=1.35])Node1075[a=1.0,b=1.0,x=13.0,y=17.0,r=0.82],(Node1176[a=1.0,b=1.0,x=13.0,y=16.0,r=0.66])Node1074[a=0.0,b=-1.0,x=12.0,y=15.0,r=1.28])Node971[a=1.0,b=0.0,x=12.0,y=16.0,r=0.84])Node874[a=0.0,b=1.0,x=11.0,y=16.0,r=1.31])Node787[a=-1.0,b=1.0,x=11.0,y=15.0,r=1.06])Node573[a=1.0,b=0.0,x=12.0,y=14.0,r=0.54],Node572[a=0.0,b=-1.0,x=11.0,y=13.0,r=0.61])Node500[a=1.0,b=-1.0,x=11.0,y=14.0,r=0.64],Node499[a=0.0,b=-1.0,x=10.0,y=14.0,r=1.42])Node419[a=1.0,b=1.0,x=10.0,y=15.0,r=0.6])Node362[a=1.0,b=1.0,x=9.0,y=14.0,r=0.92])Node298[a=1.0,b=1.0,x=8.0,y=13.0,r=0.73])Node245[a=1.0,b=1.0,x=7.0,y=12.0,r=0.52])Node204[a=1.0,b=1.0,x=6.0,y=11.0,r=0.68],(Node244[a=0.0,b=1.0,x=5.0,y=12.0,r=1.1],((((((((((Node1627[a=1.0,b=0.0,x=14.0,y=20.0,r=0.66])Node1378[a=0.0,b=1.0,x=13.0,y=20.0,r=0.73])Node1272[a=1.0,b=1.0,x=13.0,y=19.0,r=0.67],(((Node1626[a=-1.0,b=1.0,x=14.0,y=21.0,r=1.41],(Node1764[a=-1.0,b=1.0,x=14.0,y=22.0,r=1.41],((((((Node2698[a=0.0,b=1.0,x=16.0,y=28.0,r=0.53],Node2697[a=-1.0,b=1.0,x=15.0,y=28.0,r=1.26])Node2536[a=-1.0,b=1.0,x=16.0,y=27.0,r=1.01])Node2376[a=0.0,b=1.0,x=17.0,y=26.0,r=1.31],(((((((Node3722[a=-1.0,b=-1.0,x=20.0,y=30.0,r=0.62])Node3386[a=-1.0,b=1.0,x=21.0,y=31.0,r=0.84])Node3209[a=1.0,b=1.0,x=22.0,y=30.0,r=1.04])Node3036[a=1.0,b=1.0,x=21.0,y=29.0,r=0.87])Node2865[a=1.0,b=0.0,x=20.0,y=28.0,r=0.54],(((((Node3721[a=0.0,b=1.0,x=18.0,y=33.0,r=1.25])Node3552[a=-1.0,b=1.0,x=18.0,y=32.0,r=0.53],(Node3720[a=0.0,b=1.0,x=19.0,y=33.0,r=0.82],Node3719[a=1.0,b=1.0,x=20.0,y=33.0,r=1.21])Node3551[a=0.0,b=1.0,x=19.0,y=32.0,r=0.55])Node3385[a=-1.0,b=0.0,x=19.0,y=31.0,r=1.2],Node3384[a=0.0,b=1.0,x=20.0,y=32.0,r=0.97])Node3208[a=1.0,b=1.0,x=20.0,y=31.0,r=1.26])Node3035[a=0.0,b=1.0,x=19.0,y=30.0,r=0.63],Node3034[a=1.0,b=0.0,x=20.0,y=29.0,r=1.45])Node2864[a=0.0,b=1.0,x=19.0,y=29.0,r=1.11])Node2696[a=1.0,b=1.0,x=19.0,y=28.0,r=0.6])Node2535[a=0.0,b=1.0,x=18.0,y=27.0,r=1.21],Node2534[a=1.0,b=1.0,x=19.0,y=27.0,r=0.87])Node2375[a=1.0,b=1.0,x=18.0,y=26.0,r=1.0])Node2218[a=1.0,b=1.0,x=17.0,y=25.0,r=1.45])Node2064[a=0.0,b=1.0,x=16.0,y=24.0,r=0.52],(Node2217[a=-1.0,b=1.0,x=16.0,y=25.0,r=1.29])Node2063[a=1.0,b=1.0,x=17.0,y=24.0,r=0.74])Node1913[a=1.0,b=1.0,x=16.0,y=23.0,r=1.14])Node1763[a=0.0,b=1.0,x=15.0,y=22.0,r=1.01])Node1625[a=0.0,b=1.0,x=15.0,y=21.0,r=0.57])Node1491[a=1.0,b=1.0,x=15.0,y=20.0,r=1.18])Node1377[a=1.0,b=1.0,x=14.0,y=19.0,r=1.27])Node1271[a=1.0,b=0.0,x=13.0,y=18.0,r=0.54])Node1175[a=1.0,b=1.0,x=12.0,y=18.0,r=0.64],Node1174[a=1.0,b=0.0,x=12.0,y=17.0,r=0.74])Node1073[a=1.0,b=1.0,x=11.0,y=17.0,r=0.87])Node970[a=1.0,b=1.0,x=10.0,y=16.0,r=1.36])Node636[a=1.0,b=0.0,x=9.0,y=15.0,r=1.22])Node571[a=0.0,b=1.0,x=8.0,y=15.0,r=0.72])Node498[a=1.0,b=1.0,x=8.0,y=14.0,r=1.17],Node497[a=0.0,b=1.0,x=7.0,y=14.0,r=1.12])Node361[a=1.0,b=1.0,x=7.0,y=13.0,r=0.93])Node243[a=1.0,b=1.0,x=6.0,y=12.0,r=0.58])Node203[a=0.0,b=1.0,x=5.0,y=11.0,r=1.42])Node160[a=1.0,b=0.0,x=5.0,y=10.0,r=1.36])Node135[a=0.0,b=1.0,x=4.0,y=10.0,r=0.8])Node109[a=0.0,b=1.0,x=4.0,y=9.0,r=1.1],(Node159[a=1.0,b=-1.0,x=6.0,y=8.0,r=0.76],((((((Node496[a=-1.0,b=1.0,x=9.0,y=13.0,r=1.17])Node418[a=1.0,b=1.0,x=10.0,y=12.0,r=0.98],(Node570[a=1.0,b=1.0,x=10.0,y=13.0,r=1.19])Node417[a=0.0,b=1.0,x=9.0,y=12.0,r=0.81])Node360[a=1.0,b=0.0,x=9.0,y=11.0,r=0.55])Node297[a=1.0,b=0.0,x=8.0,y=11.0,r=0.6])Node242[a=1.0,b=1.0,x=7.0,y=11.0,r=1.32],(Node296[a=1.0,b=0.0,x=8.0,y=9.0,r=1.47],(Node359[a=1.0,b=1.0,x=9.0,y=9.0,r=0.51],(Node416[a=1.0,b=-1.0,x=10.0,y=6.0,r=0.84])Node358[a=1.0,b=-1.0,x=9.0,y=7.0,r=1.26])Node295[a=1.0,b=-1.0,x=8.0,y=8.0,r=0.87])Node241[a=1.0,b=-1.0,x=7.0,y=9.0,r=1.16])Node202[a=0.0,b=1.0,x=6.0,y=10.0,r=1.03],((((Node495[a=1.0,b=1.0,x=11.0,y=12.0,r=0.92])Node415[a=1.0,b=1.0,x=10.0,y=11.0,r=0.77],((Node569[a=1.0,b=-1.0,x=12.0,y=10.0,r=0.56],((Node710[a=1.0,b=-1.0,x=13.0,y=12.0,r=1.22])Node635[a=0.0,b=1.0,x=12.0,y=13.0,r=0.91],(((((((Node1376[a=1.0,b=1.0,x=19.0,y=15.0,r=0.97])Node1270[a=0.0,b=1.0,x=18.0,y=14.0,r=0.57],((((((Node2062[a=1.0,b=0.0,x=25.0,y=12.0,r=1.16],((Node2374[a=1.0,b=0.0,x=27.0,y=11.0,r=1.12])Node2216[a=1.0,b=0.0,x=26.0,y=11.0,r=0.67])Node2061[a=1.0,b=-1.0,x=25.0,y=11.0,r=0.8])Node1912[a=1.0,b=0.0,x=24.0,y=12.0,r=0.92])Node1762[a=1.0,b=0.0,x=23.0,y=12.0,r=1.1])Node1624[a=1.0,b=-1.0,x=22.0,y=12.0,r=1.33])Node1490[a=1.0,b=-1.0,x=21.0,y=13.0,r=0.88])Node1375[a=1.0,b=1.0,x=20.0,y=14.0,r=1.01],(((((((Node2373[a=0.0,b=1.0,x=24.0,y=19.0,r=0.72],((((((Node3718[a=1.0,b=1.0,x=29.0,y=24.0,r=1.01])Node3207[a=1.0,b=1.0,x=28.0,y=23.0,r=0.64])Node3033[a=1.0,b=0.0,x=27.0,y=22.0,r=1.14])Node2863[a=1.0,b=1.0,x=26.0,y=22.0,r=1.18])Node2695[a=0.0,b=1.0,x=25.0,y=21.0,r=1.2],(((Node3383[a=1.0,b=1.0,x=29.0,y=23.0,r=0.99])Node3206[a=1.0,b=1.0,x=28.0,y=22.0,r=1.01])Node2862[a=1.0,b=0.0,x=27.0,y=21.0,r=0.57])Node2694[a=1.0,b=1.0,x=26.0,y=21.0,r=0.59])Node2533[a=0.0,b=1.0,x=25.0,y=20.0,r=0.52],((Node3032[a=1.0,b=0.0,x=27.0,y=20.0,r=0.88])Node2693[a=0.0,b=1.0,x=26.0,y=20.0,r=0.66],((((((Node3717[a=1.0,b=1.0,x=31.0,y=23.0,r=0.75])Node3550[a=1.0,b=0.0,x=30.0,y=22.0,r=0.78],(Node3716[a=1.0,b=-1.0,x=31.0,y=22.0,r=1.17])Node3549[a=1.0,b=1.0,x=30.0,y=23.0,r=1.11])Node3382[a=1.0,b=1.0,x=29.0,y=22.0,r=0.83])Node3205[a=-1.0,b=1.0,x=28.0,y=21.0,r=1.42],((Node3715[a=1.0,b=-1.0,x=32.0,y=19.0,r=0.89],Node3714[a=1.0,b=1.0,x=32.0,y=21.0,r=0.97])Node3381[a=1.0,b=0.0,x=31.0,y=20.0,r=0.78])Node3204[a=1.0,b=0.0,x=30.0,y=20.0,r=1.07])Node3031[a=1.0,b=1.0,x=29.0,y=20.0,r=1.41],(((Node3713[a=1.0,b=-1.0,x=32.0,y=18.0,r=1.46])Node3548[a=1.0,b=1.0,x=31.0,y=19.0,r=0.94])Node3380[a=1.0,b=-1.0,x=30.0,y=18.0,r=0.85],Node3379[a=1.0,b=0.0,x=30.0,y=19.0,r=0.88])Node3030[a=1.0,b=0.0,x=29.0,y=19.0,r=0.54])Node2861[a=1.0,b=1.0,x=28.0,y=19.0,r=0.87],(Node3203[a=1.0,b=1.0,x=29.0,y=18.0,r=1.34])Node2860[a=1.0,b=-1.0,x=28.0,y=17.0,r=0.69])Node2692[a=1.0,b=-1.0,x=27.0,y=18.0,r=0.57])Node2532[a=1.0,b=0.0,x=26.0,y=19.0,r=1.33])Node2372[a=1.0,b=1.0,x=25.0,y=19.0,r=0.66])Node2215[a=1.0,b=0.0,x=24.0,y=18.0,r=0.88])Node2060[a=1.0,b=1.0,x=23.0,y=18.0,r=1.05])Node1911[a=0.0,b=1.0,x=22.0,y=17.0,r=0.87])Node1761[a=0.0,b=1.0,x=22.0,y=16.0,r=0.9])Node1623[a=1.0,b=1.0,x=22.0,y=15.0,r=1.04],(((((((((Node3202[a=1.0,b=-1.0,x=30.0,y=9.0,r=1.32])Node2859[a=0.0,b=-1.0,x=29.0,y=10.0,r=1.41],(((Node3547[a=1.0,b=1.0,x=33.0,y=11.0,r=0.86])Node3378[a=1.0,b=0.0,x=32.0,y=10.0,r=0.93],(Node3546[a=1.0,b=0.0,x=33.0,y=9.0,r=1.45])Node3377[a=1.0,b=-1.0,x=32.0,y=9.0,r=1.09])Node3029[a=1.0,b=0.0,x=31.0,y=10.0,r=1.09])Node2858[a=1.0,b=-1.0,x=30.0,y=10.0,r=1.16])Node2691[a=1.0,b=-1.0,x=29.0,y=11.0,r=0.62],((((Node3545[a=1.0,b=1.0,x=33.0,y=15.0,r=1.33])Node3376[a=1.0,b=1.0,x=32.0,y=14.0,r=0.84])Node3201[a=1.0,b=0.0,x=31.0,y=13.0,r=0.89])Node2857[a=1.0,b=0.0,x=30.0,y=13.0,r=0.68],(((((Node3712[a=1.0,b=-1.0,x=34.0,y=12.0,r=0.75],Node3711[a=0.0,b=1.0,x=33.0,y=14.0,r=1.0])Node3544[a=1.0,b=0.0,x=33.0,y=13.0,r=1.28])Node3375[a=0.0,b=1.0,x=32.0,y=13.0,r=0.84])Node3200[a=1.0,b=0.0,x=32.0,y=12.0,r=1.39],((Node3710[a=1.0,b=0.0,x=34.0,y=10.0,r=1.4])Node3543[a=1.0,b=-1.0,x=33.0,y=10.0,r=1.38])Node3199[a=1.0,b=-1.0,x=32.0,y=11.0,r=0.74])Node3028[a=1.0,b=0.0,x=31.0,y=12.0,r=0.55],Node3027[a=1.0,b=-1.0,x=31.0,y=11.0,r=0.84])Node2856[a=1.0,b=-1.0,x=30.0,y=12.0,r=1.0])Node2690[a=1.0,b=1.0,x=29.0,y=13.0,r=1.37])Node2531[a=1.0,b=-1.0,x=28.0,y=12.0,r=0.73],((Node2855[a=1.0,b=-1.0,x=30.0,y=11.0,r=1.46])Node2689[a=1.0,b=-1.0,x=29.0,y=12.0,r=0.63])Node2530[a=1.0,b=0.0,x=28.0,y=13.0,r=0.68])Node2371[a=1.0,b=-1.0,x=27.0,y=13.0,r=1.31])Node2214[a=1.0,b=0.0,x=26.0,y=14.0,r=0.67])Node2059[a=1.0,b=1.0,x=25.0,y=14.0,r=0.82])Node1910[a=1.0,b=0.0,x=24.0,y=13.0,r=0.53],(((Node2529[a=1.0,b=0.0,x=27.0,y=12.0,r=0.67])Node2370[a=1.0,b=-1.0,x=26.0,y=12.0,r=1.32],Node2369[a=1.0,b=0.0,x=26.0,y=13.0,r=1.5])Node2213[a=1.0,b=-1.0,x=25.0,y=13.0,r=1.41])Node1909[a=1.0,b=1.0,x=24.0,y=14.0,r=0.65])Node1760[a=1.0,b=-1.0,x=23.0,y=13.0,r=1.46],(((Node2368[a=1.0,b=1.0,x=24.0,y=17.0,r=0.94])Node2058[a=0.0,b=1.0,x=23.0,y=16.0,r=0.87])Node1908[a=0.0,b=1.0,x=23.0,y=15.0,r=1.34],((Node2212[a=0.0,b=-1.0,x=25.0,y=15.0,r=1.33],((((((((Node3709[a=1.0,b=0.0,x=32.0,y=16.0,r=1.43],Node3708[a=1.0,b=-1.0,x=32.0,y=15.0,r=1.01])Node3542[a=1.0,b=-1.0,x=31.0,y=16.0,r=1.05],Node3541[a=1.0,b=1.0,x=31.0,y=18.0,r=1.1])Node3374[a=1.0,b=1.0,x=30.0,y=17.0,r=1.1])Node3026[a=-1.0,b=1.0,x=29.0,y=16.0,r=1.31])Node2854[a=1.0,b=1.0,x=30.0,y=15.0,r=1.26],((((Node3707[a=1.0,b=0.0,x=32.0,y=17.0,r=1.17])Node3373[a=1.0,b=1.0,x=31.0,y=17.0,r=1.43],Node3372[a=1.0,b=-1.0,x=31.0,y=15.0,r=1.39])Node3198[a=1.0,b=1.0,x=30.0,y=16.0,r=0.9])Node3025[a=-1.0,b=1.0,x=29.0,y=15.0,r=0.9])Node2853[a=1.0,b=0.0,x=30.0,y=14.0,r=1.44])Node2688[a=1.0,b=0.0,x=29.0,y=14.0,r=0.81],Node2687[a=0.0,b=1.0,x=28.0,y=15.0,r=1.26])Node2528[a=1.0,b=0.0,x=28.0,y=14.0,r=1.19])Node2367[a=1.0,b=-1.0,x=27.0,y=14.0,r=1.31],(Node2527[a=-1.0,b=1.0,x=26.0,y=16.0,r=1.16])Node2366[a=1.0,b=0.0,x=27.0,y=15.0,r=0.82])Node2211[a=1.0,b=-1.0,x=26.0,y=15.0,r=1.26])Node2057[a=1.0,b=1.0,x=25.0,y=16.0,r=1.39],((((((((Node3706[a=1.0,b=0.0,x=31.0,y=21.0,r=0.51])Node3540[a=1.0,b=0.0,x=30.0,y=21.0,r=0.89])Node3371[a=1.0,b=1.0,x=29.0,y=21.0,r=1.44])Node3024[a=1.0,b=1.0,x=28.0,y=20.0,r=1.1])Node2852[a=1.0,b=1.0,x=27.0,y=19.0,r=1.08],(Node3023[a=1.0,b=-1.0,x=27.0,y=16.0,r=1.29],(Node3197[a=1.0,b=1.0,x=28.0,y=18.0,r=1.44],(Node3370[a=1.0,b=1.0,x=29.0,y=17.0,r=1.45])Node3196[a=1.0,b=-1.0,x=28.0,y=16.0,r=0.87])Node3022[a=1.0,b=0.0,x=27.0,y=17.0,r=1.36])Node2851[a=0.0,b=-1.0,x=26.0,y=17.0,r=1.02])Node2686[a=1.0,b=0.0,x=26.0,y=18.0,r=0.55])Node2526[a=0.0,b=1.0,x=25.0,y=18.0,r=0.77])Node2210[a=1.0,b=1.0,x=25.0,y=17.0,r=0.57])Node2056[a=0.0,b=1.0,x=24.0,y=16.0,r=1.11])Node1907[a=1.0,b=1.0,x=24.0,y=15.0,r=1.46])Node1759[a=1.0,b=0.0,x=23.0,y=14.0,r=1.19])Node1622[a=1.0,b=0.0,x=22.0,y=14.0,r=1.04])Node1489[a=1.0,b=1.0,x=21.0,y=14.0,r=0.91])Node1374[a=1.0,b=0.0,x=20.0,y=13.0,r=1.38])Node1269[a=1.0,b=0.0,x=19.0,y=13.0,r=1.16])Node1173[a=1.0,b=0.0,x=18.0,y=13.0,r=1.1])Node1072[a=1.0,b=1.0,x=17.0,y=13.0,r=1.37])Node969[a=1.0,b=1.0,x=16.0,y=12.0,r=0.8])Node873[a=1.0,b=-1.0,x=15.0,y=11.0,r=0.55])Node709[a=1.0,b=-1.0,x=14.0,y=12.0,r=1.46],((((Node1071[a=1.0,b=0.0,x=16.0,y=14.0,r=1.06],(((Node1488[a=0.0,b=1.0,x=18.0,y=18.0,r=1.2],Node1487[a=1.0,b=-1.0,x=19.0,y=16.0,r=1.17])Node1268[a=1.0,b=1.0,x=18.0,y=17.0,r=0.91],(((((((((((((Node3539[a=1.0,b=1.0,x=26.0,y=28.0,r=1.29])Node3369[a=1.0,b=-1.0,x=25.0,y=27.0,r=0.55],(Node3705[a=0.0,b=1.0,x=25.0,y=29.0,r=0.9])Node3368[a=1.0,b=0.0,x=25.0,y=28.0,r=1.19])Node3195[a=1.0,b=1.0,x=24.0,y=28.0,r=1.24])Node3021[a=1.0,b=1.0,x=23.0,y=27.0,r=1.04])Node2850[a=1.0,b=1.0,x=22.0,y=26.0,r=0.65])Node2685[a=1.0,b=1.0,x=21.0,y=25.0,r=0.74])Node2365[a=1.0,b=1.0,x=20.0,y=24.0,r=0.89])Node2209[a=1.0,b=1.0,x=19.0,y=23.0,r=1.06])Node1906[a=1.0,b=1.0,x=18.0,y=22.0,r=1.0])Node1758[a=-1.0,b=1.0,x=17.0,y=21.0,r=0.54])Node1621[a=1.0,b=1.0,x=18.0,y=20.0,r=1.18])Node1486[a=1.0,b=1.0,x=17.0,y=19.0,r=0.5],Node1485[a=-1.0,b=0.0,x=15.0,y=18.0,r=0.81])Node1373[a=-1.0,b=1.0,x=16.0,y=18.0,r=0.68],(Node1620[a=-1.0,b=1.0,x=16.0,y=19.0,r=1.38])Node1372[a=0.0,b=1.0,x=17.0,y=18.0,r=1.43])Node1267[a=0.0,b=1.0,x=17.0,y=17.0,r=1.14])Node1172[a=1.0,b=1.0,x=17.0,y=16.0,r=1.06])Node1070[a=1.0,b=1.0,x=16.0,y=15.0,r=0.86])Node968[a=-1.0,b=1.0,x=15.0,y=14.0,r=0.81],(((((((Node1905[a=1.0,b=1.0,x=20.0,y=21.0,r=0.69],(Node2055[a=1.0,b=1.0,x=20.0,y=22.0,r=0.97])Node1904[a=0.0,b=1.0,x=19.0,y=21.0,r=0.7])Node1757[a=1.0,b=1.0,x=19.0,y=20.0,r=1.3])Node1619[a=-1.0,b=1.0,x=18.0,y=19.0,r=1.34],(((Node2208[a=1.0,b=-1.0,x=23.0,y=17.0,r=1.28])Node1903[a=1.0,b=-1.0,x=22.0,y=18.0,r=0.83],(Node2054[a=1.0,b=1.0,x=21.0,y=21.0,r=1.01])Node1902[a=-1.0,b=1.0,x=20.0,y=20.0,r=1.24])Node1756[a=1.0,b=0.0,x=21.0,y=19.0,r=1.24],(((((((((Node3538[a=1.0,b=1.0,x=27.0,y=27.0,r=0.54])Node3194[a=0.0,b=1.0,x=26.0,y=26.0,r=1.26],(((Node3704[a=0.0,b=1.0,x=27.0,y=29.0,r=0.99],Node3703[a=-1.0,b=1.0,x=26.0,y=29.0,r=0.91])Node3537[a=1.0,b=1.0,x=27.0,y=28.0,r=1.46])Node3367[a=1.0,b=1.0,x=26.0,y=27.0,r=1.09])Node3193[a=-1.0,b=1.0,x=25.0,y=26.0,r=1.29])Node3020[a=1.0,b=1.0,x=26.0,y=25.0,r=1.34])Node2849[a=1.0,b=1.0,x=25.0,y=24.0,r=1.16])Node2684[a=1.0,b=1.0,x=24.0,y=23.0,r=1.46])Node2525[a=1.0,b=0.0,x=23.0,y=22.0,r=1.12])Node2364[a=0.0,b=1.0,x=22.0,y=22.0,r=1.06],((Node2683[a=-1.0,b=1.0,x=21.0,y=24.0,r=1.2],((Node3019[a=0.0,b=1.0,x=24.0,y=25.0,r=0.51])Node2848[a=1.0,b=1.0,x=24.0,y=24.0,r=0.53],Node2847[a=0.0,b=1.0,x=23.0,y=24.0,r=1.32])Node2682[a=1.0,b=0.0,x=23.0,y=23.0,r=1.1])Node2524[a=1.0,b=1.0,x=22.0,y=23.0,r=0.93])Node2363[a=-1.0,b=1.0,x=21.0,y=22.0,r=0.55])Node2207[a=0.0,b=1.0,x=22.0,y=21.0,r=1.45],(((Node3018[a=1.0,b=1.0,x=25.0,y=23.0,r=1.06])Node2681[a=1.0,b=1.0,x=24.0,y=22.0,r=0.89])Node2362[a=0.0,b=1.0,x=23.0,y=21.0,r=0.8])Node2206[a=1.0,b=0.0,x=23.0,y=20.0,r=1.03])Node1901[a=1.0,b=0.0,x=22.0,y=20.0,r=0.66])Node1755[a=1.0,b=1.0,x=21.0,y=20.0,r=1.37])Node1618[a=1.0,b=1.0,x=20.0,y=19.0,r=0.66])Node1484[a=0.0,b=1.0,x=19.0,y=18.0,r=0.77],((Node1754[a=1.0,b=-1.0,x=21.0,y=16.0,r=0.7],(Node1900[a=-1.0,b=1.0,x=19.0,y=19.0,r=0.71],(Node2053[a=0.0,b=-1.0,x=21.0,y=17.0,r=1.09],(((((((Node3366[a=-1.0,b=1.0,x=26.0,y=24.0,r=0.57],((Node3702[a=0.0,b=1.0,x=27.0,y=26.0,r=1.26])Node3536[a=0.0,b=1.0,x=27.0,y=25.0,r=1.0],Node3535[a=1.0,b=0.0,x=28.0,y=24.0,r=0.56])Node3365[a=0.0,b=1.0,x=27.0,y=24.0,r=1.42])Node3192[a=1.0,b=0.0,x=27.0,y=23.0,r=1.44])Node3017[a=1.0,b=1.0,x=26.0,y=23.0,r=0.94])Node2846[a=1.0,b=1.0,x=25.0,y=22.0,r=1.13])Node2680[a=0.0,b=1.0,x=24.0,y=21.0,r=1.04])Node2523[a=1.0,b=1.0,x=24.0,y=20.0,r=0.9])Node2205[a=1.0,b=0.0,x=23.0,y=19.0,r=1.01])Node2052[a=1.0,b=1.0,x=22.0,y=19.0,r=1.24])Node1899[a=1.0,b=0.0,x=21.0,y=18.0,r=0.73])Node1753[a=0.0,b=1.0,x=20.0,y=18.0,r=1.27])Node1617[a=0.0,b=1.0,x=20.0,y=17.0,r=1.45],Node1616[a=1.0,b=-1.0,x=21.0,y=15.0,r=0.95])Node1483[a=1.0,b=-1.0,x=20.0,y=16.0,r=0.86])Node1371[a=1.0,b=1.0,x=19.0,y=17.0,r=0.67])Node1266[a=1.0,b=1.0,x=18.0,y=16.0,r=0.58],((Node1615[a=1.0,b=1.0,x=20.0,y=15.0,r=0.78])Node1370[a=1.0,b=-1.0,x=19.0,y=14.0,r=1.47])Node1265[a=1.0,b=0.0,x=18.0,y=15.0,r=0.95])Node1069[a=0.0,b=1.0,x=17.0,y=15.0,r=1.5])Node967[a=1.0,b=1.0,x=17.0,y=14.0,r=1.35])Node872[a=1.0,b=1.0,x=16.0,y=13.0,r=1.23],((((Node1482[a=0.0,b=1.0,x=16.0,y=17.0,r=0.7])Node1171[a=1.0,b=1.0,x=16.0,y=16.0,r=1.11])Node1068[a=1.0,b=1.0,x=15.0,y=15.0,r=0.88],(Node1170[a=0.0,b=1.0,x=14.0,y=16.0,r=1.07],(((((((Node2051[a=0.0,b=1.0,x=17.0,y=23.0,r=0.85],((((((Node3016[a=0.0,b=1.0,x=21.0,y=28.0,r=1.06])Node2845[a=0.0,b=1.0,x=21.0,y=27.0,r=0.74],(((((Node3701[a=-1.0,b=1.0,x=21.0,y=32.0,r=0.64])Node3534[a=1.0,b=1.0,x=22.0,y=31.0,r=1.16])Node3364[a=-1.0,b=1.0,x=21.0,y=30.0,r=0.55])Node3191[a=0.0,b=1.0,x=22.0,y=29.0,r=0.7])Node3015[a=0.0,b=1.0,x=22.0,y=28.0,r=0.95],((((Node3700[a=1.0,b=-1.0,x=27.0,y=30.0,r=0.59],Node3699[a=1.0,b=1.0,x=27.0,y=32.0,r=0.51])Node3533[a=1.0,b=1.0,x=26.0,y=31.0,r=1.28])Node3363[a=1.0,b=1.0,x=25.0,y=30.0,r=1.13],((Node3698[a=1.0,b=1.0,x=25.0,y=32.0,r=0.92],Node3697[a=-1.0,b=1.0,x=23.0,y=32.0,r=0.93])Node3532[a=1.0,b=1.0,x=24.0,y=31.0,r=1.41],(Node3696[a=-1.0,b=1.0,x=22.0,y=32.0,r=1.3],Node3695[a=1.0,b=1.0,x=24.0,y=32.0,r=0.71])Node3531[a=0.0,b=1.0,x=23.0,y=31.0,r=0.89])Node3362[a=-1.0,b=1.0,x=23.0,y=30.0,r=1.46])Node3190[a=1.0,b=1.0,x=24.0,y=29.0,r=1.32],((Node3694[a=1.0,b=1.0,x=25.0,y=31.0,r=0.87])Node3530[a=1.0,b=1.0,x=24.0,y=30.0,r=0.51])Node3189[a=0.0,b=1.0,x=23.0,y=29.0,r=0.74])Node3014[a=1.0,b=1.0,x=23.0,y=28.0,r=1.13])Node2844[a=1.0,b=1.0,x=22.0,y=27.0,r=1.43])Node2679[a=1.0,b=1.0,x=21.0,y=26.0,r=0.91])Node2522[a=1.0,b=0.0,x=20.0,y=25.0,r=0.65])Node2361[a=0.0,b=1.0,x=19.0,y=25.0,r=0.75],(((Node2843[a=1.0,b=0.0,x=20.0,y=26.0,r=0.7],Node2842[a=1.0,b=1.0,x=20.0,y=27.0,r=0.88])Node2678[a=1.0,b=1.0,x=19.0,y=26.0,r=1.02])Node2521[a=0.0,b=1.0,x=18.0,y=25.0,r=0.83])Node2360[a=-1.0,b=0.0,x=18.0,y=24.0,r=1.07])Node2204[a=1.0,b=1.0,x=19.0,y=24.0,r=0.81])Node2050[a=1.0,b=1.0,x=18.0,y=23.0,r=1.03])Node1898[a=1.0,b=1.0,x=17.0,y=22.0,r=0.94],Node1897[a=0.0,b=1.0,x=16.0,y=22.0,r=0.53])Node1752[a=0.0,b=1.0,x=16.0,y=21.0,r=0.88],(((((((Node3013[a=1.0,b=0.0,x=23.0,y=25.0,r=0.78],((Node3361[a=1.0,b=-1.0,x=25.0,y=25.0,r=0.96])Node3188[a=1.0,b=0.0,x=24.0,y=26.0,r=1.11],Node3187[a=1.0,b=1.0,x=24.0,y=27.0,r=1.35])Node3012[a=1.0,b=1.0,x=23.0,y=26.0,r=0.75])Node2841[a=0.0,b=1.0,x=22.0,y=25.0,r=0.58])Node2677[a=1.0,b=1.0,x=22.0,y=24.0,r=0.75])Node2520[a=1.0,b=0.0,x=21.0,y=23.0,r=1.44])Node2203[a=1.0,b=1.0,x=20.0,y=23.0,r=1.22])Node2049[a=1.0,b=1.0,x=19.0,y=22.0,r=1.12])Node1896[a=1.0,b=1.0,x=18.0,y=21.0,r=1.35])Node1751[a=1.0,b=0.0,x=17.0,y=20.0,r=1.5])Node1614[a=1.0,b=1.0,x=16.0,y=20.0,r=0.66])Node1481[a=1.0,b=1.0,x=15.0,y=19.0,r=1.07])Node1369[a=-1.0,b=1.0,x=14.0,y=18.0,r=1.03])Node1264[a=0.0,b=1.0,x=15.0,y=17.0,r=0.9])Node1169[a=1.0,b=1.0,x=15.0,y=16.0,r=0.88])Node1067[a=0.0,b=1.0,x=14.0,y=15.0,r=0.66])Node966[a=-1.0,b=1.0,x=14.0,y=14.0,r=1.5])Node871[a=0.0,b=1.0,x=15.0,y=13.0,r=0.53])Node786[a=1.0,b=-1.0,x=15.0,y=12.0,r=1.38])Node708[a=1.0,b=0.0,x=14.0,y=13.0,r=0.63])Node634[a=1.0,b=1.0,x=13.0,y=13.0,r=0.53])Node568[a=1.0,b=1.0,x=12.0,y=12.0,r=0.9])Node494[a=1.0,b=1.0,x=11.0,y=11.0,r=1.44],(((Node707[a=1.0,b=1.0,x=14.0,y=10.0,r=1.04],(Node785[a=1.0,b=0.0,x=14.0,y=8.0,r=0.53],(((Node1066[a=1.0,b=1.0,x=17.0,y=12.0,r=1.15])Node965[a=1.0,b=1.0,x=16.0,y=11.0,r=1.44])Node870[a=1.0,b=1.0,x=15.0,y=10.0,r=1.49],((Node1065[a=1.0,b=0.0,x=17.0,y=10.0,r=0.73],(Node1168[a=1.0,b=1.0,x=18.0,y=12.0,r=1.1])Node1064[a=1.0,b=1.0,x=17.0,y=11.0,r=1.0])Node964[a=1.0,b=1.0,x=16.0,y=10.0,r=1.13])Node869[a=1.0,b=0.0,x=15.0,y=9.0,r=0.88])Node784[a=1.0,b=1.0,x=14.0,y=9.0,r=1.1])Node706[a=0.0,b=-1.0,x=13.0,y=8.0,r=0.62])Node633[a=1.0,b=0.0,x=13.0,y=9.0,r=1.22])Node567[a=1.0,b=0.0,x=12.0,y=9.0,r=0.53])Node493[a=1.0,b=-1.0,x=11.0,y=9.0,r=0.88])Node414[a=1.0,b=0.0,x=10.0,y=10.0,r=1.37])Node357[a=1.0,b=0.0,x=9.0,y=10.0,r=0.59])Node294[a=1.0,b=0.0,x=8.0,y=10.0,r=1.03])Node201[a=1.0,b=1.0,x=7.0,y=10.0,r=0.57])Node158[a=1.0,b=0.0,x=6.0,y=9.0,r=1.1])Node108[a=1.0,b=1.0,x=5.0,y=9.0,r=0.61])Node93[a=-1.0,b=1.0,x=4.0,y=8.0,r=0.82])Node77[a=-1.0,b=1.0,x=5.0,y=7.0,r=1.07])Node64[a=1.0,b=1.0,x=6.0,y=6.0,r=0.69],(Node76[a=0.0,b=-1.0,x=4.0,y=4.0,r=1.5],Node75[a=-1.0,b=0.0,x=3.0,y=5.0,r=0.8])Node63[a=-1.0,b=0.0,x=4.0,y=5.0,r=0.54])Node49[a=0.0,b=1.0,x=5.0,y=5.0,r=0.86])Node38[a=0.0,b=1.0,x=5.0,y=4.0,r=0.88],(((((((((Node413[a=1.0,b=0.0,x=10.0,y=8.0,r=1.27],((((Node705[a=1.0,b=0.0,x=14.0,y=11.0,r=1.38])Node632[a=1.0,b=0.0,x=13.0,y=11.0,r=1.39],Node631[a=1.0,b=-1.0,x=13.0,y=10.0,r=1.3])Node566[a=1.0,b=1.0,x=12.0,y=11.0,r=0.57])Node492[a=1.0,b=1.0,x=11.0,y=10.0,r=1.24])Node412[a=1.0,b=1.0,x=10.0,y=9.0,r=0.54])Node356[a=-1.0,b=1.0,x=9.0,y=8.0,r=0.92])Node240[a=1.0,b=1.0,x=10.0,y=7.0,r=0.79])Node157[a=1.0,b=-1.0,x=9.0,y=6.0,r=0.58])Node134[a=0.0,b=1.0,x=8.0,y=7.0,r=1.17])Node92[a=0.0,b=1.0,x=8.0,y=6.0,r=1.39])Node74[a=1.0,b=1.0,x=8.0,y=5.0,r=1.23])Node62[a=0.0,b=1.0,x=7.0,y=4.0,r=1.41])Node48[a=1.0,b=1.0,x=7.0,y=3.0,r=1.45],(((((Node200[a=0.0,b=1.0,x=7.0,y=8.0,r=0.56])Node156[a=0.0,b=1.0,x=7.0,y=7.0,r=0.82])Node133[a=0.0,b=1.0,x=7.0,y=6.0,r=0.67],(((Node355[a=1.0,b=1.0,x=11.0,y=5.0,r=1.11],(((Node565[a=0.0,b=1.0,x=11.0,y=8.0,r=0.82])Node491[a=0.0,b=1.0,x=11.0,y=7.0,r=1.1],((Node704[a=-1.0,b=1.0,x=12.0,y=8.0,r=0.85])Node630[a=1.0,b=1.0,x=13.0,y=7.0,r=0.88])Node490[a=1.0,b=0.0,x=12.0,y=6.0,r=0.66])Node411[a=1.0,b=1.0,x=11.0,y=6.0,r=1.12])Node354[a=0.0,b=1.0,x=10.0,y=5.0,r=0.66])Node239[a=1.0,b=-1.0,x=10.0,y=4.0,r=1.1])Node199[a=1.0,b=1.0,x=9.0,y=5.0,r=1.27],(((((Node629[a=-1.0,b=1.0,x=12.0,y=7.0,r=1.41])Node564[a=1.0,b=1.0,x=13.0,y=6.0,r=0.9])Node489[a=1.0,b=1.0,x=12.0,y=5.0,r=0.83])Node353[a=1.0,b=1.0,x=11.0,y=4.0,r=1.24])Node238[a=1.0,b=-1.0,x=10.0,y=3.0,r=1.37])Node198[a=1.0,b=0.0,x=9.0,y=4.0,r=0.65])Node132[a=1.0,b=-1.0,x=8.0,y=4.0,r=0.72])Node107[a=1.0,b=1.0,x=7.0,y=5.0,r=0.82],Node106[a=0.0,b=1.0,x=6.0,y=5.0,r=0.69])Node73[a=0.0,b=1.0,x=6.0,y=4.0,r=0.57])Node47[a=0.0,b=1.0,x=6.0,y=3.0,r=1.44])Node37[a=1.0,b=-1.0,x=6.0,y=2.0,r=0.62])Node29[a=1.0,b=1.0,x=5.0,y=3.0,r=1.22],((Node61[a=1.0,b=1.0,x=3.0,y=4.0,r=0.75],((Node91[a=0.0,b=1.0,x=2.0,y=5.0,r=0.85])Node72[a=1.0,b=1.0,x=2.0,y=4.0,r=0.98])Node60[a=-1.0,b=0.0,x=1.0,y=3.0,r=0.93])Node36[a=-1.0,b=1.0,x=2.0,y=3.0,r=1.07])Node28[a=-1.0,b=0.0,x=3.0,y=2.0,r=1.26])Node18[a=1.0,b=1.0,x=4.0,y=2.0,r=1.21],(((((((Node293[a=1.0,b=-1.0,x=11.0,y=0.0,r=1.04],(((Node563[a=-1.0,b=-1.0,x=7.0,y=2.0,r=0.53])Node410[a=-1.0,b=0.0,x=8.0,y=3.0,r=1.09])Node352[a=0.0,b=1.0,x=9.0,y=3.0,r=0.5])Node292[a=-1.0,b=1.0,x=9.0,y=2.0,r=0.83])Node197[a=1.0,b=0.0,x=10.0,y=1.0,r=0.86])Node131[a=1.0,b=-1.0,x=9.0,y=1.0,r=1.4])Node71[a=1.0,b=1.0,x=8.0,y=2.0,r=1.21])Node59[a=1.0,b=1.0,x=7.0,y=1.0,r=1.36],((((((((Node409[a=0.0,b=1.0,x=12.0,y=4.0,r=1.37])Node351[a=1.0,b=1.0,x=12.0,y=3.0,r=1.01],(Node488[a=1.0,b=0.0,x=13.0,y=1.0,r=1.13])Node350[a=1.0,b=-1.0,x=12.0,y=1.0,r=1.42])Node291[a=0.0,b=1.0,x=11.0,y=2.0,r=0.88],((((((((((((((Node1480[a=1.0,b=-1.0,x=20.0,y=11.0,r=0.96])Node1368[a=0.0,b=1.0,x=19.0,y=12.0,r=0.86],(((Node1750[a=1.0,b=0.0,x=23.0,y=11.0,r=1.24],(((((Node2676[a=1.0,b=1.0,x=28.0,y=11.0,r=1.15],Node2675[a=1.0,b=0.0,x=28.0,y=10.0,r=0.56])Node2359[a=1.0,b=1.0,x=27.0,y=10.0,r=0.81],(Node2674[a=1.0,b=-1.0,x=28.0,y=7.0,r=0.98],((Node3011[a=1.0,b=-1.0,x=30.0,y=7.0,r=1.28])Node2840[a=1.0,b=0.0,x=29.0,y=8.0,r=0.57],((Node3360[a=1.0,b=1.0,x=31.0,y=9.0,r=1.31])Node3010[a=1.0,b=-1.0,x=30.0,y=8.0,r=1.28])Node2839[a=1.0,b=1.0,x=29.0,y=9.0,r=0.64])Node2673[a=1.0,b=0.0,x=28.0,y=8.0,r=1.39])Node2358[a=1.0,b=-1.0,x=27.0,y=8.0,r=1.17])Node2202[a=1.0,b=0.0,x=26.0,y=9.0,r=0.62],Node2201[a=1.0,b=1.0,x=26.0,y=10.0,r=1.13])Node2048[a=1.0,b=-1.0,x=25.0,y=9.0,r=0.69])Node1895[a=1.0,b=0.0,x=24.0,y=10.0,r=1.2],Node1894[a=1.0,b=1.0,x=24.0,y=11.0,r=0.67])Node1749[a=1.0,b=-1.0,x=23.0,y=10.0,r=0.71])Node1613[a=1.0,b=0.0,x=22.0,y=11.0,r=1.45])Node1479[a=1.0,b=-1.0,x=21.0,y=11.0,r=0.7],(Node1748[a=1.0,b=1.0,x=22.0,y=13.0,r=1.2])Node1478[a=1.0,b=0.0,x=21.0,y=12.0,r=1.05])Node1367[a=1.0,b=1.0,x=20.0,y=12.0,r=1.01])Node1263[a=1.0,b=0.0,x=19.0,y=11.0,r=1.13],(Node1477[a=1.0,b=-1.0,x=20.0,y=9.0,r=0.99],(Node1612[a=1.0,b=0.0,x=21.0,y=10.0,r=0.92])Node1476[a=1.0,b=0.0,x=20.0,y=10.0,r=0.83])Node1262[a=1.0,b=-1.0,x=19.0,y=10.0,r=0.62])Node1167[a=0.0,b=1.0,x=18.0,y=11.0,r=0.83])Node1063[a=1.0,b=1.0,x=18.0,y=10.0,r=0.68])Node963[a=1.0,b=1.0,x=17.0,y=9.0,r=1.26])Node868[a=1.0,b=1.0,x=16.0,y=8.0,r=0.53])Node783[a=1.0,b=1.0,x=15.0,y=7.0,r=1.14],((Node962[a=1.0,b=1.0,x=16.0,y=9.0,r=0.92])Node867[a=1.0,b=1.0,x=15.0,y=8.0,r=1.01])Node782[a=0.0,b=1.0,x=14.0,y=7.0,r=1.16])Node703[a=1.0,b=1.0,x=14.0,y=6.0,r=1.11])Node628[a=0.0,b=1.0,x=13.0,y=5.0,r=0.79])Node562[a=0.0,b=1.0,x=13.0,y=4.0,r=0.59],((((Node961[a=1.0,b=1.0,x=17.0,y=8.0,r=1.1])Node866[a=1.0,b=1.0,x=16.0,y=7.0,r=0.89])Node781[a=1.0,b=1.0,x=15.0,y=6.0,r=1.26],((((Node1261[a=1.0,b=-1.0,x=19.0,y=6.0,r=1.14],Node1260[a=1.0,b=0.0,x=19.0,y=7.0,r=1.07])Node1062[a=1.0,b=1.0,x=18.0,y=7.0,r=1.35])Node960[a=1.0,b=1.0,x=17.0,y=6.0,r=0.59],Node959[a=1.0,b=-1.0,x=17.0,y=4.0,r=1.25])Node865[a=1.0,b=1.0,x=16.0,y=5.0,r=1.41])Node780[a=1.0,b=-1.0,x=15.0,y=4.0,r=1.22])Node702[a=0.0,b=1.0,x=14.0,y=5.0,r=0.81],(((Node1061[a=1.0,b=0.0,x=18.0,y=5.0,r=1.05])Node958[a=1.0,b=-1.0,x=17.0,y=5.0,r=0.82],(((Node1366[a=1.0,b=0.0,x=19.0,y=9.0,r=1.22])Node1166[a=0.0,b=1.0,x=18.0,y=9.0,r=1.13],(((Node1747[a=1.0,b=1.0,x=22.0,y=10.0,r=0.52])Node1611[a=1.0,b=1.0,x=21.0,y=9.0,r=1.04])Node1365[a=1.0,b=0.0,x=20.0,y=8.0,r=1.25],((Node1610[a=1.0,b=-1.0,x=22.0,y=7.0,r=1.19],(((Node2200[a=1.0,b=0.0,x=25.0,y=7.0,r=1.44])Node2047[a=1.0,b=-1.0,x=24.0,y=7.0,r=0.95])Node1893[a=1.0,b=-1.0,x=23.0,y=8.0,r=0.68],(((((Node2838[a=1.0,b=0.0,x=28.0,y=9.0,r=1.39])Node2519[a=1.0,b=1.0,x=27.0,y=9.0,r=1.06])Node2357[a=1.0,b=0.0,x=26.0,y=8.0,r=0.72])Node2199[a=1.0,b=-1.0,x=25.0,y=8.0,r=0.65],Node2198[a=1.0,b=1.0,x=25.0,y=10.0,r=1.15])Node2046[a=1.0,b=0.0,x=24.0,y=9.0,r=1.08])Node1892[a=1.0,b=0.0,x=23.0,y=9.0,r=1.35])Node1609[a=1.0,b=1.0,x=22.0,y=9.0,r=1.45])Node1475[a=1.0,b=1.0,x=21.0,y=8.0,r=1.18])Node1364[a=1.0,b=-1.0,x=20.0,y=7.0,r=0.53])Node1165[a=1.0,b=0.0,x=19.0,y=8.0,r=1.39])Node1060[a=1.0,b=1.0,x=18.0,y=8.0,r=0.72],((((((Node2045[a=1.0,b=1.0,x=24.0,y=8.0,r=1.13])Node1746[a=1.0,b=-1.0,x=23.0,y=7.0,r=1.35])Node1608[a=1.0,b=1.0,x=22.0,y=8.0,r=0.83])Node1474[a=1.0,b=1.0,x=21.0,y=7.0,r=0.64])Node1363[a=1.0,b=1.0,x=20.0,y=6.0,r=1.23])Node1259[a=1.0,b=-1.0,x=19.0,y=5.0,r=0.83])Node1059[a=1.0,b=-1.0,x=18.0,y=6.0,r=0.75])Node957[a=1.0,b=1.0,x=17.0,y=7.0,r=1.4])Node864[a=1.0,b=1.0,x=16.0,y=6.0,r=1.16])Node701[a=1.0,b=1.0,x=15.0,y=5.0,r=0.59])Node561[a=1.0,b=1.0,x=14.0,y=4.0,r=0.61])Node487[a=1.0,b=1.0,x=13.0,y=3.0,r=1.03],(Node560[a=1.0,b=0.0,x=14.0,y=2.0,r=0.92],(((Node956[a=0.0,b=1.0,x=16.0,y=4.0,r=1.28])Node779[a=1.0,b=0.0,x=16.0,y=3.0,r=0.68])Node627[a=1.0,b=0.0,x=15.0,y=3.0,r=0.89])Node559[a=1.0,b=1.0,x=14.0,y=3.0,r=1.47])Node486[a=1.0,b=0.0,x=13.0,y=2.0,r=1.17])Node408[a=1.0,b=-1.0,x=12.0,y=2.0,r=1.5])Node349[a=1.0,b=1.0,x=11.0,y=3.0,r=0.83])Node290[a=-1.0,b=1.0,x=10.0,y=2.0,r=1.1])Node196[a=1.0,b=1.0,x=11.0,y=1.0,r=0.74])Node155[a=1.0,b=0.0,x=10.0,y=0.0,r=1.39])Node130[a=1.0,b=-1.0,x=9.0,y=0.0,r=0.67])Node105[a=1.0,b=1.0,x=8.0,y=1.0,r=0.66])Node90[a=1.0,b=-1.0,x=7.0,y=0.0,r=1.15])Node58[a=0.0,b=1.0,x=6.0,y=1.0,r=0.77])Node46[a=1.0,b=-1.0,x=6.0,y=0.0,r=1.46])Node27[a=1.0,b=0.0,x=5.0,y=1.0,r=1.49])Node17[a=1.0,b=0.0,x=4.0,y=1.0,r=1.24])Node11[a=1.0,b=0.0,x=3.0,y=1.0,r=1.42])Node7[a=1.0,b=1.0,x=2.0,y=1.0,r=1.02])Node2[a=1.0,b=0.0,x=1.0,y=0.0,r=0.9],(((((((((Node348[a=-1.0,b=0.0,x=-8.0,y=2.0,r=0.57],(Node407[a=-1.0,b=-1.0,x=-9.0,y=2.0,r=1.2],Node406[a=1.0,b=1.0,x=-7.0,y=4.0,r=0.68])Node347[a=-1.0,b=1.0,x=-8.0,y=3.0,r=0.87])Node195[a=-1.0,b=1.0,x=-7.0,y=2.0,r=1.48],((((((Node700[a=-1.0,b=1.0,x=-10.0,y=-2.0,r=0.72],(((((Node1258[a=-1.0,b=-1.0,x=-15.0,y=-6.0,r=0.85])Node1058[a=-1.0,b=0.0,x=-14.0,y=-5.0,r=1.09],((((((Node1745[a=-1.0,b=0.0,x=-20.0,y=-5.0,r=0.89],Node1744[a=-1.0,b=-1.0,x=-20.0,y=-6.0,r=0.9])Node1607[a=-1.0,b=0.0,x=-19.0,y=-5.0,r=1.49],((Node1891[a=-1.0,b=-1.0,x=-19.0,y=-8.0,r=0.69])Node1743[a=1.0,b=-1.0,x=-18.0,y=-7.0,r=0.52],(((((Node2837[a=-1.0,b=-1.0,x=-23.0,y=-11.0,r=0.94])Node2518[a=0.0,b=-1.0,x=-22.0,y=-10.0,r=1.07],Node2517[a=-1.0,b=-1.0,x=-23.0,y=-10.0,r=0.75])Node2356[a=-1.0,b=-1.0,x=-22.0,y=-9.0,r=1.23])Node2044[a=0.0,b=-1.0,x=-21.0,y=-8.0,r=1.2])Node1890[a=-1.0,b=0.0,x=-21.0,y=-7.0,r=0.64],(((Node2355[a=-1.0,b=-1.0,x=-23.0,y=-8.0,r=1.19],((((Node3186[a=0.0,b=-1.0,x=-24.0,y=-12.0,r=1.21])Node3009[a=0.0,b=-1.0,x=-24.0,y=-11.0,r=0.73],(((Node3529[a=-1.0,b=-1.0,x=-28.0,y=-12.0,r=0.54])Node3359[a=-1.0,b=0.0,x=-27.0,y=-11.0,r=0.86],((Node3693[a=-1.0,b=-1.0,x=-28.0,y=-13.0,r=0.99])Node3528[a=-1.0,b=0.0,x=-27.0,y=-12.0,r=1.36])Node3358[a=0.0,b=-1.0,x=-26.0,y=-12.0,r=1.43])Node3185[a=-1.0,b=0.0,x=-26.0,y=-11.0,r=0.67],(((Node3692[a=-1.0,b=0.0,x=-27.0,y=-13.0,r=1.13])Node3527[a=-1.0,b=0.0,x=-26.0,y=-13.0,r=1.16])Node3357[a=0.0,b=-1.0,x=-25.0,y=-13.0,r=1.35])Node3184[a=0.0,b=-1.0,x=-25.0,y=-12.0,r=1.22])Node3008[a=-1.0,b=-1.0,x=-25.0,y=-11.0,r=1.46])Node2672[a=-1.0,b=-1.0,x=-24.0,y=-10.0,r=1.04])Node2516[a=-1.0,b=-1.0,x=-23.0,y=-9.0,r=0.56])Node2354[a=0.0,b=-1.0,x=-22.0,y=-8.0,r=1.04])Node2197[a=0.0,b=-1.0,x=-22.0,y=-7.0,r=1.32],Node2196[a=-1.0,b=-1.0,x=-23.0,y=-7.0,r=0.69])Node2043[a=-1.0,b=0.0,x=-22.0,y=-6.0,r=0.97])Node1889[a=-1.0,b=1.0,x=-21.0,y=-6.0,r=0.63])Node1742[a=-1.0,b=-1.0,x=-20.0,y=-7.0,r=0.97])Node1606[a=-1.0,b=-1.0,x=-19.0,y=-6.0,r=1.4])Node1473[a=-1.0,b=0.0,x=-18.0,y=-5.0,r=1.42],(((Node2353[a=-1.0,b=-1.0,x=-21.0,y=-9.0,r=1.16])Node2042[a=-1.0,b=-1.0,x=-20.0,y=-8.0,r=0.84])Node1888[a=-1.0,b=-1.0,x=-19.0,y=-7.0,r=1.28])Node1472[a=-1.0,b=-1.0,x=-18.0,y=-6.0,r=1.41])Node1362[a=-1.0,b=-1.0,x=-17.0,y=-5.0,r=1.28])Node1257[a=-1.0,b=1.0,x=-16.0,y=-4.0,r=0.73])Node1164[a=-1.0,b=1.0,x=-15.0,y=-5.0,r=1.01],(((Node1887[a=0.0,b=1.0,x=-17.0,y=-7.0,r=1.08],(((Node2671[a=-1.0,b=-1.0,x=-21.0,y=-11.0,r=0.93])Node2195[a=-1.0,b=-1.0,x=-20.0,y=-10.0,r=0.67],((((Node3183[a=-1.0,b=0.0,x=-23.0,y=-12.0,r=0.97])Node2836[a=0.0,b=-1.0,x=-22.0,y=-12.0,r=1.2])Node2515[a=-1.0,b=-1.0,x=-22.0,y=-11.0,r=0.92])Node2352[a=-1.0,b=-1.0,x=-21.0,y=-10.0,r=1.04])Node2194[a=-1.0,b=0.0,x=-20.0,y=-9.0,r=0.69])Node2041[a=-1.0,b=-1.0,x=-19.0,y=-9.0,r=1.35],((((((((Node3691[a=0.0,b=-1.0,x=-25.0,y=-16.0,r=1.21])Node3526[a=-1.0,b=-1.0,x=-25.0,y=-15.0,r=0.76])Node3356[a=-1.0,b=0.0,x=-24.0,y=-14.0,r=1.35])Node3182[a=-1.0,b=-1.0,x=-23.0,y=-14.0,r=1.22])Node3007[a=-1.0,b=-1.0,x=-22.0,y=-13.0,r=1.02])Node2835[a=-1.0,b=-1.0,x=-21.0,y=-12.0,r=0.75])Node2351[a=-1.0,b=-1.0,x=-20.0,y=-11.0,r=0.72])Node2193[a=-1.0,b=-1.0,x=-19.0,y=-10.0,r=0.9])Node2040[a=0.0,b=-1.0,x=-18.0,y=-9.0,r=1.04])Node1886[a=-1.0,b=0.0,x=-18.0,y=-8.0,r=0.68])Node1605[a=-1.0,b=-1.0,x=-17.0,y=-8.0,r=1.08])Node1361[a=-1.0,b=0.0,x=-16.0,y=-7.0,r=0.93],((Node1885[a=-1.0,b=-1.0,x=-17.0,y=-10.0,r=0.51])Node1604[a=-1.0,b=-1.0,x=-16.0,y=-9.0,r=0.55],Node1603[a=-1.0,b=0.0,x=-16.0,y=-8.0,r=0.58])Node1360[a=0.0,b=-1.0,x=-15.0,y=-8.0,r=1.16])Node1163[a=-1.0,b=-1.0,x=-15.0,y=-7.0,r=1.21])Node1057[a=-1.0,b=-1.0,x=-14.0,y=-6.0,r=1.35])Node955[a=-1.0,b=0.0,x=-13.0,y=-5.0,r=1.42])Node863[a=-1.0,b=-1.0,x=-12.0,y=-5.0,r=1.19],Node862[a=-1.0,b=0.0,x=-12.0,y=-4.0,r=1.46])Node778[a=-1.0,b=-1.0,x=-11.0,y=-4.0,r=0.98],Node777[a=-1.0,b=0.0,x=-11.0,y=-3.0,r=0.77])Node699[a=-1.0,b=0.0,x=-10.0,y=-3.0,r=0.95])Node626[a=-1.0,b=0.0,x=-9.0,y=-3.0,r=0.85])Node485[a=-1.0,b=-1.0,x=-8.0,y=-3.0,r=1.15])Node346[a=-1.0,b=-1.0,x=-7.0,y=-2.0,r=0.89])Node289[a=-1.0,b=-1.0,x=-6.0,y=-1.0,r=0.89])Node237[a=0.0,b=-1.0,x=-5.0,y=0.0,r=0.89])Node194[a=1.0,b=0.0,x=-5.0,y=1.0,r=1.23])Node129[a=-1.0,b=-1.0,x=-6.0,y=1.0,r=0.85],((((((((((Node861[a=-1.0,b=0.0,x=-14.0,y=-1.0,r=0.99])Node776[a=-1.0,b=-1.0,x=-13.0,y=-1.0,r=1.49],((((((Node1471[a=-1.0,b=0.0,x=-19.0,y=-2.0,r=1.46],(((Node1884[a=-1.0,b=0.0,x=-22.0,y=-3.0,r=1.27])Node1741[a=-1.0,b=0.0,x=-21.0,y=-3.0,r=0.9],((((((Node2834[a=1.0,b=1.0,x=-24.0,y=-7.0,r=0.56],((Node3181[a=-1.0,b=-1.0,x=-27.0,y=-10.0,r=1.44],(((Node3690[a=-1.0,b=1.0,x=-29.0,y=-10.0,r=0.95],Node3689[a=-1.0,b=0.0,x=-29.0,y=-11.0,r=0.96])Node3525[a=0.0,b=-1.0,x=-28.0,y=-11.0,r=0.69])Node3355[a=-1.0,b=-1.0,x=-28.0,y=-10.0,r=1.44])Node3180[a=-1.0,b=0.0,x=-27.0,y=-9.0,r=0.84])Node3006[a=0.0,b=-1.0,x=-26.0,y=-9.0,r=0.96])Node2833[a=-1.0,b=0.0,x=-26.0,y=-8.0,r=1.34])Node2670[a=0.0,b=-1.0,x=-25.0,y=-8.0,r=1.08],((Node3005[a=-1.0,b=-1.0,x=-25.0,y=-10.0,r=1.43])Node2832[a=0.0,b=-1.0,x=-24.0,y=-9.0,r=1.05],(Node3179[a=-1.0,b=-1.0,x=-26.0,y=-10.0,r=0.81])Node2831[a=-1.0,b=-1.0,x=-25.0,y=-9.0,r=0.88])Node2669[a=1.0,b=-1.0,x=-24.0,y=-8.0,r=1.25])Node2514[a=-1.0,b=-1.0,x=-25.0,y=-7.0,r=1.1])Node2350[a=-1.0,b=-1.0,x=-24.0,y=-6.0,r=1.25])Node2039[a=-1.0,b=0.0,x=-23.0,y=-5.0,r=1.29],(((((((Node3354[a=-1.0,b=-1.0,x=-30.0,y=-6.0,r=1.36])Node3178[a=-1.0,b=0.0,x=-29.0,y=-5.0,r=1.32])Node2830[a=-1.0,b=1.0,x=-28.0,y=-5.0,r=0.81],(((Node3688[a=-1.0,b=-1.0,x=-31.0,y=-8.0,r=0.59])Node3353[a=-1.0,b=0.0,x=-30.0,y=-7.0,r=0.73],Node3352[a=-1.0,b=-1.0,x=-30.0,y=-8.0,r=0.56])Node3004[a=-1.0,b=-1.0,x=-29.0,y=-7.0,r=0.92],Node3003[a=1.0,b=1.0,x=-27.0,y=-5.0,r=0.85])Node2829[a=-1.0,b=0.0,x=-28.0,y=-6.0,r=0.64])Node2668[a=-1.0,b=-1.0,x=-27.0,y=-6.0,r=0.87])Node2513[a=-1.0,b=1.0,x=-26.0,y=-5.0,r=0.98])Node2349[a=-1.0,b=-1.0,x=-25.0,y=-6.0,r=1.21],((((((Node3351[a=-1.0,b=0.0,x=-30.0,y=-9.0,r=1.12])Node3177[a=-1.0,b=-1.0,x=-29.0,y=-9.0,r=1.31])Node3002[a=-1.0,b=-1.0,x=-28.0,y=-8.0,r=0.69],((Node3350[a=-1.0,b=1.0,x=-29.0,y=-6.0,r=0.67])Node3176[a=-1.0,b=1.0,x=-28.0,y=-7.0,r=1.12],(Node3349[a=-1.0,b=1.0,x=-29.0,y=-8.0,r=1.46])Node3175[a=-1.0,b=-1.0,x=-28.0,y=-9.0,r=0.92])Node3001[a=0.0,b=-1.0,x=-27.0,y=-8.0,r=1.21])Node2828[a=-1.0,b=-1.0,x=-27.0,y=-7.0,r=0.53])Node2667[a=-1.0,b=-1.0,x=-26.0,y=-6.0,r=1.25])Node2512[a=-1.0,b=-1.0,x=-25.0,y=-5.0,r=0.52])Node2348[a=0.0,b=1.0,x=-24.0,y=-4.0,r=1.13])Node2192[a=-1.0,b=1.0,x=-24.0,y=-5.0,r=0.93])Node2038[a=-1.0,b=-1.0,x=-23.0,y=-6.0,r=1.39])Node1883[a=-1.0,b=-1.0,x=-22.0,y=-5.0,r=1.38])Node1740[a=-1.0,b=-1.0,x=-21.0,y=-4.0,r=0.5])Node1602[a=-1.0,b=0.0,x=-20.0,y=-3.0,r=1.21],(((Node2191[a=-1.0,b=0.0,x=-23.0,y=-4.0,r=1.46])Node2037[a=-1.0,b=1.0,x=-22.0,y=-4.0,r=1.24])Node1739[a=-1.0,b=-1.0,x=-21.0,y=-5.0,r=0.71])Node1601[a=-1.0,b=-1.0,x=-20.0,y=-4.0,r=0.87])Node1470[a=-1.0,b=-1.0,x=-19.0,y=-3.0,r=1.2])Node1359[a=-1.0,b=1.0,x=-18.0,y=-2.0,r=0.95],(((Node1738[a=-1.0,b=0.0,x=-19.0,y=-4.0,r=1.34])Node1600[a=0.0,b=-1.0,x=-18.0,y=-4.0,r=0.98])Node1469[a=-1.0,b=1.0,x=-18.0,y=-3.0,r=0.68])Node1358[a=0.0,b=-1.0,x=-17.0,y=-4.0,r=1.23])Node1256[a=-1.0,b=-1.0,x=-17.0,y=-3.0,r=0.72])Node1162[a=-1.0,b=-1.0,x=-16.0,y=-2.0,r=0.54],(Node1255[a=-1.0,b=1.0,x=-16.0,y=-1.0,r=0.63],Node1254[a=-1.0,b=-1.0,x=-16.0,y=-3.0,r=1.07])Node1161[a=0.0,b=-1.0,x=-15.0,y=-2.0,r=1.23])Node1056[a=-1.0,b=-1.0,x=-15.0,y=-1.0,r=1.05],(Node1160[a=-1.0,b=-1.0,x=-16.0,y=0.0,r=1.02])Node1055[a=-1.0,b=1.0,x=-15.0,y=1.0,r=1.28])Node860[a=-1.0,b=-1.0,x=-14.0,y=0.0,r=1.28])Node775[a=-1.0,b=1.0,x=-13.0,y=1.0,r=1.42])Node625[a=-1.0,b=-1.0,x=-12.0,y=0.0,r=0.95])Node558[a=-1.0,b=0.0,x=-11.0,y=1.0,r=1.48])Node405[a=-1.0,b=1.0,x=-10.0,y=1.0,r=1.24])Node345[a=-1.0,b=-1.0,x=-9.0,y=0.0,r=0.86],(Node484[a=-1.0,b=1.0,x=-10.0,y=2.0,r=0.79],((((((Node1054[a=-1.0,b=1.0,x=-14.0,y=-3.0,r=1.19],((((Node1468[a=-1.0,b=0.0,x=-17.0,y=-6.0,r=1.19])Node1357[a=0.0,b=-1.0,x=-16.0,y=-6.0,r=0.95])Node1253[a=-1.0,b=-1.0,x=-16.0,y=-5.0,r=0.71])Node1159[a=-1.0,b=0.0,x=-15.0,y=-4.0,r=1.43])Node1053[a=-1.0,b=0.0,x=-14.0,y=-4.0,r=0.62])Node954[a=0.0,b=-1.0,x=-13.0,y=-4.0,r=0.53])Node859[a=-1.0,b=-1.0,x=-13.0,y=-3.0,r=0.63])Node774[a=-1.0,b=-1.0,x=-12.0,y=-2.0,r=0.58],(Node858[a=-1.0,b=1.0,x=-13.0,y=0.0,r=1.37])Node773[a=-1.0,b=0.0,x=-12.0,y=-1.0,r=1.32])Node624[a=0.0,b=-1.0,x=-11.0,y=-1.0,r=0.68])Node557[a=-1.0,b=0.0,x=-11.0,y=0.0,r=1.0])Node483[a=-1.0,b=-1.0,x=-10.0,y=0.0,r=0.77])Node344[a=-1.0,b=0.0,x=-9.0,y=1.0,r=0.67])Node288[a=0.0,b=1.0,x=-8.0,y=1.0,r=0.73])Node236[a=-1.0,b=-1.0,x=-8.0,y=0.0,r=0.77],((Node482[a=1.0,b=-1.0,x=-6.0,y=-2.0,r=1.18])Node287[a=-1.0,b=-1.0,x=-7.0,y=-1.0,r=0.91],(((Node481[a=-1.0,b=0.0,x=-9.0,y=-2.0,r=0.71],((((((Node1252[a=-1.0,b=-1.0,x=-15.0,y=-3.0,r=0.96])Node1158[a=-1.0,b=0.0,x=-14.0,y=-2.0,r=1.01])Node1052[a=-1.0,b=1.0,x=-13.0,y=-2.0,r=0.77])Node953[a=-1.0,b=-1.0,x=-12.0,y=-3.0,r=1.11])Node772[a=-1.0,b=-1.0,x=-11.0,y=-2.0,r=1.3])Node556[a=-1.0,b=0.0,x=-10.0,y=-1.0,r=0.93])Node480[a=-1.0,b=1.0,x=-9.0,y=-1.0,r=1.1])Node404[a=0.0,b=-1.0,x=-8.0,y=-2.0,r=1.23])Node343[a=-1.0,b=-1.0,x=-8.0,y=-1.0,r=0.92])Node286[a=-1.0,b=0.0,x=-7.0,y=0.0,r=1.39])Node235[a=1.0,b=-1.0,x=-6.0,y=0.0,r=1.37])Node193[a=-1.0,b=-1.0,x=-7.0,y=1.0,r=0.8])Node154[a=0.0,b=-1.0,x=-6.0,y=2.0,r=0.67])Node128[a=-1.0,b=1.0,x=-6.0,y=3.0,r=1.35])Node89[a=-1.0,b=0.0,x=-5.0,y=2.0,r=1.01])Node35[a=0.0,b=1.0,x=-4.0,y=2.0,r=0.65])Node26[a=0.0,b=1.0,x=-4.0,y=1.0,r=0.59])Node16[a=-1.0,b=-1.0,x=-4.0,y=0.0,r=0.75],((Node192[a=0.0,b=-1.0,x=-1.0,y=-2.0,r=0.73],(Node234[a=-1.0,b=-1.0,x=-1.0,y=-3.0,r=1.43])Node191[a=1.0,b=-1.0,x=0.0,y=-2.0,r=0.66])Node153[a=1.0,b=-1.0,x=-1.0,y=-1.0,r=1.11])Node15[a=1.0,b=-1.0,x=-2.0,y=0.0,r=1.24])Node10[a=-1.0,b=-1.0,x=-3.0,y=1.0,r=1.48])Node4[a=-1.0,b=1.0,x=-2.0,y=2.0,r=0.52],(((((Node45[a=1.0,b=-1.0,x=5.0,y=2.0,r=0.55])Node34[a=1.0,b=0.0,x=4.0,y=3.0,r=0.71])Node25[a=1.0,b=1.0,x=3.0,y=3.0,r=1.28])Node9[a=1.0,b=1.0,x=2.0,y=2.0,r=0.82],(((((((((((((Node479[a=-1.0,b=0.0,x=12.0,y=-1.0,r=0.79],(((((((Node1157[a=1.0,b=0.0,x=20.0,y=-1.0,r=0.78],(((Node1599[a=0.0,b=-1.0,x=22.0,y=-4.0,r=0.57],Node1598[a=1.0,b=-1.0,x=23.0,y=-4.0,r=1.33])Node1356[a=1.0,b=0.0,x=22.0,y=-3.0,r=0.54])Node1251[a=1.0,b=-1.0,x=21.0,y=-3.0,r=0.97],Node1250[a=1.0,b=0.0,x=21.0,y=-2.0,r=1.0])Node1156[a=1.0,b=-1.0,x=20.0,y=-2.0,r=1.19])Node1051[a=1.0,b=0.0,x=19.0,y=-1.0,r=0.62])Node952[a=1.0,b=1.0,x=18.0,y=-1.0,r=0.95])Node771[a=1.0,b=0.0,x=17.0,y=-2.0,r=0.82],Node770[a=1.0,b=1.0,x=17.0,y=-1.0,r=1.47])Node698[a=1.0,b=-1.0,x=16.0,y=-2.0,r=1.08])Node623[a=1.0,b=-1.0,x=15.0,y=-1.0,r=0.59],Node622[a=1.0,b=1.0,x=15.0,y=1.0,r=1.22])Node555[a=1.0,b=0.0,x=14.0,y=0.0,r=0.82],((Node697[a=1.0,b=0.0,x=16.0,y=0.0,r=0.66],((Node857[a=1.0,b=1.0,x=18.0,y=1.0,r=0.78])Node769[a=1.0,b=1.0,x=17.0,y=0.0,r=0.51])Node696[a=1.0,b=-1.0,x=16.0,y=-1.0,r=1.16])Node621[a=1.0,b=-1.0,x=15.0,y=0.0,r=0.61],(Node695[a=1.0,b=0.0,x=16.0,y=2.0,r=1.07],(((((((Node1737[a=1.0,b=0.0,x=22.0,y=6.0,r=0.8])Node1467[a=1.0,b=1.0,x=21.0,y=6.0,r=1.49])Node1355[a=1.0,b=1.0,x=20.0,y=5.0,r=1.12])Node1155[a=1.0,b=0.0,x=19.0,y=4.0,r=1.38])Node1050[a=1.0,b=1.0,x=18.0,y=4.0,r=0.53])Node856[a=0.0,b=1.0,x=17.0,y=3.0,r=1.31],(((Node1466[a=1.0,b=1.0,x=21.0,y=5.0,r=1.16])Node1249[a=1.0,b=1.0,x=20.0,y=4.0,r=1.39])Node1154[a=1.0,b=0.0,x=19.0,y=3.0,r=0.75])Node855[a=1.0,b=1.0,x=18.0,y=3.0,r=1.08])Node768[a=1.0,b=1.0,x=17.0,y=2.0,r=0.94],((((Node1248[a=1.0,b=-1.0,x=21.0,y=0.0,r=0.95])Node1049[a=1.0,b=0.0,x=20.0,y=1.0,r=1.15],((((Node1736[a=1.0,b=1.0,x=24.0,y=3.0,r=0.69])Node1465[a=1.0,b=1.0,x=23.0,y=2.0,r=1.22],Node1464[a=0.0,b=1.0,x=22.0,y=2.0,r=1.2])Node1354[a=1.0,b=0.0,x=22.0,y=1.0,r=1.44],(((Node1882[a=1.0,b=1.0,x=25.0,y=3.0,r=1.38],((Node2347[a=0.0,b=1.0,x=26.0,y=4.0,r=1.39],((((Node3174[a=1.0,b=0.0,x=31.0,y=6.0,r=0.96],(Node3348[a=0.0,b=1.0,x=31.0,y=8.0,r=1.22],(Node3524[a=0.0,b=1.0,x=32.0,y=8.0,r=1.31],Node3523[a=1.0,b=1.0,x=33.0,y=8.0,r=1.21])Node3347[a=1.0,b=0.0,x=32.0,y=7.0,r=1.02])Node3173[a=1.0,b=1.0,x=31.0,y=7.0,r=0.86])Node3000[a=1.0,b=0.0,x=30.0,y=6.0,r=1.23],(((Node3687[a=1.0,b=1.0,x=33.0,y=7.0,r=1.37])Node3346[a=1.0,b=1.0,x=32.0,y=6.0,r=0.65])Node3172[a=1.0,b=0.0,x=31.0,y=5.0,r=1.03])Node2999[a=1.0,b=-1.0,x=30.0,y=5.0,r=0.84])Node2827[a=1.0,b=1.0,x=29.0,y=6.0,r=0.94])Node2666[a=1.0,b=1.0,x=28.0,y=5.0,r=0.63])Node2346[a=1.0,b=1.0,x=27.0,y=4.0,r=0.9])Node2036[a=1.0,b=1.0,x=26.0,y=3.0,r=0.88])Node1881[a=1.0,b=0.0,x=25.0,y=2.0,r=1.44])Node1597[a=1.0,b=1.0,x=24.0,y=2.0,r=0.95])Node1463[a=1.0,b=1.0,x=23.0,y=1.0,r=0.97],(((((Node2511[a=1.0,b=-1.0,x=28.0,y=2.0,r=0.8])Node2190[a=1.0,b=1.0,x=27.0,y=3.0,r=1.16])Node1880[a=1.0,b=1.0,x=26.0,y=2.0,r=1.18])Node1735[a=1.0,b=0.0,x=25.0,y=1.0,r=1.12])Node1596[a=1.0,b=1.0,x=24.0,y=1.0,r=1.43])Node1462[a=1.0,b=0.0,x=23.0,y=0.0,r=1.23])Node1353[a=1.0,b=-1.0,x=22.0,y=0.0,r=0.92])Node1247[a=1.0,b=1.0,x=21.0,y=1.0,r=1.12],(((((Node2035[a=1.0,b=0.0,x=25.0,y=-3.0,r=1.05])Node1879[a=0.0,b=1.0,x=24.0,y=-3.0,r=0.84],(((((Node2665[a=1.0,b=0.0,x=28.0,y=-7.0,r=1.0],Node2664[a=0.0,b=-1.0,x=27.0,y=-8.0,r=1.29])Node2510[a=-1.0,b=-1.0,x=27.0,y=-7.0,r=0.57],((((((Node3686[a=1.0,b=0.0,x=34.0,y=-10.0,r=1.23])Node3522[a=1.0,b=-1.0,x=33.0,y=-10.0,r=1.01])Node3345[a=1.0,b=-1.0,x=32.0,y=-9.0,r=1.2])Node3171[a=1.0,b=0.0,x=31.0,y=-8.0,r=1.29])Node2826[a=1.0,b=0.0,x=30.0,y=-8.0,r=1.34],(((Node3685[a=1.0,b=-1.0,x=33.0,y=-11.0,r=0.51])Node3170[a=1.0,b=-1.0,x=32.0,y=-10.0,r=1.01])Node2998[a=1.0,b=0.0,x=31.0,y=-9.0,r=1.31],Node2997[a=1.0,b=-1.0,x=31.0,y=-10.0,r=0.72])Node2825[a=1.0,b=-1.0,x=30.0,y=-9.0,r=1.32])Node2663[a=0.0,b=-1.0,x=29.0,y=-8.0,r=0.93],((((Node3684[a=1.0,b=0.0,x=34.0,y=-8.0,r=0.61])Node3521[a=1.0,b=-1.0,x=33.0,y=-8.0,r=0.84])Node3344[a=1.0,b=-1.0,x=32.0,y=-7.0,r=0.5])Node2996[a=1.0,b=0.0,x=31.0,y=-6.0,r=1.06],((((Node3683[a=1.0,b=0.0,x=35.0,y=-6.0,r=1.45],Node3682[a=1.0,b=-1.0,x=35.0,y=-7.0,r=1.43])Node3520[a=1.0,b=1.0,x=34.0,y=-6.0,r=0.63])Node3343[a=1.0,b=-1.0,x=33.0,y=-7.0,r=0.53])Node3169[a=1.0,b=1.0,x=32.0,y=-6.0,r=1.33],((Node3519[a=1.0,b=0.0,x=34.0,y=-9.0,r=0.93])Node3342[a=1.0,b=-1.0,x=33.0,y=-9.0,r=0.96])Node3168[a=1.0,b=-1.0,x=32.0,y=-8.0,r=0.75])Node2995[a=1.0,b=-1.0,x=31.0,y=-7.0,r=0.82])Node2662[a=1.0,b=1.0,x=30.0,y=-6.0,r=1.06])Node2509[a=1.0,b=-1.0,x=29.0,y=-7.0,r=1.08])Node2345[a=1.0,b=-1.0,x=28.0,y=-6.0,r=1.28])Node2189[a=1.0,b=-1.0,x=27.0,y=-5.0,r=1.4])Node2034[a=1.0,b=0.0,x=26.0,y=-4.0,r=1.01])Node1878[a=1.0,b=0.0,x=25.0,y=-4.0,r=0.89])Node1734[a=1.0,b=-1.0,x=24.0,y=-4.0,r=1.06])Node1595[a=1.0,b=-1.0,x=23.0,y=-3.0,r=0.97])Node1352[a=1.0,b=-1.0,x=22.0,y=-2.0,r=1.46],((((((Node2188[a=-1.0,b=-1.0,x=26.0,y=-2.0,r=0.99],Node2187[a=1.0,b=0.0,x=28.0,y=-1.0,r=0.75])Node2033[a=1.0,b=-1.0,x=27.0,y=-1.0,r=1.09],((Node2661[a=1.0,b=1.0,x=28.0,y=3.0,r=1.34])Node2186[a=0.0,b=1.0,x=27.0,y=2.0,r=0.63])Node2032[a=1.0,b=1.0,x=27.0,y=1.0,r=1.39])Node1877[a=1.0,b=0.0,x=26.0,y=0.0,r=0.6],(((Node2344[a=1.0,b=1.0,x=29.0,y=1.0,r=0.82],((((Node3341[a=1.0,b=1.0,x=33.0,y=4.0,r=0.8])Node3167[a=1.0,b=1.0,x=32.0,y=3.0,r=0.83])Node2824[a=1.0,b=1.0,x=31.0,y=2.0,r=1.29],Node2823[a=0.0,b=1.0,x=30.0,y=2.0,r=0.69])Node2660[a=1.0,b=1.0,x=30.0,y=1.0,r=0.57],(Node2822[a=1.0,b=1.0,x=29.0,y=2.0,r=0.73])Node2659[a=-1.0,b=1.0,x=28.0,y=1.0,r=1.11])Node2343[a=1.0,b=0.0,x=29.0,y=0.0,r=1.12])Node2185[a=1.0,b=0.0,x=28.0,y=0.0,r=1.39])Node2031[a=1.0,b=-1.0,x=27.0,y=0.0,r=1.4])Node1876[a=1.0,b=1.0,x=26.0,y=1.0,r=1.07])Node1733[a=1.0,b=0.0,x=25.0,y=0.0,r=1.17],((((((((((((Node3681[a=1.0,b=1.0,x=35.0,y=-1.0,r=0.97])Node3518[a=1.0,b=-1.0,x=34.0,y=-2.0,r=1.1],(Node3680[a=1.0,b=1.0,x=34.0,y=-1.0,r=1.41])Node3517[a=0.0,b=-1.0,x=33.0,y=-2.0,r=1.34])Node3340[a=0.0,b=-1.0,x=33.0,y=-1.0,r=0.57])Node3166[a=1.0,b=-1.0,x=33.0,y=0.0,r=1.45])Node2994[a=1.0,b=0.0,x=32.0,y=1.0,r=0.76],(Node3165[a=-1.0,b=1.0,x=31.0,y=3.0,r=1.1],(Node3339[a=1.0,b=0.0,x=34.0,y=3.0,r=0.54],((Node3679[a=1.0,b=0.0,x=35.0,y=1.0,r=0.62])Node3516[a=1.0,b=-1.0,x=34.0,y=1.0,r=1.5])Node3338[a=0.0,b=-1.0,x=33.0,y=2.0,r=1.4])Node3164[a=1.0,b=1.0,x=33.0,y=3.0,r=1.09])Node2993[a=1.0,b=1.0,x=32.0,y=2.0,r=0.74])Node2821[a=1.0,b=1.0,x=31.0,y=1.0,r=1.45])Node2658[a=1.0,b=1.0,x=30.0,y=0.0,r=0.71],((Node3337[a=1.0,b=-1.0,x=32.0,y=-2.0,r=1.37])Node2820[a=1.0,b=0.0,x=31.0,y=-1.0,r=1.01],Node2819[a=1.0,b=1.0,x=31.0,y=0.0,r=0.73])Node2657[a=1.0,b=0.0,x=30.0,y=-1.0,r=0.52])Node2508[a=1.0,b=1.0,x=29.0,y=-1.0,r=0.61])Node2342[a=1.0,b=1.0,x=28.0,y=-2.0,r=1.24])Node2184[a=0.0,b=-1.0,x=27.0,y=-3.0,r=1.33],((((((((Node3678[a=1.0,b=1.0,x=35.0,y=-2.0,r=0.87],Node3677[a=1.0,b=-1.0,x=35.0,y=-4.0,r=0.58])Node3515[a=0.0,b=1.0,x=34.0,y=-3.0,r=1.39],(Node3676[a=1.0,b=1.0,x=36.0,y=-2.0,r=1.29])Node3514[a=1.0,b=1.0,x=35.0,y=-3.0,r=1.44])Node3163[a=1.0,b=0.0,x=34.0,y=-4.0,r=1.49])Node2992[a=1.0,b=-1.0,x=33.0,y=-4.0,r=0.96])Node2818[a=1.0,b=1.0,x=32.0,y=-3.0,r=0.68])Node2656[a=1.0,b=0.0,x=31.0,y=-4.0,r=1.09],((((Node3513[a=1.0,b=1.0,x=33.0,y=1.0,r=1.24])Node3162[a=0.0,b=1.0,x=32.0,y=0.0,r=0.98])Node2991[a=1.0,b=1.0,x=32.0,y=-1.0,r=0.95])Node2817[a=1.0,b=1.0,x=31.0,y=-2.0,r=0.95])Node2655[a=0.0,b=1.0,x=30.0,y=-3.0,r=0.8])Node2507[a=1.0,b=0.0,x=30.0,y=-4.0,r=1.42])Node2341[a=1.0,b=-1.0,x=29.0,y=-4.0,r=1.17],Node2340[a=1.0,b=1.0,x=29.0,y=-2.0,r=0.85])Node2183[a=1.0,b=-1.0,x=28.0,y=-3.0,r=1.45])Node2030[a=1.0,b=-1.0,x=27.0,y=-2.0,r=0.9])Node1875[a=1.0,b=0.0,x=26.0,y=-1.0,r=1.45])Node1732[a=1.0,b=-1.0,x=25.0,y=-1.0,r=0.73])Node1594[a=1.0,b=1.0,x=24.0,y=0.0,r=1.28],(((Node2029[a=1.0,b=-1.0,x=26.0,y=-3.0,r=1.22],Node2028[a=-1.0,b=1.0,x=24.0,y=-1.0,r=1.06])Node1874[a=1.0,b=0.0,x=25.0,y=-2.0,r=0.73])Node1731[a=1.0,b=0.0,x=24.0,y=-2.0,r=1.16])Node1593[a=0.0,b=-1.0,x=23.0,y=-2.0,r=1.41])Node1461[a=1.0,b=0.0,x=23.0,y=-1.0,r=0.99])Node1351[a=1.0,b=0.0,x=22.0,y=-1.0,r=1.35])Node1246[a=1.0,b=-1.0,x=21.0,y=-1.0,r=0.83])Node1048[a=1.0,b=-1.0,x=20.0,y=0.0,r=0.5])Node951[a=1.0,b=-1.0,x=19.0,y=1.0,r=0.7],((((Node1873[a=1.0,b=1.0,x=23.0,y=6.0,r=1.34])Node1730[a=1.0,b=1.0,x=22.0,y=5.0,r=0.79])Node1460[a=1.0,b=1.0,x=21.0,y=4.0,r=0.96])Node1245[a=1.0,b=1.0,x=20.0,y=3.0,r=1.29],(((((Node1872[a=1.0,b=1.0,x=24.0,y=5.0,r=1.19])Node1729[a=0.0,b=1.0,x=23.0,y=4.0,r=0.75],(((((Node2816[a=1.0,b=-1.0,x=29.0,y=5.0,r=0.69],Node2815[a=1.0,b=1.0,x=29.0,y=7.0,r=0.74])Node2654[a=1.0,b=1.0,x=28.0,y=6.0,r=0.91],((((((Node3675[a=1.0,b=1.0,x=34.0,y=7.0,r=0.6])Node3512[a=1.0,b=1.0,x=33.0,y=6.0,r=0.91])Node3336[a=1.0,b=1.0,x=32.0,y=5.0,r=1.3],((Node3674[a=1.0,b=-1.0,x=34.0,y=4.0,r=0.94])Node3511[a=1.0,b=1.0,x=33.0,y=5.0,r=0.59])Node3335[a=1.0,b=0.0,x=32.0,y=4.0,r=0.65])Node3161[a=1.0,b=0.0,x=31.0,y=4.0,r=0.62])Node2990[a=1.0,b=1.0,x=30.0,y=4.0,r=0.91],Node2989[a=1.0,b=0.0,x=30.0,y=3.0,r=1.04])Node2814[a=1.0,b=-1.0,x=29.0,y=3.0,r=1.27],Node2813[a=1.0,b=0.0,x=29.0,y=4.0,r=0.95])Node2653[a=1.0,b=-1.0,x=28.0,y=4.0,r=0.75])Node2506[a=1.0,b=0.0,x=27.0,y=5.0,r=1.47])Node2339[a=1.0,b=1.0,x=26.0,y=5.0,r=1.16])Node2027[a=1.0,b=0.0,x=25.0,y=4.0,r=0.64],(Node2182[a=1.0,b=1.0,x=26.0,y=6.0,r=0.66])Node2026[a=1.0,b=1.0,x=25.0,y=5.0,r=0.63])Node1728[a=1.0,b=1.0,x=24.0,y=4.0,r=0.65])Node1592[a=1.0,b=0.0,x=23.0,y=3.0,r=1.34],(((((Node2652[a=1.0,b=-1.0,x=27.0,y=6.0,r=0.53],Node2651[a=1.0,b=0.0,x=27.0,y=7.0,r=0.53])Node2505[a=1.0,b=1.0,x=26.0,y=7.0,r=0.83])Node2181[a=1.0,b=0.0,x=25.0,y=6.0,r=0.68])Node2025[a=1.0,b=1.0,x=24.0,y=6.0,r=1.33])Node1871[a=1.0,b=1.0,x=23.0,y=5.0,r=1.31])Node1591[a=0.0,b=1.0,x=22.0,y=4.0,r=1.25])Node1459[a=1.0,b=1.0,x=22.0,y=3.0,r=1.42],Node1458[a=0.0,b=1.0,x=21.0,y=3.0,r=0.74])Node1350[a=1.0,b=0.0,x=21.0,y=2.0,r=1.45])Node1244[a=1.0,b=0.0,x=20.0,y=2.0,r=0.94])Node950[a=1.0,b=0.0,x=19.0,y=2.0,r=1.14])Node854[a=1.0,b=1.0,x=18.0,y=2.0,r=1.22],(Node1047[a=1.0,b=0.0,x=19.0,y=0.0,r=0.59])Node853[a=1.0,b=-1.0,x=18.0,y=0.0,r=1.01])Node767[a=1.0,b=0.0,x=17.0,y=1.0,r=1.28])Node694[a=1.0,b=-1.0,x=16.0,y=1.0,r=1.26])Node620[a=1.0,b=1.0,x=15.0,y=2.0,r=0.91])Node554[a=1.0,b=1.0,x=14.0,y=1.0,r=0.58])Node478[a=0.0,b=1.0,x=13.0,y=0.0,r=1.07])Node403[a=1.0,b=1.0,x=13.0,y=-1.0,r=0.81])Node342[a=1.0,b=0.0,x=12.0,y=-2.0,r=1.23],(Node477[a=-1.0,b=0.0,x=10.0,y=-1.0,r=0.51],Node476[a=1.0,b=1.0,x=12.0,y=0.0,r=1.22])Node341[a=0.0,b=1.0,x=11.0,y=-1.0,r=0.81])Node285[a=1.0,b=1.0,x=11.0,y=-2.0,r=0.8])Node190[a=1.0,b=-1.0,x=10.0,y=-3.0,r=0.73],(Node553[a=-1.0,b=1.0,x=9.0,y=-1.0,r=1.13])Node189[a=1.0,b=0.0,x=10.0,y=-2.0,r=1.32])Node127[a=1.0,b=-1.0,x=9.0,y=-2.0,r=1.28])Node104[a=0.0,b=-1.0,x=8.0,y=-1.0,r=1.1])Node88[a=1.0,b=1.0,x=8.0,y=0.0,r=0.79])Node70[a=1.0,b=0.0,x=7.0,y=-1.0,r=0.69])Node57[a=1.0,b=-1.0,x=6.0,y=-1.0,r=1.16])Node44[a=1.0,b=0.0,x=5.0,y=0.0,r=0.62],((Node87[a=-1.0,b=0.0,x=4.0,y=-2.0,r=0.54],((((Node188[a=-1.0,b=1.0,x=0.0,y=-1.0,r=0.94],Node187[a=0.0,b=1.0,x=1.0,y=-1.0,r=1.06])Node152[a=-1.0,b=1.0,x=1.0,y=-2.0,r=1.44])Node126[a=-1.0,b=0.0,x=2.0,y=-3.0,r=1.47],(Node233[a=0.0,b=-1.0,x=2.0,y=-5.0,r=0.61])Node125[a=-1.0,b=-1.0,x=2.0,y=-4.0,r=1.22])Node103[a=-1.0,b=0.0,x=3.0,y=-3.0,r=1.26])Node86[a=-1.0,b=-1.0,x=4.0,y=-3.0,r=1.01])Node56[a=1.0,b=-1.0,x=5.0,y=-2.0,r=0.91],(((((Node151[a=0.0,b=-1.0,x=3.0,y=-5.0,r=0.53])Node124[a=-1.0,b=0.0,x=3.0,y=-4.0,r=0.84])Node102[a=-1.0,b=-1.0,x=4.0,y=-4.0,r=1.38],(((Node186[a=0.0,b=-1.0,x=8.0,y=-5.0,r=1.29],(((((((Node693[a=-1.0,b=-1.0,x=11.0,y=-11.0,r=1.29])Node552[a=1.0,b=-1.0,x=12.0,y=-10.0,r=1.18],((((Node1153[a=1.0,b=0.0,x=13.0,y=-9.0,r=1.34])Node766[a=-1.0,b=1.0,x=12.0,y=-9.0,r=0.82],((Node1152[a=1.0,b=-1.0,x=15.0,y=-12.0,r=1.42],(Node1243[a=1.0,b=-1.0,x=16.0,y=-12.0,r=0.61])Node1151[a=1.0,b=0.0,x=15.0,y=-11.0,r=1.11])Node1046[a=1.0,b=0.0,x=14.0,y=-11.0,r=0.56],(Node1150[a=0.0,b=1.0,x=14.0,y=-9.0,r=0.61],((((Node1590[a=1.0,b=0.0,x=19.0,y=-11.0,r=1.33])Node1457[a=1.0,b=1.0,x=18.0,y=-11.0,r=0.79])Node1349[a=1.0,b=-1.0,x=17.0,y=-12.0,r=0.9])Node1242[a=1.0,b=-1.0,x=16.0,y=-11.0,r=0.78])Node1149[a=1.0,b=0.0,x=15.0,y=-10.0,r=1.03])Node1045[a=1.0,b=1.0,x=14.0,y=-10.0,r=1.42])Node765[a=0.0,b=-1.0,x=13.0,y=-11.0,r=0.91])Node692[a=1.0,b=1.0,x=13.0,y=-10.0,r=1.49],((((Node1148[a=1.0,b=1.0,x=14.0,y=-12.0,r=1.5])Node949[a=1.0,b=1.0,x=13.0,y=-13.0,r=0.71],(Node1147[a=1.0,b=1.0,x=14.0,y=-14.0,r=1.32],(Node1241[a=0.0,b=1.0,x=14.0,y=-15.0,r=1.31])Node1146[a=1.0,b=-1.0,x=14.0,y=-16.0,r=0.96])Node948[a=1.0,b=-1.0,x=13.0,y=-15.0,r=0.94])Node852[a=0.0,b=-1.0,x=12.0,y=-14.0,r=1.42],(((((Node1589[a=0.0,b=-1.0,x=15.0,y=-15.0,r=1.19],(((((Node2338[a=-1.0,b=-1.0,x=19.0,y=-19.0,r=0.52],(Node2504[a=0.0,b=-1.0,x=21.0,y=-20.0,r=0.75],((Node2812[a=-1.0,b=-1.0,x=22.0,y=-22.0,r=0.91],((Node3673[a=1.0,b=-1.0,x=25.0,y=-24.0,r=0.57])Node3334[a=0.0,b=-1.0,x=24.0,y=-23.0,r=0.9],Node3333[a=1.0,b=-1.0,x=25.0,y=-23.0,r=1.25])Node2811[a=1.0,b=-1.0,x=24.0,y=-22.0,r=1.4])Node2650[a=1.0,b=-1.0,x=23.0,y=-21.0,r=0.71],(((Node3332[a=1.0,b=-1.0,x=24.0,y=-24.0,r=1.04])Node2988[a=0.0,b=-1.0,x=23.0,y=-23.0,r=1.15])Node2810[a=1.0,b=-1.0,x=23.0,y=-22.0,r=1.43])Node2649[a=0.0,b=-1.0,x=22.0,y=-21.0,r=0.57])Node2503[a=1.0,b=-1.0,x=22.0,y=-20.0,r=0.65])Node2337[a=1.0,b=-1.0,x=21.0,y=-19.0,r=0.85])Node2180[a=1.0,b=-1.0,x=20.0,y=-18.0,r=0.54])Node2024[a=1.0,b=-1.0,x=19.0,y=-17.0,r=0.57])Node1870[a=1.0,b=0.0,x=18.0,y=-16.0,r=1.05])Node1727[a=1.0,b=-1.0,x=17.0,y=-16.0,r=0.66],Node1726[a=-1.0,b=-1.0,x=15.0,y=-16.0,r=0.58])Node1588[a=1.0,b=-1.0,x=16.0,y=-15.0,r=0.74])Node1456[a=-1.0,b=-1.0,x=15.0,y=-14.0,r=0.94])Node1240[a=1.0,b=0.0,x=16.0,y=-13.0,r=0.73])Node1145[a=1.0,b=0.0,x=15.0,y=-13.0,r=1.17])Node1044[a=1.0,b=1.0,x=14.0,y=-13.0,r=1.05])Node851[a=1.0,b=-1.0,x=13.0,y=-14.0,r=1.16])Node764[a=-1.0,b=-1.0,x=12.0,y=-13.0,r=1.38])Node691[a=1.0,b=-1.0,x=13.0,y=-12.0,r=1.4])Node619[a=1.0,b=-1.0,x=12.0,y=-11.0,r=1.23])Node551[a=0.0,b=-1.0,x=11.0,y=-10.0,r=1.06])Node475[a=0.0,b=-1.0,x=11.0,y=-9.0,r=0.62])Node402[a=-1.0,b=0.0,x=11.0,y=-8.0,r=0.86])Node340[a=1.0,b=-1.0,x=12.0,y=-8.0,r=0.52])Node284[a=1.0,b=-1.0,x=11.0,y=-7.0,r=0.88],(((((((Node1043[a=0.0,b=-1.0,x=16.0,y=-8.0,r=1.04],(Node1144[a=1.0,b=-1.0,x=18.0,y=-9.0,r=1.18],Node1143[a=1.0,b=0.0,x=18.0,y=-8.0,r=1.37])Node1042[a=1.0,b=-1.0,x=17.0,y=-8.0,r=0.73])Node850[a=1.0,b=0.0,x=16.0,y=-7.0,r=1.33])Node763[a=0.0,b=-1.0,x=15.0,y=-7.0,r=1.24])Node690[a=1.0,b=-1.0,x=15.0,y=-6.0,r=0.81])Node474[a=1.0,b=1.0,x=14.0,y=-5.0,r=1.3])Node401[a=1.0,b=1.0,x=13.0,y=-6.0,r=1.47],(((((((((Node1587[a=1.0,b=-1.0,x=18.0,y=-14.0,r=0.9],(((Node2023[a=1.0,b=0.0,x=19.0,y=-15.0,r=1.36],((((((Node2987[a=1.0,b=0.0,x=24.0,y=-20.0,r=1.38],((Node3331[a=1.0,b=0.0,x=26.0,y=-21.0,r=1.3],(Node3510[a=0.0,b=-1.0,x=26.0,y=-23.0,r=0.69])Node3330[a=1.0,b=-1.0,x=26.0,y=-22.0,r=0.91])Node3160[a=1.0,b=0.0,x=25.0,y=-21.0,r=1.36],Node3159[a=1.0,b=-1.0,x=25.0,y=-22.0,r=1.45])Node2986[a=1.0,b=-1.0,x=24.0,y=-21.0,r=1.22])Node2809[a=1.0,b=-1.0,x=23.0,y=-20.0,r=0.94])Node2648[a=0.0,b=-1.0,x=22.0,y=-19.0,r=0.85])Node2502[a=1.0,b=-1.0,x=22.0,y=-18.0,r=1.44])Node2336[a=1.0,b=-1.0,x=21.0,y=-17.0,r=0.87])Node2179[a=1.0,b=0.0,x=20.0,y=-16.0,r=1.38])Node2022[a=1.0,b=-1.0,x=19.0,y=-16.0,r=1.11])Node1869[a=1.0,b=-1.0,x=18.0,y=-15.0,r=0.73],Node1868[a=0.0,b=-1.0,x=17.0,y=-15.0,r=1.31])Node1725[a=1.0,b=0.0,x=17.0,y=-14.0,r=1.4])Node1586[a=-1.0,b=-1.0,x=16.0,y=-14.0,r=1.22])Node1348[a=-1.0,b=-1.0,x=17.0,y=-13.0,r=1.32])Node1142[a=1.0,b=-1.0,x=18.0,y=-12.0,r=1.08])Node947[a=1.0,b=-1.0,x=17.0,y=-11.0,r=1.19])Node849[a=0.0,b=-1.0,x=16.0,y=-10.0,r=1.25],(Node946[a=0.0,b=1.0,x=17.0,y=-9.0,r=0.93],((Node1347[a=1.0,b=1.0,x=20.0,y=-8.0,r=0.9])Node1041[a=1.0,b=1.0,x=19.0,y=-9.0,r=0.89],(((Node1585[a=1.0,b=1.0,x=21.0,y=-9.0,r=1.36])Node1346[a=0.0,b=-1.0,x=20.0,y=-10.0,r=0.64],((((((Node2178[a=1.0,b=0.0,x=26.0,y=-11.0,r=1.4],(Node2335[a=1.0,b=0.0,x=26.0,y=-12.0,r=1.18],((Node2808[a=1.0,b=1.0,x=28.0,y=-12.0,r=1.27])Node2647[a=1.0,b=0.0,x=27.0,y=-13.0,r=1.3],(Node2807[a=1.0,b=0.0,x=28.0,y=-14.0,r=1.28])Node2646[a=1.0,b=-1.0,x=27.0,y=-14.0,r=0.55])Node2334[a=1.0,b=-1.0,x=26.0,y=-13.0,r=0.53])Node2177[a=0.0,b=-1.0,x=25.0,y=-12.0,r=0.69])Node2021[a=1.0,b=-1.0,x=25.0,y=-11.0,r=0.64])Node1867[a=1.0,b=1.0,x=24.0,y=-10.0,r=1.36],((((((Node3158[a=0.0,b=-1.0,x=28.0,y=-17.0,r=0.92],(((Node3672[a=1.0,b=-1.0,x=31.0,y=-20.0,r=1.45])Node3509[a=1.0,b=-1.0,x=30.0,y=-19.0,r=0.53])Node3329[a=0.0,b=-1.0,x=29.0,y=-18.0,r=0.68],(Node3508[a=1.0,b=1.0,x=31.0,y=-17.0,r=1.04])Node3328[a=1.0,b=-1.0,x=30.0,y=-18.0,r=1.06])Node3157[a=1.0,b=-1.0,x=29.0,y=-17.0,r=0.66])Node2985[a=1.0,b=-1.0,x=28.0,y=-16.0,r=1.44],((((Node3671[a=1.0,b=-1.0,x=32.0,y=-19.0,r=0.8],Node3670[a=0.0,b=-1.0,x=31.0,y=-19.0,r=1.37])Node3507[a=1.0,b=-1.0,x=31.0,y=-18.0,r=0.98])Node3327[a=1.0,b=-1.0,x=30.0,y=-17.0,r=0.59],(Node3506[a=1.0,b=0.0,x=31.0,y=-16.0,r=1.11],Node3505[a=0.0,b=1.0,x=30.0,y=-15.0,r=1.09])Node3326[a=1.0,b=0.0,x=30.0,y=-16.0,r=0.63])Node3156[a=1.0,b=-1.0,x=29.0,y=-16.0,r=1.31],((Node3669[a=1.0,b=-1.0,x=31.0,y=-15.0,r=0.68])Node3504[a=1.0,b=1.0,x=30.0,y=-14.0,r=1.17])Node3155[a=1.0,b=0.0,x=29.0,y=-15.0,r=0.69])Node2984[a=1.0,b=0.0,x=28.0,y=-15.0,r=1.18])Node2806[a=1.0,b=-1.0,x=27.0,y=-15.0,r=1.22])Node2501[a=1.0,b=-1.0,x=26.0,y=-14.0,r=1.36])Node2333[a=1.0,b=-1.0,x=25.0,y=-13.0,r=0.92])Node2020[a=0.0,b=-1.0,x=24.0,y=-12.0,r=0.59])Node1866[a=1.0,b=0.0,x=24.0,y=-11.0,r=1.35])Node1724[a=1.0,b=1.0,x=23.0,y=-11.0,r=1.22],((((Node2500[a=0.0,b=-1.0,x=24.0,y=-14.0,r=1.04],(Node2645[a=1.0,b=-1.0,x=26.0,y=-15.0,r=1.17])Node2499[a=1.0,b=-1.0,x=25.0,y=-14.0,r=0.61])Node2332[a=1.0,b=-1.0,x=24.0,y=-13.0,r=1.36])Node2176[a=1.0,b=1.0,x=23.0,y=-12.0,r=0.71],Node2175[a=1.0,b=0.0,x=23.0,y=-13.0,r=0.69])Node2019[a=1.0,b=0.0,x=22.0,y=-13.0,r=1.47])Node1723[a=-1.0,b=-1.0,x=21.0,y=-13.0,r=0.88])Node1584[a=1.0,b=-1.0,x=22.0,y=-12.0,r=1.19],(Node1722[a=1.0,b=1.0,x=23.0,y=-9.0,r=1.43])Node1583[a=1.0,b=1.0,x=22.0,y=-10.0,r=1.42])Node1455[a=0.0,b=-1.0,x=21.0,y=-11.0,r=1.25],((Node1865[a=-1.0,b=-1.0,x=18.0,y=-13.0,r=1.38])Node1582[a=-1.0,b=-1.0,x=19.0,y=-12.0,r=0.97],((((Node2174[a=1.0,b=-1.0,x=20.0,y=-15.0,r=1.36])Node2018[a=0.0,b=-1.0,x=19.0,y=-14.0,r=1.4])Node1864[a=-1.0,b=-1.0,x=19.0,y=-13.0,r=1.32])Node1721[a=-1.0,b=0.0,x=20.0,y=-12.0,r=1.08],((((Node2644[a=1.0,b=-1.0,x=24.0,y=-15.0,r=0.92])Node2331[a=1.0,b=0.0,x=23.0,y=-14.0,r=0.63])Node2017[a=1.0,b=0.0,x=22.0,y=-14.0,r=1.44],((Node2330[a=0.0,b=1.0,x=23.0,y=-15.0,r=0.99],(((Node2983[a=1.0,b=-1.0,x=27.0,y=-17.0,r=0.79],Node2982[a=1.0,b=0.0,x=27.0,y=-16.0,r=1.24])Node2805[a=1.0,b=-1.0,x=26.0,y=-16.0,r=0.71])Node2643[a=1.0,b=1.0,x=25.0,y=-15.0,r=1.47])Node2329[a=1.0,b=0.0,x=24.0,y=-16.0,r=0.9])Node2173[a=1.0,b=-1.0,x=23.0,y=-16.0,r=0.85],(((((Node3154[a=1.0,b=-1.0,x=25.0,y=-20.0,r=1.44],(((Node3668[a=0.0,b=-1.0,x=27.0,y=-22.0,r=0.57],Node3667[a=1.0,b=-1.0,x=28.0,y=-22.0,r=0.97])Node3503[a=1.0,b=-1.0,x=27.0,y=-21.0,r=1.0])Node3325[a=1.0,b=-1.0,x=26.0,y=-20.0,r=0.74])Node3153[a=1.0,b=0.0,x=25.0,y=-19.0,r=0.78])Node2981[a=1.0,b=0.0,x=24.0,y=-19.0,r=0.9])Node2642[a=0.0,b=-1.0,x=23.0,y=-19.0,r=1.31])Node2498[a=0.0,b=-1.0,x=23.0,y=-18.0,r=1.13],((Node2804[a=1.0,b=1.0,x=25.0,y=-16.0,r=0.84],((Node3324[a=1.0,b=-1.0,x=27.0,y=-20.0,r=0.91])Node3152[a=1.0,b=-1.0,x=26.0,y=-19.0,r=0.89])Node2803[a=1.0,b=-1.0,x=25.0,y=-18.0,r=0.75])Node2641[a=0.0,b=1.0,x=24.0,y=-17.0,r=0.95],(((((Node3666[a=1.0,b=-1.0,x=29.0,y=-21.0,r=1.39],Node3665[a=0.0,b=-1.0,x=28.0,y=-21.0,r=0.54])Node3502[a=1.0,b=-1.0,x=28.0,y=-20.0,r=0.83],(Node3664[a=1.0,b=-1.0,x=29.0,y=-20.0,r=0.93])Node3501[a=1.0,b=0.0,x=28.0,y=-19.0,r=0.81])Node3323[a=1.0,b=-1.0,x=27.0,y=-19.0,r=0.73])Node3151[a=0.0,b=-1.0,x=26.0,y=-18.0,r=0.74],(((Node3663[a=1.0,b=-1.0,x=30.0,y=-20.0,r=1.17])Node3500[a=1.0,b=-1.0,x=29.0,y=-19.0,r=0.75])Node3322[a=1.0,b=0.0,x=28.0,y=-18.0,r=1.16])Node3150[a=1.0,b=-1.0,x=27.0,y=-18.0,r=0.86])Node2802[a=1.0,b=0.0,x=26.0,y=-17.0,r=1.38])Node2640[a=1.0,b=1.0,x=25.0,y=-17.0,r=1.04])Node2497[a=1.0,b=-1.0,x=24.0,y=-18.0,r=1.09])Node2328[a=1.0,b=-1.0,x=23.0,y=-17.0,r=1.17])Node2172[a=0.0,b=-1.0,x=22.0,y=-16.0,r=1.19])Node2016[a=1.0,b=-1.0,x=22.0,y=-15.0,r=0.68])Node1863[a=1.0,b=-1.0,x=21.0,y=-14.0,r=1.21],(((Node2496[a=1.0,b=-1.0,x=22.0,y=-17.0,r=1.24])Node2327[a=0.0,b=-1.0,x=21.0,y=-16.0,r=1.21])Node2171[a=1.0,b=-1.0,x=21.0,y=-15.0,r=0.91])Node1862[a=0.0,b=-1.0,x=20.0,y=-14.0,r=1.02])Node1720[a=-1.0,b=-1.0,x=20.0,y=-13.0,r=0.74])Node1581[a=1.0,b=-1.0,x=21.0,y=-12.0,r=0.64])Node1454[a=-1.0,b=-1.0,x=20.0,y=-11.0,r=0.65])Node1345[a=1.0,b=-1.0,x=21.0,y=-10.0,r=1.11])Node1141[a=1.0,b=1.0,x=20.0,y=-9.0,r=1.06])Node1040[a=1.0,b=0.0,x=19.0,y=-10.0,r=1.06])Node945[a=1.0,b=0.0,x=18.0,y=-10.0,r=1.01])Node848[a=1.0,b=-1.0,x=17.0,y=-10.0,r=1.36])Node762[a=1.0,b=-1.0,x=16.0,y=-9.0,r=1.44])Node618[a=0.0,b=1.0,x=15.0,y=-8.0,r=0.98])Node550[a=1.0,b=-1.0,x=15.0,y=-9.0,r=0.99])Node473[a=1.0,b=0.0,x=14.0,y=-8.0,r=1.42])Node400[a=1.0,b=-1.0,x=13.0,y=-8.0,r=1.41])Node339[a=1.0,b=-1.0,x=12.0,y=-7.0,r=1.39])Node283[a=1.0,b=0.0,x=11.0,y=-6.0,r=0.77])Node232[a=1.0,b=-1.0,x=10.0,y=-6.0,r=1.19],(Node282[a=1.0,b=-1.0,x=10.0,y=-7.0,r=0.83])Node231[a=0.0,b=-1.0,x=9.0,y=-6.0,r=0.79])Node185[a=1.0,b=-1.0,x=9.0,y=-5.0,r=0.91])Node150[a=1.0,b=0.0,x=8.0,y=-4.0,r=0.58],(Node184[a=-1.0,b=1.0,x=7.0,y=-2.0,r=1.07],(((((Node472[a=1.0,b=1.0,x=14.0,y=-3.0,r=1.01],((Node617[a=0.0,b=1.0,x=15.0,y=-2.0,r=0.59],Node616[a=1.0,b=-1.0,x=16.0,y=-4.0,r=1.37])Node549[a=1.0,b=1.0,x=15.0,y=-3.0,r=1.05],((((((Node1239[a=1.0,b=-1.0,x=19.0,y=-8.0,r=0.56],(((((Node2326[a=-1.0,b=-1.0,x=22.0,y=-11.0,r=1.04])Node1861[a=1.0,b=-1.0,x=23.0,y=-10.0,r=0.55])Node1719[a=1.0,b=-1.0,x=22.0,y=-9.0,r=1.33])Node1580[a=1.0,b=-1.0,x=21.0,y=-8.0,r=0.83])Node1344[a=1.0,b=0.0,x=20.0,y=-7.0,r=0.58])Node1238[a=1.0,b=0.0,x=19.0,y=-7.0,r=1.33])Node1140[a=1.0,b=-1.0,x=18.0,y=-7.0,r=1.39])Node944[a=-1.0,b=-1.0,x=17.0,y=-6.0,r=1.43],(((((Node1453[a=1.0,b=0.0,x=22.0,y=-6.0,r=1.45],((((((((((((Node3499[a=0.0,b=-1.0,x=31.0,y=-13.0,r=1.05],(Node3662[a=1.0,b=0.0,x=33.0,y=-13.0,r=1.17],Node3661[a=1.0,b=1.0,x=33.0,y=-12.0,r=0.64])Node3498[a=1.0,b=-1.0,x=32.0,y=-13.0,r=1.41])Node3321[a=1.0,b=0.0,x=31.0,y=-12.0,r=1.05],(Node3497[a=1.0,b=-1.0,x=32.0,y=-12.0,r=0.82],Node3496[a=1.0,b=0.0,x=32.0,y=-11.0,r=1.48])Node3320[a=1.0,b=1.0,x=31.0,y=-11.0,r=1.43])Node3149[a=1.0,b=1.0,x=30.0,y=-12.0,r=1.22],(((Node3660[a=1.0,b=0.0,x=32.0,y=-14.0,r=1.17])Node3495[a=1.0,b=-1.0,x=31.0,y=-14.0,r=0.95])Node3319[a=1.0,b=1.0,x=30.0,y=-13.0,r=1.49])Node3148[a=0.0,b=-1.0,x=29.0,y=-14.0,r=0.69])Node2980[a=1.0,b=0.0,x=29.0,y=-13.0,r=1.17])Node2801[a=1.0,b=-1.0,x=28.0,y=-13.0,r=0.69])Node2495[a=0.0,b=-1.0,x=27.0,y=-12.0,r=1.28],(Node2979[a=1.0,b=1.0,x=29.0,y=-10.0,r=0.5])Node2494[a=1.0,b=0.0,x=28.0,y=-11.0,r=0.58])Node2325[a=1.0,b=-1.0,x=27.0,y=-11.0,r=1.19])Node2170[a=1.0,b=0.0,x=26.0,y=-10.0,r=0.51])Node2015[a=1.0,b=-1.0,x=25.0,y=-10.0,r=1.38])Node1860[a=1.0,b=-1.0,x=24.0,y=-9.0,r=1.27],(Node2014[a=1.0,b=-1.0,x=25.0,y=-9.0,r=0.67])Node1859[a=1.0,b=0.0,x=24.0,y=-8.0,r=1.39])Node1718[a=0.0,b=-1.0,x=23.0,y=-8.0,r=1.14])Node1579[a=1.0,b=0.0,x=23.0,y=-7.0,r=0.77],(Node1717[a=1.0,b=-1.0,x=24.0,y=-7.0,r=0.83],(Node1858[a=1.0,b=0.0,x=25.0,y=-5.0,r=1.42])Node1716[a=1.0,b=1.0,x=24.0,y=-5.0,r=1.11])Node1578[a=1.0,b=1.0,x=23.0,y=-6.0,r=0.93])Node1452[a=1.0,b=-1.0,x=22.0,y=-7.0,r=0.56])Node1343[a=1.0,b=-1.0,x=21.0,y=-6.0,r=1.28])Node1237[a=0.0,b=-1.0,x=20.0,y=-5.0,r=1.38],(((((((((Node2800[a=1.0,b=-1.0,x=30.0,y=-7.0,r=0.73])Node2493[a=1.0,b=-1.0,x=29.0,y=-6.0,r=0.59])Node2324[a=1.0,b=-1.0,x=28.0,y=-5.0,r=1.07],((((((Node3659[a=1.0,b=-1.0,x=34.0,y=-7.0,r=1.16])Node3494[a=1.0,b=-1.0,x=33.0,y=-6.0,r=0.69])Node3318[a=1.0,b=0.0,x=32.0,y=-5.0,r=0.72])Node2978[a=1.0,b=0.0,x=31.0,y=-5.0,r=1.05])Node2799[a=1.0,b=0.0,x=30.0,y=-5.0,r=0.99])Node2492[a=1.0,b=-1.0,x=29.0,y=-5.0,r=0.72],((((Node3493[a=1.0,b=1.0,x=33.0,y=-3.0,r=1.19],Node3492[a=1.0,b=-1.0,x=33.0,y=-5.0,r=0.54])Node3317[a=1.0,b=-1.0,x=32.0,y=-4.0,r=1.46])Node2977[a=1.0,b=-1.0,x=31.0,y=-3.0,r=1.23])Node2798[a=1.0,b=1.0,x=30.0,y=-2.0,r=1.43])Node2491[a=1.0,b=1.0,x=29.0,y=-3.0,r=0.88])Node2323[a=1.0,b=0.0,x=28.0,y=-4.0,r=1.04])Node2169[a=1.0,b=1.0,x=27.0,y=-4.0,r=0.69])Node2013[a=1.0,b=1.0,x=26.0,y=-5.0,r=1.15])Node1857[a=1.0,b=0.0,x=25.0,y=-6.0,r=1.22],(((Node2639[a=1.0,b=1.0,x=27.0,y=-6.0,r=0.78],Node2638[a=0.0,b=1.0,x=26.0,y=-6.0,r=1.21])Node2322[a=1.0,b=1.0,x=26.0,y=-7.0,r=1.1])Node2012[a=0.0,b=-1.0,x=25.0,y=-8.0,r=1.2],(((Node2637[a=1.0,b=1.0,x=28.0,y=-9.0,r=0.85])Node2321[a=1.0,b=-1.0,x=27.0,y=-10.0,r=0.69])Node2168[a=0.0,b=-1.0,x=26.0,y=-9.0,r=0.73],(((Node3147[a=1.0,b=-1.0,x=30.0,y=-10.0,r=1.33])Node2976[a=1.0,b=-1.0,x=29.0,y=-9.0,r=1.33])Node2490[a=1.0,b=1.0,x=28.0,y=-8.0,r=0.9],((Node3146[a=0.0,b=-1.0,x=29.0,y=-12.0,r=1.21],Node3145[a=1.0,b=0.0,x=30.0,y=-11.0,r=1.26])Node2975[a=1.0,b=-1.0,x=29.0,y=-11.0,r=1.36])Node2489[a=1.0,b=-1.0,x=28.0,y=-10.0,r=0.97])Node2167[a=1.0,b=-1.0,x=27.0,y=-9.0,r=1.25])Node2011[a=1.0,b=-1.0,x=26.0,y=-8.0,r=0.79])Node1856[a=1.0,b=-1.0,x=25.0,y=-7.0,r=1.26])Node1715[a=1.0,b=-1.0,x=24.0,y=-6.0,r=0.85])Node1577[a=1.0,b=0.0,x=23.0,y=-5.0,r=0.62])Node1342[a=1.0,b=0.0,x=22.0,y=-5.0,r=0.94])Node1236[a=1.0,b=-1.0,x=21.0,y=-5.0,r=0.9])Node1139[a=1.0,b=1.0,x=20.0,y=-4.0,r=1.42],(((Node1714[a=1.0,b=-1.0,x=22.0,y=-8.0,r=1.29])Node1576[a=1.0,b=-1.0,x=21.0,y=-7.0,r=0.97])Node1341[a=1.0,b=0.0,x=20.0,y=-6.0,r=1.2])Node1138[a=0.0,b=-1.0,x=19.0,y=-6.0,r=0.59])Node1039[a=0.0,b=-1.0,x=19.0,y=-5.0,r=1.13])Node943[a=1.0,b=1.0,x=19.0,y=-4.0,r=1.38])Node847[a=1.0,b=-1.0,x=18.0,y=-5.0,r=1.24],Node846[a=0.0,b=-1.0,x=17.0,y=-5.0,r=0.68])Node689[a=1.0,b=-1.0,x=17.0,y=-4.0,r=0.86],((((((Node1340[a=1.0,b=-1.0,x=21.0,y=-4.0,r=1.29])Node1235[a=1.0,b=-1.0,x=20.0,y=-3.0,r=1.35])Node1038[a=1.0,b=0.0,x=19.0,y=-2.0,r=1.05],Node1037[a=0.0,b=-1.0,x=18.0,y=-3.0,r=1.2])Node942[a=-1.0,b=1.0,x=18.0,y=-2.0,r=0.62])Node845[a=1.0,b=1.0,x=19.0,y=-3.0,r=0.65])Node761[a=1.0,b=-1.0,x=18.0,y=-4.0,r=0.84])Node688[a=1.0,b=0.0,x=17.0,y=-3.0,r=0.97])Node615[a=1.0,b=1.0,x=16.0,y=-3.0,r=0.96])Node548[a=1.0,b=0.0,x=15.0,y=-4.0,r=1.26])Node471[a=1.0,b=0.0,x=14.0,y=-4.0,r=1.49])Node399[a=1.0,b=0.0,x=13.0,y=-4.0,r=1.08])Node338[a=1.0,b=0.0,x=12.0,y=-4.0,r=1.44])Node281[a=1.0,b=1.0,x=11.0,y=-4.0,r=0.56],((((((((Node1234[a=1.0,b=1.0,x=18.0,y=-6.0,r=1.26])Node1036[a=1.0,b=-1.0,x=17.0,y=-7.0,r=0.83])Node941[a=0.0,b=-1.0,x=16.0,y=-6.0,r=1.17])Node760[a=1.0,b=0.0,x=16.0,y=-5.0,r=1.3])Node687[a=1.0,b=1.0,x=15.0,y=-5.0,r=0.55],(Node759[a=-1.0,b=0.0,x=13.0,y=-7.0,r=1.17])Node686[a=0.0,b=-1.0,x=14.0,y=-7.0,r=0.56])Node470[a=1.0,b=-1.0,x=14.0,y=-6.0,r=0.64])Node398[a=1.0,b=1.0,x=13.0,y=-5.0,r=1.14])Node337[a=1.0,b=-1.0,x=12.0,y=-6.0,r=1.38],Node336[a=1.0,b=0.0,x=12.0,y=-5.0,r=0.99])Node280[a=1.0,b=0.0,x=11.0,y=-5.0,r=1.12])Node230[a=1.0,b=-1.0,x=10.0,y=-5.0,r=1.11],((((Node547[a=1.0,b=1.0,x=14.0,y=-2.0,r=0.67])Node469[a=1.0,b=0.0,x=13.0,y=-3.0,r=1.39],(Node614[a=1.0,b=1.0,x=14.0,y=-1.0,r=0.65])Node468[a=1.0,b=1.0,x=13.0,y=-2.0,r=0.83])Node397[a=1.0,b=0.0,x=12.0,y=-3.0,r=0.64])Node335[a=1.0,b=1.0,x=11.0,y=-3.0,r=1.21])Node229[a=1.0,b=0.0,x=10.0,y=-4.0,r=1.01])Node183[a=1.0,b=-1.0,x=9.0,y=-4.0,r=0.73])Node149[a=1.0,b=1.0,x=8.0,y=-3.0,r=0.85])Node123[a=1.0,b=0.0,x=7.0,y=-4.0,r=0.73],((((Node334[a=1.0,b=0.0,x=10.0,y=-8.0,r=1.09])Node279[a=1.0,b=-1.0,x=9.0,y=-8.0,r=1.46],Node278[a=1.0,b=0.0,x=9.0,y=-7.0,r=0.79])Node228[a=0.0,b=-1.0,x=8.0,y=-7.0,r=0.71])Node182[a=1.0,b=-1.0,x=8.0,y=-6.0,r=1.28])Node122[a=1.0,b=-1.0,x=7.0,y=-5.0,r=0.62])Node101[a=1.0,b=-1.0,x=6.0,y=-4.0,r=1.39])Node85[a=-1.0,b=-1.0,x=5.0,y=-3.0,r=1.06],(((Node181[a=1.0,b=-1.0,x=9.0,y=-3.0,r=1.1])Node148[a=1.0,b=1.0,x=8.0,y=-2.0,r=0.83])Node100[a=1.0,b=0.0,x=7.0,y=-3.0,r=1.2],((Node180[a=1.0,b=-1.0,x=7.0,y=-6.0,r=0.64],((((((((((((((((((Node2166[a=1.0,b=-1.0,x=18.0,y=-21.0,r=1.0])Node2010[a=1.0,b=-1.0,x=17.0,y=-20.0,r=0.76],(((Node2488[a=1.0,b=-1.0,x=20.0,y=-22.0,r=1.39],Node2487[a=0.0,b=-1.0,x=19.0,y=-22.0,r=1.07])Node2320[a=1.0,b=-1.0,x=19.0,y=-21.0,r=0.69],(((((Node3658[a=1.0,b=-1.0,x=23.0,y=-25.0,r=1.05])Node3144[a=0.0,b=-1.0,x=22.0,y=-24.0,r=0.7],(Node3491[a=1.0,b=-1.0,x=24.0,y=-25.0,r=0.94])Node3143[a=1.0,b=-1.0,x=23.0,y=-24.0,r=1.29])Node2974[a=1.0,b=-1.0,x=22.0,y=-23.0,r=0.84])Node2797[a=1.0,b=-1.0,x=21.0,y=-22.0,r=1.32])Node2486[a=1.0,b=-1.0,x=20.0,y=-21.0,r=0.99])Node2319[a=1.0,b=0.0,x=19.0,y=-20.0,r=1.08])Node2165[a=1.0,b=-1.0,x=18.0,y=-20.0,r=1.24])Node2009[a=1.0,b=0.0,x=17.0,y=-19.0,r=1.22])Node1713[a=1.0,b=-1.0,x=16.0,y=-19.0,r=1.28],Node1712[a=-1.0,b=-1.0,x=14.0,y=-19.0,r=1.35])Node1575[a=1.0,b=0.0,x=15.0,y=-18.0,r=1.2],(((((((Node2973[a=1.0,b=0.0,x=21.0,y=-23.0,r=0.83],((Node3316[a=-1.0,b=-1.0,x=20.0,y=-26.0,r=1.22])Node3142[a=0.0,b=-1.0,x=21.0,y=-25.0,r=1.12],(((Node3657[a=0.0,b=-1.0,x=23.0,y=-28.0,r=1.49],Node3656[a=1.0,b=-1.0,x=24.0,y=-28.0,r=0.83])Node3490[a=1.0,b=-1.0,x=23.0,y=-27.0,r=0.83])Node3315[a=0.0,b=-1.0,x=22.0,y=-26.0,r=0.51])Node3141[a=1.0,b=-1.0,x=22.0,y=-25.0,r=1.42])Node2972[a=1.0,b=-1.0,x=21.0,y=-24.0,r=1.35])Node2796[a=1.0,b=0.0,x=20.0,y=-23.0,r=1.14])Node2636[a=1.0,b=-1.0,x=19.0,y=-23.0,r=1.23])Node2485[a=1.0,b=-1.0,x=18.0,y=-22.0,r=0.84])Node2164[a=1.0,b=0.0,x=17.0,y=-21.0,r=1.22])Node2008[a=1.0,b=-1.0,x=16.0,y=-21.0,r=1.46])Node1855[a=0.0,b=-1.0,x=15.0,y=-20.0,r=0.86],(((Node2318[a=0.0,b=-1.0,x=16.0,y=-23.0,r=1.41],((Node2635[a=1.0,b=-1.0,x=18.0,y=-24.0,r=1.43])Node2484[a=0.0,b=-1.0,x=17.0,y=-23.0,r=1.01],(((((Node3489[a=1.0,b=-1.0,x=20.0,y=-28.0,r=1.1],Node3488[a=1.0,b=0.0,x=20.0,y=-27.0,r=1.43])Node3140[a=1.0,b=-1.0,x=19.0,y=-27.0,r=1.15],(((Node3655[a=1.0,b=-1.0,x=20.0,y=-29.0,r=1.49],Node3654[a=0.0,b=-1.0,x=19.0,y=-29.0,r=0.63])Node3487[a=1.0,b=-1.0,x=19.0,y=-28.0,r=1.28])Node3314[a=-1.0,b=-1.0,x=18.0,y=-27.0,r=1.1])Node3139[a=1.0,b=0.0,x=19.0,y=-26.0,r=1.24])Node2971[a=0.0,b=-1.0,x=18.0,y=-26.0,r=1.5],(Node3138[a=1.0,b=0.0,x=20.0,y=-24.0,r=1.49],(Node3313[a=-1.0,b=0.0,x=19.0,y=-25.0,r=1.09],((Node3653[a=-1.0,b=-1.0,x=21.0,y=-28.0,r=1.22])Node3486[a=1.0,b=-1.0,x=22.0,y=-27.0,r=0.63],(Node3652[a=1.0,b=-1.0,x=22.0,y=-28.0,r=0.76])Node3485[a=0.0,b=-1.0,x=21.0,y=-27.0,r=1.34])Node3312[a=1.0,b=-1.0,x=21.0,y=-26.0,r=0.56])Node3137[a=1.0,b=-1.0,x=20.0,y=-25.0,r=0.82])Node2970[a=1.0,b=1.0,x=19.0,y=-24.0,r=1.48])Node2795[a=1.0,b=-1.0,x=18.0,y=-25.0,r=1.21])Node2634[a=-1.0,b=-1.0,x=17.0,y=-24.0,r=0.88])Node2483[a=1.0,b=-1.0,x=18.0,y=-23.0,r=1.44])Node2317[a=1.0,b=0.0,x=17.0,y=-22.0,r=1.34])Node2163[a=1.0,b=-1.0,x=16.0,y=-22.0,r=1.17],Node2162[a=0.0,b=-1.0,x=15.0,y=-22.0,r=0.54])Node2007[a=-1.0,b=-1.0,x=15.0,y=-21.0,r=0.97])Node1854[a=1.0,b=-1.0,x=16.0,y=-20.0,r=1.1])Node1574[a=1.0,b=-1.0,x=15.0,y=-19.0,r=1.19])Node1451[a=1.0,b=0.0,x=14.0,y=-18.0,r=0.84])Node1339[a=-1.0,b=-1.0,x=13.0,y=-18.0,r=1.36],((Node1711[a=0.0,b=1.0,x=16.0,y=-17.0,r=1.35],((((Node2482[a=1.0,b=-1.0,x=21.0,y=-18.0,r=1.32])Node2316[a=1.0,b=1.0,x=20.0,y=-17.0,r=1.25],((Node2633[a=1.0,b=-1.0,x=21.0,y=-21.0,r=1.41])Node2481[a=0.0,b=-1.0,x=20.0,y=-20.0,r=1.04])Node2315[a=1.0,b=-1.0,x=20.0,y=-19.0,r=0.74])Node2161[a=1.0,b=-1.0,x=19.0,y=-18.0,r=1.41])Node2006[a=1.0,b=1.0,x=18.0,y=-17.0,r=1.13],Node2005[a=1.0,b=-1.0,x=18.0,y=-19.0,r=1.49])Node1710[a=1.0,b=0.0,x=17.0,y=-18.0,r=1.07])Node1573[a=1.0,b=-1.0,x=16.0,y=-18.0,r=1.2],((Node2004[a=1.0,b=-1.0,x=18.0,y=-18.0,r=0.94])Node1853[a=1.0,b=-1.0,x=17.0,y=-17.0,r=1.0])Node1572[a=1.0,b=1.0,x=16.0,y=-16.0,r=1.22])Node1338[a=1.0,b=0.0,x=15.0,y=-17.0,r=1.18])Node1233[a=1.0,b=-1.0,x=14.0,y=-17.0,r=0.67])Node1137[a=1.0,b=-1.0,x=13.0,y=-16.0,r=1.47],(Node1450[a=1.0,b=-1.0,x=13.0,y=-17.0,r=1.41])Node1136[a=0.0,b=-1.0,x=12.0,y=-16.0,r=1.2])Node1035[a=1.0,b=-1.0,x=12.0,y=-15.0,r=0.83])Node844[a=1.0,b=0.0,x=11.0,y=-14.0,r=0.52])Node685[a=1.0,b=-1.0,x=10.0,y=-14.0,r=0.89])Node613[a=1.0,b=-1.0,x=9.0,y=-13.0,r=1.4])Node546[a=1.0,b=-1.0,x=8.0,y=-12.0,r=1.12])Node467[a=1.0,b=-1.0,x=7.0,y=-11.0,r=1.22],(Node545[a=0.0,b=-1.0,x=6.0,y=-12.0,r=1.21],(Node758[a=1.0,b=-1.0,x=8.0,y=-13.0,r=1.46],((((((((Node1852[a=1.0,b=-1.0,x=14.0,y=-20.0,r=1.43],((Node2160[a=-1.0,b=-1.0,x=12.0,y=-22.0,r=1.15])Node2003[a=0.0,b=-1.0,x=13.0,y=-21.0,r=1.26],((((Node2632[a=0.0,b=-1.0,x=14.0,y=-25.0,r=1.3])Node2480[a=-1.0,b=-1.0,x=14.0,y=-24.0,r=1.23],(((((Node3651[a=0.0,b=-1.0,x=18.0,y=-29.0,r=0.94])Node3484[a=1.0,b=-1.0,x=18.0,y=-28.0,r=0.71],Node3483[a=0.0,b=-1.0,x=17.0,y=-28.0,r=0.63])Node3136[a=1.0,b=-1.0,x=17.0,y=-27.0,r=0.63])Node2969[a=-1.0,b=-1.0,x=16.0,y=-26.0,r=0.93])Node2794[a=1.0,b=-1.0,x=17.0,y=-25.0,r=0.55])Node2479[a=1.0,b=-1.0,x=16.0,y=-24.0,r=0.88])Node2314[a=1.0,b=-1.0,x=15.0,y=-23.0,r=1.14],((((Node3135[a=1.0,b=-1.0,x=17.0,y=-26.0,r=0.74])Node2968[a=1.0,b=0.0,x=16.0,y=-25.0,r=0.88],(((Node3650[a=0.0,b=-1.0,x=16.0,y=-29.0,r=0.99],Node3649[a=1.0,b=-1.0,x=17.0,y=-29.0,r=0.97])Node3482[a=1.0,b=-1.0,x=16.0,y=-28.0,r=1.09])Node3134[a=0.0,b=-1.0,x=15.0,y=-27.0,r=1.14],(((Node3648[a=1.0,b=-1.0,x=16.0,y=-30.0,r=0.66])Node3481[a=0.0,b=-1.0,x=15.0,y=-29.0,r=1.01])Node3311[a=-1.0,b=-1.0,x=15.0,y=-28.0,r=0.53])Node3133[a=1.0,b=-1.0,x=16.0,y=-27.0,r=1.12])Node2967[a=0.0,b=-1.0,x=15.0,y=-26.0,r=0.95])Node2793[a=0.0,b=-1.0,x=15.0,y=-25.0,r=0.56])Node2631[a=1.0,b=-1.0,x=15.0,y=-24.0,r=0.69])Node2313[a=0.0,b=-1.0,x=14.0,y=-23.0,r=1.22])Node2159[a=0.0,b=-1.0,x=14.0,y=-22.0,r=0.86],(((Node2630[a=1.0,b=0.0,x=13.0,y=-24.0,r=1.39],(Node2966[a=1.0,b=-1.0,x=14.0,y=-26.0,r=0.7])Node2629[a=1.0,b=-1.0,x=13.0,y=-25.0,r=0.65])Node2478[a=-1.0,b=-1.0,x=12.0,y=-24.0,r=0.88])Node2312[a=0.0,b=-1.0,x=13.0,y=-23.0,r=1.42])Node2158[a=-1.0,b=-1.0,x=13.0,y=-22.0,r=1.37])Node2002[a=1.0,b=-1.0,x=14.0,y=-21.0,r=0.58])Node1851[a=0.0,b=-1.0,x=13.0,y=-20.0,r=0.89])Node1571[a=1.0,b=-1.0,x=13.0,y=-19.0,r=1.33])Node1449[a=1.0,b=-1.0,x=12.0,y=-18.0,r=0.66],Node1448[a=1.0,b=0.0,x=12.0,y=-17.0,r=1.02])Node1337[a=1.0,b=-1.0,x=11.0,y=-17.0,r=1.12])Node1135[a=1.0,b=0.0,x=10.0,y=-16.0,r=0.94])Node1034[a=1.0,b=-1.0,x=9.0,y=-16.0,r=0.84])Node940[a=0.0,b=-1.0,x=8.0,y=-15.0,r=1.04])Node843[a=1.0,b=-1.0,x=8.0,y=-14.0,r=0.87])Node757[a=0.0,b=-1.0,x=7.0,y=-13.0,r=0.91])Node544[a=1.0,b=-1.0,x=7.0,y=-12.0,r=1.16])Node466[a=0.0,b=-1.0,x=6.0,y=-11.0,r=0.89])Node396[a=-1.0,b=-1.0,x=6.0,y=-10.0,r=0.95],((((Node842[a=1.0,b=-1.0,x=11.0,y=-13.0,r=0.93],(Node939[a=1.0,b=0.0,x=12.0,y=-12.0,r=1.08])Node841[a=1.0,b=0.0,x=11.0,y=-12.0,r=1.23])Node684[a=1.0,b=0.0,x=10.0,y=-12.0,r=0.61],(((((((Node1570[a=1.0,b=-1.0,x=12.0,y=-19.0,r=0.89],(Node2001[a=1.0,b=-1.0,x=12.0,y=-20.0,r=1.36])Node1569[a=0.0,b=-1.0,x=11.0,y=-19.0,r=0.95])Node1336[a=1.0,b=-1.0,x=11.0,y=-18.0,r=1.42])Node1232[a=-1.0,b=-1.0,x=10.0,y=-17.0,r=0.58])Node1134[a=1.0,b=-1.0,x=11.0,y=-16.0,r=0.76],Node1133[a=1.0,b=0.0,x=11.0,y=-15.0,r=1.22])Node1033[a=1.0,b=0.0,x=10.0,y=-15.0,r=1.3])Node938[a=0.0,b=-1.0,x=9.0,y=-15.0,r=1.09])Node756[a=-1.0,b=-1.0,x=9.0,y=-14.0,r=0.58])Node683[a=1.0,b=-1.0,x=10.0,y=-13.0,r=0.96])Node612[a=0.0,b=-1.0,x=9.0,y=-12.0,r=0.5])Node465[a=1.0,b=-1.0,x=9.0,y=-11.0,r=0.76],(Node543[a=1.0,b=-1.0,x=8.0,y=-11.0,r=0.68])Node464[a=-1.0,b=0.0,x=7.0,y=-10.0,r=0.62])Node395[a=1.0,b=-1.0,x=8.0,y=-10.0,r=0.93])Node333[a=-1.0,b=-1.0,x=7.0,y=-9.0,r=1.24],(Node463[a=0.0,b=-1.0,x=9.0,y=-10.0,r=0.75],(Node542[a=0.0,b=-1.0,x=10.0,y=-11.0,r=0.72],Node541[a=0.0,b=1.0,x=10.0,y=-9.0,r=1.39])Node462[a=1.0,b=-1.0,x=10.0,y=-10.0,r=1.48])Node332[a=1.0,b=-1.0,x=9.0,y=-9.0,r=0.57])Node277[a=1.0,b=-1.0,x=8.0,y=-8.0,r=1.17],(Node331[a=1.0,b=-1.0,x=8.0,y=-9.0,r=1.48],((Node461[a=-1.0,b=-1.0,x=4.0,y=-11.0,r=0.51],((((((((((((((((((((Node3480[a=0.0,b=-1.0,x=14.0,y=-29.0,r=0.8])Node3310[a=1.0,b=-1.0,x=14.0,y=-28.0,r=0.51])Node3132[a=0.0,b=-1.0,x=13.0,y=-27.0,r=0.65],Node3131[a=1.0,b=-1.0,x=14.0,y=-27.0,r=1.03])Node2965[a=1.0,b=0.0,x=13.0,y=-26.0,r=1.33])Node2792[a=0.0,b=-1.0,x=12.0,y=-26.0,r=1.39])Node2628[a=1.0,b=-1.0,x=12.0,y=-25.0,r=0.94])Node2477[a=1.0,b=-1.0,x=11.0,y=-24.0,r=1.5],(Node2627[a=1.0,b=-1.0,x=11.0,y=-25.0,r=0.55])Node2476[a=0.0,b=-1.0,x=10.0,y=-24.0,r=1.33])Node2157[a=1.0,b=-1.0,x=10.0,y=-23.0,r=0.54])Node2000[a=1.0,b=-1.0,x=9.0,y=-22.0,r=0.91])Node1850[a=0.0,b=-1.0,x=8.0,y=-21.0,r=0.97])Node1709[a=0.0,b=-1.0,x=8.0,y=-20.0,r=0.54])Node1568[a=0.0,b=-1.0,x=8.0,y=-19.0,r=1.21])Node1231[a=1.0,b=-1.0,x=8.0,y=-18.0,r=1.23])Node1132[a=-1.0,b=-1.0,x=7.0,y=-17.0,r=0.52],(((Node1708[a=0.0,b=-1.0,x=10.0,y=-19.0,r=1.39])Node1335[a=1.0,b=-1.0,x=10.0,y=-18.0,r=1.1],((((Node2156[a=1.0,b=-1.0,x=10.0,y=-22.0,r=1.06])Node1849[a=-1.0,b=-1.0,x=9.0,y=-21.0,r=1.24],(Node1999[a=0.0,b=1.0,x=11.0,y=-20.0,r=1.27],Node1998[a=1.0,b=0.0,x=12.0,y=-21.0,r=0.84])Node1848[a=1.0,b=-1.0,x=11.0,y=-21.0,r=1.04])Node1707[a=1.0,b=-1.0,x=10.0,y=-20.0,r=0.82],(((Node2311[a=0.0,b=-1.0,x=11.0,y=-23.0,r=0.66],Node2310[a=1.0,b=-1.0,x=12.0,y=-23.0,r=1.37])Node2155[a=1.0,b=-1.0,x=11.0,y=-22.0,r=1.29])Node1997[a=1.0,b=-1.0,x=10.0,y=-21.0,r=0.6])Node1706[a=0.0,b=-1.0,x=9.0,y=-20.0,r=0.6])Node1447[a=0.0,b=-1.0,x=9.0,y=-19.0,r=1.21])Node1334[a=0.0,b=-1.0,x=9.0,y=-18.0,r=0.85])Node1230[a=1.0,b=0.0,x=9.0,y=-17.0,r=0.55])Node1131[a=0.0,b=-1.0,x=8.0,y=-17.0,r=0.72])Node1032[a=1.0,b=-1.0,x=8.0,y=-16.0,r=0.67],(((((Node1567[a=0.0,b=-1.0,x=7.0,y=-21.0,r=1.2])Node1446[a=0.0,b=-1.0,x=7.0,y=-20.0,r=0.65])Node1333[a=0.0,b=-1.0,x=7.0,y=-19.0,r=1.15])Node1229[a=1.0,b=-1.0,x=7.0,y=-18.0,r=1.44])Node1130[a=-1.0,b=-1.0,x=6.0,y=-17.0,r=0.58])Node1031[a=0.0,b=-1.0,x=7.0,y=-16.0,r=0.61])Node937[a=1.0,b=-1.0,x=7.0,y=-15.0,r=1.15],(Node1030[a=1.0,b=-1.0,x=6.0,y=-16.0,r=1.45],Node1029[a=0.0,b=-1.0,x=5.0,y=-16.0,r=0.78])Node936[a=-1.0,b=-1.0,x=5.0,y=-15.0,r=1.05])Node840[a=1.0,b=-1.0,x=6.0,y=-14.0,r=0.69],Node839[a=-1.0,b=-1.0,x=4.0,y=-14.0,r=0.76])Node682[a=-1.0,b=0.0,x=5.0,y=-13.0,r=0.92],(((Node1028[a=-1.0,b=-1.0,x=4.0,y=-15.0,r=0.85])Node838[a=-1.0,b=1.0,x=5.0,y=-14.0,r=1.34])Node755[a=-1.0,b=-1.0,x=6.0,y=-15.0,r=1.25])Node681[a=1.0,b=-1.0,x=7.0,y=-14.0,r=0.68])Node611[a=1.0,b=-1.0,x=6.0,y=-13.0,r=1.04])Node540[a=0.0,b=-1.0,x=5.0,y=-12.0,r=0.66],(Node610[a=0.0,b=-1.0,x=4.0,y=-13.0,r=1.2],((((((Node1228[a=0.0,b=-1.0,x=5.0,y=-18.0,r=0.76],(Node1445[a=0.0,b=-1.0,x=6.0,y=-19.0,r=0.55])Node1227[a=1.0,b=-1.0,x=6.0,y=-18.0,r=1.22])Node1129[a=1.0,b=-1.0,x=5.0,y=-17.0,r=0.87],((((((Node1847[a=0.0,b=-1.0,x=4.0,y=-22.0,r=0.56])Node1705[a=-1.0,b=-1.0,x=4.0,y=-21.0,r=1.04])Node1566[a=1.0,b=-1.0,x=5.0,y=-20.0,r=0.69],(((Node1996[a=1.0,b=-1.0,x=4.0,y=-23.0,r=1.04])Node1846[a=0.0,b=-1.0,x=3.0,y=-22.0,r=1.25])Node1704[a=-1.0,b=-1.0,x=3.0,y=-21.0,r=1.03])Node1565[a=0.0,b=-1.0,x=4.0,y=-20.0,r=0.53])Node1444[a=0.0,b=-1.0,x=4.0,y=-19.0,r=0.68],(((((Node2154[a=0.0,b=-1.0,x=5.0,y=-24.0,r=0.76])Node1995[a=-1.0,b=-1.0,x=5.0,y=-23.0,r=0.8])Node1845[a=0.0,b=-1.0,x=6.0,y=-22.0,r=1.01],((((((((Node3130[a=1.0,b=-1.0,x=13.0,y=-28.0,r=0.75])Node2964[a=1.0,b=-1.0,x=12.0,y=-27.0,r=0.55])Node2791[a=1.0,b=-1.0,x=11.0,y=-26.0,r=1.41])Node2626[a=1.0,b=1.0,x=10.0,y=-25.0,r=1.36])Node2475[a=1.0,b=-1.0,x=9.0,y=-26.0,r=0.7],(((((Node3647[a=1.0,b=-1.0,x=11.0,y=-30.0,r=1.11])Node3309[a=-1.0,b=-1.0,x=10.0,y=-29.0,r=0.58])Node3129[a=0.0,b=-1.0,x=11.0,y=-28.0,r=1.36],(Node3646[a=1.0,b=-1.0,x=13.0,y=-29.0,r=0.99])Node3128[a=1.0,b=-1.0,x=12.0,y=-28.0,r=1.18])Node2963[a=1.0,b=-1.0,x=11.0,y=-27.0,r=0.65])Node2790[a=1.0,b=-1.0,x=10.0,y=-26.0,r=0.87])Node2474[a=1.0,b=0.0,x=9.0,y=-25.0,r=1.05])Node2309[a=1.0,b=-1.0,x=8.0,y=-25.0,r=1.21],Node2308[a=1.0,b=0.0,x=8.0,y=-24.0,r=0.98])Node2153[a=0.0,b=-1.0,x=7.0,y=-24.0,r=0.88])Node1994[a=0.0,b=-1.0,x=7.0,y=-23.0,r=1.22],(Node2152[a=1.0,b=-1.0,x=9.0,y=-23.0,r=0.78],(Node2307[a=1.0,b=-1.0,x=9.0,y=-24.0,r=1.06])Node2151[a=0.0,b=-1.0,x=8.0,y=-23.0,r=1.05])Node1993[a=1.0,b=0.0,x=8.0,y=-22.0,r=0.81])Node1844[a=1.0,b=-1.0,x=7.0,y=-22.0,r=0.97])Node1703[a=0.0,b=-1.0,x=6.0,y=-21.0,r=0.85],(((((((((((Node3645[a=1.0,b=0.0,x=9.0,y=-31.0,r=1.29],Node3644[a=1.0,b=-1.0,x=9.0,y=-32.0,r=1.35])Node3479[a=1.0,b=-1.0,x=8.0,y=-31.0,r=0.52],(Node3643[a=1.0,b=-1.0,x=7.0,y=-32.0,r=1.31])Node3478[a=-1.0,b=-1.0,x=6.0,y=-31.0,r=0.78])Node3308[a=1.0,b=-1.0,x=7.0,y=-30.0,r=0.7],((Node3642[a=1.0,b=-1.0,x=5.0,y=-32.0,r=1.27])Node3477[a=-1.0,b=-1.0,x=4.0,y=-31.0,r=1.49])Node3307[a=-1.0,b=-1.0,x=5.0,y=-30.0,r=1.19])Node3127[a=1.0,b=-1.0,x=6.0,y=-29.0,r=1.05],(Node3306[a=-1.0,b=-1.0,x=4.0,y=-30.0,r=0.73],(Node3641[a=-1.0,b=-1.0,x=5.0,y=-31.0,r=1.42],Node3640[a=1.0,b=-1.0,x=7.0,y=-31.0,r=0.91])Node3305[a=1.0,b=-1.0,x=6.0,y=-30.0,r=0.58])Node3126[a=0.0,b=-1.0,x=5.0,y=-29.0,r=1.21])Node2962[a=-1.0,b=-1.0,x=5.0,y=-28.0,r=0.99])Node2625[a=0.0,b=-1.0,x=6.0,y=-27.0,r=1.39])Node2473[a=0.0,b=-1.0,x=6.0,y=-26.0,r=0.79])Node2306[a=0.0,b=-1.0,x=6.0,y=-25.0,r=1.46],(((Node2961[a=1.0,b=0.0,x=10.0,y=-27.0,r=1.23])Node2624[a=1.0,b=-1.0,x=9.0,y=-27.0,r=0.76])Node2472[a=1.0,b=-1.0,x=8.0,y=-26.0,r=0.62],((((Node3639[a=1.0,b=-1.0,x=8.0,y=-30.0,r=0.6])Node3125[a=1.0,b=-1.0,x=7.0,y=-29.0,r=1.19])Node2960[a=-1.0,b=-1.0,x=6.0,y=-28.0,r=0.55])Node2623[a=0.0,b=-1.0,x=7.0,y=-27.0,r=0.71],(((Node3304[a=1.0,b=-1.0,x=8.0,y=-29.0,r=0.87])Node2959[a=-1.0,b=0.0,x=7.0,y=-28.0,r=1.41])Node2789[a=0.0,b=-1.0,x=8.0,y=-28.0,r=1.38],(Node2958[a=1.0,b=0.0,x=10.0,y=-28.0,r=1.29],(Node3476[a=0.0,b=-1.0,x=9.0,y=-30.0,r=0.77],(Node3638[a=1.0,b=1.0,x=11.0,y=-29.0,r=1.05],Node3637[a=0.0,b=-1.0,x=10.0,y=-31.0,r=1.23])Node3475[a=1.0,b=-1.0,x=10.0,y=-30.0,r=1.47])Node2957[a=0.0,b=-1.0,x=9.0,y=-29.0,r=1.46])Node2788[a=1.0,b=-1.0,x=9.0,y=-28.0,r=1.43])Node2622[a=1.0,b=-1.0,x=8.0,y=-27.0,r=1.24])Node2471[a=0.0,b=-1.0,x=7.0,y=-26.0,r=1.08])Node2305[a=1.0,b=-1.0,x=7.0,y=-25.0,r=1.29])Node2150[a=0.0,b=-1.0,x=6.0,y=-24.0,r=1.19])Node1992[a=1.0,b=-1.0,x=6.0,y=-23.0,r=1.35])Node1843[a=0.0,b=-1.0,x=5.0,y=-22.0,r=0.63])Node1702[a=-1.0,b=-1.0,x=5.0,y=-21.0,r=0.79])Node1564[a=1.0,b=-1.0,x=6.0,y=-20.0,r=0.94])Node1443[a=1.0,b=-1.0,x=5.0,y=-19.0,r=0.54])Node1332[a=1.0,b=0.0,x=4.0,y=-18.0,r=1.01])Node1226[a=0.0,b=-1.0,x=3.0,y=-18.0,r=0.85])Node1128[a=-1.0,b=-1.0,x=3.0,y=-17.0,r=0.75])Node1027[a=1.0,b=-1.0,x=4.0,y=-16.0,r=0.94],(Node1331[a=1.0,b=-1.0,x=4.0,y=-17.0,r=1.26])Node1026[a=0.0,b=-1.0,x=3.0,y=-16.0,r=0.82])Node837[a=1.0,b=0.0,x=3.0,y=-15.0,r=1.33])Node754[a=-1.0,b=-1.0,x=2.0,y=-15.0,r=1.14])Node680[a=0.0,b=-1.0,x=3.0,y=-14.0,r=0.69])Node609[a=-1.0,b=-1.0,x=3.0,y=-13.0,r=1.39])Node539[a=-1.0,b=-1.0,x=4.0,y=-12.0,r=0.89])Node460[a=0.0,b=-1.0,x=5.0,y=-11.0,r=1.26])Node394[a=-1.0,b=-1.0,x=5.0,y=-10.0,r=0.83])Node330[a=-1.0,b=-1.0,x=6.0,y=-9.0,r=1.42])Node276[a=0.0,b=-1.0,x=7.0,y=-8.0,r=0.76])Node227[a=1.0,b=-1.0,x=7.0,y=-7.0,r=1.31])Node179[a=0.0,b=-1.0,x=6.0,y=-6.0,r=1.37])Node121[a=1.0,b=-1.0,x=6.0,y=-5.0,r=1.16],(((Node275[a=-1.0,b=0.0,x=2.0,y=-6.0,r=1.38],((Node393[a=-1.0,b=-1.0,x=0.0,y=-8.0,r=0.67],((((Node679[a=0.0,b=1.0,x=-1.0,y=-10.0,r=0.97],((Node836[a=-1.0,b=0.0,x=-3.0,y=-12.0,r=0.66])Node753[a=0.0,b=-1.0,x=-2.0,y=-12.0,r=0.84])Node678[a=-1.0,b=0.0,x=-2.0,y=-11.0,r=1.3])Node608[a=-1.0,b=-1.0,x=-1.0,y=-11.0,r=0.58])Node538[a=-1.0,b=-1.0,x=0.0,y=-10.0,r=1.27])Node459[a=0.0,b=-1.0,x=1.0,y=-9.0,r=1.13],(((((Node935[a=-1.0,b=-1.0,x=-5.0,y=-13.0,r=1.31],(((((((((Node2304[a=-1.0,b=-1.0,x=-13.0,y=-20.0,r=1.15])Node2149[a=-1.0,b=-1.0,x=-12.0,y=-19.0,r=1.34],((((Node2787[a=-1.0,b=-1.0,x=-14.0,y=-23.0,r=0.9])Node2621[a=-1.0,b=-1.0,x=-13.0,y=-22.0,r=1.09])Node2470[a=-1.0,b=-1.0,x=-12.0,y=-21.0,r=0.92])Node2303[a=-1.0,b=-1.0,x=-11.0,y=-20.0,r=0.73])Node2148[a=1.0,b=-1.0,x=-10.0,y=-19.0,r=0.65])Node1991[a=0.0,b=-1.0,x=-11.0,y=-18.0,r=1.11])Node1701[a=-1.0,b=-1.0,x=-11.0,y=-17.0,r=0.85],(((((Node2620[a=0.0,b=-1.0,x=-14.0,y=-21.0,r=1.13],(((Node3303[a=-1.0,b=-1.0,x=-18.0,y=-24.0,r=1.35])Node2956[a=-1.0,b=-1.0,x=-17.0,y=-23.0,r=1.31],(Node3302[a=0.0,b=-1.0,x=-16.0,y=-24.0,r=1.37],((Node3636[a=-1.0,b=-1.0,x=-18.0,y=-26.0,r=0.93],Node3635[a=1.0,b=-1.0,x=-16.0,y=-26.0,r=1.43])Node3474[a=0.0,b=-1.0,x=-17.0,y=-25.0,r=1.35],Node3473[a=-1.0,b=-1.0,x=-18.0,y=-25.0,r=1.26])Node3301[a=-1.0,b=-1.0,x=-17.0,y=-24.0,r=0.61])Node2955[a=0.0,b=-1.0,x=-16.0,y=-23.0,r=1.01])Node2786[a=-1.0,b=-1.0,x=-16.0,y=-22.0,r=0.76])Node2619[a=-1.0,b=-1.0,x=-15.0,y=-21.0,r=1.0])Node2469[a=-1.0,b=-1.0,x=-14.0,y=-20.0,r=0.81],((Node2785[a=1.0,b=-1.0,x=-12.0,y=-22.0,r=1.48],((((Node3472[a=1.0,b=-1.0,x=-13.0,y=-26.0,r=1.27])Node3300[a=-1.0,b=-1.0,x=-14.0,y=-25.0,r=1.12])Node3124[a=0.0,b=-1.0,x=-13.0,y=-24.0,r=1.06])Node2954[a=1.0,b=-1.0,x=-13.0,y=-23.0,r=0.76],(((Node3634[a=-1.0,b=-1.0,x=-16.0,y=-25.0,r=1.47])Node3471[a=-1.0,b=0.0,x=-15.0,y=-24.0,r=1.28],(Node3633[a=1.0,b=-1.0,x=-14.0,y=-26.0,r=0.71])Node3470[a=-1.0,b=-1.0,x=-15.0,y=-25.0,r=1.35])Node3123[a=1.0,b=-1.0,x=-14.0,y=-24.0,r=1.49])Node2953[a=-1.0,b=-1.0,x=-15.0,y=-23.0,r=1.05])Node2784[a=-1.0,b=-1.0,x=-14.0,y=-22.0,r=0.88])Node2618[a=-1.0,b=-1.0,x=-13.0,y=-21.0,r=1.32])Node2468[a=1.0,b=-1.0,x=-12.0,y=-20.0,r=0.96])Node2302[a=-1.0,b=-1.0,x=-13.0,y=-19.0,r=0.85])Node1990[a=0.0,b=-1.0,x=-12.0,y=-18.0,r=0.96])Node1842[a=-1.0,b=-1.0,x=-12.0,y=-17.0,r=0.81])Node1700[a=-1.0,b=0.0,x=-11.0,y=-16.0,r=1.02])Node1563[a=-1.0,b=-1.0,x=-10.0,y=-16.0,r=0.72])Node1330[a=-1.0,b=-1.0,x=-9.0,y=-15.0,r=0.52])Node1225[a=-1.0,b=0.0,x=-8.0,y=-14.0,r=1.36],((((Node1699[a=1.0,b=-1.0,x=-10.0,y=-15.0,r=0.62],(((((((((Node3299[a=0.0,b=-1.0,x=-19.0,y=-23.0,r=1.34],(Node3469[a=0.0,b=-1.0,x=-20.0,y=-24.0,r=0.66])Node3298[a=-1.0,b=-1.0,x=-20.0,y=-23.0,r=1.31])Node3122[a=-1.0,b=-1.0,x=-19.0,y=-22.0,r=0.55])Node2952[a=-1.0,b=0.0,x=-18.0,y=-21.0,r=0.57],Node2951[a=-1.0,b=-1.0,x=-18.0,y=-22.0,r=0.92])Node2783[a=-1.0,b=-1.0,x=-17.0,y=-21.0,r=1.07])Node2617[a=-1.0,b=-1.0,x=-16.0,y=-20.0,r=1.21],((Node2950[a=1.0,b=-1.0,x=-15.0,y=-22.0,r=0.6],((Node3468[a=-1.0,b=-1.0,x=-19.0,y=-24.0,r=0.96])Node3121[a=-1.0,b=-1.0,x=-18.0,y=-23.0,r=0.82])Node2949[a=-1.0,b=-1.0,x=-17.0,y=-22.0,r=0.84])Node2782[a=-1.0,b=-1.0,x=-16.0,y=-21.0,r=0.58])Node2616[a=0.0,b=-1.0,x=-15.0,y=-20.0,r=0.75])Node2467[a=0.0,b=-1.0,x=-15.0,y=-19.0,r=0.96])Node2147[a=-1.0,b=-1.0,x=-15.0,y=-18.0,r=1.16])Node1989[a=-1.0,b=-1.0,x=-14.0,y=-17.0,r=0.75])Node1841[a=-1.0,b=-1.0,x=-13.0,y=-16.0,r=1.41])Node1698[a=-1.0,b=-1.0,x=-12.0,y=-15.0,r=1.47])Node1562[a=-1.0,b=-1.0,x=-11.0,y=-14.0,r=0.67])Node1442[a=-1.0,b=1.0,x=-10.0,y=-13.0,r=1.12])Node1329[a=-1.0,b=-1.0,x=-9.0,y=-14.0,r=0.96],((Node1561[a=-1.0,b=1.0,x=-11.0,y=-13.0,r=1.01],(((((((((((Node3467[a=-1.0,b=-1.0,x=-21.0,y=-23.0,r=1.38],Node3466[a=-1.0,b=1.0,x=-21.0,y=-21.0,r=1.08])Node3297[a=-1.0,b=-1.0,x=-20.0,y=-22.0,r=0.58],((Node3632[a=-1.0,b=-1.0,x=-22.0,y=-23.0,r=0.72])Node3465[a=-1.0,b=-1.0,x=-21.0,y=-22.0,r=0.82])Node3296[a=-1.0,b=0.0,x=-20.0,y=-21.0,r=1.32])Node3120[a=-1.0,b=-1.0,x=-19.0,y=-21.0,r=1.41])Node2781[a=-1.0,b=0.0,x=-18.0,y=-20.0,r=1.44])Node2615[a=-1.0,b=-1.0,x=-17.0,y=-20.0,r=1.47])Node2466[a=0.0,b=-1.0,x=-16.0,y=-19.0,r=0.68])Node2301[a=-1.0,b=-1.0,x=-16.0,y=-18.0,r=1.11])Node2146[a=-1.0,b=-1.0,x=-15.0,y=-17.0,r=1.11])Node1988[a=-1.0,b=-1.0,x=-14.0,y=-16.0,r=1.41])Node1840[a=-1.0,b=-1.0,x=-13.0,y=-15.0,r=1.09])Node1697[a=-1.0,b=1.0,x=-12.0,y=-14.0,r=0.82],((Node2145[a=0.0,b=-1.0,x=-13.0,y=-18.0,r=0.83],(Node2465[a=0.0,b=-1.0,x=-14.0,y=-19.0,r=0.51])Node2144[a=-1.0,b=-1.0,x=-14.0,y=-18.0,r=1.24])Node1987[a=-1.0,b=-1.0,x=-13.0,y=-17.0,r=1.26])Node1696[a=-1.0,b=-1.0,x=-12.0,y=-16.0,r=1.26])Node1560[a=-1.0,b=-1.0,x=-11.0,y=-15.0,r=1.29])Node1441[a=-1.0,b=-1.0,x=-10.0,y=-14.0,r=0.92])Node1328[a=-1.0,b=0.0,x=-9.0,y=-13.0,r=1.31])Node1224[a=-1.0,b=1.0,x=-8.0,y=-13.0,r=1.27])Node1127[a=-1.0,b=-1.0,x=-7.0,y=-14.0,r=1.27])Node1025[a=-1.0,b=-1.0,x=-6.0,y=-13.0,r=0.51])Node934[a=-1.0,b=0.0,x=-5.0,y=-12.0,r=1.11])Node752[a=-1.0,b=-1.0,x=-4.0,y=-12.0,r=0.71])Node677[a=-1.0,b=-1.0,x=-3.0,y=-11.0,r=0.87],(((((Node1126[a=-1.0,b=-1.0,x=-7.0,y=-13.0,r=0.98],(Node1327[a=-1.0,b=0.0,x=-8.0,y=-12.0,r=1.08])Node1125[a=-1.0,b=0.0,x=-7.0,y=-12.0,r=1.13])Node1024[a=-1.0,b=-1.0,x=-6.0,y=-12.0,r=1.22])Node933[a=-1.0,b=-1.0,x=-5.0,y=-11.0,r=1.24])Node835[a=0.0,b=1.0,x=-4.0,y=-10.0,r=1.49],Node834[a=-1.0,b=1.0,x=-5.0,y=-10.0,r=1.37])Node751[a=-1.0,b=-1.0,x=-4.0,y=-11.0,r=1.04])Node676[a=-1.0,b=0.0,x=-3.0,y=-10.0,r=1.39])Node607[a=-1.0,b=-1.0,x=-2.0,y=-10.0,r=1.1])Node537[a=-1.0,b=0.0,x=-1.0,y=-9.0,r=1.22])Node458[a=-1.0,b=-1.0,x=0.0,y=-9.0,r=0.88])Node392[a=0.0,b=-1.0,x=1.0,y=-8.0,r=1.16])Node329[a=-1.0,b=0.0,x=1.0,y=-7.0,r=0.76],Node328[a=1.0,b=-1.0,x=3.0,y=-8.0,r=1.21])Node274[a=-1.0,b=-1.0,x=2.0,y=-7.0,r=1.48])Node226[a=-1.0,b=-1.0,x=3.0,y=-6.0,r=0.89],(((((Node606[a=0.0,b=-1.0,x=1.0,y=-11.0,r=0.76],(Node675[a=0.0,b=-1.0,x=0.0,y=-12.0,r=1.21],((((((((((((Node2464[a=-1.0,b=0.0,x=-8.0,y=-21.0,r=1.34],(Node2614[a=-1.0,b=-1.0,x=-9.0,y=-21.0,r=0.52])Node2463[a=-1.0,b=1.0,x=-8.0,y=-20.0,r=0.51])Node2300[a=-1.0,b=0.0,x=-7.0,y=-21.0,r=1.14],(((((((Node3631[a=-1.0,b=-1.0,x=-10.0,y=-28.0,r=1.32],Node3630[a=1.0,b=-1.0,x=-8.0,y=-28.0,r=0.58])Node3464[a=1.0,b=-1.0,x=-9.0,y=-27.0,r=1.21])Node3295[a=0.0,b=-1.0,x=-10.0,y=-26.0,r=1.25])Node3119[a=0.0,b=-1.0,x=-10.0,y=-25.0,r=0.84],(Node3294[a=0.0,b=-1.0,x=-11.0,y=-26.0,r=0.88])Node3118[a=-1.0,b=-1.0,x=-11.0,y=-25.0,r=0.96])Node2948[a=-1.0,b=0.0,x=-10.0,y=-24.0,r=1.44])Node2780[a=-1.0,b=-1.0,x=-9.0,y=-24.0,r=0.79])Node2613[a=-1.0,b=-1.0,x=-8.0,y=-23.0,r=0.7],Node2612[a=1.0,b=-1.0,x=-6.0,y=-23.0,r=0.81])Node2299[a=-1.0,b=-1.0,x=-7.0,y=-22.0,r=0.56])Node2143[a=0.0,b=-1.0,x=-6.0,y=-21.0,r=0.98])Node1839[a=-1.0,b=-1.0,x=-6.0,y=-20.0,r=1.11])Node1695[a=0.0,b=-1.0,x=-5.0,y=-19.0,r=1.11])Node1440[a=-1.0,b=-1.0,x=-5.0,y=-18.0,r=0.94],Node1439[a=1.0,b=0.0,x=-3.0,y=-17.0,r=0.74])Node1326[a=0.0,b=-1.0,x=-4.0,y=-17.0,r=1.32])Node1223[a=1.0,b=-1.0,x=-4.0,y=-16.0,r=1.31])Node1023[a=-1.0,b=-1.0,x=-5.0,y=-15.0,r=0.8])Node932[a=-1.0,b=-1.0,x=-4.0,y=-14.0,r=1.25],Node931[a=-1.0,b=0.0,x=-4.0,y=-13.0,r=0.88])Node833[a=-1.0,b=0.0,x=-3.0,y=-13.0,r=0.88],(((((((((Node2611[a=1.0,b=-1.0,x=-9.0,y=-22.0,r=0.82],(Node2779[a=-1.0,b=-1.0,x=-12.0,y=-23.0,r=1.06])Node2610[a=-1.0,b=-1.0,x=-11.0,y=-22.0,r=0.94])Node2298[a=-1.0,b=-1.0,x=-10.0,y=-21.0,r=0.85])Node2142[a=0.0,b=-1.0,x=-9.0,y=-20.0,r=0.93],(((((Node3293[a=-1.0,b=-1.0,x=-12.0,y=-25.0,r=1.32])Node3117[a=0.0,b=-1.0,x=-11.0,y=-24.0,r=0.65],((Node3629[a=1.0,b=-1.0,x=-12.0,y=-26.0,r=1.19])Node3292[a=-1.0,b=-1.0,x=-13.0,y=-25.0,r=0.65])Node3116[a=-1.0,b=-1.0,x=-12.0,y=-24.0,r=0.84])Node2947[a=-1.0,b=-1.0,x=-11.0,y=-23.0,r=1.3])Node2778[a=1.0,b=-1.0,x=-10.0,y=-22.0,r=1.49])Node2462[a=-1.0,b=-1.0,x=-11.0,y=-21.0,r=0.52])Node2141[a=-1.0,b=-1.0,x=-10.0,y=-20.0,r=1.28])Node1838[a=-1.0,b=0.0,x=-9.0,y=-19.0,r=0.8])Node1694[a=-1.0,b=-1.0,x=-8.0,y=-19.0,r=0.72])Node1325[a=-1.0,b=-1.0,x=-7.0,y=-18.0,r=1.45],(Node1438[a=-1.0,b=1.0,x=-6.0,y=-16.0,r=1.02],((Node1986[a=-1.0,b=-1.0,x=-7.0,y=-20.0,r=1.0])Node1559[a=0.0,b=-1.0,x=-6.0,y=-19.0,r=1.45])Node1437[a=-1.0,b=-1.0,x=-6.0,y=-18.0,r=0.72])Node1324[a=1.0,b=0.0,x=-5.0,y=-17.0,r=1.3])Node1124[a=-1.0,b=-1.0,x=-6.0,y=-17.0,r=1.23])Node1022[a=-1.0,b=-1.0,x=-5.0,y=-16.0,r=0.86],((Node1222[a=-1.0,b=-1.0,x=-7.0,y=-15.0,r=1.13])Node1123[a=-1.0,b=0.0,x=-6.0,y=-14.0,r=0.7],((((((Node1985[a=1.0,b=-1.0,x=-7.0,y=-19.0,r=1.25])Node1837[a=-1.0,b=-1.0,x=-8.0,y=-18.0,r=1.1])Node1558[a=1.0,b=-1.0,x=-7.0,y=-17.0,r=1.2],((Node2140[a=-1.0,b=-1.0,x=-11.0,y=-19.0,r=1.47])Node1836[a=-1.0,b=-1.0,x=-10.0,y=-18.0,r=0.8])Node1557[a=-1.0,b=-1.0,x=-9.0,y=-17.0,r=1.24])Node1436[a=0.0,b=-1.0,x=-8.0,y=-16.0,r=1.04],(((Node1835[a=-1.0,b=1.0,x=-10.0,y=-17.0,r=0.74])Node1693[a=-1.0,b=-1.0,x=-9.0,y=-18.0,r=0.9])Node1556[a=1.0,b=-1.0,x=-8.0,y=-17.0,r=0.78])Node1435[a=-1.0,b=-1.0,x=-9.0,y=-16.0,r=1.09])Node1323[a=-1.0,b=1.0,x=-8.0,y=-15.0,r=1.48])Node1221[a=-1.0,b=-1.0,x=-7.0,y=-16.0,r=1.34])Node1122[a=-1.0,b=-1.0,x=-6.0,y=-15.0,r=1.01])Node1021[a=-1.0,b=1.0,x=-5.0,y=-14.0,r=1.06])Node930[a=-1.0,b=-1.0,x=-4.0,y=-15.0,r=1.01])Node832[a=-1.0,b=-1.0,x=-3.0,y=-14.0,r=0.81])Node750[a=-1.0,b=-1.0,x=-2.0,y=-13.0,r=1.18],((((((Node1322[a=-1.0,b=-1.0,x=-2.0,y=-18.0,r=1.3])Node1220[a=1.0,b=0.0,x=-1.0,y=-17.0,r=0.72])Node1121[a=0.0,b=-1.0,x=-2.0,y=-17.0,r=0.75])Node1020[a=1.0,b=-1.0,x=-2.0,y=-16.0,r=1.46])Node929[a=-1.0,b=-1.0,x=-3.0,y=-15.0,r=1.24])Node831[a=-1.0,b=-1.0,x=-2.0,y=-14.0,r=0.77])Node749[a=0.0,b=-1.0,x=-1.0,y=-13.0,r=0.85])Node674[a=-1.0,b=-1.0,x=-1.0,y=-12.0,r=1.05])Node605[a=-1.0,b=-1.0,x=0.0,y=-11.0,r=1.24])Node536[a=-1.0,b=-1.0,x=1.0,y=-10.0,r=1.42])Node457[a=0.0,b=-1.0,x=2.0,y=-9.0,r=1.4])Node327[a=-1.0,b=-1.0,x=2.0,y=-8.0,r=0.78])Node273[a=-1.0,b=-1.0,x=3.0,y=-7.0,r=0.74])Node225[a=0.0,b=-1.0,x=4.0,y=-6.0,r=0.9])Node178[a=-1.0,b=0.0,x=4.0,y=-5.0,r=0.59],(((Node391[a=-1.0,b=-1.0,x=3.0,y=-9.0,r=0.53])Node272[a=0.0,b=-1.0,x=4.0,y=-8.0,r=1.07])Node224[a=-1.0,b=-1.0,x=4.0,y=-7.0,r=1.05],((((((((((Node1321[a=-1.0,b=-1.0,x=-3.0,y=-16.0,r=1.48])Node928[a=-1.0,b=-1.0,x=-2.0,y=-15.0,r=1.32])Node830[a=-1.0,b=-1.0,x=-1.0,y=-14.0,r=1.19])Node748[a=-1.0,b=-1.0,x=0.0,y=-13.0,r=1.25],((Node927[a=-1.0,b=-1.0,x=-1.0,y=-15.0,r=0.59])Node829[a=-1.0,b=-1.0,x=0.0,y=-14.0,r=1.22])Node747[a=0.0,b=-1.0,x=1.0,y=-13.0,r=1.42])Node604[a=-1.0,b=-1.0,x=1.0,y=-12.0,r=0.82],((Node746[a=-1.0,b=-1.0,x=1.0,y=-14.0,r=1.14],(((((Node1320[a=1.0,b=1.0,x=2.0,y=-16.0,r=0.54],(Node1434[a=-1.0,b=-1.0,x=1.0,y=-19.0,r=0.74],((((((Node2297[a=1.0,b=-1.0,x=5.0,y=-25.0,r=1.1])Node2139[a=1.0,b=-1.0,x=4.0,y=-24.0,r=1.47],(((((Node3291[a=0.0,b=-1.0,x=2.0,y=-29.0,r=1.31],(Node3463[a=0.0,b=-1.0,x=3.0,y=-30.0,r=1.31])Node3290[a=1.0,b=-1.0,x=3.0,y=-29.0,r=1.06])Node3115[a=1.0,b=-1.0,x=2.0,y=-28.0,r=0.64])Node2609[a=0.0,b=-1.0,x=1.0,y=-27.0,r=0.51],(((Node3462[a=-1.0,b=-1.0,x=-3.0,y=-30.0,r=1.26])Node2946[a=-1.0,b=-1.0,x=-2.0,y=-29.0,r=0.69],((((Node3628[a=1.0,b=-1.0,x=4.0,y=-32.0,r=0.6],Node3627[a=-1.0,b=0.0,x=2.0,y=-31.0,r=0.98])Node3461[a=1.0,b=-1.0,x=3.0,y=-31.0,r=0.7],Node3460[a=-1.0,b=-1.0,x=1.0,y=-31.0,r=1.4])Node3289[a=1.0,b=0.0,x=2.0,y=-30.0,r=1.1])Node3114[a=1.0,b=-1.0,x=1.0,y=-30.0,r=0.57],((Node3626[a=0.0,b=-1.0,x=0.0,y=-31.0,r=1.17])Node3288[a=1.0,b=-1.0,x=0.0,y=-30.0,r=0.8],Node3287[a=0.0,b=-1.0,x=-1.0,y=-30.0,r=1.4])Node3113[a=-1.0,b=0.0,x=-1.0,y=-29.0,r=1.41])Node2945[a=1.0,b=-1.0,x=0.0,y=-29.0,r=0.65])Node2777[a=-1.0,b=-1.0,x=-1.0,y=-28.0,r=0.61],((Node3286[a=1.0,b=-1.0,x=1.0,y=-29.0,r=1.11])Node2944[a=-1.0,b=0.0,x=0.0,y=-28.0,r=1.36])Node2776[a=1.0,b=-1.0,x=1.0,y=-28.0,r=0.77])Node2608[a=-1.0,b=-1.0,x=0.0,y=-27.0,r=0.66])Node2461[a=0.0,b=-1.0,x=1.0,y=-26.0,r=1.04])Node2296[a=-1.0,b=-1.0,x=1.0,y=-25.0,r=0.8],((((Node3459[a=1.0,b=-1.0,x=4.0,y=-29.0,r=1.26])Node3285[a=1.0,b=-1.0,x=3.0,y=-28.0,r=1.37])Node2607[a=-1.0,b=-1.0,x=2.0,y=-27.0,r=0.62])Node2460[a=0.0,b=-1.0,x=3.0,y=-26.0,r=1.47],((Node3284[a=1.0,b=-1.0,x=4.0,y=-28.0,r=0.77])Node3112[a=1.0,b=-1.0,x=3.0,y=-27.0,r=1.31])Node2459[a=-1.0,b=-1.0,x=2.0,y=-26.0,r=0.88])Node2295[a=1.0,b=-1.0,x=3.0,y=-25.0,r=0.56])Node2138[a=-1.0,b=-1.0,x=2.0,y=-24.0,r=1.14])Node1984[a=1.0,b=-1.0,x=3.0,y=-23.0,r=1.33],(((((Node2775[a=1.0,b=1.0,x=5.0,y=-26.0,r=0.52],Node2774[a=1.0,b=0.0,x=5.0,y=-27.0,r=1.35])Node2606[a=0.0,b=-1.0,x=4.0,y=-27.0,r=0.98])Node2458[a=0.0,b=-1.0,x=4.0,y=-26.0,r=0.99])Node2294[a=1.0,b=-1.0,x=4.0,y=-25.0,r=1.3])Node2137[a=1.0,b=-1.0,x=3.0,y=-24.0,r=1.41],(Node2293[a=1.0,b=-1.0,x=2.0,y=-25.0,r=0.56])Node2136[a=-1.0,b=-1.0,x=1.0,y=-24.0,r=1.2])Node1983[a=0.0,b=-1.0,x=2.0,y=-23.0,r=1.12])Node1834[a=0.0,b=-1.0,x=2.0,y=-22.0,r=0.51],(Node1982[a=-1.0,b=-1.0,x=0.0,y=-23.0,r=1.49],(((((((((Node3625[a=-1.0,b=-1.0,x=-6.0,y=-31.0,r=0.98],Node3624[a=1.0,b=-1.0,x=-4.0,y=-31.0,r=1.28])Node3458[a=-1.0,b=-1.0,x=-5.0,y=-30.0,r=0.79])Node3283[a=0.0,b=-1.0,x=-4.0,y=-29.0,r=1.27])Node3111[a=0.0,b=-1.0,x=-4.0,y=-28.0,r=1.15])Node2943[a=-1.0,b=-1.0,x=-4.0,y=-27.0,r=1.42])Node2773[a=-1.0,b=-1.0,x=-3.0,y=-26.0,r=1.35])Node2605[a=-1.0,b=-1.0,x=-2.0,y=-25.0,r=1.17])Node2457[a=-1.0,b=0.0,x=-1.0,y=-24.0,r=1.45],((Node2772[a=-1.0,b=-1.0,x=-1.0,y=-27.0,r=0.74])Node2604[a=0.0,b=-1.0,x=0.0,y=-26.0,r=1.05],(((Node3282[a=0.0,b=-1.0,x=-3.0,y=-28.0,r=1.12])Node2942[a=-1.0,b=0.0,x=-3.0,y=-27.0,r=0.77],(Node3281[a=-1.0,b=-1.0,x=-3.0,y=-29.0,r=1.11])Node2941[a=0.0,b=-1.0,x=-2.0,y=-28.0,r=0.61])Node2771[a=-1.0,b=-1.0,x=-2.0,y=-27.0,r=1.34])Node2603[a=-1.0,b=-1.0,x=-1.0,y=-26.0,r=1.42])Node2456[a=0.0,b=-1.0,x=0.0,y=-25.0,r=1.37])Node2292[a=-1.0,b=-1.0,x=0.0,y=-24.0,r=1.32])Node1981[a=0.0,b=-1.0,x=1.0,y=-23.0,r=0.97])Node1833[a=-1.0,b=-1.0,x=1.0,y=-22.0,r=1.11])Node1692[a=0.0,b=-1.0,x=2.0,y=-21.0,r=0.9])Node1555[a=-1.0,b=-1.0,x=2.0,y=-20.0,r=1.08],Node1554[a=0.0,b=-1.0,x=3.0,y=-20.0,r=0.74])Node1433[a=1.0,b=-1.0,x=3.0,y=-19.0,r=1.31])Node1319[a=1.0,b=-1.0,x=2.0,y=-18.0,r=1.2])Node1219[a=1.0,b=-1.0,x=1.0,y=-17.0,r=0.6])Node1120[a=0.0,b=-1.0,x=0.0,y=-16.0,r=1.26],Node1119[a=-1.0,b=-1.0,x=-1.0,y=-16.0,r=0.81])Node926[a=-1.0,b=0.0,x=0.0,y=-15.0,r=1.34],((Node1318[a=0.0,b=-1.0,x=0.0,y=-18.0,r=0.63],((((Node1832[a=-1.0,b=1.0,x=-3.0,y=-20.0,r=1.04])Node1691[a=0.0,b=-1.0,x=-2.0,y=-21.0,r=1.17],(((Node2455[a=-1.0,b=-1.0,x=-4.0,y=-24.0,r=0.76],(Node2770[a=1.0,b=-1.0,x=-1.0,y=-25.0,r=0.58])Node2454[a=1.0,b=-1.0,x=-2.0,y=-24.0,r=0.74])Node2291[a=1.0,b=-1.0,x=-3.0,y=-23.0,r=1.47])Node1980[a=-1.0,b=-1.0,x=-4.0,y=-22.0,r=0.68])Node1690[a=-1.0,b=-1.0,x=-3.0,y=-21.0,r=0.79])Node1553[a=-1.0,b=-1.0,x=-2.0,y=-20.0,r=1.29])Node1432[a=0.0,b=-1.0,x=-1.0,y=-19.0,r=0.55],(((Node1831[a=-1.0,b=-1.0,x=-5.0,y=-20.0,r=0.79])Node1689[a=-1.0,b=-1.0,x=-4.0,y=-19.0,r=1.23])Node1552[a=-1.0,b=1.0,x=-3.0,y=-18.0,r=1.26],(Node1688[a=-1.0,b=1.0,x=-4.0,y=-18.0,r=1.31],((((((Node2940[a=-1.0,b=0.0,x=-10.0,y=-23.0,r=0.88])Node2769[a=-1.0,b=-1.0,x=-9.0,y=-23.0,r=0.74])Node2453[a=-1.0,b=1.0,x=-8.0,y=-22.0,r=0.55])Node2290[a=-1.0,b=-1.0,x=-7.0,y=-23.0,r=1.42])Node1979[a=-1.0,b=-1.0,x=-6.0,y=-22.0,r=1.12])Node1830[a=-1.0,b=-1.0,x=-5.0,y=-21.0,r=0.56],(((((Node2939[a=1.0,b=-1.0,x=-2.0,y=-26.0,r=1.05])Node2768[a=0.0,b=-1.0,x=-3.0,y=-25.0,r=1.36])Node2602[a=1.0,b=-1.0,x=-3.0,y=-24.0,r=0.61])Node2289[a=1.0,b=-1.0,x=-4.0,y=-23.0,r=1.07],(((Node3280[a=0.0,b=-1.0,x=-6.0,y=-26.0,r=1.3],Node3279[a=-1.0,b=-1.0,x=-7.0,y=-26.0,r=1.28])Node2767[a=-1.0,b=-1.0,x=-6.0,y=-25.0,r=1.44])Node2452[a=0.0,b=-1.0,x=-5.0,y=-24.0,r=1.41],(((Node3110[a=-1.0,b=-1.0,x=-9.0,y=-25.0,r=0.63])Node2766[a=-1.0,b=1.0,x=-8.0,y=-24.0,r=0.57],((((Node3623[a=-1.0,b=-1.0,x=-9.0,y=-28.0,r=1.49])Node3457[a=1.0,b=-1.0,x=-8.0,y=-27.0,r=0.79],Node3456[a=1.0,b=0.0,x=-8.0,y=-26.0,r=1.19])Node3278[a=-1.0,b=-1.0,x=-9.0,y=-26.0,r=1.41])Node2938[a=-1.0,b=-1.0,x=-8.0,y=-25.0,r=0.95])Node2765[a=0.0,b=1.0,x=-7.0,y=-24.0,r=0.82])Node2601[a=-1.0,b=-1.0,x=-7.0,y=-25.0,r=1.02],((((Node3455[a=-1.0,b=0.0,x=-7.0,y=-27.0,r=0.75],Node3454[a=-1.0,b=-1.0,x=-7.0,y=-28.0,r=1.48])Node3277[a=-1.0,b=-1.0,x=-6.0,y=-27.0,r=0.99])Node2937[a=-1.0,b=-1.0,x=-5.0,y=-26.0,r=0.6],(((Node3622[a=-1.0,b=-1.0,x=-7.0,y=-29.0,r=0.91])Node3453[a=-1.0,b=-1.0,x=-6.0,y=-28.0,r=0.99],(Node3621[a=0.0,b=-1.0,x=-5.0,y=-29.0,r=1.04],Node3620[a=-1.0,b=-1.0,x=-6.0,y=-29.0,r=1.31])Node3452[a=0.0,b=-1.0,x=-5.0,y=-28.0,r=1.07])Node3109[a=-1.0,b=-1.0,x=-5.0,y=-27.0,r=0.69])Node2936[a=0.0,b=-1.0,x=-4.0,y=-26.0,r=0.78])Node2764[a=1.0,b=0.0,x=-4.0,y=-25.0,r=1.31])Node2600[a=1.0,b=-1.0,x=-5.0,y=-25.0,r=1.3])Node2451[a=-1.0,b=-1.0,x=-6.0,y=-24.0,r=1.47])Node2288[a=0.0,b=-1.0,x=-5.0,y=-23.0,r=0.63])Node2135[a=-1.0,b=-1.0,x=-5.0,y=-22.0,r=0.53],Node2134[a=1.0,b=-1.0,x=-3.0,y=-22.0,r=0.75])Node1829[a=0.0,b=-1.0,x=-4.0,y=-21.0,r=0.74])Node1687[a=-1.0,b=-1.0,x=-4.0,y=-20.0,r=1.45])Node1551[a=-1.0,b=0.0,x=-3.0,y=-19.0,r=1.36])Node1431[a=-1.0,b=-1.0,x=-2.0,y=-19.0,r=0.94])Node1317[a=-1.0,b=-1.0,x=-1.0,y=-18.0,r=0.54])Node1218[a=-1.0,b=-1.0,x=0.0,y=-17.0,r=1.47],(((Node1550[a=0.0,b=-1.0,x=0.0,y=-20.0,r=0.8],(((Node2287[a=-1.0,b=0.0,x=-2.0,y=-22.0,r=0.93])Node1978[a=-1.0,b=-1.0,x=-1.0,y=-22.0,r=1.43])Node1686[a=1.0,b=-1.0,x=0.0,y=-21.0,r=1.22],(((Node2286[a=-1.0,b=0.0,x=-2.0,y=-23.0,r=0.96])Node2133[a=-1.0,b=-1.0,x=-1.0,y=-23.0,r=1.06])Node1977[a=1.0,b=-1.0,x=0.0,y=-22.0,r=1.45])Node1685[a=0.0,b=-1.0,x=-1.0,y=-21.0,r=1.13])Node1549[a=-1.0,b=-1.0,x=-1.0,y=-20.0,r=0.86])Node1430[a=-1.0,b=-1.0,x=0.0,y=-19.0,r=1.12],((Node1828[a=0.0,b=-1.0,x=1.0,y=-21.0,r=0.81])Node1548[a=-1.0,b=-1.0,x=1.0,y=-20.0,r=0.74])Node1429[a=1.0,b=-1.0,x=2.0,y=-19.0,r=0.84])Node1316[a=-1.0,b=-1.0,x=1.0,y=-18.0,r=0.75])Node1217[a=1.0,b=-1.0,x=2.0,y=-17.0,r=0.61])Node925[a=0.0,b=-1.0,x=1.0,y=-16.0,r=1.34])Node828[a=-1.0,b=-1.0,x=1.0,y=-15.0,r=1.26])Node745[a=0.0,b=-1.0,x=2.0,y=-14.0,r=1.15])Node673[a=-1.0,b=-1.0,x=2.0,y=-13.0,r=1.39])Node603[a=1.0,b=-1.0,x=3.0,y=-12.0,r=0.54])Node535[a=-1.0,b=-1.0,x=2.0,y=-11.0,r=1.38],Node534[a=-1.0,b=0.0,x=2.0,y=-10.0,r=1.12])Node456[a=-1.0,b=-1.0,x=3.0,y=-10.0,r=0.64])Node390[a=-1.0,b=-1.0,x=4.0,y=-9.0,r=0.5])Node326[a=-1.0,b=-1.0,x=5.0,y=-8.0,r=0.72],((((Node672[a=-1.0,b=-1.0,x=2.0,y=-12.0,r=0.71])Node533[a=-1.0,b=-1.0,x=3.0,y=-11.0,r=0.86])Node455[a=-1.0,b=-1.0,x=4.0,y=-10.0,r=0.55])Node389[a=-1.0,b=-1.0,x=5.0,y=-9.0,r=0.76])Node325[a=0.0,b=-1.0,x=6.0,y=-8.0,r=1.4])Node271[a=1.0,b=0.0,x=6.0,y=-7.0,r=1.37])Node223[a=0.0,b=-1.0,x=5.0,y=-7.0,r=0.72])Node177[a=0.0,b=-1.0,x=5.0,y=-6.0,r=1.11])Node120[a=0.0,b=-1.0,x=5.0,y=-5.0,r=0.92])Node99[a=-1.0,b=-1.0,x=5.0,y=-4.0,r=1.1])Node84[a=0.0,b=-1.0,x=6.0,y=-3.0,r=0.83])Node69[a=1.0,b=-1.0,x=6.0,y=-2.0,r=1.14])Node55[a=1.0,b=0.0,x=5.0,y=-1.0,r=1.09])Node43[a=0.0,b=-1.0,x=4.0,y=-1.0,r=1.44])Node24[a=1.0,b=0.0,x=4.0,y=0.0,r=1.07],(((((((Node324[a=-1.0,b=0.0,x=-1.0,y=-5.0,r=1.36])Node270[a=-1.0,b=-1.0,x=0.0,y=-5.0,r=1.22],((Node388[a=-1.0,b=0.0,x=0.0,y=-6.0,r=1.18],((((Node671[a=-1.0,b=0.0,x=-3.0,y=-9.0,r=0.88])Node602[a=0.0,b=-1.0,x=-2.0,y=-9.0,r=1.25])Node532[a=-1.0,b=-1.0,x=-2.0,y=-8.0,r=0.61],Node531[a=0.0,b=-1.0,x=-1.0,y=-8.0,r=0.51])Node454[a=-1.0,b=0.0,x=-1.0,y=-7.0,r=1.03],Node453[a=-1.0,b=1.0,x=-1.0,y=-6.0,r=0.84])Node387[a=-1.0,b=-1.0,x=0.0,y=-7.0,r=0.66])Node323[a=0.0,b=-1.0,x=1.0,y=-6.0,r=0.79])Node269[a=0.0,b=-1.0,x=1.0,y=-5.0,r=1.41])Node222[a=0.0,b=-1.0,x=1.0,y=-4.0,r=0.75],(((Node452[a=-1.0,b=-1.0,x=-3.0,y=-6.0,r=1.2],((Node601[a=-1.0,b=-1.0,x=-3.0,y=-8.0,r=0.99])Node530[a=0.0,b=-1.0,x=-2.0,y=-7.0,r=1.4],(Node744[a=-1.0,b=-1.0,x=-4.0,y=-8.0,r=0.85])Node529[a=-1.0,b=-1.0,x=-3.0,y=-7.0,r=0.7])Node451[a=0.0,b=-1.0,x=-2.0,y=-6.0,r=1.34])Node386[a=-1.0,b=-1.0,x=-2.0,y=-5.0,r=1.1])Node322[a=-1.0,b=0.0,x=-1.0,y=-4.0,r=0.96],Node321[a=0.0,b=1.0,x=0.0,y=-3.0,r=1.48])Node221[a=-1.0,b=-1.0,x=0.0,y=-4.0,r=0.68])Node176[a=-1.0,b=-1.0,x=1.0,y=-3.0,r=1.17])Node119[a=-1.0,b=0.0,x=2.0,y=-2.0,r=0.88])Node68[a=1.0,b=-1.0,x=3.0,y=-2.0,r=1.39])Node54[a=-1.0,b=0.0,x=2.0,y=-1.0,r=0.74])Node23[a=0.0,b=-1.0,x=3.0,y=-1.0,r=0.7])Node14[a=1.0,b=0.0,x=3.0,y=0.0,r=1.38])Node8[a=1.0,b=-1.0,x=2.0,y=0.0,r=1.44])Node6[a=1.0,b=0.0,x=1.0,y=1.0,r=1.11],((((((((((Node220[a=1.0,b=1.0,x=2.0,y=12.0,r=1.42])Node175[a=0.0,b=1.0,x=1.0,y=11.0,r=0.59])Node147[a=0.0,b=1.0,x=1.0,y=10.0,r=1.12],((((((Node450[a=1.0,b=1.0,x=5.0,y=16.0,r=1.35])Node385[a=1.0,b=1.0,x=4.0,y=15.0,r=0.96],((((((((((Node1547[a=-1.0,b=0.0,x=4.0,y=23.0,r=0.59],((Node1976[a=1.0,b=0.0,x=7.0,y=25.0,r=0.83])Node1827[a=1.0,b=1.0,x=6.0,y=25.0,r=0.95])Node1546[a=0.0,b=1.0,x=5.0,y=24.0,r=1.5])Node1428[a=-1.0,b=0.0,x=5.0,y=23.0,r=1.44])Node1118[a=1.0,b=1.0,x=6.0,y=23.0,r=0.75])Node1019[a=1.0,b=1.0,x=5.0,y=22.0,r=1.13])Node827[a=0.0,b=1.0,x=4.0,y=21.0,r=0.69],((((Node1427[a=-1.0,b=1.0,x=0.0,y=24.0,r=1.23],((((Node2285[a=1.0,b=1.0,x=6.0,y=28.0,r=0.81])Node1975[a=1.0,b=1.0,x=5.0,y=27.0,r=1.38])Node1826[a=1.0,b=1.0,x=4.0,y=26.0,r=1.25])Node1545[a=1.0,b=1.0,x=3.0,y=25.0,r=1.41],((((((Node2450[a=0.0,b=1.0,x=2.0,y=30.0,r=1.35])Node2284[a=-1.0,b=1.0,x=2.0,y=29.0,r=1.05])Node2132[a=-1.0,b=0.0,x=3.0,y=28.0,r=1.18],(((Node2599[a=-1.0,b=1.0,x=2.0,y=31.0,r=0.78])Node2449[a=-1.0,b=1.0,x=3.0,y=30.0,r=1.46])Node2283[a=1.0,b=0.0,x=4.0,y=29.0,r=1.33])Node2131[a=-1.0,b=1.0,x=3.0,y=29.0,r=0.78])Node1974[a=1.0,b=1.0,x=4.0,y=28.0,r=1.12])Node1825[a=0.0,b=1.0,x=3.0,y=27.0,r=1.42])Node1684[a=1.0,b=1.0,x=3.0,y=26.0,r=1.31])Node1544[a=0.0,b=1.0,x=2.0,y=25.0,r=1.1])Node1426[a=1.0,b=1.0,x=2.0,y=24.0,r=1.45])Node1315[a=-1.0,b=1.0,x=1.0,y=23.0,r=0.95])Node1018[a=-1.0,b=0.0,x=2.0,y=22.0,r=1.35])Node924[a=0.0,b=1.0,x=3.0,y=22.0,r=0.62],((((Node1824[a=0.0,b=1.0,x=4.0,y=25.0,r=0.54])Node1683[a=1.0,b=0.0,x=4.0,y=24.0,r=1.0])Node1314[a=0.0,b=1.0,x=3.0,y=24.0,r=0.71])Node1017[a=-1.0,b=1.0,x=3.0,y=23.0,r=0.85])Node923[a=1.0,b=1.0,x=4.0,y=22.0,r=1.14])Node826[a=-1.0,b=1.0,x=3.0,y=21.0,r=0.92])Node743[a=0.0,b=1.0,x=4.0,y=20.0,r=0.58])Node670[a=-1.0,b=1.0,x=4.0,y=19.0,r=0.84],((((Node1016[a=1.0,b=1.0,x=7.0,y=22.0,r=0.67],((((((Node1973[a=1.0,b=0.0,x=6.0,y=26.0,r=0.79],(((((Node2763[a=0.0,b=1.0,x=3.0,y=32.0,r=0.54])Node2598[a=-1.0,b=1.0,x=3.0,y=31.0,r=0.99])Node2448[a=-1.0,b=1.0,x=4.0,y=30.0,r=0.64],(Node2597[a=-1.0,b=1.0,x=4.0,y=31.0,r=1.3])Node2447[a=0.0,b=1.0,x=5.0,y=30.0,r=1.1])Node2282[a=0.0,b=1.0,x=5.0,y=29.0,r=0.85],Node2281[a=-1.0,b=-1.0,x=4.0,y=27.0,r=0.78])Node2130[a=-1.0,b=1.0,x=5.0,y=28.0,r=1.14],Node2129[a=1.0,b=-1.0,x=7.0,y=26.0,r=0.68])Node1972[a=1.0,b=1.0,x=6.0,y=27.0,r=1.01])Node1823[a=0.0,b=1.0,x=5.0,y=26.0,r=0.84])Node1682[a=-1.0,b=1.0,x=5.0,y=25.0,r=0.66])Node1313[a=-1.0,b=0.0,x=6.0,y=24.0,r=0.73])Node1216[a=0.0,b=1.0,x=7.0,y=24.0,r=0.56])Node1117[a=1.0,b=1.0,x=7.0,y=23.0,r=0.58])Node1015[a=0.0,b=1.0,x=6.0,y=22.0,r=1.37])Node922[a=0.0,b=1.0,x=6.0,y=21.0,r=0.53],Node921[a=-1.0,b=1.0,x=5.0,y=21.0,r=1.49])Node825[a=1.0,b=0.0,x=6.0,y=20.0,r=0.88])Node742[a=-1.0,b=1.0,x=5.0,y=20.0,r=0.57])Node669[a=1.0,b=1.0,x=6.0,y=19.0,r=1.48])Node600[a=0.0,b=1.0,x=5.0,y=18.0,r=1.24],((((Node1312[a=1.0,b=0.0,x=9.0,y=21.0,r=0.58])Node1014[a=1.0,b=1.0,x=8.0,y=21.0,r=1.0],(((((((((Node2446[a=1.0,b=1.0,x=11.0,y=30.0,r=1.09])Node2280[a=-1.0,b=1.0,x=10.0,y=29.0,r=0.83],((((((Node3619[a=1.0,b=1.0,x=13.0,y=35.0,r=0.72])Node3276[a=-1.0,b=1.0,x=12.0,y=34.0,r=1.35])Node3108[a=1.0,b=1.0,x=13.0,y=33.0,r=0.54])Node2935[a=1.0,b=1.0,x=12.0,y=32.0,r=1.04],(Node3107[a=1.0,b=1.0,x=11.0,y=33.0,r=1.37],Node3106[a=0.0,b=1.0,x=10.0,y=33.0,r=1.28])Node2934[a=-1.0,b=1.0,x=10.0,y=32.0,r=1.03])Node2596[a=1.0,b=1.0,x=11.0,y=31.0,r=0.92])Node2445[a=-1.0,b=1.0,x=10.0,y=30.0,r=0.95],((((((Node3451[a=-1.0,b=1.0,x=13.0,y=34.0,r=1.02],(Node3618[a=-1.0,b=1.0,x=14.0,y=35.0,r=1.33])Node3450[a=1.0,b=1.0,x=15.0,y=34.0,r=0.76])Node3275[a=1.0,b=1.0,x=14.0,y=33.0,r=1.15])Node3105[a=-1.0,b=1.0,x=13.0,y=32.0,r=0.74])Node2933[a=1.0,b=1.0,x=14.0,y=31.0,r=0.95])Node2762[a=1.0,b=-1.0,x=13.0,y=30.0,r=1.4])Node2595[a=0.0,b=1.0,x=12.0,y=31.0,r=0.85])Node2444[a=1.0,b=1.0,x=12.0,y=30.0,r=0.54])Node2279[a=0.0,b=1.0,x=11.0,y=29.0,r=1.17])Node2128[a=0.0,b=1.0,x=11.0,y=28.0,r=1.2])Node1971[a=1.0,b=1.0,x=11.0,y=27.0,r=0.9])Node1681[a=1.0,b=1.0,x=10.0,y=26.0,r=0.89])Node1543[a=1.0,b=1.0,x=9.0,y=25.0,r=1.33],((((Node2443[a=1.0,b=1.0,x=9.0,y=29.0,r=0.99])Node2278[a=1.0,b=1.0,x=8.0,y=28.0,r=1.33])Node2127[a=-1.0,b=1.0,x=7.0,y=27.0,r=1.07])Node1680[a=0.0,b=1.0,x=8.0,y=26.0,r=0.58])Node1542[a=0.0,b=1.0,x=8.0,y=25.0,r=0.7])Node1425[a=0.0,b=1.0,x=8.0,y=24.0,r=0.71],(((((((((Node2932[a=0.0,b=-1.0,x=15.0,y=29.0,r=1.28],(Node3104[a=-1.0,b=1.0,x=13.0,y=31.0,r=1.0])Node2931[a=-1.0,b=0.0,x=14.0,y=30.0,r=0.59])Node2761[a=1.0,b=1.0,x=15.0,y=30.0,r=1.47])Node2594[a=1.0,b=1.0,x=14.0,y=29.0,r=0.83],Node2593[a=-1.0,b=1.0,x=12.0,y=29.0,r=1.04])Node2442[a=1.0,b=1.0,x=13.0,y=28.0,r=0.75])Node2277[a=1.0,b=1.0,x=12.0,y=27.0,r=1.3])Node1970[a=-1.0,b=0.0,x=11.0,y=26.0,r=0.52])Node1822[a=1.0,b=1.0,x=12.0,y=26.0,r=0.97])Node1679[a=1.0,b=0.0,x=11.0,y=25.0,r=0.68],(Node1821[a=1.0,b=1.0,x=10.0,y=27.0,r=0.71],((Node2126[a=0.0,b=1.0,x=9.0,y=28.0,r=0.71],Node2125[a=1.0,b=1.0,x=10.0,y=28.0,r=1.43])Node1969[a=1.0,b=0.0,x=9.0,y=27.0,r=1.04],(((((((((Node3617[a=-1.0,b=1.0,x=7.0,y=37.0,r=0.83])Node3449[a=0.0,b=1.0,x=8.0,y=36.0,r=0.71])Node3274[a=-1.0,b=1.0,x=8.0,y=35.0,r=1.27],(Node3448[a=0.0,b=1.0,x=10.0,y=35.0,r=0.6],(Node3616[a=0.0,b=1.0,x=9.0,y=36.0,r=1.05],Node3615[a=1.0,b=1.0,x=10.0,y=36.0,r=1.38])Node3447[a=-1.0,b=1.0,x=9.0,y=35.0,r=1.11])Node3273[a=1.0,b=0.0,x=10.0,y=34.0,r=1.16])Node3103[a=0.0,b=1.0,x=9.0,y=34.0,r=1.48])Node2930[a=1.0,b=1.0,x=9.0,y=33.0,r=0.91])Node2592[a=-1.0,b=1.0,x=8.0,y=32.0,r=0.82],(Node2929[a=-1.0,b=1.0,x=9.0,y=32.0,r=0.93],(((Node3614[a=0.0,b=1.0,x=11.0,y=35.0,r=0.81])Node3272[a=-1.0,b=1.0,x=11.0,y=34.0,r=1.3])Node3102[a=1.0,b=1.0,x=12.0,y=33.0,r=1.23])Node2928[a=1.0,b=1.0,x=11.0,y=32.0,r=0.84])Node2591[a=1.0,b=0.0,x=10.0,y=31.0,r=0.68])Node2441[a=0.0,b=1.0,x=9.0,y=31.0,r=1.31])Node2276[a=1.0,b=1.0,x=9.0,y=30.0,r=0.57])Node2124[a=1.0,b=1.0,x=8.0,y=29.0,r=0.71],((Node2440[a=1.0,b=1.0,x=8.0,y=30.0,r=1.4],((((((Node3613[a=0.0,b=1.0,x=3.0,y=36.0,r=0.63])Node3446[a=-1.0,b=1.0,x=3.0,y=35.0,r=1.2])Node3271[a=-1.0,b=1.0,x=4.0,y=34.0,r=1.17])Node2927[a=0.0,b=1.0,x=5.0,y=33.0,r=0.84])Node2760[a=-1.0,b=1.0,x=5.0,y=32.0,r=1.26])Node2590[a=0.0,b=1.0,x=6.0,y=31.0,r=1.31],((Node2926[a=0.0,b=1.0,x=4.0,y=33.0,r=1.09])Node2759[a=-1.0,b=1.0,x=4.0,y=32.0,r=0.98],((Node3101[a=0.0,b=1.0,x=6.0,y=34.0,r=1.24],Node3100[a=-1.0,b=1.0,x=5.0,y=34.0,r=0.68])Node2925[a=0.0,b=1.0,x=6.0,y=33.0,r=1.44])Node2758[a=1.0,b=1.0,x=6.0,y=32.0,r=0.62])Node2589[a=-1.0,b=1.0,x=5.0,y=31.0,r=0.97])Node2439[a=-1.0,b=1.0,x=6.0,y=30.0,r=1.5])Node2275[a=1.0,b=0.0,x=7.0,y=29.0,r=0.9],((((Node3270[a=0.0,b=1.0,x=8.0,y=34.0,r=0.71])Node2924[a=1.0,b=1.0,x=8.0,y=33.0,r=0.57],((((Node3612[a=-1.0,b=0.0,x=5.0,y=35.0,r=1.42],Node3611[a=1.0,b=1.0,x=7.0,y=36.0,r=0.61])Node3445[a=-1.0,b=0.0,x=6.0,y=35.0,r=1.14])Node3269[a=0.0,b=1.0,x=7.0,y=35.0,r=1.32])Node3099[a=0.0,b=1.0,x=7.0,y=34.0,r=0.63])Node2923[a=0.0,b=1.0,x=7.0,y=33.0,r=1.37])Node2757[a=-1.0,b=1.0,x=7.0,y=32.0,r=1.42],Node2756[a=-1.0,b=0.0,x=7.0,y=31.0,r=1.41])Node2438[a=1.0,b=1.0,x=8.0,y=31.0,r=0.85])Node2274[a=1.0,b=1.0,x=7.0,y=30.0,r=0.53])Node2123[a=-1.0,b=1.0,x=6.0,y=29.0,r=0.53])Node1968[a=-1.0,b=1.0,x=7.0,y=28.0,r=0.97])Node1820[a=-1.0,b=1.0,x=8.0,y=27.0,r=1.37])Node1678[a=-1.0,b=1.0,x=9.0,y=26.0,r=1.35])Node1541[a=1.0,b=1.0,x=10.0,y=25.0,r=0.77])Node1424[a=1.0,b=1.0,x=9.0,y=24.0,r=0.57])Node1215[a=0.0,b=1.0,x=8.0,y=23.0,r=1.5],(((Node1540[a=0.0,b=1.0,x=10.0,y=24.0,r=0.86])Node1423[a=0.0,b=1.0,x=10.0,y=23.0,r=0.94],Node1422[a=-1.0,b=1.0,x=9.0,y=23.0,r=0.79])Node1311[a=1.0,b=0.0,x=10.0,y=22.0,r=0.73])Node1214[a=1.0,b=0.0,x=9.0,y=22.0,r=1.35])Node1116[a=1.0,b=1.0,x=8.0,y=22.0,r=0.78])Node1013[a=0.0,b=1.0,x=7.0,y=21.0,r=0.87])Node920[a=0.0,b=1.0,x=7.0,y=20.0,r=1.44])Node741[a=1.0,b=1.0,x=7.0,y=19.0,r=0.93])Node599[a=1.0,b=1.0,x=6.0,y=18.0,r=1.3])Node528[a=1.0,b=1.0,x=5.0,y=17.0,r=1.31],((((((((Node1421[a=1.0,b=-1.0,x=2.0,y=23.0,r=0.77],(((((((Node2755[a=-1.0,b=0.0,x=-1.0,y=31.0,r=0.9],(((Node3610[a=0.0,b=1.0,x=-2.0,y=35.0,r=0.69],Node3609[a=-1.0,b=1.0,x=-3.0,y=35.0,r=1.31])Node3444[a=-1.0,b=1.0,x=-2.0,y=34.0,r=1.05])Node2922[a=-1.0,b=1.0,x=-1.0,y=33.0,r=1.33])Node2754[a=0.0,b=1.0,x=0.0,y=32.0,r=0.91])Node2588[a=0.0,b=1.0,x=0.0,y=31.0,r=0.75],(((((Node3608[a=-1.0,b=1.0,x=2.0,y=35.0,r=1.14],Node3607[a=1.0,b=1.0,x=4.0,y=35.0,r=0.77])Node3268[a=1.0,b=1.0,x=3.0,y=34.0,r=0.59])Node3098[a=1.0,b=0.0,x=2.0,y=33.0,r=1.13],((Node3606[a=-1.0,b=1.0,x=0.0,y=36.0,r=0.91])Node3267[a=-1.0,b=1.0,x=1.0,y=35.0,r=0.97])Node3097[a=1.0,b=1.0,x=2.0,y=34.0,r=0.73])Node2921[a=0.0,b=1.0,x=1.0,y=33.0,r=1.48])Node2753[a=0.0,b=1.0,x=1.0,y=32.0,r=0.63],(Node3266[a=1.0,b=1.0,x=3.0,y=33.0,r=1.43])Node2752[a=1.0,b=1.0,x=2.0,y=32.0,r=1.27])Node2587[a=1.0,b=1.0,x=1.0,y=31.0,r=0.62])Node2273[a=-1.0,b=1.0,x=0.0,y=30.0,r=1.22],(Node2437[a=1.0,b=1.0,x=1.0,y=30.0,r=1.08])Node2272[a=-1.0,b=0.0,x=0.0,y=29.0,r=0.85])Node2122[a=1.0,b=1.0,x=1.0,y=29.0,r=1.15])Node1967[a=0.0,b=1.0,x=0.0,y=28.0,r=0.66],((((((Node3096[a=-1.0,b=1.0,x=-1.0,y=34.0,r=0.61],((Node3443[a=-1.0,b=1.0,x=0.0,y=35.0,r=1.39])Node3265[a=1.0,b=0.0,x=1.0,y=34.0,r=1.47])Node3095[a=0.0,b=1.0,x=0.0,y=34.0,r=0.52])Node2920[a=1.0,b=1.0,x=0.0,y=33.0,r=1.05])Node2751[a=1.0,b=1.0,x=-1.0,y=32.0,r=1.5],((Node3442[a=1.0,b=1.0,x=-2.0,y=33.0,r=1.06])Node2919[a=-1.0,b=0.0,x=-3.0,y=32.0,r=1.27])Node2750[a=0.0,b=1.0,x=-2.0,y=32.0,r=1.26])Node2586[a=0.0,b=1.0,x=-2.0,y=31.0,r=0.86])Node2436[a=0.0,b=1.0,x=-2.0,y=30.0,r=1.15])Node2121[a=-1.0,b=1.0,x=-2.0,y=29.0,r=1.42])Node1966[a=-1.0,b=1.0,x=-1.0,y=28.0,r=0.73])Node1819[a=-1.0,b=1.0,x=0.0,y=27.0,r=1.02],(Node1965[a=-1.0,b=0.0,x=1.0,y=27.0,r=1.14],(Node2120[a=1.0,b=0.0,x=2.0,y=28.0,r=0.5])Node1964[a=-1.0,b=1.0,x=1.0,y=28.0,r=1.37])Node1818[a=1.0,b=1.0,x=2.0,y=27.0,r=1.15])Node1539[a=1.0,b=1.0,x=1.0,y=26.0,r=0.61],(((Node2119[a=0.0,b=1.0,x=-1.0,y=27.0,r=0.73])Node1817[a=-1.0,b=0.0,x=-1.0,y=26.0,r=1.49])Node1677[a=-1.0,b=1.0,x=0.0,y=26.0,r=0.56],Node1676[a=1.0,b=1.0,x=2.0,y=26.0,r=1.18])Node1538[a=1.0,b=0.0,x=1.0,y=25.0,r=0.56])Node1420[a=-1.0,b=1.0,x=0.0,y=25.0,r=0.57])Node1310[a=1.0,b=1.0,x=1.0,y=24.0,r=1.23])Node1115[a=-1.0,b=1.0,x=0.0,y=23.0,r=0.72])Node1012[a=-1.0,b=1.0,x=1.0,y=22.0,r=1.45],(((Node1537[a=-1.0,b=1.0,x=-2.0,y=23.0,r=0.79],Node1536[a=0.0,b=1.0,x=-1.0,y=23.0,r=0.82])Node1213[a=-1.0,b=0.0,x=-1.0,y=22.0,r=1.15])Node1114[a=-1.0,b=1.0,x=0.0,y=22.0,r=1.22])Node1011[a=-1.0,b=0.0,x=1.0,y=21.0,r=0.91])Node919[a=-1.0,b=1.0,x=2.0,y=21.0,r=1.18])Node824[a=0.0,b=1.0,x=3.0,y=20.0,r=1.45],(Node918[a=-1.0,b=0.0,x=1.0,y=20.0,r=0.8])Node823[a=-1.0,b=1.0,x=2.0,y=20.0,r=1.32])Node740[a=-1.0,b=1.0,x=3.0,y=19.0,r=0.71],Node739[a=1.0,b=1.0,x=5.0,y=19.0,r=0.64])Node668[a=0.0,b=1.0,x=4.0,y=18.0,r=1.34])Node527[a=0.0,b=1.0,x=4.0,y=17.0,r=0.62])Node449[a=1.0,b=1.0,x=4.0,y=16.0,r=0.74])Node384[a=0.0,b=1.0,x=3.0,y=15.0,r=1.04])Node320[a=1.0,b=1.0,x=3.0,y=14.0,r=0.88],((Node448[a=-1.0,b=1.0,x=1.0,y=15.0,r=0.78])Node383[a=-1.0,b=1.0,x=2.0,y=14.0,r=1.39])Node319[a=1.0,b=0.0,x=3.0,y=13.0,r=0.87])Node268[a=-1.0,b=1.0,x=2.0,y=13.0,r=0.53])Node219[a=1.0,b=1.0,x=3.0,y=12.0,r=0.76],Node218[a=-1.0,b=1.0,x=1.0,y=12.0,r=1.08])Node174[a=0.0,b=1.0,x=2.0,y=11.0,r=0.7])Node146[a=1.0,b=1.0,x=2.0,y=10.0,r=1.47])Node118[a=-1.0,b=1.0,x=1.0,y=9.0,r=0.85],Node117[a=0.0,b=1.0,x=2.0,y=9.0,r=0.61])Node83[a=0.0,b=1.0,x=2.0,y=8.0,r=1.16])Node53[a=1.0,b=1.0,x=2.0,y=7.0,r=0.87],(((((Node173[a=1.0,b=1.0,x=5.0,y=8.0,r=1.44])Node145[a=0.0,b=1.0,x=4.0,y=7.0,r=1.47],Node144[a=1.0,b=0.0,x=5.0,y=6.0,r=1.43])Node116[a=1.0,b=0.0,x=4.0,y=6.0,r=0.91])Node98[a=0.0,b=-1.0,x=3.0,y=6.0,r=1.4])Node67[a=1.0,b=1.0,x=3.0,y=7.0,r=1.22])Node52[a=1.0,b=0.0,x=2.0,y=6.0,r=0.87])Node42[a=0.0,b=1.0,x=1.0,y=6.0,r=1.3])Node33[a=1.0,b=1.0,x=1.0,y=5.0,r=1.2],(((((((((((((Node822[a=-1.0,b=1.0,x=-7.0,y=16.0,r=1.1])Node598[a=-1.0,b=1.0,x=-6.0,y=15.0,r=0.75])Node447[a=-1.0,b=1.0,x=-5.0,y=14.0,r=1.22])Node382[a=-1.0,b=1.0,x=-4.0,y=13.0,r=1.3])Node318[a=-1.0,b=1.0,x=-3.0,y=12.0,r=1.0])Node267[a=-1.0,b=1.0,x=-2.0,y=11.0,r=1.25])Node172[a=-1.0,b=0.0,x=-1.0,y=10.0,r=0.96],((((((Node526[a=-1.0,b=1.0,x=-1.0,y=16.0,r=0.74],((Node667[a=-1.0,b=0.0,x=-1.0,y=17.0,r=0.6])Node597[a=0.0,b=1.0,x=0.0,y=17.0,r=0.78],Node596[a=1.0,b=0.0,x=1.0,y=16.0,r=0.84])Node525[a=0.0,b=1.0,x=0.0,y=16.0,r=0.6])Node446[a=1.0,b=1.0,x=0.0,y=15.0,r=1.02],Node445[a=-1.0,b=-1.0,x=-2.0,y=13.0,r=1.45])Node381[a=-1.0,b=1.0,x=-1.0,y=14.0,r=1.44])Node317[a=1.0,b=1.0,x=0.0,y=13.0,r=1.46],(((((Node738[a=1.0,b=1.0,x=-4.0,y=18.0,r=0.52],(((((((Node1963[a=-1.0,b=1.0,x=-10.0,y=24.0,r=0.8])Node1816[a=-1.0,b=1.0,x=-9.0,y=23.0,r=1.33])Node1535[a=1.0,b=1.0,x=-8.0,y=22.0,r=1.46])Node1309[a=-1.0,b=0.0,x=-9.0,y=21.0,r=1.21])Node1113[a=0.0,b=1.0,x=-8.0,y=21.0,r=0.69])Node1010[a=-1.0,b=1.0,x=-8.0,y=20.0,r=1.34])Node917[a=-1.0,b=1.0,x=-7.0,y=19.0,r=0.96])Node737[a=-1.0,b=1.0,x=-6.0,y=18.0,r=1.17])Node666[a=-1.0,b=1.0,x=-5.0,y=17.0,r=0.6])Node524[a=-1.0,b=1.0,x=-4.0,y=16.0,r=1.23],(((((((Node1212[a=0.0,b=1.0,x=-6.0,y=21.0,r=0.59])Node1009[a=0.0,b=1.0,x=-6.0,y=20.0,r=1.2],(((((((Node1962[a=-1.0,b=1.0,x=-9.0,y=27.0,r=0.88],(((((Node3094[a=1.0,b=1.0,x=-10.0,y=31.0,r=0.98],Node3093[a=0.0,b=1.0,x=-11.0,y=31.0,r=1.46])Node2918[a=0.0,b=1.0,x=-11.0,y=30.0,r=0.67])Node2749[a=-1.0,b=1.0,x=-11.0,y=29.0,r=1.06])Node2271[a=0.0,b=1.0,x=-10.0,y=28.0,r=1.1],(((Node2748[a=1.0,b=1.0,x=-12.0,y=30.0,r=1.24],((((Node3441[a=-1.0,b=1.0,x=-13.0,y=33.0,r=1.17])Node3264[a=1.0,b=1.0,x=-12.0,y=32.0,r=1.46])Node3092[a=1.0,b=1.0,x=-13.0,y=31.0,r=1.13])Node2917[a=0.0,b=1.0,x=-14.0,y=30.0,r=1.05])Node2747[a=-1.0,b=0.0,x=-14.0,y=29.0,r=0.89])Node2585[a=-1.0,b=1.0,x=-13.0,y=29.0,r=1.12],(((((Node3605[a=-1.0,b=1.0,x=-13.0,y=34.0,r=0.52])Node3440[a=-1.0,b=1.0,x=-12.0,y=33.0,r=1.29])Node3263[a=1.0,b=1.0,x=-11.0,y=32.0,r=1.27],((Node3604[a=0.0,b=-1.0,x=-14.0,y=31.0,r=0.54])Node3439[a=-1.0,b=0.0,x=-14.0,y=32.0,r=1.3])Node3262[a=-1.0,b=1.0,x=-13.0,y=32.0,r=0.52])Node3091[a=1.0,b=1.0,x=-12.0,y=31.0,r=0.87])Node2916[a=-1.0,b=1.0,x=-13.0,y=30.0,r=0.72])Node2584[a=0.0,b=1.0,x=-12.0,y=29.0,r=0.84])Node2435[a=-1.0,b=0.0,x=-12.0,y=28.0,r=1.29])Node2270[a=-1.0,b=1.0,x=-11.0,y=28.0,r=0.72])Node2118[a=-1.0,b=1.0,x=-10.0,y=27.0,r=1.49])Node1961[a=-1.0,b=0.0,x=-9.0,y=26.0,r=0.83])Node1815[a=-1.0,b=1.0,x=-8.0,y=26.0,r=1.2])Node1534[a=-1.0,b=1.0,x=-7.0,y=25.0,r=1.45])Node1419[a=0.0,b=1.0,x=-6.0,y=24.0,r=0.7])Node1308[a=0.0,b=1.0,x=-6.0,y=23.0,r=0.59],Node1307[a=-1.0,b=1.0,x=-7.0,y=23.0,r=1.07])Node1211[a=1.0,b=1.0,x=-6.0,y=22.0,r=1.11],((((((Node1960[a=0.0,b=-1.0,x=-9.0,y=24.0,r=1.43],((Node2269[a=-1.0,b=1.0,x=-11.0,y=27.0,r=1.24])Node2117[a=0.0,b=1.0,x=-10.0,y=26.0,r=0.99])Node1959[a=-1.0,b=0.0,x=-10.0,y=25.0,r=0.83])Node1814[a=-1.0,b=0.0,x=-9.0,y=25.0,r=1.09])Node1675[a=0.0,b=1.0,x=-8.0,y=25.0,r=0.58])Node1533[a=-1.0,b=0.0,x=-8.0,y=24.0,r=1.34])Node1418[a=1.0,b=1.0,x=-7.0,y=24.0,r=0.86],(((Node1958[a=-1.0,b=1.0,x=-12.0,y=25.0,r=1.33],((Node2268[a=-1.0,b=1.0,x=-12.0,y=27.0,r=1.13])Node2116[a=0.0,b=1.0,x=-11.0,y=26.0,r=1.15])Node1957[a=0.0,b=1.0,x=-11.0,y=25.0,r=1.34])Node1813[a=-1.0,b=1.0,x=-11.0,y=24.0,r=0.82])Node1532[a=-1.0,b=1.0,x=-10.0,y=23.0,r=0.53],((((((((((Node3438[a=-1.0,b=1.0,x=-16.0,y=31.0,r=1.17])Node3090[a=1.0,b=0.0,x=-15.0,y=30.0,r=0.83])Node2915[a=-1.0,b=1.0,x=-16.0,y=30.0,r=1.49],Node2914[a=-1.0,b=0.0,x=-16.0,y=29.0,r=1.23])Node2746[a=0.0,b=1.0,x=-15.0,y=29.0,r=0.82],(((Node3603[a=-1.0,b=1.0,x=-19.0,y=30.0,r=1.05])Node3437[a=-1.0,b=1.0,x=-18.0,y=29.0,r=1.02])Node3089[a=-1.0,b=0.0,x=-17.0,y=28.0,r=0.89],((Node3602[a=0.0,b=1.0,x=-17.0,y=31.0,r=1.39],Node3601[a=-1.0,b=0.0,x=-18.0,y=30.0,r=0.54])Node3261[a=0.0,b=1.0,x=-17.0,y=30.0,r=1.18])Node3088[a=-1.0,b=1.0,x=-17.0,y=29.0,r=1.39])Node2745[a=-1.0,b=0.0,x=-16.0,y=28.0,r=0.8])Node2583[a=-1.0,b=1.0,x=-15.0,y=28.0,r=1.35])Node2434[a=-1.0,b=1.0,x=-14.0,y=27.0,r=0.7],(Node2582[a=-1.0,b=1.0,x=-14.0,y=28.0,r=0.74],Node2581[a=0.0,b=1.0,x=-13.0,y=28.0,r=0.75])Node2433[a=0.0,b=1.0,x=-13.0,y=27.0,r=0.94])Node2267[a=0.0,b=1.0,x=-13.0,y=26.0,r=0.74],Node2266[a=1.0,b=1.0,x=-12.0,y=26.0,r=1.39])Node2115[a=-1.0,b=1.0,x=-13.0,y=25.0,r=0.63])Node1956[a=-1.0,b=1.0,x=-12.0,y=24.0,r=0.77])Node1674[a=-1.0,b=1.0,x=-11.0,y=23.0,r=0.74])Node1531[a=-1.0,b=0.0,x=-10.0,y=22.0,r=1.41])Node1417[a=-1.0,b=-1.0,x=-9.0,y=22.0,r=1.26])Node1306[a=-1.0,b=1.0,x=-8.0,y=23.0,r=1.37])Node1210[a=0.0,b=1.0,x=-7.0,y=22.0,r=1.28])Node1112[a=0.0,b=1.0,x=-7.0,y=21.0,r=1.08])Node1008[a=-1.0,b=1.0,x=-7.0,y=20.0,r=0.99])Node916[a=-1.0,b=0.0,x=-6.0,y=19.0,r=1.05])Node821[a=0.0,b=1.0,x=-5.0,y=19.0,r=1.47],Node820[a=-1.0,b=-1.0,x=-6.0,y=17.0,r=0.57])Node736[a=-1.0,b=1.0,x=-5.0,y=18.0,r=0.93],((((((((((Node1955[a=0.0,b=1.0,x=-2.0,y=27.0,r=0.87])Node1812[a=1.0,b=1.0,x=-2.0,y=26.0,r=1.43])Node1673[a=-1.0,b=0.0,x=-3.0,y=25.0,r=1.47],Node1672[a=-1.0,b=1.0,x=-3.0,y=26.0,r=1.28])Node1530[a=1.0,b=1.0,x=-2.0,y=25.0,r=1.48])Node1416[a=1.0,b=1.0,x=-3.0,y=24.0,r=0.87],(((((((Node2432[a=1.0,b=1.0,x=-8.0,y=29.0,r=0.75])Node2265[a=0.0,b=-1.0,x=-9.0,y=28.0,r=1.2],((Node2580[a=0.0,b=1.0,x=-10.0,y=30.0,r=0.83])Node2431[a=-1.0,b=-1.0,x=-10.0,y=29.0,r=1.27])Node2264[a=0.0,b=1.0,x=-9.0,y=30.0,r=0.7])Node2114[a=-1.0,b=1.0,x=-9.0,y=29.0,r=1.16])Node1954[a=0.0,b=1.0,x=-8.0,y=28.0,r=0.65])Node1811[a=-1.0,b=1.0,x=-8.0,y=27.0,r=0.91])Node1671[a=-1.0,b=1.0,x=-7.0,y=26.0,r=0.6],Node1670[a=0.0,b=1.0,x=-6.0,y=26.0,r=1.03])Node1529[a=-1.0,b=1.0,x=-6.0,y=25.0,r=0.99])Node1415[a=-1.0,b=1.0,x=-5.0,y=24.0,r=0.53])Node1305[a=-1.0,b=1.0,x=-4.0,y=23.0,r=0.71])Node1209[a=0.0,b=1.0,x=-3.0,y=22.0,r=0.53])Node1007[a=0.0,b=1.0,x=-3.0,y=21.0,r=1.18],Node1006[a=1.0,b=1.0,x=-2.0,y=21.0,r=1.41])Node915[a=1.0,b=1.0,x=-3.0,y=20.0,r=1.38],(((Node1304[a=-1.0,b=1.0,x=-5.0,y=23.0,r=0.56])Node1111[a=0.0,b=1.0,x=-4.0,y=22.0,r=0.58])Node1005[a=1.0,b=1.0,x=-4.0,y=21.0,r=0.69])Node914[a=-1.0,b=1.0,x=-5.0,y=20.0,r=0.83])Node819[a=-1.0,b=1.0,x=-4.0,y=19.0,r=0.57],(((Node1303[a=0.0,b=1.0,x=-5.0,y=22.0,r=0.92])Node1208[a=-1.0,b=1.0,x=-5.0,y=21.0,r=0.94])Node913[a=-1.0,b=1.0,x=-4.0,y=20.0,r=0.59])Node818[a=0.0,b=1.0,x=-3.0,y=19.0,r=1.21])Node735[a=1.0,b=1.0,x=-3.0,y=18.0,r=1.02])Node665[a=1.0,b=1.0,x=-4.0,y=17.0,r=0.88])Node595[a=-1.0,b=1.0,x=-5.0,y=16.0,r=0.73])Node523[a=-1.0,b=0.0,x=-4.0,y=15.0,r=1.31])Node444[a=-1.0,b=1.0,x=-3.0,y=15.0,r=1.48],(Node594[a=0.0,b=1.0,x=-2.0,y=16.0,r=1.04],((((Node1004[a=0.0,b=1.0,x=-2.0,y=20.0,r=1.49])Node912[a=-1.0,b=1.0,x=-2.0,y=19.0,r=0.78])Node817[a=1.0,b=1.0,x=-1.0,y=18.0,r=1.15])Node664[a=1.0,b=1.0,x=-2.0,y=17.0,r=0.97],(Node816[a=1.0,b=1.0,x=-2.0,y=18.0,r=0.87])Node663[a=0.0,b=1.0,x=-3.0,y=17.0,r=0.67])Node593[a=-1.0,b=1.0,x=-3.0,y=16.0,r=1.44])Node443[a=0.0,b=1.0,x=-2.0,y=15.0,r=0.96])Node380[a=-1.0,b=1.0,x=-2.0,y=14.0,r=1.43])Node316[a=0.0,b=1.0,x=-1.0,y=13.0,r=1.1])Node266[a=-1.0,b=0.0,x=-1.0,y=12.0,r=0.67],((Node522[a=-1.0,b=1.0,x=-1.0,y=15.0,r=1.0])Node379[a=-1.0,b=1.0,x=0.0,y=14.0,r=1.39],(((((Node815[a=0.0,b=1.0,x=2.0,y=19.0,r=0.99],(Node1003[a=-1.0,b=1.0,x=0.0,y=20.0,r=0.52])Node814[a=-1.0,b=1.0,x=1.0,y=19.0,r=1.46])Node662[a=0.0,b=1.0,x=2.0,y=18.0,r=1.23],Node661[a=1.0,b=1.0,x=3.0,y=18.0,r=1.24])Node592[a=-1.0,b=1.0,x=2.0,y=17.0,r=0.58],Node591[a=0.0,b=1.0,x=3.0,y=17.0,r=1.12])Node521[a=1.0,b=1.0,x=3.0,y=16.0,r=1.17],(((((((((Node1528[a=1.0,b=0.0,x=-1.0,y=24.0,r=0.81],Node1527[a=1.0,b=1.0,x=-1.0,y=25.0,r=1.02])Node1414[a=1.0,b=1.0,x=-2.0,y=24.0,r=1.02],(((((Node2113[a=-1.0,b=1.0,x=-7.0,y=28.0,r=0.89],(((((Node3087[a=-1.0,b=1.0,x=-9.0,y=32.0,r=1.49],(((Node3600[a=-1.0,b=1.0,x=-11.0,y=34.0,r=1.0])Node3436[a=0.0,b=1.0,x=-10.0,y=33.0,r=0.7],(Node3599[a=-1.0,b=1.0,x=-12.0,y=34.0,r=1.37])Node3435[a=-1.0,b=1.0,x=-11.0,y=33.0,r=1.32])Node3260[a=-1.0,b=1.0,x=-10.0,y=32.0,r=1.1])Node3086[a=-1.0,b=0.0,x=-9.0,y=31.0,r=1.06])Node2913[a=0.0,b=1.0,x=-8.0,y=31.0,r=0.65],((((Node3598[a=1.0,b=1.0,x=-8.0,y=35.0,r=1.18],Node3597[a=-1.0,b=1.0,x=-10.0,y=35.0,r=1.33])Node3434[a=-1.0,b=1.0,x=-9.0,y=34.0,r=1.16])Node3259[a=-1.0,b=1.0,x=-8.0,y=33.0,r=1.05])Node3085[a=0.0,b=1.0,x=-7.0,y=32.0,r=0.51],((Node3596[a=-1.0,b=1.0,x=-10.0,y=34.0,r=0.62])Node3258[a=-1.0,b=1.0,x=-9.0,y=33.0,r=1.05])Node3084[a=-1.0,b=1.0,x=-8.0,y=32.0,r=1.12])Node2912[a=1.0,b=1.0,x=-7.0,y=31.0,r=0.94])Node2744[a=-1.0,b=1.0,x=-8.0,y=30.0,r=1.41],Node2743[a=0.0,b=1.0,x=-7.0,y=30.0,r=0.65])Node2430[a=-1.0,b=1.0,x=-7.0,y=29.0,r=0.7])Node2263[a=1.0,b=1.0,x=-6.0,y=28.0,r=1.25])Node2112[a=-1.0,b=0.0,x=-7.0,y=27.0,r=1.12])Node1953[a=-1.0,b=0.0,x=-6.0,y=27.0,r=0.95],(((((((Node3595[a=1.0,b=1.0,x=-6.0,y=35.0,r=0.92],Node3594[a=0.0,b=1.0,x=-7.0,y=35.0,r=1.43])Node3433[a=-1.0,b=1.0,x=-7.0,y=34.0,r=0.58],(Node3593[a=-1.0,b=1.0,x=-6.0,y=34.0,r=0.73])Node3432[a=1.0,b=0.0,x=-5.0,y=33.0,r=0.89])Node3257[a=0.0,b=1.0,x=-6.0,y=33.0,r=0.84],(Node3431[a=-1.0,b=1.0,x=-8.0,y=34.0,r=1.27])Node3256[a=-1.0,b=1.0,x=-7.0,y=33.0,r=0.77])Node3083[a=-1.0,b=1.0,x=-6.0,y=32.0,r=1.19])Node2742[a=1.0,b=1.0,x=-5.0,y=31.0,r=1.0])Node2429[a=-1.0,b=1.0,x=-6.0,y=30.0,r=1.04],Node2428[a=1.0,b=1.0,x=-4.0,y=30.0,r=0.95])Node2262[a=-1.0,b=1.0,x=-5.0,y=29.0,r=0.69])Node1952[a=1.0,b=1.0,x=-4.0,y=28.0,r=0.78])Node1810[a=0.0,b=1.0,x=-5.0,y=27.0,r=0.88])Node1669[a=0.0,b=1.0,x=-5.0,y=26.0,r=1.04])Node1526[a=-1.0,b=1.0,x=-5.0,y=25.0,r=1.48],(((((((((Node3255[a=1.0,b=1.0,x=-3.0,y=34.0,r=0.79],(Node3430[a=-1.0,b=0.0,x=-5.0,y=34.0,r=0.94])Node3254[a=0.0,b=1.0,x=-4.0,y=34.0,r=0.8])Node3082[a=1.0,b=1.0,x=-4.0,y=33.0,r=0.97])Node2911[a=-1.0,b=1.0,x=-5.0,y=32.0,r=1.42],(Node3253[a=1.0,b=1.0,x=-3.0,y=33.0,r=1.37])Node2910[a=0.0,b=1.0,x=-4.0,y=32.0,r=0.56])Node2741[a=-1.0,b=1.0,x=-4.0,y=31.0,r=1.3],Node2740[a=0.0,b=1.0,x=-3.0,y=31.0,r=1.42])Node2427[a=1.0,b=1.0,x=-3.0,y=30.0,r=0.52])Node2261[a=1.0,b=1.0,x=-4.0,y=29.0,r=0.9],((Node2739[a=-1.0,b=1.0,x=-6.0,y=31.0,r=1.2])Node2426[a=1.0,b=1.0,x=-5.0,y=30.0,r=1.3])Node2260[a=-1.0,b=1.0,x=-6.0,y=29.0,r=0.68])Node2111[a=-1.0,b=1.0,x=-5.0,y=28.0,r=0.56])Node1951[a=0.0,b=1.0,x=-4.0,y=27.0,r=1.34],((Node2425[a=0.0,b=1.0,x=-3.0,y=29.0,r=0.55])Node2110[a=0.0,b=1.0,x=-3.0,y=28.0,r=1.28],((Node2738[a=0.0,b=1.0,x=-1.0,y=30.0,r=1.01])Node2424[a=1.0,b=1.0,x=-1.0,y=29.0,r=0.59])Node2109[a=1.0,b=1.0,x=-2.0,y=28.0,r=0.95])Node1950[a=1.0,b=1.0,x=-3.0,y=27.0,r=0.63])Node1809[a=0.0,b=1.0,x=-4.0,y=26.0,r=1.02])Node1525[a=0.0,b=1.0,x=-4.0,y=25.0,r=0.79])Node1413[a=-1.0,b=1.0,x=-4.0,y=24.0,r=1.37])Node1302[a=-1.0,b=1.0,x=-3.0,y=23.0,r=1.26])Node1207[a=-1.0,b=1.0,x=-2.0,y=22.0,r=0.66])Node1110[a=0.0,b=1.0,x=-1.0,y=21.0,r=1.3],Node1109[a=1.0,b=1.0,x=0.0,y=21.0,r=0.98])Node1002[a=-1.0,b=1.0,x=-1.0,y=20.0,r=1.36],Node1001[a=-1.0,b=0.0,x=-1.0,y=19.0,r=0.65])Node911[a=-1.0,b=1.0,x=0.0,y=19.0,r=1.02])Node813[a=0.0,b=1.0,x=1.0,y=18.0,r=1.15],Node812[a=-1.0,b=1.0,x=0.0,y=18.0,r=0.82])Node660[a=-1.0,b=1.0,x=1.0,y=17.0,r=0.91])Node520[a=0.0,b=1.0,x=2.0,y=16.0,r=1.16])Node442[a=1.0,b=1.0,x=2.0,y=15.0,r=1.48])Node378[a=0.0,b=1.0,x=1.0,y=14.0,r=1.2])Node265[a=1.0,b=1.0,x=1.0,y=13.0,r=1.41])Node217[a=0.0,b=1.0,x=0.0,y=12.0,r=0.97],(((Node441[a=-1.0,b=-1.0,x=-4.0,y=12.0,r=1.31],((((Node734[a=-1.0,b=-1.0,x=-7.0,y=15.0,r=1.21],(((((Node1412[a=-1.0,b=0.0,x=-10.0,y=20.0,r=0.58])Node1301[a=-1.0,b=1.0,x=-9.0,y=20.0,r=0.95])Node1000[a=0.0,b=1.0,x=-8.0,y=19.0,r=0.51],(Node1108[a=-1.0,b=-1.0,x=-10.0,y=18.0,r=0.74])Node999[a=-1.0,b=1.0,x=-9.0,y=19.0,r=1.46])Node910[a=-1.0,b=0.0,x=-8.0,y=18.0,r=0.6])Node811[a=0.0,b=1.0,x=-7.0,y=18.0,r=1.42])Node733[a=-1.0,b=1.0,x=-7.0,y=17.0,r=0.76])Node659[a=-1.0,b=1.0,x=-6.0,y=16.0,r=0.64])Node590[a=-1.0,b=1.0,x=-5.0,y=15.0,r=1.43])Node519[a=-1.0,b=0.0,x=-4.0,y=14.0,r=0.85])Node440[a=0.0,b=1.0,x=-3.0,y=14.0,r=0.76])Node315[a=-1.0,b=1.0,x=-3.0,y=13.0,r=0.57])Node264[a=-1.0,b=1.0,x=-2.0,y=12.0,r=1.24])Node216[a=-1.0,b=0.0,x=-1.0,y=11.0,r=0.8])Node171[a=0.0,b=1.0,x=0.0,y=11.0,r=1.29])Node143[a=0.0,b=1.0,x=0.0,y=10.0,r=1.26])Node115[a=-1.0,b=1.0,x=0.0,y=9.0,r=0.65],((((Node314[a=-1.0,b=1.0,x=-3.0,y=11.0,r=1.01])Node263[a=-1.0,b=1.0,x=-2.0,y=10.0,r=0.71])Node170[a=-1.0,b=1.0,x=-1.0,y=9.0,r=1.32],((Node262[a=0.0,b=1.0,x=-2.0,y=9.0,r=0.59],Node261[a=1.0,b=0.0,x=-1.0,y=8.0,r=1.04])Node215[a=-1.0,b=1.0,x=-2.0,y=8.0,r=0.68])Node169[a=-1.0,b=-1.0,x=-1.0,y=7.0,r=1.36])Node142[a=-1.0,b=1.0,x=0.0,y=8.0,r=1.42])Node114[a=0.0,b=-1.0,x=1.0,y=7.0,r=0.68])Node97[a=1.0,b=1.0,x=1.0,y=8.0,r=1.2])Node82[a=0.0,b=1.0,x=0.0,y=7.0,r=1.19])Node66[a=1.0,b=1.0,x=0.0,y=6.0,r=1.06])Node41[a=0.0,b=1.0,x=-1.0,y=5.0,r=0.66])Node32[a=-1.0,b=0.0,x=-1.0,y=4.0,r=0.93])Node22[a=1.0,b=1.0,x=0.0,y=4.0,r=0.63],((((((((((((((Node658[a=0.0,b=-1.0,x=-9.0,y=10.0,r=0.8],(((Node998[a=-1.0,b=1.0,x=-13.0,y=13.0,r=1.06])Node909[a=-1.0,b=1.0,x=-12.0,y=12.0,r=0.63])Node732[a=-1.0,b=1.0,x=-11.0,y=11.0,r=0.98],((((((Node1300[a=0.0,b=1.0,x=-14.0,y=15.0,r=0.66],((((((((Node2737[a=-1.0,b=1.0,x=-22.0,y=21.0,r=0.52])Node2423[a=-1.0,b=1.0,x=-21.0,y=20.0,r=0.77])Node2259[a=-1.0,b=1.0,x=-20.0,y=19.0,r=0.78])Node2108[a=0.0,b=-1.0,x=-19.0,y=18.0,r=1.35],((Node2579[a=0.0,b=1.0,x=-20.0,y=21.0,r=0.51])Node2258[a=-1.0,b=0.0,x=-20.0,y=20.0,r=0.53])Node2107[a=0.0,b=1.0,x=-19.0,y=20.0,r=1.36])Node1949[a=-1.0,b=1.0,x=-19.0,y=19.0,r=1.4],(((Node2422[a=0.0,b=1.0,x=-19.0,y=22.0,r=0.81],(((((((Node3592[a=-1.0,b=0.0,x=-25.0,y=26.0,r=0.99])Node3429[a=-1.0,b=0.0,x=-24.0,y=26.0,r=1.36])Node3252[a=0.0,b=1.0,x=-23.0,y=26.0,r=1.35])Node3081[a=-1.0,b=1.0,x=-23.0,y=25.0,r=0.89])Node2909[a=-1.0,b=1.0,x=-22.0,y=24.0,r=1.32])Node2736[a=-1.0,b=0.0,x=-21.0,y=23.0,r=1.13],((((Node3591[a=-1.0,b=1.0,x=-24.0,y=28.0,r=1.36])Node3428[a=-1.0,b=1.0,x=-23.0,y=27.0,r=0.99])Node3251[a=0.0,b=1.0,x=-22.0,y=26.0,r=1.24])Node3080[a=-1.0,b=1.0,x=-22.0,y=25.0,r=1.22])Node2735[a=-1.0,b=1.0,x=-21.0,y=24.0,r=0.95])Node2578[a=0.0,b=1.0,x=-20.0,y=23.0,r=0.87],((Node2908[a=-1.0,b=1.0,x=-23.0,y=23.0,r=1.41],Node2907[a=-1.0,b=0.0,x=-23.0,y=22.0,r=0.6])Node2734[a=-1.0,b=1.0,x=-22.0,y=22.0,r=0.95],((((Node3427[a=-1.0,b=0.0,x=-25.0,y=23.0,r=1.45])Node3250[a=-1.0,b=-1.0,x=-24.0,y=23.0,r=1.39],((Node3590[a=-1.0,b=1.0,x=-26.0,y=26.0,r=1.39])Node3426[a=-1.0,b=1.0,x=-25.0,y=25.0,r=0.93])Node3249[a=-1.0,b=0.0,x=-24.0,y=24.0,r=0.68])Node3079[a=-1.0,b=1.0,x=-23.0,y=24.0,r=1.4])Node2906[a=-1.0,b=1.0,x=-22.0,y=23.0,r=1.12])Node2733[a=0.0,b=1.0,x=-21.0,y=22.0,r=0.77])Node2577[a=-1.0,b=-1.0,x=-21.0,y=21.0,r=1.45])Node2421[a=-1.0,b=1.0,x=-20.0,y=22.0,r=1.47])Node2257[a=-1.0,b=1.0,x=-19.0,y=21.0,r=0.63])Node2106[a=-1.0,b=1.0,x=-18.0,y=20.0,r=1.07])Node1948[a=1.0,b=1.0,x=-17.0,y=19.0,r=0.98])Node1808[a=-1.0,b=1.0,x=-18.0,y=18.0,r=0.62])Node1668[a=-1.0,b=1.0,x=-17.0,y=17.0,r=1.07])Node1411[a=-1.0,b=1.0,x=-16.0,y=16.0,r=0.91],(((Node2105[a=-1.0,b=1.0,x=-18.0,y=19.0,r=0.83])Node1947[a=-1.0,b=1.0,x=-17.0,y=18.0,r=0.66])Node1667[a=-1.0,b=1.0,x=-16.0,y=17.0,r=1.45])Node1410[a=0.0,b=1.0,x=-15.0,y=16.0,r=0.93])Node1299[a=-1.0,b=1.0,x=-15.0,y=15.0,r=1.19])Node1206[a=-1.0,b=0.0,x=-14.0,y=14.0,r=1.37])Node1107[a=-1.0,b=0.0,x=-13.0,y=14.0,r=0.72])Node997[a=-1.0,b=1.0,x=-12.0,y=14.0,r=1.36])Node908[a=-1.0,b=1.0,x=-11.0,y=13.0,r=0.69])Node810[a=0.0,b=1.0,x=-10.0,y=12.0,r=1.47])Node731[a=0.0,b=1.0,x=-10.0,y=11.0,r=1.49])Node657[a=-1.0,b=-1.0,x=-10.0,y=10.0,r=1.13])Node518[a=-1.0,b=1.0,x=-9.0,y=11.0,r=0.7])Node439[a=0.0,b=1.0,x=-8.0,y=10.0,r=1.1],((((((Node1106[a=-1.0,b=1.0,x=-12.0,y=13.0,r=0.86])Node907[a=1.0,b=1.0,x=-11.0,y=12.0,r=0.99])Node730[a=-1.0,b=1.0,x=-12.0,y=11.0,r=1.3])Node656[a=0.0,b=1.0,x=-11.0,y=10.0,r=1.09])Node589[a=-1.0,b=1.0,x=-11.0,y=9.0,r=0.74])Node517[a=-1.0,b=-1.0,x=-10.0,y=8.0,r=0.9])Node438[a=-1.0,b=0.0,x=-9.0,y=9.0,r=1.45])Node377[a=-1.0,b=0.0,x=-8.0,y=9.0,r=0.54])Node313[a=-1.0,b=1.0,x=-7.0,y=9.0,r=1.03])Node260[a=-1.0,b=1.0,x=-6.0,y=8.0,r=1.18])Node214[a=-1.0,b=1.0,x=-5.0,y=7.0,r=0.56])Node113[a=-1.0,b=1.0,x=-4.0,y=6.0,r=0.94])Node96[a=0.0,b=1.0,x=-3.0,y=5.0,r=1.41])Node81[a=1.0,b=0.0,x=-3.0,y=4.0,r=1.37],((((((((((((Node1105[a=-1.0,b=-1.0,x=-15.0,y=0.0,r=0.88])Node906[a=-1.0,b=-1.0,x=-14.0,y=1.0,r=0.77],Node905[a=-1.0,b=0.0,x=-14.0,y=2.0,r=0.79])Node729[a=-1.0,b=1.0,x=-13.0,y=2.0,r=0.72])Node655[a=0.0,b=-1.0,x=-12.0,y=1.0,r=1.04],((Node904[a=-1.0,b=-1.0,x=-15.0,y=3.0,r=0.87])Node809[a=-1.0,b=1.0,x=-14.0,y=4.0,r=1.2])Node654[a=-1.0,b=1.0,x=-13.0,y=3.0,r=1.31])Node588[a=-1.0,b=-1.0,x=-12.0,y=2.0,r=1.43])Node437[a=-1.0,b=0.0,x=-11.0,y=3.0,r=0.6],(((((Node1104[a=-1.0,b=-1.0,x=-16.0,y=1.0,r=1.17])Node996[a=-1.0,b=-1.0,x=-15.0,y=2.0,r=1.35])Node903[a=-1.0,b=-1.0,x=-14.0,y=3.0,r=1.27])Node587[a=-1.0,b=1.0,x=-13.0,y=4.0,r=1.14],Node586[a=0.0,b=1.0,x=-12.0,y=4.0,r=0.79])Node516[a=-1.0,b=1.0,x=-12.0,y=3.0,r=0.87])Node436[a=-1.0,b=-1.0,x=-11.0,y=2.0,r=0.97])Node376[a=-1.0,b=-1.0,x=-10.0,y=3.0,r=0.95],((((((Node902[a=0.0,b=1.0,x=-14.0,y=8.0,r=1.14],(((Node1298[a=-1.0,b=0.0,x=-17.0,y=10.0,r=0.83],(((Node1666[a=-1.0,b=1.0,x=-20.0,y=10.0,r=0.69],(((((((((Node3425[a=-1.0,b=0.0,x=-28.0,y=17.0,r=1.29])Node3078[a=-1.0,b=1.0,x=-27.0,y=17.0,r=1.05])Node2905[a=-1.0,b=1.0,x=-26.0,y=16.0,r=0.8],((Node3589[a=-1.0,b=1.0,x=-28.0,y=16.0,r=0.64])Node3077[a=-1.0,b=0.0,x=-27.0,y=15.0,r=1.5],Node3076[a=-1.0,b=1.0,x=-27.0,y=16.0,r=0.7])Node2904[a=-1.0,b=0.0,x=-26.0,y=15.0,r=1.4])Node2732[a=0.0,b=1.0,x=-25.0,y=15.0,r=1.5])Node2576[a=-1.0,b=1.0,x=-25.0,y=14.0,r=1.3])Node2420[a=-1.0,b=1.0,x=-24.0,y=13.0,r=1.02])Node2104[a=-1.0,b=1.0,x=-23.0,y=12.0,r=1.27])Node1946[a=-1.0,b=1.0,x=-22.0,y=11.0,r=1.27])Node1807[a=-1.0,b=1.0,x=-21.0,y=10.0,r=1.2])Node1665[a=-1.0,b=0.0,x=-20.0,y=9.0,r=0.66])Node1524[a=-1.0,b=-1.0,x=-19.0,y=9.0,r=0.89])Node1409[a=-1.0,b=1.0,x=-18.0,y=10.0,r=1.49])Node1297[a=-1.0,b=-1.0,x=-17.0,y=9.0,r=0.82])Node1205[a=0.0,b=1.0,x=-16.0,y=10.0,r=0.77])Node995[a=-1.0,b=1.0,x=-16.0,y=9.0,r=0.92],Node994[a=-1.0,b=-1.0,x=-16.0,y=7.0,r=0.74])Node901[a=-1.0,b=1.0,x=-15.0,y=8.0,r=0.72])Node808[a=-1.0,b=0.0,x=-14.0,y=7.0,r=1.01])Node728[a=-1.0,b=0.0,x=-13.0,y=7.0,r=1.35])Node653[a=-1.0,b=1.0,x=-12.0,y=7.0,r=1.01])Node515[a=-1.0,b=0.0,x=-11.0,y=6.0,r=0.98],(((Node807[a=1.0,b=1.0,x=-12.0,y=10.0,r=0.79])Node727[a=-1.0,b=1.0,x=-13.0,y=9.0,r=1.28],(((((((Node1408[a=0.0,b=-1.0,x=-17.0,y=13.0,r=1.29],((((((((((Node3248[a=-1.0,b=-1.0,x=-27.0,y=21.0,r=1.22])Node3075[a=-1.0,b=1.0,x=-26.0,y=22.0,r=0.97])Node2903[a=-1.0,b=1.0,x=-25.0,y=21.0,r=0.57],Node2902[a=0.0,b=1.0,x=-24.0,y=21.0,r=0.58])Node2731[a=-1.0,b=1.0,x=-24.0,y=20.0,r=0.64])Node2575[a=-1.0,b=1.0,x=-23.0,y=19.0,r=1.42])Node2419[a=-1.0,b=1.0,x=-22.0,y=18.0,r=0.67])Node2256[a=-1.0,b=1.0,x=-21.0,y=17.0,r=0.6])Node2103[a=-1.0,b=1.0,x=-20.0,y=16.0,r=0.86])Node1806[a=-1.0,b=1.0,x=-19.0,y=15.0,r=1.32],((Node2255[a=-1.0,b=1.0,x=-21.0,y=16.0,r=1.1])Node1945[a=-1.0,b=1.0,x=-20.0,y=15.0,r=0.51])Node1805[a=-1.0,b=0.0,x=-19.0,y=14.0,r=1.35])Node1523[a=-1.0,b=-1.0,x=-18.0,y=14.0,r=0.75])Node1407[a=0.0,b=1.0,x=-17.0,y=15.0,r=0.92])Node1296[a=-1.0,b=1.0,x=-17.0,y=14.0,r=0.59],((((Node1944[a=0.0,b=-1.0,x=-18.0,y=16.0,r=0.92])Node1804[a=-1.0,b=1.0,x=-18.0,y=17.0,r=0.69],(((((((((Node3588[a=-1.0,b=-1.0,x=-26.0,y=21.0,r=1.23],Node3587[a=-1.0,b=1.0,x=-26.0,y=23.0,r=1.39])Node3424[a=-1.0,b=0.0,x=-25.0,y=22.0,r=1.16])Node3247[a=-1.0,b=1.0,x=-24.0,y=22.0,r=1.35])Node2901[a=-1.0,b=1.0,x=-23.0,y=21.0,r=0.93])Node2574[a=-1.0,b=1.0,x=-22.0,y=20.0,r=1.31])Node2418[a=-1.0,b=1.0,x=-21.0,y=19.0,r=0.65])Node2254[a=-1.0,b=1.0,x=-20.0,y=18.0,r=0.86],(((Node2900[a=-1.0,b=1.0,x=-23.0,y=20.0,r=0.99])Node2573[a=-1.0,b=1.0,x=-22.0,y=19.0,r=1.35])Node2417[a=-1.0,b=1.0,x=-21.0,y=18.0,r=0.72])Node2253[a=-1.0,b=0.0,x=-20.0,y=17.0,r=0.82])Node2102[a=0.0,b=1.0,x=-19.0,y=17.0,r=0.81])Node1943[a=-1.0,b=1.0,x=-19.0,y=16.0,r=1.28])Node1803[a=-1.0,b=-1.0,x=-18.0,y=15.0,r=0.8])Node1664[a=-1.0,b=1.0,x=-17.0,y=16.0,r=0.8])Node1406[a=-1.0,b=1.0,x=-16.0,y=15.0,r=1.08])Node1295[a=1.0,b=1.0,x=-15.0,y=14.0,r=0.58])Node1204[a=0.0,b=1.0,x=-16.0,y=13.0,r=0.56])Node1103[a=-1.0,b=1.0,x=-16.0,y=12.0,r=0.75],(((Node1802[a=-1.0,b=1.0,x=-19.0,y=13.0,r=1.22])Node1663[a=-1.0,b=0.0,x=-18.0,y=12.0,r=0.99],Node1662[a=-1.0,b=1.0,x=-18.0,y=13.0,r=0.91])Node1405[a=-1.0,b=1.0,x=-17.0,y=12.0,r=1.28],((((((Node2252[a=-1.0,b=1.0,x=-23.0,y=14.0,r=0.83])Node2101[a=-1.0,b=0.0,x=-22.0,y=13.0,r=0.76])Node1942[a=-1.0,b=1.0,x=-21.0,y=13.0,r=1.1])Node1801[a=-1.0,b=0.0,x=-20.0,y=12.0,r=1.19],((((((((((Node3423[a=-1.0,b=0.0,x=-28.0,y=18.0,r=1.11],(Node3586[a=-1.0,b=-1.0,x=-29.0,y=18.0,r=0.63])Node3422[a=-1.0,b=1.0,x=-28.0,y=19.0,r=1.44])Node3246[a=-1.0,b=1.0,x=-27.0,y=18.0,r=0.68])Node3074[a=-1.0,b=1.0,x=-26.0,y=17.0,r=0.77])Node2899[a=-1.0,b=0.0,x=-25.0,y=16.0,r=1.42])Node2730[a=0.0,b=1.0,x=-24.0,y=16.0,r=1.35])Node2572[a=-1.0,b=0.0,x=-24.0,y=15.0,r=1.32])Node2416[a=-1.0,b=1.0,x=-23.0,y=15.0,r=1.25])Node2251[a=-1.0,b=-1.0,x=-22.0,y=14.0,r=0.97],(((Node2898[a=-1.0,b=-1.0,x=-25.0,y=17.0,r=1.43],((((Node3585[a=-1.0,b=1.0,x=-28.0,y=20.0,r=0.93],Node3584[a=0.0,b=1.0,x=-27.0,y=20.0,r=1.23])Node3421[a=-1.0,b=1.0,x=-27.0,y=19.0,r=0.72])Node3245[a=0.0,b=-1.0,x=-26.0,y=18.0,r=0.53],Node3244[a=0.0,b=1.0,x=-26.0,y=20.0,r=0.76])Node3073[a=-1.0,b=0.0,x=-26.0,y=19.0,r=1.13])Node2897[a=-1.0,b=1.0,x=-25.0,y=19.0,r=1.3])Node2571[a=-1.0,b=1.0,x=-24.0,y=18.0,r=1.48])Node2415[a=-1.0,b=1.0,x=-23.0,y=17.0,r=0.53],(((Node3072[a=-1.0,b=1.0,x=-25.0,y=20.0,r=0.86])Node2896[a=-1.0,b=1.0,x=-24.0,y=19.0,r=0.82])Node2570[a=-1.0,b=1.0,x=-23.0,y=18.0,r=0.51])Node2414[a=0.0,b=1.0,x=-22.0,y=17.0,r=1.4])Node2250[a=-1.0,b=1.0,x=-22.0,y=16.0,r=0.56])Node2100[a=-1.0,b=1.0,x=-21.0,y=15.0,r=1.17])Node1941[a=0.0,b=1.0,x=-20.0,y=14.0,r=0.64],((((Node3071[a=-1.0,b=1.0,x=-25.0,y=18.0,r=1.12])Node2895[a=-1.0,b=1.0,x=-24.0,y=17.0,r=0.58])Node2569[a=-1.0,b=1.0,x=-23.0,y=16.0,r=0.97])Node2413[a=-1.0,b=1.0,x=-22.0,y=15.0,r=0.87])Node1940[a=-1.0,b=1.0,x=-21.0,y=14.0,r=1.02])Node1800[a=-1.0,b=1.0,x=-20.0,y=13.0,r=1.08])Node1661[a=-1.0,b=1.0,x=-19.0,y=12.0,r=0.56],Node1660[a=-1.0,b=0.0,x=-19.0,y=11.0,r=0.79])Node1522[a=-1.0,b=0.0,x=-18.0,y=11.0,r=1.23])Node1404[a=-1.0,b=0.0,x=-17.0,y=11.0,r=1.14])Node1102[a=-1.0,b=0.0,x=-16.0,y=11.0,r=0.93])Node993[a=-1.0,b=1.0,x=-15.0,y=11.0,r=0.99])Node900[a=0.0,b=1.0,x=-14.0,y=10.0,r=1.4],(Node992[a=0.0,b=1.0,x=-15.0,y=10.0,r=1.35])Node899[a=-1.0,b=0.0,x=-15.0,y=9.0,r=1.2])Node806[a=-1.0,b=1.0,x=-14.0,y=9.0,r=0.99])Node726[a=-1.0,b=0.0,x=-13.0,y=8.0,r=0.88])Node585[a=-1.0,b=1.0,x=-12.0,y=8.0,r=1.34])Node514[a=-1.0,b=1.0,x=-11.0,y=7.0,r=1.03])Node435[a=-1.0,b=1.0,x=-10.0,y=6.0,r=1.14])Node375[a=0.0,b=1.0,x=-9.0,y=5.0,r=0.65])Node312[a=-1.0,b=-1.0,x=-9.0,y=4.0,r=1.35])Node259[a=0.0,b=1.0,x=-8.0,y=5.0,r=0.52],((((((Node725[a=-1.0,b=1.0,x=-13.0,y=6.0,r=1.05])Node652[a=0.0,b=-1.0,x=-12.0,y=5.0,r=0.96],((((((((((((Node2568[a=-1.0,b=1.0,x=-24.0,y=14.0,r=0.83])Node2249[a=-1.0,b=1.0,x=-23.0,y=13.0,r=1.25])Node2099[a=-1.0,b=1.0,x=-22.0,y=12.0,r=1.41])Node1939[a=-1.0,b=0.0,x=-21.0,y=11.0,r=1.48],Node1938[a=-1.0,b=1.0,x=-21.0,y=12.0,r=1.06])Node1799[a=-1.0,b=1.0,x=-20.0,y=11.0,r=0.75])Node1521[a=-1.0,b=1.0,x=-19.0,y=10.0,r=1.24])Node1403[a=-1.0,b=1.0,x=-18.0,y=9.0,r=1.01])Node1203[a=-1.0,b=0.0,x=-17.0,y=8.0,r=0.73])Node991[a=-1.0,b=1.0,x=-16.0,y=8.0,r=1.49])Node898[a=0.0,b=1.0,x=-15.0,y=7.0,r=1.37])Node805[a=-1.0,b=1.0,x=-15.0,y=6.0,r=0.51],((Node990[a=-1.0,b=1.0,x=-17.0,y=6.0,r=0.64],(((((((((Node2248[a=-1.0,b=-1.0,x=-26.0,y=6.0,r=0.57])Node2098[a=-1.0,b=0.0,x=-25.0,y=7.0,r=0.74],(((Node2894[a=-1.0,b=1.0,x=-28.0,y=8.0,r=1.06])Node2567[a=-1.0,b=-1.0,x=-27.0,y=7.0,r=0.82])Node2412[a=-1.0,b=0.0,x=-26.0,y=8.0,r=1.45],((((((Node3420[a=-1.0,b=0.0,x=-31.0,y=11.0,r=0.52],Node3419[a=-1.0,b=1.0,x=-31.0,y=12.0,r=0.93])Node3243[a=-1.0,b=1.0,x=-30.0,y=11.0,r=1.0])Node3070[a=0.0,b=1.0,x=-29.0,y=10.0,r=1.07])Node2893[a=-1.0,b=0.0,x=-29.0,y=9.0,r=0.94])Node2729[a=-1.0,b=-1.0,x=-28.0,y=9.0,r=0.61])Node2566[a=-1.0,b=1.0,x=-27.0,y=10.0,r=0.8])Node2411[a=-1.0,b=1.0,x=-26.0,y=9.0,r=0.59])Node2097[a=-1.0,b=1.0,x=-25.0,y=8.0,r=1.3])Node1937[a=-1.0,b=0.0,x=-24.0,y=7.0,r=0.92])Node1798[a=-1.0,b=1.0,x=-23.0,y=7.0,r=0.88])Node1659[a=-1.0,b=1.0,x=-22.0,y=6.0,r=0.62])Node1402[a=-1.0,b=1.0,x=-21.0,y=5.0,r=0.88],(((Node1797[a=-1.0,b=-1.0,x=-24.0,y=1.0,r=1.1],((((((Node2892[a=-1.0,b=-1.0,x=-28.0,y=-4.0,r=1.14])Node2565[a=-1.0,b=-1.0,x=-27.0,y=-3.0,r=1.4])Node2410[a=-1.0,b=-1.0,x=-26.0,y=-2.0,r=1.39],(Node2564[a=-1.0,b=0.0,x=-27.0,y=-1.0,r=1.21],((((Node3583[a=-1.0,b=-1.0,x=-31.0,y=-4.0,r=0.97])Node3069[a=-1.0,b=0.0,x=-30.0,y=-3.0,r=0.59],(((Node3582[a=0.0,b=-1.0,x=-31.0,y=-7.0,r=1.32],Node3581[a=-1.0,b=-1.0,x=-32.0,y=-7.0,r=0.97])Node3418[a=-1.0,b=-1.0,x=-31.0,y=-6.0,r=0.53])Node3242[a=-1.0,b=-1.0,x=-30.0,y=-5.0,r=0.56],((Node3580[a=-1.0,b=0.0,x=-32.0,y=-5.0,r=1.06])Node3417[a=-1.0,b=-1.0,x=-31.0,y=-5.0,r=0.54])Node3241[a=-1.0,b=0.0,x=-30.0,y=-4.0,r=0.61])Node3068[a=0.0,b=-1.0,x=-29.0,y=-4.0,r=0.93])Node2891[a=-1.0,b=-1.0,x=-29.0,y=-3.0,r=1.19],Node2890[a=0.0,b=-1.0,x=-28.0,y=-3.0,r=0.58])Node2728[a=-1.0,b=0.0,x=-28.0,y=-2.0,r=0.8])Node2563[a=-1.0,b=-1.0,x=-27.0,y=-2.0,r=1.06])Node2409[a=-1.0,b=0.0,x=-26.0,y=-1.0,r=0.64])Node2247[a=0.0,b=-1.0,x=-25.0,y=-1.0,r=0.97],((Node2562[a=-1.0,b=1.0,x=-28.0,y=2.0,r=0.66])Node2408[a=-1.0,b=1.0,x=-27.0,y=1.0,r=0.57])Node2246[a=-1.0,b=0.0,x=-26.0,y=0.0,r=1.36])Node2096[a=0.0,b=-1.0,x=-25.0,y=0.0,r=1.34],Node2095[a=1.0,b=-1.0,x=-24.0,y=0.0,r=0.6])Node1936[a=-1.0,b=-1.0,x=-25.0,y=1.0,r=0.61])Node1796[a=-1.0,b=0.0,x=-24.0,y=2.0,r=0.7])Node1658[a=-1.0,b=0.0,x=-23.0,y=2.0,r=1.29])Node1520[a=-1.0,b=-1.0,x=-22.0,y=2.0,r=0.56],(((Node2094[a=-1.0,b=0.0,x=-25.0,y=5.0,r=0.9])Node1795[a=-1.0,b=0.0,x=-24.0,y=5.0,r=1.12],(((Node2727[a=-1.0,b=1.0,x=-27.0,y=8.0,r=1.14])Node2407[a=-1.0,b=1.0,x=-26.0,y=7.0,r=0.86])Node2093[a=-1.0,b=0.0,x=-25.0,y=6.0,r=0.61])Node1794[a=-1.0,b=1.0,x=-24.0,y=6.0,r=0.76])Node1657[a=-1.0,b=1.0,x=-23.0,y=5.0,r=0.86],(((((((((((Node3579[a=-1.0,b=0.0,x=-32.0,y=-2.0,r=1.29],Node3578[a=-1.0,b=1.0,x=-32.0,y=-1.0,r=0.91])Node3416[a=-1.0,b=0.0,x=-31.0,y=-2.0,r=1.49],Node3415[a=-1.0,b=-1.0,x=-31.0,y=-3.0,r=0.7])Node3067[a=0.0,b=-1.0,x=-30.0,y=-2.0,r=0.59])Node2889[a=-1.0,b=-1.0,x=-30.0,y=-1.0,r=1.01])Node2726[a=0.0,b=1.0,x=-29.0,y=0.0,r=1.21])Node2561[a=-1.0,b=-1.0,x=-29.0,y=-1.0,r=1.3])Node2406[a=-1.0,b=0.0,x=-28.0,y=0.0,r=0.92],(Node3066[a=-1.0,b=-1.0,x=-29.0,y=-2.0,r=1.49])Node2405[a=-1.0,b=-1.0,x=-28.0,y=-1.0,r=1.23])Node2245[a=-1.0,b=-1.0,x=-27.0,y=0.0,r=1.2])Node2092[a=-1.0,b=-1.0,x=-26.0,y=1.0,r=1.37])Node1935[a=-1.0,b=-1.0,x=-25.0,y=2.0,r=0.81],((((((((Node3240[a=-1.0,b=1.0,x=-32.0,y=9.0,r=1.31])Node3065[a=-1.0,b=1.0,x=-31.0,y=8.0,r=1.32])Node2888[a=-1.0,b=1.0,x=-30.0,y=7.0,r=0.68])Node2725[a=-1.0,b=1.0,x=-29.0,y=6.0,r=0.9],((((Node3414[a=-1.0,b=0.0,x=-33.0,y=7.0,r=0.62],(Node3577[a=-1.0,b=-1.0,x=-34.0,y=7.0,r=0.76],Node3576[a=-1.0,b=0.0,x=-34.0,y=8.0,r=1.43])Node3413[a=-1.0,b=1.0,x=-33.0,y=8.0,r=0.78])Node3239[a=-1.0,b=0.0,x=-32.0,y=7.0,r=0.61])Node3064[a=-1.0,b=1.0,x=-31.0,y=7.0,r=1.29])Node2887[a=-1.0,b=1.0,x=-30.0,y=6.0,r=0.95])Node2724[a=-1.0,b=0.0,x=-29.0,y=5.0,r=1.21])Node2560[a=-1.0,b=1.0,x=-28.0,y=5.0,r=0.65])Node2404[a=-1.0,b=1.0,x=-27.0,y=4.0,r=1.35],Node2403[a=0.0,b=1.0,x=-26.0,y=4.0,r=1.1])Node2244[a=0.0,b=1.0,x=-26.0,y=3.0,r=0.97],((((((Node3412[a=-1.0,b=-1.0,x=-33.0,y=5.0,r=1.29])Node3238[a=-1.0,b=0.0,x=-32.0,y=6.0,r=0.52])Node3063[a=-1.0,b=1.0,x=-31.0,y=6.0,r=0.96])Node2886[a=-1.0,b=1.0,x=-30.0,y=5.0,r=1.41],((((Node3575[a=-1.0,b=0.0,x=-34.0,y=4.0,r=0.76],Node3574[a=-1.0,b=1.0,x=-34.0,y=5.0,r=0.77])Node3411[a=-1.0,b=0.0,x=-33.0,y=4.0,r=1.47])Node3237[a=-1.0,b=0.0,x=-32.0,y=4.0,r=0.61])Node3062[a=-1.0,b=0.0,x=-31.0,y=4.0,r=0.97],(Node3410[a=-1.0,b=0.0,x=-32.0,y=5.0,r=1.01])Node3061[a=-1.0,b=1.0,x=-31.0,y=5.0,r=0.57])Node2885[a=-1.0,b=0.0,x=-30.0,y=4.0,r=1.4])Node2723[a=-1.0,b=1.0,x=-29.0,y=4.0,r=0.71])Node2402[a=-1.0,b=0.0,x=-28.0,y=3.0,r=0.98],((Node3236[a=-1.0,b=1.0,x=-29.0,y=2.0,r=0.97])Node2559[a=-1.0,b=-1.0,x=-28.0,y=1.0,r=0.64])Node2401[a=0.0,b=-1.0,x=-27.0,y=2.0,r=1.11])Node2243[a=-1.0,b=1.0,x=-27.0,y=3.0,r=1.19])Node2091[a=-1.0,b=-1.0,x=-26.0,y=2.0,r=0.84])Node1934[a=-1.0,b=0.0,x=-25.0,y=3.0,r=1.14])Node1793[a=-1.0,b=-1.0,x=-24.0,y=3.0,r=1.02],(((Node2558[a=-1.0,b=1.0,x=-27.0,y=6.0,r=0.8],((((Node3235[a=-1.0,b=1.0,x=-30.0,y=9.0,r=1.42])Node3060[a=-1.0,b=1.0,x=-29.0,y=8.0,r=0.7])Node2884[a=0.0,b=1.0,x=-28.0,y=7.0,r=1.21],(((Node3573[a=-1.0,b=-1.0,x=-32.0,y=8.0,r=1.12],Node3572[a=0.0,b=1.0,x=-31.0,y=10.0,r=1.05])Node3234[a=-1.0,b=1.0,x=-31.0,y=9.0,r=0.87])Node3059[a=-1.0,b=1.0,x=-30.0,y=8.0,r=0.63])Node2883[a=-1.0,b=1.0,x=-29.0,y=7.0,r=1.41])Node2722[a=-1.0,b=1.0,x=-28.0,y=6.0,r=1.46],(((((Node3571[a=1.0,b=0.0,x=-31.0,y=1.0,r=1.05],Node3570[a=-1.0,b=0.0,x=-33.0,y=1.0,r=0.94])Node3409[a=-1.0,b=-1.0,x=-32.0,y=1.0,r=1.15],(Node3569[a=1.0,b=1.0,x=-31.0,y=3.0,r=1.15])Node3408[a=-1.0,b=0.0,x=-32.0,y=2.0,r=0.93])Node3233[a=-1.0,b=-1.0,x=-31.0,y=2.0,r=0.52])Node3058[a=-1.0,b=0.0,x=-30.0,y=3.0,r=1.24],(((Node3568[a=0.0,b=1.0,x=-30.0,y=1.0,r=0.79])Node3407[a=-1.0,b=-1.0,x=-30.0,y=0.0,r=0.62])Node3232[a=1.0,b=-1.0,x=-29.0,y=1.0,r=1.02])Node3057[a=-1.0,b=-1.0,x=-30.0,y=2.0,r=0.67])Node2882[a=-1.0,b=-1.0,x=-29.0,y=3.0,r=1.11])Node2721[a=-1.0,b=-1.0,x=-28.0,y=4.0,r=1.3])Node2557[a=-1.0,b=0.0,x=-27.0,y=5.0,r=1.06])Node2400[a=-1.0,b=1.0,x=-26.0,y=5.0,r=1.48])Node2090[a=-1.0,b=0.0,x=-25.0,y=4.0,r=1.4])Node1792[a=-1.0,b=0.0,x=-24.0,y=4.0,r=0.95])Node1656[a=-1.0,b=0.0,x=-23.0,y=4.0,r=0.93])Node1519[a=-1.0,b=1.0,x=-22.0,y=4.0,r=1.11])Node1401[a=-1.0,b=-1.0,x=-21.0,y=3.0,r=1.11])Node1294[a=-1.0,b=-1.0,x=-20.0,y=4.0,r=1.14])Node1202[a=-1.0,b=0.0,x=-19.0,y=5.0,r=0.97],(((Node1518[a=-1.0,b=1.0,x=-21.0,y=7.0,r=0.8])Node1400[a=-1.0,b=0.0,x=-20.0,y=6.0,r=0.61])Node1293[a=-1.0,b=0.0,x=-19.0,y=6.0,r=0.97])Node1201[a=0.0,b=1.0,x=-18.0,y=6.0,r=1.38])Node1101[a=-1.0,b=1.0,x=-18.0,y=5.0,r=0.65],(((Node1517[a=0.0,b=1.0,x=-20.0,y=3.0,r=0.66],(Node1655[a=0.0,b=-1.0,x=-21.0,y=0.0,r=0.68])Node1516[a=-1.0,b=-1.0,x=-21.0,y=1.0,r=0.95])Node1399[a=-1.0,b=-1.0,x=-20.0,y=2.0,r=0.74])Node1200[a=-1.0,b=0.0,x=-19.0,y=3.0,r=1.09])Node1100[a=-1.0,b=-1.0,x=-18.0,y=3.0,r=1.08])Node989[a=-1.0,b=-1.0,x=-17.0,y=4.0,r=1.5])Node897[a=-1.0,b=1.0,x=-16.0,y=5.0,r=1.01],((((((Node1791[a=-1.0,b=-1.0,x=-21.0,y=-2.0,r=1.17])Node1515[a=-1.0,b=0.0,x=-20.0,y=-1.0,r=0.83],Node1514[a=-1.0,b=-1.0,x=-20.0,y=-2.0,r=0.83])Node1292[a=-1.0,b=-1.0,x=-19.0,y=-1.0,r=1.02])Node1199[a=-1.0,b=-1.0,x=-18.0,y=0.0,r=1.42],((Node1398[a=0.0,b=-1.0,x=-17.0,y=-2.0,r=1.35],(((((((Node2399[a=-1.0,b=-1.0,x=-25.0,y=-4.0,r=1.38])Node2242[a=-1.0,b=-1.0,x=-24.0,y=-3.0,r=1.18])Node2089[a=-1.0,b=-1.0,x=-23.0,y=-2.0,r=0.55],(Node2241[a=-1.0,b=-1.0,x=-23.0,y=-3.0,r=1.09])Node2088[a=0.0,b=-1.0,x=-22.0,y=-2.0,r=0.93])Node1933[a=-1.0,b=0.0,x=-22.0,y=-1.0,r=0.53])Node1790[a=-1.0,b=-1.0,x=-21.0,y=-1.0,r=1.29])Node1654[a=-1.0,b=0.0,x=-20.0,y=0.0,r=0.78])Node1513[a=-1.0,b=1.0,x=-19.0,y=0.0,r=1.06])Node1397[a=-1.0,b=0.0,x=-18.0,y=-1.0,r=1.43])Node1291[a=0.0,b=-1.0,x=-17.0,y=-1.0,r=1.33])Node1198[a=0.0,b=-1.0,x=-17.0,y=0.0,r=1.26])Node1099[a=-1.0,b=-1.0,x=-17.0,y=1.0,r=0.86],((Node1396[a=-1.0,b=1.0,x=-19.0,y=2.0,r=1.35])Node1197[a=-1.0,b=-1.0,x=-18.0,y=1.0,r=0.85])Node1098[a=-1.0,b=0.0,x=-17.0,y=2.0,r=1.15])Node988[a=0.0,b=-1.0,x=-16.0,y=2.0,r=0.56])Node896[a=-1.0,b=-1.0,x=-16.0,y=3.0,r=0.96])Node804[a=-1.0,b=-1.0,x=-15.0,y=4.0,r=0.85])Node724[a=-1.0,b=0.0,x=-14.0,y=5.0,r=1.13],(((((((((((((((Node3056[a=1.0,b=1.0,x=-26.0,y=14.0,r=0.92],(Node3231[a=-1.0,b=1.0,x=-28.0,y=15.0,r=1.41],((Node3567[a=-1.0,b=1.0,x=-30.0,y=16.0,r=0.95])Node3406[a=-1.0,b=1.0,x=-29.0,y=15.0,r=1.05])Node3230[a=-1.0,b=0.0,x=-28.0,y=14.0,r=1.24])Node3055[a=0.0,b=1.0,x=-27.0,y=14.0,r=1.43])Node2720[a=-1.0,b=0.0,x=-27.0,y=13.0,r=1.42])Node2556[a=-1.0,b=0.0,x=-26.0,y=13.0,r=0.8],((((Node3405[a=-1.0,b=1.0,x=-30.0,y=14.0,r=0.93])Node3229[a=-1.0,b=1.0,x=-29.0,y=13.0,r=1.08],(Node3404[a=-1.0,b=1.0,x=-29.0,y=14.0,r=1.41])Node3228[a=0.0,b=1.0,x=-28.0,y=13.0,r=1.31])Node2881[a=-1.0,b=0.0,x=-28.0,y=12.0,r=1.41])Node2719[a=-1.0,b=0.0,x=-27.0,y=12.0,r=1.49])Node2555[a=-1.0,b=-1.0,x=-26.0,y=12.0,r=0.67])Node2398[a=-1.0,b=1.0,x=-25.0,y=13.0,r=1.37])Node2240[a=-1.0,b=1.0,x=-24.0,y=12.0,r=1.1])Node2087[a=-1.0,b=1.0,x=-23.0,y=11.0,r=0.92],(((Node2554[a=0.0,b=-1.0,x=-25.0,y=11.0,r=0.71])Node2397[a=-1.0,b=1.0,x=-25.0,y=12.0,r=1.24])Node2239[a=-1.0,b=1.0,x=-24.0,y=11.0,r=1.45])Node2086[a=-1.0,b=0.0,x=-23.0,y=10.0,r=0.62])Node1932[a=-1.0,b=1.0,x=-22.0,y=10.0,r=0.79])Node1789[a=-1.0,b=1.0,x=-21.0,y=9.0,r=1.2],(Node1931[a=-1.0,b=1.0,x=-22.0,y=9.0,r=0.56])Node1788[a=-1.0,b=0.0,x=-21.0,y=8.0,r=0.87])Node1653[a=0.0,b=1.0,x=-20.0,y=8.0,r=0.6])Node1512[a=-1.0,b=0.0,x=-20.0,y=7.0,r=0.94])Node1290[a=-1.0,b=-1.0,x=-19.0,y=7.0,r=1.08])Node1196[a=-1.0,b=1.0,x=-18.0,y=8.0,r=1.23],(Node1652[a=-1.0,b=1.0,x=-19.0,y=8.0,r=1.35])Node1195[a=-1.0,b=0.0,x=-18.0,y=7.0,r=0.79])Node1097[a=-1.0,b=1.0,x=-17.0,y=7.0,r=0.94])Node987[a=-1.0,b=1.0,x=-16.0,y=6.0,r=1.13],((((((((((((Node2718[a=-1.0,b=-1.0,x=-27.0,y=-4.0,r=1.29])Node2553[a=-1.0,b=0.0,x=-26.0,y=-3.0,r=1.24],Node2552[a=-1.0,b=-1.0,x=-26.0,y=-4.0,r=0.74])Node2396[a=-1.0,b=-1.0,x=-25.0,y=-3.0,r=1.35])Node2238[a=-1.0,b=-1.0,x=-24.0,y=-2.0,r=1.22])Node2085[a=-1.0,b=-1.0,x=-23.0,y=-1.0,r=0.53])Node1930[a=0.0,b=-1.0,x=-22.0,y=0.0,r=1.13],(((Node2395[a=-1.0,b=-1.0,x=-25.0,y=-2.0,r=0.89])Node2237[a=-1.0,b=-1.0,x=-24.0,y=-1.0,r=0.91])Node2084[a=0.0,b=-1.0,x=-23.0,y=0.0,r=1.36])Node1929[a=-1.0,b=0.0,x=-23.0,y=1.0,r=1.12])Node1787[a=-1.0,b=-1.0,x=-22.0,y=1.0,r=1.34])Node1651[a=-1.0,b=1.0,x=-21.0,y=2.0,r=0.54])Node1511[a=-1.0,b=0.0,x=-20.0,y=1.0,r=1.47])Node1289[a=-1.0,b=-1.0,x=-19.0,y=1.0,r=0.63])Node1194[a=-1.0,b=-1.0,x=-18.0,y=2.0,r=0.75],((((((Node2236[a=-1.0,b=0.0,x=-24.0,y=8.0,r=1.42])Node1928[a=-1.0,b=1.0,x=-23.0,y=8.0,r=0.88],(((((((((Node3566[a=-1.0,b=1.0,x=-31.0,y=14.0,r=0.5])Node3403[a=-1.0,b=1.0,x=-30.0,y=13.0,r=1.3])Node3227[a=-1.0,b=1.0,x=-29.0,y=12.0,r=0.9])Node3054[a=-1.0,b=0.0,x=-28.0,y=11.0,r=1.12])Node2880[a=-1.0,b=0.0,x=-27.0,y=11.0,r=0.68])Node2717[a=-1.0,b=1.0,x=-26.0,y=11.0,r=1.46])Node2394[a=-1.0,b=1.0,x=-25.0,y=10.0,r=0.77])Node2235[a=-1.0,b=0.0,x=-24.0,y=9.0,r=1.48],((((((Node3402[a=-1.0,b=-1.0,x=-30.0,y=10.0,r=1.47],(Node3565[a=-1.0,b=1.0,x=-31.0,y=13.0,r=1.16])Node3401[a=-1.0,b=1.0,x=-30.0,y=12.0,r=1.23])Node3226[a=-1.0,b=1.0,x=-29.0,y=11.0,r=0.51])Node2879[a=-1.0,b=1.0,x=-28.0,y=10.0,r=0.77])Node2716[a=-1.0,b=-1.0,x=-27.0,y=9.0,r=1.24])Node2551[a=-1.0,b=1.0,x=-26.0,y=10.0,r=0.56])Node2393[a=-1.0,b=-1.0,x=-25.0,y=9.0,r=0.56])Node2234[a=-1.0,b=1.0,x=-24.0,y=10.0,r=1.05])Node2083[a=-1.0,b=1.0,x=-23.0,y=9.0,r=1.18])Node1927[a=0.0,b=1.0,x=-22.0,y=8.0,r=0.6])Node1786[a=-1.0,b=1.0,x=-22.0,y=7.0,r=0.94])Node1510[a=-1.0,b=1.0,x=-21.0,y=6.0,r=1.42],((Node1785[a=-1.0,b=1.0,x=-23.0,y=6.0,r=1.26])Node1650[a=-1.0,b=1.0,x=-22.0,y=5.0,r=1.01],(Node1784[a=-1.0,b=0.0,x=-23.0,y=3.0,r=1.21])Node1649[a=-1.0,b=-1.0,x=-22.0,y=3.0,r=0.91])Node1509[a=-1.0,b=-1.0,x=-21.0,y=4.0,r=0.51])Node1395[a=-1.0,b=1.0,x=-20.0,y=5.0,r=1.33])Node1288[a=-1.0,b=0.0,x=-19.0,y=4.0,r=1.18])Node1193[a=-1.0,b=1.0,x=-18.0,y=4.0,r=1.03])Node1096[a=-1.0,b=-1.0,x=-17.0,y=3.0,r=0.62],Node1095[a=-1.0,b=1.0,x=-17.0,y=5.0,r=1.35])Node986[a=-1.0,b=-1.0,x=-16.0,y=4.0,r=0.99])Node895[a=-1.0,b=-1.0,x=-15.0,y=5.0,r=1.01])Node723[a=-1.0,b=1.0,x=-14.0,y=6.0,r=1.21])Node651[a=-1.0,b=-1.0,x=-13.0,y=5.0,r=1.38])Node584[a=-1.0,b=1.0,x=-12.0,y=6.0,r=1.29])Node513[a=0.0,b=1.0,x=-11.0,y=5.0,r=1.47])Node434[a=-1.0,b=0.0,x=-11.0,y=4.0,r=1.12],Node433[a=0.0,b=1.0,x=-10.0,y=5.0,r=1.38])Node374[a=-1.0,b=1.0,x=-10.0,y=4.0,r=1.03])Node258[a=-1.0,b=-1.0,x=-9.0,y=3.0,r=0.68])Node213[a=-1.0,b=1.0,x=-8.0,y=4.0,r=1.14])Node141[a=-1.0,b=-1.0,x=-7.0,y=3.0,r=0.6],(((Node257[a=-1.0,b=1.0,x=-4.0,y=7.0,r=0.8],(Node311[a=0.0,b=1.0,x=-2.0,y=6.0,r=0.74])Node256[a=1.0,b=-1.0,x=-2.0,y=5.0,r=1.4])Node212[a=1.0,b=1.0,x=-3.0,y=6.0,r=1.27])Node168[a=1.0,b=1.0,x=-4.0,y=5.0,r=0.68],(((Node310[a=-1.0,b=-1.0,x=-7.0,y=5.0,r=0.57],((Node512[a=-1.0,b=1.0,x=-8.0,y=8.0,r=1.29])Node373[a=0.0,b=1.0,x=-7.0,y=7.0,r=1.14],((Node511[a=0.0,b=-1.0,x=-9.0,y=6.0,r=1.1],(((((Node1094[a=-1.0,b=1.0,x=-15.0,y=12.0,r=0.65],(Node1192[a=0.0,b=1.0,x=-14.0,y=13.0,r=0.77],(Node1394[a=-1.0,b=1.0,x=-16.0,y=14.0,r=1.43])Node1191[a=-1.0,b=1.0,x=-15.0,y=13.0,r=0.56])Node1093[a=0.0,b=1.0,x=-14.0,y=12.0,r=0.69])Node985[a=-1.0,b=1.0,x=-14.0,y=11.0,r=1.35],(Node1190[a=0.0,b=1.0,x=-13.0,y=12.0,r=0.62])Node984[a=0.0,b=1.0,x=-13.0,y=11.0,r=0.54])Node894[a=-1.0,b=1.0,x=-13.0,y=10.0,r=1.23])Node650[a=-1.0,b=1.0,x=-12.0,y=9.0,r=0.94],Node649[a=1.0,b=1.0,x=-10.0,y=9.0,r=1.03])Node583[a=-1.0,b=1.0,x=-11.0,y=8.0,r=1.05])Node510[a=-1.0,b=0.0,x=-10.0,y=7.0,r=0.85])Node432[a=-1.0,b=1.0,x=-9.0,y=7.0,r=1.24])Node372[a=-1.0,b=0.0,x=-8.0,y=6.0,r=0.97])Node309[a=-1.0,b=0.0,x=-7.0,y=6.0,r=1.3])Node255[a=-1.0,b=0.0,x=-6.0,y=6.0,r=1.39])Node211[a=1.0,b=1.0,x=-5.0,y=6.0,r=1.02])Node167[a=-1.0,b=1.0,x=-6.0,y=5.0,r=0.61])Node140[a=1.0,b=0.0,x=-5.0,y=4.0,r=1.12])Node95[a=-1.0,b=-1.0,x=-6.0,y=4.0,r=0.7])Node80[a=-1.0,b=1.0,x=-5.0,y=5.0,r=1.46])Node65[a=-1.0,b=1.0,x=-4.0,y=4.0,r=0.7])Node51[a=0.0,b=1.0,x=-3.0,y=3.0,r=1.12],((Node139[a=0.0,b=-1.0,x=-3.0,y=-1.0,r=0.92],(((((((((((Node893[a=-1.0,b=-1.0,x=-11.0,y=-8.0,r=1.24],(((Node1287[a=-1.0,b=0.0,x=-13.0,y=-9.0,r=1.07],(Node1393[a=-1.0,b=-1.0,x=-13.0,y=-11.0,r=0.51],(((Node1783[a=0.0,b=-1.0,x=-15.0,y=-13.0,r=0.57],((((Node2392[a=-1.0,b=-1.0,x=-19.0,y=-17.0,r=1.18])Node2233[a=-1.0,b=-1.0,x=-18.0,y=-16.0,r=0.73])Node2082[a=0.0,b=-1.0,x=-17.0,y=-15.0,r=0.66],((((Node3053[a=1.0,b=0.0,x=-20.0,y=-17.0,r=1.0],(Node3400[a=-1.0,b=-1.0,x=-23.0,y=-19.0,r=0.54],Node3399[a=-1.0,b=0.0,x=-23.0,y=-18.0,r=1.41])Node3052[a=-1.0,b=-1.0,x=-22.0,y=-18.0,r=0.97])Node2878[a=-1.0,b=-1.0,x=-21.0,y=-17.0,r=1.29])Node2550[a=-1.0,b=-1.0,x=-20.0,y=-16.0,r=1.02],Node2549[a=-1.0,b=1.0,x=-20.0,y=-14.0,r=1.0])Node2391[a=-1.0,b=0.0,x=-19.0,y=-15.0,r=0.69],(((Node2877[a=-1.0,b=1.0,x=-22.0,y=-15.0,r=0.6])Node2715[a=-1.0,b=-1.0,x=-21.0,y=-16.0,r=1.42],((Node3225[a=0.0,b=-1.0,x=-22.0,y=-17.0,r=1.16])Node3051[a=-1.0,b=-1.0,x=-22.0,y=-16.0,r=0.67])Node2714[a=-1.0,b=0.0,x=-21.0,y=-15.0,r=0.78])Node2548[a=-1.0,b=1.0,x=-20.0,y=-15.0,r=0.52])Node2390[a=-1.0,b=-1.0,x=-19.0,y=-16.0,r=0.56])Node2081[a=-1.0,b=-1.0,x=-18.0,y=-15.0,r=1.08])Node1926[a=-1.0,b=-1.0,x=-17.0,y=-14.0,r=0.7],(Node2080[a=-1.0,b=-1.0,x=-18.0,y=-14.0,r=1.08],(((Node2713[a=-1.0,b=-1.0,x=-21.0,y=-14.0,r=0.58])Node2547[a=-1.0,b=-1.0,x=-20.0,y=-13.0,r=0.84],Node2546[a=0.0,b=-1.0,x=-19.0,y=-13.0,r=1.17])Node2232[a=-1.0,b=0.0,x=-19.0,y=-12.0,r=1.46])Node2079[a=-1.0,b=1.0,x=-18.0,y=-12.0,r=1.25])Node1925[a=-1.0,b=0.0,x=-17.0,y=-13.0,r=1.28])Node1782[a=-1.0,b=-1.0,x=-16.0,y=-13.0,r=1.19])Node1648[a=-1.0,b=-1.0,x=-15.0,y=-12.0,r=0.52])Node1508[a=-1.0,b=-1.0,x=-14.0,y=-11.0,r=1.17])Node1392[a=-1.0,b=0.0,x=-13.0,y=-10.0,r=0.58])Node1286[a=0.0,b=-1.0,x=-12.0,y=-10.0,r=0.77])Node1189[a=-1.0,b=0.0,x=-12.0,y=-9.0,r=1.14])Node1092[a=-1.0,b=-1.0,x=-11.0,y=-9.0,r=1.36])Node892[a=0.0,b=-1.0,x=-10.0,y=-8.0,r=1.2])Node803[a=0.0,b=-1.0,x=-10.0,y=-7.0,r=1.07])Node722[a=-1.0,b=-1.0,x=-10.0,y=-6.0,r=0.68])Node648[a=-1.0,b=-1.0,x=-9.0,y=-5.0,r=1.04],(Node721[a=-1.0,b=0.0,x=-10.0,y=-4.0,r=0.57])Node647[a=-1.0,b=0.0,x=-9.0,y=-4.0,r=1.45])Node509[a=-1.0,b=-1.0,x=-8.0,y=-4.0,r=0.97],((((((Node1091[a=-1.0,b=-1.0,x=-9.0,y=-10.0,r=1.26],Node1090[a=0.0,b=-1.0,x=-8.0,y=-10.0,r=1.13])Node891[a=0.0,b=-1.0,x=-8.0,y=-9.0,r=0.71])Node802[a=1.0,b=-1.0,x=-8.0,y=-8.0,r=0.92])Node720[a=-1.0,b=-1.0,x=-9.0,y=-7.0,r=0.68],(Node890[a=0.0,b=-1.0,x=-7.0,y=-8.0,r=1.29])Node719[a=1.0,b=-1.0,x=-7.0,y=-7.0,r=1.42])Node646[a=0.0,b=-1.0,x=-8.0,y=-6.0,r=1.38],(((((((((Node2078[a=-1.0,b=0.0,x=-16.0,y=-14.0,r=0.71],((((((Node3224[a=-1.0,b=-1.0,x=-21.0,y=-20.0,r=0.94])Node3050[a=-1.0,b=0.0,x=-20.0,y=-19.0,r=0.95],((Node3398[a=-1.0,b=-1.0,x=-22.0,y=-19.0,r=1.03])Node3223[a=-1.0,b=0.0,x=-21.0,y=-18.0,r=1.15],((Node3564[a=0.0,b=-1.0,x=-22.0,y=-21.0,r=0.81],Node3563[a=-1.0,b=0.0,x=-23.0,y=-20.0,r=1.46])Node3397[a=-1.0,b=-1.0,x=-22.0,y=-20.0,r=1.08])Node3222[a=-1.0,b=-1.0,x=-21.0,y=-19.0,r=1.32])Node3049[a=-1.0,b=1.0,x=-20.0,y=-18.0,r=0.57])Node2876[a=0.0,b=-1.0,x=-19.0,y=-19.0,r=1.48])Node2712[a=-1.0,b=-1.0,x=-19.0,y=-18.0,r=1.1])Node2389[a=-1.0,b=-1.0,x=-18.0,y=-17.0,r=0.76])Node2231[a=-1.0,b=-1.0,x=-17.0,y=-16.0,r=0.9])Node2077[a=-1.0,b=-1.0,x=-16.0,y=-15.0,r=0.85])Node1924[a=-1.0,b=-1.0,x=-15.0,y=-14.0,r=0.77])Node1781[a=-1.0,b=-1.0,x=-14.0,y=-13.0,r=1.2])Node1507[a=-1.0,b=-1.0,x=-13.0,y=-12.0,r=0.53])Node1285[a=-1.0,b=-1.0,x=-12.0,y=-11.0,r=0.91],((((((((((((Node3221[a=-1.0,b=0.0,x=-20.0,y=-20.0,r=0.89])Node3048[a=-1.0,b=-1.0,x=-19.0,y=-20.0,r=1.27])Node2875[a=-1.0,b=0.0,x=-18.0,y=-19.0,r=0.94])Node2711[a=0.0,b=-1.0,x=-17.0,y=-19.0,r=1.38])Node2545[a=-1.0,b=-1.0,x=-17.0,y=-18.0,r=0.71])Node2230[a=-1.0,b=-1.0,x=-16.0,y=-17.0,r=0.8])Node2076[a=-1.0,b=-1.0,x=-15.0,y=-16.0,r=0.96])Node1923[a=-1.0,b=-1.0,x=-14.0,y=-15.0,r=0.52])Node1780[a=-1.0,b=-1.0,x=-13.0,y=-14.0,r=1.21])Node1647[a=-1.0,b=-1.0,x=-12.0,y=-13.0,r=0.85])Node1506[a=-1.0,b=0.0,x=-11.0,y=-12.0,r=1.29])Node1391[a=0.0,b=-1.0,x=-10.0,y=-12.0,r=1.26])Node1284[a=1.0,b=-1.0,x=-10.0,y=-11.0,r=1.45])Node1188[a=-1.0,b=-1.0,x=-11.0,y=-10.0,r=0.86])Node1089[a=-1.0,b=-1.0,x=-10.0,y=-9.0,r=1.01],(((((((((Node2710[a=-1.0,b=-1.0,x=-18.0,y=-18.0,r=0.69])Node2388[a=-1.0,b=-1.0,x=-17.0,y=-17.0,r=0.65])Node2229[a=-1.0,b=-1.0,x=-16.0,y=-16.0,r=0.95])Node2075[a=-1.0,b=-1.0,x=-15.0,y=-15.0,r=1.13])Node1922[a=-1.0,b=-1.0,x=-14.0,y=-14.0,r=0.57])Node1646[a=-1.0,b=-1.0,x=-13.0,y=-13.0,r=0.68])Node1505[a=-1.0,b=-1.0,x=-12.0,y=-12.0,r=1.21])Node1390[a=-1.0,b=-1.0,x=-11.0,y=-11.0,r=0.75])Node1187[a=-1.0,b=-1.0,x=-10.0,y=-10.0,r=1.03])Node1088[a=0.0,b=-1.0,x=-9.0,y=-9.0,r=1.15])Node801[a=-1.0,b=-1.0,x=-9.0,y=-8.0,r=1.23])Node718[a=1.0,b=-1.0,x=-8.0,y=-7.0,r=0.74],(((Node1087[a=-1.0,b=-1.0,x=-12.0,y=-8.0,r=0.84],(((Node1504[a=0.0,b=-1.0,x=-14.0,y=-10.0,r=1.03],((((Node2387[a=-1.0,b=-1.0,x=-19.0,y=-14.0,r=1.22])Node2228[a=-1.0,b=-1.0,x=-18.0,y=-13.0,r=1.13])Node1779[a=-1.0,b=-1.0,x=-17.0,y=-12.0,r=1.49])Node1645[a=-1.0,b=-1.0,x=-16.0,y=-11.0,r=0.5],(Node1778[a=1.0,b=-1.0,x=-14.0,y=-12.0,r=0.72],(Node1921[a=-1.0,b=1.0,x=-17.0,y=-11.0,r=0.95])Node1777[a=-1.0,b=-1.0,x=-16.0,y=-12.0,r=1.47])Node1644[a=0.0,b=-1.0,x=-15.0,y=-11.0,r=0.59])Node1503[a=-1.0,b=-1.0,x=-15.0,y=-10.0,r=1.1])Node1389[a=-1.0,b=-1.0,x=-14.0,y=-9.0,r=0.73])Node1186[a=-1.0,b=-1.0,x=-13.0,y=-8.0,r=0.74],((((((Node2074[a=0.0,b=-1.0,x=-18.0,y=-11.0,r=1.38],(((((Node3220[a=-1.0,b=0.0,x=-24.0,y=-13.0,r=0.91])Node3047[a=-1.0,b=1.0,x=-23.0,y=-13.0,r=0.94],((Node3562[a=0.0,b=-1.0,x=-23.0,y=-17.0,r=1.36])Node3219[a=0.0,b=-1.0,x=-23.0,y=-16.0,r=1.31],(Node3396[a=0.0,b=-1.0,x=-24.0,y=-16.0,r=0.81],(Node3561[a=-1.0,b=0.0,x=-26.0,y=-14.0,r=1.42],Node3560[a=-1.0,b=-1.0,x=-26.0,y=-15.0,r=0.67])Node3395[a=-1.0,b=1.0,x=-25.0,y=-14.0,r=1.16])Node3218[a=-1.0,b=0.0,x=-24.0,y=-15.0,r=0.93])Node3046[a=-1.0,b=-1.0,x=-23.0,y=-15.0,r=0.89])Node2874[a=-1.0,b=-1.0,x=-22.0,y=-14.0,r=0.99])Node2386[a=-1.0,b=-1.0,x=-21.0,y=-13.0,r=1.21])Node2227[a=-1.0,b=-1.0,x=-20.0,y=-12.0,r=0.52])Node2073[a=-1.0,b=-1.0,x=-19.0,y=-11.0,r=1.45])Node1920[a=-1.0,b=-1.0,x=-18.0,y=-10.0,r=1.16])Node1776[a=-1.0,b=1.0,x=-17.0,y=-9.0,r=0.59])Node1643[a=-1.0,b=-1.0,x=-16.0,y=-10.0,r=0.74])Node1502[a=-1.0,b=-1.0,x=-15.0,y=-9.0,r=0.86])Node1283[a=-1.0,b=-1.0,x=-14.0,y=-8.0,r=0.57])Node1185[a=-1.0,b=0.0,x=-13.0,y=-7.0,r=0.87])Node1086[a=-1.0,b=0.0,x=-12.0,y=-7.0,r=1.47])Node889[a=0.0,b=-1.0,x=-11.0,y=-7.0,r=1.43])Node800[a=-1.0,b=-1.0,x=-11.0,y=-6.0,r=0.59],(((Node1085[a=-1.0,b=-1.0,x=-14.0,y=-7.0,r=1.21])Node983[a=-1.0,b=0.0,x=-13.0,y=-6.0,r=0.78])Node888[a=-1.0,b=-1.0,x=-12.0,y=-6.0,r=1.26])Node799[a=-1.0,b=0.0,x=-11.0,y=-5.0,r=0.79])Node717[a=-1.0,b=1.0,x=-10.0,y=-5.0,r=1.24])Node645[a=-1.0,b=-1.0,x=-9.0,y=-6.0,r=1.13])Node582[a=-1.0,b=-1.0,x=-8.0,y=-5.0,r=0.84])Node508[a=0.0,b=-1.0,x=-7.0,y=-4.0,r=0.68])Node431[a=-1.0,b=0.0,x=-7.0,y=-3.0,r=0.56],((Node644[a=1.0,b=-1.0,x=-6.0,y=-6.0,r=0.56],Node643[a=0.0,b=-1.0,x=-7.0,y=-6.0,r=0.96])Node581[a=-1.0,b=-1.0,x=-7.0,y=-5.0,r=0.78])Node430[a=0.0,b=-1.0,x=-6.0,y=-4.0,r=0.68])Node371[a=-1.0,b=0.0,x=-6.0,y=-3.0,r=1.05],((((((((Node982[a=0.0,b=-1.0,x=-7.0,y=-10.0,r=0.97])Node887[a=-1.0,b=0.0,x=-7.0,y=-9.0,r=1.3],((((Node1388[a=-1.0,b=0.0,x=-9.0,y=-11.0,r=0.6],Node1387[a=-1.0,b=-1.0,x=-9.0,y=-12.0,r=0.6])Node1184[a=-1.0,b=0.0,x=-8.0,y=-11.0,r=1.41])Node1084[a=-1.0,b=0.0,x=-7.0,y=-11.0,r=0.9])Node981[a=0.0,b=-1.0,x=-6.0,y=-11.0,r=1.32])Node886[a=0.0,b=-1.0,x=-6.0,y=-10.0,r=0.87])Node798[a=0.0,b=-1.0,x=-6.0,y=-9.0,r=0.61])Node716[a=-1.0,b=-1.0,x=-6.0,y=-8.0,r=0.52],(Node797[a=-1.0,b=1.0,x=-6.0,y=-7.0,r=0.89],(Node885[a=-1.0,b=0.0,x=-5.0,y=-9.0,r=1.26])Node796[a=1.0,b=-1.0,x=-4.0,y=-9.0,r=1.45])Node715[a=0.0,b=-1.0,x=-5.0,y=-8.0,r=1.21])Node642[a=-1.0,b=0.0,x=-5.0,y=-7.0,r=1.48])Node580[a=1.0,b=-1.0,x=-4.0,y=-7.0,r=0.98],Node579[a=-1.0,b=1.0,x=-6.0,y=-5.0,r=0.57])Node507[a=-1.0,b=-1.0,x=-5.0,y=-6.0,r=1.4])Node429[a=1.0,b=-1.0,x=-4.0,y=-5.0,r=1.27])Node370[a=0.0,b=-1.0,x=-5.0,y=-4.0,r=0.86])Node308[a=0.0,b=-1.0,x=-5.0,y=-3.0,r=0.63],Node307[a=1.0,b=-1.0,x=-4.0,y=-3.0,r=0.97])Node254[a=-1.0,b=0.0,x=-5.0,y=-2.0,r=1.26])Node210[a=1.0,b=-1.0,x=-4.0,y=-2.0,r=0.97])Node166[a=-1.0,b=0.0,x=-5.0,y=-1.0,r=1.16])Node138[a=-1.0,b=-1.0,x=-4.0,y=-1.0,r=1.28])Node112[a=-1.0,b=-1.0,x=-3.0,y=0.0,r=1.04],((((((Node578[a=-1.0,b=-1.0,x=-4.0,y=-6.0,r=0.52])Node428[a=-1.0,b=-1.0,x=-3.0,y=-5.0,r=0.83])Node306[a=0.0,b=-1.0,x=-2.0,y=-4.0,r=1.19])Node253[a=0.0,b=-1.0,x=-2.0,y=-3.0,r=1.24])Node209[a=0.0,b=-1.0,x=-2.0,y=-2.0,r=1.49],(((Node506[a=-1.0,b=-1.0,x=-5.0,y=-5.0,r=1.1])Node305[a=-1.0,b=-1.0,x=-4.0,y=-4.0,r=1.01],Node304[a=0.0,b=-1.0,x=-3.0,y=-4.0,r=1.41])Node252[a=0.0,b=-1.0,x=-3.0,y=-3.0,r=0.88])Node208[a=-1.0,b=-1.0,x=-3.0,y=-2.0,r=0.5])Node165[a=-1.0,b=-1.0,x=-2.0,y=-1.0,r=0.96])Node111[a=1.0,b=-1.0,x=-1.0,y=0.0,r=1.37])Node50[a=1.0,b=-1.0,x=-2.0,y=1.0,r=0.71])Node40[a=-1.0,b=-1.0,x=-3.0,y=2.0,r=0.5])Node31[a=0.0,b=-1.0,x=-2.0,y=3.0,r=0.6])Node21[a=-1.0,b=1.0,x=-2.0,y=4.0,r=0.79])Node13[a=0.0,b=1.0,x=-1.0,y=3.0,r=0.62],((((((((((((Node577[a=-1.0,b=1.0,x=-9.0,y=8.0,r=1.1])Node427[a=-1.0,b=-1.0,x=-8.0,y=7.0,r=0.8])Node303[a=-1.0,b=1.0,x=-7.0,y=8.0,r=1.28])Node251[a=-1.0,b=-1.0,x=-6.0,y=7.0,r=1.43])Node207[a=-1.0,b=-1.0,x=-5.0,y=8.0,r=0.97],((((Node505[a=1.0,b=1.0,x=-5.0,y=13.0,r=0.86])Node426[a=1.0,b=1.0,x=-6.0,y=12.0,r=1.37])Node369[a=-1.0,b=1.0,x=-7.0,y=11.0,r=1.17],Node368[a=1.0,b=1.0,x=-5.0,y=11.0,r=0.73])Node250[a=-1.0,b=0.0,x=-6.0,y=10.0,r=0.65],((Node425[a=1.0,b=1.0,x=-6.0,y=11.0,r=0.63],((((((Node1083[a=-1.0,b=1.0,x=-11.0,y=15.0,r=0.57],Node1082[a=1.0,b=0.0,x=-9.0,y=14.0,r=0.89])Node980[a=-1.0,b=1.0,x=-10.0,y=14.0,r=1.24])Node884[a=0.0,b=1.0,x=-9.0,y=13.0,r=0.74],(((Node1282[a=-1.0,b=0.0,x=-13.0,y=15.0,r=1.03],(((((Node1919[a=0.0,b=1.0,x=-16.0,y=19.0,r=0.85])Node1775[a=-1.0,b=0.0,x=-16.0,y=18.0,r=1.0])Node1642[a=-1.0,b=1.0,x=-15.0,y=18.0,r=1.44],Node1641[a=-1.0,b=0.0,x=-15.0,y=17.0,r=1.07])Node1501[a=0.0,b=1.0,x=-14.0,y=17.0,r=0.77])Node1386[a=-1.0,b=0.0,x=-14.0,y=16.0,r=0.55])Node1281[a=-1.0,b=1.0,x=-13.0,y=16.0,r=0.88])Node1183[a=-1.0,b=1.0,x=-12.0,y=15.0,r=0.83])Node979[a=-1.0,b=1.0,x=-11.0,y=14.0,r=1.34])Node883[a=-1.0,b=1.0,x=-10.0,y=13.0,r=0.56])Node714[a=-1.0,b=-1.0,x=-9.0,y=12.0,r=0.87],(((Node978[a=-1.0,b=1.0,x=-9.0,y=17.0,r=0.91],((((((((((((Node2709[a=-1.0,b=1.0,x=-15.0,y=27.0,r=1.35])Node2544[a=1.0,b=1.0,x=-14.0,y=26.0,r=0.53],(Node2708[a=1.0,b=0.0,x=-15.0,y=26.0,r=1.31])Node2543[a=-1.0,b=1.0,x=-16.0,y=26.0,r=0.81])Node2385[a=-1.0,b=0.0,x=-15.0,y=25.0,r=1.18])Node2226[a=-1.0,b=1.0,x=-14.0,y=25.0,r=1.27])Node2072[a=-1.0,b=1.0,x=-13.0,y=24.0,r=0.74])Node1774[a=0.0,b=1.0,x=-12.0,y=23.0,r=0.6],Node1773[a=0.0,b=-1.0,x=-12.0,y=21.0,r=1.2])Node1640[a=-1.0,b=0.0,x=-12.0,y=22.0,r=0.9])Node1500[a=-1.0,b=1.0,x=-11.0,y=22.0,r=0.58])Node1385[a=1.0,b=1.0,x=-10.0,y=21.0,r=1.26],(((((((((((Node3559[a=-1.0,b=1.0,x=-19.0,y=29.0,r=0.82])Node3217[a=-1.0,b=1.0,x=-18.0,y=28.0,r=0.81])Node3045[a=-1.0,b=0.0,x=-17.0,y=27.0,r=1.1])Node2707[a=1.0,b=1.0,x=-16.0,y=27.0,r=0.54])Node2542[a=-1.0,b=1.0,x=-17.0,y=26.0,r=1.48])Node2384[a=0.0,b=1.0,x=-16.0,y=25.0,r=0.5])Node2225[a=-1.0,b=1.0,x=-16.0,y=24.0,r=1.42],(Node2383[a=-1.0,b=1.0,x=-16.0,y=23.0,r=1.01])Node2224[a=0.0,b=-1.0,x=-15.0,y=22.0,r=1.04])Node2071[a=-1.0,b=1.0,x=-15.0,y=23.0,r=1.45])Node1772[a=0.0,b=1.0,x=-14.0,y=22.0,r=1.24],((Node2070[a=-1.0,b=0.0,x=-17.0,y=20.0,r=0.83],(((Node2706[a=-1.0,b=0.0,x=-19.0,y=23.0,r=1.15],((Node3044[a=0.0,b=1.0,x=-20.0,y=25.0,r=0.95],((Node3394[a=-1.0,b=1.0,x=-21.0,y=27.0,r=1.32])Node3216[a=1.0,b=1.0,x=-20.0,y=26.0,r=0.69],((Node3558[a=-1.0,b=1.0,x=-23.0,y=28.0,r=1.16])Node3393[a=-1.0,b=1.0,x=-22.0,y=27.0,r=1.37])Node3215[a=0.0,b=1.0,x=-21.0,y=26.0,r=0.91])Node3043[a=-1.0,b=1.0,x=-21.0,y=25.0,r=1.19])Node2873[a=-1.0,b=0.0,x=-20.0,y=24.0,r=1.12])Node2705[a=-1.0,b=1.0,x=-19.0,y=24.0,r=0.78])Node2541[a=-1.0,b=1.0,x=-18.0,y=23.0,r=0.77])Node2223[a=0.0,b=1.0,x=-17.0,y=22.0,r=1.05],(Node2382[a=0.0,b=-1.0,x=-18.0,y=21.0,r=0.62])Node2222[a=-1.0,b=1.0,x=-18.0,y=22.0,r=0.82])Node2069[a=-1.0,b=1.0,x=-17.0,y=21.0,r=1.32])Node1918[a=-1.0,b=0.0,x=-16.0,y=20.0,r=1.25])Node1771[a=-1.0,b=-1.0,x=-15.0,y=20.0,r=1.29])Node1639[a=-1.0,b=1.0,x=-14.0,y=21.0,r=0.98])Node1499[a=-1.0,b=1.0,x=-13.0,y=20.0,r=1.06],((((Node2381[a=0.0,b=-1.0,x=-16.0,y=21.0,r=0.51],((((Node3214[a=0.0,b=1.0,x=-18.0,y=27.0,r=0.51],((Node3557[a=1.0,b=1.0,x=-19.0,y=28.0,r=1.21],Node3556[a=-1.0,b=1.0,x=-21.0,y=28.0,r=1.49])Node3392[a=-1.0,b=1.0,x=-20.0,y=27.0,r=1.37],Node3391[a=0.0,b=1.0,x=-19.0,y=27.0,r=0.71])Node3213[a=-1.0,b=0.0,x=-19.0,y=26.0,r=1.26])Node2872[a=-1.0,b=1.0,x=-18.0,y=26.0,r=1.43])Node2704[a=0.0,b=1.0,x=-17.0,y=25.0,r=1.17])Node2540[a=0.0,b=1.0,x=-17.0,y=24.0,r=0.71],((Node3042[a=-1.0,b=0.0,x=-19.0,y=25.0,r=1.29])Node2703[a=0.0,b=1.0,x=-18.0,y=25.0,r=0.51])Node2539[a=-1.0,b=1.0,x=-18.0,y=24.0,r=1.03])Node2380[a=-1.0,b=1.0,x=-17.0,y=23.0,r=0.6])Node2221[a=-1.0,b=1.0,x=-16.0,y=22.0,r=0.72])Node1917[a=-1.0,b=1.0,x=-15.0,y=21.0,r=0.96])Node1638[a=-1.0,b=1.0,x=-14.0,y=20.0,r=0.54])Node1498[a=-1.0,b=0.0,x=-13.0,y=19.0,r=1.2])Node1384[a=-1.0,b=-1.0,x=-12.0,y=19.0,r=1.11])Node1280[a=-1.0,b=1.0,x=-11.0,y=20.0,r=1.17],((Node1637[a=1.0,b=1.0,x=-11.0,y=21.0,r=1.16],(((Node2220[a=-1.0,b=1.0,x=-15.0,y=24.0,r=1.36])Node2068[a=-1.0,b=1.0,x=-14.0,y=23.0,r=1.24],(Node2219[a=-1.0,b=1.0,x=-14.0,y=24.0,r=1.1])Node2067[a=0.0,b=1.0,x=-13.0,y=23.0,r=0.76])Node1770[a=0.0,b=1.0,x=-13.0,y=22.0,r=0.92])Node1636[a=-1.0,b=1.0,x=-13.0,y=21.0,r=0.59])Node1383[a=-1.0,b=1.0,x=-12.0,y=20.0,r=0.79])Node1279[a=-1.0,b=0.0,x=-11.0,y=19.0,r=0.51])Node1182[a=-1.0,b=1.0,x=-10.0,y=19.0,r=0.66])Node1081[a=-1.0,b=1.0,x=-9.0,y=18.0,r=0.85])Node977[a=0.0,b=1.0,x=-8.0,y=17.0,r=1.35])Node882[a=0.0,b=1.0,x=-8.0,y=16.0,r=1.42],(((((Node1635[a=-1.0,b=1.0,x=-14.0,y=19.0,r=1.34])Node1497[a=-1.0,b=1.0,x=-13.0,y=18.0,r=1.19],Node1496[a=0.0,b=1.0,x=-12.0,y=18.0,r=1.19])Node1382[a=-1.0,b=0.0,x=-12.0,y=17.0,r=0.75])Node1181[a=-1.0,b=0.0,x=-11.0,y=17.0,r=1.14],Node1180[a=-1.0,b=1.0,x=-11.0,y=18.0,r=0.74])Node1080[a=-1.0,b=1.0,x=-10.0,y=17.0,r=1.22])Node881[a=-1.0,b=1.0,x=-9.0,y=16.0,r=1.01])Node795[a=0.0,b=1.0,x=-8.0,y=15.0,r=0.92],(((((((Node1769[a=-1.0,b=1.0,x=-15.0,y=19.0,r=1.24])Node1634[a=-1.0,b=1.0,x=-14.0,y=18.0,r=1.41])Node1495[a=-1.0,b=1.0,x=-13.0,y=17.0,r=1.15])Node1278[a=-1.0,b=0.0,x=-12.0,y=16.0,r=1.17])Node1179[a=-1.0,b=1.0,x=-11.0,y=16.0,r=0.93])Node1079[a=0.0,b=-1.0,x=-10.0,y=15.0,r=1.47])Node976[a=-1.0,b=1.0,x=-10.0,y=16.0,r=1.45])Node794[a=-1.0,b=1.0,x=-9.0,y=15.0,r=0.76])Node713[a=0.0,b=1.0,x=-8.0,y=14.0,r=1.09])Node641[a=-1.0,b=1.0,x=-8.0,y=13.0,r=1.17])Node504[a=1.0,b=1.0,x=-7.0,y=12.0,r=0.66])Node424[a=-1.0,b=1.0,x=-8.0,y=11.0,r=0.86])Node367[a=-1.0,b=1.0,x=-7.0,y=10.0,r=1.26])Node249[a=-1.0,b=-1.0,x=-6.0,y=9.0,r=0.91])Node206[a=-1.0,b=1.0,x=-5.0,y=10.0,r=0.91])Node164[a=-1.0,b=1.0,x=-4.0,y=9.0,r=0.63],(((((((Node793[a=-1.0,b=0.0,x=-7.0,y=14.0,r=0.96],(Node880[a=-1.0,b=-1.0,x=-8.0,y=12.0,r=0.52])Node792[a=-1.0,b=-1.0,x=-7.0,y=13.0,r=1.05])Node640[a=0.0,b=1.0,x=-6.0,y=14.0,r=0.57])Node576[a=-1.0,b=1.0,x=-6.0,y=13.0,r=0.65])Node503[a=-1.0,b=1.0,x=-5.0,y=12.0,r=1.43])Node423[a=-1.0,b=1.0,x=-4.0,y=11.0,r=0.71],(Node502[a=-1.0,b=-1.0,x=-5.0,y=9.0,r=0.76])Node422[a=-1.0,b=0.0,x=-4.0,y=10.0,r=1.07])Node302[a=0.0,b=1.0,x=-3.0,y=10.0,r=0.71])Node248[a=1.0,b=1.0,x=-3.0,y=9.0,r=1.14])Node163[a=-1.0,b=0.0,x=-4.0,y=8.0,r=1.04])Node137[a=0.0,b=1.0,x=-3.0,y=8.0,r=1.1])Node110[a=-1.0,b=0.0,x=-3.0,y=7.0,r=0.78])Node94[a=-1.0,b=1.0,x=-2.0,y=7.0,r=1.27])Node79[a=-1.0,b=1.0,x=-1.0,y=6.0,r=1.48])Node39[a=-1.0,b=1.0,x=0.0,y=5.0,r=0.99])Node20[a=1.0,b=1.0,x=1.0,y=4.0,r=1.24],(Node30[a=1.0,b=0.0,x=1.0,y=2.0,r=0.91])Node19[a=0.0,b=-1.0,x=0.0,y=2.0,r=0.66])Node12[a=1.0,b=1.0,x=0.0,y=3.0,r=1.37])Node5[a=-1.0,b=1.0,x=-1.0,y=2.0,r=0.64])Node3[a=1.0,b=0.0,x=0.0,y=1.0,r=0.52])Node1[a=-1.0,b=1.0,x=-1.0,y=1.0,r=1.12])Node_0[a=0,b=0,x=0,y=0,r=1] \n",
      "\n",
      "\n",
      "Number of groups or nodes in target tree: 3726\n",
      "\n",
      "--- Generation 1/7003, Best fitness -1.0 ---\n",
      "\n",
      "--- Generation 1001/7003, Best fitness 0.88463 ---\n",
      "\n",
      "--- Generation 2001/7003, Best fitness 0.89139 ---\n",
      "\n",
      "--- Generation 3001/7003, Best fitness 0.89304 ---\n",
      "\n",
      "--- Generation 4001/7003, Best fitness 0.89628 ---\n",
      "\n",
      "--- Generation 5001/7003, Best fitness 0.89728 ---\n",
      "\n",
      "--- Generation 6001/7003, Best fitness 0.89968 ---\n",
      "\n",
      "--- Generation 7001/7003, Best fitness 0.90041 ---\n",
      "draw_all_historiesk4(fitness_histories, lengths_of_target_sequence)\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ],
      "image/png": "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"
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Execution time: 5 hours, 8 minutes, 36 seconds\n"
     ]
    }
   ],
   "execution_count": 3
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Observaciones de tres experimentos.**\n",
    "1. Se le dieron tres problemas a la Evolución, el primero con 18 nodos, el segundo con 375 y el tercero con 3726. La más fácil para Evolución fue la de 18 nodos, seguida por la de 3726. Finalmente, el problema con 375 resultó ser el más difícil para la Evolución durante un período de observación de 7000 generaciones.\n",
    "2. No hay diferencia en el comportamiento de fitness entre generaciones para los nodos 1273 y 2073. Estas curvas se encontraban ambas sobre la curva de 69 nodos durante las 7000 generaciones registradas. Esto contradice nuestras expectativas.\n",
    "3. No hay diferencia entre las curvas de fitness de 11 y 454 nodos. Y, el caso complejo, con 3254 nodos, resultó ser el más fácil para Evolución. Esta es una contradicción frontal contra nuestra expectativa que dijo: cuando la complejidad, dada por el número de nodos crece, la curva de fitness debe retrasarse y tender a un valor de equilibrio más bajo. Este tipo de resultado observado es la norma para los árboles morfoglobulares.\n",
    "\n",
    "**Ejercicio.** Estudiar el efecto de la disminución de los recursos sobre la silueta y la posición relativa de la función de fitness a lo largo de las generaciones.\n",
    ">\n",
    "> *Respuesta.* En el siguiente programa describimos la función de fitness a lo largo de generaciones para varios valores de tamaño de población."
   ]
  },
  {
   "cell_type": "code",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2026-10-06T11:49:13.239480Z",
     "start_time": "2026-10-06T11:30:26.587757Z"
    }
   },
   "source": [
    "# Program Evolución_of_newick_morphological_trees14.py\n",
    "\n",
    "# To measure the effect of decreasing resources,\n",
    "# we gave to Evolución a problem that must be solved with\n",
    "# various population sizes. Concretely:\n",
    "# Evolución uses different population sizes\n",
    "# to restore various target morpho-trees with different number of nodes.\n",
    "#\n",
    "# Morphological trees considered here are like lighting trees:\n",
    "# an electrical thread in the form of tree covers an area\n",
    "# and there is lamp at each node.\n",
    "# Each lamp has a given power and a circle of illumination,\n",
    "# whose radius is determined by a threshold intensity.\n",
    "# In morphology, this corresponds with a threshold concentration of a messenger.\n",
    "# Evolución is given the task of illuminating\n",
    "# the area determined by a random target tree.\n",
    "# Trees are encoded in Newick Notation and\n",
    "# everything is done over the correspond strings\n",
    "# without resorting to the Node class.\n",
    "# Thus, it is possible to use the Newick strings as a genotype and\n",
    "# the corresponding trees as a phenotype.\n",
    "# \n",
    "# In this version:\n",
    "#   1. Mutation has been inbuilt with the power\n",
    "#       to have children in the immediate neighborhood of the father and    \n",
    "#       to change radius and the topology of trees\n",
    "#       by means of insertion and deletion of leaves.\n",
    "#    2. Recombination has been enabled with the power \n",
    "#       to exchange leaves between trees.\n",
    "#       We expect a good proportion of the population to \n",
    "#       be able to successfully recombine, mutate and reproduce.\n",
    "#    3. A cut-off for the length of the Newick string has been introduced \n",
    "#       to avoid overgrowth of trees.\n",
    "#    4. The seed for the random number generator has been canceled \n",
    "#        to allow different histories for different runs.\n",
    "#\n",
    "# A bug was corrected in the function that inserts a node.\n",
    "# The criterion for insertion was changed from \"a leaf is just after a left parenthesis\" \n",
    "# to \"a leaf begins with `N` that is preceded by a left parenthesis\".\n",
    "#\n",
    "# Purpose: to study the effect of the decreasing of resources over Evolución.\n",
    "# To that aim, we depict various fitness functions for diverse\n",
    "# values of population sizes.\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "# We reuse pieces of code made with the help of Colab and Gemini 2.5 Flash.\n",
    "# With the  assistance of the AI of Visual Studio Code.\n",
    "\n",
    "import random\n",
    "import matplotlib.pyplot as plt\n",
    "import matplotlib.patches as patches\n",
    "import numpy as np\n",
    "import math\n",
    "import copy # For deep copying trees during reproduction and mutatio\n",
    "import re # Required for newick parsing\n",
    "#import itertools # Required for sequential replacement\n",
    "import sys # Import sys module to adjust recursion limit\n",
    "sys.setrecursionlimit(3000)\n",
    "import time\n",
    "from datetime import datetime, timedelta\n",
    "\n",
    "# trace memory allocation \n",
    "#https://www.geeksforgeeks.org/python/monitoring-memory-usage-of-a-running-python-program/\n",
    "# this consumes too much cpu-time by a multiplicative factor, say 5 for 1000 lines.\n",
    "import tracemalloc \n",
    "\n",
    "\n",
    "#Activate  memory monitoring?\n",
    "memory_monitoring = False \n",
    "recombination_of_leaves = False\n",
    "\n",
    "# starting the memory allocation monitoring\n",
    "if memory_monitoring:\n",
    "    tracemalloc.start() \n",
    "start_time = time.time()\n",
    "\n",
    "# Parameters for the target tree generation\n",
    "target_tree_params = {\n",
    "  'max_depth': 10,\n",
    "  'max_number_children': 2,\n",
    "  'max_node_radius': 1.5,\n",
    "}\n",
    "\n",
    "# Parameters for the Genetic Algorithm\n",
    "ga_params = {\n",
    "   #'seed': 47423648, #the seed of the target tree is this plus 1.\n",
    "  'pop_size': 70,\n",
    "  'generations': 100,\n",
    "  'max_depth': target_tree_params['max_depth'],\n",
    "  'max_number_children': target_tree_params['max_number_children'],\n",
    "  'max_node_radius': 1.5,\n",
    "  'mutation_rate': 0.001, \n",
    "  'crossover_rate': 0.001  \n",
    "}\n",
    "\n",
    " \n",
    "def print_parameters14(target_tree_params, ga_params):\n",
    "    print(\"LAB: Evolución OF NEWICK MORPHO-TREES\")\n",
    "    print(\"PURPOSE: \"\n",
    "          + \"\\n A random morpho-tree T is generated.\"\n",
    "          + \"\\n Evolución tries to restore the tree T\"\n",
    "          + \"\\n beginning from a population of random trees.\")\n",
    "    print(f\"EXPERIMENT {start_time}\")\n",
    "    print(f\"RECOMBINATION OF LEAVES: {recombination_of_leaves}\")\n",
    "    #print(f\"SEED FOR THE GENETIC ALGORITHM: {ga_params['seed']}\")\n",
    "    print(f\"INITIAL TARGET TREE PARAMETERS: {target_tree_params}\")\n",
    "    print(f\"INITIAL GENETIC ALGORITHM PARAMETERS: {ga_params}\\n\")\n",
    "\n",
    "\n",
    "# GENERATION OF A MORPHO-TREE\n",
    "\n",
    "# Program morpho_tree_drawer.py\n",
    "\n",
    "# The following program generates a Newick strings\n",
    "# that encodes for a morpho-tree  and draws it.\n",
    "# Children are located in the immediate neighborhood of the father.\n",
    "# If postions are occupied, no children.\n",
    "# Then, children are generated only when there is place for them.\n",
    "\n",
    "# ====   Grammar_generator =======\n",
    "\n",
    "# This program uses a hidden grammar to generate Newick expressions that encode for morphological trees.\n",
    "# The information of each node is generated on the image of\n",
    "#   Node25[a=18,b=18,x=19,y=0,r=14.3]\n",
    "# The rules of the grammar are:\n",
    "# 1. Initial string or seed: `s = ()n`\n",
    "# 2. Generate a random digit: x\n",
    "# 3. Replace in `s`, `()` by x copies of `(()n ` separated by a comma.\n",
    "# 4. Iterate.\n",
    "# 5. Replace each `n`by the info of a node whose values are generated at random but the index of the tag is a counter with the iterative process.\n",
    "# 6. Delete the tag \"()\" that appears in the last appended children.\n",
    "# An ordered set of rules like this is a Generative Grammar.\n",
    "# The grammmar is hidden because no n is generated,\n",
    "# because beforehand it is replaced by the info of a node.\n",
    "# With the assistance of Colab and reusing a previous code by Gemini.\n",
    "\n",
    "\n",
    "\n",
    "def replace_str_subsequence14(original_str, start_idx, end_idx, new_subsequence):\n",
    "    \"\"\" Replace a subsequence from start_idx to end_idx with another string.\n",
    "        By Google\"\"\"\n",
    "    # Concatenate the pieces together\n",
    "    return original_str[:start_idx] + new_subsequence + original_str[end_idx:]\n",
    "\n",
    "def replace_strig_of_length14(original_str, replacement, position, length_to_replace):\n",
    "    \"\"\"\n",
    "    Replaces a subsequence of given length.\n",
    "    :param original_str: The main text string\n",
    "    :param replacement: The new text you want to insert\n",
    "    :param position: The starting index of the old subsequence\n",
    "    :param length_to_replace: The length of the old subsequence being removed\n",
    "    \"\"\"\n",
    "    before = original_str[:position]\n",
    "    after = original_str[position + length_to_replace:]\n",
    "    return before + replacement + after\n",
    "\n",
    "\n",
    "def detect_all_groups14(newick_string):\n",
    "    \"\"\"Al substrings that encodes for the info of a node, step from father, center and radius are detected.\"\"\"\n",
    "\n",
    "    #print(\"detect_all_groups14(newick_string)\")\n",
    "    #print(f\"Newick String: {newick_string}\")\n",
    "    # Detect a pattern on the model  info = NodeB_3_x_2[a=0,b=1,x=2,y=2,r=3]\n",
    "    #info_words = r'[\\a-zA-Z_0-9_[_=_,\\] ]+'\n",
    "    #info_words = r'[a-zA-Z_][a-zA-Z_0-9_]*\\[x=-?[0-9]+(?:\\.[0-9]+)?,y=-?[0-9]+(?:\\.[0-9]+)?,r=-?[0-9]+(?:\\.[0-9]+)?\\]$'\n",
    "                                                    #info_words = r'[a-zA-Z_0-9_]*\\[x=-?[0-9]+(?:\\.[0-9]+)?,y=-?[0-9]+(?:\\.[0-9]+)?,r=-?[0-9]+(?:\\.[0-9]+)?\\]'\n",
    "    info_words =  r'[a-zA-Z_0-9_]*\\[a=-?[0-9]+(?:\\.[0-9]+)?,b=-?[0-9]+(?:\\.[0-9]+)?,x=-?[0-9]+(?:\\.[0-9]+)?,y=-?[0-9]+(?:\\.[0-9]+)?,r=-?[0-9]+(?:\\.[0-9]+)?\\]'\n",
    "    starts = []\n",
    "    groups = []\n",
    "    for match in re.finditer(info_words, newick_string):\n",
    "        #print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "        #print(f\"    starts at index: {match.start()}\")\n",
    "        starts.append(match.start())\n",
    "        groups.append(match.group())\n",
    "    #number_of_groups = len(starts)\n",
    "    #print(f\"number_of_groups = {number_of_groups}\")\n",
    "    #print(f\"starts of gropus: {starts}\")\n",
    "    #print(f\"groups: {groups}\")\n",
    "\n",
    "\n",
    "    \"\"\"\n",
    "    # All infos are replaced by the dumb variable n\n",
    "    for j in range(number_of_infos - 1, -1, -1):\n",
    "        print(f\"start_of_info[{j}]:  {starts[j]},  len(groups[{j}]): {len(groups[j])}\")\n",
    "        new_s = replace_at_position2(new_s, \"n\", starts[j], len(groups[j]))\n",
    "        print(f\"new string = '{new_s}'\")\n",
    "        \"\"\"\n",
    "    return groups\n",
    "\n",
    "def count_groups14(newick_string):\n",
    "    \"\"\"The number of groups is counted.\"\"\"\n",
    "    groups = detect_all_groups14(newick_string)\n",
    "    number_of_groups = len(groups)\n",
    "    return number_of_groups\n",
    "\n",
    "def extract_info14(group):\n",
    "  \"\"\"The info of each group is extracted by tokenizers from the string.\"\"\"\n",
    "  patern_a = r'a=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  patern_b = r'b=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  patern_x = r'x=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  patern_y = r'y=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  patern_r = r'r=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  a = re.findall(patern_a, group)\n",
    "  b = re.findall(patern_b, group)\n",
    "  x = re.findall(patern_x, group)\n",
    "  y = re.findall(patern_y, group)\n",
    "  r = re.findall(patern_r, group)\n",
    "  a = float(a[0][2:])\n",
    "  b = float(b[0][2:])\n",
    "  x = float(x[0][2:])\n",
    "  y = float(y[0][2:])\n",
    "  r = float(r[0][2:])\n",
    "  return [a,b,x,y,r]\n",
    "\n",
    "\n",
    "def extract_all_infos14(newick_string):\n",
    "    #print(\"extract_all_infos\n",
    "    # Groups are detected. A group is the encoding of the parameters of a node in an info.\n",
    "    groups = detect_all_groups14(newick_string)\n",
    "    #print(f\"Groups: {groups}\")\n",
    "    number_of_groups = len(groups)\n",
    "    #print(f\"number_of_groups = {number_of_groups}\")\n",
    "\n",
    "    # Info is extracted from each group and\n",
    "    # all infos are kept in corresponding arrays.\n",
    "    a = []\n",
    "    b = []\n",
    "    x = []\n",
    "    y = []\n",
    "    r = []\n",
    "    #print(\"\\nInfo is extracted form each group\")\n",
    "    for i in range(number_of_groups):\n",
    "      #print(f\"group[{i}]: {groups[i]}\")\n",
    "      #print(f\"len(group[{i}]): {len(groups[i])}\")\n",
    "      [ai,bi,xi,yi,ri] = extract_info14(groups[i])\n",
    "      #print(f\"a: {ai}, b: {bi}, x: {xi}, y: {yi}, r: {ri}\")\n",
    "      a.append(ai)\n",
    "      b.append(bi)\n",
    "      x.append(xi)\n",
    "      y.append(yi)\n",
    "      r.append(ri)\n",
    "    return a,b,x,y,r\n",
    "\n",
    "\n",
    "def get_neighboring_coordinates14(cell):\n",
    "  \"\"\"Immediate neighboring coordinates of a cell are generated\"\"\"\n",
    "  neighbors = []\n",
    "  for dx in [-1, 0, 1]:\n",
    "      for dy in [-1, 0, 1]:\n",
    "          if dx == 0 and dy == 0:\n",
    "              continue  # Exclude the current square itself\n",
    "          neighbors.append((cell[0] + dx, cell[1] + dy))\n",
    "  return neighbors\n",
    "\n",
    " \n",
    "\n",
    "def find_father_center14(newick_string, j):\n",
    "  \"\"\" Finds the address of the father of a node at j\"\"\"\n",
    "  #print(\"find_father_center14(s, j)\")\n",
    "  #print(f\"s: {newick_string}\")\n",
    "  #print(f\"j: {j}\")\n",
    "\n",
    "  #Right tail is recruited\n",
    "  tail = newick_string[j+1:]\n",
    "  father_group = detect_all_groups14(tail)\n",
    "  if father_group:\n",
    "    #print(f\"Father_group 1: {father_group}\")\n",
    "    [af,bf,xf,yf,rf] = extract_info14(father_group[0])\n",
    "    #print(f\"Info: a: {af}, b: {bf}, x: {xf}, y: {yf}, r: {rf}\")\n",
    "    father_center = [xf,yf]\n",
    "    return father_center\n",
    "  else:\n",
    "   return \"\"\n",
    "\n",
    "\n",
    "\n",
    "def node_info_generator14(father_center, counter,  occupied_squares_set, max_node_radius):\n",
    "  \"\"\"For each node, info is generated on the model\n",
    "     Node_26[a=1,b=-1,x=3,y=5,r=0.85]\n",
    "     by replacing n by the info of a node whose values are generated at random\n",
    "     but the index of the tag is a counter with the iterative process.\n",
    "      \"\"\"\n",
    "  #print(\"node_info_generator14(father_center, counter,  occupied_squares_set)\")\n",
    "  coordinates_neighbors = get_neighboring_coordinates14(father_center)\n",
    "  #print(f\"coordinates_neighbors: {coordinates_neighbors}\")\n",
    "  #print(f\"occupied_squares_set: {occupied_squares_set}\")\n",
    "  # First, filter for unoccupied grid squares within this tree\n",
    "  available_square_neighbors = [coord for coord in coordinates_neighbors if coord not in occupied_squares_set]\n",
    "  info = \"\" # future info of a node that represents a cell\n",
    "  if available_square_neighbors:\n",
    "    # Choose a random valid candidate\n",
    "    nx,  ny  = random.choice(available_square_neighbors)\n",
    "    na = nx - father_center[0]\n",
    "    nb = ny - father_center[1]\n",
    "    nr = random.uniform(0.5, max_node_radius)\n",
    "    nr = round(nr, 2)\n",
    "    info = \"Node\" +  str(counter)  + \"[\" + \"a=\" + str(na) + \",\" + \"b=\" + str(nb) + \",\"  +   \"x=\" + str(nx) + \",\" + \"y=\" + str(ny) + \",\" + \"r=\" + str(nr)+ \"]\"\n",
    "    info = \"()\"+ info\n",
    "    #print(f\"Generated Node info: {info}\")\n",
    "    occupied_squares_set.add((nx, ny))\n",
    "\n",
    "  else:\n",
    "    #All neighboring places are occupied\n",
    "    #print(\"All neighboring places are occupied\")\n",
    "    info = \"\"\n",
    "  return info, occupied_squares_set\n",
    "\n",
    "\n",
    "def generate_children14(father_center, numb_children, counter, occupied_squares_set, max_node_radius):\n",
    "  \"\"\" Generate children in the pattern of a Newick Tree.\n",
    "      Output in the form\n",
    "      n,n,n,n \"\"\"\n",
    "  #print(\"generate_children(max_numb_children)\")\n",
    "  #print(f\"Number of children: {numb_children}\")\n",
    "  s = \"\"\n",
    "  for i in range(numb_children):\n",
    "    if i == 0:\n",
    "      a = \"\"\n",
    "    else:\n",
    "      a = \",\"\n",
    "    info, occupied_squares_set = node_info_generator14(father_center, counter, occupied_squares_set, max_node_radius)\n",
    "    if not info:\n",
    "      continue\n",
    "    else:\n",
    "     s = info + a + s\n",
    "     counter = counter + 1\n",
    "  s =  \"(\" + s + \")\"\n",
    "  #print(f\"Children: {s}\")\n",
    "  return s, counter, occupied_squares_set\n",
    "\n",
    "\n",
    "def complete_tree_generator14(max_depth, max_numb_children, max_node_radius):\n",
    "  \"\"\" A tree is generated step by step\n",
    "   taking care of generating no child where there is no place for it.\"\"\"\n",
    "  #print(\"complete_tree_generator14(...)\")\n",
    "  occupied_squares_set = set() # Initialize a new set for this tree's square coordinates\n",
    "  actual_depth = max_depth + random.randint(-5,5) # Number of allowed divisions along each branch.\n",
    "  #print(f\"Actual depth: {actual_depth}\")\n",
    "  # () is used as a marker for insertion. \n",
    "  tree = \"()Node_0[a=0,b=0,x=0,y=0,r=1]\"\n",
    "  occupied_squares_set.add((0,0))\n",
    "  #counter of defined nodes\n",
    "  counter = 1\n",
    "  for i in range(actual_depth):\n",
    "      #print(f\"depth: {i}\")\n",
    "      l = len(tree)\n",
    "      #print(f\"i : {i} l: {l}\")\n",
    "      # String s is scanned starting from the end\n",
    "      for j in range(l-1, 0, -1):\n",
    "        #print(f\"s: {s}\")\n",
    "        #print(f\"s[j-1] s[j]  :  {s[j-1]}{s[j]}\")\n",
    "        # Replace () by a list of children\n",
    "        if tree[j-1] == \"(\" and tree[j] == \")\":\n",
    "          father_center = find_father_center14(tree, j)\n",
    "          #print(f\"Father center: {father_center}\")\n",
    "          if not father_center:\n",
    "            continue\n",
    "          numb_children = random.randint(0, max_numb_children)\n",
    "          if numb_children == 0:\n",
    "            continue\n",
    "          else:\n",
    "            # Replacement\n",
    "            generated_children, counter, occupied_squares_set = generate_children14(father_center, numb_children, counter, occupied_squares_set, max_node_radius)\n",
    "            tree = replace_str_subsequence14(tree, j-1, j+1, generated_children)\n",
    "          #print(f\"{i} {j} Tree: {tree}\")\n",
    "  #print(f\"crude tree: {tree}\")\n",
    "  tree = tree.replace(\"()\", \"\")\n",
    "  #print(f\"final tree: {tree}\")\n",
    "  return tree\n",
    "\n",
    "# === VALIDATOR ====\n",
    "\n",
    "\n",
    "# Program validator_for_newick_morpho_trees.py\n",
    "# The task is to decide whether a Newick string encodes for a morpho tree.\n",
    "# To solve the task,\n",
    "# we simply go backwards over the procedure of creation of Newick strings.\n",
    "# The program has two sections.\n",
    "# In the first,\n",
    "# the string in divided in tokens, substrings of predefined content,\n",
    "# and all groups that fit into the pattern\n",
    "# info = NodeB_3_x_2[a=2,b=2,r=3] are detected.\n",
    "# Each found group undergoes a detailed test for correctness.\n",
    "# If some group is wrong, the whole string is rejected.\n",
    "# If all are correct, the test continues further on.\n",
    "# In the second section,\n",
    "# each info is replaced by \"n\",\n",
    "# then, each \"n\" is replaced by\"\"\n",
    "# then each \"()\" is replaced by \"\".\n",
    "# If a formula is correct,\n",
    "# the final product of this algorithm is the void sting \"\",\n",
    "# and its length is zero.\n",
    "# Connectivity issues are not checked.\n",
    "\n",
    "# A bug in the drawing procedure has been corrected, and the drawing of trees is now correct.\n",
    "# The bug was related to the function that finds the father of a node.\n",
    "\n",
    "# With the help of Gemini, Google and the AI of Visual Studio Code.\n",
    "\n",
    "\n",
    "\n",
    "# --- TOKENIZER FOR NEWICK STRINGS ---\n",
    "# --- Elements to create well-formed Newick info-s of Morpho_trees.---\n",
    "# --- Every info is modeled on the pattern\n",
    "# --- NodeB_3_x_2[a=1,b=0,x=4,y=5,r=1.2]\n",
    "# --- where a nad b are -1,0,1 except (0,0)\n",
    "# --- because they represent a step awya from the father.\n",
    "# --- If a substring fits into this pattern,\n",
    "# --- it must produce the sequence 73756275627564.\n",
    "# --- Say, each info begins with a noun = letters, number 7,\n",
    "# --- and ends with a right bracket number 4.\n",
    "# --- Assigned numbers are at the right of comments.\n",
    "# --- By Gemini\n",
    "TOKEN_SPECIFICATION_NEWICK = [\n",
    "    ('LPAREN',    r'\\('),          # Left Parenthesis, 0\n",
    "    ('RPAREN',    r'\\)'),          # Right Parenthesis, 1\n",
    "    ('COMMA',     r','),           # Comma separator for children, 2\n",
    "    ('LBRACKET',  r'\\['),          # Left Bracket for metadata, 3\n",
    "    ('RBRACKET',  r'\\]'),          # Right Bracket for metadata, 4\n",
    "    ('EQUALS',    r'='),           # Equals sign in metadata, 5\n",
    "    ('NUMBER',    r'-?\\d+(?:\\.\\d+)?'), # Numbers (integers or floats, possibly negative), 6\n",
    "    ('LETTERS',   r'[a-zA-Z_0-9]+'), # Node labels (e.g., 'Node0', 'Target_Root_26'), or variables (x, y, r), 7\n",
    "    ('SEMICOLON', r';'),           # Optional semicolon at end of Newick string, 8\n",
    "    ('SKIP',      r'[ \\t\\n]+'),  # Skip spaces, tabs, newlines, 9\n",
    "    ('MISMATCH',  r'.'),           # Any other illegal character, *\n",
    "]\n",
    "\n",
    "def tokenize_newick14(newick_str):\n",
    "    \"\"\"Converts a Newick string into a list of (token_type, value) tuples.\"\"\"\n",
    "    #print(\"\\ntokenize_newick\")\n",
    "    tokens = []\n",
    "    tok_regex = '|'.join(f'(?P<{name}>{pattern})' for name, pattern in TOKEN_SPECIFICATION_NEWICK)\n",
    "    tokens = []\n",
    "    for mo in re.finditer(tok_regex, newick_str):\n",
    "        kind = mo.lastgroup\n",
    "        value = mo.group()\n",
    "        if kind == 'SKIP':\n",
    "            continue\n",
    "        elif kind == 'MISMATCH':\n",
    "            raise SyntaxError(f\"Newick Grammar Violation: Illegal character '{value}' in '{newick_str}'\")\n",
    "        tokens.append((kind, value))\n",
    "    return tokens\n",
    "\n",
    "# --- VALIDATOR FOR INFO SUBSTRINGS THAT MUST FIT INTO THE PATTERN ---\n",
    "# --- info = NodeB_3_x_2[a=1,b=-1,x=2,y=4,r=3.2], 22 tokens\n",
    "def examine_subsequence14(tokens, j):\n",
    "    #print(\"\\nexamine_subsequence\")\n",
    "    # Every info must begin with a letter, whose index is 7.\n",
    "    tracker = [\"LETTERS\"]\n",
    "    tracker2 = \"7\"\n",
    "    if tokens[j + 1][0] == 'LBRACKET':\n",
    "        tracker.append('LBRACKET')\n",
    "        tracker2 += \"3\"\n",
    "    if tokens[j + 2][0] == 'LETTERS':\n",
    "        tracker.append('LETTERS')\n",
    "        tracker2 += \"7\"\n",
    "    if tokens[j + 3][0] == 'EQUALS':\n",
    "        tracker.append('EQUALS')\n",
    "        tracker2 += \"5\"\n",
    "    if tokens[j + 4][0] == 'NUMBER':\n",
    "        tracker.append('NUMBER')\n",
    "        tracker2 += \"6\"\n",
    "    if tokens[j + 5][0] == 'COMMA':\n",
    "        tracker.append('COMMA')\n",
    "        tracker2 += \"2\"\n",
    "    if tokens[j + 6][0] == 'LETTERS':\n",
    "        tracker.append('LETTERS')\n",
    "        tracker2 += \"7\"\n",
    "    if tokens[j + 7][0] == 'EQUALS':\n",
    "        tracker.append('EQUALS')\n",
    "        tracker2 += \"5\"\n",
    "    if tokens[j + 8][0] == 'NUMBER':\n",
    "        tracker.append('NUMBER')\n",
    "        tracker2 += \"6\"\n",
    "    if tokens[j + 9][0] == 'COMMA':\n",
    "        tracker.append('COMMA')\n",
    "        tracker2 += \"2\"\n",
    "    if tokens[j + 10][0] == 'LETTERS':\n",
    "        tracker.append('LETTERS')\n",
    "        tracker2 += \"7\"\n",
    "    if tokens[j + 11][0] == 'EQUALS':\n",
    "        tracker.append('EQUALS')\n",
    "        tracker2 += \"5\"\n",
    "    if tokens[j + 12][0] == 'NUMBER':\n",
    "        tracker.append('NUMBER')\n",
    "        tracker2 += \"6\"\n",
    "    if tokens[j + 13][0] == 'COMMA':\n",
    "        tracker.append('COMMA')\n",
    "        tracker2 += \"2\"\n",
    "    if tokens[j + 14][0] == 'LETTERS':\n",
    "        tracker.append('LETTERS')\n",
    "        tracker2 += \"7\"\n",
    "    if tokens[j + 15][0] == 'EQUALS':\n",
    "        tracker.append('EQUALS')\n",
    "        tracker2 += \"5\"\n",
    "    if tokens[j + 16][0] == 'NUMBER':\n",
    "        tracker.append('NUMBER')\n",
    "        tracker2 += \"6\"\n",
    "    if tokens[j + 17][0] == 'COMMA':\n",
    "        tracker.append('COMMA')\n",
    "        tracker2 += \"2\"\n",
    "    if tokens[j + 18][0] == 'LETTERS':\n",
    "        tracker.append('LETTERS')\n",
    "        tracker2 += \"7\"\n",
    "    if tokens[j + 19][0] == 'EQUALS':\n",
    "        tracker.append('EQUALS')\n",
    "        tracker2 += \"5\"\n",
    "    if tokens[j + 20][0] == 'NUMBER':\n",
    "        tracker.append('NUMBER')\n",
    "        tracker2 += \"6\"\n",
    "    if tokens[j + 21][0] == 'RBRACKET':\n",
    "        tracker.append('RBRACKET')\n",
    "        tracker2 += \"4\"\n",
    "    #print(f\"Tokens: {tracker}\")\n",
    "    #print(f\"tracker2: {tracker2}\")\n",
    "    master_pattern = \"7375627562756275627564\"\n",
    "                     #7375627562756275627564\n",
    "    #print(f\"master pattern:  {master_pattern}\")\n",
    "    if tracker2 == master_pattern:\n",
    "        return True, \"Valid Newick sub-string.\"\n",
    "    else:\n",
    "        return False, \"Invalid Newick sub-string.\"\n",
    "\n",
    "\n",
    "def simplify14(text):\n",
    "    # Assuming that all infos of a string have been declared correct,\n",
    "    # the string is further tested for the balance of parentheses.\n",
    "    # print(\"\\nsimplify(text)\")\n",
    "    # print(f\"text: {text}\")\n",
    "    # Detect a pattern on the model  info = NodeB_3_x_2[a=2,b=2,x=3,y=7,r=2.3]\n",
    "    #info_words = r'[\\a-zA-Z_0-9_[_=_,\\] ]+'\n",
    "    #info_words = r'[a-zA-Z_][a-zA-Z_0-9_]*\\[x=-?[0-9]+(?:\\.[0-9]+)?,y=-?[0-9]+(?:\\.[0-9]+)?,r=-?[0-9]+(?:\\.[0-9]+)?\\]$'\n",
    "    info_words =  r'[a-zA-Z_0-9_]*\\[a=-?[0-9]+(?:\\.[0-9]+)?,b=-?[0-9]+(?:\\.[0-9]+)?,x=-?[0-9]+(?:\\.[0-9]+)?,y=-?[0-9]+(?:\\.[0-9]+)?,r=-?[0-9]+(?:\\.[0-9]+)?\\]'\n",
    "    starts = []\n",
    "    groups = []\n",
    "    for match in re.finditer(info_words, text):\n",
    "        #print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "        #print(f\"    starts at index: {match.start()}\")\n",
    "        starts.append(match.start())\n",
    "        groups.append(match.group())\n",
    "    number_of_infos = len(starts)\n",
    "    #print(f\"number_of_infos = {number_of_infos}\")\n",
    "    #print(f\"starts of infos: {starts}\")\n",
    "    #print(f\"groups or infos: {groups}\")\n",
    "    new_s = text\n",
    "    # All infos are replaced by the dumb variable n\n",
    "    for j in range(number_of_infos - 1, -1, -1):\n",
    "        #print(f\"start_of_info[{j}]:  {starts[j]},  len(groups[{j}]): {len(groups[j])}\")\n",
    "        new_s = replace_strig_of_length14(new_s, \"n\", starts[j], len(groups[j]))\n",
    "        #print(f\"new string = '{new_s}'\")\n",
    "    # Balance of parentheses is inquired.\n",
    "    new_s = new_s.replace(\"n,\", \"\")\n",
    "    new_s = new_s.replace(\"n\", \"\")\n",
    "    #print(f\"Simplified string = {new_s} \")\n",
    "    l = len(new_s)\n",
    "    #print(f\"Length of Simplified string = {l}\")\n",
    "    for i in range(l):\n",
    "      new_s = new_s.replace(\"()\", \"\")\n",
    "    final_length = len(new_s)\n",
    "    # print(f\"Final string = {new_s}, final_length = {final_length}\")\n",
    "    if final_length == 0:\n",
    "        #print(\"Valid string at simplify\")\n",
    "        return True,  \"Valid Newick string.\"\n",
    "    else:\n",
    "        #print(\"Invalid string at simplify\")\n",
    "        return False, \"Invalid Newick string.\"\n",
    "\n",
    "\n",
    "\n",
    "def validate_newick_syntax14(newick_str):\n",
    "    \"\"\"\n",
    "    Validates if a Newick string is syntactically correct.\n",
    "    This function checks for balanced parentheses, proper comma usage for children,\n",
    "    and correct metadata format, without building a tree object.\n",
    "    \"\"\"\n",
    "    #print(\"Validating Newick syntax\")\n",
    "    tokens = []\n",
    "    try:\n",
    "        tokens = tokenize_newick14(newick_str)\n",
    "        #print(f\"newick_str: {newick_str}\")\n",
    "        #print(f\"Tokens: {tokens}\")\n",
    "    except SyntaxError as e:\n",
    "        return False, str(e)\n",
    "    if not tokens:\n",
    "        return False, \"Empty Newick string.\"\n",
    "    l = len(tokens)\n",
    "    #print(f\"Length of tokens: {l}\")\n",
    "    j = 0\n",
    "    indexes_of_tokens = []\n",
    "    if l == 1:\n",
    "        kind, value = tokens[j]\n",
    "        if kind == 'LETTERS': # NodeA\n",
    "            return True, \"Valid Newick string.\"\n",
    "        else:\n",
    "            return False, \"Invalid Newick string.\"\n",
    "    elif l == 2:\n",
    "        kind, value = tokens[j]\n",
    "        if kind == 'LETTERS' and tokens[1][0] == 'SEMICOLON': #NodeC;\n",
    "            return True, \"Valid Newick string.\"\n",
    "        else:\n",
    "            return False, \"Invalid Newick string.\"\n",
    "    elif 3 < l < 22: # No redundancy is assumed\n",
    "        return False, \"Invalid Newick string.\"\n",
    "    elif l >= 22:\n",
    "        #print(f\"Length of string: {l}\")\n",
    "        for j in range(l-20):\n",
    "            #print(f\"tokens[{j}]: {tokens[j]}\")\n",
    "            #print(f\"tokens[{j+1}]: {tokens[j+1]}\")\n",
    "            if tokens[j][0] == 'LETTERS' and tokens[j+1][0] == 'LBRACKET':\n",
    "                #print(f\"Starting index : {j}\".format(j=j))\n",
    "                indexes_of_tokens.append(j)\n",
    "                # info that starts at j is examined for correctness\n",
    "                is_valid14, message14 = examine_subsequence14(tokens, j)\n",
    "                if is_valid14:\n",
    "                    pass\n",
    "                else:\n",
    "                    return False, \"Invalid Newick string.\"\n",
    "        #print(f\"Starting indexes of tokens: {indexes_of_tokens }\")\n",
    "    is_valid14, message14 = simplify14(newick_str)\n",
    "    if is_valid14:\n",
    "        return True, \"Valid morpho-tree.\"\n",
    "    else:\n",
    "        return False, \"Invalid morpho-tree.\"\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "# Generate a sample of Newick strings that are immediately tested by a validator\n",
    "def test_validator14(max_depth, max_numb_children, max_node_radius):\n",
    "    # Specific test\n",
    "    model = \"NodeB_3_x_2[a=-1,b=0,x=-4,y=5,r=1.2]\"\n",
    "    #print(\"Simple test\")\n",
    "    #print(f\"Model of Newick String: {model}\")\n",
    "    is_valid, message = validate_newick_syntax14(model)\n",
    "    #print(f\"message: {message}\")\n",
    "    invalid_string = \"NodeB_3_x_2[a=-1,b=0,x=-4,y=5,r=1.2]]\"\n",
    "    #print(f\"\\nInvalid_string: {invalid_string}\")\n",
    "    is_valid, message = validate_newick_syntax14(invalid_string)\n",
    "    #print(f\"message: {message}\")\n",
    "    #print(\"\\n\")\n",
    "\n",
    "\n",
    "    #print(\"\\nMassive test of Newick formulas encoding for morpho-trees:\\n\" + \"=\"*47)\n",
    "    max_depth = 7\n",
    "    max_numb_children = 3\n",
    "    #print(f\"max_depth: {max_depth}\")\n",
    "    #print(f\"max_numb_children: {max_numb_children} \\n\"+ \"=\"*20)\n",
    "    for i in range(1, 100):\n",
    "        p, s = complete_tree_generator14(max_depth, max_numb_children, max_node_radius)\n",
    "        #print(f\"pattern {p}\")\n",
    "        #print(f\"Morpho-tree {i}: {s}\")\n",
    "        is_valid, message = validate_newick_syntax14(s)\n",
    "        #print(f\"is valid at main : {is_valid}, message: {message}\")\n",
    "        #status = \"✅ VALID\" if is_valid else \"❌ INVALID\"\n",
    "        #print(f\"Morpho-tree {i}:: {status} - {message}\")\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "# ======== DRAWING ================\n",
    "\n",
    "def get_illuminated_area14(x,y,r):\n",
    "    \"\"\"\n",
    "      The illuminated area enclosess all unitary squares that intersetcs the circles of illumination.\n",
    "      Each square is denoted by its left botton corner. These will be found in the set illuminated_coords.\n",
    "    \"\"\"\n",
    "    #print(\"get_illuminated_area14\")\n",
    "    #print(f\"x: {x}, y: {y}, r: {r}\")\n",
    "    illuminated_coords = set()\n",
    "\n",
    "\n",
    "    for xi,yi,ri in zip(x,y,r):\n",
    "        circle_center_x = xi + 0.5\n",
    "        circle_center_y = yi + 0.5\n",
    "        r_sq = ri ** 2\n",
    "        # 1. Add the cell containing the center of the circle\n",
    "        # This covers the case of small circles not intersecting grid lines.\n",
    "        illuminated_coords.add((math.floor(circle_center_x), math.floor(circle_center_y)))\n",
    "\n",
    "        # 2. Horizontal Scan: Check intersections with horizontal grid lines\n",
    "        # Iterate y_line from floor(cy - r) to ciel(cy + r)\n",
    "        # These y_line values represent the y-coordinates of horizontal grid lines.\n",
    "        for y_line in range(math.floor(circle_center_y - ri)-1,\n",
    "                            math.ceil(circle_center_y + ri) + 1):\n",
    "            dy = y_line - circle_center_y\n",
    "            discriminant = r_sq - dy * dy\n",
    "\n",
    "            if discriminant >= 0:\n",
    "                dx = math.sqrt(discriminant)\n",
    "                x_min_intersect = circle_center_x - dx\n",
    "                x_max_intersect = circle_center_x + dx\n",
    "\n",
    "                # For each integer x-coordinate that the horizontal segment crosses:\n",
    "                # Add the cells whose bottom-left corner's x-coordinate is in this range.\n",
    "                # This covers cells whose top edge is y_line AND cells whose bottom edge is y_line.\n",
    "                for ix in range(math.floor(x_min_intersect), math.floor(x_max_intersect) + 1):\n",
    "                    illuminated_coords.add((ix, y_line))\n",
    "                    illuminated_coords.add((ix, y_line - 1))\n",
    "\n",
    "        # 3. Vertical Scan: Check intersections with vertical grid lines\n",
    "        # Iterate x_line from floor(cx - r) to ciel(cx + r)\n",
    "        # These x_line values represent the x-coordinates of vertical grid lines.\n",
    "        for x_line in range(math.floor(circle_center_x - ri)-1,\n",
    "                            math.ceil(circle_center_x + ri) + 1):\n",
    "            dx = x_line - circle_center_x\n",
    "            discriminant = r_sq - dx * dx\n",
    "\n",
    "            if discriminant >= 0:\n",
    "                dy = math.sqrt(discriminant)\n",
    "                y_min_intersect = circle_center_y - dy\n",
    "                y_max_intersect = circle_center_y + dy\n",
    "\n",
    "                # For each integer y-coordinate that the vertical segment crosses:\n",
    "                # Add the cells whose bottom-left corner's y-coordinate is in this range.\n",
    "                # This covers cells whose right edge is x_line AND cells whose left edge is x_line.\n",
    "                for iy in range(math.floor(y_min_intersect), math.floor(y_max_intersect) + 1):\n",
    "                    # Cell (x_line, iy) - its left edge is at x_line\n",
    "                    illuminated_coords.add((x_line, iy))\n",
    "                    # Cell (x_line - 1, iy) - its right edge is at x_line\n",
    "                    illuminated_coords.add((x_line - 1, iy))\n",
    "    # print(f\"illuminated_coords  {illuminated_coords}\")\n",
    "\n",
    "    return illuminated_coords\n",
    "\n",
    "\n",
    "def plot_illuminated_area_newick14(ax, illuminated_coords, title, color='blue', alpha=0.1):\n",
    "    ax.set_aspect('equal', adjustable='box')\n",
    "    if not illuminated_coords:\n",
    "        ax.set_title(title)\n",
    "        ax.grid(True)\n",
    "        return\n",
    "\n",
    "    for x, y in illuminated_coords:\n",
    "        rect = patches.Rectangle((x, y), 1, 1, facecolor=color, alpha=alpha, edgecolor='black', linewidth=0.5)\n",
    "        ax.add_patch(rect)\n",
    "\n",
    "    min_x = min(c[0] for c in illuminated_coords) - 1\n",
    "    max_x = max(c[0] for c in illuminated_coords) + 2\n",
    "    min_y = min(c[1] for c in illuminated_coords) - 1\n",
    "    max_y = max(c[1] for c in illuminated_coords) + 2\n",
    "    #print(f\"min_x: {min_x}, max_x: {max_x}, min_y: {min_y}, max_y: {max_y}\")\n",
    "\n",
    "    ax.set_xlim(min_x, max_x)\n",
    "    ax.set_ylim(min_y, max_y)\n",
    "    ax.set_xticks(range(int(min_x), int(max_x)))\n",
    "    ax.set_yticks(range(int(min_y), int(max_y)))\n",
    "    ax.grid(True)\n",
    "    ax.set_title(title)\n",
    "\n",
    "\n",
    "\n",
    "def plot_tree_nodes_and_their_diffusion_circles14(x,y,r, ax, tree_color='lightblue', diff_color='red'):\n",
    "  for xi,yi,ri in zip(x,y,r):\n",
    "    # Plot the square representing the cell\n",
    "    rect = patches.Rectangle((xi, yi), 1, 1, facecolor=tree_color, edgecolor='black', linewidth=1, zorder=1)\n",
    "    ax.add_patch(rect)\n",
    "    #node_label_part = node.value.split('_')[-1] if '_' in node.value else node.value\n",
    "    #ax.text(xi + 0.5, yi + 0.5, node_label_part, ha='center', va='center', color='darkblue', fontsize=7, zorder=2)\n",
    "\n",
    "    # Plot the circle representing the radius of influence\n",
    "    circle = patches.Circle((xi + 0.5, yi + 0.5), ri, color='red', alpha=0.1, zorder=2)\n",
    "    ax.add_patch(circle)\n",
    "\n",
    "def find_leaves(newick_string):\n",
    "    \"\"\"Detect leaves in a Newick string.\"\"\"\n",
    "    #print(\"\\n\\nfind_leaves\")\n",
    "    #print(f\"Newick String: {newick_string}\")\n",
    "\n",
    "    # Detection of leaves.\n",
    "    # Dectect substrings of the form \"(...)\" but without interior parentheses.\n",
    "    pattern_leaves = r'[(][^()]*[)]'\n",
    "    # Leaves may come grouped by bouquets\n",
    "    bouquets_of_leaves = re.findall(pattern_leaves, newick_string )\n",
    "    #print(f\"Bouquets_of_leaves: {bouquets_of_leaves}\")\n",
    "    all_leaves = []\n",
    "    # Descipher each leaf and find the father\n",
    "    for bouquet_of_leaves in bouquets_of_leaves:\n",
    "        bouquet_of_leaves = bouquet_of_leaves[1:-1]\n",
    "        leaves = detect_all_groups14(bouquet_of_leaves)\n",
    "        for loaf in leaves:\n",
    "          loaf = loaf.replace(\" \", \"\")\n",
    "          all_leaves.append(loaf)\n",
    "    return all_leaves\n",
    "\n",
    "\n",
    "\n",
    "def connect_leaves_to_father14(newick_string, ax, tree_color='lightblue', diff_color='red'):\n",
    "    \"\"\"Draw lines connecting leaves to fathers\"\"\"\n",
    "\n",
    "    #print(\"\\n\\nconnect_leaves_to_father14\")\n",
    "    #print(f\"Newick String: {newick_string}\")\n",
    "\n",
    "    all_leaves = find_leaves(newick_string)\n",
    "    for leaf in all_leaves:\n",
    "        [al,bl,xl,yl,rl] = extract_info14(leaf)\n",
    "        #print(f\"Info: a: {al}, b: {bl}, x: {xl}, y: {yl}, r: {rl}\")\n",
    "\n",
    "        # Task: Find the father of the leaf.\n",
    "        # It is the node after the last leaf\n",
    "        # Example:\n",
    "        # (Node9[x=-11,y=19.7,r=12.4567],Node8[x=0,y=7,r=15],Node7[x=6,y=16,r=9])Node6[x=17,y=9,r=20]\n",
    "        # The father of Node9, Node8, and Node7 is Node 6.\n",
    "        # The father of a node is found after the first unbalanced right parenthesis.\n",
    "        index_nex_right_par = newick_string.find(\")\", newick_string.find(leaf))\n",
    "        father_with_tail = newick_string[index_nex_right_par+1:]\n",
    "        father_group = detect_all_groups14(father_with_tail)\n",
    "        if father_group:\n",
    "          [af,bf,xf,yf,rf]  = extract_info14(father_group[0])\n",
    "          #father_center = (xf,yf)\n",
    "          ax.plot([xl + 0.5, xf + 0.5], [yl + 0.5, yf + 0.5], 'k--', linewidth=0.8, zorder = 3)\n",
    "    # Leaves are erased: each leave is replaced by \"\"\n",
    "    for leaf in all_leaves:\n",
    "          #print(f\"leaf to be erased: {leaf}\")\n",
    "          newick_string = newick_string.replace(leaf + \",\", \"\")\n",
    "          newick_string = newick_string.replace(leaf, \"\")\n",
    "          #print(f\"Newick String without leaves: {newick_string}\")\n",
    "    newick_string = newick_string.replace(\"()\", \"\")\n",
    "    #print(f\"Newick String without leaves: {newick_string}\")\n",
    "    #is_valid, message = validate_newick_syntax14(newick_string)\n",
    "    #print(f\"is valid at connect_leaves_to_father14(...) : {is_valid}, message: {message}\")\n",
    "    #status = \"✅ VALID\" if is_valid else \"❌ INVALID\"\n",
    "    #print(f\"Is the Newick string a valid morpho-tree? : {status} - {message}\")\n",
    "    groups = detect_all_groups14(newick_string)\n",
    "    number_of_groups = len(groups)\n",
    "    return newick_string, number_of_groups\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "def draw_tree_links14(newick_string, ax,   diff_color='red' ):\n",
    "    \"\"\"Draw lines connecting children to father.\n",
    "       1. Each leaf is connected to its father,\n",
    "          and the corresponding stroke is plotted.\n",
    "       2. Leaves are erased.\n",
    "       3. New leaves are detected and connected to their father.\n",
    "       4, And so on.\n",
    "       \"\"\"\n",
    "\n",
    "    #print(\"draw_tree_links14\")\n",
    "    #print(f\"Newick String: {newick_string}\")\n",
    "    length_string = len(newick_string)\n",
    "    #print(f\"length_string: {length_string}\")\n",
    "    groups = detect_all_groups14(newick_string)\n",
    "    #print(f\"Groups: {groups}\")\n",
    "    number_of_groups = len(groups)\n",
    "    # Leaves are recursively found and connected to their father.\n",
    "    counter_of_trials = 0\n",
    "    while number_of_groups > 1:\n",
    "        #print(\"\\n\\ndraw_tree_links14\")\n",
    "        #print(f\"Newick String: {newick_string}\")\n",
    "\n",
    "        newick_string, number_of_groups = connect_leaves_to_father14(newick_string, ax, tree_color='lightblue', diff_color='red')\n",
    "        counter_of_trials = counter_of_trials + 1\n",
    "        if counter_of_trials > length_string:\n",
    "          break\n",
    "    # The root is detected and marked with a cross\n",
    "    groups = detect_all_groups14(newick_string)\n",
    "    #print(f\"Groups: {groups}\")\n",
    "    number_of_groups = len(groups)\n",
    "    #print(f\"number_of_groups = {number_of_groups}\")\n",
    "    # Mark the root with a red cross\n",
    "    if number_of_groups >= 1:\n",
    "      [a0,b0,x0,y0,r0] = extract_info14(groups[-1])\n",
    "      #print(f\"Origin: a: {a0}, b: {b0}, x: {x0}, y: {y0}, r: {r0}\")\n",
    "      ax.plot([x0, x0 +1 ], [y0+ 0.5, y0+ 0.5],   color = 'red', linewidth=0.8, zorder = 3)\n",
    "      ax.plot([x0 + 0.5, x0 +0.5], [y0, y0+ 1],   color = 'red', linewidth=0.8, zorder = 3)\n",
    "    return newick_string, number_of_groups\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "def draw_tree_newick14(newick_string, title):\n",
    "    #print(\"\\n=========== DRAWING=======\\n\")\n",
    "    #print(\"=========== DRAWING=======\\n\")\n",
    "    #print(\"=========== DRAWING=======\\n\")\n",
    "    a,b,x,y,r = extract_all_infos14(newick_string)\n",
    "    fig, ax = plt.subplots(figsize=(7, 15))\n",
    "    ax.set_aspect('equal')\n",
    "    plot_tree_nodes_and_their_diffusion_circles14(x,y,r, ax, tree_color='lightgreen', diff_color='red')\n",
    "\n",
    "    # Illuminated area is calculated\n",
    "    illuminated_coords = get_illuminated_area14(x,y,r)\n",
    "    #print(f\"Illuminated cells: {illuminated_coords}\")\n",
    "    #print(f\"Number of illuminated cells: {len(illuminated_coords)}\")\n",
    "    # Tree is drawn\n",
    "    #title = \"morpho-tree: lightgreen, illuminated circles: red, illuminated Area: lightblue\"\n",
    "    plot_illuminated_area_newick14(ax, illuminated_coords, title, color='blue', alpha=0.1)\n",
    "    # Lines that define the tree are added\n",
    "    draw_tree_links14(newick_string, ax, diff_color='red'  )\n",
    "\n",
    "    plt.tight_layout()\n",
    "    plt.show()\n",
    "    return illuminated_coords\n",
    "\n",
    "\n",
    "# Generate the  Newick string of a morpho-tree, test and draw it\n",
    "# def generate_test_and_draw_morpho_tree(target_tree_params['max_depth'], target_tree_params['max_number_children'], target_tree_params['max_node_radius'] ):\n",
    "def generate_and_test_morpho_tree14(ga_params):\n",
    "    #print(\"generate_and_test_morpho_tree( ga_params)\"\"\n",
    "\n",
    "    newick_tree = complete_tree_generator14(ga_params['max_depth'], ga_params['max_number_children'], ga_params['max_node_radius']) #line 264\n",
    "    #newick_tree = complete_tree_generator14(max_depth, max_numb_children, max_node_radius) #line 264\n",
    "    is_valid, message = validate_newick_syntax14(newick_tree)\n",
    "    illuminated_coords = set()\n",
    "    \n",
    "    if is_valid:\n",
    "        a,b,x,y,r = extract_all_infos14(newick_tree)\n",
    "        illuminated_coords = get_illuminated_area14(x,y,r)\n",
    "    else:\n",
    "      print(\"Newick string is not valid\")\n",
    "    \"\"\"\n",
    "    is_valid, message = validate_newick_syntax14(newick_tree)\n",
    "    print(f\"is the Newick String valid?: {is_valid}, message: {message}\")\n",
    "    status = \"✅ VALID\" if is_valid else \"❌ INVALID\"\n",
    "    print(f\"Is the Newick string a valid morpho-tree? : {status} - {message}\")\n",
    "    \"\"\"\n",
    "    return newick_tree, illuminated_coords\n",
    "\n",
    "\n",
    "# --- Evoluciónary functions ---\n",
    "\n",
    "def create_initial_population_newick14(pop_size=ga_params['pop_size'], max_depth=ga_params['max_depth'], max_children=ga_params['max_number_children'],  max_node_radius=ga_params['max_node_radius'] ):\n",
    "    population = []\n",
    "    for _ in range(pop_size):\n",
    "        new_tree = complete_tree_generator14(max_depth, max_children, max_node_radius)\n",
    "        population.append(new_tree)\n",
    "    return population\n",
    "\n",
    "def get_illuminated_coordinates14(newick_string):\n",
    "  \"\"\"Coordinates of illuminated cells are extracted from the Newick string\"\"\"\n",
    "  a,b,x,y,r = extract_all_infos14(newick_string)\n",
    "  # Illuminated area is calculated\n",
    "  illuminated_coords = get_illuminated_area14(x,y,r)\n",
    "  ##print(f\"Illuminated cells: {illuminated_coords}\")\n",
    "  ##print(f\"Number of illuminated cells: {len(illuminated_coords)}\")\n",
    "  return illuminated_coords\n",
    "\n",
    "def calculate_fitness_illumination14(candidate_tree_root, target_illuminated_area):\n",
    "    \"\"\"\n",
    "    Calculates fitness based on the symmetric difference between illuminated areas.\n",
    "    Fitness is 1.0 for a perfect match, and decreases as symmetric difference increases.\n",
    "    Reuse of a previous code by Gemini 2.5 Flash\n",
    "    \"\"\"\n",
    "    if candidate_tree_root is None:\n",
    "        # If the tree generation failed, assign a very low fitness\n",
    "        return 0.0001 # A small non-zero value to avoid division by zero issues later\n",
    "\n",
    "    candidate_illuminated_area = get_illuminated_coordinates14(candidate_tree_root)\n",
    "\n",
    "    # Symmetric difference: (A U B) - (A intersect B)\n",
    "    # Or, the elements in A but not B, plus elements in B but not A.\n",
    "    symmetric_difference = candidate_illuminated_area.symmetric_difference(target_illuminated_area)\n",
    "\n",
    "    # Union size: used for normalization\n",
    "    union_size = len(candidate_illuminated_area.union(target_illuminated_area))\n",
    "\n",
    "    if union_size == 0:\n",
    "        if not target_illuminated_area and not candidate_illuminated_area:\n",
    "            return 1.0 # Perfect match if both are empty\n",
    "        else:\n",
    "            return 0.0001 # Should not happen if target is non-empty, but handles cases where both are empty but expected non-empty\n",
    "\n",
    "    # Fitness is 1.0 - (len(symmetric_difference) / union_size)\n",
    "    # This gives 1.0 for a perfect match (symmetric_difference_area = 0)\n",
    "    # and approaches 0.0 for large differences.\n",
    "    fitness = 1.0 - (len(symmetric_difference) / union_size)\n",
    "    return max(0.0001, fitness) # Ensure fitness is always positive\n",
    "\n",
    "\n",
    "def select_parents_newick(population, fitness_scores, num_parents):\n",
    "    parents = []\n",
    "    # Use roulette wheel selection or tournament selection. Tournament is generally robust.\n",
    "    for _ in range(num_parents):\n",
    "        tournament_size = min(5, len(population))\n",
    "        if tournament_size == 0:\n",
    "            break\n",
    "        tournament_candidates = random.sample(list(zip(population, fitness_scores)), tournament_size)\n",
    "        winner = max(tournament_candidates, key=lambda x: x[1])[0]\n",
    "        parents.append(winner)\n",
    "    return parents\n",
    "\n",
    "def find_recombinant_branch14(newick_string):\n",
    "  # A full functional branch is recognized because it is enclosed by ()\n",
    "  # and everything inside is full functional.\n",
    "  # We simply keep an accounting of parentheses pairing\n",
    "  #print(\"\\nfind_branch\")\n",
    "  #print(f\"newick_string: {newick_string}\")\n",
    "  pattern_left_par = r'[(]'\n",
    "  starts = []\n",
    "  groups = []\n",
    "  for match in re.finditer(pattern_left_par, newick_string):\n",
    "      #print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "      starts.append(match.start())\n",
    "      groups.append(match.group())\n",
    "  number_of_infos = len(starts)\n",
    "  #print(f\"number_of_infos = {number_of_infos}\")\n",
    "  #print(f\"starts: {starts}\")\n",
    "  #print(f\"groups: {groups}\")\n",
    "  if number_of_infos == 0: # The root is alone\n",
    "    return newick_string\n",
    "  # Select a start index at random\n",
    "  start_idx = random.randint(0, number_of_infos-1)\n",
    "  #print(f\"selected start_idx: {start_idx}\")\n",
    "  start_idx = starts[start_idx]\n",
    "  #print(f\"start_idx: {start_idx}\")\n",
    "  tail = newick_string[start_idx:]\n",
    "  #print(f\"tail: {tail}\")\n",
    "  # Balance accounting\n",
    "  counter_of_pars = 0\n",
    "  for i in range(len(tail)):\n",
    "    if tail[i] == \"(\":\n",
    "      counter_of_pars = counter_of_pars + 1\n",
    "    if tail[i] == \")\":\n",
    "      counter_of_pars = counter_of_pars - 1\n",
    "    if counter_of_pars == 0:\n",
    "      branch = tail[: i+1]\n",
    "      #print(f\"Functional branch: {branch}\")\n",
    "      break\n",
    "  return branch\n",
    "\n",
    "\n",
    "def newick_position_branch_recombination14(newick_string1, newick_string2):\n",
    "  \"\"\" Recombination of full functional branches\"\"\"\n",
    "  #print(\"\\nnewick_position_branch_recombination14\")\n",
    "  #print(f\"newick_string1: {newick_string1}\")\n",
    "  #print(f\"newick_string2: {newick_string2}\")\n",
    "  branch1 = find_recombinant_branch14(newick_string1)\n",
    "  branch2 = find_recombinant_branch14(newick_string2)\n",
    "  #print(f\"\\nbranch1: {branch1}\")\n",
    "  #print(f\"branch2: {branch2}\")\n",
    "  # Branches are interchanged\n",
    "  newick_string1 = newick_string1.replace(branch1, branch2)\n",
    "  newick_string2 = newick_string2.replace(branch2, branch1)\n",
    "  return newick_string1, newick_string2\n",
    "\n",
    "def newick_leaves_recombination14(newick_string1, newick_string2):\n",
    "  \"\"\" Recombination of full functional branches\"\"\"\n",
    "  #print(\"\\nnewick_leaves_recombination14\")\n",
    "  #print(f\"newick_string1: {newick_string1}\")\n",
    "  #print(f\"newick_string2: {newick_string2}\")\n",
    "  leaves1 = find_leaves(newick_string1)\n",
    "  leaves2 = find_leaves(newick_string2)\n",
    "  if not leaves1 or not leaves2:\n",
    "    return newick_string1, newick_string2\n",
    "  # Select a leaf at random from each tree\n",
    "  leaf1 = random.choice(leaves1)\n",
    "  leaf2 = random.choice(leaves2)\n",
    "  #print(f\"\\nleaf1: {leaf1}\")\n",
    "  #print(f\"leaf2: {leaf2}\")\n",
    "  # Leaves are interchanged\n",
    "  newick_string1 = newick_string1.replace(leaf1, leaf2)\n",
    "  newick_string2 = newick_string2.replace(leaf2, leaf1)\n",
    "  return newick_string1, newick_string2\n",
    "\n",
    "\n",
    "def find_occupied_squares14(newick_string):\n",
    "    \"\"\"Detects all the occupied squares in a tree\"\"\"\n",
    "    occupied_squares_set = set()\n",
    "    groups = detect_all_groups14(newick_string)\n",
    "    for group in groups:\n",
    "        [a,b,x,y,r] = extract_info14(group)\n",
    "        occupied_squares_set.add((x, y))\n",
    "    return occupied_squares_set\n",
    "\n",
    "def newick_mutation_of_radius14(newick_string):\n",
    "  # The pattern of the radius of illumination, r = 0.2\n",
    "  pattern_r = r'r=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  starts = []\n",
    "  groups = []\n",
    "  for match in re.finditer(pattern_r, newick_string):\n",
    "      #print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "      starts.append(match.start())\n",
    "      groups.append(match.group())\n",
    "  number_of_infos = len(starts)\n",
    "  #print(f\"number_of_infos = {number_of_infos}\")\n",
    "  #print(f\"starts: {starts}\")\n",
    "  #print(f\"groups: {groups}\")\n",
    "  # Select a start index at random\n",
    "  start_idx = random.randint(0, number_of_infos-1)\n",
    "  #print(f\"selected start_idx: {start_idx}\")\n",
    "  l = len(groups[start_idx])\n",
    "  #print(f\"l: {l}\")\n",
    "  # Select a new radius\n",
    "  new_radius = random.uniform(0.5, 2)\n",
    "  #print(f\"new_radius: {new_radius}\")\n",
    "\n",
    "  new_info = \"r=\" + str(new_radius)\n",
    "  #print(f\"new_info: {new_info}\")\n",
    "  # Replace the info\n",
    "  mutated_newick_string = replace_str_subsequence14(newick_string, starts[start_idx], starts[start_idx] + l, new_info)\n",
    "  #print(f\"newick_string: {newick_string}\")\n",
    "  return mutated_newick_string\n",
    "\n",
    " \n",
    "def newick_find_insertion_patterns14(newick_string):\n",
    "  \"\"\" All insertion patterns are found and one is chosen at random\"\"\"\n",
    "  # The pattern of groups on the image of\n",
    "  # Node4[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07]\n",
    "  insertion_pattern = r'[]][])]'\n",
    "  starts = []\n",
    "  groups = []\n",
    "  for match in re.finditer(insertion_pattern, newick_string):\n",
    "      #print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "      starts.append(match.start())\n",
    "      groups.append(match.group())\n",
    "  number_of_patterns = len(starts)\n",
    "  #print(f\"starts: {starts}\")\n",
    "  #print(f\"groups: {groups}\")\n",
    "  start_idx = 0\n",
    "  if groups:\n",
    "    # Select a start index at random\n",
    "    start_idx = random.randint(0, number_of_patterns-1)\n",
    "    group = groups[start_idx]\n",
    "    start = starts[start_idx]\n",
    "    #print(f\"group: {group}\")\n",
    "    #print(f\"start: {start}\")\n",
    "  else:\n",
    "    group = \"\"\n",
    "    start = 0\n",
    "  return group, start\n",
    " \n",
    "\n",
    "def insertion_of_branch14(newick_string):\n",
    "  #original_newick_string = newick_string\n",
    "  # The pattern of groups on the image of\n",
    "  # Node4[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07]\n",
    "  # A group together its start site are elected\n",
    "  group, start =  newick_find_insertion_patterns14(newick_string)\n",
    "  # String to be inserted\n",
    "  # child_string = \"(Node15[a=-1.0,b=0.0,x=-2.0,y=-1.0,r=0.83],Node14[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07])Node1[a=-1.0,b=-1.0,x=-1.0,y=-1.0,r=0.95]\"\n",
    "  child_string = complete_tree_generator14(max_depth = 2, max_numb_children = 2, max_node_radius= 1.5)\n",
    "  if group:\n",
    "    #print(f\"Group (main): {group}\")\n",
    "    #print(f\"Start (main): {start}\")\n",
    "    # Does the group have children?\n",
    "    #char_before = newick_string[start-1]\n",
    "    #print(f\"char_before: {char_before}\")\n",
    "\n",
    "    newick_string = newick_string.replace(\"])\", \"],\" + child_string + \")\")\n",
    "  else:\n",
    "    # a tree is given as a child to the root\n",
    "    newick_string = \"(\" + child_string + \")\" + newick_string\n",
    "  # Cosmetics\n",
    "  #newick_string = newick_string.replace(\",,\", \",\")\n",
    "\n",
    "  # Comparison\n",
    "  #print(f\"Original Newick string: {original_newick_string}\")\n",
    "  #print(f\"Final Newick_string: {newick_string}\")\n",
    "  return newick_string\n",
    "\n",
    "def select_one_insertion_pattern_left_parenthesis_14(newick_string, counter, max_illumination_radius):\n",
    "  \"\"\" All insertion patterns (N  are found and one is chosen at random\n",
    "      The new info will be inserted to the right of the parenthesis\"\"\"\n",
    "  # The pattern of groups on the image of\n",
    "  # Node4[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07]\n",
    "  insertion_pattern = r'[(][N]'\n",
    "  starts = []\n",
    "  groups = []\n",
    "  for match in re.finditer(insertion_pattern, newick_string):\n",
    "      #print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "      starts.append(match.start())\n",
    "      groups.append(match.group())\n",
    "  number_of_patterns = len(starts)\n",
    "  #print(f\"starts: {starts}\")\n",
    "  #print(f\"groups: {groups}\")\n",
    "  start_idx = 0\n",
    "  if groups:\n",
    "    # Select a start index at random\n",
    "    start_idx = random.randint(0, number_of_patterns-1)\n",
    "    group = groups[start_idx]\n",
    "    start = starts[start_idx]\n",
    "    #print(f\"group: {group}\")\n",
    "    #print(f\"start: {start}\")\n",
    "  else:\n",
    "    group = \"\"\n",
    "    start = 0\n",
    "  #print(f\"Group140: {group}\")\n",
    "  # String to be inserted\n",
    "  father_center = find_father_center14(newick_string, start)\n",
    "  #print(f\"Father center: {father_center}\")\n",
    "  occupied_squares_set = find_occupied_squares14(newick_string)\n",
    "  info, occupied_squares_set = node_info_generator14(father_center, counter,  occupied_squares_set, max_illumination_radius)\n",
    "  info = info.replace(\"()\", \"\")\n",
    "  child_string = info \n",
    "  if group:\n",
    "      #print(f\"Group (main): {group}\")\n",
    "      #print(f\"Start (main): {start}\")\n",
    "      # The child string is inserted between ] and ) at place start\n",
    "      #print(f\"Child string: {child_string}\")\n",
    "      #print(f\"Newick string before insertion_point: {newick_string[:start+1]}\")\n",
    "      #print(f\"Newick string after insertion_point: {newick_string[start+2:]}\")\n",
    "      newick_string = newick_string[:start+1] + \"(\" + child_string +  \")\" + newick_string[start+1:]\n",
    "      #print(f\"Newick string after insertion****: {newick_string}\")\n",
    "  else:\n",
    "      # a node in the info is given as a child to the root\n",
    "      newick_string = \"(\" + child_string + \")\" + newick_string\n",
    "    # Cosmetics\n",
    "    #newick_string = newick_string.replace(\",,\", \",\")\n",
    "  \n",
    "    # Comparison\n",
    "    #print(f\"Original Newick string: {original_newick_string}\")\n",
    "    #print(f\"Final Newick_string: {newick_string}\")\n",
    "  return newick_string\n",
    "\n",
    " \n",
    "def select_one_insertion_pattern_comma_14(newick_string, counter, max_illumination_radius):\n",
    "  \"\"\" All  commas are found and one is chosen at random,\n",
    "  the child will be inserted after the comma\"\"\"\n",
    "  # The pattern of groups on the image of\n",
    "  # Node4[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07]\n",
    "  insertion_pattern = r'[]][,]'\n",
    "  starts = []\n",
    "  groups = []\n",
    "  for match in re.finditer(insertion_pattern, newick_string):\n",
    "      #print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "      starts.append(match.start())\n",
    "      groups.append(match.group())\n",
    "  number_of_patterns = len(starts)\n",
    "  #print(f\"starts: {starts}\")\n",
    "  #print(f\"groups: {groups}\")\n",
    "  start_idx = 0\n",
    "  if groups:\n",
    "    # Select a start index at random\n",
    "    start_idx = random.randint(0, number_of_patterns-1)\n",
    "    group = groups[start_idx]\n",
    "    start = starts[start_idx]\n",
    "    #print(f\"group: {group}\")\n",
    "    #print(f\"start: {start}\")\n",
    "  else:\n",
    "    group = \"\"\n",
    "    start = 0\n",
    "  #print(f\"Group140: {group}\")\n",
    "  # String to be inserted\n",
    "  father_center = find_father_center14(newick_string, start)\n",
    "  #print(f\"Father center: {father_center}\")\n",
    "  occupied_squares_set = find_occupied_squares14(newick_string)\n",
    "  info, occupied_squares_set = node_info_generator14(father_center, counter,  occupied_squares_set, max_illumination_radius)\n",
    "  info = info.replace(\"()\", \"\")\n",
    "  child_string = info \n",
    "  \n",
    "  if group:\n",
    "      #print(f\"Group (main): {group}\")\n",
    "      #print(f\"Start (main): {start}\")\n",
    "      # The child string is inserted between ] and ) at place start\n",
    "      #print(f\"Child string: {child_string}\")\n",
    "      #print(f\"Newick string before insertion_point: {newick_string[:start+1]}\")\n",
    "      #print(f\"Newick string after insertion_point: {newick_string[start+2:]}\")\n",
    "      newick_string = newick_string[:start+2] + \"(\" + child_string + \")\" + newick_string[start+2:]\n",
    "      #print(f\"Newick string after insertion****: {newick_string}\")\n",
    "  else:\n",
    "      # a node in the info is given as a child to the root\n",
    "      newick_string = \"(\" + child_string + \")\" + newick_string\n",
    "    # Cosmetics\n",
    "    #newick_string = newick_string.replace(\",,\", \",\")\n",
    "  \n",
    "    # Comparison\n",
    "    #print(f\"Original Newick string: {original_newick_string}\")\n",
    "    #print(f\"Final Newick_string: {newick_string}\")\n",
    "  return newick_string\n",
    "\n",
    "def select_one_insertion_pattern_parentheses_14(newick_string, counter, max_illumination_radius):\n",
    "  \"\"\" All insertion patterns ]) are found and one is chosen at random\n",
    "      The new info will be inserted between ] and ) as a brother\"\"\"\n",
    "  # The pattern of groups on the image of\n",
    "  # Node4[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07]\n",
    "  insertion_pattern = r'[]][)]'\n",
    "  starts = []\n",
    "  groups = []\n",
    "  for match in re.finditer(insertion_pattern, newick_string):\n",
    "      #print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "      starts.append(match.start())\n",
    "      groups.append(match.group())\n",
    "  number_of_patterns = len(starts)\n",
    "  #print(f\"starts: {starts}\")\n",
    "  #print(f\"groups: {groups}\")\n",
    "  start_idx = 0\n",
    "  if groups:\n",
    "    # Select a start index at random\n",
    "    start_idx = random.randint(0, number_of_patterns-1)\n",
    "    group = groups[start_idx]\n",
    "    start = starts[start_idx]\n",
    "    #print(f\"group: {group}\")\n",
    "    #print(f\"start: {start}\")\n",
    "  else:\n",
    "    group = \"\"\n",
    "    start = 0\n",
    "  #print(f\"Group140: {group}\")\n",
    "  # String to be inserted\n",
    "  father_center = find_father_center14(newick_string, start)\n",
    "  #print(f\"Father center: {father_center}\")\n",
    "  occupied_squares_set = find_occupied_squares14(newick_string)\n",
    "  info, occupied_squares_set = node_info_generator14(father_center, counter,  occupied_squares_set, max_illumination_radius)\n",
    "  info = info.replace(\"()\", \"\")\n",
    "  child_string = info \n",
    "  if group:\n",
    "      #print(f\"Group (main): {group}\")\n",
    "      #print(f\"Start (main): {start}\")\n",
    "      # The child string is inserted between ] and ) at place start\n",
    "      #print(f\"Child string: {child_string}\")\n",
    "      #print(f\"Newick string before insertion_point: {newick_string[:start+1]}\")\n",
    "      #print(f\"Newick string after insertion_point: {newick_string[start+2:]}\")\n",
    "      newick_string = newick_string[:start+1] + \",\" + child_string + newick_string[start+1:]\n",
    "      #print(f\"Newick string after insertion****: {newick_string}\")\n",
    "  else:\n",
    "      # a node in the info is given as a child to the root\n",
    "      newick_string = \"(\" + child_string + \")\" + newick_string\n",
    "    # Cosmetics\n",
    "    #newick_string = newick_string.replace(\",,\", \",\")\n",
    "  \n",
    "    # Comparison\n",
    "    #print(f\"Original Newick string: {original_newick_string}\")\n",
    "    #print(f\"Final Newick_string: {newick_string}\")\n",
    "  return newick_string\n",
    "\n",
    " \n",
    "\n",
    "\n",
    "def insertion_of_leaf14(newick_string, counter, max_illumination_radius):    #original_newick_string = newick_string\n",
    "    \"\"\" All insertion patterns are found and one is chosen at random\n",
    "        for the new info to be inserted \"\"\"\n",
    "    case = random.choice([1, 2, 3])  # Randomly choose between three insertion methods\n",
    "    match case:\n",
    "        case 1:\n",
    "            newick_string = select_one_insertion_pattern_comma_14(newick_string, counter, max_illumination_radius)\n",
    "        case 2:\n",
    "            newick_string = select_one_insertion_pattern_parentheses_14(newick_string, counter, max_illumination_radius)\n",
    "        case 3:\n",
    "            newick_string = select_one_insertion_pattern_left_parenthesis_14(newick_string, counter, max_illumination_radius)\n",
    "    newick_string = newick_string.replace(\",,\", \",\")\n",
    "    newick_string = newick_string.replace(\",)\", \")\")\n",
    "    newick_string = newick_string.replace(\"(,\", \"(\")\n",
    "    newick_string = newick_string.replace(\" \", \"\")\n",
    "    newick_string = newick_string.replace(\"()\", \"\")\n",
    "    return newick_string\n",
    "\n",
    "\n",
    "\n",
    "def deletion_of_leaf14(newick_string):\n",
    "    \"\"\"A leaf is deleted at random from the Newick string. \n",
    "        If there are no leaves, the original string is returned.\"\"\"\n",
    "    # All leaves are detected\n",
    "    leaves = find_leaves(newick_string)\n",
    "    if not leaves:\n",
    "        return newick_string  # No leaves to delete\n",
    "    # Select a leaf at random\n",
    "    leaf_to_delete = random.choice(leaves)\n",
    "    # Remove the selected leaf from the Newick string\n",
    "    newick_string = newick_string.replace(leaf_to_delete, \"\")\n",
    "    # Clean up any potential formatting issues (like double commas)\n",
    "    newick_string = newick_string.replace(\",,\", \",\")\n",
    "    newick_string = newick_string.replace(\",)\", \")\")\n",
    "    newick_string = newick_string.replace(\"(,\", \"(\")\n",
    "    return newick_string\n",
    "\n",
    "def find_branch14(newick_string, final_index):\n",
    "  initial_segment = newick_string[:final_index]\n",
    "  #print(f\"initial_segment: {initial_segment}\")\n",
    "  # Balance accounting\n",
    "  counter_of_pars = 0\n",
    "  branch = \"\"\n",
    "  for i in range(len(initial_segment)-1,-1,-1):\n",
    "    if initial_segment[i] == \"(\":\n",
    "      counter_of_pars = counter_of_pars + 1\n",
    "    if initial_segment[i] == \")\":\n",
    "      counter_of_pars = counter_of_pars - 1\n",
    "    if counter_of_pars == 0:\n",
    "      branch = initial_segment[i:final_index+1]\n",
    "      #print(f\"Branch to be deleted: {branch}\")\n",
    "      break\n",
    "  return branch\n",
    "\n",
    "\n",
    "def newick_find_all_groups14(newick_string):\n",
    "  \"\"\" All groups are found and one is chosen at random and returned\"\"\"\n",
    "  # The pattern of groups on the image of\n",
    "  # Node4[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07]\n",
    "  info_words =  r'[a-zA-Z_0-9_]*\\[a=-?[0-9]+(?:\\.[0-9]+)?,b=-?[0-9]+(?:\\.[0-9]+)?,x=-?[0-9]+(?:\\.[0-9]+)?,y=-?[0-9]+(?:\\.[0-9]+)?,r=-?[0-9]+(?:\\.[0-9]+)?\\]'\n",
    "  starts = []\n",
    "  groups = []\n",
    "  for match in re.finditer(info_words, newick_string):\n",
    "      #print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "      starts.append(match.start())\n",
    "      groups.append(match.group())\n",
    "  number_of_infos = len(starts)\n",
    "  if number_of_infos == 0: # The root is alone\n",
    "    return newick_string, 0\n",
    "  #print(f\"number_of_infos = {number_of_infos}\")\n",
    "  #print(f\"starts: {starts}\")\n",
    "  #print(f\"groups: {groups}\")\n",
    "  # Select a start index at random\n",
    "  start_idx = random.randint(0, number_of_infos-1)\n",
    "  #print(f\"selected start_idx: {start_idx}\")\n",
    "  return groups[start_idx], starts[start_idx]\n",
    "\n",
    "\n",
    "def deletion_of_branch14(newick_string ):\n",
    "  group, start =  newick_find_all_groups14(newick_string)\n",
    "  #print(f\"Group (main): {group}\")\n",
    "  #print(f\"Start (main): {start}\")\n",
    "  # Does the group have children?\n",
    "  char_before = newick_string[start-1]\n",
    "  #print(f\"char_before: {char_before}\")\n",
    "  if char_before ==  \")\":\n",
    "    #print(\"The group has children\")\n",
    "    #find branch\n",
    "    final_index = start-1\n",
    "    branch = find_branch14(newick_string, final_index+1)\n",
    "\n",
    "    branch_and_father = branch + group\n",
    "    #print(f\"  Branch and father to be deleted: {branch_and_father}\")\n",
    "    #delete group\n",
    "    newick_string = newick_string.replace(branch_and_father , \"\")\n",
    "  else:\n",
    "    #print(\"The group has no children\")\n",
    "    #delete group\n",
    "    newick_string = newick_string.replace(group, \"\")\n",
    "\n",
    "  # Cosmetics\n",
    "  newick_string = newick_string.replace(\",,\", \",\")\n",
    "  newick_string = newick_string.replace(\",)\", \")\")\n",
    "  newick_string = newick_string.replace(\"(,\", \"(\")\n",
    "  newick_string = newick_string.replace(\" \", \"\")\n",
    "  # Comparison\n",
    "  #print(f\"Original Newick string: {newick_string}\")\n",
    "  l = len(newick_string)\n",
    "  #print(f\"Length of newick_string: {l}\")\n",
    "  if l == 0 :\n",
    "     newick_string = \"Node_0[a=0,b=0,x=0,y=0,r=1]\"\n",
    "  #print(f\"Final Newick_string: {newick_string}\")\n",
    "  return newick_string\n",
    "\n",
    "\n",
    "def newick_mutation_branches14(newick_string):\n",
    "  # Mutation of radius of illumination and of complete branches\n",
    "  if random.random() <  ga_params['mutation_rate']:\n",
    "    newick_string = newick_mutation_of_radius14(newick_string)\n",
    "    newick_string = insertion_of_branch14(newick_string)\n",
    "    newick_string = deletion_of_branch14(newick_string)\n",
    "  return newick_string\n",
    "\n",
    "def newick_mutation_leaves14(newick_string, ga_params):\n",
    "  \"\"\"Radius is mutated, and only leaves can be inserted or deleted\"\"\"\n",
    "  if random.random() <  ga_params['mutation_rate']:\n",
    "    # Mutation of radius of illumination and of complete leaves\n",
    "    newick_string = newick_mutation_of_radius14(newick_string)\n",
    "    newick_string = insertion_of_leaf14(newick_string, counter=random.randint(0, 1000), max_illumination_radius=ga_params['max_node_radius'])\n",
    "    newick_string = deletion_of_leaf14(newick_string)\n",
    "  return newick_string\n",
    "\n",
    "\n",
    "def plot_illuminated_area14(ax, illuminated_coords, title, color='blue', alpha=0.5):\n",
    "    ax.set_aspect('equal', adjustable='box')\n",
    "    if not illuminated_coords:\n",
    "        ax.set_title(title)\n",
    "        ax.grid(True)\n",
    "        return\n",
    "\n",
    "    for x, y in illuminated_coords:\n",
    "        rect = patches.Rectangle((x, y), 1, 1, facecolor=color, alpha=alpha, edgecolor='black', linewidth=0.5)\n",
    "        ax.add_patch(rect)\n",
    "\n",
    "    min_x = min(c[0] for c in illuminated_coords) - 1\n",
    "    max_x = max(c[0] for c in illuminated_coords) + 2\n",
    "    min_y = min(c[1] for c in illuminated_coords) - 1\n",
    "    max_y = max(c[1] for c in illuminated_coords) + 2\n",
    "\n",
    "    ax.set_xlim(min_x, max_x)\n",
    "    ax.set_ylim(min_y, max_y)\n",
    "    ax.set_xticks(range(int(min_x), int(max_x)))\n",
    "    ax.set_yticks(range(int(min_y), int(max_y)))\n",
    "    ax.grid(True)\n",
    "    ax.set_title(title)\n",
    "\n",
    "# --- MAIN EvoluciónARY SIMULATION LOOP ---\n",
    "\n",
    "def EvoluciónaryProcess14(target_tree_params, ga_params):\n",
    "    # A previous code by Gemini was reused.\n",
    "\n",
    "    # 1. Generate Target Tree and its Illuminated Area\n",
    "    #print(\"\\n--- Generating Target Tree ---\")\n",
    "    #random.seed(ga_params['seed'] + 1) # Use a different seed for target generation\n",
    "    target_tree, target_illuminated_area =  generate_and_test_morpho_tree14( ga_params)#926\n",
    "    print(f\"target_tree: {target_tree} \\n\\n\")\n",
    "    number_of_groups = count_groups14(target_tree)\n",
    "    print(f\"Number of groups or nodes in target tree: {number_of_groups}\")\n",
    "    length_of_target_tree = len(target_tree)\n",
    "    #draw_newick_string14(target_tree, \"Target Tree\")\n",
    "    # target_area = get_illuminated_coordinates14(target_tree)\n",
    "    #print(f\"Target illuminated area: {target_illuminated_area}\")\n",
    "\n",
    "    # 2. Initialize Population\n",
    "    #random.seed(ga_params['seed']) # Reset seed for GA population generation\n",
    "    #print(f\"\\n--- Initializing Population of {ga_params['pop_size']} Trees ---\")\n",
    "    population = create_initial_population_newick14(\n",
    "        pop_size=ga_params['pop_size'], max_depth=ga_params['max_depth'], max_children=ga_params['max_number_children'],\n",
    "        max_node_radius=ga_params['max_node_radius']  )\n",
    "    #print(f\"Population initialized with {len(population)} individuals.\")\n",
    "    #print(f\"Population: {population}\")\n",
    "\n",
    "    best_tree_overall = \"\"\n",
    "    best_fitness_overall = -1.0\n",
    "    history = []\n",
    "\n",
    "    # 3. Evoluciónary Loop\n",
    "    #print(f\"\\n--- Starting Evoluciónary Loop for {ga_params['generations']} Generations ---\")\n",
    "    for generation in range(ga_params['generations']):\n",
    "        if generation % 1000 == 0:\n",
    "            print(f\"\\n--- Generation {generation+1}/{ga_params['generations']}, Best fitness {round(best_fitness_overall, 5)} ---\")\n",
    "        fitness_scores = [calculate_fitness_illumination14(tree, target_illuminated_area)for tree in population]\n",
    "\n",
    "        current_best_fitness = max(fitness_scores)\n",
    "        current_best_tree = population[np.argmax(fitness_scores)]\n",
    "\n",
    "        if current_best_fitness > best_fitness_overall:\n",
    "            best_fitness_overall = current_best_fitness\n",
    "            best_tree_overall = copy.deepcopy(current_best_tree) # Deepcopy to save the best tree\n",
    "\n",
    "        history.append(current_best_fitness)\n",
    "\n",
    "        #print(f\"Generation {generation+1}/{ga_params['generations']}: Best Fitness = {current_best_fitness:.4f} (Overall Best: {best_fitness_overall:.4f})\")\n",
    "\n",
    "        if best_fitness_overall >= 0.999: # Almost perfect match\n",
    "            #print(\"Target illumination achieved (or very close)! Stopping Evolución.\")\n",
    "            return history, number_of_groups\n",
    "\n",
    "        # Selection\n",
    "        parents = select_parents_newick(population, fitness_scores, ga_params['pop_size'] // 2)\n",
    "\n",
    "        # Create next generation\n",
    "        next_population = []\n",
    "        # Elitism: Keep the best individual from the current generation\n",
    "        if best_tree_overall and current_best_fitness == best_fitness_overall: # Only if it's the current best in this generation\n",
    "            next_population.append(copy.deepcopy(current_best_tree))\n",
    "\n",
    "        while len(next_population) < ga_params['pop_size']:\n",
    "            if len(parents) < 2: # Not enough parents for crossover, fill with new random trees\n",
    "                new_tree =  complete_tree_generator14(target_tree_params['max_depth'], target_tree_params['max_number_children'], target_tree_params['max_node_radius'] )\n",
    "                if new_tree:\n",
    "                    next_population.append(new_tree)\n",
    "                continue\n",
    "\n",
    "            # Randomly pick two parents (can be the same parent multiple times with replacement for simplicity)\n",
    "            p1 = random.choice(parents)\n",
    "            p2 = random.choice(parents)\n",
    "            child1, child2 = p1,p2 # No crossover, just pass parents to children for mutation\n",
    "            if recombination_of_leaves:\n",
    "                # Crossover newick_position_branch_recombination14\n",
    "                # child1, child2 = newick_position_branch_recombination14(p1, p2)\n",
    "                # Crossover newick_leaves_recombination14\n",
    "                child1, child2 =newick_leaves_recombination14(p1,p2)\n",
    "            # Mutation: Apply mutation to both children\n",
    "            mutated_child1 = newick_mutation_leaves14(child1, ga_params)\n",
    "            mutated_child2 = newick_mutation_leaves14(child2, ga_params)\n",
    "\n",
    "\n",
    "            next_population.append(mutated_child1)\n",
    "            if len(next_population) < ga_params['pop_size']:\n",
    "                next_population.append(mutated_child2)\n",
    "\n",
    "        population = next_population[:ga_params['pop_size']]\n",
    "        # print(f\"Population size for next generation: {len(population)}\")\n",
    "        # print(f\"Best fitness this generation: {current_best_fitness:.4f}, Overall best fitness: {best_fitness_overall:.4f}\")\n",
    "        # print(f\"Best tree this generation: {current_best_tree}\")\n",
    "        # If you want to see the entire population, uncomment the following line:\n",
    "        # print(f\"Population: {population}\")\n",
    "        # Cutt-off for the length of the Newick string to avoid excessive growth\n",
    "        population = [tree for tree in population if len(tree) <= 2 * length_of_target_tree]  # Allow some growth but limit it\n",
    "        #print(f\"Population size after length cut-off: {len(population)}\")\n",
    "        # If the population is too small, refill\n",
    "        while len(population) < ga_params['pop_size']:\n",
    "            new_tree = complete_tree_generator14(target_tree_params['max_depth'], target_tree_params['max_number_children'], target_tree_params['max_node_radius'])\n",
    "            if new_tree:\n",
    "                population.append(new_tree) \n",
    "    #print(\"\\n--- Evolución Finished ---\")\n",
    "    #print(f\"Final Best Fitness: {best_fitness_overall:.4f}\")\n",
    "    #return target_tree, target_illuminated_area, best_tree_overall, best_fitness_overall, history, number_of_groups\n",
    "    \n",
    "    return history, number_of_groups\n",
    "        \n",
    "\n",
    "def draw_all_histories14(fitness_histories, numbers_of_nodes, population_sizes):\n",
    "    print(\"draw_all_historiesk4(fitness_histories, lengths_of_target_sequence)\")\n",
    "    # Plot all the fitness histories together\n",
    "    # By the AI of VSCode. \n",
    "    for i in range(len(fitness_histories)):\n",
    "        # x_range contains all numbers from 0 to the length of the fitness history for the current length of target sequence.\n",
    "        x_range = range(len(fitness_histories[i]))\n",
    "        plt.plot(x_range, fitness_histories[i], label=f'pop_size {population_sizes[i]}, Number of nodes {numbers_of_nodes[i]}')\n",
    "    plt.xlabel('Generation')\n",
    "    plt.ylabel('Best Fitness')\n",
    "    plt.title('GA: Fitness of the best morpho-tree over Generations for Different numbers of pop-sizes and nodes')\n",
    "    plt.grid(True)\n",
    "    plt.legend()\n",
    "    plt.show()\n",
    "\n",
    " \n",
    "def main14(target_tree_params, ga_params):\n",
    "    ''' An Evoluciónary process is triggered for each pop-size value.\n",
    "    The number of nodes is not predefined, \n",
    "    but results from interation with random generation.\n",
    "    The fitness history is stored in a list, \n",
    "    and then all the histories are plotted together.\n",
    "    '''\n",
    "    population_sizes = [12, 25, 50, 100, 200]   \n",
    "    numbers_of_generations = [7001, 7002, 7003, 7004, 7005 ]  # Example numbers of generations for different lengths of target sequence\n",
    "    # List to store the normalized best fitness history for each length of target sequence   \n",
    "    fitness_histories = []\n",
    "    numbers_of_nodes = []  # Example numbers of generations for different lengths of target sequence\n",
    "    for i in range(len(population_sizes)):\n",
    "        target_tree_params['pop_size'] = population_sizes[i]\n",
    "        ga_params['generations'] =  numbers_of_generations[i]\n",
    "        print(f\"\\nRunning Evoluciónary process for max_depth = {target_tree_params['max_depth']} and generations = {ga_params['generations']}\")\n",
    "        history14, number_of_groups14 = EvoluciónaryProcess14(target_tree_params, ga_params)\n",
    "        fitness_histories.append(history14)\n",
    "        numbers_of_nodes.append(number_of_groups14)\n",
    "    draw_all_histories14(fitness_histories, numbers_of_nodes, population_sizes)\n",
    "     \n",
    "    \n",
    "# Run an Evoluciónary process for each value of target tree and GA parameters\n",
    "# Produces a comparative graphic\n",
    "if __name__ == \"__main__\":\n",
    "    print_parameters14(target_tree_params, ga_params)\n",
    "    main14(target_tree_params, ga_params)\n",
    " \n",
    "    end_time = time.time()\n",
    "    Execution_time = end_time - start_time\n",
    "    # print(f\"Execution time: {Execution_time:.2f} seconds\")\n",
    "    # Execution time in hours, minutes and seconds:\n",
    "    hours = int(Execution_time // 3600)\n",
    "    minutes = int((Execution_time % 3600) // 60)\n",
    "    seconds = int(Execution_time % 60)\n",
    "    print(f\"Execution time: {hours} hours, {minutes} minutes, {seconds} seconds\")\n",
    "    if memory_monitoring:\n",
    "        # displaying the allocated memory\n",
    "        print(tracemalloc.get_traced_memory())\n",
    "        # stopping the memory allocation library\n",
    "        tracemalloc.stop()\n",
    "    \n",
    "# End of program Evolución_of_newick_morphological_trees14.py"
   ],
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "LAB: EVOLUTION OF NEWICK MORPHO-TREES\n",
      "PURPOSE: \n",
      " A random morpho-tree T is generated.\n",
      " Evolution tries to restore the tree T\n",
      " beginning from a population of random trees.\n",
      "EXPERIMENT 1791286226.727942\n",
      "RECOMBINATION OF LEAVES: False\n",
      "INITIAL TARGET TREE PARAMETERS: {'max_depth': 10, 'max_number_children': 2, 'max_node_radius': 1.5}\n",
      "INITIAL GENETIC ALGORITHM PARAMETERS: {'pop_size': 70, 'generations': 100, 'max_depth': 10, 'max_number_children': 2, 'max_node_radius': 1.5, 'mutation_rate': 0.001, 'crossover_rate': 0.001}\n",
      "\n",
      "\n",
      "Running evolutionary process for max_depth = 10 and generations = 7001\n",
      "target_tree: ((((Node5[a=-1.0,b=1.0,x=1.0,y=0.0,r=0.69],(Node6[a=0.0,b=-1.0,x=1.0,y=-3.0,r=1.4])Node4[a=-1.0,b=-1.0,x=1.0,y=-2.0,r=0.58])Node3[a=0.0,b=-1.0,x=2.0,y=-1.0,r=0.65])Node2[a=1.0,b=1.0,x=2.0,y=0.0,r=1.4])Node1[a=1.0,b=-1.0,x=1.0,y=-1.0,r=0.62])Node_0[a=0,b=0,x=0,y=0,r=1] \n",
      "\n",
      "\n",
      "Number of groups or nodes in target tree: 7\n",
      "\n",
      "--- Generation 1/7001, Best fitness -1.0 ---\n",
      "\n",
      "--- Generation 1001/7001, Best fitness 0.80769 ---\n",
      "\n",
      "--- Generation 2001/7001, Best fitness 0.80769 ---\n",
      "\n",
      "--- Generation 3001/7001, Best fitness 0.80769 ---\n",
      "\n",
      "--- Generation 4001/7001, Best fitness 0.80769 ---\n",
      "\n",
      "--- Generation 5001/7001, Best fitness 0.80769 ---\n",
      "\n",
      "--- Generation 6001/7001, Best fitness 0.80769 ---\n",
      "\n",
      "--- Generation 7001/7001, Best fitness 0.80769 ---\n",
      "\n",
      "Running evolutionary process for max_depth = 10 and generations = 7002\n",
      "target_tree: (((((Node27[a=1.0,b=-1.0,x=1.0,y=-2.0,r=1.07])Node19[a=-1.0,b=-1.0,x=0.0,y=-1.0,r=1.43],((((Node63[a=0.0,b=-1.0,x=4.0,y=-3.0,r=1.19])Node50[a=0.0,b=-1.0,x=4.0,y=-2.0,r=1.23])Node37[a=1.0,b=1.0,x=4.0,y=-1.0,r=0.93])Node26[a=1.0,b=-1.0,x=3.0,y=-2.0,r=0.51])Node18[a=1.0,b=-1.0,x=2.0,y=-1.0,r=0.74])Node13[a=1.0,b=-1.0,x=1.0,y=0.0,r=1.35],(((Node49[a=1.0,b=0.0,x=2.0,y=3.0,r=1.29],Node48[a=1.0,b=1.0,x=2.0,y=4.0,r=0.9])Node36[a=0.0,b=1.0,x=1.0,y=3.0,r=0.78])Node17[a=0.0,b=1.0,x=1.0,y=2.0,r=0.84])Node12[a=1.0,b=0.0,x=1.0,y=1.0,r=0.86])Node6[a=1.0,b=0.0,x=0.0,y=1.0,r=1.47],((((Node35[a=-1.0,b=1.0,x=-1.0,y=4.0,r=0.91])Node25[a=0.0,b=1.0,x=0.0,y=3.0,r=1.48])Node11[a=1.0,b=0.0,x=0.0,y=2.0,r=1.47])Node9[a=1.0,b=0.0,x=-1.0,y=2.0,r=0.8],(((((Node62[a=0.0,b=-1.0,x=-3.0,y=5.0,r=1.39],Node61[a=-1.0,b=-1.0,x=-4.0,y=5.0,r=1.36])Node47[a=-1.0,b=1.0,x=-3.0,y=6.0,r=1.17],(Node60[a=1.0,b=-1.0,x=0.0,y=5.0,r=0.53],Node59[a=-1.0,b=0.0,x=-2.0,y=6.0,r=1.18])Node46[a=1.0,b=1.0,x=-1.0,y=6.0,r=1.31])Node34[a=0.0,b=1.0,x=-2.0,y=5.0,r=1.01],(Node45[a=1.0,b=1.0,x=0.0,y=4.0,r=0.75])Node33[a=1.0,b=-1.0,x=-1.0,y=3.0,r=1.44])Node24[a=1.0,b=0.0,x=-2.0,y=4.0,r=1.11])Node16[a=-1.0,b=1.0,x=-3.0,y=4.0,r=0.57],((Node44[a=-1.0,b=0.0,x=-5.0,y=1.0,r=1.41])Node23[a=-1.0,b=-1.0,x=-4.0,y=1.0,r=0.59],(((Node58[a=-1.0,b=-1.0,x=-6.0,y=1.0,r=1.15],Node57[a=-1.0,b=1.0,x=-6.0,y=3.0,r=1.0])Node43[a=-1.0,b=0.0,x=-5.0,y=2.0,r=1.48],(Node56[a=-1.0,b=-1.0,x=-6.0,y=2.0,r=1.2])Node42[a=-1.0,b=1.0,x=-5.0,y=3.0,r=1.25])Node32[a=-1.0,b=1.0,x=-4.0,y=2.0,r=1.09])Node22[a=0.0,b=-1.0,x=-3.0,y=1.0,r=1.15])Node15[a=-1.0,b=-1.0,x=-3.0,y=2.0,r=0.69])Node8[a=0.0,b=1.0,x=-2.0,y=3.0,r=1.42])Node5[a=-1.0,b=1.0,x=-2.0,y=2.0,r=1.48])Node2[a=-1.0,b=1.0,x=-1.0,y=1.0,r=0.5],((((((((Node41[a=-1.0,b=-1.0,x=1.0,y=-5.0,r=0.83],(Node55[a=-1.0,b=-1.0,x=0.0,y=-5.0,r=0.94],Node54[a=1.0,b=-1.0,x=2.0,y=-5.0,r=1.24])Node40[a=-1.0,b=0.0,x=1.0,y=-4.0,r=0.98])Node31[a=0.0,b=-1.0,x=2.0,y=-4.0,r=1.46],(Node53[a=-1.0,b=0.0,x=0.0,y=-3.0,r=0.87])Node30[a=-1.0,b=0.0,x=1.0,y=-3.0,r=1.3])Node21[a=0.0,b=-1.0,x=2.0,y=-3.0,r=0.59],((Node39[a=0.0,b=-1.0,x=3.0,y=-5.0,r=0.73])Node29[a=0.0,b=-1.0,x=3.0,y=-4.0,r=1.44],((Node52[a=0.0,b=1.0,x=5.0,y=-3.0,r=1.28],Node51[a=0.0,b=-1.0,x=5.0,y=-5.0,r=0.84])Node38[a=1.0,b=0.0,x=5.0,y=-4.0,r=0.95])Node28[a=1.0,b=-1.0,x=4.0,y=-4.0,r=1.11])Node20[a=1.0,b=-1.0,x=3.0,y=-3.0,r=1.19])Node14[a=1.0,b=-1.0,x=2.0,y=-2.0,r=1.42])Node10[a=1.0,b=1.0,x=1.0,y=-1.0,r=1.44])Node7[a=1.0,b=-1.0,x=0.0,y=-2.0,r=0.51])Node4[a=1.0,b=-1.0,x=-1.0,y=-1.0,r=0.6])Node3[a=-1.0,b=0.0,x=-2.0,y=0.0,r=0.71])Node1[a=-1.0,b=0.0,x=-1.0,y=0.0,r=1.45])Node_0[a=0,b=0,x=0,y=0,r=1] \n",
      "\n",
      "\n",
      "Number of groups or nodes in target tree: 64\n",
      "\n",
      "--- Generation 1/7002, Best fitness -1.0 ---\n",
      "\n",
      "--- Generation 1001/7002, Best fitness 0.72973 ---\n",
      "\n",
      "--- Generation 2001/7002, Best fitness 0.82143 ---\n",
      "\n",
      "--- Generation 3001/7002, Best fitness 0.82609 ---\n",
      "\n",
      "--- Generation 4001/7002, Best fitness 0.84058 ---\n",
      "\n",
      "--- Generation 5001/7002, Best fitness 0.84058 ---\n",
      "\n",
      "--- Generation 6001/7002, Best fitness 0.84058 ---\n",
      "\n",
      "--- Generation 7001/7002, Best fitness 0.84058 ---\n",
      "\n",
      "Running evolutionary process for max_depth = 10 and generations = 7003\n",
      "target_tree: (((((((((Node56[a=-1.0,b=1.0,x=-7.0,y=-3.0,r=1.24])Node28[a=1.0,b=1.0,x=-6.0,y=-4.0,r=0.89])Node17[a=-1.0,b=1.0,x=-7.0,y=-5.0,r=1.16])Node15[a=-1.0,b=-1.0,x=-6.0,y=-6.0,r=1.42])Node11[a=-1.0,b=-1.0,x=-5.0,y=-5.0,r=1.37])Node8[a=-1.0,b=-1.0,x=-4.0,y=-4.0,r=1.34])Node5[a=-1.0,b=-1.0,x=-3.0,y=-3.0,r=1.06])Node3[a=-1.0,b=-1.0,x=-2.0,y=-2.0,r=0.84],(((((((((Node55[a=-1.0,b=0.0,x=-5.0,y=-8.0,r=0.89])Node45[a=1.0,b=-1.0,x=-4.0,y=-8.0,r=1.13],(Node54[a=-1.0,b=1.0,x=-7.0,y=-7.0,r=1.09])Node44[a=-1.0,b=-1.0,x=-6.0,y=-8.0,r=0.66])Node37[a=0.0,b=-1.0,x=-5.0,y=-7.0,r=0.81],Node36[a=-1.0,b=-1.0,x=-6.0,y=-7.0,r=1.22])Node27[a=-1.0,b=-1.0,x=-5.0,y=-6.0,r=1.3],(Node35[a=1.0,b=1.0,x=-2.0,y=-5.0,r=1.25],(Node53[a=0.0,b=-1.0,x=-2.0,y=-8.0,r=0.52])Node34[a=1.0,b=-1.0,x=-2.0,y=-7.0,r=1.28])Node26[a=1.0,b=-1.0,x=-3.0,y=-6.0,r=0.92])Node21[a=-1.0,b=-1.0,x=-4.0,y=-5.0,r=1.12])Node14[a=-1.0,b=0.0,x=-3.0,y=-4.0,r=1.18],(((((Node52[a=1.0,b=0.0,x=-2.0,y=-9.0,r=1.36],Node51[a=1.0,b=-1.0,x=-2.0,y=-10.0,r=1.44])Node43[a=0.0,b=-1.0,x=-3.0,y=-9.0,r=1.24],(Node50[a=0.0,b=-1.0,x=-4.0,y=-10.0,r=0.91])Node42[a=-1.0,b=-1.0,x=-4.0,y=-9.0,r=0.58])Node33[a=1.0,b=-1.0,x=-3.0,y=-8.0,r=0.88])Node25[a=0.0,b=-1.0,x=-4.0,y=-7.0,r=1.34],(((Node49[a=1.0,b=0.0,x=0.0,y=-6.0,r=1.36])Node41[a=1.0,b=0.0,x=-1.0,y=-6.0,r=0.64],(Node48[a=0.0,b=-1.0,x=-1.0,y=-8.0,r=1.03])Node40[a=1.0,b=-1.0,x=-1.0,y=-7.0,r=0.82])Node32[a=1.0,b=1.0,x=-2.0,y=-6.0,r=1.39])Node24[a=1.0,b=-1.0,x=-3.0,y=-7.0,r=0.56])Node20[a=-1.0,b=-1.0,x=-4.0,y=-6.0,r=0.94])Node13[a=-1.0,b=-1.0,x=-3.0,y=-5.0,r=0.85])Node10[a=-1.0,b=-1.0,x=-2.0,y=-4.0,r=1.43])Node7[a=-1.0,b=0.0,x=-1.0,y=-3.0,r=0.77],(((((((Node47[a=1.0,b=0.0,x=4.0,y=-4.0,r=0.99])Node31[a=1.0,b=-1.0,x=3.0,y=-4.0,r=1.36])Node23[a=1.0,b=1.0,x=2.0,y=-3.0,r=0.8],(((Node46[a=1.0,b=0.0,x=0.0,y=-5.0,r=1.13])Node39[a=0.0,b=-1.0,x=-1.0,y=-5.0,r=0.91])Node30[a=-1.0,b=0.0,x=-1.0,y=-4.0,r=0.81])Node22[a=-1.0,b=0.0,x=0.0,y=-4.0,r=1.16])Node19[a=0.0,b=-1.0,x=1.0,y=-4.0,r=0.71],((Node38[a=-1.0,b=1.0,x=2.0,y=-2.0,r=1.29])Node29[a=1.0,b=1.0,x=3.0,y=-3.0,r=0.79])Node18[a=1.0,b=-1.0,x=2.0,y=-4.0,r=0.76])Node16[a=0.0,b=-1.0,x=1.0,y=-3.0,r=1.46])Node12[a=1.0,b=-1.0,x=1.0,y=-2.0,r=0.52])Node9[a=1.0,b=1.0,x=0.0,y=-1.0,r=1.3])Node6[a=-1.0,b=1.0,x=-1.0,y=-2.0,r=0.91])Node4[a=0.0,b=-1.0,x=0.0,y=-3.0,r=1.09])Node2[a=1.0,b=-1.0,x=0.0,y=-2.0,r=1.31])Node1[a=-1.0,b=-1.0,x=-1.0,y=-1.0,r=1.44])Node_0[a=0,b=0,x=0,y=0,r=1] \n",
      "\n",
      "\n",
      "Number of groups or nodes in target tree: 57\n",
      "\n",
      "--- Generation 1/7003, Best fitness -1.0 ---\n",
      "\n",
      "--- Generation 1001/7003, Best fitness 0.71338 ---\n",
      "\n",
      "--- Generation 2001/7003, Best fitness 0.71795 ---\n",
      "\n",
      "--- Generation 3001/7003, Best fitness 0.71975 ---\n",
      "\n",
      "--- Generation 4001/7003, Best fitness 0.72152 ---\n",
      "\n",
      "--- Generation 5001/7003, Best fitness 0.72152 ---\n",
      "\n",
      "--- Generation 6001/7003, Best fitness 0.72611 ---\n",
      "\n",
      "--- Generation 7001/7003, Best fitness 0.72611 ---\n",
      "\n",
      "Running evolutionary process for max_depth = 10 and generations = 7004\n",
      "target_tree: (((Node8[a=1.0,b=1.0,x=-1.0,y=1.0,r=0.55])Node5[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.41],(((Node19[a=1.0,b=-1.0,x=-2.0,y=-3.0,r=1.14],Node18[a=-1.0,b=1.0,x=-4.0,y=-1.0,r=0.71])Node14[a=0.0,b=-1.0,x=-3.0,y=-2.0,r=1.48],(Node17[a=1.0,b=0.0,x=-1.0,y=-2.0,r=0.87],Node16[a=-1.0,b=-1.0,x=-3.0,y=-3.0,r=1.0])Node13[a=1.0,b=-1.0,x=-2.0,y=-2.0,r=0.85])Node10[a=-1.0,b=0.0,x=-3.0,y=-1.0,r=0.65])Node4[a=-1.0,b=0.0,x=-2.0,y=-1.0,r=1.02])Node2[a=-1.0,b=-1.0,x=-1.0,y=-1.0,r=0.71],(((Node15[a=1.0,b=0.0,x=2.0,y=1.0,r=0.79])Node7[a=0.0,b=1.0,x=1.0,y=1.0,r=0.7],((Node12[a=1.0,b=0.0,x=4.0,y=-1.0,r=0.63],Node11[a=-1.0,b=-1.0,x=2.0,y=-2.0,r=1.11])Node9[a=1.0,b=0.0,x=3.0,y=-1.0,r=1.15])Node6[a=1.0,b=-1.0,x=2.0,y=-1.0,r=1.23])Node3[a=1.0,b=1.0,x=1.0,y=0.0,r=0.64])Node1[a=0.0,b=-1.0,x=0.0,y=-1.0,r=1.22])Node_0[a=0,b=0,x=0,y=0,r=1] \n",
      "\n",
      "\n",
      "Number of groups or nodes in target tree: 20\n",
      "\n",
      "--- Generation 1/7004, Best fitness -1.0 ---\n",
      "\n",
      "--- Generation 1001/7004, Best fitness 0.85 ---\n",
      "\n",
      "--- Generation 2001/7004, Best fitness 0.88333 ---\n",
      "\n",
      "--- Generation 3001/7004, Best fitness 0.96429 ---\n",
      "\n",
      "--- Generation 4001/7004, Best fitness 0.96429 ---\n",
      "\n",
      "--- Generation 5001/7004, Best fitness 0.96429 ---\n",
      "\n",
      "--- Generation 6001/7004, Best fitness 0.96429 ---\n",
      "\n",
      "--- Generation 7001/7004, Best fitness 0.96429 ---\n",
      "\n",
      "Running evolutionary process for max_depth = 10 and generations = 7005\n",
      "target_tree: (((((Node39[a=0.0,b=1.0,x=-2.0,y=3.0,r=0.72])Node20[a=0.0,b=1.0,x=-2.0,y=2.0,r=1.32])Node8[a=-1.0,b=1.0,x=-2.0,y=1.0,r=1.01])Node4[a=-1.0,b=-1.0,x=-1.0,y=0.0,r=1.33],(((((Node38[a=0.0,b=-1.0,x=2.0,y=-1.0,r=0.81])Node26[a=1.0,b=-1.0,x=2.0,y=0.0,r=1.46],(Node37[a=1.0,b=-1.0,x=3.0,y=0.0,r=0.51],Node36[a=-1.0,b=-1.0,x=1.0,y=0.0,r=1.32])Node25[a=1.0,b=0.0,x=2.0,y=1.0,r=1.16])Node19[a=1.0,b=-1.0,x=1.0,y=1.0,r=1.09],((Node35[a=0.0,b=1.0,x=-2.0,y=5.0,r=0.52],Node34[a=-1.0,b=-1.0,x=-3.0,y=3.0,r=0.76])Node24[a=-1.0,b=1.0,x=-2.0,y=4.0,r=0.67])Node18[a=-1.0,b=1.0,x=-1.0,y=3.0,r=1.28])Node12[a=1.0,b=1.0,x=0.0,y=2.0,r=1.22])Node7[a=0.0,b=-1.0,x=-1.0,y=1.0,r=0.57],(((Node33[a=1.0,b=1.0,x=3.0,y=5.0,r=1.12],Node32[a=0.0,b=1.0,x=2.0,y=5.0,r=1.31])Node17[a=1.0,b=0.0,x=2.0,y=4.0,r=0.88],Node16[a=-1.0,b=1.0,x=0.0,y=5.0,r=1.09])Node11[a=1.0,b=1.0,x=1.0,y=4.0,r=0.72],((Node23[a=1.0,b=0.0,x=2.0,y=3.0,r=1.25],(Node31[a=-1.0,b=0.0,x=-1.0,y=4.0,r=0.8],Node30[a=-1.0,b=1.0,x=-1.0,y=5.0,r=1.36])Node22[a=-1.0,b=1.0,x=0.0,y=4.0,r=1.48])Node15[a=0.0,b=1.0,x=1.0,y=3.0,r=0.97],((Node29[a=1.0,b=-1.0,x=4.0,y=1.0,r=0.56])Node21[a=1.0,b=0.0,x=3.0,y=2.0,r=1.49])Node14[a=1.0,b=0.0,x=2.0,y=2.0,r=1.34])Node10[a=1.0,b=-1.0,x=1.0,y=2.0,r=0.52])Node6[a=1.0,b=1.0,x=0.0,y=3.0,r=1.46])Node3[a=-1.0,b=1.0,x=-1.0,y=2.0,r=0.98])Node2[a=0.0,b=1.0,x=0.0,y=1.0,r=0.52],((((Node28[a=1.0,b=-1.0,x=-2.0,y=-4.0,r=1.31],Node27[a=-1.0,b=0.0,x=-4.0,y=-3.0,r=1.28])Node13[a=0.0,b=-1.0,x=-3.0,y=-3.0,r=1.26])Node9[a=-1.0,b=0.0,x=-3.0,y=-2.0,r=0.81])Node5[a=-1.0,b=-1.0,x=-2.0,y=-2.0,r=0.94])Node1[a=-1.0,b=-1.0,x=-1.0,y=-1.0,r=0.72])Node_0[a=0,b=0,x=0,y=0,r=1] \n",
      "\n",
      "\n",
      "Number of groups or nodes in target tree: 40\n",
      "\n",
      "--- Generation 1/7005, Best fitness -1.0 ---\n",
      "\n",
      "--- Generation 1001/7005, Best fitness 0.74783 ---\n",
      "\n",
      "--- Generation 2001/7005, Best fitness 0.77982 ---\n",
      "\n",
      "--- Generation 3001/7005, Best fitness 0.80952 ---\n",
      "\n",
      "--- Generation 4001/7005, Best fitness 0.8381 ---\n",
      "\n",
      "--- Generation 5001/7005, Best fitness 0.86275 ---\n",
      "\n",
      "--- Generation 6001/7005, Best fitness 0.86275 ---\n",
      "\n",
      "--- Generation 7001/7005, Best fitness 0.86275 ---\n",
      "draw_all_historiesk4(fitness_histories, lengths_of_target_sequence)\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ],
      "image/png": "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6m4EvP32m6pJsaTwt0SuV2QcyZYtH0ViUpKmfc9s/bYs05TMykjGWBswoB9mzPhBBVJSi//ii8+bXZ5k7Da8IZDZMdSyDeaEhITg8Y4dEFiwoPre2bBho2qFJmNsfvrZeJs+E7rcDZI8S5JISACXkpKsEk1JkGPpxkttG9aV2XG2ZZscWeZ2CbiIKPfQBVz27A9BRESU3QyDozNnz+baZRJZw6o+XERERERERKQdAy4iIiIiIiIHsSppBhHlTtLxXvplERER5WW6sR2ln2puXiaRNdiHi4iIiIiIyEHYpJCIiIiIiMhBGHARERERERE5CPtwUb4kI4TLoMhERESUd8gYS9YOek2U2zHgonwZbB3YvzenN4OIiIhsUKdufQZdlK8w4KJ8R1ezJV/YjqjlktHLDxw4CGfF/Xfu4y94Djj3OeDsx184exk4av+ldktumLKFCuU3DLgo35Iv7MjISLsvNyYmxiHLzSu4/859/AXPAec+B5z9+AtnLwNn338iazFpBhERERERkYMw4CIiIiIiInIQBlxEREREREQOwoCLiIiIiIjIQRhwEREREREROQgDLiIiIiIiIgdhwEVEREREROQgDLiIiIiIiIgchAEXERERERGRgzDgIiIiIiIichAGXERERERERA7CgIuIiIiIiMhB3B21YCIiyiauLvAMKQEXL49sWV10CV94VS8DZ8X9d+7jL3gO+MKtiD+S7kbk9KEgyhMYcBER5XHetSsioF2dbFvfXQAFHy4BZ8X9d+7jL3gOAF53SyP67omcPhREeQIDLiKiPM7N31v9TQqPRuI9x99xDggIQHh4OJwV99+5j7/gORCAsLConD4MRHkGAy4iorzOJfVP7PHLiNxyyOGrq1S/Hi7t3Qdnxf137uMveA7Uw6Xjl3P6MBDlGUyaQUSU17mkRVwpKTm9JURERJQOAy4ioryOARcREVGuxYCLiCiPc0kLuFjBRURElPsw4CIiyuvSWhQCbFJIRESU2zDgIiLK69ikkIiIKNdiwEVElF8CrmTWcBEREeU2TAtPWeo30qNHd9StUwdh4eFYvmw5zpw9a/E9BQsWRO/evVCubFncun0bS5YswfXrN/SvlyhRAm+8PjrD+76fPh1nz57j0SIy+WFM+8t4i4iIKNdhDRfZbOYPM/DWm2/g5q1bKF06CL//vgENGzY0O3/58iH455+taNWyJS5cvIjyISH4Y9MmVK1a1SggGzhwAE6dPo39+/frHxERkTxSRObok2Yw4iIiIsptWMNFNmnVqhWeeOJxPPpYG5w6dSr1ZHJzx8cffYAOHZ8w+Z6RI1/D5UuX8dTgp/XTJgD4YNxYDBg4yGje5ctX4Pbt2zw6RFZkKWSaQiIiotyHNVxkk/bt2uLosWP6YEssX7ECjzzyCEqWLGnyPWXLlMHx48eNpskymjdvBh8fH6Ppr7w8Ah9+OA6DBz8FPz8/HiUiS9ikkIiIKNdiwEU2CQkJwZXLV4ymXbp0Wf+aKUePHkOTJo3h7e2tvyv/2KOPws3NDeXKldXPd+HCRURGReHmjZvo368ftv69RTVHNMfT01MFZbqHr68vjyo5GUZcREREuRWbFJJNChQogHv37hlNi4qK1L9myjcTJqJho4b4e8tf2LNnr+q7df36daP3XL16FW3atEVMbKx6Pn3GD1i1cgU++GAcnn56qMnlSm3Y6NGjMkyvU6c2YmJi7H6EK1QoD2fG/c99x/9u0SKIBlCmdDD86/s7fH08B3LfOZCdnP34C2cvA0ftv+6GLFF+w4CLbBIZGYHAgoFG0yThhe41UyRA69DhcTRo0EAl2Zj144/qPW3atMa9e6Fp7zVOjpGcnIy1a9dixMsjzG7Ld1OmYsYPM/XPpYbrwP69OHDgYIbl2cvevfvgzLj/2X/83YsFwjOkhMnXCrgUggeAy5cvI3rv6WzZHp4D/A5wdvwM2P8zwC4ElF8x4CKbnDhxEt26dTWaVrVKVSQlJeH06TNm3ycB1K5du/TPx455X6WFv3jxotn3SO2Xqy4pgAnx8fHqQZSfBfZoCvdClvszpiQkZtv2EBERkTbsw0U2WbV6NYKDg9G2bRv1XPphSYKLzVu2ICwsTE0LCiqFr7/6EhUrVlDPixQpgipVquiXUblyZQwaNBDTpk3TT2vWrKlRH6yiRYuqNPGbN2/hkSKn5urtqf7GnrqKmCMXMjyi9pxC7EnjfpVERESU81jDRTaRBBhffvU1vp82Ff/8sx3lypWDj483/tf3Nf08hQoVUsHS0mXL1KDFiYmJ+Oabr3A/9L6qkWrRojkWLFiIH2fP0b9HgrING9bh/PnziI+LR9OmTXDo0CGMGTuOR4qcW1otb+Tm/5B0Pyqnt4aIiIg0YsBFNvv22+9U/6patWohPDxcBV6xackuxNWr1/D662+oYEtIzVePHr3QrGlT1Xdr3Acf4soV4zvyq1atxl9/bUb9+vXh5+eLbyZMwPHjJ3iUiHQ4tjEREVGewoCLskSCKV1Ald79+/fx8y+/Gk2TWq6/t261uExJdLFlC5sQEpka3DglhREXERFRXsI+XEREeYEucQwDLiIiojyFARcRUV5gPlEnERER5WIMuIiI8gLWcBEREeVJDLiIiPICBlxERER5EgMuIqI8wMVVlzQjp7eEiIiIrMGAi4goL2HERURElKcw4CIiyksJMxhwERER5SkMuIiI8kr/LcEmhURERHkKAy4iojwVcDHiIiIiyksYcBER5XZsUkhERJRnMeAiIspDNVys4CIiIspb3HN6A4iI8oPAro3hVTnI8StixEVERJSnMOAiIrKDAtXLOLwcE27eB5KSHb4eIiIish8GXEREduxjdXf270iOjXdImSZHxjpkuUREROQ4DLiIiOwYcSVFRCMlNoFlSkRERAqTZhAR2ROzthMREZEBBlxERPZM205ERERkgAEXERERERGRgzDgIiKy4zhZTNtOREREhhhwEREREREROQgDLiIiIiIiIgdhwEVElFVMmkFERERmMOAiIsoy9uEiIiIi0xhwERHZEYfhIiIiIkMMuIiI7NmkkBEXERERGWDARUSURezCRUREROYw4CIisuc4XKziIiIiIgMMuIiI7IlNComIiMgAAy4iIiIiIiIHYcBFRERERETkIAy4iIjs2YcrhW0KiYiI6AEGXERERERERA7CgIuIyJ5YwUVEREQGGHAREWUVB+IiIiIiMxhwERFlGcfhIiIiItPczUwnypSrqyt69+6FOnXqIDwsDEuXLcepU6csvqdwoULo27cvypYri9u3bmHxb0tw9erVLC+XKNdgk0IiIiIywBoustmPs2Zi5Guv4vKlSyhatCg2bliHJk0am52/QoXy2LZtKxo3boRTJ0+hVKlS2PT7BlSvXi1LyyXKcWxSSERERGawhots8thjj6JDh/Zo2fJRnDl7Vk3z8PTAhx+MQ/sOj5t8z8jXXsOFCxcwZOgwo9qsD8aNRb/+A21eLhERERFRbsUaLrJJ2zZtcPToUX1QJFasWImHH34YpUqVNPme4OBgnDx50mja8RMn0LRpU/j6+tq8XKJcNQ4XERERkQEGXGSTkJAQXL58xWia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"
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Execution time: 0 hours, 18 minutes, 46 seconds\n"
     ]
    }
   ],
   "execution_count": 1
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Observaciones de tres experimentos.** Como es habitual, las relaciones están entrelazadas al principio, por lo que solo prestamos atención al comportamiento final.\n",
    ">\n",
    ">  Primer experimento:\n",
    ">>  1. El problema con 64 nodos y un tamaño de población de 25 fue más fácil para la Evolución que otro con 57 nodos y un tamaño de población de 50. Esto es contrario a nuestras expectativas que predice el costo de un problema en proporción al número de nodos y en relación inversa a los recursos disponibles.\n",
    ">\n",
    "> Segundo experimento:\n",
    ">> 1. El número de nodos no es un buen indicador de complejidad porque un problema con 8 nodos era más fácil que otros con 11, 16 y 70.\n",
    ">> 2. La fitness aumenta por saltos con períodos de éxtasis que son tanto mayores cuanto más avanzado es el proceso.\n",
    ">\n",
    "> Tercer experimento:\n",
    ">> 1. Los resultados son incompatibles con nuestras expectativas y criterios. Según nuestras suposiciones, el caso más fácil es aquel con el número mínimo de nodos, 23, que se resuelve por el equipo más poderoso, un tamaño de población de 200. En consecuencia, la curva de fitness correspondiente debe ser la superior porque es resuelta directamente por la Evolución. Pero, el gráfico muestra que es el más bajo.\n",
    ">>>\n",
    ">> 2. Los avances de fitness por saltos y los períodos de éxtasis son tanto mayores cuanto más avanzado es el proceso evolutivo. Una posible explicación es que la aptitud crece al hacer cambios. Los pequeños cambios productivos se queman al principio y luego, el tamaño de los cambios debe crecer y por eso son escasos.  Esto se puede explicar  también por la pleiotropía.\n",
    "\n",
    "Está claro que no tenemos una descripción correcta de la complejidad de los morpho-trees. Si tuviéramos uno, los resultados mostrarían que la Evolución termina aplastada por la complejidad. Hemos fracasado. Pero, antes de arrojar nuestras suposiciones a la basura, hagamos un último esfuerzo que refleje la idea de que debe haber variables ocultas que lo enmarquen todo.\n",
    "\n",
    "**Ejercicio.** Observaciones anteriores nos han llevado a creer que los morfo-árboles caen en dos clases evolutivas de complejidad diferentes: fácil y difícil. Los árboles fáciles son globulares. Esto se debe posiblemente al inmenso número de árboles que pueden generar aproximadamente la misma frontera para el caso de los árboles globulares. La mayoría de los árboles generados son globulares. Por otro lado, los árboles complejos tienen una rica distribución de agujeros y brazos. Para probar esta hipótesis, necesitamos en primer lugar, un procedimiento para crear árboles con una estructura rica. Trate a ver qué logra.\n",
    ">\n",
    "> *Respuesta.* El siguiente programa crea árboles con el siguiente procedimiento: un árbol objetivo ordinario, presumiblemente globular, se poda, es decir, está sujeto a una serie de eliminaciones de ramas.  Los árboles resultantes deben tener una rica estructura.\n"
   ]
  },
  {
   "cell_type": "code",
   "metadata": {},
   "source": [
    "# Program morpho_trimmed_tree_generator_and_drawer.py\n",
    "# This program generates a globular morpho tree,\n",
    "# trims it, by deleting at random a good number of branches, and draws it.\n",
    "\n",
    "\n",
    "import random\n",
    "import matplotlib.pyplot as plt\n",
    "import matplotlib.patches as patches\n",
    "import numpy as np\n",
    "import math\n",
    "import copy # For deep copying trees during reproduction and mutatio\n",
    "import re # Required for newick parsing\n",
    "#import itertools # Required for sequential replacement\n",
    "import sys # Import sys module to adjust recursion limit\n",
    "sys.setrecursionlimit(3000)\n",
    "import time\n",
    "#from datetime import datetime, timedelta\n",
    "\n",
    "# trace memory allocation \n",
    "#https://www.geeksforgeeks.org/python/monitoring-memory-usage-of-a-running-python-program/\n",
    "# this consumes too much cpu-time by a multiplicative factor, say 5 for 1000 lines.\n",
    "import tracemalloc \n",
    "\n",
    "\n",
    "#Activate  memory monitoring?\n",
    "memory_monitoring = False \n",
    "recombination_of_leaves = False\n",
    "\n",
    "# starting the memory allocation monitoring\n",
    "if memory_monitoring:\n",
    "    tracemalloc.start() \n",
    "start_time = time.time()\n",
    "\n",
    "# Parameters for the target tree generation\n",
    "target_tree_params = {\n",
    "  'max_depth': 10,\n",
    "  'max_number_children': 2,\n",
    "  'max_node_radius': 1.5,\n",
    "}\n",
    "\n",
    "# Parameters for the Genetic Algorithm\n",
    "ga_params = {\n",
    "   #'seed': 47423648, #the seed of the target tree is this plus 1.\n",
    "  'pop_size': 70,\n",
    "  'generations': 100,\n",
    "  'max_depth': target_tree_params['max_depth'],\n",
    "  'max_number_children': target_tree_params['max_number_children'],\n",
    "  'max_node_radius': 1.5,\n",
    "  'mutation_rate': 0.001, \n",
    "  'crossover_rate': 0.001  \n",
    "}\n",
    "\n",
    " \n",
    "def print_parameters15(target_tree_params, ga_params):\n",
    "    print(\"LAB: Evolución OF NEWICK MORPHO-TREES\")\n",
    "    print(\"PURPOSE: \"\n",
    "          + \"\\n A random morpho-tree T is generated.\"\n",
    "          + \"\\n Evolución tries to restore the tree T\"\n",
    "          + \"\\n beginning from a population of random trees.\")\n",
    "    print(f\"EXPERIMENT {start_time}\")\n",
    "    print(f\"RECOMBINATION OF LEAVES: {recombination_of_leaves}\")\n",
    "    #print(f\"SEED FOR THE GENETIC ALGORITHM: {ga_params['seed']}\")\n",
    "    print(f\"INITIAL TARGET TREE PARAMETERS: {target_tree_params}\")\n",
    "    print(f\"INITIAL GENETIC ALGORITHM PARAMETERS: {ga_params}\\n\")\n",
    "\n",
    "\n",
    "# GENERATION OF A MORPHO-TREE\n",
    "\n",
    "# Program morpho_tree_drawer.py\n",
    "\n",
    "# The following program generates a Newick strings\n",
    "# that encodes for a morpho-tree  and draws it.\n",
    "# Children are located in the immediate neighborhood of the father.\n",
    "# If postions are occupied, no children.\n",
    "# Then, children are generated only when there is place for them.\n",
    "\n",
    "# ====   Grammar_generator =======\n",
    "\n",
    "# This program uses a hidden grammar to generate Newick expressions that encode for morphological trees.\n",
    "# The information of each node is generated on the image of\n",
    "#   Node25[a=18,b=18,x=19,y=0,r=14.3]\n",
    "# The rules of the grammar are:\n",
    "# 1. Initial string or seed: `s = ()n`\n",
    "# 2. Generate a random digit: x\n",
    "# 3. Replace in `s`, `()` by x copies of `(()n ` separated by a comma.\n",
    "# 4. Iterate.\n",
    "# 5. Replace each `n`by the info of a node whose values are generated at random but the index of the tag is a counter with the iterative process.\n",
    "# 6. Delete the tag \"()\" that appears in the last appended children.\n",
    "# An ordered set of rules like this is a Generative Grammar.\n",
    "# The grammmar is hidden because no n is generated,\n",
    "# because beforehand it is replaced by the info of a node.\n",
    "# With the assistance of Colab and reusing a previous code by Gemini.\n",
    "\n",
    "\n",
    "\n",
    "def replace_str_subsequence15(original_str, start_idx, end_idx, new_subsequence):\n",
    "    \"\"\" Replace a subsequence from start_idx to end_idx with another string.\n",
    "        By Google\"\"\"\n",
    "    # Concatenate the pieces together\n",
    "    return original_str[:start_idx] + new_subsequence + original_str[end_idx:]\n",
    "\n",
    "def replace_strig_of_length15(original_str, replacement, position, length_to_replace):\n",
    "    \"\"\"\n",
    "    Replaces a subsequence of given length.\n",
    "    :param original_str: The main text string\n",
    "    :param replacement: The new text you want to insert\n",
    "    :param position: The starting index of the old subsequence\n",
    "    :param length_to_replace: The length of the old subsequence being removed\n",
    "    \"\"\"\n",
    "    before = original_str[:position]\n",
    "    after = original_str[position + length_to_replace:]\n",
    "    return before + replacement + after\n",
    "\n",
    "\n",
    "def detect_all_groups15(newick_string):\n",
    "    \"\"\"Al substrings that encodes for the info of a node, step from father, center and radius are detected.\"\"\"\n",
    "\n",
    "    #print(\"detect_all_groups13(newick_string)\")\n",
    "    #print(f\"Newick String: {newick_string}\")\n",
    "    # Detect a pattern on the model  info = NodeB_3_x_2[a=0,b=1,x=2,y=2,r=3]\n",
    "    #info_words = r'[\\a-zA-Z_0-9_[_=_,\\] ]+'\n",
    "    #info_words = r'[a-zA-Z_][a-zA-Z_0-9_]*\\[x=-?[0-9]+(?:\\.[0-9]+)?,y=-?[0-9]+(?:\\.[0-9]+)?,r=-?[0-9]+(?:\\.[0-9]+)?\\]$'\n",
    "                                                    #info_words = r'[a-zA-Z_0-9_]*\\[x=-?[0-9]+(?:\\.[0-9]+)?,y=-?[0-9]+(?:\\.[0-9]+)?,r=-?[0-9]+(?:\\.[0-9]+)?\\]'\n",
    "    info_words =  r'[a-zA-Z_0-9_]*\\[a=-?[0-9]+(?:\\.[0-9]+)?,b=-?[0-9]+(?:\\.[0-9]+)?,x=-?[0-9]+(?:\\.[0-9]+)?,y=-?[0-9]+(?:\\.[0-9]+)?,r=-?[0-9]+(?:\\.[0-9]+)?\\]'\n",
    "    starts = []\n",
    "    groups = []\n",
    "    for match in re.finditer(info_words, newick_string):\n",
    "        #print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "        #print(f\"    starts at index: {match.start()}\")\n",
    "        starts.append(match.start())\n",
    "        groups.append(match.group())\n",
    "    #number_of_groups = len(starts)\n",
    "    #print(f\"number_of_groups = {number_of_groups}\")\n",
    "    #print(f\"starts of gropus: {starts}\")\n",
    "    #print(f\"groups: {groups}\")\n",
    "\n",
    "\n",
    "    \"\"\"\n",
    "    # All infos are replaced by the dumb variable n\n",
    "    for j in range(number_of_infos - 1, -1, -1):\n",
    "        print(f\"start_of_info[{j}]:  {starts[j]},  len(groups[{j}]): {len(groups[j])}\")\n",
    "        new_s = replace_at_position2(new_s, \"n\", starts[j], len(groups[j]))\n",
    "        print(f\"new string = '{new_s}'\")\n",
    "        \"\"\"\n",
    "    return groups\n",
    "\n",
    "def count_groups15(newick_string):\n",
    "    \"\"\"The number of groups is counted.\"\"\"\n",
    "    groups = detect_all_groups15(newick_string)\n",
    "    number_of_groups = len(groups)\n",
    "    return number_of_groups\n",
    "\n",
    "def extract_info15(group):\n",
    "  \"\"\"The info of each group is extracted by tokenizers from the string.\"\"\"\n",
    "  patern_a = r'a=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  patern_b = r'b=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  patern_x = r'x=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  patern_y = r'y=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  patern_r = r'r=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  a = re.findall(patern_a, group)\n",
    "  b = re.findall(patern_b, group)\n",
    "  x = re.findall(patern_x, group)\n",
    "  y = re.findall(patern_y, group)\n",
    "  r = re.findall(patern_r, group)\n",
    "  a = float(a[0][2:])\n",
    "  b = float(b[0][2:])\n",
    "  x = float(x[0][2:])\n",
    "  y = float(y[0][2:])\n",
    "  r = float(r[0][2:])\n",
    "  return [a,b,x,y,r]\n",
    "\n",
    "\n",
    "def extract_all_infos15(newick_string):\n",
    "    #print(\"extract_all_infos\n",
    "    # Groups are detected. A group is the encoding of the parameters of a node in an info.\n",
    "    groups = detect_all_groups15(newick_string)\n",
    "    #print(f\"Groups: {groups}\")\n",
    "    number_of_groups = len(groups)\n",
    "    #print(f\"number_of_groups = {number_of_groups}\")\n",
    "\n",
    "    # Info is extracted from each group and\n",
    "    # all infos are kept in corresponding arrays.\n",
    "    a = []\n",
    "    b = []\n",
    "    x = []\n",
    "    y = []\n",
    "    r = []\n",
    "    #print(\"\\nInfo is extracted form each group\")\n",
    "    for i in range(number_of_groups):\n",
    "      #print(f\"group[{i}]: {groups[i]}\")\n",
    "      #print(f\"len(group[{i}]): {len(groups[i])}\")\n",
    "      [ai,bi,xi,yi,ri] = extract_info15(groups[i])\n",
    "      #print(f\"a: {ai}, b: {bi}, x: {xi}, y: {yi}, r: {ri}\")\n",
    "      a.append(ai)\n",
    "      b.append(bi)\n",
    "      x.append(xi)\n",
    "      y.append(yi)\n",
    "      r.append(ri)\n",
    "    return a,b,x,y,r\n",
    "\n",
    "\n",
    "def get_neighboring_coordinates15(cell):\n",
    "  \"\"\"Immediate neighboring coordinates of a cell are generated\"\"\"\n",
    "  neighbors = []\n",
    "  for dx in [-1, 0, 1]:\n",
    "      for dy in [-1, 0, 1]:\n",
    "          if dx == 0 and dy == 0:\n",
    "              continue  # Exclude the current square itself\n",
    "          neighbors.append((cell[0] + dx, cell[1] + dy))\n",
    "  return neighbors\n",
    "\n",
    " \n",
    "\n",
    "def find_father_center15(newick_string, j):\n",
    "  \"\"\" Finds the address of the father of a node at j\"\"\"\n",
    "  #print(\"find_father_center13(s, j)\")\n",
    "  #print(f\"s: {newick_string}\")\n",
    "  #print(f\"j: {j}\")\n",
    "\n",
    "  #Right tail is recruited\n",
    "  tail = newick_string[j+1:]\n",
    "  father_group = detect_all_groups15(tail)\n",
    "  if father_group:\n",
    "    #print(f\"Father_group 1: {father_group}\")\n",
    "    [af,bf,xf,yf,rf] = extract_info15(father_group[0])\n",
    "    #print(f\"Info: a: {af}, b: {bf}, x: {xf}, y: {yf}, r: {rf}\")\n",
    "    father_center = [xf,yf]\n",
    "    return father_center\n",
    "  else:\n",
    "   return \"\"\n",
    "\n",
    "\n",
    "\n",
    "def node_info_generator15(father_center, counter,  occupied_squares_set, max_node_radius):\n",
    "  \"\"\"For each node, info is generated on the model\n",
    "     Node_26[a=1,b=-1,x=3,y=5,r=0.85]\n",
    "     by replacing n by the info of a node whose values are generated at random\n",
    "     but the index of the tag is a counter with the iterative process.\n",
    "      \"\"\"\n",
    "  #print(\"node_info_generator13(father_center, counter,  occupied_squares_set)\")\n",
    "  coordinates_neighbors = get_neighboring_coordinates15(father_center)\n",
    "  #print(f\"coordinates_neighbors: {coordinates_neighbors}\")\n",
    "  #print(f\"occupied_squares_set: {occupied_squares_set}\")\n",
    "  # First, filter for unoccupied grid squares within this tree\n",
    "  available_square_neighbors = [coord for coord in coordinates_neighbors if coord not in occupied_squares_set]\n",
    "  info = \"\" # future info of a node that represents a cell\n",
    "  if available_square_neighbors:\n",
    "    # Choose a random valid candidate\n",
    "    nx,  ny  = random.choice(available_square_neighbors)\n",
    "    na = nx - father_center[0]\n",
    "    nb = ny - father_center[1]\n",
    "    nr = random.uniform(0.5, max_node_radius)\n",
    "    nr = round(nr, 2)\n",
    "    info = \"Node\" +  str(counter)  + \"[\" + \"a=\" + str(na) + \",\" + \"b=\" + str(nb) + \",\"  +   \"x=\" + str(nx) + \",\" + \"y=\" + str(ny) + \",\" + \"r=\" + str(nr)+ \"]\"\n",
    "    info = \"()\"+ info\n",
    "    #print(f\"Generated Node info: {info}\")\n",
    "    occupied_squares_set.add((nx, ny))\n",
    "\n",
    "  else:\n",
    "    #All neighboring places are occupied\n",
    "    #print(\"All neighboring places are occupied\")\n",
    "    info = \"\"\n",
    "  return info, occupied_squares_set\n",
    "\n",
    "\n",
    "def generate_children15(father_center, numb_children, counter, occupied_squares_set, max_node_radius):\n",
    "  \"\"\" Generate children in the pattern of a Newick Tree.\n",
    "      Output in the form\n",
    "      n,n,n,n \"\"\"\n",
    "  #print(\"generate_children(max_numb_children)\")\n",
    "  #print(f\"Number of children: {numb_children}\")\n",
    "  s = \"\"\n",
    "  for i in range(numb_children):\n",
    "    if i == 0:\n",
    "      a = \"\"\n",
    "    else:\n",
    "      a = \",\"\n",
    "    info, occupied_squares_set = node_info_generator15(father_center, counter, occupied_squares_set, max_node_radius)\n",
    "    if not info:\n",
    "      continue\n",
    "    else:\n",
    "     s = info + a + s\n",
    "     counter = counter + 1\n",
    "  s =  \"(\" + s + \")\"\n",
    "  #print(f\"Children: {s}\")\n",
    "  return s, counter, occupied_squares_set\n",
    "\n",
    "\n",
    "def complete_tree_generator15(max_depth, max_numb_children, max_node_radius):\n",
    "  \"\"\" A tree is generated step by step\n",
    "   taking care of generating no child where there is no place for it.\"\"\"\n",
    "  #print(\"complete_tree_generator13(...)\")\n",
    "  occupied_squares_set = set() # Initialize a new set for this tree's square coordinates\n",
    "  actual_depth = max_depth - random.randint(0,5) # Number of allowed divisions along each branch.\n",
    "  #print(f\"Actual depth: {actual_depth}\")\n",
    "  # () is used as a marker for insertion of children. \n",
    "  tree = \"()Node_0[a=0,b=0,x=0,y=0,r=1]\"\n",
    "  occupied_squares_set.add((0,0))\n",
    "  #counter of defined nodes\n",
    "  counter = 1\n",
    "  for i in range(actual_depth):\n",
    "      #print(f\"depth: {i}\")\n",
    "      l = len(tree)\n",
    "      #print(f\"i : {i} l: {l}\")\n",
    "      # String s is scanned starting from the end\n",
    "      for j in range(l-1, 0, -1):\n",
    "        #print(f\"s: {s}\")\n",
    "        #print(f\"s[j-1] s[j]  :  {s[j-1]}{s[j]}\")\n",
    "        # Replace () by a list of children\n",
    "        if tree[j-1] == \"(\" and tree[j] == \")\":\n",
    "          father_center = find_father_center15(tree, j)\n",
    "          #print(f\"Father center: {father_center}\")\n",
    "          if not father_center:\n",
    "            continue\n",
    "          numb_children = random.randint(0, max_numb_children)\n",
    "          if numb_children == 0:\n",
    "            continue\n",
    "          else:\n",
    "            # Replacement\n",
    "            generated_children, counter, occupied_squares_set = generate_children15(father_center, numb_children, counter, occupied_squares_set, max_node_radius)\n",
    "            tree = replace_str_subsequence15(tree, j-1, j+1, generated_children)\n",
    "          #print(f\"{i} {j} Tree: {tree}\")\n",
    "  #print(f\"crude tree: {tree}\")\n",
    "  tree = tree.replace(\"()\", \"\")\n",
    "  #print(f\"final tree: {tree}\")\n",
    "  return tree\n",
    "\n",
    "\n",
    "def find_branch15(newick_string, final_index):\n",
    "  initial_segment = newick_string[:final_index]\n",
    "  #print(f\"initial_segment: {initial_segment}\")\n",
    "  # Balance accounting\n",
    "  counter_of_pars = 0\n",
    "  branch = \"\"\n",
    "  for i in range(len(initial_segment)-1,-1,-1):\n",
    "    if initial_segment[i] == \"(\":\n",
    "      counter_of_pars = counter_of_pars + 1\n",
    "    if initial_segment[i] == \")\":\n",
    "      counter_of_pars = counter_of_pars - 1\n",
    "    if counter_of_pars == 0:\n",
    "      branch = initial_segment[i:final_index+1]\n",
    "      #print(f\"Branch to be deleted: {branch}\")\n",
    "      break\n",
    "  return branch\n",
    "\n",
    "\n",
    "def newick_find_all_groups15(newick_string):\n",
    "  \"\"\" All groups are found and one is chosen at random and returned\"\"\"\n",
    "  # The pattern of groups on the image of\n",
    "  # Node4[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07]\n",
    "  info_words =  r'[a-zA-Z_0-9_]*\\[a=-?[0-9]+(?:\\.[0-9]+)?,b=-?[0-9]+(?:\\.[0-9]+)?,x=-?[0-9]+(?:\\.[0-9]+)?,y=-?[0-9]+(?:\\.[0-9]+)?,r=-?[0-9]+(?:\\.[0-9]+)?\\]'\n",
    "  starts = []\n",
    "  groups = []\n",
    "  for match in re.finditer(info_words, newick_string):\n",
    "      #print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "      starts.append(match.start())\n",
    "      groups.append(match.group())\n",
    "  number_of_infos = len(starts)\n",
    "  if number_of_infos == 0: # The root is alone\n",
    "    return newick_string, 0\n",
    "  #print(f\"number_of_infos = {number_of_infos}\")\n",
    "  #print(f\"starts: {starts}\")\n",
    "  #print(f\"groups: {groups}\")\n",
    "  # Select a start index at random\n",
    "  start_idx = random.randint(0, number_of_infos-1)\n",
    "  #print(f\"selected start_idx: {start_idx}\")\n",
    "  return groups[start_idx], starts[start_idx]\n",
    "\n",
    "def deletion_of_branch15(newick_string ):\n",
    "  group, start =  newick_find_all_groups15(newick_string)\n",
    "  #print(f\"Group (main): {group}\")\n",
    "  #print(f\"Start (main): {start}\")\n",
    "  # Does the group have children?\n",
    "  char_before = newick_string[start-1]\n",
    "  #print(f\"char_before: {char_before}\")\n",
    "  if char_before ==  \")\":\n",
    "    #print(\"The group has children\")\n",
    "    #find branch\n",
    "    final_index = start-1\n",
    "    branch = find_branch15(newick_string, final_index+1)\n",
    "\n",
    "    branch_and_father = branch + group\n",
    "    #print(f\"  Branch and father to be deleted: {branch_and_father}\")\n",
    "    #delete group\n",
    "    newick_string = newick_string.replace(branch_and_father , \"\")\n",
    "  else:\n",
    "    #print(\"The group has no children\")\n",
    "    #delete group\n",
    "    newick_string = newick_string.replace(group, \"\")\n",
    "\n",
    "  # Cosmetics\n",
    "  newick_string = newick_string.replace(\",,\", \",\")\n",
    "  newick_string = newick_string.replace(\",)\", \")\")\n",
    "  newick_string = newick_string.replace(\"(,\", \"(\")\n",
    "  newick_string = newick_string.replace(\" \", \"\")\n",
    "  # Comparison\n",
    "  #print(f\"Original Newick string: {newick_string}\")\n",
    "  l = len(newick_string)\n",
    "  #print(f\"Length of newick_string: {l}\")\n",
    "  if l == 0 :\n",
    "     newick_string = \"Node_0[a=0,b=0,x=0,y=0,r=1]\"\n",
    "  #print(f\"Final Newick_string: {newick_string}\")\n",
    "  return newick_string\n",
    "\n",
    "\n",
    "# =================================================================================\n",
    "# ==== Drawer ===\n",
    "# =================================================================================\n",
    "\n",
    "def get_neighboring_coordinates15(cell):\n",
    "  '''Immediate neighboring coordinates of a cell are generated'''\n",
    "  neighbors = []\n",
    "  for dx in [-1, 0, 1]:\n",
    "      for dy in [-1, 0, 1]:\n",
    "          if dx == 0 and dy == 0:\n",
    "              continue  # Exclude the current square itself\n",
    "          neighbors.append((cell[0] + dx, cell[1] + dy))\n",
    "  return neighbors\n",
    "\n",
    " \n",
    "\n",
    "\n",
    "def detect_all_groups15(newick_string):\n",
    "    '''Al substrings that encodes for the info of a node, step from father, center and radius are detected.'''\n",
    "\n",
    "    #print(\"detect_all_groups11b(newick_string)\")\n",
    "    #print(f\"Newick String: {newick_string}\")\n",
    "    # Detect a pattern on the model  info = NodeB_3_x_2[a=0,b=1,x=2,y=2,r=3]\n",
    "    #info_words = r'[\\a-zA-Z_0-9_[_=_,\\] ]+'\n",
    "    #info_words = r'[a-zA-Z_][a-zA-Z_0-9_]*\\[x=-?[0-9]+(?:\\.[0-9]+)?,y=-?[0-9]+(?:\\.[0-9]+)?,r=-?[0-9]+(?:\\.[0-9]+)?\\]$'\n",
    "    #info_words = r'[a-zA-Z_0-9_]*\\[x=-?[0-9]+(?:\\.[0-9]+)?,y=-?[0-9]+(?:\\.[0-9]+)?,r=-?[0-9]+(?:\\.[0-9]+)?\\]'\n",
    "    info_words =  r'[a-zA-Z_0-9_]*\\[a=-?[0-9]+(?:\\.[0-9]+)?,b=-?[0-9]+(?:\\.[0-9]+)?,x=-?[0-9]+(?:\\.[0-9]+)?,y=-?[0-9]+(?:\\.[0-9]+)?,r=-?[0-9]+(?:\\.[0-9]+)?\\]'\n",
    "    starts = []\n",
    "    groups = []\n",
    "    for match in re.finditer(info_words, newick_string):\n",
    "        #print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "        #print(f\"    starts at index: {match.start()}\")\n",
    "        starts.append(match.start())\n",
    "        groups.append(match.group())\n",
    "    #number_of_groups = len(starts)\n",
    "    #print(f\"number_of_groups = {number_of_groups}\")\n",
    "    #print(f\"starts of gropus: {starts}\")\n",
    "    #print(f\"groups: {groups}\")\n",
    "\n",
    "\n",
    "    '''\n",
    "    # All infos are replaced by the dumb variable n\n",
    "    for j in range(number_of_infos - 1, -1, -1):\n",
    "        print(f\"start_of_info[{j}]:  {starts[j]},  len(groups[{j}]): {len(groups[j])}\")\n",
    "        new_s = replace_at_position2(new_s, \"n\", starts[j], len(groups[j]))\n",
    "        print(f\"new string = '{new_s}'\")\n",
    "        '''\n",
    "    return groups\n",
    "\n",
    "def extract_info11b(group):\n",
    "  '''The info of each group is extracted by tokenizers from the string.'''\n",
    "  patern_a = r'a=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  patern_b = r'b=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  patern_x = r'x=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  patern_y = r'y=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  patern_r = r'r=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  a = re.findall(patern_a, group)\n",
    "  b = re.findall(patern_b, group)\n",
    "  x = re.findall(patern_x, group)\n",
    "  y = re.findall(patern_y, group)\n",
    "  r = re.findall(patern_r, group)\n",
    "  a = float(a[0][2:])\n",
    "  b = float(b[0][2:])\n",
    "  x = float(x[0][2:])\n",
    "  y = float(y[0][2:])\n",
    "  r = float(r[0][2:])\n",
    "  return [a,b,x,y,r]\n",
    "\n",
    "\n",
    "def extract_all_infos15(newick_string):\n",
    "    #print(\"extract_all_infos\n",
    "    # Groups are detected. A group is the encoding of the parameters of a node in an info.\n",
    "    groups = detect_all_groups15(newick_string)\n",
    "    #print(f\"Groups: {groups}\")\n",
    "    number_of_groups = len(groups)\n",
    "    #print(f\"number_of_groups = {number_of_groups}\")\n",
    "\n",
    "    # Info is extracted from each group and\n",
    "    # all infos are kept in corresponding arrays.\n",
    "    a = []\n",
    "    b = []\n",
    "    x = []\n",
    "    y = []\n",
    "    r = []\n",
    "    #print(\"\\nInfo is extracted form each group\")\n",
    "    for i in range(number_of_groups):\n",
    "      #print(f\"group[{i}]: {groups[i]}\")\n",
    "      #print(f\"len(group[{i}]): {len(groups[i])}\")\n",
    "      [ai,bi,xi,yi,ri] = extract_info15(groups[i])\n",
    "      #print(f\"a: {ai}, b: {bi}, x: {xi}, y: {yi}, r: {ri}\")\n",
    "      a.append(ai)\n",
    "      b.append(bi)\n",
    "      x.append(xi)\n",
    "      y.append(yi)\n",
    "      r.append(ri)\n",
    "    return a,b,x,y,r\n",
    "\n",
    "def find_father_center15(newick_string, j):\n",
    "  ''' Finds the address of the father of a node at j'''\n",
    "  #print(\"find_father_center11(s, j)\")\n",
    "  #print(f\"s: {newick_string}\")\n",
    "  #print(f\"j: {j}\")\n",
    "\n",
    "  #Right tail is recruited\n",
    "  tail = newick_string[j+1:]\n",
    "  father_group = detect_all_groups15(tail)\n",
    "  if father_group:\n",
    "    #print(f\"Father_group 1: {father_group}\")\n",
    "    [af,bf,xf,yf,rf] = extract_info15(father_group[0])\n",
    "    #print(f\"Info: a: {af}, b: {bf}, x: {xf}, y: {yf}, r: {rf}\")\n",
    "    father_center = [xf,yf]\n",
    "    return father_center\n",
    "  else:\n",
    "   return \"\"\n",
    "\n",
    "\n",
    "\n",
    "def get_illuminated_area15(x,y,r):\n",
    "    '''\n",
    "      The illuminated area enclosess all unitary squares that intersetcs the circles of illumination.\n",
    "      Each square is denoted by its left botton corner. These will be found in the set illuminated_coords.\n",
    "    '''\n",
    "    #print(\"get_illuminated_area11\")\n",
    "    #print(f\"x: {x}, y: {y}, r: {r}\")\n",
    "    illuminated_coords = set()\n",
    "\n",
    "\n",
    "    for xi,yi,ri in zip(x,y,r):\n",
    "        circle_center_x = xi + 0.5\n",
    "        circle_center_y = yi + 0.5\n",
    "        r_sq = ri ** 2\n",
    "        # 1. Add the cell containing the center of the circle\n",
    "        # This covers the case of small circles not intersecting grid lines.\n",
    "        illuminated_coords.add((math.floor(circle_center_x), math.floor(circle_center_y)))\n",
    "\n",
    "        # 2. Horizontal Scan: Check intersections with horizontal grid lines\n",
    "        # Iterate y_line from floor(cy - r) to ciel(cy + r)\n",
    "        # These y_line values represent the y-coordinates of horizontal grid lines.\n",
    "        for y_line in range(math.floor(circle_center_y - ri)-1,\n",
    "                            math.ceil(circle_center_y + ri) + 1):\n",
    "            dy = y_line - circle_center_y\n",
    "            discriminant = r_sq - dy * dy\n",
    "\n",
    "            if discriminant >= 0:\n",
    "                dx = math.sqrt(discriminant)\n",
    "                x_min_intersect = circle_center_x - dx\n",
    "                x_max_intersect = circle_center_x + dx\n",
    "\n",
    "                # For each integer x-coordinate that the horizontal segment crosses:\n",
    "                # Add the cells whose bottom-left corner's x-coordinate is in this range.\n",
    "                # This covers cells whose top edge is y_line AND cells whose bottom edge is y_line.\n",
    "                for ix in range(math.floor(x_min_intersect), math.floor(x_max_intersect) + 1):\n",
    "                    illuminated_coords.add((ix, y_line))\n",
    "                    illuminated_coords.add((ix, y_line - 1))\n",
    "\n",
    "        # 3. Vertical Scan: Check intersections with vertical grid lines\n",
    "        # Iterate x_line from floor(cx - r) to ciel(cx + r)\n",
    "        # These x_line values represent the x-coordinates of vertical grid lines.\n",
    "        for x_line in range(math.floor(circle_center_x - ri)-1,\n",
    "                            math.ceil(circle_center_x + ri) + 1):\n",
    "            dx = x_line - circle_center_x\n",
    "            discriminant = r_sq - dx * dx\n",
    "\n",
    "            if discriminant >= 0:\n",
    "                dy = math.sqrt(discriminant)\n",
    "                y_min_intersect = circle_center_y - dy\n",
    "                y_max_intersect = circle_center_y + dy\n",
    "\n",
    "                # For each integer y-coordinate that the vertical segment crosses:\n",
    "                # Add the cells whose bottom-left corner's y-coordinate is in this range.\n",
    "                # This covers cells whose right edge is x_line AND cells whose left edge is x_line.\n",
    "                for iy in range(math.floor(y_min_intersect), math.floor(y_max_intersect) + 1):\n",
    "                    # Cell (x_line, iy) - its left edge is at x_line\n",
    "                    illuminated_coords.add((x_line, iy))\n",
    "                    # Cell (x_line - 1, iy) - its right edge is at x_line\n",
    "                    illuminated_coords.add((x_line - 1, iy))\n",
    "    # print(f\"illuminated_coords  {illuminated_coords}\")\n",
    "\n",
    "    return illuminated_coords\n",
    "\n",
    "\n",
    "def plot_illuminated_area_newick4(ax, illuminated_coords, title, color='blue', alpha=0.1):\n",
    "    ax.set_aspect('equal', adjustable='box')\n",
    "    if not illuminated_coords:\n",
    "        ax.set_title(title)\n",
    "        ax.grid(True)\n",
    "        return\n",
    "\n",
    "    for x, y in illuminated_coords:\n",
    "        rect = patches.Rectangle((x, y), 1, 1, facecolor=color, alpha=alpha, edgecolor='black', linewidth=0.5)\n",
    "        ax.add_patch(rect)\n",
    "\n",
    "    min_x = min(c[0] for c in illuminated_coords) - 1\n",
    "    max_x = max(c[0] for c in illuminated_coords) + 2\n",
    "    min_y = min(c[1] for c in illuminated_coords) - 1\n",
    "    max_y = max(c[1] for c in illuminated_coords) + 2\n",
    "    #print(f\"min_x: {min_x}, max_x: {max_x}, min_y: {min_y}, max_y: {max_y}\")\n",
    "\n",
    "    ax.set_xlim(min_x, max_x)\n",
    "    ax.set_ylim(min_y, max_y)\n",
    "    ax.set_xticks(range(int(min_x), int(max_x)))\n",
    "    ax.set_yticks(range(int(min_y), int(max_y)))\n",
    "    ax.grid(True)\n",
    "    ax.set_title(title)\n",
    "\n",
    "\n",
    "\n",
    "def plot_tree_nodes_and_their_diffusion_circles15(x,y,r, ax, tree_color='lightblue', diff_color='red'):\n",
    "  for xi,yi,ri in zip(x,y,r):\n",
    "    # Plot the square representing the cell\n",
    "    rect = patches.Rectangle((xi, yi), 1, 1, facecolor=tree_color, edgecolor='black', linewidth=1, zorder=1)\n",
    "    ax.add_patch(rect)\n",
    "    #node_label_part = node.value.split('_')[-1] if '_' in node.value else node.value\n",
    "    #ax.text(xi + 0.5, yi + 0.5, node_label_part, ha='center', va='center', color='darkblue', fontsize=7, zorder=2)\n",
    "\n",
    "    # Plot the circle representing the radius of influence\n",
    "    circle = patches.Circle((xi + 0.5, yi + 0.5), ri, color='red', alpha=0.1, zorder=2)\n",
    "    ax.add_patch(circle)\n",
    "\n",
    "def find_leaves_newick15(newick_string):\n",
    "    '''Detect leaves in a Newick string.'''\n",
    "    #print(\"\\n\\nfind_leaves\")\n",
    "    #print(f\"Newick String: {newick_string}\")\n",
    "\n",
    "    # Detection of leaves.\n",
    "    # Dectect substrings of the form \"(...)\" but without interior parentheses.\n",
    "    pattern_leaves = r'[(][^()]*[)]'\n",
    "    # Leaves may come grouped by bouquets\n",
    "    bouquets_of_leaves = re.findall(pattern_leaves, newick_string )\n",
    "    #print(f\"Bouquets_of_leaves: {bouquets_of_leaves}\")\n",
    "    all_leaves = []\n",
    "    # Descipher each leaf and find the father\n",
    "    for bouquet_of_leaves in bouquets_of_leaves:\n",
    "        bouquet_of_leaves = bouquet_of_leaves[1:-1]\n",
    "        leaves = detect_all_groups15(bouquet_of_leaves)\n",
    "        for loaf in leaves:\n",
    "          loaf = loaf.replace(\" \", \"\")\n",
    "          all_leaves.append(loaf)\n",
    "    return all_leaves\n",
    "\n",
    "\n",
    "\n",
    "def connect_leaves_to_father15(newick_string, ax, tree_color='lightblue', diff_color='red'):\n",
    "    '''Draw lines connecting leaves to fathers'''\n",
    "\n",
    "    #print(\"\\n\\nconnect_leaves_to_father11\")\n",
    "    #print(f\"Newick String: {newick_string}\")\n",
    "\n",
    "    all_leaves = find_leaves_newick15(newick_string)\n",
    "    for leaf in all_leaves:\n",
    "        [al,bl,xl,yl,rl] = extract_info15(leaf)\n",
    "        #print(f\"Info: a: {al}, b: {bl}, x: {xl}, y: {yl}, r: {rl}\")\n",
    "\n",
    "        # Task: Find the father of the leaf.\n",
    "        # It is the node after the last leaf\n",
    "        # Example:\n",
    "        # (Node9[x=-11,y=19.7,r=12.4567],Node8[x=0,y=7,r=15],Node7[x=6,y=16,r=9])Node6[x=17,y=9,r=20]\n",
    "        # The father of Node9, Node8, and Node7 is Node 6.\n",
    "        # The father of a node is found after the first unbalanced right parenthesis.\n",
    "        index_nex_right_par = newick_string.find(\")\", newick_string.find(leaf))\n",
    "        father_with_tail = newick_string[index_nex_right_par+1:]\n",
    "        father_group = detect_all_groups15(father_with_tail)\n",
    "        if father_group:\n",
    "          [af,bf,xf,yf,rf]  = extract_info15(father_group[0])\n",
    "          #father_center = (xf,yf)\n",
    "          ax.plot([xl + 0.5, xf + 0.5], [yl + 0.5, yf + 0.5], 'k--', linewidth=0.8, zorder = 3)\n",
    "    # Leaves are erased: each leave is replaced by \"\"\n",
    "    for leaf in all_leaves:\n",
    "          #print(f\"leaf to be erased: {leaf}\")\n",
    "          newick_string = newick_string.replace(leaf + \",\", \"\")\n",
    "          newick_string = newick_string.replace(leaf, \"\")\n",
    "          #print(f\"Newick String without leaves: {newick_string}\")\n",
    "    newick_string = newick_string.replace(\"()\", \"\")\n",
    "    #print(f\"Newick String without leaves: {newick_string}\")\n",
    "    groups = detect_all_groups15(newick_string)\n",
    "    number_of_groups = len(groups)\n",
    "    #print(f\"number_of_groups = {number_of_groups}\")    \n",
    "     \n",
    "    return newick_string, number_of_groups\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "def draw_tree_links15(newick_string, ax,   diff_color='red' ):\n",
    "    '''Draw lines connecting children to father.\n",
    "       1. Each leaf is connected to its father,\n",
    "          and the corresponding stroke is plotted.\n",
    "       2. Leaves are erased.\n",
    "       3. New leaves are detected and connected to their father.\n",
    "       4, And so on.\n",
    "       '''\n",
    "\n",
    "    #print(\"draw_tree_links11\")\n",
    "    #print(f\"Newick String: {newick_string}\")\n",
    "    length_string = len(newick_string)\n",
    "    #print(f\"length_string: {length_string}\")\n",
    "    groups = detect_all_groups15(newick_string)\n",
    "    #print(f\"Groups: {groups}\")\n",
    "    number_of_groups = len(groups)\n",
    "    # Leaves are recursively found and connected to their father.\n",
    "    counter_of_trials = 0\n",
    "    while number_of_groups > 1:\n",
    "        #print(\"\\n\\ndraw_tree_links11\")\n",
    "        #print(f\"Newick String: {newick_string}\")\n",
    "\n",
    "        newick_string, number_of_groups = connect_leaves_to_father15(newick_string, ax, tree_color='lightblue', diff_color='red')\n",
    "        counter_of_trials = counter_of_trials + 1\n",
    "        if counter_of_trials > length_string:\n",
    "          break\n",
    "    # The root is detected and marked with a cross\n",
    "    groups = detect_all_groups15(newick_string)\n",
    "    #print(f\"Groups: {groups}\")\n",
    "    number_of_groups = len(groups)\n",
    "    #print(f\"number_of_groups = {number_of_groups}\")\n",
    "    # Mark the root with a red cross\n",
    "    if number_of_groups >= 1:\n",
    "      [a0,b0,x0,y0,r0] = extract_info15(groups[-1])\n",
    "      #print(f\"Origin: a: {a0}, b: {b0}, x: {x0}, y: {y0}, r: {r0}\")\n",
    "      ax.plot([x0, x0 +1 ], [y0+ 0.5, y0+ 0.5],   color = 'red', linewidth=0.8, zorder = 3)\n",
    "      ax.plot([x0 + 0.5, x0 +0.5], [y0, y0+ 1],   color = 'red', linewidth=0.8, zorder = 3)\n",
    "    return newick_string, number_of_groups\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "def draw_tree_newick15(newick_string, title):\n",
    "    #print(\"\\n=========== DRAWING=======\\n\")\n",
    "    #print(\"=========== DRAWING=======\\n\")\n",
    "    #print(\"=========== DRAWING=======\\n\")\n",
    "    a,b,x,y,r = extract_all_infos15(newick_string)\n",
    "    fig, ax = plt.subplots(figsize=(7, 15))\n",
    "    ax.set_aspect('equal')\n",
    "    plot_tree_nodes_and_their_diffusion_circles15(x,y,r, ax, tree_color='lightgreen', diff_color='red')\n",
    "     \n",
    "    # Illuminated area is calculated\n",
    "    illuminated_coords = get_illuminated_area15(x,y,r)\n",
    "    #print(f\"Illuminated cells: {illuminated_coords}\")\n",
    "    #print(f\"Number of illuminated cells: {len(illuminated_coords)}\")\n",
    "    # Tree is drawn\n",
    "    #title = \"morpho-tree: lightgreen, illuminated circles: red, illuminated Area: lightblue\"\n",
    "    plot_illuminated_area_newick4(ax, illuminated_coords, title, color='blue', alpha=0.1)\n",
    "    # Lines that define the tree are added\n",
    "    draw_tree_links15(newick_string, ax, diff_color='red'  )\n",
    "\n",
    "    plt.tight_layout()\n",
    "    plt.show()\n",
    "    return illuminated_coords\n",
    "\n",
    "if __name__ == \"__main__\":\n",
    "    # Example Newick string\n",
    "    # newick_string = \"((((((()Node63[a=1.0,b=-1.0,x=5.0,y=-3.0,r=1.26])Node52[a=1.0,b=-1.0,x=4.0,y=-2.0,r=0.7])Node21[a=1.0,b=1.0,x=3.0,y=-1.0,r=1.9613197090647045],((()Node219[a=0.0,b=1.0,x=-2.0,y=3.0,r=1.06])((((Node156[a=-1.0,b=-1.0,x=-2.0,y=2.0,r=0.71])Node125[a=0.0,b=1.0,x=-1.0,y=3.0,r=1.37])Node103[a=-1.0,b=1.0,x=-1.0,y=2.0,r=1.36],(((Node198[a=-1.0,b=1.0,x=-4.0,y=1.0,r=0.75])Node155[a=-1.0,b=0.0,x=-3.0,y=0.0,r=0.58])Node124[a=-1.0,b=-1.0,x=-2.0,y=0.0,r=1.6749306080259698],((((()Node913[a=-1.0,b=0.0,x=-4.0,y=3.0,r=0.59]))Node698[a=0.0,b=1.0,x=-3.0,y=3.0,r=0.84])()Node600[a=-1.0,b=1.0,x=-3.0,y=2.0,r=1.25])()Node123[a=0.0,b=-1.0,x=-1.0,y=0.0,r=1.33])Node102[a=-1.0,b=0.0,x=-1.0,y=1.0,r=1.33])Node51[a=-1.0,b=1.0,x=0.0,y=1.0,r=0.54],(((()Node122[a=-1.0,b=0.0,x=0.0,y=3.0,r=1.17])Node81[a=-1.0,b=1.0,x=1.0,y=3.0,r=0.85])Node62[a=0.0,b=1.0,x=2.0,y=2.0,r=1.07],(((()Node153[a=-1.0,b=1.0,x=3.0,y=5.0,r=0.515683679559608],Node152[a=0.0,b=-1.0,x=4.0,y=3.0,r=1.03])Node101[a=1.0,b=1.0,x=4.0,y=4.0,r=0.5748403340449614])Node80[a=0.0,b=1.0,x=3.0,y=3.0,r=1.22],()Node79[a=1.0,b=0.0,x=4.0,y=2.0,r=1.36])Node61[a=1.0,b=1.0,x=3.0,y=2.0,r=0.5295884877970901])Node50[a=1.0,b=1.0,x=2.0,y=1.0,r=1.21])Node29[a=0.0,b=1.0,x=1.0,y=0.0,r=1.43])Node20[a=-1.0,b=1.0,x=1.0,y=-1.0,r=1.1])Node8[a=1.0,b=0.0,x=2.0,y=-2.0,r=0.64])Node3[a=1.0,b=-1.0,x=1.0,y=-2.0,r=1.37],((((((()Node100[a=0.0,b=1.0,x=-2.0,y=-2.0,r=1.05],((Node150[a=0.0,b=1.0,x=-4.0,y=-1.0,r=0.7334891191596699],(Node193[a=-1.0,b=1.0,x=-6.0,y=0.0,r=0.5820889162363478])Node149[a=-1.0,b=1.0,x=-5.0,y=-1.0,r=0.81])Node120[a=-1.0,b=0.0,x=-4.0,y=-2.0,r=1.36],()Node119[a=0.0,b=1.0,x=-3.0,y=-1.0,r=1.16])Node99[a=-1.0,b=1.0,x=-3.0,y=-2.0,r=1.47])Node49[a=-1.0,b=1.0,x=-2.0,y=-3.0,r=1.26],()((()Node118[a=0.0,b=-1.0,x=-3.0,y=-4.0,r=1.0],((()Node367[a=-1.0,b=-1.0,x=-7.0,y=-3.0,r=1.8764650499221425])()Node147[a=-1.0,b=0.0,x=-5.0,y=-3.0,r=0.82],Node146[a=-1.0,b=1.0,x=-5.0,y=-2.0,r=1.13])Node117[a=-1.0,b=0.0,x=-4.0,y=-3.0,r=1.13])Node78[a=-1.0,b=1.0,x=-3.0,y=-3.0,r=1.0329473493338008])Node48[a=-1.0,b=0.0,x=-2.0,y=-4.0,r=0.76])Node28[a=-1.0,b=0.0,x=-1.0,y=-4.0,r=1.46])Node14[a=1.0,b=-1.0,x=0.0,y=-4.0,r=1.06])Node7[a=0.0,b=-1.0,x=-1.0,y=-3.0,r=0.89])Node5[a=0.0,b=-1.0,x=-1.0,y=-2.0,r=0.71],(((((((()Node47[a=-1.0,b=1.0,x=4.0,y=-4.0,r=0.6058398421466735],((()Node441[a=0.0,b=-1.0,x=8.0,y=0.0,r=1.2970045651723827])((((()Node145[a=1.0,b=1.0,x=8.0,y=1.0,r=0.52],()Node144[a=0.0,b=1.0,x=7.0,y=1.0,r=0.96])Node116[a=1.0,b=1.0,x=7.0,y=0.0,r=1.235712154728331],()Node115[a=1.0,b=0.0,x=7.0,y=-1.0,r=0.95])Node98[a=1.0,b=1.0,x=6.0,y=-1.0,r=1.37],(()Node114[a=1.0,b=0.0,x=7.0,y=-2.0,r=0.62])Node97[a=1.0,b=0.0,x=6.0,y=-2.0,r=1.04])Node77[a=1.0,b=1.0,x=5.0,y=-2.0,r=1.01])Node59[a=-1.0,b=1.0,x=4.0,y=-3.0,r=0.62],(((Node185[a=1.0,b=0.0,x=9.0,y=-5.0,r=1.25],()Node476[a=1.0,b=-1.0,x=9.0,y=-6.0,r=0.87])Node142[a=1.0,b=-1.0,x=8.0,y=-5.0,r=1.7146586553405185])Node96[a=1.0,b=1.0,x=7.0,y=-4.0,r=1.49],((Node183[a=1.0,b=-1.0,x=8.0,y=-6.0,r=0.54])Node141[a=1.0,b=-1.0,x=7.0,y=-5.0,r=0.5185357042371559],(()Node303[a=1.0,b=-1.0,x=9.0,y=-4.0,r=0.69])(Node181[a=1.0,b=0.0,x=8.0,y=-3.0,r=1.16])Node140[a=1.0,b=1.0,x=7.0,y=-3.0,r=1.44])Node95[a=0.0,b=1.0,x=6.0,y=-4.0,r=1.1])Node58[a=1.0,b=-1.0,x=6.0,y=-5.0,r=0.72])Node46[a=0.0,b=1.0,x=5.0,y=-4.0,r=0.79])Node36[a=1.0,b=0.0,x=5.0,y=-5.0,r=1.02])Node27[a=1.0,b=-1.0,x=4.0,y=-5.0,r=0.71])Node19[a=1.0,b=0.0,x=3.0,y=-4.0,r=0.83],(Node57[a=0.0,b=-1.0,x=3.0,y=-6.0,r=0.83])Node18[a=1.0,b=-1.0,x=3.0,y=-5.0,r=1.36])Node13[a=0.0,b=-1.0,x=2.0,y=-4.0,r=1.9563373261553025],((((((()Node94[a=1.0,b=1.0,x=2.0,y=3.0,r=1.5714886013535794])Node76[a=1.0,b=0.0,x=1.0,y=2.0,r=1.7607046194653915])Node56[a=-1.0,b=1.0,x=0.0,y=2.0,r=1.43])Node45[a=-1.0,b=1.0,x=1.0,y=1.0,r=0.71])Node26[a=0.0,b=1.0,x=2.0,y=0.0,r=0.81],(((()Node55[a=1.0,b=0.0,x=5.0,y=-1.0,r=0.68])Node44[a=0.0,b=-1.0,x=4.0,y=-1.0,r=1.39])Node35[a=1.0,b=0.0,x=4.0,y=0.0,r=1.5450652146942652])Node25[a=1.0,b=1.0,x=3.0,y=0.0,r=0.8])Node17[a=-1.0,b=1.0,x=2.0,y=-1.0,r=0.84])Node12[a=1.0,b=1.0,x=3.0,y=-2.0,r=0.59])Node10[a=1.0,b=0.0,x=2.0,y=-3.0,r=1.31],((((((()Node74[a=0.0,b=1.0,x=-3.0,y=-5.0,r=0.97],(((()Node139[a=0.0,b=1.0,x=-5.0,y=-4.0,r=0.85])Node113[a=0.0,b=1.0,x=-5.0,y=-5.0,r=1.29],(Node138[a=-1.0,b=1.0,x=-7.0,y=-4.0,r=1.09])Node112[a=-1.0,b=1.0,x=-6.0,y=-5.0,r=0.69])Node92[a=-1.0,b=0.0,x=-5.0,y=-6.0,r=1.9891193529247717])Node73[a=-1.0,b=0.0,x=-4.0,y=-6.0,r=0.9])Node43[a=-1.0,b=-1.0,x=-3.0,y=-6.0,r=0.93])Node34[a=-1.0,b=0.0,x=-2.0,y=-5.0,r=1.7667232954270577],(()Node707[a=0.0,b=-1.0,x=-8.0,y=-11.0,r=1.2418125160543307])((((((Node176[a=-1.0,b=1.0,x=-8.0,y=-8.0,r=0.73])Node137[a=-1.0,b=-1.0,x=-7.0,y=-9.0,r=1.3],Node136[a=-1.0,b=0.0,x=-7.0,y=-8.0,r=0.59])Node111[a=-1.0,b=-1.0,x=-6.0,y=-8.0,r=0.53],(Node175[a=-1.0,b=1.0,x=-7.0,y=-6.0,r=1.8710079054235957])Node110[a=-1.0,b=0.0,x=-6.0,y=-7.0,r=0.81])Node91[a=-1.0,b=0.0,x=-5.0,y=-7.0,r=0.64])Node72[a=-1.0,b=0.0,x=-4.0,y=-7.0,r=1.35],(Node90[a=-1.0,b=0.0,x=-5.0,y=-8.0,r=1.48],(()Node109[a=-1.0,b=0.0,x=-6.0,y=-9.0,r=1.8236264836746388])Node89[a=-1.0,b=-1.0,x=-5.0,y=-9.0,r=0.94])Node71[a=-1.0,b=-1.0,x=-4.0,y=-8.0,r=0.91])Node42[a=-1.0,b=-1.0,x=-3.0,y=-7.0,r=0.58],(()Node46[a=-1.0,b=-1.0,x=-2.0,y=-7.0,r=0.93])()Node41[a=1.0,b=0.0,x=-1.0,y=-6.0,r=1.39])Node33[a=-1.0,b=-1.0,x=-2.0,y=-6.0,r=1.12])Node24[a=-1.0,b=0.0,x=-1.0,y=-5.0,r=1.47])Node16[a=-1.0,b=-1.0,x=0.0,y=-5.0,r=0.67],((Node32[a=0.0,b=-1.0,x=1.0,y=-6.0,r=1.9638918299741654],(((()Node841[a=-1.0,b=-1.0,x=-7.0,y=-11.0,r=0.58])((((()Node135[a=-1.0,b=-1.0,x=-5.0,y=-11.0,r=0.85])Node108[a=0.0,b=-1.0,x=-4.0,y=-10.0,r=1.0],(()Node630[a=-1.0,b=-1.0,x=-6.0,y=-13.0,r=0.77])(()Node134[a=-1.0,b=-1.0,x=-6.0,y=-11.0,r=1.0])Node107[a=-1.0,b=-1.0,x=-5.0,y=-10.0,r=1.14])Node88[a=-1.0,b=-1.0,x=-4.0,y=-9.0,r=0.65])Node69[a=-1.0,b=0.0,x=-3.0,y=-8.0,r=0.87],(((Node170[a=1.0,b=-1.0,x=-3.0,y=-12.0,r=1.9512384698512715],(()Node686[a=-1.0,b=-1.0,x=-4.0,y=-12.0,r=1.5])Node169[a=1.0,b=0.0,x=-3.0,y=-11.0,r=0.91])Node133[a=-1.0,b=-1.0,x=-4.0,y=-11.0,r=1.33])Node87[a=-1.0,b=-1.0,x=-3.0,y=-10.0,r=1.08],Node86[a=-1.0,b=0.0,x=-3.0,y=-9.0,r=1.33])Node68[a=0.0,b=-1.0,x=-2.0,y=-9.0,r=0.99])Node54[a=-1.0,b=-1.0,x=-2.0,y=-8.0,r=0.72])Node40[a=-1.0,b=-1.0,x=-1.0,y=-7.0,r=1.45],(()Node951[a=-1.0,b=-1.0,x=0.0,y=-11.0,r=1.7392926307253513])((()Node132[a=1.0,b=-1.0,x=2.0,y=-9.0,r=1.25],()Node131[a=1.0,b=0.0,x=2.0,y=-8.0,r=1.45])Node67[a=1.0,b=-1.0,x=1.0,y=-8.0,r=1.41],((()Node193[a=-1.0,b=0.0,x=-4.0,y=-14.0,r=1.22])()Node370[a=-1.0,b=-1.0,x=-3.0,y=-14.0,r=0.94])((()Node139[a=0.0,b=-1.0,x=-2.0,y=-13.0,r=1.33])(((Node166[a=0.0,b=-1.0,x=-2.0,y=-12.0,r=0.65],((()Node192[a=-1.0,b=0.0,x=0.0,y=-14.0,r=0.88])((()Node527[a=1.0,b=-1.0,x=1.0,y=-14.0,r=0.85])((()Node591[a=1.0,b=-1.0,x=0.0,y=-13.0,r=1.04])()Node169[a=0.0,b=-1.0,x=-1.0,y=-12.0,r=1.0099492850296317]))Node421[a=1.0,b=-1.0,x=-1.0,y=-11.0,r=1.29])Node165[a=0.0,b=1.0,x=-2.0,y=-10.0,r=1.23])Node130[a=-1.0,b=-1.0,x=-2.0,y=-11.0,r=1.45])Node106[a=0.0,b=-1.0,x=-1.0,y=-10.0,r=1.2592804255064793],Node105[a=1.0,b=0.0,x=0.0,y=-9.0,r=1.23])Node85[a=0.0,b=-1.0,x=-1.0,y=-9.0,r=1.49])Node66[a=-1.0,b=-1.0,x=-1.0,y=-8.0,r=1.38])Node39[a=0.0,b=-1.0,x=0.0,y=-7.0,r=1.13])Node31[a=-1.0,b=-1.0,x=0.0,y=-6.0,r=1.07])Node23[a=-1.0,b=0.0,x=1.0,y=-5.0,r=0.73],(((()Node952[a=1.0,b=-1.0,x=2.0,y=-10.0,r=1.18])(()Node84[a=-1.0,b=-1.0,x=0.0,y=-8.0,r=0.91])Node38[a=-1.0,b=0.0,x=1.0,y=-7.0,r=1.38],(((Node129[a=-1.0,b=-1.0,x=3.0,y=-8.0,r=1.27],()Node128[a=0.0,b=-1.0,x=4.0,y=-8.0,r=1.35])Node65[a=0.0,b=-1.0,x=4.0,y=-7.0,r=0.98],((((Node162[a=1.0,b=0.0,x=8.0,y=-7.0,r=1.2685669416870335],()Node283[a=1.0,b=-1.0,x=8.0,y=-8.0,r=0.9586343616711437])Node127[a=1.0,b=-1.0,x=7.0,y=-7.0,r=0.81],(()Node189[a=0.0,b=-1.0,x=6.0,y=-12.0,r=0.94])((()Node78[a=-1.0,b=-1.0,x=6.0,y=-11.0,r=0.66])((()Node537[a=0.0,b=-1.0,x=7.0,y=-11.0,r=1.22])()Node887[a=0.0,b=-1.0,x=7.0,y=-10.0,r=0.94])()Node473[a=0.0,b=-1.0,x=7.0,y=-9.0,r=0.81])()Node126[a=0.0,b=-1.0,x=6.0,y=-7.0,r=1.19],()Node93[a=1.0,b=0.0,x=7.0,y=-6.0,r=0.74])Node104[a=1.0,b=0.0,x=6.0,y=-6.0,r=1.4108167024543916])Node83[a=0.0,b=1.0,x=5.0,y=-6.0,r=1.32],((((()Node745[a=-1.0,b=-1.0,x=3.0,y=-14.0,r=0.62]))Node919[a=-1.0,b=-1.0,x=4.0,y=-13.0,r=1.15])()Node772[a=0.0,b=-1.0,x=5.0,y=-12.0,r=1.28])(()Node798[a=1.0,b=0.0,x=5.0,y=-11.0,r=0.8])(((()Node151[a=-1.0,b=-1.0,x=4.0,y=-11.0,r=0.96]))Node15[a=0.0,b=-1.0,x=5.0,y=-10.0,r=1.03])()Node82[a=1.0,b=-1.0,x=6.0,y=-8.0,r=0.96])Node64[a=1.0,b=-1.0,x=5.0,y=-7.0,r=1.37])Node53[a=1.0,b=1.0,x=4.0,y=-6.0,r=0.5])Node37[a=1.0,b=0.0,x=3.0,y=-7.0,r=1.28])Node30[a=0.0,b=-1.0,x=2.0,y=-7.0,r=0.75])Node22[a=0.0,b=-1.0,x=2.0,y=-6.0,r=0.83])Node15[a=1.0,b=-1.0,x=2.0,y=-5.0,r=1.41])Node11[a=1.0,b=-1.0,x=1.0,y=-4.0,r=0.68])Node9[a=-1.0,b=0.0,x=0.0,y=-3.0,r=1.224188604200087])Node6[a=1.0,b=-1.0,x=1.0,y=-3.0,r=0.95])Node4[a=1.0,b=-1.0,x=0.0,y=-2.0,r=0.82])Node2[a=-1.0,b=0.0,x=-1.0,y=-1.0,r=0.53])Node1[a=0.0,b=-1.0,x=0.0,y=-1.0,r=0.62])Node_0[a=0,b=0,x=0,y=0,r=1]\"\n",
    "    # Draw the tree and get the illuminated coordinates\n",
    "    newick_string = complete_tree_generator15(max_depth = 40, max_numb_children = 2, max_node_radius = 1.2)\n",
    "    number_of_groups = count_groups15(newick_string)\n",
    "    illuminated_coords = draw_tree_newick15(newick_string, title=f\"Globular morpho-tree with {number_of_groups} nodes\")\n",
    "    #print(f\"Illuminated coordinates: {illuminated_coords}\")\n",
    "    # The globular tree is trimmed here:\n",
    "    number_of_branch_deletions = 30\n",
    "    for i in range(number_of_branch_deletions):\n",
    "        newick_string = deletion_of_branch15(newick_string )\n",
    "    number_of_groups = count_groups15(newick_string)\n",
    "    illuminated_coords = draw_tree_newick15(newick_string, title=f\"Trimmed morpho-tree with {number_of_groups} nodes\")\n",
    "        \n",
    "    "
   ],
   "outputs": [],
   "execution_count": null
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Ejercicio.** Ejecuta el programa anterior para evaluar qué rica estructura tienen los árboles podados.\n",
    ">\n",
    "> *Respuesta.* Los árboles podados se ven más complejos que los de los padres golobulares.\n",
    "\n",
    "**Ejercicio.** Pon a prueba lo poderosa que es la Evolución para resolver árboles podados.\n",
    ">\n",
    "> *Respuesta.* En el siguiente programa describimos la función de fitness a lo largo de generaciones para varios valores de tamaño poblacional que intentan reproducir un árbol globular podado que presuma una rica estructura.\n"
   ]
  },
  {
   "metadata": {},
   "cell_type": "code",
   "source": [
    "# Program Evolución_of_newick_morphological_trimmed_trees16.py\n",
    "\n",
    "# Purpose:\n",
    "# To explore the battle of Evolución against the complexity of trimmed morpho-trees.\n",
    "# More specifically:\n",
    "# An ordinary target morpho-tree is created. It is globular.\n",
    "# Some arms are trimmed in order to generate structure.\n",
    "# The resultant tree is given as a task to Evolución\n",
    "# that must reproduce an area associated to the target tree.\n",
    "\n",
    "# Morphological trees considered here are like lighting trees:\n",
    "# an electrical thread in the form of tree covers an area\n",
    "# and there is lamp at each node.\n",
    "# Each lamp has a given power and a circle of illumination,\n",
    "# whose radius is determined by a threshold intensity.\n",
    "# In morphology, this corresponds with a threshold concentration of a messenger.\n",
    "# Evolución is given the task of illuminating\n",
    "# the area determined by a random target tree.\n",
    "# Trees are encoded in Newick Notation and\n",
    "# everything is done over the correspond strings\n",
    "# without resorting to the Node class.\n",
    "# Thus, it is possible to use the Newick strings as a genotype and\n",
    "# the corresponding trees as a phenotype.\n",
    "#\n",
    "# In this version:\n",
    "#   1. Mutation has been inbuilt with the power\n",
    "#       to have children in the immediate neighborhood of the father and\n",
    "#       to change radius and the topology of trees\n",
    "#       by means of insertion and deletion of leaves.\n",
    "#    2. Recombination has been enabled with the power\n",
    "#       to exchange leaves between trees.\n",
    "#       We expect a good proportion of the population to\n",
    "#       be able to successfully recombine, mutate and reproduce.\n",
    "#    3. A cut-off for the length of the Newick string has been introduced\n",
    "#       to avoid overgrowth of trees.\n",
    "#    4. The seed for the random number generator has been canceled\n",
    "#        to allow different histories for different runs.\n",
    "#\n",
    "# A bug was corrected in the function that inserts a node.\n",
    "# The criterion for insertion was changed from \"a leaf is just after a left parenthesis\"\n",
    "# to \"a leaf begins with `N` that is preceded by a left parenthesis\".\n",
    "#\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "# We reuse pieces of code made with the help of Colab and Gemini 2.5 Flash.\n",
    "# With the  assistance of the AI of Visual Studio Code.\n",
    "\n",
    "import random\n",
    "import matplotlib.pyplot as plt\n",
    "import matplotlib.patches as patches\n",
    "import numpy as np\n",
    "import math\n",
    "import copy # For deep copying trees during reproduction and mutatio\n",
    "import re # Required for newick parsing\n",
    "#import itertools # Required for sequential replacement\n",
    "import sys # Import sys module to adjust recursion limit\n",
    "sys.setrecursionlimit(3000)\n",
    "import time\n",
    "# from datetime import datetime, timedelta\n",
    "\n",
    "# trace memory allocation\n",
    "#https://www.geeksforgeeks.org/python/monitoring-memory-usage-of-a-running-python-program/\n",
    "# this consumes too much cpu-time by a multiplicative factor, say 5 for 1000 lines.\n",
    "import tracemalloc\n",
    "\n",
    "\n",
    "#Activate  memory monitoring?\n",
    "memory_monitoring = False\n",
    "recombination_of_leaves = False\n",
    "\n",
    "# starting the memory allocation monitoring\n",
    "if memory_monitoring:\n",
    "    tracemalloc.start()\n",
    "start_time = time.time()\n",
    "\n",
    "# Parameters for the target tree generation\n",
    "target_tree_params = {\n",
    "  'max_depth': 10,\n",
    "  'max_number_children': 2,\n",
    "  'max_node_radius': 1.5,\n",
    "}\n",
    "\n",
    "# Parameters for the Genetic Algorithm\n",
    "ga_params = {\n",
    "   #'seed': 47423648, #the seed of the target tree is this plus 1.\n",
    "  'pop_size': 70,\n",
    "  'generations': 100,\n",
    "  'max_depth': target_tree_params['max_depth'],\n",
    "  'max_number_children': target_tree_params['max_number_children'],\n",
    "  'max_node_radius': 1.5,\n",
    "  'mutation_rate': 0.001,\n",
    "  'crossover_rate': 0.001\n",
    "}\n",
    "\n",
    "\n",
    "def print_parameters16(target_tree_params, ga_params):\n",
    "    print(\"LAB: Evolución OF NEWICK MORPHO-TREES\")\n",
    "    print(\"PURPOSE: \"\n",
    "          + \"\\n A random morpho-tree T is generated.\"\n",
    "          + \"\\n Evolución tries to restore the tree T\"\n",
    "          + \"\\n beginning from a population of random trees.\")\n",
    "    print(f\"EXPERIMENT {start_time}\")\n",
    "    print(f\"RECOMBINATION OF LEAVES: {recombination_of_leaves}\")\n",
    "    #print(f\"SEED FOR THE GENETIC ALGORITHM: {ga_params['seed']}\")\n",
    "    print(f\"INITIAL TARGET TREE PARAMETERS: {target_tree_params}\")\n",
    "    print(f\"INITIAL GENETIC ALGORITHM PARAMETERS: {ga_params}\\n\")\n",
    "\n",
    "\n",
    "# GENERATION OF A MORPHO-TREE\n",
    "\n",
    "# Program morpho_tree_drawer.py\n",
    "\n",
    "# The following program generates a Newick strings\n",
    "# that encodes for a morpho-tree  and draws it.\n",
    "# Children are located in the immediate neighborhood of the father.\n",
    "# If postions are occupied, no children.\n",
    "# Then, children are generated only when there is place for them.\n",
    "\n",
    "# ====   Grammar_generator =======\n",
    "\n",
    "# This program uses a hidden grammar to generate Newick expressions that encode for morphological trees.\n",
    "# The information of each node is generated on the image of\n",
    "#   Node25[a=18,b=18,x=19,y=0,r=16.3]\n",
    "# The rules of the grammar are:\n",
    "# 1. Initial string or seed: `s = ()n`\n",
    "# 2. Generate a random digit: x\n",
    "# 3. Replace in `s`, `()` by x copies of `(()n ` separated by a comma.\n",
    "# 4. Iterate.\n",
    "# 5. Replace each `n`by the info of a node whose values are generated at random but the index of the tag is a counter with the iterative process.\n",
    "# 6. Delete the tag \"()\" that appears in the last appended children.\n",
    "# An ordered set of rules like this is a Generative Grammar.\n",
    "# The grammmar is hidden because no n is generated,\n",
    "# because beforehand it is replaced by the info of a node.\n",
    "# With the assistance of Colab and reusing a previous code by Gemini.\n",
    "\n",
    "\n",
    "\n",
    "def replace_str_subsequence16(original_str, start_idx, end_idx, new_subsequence):\n",
    "    \"\"\" Replace a subsequence from start_idx to end_idx with another string.\n",
    "        By Google\"\"\"\n",
    "    # Concatenate the pieces together\n",
    "    return original_str[:start_idx] + new_subsequence + original_str[end_idx:]\n",
    "\n",
    "def replace_strig_of_length16(original_str, replacement, position, length_to_replace):\n",
    "    \"\"\"\n",
    "    Replaces a subsequence of given length.\n",
    "    :param original_str: The main text string\n",
    "    :param replacement: The new text you want to insert\n",
    "    :param position: The starting index of the old subsequence\n",
    "    :param length_to_replace: The length of the old subsequence being removed\n",
    "    \"\"\"\n",
    "    before = original_str[:position]\n",
    "    after = original_str[position + length_to_replace:]\n",
    "    return before + replacement + after\n",
    "\n",
    "\n",
    "def detect_all_groups16(newick_string):\n",
    "    \"\"\"Al substrings that encodes for the info of a node, step from father, center and radius are detected.\"\"\"\n",
    "\n",
    "    #print(\"detect_all_groups16(newick_string)\")\n",
    "    #print(f\"Newick String: {newick_string}\")\n",
    "    # Detect a pattern on the model  info = NodeB_3_x_2[a=0,b=1,x=2,y=2,r=3]\n",
    "    #info_words = r'[\\a-zA-Z_0-9_[_=_,\\] ]+'\n",
    "    #info_words = r'[a-zA-Z_][a-zA-Z_0-9_]*\\[x=-?[0-9]+(?:\\.[0-9]+)?,y=-?[0-9]+(?:\\.[0-9]+)?,r=-?[0-9]+(?:\\.[0-9]+)?\\]$'\n",
    "                                                    #info_words = r'[a-zA-Z_0-9_]*\\[x=-?[0-9]+(?:\\.[0-9]+)?,y=-?[0-9]+(?:\\.[0-9]+)?,r=-?[0-9]+(?:\\.[0-9]+)?\\]'\n",
    "    info_words =  r'[a-zA-Z_0-9_]*\\[a=-?[0-9]+(?:\\.[0-9]+)?,b=-?[0-9]+(?:\\.[0-9]+)?,x=-?[0-9]+(?:\\.[0-9]+)?,y=-?[0-9]+(?:\\.[0-9]+)?,r=-?[0-9]+(?:\\.[0-9]+)?\\]'\n",
    "    starts = []\n",
    "    groups = []\n",
    "    for match in re.finditer(info_words, newick_string):\n",
    "        #print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "        #print(f\"    starts at index: {match.start()}\")\n",
    "        starts.append(match.start())\n",
    "        groups.append(match.group())\n",
    "    #number_of_groups = len(starts)\n",
    "    #print(f\"number_of_groups = {number_of_groups}\")\n",
    "    #print(f\"starts of gropus: {starts}\")\n",
    "    #print(f\"groups: {groups}\")\n",
    "\n",
    "\n",
    "    \"\"\"\n",
    "    # All infos are replaced by the dumb variable n\n",
    "    for j in range(number_of_infos - 1, -1, -1):\n",
    "        print(f\"start_of_info[{j}]:  {starts[j]},  len(groups[{j}]): {len(groups[j])}\")\n",
    "        new_s = replace_at_position2(new_s, \"n\", starts[j], len(groups[j]))\n",
    "        print(f\"new string = '{new_s}'\")\n",
    "        \"\"\"\n",
    "    return groups\n",
    "\n",
    "def count_groups16(newick_string):\n",
    "    \"\"\"The number of groups is counted.\"\"\"\n",
    "    groups = detect_all_groups16(newick_string)\n",
    "    number_of_groups = len(groups)\n",
    "    return number_of_groups\n",
    "\n",
    "def extract_info16(group):\n",
    "  \"\"\"The info of each group is extracted by tokenizers from the string.\"\"\"\n",
    "  patern_a = r'a=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  patern_b = r'b=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  patern_x = r'x=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  patern_y = r'y=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  patern_r = r'r=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  a = re.findall(patern_a, group)\n",
    "  b = re.findall(patern_b, group)\n",
    "  x = re.findall(patern_x, group)\n",
    "  y = re.findall(patern_y, group)\n",
    "  r = re.findall(patern_r, group)\n",
    "  a = float(a[0][2:])\n",
    "  b = float(b[0][2:])\n",
    "  x = float(x[0][2:])\n",
    "  y = float(y[0][2:])\n",
    "  r = float(r[0][2:])\n",
    "  return [a,b,x,y,r]\n",
    "\n",
    "\n",
    "def extract_all_infos16(newick_string):\n",
    "    #print(\"extract_all_infos\n",
    "    # Groups are detected. A group is the encoding of the parameters of a node in an info.\n",
    "    groups = detect_all_groups16(newick_string)\n",
    "    #print(f\"Groups: {groups}\")\n",
    "    number_of_groups = len(groups)\n",
    "    #print(f\"number_of_groups = {number_of_groups}\")\n",
    "\n",
    "    # Info is extracted from each group and\n",
    "    # all infos are kept in corresponding arrays.\n",
    "    a = []\n",
    "    b = []\n",
    "    x = []\n",
    "    y = []\n",
    "    r = []\n",
    "    #print(\"\\nInfo is extracted form each group\")\n",
    "    for i in range(number_of_groups):\n",
    "      #print(f\"group[{i}]: {groups[i]}\")\n",
    "      #print(f\"len(group[{i}]): {len(groups[i])}\")\n",
    "      [ai,bi,xi,yi,ri] = extract_info16(groups[i])\n",
    "      #print(f\"a: {ai}, b: {bi}, x: {xi}, y: {yi}, r: {ri}\")\n",
    "      a.append(ai)\n",
    "      b.append(bi)\n",
    "      x.append(xi)\n",
    "      y.append(yi)\n",
    "      r.append(ri)\n",
    "    return a,b,x,y,r\n",
    "\n",
    "\n",
    "def get_neighboring_coordinates16(cell):\n",
    "  \"\"\"Immediate neighboring coordinates of a cell are generated\"\"\"\n",
    "  neighbors = []\n",
    "  for dx in [-1, 0, 1]:\n",
    "      for dy in [-1, 0, 1]:\n",
    "          if dx == 0 and dy == 0:\n",
    "              continue  # Exclude the current square itself\n",
    "          neighbors.append((cell[0] + dx, cell[1] + dy))\n",
    "  return neighbors\n",
    "\n",
    "\n",
    "\n",
    "def find_father_center16(newick_string, j):\n",
    "  \"\"\" Finds the address of the father of a node at j\"\"\"\n",
    "  #print(\"find_father_center16(s, j)\")\n",
    "  #print(f\"s: {newick_string}\")\n",
    "  #print(f\"j: {j}\")\n",
    "\n",
    "  #Right tail is recruited\n",
    "  tail = newick_string[j+1:]\n",
    "  father_group = detect_all_groups16(tail)\n",
    "  if father_group:\n",
    "    #print(f\"Father_group 1: {father_group}\")\n",
    "    [af,bf,xf,yf,rf] = extract_info16(father_group[0])\n",
    "    #print(f\"Info: a: {af}, b: {bf}, x: {xf}, y: {yf}, r: {rf}\")\n",
    "    father_center = [xf,yf]\n",
    "    return father_center\n",
    "  else:\n",
    "   return \"\"\n",
    "\n",
    "\n",
    "\n",
    "def node_info_generator16(father_center, counter,  occupied_squares_set, max_node_radius):\n",
    "  \"\"\"For each node, info is generated on the model\n",
    "     Node_26[a=1,b=-1,x=3,y=5,r=0.85]\n",
    "     by replacing n by the info of a node whose values are generated at random\n",
    "     but the index of the tag is a counter with the iterative process.\n",
    "      \"\"\"\n",
    "  #print(\"node_info_generator16(father_center, counter,  occupied_squares_set)\")\n",
    "  coordinates_neighbors = get_neighboring_coordinates16(father_center)\n",
    "  #print(f\"coordinates_neighbors: {coordinates_neighbors}\")\n",
    "  #print(f\"occupied_squares_set: {occupied_squares_set}\")\n",
    "  # First, filter for unoccupied grid squares within this tree\n",
    "  available_square_neighbors = [coord for coord in coordinates_neighbors if coord not in occupied_squares_set]\n",
    "  info = \"\" # future info of a node that represents a cell\n",
    "  if available_square_neighbors:\n",
    "    # Choose a random valid candidate\n",
    "    nx,  ny  = random.choice(available_square_neighbors)\n",
    "    na = nx - father_center[0]\n",
    "    nb = ny - father_center[1]\n",
    "    nr = random.uniform(0.5, max_node_radius)\n",
    "    nr = round(nr, 2)\n",
    "    info = \"Node\" +  str(counter)  + \"[\" + \"a=\" + str(na) + \",\" + \"b=\" + str(nb) + \",\"  +   \"x=\" + str(nx) + \",\" + \"y=\" + str(ny) + \",\" + \"r=\" + str(nr)+ \"]\"\n",
    "    info = \"()\"+ info\n",
    "    #print(f\"Generated Node info: {info}\")\n",
    "    occupied_squares_set.add((nx, ny))\n",
    "\n",
    "  else:\n",
    "    #All neighboring places are occupied\n",
    "    #print(\"All neighboring places are occupied\")\n",
    "    info = \"\"\n",
    "  return info, occupied_squares_set\n",
    "\n",
    "\n",
    "def generate_children16(father_center, numb_children, counter, occupied_squares_set, max_node_radius):\n",
    "  \"\"\" Generate children in the pattern of a Newick Tree.\n",
    "      Output in the form\n",
    "      n,n,n,n \"\"\"\n",
    "  #print(\"generate_children(max_numb_children)\")\n",
    "  #print(f\"Number of children: {numb_children}\")\n",
    "  s = \"\"\n",
    "  for i in range(numb_children):\n",
    "    if i == 0:\n",
    "      a = \"\"\n",
    "    else:\n",
    "      a = \",\"\n",
    "    info, occupied_squares_set = node_info_generator16(father_center, counter, occupied_squares_set, max_node_radius)\n",
    "    if not info:\n",
    "      continue\n",
    "    else:\n",
    "     s = info + a + s\n",
    "     counter = counter + 1\n",
    "  s =  \"(\" + s + \")\"\n",
    "  #print(f\"Children: {s}\")\n",
    "  return s, counter, occupied_squares_set\n",
    "\n",
    "\n",
    "def complete_tree_generator16(max_depth, max_numb_children, max_node_radius):\n",
    "  \"\"\" A tree is generated step by step\n",
    "   taking care of generating no child where there is no place for it.\"\"\"\n",
    "  #print(\"complete_tree_generator16(...)\")\n",
    "  occupied_squares_set = set() # Initialize a new set for this tree's square coordinates\n",
    "  actual_depth = max_depth + random.randint(-5,5) # Number of allowed divisions along each branch.\n",
    "  #print(f\"Actual depth: {actual_depth}\")\n",
    "  # () is used as a marker for insertion.\n",
    "  tree = \"()Node_0[a=0,b=0,x=0,y=0,r=1]\"\n",
    "  occupied_squares_set.add((0,0))\n",
    "  #counter of defined nodes\n",
    "  counter = 1\n",
    "  for i in range(actual_depth):\n",
    "      #print(f\"depth: {i}\")\n",
    "      l = len(tree)\n",
    "      #print(f\"i : {i} l: {l}\")\n",
    "      # String s is scanned starting from the end\n",
    "      for j in range(l-1, 0, -1):\n",
    "        #print(f\"s: {s}\")\n",
    "        #print(f\"s[j-1] s[j]  :  {s[j-1]}{s[j]}\")\n",
    "        # Replace () by a list of children\n",
    "        if tree[j-1] == \"(\" and tree[j] == \")\":\n",
    "          father_center = find_father_center16(tree, j)\n",
    "          #print(f\"Father center: {father_center}\")\n",
    "          if not father_center:\n",
    "            continue\n",
    "          numb_children = random.randint(0, max_numb_children)\n",
    "          if numb_children == 0:\n",
    "            continue\n",
    "          else:\n",
    "            # Replacement\n",
    "            generated_children, counter, occupied_squares_set = generate_children16(father_center, numb_children, counter, occupied_squares_set, max_node_radius)\n",
    "            tree = replace_str_subsequence16(tree, j-1, j+1, generated_children)\n",
    "          #print(f\"{i} {j} Tree: {tree}\")\n",
    "  #print(f\"crude tree: {tree}\")\n",
    "  tree = tree.replace(\"()\", \"\")\n",
    "  #print(f\"final tree: {tree}\")\n",
    "  return tree\n",
    "\n",
    "# === VALIDATOR ====\n",
    "\n",
    "\n",
    "# Program validator_for_newick_morpho_trees.py\n",
    "# The task is to decide whether a Newick string encodes for a morpho tree.\n",
    "# To solve the task,\n",
    "# we simply go backwards over the procedure of creation of Newick strings.\n",
    "# The program has two sections.\n",
    "# In the first,\n",
    "# the string in divided in tokens, substrings of predefined content,\n",
    "# and all groups that fit into the pattern\n",
    "# info = NodeB_3_x_2[a=2,b=2,r=3] are detected.\n",
    "# Each found group undergoes a detailed test for correctness.\n",
    "# If some group is wrong, the whole string is rejected.\n",
    "# If all are correct, the test continues further on.\n",
    "# In the second section,\n",
    "# each info is replaced by \"n\",\n",
    "# then, each \"n\" is replaced by\"\"\n",
    "# then each \"()\" is replaced by \"\".\n",
    "# If a formula is correct,\n",
    "# the final product of this algorithm is the void sting \"\",\n",
    "# and its length is zero.\n",
    "# Connectivity issues are not checked.\n",
    "\n",
    "# A bug in the drawing procedure has been corrected, and the drawing of trees is now correct.\n",
    "# The bug was related to the function that finds the father of a node.\n",
    "\n",
    "# With the help of Gemini, Google and the AI of Visual Studio Code.\n",
    "\n",
    "\n",
    "\n",
    "# --- TOKENIZER FOR NEWICK STRINGS ---\n",
    "# --- Elements to create well-formed Newick info-s of Morpho_trees.---\n",
    "# --- Every info is modeled on the pattern\n",
    "# --- NodeB_3_x_2[a=1,b=0,x=4,y=5,r=1.2]\n",
    "# --- where a nad b are -1,0,1 except (0,0)\n",
    "# --- because they represent a step awya from the father.\n",
    "# --- If a substring fits into this pattern,\n",
    "# --- it must produce the sequence 73756275627564.\n",
    "# --- Say, each info begins with a noun = letters, number 7,\n",
    "# --- and ends with a right bracket number 4.\n",
    "# --- Assigned numbers are at the right of comments.\n",
    "# --- By Gemini\n",
    "TOKEN_SPECIFICATION_NEWICK = [\n",
    "    ('LPAREN',    r'\\('),          # Left Parenthesis, 0\n",
    "    ('RPAREN',    r'\\)'),          # Right Parenthesis, 1\n",
    "    ('COMMA',     r','),           # Comma separator for children, 2\n",
    "    ('LBRACKET',  r'\\['),          # Left Bracket for metadata, 3\n",
    "    ('RBRACKET',  r'\\]'),          # Right Bracket for metadata, 4\n",
    "    ('EQUALS',    r'='),           # Equals sign in metadata, 5\n",
    "    ('NUMBER',    r'-?\\d+(?:\\.\\d+)?'), # Numbers (integers or floats, possibly negative), 6\n",
    "    ('LETTERS',   r'[a-zA-Z_0-9]+'), # Node labels (e.g., 'Node0', 'Target_Root_26'), or variables (x, y, r), 7\n",
    "    ('SEMICOLON', r';'),           # Optional semicolon at end of Newick string, 8\n",
    "    ('SKIP',      r'[ \\t\\n]+'),  # Skip spaces, tabs, newlines, 9\n",
    "    ('MISMATCH',  r'.'),           # Any other illegal character, *\n",
    "]\n",
    "\n",
    "def tokenize_newick16(newick_str):\n",
    "    \"\"\"Converts a Newick string into a list of (token_type, value) tuples.\"\"\"\n",
    "    #print(\"\\ntokenize_newick\")\n",
    "    tokens = []\n",
    "    tok_regex = '|'.join(f'(?P<{name}>{pattern})' for name, pattern in TOKEN_SPECIFICATION_NEWICK)\n",
    "    tokens = []\n",
    "    for mo in re.finditer(tok_regex, newick_str):\n",
    "        kind = mo.lastgroup\n",
    "        value = mo.group()\n",
    "        if kind == 'SKIP':\n",
    "            continue\n",
    "        elif kind == 'MISMATCH':\n",
    "            raise SyntaxError(f\"Newick Grammar Violation: Illegal character '{value}' in '{newick_str}'\")\n",
    "        tokens.append((kind, value))\n",
    "    return tokens\n",
    "\n",
    "# --- VALIDATOR FOR INFO SUBSTRINGS THAT MUST FIT INTO THE PATTERN ---\n",
    "# --- info = NodeB_3_x_2[a=1,b=-1,x=2,y=4,r=3.2], 22 tokens\n",
    "def examine_subsequence16(tokens, j):\n",
    "    #print(\"\\nexamine_subsequence\")\n",
    "    # Every info must begin with a letter, whose index is 7.\n",
    "    tracker = [\"LETTERS\"]\n",
    "    tracker2 = \"7\"\n",
    "    if tokens[j + 1][0] == 'LBRACKET':\n",
    "        tracker.append('LBRACKET')\n",
    "        tracker2 += \"3\"\n",
    "    if tokens[j + 2][0] == 'LETTERS':\n",
    "        tracker.append('LETTERS')\n",
    "        tracker2 += \"7\"\n",
    "    if tokens[j + 3][0] == 'EQUALS':\n",
    "        tracker.append('EQUALS')\n",
    "        tracker2 += \"5\"\n",
    "    if tokens[j + 4][0] == 'NUMBER':\n",
    "        tracker.append('NUMBER')\n",
    "        tracker2 += \"6\"\n",
    "    if tokens[j + 5][0] == 'COMMA':\n",
    "        tracker.append('COMMA')\n",
    "        tracker2 += \"2\"\n",
    "    if tokens[j + 6][0] == 'LETTERS':\n",
    "        tracker.append('LETTERS')\n",
    "        tracker2 += \"7\"\n",
    "    if tokens[j + 7][0] == 'EQUALS':\n",
    "        tracker.append('EQUALS')\n",
    "        tracker2 += \"5\"\n",
    "    if tokens[j + 8][0] == 'NUMBER':\n",
    "        tracker.append('NUMBER')\n",
    "        tracker2 += \"6\"\n",
    "    if tokens[j + 9][0] == 'COMMA':\n",
    "        tracker.append('COMMA')\n",
    "        tracker2 += \"2\"\n",
    "    if tokens[j + 10][0] == 'LETTERS':\n",
    "        tracker.append('LETTERS')\n",
    "        tracker2 += \"7\"\n",
    "    if tokens[j + 11][0] == 'EQUALS':\n",
    "        tracker.append('EQUALS')\n",
    "        tracker2 += \"5\"\n",
    "    if tokens[j + 12][0] == 'NUMBER':\n",
    "        tracker.append('NUMBER')\n",
    "        tracker2 += \"6\"\n",
    "    if tokens[j + 13][0] == 'COMMA':\n",
    "        tracker.append('COMMA')\n",
    "        tracker2 += \"2\"\n",
    "    if tokens[j + 14][0] == 'LETTERS':\n",
    "        tracker.append('LETTERS')\n",
    "        tracker2 += \"7\"\n",
    "    if tokens[j + 15][0] == 'EQUALS':\n",
    "        tracker.append('EQUALS')\n",
    "        tracker2 += \"5\"\n",
    "    if tokens[j + 16][0] == 'NUMBER':\n",
    "        tracker.append('NUMBER')\n",
    "        tracker2 += \"6\"\n",
    "    if tokens[j + 17][0] == 'COMMA':\n",
    "        tracker.append('COMMA')\n",
    "        tracker2 += \"2\"\n",
    "    if tokens[j + 18][0] == 'LETTERS':\n",
    "        tracker.append('LETTERS')\n",
    "        tracker2 += \"7\"\n",
    "    if tokens[j + 19][0] == 'EQUALS':\n",
    "        tracker.append('EQUALS')\n",
    "        tracker2 += \"5\"\n",
    "    if tokens[j + 20][0] == 'NUMBER':\n",
    "        tracker.append('NUMBER')\n",
    "        tracker2 += \"6\"\n",
    "    if tokens[j + 21][0] == 'RBRACKET':\n",
    "        tracker.append('RBRACKET')\n",
    "        tracker2 += \"4\"\n",
    "    #print(f\"Tokens: {tracker}\")\n",
    "    #print(f\"tracker2: {tracker2}\")\n",
    "    master_pattern = \"7375627562756275627564\"\n",
    "                    # 7375627562756275627564\n",
    "    #print(f\"master pattern:  {master_pattern}\")\n",
    "    if tracker2 == master_pattern:\n",
    "        return True, \"Valid Newick sub-string at examine_subsequence16(tokens, j).\"\n",
    "    else:\n",
    "        return False, \"Invalid Newick sub-string at examine_subsequence16(tokens, j).\"\n",
    "\n",
    "\n",
    "def simplify16(text):\n",
    "    # Assuming that all infos of a string have been declared correct,\n",
    "    # the string is further tested for the balance of parentheses.\n",
    "    # print(\"\\nsimplify(text)\")\n",
    "    # print(f\"text: {text}\")\n",
    "    # Detect a pattern on the model  info = NodeB_3_x_2[a=2,b=2,x=3,y=7,r=2.3]\n",
    "    #info_words = r'[\\a-zA-Z_0-9_[_=_,\\] ]+'\n",
    "    #info_words = r'[a-zA-Z_][a-zA-Z_0-9_]*\\[x=-?[0-9]+(?:\\.[0-9]+)?,y=-?[0-9]+(?:\\.[0-9]+)?,r=-?[0-9]+(?:\\.[0-9]+)?\\]$'\n",
    "    info_words =  r'[a-zA-Z_0-9_]*\\[a=-?[0-9]+(?:\\.[0-9]+)?,b=-?[0-9]+(?:\\.[0-9]+)?,x=-?[0-9]+(?:\\.[0-9]+)?,y=-?[0-9]+(?:\\.[0-9]+)?,r=-?[0-9]+(?:\\.[0-9]+)?\\]'\n",
    "    starts = []\n",
    "    groups = []\n",
    "    for match in re.finditer(info_words, text):\n",
    "        #print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "        #print(f\"    starts at index: {match.start()}\")\n",
    "        starts.append(match.start())\n",
    "        groups.append(match.group())\n",
    "    number_of_infos = len(starts)\n",
    "    #print(f\"number_of_infos = {number_of_infos}\")\n",
    "    #print(f\"starts of infos: {starts}\")\n",
    "    #print(f\"groups or infos: {groups}\")\n",
    "    new_s = text\n",
    "    # All infos are replaced by the dumb variable n\n",
    "    for j in range(number_of_infos - 1, -1, -1):\n",
    "        #print(f\"start_of_info[{j}]:  {starts[j]},  len(groups[{j}]): {len(groups[j])}\")\n",
    "        new_s = replace_strig_of_length16(new_s, \"n\", starts[j], len(groups[j]))\n",
    "        #print(f\"new string = '{new_s}'\")\n",
    "    # Balance of parentheses is inquired.\n",
    "    new_s = new_s.replace(\"n,\", \"\")\n",
    "    new_s = new_s.replace(\"n\", \"\")\n",
    "    #print(f\"Simplified string = {new_s} \")\n",
    "    l = len(new_s)\n",
    "    #print(f\"Length of Simplified string = {l}\")\n",
    "    for i in range(l):\n",
    "      new_s = new_s.replace(\"()\", \"\")\n",
    "    final_length = len(new_s)\n",
    "    # print(f\"Final string = {new_s}, final_length = {final_length}\")\n",
    "    if final_length == 0:\n",
    "        print(\"Valid string at simplify16(), line 562\")\n",
    "        return True,  \"Valid Newick string.\"\n",
    "    else:\n",
    "        print(\"Invalid string at simplify16(), line 562\")\n",
    "        return False, \"Invalid Newick string.\"\n",
    "\n",
    "\n",
    "\n",
    "def validate_newick_syntax16(newick_str):\n",
    "    \"\"\"\n",
    "    Validates if a Newick string is syntactically correct.\n",
    "    This function checks for balanced parentheses, proper comma usage for children,\n",
    "    and correct metadata format, without building a tree object.\n",
    "    \"\"\"\n",
    "    #print(\"Validating Newick syntax\")\n",
    "    tokens = []\n",
    "    try:\n",
    "        tokens = tokenize_newick16(newick_str)\n",
    "        #print(f\"newick_str: {newick_str}\")\n",
    "        #print(f\"Tokens: {tokens}\")\n",
    "    except SyntaxError as e:\n",
    "        return False, str(e)\n",
    "    if not tokens:\n",
    "        return False, \"Empty Newick string.\"\n",
    "    l = len(tokens)\n",
    "    print(f\"Length of tokens at line 587: {l}\")\n",
    "    j = 0\n",
    "    indexes_of_tokens = []\n",
    "    if l == 1:\n",
    "        kind, value = tokens[j]\n",
    "        if kind == 'LETTERS': # NodeA\n",
    "            return True, \"Valid Newick string.\"\n",
    "        else:\n",
    "            return False, \"Invalid Newick string at validate_newick_syntax16_1.\"\n",
    "    elif l == 2:\n",
    "        kind, value = tokens[j]\n",
    "        if kind == 'LETTERS' and tokens[1][0] == 'SEMICOLON': #NodeC;\n",
    "            return True, \"Valid Newick string.\"\n",
    "        else:\n",
    "            return False, \"Invalid Newick string at validate_newick_syntax16_2.\"\n",
    "    elif 3 < l < 22: # No redundancy is assumed\n",
    "        return False, \"Invalid Newick string at validate_newick_syntax16_3.\"\n",
    "    elif l >= 22:\n",
    "        #print(f\"Length of string: {l}\")\n",
    "        for j in range(l-20):\n",
    "            #print(f\"tokens[{j}]: {tokens[j]}\")\n",
    "            #print(f\"tokens[{j+1}]: {tokens[j+1]}\")\n",
    "            if tokens[j][0] == 'LETTERS' and tokens[j+1][0] == 'LBRACKET':\n",
    "                #print(f\"Starting index : {j}\".format(j=j))\n",
    "                indexes_of_tokens.append(j)\n",
    "                # info that starts at j is examined for correctness\n",
    "                is_valid16, message16 = examine_subsequence16(tokens, j)\n",
    "                if is_valid16:\n",
    "                    pass\n",
    "                else:\n",
    "                    return False, \"Invalid Newick string inside validate_newick_syntax16_4.\"\n",
    "        #print(f\"Starting indexes of tokens: {indexes_of_tokens }\")\n",
    "    is_valid16, message16 = simplify16(newick_str)\n",
    "    if is_valid16:\n",
    "        return True, \"Valid morpho-tree at validate_newick_syntax16(newick_str).\"\n",
    "    else:\n",
    "        return False, \"Invalid morpho-tree at validate_newick_syntax16_5.\"\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "# Generate a sample of Newick strings that are immediately tested by a validator\n",
    "#def test_validator16(max_depth, max_numb_children, max_node_radius):\n",
    "def test_validator16( ):\n",
    "    # Specific test\n",
    "    model = \"NodeB_3_x_2[a=-1,b=0,x=-4,y=5,r=1.2]\"\n",
    "    #print(\"Simple test\")\n",
    "    #print(f\"Model of Newick String: {model}\")\n",
    "    is_valid, message = validate_newick_syntax16(model)\n",
    "    #print(f\"message: {message}\")\n",
    "    invalid_string = \"NodeB_3_x_2[a=-1,b=0,x=-4,y=5,r=1.2]]\"\n",
    "    #print(f\"\\nInvalid_string: {invalid_string}\")\n",
    "    is_valid, message = validate_newick_syntax16(invalid_string)\n",
    "    #print(f\"message: {message}\")\n",
    "    #print(\"\\n\")\n",
    "\n",
    "\n",
    "    #print(\"\\nMassive test of Newick formulas encoding for morpho-trees:\\n\" + \"=\"*47)\n",
    "    max_depth = 7\n",
    "    max_numb_children = 2\n",
    "    max_node_radius = 1.2\n",
    "    #print(f\"max_depth: {max_depth}\")\n",
    "    #print(f\"max_numb_children: {max_numb_children} \\n\"+ \"=\"*20)\n",
    "    for i in range(1, 100):\n",
    "        s = complete_tree_generator16(max_depth, max_numb_children, max_node_radius)\n",
    "        #print(f\"pattern {p}\")\n",
    "        #print(f\"Morpho-tree {i}: {s}\")\n",
    "        is_valid, message = validate_newick_syntax16(s)\n",
    "        #print(f\"is valid at main : {is_valid}, message: {message}\")\n",
    "        status = \"✅ VALID\" if is_valid else \"❌ INVALID\"\n",
    "        print(f\"Morpho-tree {i}:: {status} - {message}\")\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "# ======== DRAWING ================\n",
    "\n",
    "def get_illuminated_area16(x,y,r):\n",
    "    \"\"\"\n",
    "      The illuminated area enclosess all unitary squares that intersetcs the circles of illumination.\n",
    "      Each square is denoted by its left botton corner. These will be found in the set illuminated_coords.\n",
    "    \"\"\"\n",
    "    #print(\"get_illuminated_area16\")\n",
    "    #print(f\"x: {x}, y: {y}, r: {r}\")\n",
    "    illuminated_coords = set()\n",
    "\n",
    "\n",
    "    for xi,yi,ri in zip(x,y,r):\n",
    "        circle_center_x = xi + 0.5\n",
    "        circle_center_y = yi + 0.5\n",
    "        r_sq = ri ** 2\n",
    "        # 1. Add the cell containing the center of the circle\n",
    "        # This covers the case of small circles not intersecting grid lines.\n",
    "        illuminated_coords.add((math.floor(circle_center_x), math.floor(circle_center_y)))\n",
    "\n",
    "        # 2. Horizontal Scan: Check intersections with horizontal grid lines\n",
    "        # Iterate y_line from floor(cy - r) to ciel(cy + r)\n",
    "        # These y_line values represent the y-coordinates of horizontal grid lines.\n",
    "        for y_line in range(math.floor(circle_center_y - ri)-1,\n",
    "                            math.ceil(circle_center_y + ri) + 1):\n",
    "            dy = y_line - circle_center_y\n",
    "            discriminant = r_sq - dy * dy\n",
    "\n",
    "            if discriminant >= 0:\n",
    "                dx = math.sqrt(discriminant)\n",
    "                x_min_intersect = circle_center_x - dx\n",
    "                x_max_intersect = circle_center_x + dx\n",
    "\n",
    "                # For each integer x-coordinate that the horizontal segment crosses:\n",
    "                # Add the cells whose bottom-left corner's x-coordinate is in this range.\n",
    "                # This covers cells whose top edge is y_line AND cells whose bottom edge is y_line.\n",
    "                for ix in range(math.floor(x_min_intersect), math.floor(x_max_intersect) + 1):\n",
    "                    illuminated_coords.add((ix, y_line))\n",
    "                    illuminated_coords.add((ix, y_line - 1))\n",
    "\n",
    "        # 3. Vertical Scan: Check intersections with vertical grid lines\n",
    "        # Iterate x_line from floor(cx - r) to ciel(cx + r)\n",
    "        # These x_line values represent the x-coordinates of vertical grid lines.\n",
    "        for x_line in range(math.floor(circle_center_x - ri)-1,\n",
    "                            math.ceil(circle_center_x + ri) + 1):\n",
    "            dx = x_line - circle_center_x\n",
    "            discriminant = r_sq - dx * dx\n",
    "\n",
    "            if discriminant >= 0:\n",
    "                dy = math.sqrt(discriminant)\n",
    "                y_min_intersect = circle_center_y - dy\n",
    "                y_max_intersect = circle_center_y + dy\n",
    "\n",
    "                # For each integer y-coordinate that the vertical segment crosses:\n",
    "                # Add the cells whose bottom-left corner's y-coordinate is in this range.\n",
    "                # This covers cells whose right edge is x_line AND cells whose left edge is x_line.\n",
    "                for iy in range(math.floor(y_min_intersect), math.floor(y_max_intersect) + 1):\n",
    "                    # Cell (x_line, iy) - its left edge is at x_line\n",
    "                    illuminated_coords.add((x_line, iy))\n",
    "                    # Cell (x_line - 1, iy) - its right edge is at x_line\n",
    "                    illuminated_coords.add((x_line - 1, iy))\n",
    "    # print(f\"illuminated_coords  {illuminated_coords}\")\n",
    "\n",
    "    return illuminated_coords\n",
    "\n",
    "\n",
    "def plot_illuminated_area_newick16(ax, illuminated_coords, title, color='blue', alpha=0.1):\n",
    "    ax.set_aspect('equal', adjustable='box')\n",
    "    if not illuminated_coords:\n",
    "        ax.set_title(title)\n",
    "        ax.grid(True)\n",
    "        return\n",
    "\n",
    "    for x, y in illuminated_coords:\n",
    "        rect = patches.Rectangle((x, y), 1, 1, facecolor=color, alpha=alpha, edgecolor='black', linewidth=0.5)\n",
    "        ax.add_patch(rect)\n",
    "\n",
    "    min_x = min(c[0] for c in illuminated_coords) - 1\n",
    "    max_x = max(c[0] for c in illuminated_coords) + 2\n",
    "    min_y = min(c[1] for c in illuminated_coords) - 1\n",
    "    max_y = max(c[1] for c in illuminated_coords) + 2\n",
    "    #print(f\"min_x: {min_x}, max_x: {max_x}, min_y: {min_y}, max_y: {max_y}\")\n",
    "\n",
    "    ax.set_xlim(min_x, max_x)\n",
    "    ax.set_ylim(min_y, max_y)\n",
    "    ax.set_xticks(range(int(min_x), int(max_x)))\n",
    "    ax.set_yticks(range(int(min_y), int(max_y)))\n",
    "    ax.grid(True)\n",
    "    ax.set_title(title)\n",
    "\n",
    "\n",
    "\n",
    "def plot_tree_nodes_and_their_diffusion_circles16(x,y,r, ax, tree_color='lightblue', diff_color='red'):\n",
    "  for xi,yi,ri in zip(x,y,r):\n",
    "    # Plot the square representing the cell\n",
    "    rect = patches.Rectangle((xi, yi), 1, 1, facecolor=tree_color, edgecolor='black', linewidth=1, zorder=1)\n",
    "    ax.add_patch(rect)\n",
    "    #node_label_part = node.value.split('_')[-1] if '_' in node.value else node.value\n",
    "    #ax.text(xi + 0.5, yi + 0.5, node_label_part, ha='center', va='center', color='darkblue', fontsize=7, zorder=2)\n",
    "\n",
    "    # Plot the circle representing the radius of influence\n",
    "    circle = patches.Circle((xi + 0.5, yi + 0.5), ri, color='red', alpha=0.1, zorder=2)\n",
    "    ax.add_patch(circle)\n",
    "\n",
    "def find_leaves(newick_string):\n",
    "    \"\"\"Detect leaves in a Newick string.\"\"\"\n",
    "    #print(\"\\n\\nfind_leaves\")\n",
    "    #print(f\"Newick String: {newick_string}\")\n",
    "\n",
    "    # Detection of leaves.\n",
    "    # Dectect substrings of the form \"(...)\" but without interior parentheses.\n",
    "    pattern_leaves = r'[(][^()]*[)]'\n",
    "    # Leaves may come grouped by bouquets\n",
    "    bouquets_of_leaves = re.findall(pattern_leaves, newick_string )\n",
    "    #print(f\"Bouquets_of_leaves: {bouquets_of_leaves}\")\n",
    "    all_leaves = []\n",
    "    # Descipher each leaf and find the father\n",
    "    for bouquet_of_leaves in bouquets_of_leaves:\n",
    "        bouquet_of_leaves = bouquet_of_leaves[1:-1]\n",
    "        leaves = detect_all_groups16(bouquet_of_leaves)\n",
    "        for loaf in leaves:\n",
    "          loaf = loaf.replace(\" \", \"\")\n",
    "          all_leaves.append(loaf)\n",
    "    return all_leaves\n",
    "\n",
    "\n",
    "\n",
    "def connect_leaves_to_father16(newick_string, ax, tree_color='lightblue', diff_color='red'):\n",
    "    \"\"\"Draw lines connecting leaves to fathers\"\"\"\n",
    "\n",
    "    #print(\"\\n\\nconnect_leaves_to_father16\")\n",
    "    #print(f\"Newick String: {newick_string}\")\n",
    "\n",
    "    all_leaves = find_leaves(newick_string)\n",
    "    for leaf in all_leaves:\n",
    "        [al,bl,xl,yl,rl] = extract_info16(leaf)\n",
    "        #print(f\"Info: a: {al}, b: {bl}, x: {xl}, y: {yl}, r: {rl}\")\n",
    "\n",
    "        # Task: Find the father of the leaf.\n",
    "        # It is the node after the last leaf\n",
    "        # Example:\n",
    "        # (Node9[x=-11,y=19.7,r=12.4567],Node8[x=0,y=7,r=16],Node7[x=6,y=16,r=9])Node6[x=17,y=9,r=20]\n",
    "        # The father of Node9, Node8, and Node7 is Node 6.\n",
    "        # The father of a node is found after the first unbalanced right parenthesis.\n",
    "        index_nex_right_par = newick_string.find(\")\", newick_string.find(leaf))\n",
    "        father_with_tail = newick_string[index_nex_right_par+1:]\n",
    "        father_group = detect_all_groups16(father_with_tail)\n",
    "        if father_group:\n",
    "          [af,bf,xf,yf,rf]  = extract_info16(father_group[0])\n",
    "          #father_center = (xf,yf)\n",
    "          ax.plot([xl + 0.5, xf + 0.5], [yl + 0.5, yf + 0.5], 'k--', linewidth=0.8, zorder = 3)\n",
    "    # Leaves are erased: each leave is replaced by \"\"\n",
    "    for leaf in all_leaves:\n",
    "          #print(f\"leaf to be erased: {leaf}\")\n",
    "          newick_string = newick_string.replace(leaf + \",\", \"\")\n",
    "          newick_string = newick_string.replace(leaf, \"\")\n",
    "          #print(f\"Newick String without leaves: {newick_string}\")\n",
    "    newick_string = newick_string.replace(\"()\", \"\")\n",
    "    #print(f\"Newick String without leaves: {newick_string}\")\n",
    "    #is_valid, message = validate_newick_syntax16(newick_string)\n",
    "    #print(f\"is valid at connect_leaves_to_father16(...) : {is_valid}, message: {message}\")\n",
    "    #status = \"✅ VALID\" if is_valid else \"❌ INVALID\"\n",
    "    #print(f\"Is the Newick string a valid morpho-tree? : {status} - {message}\")\n",
    "    groups = detect_all_groups16(newick_string)\n",
    "    number_of_groups = len(groups)\n",
    "    return newick_string, number_of_groups\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "def draw_tree_links16(newick_string, ax,   diff_color='red' ):\n",
    "    \"\"\"Draw lines connecting children to father.\n",
    "       1. Each leaf is connected to its father,\n",
    "          and the corresponding stroke is plotted.\n",
    "       2. Leaves are erased.\n",
    "       3. New leaves are detected and connected to their father.\n",
    "       4, And so on.\n",
    "       \"\"\"\n",
    "\n",
    "    #print(\"draw_tree_links16\")\n",
    "    #print(f\"Newick String: {newick_string}\")\n",
    "    length_string = len(newick_string)\n",
    "    #print(f\"length_string: {length_string}\")\n",
    "    groups = detect_all_groups16(newick_string)\n",
    "    #print(f\"Groups: {groups}\")\n",
    "    number_of_groups = len(groups)\n",
    "    # Leaves are recursively found and connected to their father.\n",
    "    counter_of_trials = 0\n",
    "    while number_of_groups > 1:\n",
    "        #print(\"\\n\\ndraw_tree_links16\")\n",
    "        #print(f\"Newick String: {newick_string}\")\n",
    "\n",
    "        newick_string, number_of_groups = connect_leaves_to_father16(newick_string, ax, tree_color='lightblue', diff_color='red')\n",
    "        counter_of_trials = counter_of_trials + 1\n",
    "        if counter_of_trials > length_string:\n",
    "          break\n",
    "    # The root is detected and marked with a cross\n",
    "    groups = detect_all_groups16(newick_string)\n",
    "    #print(f\"Groups: {groups}\")\n",
    "    number_of_groups = len(groups)\n",
    "    #print(f\"number_of_groups = {number_of_groups}\")\n",
    "    # Mark the root with a red cross\n",
    "    if number_of_groups >= 1:\n",
    "      [a0,b0,x0,y0,r0] = extract_info16(groups[-1])\n",
    "      #print(f\"Origin: a: {a0}, b: {b0}, x: {x0}, y: {y0}, r: {r0}\")\n",
    "      ax.plot([x0, x0 +1 ], [y0+ 0.5, y0+ 0.5],   color = 'red', linewidth=0.8, zorder = 3)\n",
    "      ax.plot([x0 + 0.5, x0 +0.5], [y0, y0+ 1],   color = 'red', linewidth=0.8, zorder = 3)\n",
    "    return newick_string, number_of_groups\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "def draw_tree_newick16(newick_string, title):\n",
    "    #print(\"\\n=========== DRAWING=======\\n\")\n",
    "    #print(\"=========== DRAWING=======\\n\")\n",
    "    #print(\"=========== DRAWING=======\\n\")\n",
    "    a,b,x,y,r = extract_all_infos16(newick_string)\n",
    "    fig, ax = plt.subplots(figsize=(7, 16))\n",
    "    ax.set_aspect('equal')\n",
    "    plot_tree_nodes_and_their_diffusion_circles16(x,y,r, ax, tree_color='lightgreen', diff_color='red')\n",
    "\n",
    "    # Illuminated area is calculated\n",
    "    illuminated_coords = get_illuminated_area16(x,y,r)\n",
    "    #print(f\"Illuminated cells: {illuminated_coords}\")\n",
    "    #print(f\"Number of illuminated cells: {len(illuminated_coords)}\")\n",
    "    # Tree is drawn\n",
    "    #title = \"morpho-tree: lightgreen, illuminated circles: red, illuminated Area: lightblue\"\n",
    "    plot_illuminated_area_newick16(ax, illuminated_coords, title, color='blue', alpha=0.1)\n",
    "    # Lines that define the tree are added\n",
    "    draw_tree_links16(newick_string, ax, diff_color='red'  )\n",
    "\n",
    "    plt.tight_layout()\n",
    "    plt.show()\n",
    "    return illuminated_coords\n",
    "\n",
    "def generate_and_test_target_trimmed__morpho_tree16(target_tree_params):\n",
    "    #print(\"generate_and_test_morpho_tree( ga_params)\"\"\n",
    "\n",
    "    target_tree = complete_tree_generator16(target_tree_params['max_depth'], target_tree_params['max_number_children'], ga_params['max_node_radius']) #line 264\n",
    "    #target_tree = complete_tree_generator16(max_depth, max_numb_children, max_node_radius) #line 264\n",
    "    # Trim tree\n",
    "    for i in range(2):\n",
    "         target_tree = deletion_of_branch16(target_tree)\n",
    "    print(f\"target_tree at generate_and_test_target_trimmed__morpho_tree16: {target_tree}\")\n",
    "    # Validate tree\n",
    "    is_valid, message = validate_newick_syntax16(target_tree)\n",
    "    illuminated_coords = set()\n",
    "\n",
    "    if is_valid:\n",
    "        a,b,x,y,r = extract_all_infos16(target_tree)\n",
    "        illuminated_coords = get_illuminated_area16(x,y,r)\n",
    "    else:\n",
    "      print(\"Newick string is not valid at generate_and_test_target_trimmed__morpho_tree16(target_tree_params)\")\n",
    "\n",
    "    return target_tree, illuminated_coords\n",
    "\n",
    "\n",
    "\n",
    "# Generate the  Newick string of a morpho-tree, test and draw it\n",
    "# def generate_test_and_draw_morpho_tree(target_tree_params['max_depth'], target_tree_params['max_number_children'], target_tree_params['max_node_radius'] ):\n",
    "def generate_and_test_morpho_tree16(ga_params):\n",
    "    #print(\"generate_and_test_morpho_tree( ga_params)\"\"\n",
    "\n",
    "    newick_tree = complete_tree_generator16(ga_params['max_depth'], ga_params['max_number_children'], ga_params['max_node_radius']) #line 264\n",
    "    #newick_tree = complete_tree_generator16(max_depth, max_numb_children, max_node_radius) #line 264\n",
    "    is_valid, message = validate_newick_syntax16(newick_tree)\n",
    "    illuminated_coords = set()\n",
    "\n",
    "    if is_valid:\n",
    "        a,b,x,y,r = extract_all_infos16(newick_tree)\n",
    "        illuminated_coords = get_illuminated_area16(x,y,r)\n",
    "    else:\n",
    "      print(\"Newick string is not valid\")\n",
    "    \"\"\"\n",
    "    is_valid, message = validate_newick_syntax16(newick_tree)\n",
    "    print(f\"is the Newick String valid?: {is_valid}, message: {message}\")\n",
    "    status = \"✅ VALID\" if is_valid else \"❌ INVALID\"\n",
    "    print(f\"Is the Newick string a valid morpho-tree? : {status} - {message}\")\n",
    "    \"\"\"\n",
    "    return newick_tree, illuminated_coords\n",
    "\n",
    "\n",
    "# --- Evoluciónary functions ---\n",
    "\n",
    "def create_initial_population_newick16(pop_size=ga_params['pop_size'], max_depth=ga_params['max_depth'], max_children=ga_params['max_number_children'],  max_node_radius=ga_params['max_node_radius'] ):\n",
    "    population = []\n",
    "    for _ in range(pop_size):\n",
    "        new_tree = complete_tree_generator16(max_depth, max_children, max_node_radius)\n",
    "        population.append(new_tree)\n",
    "    return population\n",
    "\n",
    "def get_illuminated_coordinates16(newick_string):\n",
    "  \"\"\"Coordinates of illuminated cells are extracted from the Newick string\"\"\"\n",
    "  a,b,x,y,r = extract_all_infos16(newick_string)\n",
    "  # Illuminated area is calculated\n",
    "  illuminated_coords = get_illuminated_area16(x,y,r)\n",
    "  ##print(f\"Illuminated cells: {illuminated_coords}\")\n",
    "  ##print(f\"Number of illuminated cells: {len(illuminated_coords)}\")\n",
    "  return illuminated_coords\n",
    "\n",
    "def calculate_fitness_illumination16(candidate_tree_root, target_illuminated_area):\n",
    "    \"\"\"\n",
    "    Calculates fitness based on the symmetric difference between illuminated areas.\n",
    "    Fitness is 1.0 for a perfect match, and decreases as symmetric difference increases.\n",
    "    Reuse of a previous code by Gemini 2.5 Flash\n",
    "    \"\"\"\n",
    "    if candidate_tree_root is None:\n",
    "        # If the tree generation failed, assign a very low fitness\n",
    "        return 0.0001 # A small non-zero value to avoid division by zero issues later\n",
    "\n",
    "    candidate_illuminated_area = get_illuminated_coordinates16(candidate_tree_root)\n",
    "\n",
    "    # Symmetric difference: (A U B) - (A intersect B)\n",
    "    # Or, the elements in A but not B, plus elements in B but not A.\n",
    "    symmetric_difference = candidate_illuminated_area.symmetric_difference(target_illuminated_area)\n",
    "\n",
    "    # Union size: used for normalization\n",
    "    union_size = len(candidate_illuminated_area.union(target_illuminated_area))\n",
    "\n",
    "    if union_size == 0:\n",
    "        if not target_illuminated_area and not candidate_illuminated_area:\n",
    "            return 1.0 # Perfect match if both are empty\n",
    "        else:\n",
    "            return 0.0001 # Should not happen if target is non-empty, but handles cases where both are empty but expected non-empty\n",
    "\n",
    "    # Fitness is 1.0 - (len(symmetric_difference) / union_size)\n",
    "    # This gives 1.0 for a perfect match (symmetric_difference_area = 0)\n",
    "    # and approaches 0.0 for large differences.\n",
    "    fitness = 1.0 - (len(symmetric_difference) / union_size)\n",
    "    return max(0.0001, fitness) # Ensure fitness is always positive\n",
    "\n",
    "\n",
    "def select_parents_newick(population, fitness_scores, num_parents):\n",
    "    parents = []\n",
    "    # Use roulette wheel selection or tournament selection. Tournament is generally robust.\n",
    "    for _ in range(num_parents):\n",
    "        tournament_size = min(5, len(population))\n",
    "        if tournament_size == 0:\n",
    "            break\n",
    "        tournament_candidates = random.sample(list(zip(population, fitness_scores)), tournament_size)\n",
    "        winner = max(tournament_candidates, key=lambda x: x[1])[0]\n",
    "        parents.append(winner)\n",
    "    return parents\n",
    "\n",
    "def find_recombinant_branch16(newick_string):\n",
    "  # A full functional branch is recognized because it is enclosed by ()\n",
    "  # and everything inside is full functional.\n",
    "  # We simply keep an accounting of parentheses pairing\n",
    "  #print(\"\\nfind_branch\")\n",
    "  #print(f\"newick_string: {newick_string}\")\n",
    "  pattern_left_par = r'[(]'\n",
    "  starts = []\n",
    "  groups = []\n",
    "  for match in re.finditer(pattern_left_par, newick_string):\n",
    "      #print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "      starts.append(match.start())\n",
    "      groups.append(match.group())\n",
    "  number_of_infos = len(starts)\n",
    "  #print(f\"number_of_infos = {number_of_infos}\")\n",
    "  #print(f\"starts: {starts}\")\n",
    "  #print(f\"groups: {groups}\")\n",
    "  if number_of_infos == 0: # The root is alone\n",
    "    return newick_string\n",
    "  # Select a start index at random\n",
    "  start_idx = random.randint(0, number_of_infos-1)\n",
    "  #print(f\"selected start_idx: {start_idx}\")\n",
    "  start_idx = starts[start_idx]\n",
    "  #print(f\"start_idx: {start_idx}\")\n",
    "  tail = newick_string[start_idx:]\n",
    "  #print(f\"tail: {tail}\")\n",
    "  # Balance accounting\n",
    "  counter_of_pars = 0\n",
    "  for i in range(len(tail)):\n",
    "    if tail[i] == \"(\":\n",
    "      counter_of_pars = counter_of_pars + 1\n",
    "    if tail[i] == \")\":\n",
    "      counter_of_pars = counter_of_pars - 1\n",
    "    if counter_of_pars == 0:\n",
    "      branch = tail[: i+1]\n",
    "      #print(f\"Functional branch: {branch}\")\n",
    "      break\n",
    "  return branch\n",
    "\n",
    "\n",
    "def newick_position_branch_recombination16(newick_string1, newick_string2):\n",
    "  \"\"\" Recombination of full functional branches\"\"\"\n",
    "  #print(\"\\nnewick_position_branch_recombination16\")\n",
    "  #print(f\"newick_string1: {newick_string1}\")\n",
    "  #print(f\"newick_string2: {newick_string2}\")\n",
    "  branch1 = find_recombinant_branch16(newick_string1)\n",
    "  branch2 = find_recombinant_branch16(newick_string2)\n",
    "  #print(f\"\\nbranch1: {branch1}\")\n",
    "  #print(f\"branch2: {branch2}\")\n",
    "  # Branches are interchanged\n",
    "  newick_string1 = newick_string1.replace(branch1, branch2)\n",
    "  newick_string2 = newick_string2.replace(branch2, branch1)\n",
    "  return newick_string1, newick_string2\n",
    "\n",
    "def newick_leaves_recombination16(newick_string1, newick_string2):\n",
    "  \"\"\" Recombination of full functional branches\"\"\"\n",
    "  #print(\"\\nnewick_leaves_recombination16\")\n",
    "  #print(f\"newick_string1: {newick_string1}\")\n",
    "  #print(f\"newick_string2: {newick_string2}\")\n",
    "  leaves1 = find_leaves(newick_string1)\n",
    "  leaves2 = find_leaves(newick_string2)\n",
    "  if not leaves1 or not leaves2:\n",
    "    return newick_string1, newick_string2\n",
    "  # Select a leaf at random from each tree\n",
    "  leaf1 = random.choice(leaves1)\n",
    "  leaf2 = random.choice(leaves2)\n",
    "  #print(f\"\\nleaf1: {leaf1}\")\n",
    "  #print(f\"leaf2: {leaf2}\")\n",
    "  # Leaves are interchanged\n",
    "  newick_string1 = newick_string1.replace(leaf1, leaf2)\n",
    "  newick_string2 = newick_string2.replace(leaf2, leaf1)\n",
    "  return newick_string1, newick_string2\n",
    "\n",
    "\n",
    "def find_occupied_squares16(newick_string):\n",
    "    \"\"\"Detects all the occupied squares in a tree\"\"\"\n",
    "    occupied_squares_set = set()\n",
    "    groups = detect_all_groups16(newick_string)\n",
    "    for group in groups:\n",
    "        [a,b,x,y,r] = extract_info16(group)\n",
    "        occupied_squares_set.add((x, y))\n",
    "    return occupied_squares_set\n",
    "\n",
    "def newick_mutation_of_radius16(newick_string):\n",
    "  # The pattern of the radius of illumination, r = 0.2\n",
    "  pattern_r = r'r=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  starts = []\n",
    "  groups = []\n",
    "  for match in re.finditer(pattern_r, newick_string):\n",
    "      #print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "      starts.append(match.start())\n",
    "      groups.append(match.group())\n",
    "  number_of_infos = len(starts)\n",
    "  #print(f\"number_of_infos = {number_of_infos}\")\n",
    "  #print(f\"starts: {starts}\")\n",
    "  #print(f\"groups: {groups}\")\n",
    "  # Select a start index at random\n",
    "  start_idx = random.randint(0, number_of_infos-1)\n",
    "  #print(f\"selected start_idx: {start_idx}\")\n",
    "  l = len(groups[start_idx])\n",
    "  #print(f\"l: {l}\")\n",
    "  # Select a new radius\n",
    "  new_radius = random.uniform(0.5, 2)\n",
    "  #print(f\"new_radius: {new_radius}\")\n",
    "\n",
    "  new_info = \"r=\" + str(new_radius)\n",
    "  #print(f\"new_info: {new_info}\")\n",
    "  # Replace the info\n",
    "  mutated_newick_string = replace_str_subsequence16(newick_string, starts[start_idx], starts[start_idx] + l, new_info)\n",
    "  #print(f\"newick_string: {newick_string}\")\n",
    "  return mutated_newick_string\n",
    "\n",
    "\n",
    "def newick_find_insertion_patterns16(newick_string):\n",
    "  \"\"\" All insertion patterns are found and one is chosen at random\"\"\"\n",
    "  # The pattern of groups on the image of\n",
    "  # Node4[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07]\n",
    "  insertion_pattern = r'[]][])]'\n",
    "  starts = []\n",
    "  groups = []\n",
    "  for match in re.finditer(insertion_pattern, newick_string):\n",
    "      #print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "      starts.append(match.start())\n",
    "      groups.append(match.group())\n",
    "  number_of_patterns = len(starts)\n",
    "  #print(f\"starts: {starts}\")\n",
    "  #print(f\"groups: {groups}\")\n",
    "  start_idx = 0\n",
    "  if groups:\n",
    "    # Select a start index at random\n",
    "    start_idx = random.randint(0, number_of_patterns-1)\n",
    "    group = groups[start_idx]\n",
    "    start = starts[start_idx]\n",
    "    #print(f\"group: {group}\")\n",
    "    #print(f\"start: {start}\")\n",
    "  else:\n",
    "    group = \"\"\n",
    "    start = 0\n",
    "  return group, start\n",
    "\n",
    "\n",
    "def insertion_of_branch16(newick_string):\n",
    "  #original_newick_string = newick_string\n",
    "  # The pattern of groups on the image of\n",
    "  # Node4[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07]\n",
    "  # A group together its start site are elected\n",
    "  group, start =  newick_find_insertion_patterns16(newick_string)\n",
    "  # String to be inserted\n",
    "  # child_string = \"(Node16[a=-1.0,b=0.0,x=-2.0,y=-1.0,r=0.83],Node16[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07])Node1[a=-1.0,b=-1.0,x=-1.0,y=-1.0,r=0.95]\"\n",
    "  child_string = complete_tree_generator16(max_depth = 2, max_numb_children = 2, max_node_radius= 1.5)\n",
    "  if group:\n",
    "    #print(f\"Group (main): {group}\")\n",
    "    #print(f\"Start (main): {start}\")\n",
    "    # Does the group have children?\n",
    "    #char_before = newick_string[start-1]\n",
    "    #print(f\"char_before: {char_before}\")\n",
    "\n",
    "    newick_string = newick_string.replace(\"])\", \"],\" + child_string + \")\")\n",
    "  else:\n",
    "    # a tree is given as a child to the root\n",
    "    newick_string = \"(\" + child_string + \")\" + newick_string\n",
    "  # Cosmetics\n",
    "  #newick_string = newick_string.replace(\",,\", \",\")\n",
    "\n",
    "  # Comparison\n",
    "  #print(f\"Original Newick string: {original_newick_string}\")\n",
    "  #print(f\"Final Newick_string: {newick_string}\")\n",
    "  return newick_string\n",
    "\n",
    "def select_one_insertion_pattern_left_parenthesis_16(newick_string, counter, max_illumination_radius):\n",
    "  \"\"\" All insertion patterns (N  are found and one is chosen at random\n",
    "      The new info will be inserted to the right of the parenthesis\"\"\"\n",
    "  # The pattern of groups on the image of\n",
    "  # Node4[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07]\n",
    "  insertion_pattern = r'[(][N]'\n",
    "  starts = []\n",
    "  groups = []\n",
    "  for match in re.finditer(insertion_pattern, newick_string):\n",
    "      #print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "      starts.append(match.start())\n",
    "      groups.append(match.group())\n",
    "  number_of_patterns = len(starts)\n",
    "  #print(f\"starts: {starts}\")\n",
    "  #print(f\"groups: {groups}\")\n",
    "  start_idx = 0\n",
    "  if groups:\n",
    "    # Select a start index at random\n",
    "    start_idx = random.randint(0, number_of_patterns-1)\n",
    "    group = groups[start_idx]\n",
    "    start = starts[start_idx]\n",
    "    #print(f\"group: {group}\")\n",
    "    #print(f\"start: {start}\")\n",
    "  else:\n",
    "    group = \"\"\n",
    "    start = 0\n",
    "  #print(f\"Group160: {group}\")\n",
    "  # String to be inserted\n",
    "  father_center = find_father_center16(newick_string, start)\n",
    "  #print(f\"Father center: {father_center}\")\n",
    "  occupied_squares_set = find_occupied_squares16(newick_string)\n",
    "  info, occupied_squares_set = node_info_generator16(father_center, counter,  occupied_squares_set, max_illumination_radius)\n",
    "  info = info.replace(\"()\", \"\")\n",
    "  child_string = info\n",
    "  if group:\n",
    "      #print(f\"Group (main): {group}\")\n",
    "      #print(f\"Start (main): {start}\")\n",
    "      # The child string is inserted between ] and ) at place start\n",
    "      #print(f\"Child string: {child_string}\")\n",
    "      #print(f\"Newick string before insertion_point: {newick_string[:start+1]}\")\n",
    "      #print(f\"Newick string after insertion_point: {newick_string[start+2:]}\")\n",
    "      newick_string = newick_string[:start+1] + \"(\" + child_string +  \")\" + newick_string[start+1:]\n",
    "      #print(f\"Newick string after insertion****: {newick_string}\")\n",
    "  else:\n",
    "      # a node in the info is given as a child to the root\n",
    "      newick_string = \"(\" + child_string + \")\" + newick_string\n",
    "    # Cosmetics\n",
    "    #newick_string = newick_string.replace(\",,\", \",\")\n",
    "\n",
    "    # Comparison\n",
    "    #print(f\"Original Newick string: {original_newick_string}\")\n",
    "    #print(f\"Final Newick_string: {newick_string}\")\n",
    "  return newick_string\n",
    "\n",
    "\n",
    "def select_one_insertion_pattern_comma_16(newick_string, counter, max_illumination_radius):\n",
    "  \"\"\" All  commas are found and one is chosen at random,\n",
    "  the child will be inserted after the comma\"\"\"\n",
    "  # The pattern of groups on the image of\n",
    "  # Node4[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07]\n",
    "  insertion_pattern = r'[]][,]'\n",
    "  starts = []\n",
    "  groups = []\n",
    "  for match in re.finditer(insertion_pattern, newick_string):\n",
    "      #print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "      starts.append(match.start())\n",
    "      groups.append(match.group())\n",
    "  number_of_patterns = len(starts)\n",
    "  #print(f\"starts: {starts}\")\n",
    "  #print(f\"groups: {groups}\")\n",
    "  start_idx = 0\n",
    "  if groups:\n",
    "    # Select a start index at random\n",
    "    start_idx = random.randint(0, number_of_patterns-1)\n",
    "    group = groups[start_idx]\n",
    "    start = starts[start_idx]\n",
    "    #print(f\"group: {group}\")\n",
    "    #print(f\"start: {start}\")\n",
    "  else:\n",
    "    group = \"\"\n",
    "    start = 0\n",
    "  #print(f\"Group160: {group}\")\n",
    "  # String to be inserted\n",
    "  father_center = find_father_center16(newick_string, start)\n",
    "  #print(f\"Father center: {father_center}\")\n",
    "  occupied_squares_set = find_occupied_squares16(newick_string)\n",
    "  info, occupied_squares_set = node_info_generator16(father_center, counter,  occupied_squares_set, max_illumination_radius)\n",
    "  info = info.replace(\"()\", \"\")\n",
    "  child_string = info\n",
    "\n",
    "  if group:\n",
    "      #print(f\"Group (main): {group}\")\n",
    "      #print(f\"Start (main): {start}\")\n",
    "      # The child string is inserted between ] and ) at place start\n",
    "      #print(f\"Child string: {child_string}\")\n",
    "      #print(f\"Newick string before insertion_point: {newick_string[:start+1]}\")\n",
    "      #print(f\"Newick string after insertion_point: {newick_string[start+2:]}\")\n",
    "      newick_string = newick_string[:start+2] + \"(\" + child_string + \")\" + newick_string[start+2:]\n",
    "      #print(f\"Newick string after insertion****: {newick_string}\")\n",
    "  else:\n",
    "      # a node in the info is given as a child to the root\n",
    "      newick_string = \"(\" + child_string + \")\" + newick_string\n",
    "    # Cosmetics\n",
    "    #newick_string = newick_string.replace(\",,\", \",\")\n",
    "\n",
    "    # Comparison\n",
    "    #print(f\"Original Newick string: {original_newick_string}\")\n",
    "    #print(f\"Final Newick_string: {newick_string}\")\n",
    "  return newick_string\n",
    "\n",
    "def select_one_insertion_pattern_parentheses_16(newick_string, counter, max_illumination_radius):\n",
    "  \"\"\" All insertion patterns ]) are found and one is chosen at random\n",
    "      The new info will be inserted between ] and ) as a brother\"\"\"\n",
    "  # The pattern of groups on the image of\n",
    "  # Node4[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07]\n",
    "  insertion_pattern = r'[]][)]'\n",
    "  starts = []\n",
    "  groups = []\n",
    "  for match in re.finditer(insertion_pattern, newick_string):\n",
    "      #print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "      starts.append(match.start())\n",
    "      groups.append(match.group())\n",
    "  number_of_patterns = len(starts)\n",
    "  #print(f\"starts: {starts}\")\n",
    "  #print(f\"groups: {groups}\")\n",
    "  start_idx = 0\n",
    "  if groups:\n",
    "    # Select a start index at random\n",
    "    start_idx = random.randint(0, number_of_patterns-1)\n",
    "    group = groups[start_idx]\n",
    "    start = starts[start_idx]\n",
    "    #print(f\"group: {group}\")\n",
    "    #print(f\"start: {start}\")\n",
    "  else:\n",
    "    group = \"\"\n",
    "    start = 0\n",
    "  #print(f\"Group160: {group}\")\n",
    "  # String to be inserted\n",
    "  father_center = find_father_center16(newick_string, start)\n",
    "  #print(f\"Father center: {father_center}\")\n",
    "  occupied_squares_set = find_occupied_squares16(newick_string)\n",
    "  info, occupied_squares_set = node_info_generator16(father_center, counter,  occupied_squares_set, max_illumination_radius)\n",
    "  info = info.replace(\"()\", \"\")\n",
    "  child_string = info\n",
    "  if group:\n",
    "      #print(f\"Group (main): {group}\")\n",
    "      #print(f\"Start (main): {start}\")\n",
    "      # The child string is inserted between ] and ) at place start\n",
    "      #print(f\"Child string: {child_string}\")\n",
    "      #print(f\"Newick string before insertion_point: {newick_string[:start+1]}\")\n",
    "      #print(f\"Newick string after insertion_point: {newick_string[start+2:]}\")\n",
    "      newick_string = newick_string[:start+1] + \",\" + child_string + newick_string[start+1:]\n",
    "      #print(f\"Newick string after insertion****: {newick_string}\")\n",
    "  else:\n",
    "      # a node in the info is given as a child to the root\n",
    "      newick_string = \"(\" + child_string + \")\" + newick_string\n",
    "    # Cosmetics\n",
    "    #newick_string = newick_string.replace(\",,\", \",\")\n",
    "\n",
    "    # Comparison\n",
    "    #print(f\"Original Newick string: {original_newick_string}\")\n",
    "    #print(f\"Final Newick_string: {newick_string}\")\n",
    "  return newick_string\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "def insertion_of_leaf16(newick_string, counter, max_illumination_radius):    #original_newick_string = newick_string\n",
    "    \"\"\" All insertion patterns are found and one is chosen at random\n",
    "        for the new info to be inserted \"\"\"\n",
    "    case = random.choice([1, 2, 3])  # Randomly choose between three insertion methods\n",
    "    match case:\n",
    "        case 1:\n",
    "            newick_string = select_one_insertion_pattern_comma_16(newick_string, counter, max_illumination_radius)\n",
    "        case 2:\n",
    "            newick_string = select_one_insertion_pattern_parentheses_16(newick_string, counter, max_illumination_radius)\n",
    "        case 3:\n",
    "            newick_string = select_one_insertion_pattern_left_parenthesis_16(newick_string, counter, max_illumination_radius)\n",
    "    newick_string = newick_string.replace(\",,\", \",\")\n",
    "    newick_string = newick_string.replace(\",)\", \")\")\n",
    "    newick_string = newick_string.replace(\"(,\", \"(\")\n",
    "    newick_string = newick_string.replace(\" \", \"\")\n",
    "    newick_string = newick_string.replace(\"()\", \"\")\n",
    "    return newick_string\n",
    "\n",
    "\n",
    "\n",
    "def deletion_of_leaf16(newick_string):\n",
    "    \"\"\"A leaf is deleted at random from the Newick string.\n",
    "        If there are no leaves, the original string is returned.\"\"\"\n",
    "    # All leaves are detected\n",
    "    leaves = find_leaves(newick_string)\n",
    "    if not leaves:\n",
    "        return newick_string  # No leaves to delete\n",
    "    # Select a leaf at random\n",
    "    leaf_to_delete = random.choice(leaves)\n",
    "    # Remove the selected leaf from the Newick string\n",
    "    newick_string = newick_string.replace(leaf_to_delete, \"\")\n",
    "    # Clean up any potential formatting issues (like double commas)\n",
    "    newick_string = newick_string.replace(\",,\", \",\")\n",
    "    newick_string = newick_string.replace(\",)\", \")\")\n",
    "    newick_string = newick_string.replace(\"(,\", \"(\")\n",
    "    return newick_string\n",
    "\n",
    "def find_branch16(newick_string, final_index):\n",
    "  initial_segment = newick_string[:final_index]\n",
    "  #print(f\"initial_segment: {initial_segment}\")\n",
    "  # Balance accounting\n",
    "  counter_of_pars = 0\n",
    "  branch = \"\"\n",
    "  for i in range(len(initial_segment)-1,-1,-1):\n",
    "    if initial_segment[i] == \"(\":\n",
    "      counter_of_pars = counter_of_pars + 1\n",
    "    if initial_segment[i] == \")\":\n",
    "      counter_of_pars = counter_of_pars - 1\n",
    "    if counter_of_pars == 0:\n",
    "      branch = initial_segment[i:final_index+1]\n",
    "      #print(f\"Branch to be deleted: {branch}\")\n",
    "      break\n",
    "  return branch\n",
    "\n",
    "\n",
    "def newick_find_all_groups16(newick_string):\n",
    "  \"\"\" All groups are found and one is chosen at random and returned\"\"\"\n",
    "  # The pattern of groups on the image of\n",
    "  # Node4[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07]\n",
    "  info_words =  r'[a-zA-Z_0-9_]*\\[a=-?[0-9]+(?:\\.[0-9]+)?,b=-?[0-9]+(?:\\.[0-9]+)?,x=-?[0-9]+(?:\\.[0-9]+)?,y=-?[0-9]+(?:\\.[0-9]+)?,r=-?[0-9]+(?:\\.[0-9]+)?\\]'\n",
    "  starts = []\n",
    "  groups = []\n",
    "  for match in re.finditer(info_words, newick_string):\n",
    "      #print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "      starts.append(match.start())\n",
    "      groups.append(match.group())\n",
    "  number_of_infos = len(starts)\n",
    "  if number_of_infos == 0: # The root is alone\n",
    "    return newick_string, 0\n",
    "  #print(f\"number_of_infos = {number_of_infos}\")\n",
    "  #print(f\"starts: {starts}\")\n",
    "  #print(f\"groups: {groups}\")\n",
    "  # Select a start index at random\n",
    "  start_idx = random.randint(0, number_of_infos-1)\n",
    "  #print(f\"selected start_idx: {start_idx}\")\n",
    "  return groups[start_idx], starts[start_idx]\n",
    "\n",
    "\n",
    "def deletion_of_branch16(newick_string ):\n",
    "  group, start =  newick_find_all_groups16(newick_string)\n",
    "  #print(f\"Group (main): {group}\")\n",
    "  #print(f\"Start (main): {start}\")\n",
    "  # Does the group have children?\n",
    "  char_before = newick_string[start-1]\n",
    "  #print(f\"char_before: {char_before}\")\n",
    "  if char_before ==  \")\":\n",
    "    #print(\"The group has children\")\n",
    "    #find branch\n",
    "    final_index = start-1\n",
    "    branch = find_branch16(newick_string, final_index+1)\n",
    "\n",
    "    branch_and_father = branch + group\n",
    "    #print(f\"  Branch and father to be deleted: {branch_and_father}\")\n",
    "    #delete group\n",
    "    newick_string = newick_string.replace(branch_and_father , \"\")\n",
    "  else:\n",
    "    #print(\"The group has no children\")\n",
    "    #delete group\n",
    "    newick_string = newick_string.replace(group, \"\")\n",
    "\n",
    "  # Cosmetics\n",
    "  newick_string = newick_string.replace(\",,\", \",\")\n",
    "  newick_string = newick_string.replace(\",)\", \")\")\n",
    "  newick_string = newick_string.replace(\"(,\", \"(\")\n",
    "  newick_string = newick_string.replace(\" \", \"\")\n",
    "  # Comparison\n",
    "  #print(f\"Original Newick string: {newick_string}\")\n",
    "  l = len(newick_string)\n",
    "  #print(f\"Length of newick_string: {l}\")\n",
    "  if l == 0 :\n",
    "     newick_string = \"Node_0[a=0,b=0,x=0,y=0,r=1]\"\n",
    "  #print(f\"Final Newick_string: {newick_string}\")\n",
    "  return newick_string\n",
    "\n",
    "\n",
    "def newick_mutation_branches16(newick_string):\n",
    "  # Mutation of radius of illumination and of complete branches\n",
    "  if random.random() <  ga_params['mutation_rate']:\n",
    "    newick_string = newick_mutation_of_radius16(newick_string)\n",
    "    newick_string = insertion_of_branch16(newick_string)\n",
    "    newick_string = deletion_of_branch16(newick_string)\n",
    "  return newick_string\n",
    "\n",
    "def newick_mutation_leaves16(newick_string, ga_params):\n",
    "  \"\"\"Radius is mutated, and only leaves can be inserted or deleted\"\"\"\n",
    "  if random.random() <  ga_params['mutation_rate']:\n",
    "    # Mutation of radius of illumination and of complete leaves\n",
    "    newick_string = newick_mutation_of_radius16(newick_string)\n",
    "    newick_string = insertion_of_leaf16(newick_string, counter=random.randint(0, 1000), max_illumination_radius=ga_params['max_node_radius'])\n",
    "    newick_string = deletion_of_leaf16(newick_string)\n",
    "  return newick_string\n",
    "\n",
    "\n",
    "def plot_illuminated_area16(ax, illuminated_coords, title, color='blue', alpha=0.5):\n",
    "    ax.set_aspect('equal', adjustable='box')\n",
    "    if not illuminated_coords:\n",
    "        ax.set_title(title)\n",
    "        ax.grid(True)\n",
    "        return\n",
    "\n",
    "    for x, y in illuminated_coords:\n",
    "        rect = patches.Rectangle((x, y), 1, 1, facecolor=color, alpha=alpha, edgecolor='black', linewidth=0.5)\n",
    "        ax.add_patch(rect)\n",
    "\n",
    "    min_x = min(c[0] for c in illuminated_coords) - 1\n",
    "    max_x = max(c[0] for c in illuminated_coords) + 2\n",
    "    min_y = min(c[1] for c in illuminated_coords) - 1\n",
    "    max_y = max(c[1] for c in illuminated_coords) + 2\n",
    "\n",
    "    ax.set_xlim(min_x, max_x)\n",
    "    ax.set_ylim(min_y, max_y)\n",
    "    ax.set_xticks(range(int(min_x), int(max_x)))\n",
    "    ax.set_yticks(range(int(min_y), int(max_y)))\n",
    "    ax.grid(True)\n",
    "    ax.set_title(title)\n",
    "\n",
    "# --- MAIN EvoluciónARY SIMULATION LOOP ---\n",
    "\n",
    "# ======================\n",
    "\n",
    "def run_Evolución_newick_morpho_trees16(target_tree_params, ga_params):\n",
    "    # A previous code by Gemini was reused.\n",
    "\n",
    "    # 1. Generate Target Tree and its Illuminated Area\n",
    "    #print(\"\\n--- Generating Target Tree ---\")\n",
    "    #random.seed(ga_params['seed'] + 1) # Use a different seed for target generation\n",
    "    target_tree, target_illuminated_area =  generate_and_test_target_trimmed__morpho_tree16(target_tree_params)#926\n",
    "    print(f\"target_tree: {target_tree} \\n\\n\")\n",
    "    number_of_groups = count_groups16(target_tree)\n",
    "    print(f\"Number of groups or nodes in target tree: {number_of_groups}\")\n",
    "    length_of_target_tree = len(target_tree)\n",
    "    #draw_newick_string16(target_tree, \"Target Tree\")\n",
    "    #target_area = get_illuminated_coordinates16(target_tree)\n",
    "    #print(f\"Target illuminated area: {target_illuminated_area}\")\n",
    "\n",
    "    # 2. Initialize Population\n",
    "    #random.seed(ga_params['seed']) # Reset seed for GA population generation\n",
    "    #print(f\"\\n--- Initializing Population of {ga_params['pop_size']} Trees ---\")\n",
    "    population = create_initial_population_newick16(\n",
    "        pop_size=ga_params['pop_size'], max_depth=ga_params['max_depth'], max_children=ga_params['max_number_children'],\n",
    "        max_node_radius=ga_params['max_node_radius']  )\n",
    "    #print(f\"Population initialized with {len(population)} individuals.\")\n",
    "    #print(f\"Population: {population}\")\n",
    "\n",
    "\n",
    "\n",
    "    best_tree_overall = None\n",
    "    best_fitness_overall = -1.0\n",
    "    history = []\n",
    "\n",
    "    # 3. Evoluciónary Loop\n",
    "    #print(f\"\\n--- Starting Evoluciónary Loop for {ga_params['generations']} Generations ---\")\n",
    "    generation = 0\n",
    "    for generation in range(ga_params['generations']):\n",
    "        if generation % 10 == 0:\n",
    "            print(f\"\\n--- Generation {generation+1}/{ga_params['generations']}, Best fitness {round(best_fitness_overall, 5)} ---\")\n",
    "        fitness_scores = [calculate_fitness_illumination16(tree, target_illuminated_area)for tree in population]\n",
    "\n",
    "        current_best_fitness = max(fitness_scores)\n",
    "        current_best_tree = population[np.argmax(fitness_scores)]\n",
    "\n",
    "        if current_best_fitness > best_fitness_overall:\n",
    "            best_fitness_overall = current_best_fitness\n",
    "            best_tree_overall = copy.deepcopy(current_best_tree) # Deepcopy to save the best tree\n",
    "\n",
    "        history.append(current_best_fitness)\n",
    "\n",
    "        #print(f\"Generation {generation+1}/{ga_params['generations']}: Best Fitness = {current_best_fitness:.4f} (Overall Best: {best_fitness_overall:.4f})\")\n",
    "\n",
    "        if best_fitness_overall >= 0.999: # Almost perfect match\n",
    "            #print(\"Target illumination achieved (or very close)! Stopping Evolución.\")\n",
    "            return target_tree, target_illuminated_area, best_tree_overall, best_fitness_overall, history, generation\n",
    "\n",
    "        # Selection\n",
    "        parents = select_parents_newick(population, fitness_scores, ga_params['pop_size'] // 2)\n",
    "\n",
    "        # Create next generation\n",
    "        next_population = []\n",
    "        # Elitism: Keep the best individual from the current generation\n",
    "        if best_tree_overall and current_best_fitness == best_fitness_overall: # Only if it's the current best in this generation\n",
    "            next_population.append(copy.deepcopy(current_best_tree))\n",
    "\n",
    "        while len(next_population) < ga_params['pop_size']:\n",
    "            if len(parents) < 2: # Not enough parents for crossover, fill with new random trees\n",
    "                new_tree =  complete_tree_generator16(target_tree_params['max_depth'], target_tree_params['max_number_children'], target_tree_params['max_node_radius'] )\n",
    "                if new_tree:\n",
    "                    next_population.append(new_tree)\n",
    "                continue\n",
    "\n",
    "            # Randomly pick two parents (can be the same parent multiple times with replacement for simplicity)\n",
    "            p1 = random.choice(parents)\n",
    "            p2 = random.choice(parents)\n",
    "            child1, child2 = p1,p2 # No crossover, just pass parents to children for mutation\n",
    "            if recombination_of_leaves:\n",
    "                # Crossover newick_position_branch_recombination12\n",
    "                # child1, child2 = newick_position_branch_recombination12(p1, p2)\n",
    "                # Crossover newick_leaves_recombination12\n",
    "                child1, child2 =newick_leaves_recombination16(p1,p2)\n",
    "            # Mutation: Apply mutation to both children\n",
    "            mutated_child1 = newick_mutation_leaves16(child1, ga_params)\n",
    "            mutated_child2 = newick_mutation_leaves16(child2, ga_params)\n",
    "\n",
    "\n",
    "            next_population.append(mutated_child1)\n",
    "            if len(next_population) < ga_params['pop_size']:\n",
    "                next_population.append(mutated_child2)\n",
    "\n",
    "        population = next_population[:ga_params['pop_size']]\n",
    "        # print(f\"Population size for next generation: {len(population)}\")\n",
    "        # print(f\"Best fitness this generation: {current_best_fitness:.4f}, Overall best fitness: {best_fitness_overall:.4f}\")\n",
    "        # print(f\"Best tree this generation: {current_best_tree}\")\n",
    "        # If you want to see the entire population, uncomment the following line:\n",
    "        # print(f\"Population: {population}\")\n",
    "        # Cutt-off for the length of the Newick string to avoid excessive growth\n",
    "        population = [tree for tree in population if len(tree) <= 2 * length_of_target_tree]  # Allow some growth but limit it\n",
    "        #print(f\"Population size after length cut-off: {len(population)}\")\n",
    "        # If the population is too small, refill\n",
    "        while len(population) < ga_params['pop_size']:\n",
    "            new_tree = complete_tree_generator16(target_tree_params['max_depth'], target_tree_params['max_number_children'], target_tree_params['max_node_radius'])\n",
    "            if new_tree:\n",
    "                population.append(new_tree)\n",
    "    generation += 1  # Increment generation count after the loop\n",
    "    #print(\"\\n--- Evolución Finished ---\")\n",
    "    #print(f\"Final Best Fitness: {best_fitness_overall:.4f}\")\n",
    "\n",
    "    return target_tree, target_illuminated_area, best_tree_overall, best_fitness_overall, history, generation\n",
    "\n",
    "\n",
    "\n",
    "# Generate the  Newick string of a morpho-tree and draw it\n",
    "if __name__ == \"__main__\":\n",
    "    print_parameters16(target_tree_params, ga_params)\n",
    "    # Run the Evolución loop\n",
    "    target_tree, target_illuminated_area, evolved_best_tree, evolved_best_fitness, history, generation = run_Evolución_newick_morpho_trees16(target_tree_params, ga_params)\n",
    "    number_of_groups = count_groups16(target_tree)\n",
    "    print(f\"Number of groups or nodes in target tree: {number_of_groups}\")\n",
    "    title = \"Target Tree. Number of groups or nodes: \" + str(number_of_groups)\n",
    "    draw_tree_newick16(target_tree, title)\n",
    "    title = \"Evolved Best Tree\"\n",
    "    draw_tree_newick16(evolved_best_tree, title)\n",
    "\n",
    "    # Plot Symmetric Difference Area\n",
    "    evolved_best_area = get_illuminated_coordinates16(evolved_best_tree)\n",
    "    symmetric_diff_area = target_illuminated_area.symmetric_difference(evolved_best_area )\n",
    "    ##print(f\"Symmetric Difference Area: {symmetric_diff_area}\")\n",
    "    ##print(f\"Number of cells in symmetric difference area: {len(symmetric_diff_area)}\")\n",
    "\n",
    "\n",
    "    fig, axes = plt.subplots(1, 3, figsize=(15, 5))\n",
    "\n",
    "\n",
    "    plot_illuminated_area16(axes[0], target_illuminated_area, title=f\"Target Area (number of cells: {len(target_illuminated_area)})\")\n",
    "    plot_illuminated_area16(axes[1], evolved_best_area, title=f\"Evolved Best Area (number of cells: {len(evolved_best_area)})\")\n",
    "    plot_illuminated_area16(axes[2], symmetric_diff_area, title=f\"Symmetric Difference (Error Area: {len(symmetric_diff_area)})\")\n",
    "\n",
    "    plt.tight_layout()\n",
    "    plt.show()\n",
    "\n",
    "\n",
    "    # Plot Fitness History\n",
    "    plt.figure(figsize=(10, 6))\n",
    "    plt.plot(history, marker='o', linestyle='-', color='blue')\n",
    "    plt.title('Best Fitness Progression Over Generations')\n",
    "    plt.xlabel('Generation')\n",
    "    plt.ylabel('Fitness')\n",
    "    plt.grid(True)\n",
    "    plt.show()\n",
    "\n",
    "\n",
    "    print(f\"Evolved best tree: {evolved_best_tree}\")\n",
    "    print(f\"Evolved best fitness: {evolved_best_fitness:.2}\")\n",
    "    print(f\"Generation: {generation}\")\n",
    "    print(f\"Number of nodes in target tree: {number_of_groups}\")\n",
    "    #test_validator16()\n",
    "    end_time = time.time()\n",
    "    Execution_time = end_time - start_time\n",
    "    # print(f\"Execution time: {Execution_time:.2f} seconds\")\n",
    "    # Execution time in hours, minutes and seconds:\n",
    "    hours = int(Execution_time // 3600)\n",
    "    minutes = int((Execution_time % 3600) // 60)\n",
    "    seconds = int(Execution_time % 60)\n",
    "    print(f\"Execution time: {hours} hours, {minutes} minutes, {seconds} seconds\")\n",
    "    if memory_monitoring:\n",
    "        # displaying the allocated memory\n",
    "        print(tracemalloc.get_traced_memory())\n",
    "        # stopping the memory allocation library\n",
    "        tracemalloc.stop()"
   ],
   "outputs": [],
   "execution_count": null
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": [
    "**Observación.* Los árboles podados no parecen más difíciles de evolucionar que los normales.\n",
    "\n",
    "**Ejercicio.** Haz una comparación del comportamiento de la Evolución para diversos valores de tamaño poblacional. Esto mide el comportamiento de la Evolución cuando los recursos disminuyen.\n",
    ">\n",
    "> *Respuesta.* El siguiente programa ejecuta Evolución para diversos valores de tamaño de población.\n"
   ]
  },
  {
   "metadata": {
    "ExecuteTime": {
     "end_time": "2026-10-06T17:44:45.244380Z",
     "start_time": "2026-10-06T13:03:05.933823Z"
    }
   },
   "cell_type": "code",
   "source": [
    "# Program Evolución_of_newick_morphological_trimmed_trees17.py\n",
    "# Morphological trees considered here are like lighting trees:\n",
    "# an electrical thread in the form of tree covers an area\n",
    "# and there is lamp at each node.\n",
    "# Each lamp has a given power and a circle of illumination,\n",
    "# whose radius is determined by a threshold intensity.\n",
    "# In morphology, this corresponds with a threshold concentration of a messenger.\n",
    "# Evolución is given the task of illuminating\n",
    "# the area determined by a random target tree.\n",
    "# Trees are encoded in Newick Notation and\n",
    "# everything is done over the correspond strings\n",
    "# without resorting to the Node class.\n",
    "# Thus, it is possible to use the Newick strings as a genotype and\n",
    "# the corresponding trees as a phenotype.\n",
    "#\n",
    "# In this version:\n",
    "#   1. Mutation has been inbuilt with the power\n",
    "#       to have children in the immediate neighborhood of the father and\n",
    "#       to change radius and the topology of trees\n",
    "#       by means of insertion and deletion of leaves.\n",
    "#    2. Recombination has been enabled with the power\n",
    "#       to exchange leaves between trees.\n",
    "#       We expect a good proportion of the population to\n",
    "#       be able to successfully recombine, mutate and reproduce.\n",
    "#    3. A cut-off for the length of the Newick string has been introduced\n",
    "#       to avoid overgrowth of trees.\n",
    "#    4. The seed for the random number generator has been canceled\n",
    "#        to allow different histories for different runs.\n",
    "#\n",
    "# A bug was corrected in the function that inserts a node.\n",
    "# The criterion for insertion was changed from \"a leaf is just after a left parenthesis\"\n",
    "# to \"a leaf begins with `N` that is preceded by a left parenthesis\".\n",
    "#\n",
    "# Purpose:\n",
    "# To study the effect of the decreasing of resources over Evolución of morpho-trees.\n",
    "# To that aim, we depict various fitness functions for diverse\n",
    "# values of population sizes.\n",
    "# Target trees are gven a rich structure by deleting some arms.\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "# We reuse pieces of code made with the help of Colab and Gemini 2.5 Flash.\n",
    "# With the  assistance of the AI of Visual Studio Code.\n",
    "\n",
    "import random\n",
    "import matplotlib.pyplot as plt\n",
    "import matplotlib.patches as patches\n",
    "import numpy as np\n",
    "import math\n",
    "import copy # For deep copying trees during reproduction and mutatio\n",
    "import re # Required for newick parsing\n",
    "#import itertools # Required for sequential replacement\n",
    "import sys # Import sys module to adjust recursion limit\n",
    "sys.setrecursionlimit(3000)\n",
    "import time\n",
    "# from datetime import datetime, timedelta\n",
    "\n",
    "# trace memory allocation\n",
    "#https://www.geeksforgeeks.org/python/monitoring-memory-usage-of-a-running-python-program/\n",
    "# this consumes too much cpu-time by a multiplicative factor, say 5 for 1000 lines.\n",
    "import tracemalloc\n",
    "\n",
    "\n",
    "#Activate  memory monitoring?\n",
    "memory_monitoring = False\n",
    "recombination_of_leaves = False\n",
    "\n",
    "# starting the memory allocation monitoring\n",
    "if memory_monitoring:\n",
    "    tracemalloc.start()\n",
    "start_time = time.time()\n",
    "\n",
    "# Parameters for the target tree generation\n",
    "target_tree_params = {\n",
    "  'max_depth': 15,\n",
    "  'max_number_children': 2,\n",
    "  'max_node_radius': 1.5,\n",
    "  'number_of_branch_deletions':  10\n",
    "}\n",
    "\n",
    "# Parameters for the Genetic Algorithm\n",
    "ga_params = {\n",
    "   #'seed': 47423648, #the seed of the target tree is this plus 1.\n",
    "  'pop_size': 70,\n",
    "  'generations': -1, # fake initialization\n",
    "  'max_depth': target_tree_params['max_depth'],\n",
    "  'max_number_children': target_tree_params['max_number_children'],\n",
    "  'max_node_radius': 1.5,\n",
    "  'mutation_rate': 0.001,\n",
    "  'crossover_rate': 0.001\n",
    "}\n",
    "\n",
    "\n",
    "def print_parameters17(target_tree_params, ga_params):\n",
    "    print(\"LAB: Evolución OF NEWICK MORPHO-TREES\")\n",
    "    print(\"PURPOSE: \"\n",
    "          + \"\\n A random morpho-tree T is generated.\"\n",
    "          + \"\\n Evolución tries to restore the tree T\"\n",
    "          + \"\\n beginning from a population of random trees.\")\n",
    "    print(f\"EXPERIMENT {start_time}\")\n",
    "    print(f\"RECOMBINATION OF LEAVES: {recombination_of_leaves}\")\n",
    "    #print(f\"SEED FOR THE GENETIC ALGORITHM: {ga_params['seed']}\")\n",
    "    print(f\"INITIAL TARGET TREE PARAMETERS: {target_tree_params}\")\n",
    "    print(f\"INITIAL GENETIC ALGORITHM PARAMETERS: {ga_params}\\n\")\n",
    "\n",
    "\n",
    "# GENERATION OF A MORPHO-TREE\n",
    "\n",
    "# Program morpho_tree_drawer.py\n",
    "\n",
    "# The following program generates a Newick strings\n",
    "# that encodes for a morpho-tree  and draws it.\n",
    "# Children are located in the immediate neighborhood of the father.\n",
    "# If postions are occupied, no children.\n",
    "# Then, children are generated only when there is place for them.\n",
    "\n",
    "# ====   Grammar_generator =======\n",
    "\n",
    "# This program uses a hidden grammar to generate Newick expressions that encode for morphological trees.\n",
    "# The information of each node is generated on the image of\n",
    "#   Node25[a=18,b=18,x=19,y=0,r=17.3]\n",
    "# The rules of the grammar are:\n",
    "# 1. Initial string or seed: `s = ()n`\n",
    "# 2. Generate a random digit: x\n",
    "# 3. Replace in `s`, `()` by x copies of `(()n ` separated by a comma.\n",
    "# 4. Iterate.\n",
    "# 5. Replace each `n`by the info of a node whose values are generated at random but the index of the tag is a counter with the iterative process.\n",
    "# 6. Delete the tag \"()\" that appears in the last appended children.\n",
    "# An ordered set of rules like this is a Generative Grammar.\n",
    "# The grammmar is hidden because no n is generated,\n",
    "# because beforehand it is replaced by the info of a node.\n",
    "# With the assistance of Colab and reusing a previous code by Gemini.\n",
    "\n",
    "\n",
    "\n",
    "def replace_str_subsequence17(original_str, start_idx, end_idx, new_subsequence):\n",
    "    \"\"\" Replace a subsequence from start_idx to end_idx with another string.\n",
    "        By Google\"\"\"\n",
    "    # Concatenate the pieces together\n",
    "    return original_str[:start_idx] + new_subsequence + original_str[end_idx:]\n",
    "\n",
    "def replace_strig_of_length17(original_str, replacement, position, length_to_replace):\n",
    "    \"\"\"\n",
    "    Replaces a subsequence of given length.\n",
    "    :param original_str: The main text string\n",
    "    :param replacement: The new text you want to insert\n",
    "    :param position: The starting index of the old subsequence\n",
    "    :param length_to_replace: The length of the old subsequence being removed\n",
    "    \"\"\"\n",
    "    before = original_str[:position]\n",
    "    after = original_str[position + length_to_replace:]\n",
    "    return before + replacement + after\n",
    "\n",
    "\n",
    "def detect_all_groups17(newick_string):\n",
    "    \"\"\"Al substrings that encodes for the info of a node, step from father, center and radius are detected.\"\"\"\n",
    "\n",
    "    #print(\"detect_all_groups17(newick_string)\")\n",
    "    #print(f\"Newick String: {newick_string}\")\n",
    "    # Detect a pattern on the model  info = NodeB_3_x_2[a=0,b=1,x=2,y=2,r=3]\n",
    "    #info_words = r'[\\a-zA-Z_0-9_[_=_,\\] ]+'\n",
    "    #info_words = r'[a-zA-Z_][a-zA-Z_0-9_]*\\[x=-?[0-9]+(?:\\.[0-9]+)?,y=-?[0-9]+(?:\\.[0-9]+)?,r=-?[0-9]+(?:\\.[0-9]+)?\\]$'\n",
    "                                                    #info_words = r'[a-zA-Z_0-9_]*\\[x=-?[0-9]+(?:\\.[0-9]+)?,y=-?[0-9]+(?:\\.[0-9]+)?,r=-?[0-9]+(?:\\.[0-9]+)?\\]'\n",
    "    info_words =  r'[a-zA-Z_0-9_]*\\[a=-?[0-9]+(?:\\.[0-9]+)?,b=-?[0-9]+(?:\\.[0-9]+)?,x=-?[0-9]+(?:\\.[0-9]+)?,y=-?[0-9]+(?:\\.[0-9]+)?,r=-?[0-9]+(?:\\.[0-9]+)?\\]'\n",
    "    starts = []\n",
    "    groups = []\n",
    "    for match in re.finditer(info_words, newick_string):\n",
    "        #print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "        #print(f\"    starts at index: {match.start()}\")\n",
    "        starts.append(match.start())\n",
    "        groups.append(match.group())\n",
    "    #number_of_groups = len(starts)\n",
    "    #print(f\"number_of_groups = {number_of_groups}\")\n",
    "    #print(f\"starts of gropus: {starts}\")\n",
    "    #print(f\"groups: {groups}\")\n",
    "\n",
    "\n",
    "    \"\"\"\n",
    "    # All infos are replaced by the dumb variable n\n",
    "    for j in range(number_of_infos - 1, -1, -1):\n",
    "        print(f\"start_of_info[{j}]:  {starts[j]},  len(groups[{j}]): {len(groups[j])}\")\n",
    "        new_s = replace_at_position2(new_s, \"n\", starts[j], len(groups[j]))\n",
    "        print(f\"new string = '{new_s}'\")\n",
    "        \"\"\"\n",
    "    return groups\n",
    "\n",
    "def count_groups17(newick_string):\n",
    "    \"\"\"The number of groups is counted.\"\"\"\n",
    "    groups = detect_all_groups17(newick_string)\n",
    "    number_of_groups = len(groups)\n",
    "    return number_of_groups\n",
    "\n",
    "def extract_info17(group):\n",
    "  \"\"\"The info of each group is extracted by tokenizers from the string.\"\"\"\n",
    "  patern_a = r'a=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  patern_b = r'b=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  patern_x = r'x=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  patern_y = r'y=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  patern_r = r'r=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  a = re.findall(patern_a, group)\n",
    "  b = re.findall(patern_b, group)\n",
    "  x = re.findall(patern_x, group)\n",
    "  y = re.findall(patern_y, group)\n",
    "  r = re.findall(patern_r, group)\n",
    "  a = float(a[0][2:])\n",
    "  b = float(b[0][2:])\n",
    "  x = float(x[0][2:])\n",
    "  y = float(y[0][2:])\n",
    "  r = float(r[0][2:])\n",
    "  return [a,b,x,y,r]\n",
    "\n",
    "\n",
    "def extract_all_infos17(newick_string):\n",
    "    #print(\"extract_all_infos\n",
    "    # Groups are detected. A group is the encoding of the parameters of a node in an info.\n",
    "    groups = detect_all_groups17(newick_string)\n",
    "    #print(f\"Groups: {groups}\")\n",
    "    number_of_groups = len(groups)\n",
    "    #print(f\"number_of_groups = {number_of_groups}\")\n",
    "\n",
    "    # Info is extracted from each group and\n",
    "    # all infos are kept in corresponding arrays.\n",
    "    a = []\n",
    "    b = []\n",
    "    x = []\n",
    "    y = []\n",
    "    r = []\n",
    "    #print(\"\\nInfo is extracted form each group\")\n",
    "    for i in range(number_of_groups):\n",
    "      #print(f\"group[{i}]: {groups[i]}\")\n",
    "      #print(f\"len(group[{i}]): {len(groups[i])}\")\n",
    "      [ai,bi,xi,yi,ri] = extract_info17(groups[i])\n",
    "      #print(f\"a: {ai}, b: {bi}, x: {xi}, y: {yi}, r: {ri}\")\n",
    "      a.append(ai)\n",
    "      b.append(bi)\n",
    "      x.append(xi)\n",
    "      y.append(yi)\n",
    "      r.append(ri)\n",
    "    return a,b,x,y,r\n",
    "\n",
    "\n",
    "def get_neighboring_coordinates17(cell):\n",
    "  \"\"\"Immediate neighboring coordinates of a cell are generated\"\"\"\n",
    "  neighbors = []\n",
    "  for dx in [-1, 0, 1]:\n",
    "      for dy in [-1, 0, 1]:\n",
    "          if dx == 0 and dy == 0:\n",
    "              continue  # Exclude the current square itself\n",
    "          neighbors.append((cell[0] + dx, cell[1] + dy))\n",
    "  return neighbors\n",
    "\n",
    "\n",
    "\n",
    "def find_father_center17(newick_string, j):\n",
    "  \"\"\" Finds the address of the father of a node at j\"\"\"\n",
    "  #print(\"find_father_center17(s, j)\")\n",
    "  #print(f\"s: {newick_string}\")\n",
    "  #print(f\"j: {j}\")\n",
    "\n",
    "  #Right tail is recruited\n",
    "  tail = newick_string[j+1:]\n",
    "  father_group = detect_all_groups17(tail)\n",
    "  if father_group:\n",
    "    #print(f\"Father_group 1: {father_group}\")\n",
    "    [af,bf,xf,yf,rf] = extract_info17(father_group[0])\n",
    "    #print(f\"Info: a: {af}, b: {bf}, x: {xf}, y: {yf}, r: {rf}\")\n",
    "    father_center = [xf,yf]\n",
    "    return father_center\n",
    "  else:\n",
    "   return \"\"\n",
    "\n",
    "\n",
    "\n",
    "def node_info_generator17(father_center, counter,  occupied_squares_set, max_node_radius):\n",
    "  \"\"\"For each node, info is generated on the model\n",
    "     Node_26[a=1,b=-1,x=3,y=5,r=0.85]\n",
    "     by replacing n by the info of a node whose values are generated at random\n",
    "     but the index of the tag is a counter with the iterative process.\n",
    "      \"\"\"\n",
    "  #print(\"node_info_generator17(father_center, counter,  occupied_squares_set)\")\n",
    "  coordinates_neighbors = get_neighboring_coordinates17(father_center)\n",
    "  #print(f\"coordinates_neighbors: {coordinates_neighbors}\")\n",
    "  #print(f\"occupied_squares_set: {occupied_squares_set}\")\n",
    "  # First, filter for unoccupied grid squares within this tree\n",
    "  available_square_neighbors = [coord for coord in coordinates_neighbors if coord not in occupied_squares_set]\n",
    "  info = \"\" # future info of a node that represents a cell\n",
    "  if available_square_neighbors:\n",
    "    # Choose a random valid candidate\n",
    "    nx,  ny  = random.choice(available_square_neighbors)\n",
    "    na = nx - father_center[0]\n",
    "    nb = ny - father_center[1]\n",
    "    nr = random.uniform(0.5, max_node_radius)\n",
    "    nr = round(nr, 2)\n",
    "    info = \"Node\" +  str(counter)  + \"[\" + \"a=\" + str(na) + \",\" + \"b=\" + str(nb) + \",\"  +   \"x=\" + str(nx) + \",\" + \"y=\" + str(ny) + \",\" + \"r=\" + str(nr)+ \"]\"\n",
    "    info = \"()\"+ info\n",
    "    #print(f\"Generated Node info: {info}\")\n",
    "    occupied_squares_set.add((nx, ny))\n",
    "\n",
    "  else:\n",
    "    #All neighboring places are occupied\n",
    "    #print(\"All neighboring places are occupied\")\n",
    "    info = \"\"\n",
    "  return info, occupied_squares_set\n",
    "\n",
    "\n",
    "def generate_children17(father_center, numb_children, counter, occupied_squares_set, max_node_radius):\n",
    "  \"\"\" Generate children in the pattern of a Newick Tree.\n",
    "      Output in the form\n",
    "      n,n,n,n \"\"\"\n",
    "  #print(\"generate_children(max_numb_children)\")\n",
    "  #print(f\"Number of children: {numb_children}\")\n",
    "  s = \"\"\n",
    "  for i in range(numb_children):\n",
    "    if i == 0:\n",
    "      a = \"\"\n",
    "    else:\n",
    "      a = \",\"\n",
    "    info, occupied_squares_set = node_info_generator17(father_center, counter, occupied_squares_set, max_node_radius)\n",
    "    if not info:\n",
    "      continue\n",
    "    else:\n",
    "     s = info + a + s\n",
    "     counter = counter + 1\n",
    "  s =  \"(\" + s + \")\"\n",
    "  #print(f\"Children: {s}\")\n",
    "  return s, counter, occupied_squares_set\n",
    "\n",
    "\n",
    "def complete_tree_generator17(max_depth, max_numb_children, max_node_radius):\n",
    "  \"\"\" A tree is generated step by step\n",
    "   taking care of generating no child where there is no place for it.\"\"\"\n",
    "  #print(\"complete_tree_generator17(...)\")\n",
    "  occupied_squares_set = set() # Initialize a new set for this tree's square coordinates\n",
    "  actual_depth = max_depth + random.randint(-5,5) # Number of allowed divisions along each branch.\n",
    "  #print(f\"Actual depth: {actual_depth}\")\n",
    "  # () is used as a marker for insertion.\n",
    "  tree = \"()Node_0[a=0,b=0,x=0,y=0,r=1]\"\n",
    "  occupied_squares_set.add((0,0))\n",
    "  #counter of defined nodes\n",
    "  counter = 1\n",
    "  for i in range(actual_depth):\n",
    "      #print(f\"depth: {i}\")\n",
    "      l = len(tree)\n",
    "      #print(f\"i : {i} l: {l}\")\n",
    "      # String s is scanned starting from the end\n",
    "      for j in range(l-1, 0, -1):\n",
    "        #print(f\"s: {s}\")\n",
    "        #print(f\"s[j-1] s[j]  :  {s[j-1]}{s[j]}\")\n",
    "        # Replace () by a list of children\n",
    "        if tree[j-1] == \"(\" and tree[j] == \")\":\n",
    "          father_center = find_father_center17(tree, j)\n",
    "          #print(f\"Father center: {father_center}\")\n",
    "          if not father_center:\n",
    "            continue\n",
    "          numb_children = random.randint(0, max_numb_children)\n",
    "          if numb_children == 0:\n",
    "            continue\n",
    "          else:\n",
    "            # Replacement\n",
    "            generated_children, counter, occupied_squares_set = generate_children17(father_center, numb_children, counter, occupied_squares_set, max_node_radius)\n",
    "            tree = replace_str_subsequence17(tree, j-1, j+1, generated_children)\n",
    "          #print(f\"{i} {j} Tree: {tree}\")\n",
    "  #print(f\"crude tree: {tree}\")\n",
    "  tree = tree.replace(\"()\", \"\")\n",
    "  #print(f\"final tree: {tree}\")\n",
    "  return tree\n",
    "\n",
    "# === VALIDATOR ====\n",
    "\n",
    "\n",
    "# Program validator_for_newick_morpho_trees.py\n",
    "# The task is to decide whether a Newick string encodes for a morpho tree.\n",
    "# To solve the task,\n",
    "# we simply go backwards over the procedure of creation of Newick strings.\n",
    "# The program has two sections.\n",
    "# In the first,\n",
    "# the string in divided in tokens, substrings of predefined content,\n",
    "# and all groups that fit into the pattern\n",
    "# info = NodeB_3_x_2[a=2,b=2,r=3] are detected.\n",
    "# Each found group undergoes a detailed test for correctness.\n",
    "# If some group is wrong, the whole string is rejected.\n",
    "# If all are correct, the test continues further on.\n",
    "# In the second section,\n",
    "# each info is replaced by \"n\",\n",
    "# then, each \"n\" is replaced by\"\"\n",
    "# then each \"()\" is replaced by \"\".\n",
    "# If a formula is correct,\n",
    "# the final product of this algorithm is the void sting \"\",\n",
    "# and its length is zero.\n",
    "# Connectivity issues are not checked.\n",
    "\n",
    "# A bug in the drawing procedure has been corrected, and the drawing of trees is now correct.\n",
    "# The bug was related to the function that finds the father of a node.\n",
    "\n",
    "# With the help of Gemini, Google and the AI of Visual Studio Code.\n",
    "\n",
    "\n",
    "\n",
    "# --- TOKENIZER FOR NEWICK STRINGS ---\n",
    "# --- Elements to create well-formed Newick info-s of Morpho_trees.---\n",
    "# --- Every info is modeled on the pattern\n",
    "# --- NodeB_3_x_2[a=1,b=0,x=4,y=5,r=1.2]\n",
    "# --- where a nad b are -1,0,1 except (0,0)\n",
    "# --- because they represent a step awya from the father.\n",
    "# --- If a substring fits into this pattern,\n",
    "# --- it must produce the sequence 73756275627564.\n",
    "# --- Say, each info begins with a noun = letters, number 7,\n",
    "# --- and ends with a right bracket number 4.\n",
    "# --- Assigned numbers are at the right of comments.\n",
    "# --- By Gemini\n",
    "TOKEN_SPECIFICATION_NEWICK = [\n",
    "    ('LPAREN',    r'\\('),          # Left Parenthesis, 0\n",
    "    ('RPAREN',    r'\\)'),          # Right Parenthesis, 1\n",
    "    ('COMMA',     r','),           # Comma separator for children, 2\n",
    "    ('LBRACKET',  r'\\['),          # Left Bracket for metadata, 3\n",
    "    ('RBRACKET',  r'\\]'),          # Right Bracket for metadata, 4\n",
    "    ('EQUALS',    r'='),           # Equals sign in metadata, 5\n",
    "    ('NUMBER',    r'-?\\d+(?:\\.\\d+)?'), # Numbers (integers or floats, possibly negative), 6\n",
    "    ('LETTERS',   r'[a-zA-Z_0-9]+'), # Node labels (e.g., 'Node0', 'Target_Root_26'), or variables (x, y, r), 7\n",
    "    ('SEMICOLON', r';'),           # Optional semicolon at end of Newick string, 8\n",
    "    ('SKIP',      r'[ \\t\\n]+'),  # Skip spaces, tabs, newlines, 9\n",
    "    ('MISMATCH',  r'.'),           # Any other illegal character, *\n",
    "]\n",
    "\n",
    "def tokenize_newick17(newick_str):\n",
    "    \"\"\"Converts a Newick string into a list of (token_type, value) tuples.\"\"\"\n",
    "    #print(\"\\ntokenize_newick\")\n",
    "    tokens = []\n",
    "    tok_regex = '|'.join(f'(?P<{name}>{pattern})' for name, pattern in TOKEN_SPECIFICATION_NEWICK)\n",
    "    tokens = []\n",
    "    for mo in re.finditer(tok_regex, newick_str):\n",
    "        kind = mo.lastgroup\n",
    "        value = mo.group()\n",
    "        if kind == 'SKIP':\n",
    "            continue\n",
    "        elif kind == 'MISMATCH':\n",
    "            raise SyntaxError(f\"Newick Grammar Violation: Illegal character '{value}' in '{newick_str}'\")\n",
    "        tokens.append((kind, value))\n",
    "    return tokens\n",
    "\n",
    "# --- VALIDATOR FOR INFO SUBSTRINGS THAT MUST FIT INTO THE PATTERN ---\n",
    "# --- info = NodeB_3_x_2[a=1,b=-1,x=2,y=4,r=3.2], 22 tokens\n",
    "def examine_subsequence17(tokens, j):\n",
    "    #print(\"\\nexamine_subsequence\")\n",
    "    # Every info must begin with a letter, whose index is 7.\n",
    "    tracker = [\"LETTERS\"]\n",
    "    tracker2 = \"7\"\n",
    "    if tokens[j + 1][0] == 'LBRACKET':\n",
    "        tracker.append('LBRACKET')\n",
    "        tracker2 += \"3\"\n",
    "    if tokens[j + 2][0] == 'LETTERS':\n",
    "        tracker.append('LETTERS')\n",
    "        tracker2 += \"7\"\n",
    "    if tokens[j + 3][0] == 'EQUALS':\n",
    "        tracker.append('EQUALS')\n",
    "        tracker2 += \"5\"\n",
    "    if tokens[j + 4][0] == 'NUMBER':\n",
    "        tracker.append('NUMBER')\n",
    "        tracker2 += \"6\"\n",
    "    if tokens[j + 5][0] == 'COMMA':\n",
    "        tracker.append('COMMA')\n",
    "        tracker2 += \"2\"\n",
    "    if tokens[j + 6][0] == 'LETTERS':\n",
    "        tracker.append('LETTERS')\n",
    "        tracker2 += \"7\"\n",
    "    if tokens[j + 7][0] == 'EQUALS':\n",
    "        tracker.append('EQUALS')\n",
    "        tracker2 += \"5\"\n",
    "    if tokens[j + 8][0] == 'NUMBER':\n",
    "        tracker.append('NUMBER')\n",
    "        tracker2 += \"6\"\n",
    "    if tokens[j + 9][0] == 'COMMA':\n",
    "        tracker.append('COMMA')\n",
    "        tracker2 += \"2\"\n",
    "    if tokens[j + 10][0] == 'LETTERS':\n",
    "        tracker.append('LETTERS')\n",
    "        tracker2 += \"7\"\n",
    "    if tokens[j + 11][0] == 'EQUALS':\n",
    "        tracker.append('EQUALS')\n",
    "        tracker2 += \"5\"\n",
    "    if tokens[j + 12][0] == 'NUMBER':\n",
    "        tracker.append('NUMBER')\n",
    "        tracker2 += \"6\"\n",
    "    if tokens[j + 13][0] == 'COMMA':\n",
    "        tracker.append('COMMA')\n",
    "        tracker2 += \"2\"\n",
    "    if tokens[j + 14][0] == 'LETTERS':\n",
    "        tracker.append('LETTERS')\n",
    "        tracker2 += \"7\"\n",
    "    if tokens[j + 15][0] == 'EQUALS':\n",
    "        tracker.append('EQUALS')\n",
    "        tracker2 += \"5\"\n",
    "    if tokens[j + 16][0] == 'NUMBER':\n",
    "        tracker.append('NUMBER')\n",
    "        tracker2 += \"6\"\n",
    "    if tokens[j + 17][0] == 'COMMA':\n",
    "        tracker.append('COMMA')\n",
    "        tracker2 += \"2\"\n",
    "    if tokens[j + 18][0] == 'LETTERS':\n",
    "        tracker.append('LETTERS')\n",
    "        tracker2 += \"7\"\n",
    "    if tokens[j + 19][0] == 'EQUALS':\n",
    "        tracker.append('EQUALS')\n",
    "        tracker2 += \"5\"\n",
    "    if tokens[j + 20][0] == 'NUMBER':\n",
    "        tracker.append('NUMBER')\n",
    "        tracker2 += \"6\"\n",
    "    if tokens[j + 21][0] == 'RBRACKET':\n",
    "        tracker.append('RBRACKET')\n",
    "        tracker2 += \"4\"\n",
    "    #print(f\"Tokens: {tracker}\")\n",
    "    #print(f\"tracker2: {tracker2}\")\n",
    "    master_pattern = \"7375627562756275627564\"\n",
    "                    # 7375627562756275627564\n",
    "    #print(f\"master pattern:  {master_pattern}\")\n",
    "    if tracker2 == master_pattern:\n",
    "        return True, \"Valid Newick sub-string.\"\n",
    "    else:\n",
    "        return False, \"Invalid Newick sub-string.\"\n",
    "\n",
    "\n",
    "def simplify17(text):\n",
    "    # Assuming that all infos of a string have been declared correct,\n",
    "    # the string is further tested for the balance of parentheses.\n",
    "    # print(\"\\nsimplify(text)\")\n",
    "    # print(f\"text: {text}\")\n",
    "    # Detect a pattern on the model  info = NodeB_3_x_2[a=2,b=2,x=3,y=7,r=2.3]\n",
    "    #info_words = r'[\\a-zA-Z_0-9_[_=_,\\] ]+'\n",
    "    #info_words = r'[a-zA-Z_][a-zA-Z_0-9_]*\\[x=-?[0-9]+(?:\\.[0-9]+)?,y=-?[0-9]+(?:\\.[0-9]+)?,r=-?[0-9]+(?:\\.[0-9]+)?\\]$'\n",
    "    info_words =  r'[a-zA-Z_0-9_]*\\[a=-?[0-9]+(?:\\.[0-9]+)?,b=-?[0-9]+(?:\\.[0-9]+)?,x=-?[0-9]+(?:\\.[0-9]+)?,y=-?[0-9]+(?:\\.[0-9]+)?,r=-?[0-9]+(?:\\.[0-9]+)?\\]'\n",
    "    starts = []\n",
    "    groups = []\n",
    "    for match in re.finditer(info_words, text):\n",
    "        #print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "        #print(f\"    starts at index: {match.start()}\")\n",
    "        starts.append(match.start())\n",
    "        groups.append(match.group())\n",
    "    number_of_infos = len(starts)\n",
    "    #print(f\"number_of_infos = {number_of_infos}\")\n",
    "    #print(f\"starts of infos: {starts}\")\n",
    "    #print(f\"groups or infos: {groups}\")\n",
    "    new_s = text\n",
    "    # All infos are replaced by the dumb variable n\n",
    "    for j in range(number_of_infos - 1, -1, -1):\n",
    "        #print(f\"start_of_info[{j}]:  {starts[j]},  len(groups[{j}]): {len(groups[j])}\")\n",
    "        new_s = replace_strig_of_length17(new_s, \"n\", starts[j], len(groups[j]))\n",
    "        #print(f\"new string = '{new_s}'\")\n",
    "    # Balance of parentheses is inquired.\n",
    "    new_s = new_s.replace(\"n,\", \"\")\n",
    "    new_s = new_s.replace(\"n\", \"\")\n",
    "    #print(f\"Simplified string = {new_s} \")\n",
    "    l = len(new_s)\n",
    "    #print(f\"Length of Simplified string = {l}\")\n",
    "    for i in range(l):\n",
    "      new_s = new_s.replace(\"()\", \"\")\n",
    "    final_length = len(new_s)\n",
    "    # print(f\"Final string = {new_s}, final_length = {final_length}\")\n",
    "    if final_length == 0:\n",
    "        #print(\"Valid string at simplify\")\n",
    "        return True,  \"Valid Newick string.\"\n",
    "    else:\n",
    "        #print(\"Invalid string at simplify\")\n",
    "        return False, \"Invalid Newick string.\"\n",
    "\n",
    "\n",
    "\n",
    "def validate_newick_syntax17(newick_str):\n",
    "    \"\"\"\n",
    "    Validates if a Newick string is syntactically correct.\n",
    "    This function checks for balanced parentheses, proper comma usage for children,\n",
    "    and correct metadata format, without building a tree object.\n",
    "    \"\"\"\n",
    "    #print(\"Validating Newick syntax\")\n",
    "    tokens = []\n",
    "    try:\n",
    "        tokens = tokenize_newick17(newick_str)\n",
    "        #print(f\"newick_str: {newick_str}\")\n",
    "        #print(f\"Tokens: {tokens}\")\n",
    "    except SyntaxError as e:\n",
    "        return False, str(e)\n",
    "    if not tokens:\n",
    "        return False, \"Empty Newick string.\"\n",
    "    l = len(tokens)\n",
    "    #print(f\"Length of tokens: {l}\")\n",
    "    j = 0\n",
    "    indexes_of_tokens = []\n",
    "    if l == 1:\n",
    "        kind, value = tokens[j]\n",
    "        if kind == 'LETTERS': # NodeA\n",
    "            return True, \"Valid Newick string.\"\n",
    "        else:\n",
    "            return False, \"Invalid Newick string.\"\n",
    "    elif l == 2:\n",
    "        kind, value = tokens[j]\n",
    "        if kind == 'LETTERS' and tokens[1][0] == 'SEMICOLON': #NodeC;\n",
    "            return True, \"Valid Newick string.\"\n",
    "        else:\n",
    "            return False, \"Invalid Newick string.\"\n",
    "    elif 3 < l < 22: # No redundancy is assumed\n",
    "        return False, \"Invalid Newick string.\"\n",
    "    elif l >= 22:\n",
    "        #print(f\"Length of string: {l}\")\n",
    "        for j in range(l-20):\n",
    "            #print(f\"tokens[{j}]: {tokens[j]}\")\n",
    "            #print(f\"tokens[{j+1}]: {tokens[j+1]}\")\n",
    "            if tokens[j][0] == 'LETTERS' and tokens[j+1][0] == 'LBRACKET':\n",
    "                #print(f\"Starting index : {j}\".format(j=j))\n",
    "                indexes_of_tokens.append(j)\n",
    "                # info that starts at j is examined for correctness\n",
    "                is_valid17, message17 = examine_subsequence17(tokens, j)\n",
    "                if is_valid17:\n",
    "                    pass\n",
    "                else:\n",
    "                    return False, \"Invalid Newick string.\"\n",
    "        #print(f\"Starting indexes of tokens: {indexes_of_tokens }\")\n",
    "    is_valid17, message17 = simplify17(newick_str)\n",
    "    if is_valid17:\n",
    "        return True, \"Valid morpho-tree.\"\n",
    "    else:\n",
    "        return False, \"Invalid morpho-tree.\"\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "# Generate a sample of Newick strings that are immediately tested by a validator\n",
    "def test_validator17(max_depth, max_numb_children, max_node_radius):\n",
    "    # Specific test\n",
    "    model = \"NodeB_3_x_2[a=-1,b=0,x=-4,y=5,r=1.2]\"\n",
    "    #print(\"Simple test\")\n",
    "    #print(f\"Model of Newick String: {model}\")\n",
    "    is_valid, message = validate_newick_syntax17(model)\n",
    "    #print(f\"message: {message}\")\n",
    "    invalid_string = \"NodeB_3_x_2[a=-1,b=0,x=-4,y=5,r=1.2]]\"\n",
    "    #print(f\"\\nInvalid_string: {invalid_string}\")\n",
    "    is_valid, message = validate_newick_syntax17(invalid_string)\n",
    "    #print(f\"message: {message}\")\n",
    "    #print(\"\\n\")\n",
    "\n",
    "\n",
    "    #print(\"\\nMassive test of Newick formulas encoding for morpho-trees:\\n\" + \"=\"*47)\n",
    "    max_depth = 7\n",
    "    max_numb_children = 3\n",
    "    #print(f\"max_depth: {max_depth}\")\n",
    "    #print(f\"max_numb_children: {max_numb_children} \\n\"+ \"=\"*20)\n",
    "    for i in range(1, 100):\n",
    "        p, s = complete_tree_generator17(max_depth, max_numb_children, max_node_radius)\n",
    "        #print(f\"pattern {p}\")\n",
    "        #print(f\"Morpho-tree {i}: {s}\")\n",
    "        is_valid, message = validate_newick_syntax17(s)\n",
    "        #print(f\"is valid at main : {is_valid}, message: {message}\")\n",
    "        #status = \"✅ VALID\" if is_valid else \"❌ INVALID\"\n",
    "        #print(f\"Morpho-tree {i}:: {status} - {message}\")\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "# ======== DRAWING ================\n",
    "\n",
    "def get_illuminated_area17(x,y,r):\n",
    "    \"\"\"\n",
    "      The illuminated area enclosess all unitary squares that intersetcs the circles of illumination.\n",
    "      Each square is denoted by its left botton corner. These will be found in the set illuminated_coords.\n",
    "    \"\"\"\n",
    "    #print(\"get_illuminated_area17\")\n",
    "    #print(f\"x: {x}, y: {y}, r: {r}\")\n",
    "    illuminated_coords = set()\n",
    "\n",
    "\n",
    "    for xi,yi,ri in zip(x,y,r):\n",
    "        circle_center_x = xi + 0.5\n",
    "        circle_center_y = yi + 0.5\n",
    "        r_sq = ri ** 2\n",
    "        # 1. Add the cell containing the center of the circle\n",
    "        # This covers the case of small circles not intersecting grid lines.\n",
    "        illuminated_coords.add((math.floor(circle_center_x), math.floor(circle_center_y)))\n",
    "\n",
    "        # 2. Horizontal Scan: Check intersections with horizontal grid lines\n",
    "        # Iterate y_line from floor(cy - r) to ciel(cy + r)\n",
    "        # These y_line values represent the y-coordinates of horizontal grid lines.\n",
    "        for y_line in range(math.floor(circle_center_y - ri)-1,\n",
    "                            math.ceil(circle_center_y + ri) + 1):\n",
    "            dy = y_line - circle_center_y\n",
    "            discriminant = r_sq - dy * dy\n",
    "\n",
    "            if discriminant >= 0:\n",
    "                dx = math.sqrt(discriminant)\n",
    "                x_min_intersect = circle_center_x - dx\n",
    "                x_max_intersect = circle_center_x + dx\n",
    "\n",
    "                # For each integer x-coordinate that the horizontal segment crosses:\n",
    "                # Add the cells whose bottom-left corner's x-coordinate is in this range.\n",
    "                # This covers cells whose top edge is y_line AND cells whose bottom edge is y_line.\n",
    "                for ix in range(math.floor(x_min_intersect), math.floor(x_max_intersect) + 1):\n",
    "                    illuminated_coords.add((ix, y_line))\n",
    "                    illuminated_coords.add((ix, y_line - 1))\n",
    "\n",
    "        # 3. Vertical Scan: Check intersections with vertical grid lines\n",
    "        # Iterate x_line from floor(cx - r) to ciel(cx + r)\n",
    "        # These x_line values represent the x-coordinates of vertical grid lines.\n",
    "        for x_line in range(math.floor(circle_center_x - ri)-1,\n",
    "                            math.ceil(circle_center_x + ri) + 1):\n",
    "            dx = x_line - circle_center_x\n",
    "            discriminant = r_sq - dx * dx\n",
    "\n",
    "            if discriminant >= 0:\n",
    "                dy = math.sqrt(discriminant)\n",
    "                y_min_intersect = circle_center_y - dy\n",
    "                y_max_intersect = circle_center_y + dy\n",
    "\n",
    "                # For each integer y-coordinate that the vertical segment crosses:\n",
    "                # Add the cells whose bottom-left corner's y-coordinate is in this range.\n",
    "                # This covers cells whose right edge is x_line AND cells whose left edge is x_line.\n",
    "                for iy in range(math.floor(y_min_intersect), math.floor(y_max_intersect) + 1):\n",
    "                    # Cell (x_line, iy) - its left edge is at x_line\n",
    "                    illuminated_coords.add((x_line, iy))\n",
    "                    # Cell (x_line - 1, iy) - its right edge is at x_line\n",
    "                    illuminated_coords.add((x_line - 1, iy))\n",
    "    # print(f\"illuminated_coords  {illuminated_coords}\")\n",
    "\n",
    "    return illuminated_coords\n",
    "\n",
    "\n",
    "def plot_illuminated_area_newick17(ax, illuminated_coords, title, color='blue', alpha=0.1):\n",
    "    ax.set_aspect('equal', adjustable='box')\n",
    "    if not illuminated_coords:\n",
    "        ax.set_title(title)\n",
    "        ax.grid(True)\n",
    "        return\n",
    "\n",
    "    for x, y in illuminated_coords:\n",
    "        rect = patches.Rectangle((x, y), 1, 1, facecolor=color, alpha=alpha, edgecolor='black', linewidth=0.5)\n",
    "        ax.add_patch(rect)\n",
    "\n",
    "    min_x = min(c[0] for c in illuminated_coords) - 1\n",
    "    max_x = max(c[0] for c in illuminated_coords) + 2\n",
    "    min_y = min(c[1] for c in illuminated_coords) - 1\n",
    "    max_y = max(c[1] for c in illuminated_coords) + 2\n",
    "    #print(f\"min_x: {min_x}, max_x: {max_x}, min_y: {min_y}, max_y: {max_y}\")\n",
    "\n",
    "    ax.set_xlim(min_x, max_x)\n",
    "    ax.set_ylim(min_y, max_y)\n",
    "    ax.set_xticks(range(int(min_x), int(max_x)))\n",
    "    ax.set_yticks(range(int(min_y), int(max_y)))\n",
    "    ax.grid(True)\n",
    "    ax.set_title(title)\n",
    "\n",
    "\n",
    "\n",
    "def plot_tree_nodes_and_their_diffusion_circles17(x,y,r, ax, tree_color='lightblue', diff_color='red'):\n",
    "  for xi,yi,ri in zip(x,y,r):\n",
    "    # Plot the square representing the cell\n",
    "    rect = patches.Rectangle((xi, yi), 1, 1, facecolor=tree_color, edgecolor='black', linewidth=1, zorder=1)\n",
    "    ax.add_patch(rect)\n",
    "    #node_label_part = node.value.split('_')[-1] if '_' in node.value else node.value\n",
    "    #ax.text(xi + 0.5, yi + 0.5, node_label_part, ha='center', va='center', color='darkblue', fontsize=7, zorder=2)\n",
    "\n",
    "    # Plot the circle representing the radius of influence\n",
    "    circle = patches.Circle((xi + 0.5, yi + 0.5), ri, color='red', alpha=0.1, zorder=2)\n",
    "    ax.add_patch(circle)\n",
    "\n",
    "def find_leaves(newick_string):\n",
    "    \"\"\"Detect leaves in a Newick string.\"\"\"\n",
    "    #print(\"\\n\\nfind_leaves\")\n",
    "    #print(f\"Newick String: {newick_string}\")\n",
    "\n",
    "    # Detection of leaves.\n",
    "    # Dectect substrings of the form \"(...)\" but without interior parentheses.\n",
    "    pattern_leaves = r'[(][^()]*[)]'\n",
    "    # Leaves may come grouped by bouquets\n",
    "    bouquets_of_leaves = re.findall(pattern_leaves, newick_string )\n",
    "    #print(f\"Bouquets_of_leaves: {bouquets_of_leaves}\")\n",
    "    all_leaves = []\n",
    "    # Descipher each leaf and find the father\n",
    "    for bouquet_of_leaves in bouquets_of_leaves:\n",
    "        bouquet_of_leaves = bouquet_of_leaves[1:-1]\n",
    "        leaves = detect_all_groups17(bouquet_of_leaves)\n",
    "        for loaf in leaves:\n",
    "          loaf = loaf.replace(\" \", \"\")\n",
    "          all_leaves.append(loaf)\n",
    "    return all_leaves\n",
    "\n",
    "\n",
    "\n",
    "def connect_leaves_to_father17(newick_string, ax, tree_color='lightblue', diff_color='red'):\n",
    "    \"\"\"Draw lines connecting leaves to fathers\"\"\"\n",
    "\n",
    "    #print(\"\\n\\nconnect_leaves_to_father17\")\n",
    "    #print(f\"Newick String: {newick_string}\")\n",
    "\n",
    "    all_leaves = find_leaves(newick_string)\n",
    "    for leaf in all_leaves:\n",
    "        [al,bl,xl,yl,rl] = extract_info17(leaf)\n",
    "        #print(f\"Info: a: {al}, b: {bl}, x: {xl}, y: {yl}, r: {rl}\")\n",
    "\n",
    "        # Task: Find the father of the leaf.\n",
    "        # It is the node after the last leaf\n",
    "        # Example:\n",
    "        # (Node9[x=-11,y=19.7,r=12.4567],Node8[x=0,y=7,r=17],Node7[x=6,y=17,r=9])Node6[x=17,y=9,r=20]\n",
    "        # The father of Node9, Node8, and Node7 is Node 6.\n",
    "        # The father of a node is found after the first unbalanced right parenthesis.\n",
    "        index_nex_right_par = newick_string.find(\")\", newick_string.find(leaf))\n",
    "        father_with_tail = newick_string[index_nex_right_par+1:]\n",
    "        father_group = detect_all_groups17(father_with_tail)\n",
    "        if father_group:\n",
    "          [af,bf,xf,yf,rf]  = extract_info17(father_group[0])\n",
    "          #father_center = (xf,yf)\n",
    "          ax.plot([xl + 0.5, xf + 0.5], [yl + 0.5, yf + 0.5], 'k--', linewidth=0.8, zorder = 3)\n",
    "    # Leaves are erased: each leave is replaced by \"\"\n",
    "    for leaf in all_leaves:\n",
    "          #print(f\"leaf to be erased: {leaf}\")\n",
    "          newick_string = newick_string.replace(leaf + \",\", \"\")\n",
    "          newick_string = newick_string.replace(leaf, \"\")\n",
    "          #print(f\"Newick String without leaves: {newick_string}\")\n",
    "    newick_string = newick_string.replace(\"()\", \"\")\n",
    "    #print(f\"Newick String without leaves: {newick_string}\")\n",
    "    #is_valid, message = validate_newick_syntax17(newick_string)\n",
    "    #print(f\"is valid at connect_leaves_to_father17(...) : {is_valid}, message: {message}\")\n",
    "    #status = \"✅ VALID\" if is_valid else \"❌ INVALID\"\n",
    "    #print(f\"Is the Newick string a valid morpho-tree? : {status} - {message}\")\n",
    "    groups = detect_all_groups17(newick_string)\n",
    "    number_of_groups = len(groups)\n",
    "    return newick_string, number_of_groups\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "def draw_tree_links17(newick_string, ax,   diff_color='red' ):\n",
    "    \"\"\"Draw lines connecting children to father.\n",
    "       1. Each leaf is connected to its father,\n",
    "          and the corresponding stroke is plotted.\n",
    "       2. Leaves are erased.\n",
    "       3. New leaves are detected and connected to their father.\n",
    "       4, And so on.\n",
    "       \"\"\"\n",
    "\n",
    "    #print(\"draw_tree_links17\")\n",
    "    #print(f\"Newick String: {newick_string}\")\n",
    "    length_string = len(newick_string)\n",
    "    #print(f\"length_string: {length_string}\")\n",
    "    groups = detect_all_groups17(newick_string)\n",
    "    #print(f\"Groups: {groups}\")\n",
    "    number_of_groups = len(groups)\n",
    "    # Leaves are recursively found and connected to their father.\n",
    "    counter_of_trials = 0\n",
    "    while number_of_groups > 1:\n",
    "        #print(\"\\n\\ndraw_tree_links17\")\n",
    "        #print(f\"Newick String: {newick_string}\")\n",
    "\n",
    "        newick_string, number_of_groups = connect_leaves_to_father17(newick_string, ax, tree_color='lightblue', diff_color='red')\n",
    "        counter_of_trials = counter_of_trials + 1\n",
    "        if counter_of_trials > length_string:\n",
    "          break\n",
    "    # The root is detected and marked with a cross\n",
    "    groups = detect_all_groups17(newick_string)\n",
    "    #print(f\"Groups: {groups}\")\n",
    "    number_of_groups = len(groups)\n",
    "    #print(f\"number_of_groups = {number_of_groups}\")\n",
    "    # Mark the root with a red cross\n",
    "    if number_of_groups >= 1:\n",
    "      [a0,b0,x0,y0,r0] = extract_info17(groups[-1])\n",
    "      #print(f\"Origin: a: {a0}, b: {b0}, x: {x0}, y: {y0}, r: {r0}\")\n",
    "      ax.plot([x0, x0 +1 ], [y0+ 0.5, y0+ 0.5],   color = 'red', linewidth=0.8, zorder = 3)\n",
    "      ax.plot([x0 + 0.5, x0 +0.5], [y0, y0+ 1],   color = 'red', linewidth=0.8, zorder = 3)\n",
    "    return newick_string, number_of_groups\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "def draw_tree_newick17(newick_string, title):\n",
    "    #print(\"\\n=========== DRAWING=======\\n\")\n",
    "    #print(\"=========== DRAWING=======\\n\")\n",
    "    #print(\"=========== DRAWING=======\\n\")\n",
    "    a,b,x,y,r = extract_all_infos17(newick_string)\n",
    "    fig, ax = plt.subplots(figsize=(7, 17))\n",
    "    ax.set_aspect('equal')\n",
    "    plot_tree_nodes_and_their_diffusion_circles17(x,y,r, ax, tree_color='lightgreen', diff_color='red')\n",
    "\n",
    "    # Illuminated area is calculated\n",
    "    illuminated_coords = get_illuminated_area17(x,y,r)\n",
    "    #print(f\"Illuminated cells: {illuminated_coords}\")\n",
    "    #print(f\"Number of illuminated cells: {len(illuminated_coords)}\")\n",
    "    # Tree is drawn\n",
    "    #title = \"morpho-tree: lightgreen, illuminated circles: red, illuminated Area: lightblue\"\n",
    "    plot_illuminated_area_newick17(ax, illuminated_coords, title, color='blue', alpha=0.1)\n",
    "    # Lines that define the tree are added\n",
    "    draw_tree_links17(newick_string, ax, diff_color='red'  )\n",
    "\n",
    "    plt.tight_layout()\n",
    "    plt.show()\n",
    "    return illuminated_coords\n",
    "\n",
    "def generate_and_test_trimmed_target_morpho_tree17(ga_params):\n",
    "    #print(\"generate_and_test_morpho_tree( ga_params)\"\"\n",
    "\n",
    "    target_tree = complete_tree_generator17(ga_params['max_depth'], ga_params['max_number_children'], ga_params['max_node_radius']) #line 264\n",
    "    #newick_tree = complete_tree_generator17(max_depth, max_numb_children, max_node_radius) #line 264\n",
    "    # Trim tree\n",
    "    number_of_branch_deletions = 5\n",
    "    for i in range(number_of_branch_deletions):\n",
    "         target_tree = deletion_of_branch17(target_tree)\n",
    "    # Validate tree\n",
    "    is_valid, message = validate_newick_syntax17(target_tree)\n",
    "    illuminated_coords = set()\n",
    "\n",
    "    if is_valid:\n",
    "        a,b,x,y,r = extract_all_infos17(target_tree)\n",
    "        illuminated_coords = get_illuminated_area17(x,y,r)\n",
    "    else:\n",
    "      print(\"Newick string is not valid\")\n",
    "\n",
    "    return target_tree, illuminated_coords\n",
    "\n",
    "\n",
    "# Generate the  Newick string of a morpho-tree, test and draw it\n",
    "# def generate_test_and_draw_morpho_tree(target_tree_params['max_depth'], target_tree_params['max_number_children'], target_tree_params['max_node_radius'] ):\n",
    "def generate_and_test_morpho_tree17(ga_params):\n",
    "    #print(\"generate_and_test_morpho_tree( ga_params)\"\"\n",
    "\n",
    "    newick_tree = complete_tree_generator17(ga_params['max_depth'], ga_params['max_number_children'], ga_params['max_node_radius']) #line 264\n",
    "    #newick_tree = complete_tree_generator17(max_depth, max_numb_children, max_node_radius) #line 264\n",
    "    is_valid, message = validate_newick_syntax17(newick_tree)\n",
    "    illuminated_coords = set()\n",
    "\n",
    "    if is_valid:\n",
    "        a,b,x,y,r = extract_all_infos17(newick_tree)\n",
    "        illuminated_coords = get_illuminated_area17(x,y,r)\n",
    "    else:\n",
    "      print(\"Newick string is not valid\")\n",
    "    \"\"\"\n",
    "    is_valid, message = validate_newick_syntax17(newick_tree)\n",
    "    print(f\"is the Newick String valid?: {is_valid}, message: {message}\")\n",
    "    status = \"✅ VALID\" if is_valid else \"❌ INVALID\"\n",
    "    print(f\"Is the Newick string a valid morpho-tree? : {status} - {message}\")\n",
    "    \"\"\"\n",
    "    return newick_tree, illuminated_coords\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "# --- Evoluciónary functions ---\n",
    "\n",
    "def create_initial_population_newick17(pop_size=ga_params['pop_size'], max_depth=ga_params['max_depth'], max_children=ga_params['max_number_children'],  max_node_radius=ga_params['max_node_radius'] ):\n",
    "    population = []\n",
    "    for _ in range(pop_size):\n",
    "        new_tree = complete_tree_generator17(max_depth, max_children, max_node_radius)\n",
    "        population.append(new_tree)\n",
    "    return population\n",
    "\n",
    "def get_illuminated_coordinates17(newick_string):\n",
    "  \"\"\"Coordinates of illuminated cells are extracted from the Newick string\"\"\"\n",
    "  a,b,x,y,r = extract_all_infos17(newick_string)\n",
    "  # Illuminated area is calculated\n",
    "  illuminated_coords = get_illuminated_area17(x,y,r)\n",
    "  ##print(f\"Illuminated cells: {illuminated_coords}\")\n",
    "  ##print(f\"Number of illuminated cells: {len(illuminated_coords)}\")\n",
    "  return illuminated_coords\n",
    "\n",
    "def calculate_fitness_illumination17(candidate_tree_root, target_illuminated_area):\n",
    "    \"\"\"\n",
    "    Calculates fitness based on the symmetric difference between illuminated areas.\n",
    "    Fitness is 1.0 for a perfect match, and decreases as symmetric difference increases.\n",
    "    Reuse of a previous code by Gemini 2.5 Flash\n",
    "    \"\"\"\n",
    "    if candidate_tree_root is None:\n",
    "        # If the tree generation failed, assign a very low fitness\n",
    "        return 0.0001 # A small non-zero value to avoid division by zero issues later\n",
    "\n",
    "    candidate_illuminated_area = get_illuminated_coordinates17(candidate_tree_root)\n",
    "\n",
    "    # Symmetric difference: (A U B) - (A intersect B)\n",
    "    # Or, the elements in A but not B, plus elements in B but not A.\n",
    "    symmetric_difference = candidate_illuminated_area.symmetric_difference(target_illuminated_area)\n",
    "\n",
    "    # Union size: used for normalization\n",
    "    union_size = len(candidate_illuminated_area.union(target_illuminated_area))\n",
    "\n",
    "    if union_size == 0:\n",
    "        if not target_illuminated_area and not candidate_illuminated_area:\n",
    "            return 1.0 # Perfect match if both are empty\n",
    "        else:\n",
    "            return 0.0001 # Should not happen if target is non-empty, but handles cases where both are empty but expected non-empty\n",
    "\n",
    "    # Fitness is 1.0 - (len(symmetric_difference) / union_size)\n",
    "    # This gives 1.0 for a perfect match (symmetric_difference_area = 0)\n",
    "    # and approaches 0.0 for large differences.\n",
    "    fitness = 1.0 - (len(symmetric_difference) / union_size)\n",
    "    return max(0.0001, fitness) # Ensure fitness is always positive\n",
    "\n",
    "\n",
    "def select_parents_newick(population, fitness_scores, num_parents):\n",
    "    parents = []\n",
    "    # Use roulette wheel selection or tournament selection. Tournament is generally robust.\n",
    "    for _ in range(num_parents):\n",
    "        tournament_size = min(5, len(population))\n",
    "        if tournament_size == 0:\n",
    "            break\n",
    "        tournament_candidates = random.sample(list(zip(population, fitness_scores)), tournament_size)\n",
    "        winner = max(tournament_candidates, key=lambda x: x[1])[0]\n",
    "        parents.append(winner)\n",
    "    return parents\n",
    "\n",
    "def find_recombinant_branch17(newick_string):\n",
    "  # A full functional branch is recognized because it is enclosed by ()\n",
    "  # and everything inside is full functional.\n",
    "  # We simply keep an accounting of parentheses pairing\n",
    "  #print(\"\\nfind_branch\")\n",
    "  #print(f\"newick_string: {newick_string}\")\n",
    "  pattern_left_par = r'[(]'\n",
    "  starts = []\n",
    "  groups = []\n",
    "  for match in re.finditer(pattern_left_par, newick_string):\n",
    "      #print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "      starts.append(match.start())\n",
    "      groups.append(match.group())\n",
    "  number_of_infos = len(starts)\n",
    "  #print(f\"number_of_infos = {number_of_infos}\")\n",
    "  #print(f\"starts: {starts}\")\n",
    "  #print(f\"groups: {groups}\")\n",
    "  if number_of_infos == 0: # The root is alone\n",
    "    return newick_string\n",
    "  # Select a start index at random\n",
    "  start_idx = random.randint(0, number_of_infos-1)\n",
    "  #print(f\"selected start_idx: {start_idx}\")\n",
    "  start_idx = starts[start_idx]\n",
    "  #print(f\"start_idx: {start_idx}\")\n",
    "  tail = newick_string[start_idx:]\n",
    "  #print(f\"tail: {tail}\")\n",
    "  # Balance accounting\n",
    "  counter_of_pars = 0\n",
    "  for i in range(len(tail)):\n",
    "    if tail[i] == \"(\":\n",
    "      counter_of_pars = counter_of_pars + 1\n",
    "    if tail[i] == \")\":\n",
    "      counter_of_pars = counter_of_pars - 1\n",
    "    if counter_of_pars == 0:\n",
    "      branch = tail[: i+1]\n",
    "      #print(f\"Functional branch: {branch}\")\n",
    "      break\n",
    "  return branch\n",
    "\n",
    "\n",
    "def newick_position_branch_recombination17(newick_string1, newick_string2):\n",
    "  \"\"\" Recombination of full functional branches\"\"\"\n",
    "  #print(\"\\nnewick_position_branch_recombination17\")\n",
    "  #print(f\"newick_string1: {newick_string1}\")\n",
    "  #print(f\"newick_string2: {newick_string2}\")\n",
    "  branch1 = find_recombinant_branch17(newick_string1)\n",
    "  branch2 = find_recombinant_branch17(newick_string2)\n",
    "  #print(f\"\\nbranch1: {branch1}\")\n",
    "  #print(f\"branch2: {branch2}\")\n",
    "  # Branches are interchanged\n",
    "  newick_string1 = newick_string1.replace(branch1, branch2)\n",
    "  newick_string2 = newick_string2.replace(branch2, branch1)\n",
    "  return newick_string1, newick_string2\n",
    "\n",
    "def newick_leaves_recombination17(newick_string1, newick_string2):\n",
    "  \"\"\" Recombination of full functional branches\"\"\"\n",
    "  #print(\"\\nnewick_leaves_recombination17\")\n",
    "  #print(f\"newick_string1: {newick_string1}\")\n",
    "  #print(f\"newick_string2: {newick_string2}\")\n",
    "  leaves1 = find_leaves(newick_string1)\n",
    "  leaves2 = find_leaves(newick_string2)\n",
    "  if not leaves1 or not leaves2:\n",
    "    return newick_string1, newick_string2\n",
    "  # Select a leaf at random from each tree\n",
    "  leaf1 = random.choice(leaves1)\n",
    "  leaf2 = random.choice(leaves2)\n",
    "  #print(f\"\\nleaf1: {leaf1}\")\n",
    "  #print(f\"leaf2: {leaf2}\")\n",
    "  # Leaves are interchanged\n",
    "  newick_string1 = newick_string1.replace(leaf1, leaf2)\n",
    "  newick_string2 = newick_string2.replace(leaf2, leaf1)\n",
    "  return newick_string1, newick_string2\n",
    "\n",
    "\n",
    "def find_occupied_squares17(newick_string):\n",
    "    \"\"\"Detects all the occupied squares in a tree\"\"\"\n",
    "    occupied_squares_set = set()\n",
    "    groups = detect_all_groups17(newick_string)\n",
    "    for group in groups:\n",
    "        [a,b,x,y,r] = extract_info17(group)\n",
    "        occupied_squares_set.add((x, y))\n",
    "    return occupied_squares_set\n",
    "\n",
    "def newick_mutation_of_radius17(newick_string):\n",
    "  # The pattern of the radius of illumination, r = 0.2\n",
    "  pattern_r = r'r=-?[0-9]+(?:\\.[0-9]+)?'\n",
    "  starts = []\n",
    "  groups = []\n",
    "  for match in re.finditer(pattern_r, newick_string):\n",
    "      #print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "      starts.append(match.start())\n",
    "      groups.append(match.group())\n",
    "  number_of_infos = len(starts)\n",
    "  #print(f\"number_of_infos = {number_of_infos}\")\n",
    "  #print(f\"starts: {starts}\")\n",
    "  #print(f\"groups: {groups}\")\n",
    "  # Select a start index at random\n",
    "  start_idx = random.randint(0, number_of_infos-1)\n",
    "  #print(f\"selected start_idx: {start_idx}\")\n",
    "  l = len(groups[start_idx])\n",
    "  #print(f\"l: {l}\")\n",
    "  # Select a new radius\n",
    "  new_radius = random.uniform(0.5, 2)\n",
    "  #print(f\"new_radius: {new_radius}\")\n",
    "\n",
    "  new_info = \"r=\" + str(new_radius)\n",
    "  #print(f\"new_info: {new_info}\")\n",
    "  # Replace the info\n",
    "  mutated_newick_string = replace_str_subsequence17(newick_string, starts[start_idx], starts[start_idx] + l, new_info)\n",
    "  #print(f\"newick_string: {newick_string}\")\n",
    "  return mutated_newick_string\n",
    "\n",
    "\n",
    "def newick_find_insertion_patterns17(newick_string):\n",
    "  \"\"\" All insertion patterns are found and one is chosen at random\"\"\"\n",
    "  # The pattern of groups on the image of\n",
    "  # Node4[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07]\n",
    "  insertion_pattern = r'[]][])]'\n",
    "  starts = []\n",
    "  groups = []\n",
    "  for match in re.finditer(insertion_pattern, newick_string):\n",
    "      #print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "      starts.append(match.start())\n",
    "      groups.append(match.group())\n",
    "  number_of_patterns = len(starts)\n",
    "  #print(f\"starts: {starts}\")\n",
    "  #print(f\"groups: {groups}\")\n",
    "  start_idx = 0\n",
    "  if groups:\n",
    "    # Select a start index at random\n",
    "    start_idx = random.randint(0, number_of_patterns-1)\n",
    "    group = groups[start_idx]\n",
    "    start = starts[start_idx]\n",
    "    #print(f\"group: {group}\")\n",
    "    #print(f\"start: {start}\")\n",
    "  else:\n",
    "    group = \"\"\n",
    "    start = 0\n",
    "  return group, start\n",
    "\n",
    "\n",
    "def insertion_of_branch17(newick_string):\n",
    "  #original_newick_string = newick_string\n",
    "  # The pattern of groups on the image of\n",
    "  # Node4[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07]\n",
    "  # A group together its start site are elected\n",
    "  group, start =  newick_find_insertion_patterns17(newick_string)\n",
    "  # String to be inserted\n",
    "  # child_string = \"(Node17[a=-1.0,b=0.0,x=-2.0,y=-1.0,r=0.83],Node17[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07])Node1[a=-1.0,b=-1.0,x=-1.0,y=-1.0,r=0.95]\"\n",
    "  child_string = complete_tree_generator17(max_depth = 2, max_numb_children = 2, max_node_radius= 1.5)\n",
    "  if group:\n",
    "    #print(f\"Group (main): {group}\")\n",
    "    #print(f\"Start (main): {start}\")\n",
    "    # Does the group have children?\n",
    "    #char_before = newick_string[start-1]\n",
    "    #print(f\"char_before: {char_before}\")\n",
    "\n",
    "    newick_string = newick_string.replace(\"])\", \"],\" + child_string + \")\")\n",
    "  else:\n",
    "    # a tree is given as a child to the root\n",
    "    newick_string = \"(\" + child_string + \")\" + newick_string\n",
    "  # Cosmetics\n",
    "  #newick_string = newick_string.replace(\",,\", \",\")\n",
    "\n",
    "  # Comparison\n",
    "  #print(f\"Original Newick string: {original_newick_string}\")\n",
    "  #print(f\"Final Newick_string: {newick_string}\")\n",
    "  return newick_string\n",
    "\n",
    "def select_one_insertion_pattern_left_parenthesis_17(newick_string, counter, max_illumination_radius):\n",
    "  \"\"\" All insertion patterns (N  are found and one is chosen at random\n",
    "      The new info will be inserted to the right of the parenthesis\"\"\"\n",
    "  # The pattern of groups on the image of\n",
    "  # Node4[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07]\n",
    "  insertion_pattern = r'[(][N]'\n",
    "  starts = []\n",
    "  groups = []\n",
    "  for match in re.finditer(insertion_pattern, newick_string):\n",
    "      #print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "      starts.append(match.start())\n",
    "      groups.append(match.group())\n",
    "  number_of_patterns = len(starts)\n",
    "  #print(f\"starts: {starts}\")\n",
    "  #print(f\"groups: {groups}\")\n",
    "  start_idx = 0\n",
    "  if groups:\n",
    "    # Select a start index at random\n",
    "    start_idx = random.randint(0, number_of_patterns-1)\n",
    "    group = groups[start_idx]\n",
    "    start = starts[start_idx]\n",
    "    #print(f\"group: {group}\")\n",
    "    #print(f\"start: {start}\")\n",
    "  else:\n",
    "    group = \"\"\n",
    "    start = 0\n",
    "  #print(f\"Group170: {group}\")\n",
    "  # String to be inserted\n",
    "  father_center = find_father_center17(newick_string, start)\n",
    "  #print(f\"Father center: {father_center}\")\n",
    "  occupied_squares_set = find_occupied_squares17(newick_string)\n",
    "  info, occupied_squares_set = node_info_generator17(father_center, counter,  occupied_squares_set, max_illumination_radius)\n",
    "  info = info.replace(\"()\", \"\")\n",
    "  child_string = info\n",
    "  if group:\n",
    "      #print(f\"Group (main): {group}\")\n",
    "      #print(f\"Start (main): {start}\")\n",
    "      # The child string is inserted between ] and ) at place start\n",
    "      #print(f\"Child string: {child_string}\")\n",
    "      #print(f\"Newick string before insertion_point: {newick_string[:start+1]}\")\n",
    "      #print(f\"Newick string after insertion_point: {newick_string[start+2:]}\")\n",
    "      newick_string = newick_string[:start+1] + \"(\" + child_string +  \")\" + newick_string[start+1:]\n",
    "      #print(f\"Newick string after insertion****: {newick_string}\")\n",
    "  else:\n",
    "      # a node in the info is given as a child to the root\n",
    "      newick_string = \"(\" + child_string + \")\" + newick_string\n",
    "    # Cosmetics\n",
    "    #newick_string = newick_string.replace(\",,\", \",\")\n",
    "\n",
    "    # Comparison\n",
    "    #print(f\"Original Newick string: {original_newick_string}\")\n",
    "    #print(f\"Final Newick_string: {newick_string}\")\n",
    "  return newick_string\n",
    "\n",
    "\n",
    "def select_one_insertion_pattern_comma_17(newick_string, counter, max_illumination_radius):\n",
    "  \"\"\" All  commas are found and one is chosen at random,\n",
    "  the child will be inserted after the comma\"\"\"\n",
    "  # The pattern of groups on the image of\n",
    "  # Node4[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07]\n",
    "  insertion_pattern = r'[]][,]'\n",
    "  starts = []\n",
    "  groups = []\n",
    "  for match in re.finditer(insertion_pattern, newick_string):\n",
    "      #print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "      starts.append(match.start())\n",
    "      groups.append(match.group())\n",
    "  number_of_patterns = len(starts)\n",
    "  #print(f\"starts: {starts}\")\n",
    "  #print(f\"groups: {groups}\")\n",
    "  start_idx = 0\n",
    "  if groups:\n",
    "    # Select a start index at random\n",
    "    start_idx = random.randint(0, number_of_patterns-1)\n",
    "    group = groups[start_idx]\n",
    "    start = starts[start_idx]\n",
    "    #print(f\"group: {group}\")\n",
    "    #print(f\"start: {start}\")\n",
    "  else:\n",
    "    group = \"\"\n",
    "    start = 0\n",
    "  #print(f\"Group170: {group}\")\n",
    "  # String to be inserted\n",
    "  father_center = find_father_center17(newick_string, start)\n",
    "  #print(f\"Father center: {father_center}\")\n",
    "  occupied_squares_set = find_occupied_squares17(newick_string)\n",
    "  info, occupied_squares_set = node_info_generator17(father_center, counter,  occupied_squares_set, max_illumination_radius)\n",
    "  info = info.replace(\"()\", \"\")\n",
    "  child_string = info\n",
    "\n",
    "  if group:\n",
    "      #print(f\"Group (main): {group}\")\n",
    "      #print(f\"Start (main): {start}\")\n",
    "      # The child string is inserted between ] and ) at place start\n",
    "      #print(f\"Child string: {child_string}\")\n",
    "      #print(f\"Newick string before insertion_point: {newick_string[:start+1]}\")\n",
    "      #print(f\"Newick string after insertion_point: {newick_string[start+2:]}\")\n",
    "      newick_string = newick_string[:start+2] + \"(\" + child_string + \")\" + newick_string[start+2:]\n",
    "      #print(f\"Newick string after insertion****: {newick_string}\")\n",
    "  else:\n",
    "      # a node in the info is given as a child to the root\n",
    "      newick_string = \"(\" + child_string + \")\" + newick_string\n",
    "    # Cosmetics\n",
    "    #newick_string = newick_string.replace(\",,\", \",\")\n",
    "\n",
    "    # Comparison\n",
    "    #print(f\"Original Newick string: {original_newick_string}\")\n",
    "    #print(f\"Final Newick_string: {newick_string}\")\n",
    "  return newick_string\n",
    "\n",
    "def select_one_insertion_pattern_parentheses_17(newick_string, counter, max_illumination_radius):\n",
    "  \"\"\" All insertion patterns ]) are found and one is chosen at random\n",
    "      The new info will be inserted between ] and ) as a brother\"\"\"\n",
    "  # The pattern of groups on the image of\n",
    "  # Node4[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07]\n",
    "  insertion_pattern = r'[]][)]'\n",
    "  starts = []\n",
    "  groups = []\n",
    "  for match in re.finditer(insertion_pattern, newick_string):\n",
    "      #print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "      starts.append(match.start())\n",
    "      groups.append(match.group())\n",
    "  number_of_patterns = len(starts)\n",
    "  #print(f\"starts: {starts}\")\n",
    "  #print(f\"groups: {groups}\")\n",
    "  start_idx = 0\n",
    "  if groups:\n",
    "    # Select a start index at random\n",
    "    start_idx = random.randint(0, number_of_patterns-1)\n",
    "    group = groups[start_idx]\n",
    "    start = starts[start_idx]\n",
    "    #print(f\"group: {group}\")\n",
    "    #print(f\"start: {start}\")\n",
    "  else:\n",
    "    group = \"\"\n",
    "    start = 0\n",
    "  #print(f\"Group170: {group}\")\n",
    "  # String to be inserted\n",
    "  father_center = find_father_center17(newick_string, start)\n",
    "  #print(f\"Father center: {father_center}\")\n",
    "  occupied_squares_set = find_occupied_squares17(newick_string)\n",
    "  info, occupied_squares_set = node_info_generator17(father_center, counter,  occupied_squares_set, max_illumination_radius)\n",
    "  info = info.replace(\"()\", \"\")\n",
    "  child_string = info\n",
    "  if group:\n",
    "      #print(f\"Group (main): {group}\")\n",
    "      #print(f\"Start (main): {start}\")\n",
    "      # The child string is inserted between ] and ) at place start\n",
    "      #print(f\"Child string: {child_string}\")\n",
    "      #print(f\"Newick string before insertion_point: {newick_string[:start+1]}\")\n",
    "      #print(f\"Newick string after insertion_point: {newick_string[start+2:]}\")\n",
    "      newick_string = newick_string[:start+1] + \",\" + child_string + newick_string[start+1:]\n",
    "      #print(f\"Newick string after insertion****: {newick_string}\")\n",
    "  else:\n",
    "      # a node in the info is given as a child to the root\n",
    "      newick_string = \"(\" + child_string + \")\" + newick_string\n",
    "    # Cosmetics\n",
    "    #newick_string = newick_string.replace(\",,\", \",\")\n",
    "\n",
    "    # Comparison\n",
    "    #print(f\"Original Newick string: {original_newick_string}\")\n",
    "    #print(f\"Final Newick_string: {newick_string}\")\n",
    "  return newick_string\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "def insertion_of_leaf17(newick_string, counter, max_illumination_radius):    #original_newick_string = newick_string\n",
    "    \"\"\" All insertion patterns are found and one is chosen at random\n",
    "        for the new info to be inserted \"\"\"\n",
    "    case = random.choice([1, 2, 3])  # Randomly choose between three insertion methods\n",
    "    match case:\n",
    "        case 1:\n",
    "            newick_string = select_one_insertion_pattern_comma_17(newick_string, counter, max_illumination_radius)\n",
    "        case 2:\n",
    "            newick_string = select_one_insertion_pattern_parentheses_17(newick_string, counter, max_illumination_radius)\n",
    "        case 3:\n",
    "            newick_string = select_one_insertion_pattern_left_parenthesis_17(newick_string, counter, max_illumination_radius)\n",
    "    newick_string = newick_string.replace(\",,\", \",\")\n",
    "    newick_string = newick_string.replace(\",)\", \")\")\n",
    "    newick_string = newick_string.replace(\"(,\", \"(\")\n",
    "    newick_string = newick_string.replace(\" \", \"\")\n",
    "    newick_string = newick_string.replace(\"()\", \"\")\n",
    "    return newick_string\n",
    "\n",
    "\n",
    "\n",
    "def deletion_of_leaf17(newick_string):\n",
    "    \"\"\"A leaf is deleted at random from the Newick string.\n",
    "        If there are no leaves, the original string is returned.\"\"\"\n",
    "    # All leaves are detected\n",
    "    leaves = find_leaves(newick_string)\n",
    "    if not leaves:\n",
    "        return newick_string  # No leaves to delete\n",
    "    # Select a leaf at random\n",
    "    leaf_to_delete = random.choice(leaves)\n",
    "    # Remove the selected leaf from the Newick string\n",
    "    newick_string = newick_string.replace(leaf_to_delete, \"\")\n",
    "    # Clean up any potential formatting issues (like double commas)\n",
    "    newick_string = newick_string.replace(\",,\", \",\")\n",
    "    newick_string = newick_string.replace(\",)\", \")\")\n",
    "    newick_string = newick_string.replace(\"(,\", \"(\")\n",
    "    return newick_string\n",
    "\n",
    "def find_branch17(newick_string, final_index):\n",
    "  initial_segment = newick_string[:final_index]\n",
    "  #print(f\"initial_segment: {initial_segment}\")\n",
    "  # Balance accounting\n",
    "  counter_of_pars = 0\n",
    "  branch = \"\"\n",
    "  for i in range(len(initial_segment)-1,-1,-1):\n",
    "    if initial_segment[i] == \"(\":\n",
    "      counter_of_pars = counter_of_pars + 1\n",
    "    if initial_segment[i] == \")\":\n",
    "      counter_of_pars = counter_of_pars - 1\n",
    "    if counter_of_pars == 0:\n",
    "      branch = initial_segment[i:final_index+1]\n",
    "      #print(f\"Branch to be deleted: {branch}\")\n",
    "      break\n",
    "  return branch\n",
    "\n",
    "\n",
    "def newick_find_all_groups17(newick_string):\n",
    "  \"\"\" All groups are found and one is chosen at random and returned\"\"\"\n",
    "  # The pattern of groups on the image of\n",
    "  # Node4[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.07]\n",
    "  info_words =  r'[a-zA-Z_0-9_]*\\[a=-?[0-9]+(?:\\.[0-9]+)?,b=-?[0-9]+(?:\\.[0-9]+)?,x=-?[0-9]+(?:\\.[0-9]+)?,y=-?[0-9]+(?:\\.[0-9]+)?,r=-?[0-9]+(?:\\.[0-9]+)?\\]'\n",
    "  starts = []\n",
    "  groups = []\n",
    "  for match in re.finditer(info_words, newick_string):\n",
    "      #print(f\"Match: '{match.group()}' starts at index: {match.start()}\")\n",
    "      starts.append(match.start())\n",
    "      groups.append(match.group())\n",
    "  number_of_infos = len(starts)\n",
    "  if number_of_infos == 0: # The root is alone\n",
    "    return newick_string, 0\n",
    "  #print(f\"number_of_infos = {number_of_infos}\")\n",
    "  #print(f\"starts: {starts}\")\n",
    "  #print(f\"groups: {groups}\")\n",
    "  # Select a start index at random\n",
    "  start_idx = random.randint(0, number_of_infos-1)\n",
    "  #print(f\"selected start_idx: {start_idx}\")\n",
    "  return groups[start_idx], starts[start_idx]\n",
    "\n",
    "\n",
    "def deletion_of_branch17(newick_string ):\n",
    "  group, start =  newick_find_all_groups17(newick_string)\n",
    "  #print(f\"Group (main): {group}\")\n",
    "  #print(f\"Start (main): {start}\")\n",
    "  # Does the group have children?\n",
    "  char_before = newick_string[start-1]\n",
    "  #print(f\"char_before: {char_before}\")\n",
    "  if char_before ==  \")\":\n",
    "    #print(\"The group has children\")\n",
    "    #find branch\n",
    "    final_index = start-1\n",
    "    branch = find_branch17(newick_string, final_index+1)\n",
    "\n",
    "    branch_and_father = branch + group\n",
    "    #print(f\"  Branch and father to be deleted: {branch_and_father}\")\n",
    "    #delete group\n",
    "    newick_string = newick_string.replace(branch_and_father , \"\")\n",
    "  else:\n",
    "    #print(\"The group has no children\")\n",
    "    #delete group\n",
    "    newick_string = newick_string.replace(group, \"\")\n",
    "\n",
    "  # Cosmetics\n",
    "  newick_string = newick_string.replace(\",,\", \",\")\n",
    "  newick_string = newick_string.replace(\",)\", \")\")\n",
    "  newick_string = newick_string.replace(\"(,\", \"(\")\n",
    "  newick_string = newick_string.replace(\" \", \"\")\n",
    "  # Comparison\n",
    "  #print(f\"Original Newick string: {newick_string}\")\n",
    "  l = len(newick_string)\n",
    "  #print(f\"Length of newick_string: {l}\")\n",
    "  if l == 0 :\n",
    "     newick_string = \"Node_0[a=0,b=0,x=0,y=0,r=1]\"\n",
    "  #print(f\"Final Newick_string: {newick_string}\")\n",
    "  return newick_string\n",
    "\n",
    "\n",
    "def newick_mutation_branches17(newick_string):\n",
    "  # Mutation of radius of illumination and of complete branches\n",
    "  if random.random() <  ga_params['mutation_rate']:\n",
    "    newick_string = newick_mutation_of_radius17(newick_string)\n",
    "    newick_string = insertion_of_branch17(newick_string)\n",
    "    newick_string = deletion_of_branch17(newick_string)\n",
    "  return newick_string\n",
    "\n",
    "def newick_mutation_leaves17(newick_string, ga_params):\n",
    "  \"\"\"Radius is mutated, and only leaves can be inserted or deleted\"\"\"\n",
    "  if random.random() <  ga_params['mutation_rate']:\n",
    "    # Mutation of radius of illumination and of complete leaves\n",
    "    newick_string = newick_mutation_of_radius17(newick_string)\n",
    "    newick_string = insertion_of_leaf17(newick_string, counter=random.randint(0, 1000), max_illumination_radius=ga_params['max_node_radius'])\n",
    "    newick_string = deletion_of_leaf17(newick_string)\n",
    "  return newick_string\n",
    "\n",
    "\n",
    "def plot_illuminated_area17(ax, illuminated_coords, title, color='blue', alpha=0.5):\n",
    "    ax.set_aspect('equal', adjustable='box')\n",
    "    if not illuminated_coords:\n",
    "        ax.set_title(title)\n",
    "        ax.grid(True)\n",
    "        return\n",
    "\n",
    "    for x, y in illuminated_coords:\n",
    "        rect = patches.Rectangle((x, y), 1, 1, facecolor=color, alpha=alpha, edgecolor='black', linewidth=0.5)\n",
    "        ax.add_patch(rect)\n",
    "\n",
    "    min_x = min(c[0] for c in illuminated_coords) - 1\n",
    "    max_x = max(c[0] for c in illuminated_coords) + 2\n",
    "    min_y = min(c[1] for c in illuminated_coords) - 1\n",
    "    max_y = max(c[1] for c in illuminated_coords) + 2\n",
    "\n",
    "    ax.set_xlim(min_x, max_x)\n",
    "    ax.set_ylim(min_y, max_y)\n",
    "    ax.set_xticks(range(int(min_x), int(max_x)))\n",
    "    ax.set_yticks(range(int(min_y), int(max_y)))\n",
    "    ax.grid(True)\n",
    "    ax.set_title(title)\n",
    "\n",
    "# --- MAIN EvoluciónARY SIMULATION LOOP ---\n",
    "\n",
    "def myEvoluciónaryProcess17(target_tree_params, ga_params):\n",
    "    # A previous code by Gemini was reused.\n",
    "\n",
    "    # 1. Generate Target Tree and its Illuminated Area\n",
    "    #print(\"\\n--- Generating Target Tree ---\")\n",
    "    #random.seed(ga_params['seed'] + 1) # Use a different seed for target generation\n",
    "    target_tree, target_illuminated_area =  generate_and_test_trimmed_target_morpho_tree17(ga_params)#891\n",
    "    for i in range(2):\n",
    "         target_tree = deletion_of_branch17(target_tree)\n",
    "    print(f\"target_tree: {target_tree} \\n\\n\")\n",
    "    number_of_groups17 = count_groups17(target_tree)\n",
    "    print(f\"Number of groups or nodes in target tree: {number_of_groups17}\")\n",
    "    length_of_target_tree = len(target_tree)\n",
    "    #draw_newick_string17(target_tree, \"Target Tree\")\n",
    "    # target_area = get_illuminated_coordinates17(target_tree)\n",
    "    #print(f\"Target illuminated area: {target_illuminated_area}\")\n",
    "\n",
    "    # 2. Initialize Population\n",
    "    #random.seed(ga_params['seed']) # Reset seed for GA population generation\n",
    "    #print(f\"\\n--- Initializing Population of {ga_params['pop_size']} Trees ---\")\n",
    "    population = create_initial_population_newick17(\n",
    "        pop_size=ga_params['pop_size'], max_depth=ga_params['max_depth'], max_children=ga_params['max_number_children'],\n",
    "        max_node_radius=ga_params['max_node_radius']  )\n",
    "    #print(f\"Population initialized with {len(population)} individuals.\")\n",
    "    #print(f\"Population: {population}\")\n",
    "\n",
    "    best_tree_overall = \"\"\n",
    "    best_fitness_overall = -1.0\n",
    "    history17 = []\n",
    "\n",
    "    # 3. Evoluciónary Loop\n",
    "    #print(f\"\\n--- Starting Evoluciónary Loop for {ga_params['generations']} Generations ---\")\n",
    "    for generation in range(ga_params['generations']):\n",
    "        if generation % 1000 == 0:\n",
    "            print(f\"\\n--- Generation {generation+1}/{ga_params['generations']}, Best fitness {round(best_fitness_overall, 5)} ---\")\n",
    "        fitness_scores = [calculate_fitness_illumination17(tree, target_illuminated_area)for tree in population]\n",
    "\n",
    "        current_best_fitness = max(fitness_scores)\n",
    "        current_best_tree = population[np.argmax(fitness_scores)]\n",
    "\n",
    "        if current_best_fitness > best_fitness_overall:\n",
    "            best_fitness_overall = current_best_fitness\n",
    "            best_tree_overall = copy.deepcopy(current_best_tree) # Deepcopy to save the best tree\n",
    "\n",
    "        history17.append(current_best_fitness)\n",
    "\n",
    "        #print(f\"Generation {generation+1}/{ga_params['generations']}: Best Fitness = {current_best_fitness:.4f} (Overall Best: {best_fitness_overall:.4f})\")\n",
    "\n",
    "        if best_fitness_overall >= 0.999: # Almost perfect match\n",
    "            #print(\"Target illumination achieved (or very close)! Stopping Evolución.\")\n",
    "            return history17, number_of_groups17\n",
    "\n",
    "        # Selection\n",
    "        parents = select_parents_newick(population, fitness_scores, ga_params['pop_size'] // 2)\n",
    "\n",
    "        # Create next generation\n",
    "        next_population = []\n",
    "        # Elitism: Keep the best individual from the current generation\n",
    "        if best_tree_overall and current_best_fitness == best_fitness_overall: # Only if it's the current best in this generation\n",
    "            next_population.append(copy.deepcopy(current_best_tree))\n",
    "\n",
    "        while len(next_population) < ga_params['pop_size']:\n",
    "            if len(parents) < 2: # Not enough parents for crossover, fill with new random trees\n",
    "                new_tree =  complete_tree_generator17(target_tree_params['max_depth'], target_tree_params['max_number_children'], target_tree_params['max_node_radius'] )\n",
    "                if new_tree:\n",
    "                    next_population.append(new_tree)\n",
    "                continue\n",
    "\n",
    "            # Randomly pick two parents (can be the same parent multiple times with replacement for simplicity)\n",
    "            p1 = random.choice(parents)\n",
    "            p2 = random.choice(parents)\n",
    "            child1, child2 = p1,p2 # No crossover, just pass parents to children for mutation\n",
    "            if recombination_of_leaves:\n",
    "                # Crossover newick_position_branch_recombination17\n",
    "                # child1, child2 = newick_position_branch_recombination17(p1, p2)\n",
    "                # Crossover newick_leaves_recombination17\n",
    "                child1, child2 =newick_leaves_recombination17(p1,p2)\n",
    "            # Mutation: Apply mutation to both children\n",
    "            mutated_child1 = newick_mutation_leaves17(child1, ga_params)\n",
    "            mutated_child2 = newick_mutation_leaves17(child2, ga_params)\n",
    "\n",
    "\n",
    "            next_population.append(mutated_child1)\n",
    "            if len(next_population) < ga_params['pop_size']:\n",
    "                next_population.append(mutated_child2)\n",
    "\n",
    "        population = next_population[:ga_params['pop_size']]\n",
    "        # print(f\"Population size for next generation: {len(population)}\")\n",
    "        # print(f\"Best fitness this generation: {current_best_fitness:.4f}, Overall best fitness: {best_fitness_overall:.4f}\")\n",
    "        # print(f\"Best tree this generation: {current_best_tree}\")\n",
    "        # If you want to see the entire population, uncomment the following line:\n",
    "        # print(f\"Population: {population}\")\n",
    "        # Cutt-off for the length of the Newick string to avoid excessive growth\n",
    "        population = [tree for tree in population if len(tree) <= 2 * length_of_target_tree]  # Allow some growth but limit it\n",
    "        #print(f\"Population size after length cut-off: {len(population)}\")\n",
    "        # If the population is too small, refill\n",
    "        while len(population) < ga_params['pop_size']:\n",
    "            new_tree = complete_tree_generator17(target_tree_params['max_depth'], target_tree_params['max_number_children'], target_tree_params['max_node_radius'])\n",
    "            if new_tree:\n",
    "                population.append(new_tree)\n",
    "    #print(\"\\n--- Evolución Finished ---\")\n",
    "    #print(f\"Final Best Fitness: {best_fitness_overall:.4f}\")\n",
    "    #return target_tree, target_illuminated_area, best_tree_overall, best_fitness_overall, history, number_of_groups\n",
    "\n",
    "    return history17, number_of_groups17\n",
    "\n",
    "\n",
    "def draw_all_histories17(fitness_histories, numbers_of_nodes, population_sizes):\n",
    "    print(\"draw_all_historiesk4(fitness_histories, lengths_of_target_sequence)\")\n",
    "    # Plot all the fitness histories together\n",
    "    # By the AI of VSCode.\n",
    "    for i in range(len(fitness_histories)):\n",
    "        # x_range contains all numbers from 0 to the length of the fitness history for the current length of target sequence.\n",
    "        x_range = range(len(fitness_histories[i]))\n",
    "        plt.plot(x_range, fitness_histories[i], label=f'pop_size {population_sizes[i]}, Number of nodes {numbers_of_nodes[i]}')\n",
    "    plt.xlabel('Generation')\n",
    "    plt.ylabel('Best Fitness')\n",
    "    plt.title('GA: Fitness of the best morpho-tree over Generations for Different numbers of pop-sizes and nodes')\n",
    "    plt.grid(True)\n",
    "    plt.legend()\n",
    "    plt.show()\n",
    "\n",
    "\n",
    "def main17(target_tree_params, ga_params):\n",
    "    ''' An Evoluciónary process is triggered for each pop-size value.\n",
    "    The number of nodes is not predefined,\n",
    "    but results from interation with random generation.\n",
    "    The fitness history is stored in a list,\n",
    "    and then all the histories are plotted together.\n",
    "    '''\n",
    "    population_sizes = [12, 25, 50, 100, 200]\n",
    "    #numbers_of_generations = [20000, 20001, 20002, 20003, 20004 ]  # Example numbers of generations for different lengths of target sequence\n",
    "    #numbers_of_generations = [11, 12, 13, 14, 15 ]\n",
    "    numbers_of_generations = [7001, 7002, 7003, 7004, 7005 ]\n",
    "    # List to store the normalized best fitness history for each length of target sequence\n",
    "    fitness_histories = []\n",
    "    numbers_of_nodes = []  # Example numbers of generations for different lengths of target sequence\n",
    "    for i in range(len(population_sizes)):\n",
    "        target_tree_params['pop_size'] = population_sizes[i]\n",
    "        ga_params['generations'] =  numbers_of_generations[i]\n",
    "        print(f\"\\nRunning Evoluciónary process for max_depth = {target_tree_params['max_depth']} and generations = {ga_params['generations']}\")\n",
    "        history17, number_of_groups17 = myEvoluciónaryProcess17(target_tree_params, ga_params)\n",
    "        fitness_histories.append(history17)\n",
    "        numbers_of_nodes.append(number_of_groups17)\n",
    "    draw_all_histories17(fitness_histories, numbers_of_nodes, population_sizes)\n",
    "\n",
    "\n",
    "# Run an Evoluciónary process for each value of target tree and GA parameters\n",
    "# Produces a comparative graphic\n",
    "if __name__ == \"__main__\":\n",
    "    print_parameters17(target_tree_params, ga_params)\n",
    "    main17(target_tree_params, ga_params)\n",
    "\n",
    "    end_time = time.time()\n",
    "    Execution_time = end_time - start_time\n",
    "    # print(f\"Execution time: {Execution_time:.2f} seconds\")\n",
    "    # Execution time in hours, minutes and seconds:\n",
    "    hours = int(Execution_time // 3600)\n",
    "    minutes = int((Execution_time % 3600) // 60)\n",
    "    seconds = int(Execution_time % 60)\n",
    "    print(f\"Execution time: {hours} hours, {minutes} minutes, {seconds} seconds\")\n",
    "    if memory_monitoring:\n",
    "        # displaying the allocated memory\n",
    "        print(tracemalloc.get_traced_memory())\n",
    "        # stopping the memory allocation library\n",
    "        tracemalloc.stop()\n",
    "\n",
    "# End of program Evolución_of_newick_morphological_trees17.py"
   ],
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "LAB: EVOLUTION OF NEWICK MORPHO-TREES\n",
      "PURPOSE: \n",
      " A random morpho-tree T is generated.\n",
      " Evolution tries to restore the tree T\n",
      " beginning from a population of random trees.\n",
      "EXPERIMENT 1791291786.015035\n",
      "RECOMBINATION OF LEAVES: False\n",
      "INITIAL TARGET TREE PARAMETERS: {'max_depth': 15, 'max_number_children': 2, 'max_node_radius': 1.5, 'number_of_branch_deletions': 10}\n",
      "INITIAL GENETIC ALGORITHM PARAMETERS: {'pop_size': 70, 'generations': -1, 'max_depth': 15, 'max_number_children': 2, 'max_node_radius': 1.5, 'mutation_rate': 0.001, 'crossover_rate': 0.001}\n",
      "\n",
      "\n",
      "Running evolutionary process for max_depth = 15 and generations = 7001\n",
      "target_tree: Node_0[a=0,b=0,x=0,y=0,r=1] \n",
      "\n",
      "\n",
      "Number of groups or nodes in target tree: 1\n",
      "\n",
      "--- Generation 1/7001, Best fitness -1.0 ---\n",
      "\n",
      "--- Generation 1001/7001, Best fitness 0.84211 ---\n",
      "\n",
      "--- Generation 2001/7001, Best fitness 0.84211 ---\n",
      "\n",
      "--- Generation 3001/7001, Best fitness 0.84211 ---\n",
      "\n",
      "--- Generation 4001/7001, Best fitness 0.84211 ---\n",
      "\n",
      "--- Generation 5001/7001, Best fitness 0.84211 ---\n",
      "\n",
      "--- Generation 6001/7001, Best fitness 0.84211 ---\n",
      "\n",
      "--- Generation 7001/7001, Best fitness 0.84211 ---\n",
      "\n",
      "Running evolutionary process for max_depth = 15 and generations = 7002\n",
      "target_tree: ((((((((Node25[a=1.0,b=0.0,x=5.0,y=-5.0,r=1.05])Node21[a=1.0,b=-1.0,x=4.0,y=-5.0,r=0.87])Node13[a=1.0,b=-1.0,x=3.0,y=-4.0,r=1.35])Node9[a=1.0,b=-1.0,x=2.0,y=-3.0,r=0.74])Node7[a=1.0,b=-1.0,x=1.0,y=-2.0,r=0.54])Node4[a=-1.0,b=-1.0,x=0.0,y=-1.0,r=1.12],(()Node6[a=1.0,b=0.0,x=2.0,y=1.0,r=0.64],(()Node11[a=-1.0,b=0.0,x=-1.0,y=2.0,r=0.86],(((()Node29[a=0.0,b=1.0,x=1.0,y=4.0,r=0.95],(((((((Node211[a=0.0,b=1.0,x=7.0,y=6.0,r=0.6],Node210[a=1.0,b=1.0,x=8.0,y=6.0,r=1.07])Node168[a=1.0,b=-1.0,x=7.0,y=5.0,r=0.92])Node138[a=0.0,b=1.0,x=6.0,y=6.0,r=0.67])Node112[a=1.0,b=1.0,x=6.0,y=5.0,r=0.84])Node87[a=1.0,b=1.0,x=5.0,y=4.0,r=0.9])Node67[a=1.0,b=0.0,x=4.0,y=3.0,r=0.89],((((Node207[a=1.0,b=1.0,x=6.0,y=7.0,r=0.96])Node166[a=1.0,b=1.0,x=5.0,y=6.0,r=1.09])Node111[a=-1.0,b=0.0,x=4.0,y=5.0,r=0.68])Node86[a=1.0,b=1.0,x=5.0,y=5.0,r=1.4],(((Node206[a=1.0,b=1.0,x=8.0,y=5.0,r=0.83])Node137[a=1.0,b=1.0,x=7.0,y=4.0,r=0.67],(Node165[a=1.0,b=0.0,x=8.0,y=2.0,r=0.62],(Node205[a=1.0,b=1.0,x=9.0,y=2.0,r=0.92],Node204[a=1.0,b=-1.0,x=9.0,y=0.0,r=0.74])Node164[a=1.0,b=-1.0,x=8.0,y=1.0,r=1.14])Node136[a=1.0,b=-1.0,x=7.0,y=2.0,r=1.2])Node110[a=1.0,b=0.0,x=6.0,y=3.0,r=0.73],((Node163[a=1.0,b=1.0,x=8.0,y=4.0,r=1.2])Node135[a=1.0,b=-1.0,x=7.0,y=3.0,r=1.21])Node109[a=1.0,b=1.0,x=6.0,y=4.0,r=1.35])Node85[a=1.0,b=-1.0,x=5.0,y=3.0,r=1.33])Node66[a=1.0,b=1.0,x=4.0,y=4.0,r=0.9])Node52[a=1.0,b=-1.0,x=3.0,y=3.0,r=1.15],(((((Node203[a=1.0,b=1.0,x=3.0,y=10.0,r=1.3],Node202[a=0.0,b=1.0,x=2.0,y=10.0,r=1.4])Node134[a=0.0,b=1.0,x=2.0,y=9.0,r=0.83])Node108[a=1.0,b=1.0,x=2.0,y=8.0,r=0.85],((Node162[a=1.0,b=1.0,x=0.0,y=10.0,r=1.06])Node133[a=-1.0,b=1.0,x=-1.0,y=9.0,r=0.61],((Node201[a=1.0,b=1.0,x=0.0,y=9.0,r=1.1])Node161[a=0.0,b=1.0,x=-1.0,y=8.0,r=0.6],(Node200[a=-1.0,b=1.0,x=-3.0,y=9.0,r=0.84],Node199[a=0.0,b=1.0,x=-2.0,y=9.0,r=0.61])Node160[a=-1.0,b=1.0,x=-2.0,y=8.0,r=1.09])Node132[a=-1.0,b=-1.0,x=-1.0,y=7.0,r=1.46])Node107[a=-1.0,b=1.0,x=0.0,y=8.0,r=1.19])Node84[a=-1.0,b=1.0,x=1.0,y=7.0,r=1.14])Node65[a=1.0,b=1.0,x=2.0,y=6.0,r=0.77],((((Node198[a=-1.0,b=1.0,x=-3.0,y=8.0,r=0.78])Node159[a=-1.0,b=1.0,x=-2.0,y=7.0,r=0.85])Node106[a=-1.0,b=0.0,x=-1.0,y=6.0,r=1.25])Node83[a=0.0,b=1.0,x=0.0,y=6.0,r=1.07])Node64[a=-1.0,b=0.0,x=0.0,y=5.0,r=1.17])Node51[a=-1.0,b=1.0,x=1.0,y=5.0,r=1.17])Node28[a=1.0,b=1.0,x=2.0,y=4.0,r=0.89])Node19[a=-1.0,b=0.0,x=1.0,y=3.0,r=0.76])Node14[a=1.0,b=1.0,x=2.0,y=3.0,r=0.78])Node10[a=1.0,b=0.0,x=1.0,y=2.0,r=0.83])Node5[a=-1.0,b=1.0,x=0.0,y=2.0,r=1.17])Node3[a=0.0,b=1.0,x=1.0,y=1.0,r=0.92])Node2[a=1.0,b=-1.0,x=1.0,y=0.0,r=1.19])Node1[a=0.0,b=1.0,x=0.0,y=1.0,r=0.85])Node_0[a=0,b=0,x=0,y=0,r=1] \n",
      "\n",
      "\n",
      "Number of groups or nodes in target tree: 64\n",
      "\n",
      "--- Generation 1/7002, Best fitness -1.0 ---\n",
      "\n",
      "--- Generation 1001/7002, Best fitness 0.77005 ---\n",
      "\n",
      "--- Generation 2001/7002, Best fitness 0.78723 ---\n",
      "\n",
      "--- Generation 3001/7002, Best fitness 0.86316 ---\n",
      "\n",
      "--- Generation 4001/7002, Best fitness 0.92021 ---\n",
      "\n",
      "--- Generation 5001/7002, Best fitness 0.92513 ---\n",
      "\n",
      "--- Generation 6001/7002, Best fitness 0.92553 ---\n",
      "\n",
      "--- Generation 7001/7002, Best fitness 0.94118 ---\n",
      "\n",
      "Running evolutionary process for max_depth = 15 and generations = 7003\n",
      "target_tree: ((((((((((((((Node264[a=-1.0,b=0.0,x=-7.0,y=6.0,r=0.93])Node213[a=-1.0,b=0.0,x=-6.0,y=6.0,r=1.22],Node212[a=-1.0,b=1.0,x=-6.0,y=7.0,r=0.55])Node170[a=-1.0,b=1.0,x=-5.0,y=6.0,r=1.17])Node132[a=-1.0,b=0.0,x=-4.0,y=5.0,r=0.71],((Node211[a=-1.0,b=1.0,x=-5.0,y=7.0,r=0.62])Node169[a=-1.0,b=0.0,x=-4.0,y=6.0,r=0.64])Node131[a=0.0,b=1.0,x=-3.0,y=6.0,r=1.18])Node99[a=-1.0,b=0.0,x=-3.0,y=5.0,r=0.96],(Node130[a=1.0,b=-1.0,x=0.0,y=5.0,r=1.19])Node98[a=1.0,b=1.0,x=-1.0,y=6.0,r=1.14])Node75[a=1.0,b=1.0,x=-2.0,y=5.0,r=0.85])Node55[a=-1.0,b=0.0,x=-3.0,y=4.0,r=1.42],((((Node210[a=-1.0,b=0.0,x=-6.0,y=3.0,r=0.86],()Node209[a=-1.0,b=-1.0,x=-6.0,y=2.0,r=0.6])Node168[a=0.0,b=1.0,x=-5.0,y=3.0,r=1.18])Node129[a=-1.0,b=0.0,x=-5.0,y=2.0,r=1.41])Node74[a=-1.0,b=-1.0,x=-4.0,y=2.0,r=0.6])Node54[a=-1.0,b=-1.0,x=-3.0,y=3.0,r=0.68])Node34[a=-1.0,b=1.0,x=-2.0,y=4.0,r=1.34],(((Node97[a=0.0,b=1.0,x=-4.0,y=4.0,r=1.02],(((Node262[a=-1.0,b=-1.0,x=-7.0,y=3.0,r=0.93],Node261[a=-1.0,b=1.0,x=-7.0,y=5.0,r=1.43])Node208[a=-1.0,b=-1.0,x=-6.0,y=4.0,r=0.67],(Node260[a=-1.0,b=-1.0,x=-7.0,y=4.0,r=0.91])Node207[a=-1.0,b=0.0,x=-6.0,y=5.0,r=1.11])Node128[a=0.0,b=1.0,x=-5.0,y=5.0,r=0.83])Node96[a=-1.0,b=1.0,x=-5.0,y=4.0,r=0.72])Node73[a=-1.0,b=1.0,x=-4.0,y=3.0,r=0.65],(((Node206[a=-1.0,b=-1.0,x=-7.0,y=0.0,r=0.75],(Node259[a=-1.0,b=0.0,x=-8.0,y=1.0,r=1.45])Node205[a=-1.0,b=0.0,x=-7.0,y=1.0,r=1.12])Node127[a=-1.0,b=1.0,x=-6.0,y=1.0,r=1.3])Node95[a=-1.0,b=-1.0,x=-5.0,y=0.0,r=0.95])Node72[a=-1.0,b=-1.0,x=-4.0,y=1.0,r=1.43])Node53[a=-1.0,b=-1.0,x=-3.0,y=2.0,r=0.57])Node33[a=-1.0,b=0.0,x=-2.0,y=3.0,r=0.63])Node26[a=-1.0,b=-1.0,x=-1.0,y=3.0,r=1.28])Node11[a=-1.0,b=1.0,x=0.0,y=4.0,r=1.12],((((((((Node204[a=1.0,b=-1.0,x=6.0,y=2.0,r=1.03])Node126[a=-1.0,b=0.0,x=5.0,y=3.0,r=1.24])Node52[a=1.0,b=-1.0,x=6.0,y=3.0,r=0.68],((((Node258[a=1.0,b=-1.0,x=8.0,y=5.0,r=1.32])Node125[a=1.0,b=0.0,x=7.0,y=6.0,r=1.4],Node124[a=1.0,b=-1.0,x=7.0,y=5.0,r=1.06])Node94[a=1.0,b=1.0,x=6.0,y=6.0,r=1.24],(((Node203[a=1.0,b=1.0,x=8.0,y=4.0,r=1.25],(Node257[a=-1.0,b=-1.0,x=6.0,y=1.0,r=1.43],Node256[a=1.0,b=-1.0,x=8.0,y=1.0,r=0.55])Node202[a=0.0,b=-1.0,x=7.0,y=2.0,r=1.43])Node167[a=0.0,b=-1.0,x=7.0,y=3.0,r=0.56],(Node255[a=1.0,b=0.0,x=9.0,y=3.0,r=1.18],Node254[a=1.0,b=-1.0,x=9.0,y=2.0,r=1.38])Node166[a=1.0,b=-1.0,x=8.0,y=3.0,r=0.88])Node123[a=1.0,b=-1.0,x=7.0,y=4.0,r=1.16])Node93[a=1.0,b=0.0,x=6.0,y=5.0,r=1.34])Node71[a=-1.0,b=1.0,x=5.0,y=5.0,r=1.25])Node51[a=1.0,b=0.0,x=6.0,y=4.0,r=1.41])Node45[a=1.0,b=0.0,x=5.0,y=4.0,r=1.3],((((Node165[a=0.0,b=1.0,x=5.0,y=8.0,r=0.6],(Node253[a=1.0,b=1.0,x=7.0,y=9.0,r=1.36])Node164[a=1.0,b=1.0,x=6.0,y=8.0,r=0.98])Node122[a=1.0,b=1.0,x=5.0,y=7.0,r=0.6])Node92[a=0.0,b=1.0,x=4.0,y=6.0,r=1.05],(()Node163[a=1.0,b=1.0,x=6.0,y=7.0,r=1.06])Node91[a=1.0,b=1.0,x=5.0,y=6.0,r=0.68])Node70[a=1.0,b=1.0,x=4.0,y=5.0,r=0.79],((Node200[a=-1.0,b=0.0,x=4.0,y=2.0,r=1.24])Node121[a=1.0,b=-1.0,x=5.0,y=2.0,r=1.43])Node69[a=1.0,b=-1.0,x=4.0,y=3.0,r=0.73])Node44[a=-1.0,b=0.0,x=3.0,y=4.0,r=0.77])Node32[a=1.0,b=-1.0,x=4.0,y=4.0,r=1.12])Node25[a=0.0,b=-1.0,x=3.0,y=5.0,r=1.27])Node19[a=1.0,b=1.0,x=3.0,y=6.0,r=1.11],(((((Node162[a=1.0,b=1.0,x=3.0,y=11.0,r=0.72])Node90[a=1.0,b=1.0,x=2.0,y=10.0,r=0.58],((Node161[a=0.0,b=1.0,x=0.0,y=12.0,r=0.5])Node120[a=-1.0,b=1.0,x=0.0,y=11.0,r=0.71],((Node251[a=-1.0,b=1.0,x=0.0,y=13.0,r=0.96])Node160[a=0.0,b=1.0,x=1.0,y=12.0,r=1.02],((Node250[a=1.0,b=1.0,x=4.0,y=14.0,r=0.7],Node249[a=0.0,b=1.0,x=3.0,y=14.0,r=0.97])Node199[a=1.0,b=1.0,x=3.0,y=13.0,r=0.58],(Node248[a=-1.0,b=0.0,x=1.0,y=13.0,r=0.88],Node247[a=0.0,b=1.0,x=2.0,y=14.0,r=1.26])Node198[a=0.0,b=1.0,x=2.0,y=13.0,r=0.58])Node159[a=1.0,b=1.0,x=2.0,y=12.0,r=1.47])Node119[a=0.0,b=1.0,x=1.0,y=11.0,r=1.37])Node89[a=0.0,b=1.0,x=1.0,y=10.0,r=1.02])Node68[a=0.0,b=1.0,x=1.0,y=9.0,r=0.93],(((((Node246[a=0.0,b=1.0,x=4.0,y=13.0,r=0.8])Node197[a=-1.0,b=1.0,x=4.0,y=12.0,r=1.07],(Node245[a=0.0,b=1.0,x=5.0,y=13.0,r=1.18])Node196[a=0.0,b=1.0,x=5.0,y=12.0,r=1.09])Node157[a=1.0,b=1.0,x=5.0,y=11.0,r=0.57],((Node244[a=1.0,b=-1.0,x=7.0,y=8.0,r=0.6])Node194[a=1.0,b=0.0,x=6.0,y=9.0,r=0.58])Node156[a=1.0,b=-1.0,x=5.0,y=9.0,r=0.77])Node116[a=1.0,b=1.0,x=4.0,y=10.0,r=1.27],((Node193[a=1.0,b=1.0,x=6.0,y=11.0,r=0.62])Node155[a=1.0,b=1.0,x=5.0,y=10.0,r=0.51])Node115[a=1.0,b=0.0,x=4.0,y=9.0,r=0.61])Node87[a=1.0,b=0.0,x=3.0,y=9.0,r=0.95])Node67[a=1.0,b=1.0,x=2.0,y=9.0,r=0.88])Node50[a=-1.0,b=1.0,x=1.0,y=8.0,r=1.4])Node24[a=1.0,b=1.0,x=2.0,y=7.0,r=0.73])Node18[a=-1.0,b=1.0,x=1.0,y=6.0,r=1.15])Node14[a=0.0,b=1.0,x=2.0,y=5.0,r=1.04])Node10[a=1.0,b=1.0,x=2.0,y=4.0,r=0.66])Node6[a=0.0,b=1.0,x=1.0,y=3.0,r=0.7],((((((((Node154[a=1.0,b=0.0,x=4.0,y=8.0,r=0.65])Node114[a=0.0,b=1.0,x=3.0,y=8.0,r=1.33],Node113[a=1.0,b=0.0,x=4.0,y=7.0,r=0.65])Node66[a=1.0,b=-1.0,x=3.0,y=7.0,r=0.88])Node43[a=1.0,b=1.0,x=2.0,y=8.0,r=0.64])Node31[a=-1.0,b=1.0,x=1.0,y=7.0,r=0.58])Node23[a=1.0,b=1.0,x=2.0,y=6.0,r=0.96],((Node42[a=1.0,b=0.0,x=0.0,y=7.0,r=0.89],(((((Node243[a=0.0,b=1.0,x=-1.0,y=13.0,r=0.88],Node242[a=-1.0,b=1.0,x=-2.0,y=13.0,r=0.71])Node192[a=1.0,b=1.0,x=-1.0,y=12.0,r=0.61],(Node241[a=-1.0,b=1.0,x=-4.0,y=13.0,r=1.17],Node240[a=0.0,b=1.0,x=-3.0,y=13.0,r=1.01])Node191[a=-1.0,b=1.0,x=-3.0,y=12.0,r=1.0])Node153[a=-1.0,b=1.0,x=-2.0,y=11.0,r=0.9],(Node239[a=-1.0,b=1.0,x=-2.0,y=12.0,r=0.6])Node152[a=0.0,b=1.0,x=-1.0,y=11.0,r=1.11])Node112[a=-1.0,b=1.0,x=-1.0,y=10.0,r=0.77])Node65[a=0.0,b=1.0,x=0.0,y=9.0,r=1.15],(Node111[a=1.0,b=1.0,x=0.0,y=10.0,r=1.39],(((Node238[a=-1.0,b=-1.0,x=-5.0,y=10.0,r=1.2],Node237[a=-1.0,b=0.0,x=-5.0,y=11.0,r=0.86])Node190[a=-1.0,b=1.0,x=-4.0,y=11.0,r=0.66])Node151[a=-1.0,b=0.0,x=-3.0,y=10.0,r=1.16])Node110[a=-1.0,b=1.0,x=-2.0,y=10.0,r=1.19])Node64[a=-1.0,b=1.0,x=-1.0,y=9.0,r=1.15])Node41[a=1.0,b=1.0,x=0.0,y=8.0,r=1.22])Node30[a=-1.0,b=1.0,x=-1.0,y=7.0,r=0.81])Node22[a=-1.0,b=1.0,x=0.0,y=6.0,r=0.79])Node17[a=0.0,b=1.0,x=1.0,y=5.0,r=1.05])Node9[a=-1.0,b=1.0,x=1.0,y=4.0,r=0.91],((((((((((Node236[a=0.0,b=1.0,x=7.0,y=1.0,r=0.89],Node235[a=-1.0,b=0.0,x=6.0,y=0.0,r=0.59])Node189[a=1.0,b=1.0,x=7.0,y=0.0,r=0.78])Node150[a=1.0,b=1.0,x=6.0,y=-1.0,r=1.2])Node109[a=1.0,b=0.0,x=5.0,y=-2.0,r=0.97])Node86[a=-1.0,b=-1.0,x=4.0,y=-2.0,r=0.83])Node63[a=0.0,b=-1.0,x=5.0,y=-1.0,r=1.09])Node49[a=0.0,b=-1.0,x=5.0,y=0.0,r=1.08],((Node108[a=0.0,b=1.0,x=3.0,y=0.0,r=1.08],((Node188[a=-1.0,b=-1.0,x=1.0,y=-4.0,r=1.23])Node149[a=0.0,b=-1.0,x=2.0,y=-3.0,r=0.61])Node107[a=-1.0,b=-1.0,x=2.0,y=-2.0,r=0.98])Node85[a=-1.0,b=-1.0,x=3.0,y=-1.0,r=1.07],((Node148[a=-1.0,b=1.0,x=2.0,y=-1.0,r=0.88],((Node234[a=0.0,b=-1.0,x=5.0,y=-4.0,r=1.37],Node233[a=1.0,b=-1.0,x=6.0,y=-4.0,r=1.49])Node187[a=1.0,b=0.0,x=5.0,y=-3.0,r=1.24])Node147[a=1.0,b=-1.0,x=4.0,y=-3.0,r=0.77])Node106[a=-1.0,b=-1.0,x=3.0,y=-2.0,r=1.47])Node84[a=0.0,b=-1.0,x=4.0,y=-1.0,r=0.98])Node48[a=-1.0,b=-1.0,x=4.0,y=0.0,r=1.23])Node40[a=1.0,b=0.0,x=5.0,y=1.0,r=0.8])Node16[a=1.0,b=0.0,x=4.0,y=1.0,r=0.61],((((Node146[a=1.0,b=0.0,x=1.0,y=-2.0,r=1.05],((Node230[a=1.0,b=-1.0,x=3.0,y=-5.0,r=1.41])Node185[a=1.0,b=-1.0,x=2.0,y=-4.0,r=0.62],Node184[a=-1.0,b=0.0,x=0.0,y=-3.0,r=1.32])Node145[a=1.0,b=-1.0,x=1.0,y=-3.0,r=1.3])Node47[a=-1.0,b=-1.0,x=0.0,y=-2.0,r=1.19])Node39[a=-1.0,b=-1.0,x=1.0,y=-1.0,r=0.51])Node21[a=0.0,b=-1.0,x=2.0,y=0.0,r=1.24],((((((Node229[a=-1.0,b=-1.0,x=-5.0,y=-4.0,r=1.32],Node228[a=0.0,b=-1.0,x=-4.0,y=-4.0,r=1.08])Node144[a=-1.0,b=0.0,x=-4.0,y=-3.0,r=1.46])Node83[a=-1.0,b=-1.0,x=-3.0,y=-3.0,r=0.91],((((Node227[a=-1.0,b=-1.0,x=-2.0,y=-7.0,r=0.61])Node183[a=0.0,b=-1.0,x=-1.0,y=-6.0,r=0.84],(Node226[a=0.0,b=-1.0,x=0.0,y=-5.0,r=1.26],Node225[a=1.0,b=-1.0,x=1.0,y=-5.0,r=0.94])Node182[a=1.0,b=1.0,x=0.0,y=-4.0,r=1.04])Node143[a=0.0,b=-1.0,x=-1.0,y=-5.0,r=0.81])Node105[a=0.0,b=-1.0,x=-1.0,y=-4.0,r=0.52],((Node224[a=1.0,b=-1.0,x=-2.0,y=-6.0,r=0.79],Node223[a=-1.0,b=-1.0,x=-4.0,y=-6.0,r=0.55])Node181[a=-1.0,b=-1.0,x=-3.0,y=-5.0,r=0.54],(Node222[a=-1.0,b=-1.0,x=-3.0,y=-6.0,r=1.26])Node180[a=0.0,b=-1.0,x=-2.0,y=-5.0,r=1.21])Node104[a=-1.0,b=-1.0,x=-2.0,y=-4.0,r=1.44])Node82[a=1.0,b=-1.0,x=-1.0,y=-3.0,r=1.39])Node62[a=-1.0,b=-1.0,x=-2.0,y=-2.0,r=0.68],Node61[a=-1.0,b=1.0,x=-2.0,y=0.0,r=0.83])Node38[a=-1.0,b=0.0,x=-1.0,y=-1.0,r=1.09])Node29[a=-1.0,b=-1.0,x=0.0,y=-1.0,r=0.67],(((((((Node221[a=-1.0,b=-1.0,x=-7.0,y=-4.0,r=0.92])Node179[a=-1.0,b=-1.0,x=-6.0,y=-3.0,r=1.22],Node178[a=0.0,b=-1.0,x=-5.0,y=-3.0,r=1.44])Node142[a=-1.0,b=0.0,x=-5.0,y=-2.0,r=1.2],(Node177[a=-1.0,b=0.0,x=-6.0,y=-1.0,r=1.39],(Node220[a=-1.0,b=-1.0,x=-7.0,y=-3.0,r=0.64],Node219[a=-1.0,b=0.0,x=-7.0,y=-2.0,r=0.89])Node176[a=-1.0,b=-1.0,x=-6.0,y=-2.0,r=1.47])Node141[a=-1.0,b=1.0,x=-5.0,y=-1.0,r=0.73])Node103[a=-1.0,b=-1.0,x=-4.0,y=-2.0,r=1.31])Node81[a=-1.0,b=0.0,x=-3.0,y=-1.0,r=1.13],(((Node175[a=-1.0,b=-1.0,x=-4.0,y=-5.0,r=0.6])Node140[a=-1.0,b=-1.0,x=-3.0,y=-4.0,r=1.24],Node139[a=-1.0,b=1.0,x=-3.0,y=-2.0,r=1.42])Node102[a=-1.0,b=-1.0,x=-2.0,y=-3.0,r=0.77])Node80[a=1.0,b=-1.0,x=-1.0,y=-2.0,r=1.46])Node60[a=-1.0,b=-1.0,x=-2.0,y=-1.0,r=0.72])Node37[a=-1.0,b=-1.0,x=-1.0,y=0.0,r=0.72],(((Node79[a=-1.0,b=-1.0,x=-3.0,y=0.0,r=0.91])Node59[a=-1.0,b=0.0,x=-2.0,y=1.0,r=0.53],(((Node138[a=0.0,b=-1.0,x=-4.0,y=-1.0,r=1.13],((Node218[a=-1.0,b=-1.0,x=-7.0,y=-1.0,r=1.25])Node174[a=-1.0,b=-1.0,x=-6.0,y=0.0,r=1.42])Node137[a=-1.0,b=1.0,x=-5.0,y=1.0,r=0.55])Node101[a=-1.0,b=-1.0,x=-4.0,y=0.0,r=1.06])Node78[a=-1.0,b=-1.0,x=-3.0,y=1.0,r=0.75])Node58[a=-1.0,b=1.0,x=-2.0,y=2.0,r=0.6])Node46[a=0.0,b=-1.0,x=-1.0,y=1.0,r=0.7])Node36[a=-1.0,b=1.0,x=-1.0,y=2.0,r=0.61])Node28[a=-1.0,b=1.0,x=0.0,y=1.0,r=0.89])Node20[a=-1.0,b=-1.0,x=1.0,y=0.0,r=1.4])Node15[a=-1.0,b=0.0,x=2.0,y=1.0,r=1.14])Node13[a=1.0,b=-1.0,x=3.0,y=1.0,r=1.3])Node8[a=0.0,b=-1.0,x=2.0,y=2.0,r=0.55])Node5[a=1.0,b=1.0,x=2.0,y=3.0,r=1.12])Node4[a=1.0,b=0.0,x=1.0,y=2.0,r=0.75],((((((((((Node217[a=-1.0,b=1.0,x=-4.0,y=12.0,r=0.85])Node173[a=1.0,b=1.0,x=-3.0,y=11.0,r=1.25])Node136[a=-1.0,b=1.0,x=-4.0,y=10.0,r=1.34])Node100[a=-1.0,b=0.0,x=-3.0,y=9.0,r=1.27])Node77[a=1.0,b=1.0,x=-2.0,y=9.0,r=1.11],((Node216[a=-1.0,b=1.0,x=-6.0,y=9.0,r=0.67])Node135[a=-1.0,b=-1.0,x=-5.0,y=8.0,r=0.85],(Node172[a=-1.0,b=-1.0,x=-6.0,y=8.0,r=1.36])Node134[a=-1.0,b=0.0,x=-5.0,y=9.0,r=0.95])Node76[a=-1.0,b=1.0,x=-4.0,y=9.0,r=0.65])Node57[a=-1.0,b=1.0,x=-3.0,y=8.0,r=0.7],(((Node215[a=-1.0,b=0.0,x=-4.0,y=7.0,r=0.78],Node214[a=-1.0,b=1.0,x=-4.0,y=8.0,r=0.99])Node171[a=-1.0,b=-1.0,x=-3.0,y=7.0,r=1.25])Node133[a=-1.0,b=0.0,x=-2.0,y=8.0,r=1.24])Node56[a=1.0,b=1.0,x=-1.0,y=8.0,r=0.71])Node35[a=0.0,b=1.0,x=-2.0,y=7.0,r=0.59])Node27[a=-1.0,b=1.0,x=-2.0,y=6.0,r=0.74])Node12[a=0.0,b=1.0,x=-1.0,y=5.0,r=1.19])Node7[a=-1.0,b=1.0,x=-1.0,y=4.0,r=0.59])Node3[a=0.0,b=1.0,x=0.0,y=3.0,r=0.99])Node2[a=-1.0,b=1.0,x=0.0,y=2.0,r=1.29])Node1[a=1.0,b=1.0,x=1.0,y=1.0,r=0.75])Node_0[a=0,b=0,x=0,y=0,r=1] \n",
      "\n",
      "\n",
      "Number of groups or nodes in target tree: 254\n",
      "\n",
      "--- Generation 1/7003, Best fitness -1.0 ---\n",
      "\n",
      "--- Generation 1001/7003, Best fitness 0.84022 ---\n",
      "\n",
      "--- Generation 2001/7003, Best fitness 0.88827 ---\n",
      "\n",
      "--- Generation 3001/7003, Best fitness 0.91243 ---\n",
      "\n",
      "--- Generation 4001/7003, Best fitness 0.94101 ---\n",
      "\n",
      "--- Generation 5001/7003, Best fitness 0.94413 ---\n",
      "\n",
      "--- Generation 6001/7003, Best fitness 0.95238 ---\n",
      "\n",
      "--- Generation 7001/7003, Best fitness 0.95518 ---\n",
      "\n",
      "Running evolutionary process for max_depth = 15 and generations = 7004\n",
      "target_tree: ((((((((Node88[a=0.0,b=1.0,x=-3.0,y=5.0,r=1.11])Node71[a=-1.0,b=1.0,x=-3.0,y=4.0,r=1.17],(Node111[a=-1.0,b=-1.0,x=-3.0,y=3.0,r=1.47],(Node133[a=1.0,b=1.0,x=0.0,y=6.0,r=0.6],(Node156[a=1.0,b=1.0,x=0.0,y=7.0,r=0.69])Node132[a=0.0,b=1.0,x=-1.0,y=6.0,r=1.23])Node110[a=1.0,b=1.0,x=-1.0,y=5.0,r=0.51])Node70[a=0.0,b=1.0,x=-2.0,y=4.0,r=1.5])Node55[a=0.0,b=1.0,x=-2.0,y=3.0,r=0.55],(((Node131[a=1.0,b=1.0,x=2.0,y=5.0,r=0.65],((Node188[a=1.0,b=1.0,x=2.0,y=7.0,r=1.17])Node155[a=1.0,b=1.0,x=1.0,y=6.0,r=1.23])Node130[a=-1.0,b=1.0,x=0.0,y=5.0,r=1.44])Node87[a=1.0,b=1.0,x=1.0,y=4.0,r=1.3])Node69[a=1.0,b=0.0,x=0.0,y=3.0,r=1.08])Node54[a=1.0,b=1.0,x=-1.0,y=3.0,r=1.09])Node31[a=1.0,b=1.0,x=-2.0,y=2.0,r=0.84],(((((Node187[a=-1.0,b=0.0,x=-7.0,y=3.0,r=0.62])Node154[a=-1.0,b=1.0,x=-6.0,y=3.0,r=0.77],(Node186[a=-1.0,b=1.0,x=-7.0,y=2.0,r=0.84])Node153[a=-1.0,b=-1.0,x=-6.0,y=1.0,r=1.29])Node109[a=-1.0,b=1.0,x=-5.0,y=2.0,r=1.29])Node68[a=-1.0,b=-1.0,x=-4.0,y=1.0,r=0.91],((((Node185[a=1.0,b=-1.0,x=-5.0,y=1.0,r=0.95])Node152[a=-1.0,b=-1.0,x=-6.0,y=2.0,r=0.75],(Node184[a=-1.0,b=0.0,x=-6.0,y=4.0,r=0.89],Node183[a=-1.0,b=1.0,x=-6.0,y=5.0,r=1.14])Node151[a=0.0,b=1.0,x=-5.0,y=4.0,r=0.63])Node129[a=-1.0,b=-1.0,x=-5.0,y=3.0,r=0.61],(Node182[a=-1.0,b=1.0,x=-5.0,y=6.0,r=0.85],Node181[a=-1.0,b=0.0,x=-5.0,y=5.0,r=0.64])Node128[a=0.0,b=1.0,x=-4.0,y=5.0,r=1.19])Node108[a=0.0,b=1.0,x=-4.0,y=4.0,r=0.58])Node67[a=-1.0,b=1.0,x=-4.0,y=3.0,r=0.97])Node42[a=1.0,b=0.0,x=-3.0,y=2.0,r=1.39])Node30[a=-1.0,b=1.0,x=-4.0,y=2.0,r=0.81])Node12[a=-1.0,b=0.0,x=-3.0,y=1.0,r=0.53])Node9[a=0.0,b=1.0,x=-2.0,y=1.0,r=1.0],((((((((()Node107[a=1.0,b=1.0,x=3.0,y=4.0,r=1.24],((Node180[a=1.0,b=1.0,x=4.0,y=6.0,r=1.1],Node179[a=0.0,b=1.0,x=3.0,y=6.0,r=0.77])Node149[a=1.0,b=1.0,x=3.0,y=5.0,r=1.41],(Node178[a=1.0,b=1.0,x=2.0,y=6.0,r=1.3])Node148[a=-1.0,b=1.0,x=1.0,y=5.0,r=0.69])Node106[a=0.0,b=1.0,x=2.0,y=4.0,r=1.46])Node66[a=1.0,b=0.0,x=2.0,y=3.0,r=1.18],((((Node146[a=0.0,b=1.0,x=-2.0,y=7.0,r=1.27])Node127[a=0.0,b=1.0,x=-2.0,y=6.0,r=1.28],(Node176[a=-1.0,b=0.0,x=-4.0,y=6.0,r=1.1],Node175[a=0.0,b=1.0,x=-3.0,y=7.0,r=1.3])Node126[a=-1.0,b=1.0,x=-3.0,y=6.0,r=1.0])Node105[a=-1.0,b=1.0,x=-2.0,y=5.0,r=1.43])Node86[a=-1.0,b=0.0,x=-1.0,y=4.0,r=1.38])Node65[a=-1.0,b=1.0,x=0.0,y=4.0,r=1.48])Node53[a=0.0,b=1.0,x=1.0,y=3.0,r=0.68])Node41[a=1.0,b=0.0,x=1.0,y=2.0,r=1.29])Node29[a=-1.0,b=1.0,x=0.0,y=2.0,r=0.7])Node23[a=1.0,b=0.0,x=1.0,y=1.0,r=1.19],((Node62[a=1.0,b=-1.0,x=3.0,y=0.0,r=1.41])Node39[a=1.0,b=1.0,x=2.0,y=1.0,r=1.07])Node22[a=1.0,b=-1.0,x=1.0,y=0.0,r=1.23])Node16[a=1.0,b=-1.0,x=0.0,y=1.0,r=1.31])Node11[a=0.0,b=1.0,x=-1.0,y=2.0,r=0.55])Node8[a=1.0,b=1.0,x=-1.0,y=1.0,r=1.39])Node5[a=-1.0,b=1.0,x=-2.0,y=0.0,r=1.08],((()Node10[a=-1.0,b=-1.0,x=-4.0,y=-1.0,r=1.21])Node7[a=-1.0,b=1.0,x=-3.0,y=0.0,r=1.22],Node6[a=1.0,b=1.0,x=-1.0,y=0.0,r=1.09])Node4[a=-1.0,b=0.0,x=-2.0,y=-1.0,r=0.93])Node2[a=-1.0,b=-1.0,x=-1.0,y=-1.0,r=1.07],((((((((((Node142[a=1.0,b=0.0,x=1.0,y=-5.0,r=1.3])Node99[a=1.0,b=-1.0,x=0.0,y=-5.0,r=0.72])Node80[a=1.0,b=0.0,x=-1.0,y=-4.0,r=1.36])Node59[a=-1.0,b=-1.0,x=-2.0,y=-4.0,r=0.7])Node50[a=-1.0,b=1.0,x=-1.0,y=-3.0,r=1.22])Node36[a=-1.0,b=0.0,x=0.0,y=-4.0,r=1.33])Node27[a=-1.0,b=-1.0,x=1.0,y=-4.0,r=0.91])Node19[a=0.0,b=-1.0,x=2.0,y=-3.0,r=1.19],(((((()Node98[a=-1.0,b=1.0,x=3.0,y=3.0,r=0.61],((Node167[a=1.0,b=0.0,x=7.0,y=1.0,r=1.19],Node166[a=0.0,b=1.0,x=6.0,y=2.0,r=1.35])Node141[a=1.0,b=-1.0,x=6.0,y=1.0,r=0.62])Node97[a=1.0,b=0.0,x=5.0,y=2.0,r=0.58])Node79[a=-1.0,b=1.0,x=4.0,y=2.0,r=1.21])Node49[a=1.0,b=1.0,x=5.0,y=1.0,r=0.63],((Node117[a=0.0,b=-1.0,x=4.0,y=-3.0,r=1.21])Node96[a=1.0,b=-1.0,x=4.0,y=-2.0,r=1.02])Node48[a=-1.0,b=-1.0,x=3.0,y=-1.0,r=1.46])Node35[a=0.0,b=1.0,x=4.0,y=0.0,r=0.9],(((Node140[a=-1.0,b=0.0,x=4.0,y=-4.0,r=1.19])Node78[a=-1.0,b=-1.0,x=5.0,y=-4.0,r=1.41],(((Node165[a=0.0,b=1.0,x=6.0,y=0.0,r=1.33])Node116[a=0.0,b=1.0,x=6.0,y=-1.0,r=1.07],(Node164[a=1.0,b=0.0,x=8.0,y=-1.0,r=1.35],Node163[a=0.0,b=1.0,x=7.0,y=0.0,r=1.41])Node115[a=1.0,b=1.0,x=7.0,y=-1.0,r=1.08])Node95[a=1.0,b=1.0,x=6.0,y=-2.0,r=1.14])Node77[a=-1.0,b=0.0,x=5.0,y=-3.0,r=0.95])Node47[a=1.0,b=-1.0,x=6.0,y=-3.0,r=1.31],(Node58[a=0.0,b=1.0,x=5.0,y=0.0,r=1.38])Node46[a=0.0,b=1.0,x=5.0,y=-1.0,r=0.84])Node34[a=1.0,b=-1.0,x=5.0,y=-2.0,r=1.1])Node26[a=1.0,b=1.0,x=4.0,y=-1.0,r=1.1],(((((Node139[a=1.0,b=-1.0,x=4.0,y=-7.0,r=0.9])Node94[a=1.0,b=0.0,x=3.0,y=-6.0,r=0.82])Node76[a=-1.0,b=-1.0,x=2.0,y=-6.0,r=0.62],((Node138[a=-1.0,b=0.0,x=2.0,y=-7.0,r=0.58])Node93[a=-1.0,b=-1.0,x=3.0,y=-7.0,r=0.89])Node75[a=1.0,b=-1.0,x=4.0,y=-6.0,r=0.65])Node45[a=0.0,b=-1.0,x=3.0,y=-5.0,r=1.24],((((Node162[a=0.0,b=1.0,x=7.0,y=-2.0,r=1.08])Node92[a=1.0,b=1.0,x=7.0,y=-3.0,r=1.32])Node74[a=1.0,b=1.0,x=6.0,y=-4.0,r=0.83],((()Node114[a=1.0,b=0.0,x=8.0,y=-7.0,r=0.55])Node91[a=1.0,b=-1.0,x=7.0,y=-7.0,r=1.16])Node73[a=1.0,b=-1.0,x=6.0,y=-6.0,r=1.29])Node57[a=1.0,b=0.0,x=5.0,y=-5.0,r=1.14],((((Node136[a=0.0,b=1.0,x=8.0,y=-2.0,r=1.38],(Node157[a=1.0,b=1.0,x=10.0,y=-3.0,r=1.09])Node135[a=1.0,b=-1.0,x=9.0,y=-4.0,r=0.71])Node113[a=1.0,b=1.0,x=8.0,y=-3.0,r=1.1],(Node134[a=0.0,b=1.0,x=8.0,y=-4.0,r=1.31])Node112[a=1.0,b=-1.0,x=8.0,y=-5.0,r=0.55])Node89[a=1.0,b=1.0,x=7.0,y=-4.0,r=1.15])Node72[a=1.0,b=1.0,x=6.0,y=-5.0,r=1.44])Node56[a=1.0,b=-1.0,x=5.0,y=-6.0,r=0.69])Node44[a=1.0,b=-1.0,x=4.0,y=-5.0,r=0.98])Node33[a=0.0,b=-1.0,x=3.0,y=-4.0,r=0.75])Node25[a=0.0,b=-1.0,x=3.0,y=-3.0,r=0.81])Node18[a=1.0,b=0.0,x=3.0,y=-2.0,r=0.54])Node14[a=1.0,b=-1.0,x=2.0,y=-2.0,r=1.29],((((Node43[a=-1.0,b=1.0,x=-1.0,y=-2.0,r=1.26])Node32[a=-1.0,b=-1.0,x=0.0,y=-3.0,r=0.89])Node24[a=0.0,b=1.0,x=1.0,y=-2.0,r=0.72])Node17[a=1.0,b=-1.0,x=1.0,y=-3.0,r=1.17])Node13[a=-1.0,b=-1.0,x=0.0,y=-2.0,r=1.22])Node3[a=1.0,b=0.0,x=1.0,y=-1.0,r=0.57])Node1[a=0.0,b=-1.0,x=0.0,y=-1.0,r=0.62])Node_0[a=0,b=0,x=0,y=0,r=1] \n",
      "\n",
      "\n",
      "Number of groups or nodes in target tree: 139\n",
      "\n",
      "--- Generation 1/7004, Best fitness -1.0 ---\n",
      "\n",
      "--- Generation 1001/7004, Best fitness 0.79845 ---\n",
      "\n",
      "--- Generation 2001/7004, Best fitness 0.83922 ---\n",
      "\n",
      "--- Generation 3001/7004, Best fitness 0.85317 ---\n",
      "\n",
      "--- Generation 4001/7004, Best fitness 0.876 ---\n",
      "\n",
      "--- Generation 5001/7004, Best fitness 0.896 ---\n",
      "\n",
      "--- Generation 6001/7004, Best fitness 0.90323 ---\n",
      "\n",
      "--- Generation 7001/7004, Best fitness 0.90726 ---\n",
      "\n",
      "Running evolutionary process for max_depth = 15 and generations = 7005\n",
      "target_tree: Node_0[a=0,b=0,x=0,y=0,r=1] \n",
      "\n",
      "\n",
      "Number of groups or nodes in target tree: 1\n",
      "\n",
      "--- Generation 1/7005, Best fitness -1.0 ---\n",
      "\n",
      "--- Generation 1001/7005, Best fitness 0.64286 ---\n",
      "\n",
      "--- Generation 2001/7005, Best fitness 0.9 ---\n",
      "\n",
      "--- Generation 3001/7005, Best fitness 0.9 ---\n",
      "\n",
      "--- Generation 4001/7005, Best fitness 0.9 ---\n",
      "\n",
      "--- Generation 5001/7005, Best fitness 0.9 ---\n",
      "\n",
      "--- Generation 6001/7005, Best fitness 0.9 ---\n",
      "\n",
      "--- Generation 7001/7005, Best fitness 0.9 ---\n",
      "draw_all_historiesk4(fitness_histories, lengths_of_target_sequence)\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ],
      "image/png": "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"
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Execution time: 4 hours, 41 minutes, 39 seconds\n"
     ]
    }
   ],
   "execution_count": 17
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Observaciones.\n",
    "1. La tarea para un nodo induce un comportamiento caótico de la función de fitness.\n",
    "2. Las diferencias entre las funciones de aptitud o fitness para los nodos 64, 139 y 254 de árboles podados fueron insinificantes. Y después de casi cinco horas de trabajo en la CPU, se logró una  aptitud final de 0,9. Esto es muy parecido a los árboles comunes.\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# GRADUACIÓN\n",
    "\n",
    "Elige un tema entre los siguientes para trabajar en él:\n",
    "\n",
    "1. Decide cuáles son las preguntas importantes. Compara tu elección con la opinión del Autor: En nuestra opinión, la pregunta más importante es la siguiente: ¿cómo debemos definir la complejidad de los morfo-árboles para que el dicho de que la complejidad debe destruir la Evolución se vuelva obviamente cierto? Tal vez haya que inventar tareas abstractas para desafiar a la Evolución, por ejemplo: reproducir un collar de agujeros que nos recuerde la columna vertebral.\n",
    "2. Por medio de los conjuntos de diferencias simétricas, hemos definido la aptitud como una medida de la coincidencia de las áreas de iluminación, una del árbol objetivo y la otra del árbol de prueba. Nuestra medida de la aptitud no parece ser perfecta porque en grandes glóbulos, podría haber demasiadas células en la diferencia simétrica entre el objetivo y los árboles de prueba (que mide el error), pero sin embargo, la aptitud es alta.\n",
    "3. Nuestra definición de aptitud permite que muchos árboles puedan resolver el mismo problema. Esto facilita la tarea y, por lo tanto, elude la complejidad. Pero, la naturaleza no concibe la forma como solo el aspecto exterior. En la naturaleza, cada estructura se rellena con subestructuras de la más variada naturaleza. Modelar y estudiar esta nueva situación.\n",
    "4. El número de nodos en el árbol era nuestra medida de complejidad. Esa medida no cumple con nuestra expectativa de que la complejidad destruya a la Evolución.  Esto es posiblemente debido a un grupo de variables ocultas. Nuestra propuesta de árboles podados fue, en nuestra opinión, un fracaso. La posible razón es que nuestros árboles de alguna manera se asemejan a un árbol en forma de tarta que se espera que sea fácilmente evolutivo. Sabemos esto, porque los árboles podados tienen huecos con una forma radial. Descubre otras variables ocultas nuevas y estudia su impacto sobre la Evolución.\n",
    "5. Optimizar el código para velocidad. Dos ideas son:\n",
    ">\n",
    ">   i. Utiliza una matriz binaria para registrar la ocupación de los cuadrados en lugar de un conjunto, que es una estructura de carga pesada.\n",
    ">\n",
    ">   ii. En los programas utilizados, para reunir las coordenadas de los cuadrados iluminados, se formó una cuadrícula y se escaneó dos veces, vertical y horizontalmente. Si uno lo hace sólo en un sentido, el error es pequeño, así que se puede desechar.\n",
    "\n",
    "6. Nuestro procedimiento para validar un morfo-árbol es imperfecto. Por ejemplo, no prueba la conectividad de los gráficos formados al vincular a los hijos con los padres, y los padres y los hijos no son vecinos después de la recombinación, pero no se declara ningún error. Haz algo mejor.\n",
    "7. Hemos encontrado problemas con la ocupación múltiple de plazas. Lo toleramos en los primeros programas porque la naturaleza tiene un remedio: la apoptosis o la autopurga. En los últimos programas, preferíamos aceptar sólo las mutaciones que no producían hacinamiento. Esto crea una distancia con la naturaleza, donde no hay un remedio previo para los problemas futuros. Restaura la naturalidad. Por ejemplo, demostrar que la Naturaleza castiga la doble y mucho más la múltiple ocupación del mismo espacio. Insertar el término correspondiente en la función de fitness. Para ello, utilice una matriz de ocupación con valores enteros.\n",
    "8. Hemos retorcido la Evolución para hacerla computable para computadoras de escritorios ordinarias. Por ejemplo, hemos programado una mutación para producir hijos en las inmediaciones del padre. Si una mutación propuesta rompe el árbol, no es aceptada. En lugar de esto, añade a la función de selección un término para castigar los árboles desgarrados y justificar su naturalidad.\n",
    "9. Nuestro trabajo es principalmente académico. Para convertirlo en un esfuerzo científico, cambie la notación de Newick por una notación similar al ADN. Por ejemplo, en lugar de paréntesis, use codones para indicar el comienzo o el final de una información dada de un nodo. Luego, formular predicciones que podrían guiar a los biólogos moleculares que trabajan en la morfogénesis.\n",
    "10.  La complejidad de los resultados ha superado nuestra intuición. En estos casos, una buena herramienta es el análisis estadístico multivariante. Uno podría intentar, por ejemplo, [regresión multiple](https://www.google.com/url?sa=t&source=web&rct=j&opi=89978449&url=CAESegHrOzAVdHU3nLFF8liVjLWJV84A32_-TIowlCRoPITzW35H9v_qq8m0U8EKAge_64QYBExz-x7TZrlh0to2JgMqdYTMys4Uswyis822EQnjTD7KDeIuef0bypIbvq9wFrLl0BOaK14qermxw0bKbljpc002YfIzaXx5&ved=2ahUKEwjJ5-Ow7ayXAxX7SjABHQ4RDpcQFnoECB8QAQ&uoh=2&usg=AOvVaw3Tz5ClVBQO9sll1iFC6Fm3) para cuantificar el impacto de algunas variables de entrada sobre la de salida. Utilice esto para nuestro caso en el que las variables de entrada son el número de nodos, el tamaño de la población, el número de hijos, la profundidad máxima, la globularidad, una medida de rica estructura  y otras variables ocultas de su invención. La variable de salida podría ser la fitness final. Además, si decides usar diversas métricas o funciones de fitness, necesitarás [regresión multivariada](https://www.tqmp.org/RegularArticles/vol20-2/p186/p186.pdf).\n",
    "11. Si te sientes abrumado por tanto trabajo para desentrañar preguntas simples, crea una cibercomunidad de experimentadores y dale a ellos la tarea de encontrar una respuesta sólida a la pregunta: ¿La complejidad de los morfo-árboles aplasta a la Evolución? Por supuesto, deben inventar una definición de complejidad que haga que la Evolución se comporte como se espera, de lo contrario demostrarán que no existe ninguna definición de complejidad que haga eso.\n",
    "12. ¿La Evolución de los árboles morfo 2D está gobernada por la pleiotropía? Consideramos que la Evolución observada por saltos es un signo de pleiotropía. Pero el surgimiento del monomorfismo también debe ser investigado. Investigarlo.\n",
    "13. La Evolución del fitness avanza por saltos. Sin embargo, la envolvente se parece, en general, al antiguo patrón de una función convexa que tiende a un valor máximo, que es su estado de equilibrio. Por esta razón, la teoría MAX parece un buen candidato para explicar la forma de dicha envolvente. Si se encuentra un buen indicador de complejidad, el comportamiento de la Evolución en su batalla contra la complejidad ya está predicho por esta teoría. Ponga a prueba esta expectativa."
   ]
  },
  {
   "metadata": {},
   "cell_type": "markdown",
   "source": [
    "# CONCLUSIONES\n",
    "\n",
    "[Un trabajo anterior](https://drive.google.com/file/d/1LbgD15bxQ2yUGpJbiAF77-MahqSrH8Mx/view?usp=sharing) nos ha mostrado que una buena estrategia para crear estabilidad evolutiva es la pleiotropía, que ocurre cuando un cambio causa muchos efectos. Imaginemos un piñón de bicicleta que se conecte a la cadena. Cambiar el ancho de un diente en el piñón causa un defecto de fijación en todos los eslabones de la cadena, que son más de 100. El resultado es que ningún usuario está interesado en hacer un cambio así. El efecto final es la estabilidad del diseño. Vimos esto en los árboles filogenéticos y por eso la Evolución en el espacio de esos árboles emplea demasiadas generaciones para obtener algo similar a un árbol objetivo.\n",
    "\n",
    "Puesto que la reproducción celular también se describe por un árbol, imaginamos que la morfogénesis es una modulación de la reproducción que podría explicar dos hechos contradictorios. Primero: por qué las moscas son iguales en todo el mundo. Segundo: por qué todas las especies tienen demasiados pequeños detalles altamente variables.  Los árboles tienen el potencial de explicar ambos hechos. En primer lugar, las hojas de los árboles pueden mutar sin distorsionar el árbol. Por lo tanto, los árboles son una fuente de tremenda variabilidad. En segundo lugar, los nodos más profundos pueden mutar al precio de causar cambios destructivos que podrían equivaler a la muerte. Debido a que los árboles son reticentes a los cambios, pueden facilitar la estabilidad. Así, formulamos un modelo para la morfogénesis que parecía ser simple y prospectivo: el Lighting Network Model o Modelo de la Red de Alumbrado. Este modelo, que dice que dentro del árbol reproductivo hay un subárbol, cuyos nodos expulsan mensajeros que pueden regular la reproducción o causar diferenciación. Así, sus nodos son como lámparas en la red de iluminación de una casa.  En [la contribución anterior](https://drive.google.com/file/d/1uUkyhGALznjn5uZQ2BxvL-bGXC4IqR4g/view?usp=sharing) utilizamos la clase de nodo, un elemento de la teoría de grafos (nodos y conectores), para codificar árboles,los morfo-árboles. Esta codificación es natural pero extremadamente costosa de usar. Por lo tanto, es imprescindible estudiar otras opciones.\n",
    "\n",
    "En esta contribución, investigamos la posibilidad de usar cadenas o secuencias de letras para codificar árboles. Pudimos simular la Evolución de los mofo-árboles gracias al [formato o notación Newick para árboles](https://es.wikipedia.org/w/index.php?title=Formato_Newick&oldid=160140912) como cadenas. Esta posibilidad nos permitió desafiar a la Evolución con la tarea de reproducir la forma de un área que estaba iluminada por un árbol objetivo.  Nuestros dos resultados principales son:\n",
    "1. El número de nodos está poco relacionado con la complejidad. De hecho, se ha observado en muchos casos que una tarea con un mayor número de nodos se resuelve antes y en un mejor grado que con uno inferior. Por lo tanto, la pregunta abierta más importante es cómo definir la complejidad de los morfo-árboles para mostrar que la complejidad aplasta a la Evolución, tal como la hemos encontrado en trabajos anteriores. Tal vez haya que desafiar a la Evolución con tareas abstractas, como reproducir la estructura de un collar de agujeros que modela una columna vertebral. Si  la complejidad, dada por el número de agujeros, aplasta a la Evolución, esto explicaría la estabilidad evolutiva de la forma de los vertebrados.\n",
    "2. Según nuestras simulaciones, la Evolución destruye los morfo-árboles. Para que este resultado sea compatible con la Naturaleza, es obligatoria una predicción. Lo que vemos en la Naturaleza es que todos los seres humanos tienen dos ojos, y, por el mismo motivo, la forma y la figura de todas las especies están dominadas por caracteres monomórficos. Por lo tanto, la predicción de cumplimiento obligatorio es que el registro fósil de todas las especies se debe rellenar con todo tipo de monstruosidades (formas muy diferentes de las actuales y con una muy baja aptitud). Uno puede poner a pueba esta predicción yendo al museo y observando los fósiles.\n"
   ]
  }
 ],
 "metadata": {
  "colab": {
   "authorship_tag": "ABX9TyPMZ4q5qDW6pu28cQEFFU0L",
   "provenance": []
  },
  "kernelspec": {
   "display_name": "Python 3",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.14.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
