Files
estudio_embeddings/notebooks/02_ram_benchmark.ipynb
T

805 lines
190 KiB
Plaintext

{
"cells": [
{
"cell_type": "code",
"execution_count": null,
"id": "daf8e241-af34-4594-b406-08fe56191cf6",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "raw",
"id": "51191f74-f5fc-46bc-abb9-72db3941c796",
"metadata": {},
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "aa5ab0bb-f8ae-499e-8d9e-7d76c9a9b415",
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"id": "fdd06db5",
"metadata": {},
"source": [
"# Benchmark de RAM: BGE-m3 vs multilingual-e5-small\n",
"\n",
"Medimos consumo real de memoria en cada fase:\n",
"1. **Baseline** — RAM antes de cargar nada\n",
"2. **Carga del modelo** — cuánta RAM consume tener el modelo en memoria\n",
"3. **Encoding** — pico de RAM durante encoding a distintos tamaños de corpus\n",
"4. **Scaling** — cómo escala la RAM con corpus de 100, 500, 1000, 5000 documentos"
]
},
{
"cell_type": "markdown",
"id": "d3d149af",
"metadata": {},
"source": [
"## 1. Setup"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "9ee663ae",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Sistema: 31970 MB total, 21550 MB disponible (32.6% usado)\n",
"Proceso actual: 179 MB\n",
"Modelos a probar: ['multi-e5-small', 'BGE-m3']\n"
]
}
],
"source": [
"import os, gc, time, tracemalloc\n",
"import numpy as np\n",
"import pandas as pd\n",
"import matplotlib.pyplot as plt\n",
"import psutil\n",
"\n",
"plt.style.use('seaborn-v0_8-whitegrid')\n",
"plt.rcParams['figure.figsize'] = (14, 6)\n",
"\n",
"MODELS = {\n",
" 'multi-e5-small': {\n",
" 'id': 'intfloat/multilingual-e5-small',\n",
" 'q_prefix': 'query: ',\n",
" 'd_prefix': 'passage: ',\n",
" },\n",
" 'BGE-m3': {\n",
" 'id': 'BAAI/bge-m3',\n",
" 'q_prefix': None,\n",
" 'd_prefix': None,\n",
" },\n",
"}\n",
"\n",
"def get_process_ram_mb():\n",
" \"\"\"RAM del proceso actual en MB (RSS).\"\"\"\n",
" return psutil.Process(os.getpid()).memory_info().rss / (1024 * 1024)\n",
"\n",
"def get_system_ram():\n",
" \"\"\"RAM del sistema: total, usada, disponible en MB.\"\"\"\n",
" m = psutil.virtual_memory()\n",
" return {'total_mb': m.total / (1024**2), 'used_mb': m.used / (1024**2), 'available_mb': m.available / (1024**2), 'percent': m.percent}\n",
"\n",
"sys_ram = get_system_ram()\n",
"print(f'Sistema: {sys_ram[\"total_mb\"]:.0f} MB total, {sys_ram[\"available_mb\"]:.0f} MB disponible ({sys_ram[\"percent\"]}% usado)')\n",
"print(f'Proceso actual: {get_process_ram_mb():.0f} MB')\n",
"print(f'Modelos a probar: {list(MODELS.keys())}')"
]
},
{
"cell_type": "markdown",
"id": "9f1571c1",
"metadata": {},
"source": [
"## 2. Corpus sintético escalable\n",
"\n",
"Generamos corpus de distintos tamaños a partir de frases semilla en español."
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "f5a78c0b",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Corpus 100 docs → ejemplo: \"Python es un lenguaje de programación de alto nivel conocido por su le...\"\n",
"Corpus 500 docs → ejemplo: \"Python es un lenguaje de programación de alto nivel conocido por su le...\"\n",
"Corpus 1000 docs → ejemplo: \"Python es un lenguaje de programación de alto nivel conocido por su le...\"\n",
"Corpus 5000 docs → ejemplo: \"Python es un lenguaje de programación de alto nivel conocido por su le...\"\n"
]
}
],
"source": [
"import random\n",
"\n",
"# Frases semilla para generar corpus de cualquier tamaño\n",
"SEEDS = [\n",
" 'Python es un lenguaje de programación de alto nivel conocido por su legibilidad',\n",
" 'La fotosíntesis convierte la luz solar en energía química en las células vegetales',\n",
" 'El pan de masa madre requiere un cultivo fermentado de harina y agua',\n",
" 'El interés compuesto hace crecer los ahorros exponencialmente a largo plazo',\n",
" 'La selva amazónica produce aproximadamente el 20 por ciento del oxígeno mundial',\n",
" 'Las redes neuronales profundas aprenden representaciones jerárquicas de los datos',\n",
" 'La criptografía asimétrica usa pares de claves pública y privada',\n",
" 'Los contenedores Docker encapsulan aplicaciones con todas sus dependencias',\n",
" 'La teoría de grafos modela relaciones entre entidades como nodos y aristas',\n",
" 'Las bases de datos columnares optimizan consultas analíticas sobre grandes volúmenes',\n",
" 'El protocolo TCP garantiza la entrega ordenada y confiable de paquetes',\n",
" 'La transformada de Fourier descompone señales en sus frecuencias componentes',\n",
" 'Los microservicios dividen una aplicación en servicios pequeños e independientes',\n",
" 'El álgebra lineal es fundamental para machine learning y procesamiento de señales',\n",
" 'La reacción de Maillard crea el dorado y sabor al cocinar proteínas a alta temperatura',\n",
" 'Los índices invertidos permiten búsqueda full-text eficiente en documentos',\n",
" 'Las corrientes oceánicas regulan el clima global y los patrones meteorológicos',\n",
" 'El garbage collector libera memoria de objetos que ya no son referenciados',\n",
" 'La diversificación reduce el riesgo del portafolio distribuyendo inversiones',\n",
" 'Los embeddings representan texto como vectores densos en un espacio semántico',\n",
"]\n",
"\n",
"def generate_corpus(n):\n",
" \"\"\"Genera corpus de n documentos variando las frases semilla.\"\"\"\n",
" random.seed(42)\n",
" suffixes = [\n",
" '', ' en sistemas modernos', ' según investigaciones recientes',\n",
" ' de manera eficiente', ' con aplicaciones prácticas',\n",
" ' en el contexto actual', ' para usuarios avanzados',\n",
" ' combinando múltiples enfoques', ' optimizando recursos',\n",
" ' a gran escala',\n",
" ]\n",
" corpus = []\n",
" for i in range(n):\n",
" base = SEEDS[i % len(SEEDS)]\n",
" suffix = suffixes[i % len(suffixes)]\n",
" corpus.append(f'{base}{suffix}')\n",
" return corpus\n",
"\n",
"CORPUS_SIZES = [100, 500, 1000, 5000]\n",
"corpora = {n: generate_corpus(n) for n in CORPUS_SIZES}\n",
"for n, c in corpora.items():\n",
" print(f'Corpus {n:5d} docs → ejemplo: \"{c[0][:70]}...\"')"
]
},
{
"cell_type": "markdown",
"id": "aca2f5ce",
"metadata": {},
"source": [
"## 3. Benchmark de RAM por modelo\n",
"\n",
"Para cada modelo medimos:\n",
"- **RAM al cargar** — delta RSS después de instanciar el modelo\n",
"- **RAM pico encoding** — tracemalloc captura el pico durante encode\n",
"- **Tiempo de encoding** — por cada tamaño de corpus\n",
"- **RAM de embeddings** — cuánto pesan los arrays numpy resultantes"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "a09ef594",
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"Warning: You are sending unauthenticated requests to the HF Hub. Please set a HF_TOKEN to enable higher rate limits and faster downloads.\n"
]
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "abe7fa6799534cb89e3cc572e00969fd",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Loading weights: 0%| | 0/199 [00:00<?, ?it/s]"
]
},
"metadata": {},
"output_type": "display_data",
"transient": {}
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"\u001b[1mBertModel LOAD REPORT\u001b[0m from: intfloat/multilingual-e5-small\n",
"Key | Status | | \n",
"------------------------+------------+--+-\n",
"embeddings.position_ids | UNEXPECTED | | \n",
"\n",
"Notes:\n",
"- UNEXPECTED:\tcan be ignored when loading from different task/architecture; not ok if you expect identical arch.\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"======================================================================\n",
"multi-e5-small (117.7M params, dim=384)\n",
"======================================================================\n",
" RAM baseline: 881 MB\n",
" RAM después de carga: 1565 MB (modelo = +684 MB)\n",
" Tiempo de carga: 5.5s\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
" 100 docs | encode= 0.28s ( 356.2 docs/s) | RAM delta=+ 191 MB | peak(tracemalloc)= 0.2 MB | embeddings=0.15 MB\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
" 500 docs | encode= 0.28s ( 1791.3 docs/s) | RAM delta=+ 2 MB | peak(tracemalloc)= 0.9 MB | embeddings=0.73 MB\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
" 1000 docs | encode= 0.55s ( 1807.4 docs/s) | RAM delta=+ 2 MB | peak(tracemalloc)= 1.8 MB | embeddings=1.46 MB\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
" 5000 docs | encode= 2.61s ( 1915.6 docs/s) | RAM delta=+ 15 MB | peak(tracemalloc)= 9.1 MB | embeddings=7.32 MB\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
" RAM después de cleanup: 1757 MB (liberados ~-192 MB)\n"
]
},
{
"data": {
"application/vnd.jupyter.widget-view+json": {
"model_id": "9fe30614e002401f94625c0b152e3696",
"version_major": 2,
"version_minor": 0
},
"text/plain": [
"Loading weights: 0%| | 0/391 [00:00<?, ?it/s]"
]
},
"metadata": {},
"output_type": "display_data",
"transient": {}
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"======================================================================\n",
"BGE-m3 (567.8M params, dim=1024)\n",
"======================================================================\n",
" RAM baseline: 1756 MB\n",
" RAM después de carga: 1866 MB (modelo = +110 MB)\n",
" Tiempo de carga: 10.0s\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
" 100 docs | encode= 0.52s ( 192.5 docs/s) | RAM delta=+ 0 MB | peak(tracemalloc)= 0.5 MB | embeddings=0.39 MB\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
" 500 docs | encode= 1.00s ( 501.7 docs/s) | RAM delta=+ 0 MB | peak(tracemalloc)= 2.2 MB | embeddings=1.95 MB\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
" 1000 docs | encode= 1.87s ( 535.7 docs/s) | RAM delta=+ 0 MB | peak(tracemalloc)= 4.3 MB | embeddings=3.91 MB\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
" 5000 docs | encode= 9.01s ( 554.9 docs/s) | RAM delta=+ 24 MB | peak(tracemalloc)= 21.3 MB | embeddings=19.53 MB\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
" RAM después de cleanup: 1833 MB (liberados ~33 MB)\n"
]
}
],
"source": [
"from sentence_transformers import SentenceTransformer\n",
"\n",
"def benchmark_model(name, config, corpora):\n",
" \"\"\"Benchmark completo de RAM para un modelo.\"\"\"\n",
" gc.collect()\n",
" ram_before = get_process_ram_mb()\n",
"\n",
" # Cargar modelo\n",
" t0 = time.perf_counter()\n",
" model = SentenceTransformer(config['id'], trust_remote_code=True)\n",
" load_time = time.perf_counter() - t0\n",
" ram_after_load = get_process_ram_mb()\n",
" ram_model = ram_after_load - ram_before\n",
"\n",
" # Parámetros del modelo\n",
" n_params = sum(p.nelement() for p in model[0].auto_model.parameters()) / 1e6\n",
" dim = model.get_sentence_embedding_dimension()\n",
"\n",
" print(f'\\n{\"=\" * 70}')\n",
" print(f'{name} ({n_params:.1f}M params, dim={dim})')\n",
" print(f'{\"=\" * 70}')\n",
" print(f' RAM baseline: {ram_before:.0f} MB')\n",
" print(f' RAM después de carga: {ram_after_load:.0f} MB (modelo = +{ram_model:.0f} MB)')\n",
" print(f' Tiempo de carga: {load_time:.1f}s')\n",
"\n",
" results = []\n",
" prefix = config['d_prefix']\n",
"\n",
" for corpus_size, corpus in corpora.items():\n",
" gc.collect()\n",
" texts = [f'{prefix}{doc}' for doc in corpus] if prefix else corpus\n",
"\n",
" # Medir pico de RAM con tracemalloc\n",
" tracemalloc.start()\n",
" ram_pre_encode = get_process_ram_mb()\n",
" t0 = time.perf_counter()\n",
"\n",
" embeddings = model.encode(texts, normalize_embeddings=True,\n",
" show_progress_bar=False, batch_size=32)\n",
"\n",
" encode_time = time.perf_counter() - t0\n",
" ram_post_encode = get_process_ram_mb()\n",
" current, peak = tracemalloc.get_traced_memory()\n",
" tracemalloc.stop()\n",
"\n",
" # Tamaño de los embeddings en MB\n",
" emb_size_mb = embeddings.nbytes / (1024 * 1024)\n",
"\n",
" result = {\n",
" 'model': name,\n",
" 'corpus_size': corpus_size,\n",
" 'dim': dim,\n",
" 'ram_model_mb': round(ram_model),\n",
" 'ram_pre_encode_mb': round(ram_pre_encode),\n",
" 'ram_post_encode_mb': round(ram_post_encode),\n",
" 'ram_delta_encode_mb': round(ram_post_encode - ram_pre_encode),\n",
" 'tracemalloc_peak_mb': round(peak / (1024 * 1024), 1),\n",
" 'emb_size_mb': round(emb_size_mb, 2),\n",
" 'encode_time_s': round(encode_time, 3),\n",
" 'docs_per_sec': round(corpus_size / encode_time, 1),\n",
" }\n",
" results.append(result)\n",
"\n",
" print(f' {corpus_size:5d} docs | encode={encode_time:6.2f}s ({result[\"docs_per_sec\"]:7.1f} docs/s) | '\n",
" f'RAM delta=+{result[\"ram_delta_encode_mb\"]:4d} MB | peak(tracemalloc)={result[\"tracemalloc_peak_mb\"]:6.1f} MB | '\n",
" f'embeddings={emb_size_mb:.2f} MB')\n",
"\n",
" # Limpiar modelo\n",
" del model\n",
" gc.collect()\n",
" ram_after_cleanup = get_process_ram_mb()\n",
" print(f' RAM después de cleanup: {ram_after_cleanup:.0f} MB (liberados ~{ram_after_load - ram_after_cleanup:.0f} MB)')\n",
"\n",
" return results\n",
"\n",
"# Ejecutar benchmarks secuencialmente\n",
"all_results = []\n",
"for name, config in MODELS.items():\n",
" all_results.extend(benchmark_model(name, config, corpora))"
]
},
{
"cell_type": "markdown",
"id": "e6d6679a",
"metadata": {},
"source": [
"## 4. Tabla resumen"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "7b447fa1",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<style type=\"text/css\">\n",
"#T_2d890_row0_col3, #T_2d890_row0_col4, #T_2d890_row1_col3, #T_2d890_row2_col3, #T_2d890_row3_col3 {\n",
" background-color: #67000d;\n",
" color: #f1f1f1;\n",
"}\n",
"#T_2d890_row0_col8 {\n",
" background-color: #e9f7e5;\n",
" color: #000000;\n",
"}\n",
"#T_2d890_row1_col4, #T_2d890_row2_col4 {\n",
" background-color: #fff4ee;\n",
" color: #000000;\n",
"}\n",
"#T_2d890_row1_col8 {\n",
" background-color: #005b25;\n",
" color: #f1f1f1;\n",
"}\n",
"#T_2d890_row2_col8 {\n",
" background-color: #005924;\n",
" color: #f1f1f1;\n",
"}\n",
"#T_2d890_row3_col4 {\n",
" background-color: #fee8dd;\n",
" color: #000000;\n",
"}\n",
"#T_2d890_row3_col8 {\n",
" background-color: #00441b;\n",
" color: #f1f1f1;\n",
"}\n",
"#T_2d890_row4_col3, #T_2d890_row4_col4, #T_2d890_row5_col3, #T_2d890_row5_col4, #T_2d890_row6_col3, #T_2d890_row6_col4, #T_2d890_row7_col3 {\n",
" background-color: #fff5f0;\n",
" color: #000000;\n",
"}\n",
"#T_2d890_row4_col8 {\n",
" background-color: #f7fcf5;\n",
" color: #000000;\n",
"}\n",
"#T_2d890_row5_col8 {\n",
" background-color: #d9f0d3;\n",
" color: #000000;\n",
"}\n",
"#T_2d890_row6_col8 {\n",
" background-color: #d4eece;\n",
" color: #000000;\n",
"}\n",
"#T_2d890_row7_col4 {\n",
" background-color: #fee0d2;\n",
" color: #000000;\n",
"}\n",
"#T_2d890_row7_col8 {\n",
" background-color: #d1edcb;\n",
" color: #000000;\n",
"}\n",
"</style>\n",
"<table id=\"T_2d890\">\n",
" <thead>\n",
" <tr>\n",
" <th class=\"blank level0\" >&nbsp;</th>\n",
" <th id=\"T_2d890_level0_col0\" class=\"col_heading level0 col0\" >Modelo</th>\n",
" <th id=\"T_2d890_level0_col1\" class=\"col_heading level0 col1\" >Docs</th>\n",
" <th id=\"T_2d890_level0_col2\" class=\"col_heading level0 col2\" >Dim</th>\n",
" <th id=\"T_2d890_level0_col3\" class=\"col_heading level0 col3\" >RAM modelo (MB)</th>\n",
" <th id=\"T_2d890_level0_col4\" class=\"col_heading level0 col4\" >RAM delta encode (MB)</th>\n",
" <th id=\"T_2d890_level0_col5\" class=\"col_heading level0 col5\" >Peak tracemalloc (MB)</th>\n",
" <th id=\"T_2d890_level0_col6\" class=\"col_heading level0 col6\" >Embeddings (MB)</th>\n",
" <th id=\"T_2d890_level0_col7\" class=\"col_heading level0 col7\" >Tiempo (s)</th>\n",
" <th id=\"T_2d890_level0_col8\" class=\"col_heading level0 col8\" >Docs/s</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th id=\"T_2d890_level0_row0\" class=\"row_heading level0 row0\" >0</th>\n",
" <td id=\"T_2d890_row0_col0\" class=\"data row0 col0\" >multi-e5-small</td>\n",
" <td id=\"T_2d890_row0_col1\" class=\"data row0 col1\" >100</td>\n",
" <td id=\"T_2d890_row0_col2\" class=\"data row0 col2\" >384</td>\n",
" <td id=\"T_2d890_row0_col3\" class=\"data row0 col3\" >684</td>\n",
" <td id=\"T_2d890_row0_col4\" class=\"data row0 col4\" >191</td>\n",
" <td id=\"T_2d890_row0_col5\" class=\"data row0 col5\" >0.200000</td>\n",
" <td id=\"T_2d890_row0_col6\" class=\"data row0 col6\" >0.150000</td>\n",
" <td id=\"T_2d890_row0_col7\" class=\"data row0 col7\" >0.281000</td>\n",
" <td id=\"T_2d890_row0_col8\" class=\"data row0 col8\" >356.200000</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_2d890_level0_row1\" class=\"row_heading level0 row1\" >1</th>\n",
" <td id=\"T_2d890_row1_col0\" class=\"data row1 col0\" >multi-e5-small</td>\n",
" <td id=\"T_2d890_row1_col1\" class=\"data row1 col1\" >500</td>\n",
" <td id=\"T_2d890_row1_col2\" class=\"data row1 col2\" >384</td>\n",
" <td id=\"T_2d890_row1_col3\" class=\"data row1 col3\" >684</td>\n",
" <td id=\"T_2d890_row1_col4\" class=\"data row1 col4\" >2</td>\n",
" <td id=\"T_2d890_row1_col5\" class=\"data row1 col5\" >0.900000</td>\n",
" <td id=\"T_2d890_row1_col6\" class=\"data row1 col6\" >0.730000</td>\n",
" <td id=\"T_2d890_row1_col7\" class=\"data row1 col7\" >0.279000</td>\n",
" <td id=\"T_2d890_row1_col8\" class=\"data row1 col8\" >1791.300000</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_2d890_level0_row2\" class=\"row_heading level0 row2\" >2</th>\n",
" <td id=\"T_2d890_row2_col0\" class=\"data row2 col0\" >multi-e5-small</td>\n",
" <td id=\"T_2d890_row2_col1\" class=\"data row2 col1\" >1000</td>\n",
" <td id=\"T_2d890_row2_col2\" class=\"data row2 col2\" >384</td>\n",
" <td id=\"T_2d890_row2_col3\" class=\"data row2 col3\" >684</td>\n",
" <td id=\"T_2d890_row2_col4\" class=\"data row2 col4\" >2</td>\n",
" <td id=\"T_2d890_row2_col5\" class=\"data row2 col5\" >1.800000</td>\n",
" <td id=\"T_2d890_row2_col6\" class=\"data row2 col6\" >1.460000</td>\n",
" <td id=\"T_2d890_row2_col7\" class=\"data row2 col7\" >0.553000</td>\n",
" <td id=\"T_2d890_row2_col8\" class=\"data row2 col8\" >1807.400000</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_2d890_level0_row3\" class=\"row_heading level0 row3\" >3</th>\n",
" <td id=\"T_2d890_row3_col0\" class=\"data row3 col0\" >multi-e5-small</td>\n",
" <td id=\"T_2d890_row3_col1\" class=\"data row3 col1\" >5000</td>\n",
" <td id=\"T_2d890_row3_col2\" class=\"data row3 col2\" >384</td>\n",
" <td id=\"T_2d890_row3_col3\" class=\"data row3 col3\" >684</td>\n",
" <td id=\"T_2d890_row3_col4\" class=\"data row3 col4\" >15</td>\n",
" <td id=\"T_2d890_row3_col5\" class=\"data row3 col5\" >9.100000</td>\n",
" <td id=\"T_2d890_row3_col6\" class=\"data row3 col6\" >7.320000</td>\n",
" <td id=\"T_2d890_row3_col7\" class=\"data row3 col7\" >2.610000</td>\n",
" <td id=\"T_2d890_row3_col8\" class=\"data row3 col8\" >1915.600000</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_2d890_level0_row4\" class=\"row_heading level0 row4\" >4</th>\n",
" <td id=\"T_2d890_row4_col0\" class=\"data row4 col0\" >BGE-m3</td>\n",
" <td id=\"T_2d890_row4_col1\" class=\"data row4 col1\" >100</td>\n",
" <td id=\"T_2d890_row4_col2\" class=\"data row4 col2\" >1024</td>\n",
" <td id=\"T_2d890_row4_col3\" class=\"data row4 col3\" >110</td>\n",
" <td id=\"T_2d890_row4_col4\" class=\"data row4 col4\" >0</td>\n",
" <td id=\"T_2d890_row4_col5\" class=\"data row4 col5\" >0.500000</td>\n",
" <td id=\"T_2d890_row4_col6\" class=\"data row4 col6\" >0.390000</td>\n",
" <td id=\"T_2d890_row4_col7\" class=\"data row4 col7\" >0.520000</td>\n",
" <td id=\"T_2d890_row4_col8\" class=\"data row4 col8\" >192.500000</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_2d890_level0_row5\" class=\"row_heading level0 row5\" >5</th>\n",
" <td id=\"T_2d890_row5_col0\" class=\"data row5 col0\" >BGE-m3</td>\n",
" <td id=\"T_2d890_row5_col1\" class=\"data row5 col1\" >500</td>\n",
" <td id=\"T_2d890_row5_col2\" class=\"data row5 col2\" >1024</td>\n",
" <td id=\"T_2d890_row5_col3\" class=\"data row5 col3\" >110</td>\n",
" <td id=\"T_2d890_row5_col4\" class=\"data row5 col4\" >0</td>\n",
" <td id=\"T_2d890_row5_col5\" class=\"data row5 col5\" >2.200000</td>\n",
" <td id=\"T_2d890_row5_col6\" class=\"data row5 col6\" >1.950000</td>\n",
" <td id=\"T_2d890_row5_col7\" class=\"data row5 col7\" >0.997000</td>\n",
" <td id=\"T_2d890_row5_col8\" class=\"data row5 col8\" >501.700000</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_2d890_level0_row6\" class=\"row_heading level0 row6\" >6</th>\n",
" <td id=\"T_2d890_row6_col0\" class=\"data row6 col0\" >BGE-m3</td>\n",
" <td id=\"T_2d890_row6_col1\" class=\"data row6 col1\" >1000</td>\n",
" <td id=\"T_2d890_row6_col2\" class=\"data row6 col2\" >1024</td>\n",
" <td id=\"T_2d890_row6_col3\" class=\"data row6 col3\" >110</td>\n",
" <td id=\"T_2d890_row6_col4\" class=\"data row6 col4\" >0</td>\n",
" <td id=\"T_2d890_row6_col5\" class=\"data row6 col5\" >4.300000</td>\n",
" <td id=\"T_2d890_row6_col6\" class=\"data row6 col6\" >3.910000</td>\n",
" <td id=\"T_2d890_row6_col7\" class=\"data row6 col7\" >1.867000</td>\n",
" <td id=\"T_2d890_row6_col8\" class=\"data row6 col8\" >535.700000</td>\n",
" </tr>\n",
" <tr>\n",
" <th id=\"T_2d890_level0_row7\" class=\"row_heading level0 row7\" >7</th>\n",
" <td id=\"T_2d890_row7_col0\" class=\"data row7 col0\" >BGE-m3</td>\n",
" <td id=\"T_2d890_row7_col1\" class=\"data row7 col1\" >5000</td>\n",
" <td id=\"T_2d890_row7_col2\" class=\"data row7 col2\" >1024</td>\n",
" <td id=\"T_2d890_row7_col3\" class=\"data row7 col3\" >110</td>\n",
" <td id=\"T_2d890_row7_col4\" class=\"data row7 col4\" >24</td>\n",
" <td id=\"T_2d890_row7_col5\" class=\"data row7 col5\" >21.300000</td>\n",
" <td id=\"T_2d890_row7_col6\" class=\"data row7 col6\" >19.530000</td>\n",
" <td id=\"T_2d890_row7_col7\" class=\"data row7 col7\" >9.011000</td>\n",
" <td id=\"T_2d890_row7_col8\" class=\"data row7 col8\" >554.900000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n"
],
"text/plain": [
"<pandas.io.formats.style.Styler at 0x7fb9335216a0>"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df = pd.DataFrame(all_results)\n",
"display_cols = ['model', 'corpus_size', 'dim', 'ram_model_mb', 'ram_delta_encode_mb',\n",
" 'tracemalloc_peak_mb', 'emb_size_mb', 'encode_time_s', 'docs_per_sec']\n",
"df_display = df[display_cols].copy()\n",
"df_display.columns = ['Modelo', 'Docs', 'Dim', 'RAM modelo (MB)', 'RAM delta encode (MB)',\n",
" 'Peak tracemalloc (MB)', 'Embeddings (MB)', 'Tiempo (s)', 'Docs/s']\n",
"df_display.style.background_gradient(subset=['RAM modelo (MB)', 'RAM delta encode (MB)'], cmap='Reds') .background_gradient(subset=['Docs/s'], cmap='Greens')"
]
},
{
"cell_type": "markdown",
"id": "0265a6ae",
"metadata": {},
"source": [
"## 5. Visualizaciones"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "bf8954d8",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABv0AAAJOCAYAAACUQctNAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs3XdYU9f/B/B3EsLeS8W9AlVBcKMo1Wq1dbRq68ZRt1+3/bWOtmqdtdZR97aOOlrFra3bukedFcW6EQegzDBCcn9/ILdGhkEJl5D363l85Nx7c+7nJJCc3M8958gEQRBARERERERERERERERERCZLLnUARERERERERERERERERPRumPQjIiIiIiIiIiIiIiIiMnFM+hERERERERERERERERGZOCb9iIiIiIiIiIiIiIiIiEwck35EREREREREREREREREJo5JPyIiIiIiIiIiIiIiIiITx6QfERERERERERERERERkYlj0o+IiIiIiIiIiIiIiIjIxDHpR0RERERERERERERERGTimPQjysHo0aPRpEkTqcMAULhiKQz4fJimiIgIeHt7Y+vWreK2efPmwdvbW8KoiIiIcuft7Y158+YZpe7sPhtzYoz+z7u07cyZM/D29saZM2fyNSZTk93zwL4qEREZgzH7JOYuJCQEISEhUoeRr0y1P5LZP16xYoXRz7V161Z4e3sjIiLijcc2adIEo0ePFsvsC1NhxqQfmZ3MN/TMf76+vmjevDm+//57REdHSx1egchMtGT+q1q1Kpo0aYLJkycjPj4+x8fNmDED3t7eGD58eLb7Mz+Yvb29sXDhwmyPGTVqFLy9vREQEJAfTSnUkpOTMW/ePHYAiIiICsCAAQNQvXp1JCYm5njMqFGjUK1aNbx48aIAIyMiIiLK3fr16+Ht7Y3PP/9c6lDISP7++2/Mmzcv1+tuRET5wULqAIikMnToUJQqVQppaWm4cOECNmzYgKNHj2LXrl2wsbHBpEmTIAiC1GEa1YQJE2Bra4vk5GScOnUKa9euxT///IMNGzZkOVYQBOzevRslS5bE4cOHkZiYCHt7+2zrtbKywu7duzFo0CC97Wq1GocOHYKVlZVR2lPYJCcnY/78+Rg8eDDq1q0rdTiF0sCBA9GvXz+pwyAioiKgTZs2OHz4MA4cOIBPP/00y/7k5GQcOnQIQUFBcHFxKfgA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/PTTTyhXrhymTZuGbdu25Xm6WCIiKrx27NgBKysrNGjQINv9crkc77//Pnbu3IkXL17ka8IhU7t27RAdHY1Nmzbh+PHjqFSpEn788Ufs27cvyzUXQ66H9evXD+XKlcPq1auxYMECABlr3zVo0CDH5GZ+xZffjNEv8fPzw7Bhw7Bx40b89ddf0Ol0OHjwIGxtbU3iWuK7XsfKq08//RRyuRy//PILYmJi4Ofnh2+//Raenp55jsnT0xNr1qzB5MmTsXTpUjg7O6NTp07w9PTEuHHj9M47fPhwWFpaYuPGjThz5gz8/PywcuVK9O/fP9/aZmdnh19++QWTJ0/GmjVrYGtri08//RQBAQEYMmSImPzz9vZGUFAQDh8+jKdPn8LGxgbe3t5YtmwZ/P398y0eKnpkAlcNJyKiImTQoEH4999/8eeff0odChEREVG++OSTT+Dq6ipO9UVERERERcvq1asxbdo0HDt2LNebBInehGv6ERGRyUpJSdEr37t3D8eOHXvrKWWJiIiIpKTRaLKs3XLmzBncuHGD/RsiIiKiIuL161mpqanYtGkTypUrx4QfvTNO70lERCaradOmaNu2LUqXLo1Hjx5h48aNUCqV+TrNFhEREVFBefr0KXr16oU2bdrA09MTd+7cwcaNG+Hh4YFOnTpJHR4RERER5YPBgweLSyolJiZix44duHPnDmbOnCl1aFQEMOlHREQmq2HDhti9ezeioqJgaWkJf39/jBw5EuXKlZM6NCIiIqI8c3JyQtWqVfHbb7/h+fPnsLW1RXBwML788kujrOdERERERAUvKCgIv//+O3bu3AmtVotKlSph9uzZ+Pjjj6UOjYoArulHREREVEgsWbIEf/75J+7cuQNra2sEBATgyy+/RIUKFcRjUlNTMX36dOzZswdpaWkICgrC+PHj4e7uLh4TGRmJCRMm4MyZM+Ki4KNGjYKFxX/3e505cwbTp0/HrVu3UKJECQwcOBDt2rUr0PYSEREREREREVH+4Zp+RERERIXE2bNn0bVrV2zevBmrVq1Ceno6evfuDbVaLR4zdepUHD58GHPmzMHatWvx7NkzDB48WNyv1WrRv39/aDQabNy4EdOnT0doaCh+/vln8ZiHDx+if//+qFu3LrZv344ePXrgm2++wV9//VWg7SUiIiIiIiIiovzDkX5EREREhdTz588RGBiIdevWoXbt2khISEBgYCBmzpyJFi1aAABu376Njz/+GJs2bYK/vz+OHj2KAQMG4K+//hJH/23YsAEzZ87EqVOnYGlpiR9//BFHjx7Frl27xHONGDEC8fHxWLFihSRtJSIiIiIiIiKid1Ok1vRLT09HXFwcrKysIJdzECMRERHlTKfTITU1FU5OTnrTXhYmCQkJADLWeAKAa9euQaPRoH79+uIxFStWhJeXFy5dugR/f39cunQJKpVKb7rPoKAgTJgwAf/++y+qVKmCS5cuITAwUO9cQUFBmDp1arZxsI9FREREhjKFPlZhwT4WERERGcrQPlaR6n3FxcXh3r17UodBREREJqRcuXJwc3OTOowsdDodpk6diho1akClUgEAoqOjoVQq4ejoqHesm5sboqKixGNeTfgBEMtvOiYxMREpKSmwtrbW28c+FhEREeVVYe1jFSbsYxEREVFevamPVaSSflZWVgAyGm1jY5Pv9Wu1WoSHh0OlUkGhUOR7/UREfJ8hKjjJycm4d++e2H8obCZOnIhbt27h119/lTqUQvscERERUeHF/sObGfs6lrGZ6/dXc2w322webQbMs91ss3m0GTD9dht6HatIJf0yp0KwsbGBra1tvtev1WoBALa2tib5S0FEhR/fZ4gKXmGcSun777/HkSNHsG7dOhQvXlzc7u7uDo1Gg/j4eL3RfjExMfDw8BCPuXLlil590dHRAKB3TOa2V4+xt7fPMsoP+O85UqlURutjXb16Fb6+vnzvI6J8x/cYooKlVqsRHh5eKPtYhY2xr2MZm7l+fzXHdrPN5tFmwDzbzTabR5uBotPuN/WxilTSj4iIiMiUCYKASZMmYf/+/Vi7di1Kly6tt79atWpQKpU4deoUmjdvDgC4c+cOIiMj4e/vDwDw9/fH4sWLERMTI073cPLkSdjb26NSpUriMceOHdOr++TJk2IdOVEoFEbtGBu7fiIyb3yPISoY/DsjIiIikg5vuyIiIiIqJCZOnIgdO3bgp59+gp2dHaKiohAVFYWUlBQAgIODA9q3b4/p06fj9OnTuHbtGsaOHYuAgAAxYRcUFIRKlSrhq6++wo0bN/DXX39hzpw56Nq1KywtLQEAnTp1wsOHDzFjxgzcvn0b69evx969e9GzZ0+JWk5ERERERERERO+KI/2IiIiICokNGzYAAEJCQvS2T5s2De3atQMAjB07FnK5HEOHDkVaWhqCgoIwfvx48ViFQoHFixdjwoQJ6NixI2xsbNC2bVsMHTpUPKZ06dJYsmQJpk2bhjVr1qB48eKYPHkyGjZsWACtJCIiIiIiIiIiY2DSj4iIiKiQuHnz5huPsbKywvjx4/USfa8rWbIkli1blms9devWxbZt2/IaIhERERERERERFVKc3pOIiIiIiIiIiMzGkiVL0L59ewQEBCAwMBCDBg3CnTt39I5JTU3FxIkTUbduXQQEBGDIkCGIjo7OtV5BEDB37lwEBQXBz88PPXv2xL1794zYEiIiIiJ9TPoREREREREREZHZOHv2LLp27YrNmzdj1apVSE9PR+/evaFWq8Vjpk6disOHD2POnDlYu3Ytnj17hsGDB+da77Jly7B27VpMmDABmzdvho2NDXr37o3U1FRjN4mIiIgIAJN+RERERERERERkRlasWIF27dqhcuXK8PHxwfTp0xEZGYl//vkHAJCQkIAtW7Zg9OjRCAwMRLVq1TB16lRcvHgRly5dyrZOQRCwZs0aDBw4EE2bNoWPjw9mzJiBZ8+e4cCBAwXYOiIiIjJnXNOPiIiIiIiIiIjMVkJCAgDAyckJAHDt2jVoNBrUr19fPKZixYrw8vLCpUuX4O/vn6WOiIgIREVF6T3GwcEB1atXx8WLF9GyZcscz6/VaqHVavOpNQUnM2ZTjP1dmGO72WbzYY7tZpvNh6m329C4mfQjIiIiIiIiIiKzpNPpMHXqVNSoUQMqlQoAEB0dDaVSCUdHR71j3dzcEBUVlW09mdvd3NyyPOZNawGGh4e/bfiFwtWrV6UOQRLm2G622XyYY7vZZvNR1NvNpB8RERERFbgnCRrEpry8y06nw4MkOayjU6GQZz/7vLO1AsUdlAUZIhEREZmBiRMn4tatW/j1118li0GlUsHW1lay878trVaLq1evwtfXFwqFQupwCow5tpttNo82A+bZbrbZPNoMmH671Wq1QTcKMemXB6npOpyOUWLjgaeIT9XByVqB98vZ4YMK9rCyMK3lEefNm4cDBw5g+/btOR4TERGBDz74ANu2bcN7771XgNFJx9vbGwsWLEDTpk3Nsv1EREQF4UmCBu03PUCaVnhlqwMQFpnjYywVMmzpWKbQJ/7Yx8oe+1hERFQYff/99zhy5AjWrVuH4sWLi9vd3d2h0WgQHx+vN9ovJiYGHh4e2daVuT0mJgaenp56j/Hx8ck1DoVCYZIXHzOZevxvyxzbzTabD3NsN9tsPky13YbGzKSfgY7eS8LEw0+RkGYLOdTQAZADOHw3CTNPRGNC42JoVM5O6jDf2ujRoxEfH4+FCxeK20qUKIHjx4/DxcXlnesODQ3V2xYUFIQVK1a8U71ERERkmmJTtK8l/N4sTSsgNkVb6JN+r2Mfi4iIpPTqyHpDmMvIekEQMGnSJOzfvx9r165F6dKl9fZXq1YNSqUSp06dQvPmzQEAd+7cQWRkZLbr+QFAqVKl4OHhgVOnTok3tSQmJuLy5cvo3LmzUdtDRERElIlJPwMcvZeE//vjsVjWvfZ/YpoOX/7xGD82L4FgE078vU6hUOR4B1teNWzYENOmTRPLlpaW+VIvEREVPUJaKlKOH0bK6eMQEuIgc3CCdb0gWAc1hszSSurwiN4Z+1hERFQQsh9ZnztTGVn/riZOnIhdu3Zh4cKFsLOzE9fjc3BwgLW1NRwcHNC+fXtMnz4dTk5OsLe3x+TJkxEQEKCX9GvRogVGjRqFZs2aQSaToXv37li0aBHKli2LUqVKYe7cufD09ETTpk0laikRERGZG9Oak1ICqek6TDz8FACQUzc5c/vEw0+Rmq7L4ai3FxISgkmTJmHKlCmoXbs26tevj82bN0OtVmPMmDEICAhAs2bNcPToUQDA1q1bUatWLb06Dhw4AG9v72zrnzdvHkJDQ3Hw4EF4e3vD29sbZ86cQUREBLy9vREWFpZrfOfPn0eXLl3g5+eH4OBgTJ48GWq1Wu8YS0tLeHh4iP+cnJxyrTMuLg6jRo1CvXr14Ofnhw8//BBbtmwBADGuPXv2iOdt37497t69iytXrqBdu3YICAhAnz598Pz5c7HOK1euoFevXqhbty5q1qyJbt264Z9//sk1DiIiKlgpZ47jWfdPETd7ClJP/4W0a5eQevovxM2egmfdP0XK2RNSh0hFCPtY7GMRERVl7zKyvqjbsGEDEhISEBISgqCgIPHfnj17xGPGjh2L999/H0OHDkW3bt3g7u6OefPm6dVz9+5dJCQkiOW+ffuiW7du+O677/DZZ59BrVZj+fLlsLLijWtERERUMJj0e4ODdxKRkKbLMeGXSQCQkKbDwTtJRokjNDQULi4u+O2339CtWzdMmDABw4YNQ0BAAEJDQ9GgQQN89dVXSE5OznPdX3zxBT766CM0bNgQx48fx/HjxxEQEGDQYx88eIC+ffviww8/xI4dOzB79mxcuHABkyZN0jvu7NmzCAwMRPPmzTF+/Hi8ePEi13rnzp2L27dvY9myZdizZw8mTJiQZQqsefPmYeDAgQgNDYWFhQVGjRqFH3/8EePGjcP69evx4MEDzJ07Vzw+KSkJn376KX799Vds3rwZZcuWRb9+/ZCYmGjgM0VERMaUcuY4YqeMhaB++Vkq6PT+F9RJiJ08BilnjksUIRVF7GOxj0VERObn5s2b2f5r166deIyVlRXGjx+Ps2fP4tKlS5g/f36WkfqvP0Ymk2HYsGE4ceIErl69itWrV6N8+fIF1i4iIiIis5/e88DtRCw5HwO1JvsRenF5vMNt6rGnWHA2Osf9tko5BtR2wwcV7PNUr4+PDwYNGgQA6N+/P5YtWwYXFxd06NABAPC///0PGzZswM2bN/NULwDY2dnB2toaaWlpeZ5qasmSJWjdujV69uwJAChXrhzGjRuHkJAQTJgwAVZWVmjYsCGaNWuGUqVK4eHDh5g1axb69u2LTZs25bj4ZGRkJN577z34+voCyJgb/3VffPEFGjZsCADo3r07Ro4cidWrV6NmzZoAgM8++wxbt24Vjw8MDNR7/KRJk1CrVi2cO3cOjRs3zlO7iYgofwlpqYibPeVlIYdbbQQBkMkQN2cqrH4J5VSfhdib+leaPI46yDR0TySUClm2+9jHYh+LiIiIiIiIyNyZfdJv7eUXuBerybf6UrXAs6TcEoVarL38Is8XpF6dNkqhUMDZ2RkqlUrc5u7uDgCIiYnJU7150bJlS0RGRgIAatasieXLl+PGjRu4efMmdu7cKR4nCAJ0Oh0iIiJQsWJFtGzZUq8d3t7eaNq0qXhnep8+fXDhwgUAgJeXF3bv3o3OnTtj6NChuH79Oho0aICmTZuiRo0aevG8+py4ubllu+3Vqaeio6MxZ84cnD17FjExMdDpdEhOThbbRERE0kk5fhhCkgGjggQBQmICUk4cgU3j5sYPjN5KfvevMr1IyW0adfax2MciIiIiIiIiMm9mn/Tr7u+CxedyH+mXmofBflYKwMk6+zurgYy70EOqu+S4PycWFvovlUwm09smk2Xc9S4IAuRyOYTXRkloNO9+4W3p0qVIT08HAFhbWwMA1Go1OnXqhJCQkCzHlyhRItt6SpcuDRcXF9y/fx+BgYGYMmUKUlJSAPzXzuDgYBw+fBhHjx7FiRMn0LNnT3Tt2hVff/21WI9S+d/C4pntf/050en+e12//vprxMbGYty4cfDy8oKlpSU6duyYL88NERG9m5TTxwGZ/L8pPXMjkyPl1F9M+hVib+pfabTCGxJ42XOxluc60o99LPaxiIjMVUq6Do8T0vEoXoPIBA0exWtwMzpV6rCIiIiIqICZfdLvgwr2ud4Rvic8HuMPPzO4vrGNiuFjlUN+hPbWXFxckJSUBLVaDVtbWwDAjRs3cn2MUqnUu3iTnZIlS2bZVqVKFfz7778oW7aswfE9efIEsbGx4jRXxYoVy/Y4V1dXtG3bFm3btsXGjRsxY8YMvQtSefX3339j/PjxCA4OBgA8fvz4jeveEBFRwRAS4gxL+AGAoIOQEG/cgOidvKl/dSMqBSFbI/Jc788fe8HHw/pdQnsn7GNlj30sIiLj0+oERKnT8Sg+XUzqRb6S5ItW521pEiIiIiIqmsw+6fcmH1Swx8wT0UhM0yG31WdkAOwt5figgl1BhZaj6tWrw8bGBrNmzUL37t1x+fJlvXVXslOyZEkcP34cd+7cgbOzMxwcDEtc9u3bFx07dsT333+Pzz//HDY2Nvj3339x8uRJfPfdd0hKSsL8+fPRvHlzuLu74+HDh/jxxx9RtmxZca2Y7MydOxdVq1ZF5cqVkZaWhiNHjqBixYp5eh5eV65cOezYsQO+vr5ITEzEjBkzxLvpiYhIWjIHpzyN9JM5OBo/KKLXsI+VPfaxiIjyR3yqNksyL7McmaBBet4HyRMRERGZjOgRfYx7AkGAhzoZL2xtAFn2swi9K/fZy41Sb14w6fcGVhZyTGhcDF/+8RgyINvEX+avx4TGxWBlIS/A6LLn7OyMH3/8ETNmzMBvv/2GwMBADBkyBN9++22Oj+nQoQPOnj2L9u3bQ61WY82aNdnedf46Hx8frF27FnPmzEGXLl0AZEwt9fHHHwPIWBsnPDwc27ZtQ0JCAjw9PdGgQQMMGzYMlpaWOdarVCoxa9YsPHr0CNbW1qhZsyZmzZqVx2dC35QpU/Dtt9+ibdu2KFGiBEaMGIEZM2a8U51ERJQ/rOsFIfXUUcMOFnSwDsw5qUFkLOxjZY99LCIiw6Sm6/A4MR2R8Ro8Ssj8/78kX2La22X1XG0UKOmohJeDBUo6KlHSQYmSjhZI1ugwYt+TfG4FERERERVmMuH1hUlMmFqtRlhYGN577z1xyqX8cvReEiYefoqENB3kAHSA+L+DZUZisFE56Uf5EZFp02q1uHTpEvz9/aFQ5Lw+KFFRI6Sl4ln3TyEkJeZ+oEwGmZ09PH8JhczS6p3Oacx+Q1GT38/V207vubZdKUmn9yQi08T+FRUUnSAgWq39L5kXn/7y/4xyVJI21xmEcmKrlMHLQSkm9l7/2UaZ/c3HUn3eso9lOFN/rsz1/dUc2802m0ebAfNsN9tceNpcECP91Opk2JroSD9D+w0c6Weg4HJ22NWlNFYfDcNdwR3xqTo4WSvwfjl7fFDBrlCM8CMiIjJVMksrOA4Yibifvs/loIwOmdOIce+c8CNpOVsrYKmQIU1r+KVPS4UMztaF58sIERGZp8RULR7pTb/5co29BA0eJ6Tn6bMtk0IGFLO3eJnIyxilV1JM7CnhbC2HzEgXpoiIiIioaGHSLw+sLOSo66ZBf/9ihSoDTkREVBRowq7qb8hc4+/l/zI7eziNGAfrOg2kCZDyTXEHJbZ0LIPYFC0AQKvTIfzmTai8vaGQZ38jlbO1AsUdlAUZJhERmSGNVsDjxKyj9DLL8alvNwWni7UCJR31R+llJvWK2VvAQs6kHhERERG9Oyb9iIiISHKa2+FQ79ueUbCyhkP3fki7dhlCQjxkDo6wDmwI6wbvc4RfEVLcQSkm8bRaLVIidPBxt+KNVUREZFSCICBGrcWjV0fpZY7aS0hHVFI6dG8xB6eVhQwlHfSTeRnr61nAy1EJ2xym4DQmjqwnIiIiMj9M+hEREZGkBJ0O8YtnA7qMO+ftO/eEXZvPYdfmc4kjIyIiIlOUlKZ7JZn36lScGkQmpiM1Pe9ZPbkMKGaXkcDLTOS9muRztVEUuik4Xx9ZbwiOrCciIiIybUz6ERERkaRSDv8BzY1rAABFyTKwa9NB4oiIiIioMEvXCniS9Foy75XkXmzK203B6WQtzxih56CE1yvr6pV0UKK4vQUsFIUrqWeIV0fWExEREVHRx6QfERERSUaXlIiE1YvEsmO/YZApeWGKiIjInAmCgBcp2tem3/wvqfc0MR15mLFSZKWQoYTe9JuvrrGnhL1lwU/BSURERESUn5j0IyIiIskk/roSutgXAACrwGBY1agjcURERERUEJI1OjxK0CAyPv3l/5qM/18m91LeYgpOGQBPe4uMKTcdlOJUnJlJPTdbBeSFbApOIiIiIqL8xKQfERERSUJz7zbUu7ZmFCyt4NhnsLQBERERUb5J1wl4Jk7Bmf5fUi9eg0cJ6XiebPg6c69ytJJnM0ovI7FX3F4JSxOcgpOIiIiIKL8w6UdEREQFThAExC+eDegyLvjZdwiBwrO4xFFRQdI+ewpdfGzGzzodlJEPoXGwhU6e/dRqckdnKDyLFWCERESUG0EQEJeSMVrvkZjQezlqL0GDJ4np0L7F0npKOVDitWReyVfKDlaK/G8MEREREVERwaRfHghpqbC5fA5x+7YCifGQOTjBul4QrIMaQ2ZpJXV4REREJiPl2EFo/rkMAFCUKAm7tp0kjogKkvbZU0QN6AJo0sRtngBic3uQ0hIei39l4o+IqAClaHSITMw6Si+zrNa8xcJ6ADxsFTmuq+dhxyk4iYiIiIjeFpN+Bko5cxxxs6fANSkRaTIZIAiATI7UU0cRv3QunEZ+A+s6DYxy7tGjRyM0NFQsOzs7o1q1avi///s/+Pj4AMi4y/K3337Dli1bcOvWLQiCAC8vLwQGBiIkJARly5YFAMybNw/z58/Pco7y5ctj3759+Rr3+fPnMXPmTNy9exfJycnw8vJCp06d0LNnz3w9DxERmRadWo2ElQvEskPfobx5xszo4mP1En4G0aRBFx+br0k/9rGIyNxpdQKiktLxKCFzGk6NOB3nowQNYtRvNwWnnaUcJR2yTr9Z0kGJEg4WsLLIflQ3ERERERG9Gyb9DJBy5jhip4z9b4Pw8m5GIWOuEkGdhNjJY+A8biqs6wYZJYaGDRti2rRpAIDo6GjMmTMHAwYMwJEjRyAIAkaNGoUDBw6gf//+GDNmDDw9PfHs2TPs378fixYtwvTp08W6KleujFWrVunVr1Dk/xQptra26NatG7y9vWFjY4MLFy5g/PjxsLGxQceOHfP9fEREZBqSNq2G7nk0AMCqTgNY164vcURkztjHIqKiTBAExKfqXibz0l9J6mWUHydqkP4WU3BayIES9kp4OVqgpIMSXi8TepllRys5ZBytR0RERERU4Jj0ewMhLRVxs6e8LOQwdYkgADIZ4uZMhdUvoUYZrWBpaQkPDw8AgIeHB/r27YuuXbvi+fPnOHXqFHbv3o2FCxfigw8+EB/j5eUFf39/CK/FrVAoxLoM5e3tjYkTJ+Lw4cM4ffo0vLy8MHXqVLi6uuKbb77B1atX4ePjgxkzZqBMmTIAgCpVqqBKlSpiHaVKlcL+/ftx/vx5XpAiIjJT6Q/vIWn75oyC0hIOfYdKGxCZPfaxiMjUpabr8Dgx/b8Req+N2EtMe4usHgA3W0VGIu/lKL3MUXslHSzgYWcBhZxJPSIiIiKiwoZJvzdIOX4YQlLimw8UBAiJCUg5cQQ2jZsbNaakpCTs2LEDZcuWhbOzM3bt2oXy5cvrXYx6VX7dYblw4UKMHj0ao0ePxsyZMzFq1CiULl0a/fr1g5eXF8aOHYvvv/8ey5cvz/bx169fx8WLFzF8+PB8iYeIiEyLIAiIXzoX0GZMFWbXvgssintJHBXRf9jHIqLCSCcIiErSZhmll1mOesspOG2VsldG6Vm8MlpPCS97C1grOQUnEREREZGpMfukX8rxw0hYvwJCsjrb/bqEuDzVFzd/BhJ+WZLjfpmNLRy69YZ1g8Z5qvfIkSMICAgAAKjVanh4eGDJkiWQy+W4d+8eypcvr3f8lClT8PvvvwMAHBwccOzYMXFfeHi4WFem1q1b4/vvv881hnbt2uHjjz8GAPTt2xcdO3bEoEGD0LBhQwBA9+7dMWbMmCyPa9SoEZ4/fw6tVovBgwfj888/z1PbiYioaEg9eQRpl84DAOSexWHfvqvEEZGxvKl/JaRr3qre5xO+hMxCme0+9rHYxyIyZQmpWnGU3qNX19WL1+BJYjrStDnMOpMLhQwonrmu3itTb2auredkzSk4iYiIiIiKGrNP+iVt3QBtxP38qzAtDbqYqDeeM68XpOrWrYsJEyYAAOLi4rBhwwb07dsXv/32W7bHDxw4EN26dcOff/6JJUv0k5Dly5fHokWL9LbZ29sDABYvXqx3/O7du+HllTEKw9vbW9zu5uYGAFCpVHrbUlNTkZiYKNYHAOvXr4darcbly5fx008/oWzZsmjVqlWe2k9ERKZNl5KM+OXzxbJjnyGQWVtLGBEZU773r14S4mKR22Vv9rHYxyJ6kqBBbIr+yDetTocHSXJYR6dCIdcfveZsrUBxh+xvJshPGq2Ax4mabKbgzBixF5/6dlNwutoosky/mVn2tLOABafgJCIiIiIyK2af9LNr3xkJ694w0i8tzfAKLS0hd3DKcbfMxhZ27TrnNUzY2NigbNmyYrlq1aqoVasWNm/ejLJly+Lu3bt6x7u6usLV1VW8cPQqpVKpV9erOnXqhI8++kgse3p66j1ObMfLO0Kz26bT6X9hLV26NICMC1rR0dGYN28eL0gREZmZpM1roYt+BgCwrFEHVvUaShwRGdOb+ldCugZCXGye65U5Oec60o99LPaxyLw9SdCg/aYHOYyKcwDCIrNstVTIsKVjmXdO/AmCgBi19uUovXQ8StAg8uWovciEdDxLTM/1poWcWFvIXibzLF5J6v1XtuUUnERERERE9ApJk35LlizBn3/+iTt37sDa2hoBAQH48ssvUaFCBfGY1NRUTJ8+HXv27EFaWhqCgoIwfvx4uLu750sM1g0a53pHePKhfYibPcXg+pwGf2X0Nf2AjIs/MpkMqampaNWqFUaNGoUDBw6gadOm71Svs7MznJ2d8yfIbOh0Omg0bzelFxERmab0yIdICt2YUbCwgGO/YZxOrIh7U/9K8+9NxIzok+d6XSfMhLKS95sPfAfsYxGZrtgUbZ6nwUzTCohN0RqU9EtM0yHy1WTeK8m9yIR0pL7FFJxyGVDMzkJvhN6rI/ZcbRT8zCQiIiIiIoNJmvQ7e/YsunbtCl9fX2i1WsyaNQu9e/fG7t27YWtrCwCYOnUqjh49ijlz5sDBwQGTJk3C4MGDsXHjxgKJ0TqoMeKXzoWgTgKEXL7EyWSQ2dnDusH7RokjLS0NUVEZ04bGx8dj3bp1UKvVaNy4MerUqYM///wTI0eORL9+/dCwYUO4ubkhMjISe/bsgUKh0KtLq9WKdf0XvizfEqmZ1q9fjxIlSohJ3HPnzmHlypUICQnJ1/MQEVHhJQgC4pf+DLxcw83u046wKFlG4qiI/sM+Fkktu+koc1NQ01Gao3StgCeJ6a+sqfff9JuPEjSIS3m7KTidreXwclBmGbFX0kGJ4vYWsFAwqUdERERERPlD0qTfihUr9MrTp09HYGAg/vnnH9SuXRsJCQnYsmULZs6cicDAQAAZScCPP/4Yly5dgr+/v9FjlFlawWnkN4idPAaQybJP/L2889JpxDjILK2MEsdff/2FoKAgAICdnR0qVKiAuXPnom7dugCAOXPmYPPmzdi6dStWrFgBjUaD4sWLIzAwEGPGjNGr69atW2JdmSwtLXH16tV8jVmn02HWrFmIiIiAQqFAmTJl8OWXX6JTp075eh4iIiq8Us+eQNqF0wAAubsn7Dr2kDgiIn3sY5GUcp+OMnv5NR0l/WfqsSjEpmjxNCkdureYg9NKIctxXT0vByXsLDkFJxERERERFYxCtaZfQkICAMDJKWNNvGvXrkGj0aB+/friMRUrVoSXl1euST+tVgut1vC7Zd9EWbMeHMdMRsLcaRCSEv9L/r38X2ZrB4dhY6GsWS9fz5tpypQpmDIl+ylGXz3f559/js8//zzX4wYNGoRBgwa9sa7XXb9+Xe+YEiVKZNlWq1YtvW1dunRBly5dstQlCIJRnieioiDzb4N/I1QUCKmpiF86Vyzb9RwIQWlZaH6/C0scJJ3p06dj+vTpuR4jl8vRqVOnNybUhgwZgiFDhuQ5hps3b+qVS5UqlWVb3bp19baFhIRwVF8RYezpKIsCQRCQki4gOV0HtUZAikYHtUaH5HQByZqX29Iztj2Me7spbsOiU3PdLwPgaW+Bkg5Z19Ur6aCEmy2n4CQiIiIiosKh0CT9dDodpk6diho1akClUgEAoqOjoVQq4ejoqHesm5tblqmTXhUeHp7/AVraAcPHw+b6ZdjcuAJZshqCjS2SffyQXKU6oFQCly7l/3mJyCzl96gQIik4HNkHx2dPAAAp5SvjkZ0zPysJACB3dAaUloAmzfAHKS0zHkdEhZLuZXJOrdEhRSNAna5DskaHZE1Gwi4zQZecZbvwMon3ctvLhJ5ao0PKy21vMfguzxyt5CjpoITXy0Se18vpN70cLVDcXglLTsFJREREREQmoNAk/SZOnIhbt27h119/fee6VCqVuCZgftJqtbiqVKJSt15Z1nAhIsoPWq0WV69eha+vL99nyKRpnz7G85OHMgoKBUqMHIfSpctJGtPr1Gq1cW4UojdSeBaDx+JfoYuPBQBodTqE37wJlbc3FPLsp8GTOzpD4VmsAKMkKpq0OgHJ6S9HzOkl2l5NwL3cptFBnZ51dJ1+Yu6//03V4tZeqOmV/98fiYiIiIiIClqhSPp9//33OHLkCNatW4fixYuL293d3aHRaBAfH6832i8mJgYeHh451qdQKIx6sdzY9RMR8X2GTF38ygVAWsYoLtvWn8OqXEWJI8qKf2PSUngWE5N4cq0WmgQ1lBVVfF2IDHD2UTJuPU/TT77pjaT7b6Tcq9NfJqcLSC3kyTlLhQw2ShlsLeSwVsphq5TBxkIOG/H/V7e9ul2GGLUWP52MzvM57ZRcc4+IiIiIiIoGSZN+giBg0qRJ2L9/P9auXYvSpUvr7a9WrRqUSiVOnTqF5s2bAwDu3LmDyMjIHNfzIyIiImmlnj+N1DPHAQByF1fYd+4pbUBEREXMvDMxUocAKwsZbCxksFXKYW3xMhGnlOsl6GyVspeJOzlsLGQvE3ZyWL983Ks/21hkHGshf/tpNG9EpeRjC4mIiIiIiEyPpEm/iRMnYteuXVi4cCHs7OzEdfocHBxgbW0NBwcHtG/fHtOnT4eTkxPs7e0xefJkBAQEMOlHRERUCAmaNMQvnSuWHb74H+S2dhJGRERk3qzFxJwsx+SbtVIO25fbbXIYXZc5+s7m5eMU75CcIyIiIiIiIuOQNOm3YcMGAEBISIje9mnTpqFdu3YAgLFjx0Iul2Po0KFIS0tDUFAQxo8fX+CxEhER0ZslhW6E9nEEAEBZtTqsg5tJHBERUdHTydcJZZ0ss46uU8pfTov5X6JPLmNyjoiIiIiIyFxImvS7efPmG4+xsrLC+PHjmegjIiIq5LTPniJx05qMglwBx/7DIePFZiKifNeysgN8PKylDoOIiIiIiIgKGa5YTkRERPkifuV8IC0VAGDbsi2U5StJHBEREZkTZ2sFLBV5u9nEUiGDs7XCSBEREREREREVLElH+hEREVHRkHrpPFJPHAEAyJ1dYN/lC2kDIiIis1PcQYktHcsgNkWrt12r0yH85k2ovL2hkOvf9+psrUBxB2VBhklERERERGQ0TPoRERHROxE0GsQvmSOW7XsMgNzeQbqAiIjIbBV3UGZJ4mm1WqRE6ODjbgWFgqP6iIiIiIio6OL0nkRERPRO1Dt/hzbiPgBA6V0VNk1aSByR6Tp37hwGDBiAoKAgeHt748CBA3r7vb29s/23fPly8ZgmTZpk2b906VK9em7cuIEuXbrA19cXwcHBWLZsWYG0j4j0OVsrkMfZKDkdJREREREREeWII/2IiIjorWljopG4cVVGQSaD44ARkMl5T9HbUqvV8Pb2Rvv27TF48OAs+48fP65XPnbsGMaNG4fmzZvrbR86dCg6dOgglu3s7MSfExMT0bt3bwQGBmLixIkIDw/H2LFj4ejoiI4dO+Zzi4goNwq5DBZyQKsFZACmNC2G0o65TzXJ6SiJiIiIiIgoJ0z6ERER0VtLWLUQQnIyAMCmRRsoK3lLHJFpCw4ORnBwcI77PTw89MoHDx5E3bp1Ubp0ab3tdnZ2WY7NtGPHDmg0GkydOhWWlpaoXLkywsLCsGrVKib9iArYgrMxSH25/NxnVZ3QrCKnRiYiIiIiIqK3x6QfERERvZW0qxeRcnQ/AEDm4ASHkH4SR2ReoqOjcfToUUyfPj3LvmXLlmHRokUoUaIEWrVqhZ49e8LCIqPbd+nSJdSqVQuWlpbi8UFBQVi2bBni4uLg5OSU4zm1Wi20Wm2+tyWzTmPUTVRYXXuWgt3hCQAARys5+gQ48W/ASPgeQ1Sw+LdGREREJB0m/YiIiCjPBG064pfMEcsO3ftB7uAoXUBmKDQ0FHZ2dvjwww/1toeEhKBKlSpwcnLCxYsXMWvWLERFRWHMmDEAMpKFpUqV0nuMu7u7uC+3pF94eHg+t0Lf1atXjVo/UWGhE4Afb9gh8+vYR55JuHuDv//GxvcYIiIiIiIq6pj0IyIiojxT7w5F+v07AACLSj6wadZS4ojMz5YtW9C6dWtYWVnpbe/Vq5f4s4+PD5RKJcaPH49Ro0bpje57GyqVCra2tu9UR3a0Wi2uXr0KX19fKBSKfK+fqLDZeysRd5OiAADlnJUY0qwcLOQyiaMquvgeQ1Sw1Gq10W8UIiIiIqLsMelHREREeaJ9EYPE9SvEsuOA4ZDxImqBOn/+PO7evYs5c+a88djq1asjPT0dERERqFChAtzd3REdHa13TGY5c8RfThQKhVEvmBu7fqLCQK3RYeG552J5ZH13WCn5tawg8D2GqGCYyt/ZuXPnsGLFCly7dg1RUVFYsGABmjZtKu739s5+rer/+7//Q58+fbLdN2/ePMyfP19vW/ny5bFv3778C5yIiIgoF/x2SURERHmSsHoxBHUSAMCmWUtYeleVOCLz8/vvv6Nq1arw8fF547FhYWGQy+Vwc3MDAPj7+2POnDnQaDRQKpUAgJMnT6J8+fK5Tu1JRPnjl0svEKXOWO8qqIwtAkvbSRwREZF5UqvV8Pb2Rvv27TF48OAs+48fP65XPnbsGMaNG4fmzZvnWm/lypWxatUqsWwqSVAiIiIqGpj0IyIiIoOlhV1FyqGMO5VldvZw6NFf4oiKlqSkJDx48EAsR0REICwsDE5OTvDy8gIAJCYmYt++ffj666+zPP7ixYu4fPky6tWrBzs7O1y8eBHTpk1DmzZtxIRe69atsWDBAowbNw59+/bFrVu3sGbNGnHNPyIynsgEDdZfjgUAWMiB4YG5j64lIiLjCQ4ORnBwcI77PTw89MoHDx5E3bp1Ubp06VzrVSgUWR5LREREVFCY9CMiIiKDCFot4hfPFsv2IX0hd3KRMKKi59q1a+jevbtYnjZtGgCgbdu2mD59OgBg9+7dEAQBrVq1yvJ4S0tL7NmzB/Pnz0daWhpKlSqFnj176q3z5+DggBUrVuD7779Hu3bt4OLigkGDBqFjx45Gbh0RzTsdg1StAADoWM0ZZZ3fbZ1NIiIqGNHR0Th69KjYH8vN/fv3ERQUBCsrK/j7+2PUqFHizVs50Wq10Gq1+RVugcmM2RRjfxfm2G622XyYY7vZ5kJEEIxb/Sv/y4x0LmM+p4bWzaQfERERGSR53w6k37kFALAoXwm2LdpIHFHRU7duXdy8eTPXYzp27Jhjgq5q1arYvHnzG8/j4+ODX3/99a1iJKK383dkMg7cSQQAuFgr0KcGb5ogIjIVoaGhsLOzw4cffpjrcX5+fpg2bRrKly8vrhPYtWtX7Ny5E/b29jk+Ljw8PL9DLlBXr16VOgRJmGO72WbzYY7tZpul56FOLpDzJBvxPPcvXTJa3YZi0o+IiIjeSBf3Aglrl4plxwEjIFOwG0FEZAitTsBPJ6PE8qA6rrC34hpPRESmYsuWLWjdujWsrKxyPe7V6UJ9fHxQvXp1NG7cGHv37sXnn3+e4+NUKhVsbW3zLd6CotVqcfXqVfj6+prV2oXm2G622TzaDJhnu9nmwtPmF7Y2Rq1fQEbCz8bWBjIjncPf399INWesR2zIjUK8WkdERERvlLBmKYSkjBEq1o2bw7KKn8QRERGZjp034xEekwYAULlZorW3o8QRERGRoc6fP4+7d+9izpw5eX6so6MjypUrp7dmc3YUCkWhuuiaV6Ye/9syx3azzebDHNvNNhcCMmOl4l5W/3JKT5kRz2XM59PQuuVGi4CIiIiKhLTw60jevxsAILOxhUOvgRJHRERkOhJTtVh49rlYHlXfAwq5cb/MEhFR/vn9999RtWpV+Pj45PmxSUlJePjwITw8PIwQGREREVFWTPoRERFRjgSdDgmL54iLKdt3+QIKFzdpgyIiMiHL/36BFykZC643rWCPGl7GnbKGiIgMk5SUhLCwMISFhQEAIiIiEBYWhsjISPGYxMRE7Nu3L8epOXv06IF169aJ5R9++AFnz55FREQE/v77bwwePBhyuRytWrUybmOIiIiIXuL0nkRERJSj5P27obmVcSHEokx52LZqL3FERESm435sGjZdiwUAWClkGFKPN00QERUW165dQ/fu3cXytGnTAABt27bF9OnTAQC7d++GIAg5Ju0ePnyIFy9eiOUnT55g5MiRiI2NhaurK2rWrInNmzfD1dXViC0hIiIi+g+TfkRERJQtXUI8En5ZIpYdBoyAzIJdByIiQ805FY10XcbPXas7w8tBKW1AREQkqlu3Lm7evJnrMR07dkTHjh1z3H/o0CG98uzZs/MlNiIiIqK3xek9iYiIKFuJ65ZDSIgDAFg3+gBWvgESR0REZDpOPUzC8QdqAICnnQI9/V0kjoiIiIiIiIiKOib9iIiIKAvN7XCo920HAMisbeDQa5DEERERmY50rYDZJ6PF8v/quMNGya9eREREREREZFz85klERER6BJ0O8YtnA7qMOensOvWAwt1T4qiIiEzHlrA43I3VAAB8Pa3QorK9xBERERERERGROWDSj4iIiPSkHP4DmhvXAACKkmVg16aDxBEREZmO2BQtlp5/LpZHNfCAXCaTMCIiIiIiIiIyF0z6ERERkUiXlIiE1YvEsmO/YZAplRJGRERkWpaef4741IyR0i1VDqjqaS1xRERERERERGQumPQjIiIiUeKvK6GLfQEAsAoMhlWNOhJHRERkOv59noot1+MAADYWMvyvjpvEEREREREREZE5YdKPiIiIAACae7eh3rU1o2BpBcc+g6UNiIjIhAiCgFkno6ETMsq9AlzgYWchbVBERERERERkVpj0IyIiIgiCgPjFswGdFgBg3yEECs/iEkdFRGQ6jt1PwrlHyQAALwcLdPFzljYgIiIiIiIiMjtM+hERERFSjh2E5p/LAABFiZKwa9tJ4oiIiExHmlbAnFMxYnlYPXdYWfCrFhERERERERUsfhMlIiIyczq1GgkrF4hlh75DIbO0kjAiIiLTsvFqLCLiNQCAml42aFzeTuKIiIiIiIiIyBwx6UdERGTmkjathu55NADAqk4DWNeuL3FERESmI1qdjhV/PwcAyGXAyPrukMlkEkdFRERERERE5ohJPyIiIjOW/vAekrZvzigoLeHQd6i0ARER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xZgbSqqca665Boul+PSHFosFPz8/6tevz6BBg+jatasJ6URKbvrqZOxO19dD2kRQO8zX3EAiIiLHZGVlkZKSUqw/JSWF7OxsExKJiIiIeJdSj/R7/fXXmThxIpMmTcLnpHWSOnToUGyedRERkfKQt/xb7Fs3A2CrXY/gq28wOZFURZdccgn79+8nMDCQLl260KVLF4KCgti3bx+tW7cmMTGRO+64gx9++MHsqCKnteZADj/tcd00jQ6yMax9NZMTiYiInNC/f3/Gjh3Ld999x5EjRzhy5AjffvstTz31FJdeeqnZ8URERERMV+qRfrt37z7laL7Q0FAyMjLKJJSIiEhJObMyyXzvdXc7bPhILL4alSLlLzU1lTvuuIMHHig6tex//vMfDh06xLvvvstrr73Gf/7zH/r162dSSpHTK3QavBKf5G4/2CWKIN9zWg1ARETEIyZOnMhLL73EmDFjKCwsBMBms3Hdddfx+OOPm5xORERExHyl/i0+Ojqaffv2Fetfv349devWLZNQIiIiJZX13zk401IB8O/eE//2F5mcSKqqxYsXc+WVVxbrv+KKK1i8eLH76927d5d3NJESWbQlg12prqn7W1b3Z2CTUJMTiYiIFBUYGMiECRNYs2YNixYtYtGiRaxdu5YJEyYQFBRkdjwRERER05W66HfDDTcwefJkfv/9dywWCwkJCXzxxRe89NJL3HzzzZ7IKCIickr2PX+T89VCV8PPn7C7HjI3kFRp/v7+bNiwoVj/hg0b8Pf3B8AwDPfXIt4kPc/Bm78mu9uju0VjPcUalSIiIt4gMTGRxMREGjRoQFBQEMaxtb1FREREqrpST+9577334nQ6GTZsGLm5udx66634+flx5513ctttt3kio4iISDGGYZDxxjRwOgAIuWEotuqxJqeSquzWW29l/PjxbN68mdatWwOwadMmPv30U4YPHw7AypUrufDCC82MKXJKs9enkJ7vBGBA4xDa1Ag0OZGIiEhxqampjBw5kjVr1mCxWPjuu++oW7cu48aNIzw8nCeffNLsiCIiIiKmKnXRz2KxMGLECO666y727dtHTk4OF1xwAcHBwZ7IJyIickp5P/2A/c/fAbDVrE3woBtNTiRV3f3330+dOnX48MMP+eKLLwBo2LAhzz//PFdddRUAN910k2ZGEK+zK7WAT/9MByDAx8KDXaJN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7lxGjBjh/rz073//m+7du/PDDz9wxRVX8Pfff7NixQo+/fRTWrduDcDTTz/Nvffey+OPP05sbCxffPEFdrudF154AT8/P5o0acKWLVuYM2eOin6V1KaEPBbvyAQg3N/KPR0jTU4kIiJSckuXLvXIcTdv3szQoSfWC58yZQoAgwYN4sUXX+See+4hNzeXZ599loyMDDp27Mjbb7/tftAKYP/+/aSmprrbl19+OSkpKbz22mskJiZy4YUX8vbbb591ek8RERGRslLqot/gwYPZunUrnTt35t577+W+++7jgw8+oLCwkCeffLJUxyqLp9lFRKTyyV+3ivw1KwGwRkYRctMdJicSObtLL72URx99lPr165OWlkaPHj0A2LJlC/Xr1z/v4x84cIDExES6d+/u7gsNDaVt27Zs2LCBK664gg0bNhAWFuYu+AF0794dq9XKH3/8Qf/+/dm4cSOdOnXCz+/ESK+4uDhmz55Neno64eHh551VvIfTMJgan+hu39spkvAAL1qzQURE5Cxq167tkeN26dKFbdu2nXa7xWLhkUce4ZFHHjntPsuWLSvWd+utt7pH/omIiIiUt1IX/U6eI7179+4sXryYP//8k3r16pV60eTzfZpdREQqH8NeQMZbr7nboXc8gDUoyMREIiUzduxYateuzeHDh3nssccIDg4GIDExkVtuueW8j5+Y6CrcREVFFemPiooiKSkJcE0xGhlZdBSXj48P4eHh7tcnJSVRp06dIvscf/o8KSnpjEU/h8NR4lGLpXH8mJ44dlX3zY5M/jyaD0Cjar78q1mIvs9S5eg9RqR8efpnLSEhgfXr15OSkoLT6Syy7eSReyIiIiJVUamKfna7nbvvvpuJEye6p9isXbu2R566KsnT7KejG1IiUlHpfQayP/svjsMHAPBt2RbfuN5V+vshnlNW/19Nnz6dvn370qpVK+66665i209+YKqi2759u0ePv2nTJo8ev6rJc8D0zaGAFYCrYlLZ/EeSuaFETKT3GJGKb+HChTz77LP4+vpSrVq1ItssFouKfiIiIlLllaro5+vre8apD8pSSZ5mPx3dkBKRiq6qvs/Y0lKp/vH7WAHDYuXAJZex5/ffzY4lckZHjhzhnnvuwdfXl969e9O3b1+6du1aZPrMshATEwNAcnIy1atXd/cnJye7Z1uIjo4mJSWlyOsKCwtJ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Nzsy3X21w3yY3LcGLasHmJhMylqfPn04ePBgsf5bbrmF8ePHc9ttt7F27doi22688Uaee+45d/vQoUNMmDCBNWvWEBQUxDXXXMOYMWOKrVUj52/mmiTyCl1F+OtahtOomp/JiURERCqubt26sXXrVt2DEhERETmNEt3ZmTJlyin7IyMjadGiBR999JG7b+zYsWWTTEREypVRWEjmm6+626G334s1NMy8QFJifx7N4+mlCRzIsLv7Lm8SymNxMYT4aWrWyubTTz/F4XC42zt27OCOO+5gwIATa2/ecMMNPPzww+52YGCg+2uHw8Hw4cOJjo5m/vz5HD16lCeeeAJfX19Gjx5dPhdRRfxxJJclO7MA15qa93SMNDmRiIhIxTZp0iSefPJJduzYQZMmTYo9sNS3b1+TkomIiIh4hxIV/f76669T9terV4+srCz3dk1VJCJSceV8vZDCvbsA8GncnMB+V5icSM7G4TSY93sab6xLxuF09QX7WnjikuoMbBJqbjjxmMjIooWjt956i3r16tG5c2d3X0BAADExMad8/cqVK9m5cydz5swhOjqaCy+8kEceeYSXX36ZBx98ED8/jUQrC07DYGp8krs9/KIowgNsJiYSERGp+DZu3Mhvv/3Gzz//XGybxWJhy5YtJqQSERER8R4lKvr9c3FiERGpXBypyWR99K67HTZiFBabbk57s6PZhYxflsC6Q7nuvlbV/Xm+bw3qhPmamEzKU0FBAV988QV33HFHkYevvvzyS7744gtiYmLo3bs3999/v3u038aNG2natCnR0dHu/ePi4pgwYQI7d+6kRYsWpz2fw+EoMsqwrBw/pieObZZvdmTyV2I+ABdU8+XqpsGV6vpEKpLK+B4j4s08+bM2adIkrr76au6///4in2VERERExEULt4iICJnvvYGRkw1AYP8r8Gt6+pv+Yr6f9mTx/I9HSc93De+zAHe0r8Y9HSPxsWnUfVXyww8/kJmZyaBBg9x9V155JbVq1aJ69eps27aNl19+md27dzNz5kwAkpKSit0kO95OTEw84/m2b99exldQ1KZNmzx6/PKS54Dpm0MB1/S6V8WksvmPpDO/SEQ8rrK8x4hUZampqQwbNkwFPxEREZHTOKei36ZNm1i8eDGHDx/GbrcX2Xb8hpKIiFQMBX/9Qd6yJQBYgkMIvX24yYnkdPIKnby6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7/gZTLd8vfDeLW9f0iXnFRGR3C9HF/0CAgKwWCzExsZmuD02NpbChQvf9usqVKhAvnz5bnv/3QoFgstcY+L2C8SlOJx7/KV/zO9pYUyjIjQsfe+PJSICaZ1He/fupVq1algsluxejkiulpCQkGlvFBIREREREREREcluObro5+npSZUqVdi5cyfNmjUDwOFwsHPnTrp27Xrbr7NYLJn2Ynnjsv7UL+XHF0ev8dWxOKJjrxJUyJ/GZfLTtKwvXh45eltEEXFTmfk8JiK3pn9jWc/sfx9YPSE15e6/yOqZ9nUiIiIiIiIiIvKXcnTRD+D5559nxIgRVK1alerVq7Ns2TISExNp165dlq3By8NMqwr5eaJcPn799SyhoQ/ohUIRERGRv8lSNJAib72L4+rlDLfbHQ4OHTxIhZAQLOaMb6gy+9+HpWhgFq5SRERERERERMQ95fiiX6tWrbh48SJz584lJiaGSpUqsWTJkr8c7ykiIiIiOZOlaOBNRTyz3U5qXALWchX0xioRERERERERkX8oxxf9ALp27fqX4zxFRERERERERERERERE8jJtSCciIiIiIiIiIiIiIiLi5lT0ExEREREREREREREREXFzbjHeU0REREREREREREQkL7vwci/XPoBhUCQhkUv5fMBkcslDFH5ziUvOKyJp1OknIiIiIiIiIiIiIiIi4uZU9BMRERERERERERERERFxcyr6iYiIiIiIiIiIiIiIiLg5Ff1ERERERERERERuYdWqVTRp0oRq1arRsWNH9uzZ85fHf/LJJ7Ro0YJq1arx1FNPsX379ixaqYiIiAh4ZPcCREREREREREREcpotW7YwZcoUxo8fT40aNVi2bBk9e/Zk69atFCpU6Kbjf/75Z4YMGcLgwYNp3LgxH374If369WPDhg1UqFAhGxLAc+tPuezcBgYJCb7kO34GEyaXPc7y9iVddm4REZHcRp1+IiIiIiIiIiIif/L222/zzDPP0L59e8qXL8/48ePx9vZm/fr1tzx++fLlNGzYkF69elGuXDkGDRpE5cqVWblyZRavXERERPKqXNXp53A4AEhMTHTJ+e12OwAJCQlYLBaXPIaI5G16nhHJOunXC+nXD3J7usYSEXem5xiRrJVbrrFSUlLYv38/L774ovM2s9lM/fr1+eWXX275Nb/++ivh4eEZbmvQoAHbtm275fHpf0fXrl1zPldltsKeKS45LwAGJHnb8bam4sJGP+Li4v7W8S7NDFmSW5nvTl78+U4OuLnLOLOl5ksm2dvLZedX5rvj6tyuzgz6Xme2pKQk4M7XWLmq6JecnAzA8ePHXfo4hw4dcun5RUT0PCOSdZKTk/Hz88vuZeRousYSkdxAzzEiWcvdr7EuXbqE3W6/aYxnoUKFOHr06C2/5sKFCxQuXPim4y9cuHDL49OvsU6ePJkJK761LkEuO/UNklx69kOHLv+t47MmM7gytzLfnbz4803rZ1yyjqz0+9+9JsuLmSFv5s6Lmf+BO11j5aqiX4ECBQgODsbLywuzWZNLRURE5PYcDgfJyckUKFAgu5eS4+kaS0RERO6WrrHunq6xRERE5G7d7TVWrir6eXh43HIjZREREZFbced3n2clXWOJiIjI35EbrrECAgKwWCzExsZmuD02Nvambr50hQsXvqmr76+O1zWWiIiI/B13c42ltxGJiIiIiIiIiIjcwNPTkypVqrBz507nbQ6Hg507d1KzZs1bfk1oaCg//PBDhtu+//57QkNDXblUEREREScV/URERERERERERP7k+eefZ+3atWzcuJGoqCjGjRtHYmIi7dq1A2D48OHMnDnTefxzzz3Hjh07WLp0KVFRUcybN499+/bRtWvX7IogIiIieUyuGu8pIiIiIiIiIiKSGVq1asXFixeZO3cuMTExVKpUiSVLljjHdZ49ezbDXny1atVixowZzJ49m1mzZhEcHMy///1vKlSokF0RREREJI8xGYZhZPciREREREREREREREREROSf03jPTHD27Fm6detGq1ateOqpp/jkk0+ye0kikstcvXqVdu3a8a9//Ysnn3yStWvXZveSRERcTtdYIuJqusYSEcmZfvrpJ+x2e3YvI8vlxdzKLCKSudTplwnOnz9PbGwslSpVIiYmhnbt2vHpp5+SL1++7F6aiOQSdrudlJQUfHx8SEhI4Mknn2T9+vUEBARk99JERFxG11gi4mq6xhIRyXkOHjzIv/71L/r06cOAAQOwWCzZvaQskRdzK7N7ZjYMA5PJlN3LyHJ5Mbcyuyd1+mWCokWLUqlSJQCKFClCQEAAV65cyeZViUhuYrFY8PHxASAlJQVI+yUkIpKb6RpLRFxN11giIjlPSEgIkyZNIiIign//+995piMqL+ZWZvfK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0Pj0008zf/58du/enWX7NYqIZCYV/URERERERERERNxEVFQU7du3Z9y4cbRp0wZI60br1KkTSUlJTJ06FV9fXzp27Mi//vUvmjZtelO3WmYpX748GzduzJJuqJyQu1y5cmzevJlVq1bxwAMPZOq5byWrM+eE8a1ZlTknjW4VEclM5uxegIiIiIiIiIiIiNwdPz8/nnzySaZMmcLHH3/svD1//vy0atUKPz8/Ro8ezcqVK53Hu4LFYqFDhw5UqlTJJef/s5yQu2LFisybNy9LCn6QPZlNJpOzANaqVSsefPBBLl26xIYNG7Lke52Vmf38/JxFP8j60a0iIq6gTj8REREREREREZEcKn3sYFRUFJcvX6ZkyZIMGzYMPz8/xowZg2EYPPnkkwAULFiQZs2aUalSJerVq+fytblyxGNOzX1jkSiz5ZTMWTm+Nadkzo7RrSIirqCin4iIiIiIiIiISA5lMpnYtm0bw4YNo1ChQpw/f56xY8fSrl07TCYTo0ePJj4+nocffphNmzZx6tQpRo0aRf78+bN76fckL+bOaZmzYnxrTsmc1aNbRURcxWQYhpHdixAREREREREREZGMHA4HV69e5aWXXqJNmzY8/PDDbNmyhblz5zJs2DAaNmzIF198wezZsylZsiTXrl0jIiIiy0ZuukpezJ0TM6d34blKTsuckpLi0k5OEZGsoE4/ERERERERERGRHCS92JKamoq3tzcPPfQQLVq0oECBArz00kv4+PgwdepUHA4HPXr0oFWrVsTGxhIUFERgYGB2L/8fy4u5c3JmVxX8cmpmFfxEJDdQ0U9ERERERERERCQHSR95uHr1an7//XccDgctW7akQIECAISHh2MymXjjjTeIi4vjpZdeolSpUtm86nuXF3Mrc97ILCKSVczZvQARERERERERERH5w969exkxYgQlSpSgevXqnDp1ivXr13PmzBnnMd27d2fgwIG8++67JCYmZuNqM09ezK3MeSOziEhW0Z5+IiIiIiIiIiIiOcTJkyfZtGkT3t7e9O7dG4B3332XRYsW8fTTTxMWFkbx4sWdx1+5csXZIeXO8mJuZc4bmUVEspLGe4qIiIiIiIiIiOQA8fHxvPzyy5w5c4Znn33WeXvnzp0xDINFixZhNpvp0KEDJUuWBMDf3z+7lptp8mJuZc4bmUVEsprGe4qIiIiIiIiIiOQAfn5+TJw4kQIFCrB7924OHTrkvK9Lly689NJLvP3223zwwQfYbDYgbX80d5cXcytz3sgsIpLVNN5TREREREREREQkB4mMjGTkyJFUr16dbt268cADDzjve//996lTpw7BwcHZt0AXyYu5lTlvZBYRySoq+omIiIiIiIiIiOQwv/32G6+99hqVK1cmPDyc8uXLZ/eSskRezK3MeSOziEhWUNFPREREREREREQkB/rtt98YO3YsJUuWpF+/fpQrVy67l5Ql8mJuZc4bmUVEXE17+omIiIiIiIiIiORAlStXZvTo0cTExJA/f/7sXk6WyYu5lTlvZBYRcTV1+omIiIiIiIiIiORgycnJeHl5ZfcyslxezK3MIiJyL1T0ExEREREREREREREREXFzGu8pIiIiIiIiIiIiIiIi4uZU9BMRERERERERERERERFxcyr6iYiIiIiIiIiIiIiIiLg5Ff1ERERERERERERERERE3JyKfiIiIiIiIiIiIiIiIiJuTkU/ERERERERERERERERETenop+IiIiIiIiIiIiIiIiIm1PRT0RERERERERERERERMTNqegnIiIiIiIiIiIiIiIi4uZU9BMRERERERERERERERFxcyr6iYiIiIiIiIiIiIiIiLg5Ff1ERERERERERERERERE3JyKfiIiIiIiIiIiIiIiIiJuTkU/ERERERERERERERERETenop+IiIiIiIiIiIiIiIiIm1PRT0RERERERERERERERMTNqegnIiIiIiIiIiIiIiIi4uZU9BMRERERERERERERERFxcyr6iYiIiIiIiIiIiIiIiLg5Ff1ERERERERERERERERE3JyKfiIiIiIiIiIiIiIiIiJuTkU/ERERERERERERERERETf3/wAiCadh4YrZAAAAAElFTkSuQmCC",
"text/plain": [
"<Figure size 1800x600 with 3 Axes>"
]
},
"metadata": {},
"output_type": "display_data",
"transient": {}
}
],
"source": [
"fig, axes = plt.subplots(1, 3, figsize=(18, 6))\n",
"colors = {'multi-e5-small': '#3498db', 'BGE-m3': '#e74c3c'}\n",
"\n",
"# Gráfico 1: RAM pico vs tamaño de corpus\n",
"ax = axes[0]\n",
"for name in MODELS:\n",
" subset = df[df['model'] == name]\n",
" ax.plot(subset['corpus_size'], subset['tracemalloc_peak_mb'], 'o-',\n",
" color=colors[name], label=name, linewidth=2, markersize=8)\n",
"ax.set_xlabel('Documentos en corpus')\n",
"ax.set_ylabel('Peak RAM tracemalloc (MB)')\n",
"ax.set_title('Pico de RAM durante encoding')\n",
"ax.legend()\n",
"ax.set_xscale('log')\n",
"\n",
"# Gráfico 2: Throughput (docs/s) vs tamaño de corpus\n",
"ax = axes[1]\n",
"for name in MODELS:\n",
" subset = df[df['model'] == name]\n",
" ax.plot(subset['corpus_size'], subset['docs_per_sec'], 's-',\n",
" color=colors[name], label=name, linewidth=2, markersize=8)\n",
"ax.set_xlabel('Documentos en corpus')\n",
"ax.set_ylabel('Docs/segundo')\n",
"ax.set_title('Velocidad de encoding')\n",
"ax.legend()\n",
"ax.set_xscale('log')\n",
"\n",
"# Gráfico 3: Tamaño de embeddings vs corpus\n",
"ax = axes[2]\n",
"for name in MODELS:\n",
" subset = df[df['model'] == name]\n",
" ax.bar([f'{name}\\n{n}' for n in subset['corpus_size']],\n",
" subset['emb_size_mb'], color=colors[name], alpha=0.8)\n",
"ax.set_ylabel('Tamaño embeddings (MB)')\n",
"ax.set_title('Almacenamiento de embeddings')\n",
"ax.tick_params(axis='x', rotation=45)\n",
"\n",
"plt.tight_layout()\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"id": "48eb2b03",
"metadata": {},
"source": [
"## 6. Comparación directa: coste por documento"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "3d9dd845",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAA90AAAHqCAYAAAAZLi26AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAc2dJREFUeJzt3XdcleXj//E3IG7FhXuk0MGBCGophDNNKzVHjnKV20+O0nJVjtzacKa5KrcmYpnlqjRNc5TmyMSZoqaACSoGeLh/f/jj/noEFYrbI/h6Ph48Hpzrvs51X9fh3Bfnfe7lYhiGIQAAAAAAkO5cnd0BAAAAAAAyK0I3AAAAAAAWIXQDAAAAAGARQjcAAAAAABYhdAMAAAAAYBFCNwAAAAAAFiF0AwAAAABgEUI3AAAAAAAWIXQDAAAAAGARQjcAZHCrVq3S8uXLnd0NAAAApIDQDQAPsY4dO6pjx453Xf7tt99q7Nixqly58gPpz+rVq+Xj46Pw8PAHsj78e/d77+De6tevryFDhqRrm9evX1dgYKC++uqrdG33YcM84XxvvPGG+vfv7+xuAPj/CN0A0t2ZM2c0fPhwPf3006pcubKqVq2qdu3a6fPPP9c///zj7O5lGqdPn9bIkSM1ZcoUVapUydndAXAfCxcuVK5cufT888+bZUkBNaWfiIiIZG189913atGihSpXrqy6detq2rRpunnzZrJ6MTExevfdd1WzZk35+/urY8eOOnz4cIr9Sm2b+O9u3Lih6dOna9euXZaup3v37tq4caP++OMPS9cDIHWyOLsDADKXLVu2qH///sqaNateeOEF2Ww2JSQk6JdfftHkyZN1/PhxjR492tndzDDmz59/12V//PGHxo0bpzp16jzAHgGPhvXr18vFxSXd2ktISNDChQv1yiuvyM3NLdnyfv36qWTJkg5lefPmdXi8detWvfbaa3ryySf17rvvKiwsTLNmzVJUVJRGjRpl1ktMTFSPHj109OhRde3aVfnz59fSpUvVsWNHrV69Wo899lia20T6uHHjhmbMmKE+ffqoRo0alq2nYsWK8vX11YIFCzRp0iTL1gMgdQjdANLN2bNn9cYbb6h48eL6/PPPVbhwYXNZ+/bt9eeff2rLli3O66CFEhMTlZCQoGzZsqVru1mzZr3rssaNG6fruoBHnWEYiouLU/bs2e+57f0bW7Zs0eXLl/Xss8+muLx27dr3PU1k0qRJ8vHx0YIFC5Qly62PcLly5dInn3yiTp06ycvLS9KtLwz27dunqVOnmvPEs88+q0aNGmn69On64IMP0twmMp5nn31W06dP1/Xr15UrVy5ndwd4pHF4OYB0M2/ePMXGxmrs2LEOgTtJmTJl1LlzZ/PxzZs3NXPmTDVo0EC+vr6qX7++PvzwQ8XHxzs8r379+urZs6d27dqlli1bys/PT02bNjUPz9u4caOaNm2qypUrq2XLlvr9998dnj9kyBAFBATo7Nmz6tq1q/z9/RUcHKwZM2bIMAyHuvPnz1e7du1Uo0YN+fn5qWXLllq/fn2ysfj4+Oi9997TV199peeff16VK1fWtm3b0tSGJH355Zd68cUXVaVKFT3xxBNq3769tm/fbi5P6bzcqKgoDRs2TEFBQapcubKaNWum0NBQhzrh4eHy8fHR/PnztWLFCvM1btWqlQ4cOJBiX+507NgxderUSX5+fqpdu7Y+/vhjJSYmplh369atevnll+Xv76+AgAD16NFDx44dS9V6YmJiNG7cONWvX1++vr6qXbu2Bg0apMuXL1s25oiICA0dOlS1a9eWr6+vgoOD1bt3b4dzUH18fDR9+vRk/b3zXN+kw4P37t2rMWPGqGbNmqpevbqGDx+u+Ph4xcTEaNCgQXriiSf0xBNPaNKkScned7GxsZowYYLq1KkjX19fNWrUSPPnz09W726Sxuvn56cXX3xRe/fuTbFefHy8pk2bpoYNG8rX11d16tTRpEmTkm1zKenYsaOaNGmiP/74Qx06dFCVKlXUsGFD8729e/dutW7dWn5+fmrUqJF27NiRrI2LFy9q6NChCgoKkq+vr55//nmtWrXKoc6uXbvk4+Ojb775RjNmzFCtWrUUEBCgfv366erVq4qPj9fYsWMVGBiogIAADR06NFn/0zq3bNu2zZxbki5KeOff+cqVK5o4caKaNm2qgIAAVa1aVd26dUv14bubN29WiRIlVLp06bvWuXbtmux2e4rLjh8/ruPHj6tNmzZmOJakl19+WYZhaMOGDWbZhg0bVKhQIT3zzDNmWYECBfTss8/qu+++M1+HtLR5N2mZJ5YsWaLnn3/e3OZGjRqlmJiYZPV+++03de/eXU888YT8/f3VtGlTff755+byu12vYMiQIapfv775+PY5YcmSJXr66adVpUoVdenSRRcuXJBhGJo5c6Zq164tPz8/9e7dW1euXEnWbmrmt6T/MxcvXtT//vc/BQQEqGbNmpo4caL5Nw0PD1dgYKAkacaMGeZpBLfPMzt37jTXVb16dfXu3VsnTpxwWNe1a9c0duxYc84MDAzUq6++muz0gaCgIMXGxqa4LQJ4sNjTDSDd/PDDDypVqpSqVq2aqvrvvPOOQkND1ahRI7366qs6cOCAPvnkE504cUIzZ850qPvnn39q4MCBateunZo1a6YFCxaoV69eGjVqlD766CO99NJLkqQ5c+bo9ddf1/r16+Xq+n/fK9rtdnXr1k1VqlTRW2+9pW3btmn69Omy2+0OF5tZuHCh6tevr6ZNmyohIUHr1q1T//799cknn6hu3boOffr555/17bffqn379sqfP79KlCiRpjZmzJih6dOnm4HC3d1dv/32m37++WcFBwen+Jr9888/6tixo86cOaP27durZMmSWr9+vYYMGaKYmBiHLzUk6euvv9b169fVtm1bubi4aN68eerbt682b94sd3f3u/5tIiIi1KlTJ9ntdvXo0UM5cuTQypUrU9yTv2bNGg0ZMkTBwcF68803dePGDS1btkwvv/yyQkNDkx0ye7vr16+rffv2OnHihFq1aqWKFSvq77//1vfff6+LFy+qQIECloy5b9++On78uDp06KASJUro8uXL+umnn3ThwoV79vdexowZo0KFCqlv37767bfftGLFCuXJk0f79u1TsWLF9MYbb+jHH3/U/PnzZbPZ1Lx5c0m39q727t1bu3bt0osvvqgKFSpo27ZtmjRpki5evKhhw4bdc71ffPGFhg8froCAAHXu3Flnz55V79695eHhoWLFipn1EhMT1bt3b/3yyy9q06aNvLy8FBYWps8//1ynT5/Wxx9/fN8xRkdHq1evXnruuefUuHFjLVu2TAMGDFBiYqLGjRundu3aqUmTJpo/f7769eunLVu2KHfu3JKkyMhItWnTRi4uLmrfvr0KFCigH3/8UW+//bauXbumV155xWFdc+bMUfbs2dWjRw/9+eefWrx4sbJkySIXFxfFxMSoT58++u2337R69WqVKFFCffr0MZ+blrnl1KlTGjhwoNq2bas2bdqobNmyKY797Nmz2rx5sxo3bqySJUsqMjJSK1asUIcOHbRu3ToVKVLknq/dvn37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0Jo1axyWhYWF6aeffjJfI7vdrqtXrzo8t2DBgipcuHCy0wSOHz+uuLi4+34JDsB67OkGkG5Kly6t999/X2+88Yaee+45vfDCC7LZbIqPj9e+ffu0fv16tWzZUtKtPTEtWrTQihUrFBMToyeeeEIHDx5UaGioGjRoYF7cKb1ky5ZN27Zt0+DBg+Xn56dt27Zpy5Yt6tWrl3kOXp06dfTpp5+qW7duatKkiaKiorR06VKVLl1aR48eTdV6UttGmTJl1KtXL3388cd6+eWX9cwzzyhr1qw6ePCgChcurIEDB6bYftu2bbVixQoNGTJEhw8fVokSJbRhwwb9+uuvGjZs2H3PoU6tbt266csvv1S3bt3UqVMn81ZAxYsXdxhH7ty5NXLkSA0aNEgtW7bUc889pwIFCuj8+fPaunWrqlatquHDh991PV27dtWGDRvUv39/tWrVSpUqVVJ0dLS+//57jRo1SuXLl0/3MZ8+fVqvvPKKGjduLG9vb7m5uWnz5s2KjIx0uEhY69atNWLECPXt21dBQUH6448/tH379vvu1Uyr+vXrq0aNGvroo4907tw5+fj46KefftJ3332nzp073/O+zu7u7nr99dc1fPhwde7cWc8995zCw8O1evXqZOd3vvDCC/r22281YsQI7dq1S1WrVpXdbtfJkye1fv16zZs3L9mto9LTwIEDtWvXLrVp00atW7eWt7e3oqOjdfjwYe3cuVO7d+9Ol/VYNbfUrVtXM2fO1NChQxUQEKCwsDCtXbs2xfNoU/L000/ryy+/1KlTpxyOuGnXrp0qVKggX19f5cmTR7///rtCQkJUrFgx9erVy6GNQYMGqXfv3urSpYuef/55hYWFacmSJWrdurXDXv1GjRrJ399fQ4cO1fHjx5U/f34tW7ZMdrtdffv2/VdtpiS180SBAgXUs2dPzZgxQ926dVP9+vV16tQpLV26VJUrV1azZs0k3Trce+TIkerdu7eaN2+uli1bytPTUydPntTx48c1f/58SbcuWvjZZ5+pa9euevHFFxUVFaXly5fL29s71dcVSY3/Or+lJHv27PL29ta3336rxx57TPny5dPjjz8um82mQYMGqXv37mrbtq1efPFF85ZhefLkMW+Jd/36ddWpU0eNGjVS+fLllTNnTu3YsUMHDx50uK+8dOtCcDly5LD86BIA90foBpCunn76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utzf318ff/xxmtrs27ev+vbt+1+7BgAAAKjmvFOSPKS9px7I+vb0zBg7AN3c3O57hHBq1apVS+PHjzcfk8f+j9P3dO/YsUPnz59Xq1atki0bNmyY6tatq379+qlDhw4qVKiQwyHobm5umj17tlxdXdW2bVu99dZbat68ufr16/cghwAAAAAA/1rHjh01evRojR07Vk888YSCgoK0cuVKxcbGaujQoQoICFDDhg21detWSbeOFK5evbpDG5s3b5aPj0+K7U+fPl2hoaH67rvvzD3Ru3btUnh4uHx8fHTkyJF79m/v3r16+eWX5efnpzp16mjMmDGKjY11qJM1a1aH20F7eHjcs83o6GgNHDhQNWvWlJ+fn5555hmFhIRIktmvb775xlxvq1atdOrUKR04cEAtW7ZUQECAunXrpsuXL5ttHjhwQK+++qpq1KihatWqqUOHDjp8+PA9+/EgOH1Pd3BwcLLzeZNky5ZNI0aM0IgRI+76/BIlSmju3LlWdQ8AAAAALBcaGqpu3brpiy++0DfffKORI0dq06ZNatiwoXr27KnPPvtMgwYN0pYtW9LcdpcuXXTixAldu3bN3Bvt4eFhXgD5Xs6cOaPu3burf//+GjdunC5fvqzRo0dr9OjRDnu2d+/ercDAQOXNm1c1a9bU66+/rvz589+13alTp+rEiROaO3eu8ufPrzNnzuiff/5xqDN9+nQNGzZMxYsX17Bhw8zbDL/99tvKkSOHXn/9dU2dOlWjRo2SJF2/fl3NmzfXO++8I0lasGCBevTooQ0bNih37txpft3Si9NDNwAAAAA86sqXL2+ec92zZ08zjLZp00aS9Nprr2nZsmV33WF5L7ly5VL27NkVHx+f5sPJP/nkEzVt2lSvvPKKJOmxxx7T22+/rY4dO2rkyJHKli2batWqpYYNG6pkyZI6e/asPvzwQ3Xv3l0rVqy468XGzp8/rwoVKqhy5cqSpJIlSyar06VLF9WqVUuS1KlTJw0YMECfffaZqlWrJkl68cUXtXr1arN+YGCgw/NHjx6t6tWra8+ePapXr16axp2eCN0AAAAA4GS3Hxru5uamfPnyyWazmWWFChWSJIeLSKe3559/XufPn5d067pN8+bN0x9//KGjR49q7dq1Zj3DMJSYmKjw8HB5eXnp+eefdxiHj4+PGjRoYO797tatm3755RdJUvHixbVu3Tq99NJL6tevn37//Xc99dRTatCggapWrerQn9tfk4IFC6ZYdvvh5ZGRkZoyZYp2796tqKgoJSYm6saNG+aYnIXQ/RB74pPjzu4C0mB29fvXAQAAAFJy+0WlJcnFxcWhzMXFRdKtwOvq6irDMBzqJyQk/Oc+zJkzRzdv3pQkZc+eXdKte1G3a9dOHTt2TFa/WLFiKbZTqlQp5c+fX3/++acCAwM1duxY89DxpDHVqVNHP/zwg7Zu3aqffvpJr7zyitq3b6/Bgweb7bi7u5u/J43/ztckMTHRfDx48GBduXJFb7/9tooXL66sWbOqbdu26fLa/BeEbgAAAADIQPLnz6/r168rNjZWOXPmlCT98ccf93yOu7u7Q0BNSYkSJZKVVaxYUcePH1eZMmVS3b+//vpLV65cMQ9lL1KkSIr1ChQooBYtWqhFixZavny5Jk2a5BC60+rXX3/ViBEjVKdOHUnShQsX9Pfff//r9tKL069eDgAAAABIvSpVqihHjhz68MMPdebMGa1du9bh3OaUlChRQkePHtXJkyd1+fLlVO/97d69u/bt26f33ntPR44c0enTp7V582a99957km5dvGzixInav3+/wsPDtXPnTv3vf/9TmTJlzPOxUzJ16lRt3rxZf/75p44dO6YtW7bIy8sr9S9CCh577DF99dVXOnHihH777Te9+eab5h57ZyJ0AwAAAEAGki9fPk2ePFk//vijmjZtqnXr1qlv3773fE6bNm1UtmxZtWrVSoGBgfr1119Tta7y5ctr0aJFOn36tF5++WW1aNFC06ZNU+HChSXdOv88LCxMvXv3VuPGjfX222+rUqVKWrJkyT3v1e3u7q4PP/xQzZo1U4cOHeTq6qoPP/ww9S9CCsaOHavo6Gi1aNFCgwYNUseOHc1zwZ3JxbjzZIBMLjY2VkeOHFGFChXMQzEeVpzTnbHMrh4tf3//u16hEQAyCrvdrv379zOnAcg0mNdghdRmS/Z0AwAAAABgEUI3AAAAAAAWIXQDAAAAAGARQjcAAAAAABYhdAMAAAAAYBFCNwAAAAAAFiF0AwAAAABgEUI3AAAAAAAWIXQDAAAAAGARQjcAAAAAABbJ4uwOAAAAAMCjbMiQIQoNDTUf58uXT76+vnrrrbdUvnx5SZJhGPriiy8UEhKiY8eOyTAMFS9eXIGBgerYsaPKlCkjSZo+fbpmzJiRbB1ly5bV+vXr07Xfe/fu1fvvv69Tp07pxo0bKl68uNq1a6dXXnklXdeT0RG6AQAAAGRqEc3rqoSkiAe0vqJrt6X5ObVq1dL48eMlSZGRkZoyZYp69eqlLVu2yDAMDRw4UJs3b1bPnj01dOhQFS5cWJcuXdKmTZs0a9YsTZgwwWzr8ccf16effurQvpub238bVApy5sypDh06yMfHRzly5NAvv/yiESNGKEeOHGrbtm26ry+jInQDAAAAgJNlzZpVnp6ekiRPT091795d7du31+XLl7Vz506tW7dOH3/8sZ5++mnzOcWLF5e/v78Mw3Boy83NzWwrtXx8fDRq1Cj98MMP+vnnn1W8eHGNGzdOBQoU0DvvvKODBw+qfPnymjRpkkqXLi1JqlixoipWrGi2UbJkSW3atEl79+4ldN+Gc7oBAAAA4CFy/fp1ffXVVypTpozy5cunr7/+WmXLlnUI3LdzcXFJl/V+/PHHeuGFF7RmzRqVK1dOAwcO1PDhw9WjRw+FhITIMAy99957d33+77//rn379unJJ59Ml/5kFuzpBgAAAAAn27JliwICAiRJsbGx8vT01CeffCJXV1edPn1aZcuWdag/duxYrVq1SpKUJ08e/fjjj+aysLAws60kTZs2vWdglqSWLVvqueeekyR1795dbdu21f/+9z/VqlVLktSpUycNHTo02fNq166ty5cvy263q0+fPmrdunUaR5+5EboBAAAAwMlq1KihkSNHSpKio6O1bNkyde/eXV988UWK9Xv37q0OHTpo48aN+uSTTxyWlS1bVrNmzXIoy507tyRp9uzZDvXXrVun4sWLS7p1iHmSggULSpJsNptDWVxcnK5du2a2J0lLlixRbGysfvvtN33wwQcqU6aMmjRpktaXINMidAMAAACAk+XIkcO8ArkkVapUSdWrV9fKlStVpkwZnTp1yqF+gQIFVKBAATMc387d3d2hrdu1a9dOzz77rPm4cOHCDs9LknTIekpliYmJDm2WKlVK0q3QHhkZqenTpxO6b8M53QAAAADwkHFxcZGLi4vi4uLUpEkTnTp1Sps3b/7P7ebLl09lypQxf7JkSd/9sImJiUpISEjXNjM69nQDAAAAgJPFx8crIuLWTc1iYmK0ePFixcbGql69enryySe1ceNGDRgwQD169FCtWrVUsGBBnT9/Xt98802y24HZ7XazrSQuLi4qVKhQuvZ5yZIlKlasmMqVKydJ2rNnjxYsWKCOHTum63oyOkI3AAAAADjZtm3bFBwcLEnKlSuXypUrp6lTp6pGjRqSpClTpmjlypVavXq15s+fr4SEBBUtWlSBgYHJLm527Ngxs60kWbNm1cGDB9O1z4mJifrwww8VHh4uNzc3lS5dWm+++abatWuXruvJ6FyMO2/qlsnFxsbqyJEjqlChgnLmzOns7tzTE58cd3YXkAazq0fL398/2TeNAJDR2O127d+/nzkNQKbBvAYrpDZbck43AAAAAAAWIXQDAAAAAGARQjcAAAAAABYhdAMAAAAAYBFCNwAAAAAAFiF0AwAAAABgEUI3AAAAAAAWIXQDAAAAAGARQjcAAAAAABYhdAMAAAAAYBFCNwAAAAAAFiF0AwAAAABgEUI3AAAAAAAWIXQDAAAAAGARQjcAAAAAABYhdAMAAAAAYBFCNwAAAAAAFiF0AwAAAABgEaeH7osXL+rNN99UjRo15Ofnp6ZNm+rgwYPmcsMwNHXqVAUHB8vPz0+vvPKKTp8+7dDGlStXNHDgQFWtWlXVq1fXsGHDdP369Qc8EgAAAAAAHDk1dEdHR+ull16Su7u75s6dq3Xr1mnw4MHy8PAw68ydO1eLFi3SyJEjtXLlSuXIkUNdu3ZVXFycWefNN9/U8ePH9emnn2r27Nnau3evhg8f7owhAQAAAABgyuLMlc+dO1dFixbV+PHjzbJSpUqZvxuGoYULF6p3795q0KCBJGnSpEkKCgrS5s2b9fzzz+vEiRPatm2bVq1apcqVK0uS3nnnHfXo0UODBg1SkSJFHuygAAAAAAD4/5y6p/v777+Xr6+v+vXrp8DAQDVv3lwrV640l4eHhysiIkJBQUFmWZ48eVSlShXt27dPkrRv3z7lzZvXDNySFBQUJFdXVx04cODBDQYAAAAAgDs4dU/32bNntWzZMr366qvq1auXDh48qDFjxsjd3V0tWrRQRESEJKlgwYIOzytYsKAiIyMlSZGRkSpQoIDD8ixZssjDw8N8fkrsdrvsdns6jwiPOt5TADKDpLmMOQ1AZsG8Biuk9v3k1NBtGIZ8fX01YMAASVLFihV17NgxLV++XC1atLB03WFhYZa2nz487l8FD5XbLwIIABkdcxqAzIZ5Dc7g1NDt6ekpLy8vh7Jy5cppw4YN5nJJioqKUuHChc06UVFRKl++vCSpUKFCunz5skMbN2/eVHR0tPn8lNhsNuXMmTNdxmGZvaec3QOkUeXKleXm5ubsbgDAf2K323Xw4EHmNACZBvMarBAbG5uqnblODd1Vq1bVqVOOwfL06dMqUaKEJKlkyZLy9PTUzp07VaFCBUnStWvX9Ntvv+mll16SJAUEBCgmJkaHDh2Sr6+vJOnnn39WYmKi/Pz87rpuNzc3NjikO95XADIT5jQAmQ3zGtJTat9LTr2QWufOnfXbb79p9uzZ+vPPP7V27VqtXLlSL7/8siTJxcVFnTp10qxZs/Tdd9/p6NGjGjRokAoXLmxezdzLy0u1atXSu+++qwMHDuiXX37R6NGj9fzzz3PlcgAAAACAUzl1T7efn59mzJihDz/8UDNnzlTJkiU1bNgwNWvWzKzTvXt33bhxQ8OHD1dMTIyqVaumefPmKVu2bGad999/X6NHj1bnzp3l6uqqZ555Ru+8844zhgQAAAAAgMmpoVuS6tWrp3r16t11uYuLi/r376/+/fvftU6+fPn0wQcfWNE9AAAAAAD+NaceXg4AAAAAQGZG6AYAAAAAwCKEbgAAAAAALELoBgAAAADAIoRuAAAAAAAsQugGAAAAAMAihG4AAAAAACxC6AYAAAAAwCKEbgAAAAAALELoBgAAAADAIoRuAAAAAAAsQugGAAAAAMAihG4AAAAAACxC6AYAAAAAwCKEbgAAAAAALELoBgAAAADAIoRuAAAAAAAsQugGAAAAAMAihG4AAAAAACxC6AYAAAAAwCKEbgAAAAAALELoBgAAAADAIoRuAAAAAAAsQugGAAAAAMAihG4AAAAAACxC6AYAAAAAwCKEbgAAAAAALELoBgAAAADAIoRuAAAAAAAsQugGAAAAAMAihG4AAAAAACxC6AYAAAAAwCKEbgAAAAAALELoBgAAAADAIoRuAAAAAAAsQugGAAAAAMAihG4AAAAAACxC6AYAAAAAwCKEbgAAAAAALELoBgAAAADAIoRuAAAAAAAsQugGAAAAAMAihG4AAAAAACxC6AYAAAAAwCKEbgAAAAAALELoBgAAAADAIoRuAAAAAAAs4tTQPX36dPn4+Dj8NG7c2FweFxenUaNGqUaNGgoICFDfvn0VGRnp0Mb58+fVo0cPValSRYGBgZo4caJu3rz5oIcCAAAAAEAyWZzdgccff1yffvqp+djNzc38fdy4cdq6daumTJmiPHnyaPTo0erTp4+WL18uSbLb7erZs6cKFSqk5cuX69KlSxo8eLDc3d01YMCABz4WAAAAAABu5/TDy93c3OTp6Wn+FChQQJJ09epVhYSEaMiQIQoMDJSvr6/GjRunffv2af/+/ZKk7du36/jx45o8ebIqVKigOnXqqH///lqyZIni4+OdOCoAAAAAAB6CPd1//vmngoODlS1bNvn7+2vgwIEqXry4Dh06pISEBAUFBZl1vby8VLx4ce3fv1/+/v7av3+/bDabChUqZNYJDg7WyJEjdfz4cVWsWPGu67Xb7bLb7ZaODY8e3lMAMoOkuYw5DUBmwbwGK6T2/eTU0O3n56fx48erbNmyioiI0MyZM9W+fXutXbtWkZGRcnd3V968eR2eU7BgQUVEREiSIiMjHQK3JPNxUp27CQsLS8eRWMXD2R1AGh08eNDZXQCAdMOcBiCzYV6DMzg1dNepU8f8vXz58qpSpYrq1aunb7/9VtmzZ7d03TabTTlz5rR0Hf/Z3lPO7gHSqHLlyg7XJQCAjMhut+vgwYPMaQAyDeY1WCE2NjZVO3Odfnj57fLmzavHHntMZ86cUVBQkBISEhQTE+OwtzsqKkqenp6Sbu3VPnDggEMbSVc3T6pzN25ubmxwSHe8rwBkJsxpADIb5jWkp9S+l5x+IbXbXb9+XWfPnpWnp6d8fX3l7u6unTt3mstPnjyp8+fPy9/fX5Lk7++vsLAwRUVFmXV27Nih3Llzy9vb+0F3HwAAAAAAB07d0z1x4kTVq1dPxYsX16VLlzR9+nS5urqqSZMmypMnj1q1aqUJEybIw8NDuXPn1pgxYxQQEGCG7uDgYHl7e2vQoEF66623FBERoSlTpqh9+/bKmjWrM4cGAAAAAIBzQ/dff/2lAQMG6MqVKypQoICqVaumlStXmrcNGzZsmFxdXdWvXz/Fx8crODhYI0aMMJ/v5uam2bNna+TIkWrbtq1y5MihFi1aqF+/fs4aEgAAAAAAJqeG7o8++uiey7Nly6YRI0Y4BO07lShRQnPnzk3vrgEAAAAA8J89VOd0AwAAAACQmRC6AQAAAACwCKEbAAAAAACLELoBAAAAALAIoRsAAAAAAIsQugEAAAAAsAihGwAAAAAAixC6AQAAAACwCKEbAAAAAACLELoBAAAAALAIoRsAAAAAAIsQugEAAAAAsAihGwAAAAAAixC6AQAAAACwCKEbAAAAAACLELoBAAAAALAIoRsAAAAAAIsQugEAAAAAsAihGwAAAAAAixC6AQAAAACwCKEbAAAAAACLELoBAAAAALAIoRsAAAAAAIsQugEAAAAAsAihGwAAAAAAixC6AQAAAACwCKEbAAAAAACLELoBAAAAALAIoRsAAAAAAIsQugEAAAAAsAihGwAAAAAAixC6AQAAAACwCKEbAAAAAACLELoBAAAAALAIoRsAAAAAAIsQugEAAAAAsAihGwAAAAAAixC6AQAAAACwCKEbAAAAAACLELoBAAAAALAIoRsAAAAAAIsQugEAAAAAsAihGwAAAAAAixC6AQAAAACwCKEbAAAAAACLELoBAAAAALDIQxO658yZIx8fH40dO9Ysi4uL06hRo1SjRg0FBASob9++ioyMdHje+fPn1aNHD1WpUkWBgYGaOHGibt68+aC7DwAAAABAMg9F6D5w4ICWL18uHx8fh/Jx48bphx9+0JQpU7Ro0SJdunRJffr0MZfb7Xb17NlTCQkJWr58uSZMmKDQ0FBNmzbtQQ8BAAAAAIBknB66r1+/rrfeektjxoyRh4eHWX716lWFhIRoyJAhCgwMlK+vr8aNG6d9+/Zp//79kqTt27fr+PHjmjx5sipUqKA6deqof//+WrJkieLj4500IgAAAAAAbsni7A689957qlOnjoKCgjRr1iyz/NChQ0pISFBQUJBZ5uXlpeLFi2v//v3y9/fX/v37ZbPZVKhQIbNOcHCwRo4cqePHj6tixYp3Xa/dbpfdbrdmUHhk8Z4CkBkkzWXMaQAyC+Y1WCG17yenhu5169bp999/16pVq5Iti4yMlLu7u/LmzetQXrBgQUVERJh1bg/ckszHSXXuJiws7L90/QHxuH8VPFQOHjzo7C4AQLphTgOQ2TCvwRmcFrovXLigsWPHasGCBcqWLdsDX7/NZlPOnDkf+HrTZO8pZ/cAaVS5cmW5ubk5uxsA8J/Y7XYdPHiQOQ1ApsG8BivExsamameu00L34cOHFRUVpZYtW5pldrtde/bs0ZIlSzR//nwlJCQoJibGYW93VFSUPD09Jd3aq33gwAGHdpOubp5U527c3NzY4JDueF8ByEyY0wBkNsxrSE+pfS85LXTXrFlTa9eudSgbOnSoypUrp+7du6tYsWJyd3fXzp071ahRI0nSyZMndf78efn7+0uS/P39NXv2bEVFRalgwYKSpB07dih37tzy9vZ+oOMBAAAAAOBOTgvduXPnls1mcyjLmTOn8uXLZ5a3atVKEyZMkIeHh3Lnzq0xY8YoICDADN3BwcHy9vbWoEGD9NZbbykiIkJTpkxR+/btlTVr1gc9JAAAAAAAHDj96uX3MmzYMLm6uqpfv36Kj49XcHCwRowYYS53c3PT7NmzNXLkSLVt21Y5cuRQixYt1K9fPyf2GgAAAACAWx6q0L1o0SKHx9myZdOIESMcgvadSpQooblz51rdNQAAAAAA0szV2R0AAAAAACCzInQDAAAAAGARQjcAAAAAABYhdAMAAAAAYBFCNwAAAAAAFiF0AwAAAABgEUI3AAAAAAAWIXQDAAAAAGARQjcAAAAAABYhdAMAAAAAYJEs/+ZJf//9t/Lnzy9JunDhglauXKl//vlHTz/9tKpXr56uHQQAAAAAIKNKU+g+evSoevfurQsXLqhMmTL66KOP1K1bN8XGxsrV1VWff/65pk2bpgYNGljVXwAAAAAAMow0HV4+efJk2Ww2LV68WE8++aR69uypOnXq6JdfftGePXvUtm1bzZkzx6q+AgAAAACQoaQpdB88eFCvv/66qlWrpsGDB+vSpUt6+eWX5erqKldXV3Xo0EEnT560qq8AAAAAAGQoaQrd0dHR8vT0lCTlypVLOXLkkIeHh7ncw8ND169fT98eAgAAAACQQaX56uUuLi5W9AMAAAAAgEwnzVcvHzJkiLJmzSpJio+P18iRI5UjRw7zMQAAAAAAuCVNobt58+YOe7qbNWuWYh0AAAAAAJDG0D1hwgSr+gEAAAAAQKaTptA9dOjQ+9ZxcXHRuHHj/nWHAAAAAADILNIUukNDQ1W8eHFVrFhRhmFY1ScAAAAAADKFNIXul156SevWrVN4eLhatmypZs2aKV++fBZ1DQAAAACAjC1NtwwbMWKEtm/frm7duumHH35Q3bp11b9/f23bto093wAAAAAA3CHNtwzLmjWrmjRpoiZNmujcuXMKDQ3VqFGjZLfb9fXXXytXrlxW9BMAAAAAgAwnTXu6kz3Z9dbTDcOQ3W5Plw4BAAAAAJBZpHlPd3x8vDZu3KiQkBD98ssvqlu3roYPH65atWqZIRwAAAAAAKQxdI8cOVLffPONihYtqlatWumDDz5QgQIFrOobAAAAAAAZWppC9/Lly1W8eHGVKlVKe/bs0Z49e1KsN2PGjHTpHAAAAAAAGVmaQnfz5s3l4uJiVV8AAAAAAMhU0hS6J0yYYFU/AAAAAADIdLjyGQAAAAAAFiF0AwAAAABgEUI3AAAAAAAWIXQDAAAAAGARQjcAAAAAABYhdAMAAAAAYBFCNwAAAAAAFiF0AwAAAABgEUI3AAAAAAAWIXQDAAAAAGARQjcAAAAAABYhdAMAAAAAYBFCNwAAAAAAFiF0AwAAAABgEUI3AAAAAAAWIXQDAAAAAGARp4bupUuXqmnTpqpataqqVq2qtm3bauvWrebyuLg4jRo1SjVq1FBAQID69u2ryMhIhzbOnz+vHj16qEqVKgoMDNTEiRN18+bNBz0UAAAAAACScWroLlq0qN58802tXr1aISEhqlmzpl577TUdO3ZMkjRu3Dj98MMPmjJlihYtWqRLly6pT58+5vPtdrt69uyphIQELV++XBMmTFBoaKimTZvmrCEBAAAAAGByauiuX7++6tSpo8cee0xly5bVG2+8oZw5c2r//v26evWqQkJCNGTIEAUGBsrX11fjxo3Tvn37tH//fknS9u3bdfz4cU2ePFkVKlRQnTp11L9/fy1ZskTx8fHOHBoAAAAAAA/POd12u13r1q1TbGysAgICdOjQISUkJCgoKMis4+XlpeLFi5uhe//+/bLZbCpUqJBZJzg4WNeuXdPx48cf9BAAAAAAAHCQxdkdOHr0qNq1a6e4uDjlzJlTM2fOlLe3t44cOSJ3d3flzZvXoX7BggUVEREhSYqMjHQI3JLMx0l17sZut8tut6fjSADxngKQKSTNZcxpADIL5jVYIbXvJ6eH7rJly2rNmjW6evWqNmzYoMGDB2vx4sWWrzcsLMzydfx3Hs7uANLo4MGDzu4CAKQb5jQAmQ3zGpzB6aE7a9asKlOmjCTJ19dXBw8e1MKFC/Xss88qISFBMTExDnu7o6Ki5OnpKenWXu0DBw44tJd0dfOkOndjs9mUM2fO9BxK+tt7ytk9QBpVrlxZbm5uzu4GAPwndrtdBw8eZE4DkGkwr8EKsbGxqdqZ6/TQfafExETFx8fL19dX7u7u2rlzpxo1aiRJOnnypM6fPy9/f39Jkr+/v2bPnq2oqCgVLFhQkrRjxw7lzp1b3t7e91yPm5sbGxzSHe8rAJkJcxqAzIZ5Dekpte8lp4buDz74QLVr11axYsV0/fp1ff3119q9e7fmz5+vPHnyqFWrVpowYYI8PDyUO3dujRkzRgEBAWboDg4Olre3twYNGqS33npLERERmjJlitq3b6+sWbM6c2gAAAAAADg3dEdFRWnw4MG6dOmS8uTJIx8fH82fP19PPfWUJGnYsGFydXVVv379FB8fr+DgYI0YMcJ8vpubm2bPnq2RI0eqbdu2ypEjh1q0aKF+/fo5a0gAAAAAAJicGrrHjRt3z+XZsmXTiBEjHIL2nUqUKKG5c+emd9cAAAAAAPjPHpr7dAMAAAAAkNkQugEAAAAAsAihGwAAAAAAixC6AQAAAACwCKEbAAAAAACLELoBAAAAALAIoRsAAAAAAIsQugEAAAAAsAihGwAAAAAAixC6AQAAAACwCKEbAAAAAACLELoBAAAAALAIoRsAAAAAAIsQugEAAAAAsAihGwAAAAAAixC6AQAAAACwCKEbAAAAAACLELoBAAAAALAIoRsAAAAAAIsQugEAAAAAsAihGwAAAAAAixC6AQAAAACwCKEbAAAAAACLELoBAAAAALAIoRsAAAAAAIsQugEAAAAAsAihGwAAAAAAixC6AQAAAACwCKEbAAAAAACLELoBAAAAALAIoRsAAAAAAIsQugEAAAAAsAihGwAAAAAAixC6AQAAAACwCKEbAAAAAACLELoBAAAAALAIoRsAAAAAAIsQugEAAAAAsAihGwAAAAAAixC6AQAAAACwCKEbAAAAAACLELoBAAAAALAIoRsAAAAAAIsQugEAAAAAsAihGwAAAAAAixC6AQAAAACwCKEbAAAAAACLODV0f/LJJ2rVqpUCAgIUGBio//3vfzp58qRDnbi4OI0aNUo1atRQQECA+vbtq8jISIc658+fV48ePVSlShUFBgZq4sSJunnz5oMcCgAAAAAAyTg1dO/evVvt27fXypUr9emnn+rmzZvq2rWrYmNjzTrjxo3TDz/8oClTpmjRokW6dOmS+vTpYy632+3q2bOnEhIStHz5ck2YMEGhoaGaNm2aM4YEAAAAAIDJqaF7/vz5atmypR5//HGVL19eEyZM0Pnz53X48GFJ0tWrVxUSEqIhQ4YoMDBQvr6+GjdunPbt26f9+/dLkrZv367jx49r8uTJqlChgurUqaP+/ftryZIlio+Pd+LoAAAAAACPuizO7sDtrl69Kkny8PCQJB06dEgJCQkKCgoy63h5eal48eLav3+//P39tX//ftlsNhUqVMisExwcrJEjR+r48eOqWLFiiuuy2+2y2+0WjgaPIt5TADKDpLmMOQ1AZsG8Biuk9v300ITuxMREjRs3TlWrVpXNZpMkRUZGyt3dXXnz5nWoW7BgQUVERJh1bg/ckszHSXVSEhYWlp7dt4iHszuANDp48KCzuwAA6YY5DUBmw7wGZ3hoQveoUaN07NgxLV269IGsz2azKWfOnA9kXf/a3lPO7gHSqHLlynJzc3N2NwDgP7Hb7Tp48CBzGoBMg3kNVoiNjU3VztyHInS/99572rJlixYvXqyiRYua5YUKFVJCQoJiYmIc9nZHRUXJ09PTrHPgwAGH9pKubp5UJyVubm5scEh3vK8AZCbMaQAyG+Y1pKfUvpeceiE1wzD03nvvadOmTfr8889VqlQph+W+vr5yd3fXzp07zbKTJ0/q/Pnz8vf3lyT5+/srLCxMUVFRZp0dO3Yod+7c8vb2fiDjAAAAAAAgJU7d0z1q1Ch9/fXX+vjjj5UrVy7zHOw8efIoe/bsypMnj1q1aqUJEybIw8NDuXPn1pgxYxQQEGCG7uDgYHl7e2vQoEF66623FBERoSlTpqh9+/bKmjWrE0cHAAAAAHjUOTV0L1u2TJLUsWNHh/Lx48erZcuWkqRhw4bJ1dVV/fr1U3x8vIKDgzVixAizrpubm2bPnq2RI0eqbdu2ypEjh1q0aKF+/fo9uIEAAAAAAJACp4buo0eP3rdOtmzZNGLECIegfacSJUpo7ty56dk1AAAAAAD+M6ee0w0AAAAAQGZG6AYAAAAAwCKEbgAAAAAALELoBgAAAADAIoRuAAAAAAAsQugGAAAAAMAihG4AAAAAACxC6AYAAAAAwCKEbgAAAAAALELoBgAAAADAIoRuAAAAAAAsQugGAAAAAMAihG4AAAAAACxC6AYAAAAAwCKEbgAAAAAALELoBgAAAADAIoRuAAAAAAAsQugGAAAAAMAihG4AAAAAACxC6AYAAAAAwCKEbgAAAAAALELoBgAAAADAIoRuAAAAAAAsQugGAAAAAMAihG4AAAAAACxC6AYAAAAAwCKEbgAAAAAALELoBgAAAADAIoRuAAAAAAAsQugGHiF79uxR9+7dVbNmTfn4+MjHx0fLli1zqLN8+XK99NJL8vf3N+ucOHEiWVuRkZEaOnSoAgMD5evrq+eee06LFy9+UEMBAAAAMgRCN/AIOXz4sHbs2CEPD4+71vnxxx915MgRFShQ4K51YmNj1aFDB61evVqxsbEqUaKETpw4odGjR2vq1KlWdB0AAADIkAjdwCPkhRde0C+//KL58+fftc6IESP0yy+/qE+fPnets2LFCp06dUouLi5asWKFNmzYoFdffVWSNHfuXEVGRqZ73wEAAICMiNANPELy58+v7Nmz37NOkSJF5Obmds86P/74oySpTJkyKl++vCTpmWeekSQlJCRo586d6dBbAAAAIOMjdANIswsXLkiSChYsaJYVKlQo2XIAAADgUUfoBpAuDMNwdhcAAACAhw6hG0CaFStWTJIUFRVllt3+e9JyAAAA4FFH6AaQZrVq1ZIk/fnnn/rjjz8kSRs3bpQkubu7KzAw0Gl9AwAAAB4mWZzdAQAPzsaNGzV58mTZ7XazbNq0aVqwYIH8/Pz0wQcfaPLkydq4caOuX79u1unWrZuyZMmijh07qlOnTmrbtq1WrFih06dPq23btipatKhOnz4tSeratavD+d0AAADAo4zQDTxCrl27pjNnzjiUXb58WZcvX1bRokUl3TpM/M4658+flyRFR0dLknLlyqVFixbpww8/1JYtW3Tu3DmVK1dO7dq1U+fOnR/ASAAAAICMgdANPEJatmypli1b3rPOhAkTNGHChPu2Vbhw4VTVAwAAAB5lnNMNAAAAAIBFCN0AAAAAAFiE0A0AAAAAgEUI3QAAAAAAWITQDQAAAACARbh6OZBOSox8XRHO7gRSrejabc7uAgAAAB4BTt3TvWfPHvXq1UvBwcHy8fHR5s2bHZYbhqGpU6cqODhYfn5+euWVV3T69GmHOleuXNHAgQNVtWpVVa9eXcOGDdP169cf4CgAAAAAAEiZU0N3bGysfHx8NGLEiBSXz507V4sWLdLIkSO1cuVK5ciRQ127dlVcXJxZ580339Tx48f16aefavbs2dq7d6+GDx/+oIYAAAAAAMBdOTV016lTR2+88YYaNmyYbJlhGFq4cKF69+6tBg0aqHz58po0aZIuXbpk7hE/ceKEtm3bpjFjxqhKlSqqXr263nnnHa1bt04XL1580MMBAAAAAMDBQ3shtfDwcEVERCgoKMgsy5Mnj6pUqaJ9+/ZJkvbt26e8efOqcuXKZp2goCC5urrqwIEDD7zPAAAAAADc7qG9kFpExK1LUhUsWNChvGDBgoqMjJQkRUZGqkCBAg7Ls2TJIg8PD/P5d2O322W329OxxwAyErZ/4O6Stg+2EwCZBfMarJDa99NDG7qtFhYW5uwupIKHszsAZFr79+93dheAh97Bgwed3QUASFfMa3CGhzZ0e3p6SpKioqJUuHBhszwqKkrly5eXJBUqVEiXL192eN7NmzcVHR1tPv9ubDabcubMmc69Tmd7Tzm7B0Cm5e/v7+wuAA8tu92ugwcPqnLlynJzc3N2dwDgP2NegxViY2NTtTP3oQ3dJUuWlKenp3bu3KkKFSpIkq5du6bffvtNL730kiQpICBAMTExOnTokHx9fSVJP//8sxITE+Xn53fP9t3c3NjggEcY2z9wf/yvBJDZMK8hPaX2veTU0H39+nWdOXPGfBweHq4jR47Iw8NDxYsXV6dOnTRr1iyVKVNGJUuW1NSpU1W4cGE1aNBAkuTl5aVatWrp3Xff1ahRo5SQkKDRo0fr+eefV5EiRZw1LAAAAAAAJDk5dB86dEidOnUyH48fP16S1KJFC02YMEHdu3fXjRs3NHz4cMXExKhatWqaN2+esmXLZj7n/fff1+jRo9W5c2e5urrqmWee0TvvvPPAxwIAAAAAwJ2cGrpr1Kiho0eP3nW5i4uL+vfvr/79+9+1Tr58+fTBBx9Y0T0AAAAAAP6Th/Y+3QAAAAAAZHSEbgAAAAAALELoBgAAAADAIoRuAAAAAAAsQugGAAAAAMAihG4AAAAAACxC6AYAAAAAwCKEbgAAAAAALELoBgAAAADAIoRuAAAAAAAsQugGAAAAAMAihG4AAAAAACxC6AYAAAAAwCKEbgAAAAAALELoBgAAAADAIoRuAAAAAAAsQugGAAAAAMAihG4AAAAAACxC6AYAAAAAwCKEbgAAAAAALELoBgAAAADAIoRuAAAAAAAsQugGAAAAAMAiWZzdAQAAgPSyYMEC/fDDDzp16pSuXLkiT09PPfnkk+rTp49KlSolSVq+fLm+/PJLHTlyRDdu3JAkffPNN/Ly8nJm1wEAmRShGwAAZBqLFy/W+fPnVbZsWWXLlk3h4eFas2aNfvrpJ61fv165c+fWjz/+qCNHjqhAgQI6d+6cs7sMAHeVmi8SExIS9Mknnyg0NFQXL15UgQIF1LhxY/Xv31+5cuVy8gggcXg5AADIRFq3bq3vv/9e3377rb777jt17txZkhQREaGdO3dKkkaMGKFffvlFffr0cWZXAeC+Fi9erD179ihPnjwqUqSIzp8/rzVr1uill17StWvXJEnDhg3T9OnTdf78eZUsWVKXL1/W559/rl69eikxMdHJI4BE6AYAAJlI7969Vbx4cfNx9erVzd+zZs0qSSpSpIjc3NweeN8AIK3u90Xi4cOH9dVXX0mS3n77ba1fv17Tpk2TJO3evVubN292Wt/xfwjdAAAgU7Lb7VqxYoUkqVSpUgoMDHRyjwAgbe73ReKPP/5oPn7mmWckSXXr1lW2bNkkSdu2bXtAPcW9ELoBAECmExsbq9dee03bt2+Xp6enZs+ebe7pBoCMKKUvEi9cuGAuL1iwoCTJ1dVV+fPnlySdP3/+wXcUyRC6AQBAphIREaEOHTrohx9+0GOPPaZly5bJ29vb2d0CgH8trV8kGobxAHuH+yF0AwCQRtevX9e0adPUuHFj+fn5KTg4WCNGjFB0dLSzu/bIO3bsmNq2bavDhw+revXqWrFihXmFXwDIiO71RWKxYsXMelFRUZKkxMREXblyRZIcDk2H83DLMAAA0qhXr17avXu33Nzc5O3trfDwcC1fvlyHDh3SihUrlCUL/16dpU+fPuZtwK5fv64ePXqYy1q3bq3WrVtr8uTJ2rhxo65fv24u69atm7JkyaKOHTuqU6dOD7zfgDOFh4fr6aefvuvyPn36qG/fvg+wR0hy7Ngx9ezZU+fOnVP16tU1c+ZM5cuXz1xeq1YtTZkyRZK0ceNGdejQQVu2bFFcXJy5HM7HpwIAANLg+PHj2r17t6RbV4pt3769Tp8+rUaNGunQoUP69ttv1bRpUyf38tGVkJBg/n7kyBGHZUkfPqOionTmzBmHZUnnPXK0Ah5FWbNmVZUqVRzKYmJidOrUKUmSp6enM7oFpe6LxCZNmujrr7/W2LFjtWTJEp09e1bSrYuuNWjQwCn9hiNCNwAAaXD7PU9dXFwk3bpoTZIdO3YQup3o+++/v2+dCRMmaMKECQ+gN0DGULhwYa1cudKh7L333tOpU6fk4eHBnOZEqfkiccKECSpTpozWrFmjs2fPKn/+/GrUqJFef/11h/9PcB5CNwAAaeDl5SWbzaawsDCNGTNGK1asUHh4uLn80qVLTuwdAPx3f//9t1avXi1Jeumll5QrVy4n9+jRlZovEt3d3dWvXz/169fvAfQI/wZffQAAkAZubm6aO3eumjZtqvz58+vs2bOqXr26SpcuLUmczw0gw1u6dKlu3LihrFmzqkOHDs7uDpDh8ckAAIA0Klq0qN5//33zcVxcnJ566ilJUtmyZZ3VLQD4z+Lj47V06VJJUrNmzTifG0gH7OkGACCNDh8+rGvXrkmS7Ha7Jk2apKtXr0qSnnvuOWd2DQD+kzVr1igyMlIuLi7q0qWLs7sDZArs6QYAII1CQkK0atUqlSlTRhEREfr7778lSZ07d5afn5+TewcA/45hGFqwYIEkqW7duvLy8nJyj4DMgdANAEAa+fn5adeuXTp79qwMw1ClSpX00ksvqXXr1s7uWropMfJ1RTi7E0iTomu3ObsLyOC+//578zZhXbt2dXJvgMyD0A0AQBo1b95czZs3d3Y3ACBdJe3l9vPz0xNPPOHk3qQ/vkzMWDLTF4mEbgAAAABasmSJs7sAZEpcSA0AAAAAAIsQugEAAAAAsAihGwAAAAAAixC6AQAAAACwSKa5kNqSJUs0f/58RUREqHz58nr33Xe5VyoAPESe+OS4s7uANFjr7A4AAJBJZIrQ/c0332j8+PEaNWqUqlSpos8//1xdu3bV+vXrVbBgQWd3DwAAAJkQXyZmLHyZCGfJFIeXf/rpp2rTpo1atWolb29vjRo1StmzZ1dISIizuwYAAAAAeIRl+NAdHx+vw4cPKygoyCxzdXVVUFCQ9u3b58SeAQAAAAAedRn+8PK///5bdrs92WHkBQsW1MmTJ5PVT0xMlCRdv35ddrv9gfTx3yqV8+HuHxzFFyvp7C4gDa5eversLjxymNMyFua0jId57cFjXstYmNcylowwp/3zzz+S/i9j3k2GD91pFRcXJ0k6c+aMk3tyf29XdHYPkBYRFd90dheQBhFhYc7uwiOHOS1jYU7LeJjXHjzmtYyFeS1jyUhzWlxcnHLnzn3X5Rk+dOfPn19ubm6KiopyKI+KilKhQoWS1ffw8NBjjz2mbNmyydU1wx9dDwAAAABwgsTERMXFxcnDw+Oe9TJ86M6aNasqVaqknTt3qkGDBpJuDX7nzp3q0KFDsvpZsmThiuYAAAAAgP/sXnu4k2T40C1Jr776qgYPHixfX1/5+fnp888/140bN9SyZUtndw0AAAAA8AjLFKH7ueee0+XLlzVt2jRFRESoQoUKmjdvXoqHlwMAAAAA8KBkmpOaO3TooB9++EGHDh3SF198oSpVqji7S8B/0rFjR40dOzbV9VevXq3q1atb2CMAVkvrdo/UqV+/vj777DNndwNAGkyfPl0vvPBCurcbHh4uHx8fHTly5K51du3aJR8fH8XExEjiMxb+u0wTupF5DRkyRD4+PvLx8VGlSpVUv359TZo0ybwS/e3++usv+fr6qkmTJim2ldTO/v37Hcrj4+NVo0YN+fj4aNeuXVYMA0AGd/tc5Ovrq4YNG2rGjBm6efOm0/qU9OEx6efJJ59Uhw4dtHfv3hTrDx8+XBUqVNC3336bbNn06dPl4+Ojrl27Jls2b948+fj4qGPHjuk+BgAZ3+3z4+0/Kc0nGdFzzz2nDRs2OLsbyMAI3cgQatWqpe3bt2vz5s0aNmyYVqxYoWnTpiWrt3r1ajVu3FjXrl3Tb7/9lmJbxYoV0+rVqx3KNm3apJw5c1rSdwCZR9JctGHDBr366quaMWOG5s+f7+xu6bPPPtP27du1ePFiFS5cWD179lRkZKRDnRs3bmjdunXq1q2bQkJCUmzH09NTu3bt0l9//eVQHhISouLFi1vWfwAZX9L8ePvPhx9+6OxupYvs2bNzIWb8J4RuZAhZs2aVp6enihUrpgYNGigoKEg7duxwqGMYhlavXq0XXnhBTZo00apVq1Jsq3nz5lq3bp15M3vp1gfK5s2b37cfHTt21OjRozV27Fg98cQTCgoK0sqVKxUbG6uhQ4cqICBADRs21NatWx2et3v3br344ovy9fVVcHCw3n//fYe9Y7GxsRo0aJACAgIUHBysBQsWJFt3fHy8Jk6cqFq1asnf31+tW7e+7175pUuXqkGDBvL19VWjRo20Zs2a+44RwN0lzUUlSpTQyy+/rKCgIH3//feS7r+N/v333xowYIBq1aqlKlWqqGnTpvr666/vub4tW7aoWrVq+uqrr+5ZL1++fPL09JTNZlPPnj1T/OJx/fr18vb2Vo8ePbR3715duHAhWTsFCxZUcHCwQkNDzbJff/1Vf//9t+rUqXPf1ycsLEzdunVTQECAgoKC9NZbb+ny5cvm8o4dO2rMmDGaNGmSnnzyST311FOaPn26QxsxMTEaPny4goKCVLlyZTVp0kQ//PCDuXzDhg16/vnn5evrq/r16yebL6OiotSrVy/5+fmpfv36Kb52MTExevvtt1WzZk1VrVpVnTp10h9//HHf8QG4u6T58fafpNso+fj4aPny5erZs6eqVKmiZ599Vvv27dOff/6pjh07yt/fX+3atdOZM2eStbt8+XLVqVNHVapUUf/+/XX16lWH5V988YWeffZZVa5cWY0bN9aSJUsclh84cEDNmzdX5cqV1bJlyxQPK9+6dasaNWokPz8/dezYUefOnXNYfufh5UmHvq9Zs0b169dXtWrV9MYbb+jatWtmnWvXrmngwIHy9/dXcHCwPvvss2SnEC1ZskTPPPOMKleurKCgIPXr1y8NrzgyEkI3MpywsDDt27dP7u7uDuU///yz/vnnHwUFBalZs2Zat26dYmNjkz3f19dXJUqUMA8TOn/+vPbs2ZPq84ZCQ0OVP39+ffHFF+rQoYNGjhyp/v37KyAgQKGhoXrqqac0aNAg3bhxQ5J08eJF9ejRQ5UrV9aXX36pkSNHatWqVZo1a5bZ5qRJk7Rnzx59/PHHmj9/vnbv3q3Dhw87rPe9997Tvn379NFHH+mrr75S48aN1a1bN50+fTrFfm7atEnjxo3Tq6++qrVr16pdu3YaNmyYfv7551SNE8D9ZcuWTQkJCZLuv43Gx8erUqVKmjNnjr7++mu1adNGgwYN0oEDB1Jse+3atRowYIDef/99NWvWLFX9+eeff8wv1+6cI1etWqVmzZopT548ql27drIjfpK0atXKIXSHhISoadOmydq7U0xMjDp37qyKFStq1apVmjdvnqKiovT666871AsNDVXOnDm1cuVKvfXWW5o5c6Z++uknSbdu+dm9e3f9+uuvmjx5sr755hsNHDhQrq63Pq4cOnRIr7/+up577jmtXbtWffr00dSpUx3GMmTIEF24cEELFy7UtGnTtHTpUkVFRTn0oX///oqKitLcuXO1evVqVapUSZ07d9aVK1fuOUYA/97HH39sBtVy5cpp4MCBGj58uHr06KGQkBAZhqH33nvP4TlnzpzRt99+q9mzZ2vevHk6cuSIRo4caS7/6quvNHXqVL3xxhv65ptvNGDAAE2bNs2cw65fv66ePXvKy8tLq1evVt++fTVx4kSHdVy4cEF9+vRRvXr1tGbNGrVu3VoffPDBfcdz5swZfffdd5o9e7Y++eQT7dmzR3PnzjWXT5gwQfv27dOsWbO0YMEC7d271+Gz3cGDBzV27Fj169dP69ev17x58zhvPDMzgIfc4MGDjQoVKhj+/v6Gr6+vYbPZjPLlyxvr1693qDdgwABj7Nix5uNmzZoZISEhDnVsNpuxadMm47PPPjM6duxoGIZhTJ8+3XjttdeM6Ohow2azGT///PNd+9KhQwfjpZdeMh/fvHnT8Pf3N9566y2z7NKlS4bNZjP27dtnGIZhfPjhh0ajRo2MxMREs87ixYsNf39/w263G9euXTMqVapkfPPNN+byv//+2/Dz8zPGjBljGIZhnDt3zqhQoYLx119/OfSnc+fOxgcffGAYhmGEhIQY1apVM5e1bdvWeOeddxzq9+vXz+jevftdxwfg7gYPHmz07t3bMAzDSExMNH766SfD19fXmDBhQqq20ZT06NHDmDBhgvm4Q4cOxpgxY4zFixcb1apVM3bt2nXPPp09e9aw2WyGn5+f4e/vb/j4+Bg2m81o0aKFER8fb9Y7deqUUalSJSMqKsowDMPYtGmTUb9+fYd5adq0aUazZs2M+Ph4IzAw0Ni9e7dx/fp1IyAgwDhy5IgxZswYo0OHDnfty8yZM40uXbo4lF24cMGw2WzGyZMnzfHdPocahmG0atXKmDx5smEYhrFt2zajfPnyZv07DRgwwHj11VcdyiZOnGg899xzhmEYxsmTJw2bzWb89ttv5vLjx48bNpvN+PTTTw3DMIw9e/YYVatWNeLi4hzaadCggbF8+fK7jg/A3d3+We32n1mzZhmGcevz10cffWTW37dvn2Gz2YwvvvjCLPv666+NypUrm4+nTZuWbF7dunWrUb58eePSpUuGYdzabteuXevQl5kzZxpt27Y1DMMwli9fbjz55JPGP//8Yy5funSpYbPZjN9//90wDMP44IMPzDkkyeTJkw2bzWZER0cbhpH8M9a0adOMKlWqGFevXjXLJk6caLRu3dowDMO4evWqUalSJePbb781l8fExBhVqlQxP9tt2LDBqFq1qkMbyLwyxS3DkPnVqFFDI0eO1I0bN/TZZ5/Jzc1NjRo1MpfHxMRo06ZNWrp0qVnWrFkzrVq1KsX7tTdr1kwffPCBzp49q9DQUL3zzjup7ouPj4/5u5ubm/LlyyebzWaWJd2qLmnPyokTJxQQECAXFxezTrVq1RQbG6u//vpLMTExSkhIcLjifr58+VS2bFnzcVhYmOx2uxo3buzQl/j4eOXLly/Ffp48eVJt27Z1KKtataoWLlyY6rECcLRlyxYFBAQoISFBhmGoSZMm6tu3r3bv3n3fbdRut2v27Nlav369Ll68qISEBMXHxyt79uwOz9mwYYMuX76spUuXys/PL1X9+uijj1SuXDkdO3ZMkydP1oQJExz2TIeEhCg4OFgFChSQJNWuXVtvv/22fv75ZwUGBjq05e7urmbNmmn16tU6e/asHnvsMZUvX/6+ffjjjz+0a9cuBQQEJFt25swZc067fQ6Vbp1HnjRfHjlyREWLFnWY/2538uRJPf300w5lSfOa3W7XiRMnlCVLFvn6+prLvby8lDdvXvPx0aNHFRsbqxo1aji0888//6R4aCuA1En6rHa7pMPLJcdtP+n86Ns/PxUsWFBxcXG6du2acufOLenWdXiKFCli1gkICFBiYqJOnTqlXLly6cyZM3r77bf17rvvmnVu3rypPHnySLr1GczHx0fZsmVzaON2J06cSDbX+vv733e8JUqUMPspSYULFzbnsvDwcCUkJDi0mydPHoe5LSgoSMWLF1eDBg1Uq1Yt1apVSw0bNlSOHDnuu25kPIRuZAg5cuRQmTJlJEnjxo3TCy+8oC+++EKtW7eWdOswzLi4OLVp08Z8jmEY5sR85we4/Pnzq27duho2bJji4uJUu3ZtXb9+PVV9yZLFcbNxcXFxKEsK14ZhpH2gdxEbGys3NzeFhITIzc3NYRkXgAMenKQPle7u7ipcuLC57admG50/f74WLlyoYcOGycfHRzly5NC4cePMw9OTVKxYUYcPH1ZISIgqV67s8IXd3RQrVkyPPfaYHnvsMd28eVN9+vTR119/raxZs8putys0NFSRkZGqWLGi+Ry73a5Vq1YlC93SrUPM27Rpo7CwMLVq1SpVr01sbKzq1aunN998M9kyT09P8/eU5tCk+fLOLyCscP36dXl6emrRokXJliV9UAeQdrd/VkvJ7V8EJs1rKZUlJiaman1JpxCOHj062a2Ck05JsdKdc5mUts9+uXPnVmhoqHbv3q3t27dr2rRpmjFjhlatWuXwRSEyB87pRobj6uqqnj17aurUqebF0EJCQtSlSxetWbPG/Pnyyy9VvXr1u16lt1WrVtq9e7eaN2+e7ENyevLy8tK+ffscJuJffvlFuXLlUtGiRVWqVCm5u7s7XPQoOjra4VztChUqyG636/LlyypTpozDz+0fZm9Xrlw5/frrrw5lv/76q7y9vdN3gMAjJOlDZfHixR0+cKVmG/3111/19NNP64UXXlD58uVVqlSpFK/JUKpUKS1cuFDfffedRo8eneY+Nm7cWG5ubuaRP1u3btX169cd5sc1a9boww8/1KZNm8z70N7u8ccfl7e3t44dO6amTZumar2VKlXSsWPHVKJEiWSvQWq/HPTx8dFff/2lU6dOpbj8bvPaY489Jjc3N5UrV043b97UoUOHzOUnT550GGOlSpUUGRkpNze3ZP1MOhIAwMPhwoULunjxovl4//79cnV1VdmyZVWoUCEVLlxYZ8+eTbYtlypVStKtz2BHjx51uM3snbeN9fLy0sGDBx3K7nYHnNQqWbKk3N3dHdq9evVqsjk/S5YsCgoK0qBBg/TVV1/p3LlzXHsnkyJ0I0Nq3LixXF1dtWTJEh05ckSHDx/Wiy++KJvN5vDz/PPPa82aNSneR7d27drauXOn5VeKfPnll/XXX39p9OjROnHihDZv3qzp06fr1Vdflaurq3LlyqVWrVpp8uTJ2rlzp8LCwjRkyBCHvVtly5ZV06ZNNWjQIG3cuFFnz57VgQMH9Mknn2jLli0prrdbt24KDQ3V0qVLdfr0aX366afatGmTunTpYul4gUdRarbRMmXKaMeOHfr111914sQJDR8+PNltvW5vb+HChdq4caPDlW5Tw8XFRR07dtScOXN048YNrVq1SnXr1lX58uUd5sdnn31WefPm1dq1a1Ns5/PPP9f27dtTvcfl5ZdfVnR0tAYMGKADBw7ozJkz2rZtm4YOHSq73Z6qNp588klVr15d/fr1008//aSzZ89q69at+vHHHyVJXbp00c6dOzVz5kydOnVKoaGhWrJkiTmvlStXTrVq1dKIESP022+/6dChQ3rnnXcc9qAHBQXJ399fr732mrZv367w8HD9+uuv+uijj5J98AaQevHx8YqIiHD4uf3uBf9GtmzZNGTIEP3xxx/au3evxowZo2effdb8MrNfv36aM2eOFi5cqFOnTuno0aMKCQnRp59+Kklq0qSJXFxc9M477+j48ePaunVrsjsetGvXTqdPn9bEiRN18uRJrV27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",
"text/plain": [
"<Figure size 1000x500 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data",
"transient": {}
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"Métrica | multi-e5-small | BGE-m3 | Ratio\n",
"------------------------------------------------------------------------------\n",
"RAM modelo (MB) | 684.0 | 110.0 | 0.2x\n",
"Peak RAM encode (MB) | 9.1 | 21.3 | 2.3x\n",
"Embeddings 5000 docs (MB) | 7.3 | 19.5 | 2.7x\n",
"Encode 5000 docs (s) | 2.6 | 9.0 | 3.5x\n",
"Throughput (docs/s) | 1915.6 | 554.9 | 0.3x\n"
]
}
],
"source": [
"# Comparación lado a lado para el corpus más grande\n",
"biggest = df[df['corpus_size'] == max(CORPUS_SIZES)]\n",
"\n",
"fig, ax = plt.subplots(figsize=(10, 5))\n",
"metrics = ['ram_model_mb', 'tracemalloc_peak_mb', 'emb_size_mb']\n",
"labels = ['RAM modelo\\n(MB)', 'Peak RAM encode\\n(MB)', 'Embeddings\\n(MB)']\n",
"x = np.arange(len(labels))\n",
"width = 0.35\n",
"\n",
"for i, (_, row) in enumerate(biggest.iterrows()):\n",
" vals = [row[m] for m in metrics]\n",
" offset = -width/2 + i * width\n",
" bars = ax.bar(x + offset, vals, width, label=row['model'], color=list(colors.values())[i])\n",
" for bar, val in zip(bars, vals):\n",
" ax.text(bar.get_x() + bar.get_width()/2, bar.get_height() + 5,\n",
" f'{val:.0f}', ha='center', va='bottom', fontsize=10, fontweight='bold')\n",
"\n",
"ax.set_xticks(x)\n",
"ax.set_xticklabels(labels)\n",
"ax.set_ylabel('MB')\n",
"ax.set_title(f'Comparación de consumo de memoria ({max(CORPUS_SIZES)} documentos)')\n",
"ax.legend()\n",
"plt.tight_layout()\n",
"plt.show()\n",
"\n",
"# Resumen numérico\n",
"print(f'\\n{\"Métrica\":30s} | {\"multi-e5-small\":>15s} | {\"BGE-m3\":>15s} | {\"Ratio\":>8s}')\n",
"print('-' * 78)\n",
"for _, row_e5 in biggest[biggest['model'] == 'multi-e5-small'].iterrows():\n",
" for _, row_bge in biggest[biggest['model'] == 'BGE-m3'].iterrows():\n",
" for metric, label in [('ram_model_mb', 'RAM modelo (MB)'),\n",
" ('tracemalloc_peak_mb', 'Peak RAM encode (MB)'),\n",
" ('emb_size_mb', f'Embeddings {max(CORPUS_SIZES)} docs (MB)'),\n",
" ('encode_time_s', f'Encode {max(CORPUS_SIZES)} docs (s)'),\n",
" ('docs_per_sec', 'Throughput (docs/s)')]:\n",
" v_e5 = row_e5[metric]\n",
" v_bge = row_bge[metric]\n",
" ratio = v_bge / v_e5 if v_e5 > 0 else float('inf')\n",
" print(f'{label:30s} | {v_e5:>15.1f} | {v_bge:>15.1f} | {ratio:>7.1f}x')"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.13.7"
}
},
"nbformat": 4,
"nbformat_minor": 5
}