{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "c8219774",
   "metadata": {},
   "source": [
    "# 08 · Construir un GPT: un modelo generalista a partir de predecir el siguiente token\n",
    "\n",
    "**GPT** = **G**enerative **P**re-trained **T**ransformer (transformer generativo preentrenado). Es la mitad decodificadora del transformer del notebook 07, entrenada con un objetivo engañosamente simple:\n",
    "\n",
    "> dado el texto hasta ahora, predice el siguiente token.\n",
    "\n",
    "Haz eso con suficiente texto variado y el modelo tiene que aprender gramática, hechos, aritmética, traducción y patrones de razonamiento, porque todo eso ayuda a predecir lo que viene después. La *misma* red realiza entonces una tarea elegida simplemente por cómo está escrita la instrucción (el prompt). Eso es lo que la convierte en un modelo **generalista**.\n",
    "\n",
    "En este notebook construimos un GPT desde cero y lo preentrenamos con un pequeño corpus multitarea (sumas, inversión de cadenas, ordenación, traducción de inglés a español y capitales del mundo), todo escrito como texto plano. Un modelo, una pérdida, cinco habilidades.\n",
    "\n",
    "El corpus de entrenamiento está **en inglés** (las instrucciones de las tareas y los nombres de países, por ejemplo `capital peru=lima`), así que las salidas del modelo que verás más abajo también lo están; el notebook explica cada una.\n",
    "\n",
    "**Contenido**\n",
    "1. GPT en contexto\n",
    "2. Tokenización: caracteres, palabras y Byte-Pair Encoding (BPE)\n",
    "3. Un corpus de preentrenamiento multitarea\n",
    "4. La arquitectura GPT\n",
    "5. Antes de entrenar: un modelo que no sabe nada\n",
    "6. Preentrenamiento, y cómo surgen las habilidades\n",
    "7. Usar el generalista: instrucciones para distintas tareas (y alucinaciones)\n",
    "8. Muestreo: voraz, temperatura, top-k, top-p\n",
    "9. Dentro del modelo: la atención mientras suma\n",
    "10. Generación rápida con una caché KV\n",
    "11. Ajuste fino: por qué importa el preentrenamiento\n",
    "12. De un modelo base a ChatGPT, y las leyes de escala\n",
    "13. Ejercicios\n",
    "\n",
    "⏱ Tiempo de ejecución: unos 15 minutos en la CPU de un equipo personal, casi todo en la sección 6."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "29d48253",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-16T09:18:49.893808Z",
     "iopub.status.busy": "2026-10-16T09:18:49.893284Z",
     "iopub.status.idle": "2026-10-16T09:18:53.148502Z",
     "shell.execute_reply": "2026-10-16T09:18:53.147222Z"
    }
   },
   "outputs": [],
   "source": [
    "import warnings\n",
    "warnings.filterwarnings(\"ignore\")\n",
    "import math, random, time\n",
    "from collections import Counter\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import torch\n",
    "import torch.nn as nn\n",
    "import torch.nn.functional as F\n",
    "\n",
    "random.seed(0); np.random.seed(0); torch.manual_seed(0)\n",
    "torch.set_num_threads(max(1, torch.get_num_threads()))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ddebf42e",
   "metadata": {},
   "source": [
    "## 1. GPT en contexto\n",
    "\n",
    "| Modelo | Año | Parámetros | Tokens de entrenamiento | Qué cambió |\n",
    "|---|---|---|---|---|\n",
    "| GPT-1 | 2018 | 117 M | ~1.000 M | preentrenar con libros y después ajustar para cada tarea |\n",
    "| GPT-2 | 2019 | 1.500 M | ~10.000 M (WebText) | tareas sin ejemplos (zero-shot) solo con la instrucción |\n",
    "| GPT-3 | 2020 | 175.000 M | ~300.000 M | **aprendizaje en contexto**: mostrar unos pocos ejemplos en la instrucción |\n",
    "| InstructGPT / ChatGPT | 2022 | (GPT-3.5) | + retroalimentación humana | el ajuste por instrucciones + RLHF convierten un modelo base en un asistente |\n",
    "| GPT-4 y modelos de frontera posteriores | 2023+ | no publicado | no publicado | multimodales, mucho más grandes, mezcla de expertos, contexto largo, uso de herramientas |\n",
    "\n",
    "La arquitectura apenas cambió a lo largo de esta tabla. Lo que creció fue la **escala** (parámetros, datos, cálculo) y el **postentrenamiento** que convierte un predictor de texto en un asistente útil. El modelo que construimos tiene la misma estructura que GPT-2, solo que unas 2.000 veces más pequeño.\n",
    "\n",
    "## 2. Tokenización\n",
    "\n",
    "Un modelo lee enteros, no texto. Hay tres opciones para hacer la correspondencia:\n",
    "\n",
    "| Unidad | Vocabulario | Longitud de la secuencia | Problema |\n",
    "|---|---|---|---|\n",
    "| Caracteres | diminuto (~100) | larga | el modelo debe aprender ortografía; las secuencias se alargan |\n",
    "| Palabras | enorme (más de 100.000) | corta | palabras desconocidas, nada compartido entre \"run\" y \"running\" |\n",
    "| **Subpalabras (BPE)** | elegido (GPT-2: 50.257) | media | el compromiso estándar |\n",
    "\n",
    "**Byte-Pair Encoding** empieza con los caracteres y **fusiona** repetidamente **el par adyacente más frecuente** en un token nuevo. Las palabras frecuentes se convierten en un solo token y las raras se dividen en piezas reutilizables. Abajo está el algoritmo completo."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "5e4f44dc",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-16T09:18:53.152898Z",
     "iopub.status.busy": "2026-10-16T09:18:53.152455Z",
     "iopub.status.idle": "2026-10-16T09:18:53.170915Z",
     "shell.execute_reply": "2026-10-16T09:18:53.169781Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "primeras 15 fusiones: [' t', 'e ', ' to', ' th', 'en', 'or', ' tok', ' token', ' a', 'ar', 'ct', ' l', ' p', 're', ' the ']\n",
      "\n",
      "360 caracteres -> 178 tokens tras 40 fusiones (2.0 caracteres por token)\n",
      "\n",
      "codificación de una frase nueva: ['t', 'h', 'e ', 'n', 'e', 'x', 't ', 'word', ' predict', 's', ' the ', 'mode', 'l']\n"
     ]
    }
   ],
   "source": [
    "sample_text = (\n",
    "    \"the model learns to predict the next token. the next token depends on the tokens before it. \"\n",
    "    \"a token can be a word, a part of a word, or a single character. learning to predict the next \"\n",
    "    \"word teaches the model grammar, facts and reasoning, because all of them help prediction. \"\n",
    "    \"transformers use attention to let every token look at the tokens that came before it.\"\n",
    ")\n",
    "\n",
    "def bpe_train(text, n_merges):\n",
    "    seq = list(text)                         # se empieza por los caracteres\n",
    "    merges = []\n",
    "    for _ in range(n_merges):\n",
    "        pairs = Counter(zip(seq, seq[1:]))\n",
    "        (a, b), count = pairs.most_common(1)[0]\n",
    "        if count < 2:\n",
    "            break\n",
    "        merges.append((a, b))\n",
    "        new, i = [], 0\n",
    "        while i < len(seq):                  # se sustituye cada aparición del par\n",
    "            if i < len(seq) - 1 and seq[i] == a and seq[i + 1] == b:\n",
    "                new.append(a + b); i += 2\n",
    "            else:\n",
    "                new.append(seq[i]); i += 1\n",
    "        seq = new\n",
    "    return merges, seq\n",
    "\n",
    "def bpe_encode(text, merges):\n",
    "    seq = list(text)\n",
    "    for a, b in merges:                      # se aplican las fusiones en el orden en que se aprendieron\n",
    "        new, i = [], 0\n",
    "        while i < len(seq):\n",
    "            if i < len(seq) - 1 and seq[i] == a and seq[i + 1] == b:\n",
    "                new.append(a + b); i += 2\n",
    "            else:\n",
    "                new.append(seq[i]); i += 1\n",
    "        seq = new\n",
    "    return seq\n",
    "\n",
    "merges, tokens = bpe_train(sample_text, 40)\n",
    "print(\"primeras 15 fusiones:\", [a + b for a, b in merges[:15]])\n",
    "print(f\"\\n{len(sample_text)} caracteres -> {len(tokens)} tokens tras {len(merges)} fusiones \"\n",
    "      f\"({len(sample_text) / len(tokens):.1f} caracteres por token)\\n\")\n",
    "print(\"codificación de una frase nueva:\", bpe_encode(\"the next word predicts the model\", merges))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7b3e5a33",
   "metadata": {},
   "source": [
    "Fíjate en que palabras comunes como *the* y *token* se convirtieron en un solo token, mientras que las palabras nuevas se construyen con piezas. Los tokenizadores reales aplican BPE sobre **bytes** en terabytes de texto.\n",
    "\n",
    "Para nuestro pequeño modelo usamos **caracteres**: un vocabulario de unos 40 símbolos mantiene el modelo pequeño y le permite ver exactamente cómo funcionan la suma y la inversión dígito a dígito. Todo lo demás en este notebook es idéntico con un vocabulario BPE.\n",
    "\n",
    "## 3. Un corpus de preentrenamiento multitarea\n",
    "\n",
    "Los GPT reales se preentrenan con páginas web, libros, código y artículos, que contienen implícitamente incontables \"tareas\". Lo imitamos con cinco tipos de tarea, mezclados en un único flujo de texto plano, un ejemplo por línea:\n",
    "\n",
    "| Tarea | Línea de ejemplo | Qué requiere |\n",
    "|---|---|---|\n",
    "| `add` | `add 23+58=81` | un algoritmo (llevarse dígitos) |\n",
    "| `rev` | `rev kqzpa=apzqk` | un algoritmo (copiar al revés) |\n",
    "| `sort` | `sort 5 2 9 2=2 2 5 9` | un algoritmo (ordenar) |\n",
    "| `es` | `es she wants the red car=ella quiere el coche rojo` | lenguaje: vocabulario, conjugación, concordancia, orden de las palabras |\n",
    "| `capital` | `capital peru=lima` | **hechos** memorizados |\n",
    "\n",
    "Para probar la **generalización** real, reservamos 500 sumas y 120 frases que el modelo nunca ve durante el entrenamiento, y la inversión usa cada vez cadenas aleatorias nuevas. Las capitales solo pueden memorizarse, así que con ellas probamos el recuerdo de hechos de entrenamiento."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "c4fcfe9e",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-16T09:18:53.175172Z",
     "iopub.status.busy": "2026-10-16T09:18:53.174875Z",
     "iopub.status.idle": "2026-10-16T09:18:53.645518Z",
     "shell.execute_reply": "2026-10-16T09:18:53.643962Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "corpus: 1,194,459 caracteres, 60,000 líneas\n",
      "\n",
      "es you have the white table=tú tienes la mesa blanca\n",
      "add 10+13=23\n",
      "rev nmnhrz=zrhnmn\n",
      "add 43+55=98\n",
      "capital canada=ottawa\n",
      "add 48+20=68\n",
      "add 6+63=69\n",
      "add 45+78=123\n",
      "add 2+66=68\n",
      "add 50+33=83\n",
      "rev jkpct=tcpkj\n",
      "rev twd=dwt\n",
      "add 79+2=81\n",
      "add 18+75=93\n",
      "add 49+40=89\n",
      "add 41+51=92\n",
      "sort 3 4 8=3 4 8\n",
      "add 90+5=95\n",
      "rev hghj=jhgh\n",
      "sort 3 7 1=1 3 7\n",
      "add 15+66=81\n",
      "sort 6 5 7 2 9 9=2 5 6 7 9 9\n",
      "add 34+25=59\n",
      "capital australia=canbe\n"
     ]
    }
   ],
   "source": [
    "COUNTRIES = {\"france\": \"paris\", \"spain\": \"madrid\", \"italy\": \"rome\", \"germany\": \"berlin\", \"portugal\": \"lisbon\",\n",
    "             \"japan\": \"tokyo\", \"egypt\": \"cairo\", \"peru\": \"lima\", \"chile\": \"santiago\", \"kenya\": \"nairobi\",\n",
    "             \"canada\": \"ottawa\", \"norway\": \"oslo\", \"greece\": \"athens\", \"poland\": \"warsaw\", \"cuba\": \"havana\",\n",
    "             \"india\": \"new delhi\", \"china\": \"beijing\", \"russia\": \"moscow\", \"mexico\": \"mexico city\", \"ireland\": \"dublin\",\n",
    "             \"austria\": \"vienna\", \"sweden\": \"stockholm\", \"finland\": \"helsinki\", \"turkey\": \"ankara\", \"brazil\": \"brasilia\",\n",
    "             \"argentina\": \"buenos aires\", \"colombia\": \"bogota\", \"costa rica\": \"san jose\", \"morocco\": \"rabat\", \"australia\": \"canberra\"}\n",
    "\n",
    "SUBJ = [(\"i\", \"yo\", 0), (\"you\", \"tú\", 1), (\"he\", \"él\", 2), (\"she\", \"ella\", 2), (\"we\", \"nosotros\", 3), (\"they\", \"ellos\", 4)]\n",
    "VERB = {\"eat\": (\"eats\", [\"como\", \"comes\", \"come\", \"comemos\", \"comen\"]),\n",
    "        \"see\": (\"sees\", [\"veo\", \"ves\", \"ve\", \"vemos\", \"ven\"]),\n",
    "        \"want\": (\"wants\", [\"quiero\", \"quieres\", \"quiere\", \"queremos\", \"quieren\"]),\n",
    "        \"buy\": (\"buys\", [\"compro\", \"compras\", \"compra\", \"compramos\", \"compran\"]),\n",
    "        \"have\": (\"has\", [\"tengo\", \"tienes\", \"tiene\", \"tenemos\", \"tienen\"])}\n",
    "NOUN = [(\"apple\", \"manzana\", \"f\"), (\"book\", \"libro\", \"m\"), (\"car\", \"coche\", \"m\"), (\"house\", \"casa\", \"f\"),\n",
    "        (\"dog\", \"perro\", \"m\"), (\"table\", \"mesa\", \"f\"), (\"cat\", \"gato\", \"m\"), (\"shirt\", \"camisa\", \"f\")]\n",
    "ADJ = [(\"red\", \"rojo\", \"roja\"), (\"new\", \"nuevo\", \"nueva\"), (\"old\", \"viejo\", \"vieja\"), (\"white\", \"blanco\", \"blanca\"), (None, None, None)]\n",
    "\n",
    "def translation_pairs():\n",
    "    out = []\n",
    "    for en_s, es_s, p in SUBJ:\n",
    "        for v, (v3, conj) in VERB.items():\n",
    "            for en_n, es_n, g in NOUN:\n",
    "                for en_a, am, af in ADJ:\n",
    "                    en = f\"{en_s} {v3 if en_s in ('he', 'she') else v} the {en_a + ' ' if en_a else ''}{en_n}\"\n",
    "                    es = f\"{es_s} {conj[p]} {'el' if g == 'm' else 'la'} {es_n}\" + (f\" {am if g == 'm' else af}\" if en_a else \"\")\n",
    "                    out.append((en, es))\n",
    "    return out\n",
    "\n",
    "ALL_TR = translation_pairs()\n",
    "random.shuffle(ALL_TR)\n",
    "TR_TEST, TR_TRAIN = ALL_TR[:120], ALL_TR[120:]\n",
    "ADD_ALL = [(a, b) for a in range(100) for b in range(100)]\n",
    "random.shuffle(ADD_ALL)\n",
    "ADD_TEST, ADD_TRAIN = ADD_ALL[:500], ADD_ALL[500:]\n",
    "\n",
    "def rand_word():\n",
    "    return \"\".join(random.choice(\"abcdefghijklmnopqrstuvwxyz\") for _ in range(random.randint(3, 6)))\n",
    "\n",
    "def example(task, split=\"train\"):\n",
    "    # devuelve (instrucción, respuesta); una línea de entrenamiento es instrucción + respuesta\n",
    "    if task == \"add\":\n",
    "        a, b = random.choice(ADD_TRAIN if split == \"train\" else ADD_TEST)\n",
    "        return f\"add {a}+{b}=\", f\"{a + b}\"\n",
    "    if task == \"rev\":\n",
    "        w = rand_word()\n",
    "        return f\"rev {w}=\", w[::-1]\n",
    "    if task == \"sort\":\n",
    "        ds = [random.randint(0, 9) for _ in range(random.randint(3, 6))]\n",
    "        return f\"sort {' '.join(map(str, ds))}=\", \" \".join(map(str, sorted(ds)))\n",
    "    if task == \"es\":\n",
    "        en, es = random.choice(TR_TRAIN if split == \"train\" else TR_TEST)\n",
    "        return f\"es {en}=\", es\n",
    "    if task == \"capital\":\n",
    "        c = random.choice(list(COUNTRIES))\n",
    "        return f\"capital {c}=\", COUNTRIES[c]\n",
    "\n",
    "TASKS = [\"add\", \"rev\", \"sort\", \"es\", \"capital\"]\n",
    "WEIGHTS = [5, 1, 2, 1, 1]          # la aritmética es la habilidad más difícil, así que recibe más datos\n",
    "corpus = \"\\n\".join(\"\".join(example(random.choices(TASKS, WEIGHTS)[0])) for _ in range(60000)) + \"\\n\"\n",
    "\n",
    "print(f\"corpus: {len(corpus):,} caracteres, {corpus.count(chr(10)):,} líneas\\n\")\n",
    "print(corpus[:400])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "f095edc4",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-16T09:18:53.649683Z",
     "iopub.status.busy": "2026-10-16T09:18:53.649404Z",
     "iopub.status.idle": "2026-10-16T09:18:53.954518Z",
     "shell.execute_reply": "2026-10-16T09:18:53.953215Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "vocabulario (42 tokens): '\\n +0123456789=abcdefghijklmnopqrstuvwxyzéú'\n",
      "encode('add 2+2=4') -> [14, 17, 17, 1, 5, 2, 5, 13, 7]\n"
     ]
    }
   ],
   "source": [
    "chars = sorted(set(corpus) | set(\"\".join(e for pair in ALL_TR for e in pair)))\n",
    "stoi = {c: i for i, c in enumerate(chars)}\n",
    "itos = {i: c for c, i in stoi.items()}\n",
    "encode = lambda s: [stoi[c] for c in s]\n",
    "decode = lambda ids: \"\".join(itos[i] for i in ids)\n",
    "data = torch.tensor(encode(corpus), dtype=torch.long)\n",
    "\n",
    "print(f\"vocabulario ({len(chars)} tokens): {''.join(chars)!r}\")\n",
    "print(\"encode('add 2+2=4') ->\", encode(\"add 2+2=4\"))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e9b34796",
   "metadata": {},
   "source": [
    "**Los ejemplos de entrenamiento son simplemente ventanas de texto.** Cortamos fragmentos aleatorios de `BLOCK = 64` caracteres del corpus. La entrada es el fragmento y el objetivo es el mismo fragmento desplazado un carácter. Así, cada posición de cada fragmento es un ejemplo de entrenamiento: *\"dado `add 23+5`, predice `8`\"*. Un fragmento de 64 caracteres da 64 predicciones a la vez, gracias a la máscara causal."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "f0241fc2",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-16T09:18:53.957854Z",
     "iopub.status.busy": "2026-10-16T09:18:53.957580Z",
     "iopub.status.idle": "2026-10-16T09:18:53.967355Z",
     "shell.execute_reply": "2026-10-16T09:18:53.965902Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "contexto 't'                    -> objetivo ' '\n",
      "contexto 't '                   -> objetivo '4'\n",
      "contexto 't 4'                  -> objetivo ' '\n",
      "contexto 't 4 '                 -> objetivo '3'\n",
      "contexto 't 4 3'                -> objetivo ' '\n",
      "contexto 't 4 3 '               -> objetivo '6'\n",
      "contexto 't 4 3 6'              -> objetivo ' '\n",
      "contexto 't 4 3 6 '             -> objetivo '9'\n",
      "contexto 't 4 3 6 9'            -> objetivo ' '\n",
      "contexto 't 4 3 6 9 '           -> objetivo '7'\n",
      "contexto 't 4 3 6 9 7'          -> objetivo '='\n",
      "contexto 't 4 3 6 9 7='         -> objetivo '3'\n"
     ]
    }
   ],
   "source": [
    "BLOCK = 64\n",
    "\n",
    "def get_batch(B, source=None):\n",
    "    source = data if source is None else source\n",
    "    ix = torch.randint(len(source) - BLOCK - 1, (B,))\n",
    "    x = torch.stack([source[i:i + BLOCK] for i in ix])\n",
    "    y = torch.stack([source[i + 1:i + BLOCK + 1] for i in ix])\n",
    "    return x, y\n",
    "\n",
    "x, y = get_batch(1)\n",
    "for t in range(12):\n",
    "    print(f\"contexto {decode(x[0, :t + 1].tolist())!r:22s} -> objetivo {decode([y[0, t].item()])!r}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9bae5343",
   "metadata": {},
   "source": [
    "## 4. La arquitectura GPT\n",
    "\n",
    "Exactamente el bloque decodificador del notebook 07, sin la atención cruzada (no hay codificador):\n",
    "\n",
    "```\n",
    "ids de tokens ─► embedding de token ─┐\n",
    "posiciones ─► embedding de posición (aprendido) ─(+)─► [Bloque] × N ─► LayerNorm ─► Lineal (atada al embedding) ─► logits\n",
    "\n",
    "Bloque: x = x + AutoatenciónCausal(LayerNorm(x))      # leer los tokens anteriores\n",
    "        x = x + MLP(LayerNorm(x))                     # pensar sobre ellos\n",
    "```\n",
    "\n",
    "Detalles que coinciden con GPT-2:\n",
    "* Embeddings de posición **aprendidos** en lugar de sinusoides.\n",
    "* **Pesos atados** (weight tying): la capa de salida reutiliza la matriz de embeddings de entrada (el vector de \"significado\" de un token se usa tanto para leerlo como para escribirlo), lo que ahorra parámetros.\n",
    "* Inicialización normal pequeña (desviación típica 0,02).\n",
    "* `scaled_dot_product_attention` es el núcleo fusionado de PyTorch (al estilo de FlashAttention) para $\\text{softmax}(QK^\\top/\\sqrt{d})V$ con máscara causal. También conservamos un camino explícito más lento para poder ver los pesos de atención.\n",
    "* `past` permite al modelo reutilizar las claves y los valores de pasos anteriores: la **caché KV** (sección 10)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "12c671b9",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-16T09:18:53.971338Z",
     "iopub.status.busy": "2026-10-16T09:18:53.971029Z",
     "iopub.status.idle": "2026-10-16T09:18:54.025551Z",
     "shell.execute_reply": "2026-10-16T09:18:54.024127Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "GPT con 806,912 parámetros (GPT-2 small tiene 124 millones, GPT-3 tiene 175.000 millones)\n"
     ]
    }
   ],
   "source": [
    "class CausalSelfAttention(nn.Module):\n",
    "    def __init__(self, d, n_head, block_size):\n",
    "        super().__init__()\n",
    "        self.h = n_head\n",
    "        self.qkv = nn.Linear(d, 3 * d)            # proyecciones Q, K y V en una sola matriz\n",
    "        self.proj = nn.Linear(d, d)               # W_O\n",
    "        self.register_buffer(\"mask\", torch.tril(torch.ones(block_size, block_size, dtype=torch.bool)))\n",
    "        self.last_attn = None\n",
    "\n",
    "    def forward(self, x, past=None, keep_attn=False):\n",
    "        B, T, D = x.shape\n",
    "        q, k, v = self.qkv(x).split(D, dim=2)\n",
    "        q, k, v = (t.view(B, T, self.h, D // self.h).transpose(1, 2) for t in (q, k, v))   # (B, heads, T, dh)\n",
    "        if past is not None:                       # caché KV: se anteponen las claves/valores de los tokens anteriores\n",
    "            k, v = torch.cat([past[0], k], dim=2), torch.cat([past[1], v], dim=2)\n",
    "        present = (k, v)\n",
    "        if keep_attn:                              # versión explícita, guarda los pesos para dibujarlos\n",
    "            Tk = k.shape[2]\n",
    "            att = (q @ k.transpose(-2, -1)) / math.sqrt(D // self.h)\n",
    "            att = att.masked_fill(~self.mask[Tk - T:Tk, :Tk], float(\"-inf\")).softmax(-1)\n",
    "            self.last_attn = att.detach()\n",
    "            y = att @ v\n",
    "        else:                                      # núcleo fusionado, las mismas matemáticas, más rápido\n",
    "            y = F.scaled_dot_product_attention(q, k, v, is_causal=(past is None and T > 1))\n",
    "        return self.proj(y.transpose(1, 2).reshape(B, T, D)), present\n",
    "\n",
    "class Block(nn.Module):\n",
    "    def __init__(self, d, n_head, block_size):\n",
    "        super().__init__()\n",
    "        self.ln1, self.attn = nn.LayerNorm(d), CausalSelfAttention(d, n_head, block_size)\n",
    "        self.ln2 = nn.LayerNorm(d)\n",
    "        self.mlp = nn.Sequential(nn.Linear(d, 4 * d), nn.GELU(), nn.Linear(4 * d, d))\n",
    "    def forward(self, x, past=None, keep_attn=False):\n",
    "        a, present = self.attn(self.ln1(x), past, keep_attn)\n",
    "        x = x + a\n",
    "        return x + self.mlp(self.ln2(x)), present\n",
    "\n",
    "class GPT(nn.Module):\n",
    "    def __init__(self, vocab, block_size=64, d=128, n_layer=4, n_head=4):\n",
    "        super().__init__()\n",
    "        self.block_size = block_size\n",
    "        self.tok_emb = nn.Embedding(vocab, d)\n",
    "        self.pos_emb = nn.Embedding(block_size, d)\n",
    "        self.blocks = nn.ModuleList(Block(d, n_head, block_size) for _ in range(n_layer))\n",
    "        self.ln_f = nn.LayerNorm(d)\n",
    "        self.head = nn.Linear(d, vocab, bias=False)\n",
    "        self.head.weight = self.tok_emb.weight                 # pesos atados\n",
    "        self.apply(self._init)\n",
    "\n",
    "    def _init(self, m):\n",
    "        if isinstance(m, (nn.Linear, nn.Embedding)):\n",
    "            nn.init.normal_(m.weight, 0.0, 0.02)\n",
    "        if isinstance(m, nn.Linear) and m.bias is not None:\n",
    "            nn.init.zeros_(m.bias)\n",
    "\n",
    "    def forward(self, idx, targets=None, past=None, keep_attn=False):\n",
    "        B, T = idx.shape\n",
    "        start = 0 if past is None else past[0][0].shape[2]\n",
    "        x = self.tok_emb(idx) + self.pos_emb(torch.arange(start, start + T))\n",
    "        presents = []\n",
    "        for i, blk in enumerate(self.blocks):\n",
    "            x, pr = blk(x, None if past is None else past[i], keep_attn)\n",
    "            presents.append(pr)\n",
    "        logits = self.head(self.ln_f(x))\n",
    "        loss = None\n",
    "        if targets is not None:\n",
    "            loss = F.cross_entropy(logits.view(-1, logits.shape[-1]), targets.view(-1))\n",
    "        return logits, loss, presents\n",
    "\n",
    "torch.manual_seed(0)\n",
    "model = GPT(len(chars), BLOCK, d=128, n_layer=4, n_head=4)\n",
    "n_params = sum(p.numel() for p in model.parameters())\n",
    "print(f\"GPT con {n_params:,} parámetros (GPT-2 small tiene 124 millones, GPT-3 tiene 175.000 millones)\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a1c1d684",
   "metadata": {},
   "source": [
    "## 5. Antes de entrenar: un modelo que no sabe nada\n",
    "\n",
    "Con pesos aleatorios, cada carácter siguiente es más o menos igual de probable, así que la pérdida debería rondar $-\\ln(1/V) = \\ln V$. Comprobarlo es una prueba de cordura habitual antes de un entrenamiento largo."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "83d882b0",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-16T09:18:54.029552Z",
     "iopub.status.busy": "2026-10-16T09:18:54.029277Z",
     "iopub.status.idle": "2026-10-16T09:18:54.362196Z",
     "shell.execute_reply": "2026-10-16T09:18:54.361019Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "pérdida inicial 3.783   frente a   ln(vocabulario) = 3.738\n",
      "respuesta sin entrenar a 'add 2+2=': '=n55555555555rrrrrrr'\n"
     ]
    }
   ],
   "source": [
    "@torch.no_grad()\n",
    "def complete(model, prompt, max_new=40):\n",
    "    # decodificación voraz hasta un salto de línea: la respuesta a una instrucción de tarea\n",
    "    idx = torch.tensor([encode(\"\\n\" + prompt)])\n",
    "    out = []\n",
    "    for _ in range(max_new):\n",
    "        logits, _, _ = model(idx[:, -BLOCK:])\n",
    "        nxt = logits[0, -1].argmax().item()\n",
    "        if itos[nxt] == \"\\n\":\n",
    "            break\n",
    "        out.append(nxt)\n",
    "        idx = torch.cat([idx, torch.tensor([[nxt]])], dim=1)\n",
    "    return decode(out)\n",
    "\n",
    "xb, yb = get_batch(64)\n",
    "with torch.no_grad():\n",
    "    _, loss0, _ = model(xb, yb)\n",
    "print(f\"pérdida inicial {loss0.item():.3f}   frente a   ln(vocabulario) = {math.log(len(chars)):.3f}\")\n",
    "print(\"respuesta sin entrenar a 'add 2+2=':\", repr(complete(model, \"add 2+2=\", 20)))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d08e55bb",
   "metadata": {},
   "source": [
    "## 6. Preentrenamiento, y cómo surgen las habilidades\n",
    "\n",
    "El bucle es el mismo que en todos los notebooks anteriores: pasada hacia adelante, pérdida de entropía cruzada, pasada hacia atrás, paso de AdamW. Añadidos que usa el entrenamiento real de LLM:\n",
    "* **AdamW** con decaimiento de pesos y $\\beta_2 = 0.95$ (los valores de GPT-3),\n",
    "* **calentamiento de la tasa de aprendizaje y después decaimiento coseno** (`OneCycleLR`),\n",
    "* **recorte del gradiente** a norma 1,0.\n",
    "\n",
    "Cada 400 pasos nos detenemos y medimos la exactitud en las instrucciones **reservadas** de cada tarea. Esto muestra algo que también se ve en los modelos grandes: **las distintas habilidades aparecen en momentos distintos**. La pérdida total baja de forma suave, pero las capacidades individuales pueden encenderse de forma bastante repentina."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "75cb545e",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-16T09:18:54.365594Z",
     "iopub.status.busy": "2026-10-16T09:18:54.365319Z",
     "iopub.status.idle": "2026-10-16T09:32:51.089198Z",
     "shell.execute_reply": "2026-10-16T09:32:51.087824Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "paso   500  pérdida 0.993  |  add 0%  rev 0%  sort 0%  es 3%  capital 78%  (183 s)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "paso  1000  pérdida 0.828  |  add 0%  rev 3%  sort 20%  es 92%  capital 100%  (361 s)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "paso  1500  pérdida 0.710  |  add 60%  rev 43%  sort 78%  es 100%  capital 100%  (502 s)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "paso  2000  pérdida 0.654  |  add 92%  rev 93%  sort 98%  es 100%  capital 100%  (644 s)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "paso  2500  pérdida 0.638  |  add 98%  rev 98%  sort 100%  es 100%  capital 100%  (787 s)\n"
     ]
    }
   ],
   "source": [
    "def evaluate(model, n=60, seed=1234):\n",
    "    state = random.getstate(); random.seed(seed)       # las mismas instrucciones de prueba cada vez\n",
    "    model.eval()\n",
    "    res = {}\n",
    "    for t in TASKS:\n",
    "        ok = 0\n",
    "        for _ in range(n):\n",
    "            p, a = example(t, \"test\")\n",
    "            ok += complete(model, p) == a\n",
    "        res[t] = ok / n\n",
    "    model.train(); random.setstate(state)\n",
    "    return res\n",
    "\n",
    "STEPS, BATCH, EVAL_EVERY = 2500, 32, 500\n",
    "opt = torch.optim.AdamW(model.parameters(), lr=2e-3, weight_decay=0.1, betas=(0.9, 0.95))\n",
    "sched = torch.optim.lr_scheduler.OneCycleLR(opt, max_lr=2e-3, total_steps=STEPS, pct_start=0.05)\n",
    "\n",
    "losses, skill_curve = [], {0: evaluate(model)}\n",
    "t0 = time.time()\n",
    "for step in range(1, STEPS + 1):\n",
    "    xb, yb = get_batch(BATCH)\n",
    "    _, loss, _ = model(xb, yb)\n",
    "    opt.zero_grad(); loss.backward()\n",
    "    nn.utils.clip_grad_norm_(model.parameters(), 1.0)\n",
    "    opt.step(); sched.step()\n",
    "    losses.append(loss.item())\n",
    "    if step % EVAL_EVERY == 0:\n",
    "        skill_curve[step] = evaluate(model)\n",
    "        accs = \"  \".join(f\"{t} {a:.0%}\" for t, a in skill_curve[step].items())\n",
    "        print(f\"paso {step:5d}  pérdida {np.mean(losses[-100:]):.3f}  |  {accs}  ({time.time() - t0:.0f} s)\", flush=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "db788adc",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-16T09:32:51.092258Z",
     "iopub.status.busy": "2026-10-16T09:32:51.091805Z",
     "iopub.status.idle": "2026-10-16T09:32:51.600006Z",
     "shell.execute_reply": "2026-10-16T09:32:51.598317Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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yspWv04RERERkbZA/XMRkdObCukiIgHsxRdfxGq18v333/P444/zyCOP8K9//QsAp9PJ/fffz4YNG1i8eDF79uzhmmuu8R07b948tmzZwocffsjWrVt5+umniYuLA6CqqorJkycTHR3NqlWreP311/n000+ZPXu2Py5TRERERKRNUP9cROT0ZTIOfbQpIiIBZfz48eTn55Oeno7JZALg7rvv5t1332XLli2N2q9evZoRI0ZQUVFBWFgYF154IXFxcfznP/9p1Pb555/nrrvuIisri9DQUACWLFnCBRdcQHZ2NomJiaf24kRERERE2hj1z0VETm8akS4iEsBGjRrl66QDjB49mh07duB2u1mzZg0XXHABqamphIeHM27cOAD27dsHwE033cSiRYsYPHgwv/3tb/n2229959m6dSuDBg3yddIBxowZg8fjISMjo5WuTkRERESkbVH/XETk9KVCuoiINFJbW8vkyZOJiIhg4cKFrFq1irfffhuA+vp6AKZOncrevXu54447yM7OZsKECdx5553+DFtEREREpF1S/1xExP9USBcRCWArV65s8Py7776jZ8+ebNu2jaKiIh588EHOPvts+vTp02Aho0Pi4+O5+uqr+d///sdjjz3Gc889B0Dfvn3ZsGEDVVVVvrbffPMNZrOZ3r17n9qLEhERERFpo9Q/FxE5famQLiISwPbt28ecOXPIyMjglVdeYf78+dx2222kpqZit9uZP38+u3bt4t133+X+++9vcOy9997LO++8Q2ZmJunp6bz//vv07dsXgMsvv5ygoCCuvvpqNm/ezOeff86tt97KlVdeqfkXRURERESOQP1zEZHTlwrpIiIB7KqrrqKmpoYzzjiDW265hdtuu43rr7+e+Ph4FixYwOuvv06/fv148MEH+cc//tHgWLvdzty5cxk4cCBjx47FYrGwaNEiAEJCQvjoo48oLi5mxIgRXHzxxUyYMIEnnnjCH5cpIiIiItImqH8uInL6MhmGYfg7CBERaX3jx49n8ODBPPbYY/4ORUREREQk4Kl/LiJyetOIdBERERERERERERGRZqiQLiIiIiIiIiIiIiLSDE3tIiIiIiIiIiIiIiLSDI1IFxERERERERERERFphgrpIiIiIiIiIiIiIiLNUCFdRERERERERERERKQZKqSLiIiIiIiIiIiIiDRDhXQRERERERERERERkWaokC4iIiIiIiIiIiIi0gwV0kVEREREREREREREmqFCuoiIiIiIiIiIiIhIM1RIFxERERERERERERFpxv8DDqakS1vE43oAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 1500x450 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, axes = plt.subplots(1, 2, figsize=(15, 4.5))\n",
    "smooth = np.convolve(losses, np.ones(50) / 50, mode=\"valid\")\n",
    "axes[0].plot(smooth); axes[0].set_xlabel(\"paso\"); axes[0].set_ylabel(\"pérdida (media de 50 pasos)\")\n",
    "axes[0].set_title(\"Pérdida de preentrenamiento: entropía cruzada del siguiente carácter\"); axes[0].grid(alpha=0.3)\n",
    "steps_eval = list(skill_curve)\n",
    "for t in TASKS:\n",
    "    axes[1].plot(steps_eval, [skill_curve[s][t] for s in steps_eval], marker=\"o\", label=t)\n",
    "axes[1].set_xlabel(\"paso\"); axes[1].set_ylabel(\"exactitud con datos reservados\"); axes[1].set_ylim(-0.03, 1.03)\n",
    "axes[1].set_title(\"Cada habilidad se aprende a su propio ritmo\"); axes[1].legend(); axes[1].grid(alpha=0.3)\n",
    "plt.tight_layout(); plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b9754ca8",
   "metadata": {},
   "source": [
    "## 7. Usar el generalista\n",
    "\n",
    "El modelo no tiene cabezas ni caminos de código específicos de cada tarea. **Solo el prefijo de la instrucción** decide lo que hace. Todas las instrucciones de abajo están **reservadas**: esas sumas y frases nunca aparecieron en el entrenamiento, y las cadenas para invertir son letras aleatorias nuevas."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "bea428c1",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-16T09:32:51.603598Z",
     "iopub.status.busy": "2026-10-16T09:32:51.603303Z",
     "iopub.status.idle": "2026-10-16T09:32:52.151957Z",
     "shell.execute_reply": "2026-10-16T09:32:52.150534Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "--- add ---\n",
      "  add 71+42=113                          ✓\n",
      "  add 39+14=53                           ✓\n",
      "  add 4+41=45                           ✓\n",
      "--- rev ---\n",
      "  rev hhexd=dxehh                        ✓\n",
      "  rev snb=bns                          ✓\n",
      "  rev cgh=hgc                          ✓\n",
      "--- sort ---\n",
      "  sort 8 3 8=3 8 8                        ✓\n",
      "  sort 3 7 9 4 0 2=0 2 3 4 7 9                  ✓\n",
      "  sort 5 4 2 3 5 1=1 2 3 4 5 5                  ✓\n",
      "--- es ---\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "  es she has the apple=ella tiene la manzana        ✓\n",
      "  es we buy the new table=nosotros compramos la mesa nueva ✓\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "  es we want the red car=nosotros queremos el coche rojo ✓\n",
      "--- capital ---\n",
      "  capital norway=oslo                         ✓\n",
      "  capital costa rica=san jose                     ✓\n",
      "  capital norway=oslo                         ✓\n"
     ]
    }
   ],
   "source": [
    "model.eval()\n",
    "random.seed(42)\n",
    "for t in TASKS:\n",
    "    print(f\"--- {t} ---\")\n",
    "    for _ in range(3):\n",
    "        p, a = example(t, \"test\")\n",
    "        out = complete(model, p)\n",
    "        print(f\"  {p}{out:28s} {'✓' if out == a else '✗ esperado ' + a}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1368cba9",
   "metadata": {},
   "source": [
    "### Alucinación: respuestas seguras a preguntas que no puede saber\n",
    "\n",
    "El modelo aprendió el *formato* de una respuesta sobre capitales, no una forma de decir \"no lo sé\". Pregúntale por países que nunca vio (o que no existen) y aun así produce una ciudad de aspecto plausible, normalmente una mezcla de las que memorizó. Los grandes modelos de lenguaje alucinan por la misma razón: se entrenan para producir texto probable, y plausible no es lo mismo que verdadero. El postentrenamiento (sección 12) y la consulta de fuentes reales lo reducen, pero no lo eliminan del todo."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "31a9bbc6",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-16T09:32:52.154945Z",
     "iopub.status.busy": "2026-10-16T09:32:52.154656Z",
     "iopub.status.idle": "2026-10-16T09:32:52.397212Z",
     "shell.execute_reply": "2026-10-16T09:32:52.396181Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "capital france       -> paris         (memorizado)\n",
      "capital peru         -> lima          (memorizado)\n",
      "capital japan        -> tokyo         (memorizado)\n",
      "capital atlantis     -> moscow        (nunca visto: alucinado)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "capital narnia       -> buenos aires  (nunca visto: alucinado)\n",
      "capital germanyland  -> helsinki      (nunca visto: alucinado)\n",
      "capital nepal        -> stockholm     (nunca visto: alucinado)\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "capital spainia      -> madrid        (nunca visto: alucinado)\n"
     ]
    }
   ],
   "source": [
    "for country in [\"france\", \"peru\", \"japan\", \"atlantis\", \"narnia\", \"germanyland\", \"nepal\", \"spainia\"]:\n",
    "    print(f\"capital {country:12s} -> {complete(model, f'capital {country}='):14s}\"\n",
    "          f\"{'(memorizado)' if country in COUNTRIES else '(nunca visto: alucinado)'}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a219f705",
   "metadata": {},
   "source": [
    "### Generalización más allá de la distribución de entrenamiento\n",
    "\n",
    "Las instrucciones de prueba de arriba no se habían visto, pero estaban *dentro de la distribución*. ¿Qué pasa con entradas que no se parecen a nada del entrenamiento?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "e0743b71",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-16T09:32:52.400557Z",
     "iopub.status.busy": "2026-10-16T09:32:52.400289Z",
     "iopub.status.idle": "2026-10-16T09:32:52.577480Z",
     "shell.execute_reply": "2026-10-16T09:32:52.576111Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "add 123+4=                       -> 36                     esperado 127                  [número de 3 cifras (el entrenamiento usó 0..99)]\n",
      "rev abcdefghij=                  -> hghcdcb                esperado jihgfedcba           [palabra de 10 letras (el entrenamiento usó 3..6)]\n",
      "sort 9 8 7 6 5 4 3 2 1=          -> 1 2 3 4 6 7 9          esperado 1 2 3 4 5 6 7 8 9    [9 dígitos (el entrenamiento usó 3..6)]\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "es the cat eats the red apple=   -> él come la manzana roja esperado ?                    [sustantivo como sujeto (en el entrenamiento los sujetos eran pronombres)]\n"
     ]
    }
   ],
   "source": [
    "probes = [(\"add 123+4=\", \"127\", \"número de 3 cifras (el entrenamiento usó 0..99)\"),\n",
    "          (\"rev abcdefghij=\", \"jihgfedcba\", \"palabra de 10 letras (el entrenamiento usó 3..6)\"),\n",
    "          (\"sort 9 8 7 6 5 4 3 2 1=\", \"1 2 3 4 5 6 7 8 9\", \"9 dígitos (el entrenamiento usó 3..6)\"),\n",
    "          (\"es the cat eats the red apple=\", \"?\", \"sustantivo como sujeto (en el entrenamiento los sujetos eran pronombres)\")]\n",
    "for p, a, why in probes:\n",
    "    out = complete(model, p)\n",
    "    print(f\"{p:32s} -> {out:22s} esperado {a:20s} [{why}]\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "48137ba8",
   "metadata": {},
   "source": [
    "Los modelos pequeños extrapolan mal: aprenden los patrones que cubren sus datos. Buena parte de la razón por la que los LLM de frontera parecen generales es que sus datos de entrenamiento cubren una variedad enorme de patrones. La generalización robusta fuera de la distribución sigue siendo un problema de investigación abierto.\n",
    "\n",
    "## 8. Estrategias de muestreo\n",
    "\n",
    "El modelo produce una distribución de probabilidad sobre el siguiente token. Cómo elegimos a partir de ella cambia su comportamiento:\n",
    "\n",
    "| Estrategia | Regla | Efecto |\n",
    "|---|---|---|\n",
    "| Voraz | tomar el argmax | determinista, la mejor para tareas con una única respuesta correcta |\n",
    "| Temperatura $T$ | muestrear de softmax(logits / $T$) | $T<1$ más marcada y segura, $T>1$ más aleatoria y creativa |\n",
    "| Top-k | quedarse solo con los $k$ tokens más probables | corta la larga cola de disparates |\n",
    "| Top-p (núcleo) | quedarse con el conjunto más pequeño cuya probabilidad total sea ≥ $p$ | adapta el corte a lo seguro que esté el modelo |\n",
    "\n",
    "Primero, mira la propia distribución para dos instrucciones: una en la que la respuesta es segura y otra en la que muchas continuaciones son válidas."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "3c838acd",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-16T09:32:52.580554Z",
     "iopub.status.busy": "2026-10-16T09:32:52.580289Z",
     "iopub.status.idle": "2026-10-16T09:32:53.195489Z",
     "shell.execute_reply": "2026-10-16T09:32:53.193895Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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aT8eNxZfv/76azVp0kQFChSQv7+/WrVqpb179zrso2vXripYsKCOHDmiRx55RP7+/nr66afTPT4jR47UwIEDJUnly5e37zN1OhkPDw/17dtXH3/8sapXry6bzaZVq1ZJkt58803df//9Klq0qPz8/BQaGqrPPvsszT7Wrl2rxo0bq1ChQipYsKAqV66cpdE258+f14ABA3TvvfeqYMGCCggI0MMPP6xdu3alWfb3339XmzZtVKBAAZUoUUIvv/yy5Tkzc+ZMVaxYUX5+fqpfv76+//77TMVTrFgxhwJ6qieeeEKStH///ltuIyQkRAkJCUpKSsrUPjMjOTlZcXFxlu+nvhcUFOTQHhwcLEny8/PLsVgAAHeu1NzpwIEDat++vQICAlS0aFH1799fV69edVg2o3zj5lw0dbuHDh3SM888o8DAQBUvXlzDhg2TMUa//fabHn/8cQUEBKhkyZKaNGlSmtgym19mFJeVr7/+Ws2aNZO/v78CAgJ03333acGCBfb3v//+e7Vr105ly5a17/vll1/WlStXHLaTUT6X2W1Ish//4sWLy8/PT5UrV9bQoUPtxzKjPFCSPvroI4WGhsrPz09FihRRx44d9dtvvzns44EHHlCNGjW0fft2NW3aVPnz579lrrd8+XLVqFFDvr6+qlGjhpYtW5bucikpKZoyZYqqV68uX19fBQUF6bnnntOFCxcy3H5qXJm55kmdq/zNN9+054U2m0333XeffvzxR4d1ncn7MyP1fL5R6nmXeoxSr7fSO/cyc12WlJSk4cOHKzQ0VIGBgSpQoICaNGmi9evXZyrGkJAQPfroo9q4caPq168vX19fVahQQR9++OEt+yJJc+fOTXNeSbe+rnnzzTfl4eGhY8eOpdnmkCFD5OPjYz8PnPlM3Ozq1atatWqVwsLCLJdJ7dvZs2fTvHfx4kV17dpVgYGB9mvwn3/+OVvX4Fk977t27arp06dLksP0jqkye/2W0XdfTp5zlStXTnMHjK+vr5KTk3X9+nV7m7e3tx544AF9/vnnGfYfyCmMRAfykN69e+uzzz5T3759Va1aNZ07d04bN27U/v37LUebpKSkqHXr1tq2bZuef/55ValSRZ9//rkiIiJyNLZTp07pH//4h/0Pa/HixfX111+re/fuiouLSzMly4QJE+Tp6akBAwYoNjZWEydO1NNPP62t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rm2Cg4PNxYsX7W1r1qwxkhyuCb7//nsjyXz88ccO669atSrd9ptl9ponJibGSDJFixY158+ft7d//vnnRpL58ssv7W2ZvXZIT+p+bszpUs/nG0kyPj4+5vDhw/a2Xbt2GUlm2rRp9rbMXpddv37dIdc15q/PRlBQkOnWrVuGMRtjTLly5dL07/Tp08Zms5l//etfGfbFGGPmzJnjcI45c13TsGFDExoa6rDctm3bjCTz4Ycf2tsy+7lKz/vvv5/m+vRmZ86cMfv37zfXr193aF++fLmRZCZOnGhvu379umnSpEmWr8Gze9736dMn3d+DMZm7fjPG+rvvdp5ze/bsMUWKFDH16tVL9ztuwYIFRpLZunVruusDOYnpXIA8pFChQtq6dav++OOPTK+zatUqeXt7q2fPnvY2T09P9enTJ8fiMsZoyZIlat26tYwxOnv2rP0VHh6u2NhYhylnJCkyMlI+Pj72n5s0aSLpr1HFt7J48WJVrVpVVapUcdjXgw8+KEkZ3oK4c+dOxcTE6KWXXkpzi9iNI0RuHAF89epVnT17Vv/4xz8kKU1fpL/uErjZjXNTGmN09epVtWzZ0mEbKSkpWr58uVq3bq169eql2catRq2sXbtWFy9eVKdOnRyOhZeXlxo0aJDusXj++ecz3GZmNWvWTNWqVUvTfuOxu3DhgmJjY9WkSROH45Z67D///PNsPwjXZrPZH3iZnJysc+fO2aeHuXGfK1euVHBwsNq2bWtvy58/f5oHBf300086ffq0evfu7XCOpt6OmRV9+/bVvn379M4776T7ELROnTpp7dq1WrBggX1E2s23mSYkJDj8jlNvG718+bJD2823c0ZHR2vChAlq3769OnbsqLlz52rcuHHatGlTmts0S5curfr162vKlClatmyZoqKi9PHHH6eZ0/+VV17R2rVrb/lK71Z5AAAkpclFUx+CuXLlSod2q3zDSo8ePez/7+XlpXr16skYo+7du9vbCxUqpMqVKzvknc7ml5mNa+3atbp06ZIGDx6cZt5gq9wzPj5eZ8+e1f333y9jjHbu3Jlmu+nlczfmnikpKbp69arCw8MdtnHmzBl999136tatm8qWLWsZj5WlS5cqJSVF7du3dzhOJUuW1N13353mONlsNkVGRt5yu3/++ad+/vlnRUREOORbLVq0SHOcFy9erMDAQLVo0cIh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uHbIKc5cl6UX99atW7Vly5YcjSm1OP7dd9/Z2+Lj49MMyHD2uuapp56Sl5eXPvnkEy1evFiPPvqoQzE7u5+r0NBQ+fj4pHuNlpycrE6dOikmJibd3/Mjjzyi69ev67333nNYJ/V77kaZPR+ze95bfaYze/1m5Xaec+XLl1ffvn0zLKJv375d1atXz/KzqwBnMBIdyCMuXbqku+66S23btlWtWrVUsGBBffPNN/rxxx8zLFS1adNG9evX17/+9S8dPnxYVapU0RdffGEvYt74L8DdunXT5MmTFR4eru7du+v06dOaMWOGqlevnmYUy80mTJig9evXq0GDBurZs6eqVaum8+fPa8eOHfrmm2/SLZreSmhoqBYuXKioqCjdd999KliwoFq3bq1nn31WixYtUu/evbV+/Xo1atRIycnJOnDggBYtWqTVq1en+5BO6a+i9XvvvafWrVurdu3aioyMVHBwsA4cOKC9e/dq9erVCggIUNOmTTVx4kRdu3ZNpUuX1po1axQTE5Pp2AMCAtS4cWO98cYbun79ukqXLq3Vq1enuViR/pqOZM2aNWrWrJl69eqlqlWr6s8//9TixYu1ceNGFSpUSLVr15aXl5def/11xcbGymaz6cEHH1SJEiX03nvv6dlnn1XdunXVsWNHFS9eXMePH9eKFSvUqFEjvfPOO04f+9TjL0lDhw5Vx44d5e3trdatW6f7QJdUrVq10uTJk/XQQw+pc+fOOn36tKZPn65KlSrpv//9r3250aNH67vvvlOrVq1Urlw5nT59Wu+++67uuuuuNFOW3Mqjjz6q0aNHKzIyUvfff792796tjz/+OM2o7Z49e+qdd95Rly5dtH37dgUHB2v+/Plpnhfg7e2tsWPH6rnnntODDz6oDh06KCYmRnPmzMnUnOjHjh3TY489Jg8PD7Vt21aLFy92eL9mzZr2WxpTH/D50EMPqWzZsjp//ryWLFmiH3/8Uf369cv2swtOnjypOnXqqFOnTvbRNKtXr9bKlSv10EMPOTx4qW/fvpozZ45at26tfv36qVy5cvr222/1ySefqEWLFmrQoIF9WeZEBwBkV0xMjB577DE99NBD2rJliz766CN17tw503d85bTs5JcZCQgI0FtvvaUePXrovvvuU+fOnVW4cGHt2rVLCQkJmjdvnqpUqaKKFStqwIABOnHihAICArRk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SpUq5epQsm3+/Pkyxqh06dKy2Wx6++231alTJ3l65u2PTc+ePbVmzRqdOHFCkjR37lx17do1T9854K5q1aql5s2b695771W7du00a9YsXbhwwdVhZdsvv/yiTp06qUKFCgoICFBISIgk6fjx464NLIuOHDmipKQkNWjQwN5WpEgRVa5c2YVR5Yx//OMfDt8NDRs21C+//OLwHAy43uHDh5WQkKAWLVqoYMGC9teHH37oFtNSSFK3bt106dIlLViwIM//Hcbfi7v9TZLcN39IFRoa6uoQcoy7fn/v379fiYmJat68uatDQSa4W7535MgRXbt2TY0aNbK3eXt7q379+tq/f78LI8sed7yOvxNqZO6mZs2aDj8HBwfr9OnTLoom9/Fg0Vw0cOBADR48WB07dpQk3XvvvTp27Jiio6MVERHh4uiy79ixY/rmm2+0dOlSV4eSIypWrKhvv/1W8fHxiouLU3BwsDp06KAKFSq4OrRsqVOnjmrVqqUPP/xQLVu21N69e7VixQpXh4V0eHl5ae3atdq8ebPWrFmjadOmaejQodq6davKly/v6vCyrHXr1ipXrpxmzZqlUqVKKSUlRTVq1FBSUpKrQ8MdoFixYvLy8tKpU6cc2k+dOqWSJUu6KKrsuXz5siRpxYoVaR58bbPZXBFSjho7dqxWr16tbdu2yd/f39XhwM24498kd80fUhUoUMDVIeQYd/3+9vPzc3UIgNtxx+t4d6+RuSNvb2+Hnz08PPL0FHjOYihPLkpISEgzesrLy8ttTrg5c+aoRIkSatWqlatDyVEFChRQcHCwLly4oNWrV+vxxx93dUjZ1qNHD82dO1dz5sxRWFiYW8zl5648PDzUqFEjjRo1Sjt37pSPj4+WLVvm6rCy7Ny5czp48KBee+01NW/eXFWrVs3zo+MqVqwob29vbd261d524cIF+9x+edmNfZKkH374QXfffbe8vLxcFFH2+fj4KDQ0VOvWrbO3paSkaN26dWrYsKELI8u6atWqyWaz6fjx46pUqZLDK69/vy9ZskSjR4/WokWLVLFiRVeHAzfjjn+TUrlb/uCu3PX7++6775afn5/D31p34ePjk2dHaFtxt3yvYsWK9ucmpLp27Zp+/PFHVatWzYWRZZ+7Xce7e40M7oeR6LmodevWGjdunMqWLavq1atr586dmjx5cp5+EESqlJQUzZkzRxEREcqXzz1Oq9WrV8sYo8qVK+vw4cMaOHCgqlSposjISFeHlm2dO3fWgAEDNGvWLH344YeuDgcWtm7dqnXr1qlly5YqUaKEtm7dqjNnzqhq1aquDi3LChcurKJFi2rmzJkKDg7W8ePHNXjwYFeHlS0FCxZU9+7dNXDgQBUtWlQlSpTQ0KFD3WLKiePHjysqKkrPPfecduzYoWnTpmnSpEmuDivboqKiFBERoXr16ql+/fqaMmWK4uPj8+z3u7+/vwYMGKCXX35ZKSkpaty4sWJjY7Vp0yYFBATk2ZE8e/bsUZcuXTRo0CBVr15dJ0+elPRXAaNIkSIujg7uwB3/JknumT+4K3f9/vb19dWgQYP0yiuvyMfHR40aNdKZM2e0d+9ede/e3dXhZUtISIi2bt2qo0ePqmDBgipSpEiez/ncLd8rUKCAnn/+eQ0cOFBFihRR2bJlNXHiRCUkJOT588/druPdtUZmjNGkSZPUq1cvBQQE2Nv37t2r3bt320feIw9y8Zzsd5S4uDjTv39/U7ZsWePr62sqVKhghg4dahITE10dWratXr3aSDIHDx50dSg5ZuHChaZChQrGx8fHlCxZ0vTp08dcvHjR1WHlmGeffdYUKVLEXL161dWh5Ch3etjPvn37THh4uClevLix2WzmnnvuMdOmTXN1WNm2du1aU7VqVWOz2UzNmjXNhg0bjCSzbNkyV4eWZZcuXTLPPPOMyZ8/vwkKCjITJ07M8+dis2bNzAsvvGB69+5tAgICTOHChc2rr76apx9edKNp06aZsmXLGh8fH1O/fn3zww8/uDqkbElJSTFTpkwxlStXNt7e3qZ48eImPDzcfPvtt64OLcvmzJljJKV5NWvWzNWhwY24498kd80fjHGvPC+VO35/G/PXAwPHjh1rypUrZ7y9vU3ZsmXd4oGBBw8eNP/4xz+Mn5+fkWRiYmJcHVK2uGu+d+XKFdOvXz9TrFgxY7PZTKNGjcy2bdtcHVaOcKfreHetkV27di3d74c5c+aYRo0auSaoHJDe3+DHH3/cREREuCQeV/AwxhhXFfABuE7z5s1VvXp1vf32264OBQAAAAAA3ALX8X9/169fl7e3t2JiYuwPLJf+ehjs+++/r40bN7ouOGSLe8y7ASDTLly4oA0bNmjDhg169913XR0OAAAAAADIANfxgOtRRAfuMHXq1NGFCxf0+uuvq3Llyq4OBwAAAAAAZIDr+LynfPnyadoaNWrkgkiQU5jOBQAAAAAAAABywIEDB9Jtz58/v8qWLZvL0SCnUEQHAAAAAAAAAMCCp6sDAAAAAAAAAADg74oiOgAAAAAAAAAAFiiiAwAAAAAAAABggSI6AAAAAAAAAAAWKKIDAAAAAAAAAGCBIjoAAAAAAAAAABYoogMAAAAAAAAAYIEiOgAAAAAAAAAAFv4PpRq54l2hLVkAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 1500x350 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "@torch.no_grad()\n",
    "def next_char_probs(prompt):\n",
    "    logits, _, _ = model(torch.tensor([encode(\"\\n\" + prompt)]))\n",
    "    return logits[0, -1].softmax(-1)\n",
    "\n",
    "fig, axes = plt.subplots(1, 2, figsize=(15, 3.5))\n",
    "for ax, prompt in zip(axes, [\"add 23+58=\", \"\\n\"]):\n",
    "    p = next_char_probs(prompt if prompt != \"\\n\" else \"\")\n",
    "    top = p.topk(12)\n",
    "    labels = [repr(itos[i])[1:-1] if itos[i] != \" \" else \"␣\" for i in top.indices.tolist()]\n",
    "    ax.bar(labels, top.values.numpy(), color=\"tab:blue\")\n",
    "    ax.set_title(f\"siguiente carácter tras {prompt!r}\" if prompt != \"\\n\" else \"primer carácter de una línea nueva (¿qué tarea?)\")\n",
    "    ax.set_ylim(0, 1)\n",
    "plt.tight_layout(); plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "77639671",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-16T09:32:53.199994Z",
     "iopub.status.busy": "2026-10-16T09:32:53.199441Z",
     "iopub.status.idle": "2026-10-16T09:32:55.792179Z",
     "shell.execute_reply": "2026-10-16T09:32:55.790747Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "===== voraz (T=0) =====\n",
      "add 99+99=198\n",
      "add 15+60=75\n",
      "add 77+84=161\n",
      "add 18+88=106\n",
      "add 74+87=161\n",
      "add 18+84=102\n",
      "add 74+87=161\n",
      "add 18+84=102\n",
      "add 74+87=161\n",
      "add 18+84=102\n",
      "add 74+87=1\n",
      "\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "===== T=0.5 =====\n",
      "add 87+74=161\n",
      "add 29+27=56\n",
      "add 60+6=66\n",
      "add 55+52=107\n",
      "add 68+88=156\n",
      "add 6+59=65\n",
      "add 41+39=70\n",
      "rev xaz=zax\n",
      "capital china=beijing\n",
      "add 65+31=96\n",
      "add 49+35=8\n",
      "\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "===== T=1.0, top-p 0.9 =====\n",
      "sort 7 7 2 1 6 7=1 2 6 7 7 7\n",
      "add 61+90=151\n",
      "rev izktws=swtkzi\n",
      "add 95+22=117\n",
      "add 85+74=169\n",
      "add 58+74=132\n",
      "add 73+27=100\n",
      "add 79+12=91\n",
      "add 16+66=82\n",
      "sort 7\n",
      "\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "===== T=2.0 (demasiado caliente) =====\n",
      "scra\n",
      "add 2chilzdn=29\n",
      "add 38+17=64\n",
      "re0 2 7=0 bjbiy\n",
      "sos they wants thy the ixple=e5 denfo\n",
      "es i see the shirtue3 2 2 2=u3 veo9\n",
      "sort 9 5=5ú\n",
      "capital brazil\n",
      "\n"
     ]
    }
   ],
   "source": [
    "@torch.no_grad()\n",
    "def generate(model, prompt=\"\\n\", max_new=200, temperature=1.0, top_k=None, top_p=None, seed=0):\n",
    "    g = torch.Generator().manual_seed(seed)\n",
    "    idx = torch.tensor([encode(prompt)])\n",
    "    for _ in range(max_new):\n",
    "        logits, _, _ = model(idx[:, -BLOCK:])\n",
    "        logits = logits[0, -1]\n",
    "        if temperature == 0:\n",
    "            nxt = logits.argmax().view(1)\n",
    "        else:\n",
    "            logits = logits / temperature\n",
    "            if top_k is not None:\n",
    "                kth = logits.topk(top_k).values[-1]\n",
    "                logits = logits.masked_fill(logits < kth, float(\"-inf\"))\n",
    "            probs = logits.softmax(-1)\n",
    "            if top_p is not None:\n",
    "                sorted_p, order = probs.sort(descending=True)\n",
    "                keep = sorted_p.cumsum(0) - sorted_p < top_p        # el conjunto más pequeño que alcanza top_p\n",
    "                probs = torch.zeros_like(probs).scatter(0, order[keep], sorted_p[keep])\n",
    "                probs = probs / probs.sum()\n",
    "            nxt = torch.multinomial(probs, 1, generator=g)\n",
    "        idx = torch.cat([idx, nxt.view(1, 1)], dim=1)\n",
    "    return decode(idx[0].tolist())\n",
    "\n",
    "for label, kw in [(\"voraz (T=0)\", dict(temperature=0)),\n",
    "                  (\"T=0.5\", dict(temperature=0.5)),\n",
    "                  (\"T=1.0, top-p 0.9\", dict(temperature=1.0, top_p=0.9)),\n",
    "                  (\"T=2.0 (demasiado caliente)\", dict(temperature=2.0))]:\n",
    "    text = generate(model, \"\\n\", max_new=150, **kw)\n",
    "    print(f\"===== {label} =====\\n{text.strip()}\\n\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "fcd9f68b",
   "metadata": {},
   "source": [
    "Sin instrucción, el modelo \"sueña\" sus propios datos de entrenamiento: elige una tarea y escribe un ejemplo. La decodificación voraz se queda atascada repitiendo la línea más probable; una temperatura moderada da líneas variadas y en su mayoría válidas; una temperatura alta rompe el formato. Es el mismo mando que ajustas en la API de cualquier LLM.\n",
    "\n",
    "## 9. Dentro del modelo: la atención mientras suma\n",
    "\n",
    "Para escribir la respuesta a `add 47+38=`, el modelo debe encontrar los dígitos correctos de ambos números. Dibujamos la atención de cada cabeza desde las últimas posiciones (donde se producen los dígitos de la respuesta) hacia atrás sobre la instrucción."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "94466e95",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-16T09:32:55.795130Z",
     "iopub.status.busy": "2026-10-16T09:32:55.794851Z",
     "iopub.status.idle": "2026-10-16T09:32:57.959708Z",
     "shell.execute_reply": "2026-10-16T09:32:57.958034Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "add 47+38=85\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABoYAAAPZCAYAAAA8/JhtAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjksIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvJkbTWQAAAAlwSFlzAAAPYQAAD2EBqD+naQAAw9ZJREFUeJzs3Xd4FOXax/HfJiQbSKUkdAIEpEgVBKQXFZCqAoIoRVEEEbFXpAiiIgqiKFgQEQ9KEY8epB3wCHhEVEAEREBCC9KTUNP2ef/gzR6WbJINbnZJ5vu5rr0gs7NzP9Oee2bvnRmbMcYIAAAAAAAAAAAAhV6AvxsAAAAAAAAAAAAA36AwBAAAAAAAAAAAYBEUhgAAAAAAAAAAACyCwhAAAAAAAAAAAIBFUBgCAAAAAAAAAACwCApDAAAAAAAAAAAAFkFhCAAAAAAAAAAAwCIoDAEAAAAAAAAAAFgEhSEAgAtjjN544w199tln/m4KACCPVq1apRdffFHnzp3zd1MAAAAAAFcpCkMAYDGVK1fWoEGDsn3/tdde06uvvqpmzZr5pD1jx46VzWbzSaxL2Ww2jR071mvTy225FhZt27ZV27Zt8/w5by9vXH0uX8eZ+/bx48f91yg/uNJ9JK/c9TlHjhxRnz59JEnFihXzeFrx8fGy2Wz66KOPvNjCvPH2chs0aJAqV67stekh/33++ecqUaKEzpw54xyWnp6uJ598UhUrVlRAQIB69uwpKWt/89FHH8lmsyk+Pt7r7UpLS1PFihU1Y8YMj8b/9ttvZbPZtHDhQq+3JSfeXgb5uUyBK+Wv8wZvOHDggEJCQrR+/fp8mb4V99m+ffs6j3sAAHlHYQgA/oYZM2bIZrOpadOmbt/fvn27xo4dW2AO0NevX69JkyZp6dKlio2N9XdzAAB58OCDD6pJkyZ67rnn/va0li5dSjEXLhISEjR27Fht3rzZ69POyMjQmDFj9NBDDyksLMw5/MMPP9TkyZPVq1cvzZkzR4888ojXY+cmKChIjz76qCZOnKgLFy74PD6ubgXtWD+/5Wc/UdCNHz9eTZs2VYsWLfzdlELjqaee0qJFi7RlyxZ/NwUACqQi/m4AABRk8+bNU+XKlfXjjz9q9+7dqlatmsv727dv17hx49S2bdur5pfLO3fuVECA+98F7NixQ0uWLFHDhg193CoUFCtWrLiiz50/f15FinDYUZixjv3riy++0A8//KDNmzdn28dnJzY2VufPn1dQUJBz2NKlS/X2229THIJTQkKCxo0bp8qVK6tBgwZenfZXX32lnTt36v7773cZvnr1apUvX15vvPGGy3Bf9zeDBw/W008/rU8//VT33HOPz+Lmxd13362+ffvKbrf7uymWcjUe6/tTfvYTkvT888/r6aef9vp089uxY8c0Z84czZkzx99NKVQaNmyoxo0ba8qUKfr444/93RwAKHC4YggArtDevXv1/fff6/XXX1d0dLTmzZvn7yZ5xG63u3z5d6khQ4aodevWPm4RCpLg4GAFBwfn+XMhISEUDQohh8Ph/AU969i/br31Vh08eFClSpXK82dtNptCQkIUGBiYDy0rvHiOk/fMnj1bLVq0UPny5V2GHz16VFFRUVnG93V/ExUVpZtvvtmvt1vMTWBgoEJCQgrsbbZ84ezZs/5ugscKUlt9IXN5FClSRCEhIV6ZpjFG58+f98q0cvPJJ5+oSJEi6tatm0/iWUmfPn20ePFil9uQAgA8Q2EIAK7QvHnzVLx4cXXp0kW9evXKUhj66KOP1Lt3b0lSu3btZLPZZLPZ9O233zrH+eabb9SqVSuFhoYqPDxcXbp00bZt21ymM2jQIIWFhenQoUPq2bOnwsLCFB0drccff1wZGRku4zocDk2bNk1169ZVSEiIoqOj1alTJ/3000/Ocdw9l+LPP/9U7969VaJECRUrVkzNmjXTv/71L5dxMu+Z//nnn2vixImqUKGCQkJC1KFDB+3evdujZbZu3Tpdf/31CgkJUVxcnGbOnJntuJ988okaNWqkokWLqkSJEurbt68OHDjgMs6uXbt0++23q0yZMgoJCVGFChXUt29fJSUlOcdJSUnRI488oujoaIWHh6t79+46ePCg25iHDh3SPffco9KlS8tut+vaa6/Vhx9+6NG8Xe7kyZN6/PHHVbduXYWFhSkiIkKdO3d2e6uD6dOn69prr1WxYsVUvHhxNW7cWJ9++mmO089cH5999pmeffZZlSlTRqGhoerevXuW5SRJCxYscC7PUqVK6a677tKhQ4dcxvnrr780ePBgVahQQXa7XWXLllWPHj1cbo/i7jkgFy5c0NixY3XNNdcoJCREZcuW1W233aY9e/Y4x3H3jKFNmzapc+fOioiIUFhYmDp06KAffvjBZZzM+6WvX79ejz76qKKjoxUaGqpbb71Vx44dyzKfnuxTnsxndpYsWaI6deooJCREderU0RdffJHlWSaZ6+bSfV3K/jkuv//+u3r16qUSJUooJCREjRs31j//+c9c2yJd3OenTp2qa6+9ViEhISpdurSGDh2qU6dOuYz3008/qWPHjipVqpSKFi2qKlWqZPnVuyf9h81m04gRIzRv3jxde+21stvtWrZsmfM9d1eXHD9+XH369FFERIRKliyphx9+2O3tmDzZ59u2bas6depo+/btateunYoVK6by5cvr1Vdf9Wh5ZcZp0qSJc39r3bq1y5VwX375pbp06aJy5crJbrcrLi5OL774Ypb+VpJmzZqluLg4FS1aVE2aNNHatWuzjJOamqoXXnhBjRo1UmRkpEJDQ9WqVSutWbPGo/YaYzRhwgRVqFBBxYoVU7t27bJs01L2293bb7+tqlWrurTx8v348m1z0KBBevvttyXJmbsu/bL57Nmzeuyxx1SxYkXZ7XbVqFFDr732mowxHs2TJ8tNuth/jxkzRtWqVZPdblfFihX15JNPKiUlxaM4l3vttdfUvHlzlSxZUkWLFlWjRo08fg5M5rb3888/q3Xr1ipWrJieffbZPLVz5cqVatmypaKiohQWFqYaNWo4pyHlrV/P7rl27vpob7Tv22+/1fXXXy/p4tUzmdtE5jazdu1a9e7dW5UqVXLGeOSRRzz60vXChQtatmyZbrzxRuewzG1yzZo12rZtW5ZjKE+eW+fpvuzJsYQk3XTTTVq3bp1OnjyZ6zxJF/vU3I6X8rLcfv/9d/Xp00fR0dEqWrSoatSo4XLbSHfPF8lLf+apGTNmOPv/cuXK6cEHH1RiYqLLOJ4uU3c2bNigW265RcWLF1doaKjq1aunadOmOd//9ddfNWjQIFWtWlUhISEqU6aM7rnnHp04ccJlOpnPotm+fbvuvPNOFS9eXC1btszTNKSLx4b33nuvcxlWqVJFw4YNU2pqqteP9ffs2aNbbrlF4eHh6t+/vyTv5nl3PN1GPMm/ufUT0sX126lTJ0VGRqpYsWJq06ZNlmfu5LTu3D1jKD09XS+++KLi4uJkt9tVuXJlPfvss1n6uMqVK6tr165avny5GjdurKJFizrPRRITEzVq1ChnXqtWrZpeeeUVORwOl2nMnz9fjRo1Unh4uCIiIlS3bl2X7TM7S5YsUdOmTV1ulXnpMslpm5cuXj2ZuR1FRUWpR48e2rFjR65xs+srL88hmf3HunXrNHLkSEVHRysqKkpDhw5VamqqEhMTNWDAABUvXlzFixfXk08+6ZLzM/vs1157zZnj7Xa7rr/+em3cuNEltqf73+nTpzVq1ChVrlxZdrtdMTExuummm/TLL7+4jHfTTTfp7NmzWrlyZa7LAwDgip91AsAVmjdvnm677TYFBwerX79+euedd7Rx40bnCVHr1q01cuRIvfnmm3r22WdVq1YtSXL+O3fuXA0cOFAdO3bUK6+8onPnzumdd95Ry5YttWnTJpcvmjMyMtSxY0c1bdpUr732mlatWqUpU6YoLi5Ow4YNc45377336qOPPlLnzp01ZMgQpaena+3atfrhhx/UuHFjt/Nx5MgRNW/eXOfOndPIkSNVsmRJzZkzR927d9fChQt16623uoz/8ssvKyAgQI8//riSkpL06quvqn///tqwYUOOy2vr1q26+eabFR0drbFjxyo9PV1jxoxR6dKls4w7ceJEjR49Wn369NGQIUN07NgxTZ8+Xa1bt9amTZsUFRWl1NRUdezYUSkpKXrooYdUpkwZHTp0SF9//bUSExMVGRkp6eJVUJ988onuvPNONW/eXKtXr1aXLl3cLodmzZo5v/iOjo7WN998o3vvvVfJyckaNWpUjvN3uT///FNLlixR7969VaVKFR05ckQzZ85UmzZttH37dpUrV06S9N5772nkyJHq1auX8wvzX3/9VRs2bNCdd96Za5yJEyfKZrPpqaee0tGjRzV16lTdeOON2rx5s4oWLSrp4sne4MGDdf3112vSpEk6cuSIpk2bpvXr1zuXpyTdfvvt2rZtmx566CFVrlxZR48e1cqVK7V///5sb4+SkZGhrl276t///rf69u2rhx9+WKdPn9bKlSv122+/KS4uzu3ntm3bplatWikiIkJPPvmkgoKCNHPmTLVt21b/+c9/sjy366GHHlLx4sU1ZswYxcfHa+rUqRoxYoQ+++wz5zie7lNXMp/Sxdvo3X777apdu7YmTZqkEydOOAtMV2rbtm3OX8k//fTTCg0N1eeff66ePXtq0aJFWfa/yw0dOtS5fkeOHKm9e/fqrbfe0qZNm7R+/XoFBQXp6NGjzn3v6aefVlRUlOLj47V48WKXaXnaf6xevVqff/65RowYoVKlSuV665w+ffqocuXKmjRpkn744Qe9+eabOnXqlMstPzzZ5zOdOnVKnTp10m233aY+ffpo4cKFeuqpp1S3bl117tw5x7aMGzdOY8eOVfPmzTV+/HgFBwdrw4YNWr16tW6++WZJF/eXsLAwPfroowoLC9Pq1av1wgsvKDk5WZMnT3ZO64MPPtDQoUPVvHlzjRo1Sn/++ae6d++uEiVKqGLFis7xkpOT9f7776tfv3667777dPr0aX3wwQfq2LGjfvzxx1xvtfPCCy9owoQJuuWWW3TLLbfol19+0c0336zU1NQcPydJ77zzjkaMGKFWrVrpkUceUXx8vHr27KnixYvnuN0OHTpUCQkJWrlypebOnevynjFG3bt315o1a3TvvfeqQYMGWr58uZ544gkdOnQoyy2/LufpcnM4HOrevbvWrVun+++/X7Vq1dLWrVv1xhtv6I8//tCSJUtynf/LTZs2Td27d1f//v2Vmpqq+fPnq3fv3vr666/d5oXLnThxQp07d1bfvn111113qXTp0h63c9u2beratavq1aun8ePHy263a/fu3W4fQu5Jv+4pb7WvVq1aGj9+vF544QXdf//9atWqlSSpefPmki7++ODcuXMaNmyYSpYsqR9//FHTp0/XwYMHtWDBghzb+PPPPys1NVXXXXedc1h0dLTmzp2riRMn6syZM5o0aZKzHZ7yZF/29FhCkho1aiRjjL7//nt17do11/ieHC95utx+/fVXtWrVSkFBQbr//vtVuXJl7dmzR1999ZUmTpz4t5ZBXowdO1bjxo3TjTfeqGHDhmnnzp3O49/MnJOXZXq5lStXqmvXripbtqwefvhhlSlTRjt27NDXX3+thx9+2DnOn3/+qcGDB6tMmTLatm2bZs2apW3btumHH37IUjTo3bu3qlevrpdeesn5Rban00hISFCTJk2UmJio+++/XzVr1tShQ4e0cOFCnTt3zqvH+unp6erYsaNatmyp1157TcWKFZPk3TzvTl62kdzyb279xOrVq9W5c2c1atRIY8aMUUBAgGbPnq327dtr7dq1atKkSa7rzp0hQ4Zozpw56tWrlx577DFt2LBBkyZN0o4dO/TFF1+4jLtz507169dPQ4cO1X333acaNWro3LlzatOmjQ4dOqShQ4eqUqVK+v777/XMM8/o8OHDmjp1qnO76devnzp0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6aGHHsryXnbbXUZGhlasWKGePXuqatWqzuFly5bVnXfeqXXr1ik5OdnlM/fff7/L9Fq1aqWMjAzt27dPkuf71JXO5+HDh7V582YNHDjQ5dfON910k2rXru3xdC518uRJrV69Wn369NHp06edbT5x4oQ6duyoXbt2Zbnd36UWLFigyMhI3XTTTS7z3KhRI4WFhTnnOfNqm6+//lppaWlup5WX/qNNmzZ5mucHH3zQ5e/MbSVzG/V0n88UFhamu+66y/l3cHCwmjRpkmMfJF28jYvD4dALL7zg3DfdzeOlV2RkrpdWrVrp3Llz+v333yX9b7964IEHXPrDQYMGZfk1fGBgoHMch8OhkydPKj09XY0bN861X1m1apVSU1P10EMPubTRkysYf/rpJ504cUL33Xefy7NY+vfvr+LFi+f6+ewsXbpUgYGBWfrVxx57TMYYffPNNzm2ydPltmDBAtWqVUs1a9Z02S7at28vSR7fiu9Sl67bU6dOKSkpSa1atfK4f7fb7Ro8ePAVtTNzP/zyyy+z3Jrocrn163mRH+1z59Jle/bsWR0/flzNmzeXMUabNm3K8bOZtw/6O9tlbm3Kbl/25FgiU2b7jh8/7lF8T46XPFlux44d03fffad77rnH5RhKyvn47vLpZ7cMPJXZH40aNcqlD73vvvsUERHhPJ7IyzK91KZNm7R3716NGjUqy3OlsuujL1y4oOPHj6tZs2aS5HZfvvz42dNpOBwOLVmyRN26dXN71X1uy/5KjvUvv6LEm3k+O3nZRq40/0rS5s2btWvXLt155506ceKEc17Onj2rDh066LvvvsvS97hbd5fL7BcfffRRl+GPPfaYJGW5NXaVKlWynHssWLBArVq1UvHixV2W84033qiMjAx99913ki4u5yu5ZVl2fZwn23zm8eegQYNUokQJ5/v16tXTTTfddEV5ISf33nuvy7bdtGlTGWN07733OocFBgaqcePGbtf7HXfc4TKfufV7Oe3DUVFR2rBhgxISEnJtd+a6AwDkDYUhAMijjIwMzZ8/X+3atdPevXu1e/du7d69W02bNtWRI0f073//O9dp7Nq1S5LUvn17RUdHu7xWrFiho0ePuoyf+byPSxUvXtzli+09e/aoXLlyLicNnti3b59q1KiRZXjmbTAyv3jPdPmXEpkH/zl9yX7s2DGdP39e1atXz/Le5bF37dolY4yqV6+eZdns2LHDuWyqVKmiRx99VO+//75KlSqljh076u2333a5f/2+ffsUEBCQ5XZml8c8duyYEhMTNWvWrCwxM78EvHyd5MbhcOiNN95Q9erVZbfbVapUKUVHR+vXX391aeNTTz2lsLAwNWnSRNWrV9eDDz7o9tZC2bl8mdpsNlWrVs35jIHM9eduHdesWdP5vt1u1yuvvKJvvvlGpUuXVuvWrfXqq6/qr7/+yjH+nj17VKNGjTw9BPzYsWM6d+5cttudw+HI8jyN3LY7T/epK53PzOXkyTbsqd27d8sYo9GjR2dpc2aBJqftbteuXUpKSlJMTEyWz585c8b52TZt2uj222/XuHHjVKpUKfXo0UOzZ892ufd+XvqPKlWq5Gk+L19mcXFxCggIcG6jnu7zmSpUqJDlC7nL+0N39uzZo4CAgFyLWtu2bdOtt96qyMhIRUREKDo62vlFWOa+m932EBQU5FLszDRnzhzVq1dPISEhKlmypKKjo/Wvf/0r1+dtZBcnOjo61y/RMz9brVo1l+FFihT5W7ed2bdvn8qVK+dSuJCyzxnu2uTJctu1a5e2bduWZZu45pprJOW9T5YufmnarFkzhYSEqESJEoqOjtY777zj0XNPJKl8+fIuX/TnpZ133HGHWrRooSFDhqh06dLq27evPv/8c7dFmNz69bzIj/a5s3//fucXl5nPQmzTpo0kebx8jYfPqPKUJ/uyJ8cSl7cvt4JAJk+OlzxZbplfqNapU8fjec/kyTLwVHbHE8HBwapatarz/bws00tlPpcwt/k8efKkHn74YZUuXVpFixZVdHS0My+5i+EuZ3kyjWPHjik5OfmKlruU92P9IkWKZLnFpzfzfHbyso1caf69dHkMHDgwy7y8//77SklJyRLPk+ONzGP9y3NdmTJlFBUVlSUnuZvmrl27tGzZsiztynzuWeZyHj58uK655hp17txZFSpU0D333ON8zqInLu/jPNnmczqOr1WrlrO45i2X91uZhd5Lb/WaOdzdevek3/N0H3711Vf122+/qWLFimrSpInGjh2bbRHSGONx3wwA+B+eMQQAebR69WodPnxY8+fP1/z587O8P2/ePOezKrKT+UXL3LlzVaZMmSzvX/4le2Bg4N9osXdl1xZvfaHjcDhks9n0zTffuI116UNbp0yZokGDBunLL7/UihUrNHLkSOdzTPLy3JfM9XHXXXdp4MCBbsepV69enubjpZde0ujRo3XPPffoxRdfVIkSJRQQEKBRo0a5fNFWq1Yt7dy5U19//bWWLVumRYsWacaMGXrhhRc0bty4PMX8u0aNGqVu3bppyZIlWr58uUaPHq1JkyZp9erVatiwoU/bcrnctru87FP5PZ85XSl1qcw2P/7441l+vZrp8i86Lv98TEyM5s2b5/b9zGKyzWbTwoUL9cMPP+irr77S8uXLdc8992jKlCn64Ycf3D4IOSd5fcbJ5S5fPnnZ56X87YMSExPVpk0bRUREaPz48YqLi1NISIh++eUXPfXUU1d0JcUnn3yiQYMGqWfPnnriiScUExOjwMBATZo0yfmlELJyOByqW7euXn/9dbfvX/4lVW7Wrl2r7t27q3Xr1poxY4bKli2roKAgzZ49W59++qlH03C37XvazqJFi+q7777TmjVr9K9//UvLli3TZ599pvbt22vFihV5zvM59TOXTssX7cvIyNBNN92kkydP6qmnnlLNmjUVGhqqQ4cOadCgQbnuNyVLlpR08YvDv/PMtkvlZV/29Fgi84vNUqVKedSG3Pqqv7vccpMf/ZmnvHV85k6fPn30/fff64knnlCDBg0UFhYmh8OhTp06uZ0nd/ttXqdxJfJ6rH/pleaXTiM/83xet5G/k38zpzV58uRsn613eTvzcrzhaVEgu378pptu0pNPPun2M5mF9JiYGG3evFnLly/XN998o2+++UazZ8/WgAEDNGfOnGxjXtrHXS2yu8NFduvY3XB3692TbcTT/a9Pnz5q1aqVvvjiC61YsUKTJ0/WK6+8osWLF2d5puSpU6fc/ngLAJAzCkMAkEfz5s1TTEyM3n777SzvLV68WF988YXeffddFS1aNNuTlMwrWGJiYpy/Rvu74uLitHz5cp08eTJPVw3FxsZq586dWYZn3j4iNjb2b7ctOjpaRYsWdf5a8FKXx46Li5MxRlWqVHGeiOWkbt26qlu3rp5//nl9//33atGihd59911NmDBBsbGxcjgczqtasosZHR2t8PBwZWRkeG19LFy4UO3atdMHH3zgMjwxMTHLl0qhoaG64447dMcddyg1NVW33XabJk6cqGeeecbl9m/uXL5MjTHavXu3s5CVuf527tzpvHVQpp07d2ZZv3FxcXrsscf02GOPadeuXWrQoIGmTJmiTz75xG38uLg4bdiwQWlpac6HyuYmOjpaxYoVy3a7CwgIyPOXvnndp/I6n5nLyZNtOPPXkYmJiS7DL//VauYVEkFBQVe03cXFxWnVqlVq0aKFR1+eNGvWTM2aNdPEiRP16aefqn///po/f76GDBlyxf2HJ3bt2uXyC93du3fL4XA4r1rJ6z5/peLi4uRwOLR9+/Zsv5T69ttvdeLECS1evFitW7d2Dt+7d6/LeJduD5fuV2lpadq7d6/q16/vHLZw4UJVrVpVixcvdskJ7m7bd7lL41x6Rc2xY8dy/YIp87O7d+923vZUuviA8/j4+FyL3dnlr9jYWK1atUqnT592uWrIk5yRl+UWFxenLVu2qEOHDl75FfCiRYsUEhKi5cuXy263O4fPnj37b003L+0MCAhQhw4d1KFDB73++ut66aWX9Nxzz2nNmjUufUBu/bp0sZ+5vI+RLvYzl24r3mxfdp/funWr/vjjD82ZM8flQeSe3m6pZs2aki7uZ3Xr1vXoM7nxdF/OlNOxxOWfzbw67u/ydLllrs/ffvstT9PP6zLIzaXHE5duY6mpqdq7d2+WPObJMr1UZh7/7bffss2Jp06d0r///W+NGzdOL7zwgnO4u9ycHU+nER0drYiIiFyXe34e63szz7vj7W1Eyn15REREeO1YW5LzWH/Xrl0u++aRI0eUmJjo0XlMXFyczpw541G7goOD1a1bN3Xr1k0Oh0PDhw/XzJkzNXr06Gx/zFOpUiUVLVo0y3L1ZJu/dL+73O+//65SpUopNDQ02/a6yxWpqak6fPhwtp/JT3ndh8uWLavhw4dr+PDhOnr0qK677jpNnDjRpTCUnp6uAwcOqHv37vnefgAobLiVHADkwfnz57V48WJ17dpVvXr1yvIaMWKETp8+rX/+85+S5DxQv/yAvGPHjoqIiNBLL73k9l7gx44dy3Pbbr/9dhlj3F5lktMv+W655Rb9+OOP+u9//+scdvbsWc2aNUuVK1e+4uenXCowMFAdO3bUkiVLtH//fufwHTt2aPny5S7j3nbbbQoMDNS4ceOytNsY47xPd3JystLT013er1u3rgICApy3zsg8aXjzzTddxps6dWqW9t1+++1atGiR2y8ArmR9BAYGZmn/ggULsjwzJnN+MgUHB6t27doyxnh0n/iPP/5Yp0+fdv69cOFCHT582DnvjRs3VkxMjN59912XW4p888032rFjh7p06SJJOnfunC5cuOAy7bi4OIWHh+d4K5Lbb79dx48f11tvvZXlvey2u8DAQN1888368ssvXW6NdOTIEX366adq2bKlIiIicp33S3m6T13pfJYtW1YNGjTQnDlzXG5zsXLlyizP4YqNjVVgYKDznvSZZsyY4fJ3TEyM2rZtq5kzZ7o9Qc9tu+vTp48yMjL04osvZnkvPT3d2e+cOnUqy7rILIxkzvOV9h+euLyIPn36dEn/2z893ef/rp49eyogIEDjx4/P8ivozLiZv3S9tB2pqalZ1l3jxo0VHR2td999V6mpqc7hH330UZb+3t00N2zY4NLnZufGG29UUFCQpk+f7vL5y/swdxo3bqySJUvqvffec+kr582b59GvlrPLX7fccosyMjKy7PNvvPGGbDZbll/xXt4mT5dbnz59dOjQIb333ntZpnP+/Pk83zonMDBQNpvN5VfS8fHxWrJkSZ6mczlP23ny5Mks71++H2bKrV+XLvZbP/zwg8ty/Prrr7PchtOb7ctum3C3jRtjNG3atCzTdKdRo0YKDg7WTz/95NH4nvB0X/bkWCLTzz//LJvNphtuuCHf2uhuuUVHR6t169b68MMPXY6hLv+sJ9N3tww8deONNyo4OFhvvvmmyzQ/+OADJSUlOY8n8rJML3XdddepSpUqmjp1apZtLKc+WvKsT8zk6TQCAgLUs2dPffXVV263zczP5+exvjfzvDve3kak7JdHo0aNFBcXp9dee01nzpzJ8rkrOdaWLuYkKev6y7xKMnO7zEmfPn303//+N8s5iXRxPjK358uPRwICApwF+5yWc1BQkBo3bpxlO/Jkm7/0+PPScX777TetWLHCOf/ZiYuLy3I8OmvWLI+eiZsfPN3/MjIystxaMCYmRuXKlcuyrLdv364LFy6oefPm3m8wABRyXDEEAHnwz3/+U6dPn872F0nNmjVTdHS05s2bpzvuuEMNGjRQYGCgXnnlFSUlJclut6t9+/aKiYnRO++8o7vvvlvXXXed+vbtq+joaO3fv1//+te/1KJFC7dftOekXbt2uvvuu/Xmm29q165dzsvx165dq3bt2mnEiBFuP/f000/rH//4hzp37qyRI0eqRIkSmjNnjvbu3atFixZlua3FlRo3bpyWLVumVq1aafjw4UpPT9f06dN17bXX6tdff3WOFxcXpwkTJuiZZ55RfHy8evbsqfDwcO3du1dffPGF7r//fj3++ONavXq1RowYod69e+uaa65Renq65s6d6yzySBdPivv166cZM2YoKSlJzZs317///W/t3r07S/tefvllrVmzRk2bNtV9992n2rVr6+TJk/rll1+0atUqt1+a5aRr164aP368Bg8erObNm2vr1q2aN29eludo3HzzzSpTpoxatGih0qVLa8eOHXrrrbfUpUuXLM/wcKdEiRJq2bKlBg8erCNHjmjq1KmqVq2a7rvvPkkXT0ZfeeUVDR48WG3atFG/fv105MgRTZs2TZUrV9YjjzwiSfrjjz/UoUMH9enTR7Vr11aRIkX0xRdf6MiRI+rbt2+28QcMGKCPP/5Yjz76qH788Ue1atVKZ8+e1apVqzR8+HD16NHD7ecmTJiglStXqmXLlho+fLiKFCmimTNnKiUlRa+++qqni9kpIiLCo33qSudTkiZNmqQuXbqoZcuWuueee3Ty5EnnNnzplxyRkZHq3bu3pk+fLpvNpri4OH399ddun4ny9ttvq2XLlqpbt67uu+8+Va1aVUeOHNF///tfHTx4UFu2bMm2PW3atNHQoUM1adIkbd68WTfffLOCgoK0a9cuLViwQNOmTVOvXr00Z84czZgxQ7feeqvi4uJ0+vRpvffee4qIiHB+oXCl/Ycn9u7dq+7du6tTp07673//q08++UR33nmn8+oQT/f5v6tatWp67rnn9OKLL6pVq1a67bbbZLfbtXHjRpUrV06TJk1S8+bNVbx4cQ0cOFAjR46UzWbT3Llzs3yBERQUpAkTJmjo0KFq37697rjjDu3du1ezZ8/Oso937dpVixcv1q233qouXbpo7969evfdd1W7dm23X45dKjo6Wo8//rgmTZqkrl276pZbbtGmTZv0zTff5Ho7q+DgYI0dO1YPPfSQ2rdvrz59+ig+Pl4fffSR4uLicr16pFGjRpKkkSNHqmPHjgoMDFTfvn3VrVs3tWvXTs8995zi4+NVv359rVixQl9++aVGjRqV5ZluV7rc7r77bn3++ed64IEHtGbNGrVo0UIZGRn6/fff9fnnn2v58uVuHwifnS5duuj1119Xp06ddOedd+ro0aN6++23Va1aNZcclFeetnP8+PH67rvv1KVLF8XGxuro0aOaMWOGKlSo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devWld1ulyTZbDYFBARo165dHs0/4BEDFDC33nqr6dixozl06JDJyMgwv/zyizl27JgxxpiFCxea/fv3G4fDYVavXm1CQkLMunXrjDHG7N2710gynTt3NqdOnTKHDh0y9evXN2PHjjXGGJOUlGTmz59vzpw5Y86fP29GjhxprrnmGuNwOHJsT+Z0T506leN406ZNM1WqVDE//fSTcTgcZt++fWb79u3GGGO+++4788svv5j09HSzZ88eU7NmTTNhwgTnZ2NjY03lypXNjh07zNmzZ82AAQNMu3btjDHGOBwO07RpU/Poo4+as2fPmuPHj5u2bdua559/Pksbtm3bZkqWLGmWL19ujDFm6dKlZufOncbhcJhNmzaZmJgY88knn7ht/y+//GIkmbS0NOewFStWmKioqBznGwAKE3KQf3LQpQYOHGgefvjhXMcDgMKE/OP//GOMMUeOHDEhISFm48aNHo0PAAUd+ce/+WfYsGGmaNGiRpKJjY01f/75Z47jA3lBYQgFyl9//WUkmX379nk0fo8ePZyde2by2LBhg/P9+fPnm7i4OLefPXXqlJFkDh48mGMMT5NSzZo1zZw5czxq9xtvvGFuvPFG59+xsbHmlVdecf6duRwOHDhgfvzxR1OiRAmTkZHhfH/FihWmatWqLtM8cuSIqVy5spkxY0a2cR9++GEzZMgQt+999913JjQ01GXYjz/+aAIDAz2aJwAo6MhBF/kjB12KwhAAqyH/XOTv/JOSkmLatWtnBgwY4NH8AEBBR/65yN/5JyMjw2zcuNGMHj061/kG8qKIL65KArxl3759stvtqlSpktv3582bpylTpig+Pl4Oh0Pnzp1TlSpVXMaJjY11+f+hQ4ckSefPn9djjz2mpUuX6uTJkwoIuHinxePHj6t8+fJeaXv16tXdvrdx40Y988wz2rp1q86fP6/09HTVqFEj23aXLl1adrtdhw4d0v79+5WYmKgSJUo43zfGKCMjw/n3hQsX1KNHD/Xs2VPDhg1zDl++fLnGjRunP/74Q2lpaUpJSVHnzp3dtjEsLEznzp1Tenq6ihS52HUkJSUpPDw87wsDAAogctBF/shBAGBl5J+L/Jl/UlNT1atXLxUrVkzvvfdenpYBABRU5J+L/H3+ExAQoMaNG2vNmjV6/PHH9f7773u8HICc8IwhFCixsbFKSUlx3s/0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bPylf9KkSTFs2LAYNGhQHH744fGHP/xhq+uYNm1aHHHEETFgwIDYaaed4swzz4wHHnhgq5evVCpx5ZVXxn777RctLS0xevTouPvuuyMi4t57742DDz64+5UPZ511VqxZs2az6z/22GPxlre8JVpbW+Poo4+OxYsXd5+36ZVsu+22W+y+++5x7rnnxrp16yIi4sQTT4yBAwd2n/r16xennXZaRETceuutccABB0RLS0vsueeeMX369EgpbXH9q1evjpkzZ8bFF18cgwcPjn333Tc++clPxg033LDVbQaoNzKonAyKiJg6dWoce+yx0drautXLANQr+VNO/owaNSo++9nPxvDhw6OxsTGOP/74GDNmTPz2t7/d6jYD1BP5U97+z7hx46KpqSkiIhoaGqKxsTGefPLJrV4eXrcEvcyJJ56Yjj766LRo0aLU1dWVHn744fT888+nlFL6j//4j7RgwYJUqVTSL37xizRgwID0wAMPpJRSevrpp1NEpGOPPTYtW7YsLVq0KE2YMCFdeOGFKaWU2tvb08yZM9PKlSvTmjVr0jnnnJP23XffVKlUtmldn/70p9Nxxx231fO/9a1vpb322iv97ne/S5VKJc2fPz89/vjjKaWUfv3rX6eHH344bdiwIf35z39O++23X7r44ou7r9vW1pZGjhyZ5s6dm1atWpWmTJmSjjzyyJRSSpVKJb31rW9Nn/70p9OqVavSCy+8kI444oj05S9/+RVreOyxx9KQIUPSPffck1JK6a677kpPPPFEqlQqac6cOWnYsGHp1ltv3eL6H3744RQRaf369d3/7957702DBw/epvsHoB7IoHIy6OWmTp2aPvWpT23T/QJQL+RP+fmTUkpLlixJAwYMSLNnz96mywP0dvKn3PyZNm1aetOb3pQiIrW1taW//OUv23T/wLZQDNGrPPfccyki0vz587fp8pMmTep+ct8USg8++GD3+TNnzkx77733Fq+7bNmyFBHpmWeeec05d911V2ptbU1//OMft3qZ/fbbL910003btO5//ud/TkcddVT3921tbemyyy7r/n7T/bBw4cL00EMPpZ122il1dXV1n3/vvfemUaNGbXabS5YsSSNHjkxXX331Vud+6lOfSqeffvoWz/v1r3+dmpubN/t/Dz30UOrTp882bRNAbyeDNiojg15OMQTkRv5sVHb+rFu3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n4wbbrhhq/cRQL2RQeVkUETE1KlT49hjj43W1tatXgagXsmfcvJn1KhR8dnPfjaGDx8ejY2Ncfzxx8eYMWPit7/97VbvI4B6In/K2/8ZN25cNDU1RUREQ0NDNDY2xpNPPrnVy8PrlqCXOfHEE9PRRx+dFi1alLq6utLDDz+cnn/++ZRSSv/xH/+RFixYkCqVSvrFL36RBgwYkB544IGUUkpPP/10ioh07LHHpmXLlqVFixalCRMmpAsvvDCllFJ7e3uaOXNmWrlyZVqzZk0655xz0r777psqlcpW1zJ//vw0aNCg1NjYmBoaGtKXv/zlrV72W9/6Vtprr73S7373u1SpVNL8+fPT448/nlJK6de//nV6+OGH04YNG9Kf//zntN9++6WLL764+7ptbW1p5MiRae7cuWnVqlVpypQp6cgjj0wppVSpVNJb3/rW9OlPfzqtWrUqvfDCC+mII47Y4loee+yxNGTIkHTPPfeklFK666670hNPPJEqlUqaM2dOGjZsWLr11lu3uP6HH344RURav3599/+799570+DBg7e6zQD1RgaVk0EvN3Xq1PSpT33qNS8HUE/kT/n5k1JKS5YsSQMGDEizZ8/epssD9Hbyp9z8mTZtWnrTm96UIiK1tbWlv/zlL696eXg9FEP0Ks8991yKiDR//vxtuvykSZO6n9w3hdKDDz7Yff7MmTPT3nvvvcXrLlu2LEVEeuaZZ15zTkdHR7rqqqvSrFmztnqZ/fbbL910003btO5//ud/TkcddVT3921tbemyyy7r/n7T/bBw4cL00EMPpZ122il1dXV1n3/vvfemUaNGbXabS5YsSSNHjkxXX331Vud+6lOfSqeffvoWz/v1r3+dmpubN/t/Dz30UOrTp882bRNAbyeDNiojg15OMQTkRv5sVHb+rFu3Lh155JFpypQp27Q9AL2d/Nmo7Pzp6upKs2fPTtOnT0/Lli3bpm2CbdG3yKOT4I2aP39+NDU1xZ577rnF8//1X/81ZsyYEfPmzYtKpRKrV6+Ovfbaa7PLtLW1bfb1okWLIiJizZo18ZnPfCbuuuuueOmll6KxceM7Lb7wwguxxx57vOq6Wlpa4qyzzoqdd945fv/7379i5qa1jx49eovXnz17dpx//vnx6KOPxpo1a2LDhg0xZsyYra57l112iaampli0aFEsWLAgli9fHjvttFP3+Sml6Orq6v5+7dq1MWnSpDjhhBNi2rRp3f//nnvuiYsuuij+9Kc/xfr162PdunVx7LHHbnGNAwcOjNWrV8eGDRuib9+NTx3t7e3R0tLyqvcNQL2QQRuVkUEAOZM/G5WZP52dnXHSSSfFDjvsENddd92rXhagXsifjcre/2lsbIyDDz447rvvvvjsZz8b119//WteB7aFzxiiV2lra4t169Z1v5/pyy1YsCCmTp0al19+eSxdujSWL18e73nPe17xfp3z58/f7DqbAmfGjBnx+9//Ph544IHo6OiIefPmRUS86vt9vlxKKdauXdt9vS2t/amnntrieR/60IfiyCOPjL/85S/R0dERX//611913UuXLo1169bFHnvsESNGjIhhw4bF8uXLu0/t7e2xcuXK7nWddtppMXTo0JgxY0b3bXR2dsb73//+OOOMM2LRokXR3t4eZ5555la3d8yYMdGvX7/N3vP1kUceiXHjxm3T/QPQ28mgjcrIIICcyZ+Nysqfzs7O+OAHPxidnZ3xox/9KPr3779N9w1Abyd/Nuop+z/r16/3GUNUlWKIXmWXXXaJSZMmxZlnnhnPPvtsVCqVmDNnTrz44ouxcuXKSCnFsGHDorGxMe6666649957X3EbX/3qV2P58uWxePHiuOSSS2Ly5MkRsfED9QYMGBA77rhjrFy5Mr74xS++6lpmzpwZTz31VFQqlVi+fHl86lOfiubm5njLW96yxcufccYZcdFFF8UjjzwSKaVYsGBBzJ07t3v24MGDo7m5OebOnRvf+c53XnH9a665Jp544olYs2ZNfP7zn4/DDz88hg8fHoccckiMGDEivvzlL8eKFSsipRTz58+Pn//85xERccEFF8QTTzwRP/zhD7tfgRERsW7duli7dm0MGTIkmpqa4sEHH4wf/OAHW93eHXbYIU455ZSYPn16tLe3x5NPPhlXXXVVnH766a96PwHUCxlUXgZFbNwRWrt2bXR1dUVXV1esXbt2qx82C1BP5E95+bN+/fo4+eSTY9WqVTFr1qzuDwEHyIH8KS9/5s+fHz/60Y9i5cqVUalU4je/+U1ceeWVcfTRR7/q/QSvS+3epQ5qY/ny5emMM85Iu+++e2ppaUmHHnpoWrhwYUoppenTp6chQ4akwYMHpylTpqRTTjml+3MINr2/6bXXXpva2trSjjvumM44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",
      "text/plain": [
       "<Figure size 1680x1000 with 16 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "prompt = \"add 47+38=\"\n",
    "answer = complete(model, prompt)\n",
    "full = \"\\n\" + prompt + answer\n",
    "idx = torch.tensor([encode(full)])\n",
    "with torch.no_grad():\n",
    "    model(idx, keep_attn=True)\n",
    "labels = [c if c != \"\\n\" else \"⏎\" for c in full]\n",
    "q_rows = list(range(len(full) - len(answer) - 1, len(full) - 1))   # posiciones que predicen cada dígito de la respuesta\n",
    "print(f\"{prompt}{answer}\")\n",
    "\n",
    "L, H = len(model.blocks), model.blocks[0].attn.h\n",
    "fig, axes = plt.subplots(L, H, figsize=(4.2 * H, 2.5 * L))\n",
    "for l in range(L):\n",
    "    for h in range(H):\n",
    "        A = model.blocks[l].attn.last_attn[0, h][q_rows].numpy()\n",
    "        ax = axes[l, h]\n",
    "        ax.imshow(A, cmap=\"magma\", vmin=0, vmax=1, aspect=\"auto\")\n",
    "        ax.set_xticks(range(len(labels))); ax.set_xticklabels(labels, fontsize=8)\n",
    "        ax.set_yticks(range(len(q_rows))); ax.set_yticklabels([f\"→{answer[i]}\" for i in range(len(answer))], fontsize=8)\n",
    "        ax.set_title(f\"capa {l} cabeza {h}\", fontsize=9)\n",
    "fig.suptitle(\"Atención desde las posiciones que escriben cada dígito de la respuesta (filas) hacia los caracteres anteriores (columnas)\")\n",
    "plt.tight_layout(); plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ed530267",
   "metadata": {},
   "source": [
    "Busca cabezas que pongan su peso en los dígitos de los dos operandos de la misma columna (decenas con decenas, unidades con unidades): esas cabezas reúnen las entradas que necesita un sumador, mientras que los MLP hacen la aritmética de los dígitos. Otras cabezas atienden a los signos `=` o `+`, que marcan *en qué punto* del problema está el modelo. La investigación en interpretabilidad de modelos grandes encuentra cabezas de \"inducción\" y de \"copia\" parecidas.\n",
    "\n",
    "## 10. Generación rápida con una caché KV\n",
    "\n",
    "Generar el token $t$ requiere atención sobre los $t-1$ tokens anteriores. Sin caché, cada paso vuelve a calcular las claves y los valores de todo el prefijo: $O(n^2)$ de trabajo para $n$ tokens. Como las claves y los valores anteriores nunca cambian (¡máscara causal!), podemos **guardarlos en caché** y calcular solo $q, k, v$ del token nuevo en cada paso. Todos los servidores de LLM en producción lo hacen; la memoria que ocupa la caché es una de las grandes razones de innovaciones como la atención de consultas agrupadas."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "b3f6ca58",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-16T09:32:57.963588Z",
     "iopub.status.busy": "2026-10-16T09:32:57.963311Z",
     "iopub.status.idle": "2026-10-16T09:32:58.180337Z",
     "shell.execute_reply": "2026-10-16T09:32:58.179258Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "salida idéntica: True\n",
      "sin caché 126 ms, con caché KV 76 ms (1.7 veces más rápido)\n",
      "caché: 4 capas x (claves, valores), cada una con forma (1, 4, 30, 32) = (lote, cabezas, tokens hasta ahora, dim. de cabeza)\n"
     ]
    }
   ],
   "source": [
    "@torch.no_grad()\n",
    "def generate_greedy_nocache(model, prompt, n):\n",
    "    idx = torch.tensor([encode(prompt)])\n",
    "    for _ in range(n):\n",
    "        logits, _, _ = model(idx)                       # se recalcula todo en cada paso\n",
    "        idx = torch.cat([idx, logits[:, -1].argmax(-1, keepdim=True)], dim=1)\n",
    "    return decode(idx[0].tolist())\n",
    "\n",
    "@torch.no_grad()\n",
    "def generate_greedy_cache(model, prompt, n):\n",
    "    idx = torch.tensor([encode(prompt)])\n",
    "    logits, _, past = model(idx)                        # se procesa la instrucción una sola vez\n",
    "    out = idx\n",
    "    for _ in range(n):\n",
    "        nxt = logits[:, -1].argmax(-1, keepdim=True)\n",
    "        out = torch.cat([out, nxt], dim=1)\n",
    "        logits, _, past = model(nxt, past=past)         # solo el token nuevo pasa por el modelo\n",
    "    return decode(out[0].tolist())\n",
    "\n",
    "prompt, n_new = \"\\nadd 12+30=42\\nrev hello=olleh\\n\", BLOCK - 32\n",
    "t0 = time.time(); a = generate_greedy_nocache(model, prompt, n_new); t_no = time.time() - t0\n",
    "t0 = time.time(); b = generate_greedy_cache(model, prompt, n_new); t_kv = time.time() - t0\n",
    "print(\"salida idéntica:\", a == b)\n",
    "print(f\"sin caché {t_no * 1000:.0f} ms, con caché KV {t_kv * 1000:.0f} ms ({t_no / t_kv:.1f} veces más rápido)\")\n",
    "with torch.no_grad():\n",
    "    _, _, past = model(torch.tensor([encode(prompt)]))\n",
    "print(f\"caché: {len(past)} capas x (claves, valores), cada una con forma {tuple(past[0][0].shape)} = (lote, cabezas, tokens hasta ahora, dim. de cabeza)\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a7f21b65",
   "metadata": {},
   "source": [
    "La aceleración crece con la longitud de la secuencia; con miles de tokens es enorme.\n",
    "\n",
    "## 11. Ajuste fino: por qué importa el preentrenamiento\n",
    "\n",
    "La receta de GPT-1, que se sigue usando hoy: **preentrenar** una vez con muchos datos generales y después hacer un **ajuste fino** breve con un pequeño conjunto de datos específico de la tarea.\n",
    "\n",
    "Una tarea nueva que el modelo nunca ha visto: traducir **de español a inglés** (`en ella quiere el coche rojo=she wants the red car`). Damos a dos modelos idénticos los mismos 200 pasos de ajuste fino:\n",
    "* uno parte de nuestros pesos preentrenados (ya conoce ambos vocabularios y cómo se corresponden),\n",
    "* otro parte de pesos aleatorios."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "271c524a",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-16T09:32:58.183752Z",
     "iopub.status.busy": "2026-10-16T09:32:58.183482Z",
     "iopub.status.idle": "2026-10-16T09:35:01.812287Z",
     "shell.execute_reply": "2026-10-16T09:35:01.811047Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "ambos ajustados en 123 s\n",
      "exactitud ES→EN con datos reservados:  desde el preentrenado 100%   desde cero 0%\n"
     ]
    },
    {
     "data": {
      "image/png": "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WJgymUxq06ZNtuWGDx+udDqd6tu3r5o+fboaO3as6tWrl/r4449zzUd0dLTy9/dXfn5+auTIkeqzzz5TlStXVrVr11aAioqKsi3brVs31aNHD/XZZ5+pyZMnq+7duytAvfbaa7Zlli5dqurWratKlSqlZs+erWbPnq3mz5+vlFLq2rVrKjw8XLm6uqpXXnlFTZgwQbVo0UIB6ssvv7TbBqDatWunvv76a/X111+rQYMGqe7du+f+4ubgbl+DjHMmIxfnz59Xfn5+qkqVKuqzzz5T06dPV//3f/+nwsPDbetERUUpQNWtW1dVr15dffHFF+qdd95RRqNRNW7cWA0fPlw1bdpUTZgwQQ0ZMkTpdDr17LPP2sX93nvvKUC1b99eTZw4UQ0aNEgZDAbVsGFDlZqaqpRSKiUlRYWFhakyZcqoDz74QM2YMUONGjVKNWzYUJ04ccKhvAQEBKhBgwapCRMmqObNmytAffPNN7blYmNjVenSpdWwYcPU5MmT1aeffqqqVq2qXF1d1Y4dO27rdTt37pwKDAxUXl5e6v/+7//UF198oerUqaP0er36/fffbctNmzZNAeqxxx5TU6dOVePHj1fPP/+8GjJkiN0xAKpVq1a5nwDX9xscHKxCQkLU+++/ryZPnqweeughBahx48Zled1mzpyZ6/YyzolatWqpFi1aqAkTJqiBAwcqvV6vWrZsqaxWq23Z0NBQValSJeXn56feeustNWXKFLVy5UqVmJioateurUqWLKmGDx+upkyZonr37q10Op16+eWX7fb3wgsvKBcXF9W3b181ZcoU9eabbyoPDw+7cyFjX1WrVlWBgYFq+PDh6quvvlL169dXOp1O7d27Vyml1LFjx9SQIUMUoIYPH277Oz137lyexJuRw3r16qlKlSqpTz75RH366aeqVKlSKjg42C7ezz//XLVo0UK9//77atq0aerll19Wbm5uqlGjRnY5zPhbqFu3rurVq5eaNGmSevDBBxWgvvjiC1W1alX10ksvqUmTJqlmzZopQK1evTrX13Xv3r3Kx8dHVa9eXX3yySfqq6++Ui1btlQ6nc7uXMx4revVq6fatm2rJk6cqF599VVlMBhUjx49bMvNnz9fBQcHq2rVqtlyunTpUtv558h5n5OnnnpKAeqJJ55QX331lXrkkUds79GZ/yf99ttvqk6dOmrEiBFq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jtGuXTuqVavGF198QUhICEajkb///ptx48blekyOvm8VN1LM3qMefvhh+vfvz6ZNm+y+XnFU6dKlGTBgAAMGDCAmJob69evz4Ycf2hWzd8rf3x93d3cOHTqU5bmDBw+i1+vt3jgyrkZ99tlnSUhIoGXLlowcOTLXYjY0NDTbrgk373PVqlVcvHiR33//nZYtW9rmR0VFZVk3pyGsQkND2b17N1ar1a51NqOLQuZxXI1GI126dKFLly5YrVYGDBjA1KlTeffdd7P8k3GWxo0b07hxYz788EPmzJnDk08+yc8//5wnHx4ycnHo0CG7LiapqalERUXZWsMy1KpVi1q1avHOO++wYcMGmjVrxpQpU/jggw9y3c/Zs2dJTEy0a509fPgwgG0Uirlz51KhQgV+//13u9c2owUrs1u9bqGhoTmez5mPG8DDw4OePXvSs2dPUlNTeeSRR/jwww95++23MZvNuR5XZhlXgFsslix5u1tHjhyhTZs2tscJCQlER0fzwAMP3HLdihUrkpCQcMuYKlasyPLly2nWrFm2ReaduJNh5hyN11GXL19mxYoVjBo1ihEjRtjm325XqTuR8Tfl6uqap+dEbu99jp732a1rtVo5duyYXWtsdtubO3cuzzzzjN1oDsnJyQ6P39qyZUtKly7NL7/8QvPmzfnf//7H//3f/9ktU7FiRXbt2kW7du3ybLjCnLbz559/kpKSwh9//GHXwuvIiAS3875VnEg3g3uUp6cnkydPZuTIkXTp0sXh9SwWS5avKgICAihTpky2XzffCYPBQIcOHVi4cKHd15bnz59nzpw5NG/eHG9vb4AsQ9l4enpSqVKlW8bywAMPsGnTJrZs2WKbFxsbm6UVKOPTdeZP06mpqUyaNCnLNj08PLL9GueBBx7g3Llzdh8a0tPTmThxIp6enrRq1SrbY9Hr9baWs7zK7d24fPlyllaFunXrAnkXX/v27TEajUyYMMFuX9988w1xcXE8+OCDgDZszs1jJdeqVQu9Xu9QLOnp6bZhl0B7TadOnYq/vz8RERFA9q/95s2b2bhxo922HHndHnjgAbZs2WK3bmJiItOmTaN8+fJUr149220ZjUaqV6+OUsqun7IjQ3MZDAYeffRR5s2bx969e7M8n3l4pds1bdo0u3gmT55Menq6Qx9me/TowcaNG1myZEmW565cuWJ7XXv0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jZEjR/Laa6/ZLXPlyhXatm1LvXr12Lp1K4sXL+b8+fP06NHDodwD/PTTT9x///3Uq1cv2+dvdZW7m5vbXbdKHj16lF9//ZU///yTxYsXs2PHDgYMGGC3zIoVKzh06BDLli1j0aJFDr12P/74IyNGjODDDz/kwIEDfPTRR7z77rt89913dtseMWIEr776Kjt37qRKlSr06tWL9PR0mjZtypdffom3t7ftPMr8Gnz++efUqVOHHTt28O6773Ls2DE6duzIo48+yu7du/nll19Yt24dgwYNstvf2LFjbR9OBgwYwEsvvcShQ4dsz3t5eTFr1iz279/P+PHjmT59OuPGjbM9/+uvvzJy5Eg++ugjtm7dSunSpe2KdIDx48czduxYPv/8c3bv3k1kZCQPPfQQR44cuavXKleqGIqLi1OAiouLK5D9WSwWdWndt0q9563UFzWUslgKZL9FjcViUdHR0coi+cmV5MkxkifH3WmukpKS1P79+1VSUpJtXmJKmgp9c5FTpsSUNIdjb9WqlQoPD1dWq9U2780331Th4eE5rrNlyxYFqPj4eKWUUitXrlSAWrBggd1y7733nqpTp06W9QE1f/58pZRSs2fPVlWrVrXbf0pKinJzc1NLlixRSin1zDPPqNDQUJWenm5bpnv37qpnz55KKaUOHTqkALVlyxbb8wcOHFCAGjdunFJKqaVLlyqDwaBOnTplW2bfvn1Z1sts6tSpqmTJknav6+TJkxWgduzYoZRSavTo0apDhw52650+fVoB6uDBgyo1NVW1atVKvfzyy9nuQymlzGazGjJkiN28bt26KQ8PD+Xh4aGaNGlim//MM8+orl27KqWUslqtatmyZcpkMqnXXnsty3Yz5zk37733njIYDOrMmTO2ef/884/S6/UqOjratt/AwECVkpJiW8aR165ixYpqzpw5dvsbPXq07ZiioqIUoKZOnWrbTsbrcuDAAaWUUjNnzlQ+Pj5Z4g4NDVXdunWzm/f888+rfv362c1bu3at0uv1ttcxNDRUPfXUU7bnrVarCggIUJMnT84xR5999pmKiIiwPW7SpIkaMGCA3TL33Xef3flepkwZ9eGHH9ot07BhwyzrZcjufSSDo/WaU1tmJ0+eTO3atfH29sbb25smTZrwzz//5LrOb7/9RrVq1TCbzdSqVYu///67gKK9OymhbVAmL4g7Dac3OTscIYQo9ho3bmzX+tekSROOHDmCxWIBYNu2bXTp0oVy5crh5eVF69atAe1r+8waNGhw2/vetWsXR48excvLC09PTzw9PSlRogTJyckcO3bMtlyNGjXs7opUunRpW8vrgQMHcHFxISIiwvZ8tWrV7C4aOnDgACEhIYSEhNjmVa9eHV9fXw4cyL7b24EDB6hduzZms9k2r0mTJlniX7lypS12T09PqlWrBmAX/+2aNGkSO3fu5LnnnuPatWt2zy1atAhPT0/MZjOdOnWiZ8+etq/e71S5cuUoW7as7XGTJk2wWq12rZW1atXCaDTaHt/qtUtMTOTYsWM8//zzdvn54IMPsuSmVq1att8zbueauWU9Jzefc7t27WLWrFl2+4uMjMRqtRIVFWVbrnbt2rbfdTodQUFBdvv75ZdfaNasGUFBQXh6evLOO+/Yne8HDhzgvvvus9t35nMjPj6es2fP0qxZM7tlmjVrluP5lhecejvb4OBgPv74YypXroxSiu+++46uXbuyY8cOatSokWX5DRs20KtXL8aMGUPnzp2ZM2cO3bp1Y/v27dSsWdMJR3AbXMwQ/hDs/BF2/wKhTZ0dkRBC5Dk3VwP734902r7zSmJiIpGRkURGRvLjjz/i7+/PyZMns3QDAPDw8Ljt7SckJBAREZFtH9fMfTxdXV3tntPpdFit1tveX15LSEigS5cufPLJJ1mey+i3eiuVK1e2KxrhRkFXokSJLMu3adOGyZMnYzQaKVOmDC4uBVPC3Pz63uq1S0hIAGD69OlZCr+bb9ea+RgyPlg58vpmF1P//v0ZMmRIlmXLlStn+z2382njxo08+eSTjBo1isjISHx8fPj5558ZO3bsLeNxNqcWs126dLF7/OGHHzJ58mQ2bdqUbTE7fvx4OnbsyOuvvw7A6NGjWbZsGV999RVTpkwpkJjvhqrVA93OH2HPPGj1FniXdnZIQgiRp3Q6He5Gp/5rcdjmzZvtHm/atInKlStjMBg4ePAgFy9e5OOPP7a1ajp6VbzRaLS17uakfv36/PLLLwQEBODt7X1H8VerVo309HS2bdtGw4YNATh06BBXrlyxLRMeHs7p06c5ffq07Tj279/PlStXqF69erbbDQ8PZ/bs2SQnJ9taZzdtsv9GsX79+sybN4/y5ctnKSrVLUZ1yNCrVy/eeecdduzYkWO/2cw8PDyoVKnSLZe7HadOneLs2bOUKVMG0I5Tr9fbLvTKzq1eOx8fH8qUKcPx48d58skn7zg2R86jzDHt37//rvKzYcMGQkND+b//+z/bvJMnT9otEx4ezubNm+ndu7dtXuZzw9vbmzJlyrB+/XpatWplm79+/XoaNWp0x7HdSqG5AMxisfDzzz+TmJiY5euMDBs3bqR9+/Z28yIjI21X/+UkJSWF+Ph4uwm0Tz8FNSmlsJZriipTH1KvohYNxWqxFGgMRWFSSjk9hqIwSZ4kT4UlV0qpIjmBVsi88sorHDx4kDlz5jBx4kSGDBmCUoqQkBCMRiMTJkzg2LFjLFy4kA8++MD2fyXzdm7edmhoKFFRUezYsYPY2FiSk5OzLPvEE09QqlQpunbtypo1azh+/DgrV65k8ODBnD592u5ituxiV0pRpUoVOnbsSP/+/dm0aRNbt27lhRdewM3NzbZsu3btqFWrFk8++STbtm2zFSKtWrUiIiIi29z06tULnU5H37592bdvH3/99Reff/65XSwDBgzg0qVL9OrViy1btnD06FEWL17Ms88+i8ViyTE3maehQ4fSpEkT2rVrx5dffsm2bds4fvw4ixcv5p9//sFgMNgd8622l9trktNkNpt55pln2LlzJ2vWrGHIkCH06NGDwMDAHPfryGs3cuRIxowZw/jx4zl06BC7d+/m22+/ZezYsVmOKafzKTQ0lISEBJYvX05sbCyJiYk5Ht8bb7zBhg0bGDhwIDt27ODw4cMsWLCAgQMH5pqXzPMqVarEqVOn+Omnnzh69Cjjx49n/vz5dssMGTKEb7/9lm+//ZZDhw4xYsQI9u3bZ7fMa6+9xieffMLPP//MwYMHefPNN9m5c6ftbyunKaf3GEc4/ePznj17aNKkCcnJyXh6ejJ//vwcPy2eO3eOwMBAu3mBgYGcO3cu132MGTOGUaNGZZmf8SaT36xWK3FxcSilMDYfRcm5j6A7vJi49d+QXOWhfN9/UZE5T3p9ofmcVehInhwjeXLcneYqLS0Nq9VKenq6Qy1xhYlSiqeeeopr165x3333YTAYGDRoEM899xzp6en4+fkxY8YMRowYwcSJE6lXrx5jxozh0UcftR1vRqvZzcfftWtX5s2bR9u2bbly5QozZsywtWRZLBbS09MxGo2sWLGC4cOH8+ijj3L16lXKli1LmzZtcHd3Jz093fbPPPO2M/7xZ8ybNm0aL774Iq1btyYwMJCRI0dy+vRpu/Xmzp3L0KFDadWqFXq9ng4dOvDll1/m+JqZzWbmz5/PwIEDqV+/PuHh4Xz44Yf07NnTdqwBAQGsWrWK4cOHExkZSUpKCuXKlSMyMhLL9Yaam2O9mYuLC4sXL2bChAnMnDmT4cOHY7VaKV++PB07dmTIkCG2dbPLRW4y8pwbq9VKxYoV6dq1Kw8++CCXLl3igQceYPz48bnu15HXrk+fPphMJr744gveeOMNPDw8qFmzJoMHD7Y7XywWC2lpaeh0Ort56enpNGrUiH79+vH4449z8eJF3nnnHUaMGGGLK3NM1atXZ8WKFYwYMYKWLVuilKJChQp0797dbrnszqeMeQ888ABDhgxh8ODBpKSk0KlTJ4YPH87o0aNt6zz66KMcOXKEN998k+TkZB5++GH69evHsmXLbMsMGDCAy5cv89prrxETE0N4eDi///47YWFh2b4mGef6xYsXs3SDuHr16i1eaY1O3fzxoIClpqZy6tQp4uLimDt3LjNmzGD16tXZFrRGo5HvvvuOXr162eZNmjSJUaNG5TpmXkpKCikpKbbH8fHxhISEcPny5Tv+eud2WK1WYmNj8ff31/5RrPkc/aoPUW5+qJc2gmfgrTdSDGTJk8iW5MkxkifH3WmukpOTOXHiBGFhYXYXCxUFbdq0oU6dOrd929e0tLQs/3BFVkUhTyNHjmThwoXZjqFbUIpCnvJbcnIyUVFRlC9fPsv7SHx8PH5+fsTFxeVarzm9ZTbjtnQAERER/Pvvv4wfP56pU6dmWTYoKChL0Xr+/PlbdjY3mUzZ3nVFr9cX2D85nU53Y38tXoGDf6I7txvdH4Og5w/g6lYgcRR2dnkSOZI8OUby5Lg7yZVer7e7bWhRc7txK6VsyxfF4y0oRSVPzo6xqOQpv2X8HWb3/uPo+1Ghe4e3Wq12raiZNWnShBUrVtjNW7ZsWY59bAstgyt0mwQGIxxdDjMfgPizt15PCCGEEELYcWox+/bbb7NmzRpOnDjBnj17ePvtt1m1apXt6r/evXvz9ttv25Z/+eWXWbx4MWPHjuXgwYOMHDmSrVu3ZrnDRZEQVAuemgdufnB2O0xrA6e3ODsqIYQoFlatWnXbXQzEvWXkyJHs3LnT2WGIPODUYjYmJobevXtTtWpV2rVrx7///suSJUu4//77Ae1K0+joaNvyTZs2Zc6cOUybNo06deowd+5cFixYUPjHmM1JWEvouxL8wyHhHHzTARYOhKu53zNbCCGEEEJonNpn9ptvvsn1+VWrVmWZ1717d7p3755PETlBiTB4YRn8/Trs+gl2/AD7FkKTgRDxDHiXcXaEQgghhBCFVqHrM1ssmbzg4Snw/DK4Pg4tqz+GcTXh5ydh/0JIuuzsKIUQQgghCh2nj2YgMglpBC+sgP3zYcsMOLUBDi7SJp0eSteFim2gQmsIuQ9cso7QIIQQQghRnEgxW9jo9VDzUW2KOQDbZ2sjHlw4pF0odnY7rB0LLm4Q2kTrdxvWUit09Xl3X/J8lTG0cTEeikQIIYQQeUOK2cIsIBw6fgR8pA3ddXzVjSnhPBz7nzYBuJeEypFQtSMENwSv0oWnWExLgsQLcH4vHPoHjiyFpCtQ7UGo8zhUaAMGORWFEEIIcfukgigqvMtA3Se0SSmI2Q9RayFqDZxYC9cuwq452gRg9gH/atoUEK5NgbXAo+TdxWG1giVVm9KuQUKMVlgnnIer564/PpdpfgykJmS/rb1ztUlnAL0LOr2BAL0RnWcprTj3Lgula0NQbfAoBQmx2jataWD01CaTZza/e4DVAinx2mQwgnspcDHe3bELIcRd0Ol0zJ8/n27duuXrfsqXL8/QoUMZOnRonm0z405vO3bsoG7dunm23aJu1apVtGnThsuXL+Pr6+vscLI1cuRIFixYcE8PQybFbFGk00FgDW1q/CJY0uDURji0GI6tgAtHIDkOTm/Wpsx8QqB0HajeFcIfAlczWNK1Ft6jyyE9SStYlUUrCJUV0pO1luG4M5AYc2cx613BJxgqtddaj82+sPtXrZi9dhEsFnQW0HENUq7AxaPaevt+v5MEAdncpdnkoxXFHqW04tborsVlcNHi8QoCjwAtv2lJ2nEbPbTC2r2UdrML0Povu7rdKJxRYE3XPmSYvKWVWYhiLqfiITo6Gj8/P+cEJYqMvC6QX3vtNQYPHnz3gRVi8l/3XmBwvdF3FiA9RStoYw9q/W5jD2otuZeOQ9xpbTq4CNze0IrLqLVaa+pt04GHP3gGgleg9jNjyvzYo5RW5N3c7SG4AUR+pLW2KitWq4VL505Twg30SZe0eKN3Q/QurXXXM0ArNl1MkHIVUhO1+SkJ2s/UBK34zlzIurhprcjKAilx2nTp2J1m2jFufloBbDBpha3BpMXuXVZrYc/46V5SK+QTzmnH4xMMJStpHziKSv9nIYSNUgqLxZLj87e69boQeSnjfPT09MTT09PZ4eQvVQzFxcUpQMXFxRXI/iwWi4qOjlYWi6VA9pejpCtKRa1TauUYpb6oodR73jemT8KUWjRMqVWfKrXmc6XWjlNq/QSlNnyt1OZpSh1YpNTZnUpdPa9UUpxSqUlK5fHx3HWerFalUhK1GBMuKJWemrFhpRIvKhVzSKkT65Xat0CpLTOU2vCVUuu+VGr1p0r987ZSvz2r1MwHlZrVWakfeyj1y9NKff+wUlNaaPn6vKpSn1VR6tNKSn1Y1j5/eTm9X0qprxopNaeXUsveU+rQYi3neZWnYkLy5Lg7zVVSUpLav3+/SkpKyqfI8k+rVq3UwIED1cCBA5W3t7cqWbKkeuedd5TVarUt8/3336uIiAjl6empAgMDVa9evdSZM2dsy6xcuVIB6u+//1b169dXrq6uaubMmQrtE7VtmjlzplJKKUDNnz/ftv1Tp06p7t27Kx8fH+Xn56ceeughFRUVZXv+mWeeUV27dlWfffaZCgoKUiVKlFADBgxQqamptmXOnz+vOnfurMxmsypfvrz64YcfVGhoqBo3bpxtmZMnT6qHHnpIeXh4KC8vL9W9e3d17ty5XPOzefNmVbduXWUymVRERIT6/fffFaB27NhhW2bPnj2qY8eOysPDQwUEBKinnnpKxcbGKqvVqlJTU+1yqZRSM2fOVD4+Pmr+/PmqUqVKymQyqQ4dOqhTp07ZLbdgwQJVr149ZTKZVFhYmBo5cqRKS0tTSilltVrVe++9p0JCQpTRaFSlS5dWgwcPtq176dIl9fTTTytfX1/l5uamOnbsqA4fPmx7/sSJE6pz587K19dXubu7q+rVq6u//vorxzxkdw6cP3/e9nzGOXD58mXbvLVr16rmzZsrs9msgoOD1eDBg1VCQoJD24yKispy/jzzzDNKKaWSk5PV4MGDlb+/vzKZTKpZs2Zqy5YtWWLJfD6uXLlSvffee6pOnTq25SwWixo1apQqW7asMhqNqk6dOuqff/6xPZ+SkqIGDhyogoKClMlkUuXKlVMfffRRjjm6W7m9jzhar0nLbHFi9oHyzbSp5etwdIXW3zakkXbxWFHvU6rTaV0HjO728/V6cC+hTVTJu/1ZrVq/YZ1eax3X6bUL2xJjr3edSNG6aqQlaa3P8f9BfPT1n2e1ZdxLgGeQ1t/3yimtNdqSqrWmxx6EQ38B47R+xaXraBf3lamHwb0SBATk3bEIkVeU0v4unMHV/bYufP3uu+94/vnn2bJlC1u3bqVfv36UK1eOvn37ApCWlsbo0aOpWrUqMTExDBs2jBdeeIG///7bbjtvvfUWn3/+ORUqVMBsNvPqq6+yePFili9fDoCPj0+WfaelpREZGUmTJk1Yu3YtLi4ufPDBB3Ts2JHdu3djNGrvxytXrqR06dKsXLmSo0eP0rNnT+rWrWuLsU+fPpw9e5aVK1fi6urKkCFDiIm50R3MarXStWtXPD09Wb16Nenp6QwcOJCePXtme2MigISEBDp37sz999/PDz/8QFRUFC+//LLdMleuXKFt27a88MILjBs3jqSkJN5880169OjBihUrcsz5tWvX+PDDD/n+++8xGo0MGDCAxx9/nPXr1wOwdu1aevfuzYQJE2jRogXHjh2jX79+ALz33nvMmzePcePG8fPPP1OjRg3OnTvHrl27bNvv06cPR44c4Y8//sDb25s333yTBx54gP379+Pq6srAgQNJTU1lzZo1eHh4sH///lxbLbM7B/r06ZPlHMhw7NgxOnbsyAcffMC3335LbGwsgwYNYtCgQcycOdNum1WqVCE6Opo33njDts2QkBDmzZvHo48+yqFDh/D29sbNzQ2AN954g3nz5vHdd98RGhrKp59+SmRkJEePHqVEiRK2GDKfj35+flle5/HjxzN27FimTp1KvXr1+Pbbb3nooYfYt28flStXZsKECfzxxx/8+uuvlCtXjtOnT3P69Okcc1Qo5FelXZgV25bZQk7ypJSypCt16YRSR5ZrLeILByn1ZZ1sW3Ctk5trLctXTjs76kJJzifH5WnLbEpC/n1rcaspJSHnYG/SqlUrFR4ebtd6+Oabb6rw8PAc19myZYsCVHx8vFLqRkvYggUL7Ja7uSUsA5laZmfPnq2qVq1qt/+UlBTl5uamlixZopTSWmZDQ0NVenq6bZnu3burnj17KqWUOnTokALsWucOHDigAFvL7NKlS5XBYLBr/dy3b1+W9TKbOnWqKlmypN3rOnnyZLuW2dGjR6sOHTrYrXf69GkFqIMHD+bYMguoTZs2ZYl38+bNSiml2rVrl6UVcPbs2ap06dJKKaXGjh2rqlSpYtc6neHw4cMKUOvXr7fNu3DhgnJzc1O//vqrUkqpWrVqqZEjR2Z73I74999/FaCuXr2qlMraMvv888+rfv362a2zdu1apdfrs7Q8ZrRgZ5xXOW1TKaUSEhKUq6ur+vHHH23zUlNTVZkyZdSnn35qt96tzscyZcqoDz/80G6Zhg0bqgEDBiillBo8eLBq27Ztltcvv+RFy6zcAUyIwkRvAL9QqNQOGvWFhybCyzvhlX3wyAy47yVUcEOU3gXdud2wbASMqwHT28H68XApytlHIESR0bhxY3SZWnKbNGnCkSNHbP1et23bRpcuXShXrhxeXl60bt0agFOnTtltp0GDBre97127dnH06FG8vLxsfRpLlChBcnIyx47d6Ndfo0YNDIYbfehLly5ta3k9cOAALi4uRERE2J6vVq2a3UVDBw4cICQkhJCQENu86tWr4+vry4EDB7KN7cCBA9SuXRuz2Wyb16RJkyzxr1y50ha7p6cn1apVA7CL/2YuLi40bNgwS7wZsezatYv333/fbrt9+/YlOjqaa9eu0b17d5KSkqhQoQJ9+/Zl/vz5pKen2+Xjvvvus22/ZMmSVK1a1bb9IUOG8MEHH9CsWTPee+89du/enWOskPUcaNWqFZD1HMicl1mzZtnFHxkZidVqJSoqym6boaGhlChRIsfzKrNjx46RlpZGs2bNbPNcXV1p1KhRltcxt/MxPj6es2fP2m0HoFmzZrbt9OnTh507d1K1alWGDBnC0qVLc9xeYSHdDIQoCnyCoXZ3qN0dZbUSe/Ig/hc2ot87D05ugP+2atOyERBUC8K7aiNW+OdhtwohHOHqDsPPOm/feSQxMZHIyEgiIyP58ccf8ff35+TJk3Ts2JHU1FS7ZT08PG57+wkJCURERPDjjz9mec7f39/2u6urq91zOp0Oq9V62/vLawkJCXTp0oVPPvkky3N3c6FbQkICo0aN4pFHHsnynNlsJiQkhEOHDrF8+XKWLVvGgAED+Oyzz1i9erVD23/hhReIjIzkr7/+YunSpYwZM4axY8dme7V/dufAqVOniIyMzHIOZI6/f//+DBkyJMtz5cqVs9vmDz/8gJ+fH2fPns32vLpTd3I+Zla/fn2ioqL4559/WL58OT169KB9+/bMnTs3T+LLD1LMClEEKbcSEPEsNHxeG9/34CLY/wecWAfn9mjTyg8gsCbUfARqPqa1+AqR33S660PWFX6bN9sPXbhp0yYqV66MwWDg4MGDXLx4kY8//tjWqvnvv/86tF2j0ZjrqAagFQy//PILAQEBeHt731H81apVIz09nW3bttlaOw8dOsSVK1dsy4SHh9v6PGYcx/79+7ly5QrVq1fPdrvh4eHMnj2b5ORkW+vspk2bssQ/b948ypcvj4uLfSmhlLK1lt4sPT2drVu30qhRI7t4w8PDbds9dOgQlSpVyvG43dzc6NKlC126dGHgwIFUq1aNPXv2EB4eTnp6Ops3b6Zp06YAXLx4kUOHDtkda0hICC+++CIvvvgib7/9NtOnT8+2mM3uHNi6dWuOcWXEv3///hzj37Nnj22bwcHBpKenZxnCLaO/dOZzqGLFihiNRtavX09oqPZenpaWxr///ntb4wl7e3tTpkwZ1q9fb2tlBli/fr3tNclYrmfPnvTs2ZPHHnuMjh07cunSJbu+uYWJdDMQoqjzCoKGL8Azf8BrR7SuCZXuB72Ldte1Fe/D+Drw85NwatON2wkLUcydOnWKYcOGcejQIX766ScmTpxou9CpXLlyGI1GJk6cyPHjx/njjz/44IMPHNpu+fLliYqKYufOnVy4cIGUlJQsyzz55JOUKlWKrl27snbtWqKioli1ahVDhgzhzJkzDu2natWqdOzYkf79+7N582a2bdvGCy+8YLtgCKB9+/bUqlWLJ598ku3bt7NlyxZ69+5Nq1atcvw6+oknnkCn09G3b1/279/P33//zeeff263zMCBA7l06RK9evXi33//5dixYyxZsoRnn30210Le1dWVwYMH2+Lt06cPjRs3thVSI0aM4Pvvv2fUqFHs27ePAwcO8PPPP/POO+8AMGvWLL755hv27t3L8ePH+eGHH3BzcyM0NJTKlSvTtWtX+vbty7p169i1axdPPfUUZcuWpWvXrgAMHTqUJUuWEBUVxfbt21m5cqWtkL5ZdufA6NGjc31N3nzzTTZs2MCgQYPYuXMnR44cYeHChQwaNCjbbf75559ZzqvQ0FB0Oh2LFi0iNjaWhIQEPDw8eOmll3j99ddZvHgx+/fvp2/fvly7do3nn38+15hu9vrrr/PJJ5/wyy+/cOjQId566y127txpO/e/+OILfvrpJw4ePMjhw4f57bffCAoKKrQ3hQDkArCCIBeiOEby5BiH85R4Ualt32lDjWW+SGZGB6XOHyiYYJ1IzifHFdehuQYMGKBefPFF5e3trfz8/NTw4cPtLnqZM2eOKl++vDKZTKpJkyZq4cKFClDbt29XSmV/oY5S2hBKjz76qPL19c11aK7o6GjVu3dvVapUKWUymVSFChVU3759bf+bMobmyuzll19WrVq1stvGgw8+aBtC6fvvv8+Tobk2btyo6tSpo4xGo6pbt66aN29elqG5Dh8+rB5++GHbMFjVqlVTQ4cOVRaLJdehuebNm6cqVKigTCaTat++vTp58qTdcosXL1ZNmzZVbm5uytvbWzVq1EhNmzZNKaXU/Pnz1X333ae8vb2Vh4eHaty4sVq+fLlt3YyhuXx8fJSbm5uKjIy0G5pr0KBBqmLFispkMil/f3/19NNPqwsXLuSYh5vPgT/++MMuD9mdA1u2bFH333+/8vT0VB4eHqp27dp2F1xl3mbjxo1t51Xm3L7//vsqKChI6XQ629BcSUlJavDgwbbzJaehuW4+H7MbmmvkyJGqbNmyytXVNcvQXNOmTVN169ZVHh4eytvbW7Vr1852zueHvLgATKdU8WumiY+Px8fHh7i4uDv+eud2WK1WYmJiCAgIQK+XxvCcSJ4cc0d5ijkIm76GXb9oQ4YZTND2/6DJoHv2Bg1yPjnuTnOVnJxMVFQUYWFhdhcLFQWtW7embt26fPnllw6vo65/fe7i4mJ34Ziwl1OeZs2axdChQ+26QRRncj5pcnsfcbRek3d4IYqDgGo3Rkao3EEraJeNgG/uhyPLpeuBEEKIIkuKWSGKE+8y8MSvWmFr9IL/tsGPj8K0VrB/oXYjCCGEEKIIkWJWiOJGp4P6vWHwVq2bgasHRO+CX3vDpPtg5xywpDk7SiHy1apVq26ri4G4e3369JEuBiJfSDErRHHlFQSRH8Ire6HVm9rtji8chgUvwYT6sGW6diteIYQQohCTYlaI4s69BLQZDkP3QvtR4BEAcafg79fgy9qw9gu4dsnZUYpCrBheRyyEyCN58f4hxawQQmP2huZDYehueOBz8AmBxBhYMQq+CIeFA7XuCEJcl3F3qmvXrjk5EiFEUZXx/nHz3e5uh9wBTAhhz9UNGvWFiD6wZy5snqwVsTt+0Kag2lDvaaj1mNaqK4otg8GAr68vMTExALi7u9/TQwzJUEqOkTw5prjnSSnFtWvXiImJwdfXF4PhzoeJlGJWCJE9gyvU7QV1HofTW2DLVDjwJ5zbDf+8DkvfgfDOUO8pCGsNMpZrsRQUFARgK2jvZUoprFYrer2+WBYfjpI8OUbypPH19bW9j9wpKWaFELnT6aDcfdp07RLs+Q22z4bze2DvPG3yDdVuqVvvKWmtLWZ0Oh2lS5cmICCAtLR7exQMq9XKxYsXKVmypNyIIxeSJ8dInrSuBXfTIptBilkhhOPcS8B9/aFRP4jeqXU72P0bXDkJy96FlR9B7e7a80G1nB2tKEAGgyFP/ikVZlarFVdXV8xmc7EtPhwheXKM5CnvSPaEELdPp4My9eDBsfDqQegyAQJrQnoSbP8epjSHbzvB/j/kRgxCCCHylRSzQoi7Y3SHiGfgxXXw7GKo8TDoXeDUBvj1aZjcBHb9IjdiEEIIkS+km4EQIm/odBDaRJviz8K/32g3Xog9CPP7aePWlm8BFdtAtc7gXdrZEQshhLgHSMusECLveZeBdu/CK3ug7bvg4Q8p8XDor+s3Y6gFv/eXcWuFEELcNWmZFULkH7MPtHwNmr+iFa7HV8KhxXBmC+z+WZvKt4AmA6FypAzvJYQQ4rZJMSuEyH96A5Str00tXoX/tsOmSbD3dzixVptKVNSeq/O4trwQQgjhAGkGEUIUvLL14dEZ2q1zm70MJh+4dAwWDoCpreDYSmdHKIQQooiQYlYI4Tw+wXD/+zBsP7QfpRW15/fA7G7ww6Nwfr+zIxRCCFHISTErhHA+kyc0Hwov74T7XtKG9jq6HKY0g4WD4MppZ0cohBCikHJqMTtmzBgaNmyIl5cXAQEBdOvWjUOHDuW6zqxZs9DpdHaT2WwuoIiFEPnKvQR0+hgGboHqXUFZYcdsGF8H5j4H/21zdoRCCCEKGacWs6tXr2bgwIFs2rSJZcuWkZaWRocOHUhMTMx1PW9vb6Kjo23TyZMnCyhiIUSBKFkRenwPzy2FsJagLLB3HkxvC7Mfgejdzo5QCCFEIeHU0QwWL15s93jWrFkEBASwbds2WrZsmeN6Op2OoKCg/A5PCOFs5e6DZ/7UitdNk2DPb3BshTbV6gFt/w/8yjs7SiGEEE5UqPrMxsXFAVCiRIlcl0tISCA0NJSQkBC6du3Kvn37CiI8IYSzlK4ND0+BQf9Czce0eXt+hYkN4J+3IPGCc+MTQgjhNIVmnFmr1crQoUNp1qwZNWvWzHG5qlWr8u2331K7dm3i4uL4/PPPadq0Kfv27SM4ODjbdVJSUkhJSbE9jo+Pt+3TarXm7YFkw2q1opQqkH0VZZInxxTrPPmWh0emQ5NB6Fa8j+74/2DzZNSOH1BNB0Pjl8DoCRTzPN0myZVjJE+OkTw5RvJ0a47mRqeUUvkci0Neeukl/vnnH9atW5djUZqdtLQ0wsPD6dWrF6NHj852mZEjRzJq1Kgs8w8fPoyXl9cdx+woq9VKXFwcPj4+6OUORzmSPDlG8nSD8cwGvDZ/jmus9u2Mxa0UCREDSK76MBaDWfLkIDmnHCN5cozkyTGSp1u7evUqVapUIS4uDm9v7xyXKxTF7KBBg1i4cCFr1qwhLCzsttfv3r07Li4u/PTTT9k+n13LbEhICJcvX841OXnFarUSGxuLv7+/nLC5kDw5RvJ0E2WF/QvQ/e8DdJejtFkuZlTFtsSVbYNXw17oTR5ODrJwk3PKMZInx0ieHCN5urX4+Hj8/PxuWcw6tZuBUorBgwczf/58Vq1adUeFrMViYc+ePTzwwAM5LmMymTCZTFnm6/X6AjuBdDpdge6vqJI8OUbylJkeaj0G4Q/B9u9g41foLp9Ad+hv/A79jdr0CbpG/aDhC+BR0tnBFlpyTjlG8uQYyZNjJE+5czQvTi1mBw4cyJw5c1i4cCFeXl6cO3cOAB8fH9zc3ADo3bs3ZcuWZcyYMQC8//77NG7cmEqVKnHlyhU+++wzTp48yQsvvOC04xBCFAIuRmjUVytaz+1B7V+IdcccDAlnYdVHsG4chHeBOo9DhdagNzg7YiGEEHnAqcXs5MmTAWjdurXd/JkzZ9KnTx8ATp06ZVeZX758mb59+3Lu3Dn8/PyIiIhgw4YNVK9evaDCFkIUZjodlK6NCqxJbPizBFzYiH7jRIjepY2AsOdX8CoNEc9CRB/wCnR2xEIIIe5CoegzW9Di4+Px8fG5ZR+MvGK1WomJiSEgIEC+SsiF5MkxkifH2OVJp9PuHrbrJ9gzF5KvaAvpXaFGN6jeDSq2AWPx7Fsr55RjJE+OkTw5RvJ0a47Wa4VmaC4hhMg3Oh0EN9CmyI/gwJ+weSqc2aLdiGHPb2AwQYVWWmttlY7SDUEIIYoIKWaFEMWLi0m7YKzWY/Dfdtj9Kxz+By6fgCNLtcmnHDR8Hur3Bvfcb+IihBDCuaRdWwhRfJWtD50+hiE7YcAmaDYU3Pwg7hQsfw++CIcFA+HMVrCkOztaIYQQ2ZCWWSGE0OkgIBzuHwWt34K987RuCOd2w84ftMnVHcrUh+AIKHu9y4J3GWdHLoQQxZ4Us0IIkZmrG9R7Cuo+CWf+hS3T4NBiSL0KJ9dpUwafclC5PVSOhLCWYHR3XtxCCFFMSTErhBDZ0ekgpJE2WS1w4bDW3eDMv9rICDH7te4IW7/VJld3qPYg1O4JFdqAQd5ehRCiIMi7rRBC3IreoHVDCAiH+k9r81IS4OR67YKxw0u1wjZjZAT3UhDeWRvyq3wLKWyFECIfyTusEELcCZMnVInUpgfU9ZERftH62167ANtmaZNbiRuFbVhLMLg6OXAhhLi3SDErhBB3S6fTLgwLjoDID+HEWti/UBvP9tpF2P69Nhk9tQvHyjWBkPu0301ezo5eCCGKNClmhRAiLxlcoWJbbXpgrHbB2L4F1wvbC3B8lTYB6PQQWBOCG0JQTQiqDX5h4OYrN20QQggHSTErhBD5xeACFVpr04NjtYvGTm2C05u1n3GnteG/zu2+aUWdVtD6hWkXoAU31LooeAYU/DEIIUQhJ8WsEEIUBL0BgmppU6O+2ry4/+D0Jji7E87vhXN7ITEGUJB0WZvObofNU7RW3PLNocbDUKk9+IRo3RuEEKKYk2JWCCGcxacs+DwKNR+9Mc+SBklXtC4J5/ddb8XdCOf2QNQabQJwLwml61yf6mo//cpLgSuEKHakmBVCiMLE4Aqe/toUEA61HtPmXz6h9b3dv1DrlnDtIhz7nzZlcC8JwY0gpCEE1QH/KuAdDHq5c7kQ4t4lxawQQhQFfuWh+VBtSkuGmH0QvUvrohC9S+uPe+0iHP5HmzK4ekCpyuBfTStuQ5troyjIBWZCiHuEFLNCCFHUuJqhbIQ2ZUhPgejdcGaLdpeymINw8SikJUL0Tm3K4F5SuwVvaBOte0KpqgV9BEIIkWekmBVCiHuBi0nrXhDS8MY8S5rWPSH2EMQe1C4yO/Y/rQV31xxtAnQGI76hbaD5YAhrLv1uhRBFihSzQghxrzK4al0MSlXW7kIGWoF7ahMcXWbroqBLvoL5+BI4vgQCakC1ByG0qTYsmNHDqYcghBC3IsWsEEIUJwZXCGuhTQBKYY3eTfLar3E7+ie6mH1af1zQhgMzeYHRC8zeULIi+IdDQDWtD69veXAvIS25QginkmJWCCGKM50OgmoR3+p9zJ0/RnfwTzi5Hk6sh/gzkBynTfFoF5kd+NN+faOndhez0nW0u5h5lQYPf61frtEDXMygd4HUBEiJB0s6eAXKbXyFEHlGilkhhBAaN1+IeEabABJitDFvUxMg6RLEHtYK2guH4copuBqtPXd6kzbdDpO3dkczo6dW2Lr5QomKULISBNbQxs6VIcWEEA6QYlYIIUT2PAPsb6Fbqb3982nJcDlKu6FD9C6IOaDdwSwhVit+Lan2y7u4aUOCZbTSpsTnvG+v0lCtM1S+X7utr09Z6b8rhMiWFLNCCCHujKtZu7FDQDjU7pH1easF0pLAmqa1wBpctfkpVyE+Wit8UxO14jYhFi4dgwtH4MxWrdX33+nalMEjQGu1DaoJJStrXRnc/LT+uz5lC+SQhRCFjxSzQggh8ofeACbPrPNNXuDvpd3EITvpKXB8NRxYCP9th7gzWituYgwcj4HjK7OuU7ISVGijjcRQobVclCZEMSLFrBBCiMLFxQRVOmhThqQrcPEYnN8D5/bClZOQdBmuXdLG0r14VJv+nQ5lG0Drt6FSOylqhSgGpJgVQghR+Ln5QnCENt0sOQ6i1mpj5+76Bf7bCj8+ql1EFvEM1HwUzD4FHbEQooDIpaJCCCGKNrOPdlOILuNh6G5oMki72Cx6Jyx6BT6vCvP6wuElkJ56y80JIYoWaZkVQghx7/AMgMgPofkrsOtn2DFbu5Xvnl+1yc0Pqj4IVTtqfWtlvFshijwpZoUQQtx7PEpB00HQZCD8tw32/Ab75kPCedj5gzbpXbXhxho+DxXbybi2QhRRUswKIYS4d+l0ENxAmyI/ghPr4PBiOPSPNkbu4X+0yTcUaj4CwY20ZTOPryuEKNSkmBVCCFE86A1QoZU2RX6kdT/Y/j3s/FEbHWHduBvLBtTQituaj0KJMOfFLIS4JflORQghRPGj02k3e+g4BoYdhIenQr2nwT8c0EHMPvjfaJhQF77vBmd3ODlgIUROpGVWCCFE8WZ0hzqPaxNoY9ce/Av2zoWoNdpNGqatRFfjYVyr9IJSbaV/rRCFiBSzQgghRGbuJaD+09p0+QSs/Ah2/4pu33xK7puP+scHyrfQ7jYW3kVGRBDCyeSjpRBCCJETv/LwyDR4cR2qxsNYjd7okuPg4CJY8BJ8VhnmPqfdrOFSFCjl7IiFKHakZVYIIYS4laCaqEe/JeZcNAGWs+iPrYA9c+HiEdg7T5sAPAOh8v1Qq7vWeqs3ODduIYoBp7bMjhkzhoYNG+Ll5UVAQADdunXj0KFDt1zvt99+o1q1apjNZmrVqsXff/9dANEKIYQo9vQGKBsBrd+CQf9C35XQdAgEN9TGrU04Dzt+gO+7whfh2h3IDi+BtCRnRy7EPcupLbOrV69m4MCBNGzYkPT0dIYPH06HDh3Yv38/Hh4e2a6zYcMGevXqxZgxY+jcuTNz5syhW7dubN++nZo1axbwEQghhCi2dDooW1+bANKS4fRm2Pc77FugFbZbv9UmV3ftjmNVOkKVSPAKcmbkQtxTdEoVng4+sbGxBAQEsHr1alq2bJntMj179iQxMZFFixbZ5jVu3Ji6desyZcoUh/YTHx+Pj48PcXFxeHt750nsubFarcTExBAQEIBeroDNkeTJMZInx0ieHCe5csxt5Sk9FY6v0m7QcHgxxP9n/3yZelClk3Zb3aDaWmF8j5DzyTGSp1tztF4rVH1m4+LiAChRokSOy2zcuJFhw4bZzYuMjGTBggU5rpOSkkJKSortcXx8PKCdSFar9S4idozVakUpVSD7KsokT46RPDlG8uQ4yZVjbitPehftVrmV2kOnz+D8Xji8BN3hxejObtPGrT27A1Z9hCpdB9VkMFTvqq1XxMn55BjJ0605mptC81djtVoZOnQozZo1y7W7wLlz5wgMDLSbFxgYyLlz53JcZ8yYMYwaNSrL/NjYWJKTk+88aAdZrVbi4uJQSsmnr1xInhwjeXKM5MlxkivH3FWe9IFQrTdU643+WiymU6sxnVyF6fRadNG70P3+AunL3iOp6iMkV+qMxbd8vhxDQZDzyTGSp1u7evWqQ8sVmmJ24MCB7N27l3Xr1uX5tt9++2271tz4+HhCQkLw9/cvsG4GOp0Of39/OWFzIXlyjOTJMZInx0muHJN3eQqA8jWAAahrF1H/foPu32m4XP0Pr60T8do6EVW6LgQ3RAVUh8AaUKZ+kRkZQc4nx0iebs1sNju0XKEoZgcNGsSiRYtYs2YNwcHBuS4bFBTE+fPn7eadP3+eoKCcO9ObTCZMJlOW+Xq9vsBOIJ1OV6D7K6okT46RPDlG8uQ4yZVj8jxPnv7Q5i1o/rJ20die3+D4SnTROyF6J7aetB7+WjeEGo9AuSaF/g5kcj45RvKUO0fz4tRiVinF4MGDmT9/PqtWrSIsLOyW6zRp0oQVK1YwdOhQ27xly5bRpEmTfIxUCCGEyEeublC3lzYlxMDRFRCzD87vh/+2QWIs/DtDmzyDoEY3qPEwlG0AhkLRLiWE0zj1L2DgwIHMmTOHhQsX4uXlZev36uPjg5ubGwC9e/embNmyjBkzBoCXX36ZVq1aMXbsWB588EF+/vlntm7dyrRp05x2HEIIIUSe8QzQitoMljQ4vlob8uvAIkg4B5unaJPRE0Lug/LNILS5NkqCi9F5sQvhBE4tZidPngxA69at7ebPnDmTPn36AHDq1Cm7ZuamTZsyZ84c3nnnHYYPH07lypVZsGCBjDErhBDi3mRwhcrttanzODi2UitsDy+B5CtwbIU2gTaebXBDrStCucba7yZPp4YvRH5zejeDW1m1alWWed27d6d79+75EJEQQghRiLmYtLFpq3YEq1XrinBiPZxcByc3wLWLELVam0C7K1mFVhD+EFR7EDxKOTd+IfKBdLQRQgghiiK9HoJqaVPjF7XiNvYgnNoApzbDqU0QdwqOLtemP1/WuiFUbAthLcG/mtal4R66YYMonu6qmJ07dy6//vorp06dIjU11e657du331VgQgghhLgNej0EVtemhi9o8y4cgf0L4cAfEL0Lzm7XprWfa8+bvLU7kNXuro2UYM7/4SqFyGt3PBbEhAkTePbZZwkMDGTHjh00atSIkiVLcvz4cTp16pSXMQohhBDiTpSqDC1fg/5rYNhB6DYZaj4GfmGg00NKvNZF4c+X4fMqMP9FiFqrtfIKUUTcccvspEmTmDZtGr169WLWrFm88cYbVKhQgREjRnDp0qW8jFEIIYQQd8u7NNR9QpsA0lPg4jE4ugx2/AAXDsOun7TJNxQintFaeM0+zo1biFu445bZU6dO0bRpUwDc3Nxstxx7+umn+emnn/ImOiGEEELkDxeT1iWh2cswcAs8vwzqPwNGL7hyEla8D1/WglUfQ9IVZ0crRI7uuJgNCgqytcCWK1eOTZs2ARAVFeXQKAVCCCGEKCR0OghpBA9NgNcOad0R/KtBchysGgPjasCiV+DcHmdHKkQWd1zMtm3blj/++AOAZ599lldeeYX777+fnj178vDDD+dZgEIIIYQoQEYPrSvCSxvhsZkQUB1SE2DrtzClOcy4H3b+BGlJzo5UCOAu+sxOmzYN6/UO4gMHDqRkyZJs2LCBhx56iP79++dZgEIIIYRwAr0eaj6i3Tb3xDqtmD3wJ5zZok2L34IGz0KLV8Hk5exoRTF2x8WsXq+3uzPX448/zuOPP54nQQkhhBCikNDpIKyFNiXEwI7ZsHWWNobtunGw+1fo9AlU6yxj1gqnuK1idvfu3Q4vW7t27dsORgghhBCFmGeA1hLbbCgc+geWDNcuFvvlKe1GDBF9oIoMzykK1m0Vs3Xr1kWn06GUQneLT18Wi+WuAhNCCCFEIaU3QHhnqNQO1nwO68dD1BqIWoPO7IN3hQegyQsQHCGttSLf3dYFYFFRURw/fpyoqCjmzZtHWFgYkyZNYseOHezYsYNJkyZRsWJF5s2bl1/xCiGEEKKwcHWDdu/C4K3Q8nXwDkaXHIf7/p/Qf9MOJjWBDRO17glC5JPbapkNDQ21/d69e3cmTJjAAw88YJtXu3ZtQkJCePfdd+nWrVueBSmEEEKIQsyvPLR9B1q/jfXYKlI2f4v5xHJ0sQdg6TuwfCRU7gANnoNK7aW1VuSpO74AbM+ePYSFhWWZHxYWxv79++8qKCGEEEIUQXoDVGxDnFcNTN4mdPvnw44f4b+tcOhvbSpTD1q/rRW3UtSKPHDH48yGh4czZswYUlNTbfNSU1MZM2YM4eHheRKcEEIIIYoos4/WEtt3BQzYDI0Hgqs7nN0Bc3rA9DbaRWRyoyVxl+64ZXbKlCl06dKF4OBg28gFu3fvRqfT8eeff+ZZgEIIIYQo4gKqQcePoPkrsGEC/DtDK2p/ehxK14Emg6DqA2DydHakogi642K2UaNGHD9+nB9//JGDBw8C0LNnT5544gk8PDzyLEAhhBBC3CM8/aHDaGj2snZh2JbpEL0Lfu8LLm5QtaM2vFdYK+mCIBx2x8UsgIeHB/369curWIQQQghRHHiUgvtHQdMh8O902P0LXDoO++ZrU7mm0Ga4dqMGIW7htorZP/74g06dOuHq6soff/yR67IPPfTQXQUmhBBCiHucR0lo/Ra0ehOid8KOH2D7bDi1Ab7rDKXrQp1eUOsxrQAWIhu3Vcx269aNc+fOERAQkOvQWzqdTm6aIIQQQgjH6HTaKAdl6ml3GFv7BWz/Titwo3fC0v+Dmo9prbV+obfamihmbms0A6vVSkBAgO33nCYpZIUQQghxR7zLwIOfw7AD0OkzKFMfrOmw+2eYGAH/vAkXjzk7SlGI3PHQXEIIIYQQ+cajFNzXD/qthL4roUJrsKbB5ikwsT6MrwN/vQoxB5wdqXCy2+pmMGHCBIeXHTJkyG0HI4QQQgiRRdn60HshHFsJ67+EE+vh8gltiK9ts6DxAK3frQztVSzdVjE7btw4u8exsbFcu3YNX19fAK5cuYK7uzsBAQFSzAohhBAib1Vso00pCXBirXax2KG/tLFr9/6ujZBQ81EZ1quYua1uBlFRUbbpww8/pG7duhw4cIBLly5x6dIlDhw4QP369Rk9enR+xSuEEEKI4s7kCVU7Qa858MSv4FsO4s/AvOdhels4sc7ZEYoCdMd9Zt99910mTpxI1apVbfOqVq3KuHHjeOedd/IkOCGEEEKIXFWJ1G6X2+b/wOgJZ7fDrAfhl6ch7j9nRycKwB0Xs9HR0aSnp2eZb7FYOH/+/F0FJYQQQgjhMKM7tHoDhuyAhi+AzgAH/oCvG8HGr8GS5uwIRT6642K2Xbt29O/fn+3bt9vmbdu2jZdeeon27dvnSXBCCCGEEA7zDIAHx0L/1RDcCFITYMlwmFAPNk2B1ERnRyjywR0Xs99++y1BQUE0aNAAk8mEyWSiUaNGBAYGMmPGjLyMUQghhBDCcUG14Lkl0GU8eARA3GlY/CaMqwmrPoZrl5wdochDtzWaQQalFElJScybN48zZ85w4IA2xlu1atWoUqVKngYohBBCCHHb9HqI6AO1H4ddc2D9BLgcBavGwPrxUL83NB0CPmWdHam4S3dczFaqVIl9+/ZRuXJlKleunNdxCSGEEELcPVczNHgO6j8D+xfCunFwbrd284Wt30K9p6DpYDCYIDEGkq4ACtCBq7t2i10Xo5MPQuTmjopZvV5P5cqVuXjxohSyQgghhCj89Aao+QjUeBiOr4Q1n8PJ9VpBu/XbnNczeUOl9lClo9Z9oWRFcDEVXNzilu6omAX4+OOPef3115k8eTI1a9bMy5iEEEIIIfKHTgcV22rTifWw+hOIWg16F/DwBzc/0F2/pCjhPCTGwr7ftQm0kRJKVYGwlto2yjcDk5fzjkfceTHbu3dvrl27Rp06dTAajbi5udk9f+mSdK4WQgghRCFWvhmU/wNSr4GLWetnm5nVCv9tg0N/azdiiD0IKfEQe0CbtkzVlnNxA/cS2mgKJStrxW5gDQhrIYVuAbjjYvbLL7/MwzCEEEIIIZzE6J79fL0eQhpqE4BScDUazmzVuiocXQFXTkJ6EsT/p01nd2Ra3xVCm0KldlC6DgTWAo+S+X88xcwdF7PPPPNMngSwZs0aPvvsM7Zt20Z0dDTz58+nW7duOS6/atUq2rRpk2V+dHQ0QUFBeRKTEEIIIUQWOh14l4HqD2kTQHKcNtRX0mWIPwsXDmvTqU3a6AlRq7Upg1cZCKqFLrAmRr9aENDVOcdyD7njYhbg2LFjzJw5k2PHjjF+/HgCAgL4559/KFeuHDVq1HBoG4mJidSpU4fnnnuORx55xOF9Hzp0CG9vb9vjgICA245fCCGEEOKumH20iTAoW//GfKXg4jE4skQrbM/t0Yrbq2fh6ll0R5ZQAlDHH9Fu9OBewllHUOQ5XMweOnSIqlWr2h6vXr2aTp060axZM9asWcOHH35IQEAAu3bt4ptvvmHu3LkObbdTp0506tTptgMPCAjA19f3ttcTQgghhMh3Oh2UqqRNTQZq85LjIWY/nNuDOrMV9vyGbt/vcHIDdP0aKssdVO+Ew3cA+/3333nyySexWCwAvPXWW3zwwQcsW7YMo/HG+Gtt27Zl06ZNeR/pTerWrUvp0qW5//77Wb9+fb7vTwghhBDirpi9oVxjaNQX1W0yl7r9jCpZGRLOwY+PwuLhkJ7i7CiLHIdbZl977TWGDRtGZGQky5cvZ8+ePcyZMyfLcgEBAVy4cCFPg8ysdOnSTJkyhQYNGpCSksKMGTNo3bo1mzdvpn79+tmuk5KSQkrKjZMjPj4eAKvVitVqzbdYM1itVpRSBbKvokzy5BjJk2MkT46TXDlG8uQYyZNjrFYrqQG1sLzwPwwrR6PbMg02fY06uQ71yDfaeLbFnKPnkMPFrKurKxMnTuS3334DwNfXl+joaMLCwuyW27FjB2XL5t+t4apWrWrX3aFp06YcO3aMcePGMXv27GzXGTNmDKNGjcoyPzY2luTk5HyLNYPVaiUuLg6lFPqbh/0QNpInx0ieHCN5cpzkyjGSJ8dInhxjl6f6r2IqUQ+fVW+jj94FU5pyrcaTJNTrh3Irvn1pr1696tByt30BWPfu3QF4/PHHefPNN/ntt9/Q6XRYrVbWr1/Pa6+9Ru/evW93s3elUaNGrFu3Lsfn3377bYYNG2Z7HB8fT0hICP7+/nYXkeUXq9WKTqfD399f/rBzIXlyjOTJMZInx0muHCN5cozkyTFZ8hTwOFRriVo4AF3Uajx2z8T94Fxo1A/V4Fnwzr+GwsLKbDY7tNwdj2bw0UcfMXDgQEJCQrBYLFSvXp309HSefPJJ3nnnnTvd7B3ZuXMnpUuXzvF5k8mEyZT11nN6vb7A/tB0Ol2B7q+okjw5RvLkGMmT4yRXjpE8OUby5JgsefINht4LtfFrV4xCd243rBuLbv04qNIJ7usHYa20i8uKAUfPnzsuZo1GI9OnT2fEiBHs2bOHxMRE6tWrR6VKlW5rOwkJCRw9etT2OCoqip07d1KiRAnKlSvH22+/zX///cf3338PaDdrCAsLo0aNGiQnJzNjxgz+97//sXTp0js9FCGEEEKIwkGn00Y1qNgWDv4Jm6fByXVw6C9tKtcE2gzXbqcrgLscZ/abb75h3LhxHDlyBIDKlSszdOhQXnjhBYe3sXXrVrubIGR0B3jmmWeYNWsW0dHRnDp1yvZ8amoqr776Kv/99x/u7u7Url2b5cuXZ3sjBSGEEEKIIkmvh+pdtSn2EGyZDtu/h1Mb4bsuENoc2rwN5Zs7O1Kn0yml1J2sOGLECL744gsGDx5MkyZNANi4cSNfffUVr7zyCu+//36eBpqX4uPj8fHxIS4ursD6zMbExBAQECBfueRC8uQYyZNjJE+Ok1w5RvLkGMmTY+4oT/FnYd042DYLLKnavLCW0Ho4hDbJt1idxdF67Y5bZidPnsz06dPp1auXbd5DDz1E7dq1GTx4cKEuZoUQQgghihzvMvDAZ9DsZVj7hdZSG7VGmyq00bofhDRydpQF7o4/MqWlpdGgQYMs8yMiIkhPT7+roIQQQgghRA58gqHzFzBkO0T0Ab0LHF8J39wPPzwKZ7Y5O8ICdcfF7NNPP83kyZOzzJ82bRpPPvnkXQUlhBBCCCFuwbccdBkPg7dBvadBZ4Cjy2FGW/ixB5zd4ewIC8RdXwC2dOlSGjduDMDmzZs5deoUvXv3thvX9Ysvvri7KIUQQgghRPb8ykPXr6DFMFjzOez6GY4s0aaqD0Drt6B0HWdHmW/uuJjdu3ev7faxx44dA6BUqVKUKlWKvXv32pbTFZOx0IQQQgghnKpEBeg2CVq8Cqs/hT2/wqG/tanGIxD5odbv9h5zx8XsypUr8zIOIYQQQgiRF0pWhEemQsvXYPUnsGcu7PsdjizVLhJr1B8Md/XlfKEiY2YIIYQQQtyLSlWGR2dA/zUQ3AhSE2DJcJhYD9aPh2uXnB1hnpBiVgghhBDiXla6Njy3BB6aCO4l4copWDYCvgiHhYMgerezI7wr904bsxBCCCGEyJ5eD/V7Q63uWreDLVPh3B7YMVubyjXR7ibmXQa8gyG0KZg8nR21Q6SYFUIIIYQoLlzdoP7TUO8pOL0ZNk+FA39ot8k9tfHGch4BWv/aek8X+v61hTs6IYQQQgiR93Q6KNdYm+KjYe9cuBSl3TL33B6IPwOLhsLmKVC5A3iVBu/SULIyBNV0dvR2pJgVQgghhCjOvEtD08E3HqenwtZvYfXHEHtQmzJU7wY9vivwEHMjxawQQgghhLjBxQiNX4Q6j8PuX+DyCbgarbXgBhauVlmQYlYIIYQQQmTHzRfu6+/sKG5JhuYSQgghhBBFlhSzQgghhBCiyJJiVgghhBBCFFlSzAohhBBCiCJLilkhhBBCCFFkSTErhBBCCCGKLClmhRBCCCFEkSXFrBBCCCGEKLKkmBVCCCGEEEWWFLNCCCGEEKLIkmJWCCGEEEIUWVLMCiGEEEKIIkuKWSGEEEIIUWRJMSuEEEIIIYosKWaFEEIIIUSRJcWsEEIIIYQosqSYFUIIIYQQRZYUs0IIIYQQosiSYlYIIYQQQhRZUswKIYQQQogiS4pZIYQQQghRZEkxK4QQQgghiiynF7Nr1qyhS5culClTBp1Ox4IFC265zqpVq6hfvz4mk4lKlSoxa9asfI9TCCGEEEIUPk4vZhMTE6lTpw5ff/21Q8tHRUXx4IMP0qZNG3bu3MnQoUN54YUXWLJkST5HKoQQQgghChsXZwfQqVMnOnXq5PDyU6ZMISwsjLFjxwIQHh7OunXrGDduHJGRkfkVphBCCCGEKIScXszero0bN9K+fXu7eZGRkQwdOjTHdVJSUkhJSbE9jo+PB8BqtWK1WvMlzsysVitKqQLZV1EmeXKM5MkxkifHSa4cI3lyjOTJMZKnW3M0N0WumD137hyBgYF28wIDA4mPjycpKQk3N7cs64wZM4ZRo0ZlmR8bG0tycnK+xZrBarUSFxeHUgq93uk9OwotyZNjJE+OkTw5TnLlGMmTYyRPjpE83drVq1cdWq7IFbN34u2332bYsGG2x/Hx8YSEhODv74+3t3e+799qtaLT6fD395cTNheSJ8dInhwjeXKc5MoxkifHSJ4cI3m6NbPZ7NByRa6YDQoK4vz583bzzp8/j7e3d7atsgAmkwmTyZRlvl6vL7ATSKfTFej+iirJk2MkT46RPDlOcuUYyZNjJE+OkTzlztG8FLnsNWnShBUrVtjNW7ZsGU2aNHFSREIIIYQQwlmcXswmJCSwc+dOdu7cCWhDb+3cuZNTp04BWheB3r1725Z/8cUXOX78OG+88QYHDx5k0qRJ/Prrr7zyyivOCF8IIYQQQjiR04vZrVu3Uq9ePerVqwfAsGHDqFevHiNGjAAgOjraVtgChIWF8ddff7Fs2TLq1KnD2LFjmTFjRqEdlis5zcLm4xdZduiSs0MRQgghhLjnOL3PbOvWrVFK5fh8dnf3at26NTt27MjHqPLO+fhkes3Ygsmg4/FmVZFuMUIIIYQQeUdKq3wW7OeOyUVPikVx5vI1Z4cjhBBCCHFPkWI2nxn0Oir6ewBwNCbBydEIIYQQQtxbpJgtAJUCPAE4LMWsEEIIIUSekmK2AFS+XsxKy6wQQgghRN6SYrYAZLTMHpFiVgghhBAiT0kxWwAqB3oBcCwmEas155EbhBBCCCHE7ZFitgCU83PD1aAjKc3Cf1eSnB2OEEIIIcQ9Q4rZAuBi0FPOzwzAkZirTo5GCCGEEOLeIcVsAQkrcb2YPS/9ZoUQQggh8ooUswXEVszKRWBCCCGEEHlGitkCElbSDZBiVgghhBAiL0kxW0DCSmots0fPX0UpGdFACCGEECIvSDFbQEJ8zLjodSSmWoiOS3Z2OEIIIYQQ9wQpZguIi0FHWCkPAA6flxENhBBCCCHyghSzBaiS3NZWCCGEECJPSTFbgGy3tZXhuYQQQggh8oQUswWockYxKzdOEEIIIYTIE1LMFqCMYvbw+QQsVhnRQAghhBDibkkxW4Aq+nvgZXYhISWdfWfjnB2OEEIIIUSRJ8VsAXIx6GlSoSQAa49ccHI0QgghhBBFnxSzBax55VIArJNiVgghhBDirkkxW8CaV9KK2W0nL5OUanFyNEIIIYQQRZsUswUsrJQHZXzMpFqsbDlxydnhCCGEEEIUaVLMFjCdTpepq0Gsk6MRQgghhCjapJh1guaV/QFYd/SikyMRQgghhCjapJh1gqYVtRENDkTHE3s1xcnRCCGEEEIUXVLMOkEpTxPVS3sDsOGYjGoghBBCCHGnpJh1EhmiSwghhBDi7kkx6yQZQ3StOhxLSroM0SWEEEIIcSekmHWS+yqUINDbROzVFH7597SzwxFCCCGEKJKkmHUSk4uBQW0rAzDxf0flBgpCCCGEEHdAilkn6tkghLK+bsReTWH2phPODkcIIYQQosiRYtaJjC56Xm6vtc5OXnWMhJR0J0ckhBBCCFG0SDHrZI/UK0tYKQ8uX0vj23VRzg5HCCGEEKJIkWLWyVwMeoZeb52dtOoo+87GOTkiIYQQQoiio1AUs19//TXly5fHbDZz3333sWXLlhyXnTVrFjqdzm4ym80FGG3e61K7DK2q+JOcZqX/7G1cTkx1dkhCCCGEEEWC04vZX375hWHDhvHee++xfft26tSpQ2RkJDExMTmu4+3tTXR0tG06efJkAUac9/R6HRMer0e5Eu6cuZzEoJ+2k26xOjssIYQQQohCz+nF7BdffEHfvn159tlnqV69OlOmTMHd3Z1vv/02x3V0Oh1BQUG2KTAwsAAjzh8+7q5M6x2Bu9HA+qMXGfXnfixW5eywhBBCCCEKNRdn7jw1NZVt27bx9ttv2+bp9Xrat2/Pxo0bc1wvISGB0NBQrFYr9evX56OPPqJGjRo5Lp+SkkJKSortcXx8PABWqxWrNf9bQK1WK0qpW+6rSoAnnz5ai0E/7WT2ppOcvnyNL3vWwdvsmu8xFgaO5qm4kzw5RvLkOMmVYyRPjpE8OUbydGuO5sapxeyFCxewWCxZWlYDAwM5ePBgtutUrVqVb7/9ltq1axMXF8fnn39O06ZN2bdvH8HBwdmuM2bMGEaNGpVlfmxsLMnJyXd/ILdgtVqJi4tDKYVen3tjeINAA6M6hvHRshOsOhTLQxPX8mmXSpQvUbT7BTvidvJUnEmeHCN5cpzkyjGSJ8dInhwjebq1q1evOrScU4vZO9GkSROaNGlie9y0aVPCw8OZOnUqo0ePznadt99+m2HDhtkex8fHExISgr+/P97e3vkes9VqRafT4e/v79AJ+3RAAHUrlubFH7Zz6nIyz/98kI8erkmXOmXyPVZnut08FVeSJ8dInhwnuXKM5MkxkifHSJ5uzdEL/J1azJYqVQqDwcD58+ft5p8/f56goCCHtuHq6kq9evU4evRojsuYTCZMJlOW+Xq9vsBOIJ1Od1v7qxPix5+DmzNoznY2Hb/Ey7/s4t+Tl3nnweqYXQ35HK3z3G6eiivJk2MkT46TXDlG8uQYyZNjJE+5czQvTs2e0WgkIiKCFStW2OZZrVZWrFhh1/qaG4vFwp49eyhdunR+hek0pTxN/PD8fQxqUwmAHzad4oHxa1m89xxKycVhQgghhBBO/ygwbNgwpk+fznfffceBAwd46aWXSExM5NlnnwWgd+/edheIvf/++yxdupTjx4+zfft2nnrqKU6ePMkLL7zgrEPIVy4GPa9FVmXmsw0p5Wnk+IVEXvxhG92nbGTdkQtYZcQDIYQQQhRjTu8z27NnT2JjYxkxYgTnzp2jbt26LF682HZR2KlTp+yamS9fvkzfvn05d+4cfn5+REREsGHDBqpXr+6sQygQbaoGsPK11kxdfZwZ646z9eRlnvpmM2GlPHiiUTm6NwjG193o7DCFEEIIIQqUThXD76vj4+Px8fEhLi6uwC4Ai4mJISAgIE/6xZyLS2byqqPM2/4fCSnpALgbDfRoEMLzzcMIKeF+1/twhrzO071K8uQYyZPjJFeOkTw5RvLkGMnTrTlarzm9ZVbcviAfM6O61uSNjtX4Y9dZvttwgoPnrjJrwwlmbzpJzTLe1CzrQ82yPkSE+lHJ3xO9XufssIUQQggh8pwUs0WYh8mFXo3K8XjDENYeucD0tcdZe+QCu87EsetMnG05P3dXGpQvwX1hJWgUVoLqpb1xMcinQCGEEEIUfVLM3gN0Oh0tq/jTsoo/py9dY9eZK+z9L57dZ66w49QVLl9LY9n+8yzbrw2B5mE0UK20N1UCvaga6EmVIC+qBnpR0jPr8GVCCCGEEIWZFLP3mJAS7oSUcKdzbe0GC2kWK3v/i2NL1CVtOnGJq8npbDt5mW0nL9utW8rTSJVAL6oEelExwBNvswturgY8TC74e5kI9DLj7eaCTiddFoQQQghROEgxe49zNeipV86PeuX86N+qIhar4mhMAofOX+Xwuavaz/NXOXXpGhcSUrmQcJENxy7muD2zq55AbzOB3mZKuBtJt1pJtWjXEJb2NlPWz40gbzMmVz0mF8P1n9d/d8n0e6b5Rhc9BunTK4QQQog7IMVsMWPQ66ga5EXVIC+oc2P+tdR0rcg9pxW3URcSuZZqISnNQmJKOjFXU7hyLY3kNCsnL17j5MVreRqXi16HyUWPh1FPuZKelCvpjr+XCfP1YtfkosfkasBk0NsKYWOmIjnr79ryRoMeV4NOWpOFEEKIe5QUswIAd6MLtYN9qR3sm+MyyWkWYuJTOH81mXNxyVy5loqLQY/RoMdiVZyNS+LslSRir6aQkm69PllISbvxe+r1+clpFjLf7yHdqkhPtZCYaiEm4TJbb+oCcTd0OrQi13CjwM1oOc4ofC1WZYvV3eRCCXdXSniYKOGh/fRzd8WiFEmpFpLTLLZCPznNislFj9nVgLtRm9yMBtxcM37Xumq4GnS4GvTXJ+13vV5HyvVtaNvSpqRM8ywWK95urvi6u+JldsXkosegg/grSVyyXkUBVitYlMJiVVgzfloV6VaFRWm/33hOy4fRoBX9tslw4wOC0UWPDh1pFu21ymn0PvvPBzceeJgM+LoZcTPeu7ddFkIIUXhIMSscZnY1UK6kO+VK5s04tukWq13Rm5yazrEzMSRi4syVZC4mpJJquVEAp6RZSbXcKJBTLdbrhXKmZdKtpKZrz2VQCpLTrCSnWSE5PU9iF7dmctHj527E190VP3cjHiYDZldtcnM1YHbV2x7fPM/NVeuK4pbN8ze3st/c6J7x0Gq1kphi4WpyGgaDIdtlQPu2wuSSdbtCCCGKBilmhdO4GPS4GPR4XB9EwWq14mbxyJMBpK1Wdb3wvXXxm5Ju0bo5XO/GkJhq4VJiCpcS02w/r1xLRa/Xaa2t14srd6MBk4uBNIv1ekttOkmpN1ptr6VaSLr+e5rFSprFSrpFXf9dazU1udwo2NxcDZiNBswuetyMBswuBgx6HfHJaVy5lsbV5DRb3GkWC64GA3q9DoNOh0F/Y9LruP5Te+yi19mW0+t1oCDFcr3oT7eQavv9xgcBq8LWReNW/Zkzt9sqBYkp6aRbFSnpVs7FJ3MuPvmuXsuCYDTo8XZzwcvsamu1djXorrdUG3Bz1ePrZrzeQu5ia802uhhsy5lctJZ3Y6aWeg+jCx4mFzxM2usrBbMQQuQ9KWbFPUmv12HWa0UiuDo7nDxV2O8ao5QiISWdK9e0IvzytVQuX0u1ddFISrPaulRk7laR8XtKpm4XGc+lXP893Zo/NyxMtVivXwCZmi/bB60F2cPogrvRgKdJK4j1Oh16Peh1Wr9uvQ5c9Tf6fWfuBpL5Q4XZ1YC3myveZhfMrgbbMq6ZC3Hb7zfmGw16XF1uPOdhdJEbqgghijwpZoUQeUqn0+Fl1vr4hpTI222nW6xZWoIzU5metVqtxMbE4u/vjy6Xoj/NYiU+OZ34pDQSUtJtrdMZLdUZLe9xSWlcTky1LZNisZKWzbIZfcKvpWoXTyamWmyxJqSkk3D9gsrCQK8DX3cjvm6uuOiseLodsxttxOxqwNfNFT8PIyU9jFr/cQ9XSl7vR+7j7orJRfpGCyGcS4pZIUSRcTt3rrNar3/972rItQXb7GrAy+xKWV+3vAgxmzgUyekWElLSuZZiITE1ncQUrauLVWndTZRStgv50i3K1lc8o1tJqsVqK9yVUiSlWYhPSicuKc3WbSbNomyFdUa3lpzmp10fTs+q4FJiKpcSM1qkk277+NxcDdcLWyN+7q4E+Zgp6+tGkI/Z1jXDx+365O6Kh9Hl+nFZsFgVrpkuQJRuGEKIOyHFrBBC5COtr7UL7kYX8HJ2NJqMPuXxSWlcvpbG5cQUzsVexM3Tm1SLsrUuJ6dZuHwtNVP/8VTbFJeUhlVBUpqFpDgLZ+Purm905lZiT7N2cxYdWvcM7acOq1K2bidWpWzdJ3Q6SEvX+qMrbhqt4/roJZnnmVz0Ny1jsBvdw3TTsj5urpTy1EY3yWl0DyGE80gxK4QQxUzmPuUB3masVg9iPNJvqx+21aq4mpJO3PV+0VeStIL37JVkouOSOBeXQnxSGleStMI3LkkbpzrH7WVpJS6cdIDb9WH4Mi7czBiOz/bzpnkZFwT6XO+y4ePmqn2guN7qbrtw0MWAr7srJTyMuBvlgkEhHCXFrBBCiNum1+ts3QccHa4voy9xxsVtBp1O6wJhsZKUarl+0WAqianpKKUVuEppPaGV0lpvza7azVH0ep2tz7JS2FpSgUxdNCx2w/XdPGpHdkP6pV7vtpH5+SvX0riQkMK1VAsKuHZ91JL85GrQXT9WA0aDThuL26pIt1iv/9TGjjbotQv6XAw627jfej3XR07RWpE9TQY8zS54m13x9zLh72nCz8NoG7EEIDldew2UUtrILtf7TGf8NF8fGs/kcmMIvYy7OLoadLbuIq4GvW3oO3V93OvMY2DrdfYjr0jBLvKCFLNCCCEKREZRZDfveguxt9mVQG+zkyJzTEJyKif/O4+Hjx8p6Yprqem2kTcyhuLLfFOVpLTrw/NdL37jktJsXTRcro844WrQa7cFT9fGwr58LfX68HuKNEs6V8l9bOyMYfBycyEhL7NwaxkDZDgy+IiL3n4IQe2x3jbfYJtn/1ifZb62jofJBU+TC54mA64G/Y3tGey35aLXiv8bI33otP7lmfucWxQWqxUXvR7X6x++LNYbfc69zC54u7nibjSglDZMofV6H3iltCESS3gYKeFhxMPoQtr1ddMyLhZNs3D58jWuGRLxNLleb/F3kdu73wEpZoUQQggHuBtdKOnhSkAJ93wdFi8p1WIrajMu8DPotTsHGvQ6XPV6DAatZTPdorXYZh7LOt2qcDXocLkeY2JqOgnJ6VxJSuXC1VRiE1K4ci3VdnEgClvLq16ns7VoJ2caNi/jsXYDGwvJ1x+npluzDJl3OyPoZbQ4F47xPZzlgN0j2zcX18cLNxr0eJgMeJi0vuQp2bwegG0oPqtStm8bAFvB7+aqDQvobtI+UGacK7pMy9imm8Yvt32I0OloXKEkzzUPK9AM3YoUs0IIIUQh4mY04GbMn9E18kPG7bMzCurk1HQuXLxIgH+pGzd3uV4gKa7favt6IWW5fttt7bEVi/XG/DSL1XYb7nSrFev1nxldFzKWtV4fBST9+l3/MobAS7/esppmtz9rpu0rW9eSdIvSWsuvd+vIaLE16HSZju36hwSD3jaednxSGtdSLbZxonW66+NGA6kWxeXr/cBTLdYbtxI3aC29rgYd6ekWUiyKa6k3bvGe0fXldiXeouvL1eS8GRbQw1T4SsfCF5EQQgghigy9XodRr7P1WbaaXSBZGwGiMN7YpaAppbBe73aQWeYb4Oh0OlLSrdf7Y6dfH7pP67aQkma9PqSf1pfclHEr8ExjQgO2Pt6G66+F0aCN9GG1QppV6xOtjX2djo4bLf3AjQ8VVisWK7af6Var7cOCVWkfCMqX9CjwHN6KFLNCCCGEEPlEp9NhuEU3WJ1OZ+tTXsLDWDCB3UPkI5MQQgghhCiypJgVQgghhBBFlhSzQgghhBCiyJJiVgghhBBCFFlSzAohhBBCiCJLilkhhBBCCFFkSTErhBBCCCGKLClmhRBCCCFEkSXFrBBCCCGEKLKkmBVCCCGEEEVWsbydrVIKgPj4+ALZn9Vq5erVq5jNZrlPdS4kT46RPDlG8uQ4yZVjJE+OkTw5RvJ0axl1WkbdlpNiWcxevXoVgJCQECdHIoQQQgghcnP16lV8fHxyfF6nblXu3oOsVitnz57Fy8sLnU6X7/uLj48nJCSE06dP4+3tne/7K6okT46RPDlG8uQ4yZVjJE+OkTw5RvJ0a0oprl69SpkyZXJtvS6WLbN6vZ7g4OAC36+3t7ecsA6QPDlG8uQYyZPjJFeOkTw5RvLkGMlT7nJrkc0gnTSEEEIIIUSRJcWsEEIIIYQosqSYLQAmk4n33nsPk8nk7FAKNcmTYyRPjpE8OU5y5RjJk2MkT46RPOWdYnkBmBBCCCGEuDdIy6wQQgghhCiypJgVQgghhBBFlhSzQgghhBCiyJJiVgghhBBCFFlSzOazr7/+mvLly2M2m7nvvvvYsmWLs0NyqjFjxtCwYUO8vLwICAigW7duHDp0yG6Z1q1bo9Pp7KYXX3zRSRE7z8iRI7PkoVq1arbnk5OTGThwICVLlsTT05NHH32U8+fPOzFi5yhfvnyWPOl0OgYOHAgU3/NpzZo1dOnShTJlyqDT6ViwYIHd80opRowYQenSpXFzc6N9+/YcOXLEbplLly7x5JNP4u3tja+vL88//zwJCQkFeBT5L7c8paWl8eb/t3f/UTXffxzAn7f0i9ItpR9TEbFCEUnzTVRH2U6aH9PorDKElTKLZmfMj40Olg072BllmB9tkvlxuKHmR1Ippq6rEtncOJNMhXBf3z92fI7PumUb9enH63HOPafP+/3+fO7r8/bq9vK+71vx8ejfvz86deoEW1tbhIWF4ebNm6JraMvBhISEZr6TpvWifIqIiKg3B4GBgaIx7T2fAGh9rZLJZFi1apUwpj3k06vGxWwT2r17N+bOnYvPPvsM58+fh5ubGwICAnD79m2pQ5NMZmYmoqKicPbsWSgUCjx+/BijRo1CTU2NaNz06dOhVquFx8qVKyWKWFp9+/YVzcOpU6eEvg8//BA///wzUlJSkJmZiZs3b2LcuHESRiuNnJwc0RwpFAoAwDvvvCOMaY/5VFNTAzc3N3zzzTda+1euXIm1a9di48aNyM7ORqdOnRAQEICHDx8KY0JDQ1FYWAiFQoEDBw7gl19+QWRkZHPdQrNobJ5qa2tx/vx5LFy4EOfPn8fevXuhUqkwZsyYemOXLl0qyrHZs2c3R/jN5kX5BACBgYGiOdi5c6eov73nEwDR/KjVamzZsgUymQzjx48XjWvr+fTKEWsyQ4YMoaioKOH46dOnZGtrSytWrJAwqpbl9u3bBIAyMzOFNh8fH4qNjZUuqBbis88+Izc3N619VVVVpKenRykpKUKbUqkkAJSVldVMEbZMsbGx1LNnT9JoNETE+UREBIBSU1OFY41GQ9bW1rRq1SqhraqqigwMDGjnzp1ERFRUVEQAKCcnRxhz+PBhkslk9Pvvvzdb7M3p7/Okzblz5wgAXb9+XWhzcHCgNWvWNG1wLYi2eQoPD6fg4OAGz+F80i44OJh8fX1Fbe0tn14FXpltInV1dcjLy4O/v7/QpqOjA39/f2RlZUkYWcty7949AIC5ubmofceOHbCwsEC/fv2wYMEC1NbWShGe5IqLi2FrawtHR0eEhoaivLwcAJCXl4fHjx+L8uv111+Hvb19u86vuro6bN++He+//z5kMpnQzvkkVlZWhoqKClH+mJqawtPTU8ifrKwsyOVyDB48WBjj7+8PHR0dZGdnN3vMLcW9e/cgk8kgl8tF7QkJCejSpQsGDhyIVatW4cmTJ9IEKKGMjAx07doVffr0waxZs3Dnzh2hj/Opvlu3buHgwYOYOnVqvT7Op3+ng9QBtFV//PEHnj59CisrK1G7lZUVLl++LFFULYtGo8GcOXMwbNgw9OvXT2ifPHkyHBwcYGtri4sXLyI+Ph4qlQp79+6VMNrm5+npieTkZPTp0wdqtRpLliyBt7c3Ll26hIqKCujr69f7gWplZYWKigppAm4B9u3bh6qqKkRERAhtnE/1PcsRba9Pz/oqKirQtWtXUX+HDh1gbm7ebnPs4cOHiI+Px6RJk9C5c2ehPSYmBu7u7jA3N8eZM2ewYMECqNVqJCYmShht8woMDMS4cePQo0cPlJaW4pNPPsHo0aORlZUFXV1dzicttm7dChMTk3rbwzif/j0uZplkoqKicOnSJdE+UACiPVT9+/eHjY0N/Pz8UFpaip49ezZ3mJIZPXq08LWrqys8PT3h4OCAPXv2wMjISMLIWq7Nmzdj9OjRsLW1Fdo4n9ir8PjxY0ycOBFEhA0bNoj65s6dK3zt6uoKfX19zJgxAytWrGg3f6r03XffFb7u378/XF1d0bNnT2RkZMDPz0/CyFquLVu2IDQ0FIaGhqJ2zqd/j7cZNBELCwvo6urW+3T5rVu3YG1tLVFULUd0dDQOHDiAEydOoFu3bo2O9fT0BACUlJQ0R2gtllwuR+/evVFSUgJra2vU1dWhqqpKNKY959f169eRnp6OadOmNTqO8wlCjjT2+mRtbV3vw6pPnjxBZWVlu8uxZ4Xs9evXoVAoRKuy2nh6euLJkye4du1a8wTYAjk6OsLCwkL4PuN8Ejt58iRUKtULX68Azqd/govZJqKvr49Bgwbh2LFjQptGo8GxY8fg5eUlYWTSIiJER0cjNTUVx48fR48ePV54TkFBAQDAxsamiaNr2aqrq1FaWgobGxsMGjQIenp6ovxSqVQoLy9vt/mVlJSErl274q233mp0HOcT0KNHD1hbW4vy588//0R2draQP15eXqiqqkJeXp4w5vjx49BoNMJ/CNqDZ4VscXEx0tPT0aVLlxeeU1BQAB0dnXpvq7cnv/32G+7cuSN8n3E+iW3evBmDBg2Cm5vbC8dyPv0DUn8CrS3btWsXGRgYUHJyMhUVFVFkZCTJ5XKqqKiQOjTJzJo1i0xNTSkjI4PUarXwqK2tJSKikpISWrp0KeXm5lJZWRmlpaWRo6MjDR8+XOLIm99HH31EGRkZVFZWRqdPnyZ/f3+ysLCg27dvExHRzJkzyd7eno4fP065ubnk5eVFXl5eEkctjadPn5K9vT3Fx8eL2ttzPt2/f5/y8/MpPz+fAFBiYiLl5+cLn8JPSEgguVxOaWlpdPHiRQoODqYePXrQgwcPhGsEBgbSwIEDKTs7m06dOkVOTk40adIkqW6pSTQ2T3V1dTRmzBjq1q0bFRQUiF6zHj16REREZ86coTVr1lBBQQGVlpbS9u3bydLSksLCwiS+s1ersXm6f/8+xcXFUVZWFpWVlVF6ejq5u7uTk5MTPXz4ULhGe8+nZ+7du0cdO3akDRs21Du/veTTq8bFbBNbt24d2dvbk76+Pg0ZMoTOnj0rdUiSAqD1kZSURERE5eXlNHz4cDI3NycDAwPq1asXzZs3j+7duydt4BIICQkhGxsb0tfXp9dee41CQkKopKRE6H/w4AF98MEHZGZmRh07dqSxY8eSWq2WMGLpHDlyhACQSqUStbfnfDpx4oTW77Xw8HAi+uvXcy1cuJCsrKzIwMCA/Pz86s3fnTt3aNKkSWRsbEydO3emKVOm0P379yW4m6bT2DyVlZU1+Jp14sQJIiLKy8sjT09PMjU1JUNDQ3J2dqbly5eLiri2oLF5qq2tpVGjRpGlpSXp6emRg4MDTZ8+vd7CTXvPp2c2bdpERkZGVFVVVe/89pJPr5qMiKhJl34ZY4wxxhhrIrxnljHGGGOMtVpczDLGGGOMsVaLi1nGGGOMMdZqcTHLGGOMMcZaLS5mGWOMMcZYq8XFLGOMMcYYa7W4mGWMMcYYY60WF7OMMdaMMjIyIJPJUFVV1aTPM2LECMyZM6dJn+O/Wrx4MaysrCCTybBv3z5ERETg7bffljosxlgrxX80gTHGmlFGRgZGjhyJu3fvQi6XN9nzVFZWQk9PDyYmJq/kejKZDKmpqS9ddCqVSri4uCA1NRVDhw6FmZkZHj58CCJq0vlgjLVdHaQOgDHG2Ktnbm4udQhalZaWAgCCg4Mhk8kAAAYGBlKGxBhr5XibAWOsTRgxYgSio6MRHR0NU1NTWFhYYOHChXj+zadt27Zh8ODBMDExgbW1NSZPnozbt28L/Xfv3kVoaCgsLS1hZGQEJycnJCUlCf2//vorfH19YWRkhC5duiAyMhLV1dWNxnXo0CH07t0bRkZGGDlyJK5du1ZvzKlTp+Dt7Q0jIyPY2dkhJiYGNTU1DV6ztLQUwcHBsLKygrGxMTw8PJCenl5vPp7fZvDsLf3nyeVyJCcnAwDq6uoQHR0NGxsbGBoawsHBAStWrAAAdO/eHQAwduxYyGQy4RgA0tLS4O7uDkNDQzg6OmLJkiV48uSJ1rgXL16MoKAgAICOjo5QzP59m8GIESMQExOD+fPnw9zcHNbW1li8eLHoWuXl5QgODoaxsTE6d+6MiRMn4tatWw3OGWOs7eJiljHWZmzduhUdOnTAuXPn8PXXXyMxMRHfffed0P/48WMsW7YMFy5cwL59+3Dt2jVEREQI/QsXLkRRUREOHz4MpVKJDRs2wMLCAgBQU1ODgIAAmJmZIScnBykpKUhPT0d0dHSD8dy4cQPjxo1DUFAQCgoKMG3aNHz88ceiMaWlpQgMDMT48eNx8eJF7N69G6dOnWr0utXV1XjzzTdx7Ngx5OfnIzAwEEFBQSgvL/+PMwesXbsW+/fvx549e6BSqbBjxw6haM3JyQEAJCUlQa1WC8cnT55EWFgYYmNjUVRUhE2bNiE5ORlffPGF1ueIi4sT/nOgVquhVqsbjGfr1q3o1KkTsrOzsXLlSixduhQKhQIAoNFoEBwcjMrKSmRmZkKhUODq1asICQn5z/fPGGvFiDHG2gAfHx9ydnYmjUYjtMXHx5Ozs3OD5+Tk5BAAun//PhERBQUF0ZQpU7SO/fbbb8nMzIyqq6uFtoMHD5KOjg5VVFRoPWfBggXk4uIiaouPjycAdPfuXSIimjp1KkVGRorGnDx5knR0dOjBgwcN3/Df9O3bl9atWycc+/j4UGxsrHAMgFJTU0XnmJqaUlJSEhERzZ49m3x9fUXz9zxt5/v5+dHy5ctFbdu2bSMbG5sG40xNTaW//+gJDw+n4OBgUez/+9//RGM8PDwoPj6eiIiOHj1Kurq6VF5eLvQXFhYSADp37lyDz80Ya5t4ZZYx1mYMHTpUeOsaALy8vFBcXIynT58CAPLy8hAUFAR7e3uYmJjAx8cHAIQVzVmzZmHXrl0YMGAA5s+fjzNnzgjXUiqVcHNzQ6dOnYS2YcOGQaPRQKVSaY1HqVTC09NT1Obl5SU6vnDhApKTk2FsbCw8AgICoNFoUFZWpvW61dXViIuLg7OzM+RyOYyNjaFUKl9qZTYiIgIFBQXo06cPYmJicPTo0Reec+HCBSxdulQU+/Tp06FWq1FbW/ufYwEAV1dX0bGNjY2wJUSpVMLOzg52dnZCv4uLC+RyOZRK5Us9L2Os9eEPgDHG2oVn2wQCAgKwY8cOWFpaory8HAEBAairqwMAjB49GtevX8ehQ4egUCjg5+eHqKgorF69usniqq6uxowZMxATE1Ovz97eXus5cXFxUCgUWL16NXr16gUjIyNMmDBBuA9tZDKZaP8w8Ne2i2fc3d1RVlaGw4cPIz09HRMnToS/vz9+/PHHRmNfsmQJxo0bV6/P0NCwwfP+CT09vXrxazSal7omY6xt4mKWMdZmZGdni47Pnj0LJycn6Orq4vLly7hz5w4SEhKEFb3c3Nx617C0tER4eDjCw8Ph7e2NefPmYfXq1XB2dkZycjJqamqE1dnTp09DR0cHffr00RqPs7Mz9u/fXy+m57m7u6OoqAi9evX6x/d5+vRpREREYOzYsQD+Kiq1fbDs7/f1/B7V4uLiequnnTt3RkhICEJCQjBhwgQEBgaisrIS5ubm0NPTE1a4n49dpVL9q9hfBWdnZ9y4cQM3btwQ/i2LiopQVVUFFxeXZo2FMSY93mbAGGszysvLMXfuXKhUKuzcuRPr1q1DbGwsgL9WOfX19bFu3TpcvXoV+/fvx7Jly0TnL1q0CGlpaSgpKUFhYSEOHDgAZ2dnAEBoaCgMDQ0RHh6OS5cu4cSJE5g9ezbee+89WFlZaY1n5syZKC4uxrx586BSqfDDDz8Ivz3gmfj4eJw5cwbR0dEoKChAcXEx0tLSGv0AmJOTE/bu3YuCggJcuHABkydPfuGqpa+vL9avX4/8/Hzk5uZi5syZotXPxMRE7Ny5E5cvX8aVK1eQkpICa2tr4Xe/du/eHceOHUNFRQXu3r0rzNf333+PJUuWoLCwEEqlErt27cKnn37aaCwvy9/fH/3790doaCjOnz+Pc+fOISwsDD4+Phg8eHCTPjdjrOXhYpYx1maEhYXhwYMHGDJkCKKiohAbG4vIyEgAf61MJicnIyUlBS4uLkhISKi3fUBfXx8LFiyAq6srhg8fDl1dXezatQsA0LFjRxw5cgSVlZXw8PDAhAkT4Ofnh/Xr1zcYj729PX766Sfs27cPbm5u2LhxI5YvXy4a4+rqiszMTFy5cgXe3t4YOHAgFi1aBFtb2wavm5iYCDMzM7zxxhsICgpCQEAA3N3dG52bL7/8EnZ2dvD29sbkyZMRFxeHjh07Cv0mJiZYuXIlBg8eDA8PD1y7dg2HDh2Cjo6OcL5CoYCdnR0GDhwIAAgICMCBAwdw9OhReHh4YOjQoVizZg0cHBwajeVlyWQypKWlwczMDMOHD4e/vz8cHR2xe/fuJn1exljLxH8BjDHWJowYMQIDBgzAV199JXUoLYKXlxf8/Pzw+eefSx0KY4w1KV6ZZYyxNuTRo0fIzc1FYWEh+vbtK3U4jDHW5LiYZYyxNuTw4cPw9fXFmDFjMGHCBKnDYYyxJsfbDBhjjDHGWKvFK7OMMcYYY6zV4mKWMcYYY4y1WlzMMsYYY4yxVouLWcYYY4wx1mpxMcsYY4wxxlotLmYZY4wxxlirxcUsY4wxxhhrtbiYZYwxxhhjrRYXs4wxxhhjrNX6P8IceK+Tn0DnAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 800x380 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "  en él come la casa=he eats the house        esperado: he eats the house\n",
      "  en él ve el perro nuevo=he sees the new dog      esperado: he sees the new dog\n",
      "  en él compra el libro viejo=he buys the old book     esperado: he buys the old book\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "  en ella tiene la casa=she has the house        esperado: she has the house\n"
     ]
    }
   ],
   "source": [
    "def new_task_example(split):\n",
    "    en, es = random.choice(TR_TRAIN if split == \"train\" else TR_TEST)\n",
    "    return f\"en {es}=\", en\n",
    "\n",
    "random.seed(7)\n",
    "ft_corpus = \"\\n\".join(\"\".join(new_task_example(\"train\")) for _ in range(5000)) + \"\\n\"\n",
    "ft_data = torch.tensor(encode(ft_corpus), dtype=torch.long)\n",
    "pretrained_state = {k: v.clone() for k, v in model.state_dict().items()}\n",
    "\n",
    "def finetune(start_from_pretrained, steps=200):\n",
    "    torch.manual_seed(0)\n",
    "    m = GPT(len(chars), BLOCK, d=128, n_layer=4, n_head=4)\n",
    "    if start_from_pretrained:\n",
    "        m.load_state_dict(pretrained_state)\n",
    "    o = torch.optim.AdamW(m.parameters(), lr=5e-4 if start_from_pretrained else 2e-3)\n",
    "    curve = []\n",
    "    for s in range(steps):\n",
    "        xb, yb = get_batch(32, ft_data)\n",
    "        _, loss, _ = m(xb, yb)\n",
    "        o.zero_grad(); loss.backward(); o.step()\n",
    "        curve.append(loss.item())\n",
    "    m.eval()\n",
    "    random.seed(99)\n",
    "    acc = np.mean([complete(m, p) == a for p, a in (new_task_example(\"test\") for _ in range(100))])\n",
    "    return m, curve, acc\n",
    "\n",
    "t0 = time.time()\n",
    "ft_model, curve_pre, acc_pre = finetune(True)\n",
    "_, curve_scratch, acc_scratch = finetune(False)\n",
    "print(f\"ambos ajustados en {time.time() - t0:.0f} s\")\n",
    "print(f\"exactitud ES→EN con datos reservados:  desde el preentrenado {acc_pre:.0%}   desde cero {acc_scratch:.0%}\")\n",
    "\n",
    "plt.figure(figsize=(8, 3.8))\n",
    "plt.plot(np.convolve(curve_pre, np.ones(10) / 10, \"valid\"), label=\"partiendo del GPT preentrenado\")\n",
    "plt.plot(np.convolve(curve_scratch, np.ones(10) / 10, \"valid\"), label=\"partiendo de pesos aleatorios\")\n",
    "plt.xlabel(\"paso de ajuste fino\"); plt.ylabel(\"pérdida\"); plt.legend(); plt.grid(alpha=0.3)\n",
    "plt.title(\"Mismos datos, mismos pasos: el preentrenamiento da ventaja\"); plt.show()\n",
    "\n",
    "random.seed(5)\n",
    "for _ in range(4):\n",
    "    p, a = new_task_example(\"test\")\n",
    "    print(f\"  {p}{complete(ft_model, p):24s} esperado: {a}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a694ac8f",
   "metadata": {},
   "source": [
    "### Olvido catastrófico\n",
    "\n",
    "Ajustar solo con la tarea nueva puede dañar las habilidades antiguas, porque nada en la pérdida las protege. El ajuste fino real mezcla algunos datos generales o usa métodos eficientes en parámetros como **LoRA**, que congelan los pesos originales y entrenan pequeñas matrices añadidas."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "59d792a6",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-16T09:35:01.815485Z",
     "iopub.status.busy": "2026-10-16T09:35:01.815214Z",
     "iopub.status.idle": "2026-10-16T09:35:18.219063Z",
     "shell.execute_reply": "2026-10-16T09:35:18.217687Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "tarea     antes del ajuste  después\n",
      "add                    98%      12%\n",
      "rev                    98%       0%\n",
      "sort                  100%      17%\n",
      "es                    100%       0%\n",
      "capital               100%       0%\n"
     ]
    }
   ],
   "source": [
    "after = evaluate(ft_model)\n",
    "print(f\"{'tarea':8s} {'antes del ajuste':>17s} {'después':>8s}\")\n",
    "for t in TASKS:\n",
    "    print(f\"{t:8s} {skill_curve[STEPS][t]:17.0%} {after[t]:8.0%}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "087c34ac",
   "metadata": {},
   "source": [
    "## 12. De un modelo base a ChatGPT, y las leyes de escala\n",
    "\n",
    "Lo que entrenamos es un **modelo base**: continúa el texto al estilo de sus datos de entrenamiento. Convertir un modelo base en un asistente requiere etapas adicionales:\n",
    "\n",
    "```mermaid\n",
    "flowchart LR\n",
    "    A[Preentrenamiento<br/>predecir el siguiente token<br/>billones de tokens] --> B[Ajuste fino supervisado SFT<br/>instrucción escrita por humanos → respuesta ideal]\n",
    "    B --> C[Ajuste por preferencias<br/>RLHF con un modelo de recompensa, o DPO<br/>humanos ordenan respuestas]\n",
    "    C --> D[Asistente<br/>+ herramientas, búsqueda, sistemas de seguridad]\n",
    "```\n",
    "\n",
    "| Etapa | Datos | Qué enseña |\n",
    "|---|---|---|\n",
    "| Preentrenamiento | web, libros, código (la mayor parte del cálculo) | conocimiento, lenguaje, habilidades |\n",
    "| Ajuste fino supervisado (SFT) | decenas de miles de conversaciones seleccionadas | el *formato* de un asistente: responder a la pregunta, seguir instrucciones |\n",
    "| RLHF / DPO | preferencias humanas (o de una IA) entre respuestas | ser útil, honesto e inofensivo; negarse cuando corresponde; decir \"no lo sé\" |\n",
    "| Uso de herramientas y búsqueda | demostraciones de llamadas a herramientas | consultar datos en lugar de alucinar (sección 7), ejecutar código, navegar |\n",
    "\n",
    "Fíjate en que nuestro modelo ya hace una versión diminuta de SFT: el formato `tarea entrada=respuesta` es un formato de instrucción. El prefijo de la instrucción *es* la instrucción.\n",
    "\n",
    "### Aprendizaje en contexto\n",
    "\n",
    "Los GPT grandes pueden aprender una tarea nueva a partir de unos pocos ejemplos colocados **en la instrucción**, sin ninguna actualización de pesos (el hallazgo principal de GPT-3). Nuestro modelo es demasiado pequeño para eso: solo puede hacer tareas cuyo formato vio durante el entrenamiento. El aprendizaje en contexto es una de las capacidades que aparecen con la escala.\n",
    "\n",
    "### Leyes de escala\n",
    "\n",
    "Kaplan et al. (2020) y Hoffmann et al. (2022, \"Chinchilla\") encontraron que la pérdida baja siguiendo una **ley de potencias** suave en los parámetros $N$, los datos $D$ y el cálculo $C$. Dos reglas prácticas:\n",
    "* Cálculo de entrenamiento ≈ $6ND$ operaciones de coma flotante.\n",
    "* El entrenamiento óptimo en cálculo usa unos **20 tokens por parámetro**."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "65f85dc3",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-10-16T09:35:18.222187Z",
     "iopub.status.busy": "2026-10-16T09:35:18.221917Z",
     "iopub.status.idle": "2026-10-16T09:35:18.229351Z",
     "shell.execute_reply": "2026-10-16T09:35:18.228172Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "modelo         parámetros     tokens tokens/parám.  FLOPs entren. (6ND)  × el nuestro\n",
      "this notebook    8.07e+05   5.12e+06           6.3             2.48e+13       1.0e+00\n",
      "GPT-2 XL         1.50e+09   1.00e+10           6.7             9.00e+19       3.6e+06\n",
      "GPT-3            1.75e+11   3.00e+11           1.7             3.15e+23       1.3e+10\n",
      "Chinchilla       7.00e+10   1.40e+12          20.0             5.88e+23       2.4e+10\n"
     ]
    }
   ],
   "source": [
    "tokens_seen = STEPS * BATCH * BLOCK\n",
    "ours = 6 * n_params * tokens_seen\n",
    "rows = [(\"this notebook\", n_params, tokens_seen),\n",
    "        (\"GPT-2 XL\", 1.5e9, 1e10),\n",
    "        (\"GPT-3\", 175e9, 300e9),\n",
    "        (\"Chinchilla\", 70e9, 1.4e12)]\n",
    "print(f\"{'modelo':14s} {'parámetros':>10s} {'tokens':>10s} {'tokens/parám.':>13s} {'FLOPs entren. (6ND)':>20s} {'× el nuestro':>13s}\")\n",
    "for name, N, D in rows:\n",
    "    print(f\"{name:14s} {N:10.2e} {D:10.2e} {D / N:13.1f} {6 * N * D:20.2e} {6 * N * D / ours:13.1e}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7a4bc66e",
   "metadata": {},
   "source": [
    "El entrenamiento de GPT-3 usó aproximadamente **diez mil millones de veces** el cálculo de la ejecución que acabas de hacer, con esencialmente la misma arquitectura y el mismo objetivo.\n",
    "\n",
    "## Ideas clave\n",
    "\n",
    "* Un GPT es una pila de bloques transformer **causales** (atención + MLP) entrenada para **predecir el siguiente token**.\n",
    "* El texto se convierte en enteros con un tokenizador; BPE equilibra el tamaño del vocabulario con la longitud de la secuencia.\n",
    "* Predecir el siguiente token con texto variado obliga al modelo a aprender muchas habilidades; la **instrucción** elige cuál usar. Por eso un solo modelo puede ser generalista.\n",
    "* Las habilidades surgen en momentos distintos del entrenamiento; la pérdida es suave, las capacidades pueden ser abruptas.\n",
    "* El modelo aprende la *forma* de las respuestas, así que puede **alucinar**; además extrapola mal fuera de su distribución de entrenamiento.\n",
    "* El muestreo (temperatura, top-k, top-p) intercambia fiabilidad por diversidad; la **caché KV** hace rápida la generación.\n",
    "* **Preentrenar y después ajustar** transfiere conocimiento; un ajuste fino ingenuo provoca **olvido**.\n",
    "* Los asistentes como ChatGPT añaden SFT y ajuste por preferencias sobre un modelo base, y la diferencia restante es sobre todo de **escala**.\n",
    "\n",
    "## Ejercicios\n",
    "\n",
    "1. Quita `capital` del corpus y vuelve a entrenar. ¿Cambia la capacidad del modelo en las demás tareas?\n",
    "2. Entrena con `WEIGHTS = [1, 1, 1, 1, 1]`. ¿Cómo cambia la curva de la suma en la sección 6?\n",
    "3. Escribe la respuesta de la suma **al revés** (`add 47+38=58`, las unidades primero). ¿Por qué podría facilitar la aritmética a un modelo que escribe de izquierda a derecha?\n",
    "4. Sustituye los tokens de caracteres por el tokenizador BPE de la sección 2 entrenado con el corpus. ¿Qué les pasa a la longitud de las secuencias y a la velocidad de entrenamiento?\n",
    "5. Añade al corpus una tarea nueva, `max 3 9 2=9`, y vuelve a entrenar. Después, sin volver a entrenar, prueba a dar unos pocos ejemplos en la instrucción con un formato de tarea no visto. ¿Funciona?\n",
    "6. Duplica `d` (la anchura del modelo) o `n_layer`, manteniendo fijo el número de pasos. Dibuja la pérdida final frente al número de parámetros: ¿se ve el inicio de una ley de escala?"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.12.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
