From be49893ebd0af211c7fb7b07ad09edd3d54f2ae3 Mon Sep 17 00:00:00 2001 From: Geert Jan Bex Date: Fri, 14 Aug 2026 13:53:23 +0200 Subject: [PATCH 01/33] Add parameterized PINN example --- source-code/pinns/README.md | 5 +- .../pinns/parameterized_heat_equation.ipynb | 1145 +++++++++++++++++ 2 files changed, 1149 insertions(+), 1 deletion(-) create mode 100644 source-code/pinns/parameterized_heat_equation.ipynb diff --git a/source-code/pinns/README.md b/source-code/pinns/README.md index 2ce7f4f..f406402 100644 --- a/source-code/pinns/README.md +++ b/source-code/pinns/README.md @@ -11,5 +11,8 @@ equations in the loss function. equation using a PINN. 1. `pendulum.ipynb`: Jupyter notebook solving the equation of a pendulum with damping using a PINN. - equation using a PINN. +1. `parameterized_heat_equation.ipynb`: Jupyter notebook training one PINN + across a family of heat equations with varying initial conditions and + diffusivities. It uses hard initial and boundary constraints and validates + interpolation and extrapolation against the analytical solution. 1. `environment.yml`: conda environment specification file. diff --git a/source-code/pinns/parameterized_heat_equation.ipynb b/source-code/pinns/parameterized_heat_equation.ipynb new file mode 100644 index 0000000..a262213 --- /dev/null +++ b/source-code/pinns/parameterized_heat_equation.ipynb @@ -0,0 +1,1145 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "9b0c8471", + "metadata": {}, + "source": [ + "# A parameterized heat equation with a physics-informed neural network\n", + "\n", + "The earlier PINN examples in this repository approximate one solution for one\n", + "set of parameters. Here, one neural network approximates an entire family of\n", + "solutions. Its inputs specify position, time, the initial condition, and the\n", + "diffusivity.\n", + "\n", + "## Learning objectives\n", + "\n", + "After working through this notebook, you should be able to:\n", + "\n", + "- distinguish a PINN for one solution from a finite-dimensional parameterized\n", + " solution map;\n", + "- construct a trial solution that satisfies initial and boundary conditions\n", + " exactly;\n", + "- use automatic differentiation to form a partial-differential-equation\n", + " residual;\n", + "- validate a PINN on parameter combinations that were not used as labelled\n", + " training data;\n", + "- explain why interpolation, extrapolation, and a small residual are different\n", + " claims about model reliability.\n", + "\n", + "The default configuration normally runs in well under two minutes on a recent\n", + "CPU. The notebook needs PyTorch, NumPy, and Matplotlib from `environment.yml`.\n", + "Training uses no exact or numerical solution values; the analytical solution is\n", + "reserved for validation." + ] + }, + { + "cell_type": "markdown", + "id": "4096cc5c", + "metadata": {}, + "source": [ + "## 1. Setup\n", + "\n", + "The random seed makes a CPU execution reproducible for a fixed software\n", + "stack. Results can still differ between PyTorch versions and hardware\n", + "backends. CPU is the default because GPU launch and transfer overhead can\n", + "outweigh acceleration for this small network and collocation batch. Create\n", + "`TrainingConfig(use_cuda=True)` to benchmark your hardware rather than\n", + "assuming that an accelerator will be faster.\n", + "\n", + "Problem and training settings are collected in immutable configuration\n", + "objects. Helper functions receive the configuration they need explicitly;\n", + "they do not depend on module-level constants." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "e7522c59", + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-14T11:40:49.511317Z", + "iopub.status.busy": "2026-08-14T11:40:49.511130Z", + "iopub.status.idle": "2026-08-14T11:40:56.740824Z", + "shell.execute_reply": "2026-08-14T11:40:56.739346Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Using device: cpu\n" + ] + } + ], + "source": [ + "import math\n", + "import time\n", + "from dataclasses import dataclass\n", + "\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "import torch\n", + "from torch import nn\n", + "\n", + "\n", + "@dataclass(frozen=True)\n", + "class ProblemConfig:\n", + " x_min: float = 0.0\n", + " x_max: float = 1.0\n", + " t_min: float = 0.0\n", + " t_max: float = 1.0\n", + " coefficient_min: float = -1.0\n", + " coefficient_max: float = 1.0\n", + " kappa_min: float = 0.05\n", + " kappa_max: float = 0.20\n", + "\n", + " def input_bounds(self):\n", + " lower = torch.tensor(\n", + " [\n", + " self.x_min,\n", + " self.t_min,\n", + " self.coefficient_min,\n", + " self.coefficient_min,\n", + " self.kappa_min,\n", + " ]\n", + " )\n", + " upper = torch.tensor(\n", + " [\n", + " self.x_max,\n", + " self.t_max,\n", + " self.coefficient_max,\n", + " self.coefficient_max,\n", + " self.kappa_max,\n", + " ]\n", + " )\n", + " return lower, upper\n", + "\n", + "\n", + "@dataclass(frozen=True)\n", + "class TrainingConfig:\n", + " seed: int = 1729\n", + " use_cuda: bool = False\n", + " epochs: int = 5_000\n", + " collocation_batch_size: int = 512\n", + " learning_rate: float = 2.0e-3\n", + " report_every: int = 500\n", + "\n", + "\n", + "def seed_everything(seed):\n", + " torch.manual_seed(seed)\n", + " if torch.cuda.is_available():\n", + " torch.cuda.manual_seed_all(seed)\n", + "\n", + "\n", + "problem = ProblemConfig()\n", + "training = TrainingConfig()\n", + "\n", + "seed_everything(training.seed)\n", + "using_cuda = training.use_cuda and torch.cuda.is_available()\n", + "device = torch.device(\"cuda\" if using_cuda else \"cpu\")\n", + "print(f\"Using device: {device}\")" + ] + }, + { + "cell_type": "markdown", + "id": "f654a72b", + "metadata": {}, + "source": [ + "## 2. Define the family of problems\n", + "\n", + "We solve the dimensionless heat equation\n", + "\n", + "$$\n", + "\\frac{\\partial u}{\\partial t}\n", + "=\n", + "\\kappa\\frac{\\partial^2 u}{\\partial x^2},\n", + "\\qquad 0\\leq x\\leq 1,\\quad 0\\leq t\\leq 1,\n", + "$$\n", + "\n", + "with homogeneous Dirichlet boundary conditions\n", + "\n", + "$$\n", + "u(0,t)=u(1,t)=0\n", + "$$\n", + "\n", + "and the parameterized initial condition\n", + "\n", + "$$\n", + "u(x,0)=a_1\\sin(\\pi x)+a_2\\sin(2\\pi x).\n", + "$$\n", + "\n", + "The coefficients $a_1$ and $a_2$ select an initial temperature profile, while\n", + "$\\kappa$ controls how quickly it diffuses. We train over\n", + "$a_1,a_2\\in[-1,1]$ and $\\kappa\\in[0.05,0.20]$.\n", + "\n", + "Restricting the initial condition to two basis functions makes this a\n", + "**finite-dimensional parameterized solution map**, not a neural operator for\n", + "arbitrary input functions." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "e4fe2d38", + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-14T11:40:56.743600Z", + "iopub.status.busy": "2026-08-14T11:40:56.743225Z", + "iopub.status.idle": "2026-08-14T11:40:56.749295Z", + "shell.execute_reply": "2026-08-14T11:40:56.748102Z" + } + }, + "outputs": [], + "source": [ + "def initial_profile(x, a1, a2, *, x_min, x_max):\n", + " scaled_x = (x - x_min) / (x_max - x_min)\n", + " return (\n", + " a1 * torch.sin(math.pi * scaled_x)\n", + " + a2 * torch.sin(2.0 * math.pi * scaled_x)\n", + " )\n", + "\n", + "\n", + "def exact_solution(inputs, problem):\n", + " # Used only to evaluate the trained PINN, never during training.\n", + " x, t, a1, a2, kappa = inputs.unbind(dim=1)\n", + " length = problem.x_max - problem.x_min\n", + " elapsed_time = t - problem.t_min\n", + " first_rate = (math.pi / length) ** 2\n", + " second_rate = (2.0 * math.pi / length) ** 2\n", + " profile_1 = initial_profile(\n", + " x,\n", + " a1,\n", + " torch.zeros_like(a2),\n", + " x_min=problem.x_min,\n", + " x_max=problem.x_max,\n", + " )\n", + " profile_2 = initial_profile(\n", + " x,\n", + " torch.zeros_like(a1),\n", + " a2,\n", + " x_min=problem.x_min,\n", + " x_max=problem.x_max,\n", + " )\n", + " return (\n", + " torch.exp(-kappa * first_rate * elapsed_time) * profile_1\n", + " + torch.exp(-kappa * second_rate * elapsed_time) * profile_2\n", + " )" + ] + }, + { + "cell_type": "markdown", + "id": "2e45fd09", + "metadata": {}, + "source": [ + "The second spatial mode has four times the decay rate of the first. Before\n", + "running the next cell, predict how increasing $\\kappa$ changes each curve and\n", + "which mode will disappear first." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "0514253a", + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-14T11:40:56.752104Z", + "iopub.status.busy": "2026-08-14T11:40:56.751923Z", + "iopub.status.idle": "2026-08-14T11:40:57.238038Z", + "shell.execute_reply": "2026-08-14T11:40:57.236061Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "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zJo1S2f02LVrlzzzzDPmbXAFCleujL6T6EPbsmVLPVATiwFXuCdNmuSU90GFN2XKFKlbt65ueUAXp7Fjx8q7775rtU1kZKTu/mILus3h+4Gr1eR6wsLC9DlgxowZutUJXVzQpcmyKxS6PhhXrwGD9vft2ydffPGFfP755xIUFCRLly6VF154wUnvguyBsvvqq690V0b8P3/zzTdWyTjQeo3yRzkDus9hlm7sg23x29C3b1/dPRb7k2s5cOCA/h0AlPN//vMfvQwaNEgvxnnCsmcDxtOg29ucOXN0i3aTJk10ndDHx0eczQ3RhbMPgoiIiIiIXBvHWBARERERkd0YWBARERERkd0YWBARERERkd0YWBARERERkd0YWBARERERkd0YWBARERERkd0YWBARERERkd0YWBARkVPt2LFDOnbsmOs2Dx8+lKefflpPJkVERCUTAwsiInKqGzduyKFDh8zr//rXv+Stt96y2gZzuSKoSE1NdcIREhFRfnjkaysiIqIi0rlzZ9m5c6d5PSkpSY4dO2a1jYeHh+zfv18aNmzIciAiKqHYYkFERLnq0qWLrF69WiZMmKCDgN69e8uePXustrl165Z88MEH8uyzz0rXrl1l1qxZ8uDBA/PjycnJMmrUKN3lqU+fPrJq1SrzY2itwGOwdu1amTt3rvzyyy+66xOWqKgo3RVq2LBhkpCQYN7vypUrMnr0aGnbtq10795dFi5cqFs2DCNGjJCZM2fK119/Lb169ZLnnntOlixZkut7vXjxokRERMju3bvN9x0+fFgiIyNl165d/KYQEeWCLRZERJQrVKwHDBggI0eO1MHDxo0bdYCBrkmNGjXSlXlU2jMzM2XSpEly+/ZtGTt2rBw/flzmzZunn+OFF16QGjVqyF//+le5e/euLF++XCpWrCg9e/a06grVrl07efHFF3Ul3tj38ccff6QrVEZGhg5iQkND5cMPP9StHHhNBAY4BkAQsmDBAt2tCgHIiRMnZOjQoVKtWjV9PLbUrFlTvx6eE60o58+flx49euigBsdGRES5UERERLmoXr266t27t9V9Xbt2Va+99pr++4cfflCenp4qKSnJ/PjWrVuVu7u7On36tMrIyEAzgoqJibF6jvT0dH27atUq5efnZ77/008/VZGRkVbbZmZm6ueIjo7W63PnzlVVq1ZVqamp5m2+/fZbVaFCBXXjxg293q1bN9WmTRur5+nTp496++23cy3vhIQE5eHhoY8rPDxcDR06lN8PIqJ8YFcoIiLKE1ooLKG7k5GhCbdNmjSR4OBgq+5T7u7uurWjfPny0r59exkyZIgemH327Fm9jZeXV6E/ebxm69atxcfHx3wfukOlpaVZjc9AVypLaDVBF6rchIWFyaBBg6Rfv356TMecOXMKfZxERGUJAwsiIsoTui1ZqlSpkrlbEm6xbvXj4u4uFSpUMG+zefNm3Q1pw4YN0rx5cz2O4dSpU4X+5G29phFkWGaOwqBvS25ublbjMGxBcBIXF6e3e+WVV6RcuXKFPk4iorKEgQUREeUJ4yUsoVWgXr16+u/69evr8QwYYG1ITEzUFXxjGwQZGKewbt06PZAb68ZYiEd+mNzd86z84zXj4+Ot7kMwAMZrFkZWVpb0799fvxcM/sYxWg5CJyKinDGwICKiPKELk5GRCRX47777TncXAlzVv3fvnsyYMUOvo1KODFKNGzeWVq1aybVr1+SLL77QLQGArlFoBfD29rb5WkFBQXowNir5OXnjjTf0YGwcB6Snp+sB18g6haCjsN599139/jBA/aOPPtJB0OLFiwv9fEREZQkDCyIiyhPGLyArUoMGDXRXpr59++pMURAQECBLly7VgUWtWrUkMDBQDh48qDM/IYDw8/OTlJQUCQkJ0VmkEDggyPjkk09svhayQmH8Re3atc3pZm2Ng0B6WWSqQhYnPCdeY9GiRYUuzc8++0zWrFkjW7ZsEX9/f6levbputcBxInAhIqLcuWEEdx7bEBFRGYZK9uzZs+Xll1+WM2fO6LEMlgO1DegyhFYNT09Pm60GSEeLcRVVq1bVgYDh5s2bOq1rs2bNrJ7r3Llzen6MOnXq6Ep+bGysHkzt6+tr3u7+/fty8uRJfUzYzhLuR5crpJC17KKFfbIfH34KEQzhfSEAMqAlBl2uwsPDrQaKExHRoxhYEBFRvgKLV199lZ8UERHliF2hiIiIiIjIbmyxICKiXB05ckSPnUAXJiIiopwwsCAiIiIiIruxKxQREREREdmNgQUREREREdmNgQUREREREdmNgQUREREREdmNgQUREREREdmNgQUREREREdmNgQUREREREdmNgQUREREREdmNgQUREREREYm9/g86PJt4eA4AXQAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "x_plot = torch.linspace(problem.x_min, problem.x_max, 301)\n", + "initial_conditions = [\n", + " (1.0, 0.0, r\"$a_1=1,\\ a_2=0$\"),\n", + " (0.0, 1.0, r\"$a_1=0,\\ a_2=1$\"),\n", + " (0.7, -0.6, r\"$a_1=0.7,\\ a_2=-0.6$\"),\n", + "]\n", + "\n", + "fig, ax = plt.subplots(figsize=(8, 4))\n", + "for a1, a2, label in initial_conditions:\n", + " profile = initial_profile(\n", + " x_plot,\n", + " a1,\n", + " a2,\n", + " x_min=problem.x_min,\n", + " x_max=problem.x_max,\n", + " )\n", + " ax.plot(x_plot, profile, label=label)\n", + "ax.set(xlabel=r\"position $x$\", ylabel=r\"initial temperature $u(x,0)$\")\n", + "ax.axhline(0.0, color=\"black\", linewidth=0.7)\n", + "ax.legend()\n", + "ax.set_title(\"Examples from the initial-condition family\")\n", + "fig.tight_layout()" + ] + }, + { + "cell_type": "markdown", + "id": "d96c0bcb", + "metadata": {}, + "source": [ + "## 3. Enforce the conditions by construction\n", + "\n", + "Let $N_\\Phi(x,t,a_1,a_2,\\kappa)$ be an ordinary multilayer perceptron with\n", + "trainable weights and biases $\\Phi$. Rather than using its output directly, we\n", + "define\n", + "\n", + "$$\n", + "\\hat u_\\Phi(x,t;a_1,a_2,\\kappa)\n", + "=u(x,0)+t\\,x(1-x)N_\\Phi(x,t,a_1,a_2,\\kappa).\n", + "$$\n", + "\n", + "At $t=0$, the correction vanishes and the initial condition is exact. At\n", + "$x=0$ and $x=1$, both the sine modes and the factor $x(1-x)$ vanish, so the\n", + "boundary conditions are exact as well. This is a **hard-constrained trial\n", + "solution**. The network only has to learn an interior correction.\n", + "\n", + "The five network inputs are scaled to $[-1,1]$. The scaling bounds are\n", + "registered as model buffers, so they move with the model and are stored in its\n", + "state. Scaling changes what the network sees, but automatic differentiation\n", + "still starts from the physical $x$ and $t$ values." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "762974c4", + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-14T11:40:57.241223Z", + "iopub.status.busy": "2026-08-14T11:40:57.240960Z", + "iopub.status.idle": "2026-08-14T11:40:57.251687Z", + "shell.execute_reply": "2026-08-14T11:40:57.250221Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "ParametricHeatPINN(\n", + " (network): Sequential(\n", + " (0): Linear(in_features=5, out_features=32, bias=True)\n", + " (1): Tanh()\n", + " (2): Linear(in_features=32, out_features=32, bias=True)\n", + " (3): Tanh()\n", + " (4): Linear(in_features=32, out_features=32, bias=True)\n", + " (5): Tanh()\n", + " (6): Linear(in_features=32, out_features=1, bias=True)\n", + " )\n", + ")\n" + ] + } + ], + "source": [ + "class ParametricHeatPINN(nn.Module):\n", + " def __init__(self, problem, width=32, hidden_layers=3):\n", + " super().__init__()\n", + " layers = [nn.Linear(5, width), nn.Tanh()]\n", + " for _ in range(hidden_layers - 1):\n", + " layers.extend([nn.Linear(width, width), nn.Tanh()])\n", + " layers.append(nn.Linear(width, 1))\n", + " self.network = nn.Sequential(*layers)\n", + "\n", + " input_lower, input_upper = problem.input_bounds()\n", + " self.register_buffer(\"input_lower\", input_lower)\n", + " self.register_buffer(\"input_upper\", input_upper)\n", + "\n", + " def forward(self, inputs):\n", + " x, t, a1, a2, _ = inputs.unbind(dim=1)\n", + " scaled_inputs = 2.0 * (\n", + " (inputs - self.input_lower) / (self.input_upper - self.input_lower)\n", + " ) - 1.0\n", + "\n", + " x_min = self.input_lower[0]\n", + " x_max = self.input_upper[0]\n", + " t_initial = self.input_lower[1]\n", + " starting_profile = initial_profile(\n", + " x,\n", + " a1,\n", + " a2,\n", + " x_min=x_min,\n", + " x_max=x_max,\n", + " )\n", + " correction = self.network(scaled_inputs).squeeze(dim=1)\n", + " constraint_factor = (t - t_initial) * (x - x_min) * (x_max - x)\n", + " return starting_profile + constraint_factor * correction\n", + "\n", + "\n", + "model = ParametricHeatPINN(problem).to(device)\n", + "print(model)" + ] + }, + { + "cell_type": "markdown", + "id": "2496da43", + "metadata": {}, + "source": [ + "The hard constraints should hold even though the network has random weights.\n", + "Predict the result before running this numerical check. Values near\n", + "$10^{-7}$ are zero to single-precision round-off." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "42520509", + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-14T11:40:57.253816Z", + "iopub.status.busy": "2026-08-14T11:40:57.253612Z", + "iopub.status.idle": "2026-08-14T11:40:57.297240Z", + "shell.execute_reply": "2026-08-14T11:40:57.295527Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Maximum initial-condition error: 0.000e+00\n", + "Maximum boundary-condition error: 2.357e-07\n" + ] + } + ], + "source": [ + "def random_parameters(n, problem, device):\n", + " coefficient_width = problem.coefficient_max - problem.coefficient_min\n", + " a1 = problem.coefficient_min + coefficient_width * torch.rand(\n", + " n, device=device\n", + " )\n", + " a2 = problem.coefficient_min + coefficient_width * torch.rand(\n", + " n, device=device\n", + " )\n", + " kappa = problem.kappa_min + (\n", + " problem.kappa_max - problem.kappa_min\n", + " ) * torch.rand(n, device=device)\n", + " return a1, a2, kappa\n", + "\n", + "\n", + "with torch.inference_mode():\n", + " n_check = 200\n", + " x = problem.x_min + (problem.x_max - problem.x_min) * torch.rand(\n", + " n_check, device=device\n", + " )\n", + " a1, a2, kappa = random_parameters(n_check, problem, device)\n", + " initial_inputs = torch.column_stack(\n", + " [x, torch.full_like(x, problem.t_min), a1, a2, kappa]\n", + " )\n", + " initial_error = (\n", + " model(initial_inputs) - exact_solution(initial_inputs, problem)\n", + " ).abs().max()\n", + "\n", + " boundary_x = torch.cat(\n", + " [\n", + " torch.full((n_check // 2,), problem.x_min, device=device),\n", + " torch.full((n_check // 2,), problem.x_max, device=device),\n", + " ]\n", + " )\n", + " t = problem.t_min + (problem.t_max - problem.t_min) * torch.rand(\n", + " n_check, device=device\n", + " )\n", + " a1, a2, kappa = random_parameters(n_check, problem, device)\n", + " boundary_inputs = torch.column_stack([boundary_x, t, a1, a2, kappa])\n", + " boundary_error = model(boundary_inputs).abs().max()\n", + "\n", + "print(f\"Maximum initial-condition error: {initial_error.item():.3e}\")\n", + "print(f\"Maximum boundary-condition error: {boundary_error.item():.3e}\")" + ] + }, + { + "cell_type": "markdown", + "id": "c66ca8e2", + "metadata": {}, + "source": [ + "## 4. Build the physics loss\n", + "\n", + "For each collocation point we compute\n", + "\n", + "$$\n", + "r_\\Phi=\n", + "\\frac{\\partial \\hat u_\\Phi}{\\partial t}\n", + "-\\kappa\\frac{\\partial^2 \\hat u_\\Phi}{\\partial x^2}.\n", + "$$\n", + "\n", + "The loss is the mean of $r_\\Phi^2$. There is no labelled target value and no\n", + "separate initial- or boundary-condition loss.\n", + "\n", + "`torch.autograd.grad` differentiates the network output with respect to its\n", + "inputs. The model contains no operations that mix examples within a batch, so\n", + "the gradient obtained from the summed outputs contains the derivative for each\n", + "corresponding row." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "10748283", + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-14T11:40:57.300736Z", + "iopub.status.busy": "2026-08-14T11:40:57.300444Z", + "iopub.status.idle": "2026-08-14T11:40:57.306867Z", + "shell.execute_reply": "2026-08-14T11:40:57.304954Z" + } + }, + "outputs": [], + "source": [ + "def sample_collocation_points(n, problem, device):\n", + " x = problem.x_min + (problem.x_max - problem.x_min) * torch.rand(\n", + " n, device=device\n", + " )\n", + " t = problem.t_min + (problem.t_max - problem.t_min) * torch.rand(\n", + " n, device=device\n", + " )\n", + " a1, a2, kappa = random_parameters(n, problem, device)\n", + " return torch.column_stack([x, t, a1, a2, kappa]).requires_grad_(True)\n", + "\n", + "\n", + "def physics_residual(model, inputs, *, create_parameter_graph=True):\n", + " u = model(inputs)\n", + " first_derivatives = torch.autograd.grad(\n", + " u,\n", + " inputs,\n", + " grad_outputs=torch.ones_like(u),\n", + " create_graph=True,\n", + " )[0]\n", + " du_dx = first_derivatives[:, 0]\n", + " du_dt = first_derivatives[:, 1]\n", + " d2u_dx2 = torch.autograd.grad(\n", + " du_dx,\n", + " inputs,\n", + " grad_outputs=torch.ones_like(du_dx),\n", + " create_graph=create_parameter_graph,\n", + " )[0][:, 0]\n", + " return du_dt - inputs[:, 4] * d2u_dx2" + ] + }, + { + "cell_type": "markdown", + "id": "26d4d3f0", + "metadata": {}, + "source": [ + "## 5. Train across time, space, and parameters\n", + "\n", + "Every epoch samples new values of $(x,t,a_1,a_2,\\kappa)$. Consequently, the\n", + "loss need not decrease monotonically: adjacent epochs use different\n", + "collocation points. The analytical solution is not called by the training\n", + "loop." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "74014f8e", + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-14T11:40:57.309243Z", + "iopub.status.busy": "2026-08-14T11:40:57.308969Z", + "iopub.status.idle": "2026-08-14T11:41:24.843713Z", + "shell.execute_reply": "2026-08-14T11:41:24.842119Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "epoch 500: physics loss = 6.439e-02\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "epoch 1000: physics loss = 2.266e-02\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "epoch 1500: physics loss = 1.334e-02\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "epoch 2000: physics loss = 1.156e-02\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "epoch 2500: physics loss = 4.647e-03\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "epoch 3000: physics loss = 7.178e-03\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "epoch 3500: physics loss = 5.673e-03\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "epoch 4000: physics loss = 1.821e-03\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "epoch 4500: physics loss = 2.387e-03\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "epoch 5000: physics loss = 2.130e-03\n", + "Training time: 25.8 s\n" + ] + } + ], + "source": [ + "def train_pinn(model, problem, training, device):\n", + " optimizer = torch.optim.Adam(\n", + " model.parameters(),\n", + " lr=training.learning_rate,\n", + " )\n", + " loss_history = []\n", + "\n", + " if device.type == \"cuda\":\n", + " torch.cuda.synchronize()\n", + " start_time = time.perf_counter()\n", + "\n", + " model.train()\n", + " for epoch in range(training.epochs):\n", + " inputs = sample_collocation_points(\n", + " training.collocation_batch_size,\n", + " problem,\n", + " device,\n", + " )\n", + " optimizer.zero_grad(set_to_none=True)\n", + " residual = physics_residual(model, inputs)\n", + " loss = residual.square().mean()\n", + " loss.backward()\n", + " optimizer.step()\n", + " loss_history.append(loss.item())\n", + "\n", + " if (epoch + 1) % training.report_every == 0:\n", + " print(f\"epoch {epoch + 1:5d}: physics loss = {loss.item():.3e}\")\n", + "\n", + " if device.type == \"cuda\":\n", + " torch.cuda.synchronize()\n", + " elapsed_seconds = time.perf_counter() - start_time\n", + " return np.asarray(loss_history), elapsed_seconds\n", + "\n", + "\n", + "loss_history, elapsed_seconds = train_pinn(\n", + " model,\n", + " problem,\n", + " training,\n", + " device,\n", + ")\n", + "print(f\"Training time: {elapsed_seconds:.1f} s\")" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "5f7dd60a", + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-14T11:41:24.846903Z", + "iopub.status.busy": "2026-08-14T11:41:24.846339Z", + "iopub.status.idle": "2026-08-14T11:41:25.132536Z", + "shell.execute_reply": "2026-08-14T11:41:25.131244Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots(figsize=(7, 4))\n", + "ax.semilogy(np.arange(1, len(loss_history) + 1), loss_history)\n", + "ax.set(xlabel=\"epoch\", ylabel=\"mean squared physics residual\")\n", + "ax.set_title(\"Training history\")\n", + "fig.tight_layout()" + ] + }, + { + "cell_type": "markdown", + "id": "1dc127fd", + "metadata": {}, + "source": [ + "## 6. Validate on unseen parameter combinations\n", + "\n", + "A small training residual is not sufficient evidence that the predicted\n", + "solution is accurate throughout the domain. Because this problem has an\n", + "analytical solution, we can test complete trajectories for parameter\n", + "combinations that were not supplied as labelled data.\n", + "\n", + "The three cases below are within the training ranges. They are *held out* in\n", + "the sense that the continuously sampled training process was never given their\n", + "analytical solution values—not in the sense that random collocation could\n", + "never draw nearby parameter values." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "e7f58e24", + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-14T11:41:25.134721Z", + "iopub.status.busy": "2026-08-14T11:41:25.134486Z", + "iopub.status.idle": "2026-08-14T11:41:25.153411Z", + "shell.execute_reply": "2026-08-14T11:41:25.152211Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " a1 a2 kappa relative L2 maximum error\n", + " 0.75 -0.50 0.080 2.111e-02 2.159e-02\n", + " -0.40 0.90 0.170 2.930e-02 1.724e-02\n", + " 0.20 -0.80 0.125 1.585e-02 1.112e-02\n" + ] + } + ], + "source": [ + "def make_evaluation_inputs(\n", + " a1,\n", + " a2,\n", + " kappa,\n", + " problem,\n", + " device,\n", + " *,\n", + " n_x=101,\n", + " n_t=51,\n", + "):\n", + " x = torch.linspace(problem.x_min, problem.x_max, n_x, device=device)\n", + " t = torch.linspace(problem.t_min, problem.t_max, n_t, device=device)\n", + " tt, xx = torch.meshgrid(t, x, indexing=\"ij\")\n", + " inputs = torch.column_stack(\n", + " [\n", + " xx.ravel(),\n", + " tt.ravel(),\n", + " torch.full_like(xx.ravel(), a1),\n", + " torch.full_like(xx.ravel(), a2),\n", + " torch.full_like(xx.ravel(), kappa),\n", + " ]\n", + " )\n", + " return inputs, x, t\n", + "\n", + "\n", + "def solution_error(model, a1, a2, kappa, problem, device, **grid_options):\n", + " inputs, _, _ = make_evaluation_inputs(\n", + " a1,\n", + " a2,\n", + " kappa,\n", + " problem,\n", + " device,\n", + " **grid_options,\n", + " )\n", + " model.eval()\n", + " with torch.inference_mode():\n", + " prediction = model(inputs)\n", + " reference = exact_solution(inputs, problem)\n", + " difference = prediction - reference\n", + " relative_l2 = (\n", + " torch.linalg.vector_norm(difference)\n", + " / torch.linalg.vector_norm(reference)\n", + " )\n", + " return relative_l2.item(), difference.abs().max().item()\n", + "\n", + "\n", + "held_out_cases = [\n", + " (0.75, -0.50, 0.080),\n", + " (-0.40, 0.90, 0.170),\n", + " (0.20, -0.80, 0.125),\n", + "]\n", + "\n", + "print(\" a1 a2 kappa relative L2 maximum error\")\n", + "for case in held_out_cases:\n", + " relative_l2, maximum_error = solution_error(\n", + " model,\n", + " *case,\n", + " problem,\n", + " device,\n", + " )\n", + " print(\n", + " f\"{case[0]:6.2f} {case[1]:6.2f} {case[2]:7.3f}\"\n", + " f\" {relative_l2:10.3e} {maximum_error:10.3e}\"\n", + " )" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "c89e3637", + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-14T11:41:25.155659Z", + "iopub.status.busy": "2026-08-14T11:41:25.155472Z", + "iopub.status.idle": "2026-08-14T11:41:25.555826Z", + "shell.execute_reply": "2026-08-14T11:41:25.554537Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "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U1N15TfpBi4tzqVLl1aPmzVrhtWrV+Pdd99Vj+WuhWQYb9GixUP3IfNoZzeXtrwRpgqK5c015f4sDcuPZWgOeB6y/ArTOZjXfbDuLBj4vcXyy288B1l+llp35uq31axZU7Xy7tixA09KQkICTp06pRYhLdTyf2mZTjd58mTUrl074/FHH32kpv764IMPsHPnTrz66qtqu5EjRz6x4yQiIiIiIiJKl+v+YvPnz1fB608//YRq1arB1dU1y/PBwcFo3rx5bnevuqQPHjxY/b9s2bL4+eef1fLMM8/giy++yEhqVqZMmSzB//r16zF27FisXLlStXBv2bIFJUuWzPVxEBERERERET3xIHvNmjX466+/cPPmTfz+++/ZZhfPS5Bdv379jFbsh3n99dfVklmjRo3UQkRERERERFQggmzpgt23b1/Vqjxw4MBss4s7Ozub6hiJiIiIiIiICm+QvXfvXlSqVAm//fab6Y+IiIiIiIiIqIDKVeIzf39/NWUWEREREREREeUxyK5Vq5aak3r37t252ZyIiIiIiIioUMpVd/GLFy+ibdu2Kvt33bp1s80uXqJECTRt2tRUx0lERERERERUOINsacGWOajFyZMns32NZBdnkE1ERERERESWJFdBdseOHR8aXKdzcXHJ7TERERERERERWU6QLdNzlStXzvRHQ0RERERERGRpQXa6+Ph4LF68GMeOHVNBt4zRjoqKUvNoV6hQwXRHSURERERERFRYs4uLgwcPokyZMhg4cCC+/fZb/Pvvv2k71GrRvn17JCQkmPI4iYiIiIiIiApnkK3X69GrVy+VWfzMmTOYM2dOxnOSZbxNmzb4888/TXmcRERERERERIUzyJbs4qmpqZg/fz5Kly6tWq8zq1SpEufQJiIiIiIiIouTqyD7xo0bqFy5MmxsbNRjjUaT5Xl7e3vcuXPHNEdIREREREREVJiDbG9vbzWFl8FgyPb5/fv3o1ixYnk9NiIiIiIiIqLCH2TLWOzo6Gj83//9n+o2nrkle8uWLZg1axY6d+5syuMkIiIiIiIiKpxTeNna2mLixIl47rnnMHfuXPj6+iIiIgLNmzdXQbZM5VWnTh3THy0RERERERFRYZzCq2/fvmrarqCgIBw+fBgXLlzAlStXMGbMGEyfPt20R0lERERERERUWFuy07Vq1UotQsZn359lnIiIiIiIiMiS5CoqXr9+PT799NOsO8oUYGf3PBEREREREVFhl6sgOzw8HKdOnXrk86dPn87LcREREREREREVOE+kf3doaCgcHByexK6JiIiIiIiICv6Y7L1792LatGnq/5Lk7PLly3jppZceeJ1M7SUJ0UaPHm3aIyUiIiIiIiIqLEF2SEgIli5dqv6fnJyMpKSkjMfpZL5sLy8vvPDCC9kG4ERERERERESFWY6D7O7du6tFzJ8/XwXY8pOIiIiIiIiI8jCFV69evTICbiIiIiIiIiLKQ5BtZWWlFiIiIiIiIiJ6wtnFiYiIiIiIiCwRg2wiIiIiIiIiE2GQTURERERERGQpQbbBYEBUVBSMRmOOt5HX3r59+4keFxEREREREVGBCrK/+eYbeHp6wt/fH76+vvjll18e+XoJrPv27QsHBwcEBQXB0dERL7/8MhITE5/aMRMREREREZHlMtsge8GCBfi///s//Pnnn0hISMAPP/ygAubNmzc/dJt3330Xe/fuxdmzZ1XAvW/fPjWf91dfffVUj52IiIiIiIgsk9kG2ZMmTVJzcbdp0wYajQb9+vVDgwYNMGXKlIduc/r0aTRr1gyBgYHqcfny5VGnTh21noiIiIiIiMgig2wZhy2t0I0aNcqyvkmTJtizZ89Dt3vllVfw999/Y9WqVbh8+bJqDd+5cyeGDBnyFI6aiIiIiIiILJ0VzFBcXJwaR+3l5ZVlvbe3N27evPnQ7Xr37o3du3ejQ4cOcHZ2Rnx8PD799FO0atXqodskJSWpJV1MTExGoC9LXsk+JBGbKfZliVh+LENzwPOQ5VfYzsG87od1p/nj9xbLL7/xHGT5WXLdaZZBtnQPF3q9Pst6eazT6R7Zkr19+3ZcvHhRJT47ceIEWrdurbb77LPPst1mzJgx2T4nGc3v//25fTNiY2PVG6zVmmXHAbPG8mMZmgOehyy/wnYOyr7ygnWn+eP3Fssvv/EcZPlZct1plkG2tEK7uLggLCwsy3p5LJnGH1aIv/32G77//nsVYIsKFSrgxRdfVFnJHxZkjxo1CiNGjMjSkl20aFG4u7urY8grOS65aSD7Y5DN8ssPPAdZhvmN56D5laGVVd6qf9ad5o+fO5ZffuM5yPKz5LrTLINs0bhxY6xduzZLAPzvv/+qcdmZu5VL5nEfHx9VcPb29qqLeGbyGpnK62FsbW3Vcj/Zn6mCYnlzTbk/S8PyYxmaA56HLL/CdA7mdR+sOwsGfm+x/PIbz0GWn6XWnWYb9cld8nXr1mHcuHE4efIk3nvvPZw7dw7vvPNOxmvGjx+PMmXKZDx+7rnn1Nzay5YtU13G582bh+nTp2PAgAH59FcQERERERGRJTHbluyGDRti+fLlGD16tJq2q3Tp0qplu1y5chmvcXJygq+vb8bjb7/9VnX1lrFi0rU8ICAAY8eOVWO1iYiIiIiIiCw2yBbt27dXy8OMHDlSLZm7r0mLtyxERERERERET5vZdhcnIiIiIiIiKmgYZBMRERERERGZCINsIiIiIiIiIhNhkE1ERERERERkIgyyiYiIiIiIiEyEQTYRERERERGRiTDIJiIiIiIiImKQTURERERERGRe2JJNREREREREZCIMsomIiIiIiIhMhEE2ERERERERkYkwyCYiIiIiIiIyEQbZRERERERERCbCIJuIiIiIiIjIRBhkExEREREREZkIg2wiIiIiIiIiE2GQTURERERERGQiDLKJiIiIiIiITIRBNhEREREREZGJMMgmIiIiIiIiMhEG2UREREREREQmwiCbiIiIiIiIyEQYZBMRERERERGZCINsIiIiIiIiIhNhkE1ERERERERkIgyyiYiIiIiIiEyEQTYRERERERGRiTDIJiIiIiIiIjIRBtlERERERERElhRkGwyGXG1nNBpNfixEREREREREBTLInjFjBooVKwZra2uUKlUKixYt+s9tLl++jGeffRZOTk5wd3fH0KFDERMT81SOl4iIiIiIiCyb2QbZK1aswGuvvYbx48cjNjYWI0aMQJ8+fbB79+6HbnPr1i00bNhQ/f/cuXMIDw9HvXr1sHnz5qd45ERERERERGSpzDbI/v7779GlSxfVKu3g4IBhw4ahVq1amDhx4kO3GT16tPo5Z84cFClSRLWADx48GJ07d36KR05ERERERESWyiyDbBlLLS3WTZs2zbK+efPm2Llz5yNbv7t16wZbW9tcj+MmIiIiIiIiyi0rmCHpHp6QkABvb+8s6318fBAWFvbQ7S5dugRnZ2e0aNECW7duhYeHB3r16oWvv/5arc9OUlKSWtKlj9+WIN0UgbrsQ24aMOhn+eUXnoMsw/zGc9D8yjCv+2Hdaf74uWP55Teegyw/S647zTLIftgfIo81Gs1DXy+F+N1332Hh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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "a1, a2, kappa = held_out_cases[0]\n", + "times_to_plot = np.linspace(problem.t_min, problem.t_max, 4)\n", + "x = torch.linspace(problem.x_min, problem.x_max, 301, device=device)\n", + "\n", + "fig, axes = plt.subplots(2, 2, figsize=(10, 7), sharex=True, sharey=True)\n", + "model.eval()\n", + "for ax, current_time in zip(axes.flat, times_to_plot):\n", + " inputs = torch.column_stack(\n", + " [\n", + " x,\n", + " torch.full_like(x, current_time),\n", + " torch.full_like(x, a1),\n", + " torch.full_like(x, a2),\n", + " torch.full_like(x, kappa),\n", + " ]\n", + " )\n", + " with torch.inference_mode():\n", + " predicted = model(inputs).cpu()\n", + " exact = exact_solution(inputs, problem).cpu()\n", + " ax.plot(x.cpu(), exact, label=\"analytical\", linewidth=2)\n", + " ax.plot(x.cpu(), predicted, \"--\", label=\"PINN\")\n", + " ax.set_title(f\"t = {current_time:.2f}\")\n", + " ax.grid(alpha=0.25)\n", + "\n", + "axes[0, 0].legend()\n", + "fig.supxlabel(r\"position $x$\")\n", + "fig.supylabel(r\"temperature $u(x,t)$\")\n", + "fig.suptitle(\n", + " rf\"Unseen in-range case: $a_1={a1}$, $a_2={a2}$, $\\kappa={kappa}$\"\n", + ")\n", + "fig.tight_layout()" + ] + }, + { + "cell_type": "markdown", + "id": "89699a2d", + "metadata": {}, + "source": [ + "### Check the residual independently\n", + "\n", + "The next estimate uses fresh collocation points. Compare its scale with the\n", + "trajectory errors above. They measure different things: a local differential\n", + "equation residual and accumulated solution error, respectively." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "5f37e573", + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-14T11:41:25.557672Z", + "iopub.status.busy": "2026-08-14T11:41:25.557486Z", + "iopub.status.idle": "2026-08-14T11:41:25.571770Z", + "shell.execute_reply": "2026-08-14T11:41:25.570031Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Fresh-collocation residual RMSE: 4.469e-02\n", + "Fresh-collocation maximum absolute residual: 1.011e+00\n" + ] + } + ], + "source": [ + "model.eval()\n", + "validation_inputs = sample_collocation_points(5_000, problem, device)\n", + "validation_residual = physics_residual(\n", + " model,\n", + " validation_inputs,\n", + " create_parameter_graph=False,\n", + ").detach()\n", + "\n", + "print(\n", + " \"Fresh-collocation residual RMSE: \"\n", + " f\"{validation_residual.square().mean().sqrt().item():.3e}\"\n", + ")\n", + "print(\n", + " \"Fresh-collocation maximum absolute residual: \"\n", + " f\"{validation_residual.abs().max().item():.3e}\"\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "4eb100eb", + "metadata": {}, + "source": [ + "## 7. Exercise: interpolation is not extrapolation\n", + "\n", + "**Timebox: 10 minutes.** Before running the cell, rank the following cases by\n", + "expected error and justify the ranking.\n", + "\n", + "1. A smooth, first-mode-dominated profile inside all training ranges.\n", + "2. A second-mode-dominated profile inside all training ranges.\n", + "3. A diffusivity outside the training interval.\n", + "4. An initial-condition coefficient outside the training interval.\n", + "\n", + "Then compare the numerical result with your prediction. Do not infer a general\n", + "law from one training run: explain which result is consistent with your\n", + "reasoning and which result would require repeated runs or a broader test grid." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "da15efee", + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-14T11:41:25.574030Z", + "iopub.status.busy": "2026-08-14T11:41:25.573853Z", + "iopub.status.idle": "2026-08-14T11:41:25.582717Z", + "shell.execute_reply": "2026-08-14T11:41:25.581729Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "case relative L2 maximum error\n", + "first mode, in range 3.500e-02 3.261e-02\n", + "second mode, in range 1.471e-02 1.096e-02\n", + "diffusivity extrapolation 1.187e-01 8.093e-02\n", + "coefficient extrapolation 2.633e-01 3.361e-01\n" + ] + } + ], + "source": [ + "reasoning_cases = {\n", + " \"first mode, in range\": (0.90, 0.10, 0.100),\n", + " \"second mode, in range\": (0.10, 0.90, 0.100),\n", + " \"diffusivity extrapolation\": (0.90, 0.10, 0.250),\n", + " \"coefficient extrapolation\": (0.10, 2.00, 0.100),\n", + "}\n", + "\n", + "print(\"case relative L2 maximum error\")\n", + "for label, case in reasoning_cases.items():\n", + " relative_l2, maximum_error = solution_error(model, *case, problem, device)\n", + " print(f\"{label:28s} {relative_l2:10.3e} {maximum_error:10.3e}\")" + ] + }, + { + "cell_type": "markdown", + "id": "decfc2f4", + "metadata": {}, + "source": [ + "### Map error across the parameter family\n", + "\n", + "A few attractive trajectories can hide uneven performance. The heat map below\n", + "holds $\\kappa$ fixed and evaluates a grid of unseen coefficient combinations.\n", + "Look for structure: does error depend only on the size of the coefficients, or\n", + "also on which spatial mode dominates? The center is marked `N/A` because the\n", + "relative error is undefined when both the prediction and exact solution are\n", + "identically zero." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "18cdfe68", + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-14T11:41:25.584438Z", + "iopub.status.busy": "2026-08-14T11:41:25.584268Z", + "iopub.status.idle": "2026-08-14T11:41:25.916978Z", + "shell.execute_reply": "2026-08-14T11:41:25.915772Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAqkAAAHqCAYAAAAnAteYAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjExLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvctoD+AAAAAlwSFlzAAAPYQAAD2EBqD+naQAAdO1JREFUeJzt3QecE1XXx/Gz9N57ly5SFGwIUkQBRQWxY3lQVOwVFfRRwYa9F1BE7GIXFFSsWAAFBRsCivQqvbed9/O/Psmb7GaXJMxmk+zv62dkM5mZnUnbk3PvPTfD8zzPAAAAgCRSKL9PAAAAAMiKIBUAAABJhyAVAAAASYcgFQAAAEmHIBUAAABJhyAVAAAASYcgFQAAAEmHIBUAAABJp0h+nwCAgmXWrFm2ZMkSa926tdWtWze/TwcAkKTIpAJIiGXLltmRRx5p//nPf+ypp56yFi1a2P3338+jDwCIKINpUQEkwrx582zVqlXWoUMHd/vrr7+2Ll262D///GMVK1bkSQAAhCGTCuSDqVOn2gMPPGB79uzx7Zhbt251x5w5c6YloyZNmgQDVGnVqpVlZmbaunXr8vW8AADJiT6pwF4sWrTI3njjjeDtQoUKWaVKlezQQw91Tdbx+PTTT+2WW26xyy+/3AoXLhzTvh988IEtX77cLrzwwrD1GzdutOuvv94ef/xxO/DAAy3Rnn/+efM8z84///yoth81apQdcMABtt9++1lBN3LkSNc/97jjjrNUMGfOHJs8ebL7kqX3Qdu2bWPOqn/88ce2fft2u+yyy6xkyZIRt5sxY4b9+uuv7vc0b97c2rdvbxkZGWHb/PLLL+5YkZxzzjlWvXr1mM4NQPIgkwrsxdy5c13wpz+EK1ascEHrK6+84gKs008/3Xbt2pXQx/Dll1+2u+66K9v60qVL23XXXWcHHXSQJZoeg0suucTeeeedqLbXY3nPPfe4a8kadBREd9xxh7366quWCm688UZr06aNff755/b9999b586d7dxzz42qVWDcuHHu9dmrVy974okn3Ptqy5Yt2bb75JNPXFDarVs394VOXUN69+7tAmIFyKGmTZvmjvP777+792fokuj3JgB/kUkFonTyySfbxRdfHLw9fPhwu+mmm9wf6UsvvTTfH8eyZcu65v788Ntvv9mOHTuiCpAV3Jx11lkuoM2PjC/ip0D6vvvuszfffNNOOeUUt07vCWU4W7ZsaTfccMNeX6OjR492rxPtlzXgDPjuu+9cd5ApU6YE+yur73K7du3spJNOcq+3rF9u9LsV2AJIHwSpQJzUlKgg9bPPPssWpP7000/2ww8/uEyOSi1pVPvejB071hYvXux+VheAqlWrugA4tEyTggT9YVfTfmhAes0117ggUaPmjz76aBf8qd/rN99847oFlC9fPttIex2rZ8+eLrgIzRprH2W31IdUxypSZO8fE9OnT3f/7q3ZVxmx0047zV577TXr1KmTxUJdHL744gsXrNSuXdt69OhhZcqUCd6/cuVKe+mll+zEE090XQgmTpxo8+fPt1NPPdU9Xh9++KGdd955Vrx4cffz0qVLXfY30NSswEdBkR5HBTsa1BXaFUPHUmB95plnuu4eEyZMcFl1HbNChQoRz/mhhx5y/W6lWLFiVqdOHZcdDDwf6h7x4IMP2ubNm2327NnB57RGjRp29tln5/hYqAlcXUVuvfVWO+qoo9w6ZQ61rlq1au6YOTWh74tHHnnEmjZtGgxQRdnNY445xh599FEbNGiQ6w6Tk65du0b1e9RCoecgNBCtUqWKnXHGGS5I1nuAgBRIfwSpQJwCAYwCjQANAlIQo0BPTZpqgldT7v7772/vvfdetmAx1Nq1a12gIQqU3n//fevfv78LdK688kq3fs2aNbZt2zbXtBrYNnAOWfuk6vx0W+egYCzUiBEj7O6773Z/9GXnzp120UUXucD12GOPdf34Hn74YStVqpQLxurVq5frY6G+g5JbJvWPP/5wj4ky0rqO119/3a1XkKXAKjd33nmnexyPOOIIa9asmb3wwgvui4EeU2XxRAG+rleBq65DgawC0YMPPtgWLFjg7qtfv77de++9LjDXOauZWkH4gAEDXOCs81PAefvtt7vHQM3TDRo0cMdXc7KOoQBSTdUK1rTuhBNOyDFIVeAcaAbftGmT63uqPrs6roJ0PW96HrWNntfAc1q0aNFcHw9lGr/66iv3RUbU7N63b193rbq+SAGqHm/Vp90bvUaz9ncWfXHRlxG9JrPq2LGj68KhLzl+BI96v0Syfv36bO+50L7aOgedvwbo6UsWgBSnElQAcjZp0iT9RfSefvrpsPWPP/64W//QQw8F1/Xq1curVKmS99dffwXXrVixwqtZs6bXv3//4Lo77rjD7btt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uh5aikqD79XanudB6lFHHWU33nijzZs3LyxI/fDDD+3VV1+1H374wQqyUsWrWkbGvhewTRZFC5W0dFOqcGVLN8ULp/6HXFZ/zK5i6abKHv/qByaLtTvT75rW7Uy/99OudJl7M8SOfLwmz/t38etYqe63336z0aNHu5/PPffcbPcfdthhriU+z4NUjeZXX1TNx1qtWjU3o8DEiRPdaH+tb9OmTcwnAQAAgNR02GGHuWlQcxJvgf+4RvcPGjTIunbtam+++aYtXbrUKleubE8++aR16dIlrpMAAABIFSrk718x/9TP3GdkZLg6+n6LK0iVdu3auQUAAACYNWuWa11XKdLrrrvOlaaaMWOGHXnkkXE9OHHlX3ft2mWPP/64de/e3Q2U6tatmw0fPjzXVC8AAEA68P43cMqPRcdKB6NHj7b27dvb66+/7lrapVSpUnb99dfbjz/+mJggVSO4ND3qbbfdZg0bNrSzzjrLBaqPPfaYOznNOgUAAJCuAgOn/FpS3c6dO13m9LPPPrORI0eG3TdgwAB74oknEhOkTpo0yY3snz17to0YMcJuvvlml1WdM2eOy7COHTs2rhMBAABA6pk3b57Vrl3bJSuzlidVQvPPP/9MTJ/UP/74w3r27GnVq1cPW68aWH379nXBKgAAQLpi4FS44sWL51jI/9dff7WqVataQjKpKjv1888/u6L+WanPQbwnAgAAkArUj9TPJdU1btzYypcvb4888kjYejX/33777W6m0oRkUnv16mXXXnutnXDCCTZw4ECX3l25cqWNGTPGvvnmG3v22WfjOhEAAACkpldffdWOO+4427x5s+3Zs8e1uK9atcr69+/vxi8lJEgtW7asffnll3b11Ve75n2diIq0duzY0a2vVatWXCcCAACQCjK9fxe/jpUO2rRpY3PnzrX333/fdf1U3VTVz1c/1YTWSW3atKlNmDDBDZRatmyZ1ahRw/VHAAAASHf0SY2sdOnS1q9fP/NLoXhHcS1atMgVa61fv74LUFesWOHmbgUAAAASHqSuXbvW+vTpY8WKFcsWPZ955pkueAUAAEhXDJxK0iBV0121bdvWNfFn7auqIv/vvvuun+cHAACAAijmPqkataW+qDnNOKBMKwAAQLpi4FSSZlKPOOIIGz9+vKuVGurvv/+2V155xTp06ODn+QEAACQVmvsjmzVrlt1z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1doeateuXfbyyy/HPQV1zEGqZhG47rrrXJ9UNfcH+qTOnz/f9VE96aST4joRAAAApI7ff//djjnmmODt0J+lRIkS1rJlS3vhhRfiOn5c1VbvuOMON6pLI/m7dOliV1xxhf38889uKiwAAIB05v2vTqofi44Vi3nz5tlpp51mzZs3t06dOtmbb765z/t4nmdvvPGG9erVy1q0aOGCTU11vzcaSK99p0+fbj169HA/hy7btm2zH374wR0zocX8GzdubJdffnm8uwMAAKQkFd7M9PFY0Vq7dq0LMjVQXTN9Tps2zXW/VAnQvn37xr3PmDFjXImoq666yurWrWvfffedDRw40NavX+8SkXvTrl07N9uU3+IKUjdt2mT33HOPjR8/3pYsWWI1a9a0o48+2m655RarUqWK7ycJAABQ0I0cOdJ27tzpms+LFi3qgsMZM2bY7bffnmOQGs0+5557rp133nnBfVScX0HnxIkTowpSs1I9fWVSA1QJSkFxnjf3qw5W586d7dVXX3UXd//997uIfNKkSa5mlkZxAQAApCvPy/B1idaXX35pRx11lAs2AzSIfdasWS7rGe8+WQNIVWpSxlXxXrQ0uv/000+36tWrW5EiRdzvCywdOnSweMQcpCqq1gguXdzQoUNtwIABdvPNN9tPP/1klSpVstdeey2uEwEAAEil5n6/FlFsFbrs2LEj2+9V63WNGjXC1gVuL126NOK5xrLPAQcc4AbEq0unAs4bb7wx6sckUAtV+ygTq9lKL774YitZsqT997//tYQ09//9998uIi9XrlzY+uLFi9uxxx7r7i/IyhapYYUy/v/bSqorklHc0k05r6qlm93qfZ9mGo68x9LNw782tXQze/0eSzfb9/jV2zB5FMmIPluXKnZlptdrT31BQ912220uGRhK09ArSxkqkCFVE3skseyjROSWLVvs66+/dpWcVDrq0ksv3eu5K9j9888/bfLkyfbjjz/a66+/br1793ZL+fLl7bPPPst12lTfglSVnVItVPVvKFasWNiDoJPT6DEAAIB0lRfF/NVcHpoALF48e5JI437WrFkTtu6ff/5x/1atGjkBE8s+mlFUlAlV4Kl+q9EGqQ0bNnRxYdmyZcO6HqhSgKpCJaS5X+UJVFLgyCOPtGeeecY+/PBDV8Rf2VWVpVJ6GAAAANFTgBq6FI8QpB566KFu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s956661WunRp1/xeokQJu+SSS1x2UTWy8oL6kKrklILM0OBTt0MHailgVrN+6Dbnn3++ffrpp25b1XXdm7Vr17qMqwLVnCjrqmA2dAEAAIA/4qqTet5557n+p999952bZUCZTJWEqly5suWlG2+80QYOHOjqorZv397uu+8+149UAXLAxRdfbFOnTnWDvNS39MILL7SJEyfapEmT3IwHgeyvaqKqT636lqr8lMpUqTaqgtPrrrvOBcVnn312nl4PAABIPRot49d0pgycyoNi/soc9uzZ0xLp3HPPdUGpmto1WKpVq1Yu+AzNeCr4VJYzkBFV/1LRYKlQKlulLgDadtCgQXbnnXfaTz/95ILTI4880l588cU8D7oBAEDqoQRVEgep8+fPd03+GtQU2rQuGuWv4C+vaLCVlpw8/fTTwZ8VZAYyp7lRZja3WasAAACQ5EGqRverfFPjxo2tbdu2YVOJikbkAwAApCs/65vS3O9jkPrJJ59YmzZt3Eh5AAAAICmCVE0bquL3AAAABRF9UpO0BJUGFU2ePNm2bNmSN2cEAACQxDyf/4NPmVQVrS9SpIirl3rcccdZ2bJlw+7v1KmTWw8AAAAkLEhdsWKFVatWzS1z5szJdn9ghigAAIB0RHN/kgapp556qlsAAAAKIkb3J3kx/z179ri57ZcsWWI1a9Z0JamylqMCAAAAEjJwSr7++ms321OzZs2sW7du1qJFC2vatKl9+OGHcZ0EAABAqjX3+7XApyB11apV1qtXL+vYsaP98ssvtn79evvjjz/stNNOs759+9rcuXNjPSQAAEDK8Dx/F/jU3D9x4kQ75JBD7JlnngmuK1++vN17772u6f+9996zG264wQqq4hnlrHBG+nR7KOmVtnRTyStv6aZQhqWd2z9saunmx7XpV7pvRcYqSzeF4mtkTGolvFKWbnZ74dOyI/3EHKRu2rTJ6tevH/G+evXq2caNG/04LwAAgKSU+b/Fr2Mhspi/LrZt29bef/9918QfatGiRfbKK69Yu3btYj0kAAAAsG+Z1COOOMJOOOEEN3Cqa9euVrt2bVu5cqV9/vnnbhBV7969Yz0kAABAyqBOamLE1fFmzJgxLpvaqFEj++eff6xOnTr20ksvudH9hQqlX18eAACAID8HTTFwyv86qZr6lOlPAQAAkBfiSnvecccd9v3334etmzdv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1C9YI9YHDRoUzGyLuik8+uijYdnUve0T7Tb5QZ816tOtgSB6nm688UbXfSbgpptucpm2xx9/PMfPMBk+fLgdeeSRwUE3eo9qMKP6WivrrwGC+T0Lk1qoRowYEezKo9er3ouh56V+tqosofMNfIapT7SycA0aNHD3Ba4zluPmB3U5UF9udc3RjFPKjIZmADWQ7aKLLrJnnnnGWrRo4dappUrdcNS//5RTTsl2TGUS9XhMnDjRZVWVjb/iiiv22kUkr6llR+eR1XHHHedew6LPmZdfftllikNb4jQQV5/B+pzRQMCsFUei2QbJiyAVAAAASYc+qQAAAEg6BKkAAABIOgSpAAAASDoEqQAAAEg6BKkAAABIOgSpAAAASDoEqQAAAEg6BKlAilJxa00OcMghh7gpW1U4X0XY042mgzzppJMs2alovor8q1h8YNpbTVWqwuodOnSws846y00KoKL7odPN5kYTezz00EN5fOYAkJzyd9obAHGZNWuWDRgwwF555RU365Nmd9KMZWXLlt2nR7Rr1652yy235Ou85VlpxrPQ+eeTlWZt+uyzz+yxxx6zcuXKuXUKWpctW+ZmpdPMXlu3brUZM2bYrl27ojrmvHnz3ExeftIMRfpSEzpTHAAkI4JUIAVpGsE6derYaaedFlz31FNPWenSpff5uJpiE7H78ccfXWY7dNpNrVMmtX379u72tm3b7IcffrAKFSpEdUxNS1u8eHFfnw4FzX/88YevxwSAvEBzP5Bi7rzzTrvtttts+fLlruk40LSsOenffffd4HZa//bbbweboAPNxqNHj7YTTjjBunXr5ubF3rhxo1uvJvXNmze7+d9DjxvJ008/bQMHDrQXXnjBTj31VOvUqZPLJO7evdvGjBnjgjXNM67fFWrHjh1uPnJlart06WK33367yy6G+uKLL+zEE090+998883Z7hdlAs855xzr2LGjm49ec7Tvzbfffhucu11zsy9ZsiR4n6576NCh1rlzZ/e43HfffbZz585sc4Are63fqS8H48ePD96n69fx9XjosdNzpH///PNPdyz9rPs0h7x+t+ZND1ixYoWbT1y/u2/fvmFzkz/55JP25ptvhp3HG2+8Yb1793bb61h///138D7tq+dt6tSpbv56PcZXX321rV+/PrivMqnKxOuctGge95zoOrWNupR0797dXYueYwBICA9ASlmwYIE3ZMgQr06dOt4PP/zgzZw5063v1q2bd+ONNwa3q1y5sle6dGlv6NCh3jfffOMtWrTIGzVqlFetWjXv1Vdf9b788kvvvvvu884++2y3/S+//OKVKVPGu/fee8OOG8nNN9/sFS1a1DvuuOO8Tz75xBszZoxXqlQp76CDDvJ69+7tTZo0yf2uYsWKeRMnTgzud/rpp3sNGzb03nrrLe+9997z9t9/f69nz57B+/V7tY+u77PPPvOuuOIKr3jx4l6jRo2C23z00UdepUqVvAcffND76quvvCeffNIrV66c9+GHH+Z4vm+88YY77uDBg91xR44cGfZ79di1atXKe//999229evX984666zg/d9//71XoUIF74477nCP2+jRo72qVau6f+XHH3/02rZt651//vnuGubPn+/+1XOka9HPy5cv93766Se13XurV692+y1btsyrXbu216NHD2/cuHHeu+++637+/fff3f29evXyrrrqquB5DBs2zD1+L774ort2Pd/ly5f3Fi9e7O5/7bXXvMKFC7vn4Z133nGPVZs2bbyTTjrJ3b9q1SrvwgsvdOt0TlrWrFmT4+Om69I2uv7XX3/dXc8999yT4/YA4CeCVCAFPf3002GBW05B6gUXXBC2zYABA1wgFWr79u3BnxXwvPnmm3v9/QpSFShu2bIluO7MM8/0atSoEXa8E044wbvsssvcz4EAbfr06cH7Z8+e7WVkZLjATxTgnnrqqWG/q2vXrmHX2rx5c++xxx4L2+bOO+/0jjjiiIjnmpmZ6dWqVcsFqJGuWwG1Aru//voreN+3337rzlWBu3Tp0sW76aabwvZXEK6AMaBz587ucQml89ZzFZA1SL388svd9ezevTvsfHfs2JEtSFWQqy8GChxDKdi+4YYbgkGqjj9v3rzg/ePHj3cB+p49e9zt2267zevQoYMXj+uvv97r06dPXPsCQKzokwqksUBfyAA1BV9wwQVWo0YNO+644+ywww6Lu8/j/vvvb6VKlQrerlWrlh1wwAFhx9O6lStXup81YKhy5crWrl274P3Nmze3Bg0auPvUfD19+nQ3cCuUmv2fe+654Gh59accOXKkGzT2vy/arh/tunXrIp6nmtzVD7NPnz5h6wPnqd/duHFjNwAt4IgjjnCD0NSnVNf5zTff2NKlS93AqMDvVDcJNbWrW0CxYsXiegwnT55sxx9/vBUuXDi4LiMjI+Lx1J1AA67Ux1UC57Fw4cKw7TVAS9cTULt2bXeOenz0+EdL++gx/uijj1zXCHXVWLRoUbDSgs5HXTxElSWOPfbYuB4DAMgJQSqQxkKDSDnjjDNc0PL666+7YFX9Ie+55x7XvzSSNWvWWI8ePYK3Tz75ZBsyZIj7uUiR7B8fkdYFRqerRFOkgV1lypRx9wX6hmY959B9dL9ce+211rp167DtQgO9UBqsFPg9keztvBScqR/mhRde6KofRHPN0dK55XReWakfq36XqgcUKhQ+nECBaU7no6BXYqkSoOvVte7Zs8cuvfRS22+//axkyZKur3CrVq3cNo0aNXJ9Yp999lkXKAOA3whSgQJGA4cCI9A1sOmiiy5ywasCHQU/ocGM1o0YMSJ4u1q1anH/XmX3lNFUjdBAUKUgTdlIBTyibGbWkeezZ88O/qwAW8GSspga0BMNBVgK3DRYSJneSOf1119/uWA0kF1VcK4MsM5LQbMywloX7e+MVtOmTd15RaNJkyYueNRztC/nkfU5jkSD16ZNm+auOfBcKcutwXoHHnigu61svLLAn376adznAgC5YXQ/UICo2H9oEKigTEFL0aJFg4GHRqAHKLgLjALXUq9evbh/t5rtFWSqokAgSNKIegWBGq0u559/vqvfqaBRVB/15ZdfDjtfZX3vvvtu1xQf8Ouvv7ouAJGo2V6VAIYNGxYcCb99+3Z7/PHH3c9qvtZ13nXXXe52Zmamq3Cg4DZQL/bKK690j11oFQGd48MPP2z7QllKTVbwzjvvBNepQkPg+kMdfvjhbpT95Zdf7jLgARqdn9sI/az0HKvrQm6Bqh4DLQpSRefzn//8x2Vls2awASCvEKQCBYiycWqyr1u3rpsA4KqrrnL9PQNN7ArG/vvf/1qbNm1yLUEVDwWYY8eOdQGVAiVlJ9XnUV0PApMQKABVYNiiRQuXZVTZI2XrQqmElTK/msVJmc6aNWu60lLq35oTBaQK8LSNrls1ZgOUKdQ56HFQEK1zUybxtddeC/b1vP76610Xg169eln9+vXd46c+mIEMcLzUL1jBr4JznZOuRY9J9erVs22rAHHcuHFWqVIl149XfWVVb1X1cXVN0VJQri8muo6cSlCpDJe+VKhpX79HZcZUzkqBe2CiAgDIaxkaPZXnvwWA77MwqTm6ZcuWwXWaclN9KxVoiZqRlfmsWLFitv01EEZN7QpUsg7SUU1NDZDRR4OC1UjUbK/+mqHBUeCYCoQDdBw1UYcOStJxda76V4Fo1v6VgWMp26n9NChKmcPQaw300VRmVF0Qou2GoGOpyVpN/FkHjKn/pc5LfVt1DYG+nKHUJUADsRQcBh7ngMCMXwq+QzO8CjirVq3qbuvxUb1VNZmH9h3VICXNLqVtq1SpElyv36XzVFAc6p9//nHXoaAxtE+rBkfpMQ993iL9Tj0nCxYscF0vdAwFvpEog6rHQc9DpOdcVIdVwb/6pwKAnwhSAQAx0xeEK664wn7//XcXKOsLkTK9kb50AEA8GDgFAIiZylllzZ5Gyj4DQLzIpAIAACDp0C4DAACApEOQCgAAgKRDkAoAAICkQ5AKAACApEOQCgAAgKRDkAoAAICkQ5AKAACApEOQCgAAgKRDkAoAAICkQ5AKAAAASzb/B5duqjb4WbZvAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "grid_size = 9\n", + "a1_values = np.linspace(\n", + " problem.coefficient_min,\n", + " problem.coefficient_max,\n", + " grid_size,\n", + ")\n", + "a2_values = np.linspace(\n", + " problem.coefficient_min,\n", + " problem.coefficient_max,\n", + " grid_size,\n", + ")\n", + "relative_errors = np.empty((len(a2_values), len(a1_values)))\n", + "\n", + "for row, a2 in enumerate(a2_values):\n", + " for column, a1 in enumerate(a1_values):\n", + " if a1 == 0.0 and a2 == 0.0:\n", + " relative_errors[row, column] = np.nan\n", + " continue\n", + " relative_errors[row, column], _ = solution_error(\n", + " model,\n", + " float(a1),\n", + " float(a2),\n", + " 0.125,\n", + " problem,\n", + " device,\n", + " n_x=51,\n", + " n_t=31,\n", + " )\n", + "\n", + "fig, ax = plt.subplots(figsize=(7, 5))\n", + "masked_errors = np.ma.masked_invalid(relative_errors)\n", + "colormap = plt.colormaps[\"magma\"].copy()\n", + "colormap.set_bad(color=\"lightgray\")\n", + "image = ax.imshow(\n", + " masked_errors,\n", + " origin=\"lower\",\n", + " extent=[\n", + " problem.coefficient_min,\n", + " problem.coefficient_max,\n", + " problem.coefficient_min,\n", + " problem.coefficient_max,\n", + " ],\n", + " aspect=\"auto\",\n", + " cmap=colormap,\n", + ")\n", + "ax.set(\n", + " xlabel=r\"first-mode coefficient $a_1$\",\n", + " ylabel=r\"second-mode coefficient $a_2$\",\n", + " title=r\"Relative $L^2$ error at $\\kappa=0.125$\",\n", + ")\n", + "ax.text(\n", + " 0.0,\n", + " 0.0,\n", + " \"N/A\",\n", + " ha=\"center\",\n", + " va=\"center\",\n", + " fontsize=8,\n", + ")\n", + "fig.colorbar(image, ax=ax, label=\"relative error\")\n", + "fig.tight_layout()" + ] + }, + { + "cell_type": "markdown", + "id": "69ebfa8e", + "metadata": {}, + "source": [ + "## 8. Takeaways and limitations\n", + "\n", + "- The network represents $\\hat u(x,t;a_1,a_2,\\kappa)$ rather than one fixed\n", + " trajectory. Training is amortized over a family of initial conditions and\n", + " diffusivities.\n", + "- The trial-solution construction satisfies the initial and boundary\n", + " conditions to floating-point precision without balancing several loss terms.\n", + "- The physics residual supplies the training signal, while the analytical\n", + " solution provides independent validation.\n", + "- Good interpolation does not establish reliable extrapolation. A residual,\n", + " several trajectories, and a parameter-space error map provide complementary\n", + " evidence.\n", + "- This controlled problem is deliberately easier than many realistic PINN\n", + " applications. A conventional analytical or numerical solver is faster and\n", + " more reliable here. The example demonstrates the idea of a reusable\n", + " parameterized surrogate; it does not establish that PINNs are generally\n", + " superior differential-equation solvers.\n", + "- The initial condition is restricted to two coefficients. Learning a mapping\n", + " from an arbitrary function to its solution would require an operator-learning\n", + " formulation rather than simply adding more scalar inputs indefinitely.\n", + "\n", + "## References\n", + "\n", + "- M. Raissi, P. Perdikaris, and G. E. Karniadakis,\n", + " [Physics-informed neural networks](https://doi.org/10.1016/j.jcp.2018.10.045),\n", + " *Journal of Computational Physics* 378 (2019), 686–707.\n", + "- A. S. Krishnapriyan *et al.*,\n", + " [Characterizing possible failure modes in physics-informed neural networks](https://proceedings.neurips.cc/paper/2021/hash/df438e5206f31600e6ae4af72f2725f1-Abstract.html),\n", + " NeurIPS 2021." + ] + } + ], + "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.14.6" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From e20e5ff88ebf76dd749475375898e751f217b919 Mon Sep 17 00:00:00 2001 From: Geert Jan Bex Date: Fri, 14 Aug 2026 14:55:58 +0200 Subject: [PATCH 02/33] Add maintainer and material language info --- source-code/pytorch/tensors.ipynb | 2075 ++++++++++++++++++----------- training.toml | 5 + 2 files changed, 1285 insertions(+), 795 deletions(-) diff --git a/source-code/pytorch/tensors.ipynb b/source-code/pytorch/tensors.ipynb index 1c5dd41..c654285 100644 --- a/source-code/pytorch/tensors.ipynb +++ b/source-code/pytorch/tensors.ipynb @@ -2,90 +2,190 @@ "cells": [ { "cell_type": "markdown", - "id": "1e75b550-75fc-402b-85ee-ced51f26ce10", + "id": "262e82f2", "metadata": {}, "source": [ - "## Requirements" + "# PyTorch tensors: a course reference\n", + "\n", + "A tensor is a multidimensional array whose **shape**, **dtype**, **device**, and\n", + "relationship to an automatic-differentiation graph determine how it behaves.\n", + "This notebook explains the tensor concepts and operations used by the PyTorch\n", + "MNIST and physics-informed neural-network (PINN) examples in this repository.\n", + "\n", + "It is a reference rather than an exhaustive API catalogue. The examples are\n", + "small, require no downloaded data, and are intended to make the mechanisms\n", + "behind the course notebooks visible.\n", + "\n", + "## Learning objectives\n", + "\n", + "After working through this notebook, you should be able to:\n", + "\n", + "- interpret tensor dimensions in terms of batches, channels, features, and\n", + " physical coordinates;\n", + "- predict the result shape of indexing, broadcasting, reduction, reshaping,\n", + " stacking, and concatenation operations;\n", + "- distinguish views, copies, detached tensors, and NumPy arrays that share\n", + " storage;\n", + "- preserve dtype and device when creating or converting tensors;\n", + "- explain how `requires_grad`, `backward`, `torch.autograd.grad`, and gradient\n", + " modes are used in the training and PINN notebooks.\n", + "\n", + "**Required prerequisite:** basic Python and NumPy array operations.\n", + "\n", + "**Helpful, but not required:** elementary derivatives and the chain rule." ] }, { - "cell_type": "code", - "execution_count": 1, - "id": "bd7c2823-a421-43b7-bffc-8ff8cd32fd09", + "cell_type": "markdown", + "id": "bc344031", "metadata": {}, - "outputs": [], "source": [ - "import sys\n", - "\n", - "import numpy as np\n", - "import torch" + "## 1. Setup" ] }, { - "cell_type": "markdown", - "id": "8168e5a5-3ca5-46e3-9574-9466d814ec0b", + "cell_type": "code", + "execution_count": 1, + "id": "85c66f85", "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "PyTorch version: 2.13.0\n" + ] + } + ], "source": [ - "## Tensor basics" + "import numpy as np\n", + "import torch\n", + "\n", + "torch.manual_seed(1729)\n", + "\n", + "print(f\"PyTorch version: {torch.__version__}\")" ] }, { "cell_type": "markdown", - "id": "8fbc155c-6438-4dc4-94ce-74aad5fb05cc", + "id": "8006cf22", "metadata": {}, "source": [ - "PyTorch tensors can be created in multiple ways. The most basic is initialization from a Python (nested) list." + "## 2. The tensor contract\n", + "\n", + "When reading tensor code, first establish five facts:\n", + "\n", + "1. What does each dimension mean?\n", + "2. What is the element dtype?\n", + "3. On which device is the data stored?\n", + "4. Is PyTorch recording operations for automatic differentiation?\n", + "5. Does this tensor share storage with another object?\n", + "\n", + "The first four can be inspected directly. Storage sharing is discussed in the\n", + "sections on views, copies, and NumPy conversion." ] }, { "cell_type": "code", "execution_count": 2, - "id": "6c2626b8-109f-4bb5-aaae-93b29ac5713e", + "id": "813a0169", "metadata": {}, "outputs": [], "source": [ - "t1 = torch.tensor([1.0, 3.0, 7.0], dtype=torch.float64)" + "def describe(tensor):\n", + " return {\n", + " \"shape\": tuple(tensor.shape),\n", + " \"ndim\": tensor.ndim,\n", + " \"dtype\": tensor.dtype,\n", + " \"device\": tensor.device,\n", + " \"requires_grad\": tensor.requires_grad,\n", + " \"is_leaf\": tensor.is_leaf,\n", + " \"grad_fn\": (\n", + " type(tensor.grad_fn).__name__\n", + " if tensor.grad_fn is not None\n", + " else None\n", + " ),\n", + " }" ] }, { "cell_type": "code", "execution_count": 3, - "id": "99441a76-43ff-4514-8755-34dd3dbac447", - "metadata": {}, - "outputs": [], - "source": [ - "t2 = torch.tensor([\n", - " [3.1, 2.4, 5.7],\n", - " [1.9, 12.3, 2.6],\n", - "])" - ] - }, - { - "cell_type": "markdown", - "id": "38534f31-29af-43e0-86ee-7788c279fe55", + "id": "889a9948", "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "({'shape': (32, 1, 28, 28),\n", + " 'ndim': 4,\n", + " 'dtype': torch.float32,\n", + " 'device': device(type='cpu'),\n", + " 'requires_grad': False,\n", + " 'is_leaf': True,\n", + " 'grad_fn': None},\n", + " {'shape': (32, 10),\n", + " 'ndim': 2,\n", + " 'dtype': torch.float32,\n", + " 'device': device(type='cpu'),\n", + " 'requires_grad': False,\n", + " 'is_leaf': True,\n", + " 'grad_fn': None},\n", + " {'shape': (512, 5),\n", + " 'ndim': 2,\n", + " 'dtype': torch.float32,\n", + " 'device': device(type='cpu'),\n", + " 'requires_grad': False,\n", + " 'is_leaf': True,\n", + " 'grad_fn': None})" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "### Tensor attributes" + "images = torch.rand(32, 1, 28, 28)\n", + "logits = torch.randn(32, 10)\n", + "pinn_inputs = torch.rand(512, 5)\n", + "\n", + "describe(images), describe(logits), describe(pinn_inputs)" ] }, { "cell_type": "markdown", - "id": "e6cc55f7-c92c-4470-8404-6be67c48fb81", + "id": "08d3f8a6", "metadata": {}, "source": [ - "Similar to numpy arrays, PyTorch tensors have many attributes." + "The examples use these dimension conventions:\n", + "\n", + "- `images`: `[batch, channel, height, width]`;\n", + "- `logits`: `[batch, class]`;\n", + "- `pinn_inputs`: `[sample, coordinate_or_parameter]`.\n", + "\n", + "`shape` reports all dimension sizes, `ndim` reports the number of dimensions,\n", + "`size(dim)` reports one dimension size, and `numel()` reports the total number\n", + "of elements." ] }, { "cell_type": "code", "execution_count": 4, - "id": "93e34a9d-283b-4f54-9d12-31ea07329005", - "metadata": {}, + "id": "78063e35", + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-14T12:27:29.575463Z", + "iopub.status.busy": "2026-08-14T12:27:29.575310Z", + "iopub.status.idle": "2026-08-14T12:27:29.579372Z", + "shell.execute_reply": "2026-08-14T12:27:29.578431Z" + } + }, "outputs": [ { "data": { "text/plain": [ - "(torch.Size([3]), torch.Size([2, 3]))" + "(torch.Size([32, 1, 28, 28]), 4, 32, 25088)" ] }, "execution_count": 4, @@ -94,19 +194,47 @@ } ], "source": [ - "t1.shape, t2.shape" + "images.shape, images.ndim, images.size(0), images.numel()" + ] + }, + { + "cell_type": "markdown", + "id": "f4dfc3e1", + "metadata": {}, + "source": [ + "## 3. Creating tensors, dtypes, and devices\n", + "\n", + "`torch.tensor` copies values from Python or array-like input. Factory functions\n", + "such as `zeros`, `rand`, `arange`, and `linspace` construct tensors directly.\n", + "Specify `dtype` and `device` when they matter rather than relying on implicit\n", + "defaults." ] }, { "cell_type": "code", "execution_count": 5, - "id": "7a6a4590-6d37-4b0c-9b7e-a36747caeb37", - "metadata": {}, + "id": "fcbbb265", + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-14T12:27:29.581066Z", + "iopub.status.busy": "2026-08-14T12:27:29.580925Z", + "iopub.status.idle": "2026-08-14T12:27:29.605211Z", + "shell.execute_reply": "2026-08-14T12:27:29.604196Z" + } + }, "outputs": [ { "data": { "text/plain": [ - "(torch.float64, torch.float32)" + "({'shape': (2, 2),\n", + " 'ndim': 2,\n", + " 'dtype': torch.float64,\n", + " 'device': device(type='cpu'),\n", + " 'requires_grad': False,\n", + " 'is_leaf': True,\n", + " 'grad_fn': None},\n", + " tensor([0, 2, 4, 6, 8]),\n", + " tensor([0.0000, 0.2000, 0.4000, 0.6000, 0.8000, 1.0000]))" ] }, "execution_count": 5, @@ -115,35 +243,49 @@ } ], "source": [ - "t1.dtype, t2.dtype" - ] - }, - { - "cell_type": "markdown", - "id": "0fcbda5f-9277-4f58-9d10-232cc45790c1", - "metadata": {}, - "source": [ - "Contrary to what you might expect, the default `dtype` of a PyTorch tensor is `torch.float32`, not double precision as you are used to in numpy." + "from_python = torch.tensor(\n", + " [[1.0, 2.0], [3.0, 4.0]],\n", + " dtype=torch.float64,\n", + ")\n", + "zeros = torch.zeros(2, 3)\n", + "random_normal = torch.randn(2, 3)\n", + "indices = torch.arange(0, 10, 2)\n", + "coordinates = torch.linspace(0.0, 1.0, 6)\n", + "\n", + "describe(from_python), indices, coordinates" ] }, { "cell_type": "markdown", - "id": "4260b1a0-10cb-4af8-a929-9b3fe13486b1", + "id": "1de84f09", "metadata": {}, "source": [ - "Attributes that are specific to PyTorch tensors are the device it is on, and whether gradients are required." + "### Dtype inference is source-dependent\n", + "\n", + "Python floating-point values normally use PyTorch's current default floating\n", + "dtype, usually `torch.float32`. Python integers normally produce an integer\n", + "tensor. `torch.from_numpy` preserves the NumPy dtype, which is often\n", + "`float64`. Class labels in the MNIST notebooks are integers, while model inputs\n", + "and parameters are floating point." ] }, { "cell_type": "code", "execution_count": 6, - "id": "c83e0762-e742-4cb6-8488-279f61a85f1b", - "metadata": {}, + "id": "15a748d1", + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-14T12:27:29.607293Z", + "iopub.status.busy": "2026-08-14T12:27:29.607110Z", + "iopub.status.idle": "2026-08-14T12:27:29.611762Z", + "shell.execute_reply": "2026-08-14T12:27:29.610827Z" + } + }, "outputs": [ { "data": { "text/plain": [ - "(device(type='cpu'), False)" + "(torch.float32, torch.int64, torch.float64)" ] }, "execution_count": 6, @@ -152,45 +294,41 @@ } ], "source": [ - "t1.device, t1.requires_grad" - ] - }, - { - "cell_type": "markdown", - "id": "b9d7b79d-31df-4994-a3e2-530c99d9b96d", - "metadata": {}, - "source": [ - "By default, the device is the CPU, i.e., the host device, and no gradients are required." - ] - }, - { - "cell_type": "markdown", - "id": "e850483b-b041-49d6-bbd1-c967395dbb8e", - "metadata": {}, - "source": [ - "### Initialization" + "python_floats = torch.tensor([1.0, 2.0])\n", + "python_integers = torch.tensor([1, 2])\n", + "numpy_values = np.array([1.0, 2.0])\n", + "from_numpy = torch.from_numpy(numpy_values)\n", + "\n", + "python_floats.dtype, python_integers.dtype, from_numpy.dtype" ] }, { "cell_type": "markdown", - "id": "9af6d5d8-02d6-48e9-8dc6-03bffb6a1016", + "id": "5204bf49", "metadata": {}, "source": [ - "Similar to numpy, PyTorch has a number of built-in functions to initialize tensors. Below are a few examples." + "`torch.empty` allocates storage without initializing its values. It is useful\n", + "when every element will be overwritten immediately, but it must not be treated\n", + "as a tensor of zeros." ] }, { "cell_type": "code", "execution_count": 7, - "id": "93c543a7-0e8e-442b-a4b7-fbe1b93fdf49", - "metadata": {}, + "id": "b79e761b", + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-14T12:27:29.613389Z", + "iopub.status.busy": "2026-08-14T12:27:29.613245Z", + "iopub.status.idle": "2026-08-14T12:27:29.617424Z", + "shell.execute_reply": "2026-08-14T12:27:29.616611Z" + } + }, "outputs": [ { "data": { "text/plain": [ - "tensor([[0., 0., 0., 0.],\n", - " [0., 0., 0., 0.],\n", - " [0., 0., 0., 0.]])" + "tensor([-0.4450, -0.1404, 0.7986, -0.5439, -0.5952])" ] }, "execution_count": 7, @@ -199,20 +337,67 @@ } ], "source": [ - "torch.zeros(3, 4)" + "samples = torch.empty(5)\n", + "samples.uniform_(-1.0, 1.0)" + ] + }, + { + "cell_type": "markdown", + "id": "b1734ef2", + "metadata": {}, + "source": [ + "### Constructing relative to another tensor\n", + "\n", + "The `_like` factories and `new_tensor` are useful in device-independent code.\n", + "They inherit dtype and device from a reference tensor. `new_tensor` always\n", + "copies its input; when its input is already a tensor, explicit\n", + "`detach().clone()` is usually clearer." ] }, { "cell_type": "code", "execution_count": 8, - "id": "c2415d4d-de0d-4837-89d6-8cbc9c33e4f8", - "metadata": {}, + "id": "20290217", + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-14T12:27:29.619465Z", + "iopub.status.busy": "2026-08-14T12:27:29.619302Z", + "iopub.status.idle": "2026-08-14T12:27:29.624058Z", + "shell.execute_reply": "2026-08-14T12:27:29.623148Z" + } + }, "outputs": [ { "data": { "text/plain": [ - "tensor([[1., 1., 1.],\n", - " [1., 1., 1.]])" + "({'shape': (4,),\n", + " 'ndim': 1,\n", + " 'dtype': torch.float64,\n", + " 'device': device(type='cpu'),\n", + " 'requires_grad': False,\n", + " 'is_leaf': True,\n", + " 'grad_fn': None},\n", + " {'shape': (4,),\n", + " 'ndim': 1,\n", + " 'dtype': torch.float64,\n", + " 'device': device(type='cpu'),\n", + " 'requires_grad': False,\n", + " 'is_leaf': True,\n", + " 'grad_fn': None},\n", + " {'shape': (4,),\n", + " 'ndim': 1,\n", + " 'dtype': torch.float64,\n", + " 'device': device(type='cpu'),\n", + " 'requires_grad': False,\n", + " 'is_leaf': True,\n", + " 'grad_fn': None},\n", + " {'shape': (1,),\n", + " 'ndim': 1,\n", + " 'dtype': torch.float64,\n", + " 'device': device(type='cpu'),\n", + " 'requires_grad': False,\n", + " 'is_leaf': True,\n", + " 'grad_fn': None})" ] }, "execution_count": 8, @@ -221,25 +406,64 @@ } ], "source": [ - "torch.ones(2, 3)" + "reference = torch.linspace(0.0, 1.0, 4, dtype=torch.float64)\n", + "zeros_like_reference = torch.zeros_like(reference)\n", + "boundary_values = torch.full_like(reference, 2.5)\n", + "initial_time = reference.new_tensor([0.0])\n", + "\n", + "(\n", + " describe(reference),\n", + " describe(zeros_like_reference),\n", + " describe(boundary_values),\n", + " describe(initial_time),\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "b3fc60a0", + "metadata": {}, + "source": [ + "The older `torch.Tensor(...)` and `torch.FloatTensor(...)` constructors occur\n", + "in some PINN examples. Prefer `torch.tensor(...)` for existing data and factory\n", + "functions with explicit `dtype` and `device` for new data:\n", + "\n", + "```python\n", + "samples = torch.empty(batch_size, device=device).uniform_(*domain)\n", + "```" + ] + }, + { + "cell_type": "markdown", + "id": "e31ea76a", + "metadata": {}, + "source": [ + "## 4. Arithmetic, matrix multiplication, and broadcasting\n", + "\n", + "Arithmetic operators are element-wise. Matrix multiplication uses `@` or\n", + "`torch.matmul`; it is not the same as element-wise multiplication." ] }, { "cell_type": "code", "execution_count": 9, - "id": "de7888c5-4520-4566-bedd-01cf7c851e3c", - "metadata": {}, + "id": "4c84dcb1", + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-14T12:27:29.625606Z", + "iopub.status.busy": "2026-08-14T12:27:29.625460Z", + "iopub.status.idle": "2026-08-14T12:27:29.682977Z", + "shell.execute_reply": "2026-08-14T12:27:29.681975Z" + } + }, "outputs": [ { "data": { "text/plain": [ - "tensor([[[ 0.5219, 0.1576],\n", - " [ 0.8565, -0.6006],\n", - " [-0.2756, 0.1271]],\n", - "\n", - " [[ 0.9766, -1.7953],\n", - " [ 0.5326, -0.4391],\n", - " [ 0.9004, 0.1726]]])" + "(tensor([[ 0.5000, 3.0000],\n", + " [ 6.0000, -4.0000]]),\n", + " tensor([[ 4.5000, -0.5000],\n", + " [ 9.5000, 0.5000]]))" ] }, "execution_count": 9, @@ -248,19 +472,48 @@ } ], "source": [ - "torch.randn(2, 3, 2)" + "left = torch.tensor([[1.0, 2.0], [3.0, 4.0]])\n", + "right = torch.tensor([[0.5, 1.5], [2.0, -1.0]])\n", + "\n", + "elementwise_product = left * right\n", + "matrix_product = left @ right\n", + "\n", + "elementwise_product, matrix_product" + ] + }, + { + "cell_type": "markdown", + "id": "3666bbab", + "metadata": {}, + "source": [ + "### Broadcasting\n", + "\n", + "Broadcasting compares dimensions from right to left. Two dimensions are\n", + "compatible when they are equal, one of them is `1`, or one dimension is absent.\n", + "Broadcasting logically expands compatible dimensions without copying all\n", + "values.\n", + "\n", + "The PINN input normalization is a useful example: a `[sample, feature]` tensor\n", + "is combined with one lower and upper bound per feature." ] }, { "cell_type": "code", "execution_count": 10, - "id": "bd95428d-701f-486a-bc6e-daa6b0d36ce1", - "metadata": {}, + "id": "8a4adda2", + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-14T12:27:29.684862Z", + "iopub.status.busy": "2026-08-14T12:27:29.684712Z", + "iopub.status.idle": "2026-08-14T12:27:29.688834Z", + "shell.execute_reply": "2026-08-14T12:27:29.688025Z" + } + }, "outputs": [ { "data": { "text/plain": [ - "tensor([-2.4468e-17, 4.2203e-41, -1.9479e-14, 3.4682e-41, 0.0000e+00])" + "(torch.Size([8, 5]), torch.Size([5]), torch.Size([8, 5]))" ] }, "execution_count": 10, @@ -269,49 +522,87 @@ } ], "source": [ - "torch.empty(5)" + "inputs = torch.rand(8, 5)\n", + "lower = torch.tensor([0.0, 0.0, -1.0, -1.0, 0.05])\n", + "upper = torch.tensor([1.0, 1.0, 1.0, 1.0, 0.20])\n", + "\n", + "scaled_inputs = 2.0 * (inputs - lower) / (upper - lower) - 1.0\n", + "\n", + "inputs.shape, lower.shape, scaled_inputs.shape" ] }, { "cell_type": "markdown", - "id": "b77d587e-4a39-4c63-8712-75cc5d087168", + "id": "ec3971c7", "metadata": {}, "source": [ - "## Tensor operations" + "**Reasoning check:** before running the next cell, predict the result shape.\n", + "This operation is legal, but is it likely to express an intended scientific\n", + "calculation?" ] }, { - "cell_type": "markdown", - "id": "dfb5c291-0931-4f37-9694-7a98d1b5f208", - "metadata": {}, + "cell_type": "code", + "execution_count": 11, + "id": "ee5125c5", + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-14T12:27:29.690338Z", + "iopub.status.busy": "2026-08-14T12:27:29.690211Z", + "iopub.status.idle": "2026-08-14T12:27:29.694009Z", + "shell.execute_reply": "2026-08-14T12:27:29.693246Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "torch.Size([4, 4])" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "As you would expect, arithmetic operations are defined on Pytorch tensors. Similar to numpy, broadcasting is supported." + "column = torch.ones(4, 1)\n", + "row = torch.arange(4.0)\n", + "(column + row).shape" ] }, { - "cell_type": "code", - "execution_count": 11, - "id": "84280275-f824-4adb-b250-a17d7708c1ae", + "cell_type": "markdown", + "id": "b1c462f4", "metadata": {}, - "outputs": [], "source": [ - "t1 = torch.tensor([\n", - " [1.0, 2.0],\n", - " [3.0, 4.0],\n", - "])" + "The result is `[4, 4]`, not `[4, 1]` or `[4]`. Broadcasting errors are often\n", + "semantic rather than runtime errors: an operation can succeed while computing\n", + "the wrong quantity.\n", + "\n", + "Methods ending in an underscore, such as `add_` and `uniform_`, modify a tensor\n", + "in place. In-place operations can be efficient, but they also affect every view\n", + "sharing the same storage and can invalidate values saved for autograd. Prefer\n", + "ordinary out-of-place arithmetic unless mutation is deliberate." ] }, { "cell_type": "code", "execution_count": 12, - "id": "3f2b0be1-f430-4371-95cd-d26227aae3da", - "metadata": {}, + "id": "a16e7bfa", + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-14T12:27:29.695976Z", + "iopub.status.busy": "2026-08-14T12:27:29.695847Z", + "iopub.status.idle": "2026-08-14T12:27:29.700202Z", + "shell.execute_reply": "2026-08-14T12:27:29.699300Z" + } + }, "outputs": [ { "data": { "text/plain": [ - "tensor([[3., 4.],\n", - " [5., 6.]])" + "(tensor([1., 2., 3.]), tensor([0., 1., 2.]))" ] }, "execution_count": 12, @@ -320,20 +611,38 @@ } ], "source": [ - "2.0 + t1" + "original = torch.tensor([1.0, 2.0, 3.0])\n", + "modified = original.clone()\n", + "modified.subtract_(1.0)\n", + "\n", + "original, modified" + ] + }, + { + "cell_type": "markdown", + "id": "6e813995", + "metadata": {}, + "source": [ + "## 5. Indexing and masking" ] }, { "cell_type": "code", "execution_count": 13, - "id": "2ed6a1b4-6d15-4d3b-889b-0ff565551ef0", - "metadata": {}, + "id": "9e92d6b5", + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-14T12:27:29.701561Z", + "iopub.status.busy": "2026-08-14T12:27:29.701424Z", + "iopub.status.idle": "2026-08-14T12:27:29.705436Z", + "shell.execute_reply": "2026-08-14T12:27:29.704607Z" + } + }, "outputs": [ { "data": { "text/plain": [ - "tensor([[0.5000, 1.0000],\n", - " [1.5000, 2.0000]])" + "(torch.Size([]), torch.Size([4]), torch.Size([3]), torch.Size([3, 1]))" ] }, "execution_count": 13, @@ -342,20 +651,49 @@ } ], "source": [ - "0.5*t1" + "matrix = torch.arange(12).reshape(3, 4)\n", + "\n", + "scalar = matrix[1, 2]\n", + "row = matrix[1]\n", + "column = matrix[:, 1]\n", + "dimension_preserving_column = matrix[:, 1:2]\n", + "\n", + "(\n", + " scalar.shape,\n", + " row.shape,\n", + " column.shape,\n", + " dimension_preserving_column.shape,\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "7bbc4812", + "metadata": {}, + "source": [ + "Comparisons produce Boolean tensors. A Boolean mask can select or replace\n", + "elements without writing a Python loop." ] }, { "cell_type": "code", "execution_count": 14, - "id": "79f3dfd7-66a8-4907-8829-ee4f6f1f99c9", - "metadata": {}, + "id": "c57a5884", + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-14T12:27:29.706843Z", + "iopub.status.busy": "2026-08-14T12:27:29.706721Z", + "iopub.status.idle": "2026-08-14T12:27:29.711260Z", + "shell.execute_reply": "2026-08-14T12:27:29.710202Z" + } + }, "outputs": [ { "data": { "text/plain": [ - "tensor([[ 1., 4.],\n", - " [ 9., 16.]])" + "(tensor([ True, True, False, False, False]),\n", + " tensor([-2.0000, -0.5000]),\n", + " tensor([0.0000, 0.0000, 0.0000, 1.5000, 3.0000]))" ] }, "execution_count": 14, @@ -364,1168 +702,1315 @@ } ], "source": [ - "t1**2" + "values = torch.tensor([-2.0, -0.5, 0.0, 1.5, 3.0])\n", + "negative_mask = values < 0.0\n", + "positive_values = values.clone()\n", + "positive_values[negative_mask] = 0.0\n", + "\n", + "negative_mask, values[negative_mask], positive_values" ] }, { "cell_type": "markdown", - "id": "581943fd-d9e0-4033-bc2a-de7bcc7b1639", + "id": "4e939d1c", "metadata": {}, "source": [ - "When operating on tensors, shapes should match." + "Basic indexing usually returns a view that shares storage. Advanced indexing,\n", + "including indexing with a tensor of positions, returns a copy. This difference\n", + "matters when values are modified later." ] }, { "cell_type": "code", "execution_count": 15, - "id": "92b5430b-cd20-4774-93e1-ad203f6341fe", - "metadata": {}, - "outputs": [], - "source": [ - "t2 = torch.tensor([\n", - " [0.1, 0.2],\n", - " [0.3, 0.4],\n", - "])" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "id": "aeabdbd7-e068-49aa-9da9-dd1065d7e84f", - "metadata": {}, + "id": "a44ec546", + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-14T12:27:29.713056Z", + "iopub.status.busy": "2026-08-14T12:27:29.712928Z", + "iopub.status.idle": "2026-08-14T12:27:29.717479Z", + "shell.execute_reply": "2026-08-14T12:27:29.716514Z" + } + }, "outputs": [ { "data": { "text/plain": [ - "(tensor([[1.1000, 2.2000],\n", - " [3.3000, 4.4000]]),\n", - " tensor([[0.1000, 0.4000],\n", - " [0.9000, 1.6000]]))" + "(tensor([ 0., 1., -1., 3., 4., 5.]),\n", + " tensor([ 1., -1., 3.]),\n", + " tensor([1., 2., 3.]))" ] }, - "execution_count": 16, + "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "t1 + t2, t1*t2" + "source = torch.arange(6.0)\n", + "basic_view = source[1:4]\n", + "advanced_copy = source[torch.tensor([1, 2, 3])]\n", + "\n", + "source[2] = -1.0\n", + "\n", + "source, basic_view, advanced_copy" ] }, { "cell_type": "markdown", - "id": "2cea87b1-5011-4322-ad15-e1513f1e2e5b", - "metadata": {}, - "source": [ - "Note that the operations are element-wise." - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "id": "a5b2d4ff-53b9-4f91-947b-5c3cf39a391a", + "id": "9b4b19d2", "metadata": {}, - "outputs": [], "source": [ - "t3 = torch.tensor([\n", - " [-1.0, 0.0, 1.0],\n", - " [1.0, 0.0, -1.0],\n", - "])" + "## 6. Reshaping, views, and contiguity\n", + "\n", + "A view has different shape or indexing metadata but shares the underlying\n", + "storage. `view` can only reinterpret compatible strides. `reshape` returns a\n", + "view when possible and otherwise makes a copy; code should not rely on which\n", + "choice it makes." ] }, { "cell_type": "code", - "execution_count": 18, - "id": "f1343ad1-3255-4efe-8086-5b6d8f4528eb", - "metadata": {}, + "execution_count": 16, + "id": "e498c4f5", + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-14T12:27:29.718815Z", + "iopub.status.busy": "2026-08-14T12:27:29.718689Z", + "iopub.status.idle": "2026-08-14T12:27:29.722968Z", + "shell.execute_reply": "2026-08-14T12:27:29.722131Z" + } + }, "outputs": [ { - "name": "stderr", - "output_type": "stream", - "text": [ - "The size of tensor a (2) must match the size of tensor b (3) at non-singleton dimension 1\n" - ] + "data": { + "text/plain": [ + "(tensor([ 0., 1., 2., 3., 4., -1., 6., 7., 8., 9., 10., 11.]),\n", + " tensor([[ 0., 1., 2., 3.],\n", + " [ 4., -1., 6., 7.],\n", + " [ 8., 9., 10., 11.]]))" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ - "try:\n", - " t1 + t3\n", - "except Exception as e:\n", - " print(e, file=sys.stderr)" - ] - }, - { - "cell_type": "markdown", - "id": "9cab7992-057b-40f7-b64d-267b0d39d11f", - "metadata": {}, - "source": [ - "However, broadcasting works when shapes match." - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "id": "0de91063-42d3-4bcf-9de3-f17cf1265278", - "metadata": {}, - "outputs": [], - "source": [ - "t4 = torch.tensor([10.0, 20.0])" + "flat = torch.arange(12.0)\n", + "grid = flat.view(3, 4)\n", + "grid[1, 1] = -1.0\n", + "\n", + "flat, grid" ] }, { "cell_type": "code", - "execution_count": 20, - "id": "7942c836-6d94-465b-ab93-8312110678cc", - "metadata": {}, + "execution_count": 17, + "id": "3bf4af7e", + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-14T12:27:29.724319Z", + "iopub.status.busy": "2026-08-14T12:27:29.724188Z", + "iopub.status.idle": "2026-08-14T12:27:29.745103Z", + "shell.execute_reply": "2026-08-14T12:27:29.744187Z" + } + }, "outputs": [ { "data": { "text/plain": [ - "tensor([[11., 22.],\n", - " [13., 24.]])" + "(False,\n", + " \"view size is not compatible with input tensor's size and stride (at least one dimension spans across two contiguous subspaces). Use .reshape(...) instead.\",\n", + " tensor([ 0., 4., 8., 1., -1., 9., 2., 6., 10., 3., 7., 11.]))" ] }, - "execution_count": 20, + "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "t4 + t1" + "transposed = grid.transpose(0, 1)\n", + "\n", + "try:\n", + " flattened_with_view = transposed.view(-1)\n", + "except RuntimeError as error:\n", + " flattened_with_view = str(error).splitlines()[0]\n", + "\n", + "flattened_with_reshape = transposed.reshape(-1)\n", + "\n", + "(\n", + " transposed.is_contiguous(),\n", + " flattened_with_view,\n", + " flattened_with_reshape,\n", + ")" ] }, { "cell_type": "markdown", - "id": "994b495c-c16a-470e-9458-4f6eb3de8c48", + "id": "828e1848", "metadata": {}, "source": [ - "Operations can be done in place, explicitely using the `add_`, `subtract_`, `multiply_` and `divide_` methods." + "`unsqueeze` inserts a dimension of size one. `squeeze(dim)` removes a specific\n", + "size-one dimension. Supplying `dim` is safer than an unrestricted `squeeze()`:\n", + "it documents which dimension is expected to disappear and avoids accidentally\n", + "removing a batch dimension of size one." ] }, { "cell_type": "code", - "execution_count": 21, - "id": "70b77683-2e08-4f89-b396-0697997b411b", - "metadata": {}, + "execution_count": 18, + "id": "aefab895", + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-14T12:27:29.746813Z", + "iopub.status.busy": "2026-08-14T12:27:29.746691Z", + "iopub.status.idle": "2026-08-14T12:27:29.750776Z", + "shell.execute_reply": "2026-08-14T12:27:29.749828Z" + } + }, "outputs": [ { "data": { "text/plain": [ - "tensor([ 9., 19.])" + "(torch.Size([28, 28]),\n", + " torch.Size([1, 28, 28]),\n", + " torch.Size([1, 1, 28, 28]),\n", + " torch.Size([28, 28]))" ] }, - "execution_count": 21, + "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "t4.subtract_(1.0)" + "image = torch.rand(28, 28)\n", + "image_with_channel = image.unsqueeze(0)\n", + "batch = image_with_channel.unsqueeze(0)\n", + "image_again = batch.squeeze(0).squeeze(0)\n", + "\n", + "image.shape, image_with_channel.shape, batch.shape, image_again.shape" ] }, { "cell_type": "markdown", - "id": "751e1331-80d4-48d2-a258-f72d090e5691", + "id": "5f3d11db", "metadata": {}, "source": [ - "Matrix multiplication can be done using the `@` operator." + "### Combining and splitting tensors\n", + "\n", + "`cat` joins tensors along an existing dimension. `stack` introduces a new\n", + "dimension. `column_stack` constructs columns, while `unbind` removes one\n", + "dimension and returns its slices as separate tensors." ] }, { "cell_type": "code", - "execution_count": 22, - "id": "e6bac20e-83cb-493a-9383-e3c06293b18d", - "metadata": {}, + "execution_count": 19, + "id": "90a43efc", + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-14T12:27:29.752244Z", + "iopub.status.busy": "2026-08-14T12:27:29.752123Z", + "iopub.status.idle": "2026-08-14T12:27:29.756281Z", + "shell.execute_reply": "2026-08-14T12:27:29.755374Z" + } + }, "outputs": [ { "data": { "text/plain": [ - "(tensor([[0.6039, 0.4147, 0.7988],\n", - " [0.8561, 0.6574, 0.9251]]),\n", - " tensor([[0.3971, 0.6389, 0.5313, 0.8186],\n", - " [0.6357, 0.2963, 0.6215, 0.9515],\n", - " [0.5241, 0.2777, 0.3573, 0.5848]]),\n", - " tensor([[0.9221, 0.7305, 0.8640, 1.3561],\n", - " [1.2427, 0.9986, 1.1940, 1.8673]]))" + "(torch.Size([4]), torch.Size([2, 2]), torch.Size([2, 2]))" ] }, - "execution_count": 22, + "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "t5 = torch.rand(2, 3)\n", - "t6 = torch.rand(3, 4)\n", - "t5, t6, t5@t6" - ] - }, - { - "cell_type": "markdown", - "id": "ca52fbef-d2bd-4e3e-a4ee-b7e65ddf0bbe", - "metadata": {}, - "source": [ - "## Indexing" - ] - }, - { - "cell_type": "markdown", - "id": "33b82597-9477-4913-a250-bd296184a8cc", - "metadata": {}, - "source": [ - "Indexing tensors is very similar to numpy arrays. FAncy indexing works as well." - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "id": "18d1114b-3331-489d-af30-a252f99d6dba", - "metadata": {}, - "outputs": [], - "source": [ - "t = torch.randn(3, 4)" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "id": "3fa01c31-f4a9-4042-b672-b0ede31c74ce", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "tensor([[-0.0427, 0.3275, 0.5494, -0.3665],\n", - " [ 0.1741, -2.3084, -0.5032, -0.2944],\n", - " [ 0.4861, -0.5477, -0.9698, -1.9089]])" - ] - }, - "execution_count": 24, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "t" + "first = torch.tensor([1.0, 2.0])\n", + "second = torch.tensor([3.0, 4.0])\n", + "\n", + "concatenated = torch.cat([first, second])\n", + "stacked = torch.stack([first, second])\n", + "columns = torch.column_stack([first, second])\n", + "\n", + "concatenated.shape, stacked.shape, columns.shape" ] }, { "cell_type": "code", - "execution_count": 25, - "id": "136e944a-308b-4bd0-8a8b-df0e6d66eb47", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "tensor(-0.5032)" - ] - }, - "execution_count": 25, - "metadata": {}, - "output_type": "execute_result" + "execution_count": 20, + "id": "9a878fb4", + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-14T12:27:29.757619Z", + "iopub.status.busy": "2026-08-14T12:27:29.757481Z", + "iopub.status.idle": "2026-08-14T12:27:29.761271Z", + "shell.execute_reply": "2026-08-14T12:27:29.760431Z" } - ], - "source": [ - "t[1, 2]" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "id": "c33c58dc-f5f7-4240-bc2d-d19a1c7d791d", - "metadata": {}, + }, "outputs": [ { "data": { "text/plain": [ - "tensor([ 0.3275, -2.3084, -0.5477])" + "(torch.Size([6]), torch.Size([6]), torch.Size([6]))" ] }, - "execution_count": 26, + "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "t[:, 1]" + "coordinates = torch.rand(6, 5)\n", + "x, t, coefficient_1, coefficient_2, diffusivity = coordinates.unbind(dim=1)\n", + "\n", + "x.shape, t.shape, diffusivity.shape" ] }, { - "cell_type": "code", - "execution_count": 27, - "id": "a0c9e3ce-1393-4aa2-905c-bc784bad9735", + "cell_type": "markdown", + "id": "1c3fe6f1", "metadata": {}, - "outputs": [], "source": [ - "t[t < 0.0] = 0.0" + "### Constructing coordinate grids\n", + "\n", + "The heat-equation PINN evaluates combinations of time and position.\n", + "`meshgrid(..., indexing=\"ij\")` constructs coordinate matrices, `ravel()`\n", + "flattens them, and `column_stack` turns the coordinates into one row per\n", + "evaluation point." ] }, { "cell_type": "code", - "execution_count": 28, - "id": "a205dc35-86a9-4262-a13b-f17397ab9fa6", - "metadata": {}, + "execution_count": 21, + "id": "ffa056cf", + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-14T12:27:29.762648Z", + "iopub.status.busy": "2026-08-14T12:27:29.762525Z", + "iopub.status.idle": "2026-08-14T12:27:29.766936Z", + "shell.execute_reply": "2026-08-14T12:27:29.766144Z" + } + }, "outputs": [ { "data": { "text/plain": [ - "tensor([[0.0000, 0.3275, 0.5494, 0.0000],\n", - " [0.1741, 0.0000, 0.0000, 0.0000],\n", - " [0.4861, 0.0000, 0.0000, 0.0000]])" + "(torch.Size([3, 4]),\n", + " torch.Size([3, 4]),\n", + " torch.Size([12, 2]),\n", + " tensor([[0.0000, 0.0000],\n", + " [0.3333, 0.0000],\n", + " [0.6667, 0.0000],\n", + " [1.0000, 0.0000]]))" ] }, - "execution_count": 28, + "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "t" - ] - }, - { - "cell_type": "markdown", - "id": "ac3f6010-d82d-4e22-ab9a-c46e80ceb13f", - "metadata": {}, - "source": [ - "## Reshaping" + "x_grid = torch.linspace(0.0, 1.0, 4)\n", + "t_grid = torch.linspace(0.0, 0.5, 3)\n", + "tt, xx = torch.meshgrid(t_grid, x_grid, indexing=\"ij\")\n", + "grid_points = torch.column_stack([xx.ravel(), tt.ravel()])\n", + "\n", + "xx.shape, tt.shape, grid_points.shape, grid_points[:4]" ] }, { "cell_type": "markdown", - "id": "cf3dd4a7-22c5-4b20-adba-ed526a96da25", - "metadata": {}, - "source": [ - "A common operation on a tensor is reshaping it, i.e., modifying its rank. In PyTorch, this is done by creating a view on the tensor." - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "id": "f864de93-78ba-4515-aedc-c42d271504ac", + "id": "94910656", "metadata": {}, - "outputs": [], "source": [ - "t = torch.arange(1, 25)" + "## 7. Reductions and scalar tensors\n", + "\n", + "Reductions combine values along one or more dimensions. The `dim` argument\n", + "specifies which dimension disappears; `keepdim=True` retains it with size one,\n", + "which can make subsequent broadcasting clearer." ] }, { "cell_type": "code", - "execution_count": 30, - "id": "e312a3f1-2447-410b-b488-8d561eadd56a", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "torch.Size([24])" - ] - }, - "execution_count": 30, - "metadata": {}, - "output_type": "execute_result" + "execution_count": 22, + "id": "77545b30", + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-14T12:27:29.768182Z", + "iopub.status.busy": "2026-08-14T12:27:29.768048Z", + "iopub.status.idle": "2026-08-14T12:27:29.773840Z", + "shell.execute_reply": "2026-08-14T12:27:29.772890Z" } - ], - "source": [ - "t.shape" - ] - }, - { - "cell_type": "code", - "execution_count": 31, - "id": "d9c23fd5-3a9d-40d7-a71c-daefe3bbdbb0", - "metadata": {}, - "outputs": [], - "source": [ - "v = t.view(4, 6)" - ] - }, - { - "cell_type": "code", - "execution_count": 32, - "id": "0a88a0ca-82f4-47f7-aa1b-b7990222cb41", - "metadata": {}, + }, "outputs": [ { "data": { "text/plain": [ - "torch.Size([4, 6])" + "(tensor(0.),\n", + " tensor([2., 1., 0.]),\n", + " tensor([1, 0, 1]),\n", + " torch.Size([2]),\n", + " torch.Size([2, 1]))" ] }, - "execution_count": 32, + "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "v.shape" + "measurements = torch.tensor(\n", + " [[3.0, 1.0, 4.0], [2.0, 5.0, 0.0]]\n", + ")\n", + "\n", + "global_minimum = measurements.min()\n", + "column_minima = measurements.min(dim=0)\n", + "row_means = measurements.mean(dim=1)\n", + "row_means_kept = measurements.mean(dim=1, keepdim=True)\n", + "\n", + "(\n", + " global_minimum,\n", + " column_minima.values,\n", + " column_minima.indices,\n", + " row_means.shape,\n", + " row_means_kept.shape,\n", + ")" ] }, { "cell_type": "markdown", - "id": "d57f317b-b028-422f-a9b6-4c6e3609d08a", - "metadata": {}, - "source": [ - "A view is exactly that, so in the example above, both `t` and `v` refer to the same data." - ] - }, - { - "cell_type": "code", - "execution_count": 33, - "id": "320d6138-f495-4657-9bb4-d03e2c316d0e", + "id": "4405e298", "metadata": {}, - "outputs": [], "source": [ - "v[1, 1] = -1" + "The MNIST training notebooks turn class scores into predictions and Boolean\n", + "comparisons into a count of correct examples." ] }, { "cell_type": "code", - "execution_count": 34, - "id": "73b23b8b-d6ba-4b08-9370-b83d7201a836", - "metadata": {}, + "execution_count": 23, + "id": "43ee8196", + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-14T12:27:29.775266Z", + "iopub.status.busy": "2026-08-14T12:27:29.775126Z", + "iopub.status.idle": "2026-08-14T12:27:29.781185Z", + "shell.execute_reply": "2026-08-14T12:27:29.780192Z" + } + }, "outputs": [ { "data": { "text/plain": [ - "tensor([ 1, 2, 3, 4, 5, 6, 7, -1, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18,\n", - " 19, 20, 21, 22, 23, 24])" + "(tensor([2, 0, 1]), tensor([True, True, True]), tensor(3), tensor(1.))" ] }, - "execution_count": 34, + "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "t" + "targets = torch.tensor([2, 0, 1])\n", + "example_logits = torch.tensor(\n", + " [\n", + " [0.1, 0.2, 1.7],\n", + " [1.2, 0.4, 0.3],\n", + " [0.1, 1.3, 0.2],\n", + " ]\n", + ")\n", + "\n", + "predictions = example_logits.argmax(dim=1)\n", + "correct = predictions == targets\n", + "number_correct = correct.sum()\n", + "accuracy = correct.float().mean()\n", + "\n", + "predictions, correct, number_correct, accuracy" ] }, { "cell_type": "markdown", - "id": "d74b7181-9bdf-42f0-9fda-48767c17a605", + "id": "973ed359", "metadata": {}, "source": [ - "Flattening a tensor is simple." + "`torch.bincount` counts occurrences of non-negative integer values.\n", + "`minlength` retains classes that are absent from the observed data, which is\n", + "why the MNIST notebooks specify the known number of classes." ] }, { "cell_type": "code", - "execution_count": 35, - "id": "5c738443-a751-4794-ab8f-8e72bd249a41", - "metadata": {}, - "outputs": [], - "source": [ - "v1 = v.view(-1)" - ] - }, - { - "cell_type": "code", - "execution_count": 36, - "id": "59466140-70e2-40da-bcbc-b70e918cba90", - "metadata": {}, + "execution_count": 24, + "id": "f1def6eb", + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-14T12:27:29.782782Z", + "iopub.status.busy": "2026-08-14T12:27:29.782646Z", + "iopub.status.idle": "2026-08-14T12:27:29.786716Z", + "shell.execute_reply": "2026-08-14T12:27:29.785709Z" + } + }, "outputs": [ { "data": { "text/plain": [ - "torch.Size([24])" + "tensor([1, 2, 0, 3, 0])" ] }, - "execution_count": 36, + "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "v1.shape" + "labels = torch.tensor([0, 1, 1, 3, 3, 3])\n", + "class_counts = torch.bincount(labels, minlength=5)\n", + "class_counts" ] }, { "cell_type": "markdown", - "id": "acd254b0-cb43-44a2-89e6-e4c3b3deb6fb", + "id": "3418382e", "metadata": {}, "source": [ - "You can add another dimension to a view using `unsqueeze`." + "Scientific losses and error measures often compose element-wise operations and\n", + "reductions. `torch.linalg.vector_norm` makes the intended norm explicit." ] }, { "cell_type": "code", - "execution_count": 37, - "id": "eba4a1c9-bc6c-42c3-bfda-e9024532cb9a", - "metadata": {}, - "outputs": [], - "source": [ - "v2 = v1.unsqueeze(0)" - ] - }, - { - "cell_type": "code", - "execution_count": 38, - "id": "4e63d209-be6f-4198-8d80-e894a3aa3a16", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "torch.Size([1, 24])" - ] - }, - "execution_count": 38, - "metadata": {}, - "output_type": "execute_result" + "execution_count": 25, + "id": "e4f41bb3", + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-14T12:27:29.788359Z", + "iopub.status.busy": "2026-08-14T12:27:29.788219Z", + "iopub.status.idle": "2026-08-14T12:27:29.795306Z", + "shell.execute_reply": "2026-08-14T12:27:29.794404Z" } - ], - "source": [ - "v2.shape" - ] - }, - { - "cell_type": "code", - "execution_count": 39, - "id": "df748047-f18e-4b06-8927-84ba326e83a0", - "metadata": {}, - "outputs": [], - "source": [ - "v3 = v1.unsqueeze(1)" - ] - }, - { - "cell_type": "code", - "execution_count": 40, - "id": "5632b736-878b-4b3b-9b87-bf7281b09390", - "metadata": {}, + }, "outputs": [ { "data": { "text/plain": [ - "torch.Size([24, 1])" + "(tensor(0.0375), tensor(0.1936), tensor(0.3873), tensor(0.3000))" ] }, - "execution_count": 40, + "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "v3.shape" + "residual = torch.tensor([-0.2, 0.1, 0.3, -0.1])\n", + "\n", + "mean_squared_residual = residual.square().mean()\n", + "root_mean_squared_residual = mean_squared_residual.sqrt()\n", + "l2_norm = torch.linalg.vector_norm(residual)\n", + "maximum_absolute_residual = residual.abs().max()\n", + "\n", + "(\n", + " mean_squared_residual,\n", + " root_mean_squared_residual,\n", + " l2_norm,\n", + " maximum_absolute_residual,\n", + ")" ] }, { - "cell_type": "code", - "execution_count": 41, - "id": "f16ff285-5dd5-4366-bdb4-0abd2e166dc0", + "cell_type": "markdown", + "id": "8aceec5e", "metadata": {}, - "outputs": [], "source": [ - "v4 = v2.unsqueeze(2)" + "A reduction still returns a tensor, even when it has no dimensions. `item()`\n", + "converts a one-element tensor to a Python number. It is not differentiable and,\n", + "on an accelerator, obtaining the value can force the host to wait for queued\n", + "device work. Use it for reporting or control flow, not repeatedly inside\n", + "performance-critical tensor calculations." ] }, { "cell_type": "code", - "execution_count": 42, - "id": "a57b46fc-c398-4ed3-ba9c-bb47c862d656", - "metadata": {}, + "execution_count": 26, + "id": "01ddf0ed", + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-14T12:27:29.796940Z", + "iopub.status.busy": "2026-08-14T12:27:29.796811Z", + "iopub.status.idle": "2026-08-14T12:27:29.800488Z", + "shell.execute_reply": "2026-08-14T12:27:29.799586Z" + } + }, "outputs": [ { "data": { "text/plain": [ - "torch.Size([1, 24, 1])" + "(torch.Size([]), torch.Tensor, float)" ] }, - "execution_count": 42, + "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "v4.shape" + "scalar_tensor = residual.square().mean()\n", + "python_number = scalar_tensor.item()\n", + "\n", + "scalar_tensor.shape, type(scalar_tensor), type(python_number)" ] }, { "cell_type": "markdown", - "id": "f053d5cf-e425-4d96-aefd-6d2fffcfe90a", + "id": "9a2fa061", "metadata": {}, "source": [ - "The reverse operation, `squeeze`, removes a dimension if it is 1." + "## 8. Copies, detaching, and NumPy interoperability\n", + "\n", + "`clone()` copies tensor data while preserving its relationship to the autograd\n", + "graph. `detach()` returns a tensor that shares storage but is disconnected from\n", + "the graph. Use `detach().clone()` when both an independent copy and graph\n", + "disconnection are required." ] }, { "cell_type": "code", - "execution_count": 43, - "id": "e690db43-08b7-41fa-a8fa-030910eccd1e", - "metadata": {}, + "execution_count": 27, + "id": "9a860392", + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-14T12:27:29.801885Z", + "iopub.status.busy": "2026-08-14T12:27:29.801757Z", + "iopub.status.idle": "2026-08-14T12:27:29.806240Z", + "shell.execute_reply": "2026-08-14T12:27:29.805374Z" + } + }, "outputs": [ { "data": { "text/plain": [ - "torch.Size([24, 1])" + "({'shape': (2,),\n", + " 'ndim': 1,\n", + " 'dtype': torch.float32,\n", + " 'device': device(type='cpu'),\n", + " 'requires_grad': True,\n", + " 'is_leaf': False,\n", + " 'grad_fn': 'PowBackward0'},\n", + " {'shape': (2,),\n", + " 'ndim': 1,\n", + " 'dtype': torch.float32,\n", + " 'device': device(type='cpu'),\n", + " 'requires_grad': True,\n", + " 'is_leaf': False,\n", + " 'grad_fn': 'CloneBackward0'},\n", + " {'shape': (2,),\n", + " 'ndim': 1,\n", + " 'dtype': torch.float32,\n", + " 'device': device(type='cpu'),\n", + " 'requires_grad': False,\n", + " 'is_leaf': True,\n", + " 'grad_fn': None},\n", + " {'shape': (2,),\n", + " 'ndim': 1,\n", + " 'dtype': torch.float32,\n", + " 'device': device(type='cpu'),\n", + " 'requires_grad': False,\n", + " 'is_leaf': True,\n", + " 'grad_fn': None})" ] }, - "execution_count": 43, + "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "v4.squeeze(0).shape" + "tracked = torch.tensor([1.0, 2.0], requires_grad=True)\n", + "result = tracked.square()\n", + "cloned = result.clone()\n", + "detached = result.detach()\n", + "independent = result.detach().clone()\n", + "\n", + "(\n", + " describe(result),\n", + " describe(cloned),\n", + " describe(detached),\n", + " describe(independent),\n", + ")" ] }, { - "cell_type": "code", - "execution_count": 44, - "id": "d5aae858-8dd4-4476-b2c3-094933d3bd3d", + "cell_type": "markdown", + "id": "7f68f072", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "torch.Size([1, 24])" - ] - }, - "execution_count": 44, - "metadata": {}, - "output_type": "execute_result" - } - ], "source": [ - "v4.squeeze(2).shape" + "`torch.from_numpy` and a supported CPU tensor's `.numpy()` method normally\n", + "share storage. `torch.tensor(array)` copies instead. Mutating shared data from\n", + "either side changes the other object." ] }, { "cell_type": "code", - "execution_count": 45, - "id": "b674b707-e88c-412d-8d33-ac253e373e41", - "metadata": {}, + "execution_count": 28, + "id": "763e5a36", + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-14T12:27:29.807526Z", + "iopub.status.busy": "2026-08-14T12:27:29.807392Z", + "iopub.status.idle": "2026-08-14T12:27:29.812253Z", + "shell.execute_reply": "2026-08-14T12:27:29.811206Z" + } + }, "outputs": [ { "data": { "text/plain": [ - "torch.Size([1, 24, 1])" + "(array([-1., 1., 2., 3.], dtype=float32),\n", + " tensor([-1., 1., 2., 3.]),\n", + " tensor([0., 1., 2., 3.]))" ] }, - "execution_count": 45, + "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "v4.squeeze(1).shape" - ] - }, - { - "cell_type": "markdown", - "id": "bc6154dd-92e9-480e-906a-5ac96083816d", - "metadata": {}, - "source": [ - "## \n", - "Conversions" + "array = np.arange(4, dtype=np.float32)\n", + "shared_tensor = torch.from_numpy(array)\n", + "copied_tensor = torch.tensor(array)\n", + "\n", + "array[0] = -1.0\n", + "\n", + "array, shared_tensor, copied_tensor" ] }, { "cell_type": "markdown", - "id": "95f17769-45ad-4989-ace5-74e627dc31b3", + "id": "0eeb949a", "metadata": {}, "source": [ - "The result of a computation involving tensors is a tensor, even when the result is a single number." - ] - }, - { - "cell_type": "code", - "execution_count": 46, - "id": "74262e76-efb6-460a-8943-99af9664491a", - "metadata": {}, - "outputs": [], - "source": [ - "t = torch.rand(3, 3).sum()" + "The robust conversion used for plotting or NumPy analysis is:\n", + "\n", + "```python\n", + "array = tensor.detach().cpu().numpy()\n", + "```\n", + "\n", + "- `detach()` removes the autograd relationship;\n", + "- `cpu()` transfers accelerator data to host memory;\n", + "- `numpy()` exposes the CPU values as an array.\n", + "\n", + "The resulting array may still share storage with the detached CPU tensor. Add\n", + "`.copy()` on the NumPy side when independent storage is required." ] }, { "cell_type": "code", - "execution_count": 47, - "id": "a4ef3443-adf0-4bdb-a193-fb544dc22411", - "metadata": {}, + "execution_count": 29, + "id": "6b85fa1c", + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-14T12:27:29.813650Z", + "iopub.status.busy": "2026-08-14T12:27:29.813515Z", + "iopub.status.idle": "2026-08-14T12:27:29.817231Z", + "shell.execute_reply": "2026-08-14T12:27:29.816269Z" + } + }, "outputs": [ { "data": { "text/plain": [ - "tensor(4.2559)" + "array([1., 4.], dtype=float32)" ] }, - "execution_count": 47, + "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "t" + "plot_values = result.detach().cpu().numpy()\n", + "plot_values" ] }, { "cell_type": "markdown", - "id": "0c1ad887-6b9c-43a4-8ad9-8174a49f4bbc", + "id": "5bfc40e6", "metadata": {}, "source": [ - "To get a number, use the `item()` method." + "## 9. Moving tensors between devices\n", + "\n", + "Operations generally require participating tensors to be on the same device.\n", + "`to` can change device, dtype, or both. It returns the original tensor when no\n", + "conversion is needed and otherwise returns a converted tensor; assigning the\n", + "result is therefore essential." ] }, { "cell_type": "code", - "execution_count": 48, - "id": "4baeb817-c9fe-4b1b-afc5-cfd71b7fa307", - "metadata": {}, + "execution_count": 30, + "id": "98c547d9", + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-14T12:27:29.818641Z", + "iopub.status.busy": "2026-08-14T12:27:29.818490Z", + "iopub.status.idle": "2026-08-14T12:27:30.233346Z", + "shell.execute_reply": "2026-08-14T12:27:30.232309Z" + } + }, "outputs": [ { "data": { "text/plain": [ - "4.255926609039307" + "({'shape': (5,),\n", + " 'ndim': 1,\n", + " 'dtype': torch.float32,\n", + " 'device': device(type='cpu'),\n", + " 'requires_grad': False,\n", + " 'is_leaf': True,\n", + " 'grad_fn': None},\n", + " {'shape': (5,),\n", + " 'ndim': 1,\n", + " 'dtype': torch.float32,\n", + " 'device': device(type='cuda', index=0),\n", + " 'requires_grad': False,\n", + " 'is_leaf': True,\n", + " 'grad_fn': None},\n", + " {'shape': (5,),\n", + " 'ndim': 1,\n", + " 'dtype': torch.float32,\n", + " 'device': device(type='cpu'),\n", + " 'requires_grad': False,\n", + " 'is_leaf': True,\n", + " 'grad_fn': None})" ] }, - "execution_count": 48, + "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "t.item()" - ] - }, - { - "cell_type": "markdown", - "id": "622f8d8d-956b-462e-8bc3-92047272ada9", - "metadata": {}, - "source": [ - "Note that this is a Python `float value." + "device = torch.device(\"cuda\" if torch.cuda.is_available() else \"cpu\")\n", + "using_cuda = device.type == \"cuda\"\n", + "\n", + "host_values = torch.linspace(0.0, 1.0, 5)\n", + "device_values = host_values.to(\n", + " device,\n", + " dtype=torch.float32,\n", + " non_blocking=using_cuda,\n", + ")\n", + "returned_values = device_values.cpu()\n", + "\n", + "describe(host_values), describe(device_values), describe(returned_values)" ] }, { "cell_type": "markdown", - "id": "8b104311-c837-4d13-ac28-f10f717a934e", + "id": "49009eac", "metadata": {}, "source": [ - "You can also easily convert a numpy array to and from a PyTorch tensor." - ] - }, - { - "cell_type": "code", - "execution_count": 49, - "id": "c8a995da-1556-455f-90f6-186cbb200910", - "metadata": {}, - "outputs": [], - "source": [ - "data = np.random.uniform(size=(3, 4))" - ] - }, - { - "cell_type": "code", - "execution_count": 50, - "id": "cb22b856-2853-4c0f-902e-3a69345b5882", - "metadata": {}, - "outputs": [], - "source": [ - "t = torch.from_numpy(data)" + "The MNIST loaders use `pin_memory=True` only when CUDA is used, and tensor\n", + "transfers separately use `non_blocking=True`. Pinned host memory can enable\n", + "efficient asynchronous host-to-device copies, but it consumes a limited host\n", + "resource and does not guarantee a speedup. It is a data-loading optimization,\n", + "not a requirement for correctness.\n", + "\n", + "Create tensors directly on their target device when possible:" ] }, { "cell_type": "code", - "execution_count": 51, - "id": "529d5545-e1cf-4526-9d48-8c07ab9faa80", - "metadata": {}, + "execution_count": 31, + "id": "7b413537", + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-14T12:27:30.235035Z", + "iopub.status.busy": "2026-08-14T12:27:30.234890Z", + "iopub.status.idle": "2026-08-14T12:27:30.262209Z", + "shell.execute_reply": "2026-08-14T12:27:30.261287Z" + } + }, "outputs": [ { "data": { "text/plain": [ - "torch.float64" + "{'shape': (4, 5),\n", + " 'ndim': 2,\n", + " 'dtype': torch.float32,\n", + " 'device': device(type='cuda', index=0),\n", + " 'requires_grad': False,\n", + " 'is_leaf': True,\n", + " 'grad_fn': None}" ] }, - "execution_count": 51, + "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "t.dtype" + "device_samples = torch.rand(4, 5, device=device)\n", + "describe(device_samples)" ] }, { - "cell_type": "code", - "execution_count": 52, - "id": "66220b56-cbc7-469e-b203-c126cbc962c4", + "cell_type": "markdown", + "id": "28608324", "metadata": {}, - "outputs": [], "source": [ - "t = t.to(torch.float32)" + "## 10. Automatic differentiation\n", + "\n", + "PyTorch records operations involving tensors that require gradients. The\n", + "recorded graph is created dynamically during each forward calculation. It\n", + "enables reverse-mode automatic differentiation but consumes time and memory.\n", + "\n", + "A **leaf tensor** is not the result of a recorded differentiable operation.\n", + "Model parameters and explicitly marked input coordinates are typical leaves.\n", + "Only leaf tensors have `.grad` populated by `backward()` unless\n", + "`retain_grad()` is requested for an intermediate tensor." ] }, { "cell_type": "code", - "execution_count": 53, - "id": "aa0eb010-1896-4efc-8091-8349efdf50bd", - "metadata": {}, + "execution_count": 32, + "id": "e6d634d4", + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-14T12:27:30.264052Z", + "iopub.status.busy": "2026-08-14T12:27:30.263792Z", + "iopub.status.idle": "2026-08-14T12:27:30.268352Z", + "shell.execute_reply": "2026-08-14T12:27:30.267436Z" + } + }, "outputs": [ { "data": { "text/plain": [ - "torch.float32" + "({'shape': (3,),\n", + " 'ndim': 1,\n", + " 'dtype': torch.float32,\n", + " 'device': device(type='cpu'),\n", + " 'requires_grad': True,\n", + " 'is_leaf': True,\n", + " 'grad_fn': None},\n", + " {'shape': (3,),\n", + " 'ndim': 1,\n", + " 'dtype': torch.float32,\n", + " 'device': device(type='cpu'),\n", + " 'requires_grad': True,\n", + " 'is_leaf': False,\n", + " 'grad_fn': 'AddBackward0'},\n", + " {'shape': (),\n", + " 'ndim': 0,\n", + " 'dtype': torch.float32,\n", + " 'device': device(type='cpu'),\n", + " 'requires_grad': True,\n", + " 'is_leaf': False,\n", + " 'grad_fn': 'SumBackward0'})" ] }, - "execution_count": 53, + "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "t.dtype" + "x = torch.tensor([2.0, 3.0, 4.0], requires_grad=True)\n", + "u = 3.0 * x**2 - 2.0 * x + 1.0\n", + "loss = u.sum()\n", + "\n", + "describe(x), describe(u), describe(loss)" ] }, { "cell_type": "markdown", - "id": "c121e3d9-824f-4426-afef-2eb03618773d", + "id": "c2928598", "metadata": {}, "source": [ - "t1 = torch.rand(3, 4)" + "`backward()` traverses the graph from a scalar result and accumulates\n", + "derivatives in the `.grad` attributes of leaf tensors." ] }, { "cell_type": "code", - "execution_count": 54, - "id": "d2e719ed-9384-44ed-93d7-b994460aae4e", - "metadata": {}, - "outputs": [], - "source": [ - "data1 = t1.numpy()" - ] - }, - { - "cell_type": "code", - "execution_count": 55, - "id": "6afd3de7-ba81-4fa7-b1df-50b02c1bd6c0", - "metadata": {}, + "execution_count": 33, + "id": "69b1fb1b", + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-14T12:27:30.269772Z", + "iopub.status.busy": "2026-08-14T12:27:30.269628Z", + "iopub.status.idle": "2026-08-14T12:27:30.274561Z", + "shell.execute_reply": "2026-08-14T12:27:30.273823Z" + } + }, "outputs": [ { "data": { "text/plain": [ - "((3, 4), dtype('float64'))" + "(tensor([10., 16., 22.]), tensor([20., 32., 44.]))" ] }, - "execution_count": 55, + "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "data.shape, data.dtype" - ] - }, - { - "cell_type": "markdown", - "id": "f6a3454c-cdbd-441e-8189-8a3ac598905d", - "metadata": {}, - "source": [ - "## Devices" + "loss.backward()\n", + "first_gradient = x.grad.clone()\n", + "\n", + "loss = (3.0 * x**2 - 2.0 * x + 1.0).sum()\n", + "loss.backward()\n", + "accumulated_gradient = x.grad.clone()\n", + "\n", + "first_gradient, accumulated_gradient" ] }, { "cell_type": "markdown", - "id": "9cc5571c-e3e9-4758-8908-b167d75e1a4b", - "metadata": {}, - "source": [ - "You can check whether a CUDA device is available." - ] - }, - { - "cell_type": "code", - "execution_count": 56, - "id": "01f10941-e56d-4a16-9517-557f8c39eb4f", + "id": "8c6b4f97", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "True" - ] - }, - "execution_count": 56, - "metadata": {}, - "output_type": "execute_result" - } - ], "source": [ - "torch.cuda.is_available()" + "The second result is twice the first because gradients accumulate. Neural\n", + "network training loops call `optimizer.zero_grad(...)` before the next backward\n", + "pass. For an isolated leaf tensor, assigning `x.grad = None` clears it." ] }, { "cell_type": "code", - "execution_count": 57, - "id": "c9750b55-31f1-45db-baa3-9c89f026c8a7", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "1" - ] - }, - "execution_count": 57, - "metadata": {}, - "output_type": "execute_result" + "execution_count": 34, + "id": "06748721", + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-14T12:27:30.275966Z", + "iopub.status.busy": "2026-08-14T12:27:30.275845Z", + "iopub.status.idle": "2026-08-14T12:27:30.278365Z", + "shell.execute_reply": "2026-08-14T12:27:30.277532Z" } - ], + }, + "outputs": [], "source": [ - "torch.cuda.device_count()" + "x.grad = None\n", + "x.grad" ] }, { "cell_type": "markdown", - "id": "9adfd788-b95b-4763-b7eb-6219a66dfa95", - "metadata": {}, - "source": [ - "You can move a tensor from the host to a device." - ] - }, - { - "cell_type": "code", - "execution_count": 58, - "id": "79d8bf7d-7077-4f21-92ee-485e97d3001a", + "id": "34065361", "metadata": {}, - "outputs": [], "source": [ - "t_host = torch.rand(3, 4)" + "### `backward()` versus `torch.autograd.grad`\n", + "\n", + "`backward()` is convenient for accumulating a loss gradient in all model\n", + "parameters. `torch.autograd.grad` returns derivatives with respect to selected\n", + "inputs. PINNs use the latter to differentiate the network output with respect\n", + "to space and time." ] }, { "cell_type": "code", - "execution_count": 59, - "id": "f73fa2dd-6aa2-4dd2-8572-0799b0dcefe8", - "metadata": {}, + "execution_count": 35, + "id": "e093e5fc", + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-14T12:27:30.279720Z", + "iopub.status.busy": "2026-08-14T12:27:30.279542Z", + "iopub.status.idle": "2026-08-14T12:27:30.670567Z", + "shell.execute_reply": "2026-08-14T12:27:30.669200Z" + } + }, "outputs": [ { "data": { "text/plain": [ - "device(type='cpu')" + "(tensor([-1.0000, -0.5000, 0.0000, 0.5000, 1.0000], requires_grad=True),\n", + " tensor([3.0000, 0.7500, 0.0000, 0.7500, 3.0000], grad_fn=),\n", + " tensor([-6., -3., 0., 3., 6.]))" ] }, - "execution_count": 59, + "execution_count": 35, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "t_host.device" + "coordinate = torch.linspace(-1.0, 1.0, 5).requires_grad_()\n", + "field = coordinate**3\n", + "\n", + "first_derivative = torch.autograd.grad(\n", + " field,\n", + " coordinate,\n", + " grad_outputs=torch.ones_like(field),\n", + " create_graph=True,\n", + ")[0]\n", + "second_derivative = torch.autograd.grad(\n", + " first_derivative,\n", + " coordinate,\n", + " grad_outputs=torch.ones_like(first_derivative),\n", + ")[0]\n", + "\n", + "coordinate, first_derivative, second_derivative" ] }, { - "cell_type": "code", - "execution_count": 60, - "id": "d6db348c-6f3b-4f84-99dd-25fe8658874b", + "cell_type": "markdown", + "id": "153d9054", "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "device is cuda:0\n", - "tensor([[-1.0000, 0.2456, 0.5680, 0.5148],\n", - " [ 0.3087, 0.3336, 0.0437, 0.4458],\n", - " [ 0.3451, 0.2805, 0.1695, 0.5190]], device='cuda:0')\n" - ] - } - ], "source": [ - "if torch.cuda.is_available():\n", - " t_dev = t_host.to('cuda')\n", - " print(f'device is {t_dev.device}')\n", - " t_dev[0, 0] = -1.0\n", - " print(t_dev)" + "`grad_outputs` defines a vector-Jacobian product. With\n", + "`torch.ones_like(field)`, it differentiates the sum of the output components.\n", + "The result above can be read as one derivative per sample because each output\n", + "depends only on the corresponding input. That interpretation is not generally\n", + "valid for operations that couple different samples.\n", + "\n", + "`create_graph=True` records the derivative calculation itself. It is required\n", + "when another derivative will be taken, and when a PINN loss must be\n", + "differentiated through a physical derivative back to model parameters." ] }, { "cell_type": "markdown", - "id": "0fd9d6e3-cfaf-415f-9027-65f2d36a6410", + "id": "ce6d49cd", "metadata": {}, "source": [ - "The tensor on the host has not changed." + "### Gradient modes and model evaluation\n", + "\n", + "`torch.no_grad()` and `torch.inference_mode()` prevent operations from being\n", + "recorded by autograd. Inference mode removes additional tracking overhead but\n", + "places more restrictions on using its results later in differentiated code.\n", + "\n", + "`model.eval()` is separate: it changes the behaviour of modules such as\n", + "dropout and batch normalization but does not disable gradient recording. The\n", + "MNIST evaluation functions correctly use both `model.eval()` and\n", + "`@torch.inference_mode()`." ] }, { "cell_type": "code", - "execution_count": 61, - "id": "43af0245-9776-429a-8c79-000cb1358674", - "metadata": {}, + "execution_count": 36, + "id": "26e8ee95", + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-14T12:27:30.672424Z", + "iopub.status.busy": "2026-08-14T12:27:30.672178Z", + "iopub.status.idle": "2026-08-14T12:27:30.676973Z", + "shell.execute_reply": "2026-08-14T12:27:30.676071Z" + } + }, "outputs": [ { "data": { "text/plain": [ - "tensor([[0.2740, 0.2456, 0.5680, 0.5148],\n", - " [0.3087, 0.3336, 0.0437, 0.4458],\n", - " [0.3451, 0.2805, 0.1695, 0.5190]])" + "(True, False, False)" ] }, - "execution_count": 61, + "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "t_host" - ] - }, - { - "cell_type": "code", - "execution_count": 62, - "id": "177c59a4-ad1e-4897-98ed-124364c1c100", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "tensor([[-1.0000, 0.2456, 0.5680, 0.5148],\n", - " [ 0.3087, 0.3336, 0.0437, 0.4458],\n", - " [ 0.3451, 0.2805, 0.1695, 0.5190]])\n" - ] - } - ], - "source": [ - "if torch.cuda.is_available():\n", - " t1_host = t_dev.to('cpu')\n", - " print(t1_host)" - ] - }, - { - "cell_type": "markdown", - "id": "e70700ff-4cbf-4482-bd12-bef79c930d7d", - "metadata": {}, - "source": [ - "## Gradients" + "tracked_input = torch.tensor([2.0], requires_grad=True)\n", + "\n", + "ordinary_output = tracked_input.square()\n", + "with torch.no_grad():\n", + " no_grad_output = tracked_input.square()\n", + "with torch.inference_mode():\n", + " inference_output = tracked_input.square()\n", + "\n", + "(\n", + " ordinary_output.requires_grad,\n", + " no_grad_output.requires_grad,\n", + " inference_output.requires_grad,\n", + ")" ] }, { "cell_type": "markdown", - "id": "b9776363-08f9-4f57-a167-b5faaaa428d2", + "id": "78d89810", "metadata": {}, "source": [ - "As tensors are used to represent layers of neural networks, and training of such networks is done uisng backpropagation, computing gradients is a major part of the training process. PyTorch tensors can keep track of information to significantly speed up this computation, but at the cost of memory consumption." + "## 11. Appendix: functional differentiation used by the PINNs\n", + "\n", + "`torch.func` provides function transformations rather than tensor methods:\n", + "\n", + "- `grad(f)` returns a function that evaluates the gradient of scalar-valued\n", + " `f`;\n", + "- transformations can be nested for higher derivatives;\n", + "- `vmap(f)` maps `f` over a tensor dimension without writing a Python loop;\n", + "- `functional_call` evaluates a module with an explicit parameter mapping.\n", + "\n", + "This style is used by the logistic and pendulum PINNs. It is useful for batched\n", + "derivatives, but is a more advanced and more version-sensitive API than the\n", + "core tensor and autograd mechanisms above." ] }, { "cell_type": "code", - "execution_count": 2, - "id": "654a608c-42fc-4027-8b47-05133739176c", - "metadata": {}, + "execution_count": 37, + "id": "ac8353f8", + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-14T12:27:30.678704Z", + "iopub.status.busy": "2026-08-14T12:27:30.678492Z", + "iopub.status.idle": "2026-08-14T12:27:31.739920Z", + "shell.execute_reply": "2026-08-14T12:27:31.738426Z" + } + }, "outputs": [ { "data": { "text/plain": [ - "True" + "(tensor([0.5403, 0.8776, 1.0000, 0.8776, 0.5403]),\n", + " tensor([ 0.8415, 0.4794, -0.0000, -0.4794, -0.8415]))" ] }, - "execution_count": 2, + "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "torch.is_grad_enabled()" - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "id": "3e2f9994-ae2b-4022-bd0f-8478b5ca1b09", - "metadata": {}, - "outputs": [], - "source": [ - "t = torch.tensor([2.0, 3.0, 4.0], requires_grad=True)" - ] - }, - { - "cell_type": "code", - "execution_count": 29, - "id": "ea8d7182-8115-46dd-9aff-f85e31417f55", - "metadata": {}, - "outputs": [], - "source": [ - "u = 3.0*t**2 - 2.0*t + 1.0" + "from torch.func import grad, vmap\n", + "\n", + "\n", + "def scalar_function(value):\n", + " return torch.sin(value)\n", + "\n", + "\n", + "first_derivative_function = grad(scalar_function)\n", + "second_derivative_function = grad(first_derivative_function)\n", + "points = torch.linspace(-1.0, 1.0, 5)\n", + "\n", + "(\n", + " vmap(first_derivative_function)(points),\n", + " vmap(second_derivative_function)(points),\n", + ")" ] }, { - "cell_type": "code", - "execution_count": 33, - "id": "29b607dd-652e-4f0d-827a-876b8c836a84", + "cell_type": "markdown", + "id": "740b5414", "metadata": {}, - "outputs": [], "source": [ - "v = u.sum()" + "The PINN notebooks use `functional_call` to evaluate a module with\n", + "an explicit parameter mapping. This makes the parameters ordinary function\n", + "arguments that can participate in function transformations." ] }, { "cell_type": "code", - "execution_count": 34, - "id": "3921e590-5edf-425e-9a92-46a0be18d890", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "t.requires_grad: True\n", - "u.requires_grad: True\n", - "u.requires_grad: True\n" - ] + "execution_count": 38, + "id": "5c3ee951", + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-14T12:27:31.742039Z", + "iopub.status.busy": "2026-08-14T12:27:31.741736Z", + "iopub.status.idle": "2026-08-14T12:27:31.762689Z", + "shell.execute_reply": "2026-08-14T12:27:31.761297Z" } - ], - "source": [ - "print(\"t.requires_grad:\", t.requires_grad)\n", - "print(\"u.requires_grad:\", u.requires_grad)\n", - "print(\"u.requires_grad:\", v.requires_grad)" - ] - }, - { - "cell_type": "code", - "execution_count": 35, - "id": "be1cce3f-70fb-4587-bc96-88051613b648", - "metadata": {}, - "outputs": [], - "source": [ - "v.backward()" - ] - }, - { - "cell_type": "code", - "execution_count": 36, - "id": "6bf05bb4-2542-43d8-8f5d-71404ecbcad2", - "metadata": {}, + }, "outputs": [ { "data": { "text/plain": [ - "tensor([10., 16., 22.])" + "tensor([ 0.0353, 0.0208, 0.0016, -0.0171, -0.0318], grad_fn=)" ] }, - "execution_count": 36, + "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "t.grad" + "from torch import nn\n", + "from torch.func import functional_call\n", + "\n", + "model = nn.Sequential(\n", + " nn.Linear(1, 4),\n", + " nn.Tanh(),\n", + " nn.Linear(4, 1),\n", + ")\n", + "parameters = dict(model.named_parameters())\n", + "\n", + "\n", + "def model_at(value, model_parameters):\n", + " output = functional_call(\n", + " model,\n", + " model_parameters,\n", + " (value.reshape(1, 1),),\n", + " )\n", + " return output.squeeze()\n", + "\n", + "\n", + "model_derivative = grad(model_at)\n", + "model_points = torch.linspace(-1.0, 1.0, 5)\n", + "vmap(model_derivative, in_dims=(0, None))(model_points, parameters)" ] }, { "cell_type": "markdown", - "id": "63f99698-82d1-46e1-bd86-0a77da7dcee9", + "id": "cbbbc481", "metadata": {}, "source": [ - "The derivative of `u` is `6.0*t - 2.0`." + "## 12. Reasoning checks\n", + "\n", + "Try to answer these before opening the solutions.\n", + "\n", + "1. An MNIST batch has shape `[64, 1, 28, 28]`. What are the shapes of\n", + " `batch[0]`, `batch[0:1]`, and `batch.squeeze(1)`?\n", + "2. Why can `tensor.reshape(...)` be safer than `tensor.view(...)`, and why must\n", + " code still avoid relying on whether `reshape` returns a view or a copy?\n", + "3. What is the difference between `torch.cat([a, b])` and\n", + " `torch.stack([a, b])` for one-dimensional `a` and `b`?\n", + "4. Why is `prediction.detach().cpu().numpy()` preferable to\n", + " `prediction.numpy()` in device-independent model code?\n", + "5. Why does a PINN need `create_graph=True` while calculating some physical\n", + " derivatives?\n", + "\n", + "
\n", + "Solutions\n", + "\n", + "1. `[1, 28, 28]`, `[1, 1, 28, 28]`, and `[64, 28, 28]`. Integer indexing\n", + " removes a dimension, slicing preserves it, and `squeeze(1)` removes the\n", + " known size-one channel dimension.\n", + "2. `view` requires compatible strides, while `reshape` can copy when needed.\n", + " Because `reshape` may either alias or copy, mutation-sensitive code should\n", + " use an explicit view or `clone()` according to its intended ownership.\n", + "3. `cat` extends the existing dimension; `stack` introduces a new dimension.\n", + "4. It works for tensors that track gradients and for accelerator tensors. The\n", + " direct `.numpy()` conversion is restricted to supported CPU tensors that do\n", + " not require gradients.\n", + "5. The derivative must itself remain in the autograd graph so that a higher\n", + " derivative can be computed or the physics loss can propagate back to model\n", + " parameters.\n", + "\n", + "
" ] }, { "cell_type": "markdown", - "id": "04c5d9a1-6b35-48b7-891d-0dbbbe9a3f88", + "id": "dc4eca3a", "metadata": {}, "source": [ - "When you do not need to calculate gradients, e.g., during inference, the `torch.no_grad()` context manager can be used." + "## 13. Further reference\n", + "\n", + "- [Tensor attributes](https://docs.pytorch.org/docs/stable/tensor_attributes.html)\n", + "- [Broadcasting semantics](https://docs.pytorch.org/docs/stable/notes/broadcasting.html)\n", + "- [Tensor views](https://docs.pytorch.org/docs/stable/tensor_view.html)\n", + "- [Autograd mechanics](https://docs.pytorch.org/docs/stable/notes/autograd.html)\n", + "- [`torch.func`](https://docs.pytorch.org/docs/stable/func.html)\n", + "\n", + "The official documentation is the authority for version-specific signatures.\n", + "This notebook focuses on the durable concepts needed to understand the course\n", + "examples." ] } ], @@ -1545,7 +2030,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.14.2" + "version": "3.14.6" } }, "nbformat": 4, diff --git a/training.toml b/training.toml index d5b9210..72bf2a8 100644 --- a/training.toml +++ b/training.toml @@ -1,6 +1,7 @@ schema_version = 2 id = "machine-learning-with-python" title = "Machine learning with Python" +content_language = "en" summary = """ Machine learning plays an increasingly important role in many scientific domains. A Python programmer can use high-quality machine learning frameworks for classic machine learning as well as for state-of-the-art algorithms. This training concentrates on methodological and practical aspects of machine learning and how to apply those using Python. """ @@ -128,6 +129,10 @@ path = "environment.yml" name = "Geert Jan Bex" email = "geertjan.bex@uhasselt.be" +[[maintainers]] +name = "Geert Jan Bex" +email = "geertjan.bex@uhasselt.be" + [[sessions]] id = "session-1" title = "Session one" From 261f6f11da99d9c3a1fb0c396296b6136c5425fe Mon Sep 17 00:00:00 2001 From: Geert Jan Bex Date: Fri, 14 Aug 2026 16:27:18 +0200 Subject: [PATCH 03/33] Extend tensor notebook --- source-code/pytorch/tensors.ipynb | 403 +++++++----------------------- 1 file changed, 87 insertions(+), 316 deletions(-) diff --git a/source-code/pytorch/tensors.ipynb b/source-code/pytorch/tensors.ipynb index c654285..e1fed56 100644 --- a/source-code/pytorch/tensors.ipynb +++ b/source-code/pytorch/tensors.ipynb @@ -173,14 +173,7 @@ "cell_type": "code", "execution_count": 4, "id": "78063e35", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-14T12:27:29.575463Z", - "iopub.status.busy": "2026-08-14T12:27:29.575310Z", - "iopub.status.idle": "2026-08-14T12:27:29.579372Z", - "shell.execute_reply": "2026-08-14T12:27:29.578431Z" - } - }, + "metadata": {}, "outputs": [ { "data": { @@ -214,14 +207,7 @@ "cell_type": "code", "execution_count": 5, "id": "fcbbb265", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-14T12:27:29.581066Z", - "iopub.status.busy": "2026-08-14T12:27:29.580925Z", - "iopub.status.idle": "2026-08-14T12:27:29.605211Z", - "shell.execute_reply": "2026-08-14T12:27:29.604196Z" - } - }, + "metadata": {}, "outputs": [ { "data": { @@ -273,14 +259,7 @@ "cell_type": "code", "execution_count": 6, "id": "15a748d1", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-14T12:27:29.607293Z", - "iopub.status.busy": "2026-08-14T12:27:29.607110Z", - "iopub.status.idle": "2026-08-14T12:27:29.611762Z", - "shell.execute_reply": "2026-08-14T12:27:29.610827Z" - } - }, + "metadata": {}, "outputs": [ { "data": { @@ -316,14 +295,7 @@ "cell_type": "code", "execution_count": 7, "id": "b79e761b", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-14T12:27:29.613389Z", - "iopub.status.busy": "2026-08-14T12:27:29.613245Z", - "iopub.status.idle": "2026-08-14T12:27:29.617424Z", - "shell.execute_reply": "2026-08-14T12:27:29.616611Z" - } - }, + "metadata": {}, "outputs": [ { "data": { @@ -358,14 +330,7 @@ "cell_type": "code", "execution_count": 8, "id": "20290217", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-14T12:27:29.619465Z", - "iopub.status.busy": "2026-08-14T12:27:29.619302Z", - "iopub.status.idle": "2026-08-14T12:27:29.624058Z", - "shell.execute_reply": "2026-08-14T12:27:29.623148Z" - } - }, + "metadata": {}, "outputs": [ { "data": { @@ -448,14 +413,7 @@ "cell_type": "code", "execution_count": 9, "id": "4c84dcb1", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-14T12:27:29.625606Z", - "iopub.status.busy": "2026-08-14T12:27:29.625460Z", - "iopub.status.idle": "2026-08-14T12:27:29.682977Z", - "shell.execute_reply": "2026-08-14T12:27:29.681975Z" - } - }, + "metadata": {}, "outputs": [ { "data": { @@ -501,14 +459,7 @@ "cell_type": "code", "execution_count": 10, "id": "8a4adda2", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-14T12:27:29.684862Z", - "iopub.status.busy": "2026-08-14T12:27:29.684712Z", - "iopub.status.idle": "2026-08-14T12:27:29.688834Z", - "shell.execute_reply": "2026-08-14T12:27:29.688025Z" - } - }, + "metadata": {}, "outputs": [ { "data": { @@ -545,14 +496,7 @@ "cell_type": "code", "execution_count": 11, "id": "ee5125c5", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-14T12:27:29.690338Z", - "iopub.status.busy": "2026-08-14T12:27:29.690211Z", - "iopub.status.idle": "2026-08-14T12:27:29.694009Z", - "shell.execute_reply": "2026-08-14T12:27:29.693246Z" - } - }, + "metadata": {}, "outputs": [ { "data": { @@ -590,14 +534,7 @@ "cell_type": "code", "execution_count": 12, "id": "a16e7bfa", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-14T12:27:29.695976Z", - "iopub.status.busy": "2026-08-14T12:27:29.695847Z", - "iopub.status.idle": "2026-08-14T12:27:29.700202Z", - "shell.execute_reply": "2026-08-14T12:27:29.699300Z" - } - }, + "metadata": {}, "outputs": [ { "data": { @@ -630,14 +567,7 @@ "cell_type": "code", "execution_count": 13, "id": "9e92d6b5", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-14T12:27:29.701561Z", - "iopub.status.busy": "2026-08-14T12:27:29.701424Z", - "iopub.status.idle": "2026-08-14T12:27:29.705436Z", - "shell.execute_reply": "2026-08-14T12:27:29.704607Z" - } - }, + "metadata": {}, "outputs": [ { "data": { @@ -679,14 +609,7 @@ "cell_type": "code", "execution_count": 14, "id": "c57a5884", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-14T12:27:29.706843Z", - "iopub.status.busy": "2026-08-14T12:27:29.706721Z", - "iopub.status.idle": "2026-08-14T12:27:29.711260Z", - "shell.execute_reply": "2026-08-14T12:27:29.710202Z" - } - }, + "metadata": {}, "outputs": [ { "data": { @@ -724,14 +647,7 @@ "cell_type": "code", "execution_count": 15, "id": "a44ec546", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-14T12:27:29.713056Z", - "iopub.status.busy": "2026-08-14T12:27:29.712928Z", - "iopub.status.idle": "2026-08-14T12:27:29.717479Z", - "shell.execute_reply": "2026-08-14T12:27:29.716514Z" - } - }, + "metadata": {}, "outputs": [ { "data": { @@ -773,14 +689,7 @@ "cell_type": "code", "execution_count": 16, "id": "e498c4f5", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-14T12:27:29.718815Z", - "iopub.status.busy": "2026-08-14T12:27:29.718689Z", - "iopub.status.idle": "2026-08-14T12:27:29.722968Z", - "shell.execute_reply": "2026-08-14T12:27:29.722131Z" - } - }, + "metadata": {}, "outputs": [ { "data": { @@ -808,14 +717,7 @@ "cell_type": "code", "execution_count": 17, "id": "3bf4af7e", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-14T12:27:29.724319Z", - "iopub.status.busy": "2026-08-14T12:27:29.724188Z", - "iopub.status.idle": "2026-08-14T12:27:29.745103Z", - "shell.execute_reply": "2026-08-14T12:27:29.744187Z" - } - }, + "metadata": {}, "outputs": [ { "data": { @@ -862,14 +764,7 @@ "cell_type": "code", "execution_count": 18, "id": "aefab895", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-14T12:27:29.746813Z", - "iopub.status.busy": "2026-08-14T12:27:29.746691Z", - "iopub.status.idle": "2026-08-14T12:27:29.750776Z", - "shell.execute_reply": "2026-08-14T12:27:29.749828Z" - } - }, + "metadata": {}, "outputs": [ { "data": { @@ -910,14 +805,7 @@ "cell_type": "code", "execution_count": 19, "id": "90a43efc", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-14T12:27:29.752244Z", - "iopub.status.busy": "2026-08-14T12:27:29.752123Z", - "iopub.status.idle": "2026-08-14T12:27:29.756281Z", - "shell.execute_reply": "2026-08-14T12:27:29.755374Z" - } - }, + "metadata": {}, "outputs": [ { "data": { @@ -945,14 +833,7 @@ "cell_type": "code", "execution_count": 20, "id": "9a878fb4", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-14T12:27:29.757619Z", - "iopub.status.busy": "2026-08-14T12:27:29.757481Z", - "iopub.status.idle": "2026-08-14T12:27:29.761271Z", - "shell.execute_reply": "2026-08-14T12:27:29.760431Z" - } - }, + "metadata": {}, "outputs": [ { "data": { @@ -989,14 +870,7 @@ "cell_type": "code", "execution_count": 21, "id": "ffa056cf", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-14T12:27:29.762648Z", - "iopub.status.busy": "2026-08-14T12:27:29.762525Z", - "iopub.status.idle": "2026-08-14T12:27:29.766936Z", - "shell.execute_reply": "2026-08-14T12:27:29.766144Z" - } - }, + "metadata": {}, "outputs": [ { "data": { @@ -1040,14 +914,7 @@ "cell_type": "code", "execution_count": 22, "id": "77545b30", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-14T12:27:29.768182Z", - "iopub.status.busy": "2026-08-14T12:27:29.768048Z", - "iopub.status.idle": "2026-08-14T12:27:29.773840Z", - "shell.execute_reply": "2026-08-14T12:27:29.772890Z" - } - }, + "metadata": {}, "outputs": [ { "data": { @@ -1096,14 +963,7 @@ "cell_type": "code", "execution_count": 23, "id": "43ee8196", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-14T12:27:29.775266Z", - "iopub.status.busy": "2026-08-14T12:27:29.775126Z", - "iopub.status.idle": "2026-08-14T12:27:29.781185Z", - "shell.execute_reply": "2026-08-14T12:27:29.780192Z" - } - }, + "metadata": {}, "outputs": [ { "data": { @@ -1148,14 +1008,7 @@ "cell_type": "code", "execution_count": 24, "id": "f1def6eb", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-14T12:27:29.782782Z", - "iopub.status.busy": "2026-08-14T12:27:29.782646Z", - "iopub.status.idle": "2026-08-14T12:27:29.786716Z", - "shell.execute_reply": "2026-08-14T12:27:29.785709Z" - } - }, + "metadata": {}, "outputs": [ { "data": { @@ -1187,14 +1040,7 @@ "cell_type": "code", "execution_count": 25, "id": "e4f41bb3", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-14T12:27:29.788359Z", - "iopub.status.busy": "2026-08-14T12:27:29.788219Z", - "iopub.status.idle": "2026-08-14T12:27:29.795306Z", - "shell.execute_reply": "2026-08-14T12:27:29.794404Z" - } - }, + "metadata": {}, "outputs": [ { "data": { @@ -1239,14 +1085,7 @@ "cell_type": "code", "execution_count": 26, "id": "01ddf0ed", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-14T12:27:29.796940Z", - "iopub.status.busy": "2026-08-14T12:27:29.796811Z", - "iopub.status.idle": "2026-08-14T12:27:29.800488Z", - "shell.execute_reply": "2026-08-14T12:27:29.799586Z" - } - }, + "metadata": {}, "outputs": [ { "data": { @@ -1276,53 +1115,52 @@ "`clone()` copies tensor data while preserving its relationship to the autograd\n", "graph. `detach()` returns a tensor that shares storage but is disconnected from\n", "the graph. Use `detach().clone()` when both an independent copy and graph\n", - "disconnection are required." + "disconnection are required.\n", + "\n", + "`describe()` reports metadata and autograd status; it cannot reveal whether two\n", + "tensors share storage. The mutation below makes that difference observable." ] }, { "cell_type": "code", "execution_count": 27, "id": "9a860392", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-14T12:27:29.801885Z", - "iopub.status.busy": "2026-08-14T12:27:29.801757Z", - "iopub.status.idle": "2026-08-14T12:27:29.806240Z", - "shell.execute_reply": "2026-08-14T12:27:29.805374Z" - } - }, + "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "({'shape': (2,),\n", - " 'ndim': 1,\n", - " 'dtype': torch.float32,\n", - " 'device': device(type='cpu'),\n", - " 'requires_grad': True,\n", - " 'is_leaf': False,\n", - " 'grad_fn': 'PowBackward0'},\n", - " {'shape': (2,),\n", - " 'ndim': 1,\n", - " 'dtype': torch.float32,\n", - " 'device': device(type='cpu'),\n", - " 'requires_grad': True,\n", - " 'is_leaf': False,\n", - " 'grad_fn': 'CloneBackward0'},\n", - " {'shape': (2,),\n", - " 'ndim': 1,\n", - " 'dtype': torch.float32,\n", - " 'device': device(type='cpu'),\n", - " 'requires_grad': False,\n", - " 'is_leaf': True,\n", - " 'grad_fn': None},\n", - " {'shape': (2,),\n", - " 'ndim': 1,\n", - " 'dtype': torch.float32,\n", - " 'device': device(type='cpu'),\n", - " 'requires_grad': False,\n", - " 'is_leaf': True,\n", - " 'grad_fn': None})" + "({'result': {'shape': (2,),\n", + " 'ndim': 1,\n", + " 'dtype': torch.float32,\n", + " 'device': device(type='cpu'),\n", + " 'requires_grad': True,\n", + " 'is_leaf': False,\n", + " 'grad_fn': 'PowBackward0'},\n", + " 'cloned result': {'shape': (2,),\n", + " 'ndim': 1,\n", + " 'dtype': torch.float32,\n", + " 'device': device(type='cpu'),\n", + " 'requires_grad': True,\n", + " 'is_leaf': False,\n", + " 'grad_fn': 'CloneBackward0'},\n", + " 'detached': {'shape': (2,),\n", + " 'ndim': 1,\n", + " 'dtype': torch.float32,\n", + " 'device': device(type='cpu'),\n", + " 'requires_grad': False,\n", + " 'is_leaf': True,\n", + " 'grad_fn': None},\n", + " 'detached clone': {'shape': (2,),\n", + " 'ndim': 1,\n", + " 'dtype': torch.float32,\n", + " 'device': device(type='cpu'),\n", + " 'requires_grad': False,\n", + " 'is_leaf': True,\n", + " 'grad_fn': None}},\n", + " tensor([-1., 2.], requires_grad=True),\n", + " tensor([-1., 2.]),\n", + " tensor([1., 2.]))" ] }, "execution_count": 27, @@ -1333,15 +1171,25 @@ "source": [ "tracked = torch.tensor([1.0, 2.0], requires_grad=True)\n", "result = tracked.square()\n", - "cloned = result.clone()\n", - "detached = result.detach()\n", - "independent = result.detach().clone()\n", + "cloned_result = result.clone()\n", + "detached = tracked.detach()\n", + "independent = tracked.detach().clone()\n", + "\n", + "descriptions = {\n", + " \"result\": describe(result),\n", + " \"cloned result\": describe(cloned_result),\n", + " \"detached\": describe(detached),\n", + " \"detached clone\": describe(independent),\n", + "}\n", + "\n", + "with torch.no_grad():\n", + " tracked[0] = -1.0\n", "\n", "(\n", - " describe(result),\n", - " describe(cloned),\n", - " describe(detached),\n", - " describe(independent),\n", + " descriptions,\n", + " tracked,\n", + " detached, # changed because it shares storage with tracked\n", + " independent, # unchanged because clone() copied the data\n", ")" ] }, @@ -1359,14 +1207,7 @@ "cell_type": "code", "execution_count": 28, "id": "763e5a36", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-14T12:27:29.807526Z", - "iopub.status.busy": "2026-08-14T12:27:29.807392Z", - "iopub.status.idle": "2026-08-14T12:27:29.812253Z", - "shell.execute_reply": "2026-08-14T12:27:29.811206Z" - } - }, + "metadata": {}, "outputs": [ { "data": { @@ -1414,14 +1255,7 @@ "cell_type": "code", "execution_count": 29, "id": "6b85fa1c", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-14T12:27:29.813650Z", - "iopub.status.busy": "2026-08-14T12:27:29.813515Z", - "iopub.status.idle": "2026-08-14T12:27:29.817231Z", - "shell.execute_reply": "2026-08-14T12:27:29.816269Z" - } - }, + "metadata": {}, "outputs": [ { "data": { @@ -1456,14 +1290,7 @@ "cell_type": "code", "execution_count": 30, "id": "98c547d9", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-14T12:27:29.818641Z", - "iopub.status.busy": "2026-08-14T12:27:29.818490Z", - "iopub.status.idle": "2026-08-14T12:27:30.233346Z", - "shell.execute_reply": "2026-08-14T12:27:30.232309Z" - } - }, + "metadata": {}, "outputs": [ { "data": { @@ -1529,14 +1356,7 @@ "cell_type": "code", "execution_count": 31, "id": "7b413537", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-14T12:27:30.235035Z", - "iopub.status.busy": "2026-08-14T12:27:30.234890Z", - "iopub.status.idle": "2026-08-14T12:27:30.262209Z", - "shell.execute_reply": "2026-08-14T12:27:30.261287Z" - } - }, + "metadata": {}, "outputs": [ { "data": { @@ -1581,14 +1401,7 @@ "cell_type": "code", "execution_count": 32, "id": "e6d634d4", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-14T12:27:30.264052Z", - "iopub.status.busy": "2026-08-14T12:27:30.263792Z", - "iopub.status.idle": "2026-08-14T12:27:30.268352Z", - "shell.execute_reply": "2026-08-14T12:27:30.267436Z" - } - }, + "metadata": {}, "outputs": [ { "data": { @@ -1642,14 +1455,7 @@ "cell_type": "code", "execution_count": 33, "id": "69b1fb1b", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-14T12:27:30.269772Z", - "iopub.status.busy": "2026-08-14T12:27:30.269628Z", - "iopub.status.idle": "2026-08-14T12:27:30.274561Z", - "shell.execute_reply": "2026-08-14T12:27:30.273823Z" - } - }, + "metadata": {}, "outputs": [ { "data": { @@ -1687,14 +1493,7 @@ "cell_type": "code", "execution_count": 34, "id": "06748721", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-14T12:27:30.275966Z", - "iopub.status.busy": "2026-08-14T12:27:30.275845Z", - "iopub.status.idle": "2026-08-14T12:27:30.278365Z", - "shell.execute_reply": "2026-08-14T12:27:30.277532Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "x.grad = None\n", @@ -1718,14 +1517,7 @@ "cell_type": "code", "execution_count": 35, "id": "e093e5fc", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-14T12:27:30.279720Z", - "iopub.status.busy": "2026-08-14T12:27:30.279542Z", - "iopub.status.idle": "2026-08-14T12:27:30.670567Z", - "shell.execute_reply": "2026-08-14T12:27:30.669200Z" - } - }, + "metadata": {}, "outputs": [ { "data": { @@ -1796,14 +1588,7 @@ "cell_type": "code", "execution_count": 36, "id": "26e8ee95", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-14T12:27:30.672424Z", - "iopub.status.busy": "2026-08-14T12:27:30.672178Z", - "iopub.status.idle": "2026-08-14T12:27:30.676973Z", - "shell.execute_reply": "2026-08-14T12:27:30.676071Z" - } - }, + "metadata": {}, "outputs": [ { "data": { @@ -1856,14 +1641,7 @@ "cell_type": "code", "execution_count": 37, "id": "ac8353f8", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-14T12:27:30.678704Z", - "iopub.status.busy": "2026-08-14T12:27:30.678492Z", - "iopub.status.idle": "2026-08-14T12:27:31.739920Z", - "shell.execute_reply": "2026-08-14T12:27:31.738426Z" - } - }, + "metadata": {}, "outputs": [ { "data": { @@ -1909,14 +1687,7 @@ "cell_type": "code", "execution_count": 38, "id": "5c3ee951", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-14T12:27:31.742039Z", - "iopub.status.busy": "2026-08-14T12:27:31.741736Z", - "iopub.status.idle": "2026-08-14T12:27:31.762689Z", - "shell.execute_reply": "2026-08-14T12:27:31.761297Z" - } - }, + "metadata": {}, "outputs": [ { "data": { From 0bd7b8f92970e38979afb6db6877caaa33a50df1 Mon Sep 17 00:00:00 2001 From: Geert Jan Bex Date: Fri, 14 Aug 2026 16:29:43 +0200 Subject: [PATCH 04/33] Remove environment defintions --- source-code/pytorch/README.md | 6 - source-code/pytorch/environment.yml | 9 - .../pytorch/pytorch_linux64_conda_specs.txt | 234 ------------------ 3 files changed, 249 deletions(-) delete mode 100644 source-code/pytorch/environment.yml delete mode 100644 source-code/pytorch/pytorch_linux64_conda_specs.txt diff --git a/source-code/pytorch/README.md b/source-code/pytorch/README.md index 447a724..daa1d64 100644 --- a/source-code/pytorch/README.md +++ b/source-code/pytorch/README.md @@ -23,9 +23,3 @@ natural language processing, computer vision, and reinforcement learning. tensors. It covers the basics of tensor operations, including creation, indexing, slicing, and mathematical operations. This notebook serves as a foundation for understanding how to work with data in PyTorch. -1. `environment.yml`: Conda environment file that specifies the dependencies - required to run the PyTorch notebooks. It includes PyTorch and other - necessary libraries. -1. `pytorch_linux64_conda_specs.txt`: Text file containing the specifications - for creating a Conda environment with PyTorch for Linux 64-bit systems. - It lists the required packages and their versions. diff --git a/source-code/pytorch/environment.yml b/source-code/pytorch/environment.yml deleted file mode 100644 index 8cca41d..0000000 --- a/source-code/pytorch/environment.yml +++ /dev/null @@ -1,9 +0,0 @@ -name: pytorch -channels: - - conda-forge -dependencies: - - jupyterlab - - pytorch - - torchvision - -prefix: "/home/gjb/mambaforge/envs/pytorch" diff --git a/source-code/pytorch/pytorch_linux64_conda_specs.txt b/source-code/pytorch/pytorch_linux64_conda_specs.txt deleted file mode 100644 index edf6586..0000000 --- a/source-code/pytorch/pytorch_linux64_conda_specs.txt +++ /dev/null @@ -1,234 +0,0 @@ -List of packages in environment: "/home/gjb/mambaforge/envs/pytorch" - -https://conda.anaconda.org/conda-forge/linux-64/_openmp_mutex-4.5-7_kmp_llvm.conda -https://conda.anaconda.org/conda-forge/noarch/_python_abi3_support-1.0-hd8ed1ab_2.conda -https://conda.anaconda.org/conda-forge/noarch/anyio-4.12.1-pyhcf101f3_0.conda -https://conda.anaconda.org/conda-forge/linux-64/aom-3.9.1-hac33072_0.conda -https://conda.anaconda.org/conda-forge/noarch/argon2-cffi-25.1.0-pyhd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/linux-64/argon2-cffi-bindings-25.1.0-py314h5bd0f2a_2.conda -https://conda.anaconda.org/conda-forge/noarch/arrow-1.4.0-pyhcf101f3_0.conda -https://conda.anaconda.org/conda-forge/noarch/asttokens-3.0.1-pyhd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/noarch/async-lru-2.1.0-pyhcf101f3_0.conda -https://conda.anaconda.org/conda-forge/linux-64/attr-2.5.2-h39aace5_0.conda -https://conda.anaconda.org/conda-forge/noarch/attrs-25.4.0-pyhcf101f3_1.conda -https://conda.anaconda.org/conda-forge/noarch/babel-2.17.0-pyhd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/noarch/backports.zstd-1.3.0-py314h680f03e_0.conda -https://conda.anaconda.org/conda-forge/noarch/beautifulsoup4-4.14.3-pyha770c72_0.conda -https://conda.anaconda.org/conda-forge/noarch/bleach-6.3.0-pyhcf101f3_0.conda -https://conda.anaconda.org/conda-forge/noarch/bleach-with-css-6.3.0-h5f6438b_0.conda -https://conda.anaconda.org/conda-forge/linux-64/brotli-python-1.2.0-py314h3de4e8d_1.conda -https://conda.anaconda.org/conda-forge/linux-64/bzip2-1.0.8-hda65f42_8.conda -https://conda.anaconda.org/conda-forge/noarch/ca-certificates-2026.1.4-hbd8a1cb_0.conda -https://conda.anaconda.org/conda-forge/noarch/cached-property-1.5.2-hd8ed1ab_1.tar.bz2 -https://conda.anaconda.org/conda-forge/noarch/cached_property-1.5.2-pyha770c72_1.tar.bz2 -https://conda.anaconda.org/conda-forge/noarch/certifi-2026.1.4-pyhd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/linux-64/cffi-2.0.0-py314h4a8dc5f_1.conda -https://conda.anaconda.org/conda-forge/noarch/charset-normalizer-3.4.4-pyhd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/noarch/comm-0.2.3-pyhe01879c_0.conda -https://conda.anaconda.org/conda-forge/noarch/cpython-3.14.2-py314hd8ed1ab_101.conda -https://conda.anaconda.org/conda-forge/linux-64/cuda-crt-tools-12.9.86-ha770c72_2.conda -https://conda.anaconda.org/conda-forge/linux-64/cuda-cudart-12.9.79-h5888daf_0.conda -https://conda.anaconda.org/conda-forge/noarch/cuda-cudart_linux-64-12.9.79-h3f2d84a_0.conda -https://conda.anaconda.org/conda-forge/linux-64/cuda-cuobjdump-12.9.82-hffce074_1.conda -https://conda.anaconda.org/conda-forge/linux-64/cuda-cupti-12.9.79-h676940d_1.conda -https://conda.anaconda.org/conda-forge/linux-64/cuda-nvcc-tools-12.9.86-he02047a_2.conda -https://conda.anaconda.org/conda-forge/linux-64/cuda-nvdisasm-12.9.88-hffce074_1.conda -https://conda.anaconda.org/conda-forge/linux-64/cuda-nvrtc-12.9.86-hecca717_1.conda -https://conda.anaconda.org/conda-forge/linux-64/cuda-nvtx-12.9.79-hecca717_1.conda -https://conda.anaconda.org/conda-forge/linux-64/cuda-nvvm-tools-12.9.86-h4bc722e_2.conda -https://conda.anaconda.org/conda-forge/noarch/cuda-version-12.9-h4f385c5_3.conda -https://conda.anaconda.org/conda-forge/linux-64/dav1d-1.2.1-hd590300_0.conda -https://conda.anaconda.org/conda-forge/linux-64/debugpy-1.8.20-py314h42812f9_0.conda -https://conda.anaconda.org/conda-forge/noarch/decorator-5.2.1-pyhd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/noarch/defusedxml-0.7.1-pyhd8ed1ab_0.tar.bz2 -https://conda.anaconda.org/conda-forge/noarch/exceptiongroup-1.3.1-pyhd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/noarch/executing-2.2.1-pyhd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/noarch/filelock-3.20.3-pyhd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/linux-64/fmt-12.1.0-hff5e90c_0.conda -https://conda.anaconda.org/conda-forge/noarch/fqdn-1.5.1-pyhd8ed1ab_1.conda -https://conda.anaconda.org/conda-forge/noarch/fsspec-2026.1.0-pyhd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/linux-64/giflib-5.2.2-hd590300_0.conda -https://conda.anaconda.org/conda-forge/linux-64/gmp-6.3.0-hac33072_2.conda -https://conda.anaconda.org/conda-forge/linux-64/gmpy2-2.2.1-py314h28848ee_2.conda -https://conda.anaconda.org/conda-forge/noarch/h11-0.16.0-pyhcf101f3_1.conda -https://conda.anaconda.org/conda-forge/noarch/h2-4.3.0-pyhcf101f3_0.conda -https://conda.anaconda.org/conda-forge/noarch/hpack-4.1.0-pyhd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/noarch/httpcore-1.0.9-pyh29332c3_0.conda -https://conda.anaconda.org/conda-forge/noarch/httpx-0.28.1-pyhd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/noarch/hyperframe-6.1.0-pyhd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/linux-64/icu-78.2-h33c6efd_0.conda -https://conda.anaconda.org/conda-forge/noarch/idna-3.11-pyhd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/noarch/importlib-metadata-8.7.0-pyhe01879c_1.conda -https://conda.anaconda.org/conda-forge/noarch/ipykernel-7.1.0-pyha191276_0.conda -https://conda.anaconda.org/conda-forge/noarch/ipython-9.10.0-pyh53cf698_0.conda -https://conda.anaconda.org/conda-forge/noarch/ipython_pygments_lexers-1.1.1-pyhd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/noarch/isoduration-20.11.0-pyhd8ed1ab_1.conda -https://conda.anaconda.org/conda-forge/noarch/jedi-0.19.2-pyhd8ed1ab_1.conda -https://conda.anaconda.org/conda-forge/noarch/jinja2-3.1.6-pyhcf101f3_1.conda -https://conda.anaconda.org/conda-forge/noarch/json5-0.13.0-pyhd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/noarch/jsonpointer-3.0.0-pyhcf101f3_3.conda -https://conda.anaconda.org/conda-forge/noarch/jsonschema-4.26.0-pyhcf101f3_0.conda -https://conda.anaconda.org/conda-forge/noarch/jsonschema-specifications-2025.9.1-pyhcf101f3_0.conda -https://conda.anaconda.org/conda-forge/noarch/jsonschema-with-format-nongpl-4.26.0-hcf101f3_0.conda -https://conda.anaconda.org/conda-forge/noarch/jupyter-lsp-2.3.0-pyhcf101f3_0.conda -https://conda.anaconda.org/conda-forge/noarch/jupyter_client-8.8.0-pyhcf101f3_0.conda -https://conda.anaconda.org/conda-forge/noarch/jupyter_core-5.9.1-pyhc90fa1f_0.conda -https://conda.anaconda.org/conda-forge/noarch/jupyter_events-0.12.0-pyh29332c3_0.conda -https://conda.anaconda.org/conda-forge/noarch/jupyter_server-2.17.0-pyhcf101f3_0.conda -https://conda.anaconda.org/conda-forge/noarch/jupyter_server_terminals-0.5.4-pyhcf101f3_0.conda -https://conda.anaconda.org/conda-forge/noarch/jupyterlab-4.5.3-pyhd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/noarch/jupyterlab_pygments-0.3.0-pyhd8ed1ab_2.conda -https://conda.anaconda.org/conda-forge/noarch/jupyterlab_server-2.28.0-pyhcf101f3_0.conda -https://conda.anaconda.org/conda-forge/linux-64/keyutils-1.6.3-hb9d3cd8_0.conda -https://conda.anaconda.org/conda-forge/linux-64/krb5-1.21.3-h659f571_0.conda -https://conda.anaconda.org/conda-forge/noarch/lark-1.3.1-pyhd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/linux-64/lcms2-2.18-h0c24ade_0.conda -https://conda.anaconda.org/conda-forge/linux-64/ld_impl_linux-64-2.45-default_hbd61a6d_105.conda -https://conda.anaconda.org/conda-forge/linux-64/lerc-4.0.0-h0aef613_1.conda -https://conda.anaconda.org/conda-forge/linux-64/libabseil-20250512.1-cxx17_hba17884_0.conda -https://conda.anaconda.org/conda-forge/linux-64/libavif16-1.3.0-h316e467_3.conda -https://conda.anaconda.org/conda-forge/linux-64/libblas-3.11.0-5_h5875eb1_mkl.conda -https://conda.anaconda.org/conda-forge/linux-64/libcap-2.77-h3ff7636_0.conda -https://conda.anaconda.org/conda-forge/linux-64/libcblas-3.11.0-5_hfef963f_mkl.conda -https://conda.anaconda.org/conda-forge/linux-64/libcublas-12.9.1.4-h676940d_1.conda -https://conda.anaconda.org/conda-forge/linux-64/libcudnn-9.10.2.21-hf7e9902_0.conda -https://conda.anaconda.org/conda-forge/linux-64/libcudss-0.7.1.4-h58dd1b1_0.conda -https://conda.anaconda.org/conda-forge/linux-64/libcufft-11.4.1.4-hecca717_1.conda -https://conda.anaconda.org/conda-forge/linux-64/libcufile-1.14.1.1-hbc026e6_1.conda -https://conda.anaconda.org/conda-forge/linux-64/libcurand-10.3.10.19-h676940d_1.conda -https://conda.anaconda.org/conda-forge/linux-64/libcusolver-11.7.5.82-h676940d_2.conda -https://conda.anaconda.org/conda-forge/linux-64/libcusparse-12.5.10.65-hecca717_2.conda -https://conda.anaconda.org/conda-forge/linux-64/libde265-1.0.15-h00ab1b0_0.conda -https://conda.anaconda.org/conda-forge/linux-64/libdeflate-1.25-h17f619e_0.conda -https://conda.anaconda.org/conda-forge/linux-64/libedit-3.1.20250104-pl5321h7949ede_0.conda -https://conda.anaconda.org/conda-forge/linux-64/libexpat-2.7.3-hecca717_0.conda -https://conda.anaconda.org/conda-forge/linux-64/libffi-3.5.2-h3435931_0.conda -https://conda.anaconda.org/conda-forge/linux-64/libfreetype-2.14.1-ha770c72_0.conda -https://conda.anaconda.org/conda-forge/linux-64/libfreetype6-2.14.1-h73754d4_0.conda -https://conda.anaconda.org/conda-forge/linux-64/libgcc-15.2.0-he0feb66_16.conda -https://conda.anaconda.org/conda-forge/linux-64/libgcc-ng-15.2.0-h69a702a_16.conda -https://conda.anaconda.org/conda-forge/linux-64/libheif-1.19.7-gpl_hc18d805_100.conda -https://conda.anaconda.org/conda-forge/linux-64/libhwloc-2.12.2-default_hafda6a7_1000.conda -https://conda.anaconda.org/conda-forge/linux-64/libiconv-1.18-h3b78370_2.conda -https://conda.anaconda.org/conda-forge/linux-64/libjpeg-turbo-3.1.2-hb03c661_0.conda -https://conda.anaconda.org/conda-forge/linux-64/liblapack-3.11.0-5_h5e43f62_mkl.conda -https://conda.anaconda.org/conda-forge/linux-64/liblzma-5.8.2-hb03c661_0.conda -https://conda.anaconda.org/conda-forge/linux-64/libmagma-2.9.0-ha7672b3_6.conda -https://conda.anaconda.org/conda-forge/linux-64/libmpdec-4.0.0-hb03c661_1.conda -https://conda.anaconda.org/conda-forge/linux-64/libnl-3.11.0-hb9d3cd8_0.conda -https://conda.anaconda.org/conda-forge/linux-64/libnvjitlink-12.9.86-hecca717_2.conda -https://conda.anaconda.org/conda-forge/linux-64/libnvjpeg-12.4.0.76-hecca717_1.conda -https://conda.anaconda.org/conda-forge/linux-64/libpng-1.6.54-h421ea60_0.conda -https://conda.anaconda.org/conda-forge/linux-64/libprotobuf-6.31.1-h49aed37_4.conda -https://conda.anaconda.org/conda-forge/linux-64/libsodium-1.0.20-h4ab18f5_0.conda -https://conda.anaconda.org/conda-forge/linux-64/libsqlite-3.51.2-hf4e2dac_0.conda -https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-15.2.0-h934c35e_16.conda -https://conda.anaconda.org/conda-forge/linux-64/libstdcxx-ng-15.2.0-hdf11a46_16.conda -https://conda.anaconda.org/conda-forge/linux-64/libsystemd0-258.3-h6569c3e_0.conda -https://conda.anaconda.org/conda-forge/linux-64/libtiff-4.7.1-h9d88235_1.conda -https://conda.anaconda.org/conda-forge/linux-64/libtorch-2.10.0-cuda129_mkl_he24fa84_301.conda -https://conda.anaconda.org/conda-forge/linux-64/libudev1-258.3-h6569c3e_0.conda -https://conda.anaconda.org/conda-forge/linux-64/libuuid-2.41.3-h5347b49_0.conda -https://conda.anaconda.org/conda-forge/linux-64/libuv-1.51.0-hb03c661_1.conda -https://conda.anaconda.org/conda-forge/linux-64/libwebp-base-1.6.0-hd42ef1d_0.conda -https://conda.anaconda.org/conda-forge/linux-64/libxcb-1.17.0-h8a09558_0.conda -https://conda.anaconda.org/conda-forge/linux-64/libxml2-2.15.1-he237659_1.conda -https://conda.anaconda.org/conda-forge/linux-64/libxml2-16-2.15.1-hca6bf5a_1.conda -https://conda.anaconda.org/conda-forge/linux-64/libzlib-1.3.1-hb9d3cd8_2.conda -https://conda.anaconda.org/conda-forge/linux-64/llvm-openmp-21.1.8-h4922eb0_0.conda -https://conda.anaconda.org/conda-forge/noarch/markupsafe-3.0.3-pyh7db6752_0.conda -https://conda.anaconda.org/conda-forge/noarch/matplotlib-inline-0.2.1-pyhd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/noarch/mistune-3.2.0-pyhcf101f3_0.conda -https://conda.anaconda.org/conda-forge/linux-64/mkl-2025.3.0-h0e700b2_463.conda -https://conda.anaconda.org/conda-forge/linux-64/mpc-1.3.1-h24ddda3_1.conda -https://conda.anaconda.org/conda-forge/linux-64/mpfr-4.2.1-h90cbb55_3.conda -https://conda.anaconda.org/conda-forge/noarch/mpmath-1.3.0-pyhd8ed1ab_1.conda -https://conda.anaconda.org/conda-forge/noarch/nbclient-0.10.4-pyhd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/noarch/nbconvert-core-7.17.0-pyhcf101f3_0.conda -https://conda.anaconda.org/conda-forge/noarch/nbformat-5.10.4-pyhd8ed1ab_1.conda -https://conda.anaconda.org/conda-forge/linux-64/nccl-2.29.2.1-h4d09622_1.conda -https://conda.anaconda.org/conda-forge/linux-64/ncurses-6.5-h2d0b736_3.conda -https://conda.anaconda.org/conda-forge/noarch/nest-asyncio-1.6.0-pyhd8ed1ab_1.conda -https://conda.anaconda.org/conda-forge/noarch/networkx-3.6.1-pyhcf101f3_0.conda -https://conda.anaconda.org/conda-forge/noarch/notebook-shim-0.2.4-pyhd8ed1ab_1.conda -https://conda.anaconda.org/conda-forge/linux-64/numpy-2.4.2-py314h2b28147_0.conda -https://conda.anaconda.org/conda-forge/linux-64/openjpeg-2.5.4-h55fea9a_0.conda -https://conda.anaconda.org/conda-forge/linux-64/openssl-3.6.1-h35e630c_1.conda -https://conda.anaconda.org/conda-forge/linux-64/optree-0.18.0-py314h9891dd4_0.conda -https://conda.anaconda.org/conda-forge/noarch/overrides-7.7.0-pyhd8ed1ab_1.conda -https://conda.anaconda.org/conda-forge/noarch/packaging-26.0-pyhcf101f3_0.conda -https://conda.anaconda.org/conda-forge/noarch/pandocfilters-1.5.0-pyhd8ed1ab_0.tar.bz2 -https://conda.anaconda.org/conda-forge/noarch/parso-0.8.5-pyhcf101f3_0.conda -https://conda.anaconda.org/conda-forge/noarch/pexpect-4.9.0-pyhd8ed1ab_1.conda -https://conda.anaconda.org/conda-forge/linux-64/pillow-12.1.0-py314h8ec4b1a_0.conda -https://conda.anaconda.org/conda-forge/noarch/pip-26.0-pyh145f28c_0.conda -https://conda.anaconda.org/conda-forge/noarch/platformdirs-4.5.1-pyhcf101f3_0.conda -https://conda.anaconda.org/conda-forge/noarch/prometheus_client-0.24.1-pyhd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/noarch/prompt-toolkit-3.0.52-pyha770c72_0.conda -https://conda.anaconda.org/conda-forge/linux-64/psutil-7.2.2-py314h0f05182_0.conda -https://conda.anaconda.org/conda-forge/linux-64/pthread-stubs-0.4-hb9d3cd8_1002.conda -https://conda.anaconda.org/conda-forge/noarch/ptyprocess-0.7.0-pyhd8ed1ab_1.conda -https://conda.anaconda.org/conda-forge/noarch/pure_eval-0.2.3-pyhd8ed1ab_1.conda -https://conda.anaconda.org/conda-forge/noarch/pybind11-3.0.1-pyh7a1b43c_0.conda -https://conda.anaconda.org/conda-forge/noarch/pybind11-abi-11-hc364b38_1.conda -https://conda.anaconda.org/conda-forge/noarch/pybind11-global-3.0.1-pyhc7ab6ef_0.conda -https://conda.anaconda.org/conda-forge/noarch/pycparser-2.22-pyh29332c3_1.conda -https://conda.anaconda.org/conda-forge/noarch/pygments-2.19.2-pyhd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/noarch/pysocks-1.7.1-pyha55dd90_7.conda -https://conda.anaconda.org/conda-forge/linux-64/python-3.14.2-h32b2ec7_101_cp314.conda -https://conda.anaconda.org/conda-forge/noarch/python-dateutil-2.9.0.post0-pyhe01879c_2.conda -https://conda.anaconda.org/conda-forge/noarch/python-fastjsonschema-2.21.2-pyhe01879c_0.conda -https://conda.anaconda.org/conda-forge/noarch/python-gil-3.14.2-h4df99d1_101.conda -https://conda.anaconda.org/conda-forge/noarch/python-json-logger-2.0.7-pyhd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/noarch/python-tzdata-2025.3-pyhd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/noarch/python_abi-3.14-8_cp314.conda -https://conda.anaconda.org/conda-forge/linux-64/pytorch-2.10.0-cuda129_mkl_py314_h5d64bf0_301.conda -https://conda.anaconda.org/conda-forge/noarch/pytz-2025.2-pyhd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/noarch/pyyaml-6.0.3-pyh7db6752_0.conda -https://conda.anaconda.org/conda-forge/linux-64/pyzmq-27.1.0-py312hfb55c3c_0.conda -https://conda.anaconda.org/conda-forge/linux-64/rav1e-0.7.1-h8fae777_3.conda -https://conda.anaconda.org/conda-forge/linux-64/rdma-core-61.0-h192683f_0.conda -https://conda.anaconda.org/conda-forge/linux-64/readline-8.3-h853b02a_0.conda -https://conda.anaconda.org/conda-forge/noarch/referencing-0.37.0-pyhcf101f3_0.conda -https://conda.anaconda.org/conda-forge/noarch/requests-2.32.5-pyhcf101f3_1.conda -https://conda.anaconda.org/conda-forge/noarch/rfc3339-validator-0.1.4-pyhd8ed1ab_1.conda -https://conda.anaconda.org/conda-forge/noarch/rfc3986-validator-0.1.1-pyh9f0ad1d_0.tar.bz2 -https://conda.anaconda.org/conda-forge/noarch/rfc3987-syntax-1.1.0-pyhe01879c_1.conda -https://conda.anaconda.org/conda-forge/linux-64/rpds-py-0.30.0-py314h2e6c369_0.conda -https://conda.anaconda.org/conda-forge/noarch/send2trash-2.1.0-pyha191276_0.conda -https://conda.anaconda.org/conda-forge/noarch/setuptools-80.10.2-pyh332efcf_0.conda -https://conda.anaconda.org/conda-forge/noarch/six-1.17.0-pyhe01879c_1.conda -https://conda.anaconda.org/conda-forge/linux-64/sleef-3.9.0-ha0421bc_0.conda -https://conda.anaconda.org/conda-forge/noarch/sniffio-1.3.1-pyhd8ed1ab_2.conda -https://conda.anaconda.org/conda-forge/noarch/soupsieve-2.8.3-pyhd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/noarch/stack_data-0.6.3-pyhd8ed1ab_1.conda -https://conda.anaconda.org/conda-forge/linux-64/svt-av1-4.0.0-hecca717_0.conda -https://conda.anaconda.org/conda-forge/noarch/sympy-1.14.0-pyh2585a3b_105.conda -https://conda.anaconda.org/conda-forge/linux-64/tbb-2022.3.0-hb700be7_2.conda -https://conda.anaconda.org/conda-forge/noarch/terminado-0.18.1-pyhc90fa1f_1.conda -https://conda.anaconda.org/conda-forge/noarch/tinycss2-1.5.1-pyhcf101f3_0.conda -https://conda.anaconda.org/conda-forge/linux-64/tk-8.6.13-noxft_h366c992_103.conda -https://conda.anaconda.org/conda-forge/noarch/tomli-2.4.0-pyhcf101f3_0.conda -https://conda.anaconda.org/conda-forge/linux-64/torchvision-0.25.0-cuda129_py314_h89435d6_3.conda -https://conda.anaconda.org/conda-forge/linux-64/torchvision-extra-decoders-0.0.2-py314h862e9cd_6.conda -https://conda.anaconda.org/conda-forge/linux-64/tornado-6.5.4-py314h7b0bd38_0.conda -https://conda.anaconda.org/conda-forge/noarch/traitlets-5.14.3-pyhd8ed1ab_1.conda -https://conda.anaconda.org/conda-forge/linux-64/triton-3.6.0-cuda129py314h2b49ec1_0.conda -https://conda.anaconda.org/conda-forge/noarch/typing-extensions-4.15.0-h396c80c_0.conda -https://conda.anaconda.org/conda-forge/noarch/typing_extensions-4.15.0-pyhcf101f3_0.conda -https://conda.anaconda.org/conda-forge/noarch/typing_utils-0.1.0-pyhd8ed1ab_1.conda -https://conda.anaconda.org/conda-forge/noarch/tzdata-2025c-hc9c84f9_1.conda -https://conda.anaconda.org/conda-forge/noarch/uri-template-1.3.0-pyhd8ed1ab_1.conda -https://conda.anaconda.org/conda-forge/noarch/urllib3-2.6.3-pyhd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/noarch/wcwidth-0.5.3-pyhd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/noarch/webcolors-25.10.0-pyhd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/noarch/webencodings-0.5.1-pyhd8ed1ab_3.conda -https://conda.anaconda.org/conda-forge/noarch/websocket-client-1.9.0-pyhd8ed1ab_0.conda -https://conda.anaconda.org/conda-forge/linux-64/x265-3.5-h924138e_3.tar.bz2 -https://conda.anaconda.org/conda-forge/linux-64/xorg-libxau-1.0.12-hb03c661_1.conda -https://conda.anaconda.org/conda-forge/linux-64/xorg-libxdmcp-1.1.5-hb03c661_1.conda -https://conda.anaconda.org/conda-forge/linux-64/yaml-0.2.5-h280c20c_3.conda -https://conda.anaconda.org/conda-forge/linux-64/zeromq-4.3.5-h387f397_9.conda -https://conda.anaconda.org/conda-forge/noarch/zipp-3.23.0-pyhcf101f3_1.conda -https://conda.anaconda.org/conda-forge/linux-64/zlib-ng-2.3.2-hceb46e0_1.conda -https://conda.anaconda.org/conda-forge/linux-64/zstd-1.5.7-hb78ec9c_6.conda From 03ebcdfd7ec61b80913a67aed2b59245138c8cdb Mon Sep 17 00:00:00 2001 From: Geert Jan Bex Date: Mon, 17 Aug 2026 08:56:15 +0200 Subject: [PATCH 05/33] Add output --- .../pinns/parameterized_heat_equation.ipynb | 191 +++--------------- 1 file changed, 23 insertions(+), 168 deletions(-) diff --git a/source-code/pinns/parameterized_heat_equation.ipynb b/source-code/pinns/parameterized_heat_equation.ipynb index a262213..8a2e1bb 100644 --- a/source-code/pinns/parameterized_heat_equation.ipynb +++ b/source-code/pinns/parameterized_heat_equation.ipynb @@ -56,14 +56,7 @@ "cell_type": "code", "execution_count": 1, "id": "e7522c59", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-14T11:40:49.511317Z", - "iopub.status.busy": "2026-08-14T11:40:49.511130Z", - "iopub.status.idle": "2026-08-14T11:40:56.740824Z", - "shell.execute_reply": "2026-08-14T11:40:56.739346Z" - } - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -183,14 +176,7 @@ "cell_type": "code", "execution_count": 2, "id": "e4fe2d38", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-14T11:40:56.743600Z", - "iopub.status.busy": "2026-08-14T11:40:56.743225Z", - "iopub.status.idle": "2026-08-14T11:40:56.749295Z", - "shell.execute_reply": "2026-08-14T11:40:56.748102Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "def initial_profile(x, a1, a2, *, x_min, x_max):\n", @@ -242,14 +228,7 @@ "cell_type": "code", "execution_count": 3, "id": "0514253a", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-14T11:40:56.752104Z", - "iopub.status.busy": "2026-08-14T11:40:56.751923Z", - "iopub.status.idle": "2026-08-14T11:40:57.238038Z", - "shell.execute_reply": "2026-08-14T11:40:57.236061Z" - } - }, + "metadata": {}, "outputs": [ { "data": { @@ -318,14 +297,7 @@ "cell_type": "code", "execution_count": 4, "id": "762974c4", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-14T11:40:57.241223Z", - "iopub.status.busy": "2026-08-14T11:40:57.240960Z", - "iopub.status.idle": "2026-08-14T11:40:57.251687Z", - "shell.execute_reply": "2026-08-14T11:40:57.250221Z" - } - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -398,14 +370,7 @@ "cell_type": "code", "execution_count": 5, "id": "42520509", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-14T11:40:57.253816Z", - "iopub.status.busy": "2026-08-14T11:40:57.253612Z", - "iopub.status.idle": "2026-08-14T11:40:57.297240Z", - "shell.execute_reply": "2026-08-14T11:40:57.295527Z" - } - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -489,14 +454,7 @@ "cell_type": "code", "execution_count": 6, "id": "10748283", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-14T11:40:57.300736Z", - "iopub.status.busy": "2026-08-14T11:40:57.300444Z", - "iopub.status.idle": "2026-08-14T11:40:57.306867Z", - "shell.execute_reply": "2026-08-14T11:40:57.304954Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "def sample_collocation_points(n, problem, device):\n", @@ -546,84 +504,23 @@ "cell_type": "code", "execution_count": 7, "id": "74014f8e", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-14T11:40:57.309243Z", - "iopub.status.busy": "2026-08-14T11:40:57.308969Z", - "iopub.status.idle": "2026-08-14T11:41:24.843713Z", - "shell.execute_reply": "2026-08-14T11:41:24.842119Z" - } - }, + "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "epoch 500: physics loss = 6.439e-02\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "epoch 1000: physics loss = 2.266e-02\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "epoch 1500: physics loss = 1.334e-02\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "epoch 2000: physics loss = 1.156e-02\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "epoch 2500: physics loss = 4.647e-03\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "epoch 3000: physics loss = 7.178e-03\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "epoch 3500: physics loss = 5.673e-03\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "epoch 4000: physics loss = 1.821e-03\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "epoch 4500: physics loss = 2.387e-03\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "epoch 500: physics loss = 6.439e-02\n", + "epoch 1000: physics loss = 2.266e-02\n", + "epoch 1500: physics loss = 1.334e-02\n", + "epoch 2000: physics loss = 1.156e-02\n", + "epoch 2500: physics loss = 4.647e-03\n", + "epoch 3000: physics loss = 7.178e-03\n", + "epoch 3500: physics loss = 5.673e-03\n", + "epoch 4000: physics loss = 1.821e-03\n", + "epoch 4500: physics loss = 2.387e-03\n", "epoch 5000: physics loss = 2.130e-03\n", - "Training time: 25.8 s\n" + "Training time: 33.1 s\n" ] } ], @@ -675,14 +572,7 @@ "cell_type": "code", "execution_count": 8, "id": "5f7dd60a", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-14T11:41:24.846903Z", - "iopub.status.busy": "2026-08-14T11:41:24.846339Z", - "iopub.status.idle": "2026-08-14T11:41:25.132536Z", - "shell.execute_reply": "2026-08-14T11:41:25.131244Z" - } - }, + "metadata": {}, "outputs": [ { "data": { @@ -725,14 +615,7 @@ "cell_type": "code", "execution_count": 9, "id": "e7f58e24", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-14T11:41:25.134721Z", - "iopub.status.busy": "2026-08-14T11:41:25.134486Z", - "iopub.status.idle": "2026-08-14T11:41:25.153411Z", - "shell.execute_reply": "2026-08-14T11:41:25.152211Z" - } - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -816,14 +699,7 @@ "cell_type": "code", "execution_count": 10, "id": "c89e3637", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-14T11:41:25.155659Z", - "iopub.status.busy": "2026-08-14T11:41:25.155472Z", - "iopub.status.idle": "2026-08-14T11:41:25.555826Z", - "shell.execute_reply": "2026-08-14T11:41:25.554537Z" - } - }, + "metadata": {}, "outputs": [ { "data": { @@ -886,14 +762,7 @@ "cell_type": "code", "execution_count": 11, "id": "5f37e573", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-14T11:41:25.557672Z", - "iopub.status.busy": "2026-08-14T11:41:25.557486Z", - "iopub.status.idle": "2026-08-14T11:41:25.571770Z", - "shell.execute_reply": "2026-08-14T11:41:25.570031Z" - } - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -947,14 +816,7 @@ "cell_type": "code", "execution_count": 12, "id": "da15efee", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-14T11:41:25.574030Z", - "iopub.status.busy": "2026-08-14T11:41:25.573853Z", - "iopub.status.idle": "2026-08-14T11:41:25.582717Z", - "shell.execute_reply": "2026-08-14T11:41:25.581729Z" - } - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -1001,14 +863,7 @@ "cell_type": "code", "execution_count": 13, "id": "18cdfe68", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-14T11:41:25.584438Z", - "iopub.status.busy": "2026-08-14T11:41:25.584268Z", - "iopub.status.idle": "2026-08-14T11:41:25.916978Z", - "shell.execute_reply": "2026-08-14T11:41:25.915772Z" - } - }, + "metadata": {}, "outputs": [ { "data": { From 0e943e02da2c0df1e4159609cb82f6565fbd4b9f Mon Sep 17 00:00:00 2001 From: Geert Jan Bex Date: Tue, 18 Aug 2026 09:59:11 +0200 Subject: [PATCH 06/33] Remove stray material --- .../parameter-optimization/JuliaJobs/Makefile | 12 --- .../JuliaJobs/README.md | 17 --- .../JuliaJobs/julia.pbs | 52 --------- .../JuliaJobs/julia_omp.cpp | 94 ---------------- .../JuliaJobs/julia_optimize.py | 81 -------------- .../JuliaProcesses/Makefile | 12 --- .../JuliaProcesses/README.md | 20 ---- .../JuliaProcesses/julia_gcc.pbs | 27 ----- .../JuliaProcesses/julia_intel.pbs | 27 ----- .../JuliaProcesses/julia_omp.cpp | 94 ---------------- .../JuliaProcesses/julia_optimize.py | 74 ------------- .../JuliaProcesses/trials_gcc.txt | 101 ------------------ .../JuliaProcesses/trials_intel.txt | 101 ------------------ source-code/parameter-optimization/README.md | 4 - 14 files changed, 716 deletions(-) delete mode 100644 source-code/parameter-optimization/JuliaJobs/Makefile delete mode 100644 source-code/parameter-optimization/JuliaJobs/README.md delete mode 100644 source-code/parameter-optimization/JuliaJobs/julia.pbs delete mode 100644 source-code/parameter-optimization/JuliaJobs/julia_omp.cpp delete mode 100755 source-code/parameter-optimization/JuliaJobs/julia_optimize.py delete mode 100644 source-code/parameter-optimization/JuliaProcesses/Makefile delete mode 100644 source-code/parameter-optimization/JuliaProcesses/README.md delete mode 100644 source-code/parameter-optimization/JuliaProcesses/julia_gcc.pbs delete mode 100644 source-code/parameter-optimization/JuliaProcesses/julia_intel.pbs delete mode 100644 source-code/parameter-optimization/JuliaProcesses/julia_omp.cpp delete mode 100755 source-code/parameter-optimization/JuliaProcesses/julia_optimize.py delete mode 100644 source-code/parameter-optimization/JuliaProcesses/trials_gcc.txt delete mode 100644 source-code/parameter-optimization/JuliaProcesses/trials_intel.txt diff --git a/source-code/parameter-optimization/JuliaJobs/Makefile b/source-code/parameter-optimization/JuliaJobs/Makefile deleted file mode 100644 index a396e25..0000000 --- a/source-code/parameter-optimization/JuliaJobs/Makefile +++ /dev/null @@ -1,12 +0,0 @@ -CXX = g++ -CXXFLAGS = -fopenmp -std=c++14 -O2 -g -Wall -Wextra -LDLIBS = -lm - -all: julia_omp.exe - -%.exe: %.o - $(CXX) $(CXXFLAGS) -o $@ $^ $(LDLIBS) - -clean: - $(RM) $(wildcard *.exe) $(wildcard *.o) - $(RM) core $(wildcard core.*) diff --git a/source-code/parameter-optimization/JuliaJobs/README.md b/source-code/parameter-optimization/JuliaJobs/README.md deleted file mode 100644 index 8f96dcf..0000000 --- a/source-code/parameter-optimization/JuliaJobs/README.md +++ /dev/null @@ -1,17 +0,0 @@ -# JuliaJobs - -Illustration of optimizing application parameters by running jobs. - -## What is it? - - 1. `julia_omp.cpp`: C++ application that compute the Julia set - fractal, using OpenMP for parallelization. The parallel - for-loop schedule is `runtime`, and hence can be controled - using the `OMP_SCHEDULE` environment variable. Timing - information is writting to standard error. - 1. `Makefile`: make file to build the Julia set application. - 1. `julia.pbs`: PBS script to run the Julia set applciation - as a job. - 1. `julia_optimize.py`: Python script to find optimal OpenMP - schedule, chunk size and number of threads for the Julia set - application. diff --git a/source-code/parameter-optimization/JuliaJobs/julia.pbs b/source-code/parameter-optimization/JuliaJobs/julia.pbs deleted file mode 100644 index f09cf1b..0000000 --- a/source-code/parameter-optimization/JuliaJobs/julia.pbs +++ /dev/null @@ -1,52 +0,0 @@ -#!/usr/bin/env bash -#PBS -A lp_sys -#PBS -l pmem=2gb -#PBS -l walltime=00:05:00 -#PBS -j oe - -cd $PBS_O_WORKDIR - -source switch_to_2018a -module load foss - -# verify that OpenMP environment variables have been passed -# using -v options -if [[ -z "$schedule" ]] -then - (>&2 echo "### error: OpenMP schedule not set") - exit 1 -fi -if [[ -z "$chunk" ]] -then - (>&2 echo "### error: OpenMP chunk not set") - exit 1 -fi - -OMP_SCHEDULE="${schedule},${chunk}" -(>&2 echo "### info: OMP_SCHEDULE=\'${OMP_SCHEDULE}\'") - -if [[ -z "$OMP_NUM_THREADS" ]] -then - (>&2 echo "### error: OpenMP number of threads not set") - exit 2 -else - (>&2 echo "### info: OMP_NUM_THREADS=\'${OMP_NUM_THREADS}\'") -fi - -# ensure the executable is op to date -make all -if [[ $? -ne 0 ]] -then - (>&2 echo "### error: make failed") - exit 3 -fi - -# determine time file name -time_file="julia.pbs.time${PBS_JOBID/\.*/}" - -# run application on a sufficiently large matrix, disregarding -# output, timing information is writting to a file -for i in $(seq 3) -do - ./julia_omp.exe 4096 > /dev/null 2>> "${time_file}" -done diff --git a/source-code/parameter-optimization/JuliaJobs/julia_omp.cpp b/source-code/parameter-optimization/JuliaJobs/julia_omp.cpp deleted file mode 100644 index b7ee2a6..0000000 --- a/source-code/parameter-optimization/JuliaJobs/julia_omp.cpp +++ /dev/null @@ -1,94 +0,0 @@ -#include -#include -#include -#include -#include -#include - -using namespace std; -using my_time_t = chrono::nanoseconds; - -using cmplx = complex; - -valarray coordinates(float min_coord, float max_coord, - size_t steps); -valarray z_values(const valarray& x_coords, - const valarray& y_coords); -valarray iterate_zs(valarray& zs, const complex& c, - size_t max_iters); -void print_results(const valarray& ns); - -int main(int argc, char *argv[]) { - const cmplx c(-0.62772, - 0.42193); - const float x1 {-1.8}; - const float x2 {1.8}; - const float y1 {-1.8}; - const float y2 {1.8}; - const size_t max_iters {255}; - size_t steps {100}; - if (argc > 1) - steps = stoi(argv[1]); - valarray x_coords = coordinates(x1, x2, steps); - valarray y_coords = coordinates(y1, y2, steps); - valarray zs = z_values(x_coords, y_coords); - auto start_time = chrono::steady_clock::now(); - valarray ns = iterate_zs(zs, c, max_iters); - auto end_time = chrono::steady_clock::now(); - auto duration = chrono::duration_cast(end_time - start_time); - cerr << duration.count()*1.0e-9 << endl; - print_results(ns); - return 0; -} - -valarray coordinates(float min_coord, float max_coord, - size_t steps) { - valarray coords(steps); - const float step {(max_coord - min_coord)/steps}; - float value {min_coord}; - for (size_t i = 0; i < steps; i++) { - coords[i] = value; - value += step; - } - return coords; -} - -valarray z_values(const valarray& x_coords, - const valarray& y_coords) { - valarray zs(x_coords.size()*y_coords.size()); - size_t i {0}; - for (auto y: y_coords) - for (auto x: x_coords) { - complex z(x, y); - zs[i++] = z; - } - return zs; -} - -int iterate_z(cmplx z, const cmplx& c, size_t max_iters) { - size_t n {0}; - const complex z_in {z}; - while (abs(z) < 2.0 && n++ < max_iters) - z = z*z + c; - return n; -} - -valarray iterate_zs(valarray& zs, const complex& c, - size_t max_iters) { - valarray ns(zs.size()); -#pragma omp parallel for schedule(runtime) - for (size_t i = 0; i < zs.size(); i++) - ns[i] = iterate_z(zs[i], c, max_iters); - return ns; -} - -void print_results(const valarray& ns) { - size_t steps = ((size_t) sqrt(ns.size()) + 0.1); - size_t count {0}; - for (auto n: ns) { - cout << n; - if (++count % steps == 0) - cout << endl; - else - cout << " "; - } -} diff --git a/source-code/parameter-optimization/JuliaJobs/julia_optimize.py b/source-code/parameter-optimization/JuliaJobs/julia_optimize.py deleted file mode 100755 index 10246db..0000000 --- a/source-code/parameter-optimization/JuliaJobs/julia_optimize.py +++ /dev/null @@ -1,81 +0,0 @@ -#!/usr/bin/env python - -from argparse import ArgumentParser -from pathlib import Path -import subprocess -import sys -import time -from hyperopt import fmin, hp, STATUS_OK, tpe, Trials - - -def function(params): - schedule, chunk, ppn = params - # chunk is given as a floating point number - chunk = int(chunk) - # ppn ranges from 0 to 35 (inclusive) - ppn = 1 + int(ppn) - omp_env = (f'schedule={schedule},chunk={int(chunk)},' + - f'OMP_NUM_THREADS={ppn}') - cmd = ['qsub', '-l', f'nodes=1:ppn={ppn}:haswell', - '-v', omp_env, 'julia.pbs'] - process = subprocess.run(cmd, stdout=subprocess.PIPE, - encoding='utf8') - job_id, *_ = process.stdout.split('.') - print(f'### info: submitted job {job_id}', file=sys.stderr) - output_file = Path(f'julia.pbs.o{job_id}') - while not output_file.exists(): - time.sleep(3) - print(f'### info: job {job_id} finished', file=sys.stderr) - runtimes = list() - with open(f'julia.pbs.time{job_id}', 'r') as time_file: - for line in time_file: - runtimes.append(float(time_file.readline())) - runtime = sum(runtimes)/len(runtimes) - return { - 'loss': runtime, 'schedule': schedule, 'chunk': chunk, - 'ppn': ppn, 'job_id': job_id, 'status': STATUS_OK, - 'time': time.strftime('%Y-%m-%d %H:%M:%S'), - } - - -def optimize(max_evals, max_ppn): - space = hp.choice('schedule', [ - ('static', hp.qloguniform('chunk_s', 2, 11, 10), - hp.randint('ppn_s', max_ppn)), - ('dynamic', hp.qloguniform('chunk_d', 2, 11, 10), - hp.randint('ppn_d', max_ppn)), - ('guided', hp.qloguniform('chunk_g', 2, 11, 10), - hp.randint('ppn_g', max_ppn)), - ]) - trials = Trials() - best = fmin(function, space=space, algo=tpe.suggest, - max_evals=max_evals, trials=trials) - return best, trials - - -def main(): - arg_parser = ArgumentParser(description='optimize external ' - 'process') - arg_parser.add_argument('--max-ppn', type=int, default=20, - help='maximum number of cores to use') - arg_parser.add_argument('--max-evals', type=int, - default=100, help='maximum evals') - arg_parser.add_argument('--trials', required=True, - help='file to save trials') - options = arg_parser.parse_args() - _, trials = optimize(options.max_evals, options.max_ppn) - with open(options.trials, 'w') as trials_file: - print('schedule,chunk,ppn,job_id,runtime', - file=trials_file) - for trial in trials.results: - schedule = trial['schedule'] - chunk = trial['chunk'] - ppn = trial['ppn'] - job_id = trial['job_id'] - runtime = trial['loss'] - print(f'{schedule},{chunk:d},{ppn:d},' - f'({job_id}),{runtime}', file=trials_file) - - -if __name__ == '__main__': - sys.exit(main()) diff --git a/source-code/parameter-optimization/JuliaProcesses/Makefile b/source-code/parameter-optimization/JuliaProcesses/Makefile deleted file mode 100644 index a396e25..0000000 --- a/source-code/parameter-optimization/JuliaProcesses/Makefile +++ /dev/null @@ -1,12 +0,0 @@ -CXX = g++ -CXXFLAGS = -fopenmp -std=c++14 -O2 -g -Wall -Wextra -LDLIBS = -lm - -all: julia_omp.exe - -%.exe: %.o - $(CXX) $(CXXFLAGS) -o $@ $^ $(LDLIBS) - -clean: - $(RM) $(wildcard *.exe) $(wildcard *.o) - $(RM) core $(wildcard core.*) diff --git a/source-code/parameter-optimization/JuliaProcesses/README.md b/source-code/parameter-optimization/JuliaProcesses/README.md deleted file mode 100644 index 1284e03..0000000 --- a/source-code/parameter-optimization/JuliaProcesses/README.md +++ /dev/null @@ -1,20 +0,0 @@ -# JuliaProcesses - -Illustration of optimizing application parameters by running -processes. - -## What is it? - - 1. `julia_omp.cpp`: C++ application that compute the Julia set - fractal, using OpenMP for parallelization. The parallel - for-loop schedule is `runtime`, and hence can be controled - using the `OMP_SCHEDULE` environment variable. Timing - information is writting to standard error. - 1. `Makefile`: make file to build the Julia set application. - 1. `julia_optimize.py`: Python script to find optimal OpenMP - schedule, chunk size and number of threads for the Julia set - application. - 1. `julia_gcc.pbs`: PBS script to optimize the Julia set - applciation parameters as a job (GCC compiler). - 1. `julia_intel.pbs`: PBS script to optimize the Julia set - applciation parameters as a job (Intel compiler). diff --git a/source-code/parameter-optimization/JuliaProcesses/julia_gcc.pbs b/source-code/parameter-optimization/JuliaProcesses/julia_gcc.pbs deleted file mode 100644 index ae14a1a..0000000 --- a/source-code/parameter-optimization/JuliaProcesses/julia_gcc.pbs +++ /dev/null @@ -1,27 +0,0 @@ -#!/usr/bin/env bash -#PBS -A lp_sys -#PBS -l nodes=1:ppn=24:haswell -#PBS -l pmem=2gb -#PBS -l walltime=03:00:00 -#PBS -j oe -#PBS -m ae -#PBS -M geertjan.bex@uhasselt.be - -cd $PBS_O_WORKDIR - -source switch_to_2018a -module load foss - -# ensure the executable is op to date -make CXX=g++ CXXFLAGS='-fopenmp -std=c++14 -O2' clean all -if [[ $? -ne 0 ]] -then - (>&2 echo "### error: make failed") - exit 1 -fi - -module load conda -source activate hyperopt - -./julia_optimize.py --max-ppn 20 --max-evals 100 \ - --trials trials_gcc.txt diff --git a/source-code/parameter-optimization/JuliaProcesses/julia_intel.pbs b/source-code/parameter-optimization/JuliaProcesses/julia_intel.pbs deleted file mode 100644 index d770048..0000000 --- a/source-code/parameter-optimization/JuliaProcesses/julia_intel.pbs +++ /dev/null @@ -1,27 +0,0 @@ -#!/usr/bin/env bash -#PBS -A lp_sys -#PBS -l nodes=1:ppn=24:haswell -#PBS -l pmem=2gb -#PBS -l walltime=03:00:00 -#PBS -j oe -#PBS -m ae -#PBS -M geertjan.bex@uhasselt.be - -cd $PBS_O_WORKDIR - -source switch_to_2018a -module load intel - -# ensure the executable is op to date -make CXX=icpc CXXFLAGS='-qopenmp -std=c++14 -O2' clean all -if [[ $? -ne 0 ]] -then - (>&2 echo "### error: make failed") - exit 1 -fi - -module load conda -source activate hyperopt - -./julia_optimize.py --max-ppn 20 --max-evals 100 \ - --trials trials_intel.txt diff --git a/source-code/parameter-optimization/JuliaProcesses/julia_omp.cpp b/source-code/parameter-optimization/JuliaProcesses/julia_omp.cpp deleted file mode 100644 index b7ee2a6..0000000 --- a/source-code/parameter-optimization/JuliaProcesses/julia_omp.cpp +++ /dev/null @@ -1,94 +0,0 @@ -#include -#include -#include -#include -#include -#include - -using namespace std; -using my_time_t = chrono::nanoseconds; - -using cmplx = complex; - -valarray coordinates(float min_coord, float max_coord, - size_t steps); -valarray z_values(const valarray& x_coords, - const valarray& y_coords); -valarray iterate_zs(valarray& zs, const complex& c, - size_t max_iters); -void print_results(const valarray& ns); - -int main(int argc, char *argv[]) { - const cmplx c(-0.62772, - 0.42193); - const float x1 {-1.8}; - const float x2 {1.8}; - const float y1 {-1.8}; - const float y2 {1.8}; - const size_t max_iters {255}; - size_t steps {100}; - if (argc > 1) - steps = stoi(argv[1]); - valarray x_coords = coordinates(x1, x2, steps); - valarray y_coords = coordinates(y1, y2, steps); - valarray zs = z_values(x_coords, y_coords); - auto start_time = chrono::steady_clock::now(); - valarray ns = iterate_zs(zs, c, max_iters); - auto end_time = chrono::steady_clock::now(); - auto duration = chrono::duration_cast(end_time - start_time); - cerr << duration.count()*1.0e-9 << endl; - print_results(ns); - return 0; -} - -valarray coordinates(float min_coord, float max_coord, - size_t steps) { - valarray coords(steps); - const float step {(max_coord - min_coord)/steps}; - float value {min_coord}; - for (size_t i = 0; i < steps; i++) { - coords[i] = value; - value += step; - } - return coords; -} - -valarray z_values(const valarray& x_coords, - const valarray& y_coords) { - valarray zs(x_coords.size()*y_coords.size()); - size_t i {0}; - for (auto y: y_coords) - for (auto x: x_coords) { - complex z(x, y); - zs[i++] = z; - } - return zs; -} - -int iterate_z(cmplx z, const cmplx& c, size_t max_iters) { - size_t n {0}; - const complex z_in {z}; - while (abs(z) < 2.0 && n++ < max_iters) - z = z*z + c; - return n; -} - -valarray iterate_zs(valarray& zs, const complex& c, - size_t max_iters) { - valarray ns(zs.size()); -#pragma omp parallel for schedule(runtime) - for (size_t i = 0; i < zs.size(); i++) - ns[i] = iterate_z(zs[i], c, max_iters); - return ns; -} - -void print_results(const valarray& ns) { - size_t steps = ((size_t) sqrt(ns.size()) + 0.1); - size_t count {0}; - for (auto n: ns) { - cout << n; - if (++count % steps == 0) - cout << endl; - else - cout << " "; - } -} diff --git a/source-code/parameter-optimization/JuliaProcesses/julia_optimize.py b/source-code/parameter-optimization/JuliaProcesses/julia_optimize.py deleted file mode 100755 index afbbd98..0000000 --- a/source-code/parameter-optimization/JuliaProcesses/julia_optimize.py +++ /dev/null @@ -1,74 +0,0 @@ -#!/usr/bin/env python - -from argparse import ArgumentParser -import os -import subprocess -import sys -import time -from hyperopt import fmin, hp, STATUS_OK, tpe, Trials - - -def function(params): - schedule, chunk, ppn = params - # chunk is given as a floating point number - chunk = int(chunk) - # ppn ranges from 0 to 35 (inclusive) - ppn = 1 + int(ppn) - environ = os.environ.copy() - environ['OMP_SCHEDULE'] = f'{schedule},{chunk}' - environ['OMP_NUM_THREADS'] = f'{ppn}' - cmd = ['./julia_omp.exe 4096'] - runtimes = list() - for _ in range(3): - process = subprocess.run(cmd, stderr=subprocess.PIPE, - stdout=subprocess.PIPE, - env=environ, shell=True, - encoding='utf8') - runtimes.append(float(process.stderr)) - runtime = sum(runtimes)/len(runtimes) - return { - 'loss': runtime, 'schedule': schedule, 'chunk': chunk, - 'ppn': ppn, 'status': STATUS_OK, - 'time': time.strftime('%Y-%m-%d %H:%M:%S'), - } - - -def optimize(max_evals, max_ppn): - space = hp.choice('schedule', [ - ('static', hp.qloguniform('chunk_s', 2, 11, 10), - hp.randint('ppn_s', max_ppn)), - ('dynamic', hp.qloguniform('chunk_d', 2, 11, 10), - hp.randint('ppn_d', max_ppn)), - ('guided', hp.qloguniform('chunk_g', 2, 11, 10), - hp.randint('ppn_g', max_ppn)), - ]) - trials = Trials() - best = fmin(function, space=space, algo=tpe.suggest, - max_evals=max_evals, trials=trials) - return best, trials - - -def main(): - arg_parser = ArgumentParser(description='optimize external ' - 'process') - arg_parser.add_argument('--max-ppn', type=int, default=20, - help='maximum number of cores to use') - arg_parser.add_argument('--max-evals', type=int, - default=100, help='maximum evals') - arg_parser.add_argument('--trials', required=True, - help='file to save trials') - options = arg_parser.parse_args() - _, trials = optimize(options.max_evals, options.max_ppn) - with open(options.trials, 'w') as trials_file: - print('schedule,chunk,ppn,runtime', file=trials_file) - for trial in trials.results: - schedule = trial['schedule'] - chunk = trial['chunk'] - ppn = trial['ppn'] - runtime = trial['loss'] - print(f'{schedule},{chunk:d},{ppn:d},{runtime}', - file=trials_file) - - -if __name__ == '__main__': - sys.exit(main()) diff --git a/source-code/parameter-optimization/JuliaProcesses/trials_gcc.txt b/source-code/parameter-optimization/JuliaProcesses/trials_gcc.txt deleted file mode 100644 index 6fe4f21..0000000 --- a/source-code/parameter-optimization/JuliaProcesses/trials_gcc.txt +++ /dev/null @@ -1,101 +0,0 @@ -schedule,chunk,ppn,runtime -static,30,12,1.5917266666666665 -static,4860,2,8.171240000000001 -guided,670,15,2.3501399999999997 -guided,33600,18,1.94371 -static,10,20,0.973173 -static,2020,3,5.548903333333333 -guided,38720,9,3.6095133333333336 -static,170,17,1.12221 -guided,20,19,1.8704866666666664 -dynamic,1540,16,1.1803033333333333 -guided,13590,4,7.890280000000001 -guided,640,19,1.8747300000000002 -static,17440,1,16.3079 -dynamic,30,8,2.340626666666667 -static,640,4,4.144383333333333 -static,1190,15,1.2598833333333332 -dynamic,20,12,1.6445566666666667 -guided,5270,19,1.8640433333333333 -static,20,2,8.202146666666666 -static,310,8,2.2976733333333335 -static,110,17,1.1303633333333334 -static,10,20,0.9763526666666668 -static,10,20,0.973322 -dynamic,40390,13,1.44515 -static,40,20,0.9681323333333335 -static,60,11,1.7311266666666667 -static,40,16,1.2161833333333334 -dynamic,27980,6,2.931623333333333 -static,10,5,3.529426666666667 -static,90,13,1.6347733333333334 -static,20,18,1.0730633333333335 -static,330,19,1.0033966666666665 -static,10,10,1.9039966666666668 -dynamic,320,4,4.171130000000001 -static,40,7,2.605306666666667 -static,39790,9,2.0867400000000003 -guided,10,10,3.4001 -static,20,20,0.9695423333333334 -static,200,6,2.9567533333333333 -guided,90,20,1.7312066666666668 -dynamic,3290,18,1.0509233333333334 -static,80,20,0.9635616666666666 -guided,1690,1,16.29733333333333 -static,580,20,0.9542913333333333 -static,3770,14,1.3494266666666668 -dynamic,180,9,2.0659433333333332 -guided,80,12,2.78943 -static,520,16,1.1848299999999998 -static,1370,12,1.5966033333333334 -guided,90,3,10.3038 -dynamic,10740,19,0.9967216666666667 -static,10780,1,16.294133333333335 -static,2910,20,0.955419 -static,4950,3,5.553296666666665 -guided,2880,11,3.0660833333333333 -static,55950,19,1.02436 -dynamic,90,3,5.532123333333334 -static,2840,4,4.151026666666667 -static,10990,11,1.7155166666666668 -static,1090,15,1.4147833333333333 -dynamic,10,14,1.51847 -guided,360,2,8.16883 -static,6740,18,1.0579033333333332 -static,26170,2,8.168726666666666 -static,1730,8,2.2887466666666665 -static,340,20,0.9530979999999999 -static,800,20,0.953858 -static,810,20,0.9551963333333333 -static,390,20,0.9521623333333333 -static,210,17,1.11862 -static,350,10,1.88314 -static,150,5,3.52176 -static,440,6,2.951776666666667 -static,770,9,2.0785533333333333 -static,250,13,1.4535900000000002 -dynamic,6450,1,16.303933333333333 -static,2040,20,0.9535973333333333 -guided,20,7,4.4362200000000005 -static,2180,14,1.3496966666666665 -static,1400,7,2.5986233333333333 -static,130,20,0.9636043333333334 -dynamic,1210,11,1.7037366666666667 -static,7790,3,5.505356666666667 -guided,10040,14,2.4466666666666668 -static,440,1,16.301933333333334 -static,60,4,4.228196666666666 -static,280,12,1.5717033333333335 -dynamic,60,5,3.476433333333334 -guided,300,8,4.170116666666666 -static,1040,20,0.9560566666666667 -static,2080,8,2.3060466666666666 -static,100,15,1.2734233333333334 -dynamic,550,7,2.565443333333333 -static,30,16,1.2011066666666668 -guided,59540,17,2.06512 -static,4170,2,8.17 -static,180,20,0.9616233333333333 -static,2840,11,1.70801 -dynamic,17680,10,1.8717233333333334 -static,18120,17,1.1260466666666666 diff --git a/source-code/parameter-optimization/JuliaProcesses/trials_intel.txt b/source-code/parameter-optimization/JuliaProcesses/trials_intel.txt deleted file mode 100644 index 67d8c42..0000000 --- a/source-code/parameter-optimization/JuliaProcesses/trials_intel.txt +++ /dev/null @@ -1,101 +0,0 @@ -schedule,chunk,ppn,runtime -guided,3020,20,0.589315 -dynamic,13470,2,4.812006666666666 -guided,70,3,3.226713333333333 -static,550,16,0.7631010000000001 -static,40,6,1.8621333333333334 -dynamic,400,11,0.925716 -dynamic,30,13,0.802422 -guided,29140,20,0.6024636666666666 -guided,35040,19,0.6036973333333333 -dynamic,20280,1,8.33697 -static,20,6,1.9154733333333336 -guided,2620,6,1.8101233333333333 -guided,90,8,1.3360599999999998 -static,370,12,1.0066 -dynamic,2990,10,1.0134766666666666 -dynamic,10,5,2.1214600000000003 -guided,47270,15,0.779528 -dynamic,120,7,1.43082 -static,600,11,1.0966466666666665 -guided,30,5,2.0578066666666666 -guided,3550,20,0.5780103333333334 -guided,2270,20,0.5677493333333333 -guided,810,2,4.78434 -guided,6120,11,0.990568 -guided,420,16,0.6978840000000001 -guided,9260,4,2.53411 -guided,520,13,0.8616229999999999 -guided,1210,12,0.902005 -guided,12120,9,1.24013 -guided,280,10,1.1416866666666667 -guided,2070,1,8.338323333333333 -guided,200,17,0.6597876666666668 -static,42510,9,1.32843 -guided,17200,7,1.5280666666666667 -guided,4850,14,0.8144893333333334 -static,59190,19,0.653917 -guided,1320,20,0.5649243333333333 -dynamic,55350,9,1.1257566666666667 -guided,10,18,0.6439823333333333 -static,7810,10,1.1946899999999998 -guided,1250,20,0.581125 -dynamic,2080,6,1.63648 -guided,130,20,0.5859943333333333 -static,5650,3,3.5127200000000003 -dynamic,10,20,0.5997933333333333 -guided,1380,16,0.6813666666666666 -guided,570,10,1.1465733333333334 -static,80,4,2.6526566666666667 -dynamic,50,15,0.6972223333333334 -guided,7110,20,0.5779263333333334 -guided,40,18,0.620548 -dynamic,370,8,1.2520299999999998 -guided,2310,3,3.16793 -static,5210,7,1.6401633333333334 -guided,21120,20,0.5948866666666667 -guided,230,11,0.988111 -dynamic,2690,14,0.7293083333333333 -guided,3680,19,0.629715 -guided,10,8,1.3253133333333336 -static,10,18,0.7046943333333333 -guided,830,2,4.78555 -guided,57170,15,0.76663 -dynamic,12000,16,0.6470966666666667 -guided,70,6,1.7808166666666665 -static,16170,5,2.2223400000000004 -guided,7630,20,0.5824773333333333 -guided,13080,20,0.5657359999999999 -guided,39980,5,2.1055533333333334 -guided,24880,20,0.590386 -guided,13160,4,2.4379266666666664 -guided,1710,13,0.8712396666666667 -guided,3480,20,0.5877116666666667 -guided,5040,9,1.25018 -guided,890,7,1.5846166666666666 -guided,10370,1,8.335666666666667 -guided,300,17,0.6679476666666666 -guided,2930,12,0.9426863333333334 -guided,440,14,0.786128 -dynamic,57580,4,2.42371 -static,140,17,0.7328313333333333 -guided,30960,3,3.2276900000000004 -guided,15630,20,0.5811926666666667 -guided,1860,19,0.6137353333333334 -dynamic,120,3,3.261153333333333 -guided,130,6,1.7619733333333334 -static,1950,8,1.4486066666666666 -guided,5130,8,1.3433833333333336 -guided,1510,15,0.7391843333333333 -guided,1100,20,0.5852953333333333 -dynamic,30,12,0.8659466666666665 -static,1720,20,0.6286459999999999 -guided,750,16,0.7050063333333334 -guided,2390,2,4.784576666666666 -guided,55720,5,2.0777433333333337 -dynamic,940,19,0.5477673333333333 -dynamic,1030,19,0.558353 -dynamic,1180,19,0.549424 -dynamic,1340,19,0.5454396666666667 -dynamic,1090,19,0.5546893333333333 -dynamic,6420,19,0.5501726666666666 diff --git a/source-code/parameter-optimization/README.md b/source-code/parameter-optimization/README.md index b29e684..5ca62d5 100644 --- a/source-code/parameter-optimization/README.md +++ b/source-code/parameter-optimization/README.md @@ -13,9 +13,5 @@ values a in parameter space are explored. 1. `hyperopt_imize.py`: Illustrates using the hyperopt TPE algorithm to optimize the parameters for an application, i.e., `continuous_process.py`. - 1. `JuliaJobs`: illustration of optimizing application - parameters by running jobs and using the result. - 1. `JuliaProcesses`: illustration of optimizing application - parameters by running processes. 1. `optuna`: illustrations of using Optuna for hyperparameter optimization. From 2457950efe55d7c8976796af4eb791a5b1edda05 Mon Sep 17 00:00:00 2001 From: Geert Jan Bex Date: Tue, 18 Aug 2026 10:08:56 +0200 Subject: [PATCH 07/33] Add hyperparameter optimization PINN example --- environment.yml | 1 + source-code/pinns/README.md | 5 + source-code/pinns/environment.yml | 1 + ...meterized_heat_equation_optimization.ipynb | 1326 +++++++++++++++++ 4 files changed, 1333 insertions(+) create mode 100644 source-code/pinns/parameterized_heat_equation_optimization.ipynb diff --git a/environment.yml b/environment.yml index 0e54507..bf7ef48 100644 --- a/environment.yml +++ b/environment.yml @@ -19,6 +19,7 @@ dependencies: - lime - hyperopt - bayesian-optimization + - optuna # Notebook and visualization stack used by the core teaching material. - jupyterlab diff --git a/source-code/pinns/README.md b/source-code/pinns/README.md index f406402..0906518 100644 --- a/source-code/pinns/README.md +++ b/source-code/pinns/README.md @@ -15,4 +15,9 @@ equations in the loss function. across a family of heat equations with varying initial conditions and diffusivities. It uses hard initial and boundary constraints and validates interpolation and extrapolation against the analytical solution. +1. `parameterized_heat_equation_optimization.ipynb`: methodology-first + hyperparameter optimization for the parameterized heat-equation PINN. It + compares a transparent random-search baseline with Optuna, confirms a + shortlist across fresh training seeds, and uses a final untouched audit + suite. 1. `environment.yml`: conda environment specification file. diff --git a/source-code/pinns/environment.yml b/source-code/pinns/environment.yml index 7c34b76..44bc59d 100644 --- a/source-code/pinns/environment.yml +++ b/source-code/pinns/environment.yml @@ -4,6 +4,7 @@ channels: dependencies: - jupyterlab - matplotlib + - optuna - pytorch - scipy - torchopt diff --git a/source-code/pinns/parameterized_heat_equation_optimization.ipynb b/source-code/pinns/parameterized_heat_equation_optimization.ipynb new file mode 100644 index 0000000..414db86 --- /dev/null +++ b/source-code/pinns/parameterized_heat_equation_optimization.ipynb @@ -0,0 +1,1326 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "title", + "metadata": {}, + "source": [ + "# Methodologically sound hyperparameter optimization for a PINN\n", + "\n", + "This notebook uses the parameterized heat-equation PINN as a realistic case study in hyperparameter optimization. The emphasis is not on finding a spectacular architecture. It is on designing a comparison whose result can be interpreted.\n", + "\n", + "## Learning objectives\n", + "\n", + "After working through this notebook, you should be able to:\n", + "\n", + "- distinguish fitting, validation, confirmation, and final audit evidence;\n", + "- state an optimization objective and computational budget before starting a search;\n", + "- implement a transparent random-search baseline before using an optimization framework;\n", + "- explain why one noisy best trial is not yet a reliable model choice;\n", + "- compare configurations across common, fresh training seeds;\n", + "- report accuracy, variability, model size, and runtime without pretending they are interchangeable.\n", + "\n", + "The default experiment is intentionally small and normally takes roughly one to three minutes on a recent CPU. It needs PyTorch, NumPy, Matplotlib, and Optuna from `environment.yml`." + ] + }, + { + "cell_type": "markdown", + "id": "goal", + "metadata": {}, + "source": [ + "## 1. Goal and experimental contract\n", + "\n", + "We vary three hyperparameters:\n", + "\n", + "- network width;\n", + "- number of hidden layers;\n", + "- Adam learning rate.\n", + "\n", + "The **declared selection metric** is the mean relative $L^2$ solution error over a fixed validation suite. The analytical solution is used only for evaluation, never for fitting. In a problem without an analytical solution, this role would need trustworthy observations or an independently verified numerical solution. Optimizing the training residual would be weaker: a small local residual does not guarantee a small solution error.\n", + "\n", + "Every search trial receives the same number of optimizer updates and collocation points. This controls the sample and update budget, but it is **not** an equal wall-clock or floating-point-operation budget: wider and deeper networks cost more. We therefore report parameter count and runtime alongside error rather than quietly treating them as equivalent.\n", + "\n", + "The workflow is fixed before any results are seen:\n", + "\n", + "1. Search with one common training seed and a fixed validation suite.\n", + "2. Re-evaluate a short list with several fresh, common seeds.\n", + "3. Select by mean confirmation validation error.\n", + "4. Consult the audit suite exactly once, after the choice is frozen.\n", + "\n", + "Using common seeds makes configuration comparisons less noisy. It does not eliminate stochasticity or prove that the winner is universally best." + ] + }, + { + "cell_type": "markdown", + "id": "setup", + "metadata": {}, + "source": [ + "## 2. Setup\n", + "\n", + "All choices that affect the experiment are collected here. Reducing epochs or trials is legitimate for a demonstration, but changing them after seeing results creates a different experiment. CPU is the default because this small, derivative-heavy workload does not automatically benefit from a GPU." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "imports", + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-17T09:01:07.150779Z", + "iopub.status.busy": "2026-08-17T09:01:07.150644Z", + "iopub.status.idle": "2026-08-17T09:01:08.654544Z", + "shell.execute_reply": "2026-08-17T09:01:08.653544Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "PyTorch 2.13.0; Optuna 4.9.0\n" + ] + } + ], + "source": [ + "import math\n", + "import statistics\n", + "import time\n", + "from dataclasses import dataclass\n", + "\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "import optuna\n", + "import torch\n", + "from torch import nn\n", + "\n", + "optuna.logging.set_verbosity(optuna.logging.WARNING)\n", + "print(f\"PyTorch {torch.__version__}; Optuna {optuna.__version__}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "configuration", + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-17T09:01:08.656173Z", + "iopub.status.busy": "2026-08-17T09:01:08.655965Z", + "iopub.status.idle": "2026-08-17T09:01:08.666420Z", + "shell.execute_reply": "2026-08-17T09:01:08.665504Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Using device: cpu\n" + ] + } + ], + "source": [ + "@dataclass(frozen=True)\n", + "class ProblemConfig:\n", + " x_min: float = 0.0\n", + " x_max: float = 1.0\n", + " t_min: float = 0.0\n", + " t_max: float = 1.0\n", + " coefficient_min: float = -1.0\n", + " coefficient_max: float = 1.0\n", + " kappa_min: float = 0.05\n", + " kappa_max: float = 0.20\n", + "\n", + " def input_bounds(self):\n", + " lower = torch.tensor([\n", + " self.x_min, self.t_min, self.coefficient_min,\n", + " self.coefficient_min, self.kappa_min,\n", + " ])\n", + " upper = torch.tensor([\n", + " self.x_max, self.t_max, self.coefficient_max,\n", + " self.coefficient_max, self.kappa_max,\n", + " ])\n", + " return lower, upper\n", + "\n", + "\n", + "@dataclass(frozen=True)\n", + "class ExperimentConfig:\n", + " width_options: tuple[int, ...] = (8, 16, 32, 64)\n", + " hidden_layers_min: int = 1\n", + " hidden_layers_max: int = 4\n", + " learning_rate_min: float = 3.0e-4\n", + " learning_rate_max: float = 4.0e-3\n", + " trials_per_method: int = 8\n", + " search_epochs: int = 400\n", + " confirmation_epochs: int = 1_200\n", + " collocation_batch_size: int = 256\n", + " validation_case_count: int = 10\n", + " audit_case_count: int = 10\n", + " evaluation_n_x: int = 41\n", + " evaluation_n_t: int = 21\n", + " common_search_seed: int = 20_260_817\n", + " random_search_seed: int = 31_415\n", + " optuna_sampler_seed: int = 27_182\n", + " validation_case_seed: int = 16_180\n", + " audit_case_seed: int = 14_142\n", + " confirmation_seeds: tuple[int, ...] = (10_007, 10_009, 10_037)\n", + " use_cuda: bool = False\n", + "\n", + "\n", + "@dataclass(frozen=True)\n", + "class ModelConfig:\n", + " width: int\n", + " hidden_layers: int\n", + " learning_rate: float\n", + "\n", + "\n", + "problem = ProblemConfig()\n", + "experiment = ExperimentConfig()\n", + "using_cuda = experiment.use_cuda and torch.cuda.is_available()\n", + "device = torch.device(\"cuda\" if using_cuda else \"cpu\")\n", + "print(f\"Using device: {device}\")" + ] + }, + { + "cell_type": "markdown", + "id": "problem", + "metadata": {}, + "source": [ + "## 3. Define the problem and model family\n", + "\n", + "We solve\n", + "\n", + "$$\n", + "\\frac{\\partial u}{\\partial t}=\\kappa\\frac{\\partial^2 u}{\\partial x^2},\n", + "\\qquad\n", + "u(x,0)=a_1\\sin(\\pi x)+a_2\\sin(2\\pi x),\n", + "$$\n", + "\n", + "with $u(0,t)=u(1,t)=0$. The network input is $(x,t,a_1,a_2,\\kappa)$. A hard-constrained trial solution satisfies the initial and boundary conditions for every network configuration, so architecture comparisons are not confounded by different loss-term weights.\n", + "\n", + "This duplicates a small amount of code from `parameterized_heat_equation.ipynb` so the experiment is self-contained and reproducible from top to bottom." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "model", + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-17T09:01:08.667948Z", + "iopub.status.busy": "2026-08-17T09:01:08.667810Z", + "iopub.status.idle": "2026-08-17T09:01:08.672846Z", + "shell.execute_reply": "2026-08-17T09:01:08.672129Z" + } + }, + "outputs": [], + "source": [ + "def initial_profile(x, a1, a2, *, x_min, x_max):\n", + " scaled_x = (x - x_min) / (x_max - x_min)\n", + " return (\n", + " a1 * torch.sin(math.pi * scaled_x)\n", + " + a2 * torch.sin(2.0 * math.pi * scaled_x)\n", + " )\n", + "\n", + "\n", + "def exact_solution(inputs, problem):\n", + " # Evaluation reference only: never called by the fitting loop.\n", + " x, t, a1, a2, kappa = inputs.unbind(dim=1)\n", + " length = problem.x_max - problem.x_min\n", + " elapsed_time = t - problem.t_min\n", + " first_rate = (math.pi / length) ** 2\n", + " second_rate = (2.0 * math.pi / length) ** 2\n", + " profile_1 = initial_profile(\n", + " x, a1, torch.zeros_like(a2),\n", + " x_min=problem.x_min, x_max=problem.x_max,\n", + " )\n", + " profile_2 = initial_profile(\n", + " x, torch.zeros_like(a1), a2,\n", + " x_min=problem.x_min, x_max=problem.x_max,\n", + " )\n", + " return (\n", + " torch.exp(-kappa * first_rate * elapsed_time) * profile_1\n", + " + torch.exp(-kappa * second_rate * elapsed_time) * profile_2\n", + " )\n", + "\n", + "\n", + "class ParametricHeatPINN(nn.Module):\n", + " def __init__(self, problem, *, width, hidden_layers):\n", + " super().__init__()\n", + " layers = [nn.Linear(5, width), nn.Tanh()]\n", + " for _ in range(hidden_layers - 1):\n", + " layers.extend([nn.Linear(width, width), nn.Tanh()])\n", + " layers.append(nn.Linear(width, 1))\n", + " self.network = nn.Sequential(*layers)\n", + "\n", + " input_lower, input_upper = problem.input_bounds()\n", + " self.register_buffer(\"input_lower\", input_lower)\n", + " self.register_buffer(\"input_upper\", input_upper)\n", + "\n", + " def forward(self, inputs):\n", + " x, t, a1, a2, _ = inputs.unbind(dim=1)\n", + " scaled_inputs = 2.0 * (\n", + " (inputs - self.input_lower)\n", + " / (self.input_upper - self.input_lower)\n", + " ) - 1.0\n", + " starting_profile = initial_profile(\n", + " x, a1, a2,\n", + " x_min=self.input_lower[0],\n", + " x_max=self.input_upper[0],\n", + " )\n", + " correction = self.network(scaled_inputs).squeeze(dim=1)\n", + " constraint_factor = (\n", + " (t - self.input_lower[1])\n", + " * (x - self.input_lower[0])\n", + " * (self.input_upper[0] - x)\n", + " )\n", + " return starting_profile + constraint_factor * correction" + ] + }, + { + "cell_type": "markdown", + "id": "fit-functions", + "metadata": {}, + "source": [ + "## 4. Separate fitting from evaluation\n", + "\n", + "The fitting loop sees only newly sampled collocation points and the differential equation. It never sees validation or audit solution values. An explicit random-number generator makes the collocation stream independent of how many random numbers a particular architecture consumes during weight initialization." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "fit-helpers", + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-17T09:01:08.674333Z", + "iopub.status.busy": "2026-08-17T09:01:08.674207Z", + "iopub.status.idle": "2026-08-17T09:01:08.678654Z", + "shell.execute_reply": "2026-08-17T09:01:08.677782Z" + } + }, + "outputs": [], + "source": [ + "def seed_model_initialization(seed):\n", + " torch.manual_seed(seed)\n", + " if torch.cuda.is_available():\n", + " torch.cuda.manual_seed_all(seed)\n", + "\n", + "\n", + "def random_parameters(n, problem, device, *, generator):\n", + " coefficient_width = problem.coefficient_max - problem.coefficient_min\n", + " a1 = problem.coefficient_min + coefficient_width * torch.rand(\n", + " n, device=device, generator=generator\n", + " )\n", + " a2 = problem.coefficient_min + coefficient_width * torch.rand(\n", + " n, device=device, generator=generator\n", + " )\n", + " kappa = problem.kappa_min + (\n", + " problem.kappa_max - problem.kappa_min\n", + " ) * torch.rand(n, device=device, generator=generator)\n", + " return a1, a2, kappa\n", + "\n", + "\n", + "def sample_collocation_points(n, problem, device, *, generator):\n", + " x = problem.x_min + (problem.x_max - problem.x_min) * torch.rand(\n", + " n, device=device, generator=generator\n", + " )\n", + " t = problem.t_min + (problem.t_max - problem.t_min) * torch.rand(\n", + " n, device=device, generator=generator\n", + " )\n", + " a1, a2, kappa = random_parameters(\n", + " n, problem, device, generator=generator\n", + " )\n", + " return torch.column_stack([x, t, a1, a2, kappa]).requires_grad_(True)\n", + "\n", + "\n", + "def physics_residual(model, inputs):\n", + " u = model(inputs)\n", + " first_derivatives = torch.autograd.grad(\n", + " u, inputs, grad_outputs=torch.ones_like(u), create_graph=True\n", + " )[0]\n", + " du_dx = first_derivatives[:, 0]\n", + " du_dt = first_derivatives[:, 1]\n", + " d2u_dx2 = torch.autograd.grad(\n", + " du_dx, inputs, grad_outputs=torch.ones_like(du_dx), create_graph=True\n", + " )[0][:, 0]\n", + " return du_dt - inputs[:, 4] * d2u_dx2" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "evaluation-helpers", + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-17T09:01:08.680079Z", + "iopub.status.busy": "2026-08-17T09:01:08.679956Z", + "iopub.status.idle": "2026-08-17T09:01:08.684646Z", + "shell.execute_reply": "2026-08-17T09:01:08.683881Z" + } + }, + "outputs": [], + "source": [ + "def make_parameter_cases(seed, n_cases, problem, *, min_coefficient_norm=0.35):\n", + " rng = np.random.default_rng(seed)\n", + " cases = []\n", + " while len(cases) < n_cases:\n", + " a1 = rng.uniform(problem.coefficient_min, problem.coefficient_max)\n", + " a2 = rng.uniform(problem.coefficient_min, problem.coefficient_max)\n", + " if math.hypot(a1, a2) < min_coefficient_norm:\n", + " continue\n", + " kappa = rng.uniform(problem.kappa_min, problem.kappa_max)\n", + " cases.append((float(a1), float(a2), float(kappa)))\n", + " return tuple(cases)\n", + "\n", + "\n", + "def make_evaluation_inputs(case, problem, device, *, n_x, n_t):\n", + " a1, a2, kappa = case\n", + " x = torch.linspace(problem.x_min, problem.x_max, n_x, device=device)\n", + " t = torch.linspace(problem.t_min, problem.t_max, n_t, device=device)\n", + " tt, xx = torch.meshgrid(t, x, indexing=\"ij\")\n", + " return torch.column_stack([\n", + " xx.ravel(), tt.ravel(),\n", + " torch.full_like(xx.ravel(), a1),\n", + " torch.full_like(xx.ravel(), a2),\n", + " torch.full_like(xx.ravel(), kappa),\n", + " ])\n", + "\n", + "\n", + "def score_cases(model, cases, problem, experiment, device):\n", + " relative_errors = []\n", + " model.eval()\n", + " with torch.inference_mode():\n", + " for case in cases:\n", + " inputs = make_evaluation_inputs(\n", + " case, problem, device,\n", + " n_x=experiment.evaluation_n_x,\n", + " n_t=experiment.evaluation_n_t,\n", + " )\n", + " prediction = model(inputs)\n", + " reference = exact_solution(inputs, problem)\n", + " relative_error = (\n", + " torch.linalg.vector_norm(prediction - reference)\n", + " / torch.linalg.vector_norm(reference)\n", + " )\n", + " relative_errors.append(relative_error.item())\n", + " return {\n", + " \"mean\": statistics.fmean(relative_errors),\n", + " \"standard_deviation\": statistics.stdev(relative_errors),\n", + " \"maximum\": max(relative_errors),\n", + " \"per_case\": tuple(relative_errors),\n", + " }" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "run-configuration", + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-17T09:01:08.686042Z", + "iopub.status.busy": "2026-08-17T09:01:08.685923Z", + "iopub.status.idle": "2026-08-17T09:01:08.690491Z", + "shell.execute_reply": "2026-08-17T09:01:08.689619Z" + } + }, + "outputs": [], + "source": [ + "def run_configuration(\n", + " model_config, *, training_seed, epochs, problem, experiment,\n", + " validation_cases, device,\n", + "):\n", + " seed_model_initialization(training_seed)\n", + " model = ParametricHeatPINN(\n", + " problem,\n", + " width=model_config.width,\n", + " hidden_layers=model_config.hidden_layers,\n", + " ).to(device)\n", + " collocation_generator = torch.Generator(device=device)\n", + " collocation_generator.manual_seed(training_seed + 1)\n", + " optimizer = torch.optim.Adam(\n", + " model.parameters(), lr=model_config.learning_rate\n", + " )\n", + "\n", + " if device.type == \"cuda\":\n", + " torch.cuda.synchronize()\n", + " start_time = time.perf_counter()\n", + " final_physics_loss = math.nan\n", + " model.train()\n", + " for _ in range(epochs):\n", + " inputs = sample_collocation_points(\n", + " experiment.collocation_batch_size, problem, device,\n", + " generator=collocation_generator,\n", + " )\n", + " optimizer.zero_grad(set_to_none=True)\n", + " residual = physics_residual(model, inputs)\n", + " loss = residual.square().mean()\n", + " loss.backward()\n", + " optimizer.step()\n", + " final_physics_loss = loss.item()\n", + "\n", + " if device.type == \"cuda\":\n", + " torch.cuda.synchronize()\n", + " elapsed_seconds = time.perf_counter() - start_time\n", + " validation = score_cases(\n", + " model, validation_cases, problem, experiment, device\n", + " )\n", + " parameter_count = sum(parameter.numel() for parameter in model.parameters())\n", + " return {\n", + " \"model\": model,\n", + " \"validation\": validation,\n", + " \"parameter_count\": parameter_count,\n", + " \"elapsed_seconds\": elapsed_seconds,\n", + " \"final_physics_loss\": final_physics_loss,\n", + " }\n", + "\n", + "\n", + "def config_label(config):\n", + " return (\n", + " f\"width={config.width}, layers={config.hidden_layers}, \"\n", + " f\"lr={config.learning_rate:.2e}\"\n", + " )\n", + "\n", + "\n", + "def config_key(config):\n", + " return (config.width, config.hidden_layers, config.learning_rate)" + ] + }, + { + "cell_type": "markdown", + "id": "validation-suite", + "metadata": {}, + "source": [ + "## 5. Fix the validation suite\n", + "\n", + "The validation cases are fixed before searching. Cases with an almost-zero initial condition are excluded because relative error becomes unstable when the reference norm is nearly zero. This is a metric-domain decision, not a removal of inconvenient model failures.\n", + "\n", + "These cases are independent evaluation points inside the parameter domain. Calling them wholly 'unseen' would be misleading: fitting continuously samples the same domain and may encounter nearby points, although it never receives their exact solution values.\n", + "\n", + "Only the audit seed is declared at this stage. The audit cases themselves are not generated or evaluated until model selection is complete." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "make-validation-suite", + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-17T09:01:08.692340Z", + "iopub.status.busy": "2026-08-17T09:01:08.692164Z", + "iopub.status.idle": "2026-08-17T09:01:08.702384Z", + "shell.execute_reply": "2026-08-17T09:01:08.701469Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Fixed validation suite ranges:\n", + " a1 : -0.811 to 0.836\n", + " a2 : -0.935 to 0.703\n", + " kappa: 0.051 to 0.179\n" + ] + } + ], + "source": [ + "validation_cases = make_parameter_cases(\n", + " experiment.validation_case_seed,\n", + " experiment.validation_case_count,\n", + " problem,\n", + ")\n", + "validation_array = np.asarray(validation_cases)\n", + "print(\"Fixed validation suite ranges:\")\n", + "for name, values in zip((\"a1\", \"a2\", \"kappa\"), validation_array.T):\n", + " print(f\" {name:5s}: {values.min(): .3f} to {values.max(): .3f}\")" + ] + }, + { + "cell_type": "markdown", + "id": "random-search", + "metadata": {}, + "source": [ + "## 6. Establish a transparent random-search baseline\n", + "\n", + "Random search makes the mechanics visible: sample a configuration, fit it under the declared budget, evaluate it on validation cases, and retain the record. It is also a meaningful baseline for judging whether a more elaborate search strategy helped.\n", + "\n", + "All candidates use the same fitting seed during this exploratory search. That is a deliberate variance-reduction device, not evidence that one seed is sufficient for the final comparison." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "random-search-code", + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-17T09:01:08.703902Z", + "iopub.status.busy": "2026-08-17T09:01:08.703704Z", + "iopub.status.idle": "2026-08-17T09:01:19.820809Z", + "shell.execute_reply": "2026-08-17T09:01:19.819568Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 0 width=8, layers=1, lr=1.09e-03 val=1.121e+00 time=1.35s\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 1 width=64, layers=4, lr=2.80e-03 val=9.910e-02 time=1.73s\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 2 width=64, layers=4, lr=5.15e-04 val=1.908e-01 time=1.74s\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 3 width=32, layers=1, lr=1.86e-03 val=5.049e-01 time=1.02s\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 4 width=8, layers=1, lr=2.52e-03 val=7.258e-01 time=1.17s\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 5 width=64, layers=2, lr=3.02e-04 val=8.843e-01 time=1.26s\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 6 width=64, layers=1, lr=3.65e-04 val=1.129e+00 time=0.99s\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 7 width=32, layers=1, lr=1.18e-03 val=8.864e-01 time=0.90s\n" + ] + } + ], + "source": [ + "def sample_model_config(rng, experiment):\n", + " log_learning_rate = rng.uniform(\n", + " math.log(experiment.learning_rate_min),\n", + " math.log(experiment.learning_rate_max),\n", + " )\n", + " return ModelConfig(\n", + " width=int(rng.choice(experiment.width_options)),\n", + " hidden_layers=int(rng.integers(\n", + " experiment.hidden_layers_min,\n", + " experiment.hidden_layers_max + 1,\n", + " )),\n", + " learning_rate=float(math.exp(log_learning_rate)),\n", + " )\n", + "\n", + "\n", + "random_generator = np.random.default_rng(experiment.random_search_seed)\n", + "random_records = []\n", + "for trial_number in range(experiment.trials_per_method):\n", + " model_config = sample_model_config(random_generator, experiment)\n", + " result = run_configuration(\n", + " model_config,\n", + " training_seed=experiment.common_search_seed,\n", + " epochs=experiment.search_epochs,\n", + " problem=problem,\n", + " experiment=experiment,\n", + " validation_cases=validation_cases,\n", + " device=device,\n", + " )\n", + " record = {\n", + " \"method\": \"random\",\n", + " \"trial\": trial_number,\n", + " \"config\": model_config,\n", + " \"validation_mean\": result[\"validation\"][\"mean\"],\n", + " \"validation_standard_deviation\": result[\"validation\"][\"standard_deviation\"],\n", + " \"validation_maximum\": result[\"validation\"][\"maximum\"],\n", + " \"parameter_count\": result[\"parameter_count\"],\n", + " \"elapsed_seconds\": result[\"elapsed_seconds\"],\n", + " \"final_physics_loss\": result[\"final_physics_loss\"],\n", + " }\n", + " random_records.append(record)\n", + " print(\n", + " f\"{trial_number:2d} {config_label(model_config):42s} \"\n", + " f\"val={record['validation_mean']:.3e} \"\n", + " f\"time={record['elapsed_seconds']:.2f}s\"\n", + " )" + ] + }, + { + "cell_type": "markdown", + "id": "inspect-random", + "metadata": {}, + "source": [ + "### Check what the objective hides\n", + "\n", + "The scalar objective is required by the search algorithm, but it is not the whole result. Compare mean and worst-case validation error, last-batch physics loss, parameter count, and runtime. A configuration can look attractive under one criterion and poor under another." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "random-search-plot", + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-17T09:01:19.823446Z", + "iopub.status.busy": "2026-08-17T09:01:19.822994Z", + "iopub.status.idle": "2026-08-17T09:01:20.213508Z", + "shell.execute_reply": "2026-08-17T09:01:20.212732Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "trial mean error worst case last-batch loss parameters time\n", + " 1 9.910e-02 1.685e-01 3.586e-02 12929 1.73s\n", + " 2 1.908e-01 5.964e-01 4.440e-01 12929 1.74s\n", + " 3 5.049e-01 1.482e+00 1.228e+00 225 1.02s\n", + " 4 7.258e-01 2.014e+00 1.961e+00 57 1.17s\n", + " 5 8.843e-01 2.297e+00 2.960e+00 4609 1.26s\n", + " 7 8.864e-01 2.298e+00 2.971e+00 225 0.90s\n", + " 0 1.121e+00 2.790e+00 4.225e+00 57 1.35s\n", + " 6 1.129e+00 2.763e+00 4.468e+00 449 0.99s\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, axes = plt.subplots(1, 2, figsize=(11, 4))\n", + "axes[0].scatter(\n", + " [record[\"parameter_count\"] for record in random_records],\n", + " [record[\"validation_mean\"] for record in random_records],\n", + ")\n", + "axes[0].set(\n", + " xscale=\"log\", yscale=\"log\", xlabel=\"trainable parameters\",\n", + " ylabel=r\"mean validation relative $L^2$ error\",\n", + " title=\"Accuracy versus model size\",\n", + ")\n", + "axes[1].scatter(\n", + " [record[\"elapsed_seconds\"] for record in random_records],\n", + " [record[\"validation_mean\"] for record in random_records],\n", + ")\n", + "axes[1].set(\n", + " yscale=\"log\", xlabel=\"training time (s)\",\n", + " ylabel=r\"mean validation relative $L^2$ error\",\n", + " title=\"Accuracy versus measured cost\",\n", + ")\n", + "fig.tight_layout()\n", + "\n", + "print(\"trial mean error worst case last-batch loss parameters time\")\n", + "for record in sorted(random_records, key=lambda item: item[\"validation_mean\"]):\n", + " print(\n", + " f\"{record['trial']:5d} {record['validation_mean']:.3e} \"\n", + " f\"{record['validation_maximum']:.3e} \"\n", + " f\"{record['final_physics_loss']:.3e} \"\n", + " f\"{record['parameter_count']:7d} \"\n", + " f\"{record['elapsed_seconds']:5.2f}s\"\n", + " )" + ] + }, + { + "cell_type": "markdown", + "id": "optuna", + "metadata": {}, + "source": [ + "## 7. Replace candidate generation with Optuna\n", + "\n", + "Only candidate generation changes. The model, fitting budget, training seed, validation suite, and objective remain identical. This isolation is important: changing the search method and the experiment at the same time would make the comparison uninterpretable.\n", + "\n", + "The TPE sampler begins with four startup trials before using its observations to guide later proposals. Eight trials are enough to illustrate the workflow, not enough to establish that TPE is generally superior to random search.\n", + "\n", + "Pruning is deliberately disabled. Every candidate receives the declared budget, so an architecture that learns slowly is not silently compared with another architecture that trained longer. Pruning can save computation, but it introduces an additional policy that must itself be justified and validated." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "optuna-objective", + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-17T09:01:20.215222Z", + "iopub.status.busy": "2026-08-17T09:01:20.215077Z", + "iopub.status.idle": "2026-08-17T09:01:20.219010Z", + "shell.execute_reply": "2026-08-17T09:01:20.218019Z" + } + }, + "outputs": [], + "source": [ + "def optuna_objective(\n", + " trial, *, problem, experiment, validation_cases, device\n", + "):\n", + " model_config = ModelConfig(\n", + " width=trial.suggest_categorical(\n", + " \"width\", list(experiment.width_options)\n", + " ),\n", + " hidden_layers=trial.suggest_int(\n", + " \"hidden_layers\",\n", + " experiment.hidden_layers_min,\n", + " experiment.hidden_layers_max,\n", + " ),\n", + " learning_rate=trial.suggest_float(\n", + " \"learning_rate\",\n", + " experiment.learning_rate_min,\n", + " experiment.learning_rate_max,\n", + " log=True,\n", + " ),\n", + " )\n", + " result = run_configuration(\n", + " model_config,\n", + " training_seed=experiment.common_search_seed,\n", + " epochs=experiment.search_epochs,\n", + " problem=problem,\n", + " experiment=experiment,\n", + " validation_cases=validation_cases,\n", + " device=device,\n", + " )\n", + " trial.set_user_attr(\"validation_standard_deviation\", result[\"validation\"][\"standard_deviation\"])\n", + " trial.set_user_attr(\"validation_maximum\", result[\"validation\"][\"maximum\"])\n", + " trial.set_user_attr(\"parameter_count\", result[\"parameter_count\"])\n", + " trial.set_user_attr(\"elapsed_seconds\", result[\"elapsed_seconds\"])\n", + " trial.set_user_attr(\"final_physics_loss\", result[\"final_physics_loss\"])\n", + " return result[\"validation\"][\"mean\"]" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "run-optuna", + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-17T09:01:20.221010Z", + "iopub.status.busy": "2026-08-17T09:01:20.220867Z", + "iopub.status.idle": "2026-08-17T09:01:29.974602Z", + "shell.execute_reply": "2026-08-17T09:01:29.973638Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 0 width=32, layers=3, lr=1.43e-03 val=1.534e-01 time=1.21s\n", + " 1 width=8, layers=4, lr=1.10e-03 val=4.756e-01 time=1.27s\n", + " 2 width=64, layers=3, lr=1.43e-03 val=1.100e-01 time=1.41s\n", + " 3 width=16, layers=4, lr=6.66e-04 val=4.021e-01 time=1.37s\n", + " 4 width=64, layers=1, lr=3.29e-03 val=2.453e-01 time=1.01s\n", + " 5 width=64, layers=1, lr=3.50e-04 val=1.133e+00 time=1.05s\n", + " 6 width=64, layers=2, lr=3.56e-03 val=9.329e-02 time=1.27s\n", + " 7 width=32, layers=2, lr=3.96e-03 val=1.225e-01 time=1.10s\n" + ] + } + ], + "source": [ + "sampler = optuna.samplers.TPESampler(\n", + " seed=experiment.optuna_sampler_seed, n_startup_trials=4\n", + ")\n", + "study = optuna.create_study(direction=\"minimize\", sampler=sampler)\n", + "study.optimize(\n", + " lambda trial: optuna_objective(\n", + " trial,\n", + " problem=problem,\n", + " experiment=experiment,\n", + " validation_cases=validation_cases,\n", + " device=device,\n", + " ),\n", + " n_trials=experiment.trials_per_method,\n", + ")\n", + "\n", + "optuna_records = []\n", + "for trial in study.trials:\n", + " model_config = ModelConfig(**trial.params)\n", + " record = {\n", + " \"method\": \"TPE\",\n", + " \"trial\": trial.number,\n", + " \"config\": model_config,\n", + " \"validation_mean\": trial.value,\n", + " **trial.user_attrs,\n", + " }\n", + " optuna_records.append(record)\n", + " print(\n", + " f\"{trial.number:2d} {config_label(model_config):42s} \"\n", + " f\"val={trial.value:.3e} \"\n", + " f\"time={record['elapsed_seconds']:.2f}s\"\n", + " )" + ] + }, + { + "cell_type": "markdown", + "id": "compare-searches", + "metadata": {}, + "source": [ + "## 8. Compare searches under the same trial budget\n", + "\n", + "The best-so-far curve answers a narrow question: how quickly did each run find a low validation score under this particular search seed and budget? It does not establish an ordering of search algorithms. That would require repeated searches, not merely repeated model training." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "compare-searches-plot", + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-17T09:01:29.976472Z", + "iopub.status.busy": "2026-08-17T09:01:29.976322Z", + "iopub.status.idle": "2026-08-17T09:01:30.145573Z", + "shell.execute_reply": "2026-08-17T09:01:30.144700Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "random: width=64, layers=4, lr=2.80e-03; validation=9.910e-02\n", + "TPE : width=64, layers=2, lr=3.56e-03; validation=9.329e-02\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "def best_so_far(records):\n", + " values = np.asarray([record[\"validation_mean\"] for record in records])\n", + " return np.minimum.accumulate(values)\n", + "\n", + "\n", + "fig, ax = plt.subplots(figsize=(7, 4))\n", + "trial_numbers = np.arange(1, experiment.trials_per_method + 1)\n", + "ax.plot(trial_numbers, best_so_far(random_records), marker=\"o\", label=\"random\")\n", + "ax.plot(trial_numbers, best_so_far(optuna_records), marker=\"o\", label=\"Optuna TPE\")\n", + "ax.set(\n", + " yscale=\"log\", xlabel=\"completed trials\",\n", + " ylabel=r\"best mean validation relative $L^2$ error\",\n", + " title=\"Best score found under an equal trial budget\",\n", + ")\n", + "ax.legend()\n", + "fig.tight_layout()\n", + "\n", + "for method, records in ((\"random\", random_records), (\"TPE\", optuna_records)):\n", + " best_record = min(records, key=lambda record: record[\"validation_mean\"])\n", + " print(\n", + " f\"{method:6s}: {config_label(best_record['config'])}; \"\n", + " f\"validation={best_record['validation_mean']:.3e}\"\n", + " )" + ] + }, + { + "cell_type": "markdown", + "id": "confirmation", + "metadata": {}, + "source": [ + "## 9. Confirm a shortlist across fresh seeds\n", + "\n", + "Selecting the single best exploratory trial would reward luck. We take the three best distinct configurations across both searches and train each from scratch with the same three fresh seeds and a larger epoch budget. Sharing confirmation seeds creates paired comparisons: every configuration faces the same sources of training randomness.\n", + "\n", + "The larger epoch budget is declared for every shortlisted configuration. Applying it only to the apparent winner would confound configuration with training effort." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "make-shortlist", + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-17T09:01:30.147803Z", + "iopub.status.busy": "2026-08-17T09:01:30.147650Z", + "iopub.status.idle": "2026-08-17T09:01:30.152173Z", + "shell.execute_reply": "2026-08-17T09:01:30.151212Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Shortlist chosen without audit evidence:\n", + " C1: width=64, layers=2, lr=3.56e-03\n", + " C2: width=64, layers=4, lr=2.80e-03\n", + " C3: width=64, layers=3, lr=1.43e-03\n" + ] + } + ], + "source": [ + "all_search_records = sorted(\n", + " random_records + optuna_records,\n", + " key=lambda record: record[\"validation_mean\"],\n", + ")\n", + "shortlist = []\n", + "seen_configurations = set()\n", + "for record in all_search_records:\n", + " key = config_key(record[\"config\"])\n", + " if key in seen_configurations:\n", + " continue\n", + " seen_configurations.add(key)\n", + " shortlist.append(record[\"config\"])\n", + " if len(shortlist) == 3:\n", + " break\n", + "\n", + "print(\"Shortlist chosen without audit evidence:\")\n", + "for index, model_config in enumerate(shortlist, start=1):\n", + " print(f\" C{index}: {config_label(model_config)}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "run-confirmation", + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-17T09:01:30.153588Z", + "iopub.status.busy": "2026-08-17T09:01:30.153456Z", + "iopub.status.idle": "2026-08-17T09:02:10.845425Z", + "shell.execute_reply": "2026-08-17T09:02:10.844125Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "candidate mean validation ± seed SD parameters mean time\n", + "C1 6.144e-02 ± 1.87e-02 4609 3.88s\n", + "C2 5.619e-02 ± 3.31e-03 12929 5.15s\n", + "C3 6.376e-02 ± 8.62e-03 8769 4.51s\n" + ] + } + ], + "source": [ + "confirmation_records = []\n", + "confirmation_runs = {}\n", + "for candidate_number, model_config in enumerate(shortlist, start=1):\n", + " runs = []\n", + " for training_seed in experiment.confirmation_seeds:\n", + " result = run_configuration(\n", + " model_config,\n", + " training_seed=training_seed,\n", + " epochs=experiment.confirmation_epochs,\n", + " problem=problem,\n", + " experiment=experiment,\n", + " validation_cases=validation_cases,\n", + " device=device,\n", + " )\n", + " run_record = {\n", + " \"candidate\": candidate_number,\n", + " \"config\": model_config,\n", + " \"training_seed\": training_seed,\n", + " \"validation_mean\": result[\"validation\"][\"mean\"],\n", + " \"elapsed_seconds\": result[\"elapsed_seconds\"],\n", + " \"parameter_count\": result[\"parameter_count\"],\n", + " \"model\": result[\"model\"],\n", + " }\n", + " runs.append(run_record)\n", + " confirmation_records.append(run_record)\n", + " confirmation_runs[config_key(model_config)] = runs\n", + "\n", + "confirmation_summary = []\n", + "for candidate_number, model_config in enumerate(shortlist, start=1):\n", + " runs = confirmation_runs[config_key(model_config)]\n", + " scores = [run[\"validation_mean\"] for run in runs]\n", + " summary = {\n", + " \"candidate\": candidate_number,\n", + " \"config\": model_config,\n", + " \"mean\": statistics.fmean(scores),\n", + " \"standard_deviation\": statistics.stdev(scores),\n", + " \"minimum\": min(scores),\n", + " \"maximum\": max(scores),\n", + " \"parameter_count\": runs[0][\"parameter_count\"],\n", + " \"mean_time\": statistics.fmean(\n", + " run[\"elapsed_seconds\"] for run in runs\n", + " ),\n", + " }\n", + " confirmation_summary.append(summary)\n", + "\n", + "print(\"candidate mean validation ± seed SD parameters mean time\")\n", + "for summary in confirmation_summary:\n", + " print(\n", + " f\"C{summary['candidate']:<8d}\"\n", + " f\"{summary['mean']:.3e} ± {summary['standard_deviation']:.2e}\"\n", + " f\" {summary['parameter_count']:7d}\"\n", + " f\" {summary['mean_time']:6.2f}s\"\n", + " )" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "confirmation-plot", + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-17T09:02:10.847272Z", + "iopub.status.busy": "2026-08-17T09:02:10.847097Z", + "iopub.status.idle": "2026-08-17T09:02:11.023266Z", + "shell.execute_reply": "2026-08-17T09:02:11.022060Z" + } + }, + "outputs": [ + { + "data": { + "image/png": "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4XO3a9fO9vLLL5vH279/v+2RRx6xZc2a1bZ27Vq396uz98Sd15ja++3q67+VlD5rqb2nGzZsMM+t/wv6Wb9w4YLtxx9/tOXJkyfRYzij61N6P/r3728e9/HHH7fNnTvXdvbsWdunn36abLu4uDizz55//nlbaGiobd26dY51w4cPN+129rhPP/207aeffjLv1+LFi225cuWy9ejRI9G2Vu8/a9YsW1BQkG3gwIG2o0eP2g4fPmx75plnbA899JB5XP1MpaZixYrmM6SfndjYWNu///5rGzlyZKLPkKv739XtdF9rm7Wd2uZDhw6Zz5GzNrvSPt1e76fH11ux79tOnTo59u2KFStsJUqUsFWvXt127do1p/dL7TOQ2ufIlfZ7+r648zlZsGCB+T/o2rWr2V96HNDjju43/c5QV65csYWHh9teeeWVRP/3ERERZrvdu3c7lpcuXdocU1zZ1/q+LFq0yLTviy++MI81c+ZM8x32yy+/mOVfffWV+UxMmTIl0WN48r/vynvlyj5zlX7v6mfXXXreoMd6bcetvPvuu2a/6XHSmfj4ePMaKleu7HY7/BGBBdKcHhz1n3LhwoUubb9582azfcIDrNKDsR54EwYBenKm/9B6wpTwwFa8eHFzkmglsNADugYOCdlPwPRAm9BHH31klnfs2DHR8qlTp5rlO3fuvOXrHjFihC1nzpweBxajR482y/744w+ngZ39ceyv4cEHH0y03V9//WWWT58+PdV22u/fqFGjZOs8CSxcaYcGefpF7y32527SpEmi5Xpio5+Hxo0bu71fUwssXHmNqb3f3n79ST9rqb2n9erVM0GVnmAlNGHCBHOypCfTngYW+pzOgomUaIDXt2/fWwYGuuzrr79OtPy5556zZcmSJdHrsHr/22+/3VajRo1k7axateotAwsNDnUbPUakxtX97+p2etJcrVq1ZCdGlSpVStRmV9vnDvu+/fzzzxMt1+8GXf7ZZ5+5/RlI6XPkaftdvZ87nxPdtxUqVHBchEh4cqvfX5cvXzZ/6/Ho7rvvdqzXCxB9+vSx5cuXz3zHKA0w9Hk/+eQTl9r37bffJlpev359c3KvwURCenypVauW1/73U3uvXNlnzti/X1y56YXA1Bw4cMDsa91WA9tHH33UBBB6IdHdwELdcccd5oINbDaGQsHn/Prrr+Znhw4dEi3Xbtx7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8t577zn+1uFPOoHGU089ZXorJk2a5K02AgAAAPCnmbeRNph5GwAAAJn9PNXjHourV69Kt27dZMmSJRIfH+/pwwAAAADwAx4HFloJ6tSpU/Lggw9K8eLFZciQIbJx40bvtg4AAACAfwcWOrP2ggULTCWoV155RVavXm0StnWSvDFjxsihQ4e821IAAAAAgZFjsXfvXjN/xeeff256My5evOith/Zr5FgAAAAgYHMsktIJ8nTm7c2bN5tejPz583vroQEAAAD4OEuBhSZtr1ixQnr16iVFihSRJ554wpShnT17tuzZs8d7rQQAAADg00KtzLxdoUIFOX78uDRt2lQmTpwo7du3l+zZs3u3hQAAAAD8t8ciKChIXnzxRTl69Kj88ssv0rVrV4IKEbl+/bq88cYbUrNmTVMxa+3atV59wwAAAAC/6rHQIU+DBg3ybmv8gM44rvnw06ZNk1WrVkmbNm3k5MmTJhADAAAA/JVPzLx95syZZBWktJxt0aJF0+T5Ll26JKdPnzbzb4SGOo+tNPP9xo0bUqBAAbceOy4uzszxYZ9EUJ9DK2QFB6fcOURVKAAAAPiiDKkKZcXw4cPN/Bf333+/49a9e3evP49WrerZs6c52S9TpowcOHAg2TYnTpyQZs2aScGCBaVkyZJmbo7t27c71v/8889Svnz5ZLd69eqZ9fagQuM17dEZPXp0qkEFAAAAENBDobytZcuW8sMPP3jUM+DKcvXjjz9KnTp15PHHHzcJ585orsjly5dNL0N4eLh069ZN2rZta4IL7UW57777ZOHChcnul7DnQ3s6nn76aalbt6706dPH5dcEAAAAZFY+dSldcxF0+NCtzJw50/QqJN32jz/+kEqVKsn58+ed3m/kyJGmNG5Klat2794tS5cuNcnX2uWjeSRvv/22mfhv8eLFZpscOXI47bEoXbq0Wa/dRK1bt5bmzZtL//79PdgLAAAAQAD2WOzcuVPWr1+f7GRer+737t3b5ceZNWuW/Prrryb/oVq1aiYJulatWk63bdWqlYwfP94kRs+fP9/0LKxZs8b0euiwqjx58nj0WvR1qPr16zuWacBQrFgxs04Dhlt55513TNK2BiMjRowwy7QylLNcDX2NetNeFgAAACBgA4sPP/xQBg8eLIUKFTJX+BPSXgFXAwsdnqRX96tWrWoCC/1dr/hv27ZNIiMj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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, ax = plt.subplots(figsize=(8, 4))\n", + "positions = np.arange(1, len(confirmation_summary) + 1)\n", + "for position, summary in zip(positions, confirmation_summary):\n", + " scores = [\n", + " run[\"validation_mean\"]\n", + " for run in confirmation_runs[config_key(summary[\"config\"])]\n", + " ]\n", + " ax.scatter(np.full(len(scores), position), scores, color=\"tab:blue\", zorder=3)\n", + " ax.errorbar(\n", + " position, summary[\"mean\"], yerr=summary[\"standard_deviation\"],\n", + " color=\"black\", capsize=5, marker=\"_\", markersize=14,\n", + " )\n", + "ax.set(\n", + " xticks=positions,\n", + " xticklabels=[f\"C{index}\" for index in positions],\n", + " yscale=\"log\",\n", + " ylabel=r\"mean validation relative $L^2$ error\",\n", + " title=\"Confirmation runs: points are training seeds; bars show mean ± SD\",\n", + ")\n", + "fig.tight_layout()" + ] + }, + { + "cell_type": "markdown", + "id": "freeze", + "metadata": {}, + "source": [ + "## 10. Freeze the choice, then run the final audit\n", + "\n", + "The declared selection rule is the lowest mean confirmation validation error. The standard deviation indicates sensitivity to training randomness; with only three seeds, it is descriptive rather than a precise uncertainty estimate. Small differences should not be promoted into strong architectural conclusions.\n", + "\n", + "After the next cell evaluates the audit suite, **do not** use its result to revise the architecture, learning rate, seeds, epoch budget, or metric. Doing so would turn the audit suite into another validation suite. A revised experiment needs a fresh audit suite." + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "select-configuration", + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-17T09:02:11.025164Z", + "iopub.status.busy": "2026-08-17T09:02:11.024955Z", + "iopub.status.idle": "2026-08-17T09:02:11.029199Z", + "shell.execute_reply": "2026-08-17T09:02:11.028172Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Frozen selection:\n", + " C2: width=64, layers=4, lr=2.80e-03\n", + " confirmation validation = 5.619e-02 ± 3.31e-03 across seeds\n" + ] + } + ], + "source": [ + "selected_summary = min(confirmation_summary, key=lambda summary: summary[\"mean\"])\n", + "selected_config = selected_summary[\"config\"]\n", + "print(\"Frozen selection:\")\n", + "print(f\" C{selected_summary['candidate']}: {config_label(selected_config)}\")\n", + "print(\n", + " f\" confirmation validation = {selected_summary['mean']:.3e} \"\n", + " f\"± {selected_summary['standard_deviation']:.2e} across seeds\"\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "audit", + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-17T09:02:11.030936Z", + "iopub.status.busy": "2026-08-17T09:02:11.030799Z", + "iopub.status.idle": "2026-08-17T09:02:11.051573Z", + "shell.execute_reply": "2026-08-17T09:02:11.050638Z" + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "seed validation mean audit mean audit maximum\n", + " 10007 5.563e-02 6.081e-02 8.194e-02\n", + " 10009 5.975e-02 4.795e-02 1.135e-01\n", + " 10037 5.320e-02 4.953e-02 1.105e-01\n", + "Validation across seeds: 5.619e-02 ± 3.31e-03\n", + "Final audit across seeds: 5.276e-02 ± 7.02e-03\n" + ] + } + ], + "source": [ + "audit_cases = make_parameter_cases(\n", + " experiment.audit_case_seed,\n", + " experiment.audit_case_count,\n", + " problem,\n", + ")\n", + "selected_runs = confirmation_runs[config_key(selected_config)]\n", + "audit_records = []\n", + "for run in selected_runs:\n", + " audit_score = score_cases(\n", + " run[\"model\"], audit_cases, problem, experiment, device\n", + " )\n", + " audit_records.append({\n", + " \"training_seed\": run[\"training_seed\"],\n", + " \"validation_mean\": run[\"validation_mean\"],\n", + " \"audit_mean\": audit_score[\"mean\"],\n", + " \"audit_maximum\": audit_score[\"maximum\"],\n", + " })\n", + "\n", + "print(\"seed validation mean audit mean audit maximum\")\n", + "for record in audit_records:\n", + " print(\n", + " f\"{record['training_seed']:8d} \"\n", + " f\"{record['validation_mean']:.3e} \"\n", + " f\"{record['audit_mean']:.3e} \"\n", + " f\"{record['audit_maximum']:.3e}\"\n", + " )\n", + "\n", + "validation_scores = [record[\"validation_mean\"] for record in audit_records]\n", + "audit_scores = [record[\"audit_mean\"] for record in audit_records]\n", + "print(\n", + " \"Validation across seeds: \"\n", + " f\"{statistics.fmean(validation_scores):.3e} ± \"\n", + " f\"{statistics.stdev(validation_scores):.2e}\"\n", + ")\n", + "print(\n", + " \"Final audit across seeds: \"\n", + " f\"{statistics.fmean(audit_scores):.3e} ± \"\n", + " f\"{statistics.stdev(audit_scores):.2e}\"\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "checks", + "metadata": {}, + "source": [ + "## 11. Checks and interpretation exercise\n", + "\n", + "**Timebox: 10 minutes.** Use the executed evidence rather than the trial ranking alone.\n", + "\n", + "1. Did the configuration with the best exploratory score remain best across fresh seeds? Explain why either outcome is plausible.\n", + "2. Are the confirmation differences large relative to their seed-to-seed variability? What claim is justified, and what stronger claim is not?\n", + "3. Did TPE find a better candidate than random search under this one equal trial budget? Why does that not establish that TPE is the better algorithm in general?\n", + "4. Which configuration would you choose if training time or parameter count were a hard constraint? State the constraint before choosing.\n", + "5. Why would replacing validation solution error with training residual change the scientific meaning of the objective?\n", + "6. If the audit result is disappointing, what may be reported now, and what must wait for a new experiment with a fresh audit suite?\n", + "\n", + "### Optional transfer task\n", + "\n", + "Redesign the budget as a fixed wall-clock limit rather than fixed optimizer steps. Predict which architectures this favors, then explain how you would keep the comparison reproducible on machines with different performance. Do not implement the change until the decision rule and timing protocol are written down." + ] + }, + { + "cell_type": "markdown", + "id": "reference-discussion", + "metadata": {}, + "source": [ + "### Reference discussion for the recorded run\n", + "\n", + "Exact values may change with PyTorch versions and hardware, but the interpretation should follow the same rules.\n", + "\n", + "1. The best exploratory score was C1, the TPE proposal with width 64 and two hidden layers ($9.329\\times10^{-2}$). After longer training with fresh seeds, C2, the random-search proposal with four hidden layers, had the lowest mean validation error ($5.619\\times10^{-2}$). The longer budget and training randomness can both change the ranking; the exploratory score was a screening result, not a final estimate.\n", + "2. C2's seed standard deviation was $3.31\\times10^{-3}$, while C1's was $1.87\\times10^{-2}$. C2 was better under the declared mean-error rule and less variable in these three runs. Three seeds are still too few to claim that four layers are generally optimal.\n", + "3. Under this one eight-trial search, TPE found $9.329\\times10^{-2}$ and random search found $9.910\\times10^{-2}$. The difference is small and the search algorithms themselves were not repeated, so this is not evidence of general TPE superiority.\n", + "4. Under the declared error-only rule, C2 is selected. With a limit of 5,000 parameters, C2 is ineligible and C1, with 4,609 parameters, becomes the best confirmed eligible candidate. This conclusion is valid only because the constraint is stated before choosing.\n", + "5. The last-batch physics loss is a noisy, local training diagnostic. The validation error compares complete predicted trajectories with an independent reference. The table shows correlation in this run, but the quantities are not interchangeable.\n", + "6. The audit mean was $5.276\\times10^{-2}$ with a seed standard deviation of $7.02\\times10^{-3}$. That is the final reported estimate for this experiment. If it had been disappointing, the honest response would be to report it, design a revised experiment, and reserve a new audit suite—not tune against this one.\n", + "\n", + "For the transfer task, a wall-clock budget will usually favor smaller models, but timing is machine- and load-dependent. A defensible protocol needs a specified hardware and software environment, warm-up policy, repeated timings, and a rule for handling noise or interruptions." + ] + }, + { + "cell_type": "markdown", + "id": "next-steps", + "metadata": {}, + "source": [ + "## 12. Takeaways and limitations\n", + "\n", + "- Hyperparameter optimization is an experimental design problem before it is a framework problem. The objective, evidence split, stochastic repetitions, and budget determine what the result means.\n", + "- A small plain-Python random search exposes the mechanism and provides a baseline. Optuna then changes candidate generation without hiding the rest of the experiment.\n", + "- The best exploratory trial is subject to winner's curse: searching many noisy outcomes preferentially selects an optimistic one. Fresh-seed confirmation reduces this risk.\n", + "- Confirmation seeds address training variability. They do not repair an unrepresentative validation suite or establish that the chosen search algorithm is universally superior.\n", + "- The final audit estimates performance on another fixed sample from the in-range parameter domain. It says nothing about extrapolation beyond that domain.\n", + "- Equal epochs and batches are not equal compute. If accuracy, runtime, memory, and model size all matter, declare a constraint or a multi-objective decision rule rather than selecting one after seeing the plot.\n", + "- This heat equation has an analytical solution and does not need a PINN. That makes it valuable for controlled teaching, but it is not evidence that PINNs outperform conventional solvers.\n", + "\n", + "## References\n", + "\n", + "- [Optuna: efficient optimization algorithms](https://optuna.readthedocs.io/en/stable/tutorial/10_key_features/003_efficient_optimization_algorithms.html)\n", + "- J. Bergstra and Y. Bengio, [Random Search for Hyper-Parameter Optimization](https://www.jmlr.org/papers/v13/bergstra12a.html), *Journal of Machine Learning Research* 13 (2012).\n", + "- M. Raissi, P. Perdikaris, and G. E. Karniadakis, [Physics-informed neural networks](https://doi.org/10.1016/j.jcp.2018.10.045), *Journal of Computational Physics* 378 (2019)." + ] + } + ], + "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.14.6" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From faba0ddcf6fce6298552fac06f06ed8dfc0434cd Mon Sep 17 00:00:00 2001 From: Geert Jan Bex Date: Tue, 18 Aug 2026 10:14:17 +0200 Subject: [PATCH 08/33] Remove hyperopt examples --- source-code/parameter-optimization/README.md | 25 +- .../continuous_process.py | 38 - .../{optuna => }/experiments.ipynb | 0 .../parameter-optimization/hyperopt_imize.py | 54 -- .../parameter-optimization/optuna/README.md | 9 - .../parameter_optimization.ipynb | 883 ------------------ .../{optuna => }/simple.py | 0 7 files changed, 11 insertions(+), 998 deletions(-) delete mode 100755 source-code/parameter-optimization/continuous_process.py rename source-code/parameter-optimization/{optuna => }/experiments.ipynb (100%) delete mode 100755 source-code/parameter-optimization/hyperopt_imize.py delete mode 100644 source-code/parameter-optimization/optuna/README.md delete mode 100644 source-code/parameter-optimization/parameter_optimization.ipynb rename source-code/parameter-optimization/{optuna => }/simple.py (100%) diff --git a/source-code/parameter-optimization/README.md b/source-code/parameter-optimization/README.md index 5ca62d5..baa3041 100644 --- a/source-code/parameter-optimization/README.md +++ b/source-code/parameter-optimization/README.md @@ -1,17 +1,14 @@ -# Parameter Optimization +# Parameter optimization -Here a number of implementations of algorithms to find optimal -values a in parameter space are explored. +Hyperparameter optimization is the process of finding the best hyperparameters +for a machine learning model. Hyperparameters are parameters that are set +before training a model and can significantly affect the performance of the +model. -## What is it? +Optuna is a Python framework for automated hyperparameter optimization. - 1. `parameter_optimization.ipynb`: Jupyter notebook - illustrating the hyperopt and the BayianOptimization module. - 1. `continuous_process.py`: Python script that takes x and y - y values as `--x` and `--y` options, and prints the value of - the function to optimize to standard output. - 1. `hyperopt_imize.py`: Illustrates using the hyperopt TPE - algorithm to optimize the parameters for an application, i.e., - `continuous_process.py`. - 1. `optuna`: illustrations of using Optuna for hyperparameter - optimization. + +## what is it? + +1. `simple.py`: very simple example of how to use Optuna to optimize a function. +1. `experiments.ipynb`: some experiments on more complicated function optimization. diff --git a/source-code/parameter-optimization/continuous_process.py b/source-code/parameter-optimization/continuous_process.py deleted file mode 100755 index 849ed61..0000000 --- a/source-code/parameter-optimization/continuous_process.py +++ /dev/null @@ -1,38 +0,0 @@ -#!/usr/bin/env python - -from argparse import ArgumentParser -from math import cos, exp, pi, sqrt -import sys - - -def function(x, y): - x0, y0 = 1.2, 0.7 - r = sqrt((x - x0)**2 + (y - y0)**2) - return 1.0 - abs(cos(2.0*pi*r))*exp(-r) - - -def main(): - arg_parser = ArgumentParser(description='function to ' - 'optimize') - arg_parser.add_argument('--x', type=float, help='x value') - arg_parser.add_argument('--y', type=float, help='y value') - arg_parser.add_argument('--all', action='store_true', - help='print 2D function values') - options = arg_parser.parse_args() - if options.all: - n = 500 - x_min, y_min, x_max, y_max = -3.0, -3.0, 3.0, 3.0 - delta_x, delta_y = (x_max - x_min)/n, (y_max - y_min)/n - for i in range(500): - for j in range(500): - value = function(x_min + i*delta_x, - y_min + j*delta_y) - print(f'{value:<15.5e}', end='') - print() - else: - print(f'{function(options.x, options.y):15.5e}') - return 0 - - -if __name__ == '__main__': - sys.exit(main()) diff --git a/source-code/parameter-optimization/optuna/experiments.ipynb b/source-code/parameter-optimization/experiments.ipynb similarity index 100% rename from source-code/parameter-optimization/optuna/experiments.ipynb rename to source-code/parameter-optimization/experiments.ipynb diff --git a/source-code/parameter-optimization/hyperopt_imize.py b/source-code/parameter-optimization/hyperopt_imize.py deleted file mode 100755 index d7cca33..0000000 --- a/source-code/parameter-optimization/hyperopt_imize.py +++ /dev/null @@ -1,54 +0,0 @@ -#!/usr/bin/env python - -from argparse import ArgumentParser -from hyperopt import fmin, hp, STATUS_OK, tpe, Trials -import subprocess -import sys -import time - - -def function(params): - x, y = params - cmd = ['./continuous_process.py', '--x', str(x), - '--y', str(y)] - process = subprocess.run(cmd, stdout=subprocess.PIPE, - encoding='utf8') - return { - 'loss': float(process.stdout), 'time': time.time(), - 'x': x, 'y': y, 'status': STATUS_OK, - } - - -def optimize(max_evals): - space = (hp.uniform('x', -3.0, 3.0), - hp.uniform('y', -3.0, 3.0)) - trials = Trials() - best = fmin(function, space=space, algo=tpe.suggest, - max_evals=max_evals, trials=trials) - return best, trials - - -def main(): - arg_parser = ArgumentParser(description='optimize external ' - 'process') - arg_parser.add_argument('--max-evals', type=int, - default=100, help='maximum evals') - arg_parser.add_argument('--trials', action='store_true', - help='display trials') - options = arg_parser.parse_args() - best, trials = optimize(options.max_evals) - if options.trials: - print('x y value') - for trial in trials: - x = trial['result']['x'] - y = trial['result']['y'] - value = -trial['result']['loss'] - print(f'{x:6.3f} {y:6.3f} {value:10.3e}') - x, y = best['x'], best['y'] - value = function((x, y))['loss'] - print(f'# best: f({x:6.3f}, {y:6.3f}) = {-value:10.3e}') - return 0 - - -if __name__ == '__main__': - sys.exit(main()) diff --git a/source-code/parameter-optimization/optuna/README.md b/source-code/parameter-optimization/optuna/README.md deleted file mode 100644 index 9322a29..0000000 --- a/source-code/parameter-optimization/optuna/README.md +++ /dev/null @@ -1,9 +0,0 @@ -# Optuna - -Optuna is a Python framework for automated hyperparameter optimization. - - -## what is it? - -1. `simple.py`: very simple example of how to use Optuna to optimize a function. -1. `experiments.ipynb`: some experiments on more complicated function optimization. diff --git a/source-code/parameter-optimization/parameter_optimization.ipynb b/source-code/parameter-optimization/parameter_optimization.ipynb deleted file mode 100644 index 2b0307d..0000000 --- a/source-code/parameter-optimization/parameter_optimization.ipynb +++ /dev/null @@ -1,883 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Optimization using hyperopt and BaysianOptimization" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Common imports for all sections." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": { - "ExecuteTime": { - "end_time": "2018-12-22T14:52:33.848125Z", - "start_time": "2018-12-22T14:52:33.796833Z" - } - }, - "outputs": [], - "source": [ - "import matplotlib.pyplot as plt\n", - "%matplotlib inline\n", - "import numpy as np" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "heading_collapsed": true - }, - "source": [ - "## Function to optimize" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "hidden": true - }, - "source": [ - "Define the function to minimize." - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": { - "ExecuteTime": { - "end_time": "2018-12-22T17:10:17.670693Z", - "start_time": "2018-12-22T17:10:17.618853Z" - }, - "hidden": true - }, - "outputs": [], - "source": [ - "def function(x, y):\n", - " x0, y0 = 1.2, 0.7\n", - " r = np.sqrt((x - x0)**2 + (y - y0)**2)\n", - " return 1.0 - np.abs(np.cos(2.0*np.pi*r))*np.exp(-r)" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "hidden": true - }, - "source": [ - "Visualize the function." - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": { - "ExecuteTime": { - "end_time": "2018-12-22T17:10:19.724038Z", - "start_time": "2018-12-22T17:10:19.688429Z" - }, - "hidden": true - }, - "outputs": [], - "source": [ - "x = np.linspace(-3.0, 3.0, 101)\n", - "y = np.linspace(-3.0, 3.0, 101)\n", - "X, Y = np.meshgrid(x, y)\n", - "data = function(X, Y)" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": { - "ExecuteTime": { - "end_time": "2018-12-22T17:15:25.972634Z", - "start_time": "2018-12-22T17:15:25.457959Z" - }, - "hidden": true - }, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "_ = plt.imshow(data, origin='lower')\n", - "_ = plt.xticks(np.linspace(0, 100, 7, dtype=np.int32), np.linspace(-3.0, 3.0, 7))\n", - "_ = plt.yticks(np.linspace(0, 100, 7, dtype=np.int32), np.linspace(-3.0, 3.0, 7))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## hyperopt" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Required imports." - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": { - "ExecuteTime": { - "end_time": "2018-12-22T18:12:20.566589Z", - "start_time": "2018-12-22T18:12:20.547048Z" - }, - "scrolled": true - }, - "outputs": [], - "source": [ - "from hyperopt import fmin, hp, rand, STATUS_OK, tpe, Trials\n", - "from hyperopt.pyll.stochastic import sample\n", - "import time" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Sample space" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Define the optimization space. The two parameters are $x$ and $y$, and the sample points should be uniformly distributed in the intervals $x \\in [-3, 3]$ and $y \\in [-3, 3]$." - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": { - "ExecuteTime": { - "end_time": "2018-12-22T17:20:40.898954Z", - "start_time": "2018-12-22T17:20:40.862618Z" - } - }, - "outputs": [], - "source": [ - "space = (hp.uniform('x', -3.0, 3.0), hp.uniform('y', -3.0, 3.0))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "We can sample the space using the `sample` method, e.g.," - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": { - "ExecuteTime": { - "end_time": "2018-12-22T17:21:08.286212Z", - "start_time": "2018-12-22T17:21:08.249040Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "(1.2705149475081843, 2.9511352623203617)\n", - "(1.5987647157267206, -0.7543124296677615)\n", - "(0.889061703588971, 1.124895269215477)\n", - "(0.28101486839536527, 1.2672777984597383)\n", - "(2.0650550342215706, 1.4610177583744397)\n" - ] - } - ], - "source": [ - "for _ in range(5):\n", - " print(sample(space))" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "heading_collapsed": true - }, - "source": [ - "### Objective function" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "hidden": true - }, - "source": [ - "The `sample` function returns tuples of $x$ and $y$ values, so the obje ctive function should take a tuple as argument. Having a dictionary as a return type, rather than simply the value makes it easier to retrieve information from the `Trials` object that can be passed to `fmin`." - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": { - "ExecuteTime": { - "end_time": "2018-12-22T17:30:04.023466Z", - "start_time": "2018-12-22T17:30:03.997062Z" - }, - "hidden": true - }, - "outputs": [], - "source": [ - "def objective(values):\n", - " return {\n", - " 'loss': function(values[0], values[1]),\n", - " 'x': values[0], 'y': values[1],\n", - " 'status': STATUS_OK, 'time': time.time(),\n", - " }" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "hidden": true - }, - "source": [ - "A `Trials` object keeps track of the optimization process, so that it can be visualized or otherwise inspected when the optimization is done." - ] - }, - { - "cell_type": "markdown", - "metadata": { - "heading_collapsed": true - }, - "source": [ - "### Trials" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "hidden": true - }, - "source": [ - "Define a function that takes a `Trial` object, and returns two numpy arrays with the $x$ and $y$ coordinates of the sample points." - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": { - "ExecuteTime": { - "end_time": "2018-12-22T17:47:44.244621Z", - "start_time": "2018-12-22T17:47:44.225292Z" - }, - "hidden": true - }, - "outputs": [], - "source": [ - "def sample_trace(trials):\n", - " x = np.empty(len(trials))\n", - " y = np.empty(len(trials))\n", - " for i, result in enumerate(trials.results):\n", - " x[i] = result['x']\n", - " y[i] = result['y']\n", - " return x, y" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Tree of Parzen estimators (TPE)" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": { - "ExecuteTime": { - "end_time": "2018-12-22T17:30:08.789140Z", - "start_time": "2018-12-22T17:30:08.770722Z" - } - }, - "outputs": [], - "source": [ - "trials = Trials()" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": { - "ExecuteTime": { - "end_time": "2018-12-22T17:30:11.343393Z", - "start_time": "2018-12-22T17:30:09.517214Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "100%|███████████████████████████████████████████████████████████| 100/100 [00:00<00:00, 723.99trial/s, best loss: 0.3872706142114245]\n" - ] - } - ], - "source": [ - "best = fmin(objective, max_evals=100, space=space,\n", - " algo=tpe.suggest, trials=trials)" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": { - "ExecuteTime": { - "end_time": "2018-12-22T17:30:32.504405Z", - "start_time": "2018-12-22T17:30:32.477951Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0.7162563408135711 0.6542161024067286\n" - ] - } - ], - "source": [ - "print(best['x'], best['y'])" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": { - "ExecuteTime": { - "end_time": "2018-12-22T17:47:45.381283Z", - "start_time": "2018-12-22T17:47:45.370990Z" - } - }, - "outputs": [], - "source": [ - "sample_x, sample_y = sample_trace(trials)" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": { - "ExecuteTime": { - "end_time": "2018-12-22T17:50:47.041208Z", - "start_time": "2018-12-22T17:50:45.775466Z" - } - }, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "def scale(z):\n", - " return (3.0 + z)*101.0/6.0\n", - "\n", - "_ = plt.imshow(data, origin='lower')\n", - "_ = plt.plot(scale(sample_x), scale(sample_y), 'k.', label='sample points')\n", - "_ = plt.plot((scale(best['x']), ), (scale(best['y']), ), 'ro', label='best value')\n", - "_ = plt.xticks(np.linspace(0, 100, 7, dtype=np.int32), np.linspace(-3.0, 3.0, 7))\n", - "_ = plt.yticks(np.linspace(0, 100, 7, dtype=np.int32), np.linspace(-3.0, 3.0, 7))\n", - "_ = plt.legend()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Random search" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": { - "ExecuteTime": { - "end_time": "2018-12-22T18:14:31.498188Z", - "start_time": "2018-12-22T18:14:31.486271Z" - } - }, - "outputs": [], - "source": [ - "trials = Trials()" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": { - "ExecuteTime": { - "end_time": "2018-12-22T18:14:58.626794Z", - "start_time": "2018-12-22T18:14:58.303409Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "100%|██████████████████████████████████████████████████████████| 100/100 [00:00<00:00, 3182.93trial/s, best loss: 0.4471734199442068]\n" - ] - } - ], - "source": [ - "best = fmin(objective, max_evals=100, space=space,\n", - " algo=rand.suggest, trials=trials)" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": { - "ExecuteTime": { - "end_time": "2018-12-22T18:15:02.496798Z", - "start_time": "2018-12-22T18:15:02.487516Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "0.9369298489451197 0.39120676050733394\n" - ] - } - ], - "source": [ - "print(best['x'], best['y'])" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": { - "ExecuteTime": { - "end_time": "2018-12-22T18:15:04.819242Z", - "start_time": "2018-12-22T18:15:04.806963Z" - } - }, - "outputs": [], - "source": [ - "sample_x, sample_y = sample_trace(trials)" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": { - "ExecuteTime": { - "end_time": "2018-12-22T18:15:06.965222Z", - "start_time": "2018-12-22T18:15:06.094650Z" - } - }, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "def scale(z):\n", - " return (3.0 + z)*101.0/6.0\n", - "\n", - "_ = plt.imshow(data, origin='lower')\n", - "_ = plt.plot(scale(sample_x), scale(sample_y), 'k.', label='sample points')\n", - "_ = plt.plot((scale(best['x']), ), (scale(best['y']), ), 'ro', label='best value')\n", - "_ = plt.xticks(np.linspace(0, 100, 7, dtype=np.int32), np.linspace(-3.0, 3.0, 7))\n", - "_ = plt.yticks(np.linspace(0, 100, 7, dtype=np.int32), np.linspace(-3.0, 3.0, 7))\n", - "_ = plt.legend()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Although both the TPE and random search found the global optimum, it is clear that the TPE algorithm samples the parameter space in a more intelligent way." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Parameter space with choices" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "The space below represents the parameter space for an OpenMP parallel for loop schedule (static, dynamic or guided) and the chunck size for each." - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": { - "ExecuteTime": { - "end_time": "2018-12-23T13:28:47.560899Z", - "start_time": "2018-12-23T13:28:47.535430Z" - } - }, - "outputs": [], - "source": [ - "space = hp.choice('schedule', [\n", - " ('static', hp.qloguniform('chunk', 2, 11, 10)),\n", - " ('dynamics', hp.qloguniform('chunk', 2, 11, 10)),\n", - " ('guided', hp.qloguniform('chunk', 2, 11, 10)),\n", - "])" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "metadata": { - "ExecuteTime": { - "end_time": "2018-12-23T13:28:48.869086Z", - "start_time": "2018-12-23T13:28:48.851203Z" - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "('dynamics', 40.0)\n", - "('guided', 10.0)\n", - "('guided', 5320.0)\n", - "('dynamics', 10.0)\n", - "('guided', 560.0)\n" - ] - } - ], - "source": [ - "for _ in range(5):\n", - " print(sample(space))" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "heading_collapsed": true - }, - "source": [ - "## BaysianOptimizer" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "hidden": true - }, - "source": [ - "Required imports." - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "metadata": { - "ExecuteTime": { - "end_time": "2018-12-22T21:58:06.982084Z", - "start_time": "2018-12-22T21:58:05.789329Z" - }, - "hidden": true - }, - "outputs": [], - "source": [ - "from bayes_opt import BayesianOptimization" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "hidden": true - }, - "source": [ - "Define the objective function." - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "metadata": { - "ExecuteTime": { - "end_time": "2018-12-22T22:04:25.880183Z", - "start_time": "2018-12-22T22:04:25.866248Z" - }, - "hidden": true - }, - "outputs": [], - "source": [ - "def objective(x, y):\n", - " return -function(x, y)" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "metadata": { - "ExecuteTime": { - "end_time": "2018-12-22T22:04:26.329642Z", - "start_time": "2018-12-22T22:04:26.320629Z" - }, - "hidden": true - }, - "outputs": [], - "source": [ - "param_bounds = {'x': (-3.0, 3.0), 'y': (-3.0, 3.0)}" - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "metadata": { - "ExecuteTime": { - "end_time": "2018-12-22T22:13:33.613565Z", - "start_time": "2018-12-22T22:13:33.593673Z" - }, - "hidden": true - }, - "outputs": [], - "source": [ - "optimizer = BayesianOptimization(f=objective, pbounds=param_bounds, random_state=1234)" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "metadata": { - "ExecuteTime": { - "end_time": "2018-12-22T22:19:29.124060Z", - "start_time": "2018-12-22T22:13:34.202124Z" - }, - "hidden": true - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "| iter | target | x | y |\n", - "-------------------------------------------------\n", - "| \u001b[0m1 \u001b[0m | \u001b[0m-0.9551 \u001b[0m | \u001b[0m-1.851 \u001b[0m | \u001b[0m0.7327 \u001b[0m |\n", - "| \u001b[95m2 \u001b[0m | \u001b[95m-0.8939 \u001b[0m | \u001b[95m-0.3736 \u001b[0m | \u001b[95m1.712 \u001b[0m |\n", - "| \u001b[0m3 \u001b[0m | \u001b[0m-0.9122 \u001b[0m | \u001b[0m1.68 \u001b[0m | \u001b[0m-1.364 \u001b[0m |\n", - "| \u001b[0m4 \u001b[0m | \u001b[0m-0.9028 \u001b[0m | \u001b[0m-0.2245 \u001b[0m | \u001b[0m-0.8474 \u001b[0m |\n", - "| \u001b[0m5 \u001b[0m | \u001b[0m-0.9142 \u001b[0m | \u001b[0m1.691 \u001b[0m | \u001b[0m-1.365 \u001b[0m |\n", - "| \u001b[0m6 \u001b[0m | \u001b[0m-0.9707 \u001b[0m | \u001b[0m-0.1963 \u001b[0m | \u001b[0m1.8 \u001b[0m |\n", - "| \u001b[95m7 \u001b[0m | \u001b[95m-0.8689 \u001b[0m | \u001b[95m-0.471 \u001b[0m | \u001b[95m1.664 \u001b[0m |\n", - "| \u001b[0m8 \u001b[0m | \u001b[0m-0.8957 \u001b[0m | \u001b[0m-0.5939 \u001b[0m | \u001b[0m1.773 \u001b[0m |\n", - "| \u001b[0m9 \u001b[0m | \u001b[0m-0.9045 \u001b[0m | \u001b[0m-0.4766 \u001b[0m | \u001b[0m1.492 \u001b[0m |\n", - "| \u001b[0m10 \u001b[0m | \u001b[0m-0.8889 \u001b[0m | \u001b[0m-0.6737 \u001b[0m | \u001b[0m1.595 \u001b[0m |\n", - "| \u001b[0m11 \u001b[0m | \u001b[0m-0.9828 \u001b[0m | \u001b[0m-2.453 \u001b[0m | \u001b[0m2.113 \u001b[0m |\n", - "| \u001b[0m12 \u001b[0m | \u001b[0m-0.8836 \u001b[0m | \u001b[0m1.322 \u001b[0m | \u001b[0m-1.361 \u001b[0m |\n", - "| \u001b[0m13 \u001b[0m | \u001b[0m-0.9277 \u001b[0m | \u001b[0m1.394 \u001b[0m | \u001b[0m-1.114 \u001b[0m |\n", - "| \u001b[0m14 \u001b[0m | \u001b[0m-0.9467 \u001b[0m | \u001b[0m-0.07426 \u001b[0m | \u001b[0m-1.267 \u001b[0m |\n", - "| \u001b[0m15 \u001b[0m | \u001b[0m-0.9938 \u001b[0m | \u001b[0m1.312 \u001b[0m | \u001b[0m-1.557 \u001b[0m |\n", - "| \u001b[0m16 \u001b[0m | \u001b[0m-0.9594 \u001b[0m | \u001b[0m0.2099 \u001b[0m | \u001b[0m2.795 \u001b[0m |\n", - "| \u001b[95m17 \u001b[0m | \u001b[95m-0.8635 \u001b[0m | \u001b[95m1.224 \u001b[0m | \u001b[95m-1.261 \u001b[0m |\n", - "| \u001b[95m18 \u001b[0m | \u001b[95m-0.863 \u001b[0m | \u001b[95m1.048 \u001b[0m | \u001b[95m-1.267 \u001b[0m |\n", - "| \u001b[0m19 \u001b[0m | \u001b[0m-0.9425 \u001b[0m | \u001b[0m1.066 \u001b[0m | \u001b[0m-1.102 \u001b[0m |\n", - "| \u001b[0m20 \u001b[0m | \u001b[0m-0.8666 \u001b[0m | \u001b[0m2.612 \u001b[0m | \u001b[0m1.516 \u001b[0m |\n", - "| \u001b[0m21 \u001b[0m | \u001b[0m-0.9954 \u001b[0m | \u001b[0m-2.676 \u001b[0m | \u001b[0m-1.904 \u001b[0m |\n", - "| \u001b[0m22 \u001b[0m | \u001b[0m-0.987 \u001b[0m | \u001b[0m-1.367 \u001b[0m | \u001b[0m-1.916 \u001b[0m |\n", - "| \u001b[0m23 \u001b[0m | \u001b[0m-0.9095 \u001b[0m | \u001b[0m1.031 \u001b[0m | \u001b[0m-1.408 \u001b[0m |\n", - "| \u001b[95m24 \u001b[0m | \u001b[95m-0.784 \u001b[0m | \u001b[95m2.455 \u001b[0m | \u001b[95m1.561 \u001b[0m |\n", - "| \u001b[0m25 \u001b[0m | \u001b[0m-0.7904 \u001b[0m | \u001b[0m2.383 \u001b[0m | \u001b[0m1.478 \u001b[0m |\n", - "| \u001b[95m26 \u001b[0m | \u001b[95m-0.7765 \u001b[0m | \u001b[95m2.317 \u001b[0m | \u001b[95m1.627 \u001b[0m |\n", - "| \u001b[0m27 \u001b[0m | \u001b[0m-0.875 \u001b[0m | \u001b[0m2.426 \u001b[0m | \u001b[0m1.788 \u001b[0m |\n", - "| \u001b[0m28 \u001b[0m | \u001b[0m-0.961 \u001b[0m | \u001b[0m2.165 \u001b[0m | \u001b[0m1.529 \u001b[0m |\n", - "| \u001b[0m29 \u001b[0m | \u001b[0m-0.7932 \u001b[0m | \u001b[0m2.424 \u001b[0m | \u001b[0m1.637 \u001b[0m |\n", - "| \u001b[0m30 \u001b[0m | \u001b[0m-0.7831 \u001b[0m | \u001b[0m2.478 \u001b[0m | \u001b[0m1.344 \u001b[0m |\n", - "| \u001b[0m31 \u001b[0m | \u001b[0m-0.7888 \u001b[0m | \u001b[0m2.534 \u001b[0m | \u001b[0m1.183 \u001b[0m |\n", - "| \u001b[0m32 \u001b[0m | \u001b[0m-0.9749 \u001b[0m | \u001b[0m2.371 \u001b[0m | \u001b[0m1.177 \u001b[0m |\n", - "| \u001b[0m33 \u001b[0m | \u001b[0m-0.8163 \u001b[0m | \u001b[0m2.679 \u001b[0m | \u001b[0m1.244 \u001b[0m |\n", - "| \u001b[0m34 \u001b[0m | \u001b[0m-0.883 \u001b[0m | \u001b[0m2.436 \u001b[0m | \u001b[0m1.787 \u001b[0m |\n", - "| \u001b[0m35 \u001b[0m | \u001b[0m-0.8641 \u001b[0m | \u001b[0m0.5867 \u001b[0m | \u001b[0m-1.156 \u001b[0m |\n", - "| \u001b[0m36 \u001b[0m | \u001b[0m-0.9447 \u001b[0m | \u001b[0m0.2742 \u001b[0m | \u001b[0m-1.744 \u001b[0m |\n", - "| \u001b[95m37 \u001b[0m | \u001b[95m-0.774 \u001b[0m | \u001b[95m2.55 \u001b[0m | \u001b[95m1.296 \u001b[0m |\n", - "| \u001b[0m38 \u001b[0m | \u001b[0m-0.7754 \u001b[0m | \u001b[0m2.653 \u001b[0m | \u001b[0m1.043 \u001b[0m |\n", - "| \u001b[0m39 \u001b[0m | \u001b[0m-0.8512 \u001b[0m | \u001b[0m2.803 \u001b[0m | \u001b[0m0.9027 \u001b[0m |\n", - "| \u001b[0m40 \u001b[0m | \u001b[0m-0.8578 \u001b[0m | \u001b[0m2.537 \u001b[0m | \u001b[0m0.8138 \u001b[0m |\n", - "| \u001b[0m41 \u001b[0m | \u001b[0m-0.7949 \u001b[0m | \u001b[0m2.184 \u001b[0m | \u001b[0m1.89 \u001b[0m |\n", - "| \u001b[0m42 \u001b[0m | \u001b[0m-0.9182 \u001b[0m | \u001b[0m2.145 \u001b[0m | \u001b[0m2.087 \u001b[0m |\n", - "| \u001b[0m43 \u001b[0m | \u001b[0m-0.8878 \u001b[0m | \u001b[0m0.5029 \u001b[0m | \u001b[0m-0.7962 \u001b[0m |\n", - "| \u001b[0m44 \u001b[0m | \u001b[0m-0.7742 \u001b[0m | \u001b[0m2.209 \u001b[0m | \u001b[0m1.783 \u001b[0m |\n", - "| \u001b[0m45 \u001b[0m | \u001b[0m-0.8504 \u001b[0m | \u001b[0m2.543 \u001b[0m | \u001b[0m0.8059 \u001b[0m |\n", - "| \u001b[0m46 \u001b[0m | \u001b[0m-0.7747 \u001b[0m | \u001b[0m2.682 \u001b[0m | \u001b[0m0.5753 \u001b[0m |\n", - "| \u001b[0m47 \u001b[0m | \u001b[0m-0.8777 \u001b[0m | \u001b[0m2.514 \u001b[0m | \u001b[0m0.5181 \u001b[0m |\n", - "| \u001b[0m48 \u001b[0m | \u001b[0m-0.8863 \u001b[0m | \u001b[0m2.847 \u001b[0m | \u001b[0m0.6209 \u001b[0m |\n", - "| \u001b[0m49 \u001b[0m | \u001b[0m-0.8227 \u001b[0m | \u001b[0m2.757 \u001b[0m | \u001b[0m0.4069 \u001b[0m |\n", - "| \u001b[0m50 \u001b[0m | \u001b[0m-0.8159 \u001b[0m | \u001b[0m2.007 \u001b[0m | \u001b[0m1.82 \u001b[0m |\n", - "| \u001b[0m51 \u001b[0m | \u001b[0m-0.785 \u001b[0m | \u001b[0m2.472 \u001b[0m | \u001b[0m1.345 \u001b[0m |\n", - "| \u001b[0m52 \u001b[0m | \u001b[0m-0.9624 \u001b[0m | \u001b[0m1.705 \u001b[0m | \u001b[0m1.867 \u001b[0m |\n", - "| \u001b[0m53 \u001b[0m | \u001b[0m-0.9249 \u001b[0m | \u001b[0m2.768 \u001b[0m | \u001b[0m0.08601 \u001b[0m |\n", - "| \u001b[0m54 \u001b[0m | \u001b[0m-0.8028 \u001b[0m | \u001b[0m-0.2591 \u001b[0m | \u001b[0m1.244 \u001b[0m |\n", - "| \u001b[0m55 \u001b[0m | \u001b[0m-0.8026 \u001b[0m | \u001b[0m-0.1472 \u001b[0m | \u001b[0m1.07 \u001b[0m |\n", - "| \u001b[0m56 \u001b[0m | \u001b[0m-0.784 \u001b[0m | \u001b[0m2.456 \u001b[0m | \u001b[0m1.561 \u001b[0m |\n", - "| \u001b[0m57 \u001b[0m | \u001b[0m-0.8425 \u001b[0m | \u001b[0m-0.3702 \u001b[0m | \u001b[0m1.039 \u001b[0m |\n", - "| \u001b[0m58 \u001b[0m | \u001b[0m-0.8549 \u001b[0m | \u001b[0m-0.02238 \u001b[0m | \u001b[0m1.258 \u001b[0m |\n", - "| \u001b[0m59 \u001b[0m | \u001b[0m-0.9809 \u001b[0m | \u001b[0m-0.05312 \u001b[0m | \u001b[0m0.8384 \u001b[0m |\n", - "| \u001b[0m60 \u001b[0m | \u001b[0m-0.9846 \u001b[0m | \u001b[0m2.951 \u001b[0m | \u001b[0m-2.974 \u001b[0m |\n", - "| \u001b[0m61 \u001b[0m | \u001b[0m-0.9958 \u001b[0m | \u001b[0m-2.971 \u001b[0m | \u001b[0m-0.3454 \u001b[0m |\n", - "| \u001b[0m62 \u001b[0m | \u001b[0m-0.9924 \u001b[0m | \u001b[0m1.403 \u001b[0m | \u001b[0m-2.995 \u001b[0m |\n", - "| \u001b[0m63 \u001b[0m | \u001b[0m-0.9815 \u001b[0m | \u001b[0m-0.2748 \u001b[0m | \u001b[0m-2.993 \u001b[0m |\n", - "| \u001b[0m64 \u001b[0m | \u001b[0m-0.97 \u001b[0m | \u001b[0m-1.373 \u001b[0m | \u001b[0m2.99 \u001b[0m |\n", - "| \u001b[0m65 \u001b[0m | \u001b[0m-0.9808 \u001b[0m | \u001b[0m2.984 \u001b[0m | \u001b[0m-1.331 \u001b[0m |\n", - "| \u001b[0m66 \u001b[0m | \u001b[0m-0.9521 \u001b[0m | \u001b[0m-1.45 \u001b[0m | \u001b[0m-0.5396 \u001b[0m |\n", - "| \u001b[95m67 \u001b[0m | \u001b[95m-0.4278 \u001b[0m | \u001b[95m1.172 \u001b[0m | \u001b[95m0.2834 \u001b[0m |\n", - "| \u001b[95m68 \u001b[0m | \u001b[95m-0.3863 \u001b[0m | \u001b[95m1.092 \u001b[0m | \u001b[95m0.2312 \u001b[0m |\n", - "| \u001b[0m69 \u001b[0m | \u001b[0m-0.4349 \u001b[0m | \u001b[0m1.016 \u001b[0m | \u001b[0m0.3306 \u001b[0m |\n", - "| \u001b[0m70 \u001b[0m | \u001b[0m-0.9237 \u001b[0m | \u001b[0m-0.5129 \u001b[0m | \u001b[0m-0.5793 \u001b[0m |\n", - "| \u001b[0m71 \u001b[0m | \u001b[0m-0.6205 \u001b[0m | \u001b[0m0.9768 \u001b[0m | \u001b[0m0.1166 \u001b[0m |\n", - "| \u001b[0m72 \u001b[0m | \u001b[0m-0.4174 \u001b[0m | \u001b[0m1.091 \u001b[0m | \u001b[0m0.2892 \u001b[0m |\n", - "| \u001b[0m73 \u001b[0m | \u001b[0m-0.5181 \u001b[0m | \u001b[0m1.24 \u001b[0m | \u001b[0m0.1174 \u001b[0m |\n", - "| \u001b[0m74 \u001b[0m | \u001b[0m-0.395 \u001b[0m | \u001b[0m1.141 \u001b[0m | \u001b[0m0.2011 \u001b[0m |\n", - "| \u001b[0m75 \u001b[0m | \u001b[0m-0.3973 \u001b[0m | \u001b[0m0.8182 \u001b[0m | \u001b[0m0.472 \u001b[0m |\n", - "| \u001b[0m76 \u001b[0m | \u001b[0m-0.9614 \u001b[0m | \u001b[0m-0.3499 \u001b[0m | \u001b[0m-0.1895 \u001b[0m |\n", - "| \u001b[0m77 \u001b[0m | \u001b[0m-0.6383 \u001b[0m | \u001b[0m0.8683 \u001b[0m | \u001b[0m0.6587 \u001b[0m |\n", - "| \u001b[0m78 \u001b[0m | \u001b[0m-0.9611 \u001b[0m | \u001b[0m2.12 \u001b[0m | \u001b[0m-2.247 \u001b[0m |\n", - "| \u001b[0m79 \u001b[0m | \u001b[0m-0.6127 \u001b[0m | \u001b[0m0.6587 \u001b[0m | \u001b[0m0.3941 \u001b[0m |\n", - "| \u001b[0m80 \u001b[0m | \u001b[0m-0.3879 \u001b[0m | \u001b[0m0.8481 \u001b[0m | \u001b[0m0.3619 \u001b[0m |\n", - "| \u001b[0m81 \u001b[0m | \u001b[0m-0.462 \u001b[0m | \u001b[0m0.9029 \u001b[0m | \u001b[0m0.4355 \u001b[0m |\n", - "| \u001b[0m82 \u001b[0m | \u001b[0m-0.3881 \u001b[0m | \u001b[0m1.488 \u001b[0m | \u001b[0m0.3056 \u001b[0m |\n", - "| \u001b[0m83 \u001b[0m | \u001b[0m-0.7543 \u001b[0m | \u001b[0m1.675 \u001b[0m | \u001b[0m0.2273 \u001b[0m |\n", - "| \u001b[0m84 \u001b[0m | \u001b[0m-0.6216 \u001b[0m | \u001b[0m1.477 \u001b[0m | \u001b[0m0.5039 \u001b[0m |\n", - "| \u001b[0m85 \u001b[0m | \u001b[0m-0.3868 \u001b[0m | \u001b[0m1.381 \u001b[0m | \u001b[0m0.2708 \u001b[0m |\n", - "| \u001b[0m86 \u001b[0m | \u001b[0m-0.4399 \u001b[0m | \u001b[0m1.452 \u001b[0m | \u001b[0m0.2191 \u001b[0m |\n", - "| \u001b[0m87 \u001b[0m | \u001b[0m-0.9987 \u001b[0m | \u001b[0m0.5812 \u001b[0m | \u001b[0m-1.461 \u001b[0m |\n", - "| \u001b[0m88 \u001b[0m | \u001b[0m-0.4871 \u001b[0m | \u001b[0m1.407 \u001b[0m | \u001b[0m0.3738 \u001b[0m |\n", - "| \u001b[0m89 \u001b[0m | \u001b[0m-0.9935 \u001b[0m | \u001b[0m-2.049 \u001b[0m | \u001b[0m-3.0 \u001b[0m |\n", - "| \u001b[0m90 \u001b[0m | \u001b[0m-0.9527 \u001b[0m | \u001b[0m3.0 \u001b[0m | \u001b[0m3.0 \u001b[0m |\n", - "| \u001b[0m91 \u001b[0m | \u001b[0m-0.9933 \u001b[0m | \u001b[0m-2.97 \u001b[0m | \u001b[0m0.9588 \u001b[0m |\n", - "| \u001b[0m92 \u001b[0m | \u001b[0m-0.399 \u001b[0m | \u001b[0m0.908 \u001b[0m | \u001b[0m0.2844 \u001b[0m |\n", - "| \u001b[0m93 \u001b[0m | \u001b[0m-0.998 \u001b[0m | \u001b[0m-3.0 \u001b[0m | \u001b[0m3.0 \u001b[0m |\n", - "| \u001b[0m94 \u001b[0m | \u001b[0m-0.9761 \u001b[0m | \u001b[0m1.359 \u001b[0m | \u001b[0m2.982 \u001b[0m |\n", - "| \u001b[0m95 \u001b[0m | \u001b[0m-0.997 \u001b[0m | \u001b[0m-3.0 \u001b[0m | \u001b[0m-3.0 \u001b[0m |\n", - "| \u001b[0m96 \u001b[0m | \u001b[0m-0.9556 \u001b[0m | \u001b[0m-1.52 \u001b[0m | \u001b[0m1.704 \u001b[0m |\n", - "| \u001b[0m97 \u001b[0m | \u001b[0m-0.3995 \u001b[0m | \u001b[0m0.7049 \u001b[0m | \u001b[0m0.5839 \u001b[0m |\n", - "| \u001b[0m98 \u001b[0m | \u001b[0m-0.6577 \u001b[0m | \u001b[0m0.5701 \u001b[0m | \u001b[0m0.8002 \u001b[0m |\n", - "| \u001b[0m99 \u001b[0m | \u001b[0m-0.987 \u001b[0m | \u001b[0m-2.238 \u001b[0m | \u001b[0m-1.043 \u001b[0m |\n", - "| \u001b[0m100 \u001b[0m | \u001b[0m-0.9522 \u001b[0m | \u001b[0m0.7846 \u001b[0m | \u001b[0m1.908 \u001b[0m |\n", - "| \u001b[0m101 \u001b[0m | \u001b[0m-0.9913 \u001b[0m | \u001b[0m-1.13 \u001b[0m | \u001b[0m-2.999 \u001b[0m |\n", - "| \u001b[0m102 \u001b[0m | \u001b[0m-0.975 \u001b[0m | \u001b[0m0.5554 \u001b[0m | \u001b[0m-2.619 \u001b[0m |\n", - "| \u001b[0m103 \u001b[0m | \u001b[0m-0.9807 \u001b[0m | \u001b[0m-1.064 \u001b[0m | \u001b[0m0.4291 \u001b[0m |\n", - "=================================================\n" - ] - } - ], - "source": [ - "optimizer.maximize(n_iter=100, init_points=3)" - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "metadata": { - "ExecuteTime": { - "end_time": "2018-12-22T22:23:17.823780Z", - "start_time": "2018-12-22T22:23:17.814070Z" - }, - "hidden": true, - "scrolled": true - }, - "outputs": [], - "source": [ - "best = optimizer.max" - ] - }, - { - "cell_type": "code", - "execution_count": 28, - "metadata": { - "ExecuteTime": { - "end_time": "2018-12-22T22:23:36.826169Z", - "start_time": "2018-12-22T22:23:36.174979Z" - }, - "hidden": true - }, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAbMAAAGgCAYAAAAgr4myAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAAB3tklEQVR4nO29eZQd1X3v+zt1xp5bEy21kEBCNoMxji0wFh6wb2zJ5t5g+5oAL+8CvnF4EOJcgp5XYjn2cnKzYtlveSXEzwyOjSFZEGDlAjbLAT/ExQgD8gCSjG0xGdAAUmvuuc9c749Wn/r9vtVnnz59Tkuq7u9nLS3V7qpTtWvXrt59ft/fEPN93xdCCCEkwngnugOEEEJIo3AxI4QQEnm4mBFCCIk8XMwIIYREHi5mhBBCIg8XM0IIIZGHixkhhJDIw8WMEEJI5OFiRgghJPJwMSOEEBJ5Gl7MbrvtNjnvvPOks7NTOjs7Zc2aNfLoo486P7N582ZZvXq1ZDIZWblypdx+++2NdoMQQsgcJtHoCU499VT5+te/LqtWrRIRkX/5l3+RT37yk7Jt2zZ5xzveETr+jTfekEsuuUSuvfZaufvuu+WZZ56RG264QRYtWiSf+cxnpnzdcrkse/fulY6ODonFYo3eBiGEkOOI7/syNDQkvb294nlNMBL6M8C8efP8733ve5Pu+8u//Ev/rLPOMj+77rrr/Pe97311XWPPnj2+iPAf//Ef//FfhP/t2bNn2muNpuFvZppSqST//u//LiMjI7JmzZpJj9myZYusXbvW/GzdunVyxx13SKFQkGQyOenncrmc5HK5Sts/lux/19bTpbO99qpe8sumXRa/5memgif2W2E8Vr0v2IeilNS+6fcnDt9MPWU9rtW/gl+adFtEpCC27U+zj/jNOSlx007HgmmI/cv5BdPO+sXKdhHGswD9058s1eh6XHURZ2AS+p9QfWyNpeBYe2+6/2NlvJey2rbXzPnwnNQzLcC+skzfMuGp9yAO74QXs22934NjUzH7LHSP4tA9HF+cv7Z/zaFcY79+/wqhfbatm/kaz6Kk2mW/+r7JPjtV8Fkk4Vkk1d2nYV8GLplRc7vFs08qHbNt/fti1M+bfa53c2J8h4fLctF7D0lHR4c0g6YsZr/+9a9lzZo1ks1mpb29XR566CE555xzJj22r69Penp6zM96enqkWCzKoUOHZMmSJZN+buPGjfK3f/u3oZ93tnvS2TGVxcy2T8xiZttF1YcTt5j5k26LiBRgjMrT7KMXWsxsH9KqT+HFzLZTvv6lbq9zvBazpFnMvKr7RGz/E2U41p98e7w99cUMfynWQ7xpi5k9r+7hbFvM9LmauZhN9znic0s6xju8eGFbzW2v+nsqYt+3BM5Xx7uJ49ssmagpi9mZZ54p27dvl/7+fnnggQfkmmuukc2bN1dd0LDzE3/xu25qw4YNsn79+kp7cHBQli1bVvX4k/GbWLP6UAvdR9c3MWyX4ZV3LV4lwV90sKCqZ4nfxPDbi+6j65vYeH/1txlYbLGPjuF2/YLNxPAlTlRt4zMdLmdNe1SNL/Y3q365ZX07Js1asMK/6MpV9+O+DCxmeozCCzw8Y/XMcbFKSPXnj+A7NF1c18DrFMEigX9oaotFIfQNBNpqOwuLmesZ1/P8Q4siziX9h5Bg/9AaE+wvlO23rdaYPVZ/U2uPpc2+nBSrt4+N0eQ2uOnTlMUslUpVHEDOP/98+eUvfyn/9E//JN/5zndCxy5evFj6+vrMzw4cOCCJREIWLFhQ9RrpdFrS6XTV/YQQQuYuMxJn5vu+0bc0a9askU2bNpmfPfbYY3L++edX1csIIYQQFw1/M/vSl74kn/jEJ2TZsmUyNDQk9913nzz55JPy4x//WETGzYNvvfWW/Ou//quIiFx//fXy7W9/W9avXy/XXnutbNmyRe644w659957G+1K00wSzeoDmqDQjDddncylkY3vD9phU2f1NpoOkZLRV6qbFUWsmSlkgnI4SbjMiuP7gz7UY1ZEHSEV6m/Qbq0hfOv+joJTxwj0N6f65DIl5hv4uzIFI6HNhWFnADtIWjMJm1dxHKbuqKPN17kyzHvJw7FKOxZLs95oHN04tLXZFOc26qAZNQ5dMFfwfcup+ZyDuZ0Fk792AirE3CbJeuaONkOiCRJ1vIKaLwUwK+Zjtv9t6lh8Z1o96xgV19c59s4UmhxR1fBitn//frnqqqtk37590tXVJeedd578+Mc/lo997GMiIrJv3z7ZvXt35fgVK1bII488IjfddJPccsst0tvbK9/61rfqijEjhBBCNA0vZnfccYdz/1133RX62cUXXyxbt25t9NKEEEKIiDA3IyGEkFlAU4OmTyaa6QbvcnU/XmidDDUy1KDqcTPWOhi64rvc710aGfbJpZGJWJ3MpZGJWA0FNTJ0t9ejhBoZxsxoHQS1olFwUR7Vmhn0bwRiyZoVH6Z1sZAOBu1W5VKfgfvOQJhBCwR9a8YgEPZoeayyjc8F44qy6l4x9qoAuo3RdDCQ2He47WOYjOOd9xwhCdjG8fRAucso7SgZy8E+HO/gXju9jNnXCX3U4x3W02x7VL0noZhEaLs0NdxX8qs/izzq757S2+EdKUFYh9HQjl2y6DXXx4HfzAghhEQeLmaEEEIiDxczQgghkSfymlnJL9fMuzfT19dora5ZcWUIptRCyo6cj5i+pmxifNwpqlz7MPZN62SuFFrjbRXbUkeKKpdGJmJ1MtTIMEGwHlNMSTVUxvigYHu0RhqqqcaP1Uo7lVExP62gR7ThvSl9opb+p3Uw1P8w/ZKOkwvHzGE7+NWSx9gm1GlMHJR7vPCzLlDr0sQdGhp+LgXxVkmjmdl9GUc7Exs1+1rhnWlVz2ph3OprqDPr+MYRh54mIuL5+l1067bOmDTUM8vqWLjvQszOM/27cEKnTTSQU3Qy+M2MEEJI5OFiRgghJPJE3syoORGZ8cN9UO6qM1TWBfvjSllVTyZ8l1lRxKb1QXd7V62jsCs+mhmnXn5D4zIrjvepet0xZNgPXKxHy2i2sce6zG0ud3uXO3gazDRtHrrbB+ft8GzCbRx7bSY9UrKu43gvI8ocOFq258n6tq3NhQWpblYUsebC+tztj8/f13GHCbKmG79JF2ZN0Ekw46eMmdHO7lbPttuUaa4VzMEdnh3fefHW4Fh4v4ZCoSRBHzF0JFdHmITLjR8pY2IyZaoveePjOdzk9IP8ZkYIISTycDEjhBASebiYEUIIiTyzSjM7HsxU9ehaZV1Qo9JgyiqtVzWzrIvuE1YLxnHRfQhX48VwAX0eZ3dNKZdaKapcOtkopGoaUjrZqMMlXcS6N9dKSaX1FpfbdiucBjWSdpUKCUMHUBcbUv1HHWwEdLCRcqC/oUYW0sFMJWT3rw6XnhKPncBYmmO4tLl8ufq7JoL9t/olamg2TZbdl4HyQW1e8BzbQF8bgvIxHeXhYBvmysJ4m2nr+ZKECtDoxl+PHqzbtY9Vv5OOvWvDZWpmhBBCiIGLGSGEkMjDxYwQQkjkibxmVha/Yd2qnrgyvNaJSFmF6aBORFkXHCOMJdMl4guCfbC4dDJMWVVPiiqNSyMb31/d/l9P6ZYUzAcdP4axYx2q/+0QO4bz6kBpRPXdDtgQ6GKDfnCu0bI9rzN2rA4drJbupeOr6onbwlRSmHZqumCarFBKLa2DxtxxcS69LQvPQo8Tjn0WU42p5zaEMWk+xAuq0jOjmOrKHzHtLpXebGEcYxJRb1XPDeYZxqTpuLPQO+FMSzZ+jTGHrjod+M2MEEJI5OFiRgghJPJE3sx4PEC382bhqh7tSlkVSlHlSM1TV38ayISfBddhbVrM18iEb69p20nBdnCAK/O9iE1R5TIrirhdkl2gWbHVs+OgM9x3O9ztB1T2+vG27W9/OfjsUNne9wiYErW5CjPWh9NOVTcdYsqnpDKTujLJi9i0TjWPVftdKb9ERLw63PrLjqrJ2C44zK2hMZSpH1s2YRz2nUaTZEFVAc9DKI7LRDkCJsgRMKln1f4uz55Xp8USEUkqN34P3PjjKKGoORlKdYXjPck7hVUZGoXfzAghhEQeLmaEEEIiDxczQgghkWfOamZaX5luiReRk6N6NLrb11M92nPodq6UVeiKjymrdB9d1aJFrE6GGlkmVEU5OMKlkYnUl6KqHp1Mp6FqA/2nw7PXaVe6HqYk0+72/TBI/aCDDZUDfQ01MlcaKkwrhbqY1rNCVZM9q73oEiZtMdwHWqHSDjNwzUwoBCRoJ+F5u9K44Xx1aceu6uYiIgUJ7idbo+L2qNKKsqCZjfhWz9TPJgtaJ5bR0ZqaS08TsZpaSE+D9yDrZ9W2fW45cOOfp3Tc+Z4d3xS883HR1a5t/1zv08S+HDUzQgghxMLFjBBCSOThYkYIISTyzFnNzMWJKPPiiisb74Mjzsyh26FG5tqP+oQrZVUjZV0wlkxfJRkq65KAdqAPYCmUUYjNyqnrNksjE7E6GWpkWnMQsc/qUMnGkh1RpUbCGlmLaWudrIBphXx8bsGNY4xXxoM0SSotki5BIiLSAZqZ677bITVTqxeUIUF9FWMSc2oujZQhXhGOrSei0s4ru89VPqjLqz7nRERGy8G4DPt2Dg5BvKDWkuqJD0TNzBWjVob3FGPfdLvgj8E++8xLav/8uO3fvJid2yLq3uG5IfW8b9OF38wIIYREHi5mhBBCIs+cMTPWkxkf0aaiZrniT9Yne01wv3e42yP1VI/WpkU0M7pSVjWSCR9HXpt8MtAHNDNqE8+ojymq7HlHjHll6s/bZVYUEelSJrYuMCvimB1S/T1SsqajfmVKHCzb89Sq+qxxmRK1GVFEpNOzZjFtSuzy7Hkw/VZLLEh9hGEQ+j5FREaKwZgNhVzHrQlVm8zQXT2cfmvqz1Fn3Hel2xKxY5aBjPUdsVHT1tUPMD3UgoQ1zY0pV/j+sj3PAGasV2bIQTDpaROkiB0zNEHiGJXKwXytld5MmyELYvu30LNmUm1S98TOK5fZcaZMjvxmRgghJPJwMSOEEBJ5uJgRQgiJPHNGM3NxIlzxx/er8hAOV3xsu1zxReqrHq37hH1A/cekyWqgrAtazLVbNLpB47PQVXVHyph2qHqFaFd1aJH6UlRpnQzdzo+AVnCwFOgM/eBur93v0RXb5W6P+k/YpT7QLxZ41hV7Puhi1v3a/jo4WLLn3aXGG0MJ+su2lIh2Ow9Vuy6jhqY0M0cJFZHpa2ZY7TqUukvpZKHwBRhfPd7dntXBuuFYrUMuAlf3RfAiHFGhG0dAgzyMcydWPb0Z6mAuN/5QxW31npTEzh0R26f5SlNF7bg8BQ2t2KQq4hPwmxkhhJDIw8WMEEJI5OFiRgghJPJQMzuOTDeuTMQdW+Yq84JxZqjj6diyUFkXiMXRsWW14sq0ToZ/MWHKKq3j1SrrostzZH1M4+Mu3a5JgcqnNbNaKar0OB0sWS3gCKQs0jqZK0UVlmpxxY51gA7WDe1F8UDbwNigOMTt7Ve6mNb3REQOl+aZ9pFSe2V7EO5luARxUWocQuVMQrpYbNJtkXAMVbXPiYh4MVdaN/u88VjPaJI1UoCp2Lz2uNWGOlGjjA9XthfEbbkV/ZxERHqUptbl2f51lIdN+2BJxa/FqmuxInb8UYstlaf/faakYuhQ/8N3Rqe+Kh1LO0fNjBBCCAG4mBFCCIk8s9bMWE/6KjTxNauatMsVf/y8jkz4DWTGd1WPxrbuA94nZsbPO6pHu8AM5ZiyqlWZwkbBJRkz4euK0TnMHu/42ywOzzgNpqQOZWbq8tDV2R6r3e/RrHi41Gbaxv0e0jpp0yKaFdEdvDseuICju31P3D6NhfHAHLivaM1T+yGlVl9pgep7u9l3pGjbQ8qUOFyyY5QrY1qk4Nmge325RpjEtGlSpjlP0ARZ3a0/7Vkzc3vcPreD8c7K9vwEmArjtn0kPljZ7olb0+byhH0WrbHAZJkp2bmDZtJ+UWET4MaPZkdr+p56WEQcKo8vhCrVXeodL01IBw6z8HTgNzNCCCGRh4sZIYSQyMPFjBBCSOSZtZpZLTB1U7NA13cXWqtrlit+rf5gmRdTPRoc7nGEdLtW9eik2caqvuiqHVx3NFSVWODYqaeo0jpZqKyLZ++uQ6XmQV3xIFQP1qVcXCmqRKxO5nK/74iju71Nk7RYaWY9cXxt7TN9pRDoKXuLnWZfX7HLtA+q/QMluBdwt9e6WLEM7vWOZ4EaVCJWXeNxucyLhF3sXWi3fnTjx7ZL4yuCrqTbuTJWobYaqh5THN8jcauD9Sda1faA2TfkD5l2bzzow2kwHTIlq8XpMYuD/jcEfdIaWlbsveHQ63OhJu0Jhh0E15l413yPrvmEEEKIgYsZIYSQyMPFjBBCSOSZtZqZK64MaVZcGeJKX4XXxT64cMWV4X5XXNl4O7hXV1xZvWitLgnPAnW74XKQ6iYL18SUVbrMSy3NLKls+q2huDJ73pZYoHUcRo0MYqhcKarqiSXTOtkCz6Y66gEN7dSE0l7KNoXSm0Xbv93FRZXtvmK32Xeo0GHaWsfBWLF8ufqvB9TBUhBvpeOvdPonkXB6qLRq61IsIuGYKVPWJRSbWT0uClNo4XPS2hem30IdzKUd4pjpNo4vapK6jenCBsuQLixxtLJ9asKO/fKE/awngd6K2haiNTSMQUMNTc/9kGYGWmcqpssSjX+uwHRWhBBCiKXhxWzjxo1ywQUXSEdHh5xyyinyqU99Sl5++eWan9u8ebOsXr1aMpmMrFy5Um6//fZGu0IIIWSO0rCZcfPmzfJnf/ZncsEFF0ixWJS//uu/lrVr18qOHTukra1t0s+88cYbcskll8i1114rd999tzzzzDNyww03yKJFi+Qzn/nMtPtSy6ynOR7VpF3pq2qB6au0O77LFV/EmvHQpIepmbQ7vssVX8S647tc8cfbwQHoio/Z+UdVn3Loiu+ohIu4MuG3QSb8TsjqPahMd4dL9tj+Mh4btNEkVY/7vTYt9ibsvqVxW7n5QCkwFe0qWjPS7uJ8095f6K5sH4KUVMNFTEOlqhCj+RrekRaV5b0VMr5j9vguda/dkC0eww505eY2MDNi2rGUMTNacL7mlZkRU5+NgJlRp3HCqtn9kKJMm2ZD1QKg8sCYaqMJEk2UxbLurz0WQwC0mTTrHzH7ToO5tFy5/MdjduwlXAC6gsttX8TO/UGx4xBKAaZMncljGfSHys01Mza8mP34xz827TvvvFNOOeUUef755+VDH/rQpJ+5/fbbZfny5XLzzTeLiMjZZ58tzz33nHzzm99saDEjhBAyN2m6ZjYwMB7sN3/+/KrHbNmyRdauXWt+tm7dOnnuueekUChM+plcLieDg4PmHyGEECLS5MXM931Zv369fOADH5Bzzz236nF9fX3S09NjftbT0yPFYlEOHTo06Wc2btwoXV1dlX/Lli1rZtcJIYREmKa65n/+85+XF154QZ5++umax8ZAa/KPaUT48wk2bNgg69evr7QHBwfrWtBmKn0VMt1q0q70VbUIueo7/kYJaWaOEjB19SGGKauCqYW63QCUebHVo1Hjm3pZlyTY6VuVe3B7DNyrfSsW9Cv7/UAoRRVWUQ70FdQRXKVc0P1e62Soke0rWW1jVzHYv7OwyOzbqzQyEZGjhUDjwVItmJpJ62It4ELfmbA62PxE0P9FCWsZCbWVTrYI3PYXxu346rCUobI9FkM1CqqJbzTOlA6VLmkRuIp3QIkST1VCPlQ6avYdBK3roNLQDkK6MGwfKQbHDhYxPZjVwcZUCEChAO9BGUMLgj4VQF8ryUFoB3MJ55lIdQ0tVPLFVT4G9mHarJTS5jOx8Xl/0mlmE/z5n/+5PPzww/LUU0/Jqaee6jx28eLF0tfXZ3524MABSSQSsmDBgkk/k06nJZ1OT7qPEELI3KZhM6Pv+/L5z39eHnzwQXniiSdkxYoVNT+zZs0a2bRpk/nZY489Jueff74kk+gXRwghhLhpeDH7sz/7M7n77rvl3/7t36Sjo0P6+vqkr69PxsYCE8qGDRvk6quvrrSvv/562bVrl6xfv15efPFF+f73vy933HGHfOELX2i0O4QQQuYgDZsZb7vtNhER+fCHP2x+fuedd8pnP/tZERHZt2+f7N69u7JvxYoV8sgjj8hNN90kt9xyi/T29sq3vvWtE+aW36z0VbXAlFUmnVWNPpgUVY7YtvF2sB81snAfAuyR7jIvrrgyEauTYVxZDvRLrYOgRuaKK0PNLFTmRcX5aQ1PxMZtiYgM6JgZ0MhGQA8omVhC6AOkaupWpVsWQZzZEqUdoUb2OsSH7cwvDI4tzDP7tC4jIjKiYskwdgzLr7THA01vYdKWDulJ2jIky5KHg+24PfZUSKE0rPSQvSWr97xcsLPncCm4V9QncexdpVpCsU0mzjBn9nV4Vg9coO5nEcTQLYvb856dDPa/Wdxj9u0p2ee2pxDIJvsLtvzOoQLEACp9E7XNQYgttOVtMJ41Bsdqpzr73JaAflnwgzmah9JCoXRhKi6uBPvwuSWNZjYuzA2fbJqZP4WF4K677gr97OKLL5atW7c2enlCCCGEuRkJIYREn8hnzfckVjGruTLlo1t8PVnqNa70VdgHV4Z6kZmrJq37UAQTH2bG132qZ0TCFayrZ8ZHV3zMxl9PJnxtWsRUR63w0XYvMHUM+9bM1F+2/R30g2NHfTRtVX9NMMt7h2dNiYtU6qYlcRsecFSl0NKu9yLWPCViTYtonhqDFEratFjL3X5Jqr+yfXrSunSfkbQu6qertEj7wCa9JWdNUnsKQdgMhg5g5v7+QmDqGitB2iZoF8tT//s7oVzzM3H7nFqg3Z0MntvCJFR1Tvabtja3roSp8f60fYt2xndVtl+Lz4N9NsRiX767so1u/GOQud+Ykv0a74wyhWOl7lQMTd8q/ZZvTd9YeUC77mMVAnxn9Ds1eOx30kiTw6X4zYwQQkjk4WJGCCEk8nAxI4QQEnkir5mdaOpJX9UsaqWvKjlSVKEWp6UPdMVHvCrbIu5SM6jTYZkXrZPVo5llMH2VF8fDKwyUrcgzBLqYTlFVT1kXdPleAOVNFqsuFSD4YU8xuA5qZGGdKdDJXBqZiNXJFiRtCq3T0jb36RnJA5Xts1NWXyvAfT+TC576q7lVZt8bOav/7M8FaZ0O56weOFQAPUi56ufBjb9UxrR3sUm3RURiECah23EPKh/H7bNoSQYaWkcS3PbT9pn2pIPUXSvSVmd8W9pmNjonGfTxwoxN+dUJ4QF6Lu3KLTT7DkP+da2h4Xw4JFZT1SELqJllYvtNe1UyGJfF8DrlQhqaSqkFz81VLmY0lj52DxgM1Bj8ZkYIISTycDEjhBASebiYEUIIiTyzVjM7XiVfXLjSV4m4U1iFdDEV1+VKXzV+neC8qNPgqLhGKQ7ylbaCY1xZAlLfjPmB/oJlPPKQfme6ZV4y0L9WKPMyXA40iCEooTEK6XZ0+h1MzeNKWdUNGtlCiF9q94IYqlcKVpPaUwwK2PYVMdWRjcXSughqZG1xq9vptFQr0gfMvrNSViN5RzI47ysFe5+/zvea9otjSyvbO8esxrd/zPZ3MBfoYqN5iEECfaWsdLFyHXFk+PpUqR41KZ5nZ/6AF/T3MJRJOZCy9/ZWOnhWb7V0m31vttiixH0tb1W235naZ/ZdkLYdbvWCY5MxWwonHjvFtLWGOgJlfkIamppLSYjNxPRrmVigAb49ac+7ENKxZZWGhnFmJXiO+p2aeNdGqZkRQgghFi5mhBBCIs+sNTMiaOKbbqZ8V/qq8fNOz7zZrPRVIjaFFZoym1VNOinV3eBFrDs+WK+kgKEE08yMn3GkLxMRGVJ9GAFX/BHfmmJ0qh50xUdTjE5Z1QWu+T2QhXxfKTj2raJNZ9SnsqiHzYrWbONKUYXZ7rVpEU1bq8B09Hw+GM+tY28z+3aMWjPj7pHAhHZoDDL15+x45osqu30N06F2oUfzn+dVd7fHWYMzW7vulx0u/iIixaJKAVe0cztXsL8m9b1qc6qIyFEIQzisqn4fabUu80MtO0373angmSfFPjcXmM4KU1/puYTzDNOxtcaC+dzh2XRmmGF/SJnxR3xrgnS55heO/e6AaIOG4TczQgghkYeLGSGEkMjDxYwQQkjkibxmFo95ztIvzblGHT6/inpKvtTsg1R3zXdd15W+avzY6ucJpaxSfcD0VUU4c8GEB0DoQI2SFeaakLJKezO3elZXGvWtljSitBp0xc+CruCsHh0q8xKkIVoUt8diH/qU23TI/b4Y6BfD4F6NlYZTXuCqPS9pwwFOS9kUVe9IBSmVUCP7Rc6O/S+VTvbb4aVm3+5hqGg9FuhBY+BuXyo5wiugUnMqYd3O08mgnYF9LQk79ilv6u7ceRWOMVaE0jJF+6tP62J52If3ls0HbQwzyMFn9XXRZT5cNuX1yvZ70/a5lcWmydLVpUOlWQq2v/ly0CecZ3oOioi0Kg1YV0kXEekCrVbP/SHfpuYKVQhXld4n3rXpluGqBr+ZEUIIiTxczAghhEQeLmaEEEIiT+Q1s2rMVPkVV8mXRq7rSl81fl1Pbdt9GNumbdH1WKVd6auwT6iZDZettpHXup0//bgy1Mwyqg/pmNUcjpRszNeoiiUL6xNYAj44L8aVYZmXbqUdLIzbeKvXCjbmq68YpH06VOw0+waKQdyO1jVERDwYh3aVsmpJst/sexumqEoF5/1Z1mpMPx+1pVt+rXSynUM2FVP/qI0r0roSxmmhLtaSCsawMwMlVTK2LM0p6WDMFqWGzL75CXus1nQw5ZMuSSJiddIjRfucDuatVnQgF8SAHc7aYwezULJG6YWop41krS5WVPvzkFKtCO+F1sHi8qrZ976MfRZZP3jmqE9hCaN+dV2cZ3oOiogc8oI52gea2QLPpkY7IxmM2ZGyfU5D8M7o92+ifxjP2Sj8ZkYIISTycDEjhBASeWaVmfFky5RfT5b8esBQBF3VWcS642N4QH1mR2sGcKWwwmrSOoVVI+mrkqF0VsGUHS1bV+FRGN4Rh5nRlRnf5YovIjJffXSgbNP49JVsOqODyrQ4UAKzXbn669cSt/fWkwyqFJ+Rsuaes+2tyQv5oL/PZ22Kqt8O2xRV2rR4ZMT2PV+o3r9U0pr45rXacehtG6hsr2yzoQNnt+w17bepUIKVCUjVBWbc4XJwbzjnsJJDu8qEf6hkzWCvF6058NX84sr2i2N2jF4fsVWf944EIRZHwRSLY5ZVJskjNcxq2rScBlN3q2fNjmcng3sdKtv5gGEoep5hhn2cg3qOHgSzeF/cmtB1Fv358LWo36vuqj/hpo8hMI3Cb2aEEEIiDxczQgghkYeLGSGEkMgzqzSzE0EjOp3WtlwlX0TcKbWapc3hXzbY1n1w6XTjfdL9mX76qiR8VLvj60rSIiJZR9kJLEmBbsEpU1oGNDNoz1PVo3cWrfvy4ZIt8zGgNLRRSGekU1YloAJwVwI0qGRQjmOl0s9ERI7AFNyePb2y/dsRm6Jq57B1v9c6Geo9MdA0WtKBntXTbvWTt3da3eY9bTsr2++HUic9cXudX+WDcfnRyAqz78287a92JcfwCqyirMfw1NQRs0/rdCIin2wLqjy/L7PL7Hsmc7ppb1XtV5K2AvT+Yfv8x1S5GBxf1Cg9Nd7puNUkddkhEZH5rTsr2yuTVmc8XLKlW7QOhhoZpk3Tc3QA9F+c24dKwdw/PWGP7YhZzaxfvUOjMq6fYfhJo/CbGSGEkMjDxYwQQkjk4WJGCCEk8swZzQzjrerBM+VBIGbKoZk1q+QL9iF0HUepmXpKvtTTB9TMCtCHvErN44orG79O8Fm0o2cw1k2l0crC2I/4UHZCxcWV/epxZePnDe4H01d1ePY6OT/QMw5DTM8R0BWGSkGskzuuzOpyCxM2rdOy5OHKNpav/8mYTbf0koqT2j1iy7i44qJcGpmIyNLOQKt7d/ces+8j7S+a9odbgjH732O29M3d/Wea9q8Hg/6+NWyPHYJ7y+eC/qIW60H/U+ngOXW0WA1nafuAab+zM4h9+0D7y2bf1Z02Tm55MtDffpI42+zb5i0z7bcGg1gtrZ+JhDU0/Wx2J+xz607Y2LfFiaD/H4F703NFROSgKvOi56OIyFARStioOYrH4tw+XA76sMRHjc++M/qdGiqP32cy9NupMfjNjBBCSOThYkYIISTyzFozYyNVTKdbWVqkMXPm1K9RPUv+eHvq6Ez5riz5ItbEl/OtWQwNBuUapkXTB2VaTIVc88EMoq6bhaFGV22dRR3TVyEZlQm/DVzxuz1I+aPSaPWXrDloCFJWjaqK1ugGrd3xO+LWVLQ4ac1gp6s0T78r2LF9ObfStHeOBpn6D49Zl+mcI0VVGlJULemwps7V3bsr25/o/FXV/omI3N7/9sr2E0fOMvteOmTd2YeOBn2MDdn+xcfsc1MFtyWOrxpMOWWRlNEWayLr6+g27VfmLaps/3bhErPv1fkvmfZ/7Xilst3aud32D0NU/NMq22+VrQk1C9W69bPB57YzucC0X04FZsdlCWviPT1h+7BXzSWsLD1Wsn3Qc3QUqrHj3O5XrvsDcRsOgO/MIfVOTbxr5Tqqhk8FfjMjhBASebiYEUIIiTxczAghhESeWauZHS8aqWjtSmGFrvi6unQ912yk5Iurfxh2UPBxf2zS7cnQLtWYvgrLzuiQgCy424fKvOjwAEf6qvHrBO1Wz2pH7Z4tQ7JHpbDqL1ttA92ZXe74aXWdeVBReXHcambzVDmTX+Zsf3ZmrZ5yMBvoQyPgDo6VkZPJ4L7nt9nUXGd32pRPH+34TWW7N27DF+7sf7dpP7Y/cFnf2Wf7JwdtOEN6UIW+WOlQoBKK1COz6MLO5SSkMztq2yP9wdx5ftg+Q6w8PdATPPP/s2ub2afHSERkWJVcGSva+XmgbHW8QiHoEz43/UxF7DN/PW1Tfq1KVp9Lb4HLP1aaLpaULg5zF+e2nvv9ZTtflyTssa1e0KdkafwhJuiaTwghhFi4mBFCCIk8XMwIIYREnlmlmTWiX51oMKarHlC/alasG+p2Or4NS9ajNldP2RebzsqCcWYD5UBEKQiWdbGfxrgzjQfxbBklzmQgLRLG1A0pbS5Uot6HEhtKuMEYpNZ4EJvVHbd6VS+UgHlTyXg786ebffuykAIqF/SpCOmKPM/2oU2lrDq93ZZJeX/Hq6b97lTQiX8eONfs+3HfOaa9c08Qt5U8YLWi5ICdGwmtk+FEgmlkHjFOMZj2WvpE7S0B2lw8q1K15aze83rexsX9WM3tNJz4/+p6xbQPqjE8krfa20je6mKDSpPC56afqYh95jtbFpl9byZt+q1eNSVfg3mm56CIyJgqAaPnrkh4buu5PwR6Nb4z+p2aeNdK3vRjgSeD38wIIYREHi5mhBBCIs+sMjPOFF4dqZkaSaPlQmfrL8JX+OlWlhaxf824KkuLWDMu3mUt93tzXrAHeSadVfUUWiI2O38BzYqhhFzqmphRHVzzU9o1H/owVLammNFykBJoBMyMurq1iE3rhdWkW1UKrQVxW7l5oWdNUNvywau6L99t9h3J2fCAMZUmqVyGkISUDTuY3xKYnc5q32f2fSCz37QfHQ3SPD1xyKao2rXXut8n9wd9SB+F7PbWq99MvKK9FSm1gAldDQtakWF4RVvQ4mMO06aIJJT1zSuhbdM+013x4F6fSNlxWJa0ptqLW4IxfRXGd99Yp2mPqueWz9tfzWOQ+ko/c5wPezN2ELV5GOeZnoMiIkeV+R3Tr+Hc1nMfze1DZZsKTb9TE+9aocm/K/nNjBBCSOThYkYIISTycDEjhBASeaiZNYhLI2tEy2qkDE2zQNf8evTAejQ0e004D4QAaLUQXe/RNd9V9sWDe8nEimrbnre/bHWmET8QbnKgIxTL1a+ZdGhm3Z51mcbn31fsrmwfKVgX7+G81SuKKmUVTqMMlnlpCapHvzPzptk3VLbz96dDQVmXVw9Yd3DvoNX4Usr9HjUy8PCWvJKO8gvsGCUWWHFrXmcwTpmEvZds0Z64fzDQjvKHrbt96rB9xqlgGEL9TUEoQTkZ3OurrXYcftr+dtN+TzqoYI3j+1KLLTVzaDR4rgUo1VOENGT6meN80HNFRCSeDipP4zxDzUzPUdTMcG7rua/fCRGRLPzu0yVhJt61YoyaGSGEEGJoeDF76qmn5A/+4A+kt7dXYrGY/OAHP6j5mc2bN8vq1aslk8nIypUr5fbbb2+0G4QQQuYwDS9mIyMj8q53vUu+/e1vT+n4N954Qy655BL54Ac/KNu2bZMvfelL8j/+x/+QBx54oNGuEEIImaM0rJl94hOfkE984hNTPv7222+X5cuXy8033ywiImeffbY899xz8s1vflM+85nP1H39kl+WUkSyWGHaKVeJlcauMz1q9UenycKUWahX1XVdFQOGfcAUZfpZoy5XruNvszjY65OqnY5Z+3/OB21GlZPH2BuXTpeA9D2tSpzpAqHmSMkee7gUlADpz9uyHfmS1TbKStvw4JptKauRnNoSlLs/N3XY7Pt5tte0f9sfaDzZw7YPLQP2vnUpF4wHy3dBurClgRK66nQb2/aJnt+a9gfaXq5sL4YyNH0lqx0+PXJmZfvR/e8w+363s8d26q3gOab6oRQSxKSl1L2OwTj8dr7VwbZ2BGN4YWav2bdFjb2IyOupIH5tJGvnYBn0Kv3McT7ouSIicqQUXLfLs+dphXln5ihIWji39dzX74SISA5+J6djwbHJWP7Y/xHXzLZs2SJr1641P1u3bp0899xzUigUqnxKJJfLyeDgoPlHCCGEiJyAxayvr096euxfRT09PVIsFuXQoUNVPiWyceNG6erqqvxbtmzZTHeVEEJIRDghrvkx8Bf2j5ms8OeaDRs2yPr16yvtwcHBObughUx8jmoBjZhgXWm8GqkRi+msTNb8mDscQLfQ7OEydcbhPEm4A51SC1NoZX1MqRWfdFskXC3AntdeU2fq7wBzYD+YlQZKgSlptGhNOgXIsK6nRzxuz9uRsmalJcn+ynZP3JqrXgQz476BwIc+PmSviaY4/YihmLHkTrHj8I4z3qps/+XyR82+TMxaa/796Hsr22+NdZt9S1v6TfsP5/2isn3+itfNvv8nbqWR3xaC3yVezv5aTNoMUOZecRz0GImIvLgoGMNL26xZUY+9iH02h+M2JRVWCNfPHOeDnisidi7hPMtA1n89R7HKA85t13uA74x+pybOi+dvlOO+mC1evFj6+mw59gMHDkgikZAFCxZU+ZRIOp2WdDpddT8hhJC5y3E3M65Zs0Y2bdpkfvbYY4/J+eefL8lkssqnCCGEkOo0vJgNDw/L9u3bZfv27SIy7nq/fft22b17t4iMmwevvvrqyvHXX3+97Nq1S9avXy8vvviifP/735c77rhDvvCFLzTaFUIIIXOUhs2Mzz33nHzkIx+ptCd0rWuuuUbuuusu2bdvX2VhExFZsWKFPPLII3LTTTfJLbfcIr29vfKtb31rWm75JwJMr9QsZspNv/Z1A2pVu3am7mpS/3EcwvpgsL9cIxygpGz88RrdSyk34VAKLbhOXukBeN+uPoU0s5iubm3Psx+r+iq382zJ7is5qnpjOEB7wmpmi5MDle03i7a69a4xa/YfGw20GSyh4tnoBeOOX+ywz7BjsS0P8t+W/KyyjaVE/u+XLjftoy/Nr2wnB+1Y/6LT3uuTZ72tsv13Z/2w6jVFRL7W313ZzqptEZEElI/R94paoR4jETuGOL567EXss8HnZgMq7DPH+TAKIQqjai4timEF6OqaGYJzW8/9fEhXrl6lfuJdSzXZNb/hxezDH/5wxYFjMu66667Qzy6++GLZunVro5cmhBBCRIS5GQkhhMwCuJgRQgiJPCwBM8eopR2dCFx/UaFO59KHXGVnPLDPYzor3YdQCi1H2qx60niFU2hVLzuTBc0sVw7aeE0fxkTLb3HP3ktL3GokuiTIEUhJdBTSJJWzQR/jeRhrkD98JdsU2+zOlfOOmPan2w9Utv+P1y4x+wa3Wd2u9/lA08nstxpUtsdqRfuVXvXPnR8y++494xHTvk/16YU2GyvmJ+yziSnZEcchn7XH6jHE8cVyLPrZ4HNDOVs/c5wPeq6I2LmUccxBkfAcdaGvi6nkwu+MiiU99n+zfxXxmxkhhJDIw8WMEEJI5KGZkcwI0600fbJdYybRJh2s6h1K1aXamFYIzYyaWMyaqzxoa9dsNG3mwVwlJXWdGtaosrK2+Ul7zR5V3VpE5GApsNv97shCs6/tLdOU9h1BZv/SK6/ZfW8/w7SHF59S9bwHT7chCrpP2N8yZP03TwbHoQRmRzWGOL7oFq+fDT43RD9znA+uuYPzrB6z4skOv5kRQgiJPFzMCCGERB4uZoQQQiIPNTNCThCNVOduWh9c4QwNlOhwST6oxelUXumETadUSIE+2BK4t8e7u6ruExEpp6qfF9OHhfRBRQ35yolrDE8GzfdkmIPNYvbcCSGEkDkLFzNCCCGRh4sZIYSQyEPNjMwIcaUVNKINhONiAu0jDnoEtjW1ysW4om1c551u+p/xawbtglhNJwVtXZojAdd0xSSVynbscxA0NaJKrixO2NIsrQkoPKLir3z8zQGPWFcS8cbsfb850m3ao6rqxoU9u8y+R86Yb9rJ4eCzLSs6zL6x+fbeBs8IxukSOO8oVPrQfcL+hqqiqHsNjQPEqOkx7PDsePYVbf/1s8HnhuhnjvMBy7jouYTzLJSGqoH0bGaf61089n8DUuSk8JsZIYSQyMPFjBBCSOShmXGOUYLv9p7OUIRFVsHSgSa/ZjFTCXXiLvMbVsJVN5uEDPaeoxpvPe7rWJVaV+fNQXXrDGQzz3g6ozpk/If71I+xXLb3mS0lTftIqb2y/XvpfrNvYXrYtBOZoE/llD2P79l709WYEyN2366D80z77kWrK9tf7Pnftn/nt5r2zxecHvRh0PbB67Rln9+3YmfV8/5r/2rT1n3C/oaqaKshLafs2OsxErFjuDhuTXw7cu2mrZ8NPjd8NfUzx/mg54qInUs4z7BCdD0V4/XcR9Mmzkn9Tk28a80OTeA3M0IIIZGHixkhhJDIw8WMEEJI5KFmVifxmF3/iz767U6PEmgvySrH1QtWlkbNrFk0kvpIExoHSDukXX6xenQ9hF2SdeVecHWW6tV5QxWroV1UmkQB3OKz5eApj5TtfXeA7tEeD/SgDFSLRs1ED1kRtJfhgq3G3FcMUkLN8w6ZfStbDto+tQeVnQdaM2ZfcgiekyoCnRy2+0b3Wx3sBx3nBdeIW93r31b8xLR/rKpJ7y7YKtTLk4dN++OtQZmX//foO+w195xn2kXVp1boL4q6ZVWAu9hqn1tXu61+rcdwnmfHTI+9iH02+Nyw0rR+5jgf2mEM9VwagXvRc1DEzlHUzxKgi+m5jxWr8Z3R79TEu+aqGj8d+M2MEEJI5OFiRgghJPJwMSOEEBJ5Iq+ZxWNeRccqN0m/OtmJo47kV9eVGonhKmO6KHXdOB5cBxhfotsY6+aBRqlbcbi7UHoddapwKXnbh4LaXxQsF2LPm1LaQa34Glcfsn5QsmQI8iL1QkxSd3y0st2ezJl9KShvks2r5w9pkYbzVjN7KxfEV71SsOmW3pnZY9rLu86sbP+qy6ZiKg5BzFdezRUr4UjmoB2HQ16Qsuqf8+83+37es8K039O5u7I9P2Hj4HZkl5r23QeWB/3d32v2jbxp+6/7hP2FUCyjk5W7rFa0vKvftPUY4vjqsRexzwafG6Ys088c54OeKyIiXSoGcG8JdFvfls3BOaoJx44FfUjF3O9M0aTU8o7931z4zYwQQkjk4WJGCCEk8kTezHiiCad4qm7qjJ8ElWVdoFt82WGkDJk6wQQRV+bCWmlrjFt8yDU/Dm29DSa+OoyqmM6qoNpZH1JJQfczKr1V2que6kpEJK9eMXS3Hi0HJp7+snXbfkfS3suixGBluztp3b9bkrYPw15griqV7DVH8tYc+NZYd2X71zlrivsvbftMe8u8IPP87oXdZl//sG17ueC5JUfMLkla66DElOkrO2Ld1Z/Zb1M+bWkPzI5xMK+WipCaaTi410S/3dcyAG7ndkgNxRbbzncHz2beQltp4Hw1RiIiF6aDm//RiB1fPfYi9tlgOqt43M4H/cxxPui5IiIyzwtuYEeh+hwUCc9RDc5tPfczMUyhZT+r36nCMbttoclhQvxmRgghJPJwMSOEEBJ5aGYkhEQCr1yWC3e8Lqf0D8mB7g7Zeu4yKXv8e5yMw8VsBvFAVwqVWHFQcpRjQZ0Or1NPZql6XPf1dfFXiKuyLIIamk6bU/DdPUqZ8ABwV8Z0O+ru0OW4AK7wWdXO+db+3+rFoR24QqNWgLqCvaY9z3Ap0Mn6SzbF07BvUzMtjgeawykpq9N0pKxrdn880EhQM8sVrGa2fyxwUf/N2Klm37vSb5n2R9p3VLZfO2WR2ffsmHX5zxeC+4mBPon6VEJ5ksfzELYxMP5cPvbSC7Jh00OyZGigsm9fZ5f8/SWflsfOGU9NBbKS6MLOcSiaDdmXzIQOaWTzIZ1ZT3AD7zplr9mnx0hEZE8x+CyOrx57kfCzMdeEUA39zHE+LI5bzWxYhSz1l2wKMD0HRcJz1PQh5H4fzH39Toy37Xl06Zmsnw79rBnwzxpCyEnNx156QW5+8C7pUQuZiEjP4IB86767ZO2OF05Qz8jJBBczQshJi1cuy4ZND41v475j/3/pkR+IV56pEq8kKnAxI4SctKze87osGRqo+ovKE5HewX45f9frx7Nb5CSEmtkU0GmdaqVx0rpSyRFzVi9YlsSFjgEr1KHT4RVQt0sYvQpKywumoVLtGl3QGhqOWAFSlCXVsUksvwJ3oMux5KH8Sgl0Rq2hYTmWeQkbi9MZC/QB1ArSnhVjdNmMMmhHo6XgvEdKNp5qf8mWX1mWCO7l1NQRs++1tNWvDqcDvSoPsVeoofWPBZrJK8OnmH0/Ta8y7f/WsbOy/V/m/8rsG4LSMi+Ug9RS2bgVoVJHQUNTmhmE7cniw1b/qUZv36CkuhwHYFUX+0ilqCTL/DxIk9ZjRb539gY6GY7Du1P2+d89FIwhjq8eexH7bDwo69OatqLfAhW/hvNhWcIO4n71CuE803NQxM5RLPmCc1vPff1OiIi0xux5j5SCMZx41/DdbhR+MyOEnLQcbOts6nFk9sLFjBBy0rJ16Urpa++q6nVbFpF97d2ydenK49ktchIyq8yMns6+fgL7MVVM6iYwxZUdVZQ9sJk0K00WmhWxD7rKNoYDYEXrusIDfG0WtfvQTT6p+pABM0jYNV+ZhyHdFpr8sn7gFj3qcE8WsZV7OyHFemvcmlsGi4EpaQzOmysHrx+65u8tWrftMzKBief0pK0I/btMj2nvTwefHc1Zc082D/etUijtHbZ2ul8mbcb6BfEgD9Vn2q35r+A/b9opL3gWL6QhY32LvddEfzAOiVEwX+c9+draT8vND94lZbF/fU/Mzq9/9FNSTHthU6Ia7rBZ0c6HYncwvm2LbNb583qs+/2lC7dXtnEcHhheaNq/HAzGEMc3m6/uio+VELrSdp4tzfRXtnE+LPCsWXdHvvo803NQxIbJpOF9wrmt5z5WRselRb9TE+9azm/udyl+MyOEnNRsOus8+Yv/+lnZ32EXg/0d3XLTpz4rj7/9vBPUM3IyMau+mRFCZiebzjpP/vfbz5ULdr0ui4YH5WB7pzy/dCUzgJAKXMwIIZGg7Hnyy+XKw7LJWddJtOFiNgmoHXkOSQr1q5lChwfUuqZXZVvEVaAmDJZj0eEBYdd8i9Gr8DyOStMFrAANIQntqrxJJoalWlBfC/ZrTWz8mrbHeWXTH4FUV8NlqxXoyr3dntVXOjyrbRz12irbubLtg24PFK2W0Ve0JrXdxaBi8SqQWnZm9pv2/tbAsw8rSxeg0nCxGIzDYNYe+7tBq/9sjgeVpuOxF82+z7Rb3WZ+/OnK9qaWc82+rZ3LTHvv0eBes4O2D7Gs7W9MpbsKFRaHSeingnnnZyAVU6d9psvnBdlF3jPfVtj+WOdvTPsjLcEz/gGUrNk8eKZp6zHE8cUwiYQKv+jI2P4tbbXZT1apZ74qaXW73ZCqq68YjDfOM5yTOsQGXfFxbuu53wW/JPGdGVHv38S7lm/yHyP8jk4IISTycDEjhBASebiYEUIIiTyzVjPDMinNTC3lQqeS0vFTIlb3qpeyipxLxsDOHYrXqH6vGA9WUl1CbRBL1pRVrFYyZrWMuFj7uk41la0Rt2X7A5oZjJm+bgZi3bBEhY47i0PkYR76pNNZjZattjHkW/v/EpWeqduzqY46QnFnQRoiLFGfVzE+wyV7TdTMdhUDzeT9GasNnpXaZ9p7W+ZVto/mbcxRHjSzIVW6pVCwvw6OjFh95bexJZXtIozfYOl3pv2fWncG/Vv4U7Pv2TarmW1bcFpl+zWI0zqcbTPtkXwwhqUyxDp6dq60pYKxX5AZMfvOAI3v3a27KtsXtVjNDN+ue4dOr2z/bMim/Hp5wKas0mOI4xuHmjXtSic7pdWWdVnRYvurn3kPpAt7Jmt/P+i5hPOsDBp1SulkrVA3B+e2nvtdnk3Nta9k3wv9TgXprJrrb8BvZoQQQiJP0xazW2+9VVasWCGZTEZWr14tP/3pT53Hb968WVavXi2ZTEZWrlwpt99+e7O6QgghZI7RFDPj/fffL3/xF38ht956q7z//e+X73znO/KJT3xCduzYIcuXLw8d/8Ybb8gll1wi1157rdx9993yzDPPyA033CCLFi2Sz3zmM83oUog4mKRClZwdaBMfmsF0iicRkWKTMkGjW3z1xDfhe4urPqJbfD1pvrAPehzQjJsM9WG6rvmYZsqaL3V6qzSMfWsMTZ1FtW2fS7jydDjdzgT9kPJnoUrVtDBuTX465ZOIyJF4kKV8CKr6ajPjGGQvP1q05rXdhfmV7Z74brPv7JQdzwPKTDZQsiaobMneW0G5h49B6qs8mMUODgd9KpSWmH2DBXtvb+aDisbnt9ryLB9tfdO017UGFa1f7bb921OwlZF1OiasiozPuDseuI4vS9rK3W+DzPJ6rm/NzTP7nhu1eR93DAf3vnvIHouZ8LVpMQYp1TIp24eFrYEpFM2g54Lp82xlQv0d5IDbXbDpzfRcwnmGaHf8rrg1FeLc1nMfTYb4zuh3auK5YQKsRmnKN7N/+Id/kM997nPyJ3/yJ3L22WfLzTffLMuWLZPbbrtt0uNvv/12Wb58udx8881y9tlny5/8yZ/IH//xH8s3v/nNqtfI5XIyODho/hFCCCEiTVjM8vm8PP/887J27Vrz87Vr18qzzz476We2bNkSOn7dunXy3HPPSaEw+Xq9ceNG6erqqvxbtmzZpMcRQgiZezS8mB06dEhKpZL09Nivtj09PdLX1zfpZ/r6+iY9vlgsyqFDhyb9zIYNG2RgYKDyb8+ePZMeRwghZO7RNNf8GGgmvu+Hflbr+Ml+PkE6nZZ0Oj3pvgm0flVuchXTqWK1JNsHLJtSj6e+1vhKWFEZ/ibxHBWhXZWnUU/Dtq4M2+5ZbSMZQw2tpLbRLb7631AYzoAlYbSGhtVsMzFr42+LBbrCSMzOHVd6K9w3BC71A+VAi5nv2X2L4tal+nAi0MxQv9LlN/KgMQwXbX/3xwP36lcL1n292ztg2r+XDtpD5erXFBEploP7trWtwxqa1n+OlK3bfrYIbv25YP8bY7a/z4Gb+UrVX9S2fi9ty690qPiRJM5teKGGVMXwPih98v+NWhf613NBG/v71qgNkzg0GmhQWGIHU1RpnawFqkUvarPhAqs6gidwXqv9Y10/UxGRUfVKvVqw97Ifwjr0XHK54otY9/v5CauR4dzWc3+gbO9tCOeHeqcm3rVykwt1NfzNbOHChRKPx0Pfwg4cOBD69jXB4sWLJz0+kUjIggULJv0MIYQQUo2GF7NUKiWrV6+WTZs2mZ9v2rRJLrrookk/s2bNmtDxjz32mJx//vmSTLr89gghhJAwTfFmXL9+vXzve9+T73//+/Liiy/KTTfdJLt375brr79eRMb1rquvvrpy/PXXXy+7du2S9evXy4svvijf//735Y477pAvfOELzegOIYSQOUZTNLMrrrhCDh8+LP/zf/5P2bdvn5x77rnyyCOPyGmnjaep2bdvn+zeHcTGrFixQh555BG56aab5JZbbpHe3l751re+NWMxZs0EU1K5EjXVk1ILY7qwWVa6E/YBS8KgTmaPxetWB2PxSsr+X4LSLEkYiaQ6sxcas+pxZxiDhvpaTl23y7PXbIN8XJlyoAdgeZgspATLqlIYWSiLgXrbEVXeYj7kB+uB0vKH40EISX/C6gijKuanWLb3gqU5DhU6KtutntUnOqE0x/npQNO7IGNj0jA2S2uUXmyRvaZnY920PoTa0PAYaJJaXxuz9707bWOztqdPrWzPS9mSOp2J6unBcF6hHqTHd7Bo47+O5m2fBnItatseO5q3z6JYDMbQx7hTSFHVqnQyHUcmYjUyEZHfawueFT63+Z79Vf2c0iQxFk/PFRE7l3DMcC7NSwR9XBS34U89kN4qrt6LIzB/RyAlnH6nJmJ1MWa3UZrmAHLDDTfIDTfcMOm+u+66K/Sziy++WLZu3dqsyxNCCJnDMDcjIYSQyDOLs+ZjxvoTc93jAabU0ln0vRrVArSVrASmTcyir6s+FyF1EGbR1+mtUuCan0PzpcPM6EpvNQruwK3Qh1bldpzxrZkxBaEbhVjwKmCqq1Hfmkz6lQnlYMmaxRbF7bGLE4E7cz+4Kw+r9FboMj8G4QAjyr16X6zb7MM0TslYkC7q3Snren1hZqdpe6Yagz3PG3FrvtofD8xXw1A1uVC0Y5/PB/dThH0j4M5+wAvCF5IJqHwQt+2EF/QX00OhyU+HHWC1AOyvPhZNqGXIzu+p7PyppB3fdqgQ3aOy369os2EH72qzpkRtWjw1bk2b2/J2frySX1zZ3pfvNvtGitUz47eAWbErYcNZFiUC06KeuyLhuX2wFNwrzm18Z/Q7FT/23OKxOmKTpgC/mRFCCIk8XMwIIYREHi5mhBBCIk/kNbOSX65oPagdaRqpPK1d1FFHQhd1DZZmaaTytHbdD6eBgarPOp0Vug7XURLGld6qAJqTK71VWNOxZ9YuuiHNzEfNLNg/CjrYwrh1Je8oB+l4hmJWKxgFV/280tvQNR/bQ7HAjfsI6Hbdnr3XXqX5DCWO2j4o7Q2vUSra+9bprtDNHDU0XVU7Lm+ZfedBBZBMy87Kdhu6/INb/GvJIM3T/mSn2Xc0C6VmCtU1M2yb8jvgBo+6GLZdaA0N9TTM6qZfVbxGCnTHjNLJ5mWs5tTTat3Zz2gNUned22JL37wHUnX1xIOH80LejtFLuV7T1joZzgdXyip8pj3JAdNequZoL+iVmFruiJqTmDYtNJ/V+Ge88XevUMfv4KnAb2aEEEIiDxczQgghkSfyZsbpok1x0606LSLihUx8OnM/nteRRX+aGfTHz1o9iz5ms8fM4jYb/9SvW4rheapnBEmK28yoTYmuKtR4bBZMnTkwO3aorAkdsG/Ety7UphJuzL4W6Kqvsxv0l62JZ3/JZho/I6kqTZftvhFl0kGzDGbqGFRmmiLsO1q0btEu8mITfJ+TDMbl4pZ9Zl+osnByaWX79ZTNFvJWttv2KRv0abhgbZtjmFFDucWXy263eDQXThXMzOF5tq1d/lugAnR7ErJkZIJwjKWZfrNvZYvN6vGOdGDmPTdlXd0F5vZz+WCcXs0tNvvezM83bf3McT4kwKzfrrLSoFmxF0zfvao690JVJV1E5LWCnQ/95WA/ZvzAd0a74aeO9Q/DexqF38wIIYREHi5mhBBCIg8XM0IIIZFn1mpm6KY/U5WnT0QW/TJoTtgHnVoKXehd6a3iobAD29ZhCQXQyND+nVa6UyZmXZuz8FlP6281tEOtmY3CeUbLVuuYFw90hQ7Qq0ZjoJmpLPr5GLqOJ6Ad7O+HCsaYnb+1GFz31AS4L/sDahs1M3tNHdYxXLL6BFapPlwIQhTQTRu1uNFy4Dr+Nqjy/OEWO769iZcq26+mrDb0esYW4n0zH2TGP5Sz2svRvB2H0WKgFeVKMNaQhqqeTOtap0mCm3k6budkayLQxealrLv9wrSdO6emAp1pZXq/2Ydj+PZk8CxeA9/2VyHb/c58EPqwr9Bt9h0t2HmmdTKXRiYi0pMMwgV6k1YjW5awGpqeo/uK9r4Pgy6m5z7OKyQZ0xXix/vnUzMjhBBCLFzMCCGERB4uZoQQQiLPrNXMkGaVhMEYL0xv5bqmK73VdFNbjX+2enorvGYS/n7RmlqtMbHprGwfdGkWEZEuld4KY90wziyptC8s+RKqPK1j6CDV1Qjog2mVaqrLs7FOo76NHdJxZ6hfleE6eaUPeHDskZLVh1Jq1DKg0y1LBOfN+VbLQM3MjEPeppJCDU3rKai1FMqomamYOdD/DpYOmfZKdasfbbExU7tAK9pTDPr4VsFWlj5UtP0/Ugx0pVp6oO4/pofzIPYxqVKL6ZROImFdab6qsLwwYVNSLQ3pTMH+0xJ2Xg3AS/SzbNCHnYVlZt9eHJdCMHdcz1TE6mR4L6ekbP+1TrY8gfcCFcNVFfX9Jffc1u9JHvqXAj1Ma8lt3rFreNP9LTw5/GZGCCEk8nAxI4QQEnkib2Ysix+Y6JS5ypVBXwTc5ENZ3Kef3kq7DmMfio7wAA/Mgc1Kb5XAdFuh1FLV03phb7WrvqsKtYhNLZWOWXNFBkwQhZg2M+J4Vnf5xYz66Kqvq0tjRv0uSG+VVWbGkFs8mj5VyiU8FtP6HI4FprskpLo6TX10RRJNLgdlqniFDtPWJio00w0WrVu8dqkeherWaHbsKwVu3OE0SHbufDgTjO9gylZUPli2xx5RFbcHIT0YVizW5iw0/3rwHmtTVyuYeDs9mz1+fjxoL4LJ3elBlQL1IvzKWqtlb9GGKPQVuirbh4r2OQ3AsxgrBePvynwvYk2LC5PW5LssecS0z0gGcyk8z+x19paC9mGoHo1zW899rBo9kRl/Aj3e3cfMjAmaGQkhhBALFzNCCCGRh4sZIYSQyBN5zexkQ7vYo9qD6aw8dWytytfGHR/0NExvVVTnQr0qKZiqSVclBpd/R3orVxXq8fMq12EPNTPbh6xKdZME3Qu1A+2an8fxBH1tqBycNxOzGkkX6CBZf0xt22PR7Thv0oXZVwjd+nUFXhxfTwINDV2kT0vgfAh0jziGNoAGeUhpaFiFOAelZkaUvpYDfW2oZD97pBi4Zvclusy+nQmrB54SD3Sc+XF7b/NB/+lJBcJTO4aviH0WmJ7NhU7rhmEywxCaMaR0vD2QQutI3o7LgVJQCkePyWTtgVLw/MfA1R3d7fXvg5YaVb+1ToahA6cnbJiEnktxeGf2FO1cOljSJYsw/ZrtvyYJKetQo+xQmlnXsZAJLMPTKPxmRgghJPJwMSOEEBJ5uJgRQgiJPHNGM5upkjDNSm+FqXkaSW/l+VqLg3Ir8PeLTjVVgPPUijvT5OHYpLpuDmK6XHFnBdCDML1V3Nwbljexx2bVZ7V+JiKSjFu9otsLXoUc6ClY3qKgdMcRMPtnUZOC2ByNjouKl0bMvl7on44PSsZsDBrqFVpDS8YgtqmEsU1Bf1HDGSrGqx6L59lfsBramypuqz1u9Z5Oz5ZYafUCfQVL6GC8ko2Ec5NXzwmfS9a32pZO6zUIWtEwaIdaS8TYvFq6mAZLt7TEg3vtikMZGoglW6piyU6HmL9T4be61sn2luw1D5Zt/GW/ii3DuYvld/SzafPccXzdSgOceNeomRFCCCEAFzNCCCGRZ1aZGY1pDly80cxoTX5TrwBduw/BdfFredjUGfTXQ1MhpIfRu11VqEWsq76rCrWIdXVOYioph6s+VqEWTG+lPovu1Oiq36rMjoUYmPjgWWhzLJoZsZ1TJp4hNIOW7XXmeYFpaT6YP/K+NaHo65TAtFmGZ6zd+l0mR0zNVPKtq3tvIrjmqqR9bTMxm92+TY0hmn8OhlIqBWYlzNSOrvraZIYmyBGxnz3qBedNe9XNoCLWXIX7sI0pq1zoMQ2ZiqGtzZC4LzQOOnM/TnxAmxJxHDDbfVditLK9KAFmxVC2+yAz/qkJO/ZYwUK73+8v2eff70hZhb+/XJnwu71Rs68L5t18L3gWLbFx0yxKCo3Cb2aEEEIiDxczQgghkYeLGSGEkMgzqzSzZoHVmespCaNBvSqc3sptb58uJYdehZqZbqM+FUdNyrjFwzVhiPKi9UDoQ8hVP5iGGXAzx5Iw2s6ONn1XVWpXqisRkbhKmzQvDtWZxbrNlyXQA0q1/h5UGgSmxXJpaEhBAk1icdzqfWckrZt5ayzQUzrQRTpu7+VgPKj67ErFJCIyqkqUoI4Uqsat9mMZGtSHzT7QUVA7jtdRI14/m1Doi1/9udXSwXT/0b0edbFW9azQ3X4+pABbpHSwxXGoFg3PfEkieFYHIKyjD9NxlQL3e5dGJmLfKdTIWkEH644Hc7Ib9i2AkkDzVAmmo6Xxzw2VqZkRQgghBi5mhBBCIg8XM0IIIZFnzmpmJuYrVHZk+mhdCVNblRyxb6hPoY3f7K4h4en4NSwP49LQkqDpoOantThXeZjxz+pr2p0YB9Ou+tAKMWgliAcrKDt+KM7MkToIU12NgoIZ1/F2ZaszLfCsdlTydUyN1UFcWoyAPuGKQcP4NX1swbcaSRZi0nriwbk6PPu8uz0bk7bAC851IG5jkI6UrIbWX9IxaTbFk9bTxvsYn3RbxMZpIaH0T9OTq2vi0u1SNeLidLsVtCxM3aV1pfnx6mVyREQWKU2tJ25/NSdjdn7sLgbnOghjf7hkU1TpUi5YxsUVS4YaGaaoWqDSks2HebbAs9rcsHqnho79HhzyqZkRQgghBi5mhBBCIs+sNTOGss7XSG+lwczyYtzBp273KIcMlpAB3nFNNIO4Umxh2iltsgylpMKUVcrMgG77eKxOUVUro742O6K5NYfPQlSlYagAXQATT0G57uOYoGlWu+ajSTKLVX7LOpTAmpk8zz6bhXFtdrRmxpLYtD7O9Es6dRA8/5A5SNl1C2Aizfr2miPKpIMu0qcnrPlnoUqptKh0wOw7WLJmMO3WrU2OIuFM8zqb/CikyXKllsJ9SMj87iCUEk7hMh3ivlZIO9WqMsBjBQBtVhSxaZ4WYSZ8qIzQHgvG9HDZHnsYKkIf0c+ihrs9VkPXuNzvw/dizYzatGjfCZEcSAn9KhRmpDw+10eba2XkNzNCCCHRh4sZIYSQyMPFjBBCSOSZtZpZPZzsVajH+6TaeB6HjFeGPmDKKk/dey3NLKm0Lld5GBGrmaFpvJ6q1BPlIirn9ZRuV7b3UgL7v+5iPlTmp3q5mHBshnW/nu8FfUKtADW0OLTNPqWn1dI5dIkSdP/HY/W5hkBP6weNZ746FeppPeB2fqR8ODhPecDsG4KKy9odHO8N9UBX+RXUEp2hD4Cp5I1z2VGGBqtdYxmdDjWGHZ4do25w65+vKpi3xOz4HgVd7LVS0O6H8USNctQPxhSraGPatLjSDrEqefjelN4amit2zPTcx5CfIxBSM1QOntvEu5arQ/+cCvxmRgghJPJwMSOEEBJ5uJgRQgiJPNTMJiFcmkXHK01fT3PFeIV1O9DbdIxXjT5oPStUxgW0Lm3rxvtOCJaL0amkIM4M4+9iep9U3SciklVanAfxKa0wLq1KQyvEbNxL2YO0ZErIq6dcTEiDBA1Nx8V1eVbbQA0trvroQQxaSj3HOFw0pDNJoIugJlIqQ+orpX2iPjUEGkm/0ki6MWYK/tRdqO51KaRbGvbteYfKwb2O+u4Yv6wjzgz1QHxuLvSYolYU0sxUO4OxVxCv1uEFfWyHNFM50PSGlQa8t2THF3WxoXIQY1lLZ9TjgnM7Dv3VGiBqZDoOTkSkS+0PlXGBtG76d8eAQyMTsZr0xLtmlcnG4TczQgghkafhxezBBx+UdevWycKFCyUWi8n27dun9LkHHnhAzjnnHEmn03LOOefIQw891GhXCCGEzFEaNjOOjIzI+9//fvnDP/xDufbaa6f0mS1btsgVV1whf/d3fyef/vSn5aGHHpLLL79cnn76abnwwgsb7dKkuNJbuVJbIc2qQo19qlWFWl/XmVFfxJjJ0ByITZ1Vvwjmy3TMmjaSqpe10mTl66hKrUMWwqmuqrvqd4CJT8DUEXLVV6CpS5uv0I0fx6xfdbEk6JptXymdcd8DN/1ULGhj2is0i2mzk8vkJAKu7jHYB581bvxggjoSs/fWqtzX22LWPNUBcSd6HHpgHuHc1vMuC+bKsm9NyaH57ECb2D14bzMwLgkJ5hL+rsBwkVFlXjtUglRi8CxGtenQt/PVZUoMmVcdpkQdViDiDi3AyuML4Jl3qeeIZsUx384HnaLKZVYUmeSdmgEaXsyuuuoqERHZuXPnlD9z8803y8c+9jHZsGGDiIhs2LBBNm/eLDfffLPce++9jXaJEELIHOOEaGZbtmyRtWvXmp+tW7dOnn322aqfyeVyMjg4aP4RQgghIidoMevr65Oenh7zs56eHunr66v6mY0bN0pXV1fl37Jly2a6m4QQQiJCXWbGe+65R6677rpK+9FHH5UPfvCD07pwDGzYvu+HfqbZsGGDrF+/vtIeHBycsQUtpKEpHadZVahFBErLoE28uqt+PeVhavZJncurkfpKu+onQ5pZc6pSY6orD9NvqfIsraCZlcAluay0hHLZPUZaQ3O67YtYDQ0mRBnKx3Sp9FsL47YCcFJpZsmY1S7QPVy7ko+C1hJKhWW0TSgtA6mPtKYWcuPHPiiNBHWZcFsfm4d9eG9qWyyoUdfz17cpWVS2D2oA5lVBPVNX6MB4O6W2ITWXQ8/EkAqXLobu9ViqRc8HdLfHCtHdJvwC52cc2oFONgDptgbgHRqZJEXVBC6NbCJkwlXtezrUtZhdeumlxkFj6dKl07ro4sWLQ9/CDhw4EPq2pkmn05JOp6vuJ4QQMnepy8zY0dEhq1atqvxracEkq1NjzZo1smnTJvOzxx57TC666KJpnY8QQsjcpmFvxiNHjsju3btl7969IiLy8ssvi8j4t6/FixeLiMjVV18tS5culY0bN4qIyI033igf+tCH5Bvf+IZ88pOflB/+8Ify+OOPy9NPP91odwghhMxBGl7MHn74Yfnv//2/V9pXXnmliIh89atflb/5m78REZHdu3eb0vMXXXSR3HffffLlL39ZvvKVr8gZZ5wh999//4zFmE2G0XgwtskRd+bhl9kYpqiauh1YHxsq8e5j3FFgk8aYLmfcGZzWFXdWALs8psLytGZWo1yMuY4j1ZUIaGiwrwCfHdVxZ6BXoYZW1joJlK8Qh4bmikETsXoAap2ozZVUTFLBHzH7urwgBikTtzcT1pmCzw6F9lm9SsczZSFlUkGql1hx6WkiInGlaI1AGidMx6Xj5MJ6j9Vt9Gcx3g5Lt+B1XOjnVquUjD4WtSyX1oVzI3ze6nPFpYuFS9TYZ96m5gDGjnVA3JlOS9bl2eeGv88OldQ8K8O759ASa6UZ089tQjMtxhrxQAjT8GL22c9+Vj772c86j3nyySdDP7vsssvksssua/TyhBBCCHMzEkIIiT7Mmj8FjNkRzH/N+qKMZjr8O0N/wcds9uF0VoGJAl3m0XRo+lDDNV9/FFNducyM4WoB08+wr02WOXCDj4MZp12Z8aRsTTHNMjuiecV1bLls+1vwdcVi+yqeAm78aeXG34pppsBsN6Tcw0fBHIgplepyHVdzMl+uXs1YxLqoo6kQsRWh3WbEeB2mqZKjKnUt86A91rGvhulQg2mnXObXtlAqMagIrUzLHVAtosPhbj8M78FQ2Z53VHUfU3MVHKZZBJ/jZFUJmm1m5DczQgghkYeLGSGEkMjDxYwQQkjkibxm5kmsUlIiVOZlirjKw4hM31V/um76IrYsyvj+6iVrXFWp0eUfj62nKrVOd4V6GmpoliK0p18uxoYdYC4pqF2rhsnoZyJODc2rkfpKaweYtgd1hJLSoTCEIq90hIKgnmZLi7Qrl+pWkEzbIBVWmyqjMgJu+0OO9Evomu+sbhyrwyUdxwhDSXwsgBQQ0qCmmQEpdE0HLt1LxGqASc8dOpCMOVKAOUq3dITKuIAupn4HtHvu5BVHVZmaIXhnRqZQEXoqpARDiWy71aTfOvYs8Jdcg/CbGSGEkMjDxYwQQkjk4WJGCCEk8kReMzveuMrDjKP2N5DqyhV3hgoDlqHXZTOcqa5EjAbhSnUlAumuYB/2YbrlYsLprGzblfrKqaHBY0MNzSuruB7QMjAGLWtSddlDXTpDSF/zdQwalCSBGKSsiklrhTiidkhR1K62RyENUjiuKNifhfOOOjS0UEwapslSGhrGq4XSmelYPEe8VyPE4ZrhtFnV381Q+i312SSovBg7pnWw1pBGZo9tVVodxoq1xqrrYvoZioiMwlzSsWO1ytvUSkul0TpZOnTfdnzblD7WfkxfLzPOjBBCCLFwMSOEEBJ5Im9mjMe8wPRnKkJPv4qpy1UfzYxhN/npV33WzFRVanSLLztc8xF9XjQRFB1VqdOxWtMsMONkMV2YI8N+7dRX6lzgto9VqU3GfbB+eGAeiuv5gGERoZRQ2kUdQx+Cdq3UQVk13qM+mqdsRWBthmyN2fRV7WBvG9NmRjjvKFQlzvpZtV39Psfb2sUbKiw40iJhCqpyk/7e9jD7vsPMiCbIlGDaKZ3dHqsdoLktOG8rhDNkoPJEi3pW+DvIZUochffA9WzqcbcPhxlUv9cMvk9wr60qdGfiXSt6NDMSQgghBi5mhBBCIg8XM0IIIZEn8prZyYZ1UT/xVakRdHXX53KluhKxmlohFJIAOMrFJFFDUXpGODxg6uVi6kp9hSm21G6sWI2lZeJKfwtpMXDerLpX1JWm68YfOk8MXbGDdhr0tDbQV7WeOQ/uex70KecXJ90WEclCW6uMOOfyIV2sekmdUGjJNMF3BvUgrS2nYvg+2XPp2ZwJjWcS2tV/xeIYDqoUayMwX3OOMczVcK+frrt9LT0wrU6L86rVw3FQZYmOhcGMlqmZEUIIIQYuZoQQQiIPFzNCCCGRZ1ZpZibeCuOVmhV3VqM8jG43K+Ys3B9HCi2x6a5cqa5ExJTfwBRKOGT1lIsRx727y8Ug2Kfqqa+cGlqN1FclpfKUwZbfArFanSqOK4nxP3DfupxM1qHT1CpJX3LoShh3mFNjlAXdYzSkgwT9T0oe9tk+JU3ZEZtCa14M01kF18EYxAKMkZ475dBzqf7eut8CC85XD96DuPp0EuZnAjRe/Y7jveR8G5OodTCMoYSkaZI1uqg7js81H1zUih1LqlF1paQSEWlVzxzfEWTYjMP4mI3V0t3rhN/MCCGERB4uZoQQQiLPrDIzukBz2/GoSo3XdLnqN1KVOuzyH1w3nOUfTqZMi83MsG/d4sH0Jmi+qh5KEEZn7q/uti9SX+orPaZlQTOYzTSfUe7Wzuz7IpJUKaHC7tZBG13xC9ieYlosbKMbPKbf0mbI2iaootpn3cpTYLZLqj6ETXqY1imhjnX/fR1+p6rjesfRVK/NhRhmUAbTYUGdNw/jiWEIBaluOsTn5nrG9eB6jkm4bwxDcLnbY5iBDmFB8yqOoZnrx8YsW8fvvKnAb2aEEEIiDxczQgghkYeLGSGEkMgzazUz1IpKTXYDnU4fZqoqdVhDq14R2lUuBtP2hNzrjQ4GfXBpaKHq0dXd9uvRz+LonA3jqz2JceRdGhrqIKGyOUofwFIyqCvo+0mGdAWt01TX00RsWiyX1jLZfte+ktJxUGvBUiJ6P+ppWGoorsYFnxP+BR1X+tvx+uvaNR9C+xyhEFiippFnUQ+uZ4HPUaehSsMlM46yNBhCg3rlqNKHMTVXAfqQN5q0/b9Z8JsZIYSQyMPFjBBCSOThYkYIISTyzFrNrBba/tu0VFciRrdxpboSmbl0V+YaNeLitKYTKg8TGpey2qpeHkYENDSMvamRNqta/8JgQiDcWz0eyBmTBufBe9X3VhKMQbKfdsWkaQ0tCZpDCp+TmiuhkiqOGDWMHawnTRbijF9zaKahfUCopJGDWufS1KNJuUrNzJTuheh7C5WogTHS8WK1StZoXSwNv4MyoPFqnQxjx0ZRF1NztIDxdrYLYY26ys8agd/MCCGERB4uZoQQQiJP5M2MJb9c+boacoVXnAhXfbwG9uF4VKXG87gy7Ndyi9fmLTRlYOXpuDFfuVNfFRyhBIirj14ow74yi0B/XWbHeipY43PBNEnajR/Nq9qk0+W1mH1o4kmre8GxDmVj1+af2NTd+OsxSSINmeKabG46majHdOhyt0+GUlQF2+hen3SYEtHdHsNkdHZ7nGdTcbefwGVCjMfs/82C38wIIYREHi5mhBBCIg8XM0IIIZEn8pqZpuRwi0eOR1XqWuUqXH04XuVirA5m9Sjsv9ONH+z/Ok1W7arUqj+gK2HlYa1J1Uq3Y/dhGRoch+oVrJF63Pjzqp2CfVqTcKXBErGaGuocGSxRos4b0tNiWPU52C41oK8hx8udfSao5f7v2l+PDhYu1aK24byuqt/4HuDc0fNlFEoUudJQoa48HV1sMpLwf7PgNzNCCCGRh4sZIYSQyMPFjBBCSOSZVZpZs0DtZboaWq1UUlozO3HlYnRKGrsrFNOl+hTeZ5tamyn7qCNMPfVVSF5xpABLiO2Tq6x7HNQuXaYEtYxmxaRhmXh93wVIAITprVwaCabJ0tpxK9wnlrPX+hrOuLxfXV8rYzowZ5mU6etrxwunDuYsbwOxY/BZrYOlQJMMa9LBpzHNFM5t/fvCFSs2vl+945iarUYaKnts9X2okeE46HtPHrvvAuPMCCGEEAsXM0IIIZFn1poZa6WScu2bqVRXM5VhPx5DE09zUl85zY6O7Pvj+9V5Qu721c2OtVJf2WrX9rz42aS4quZiarHSpNvj7epu/B6YSupxX9b3glnH8V60eQjTDGH6In1vLhf/8f4F5yoKmhWrjy/2IXzfKpQE9rnermZnUq+Gy3U8VAk79Nngwy5T4fhnlXkNnkU9pkN0oS+bjPXutFP6HXfXmZi+KRHHKOlIsTXxXuZCqfYag9/MCCGERB4uZoQQQiIPFzNCCCGRZ9ZqZkgjGpoY9+WZMeo3Ui4Gy45Mvw/u1Ffa3bpWKIHV1+yh5ZA2p93ip576Cp9FqGJxHRWs9fhiH1xu/K6yGCLiTI01VT1NxGpqeXQVD429uheHi7+IW19riVXXdHC+4rPQmk+t+amfMeqpM4UXw2fsSoWGqaTiah+cx6G/4xjVo4OFNFQ1Ts3UJOvREidzt6+0Q+m3gjGb0ArT1MwIIYQQS0OLWaFQkL/6q7+Sd77zndLW1ia9vb1y9dVXy969e2t+9oEHHpBzzjlH0um0nHPOOfLQQw810hVCCCFzmIYWs9HRUdm6dat85Stfka1bt8qDDz4or7zyilx66aXOz23ZskWuuOIKueqqq+RXv/qVXHXVVXL55ZfLz3/+80a6QwghZI4S8/3mGql/+ctfynvf+17ZtWuXLF++fNJjrrjiChkcHJRHH3208rOPf/zjMm/ePLn33nundJ3BwUHp6uqSQy+fLp0d9a/JtUrEaFxxZ83S0GrZ3l39wT5ojaKemLNa6PgaV4zM+HWrawUYQ2P6i/fiiL9y6RwiVhfBY10xP3gv2F/dLoRis6rHX9UqqaGpJ96qnvgfjEm0x8I+h66EOlL4vJ7anvrcrod6dPBGzlvP+4X6oEsPDM110wc81mKPlSnj0sRE7HwIp9+yTBY7Fuyr3p4Y38Ghsiw8c6cMDAxIZ2enu2NToOma2cDAgMRiMenu7q56zJYtW2Tt2rXmZ+vWrZNnn3226mdyuZwMDg6af4QQQohIkxezbDYrX/ziF+WP/uiPnCttX1+f9PT0mJ/19PRIX19f1c9s3LhRurq6Kv+WLVvWtH4TQgiJNnW55t9zzz1y3XXXVdqPPvqofPCDHxSRcWeQK6+8Usrlstx66601zxWDr7C+74d+ptmwYYOsX7++0h4cHGxoQZtuVeoTkeoK+3C8MuwjNvWVO0WVNiugqQuxabPgXkJZ8x39c6XCqpF9X3+2HpNJyASJZkeTJmvqJkhXmqxamfp1DzC7PabNsjMJXf7tZ60pEVJ+4bHaJInvtePYekBTJ1Ylr4fQ3DHnrW4erHXFksOFPnQd53lqfFhRK4O9xmVKDLnXO96LUDo7wJjmj23nmvy7tK7F7NJLL5ULL7yw0l66dKmIjC9kl19+ubzxxhvyxBNP1LR/Ll68OPQt7MCBA6Fva5p0Oi3pdLqe7hJCCJkj1GVm7OjokFWrVlX+tbS0VBayV199VR5//HFZsGBBzfOsWbNGNm3aZH722GOPyUUXXVRf7wkhhBBpMANIsViUyy67TLZu3So/+tGPpFQqVb5xzZ8/X1Kp8eKIV199tSxdulQ2btwoIiI33nijfOhDH5JvfOMb8slPflJ++MMfyuOPPy5PP/10g7dDCCFkLtLQYvbmm2/Kww8/LCIiv/d7v2f2/eQnP5EPf/jDIiKye/du8bzgS+BFF10k9913n3z5y1+Wr3zlK3LGGWfI/fffb0yYx5NmpboSaZ6rfiPlYmyfYF+TNLRaqa+0DubSnJBQVWIsfaN2N1LB2pUKC7UXdLd2pYAKuaHrEiChsi5T09NE7HjXKjtjP+fYKW4dp5bepgm/MSqEoi69px79rJYK5fhkPWWSHPvqUX0aKW/TvJI1Fpcuhs+inpI1+M7o/RPvZaFJafgmaHqc2fGi0TgzF43EoM1U7kaTO7BG/1wxXqE4mCY9flecUT3isOslEKkvj99MxaS57g3ng64RFi5Rr0XxqS9mx6s+WK2YJI1rRtZyALLXnJ4zSL1wMRvnRC5mg0NlOf2sfSdvnBkhhBByvOFiRgghJPLMmRIwxwttDmymydGcq4bGZ9quGDQRo3U1LQYNzluAXeFS8zrVDdhTMGZGXQdLyTjjzLC/dZSWwWO1Kcalp4mIpGNJdR54blPU07BPrjRIItPX15B6zGL1aG8uXLrciaIR86CmEbNtPaZDV1oyjBVzmRJrpXUr+oXKtsuELjK5JNBshYvfzAghhEQeLmaEEEIiT+TNjPGYV/k63KxUU4246uvPojnteLjtY59OjtRXNUydrtRiaKJULvRovnSlwqrHjR/34WcLKpVX2Ucvzureoy4TZLiyNJhpjNm2uofn+DWnZ5JEU2EjJkp7jWl+8CShHvMgUo+X53RNh4143yJ6bmkzooi7QkCtahfmPMeOdaUQmw78ZkYIISTycDEjhBASebiYEUIIiTyR18yOB80qF3MiNLQopL4y160VduC4DqbCOhFu/FrTE7GaWj16Wjh8IdDXMBNDqJK3VM+o0oi+Zs5TM/tKAGpvLmamwFKYRv6Kd81BVwaTRnQwnB9a+6pVyVv/HqqVqUM/15pzZwq6WKVPEr636Zb+qQa/mRFCCIk8XMwIIYREHi5mhBBCIs+s0sxcelWzaFYMmghTX1XaSmFBzQHt8nrMwhnrUYOYmZg0c80a2pt+Fqin6T7V0kj0fpd+gu1aVR3Kjmfq1EwwBq0O/QQ5XjqZC3c8mEMHq5Hl3/XcXJUmaulgGleaKZH6dDBNI1UppjJmsSZXSOA3M0IIIZGHixkhhJDIM6vMjJpaJr5mwdRXkzOb3fi1+aWWe7Gr2rXtz/Rd/NHMZNMiTd3lH2+lnsKzoTFzPH80dZ1s4JghrvENn6s5RXVrpZbSuEyJtUyH1T4nMj1T4mTHToxZkq75hBBCiIWLGSGEkMjDxYwQQkjkmbWaGXIiNLRGUl/NFDOW+go5DhWsccSa5cbv0tNEwJ29Roqfutz6NQ4Xf7xz1CdsWRqrp9Xj8o+49R9QKB1yyPGa69Ol1nvrwqUzlhtIJRW6TpN0MGSytFPVqCf91mQ6Y5Ku+YQQQoiFixkhhJDIw8WMEEJI5JkzmhlyIvQqF7VivJqZ7qrqeetIfYUxXOExrB6T1lQNTdOkmDSXniZiNTWXniZSny7mwpU6CDUT11ypJ6VW6LNmPO0+d+mT6f/NjHFx06We96eWtqWpNZedn20glZSLqZRfqYYrPZdLF3Ol5hpvh/VWamaEEEIIwMWMEEJI5JmzZsbjQT2prpDaqaUCTkTqK6SRCtaakyEbf620WNoM6TJBikCaLEemfqRpLv5IHSm1ELxXTbgqQUCzKwpPgKasmUqTVdf4AtM1F9ZzzUbSTLnONVNZ/id+LzZb3uE3M0IIIZGHixkhhJDIw8WMEEJI5KFmJidnuRjEFUpwosrHaBqqYK1pohu/8zwxDH1Q2w49TaRWiML002SZ/syQiz/SLL3NxUyFlZwcNardTFf7qkdnbEQHCx1bR/mgqehiE5i0XseeW7HJz4/fzAghhEQeLmaEEEIiDxczQgghkSfymlnJL0vpmDm2kdINmpOxXIymVv+0bbuZeoXzXA49sHbc1omPSXNd01VqppaOEHe0SurMOLYzpq8hMyRnNRKbdbJTj57VTO2r2nmPlw6G6Pc2PH9rv7fN0sMn4DczQgghkYeLGSGEkMgTeTOjZrpmu1ocjwz7zUx9pc81U277SD0VrJGT3o3fcd16ql0j03XxR+oySQrOs+CzzUzbNFMprE426jENIs60Uw2YDsPnclUIt7h+v03HlHg84TczQgghkYeLGSGEkMjDxYwQQkjkmVWamaYRDcoFU19NDVcFa+Rkd+Ov61wOt/5QyRJV0bg+F3/sj/1sQjXDz9eeSeseydB5p6e91eJkd9tvRO9z6Ve1xsj12alqr7VwpZlCapXUORG6mAt+MyOEEBJ5uJgRQgiJPFzMCCGERJ7Ia2bxmFexGbv0q9mmobn64Np3vFJfaWqet0mlZbyQHqSu69DTRI5PjFpJSqatNZRa8Woal34yft7q8WuhPvmOWCdHbJtLe6tFPdrc8aIezU9TK8bLHjv151YL/R7PZh2sHvjNjBBCSORpeDH7m7/5GznrrLOkra1N5s2bJx/96Efl5z//ec3PPfDAA3LOOedIOp2Wc845Rx566KFGu0IIIWSO0rCZ8e1vf7t8+9vflpUrV8rY2Jj84z/+o6xdu1Z+97vfyaJFiyb9zJYtW+SKK66Qv/u7v5NPf/rT8tBDD8nll18uTz/9tFx44YXT7ks9aaeinPoKqceE6rzXGv09HmZINMW47q3mczNpvRwmSJHj5tY/1fPWY5J0ufwj9bh41zJRwqdNq565n5imJzw+w1pmvGbRrN8XOEauLPQuomA6nMyMO13TbjVivt/cOx0cHJSuri55/PHH5fd///cnPeaKK66QwcFBefTRRys/+/jHPy7z5s2Te++9d9LP5HI5yeVy5jrLli2To6+slM6O8OSq52Vq5mI23T40k+neT63+ztRippkpXQE52fPMIa4Xv1m6TTPfg+Mx92fbYqaZC4vZ4FBZFp+5RwYGBqSzs7PhazT1t3g+n5d//ud/lq6uLnnXu95V9bgtW7bI2rVrzc/WrVsnzz77bNXPbNy4Ubq6uir/li1b1rR+E0IIiTZN8Wb80Y9+JFdeeaWMjo7KkiVLZNOmTbJw4cKqx/f19UlPT4/5WU9Pj/T19VX9zIYNG2T9+vWV9sDAgCxfvlwGhyf/q6S+b2ZTPrQuTtw3s+l9LhrfzKZ+rrnzzWzquL+Z1XGiGszub2bNOc9c/2Y2dOx3d7OMg3UtZvfcc49cd911lfajjz4qH/zgB+UjH/mIbN++XQ4dOiTf/e535fLLL5ef//zncsopp1Q9Vwxuzvf90M806XRa0ul0pT04OCgiIqe9Z2c9t0AIIeQkYmhoSLq6uho+T12L2aWXXmocNJYuXSoiIm1tbbJq1SpZtWqVvO9975O3ve1tcscdd8iGDRsmPc/ixYtD38IOHDgQ+rbmore3V/bs2SO+78vy5ctlz549TbG7nqxMaISz/T6RuXrfInPn3ufKfSJz/b53794tsVhMent7m3Leuhazjo4O6ejoqHmc7/vGWQNZs2aNbNq0SW666abKzx577DG56KKLptwXz/Pk1FNPrXxD6+zsnBMTYq7cJzJX71tk7tz7XLlPZK7ed1dXV1PvuyHNbGRkRP7+7/9eLr30UlmyZIkcPnxYbr31VnnzzTflD//wDyvHXX311bJ06VLZuHGjiIjceOON8qEPfUi+8Y1vyCc/+Un54Q9/KI8//rg8/fTTjd0NIYSQOUlDi1k8HpeXXnpJ/uVf/kUOHTokCxYskAsuuEB++tOfyjve8Y7Kcbt37xbPC2Tqiy66SO677z758pe/LF/5ylfkjDPOkPvvv7+hGDNCCCFzl4YWs0wmIw8++GDN45588snQzy677DK57LLLGrm8iIw7hnz1q181ziGzkblyn8hcvW+RuXPvc+U+Ed53c++76UHThBBCyPGGiYYJIYREHi5mhBBCIg8XM0IIIZGHixkhhJDIw8WMEEJI5InEYjYXCoAWCgX5q7/6K3nnO98pbW1t0tvbK1dffbXs3bu35mejdJ+T8eCDD8q6detk4cKFEovFZPv27VP6XNTv+9Zbb5UVK1ZIJpOR1atXy09/+lPn8Zs3b5bVq1dLJpORlStXyu23336cetoYTz31lPzBH/yB9Pb2SiwWkx/84Ac1PxPVe51g48aNcsEFF0hHR4eccsop8qlPfUpefvnlmp+L+n3fdtttct5551WymqxZs8aU+pqMpt2zHwHuuecef9OmTf5rr73m/+Y3v/E/97nP+Z2dnf6BAweqfubZZ5/14/G4/7Wvfc1/8cUX/a997Wt+IpHwf/aznx3Hnk+d/v5+/6Mf/ah///33+y+99JK/ZcsW/8ILL/RXr17t/FzU7nMy/vVf/9X/27/9W/+73/2uLyL+tm3ban4m6vd93333+clk0v/ud7/r79ixw7/xxhv9trY2f9euXZMe//rrr/utra3+jTfe6O/YscP/7ne/6yeTSf9//a//dZx7Xj+PPPKI/9d//df+Aw884IuI/9BDDzmPj/K9TrBu3Tr/zjvv9H/zm9/427dv9//zf/7P/vLly/3h4eGqn5kN9/3www/7//Ef/+G//PLL/ssvv+x/6Utf8pPJpP+b3/xm0uObec+RWMyQgYEBX0T8xx9/vOoxl19+uf/xj3/c/GzdunX+lVdeOdPdaxq/+MUvfBGp+gvO92fHfU7wxhtvTHkxi/p9v/e97/Wvv/5687OzzjrL/+IXvzjp8X/5l3/pn3XWWeZn1113nf++971vxvo4E0xlMZst96o5cOCALyL+5s2bqx4zG+/b931/3rx5/ve+971J9zXzniNhZtTMZAHQk42BgQGJxWLS3d1d9ZjZcJ/TIcr3nc/n5fnnnw/1f+3atVX7X+1+n3vuOSkUCjPW1xPBbLzXgYEBERGZP39+1WNm232XSiW57777ZGRkRNasWTPpMc2858gsZj/60Y+kvb1dMpmM/OM//uOMFAA9mchms/LFL35R/uiP/siZWTrq9zldonzfhw4dklKpVFf/q91vsViUQ4cOzVhfTwSz7V5935f169fLBz7wATn33HOrHjdb7vvXv/61tLe3Szqdluuvv14eeughOeeccyY9tpn3fNItZvfcc4+0t7dX/k2I4hMFQJ999ln5+Mc/LpdffrkcOHDAea56C4AeT6rdp8i4M8iVV14p5XJZbr311prnOpnvE3Hdd71E6b4no97+T3b8ZD+fDcyme/385z8vL7zwgtx77701j50N933mmWfK9u3b5Wc/+5n86Z/+qVxzzTWyY8eOqsc3654bSjQ8E5xMBUBnkmr3WSgU5PLLL5c33nhDnnjiiZr1fk72+0Sq3Xe9RO2+NQsXLpR4PF5X/6vdbyKRkAULFsxYX08Es+le//zP/1wefvhheeqpp+TUU091Hjtb7juVSsmqVatEROT888+XX/7yl/JP//RP8p3vfCd0bDPv+aT7ZtbR0VFZtFatWiUtLS2THudPsQCopt4CoDPJZPc5sZC9+uqr8vjjj0/pYZ7s94lM9fnWImr3rUmlUrJ69epQ/zdt2lS1/9Xu9/zzz5dkMjljfT0RzIZ79X1fPv/5z8uDDz4oTzzxhKxYsaLmZ2bDfU+G63d1U++5bpeR48zw8LC/YcMGf8uWLf7OnTv9559/3v/c5z7np9Np4+551VVXGU+wZ555xo/H4/7Xv/51/8UXX/S//vWvn9Su24VCwb/00kv9U0891d++fbu/b9++yr9cLlc5Lur3ORmHDx/2t23b5v/Hf/yHLyL+fffd52/bts3ft29f5ZjZdt8Trvl33HGHv2PHDv8v/uIv/La2Nn/nzp2+7/v+F7/4Rf+qq66qHD/hwnzTTTf5O3bs8O+4447IuG0PDQ3527Zt87dt2+aLiP8P//AP/rZt2ypeurPpXif40z/9U7+rq8t/8sknzbs8OjpaOWY23veGDRv8p556yn/jjTf8F154wf/Sl77ke57nP/bYY77vz+w9n/SL2djYmP/pT3/a7+3t9VOplL9kyRL/0ksv9X/xi1+Y4y6++GL/mmuuMT/793//d//MM8/0k8mkf9ZZZ/kPPPDAcex5fUy4pU/27yc/+UnluKjf52Tceeedk973V7/61coxs/G+b7nlFv+0007zU6mU/573vMe4bV9zzTX+xRdfbI5/8skn/Xe/+91+KpXyTz/9dP+22247zj2eHj/5yU8mfb4Tz3M23esE1d7lO++8s3LMbLzvP/7jP67M6UWLFvm///u/X1nIfH9m75n1zAghhESek04zI4QQQuqFixkhhJDIw8WMEEJI5OFiRgghJPJwMSOEEBJ5uJgRQgiJPFzMCCGERB4uZoQQQiIPFzNCCCGRh4sZIYSQyMPFjBBCSOT5/wEP/vEJqimdiAAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "def scale(z):\n", - " return (3.0 + z)*101.0/6.0\n", - "\n", - "best_x = best['params']['x']\n", - "best_y = best['params']['y']\n", - "_ = plt.imshow(data, origin='lower')\n", - "_ = plt.plot((scale(best_x), ), (scale(best_y), ), 'ro', label='best value')\n", - "_ = plt.xticks(np.linspace(0, 100, 7, dtype=np.int32), np.linspace(-3.0, 3.0, 7))\n", - "_ = plt.yticks(np.linspace(0, 100, 7, dtype=np.int32), np.linspace(-3.0, 3.0, 7))" - ] - } - ], - "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.11.8" - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} diff --git a/source-code/parameter-optimization/optuna/simple.py b/source-code/parameter-optimization/simple.py similarity index 100% rename from source-code/parameter-optimization/optuna/simple.py rename to source-code/parameter-optimization/simple.py From 7a4d76eee54944abc9294f01d140c6abde0e9e80 Mon Sep 17 00:00:00 2001 From: Geert Jan Bex Date: Tue, 18 Aug 2026 10:55:04 +0200 Subject: [PATCH 09/33] Fix typo --- machine_learning_with_python.pptx | Bin 4102501 -> 4102491 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/machine_learning_with_python.pptx b/machine_learning_with_python.pptx index b7e55edb9872a4f7f41f832df1f414632eb959ef..2d7b3393fa028374c23892dceb388838e3a88f68 100644 GIT binary patch delta 9243 zcmZ9Q2{=_>_s899$~+GtQ|5UpLtLp$nN@^b6v;ebM`s++_O-*i#kT0;?djESZ(V1J+08TsnUjn8os{@D z`Q{XNXiQzk^zv^EmdLtc>+q`fYB>W=xm9$)jvj9$>pWRegaXdQ0*@YI_;tIk@et-EsI(>3j_+;q)vz+-Ug!$m8H2d~@= zzx37T$1*VAG7AWD*vkevg3d}4kNfJr`pTE~?S7C-nyltM?_}bheN5qgnH;Tzul(2d zS{`!YPnTbJ=@;wO*u8G7-tBtEciJY(HzJuJ^yjzSX%-gexF{7hkJL}^i$_1cmk}Y3 z`ZyJ{>{hoLpt`2L@b)CX<$NhWR?w&;#!PWaG$B;Gjw5Dq==`SgrLn20 zymHbtVkuC~7sDXI@z(5|VDYBojOCFqmQk#RIR84)`@<#4v0jUC)Y zgct2Pj9cFxF*mxK$L6NlFl|n^OOudC6r8KpNSAz>>uhltNkO-zU4^+D8*<}GQ^-`> z&@gM$;>o;uUxRbHvbWv4D+>~pm??is-RdOZ}K`I3&*} zrG2|TxWx6n`=AA@e_~>^kiI|9K9dAI3M6z|gjh~{QmmWs9CVss4=ZmF4FspQiCkLv zK|P)tn$Ax9$@?y;K!nub$)U(TZ{OV(^@Ba7tW1-{(Y?C|^I{phVgcQ`r*jiZ0?8J< z>MnAtb$MY6h|duV|K1Y#RT)Ol%kOz4tunM&2XmdtyaNzAZJUu5c~-wFVlk zH(aHNO-^#vEs{9?!}`p|s$koL>6>m(7YI^nD=LonY8_K$=lE|N_tNK0Ze{ku3zAvz zYOO!{!R#a`@=Nq+e7=ZLr`=FOtjzsNC#82I6219OX)huF%R;Nh5C7Z-8gM&Z>#tN6z8sN=IlUaj2Z;TqWm#2r*A!P#3WJ~_ID`>Oqw z({iuvJr#QQgoICJ9|>kL-PiHI??Ws@-q&m9PqY0}#OHzp@es$ZfqQ^p!jEN775xr{ zqxx;)DY{B3;=`Vvtd9HL3C6hIO)K+FG+HwD}f@EihiI>8A z_Uab_MWU>k-xd$9zQ-{WpLMb{?0a)V{bY(==AzTXMI3pVft8!DWdoH__iOU$gX)t6 zW!gs?zLNUpC79X^br*73hd9XeOT5zRCem_CI%gA$SyDMBFWMV&7VG3v#fP0Ieq+E> z+F*Ne{vDom#VB(%h8Uywu2@|9QnK{3d4qaJY)piteD2}1h+@6Bj<4F?idLsSr%g#J z$btEuW4F0(&{o?B3xA^P0vS>)(?nv51kP$qG3Cxc-$%n*(-qlDGPMACA*%0`iWgF_ zG-)^Qm&eM?Mh$Fr(+kOjBciiKA5749)FjU%r$u^&$HIA z&U}=oejHXxXZ;B`fNvfAJpO^!pT0)saCOLcEx1%IvA9KhwyIm3efOQgb^!--iz-R< z+RZ=r0wQyLhct%_(@K|q7QWfO$?~x5^f%o>mGR&2E%WzA%YAL%FXyCSvRK1Sg`-V{ zF?FWGSXULwkoUau6cj{64f2hf zeI~Fj9%W0xIC_^$oC}8P3vIVj^fl$-J=_1N6nI+ncM5FhUF^0 z`nr}RmBQx}I!uQ+?q}J+o=6KnrVo`6G96zm;Vc1q*BGHpC!ue#myZoJu zBmK-1zy0m4a+{W*{o6$4lZDbgp9oi5%opbqpPkkTHV^m|73Z@b6{L`!dI&P%ai7J0V6Dg>`y#*nHy`ja@1GE zYSm7T?<*W7H(`7;MwWfQ%)_l(Xw#~L$5PDZ+NPg}!SKZFrR&io%+Ip4`!7)MkTid? z{*&Sr#zJ{D-=rXzgosFn0br7`{2;di%R&X?0RWYqF}j^!Om-08q38-k=3aS z|8#8i#u}UzGi8g|e3<>vN~~|(vE|@L@lidqD~XaeqQv&2-ui}pPfYtJY8{#jSdxSr z33(^(Sb3T-kQ#Wou!Y^heqgCm>!SD`n_Bask1e`)F-|jMgkr#)rR%3^35ctcUJtHRK}lN9re6rxz$)%|LM23(^)*Pg67`tJrwQ=)b3QFztJvW@2q4U)RR>jkT6mzM?!gZf8*N z5X(+J-Z+#!K#?9IGbTCJ=el~Ek@L@x3MGB}ku?oVE1s|4zpO}Hb2u0>p3c=Qx>t8j zOpMy?f+mnMluzS-rzQlCkJhJxiL-p(yN=hdC+o5~NjW0Nwal*4Ik z{kt}B9MchzgAPU%SZS~Jx5xGsj$pgI=9Y#uJpY;FeHQa_(5kqUO3CC!F=?sP=ZVp( z?K2%6gM-(f86TULAjNoX2yYXQ-UJzwLj#MJ))=C4I)PakDkt61h9ohQjYU%a){X;^^)IP4xC?@}w_bbB!qrUHvay82!LUNaDcJfEG zF1|caooQCLr6JFtKID+3N|y z6c<36FjJ}n|yoTpQc|; zIOAOQf&o*^xPWh|(p~Ls>)Vz&4! zs-lL66^w!+$%VR04qnbro~u_8{^&AVELO?9xZd`5r%C}gpfxh^%h+$T&gJrVS3JAfRs1G-k7Xwu@nUNDJA+K8{5OsL7aF)dadANKf7+fiqn%MzPp&xb6sadlLei| z-A!^^-tT7ychiav=}s}f4aX}q_AO){_5S%~p~zuL=Ycy(4te(_F5Y+ICW?Q8xf@?i zMOcJX^EC?Td#cd&UnG}iBOGp>=~pNz@3!Eg#&TX6c&j?WdEC*2P*9@gcDI=^*?VG& z;yokr1z(=`v3Iajl5xXI+2%8W$jTp$|F!ub*(#tUv;EOr z*%9;udWfchv+KMs3CM`Q>1C;VT~~G% z8w?cvj}!{`WKx>sl%?$O&hTf*y48N|efCIa&&y6E1~6E?OO0M9)E* zq9yzb4t|~J+=`Q)cIsz0nQEz8`3h8)lU0wDoqCC7eFN<8S8++hM^9FZ7)5^;*5j(Q z|M*w6_mIpjs~oPZn-FM>4Mv6qekqF|OVX(;v`^j8%Xp}ntm#F@CYPluKzxTThxXe@ z1w(sU+g!xGD4n0ktxm(grLd;tI!tUJE4k7r? zo=1qKZ~HAK|H<;2W$mS04kAQ9XV3T<)F6@AdFor9Iv=m=kt~7mF#ekA-Te}5 zUcho#O~9<>FW!tmgL$^Tq4zqgA3qFB>i!~M(wqMr6S;OM%6f?Wl9RL)&d-DU^;lVg z_oNbY^K3>CdBV=*CSB)*{#kO)i4Pgo-ORg0v65kRmGcisLf3o>%WL+Of|AveC3z`m z3KraNhR1(5%IP0?8eXR8G0sw9mL8Wpq&L;F;Yu}<$s*YFs#?8Y$k5g548J9ByGV1j z;^hesa`;nTxJG4qC6C7HJeAV3rN?@=349JSx2%(-JtJR}mdHjr-s}_?_?$djPpZAs zYR#ay(fGE^SogahPTc|bXrPBH;c|1S%mW&VE)v}h8;N(8?6tehwGXdh6au%;g89Oz z8w+Z$n)gSzPgnm=WoFf6na-M#7r%C~U4LI^R6f3YUN1Y;0E=D_YHlj{bLAImc~WU5#Q02~YF61=PV>g&T)RcQhP@uWwA^#b^fnl4&UqEzZ7t5b8kNf> z%`Vz{_tT=BC@%afL&nsL;Xv{OLlwFs;y;q#x-id$Gx$He`n1AbnD!c}@g&774MoCT zl?0YiV;<4eTJzT)Ga?&To|ymU5jlwRrX#xUNyNE!jfSYVA5&VFaDqstpSdYM6LJY?O^PqY$+z>C{G6mQF^zmE3xr5-tH$^@q=k|`zaNCb6)C=pTUfDCofhx zahDHMey_h&sN`7v;t1Z(8~ga9-he!zpH)yj%UFCrpq;|XyIv_nRyDLDlSe@HmK9}= zi=N7lsv1G-bWkIxzTC9^WW4$3BsjPgROGTdd_?z8uBekRVY{pikJ2Sm+5va_lh}TZk*$OmDgPkso(=p?ODugf^nAFN9JZ-2n@PAS zn`!qk@~r>QuuqA39{;lF=Hbp{LCyIAPq&+s}uJg33> z)Nm!5NtjDe%~9!YLw~^(MTf-wXbZ-8^N{>8Nk2}ae#bk;_<^!xSl@zX zfAO|Ld)WuIuP4N}LL=5|w2z1vG~8tD)cvw^^@77j-@QqzOTUU@d9>PR^L7JSpJ9GLYAuKf*yp1CPbRF<%-}p9;GWu9E7K#{(1d0@j z42m4;2owbrl0yYW4MhV*3q=P-55)k*2*m`&48;P)T6e6Ot?4XDYVq=!x{nz4b}U9e zI*)`M>L?Tk6ekoH)G;V-C>|(YC_X5DsN+xqP=ZiGP{L3mP@+&`P~uP$P?AtmP|{E` zP_j^RQ1Va;P$!^HLMcKiK`BG2K%Ih8t;-`(qklp2(Qv7wuBKW|9z%Fk?S3uod5381 zm(!m4{%pxrk`qFL%2iV>ie*;&9QfMxo7vfoPPiE}!2t5bniEV9UuQDP42!v$G3{2r zjPFeKXV$tq%#l8L%wI*)(8$}uaahIQvz9EHLzO~kPTs<3iKC*Q{U2|d2OD0z`bWUn zC2YrIs|w4viWS&2Z`@S^ORh1N)FsknhI1KTWM5vY`1~8mc{!0hY%t!WWFqiCCKC6 zCI76MS?l@(UQCv6l*=B|yu&3pH>Sj8AKs=or(x{FdH82JmJZp6b@)0phP3~@D+m4t zxQo~m!XPOf!vsDX;G{62fZh;y2D>Pm!XU>6Tnuqy7)y|bxJFe{4pi8{f&q>mV2p4a z*aBS2rX>@QF~Uh>a)7N7?ku)J@2~46bYY*E{%!w3+Fh2g%?>n;VL1)pX$(`P-T#K) z8pE*pt(4GP>}Y8|6Ii+?@NdxA1eSINAto@NFD50loe4}p7gi(rZ=1^$wjZYbZQCO4 z-As^V3a83j@YlD5_}q&Bwk0mW_ICN-wkK?3o`Kv8u&jAIbg_f|3pg>Xa8HU!4?2yM zol$yf_Ry2cOJg z@gZ&0r*s)6Fd3m>Y=j|259#>}nEzgk)CDx56=q|i!Nz4+Vapoz=~%!Dn;t0KL%`h+ zU@YNG1|eY9(=1_fTqNqcYzgB(6H&-Sz%d<#PY4|5!{=AHmiS84dBX}iW1CPYMd0~s z6gD7W&I8^nu(1*(Rd8>VH5XI=tW?Z z7!29q*Z~V3cLFm6^zb-+?DHc)_8RUea0tWEfe>#{nLTBZP05J;+EeLS1qCk5U!YMWsg4y68a4uq4M|RXx z3d0zC@cAmv5EBPvuHg)^`J8Ad;~MPwiwlKQ$Nt?@l^gXCxS>bf4o>(I5B9&eh%yg4 z!P`7oDv)Ro2Xo*>J)`!x6WDq_6!!RFSjqv0Yxz-+w*w6K9Y=vq0ET;!@HYX}Lw_BH zmjzLTtBbM}pe}ZnmqZQ8$}A%n8syp-}_o zc)G(GC7nS%HAuMrEDC?l!Z57|4AW|&o(mo@EU1M-J_0wjQP@PFLI(kMpzaCJPlYZD z@dyl`M_~qmWjz!mydV%6pl}-k<|L@_g6oolKe~pPo508$UX`U+fNUsE5bRxn7g>)t zoK2-Q;t@#0|9gceZo+dt2aIpxEU=lje}iBE`ndk{;+cqu@Bdwz`F23V7sm~b`@oyQ ziZcq{2!wi|&;|js3^sk>R4#(kzVJX#2cn_pzA(=r7=?WVSi(@y_k%zbiNYfUHeyg% z@x#erf8R#|_XbM_PTzuSnMy)EvA1A2^#KZ#2smY+Am$I@Ocn}(2u$Uo5Kq97fkA&* z#is!Ea0I|G?K2dd5qMgH!g>iDu{8ik&xO2h_lIwA6sd@a`2XKA$t^>3DFbn=T>p6k z{l96KE6_CfPMQqZ2Evm6c`5Y2xvaHlZZT34`76v0UuwT)_}?_IdNge}5Kg(f2|a`G zDOdqJ(2PPc0`FT;;AurR<{jklwW1#U9T@)HhJtuI3|roY;l*~;!x#j^-#bun4T9V5 z=W7(;nV>>16VFh1ne4qm-Tc8Y2it{05CRl$QJ6r0z8eM0ZrB?~fFrTJLp|`EoWOGT zpstrO9M}#6T=Bs z5VHj&BcM44JP~sVR3WAVY(qn=`-cK}{-Iz6ni230>Zd?S5BJEwKX`B_5~eDF7Q{pW zY!ozoKoc6`*j_47(M!b&a--mYB%mh>PUbV9i-s}bXhvWd&BzLzqj6%yFGm@{>?ou% zNSL!=0!h(sVg~L_%>Np9;x+SskJ}3HF>s_(kcXI5FprpOAbb~^C%_pR;>ms%fEi$6 z1#j-cqU~SOeDME~Lf7?-_6gF+v~$G3%fcF=XIK0xTBWcMMeY9b*OCVeoWN zNpb&ov46mQn1ks80|{_>`G7GIt}79kB|9T0bCH%2#S+&LY&ASFh2|t5quj;1TWeD`ecArBu@*7 zrQp=yR=kk{Yea%lXt2LKz-9^@y$UF#Lhl;zM~p9MM9e_i1NeO!oI}hD5Q7+d(2JNh zK%WM?Nr4N9`2o@p!wEhh#uab@Xu^RFVhTY%V&cF8z?~&#r^5ktI^4fDk4ZZGDFDDV c9VXlX<%oF$ex$?t4&Y=4PLwQE4+j_We|>MaU;qFB delta 9225 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 Date: Tue, 18 Aug 2026 10:55:30 +0200 Subject: [PATCH 10/33] Remove EuroCC logo --- machine_learning_with_python.pptx | Bin 4102491 -> 4049795 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/machine_learning_with_python.pptx b/machine_learning_with_python.pptx index 2d7b3393fa028374c23892dceb388838e3a88f68..e63369879140258c51b2784551dfb697e5a96d0d 100644 GIT binary patch delta 22251 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 E0IZ)IGynhq From cc56a016778161ef7eec214fbb2fea7f7f0a8013 Mon Sep 17 00:00:00 2001 From: Geert Jan Bex Date: Tue, 18 Aug 2026 11:38:06 +0200 Subject: [PATCH 11/33] Clean up PINN examples by reducing dependencies --- environment.yml | 2 - environment_gpu.yml | 9 +- source-code/README.md | 5 +- source-code/parameter-optimization/README.md | 12 +- .../parameter-optimization/experiments.ipynb | 804 ++++++++---------- ...meterized_heat_equation_optimization.ipynb | 4 +- source-code/pinns/README.md | 14 +- source-code/pinns/environment.yml | 13 - source-code/pinns/logistic_de.ipynb | 345 ++++---- .../pinns/parameterized_heat_equation.ipynb | 2 +- source-code/pinns/pendulum.ipynb | 392 +++++++-- 11 files changed, 913 insertions(+), 689 deletions(-) rename source-code/{pinns => parameter-optimization}/parameterized_heat_equation_optimization.ipynb (99%) delete mode 100644 source-code/pinns/environment.yml diff --git a/environment.yml b/environment.yml index bf7ef48..f8aae7f 100644 --- a/environment.yml +++ b/environment.yml @@ -17,8 +17,6 @@ dependencies: # Model interpretation and parameter-optimization examples. - lime - - hyperopt - - bayesian-optimization - optuna # Notebook and visualization stack used by the core teaching material. diff --git a/environment_gpu.yml b/environment_gpu.yml index 2426553..f0dfb37 100644 --- a/environment_gpu.yml +++ b/environment_gpu.yml @@ -10,14 +10,17 @@ dependencies: - torchvision=0.28 - cuda-version=12.9 - # Keep the teaching stack aligned with the CPU environment. + # Core numerical and machine-learning stack. - numpy - scipy - pandas - scikit-learn + + # Model interpretation and parameter-optimization examples. - lime - - hyperopt - - bayesian-optimization + - optuna + + # Notebook and visualization stack used by the core teaching material. - jupyterlab - matplotlib - bokeh diff --git a/source-code/README.md b/source-code/README.md index 45c1ec2..c02a03e 100644 --- a/source-code/README.md +++ b/source-code/README.md @@ -9,9 +9,8 @@ to create it. There is some material not covered in the presentation as well. * [`pytorch`](pytorch): illustration of using PyTorch for machine learning. * [`pytorch-lightning/`](pytorch-lightning/): illustration of using PyTorch Lightning for machine learning. -* [`parameter-optimization`](parameter-optimization): example of parameter - optimization kusing hyperopt, although the examples do not optimize - hyperparameters in machine learning, that would be very similar. +* [`parameter-optimization`](parameter-optimization): methodology-first Optuna + examples, from a minimal study to a realistic PINN case study. * [`scikit-learn`](scikit-learn): examples of scikit-learn for machine learning, examples are provided forsupervised (regression and classification) and unsupervised (clustering) learnign, as well as dimensionality reduction diff --git a/source-code/parameter-optimization/README.md b/source-code/parameter-optimization/README.md index baa3041..4afab4d 100644 --- a/source-code/parameter-optimization/README.md +++ b/source-code/parameter-optimization/README.md @@ -8,7 +8,13 @@ model. Optuna is a Python framework for automated hyperparameter optimization. -## what is it? +## What is it? -1. `simple.py`: very simple example of how to use Optuna to optimize a function. -1. `experiments.ipynb`: some experiments on more complicated function optimization. +1. `simple.py`: minimal script showing the objective/study/trial workflow. +1. `experiments.ipynb`: methodology-first introduction to Optuna, including a + controlled comparison of stochastic samplers and a machine-learning example + with separate validation and test data. +1. `parameterized_heat_equation_optimization.ipynb`: advanced case study using + a parameterized heat-equation PINN. It compares random search with Optuna, + confirms a shortlist across fresh training seeds, and reserves a final audit + suite until after model selection. diff --git a/source-code/parameter-optimization/experiments.ipynb b/source-code/parameter-optimization/experiments.ipynb index f991475..00ccc6c 100644 --- a/source-code/parameter-optimization/experiments.ipynb +++ b/source-code/parameter-optimization/experiments.ipynb @@ -2,621 +2,541 @@ "cells": [ { "cell_type": "markdown", - "id": "106e36cd-8aeb-4314-af5c-9870b95321f1", + "id": "title-and-objectives", "metadata": {}, "source": [ - "# Requirements" - ] - }, - { - "cell_type": "code", - "execution_count": 121, - "id": "9b71fd5c-27fe-49f9-b25a-16a7ad994996", - "metadata": {}, - "outputs": [], - "source": [ - "import collections\n", - "import functools\n", - "import matplotlib.pyplot as plt\n", - "import numpy as np\n", - "import optuna" - ] - }, - { - "cell_type": "markdown", - "id": "46938664-f34b-43cf-ae56-6db40808301a", - "metadata": {}, - "source": [ - "# Example 1" + "# Hyperparameter optimization with Optuna\n", + "\n", + "Optuna is a framework for organizing and automating parameter searches. This notebook uses it as a concrete implementation of a more durable idea: **hyperparameter optimization is an experiment whose design determines what its result means**.\n", + "\n", + "After working through the notebook, you should be able to:\n", + "\n", + "- distinguish an objective, parameter, trial, study, sampler, and search budget;\n", + "- define a small search space and inspect the complete trial history;\n", + "- compare stochastic search strategies using equal budgets and repeated runs;\n", + "- keep model selection on validation data separate from final evaluation on test data.\n", + "\n", + "The notebook takes roughly 25--30 minutes. It requires NumPy, Matplotlib, and Optuna from the course environment. Its outputs are intentionally omitted: restart the kernel and run all cells so that the narrative and results come from one clean execution." ] }, { "cell_type": "markdown", - "id": "d165e58d-b747-472b-8e16-fb1f7239652c", + "id": "terminology", "metadata": {}, "source": [ - "## Target function" + "## The optimization experiment\n", + "\n", + "Optuna uses the following terminology:\n", + "\n", + "| Term | Meaning |\n", + "| --- | --- |\n", + "| parameter | A value selected by the search, such as a learning rate |\n", + "| search space | The allowed values and distributions for all parameters |\n", + "| trial | One parameter configuration and its resulting objective value |\n", + "| objective | The function that evaluates one trial |\n", + "| study | The collection of trials for one optimization task |\n", + "| sampler | The strategy that proposes parameter values |\n", + "| budget | The limit on trials, elapsed time, or computational resources |\n", + "\n", + "Optuna minimizes or maximizes the value returned by the objective. It does not decide whether that value is scientifically meaningful." ] }, { "cell_type": "code", - "execution_count": 84, - "id": "ec4dc603-ecbc-433e-af5c-673337ee29d2", - "metadata": {}, - "outputs": [], - "source": [ - "def func(x, y):\n", - " x_0, y_0 = 5.0, 7.0\n", - " return 1.0 - (np.cos((x - x_0)*(y - y_0))*np.exp(-0.05*((x - x_0)**2 + (y - y_0)**2)))" - ] - }, - { - "cell_type": "code", - "execution_count": 85, - "id": "e4d60ff4-3b1c-4156-b553-96f2a1507bc4", + "execution_count": null, + "id": "imports", "metadata": {}, "outputs": [], "source": [ - "def visualize_func(func):\n", - " x = np.linspace(-10.0, 10.0, 101)\n", - " y = np.linspace(-10.0, 10.0, 101)\n", - " X, Y = np.meshgrid(x, y)\n", - " Z = func(X, Y)\n", - " plt.imshow(Z, cmap='Grays');" - ] - }, - { - "cell_type": "code", - "execution_count": 86, - "id": "ae743c78-448c-4166-aeab-db5ff1a320d9", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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bABABAr/pfbaa6/ZypUrbdGiRfbtb3/bnn32WfvGN75hlZWVdsMNN1hbW5uZmdXU1KSOq6mpsR07dnR7ziVLltiiRYtK2x0dHTRsH2B9Xc06a/i/78bISqHlz6XdHJpSy5831N2osrqffBk0I7rvctRraDemH4qt19RjffeTduVr/b777rvdXsOsax35c2naJr23d955p/RZu7h0eLrv5qqurk7t025ZT+tBt/0Q9KzVzEOrKeix/rxZZfD0XvRef//735c+a+ozrcMxY8aUPuuz0G0/pWLPnj2pffrM/XM888wzU/v0XfLdj/55m3WtB38df99Zqxz0VeGN2tGjR2369OnW3NxsZmYXXnihbd261VauXGk33HBD6Xvd/Y9QT/GXysrKLvM6AABQhXc/jhs3zs4777zU384991zbuXOnmZnV1taamZV+sR3X3t7e5dcbAAB5FN6oXXzxxbZt27bU315++WWbNGmSmZnV19dbbW2ttba2lvYfOnTI1q9fbzNnziy6OACAQaTw7sfbbrvNZs6cac3NzXbNNdfYs88+aw899JA99NBDZnas27GxsdGam5utoaHBGhoarLm52UaOHGnz5s0rujgYYFnD9L2sOFlo+H9W3MzTofg+jqIxFD2PjwNo6iAVWnrEX0djEDq61+8PxdB0W+tPYzNvv/12j2XQGIqPseg1dYqEj7H4uJ1Z1+fkY00aZ9I68/WiS6yEhvTrM80zpF+PDQ3p1zL5etG0U6H4oaYW0zr09ZuVsszH5zSeqdfx74PWg8bq/HX034iW11/X/7vVGHRRCm/ULrroIvvRj35kS5YssTvvvNPq6+ttxYoVdt1115W+s3jxYjt48KAtWLDA9u7dazNmzLB169YxRw0A0C9lSWh81VVX2VVXXdXj/oqKCmtqarKmpqZyXB4AMEiR+xEAEA2WnkHh+hM3C/F999qPr9f0sRCNi4SWvNA4mW77mEpoiY3utr1Q+iKNNfg4msZMNNbhy6TzkP7whz+ktv11dRkdPxfKLB1T03iLj8XodULptszS96P3omXyMSyNX+m2f+b6nPS8vkxZywn5559VBl9erc9QjCr0nHT/GWeckdp3fHT5cf656fw3fc/8dbQMGsv1MUG9F+VjbL5OyhVT45caACAaNGoAgGjQ/Yjc8qxmnWdfniz9KpTeKLTStVl66HXWMH2f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e++90nfuueeepKqqKvnhD3+YbNmyJfnSl76UjBs3Luno6BjAkg+MZ599Njn77LOTj3/848nChQtLf6eOkuSdd95JJk2alHz1q19N/ud//ifZvn178tRTTyWvvPJK6TuDvZ7uuuuuZPTo0cl//Md/JNu3b0/+9V//NfnQhz6UrFixovSdwVZHP/nJT5KlS5cmP/zhDxMzS370ox+l9vemPm666abkrLPOSlpbW5Pnn38+ufTSS5NPfOITyeHDh3OV5aRt1P7sz/4suemmm1J/mzJlSnLHHXcMUIk+ONrb2xMzS9avX58kSZIcPXo0qa2tTe65557Sd/74xz8m1dXVyfe///2BKuaA2L9/f9LQ0JC0trYms2bNKjVq1NExt99+e3LJJZf0uJ96SpIrr7wy+frXv57629y5c5Prr78+SRLqSBu13tTHu+++m5xyyinJY489VvrO7t27kyFDhiQ//elPc13/pOx+PHTokG3atCm10KiZ2Zw5c3pcaHQw2bdvn5mZjRo1ysx6t3jrYHHzzTfblVde2SXPKHV0zJNPPmnTp0+3L37xizZ27Fi78MIL7eGHHy7tp57MLrnkEvvZz35mL7/8spmZ/frXv7ZnnnnGPv/5z5sZdaTKtXh0T8qynlq57dmzx44cOdLtYqQ9LTQ6WCRJYosWLbJLLrnEpk6dama9W7x1MHjsscfs+eeft40bN3bZRx0d89prr9nKlStt0aJF9u1vf9ueffZZ+8Y3vmGVlZV2ww03UE9mdvvtt9u+fftsypQpNnToUDty5Ijdfffddu2115oZ75Iq1+LRPTkpG7Xj+rIYaexuueUW+81vfmPPPPNMl32Dub527dplCxcutHXr1nVZWdgbzHVkdmyV5enTp1tzc7OZmV144YW2detWW7lypd1www2l7w3menr88cft0UcftbVr19r5559vmzdvtsbGRqurq7P58+eXvjeY66g7RS8e3ZOTsvtxzJgxNnTo0C4tuF+MdDC69dZb7cknn7Rf/OIXNn78+NLf/eKt3mCqr02bNll7e7tNmzbNhg0bZsOGDbP169fbP/zDP9iwYcNK9TCY68jMbNy4cXbeeeel/nbuueeWVm7mXTL71re+ZXfccYd9+ctftgsuuMC+8pWv2G233WYtLS1mRh2p3tSHXzy6p+/01knZqJ166qk2bdo0a21tTf29tbW116tnxyRJErvlllvsiSeesJ///OdWX1+f2u8Xbz3u+OKtg6W+LrvsMtuyZYtt3ry59N/06dPtuuuus82bN9vkyZMHfR2ZmV188cVdpoO8/PLLNmnSJDPjXTIzO3DggA0Zkv6fzqFDh5aG9FNHab2pD7949HHHF4/OXWd9Gt7yAXB8SP8jjzySvPTSS0ljY2Ny2mmnJa+//vpAF+2E+5u/+Zukuro6+eUvf5m89dZbpf8OHDhQ+s4999yTVFdXJ0888USyZcuW5Nprr416iHFv+NGPSUIdJcmx6Q7Dhg1L7r777uR3v/td8i//8i/JyJEjk0cffbT0ncFeT/Pnz0/OOuus0pD+J554IhkzZkyyePHi0ncGWx3t378/eeGFF5IXXnghMbNk+fLlyQsvvFCaYtWb+rjpppuS8ePHJ0899VTy/PPPJ5/5zGcG15D+JEmSf/zHf0wmTZqUnHrqqcmnPvWp0hD2wcbMuv1v1apVpe8cPXo0+e53v5vU1tYmlZWVyac//elky5YtA1foDwBt1KijY3784x8nU6dOTSorK5MpU6YkDz30UGr/YK+njo6OZOHChcnEiROT4cOHJ5MnT06WLl2adHZ2lr4z2OroF7/4Rbf/GzR//vwkSXpXHwcPHkxuueWWZNSoUcmIESOSq666Ktm5c2fusrCeGgAgGidlTA0AgO7QqAEAokGjBgCIBo0aACAaNGoAgGjQqAEAokGjBgCIBo0aACAaNGoAgGjQqAEAokGjBgCIxv8BGFC43W8nhVQAAAAASUVORK5CYII=", - "text/plain": [ - "

" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "visualize_func(func)" - ] - }, - { - "cell_type": "markdown", - "id": "0fb65dde-dff5-4180-b943-06d881f0779e", - "metadata": {}, - "source": [ - "## Optimization" + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "import optuna\n", + "\n", + "optuna.logging.set_verbosity(optuna.logging.WARNING)\n", + "print(f\"NumPy {np.__version__}; Optuna {optuna.__version__}\")" ] }, { "cell_type": "markdown", - "id": "60f844ef-7f01-4acf-95cc-45537f122e93", + "id": "minimal-example", "metadata": {}, "source": [ - "Increase the log level to avoid a flood of info-level messages, i.e., a message per optim" + "## 1. A minimal Optuna study\n", + "\n", + "We start with a deterministic function whose minimum is known. This isolates the mechanics of Optuna from the complications of fitting a model." ] }, { "cell_type": "code", - "execution_count": 69, - "id": "628c1d5a-b86a-4658-8f1e-764a8174f5ad", + "execution_count": null, + "id": "quadratic-function", "metadata": {}, "outputs": [], "source": [ - "optuna.logging.set_verbosity(optuna.logging.WARNING)" + "def quadratic(x, y):\n", + " return (x - 2.0) ** 2 + (y + 3.0) ** 2\n", + "\n", + "\n", + "def quadratic_objective(trial):\n", + " x = trial.suggest_float(\"x\", -10.0, 10.0)\n", + " y = trial.suggest_float(\"y\", -10.0, 10.0)\n", + " return quadratic(x, y)" ] }, { "cell_type": "markdown", - "id": "ad476faf-3bf5-46a8-b615-87679418050b", + "id": "minimal-study-explanation", "metadata": {}, "source": [ - "Wrap the function to optimize into an objective function that takes a `trial` object as a parameter." + "The `Trial` passed to the objective proposes values from the declared search space. A `Study` records every proposed configuration and returned value. We specify TPE explicitly rather than relying on Optuna's current default, and seed it so this sequential demonstration is reproducible.\n", + "\n", + "A fixed number of trials is a **budget**, not a guarantee that the mathematical optimum will be found." ] }, { "cell_type": "code", - "execution_count": 70, - "id": "6488e59f-4817-4c91-ad99-7c31a83cf670", + "execution_count": null, + "id": "run-minimal-study", "metadata": {}, "outputs": [], "source": [ - "def objective(trial):\n", - " x = trial.suggest_float('x', -10.0, 10.0)\n", - " y = trial.suggest_float('y', -10.0, 10.0)\n", - " return func(x, y)" + "quadratic_study = optuna.create_study(\n", + " direction=\"minimize\",\n", + " sampler=optuna.samplers.TPESampler(seed=2025),\n", + ")\n", + "quadratic_study.optimize(quadratic_objective, n_trials=40)\n", + "\n", + "print(f\"Best observed value: {quadratic_study.best_value:.6g}\")\n", + "print(f\"Best observed parameters: {quadratic_study.best_params}\")\n", + "print(\"Known optimum: x=2, y=-3, value=0\")" ] }, { "cell_type": "markdown", - "id": "5347c78b-df02-4e03-b6da-1bce5380e652", + "id": "inspect-history", "metadata": {}, "source": [ - "Set up a study." + "Do not inspect only the winner. The complete history is needed to diagnose the search and compare strategies." ] }, { "cell_type": "code", - "execution_count": 71, - "id": "72434395-2905-460a-b9fe-f867c6d7de02", + "execution_count": null, + "id": "trial-history", "metadata": {}, "outputs": [], "source": [ - "study = optuna.create_study(direction='minimize')" + "def trial_record(trial):\n", + " return {\n", + " \"number\": trial.number,\n", + " \"value\": trial.value,\n", + " **trial.params,\n", + " \"state\": trial.state.name,\n", + " }\n", + "\n", + "\n", + "quadratic_trials = [trial_record(trial) for trial in quadratic_study.trials]\n", + "sorted(quadratic_trials, key=lambda record: record[\"value\"])[:5]" ] }, { "cell_type": "markdown", - "id": "f48e8531-7243-4038-a4ea-2a2167bc8575", + "id": "stochastic-search", "metadata": {}, "source": [ - "Use the study to optimize the parameters, `x` and `y` in this case." + "## 2. Comparing stochastic search strategies\n", + "\n", + "One successful run is not evidence that one sampler is generally better. We need:\n", + "\n", + "- the same search space and objective;\n", + "- the same number of trials per run;\n", + "- multiple recorded seeds;\n", + "- a performance measure defined before looking at the results.\n", + "\n", + "`RandomSampler` proposes each configuration independently. `TPESampler` starts by gathering observations and then uses the completed trials to propose values that appear more promising. Adaptive sampling can use a limited budget more efficiently, but it can also concentrate on an attractive local region.\n", + "\n", + "The next objective has a broad local basin and a narrow, deeper global basin. It is deliberately small and artificial: its purpose is to make sampler behavior visible." ] }, { "cell_type": "code", - "execution_count": 72, - "id": "d13e38a7-3ad2-4179-b04a-c5985999b548", + "execution_count": null, + "id": "two-basin-definition", "metadata": {}, "outputs": [], "source": [ - "study.optimize(objective, n_trials=500)" - ] - }, - { - "cell_type": "markdown", - "id": "ae9f42a5-f69a-4089-8e29-33963a00d8fa", - "metadata": {}, - "source": [ - "Display the best value and the corresponding values of the parameters `x` and `y`." - ] - }, - { - "cell_type": "code", - "execution_count": 73, - "id": "0ddeae42-2649-4fa3-ad33-5b51b770fc87", - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " Value: 0.0003461049669315486\n", - " Params:\n", - " x: 4.967603273980602\n", - " y: 7.076241340970131\n" - ] - } - ], - "source": [ - "print(f' Value: {study.best_trial.value}')\n", - "print(' Params:')\n", - "for key, value in study.best_trial.params.items():\n", - " print(f' {key}: {value}')" + "SEARCH_LOW, SEARCH_HIGH = -10.0, 10.0\n", + "GLOBAL_BASIN_THRESHOLD = 1.0\n", + "\n", + "\n", + "def two_basin_function(x, y, narrow_scale=0.5):\n", + " broad_basin = 7.0 * np.exp(-0.05 * ((x + 3.0) ** 2 + (y - 5.0) ** 2))\n", + " narrow_basin = 10.0 * np.exp(\n", + " -narrow_scale * ((x - 7.0) ** 2 + (y + 3.0) ** 2)\n", + " )\n", + " return 10.0 - broad_basin - narrow_basin\n", + "\n", + "\n", + "def plot_landscape(ax, points=None, title=None):\n", + " coordinates = np.linspace(SEARCH_LOW, SEARCH_HIGH, 201)\n", + " x_grid, y_grid = np.meshgrid(coordinates, coordinates)\n", + " values = two_basin_function(x_grid, y_grid)\n", + " image = ax.contourf(x_grid, y_grid, values, levels=30, cmap=\"Greys\")\n", + " if points is not None:\n", + " points = np.asarray(points)\n", + " ax.scatter(points[:, 0], points[:, 1], s=18, c=\"tab:red\", edgecolor=\"white\")\n", + " ax.set(xlabel=\"x\", ylabel=\"y\", title=title, aspect=\"equal\")\n", + " return image" ] }, { "cell_type": "code", - "execution_count": 74, - "id": "4a62b1a5-f082-4989-baf6-306b3f6fd62b", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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AwAiUPg3tVdffdVWrVplixcvtu9+97v29NNP27e+9S2rrKy0a6+91tra2szMrKamJnVcTU2N7dixo9tzLl261BYvXlza7ujooGH7EOvratZZw/99N0ZWCi1/Lu3m0JRa/ryh7kaV1f3ky6AZ0X2Xo15DuzH9UGy9ph7ru5+0K1/r99133+32GmZd68ifS9M26b298847pZ+1i0uHp/tururq6tQ+7Zb1tB502w9Bz1rNPLSagh7rz5tVBk/vRe/1D3/4Q+lnTX2mdThmzJjSz/osdNtPqXjrrbdS+/SZ++d46qmnpvbpu+S7H/3zNutaD/46/r6zVjnoq8IbtcOHD9uMGTOsubnZzMzOOecc27p1q61atcquvfba0ue6+49QT/GXysrKLvM6AABQhXc/jhs3zs4888zU78444wzbuXOnmZnV1taamZW+sR3V3t7e5dsbAAB5FN6onXfeebZt27bU71566SWbNGmSmZnV19dbbW2ttba2lvYfPHjQNmzYYLNmzSq6OACAQaTw7sebbrrJZs2aZc3NzXbFFVfY008/bffdd5/dd999Znak27GxsdGam5utoaHBGhoarLm52UaOHGlXXXVV0cXBAMsapu9lxclCw/+z4maeDsX3cRSNoeh5fBxAUwep0NIj/joag9DRvX5/KIam21p/Gpt5++23eyyDxlB8jEWvqVMkfIzFx+3Muj4nH2vSOJPWma8XXWIlNKRfn2meIf16bGhIv5bJ14umnQrFDzW1mNahr9+slGU+PqfxTL2Ofx+0HjRW56+jfyNaXn9d/3erMeiiFN6onXvuufaTn/zEli5darfeeqvV19fbypUr7eqrry59ZsmSJXbgwAFbsGCB7dmzx2bOnGnr169njhoAoF/KktD40ksvtUsvvbTH/RUVFdbU1GRNTU3luDwAYJAi9yMAIBosPYPC9SduFuL77rUfX6/pYyEaFwkteaFxMt32MZXQEhvdbXuh9EUaa/BxNI2ZaKzDl0nnIf3xj39Mbfvr6jI6fi6UWTqmpvEWH4vR64TSbZml70fvRcvkY1gav9Jt/8z1Oel5fZmylhPyzz+rDL68Wp+hGFXoOen+U045JbXv6Ojyo/xz0/lv+p7562gZNJbrY4J6L8rH2HydlCumxjc1AEA0aNQAANGg+xG55VnNOs++PFn6VSi9UWila7P00OusYfo+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jRgxwqZMmWK33nprKvHwYKujD9Xi0clx6uGHH05OOOGE5P77709efPHFZNGiRclJJ52U7NixY6CLdsx9/vOfT1avXp288MILyebNm5NLLrkkmThxYvLee++VPnPHHXckVVVVyY9//ONky5YtyVe+8pVk3LhxSUdHxwCWfGA8/fTTyeTJk5NPfvKTyaJFi0q/p46S5J133kkmTZqUfP3rX0/+53/+J9m+fXvy2GOPJS+//HLpM4O9nm677bZk9OjRyX/8x38k27dvT/7t3/4t+chHPpKsXLmy9JnBVkc///nPk2XLliU//vGPEzNLfvKTn6T296Y+rr/++uS0005LWltbk+eeey654IILkk996lPJBx98kKssx22j9hd/8RfJ9ddfn/rd1KlTk1tuuWWASvTh0d7enphZsmHDhiRJkuTw4cNJbW1tcscdd5Q+86c//Smprq5OfvjDHw5UMQfEvn37koaGhqS1tTWZPXt2qVGjjo64+eabk/PPP7/H/dRTklxyySXJN7/5zdTv5s2bl1xzzTVJklBH2qj1pj7efffd5IQTTkgefvjh0md2796dDBkyJPnFL36R6/rHZffjwYMHbdOmTamFRs3M5s6d2+NCo4PJ3r17zcxs1KhRZta7xVsHixtuuMEuueSSLnlGqaMj1q1bZzNmzLAvf/nLNnbsWDvnnHPs/vvvL+2nnszOP/98++Uvf2kvvfSSmZn95je/saeeesq+8IUvmBl1pMq1eHRPyrKeWrm99dZbdujQoW4XI+1podHBIkkSW7x4sZ1//vk2bdo0M+vd4q2DwcMPP2zPPfecPfPMM132UUdHvPrqq7Zq1SpbvHixffe737Wnn37avvWtb1llZaVde+211JOZ3XzzzbZ3716bOnWqDR061A4dOmS33367XXnllWbGu6TKtXh0T47LRu2ovixGGruFCxfab3/7W3vqqae67BvM9bVr1y5btGiRrV+/vsvKwt5griOzI6ssz5gxw5qbm83M7JxzzrGtW7faqlWr7Nprry19bjDX0yOPPGIPPfSQrV271s466yzbvHmzNTY2Wl1dnc2fP7/0ucFcR90pevHonhyX3Y9jxoyxoUOHdmnB/WKkg9GNN95o69ats8cff9zGjx9f+r1fvNUbTPW1adMma29vt+nTp9uwYcNs2LBhtmHDBvvHf/xHGzZsWKkeBnMdmZmNGzfOzjzzzNTvzjjjjNLKzbxLZt/5znfslltusa9+9at29tln29e+9jW76aabrKWlxcyoI9Wb+vCLR/f0md46Lhu1E0880aZPn26tra2p37e2tvZ69eyYJEliCxcutEcffdR+9atfWX19fWq/X7z1qKOLtw6W+rrwwgtty5Yttnnz5tK/GTNm2NVXX22bN2+2KVOmDPo6MjM777zzukwHeemll2zSpElmxrtkZrZ//34bMiT9n86hQ4eWhvRTR2m9qQ+/ePRRRxePzl1nfRre8iFwdEj/Aw88kLz44otJY2NjctJJJyWvvfbaQBftmPvbv/3bpLq6OnniiSeSN998s/Rv//79pc/ccccdSXV1dfLoo48mW7ZsSa688sqohxj3hh/9mCTUUZIcme4wbNiw5Pbbb09+//vfJ//6r/+ajBw5MnnooYdKnxns9TR//vzktNNOKw3pf/TRR5MxY8YkS5YsKX1msNXRvn37kueffz55/vnnEzNLVqxYkTz//POlKVa9qY/rr78+GT9+fPLYY48lzz33XPJXf/VXg2tIf5IkyT/90z8lkyZNSk488cTkM5/5TGkI+2BjZt3+W716dekzhw8fTr7//e8ntbW1SWVlZfLZz3422bJly8AV+kNAGzXq6Iif/exnybRp05LKyspk6tSpyX333ZfaP9jrqaOjI1m0aFEyceLEZPjw4cmUKVOSZcuWJZ2dnaXPDLY6evzxx7v9b9D8+fOTJOldfRw4cCBZuHBhMmrUqGTEiBHJpZdemuzcuTN3WVhPDQAQjeMypgYAQHdo1AAA0aBRAwBEg0YNABANGjUAQDRo1AAA0aBRAwBEg0YNABANGjUAQDRo1AAA0aBRAwBE4/8A8xfSI/1ms3kAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "plt.imshow(Z, cmap='Grays')\n", - "plt.plot(\n", - " [5.0*study.best_trial.params['x'] + 50.0],\n", - " [5.0*study.best_trial.params['y'] + 50.0],\n", - " 'ro',\n", - " markersize=2\n", - ");" - ] - }, - { - "cell_type": "markdown", - "id": "902de243-ebf7-4df1-ac09-70bcec4e21c9", + "execution_count": null, + "id": "show-two-basin-landscape", "metadata": {}, + "outputs": [], "source": [ - "## Robustness" + "fig, ax = plt.subplots(figsize=(5, 4))\n", + "image = plot_landscape(ax, title=\"A broad local basin and a narrow global basin\")\n", + "fig.colorbar(image, ax=ax, label=\"objective value\")\n", + "plt.show()" ] }, { "cell_type": "markdown", - "id": "62418c86-cc44-4e07-8893-568bec199e7d", + "id": "prediction-prompt", "metadata": {}, "source": [ - "How different are results of independent runs of the optimization mechanism." + "### Predict before running\n", + "\n", + "With 100 trials, which strategy do you expect to reach the narrow global basin more often: independent random sampling or adaptive TPE sampling? What behavior of the landscape supports your prediction?\n", + "\n", + "Also decide why comparing only the best Random run with the best TPE run would be misleading." ] }, { "cell_type": "code", - "execution_count": 79, - "id": "11741e9a-2e06-439a-83ac-0866c638842e", + "execution_count": null, + "id": "search-experiment-functions", "metadata": {}, "outputs": [], "source": [ - "nr_tries = 10\n", - "xs, ys = [], []\n", - "for _ in range(nr_tries):\n", - " study = optuna.create_study(direction='minimize')\n", - " study.optimize(objective, n_trials=100)\n", - " xs.append(study.best_trial.params['x'])\n", - " ys.append(study.best_trial.params['y'])" + "def two_basin_objective(trial):\n", + " x = trial.suggest_float(\"x\", SEARCH_LOW, SEARCH_HIGH)\n", + " y = trial.suggest_float(\"y\", SEARCH_LOW, SEARCH_HIGH)\n", + " return two_basin_function(x, y)\n", + "\n", + "\n", + "def run_repeated_searches(sampler_factory, seeds, n_trials):\n", + " runs = []\n", + " for seed in seeds:\n", + " study = optuna.create_study(\n", + " direction=\"minimize\", sampler=sampler_factory(seed)\n", + " )\n", + " study.optimize(two_basin_objective, n_trials=n_trials)\n", + " trial_values = np.array([trial.value for trial in study.trials])\n", + " runs.append(\n", + " {\n", + " \"seed\": seed,\n", + " \"best_value\": study.best_value,\n", + " \"best_x\": study.best_params[\"x\"],\n", + " \"best_y\": study.best_params[\"y\"],\n", + " \"best_so_far\": np.minimum.accumulate(trial_values),\n", + " }\n", + " )\n", + " return runs" ] }, { "cell_type": "code", - "execution_count": 80, - "id": "7d29ff6a-d795-4406-9d3b-903c9161057f", - "metadata": { - "scrolled": true - }, - "outputs": [ - { - "data": { - "image/png": "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bTrppJO0Zs2a3JyNG2+8UWPHjtWHPvQh7dq1S6eddpruuOMO5qgBAIakdKO2cOHC5GiVhoYGtbe3q729fcDPHH744brpppt00003lb18TmNjo770pS/1mSCLv6KODgz1VIw6KkYdFRvuOmrI6j2eEgCAEUJCYwBAZdCoAQAqg0YNAFAZNGoAgMqgUQMAVMZB3ah97WtfU1tbmw4//HDNnTtXP//5z0e6SCOis7NTJ554oiZMmKApU6bonHPO0aZNm3KfOZDFW0eTzs5ONTQ0aMmSJbXfUUe9tm7dqgsuuECTJk3S+PHj9c53vlPr1q2r7R/t9fTKK6/oi1/8otra2jRu3DjNmjVLV199dS7x8Giro9fU4tHZQeruu+/ODj300OzWW2/NHnvssezyyy/PjjjiiOzpp58e6aK96t773vdmt99+e/boo49m69evz84444xsxowZ2UsvvVT7zHXXXZdNmDAh+/a3v51t2LAh+/CHP5xNnTo127FjxwiWfGQ8+OCD2VFHHZW9/e1vzy6//PLa76mjLHvhhReymTNnZh//+Mez//3f/802b96c/fjHP86eeOKJ2mdGez1dc8012aRJk7If/OAH2ebNm7P//M//zF73utdlK1eurH1mtNXRD3/4w2z58uXZt7/97UxS9p3vfCe3/0Dq45JLLsmOPPLIrKurK3v44YezU089NXvHO96RvfLKK6XKctA2an/zN3+TXXLJJbnfHXPMMdlVV101QiV67ejp6ckkZWvXrs2yLMv27duXtbS0ZNddd13tM3/+85+zpqam7Otf//pIFXNE7Ny5M5s9e3bW1dWVLViwoNaoUUe9Pv/5z2ennHLKgPuppyw744wzsk9+8pO535177rnZBRdckGUZdeSN2oHUx4svvpgdeuih2d133137zNatW7NDDjkk+9GPflTq+gdl9+OePXu0bt263EKjkrRo0aIBFxodTbZv3y5JmjhxoqQDW7x1tLj00kt1xhln9MkzSh31Wr16tebNm6cPfvCDmjJlik444QTdeuuttf3Uk3TKKafoJz/5iR5//HFJ0i9/+Uvdf//9ev/73y+JOnLDtXj0QIZlPbXh9vzzz2vv3r39LkY60EKjo0WWZVq6dKlOOeUUzZkzR9KBLd46Gtx99916+OGH9dBDD/XZRx31+u1vf6ubb75ZS5cu1Re+8AU9+OCD+sxnPqPGxkZdeOGF1JOkz3/+89q+fbuOOeYYjRkzRnv37tW1116rj370o5J4l9xwLR49kIOyUdtvMIuRVt1ll12mX/3qV7r//vv77BvN9bVlyxZdfvnlWrNmTZ+VhaPRXEdS7yrL8+bNU0dHhyTphBNO0MaNG3XzzTfrwgsvrH1uNNfTt771Ld11111atWqVjjvuOK1fv15LlixRa2urLrrootrnRnMd9afei0cP5KDsfpw8ebLGjBnTpwWPi5GORp/+9Ke1evVq3XvvvZo2bVrt93Hx1mg01de6devU09OjuXPnauzYsRo7dqzWrl2rr3zlKxo7dmytHkZzHUnS1KlT9ba3vS33u2OPPba2cjPvkvS5z31OV111lT7ykY/o+OOP18c+9jFdccUV6uzslEQduQOpj7h49ECfOVAHZaN22GGHae7cuerq6sr9vqur64BXz66SLMt02WWX6Z577tFPf/pTtbW15fbHxVv3279462ipr9NOO00bNmzQ+vXra//mzZun888/X+vXr9esWbNGfR1J0sknn9xnOsjjjz+umTNnSuJdkqSXX35ZhxyS/0/nmDFjakP6qaO8A6mPuHj0fvsXjy5dZ4Ma3vIasH9I/2233ZY99thj2ZIlS7Ijjjgie+qpp0a6aK+6f/iHf8iampqy++67L3vuuedq/15++eXaZ6677rqsqakpu+eee7INGzZkH/3oRys9xPhAxNGPWUYdZVnvdIexY8dm1157bfab3/wm+4//+I9s/Pjx2V133VX7zGivp4suuig78sgja0P677nnnmzy5MnZlVdeWfvMaKujnTt3Zo888kj2yCOPZJKyFStWZI888khtitWB1Mcll1ySTZs2Lfvxj3+cPfzww9nf/d3fja4h/VmWZf/6r/+azZw5MzvssMOyd73rXbUh7KONpH7/3X777bXP7Nu3L/vSl76UtbS0ZI2Njdm73/3ubMOGDSNX6NcAb9Soo17f//73szlz5mSNjY3ZMccck91yyy25/aO9nnbs2JFdfvnl2YwZM7LDDz88mzVrVrZ8+fJs9+7dtc+Mtjq69957+/1v0EUXXZRl2YHVx65du7LLLrssmzhxYjZu3LjszDPPzJ555pnSZWE9NQBAZRyUMTUAAPpDowYAqAwaNQBAZdCoAQAqg0YNAFAZNGoAgMqgUQMAVAaNGgCgMmjUAACVQaMGAKgMGjUAQGX8P42rKGETFVsAAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "plt.imshow(Z, cmap='Grays')\n", - "plt.plot(\n", - " [5.0*x + 50.0 for x in xs],\n", - " [5.0*y + 50.0 for y in ys],\n", - " 'ro',\n", - " markersize=2\n", - ");" - ] - }, - { - "cell_type": "markdown", - "id": "2d309f80-5a3d-4864-9a2d-5465ade7b205", - "metadata": {}, - "source": [ - "# Example 2" - ] - }, - { - "cell_type": "markdown", - "id": "8ee22b00-e730-4edd-8617-5e0e2542cf9f", + "execution_count": null, + "id": "run-search-experiment", "metadata": {}, + "outputs": [], "source": [ - "## Target function" + "SEEDS = tuple(range(20))\n", + "TRIALS_PER_RUN = 100\n", + "\n", + "random_runs = run_repeated_searches(\n", + " lambda seed: optuna.samplers.RandomSampler(seed=seed),\n", + " SEEDS,\n", + " TRIALS_PER_RUN,\n", + ")\n", + "tpe_runs = run_repeated_searches(\n", + " lambda seed: optuna.samplers.TPESampler(seed=seed),\n", + " SEEDS,\n", + " TRIALS_PER_RUN,\n", + ")" ] }, { "cell_type": "code", - "execution_count": 106, - "id": "644139cc-c2c7-4236-bed3-d15037cf7ca6", + "execution_count": null, + "id": "summarize-search-experiment", "metadata": {}, "outputs": [], "source": [ - "def gauss_holes(x, y, holes):\n", - " x_1, y_1, a_1, s_1 = holes[0][0], holes[0][1], 7.0, 0.05\n", - " x_2, y_2, a_2, s_2 = holes[1][0], holes[1][1], 10.0, 0.5\n", - " g_1 = a_1*np.exp(-s_1*((x - x_1)**2 + (y - y_1)**2))\n", - " g_2 = a_2*np.exp(-s_2*((x - x_2)**2 + (y - y_2)**2))\n", - " return 10.0 - g_1 - g_2" + "def summarize_runs(runs):\n", + " best_values = np.array([run[\"best_value\"] for run in runs])\n", + " hits = best_values < GLOBAL_BASIN_THRESHOLD\n", + " return {\n", + " \"runs\": len(runs),\n", + " \"global-basin hits\": int(hits.sum()),\n", + " \"hit rate\": float(hits.mean()),\n", + " \"median best value\": float(np.median(best_values)),\n", + " \"best observed value\": float(best_values.min()),\n", + " }\n", + "\n", + "\n", + "for name, runs in ((\"Random\", random_runs), (\"TPE\", tpe_runs)):\n", + " print(name, summarize_runs(runs))" ] }, { "cell_type": "code", - "execution_count": 113, - "id": "30305247-8bba-4d5b-a50b-b4b565f2ed34", + "execution_count": null, + "id": "plot-search-experiment", "metadata": {}, "outputs": [], "source": [ - "holes = [(-3.0, 5.0), (7.0, -3.0)]" - ] - }, - { - "cell_type": "code", - "execution_count": 114, - "id": "274977df-4fad-4c47-867d-372b522596fa", - "metadata": { - "scrolled": true - }, - "outputs": [ - { - "data": { - "image/png": "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9cILL+jHP/6xmpubc86bm7decWXz1rHSXrfeeqsOHz6sQ4cOZX8WLVqku+++W4cOHdK8efPGfBtJ0s033zxkOsjbb7+tuXPnSuK7JElnzpzRuHG5/3SOHz8+O6SfNsqVT3uYm0dfcWXzaO82K2h4yyhwZUj/P/zDP0RvvfVW1NraGk2ZMiX6n//5n3JXreT++q//Oqqrq4t++tOfRu+++27258yZM9kyjz76aFRXVxe98MIL0eHDh6O77ror6CHG+TBHP0YRbRRFl6c7TJgwIXrkkUei//qv/4r+6Z/+KaqpqYmee+65bJmx3k5r1qyJrr766uyQ/hdeeCGaMWNGtHHjxmyZsdZGp06dit58883ozTffjCRF27dvj958883sFKt82uO+++6LZs+eHf3whz+M3njjjejP/uzPxtaQ/iiKom9961vR3Llzo0mTJkUf+chHskPYxxpJw/4888wz2TKXLl2Kvv71r0cNDQ1RJpOJ/vRP/zQ6fPhw+So9CtidGm102fe+971o/vz5USaTia677rpo165dOefHejv19/dHGzZsiObMmRNNnjw5mjdvXrR58+ZoYGAgW2astdFPfvKTYf8NWrNmTRRF+bXH2bNno/Xr10fTpk2Lqquro0984hPRiRMnvOvCfmoAgGBUZE4NAIDh0KkBAIJBpwYACAadGgAgGHRqAIBg0KkBAIJBpwYACAadGgAgGHRqAIBg0KkBAIJBpwYACMb/ATn4sLga9G+aAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "visualize_func(functools.partial(gauss_holes, holes=holes))" + "def plot_progress(ax, runs, label):\n", + " histories = np.vstack([run[\"best_so_far\"] for run in runs])\n", + " trial_numbers = np.arange(1, histories.shape[1] + 1)\n", + " lower, median, upper = np.quantile(histories, [0.1, 0.5, 0.9], axis=0)\n", + " ax.plot(trial_numbers, median, label=label)\n", + " ax.fill_between(trial_numbers, lower, upper, alpha=0.2)\n", + "\n", + "\n", + "fig, axes = plt.subplots(1, 3, figsize=(14, 4), constrained_layout=True)\n", + "for name, runs in ((\"Random\", random_runs), (\"TPE\", tpe_runs)):\n", + " plot_progress(axes[0], runs, name)\n", + "axes[0].axhline(GLOBAL_BASIN_THRESHOLD, color=\"black\", linestyle=\"--\", label=\"global-basin threshold\")\n", + "axes[0].set(xlabel=\"trial\", ylabel=\"best objective so far\", title=\"Median and 10--90% interval\")\n", + "axes[0].legend()\n", + "\n", + "for ax, name, runs in zip(axes[1:], (\"Random\", \"TPE\"), (random_runs, tpe_runs)):\n", + " best_points = [(run[\"best_x\"], run[\"best_y\"]) for run in runs]\n", + " plot_landscape(ax, best_points, f\"Best point from each {name} run\")\n", + "plt.show()" ] }, { "cell_type": "markdown", - "id": "bc1cb297-d080-41a7-844b-ec83a6c95346", + "id": "interpret-search-experiment", "metadata": {}, "source": [ - "## Samplers" + "### Interpret the evidence\n", + "\n", + "1. Which sampler reached the global basin in more of these runs?\n", + "2. Do the median curves and the hit rates support the same conclusion?\n", + "3. Would quadrupling the number of trials per run answer the same question as quadrupling the number of repeated runs?\n", + "\n", + "
\n", + "Discussion\n", + "\n", + "The hit rate measures reliability under the stated 100-trial budget; the best single run does not. The median curve describes typical progress, but it can hide rare successes in the narrow basin, so it complements rather than replaces the hit rate. More trials per run investigate performance under a larger search budget. More repeated runs estimate the variability and hit rate at the existing budget more precisely. They answer different questions.\n", + "\n", + "This small experiment is not a general benchmark. TPE uses previous trials to concentrate its search, which can help on many objectives but can also draw attention towards the broad local basin. Sampler performance depends on the landscape, parameter types, dimensionality, budget, and degree of parallelism.\n", + "
" ] }, { "cell_type": "markdown", - "id": "0007187b-e5b1-4d85-acb8-6fb276f5b90d", + "id": "hyperparameter-optimization", "metadata": {}, "source": [ - "### Default" + "## 3. From function optimization to hyperparameter optimization\n", + "\n", + "For machine learning, the objective is normally an estimate of performance on **validation data**, not performance on the training data and not performance on the final test data. Every trial influences model selection, so every trial must remain blind to the test set.\n", + "\n", + "We use a small synthetic regression problem so that the model and evidence split remain visible and the example needs no data download. Polynomial degree controls model flexibility; regularization controls how strongly non-constant coefficients are shrunk. Both are hyperparameters because training does not estimate them.\n", + "\n", + "A single train/validation/test split keeps the example short. Cross-validation or repeated validation would usually provide stronger evidence for a real study." ] }, { "cell_type": "code", - "execution_count": 170, - "id": "61060d7a-414b-4e6e-a1b2-4184e30fafb9", + "execution_count": null, + "id": "prepare-ml-data", "metadata": {}, "outputs": [], "source": [ - "nr_tries = 20\n", - "xs, ys = [], []\n", - "for _ in range(nr_tries):\n", - " study = optuna.create_study(direction='minimize')\n", - " study.optimize(\n", - " lambda trial: functools.partial(\n", - " gauss_holes,\n", - " holes=holes)(trial.suggest_float('x', -10.0, 10.0), trial.suggest_float('y', -10.0, 10.0)),\n", - " n_trials=200\n", - " )\n", - " xs.append(study.best_trial.params['x'])\n", - " ys.append(study.best_trial.params['y'])" - ] - }, - { - "cell_type": "code", - "execution_count": 171, - "id": "f2441321-f7d2-4f78-8227-8410a1b279c8", - "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "visualize_func(functools.partial(gauss_holes, holes=holes))\n", - "plt.plot(\n", - " [5.0*x + 50.0 for x in xs],\n", - " [5.0*y + 50.0 for y in ys],\n", - " 'ro',\n", - " markersize=2\n", - ");" - ] - }, - { - "cell_type": "code", - "execution_count": 180, - "id": "dbec700b-9ce4-4ab6-ab13-579d2b07522d", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Counter({(-3.0, 5.0): 19})" - ] - }, - "execution_count": 180, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "counter = collections.Counter()\n", - "for x, y in zip(xs, ys):\n", - " if np.isclose(x, holes[0][0], atol=3.0) and np.isclose(y, holes[0][1], atol=3.0):\n", - " counter[holes[0]] += 1\n", - " elif np.isclose(x, holes[1][0], atol=0.1) and np.isclose(y, holes[1][1], atol=0.1):\n", - " counter[holes[1]] += 1\n", - "counter" + "data_rng = np.random.default_rng(2025)\n", + "features = np.linspace(-1.0, 1.0, 240)\n", + "signal = 0.5 + 1.5 * features - 2.0 * features**2 + np.sin(5.0 * features)\n", + "targets = signal + data_rng.normal(loc=0.0, scale=0.3, size=features.size)\n", + "\n", + "indices = data_rng.permutation(features.size)\n", + "train_indices = indices[:144]\n", + "validation_indices = indices[144:192]\n", + "test_indices = indices[192:]\n", + "\n", + "train_features, train_targets = features[train_indices], targets[train_indices]\n", + "validation_features = features[validation_indices]\n", + "validation_targets = targets[validation_indices]\n", + "test_features, test_targets = features[test_indices], targets[test_indices]\n", + "\n", + "print(\n", + " f\"train={len(train_targets)}, validation={len(validation_targets)}, \"\n", + " f\"test={len(test_targets)}\"\n", + ")" ] }, { "cell_type": "markdown", - "id": "7107093a-f37d-411b-9f0a-3ae612c963df", + "id": "validation-objective-explanation", "metadata": {}, "source": [ - "### TPESampler" + "The objective below varies one structural and one regularizing hyperparameter. Degree is sampled as an integer; the regularization strength spans several orders of magnitude and is therefore sampled on a logarithmic scale.\n", + "\n", + "The fitted model is deterministic for fixed data and hyperparameters. For a stochastic learner, the training seed would also have to be controlled or repeated." ] }, { "cell_type": "code", - "execution_count": 181, - "id": "e9316a5f-830e-4868-80da-58918b994383", + "execution_count": null, + "id": "validation-objective", "metadata": {}, "outputs": [], "source": [ - "nr_tries = 20\n", - "xs, ys = [], []\n", - "for _ in range(nr_tries):\n", - " study = optuna.create_study(direction='minimize', sampler=optuna.samplers.TPESampler())\n", - " study.optimize(\n", - " lambda trial: functools.partial(\n", - " gauss_holes,\n", - " holes=holes)(trial.suggest_float('x', -10.0, 10.0), trial.suggest_float('y', -10.0, 10.0)),\n", - " n_trials=200\n", + "def polynomial_features(features, degree):\n", + " return np.column_stack([features**power for power in range(degree + 1)])\n", + "\n", + "\n", + "def fit_polynomial(features, targets, degree, regularization):\n", + " design = polynomial_features(features, degree)\n", + " penalty = np.eye(degree + 1)\n", + " penalty[0, 0] = 0.0 # Do not regularize the intercept.\n", + " return np.linalg.solve(\n", + " design.T @ design + regularization * penalty,\n", + " design.T @ targets,\n", + " )\n", + "\n", + "\n", + "def predict_polynomial(features, coefficients):\n", + " return polynomial_features(features, len(coefficients) - 1) @ coefficients\n", + "\n", + "\n", + "def root_mean_squared_error(observed, predicted):\n", + " return float(np.sqrt(np.mean((observed - predicted) ** 2)))\n", + "\n", + "\n", + "def validation_objective(trial):\n", + " degree = trial.suggest_int(\"degree\", 1, 15)\n", + " regularization = trial.suggest_float(\n", + " \"regularization\", 1.0e-8, 1.0e2, log=True\n", + " )\n", + " coefficients = fit_polynomial(\n", + " train_features, train_targets, degree, regularization\n", " )\n", - " xs.append(study.best_trial.params['x'])\n", - " ys.append(study.best_trial.params['y'])" + " predictions = predict_polynomial(validation_features, coefficients)\n", + " return root_mean_squared_error(validation_targets, predictions)" ] }, { "cell_type": "code", - "execution_count": 182, - "id": "83a522a9-a117-4f31-8790-53705ed19055", + "execution_count": null, + "id": "run-hyperparameter-study", "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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jNR3q1at0i9/+Uu9/vrrQ85VcnsdPXpUq1ev1q5duzRu3LgRy1VyG0kXNt6dO3euOjo6JEmzZ8/WgQMHtGXLFt19993pcpXcTs8//7yee+45bd++XVdffbX27duntrY2NTU1afny5elyldxGw0l68+iRlGX4cfLkyaqurh7Sg4c3I61E999/v3bu3KlXXnlF06ZNSz8e3rw1rJLaa+/evert7dWcOXM0evRojR49Wt3d3fr7v/97jR49Ot0OldxGkjR16lR98pOfzHjsqquu0pEjRyTxXZKkb3/723rwwQf1la98Rddcc42++tWv6pvf/KY6Ozsl0UambNojvHn0SGWyVZad2tixYzVnzhx1dXVlPN7V1ZX17tk+CYJAq1at0gsvvKCf//znamlpyTgf3rz1ooubt1ZKe91www3av3+/9u3bl/6ZO3eu7rzzTu3bt08zZ86s+DaSpOuuu27IdJD3339fM2bMkMR3SZJOnjypUaMy/+msrq5OD+mnjTJl0x7hzaMvurh5tHOb5TS8pQRcHNL/D//wD8F7770XtLW1BePHjw/+93//t9hVK7i//uu/Durr64NXX301+PDDD9M/J0+eTJd55JFHgvr6+uCFF14I9u/fH9xxxx1eDzHORnj0YxDQRkFwYbrD6NGjg4cffjj4n//5n+Cf/umfgtra2uC5555Ll6n0dlq+fHlw2WWXpYf0v/DCC8HkyZODNWvWpMtUWhsdP348ePvtt4O33347kBRs2rQpePvtt9NTrLJpj3vvvTeYNm1a8NOf/jR46623gj//8z+vrCH9QRAETzzxRDBjxoxg7NixwWc/+9n0EPZKI2nYn2eeeSZd5vz588H3vve9oLGxMUilUsHnPve5YP/+/cWrdAkwOzXa6IKXXnopmDVrVpBKpYIrr7wy2Lp1a8b5Sm+n/v7+YPXq1cH06dODcePGBTNnzgzWrVsXDAwMpMtUWhu98sorw/4btHz58iAIsmuPU6dOBatWrQomTpwY1NTUBF/84heDI0eOONeF/dQAAN4oy5waAADDoVMDAHiDTg0A4A06NQCAN+jUAADeoFMDAHiDTg0A4A06NQCAN+jUAADeoFMDAHiDTg0A4I3/BynECVHSqh/KAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], + "outputs": [], "source": [ - "visualize_func(functools.partial(gauss_holes, holes=holes))\n", - "plt.plot(\n", - " [5.0*x + 50.0 for x in xs],\n", - " [5.0*y + 50.0 for y in ys],\n", - " 'ro',\n", - " markersize=2\n", - ");" + "model_study = optuna.create_study(\n", + " direction=\"minimize\",\n", + " sampler=optuna.samplers.TPESampler(seed=27182, n_startup_trials=10),\n", + ")\n", + "model_study.optimize(validation_objective, n_trials=40)\n", + "\n", + "print(f\"Best validation RMSE: {model_study.best_value:.3f}\")\n", + "print(f\"Selected hyperparameters: {model_study.best_params}\")" ] }, { "cell_type": "code", - "execution_count": 183, - "id": "48d1ebc6-5dc9-488c-bcf3-d213eff46c2c", + "execution_count": null, + "id": "inspect-model-study", "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Counter({(-3.0, 5.0): 18, (7.0, -3.0): 2})" - ] - }, - "execution_count": 183, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ - "counter = collections.Counter()\n", - "for x, y in zip(xs, ys):\n", - " if np.isclose(x, holes[0][0], atol=3.0) and np.isclose(y, holes[0][1], atol=3.0):\n", - " counter[holes[0]] += 1\n", - " elif np.isclose(x, holes[1][0], atol=0.1) and np.isclose(y, holes[1][1], atol=0.1):\n", - " counter[holes[1]] += 1\n", - "counter" + "model_trials = [trial_record(trial) for trial in model_study.trials]\n", + "sorted(model_trials, key=lambda record: record[\"value\"])[:5]" ] }, { "cell_type": "markdown", - "id": "43db0d23-8fd3-41e7-8976-fae830334220", + "id": "final-evaluation", "metadata": {}, "source": [ - "### RandomSampler" + "### Final evaluation\n", + "\n", + "Only after selecting a configuration do we combine the training and validation data, fit one final model, and evaluate it once on the test data. The test RMSE estimates the performance of the **entire selection procedure**, not merely the winning fitted model." ] }, { "cell_type": "code", - "execution_count": 184, - "id": "10e3e0bb-8bc0-4528-91a7-7f392f17f02f", + "execution_count": null, + "id": "evaluate-test-data", "metadata": {}, "outputs": [], "source": [ - "nr_tries = 20\n", - "xs, ys = [], []\n", - "for _ in range(nr_tries):\n", - " study = optuna.create_study(direction='minimize', sampler=optuna.samplers.RandomSampler())\n", - " study.optimize(\n", - " lambda trial: functools.partial(\n", - " gauss_holes,\n", - " holes=holes)(trial.suggest_float('x', -10.0, 10.0), trial.suggest_float('y', -10.0, 10.0)),\n", - " n_trials=200\n", - " )\n", - " xs.append(study.best_trial.params['x'])\n", - " ys.append(study.best_trial.params['y'])" + "final_features = np.concatenate((train_features, validation_features))\n", + "final_targets = np.concatenate((train_targets, validation_targets))\n", + "\n", + "final_coefficients = fit_polynomial(\n", + " final_features,\n", + " final_targets,\n", + " model_study.best_params[\"degree\"],\n", + " model_study.best_params[\"regularization\"],\n", + ")\n", + "test_predictions = predict_polynomial(test_features, final_coefficients)\n", + "test_rmse = root_mean_squared_error(test_targets, test_predictions)\n", + "print(f\"Final test RMSE: {test_rmse:.3f}\")" ] }, { - "cell_type": "code", - "execution_count": 185, - "id": "57d0886d-7d35-4c9d-b935-c857b46d5fff", + "cell_type": "markdown", + "id": "diagnosis-exercise", "metadata": {}, - "outputs": [ - { - "data": { - "image/png": "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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], "source": [ - "visualize_func(functools.partial(gauss_holes, holes=holes))\n", - "plt.plot(\n", - " [5.0*x + 50.0 for x in xs],\n", - " [5.0*y + 50.0 for y in ys],\n", - " 'ro',\n", - " markersize=2\n", - ");" + "### Diagnose the experimental design\n", + "\n", + "For each proposal, decide whether it preserves a defensible final evaluation. Explain your decision.\n", + "\n", + "1. Return training RMSE from the Optuna objective because it is less noisy.\n", + "2. Return test RMSE from the objective so that Optuna optimizes the quantity ultimately reported.\n", + "3. If the final test RMSE is disappointing, enlarge the search space and repeat the study against the same test set.\n", + "4. Replace the single validation split with cross-validation while keeping the test set untouched.\n", + "\n", + "
\n", + "Solution\n", + "\n", + "1. No. Training error rewards configurations that fit the observed training data and does not estimate generalization.\n", + "2. No. Repeatedly using test performance makes the test set part of model selection, so it no longer supplies independent evidence.\n", + "3. No, not if the same test result influences the redesign. The revised procedure needs genuinely external test evidence, or the reported result must explicitly acknowledge that the original test data became development data.\n", + "4. Yes. Cross-validation can reduce dependence on one validation split, although it increases computation and does not remove the need for an untouched test set.\n", + "
" ] }, { - "cell_type": "code", - "execution_count": 186, - "id": "4a5eb390-6763-400b-bc8c-9964a774738c", - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "Counter({(-3.0, 5.0): 10})" - ] - }, - "execution_count": 186, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "counter = collections.Counter()\n", - "for x, y in zip(xs, ys):\n", - " if np.isclose(x, holes[0][0], atol=3.0) and np.isclose(y, holes[0][1], atol=3.0):\n", - " counter[holes[0]] += 1\n", - " elif np.isclose(x, holes[1][0], atol=0.1) and np.isclose(y, holes[1][1], atol=0.1):\n", - " counter[holes[1]] += 1\n", - "counter" + "cell_type": "markdown", + "id": "takeaways", + "metadata": {}, + "source": [ + "## Takeaways\n", + "\n", + "- Optuna manages trials; it does not make an invalid objective meaningful.\n", + "- Define the search space, evidence split, metric, and budget before examining results.\n", + "- Compare stochastic strategies over repeated runs with equal budgets, and report typical behavior as well as rare successes.\n", + "- Keep the test set outside the optimization loop and use it only after selecting a configuration.\n", + "- Record seeds, software versions, trial histories, failures, and resource budgets. Exact reproducibility becomes harder with stochastic objectives or parallel and distributed execution.\n", + "\n", + "The [parameterized heat-equation PINN optimization notebook](parameterized_heat_equation_optimization.ipynb) applies these principles to a more realistic and more expensive case.\n", + "\n", + "Further reading:\n", + "\n", + "- [Optuna: first optimization](https://optuna.readthedocs.io/en/stable/tutorial/10_key_features/001_first.html)\n", + "- [Optuna: samplers and pruning](https://optuna.readthedocs.io/en/stable/tutorial/10_key_features/003_efficient_optimization_algorithms.html)\n", + "- [Optuna FAQ: reproducibility](https://optuna.readthedocs.io/en/stable/faq.html#how-can-i-obtain-reproducible-optimization-results)" ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "32bc40c0-f493-4654-99c4-d9b14c0641fa", - "metadata": {}, - "outputs": [], - "source": [] } ], "metadata": { diff --git a/source-code/pinns/parameterized_heat_equation_optimization.ipynb b/source-code/parameter-optimization/parameterized_heat_equation_optimization.ipynb similarity index 99% rename from source-code/pinns/parameterized_heat_equation_optimization.ipynb rename to source-code/parameter-optimization/parameterized_heat_equation_optimization.ipynb index 414db86..a693ed4 100644 --- a/source-code/pinns/parameterized_heat_equation_optimization.ipynb +++ b/source-code/parameter-optimization/parameterized_heat_equation_optimization.ipynb @@ -20,7 +20,7 @@ "- compare configurations across common, fresh training seeds;\n", "- report accuracy, variability, model size, and runtime without pretending they are interchangeable.\n", "\n", - "The default experiment is intentionally small and normally takes roughly one to three minutes on a recent CPU. It needs PyTorch, NumPy, Matplotlib, and Optuna from `environment.yml`." + "The default experiment is intentionally small and normally takes roughly one to three minutes on a recent CPU. It needs PyTorch, NumPy, Matplotlib, and Optuna from the [course environment](../../environment.yml)." ] }, { @@ -197,7 +197,7 @@ "\n", "with $u(0,t)=u(1,t)=0$. The network input is $(x,t,a_1,a_2,\\kappa)$. A hard-constrained trial solution satisfies the initial and boundary conditions for every network configuration, so architecture comparisons are not confounded by different loss-term weights.\n", "\n", - "This duplicates a small amount of code from `parameterized_heat_equation.ipynb` so the experiment is self-contained and reproducible from top to bottom." + "This duplicates a small amount of code from the [parameterized heat-equation PINN notebook](../pinns/parameterized_heat_equation.ipynb) so the experiment is self-contained and reproducible from top to bottom." ] }, { diff --git a/source-code/pinns/README.md b/source-code/pinns/README.md index 0906518..c2e694b 100644 --- a/source-code/pinns/README.md +++ b/source-code/pinns/README.md @@ -15,9 +15,11 @@ equations in the loss function. across a family of heat equations with varying initial conditions and diffusivities. It uses hard initial and boundary constraints and validates interpolation and extrapolation against the analytical solution. -1. `parameterized_heat_equation_optimization.ipynb`: methodology-first - hyperparameter optimization for the parameterized heat-equation PINN. It - compares a transparent random-search baseline with Optuna, confirms a - shortlist across fresh training seeds, and uses a final untouched audit - suite. -1. `environment.yml`: conda environment specification file. + +All notebooks in this directory run in the repository's standard +[CPU](../../environment.yml) or [GPU](../../environment_gpu.yml) environment. + +The [PINN hyperparameter-optimization case study](../parameter-optimization/parameterized_heat_equation_optimization.ipynb) +is kept with the parameter-optimization material because its primary subject is +experimental methodology; it uses the parameterized heat equation as its +realistic example. diff --git a/source-code/pinns/environment.yml b/source-code/pinns/environment.yml deleted file mode 100644 index 44bc59d..0000000 --- a/source-code/pinns/environment.yml +++ /dev/null @@ -1,13 +0,0 @@ -name: pytorch -channels: - - conda-forge -dependencies: - - jupyterlab - - matplotlib - - optuna - - pytorch - - scipy - - torchopt - - torchvision - -prefix: "/home/gjb/mambaforge/envs/pytorch" diff --git a/source-code/pinns/logistic_de.ipynb b/source-code/pinns/logistic_de.ipynb index ed080d7..f19bac5 100644 --- a/source-code/pinns/logistic_de.ipynb +++ b/source-code/pinns/logistic_de.ipynb @@ -12,15 +12,34 @@ "cell_type": "code", "execution_count": 1, "id": "420984ea-3335-42a0-858e-0a1d4435e157", - "metadata": {}, - "outputs": [], + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-18T09:31:43.296396Z", + "iopub.status.busy": "2026-08-18T09:31:43.296230Z", + "iopub.status.idle": "2026-08-18T09:31:46.273702Z", + "shell.execute_reply": "2026-08-18T09:31:46.272616Z" + } + }, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "from collections import OrderedDict\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import torch\n", "from torch.func import functional_call, grad, vmap\n", - "import torchopt" + "\n", + "torch.manual_seed(42)" ] }, { @@ -73,7 +92,14 @@ "cell_type": "code", "execution_count": 2, "id": "e234203f-9d86-4462-8670-aa7ba4d6953e", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-18T09:31:46.275499Z", + "iopub.status.busy": "2026-08-18T09:31:46.275270Z", + "iopub.status.idle": "2026-08-18T09:31:46.279327Z", + "shell.execute_reply": "2026-08-18T09:31:46.278536Z" + } + }, "outputs": [], "source": [ "class PINN(torch.nn.Module):\n", @@ -99,7 +125,14 @@ "cell_type": "code", "execution_count": 3, "id": "02ace898-0448-425b-87a0-4b4937bf3cbc", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-18T09:31:46.280766Z", + "iopub.status.busy": "2026-08-18T09:31:46.280637Z", + "iopub.status.idle": "2026-08-18T09:31:46.283465Z", + "shell.execute_reply": "2026-08-18T09:31:46.282563Z" + } + }, "outputs": [], "source": [ "nr_inputs, nr_neurons, nr_layers = 1, 5, 5" @@ -109,7 +142,14 @@ "cell_type": "code", "execution_count": 4, "id": "ec1ef716-9fe6-4dff-a71c-585c4bc4f713", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-18T09:31:46.284907Z", + "iopub.status.busy": "2026-08-18T09:31:46.284751Z", + "iopub.status.idle": "2026-08-18T09:31:46.289157Z", + "shell.execute_reply": "2026-08-18T09:31:46.288108Z" + } + }, "outputs": [], "source": [ "model = PINN(nr_inputs=nr_inputs, nr_neurons=nr_neurons, nr_layers=nr_layers)" @@ -158,7 +198,14 @@ "cell_type": "code", "execution_count": 5, "id": "15acb49f-c285-4b57-be15-98d0f97556ac", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-18T09:31:46.290800Z", + "iopub.status.busy": "2026-08-18T09:31:46.290659Z", + "iopub.status.idle": "2026-08-18T09:31:46.294140Z", + "shell.execute_reply": "2026-08-18T09:31:46.293118Z" + } + }, "outputs": [], "source": [ "def tuple_to_dict_parameters(model, params):\n", @@ -179,7 +226,14 @@ "cell_type": "code", "execution_count": 6, "id": "40ec2dc8-457e-4eff-92f1-8dd5b726f21f", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-18T09:31:46.295633Z", + "iopub.status.busy": "2026-08-18T09:31:46.295488Z", + "iopub.status.idle": "2026-08-18T09:31:46.298965Z", + "shell.execute_reply": "2026-08-18T09:31:46.298108Z" + } + }, "outputs": [], "source": [ "def make_forward_functions(model, derivative_order=1):\n", @@ -204,7 +258,14 @@ "cell_type": "code", "execution_count": 7, "id": "419a77ff-3920-4b5a-8121-2c0411ce1137", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-18T09:31:46.300310Z", + "iopub.status.busy": "2026-08-18T09:31:46.300189Z", + "iopub.status.idle": "2026-08-18T09:31:46.302951Z", + "shell.execute_reply": "2026-08-18T09:31:46.302105Z" + } + }, "outputs": [], "source": [ "f, dfdx = make_forward_functions(model, derivative_order=1)" @@ -222,7 +283,14 @@ "cell_type": "code", "execution_count": 8, "id": "451d07ba-fdea-4e1f-b71c-d308498a3bf3", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-18T09:31:46.304456Z", + "iopub.status.busy": "2026-08-18T09:31:46.304321Z", + "iopub.status.idle": "2026-08-18T09:31:46.307750Z", + "shell.execute_reply": "2026-08-18T09:31:46.306931Z" + } + }, "outputs": [], "source": [ "def make_loss_functions(f, dfdx, R, initial_values):\n", @@ -242,7 +310,14 @@ "cell_type": "code", "execution_count": 9, "id": "ec7e86a2-7ac3-4fee-8e0f-ce2675f6b85f", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-18T09:31:46.309078Z", + "iopub.status.busy": "2026-08-18T09:31:46.308949Z", + "iopub.status.idle": "2026-08-18T09:31:46.311606Z", + "shell.execute_reply": "2026-08-18T09:31:46.310785Z" + } + }, "outputs": [], "source": [ "R, initial_values = 1.0, (0.0, 0.5)" @@ -252,7 +327,14 @@ "cell_type": "code", "execution_count": 10, "id": "001e4bb7-a52c-43d4-9384-f5ec8a7b9cba", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-18T09:31:46.312933Z", + "iopub.status.busy": "2026-08-18T09:31:46.312776Z", + "iopub.status.idle": "2026-08-18T09:31:46.315456Z", + "shell.execute_reply": "2026-08-18T09:31:46.314598Z" + } + }, "outputs": [], "source": [ "loss_function = make_loss_functions(f, dfdx, R, initial_values)" @@ -271,14 +353,21 @@ "id": "051f42f9-3337-4f9d-94a4-b4901c21f24b", "metadata": {}, "source": [ - "We will use an Adam optimizer to minimize the loss function using the learning rate as a parameter." + "We use PyTorch's Adam optimizer to update the model parameters. The derivatives with respect to time still come from `torch.func`; differentiating with respect to the model parameters and applying an optimizer step use the standard `backward()` workflow." ] }, { "cell_type": "code", "execution_count": 11, "id": "16ed67e1-8f71-4273-b91e-a5f0754d22a7", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-18T09:31:46.317210Z", + "iopub.status.busy": "2026-08-18T09:31:46.317034Z", + "iopub.status.idle": "2026-08-18T09:31:46.320149Z", + "shell.execute_reply": "2026-08-18T09:31:46.319037Z" + } + }, "outputs": [], "source": [ "learning_rate = 1.0e-1" @@ -288,10 +377,17 @@ "cell_type": "code", "execution_count": 12, "id": "e7dc6d64-42ac-4ff1-bb1a-b1fdd523c36b", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-18T09:31:46.322167Z", + "iopub.status.busy": "2026-08-18T09:31:46.321960Z", + "iopub.status.idle": "2026-08-18T09:31:47.202285Z", + "shell.execute_reply": "2026-08-18T09:31:47.200911Z" + } + }, "outputs": [], "source": [ - "optimizer = torchopt.FuncOptimizer(torchopt.adam(lr=learning_rate))" + "optimizer = torch.optim.Adam(model.parameters(), lr=learning_rate)" ] }, { @@ -299,14 +395,21 @@ "id": "425282a0-9c4e-4b6b-b921-da1616199af3", "metadata": {}, "source": [ - "Now we get the neural network's current parameters as a tuple." + "The functional forward and derivative functions expect the model parameters as a tuple. These entries refer to the same parameter objects that Adam updates in place." ] }, { "cell_type": "code", "execution_count": 13, "id": "c1846827-0111-4533-91f4-317245f10cf3", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-18T09:31:47.204565Z", + "iopub.status.busy": "2026-08-18T09:31:47.204167Z", + "iopub.status.idle": "2026-08-18T09:31:47.207855Z", + "shell.execute_reply": "2026-08-18T09:31:47.206674Z" + } + }, "outputs": [], "source": [ "params = tuple(model.parameters())" @@ -316,7 +419,14 @@ "cell_type": "code", "execution_count": 14, "id": "2c661202-c375-4c75-9ae8-1018a90ced63", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-18T09:31:47.209518Z", + "iopub.status.busy": "2026-08-18T09:31:47.209345Z", + "iopub.status.idle": "2026-08-18T09:31:47.212610Z", + "shell.execute_reply": "2026-08-18T09:31:47.211514Z" + } + }, "outputs": [], "source": [ "batch_size = 50\n", @@ -329,155 +439,56 @@ "cell_type": "code", "execution_count": 15, "id": "73d5134a-20ad-4247-b6a1-5180b3ee785b", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-18T09:31:47.214256Z", + "iopub.status.busy": "2026-08-18T09:31:47.214110Z", + "iopub.status.idle": "2026-08-18T09:31:47.925926Z", + "shell.execute_reply": "2026-08-18T09:31:47.924527Z" + } + }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "Epoch 1 with loss 3.12261e-01\n", - "Epoch 2 with loss 6.25678e-02\n", - "Epoch 3 with loss 1.20098e-01\n", - "Epoch 4 with loss 6.99897e-02\n", - "Epoch 5 with loss 8.25822e-02\n", - "Epoch 6 with loss 6.09384e-02\n", - "Epoch 7 with loss 6.43098e-02\n", - "Epoch 8 with loss 6.84182e-02\n", - "Epoch 9 with loss 6.65103e-02\n", - "Epoch 10 with loss 6.48356e-02\n", - "Epoch 11 with loss 5.96315e-02\n", - "Epoch 12 with loss 5.24541e-02\n", - "Epoch 13 with loss 4.38570e-02\n", - "Epoch 14 with loss 5.89740e-02\n", - "Epoch 15 with loss 4.38067e-02\n", - "Epoch 16 with loss 3.57324e-02\n", - "Epoch 17 with loss 3.05979e-02\n", - "Epoch 18 with loss 4.51232e-02\n", - "Epoch 19 with loss 2.38443e-02\n", - "Epoch 20 with loss 9.11335e-03\n", - "Epoch 21 with loss 3.09037e-02\n", - "Epoch 22 with loss 6.16947e-03\n", - "Epoch 23 with loss 2.87395e-02\n", - "Epoch 24 with loss 1.45336e-02\n", - "Epoch 25 with loss 1.81223e-02\n", - "Epoch 26 with loss 1.17420e-02\n", - "Epoch 27 with loss 1.08394e-02\n", - "Epoch 28 with loss 8.74930e-03\n", - "Epoch 29 with loss 4.74045e-03\n", - "Epoch 30 with loss 8.05342e-03\n", - "Epoch 31 with loss 2.07800e-03\n", - "Epoch 32 with loss 8.86609e-03\n", - "Epoch 33 with loss 1.63103e-03\n", - "Epoch 34 with loss 7.16136e-03\n", - "Epoch 35 with loss 1.25232e-03\n", - "Epoch 36 with loss 6.01959e-03\n", - "Epoch 37 with loss 1.04602e-03\n", - "Epoch 38 with loss 4.38662e-03\n", - "Epoch 39 with loss 1.02280e-03\n", - "Epoch 40 with loss 3.45627e-03\n", - "Epoch 41 with loss 1.13875e-03\n", - "Epoch 42 with loss 2.35877e-03\n", - "Epoch 43 with loss 2.57926e-03\n", - "Epoch 44 with loss 1.18175e-03\n", - "Epoch 45 with loss 2.07102e-03\n", - "Epoch 46 with loss 8.33326e-04\n", - "Epoch 47 with loss 1.92634e-03\n", - "Epoch 48 with loss 9.84188e-04\n", - "Epoch 49 with loss 1.48030e-03\n", - "Epoch 50 with loss 1.00213e-03\n", - "Epoch 51 with loss 9.89608e-04\n", - "Epoch 52 with loss 1.04931e-03\n", - "Epoch 53 with loss 5.58622e-04\n", - "Epoch 54 with loss 9.80342e-04\n", - "Epoch 55 with loss 1.75986e-04\n", - "Epoch 56 with loss 1.18718e-03\n", - "Epoch 57 with loss 1.23530e-04\n", - "Epoch 58 with loss 8.41206e-04\n", - "Epoch 59 with loss 1.32893e-04\n", - "Epoch 60 with loss 5.74356e-04\n", - "Epoch 61 with loss 2.63709e-04\n", - "Epoch 62 with loss 4.40693e-04\n", - "Epoch 63 with loss 3.53943e-04\n", - "Epoch 64 with loss 1.76223e-04\n", - "Epoch 65 with loss 4.62567e-04\n", - "Epoch 66 with loss 3.58829e-05\n", - "Epoch 67 with loss 4.24251e-04\n", - "Epoch 68 with loss 9.55534e-05\n", - "Epoch 69 with loss 2.63343e-04\n", - "Epoch 70 with loss 1.97777e-04\n", - "Epoch 71 with loss 9.55289e-05\n", - "Epoch 72 with loss 2.60386e-04\n", - "Epoch 73 with loss 9.69301e-05\n", - "Epoch 74 with loss 1.89340e-04\n", - "Epoch 75 with loss 7.50615e-05\n", - "Epoch 76 with loss 1.62381e-04\n", - "Epoch 77 with loss 8.87464e-05\n", - "Epoch 78 with loss 8.52953e-05\n", - "Epoch 79 with loss 1.25937e-04\n", - "Epoch 80 with loss 3.56436e-05\n", - "Epoch 81 with loss 1.93949e-04\n", - "Epoch 82 with loss 4.53294e-05\n", - "Epoch 83 with loss 7.96346e-05\n", - "Epoch 84 with loss 9.84911e-05\n", - "Epoch 85 with loss 2.34568e-05\n", - "Epoch 86 with loss 1.06834e-04\n", - "Epoch 87 with loss 3.02475e-05\n", - "Epoch 88 with loss 6.28007e-05\n", - "Epoch 89 with loss 8.52414e-05\n", - "Epoch 90 with loss 2.30894e-05\n", - "Epoch 91 with loss 7.66452e-05\n", - "Epoch 92 with loss 2.85219e-05\n", - "Epoch 93 with loss 5.83988e-05\n", - "Epoch 94 with loss 5.22415e-05\n", - "Epoch 95 with loss 2.81195e-05\n", - "Epoch 96 with loss 4.33593e-05\n", - "Epoch 97 with loss 3.01600e-05\n", - "Epoch 98 with loss 2.76552e-05\n", - "Epoch 99 with loss 3.77898e-05\n", - "Epoch 100 with loss 3.11008e-05\n", - "Epoch 101 with loss 3.12167e-05\n", - "Epoch 102 with loss 3.11700e-05\n", - "Epoch 103 with loss 3.91574e-05\n", - "Epoch 104 with loss 1.40297e-05\n", - "Epoch 105 with loss 3.03982e-05\n", - "Epoch 106 with loss 1.59833e-05\n", - "Epoch 107 with loss 1.59673e-05\n", - "Epoch 108 with loss 1.36748e-05\n", - "Epoch 109 with loss 2.06822e-05\n", - "Epoch 110 with loss 1.58647e-05\n", - "Epoch 111 with loss 1.79472e-05\n", - "Epoch 112 with loss 1.66825e-05\n", - "Epoch 113 with loss 1.43707e-05\n", - "Epoch 114 with loss 1.70082e-05\n", - "Epoch 115 with loss 2.17944e-05\n", - "Epoch 116 with loss 1.47123e-05\n", - "Epoch 117 with loss 1.64711e-05\n", - "Epoch 118 with loss 1.75252e-05\n", - "Epoch 119 with loss 2.00743e-05\n", - "Epoch 120 with loss 1.15596e-05\n", - "Epoch 121 with loss 1.56640e-05\n", - "Epoch 122 with loss 1.08105e-05\n", - "Epoch 123 with loss 1.18596e-05\n", - "Epoch 124 with loss 1.16240e-05\n", - "Epoch 125 with loss 1.06298e-05\n", - "Epoch 126 with loss 1.55553e-05\n", - "Epoch 127 with loss 1.34743e-05\n", - "Epoch 128 with loss 1.37127e-05\n", - "Epoch 129 with loss 1.24063e-05\n", - "Epoch 130 with loss 1.00807e-05\n" + "Epoch 1 with loss 6.89677e-01\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 26 with loss 3.64968e-02\n", + "Epoch 51 with loss 5.85542e-03\n", + "Epoch 76 with loss 3.83922e-04\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 101 with loss 6.83883e-05\n", + "Epoch 126 with loss 3.58403e-05\n", + "Epoch 151 with loss 1.32103e-05\n", + "Epoch 160 with loss 8.12446e-06\n" ] } ], "source": [ "losses = []\n", "for epoch in range(nr_epochs):\n", - " t = torch.FloatTensor(batch_size).uniform_(*input_domain)\n", + " t = torch.empty(batch_size).uniform_(*input_domain)\n", + " optimizer.zero_grad(set_to_none=True)\n", " loss = loss_function(params, t)\n", - " losses.append(float(loss.detach()))\n", - " if losses[-1] < loss_threshold:\n", + " loss_value = loss.item()\n", + " losses.append(loss_value)\n", + " if epoch % 25 == 0 or loss_value < loss_threshold:\n", + " print(f'Epoch {epoch + 1} with loss {loss_value:.5e}')\n", + " if loss_value < loss_threshold:\n", " break\n", - " params = optimizer.step(loss, params)\n", - " print(f'Epoch {epoch + 1} with loss {float(loss.detach()):.5e}')" + " loss.backward()\n", + " optimizer.step()" ] }, { @@ -492,11 +503,18 @@ "cell_type": "code", "execution_count": 16, "id": "3884aaa0-b27b-4773-97a3-499eb2f7b929", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-18T09:31:47.929110Z", + "iopub.status.busy": "2026-08-18T09:31:47.928815Z", + "iopub.status.idle": "2026-08-18T09:31:48.128863Z", + "shell.execute_reply": "2026-08-18T09:31:48.127259Z" + } + }, "outputs": [ { "data": { - "image/png": "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", + "image/png": "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", "text/plain": [ "
" ] @@ -536,7 +554,14 @@ "cell_type": "code", "execution_count": 17, "id": "791d50a5-2b55-4ae9-ae03-e08412614059", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-18T09:31:48.131962Z", + "iopub.status.busy": "2026-08-18T09:31:48.131737Z", + "iopub.status.idle": "2026-08-18T09:31:48.344350Z", + "shell.execute_reply": "2026-08-18T09:31:48.343057Z" + } + }, "outputs": [ { "data": { @@ -550,7 +575,7 @@ }, { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkIAAAGwCAYAAABFFQqPAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAbbxJREFUeJzt3Qd8leXZP/Are++QhDDDJuwlsgQcWGtx1lqtioO3tWAVee1Q+7eKtbZ9W7V9RSou9K1WXKVatQIqQxDZyA4jkJC99875f677ee7n3Oc552Qn5yTP7/v5pGfk5OTkUMPFtW4fm81mIwAAAAAL8vX0CwAAAADwFARCAAAAYFkIhAAAAMCyEAgBAACAZSEQAgAAAMtCIAQAAACWhUAIAAAALMvf0y/A2zU3N1N2djZFRESQj4+Pp18OAAAAtAGvSayoqKDk5GTy9XWf90Eg1AoOggYNGtSW9xwAAAC8TGZmJg0cONDt5xEItYIzQfKNjIyM7No/HQAAAOgW5eXlIpEh/x53B4GQG6tXrxYfTU1N4jYHQQiEAAAAepfW2lp8cNZY6xFlVFQUlZWVIRACAADoY39/Y2oMAAAALAuBEAAAAFgWAiEAAACwLARCAAAAYFkIhAAAAMCyEAi5waPzqampNGPGjJ79EwEAAIAeg/H5VmB8HgAAoPfB+DwAAABAK1AaAwAAAMtCIAQAAACWhUAIAAAALAuBkIeU1zbQ+aIqcQkAAACegUDIQ5b9fT/N/58t9PnxPE+9BAAAAMtDIOQhUSEB4rKsGhkhAAAAT0Eg5KGFipEyEKpp7JbnBwAAgNYhEHJj+fLldOzYMdqzZw91Z0aotKa+W54fAAAAWodAyEOiQ2VGCKUxAAAAT0Eg5CEyI1SOQAgAAMBjEAh5ulkagRAAAIDHIBDykGjZI4SpMQAAAI9BIOQh9qkx9AgBAAB4CgIhD0FpDAAAwPMQCHlIlD41VtfYTLUNTZ56GQAAAJaGQMhDIoL8yc/XR1xHeQwAAMAzEAh5iI+PD0UG+4vrCIQAAAA8A4GQB6FPCAAAwLMQCHlQVGiguMQIPQAAgGcgEPLQoasMGSEAAADPQiDkoUNXGQIhAAAAz0Ig5EFRIXqzdDVOoAcAAPAEBEIeFB2i9QhhagwAAMAzEAh5EEpjAAAAnoVAyIMQCAEAAHgWAiEvOGajFAevAgAAeAQCIQ9CRggAAMCzEAh5QSBUjowQAACARyAQ8oJAiDdL22w2T74UAAAAS0Ig5EHReo9QY7ONquubPPlSAAAALAmBkAeFBPhRgJ+PuI5dQgAAAD0PgZAH+fj4oGEaAADAgxAIeVGfEAAAAPQsBEIehhF6AAAAz0Eg5IUj9Cdyy+nVr9KpuRmTZAAAAN1JO/4cPF8aq7GfQP//NhyhPedKKCEyiL43MRl/OgAAAN3EEhmh66+/nmJiYuj73/8+eZvoUMcT6Hmf0LHscnH9QEapR18bAABAX2eJQOj++++nN954g7xRpJ4RkoFQdlktVek7hQ5nlXn0tQEAAPR1lgiEFi5cSBEREeTdzdKN4jItr8L43NGsMvQJAQAA9OVAaNu2bbR48WJKTk4We3U2bNjg9JgXXniBUlJSKDg4mKZNm0bbt2+nviLaGJ/XeoRO51Uan+PM0NnCKo+9NgAAgL7O483SVVVVNGnSJLrrrrvoxhtvdPr8+vXracWKFSIYmjNnDr344ot01VVX0bFjx2jw4MHiMRwc1dXVOX3txo0bRYDVHvw86nOVl2v9Oj01NaZmhNiRrDIakRDera8BAADAqjweCHFQwx/uPPPMM3TPPffQ0qVLxe3nnnuOPvvsM1qzZg09/fTT4r59+/Z12evh53ziiSeop0SFOvYIpeVrGaHEyCDKK6+jby+U0XVTBvTY6wEAALASj5fGWlJfXy+CnEWLFjncz7d37tzZLd/z4YcfprKyMuMjMzOTemqhIk+MndYzQjL44YwQAAAAWDAQKiwspKamJkpMTHS4n2/n5ua2+XmuvPJKuummm+iTTz6hgQMH0p49e9w+NigoiCIjIx0+eqJHiAOhrNIa0Rfk7+tD10zSSnpHssuoCYsVAQAA+mZprC24iVrFmRPzfS3hUpq3kuPzHOvIvUEp8WE0JilSnE5fXd9E6YWVNCLBO6feAAAAejOvzgjFx8eTn5+fU/YnPz/fKUvU1VavXk2pqak0Y8aMbv0+wQF+FOSv/THsPVcsLkcmhpOfrw+NS9ayUdgnBAAAYMFAKDAwUEyEbdq0yeF+vj179uxu/d7Lly8Xk2ktldG6SrTeMM3HarCRevZnwsAocckN09LXZ4po9ZenUS4DAADoC6WxyspKOn36tHE7PT2dDh48SLGxsWI8fuXKlXT77bfT9OnTadasWbR27VrKyMige++9l/oKbpjmCTE+bJWNStQDoQFRDg3TmcXVdM/re0S5bGBMCF07GdNkAAAAvToQ2rt3r9j8LHHgw5YsWULr1q2jm2++mYqKimjVqlWUk5ND48ePF03PQ4YM6fbSGH9ws3Z3k5NjsieaS2Nsop4ROpJVTo1NzfTwB4dFEMQ2HMhCIAQAANBJPjbuPAa3eKFiVFSUGKXvrgmypa/voc3H88V1nhg7tuo7FOjvK8pfEx7/TAQ/S+em0MtfpVOgny/VNzWLHqLdj1xGceFB+NMDAADo4N/fXt0jZBVRIdoJ9HJijIMgxsHO+GQtK8RBEPv5laNFpoiDpH9/m+OhVwwAANA3IBDyArI0ppbFpPF6nxCbNCia7p6bYpTENhzM6sFXCQAA0PcgEPK2QMi0L0j2CXFJ7H++P1FkiRZP6k++PtreofNFrg9lTS+soj9vPEn/9/U5cX4ZKqAAAABe2CztrXqyWVqOz6sTY9KV45LohqkDaOHoBONzCRHBNGdEPG0/VUgbDmTTA5ePNB7PG6qf/+IUrdt5jhqa7O1fcWGBdFFKLF08LI5mDoulUQkR5MvRFAAAgIWhWdoLmqV5AmzF+oPi+sYHL3EKhlz5YP8FWvnOIRoWH0af//d8qmtspvV7Mukvn5+i4qp68Zg5I+LE5b7zJVTb0Ozw9bFhgfSzS0fQnbOHtmtLNwAAQF/6+xsZIS8qjfHE2NC4sDZ9zaJxSRQccJjOFlbRUx8fp4++zRa7iNiIhHD69dVjacHoBHG7vrGZvr1QSt+kF9Ous0W091yJCJae+OgY7T1fQn+4cSKFB+H/CgAAYD34288LDIkLNTZJy4mx1nDgckVqEn10KNuYKEuOCqZlC0fQzTMGUYCf/Xn4OacPjRUfyxeOoIamZvq/r8/T7z45Th9/m0Mncsrpb7dNo5FtyEQBAAD0JSiNeUFpjHHGJikqWPT/tNWec8X0w7W7KCmSA6Dh9P1pAynI36/NX7/vfDEte3O/yCRFBPnT+8tmt1iW23mmkJ7bfIp+e934NpXvAAAAvP3vbwRCbWiWTktL6/ZAqKNKquopPNjfIQPUHoWVdfTjN/bS/oxScWzHhuVzKN7NksZrn/+KDl0oo+9N7E/P3zq1k68cAACg+2ChYi86dLUzYsICOxwEMQ56XlkyQ5TnLpTUiKCotsF5Uu50foUIgtjGY3lUXtvQqdcNAADgDbBHCEQw9eqdMygy2F9khn7x3rdOe4c+2G9f3sjN158exlZrAADo/RAIgTC8X7homObJtQ8PZdMregM2a2620T8PaIHQ5EHR4vJ9JTACAADorRAIgWH2iHh6bHGquP7MpjTKKasR13nkPqesliKC/em5mycTrx3anV5MmcXVePcAAKBXQyDkBjdKp6am0owZM8hKbps5hKYNiREn3j/572Pivg/0bND3JibT0PgwmjUszlgECQAA0JshEOrlzdJdjY/dePLa8eIss08O59J/juQa/UA3TtUOe71+inbJ5TKcYQYAAL0ZAiFwkpocSUtmDxXX73/7AFXVN9Hg2FCRKWJXTehPwQG+Yqv1wczSVt/B6vpGOpVXgXcaAAC8DgIhcGnlFaMoISJITIgxPvhVnknGW635MFgmm6hb8vAHh+mKZ7fRN2eL8G4DAIBXQSAELkUEB9CjV481bstymHTD1IFGnxCfeO8O7yT67GiuuL7rbDHebQAA8Co4awzcumZSsliyyNNiQ0yHwc4dES8Odz2dX0kvbTtLD1052uVz8AGv8uT7NJTHAADAyyAjBG5xKYwPab1jltYvpPLz9aGHFmnBD+8cyq+odfkcW9PyjesIhAAAwNsgEIIOu3JcoliwWNPQRM9/cdrlY7alFRrX0wurjJ4jAAAAb4BAyA2r7hFqb8bol98ZI66/9U0GnS+qcvg8L2Q8mVchFjCGBPhRY7NNBEMAAADeAoGQG1bdI9Res4bH0SWj+okgh7dRq7br2aBJA6PFSD7jwAgAAMBbIBCCTvuF3ij9r4PZdFg/oZ5tTSsQlxwojUoMF9fTchEIAQCA90AgBJ02fkCUmDBjD717SIzMNzY101entYzQfBEIRYjraJgGAABvgkAIugQf1hofHihKX3/67CQdulAm9gtFBvvTpIFRCIQAAMArIRCCLhEfHkR/uHGiuP7yV+n03GatX2jeyH7k7+drBELni6tFxggAAMAbIBCCLnPZ2ES6deZgcX37Ka0sdsmoeHHJ2aKY0ACy2UgsYXSH9xE1NdvwpwIAAD0CgRB0qV9fPZZS4u1bqLlRWo7at9YndCSrjC566nN65IPD+FMBAIAegUAIulRooD89e/NkcTr9RSmx1D8qxPjc6KSIFkfoD2dpE2dHc+yTZwAAAN0JgZAbWKjYcbxtescvL6U37r7I4f6RekboVJ7r0lhhRZ24LK12PsQ1s7iarn9hB310KLsTrwwAAMARAiE3sFCxc+LCgyg4wM/hvtF6IHTSzS6hoqp6cenqNPsvT+bTgYxS+r+vz3fylQEAANghEIIeI5cqZpXWUGVdo9PnCyq1jFBFbaNTw7TMEp0ucN9oDQAA0F4IhKDHRIcGUkJEkLh+ykWfkCyNsYraBpeBUHFVvfgAAADoCgiEoEe1NDlWqGeEXPUJldbYg5+Wxu8BAADaA4EQeCgQqnTbI+SqT6hMCYzOoDwGAABdBIEQ9Cjj8FVTRqihqdkhC2QOhEqV28gIAQBAV0EgBD1qeIIWCJ0rqnK4v6jSse/HKRCqRmkMAAC6HgIh6FH9o4LFZW5ZLTUrk2Fqf5A5A2QOjJARAgCAroJACHpUYmQw+fhwKcxGhVV1bgOhciXwsdlsDmUzHr+vqcfBrQAA0HkIhKBHBfj5GiP0OaW1xv2FLZTGeOdQo549Cg/yF5domAYAgK6AQAh6nDx/LKesxm1GSJ0Sk9mgIH9fGttfmzpDIAQAAF0BgRD0uORorU8op8yeESrSA6HQQD+nvUEyOxQdGkAj9GZr9AkBAEBXQCDkBg5d7YmMkHNpbFi/MKfSmMwIRYcE0vB+WiCEjBAAAHQFBEJu4NDV7p8cyy51Lo3JQKesxn4WmcwORYUGGOP35oxQVV2jaKoGAABoDwRC0OOSo91nhGQgVO4yIxRAI/TPpxdWUWNTs7j+6eEcmvD4Z7R229ke/CkAAKAvQCAEPS5JzwjltJARUhcoqj1CA6JDKCTAT4zfZxRXi2DoD/85QTxUtuFgdg//JAAA0NshEIIel6z3COVV1FFTs00sVpQnyg9P0HqEquqbxLEbalDEp9f7+voYfURnCqroo2+z6VxRtbh9IrfcIYACAABoDQIh6HH9IoLI39dHBEH5FbVUUl0vrrOhcVqQo5bHZGksKiRAXMrJMT6v7H+/OG08nluEvkkv7tGfBQAAejcEQtDj/Hx9xIZpll1aa5w6HxMaQMEBfhShL02UJTF53EZMaKBD+WzdznN0tqBKBEjXTU4W9+06W4Q/UQAAaDMEQuDRyTFeqlhYofUHxYVrG6cj9cyPDIDkckXuEVIzQgX6190zN4UuT00U13edRUYIAADaDoEQeER/OTlWWksFeqN0fHigQwnMnhHSe4RMpTEWEexPS2YPpZkpceI2+oQAAKA9EAiBRyTLXUKcEdJH5+P1jJDM/Dj1COn3cx8Rl9fYXXNSRODEfUccIKFPCAAA2gOBEHi2NMY9QkZGKMgpIyROnjfG57WMUaC/L/1g+kCaMCCK7pmTYjznxcNixSX6hAAAoK20rlQAT5XGymooMsTfZWmMM0G1Dc1U39jsUBpjT98w0ek5Lx4WR3/flYE+IQAAaDNkhMDDzdK1TqUxNSMk+4MC/HyMA1ndQZ8QAAC0FwIh8OjBq9woLY/aMAKhUHsgVFIldwgFko+P1hfkDvqEAACgvRAIgUfEhQVSoJ+vaG4+nV+h3ediasyYGNODo9agTwgAANoDgRB4BB+VIc8c43PD3JXGjB1CSn9QS7hPiGGfEAAAtAUCIfB4n5Ba2nIIhKo5I+S4TLE1sk/oeE45rdlyRpxjBgAAYNlAKDMzkxYsWECpqak0ceJEevfddz39kkCXrE+OsfAgf3G8BosOCbSXxoxzxrT7WsPB1O0XDxHX+VT6O9ftMU62BwAAsFwg5O/vT8899xwdO3aMNm/eTA8++CBVVVV5+mWBKSMk+4M62yPEVl07jn5/wwQKDvClbWkFdNVfttORrDK85wAAYL1AqH///jR58mRxPSEhgWJjY6m4GOdRedMuIbU/SA2EahqaqKC8rl09Qoyny3540WD68L65NCoxXJxJ9usNR8RyRgAAAK8KhLZt20aLFy+m5ORk8RfYhg0bnB7zwgsvUEpKCgUHB9O0adNo+/btHfpee/fupebmZho0aFAXvHLoqmM21GWK8vwwOSl/vri63RkhaVRiBL259GKRGTqYWUpbThbgDw0AALwrEOIy1aRJk+j55593+fn169fTihUr6NFHH6UDBw7QvHnz6KqrrqKMjAzjMRwcjR8/3ukjOzvbeExRURHdcccdtHbt2hZfT11dHZWXlzt8QPeQU2PqyfNyoiwyWAt8zhdpgVCUfrxGe3HP0B2zhorrz25OQ1YIAAC864gNDmr4w51nnnmG7rnnHlq6dKm4zf0+n332Ga1Zs4aefvppcd++fftaDW6uv/56evjhh2n27NktPpaf84knnujQzwLtk6wvVTSXxmR5jHuEZKNze0pjZj+5ZBj9fdd5+vZCGX1+PJ8uT03EHxUAAHhHRqgl9fX1IshZtGiRw/18e+fOnW16Du4LufPOO+nSSy+l22+/vdXHc7BUVlZmfPDUGXQPLndx2Yr1U0pjap+Q+tiO4mzTktlaVuiZTcgKAQBALwmECgsLqampiRITHf8Fz7dzc3Pb9Bw7duwQ5TXuPeKmaf44fPiw28cHBQVRZGSkwwd0D+4Jk1khVxkhlRyp76gfzxtGYYF+dCynnD47mtfur08vrKKSKm2CDQAA+g6Pl8bawnzGFGd5Wjt3Spo7d65okG6v1atXiw8OxKD73HbxEPrXwSxjI7Qkzxtzd7u9YsIC6a45KfT8l6fpuc1pdOW4xDb/f4inzhY9u1U0X398/7xOvQ4AAPAuXp0Rio+PJz8/P6fsT35+vlOWqKstX75c7B7as2dPt34fq7t7bgr96765IlBxlxHyE83TnY/Zl85LIX9fHzqRW0G55dpBr21xrqhKHANypqCy068BAAC8i1cHQoGBgWIibNOmTQ738+3Wmp6hd1MDIb7e1uxNS6JDAyklPkxc52DIrKiyjipqtU3WKlkSq21oprpGZAgBAPoSjwdClZWVdPDgQfHB0tPTxXU5Hr9y5Up6+eWX6dVXX6Xjx4+LzdD8uXvvvdfDrxx6KhDqzMSY2Zj+Ws/XiRzHQKi8toEW/mkLXbd6h9PXyGM+xONqGrvstQAAgOd5vEeIlxwuXLjQuM2BD1uyZAmtW7eObr75ZrEDaNWqVZSTkyP2A33yySc0ZIh2nlR3QY+QZ6nBT2f7g1RjkiLoo0NEJ3Md90MdzCil8tpG8VHb0GSce8ZKqusdAiZ5OCwAAPR+Hg+E+EDU1o4+WLZsmfjoSdwjxB+8UDEqKqpHvzd0X0ZodGKEy9LYtxdKHQKf/sqOoxIlI8S7jQAAoO/weGkMoNVAqINbpV0Z018LhLjxuaHJPk3IyxalYtOYvDo2X+4iEPrkcA6dznfuOQIAAO+HQAi8UqSpWbqrDIgOoYggfzEFdragyrj/cFYLgZBDacyxR+hodhkte3M/Pbj+UJe9RgAA6DkIhFroEUpNTaUZM2b04B8HuNok3Zmt0mY8fTYqSZbHtD6h/IpayimrdRsIlbZQGrtQUiMu1a8HAIDeA4GQG9gj1Dd7hGTDtNondFgpi7WaETIFQqX657iJGgAAeh8EQuCVwoP8xSLFru4RUgOhk3ogpPYHMfNRGmqztHMgpN2ub2wW02YAANC7IBACr8QlLLlNuivH59noJLlLqNxhYixW325dpARCPNEosz6uMj8OQRKyQgAAvQ4CIfBaQ+K0LdCDY0O79HlH6xmh7LJa0fMjG6Xnj+rnVAqrqGukxmab24WKDkGS6XNcYlv8v1/Ruh3pXfr6AQCg6yAQcgPN0p635rap9M5PZtHwfuFd3n+UHBUsrm85mU+FlfXiDLLZw7WDX4sq7cFNaZVjBsjcLG1etqjadbZIBFnv7L3Qpa8fAAC6DgIhN9As7Xm81PCilNhueW6ZFXpXD1L4ZPnk6BCn4Ea97irYcTx+w/XnKurQSA0A4K0QCIElyTPHdpwpFJeTBkUZPULq1Jg5EDJnhBwCIdOOodIafaIM55MBAHgtBEJgSXJyTJ7uMmFAtBEIcQN0s94XJAMdeb6YOevT0mh9mcwI1dqfDwAAvAsCIbAkWRqTJg6Mohh9TL+p2WaUwGR2aGhcqJH1kWfjaRNl7qfGZPaIY6CqepxaDwDgjRAIgSUNiw+nAD9tT1Ggv6/oEeLLCH1kXwZAcipscGyYESRV1Wv7gqrrm6heOa+swlwaa6FsBgAA3gGBkBuYGuvbOOiR02hj+0eK28zcJyT3BCVHBxuBkyyBlZpKYU7N0nqPkKvPAQCAd0Ag5AamxqzTJzRxQJRxn3mpouwB4rKZPPZDlrzMG6jNWZ8ypUkagRAAgHfS6gAAFvTjS4aLMtfSeSnGfbF6n5AMcmR5KyYsgCKDA8TOISMjpJS+XDdLuz+1HgAAvAMyQmBZqcmR9NId040N1i1lhPi8s0g9IySDmlZ3DCmBkTlIKqyso6Wv76FNx/K6+KcCAID2QEYIQGGM0MtAqMpeGos0lcZkoMMlM75PDXb4EFZupnYXJH1xPJ82H8+nqromuiI1EX8GAAAegowQgMJds3RMKJfGtH83GKUx/TFDlNF6d4sXzRNl5owTAAB4BgIhAEWMDISq66m2oYlqGpqM0phTs7QeJMlDYdWMUJkyMWb+nDqWj0AIAMCzEAi5gfF5a4pTMkKyGdrP10dkg+w9Qg2mHUNaIFTX2CyCJ5eN1KbSmAyAOJiSCxoBAKDnIRByA+PzFs8IVdUro/MB5OPjY2SE5NlhskdoYEwo+fg4lsDMpTHzeWPF+qn23Esks04AANDzEAgBuMkIyUZpLosxHp93LI3VG31F4UH+pmxRyxkhmU3SngfLFgEAPAWBEICLjBBPfOWW12r3hWoBUGSI62BHa6SW2SLHibIIU4AkcQ+SZF7MyAoq6lAyAwDoAQiEABQcuMijNM4WVDlkhOylMceMEAdPsn/IXBobZDRSuz+HzJw92ppWQDOe2kzPbkrDnw0AQDdDIASg4F4geQr9mYJKx4yQkvXhw1dlsBMdoozW65kfuVV6UGyIw/2sudlmKo05ZoQOZpSKywOZ2iUAAHQfBEIAbnYJyYxQjDkjVNtIFbU87UXOW6dNjdRyoowzRXI6jIOiZmVQTA2K5NZpll+uXQIAQPdBIATgJhBKL9QDIf22DHYq6xqNYCUs0E+cXG9ki0z9Q7I0xhkkuWna3Bxtvl1UpQdCFVqPEgAAdB8EQgBuAqH6pmaH0liEXv5iGcXVjhNlspFazwTJslliZLDRcySDJHMpzHy7sMK+Y4jH6wEAoPsgEHIDCxWtSwZCkgx2Avx8RQaInS+qNk6lZ+aMkAyExBllRm9Ro8spMfNtmW1iBcp1AADoegiE3MBCResyB0KyR0gtj8lAKDrEsWxm9AjpWR7uKzJvpG6tNKYGP/n6CD8AAHQPBEIArQZCWiCjNkzbS2MyI2SfGmtWJ8pcHdaqB0lyCaPaLF3X2ORwQGt+BTJCAADdCYEQQBtLY0yWuc4XOU6U2TNCDVRZ32hMhbnKCMmT7VPiw5wyQkWVjmUyBEIAAN0LgRCASawS+KhZH7UpOrO4xvWOodpGKtMDm+AAXwoO8DOarI0eIf3z9kCo3mV/ECtooTTGI/w/f/cQPfLPw9hCDQDQQfYxGAAQYsPtgRAHMdwkLcnsjpwok9kie7DTYJTFZBnNfPyGbI4e1k8LhLgU1tjUTP5+vk6BkLuM0LnCKlr6xl46na8tfVy+cAQNiNaWNwIAQNshIwTQQkZIbZRWgxpztsi+bLHB2CHk1EhtGp8fGqcFQuoCRjk631IgtON0IV27eocRBKmlOgAAaB8EQgAmcoGiuK6UxdSAx/55x5PpaxuaqaBSK2dFmRupjYkyLeiJDw8yPicbpgv1ZYqyT8m8VPGbs0V0x6u7RdZp8qBomjQoWtyfoU+xAQBA+yAQAjDhUpgsdamN0mp2x5wRCleWLcr+IaM0Jg9krdObpfWgh79WBl2yb0hmhFL7R7o8ZuPTI7liS/X8Uf3o7R9fTJMHRon7zyEQAgDouUAoMzOTLly4YNzevXs3rVixgtauXduxVwHgZeL0AMWcEZIZHHNGyM/XR5xczzLlaL1Tj5B23pjM/nDWRwZasm9I9gilJkcatznwkeSxH98ZnyQasQfr5TWUxgAAejAQuvXWW+nLL78U13Nzc+mKK64QwdAjjzxCq1at6uBLAfAeMlOjlslaKo2pmR+nHUPy+I3aBqqqb6KGJpvxtTLQkuUyGQiNTowgHx8SY/jy7DE1EJITZ0PjQh0WPAIAQA8EQkeOHKGLLrpIXH/nnXdo/PjxtHPnTnrrrbdo3bp1HXlKAC/NCLkvjfn6OJ4/Jq8bGSFjosw+NSYzPzxaHxLoZzRmy3KZDIT4jLK4sCCH8hgvW7xQUu0wcTZEyQjJ0+0ZX+ex+j/850QXvisAAH1PhwKhhoYGCgrSfklv3ryZrrnmGnF9zJgxlJOT07WvEMADpg6JERkZ2YzsKiPE1305GjIFSTn67h95W90xJCfGZIBllMb0++VCxbjwQEqM1P4bK9Anx7ghmjNEvJG6X7j2uUGxIeJ1cqapSDmz7ExBFb31TQat2XKGqursm6oBAKALAqFx48bR3/72N9q+fTtt2rSJvvOd74j7s7OzKS4ujvoCHLpqbcsWjKCDjy0STcnuMkLuRutlYsboEVJOppdbpWUAZJTGqhrELiGZGeKJsoSIIIfJsbNKWcyHox8iCvL3o+SoEKc+oaPZZcb1nDKteVv1yeEc2ne+uCNvDQBAn9KhQOgPf/gDvfjii7RgwQK65ZZbaNKkSeL+Dz/80CiZ9XY4dBXM/UDmZml147Qa8Jg/LwOkxmYbZZdqQU2sfmp9tDE1Vi+CIA6iOMnEjdQJEcEOpTFzf5A0RO8TOldo7xM6ml1uXL9Q4hgIcelu2Zv76b/e2IeN1ABgeR3aLM0BUGFhIZWXl1NMTIxx/49//GMKDdV+KQP0RVyW4kCFS1StLVuUgVRooJ+YKuPpr/PFVa4zQtUNxug8B0H8+AS9NCaXKqYXuA+Edp4povN6bxI7kmXPCMngSzpToC1i5OxUbnkt9dczSgAAVtShjFBNTQ3V1dUZQdD58+fpueeeo5MnT1JCQkJXv0YAr8ElKVkea3XHkL5ZWnyNnkmSiw9lACSDKc4IyUZpLosxWRrL03uOZEZINkpLasO0bJRWM0JZpY4TZZlKhkjdTg0AYEUdCoSuvfZaeuONN8T10tJSmjlzJv35z3+m6667jtasWdPVrxHAq8hMT3QrO4bkZmnxOf1r5Ji7nBaTz8ELFeWYPDdKs36yNKZnhGSP0LD4cIfvMyTWcYSeS2HyvDNXGSE51cYQCAGA1XUoENq/fz/NmzdPXH/vvfcoMTFRZIU4OPrrX//a1a8RwKvIEpjzskXTaL2+YFH9nH3HkON4Pi9ZlKUxIyOkTI3xDiKZMRoaH9piRkjNBrEsFz1C0ilkhADA4joUCFVXV1NERIS4vnHjRrrhhhvI19eXLr74YhEQAfRlsinauTSmBD6m0Xq5Y6hSH2WXZ4nJQIgbqc/pgYy5NMaB0Fm9P6hfRJCxl8jcLM1ZJc4EyYmxEQla5iir1BQI6buIGDJCAGB1HQqERowYQRs2bBBHbXz22We0aNEicX9+fj5FRmpHAwD0VT+YPogmDYyiBaNNo/VKgCJH5119TnxezybxUsUgf1+H7IwMhDjoYfVNzXQgo8RlozQLC/I3voZ7kGRGaFFqorjkhmgezTefhcbOICMEABbXoUDoscceo4ceeoiGDh0qxuVnzZplZIemTJnS1a8RwKtcO3kA/eu+uTQwJtRts3RUC9kipk6cyesyOyN7hHhHkAyYvjmr7fwZ5iIQUo/a4KySnBhbOCaB/PVptTy9z4hLbGr/EC9hlLuNAACsqEOB0Pe//33KyMigvXv3ioyQdNlll9Gzzz7bla8PoNdQsz5RrWSEZGmMyWBHBiRya7RaHtt9rthtRkjtE9p3vkQ0V/O+xXHJkdQ/Wmu4ztbLY7I/iL//gOgQp/IY9yFd9NRmuu+t/R14BwAALBIIsaSkJJH94W3SWVlZ4j7ODvExGwBWpGZ9nEpj5tF6pdFaDYqYLHMxuVRRBknuAyEtI/TpkRwjcxQa6G9snZYN07IsNigmhEYmhjsFQpuP5YlA6uPDOcgUAYAldCgQam5uFqfMR0VF0ZAhQ2jw4MEUHR1NTz75pPgcgFWXLUotjdZzuUp9rHkxY3xEoFNGSBrWz3F03hwI5elbqMcPiBKXA2L0QEjPCMlDWwfFhtII/blO5VcYz/PV6UJxyRuu5XUAgL6sQ5ulH330UXrllVfo97//Pc2ZM0cscNuxYwc9/vjjVFtbS0899VTXv1IAL+fv5ysCHJ4MaykjFBMWaJwV5ipokqfOs376CD3jIbTB+s4gd6UxictibGC0YyAkx/c5EJL7h2RGqLnZJjZUS9vSCuiaSclt/vkBACwTCL3++uv08ssvG6fOMz5vbMCAAbRs2TIEQmBZnPnhQCiyhR4h8/4hNSPEXx+oT5GppTEZvKifc9UsLY1P1jJCyXogZO4RGhQTapTG5OTY8dxyh3IYB0L8jxw1aAMA6Gs6VBorLi522QvE9/HnAKzK3fEbco+Qq1KYmhGKN5XC1NKYu/4g+f3UBu1UPSNklMZkj5B+OSg2hEb003aBZZfViuBth14KmzsinoIDfEWv0Ilce9kMAKAv6lAgxNmf559/3ul+vm/ixIld8boAeqWheonKHLQ4lMZMgZB6W22Ubk8gpPYJDYwJMQIxNSPE2R2jRygmVBwBIr8fZ4W+Oq2VxS4dk0CzhsUZWaHuwK8FAKDXlsb++Mc/0tVXX02bN28WO4Q4db5z506xYPGTTz7p+lcJ0Ev84caJ9F+XpNDUwdEt9AiZSmPKbXV0niVE2ktj7nYIqX1C314oM/qDmByRr6pvEqfO1zY0i14jGSCNTAgXI/O8hHF3uhYIzR0ZL8bvvzxZQNtOFdBP5g+nrsSj+fz9Pn1gHgUH+HXpcwMA9EhGaP78+ZSWlkbXX3+9OHSVy2F8zMbRo0fptddeI29SUVFBM2bMoMmTJ9OECRPopZde8vRLgj6MsyzThsQ69dVEtlgaUzNCgW4zQu4mxqSLUmLF5SWj7BuvOdCI08fzv9aXMvaPCjF6jeQxHOv3ZoogibdZc3Akn2NPeglV12vHgnSVzcfzKL2wyjhSBACg12WEWHJyslNT9KFDh0Qj9auvvkreIjQ0lLZu3Sou+Yy08ePHi6AtLk5L/QP0hLBAf5GJaba1XBqLM2WE+PiM/lHBImszKlHr6XHntpmD6YqxiZSoTJrJPiHeIP3N2SKjdCbJQOhQZqnRH8RBHGef+HF8kj1vteYt1V2hoalZBFysSj93DQCgVy5U7C38/PxEEMR4tL+pqQn9CdDj+ABWeVgqj8+r1Ckyc48Qe+u/Lqb37p1tnD3mDgcwSVHBTtkouVRxl54R4ukzibM/qjkj4o3nklmhrW76hLjPp66xidqjstYe/FTVte9rAQD6ZCC0bds2Wrx4scgw8S9fPszV7IUXXqCUlBQKDg6madOm0fbt29v1Pbh8xw3eAwcOpF/84hcUH6/9sgfwxOZp8/g8j9bLg+rNpTHZJD1pkGPPUXvIyTHOKslGaXNGSJozwp4pvWRkP5cN0xwAfXEij676y3aaumqTOOi1rXg6TerqkhsAQI+WxrpKVVWVCFLuuusuuvHGG50+v379elqxYoUIhnh544svvkhXXXUVHTt2TGy0Zhwc1dVpv+RVfAgsB1i89ZrLdnl5eaIsxmelJSZqJ3Ob8fOoz1Verp3kDdBZs4fF0yfVOcbWZzVbxOUxLl+1lvXpCNkYLfHovMTfj0f7K2obaXi/MNE/ZLzeEXHk5+tDZwur6M8bT4pm7PAgP3p1xznanW5fk/H12UIaHKf9t9gaPvRVQkYIAHpdIMRBRGuZl/bioIY/3HnmmWfonnvuoaVLl4rbzz33nDjodc2aNfT000+L+/bt29em78XBD4/3cxbqpptucvkYfs4nnnii3T8HQGt+f+MEevK68S6XIi5fOIIOZJbSBFOQ1BXk5JikbqfmLCyXx/ZnlIr+IHOm6qKhsfT12SL63y9OO3yOfwY+r+xMQRWdzLWfVSY9s/Ek7ThTRP93z0XizDOJAy6pChkhAOhtgRCfLdba5++44w7qKvX19SLI+dWvfuVw/6JFi8S4fltwFigkJIQiIyNFdoeDoJ/+9KduH//www/TypUrjdv8NYMGDerETwFgDzoC/V1vab57bkq3vU3mQEjtEWLXTxlA54uq6abpzv8//+P3J9I/D2SJhYzZZTWUX15HUwZH0/2XjRRnkf3ivW/pZJ5j1rSp2UYvf5VO1fVNdPhCGc3UdxIx9AgBQK8OhHp6NL6wsFA0N5vLWHw7Nze3Tc9x4cIFkVHivgb+uO+++1pc+hgUFCQ+APoK2SMkMznmXUW3zxoqPlzhoImDHldG61Ns5owQj8VzEMTKlQwQq6izl8bQIwQA3sDjPUJtYZ6Cac/5R9w/dPDgwW56ZQDej5uz+cgMHlvnkXjuSeoK8qwybsIuqqwzRv+PZJUZjymvsQc+5oyQ2jgNAGDZqbGW8HQXj7+bsz/5+flum527yurVqyk1NVUsYwTozfgfDbI8pk6MdRb3/sh+o7Q8e1boWHa5y+Zo7bYyNeZifF5mbgEAeopXB0KBgYEio7Np0yaH+/n27Nmzu/V7L1++XEym7dmzp1u/D0BPkJNj6sRYV5BLHtPy7IezHslWM0KOWR81C+SqWfrudXvomud3UGOTtnQRAKDPl8YqKyvp9Gn7REp6erooZcXGxorxeG5cvv3222n69OniXLO1a9dSRkYG3XvvvR593QC9SWr/SNp+qpDGJXftVNropHBxZMZJPRDibA6fIyaVmUpjFUqGSPYRSfWNzeJ8M5ZbXksDuzB7BQDgtYHQ3r17aeHChcZtObG1ZMkSWrduHd18881UVFREq1atopycHHFEBh/sOmTIEA++aoDe5YHLR4pN0fI8si7PCOVqgVB2WS2VVje4LY1VtNAjpN5WHwcA0KcDoQULFrTaE7Bs2TLx0ZO4R4g/eGoNoLfjfh55fEZXGp2kT47lVYj/jtVG6daapc1TY2q2CIEQAPQUr+4R8iT0CAG0blh8OPn7+ojAhctZsiwWHuTfakbI3Cytfk4NigAAuhMCIQDoMN5LxGehsZO5FXRMb5SWJThzs3RFnfvSmGMghNIYAPQMBEIA0CmjkuyTY0eytIzQ7OFx7W6WduwRQkYIAHoGAiE3sEcIoG3khumdZ4pEeYx3nc5MiXNZGjOPz6v9gWrwY95IDQDQXRAIuYEeIYD2TY7xeD5LiQuj/tHBRuDT3KwFOxz0qCUvjoF427WrIMkcQAEAdBcEQgDQJZNjfNgqS02OpIhgfyPYkX1BHPTIx7Q2Mo8eIQDoKQiEAKBT+JiNIH/7r5LxA6IoyN9PnG+mjtDL0heXzsIC/ZxG6BEIAYAnIBACgE7x8/UxDmBl45IjxWVkcIBDmUv2/fBofZg+Xl+ljNBXKifTo1kaAHoKAiE30CwN0P4+ISaP8YgMCXCYHJNlMA6QjECoHRmhx/51hFZ9dAx/LADQpRAIuYFmaYD2T44lRwVTbFiguB6lB0Jyl5DM8nD/UKheGqtS9wq1sFCxuKqe3vj6PL26I52KKuvwRwMAXQaBEAB02sIxCRTo50vfndDfuC9Sb5iWpbFKF6UxdZdQSxkhDoSk88XV+BMDgL5z1hgA9I3S2JEnrhTHbUiyNGZvltaCGzlRZs4IqVunzYFQabU9EMooqqapg2O65ecAAOtBIAQAXXbchsreLN3oEOiEBwdQs75I0SEQUsph3E/Eo/bciM1KlBPtzxVV4U8MALoMSmMA0C0iQ/xdjs9zRig8UDZLq1Njjlkg9XaJkhE6X4TSGAB0HQRCbmBqDKBzjIyQnBqTpbEgfwoNctwjZN46bc4QqaUxZIQAoCshEHIDU2MAnWNMjdU69wiFBTruEVK3TsuJMjUwUktj3CPUUe/vu0Df+9/tdKEEWSUA0CAQAoBuYW+Wlj1CsjQWYGSEZI+QzP5wS1BCRJBTIKRmhIqq6p3OIjuZW0GZbZgme3tPBh3JKqcdp7Vz0QAAEAgBQLcwb5auUMbn+UMdnzcaqYP8nabNWEmVY+CjZoUKKuromue/osXPf2Usb3Qnu7TW4fuqtPIcDnsFsBoEQgDQQ83S9tJYqNEs3Wj6XIAxXi8zSOZmaXPD9L7zJVTX2Eyl1Q302o50t6+nudlGeeXuA6FHNxyhqU9uotP5lR3+mQGg90EgBADdmhEyH7ERLnqEHEtjRiN1sD9FBAW4KI1pz9FPL5upDdOHLpQa11/9Kt2pbCYVVtZRo96HVOMiEDqUWUoNTTY6klXWqZ8bAHoXBEIA0C1kiYtH5Bubmo2yEwdIoaZDV+XnuDRmZIQcmqW1jNDkQdHi8rwaCGWWGqfa886i13ecc/l6ssu0bJC7jJAMjtR+JADo+xAIuYHxeYDOkUdsyKBGPWIj3DQ+L3uEREbI1FvEvTsyIyQDoXN6aYzLXd9e0DI4984fLi5f/irdZa9PTmmNcb2mwflQV1mmUyfUAKDvQyDkBsbnATrH38/XKIFxRkcuT1R7hCqNjJB967TsLZL3cfamvqlZXJ+iB0KyWfpsYaUouYUE+NGDl4+iYf3CRCmOD2htb0ZI3oeMEIC1IBACgG4vj8lpLXuPkJwac9EjpGeEZCBUqvcY8aGuY/pHiuu55bWilHUwU8sGTRgQJY74+NmlI8Ttl7afddpU7ZARaqk01srkGQD0LQiEAKDbG6azSrUMDgcrQf5+FGaUxppEecs4fsOhR0i7r0Q/eT46NIBiQgOMkltGcbXRHzRpUJS4XDwxmVLiw0Qp7aND2Q6vJUefGGM1DY6BUH1js9FIjdIYgLUgEAKAbiPLXFklWjZGBjFherO0DEpk9oaDIPkYIyOk9+zEhAaSj48PDYkLMxqm5cTYJL1kxuW4ReMSjSWL7jJC5tKYzEyxMjRLA1gKAiEA6PZjNrL00phcpBjk7yu2SMsRenXZor00pmeEqu0ZITYkLlRcpuVV0PGccnF90kAtEGLD+4WLyzMFjvuAclroEVJvIyMEYC0IhACgx0pjMsjhzE6YcgK9fWpMWahoZITqjYwQG6pnhD45nCv2/sSFBdLAmBDnQEhZjMjj+3KZIqtRMkDOgRDG5wGsBIEQAPRYs7TMCKnlMS0jpO8RctEsLTM0MWGOGaFjMhs0KFoEVtLwfmHGlJhc2JhfUUd6C5DLjJDaPM3flwMnALAGBEIA0G1kv09OmdafI7M9TD141XFqTI7WN4oT6e2lMS0jJHuEJLUsJh/HWSKWXljlUBaT8ZJ5akzuEJJaO7MMAPoOBEJuYKEiQNdlhLiExWS2h4UZI/RN9rPGguylMRkM2Zulta8dqmeEpMmDHQMhV31CMhCTJbTqhiaxqFEyB0boEwKwDgRCbmChIkDX9QhJDhkhed5YfaPD1BiP1/OYvTyw1ZwR4vPGeIGiNGmgNjqvGp4Q5tAnlKOX5mSAxJkmGZy5KpWV1aBPCMAqEAgBQLdnhFwFQrJfSBy/oRzIKr5OaZg2eoT0QEgboQ81skMyQHKZEdJLY9l6RmhYvHa/OQukjs+zkiqUxgCsAoEQAHT7HiFJbZaWB6/ml9c5BUrqCL19asweVMlASO4PMjNPjsmM0ODYEPLX5/arlfPGzBkh8+TYS9vO0o9e3tXq8Rvc78SPzSzWpuQAwPshEAKAHiyNqT1CfsZxGfIIDS6LaY9TMkLGZml75ueysdrSxGsmJbv8vnzmmGyW5jKY7BHqHx1CIfr3VYMf59KYY0bo1R3ptON0Ea3fk9niz/vBgSx66pPj9OzmtBYfBwDeA4EQAHT7QkVXpTE5Pp+vB0Lq5+R1PverXG+kVjNCN00bSKeeusoIiMwGxoSKwKqusZmyS2uMqbHkqBCjN0ktjZn3CqkZIQ6kePyevbvvgkOTtdl5vRQnD4UFAO+HQAgAeiwjJHuAXGWE1M/x9Bi7UFLtMqjiPqEAP/e/vvx8fcSZY4y3TxdUaoFM/+hg4+T7ljJC6tRYYWWdCIbY6fxKOqifb+aK/FnULdYA4N0QCAFAt1GDG7UJWu0RynOREZK9RXywqvw6PkesPeTk2M4zRcRJHM4QxYYGGhNnaoM0b7dmsfr+oTIlEMo1BTWcFXJHPpZ/Jj5MFgC8HwIhAOg2nJlxnBRz7hEqrKx3aqSWvUSy6ThGD1DaQzZM7zhdKC6TooLJ19fHKI3VNjiXxpKjg51KYzLLExyg/br86GC2094hSWaC+CT7wip7EzgAeC8EQgDQY+UxVz1C9s85P05mhFyNyLc1EDqlT471j9KCnJaapQdEhziVxmSW55KR/cRCRj4X7bOjuU7fjzNA+RX27JGcVAMA74ZACAB6bJeQWiqTvTpShIuMUJ4+Wq82SreVnByTkvUgx14aUzJCenaof5T2mDIXGSH++hunDhTX393nPD1WVFXvsKQRfUIAvQMCIQDoVrIviM/5CleCnzD9rDHJ1dSYFG2aPmuLYXpGSOLSGHM1NSYPZ20pI5QYGUzfnzbQ6DtSG7nVx9lvayP7AODdEAgBQI9khDgI4h4ddxkhNVukNlV3tDTGPUdJkVrww5KN0pj7qTGZNeIMkewhkgEOl9YGxYbSrGFxovn6/X1ZDt9P7ioybuuZpJ7EDeBo0gZoHwRCbuDQVYCu7REyT5CpzdHOPUKOGSB5vEZ7yckxtewlM0LqZmlZGkuMDBIN3upSRTnVxhkhdt2UZIcmbEk+zl2GqL6xmbalFbhttO6soso6mvnU5/TTN/d1y/MD9FUIhNzAoasAXUPu/zGXu2RAIjlOjTk+Nias/aUxtWFa7hBSv6/jWWNNRpZKvl6eHOPlibLXR5bWUvtrh7ye1ZcnSvJxcfqEm7lH6K1vztMdr+6m1V+epu5wMq9CNHLvOVfSLc8P0FchEAKAbiV3ApkzQM5TY87N0p0pjbFh+lJFNSPkcmpM7xHiIClab8wurda2WstskSyzDY0PNRYtltc69xJNGRztMiN0QF/EeCK3grpDuZ7B4vPQUB4DaDsEQgDQI6Uxc3DTnmbpjkyNseEJWkYoyN/XeA45NSYDHM76VOvXQ4P8jMZsDihkMMNZIhlA8c/RLyJIXD+nZIXkdNmUwTHa7bJah+M4eCs14yM/ukN5jRbM8R5HPqMNANoGgRAAdKuLUmJFNmjeyHiH+3nTszwJ3t0eoc72CHFQwlmhxZOSxbEcrkpjfB6ZjFe4NCa/F0+OyeBG7iCS5PEdfKirJIOmiQOjxIRcfVOzGKlnnKE5U6AHQt00TaYeFKsuhASAljn+tgEA6GLjB0TRod8sMpqQJQ5MOCiRh6qqpTM+hT7Q31c0GDNZrmovfs7P/3u+EQQ5To01OpXIOFsky3BcGvPTv042SkscXO1OL6azBVogpPYSDYoJpfjwICqoqBPBEV/PKq2h2oZm43l5XF8tDXKJbfOxPFo0LsmphNhWapmOA6Gh5LhHCQBcQ0YIALqdOQiS1GDAnAVSR+g7mhFiahDEQmVpTA+A5A4hLp/x67T3CNXbG6XNgZC+rFE2THNZyugligo2Mkjy60/lV7Q4av/i1jO08p1D9Mr29C7JCHGwBQBtg0AIADzGIRBSziFTS2VcQjNPmHWGMT6vB0IygJH3y14izqrI0picGJNS4rXeo/RCrdwlH8dfGxzgZwROcqmi7A+SskzHb5zI0QKlQxfcn2zf1mZp+doBoG1QGgMAj5EHr7raMyQzRJyhMWd1OsM8NaaOzmvfz14aa2hqdhMI6T1CBVV6WazGoYTmlBHKcwyEzA3T54q0zNKJnPIO/1yyxMiK9d4kAGgdMkIA4DEy+OBsjLl8JqfNOlMWa+l7ykyQ7BWSGSF1fD5XP+vMHAgNjg0lfrlV9U1GL5AaACXpo/ry/tN6o7TcMaQGQk3NNsos1m5nl9VSWQfLWiiNAXQMAiEA8HhpzFWDsJoR6krmqbHqOnNpTE6N1Rvbos09QtzIzcdtyD4hewlNC4CSo+0ZIc4YndYzQnJyjpunJc4m8YSZdCK3Y1khlMYAOgaBEAB4jNwlZG6UVu/r6owQ9/DIjBCPtcsdQrJkJgMvDoJkickcCKnLGnlyTGZ+5OPkJQc5+RV1YuMzZ7xmj4h3ygidL3I8vLWjCxeREQLoGARCAOAxskwVblq2qDZLd/R4Dfff096XVNvYRDV6aSzM1CMke254msxVVkptmM4xlcbkFmu+X/YHDYkNNXqLspVmadkf1OmMkGl8HgDaBoEQAHi8Wdp82jybOzJe3D9/VL8u/Z5ys7RslJbN0jIjZN5izf1Brpq1U/rZlyoaGSE9EEqIDDKWNe45Vyyuj0gIN06350yRPAZDZoT4wFd2XJ8gc4cXM+abDnita2wy9hTJZZAA0DYIhADAK3uEFo5OEIsYvzO+f5d+T19fHwoO8DX6hOxTY35GoMQj+5KrsphDaUzpEZIZIS6/ycbo7acKjEAoMSJINFk3NNnEWWXqMR1XjksSlydzK9yeFXahpJqu/ut2cXirq+M1JN6BBABtg0AIADxmYEyIMYXlSleOzbsqyWkZoUaH+/h7qqUw88SYJMtcnNGR/TmJymPl1x26UCYuRyaGk7+frxFYyYZpmRHizBeX4bh3KaPYsW9I+vJEvsj88EnzjUqDtVoWYyiNAbQdAiEA8Jjrpgygv98zk+6/bGSPfl9ZHuMgyJwRMjdou8sI8f38PDz+Lst8EUpmS2aH5OdH9IsQl7I8xn1CnPk5X6xlhIb3C6dRiREt9gltTdOyS3w2mlr+koEYHw7LOFiSU3EA0DLLBELV1dU0ZMgQeuihhzz9UgBAF+DnK3qB1A3TPUEdoa9xEQhFtSEjxCW2oXpWSD5OzWCZv254QpgpENImyjho4YmyATEhNCYpwm2fEJ+79vWZIuN2UZVWWlNH5/m55UG2yAoBtI1lAqGnnnqKZs6c6emXAQBewAiEGprEUkT1MFZzw7S7jJDaJ6ROirm6PSA6xCi9yUCIS2NyYoxLhBwUjukf6TYjtO98ifFaWVGlvQ9ITrhFhwQYU28dDYR475FadgPo6ywRCJ06dYpOnDhB3/3udz39UgDAC8hdQlwWk+PzbktjbjJCap+QqxPqZWlM9gdJA/Rli5wROq8HQkPitOcZq2eEXO0SkmUxSTZbq6WxyBB/I4jr6MGrD64/SBc//TkarsEyPB4Ibdu2jRYvXkzJyckirbxhwwanx7zwwguUkpJCwcHBNG3aNNq+fXu7vgeXw55++ukufNUA0JuppbHqDpbGzIGQGviYv25EP3sgZJTGyjgjpDVFD43TmsVH64EQN1BX1TlOgm3TAyFuqHbKCCk9Qupm7I7YdqqQCivr6Vh2x889A+hNPB4IVVVV0aRJk+j55593+fn169fTihUr6NFHH6UDBw7QvHnz6KqrrqKMjAzjMRwcjR8/3ukjOzub/vWvf9GoUaPER1vU1dVReXm5wwcA9C32qTG1WVotjWnBBLfb9AvX9vu4MkzfJeQqYFJLY2pGSG2WNmeE4sKDKCFC+348GSblV9TSMf1A1itSE932CPH5bHLiraVdQhlF1fTxtzlO93Pzthy9L8TBrWARHj99noMa/nDnmWeeoXvuuYeWLl0qbj/33HP02Wef0Zo1a4wsz759+9x+/a5du+jtt9+md999lyorK6mhoYEiIyPpsccec/l4fs4nnnii0z8XAHgv4wT6BnV8Xi2NacFEv4ggMfLeloyQuZdIvc07hMyBEB/fcUJvipYZIcZ9QvkVBeJzUwfHiPu2pxWKy/EDIml0YgT9m3JMPUKyNGbPCJW6CWR4+eItL+0SPUrJ0bNpiv49WGV9I8kVRkVK6Q2gL/N4Rqgl9fX1IshZtGiRw/18e+fOnW16Dg5sMjMz6dy5c/SnP/2J/uu//sttEMQefvhhKisrMz74awGg75fGZHDEEvQgxt1+I4kbk2UGZ7ASzMjnmzYkRgREY/UmaMbbsuUCSV7GqGaEHPuE7NnobfpSxktG9hNZI8blK/NCRS6NRYe1nBFavyfT2GGUWWI/84yVVtm/Rg20APoyj2eEWlJYWEhNTU2UmKilgiW+nZub2y3fMygoSHwAgAUyQsr4fJhSGps3Ip4evmoMzdEPSW3JszdPFsdeyB1Aqnd+Mosam5spyN8eZHEvJJ9On6afQcYT94Ni7WW0Mf31QEjPFnG5avspLSN0yah+RmO0WhpTm6VrGvSMkIseodqGJnr+i9PG7RJT1qi0xn5bfX6AvsyrAyF322V5vLMjG2fvvPPONj929erV4oMDMQDoW0ID/I3xeVfN0lwO+8n84W16Lg6W3AVMvB/Iz9f+vGp5TAZCyVEhDoHSmCQte7Q/o4R+9o8DNHlQtCijcRaJS2WHs0rF512VxjgjxPuGWLGLQOjNbzLE7iLJ3FCtTpqpGSeAvsyrS2Px8fHk5+fnlP3Jz893yhJ1teXLl9OxY8doz5493fp9AKDnyaCHJ7M4GDKXxrqb7BNiQ+MdS2ojE8Jp+pAYamy20UeHsunJfx8T988aHkeB/r4UFxbk1MNjZISC1akxx9IY90Kt2XLa2GvkKiOkBkat9Qidzq+kW9buol1n7UseAXojrw6EAgMDxUTYpk2bHO7n27Nnz/bY6wKA3i1YD3o40yKpGaHuJgMRc3+QzEa9e+8s+tfyOXTn7KEUqx/eev2UAeIyLly7XaWU9YypMW6WDnNdGnvj6/Miy8N9T7fPGuIyWJIBFStqZWrsf784RV+fLaJ/7LZP8AL0Rh4vjfEk1+nT9pp1eno6HTx4kGJjY2nw4MG0cuVKuv3222n69Ok0a9YsWrt2rRidv/feez36ugGg9wrVFyrK8hJX2oOV8lR34x4hSZ0Yk7j0P2lQtPh49OqxYnmiHMfnEhlnhrgExn08AwJCjM3SXBrTT9hwyPZU1jXSi1vPiOt8rptPG0pjLTVLcyZt49G8Vh8H0Bt4PBDau3cvLVy40LjNgQ9bsmQJrVu3jm6++WYqKiqiVatWUU5OjtgP9Mknn4hzw7oTeoQA+i6Z/ZHbmfnwVD47rKdwX5C7jJAZH72h7iTiICk+LJCyy2pFEMKTa/JgVy6NcV8S4+CIj8rgDNP2tAKR/eFs0HWTk40pNHMgpN7m4Imbq+UWbtWmY3lGSdFV5qiitkEESleMSxSvCcCbeTwQWrBggWh+bsmyZcvER0/iHiH+4IWKUVFRPfq9AaB7hZhKYz1ZFnPqEWolEHKFR+hFIFRVR/1qtJ6hQD9fCg7wpQC/AIdSFz/2SHaZuD1nRJwIjIw+ImVcXjzeVCrjIEct40kbDmYZ14tdTJe9vvMc/WljGt1fNIJWLhrd7p8PoCd5dY8QAEB3kFukuSG5pxul5Rbq+PBAsQV6iIvSWGtknxD3/Kij85wt4kAnItjfoQfoqH5cRmqy9o86Y+miuTSm9Ai5a5jmLJoc55fBpPkfs3xECDuj70kC8GYezwgBAPQ0cwYoTNkh1BO43PXvn82jJpvNZempNfbJsXqH4zUkDnQqahuNQEcGQuOStdF82VDNDde8aVqO75tLZa76f/hoDi7FjUmKEIfDNjTZRBmO+5OkAj2Ayi2rbffPBtDTkBFqoUcoNTWVZsyY0bN/IgDQ7cwZoJ7OCMmskKuyU1twNklmbOwZITUQsm+Xzi+vpYKKOtFEPVbfUcTbrWUvkdogLUtj5h4qV2Wxm6YPojAX03fq1yEQgt4AgZAb2CMEYJ2MUE/3CHWWLI1xD4+cGHMIhPSMD0+OyWzQ8H7hRsDHJbRo/fFqECNLY/xY+fwqPiT2QEapCKoWT+pPsfrrMPcJFVZoX5dXXms0cgN4KwRCAGA5PCXmeLt3dQnI0hhnXmRpTC1N2ZcqciBU5lAWcwqW9HKYevL88H5aA3ehsoWa/etgtrjkTdoJEcEOJTqJ+4Xk8Rzcg4XDW8HbIRACAMsxl8LCgnppRkhtltYbpBk3YcvS2JEs2R/kOP0qy2eyNFZRZz953l1GiDdds2sn68sd9WBKfRy/Hu4bknLQJwReDoEQAFgOj5rLHpneWBqL10+g58yLPGfMsUfIPhV2NMd1Roj3D6mlMdkfxNkyOd6v9gjxTqFT+dr5aAtH9xOXcuu1Wl7jfiQVAiHwdgiE3ECzNEDfxT0ycrt0ryyNqRmhalelsQBjjD2zuMZlRijWNEIvT57nbJL6/FK6PgqvfV4LxGJdPE5OjEm5Zdr3l769UEr3/t8+OnxBC9AAPA2BkBtolgawTnmst2WEZCaGe3AulNQ4jc/LbM++jBJxOTAmhKL04Mh4TJi9fKZeckClZpzMgVBKvH0BZHyY8+PMp9bnlDuO0L/6VTr952gu/ejlXXQkC8EQeB4CIQCwJDX48cT4fGfw3h+5NPGsHqC4apbm88hclcXUjJA8k0xmhvhr1YyQXJboKhByVRozN1jnlDoGQmcKtOfhabfbXvmGjudoPUwAnoJACAAsKURZoij34fQmMmsj+3h4s7S5WVoyl8XMk2VMNl3z16oZp/IabTz/rB7ADFMDIRelMfl65OtTdwlxUCUDKt6ozY3at738DZ3Kq+jEOwHQOQiEAMCSQgJ8nY7c6E3kxJbksFna9LnxA5wzQjJYKpalMf3cMb5fzTgV6mWv9EKtUTolPtzpNThkhPRAaIL+PXPKaxwaqfkwV+5Tf+/e2eJ18cTZT/6+r9UzJwG6CwIhALAkNfjpbaUxJstXkloak2WvljJCMuvj3Cyt3W/0CenZHlelMdk0zT1CMpCRU2MTBmjfM6+sTuwoUstig2JDqV9EEL1x90wRFHG2ydxkDdBTEAi5gakxgL6tNzdLq0GIpI7P888W5O9rHMeREOH4WDXgkT1CcvpMbpw2dgRV1onHyGbqofH2Q2LlY3hvEO8hUpulU5MjyceHqL6pmYr1YOuskVUKM4KxoXHa9ZO5KI+BZyAQcgNTYwB9mxr89MbSWLxTaczfZQ8QZ4N4XYCZHLHnpuXGpmajV0iWzIwT7qvqKb1Iy+T0jwp2eK/4wFj5PhbrAZAsjSVFhVA/U59QutFnZC+vjUqMEJcIhMBTEAgBgCWF9qGMEDd7+/s5/jqXAY2riTFZSpPxEZ8xJs8Zk5kio+xVWWcEMGpZzP467NulxfEaekDEpS8OnNSlinLCbZh+hAcbnYRACDwLgRAAWJK6RLF3BkKBLstiEk9lselDY1x+PQdOssGa+4TMpTGZceLAxlV/kBRrnDfG5541ilKYeH1hgZSkB0JyqeLZgkqnQGiMDIRcTI5xJkluzgboLr0vHwwAYPE9QkweeGpulJaevG483TRtEC0cneD2ObhHh8fmi6sajNKYnDhTG6HlVJjLjJAyOVZQqWV+eOKMy2b9o0KMjBDvNMrUlz+qpTGZEUrLqxAn1cujT7JKa+jyP2+lUUkRtGHZbJflPYCugIwQAFiSGvyE9cYeITUjpIzOS3w6/OWpiS0GEMYIfVWdfY9QiKlHqLLeZUnLPH3GpbGCCr0spgdR9oxQLWUUV4tAh8t4iZH2IG5IXBgFB/hSbUOzeIy09WQB1TQ00aHMUuP7A3QHBEIAYEl8uGhvzgjJAMRdaawtZEM1ByDy5Hl5FIfMOPGm6HNGacyeyZFkwMQZIfMyRdkjlF1WY5TFUvqFOQRnnAEamSD7hOxbpr8+W2Rc//x4Xod+PoC2QCDkBsbnAaxRGuNKjBw17024qVmvIjlsle5IIJReWG28J7xMUc04nSuqEpkZf18fcWaZmTpmbwRCEdp9SZH2jJCRVXIRTMnJsRP6CD03Xe9yCITyqTv89zuH6Hv/u51q6pu65fmhd+h9//X3EIzPA/RtMgvE4+C9sf+EMykyK+SqNNYWcoRebo2WZTG1R0hmigbHhlKAaTLNoVlayQjJ0lhytL1HyMgIuegzGqP0CTEOmngxIwdfbO/5EqOZ25W3vskQR3XkmQ54bcnu9GJ6f/8FOpJVTkezcfirlSEQAgBLkvtweuPEmCTLV66apdtCNkbLqbAoZSM1B0Uy4+QugHFqlq5wLI0l6L1AdY3NtO98ids+I9kwLTNCMhvEE2+jEyNEb9GWNNdZobrGJvr9p8fpq9OF9IdPT7T5Z39hy2njem47AijoexAIAYAlyYNWe3UgpJevOtsjlFde55AhYr4i4xTUeiDk0COkNUvH65usucwmS2zyeI3h/cLdZoS4F6m2oYl2nS0Wty8eFkeXjk1osTy2La1QLIVkHxzIoiNZrWd3+DFbThYYt9WDYcF6EAgBgCVNGRxDc0bE0W0XD6Heat7IfqK/adoQ17uCWqMGPq5OrVcn07jJ2RVjaqzSuVlanRxrKaDi5Yv8WrgMdzq/0sgIcSB0uR4IbTmZLzZgm314KFtcyj6v3358rNUDXNdsOSMuZUUUgZC1IRACAMv2CL259GJaOm8Y9VY/XTCcDj9+JU0eFN2hrzefUh8VEuh2aaP70pgW9PAiRTldpgZQSZH2Bmsemw8Lcm7s5h4t2TD9yeEcUWIL9PcVP9fkQTEi2OKsD/cKqarrG2nzMW2i7NmbJ4uv4WxSS83VZwoq6ZMjOeL696cOFJcojVkbAiEAgF6M//LvKFkas98OcLu00dW0lwwo5SoCWaJSM0JyhL6l51DLY//YnSEupw6OFksZuSl8weh+4r4vTjgGOJuO5YmJNt6ifdX4JLp7Toq4/3efHqcGF9kj9rctZ4gTRpePTaRLRmnP254ma+h7et8WMQAA6BKtlcZkRogDHXUJohk/7oK+NVqWulyVxlw1Skujk7Qz0eQp91wWky4bk0gf7M+izcfz6JHvjjXu/0gviy2emCyySssWDqd39mbS2YIquv2Vb8SizNrGJmposokJNA6qvj6jld34sdyEzZARsjYEQgAAFiUPWDVum0pjMrPDZbGWVgzw5JgMhCKCtOM1XGaEXDRKmyfHpFlKIHTJqHgRyHCAwyP2XEbj89G2pmkNz9dMTjbWCDx4xSj6fxuOGA3XrswdEU9TB8dQpr7JmpvFua9I/Rl/veEwZZfW0trbpzkdaAt9CwIhAAALl9XCg/ypsq7RZUZITnhNaqUHSd1yLSfGXGaE3PQZmQMhbnxWv2dEcADNGREvAp8fvfwNrfnRVNFUzZkeLqnJ/iL2o4sGi2CMD2vl5+GgzN/Xl5psNmpqbiYf8jFKYnK8n89B40yU/Dm49+jvuzKMw2DHJUe1+PND74ZAqIXN0vzR1ISNowDQd8WEBSiBkGNGaFFqIr177ywa218rW7mjjtmrjdJMHrzaWmmMAzLeXM2ZJc7WqFkl9tvrxtPS1/eKwOSHa3dRor61evEkLRukjv1fN2UAtQWP93Pww6P/PDkmAyH1zLNTeZUIhPo45PvcwGZpALACtWHanBHioGLG0FgRpLREDX7URmmWHB0s7kuOCqaBMaEtPo8MuGYNt5fFpEGxofTBstl09cT+1NhsE6fTs2tMgVB7yWNA1Ibpc/qRI+q2a+i7kBECALCw6BYCobZyKI2ZAiHOuny+cj75+GrHgrTk51eOpqFxoXTXnKEuP8+j98/fMoUmDIiiP/7nhCiXcYDUGVy6O5ZT7tAwnVFsP+0egVDfh0AIAMDCYpXgp6NHdbQUCInnbWOAxb0+j16d2uJjuKH53vnD6YYpAzq8UVslS2zqUsVzRWpGSDsjDfoulMYAACxMZoTUk+fbS128qI7Od6eEyGCnPqKuKo2dL7JnhDJLqnE6fR+HQAgAwMJkj5B5uWJ7xLXQLO3tkqK0157rpkeIly/yhBr0XQiEAAAsLDYsoFNlsdbG572duTTGp9lnl2mN2CMTtPUBPKkGfRcCIQAAC5OTXANi7GPunSqNuegR8mZyz5EsjWUW14gsUFigH83Wp9dOIRDq09AsDQBgYbxc8C8/nEzTh8Z2+DlCA/3p6gn9qaS6npKjOx5QeYLsEeKFirUNTUZ/0JC4MBqpL2r09OQYH2bLmbbW1hhAx+BdBQCwMB5pv3Zy2xYQtmT1j6ZSb8QlQd5AXdfYLLJCcmJsaHyosbHak5Nju9OL6Ydrv6aFoxPolTtneOx19GUojQEAgGXxOL4sj3GfkJoRGpWo9Qjx8ka5fbs1H+y/QBuP5nbZ63tx6xnis2G3pBWIY0Og6yEQAgAASzMaptWMUFyoWC0g1wG0pU8ovbCKVr5ziH765n7K0RuuO4Of7/MT+eJ6U7ONdp4uavPXFlbW0dOfHqfjOeWdfh19HQIhAACwNHWXUIaSEWKj9fIYnznWmq9OFRhByz92Z3b6db22I93h9nb9+VvDh8je+3/76MWtZ+l/PjvZ6dfR1yEQcoMPXE1NTaUZM1CTBQDoy2RpLKukRhz6yobEadN0I/XyWFsapncoGZu3d2dQQ1Nzh19TWXUDvbv3grh+z9wUcbntVAHZeKStFav+fZT2ni8R17+9UNqmr7EyBEJu4NBVAABrlcb2ZZSIA125eToxQrtPNky3tkuIs0Bfn9UCoQA/H8qvqKPPj+c5Paat1u/NoJqGJhqTFEErrxglnpNH+9XjP1x+3Z4M+vuuDPLx4f4nLpHVU155XZu/rxUhEAIAAEuTpbFj2eVGNshXPyBWNky3Vhrjry2raRAj7nfrGRwOSKTT+RU09w9f0Hee20aHMktbfK7GpmZ6fed5cf3uOSnisNnpQ2JbLY8dyCih/7fhqLi+8vJRNCpBC+KOZJW1+h5YGQIhAACwNHnMhkzYyP4gNkIPJriRmgMdd3acKRSXFw+LpdtmDhHZmK9OF4qG5/zyWlry6h7KKaulE7kVdMOanfQ/n50QW6xd2XgsT0yq8cbuayYni/vmjYoXl9vSnAOhqrpG+tNnJ+mHa3dRfVMzLUpNpOULR9D4AVHi80eyEQi1BIEQAABYmiyNSTwxpu4Zkhkjzuq4s+O0FgjNHh5Pg2JDxd4ftnbbWbr79T0isEmJD6PFk5JFiWz1l2fo2ud3UHap43QZ9xX99fNT4vptMwcbB8teMrKfuPz6TJFohmbc+/P+vgu08E9b6PkvT4tdSHNHxNMzN08WGa3xAyLF45ARahkWKgIAgKUl6P1AkpoRYqOSIkRG6IP9WZRVWktcNePeHZkt4szOnnPF4vqcEVrm5kczB9MXJ/LpH7u18lhcWCCtu2uGeO7vjk+iRzccEdmh+/9xgN7+8cXk7+drBE58f3RoAC2ZPdR4Dan9I8WBttzzsz+jhGamxNLTn54Qj9decyg98t2xIhvEu5GYkRHKwgh9S5ARAgAASwv09xVBhjTUFAiN1vuE3vwmQwQu9711gK7+61fGJNn+86VU29BM8eFBRk/RgtEJNEA/biQ4wFdshZYB1lUT+tM/l80W/UQ83fXXL06L+88UVNJf9GzQY99LpTjl3DbO8MzTs0JcHntu8ykjCOJm6o0PXkJXjksygiAZPPFNDuIKKuwN07wm4BfvHaKTuZ07OmTzsTzaqweAvRkCIQAAsDw5Qq+Ozku3XzyUrhqfJMpOfBDr4NhQUYZa8fZBUabaqfcH8edkIMJHlzx05SgaGBNCL/xoKk0eFO3wnBwUPXX9eHH9+S9OiZLXwx8cFs/H579dP8X52JN5I7Vs0+s7zxkB028Wp9L9l42kIH+thKbiJuth8WFOfULPbkqjd/ZeoD/850SH/9w5aFv6xl665aVdrTZ/ezuUxgAAwPK4D4hLSDymbj44dnBcKK25bZpxm5ufr3xuGx3LKadnNqXR7nRtbJ4DJdX1UwaKD3f4jLftpwrpvX0X6K51u0VWKTTQj353/XiHzI4kM0JV9VqT9S+/M4bumqNNqLnD5bEzBVV0NKtM9C3xwbIfH84Rn+MArrahyehDao8v9Y3XDU02Wv7Wfvr4Z/MoKjSAeiNkhAAAwPJkwzQ3OnM2pyUJkcH09A0TxfUXt52hg3pGZPaIuHa/j09cM05kbTgIYg8tGk0DYxwzUhIf9zFlsJZZ4izQTxcMb/X5J5j6hLaczKeKWu3cNP6eX59p+7Edqi0ntek1fqt4CeVD7x3qtYsbEQgBAIDlycmwIbGugxCz74xPoh9MH0j8dz+P3XM5zV0A0xIuX/31likUEeRPs4bFOTRIu/K326aJ5uoHLx/Zpucfl6wFQof1XUIbDmSLy0C9OfsLPbPTHjyuvztd6w169ubJ4rk2HcujV75KF/1HPEH31jcZne5B6ikojQEAgOVxYLPpeB7dctHgNr8Xjy0eR7vOFlNGcbUYm+8oLl/tfvRyUZZrLRvFmSvzuH9Lxukj9Dy+f76oygh87r9sBP1pY5q4vcpmc1mKc0eM8Dc106DYELpmUjKV1zTQ//vXUfrtx8fFh8Q/z19+OIW+O6E/eTNkhAAAwPJGJkbQh/fNpUXjktr8XvDU10t3TKebpg2kZW0oU7UkJNDPGKHvSpHBAcZeJD6AlQMYPkiWt1/ztFxWaQ2dym/9QFnVljQtmFowKkEEULddPISu0xc/chzH+5J4Yk32D3F2yJshIwQAANBBo5Mi6H9umuTV79+4AVHijLJ/f6s1SV87JZlCA7VS3Na0ApEVkmeqtYb7gL48ofUHLRitNW9zMPTnH0ymB68YJabveIKNl0b+esMRsUfpkX8eppLqehEstifz1FOQEQIAAOjDxut9QhKXs9ilY7Tt1+3pE+Kxec4icV/QrOH25nAu6fFKADnGz7d5+m35wuFGNkpOq3kbBEIAAAB9mJwcYxelxBpN3TIQ2ne+hMqqtXPUPj+eRz96eZcoaa3+8rQYky+vbXCaFps5LFZklVrC2Z+fXzmGfjJ/mLjN56HxESLexhKlMX9/fxo/XltcNX36dHr55Zc9/ZIAAAB6xLhkrWGaXTfZvqiRVwWMSAin0/mVtO1UgZj4euqT42ISjn2sl9L4uA9eCskN4TIQmj9KK4u1xc8uHUnv7b0gynN8NtoP29GQ3hMsEQhFR0fTwYMHPf0yAAAAelxMWKDI/nBZ6+qJjhNcl45JEIHQbz48SsVV9eI+XgswrF84Hc8pp73nSkQp7I5XdtOvrhpjjM3L/qC2NpUvWziCnvz3MXGg7HVTBnRoiWN3sUQgBAAAYGWv3jlDNDqbm5UXjk4QZ5ZxEMSfevS7Y+meuSnG43jz9C/f/5b+dTDbGI3nM9SG99POVGsrPoT25e1nKbusVkyR8dSat/B4j9C2bdto8eLFlJycLN74DRs2OD3mhRdeoJSUFAoODqZp06bR9u3b2/U9ysvLxdfNnTuXtm7d2oWvHgAAoHdwNbE1fWiMCGxCAvzoxdum0dJ5wxwex5mb526eLI7zkHdzNqi901/8PA9cpi2B5N4jXsroLTyeEaqqqqJJkybRXXfdRTfeeKPT59evX08rVqwQwdCcOXPoxRdfpKuuuoqOHTtGgwdrdUYOcurq7CfrShs3bhQB1rlz58TlkSNH6Oqrr6bDhw9TZKS9ZgoAAGBFAX6+9MkD88S4e2xYoMvHcNDDx3mMSYqgd/ZmimCpI26cNpBe3HaW0gur6NWv0ulnemDkaT42LzochN/sf/7zn3TdddcZ982cOZOmTp1Ka9asMe4bO3aseMzTTz/d7u/BQdSTTz4pmqZd4YBKDao4mzRo0CAqKytD8AQAANAJHx7Kpvv/cUAcLrtp5XyRjeou/Pd3VFRUq39/e7w01pL6+nrat28fLVq0yOF+vr1z5842PUdJSYkR2Fy4cEFkkoYNcx/NcnDFb5z84CAIAAAAOu97E/rTRUNjqbq+iR7bcMQrDmr16kCosLCQmpqaKDEx0eF+vp2bm9um5zh+/LjI/nD57Xvf+x795S9/odjYWLePf/jhh0X0KD8yMzM7/XMAAAAAkS8vWrxhvDiH7PMT+fTpkbb9Xd6ne4TawtyU5arz3Z3Zs2eLnqC2CgoKEh8AAADQ9UYkRNBPF4wQo/Q8tj9nRDxFhQSQp3h1Rig+Pp78/Pycsj/5+flOWaKutnr1akpNTaUZM2Z06/cBAACwmmULhtOw+DAqqKijP/7nhEdfi1cHQoGBgWIibNOmTQ73823O9HSn5cuXi36iPXv2dOv3AQAAsJrgAD966voJ4vqb32TQvvPaokZLlsYqKyvp9OnTxu309HSxBZr7eHg8fuXKlXT77beLPp9Zs2bR2rVrKSMjg+69916Pvm4AAADoOD609aZpA2nz8TwqrrKfZ2a58fktW7bQwoULne5fsmQJrVu3TlznHUJ//OMfKScnR5wZ9uyzz9Ill1zSI6+vreN3AAAA0D582GuTzf0Oo574+9vjgZC34h4h/uCptbS0NARCAAAAvQgCoR5+IwEAAMB79ImFigAAAADdCYEQAAAAWBYCITewRwgAAKDvQ7N0K9AjBAAA0PugRwgAAACgFSiNAQAAgGUhEAIAAADLQiDkBpqlAQAA+j40S7cCzdIAAAC9D5qlAQAAAFqB0hgAAABYFgIhAAAAsCx/T78Ab2ez2YxaIwAAAPQO8u9t+fe4OwiEWlFRUSEuBw0a1FV/NgAAANCDf4/zKfTuYGqsFc3NzZSdnU0RERHk4+PTpZEqB1eZmZkUGRnZZc/b2+F9wXuC/5/gvx/8TsHv2q7AmSAOgpKTk8nX130nEDJCreA3b+DAgdRdOAhCIIT3Bf9fwX8/+L3SvfC71prvS1QLmSAJzdIAAABgWQiEAAAAwLIQCHlIUFAQ/eY3vxGXgPcF/1/Bfz/4vYLftfg7yDPQLA0AAACWhYwQAAAAWBYCIQAAALAsBEIAAABgWQiEAAAAwLIQCHnICy+8QCkpKRQcHEzTpk2j7du3k1U8/fTTNGPGDLGtOyEhga677jo6efKk00bQxx9/XGwEDQkJoQULFtDRo0fJSu8RbzJfsWIFWf09ycrKottuu43i4uIoNDSUJk+eTPv27bPs+9LY2Ei//vWvxe8P/nmHDRtGq1atElvwrfKebNu2jRYvXix+Pv7vZMOGDQ6fb8vPX1dXRz/72c8oPj6ewsLC6JprrqELFy5QX31fGhoa6Je//CVNmDBB/Lz8mDvuuEOcnNDX35dW2aDHvf3227aAgADbSy+9ZDt27JjtgQcesIWFhdnOnz9viT+NK6+80vbaa6/Zjhw5Yjt48KDt6quvtg0ePNhWWVlpPOb3v/+9LSIiwvb+++/bDh8+bLv55ptt/fv3t5WXl9v6ut27d9uGDh1qmzhxovj/hpXfk+LiYtuQIUNsd955p+2bb76xpaen2zZv3mw7ffq0Zd+X3/72t7a4uDjbv//9b/F+vPvuu7bw8HDbc889Z5n35JNPPrE9+uij4ufjv8b++c9/Ony+LT//vffeaxswYIBt06ZNtv3799sWLlxomzRpkq2xsdHWF9+X0tJS2+WXX25bv3697cSJE7avv/7aNnPmTNu0adMcnqMvvi+tQSDkARdddJH4P5tqzJgxtl/96lc2K8rPzxf/0W7dulXcbm5utiUlJYlfZlJtba0tKirK9re//c3Wl1VUVNhGjhwpfgnNnz/fCISs+p788pe/tM2dO9ft5634vvA/HO6++26H+2644QbbbbfdZsn3xPwXflt+fg4K+B+j/I9SKSsry+br62v7z3/+Y+sLXAWIrv7RRUTGP8Kt8L64gtJYD6uvrxdp/UWLFjncz7d37txJVlRWViYuY2NjxWV6ejrl5uY6vEe8eHL+/Pl9/j1avnw5XX311XT55Zc73G/V9+TDDz+k6dOn00033STKqFOmTKGXXnrJ0u/L3Llz6fPPP6e0tDRx+9ChQ/TVV1/Rd7/7Xcu+J6q2/Pz8O5hLRepjuFQ0fvx4S7xH6u9eHx8fio6OtvT7gkNXe1hhYSE1NTVRYmKiw/18m//jtRr+h8vKlSvFL3f+j43J98HVe3T+/Hnqq95++23av38/7dmzx+lzVn1Pzp49S2vWrBH/H3nkkUdo9+7ddP/994u/2Li/wYrvC/d58F9gY8aMIT8/P/H75KmnnqJbbrlFfN6K74mqLT8/PyYwMJBiYmIs+3u4traWfvWrX9Gtt95qHLpq1fcFgZCHcBRuDgjM91nBfffdR99++634F62V36PMzEx64IEHaOPGjaKB3h0rvSeMG4A5I/S73/1O3OaMEDe9cnDEgZAV35f169fT3//+d3rrrbdo3LhxdPDgQdFUz/9yX7JkiSXfE1c68vNb5T3irM8Pf/hD8d/XCy+80Orj+/r7gtJYD+NOfP5XnDm6zs/Pd/oXTF/Hkwlc+vjyyy9p4MCBxv1JSUni0krvEaek+efjCUJ/f3/xsXXrVvrrX/8qrsuf20rvCevfvz+lpqY63Dd27FjKyMiw7P9Xfv7zn4t/yfNfZDwBdPvtt9ODDz4oJg2t+p6o2vLz82O4TaGkpMTtY/pyEPSDH/xAlBA3bdpkZIOs/L4gEOphnHbkv+z4/4Aqvj179myyAv7XBWeCPvjgA/riiy/EGLCKb/N/kOp7xP9xcmDQV9+jyy67jA4fPiz+dS8/OBPyox/9SFznEWmrvSdszpw5TqsVuDdmyJAhlv3/SnV1Nfn6Ov7q5n9cyfF5K74nqrb8/Pw7OCAgwOExOTk5dOTIkT79Hskg6NSpU7R582axkkJl1fcFU2MeHJ9/5ZVXxPj8ihUrxPj8uXPnbFbw05/+VExwbNmyxZaTk2N8VFdXG4/hiQ9+zAcffCDGX2+55ZY+Nf7bFurUmFXfE55q8ff3tz311FO2U6dO2d58801baGio7e9//7tl35clS5aI8WY5Ps8/d3x8vO0Xv/iFZd4Tnq48cOCA+OC/xp555hlxXU4/teXn58ndgQMHinUMPCZ+6aWX9vox8Zbel4aGBts111wjfmZeW6L+7q2rq+vT70trEAh5yOrVq8V+lMDAQNvUqVON0XEr4P9AXX3wbiF1BPY3v/mNGIMNCgqyXXLJJeIXmpWYAyGrvicfffSRbfz48eJn5jUTa9eudfi81d4X/suc/3/Bu7eCg4Ntw4YNE7tj1L/M+vp78uWXX7r8HcJBYlt//pqaGtt9991ni42NtYWEhNi+973v2TIyMmx99X3hoNnd794vv/yyT78vrfHh//F0VgoAAADAE9AjBAAAAJaFQAgAAAAsC4EQAAAAWBYCIQAAALAsBEIAAABgWQiEAAAAwLIQCAEAAIBlIRACAAAAy0IgBADQhbZs2SJO6i4tLcX7CtALIBACAAAAy0IgBAC95uRsAICuhkAIAHrcggUL6P7776df/OIXFBsbS0lJSfT44487PIbLS3/729/o2muvpbCwMPrtb3/b6vPy0Yl//OMfadiwYRQSEkKTJk2i9957z6ls9fHHH4vPBQcH08yZM+nw4cMOz/P+++/TuHHjKCgoiIYOHUp//vOfHT5fV1cnXvugQYPEY0aOHEmvvPKKw2P27dtH06dPp9DQUJo9ezadPHnS+NyhQ4do4cKFFBERQZGRkTRt2jTau3dvu99HAOgCnj71FQCsZ/78+bbIyEjb448/bktLS7O9/vrrNh8fH9vGjRuNx/Cvp4SEBNsrr7xiO3PmjO3cuXOtPu8jjzwiTqj/z3/+I77mtddeE6ePb9myxeF07rFjx4rv9e2334rTtYcOHWqrr68Xj9m7d6/N19fXtmrVKtvJkyfFc/Ap3Hwp/eAHP7ANGjTI9sEHH4jvs3nzZtvbb7/t8D1mzpwpvu/Ro0dt8+bNs82ePdv4+nHjxtluu+022/Hjx8XP/84779gOHjzYpe8xALQNAiEA8EggNHfuXIf7ZsyYYfvlL39p3OZgYsWKFW1+zsrKSltwcLBt586dDvffc889tltuucUhSJFBCysqKhKBzvr168XtW2+91XbFFVc4PMfPf/5zW2pqqrjOwRE/x6ZNm1y+Dvk9ODiSPv74Y3FfTU2NuB0REWFbt25dm382AOg+KI0BgEdMnDjR4Xb//v0pPz/f4T4uLbXVsWPHqLa2lq644goKDw83Pt544w06c+aMw2NnzZplXOfS3OjRo+n48ePiNl/OmTPH4fF8+9SpU9TU1EQHDx4kPz8/mj9/fpt/Pv7ZmPz5Vq5cSUuXLqXLL7+cfv/73zu9PgDoOf49+L0AAAwBAQEO7wb37jQ3Nzvcx71BbSW/lvt/BgwY4PA57uNpDX9/xskoeV3SElQa7j1q788nn0++Ru6HuvXWW8Vr/fTTT+k3v/kNvf3223T99de36bkBoOsgIwQAfUJqaqoIeDIyMmjEiBEOH9zUrNq1a5dxvaSkhNLS0mjMmDHG83z11VcOj9+5cyeNGjVKZIImTJggApqtW7d26vXy8z344IO0ceNGuuGGG+i1117r1PMBQMcgEAKAXmH37t0iWMnKynL5eZ7Aeuihh0Rw8frrr4ty04EDB2j16tXitmrVqlX0+eef05EjR+jOO++k+Ph4uu6668Tn/vu//1t87sknnxQBEn/t888/L56b8RTZkiVL6O6776YNGzZQenq6mEZ755132vRz1NTU0H333Se+5vz587Rjxw7as2cPjR07ttPvEQC0H0pjANArVFdXixH0lvYJcfCSkJBATz/9NJ09e5aio6Np6tSp9Mgjjzg8jvtyHnjgAdH3w2P0H374IQUGBorP8eM5qHnsscfE83F/DwdOHDBJa9asEc+5bNkyKioqosGDBzt9D3c4q8Rfc8cdd1BeXp4Iwjgj9MQTT3T4vQGAjvPhjulOfD0AQK/BWRje38PlMA6SAABQGgMAAADLQiAEAAAAloXSGAAAAFgWMkIAAABgWQiEAAAAwLIQCAEAAIBlIRACAAAAy0IgBAAAAJaFQAgAAAAsC4EQAAAAWBYCIQAAACCr+v8toAN4oSxXTwAAAABJRU5ErkJggg==", + "image/png": "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", "text/plain": [ "
" ] @@ -590,7 +615,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.14.2" + "version": "3.14.6" } }, "nbformat": 4, diff --git a/source-code/pinns/parameterized_heat_equation.ipynb b/source-code/pinns/parameterized_heat_equation.ipynb index 8a2e1bb..a88a19a 100644 --- a/source-code/pinns/parameterized_heat_equation.ipynb +++ b/source-code/pinns/parameterized_heat_equation.ipynb @@ -28,7 +28,7 @@ " claims about model reliability.\n", "\n", "The default configuration normally runs in well under two minutes on a recent\n", - "CPU. The notebook needs PyTorch, NumPy, and Matplotlib from `environment.yml`.\n", + "CPU. The notebook needs PyTorch, NumPy, and Matplotlib from the [standard CPU environment](../../environment.yml); the [GPU environment](../../environment_gpu.yml) is optional.\n", "Training uses no exact or numerical solution values; the analytical solution is\n", "reserved for validation." ] diff --git a/source-code/pinns/pendulum.ipynb b/source-code/pinns/pendulum.ipynb index e97e55f..28fb9ff 100644 --- a/source-code/pinns/pendulum.ipynb +++ b/source-code/pinns/pendulum.ipynb @@ -4,7 +4,14 @@ "cell_type": "code", "execution_count": 1, "id": "05b37d12-6c07-4063-8ee6-5e1d940364e9", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-18T09:31:50.177861Z", + "iopub.status.busy": "2026-08-18T09:31:50.177520Z", + "iopub.status.idle": "2026-08-18T09:31:51.467939Z", + "shell.execute_reply": "2026-08-18T09:31:51.466842Z" + } + }, "outputs": [], "source": [ "from collections import OrderedDict\n", @@ -13,7 +20,9 @@ "import scipy\n", "import torch\n", "from torch.func import functional_call, grad, vjp, vmap\n", - "import torchopt" + "\n", + "torch.manual_seed(42)\n", + "data_rng = np.random.default_rng(42)" ] }, { @@ -42,7 +51,14 @@ "cell_type": "code", "execution_count": 2, "id": "889edc73-7ecd-43d0-a76a-f91a8f635adb", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-18T09:31:51.469684Z", + "iopub.status.busy": "2026-08-18T09:31:51.469445Z", + "iopub.status.idle": "2026-08-18T09:31:51.472601Z", + "shell.execute_reply": "2026-08-18T09:31:51.471550Z" + } + }, "outputs": [], "source": [ "t_0, θ_0, ω_0 = 0.0, 0.2, 0.0\n", @@ -54,7 +70,14 @@ "cell_type": "code", "execution_count": 3, "id": "dead3243-99ad-48c1-8f1d-8cfd47d1a051", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-18T09:31:51.474484Z", + "iopub.status.busy": "2026-08-18T09:31:51.474337Z", + "iopub.status.idle": "2026-08-18T09:31:51.478189Z", + "shell.execute_reply": "2026-08-18T09:31:51.477056Z" + } + }, "outputs": [], "source": [ "def rhs(t, x, q):\n", @@ -69,7 +92,14 @@ "cell_type": "code", "execution_count": 4, "id": "9076a5cc-be8a-4f65-a45e-22aaa2bbafd5", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-18T09:31:51.479792Z", + "iopub.status.busy": "2026-08-18T09:31:51.479651Z", + "iopub.status.idle": "2026-08-18T09:31:51.482768Z", + "shell.execute_reply": "2026-08-18T09:31:51.481841Z" + } + }, "outputs": [], "source": [ "def jac(t, x, q):\n", @@ -84,7 +114,14 @@ "cell_type": "code", "execution_count": 5, "id": "aa9cd424-ea8c-401a-a421-7b2b4b5dbd7d", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-18T09:31:51.484335Z", + "iopub.status.busy": "2026-08-18T09:31:51.484183Z", + "iopub.status.idle": "2026-08-18T09:31:51.680171Z", + "shell.execute_reply": "2026-08-18T09:31:51.679038Z" + } + }, "outputs": [], "source": [ "ode = scipy.integrate.ode(rhs, jac) \\\n", @@ -98,7 +135,14 @@ "cell_type": "code", "execution_count": 6, "id": "5211d099-190c-49ad-8b13-7c207ea519fc", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-18T09:31:51.682644Z", + "iopub.status.busy": "2026-08-18T09:31:51.682480Z", + "iopub.status.idle": "2026-08-18T09:31:51.711030Z", + "shell.execute_reply": "2026-08-18T09:31:51.709943Z" + } + }, "outputs": [], "source": [ "t_domain = t_0, 20.0\n", @@ -114,7 +158,14 @@ "cell_type": "code", "execution_count": 7, "id": "72b705cd-0587-4153-99b5-4a58d9d3dcc7", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-18T09:31:51.712959Z", + "iopub.status.busy": "2026-08-18T09:31:51.712715Z", + "iopub.status.idle": "2026-08-18T09:31:51.717662Z", + "shell.execute_reply": "2026-08-18T09:31:51.716852Z" + } + }, "outputs": [ { "data": { @@ -136,12 +187,18 @@ "execution_count": 8, "id": "951057b1-9fcf-408e-85a1-bbbae1d196cf", "metadata": { + "execution": { + "iopub.execute_input": "2026-08-18T09:31:51.719852Z", + "iopub.status.busy": "2026-08-18T09:31:51.719698Z", + "iopub.status.idle": "2026-08-18T09:31:51.838866Z", + "shell.execute_reply": "2026-08-18T09:31:51.837966Z" + }, "scrolled": true }, "outputs": [ { "data": { - "image/png": "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", + "image/png": "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vL293XTVVVeZUlJSer1cQkKC6T//+Y9JC5566inTlClT+nWZpUuXmkJDQ00FBQXi8yNHjpg8PDxM7777rkntWltbTUOGDDH97ne/6/FnTpw4IR6jGRkZJrVJS0szffjhh6ampiZxv91zzz1n/MzatWvF8W/YsEF8Xl1dbUpOTjbdddddPV7vQC5jK6+88oopPz9ffPTz8zvj+3v37hXH2/k+veiii0yTJk3q9XrDwsJMH3zwgUlp/L9v3bp1ptraWvE3//rrr8/4mYcfftg0d+7cfl3vo48+aoqKijKVlJSIz/fs2WNydnY2ffHFFyZ7KiwsNL355pumuro60+WXX25atGjRWS/T2Nho8vf3Nz3yyCM9/szBgwfF36uoqMikpOPHj5u+++47y+cdHR2mm266yRQdHd3l5yZMmGC64oorxPfZc889Z/L09DSdPHmyx+seyGX6AwFOP9x3331nvNi/9tprJnd3d/GAtdZl1OSjjz4STzJ+gektwHnwwQdNX331lWnnzp2m5uZmk5oDnNGjR5u+//570+rVqy3/HHszcuRI0+9///suX1u4cKFp3rx5JrX75ptvxP23f//+swY4/GL47bffmo4ePWpSo54CnFtvvfWMF/tnn33W5OvrK4L07gzkMrbWU4DTnddff93k6upqeWHoKcB57LHHRECxe/duERgp6WwBzuTJk8Xj75dffjGVlZWd9fpiY2NNS5Ys6fK1888/X7xgKqWvAQ4H7Q4ODr2+qZADnM8//1wEGOnp6Sa1WL58uTi28vJy8Tn/z+DP169fb/kZDvj4jeB///vfbq9jIJfpL3Wtr6scL9GdnnvBy728h8jbOda6jJpwXgDnnJytWRMvO7/99tt05ZVXitu7e/duUivOo3n55Zfpz3/+M8XExNCzzz7ba24Ebwl0dx/yfat2fJ9MnjxZLGv3hgfO/utf/6J///vf4ucXLFhAlZWVpAU9Pcd4GT03N9dql1Hb85K3C842KPizzz4TS/68lcPbOGp+zPLW+KuvvkoPPfSQeF7yY7EnvOXKz2MtPy/PO+88kVPWG962fP7558X/K97y5+2q0/MdlXr8hYeHi20lJv/NO98fvPUfHx/f4/0xkMv0FwKcfu61yndo531iOcHMWpdRCw5a3nvvPfrHP/7R68+98sorIlj7/vvvRb4AP2B5X5nzd9SGE/T4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", "text/plain": [ "
" ] @@ -158,10 +215,17 @@ "cell_type": "code", "execution_count": 9, "id": "36709679-3bf8-4113-a023-4fe0aa3ad639", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-18T09:31:51.841306Z", + "iopub.status.busy": "2026-08-18T09:31:51.841142Z", + "iopub.status.idle": "2026-08-18T09:31:51.844588Z", + "shell.execute_reply": "2026-08-18T09:31:51.843655Z" + } + }, "outputs": [], "source": [ - "sample_indices = np.random.choice(len(θ_values), 100)\n", + "sample_indices = data_rng.choice(len(θ_values), 100)\n", "t_data = [t_values[i] for i in sample_indices]\n", "θ_data = [θ_values[i] for i in sample_indices]" ] @@ -171,12 +235,18 @@ "execution_count": 10, "id": "a14750f6-e0d7-47df-9d19-ae711d2e7af3", "metadata": { + "execution": { + "iopub.execute_input": "2026-08-18T09:31:51.846427Z", + "iopub.status.busy": "2026-08-18T09:31:51.846277Z", + "iopub.status.idle": "2026-08-18T09:31:51.952149Z", + "shell.execute_reply": "2026-08-18T09:31:51.951034Z" + }, "scrolled": true }, "outputs": [ { "data": { - "image/png": "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IqJOwgCHOme7KnECv9NERNRpuEVFREREusMAh4iIiHSHAQ4RERHpDgMcIiIi0h0GOERERKQ7DHCIiIhIdxjgEBERke4wwCEiIiLdYYBDREREumPITsZWq1Vel5SUePpUiIiIyEn2523783hrDBnglJaWyusePXp4+lSIiIioA8/joaGhrR5jsjoTBumMxWLBmTNnEBwcDJPJ5PLoUgROWVlZCAkJgd7o/eszwtfIr0/7+Bhqm94fP3d+jSJkEcFNfHw8zObWs2wMuYIjvindu3d36/8hHlC9/uAa4eszwtfIr0/7+Bhqm94fP3d9jW2t3NgxyZiIiIh0hwEOERER6Q4DHBfz8/PDn//8Z3mtR3r/+ozwNfLr0z4+htqm98dPLV+jIZOMiYiISN+4gkNERES6wwCHiIiIdIcBDhEREekOAxwiIiLSHQY4HfDqq68iMTER/v7+GD58ODZt2tTq8Rs2bJDHieN79+6N119/HWq0YMECXHbZZbLDc3R0NG644QYcOXKk1c9Zv3697Abd+HL48GGo0dNPP93kXGNjY3Xx+Am9evVq9vG4//77Nfn4bdy4Edddd53sWirO68svv2zwcVEjIR5T8fGAgABMmjQJBw8ebPN+ly1bhpSUFFnhIa6XL18ONX6NNTU1ePTRRzFo0CAEBQXJY+644w7Zib017733XrOPa2VlJdT2GN51111NznP06NG6eQyF5h4LcfnHP/6h+sdwgRPPC2r9PWSA005Lly7F3Llz8cQTT2D37t2YMGECpk2bhszMzGaPT09Px7XXXiuPE8c//vjjmDNnjnxg1UY8kYsnwq1bt2Lt2rWora3F5MmTUV5e3ubnih/4nJwcx6Vv375QqwEDBjQ41/3797d4rJYeP+HHH39s8LWJx1G4+eabNfn4iZ+9IUOG4OWXX27243//+9/xwgsvyI+Lr10Eq9dcc41j3lxztmzZgltuuQWzZ8/G3r175fWsWbOwbds2qO1rrKiowK5du/DUU0/J6y+++AJHjx7FzJkz27xf0T22/mMqLiJIV9tjKEydOrXBea5cubLV+9TSYyg0fhzeeecdGazceOONqn8MNzjxvKDa30NRJk7OGzlypPW+++5rcFtycrL1sccea/b4P/3pT/Lj9f32t7+1jh49WvXf9ry8PNFCwLphw4YWj/n+++/lMefOnbNqwZ///GfrkCFDnD5ey4+f8OCDD1r79OljtVgsmn/8xHkuX77c8b74mmJjY63PPfec47bKykpraGio9fXXX2/xfmbNmmWdOnVqg9umTJlivfXWW61q+xqbs337dnlcRkZGi8e8++678vugNs19fXfeeaf1+uuvb9f9aP0xFF/vlVde2eoxan0M8xo9L6j595ArOO1QXV2NnTt3yui1PvF+ampqi1Fq4+OnTJmCHTt2yOVnNSsuLpbX4eHhbR47dOhQxMXF4aqrrsL3338PNTt27JhcShXbjLfeeitOnjzZ4rFafvzEz+sHH3yAX//6120OldXS41d/dS03N7fB4yOWuidOnNji72Nrj2lrn6O230vxeHbt2rXV48rKypCQkCDn7s2YMUOuQKqV2CoV2x/9+vXDPffcg7y8vFaP1/JjePbsWXzzzTe4++672zxWjY9hcaPnBTX/HjLAaYeCggLU1dUhJiamwe3iffEAN0fc3tzxYplP3J9aiRci8+bNw/jx4zFw4MAWjxNPim+++abcshHL50lJSfJJUuxJq9GoUaOwZMkSrF69Gm+99ZZ8fMaOHYvCwkJdPX6CyAM4f/68zHHQy+NXn/13rj2/j/bPa+/nqIXIv3jsscdw2223tTrAMDk5WeZwrFixAh9//LHc1hg3bpwM7tVGbPF/+OGH+N///od//etfcovjyiuvRFVVlS4fw8WLF8t8lp///OetHqfGx9DazPOCmn8PDTlN/GI1fjUsHvTWXiE3d3xzt6vJAw88gH379mHz5s2tHieeEMXFbsyYMcjKysI///lPXH755VDjH1M7kbgpzrdPnz7yj474xdXL4ye8/fbb8usVq1V6efxc8fvY0c/xNLFiKFYcLRaLLHRojUjSrZ+oK54Yhw0bhpdeegmLFi2Cmog8DDvxpDlixAi5aiFWOVoLArT4GAoi/+b2229vM5dGjY/hA608L6jx95ArOO0QGRkJLy+vJhGmWE5tHInaiWSr5o739vZGREQE1OgPf/iDfNUgtirE0mh7iV9KNb5SbI6oTBGBTkvnq8XHT8jIyMC6devwm9/8RrePn736rT2/j/bPa+/nqCG4EQmYYjtAJHq2tnrTHLPZLCthtPC4ilVFEeC0dq5afAwFUXErEvo78nvp6cfwDy08L6j595ABTjv4+vrKcmF7ZYqdeF9sczRHvCJufPyaNWvkqxQfHx+oiYieRYQutirEcrHIUekIsU8s/khpgVgGP3ToUIvnq6XHr753331X5jRMnz5dt4+f+PkUfyTrPz4i70hUfbT0+9jaY9ra56ghuBFPbCJo7UhgLX639+zZo4nHVWwXi1XE1s5Va49h/VVV8RwiKq608hha23heUPXvocvSlQ3ik08+sfr4+Fjffvtta1pamnXu3LnWoKAg66lTp+THRTXV7NmzHcefPHnSGhgYaH3ooYfk8eLzxOd//vnnVrX53e9+JzPf169fb83JyXFcKioqHMc0/vr+/e9/y4qBo0ePWg8cOCA/Ln6sli1bZlWjhx9+WH594nHZunWrdcaMGdbg4GBdPH52dXV11p49e1offfTRJh/T2uNXWlpq3b17t7yI83rhhRfk2/YKIlG5IX5mv/jiC+v+/futv/jFL6xxcXHWkpISx32Ir7d+leMPP/xg9fLykp976NAhee3t7S1/HtT2NdbU1Fhnzpxp7d69u3XPnj0Nfi+rqqpa/Bqffvpp66pVq6wnTpyQ9/WrX/1Kfo3btm1T1dcnPiZ+J1NTU63p6emyqm/MmDHWbt266eYxtCsuLpZ/S1577bVm70Otj+HvnHheUOvvIQOcDnjllVesCQkJVl9fX+uwYcMalFGLkseJEyc2OF78YAwdOlQe36tXrxZ/wD1N/GI2dxHlii19fc8//7wsQ/b397eGhYVZx48fb/3mm2+sanXLLbfIXzwRpMTHx1t//vOfWw8ePKiLx89u9erV8nE7cuRIk49p7fGzl7E3voivw16iKkr/RZmqn5+f9fLLL5d/YOsTX6/9eLvPPvvMmpSUJH8ORBsATwZ0rX2N4km/pd9L8XktfY3ihZcIcsXPbFRUlHXy5MkyiFDb1yeeJMW5iXMUj4U4Z3F7Zmambh5DuzfeeMMaEBBgPX/+fLP3odbHEE48L6j199Bk+wKIiIiIdIM5OERERKQ7DHCIiIhIdxjgEBERke4wwCEiIiLdYYBDREREusMAh4iIiHSHAQ4RERHpDgMcIiIi0h0GOERERKQ7DHCIiIhIdxjgEBERke4wwCEiIiLozf8HnNEBwjwLmrcAAAAASUVORK5CYII=", + "image/png": "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8UWMGTNGBgFiv7///nv5unSnJdfxhX/96194/fXX5UFPQUFBvedJBDbifSnen+ILXOyreN3973//kwGLO3/5y1+QlpaGLl26OC4T1/N3gPPLL79g9uzZyM7Olp9/Yr/rBjiffPIJ3n//fYwfP95xWWJiYqMBjng9XHDBBTJwGjRoENauXYurrrpKPpb+JAIR8Rr97rvvUFtbKwO4ugGO2EcRcDpbuXKl7KgvApyGiOdbvC/FZ41zMDFw4EC/fndkZ2fL158ITsXrTRwAiy7Fn332mXzvON/HSZMmyQZ8IgjavHkz3n77bVx++eVub7sl12kWUUVFnvn1119FxZl18eLF8veysjLrwIEDrVdddZVXrxMoO3bssH7//feO32tra62XXnqptU+fPo1er3v37tZ///vfVi144oknrCNHjmzWdebMmWNNTk62Hjt2TP6ekZFhjYiIsL7//vtWtauurra2b9/eescdd7jd5uDBg/I1unfvXqva7N692/rxxx9bKyoq5PN2++2319tm+fLlcv9Xrlwpfy8qKrL27NnTeuutt7q93ZZcx1deeeUV69GjR+XPuLi4en/fvHmz3F/n5/S8886zDh8+vNHbbdeunfWjjz6yBpr47Pv555+tJSUl8jH/3//+V2+b+++/3zpx4sRm3e5DDz1k7dSpkzUnJ0f+vmnTJmtwcLB1wYIFVn86fvy49a233rKWlpZaL7zwQuu0adOavE55ebk1Pj7e+sADD7jdZtu2bfLxysrKsgbSvn37rIsWLXL8brFYrNddd501NTXVZbuhQ4daL7roIvl34dlnn7VGRkZaT5w44fa2W3Kd5mCA0wyzZs2q92X/+uuvW8PDw+UL1lvXUZP//ve/8k0mvmAaC3Duvfde65dffmndsGGDtbKy0qrmAGfAgAHWb775xrps2TLHh2Nj+vXrZ73zzjtdLrvkkkusZ599tlXtvvrqK/n8bdmypckAR3wZLly40Lpz506rGrkLcG688cZ6X/bPPPOMNTY2VgbpDWnJdXzNXYDTkP/85z/W0NBQxxeDuwDn4YcflgHFb7/9JgOjQGoqwBkxYoR8/f3000/WvLy8Jm+vS5cu1tmzZ7tcdu6558ovzEDxNMARQbvJZGr0oMIe4Hz++ecywNizZ49VLb7++mu5b/n5+fJ38Zkhfl+xYoVjGxHwiQPBN954o8Hb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", "text/plain": [ "
" ] @@ -202,7 +272,14 @@ "cell_type": "code", "execution_count": 11, "id": "24b8c1a1-f528-43b6-bad8-e1c8ba3e438c", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-18T09:31:51.954073Z", + "iopub.status.busy": "2026-08-18T09:31:51.953887Z", + "iopub.status.idle": "2026-08-18T09:31:51.958792Z", + "shell.execute_reply": "2026-08-18T09:31:51.957658Z" + } + }, "outputs": [], "source": [ "class PINN(torch.nn.Module):\n", @@ -229,7 +306,14 @@ "cell_type": "code", "execution_count": 12, "id": "74559e8a-0821-43a7-8508-1ede06cdd44a", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-18T09:31:51.960536Z", + "iopub.status.busy": "2026-08-18T09:31:51.960332Z", + "iopub.status.idle": "2026-08-18T09:31:51.963435Z", + "shell.execute_reply": "2026-08-18T09:31:51.962469Z" + } + }, "outputs": [], "source": [ "nr_inputs, nr_neurons, nr_layers = 1, 20, 5" @@ -239,7 +323,14 @@ "cell_type": "code", "execution_count": 13, "id": "47c0f781-387a-46e4-a44a-3f2e05fc8f35", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-18T09:31:51.964939Z", + "iopub.status.busy": "2026-08-18T09:31:51.964757Z", + "iopub.status.idle": "2026-08-18T09:31:51.969157Z", + "shell.execute_reply": "2026-08-18T09:31:51.968213Z" + } + }, "outputs": [], "source": [ "model = PINN(nr_inputs=nr_inputs, nr_neurons=nr_neurons, nr_layers=nr_layers)" @@ -250,14 +341,21 @@ "id": "778b686d-2fb1-47b9-9cdd-727e43d690b1", "metadata": {}, "source": [ - "Now we get the neural network's current parameters as a tuple." + "The functional forward and derivative functions expect the model parameters as a tuple. These entries refer to the same parameter objects that the optimizer updates in place." ] }, { "cell_type": "code", "execution_count": 14, "id": "33e5c147-f1b9-4272-882e-24407c611d47", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-18T09:31:51.970594Z", + "iopub.status.busy": "2026-08-18T09:31:51.970440Z", + "iopub.status.idle": "2026-08-18T09:31:51.973463Z", + "shell.execute_reply": "2026-08-18T09:31:51.972485Z" + } + }, "outputs": [], "source": [ "params = tuple(model.parameters())" @@ -267,7 +365,14 @@ "cell_type": "code", "execution_count": 15, "id": "ea7881d3-433c-4488-96ca-ed839c75b9a6", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-18T09:31:51.974885Z", + "iopub.status.busy": "2026-08-18T09:31:51.974755Z", + "iopub.status.idle": "2026-08-18T09:31:51.977730Z", + "shell.execute_reply": "2026-08-18T09:31:51.976841Z" + } + }, "outputs": [], "source": [ "def tuple_to_dict_parameters(model, params):\n", @@ -288,7 +393,14 @@ "cell_type": "code", "execution_count": 16, "id": "c426cb1f-4bd0-4788-93ef-8762f46973d3", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-18T09:31:51.979305Z", + "iopub.status.busy": "2026-08-18T09:31:51.979130Z", + "iopub.status.idle": "2026-08-18T09:31:51.983256Z", + "shell.execute_reply": "2026-08-18T09:31:51.982385Z" + } + }, "outputs": [], "source": [ "def make_forward_functions(model, derivative_order=1):\n", @@ -312,7 +424,14 @@ "cell_type": "code", "execution_count": 17, "id": "ff3d56c7-0ec0-438f-b89c-3238832e5339", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-18T09:31:51.984978Z", + "iopub.status.busy": "2026-08-18T09:31:51.984851Z", + "iopub.status.idle": "2026-08-18T09:31:51.987828Z", + "shell.execute_reply": "2026-08-18T09:31:51.986890Z" + } + }, "outputs": [], "source": [ "θ, dθdt, d2θdt2 = make_forward_functions(model, derivative_order=2)" @@ -330,7 +449,14 @@ "cell_type": "code", "execution_count": 18, "id": "73226285-3122-4671-8a3e-697a506f149b", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-18T09:31:51.989506Z", + "iopub.status.busy": "2026-08-18T09:31:51.989360Z", + "iopub.status.idle": "2026-08-18T09:31:51.993555Z", + "shell.execute_reply": "2026-08-18T09:31:51.992644Z" + } + }, "outputs": [], "source": [ "def make_loss_functions(θ, dθdt, d2θdt2, q, initial_values,\n", @@ -356,7 +482,14 @@ "cell_type": "code", "execution_count": 19, "id": "f07029fb-c9e8-4f24-ae5c-7e3e18b1cfc6", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-18T09:31:51.995136Z", + "iopub.status.busy": "2026-08-18T09:31:51.995003Z", + "iopub.status.idle": "2026-08-18T09:31:51.998357Z", + "shell.execute_reply": "2026-08-18T09:31:51.997390Z" + } + }, "outputs": [], "source": [ "loss_function = make_loss_functions(θ, dθdt, d2θdt2, q, initial_values,\n", @@ -369,14 +502,21 @@ "id": "7e7309b3-ec55-4551-8342-9c9fd5603c4f", "metadata": {}, "source": [ - "The Adam optimizer is used with a learning rate of 0.01." + "PyTorch's Adam optimizer is used with a learning rate of 0.01. Derivatives with respect to time still come from `torch.func`; gradients with respect to the model parameters use the standard `backward()` workflow." ] }, { "cell_type": "code", "execution_count": 20, "id": "7080980c-db0e-4961-aa8c-ccb046254a43", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-18T09:31:51.999831Z", + "iopub.status.busy": "2026-08-18T09:31:51.999679Z", + "iopub.status.idle": "2026-08-18T09:31:52.002627Z", + "shell.execute_reply": "2026-08-18T09:31:52.001596Z" + } + }, "outputs": [], "source": [ "learning_rate = 1.0e-2" @@ -386,10 +526,17 @@ "cell_type": "code", "execution_count": 21, "id": "1a486a0b-b76d-4f82-b335-ca632ef1c930", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-18T09:31:52.004104Z", + "iopub.status.busy": "2026-08-18T09:31:52.003963Z", + "iopub.status.idle": "2026-08-18T09:31:52.908255Z", + "shell.execute_reply": "2026-08-18T09:31:52.906952Z" + } + }, "outputs": [], "source": [ - "optimizer = torchopt.FuncOptimizer(torchopt.adam(lr=learning_rate))" + "optimizer = torch.optim.Adam(model.parameters(), lr=learning_rate)" ] }, { @@ -404,7 +551,14 @@ "cell_type": "code", "execution_count": 22, "id": "fed3f76a-1cf2-4fa3-9e9c-932b1f4364e5", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-18T09:31:52.910338Z", + "iopub.status.busy": "2026-08-18T09:31:52.910037Z", + "iopub.status.idle": "2026-08-18T09:31:52.913642Z", + "shell.execute_reply": "2026-08-18T09:31:52.912365Z" + } + }, "outputs": [], "source": [ "batch_size = 50\n", @@ -417,6 +571,12 @@ "execution_count": 23, "id": "a8c0557a-698c-4241-8a05-b21cf8a971c5", "metadata": { + "execution": { + "iopub.execute_input": "2026-08-18T09:31:52.915665Z", + "iopub.status.busy": "2026-08-18T09:31:52.914923Z", + "iopub.status.idle": "2026-08-18T09:32:11.751645Z", + "shell.execute_reply": "2026-08-18T09:32:11.750434Z" + }, "scrolled": true }, "outputs": [ @@ -424,49 +584,173 @@ "name": "stdout", "output_type": "stream", "text": [ - "Epoch 1 with loss 1.4024e-01\n", - "Epoch 101 with loss 6.0150e-03\n", - "Epoch 201 with loss 5.7146e-03\n", - "Epoch 301 with loss 5.0245e-03\n", - "Epoch 401 with loss 4.4967e-03\n", - "Epoch 501 with loss 4.2435e-03\n", - "Epoch 601 with loss 4.0222e-03\n", - "Epoch 701 with loss 3.4903e-03\n", - "Epoch 801 with loss 3.3739e-03\n", - "Epoch 901 with loss 2.2528e-03\n", - "Epoch 1001 with loss 1.6255e-03\n", - "Epoch 1101 with loss 1.2264e-03\n", - "Epoch 1201 with loss 6.8257e-04\n", - "Epoch 1301 with loss 3.9798e-04\n", - "Epoch 1401 with loss 3.5392e-04\n", - "Epoch 1501 with loss 3.9757e-04\n", - "Epoch 1601 with loss 1.7708e-04\n", - "Epoch 1701 with loss 3.3246e-04\n", - "Epoch 1801 with loss 7.0709e-04\n", - "Epoch 1901 with loss 2.7778e-05\n" + "Epoch 1 with loss 5.1072e-02\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 101 with loss 6.7929e-03\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 201 with loss 6.3143e-03\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 301 with loss 5.4911e-03\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 401 with loss 5.1791e-03\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 501 with loss 4.1048e-03\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 601 with loss 3.7494e-03\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 701 with loss 5.9103e-03\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 801 with loss 4.5360e-03\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 901 with loss 3.5692e-03\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 1001 with loss 3.4571e-03\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 1101 with loss 3.7942e-03\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 1201 with loss 3.4977e-03\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 1301 with loss 2.5390e-03\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 1401 with loss 2.2144e-03\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 1501 with loss 1.9502e-03\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 1601 with loss 1.2583e-03\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 1701 with loss 7.6283e-04\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 1801 with loss 6.1161e-04\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Epoch 1901 with loss 6.3824e-04\n" ] } ], "source": [ "for epoch in range(nr_epochs):\n", - " t = torch.FloatTensor(batch_size).uniform_(*t_domain)\n", + " t = torch.empty(batch_size).uniform_(*t_domain)\n", + " optimizer.zero_grad(set_to_none=True)\n", " loss = loss_function(params, t)\n", - " if loss < loss_threshold:\n", + " loss_value = loss.item()\n", + " if loss_value < loss_threshold:\n", " break\n", - " params = optimizer.step(loss, params)\n", + " loss.backward()\n", + " optimizer.step()\n", " if epoch % 100 == 0:\n", - " print(f'Epoch {epoch + 1} with loss {float(loss.detach()):.4e}')" + " print(f'Epoch {epoch + 1} with loss {loss_value:.4e}')" ] }, { "cell_type": "code", "execution_count": 24, "id": "6db3e9f1-e7bb-4780-ada6-0a2ad32f9d39", - "metadata": {}, + "metadata": { + "execution": { + "iopub.execute_input": "2026-08-18T09:32:11.753879Z", + "iopub.status.busy": "2026-08-18T09:32:11.753688Z", + "iopub.status.idle": "2026-08-18T09:32:11.919363Z", + "shell.execute_reply": "2026-08-18T09:32:11.918007Z" + } + }, "outputs": [ { "data": { - "image/png": "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", + "image/png": "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", "text/plain": [ "
" ] @@ -508,7 +792,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.14.2" + "version": "3.14.6" } }, "nbformat": 4, From 2bda92b191aa530700d5532cdb70e2af5c747787 Mon Sep 17 00:00:00 2001 From: Geert Jan Bex Date: Tue, 18 Aug 2026 11:39:27 +0200 Subject: [PATCH 12/33] Add PowerPoint backup file to gitignore --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index 06ff167..81279bf 100644 --- a/.gitignore +++ b/.gitignore @@ -112,4 +112,7 @@ venv.bak/ # direnv configuration file .envrc + +# PowerPoint checkpoint files /~$machine_learning_with_python.pptx +/~$multi_gpu.pptx From eddddee39379e24c6c6e0216b43654d74e6b36b8 Mon Sep 17 00:00:00 2001 From: Geert Jan Bex Date: Tue, 18 Aug 2026 12:08:24 +0200 Subject: [PATCH 13/33] Move Keras environment files into source code directory --- README.md | 4 ---- source-code/keras/README.md | 4 ++++ .../keras/environment_keras.yml | 0 .../keras/environment_keras_gpu.yml | 0 4 files changed, 4 insertions(+), 4 deletions(-) rename environment_keras.yml => source-code/keras/environment_keras.yml (100%) rename environment_keras_gpu.yml => source-code/keras/environment_keras_gpu.yml (100%) diff --git a/README.md b/README.md index 95af546..81d31f6 100644 --- a/README.md +++ b/README.md @@ -16,10 +16,6 @@ For information on the training, see the website core teaching material, intended to be cross-platform. 1. [`environment_gpu.yml`](environment_gpu.yml): GPU-enabled conda environment for the instructor laptop, using its validated CUDA configuration. -1. [`environment_keras.yml`](environment_keras.yml): CPU-only Linux conda - environment for the legacy Keras examples. -1. [`environment_keras_gpu.yml`](environment_keras_gpu.yml): Linux/NVIDIA conda - environment for running the legacy Keras examples with GPU acceleration. 1. [`machine_learning_with_python_linux64_conda_specs.txt`](machine_learning_with_python_linux64_conda_specs.txt): conda environment specification file specific for 64-bit Linux to precisely reproduce the environment on which the code was developed. diff --git a/source-code/keras/README.md b/source-code/keras/README.md index ac09870..5fc108b 100644 --- a/source-code/keras/README.md +++ b/source-code/keras/README.md @@ -15,6 +15,10 @@ machine learning tasks. 1. `mnist_cnn.pbs`: example PBS script to exectute the `mnist_cnn.ipynb` notebook in batch as a job. 1. `Flatland`: machine learning adventures in Flatland. +1. [`environment_keras.yml`](environment_keras.yml): CPU-only Linux conda + environment for the legacy Keras examples. +1. [`environment_keras_gpu.yml`](environment_keras_gpu.yml): Linux/NVIDIA conda + environment for running the legacy Keras examples with GPU acceleration. ## References Excellent [tutorial](https://github.com/leriomaggio/deep-learning-keras-tensorflow). diff --git a/environment_keras.yml b/source-code/keras/environment_keras.yml similarity index 100% rename from environment_keras.yml rename to source-code/keras/environment_keras.yml diff --git a/environment_keras_gpu.yml b/source-code/keras/environment_keras_gpu.yml similarity index 100% rename from environment_keras_gpu.yml rename to source-code/keras/environment_keras_gpu.yml From 98c5d2f9a06f074519fb6629cd7ccea721900dd7 Mon Sep 17 00:00:00 2001 From: Geert Jan Bex Date: Tue, 18 Aug 2026 13:30:17 +0200 Subject: [PATCH 14/33] Add ipywidget to environment --- environment.yml | 1 + environment_gpu.yml | 1 + 2 files changed, 2 insertions(+) diff --git a/environment.yml b/environment.yml index f8aae7f..fbbe22f 100644 --- a/environment.yml +++ b/environment.yml @@ -21,5 +21,6 @@ dependencies: # Notebook and visualization stack used by the core teaching material. - jupyterlab + - ipywidgets - matplotlib - bokeh diff --git a/environment_gpu.yml b/environment_gpu.yml index f0dfb37..a0c0d38 100644 --- a/environment_gpu.yml +++ b/environment_gpu.yml @@ -22,5 +22,6 @@ dependencies: # Notebook and visualization stack used by the core teaching material. - jupyterlab + - ipywidgets - matplotlib - bokeh From 26af60f633994350015ea5368591c18267e25477 Mon Sep 17 00:00:00 2001 From: Geert Jan Bex Date: Tue, 18 Aug 2026 13:31:16 +0200 Subject: [PATCH 15/33] Evaluate notebooks --- .../parameter-optimization/experiments.ipynb | 196 ++++++++-- source-code/pinns/logistic_de.ipynb | 171 +-------- source-code/pinns/pendulum.ipynb | 359 ++---------------- 3 files changed, 230 insertions(+), 496 deletions(-) diff --git a/source-code/parameter-optimization/experiments.ipynb b/source-code/parameter-optimization/experiments.ipynb index 00ccc6c..ef69282 100644 --- a/source-code/parameter-optimization/experiments.ipynb +++ b/source-code/parameter-optimization/experiments.ipynb @@ -43,10 +43,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "imports", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "NumPy 2.5.2; Optuna 4.9.0\n" + ] + } + ], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", @@ -68,7 +76,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "quadratic-function", "metadata": {}, "outputs": [], @@ -95,10 +103,20 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "id": "run-minimal-study", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Best observed value: 1.02625\n", + "Best observed parameters: {'x': 1.1034167295957777, 'y': -3.4715771380493887}\n", + "Known optimum: x=2, y=-3, value=0\n" + ] + } + ], "source": [ "quadratic_study = optuna.create_study(\n", " direction=\"minimize\",\n", @@ -121,10 +139,45 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "id": "trial-history", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "[{'number': 31,\n", + " 'value': 1.026246557899583,\n", + " 'x': 1.1034167295957777,\n", + " 'y': -3.4715771380493887,\n", + " 'state': 'COMPLETE'},\n", + " {'number': 23,\n", + " 'value': 2.024211801609553,\n", + " 'x': 0.5777505322469563,\n", + " 'y': -3.0376597010840083,\n", + " 'state': 'COMPLETE'},\n", + " {'number': 18,\n", + " 'value': 2.636132474515999,\n", + " 'x': 0.768842970504853,\n", + " 'y': -1.9415176698495697,\n", + " 'state': 'COMPLETE'},\n", + " {'number': 33,\n", + " 'value': 3.7605811197154817,\n", + " 'x': 1.3696266132917447,\n", + " 'y': -1.166094191882951,\n", + " 'state': 'COMPLETE'},\n", + " {'number': 35,\n", + " 'value': 4.049780962232426,\n", + " 'x': 1.4639167806599174,\n", + " 'y': -1.060310400044791,\n", + " 'state': 'COMPLETE'}]" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "def trial_record(trial):\n", " return {\n", @@ -160,7 +213,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "id": "two-basin-definition", "metadata": {}, "outputs": [], @@ -191,10 +244,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "id": "show-two-basin-landscape", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAeYAAAGICAYAAACUbUPlAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjExLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvctoD+AAAAAlwSFlzAAAPYQAAD2EBqD+naQAAYMBJREFUeJztnQnYTeX6/29z6mQsM5mikmSoKGQ6xpAGKaUklRzNAyJDA03SPJGQMkRHHXEOmiNpVhQS3kgkQ4OM+399n35r/9e7rL33Gvca9vdzXft697v2Gp699lrPd93Dcz8FEolEQgghhBASCgoG3QBCCCGE/H8ozIQQQkiIoDATQgghIYLCTAghhIQICjMhhBASIijMhBBCSIigMBNCCCEhgsJMCCGEhIicFeYff/xRJkyYID/99JNEga+++kq1d9++fWnXW7p0qUydOjVr7XLbjnfeeUdeeeUVyTZhOU9+Xw/Ef37++Wf1W6BPsUteXp7aFvvIdnv8OLbf5ytnSESc/fv3JyZMmJCYOHFi4uDBg5a3mz9/PiqeJd5+++1EFBgzZoxq744dO9KuN3DgwETJkiWz1i637ejdu3eicuXKiWwTlvPk9/VA/Of9999XvwX6FLu88cYbalvsI9vt8ePYfp+vXKGwRJzXX39drrrqKvW+YsWK0qlTp6CbRCLAmWeeKQUL5qzDiJDAqFChgvTr10+qVq3KXyEFkRdmuEQaNGggf/31l3pPYSZWuOSSS9SLEJJdateurfpqElNhRozkv//9rzz11FOyZ88eue2221T8onz58rb2s3//flm8eLFs375dmjRpInXr1s33OWIhCxYskC5duki5cuVUXHTjxo1y3nnnScmSJdU63333nXz++ecIDcipp54qJ554Yr59fPHFF/LJJ5+o9wUKFJASJUpI48aNpWbNmqZtWrJkiaxbt05q1aolzZo1Ey/I1EaNrVu3ykcffSS///671KtXTz34OP0edkC8//3335eiRYtK69atk+fWybFxHWDd3bt3q3OI9QoVKpQvxrx27Vq57LLLksvwu6INF198sfzyyy/y9ttvq23QltKlS2dsv9X2OTmO0+vBze9lp51Ov/u7774rhQsXlu7du6uYP9Y/66yzZOXKlepaxTXaqFEjte2OHTvkgw8+UH+rVaum1itSpIj6bO/evWr7pk2bysknn5w8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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "fig, ax = plt.subplots(figsize=(5, 4))\n", "image = plot_landscape(ax, title=\"A broad local basin and a narrow global basin\")\n", @@ -216,7 +280,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "id": "search-experiment-functions", "metadata": {}, "outputs": [], @@ -249,7 +313,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "id": "run-search-experiment", "metadata": {}, "outputs": [], @@ -271,10 +335,19 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "id": "summarize-search-experiment", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Random {'runs': 20, 'global-basin hits': 1, 'hit rate': 0.05, 'median best value': 3.06324447156503, 'best observed value': 0.1119235414416}\n", + "TPE {'runs': 20, 'global-basin hits': 0, 'hit rate': 0.0, 'median best value': 3.010889234960509, 'best observed value': 3.00012710147129}\n" + ] + } + ], "source": [ "def summarize_runs(runs):\n", " best_values = np.array([run[\"best_value\"] for run in runs])\n", @@ -294,10 +367,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "id": "plot-search-experiment", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABV8AAAGbCAYAAADTFeChAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjExLjEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvctoD+AAAAAlwSFlzAAAPYQAAD2EBqD+naQAA8QhJREFUeJzsnQeY3NTVhs+UrfZ61713Y2ObYqqN6S1gqmmhmG4T4A8JPdQQWmgh9JbQWyAhhN5MD705dIML7t1e79reOu1/vrto0Y6nSBpJI8187z7zzI5GXZp7dL577jmBRCKREEIIIYQQQgghhBBCCCG2ErR3dYQQQgghhBBCCCGEEEIovhJCCCGEEEIIIYQQQohDMPKVEEIIIYQQQgghhBBCHIDiKyGEEEIIIYQQQgghhDgAxVdCCCGEEEIIIYQQQghxAIqvhBBCCCGEEEIIIYQQ4gAUXwkhhBBCCCGEEEIIIcQBKL4SQgghhBBCCCGEEEKIA1B8Jb7lhRdekMMPP1zWr1/fPu2hhx6S4447Torx2Ik9FMs9VKzHSwixxqmnnip33nmnq6fvq6++kvPOO0+OPPJIOf/8813dth/47LPP1LPA7NmzpdD417/+pY4tEonke1cIIcQzfPPNN6pt/O6771zbZiKRkEceeUR+85vfqG2/9NJLrm3bL9xwww1y5pln5ns3iMcJ53sHiP8fjvECd999t/Ts2XOjeS666CLlGAwaNEhuuukm27b9448/ytNPPy333HOPVFVVqWlffvmlPPPMM1LopDr2dESjUXnrrbfkP//5j6xevVrOPvts2XHHHdPOD4P64osvyoYNG2Ts2LEybdo06dGjR877DKH44Ycfls8//1x93nbbbeWkk06STp06Wd4PPAw8+OCD8sEHH8iwYcOU0evcuXOHedasWSO//e1v5fLLL5dNN900637meg/9/e9/V/uDY/UDxfKbISRXzjnnHFm4cGH755KSEunXr5/ssssuctBBB0kgEHDsJJ988smy/fbby2mnnSb5Am1yS0uLa8fw7bffKjuB5Q477DDp1q2b5W0XKkuWLFHPAhCoN9lkE9PLz58/Xy2rEQwGpaamRrbeems55phjpEuXLpIvvv/+e3VssVhM/dYIIQT89NNP8oc//KHDyYAvNHjwYNVujRw50rET9cUXX8i1114rV199tSGfwglWrFih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9vXstttuiX79+iXWrVvXPs/ixYsT3bp1U9tetWpV+/Qzzzwz0alTp6z7XVtbm6isrExce+217dNOOOGERGlpaeKaa67pMO/ee++dGDp0qMkzY892zBx7Np566im1zBNPPLHRd7FYTH2Ha5LM//73P/Wd/hjMgHXjOu+4444bfbfffvupdd99992m9yMSiahzc91116nPn3zySSIQCCS+/vrrxAcffKDug9mzZyfmz5+fuOCCCxK/+c1vEi+//HLW/U11D5m5Zqeeeqo63lQYvee17eE3pdHU1KTe8TvafvvtOyy/fPnyRDgcVsdp9n40+pshpNjBb6+qqipx2GGHqdeBBx6YGD58uHq98sorHeZdu3ZtomvXrolJkyYl4vF4h+k9evRI/N///Z/6fOutt6p2S9/GgxUrVqj2UKN79+6JqVOnGt5X/KbxW0e7qYH2Zdy4cYlNNtmkfd1Lly5NlJWVqePR8+qrr6r2VmtfQf/+/VXblLydzp07J7799tv2aStXrlTrPP/88zvMa/YY0C5im6mOraKiosOxoX287bbb1D4/88wzHeY/9thjEyUlJeo5BeB7zLfnnnsmotFo+3wnnXRSok+fPupc6KdPmzYtUVNTk2hubs64v48//rha76OPPtphOmwupn/44YcZl8e9Mn78+PbPDz/8sFruvvvu6zAf7ifcH/pjwbMCbKLGnXfeqaZ/+eWXGbep2dWrrrqqw/RLL71UTcd6sqHZn9tvv719Gs5heXl54pZbbukw7w477ND+XKix7bbbqt9QY2Nj+7Q5c+YkunTpovZBs30Atq9v376J+vr69mmrV69W9xbOgX77uAfvuOOO9mkNDQ3K/m633XaJm2++uX061o/f6imnnJL1WLX1Xn/99R2WB7h2u+6660bLXHLJJeo49NfHzPkhhHTks88+U7+pzTbbrN0e77XXXsoW4f9ly5Z1mF9rS5P9H7TVmA7/AWy11VaJww8/fKPTrV/fCy+8oJZ57733TPleaBv0bQC2ielXXnll+7SbbrpJTcM29Bx11FHKJ1iwYIH6/Prrr6v53n777Y22g/Ogt194xsB0vY02ewxo4zA/2rJUx7bzzju3HxvsU0tLS2LrrbdWfo3+2QbPBmhrsY8aBx98sGoLNT8QrF+/Xj1rwTbo7QracNiF008/Pes+wz/r1auXsg969t1338Sm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WD+axkFvMbPVjydlENzo373neC5koxdd9dgSahe6PG1jOrB27L+0b2rWrBnBLQ/p3S56l4EjnbGj5wV6qzSurn3qRVm9+Kr0p/Zp9GHwpO0sXrzY3nb04rM+p+143n9q3en4mONYZnrxR8dwjufYOsbTux1oY57T2IvtO+p4zqaqV6/uxSfBkV781cmGju1TUzpoXMer9unF4l8hQ1dY15XLdPXGBQsWWIMHD7YiIyOtVatWBXrXgmYl+rCwMOuNN96w1q1bZ3/s3LnTXubs2bPWddddZ7Vs2dJauHChNXDgQFOHa9eutULd5cuXzSp606dPT/f62LFjrdjYWLM67dy5c83KyK1bt7ZCUXJyslWtWjWrffv21meffWZNmTLFKlGiRLrVy0+cOGGVKVPGuuuuu6xFixaZlQZ1hVZd2THUpKSkWDfddJNVq1Yt03YWL15s2k7hwoWtAwcOpPvuxsfHW++88441a9Ysq2LFimY16VDw448/muPUkCFDrIiICPtx68yZM/Yyw4cPtwoUKGBNmjTJmjlzplWuXDnrvvvuS/c5npRBYOhKpLa/qx4/2rVrZ37//vvv7WXo372nfZOuNDxjxgzr008/Ncdh7c+nTp3q079fXnHs2DGrVKlSVtu2bU3f1Lt3bysmJsbavHlzoHct1zh9+rRVo0YN680337Q+//xza+LEiVbp0qWthg0bmnMoOJeUlGQ/BsbFxVlPPfWU+T0xMdFeZt++fWbF5vvvv9+0z27dupk+TVd4RujScyFb28mXL58Zt+nveu5k89NPP5m20r17d9N29NxH29Kvv/4a0H0PZj169DDjk3nz5pmHjlmuueYa69tvvw30rgUl7Se1v+zbt69pY3fffbfpT7VfhWc2bNhgNWjQwJo8ebK1bNkyM/bT/uDxxx+nCt04fPiwOebNnj3bxGneffdd8/z333+3l1m+fLk5/33++edNjLBRo0YmXqNxC0+F6X88D9WGDr26PmLECHOlXWd29OrVy34LdKjTunCWWFhn1r3++uv253orrtbh9u3bzXR3vSVay4Q6vW25UaNG8sILL5ik6xlTEcyaNctctdIy/fv3D7mZwo6JrUeNGiWbNm0ys11bt25t8g463hanMz21jWluyFKlSknfvn1D9nYKvfo2fvx4+e6778yVYs0zpTkZM6ZKmT59unz88cdmVpGm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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "def plot_progress(ax, runs, label):\n", " histories = np.vstack([run[\"best_so_far\"] for run in runs])\n", @@ -356,10 +440,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "id": "prepare-ml-data", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "train=144, validation=48, test=48\n" + ] + } + ], "source": [ "data_rng = np.random.default_rng(2025)\n", "features = np.linspace(-1.0, 1.0, 240)\n", @@ -394,7 +486,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "id": "validation-objective", "metadata": {}, "outputs": [], @@ -435,10 +527,19 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 13, "id": "run-hyperparameter-study", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Best validation RMSE: 0.374\n", + "Selected hyperparameters: {'degree': 5, 'regularization': 4.660416628589115e-05}\n" + ] + } + ], "source": [ "model_study = optuna.create_study(\n", " direction=\"minimize\",\n", @@ -452,10 +553,45 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 14, "id": "inspect-model-study", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "[{'number': 27,\n", + " 'value': 0.3740798647846128,\n", + " 'degree': 5,\n", + " 'regularization': 4.660416628589115e-05,\n", + " 'state': 'COMPLETE'},\n", + " {'number': 17,\n", + " 'value': 0.37408043705649047,\n", + " 'degree': 5,\n", + " 'regularization': 3.965750537819765e-05,\n", + " 'state': 'COMPLETE'},\n", + " {'number': 31,\n", + " 'value': 0.37408299940803746,\n", + " 'degree': 5,\n", + " 'regularization': 9.019760617729943e-06,\n", + " 'state': 'COMPLETE'},\n", + " {'number': 32,\n", + " 'value': 0.3740830376869889,\n", + " 'degree': 5,\n", + " 'regularization': 8.567670844549773e-06,\n", + " 'state': 'COMPLETE'},\n", + " {'number': 23,\n", + " 'value': 0.3740832297900218,\n", + " 'degree': 5,\n", + " 'regularization': 6.301286512517622e-06,\n", + " 'state': 'COMPLETE'}]" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "model_trials = [trial_record(trial) for trial in model_study.trials]\n", "sorted(model_trials, key=lambda record: record[\"value\"])[:5]" @@ -473,10 +609,18 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 15, "id": "evaluate-test-data", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Final test RMSE: 0.309\n" + ] + } + ], "source": [ "final_features = np.concatenate((train_features, validation_features))\n", "final_targets = np.concatenate((train_targets, validation_targets))\n", @@ -555,7 +699,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.13.5" + "version": "3.14.6" } }, "nbformat": 4, diff --git a/source-code/pinns/logistic_de.ipynb b/source-code/pinns/logistic_de.ipynb index f19bac5..19c9350 100644 --- a/source-code/pinns/logistic_de.ipynb +++ b/source-code/pinns/logistic_de.ipynb @@ -12,19 +12,12 @@ "cell_type": "code", "execution_count": 1, "id": "420984ea-3335-42a0-858e-0a1d4435e157", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-18T09:31:43.296396Z", - "iopub.status.busy": "2026-08-18T09:31:43.296230Z", - "iopub.status.idle": "2026-08-18T09:31:46.273702Z", - "shell.execute_reply": "2026-08-18T09:31:46.272616Z" - } - }, + "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, "execution_count": 1, @@ -92,14 +85,7 @@ "cell_type": "code", "execution_count": 2, "id": "e234203f-9d86-4462-8670-aa7ba4d6953e", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-18T09:31:46.275499Z", - "iopub.status.busy": "2026-08-18T09:31:46.275270Z", - "iopub.status.idle": "2026-08-18T09:31:46.279327Z", - "shell.execute_reply": "2026-08-18T09:31:46.278536Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "class PINN(torch.nn.Module):\n", @@ -125,14 +111,7 @@ "cell_type": "code", "execution_count": 3, "id": "02ace898-0448-425b-87a0-4b4937bf3cbc", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-18T09:31:46.280766Z", - "iopub.status.busy": "2026-08-18T09:31:46.280637Z", - "iopub.status.idle": "2026-08-18T09:31:46.283465Z", - "shell.execute_reply": "2026-08-18T09:31:46.282563Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "nr_inputs, nr_neurons, nr_layers = 1, 5, 5" @@ -142,14 +121,7 @@ "cell_type": "code", "execution_count": 4, "id": "ec1ef716-9fe6-4dff-a71c-585c4bc4f713", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-18T09:31:46.284907Z", - "iopub.status.busy": "2026-08-18T09:31:46.284751Z", - "iopub.status.idle": "2026-08-18T09:31:46.289157Z", - "shell.execute_reply": "2026-08-18T09:31:46.288108Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "model = PINN(nr_inputs=nr_inputs, nr_neurons=nr_neurons, nr_layers=nr_layers)" @@ -198,14 +170,7 @@ "cell_type": "code", "execution_count": 5, "id": "15acb49f-c285-4b57-be15-98d0f97556ac", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-18T09:31:46.290800Z", - "iopub.status.busy": "2026-08-18T09:31:46.290659Z", - "iopub.status.idle": "2026-08-18T09:31:46.294140Z", - "shell.execute_reply": "2026-08-18T09:31:46.293118Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "def tuple_to_dict_parameters(model, params):\n", @@ -226,14 +191,7 @@ "cell_type": "code", "execution_count": 6, "id": "40ec2dc8-457e-4eff-92f1-8dd5b726f21f", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-18T09:31:46.295633Z", - "iopub.status.busy": "2026-08-18T09:31:46.295488Z", - "iopub.status.idle": "2026-08-18T09:31:46.298965Z", - "shell.execute_reply": "2026-08-18T09:31:46.298108Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "def make_forward_functions(model, derivative_order=1):\n", @@ -258,14 +216,7 @@ "cell_type": "code", "execution_count": 7, "id": "419a77ff-3920-4b5a-8121-2c0411ce1137", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-18T09:31:46.300310Z", - "iopub.status.busy": "2026-08-18T09:31:46.300189Z", - "iopub.status.idle": "2026-08-18T09:31:46.302951Z", - "shell.execute_reply": "2026-08-18T09:31:46.302105Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "f, dfdx = make_forward_functions(model, derivative_order=1)" @@ -283,14 +234,7 @@ "cell_type": "code", "execution_count": 8, "id": "451d07ba-fdea-4e1f-b71c-d308498a3bf3", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-18T09:31:46.304456Z", - "iopub.status.busy": "2026-08-18T09:31:46.304321Z", - "iopub.status.idle": "2026-08-18T09:31:46.307750Z", - "shell.execute_reply": "2026-08-18T09:31:46.306931Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "def make_loss_functions(f, dfdx, R, initial_values):\n", @@ -310,14 +254,7 @@ "cell_type": "code", "execution_count": 9, "id": "ec7e86a2-7ac3-4fee-8e0f-ce2675f6b85f", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-18T09:31:46.309078Z", - "iopub.status.busy": "2026-08-18T09:31:46.308949Z", - "iopub.status.idle": "2026-08-18T09:31:46.311606Z", - "shell.execute_reply": "2026-08-18T09:31:46.310785Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "R, initial_values = 1.0, (0.0, 0.5)" @@ -327,14 +264,7 @@ "cell_type": "code", "execution_count": 10, "id": "001e4bb7-a52c-43d4-9384-f5ec8a7b9cba", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-18T09:31:46.312933Z", - "iopub.status.busy": "2026-08-18T09:31:46.312776Z", - "iopub.status.idle": "2026-08-18T09:31:46.315456Z", - "shell.execute_reply": "2026-08-18T09:31:46.314598Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "loss_function = make_loss_functions(f, dfdx, R, initial_values)" @@ -360,14 +290,7 @@ "cell_type": "code", "execution_count": 11, "id": "16ed67e1-8f71-4273-b91e-a5f0754d22a7", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-18T09:31:46.317210Z", - "iopub.status.busy": "2026-08-18T09:31:46.317034Z", - "iopub.status.idle": "2026-08-18T09:31:46.320149Z", - "shell.execute_reply": "2026-08-18T09:31:46.319037Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "learning_rate = 1.0e-1" @@ -377,14 +300,7 @@ "cell_type": "code", "execution_count": 12, "id": "e7dc6d64-42ac-4ff1-bb1a-b1fdd523c36b", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-18T09:31:46.322167Z", - "iopub.status.busy": "2026-08-18T09:31:46.321960Z", - "iopub.status.idle": "2026-08-18T09:31:47.202285Z", - "shell.execute_reply": "2026-08-18T09:31:47.200911Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "optimizer = torch.optim.Adam(model.parameters(), lr=learning_rate)" @@ -402,14 +318,7 @@ "cell_type": "code", "execution_count": 13, "id": "c1846827-0111-4533-91f4-317245f10cf3", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-18T09:31:47.204565Z", - "iopub.status.busy": "2026-08-18T09:31:47.204167Z", - "iopub.status.idle": "2026-08-18T09:31:47.207855Z", - "shell.execute_reply": "2026-08-18T09:31:47.206674Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "params = tuple(model.parameters())" @@ -419,14 +328,7 @@ "cell_type": "code", "execution_count": 14, "id": "2c661202-c375-4c75-9ae8-1018a90ced63", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-18T09:31:47.209518Z", - "iopub.status.busy": "2026-08-18T09:31:47.209345Z", - "iopub.status.idle": "2026-08-18T09:31:47.212610Z", - "shell.execute_reply": "2026-08-18T09:31:47.211514Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "batch_size = 50\n", @@ -439,35 +341,16 @@ "cell_type": "code", "execution_count": 15, "id": "73d5134a-20ad-4247-b6a1-5180b3ee785b", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-18T09:31:47.214256Z", - "iopub.status.busy": "2026-08-18T09:31:47.214110Z", - "iopub.status.idle": "2026-08-18T09:31:47.925926Z", - "shell.execute_reply": "2026-08-18T09:31:47.924527Z" - } - }, + "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ - "Epoch 1 with loss 6.89677e-01\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "Epoch 1 with loss 6.89677e-01\n", "Epoch 26 with loss 3.64968e-02\n", "Epoch 51 with loss 5.85542e-03\n", - "Epoch 76 with loss 3.83922e-04\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "Epoch 76 with loss 3.83922e-04\n", "Epoch 101 with loss 6.83883e-05\n", "Epoch 126 with loss 3.58403e-05\n", "Epoch 151 with loss 1.32103e-05\n", @@ -503,14 +386,7 @@ "cell_type": "code", "execution_count": 16, "id": "3884aaa0-b27b-4773-97a3-499eb2f7b929", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-18T09:31:47.929110Z", - "iopub.status.busy": "2026-08-18T09:31:47.928815Z", - "iopub.status.idle": "2026-08-18T09:31:48.128863Z", - "shell.execute_reply": "2026-08-18T09:31:48.127259Z" - } - }, + "metadata": {}, "outputs": [ { "data": { @@ -554,14 +430,7 @@ "cell_type": "code", "execution_count": 17, "id": "791d50a5-2b55-4ae9-ae03-e08412614059", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-18T09:31:48.131962Z", - "iopub.status.busy": "2026-08-18T09:31:48.131737Z", - "iopub.status.idle": "2026-08-18T09:31:48.344350Z", - "shell.execute_reply": "2026-08-18T09:31:48.343057Z" - } - }, + "metadata": {}, "outputs": [ { "data": { diff --git a/source-code/pinns/pendulum.ipynb b/source-code/pinns/pendulum.ipynb index 28fb9ff..575208f 100644 --- a/source-code/pinns/pendulum.ipynb +++ b/source-code/pinns/pendulum.ipynb @@ -4,14 +4,7 @@ "cell_type": "code", "execution_count": 1, "id": "05b37d12-6c07-4063-8ee6-5e1d940364e9", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-18T09:31:50.177861Z", - "iopub.status.busy": "2026-08-18T09:31:50.177520Z", - "iopub.status.idle": "2026-08-18T09:31:51.467939Z", - "shell.execute_reply": "2026-08-18T09:31:51.466842Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "from collections import OrderedDict\n", @@ -51,14 +44,7 @@ "cell_type": "code", "execution_count": 2, "id": "889edc73-7ecd-43d0-a76a-f91a8f635adb", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-18T09:31:51.469684Z", - "iopub.status.busy": "2026-08-18T09:31:51.469445Z", - "iopub.status.idle": "2026-08-18T09:31:51.472601Z", - "shell.execute_reply": "2026-08-18T09:31:51.471550Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "t_0, θ_0, ω_0 = 0.0, 0.2, 0.0\n", @@ -70,14 +56,7 @@ "cell_type": "code", "execution_count": 3, "id": "dead3243-99ad-48c1-8f1d-8cfd47d1a051", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-18T09:31:51.474484Z", - "iopub.status.busy": "2026-08-18T09:31:51.474337Z", - "iopub.status.idle": "2026-08-18T09:31:51.478189Z", - "shell.execute_reply": "2026-08-18T09:31:51.477056Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "def rhs(t, x, q):\n", @@ -92,14 +71,7 @@ "cell_type": "code", "execution_count": 4, "id": "9076a5cc-be8a-4f65-a45e-22aaa2bbafd5", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-18T09:31:51.479792Z", - "iopub.status.busy": "2026-08-18T09:31:51.479651Z", - "iopub.status.idle": "2026-08-18T09:31:51.482768Z", - "shell.execute_reply": "2026-08-18T09:31:51.481841Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "def jac(t, x, q):\n", @@ -114,14 +86,7 @@ "cell_type": "code", "execution_count": 5, "id": "aa9cd424-ea8c-401a-a421-7b2b4b5dbd7d", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-18T09:31:51.484335Z", - "iopub.status.busy": "2026-08-18T09:31:51.484183Z", - "iopub.status.idle": "2026-08-18T09:31:51.680171Z", - "shell.execute_reply": "2026-08-18T09:31:51.679038Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "ode = scipy.integrate.ode(rhs, jac) \\\n", @@ -135,14 +100,7 @@ "cell_type": "code", "execution_count": 6, "id": "5211d099-190c-49ad-8b13-7c207ea519fc", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-18T09:31:51.682644Z", - "iopub.status.busy": "2026-08-18T09:31:51.682480Z", - "iopub.status.idle": "2026-08-18T09:31:51.711030Z", - "shell.execute_reply": "2026-08-18T09:31:51.709943Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "t_domain = t_0, 20.0\n", @@ -158,14 +116,7 @@ "cell_type": "code", "execution_count": 7, "id": "72b705cd-0587-4153-99b5-4a58d9d3dcc7", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-18T09:31:51.712959Z", - "iopub.status.busy": "2026-08-18T09:31:51.712715Z", - "iopub.status.idle": "2026-08-18T09:31:51.717662Z", - "shell.execute_reply": "2026-08-18T09:31:51.716852Z" - } - }, + "metadata": {}, "outputs": [ { "data": { @@ -187,12 +138,6 @@ "execution_count": 8, "id": "951057b1-9fcf-408e-85a1-bbbae1d196cf", "metadata": { - "execution": { - "iopub.execute_input": "2026-08-18T09:31:51.719852Z", - "iopub.status.busy": "2026-08-18T09:31:51.719698Z", - "iopub.status.idle": "2026-08-18T09:31:51.838866Z", - "shell.execute_reply": "2026-08-18T09:31:51.837966Z" - }, "scrolled": true }, "outputs": [ @@ -215,14 +160,7 @@ "cell_type": "code", "execution_count": 9, "id": "36709679-3bf8-4113-a023-4fe0aa3ad639", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-18T09:31:51.841306Z", - "iopub.status.busy": "2026-08-18T09:31:51.841142Z", - "iopub.status.idle": "2026-08-18T09:31:51.844588Z", - "shell.execute_reply": "2026-08-18T09:31:51.843655Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "sample_indices = data_rng.choice(len(θ_values), 100)\n", @@ -235,12 +173,6 @@ "execution_count": 10, "id": "a14750f6-e0d7-47df-9d19-ae711d2e7af3", "metadata": { - "execution": { - "iopub.execute_input": "2026-08-18T09:31:51.846427Z", - "iopub.status.busy": "2026-08-18T09:31:51.846277Z", - "iopub.status.idle": "2026-08-18T09:31:51.952149Z", - "shell.execute_reply": "2026-08-18T09:31:51.951034Z" - }, "scrolled": true }, "outputs": [ @@ -272,14 +204,7 @@ "cell_type": "code", "execution_count": 11, "id": "24b8c1a1-f528-43b6-bad8-e1c8ba3e438c", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-18T09:31:51.954073Z", - "iopub.status.busy": "2026-08-18T09:31:51.953887Z", - "iopub.status.idle": "2026-08-18T09:31:51.958792Z", - "shell.execute_reply": "2026-08-18T09:31:51.957658Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "class PINN(torch.nn.Module):\n", @@ -306,14 +231,7 @@ "cell_type": "code", "execution_count": 12, "id": "74559e8a-0821-43a7-8508-1ede06cdd44a", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-18T09:31:51.960536Z", - "iopub.status.busy": "2026-08-18T09:31:51.960332Z", - "iopub.status.idle": "2026-08-18T09:31:51.963435Z", - "shell.execute_reply": "2026-08-18T09:31:51.962469Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "nr_inputs, nr_neurons, nr_layers = 1, 20, 5" @@ -323,14 +241,7 @@ "cell_type": "code", "execution_count": 13, "id": "47c0f781-387a-46e4-a44a-3f2e05fc8f35", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-18T09:31:51.964939Z", - "iopub.status.busy": "2026-08-18T09:31:51.964757Z", - "iopub.status.idle": "2026-08-18T09:31:51.969157Z", - "shell.execute_reply": "2026-08-18T09:31:51.968213Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "model = PINN(nr_inputs=nr_inputs, nr_neurons=nr_neurons, nr_layers=nr_layers)" @@ -348,14 +259,7 @@ "cell_type": "code", "execution_count": 14, "id": "33e5c147-f1b9-4272-882e-24407c611d47", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-18T09:31:51.970594Z", - "iopub.status.busy": "2026-08-18T09:31:51.970440Z", - "iopub.status.idle": "2026-08-18T09:31:51.973463Z", - "shell.execute_reply": "2026-08-18T09:31:51.972485Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "params = tuple(model.parameters())" @@ -365,14 +269,7 @@ "cell_type": "code", "execution_count": 15, "id": "ea7881d3-433c-4488-96ca-ed839c75b9a6", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-18T09:31:51.974885Z", - "iopub.status.busy": "2026-08-18T09:31:51.974755Z", - "iopub.status.idle": "2026-08-18T09:31:51.977730Z", - "shell.execute_reply": "2026-08-18T09:31:51.976841Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "def tuple_to_dict_parameters(model, params):\n", @@ -393,14 +290,7 @@ "cell_type": "code", "execution_count": 16, "id": "c426cb1f-4bd0-4788-93ef-8762f46973d3", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-18T09:31:51.979305Z", - "iopub.status.busy": "2026-08-18T09:31:51.979130Z", - "iopub.status.idle": "2026-08-18T09:31:51.983256Z", - "shell.execute_reply": "2026-08-18T09:31:51.982385Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "def make_forward_functions(model, derivative_order=1):\n", @@ -424,14 +314,7 @@ "cell_type": "code", "execution_count": 17, "id": "ff3d56c7-0ec0-438f-b89c-3238832e5339", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-18T09:31:51.984978Z", - "iopub.status.busy": "2026-08-18T09:31:51.984851Z", - "iopub.status.idle": "2026-08-18T09:31:51.987828Z", - "shell.execute_reply": "2026-08-18T09:31:51.986890Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "θ, dθdt, d2θdt2 = make_forward_functions(model, derivative_order=2)" @@ -449,14 +332,7 @@ "cell_type": "code", "execution_count": 18, "id": "73226285-3122-4671-8a3e-697a506f149b", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-18T09:31:51.989506Z", - "iopub.status.busy": "2026-08-18T09:31:51.989360Z", - "iopub.status.idle": "2026-08-18T09:31:51.993555Z", - "shell.execute_reply": "2026-08-18T09:31:51.992644Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "def make_loss_functions(θ, dθdt, d2θdt2, q, initial_values,\n", @@ -482,14 +358,7 @@ "cell_type": "code", "execution_count": 19, "id": "f07029fb-c9e8-4f24-ae5c-7e3e18b1cfc6", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-18T09:31:51.995136Z", - "iopub.status.busy": "2026-08-18T09:31:51.995003Z", - "iopub.status.idle": "2026-08-18T09:31:51.998357Z", - "shell.execute_reply": "2026-08-18T09:31:51.997390Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "loss_function = make_loss_functions(θ, dθdt, d2θdt2, q, initial_values,\n", @@ -509,14 +378,7 @@ "cell_type": "code", "execution_count": 20, "id": "7080980c-db0e-4961-aa8c-ccb046254a43", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-18T09:31:51.999831Z", - "iopub.status.busy": "2026-08-18T09:31:51.999679Z", - "iopub.status.idle": "2026-08-18T09:31:52.002627Z", - "shell.execute_reply": "2026-08-18T09:31:52.001596Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "learning_rate = 1.0e-2" @@ -526,14 +388,7 @@ "cell_type": "code", "execution_count": 21, "id": "1a486a0b-b76d-4f82-b335-ca632ef1c930", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-18T09:31:52.004104Z", - "iopub.status.busy": "2026-08-18T09:31:52.003963Z", - "iopub.status.idle": "2026-08-18T09:31:52.908255Z", - "shell.execute_reply": "2026-08-18T09:31:52.906952Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "optimizer = torch.optim.Adam(model.parameters(), lr=learning_rate)" @@ -551,14 +406,7 @@ "cell_type": "code", "execution_count": 22, "id": "fed3f76a-1cf2-4fa3-9e9c-932b1f4364e5", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-18T09:31:52.910338Z", - "iopub.status.busy": "2026-08-18T09:31:52.910037Z", - "iopub.status.idle": "2026-08-18T09:31:52.913642Z", - "shell.execute_reply": "2026-08-18T09:31:52.912365Z" - } - }, + "metadata": {}, "outputs": [], "source": [ "batch_size = 50\n", @@ -571,12 +419,6 @@ "execution_count": 23, "id": "a8c0557a-698c-4241-8a05-b21cf8a971c5", "metadata": { - "execution": { - "iopub.execute_input": "2026-08-18T09:31:52.915665Z", - "iopub.status.busy": "2026-08-18T09:31:52.914923Z", - "iopub.status.idle": "2026-08-18T09:32:11.751645Z", - "shell.execute_reply": "2026-08-18T09:32:11.750434Z" - }, "scrolled": true }, "outputs": [ @@ -584,139 +426,25 @@ "name": "stdout", "output_type": "stream", "text": [ - "Epoch 1 with loss 5.1072e-02\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Epoch 101 with loss 6.7929e-03\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Epoch 201 with loss 6.3143e-03\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Epoch 301 with loss 5.4911e-03\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Epoch 401 with loss 5.1791e-03\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Epoch 501 with loss 4.1048e-03\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Epoch 601 with loss 3.7494e-03\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Epoch 701 with loss 5.9103e-03\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Epoch 801 with loss 4.5360e-03\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Epoch 901 with loss 3.5692e-03\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Epoch 1001 with loss 3.4571e-03\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Epoch 1101 with loss 3.7942e-03\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Epoch 1201 with loss 3.4977e-03\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Epoch 1301 with loss 2.5390e-03\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Epoch 1401 with loss 2.2144e-03\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Epoch 1501 with loss 1.9502e-03\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Epoch 1601 with loss 1.2583e-03\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Epoch 1701 with loss 7.6283e-04\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Epoch 1801 with loss 6.1161e-04\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "Epoch 1 with loss 5.1072e-02\n", + "Epoch 101 with loss 6.7929e-03\n", + "Epoch 201 with loss 6.3143e-03\n", + "Epoch 301 with loss 5.4911e-03\n", + "Epoch 401 with loss 5.1791e-03\n", + "Epoch 501 with loss 4.1048e-03\n", + "Epoch 601 with loss 3.7494e-03\n", + "Epoch 701 with loss 5.9103e-03\n", + "Epoch 801 with loss 4.5360e-03\n", + "Epoch 901 with loss 3.5692e-03\n", + "Epoch 1001 with loss 3.4571e-03\n", + "Epoch 1101 with loss 3.7942e-03\n", + "Epoch 1201 with loss 3.4977e-03\n", + "Epoch 1301 with loss 2.5390e-03\n", + "Epoch 1401 with loss 2.2144e-03\n", + "Epoch 1501 with loss 1.9502e-03\n", + "Epoch 1601 with loss 1.2583e-03\n", + "Epoch 1701 with loss 7.6283e-04\n", + "Epoch 1801 with loss 6.1161e-04\n", "Epoch 1901 with loss 6.3824e-04\n" ] } @@ -739,14 +467,7 @@ "cell_type": "code", "execution_count": 24, "id": "6db3e9f1-e7bb-4780-ada6-0a2ad32f9d39", - "metadata": { - "execution": { - "iopub.execute_input": "2026-08-18T09:32:11.753879Z", - "iopub.status.busy": "2026-08-18T09:32:11.753688Z", - "iopub.status.idle": "2026-08-18T09:32:11.919363Z", - "shell.execute_reply": "2026-08-18T09:32:11.918007Z" - } - }, + "metadata": {}, "outputs": [ { "data": { From 2702cfe30ba2f49c556bace8f24bfb0df7cae7b3 Mon Sep 17 00:00:00 2001 From: Geert Jan Bex Date: Tue, 18 Aug 2026 14:58:50 +0200 Subject: [PATCH 16/33] Fix section names --- machine_learning_with_python.pptx | Bin 4049795 -> 4049858 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/machine_learning_with_python.pptx b/machine_learning_with_python.pptx index e63369879140258c51b2784551dfb697e5a96d0d..7f52f55fd0989e6a85a037866bdaf4903028fac3 100644 GIT binary patch delta 7162 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 QAGtioI2jbYFxZKI0n4^acmMzZ delta 7135 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 Date: Tue, 18 Aug 2026 15:00:08 +0200 Subject: [PATCH 17/33] Add presentation on multiple GPU usage --- multi_gpu.pptx | Bin 0 -> 401852 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 multi_gpu.pptx diff --git a/multi_gpu.pptx b/multi_gpu.pptx new file mode 100644 index 0000000000000000000000000000000000000000..8755ce6e1e39a7b549aefe3286bc47a50dd132ae GIT binary patch literal 401852 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%0DsF&F-!U+t)} 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%0Ax{^Iq9qev&5qyk{6%>Q8L9o?+MGl*81A>?dauW- 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∾|1%6JKMhj_%yQNAEc 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

lV9aGpR@e%H;Euj)(OcUUt{ z+Ll+ncJ`Bw1Ea1!XGFj9k)3EWsuT8{BK|4;;Fl+Hc~ZeRAG!2ZyIa1b%a1VL*Busq zT}>-U)eK~UCL}VBS zj;`|t9QQKKRI8q<5rT)ky;(}SQK#+>m?-O}*b zPD}7`ZOw7h?l##f;NjV_l{mP;z5lXyGS^l?fiEXQX^gjq(m@o&uDGA6EnA=C7yw45 z3OT~JIk!| z^5#uWCDb$H`nV#tUPmmXc?Klao|qBqw()ym$(M!P5lLs1mELDtYF{rYz?iJ_ftl=F z2ECPA)2~s5$YT*bAT=)DPoeYtjt^{;@Jxps4wV4k>{pgy579&~`t6J+s75*7!-Pw-YIDE+o+pUZwUC610iSdckQAD+> zFE*7M$y%L+$(GM?u2^I?MMXu6eQQGA&HV_*BFLul6c` zQW&6csU*uUa>`LrR+t?*WxVa6@S@!&zmeuA-|DmU2WhD=?w<31`)EWim5uFIpK~&T z8L##_^B$Pk*km13XIm&Sr4#^(Id$APJ9#|s_UO{oU<1x9livoB@V9`JLs7XA*P5Mi z73SjK#lw^3W23LS=5uFM zzQZh~k2V!w)USdh3dQM@vn>TQt>}-$zDeod*-gKm!y7CfdLS@CsdHXYc8(JnwwWm%5UX`jIK-3S#m+cq8^uZI$U&I8jJMC20)5?ANot(<-)uxD$D@ z83!b?Lno5x1R-7{jXN5Swc0w#w7KkwpD6Gg&$vjlYrQ|!{*Vc&y$A;j{GHo zj`Qo?PXh)vzs%lai)mu=tl8tyFJZvWJCTSntwc;T6SsJvxD;G199>gEdE%~Rz+rx=@VS&rgbbmcMu1z zcM4AN+qEBg)ALWw{-5$)LUGY+lJD%11c_Nr2MycT&D!qLkgnB&A?Ip%;-TeUTA4f^ zHQ6L1ne_+}aI!bsOT>E%GaZX%paVw6paEyy-tSeM+ z(qvcue$CpJ*>R*k1+bwb9mY*3DG>EfC4sxsAf3=Tn#lap^p0;Y zK2Fy1;t$`|Rqi-Vip?~D2}9>Ew74C`)nsX-T)|)cp+ATC)!vYPhdp874dTks8K>Fy zArBs&*O6TJ*nr&0GSSt!`X>VW>|8i*z;kgT6` zK)aAHeg=}AhJTTr!QWwbOzP{HdDHFBt-OV2UFeUBX2{XE+`FZL>9)Q8>iArIVoAf6 zUc~{1inH309s{LqU$gQOZr+Ah9K#w|bjmL-ln)cW(X|B%pT0j!8yt(`fMcuem}A+u*)ca-`n@KN@G{rth1 zPdz#NJ_Or@{K{!*d7kejj)!e2v<|Q>=G0HE?IP1eD}-VH{D=8vQ8w9ZzB}i-+!i<9 zR5pg_OdKP5xps>JZX^GWw=N<})bINR=Cm$&KUT+^F&6hpxr{iK7QA=YxsP>NEPU1} zmj9tu7J1%?P}x}f%0(LO&pzlSzIz+i`)!Zc8)&fZ*&>YgQ7?FO=4751qqqQpKPG&?Y#d5l<%%aj*=u5=g+Oyx3)_)Zi*dFyD6mGOZM9&h7V>0S9M-JdEi=-$WzqO z6ghbY;Wq*!5QI~3@;OIWo%`X>`uKt=DxXm9>*6|VMalu!5o#hBvCjenlIsOkvvb8y zxW@Rf+WTD}02|u=JIpP;=b%R6xmf>()q&f)=3kzXQu?O|?{gTW#?UbFLxKL&&}J;! zf4L)7dU()vq@BpT539$ADnRDB9$HSS^*cXSah6!UI2^%)Q%hv~CR@i?ff)Iwtm#~@xQs__9hOCEsh3@aqZNQ(VhC5XI_p6qNo;Qob{e%kIcRm^pT;>w@qsv6%KL54&^y8sVWTK z+o@G6xW4rKP~{UT$a_|MY)$V#Ghb=#vx{%qw}Kuwq8gkc7pE$Vg41Bnl~VCrg_0Ma zX@92rr>&m&I}8WiXm=JckJ<0c^S&;8#ASl3hKJBjD$_;MFgLN%V@!E`e4@X=ccscK zy`y7w?Z7GbDx8A+m)@XbVz5jirpPx6S=nSw-xWr;t|1b#9SlZov;lDmKws@n-#oUA zEiNBlvlE{@%HE%DvOKXf{Kk*Tyta~bEI;*3zES|Lb?u+<11_H&SO0Xt-8ecJ@;=|* zPOmJFJV9-Bx!p*Ghr6Ugae%s9Sz(Y|6>(XmsFYc5X?|y}{xl0?#~XiTyoBqByQ71_ z;m_j~N_S2R8C7$s$!26!FtuNPmiVK@a+aJ7L>esvPn8P$xu8@LL$dLeON0jm{lWG_ zT@u;jxg&va?wLMwvztQr-njw!(W67>-xtFf)EQFlujy?s$J)!!S8kjf>gl<~iWY>7 znVTAq!7;_0Ju#lPz3h8YJ7T;YakR~sv(!Ko$M9(-TqIgPGOy6ta{+|jx`@mCM!4$x z;v9^eCYchC@9C4d_KQ|EcITU~-#$$2;Exy=^q zni@?oS#X?Tr*W$&&}x2qD{f@Ja;=0tKz~PKk?0L%k1Q@3MrGR%e8^eqz{9h; z(9Db~DJ9?^=yiY1(dnKop~%CXg1UimWB46nHne?&snuRJTwB+-w!J#&Sde^j&`Byh zJpL#syBIqr+xEF~oq3W|rpnsVKCoUz&GF;6gdXm<`T73u4rM>_B}l3?dvuMP!{HXS zX790rn*w6A%#2Yh)(y3;*j`2)SmRu@v^OM`=_AnImL@ zUEe)`wJx}`eevVYPM4j)w~!Oza%-sHfjy}iXU6YKQ$oQ7E_ic$uiGQM%I`3VqFLMa zU7CaNqmFSio-t;ueLgxkh1$lTm;HWKSb@Vbd7Sn{aH#8M0NL={wTgsj%Uv4h$-}sr zqFR%RGMBhF%EA3>F2Q!%6SV>IC6=!k+#c~qZJq%Sho+KUAH8F69V)!^DDutVX{;l1 zlqO!4HvVn*+oWuwiC~K{*_gFKul6Av3bi{f4>z`dKP}E9_fcDAYS&TW!73S14r$7_ zC(`?sh*zncy<{RU>;43Mdk!Ljq%&(t7*JwCx1r@v)`AgU z#}q7sr`Dh+Tb&NH_n#q`v?y+_lsrnefXdHK_%i}lM{`;wER zMroj=dJk)3p1HlB!eybk*2gs~tmv{(og>zl+~q-97m8fs%C)zuPsiH9F}{>DQUI*9 z2Rv0h+zkX3p+An`w!(sfW__3Cgkexk%bHGCo>~8|@NCHetxdpuWQ^mU%{FpvtSW9k z1>QT4SCGAc)m^eyZg&6beFeYhbN9V}(9T&HH!FowUzNPm( zprS0DF~5fA(_&!Q%>DYx&OIa#fmpenZ43WTz;Vi-tWSTQt9JedqQa{n{!t79R1H8>osPFO{_3)|A5QF>OADtH z3!)auZF@a}uvSpx@J|;yrq{PP+eUTxoctR^XV+ zm?--5DiQyv#oWQQ2{(h<(A6qy;bOUU+X^1k^CRs$8r2iKrUk9Kkz-8_E6y%(DZZ2n zD!tX(dX)(%D=3UJv}|43IXbx3Iy*W0_^kucV91cN+L-J0CxuRdaF9UptMEe0?QtLD zlPJ^3Q3UVp+s~7p^W6}6o5cJw!y2n`Iu{=Y4DJtyjfB|Ao<=SYP5YM8xF80SFzX z=|>RHd}tz6)!DF9y$Mz#SQ8&Q#&51ybK#ohvJ9jUUk-+%EJGTMaW>3PuwmPsEQmOIL#2|e9ZimUZ@r%b(QErw}{8bqg<9(rPOX53QX$Ma7NA(OR zHwbpsl^I;7$AXL2Y`1I)wc%NLc>%}IwKCS-)N{v|#M*bn?3bCks}=brAfELbFf%oC zLkwR9I2A2K9@Srkg7Ve}(u5rOE}b#MAZTAawn8AT4Qd$U65C}mJ5}uzrQ%r#nrmZ5 z?_T62iOs5W?``Ee3uPIcd^j0gYrJ}uOjzS_+JqTH_rA=k`DgCqQJfP{ zTV>x=4Ag}dt$tEFXjg)dqxGy$pVWl*RaL%x_&ZFpK6HtzWE(zioj-v#^V#DXy%mTu z|D=OCBCo}Obs+8LPf5i6UDB6~G1_X$|t6@wHO>A5*sUuvsI zt7Kk9!oMD{{yeM}=K10_$RY^qYn#?*Q+-Qg$wX$J3kJ-Nli(W z591E?8TBs{=FDAscU&r8rP+O{EjbzScye)B2#nP7>xarBlvxDd1{ zXx`xoXd&C1JI8SwxCiYL<`mcfN5{k)rPo8ZEW)^Z)|5`KG^Kv(u}8@@iU2*{-3voZrvb?R?KMdCDP=@Hczk-pUJ; z((0Qp(vHXKEDqMh7Q&04u=A~bZq}AEX{(wpqA|}RQytVOOwQZ4F;~F$)06!KN>DCI zQ59CJ;ci&VYiq3Gc`5&6=%nOE;JuIR5XdrnvzGV&GyyvYbJ(d6W? zVb~3|J1Cud_a4J#p1@9-J0XKX_*^ouOuTp{5OHYvr8giT_i`hk@kDSuI)Cc&oQ&B` zj94Ev?D4L;U8xV9-z_;z+~K@lWDymYjUYU-#5L(E8ZcU8aXmG);o)BRuA431HvFUU z{!a5tc?-D-QjGzMH=p&a#+b7)K>zQAdJ>Yc%xFz-I*(*Yri7NQRoHDMfefGq-tC0R zXTH#b#W>SW%oX%RFq!ngB!7Zj5vU*K=qpfkzHrTVI?wytM<*L1QDROXkU@gBI> z7Yx|ISj~?ikuOF$SjWX9M**kmN@8yo=y9-0FT#U32)xcCJh##wT6CGO?(zP{Ur({& z+xuSYckirmg%(k03-y*YuPY6nANaPvAtk2NJBgnGf5lhl!j_ow9Bo5by`X<(OWA)4 zeZnMHvv6a3HYzA5Wk;R6imQl1>yFFgjqSPi;m{waORF_Q<9b%Rjfv^dfa4Cs*8GB& z>w`TSgk+mL)l35pI6q{H?r$<>zQ<7b_mwlwSU2W=8niX7;m{;4^ofbRtqMs869;ZW zg*|wk2S<3Uo`#(MaR)o`A1nae~p0XaGU}A>A0;b-rJ*Z`g zQFiCTcdwrR=rK{u^9=pb>vc8qw`X2Hboe8Qa6v2^@bB-15KYAXR*4E>5Mqk{Kg}Y8 z`3Gvvcdw@R-A?mq!j zTsNUO`yJMwz-(OW@4}}H?Ch+<-^JL7mIdR6+tT~!a?KXLBqqQKiXq^w%~+1}T{LA9 zt9?AQA#Z3(B~~N;JSmY_Rp22EX{Gt|1SO=ArdUE5X6;8d59nC;2OY0o=OX;pu(c>P z#xhHBFB;MaZ6;;b5<+qh<};acimg}vi_BSK7rvp08D>u0RfuL7@X2J9ipHn8g|GC4 zfLi`m(AnAH-+J~}lm3|O`I;5g06|XH5}8jfSaS&}Z=<5n4pmLBd71_FV=2n;5W!7e zG4OWjVXBRoC1=w(xXV^A*O=KpI=EA+xeAI261OKt#w4xx42g}yUd?77V$FArZtDb{gT zJ?XcipWiYRQRd)|clrr`-1EP{|42SOvp}Dxk9-N37EZ$TR8wJ}B^=Tb3E%vl2*0A5 z#{KN?(84oIzHuH(XrP)7``qC$&$CIshpPI*dhyb4J^WWVplOh&MBnu`!DnGMiTF5v z$w~1q%<|IaCw*R*f`|f|8;RgDORaxdB$xz%SU?CFT0lr4|z8wGKOEjCg)Sr-q^#a#y(BWe3cUXsUz3Nxf z+Mvnruz7Z^yuAv|Ht-JmCh2wM!?D6SF1I~w;@o4ns&!n$p>N=z8&{Ani7%D^A3yw? z)Yp~4x1Hy;^1%1lJL*-x!+bg<{ts-@5u(cthb-EG0P^FrVPVfPl12WU*8ayV_dAT| zzzpLiJO{`CyXuZKJj?!Ngu-VoAKjyvzEQ+3M z6zK~r9qCH1N>{4L(nMT(Rp|%<3eu#BAiGO1Ql%qJK$<8@uS=CCO%&-JQK=%Jh&Q{a zufDI}cfbGM|9|eCftgGuIY~~-$w@Zj9xI@$>`RT1ww~b(GkLPd1+a7PbrKKQ=Sbnr z`Cx|VvkK8lJeCsk5CRCEBfEZ6_qqgXT;RrZJXQB`2#fAQ;&VXz9+B}6wfv|GTM2#I z(ZtirOjqwb(&AtuVImKC!;P2bF?Q_A7R9e>{jU;<(gkj+ z)f;WjQ|hwK&eKkF2Tdk<_gf$d4zlx8*jijJqhMM|FGaK%F3em#$bb7jag}ubqVPD2 zJQa+}VBFmtuPg(eUAwznLrT;MFx{Okj6}6gM^B)$w?OH9>a8Ve>O=O)&9AtiiY`gR z(#Fxz2@f%QJsEOg#?qIf!E-ePqMFudX(Z5!LZM19wAV}gLSRz*k0Rz{d>$MNR z)HvHw2M~^ar9C>_5IG24cGlcw9 z5SmFGlFyzSlN(*=N-kkv7T?2>M8nT?o)E26YzdVVS2DJ+5pi#2Ri%k`jMLVTQH@oN zReTt7vRsh(dJj)hP%P|8bd3et-*UWghL(!Xv_oZG7E&9_S9%~LglOL6!{DCLqdC4M z0*?(QshT~XXGz>*t8I!-*Vci@YjZ$3lv&KEbzZYI`xm%_eIHB+Q(B21*e@=U1(4h- z(dU8EuMUP;st~3oaRd~H&;;V~2UBqp!&@9@%60kI%2sVJrD>qqG^v`;C!Z8UYRpRH z8QKtS-Y3osDO{$9bZ3T7d+=Znsy4pTT}iZ5_VS7296(w{R4F&2FSL3bcY;=3rSU?i zog$>6Yd8gGUq46mB*{@%N}qR!4b8E#=s_$Qf7WH}JU)-|(P{!Yiwu#m^6=*|(O3C& zb7|kAYAi{Ti8h0Tk&mDXLoq&^Y^Y9TQM3pwLGgh|zA_nlh43+In8AA-R!N4uDn|Z@ zSSAqnYlaHSf4V3_)XSiqn5|JUOQ8?n5*et{PAv8?+C`j0P5laN=g27Ai1vnG z)P%I(^lUzD5}!UUag{zF16#ZHS9HdDP7L34@4D-!3p;o)C}0Z&j8;Gl6(6F{$M{<9 z8egFl;7%oY5TG-REsRc*D@Xg$Xc}<~kwjRgF9(97DAR;j2q7G>9`iSZ3Mtc$#;fTy z8!_Y~tKmGS=$iti6?0h_^`jul5hr!IS+i-EJ|jaCYV3p-RM@g~yj8ZoBFGl#DD#nf znq+2V4EYUAt+J@78O|#9amt&sVk+we4QNFtI^Hj|W#ZAV*vGj%A*{{h)5sUpNTcR= z(=fz0935T%285U3$QyDoF=vZ5wze09Ut zkiMK@Kjfz85u~Zpo{LIdSjgFGMwg7z(nU|%S^=S}LcbP3NJl?T)Wk_vEz4xjbRHk( z$)K2f#VsJdJplJgn6MO?XbK6!>gzmHmw<(03Wbdb5+dE~*yGVoqlHIaL=|o6#>XEk zIu?yS&&f96H@z_POs$L5!MZ{u%v+%k){-1;qsPY#5z(I~en2mb6>QuYX?H4La9MC>nKe9aB0%^9})fNqL#_Z+P$0digk z^x_bO`=a9vl08hVvlm1QEM8hf(6q}UNxXWjfVDv0qR}TTEzi|_f@V<`$=Zx`?_qq+ zjVJ&)WRQgOt+VRU!y?zDVlbu!FBDwJ4uMGZP&ey?7L)lSW z*;hm&I4L0DdW8RL2iO27f|D3ct)oK*ZXgWBJdy~gp+!)M#DgMaN4P&DLYTY(Ext-2 zq0QH-S)DPW%PqKYw0#gl zH4HWseVGSz(9{D-0+yLE*)f^X?#+&je#bIyiyCEPI|osAA=RX5OB;(o88%xM=@dPY zp!GKeFj_U_^~?VJ2P}W36dDE6v+rT>1-bAg+&(!5wvA2~)tfUxA4|Hl9$4tiK~@Qt z7AdR{Ig?~khqS>C?yk=+4bl0qW4p%p^s6M#gs2rYuLuyc5bNc9q;)0L2HJbO1A;V} zMe{h{9L3WH)Zz|iZQJ!$0QT46PfUMKw^|bFu>TUr*lERpn#G{{Mz&;xu__+_>vNgl1_NhfpI1+VbG_{hQ^oB0OtgGDo;E0RC3 z%wos_$sa>dsGPH}9iUK6pj@T?G=r*5R9_Emx`9=ym(m(Nj`hUD*|RnBlZl+t&8wu$ z%g|gfhZw%umV2}aV9wa!BLZQ_e+A%T!VIzg^fNV2oIcw@E`>gYl_UE2C!&P%&e;<& zp$^8B`zT5+W>uN}V1k@wTY7}d4RrLM-@#J?^te1aS)UMH4;W+nPXmMqRlozPF;EUB zWr+}b%0c#ACAFa69?x^au;<^R)q=u6)*mMTL2wGg(xPNabfFPSl)?bzp_kjO86#|o z^F*T2Fl8(g-(&03(YCUT@0ng%`y8>!?2Ou2 z10BJa?emAi0)gP?sk~dIUkk|)zzS1O(Vi7_TtJxiRp59*F3*fE`Gi<;U3Ge>asJuy zWA&o9#W{ub*nDyK3A%SfXY(*tPDEGZJvF|wUU_v4my}V+lReX$c^+@{qlAT&uUh8W z(vC9nQ&UsZE{F9{0(CFb35-=VG?{lu?Kn>35nzn@DvB0}B24SRFJ?v6tQpWzfO~8W z_RDR)AS;6sI1yuCv3&3B|ET zt6Pzpo!rVEg<3-)m@3_pWR+Yu@YRY@wK4BzcLh4TK*WWU*sGIHZIzf+L2nUiA|Xt? z3g>rwCXz@NpdU3I>)L`bWlFUC z5rz7j-7SAihX~KCRcVn|VNCE}%%!-aEo|z#{>h0%2=RfQ>>v60YDk}&h|lXJ8yz?R zt)v8n`H|ZPQLzcDJm2-RKNT z8e+1B+eaLwJ7l4~4TbEYFe3kgym#bg$9p?e_UX)Nut@OL<|~{Hm|EelX-N#;avAU^ zFls$S+I?CQfvQZ;&tXnwU`qL5cix&|n4vv$mH4Y{e@g7suecDVNgEqXzVZEEd!sJto zp`oK#`@~=nC?{&_3X8p?TLK3L@mBILIiIP0&^@L~Q_%vpO@YFzCJN6v#JtIsf6i5% z$IMNB_?{J>Kw_3_qOUejyws`hzWV?-tdx)SAUm~K+ROh`?gYUbm3<{5jF2wam#gNV z%AM*=2&=1m$-Ut($L|y4y8F!YSWbQ$A6?F2l_(aUre@ZvHHI8k#4uID!R@krj|x#5 z+C=xUQDRDNgYZ(Iu&z)ZT3w~1;O&Mwf!%km+biK&78(?uWsp~?>uOBM>t#wC8O&ib zuq7{UF7&nfC3ACyk{Y#IH5MC&Q9toU<$|qiWwO!c)6pEglt~%}xTPp3DhP9ziX&xx zf=Jde7NqmG81lONlr{6ikwHo+_Hu0vHUW1iEizBRfK8%nkRRTx$7RRHDxml_BJi-8 z_jq`C0j5KndN5nmo^$xM!Q@k|rv1N{JLYY106Xt~K1Vltl&2*k7SV4nVkoeQ;13!@ z>)d{?ZJS{cHaNyj#Ef=U*H9f(PE|&vnZE#JFe^(%JVJVwbo0CRo&!uHcphLxG^FAULttY4@84_Sz)Wx5Y5Ei^d;_;ZpKs%Pe5Ns)@vbaIZa1G*o z|0m=C)`|qHU+YdG_%#QN1)5c`+UcAqP)pR&80mC?!U})|q;!OU7Ji&#(#E`N$Tm{* zn&Sd;kAOQtKR3XDr~7SeSew};P@u!Ha67d2Lywb>AnjRV1~NPaRg2V@3-y@`BoNZC zv25alb|Puu(qmHSx3P$7`?YDud+jA*E>42Ah}!92S?0!x zCtM33p>h|%i0Y;9dgI`_wYGKH1%NHaJ}y^qWBRZH&_=dIL)7_`1rJ%l(zCg4popMJ z2QC%C!?%0W+xR(wsnx%SzoC+5I63G7zr`QA@C1GQ^zy4rF2U8UPLm z35RCD(adHvoaw=-X!kyNcHVP^x74zVtl2OT1l{>>INE_~gKlMcogGehR0RK7ev&%8 z{my0E3@U|^@2c!!FIXLk6&^Qd2UkL@@GJulSIQ}iVuOW1!Fwz>sQd;UWz?tT^x*uH zEsjfNuM2((4$`yj9dQjEtEk+`Y5MiB9~!Go(;6&PmBgr<4sHjozn}UiBH1fxf^|4` z*ca|msb_Nxt6@&iz|+~P;8f8KX@)9Cf-@{3CJ*0|g6iI3JdCTEK}Gw*b6K8EHKF2S ziM?F*`9hv-wgqkRq?cG21!q5DbZ9iTAEI%_c9kfuC3-bWQB*q(1XNYz?#}tzgV)aV z_`i}u-o+#iu>Q0jutww|e4P%0f!H3%`IWIa@B;oqwC^eBXzMl2ew8CS>APUOztog~+i|cY9O&+i6o+xVIy=uu@{O!X3EB2wul_YA);XoR>zonf2zWtWo*sM$i{WiDobE*MB_vP;?-}e3^^M4dInFbI645Oc1*5mi@V-Qvgv-zT*-2e@i+Hjv@ zEF(yGVpv+oZ^c#d2$_L)<^#_9(emk}YOjaAe@Nx?4_Lod>R%Q3&qR{{DDJQ^yJNPe z^#6PwbraIhG>qi=-^_~q2NNfMO2UW50=9i~cC#5~`k7`=f5AdzPMEj1Zh(&&2SW(h zPBG}8H#SV_?~QmPm7kcvN1ylGT#|arU#R~9?j4B2B4_t|meQXXu;Lg>(WlM7&@tt9K@UX4J6-dxmX&|?$Mv~ufj)g?=FD$4NbQHQ#S5Xtj z@x{QI;MppSiYByak9`g5qF1fqcdZZs}{k> zEbZ30=g%vq%6{n4b1u;ODpmS}!M7Y1zv0ZSy9T(#>j{w<=AxuD31}nBV}|p;#v-M- z@|&#%%wsCF*6@W-4hspwMN<6=Uye7>Cm+0aLjM2zHi;kDe_zCQv)qYh$kC z?lHOl?1uK(gg%LPCI3g`e150!K1-(A?;L_D@E1C;!25-Y@qze*mp{c5SNQZg=fIQ+Pe2 zq)UQ}X>Y>5&BOszWileQs;jDWvFku=^&1Xh_L{23xQ&UCn~guCr$181GlyqYtW?PP z(VWoQy3;@1f`69gAL-`lT-*XNfTCai7XwK@ce(qkgl{+;0$_EKWZ{ns8PzYe`o9Re z^1Ap3(d>$D3RE?=Kmw958;WWNWkD60P^X9w_ZR)sBSSaJ_HWLGgoyvl-N2b7ue>Vc zWMyUL7Y-cVXPe`5GB~04AtJ7;`c;}Png<58cVlG3Q!YOtoC$5ZXG#8Nx%b#WrX)#*HP)2>8FAOBQWrOPI-i1{m>Iz4C_5jDa) z6)lbkLe@Ib-kPchH2D2P?0E`rAi|?QKC1z)f;EsC9?}}(#;Br9Lppyh&t`g;m%fJp z1Wq8HSb7Fs@6n3C^njMbBCIutRGfxpx<@NOR8-cDX1cE>5tqQ$$`{hs9f12MFjadr zRn_EJ-Z6m$D2q*EXI6?^e1q(gdQ6rT`D zBHIn95<`yz!-b|OA!+tv>i6h$j8`c!fQ78RY=r54jyuTz79}l9ViHh;@vK6IASUk_ zk?z)DwU0Ql2|9u8fu>9rkrclx;S5;Llf;W_AWQfV54?|PmSU0O+5DHaP1Lc7VDDEY z6WA^HPSVYHlnf5Tcg1%Wna#)Nu_$KnSf5yEa&aYed-|psHugcRKhUe$~!YWf@-_<{}FRY&^uID!d$bG#YM%$}7Jgp3P#f|Vddq+tNz zus$jkqvkT-&~cLzEhgh2A>u03KEJ9A5C3TE@#WT(S3mx!~Are9;39;TM0 zqmEB3>nzyGU@()52nbdunpqT^}Zkdg}M zu5(8Rgzz4Ig$YEf1Lr;z=F~j<6-GisLte_qR+||D@K_-0WxIO@f0DHZ5?V~%MRatS z7t%C4(fpc{FQt<@4D(DNz&DczL=#N-D;v0zpdUS%$f@|rE?9+==pqjMtb{K1V!-om zVL9BICdQOUwsf>K{K3&!(mR%|>KNR^c{WMdY;Z*jEykrPLS)@Zh>os`EX*X;6Rv@H z{8A--<`~5*TrBYOwx`H6olSJLb*&OQ9gwd0FfOj6x}hi9vtFNf9wIuN-Um!lR`kBo z?nC;zO1~RQ$6(!QZeDYCk;TcP%aDumH5;G8j2Lehe5jp;OH1Z;yPJpHXWDhQLs@WHyw|~ zkRXGwXZcB>H*3hh*GE_z zr~@D(ergB?MNE}1SQDe6cyRkj(LC^k@jG)rzGFcckSEc68ataS62Y!<@G&S_2_(cs zG)V+S4`TXMW@|Nj{G4r+CFym0D0?m@nn_8`9^Q*%!u(>AaMP(ZnUdwr94X`DJ!6sJV>|y@yv-f2K|SBH{B5;s8$4hTG)g3~k$a_*m@ck5~( zUV?wP&tXxW9J(n?tLtH=ud7RFsh*w}?;=j>F=lkYl3KlBj_(%ai#HFa7b*V=qj#AQ z9%ec_Z1_+mw|Op9LL!78tfJz|v}|jQ6U~(fcuJPb*tkBwwbDSm*t5&qnIvR6mT3}z zV#u5>k7_`QxMs2l%>3c)esR^UOD!a{qKdw&2Mq2XH{Ibw6fVQ0qMWv#OnTG_^ zkgX&Fq9Ilgsiam>GKD^=9-xBJn#}-biMqK*=cg6Y*%CBq2;V|2i!CxB&Uf!v4t_-) zf1mkG{Ui?|OC1%ehS#Dc_zUP}gxiQ|={#AfB$9jgAughHE}Ivv@nAiUPKC;#>BXJ!Y~N7C z!Z;iqrmb!(0rNwKr4a{6NGQhfW$9I9hpQfaNXx8|AOYnuWHzBcTDtwRn!VUszx`pP z9#h^axI@xQ(ZYZISa7YtlZ0vI-=?&|eo*0+_CElXX8n2=S_-vL0_1TLw^(#qGQbXk zz=Bpd;~U^RCc`J27founBm`__QXMQz*4z>Udm0KmAAY(Abd;mPbij5fQR6Sm?czH- zxQdkY$^9WG&1v6oaISyDF;QuKfvUxHxy`PNbY8X;Fv)nh!1{|LvrpdG*m|%E4>MQI zjvjPxjg-y`5&E8*BE-^8>Y1|-zf@JV%9F2`FZyM_ff-+p#cv!1YdT~Kax-WAri1Zk zL`5{=zznx*G*M!+XR;W$fpK~Vff+AUd;o_2COXa+;h71Y*YLa;n;}U;M*o` z%t;CHd6xVMf!RROC-2Xs)rrfJ)*@1|L>^9#q{e@KQSXYivOU89{s6=o8XH~?{~(j9M1X`s_*RhCS8K3rw(3HSRHrq2L^01Y5Wsp{lk{2aMjRH6O#-#A_*cmm%C0t@W4nW?+#LhYQoV7;Zs43($(bpN5iy^p zGkq7oL+IMn_ht=o@;KBa6s%vvDO@uFu;Urm>3yl}b{!6(!??xKF@c;Us_8 z5cWzc|I?>JSMQl-mO-bmYM{T581w`85OM9WNiV3)pudS5SeA!fn^$&7$2$g?s-lIq z>BWr!E<9O(p(xTj!AoT_d+{3W4x!Ur;VQ`=VK$n$v169~efQUBDlxPZFVY?I#4ix= z-7Yi`1MBSfgV3UpN%uKty~3KV>~PdJXT92g64214i21EyQTCqAM*yDpuk^t>pjW$f zWxvc7Vi1lpT@kWByabbY_{d)9Mosk?=MHRet+ zN_)6%y!;hkoY5Nl1|VO5?;!qLpAyvz_(;)Qi!PIJ>D`qY=%T?4y-#>@vEDe9`xP#3 zTgqTNE~_^X*L1DU0*Npwf2ERIQX(dGI{7|F@BYvTa}C9OxIkG>^2X?k4ucUL&w}cd zwlmGe6$!pn_MR?4$b~Mx%kCZN$&)xDq7Y^hC%L6%?6iC~wpqs7gx}T|+vKkAe8d?R zQo1St7_j?{`^B1Zpoix~MWs?vr$VT^@AR%;ng`avE2aV6kbpYSyD)$?;JC7?>o39Y z3G~sXY}-Mr$h{M4YU*NOL=Jk`m`F~-I6*j|%ex;5MT*y_ zI^%O>ATe7{pUdM)V)DTXix=avBD52-`m#gUns5M2_*aQ%vju9yfb_b)Fg@y2Q8Ybi@f9hnQFzWKwWX+R3=BTYG#Ddk2zA5gIFVuZ zp|zO@YL6|AP!o9kW8SA3dw;>%ldtE%Hurd8x|kISN?_p3EBZq~z^YiT_kusrU$`ro zboNTJ$o2GleKwY<<0i!t zXju~e_=~?5i6s+Vo8-CI7!O^I>uK5dDwlGi2(aX|!(rpz>^c36FI@rY@Fwf@b zjf2@ywd@Tn5l`~}lkrU{!(-Q~lmwqKBgnjn}sDs@sw*c5HM zBV2(c+F>18x{sca_WcbdMP+1o1V{yp?Vk*+X`nIzZo<$%IONSEq&M;tjXRyY@pKFr z-}?vkuA1XM`2{BHA7EC$#0Zhka{0|?=7d{B?|GI5mLFfcuuUtZ?Xw(r<(CC!U;&h@ zudW+kz2#4`5xKU7lbaK|xxBm?|6NHqtlm6C9-oIwDV9TLg!)Jtpp(bTQZtLP+wO&b zVueSYJi(Wz{%N=ad@X(!YhNGW5H```Z(igU64SW2S^DUTgFl3|Mtb2J(1l zKMd9r#LodnnDI3RNiqrlG8+*ai})+2;F{f@u>BY-^dm?O`9kEICTO9FQ~4~z><Wh=y_L5O`xivbpawn*hq=*<6cs-h?l$23A3oWye))lredpcAt?t6Li$7XB z7Yu&xn_+6?W0(>Y`>#)AAQQG_ep0^XdkZf;AHdS`|AT;ECwGe^1}O@D;PT# zgYw;(4gaM?gUM=$+j9@x7yfS_r@O%&l^hsB!G?JjKbZh^Z;ego#* zh;vw06p9IPdhVE1a1{Goh}Z1D3&;iEWuNQx+C27afUTrX1|8FR$Vh*cJ16qI%JHe1 zkaMSjp5@#Smd!A42Mj!!Vv6~uW8!Uz=VZmF3-UBMAshDC_V&?F6aMPFAWbqD*N=aJ zc=YC@I-x7ED%8wM+As0%)q0||@$%P5Xg=}(m-u;(1yiNiqLKg1}^ZcujZCq^C!I0!fQ5bUFR;Whr zCt!y+-wUdD1)q!3KK!jMF5y|+2x|8aqP$vu#;Tz*w>Hrd=ZB{5QDtjp?3YDSdmbR> z`b~UD@4{S`h0YLkWLABoKla}gm4(BpJVcdkA2J}(YL{Xqp&`n|lN5F3c^nTsSqyX2 z5LI5MY0^3(hrdoOKZd#i39;gGtkb>#7iyWsRYsA<34 znNx4+wIGh4I6oA@w?`W4>n0@mGVr=|%_ul8`tjb$!1aPmgBxDE(WTAT-s*Z^I<~lVdrwuuxq&)SN;Vu_B{F`K~+`B(Oe24V+ z8?@2}J>y(uB1BIb_$ule$a7<*k%MF8{f!_Ta^}X&qWm7KjQj4WIU#y<4QY8T zCwdl>$xC#E_sr9Sy=7*SdoO(BUzh|_5&7nq?8`B{qY1e4WyU0)!PmCpM!I+iDh~sY z>}F_F)9qL7>SXqjrw+u@lwt4uDF|g+r(N}!t}xnfK8(a$0<^orB+=DLAH1aJ#yl{;&<(MMdb}c^Tm_qCE^w(@bWBK#Xhw?SkW!&HX za=YzmhoJF-LF(90Q@^k^hPzJ!p8n3-|GZUdo$qo@%jf@j;Zw7$)Vh?d1g-ITNzLFm zG*S@V;*{}BIf&VPyO2v{EWbpDJ!s;LLnztlx9{|^iE~;_jep3|cX9f0E2XO-#$=gU zDYPyyx4-~BcD&$o;oe5&cf@>0k<0wG-I|88k7gUUeXngl|AOzK7U#~%^wpp&`+>cR zPCM^geKqSR$}zh#5;ra3b~Be=8!Hgb$YvV3g4TA>;JbfDA&fUvA%U7-an0ZZAci4WK*l9NT+#V^b-ATdwho^>6sT z|0T!Nwc4cANHC#m;rD>JQyExo_*xYAIzzx|GKEw^HVq^tPxEs%*pH_Y--<5oHZemH zv=Lk4&0b?SN^S#}N8zHlrn*wCkTNU$%Dr_SwhLXVSOAHq?uz1($7R|qWC~|m5z?i! zV*$4DMk?j~K=Yvv15Yy>TDFG&b#*JpN!D0d({!Jx~<8jAT&X;>U*DZ;Z zPv+B3OJE$;z2O@vn3h-vHLwj-EQrdqe_(U#pQU0Mu9)r{P9{ATyGM=y?0OmxmasSs zwEyc1on4X2C4m9Mu%`yuC4W8W%RkQC`r{jrjEO?*_td{-{eSmRsGj?;|Ng5r=HKbf z>H7sE{|C*wxuuRR^}K$j~2uD>_0FZpCVEa=na812b!R{`cxCl#ez zCp!yn*i_R&-&b;E{r{1Kb}zU^&T(ok1qIAvx~bmNi0%gR>?|1yDhBoXu*4z`$YIG4u&{LhmBuKxh? zw(djyLIZ&W^#}hQ0Y3A|lc1Gf8O~Y;ZGaXwE;q+o*5{AcWZ$&8XlRgtz1YtB%D%Ds z{@$A96Yd=P8SGR9WBtXx`7862eMPPwD{q26(XrQE1{J-1)i`j?@}cnyDRci-qa-4Z zhJjFrEzP5o7vFzXGkd(u|3>`cTD4!6C^=hAS!(D-k}ryl#D>Cd{L^P=JPagXt2s6e z^l~;5$At z`m4eDFXf-q(PL8GfVTJ;cWh9FeF6~gxt0*v3BoRs^cy0c(q;a9NDxRiHE5lAa8cm7 zq52bp*mSAXn~sVXLw`?on8p5*e$il9G!}OamgPa$wo|S^gZ;$cZ;%Pf2zI|<%3uzs zph_l|)p%sf!}Q99_#pb}`?K!lU;21+veix&uQkrMf)BkLzfC+nZtm<}`j9e+Fe>)h zhOCNNgofwdh|}QnMrK#ONA_t)8AIkiqIeG2`8{alH&ACO<7*-JUBz70KTLDqG=fe# z7GOf(QSS?}tQ$R%WC-c@Bz(A$Ja6qRp0<{UJ~pt;HZqC39#<1s>Pb;UyO^4YCMx)R zE|+~n^R}+CXU*X4%g@vF?(4^}2IPLO6zAnCoy0XVaGqFvg90HPUFJ57Ty&f9IcI3D zvZWV#k*_hYrgm`jh77*4kc5UT2R;~wM7NP0smc|NP?X|%$dEq6rQri_CtG5|(d+P? z3amCP^?80NGyl%}q1DtG=)Du~Z|-fJy!M!5_2VQ>=j+HYTj%s^rlF@kxVT+S8YkA+ zjly|W+WM^2bc{9qRE`_9aP3Q$C(^4=2BhaT!#tayn&y%~q?NXZ5`Tq2l!yR9!VYukCKP_6M%gGtsY9)yMPdJx!BKoe-|pi_3?2zRX5kAyms61p0wCnFNmo@i)X3>H3+Gw-8eczQ#5s^ z)mr>au*GauZ%F@4d-5< z)9G#mRpOE_BdyHis$AoWbS*es+fl9-VbH0(~Pika~>94ki0aD^+FwL*{aMp5hK; zig0Y+=rYfFYhWn9;20W5v()x?m^6&|H#x7>Lt5=_mu-FqCzp+&TQ{zmoVJs1UbGksDL?@58v4V(t40g;H-!SFf8 zi8R~kdM=^)9#gq}3Bk2(f>T1?+wrfh5lTv*w49!e^vEbbb3mC-dmd0;s&T72S(@8DyT1FLj$q+L@ zD(7wc_|9DYXrh9!yK%AZiINlji;&x!JGR4u<7w0~*RH>lj5*CLT>T1hoo8LwIr(f@ z*X)(rKqJvO*>5ZW6R|}19d&<>???46 zCc27&cR{Qcz6D_yCtYfl--GNJd(Vf`1ZHphQa24zxBA!3-gcmo;!WE$PZ%&K_pFIa zdtYR*B`fgKx33Fj?7Vo(PQ3O+f|OeOt!&lnvz_l`Y72bb?wdr91(eU7b&uSqsnOjc zEuNE>?(2GHF8-v%sONoA9jfP5uf$f|3og#x8cHYT&LawO;-i7L5`*R>zTv!+u8V&T ztzwoJ-*K|lJa5YP$aNuJeWjAusiZ*tt;VgGQXRgB&{>SVGHa<04dLO^aygFw;cYB` z(@-zhIg2Z=UrcbB!6LfeBRKhOoW8F^A1k3a6-pTk0o zqd`bgkbxBsdjclnV#Kw8j9XhgQKBcnFQLd@mu8WXu?!wZ`rLJ&M@ogt!^fNuW|ZYtGwCg{3waEG=EhY(==zc z(N#tyGbVx$TLQJ|j$r?AKRkoL^XfZa@x|+74Ws&1hGyBwBUc+sn8``vhm{?JPjr^_ zI!B8!^toi>GhXQ3$&e=XvbuQ=9y5Uo08UP^BWrTx$(FLD%8^mcvRQAA2d~B}1&OEG zLCV@Bs%FHFtd^Nbq&luNJU+1)nEnl?q%ujy+w;ho;BC_Z;aaK+^90+r>#r$}EF_*n zN_X55`eHZTz<5t_>UQ1WQJG-KT>+8%%~xiqBeU7Qo_@`s$;c}~KrLK%!=NcklJw4Y zH`Qwstx{v9^-!LjOGH}m7}mgjw3-I`?FL1I(eax>Y8~snQ6D4r^+H)*cu_?jm4h!% zitR+CI6-!eE>RVmFUCu0&&VO|EbdFdH`;uDSpL((ja zrlZbxh`scgNYH==JR@K@z~i*4xR*R+CDxtW8#X>&^T=zqE}yOSY&chAThNVk`{h{5 zx%-qceNDVo&}JXCj;QO3_Kdrs^408;IK0OXxT983s9UY%8KHP%7vOU-r#bE1lcyI| zcFIOd${9QJ@6t%!D(Sj|Yr#ic-EJGEEm%=tfEGtjj z#>qve2F_&|$xd>0zRnrtlg{% zQM7im3w6;7iT&)GlbI(FOn%~K*0|qZ|}(L$;QtnBtM<{hVzL$AsyP> z61LEPX>V5M8oJu{8S&s`ba_^-l*v`Oph}49vF>hqj!uoVj{I7k+Pt4F$ ze)6Ip^=-SY7|_i*5s zhBGp@K|zgUh8w{BK~Gp*=$$OY9xZ(G`t}{8@=)E8VX;TUVY4F6R@Hr$Cp{=jmJI11 zhhFY2AdovppCKFd@Z`g5=5GY9o@uq<>XxcAeEhm=8j%#O3?ca?3PsGiZa)&rxd#B zdDf_t)*A_;A+v(AS#hyO>Vo6dHq%2NX&2}V&=Es0PxOaRlywCpcM3=X z6|+dufdB#=K+q>KIMm|buguLrr;}nX+I&i~Uce(@o_jWd=4;jvXSOUN0F^_vGyZPr z1HUA%cWM|IdW%lt>eV|;Lczd!d40;l+Ev8{NRY*Dw z6(tk?{)+u2NvB?QcCJh|iU*9<^1*mslKU6Phh@<}ki=ct%+h`o9!5tJ9-yCl2ZOEO zU=c`1W4bf@mtY=>d{+`zPp}k~H*HY2B!;n&OEB(%DZ*)Wo16Xd<0O^wi_>$~c1@=nt|q?Tuw+KEy&E*N8W3bFly@9nPCDOD8Txcej&k#1ApN-wN*N#d zj`Ra==FNj?U~g(Z@&%UTk#~R(wWLhEcTkefG%4OTeni_H!c)$#H9kdK-#Ar?LfSau zmC$6W?JlX*i(yRXDQ=DOs1IrQQywa3Z=I#GQ#{r$&SK|WzQh04yKLA>S-g6%g6jE>NRh~wKyMZNtuC>9CJ?Y$?$)|M)wxGKnpvKY#oZLd;a*q5+Aq7Qu@t>-udRH; zzOZ9i{tw*1Af1E|O&YU**T%2@kII?ZMakqCRB8G^Vu_boD1SMrJrzT+r zoEBA%A^LA`506LNKaI%eQZA>&28)cHZbF4`;1Jx=G` z=?UN6(>bx2TJDS`+pW9kK_3|>OwVto$Ra8mmN9NdpAnuMxe?&mf75Ts*$Ky4nXz81 zfxc>%OLW44n@LRiV6?8eJzpXj&N~@Qjl45{b97`UaJD=%W25TKqlTG?9R-HmKvE*( zt=sp+po@~6HKfR!-F&fbn$u2%81Y&2RPK3^22ZCE7rSaZ6B8_cRt}iyCt)9MKi@br zt9dHp!}SYGAr^7+g5{SQ73tm!chZ|NvqA{omxHU6{-)@j*OWA$e6GXod-<$qs|cvUSc$q#WZL=e=in zq7P_Gqrh$Hd>0Dm1_P2nacAIhyma%{Ok+sgyVPtovS#U6W+~qEmyipM+Z7*0+jhEM z7e5`6!6MJPesPPniJal8Bv&LbzuVXJ8uk)>-nrb^m!pPHT+uA@(VV$Ahl zr#;lIL44ODUh?tcjlDQ=umxNG_y~8}gfzfeh@h#8j$K~xq09aEc%%>MA3N2>_Sui4 zu!B;dB!F$g;yI5uVG*;0C!-t_k}opeY@aJyH>kwGJX9r5kJmc;m@`Ycp+k>9^gU@$ zk&7Lz9HooazzIigsa&2a?HQ?P6-SYW1)tqte!@5OG&|2Lv1)}i%<_#In5Nv1aGCK3 zv2z9;b?@A@4MvFOKzGu{+O^MaSA2PK?!;r36Hx{8lPsi}TfyQ_zJeSVYy-zd6H5XTVI?HT+I=(fC_m1D?&_KSnaPLKn zk?D`sMem7Ou6ksD&a&023NVFxvukL&hp^cyzL+|zEl97fjuc{qBrx{%9=RS%%X4h`SrZbL9kl`Vw=_3}` zQA6a-z;dOw_Jl zG0NF*^m*6LlXcoa?)1(2Io|?D%m}7&aPd(YNByfPoobnB;2KLe+d-P_KI+sYkgIQX zG%wp{QC+#_;>94N6H3`PSFM8FAh%{4O>ObxHo<)-F@>;akV3x*a!c`Yx-k{{{xQR2 z;i_@7cZ#QzW3-?{Gb|h{G|sp#pG^RLjA~rQp`GK0*!Vhkl1y;4HC*$0tATt-u~mty|VSDY$J(bJ%ToYF%dfv0cZ9~q|$v+rDc#~j3xg=+io=-S`%LzPpQ4> z$XAU()MlJ%GV)Z+((w>b!t^bm8M%(uLpiE2vlYP_x>f7L$eM@D#vhjlqK$-)&HpKy z_t@g!qT_3E@7L1rjucp5%8GOdI#tNydp+@mPKzW7>PZuWU>b&w z1f}pD<&(dl4Dzaq%hAecI92;&=RjQiTFzld^x;ck%(GB)-Ty`1TgOG!h5w>MHw+*R z(j_1%-HoJ@(%mW2NXO8nNT*_f#Ly)j0s}}69TF;yQUabmsPF4r=bYcYf85WN^%?hG zYwc%0tDpF;wOwQtTPmJAMJ&N)2mtHP5W<{uA28?40p=i~|G!7XU1#xhBfKwQz2<%P ztM4J&=kZsTai-Aax=f8@^hAEXDgJ8GhTMXh!ELlRcJ^GJVlqydGdRYu5yN%wus;)V zV&e6X*(uupns}4ngs@B)3&#*P(g5?ob0tEM5u>ISjz1Q81DR|>qW^3De}9uUAEU85 zGH%M3A)t|j;&(wL%y)GWLE9Zz#7ThOc`>0p(^dXbu#kxWulXHD+^NR;yY8N;m8QIP z{BXZ#aoUoPG1Qxn#WdT$C8SElohrb__JU@8gj-QsYx`-{<`O8-?0m1L2M&$$KU-h< zI+foe0~*%c zs5CW3%8yQQS`LJhwvr8{@TQnfWrTTTOR2@%?W+udH1oq#@G_)%Hc&V0G?kc=W-Pj` z441e?{dTb`Sj2lG`Hcx`+WVOpEPPtFR`#>vef1wnylwE4oBfsofEXfC8iPg!MyWrx z4T(%kVNZ3ORC&ha7gJ=yOLP`)UBd@%wiFhi92_vi zS?{aaYjuwM_lua_Wz+ZlOlC-nM%GCsuE1D_Hlu&|uXn3!3^1(E}17&k1P-3)#GsNoEQWLB9iYxdmad8cqa3} z^t1gVR;wyfM^rwTtPdkqEDFFoQL}-5@45hc2m-nGKYD_nU$uxc{cu0m>kKK&0qfsCM%p3I2_NmV3HS z{HtEy{A#0T^66b^)5PO@KCf?7?ds{;ER??bpCy;H&Wx`l!2dp2el(hqS;UT0ZuaU$ zo$@w%i5`*$YW5CrXp9jz5kSSyNw@`g#TX9dh^tuI!>cj69;Of8S3w)0 zljM*WiLuX*C}$_D(h+QO07ZqkiJ_@B!dEdy*?xV zsKFY%6=2YA^?MYUafr-?2OP5uluk8?{yvjQ?+3G|*`9m{c?>x1D#KwvVIi3j2>ve9r1=ytPQX-Kb=Li?5PpsKoCn z+)?U|k!eIq+)5+u1NkwJa=vpJA6Z;J`mZvd-Ay~*0`?v;BXp|9)2+OqG8?}qE7+_T z5727`1ar=hhouZ~vEq3w)HaZ|-4FV!^e$s8wmFet(b58U_{L>VtIFiLvu_|S`T|)! zV+8ZVk7jD!Nb+^EnKd^X;#QkB9Um$x|2a3Jrz~K2VY(3-dIj5B>bBB5;Qe2AA$aw$ zKsJ}sCl05PG^es$KFO-=f{zU2!_Q>K+{Ck)-8Sb4B6d7j5OcBK&j zhL2i_Hv#f7>%BDDI4t%6k1ma6%1G3D99ng4D{3-_4vEFHu%;Ia$uSd7f%{X=^8-zNKeRKUau4vJ#j5m5s~t$8JEFZOKuEcQy46<%$%$b2?m* zj_~ZiqpQD6+tu;0)US*QAb(OBLn@zT4&T)in#C1q?6DF(;^np?I^t!KfB0Nmpz=mN z?@G*aC;zQ_ljGYK-Ne;ruQbCx891yjfUBdnK0W;*C#7OUE!d!RpO+|$30M#}+deog z`g%+pop6V&itiP}k)p1=Y2UjSac~M)ln}>1TJP-@&&WkT^}PD$t6YicG7Tw z5vw5XnjlE0hjv~OvCf$Etz^M^*N7gu9@ zp;y@$kJ0;peTd(UQMa?1A0{-%#R1WMFhKMg;%V{VWCwMQlXz9EgEV>cooN_4WOW>wBv^Z;Fo7>D%$13JRzgaW4=8 z=Dz8)`G~RfhN&%?%j?08?HZ6E#5xN-z}2%zn78#XzTGdwq_&(Nr*>l9!h5E9@aC+Z zGg~R-ldV(edYaR|39MFMJgQpqR4D9_r^!XB5i*^ooh7pl^rIOrbeFeGxhLER`My1IVIGSQCQ;DqlC}ksGoJNTZ|Rye9potzXVHplqwwsL>=e6B zZ%<83K-b8?R?(Jq^K~B~S)tGx5S`4C@q#?GVj2)+{U|n(APan4S6>a7@;+5JK6~xW zP~+OAS2i7+F~$P?PBal3)>+=T-+@lVly!~o?C}x$j( z)0QEhX5R=bN@3l0orpj_r8cyhw}@jPBxCPIwp?*d2YF5iE@FO6&i_z#+J?yAJivQx zI}=90m0c>_b7;`_`Y}yrHg#TXILuxs^o(J%RbJbTzITp6vt`3jH zrh#YJ-5fLhGF|N(!>{`742PR~&*;kAPic00nO_FxyIMPB7>cD7re~JpU@b(=LciAR zPr!QZ;QgnBCm6c%1R)8#%tlQWB9>TJ%kkk7lQ$*6ba3)!qY<&ZG}(m`ZwgV-h7xRI zb2*!ySqx(C+1-n`YR(V8S+wn#%=Hd1K{SUd{2g=yhB($ zKg@aKj4Aw1L++T|`)3;Or}nXRV8n#V^%eqkulyuGIM(|_`E~3}2kTxIMlHDzM($p? ze0;nwjF(l~Fi{@YIyA*8kpw_#+0i7rA%FJThk64876DZGgjs z$LKkcsZEjD))bP6Md~2+|5iJ5c0EB>`g&AzJPSBHM7>#*-yq2k_x)Q5On&dtStiey zE^5oNyX_`e5Q-}yy?Cc@;Wj_DgBwZ@48HwW++s9C%Dyf~g1?0RJZa2M4X3fSmjRiL%eA+C-oHpodYkFVm zl=kso2>*CkBdNBNN-bzF@qqi@7)bc`Ox{pBmFYA$m%DwloLaVt+Q%O=zORQNEnXLF zOd+-T>CHaG8@SnVs>mKi!f_-~(d8ae3=ykT%SBdqN4012QywFkyQ86BGb!O%mJcvI z64{}v&V(>{t`zf0wXZ7Gt3aCvcf(WB2!kG9~O#*)r#13AO-HQ9s#pgLH zxtW?%bI0kM6#(Cf)zh2kDRYbtO?d{oUsTYGJA;`9D4$_FAvj@FRqr zNklCXMN6J5dYPrKh`CFQS*8CrQx9?aj?j^Hc)L11r^ZFWj;>Y;xrdH3bCQ%}YR{i` z8=;}HxdH~2@1QLRR~F|~2~4O=J=9M-p+P%inLo?ceU&I9TY#7_WIavzd3rVVc18&9 z`nUV#2=z8(K8p=vxMHG#FG59$4>Q9%G7)}PupOX7jAIwJwV8rN7Ja1xv*E*wd_v3U z$Cp==MVff&7RhEGBi^9@Sa|la7_hCdBG{uE;|aO##R}@UMs0>O;GtiZC?gh4ot-0c zVReX^kB(X&mO?!t%OcNBQJgt4U||`iSQ{xq<_`0n9Htb6-NTF65cLSz@1v;h0naT9 zlWl%5wYT(ExYEuihsot*1P;~g*HXpp!8preLbt{e(UBtMW*D8X7oEPB=^Pw?V>rz@EzN)K7k7VZ=^j<%K}EGKI1o|1^>i+^GgohQEOTG8 zjCTml*LxV5b;No$c;@`TB~M(lv@9L^CAr0VIiF1Fj+-#W`)j5e4hHVR#vSkfb%Gk8T0V>H z8P)c8{ac~5R@$7XH{J?tzmkB1j_M%=>>Tl%>7tz90zA{RjcR#TOGe)crpvSn~5&UPp}Dv-mB zY^^V=T~3-jWri-QVYyB1bp5T)Pqs9G%?Htq4xRQb0a1QdnB|^g1#qbCaz6G{_vwAM z05L4CC>GQ)4u)>X5vh;>`cPC534({@6O9cbMR=iH#61E*%cYOI)z>j_Z!lqWhEb6` zO9aq#IV{IN3aOB|If_!$+#H&{O|i!opvutYSvZ0_c1IA)*d6UvC_MO>wJovF#mVBy zSEM|@wq@2IR^wznpUvO2wLey7(u6K9^g~tJPM=#{j$yZqpL_>hkV1VcjLjxQ4|{Lt zn4w2Z1-#j)x0WU_(7atZJ%Qiz!uyt7P~0)DB@a8o*Wy z?ev!eIv?oK!J4=!%}Q6Jl-_<$cEnAf@?6N%Sn&m;Zm)r6#@zapaGFG8{gYn8Wir|x zNFe`6k=!!F*FZ8Fz&ls9h3ye&(G*P{AfY|rG2b;I7LBA`4Z}lMJBhMr6INFlHR+UY zyGb`O#(DdVVC?LeN40PH*;DvA%R|1Nlb}M6YMli@bh`T&We8zy7qm3Q`h2;XKE<#2 za*q10%iHZBKZInh46UY}lv33VjaAQ9J2c+*f|e*v+VEG?PWbQ`+37f1x(5+^RM~R@ z3wh66KGxid`mZH@ycAc}Iz!#>%YBu~6YymyM>Q4aZx-$2YQRVR4-CccF*tMB2?#SI zpj$Wa6%R4F5zZZSlou%*0)iIR5N9yn+!Wy}%n9Igc({i#G?;sEVQfzK%%Nuag19a% zo$sJ;RDR1oWfNUrsgmCN*|)dHcx6rbr@wr4NY1-v2#;QF&Y`v&cEcxRTo#Q+-E?bS zUl5{w2Cj<>C(3UA`UBI|@Ncrs-=+?gd=hxsy&B5dpD?0dr{{=WzP6xz-%c4FG@Be5WPRcU7tr$QC8mJBarR(%`8u;eRMb!#N^nnX9041LIVxNVhjNy%DCWEAHtL|vfGJtY)rUh!?$;!c|FnD~2shiD?O z^=*{6=j}U>iS1*E2(5WV@NVVq!Jo0b{;A0CWy)Ab$6c1AwWsQ zq9H|Dt||3)7-sU=L$0Y1)4YV^`nJPtEu06l0uC+c9gC0dUAz+dG zm*ACcZpYWPS4nWYV=kSb0jUNlx9K>Gc4FBqf#tDk&8-c5lCsd5;G>_lDk<*M>1l!s zeE|$O0!(tIE5}K=^6seK0pPA`Nlc#0ytAGv1=;bl&>v;uqJkI#tCLjJjuT`8)v-P} z%CGBfzs(&{yfz5iQ53jk(*yZ!5JlBR2hQ7T)4Qq*os)IpnA()CImeD!1nl*Z`wtZj z9vi!m)RnB-@0)#9fdUY1Bavqbdl#~+_Agt62){gwe99E`@W{Eaq3m4at!Vsawy~a~ zQ|^3)@K9H+M9sXx8~T*`&Warkz(W16>#06&sS4B~&q2^IXxJ%82hZnZkzZfLz&Y*^SLr>wNUh=Cdi)Z& z)dp@$Sgp&{H2Mu8xv5zj9iB!(r>O2Kl6uoQC4^6#>CW=z<$;dxZcR*@UC;!L4L|Z z+@7K;YTJelLEG??$S&8f%V|+VQa6C;=1$&no1Js@HC5fS^fgTGf%E-#?JA>+ZB14dY4v)SXrP>esP$2>NY|;Db zBz;SQ#XPK`4P;)`O5D*J&K(=}RH~j4Jah1vYr~wkeeScat;>|!J1PBEp*Kf~NQX!n@vVoQs1-sx zu8~*P+E*;g1sESUB!WP0skWxBWcJ)bIMrm?ku#V8F1+!C@7SX@N-nr@l~+6XCYiml zi>B=W#oz-a(t6%5s;^v``+^3gR%Q=jRw374M^EZmle2YvU5h|d1byuPgyJ~`+)Eg z4!}E>Y!`9c7AiknS>vw;f(MlyY-rceC|7N)9N0-jb~Xj<;)uI&f&snkvIhU!;js%| zULjx5MCO8RGCylp+AX1})bF4t7gzv1o@Qg;R$|IW$j=%@{1A#gd})1Jx4yF%sM;Sq za2fgG?b>&c><^QX>MV47t4g|drO|E?{n?Yiw)Z;o})#ChJX zFj8iw1hS)NSkTmYGte60Wc*E8fw1ba4QiY#q9iT7p7S6VJ54FNb`}8Skc*)F4GK`! z^mlYCXZ{Z2J|kv0Hkq{Yw1vTz^Fb-`m(-^PSlC>_-$CzyZxuW_ zyI8RGcJrIe3S1T+d%kVfzss*ok(qYa_PKE1CT;JoXP#MZezr0SQrn*fKvwBXDX*-K z^R4qwnB?dbzkGXNbekg`CN8pe>A#wF2xCv2bxa&`neqLPep=^7BVJ|)W^4S}s`cGv zz&_a@&cr$A8rl~-VhFnypNkiNiF$drkHqLNID!kTcS-IHInGG(b;j>r&!3&<3J-E+ zs((}Kfz7cT)+y-(Sza-<<#rjcV}hv(Y6OvFk|aPnRgGE6V-MV=dIn=gYL#g6NS!o& za9+Uo2H|NkGYrYfId%bUvIYS#ekJPna$KQuIt&&``5>ZQb%{u6fXO_DN>k?0qipQE>GFUCVn!fn<-j zDvXcKJmV-;zH+mooICe5=Md~e8N#N)nOG&%A9&EeDWN{^@DWb#ii65R4prxR(&Ed1 z%Xr0hTt9Fi8WkT`$u+iNYe9togP!^jkk=A2d}*7Ph7utm`lj6t=hYJQl<+}}oZGa%={2lZr!cw}0Ksddw6zv;~5!*rR*3!e1;CW!8 zc(b7%j%g?FmswVv`-28>w#U}Ag{U|zT41=DHLw51*f)-5+aWQtNjH;6v@utixVa8H zFF%;O;0?yk7zqnZh~l|CrwBV(6qnjDl9?&=u~=@Xo3YPF65=Uxu4w8JyzU?}M7ANU zY-+R-ees?a&@Ys>_T!p*)N}dmo@%}?ldAe76m7c;25wTx&65&CGgzHq?k$qY1xg7h zg2Y%bZ%+cGHXHYA$<1}c1m7MhH>q9Ujv}-d84^0o^2KWZeLeb#MY`&H&;9_;=u>GT zOd>x-t!=>1FxmecVY2)XUa;T*SaT8Hb;%FEJo~erR~k>f(oeU{Hg@0F*Nl^;NrqJt zj{ko710WZ{&H4jab)`JK-$sCjuAmrnP`km*ZKe&Z6J2l<>kZp6aMvzlDB&TYz;3H; z^UJsy3KHG`IfkIlib3B}o1 zSqE?t&#$iM3&wT0#^olpMSnrPD8ijzRkei`oo3#_sk)EIbw%Wgfu&yDL1(`GES9%9 z=+{MlPFa#kSQ8g-z3vKDdI64Hfu=v z&%gVkB$F_wt}t|0P2Hbj+6k6`L$RNm-aF|y815lU58`Qt?nkcW$8&R@Tlm?n;tWWU z|4ana_B_1gy~3EaIf&`CkNxnM;(=XAmj0OPq6T>{~0@$B-o2)2YEX-m>m5 zq793zjfDy8_@dbP@>(>6z$6L<5Vq}9aqpfeDw4G}iW9#poE!o$M+o;$Ki)|=D;yd6 z_+t4b@OC1^*i+8tC=l6+7BV30K>Db)jF-FA}nVnG;iX$hA$L_H(+OS&VWQC&7ijXpN@?o@X&h}-7k8fO@vbUqifppUDTA!P80 z&=e`M2zBA5fP#)>1G4PA=1+}@6pMdbsR@4bkBLTNwXeF$A~5OP=dgbV z#gJ85$1RC{c24;+nDXEmB_AH+=3YXu+x$;;Y7pTC?gx-%^=k;pwE=)9&OS&SakQ~q z1$^|w^|T~&9VV%DUsS5>5e?DniGY_q{z}2{6UD(~!mbz}u6!oWXf}JS%jiU=B`$c# zcAa~T&v}t{N5mzFxZ#brThh@yV>M-_0buUd_k3Z*>+R-m3w!1Vo&GkJEs@mn&x>Gc z`CZX&_?Y_bB$^^0*{F?>V9Z=c`arl2FG+%(mpB}{H^tIl$Vq^6NJ0J`v__bNl+90Y z!}<<+_prA!9O|warEGL(1_xK=tN}W*!n4md`W^JhWS)08TQFx-l7ewVfu|{F2K8`5 zQx9!@*lPDqfoAT!#9%(YL#Et}0ZJ}@h<%aGi^xM8%_NdCt88$U?LNrY=}&xDCd0?u z0@jpDqsx?+iwOMjm3#R=5qnpt-dyLbfGEV|hS&3xbvob>?%$qq-eY)(u3mRhKFk7N z?K&H*{41vH|KU6DJD(or^yWziDCC=#1h__p&X5V2t$L&zRwN%N6+O~k9Kb(j4Au;9lZdpcv)s!h93n@e z7y6p7d=&d9#te`J{!iTkY!R~}Z{egwVOTipIDtQ__riOoMy_@O!#)XDkeDBu=q^x^ zn0Ym%;)6zW`3E}%G!XDC9p9}=!nL9N1m~>#&NCQ!((4_>!WyF6vXY~?g4dlQPTR(A zj$u7nBqE*}?J?p(P`8*dpk&a@=0%Tv3Kt*+Kzpm!57aY5ha854+TOlHycF-vvog?% z7NDrZJk4_4LjA2G9iv@d>xj8%#-2#?QK{y5W=pqP2k#ru%n#*@AZM|^1kzvb<@@c; z87}v5Q>d9_h7RHnu?pjS*_#X>q~~|bYw{Jjf|Bu=V{FtkYzV9SyYuV=nC*VD+yA>6 z<_dy*1@C-fJ(gxWB7T5S5+?y%C(|$HlU6S8c-8t6N`|xi&4BfM{Qo@E`{wgdrKi>M z1#H7r@}D^=S-dtB!!sP6cAQM?)T{QUtSPRTD5Hr2PHVIm8D+`xD=GYm>pqSW&zyHyUw#R& z_lhc4H4Ceo)8&fop&^Qb_ig^#%aUxIz|laslOt{vwCDO!$7yyjq@q|S#LENq7Xy{Z zg!i-8uSCrv0&D=>#arvXbS%UJvuhE*AW|CRQ+WRfKt3cDcij3@AmR(7=N-k22^1jS z%E1{>*b?!xZ;9sSBCA+iD>|ZXt~Tv_k{&mG|6nu#-_(%XV&GR6mhYgiMeik|RiF^9 zd2n>*p^P}SDk9N&C_vR1DYs<5+6F$zrU^m8JuPF6jzN%RlOD@ha7rjEBd%|UfGC*} zaa^xkA~rpv)N?R9qtssx!B<2|7)$7*vEexDBr6O9&?3 zfd$ruvP=s1mgEEQtzk|oq{#o^?=MAoq}Xj$*wo5mht-n4+>lga9rujwACiTe%3rG} z=fN~dae|@n#P2^w!V}PhpFd-E{9`Rw7CITLqLB4U;Pcs}^_CpQyd-bPW2bNxoT37-3KA zb=3ZOb4R(z@7D?l@6~OrdlG;Eaep!S_dQNufW1XeA6_Rc-&%b&Z!~aKY5os>^~K-b zsF6T{p7O<4vE|!wdCSAkyJr61E(AW+=^gCa0n036Pt(;(9&kwdZS4!kKWXg_8tpzA zdGp%K?dB0e(*)}+gLWy+=ReG_v~e0O&JW9aom1i{pZhroC#>6Z)IW; zfWP-2FLyn}*X3EPoAh)(bY1;f&iCi7k$+Tg!eacQSbUp?{=H{4F}C)3&n6v627EPj zphzOAd-)z2BX?Z!rhit(nHj+T>faAhLmZD5lIMTbSP9d31Cp3|j4#=u2X`2l@TggA z=GvMSp0f%H52MG(D`^vs-Dkx|2~=Ltv65SA0qYd&Hs}di{H%wML1vZsfZssK+z0qX z!JAImos~}FA$wM#c_tR&5xlSYTdiRw=6Mb%3e2|><1*)Cptfp|Ub|zTxTkJ6Vs^-= zm){jhWYyIkt!d3i{S<+ood$IwT7UkeXEkFz8j58046CAl`8(*q!IK(Q(VRn&N}j%( zCCJqq)!2c3D_f*IS<+!$!>8F!Ax&dUaYdzoVN0yy=Xm_`mU}uHXlttGWeuUN^~kJQ z>TmUbPwVjTGb4U|<6TwhUw$e|Ij}qa{P|Qz`T4r~(occqf_vbI9%y>R7Pudx+b_Nm zo7}Fnj9>5mqn`ymS^EYCRJNU%@d=vW0zf($ejZnK zP!<8-QEp0l^yyueTX@QWqFo-7wET?9iG2!#d<>Dba>{=kADl@l*W@Gz@MTzXp7T#C zr?=0(zH;mDZ-2$T|GEBDqx5CTiHI4KZIDc?WyW*Xzy4zpPk87*A@t$H(!_7vCIQ^i zG4EylN$8XCPeQZ+A!*g+TVFrxET*M}>zJ*MdmK8n;w$x2Yt%qq(Y7x{cX1T-hD~1YP{V6vKi*oRGD^= zhGyE&xT}{^&RiAj0C=5#2bM?ta35A6qmgON(5Z-|q(5;Wby5V;au^E6NhJqS+!&{2 z&;P3++l6>s7FPqH_Ah~LL66x|>qY(jTQyfz@qwEW=r<=aH?I%aXP$?AAYgNHntb_| zm9=l-xi-LB7;|zMS)T$v{(!xgn1CyWSD08S;k-HiXONEpN@F|CBxt7s!z)Cr6zPx1 zwtqy*N1))SH?wA9y;|2De4VM!_r}KfUBhF~8|wwaARgh`uMuLU^z#<@pHY1b7!gD< zcPf;AzA5ovBRA&~0S-(IlFw7ht~%7C4lw2dy>F~E`z30K3}awr%Di@zJu}K4pCnc) zX$@04Q*CUcR!wAxrSe`P3@D9TgNv0bX|;QaVr^4;>53nsMbuA4*m1$qwwsX+*R|pt zyYnM%MVcdlEW5kFRm-_wp!L!*@`JdBY5gkga2LE|u2PqdnLild z_`v{M1z2%zF^+x$1hOzEx~2(3zORgWUJv(>P^Ljr2&E#8SKpK#Rc>35K4dE4B<91U z1CCd-2Mo?mOGNgr91 zM~TPK-6pFxZ4W@(BC9Z64ggNYtOx$<-X+CpY(JLIz!Fk2mN+t`~2jMX@mcV zO%2ANzgzgEOb~9NC@f(9UYR)IF=r5 zdQ78bP#EoC8xI&qA}&|auE>3mLxrCiGXui-=tWu!CSCnjW+)p(5e!BSjUhyO5uzZw z4=OM>fRwNlkTTE%l)%cj1h`X_kqT~ODj4)V1r=7|@?_V$T70f$2 zA{~ZA)x}MSOe*skBg3B|rxfDuZ6x=Qvh-A})J0CEPc6aafj1StTyV3KaNh07sWQ(X zjoWBgcEm(?(`An6tas|bZWx8~c<$VSF_~lvv4k3#m~J-HXq!XA^lbnNIhg_}47n== z6UVrU6pU{2@fxbrTll>qiizf7&KNoGIp;geUgLv~QI&dW6@(rmVFOcyidvQx5Aee% zmP5@=>vMGt<@oz0=|=R3TI!hIF`q-E`WVMFJPR8zvr#W%&|QivLJchwLPYnoFl4@P zs>O04p?(MDDkcy1F{ZPB0_;??etGwF-x0c+x@1VJB0HO(eafkrmhbQoAjBxNF>fjF z{ut(;<%ss2ftFLf*!N?q9X}!AcwwnbjPo^X4;;5wUUJ}hUKY&Fr}FN^%wepDm;?vd zz^1!oH(}1N){uwjj<0R-pnkkGIZ+Dz%1f^7qo6SHik;5mlMs}NwtyOGa^4uOcdU5R z9+jHC&!V?oU+9fLiUM0;kXTn=!@ZSbR+&7Zp%g+xY8wnCTj1#; zBnhEyQdY(SQ)~+mvd=>0CO>;UQUepju;mUY?{Av%nw*4jDBOmUb@Qglnr zVgyX2;H9nFsIy!5M%oN;kjy#JLMlj+z4{Y4e(MF8A$rKaQgiQnjsK;q7i}t*h1R7| zq@zcXbJEuI5%Qwd79W33(VTW>utXt<8A_6=%V+}KCcK$EX^XYTHjNqnY7A2sehI-+ zil3chIuq;o2%;*%*eoLF?Yqg)k=NCJy+_SX%aOCk#kuujy4*j0C$q2s|RwpcR#u$+@rzgfx1Yg7yfvBWOo1F8F@i17# z)!@8@#);M=Dbm9pn?bRk%IUfcv@J-5XOJqo3P2>GC>}CGtxM~2D8vOc=BPKWdB^LP z&@3yzB*e_+X}t^0xz;wNw5CWcZ)$sam^g6_`KBL?%5j9DEykHWa*Hur(17)2JO{+T|jjKXs9Za ziTtr}mUTRPwOz3$qahuSf)LBgSoVsK4J!FiYpRx9G+{>d%#U9hC&Wk6nfd#%!q8rh zBoxaBx|hnMaE`poPy|&VZ#~*z&DUT!=jzcoeelq&p-@9P>i`gLzIq#9o<@m1iTE?4iMwx z0*LMl5Z&~$^VOj0m0gUidghf-Z=``(=YVx0K@O>7s`%}~EnH1zU^Q!a%gW3F#-^8` z?wHL9zdeSkCaa88oN{VKl=xJjBE;5-B7G)<$Rsp}CcK`_oTachqM8z=n!|SmTQ~`$ zZg-q+6l2GepkhR7!v$SvO!5#e^w0hl z2@w(T)WrUjN$l02Jcvk5V}~5RhXKZj3})AO7ySUqCxR}V>(!W`P#-$hiEwSQuN2~G z4s6IFkCC92aNe2>$Vc2*xwj|sNP}$;)Ad}CLfWLuj-)Y^3{AlxH94kSxzuQL*O6XE z>F|z!uW6gV)b!^cHH}W_j`Xe#^_^uNsI4Fa(;6v--_AEgxexl~c88uXCbfQIn|R?p z2ndu65|dW0moi+uVE~p(f2d8RvX8-Sb0obNN{w|aWR-kDUR6nF>!S2AhqY7qNhn`} z_7fA8ENpH%KIWqYQzWi;*U`I0iePR0()8lky!Y7Ol!g;a)tL|*gt6_Cf-GCOSwf<| zVDPEHMf?k9y!qx;m zkCD1%=a(i{j-*iJS=~Fj3c4gZx_7h%^PS&swWwT}KD{iz8?66Q>h*a3xH(od?F=!a zkqJ#+$1Pk89MeQ#gVd&2o{HX;(4hS2(%YT>$o9_sM0`@`2Ijqf!;mjU~+9($T!YN7pGlBfBv0nhY$prL0TgK z^;VNoxoypN5N6oAjiiYdKb^NPx)P5s$~BSo_Dyg$J?fYr7v5KEFdZXOzYyyEs%<@c z9C$O~(IOF%l7sEFpw81so5`XM-q6<2Z`f-FbWE>S1Hz=E=t%V3N#D0oy50g~ozk4~ zJ+!3nV$pfeN-h!7S1DKte%!ZXf=pgWC!BFt4=IHJCpdw+3P zK{W_9!~*w7$2ycc@3k$am^kJQYa62%^f>4^m_h~b9nkZh^WyB(5LLv5=FWl94amKp zNQa;r;uW;fk90~Px7}yxa?b**hBthu`602!C?a8@yrEAew=gDRAS08eJ2GMT4l;AXYF-uO70Ij2GTRzX zLE$cIBf!+L2GKFT5Q_7R*QQluUbe@~AkOUYu`pg<28Y>QgR)G|jo`Pjo3nj#BBfbg z7$pWt8T0}h%=(`og}GIzxjsoDmWkoRC)7ugjET6@>rtmzaaJv;f7Uk`MOC1}VBWKT zLnm^x(Q(DH%#!y(Hby*Cvz#&UL3E4_p?l zPGu!)9-aU4Gw0V+J=j&<^Sj0d^5vEk=%w2@mUJgbN9kCDD6ki0loXUQT#(wn* z!^yf!u7$F6wa~2teixx=JgO0>LB3Kp?EaYAL^U>2CvIKI2I2DESV`mECu)x*XebgN z;mMmQO5=RUw8h7qK|aG|oi^8{md7E6M0;h@qr{*-i#wEl8rotH!uPn&sHh=}jO8)~ zB9NKdrN^-e8cNn^8124>*G4~48d6Q@??#AZp8FLzfS)tJWn7xK$O?qo@I<~tnD7+Y zl!wi3r&!IFg$<0%qDWbU66egE+p7DtqdGMXxwNhB(e-J~Vn6k;%{RjQk95a~B4GyW z1nU?!T9UWr1vz$w%)$3tkjNDwU%Fc@v$AMq`zNnW%8J`hSjDX) zR$xrRCnE$xUPgsf6g$m4pLp}}(cWF@P&z5=vzmF(9;LM>2B9!B1U>eB;r#6?rUM`8 z{$wpnyr2ZWPnDcJSwlwFgHQ9;&?xacQ0m6!2eaM+hb8JJ^1Xec1jc*N zr_g4G`#|B{)B}4a984B92p_VQX?)@*n26?H1psn=HOw`FCp&)!D`vx9a|T-gRSOI9 zL6LDA(+N?F&z+$FF)eT2&1rLmd4Q1ogi#TXaynRzSf&%OZ+vm&PmFwvV{`j6mG+#g z)yrouuCXYVG>SG@JXK7DNm%jF> z|AsR^?UJ%|xu9ULq5=mLN?p*p2HfkM z<2@VzRVbI@A0Tdjkp1}a^A{8DPiO?GNy;Uc%+K|xX{Uwazv$r zyXw+N^Rn^xeQ*DXv~u`bQ#1>gK|A}Q(j@;Dq72cf|CabEjbk+m0({(D5>S30dUKn zRsiJI)U}DPOf$%PO=ATRs7${icufHytfp708=J|s`K+kQKjS_LGhicJeX5j@pKPl& zYu&bqihbcc<)4QnD3wLDoIy~jR%<1eoJNtUl|qpdmBlZD#S2ZlPmHe?<|KZv0Xr42 zd+v8*(NV*!gBMC7LJj0bk_px$>Mb$xsaU^ZzLs@14fRL8K3$=TdKJ(soPLGR$Q3t~ z%cWb8+mSXAY08yB&lNVw3S_7V6v7Oc|1EGnX!l3k1h=7#*@PP~ha24bBSahMMgl>} zl7`nb)LW-(6orLZ2sDr~QfF8K*s}ZcVG;EKTqzuGLAfo zw~~gvusMGBMPFCV02$o!8(pF_o8>o7Gn<6MLKor@hJm1T39Cs7%SkRo0IaNf^p>PR z-~}^Ud) zMzZsc+228(^7VGl@mh^;+q*GVC&dl=$a{^BX^qr=$b7rW<{*}*YEMAIFDoXW=#@M<8_p2PKR+h8UeCp_w)pW~j{8SWHM&?}PezBK{X|?*Z1t(mslB zLVzT+&^v|}y7UebLWj_#7!WY@UIj%|Oz2&z0-`kOpi~uX0RaI)K@m|=0YL##!GehB z`EP=r<2m2?e)rzzf1f*>CzGAsotd}4^Umxf0aj6Y)TYg4Cd9c_k>#_-i04)|8IqnO zEhO*t;{vJcPO3w@*zG0y>)--HzSGPt8F$K}%AS`!zpUHe{H;zCJk*r$2({gle)ifB z`{9f+h|`ZO6)5D1ld@gKthK1(e1mG4quLB&x3ELbbgtWNnvdHVDl@jY)(!`!8h%1? zMfZgsHlN+iMHYL)TD+T2#$G;aHVP<_=3%{Pe8h(Y^r9s#+TP}dZ}VBD#2r2O?d(g% z7iD3O>(4m^oB<~S+#2ttDdKr+5m)oX-!k%r*v6E*bX+4uc}G@MMM52>FqpZ??=VRM zKt#Xw@pII#oI}4op&iP=>hBJikUnu1KlRirZq@-(8OGGKdiGq`U%oc0Q%CTZBw`Tf zMqOiiUU~V|3o$-X_hK{?V0gyZ610#5htV~?&3?df8Kx@dglk5fNJK=8-8pH{{aoev z*GunZM1FQ{mEh>!yAC;nXYQCpZ2(Mmo6kl6R@@%W}o1{Lg&T-hlg+~@qXKXV^H#SeQQHO?I(`T z{DdTbV}b>fa#2>gLcnTr>YA6En3tx^T0Yq+*_oT*?(Nd zvtfN%d|X^!!I`JNL&1v`;{V0v`_zeO<$U&)-l-EY<<9{8p{zo-`Frm=zBP-TxfC#W z?hW%7f`5;0pGw*OcnmScOJOPhgK#seAjuy0jp~1-D@bcNVF^n1N$J1a(f7Z?p z2)npk$=&f?we`F#`ve23 z<5NXkD-y)1+*pN_lbi`$`jCPe4s-&+a@?uH;m3N)a2L8ww@MjBS_7thjRcSu!AIGptf2&cDG;bMJjQB7zs%a&jvJmu2u5<15oo zhpI8}!J3r#4QOuLStT7ZS={G4?7q2jn<>!B3uCIY;vc2bn3wZ0z%j)^W>sTxKUKIs z+!t?6FQ)IgKDaQ6;!k=)WEwg^7o9~C2HuPHAU>G^%Auo6-t;NMTjT)JJ8KHQs)GH# zm&K}PwC`4u_PcNF!0{#z-Za)rcng$$_Q-=H`zyH%EsM_GmD=lH0@LHi+1ic6#BGBk z?ya*RNE96iBj+Bs6DH|-P*g7yvmAiALwAT?iHw|#*{W24oH*nOqig60>62%=+VOSo zu_aDdEi0vKJ+Kdu$UT@&+WU2q!qS!a35W3dXen0E&F9| z-%aH8O{e#L7vpyd4`tjp7RsDlY7G#e9|)AKnR8M^HpDtv^)-5MyRJ1pN_M^`+coEO z5!n*!6x`SJv(O8A*(B9e7y|5;wfN_?pAR6edC>0Ri}svIH3F`Or5UKQeZZacThU6C zc-N{<5U70%oyfSe+Wt-c#?UL7;!kMWuL32un8wy3f+e4pMPuuDiILDD!prvC!UctO zg2tKR@5>)L+pciXF}Z@qf~J#fY^1d)y+5X7ad7d zs69{==Sy*8YaioLx^Rn=vF?&Vg6^2-}-iqz=q*UVMl6@&)$oTSCnDUY#Ga znTC>NU0fM-NQbR*8zOXg^aXl?i}@rn#(}*-fxqy}x8g}?fO6LaQOgt&6`dZM(~|2#&JzNS$isk!e{Ms(-fz8 z=&mSzF3I}-OtkfVbPGBDs%{UH41LC1x(%0#apLYAKsw|uqv#|b=Mi*kj7p64g|yv_ z9q4(HmbUS*A+?C;YtL;RfNP(gS3Y|4fNKI7o*$F>{od$3C?92ple$E_KK{OR(~#Dy+j zu6_P5SruQ~EA{JhRN`gr|DNS%YJwciThvJJd8oN~-nywXwGX0;miUgwOpetcFlo$k zG2Dqha5Tz|UjSoNrMx@S<}!3HAtXWwk*c`s#3nXp<5Fu$mj+G|X37!#8CjEto+=k+yK?O`S?h~*ERK)hFno-lr&n| zCb8iq3NzrHoWr93fw9SM=LlIp(a8}{nHpWSVku#3uY zSAbWG@AL1r-4F7K_Q(VArDn=vq)Vb9GO>&MS~>+$GBK~;#ljZ`p9M(0h1>CC7m>zZ zd-^WhT?q557uIl@p?CZ)rrz}YIf>f~qG;$n^SWL2%A$%N=}!<7jPum)jVA3qCdw~= zjY9Iyh8TF!$sKl2;b}e^)n&I4HQiU|TDZmAR+>)M@NfR@N064Bb zNj?-7AZ;%1;O%B2m;IAafNPyxAHFf?ypZ8Dhp)Pq;t-0q9nSc{aR>I}RW|PLh#&68&DYTiqw4x|h$;FSAhJeLRiKvPR5s3+Zshka4F2kZZ7d$k zWMQPZm!~x9qcT`^;3URQulhcy(Ek9QT8`P=BR7X4x4>E8@ykk+Urf>T=PRCbjg;7U z_^IPr6m*hC7z=+A!KLBxntFESfdhgfhw_J%1Q>bt)nBytsJd{MshN4oOgcl%zf5XY-L!)Am{jr_G_OBJ;equo4 zv%hYzLz4_6e7qhWBA)cJlL7cj*gjRo^OY2{wKpn)5!u!}y6^Uyta$rf#{a!une5ys z!lTE?lr0^eR{)95C`SoC&9*3EY<%0UX;{R5X+Mas_n)a$p`r$N{c3+-`^`irlSAt2 z15WO*j@{~4XZaMZFa}{1Ja`#NMOP&aT^C_Sk-tACq!WRw8=FqrWLCPxtkgHI={iW{ z_C3yon_hq(b(L4rn=KszT&LjCnVnr(=U?e0whjSi)iuXqI^v;Rn0to8EFF4#uD}~9UKFf z%9p5C31DmD{Eyw8uLO8V29IO4Jd((nFP+ zoSvpPl^)M3Q&V)wUD~u&ewNLWl*OxJx^eK2Fz;09PWO@f!#HqnmeCe%0YrJ28g0gauPs2wf@NIc(mNpYkGQ3BRPvM2Y_n* zKE%-F3W}%VHpC>Ljlo3=&1{X#Sdl^*vqM8waxrxLc-XX9{{Z=zNpl}FV(YwSKd}#} z1>6%qLqr+HnP-{Cd}Mjf3>yQ|Bg8W->1UvuU)^SsLyyY}jI6+e1eccf7h5F>4X)>u zuv=ZUJ)(X6zaQ*pCVC!e{_yJu%19Y3o%AzTUmR|?ZpO?93*v6v&{?^7A^GUx)YPIQ z_A^a#OYc-&X6))OH0Er9i=%cp33us65sPok4l|A_K;L*G*P0&hYrp90F><}=sO*MQ zNaJIt_9kEFk(Q!!K+K#=lE-|bp%c0~{YscQjfq}acjyg79{V5KG(6i2p??xSB1mRr zQ(&Lk!n7xNN+?`NT8uo%8(4`4!F$}sQjA9sFa8sKMjS=-f5KbFsvyi4v(Zp+0Q zBNul=7Ng_BOb2nIgHPYzQaUXq5lszbZOFMDKwK&PjeY0l7CoravZb3fbr{uhA*KDg z<6&IwmByylmJ4%3|HN}CJFCWvc>bhrZE;XNjQxObR&dHe&!KLJUn?BV_hkJ5&Ykfx z7#|zS*712UN%#Y>SVCN3Yod=@_W7V<;FkRls1K!x?8^3%tVp&$CYw3ucmP?oiJKcn zim$?{ecEILVsm*G?T?ANF$Y8g^6*oUNo)`LF7*i9ne!@fnStxOmx#|KK@Fi|X4|6s z-QkUq{nm9&ziM*g?W@1RYc#kTUJrtic!&r8u2Jz9YX=#?arI7U47oyKwBT&15= z`6iV7PaJ9qLoLq;44l=1N|=LddehuFSx%8dNkyRODVb?_|^nb7@V zC(gBXu^f$2@4PY}SKybKmbhti1jy;X9o(e&NEDQkD*s-pqi|eyW2M-2wbiU>HF)|_ z+eL4W!Ry&a1vb>d(+6)Q=3kg|bN8&Jcnsz!b>ss*`F>g2FA#D*=BG_o0}hDE+db{0 z3KaGg5sD^w`WXtfR#JGp;Fl)Y1d%B`nYZoogQv&ei6+_XS5q1pm2zR}u4}8yr1VC< z!?sFq8c%G@L5D(y^?$YaR|gDQwG$KYecV)={a@ftu(X6q89hMxaaO&8uzG&si+^QD z0&*j}Lc4#&4bo80!ITNlGaS|CUABG8TTIV7nhd*siTBOL7vg`%0Fzp=fc4!0w`+}y zi~QG>;1()?KF4|prL(`)>CVUn52vUPO{WX-a8~W$>Fo7-6TB6`>}Pqw!wx5`-}OE+ z**7lWva6oSViD~=S3xBU1we#e^xnm0pNQWo7`dNlnEQ_8Db|U)b;!E#f%SqmG##t1 z@cF{dU5>9t52BeK?AUQJ0Tj4w4w?wNQ?MJW`;y9Tn4j#HU}=tkN#K>^ygv1>s$e0> zq?b~_b=oOhbf99W+Avi`$&4?3hS9FWQRH;y1XiRb@UhX}C*>Ob-^=~=;}bT@2i_WF zK0kp{;-P3td>0oJ&pb#9i`@e?HL1ykw_}YeXO_ZpK80-?S1#Ez8D1Uq%3)n#ePfr# z!G%L9^egQO=+$z%ZmI0=rjoHf$J4r&05Ghk?~dOUy!T1U^`6q}k2yVcWyj{6!;u}a z#sIN35wL@!Rb-o=bNj8GWO#sv@8QDWdP{O~hEYo-t_70eQI(h5GQSCj<@KvZ$XAO3 zrLPezPF>?u`__ZxI-7zw?Tct`96XiHS9oeh6`>MkhI&n zlIF@jP0>f%%XpWb^-<=*Y9a#F@1W5TzJ{`x)1y}k6Ctn=( zFB2b4gY&q%3^cC|SsXp=i@41!Hk9vQU8r$kFeWm8kiz`5eqNy=Q)KE;4}WB@Tekw_ zp^O{AtUqq>a7Gyz?2>+E>1}g+$CVmSi}+%Ecz?vG1gPx=L2bWgF=iXDGqnW2iP{j~ zARU<@yDFeaud?OQXDMLl>K<{;hk{IN$9F-gt;b+^4)^ z5kCKA7p0DV=~|AdsTAak)O{Fge%!~gMa2}@qW|)}J~vf@{;ieUGwYztdf7YUO}mYo z`I6KgB%W{PD#beA_J3}g?0F26Ud~AMwLUdH?bN#v7U}=dWd?VtC#SYs;K>god!B6B z;JoIGl{9ydqUiSl%bwqiY?Y;?EAu^GFL~=^=u?%B-jEl6<|(q2#LJeQ$+mB$@8MQ! zSA4U=fhH!}NypV@>h(7jrluS|3pv@K+q5b1s_v$6aJ1~10RVvp7N!Bi7PCrW$Y(SB zx#}R#MoE=XE4Uic{12dfx+}E)Bg+O~MHae3{JnrPs|woamcfE2@Xulh^j)4Z@5n%r4CQ*gB3m%6!^J3vUKI(^c}5 z4nEV6Z68DL636X3!dx<5o3;8oHfd{uj-9~P)1to#k($}S)MdBJLx1(JUHzIJE!-&n1! zwN!2QqLM27%=7?s8ma+-Bn&>18alYUkip0K7`f9GWBu z*&j;+97wwdddS7LsbXSZ)6VtLF=TB5e5a$~Oe_gD3=^o{L;*F47VotErDt?ExS-Fg zh|FGouy@fZo6LwJPaaP%#w*4Ud*t2SNq)rTL1Ngeqm1=wy;-%0*6ET~#pI-k%EL0` zV&fPAX`yNMR*@m*zC?&-1!l?W`bT81zag9?L*gZV$C^9POowMIcoT?^GscMqvAgCt0dbq9UNr~nmVoaHx@zTQQ;14g&GW&FFiFk#ljt6iX6NFEX zf6alo4}fuN0xX%uJ4oQw%3+$?OLmEpfK1gZR(zxPCyrm76X@Ht=G?>D)+zU9dEez& zZr_7(3E;3rT>b0-GGjF;xG?(cJvlN@@whL|VTXFpG+k%vk-vkr!?yP}3#e8+6Z11% z1*gc>B8VdAggvK(xi@`imhLI&SS8#II=Vh}8CQADu5q_%!%bYtH zj>f1GQRK7UbX?Mgu?PwsPn3XNuUsvG{^jvpSe(wjamHqN-+7CJ6(J+c@)sGO^lLFh zaOVR0Stz~>=#dGHV&O3B&Qti_p+Gt|(wj4?EaQ|nT7jxWpBLkvN-f1*3GChxuuLAj zyJFhy{+N3uDNCL{Z5wl$YCdR*l4o?sh2T%4eOun-N=0%Hdq=|V8cvVj5kbvzpmzC0 z_*q|w>ZHW=&->x_B%#RkI3{6Lzm&=wImz9X6|eArYH63T15_;?d}e$HE8QSgf&dPJ zD?Y)%{Z!Y%&-Y0s2IgC6F{LODbXD5&4Xo)~>?ry~Kpo$pavCe3dQx(Qvw}r(=tq;f z9g&5^5W+B+($I7EA+Md&=}Kp}+VA$q=}*9?{_<5pbKHB2rgiJCheq#7I+=C~t{>1L z_~c;BfxTFv2p?Pwz=;`Hv6?*H;2^#*eaY?4ia834zM`VMXX#2V56O2DHK{oKX8aw8`(HvU#7x;Q0Zkb4QNh~#T1PP&aSqYPC)>t7Sqhe$ zKd!7q+N%u=g|sK1e;2!leGLNX(3&QUqy+l+4tHh8`dE|iYpvQ3_o^cmmx@Syea(l z-e)WaS-;M*{5|(rGZF9f*(MChx40xFqn^J^CbFlU@J-Kj zn|P?{&{MU7Z2u&Cr|?CiVg*gsdEl&<&yZG<2f&q99*mCR6Qar&VE(-ie-0%MQN-zV z1~Kr^(x?J|0@-p=p!J-O2Dn|Prnp=L$Do7oZW78-qWh6%4ALFVpwIe}yFZl^Gqo$eS@^69v1Z(C*coy$M>y)Rte6k(O96Og6FiifE?7t zlnji$?>!3Qd2$EO@1e~X!tI(bR$m$Ok3>FMTG9PFs$8|haw$e7O8K4lB&!v?<6Yia zhMXog?MimsmMx!i0=GtL*>no;Yl`RIzt&iu#E#O73OkQoZiE=Z-tx%S%{dvsmniK( z*JK(8mWyLJ4B4>hWZTymk7D-B^x((Y-lK&ox)L6VZF})*}ds>uTSIBxcS{cE;VPY5Ldu=@)m!#eN}(o zyN4*Emk!@)qGUu@^!YfJcLQFi14BG?uB>0(T=Euqc4xFoei7o0$nRO^o#{~7WzIc7 zBtV&&A!y!h+1qo@28cJsNktd(>O3E4;DyN^wb!lVN}+~MVu)O0M!f{41W4a!^_8Gr zKT`gn4w8OiW9)23Tq#%-5a!-ONt@!O^h;!UE)FNk={y$7gp^k~*NSu+i7VtR-Ail) z1K(RtZ>OiN1)QTw_zMSvdnk;6Q9`4CQHhztjmqnETcrY>2d6%O1rB- z#V-4FJfj-UIpKFIt6~qwr(cW~VwP5Nh-0uJ4a%(^a;A`k@{O7eC2~U~()lVSlO)(C z8H8jOG=L38Tr$nP8i|e;Te$k?Pn@c}scbN?JQCxmCzityv7LJeaFd^PHI~cC)bd;3 ztY8Mr*~mS8n=ImhvI0!X2#r0&vsWA_7T?3#uw%--!zokKz9d60ex{J{ICCXH+R4f2 z7@E~s(2(6v7J_c|^~91GFcfK{!Q9ztbPAVfuDD_L`BO;lqUABvQCUv;mkcQ_!_&3_ zxpw2j%uE(i6^TZzUyf?Ijj}<1+y^8uaAzZ6t!El7+jm<`VxzBeZjNGSxFRi}7T^uz zAO}jE0$@5kkEIXs98wApy2Olj36S7R!nY-hLp0!(9Hw;n<6DV_4Yl~_yMQj-k!D;} zK;u$WdqhDyNbn=)HYwt;%T&x+|9^a03xEB)<97|&bSAIyJ%BDKnzj4++!hIgUn|$${@v`silaK1GelhkJ*rSEz>PNgs2XDShcs-YT|E$JU z`a7Mh=VtX&1AO1p$1ip|#n@kDkLK5{Jo{p%^YuWA-IJ^Q4+pIT0oAa|mie{ZDa_TT zfZcvq_1Eg}u0I#5$1hS=g^xEp2)^RZ*6^7}Jp5(JmpxVeq1&?5NOCDZt52WhgN4q; z`tVWP4;E$0djsFy*=PcGy(!p|9UJ5ur`XG?DdB3*XdMAoY7)>OKJfVQ;dKW5@6m5#q8DFdNOau2Pgpod?jFTXP=^M_Yp(#`Bu0pOiwO&PO&qx zw?yK~K(*-=*qkaHVw|bR^0t*YE78hgQf-=zl==hs0l)!(4`{xm(CitE5uKl?xD64l zPQ~uHWfi%gTh_A2%EmQi8(cXkDtD$Z5>u&$-_)rE=TK@qo~2c<_R;4)&3B!OBI?|V z)ps;WI*p6v7&%2J)9W2TjkYm*!(@C6`>-Vx2xe)*N#iK`WeJ20=y$rTvcyxg8qnj( ze7)lA(ASq3tUeGKn3Ve?g6@b0Job6j*{-|a3ges&HSvSy6KlU(`Wd~Oc+Fvy$(5Ts z+giucH==dkK~>Ng4)}?_-d7Mz;v44L;RXcA4XzIsy5^_?v!3(=o;Nn44f~CeQ;Wt% zxX0ch1v<}WBUa?v8ZO8-zE?3D+zG?LQdNk906FZ^kH*`}&IXokTTUnMH^&!we`?xQ zL-;QHS7FPphpq;VohO_Eel+jC*=Rp{V2eua&At;b^H+;P7WLFo#81@|aKvqfR4jE@ zin%R~jC!T+Qj|BPoz5X{y)5pHyx-wpLygM{^cpjf2ofCEh39g4cnC1n8!#+IXq(yU z$wFV%Rg@2jFOz{_x$sEiNU9Vn^`#i-LU<{rbBGauXT()rcjGh$GooP{CsAyP-5*vs zrR*7QX__!iQQF{WWj{`Bfazskflk#@#ExGep5*Q)$1E z$5Yg`?M`5Cxj1LKqXs#Ih8NZ6g7(u$$|U|zp0qxlRDp7P6E*k##y9Hcs;3*>i}9Hz zJviXj(_w3^4+iU|Mfo#gyknXv*efZw=>V26^VOne=suCPmWwIlm$ZR%Q<=;PpPkV< zk`-4c-kCnZfpPPLQiYF_8$iV~ zcxJX;yW5N-h#~S%rFl3#+4s2cr?c4tIa}&o+k0T(#3t_2&E%i4s^1>w+?3CeMifwY z_8^uh;W=TwN?4!%zY?r}I4!XjBgR_%Gm*dSI8Lh(o!}UM0L>u;Nn~K=QzG7gV@6~xM>eza5ELtc`sQjUp16@5dQ8+$N{@#n3IQ72GDqtjNWLZOK)`Li%V9d3US z^WB6!eT+p|LY#Wj&(h?-M<~!aMC8sj4Sf|!f&DoPF!j&1$2;;YaH*%)*b=*LT0Ja2DhVsEET6#rG%ab5qg4Hcarr~yy4=J_@DbxlRb9!s(MwLN0im~E zwQDmPa9p#RaQggxH1?7PfvU&j|y@4q3XkvgW;fy$4)gH<6R10)35YJzpm31&(OLb zN&lPO=sD}UH-M9Wq&wE>PTvI&?x?k<)5&hvWEbc5DI#fwzyhEbsY2EV7_rv__bDQ7 zjBzkgLeuo2IKyjwO{bIS_yEH*?PNHUYQ7bg-tC%LZr!6P6(#J+T5VVi6dKrJrifr+ za4zIvPKEw?yT&CzIfX!a@Slys&tY#1+WNVhR^H%l2B+QwjH%`pH+dN}w}=Pl%4Tw; zUt08YG0*=QYIr~VH(m~)@v^7R!3SsZ2DqNXZa4e!UR6Bgv3mXS(e^LCKen%@ALZDP zT(z3cJJ!FEeR=O+bzv&V%_tyUwtCKK7qWiS$*iw&54ZhV?kFr~BF%VR_H88Lb$+A_g*l2SPk$X=r#fz(qDGuf+y$APp33YbDzn#nvd;M)if_Jf z?_ts7t@f)1&injVMpj+i`$pdJ?2AZzrkk8MBcC(pbC?M-BY$De_b`0+Fq7PsUpKU0 zO)lCg2Me)fca*>|Nq=O_IiX85Y#atHp7gP>3M$Tm1otz-L9;dIyah%`*axO!qn=P5 ze(GvRR6e~<^zwr`o3pemk@_Rv+m347)md5+lca3oBASjLldVgef1{@zN+Z!bFu-fK z`HY6bNsUXasI$t;eJ!8Y8lQ`2Hm@yqQ3papu1Urg6a~U!4q-8aP(%BGzgPIvmwC^7 zutp{@8B6kVaGwpp* zT$(ceG)W3i!-vcz1eCJJ)49miDbT6r?-`sW3BfbaO~ciCTkd5zEM7kGRFq^w2ZteZ z${6A$e9w3>8jxUhtNbij0bNHpqwhS5ro?uzX!MIc!IO_CIPKfR8GdDtUSubgTmKWL zeswB}2m5eK5xBHaEZu42ePPCqk3Dg4_V7vhjW@8ykiFWVLN0s-SKsK8~5QkdKn%eCBnu z*)}HqU7P-tX3yXk!t*zR&%FOElIrO{OaT9CW`6MS9{`W)&CNFO-)9E0-v0n21nXYl ztGb!oFSZHbKEm?@)EjhfZWd1`9x<2~)r($wI|O!^{=aq@T-G~=q*CZ1s3?Bpx*ZCA z?BRKpOvC9@5U0~LoFeNUt+V_oM&p~$>|8Hx_fKl1%!ulEgHp5u+Kvv2-lOTbvwJ0! zx_f0r=a?6FnzJY&`F}TaV6>G(HRIZl{r{Qu+%{_em*Ri9w>tL!q|N`*JHfuTj6pfR zX0JBnPWJQc|8Mrc1A?^2KhUPce|GBs0FD0zBrR9J|HKv_72Sg}DG!ut{qF|oo!iqp z{o(c8y$=F|e*kQ{d-hzBDfw8+CUvs)kY4xZ!R?f`o44-XJ9z==ckET-@XJ-G-$HybXif4A&(FelTS;3)XqHm{O=b9(dyq9 z@7*e2O)?Xw;=FkC?|`xk z{en4u&w;tD?j2xCCW=Jo?ra%;X(E89jX}9tNF;3xZ})uILdND``JS#hdtMf24k3#!Z=O3 z*$?uvh%mRFlW3;Bw%kw1+<8x)`Wi?kJ487@vETui#@Po>NjTHWXs^-lT&Dgc$KL$~ z2)lI^bEL7V3DRD;O~OtYGR^+VFy@8**gg|4%|*tC%r*71CueQBq|CGmPA_-}&CktQ zA-?Ju`&3FvDat!E>~PEgf0g7C1Ax25a-Kbizal`5#qbJ!87UY&kTk~?y(A5Z=EA$C z1hLRX6bB*d)p>#xjM||R#qEYXRb#gT@Mf$c1l!^J;*tn$I{qVGXZd%ipCNIM4U))Z ztW>H5ML@}kSca9y1!6_Hz0m~tos8pN{rEbF=reCj7&{8t2Li5<+zBlvS~1$3<;2sA zVpp)jJREW`!y~Fd!t13rRGGUmu#~QYu8uh3C2!2!YAz}j)MrXOna2)r)zImJo6ebx z45%4nVJ_&zrB0+cl(uh=VH|`CYD(Y6K3H47kxl$)$Lfph{vA#vSBh}Dt2+SBo^C#Ut-SI z@>hRkN^q2Vf(kvU@^!{ts0+LDh}3>ugcjM=xMisQ&1`gcE?K^P!CI(3d~G+kH&%PX z-A>=JyUg7VO(Z2xJhKyaszFtB@GyyAG?UEodyTxCL^8JLI#TI_^qD3B+NR4yLJeaE zr@*49Sp;QP05Ls)s24FdVK-sW7Y$)q!UPc^Q5i*P9z_#rs}Udi;v8r8f{6R@_dfP8 zNf_~xw6RJBJmzxš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 F{vS|__Fn)1 literal 0 HcmV?d00001 From 8b2d60988a00fe2ee20dc91f81d0768cb655bd86 Mon Sep 17 00:00:00 2001 From: Geert Jan Bex Date: Tue, 18 Aug 2026 15:38:58 +0200 Subject: [PATCH 18/33] Add notebook on cross-validation --- source-code/pytorch/README.md | 4 + .../pytorch/mnist_cross_validation.ipynb | 1221 +++++++++++++++++ 2 files changed, 1225 insertions(+) create mode 100644 source-code/pytorch/mnist_cross_validation.ipynb diff --git a/source-code/pytorch/README.md b/source-code/pytorch/README.md index daa1d64..057b42e 100644 --- a/source-code/pytorch/README.md +++ b/source-code/pytorch/README.md @@ -15,6 +15,10 @@ natural language processing, computer vision, and reinforcement learning. 1. `mnist_mlp.ipynb`: Jupyter notebook that trains and compares multilayer perceptrons with and without dropout on the MNIST dataset. It also covers checkpointing, confusion matrices, and sensitivity to initialization. +1. `mnist_cross_validation.ipynb`: Jupyter notebook that introduces stratified + cross-validation with a compact MNIST multilayer perceptron. It covers + paired model comparison, fold-to-fold variation, leakage prevention, and + one final test-set evaluation. 1. `mnist_cnn.ipynb`: Jupyter notebook that demonstrates how to train a simple neural network on the MNIST dataset using PyTorch. It includes code for loading the dataset, defining the model architecture, training the model, diff --git a/source-code/pytorch/mnist_cross_validation.ipynb b/source-code/pytorch/mnist_cross_validation.ipynb new file mode 100644 index 0000000..40b7397 --- /dev/null +++ b/source-code/pytorch/mnist_cross_validation.ipynb @@ -0,0 +1,1221 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "3e6ee324", + "metadata": {}, + "source": [ + "# MNIST: cross-validation with a multilayer perceptron\n", + "\n", + "A single validation split gives one estimate of how well a model generalizes. That estimate can depend on which examples happened to enter the validation set. In this notebook, we use **stratified $k$-fold cross-validation** to measure that variation and to compare two multilayer perceptrons (MLPs) without consulting the test set.\n", + "\n", + "This is a **tutorial notebook** intended to follow `mnist_mlp.ipynb`. The default workflow takes approximately 10–20 minutes on a typical CPU, including interpretation; the full experiment is substantially more expensive.\n", + "\n", + "## Learning objectives\n", + "\n", + "After completing the notebook, you should be able to:\n", + "\n", + "- explain what changes between folds and what remains fixed;\n", + "- implement stratified $k$-fold cross-validation without leaking information between folds;\n", + "- compare candidate models using paired folds and summarize fold-to-fold variation;\n", + "- keep the test set outside model selection and use it only after the choice is frozen;\n", + "- recognize when ordinary random cross-validation is inappropriate or unnecessarily expensive.\n", + "\n", + "## Prerequisites and expected output\n", + "\n", + "**Required:** the train/validation/test distinction, PyTorch datasets and data loaders, and the MLP training loop introduced in `mnist_mlp.ipynb`.\n", + "\n", + "**Helpful, but not required:** familiarity with means, standard deviations, and class stratification.\n", + "\n", + "The notebook produces per-fold loss and accuracy, a paired comparison of a classic and dropout MLP, and one final test-set result. It downloads MNIST into `data/` if necessary. No package installation is performed inside the notebook." + ] + }, + { + "cell_type": "markdown", + "id": "fb139ff5", + "metadata": {}, + "source": [ + "## Experimental design\n", + "\n", + "The official MNIST training split is our source of **development data**. We divide the working development set into $k$ folds. Each fold becomes the validation fold once, while the other $k-1$ folds are used for training.\n", + "\n", + "The official test split is not one of the folds. It remains untouched until we have selected a model configuration and fitted that configuration one final time.\n", + "\n", + "The quick configuration uses a stratified subset of the official training split so that repeated training remains practical during a course. This makes the notebook a demonstration of the method, not an attempt to obtain the best possible MNIST model. Set `FULL_EXPERIMENT = True` to cross-validate on all 60,000 development examples." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "849d27db", + "metadata": {}, + "outputs": [], + "source": [ + "from collections.abc import Callable, Sequence\n", + "\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "import pandas as pd\n", + "import torch\n", + "from IPython.display import display\n", + "from sklearn.model_selection import StratifiedKFold, StratifiedShuffleSplit\n", + "from torch import nn\n", + "from torch.utils.data import DataLoader, Dataset, Subset\n", + "from torchvision import datasets\n", + "from torchvision.transforms import v2" + ] + }, + { + "cell_type": "markdown", + "id": "165e55fe", + "metadata": {}, + "source": [ + "## Configuration\n", + "\n", + "Five folds make the mechanics and the fold-to-fold variation visible. The quick path deliberately uses a small model, a subset, and only three epochs. Cross-validation multiplies training cost: comparing two candidates with five folds requires ten independent fits before the final refit." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "8264ed4a", + "metadata": {}, + "outputs": [], + "source": [ + "FULL_EXPERIMENT = True\n", + "\n", + "N_SPLITS = 5\n", + "DEVELOPMENT_EXAMPLES = None if FULL_EXPERIMENT else 12_000\n", + "EPOCHS = 10 if FULL_EXPERIMENT else 3\n", + "BATCH_SIZE = 256\n", + "LEARNING_RATE = 0.05\n", + "MOMENTUM = 0.9\n", + "\n", + "SPLIT_SEED = 1_734\n", + "MODEL_SEED = 2_741\n", + "LOADER_SEED = 3_907\n", + "FINAL_MODEL_SEED = 4_997" + ] + }, + { + "cell_type": "markdown", + "id": "ec0ed3d2", + "metadata": {}, + "source": [ + "## Reproducibility and device selection\n", + "\n", + "Fixed seeds make the data splits and CPU runs reproducible under the same software and hardware configuration. Exact results can still differ across PyTorch versions and devices. We pass transfer settings explicitly so that data-loader memory pinning and device transfers remain distinct concerns." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "0877e241", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Using device: cuda\n" + ] + } + ], + "source": [ + "torch.manual_seed(MODEL_SEED)\n", + "\n", + "device = torch.device(\"cuda\" if torch.cuda.is_available() else \"cpu\")\n", + "using_cuda = device.type == \"cuda\"\n", + "print(f\"Using device: {device}\")" + ] + }, + { + "cell_type": "markdown", + "id": "ed6f5092", + "metadata": {}, + "source": [ + "## Prepare the data\n", + "\n", + "The transformation converts each image to a `float32` tensor in channels-first format and scales pixel values to $[0, 1]$. The labels remain integer class indices, as required by `nn.CrossEntropyLoss`." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "c9a986e6", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Official development examples: 60,000\n", + "Official test examples: 10,000\n" + ] + } + ], + "source": [ + "transform = v2.Compose(\n", + " [\n", + " v2.ToImage(),\n", + " v2.ToDtype(torch.float32, scale=True),\n", + " ]\n", + ")\n", + "\n", + "official_development_data = datasets.MNIST(\n", + " root=\"data\",\n", + " train=True,\n", + " download=True,\n", + " transform=transform,\n", + ")\n", + "official_test_data = datasets.MNIST(\n", + " root=\"data\",\n", + " train=False,\n", + " download=True,\n", + " transform=transform,\n", + ")\n", + "\n", + "all_development_targets = official_development_data.targets.numpy()\n", + "print(f\"Official development examples: {len(official_development_data):,}\")\n", + "print(f\"Official test examples: {len(official_test_data):,}\")" + ] + }, + { + "cell_type": "markdown", + "id": "f0ea88b4", + "metadata": {}, + "source": [ + "### Select the working development set\n", + "\n", + "In quick mode, `StratifiedShuffleSplit` selects a smaller working set while approximately preserving the digit proportions. The remaining official training examples are simply unused in this demonstration; they are **not** silently treated as test data." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "f6883622", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Working development examples: 60,000\n", + "Class counts: [5923, 6742, 5958, 6131, 5842, 5421, 5918, 6265, 5851, 5949]\n" + ] + } + ], + "source": [ + "if DEVELOPMENT_EXAMPLES is None:\n", + " development_positions = np.arange(len(official_development_data))\n", + "else:\n", + " subset_splitter = StratifiedShuffleSplit(\n", + " n_splits=1,\n", + " train_size=DEVELOPMENT_EXAMPLES,\n", + " random_state=SPLIT_SEED,\n", + " )\n", + " development_positions, _ = next(\n", + " subset_splitter.split(\n", + " np.zeros(len(official_development_data)),\n", + " all_development_targets,\n", + " )\n", + " )\n", + "\n", + "development_data = Subset(\n", + " official_development_data,\n", + " development_positions.tolist(),\n", + ")\n", + "development_targets = all_development_targets[development_positions]\n", + "\n", + "print(f\"Working development examples: {len(development_data):,}\")\n", + "print(\n", + " \"Class counts:\",\n", + " np.bincount(development_targets, minlength=10).tolist(),\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "0db8aca7", + "metadata": {}, + "source": [ + "## Construct the folds\n", + "\n", + "`StratifiedKFold` keeps the class proportions approximately equal across folds. Shuffling before splitting avoids folds that depend on the original storage order, while `random_state` makes the fold assignment reproducible.\n", + "\n", + "Each example must occur in exactly one validation fold. With 12,000 examples and five folds, predict the number of training and validation examples in each fit before running the next cell." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "68d98304", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "

\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
foldtraining examplesvalidation examples
014800012000
124800012000
234800012000
344800012000
454800012000
\n", + "
" + ], + "text/plain": [ + " fold training examples validation examples\n", + "0 1 48000 12000\n", + "1 2 48000 12000\n", + "2 3 48000 12000\n", + "3 4 48000 12000\n", + "4 5 48000 12000" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "splitter = StratifiedKFold(\n", + " n_splits=N_SPLITS,\n", + " shuffle=True,\n", + " random_state=SPLIT_SEED,\n", + ")\n", + "folds = list(\n", + " splitter.split(\n", + " np.zeros(len(development_data)),\n", + " development_targets,\n", + " )\n", + ")\n", + "\n", + "validation_positions = np.concatenate(\n", + " [validation for _, validation in folds]\n", + ")\n", + "assert len(validation_positions) == len(development_data)\n", + "assert np.array_equal(\n", + " np.sort(validation_positions),\n", + " np.arange(len(development_data)),\n", + ")\n", + "\n", + "fold_sizes = pd.DataFrame(\n", + " [\n", + " {\n", + " \"fold\": fold_number,\n", + " \"training examples\": len(training),\n", + " \"validation examples\": len(validation),\n", + " }\n", + " for fold_number, (training, validation) in enumerate(folds, start=1)\n", + " ]\n", + ")\n", + "display(fold_sizes)" + ] + }, + { + "cell_type": "markdown", + "id": "b9bb7e28", + "metadata": {}, + "source": [ + "## Define the candidate MLPs\n", + "\n", + "Both candidates have the same linear layers. The second adds dropout after each hidden activation. Keeping the architecture simple lets us focus on the experimental design rather than on image-specific CNN details.\n", + "\n", + "A model factory is crucial: calling it creates a **new model with new parameters** for every fold. Reusing a trained model would leak information from earlier validation folds into later fits." + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "9059910d", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Trainable parameters per model: 109,386\n" + ] + } + ], + "source": [ + "class MnistMLP(nn.Module):\n", + " def __init__(self, dropout_probability: float = 0.0) -> None:\n", + " super().__init__()\n", + " self.layers = nn.Sequential(\n", + " nn.Flatten(),\n", + " nn.Linear(28 * 28, 128),\n", + " nn.ReLU(),\n", + " nn.Dropout(dropout_probability),\n", + " nn.Linear(128, 64),\n", + " nn.ReLU(),\n", + " nn.Dropout(dropout_probability),\n", + " nn.Linear(64, 10),\n", + " )\n", + "\n", + " def forward(self, images: torch.Tensor) -> torch.Tensor:\n", + " return self.layers(images)\n", + "\n", + "\n", + "def make_classic_mlp() -> nn.Module:\n", + " return MnistMLP(dropout_probability=0.0)\n", + "\n", + "\n", + "def make_dropout_mlp() -> nn.Module:\n", + " return MnistMLP(dropout_probability=0.25)\n", + "\n", + "\n", + "model_factories: dict[str, Callable[[], nn.Module]] = {\n", + " \"classic\": make_classic_mlp,\n", + " \"dropout\": make_dropout_mlp,\n", + "}\n", + "\n", + "parameter_count = sum(\n", + " parameter.numel() for parameter in make_classic_mlp().parameters()\n", + ")\n", + "print(f\"Trainable parameters per model: {parameter_count:,}\")" + ] + }, + { + "cell_type": "markdown", + "id": "e1e38927", + "metadata": {}, + "source": [ + "## Training and evaluation helpers\n", + "\n", + "The helpers aggregate loss and accuracy by example rather than averaging batch averages. Every relevant execution setting is passed explicitly. Validation loaders are not shuffled because ordering does not affect their metrics." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "64c8d7dc", + "metadata": {}, + "outputs": [], + "source": [ + "def make_loader(\n", + " dataset: Dataset,\n", + " positions: Sequence[int] | np.ndarray,\n", + " *,\n", + " shuffle: bool,\n", + " seed: int,\n", + " batch_size: int,\n", + " pin_memory: bool,\n", + ") -> DataLoader:\n", + " generator = torch.Generator().manual_seed(seed)\n", + " return DataLoader(\n", + " Subset(dataset, list(positions)),\n", + " batch_size=batch_size,\n", + " shuffle=shuffle,\n", + " generator=generator,\n", + " pin_memory=pin_memory,\n", + " num_workers=0,\n", + " )\n", + "\n", + "\n", + "def train_one_epoch(\n", + " model: nn.Module,\n", + " data_loader: DataLoader,\n", + " loss_function: nn.Module,\n", + " optimizer: torch.optim.Optimizer,\n", + " *,\n", + " device: torch.device,\n", + " non_blocking: bool,\n", + ") -> dict[str, float]:\n", + " model.train()\n", + " total_loss = 0.0\n", + " total_correct = 0\n", + " total_examples = 0\n", + "\n", + " for images, targets in data_loader:\n", + " images = images.to(device, non_blocking=non_blocking)\n", + " targets = targets.to(device, non_blocking=non_blocking)\n", + "\n", + " optimizer.zero_grad(set_to_none=True)\n", + " logits = model(images)\n", + " loss = loss_function(logits, targets)\n", + " loss.backward()\n", + " optimizer.step()\n", + "\n", + " batch_size = targets.size(0)\n", + " total_loss += loss.item() * batch_size\n", + " total_correct += (logits.argmax(dim=1) == targets).sum().item()\n", + " total_examples += batch_size\n", + "\n", + " return {\n", + " \"loss\": total_loss / total_examples,\n", + " \"accuracy\": total_correct / total_examples,\n", + " }\n", + "\n", + "\n", + "@torch.inference_mode()\n", + "def evaluate(\n", + " model: nn.Module,\n", + " data_loader: DataLoader,\n", + " loss_function: nn.Module,\n", + " *,\n", + " device: torch.device,\n", + " non_blocking: bool,\n", + ") -> dict[str, float]:\n", + " model.eval()\n", + " total_loss = 0.0\n", + " total_correct = 0\n", + " total_examples = 0\n", + "\n", + " for images, targets in data_loader:\n", + " images = images.to(device, non_blocking=non_blocking)\n", + " targets = targets.to(device, non_blocking=non_blocking)\n", + " logits = model(images)\n", + " loss = loss_function(logits, targets)\n", + "\n", + " batch_size = targets.size(0)\n", + " total_loss += loss.item() * batch_size\n", + " total_correct += (logits.argmax(dim=1) == targets).sum().item()\n", + " total_examples += batch_size\n", + "\n", + " return {\n", + " \"loss\": total_loss / total_examples,\n", + " \"accuracy\": total_correct / total_examples,\n", + " }" + ] + }, + { + "cell_type": "markdown", + "id": "d417463d", + "metadata": {}, + "source": [ + "## Cross-validation function\n", + "\n", + "For every fold, the function:\n", + "\n", + "1. resets the model seed;\n", + "2. creates fresh training and validation loaders;\n", + "3. creates a fresh model and optimizer;\n", + "4. trains for a fixed number of epochs;\n", + "5. evaluates once on that fold's validation examples.\n", + "\n", + "We use the same folds, initialization seeds, and training-loader seeds for both candidates. This paired design removes avoidable sources of variation from the comparison. Dropout still makes the two optimization paths differ.\n", + "\n", + "Data-dependent preprocessing belongs inside the fold as well: means, scaling parameters, feature selection, or dimensionality reduction must be learned from the training portion only. The MNIST transformation above merely applies a fixed conversion and scaling rule, so it has no fitted state to leak." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "8d83541a", + "metadata": {}, + "outputs": [], + "source": [ + "def cross_validate(\n", + " model_name: str,\n", + " model_factory: Callable[[], nn.Module],\n", + " dataset: Dataset,\n", + " folds: Sequence[tuple[np.ndarray, np.ndarray]],\n", + " *,\n", + " epochs: int,\n", + " batch_size: int,\n", + " learning_rate: float,\n", + " momentum: float,\n", + " model_seed: int,\n", + " loader_seed: int,\n", + " device: torch.device,\n", + " pin_memory: bool,\n", + " non_blocking: bool,\n", + ") -> pd.DataFrame:\n", + " loss_function = nn.CrossEntropyLoss()\n", + " fold_results = []\n", + "\n", + " for fold_number, (training_positions, validation_positions) in enumerate(\n", + " folds,\n", + " start=1,\n", + " ):\n", + " torch.manual_seed(model_seed + fold_number)\n", + "\n", + " training_loader = make_loader(\n", + " dataset,\n", + " training_positions,\n", + " shuffle=True,\n", + " seed=loader_seed + fold_number,\n", + " batch_size=batch_size,\n", + " pin_memory=pin_memory,\n", + " )\n", + " validation_loader = make_loader(\n", + " dataset,\n", + " validation_positions,\n", + " shuffle=False,\n", + " seed=loader_seed + fold_number,\n", + " batch_size=batch_size,\n", + " pin_memory=pin_memory,\n", + " )\n", + "\n", + " model = model_factory().to(device)\n", + " optimizer = torch.optim.SGD(\n", + " model.parameters(),\n", + " lr=learning_rate,\n", + " momentum=momentum,\n", + " )\n", + "\n", + " for _ in range(epochs):\n", + " training_metrics = train_one_epoch(\n", + " model,\n", + " training_loader,\n", + " loss_function,\n", + " optimizer,\n", + " device=device,\n", + " non_blocking=non_blocking,\n", + " )\n", + "\n", + " validation_metrics = evaluate(\n", + " model,\n", + " validation_loader,\n", + " loss_function,\n", + " device=device,\n", + " non_blocking=non_blocking,\n", + " )\n", + "\n", + " fold_results.append(\n", + " {\n", + " \"model\": model_name,\n", + " \"fold\": fold_number,\n", + " \"training_loss\": training_metrics[\"loss\"],\n", + " \"training_accuracy\": training_metrics[\"accuracy\"],\n", + " \"validation_loss\": validation_metrics[\"loss\"],\n", + " \"validation_accuracy\": validation_metrics[\"accuracy\"],\n", + " }\n", + " )\n", + " print(\n", + " f\"{model_name:>7s}, fold {fold_number}: \"\n", + " f\"val_loss={validation_metrics['loss']:.4f}, \"\n", + " f\"val_accuracy={validation_metrics['accuracy']:.4f}\"\n", + " )\n", + "\n", + " return pd.DataFrame(fold_results)" + ] + }, + { + "cell_type": "markdown", + "id": "aed0570d", + "metadata": {}, + "source": [ + "## Run the paired comparison\n", + "\n", + "Before running the cell, make two predictions:\n", + "\n", + "- Will the candidate with the highest training accuracy necessarily have the best mean validation loss?\n", + "- Will one candidate win on every fold?\n", + "\n", + "The selection rule is declared in advance: **select the candidate with the lowest mean validation loss**. The test set plays no role in this decision." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "ccb48b1e", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Cross-validating classic MLP\n", + "classic, fold 1: val_loss=0.0814, val_accuracy=0.9758\n", + "classic, fold 2: val_loss=0.0906, val_accuracy=0.9748\n", + "classic, fold 3: val_loss=0.0847, val_accuracy=0.9764\n", + "classic, fold 4: val_loss=0.0873, val_accuracy=0.9746\n", + "classic, fold 5: val_loss=0.0962, val_accuracy=0.9742\n", + "\n", + "Cross-validating dropout MLP\n", + "dropout, fold 1: val_loss=0.0832, val_accuracy=0.9743\n", + "dropout, fold 2: val_loss=0.0892, val_accuracy=0.9752\n", + "dropout, fold 3: val_loss=0.0867, val_accuracy=0.9742\n", + "dropout, fold 4: val_loss=0.0929, val_accuracy=0.9714\n", + "dropout, fold 5: val_loss=0.0965, val_accuracy=0.9737\n", + "\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
modelfoldtraining_losstraining_accuracyvalidation_lossvalidation_accuracy
0classic10.03510.98940.08140.9758
1classic20.03280.99000.09060.9748
2classic30.03370.99000.08470.9764
3classic40.03270.99010.08730.9746
4classic50.03340.98930.09620.9742
5dropout10.09920.96920.08320.9743
6dropout20.09630.97090.08920.9752
7dropout30.09650.97000.08670.9742
8dropout40.09240.97190.09290.9714
9dropout50.09650.96980.09650.9737
\n", + "
" + ], + "text/plain": [ + " model fold training_loss training_accuracy validation_loss \\\n", + "0 classic 1 0.0351 0.9894 0.0814 \n", + "1 classic 2 0.0328 0.9900 0.0906 \n", + "2 classic 3 0.0337 0.9900 0.0847 \n", + "3 classic 4 0.0327 0.9901 0.0873 \n", + "4 classic 5 0.0334 0.9893 0.0962 \n", + "5 dropout 1 0.0992 0.9692 0.0832 \n", + "6 dropout 2 0.0963 0.9709 0.0892 \n", + "7 dropout 3 0.0965 0.9700 0.0867 \n", + "8 dropout 4 0.0924 0.9719 0.0929 \n", + "9 dropout 5 0.0965 0.9698 0.0965 \n", + "\n", + " validation_accuracy \n", + "0 0.9758 \n", + "1 0.9748 \n", + "2 0.9764 \n", + "3 0.9746 \n", + "4 0.9742 \n", + "5 0.9743 \n", + "6 0.9752 \n", + "7 0.9742 \n", + "8 0.9714 \n", + "9 0.9737 " + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "candidate_results = []\n", + "\n", + "for model_name, model_factory in model_factories.items():\n", + " print(f\"Cross-validating {model_name} MLP\")\n", + " candidate_results.append(\n", + " cross_validate(\n", + " model_name,\n", + " model_factory,\n", + " development_data,\n", + " folds,\n", + " epochs=EPOCHS,\n", + " batch_size=BATCH_SIZE,\n", + " learning_rate=LEARNING_RATE,\n", + " momentum=MOMENTUM,\n", + " model_seed=MODEL_SEED,\n", + " loader_seed=LOADER_SEED,\n", + " device=device,\n", + " pin_memory=using_cuda,\n", + " non_blocking=using_cuda,\n", + " )\n", + " )\n", + " print()\n", + "\n", + "cross_validation_results = pd.concat(candidate_results, ignore_index=True)\n", + "display(cross_validation_results.round(4))" + ] + }, + { + "cell_type": "markdown", + "id": "4429ff03", + "metadata": {}, + "source": [ + "## Summarize fold-to-fold variation\n", + "\n", + "The mean summarizes performance across folds. The sample standard deviation describes how much the score changed when the validation examples changed. It is not, by itself, a confidence interval for future performance.\n", + "\n", + "Because both candidates used identical folds, compare them within each fold as well as through their means." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "a6049cc1", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
mean_lossstd_lossmean_accuracystd_accuracy
model
classic0.08810.00570.97520.0009
dropout0.08970.00520.97380.0014
\n", + "
" + ], + "text/plain": [ + " mean_loss std_loss mean_accuracy std_accuracy\n", + "model \n", + "classic 0.0881 0.0057 0.9752 0.0009\n", + "dropout 0.0897 0.0052 0.9738 0.0014" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "summary = (\n", + " cross_validation_results.groupby(\"model\")\n", + " .agg(\n", + " mean_loss=(\"validation_loss\", \"mean\"),\n", + " std_loss=(\"validation_loss\", \"std\"),\n", + " mean_accuracy=(\"validation_accuracy\", \"mean\"),\n", + " std_accuracy=(\"validation_accuracy\", \"std\"),\n", + " )\n", + " .sort_values(\"mean_loss\")\n", + ")\n", + "display(summary.round(4))" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "8c7cc8f2", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "figure, axes = plt.subplots(1, 2, figsize=(11, 4))\n", + "\n", + "for model_name, results in cross_validation_results.groupby(\"model\"):\n", + " axes[0].plot(\n", + " results[\"fold\"],\n", + " results[\"validation_loss\"],\n", + " marker=\"o\",\n", + " label=model_name,\n", + " )\n", + " axes[1].plot(\n", + " results[\"fold\"],\n", + " results[\"validation_accuracy\"],\n", + " marker=\"o\",\n", + " label=model_name,\n", + " )\n", + "\n", + "axes[0].set(\n", + " xlabel=\"Validation fold\",\n", + " ylabel=\"Validation loss\",\n", + " xticks=range(1, N_SPLITS + 1),\n", + ")\n", + "axes[1].set(\n", + " xlabel=\"Validation fold\",\n", + " ylabel=\"Validation accuracy\",\n", + " xticks=range(1, N_SPLITS + 1),\n", + ")\n", + "for axis in axes:\n", + " axis.grid(alpha=0.25)\n", + " axis.legend()\n", + "figure.suptitle(\"Paired cross-validation results\")\n", + "figure.tight_layout(rect=(0, 0, 1, 0.93))" + ] + }, + { + "cell_type": "markdown", + "id": "414eff36", + "metadata": {}, + "source": [ + "### Interpreting the comparison\n", + "\n", + "A small difference in mean performance should not be treated as decisive when it is comparable to the fold-to-fold variation. Inspect whether the models differ consistently on the same folds, and consider runtime, model complexity, and the scientific cost of different errors.\n", + "\n", + "Cross-validation reduces dependence on one arbitrary split; it does not eliminate optimization randomness. Repeating the entire cross-validation experiment with new initialization seeds would measure an additional source of variation, at a substantial computational cost." + ] + }, + { + "cell_type": "markdown", + "id": "301d3dfe", + "metadata": {}, + "source": [ + "## Freeze the choice, then use the test set once\n", + "\n", + "We now select the candidate with the lowest mean validation loss, create a fresh instance, and fit it on the entire **working development set**. In quick mode that is the stratified subset selected earlier; the unused official training examples remain unused. In full mode it is all 60,000 official training examples.\n", + "\n", + "We keep the epoch count fixed. If we used the scored validation fold for early stopping, it would influence both training and evaluation and make the fold score optimistic. A sound early-stopping workflow needs a further inner split inside each training fold—or a nested cross-validation design.\n", + "\n", + "After the next cell evaluates the official test set, do not use that result to change the architecture, dropout probability, learning rate, or epoch count. Doing so would turn the test set into another validation set." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "aa39e9fa", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Selected candidate: classic\n", + "Epoch 1/10: loss=0.5976, accuracy=0.8230\n", + "Epoch 2/10: loss=0.1875, accuracy=0.9436\n", + "Epoch 3/10: loss=0.1243, accuracy=0.9637\n", + "Epoch 4/10: loss=0.0966, accuracy=0.9712\n", + "Epoch 5/10: loss=0.0770, accuracy=0.9774\n", + "Epoch 6/10: loss=0.0619, accuracy=0.9812\n", + "Epoch 7/10: loss=0.0527, accuracy=0.9839\n", + "Epoch 8/10: loss=0.0431, accuracy=0.9873\n", + "Epoch 9/10: loss=0.0377, accuracy=0.9885\n", + "Epoch 10/10: loss=0.0311, accuracy=0.9909\n" + ] + } + ], + "source": [ + "selected_name = summary[\"mean_loss\"].idxmin()\n", + "selected_factory = model_factories[selected_name]\n", + "print(f\"Selected candidate: {selected_name}\")\n", + "\n", + "torch.manual_seed(FINAL_MODEL_SEED)\n", + "selected_model = selected_factory().to(device)\n", + "final_optimizer = torch.optim.SGD(\n", + " selected_model.parameters(),\n", + " lr=LEARNING_RATE,\n", + " momentum=MOMENTUM,\n", + ")\n", + "loss_function = nn.CrossEntropyLoss()\n", + "\n", + "final_training_loader = make_loader(\n", + " development_data,\n", + " np.arange(len(development_data)),\n", + " shuffle=True,\n", + " seed=LOADER_SEED,\n", + " batch_size=BATCH_SIZE,\n", + " pin_memory=using_cuda,\n", + ")\n", + "\n", + "for epoch in range(1, EPOCHS + 1):\n", + " final_training_metrics = train_one_epoch(\n", + " selected_model,\n", + " final_training_loader,\n", + " loss_function,\n", + " final_optimizer,\n", + " device=device,\n", + " non_blocking=using_cuda,\n", + " )\n", + " print(\n", + " f\"Epoch {epoch:2d}/{EPOCHS}: \"\n", + " f\"loss={final_training_metrics['loss']:.4f}, \"\n", + " f\"accuracy={final_training_metrics['accuracy']:.4f}\"\n", + " )" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "f252f805", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Final test loss: 0.0694\n", + "Final test accuracy: 0.9788\n" + ] + } + ], + "source": [ + "test_loader = DataLoader(\n", + " official_test_data,\n", + " batch_size=BATCH_SIZE,\n", + " shuffle=False,\n", + " pin_memory=using_cuda,\n", + " num_workers=0,\n", + ")\n", + "test_metrics = evaluate(\n", + " selected_model,\n", + " test_loader,\n", + " loss_function,\n", + " device=device,\n", + " non_blocking=using_cuda,\n", + ")\n", + "print(f\"Final test loss: {test_metrics['loss']:.4f}\")\n", + "print(f\"Final test accuracy: {test_metrics['accuracy']:.4f}\")" + ] + }, + { + "cell_type": "markdown", + "id": "4e991349", + "metadata": {}, + "source": [ + "## When ordinary $k$-fold cross-validation is not the right tool\n", + "\n", + "Cross-validation is useful when a single split would waste scarce data or give an unstable comparison. It is not automatically the best default for deep learning:\n", + "\n", + "- repeated fitting may be prohibitively expensive for large models and datasets;\n", + "- a sufficiently large, representative validation set may already give a stable estimate;\n", + "- ordinary random folds are invalid when related observations can cross folds—for example, images from the same patient, measurements from the same instrument run, or nearby time points;\n", + "- temporal forecasting requires splits that respect time order;\n", + "- extensive hyperparameter search can overfit the cross-validation results, requiring nested cross-validation or a separate audit set for an unbiased performance estimate.\n", + "\n", + "The splitter must reflect how genuinely new data will arrive. Stratification balances labels, but it does not repair group, spatial, or temporal dependence." + ] + }, + { + "cell_type": "markdown", + "id": "1e63881b", + "metadata": {}, + "source": [ + "## Interpretation and transfer questions\n", + "\n", + "Timebox: 10 minutes. Use the tables and plot rather than rerunning the test evaluation.\n", + "\n", + "1. Did the candidate with the best training accuracy also achieve the lowest mean validation loss? Explain why these can disagree.\n", + "2. Was the difference between candidates large relative to fold-to-fold variation? What claim is justified by these five folds?\n", + "3. What information would leak if the same model instance were trained continuously across folds?\n", + "4. Suppose every patient contributed five images. Which part of this notebook would need to change, and why is stratification alone insufficient?\n", + "5. If early stopping were essential, sketch a split hierarchy that keeps each outer validation fold independent.\n", + "\n", + "Expected evidence of completion: an explanation of the selection decision, one limitation of the estimate, and an appropriate splitter for grouped data.\n", + "\n", + "
\n", + "Suggested answers\n", + "\n", + "1. Not necessarily. Higher training accuracy can indicate greater capacity or overfitting; validation loss evaluates predictive distributions on unseen fold data.\n", + "2. Compare the paired fold results and the mean difference with the observed variation. Five folds support a cautious comparison on this working MNIST sample, not a universal claim about either architecture.\n", + "3. Later folds would start from parameters that had already learned from examples—including examples later used for validation—so their scores would no longer represent independent held-out evaluation.\n", + "4. Replace `StratifiedKFold` with a group-aware splitter such as `StratifiedGroupKFold`, using patient ID as the group. Otherwise images from one patient can appear in both training and validation data.\n", + "5. For each outer fold, reserve the outer validation data strictly for scoring. Split only the outer training data again into an inner training and early-stopping set. Nested cross-validation extends this idea when model selection itself needs an unbiased outer estimate.\n", + "\n", + "
" + ] + }, + { + "cell_type": "markdown", + "id": "a5239f30", + "metadata": {}, + "source": [ + "## Takeaways\n", + "\n", + "- Cross-validation estimates sensitivity to the development-data split by rotating the held-out fold.\n", + "- Every fold needs fresh model and optimizer state.\n", + "- Candidate models should use the same folds for a paired comparison.\n", + "- Mean and standard deviation summarize the observed folds but do not remove every source of uncertainty.\n", + "- The test set remains outside model selection and is evaluated only after the decision is frozen.\n", + "- The split strategy must match the dependence structure and deployment setting of the real problem." + ] + } + ], + "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.14.6" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From bfea82cbd379d139b990341f563ddeef73c3b2d7 Mon Sep 17 00:00:00 2001 From: Geert Jan Bex Date: Tue, 18 Aug 2026 15:41:21 +0200 Subject: [PATCH 19/33] Set full experiment to false for participants --- source-code/pytorch/mnist_cross_validation.ipynb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/source-code/pytorch/mnist_cross_validation.ipynb b/source-code/pytorch/mnist_cross_validation.ipynb index 40b7397..50b2733 100644 --- a/source-code/pytorch/mnist_cross_validation.ipynb +++ b/source-code/pytorch/mnist_cross_validation.ipynb @@ -82,7 +82,7 @@ "metadata": {}, "outputs": [], "source": [ - "FULL_EXPERIMENT = True\n", + "FULL_EXPERIMENT = False\n", "\n", "N_SPLITS = 5\n", "DEVELOPMENT_EXAMPLES = None if FULL_EXPERIMENT else 12_000\n", From 6277476ef2e762e5148a3eb2f7212238105d8bb8 Mon Sep 17 00:00:00 2001 From: Geert Jan Bex Date: Tue, 1 Sep 2026 16:22:01 +0200 Subject: [PATCH 20/33] Add alternative presentation --- parallelism_selection.pptx | Bin 0 -> 258669 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 parallelism_selection.pptx diff --git a/parallelism_selection.pptx b/parallelism_selection.pptx new file mode 100644 index 0000000000000000000000000000000000000000..3112e21741328169252b6c5218b46078bc7be875 GIT binary patch literal 258669 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

T0<5I~ovcS=K$zeW|t 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≥`x7#e&C14PE`6OGu^z+?jjQWj4|ET(K@YK(E6 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 literal 0 HcmV?d00001 From 146acf3a917b3d9d4d93f2fa2009dfda2ba0cfe9 Mon Sep 17 00:00:00 2001 From: Geert Jan Bex Date: Tue, 1 Sep 2026 16:41:07 +0200 Subject: [PATCH 21/33] Add CPU offload slides --- multi_gpu.pptx | Bin 401852 -> 411370 bytes parallelism_selection.pptx | Bin 258669 -> 260134 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/multi_gpu.pptx b/multi_gpu.pptx index 8755ce6e1e39a7b549aefe3286bc47a50dd132ae..6690406a74e033470ddfd4a74d5a52c6b2ba48b8 100644 GIT binary patch delta 19318 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�}-oQ+moE4ROUVt-e% zw9M&WEJbtXI=<*Iuoswjf8gj&ciiWI;E1_8xQO<-OAc;S=rjvP3 z2BaGm)fIm-07lr@h$!8p`@8M=aNzqVd|k04HNYTWpZjS)Z}d-cKi4f9Z_*8oQIe|f zb(j#KOK22)cppk09QaPWG3guTY=6w}LAO9Rh5mU27bZcwLuK**M#DCBts!zy6 zIqvguXUiQzu|B_#pB7w>U)IpUf>8Epye%=wmg|F)odpOJ_ ztdZo}-o!!SVZlaXOHk9jtBCa~KfD{9&~`P2uWhk?57~Y9zCf%$-|E)~WW6H{Hu(>? zZAmV{!p!NiPpfRcJ-f!=gnvN{$mA%#>L?|qsJ5xlrHmayT_Ue{p6as*QChbG+17A1 zaFlAPSC${9MkxPj*Mzqp3n)fh5W73$nYTCN2wrl>v3$(Wr>XbQY z;_5r{fqRY*(XMOP?D?GUXh+6Q7ELx=!5Ie)i-LcK5kL)A%F(g!7k`C2(=!jitM$b_6%d%;drV!c`Py$RV9e+)1claS&dwn|4!O$uz92iYGuegP!+p7(3#eTpTeC;vL^p3NLX3^LEPc9Y~L%8-2r0`#Ubf}^6>i2z^QOMFf|Ikr!mCg z1lHeSL-F_M=YJAK{1KID7^B{?$j)(0PS+3qCi*MfN)Cpa%jjAa z06Tl^`rFcR50ohLKa+EVc)#dJuEf9^Ci7da1uO?j=zqZk?kJ3E-eV|bA`m8yscw`! zK_&X6e_FGNBDi@rsx9NHLOsz$RX>PL?%D>;PGFtF>0Eg6yfDV=5$Os38tU2=Vh$1^ z74`1}=Bl5hUf}UFXoPS@sG%R0NzalC?X@F3;JYF(@J)!hmAO*|uwp*D)_rebL1S>3 zNfgoC|9^&G%KDwL+-!BnA(2j}4lo^nJs=u)o-79Z$F-nmq7@G{Cq0|}osDK6OX<7I z)1un{)&+7755rD9P&a6kg0ecBoCi7EygxIM4Pim$j_C*zYs^qDgf$%1iMJUcI+J6Z zp3W)ouL{4E_rCk^!bVgEL;s;oU#Yepmc@+B>3^MM@(J9lZ~H=Sc}+Ec`1N@ge}J3= zx+X;kgg&aZ7fcXUJvwJ4geNeqIsoMSP}e2Wu>o3fu&D47j}Td{qtK>J2j#X@owx-4 zmE)HRdAKe9TQiYqdl4xeB63=tx6pkp^Y{{{`py~FLWP7X?p>2n@Ky4I6T(f|I+qAV z_o*^DZD+i5IJ7UPo-4lXh-*QWQThlyZQx3XOW(Iky~)RbC5ioQ#|hSo zxOUca5@+hn>)A>1wB)`Xn2DbXmgTlc?SGoy^fM`8e8kbC5wE|hzP6hdlAbSvIpYU~ z^m0@Rg-wlbZ-;}C$Wan-@+o{h5=B_&FcWDExj(J)ihecf(4y&MQ2BIvPtK>5mP(#X zzhJl~v0YL92{gSy9tk8L+z}2uPb97-_f1gB(OhuqCsQRq!Fw~t8YO#M@Goo{`F{a! zoxB3`-;W|U+l6Q2ZIoc3D9^=~LfY3U?qyt=+W;M@>khvy>eCfe7%3)d!;?iGt0 z?*HsqHRC6JSRecAAY(@6Fm-;~*HcPmT9KmGw!FC-W>lurxs>ucpS?ZAStll6)+R-! zs|f_nAm`a;|-f0bWTXMe=dkF)B|_`=N^1-&`ERhrmOuM}P#`K(<>)+$%Y ztE6y;^W=hO1Ss@6LSK943!f8=5pLqma#8P*vs{hoOHfkZE?KZ2f?~Fpe885TPuy2P zy7|6ZnTY9kQag28Q9T_a*ze`INchh^70O;lQjj@rXz_&fxQ@;7`kzv~Du2_sX$-4A z*FK+xoe(lk-XnZXEE`{lpqlZ?$dr$T`hb0gh^nNTc63hEzRi8e8arV)_J=K!x>v`* zm8FZbS|q#{);-*%68f}gN!pvGnp;(O7xsjj?ds%ddCiszf4ac>o!48=Ot?Kdx~btU_n-o_t8m zZVjW2_kiwNU)c1{Bvgt$$|qA{WmQyr&d-SDr+W zpibSA(78%yRP*1@BE+M;U8-1savjH_*7`Rq-HxjujKkVH6lRlagZJb)&nRxNszZk1 z&paUCBy&=*VZv~*QFIZ@#UX5Q!T!?QsZNI)qRy%Mi zjg`jm#NsK~4}XvB>eAR_k6MwYmG;T$_@13ZNJItlzO?#%fkaR~B#TA6io*Tty+=2L z%8O6d*mLd1{9nY@udpIY^-iCAdobb|R#2IFTjoy_u|^YP%O7#}=P`ASpqCGZCuEg@ zL88Q9iRe{t;eLX)d-k)Io)M>5SCdbxF?Gc)hTAW#VSjO9G`Gg?subY#+6Tl6eC`FW zE+w2VT_e($HIkYV3qC_7phI;YKX3xwDn`}ua6@Qq_%=)HqM*H-gUKh(tx#~$%|1AG zU2z)N^K5o@5MHS9b~@o;SL3ar@24)6=plww+XA4HV)lJy&f0{QlRo9oqg6*SV+F1P zB_@j{^nZu2P2=rYuc2VuM#BIPxx3({;QTX;>`X2=@QQ#Hp4Wu!5Y8sC%6A4s*GO)! zE9Q>6=+EE+FQ)vqCSuAEWuh+XFQAFpa|RWk?H6fz@4VXWO94Q6DB2FmFbeo{2~FfK ziB=4>AQ~Kglt6zxGA1+*|HvB6)WNAVAq78r?|)R=r;;{PTI1@7-yTTt1NfG3B6}Z+ z?K=P9#Z@Ah=J2{5clJXIdvOGF)zL-rS!w(V#YJU{F~$ysdV)FwA&8+!*+rsV^%}WC zr_Rmwk3e=%9>YQLV*qZq=7lTQ{=YBGWj7vM?~#)J4C z;Dnhf1GuFA2j1|v-_}SSeZB58q7V`Jv8{%ngI>X*1o@f^zcfTtzAZ8AwwKbSf0>T2 zQ{NuT?RAfZo}twgp`-9dXn-j;_HUhWA&1F+d@OW%nvIL$P$NxQ0nU@JfLWLpZg63@uA~(3F=? zJKlQ~zJn7H%=+#E(fB+98&U|I&18%39DD}A!hicTo}A$Ymk*ssXMy!=!$*5)hc{jP z)Se+>0%rR}F{MT~65UI0r+>5C_h1WQ9u(>U3A}7i)L>v#Z!~!VP77Z!snmTOSQP4= z`aIoiuY{WZx$IX{5HoA;% zx{2XQbqYT>-O>5hZeLb*a>tfar+f1YeJ2<4hI?3)VSp{wpQyi5cy1xZ<|`6g!&gW? zZ@jz{83hl8FDF z_K6xAL9Q-u?LDDfCGJWwE4dT&f}m$MRoU_x#6MT7P_Nk#qmpW-(YUC0O&_bybQIZ$ zK6BtVXQ06Cn)lOwVA_mx?QTALVOEk@@EB;jB9%VL|J06LzJK>Tug?}#sIM+ajqD*C zD{~@yheRSKqHcUL$FMvClm6dQdxDoGzwex$)&gddGE@!T*nUD|Ht~k^DsYA#L{MoA zC6TDIo!K$!Z3wi_922~%>we=YM%=pC7SH%nT&?V!@2;Sav>ch4cUKsoGGp%59Yzc~= zL5WIvmnx}TmwXjp18%%Vo+@E%{s z9Giu7!}qKsO{eD0TTuU<2abemmRmy2w?^l2@l7ntlbY|>SF}?kH2~(IeebMJqR~O{anS7FK&r(hXRi09;mi_KI_8Evx5|l_8*V{j+!-nRxQ=*y$jAK8SjwQS2#}* zSc$3!D^#N{(kqib@C`4Oa3%-5K6>o;cc*1Ptx4(ht5+0VN~D%WxBz>%KlBUG|C(MG z4z%bii~skSk6e&v>cj+%LJ}48oy{vU@;3Y=dS8LwDPl?5mHOW;O`*#4!uuw0 z%-RzRZ(Y>3Jrr0!&G%jEe>cSrHFY5b=DsP*w3+>z{6pv%*<(UH{KCxTFO4KIn9^H- zm7db}EFhwY)4APPmziLx0J?Y@dRx=yq9{S^~HtH}FTfsyzE0(5&?7QXcF+ z+swWv?0aB0gidS{98$ag79u5$2OfHh7XgHO>m&ZqQ#y-=raWMA{`2zktTN_&gG^EcD-O!Ku|$iJ1l0&NneY?fuo-9RcRT= z?u%T~qC?k|Wc?LRKG}lQKl%tgW+>C8_5yZW0?UQ7=qbO!C%QGs&EIi++_Wi^ws1pS zFH^yoB_+(HU*iQ!^?!oDUVjlz8r~7~jP*w-7hZmx-6Y4AwY)UTtTHe=md{A9T6s`n zOpW2$aY%48m75KdLKT7WU{bEHZjG4y`b?PfQaZiX2=>fhYbQ&<>3R#3eTgYWn?0HE z)I-*FIe(d&TK1p4AO^t~+LW40OgK!HTH^q0rQ=phg0zREoPy+nEPr&kYbBf(`DVms zeaqS6(a_TMa}(hx-N0jyROtI{$7{Yl!|9D61yK7$!Q7wsd0U?897Bzdxw-%Kgh28mP<9PmBs8x=H2@2U=BVV|#@#pq z-E6e*4shaih^YLb;hF2|C%By>D6l`>*FR7ugf_$RP9juxqkrh5D1~DE#jaR#n0mBJ zUA0Q9LN)wb!>KxBkY96Hp#x_v!jS5PR%%cyqr~#(osD@EQ>v!h-zU4Y1mdLcdChLR z#Wg=QsCh>f(+&gqd@O)HK~+r;JT+O@DNL0gJ(V}?o#B)a%Ac{`{H`LmY<+OTAs>_C zK|;o~{zb*c%YOpi9{4-3C)J!zoYcCfsn9IQeSlqm2+@ZaGWYZ^+kU#ko1zJwc{xm;%Sin|4DEo7M_wvqM z4yyU4@qe6MvpDQdyYNvWl#inppJJMB+X^ia^1MtSOMl}?;ZG+VmInnNQ{pNRN=~ zKEITHQKD1`RCPN$LuX|6S+H^g9E3k;SYQm1{VR1F_Os+|d7%FTst-|iM8_iB-G*@)WN85p&PD1*O}YKwdJIDZ31Tf65mjuD&a@f;^_D$-^6*v1?j ze_vBTpNjaVTzEXHU!#Bm8$?8DatByvHB*RjvJH6!gdq;_$^ULtLGT*(MWHzlI?jMn zp_AY6-0D)Ku2RY}cVTot?ez!hX9#t}g+Ce8@xV|GCsG+4q1}ZMUEJhmIB@4@6-FxP z?|(Q;gkaK<48v92g^=v8Xz{(m6Um3?zFRmF^^xW&AlmTMPN>VL5Fh+mz-bsXR{#rcFOR*L1c>WZC1a$=`7 zbY!Zziy!sJwkAs=YE^(;X5xM4O;l?R4A-7G25!?Lwu1^7w8+rNBGxR8W;QmGGZx?9 z&_|={V&Gli6Gcclsxu(k?e_W1^8xJ#KCs(u5V|{dSZHy91W1iMyZ1xq3v6}n07*c$ zzcqiZ!3lq(ViQXcwHHgA#0uNZKFi^0p~wY3`J*&1n+6tZ>-!G%?V<^1fZi06M=l`c zK4GLV{YcbK=V;SYAT{nfFe~eo>-cR#tZ`mGW06ju4eS##b&+E${Jtd7&MZ=k4zUbO zYKz-dCT((c+AsD9<@E}k8+S_h?Fo;k%Q*#g~8qqpciW!YXgi?r; z=3+h;)f?Yg7_qHSC8Ct*F-H-tbU6@a`mHcoBrv7ahcX)3oF{#@dD__L_d-%>E=m2m za=v)4tXVxKxp8_OVCKqH+u!96imCKrpa<}heFZC}G>m(8jmch^be51M zFenJ+F;3n$$5u@`WyfSBV!2XF^?_&w*VOLZVKtZ(@}!<)&?NdQy*DaW`R^p$-Zp!R z=XDYsD_J(*=PkhQbTTp8j~704R<3^z#jEx?>Fi~?=C=EDj51vn$J?KT)4jHx#A^Hs zE?vA8vyUKR@mN?c1Mgp=GnOhftdVeGlKBEp5Hq-v(~y>1mXo}=Q6$G9cuKpb=66*b zc!upq=E_E5vnf>+N2<~L?iL;YUK6GQ0plaP_&UKGO2aHt?K2Sy7eaUmXTpCeq>C1t z_`yGLNq$=!Vq+CG0cZRSL0SK+wNnm~$1ca`Q%1^MeDr3!Uo$Hy$Q(*(EigJH=BPe8 z16nE_leMPSCFoMTi;|f^n#WitzpLQT&!v-S`b+}#XOdNvR(GmN;+X_$=dXkkqtbu3 zssoI;o-o}pZXz>8p%rthts4-PYeQ8HU%{L|>`w_BnqF3rYQ8qwJKbRAKxg=4+x_DA zVe1*|78}v=1(>}u^#!I5STrneE^U{%3FHn0o*0QX<&TufRTntdwG4lANmHZem@d#9 z2<@+OvDkDxFnJ@#Ib+B z4u36RDUr%l2wHnY8-#=3@ri&1VgcR?EG7flbIDj$Fe_+<4~Rs;@M{`c2`MxzSla8T z^Noz;2nh<+wbx&T3qlrVb!?QBm#fWiTQvUuQd{iHCV9(V*>}+g|8nN|V;3&0mxdjQyL_(!`zkSilOAEZWKu z4Wc4p_Ra#ISsj1+b}atB`SXIpkY1|(X}3uTOc*W%_A%<3G&VLx+a`7WT_u)WCy~n# zdzwGhV3#HylB97`H}XNDL4&BAUT%?e=&bRY9-A44;q$LSyB_Sg-?e{aEz%4QBoXes zPasIs5cNgTkbKcM4eTJ*#OwLQ0jR+qI4JW~sWA)=N??C6KzgEE*h$XyBeHQ!Zf=ku zFK_?)x!!>DT+|0m9u{W!n zJqdC4oU&!+vf#gEW>)XM{NTZ{Pze z&6_}_WF~)D5yu0d$7?}xxHkdm|ITNvnQ`|3BNlr>RF^|5rK z^9A2x1L1Sc6Yug>CvV0wWwM|~-r6>5OPj5gS_XfAV0{Gi27s=t1=Wyaq2Qc7Wi`7| z-d%4BQHE$@*)K*&tJ1C!oh=kvW$Ep?8mhHjczd1mSKun09KRlG%IK*!Yoysu0C!|9@q1#B}5bGw#trlI{wzin9G zvH<-CShRZ8fKhf$iSe7nSSy%I-*PyjR76Q2Nxsj;{xg2)*u5#Fcn3R}{;y&h^FGj; zy^AFL)#}#b7|4@eRqQym2qdtp2~iICAy|L5IeXBLM?B;Sf{ddPC9Z@jXrb@)Ntgv9 zE4B{3DUF3n{-d))nhP334n_{(XG#uq)tau_nE@U3sGZcQa4R-c|0ivU(H(&k$itX zEHtw?2IGX+&{Tgje#w;}XJ4PH6XRvjq-@U44J#btJe%uFS3G7OX6TsSd#~EK5rP9LHAc#sRc$9qli&lX`W`N{}(#UVpW{dn^3x|`QEWpE0W_fkn=b-F*} zKHD@eZg$tJrmUquoJF$yei-Au3 zCts7y-F4Q}DM_76z!J+k>?f>pwj^@+5JjqUK44c~UvQS5ZDbs)L6Tek@q6uqBT$-n zOUek9#z7*m_Y%e*;iyVe_L6^;p>Ms|{xV5NB0^rjWo0ZKA?9Y;T4{N83?t{$X#5K= zN2w8E@^@s#PCX3YHONkavV})9)PU+YCiw4LqVgj29m9x*OIQvz0aCji9r#f=%Q6PE zwh*o!i7#2nVFCOL>_H>ziZe>dq8;)SRghV!cE7ypD&;sGQfxr-Ya# z?dWt`@y88^U}OH2H`|?CYdo-kL$hEapVd+z-63Oy>Uq*0tbl)82+R$|*a^7$W~V$< z0knzPk~d?k+3Zizfvc}1qA4{Rg4-SW;4ZVw~T#pCCCvFd)V2DIL( z?)Il(ebRS4V=|A*fgKrpb;PWCFt1FcoTgltI2F?`#C@h z8CW^O+#!G8VIvIMCG9J7Sf#HFVaDjS%-df#r6imu43{$43#8I}G)gvKkRG<5Mx@Zo z&Ix|Pad0e`;0QV0D_F1k9S4Mgc{0TcrnDd`|IH7{31P#G9(IIJW=i@}(Da^u^Q%lg zsrE?zEHqhDwb7WLdw#kWRq%H$J6zY^<1>{*9Q1#)8B7mUg*t%PP*|asBp8*-&LV+e z_%0DE!#xnnryNf>gkypxioM8<7bk%r;uw%*l{1jfx)ZcX(b5yWVAV`cpHHF0^ISF$I z2{C^jpfg?ZtpNSTOo3=LKjVehWl6X#Hy#GR-tXE+sj3vS9Wj(M%|*vpnC!UsBYXJ@ zGwhb7gaGtd0RKT5=-=ARN*!%!J-#tA!;^o}PYtXQB9)APPDLtt!hm@=DbkYn20+cW zJh)ryi?2)DNrc1ONoMOEKsIH(SU{sWMECPMGfeB5%PB*~O1<3VNjAV(elx6LPJf^- zg1{noI={`WWfp!Kop?ZZ#q>>5o683>`CJj4DiT~V5>}QVwEkg>dXZcFIhV{%vrlOIsCp!mIKn6IrU+Ltrcn27a_Im+1) zQJ*X1uijB~q}0%yLc?&rw~G+(_PfEL2^lg(SD{u)Y~teg1_k?OL7zM(Oq)ljPHEG` z{bT1}0Z@IF?v6cr%YNkVBu>H*4pe{Y`LFklK`QPE*sG*zcqzCU19gu&w zyFemiLIA6skRq+cK^4HW8}onRT}s=(L`4?-E~=*#-EPwAChT6x7xb|}Dz~sd5DDUkg+tuW^2w+d~FMrhhaqA z4|!+prF=nKi(z)DQlmy7^nGn1E#;UGKNF%|6fTUpNW-7l(cvxJw1}|)PTpjapDbwb z1fz4N(jxu`zw9`YNTosmvC)4hLQbl1wgs0~wr7_W+Y@5RB)pg#qAU$a``3$gZvOc; zV;0oh)P=NxNN21Vy~uXX5{PEDZJmgc2E0r(q-%<)hk-JMzyMzYt&hFd%=8{!&qgzp zzK7#V9GeKNoHUHBLoOC*b=gVy5PJJL4&SXaDuyKgCJE%&60~i&bKZZ{N4Qu(^_Hx{ zLGw=yOt2++1y#RFQ}v_Kk%IrFZ+&7I=vq@lCX!S6@yHSL%OVRUJdM5d=#oMw(BJ#3 zFJtNtP$EN|m;6sTKZK$3el}k~QXFFlw-(;ovRR7Yr#T8tpHc;V^tiMz`f-0~wHDiT zrqWVtrSfDmQ|%?qUp9YF<;QPEH_KV(>stgHTzchXX z^yqu$MEvQ2<2IQbibc}PBe$@3{kLcY18u=Uun2BsAmdk&@SBN1xx!(k%%OO1qKI#H zN-QSaOB*ePtdDP$;dHwRkvEKpB8G_BLv@~v(x5Sr`%^)dO_T5hTqd~Q^zVjux*fkJ zl+la)soCMA8^(XFMSFE8j`f{(k+>DK3x_`f(ROg7F;{pG^>p>42DJ1n{MlhazBz;5 zHF}6A1*4QIXp!_WvP5P+id&bsVLIG_%4eCI0(XDS`-J84xX7^1@G%|1v#g5C;r=Cz zynlRsXJz@HV2J9;7b>G}f90m^P#@O^$#v|>#hj7>VI_a%0sQVGix=c>8t-wuyWkp` zFdsBALW#jn(i$*cU&2FHXv9@%T<@(d|K!oKFENXI%`G*9OL7_Mltb+UVhEu%A1zk) z9KA{`U^$w8lmawcc}zX4^zLIjM^an^vV<{3cpO#+DFQ`197Gyc@t=olzU9NMc&|u97X?7c}Pw{=*>6W&9Cd~u#ysW_~T6Y z`Go{zb&K{EpX=^LS}$?^t{#wrXKhrMcvr7IWW7l1UQ_ntQ~qsMmFPp=Ep_Phu)$f~ zI~BWVeMRj;U{@Vy`j5$^jWegx=*=>-Z=4~BV+4QdfeZ%eEn-Oz`|5 z2f@=0iblOvqjBd^sg~dx5%{2w)EmLRm&kVf!U&HJ1_VpR$3WPY6LlQvLvVSfA{keT zlzIUuKqNgYv=lU{@CkUW6(#VGiRtGme{&5jq)~h`XSxv)1Jlsy?-|DWY^Hr!zSkw# z>neZWQ`b?eV`0wrY@x+ceWUzQk5Z6#rt&SWjNC0Qi)4EkQC zC*LwX!9L(lx5PT~eLVWUw+K@1i)7Dun+2;O6!9Uf<|{bJ~SIUPm*gL0e5D7d8kZa`>cY z3p}cno-t0pOrV?;?BzNwpqgNrZ}R`&0<;Ko31DmOcUx{w7?0@i>5;M^K=p|O{&uFrZ#qd~bgaccDVaNAMnKBXD z4pMiX+h=^`H4x(f9#CM-=Ywp^m>E27sY2_O_e|@x z&vE|Pex_PAtA)C{HTgzeu^1UkN2q1Rz21YBBi*N91YIn@kXCmu%zTds8r4rU(g)aMT`# zt-ZHcX^{dHpqb2V77Ty6>py_6|EaubDo=;U%WKbTH$;JMTQU*r+1y27Q<58Z0 z*B+-VzLsYxjD`Kcodm+IUNFZJV^)<{1gj`5NoO{q3HCH4`u`P}N!cv9D_wWbXp<$^ zw5y4I|E=f$HrjWc! z)3rxPx~ljWZu3+D&WsPlj)u#m5V-zI+$s~5?>y5Da)UgG5Wc2zxc)vQ0>1#`xANCy z@Al-dGvw`lj|qQUNg)(rTm4FHq)y=-CYF4A{49mapSmg=QoL>_~ezCB$ZIIbev zA7BhQPhWmd^z~D}AFY~gBXoB11O;tlWn$6ey`^R&^X8+X-!f%j`am#Mgl*LlqHkKH zUFx6}fb?cw*99PKm7d_Rdu~C7yaCU0?Y~-oS*5=&uz{spe{WMXl8qbEX=$K^M?9X= z)GrP-U=M#l{)AiNdo)q;M=A5{=b-xVK>KT2V@uvn0Tu_t7+vkQkG46||gWcfGsyw>(rYqwD+_oQ9rg+gJ1Lurj+2)a$Z!l?Ex z(05O?OiJ-I6HF%Yk!X7^LfbKEx;mt95{(vRfj55)V-tZ*s7X}026fn*Xan{$+Ls!U z8y0#n?Kg#QZIT-hEoIb$%t8wpGh4gQdV}Kmh$GFE%y3okUpWS{5I#1= z+HikZz=MXbIvL|(sbQr|IbsdSs5Y`oldmbHl^82q`74>jDS{fi;vISODA+uPzXI8! z9w7XR&1m**ihacPiXYBZDWVv5bQrJDYg0f-L^NMD=?1&^nr@3tkDMQ79E&F z^1Sf1m)6bIA0N6_H{q|S9?c#Qevj}8X?}mN5o(3Q))8t`f~h2-{#7NNtTkG_Xp?}J zD4GF5jp0hCv9K`|-9vAl8dzhP7q&!r_%G1~qK>qopAGB1ESD*`gFh)p?XABQY+QEc zn2*|j%b3H35VZhCdKAHr*1s_wXL`?Y_nr2q`e49p>;D%S?z#X*uXjEP*EpML7@&XJ zl~_pC@duSwOZRx^IFm9DNe9W_`qKGb zxM7R!9b&C$3WpWk6A1=7iRW8;%Nhie{eJjPMl@X7AfkJE9Q96weHF^)LpfV)IQJtH zZ@1OW&ouh{1BS#= z_vtRNNJ=*XE=vnYcPtW1FI|cv-AGBt(hW;UcXxM7ONR(bBOsjuQt$G8KfgcV&OFb| znKS3yy^9lBY`5vWnf%<>dndj?KzXs?_nVhbdD$XO$@7Nc8)-oQOaBO)j2@i4@w!JZ z03Af-ZzeDGl!c_g>-|$?!`GAm%Gl=+umCKO9!X! z4uY`6KIgzf6-hFRiDU{3>IDj)q6<_yHw1MDSku@iwMl}0VoY2|u?pW#GkSb9{d(P@ z*fy_F4R%O=vxTcUaV>v}#4wWF5DiqaOc6G!HTw#Q8)^1y2M1X0q@$vMovsu-%k3?j zlyP5|0fv>fqYjOQ>yCmKnK9)?3co8f|9U>%S-BKgWlvH{xgb`4<};J^QBZDvFJ zDpCH4T`PDD%E-vfCEIdd=apG`8x6*&`YD%pA`EI(k6!<#`7do1)EeijjUqF9#29Op zM-a)v1?hfLrN`LjfVdwMH9z&#*hu+=uL~-ekPQ1zf1CUZ=QlNYVwA^ zr2e#WnSF#GPdm~TdEuHqzdGOE_ib}rnj}Gw(eRVR^ZPzPZB5vBIQc(O0CAOf11i^; zZq6T~RUdLFpj+9#fAS4wb~@~;!(;qPJrpMeUsLrBGWn8e1lT#$C-)b80%Pu`XNU!} zI*&d>VEuoN%Y6WoBm2@3`v{|_6ff7*`AiAs*~re?hPQh#74!@cu>RRK%JbNv(n!IV z3wBPU_Y`a^0xX*GHV_-E72oeh%O!B`{z)>H+|R$uofyWplks^&`cW7X8D9VoJ|i;~ zfc>c-!n;BicGD(ylCJ)>qL=fsKaT`go~ju;EMI>YAu9$r$sgQAqfz+Yfp5GcTWS#WiZP5%!r3-tpP`U4;8pLX56qOmt{T$e`JP_OuY2VWaKK^?hOa2}r+QaSt zC*LpnPQ-EFq_Vvm;QFo_5h!-VfV;W$*2 zps3r4kUL3p3`-+(n)&zgM?nKLO)i1euX!7IK>g@LUkT1EyhKK7=o)dp-^nn#$FzTD zw{-RlwJY=XOFZ?U(jGJ^H2%e2s{i4k;iOAhibKrD!!MYult=-!-LmeYS4{qkQVeHd zQbD@A`l3M(oVq7+}U8VM6Y@-^vrZ`azowyS- zyF@C2N@Wuuna|W35dA+K7~^+m-gkeLB3EaA7zVr~6{#nYKBmdR0=XWw-=K}mk?ZN_f0#YL22J1savOCF zdikngEXTG%?SdgWU|EtW-kP$3!qULbsE&UX7j_@})Q0ys(8LCCmGeEWtLU^`qMCw4 zrR>=8ooE|4m6z*=dlKe@EX;pXq{3vV)94{(a{fr-ka{KfeeJ5E)8giCk8Ve$?e7wq z)P&VN94_**U%5exQlTZ@6KNm4jTT}!M=%ysLjj~nTFNz$6j`}qbC+9&60Hqx6;0p~ zSAy9Onh{W!KeSxzh8}-6g`LJmJh)@xr{63ZHY0KDg!0QuaMejsoi;Bs7yoVTa8j|&$*p=} zo3;g3M892kvx5v`wb_4UO1M@9j3B8nkp(NIFo}lde>;xTA<}h^pZRVsxuTtMUqZI4 z>7_f*)+i8o_re!`{|aKzc8R(*X*2Oxi+k*C9&v&_|(T zGt@Mf)QO!9fwMLx1~KauChGF#iks0O>ro?#}sjvxg<1kuUT z*TmVl@A$opILZD<&fvTZ?^!XhsoHV4ohq zoe^#6@|VHS?RZ*6H>+*K8J;=S!7Wieg289V)8yi(fb3VsItYQzl4e`!FoO}UgWxDh z+OjUG1gmH_S=ZB9SQ`IjkX#|U@csP9=ONhB0#WVeLOHmTw6^dXaI*U`AL+v3HW^_B z0#l9Wm1KWu>b<&g*Z7S|{ofn@DZBUHVvcA0`n_q^8w`ov&06fCzHKG~3qrX6Mo*R# zopkTNHT zQFK8?)~LA3{}5AT=fC${ryJ=3jCup0NTof6J|Uway0ELwmnvh!c!P!{5iW6C##*Dr zvT@%#JdPsW`rRCMwfWuK7aB4=#@P>W6u#!9i#aY50(NgezW9J$V=KHbE*2f zq&Rqm_2b_4w%^S_M^*Ym-CSyo*;UqUg^JstCd=@ve40r(2hq! zM_5(Xi3N#V{&NinM&o?AY7^pw-%zPBZOr!qYut9N0ZrONYu&;3O~?-|N~0b!zn?OD zVy;!DPt%sMDS|+En>NkXh#lN&K)8&Q^eBItm7A;DBV`Y>9*YCS9IeY-?xFPhv-~jE z-3@UFPz*`J1@$rWPz|I4D01XP2zXVsDJ!y%pf6i7dK~7KM+n@W(q+$Hi znh;TCT3JhJ_q)`u64_yU^TmlbRKIa5TtwTH`2yoQqI)SVQ=FDUtToq{G?2y1RY*g! z#!|SdcyyuxGjedl-mxn%M`QCjpS^zp195X0<$3360R#7U}O>OC5czpkP)$xqJ}ov?)JdKI*(8DlDx!T!$!sR0laRHwW_B zQ*S*~TORA}q9k#I-CR8Sr;w`B2OnawCws@{?DOQZrubCk5rAe%cej{X$_5>TWR1-e z@4ah4kQ5p6JD;_bF2+jqPF{bJk^E`46FAY@Xiq{~5BZ4GR;TaWgdEg6h^H1PZh}g0 zAQ&o=ZmUxU3RR~~$k}BA*Vi>3BA;GQWskK|tS__bU#h`R+d_HeFxIv@D^Kv9?t)KEOJTk+TTl6!{mrfG3B$M=6A=Nh@2y`Q>B zC2Sd}BZKHRos6@b5kYQ!3vEM%IyOUn_s-P&UE&V^)m-uV0KBpEzmW&KXFuR~`rl0P zjbL1eMEHx`PfN&F{|!vEoWV0-AJNrvVD!*jEK5ze6}X+I))S(Yl3tW!{Jd^bcKj|0 z@3~|#0b}%}@Jv2YA^o6rTu&tTLj2Oy%E}rU-u~Q6-ogIUu?@T4^6~ z*``|d`wrys)kBU{E@5dA(D~8tI0yKeoO}{$uz{c#Plsk)ig{Xz18;L=h1#?#!TQh( zJ(O|V55I!g@#PJec5+M-%Y(FM-{xe?Qd4E`Yl(kJL_S4oKt95jFbNbqLA^zs?&Ao& z!W5$+{LP;RQ%!%I5*mbpzu|UnyL|F@vB*^3JSS1S`tO`fI&uqoA5awk;5AV$Gtfe` zgA|f;oGVxXG7!wEi3hreD}#y1y40aaJCY#5ob!=rlg;2?d2B0Ni5wjwvj1M2`A1D! zs1wBCN}$;Qj+G>ukTRrl+7pb`@i!Tgr@-aj?`!RfBN2aVdi+CDii1%J)=vb-VDnp# zSX4S1aWRfxu%dGL?ZN7PucYF(ew#*bGAfVsoqLVBciV4~O!fVQ5xJfLA27n13;mJ-_5gO zJ2^X-Im(@vP#H-%$aS}^68_L4o@@ON0#ubvW|)5hwV}w0uxWeI0M{|v!_I4!Aqu+4 zvYL?u$wmH92;J5TTW4BD85B=Uju$dRUF62ku_*-qVd;gWd4Eo`^YB^=|hfgTyH3V>(R2g zW43?wQwO`sAl_NyQP>qFa2@+XV#ls&6baWdZA;Q>8HD=y$m-9oxR*WCE3CtHoR?Pu z=xhw5cQ3Zkyf76XIcg(0V<0&9Bt3*&M{3^f{GJ*rqOs(k)d`H?xSMu%8coATvV3*< zvmvZsI*Sv7jE`?+Q>nY|_ZN#n@kMxz$jB^vwj3(oP@Qm=(C^Al7yW+}$lj4I zPM_`*`9gH@x%)2}V53Ko{Ip?O*>aG8sex>X;;Oc6J(MW$nR5p(EraK2h z8F#H)oj?N0r;n%lM)iYENkYMSJ%h9IB2NBT|9ywf^4WcqRCR1UA4fV~Mt%po+S18y zLXDY9bpnh#Jx&3b5^TW!?2fxy*9jGQM6q74_^st#A|e$XIB*^JCIrQ!!C-k0l|ykX zf=64;++J%K-WH&rrt^Opn=PrxEcXsw@k_dn*CSkjJTZGGy@C1B8v|!R#L7~~73J?F z#knVAY&>_e5<%LaSG*~$)Hya|+A9<;{~ds@TW)C=9#5XKnQ4ylVzyMCe#;0;e33R< zdA2%1FHbXzgFucN>IfS`7F2tK9apjET(wpJ@}P_1KS5K`&n5%#ifx&hBUc zA08wiyb?P)UmAL+o?^-(W5!$7p(7z~xt>v~lucM}no_45!_#=nfeiVQLFHTJOS*h| zZvo5e1zDC#`7?jC;pCd|<5^UP=*d~5`lnxl)(A880gaYU*f&JK^JFnyixsz25-4aW z)wj_}%-A&l7PFNenx-WmKVr7?9llypk@mpA;>QlsAn*SCLk&d@63qK)(WX*5ZrUScu_2^4p2*BRwN8Jx%>H-xh~jJ+=4pnwd;LrU zb)~#IIRn3PYn`NxY(&&#;pLl?7}ao7)xr#aarw+=k-;K}B?0=O#QP5W#8UB)tRn5{ zHQ^G3Yf!V*5}`j<_OrcX69Ca{+e1Ymlv~0Ny;Iei;c28kyC{NFDO{Ksrnd}LAxVg6 zPTxKW)}nud5tj4$#Ln%_R}56){AiBj=}>W%b|4nBlu;?$UPkYV|4!W&p7s}{Q4oFD zS@nCgyQNb6DsB?{=2I+p0CnH$bCCWJGF?xG$pI6ZV>Crh&V#qQt z_1Xr<00qgXGK6l@gpVt(we>8L^vPjL-%$MV&)t7dGX;sr&)wG>W^@QfX9l1|^fr}B z;Y?UYAIxj^+e;Jn=0J%mR+@y77^tWAhOZaSlx5f}CoD)Dzn_|e(DS4x+GxC42L zntY#^&Mf83xp6UvUPqCcbv+9=sA3h3T#}DVSw8)|g-gOA0Z19!3_jI2%}e_$_|Tlh z$59NI|B*`Rjoh@4>|T=awX}%{@JU-3SEzqMNgt~~Vht<1*CPm#m6KZ6Jv8z0D4G?? z>=v+wCR9hDViKMI65P5ocIZQc>Hoe3n704WNM%r&H>Y7`K=#4a&L-|OnD|i-Qu1a& z)~P1+{_O)@VmL0FSO}4VE-@$w8?3yjO}cNBI0FAic)NW;O}?6t$ahF6X>XjCTu*;L zTJaHYO;s!exVqZ_Mg1DZ)F^whWHw*wX$P5QkO7M`GLCu=b}?pdco9>gRH|Jdv0oWM zp`E5fiu*^1&6 zWJt7kV#+7^RFGl0NR_}l=NvSGH(!4r#B7?a9wSm0hv~3p^>UK3+jp85l~PmaZLaM( zKyk=O;Q9v~mO2p$KKDnFNjOM3v!UhM2%$3ojXdwkyFzJao7?I+2!4=MacB_26Gh7` zEP9tsMb3n|a+2M|)q}wX-};zr)HivEK8L@+cO2mWYLF!f8uIq7pg~kYfV_Xy2L=N6 zKhvrRf$Krl$2gC>WTuum#n#O^eVM)KftbG2U!X)emON7U`3jt4DFN7AX+|=p7RRgx zrUF2$jTdy1B@d$xfGS%9(&Uz=H&a*Yc5lBxe^8&<9Z6YyiC)~mlBV=zKrAhqRzH8> zm(R?$yDmPX)Sbm=--;uU_ZNQ%Qr=QE! z1uZsPYN&iV$&s%eVS~PeLPMIz4yu{)4zC~lDGX(AG@68U6 zz!4-OZ|G!sFbG_P)3(Caa2u{0*kIm+j02*02+JhcE5KO21iqM>3%dNq*X%&7_X{YN zyatIH;~*)oH`%~kl1_hO1x}r?>1j&@dA{?MegeKkvb^2<9vCz%eV9Ya)`CoTy0=}!;DXxB(B zU4m2kqLQL-s6Neasmos?o?wV#u8jmvV>zno)(R+;V#i6fa>xgwPC1hXO-vd7ry;~* znLMUD{GSDjP831U=BaWQH}j%q&nJDjPGKYrQubs= zcBkhH3uc1Z=}M09o|wD4@4xaxoL#hVotS5^rVk;@x3mi_lX+ubjmUDW|4Rt7q!SE) z$0=0HI?-|os1uZVBy`Co6z534pgU~6h#sJDV$#Pxj8cD7DY?NWDq(+kbl{iSMD6MO zU~<{FpwZl1%c<#7v-Fn0lLIk^CKk=q3bPQ4C6~y0vsVz!PsB6T&kZQ%hOmySHIP7oBMo;=9_yd{6br*Dw(A*1 zzeORg)y8mkBP(>w$j|)GX$)j~z434T*ovH4+$w+1o|q1S$VePn*E4{wIsp~GRXYf~ z&$*$ay?WTe?!7FHQ|{V_TZQw`VIK5TEpkPN^DpPXLDO(bIhIB{7h{~aB@tUGj$`&cg1O?1i}}^ zVfdm(100xMxCY>z|Gw23)8QMzIYhr_nNyex82 zWDy@}~z zSZ2&0n=VDfCMGz>L@VmAvL|(UU+F)Bo`trn zd5k+++k(S4y9^+NC@sKSDtx&{r{HDuES?EVOj`|ydhbeQZfkV4Gl+j<)j?AkGT#oL z5|sf{#xSX=Y#7*L|dFXMl|LA%*-$Mk&9#IiVJoZDQ>wgbo#St2eqIwywy44pEO0rPL4 zexwE(M`c(d7}8F~jBwX!obcG(dc}+?^67040`yxX{59fRcl-^MhKNEqUNk)wVzN3x zJf5mMu&k|}3Wy{95`=IFhfHs=w0>}6J0@8+`Y}3ny`if?6AORY>7%A-a`|y!SAmUl z0hDYi*E*_=yj3CSL-=ITUq^(QqH?5VptNX8?gS%kIydd!#G?M{JB3ekh9bUcB+){9 zb`^>M>(nqq&%33Q+eXSCsU5GSWWclGDBjz_t~hD@*Mwh@9lv@62w-3Oj<)FosoMY(>{<*z3alT;v09 z0eXB5i%v6&oPuZ@wMPAh9dE$TBGgXqbJhE4_1Mm+)VWuL6 zfKXP+MGrSML*#W%&eL)h zciHU{ECPQ4J!LWclDK)k=HjJa;)%ImFnf>X)Lw=BCm^q1s> zBQC1F7KVU{?bD6tfIRxQXf09jlgp^6a*~BLX^a@R#PkS%DvnFcvO29iFVqhtz;)3> zZo1xSX8)b4Ohavwq0Z#zKIgsNSEbFhL>VG0e+zg#u?6K0;AzPzN`8WvSXo;b$hYIH3-z|%Bdp~!h&co#wvWZf66__K_6swi)g@cox8 z)M#TC(^q8{Is1OmxZ=ll6{A3Zv&iY{alCnwi?z^H45c0B9FMgf;@q<@(=02;5P)HrROPfCqj% zryGxdP7kVuc*nNMS33ok3$pMEjCFX>XY@6}!-e2V_PZZne#GYaoi)+~_HzqFvo$2g zq&x~sJ$oAT^rXp}yHpkrJYJZ2o*T)x?9*_e1I#xvpph3AIW8I+{t+6bN}Rhl6hPxr z;Sk`JA(QNF;x~W`osLz6|T4d2U3g zmXZ=xtZ?`2u}yU$8n`8U>S=yYEJmKmr*ZGzmjV5<J25A&o1$PIeWJ{P}B6gVBk#O7MPrW2w zSi|yPrk>6%=QVYr;3~K`zcl34!v`T8|F*53vhM62-QR z@UpbL%%Moq?0QrZLbhA+%hhA4NjtPPhlkV%F>M#olJz-*%PO@24%gzQyXQ+Vylo$n zAaEd=f{=1FBerME_G#YbvU@nmA%@HI%V(?Rf$w_pq^AF1gQG0&>N!{nsoMR2n2ek- zcpm;TSvSQEV7|1Y>+7McfYu2`#Uok%JS^y26zkimb3Ab3mlH>24Y`QFG(92XL;}$2 zlgyLJFL#q9JyDNcR@pN;>uf6~fK`Jo5}Om}y}a%kdcEJ0cJHMk-};X=sK}I`0nED| zspE3Iw;D1gZ6T9a=CoW@@sg*1#=^1WpU>S-`^kJ(rSd#Uf$N1l{YSjs_Mb7Hk&biZ zPb313r*JjEjUO}RMwgJv;v1+A9V_e-3y&-n!i&8I1+m**WidQIv1>*~>9JZO^{;2a z?3RHD&HwWMCx@;S{64ufgHgj`fmVVUVwuq!UZ7KPp8scP`@BsQCL_#$(c-abspB#- z@F}>Nb%BFrG^37S;)2D4mMfVi`~gr1l4N$6b#<>N&I_JIptuTrL_s=0bO0KOLc_12 z!RdXx-MgcXXq#b3s@`#@z}=(L!Bxb{?;J& zHQ?UGZa*DJd@W)D@O6L1r2SLUJWi{ezJrG%9z9&jWI&|Ik&Oof>vzH0HYZkGose9+ zaXWsG&E6#ziSaZ2&&gq&dWceIGpzrX;vj@L=1Fh%ZnXjmJA^^5Zq z5ITtViZ7IMf{iZDp|MEpz4rTec0_;OY^Dn0*?k|l#Nd0>ZX96UDx-7~PQa@)8lUeZ zcT^HL-ZU>U?WU0iJj1oE=3Fg!U>~E0)$q^aHrmX8EhrYEDRnmEU~}MYBq%Ttk#9x% z?xCM^*|Vxj={ED6jL6rX0pLu2b&T@F!VqX-GYD(x=Jxf=F0!=Ko}k$%oggWt;v(5a z3l`2nkN%02UIV_=0{S*@w`J+R>MK_3f&;^i=`Fd82|9(Jq4Wi_O7U6)BFqrv{Yc9HmI#%(f7K*1D96gmnNPlHHhoY~}WkdQ6#vruWL$JgxfC%t5ELziS8 zr{${P4Gvm8#}dh?n+$xPfaTx4)I|n4Nm>bi2fGc3bSl$*a`BG!1d8*<#d{c#=np1Y z;;jYcPoM$vnGE@erhmU+Y3tb7bs8_#>kQs%*t+yseQ%hsx(<0PrN36LmZ`%Z5Mi=J zK5joKD96hltLZC_)@YnkH&`VuhgBYlnlFu%(Upx6VgbsOT_=~zCOdyk=A`?AH4ImO zy+FJ|+#T;Q-!Nc8DA+oQ6fO$%hR`c>c7ld9Q;Uc-hm2+0A#-LR$9G^87|NtVy4>%y zfPehMdk(m3ywDCh<0)yLpmDP71^bYbcStdDAqUn@?Hc&_BJ=(8qk4f?m@VSxjOiZG@c-0S5bejulFpA8HpG&;v^})e&tv{*SQ^fRy;-<2HUl^~S zy+Y8aJm8&WT{@*W$+_HMC5m*RVBO*Dx?U(AC?USwVN{8_~2088)$H27e`xiiTWh6Y4LGKoIKAi4rI>~+gjz>E3vu0%7o9i`Eb=JU(52>5G&{?AVPCikF)doiOslsy!m*mr48(c8sw ziRuSi8V&9}7w5oWAN@^ArWxg0r?cd>lD!LjuO>5aqippLT z=4lhKO$o$;wOMn$iZhi*`y;~r+E;MoBN<29MOCnLI+^o(i~6`Q z&UqUgn1S22I*tP1Pc%u;jEf@p5~W2&f|FbXJo&4G$%5wlGuW0(toLR>-L6EH2oCIG z&(Opd{fx7biRRpYy*6zq(h%lS+P;|4+bd#rIPPUHGMZ6!*?@-6+7 z9?hR@4n5Jd1G-3F%VfT#P?LMCv zkUb}5`3(P-t>>;&n5NDwpMEZv7lgG&qfud^=-)5&s*!?uHuBDM<%6I?frbby9rH}i z@`hV5XSY(j1J%>R;I~2(l ze^Kk+#HN9NowW0Fn2!(sqL^|{rD@`I3-AIYm;UQ5m-oB(woP#-=b0ZKy|oB}h}^jl zOMTy)0&ePe?tLSWdKWJSg!7EeCP79*M;Wc_&zHF)FRUfYhQ;Sj&tr=QOl7`kPRSLj z;)E{&&eK$R## zCW6H}DZE!at!UvRTGs=P%bIe!<|?=RmsJQ*z0eTa0<~taql3fnt7VBcDm0TRSLEVR z*b2&jJZifzJi2}Pgqck~iH{i!-}pp9rcDz#_)(y*H!$ex1)e0S#eknbsE>H6^*3{1 z{W8JK-MR}Mo$Y|3HT$-7G>xEEwgljS_r>zm$(XOhKlHSi_)s2y za!0mAYZk$Sv9XJY{>9%MGm_~NltP%&%%`ePN_&OF_W6zfef=;Yjh4V!(Qk|%QCgu4 zx2hI7Rq)7FJ&J5X!1(^`w2$vI$D&S%8=b?#0ST~|y@OamFJ z?xTG|XyI#kx-Xft_sM!HZ3Te2v@2T8NJAa=y_#@!}s^$heL@s)+O3z=_n^e<5g7MJ6c!aHFOP z*<~RolnydP4@h-=t+Ol=XfFCaq7CMRL_~XZPrMVu>?g1 z3`7<%47{tvIUw>IGbj4%%#xIWKFLjI`zG{A@m)ed=|AFPTeP|NQ(RJi)#3OO-KjM- zrP1qHP!e6hHfa|cp}%XMlod{y^*dRJP!g{%q(pTeG!nTd*EPItDTmS)Irhw*fFF4_ zwBlP;2YwjS0Xzq zawN4*dURZi#FAgRf>xsV%0HrY{B10AsiMauwe*^n4163A0kCB5PJiSb=;GR;6bl0p zS3s<~6Id|0)L(tT&q2*%lcoz0z^lAMKMVOyLBd}q@P+!>MrN{qIq<|&uHv6sl2xD@ zSuA{t(jXGtsHptuJ1fMACi(B9kxV>xSJxYu(j?g&6T)i0xT?D%IxX4Bc3?~tyYDLt zX0bYfkyF1rE)RE0)==b6j}E;hGU%c3j@btRbpqP6eGx17y$Je?5CH}S*6*c*xVMp; zxDTpcdT2u13Lun!;ap}1#4xHUCyWWC<&ztIDWhXGTN6d~^2=3*U=HsR^Hl2bv7_zl zmzX{Ur16O#Gp$QllnQ_7xhvvn*{8_E;zzA%xju64wr;t_He5Y$0g$$Lhzb66^06j7 z!l+V3q0y@1!;d248xeDQ-LjUoqQ?(AKikk%&{_XcLkNg}__FNhBV4_seb4loGn%k_ zEn?H&OlNZ#sS!@*)C&WuH+<3Pq3PhfaTVN%BfWIuKU>cIR&xp@K|AUMz9@x)*??WE zxgwww?)mWqPK$0*^|?9|98=n3DGW@l7OTGnY$wslFNpezEj7T_B^M8neJlSD|3~f) z28p_FpP}D>GzA}B?Qq!c^&Vefhw#{t7Ff|16+*3M0e^q; zb(C~)#+%Q3G^%fn_X}0KD-r}X^JUt1_PpM{)ek0r7x1Cc0YsuDy+{xy3}R@Ya9|Ga z&q+K;pA&ej_%6iH5uKJ%bej2$((AGEZv!vZyb)pqjY>r9@m(?6-v_St{ zF917#zwE~KqIoz?AQE|Z@->ETul#);typ3q(^#_M@(PujQ? z{t-fL%)m)?lAwGROtcs>NqGNhz%BW4d!2rHin+E}aY5Z9h8-C?HsZzt# zZ6;t|o)g%}VTC2*~AP}44=Mq4M z!Dc8OZb~_$Og-0t-}6-f&rqw>e0+_ZkM|kSk4~-Ng$zN&CniMI3w49M5x$*c`g(u< z?8XcsgGH)1J4I+yG|))r%`+$A^Jr`Dq@ZBKCQc*JBLvH*WgQbB$Mt&JgnHUEJX z6pNNreo{1}5h{pgLGSm=CMjTw&9M9ISOSjjflgvI*!G*S1SLEGzpWnVx3+P`R|pBpHHT2F|05YM(N6YrEGC+ozm$LWg) z+?=f^zr;L8I5hTcX);oyKuwh|q;jQ6Ms603n0UG6>2D4v(1cGwKMWx=c zMOcAO#cXlbu-x>2pz**`f1;64o}=|84Gra4tBL(w!34v(5t<4M+PyLYxI8d_h5*~N03i@}2fkL%F^Q~F1^de)XS_v5xFrvk*oLBbkssIq~Q@#->& zKCIzTesZ!=Q9vQK!25(tI#{VcSF9-zWN0dZwezn45v~Y5USp*65|>KN*283g6I{p9tT-L4d1Gqu@HL95*9?p z^Ypy078d+}HLWcwQh$ax9OZgKf@E1k?@ zA~@F}J-jE82&pk@Bdl+)0kQc|`#;y{Z4-31jJkq>ai2L;g;mShNP{&o{-Y; z+Ehc9<>px6?JwuRcb{TE87rk*eMk4G_MlRNBB^v6R7$%4tGzv=_XI_Y{uHGr&_TW6 z`^+h-^`9D%NyLC#qO$SXws8Vcse$lq6%>;6e&Z0 zxN%zDi}6IaNsnCRMtBM2Y-DvRFwhq2lTs(ros+%EQ!rj5i9pf?Z+{lF+_C=??op$y zXvAE_mP9~Ni?`kDJ&zD3#GSBcNbeRtwH}dTXNv_o+Yy$S5>h8b4=Odfp4hn11I7B{ zxWmDPdPB6_Ngat*9JF3mm3@ScpI0P2ymJOl$%{h+}!ut6!+@_-oxKv(eU? zxk-!|KK4N4xUGl+lKmfVs6&AbLNKJ$<8F2d0@$|}=AT-I0{38%8g*p`=`Ar!$V*(J z?{WX~XR`Kodd*$*oSNiz`>1y@hWON(G(=Gy?D3rS`(hw@ADgBWDva$@1agyq+Hk!1 zf`k_ze=sPL`9Pyeb|-#<=7TL(VY2!C$bh&X+O^*Q(eRaFQFULuLpRb0QZpdk-7(bA z-6h=;(w)*Ugmg2YbR!KST|*9nDBVg3NJ!jy|M%YSv-Vzl?X`X}&pAhXeUa(8^r4GM zR#A1pte-;e5Iqkxv53nsB3_+;l}H$HQ5ZD~dX)yc>+3~r_c8w*N>Ouxy%}#+!uLmU z;Yf)Km}P)*N0#MaaS=K?&UWe?NtyNVi(gH9UycY<8Ob_}xG>`}LKFyq+38$pxo%f; z(9pZs9s^N&M8K|5=asBUqToA*xb28mJ zTMTy^gutPYZ}Il-(oZTUxreQbf1Q{(yE0B&$Qwq=a%H(&v@GU6zQBQ7seS-7uzw2t zZVY@GS)2Ghz@w&vhf8)I)>!gd&T}X{V#OwPiWU1ghw%k+p2pC7qHsQjrkkpbkw=UL z_ICa?X87RgCRg%V$y7#veRJg(9a9!Fu|0ZX3|$13PHoM(@a!`WUT6@hncX21d$%vGsYgqq<8LD*O)= z+q5^3T+`=xkg8a><&4`1Vbxfu!%VvXu%E7$=WQ1sP^X{ZE@81_M{miDYYrsumG%p> zCx$f9DtfyZm`rd?-4B2b#z6f&@OG>UM@6m@e)nMA_ z{y|1)>p1DB^lr5SYl8`2Zfib0rG2j-SUW4Xs8?Zk>kB&Bq}ro4N$;5>mgGn$wMxO9 zABiQEo76skh{Z>FVw9fdUGiw7n;#^b6WIN|eTRG z%aUJ{9yFRX&UpXBvAR&Lg+j&GL60MGDTotoZu>AvFO|z@03psc$b5%Ea=n9ea~g$c zNS!QC7Q=Uleskh3FFHVwnx>wmTEl2tOs~-Dz92u+aWmIL^O6Pn>z}CT8)dw%QlD zl+j-?zK|n91nbJ>v+-Thpw;o~=ZX@?;_G^BR$|5M#D`lC$5H~tl3ChT(b1)THG-MiUyiT%g3zGurg%7s#aDfVZEgjU9X zfYVLsRSD^>RR->HNy6s%~Wda_0h=9;-tU_6Wq1~ljcWY{t=a6L=qqd7Lq`KCQ z=`Q(Uy9i+_8$f!QVSnxDVts(?zA!E_r?f3#^^UHc>s&Nn3TeN};ADnf7n(v&H9Uz^ z$3}y-=QPpOwLG$TdyJ6ykasyavUvJ`Te9|+kmb=G#MguEtldDS*7uRiR*UEDm~#tt z&TX_he}vrRGL@7{r>Dut9+^el)4thD9g{?-;?(7_V@GM_W=B1v8(a(Jb7J^E(c~HH7Hd9r<3)1(33mG$i5F`exp9P~G z_g&QwY7)8VA&S{Ce=9t@1pAvSOa|@)$G7aMG0GBuxsjn@lp+Z1k3O1BNVVk^|IM;H ziAz2HpuU4a&>o?$(ppufm~}v-(@`9`1wW#-TFDX#l;N^7qX2;8OKRr?k{MMt4Fc#k zn_dr-_hwom>r4AN|6$jEYUZ2tnI!IzbDp=~PqDNwq3OMw=8?km8ww116N3B)@D*k* zkh6;o*_@q)O;tIBGP}ZgHqTE}NvQXXv5Bw1fkPp4K%YD6Z7LshC{nvtqLV z5Eyu#t_}ws$X1z8Xzr*XkUnX~t?o?LQ>w_qVAMqkJGszg zc6AnFbgOEnjA^OE&4C+7qTYZyS+;M2yPTuRLtiEfpI)^yfE-H&D;D*;c)$};+4p%x zV@U*72V4<1Ar3Npy(d`X*j#1G`V=Zp8C*@T2!zmE%14BMKE+*;maKHpz7D_|V6JjZ zF`@9)3}O{C6?dAHSfMOKKhOHywc|GFukBNx80@XLRj3+%QTAJr$W5Ci1HI%&A%3My zB4vcxTwtor40)@ST+##|tA?+o&5aa#s$AoT2`VF<0hmzvkN6g)K4mGA$szo4Nz1z1 z%SVyJAUGa>KMOz9$5(I!6Fo^!Gh~8s#(A<_m2X&*1^Rs5>lH5`L*yzFv` zLdAYWIO}UrDj|JjU;n%ao8!;WjVOu_&mL#LEWSg3DmucYUR>be4&&*T4c6pFUPS4M z#wNi$o7p-7pZB<06cb^d#FsYmOmk$o3b6#Wvijpq9$vFtKj`2$>zCChSipq3v~)MP z(7}ng3=nOP9(DDTck=brbP!CD@s(V@X6xvDi#Em2`MkMx(wiQ*QwBaNWjYhX{O(=4 zxtOMZb)ddOWg!=7v=%^GUQ<=sU|=aJYP~g$dbwyRkZ;~FUnrF#w&ki*1J>nOMH%t; zOcvY!q!ZhjfCc1Cupi7_+_*Db@14)6JZYlEdC6F3rKuevpq8&#glDRT+&M%0tz7pj+k;8(M(Cx{*5y;5rI=3m5i*XE2g)g;*hiAH3c8InXADM%^7go1S`rcC{8!b;0p(YmH#N~{ZL+}=Zp}grkFIAziT+XC z)#rDVP?@OTjMU!W6)z+};dvlFu>>QE%(1t~_N8&$J2Y=`Y2~W0|?{5hIJO)N6 z96B@}*}131;(6C!t!j2YvNb|)6}{>gl`T=aeXmelUSZ^!kE!<}jI zE^?nQfeBd>zxFMDWlp&?+pVTfvXXqa=+ z;&W(ZdG!J%dCUptyw!&y$mWB5gXsfUsWJXy`fzsLyUY7a0u09wg$FKOOC0qkXEm6@%Dgj4>iN# zcW4cqLN%Vt{4M7SBV#h-_(A9V!BfxiMfG8RQK57Ybr-3Po+DF&Vy8J)@flXJj5}X` zwd$$9YYY*IM(SD(>F5%F&&J_IOZENU%VoV;2b@;ouJxkapmfhf6xaiS5-S>fV2<#c zv0%j;biTDWm%BD>=MO5&$!Sl?7TeY5f2E=oAbp_fb<|FL$$?K?CPumC!wHrZrD8B^ z*fK=CDojjq=2}glduvm{xpAgjd6wKXXrW&gj%-hbSpJGH4zX^3YO<7PsV9$h~HPp;~$iaY#;Iqqk3g(Vd#>D z4rZo9N;#$YD~Q9Oxu6?ExiRd^=$qtOwNS&zgOVMhW*IQ|(CMTkCD5WG0YU<`${nRP zq2Z6^%&#Bf8h+@1edoKHb-zcwY~jql%vf(5G8cJWq0wqeAj}-=LhbgJfwH8aZON6e zgY_t;qNM%Bgi>8wX6N;+3)p-<9^!KBl|UHmz|0#PZ|;1ro1;-})xbb(GM`j1SyB|+ z{Ao(^;;+;UwR6)Q!2;Vosd&LBx`DrsE6~)HC2D)j0R~2YWEG@>>L{USNrCQ-hnGYP z_W6lS$k{5(_w#4I&V66(W+C(=BzlQif+OQSGEc&cs+nXG!9T0w)70zoF^pPvYqf&4 z%WrIt6C!%yjs(J9hZu*H`lOR3tp41cF@m}lCtii%QEBn#cbX7OYEqRw4m&28_P-!C z^{vsP5g0yyvY+5f=>3%XpRB}H+D#u~6vUM{ZI6QTm-(NI59vu?KjC#nunPrP8L)Ci zPNf*cwH57}s@HUC@ z>ka5Phu|crn$KGOWOT@D^xbYS$fC&)U(v)Uo2Et+i&H3MY2rM%3Vy1=dQAq#T}*@= z^IXu1Zz_>irv5j0-jUkD_w}!tiQfGZTA#IlV$Q=wCsL;RNc#cdW@8?$!FGAZ%m&Q5 zfjaS0Xnf4aS6liLr^7_W>8_YDnlgH_34vHt8v_1i8pS`&BsGm=Gr znDQUK{qg#?l;P5D5;N5`n@nh(k~{Nq`{@to?>y~+-lg}2L{yhK`87W!zJ5CFS4WiV=O!E*Uwg8?{b z7kNXH`<>@29&s?g7mFik;rwWY*AH&kQTX^=Nhmt^8BZIO0 z!TzbNq-VmX7v=o*K3h1}%=E;dvs4E9UzTqi@n)(VM)%b7mfS=36;YK&XSMyG;jUx> z`}dcNXH&0e7V3m0Xr>3w;z-heS2T1Lr~;nyo&;hZq`Av9)V)?C2QOs+x0CQ9{5%As z%A4?5*YcVU7oT>&_Nq72@L;YCD7=x&_5=r@^(y#R_Zknx&iUI=V)iB?rcVT>kX03Z zi=iBohOqbW96Oc5^;TOdrg~jb$rn zz`}RyRrL` zrEF()*!+F0Q|0d2wjf1+fw)Za>sHhoyu6*Fu}4YMjmCyGRg&#w%>>x2%cJaNe}j7! z?(hBAFCHZ?)V0lH)GKE2LAVApN5M-@XCJrSloJ#;N=%aMc~dk- z7fvxEHaOEmQ35>_6*|1T7fB{LXt)9Dk0RCRys=Ac!BmQ*x-rOqU0Na(3^eY$J2G5S z=0^YdDK^}V#|XL<6X)VVqQ@x)5z~680kzD>MYT!QbINHPH?hVz=@_6?1=Xv6e|Dem zSE(XXGnN8>mz7Yyiy^Ce2dXyeP!qKKj)>Ifh^CdCqv7!83Rc;V0;c}>4umt# zJFwOvv~{xPQX>S$M#9+S^+*1og%E3k(voe4MCO!kaNxhrPQ`v#fXDLBGc2D~?@AGV zS(`Bb^5>FTXuqLx5wVi=$$Okijf3tebm1I7V4OYCp%auKL zxFOQ1Tg$RpsM8uYaP4G#ys_B4Gve}7ydfc1rjMKdm;?2x*C>qhT35saMpu$LpsFCX zBaYYAC;Rtv_%+JEJJzaB|*?fiVC zTeG}RF-U(1z3Z}9kd7>TlOlIZmYPHO5oY2}cV$f1#vvY4cqnn1=ZoQv`sXT*FDD%1 z?tub2i!g&oJ&5mt1C-A9oUUkIk{zj(IDrA_d$C7YokQ%g1idcmt4gfuu-g{z&mma12_-gBJw@8rwVEH}6`-8-KP(e#PFAPRVc8bTu^X63^BHETS?W z-4K;oq6Kf6gBKc=;!1|^ z2Qcjl!RQw4e~pi;47(Por-;7w^6X~I7p7(GM{D6^9-5d!<4i~YyCdI-2A2_F`v$B? zFT)~kE`i>AW|aKydRi1bHaC+o%Iu`gyzk^YR;eXj2n+&dB&x`S)!i#lH@k@!x?nVa zr6r&0%x?{=R`kDzZPGCec^mx|m?J%?*m;Za{X%*{eQ|y43Q6ogyu8MId~g&MTnteO zZp_ydO5b_S6#JIKv;<`1PZ>!dvFmh{0x|v0Z?1qnQ1P`Ifj#;l$q8~Yq+afbFcU9) z?UU`omF|Giq&32*nhLB1Bk>W>+LVym=*)7JULdbT5T6yMn?{{cU4c7Y$0^Z+_v z6b$LwRaLR@UEm0MoiW&N@hHD}_wlt>U8pKjLw$T94?x<~MxD2r?*#-u zm<4Wmt_r%wV9|(+mz0*6ovF`%U0*(;@iEe1lsIB0kPK`FR-^*?+#5DZGNmow5N#*^ zOn`agRo7=x;T&nykOyQa35{-%#(ywA)u0yItf4b`J%hWcV!@9fvvggR(FXpTLq{&A zHk@So^FY8CqE}GFVy>@w-M)Q3_@35#_ez(k{pT)a5%8B3zZ(K6}1bgR`uxau&jk16f z7u3@A-=dgP6as&_)fials>7Uwoh8*Ojz{E3IfiZKNzd8XMSqK`wyxEs^H;s`?divp z93W*rR8$tl^^W|SU%Lo@gPWuQ*_OqlZ@1~{-w^|4(-d_z>cdOF;afZE*7Fqzs>5>a zP#kX){bt}}pQLR~#b#V8*p@$2-S9CV)}I!)?UP%{QMafrztSt-h&CTy2md^gVe=Px zWxkyY6eCa@pPw^J*QbDLC&~KeD+JPCQS#`DFU6OS_L(O30%T6)@iOBs?+;R2fVF3a#88Rk~#+TpeMuY3C5e(KquUQRh zdpjtXwmH9Q`BT1#hXP#*O%~x}vS7 z5=g{gM-xrZxK>Jvs<$gGd@>Mm&H^)nY|nozbtJK=E-|`lB1eskH}5tv`jytvnaMP^ zGS~HJ)(X9R%pD;=W!{P)@aSE>9Cac#@MS!N{j+G{RdH7$Q$5P08kkzh9q2{6UKVo~ zh{4S2sA%MWn7=%F+v$*4Y-yJzEN8TJqYcMa{%OnWJ1({~C<%v`D<#3X{jMBCk_ijA zi53K-iB+bsB_raoB6dl^bR@#gOGQdEDZ<*FHL2 zUcK{zFt_y0SIuZ=q`)^BUyORu6B!bAqXMdsp&URvzpfH9r6BFQ<|sJ>B5z@%M{$!d)jBm{aId0MCz6TRTlrwF$(j=ElC` z_Y)fJ5K*1YLCYKTR|=I7zh}{fAED zqT0siUU-nTWphz-Z?Fs0UvvrRp%#B5Ab?H&lPY4Mhz1Bmv+)GssI)7Ijg;XvC$aQT zI-yI|vgND4l1!^e5#)#nwfJN3^WRvqXEMsekCBq}!Atmc2@jCK&Yqv%tNO57+Unqc zrvT9X@;@;^z=ZScf>az~AYMP;hKV1*b({QU2X_~@|I`h2z!OHq3#i-IYmj-^dj%6p z0vcOjn*wjNVCL`1Tn3m=Q1IcQ9}RfTAs$3^Gu4mgS>@X!uwy1BC>XVVoExQBw7yHG;btjL2|~@GX4Hh*e|V$pW4rCjsH$FwB1Lp}n!X zww``0+o+%HK@TiYytVHwC5=iI-*az@oN=|r`2#}khDk<{N0;() zlWXk%40Ymfr;=Z6UV-}j!qxqHPZaP}nQGJ-Kb;SXQOK+;$nr)onrXCR7KfM57>CQD z^P9&^r9s!++%7dOueJ{<2>g4F;j0+C2YxY$lnnPFT1qlk2ipdjuhg)Q7^5jw_ORN% z3c-u&eSRrJ+}~k!)jZdK@?5LcOT~`g6_fIQ*R*jKn5nrQ#RG(I@eW-~6kcguSzQl} zn%jxhUF?5Z0%~nKu-F$?GE_jo-k$hJhO)ypm=M*5@#R*_(2d+NaLf+>`2+1P(`6st z3_DH?bji!)@)Czc6XsrNa*a9?cl)aW+8_JXc*%g)gO~ZR9UiWKgydA^MoRx?0eJvJ zK)k;!-Q5_UqKbH?Yo_klrRv!!CCWAOK!Qz1SpOw82u#1k)1h~nLmfG-)2}8lv((!x zSX-r!6c*tT#vRaD-~!wj67fz1EI8MJMY z-VdfiN`2bvy+@)hz0^C)cDT#G;{L8e?IjKw61N*x{4Q zyQc*OC`LUZBb#$2+hIBDn0(mU0gsP*pjtHQ-HR^Kn&c<^(Ab@}+F2V-ASJpLjU$8Q zPBp_*YO0+W_7U1xf7V+JCIXjiQY(yNdITR@HCzmfcjePpLEGEN1CMJ_Ljt%J_2uQX zcn-OHNXq)Dq3#I@aJK;hq-0Qq2nv} zwLdy&x?=Mdj5(%* zw9i9jUXBQT+$Ghquqc>q4)iL&+R9Q`d!Sdb|MX{PgCUEvVZBH{mM2Eno7+z8oE4#x z&d)+VbQ`jDfB3bMjn(q`-5st~0r~tl3^M*P&_WusZgMDQ@swg`FP>yLj*72TYi%uQ z%G{}E(~y8)fL_snx%@(^=1G`~(Pt$;|1(lN0gcwDs%ym1Csr-5`1Kr50j83iVAym> zwl#37XeK~o3qDdKf4bSBGv;73ymC+HGh~$m?f3Lae~011HAkFLHVrg>BnGC9{Z#ix zb2jFCYWDp#AV}=vCg{vLT}mAP^h}_-)GSyTgtekQ`%KhP*=nIw<+P`nuyhdo7QXMKgq z|J|@!e?X^Vf;{8kQC(`G_q|H%zI2yT{s%*7>I?#NrG2%kq1^~c(>cUpFv37H+k7!( zfd*MKphGkkOw}P{zDqA0YE5f}>J%`Em)P>nWl?PdlKc$BAXt*7t$M z`UTLRJ9pU1l!X=@zDp$rFLOk(ttfJ!rdRA|e+Q-+R6bYo18^3_19cprGPMd4+cjO^ z>G{ICq7~eV1VRv`-%T-oDCFo#)>}0sDlpwY9f&4>{nm@==~`)`H%0?uq=~pq@jHDt z4BR_5Z=&4d$CnHz33xKeU+t+Xp5YVq|J`hPfDTGzZn-8}eXW8$G1jb<5fPt+74Q2> ze>>n?zYc{KrDFI{nVJ`-%1vJEeAjUf^@#efpgL(k*id1Wgox$iHzxy`0|7{d<_`_Ed5o#HGDaAaGDk)bKfOsgzcR+Zqy&KW)Mu+{-EfB3vcvnQ`m+fmO({0n1B!1Fs6@Pp`I9}WfrUO(|a z6#O~gsxc<*6IRv#U=t5fMchD}Ggv(soWG~hQg3}y|KY20;!DTCc7zA93tN2SV3YVY zgb7)-YHUT_hPIDYt6(iyN^XhB1jzg?<(79pb`HH)ZlC%z(_!d8eUIs>e=1qV85 zbxU5H6UTtsGcS=WJfwo!K2+3=9jw#ie|gd&r;w>rH^Y>`(TKVl8CY%6B7aYFOotI^ z5NG~nE9#6!p<-NmB@O2YU706ilGVwwXFjnyAl2Skpf5M}p$3lfm4g zl_*3+D5PSRfN;iIgLm{xe}E09S2id{KLV8S$U0mL8TN_Go`DyW)xJ;7=S!=7=)s>8h?F#hFuN0iD^om;wL{UB7(k_&( z*AlveyRjAj$O`7K%aupSWYF<4Xfm)Jd_Zvjo?&_?Nv_%o+_j|le=nN3QZ(V__~!vK{zv+ zp@Of`D|bN9>Y0#ujtwU8EnxDe|5CyM$}#uuxtIp+9}|%#;RQ||?;AVKDyaSm+wkZ1 zq!I~WUvxUmMw8tyf2It?H)egau^F$xkl+*(NO_bh6}hz0aCL_Dcu$}p8(NFWME-c3kaYBGomnY({Wf4u_XlWX+E|2u-^eu(Xb zy;!ehvh`-&T_6rd%)upj%1Syu(Q~dCVenbVFu>tM&Wi+)M$tQr1n<+U80pC5Z|1VU zPQzpsswVRK>6?-Vr`{|B>C>Ba@xS$4tRLEvjCrWODIaIseMhq$!U3#5mwA4?vHCtX z$L8~Oggsvve^2rmm*CDrIJS7Vkz(sl#f6`*&eQ_y{I5QA!uBcNAk-C~GljEY)C3oL zh7w6*xK!VGfe+wVV7 z2vXm#j=H+``ID=RSps+|S)1o8RdzuADB~|_f5@BxL9!S7MR?<9DM_OR7!m&D2c9g@ zvmHMM%C|8-xK(DP*pkm^!(#TNU7_fkXm%<39$KnvpITd$%w04-?~4{c_Nzg}g@wDP z147zRoCt_#zKwlPQ4>p>k2aSK^rQ|pRJm`UbOGGKOn~fg~&%XfEd=;Cp3zKzm zf6{shz3Wn0^hI?Qn2>?8J`$6(KUQb^SGUIA-`*h|UX((hL+eyY2mVMb zOJ*XSi}!kU&?W%5yyU~}{?#UDr*q{9S@J;{d|7kA&t?@fH3Kq#pX7N*MN)lA8{tW` zDTu|8xlq^o?uvQ=sz2Nfhvj}XO^qiSg78NZO$b{7?_I;B72yl-9EyapuQ z*gt3xc_a9qny9Yr?=7*e#9tlW?zUnNygSaf%Z`3Ht4`i!GiHuZymI9@55^;7FvHF1 z1m7-5#MxOGIE+FzK~}ehIK#1ee-Rm$SK=D_RwRbnaN2=n^G*3FIWO-(oVjQ&W~l_g ziUHIX74Kk!2DR-6FEp4mUQjQL{OcRF1@0bNcMBB=5zZ^nyn76?T06s9#c?*-`myz< z?Mdmt)QF0}@CNF%^hDPmEjaw^z}l8N0x@@0SL?-~(NmRQ>Y5mU9%$7!fA9?mo8rxw zmeuNKQ8D_vmeN`4rB&)`X&V7@p7U{YN{RZ#P~5}Z9fEjSf!h82g!Fq2&%H_OJZpfq zQEQBE9~uB0S*IESFI*vu#tZN)XMXBmH|fxZK?py+48y#NZnQ$lG~9|-ts>6e)!)&b zIk2KZ`rlS?A0UW0;ORNmf2X-$_Weg!FxniM&Gr)=B3@;J^%65Iv#MzA+Ta2GKUd+4S!v@L5ax>{;%hQB7 zj1kTEF0D-a01_oPxX&M40Ul`ZG(Uvq{8oto_&xe!z1SS-zOZfff9b2;VKckgdgswY zXQNsU(9t&@BAsO6+hqR!l|ah_xq?J#IVEv7tkRo6>IlK82NVY0&n9EbIn<)SzW3>N zVTMp23pb{!dD!acoWbSg%I4-BT~W08*BWKh-g&2U^g%Vi^ENN0P4Y{+ONGMh4`oF^ zi$GRrbEw_Hy3aC-e|KcuKp2CdC_JHR`U&;iKhfF`$sj3I9ZJGpR^g2VY|62zX9}Tu z{_z_uL5W{u_Y|JPP&P#X16R+n=my~p>MnlejqWaaFL1^>qnFgv$~)8{1<321*gh(r z_@Ee632b155jW

w_G;S3NJE~6t5DMNZXR0jYOAUB@%hvYbc5D6U| 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≺-wQ}fB0oO!->X0v$T3EQGc|VEx+$}CbU{PL#|}*k1N;K&lcbG z3tGcclK%0bwgV2yXWFRjl!didPP1Kf_3ta2lVIu+WOk2gjLm*^soJW?iq?Q z8hqi^)=4Xlx%Z2k&`;nv@b=so^h&@te3y@g86Uc+N>8g#s2?jiLY@RW!k@*?#g+A1Hg_M& zH(?&Z4jQ7{a+Y{56ms@x_z;bINlBTBt@7`e{$Py1@dRGEP(M=B>VgZeeFUW_cnzHZ z;_X>-~V=NByEtgGBJ+RhEe`&uo%x!MSZRPpPkMA%}0{-YF7zp^5$#a+}c zPZg;xtru9S`pt@dxugz>cY_Z)7%3{5sGy_5%1nXr6-eJZ>q&A*w$M>ekzXNO_yyq{#xu^BNi)bDJ_WowxV#T?oxD-_UdOvg@ zo(~ic(+qR`nXA}hxk$!9K2O^Xo6GQKCufDeGgKvP=~5%ZT5Lj(<8;Sg_;WX_^EaU2 z<<8mGyg`5hB9Al0Cx2FJ6s_)SXaZ%?{RJgPe36Noe_9*C5Dbmtnw(T#Ju9X>%!t0Y zRaKX|k@-i(swuds&dn6bf=oCK_yYNX)mE@Z9z}!VO)c;apC}_kpH8z<+r(N;H?x6Y z+&|Fq1%hf+3e*9MR}n5>J&5uKZMu7VS0n8i5nkSou?|p+ ziN58VCxMm4y((@dF_2+Kd}e+Pt$?!(F!Oe7a5j#`0ENx{T&7yTvM#Fr6`3KS3@iaZ ze-{fMi0v0sR$uf=d=4%jx%Y(*0$rAfy8q2`-;wQFV3V4_sm5^{1mb$Q{Xbao{wKmG ztY@tD%!hJK3(L^C$U%5SuSpQXuJE+|4(0u})3D~s!EKZ7GFt7Ui#2>k#%CuUbTiKy z;FPqZey#cRtTxa#wyEqlgJ=&$cC*15NmV<0FmtY^v~5Rf?SiPg|7ejKt(sxVoMa*@ z2PNWD>}r}trpm`7%6}{W4z3K&^%PsYHJql;diOl1{zt&KTW%7o`xE}kxSg*&fBV}X z?5W=gX~*2N0v@$U;8~Kyn}}t7R~GzZkAky4@}lTm5=P5MiUIz>OzEo%T#Se(q%|u_ zNSGfFRbDX8o8`qLe!ue&bN-s95-qBVkKebg(esL3z*m@L zg0S2h93dCSKn~EoUr0H2T&o|If4=Kfv+AVY(Ux2HtZUCy zXxyjD+FMVN1kr8pJeJ#FS*4`H&!=b_RGk{#IU+2V zz(KBe=J&?E^EHGEZl@H6mxc}$w5y>il*Z}@`B>_DLoTZm_v8U(Q=A2ze`CXRp_y1r z`8*kcw|1?|ik9XAtwMXLq$(G}NR&PI5-+epJqKlQ-h%PCbvA`k<<1-! zBMQFMxR0rsE_MM`NSY&vaDRxAI|Nck!?>U$EzIxUbmIo=E#vJ!2SXNLe{Hzb9?MujSvH}~^a=pTz|(;? zmkM{b;ibsYsEoI1UBM+S51mVS;Z@#(bCArF70)q-YTkAa7wSoTAZ{SzKJ>Bd( z!RX}-4ioIb+pb^+^NT9bHHjv5<)>HU-%O1vW_Vyn&ye5S?hGLA;3mLYUdyz)t`$T* z$ssfxe-bevKPG7^0Luj{%3Xs|QUmXLwqK`hQRLeh@339ycwIb?%1?_x?rse+8(!&< z?GAuuMLbOww5vkQte~}5DOr|hXuaIzJh_pdzsOsUB9sx!b0`Ybt@kI{%>et&>@3PL%v?y;bEY=QWetqB_4u1f2$h``}X_<+mtr-=xruouOmMP}iRcoA)NZPL?@wXplR})n~N_ zKX-i?oyU!TD$k2QFy21rg~+D{&R+-}6ROZ=(45RK4`vTiC)d8>izA)%({PwuhE#c~ zB)M7!v#;2##Bc4-5t`lyRo}PWF7`qsHDx&GHf-*ZAdX!;?7a4NQEJ?%e_ui7U`gO2 z4~bV$+OX~$-E&JV66%FfMHH_-+uWy>h+k&@DnIEA9-6vjfR;*cQcNBE%k4_C#0WBL zr|cngvUge1Wzyo8=#u5~ya}`>Zu8#uttJask?B|T3WSi=FjQKJqu=NVC3nm zzL0mpuk%UmnZKE{huiFVf5>R5Ua)xcOP0xqzzp7YT07d-73tJ_XMmABd+^P7-?Ej~ z&Pt|eCveZ@34Ak{+OOVf$kyF&?Y>V`RW4U)0$|RwZM3KhLpx8@uAcA@cwF{oeH8384`-{ZKn%zV>xv+A*s-(^mqbc}I~!aie@%L!kEy(5kt;YYd_4)>*XEyn3+dE&mtjrOBnzMi;fhuQj-1Pd zdsKhZf6D6Co$sjSGzkK;rcgB_ zby1d)y!bZ~NAcE=VNYm~E$D{gXDp?shxCa~Ut8In`FL=4d0m@GfiHI06^ytBrAwWD z+;$H)Un6(0+qqcp7P)}dB)mUg!le=l#>_hg0*UkCte1&$; z+{W&Mn%WjQ&u&`C^sduy6s*OxuONK?B2tKT>QK;hKk2a#J1^<@?lsSl;!xCT&542y z?~`Gi3YS|^E?%nzE`~0Zyc0aJ*onopG9vGF#&;bpe`Km=e7C|4L+-MT^P=X;tabX* z!Z5eP8EF@{#(@rkwG85{yYAdSM@-&up7%U2wmyUkVGo5IrlM>m5HZD=7^?7&Wq zB65Gby?<@6k+pvissFo8@Y3wv4c=wSm`4Xao;2{zw4D(-=Mem?d&jP*#lV2Ll^3Sh zcl@}8L~H1$sPs`$o5Rp_U+ zyJiAb;&ew9|K$ejs2InDydCwDh^=Fs3ht`p>d< zA9wTQ_+NEt1E*5wx|kgmp1(snMee3Jf9OS{9j>{+CBH6g{02`fH1MH2j5}3^MCiFm z)Q1sEoBq6|aSB}N#LoPA)i6U!?l4z9u+(Uu;vPD zIlBo?@_)8BVqLz1A69@Q7?Ca9G^_sod1gBdXUZ0D9Jle5zi5`|U4C2etlk|%f9|1J ztX6-r|H!HVh}~L)+)4Go&n9f7MGXQxl1nazLb%Gqth*pnaBjW-%Xc8kHpVQb<># ze2X;{7G|U}P^L#99ZpJxLB^Rm=X`@;ut}~wU;H&>HP7Gufs)@TN*gk9^gckx4wfW6 zl{#h-F@X-|{kB;h%DzW|LcSSOB+b(waf6p_GB4d^}>Jf7WhO-_{VD zH<^}W55sYt0>ZaZ^U$Yrtz9poF1zE5k$sja+3gs{;(QgIs9zC%wnMm5ShkRJ6CP@n zJ=K6V>s_dEt{}zKMV~Uzauz&Rfq4=l;s_gP``BP)$h}lbNY+es{Zg27_ClPoh=T9S z7TpYkrn}XZ0ct`rp|6X5e+bi;|3hVSA4RPP1%)}A=xojRCwnG5myEq7uwzoZ_p8@6 zpEvx;<(}RO9NfPa_m2TqL*r+&%5~-qW-YPS7ZVv#tN!>wqOt1q-9KvCX7c#11zVL@ zXCxfV>QnGxqR{q8c;+bzS_xe?u+iVWV%o*I)o!vueEa%C>k&=`f2+GD_VZX5ueI9+ zyBcNFEE@ZE(1UeZjxZn?7cI0pV82yl6z^BId~~iQGV1%qpsi`^&MLD@&VHX&zq4pr zC(V6z`4T%c3<}A&7zgIG4g^`$NG3mPaopE=v5Z zaU?24^@x~))!6l*f1S?(EP_PC*z1BiTb%tt!%q}tZPx*mAAWhf)n}UPI^dLUPj$J@ z)VEiO9x>o{-wad%1hkv6B6VyqCoELqxYZNPR-w)mhp1q$Gli#`>59*nvETE#|Fi!5TIB|Hfd2D)=LiG@5&$Xz=(3^V|EX|K z`jBZ)ZdQG!6axY-6JyJpH8`es0}22Dw}gBH9s>gk z006h8e***o5C{MO03iUs%SbH|IRF4yJC_h&0~LQXE^uyVwYz6jlUvs|id~eV;-hqA zD@~f9fV7}QktQIZ2%$(>6-g^xRDoTd{(vuL75+H<70)d3`CGO`v z=lykld}AEOfGpsiYt3@avc|k;l##(B_H(@FSXfxtb+jKCv#^|?G1m2GPcwd!S;E2@ zAFO|`wavX)SY)mm${eJYx;=gN_qBDOHfPYut-hCT9^Y8Nc1#a4Z|9}2CQ0U*) zi~BE@PW-!+I?D$8clGAf+Z@h+msQtpQI7q)yz*1Xgn8O6;qk<0i4BQk>I60IDS_Bd zEzi+E8aEDr!+5S<=CkbIb2(XLBz5Qm8-OJFN_B!&oD_(oktUU`u6RCm0a=&**OCO39C(H^4ou6a4U0xA@$Pm_LANl4^0xLNWpV-Dqk!W!h6O3 z%5W%N7_FS`$9D<&wk3IsEl1|bs&{63F}2Yrn7DE5-c>#nnKyb&&l1Bz^@qc_*uBIY z|8Xc)OgQJ2_)tD;H^*^weUTo$esoDyg@NYJM_08h`onb;DKxF`_9;e5Oq4HG6(JUi<&o}1x z4riLiNBGaX`fb6Igy44b3{!qP^^RdYK+q)BwUT7*IdNFKpTKHg8Iv6<1PdV2T{B;beNlo50_DJTCzDliN;>Y)r~Z-nCJx|CZ3a z4etf}r?2~scRNRpGtRpg_?Ivfz~@^3g9@MNhwr0j12RA&3K{8A!?%Ab4|}}8#Y#+g z&ir9o@&aHE5#iBv5*SjB79@Z#hsinw=h6fhmAn6>+N_LLF89L;Eji}QWDw$gbrIGBd59C_+tZ*%3j*(kTMg3q(egQT~jpU~5tuN|r z82RgcjNfByyt$ZgeQ|%3$}gtYBYLY=rmFHRnV^ zOds_BCA#ihjzXs&4SB`!Pph?IbOVMQ!#0xq8IsKWU<$&m(C9?O90$K|^gU+`T#!b^ z?^$F~7=&}}CQjLAZRm83WamA2gxd{dsT;A)>raS*G}AzJrx<_EYFzXm6#4d=rq;6M zhWl-9i(n(wn|2j7l!QN{n}z&!PWg!Msn>t3pJc+5e4o>`-5)3u;3DBh?}ZlY17-g$gxbrNC1zZD)$Hg~B? znjC*y1BKQ^c!C3%q3bFeLovxS=ka9T97g1VEZ__zTn%b0c~vvB*IM@N|23)r!>C5O zZmx>iIexLWblk!jNFvHqB?$DNtWc>Jcg5O|GzzXTrJrJ=Gyi7|d3@?PSU2bit3q}T zABW&MX1IZO>1Gq#5cbFZ9|nyzLA9e;#)E$yvAWv*KDU(2WfH)5!XN*0mYKv<8PdKu z3!9~*+~|bVzCQTuG(7#qSyaX;z+3=>#hbXFiG;fzrJ-MJM~A6<2DMfr3P z;zHTBKZLH_?HPq7Zq1LjUw+5rFYgV5KOiIgR5BlY_Jp~5G-v1X>$I1VjQs%veJQ{zm+mcw9 z=*@SR{A9RumJoTonWf{8u2!7SE>uAI=>G89`c`RPlz*wO^}r8; zg;brTmuat)*M*nSUCLznh`2bi{OM=x);HV(4t)!Q?QdG>9P=H3Y1~lfY#KK*H{Lbr z)cO3`v2A&G75!Geq?&PGN0rO54fj^qfV#};%8+^HV9a}Ofo zn(GkCJBB%4p!Hu{s*kec`g+@)|uHM@Eqd6MwDRxr?^j3cH`(wk4~_ZZ27kEtYd$7`j>%z>$vIQ z+O-r3nkZArPnJQsZ3!E8>AJ#XZi_LG~*#Ag^66CAf&B2WS>Kv08xk|cahnO1Cj z`s=ngI!6%HZHF9Dh!Vj>+rqi~1f~S?3t>MUATr662}AT;Azapj2L_{vbIdUdDfQJ6LfD?5JI`$@dbu zJ?XiOy@`HaN1XABRxpFNmDt3E+$H3T7WJBs2SUYjE3qT;kf$Ly|ETZ5GSflKJrgm1 z_tbyqy3`pR_J}8R>HaGWWO7Rr<1GD_e9q8szc@GN(~oBh5ytwd$+>rWy~|d~@;>n; zoXW(Xvi&baa{fZ(TV7KHAgiK5?dIwv zGWouPTTD>b`iF4zngiQhb+iVF@z5bog@;RO|f(A^iu#J(gx)lqNzv;X3^Bzyo)G#F zSO9XG(KrJ^ohNY^i<8n>URb+%t3;^7qn4XrOPe?ws_KZQE8~+7#V;cvw*=BB=|%_vA-jvR_FWrA4bvTf%0q5emd*%@}~FOPI~#*iWyJ;kqy=TGK#yIY=WeYY-FxC z^dg&l(J{teIENsKjs()ltguJ+;@sK`KiPi{;xAgJ$4l8e(KvB|`81MO`ESl6-3_CX zD|;6`b8yG>KVqEiE`OU?b?~*?`|1~)u2+CgbLN_y?jFe@SA~R(skPBx2M>ZJ2Nfu| z$t3Ou;5Gfi3?uFl5r1XP2v7W(>x&N|dpS|v@>i;L!V-UaR(Au&tK$5(?0e4_y!(Gw z5f?f$!}9v?pXCD_y1LxI5^EJo-ego_(bd~u)_1=h3WT!Vm?F8YyH`?y{zB8`(UC`1 zH*~v%Q@@ottZ#iid>|pwY07#P$n_AmeL?=>=s?h9^5L4zpP`VaYRA$P*6m5i zh0Q3_j+f92ghZO?`_LRtiKZtG4}yQAJIf8=i|W1HyHGn#uFV|Wz}f5^2$ennQ#O+q z_;t80J6nBF_8-F+WAc4cJZBMc38jZ))NF1IFZ@I>< zWc+per&I=~{@EDA@vb%#gnN{2+923D3_S?%`?y!I`SVPpe44i&m%mh+Ynp#i>ZeDv zOT3*H9)?!k*IpY46;gTX4+{<@YHmLw0e)F3BI-KKWaF1G-h#09>Yp8q}Xe67Hi+mbH8YtyH zY4GcUK+qs1Qg_A=;gN$jJ495wq` z^qh*|28C*zR-m+gq@xfj&P3dJFnt9RD-!(blQp$_VpJ(z@_S=Y`G|kNOK!Qz)JM+7 z0a``&SKLk}zJ)x!Qfs}v{9c`G-3isGh-t->P2&24+d`(`8z?+^{B2;{nF^dk7q_bQ z@dfPZ3fFFvd$HAyd&*x{CjzHd9}D1}yM9B_rCmPb7tLJ+<;`mz6!+RCmC=%i6s%{A8K!>&j_7j@#ffsofiRoE z^sl&rR;nC*t$(_XdO7&?fB+45Rxre&k9FepbV^^D@j&z(<6}T+_7v-e=(3ZG@Hw3{ zkKWn)2MIUi1U{Ptzfb8H-IL4SHrT6e<5X!=3?3kH{Ha?_zh(e_UP#=inXczYr}pzC z*Icf4G{<>nCy#$;LmXE&5&PRqJMAKP)^SNfU{>Hlh>+VSzb>zgIot=4ycC1&ax&(Q zua%BgoM+O9DUU7gy?d5vAlOmIpqCBL72S_O?S2T$X-m5ZHR{G57gq{bs_+$I~O5Fy^sO3%iDGLJv)>at4wFrwvecJWOn22m|xAtd-IL{WvJ_}Lo6z?8Pp5~SvnBPbTi&IsMQp@AO{)SNt3o4qc4!sC;K7Km67^7G;ggE@Q6jBC znE~C+ztGhf-AbmdHhi?9*TpYZ3>4Poq&mI|;RPV^g|e!85|D-c1Lz+ZX?DjS=B`xu z7-4@~Plx$Q6q0!&r8@OkL4vgvEoebdR`J2Bmw^>(5|M~`NZ-P-9c~je;!z`e+v;44 zh3DhqAgj#2;yAE+L9{K_QA9#`UHIT}Gs+Rcj%=@{fvNj=`W+=YKQ%GvLkdLv0kWG6%6$AK}DCZv+>;H!Ya zCDO(2CjM5s&y5ia7B2_js)qQ|sPQ%Ii=lwPQ-o)!+nZ|~j`>;-e7FktI-Y{((}^h` zJ<9JuAhB0>9~W+a+JyO{c{ZhMr+4B}G3I6!Vzm1meEjXOM&->sJM}Tun6~`YiGY7K zNpz}DZruf_lCCSnKh?xrl|f>o$|W1+4&Nxx0-)FqpgEKc~Iuq{Z5#XYDuw;qUr?UMn;a)R|_Hg(1^uaai#aD5h2z?^@M9MnZi1E*dW$HFN4*vQf(g_Y}0cQ{Dnp6t{y(leLe zP|O3$FyUCWMC;zoXs=pE&q@&;}B-SIMwg zX(mIOx2--`Rd^ql+zt|2^Qo>5g;f~0t9HI-WVI`m zwaa6-#L2E2V}&n~g8qRP$q9gjGPq)=w~fYEy|6xu&9iMlwg`S$sg)Tx+uCk^iVg=y zT|rddS%c>1XVDK+bCrNo!Nl&~3}OWDbh9wUqz<#T$6yZF=?{O*<@mtUJBTii9|Vq{ zgK^;O#ac=BT<4Ec``G*k5C&2F-MHHN?GvVLh>jBpWPYsex)Y#)wzV z#ZPgawPI*6zm9*MbEBql?YAel#j^?zm4^sv<&dTAX8XOESf9Pr=UNIK@)Y}=9u({p zkj)B$eCijGdf%JRm~BujU#vvioDVg&JY8;o5%Y0ptjPt6s^2rYSRyST%4Lb0#;SyrlHA-f8qkARs)8^HsaTKgW#OXL(&GOvC^Ys7T9p7$XOjkb_5; zAIzA{SW>6kyj7MJc6?K_mw0K^n}+;O&eC?)y{Lc4XqaUMCv{-?9!a5^^OE48ubMcx zsVo`rrD1Z^{&^hD3b zV&Ze@2GriOLcx{6yhWrzo7E1TuQzlS;2N7_Bbj4Xa?Gf-0_zI7T#-KU1ao3(ji7$T zWXXR&#%HG)!^y6D|ul~+#(w#$1;%G-B9mo0?&dj?_oCY(MmjXiQrGTVkcph*)a%?)0XOj(gF z1oq<6XRKu1*Yw8f)PEl55b}N2WPW#zHVSJkUqHU@{F2k4G_nqe^i>^&{y4YxcmSs$ke-`3V;kI}jj|s3 zqLfVA92o5xr=i%~yUdYH^k(V=pqdwNbSDrGDFbtIRno);aBT{12^;*BtC9 z4F{*b#hHU36U-zci%#&yqFO-B%P0l+!dYTBS(MKl;t%q zLC{Y9aIu+!^YNPPtO*=_zV$b+k7Ms@kK9!(^w!v=JPAr`9Xn!kAy&wXUdIa(Em(^k z3VIj+ZE^pV;k)-IA!7pyJG&qaw=N-<+Rn@mEk5 z*WUgOqr!-DbnX5NU>-X^bKUl8*O3%cvU=QG`XSc6&1KjE9a%SPS=n0IHv({fDSl9H z;?!ec2;@!-`SKLuJ_?2SM1!k{6b%R3yUI<%=%<*i^6;D^;NFP>GB1C0hVn%%?S-0P zO6r#%iY3Wgs8@n9t53C3<-8|lE`H;7JAd$d!3Y6qafopHZF=d?XD?W94Ym#PRFNAB z-J6h*<|zjee2KOEoZA<2zxUryy3~PM*;9@bo}B;^bxXFgI=>>~sPO`qX)ntO%#14* zpq>59Zpnt|t^A@4$LW9m2)L6983ltFDa&Dk|7%1o_wT_FQ~!w{k^0XcxZC%044VL= z2VnWg_Kh1$sA>qP>ft;sjc%BW#J1 zo{X4pUlX)HQ>3I@iUuq03DZ>wes65NEi{^^amJAKc&J5gMGJqZX2AVb9G%}Pv*f<3 zy3i)791!AQO>79Qrr$}YU=!1?ibCOqu9-5UJT+Ff%RbUyLyRk-XvBD{=-O9r_Jicr zV!1U3wte2vY`)QrfvE=;Aua*!ocpcat*-dbaARcM>=s@D+1cOlQCJI`t1pmX6(TsO zVRhP`@))k=N*;gbZyc*_!hfwFj`>n<(CFG?LUX88HNvlqH0dn2VTrg04KT~@uBpt+ z+8b*v?tScO{kHE5Aup}WTgb|el23be=hjw+aA?dL)v5*A5SJQYJr!Yg6F&}sp8tNS z6)UvB!oqvVd>0_IF5vg}e4$oji(}zZQhA_K&-Hrif|q}d<+L@h^+#wv>9PZqkmhYS z(;M7IrlauZ*#2IMQnXv|a#u_`6^L}G+BK5i!wy0kjY>pp{`%YF7=+el8c;I{oL zOBxUH02^&MiMMRx8Q>Nt!zQ8Cv;w(Zz2PE0Ue zMw=R#rdfY>g##_6+yJTD+-zPZJiZV)EOvg{hlUJFO=#pRK#mc`y>(O--Twv(96~^l zl1Ph8kCMGo2ol zqq{sdZ@%j5s$tY=3nQX`hewP$rLWR`p!ulv#4l7}!|s=`8w<0;;iSBDulxXC&U4`E zyVAs3J%{WKViRu4zK<&>>|PR;Cs8eYQ%%st>LCU%VD&wZ4ob|W1)a$JVqI`MkSx4CD0nE}CuOTH97Vrg<>4$X5~8u99MAt4Lb z4pT;dFN3WT;FX}%)Pe}&?A)hl2}1%lHj4?oy~;mv)p6Hx!?9vo^afpc`oSjyoRJx% za9PU24Tu}d20ZO8IpX@>niKfK5Y$(vn(5b8r2F%B!!h95Wl1IX{hDY;cTZGEPCsBy zZ>}6SuA_kkxz@hcv=ple;Bqw*)BC6>fD_i&xx_T|Jz;+S{iekdXWS8ZZzTy3vhQuq zNE0V^u)y5cpbElkVrn9Nl6mgcT$}LDh-)YSTjg4os9w4Vb}^sA`ZM$y9?_=*Ut71K z!?#81Yqy^iPw4FQH<`f~Y-)u{uMq}PdCFid{fISB0)G#*wGORkBc*~=r%0HpgN%K^PpHT?dAh zhB#N6an~Ts6>JNE%v>u(FEAi}>S)-CMF=SnpO_&o8%GXFy1xzXBB4?J@@qyTh7Jij zt(}snyBZdcczxpQ8>V1_K1M=q4aCbDabJ+8)3I4>p zj@An1oy1lZe9Lsad~HOJ1CQ#<)&B~@JZdx)(ng;a^A(BewHcEeite=rzd3E6e?i5O5CKs2G^DaZBPYIR(M40TLzy(=cDeinWQyM#xz_#`!Xu))xLgWfSn`%? z?I|K+rp!v_22z*_l`0Kx$KHl7&6$CfunrAyQ}UC{2>j}tI^263pii$}nLY#g+w5+u z{`V6(rnOc!Pb+wT23%b|R!5LFOshZDV5T9|<1E~4*YEmeKvH~$v~9y-0jb(=POu`K zji9aw+Zj~7#r&fk*LwCWOx0#L8EwBfMaXA0*+uri9|F}J_lts(wd`kNx^+O%R))OO zp^J#pQ;Q%k0-@r}D4@*{pL*%nNn!ODBQb%?XeW%W4x{#VrOF}S(gRD=avhRV##1wF zO+u>;vdE+&UKipzl^t%wnj-D-P%OYy9e%2}S#WY8i5!sh_uLqxCYm)JX5Bt_em5+S#ic2}Ij z^X_Fhm*X4!`;aHlffxQuJQv0l)%zWR()rw5$x>Z~~1 zqD(;BF^gwVl^?B#tXkoJWYFHC)eCOab!M>riG#*mS5ZYp^ z&5yF$n2))MjX)qVX@rDvTB*|uRhX(T24{NXT0Ue&t=N`^G?lr!;)TzYNZ&WgZYg}q z_9+c+d+Y@Nv&VuSR~YTQ4fS;*!b=D}aX81f<2_yq!wVdWA1_#^O5@oJzDaPMnW84V z7=D-6o@Wq9AfgBm-13Ckh`cJy9$rpk&~VKleY|C(pnU{nxDY5&vcKZ5%@OfsyjVl? ztNU7PXoQA0guBPW-*PX3qbF2ou`_{K5%JIq&yY3BCl7pj0T z6l9;C)7J$+&^Hx?6Mi$8Ty{e-73*}aSUxp1+k(TBiDQcz2Re?Q7CerdPt9sc?ko zxlB=EA0?%?QGluFcAN!y2mtG1pO`OFJ;&4UpibKmI0F^=zEB8G&r^fVICC|^r=E`E z?Z-s8(?QvK1&r#}Adkb`YE=SdU0D zuL+z;0&>Y$PvgsM`H;fvQdv~!{FHNdzuFu@92jrQZ({2vCyQXIItgzZn0bMBlpeC^ z|M_(*j;_HPsx2%<1|fN>?DrBY(b&Y3v9-&2CyYyC4(P1cm8xG{P$q_6V2WO(Ser3= zrLZfxCzv&o2}S=AOb0ndU1(B`mVXQ5C|&>@U~qp1}4z^yD9JJ(o#lmt)C#2>a_LO zkJp6I4u@d!!O+gWe?#D#ghqlI6x9Rwyabbo&9&e_hj>Z*jH%>~XDi z>Z=pfMK%(|&B-sthz6iSC++w0p*;RcaVjkbJlN@tJqv6a5BgOa7kYT2-QVUwo5UIG zg>MR1KLZpTYkB%cWM~`uJ!wKeRAi?+o4TIPu}ZNeqcim4frmZbj9bE7uq*3m{nG9kr=d+b+~u_!h8^ao|X%x*1V2J zqf0r0uqf}Sne69j1s@0(^AwvmhhtR<0tD!g$x%9RL^`6ENKrGa*r$0#%Y~9Jc!!h{ zt(@$Y3xZ6n-z;X<^L-GYcFplwdW^QTDhHN?BYU$ggc{sf^MNU}_~ z6NZ8T=?qJfY+zrgNRoD^^bQ`^Zo2+DggES%y>^zLz zQNMSO4M{Z|jNyp68_~An^C?JhG~QYS!K{{I_D6hm=rKQeqJ_w zeV~i99cUSvV?zgndjWeg7)H7lK~8KxjrpQ2U6KU`5<^f($4KD_N0`kVnw_?4e0An? z1xd<8n_8tZ!J`^7yST5lBoz@9F(J&E0~O1R-8MtM1azGg`KB=%v4@9B{RdZ6&wOSW zjyko~PS^=67cfWmHhMqUmH7dU2a;zsX0^_Oq~3kNUMal5tcM9GG&{1IF_Ip%qU*M% zH+oh{@J?u{;GIoSSD%r?fSuwZx*@k$`?>PP1kqQaLtJQS>3Iq#lFlD3+256GYh+H6 zODN{5T_#pPiSWb{ucC904755yj)$7=4bP!Xx8x|$Ne^JPhbSctmUO@ZYxu9*7)Mkg z;m;0)=AY&wq9*eDZy2F37}04vOQ?%xM?Ysq8fsc3YkLM*abPB*`RsW+4A~am3fxr z%6^kb?(q2Q*OHHPh)o;@fW1#1$77)@^~+c7DzLSIT;<)f>OQ)zB4N6@@*LsLw%AOm zJq_0~9M7B(QrXq*oVUqJ@E0S}ZG#v+Of*$-c4^3I4holZJ)}9QO3)WI8 zd5X>35wr{%&XHBYGRH<0gqaT|fM5NnTbYJVM(Sq(oOE+ldoB6X0El+!`Y9!LbEfE- z5L>L<6O~%26%Mgd$HrgyWAYYt6y1!Z_JFW#<@}EZ#~-33Rdjp?YxEJhzUz7HZ><}@ z--k81pm(ma%F=5H9aOY;Yry_|h?9GKIJeJ?%CxkY+2eiXqm!{Q^L43v%UbK-WA2a&(H`s%VfWl8tPznoE47JR>oH?ZDmK%6ajd<`{hm* z>`?J-j+=)#<7rd7Z9jJFS`dfYvB#G4^>t}4vLPmwbGsl~F>_DKyZ0 z|1#8Q8w+co^#n$RX~$%~OoiNL)bzHaXU(3kuJjt=DP?Vh5JvN`^2So;I&J;1=@2&B zp!%5q{Q@l(hs&f)CyNLEkVR0MxWK_@H(O2VZp ztk(GErg#uF@AU~+BVv&mi*g&jT~60!u$@fmr6=`t(GF%2^wi#^#CXcRC(!J#6iGQq zFW8~dF*fU#RC;9Oo_;=jyf*;8(|sX?*L_$*ma8Yu0p8SSYm(I!lcIu~j44JkryfJ+ z>0>sA{57cs-|j5K03wF)mjEsbXH5Paso#gvQnN&E(U2ko3JR^Ln^Lz z(S`h6yrySXS0C8H54nW6$jd(K*N}VC!Q^gLBGyl!LHna~iD2$*+2}=8qLmp!x+pK@ zS#V0OMro;EZq=b<_bSa^l-suH1PGM>STTEv!@|4p;+Ilbj=k)-e4OF3;kTk|ExGEaHdPw zo4ZKe%9ZEe1t&U|!1G4$@{;5NmE4A|tTb1aR^oyexO#5T!=;urY4X`_oUq(3)`iHI zt&OrK8(l3&H@Xe-5t}qoO~3Q$S*X<)Q&aXv%;|&JUrm!|5so9MDOoI|GUq!92y_+wTk#g6y7E1 z1M_O%DNsM(uN}X7jvCR2vMY=go5al=y{r|tWXY>q?d{P%{u?P;+dg)_YUu6H_&#)6 zF6GBIeQ(INnH26VHV1Tf0ybP2`xWZT^(W5AyT|zuoGCZ*>hrl;% z?%y4iY5~49ucYry9QW6BlG}-KwFsQAi4xNvR{APxtUmu$VbE)R_-poMaSIkw{_M-~ zf>++X6=K|CdoB&pg5Pwwur^+KZ3})sR;wd<3roL913@O|AU$#`EYK{I`Dra{2wzeOY<^7Xh%-38^elfoi_pVnn2JhqBnJ8d zZmw}U?aKPt2TrcIuAyr;XM64Y%cJHs=HNvS@_diJnlSfYji&u|Mlli2w)%KARO7{A z$4`|gT4wD^-WLkHL#Bks^!a$jxY?=e@<;vDjZ!y`CZhj=qiD3!1hmxek^~O4e1Za6 z0bRU(X;a0%zP^+-1Q4Zj$U&FAuwRWLVl=`erf_Y?-PK*JbjW~a&9ouJ4r_+**wp1~ zdznXxqmgR}YPirUt~y*@t&<;19m4%$rAW%MWk8cp_jWvHleaJ*l0VxNegWkjW~5FJ z_ipGBWBU*egY&EG6Qnk~59#BZQ@ro{ae;lW5_wW6KNh_S7=u=8BiZNO?M!inbCe`` zskm>VeKZss(U09*icQ=1&s2|#FNwGC{Fh7HFBsR$@Ga&C;A!9$9t#4) zy-VX0#(!vi^tOOBj-NmKL>xvh@UjQ(eJT86Ca(Zn_Rn0a!}0cMY!%7_j$ix2_CxPN zv!pBI`+s7)ZO#P;Zg%-mI5oNZ{g4+u6&YmR-Rrojd&+&L?2}K%V{mQSVkQ!h1C7$D zBcM#B@Z$pWMV(kXJw!Ul^i_saOr6|lN_>5_ zZTQUP=y`SchAV1K*ZHBf*Su@J>py>0ci=~co^R(r$DS*=cIfo12Glj|F}Ti8qgGll z9nU(Eob`3Wdsgh!R(}SH&{(frC&;2-*9K@`PC6x1&0~U zG4dm@hLcYo_O%ft1VlCz1OzG=)wR%h zXKi6=!=z(jt;gtSW?C9q4={rS-f0BdlBhZRw<7feARzMKAs|rxt)XRUd7}`gFfBX( z0>yn>{Mwg*A4{CNH9U3>4VoXi{1ejSJOLtB zwC{*-!%`8Fa588xF^9e&JB{y2uDUV+fMRf(Mm_>bV*>ZJM)7<%bo<6+_wV8-NE0i#F| zw@S0OPzG1X0cb1 z-$W+7nrJPfIUQ+)m}{jv4{=Z;cX5ihfhbCtLBH^!it@dj@QwOmyOYDRCgCS5R{{Js zoqC1|`WEW`&f#ELKS&+FU$P=ImP{B5*W5{`*AO?zg`wIxgit{1rG`m|_`$o?WY1)4 zd@l$hHgAFPi#GNFY}$-R;p)xv@)h*I_IW&2Tn&1Sdh7L&oBDgIt3o`=Kfe@CC(eu$ z1Q2o?W0zD%3$6S0QyG%(%Y2&sss{j?Px5d8dsMuR_Fcp11Tw$N!kE!e27l>bw+?LF zS(b`)i${ogS72qye1YZ*SgO#T< z5UX91*fGnDXKiXbao5)1CnceLM;Cg|mPFz~;ioFj39%jz(uqsx4gPAx> znahveV7J{M^_}dwAwP#fy5%AolgD<7meZQQ8XI8ZP5hfL6K4&^?bJPVy4gzjk6&d0 zuvU%LcXK#6-4xdbpQ$FiwM0sQ>;E`y8*a^mhq{{p-V;a<5@&5}wDNUUvNBLv5Db38 zU$=eAV8yH|H#tb2f-RE(q6BeqMsJ zP4aYi-oMZ)Qk}-lf2!MYH5HPQidvTpvBpm$~V8@gfXT|@ly z5?u(0n}Gn__wNsA@L!gewoL!G1mbTA8&e})J)3*MN4KUDWh0=d!Q;u8O4v@sQ{eMw zHv`G0>ZHXu2O5xn<_biAe?fxx5R_ehkr2mi-tU>o-?>>t@l3CXDSIJwZqp4Xh|Vo;(3XrvDyS`P3fJCF3$E6u20f9fV5#K0-L!!+O5LmdRDCXkpfM!3N=3wX(nPhRVE)tPD{2M~G>$Bseg zJ%6S@QjQoGvuX~X#g~m0drFx@#8*P4t*|@VSv9`2!P88>KCw#PRZF5gq+ic9s`UFFMa##zRy zkrlZ`t5ca=PyP(nCo3}SNAjoVp77?03la*(?d_B#(M^MDLE@B7$zk+}$@t_vAq|=8 zOntuumx|si%x9@5SIV{{mW!8dsU+3TY|=*oSkVE^N{>i$@Fb!fbI^blVgAPuUD@BF zhX%0*B)&E<_rMY{L9_xPq#5BBd9*v_Z zXq?4VTbTw+l}wuA>O=#4N%dh!khoa1TQGcSxJnLJ+B%$xd?DqzCh5$|;HgOX9xK+{ zK|u=p3e0%#W%2J%RKBO^Cr7pjBlse{=6@oW10z?(lBjK}6kqKlH&^*SSP(J-rH8qT zFmw8eT<*%JydTn|Xn9mR2HH{6P{UU7AE*5XnTiW2-jy2a1JVrofve+1zuKA=A@WJL zkD-D~K8V=E@pSC-_P9VhYSKz<*LhGSAZ<9Gmoe-i;AHF)sSZ%0;tHLrO-V5FB`H1r za!3>xV?Zw&nF;YOUA1A{?zCJ}>u~^`#s)#Hz1Ot=Cro@LZosqpbosDt7Kke-`!J4q zjbJrfKsagMDTP3M88B=Y-sw$HLn`G!#>XQ`vF%hI zI;zFPQHzx>inGm)M&R*wW*NiIXeA)QZ0z6{4pip>Go>$5&6G4JhsfgdZ2cAO&_UTO*hqonXt2cCl0s=#qQ2+%CqNar`m)`)IcUZ-c}KI)Sh?r(yGY; z`ysyP$Lduj$8#Iz9zojIyH3|nwyRGVVAi&R21@2X*d9#1-LB@L+g_Yp>2hJ^tSpAeuDUOtyRMTe-Urh{;(V)&rlb7&^xiwAxsb~Ikd3pK1<+eO660aBoa z#(Q}ntsHj=i}iI-raMy5_vZ!YBGby5we#<54MrKo`H2J)4A6_wGek6kYp7l&D7U)s zx!I`YKZ;+UB(bQ@@VI{N7(e}u2&h&oNJyeI*ysK0G>6@#BzzsJ}cIUmNxs`b}I zq`7MdcTReUv9$;2uLgt%G%;Uz9N;cgXDhYlS^VbitHb zl6O6~9`|s;G*OA-+F^9A;e)HW`cX(C@hxU!+Dz5Ie-0P~D9%amDa@RYUXMwLZ#Y=( zfpiSqtYh5bD6BL-qwk=K!RvSKAI|xip%A)!jAsq3m<}3OsU!MWeQkWCe(kbd68zPq zB!7OV8ZNS{AkKN7iIPw)A$&N>4!YMt)F6W#88{^}Rt$F`(7 zttece6$CVL`BCa#?L1NB96MAg0IV2C98;+w`dCaWgR)>$u%gR%9g!aVLxO0PLuO0c z|NY^BCyMcqkC{*<8hU3y={izHjgfDGGP!BjkcytL+xO9aY}mXd}fwE zGaJL+>7fLQC7%AI-N1mo-0W26A$RCeHezM$up2OqQq@1^OVE5egTxAF;?d71sqhs3 zVOy+8lS3Z~THmOd%GgP&*)(JfjP0D%i)E=r%Lg26O@Y+WkD@Js(U#I5#rM8*`CdV< zSu$Wqav^)?XTR#$rLiC0Ru~KBvNgTfRQY<8iahRN(PuR?-W-&{s#<(zF^-ob+vUww zty2a>w=3HZwB>Jy4-?$M@kKZv_BJVy?z1wrmB*6N)&X9A{3)>BU{2Mx`G$Ix1Fa$( zF-uRn&^^9v*t?q16}jSj&8o$AcCT@Q4F!Qny8=7bIL5$S1=C#g#}SEVJ{2zxkuNeQ z_8T<#*~X30)!n+%12|A*I-TGf;5P@btOgu_pCe=}4Vh!|)hS+}6GxqGtkYwC(y%G` zNExY`NyjDUa(04W%iyTcGTi(0EgI&IlP8(&lAD~W2GfOmsJZ}u4|<{wbc#1?9-!%i zBvKYa1|ljE9#Aqv*EB(LRTCi#lC9PD8DH9!rWpNpcv(MuL2Rv@*#2CU`h%zZ665jFOKpbF2xnJc666y&HZ=nb zOoLidP&s$q99@KPS8VoGXnZ8x()DT`W8f0R!WZ*jCs{r>^?T9Ou_h)Y$IY#W1~n)L z`hl)Ed=kKg&zGv}^MvjL&Lb7J?lTt08I`xd4?;j3he=32{oW+8fC4)vxn50`T*A=k z*-MK4#x-1HiLBREI?bcS>6kl+O>W6W2+axED{i4lHBsk_*O34BEDRNdiUo;*^^d^a z?28e8g}DekJ$nK2K!GIqJ^Ny`)-$yU?5Rd*c!mPEqX=IbBL|0Sv_|SVLw*Puv@ixc zPQD;hU|}JQh#Yi$cy4pJ${RQ*^jU2Ox1HQ&q`14C#iR3 zYs%!mRs>(_&PdN43kkTni&;czyElgTXo>NR znJvjjKRcLQpTB^bo8cH${WKp{|Ag2pZ}QUa?V2$El`V@@?-wgngVj)Q<`UpLWSPD789wCh7 zH)5RJL>)p4u4%86xGgAK~3vRbk}FIHYR@KbbgnglN^`cU-?D*hHM$I(19q zL!JJ}4o?RvGG&`OE4`sO2%Ib85`AKk?y5eamASI?2B4nnm!r<3!;S{C*r<8Q`l-8Q z0V(-c&cBWA1#YQyL%0@DE_LgRgSv7ovVJmX>b!g>T%I)3M1Ut zIBy(@%N1VqEMIzerWeq+%DzahAX|8yhn9X8nS=O4G7RS>%ddB_KE#FDeVmI4ejnEs z<}ebKhJfI|9Z@qWpEGFx(N^hiB48CX&?BF#b+LB-f>Y{Eps*`qIM-C0t#O{07Yl0r?jD~&M( z038G}8oqKH7_8MY3X7i|c?mgQ^*h3=!zrQFJk7mUXhjb_`)IsX|0B4UDdiVubgUa; zlGNoiPy`Fz*4~d1NSHKx3NolGAU`viHDsH4Gld)!>D$%E$OkRbQLNfmUjV~#*5fnZ z(Y36IEK-M$Q0P<>BA)mj;kEZC0~$n+T)ND2&JPFU5UG<8si*cI4(Nw>2m$2cMo2v; z6_7N?kU`xnO9erj2a{N%%@%ruE|HXUuK_qrz>dS`2#%DAai5ZMOd)ezYR-r%lz%p; zMiPI64AAy?sx5$?saf-gl>Ey^^sZMNo_t2j4tX-?D}_qpBk;vMT2oVFkWpCRVWvq% zx~#{@vFf;aM>ZdQiH^krA&~{mIRd zF$c2Ee`m3uCVe~IF`|`Xv{_|uM{D)c$QhVc%pzer({(A6m@VOI5R-Bc&m}Pz&Z`ke zd%oypY~k_^Ha6Mnx!5ZTWRd6v<{fG+rXOb5>;W;;FUaZ~InxrNPa@?vqS$bxIYAg? zpEj}e4JNpx`hwVI<9G`vO&av;V9Yt^=DMGP^c=T%FO>3v8OB#H%3MCwg0|lS7f*mO z7$i!N?dX{WpZ3RiA9XF+LYERqXq|lb%xR?gZf4Q&{b=H>#Nuka;T&^6lvhb=K0P15 zbd#Q)z#nBjbOtk|e*9UHggU8SNE;3FjnE9J`IV0>l1tp|i|>y$32C^Wj;sBSb<;IF=#tT<(}tU(ME_R6&WB0=LZ?D^`vCEmqqeBkHK}=Wg=?YH~G5vR)YM-hh;T4gMmcmlq@90>xHbufDWG z=td=Ff*%dGHgrX>jNFagh3{GG>V%8ScfkInB+wi)H~P?)vBu)#x8ibohQ+PT_*$)FW#qUWv*42x z=E`9hOTLSwj9))o7%Da0TB(djd%cTo?JX=Y7cA=smt*5b&m+su;#$$-r;5 z%iDcp_;yiaO;F`cf3c*p!?&2LP2h%(i78@k`KI&HujUfl0*37*#C3^+NxFumQ|Qz~ z0K$-q`jgisBazE?l2dLkrycM{t?SW*VPvOOBa6PcdauYm4|+OBKuM)wV=Xwf^%ZK| zk|6;*=IJjlq1o})$*s1b=SF9Pq8;vb!6>zU--}jYV!pAC~Zo^P2)2*W@(W zAxAF_VAuPmPWtSQ|O9HH30<=Ng^;LSb|2r>|#b2gj)^fbzW(%ayvo=9`3y(ca$o6c&V7zEHZdP7vXFLE|}6oBf|XzO8lEB<}-pN_bxc z%)49kw$2kCJx*Ch#X64l_(gPZzA$o}bohm}clk`6Hsst{N{jqD90vF(9H>vl!?cq+ ztYk8mCZEKUt>8@x?_n$i8t}!J{|q;fUL%3CI*!@Q3ZG-8P&*are+KD)HDq21a1~E_ zl~$%>!XWofOBOs2!*z2TNK_{j&ZLgm>0#wpp;d;g)tq}K7rf`muQz1(R4uOOWcFX* zoVr;qyP0Ld{Ck>pI~Do=ZJGuA|7e=^-?hM-TLm|3ff_e6$oqx9zvXBkAixWLf9^ND zdkYDL0rBTH1EVGJNi_JT1OYXO=_h~==9U9#`~;9-cYxtL-fxJo4GeLhfdty_A*~zeBVpJ#QY`pCCR1-vU;41`&;E@r z-=M-=VHSMZ*CF}RH=851Jw~M2H=;;V7kmL>B5qev2vkn0K?^3#SfW4n2f?;g>dj;@~ zpPS}b#)-r$240k1vx0zl`cE{szc_g}c5qo9MDbgz#>usV9Q33UfC&XEzY$|*{a<2_ zoZ9(az;!vJ^|$fu#@is>Isx$1|E_Mr9G`4!um-sA{}oPr_l-uFR6opr%HY8IM1klr z1Vm=Q-%77XZ_B{`zk+)a%AI@wBI>#+!{TijIR2NI|6@13C2&Ndc7GeM-MKA8VAns1 zj&O&>0>yTN>tOU81PKd?9gzcx0GjCnK>x0Y)h=*FY+u}R=r3-({nc{WyTJl5S9bzz z|3jb-@Q(|;>su*MT{i$3<)0KnK#)Kf`O<9wg-R>Lhb<||Bis92kbxu z@&?BNsr|t%Z*VoJJ9#EJNQ8g2{hAxj25`esKB%m`x`B#N@J+*2WC#eN2W_Vw8pPBK zp!n@nsTXV@81~lqi`yhWEcWk4#caB`vIXwb^G_fkFdmpog9Ekq0&stuvqFKyiu?u6 zax=nRITBDF#LMvu>}~?_mP3F3Ka!Y$22Nu9jfMTkcNV(P9#|NugEtDhF~c{T7RIR8>o*4RPYCyx`E;tK#)WCici=fvA|vPpF@Wk zB>jhU9|FtIJO?HHfx2&?%NL;CKM+vhfr)-@kihVL+md|!fK2AQA@M=L*N`y(YQkm1 z01`+S(92-}0rJBE4MZXat_u7Sa8=m7zSaHjP)j|gEVOrb65H|* ziX^QB7KpnMNRzz_;NkfKRI3UWSi2EGSG*A*`0I=TA{hfmSgU-;-OfV(L~n7!6{y{E zp!~7>=&Nt=c+ETf@(+$U4o>hAD0B=!2zonyFWzMej=^#q90Q5LozAuCgHmLG^`Ll+ z?_#(e5&y(+c*AL!-Ej|xaL}s>Fh^^3$2}akL7_Jsvh5xBS5l_I9DvaQ613wA$pCsb zd7p32NwCt8BS>`;K=r$`e7b>*J#YFC5z>QG186%0T&}H2aJgRj-?ZMpdCDoUDpSaf zD&gM^E;t&j8!!ddoe#egczEsvJ&OkmjNb@+{CX$wSJRqG0t?Vig9V<)-U={3%-rui z9cBh7a>?Kw8jauy7Rf&y@b-5z;m+<~NiCQLN8O!r$30AHQgBC5H zb0bCccWX^sPCxs(W+j z|Ko%Px)s8%z83;rHaze-y9hQ;So05$27+6-cYMoH)ZTKScMAaG-_7wBr?2}*2mfEg z+bzXX{||)*!d`r6j;rAhNBr|Yp+E|NX6FHvpzgoa-ZcGDV{HGA8kAJ?J&%6dmi{_T z-o~ZSaxVm$UV0dpTI(NGa8~0v4Ho%H?BX@Y~AAIZvpB%lzi8ue6Hq|0i<$^rc!5KIkyAzq3 zdEhf(6MUw53ff%-s#e9-G{@s1$HYnb%QhiZV8|p$aMM! zA_Yk;KClJ;@&O6ZcLwtI64usG&rFZ$_W#@YvDUe_OB#*4c;Whk)<`|GS_2f`YdJFaT%_07#Pvfcf@sox87B zLqLq+{7dI{eCL-1+{XPcugnj;-h9}B1R!n-01-I>FhS3D?nhzH9dJ%sEkLR}f6jw9 z(26xEX9w_HX8Sp{c!1iy}0Dil>{khrvd3W4+Pp*65{hy_rhcVpW zHw0e_KAdO#`j0xO2MY4hzi%!6$;96`>i#ZJWBr3z?h5p9+WNct{_lV!+iz@u8lfOD zfY1Ldy!{E{zX`cnin=>)67sU+E{MM~@n5~0Rjs?@M$ZtecfY6h-CG#g+g-L_Aih9& NfLDQn!7K#C{{ver2G9Ti delta 149142 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

oK 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%0DnzK{@2!2-s0(-kCmAEZg~s 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 DMPzW@ From a65a5a820444f68163956651cf0b093391b5a622 Mon Sep 17 00:00:00 2001 From: Geert Jan Bex Date: Tue, 1 Sep 2026 17:17:17 +0200 Subject: [PATCH 22/33] Add slides on memory usage --- parallelism_selection.pptx | Bin 260134 -> 270906 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/parallelism_selection.pptx b/parallelism_selection.pptx index 730e4bd4baf3268fb43682d088c25e22c59db6f4..e07f3a8afbb436ba620b626ae2bb85b64f8efdd5 100644 GIT binary patch delta 164911 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 A3jhEB delta 154598 zcmY(KV{m3cx3*(@Voz-6iS0~m+qRP@HYU!*ww+9D+qP{^zP#@_-;eWW*S)&d-qqFB zUHe+-_5qaQ8)Q6%U*HgMARr(xATcgKbr~FpU(&%qKnSQnKz^k5K7wNcC)3ws*O*X3 zuW26%@;9o(nQdFvBWtnvbRKKb)}b8|LGvk^G4R?ue6v8-UF1jIY-H_FzyFNEx5@1jE$2{TIhs`dZlg*LX4?viV8mk7pQw4pl{qLc zlG=}HdgC*uSQjLh$!C)Ux|thOecP|ie)habHsJ5}@WLl~A z$@04#L!}7e?8lz8If4(GXjhIdo}I2y?oMcC0?R%J-Y^4kxtqw$9d@o>Jf}csr@)p2 z2&@B$>ybo1a6+IsK~cSd-1P6P0Qcmxhbv<%ni{Jj*>K8>W=EplYX5B^7(2XYRE^Z$ zotwyR4BLz?jKOKN6gU0A=ZdRF!iVG+k|!%`S$C8ncI3{lRO;xMy|lg;npo=S*>Azg z_$@H@)A~GEzlG+vXyu5dR#+1fj!_&1Cnq6W0Ae@sDp(1B+mqnrv}6m|kGu+R|1oFH zja43Sit^o^(DeGD4+{Y!49KIO*Y8Z8o?M)L+u(Os78=CYcA=1WS0>+r;XlIQTU>>F z3!QIK{Vj-uXG9C;t-fx-W!bo!o``t=V_JX3|HmABA_B~a3W=s)malh{XcSv{@b_76 zt19!&R--O7d%QvaTgT9~eqa}AD54GX*;#vThMKj9gh9`ggQ?uyXn6tu-(8xz^9YUw zukU1PIodHAp(m9;lCF1GdNaassKvE zA?YgOe;s?7JN`%b3$()hcZ5e;2l>Cwd@tY509cfUUd?&b|Bm>7k2F+UAEN!&F~!dY z`@aG*l?EC8e@+hw$WIV3EI|1s0tm>Zf8tFCR-#rhKNzZIVtTPL@I$k6Ge_;!`(??q zO`bXB{obc}<-Dfm%K7u|!398Fe|X@dN0)x}t2}=Kul4@Trn!81ySaV3rK&tXw8pZg z%jp+mu1R8n6K>1nSu0IsYm3M8wUuk5mu^#uey6uCc?0#rvR?hju>!sK`)35d=KJxU z?%xLB^5l=gXTp90j zVd*~~ta`Es_fo2jO&?ALm?ZX%Gd_T_l*hY9Pk`psd$ArZ5DGW!Mvw89;fpC6Qo2s4 ztPaYl1;O$MOW~g#oXJ*Jy^mFOkd1q<^%SFSMtl7mSCNH^oRq}vbCbH@(8$ZRrgaLj zeZ@fQ6d>^yu~|{!E<}r)TxdS}OTyV5lk&lej`gy*BID0pl0{wa44rTh-Z} z6*vLt6V#9I6Z56@QeO)>wNsQ=j=^nx=|p=t8%8wIP-d}7Wif>249_cz{xIL2xA6BM zpV4ih@wx>2aS>#KsjfS*R23;Kk%rO>_0dEXs)90;09huv5;J!No&hc3RjvMbXDXs6 zA%b$GjjJD8!oS&yiRp84hV! zxmq=T(x7Qp>^SY)?{+MJnXH3lI*|WCQ;(PDT$FyGGEW;GNcBXjQeT|xjymLx;DPqW zV3S(M1itc6iEj7!CU|(%AvDxqptneF4gcF++fCyhKW{kD)eFo_$t~d@cbXk9pq+EY zp*$QH+kE1g^eWN1&a8C58$7Uq?ffV#Yfso(;PdfKNVV^Up0P9_=bfqxqL&e@#GQlp8o`hkS5U~ZD ztzz%QV(@or>|;OlMkyZo5-w|^W}9RwqptSxsI(T7OFZK{KORkw;s`hSPBUs1MViE; zDF)vBEB$%7c9H%h(H@XL#c~b?8jA$P3{f~8!r5RiB!t6~*tDWv!1jh><1>3Aa(>RT z16|UGe?sd7z4N8cv`Cs|qd8?e%>qWav<_8uD-n$?9xdlGF&fGn3QDpFvO4tDx>Lt} z-Yi)DWSGo>lP4x?SV1wM!Ila0-k@7v;4?{^D5d4HyMq7xaftoA(-tBlKC>k4#hGfC z>Rzst>I(R9_0$Jj5vc|;o!SX46;ycy0`1S15mdSrs+3HkNq5>rbxWlw(|a441#Lb$Yk`S_mfNavJA{LE?-0BYSY z6HUuMo+1Nzx6$pV$2%wwvgA*alic|WQ-rIg^U6Y=vnf9ZebK~(Ex4O^F!ltmtOXf+ZFU8B>{j(n}|gG#i3RQG?~fRw}x z3~@!W{f2O?U~(GpNGcaBOQhI00aA%$%tJ^ZySl)2H7oZt!=xdp^oW{jY5e#t-HWxu z4@q5;M$$*13~->^SpM_r?e8BG9ec@MBZwvumBz3e~xcd<`YglN)8n!D`3s+6fjyW4_=QQ#*wGI*^>|*8-iQ z3mCVEA9sbiCo9)GLxl0isEuDjKZk7O_1dZb7FOCpg%680KgFR9zx5fT!Lxm!1%skZ zsUfT85dMb02q#qlXA1(?Fr>7Ubi+;zf)|xpVvi%j5ksUSc>yfDl1+592TeR`_k!5n zze)|>xQ4`0A1?Ya6E#X#4xsnz{hYq|;=9q)Q)OAAX>w0NC%1j1i6Z)Zl%$|wKi1AN z#nwGqcPQ=yH47LHPE6??zT*%Ai^?z)Jbn0NBc!@@>c^e}JV?=cQ2Sb4WUO9K3qOJ} zeyhhu&maZWZE4xv%LLh}Q=NZ#5M>wwJMXN+ZgM;hNlG0jL@Ehw5l}GO8;q}R$D{>S zB=AhF>yiw7VI<{cKyJG#9k#Sh-tlkx_-g)3Iv@{;y%EuT z1CNq3zf2`O5oCfq`zKK&D+QC(NOcGeHpQj}9;!|PK>RdP0Yg8o3Dp$loCV+2D?^TB zS9aZndqI#AvoKZ13wXdvxd(&z0-$3GCK#nU)~LUz$!V088(%$JZklaZqw5cRRs%Cm zQXZ?JRikPKpcfuMjVsoWO0r8iT%mFCInpc?;44&Pb$36cu^!yk8`DW6}XScnW< z@xpYduN&{SKa07?dk8L|pi5$Oi+oj9Z~}95E>C<&kfIEl0|<|ULs0vh*`yV2MEMUc z?CLs7=ugd}5DJi`CBJ0xaJ=d?=Cq9Lx+KT)u3Ce<>bKMAFa$LO`PvMSFxx-^tHK~v zIoeu%R81&>}W zavY8b|5*ipAQZeGddWntj1ywpugJdT>Kxi-Chr(kRHzuTb#f#vGtp) zG~RRz8&<2V$-7r4X4w;kuyWlU?t(Rv3UF*S>fRB{Qw8y8DdlYDgex~@0uPX7H-W|3 z;C6mNSx###?$(-3fy?v*LzTazP^Z_jP2P+EAnF=$`+yr4oNg@yGau%9+)9k7U; z9cu6@l16X79SoIkb6X)Af{=p6^+7>l#>M z_UJ>jnaA5YGK;~rWguu9myXflM6N;sy9|7UoJ7~dn^A3%1@XLj*P4UnYV$(nm>4|H zAaW;H>BOIkN4Rr-QdW`gMVf5>RYaS%4woyDtY_KE987{DFAQZ%-8VYR(1Cg~X4|EyPBv{5EMG9C% zLt*8{5K_prYF`&*UaHa|93D+F(KusPuwiQxPdsM@AFPgz*F_rb)*Cq>gBG0Hlefvo z&U+{m(}L2ti0b1**~(~w=Jr4ax;6z&1o22yiEFL;2b-huni6}^M4JRSLL>!dv zj8Dei5bpBzy|eE6x}rM-KWE(>Wvp~#ZuyiN0)=?WeVInQEoFIGb)bBA?nC7ZwnfkngpJA@2{ht>Nr%<;x%|4xib>4pg};szQ95LZ!q7=g~%rj z4+3)L_@8hD$jabhYjc^UZNDy#8+whk@+ElE{$uiWXNlS@G}FePg4yUe-&^8WBY7}M z6WQgE_CxozgtXIzhGG^~*$F+kME=Onf@2s_^^(xrYXBlG0(eRLbk{hMagTUZ%wMXYD$y#;A51PXFG3Mdw)%h ze7OZbFyszbOsw7C2q$J4dZ~A)BC$Q@ma;_O4lrMUjJ25W8`dF46f2?d!f|=tx|!;0 zkw0p6e6YVYdNG+&o2Xe&{^0SW_eHMIwpuO1JB^@ibZWI@v_Ud@>GY+@4nW;rel%RL zEs`ro7El199d0}v|EpCffF(--gV*#f?#YG(7)PPHlzca?-GuU*8;bcIE-f93-P;3lq@6p6}{P0zJd@Ql_{3qDFs55 zZAemC?6=Dbx3#5B^v6F{qH25Ab#Gq90ZpC0z*!nGJ_Oa9GxOIY%y8B9K{Gv zZ;=|3x5Pi}O$unMI)8{NGSLBv0G&qSAQGx#O3UOf-P;pd^a4AKd4EAhbJ>G&u*Q`n zRWk2#jGwLZb&|h(6nuE=6w(<`CD#VD@p*4yUm3J;>=k=4*OW=974!Ew$um)DfLDpz zFe~%BI%p02-2XiOn5uFx);pm#;SCq~=$Yus7B2q|apkKCYWy3;GI8%i-a+z)sAON; zvx(yh3uhJQMpQoToTEPLnl3V+g?hM*x(&ai$1QihN~7a$K|sg2l%RF^FMe)YJKrlz zR8^iF&Pyh377AAAr`sO-9CwPOBXBGbuz+iiM6F2i2h+%uJ=`qamqw8RU85vflBez8 zBU((>1A+i-L^=W5B42W8lAQ81OubTb9bQOgA0au|utDQa+^&c;x)Rv}Lxf);Re{dF zP{Chz=^Lc@^z6taEAbvCF0xYi@D`Y+KJ6rpD)1vR?4oxPC21J@KVCTnD!}m=8R*!5 zW#XeqF=!jg@m^<+#0aFu+6kd#{(oE0>(ZnXHDsvoJ5kH_DnE^gMBg4sivEg9d(kLa zYLd`3CM5m9#kZ7+|50d4V;q{`A0c2-a9S;iqb!O{w)v~jCRNf>Ud*c0VFEX{vKU*G z276A82R-SQMyiz~{ZXtC-x#PcK|JRxI_4gc^r%t@3n0_zLs?wwTlSUgNrZwXQ`N%T ztt;rfE!0sGfl9a{SE~C}=zA%Dyb#WrhAlNDlpYIf(q`eE2NTnVMEH+LsSxg@%>G@n zg)K7)BExG1sg!a-Li&Iq{>ilixgwY~8ZnpEpE5bU7fZm6idmFAk`s71`iyh^jvH@h z&520zNfLjBYeV8oV4EPUR7594BiEBCZL!HS%$dL~7Z{{9{4e*j&|R#(X_qbhAxgB} zx;5hA`Y+;KQb|h?;qy3qB&e#Qof?M6=j|@6gV|SQuq+_0tQ? zdvB2qgtq;XcpcBT5A| zJTvO>(#5PmnZE$Di!c3WZ%wcUpWUL`$@BahX>?)<4MG!Z^P(oo1gOXz`PHgB_$EE=duZ6 z9t{6DijN}1xvmgrSbdwl;C++TQQpS$_xW(1KHaX)4@Hy9NiunX%23nPaPdTi7g+3q!nKN%eTOO#(9x%WcW?*DA2maLxIaH!fK zaJhoH_UJ|;5}g>V97YUV9@CknLyJ&vi#I=1XS`Rd+}HZLl6|03A@2yyVr=E0_Rd)` zP1@Q5MDgm={2MZJ&LJ^7>p<#PWfg^+_AC$5Er#)m$^3uRdDAVGrCS67_)(f8*91 z^r~nw02|yAxe%uup&87r3L}RF#PhpBL&oQ3R=w*)q|EW2tn5ig%9hY7oO{1j3!JZb z1z+Ed{Y~TN+J2PvUly^xtMXs&uiON?F4R2$>T_t$Hp0JU*Z_MX=>5;nMJXlPC;|-* z_EEr>g2k550xP4Mo|v(ON`sJSdM``eL1U%LM$EXk+@UtMTMW5Cu0~BSF&%c%wG#JF zwpZ6V-Wz1?47K%-ho#_J(g$Fr3xA=gPmoGL2B{T>H?>4k9MxI_uF^Q*PP~{RoSE!_ z;OkJ$mqr;`Z1?Aj1+i;>4czb3s%kP_0b$D8oXgA9DG}2`QAEcb3LnjwFWqYA7{%f*>N44uO58XXJY;SJx-MG6@TQZCPqLpwGM6ciSnBG zSys}bP*daVW^9e{l%1==341m5%Y^O;819LRCIeyqmRmt|)y^YM1+0BDbZ`fMggU#- z-^w6~x_h9gc%sZ$6>jd5d!V4ZjYf^>Xu-b~l{T@oK|KaQSb|Xed*_|Frv2DZt4H*+ zBVHG5)-~~FXFS^3&2RXW#apkJ^M7*90*U|WFv&D0gl$nS9e@x*hK=JRBYJTQG@Nyt zZlo3>s)WLqS@&-SwdF~LH5oTsavQ=pWQ&>_uP{ni<9Ii=8}9>IS`GoNTf_&Eh;P>T zSsfwF?KT5I9CMWIWg&;o0ys_g+V*ek>_AN*rmb_?9vlpx_@>bJ_KA6NfiiM*`&(6w zmyXn10yc>}v{NW+w;1Fl(HvZX0OIO3$~Ymw8z8-p z6lfcP)r)pGX-`<|GR6K6kx9#1-)=0kb&^3EOhnD{_ zJ%7b_{XsuwnL_HIb$QI2ZkDRL1SOU6bc_2Kr`S0WX{llw^_a+^m)T)WG=?fWPZ0w+ zo;)9HkeIdcd2aatxIY8$kP0$c6TB{elj7sL*C~!bQ7fQCJ74Eo4kx52{^}!Qfpg=J zRUE%-sXQ}lX-w<0mT_&8SWn4Nfa7cj8;%qk_ombOqT3~_(JLC~Sk~PYHj!0(wOg)- z+@U!cCf>hF#m)Ib{=Wp?<>@m{_FW$s*9HMeyz9UPUS?`LuLCfLx82RU!Nsq`9lBdx zxk02{Ix~i{S0?3%a3bm(izJf^H(Rs(p7{zHng}#q^T~?c4{s&WVbEFx{5V07UN7CR zkGa~X%DvPuhr!Xd4;q2p2QLA#yfjLTuCv+q*u z_T70lC!e<uDgR#X%gX}aXrkazUd3B9dr;FSbip7eB1G~bL9d!IEe@bpxYsfY72a0@=OiC42s z%p0u~N-WP5k#t4G2pV($8Wo?s;I{tNOsBu-%g`=Usf=H}{`=-f)LDY-2egfjjNxg z41?`yqNSwVfa^s-VvBVk3F@n(L|t<1v)rk3jQ(O?F@e^q^GBc`6kW^#`_m{HL_;-X zo?FiGi^Vt4=s}!WHhGGn1Tk_fAA~CfLy2!Oa(7Jo7@;_mTmu`aY?v6EQiU!Weaz}f ztdV6SKal--mMn*Ut2uQG7qk@^xPh}&m&IB@mFO-3{*ygg_1B2@=m5c#h_jmOy)RU$ z1#&F(YvoA$ddadvnrc){eq*l~j+tjyl0kr9$b<%ol)IR2V9Hv2>ckEzdarqjIEpYBj87Xhh>3_9j&u5>d`ab7vbi_#;B zD&_|z24M0=Ofp{(st!#sQuB*Co zcn#7vZD38gRw{yoscjjbGTQRom88sj4zhHeWYa2}55|v)wmD#Coq;eg^t}pjDpW{BJ~!DskM~~!#>wy8v;(tdRrpzJ!W?}UAxZp5 z)*C@A!%ZDDe?{F?7R_eTbYoIvaI{4@@3q=BUyONk&zN#UYmumX=A-e=zv~pelv!GN zABCmse^BfvT^3xr+X;CD7qgVF?Q*1}W*aMGp$m$ExV$qzh=r1lQU_U-Quh|m>otb3 z&3~Mbl>S4!+HRWp`}nleUlis;W!JJqJkovw2&FuQ@%j(`W~w$-q~AA|)-m4Smha9> zh~X{9g#&c3jLQOxKvIdmz{M)2)ckNA|183+Ax@4vrWDX0GmTXpW;0Jiku_^UZY|5hL_+2=fxZIn@!(?@R%`jTI|P=Ob7z>%+mRjw1|vwJ)#h zjTof}eGxY75Amah1#KPWm;n++d>rJ2-N&*!ug?g{T*}FN1-inoq^gp@KItyTuqR*| zoUmL?I2a%Dw zuD9BiTr_#vV9f+hIunGlM9v`{kp>}b3<};;B|4YUN2Lq35yv7n-S#H)Nu3f>Y7*up^z0C^4eWF1H*{^SaMvR zD)8q_=|nPL=HoQ0$;lutcjC$Pj(6o)`#c?ezSGKt zSnXo6)hR96SwTHp%b?LSm%V`2C_uP#J>a|cO!cst1$s%w%y!k!p zq+R@8lR2Y=tDSQ_$IS@-^6f04ENelD9BMcsaFzDwfAI5g6V|GHNm)7wI@_MDuiPL zo*F|od+GQig{uX_0owTrq!kFh;|6-QhaiNc#3p4p1(y^w^@YgIBVrj9(VP+6FkP!u z(k%Ghmar@1-5X-c`P)sN1b~ibZ#1E@aV0CtfU19lp_pT^2#cu6SGhot>+ZibEO@PN zKT8D($gLMHsJB?lZfL&Y2fu9Qb?A9}>j7P6fjL4nn-de{AvDH<3DS%L?1e zbW}C+qZ%L%aE~Teav%&8jYT5#O1$25xbjq*gRqn0337RhC$?>jgRjq3k?g z{2w28!5Ii*f^CVw5zydeVVffoS3IvpFQVaQ6R)&D=3w-h6`Y7Se4%iAQz#6N@5Yzn zn*6xIyYt7d@0hFJ?SS1CGt;js3#?DSKY&ogZ# z`*kHG{t+hZZbDM{WLPA3Lt?y^yN$VfBAh}y`#X&m?r~U$l?vVh?Bulku9HK-!N4jm zeM1x2yg>q(sx2PAu?nKO!BbcDir*TEs)|^R7NafEZ{|sc&oo!5Uy%P7D`7mx1iZho za>ww$eI`AFkf4`|FvsM;EV7bGh9_Wm9vu(zUt53_qqG%qttr1K64(8{184uo%Y2F0 zm9B{^D`QkYs%MCVo?79diC!jAEPqE_JfWv-26`eHW7LI%%OCcF9KEkkdjU0QS^nEx zw^@9$uma6>HRyfE#Ho6*xel6&O8*W^O~wRFzop}SsVtx17KS?@^Pom7)@TRz?ta#?9lEBGVk87NahCv3l9*g@?qd3+5#ipB@KO*HUSL)nc2i(?NRX^F3gim-+1d z_Sby1cVp#oSb@M^+8aqESL80Nt(2R_(po( zAaB)pab|PPoYSoQW4f_{6U_DN;Nu-~|9935K*h8qc%B0MX}gDFN#P+Wa+M+Zv5E}x z;Q6_!$b5Br39BzJs{E-`+|911*eBZNNl+72Em3wttIAr_S!och#UWns_|ZOb`>1HU zq%-4pH$GZqeSpyQci@27er^7VWxAax`TeAQw#$#_ajZOx@u=Ip=|>0Pp5o9*uSet_ zx#kb~W1&1Sd+NN{wXh1N^6zx{`C$9#tyjH(z@ZV};dj5!{H!;SbMjh*cdy>^K=`g-?-|1WcTWJP& zN;8^jY=iw&fhTuBK23t7hwKKuVDbe4v#)pBZ42vHM0B2$6?Xzvd0^eZI&Ien3mUlR zz4ikx9GeU2d1FcWaYmYw33mhEV~jj^eO+kBe9!+r^%wrB8gte3t?M}9vSXKSA@3jG z#zaIwG?wWhZro%fFT;y}6JJ_=tSpo?Coe^})Q;mP)j`Gt>!gRUDitOMD+6!QI#VEJ zXcgmzF-CWuDC!lz!xkt)!R~w2f@$1)YeoU02>tBF0t;u$uw1KlZXYb~jaOihBqSzU)$9ZEh@F=kX zZ@}1GV-CR}D&&M#C2|9Awv$iH7vetw`E((3r%3_0Qvvi6>(VnYv@7}bKrA1nYQ}+C zP_yyA&rdJC(&?+>czgEo|GPQV}WyCu%o%RX(fA z#132raLYBJwM{$S9no))cU@P6nKJT4DGlyB{+k|t%2;ZU)@2x}I&1Kf0 zyhi$ehF$vOb1RI%eh|aJx=P0)qQ;Sg+T>D23g^5?Q+)@i*$56r5h#2IR6!VBkX#8= z(i|nXo3kJ8;avJEZV&fOIY8M}&!IwF6zIaiKYDALM~C-=9j+PGcNai)gZVHK)NN2P zn_LC-Uv%KO7AB-qsBz5Vp?J|ADAn15y~9=`sRM5cJ-d+>8S59+ zKsP?t3fM={q%{r>vF`&4))N=IF_n@dEUm*OwQ+B;89`cY_oXr`1Q5+-;R7l4ho+ai zIpF-DrU);>B@d902+Q}o4mC7!3`DV0!xQ~~l9~jQ3{?_|)6@nc44w%F_^xi9)wXbV zFjav2zT~%&g83t`Ll7^i85@$KTkUGK%(Ty<8U-_BP)#)XDy0H*@uDbr8#)&a?Oi=I z)xzfKpi^|HZ>2J(GOfBt)-<_1Ingh}`-w#m2f{H7rG?H@_COr5Vhnvo6>KEY*Tdnc zp$ocM5d<4rxG$=Z7}w8k@aLi z|yNkFtDh!@ejy3u1G2;wkS5QxcLUB)bgVaLySBS}lLp|_?&S`eS(W)Wq z_#>Kd5Hh9m4z}=bFDFr5BoeQ$sDT|!&Jf-=`BLs4UUPX~UI`%DB*GeOT=6qr2D%Oj zaS)XXNL7?lrhGT`k@%;G6A~CrYs4aLVBJE1GFx{E|JH@@wl9l z0qyvUQ6y5k_fZ^jrk!=}(_8IT;+!?TOtjTDg~XxEt-_%^MSd)!NJbYHBUq~I0UfvD zIvWikde0Oc*4G!^Gxy<&>1POkPl|uRdwg<#{j-)oEt$9gnq!l8Bl%FkW7K4i+>)pJ zh z70))qe+L@}N);^(NC6uRbR>LPgQ9a{Qbp}TRQ~P3kybtyr@1+M{2T6Ba#5D}yOkix zs1iB}17DS6r}WDl!cy;xwJesg{WfICz$1{M%n7@d#!J;?1LqSMy8QM3d#(TXMgU<& zXt`5j?JZvF?>BHL;HB<&0<#sv?^@;yTzonT<~i!`6jJZ6^wXu=fl;?NNyWxN%}5og zwTQnBU!BkkY9A? zm0BE(gin5cG>avu{eokPoB5KSN*TM`@K^75*TT9;N^e%2V6JzEO_l2H2LM% z%^yi>h%YwEm}+H9WiEvLV>%jcYb)A7)j{99qzV)MM3F0a6v+_Q09dl;ouFF~X! zp3x&!DRQ;|rp$UI*Ny@7Fwf+N+#~fX<>w2Yk0&>Xga8l!JRo9#mjc88wElI8tlk+t z?OFl6n@H^eQSJwXHAGBZw+f7l^-k-1rA?gnk<}CN_*G}O*6UT)F01In1p*1dTsV|q zln$Ygj$nT^G%}g&jEWO~J3f{$$}TD{9r)6AZ&<(sRkiup80(Ae&hM`@)uz>TJD0Fe z@M+ZE_N-sS4tWiuHSpJZ`sTr7V`RUZV9`;df*a~SoEJe9jvwn%jXDzC$zR$@*9L1` zpS+{WakDTLXN*GI&mkKXkJl|4uk>>`yH?9Dwcy*ItF!gq!(?_=^kw44 znt9HF)#Dvs^*2Pm?Cr;2V^L9>&={ll)JD@}UXE|ge8TtnG)Jk}FXy`h$o$)o}BV3?W}U7dO$bix_0Gyz;dr6&hmCnS&c@zMNnM`E(Vy(@L zsup1!8pilY)s-Kuwq~BYU-awR-M?4GwW*ZXw?ftCdM(S1`s6DuC>nh=dN#yk9br94_favE@(2soVs{V#0_RcDxyl$^2Dv~Vwa<*e#|D-xws++ zx0k?Y@OnXG2MAH;#W|pj7ZlhbpL2Aa+g$p|*cg2`$#P3@W4Ruk3CFc+xt<>p)(+Rvsz7NVhoti5jMDp=hbuWA#OKEx@0q8~5U1St#(FtVxTTGsgiSfYiC+<9s zt9$cUy5ZSQ2+j@-1VhDgR|bU}pehF1Qent>$h5&5jkXfNtT7EWseMfS9!E5F3IPaP zJ%!Ie?I_!kPMw_vRd0#JYt+(=V;SslEdbpm^}1mPlKk(@M&!oOlLkRdP~2OM@lsg%S+ zhHxstxUmPA2kd^v>Lac&xs2ZrgK;7c&%DYIg%Li5U*0?8Z<1o#g7dimM|OFL!w}J( z0y)v>mQZ6MnE#z(YR3m_l!r@jJ5DLw>Hd_!qdD~YxrHWsB^V3LPp_L4_UWei0ymnX z%p$n=D7&BL;)&B}MBEELC7F!8YR|F5kVRs>{-Cj+y9-Ex9zf#U0}m-+g4Mae?#U6$EC!9JIfTdy33K75 zc%+L2(nJ+SC#DJ1QguCsHBwQ($tke(gEadDfr#G#RTDvUmIW&)j22ESlnM)h%ydG9 zWTc6&lTPx`XR1CLK0+IXoSs1KOD;)YFHWFXp{#Vc#Zo4w4Moe_9Mne3htjL!QX1;Ix~Cq zV#MQ~o^MV|+KTG7xbp$>uGK*XA-N($MZ*i7(DfVswr~gl3z5Zkq!Yn#kmV!D3k#IU z1X;t!4g&}7-!$Tcy$GaQMznWWS)Q@j$*$<_yT!~4#_)vS@Y~XW6HnBiH zi7cSzL2O|L18Kr!2lC*?(wU$_koK-CdO5;j?2>@R&?I|;qP)x`f!BN%^#r?FHl@2+ z_#I|{IAghfK)}PAhr(cs^b6L8|M<0Hu;OhOocBL3(39-7bWl&#cn|wx7{#_XwvGJ# zjJJ?jp~SOVDPfBE9jS!>?tT=mpk*VBWn=|u`ja&pml>Tb5Es@jmlz3sV7{0b-+$Hy zm<{MIsATvxv$RJOHsAaX`_fMgIFZ1vA>l73%`|&BO;BAnSO}|8X8eKg5-t*Nex9U ze!u~@latzSwPax5+MDpg(C7zjmCm&34}AiqJC~KFhR2cZsmsPSxMEQv#0;`^7l zVjvN@ngL0i3+d8ke_%%3W2igJ`uy;|Qm(tJ`s8hx{QR3ThdahUBvu58rmSjb7thD$ z=fZxWtDftVUU|ZOVRCm@82f1gd$BJkiDa$q`vhJO;A8<866vn|nEO$BAS_+4UH_U) z8SQowotL1!xGzeH4oE5-e^W*L7!85Rf)yt8_R&(Pi;;J@^?PY7-9DVmXL!q@$~A#h z^qpq@xvOtIr7l@NkT*z=ul4yLs0R3w!K$f#3k?Z#_5AUaib?p9qA6fPg!9}zbn^lH zzxhyiHe@xT?|XNp(Wy5-K=HpJb=_%w1l3nw^&jZqan|7mgC`TBH> z*C^CC!q|Ma9Q1ijzbB)ID^4gUbXC^``NYbRd8~qpM%>Sb{hY6d{ykvsSg~R&cMVbk zR>6I{9)9%j;sI|K<>K=o$z*@qe10aS>q`qSp8WWMZ|gZPo-xd;NA|?s?AhBL^DTcsT`e%$Y<@=j98GGBqg7h0$p9goX9b?U1Q^ai= z%ZH~`JF92KxV)L)=ws^)`HP8>y#0km0&Z0Tuz#G^h0{}fJOhuc29POC*P8DtVw#El zYQl~hq%>6qEk8dC(`wqis+jYfQFKp#DUWZX|70Fg0Ig_*lV66A#NZ)@EkNS2N;2=R z!6jbs?6fVyt~tQKZZ4$${Y^8=ZE3r{stnorlgGgiGWvpk zx<7@-VgSVV#u6G3oT#5JxY#j9{$#;|Mgbrk3V2m@%D_mVF9r+@_F83`QY~+AjvS60 zcw@5@8XdZLI@kmqA66LqZ_sRd1Vjn|$%LUdP)?m2O-e zx5cLDZwjhu%^eLJBCPBW+&sIlANU;fN?Y8nPQZJW1o^3`9!d&VuD5VUTU&^`F4XXB z+yFEF(mzK2bN;w0q>$()D4fQK1)Sn_4S(6dLa21{0{YOm*ue(+dYe#DB=MqF$Dr== zXa5IRJ+%KnuD)@8BDBOMT+q$jR#vT#4xZmE*-y*Q&*wHPK3>nTbXcY&76ZWvn`O;g z$!q7EgX#}2|L(JO+y-Ho2OLAI3#L9QCaCv7Al0759w-h{ERsgXEF00io0VaX=a>^~ zdA5=`Ni20Q+3R<%rWcmITabE30*eo&xm<~ST_E}tpiJy)I7l-$@1eTWbnjzSyN|1I9+_EFKre( zKR=hn(&fP{|6ty0ZW)NNl$ocFGx7$h`8aFc)=Sn0mGU!2MK#Gx@$J(`pH#jd)0YC22KKxVJu>;8Wjkbbc@6*7RF#I`C zuGW&@{l<*!i6|)3^tsq@#GUB=#L^)o3d0Il-`op|*2|B?_5YZAtFXA5=YNpFEx5b8 z26uNSIKkZ|xDD-t5Ib&)$8yx~jUXr@K$}nXWqF z#-6WdhCP{#(n`n>r%DoDUNo!FUo!dDiN09E?8kQ*$1Y%55kU0fKqX)K^Q@Z~^2Ct# zL!)-hO?~CB!GVTJXPeFp*yji1`3B((d`fSQbd6S%7r2BM5e}geM!g6q#(NGuBxzbJ z6c4q6V1t;zwVY%t;<-xTiyoR0nr&V?Felvz5a=Z2%!^o@hwWk5^Cz?RZwdxSF1tbE zn^Jbj=S`If9u#(mZo5Vl_tt5fV}*pcbwvzi3zUI^t4VnP<4K25;D%(4t0mV0l9Njt zyo(w(k-QgqacR8dG4Yjfs=TF6yx1XIUvEjC>`+A|=nN#y@BVnl4ncLJ0N3BUyo z{I$$t)OkZfWUZbo%|1?m@bSF^k0Z)x5~#nxXz{XR!=dSrPKP}x`IAwMI_7qT^Ke$8 z0}k;n%d~>z883t99!@4SEkihv+{-Tt_UT_9ZVjT%hyw~MsqqI0k1F4dsZ?_`=63Su z*$0@3#C%l|31VzkCC6rae<<`Z^*=i%ZLAjcp5VHNl8za?ES{2Py<+X-zdUESI~17s z-ZY>6Oe2(eS0hs?=|l-vD{LGKcFT`sC???eove>_o@(Q$c}X{X?yK@o!|C*@>brX= z$L!cDt`H(vw9{H&KRW4};e0(M-WGvf7mCL1E~-XR%S_X3h`v^vVj#}EF#4c>6eF9m zH}k6^sZ_7>&V;g==<+Kf+vEb?mm1UUjDbv;(b#nZp{Gx#7I6~oNT@DViM0ZVt`u$W zy4vu5GFXrp3#+qr^CiMcn?R9F8#5S{hOb(|k0{_+YuF^*7l*aMiA^Ouy{NEd`8~?Z zKC>C=<(RGa%%1oY0#$sop?$L^l77+g(jN25UAz36veb|=<7H-Qr{;T=&paN99rT@u zrKGxp=7HxQDwa{N7nU;(pd8{J=Z{D@iVADW_Vv7+hDJWa4Q~Qab#Uy)$DV4fubpZQ zbwuDoq&mZwh7i#dvTOz##_XE?(PO6J@u`#g1W zu-AaYl!R$@h1F?wq1H+Sn!jCF z_{o+rS*~0rLugj-={TA_OHWQ%)>v3w)>x|siJIqcA_{)2j3{59US&QmY*kp)p5<^| ztSK3&Np%5T3xuh*z5IUnso?`n!Wn4^d1J~AM`MZ(5rQ47@HCHb2%9h-9>h6^nY`o0 zpyEMJn?%&R9C4vUkS3>x*)!QHw9`g$H}u!&<9mt2abCu2<$@mHrs2F;cHP+}c3pGS z`ehn0lkkj?1X|@GIbjOSb>6W{`;ynr2r-NTjz-*dV12KEch&jIn7`;u;Yd*J(vh=z zPemzBf8OH@S&o7ZBy6^hs;?TBbG4XIpldRILv*nn>&w^Vq&NN++`N*5(eFwF+bz_8>zwesmyxv~@euC#<(% z*i45AJUJ4bb@2QG+tqDljkiRGjn7St_(WKirPOxFjCeP?Se;C>BScltLjUsw!I{99 zfAfB$g3I+!s2um7P`Q6zb#r3*{Y-mBCJ?~JJjZTUgdy>_H(wjTZ)a?zJ zOSS<~oFC7%aBP0L;xDU2OiwTVHkpbUS24<< zN3qa6_;I4YHY)!!h3kX1er$=^FPoNQvOfoigz@W{r2iVxy*D}^oqYGpcCkqn) z93ZBDS#ug_WK=K`e`z#J)7biWw$hw_L#M^bGf_O@-pEfs*Rb-v8pr@D8B3}Yc-em{ z1V-=AO&h!)Ah7auC3kKETx+k63*Fx1<&Qua6T64~60Me9L3T4?J1U1S8T((>PvwN> zXG|Nv{BpW5y=y8sHQncxjpM?McBixZro(Yw#p7f09xOLG8y>TG_E1*N#n?u7@E$DJ zF&xUH6o9Pz&-uYg4G7$+Z5>rrnNsJ7A|M$BuD~nygGV2c9-RH1$yU-{0 z45hiliG^)`#)72xQ$jsiMyTED+)P-sCu}9OBsp??Fp4w-$|kgR0Y{VU)dBG}+~ z$&DrP#Bk6ncu8V)AG=rNg@0_7cyG@$^XrUjB4HdXX=W+#cEJI2?APIvIo0Frb;gsO z>V(GLs@RFKcGq2tIM8fi~ znTCusCQ6ZcPmdy6FHN9}C4@|Vxg2c3@(X4ZN#l|h{SDyig^~W7y7YSAjy-mx1(+>y z_4D%!@ctDQ_J;%sq&K`sxZ?!BY7Z$EM5GvBass@iCE;$M^4Nk1I`Q{l51K0##Cnc5 z5^?;ytu&l4t%0F!W($IIq2E!YXRU|e!F>EUxAQ@y2rF$3uv&SHxwR<5yciHcke`%8 zX(L;L6!QV^kE01_WIt$RDng=Y@8jNJz9WV&Kz}Yd#d1~{)d9SL&xQq}NYb>Ya2NQT zm&BJ{m3+uV9nCOvNXS$Iw}yzFrW=+$>e7^@Nd$+>xP~q0wKbC?7Hy4>kA-$$U^M!| zq}LkTkxx>Yb%yyJP4!zaAD8ZQ~d&2vI8Resr)$+V+#|~$`q^!8XTP- zV|A-PQk~Um&}iYy%^#B+X$u>{QBj&r1DPtGyqU^6_172#i542{^ zVBCT)=DL8(f8a0w)WZ8^ByM0!L!uJDWSjO<9kfvqOZZ5m~5W$7_;AibO2 z>8FEpgKJ?TA%<-U@b^wAwnP7(v~Sc#NNE~ z@-5ZYRC`ctC}EMfwfvi!LGWC6zsuh}f0wAQtY_ms=zXJQn$(GUbmS zZ;#9FUs=ny&!B(ro<7g?zDY_7<5PET|qUH*HkrdG^nUc$@Rfx=08p+9kGK`3Ph;k7S z$Y7^$(d!>c2wppd^1|wOOXf>3aWt+W;b=v#DX>$T3_l z8eZfrhVxJH-3tmK;v@oqFvn*mDEt{P?lg0b24AgWd91Ud0WWh&v|_Y;J{klaYG=6I1&=Rev|M~tmo2e_ zA~oj%G($d8#!u`j|G;Xxn2-uVW~7x#yBDyV0)W9p5A-_K0vc#>7PFWI)g371VoQf{ z#@wi9Ko>=IqOtZs^9hH<1Z+zO?{0|Mef8HMzBvQ(-H1|)a84sYbY7AvtSRO8&RE^C8Gnw^zsf=;61w%gOs zdu6UM)}6Kly*b=tk$h?YogdXHk$tS-swI28PC^H$%Ty0umGyOj z%x=@pRWMuQ2&UzPjQCUZo=3uD)O#KTSJ2bm%8F0oqqB4ENTj)M65ZGww3q(W{+O3{ z^Pb*$)3-W2`}%UUuhDPfjtr`0xl{^mn3fU6I4M)RKZ7X+&`RT-Qeh2|N36Qbi1f;Qy zQk+|OP~X)=cQ$E~x|$ zcFe%Je=_VzD&l{r#1BnIBBG^gDaqE&3jfIk0p`2$9>Ig-aQXwMD=XaVF+a1T;yr;x zg!O@I2V)yyk?|)ho~ZOO%4n6j*cnT{?z6$Gx6(yjW=p|UXRj5`UqCEGhoDIs(j^j1C#N z4%83Va|}&$KIu~>+Bd(9uQ)66llZet>p$l7v0faFn~;JJZIIYV3yT{?W5mEEV&U5$ z-s+5n<#>V#;?y_Ep#U9&H*%0O0r^#@H;V0A+c-`LlXk7{BZdSh3Z}L$j-&&l7X^Cm zhFA!P)2l%=tQA}&=G9ipnPKXEI-Q=X70avUgI^TLTV8_>XY#fzprh%0v)lQiv(SxomVMi6m z`@`Qpi=Xvgl?L)?D@Z;OeOn&CEFLL;rsS4RJ$O7;aD7|cQ@;_Mh?9zD9lhBry&dXfogH(lbtx$W3b{QS!k4VxMwaJ zG}RErW3?)uu>c01Y?3H*1(BTFpg8v9x)FGeQ~JYx9YL#1Q1p@4bA<|Nb1uy5bW%IQ-n-ptF)PP@a-&x%FO6nmiWGlJ)7QuQ3hm>? z!mX7X^f~@Qci*e&$(_SmM2moA|M3j&&Zf(t^#`7yuf#yv{dlt;#U8Z@E1mffQKp)- zlpDoCs$0Uym}c{D2bO0`w%-J6MPO=e`p#T$ir6#)stL}4#utH8q0 zfoNS?QX5htEBwUG52ky`f>g(jGAzB#JxJ>ER{%HYWl!tkGs6SV@VAUiB1B%upW=i+ zKFzZN*p7i;g)!>z2eMqHZOoKwKIRR`RS{V#c`OABVVxo;62g1%0FT$KikAhLMU+i`kaLU^#8TpF%^LQd)P9&P|byhC%!=T_x)qH$XNBxW4> zT3~!hbRkC>_uKzoul0Jf7si|A;?i*O6EY_rA32BAXUHIKew5uAJh*SAP6Vq%amT&S zg?1Uh&7C#rwU~C~=Tzp^;q_m=X2@r_!w&^>Ls@8CNjf8=I);_mOG+*gmbRm zv4M?oJKaEt(V3>cH~47lIYVHVP%20eYzhMlyj9=BMEtPq6q?Fei6UuK$X!HZ82UAs znv@tbxaz9y$Ky0nHJ|^q9m&m}Xp&Im{L;#!M7D-I?4k{&L(EcVA`m<#yDmmk{(_x8 z{c&YaF&gKetIIqDX}lQbh1F=N+v}9skbS z(;^@<=k~Z8)i4@4YBpcE;JN7YWvUQ}e-_W0&~==u75#y2gYDMT=#D~REiVCzA)RsdSWi5kSjjJ9V`;`%e;nJ2sFR0>AcmJhp`kjF zs!uz-ks@4$lC)J5$qLERvsS8GzOqGYuZ>2#7RC=p&ac*>1_{1!SfgRUQ=a38B>qU4g zk{$MH>u@o`idgz#XJv|8;SboMDAe~C2{wp1NI#czsV!UM>xO1a4tX|@K&+TyqfzRo;OBemk6Rjez>66#h^)TPS|m=VMqQAlQg z846K}UY-WADA%e5O&(NluJa~aH&n|uYVp}aV#9KFok=dC6v9GqVYR&GvFD*JVoz40 zkHAdYZLVh*TD6-xKRYb|V_n*jU6sP-|VNOzOt*AtdX?R0dVLnJqIN728VyE78Mr@Ph6x4W}ORf4<;8g6&`3^X0hUMEvG&W ziWeUa+CE@5B-RQukGWN^$D)QqkH_qd{Ej{l6KNztiA3Aqs4g=6;`CVWdzTj_gufgX z;QRjLo-IzlXN3SRXy1HEBbel^L8>J^saT%IE6&;{(%xd+7Evk8q>|PZO^e{UJ6Fj& zz&n`^5r8;hsX06e1`q^rEzlyF#sKa^zInHUy}YO@iPnOt1GC76F>&)d4Yfj!I1*i|H%*Cd`SAv z_a}ig=_>>_Xq*#(1^WE@&cQ+cmjmSRf9U1^(B&xpBRR(PuO#5@Ur8VfVE>OYrFT*@ zkQKlV!2R2Ye^R$s^~|>=0KmYGkifu*-}7JhzCn-xJ3$kQ{Va(77t$SKU-{&cUJG2? zNeT($QKDgBE0@$8WWEOXZe&~L&MNe8qdekpxeEF!uDjGe*&drBFRDvg$Rnzz_)jXR z9DOul&UntimCMv@Q*NAzuZ7@l($P0y%+A#i?AUcvKS_+2XpcVYaB$#pe?-FDgD!?5 z%(jgI+9e~4>HgB#b0~*onse#16N1sr-j!dJ7&>i(J#j!{e4%b$v9BOFmw(&vzr#-1 ztg3>Ch5O3bYjMi`5}^n~ioXLQ9f%JXmBt8?4HdRi9u?M;MokjMM?M$fLB0bOVe_Yv zvQ*I~WWu$nP%KD_=)uzAf;W;5v$A%0Rc@^SiI1n@_)_&zDD!>=XqbsguuAF`s^NT@ zmvo7|=A1>y9v6-hS0`@}C+o@-l1_qPys}hSvnkPo{VK8`eEG&&LN|)oAMPcN5=jazQUuOHTB-&+9}@jk>A=`h&o&!^ zuMA&)5kA1jy&$3NCXku)lFQWnZ<4;|9FF&&82Dd5Agk@(;rV;+{T*a5FpT$U<>=_b z?C5Ov#mwHt$i>RR{?FkHbYj2Cf-&5!w8|&`#yc}Gi78(Cowry$ zVZOSer(P{a=f{XD>>Qzq3~lmM)35pPO}v}MiEQclS*jD`u4YXplwUPn`{|~e8fnS` z%RF4Zh#2(vj_PfDCg{%Qi~jJtN_f3>(=|P9n!KY77UD&XZuT6}n;F^Ay+(B~$F!hj z%oQKK&QYVI^4qm3+oUEI+1)To?Le*lwj>6>+V2`uUPh~v*GN$tpK~L z?Fki^ZBUfF<1!U?##@A*kI!BA=hC;+quLoMDlgmmIEA|hQ6F@{Cg9F6m9OnioWjfU zK5@oN1Q-9?zL?kVeN&i2R!F5S#-Ql>B@79f)WZmGFLd5|eap&XZdgSPp0!y4P2|(u z^96c~D4qqIjF>}7cl<5Ka{T3|VY^KQU7{+hfgB$Dp7KKDEHYTpNAd=tSb`eQ-0q8? zPpQhF?Mk?U6KmS+Tp-x)q4_7*Pw{Rjh`g)j24=D+l0<0yTjI~2#-i?8G@T1(6Hz|u zjvI^?$4Zd6VeQhdall%!6O%x*Eh5nIevt^EZ z9X$@|1MW1W(KmFW#|C9y!MC20FqU6eFoL~3Fwd;9lEMOCk(7a!V6xJQ(f(d^gt?Yr z;?iiIvhn6=6ED@r$d_JDxy6cDik-<12MPvKHS;A9k){;-Qqqxca7k3A32nA zH=LK6B}C{f>e9M?T`+TBam{!Ni6~}TeP*H>#y`GF{?K~UZRd9WIN@{kZ%UndSXhid zducO`2;eUQp$G$*K(hP*c#yO(;K!f6u~`bh1YidV2?KCJzoh^ZfA--<&VP4PVQ@%n zkiFRZJ}fK*Kme7913rK<#Q@WPWF5o-jG$Nm~0Pl>{!T@Xl$KS@oME}!x^fCbQ&$kJhlhy(Fe^Kow!1yoHJ_3wD z{ORPBG+^{E%8>t;X08nA|4U;~19<&4zf2u~_g8jE8!-15W$FXQ!T)HnF#;_9MdGG_ z`@cxg0PVA=t8{-S3Gz>mLZ%^48?w@G_9fXyESGK76MZYUIh z56Xpwglb0j0yzJzsCutx&hZ5-|CROf2OR%J7C``szgnt80o;GlaRdP8FM^5zko-k7 z@&7RuG!6f*3O*U|{f`0=5yE@%JOu##m+w9eQ1sXQoD4w1pD#Q#vlRgrVgDG7SOqxx zI}i_bfZD(4TQea0k1R;#!+YE`&|16fmCh)=pe%b02Ro8AMpKukS_m6i3${b z_`evaKn^&N@Sw9dK+peT)jRvk+DtkRu>8~Ze`|;s{aq+>|NkcBaQR>Qc|mSh|GmVF z@xNqvL6QHEVz2+IX@0i@^8Z-G3lheBugtvtuQqr=8UK*}d$YWt-24CD#*{n&3iRy( zF!--Ayr8Pb|IX0(^j{?&Q2R4r>|ahEPzUz=;+uH+PjBL1-J0$x z?rWGQFyOd< zRYk!5i;Cdh5%S+h^gn)H)VA@|Jg64#U5=07eH^rrz>$-|KfoB#M`)AbkAav0;8?O| za0!eJZ2*bWd}Mwt523ScePJ1qJ8lUo1Z=crw>absas{p9#Awopattg46WXH%94GP# z8eXdH)gzPa+WC*jRC&)m0psOX*`V$Z;EY^Vu9ShT%(HJLu*0Ix!nDcQyj+jQrLP=p zQQhvE?|#DnO#J&#H@CC8fB)^~`%b8g1dap32mJr9m$sT?eE%8DvwsH@L-i1+K#{p% zT8z2K8|?qfVdeaPKdjwI)ZaigaNvv}B_wb}kT?W5G0>Kwgu=lbUG2BjKFNa~_i;Y2cr({u zm}Fi$xR@1EbQ&fAMKeCZpS}ULerr?6S!ux60ajcd<#!y(W@98VWFL%(b$J>PvSW3^ zu9Ia; zyaHPimSl9pg(#+`{BAbSaQ7tzKmby%qu$lQX~Q!=NTbS!2yYY%M|gBDO4ky#-rzY4 zgV}vSdP+6PZ}tYj2gQ0}v)yb-O@8cNU9hJp`GrA(Gmq^+Hq0RRqvQ^_Wh=#Or29Mf zATlWS0-nCQPs?6pVbolG?;;G9Xq~`?zi)u9?9q=Ul$821pB`0&+H_UKb>vTSg%C?_h;(v6g!|e`cxv=4z}8t-A;vR(Zi!2-VHNq_nM)*-Vu9g|h{<;n-%}>YPaN()uWv8~pwoRt z4ORI#E7Ez>uDr@2fC5Jy&KPvYs~)hu+KLbLBn-a^35g&=j=(D+&rc<*!?bFvAY6QN$)s?Ow@gKi7Xg8@3;y0GP{VG97MrC@ zG5Z*u0CB%}WvAdJW}RgQExoFb3Bt6+hJg790Yisn3r4&63S?#%NiRYRAA4waVK`Ix zz9Zn@jn=z=L?~yq5YS_p7~oe9f{PrY(GQ{@r{LoyaY7)}EDX0rls^_ui+uIZ;3KHk$Cydoj(t=|O?8T}EQN2< z{BYcKkHyhIO<>c)CaOCbq7^cy`pNYkO|lFU?}m9iMA&&7f-Br|1u5>7S`^YRF{U4wAVIt$M!;hh)v%%sas%jbH%4SxCXk6z} zJZd3*3V=X%NzU@ewufvlqPq?lUyVkt<+ zmwXsVZujsgI32Gc&BmRQ7xxz3=z%Yr(>-lStcP5i4u+DH2`28cAy0LFRj|D{@G7?n zxjri-cE~$k&v(DCy{!9#5MJo(OIb@<0IAX>DgCU$=f2lCI6<%WYzj(1(c8 zD3(XqaWzv>S#BiMWrP8NC^Gi5p7-#V5)o@w;ohuwVWEscK~*h z-v$BZRkna*q9)S7*e%{=`kxYhlz}@3^36?qS`AOH2clbVc*qeCi~;$QoaislOaPAW zO+YUe1=|(6=Yx`%8S!A9)By?^>ByUgg&(F@3l?a|e618Bl@S&BMiSPmbtUnSM?EQz z>Zox+IP*jewP1U($YB`q5&;Epg&tctPgJFQCTG|t?qR1Q727L%Db4J>T2Yg~^#(o; zXkIA%=#o-;{f@L=Xf&&^1LX-5gDQ-b;sShB52vIh4W8q{ywa}^H8ErY`<`#t&B*~0 z@lzrY3MFxX3d)=g zY(B}SRaDP;-E7I}-H+@hXrFopsLwqH!ul(@s94$y!wzlo^sX`cqFn4gHby7$zA`T7I)}x^k5nF7j9|i*H_J=!^hJ|}J zTACXm7l{bK8K}Z$vDr8m_q*_wS8U52DRiH~YM9Mqf2RY`AjLmyLMFFhy0ID0bs45j-V`}Tm;gprMzW7f7A zdk#|;XJQV;N+t-m9M69Po0h%%)|;|}`1t9ClD=KyrVK9P%EOXi0KOG37%28$ShFaQ z({2YRHzXiz`9d{NKQbT;kZ^vVlKjN+Bbj#5Qe=q?{6PwH4k8~{x_`>a65N4<-HZWp zujls{G;xX$#385fzzm{}-?&P{sbD75cy4RURT0sRJ72V71aGv7fGxQ*Lp>yph?B(d z)-Ji5LDQOoU*0<`&dmfM>1#R~ys3Bt-!wea&$`6Qp|;0G3Wl4KUBqk_e>)`QZ#a&%E|I|WEnGd zZOturviAf&H`laYcTixV2}d`LR_1&hEOn|5zGJY02*Cg!ptl4zGPv^cM=xkO7+iZO zt;OV)lTbb@T`ygKPDL$|6= z2Y7kuwM^Vih)~{D#jL~UBOQgHyE%HWb`ge@QekE5jTCmczk=w-A zs0V06p+?e0 zR};M*Bj$3h*0m#6D#r!#WEURDppz|o12BcSElz3p{ubivmmfT_vjGI|u;_(EjKcP> z{w2r|hMJHq7EH8YXbiRaZ{HUq^4c8D?5XsMtyX!Kfz)^3V-X5*+QrOSIhqg>sxK9w zg5&df??K!U%V_x~$f6n(ptmVJuJP9-Ho*Q%$hcj9h+j`^_R(kV4W3sDx% z%XdZehLmR+gN3V0A?`bBq9eIEo&$e{@ez~Dda`kwDhAqMgf^fmpS zL#O@xF&2U2w_G$0ppfYa6T~I~jp`lOk*X+q&>^uUSxL;9LLDDqf zR{g3x`PFb}8lR3nC2w+G3zTS9Df*t%gGE>LxROIK;NXRkPQ?P5YiBAZEZ%lBsDDdd zEnbP;tkry92>j%{z?m4;cIPfykuUFS*$zx2eGgk!c@neNW3uy$W_G&WH+f+R?;Xt# z{;jP)UaNsxmiVpW<@wnLXsYv7{KpSU^zFCVS|$nESE=St%#qBB0L&GfiAzs0d1bZ_ zcVRU_jV{+L7lJX6pUC8?p*7vhN7?0b!?(vOsd!P~n5REZ+6xYHK8H$B5tyf{tX2Va zv2!+nZPJ8-{sa6I?%z6jbJ4z*kA=!pxs1H+1CW3JB zDqBCE(5OXZzThZ0oD}_#Y-BqMWk5*H&>Mx7uuhNy&!gsZd zl0pP?V2y%cMl4GtPRLiPO-6&Nhi)qwCSl#s@$S9WVD5iA9(V}#3;s;#(C4HPA=mi^ zq9CAVT4a+*FC{L1qMOOuT(FAN1`eZOvVLl9qslXlAobZs?s|@O3F3uEomo zssH&G;U}%PFbd}wws7yb1;7aa&9$J^b3yi&n089`M zH4;ocY7Hcq(8hCOQO>fbq8Tmpd!za2QILFsitd6YqYyg|krOhFv!5Fo$=5N)r5l#F z|1M8YYsFs6*3Ee!p%*tdh7G%~aF*#lO7yK4QAkbmmxlqVCG6+H#T%8G>jIEzXL3V5 z@~McxRr$yOBC8Vzdlz4kDX{6=aT%X(f-G+FW1jzr$C(rf@_kE&c;B!ohR&IChxCvzDVUpJ4S0mlJ(7UR0;8ua$O+b?@s;vcb}lhQbj zt9J!T;k6YnP(snEPw9G3PAjO=anOL_#EKN;uCU06A-;DRQ#+~=#zYiDNtF?Sq&5>5 zsXxyHiUwB3gH*qS_yFfv?;vqRcmuI@B2ODkP4237hl2#N?DZSp^Zjs$?ZV>1^KV{5O{l5Jj+&%? zCbD?TM2eEr8R??7O*iGN#NgSBYVQmF7EuF-=Uh(OgP}t@5mr6wwDO!BX5IZEJ8bpn)(g+x&+=2P}_5X*C{mq&2g>u z%O&}6yP8(lRkdp0O|J^*3tO#f-p#4>0f#=gAh7y$9XFhS44~>r`>6ZU+}$c4kL@cI z(a{%B(8qijDqE7644d9MH9mA%Vt~m2)EpLDx3J*UdwqpMSKh@H_2a7tY4Gkr-A<{JV+QgI8VK1v-zdnwlu_HCz||Wxq!b$ z>e_**vXO*Qplf2-mg99(*sc%h0j&$R+#sH3WUf`FG9|Lp>YkcstInGL_cJkO-WC~V z_e$kD^lAo{zeABdetZ3opnBxOts6gftIzV%J6dspl~kq_BF)Zj$10AA?0ezFty7l0Rd0;!IQc=IS&ztuE9iX z=t`;iZ80QwWQVjQE!(S2$do{$#mkX^Se~`@!R_h|4L7_1a5^R`GW5=W!C0jm5RT@V1{g z2W%7Id1w6nHAArxpT5DBC3M}ReSb+>n%!qsmRL7qL)JVj$?r`S9zmI==PvJGHY^yt z1vbnoOP!$@Im*=JZwHVA3Ry$7GDd}$_QD*!T)%%^_^E*>6H%>7rg`L^9+AbM{q>T* z^s{PL8fi)`i6;BjH`C(FO^VbTqcO|+RO}ixewtJK45)37oU^rPBytifNK{benyC>K zI^`{<7sWw6w{W^+eqw~%XBNhZHhr#+c%Xs7UR*ZAKs4H;EXlCs++$lr1Ixt{H}%Ng zL0d%DhrJ`eI#go6<+t@wrSo`T@Rm4t)zwWwbxNN>8rYLT_IHo*hY4R?Pjm?4xemo* zCyenJbnl?^c{0|VMKY-Qbt+sVmX6{xCD;7;%oppUAGk4vPW$}LPJpUyi1|;RqQLZX z?C?F4@+VczSVgS;0Af&>24odwf>kUsF>ds{K+ysVAQJh?k7y=&AME!*)D1`}_{8~#0dwY6*0IE>dhHd= z%(+Alwu5$D%ndKd-ii50ar@v%@QTx}bQ_1+M^-%=@U<=iU)-#@_Fg|0QfE`se8B;W z>`Xw0z6-MEBv=)?f(KRGTuM;Iydmaa40}-q0%BCb^F{GxnHi;=9j}2}74-JzL$lC* zWtWo7;pj)AjpP?gXu-sAuF(lxtCk;blQRpKzRcutA*5^s1mQsB2!?1O6b}RjiBn9f zQ$UoNy2X({&Rqwk()Asx6$KyUu}O5b8a+H;G^c+IF;Y6Um}`IpHT|IrVJRU5YwKeO?+4xxSUG$<+dlX-So z+4lxxH=@FdB%$P?*M>J&y=EsMtN>C(jOOc>a`SSMNxL+s@s=5oC_Jg?8yWg9UC!G4 zU{&)Yoesi_Pd0Up9wHod+dbJ;8E#-*yq7zj=EmW{vuCl^tFpYO4m4%aIWIOuCUPcx zb&U*h2HOI;*>OV7S3WZrO3v(Ai!qwou0IId-omMWWo08s*O9kbe5VjrZ>>G9AEeQ4 zB{GvRi~%l8PTv~<*Ua|98=R_sfZ3BN`%W#$XJwzltGb@$I6kzVNrE5Zy5ANwQgP-8 z0#pPSBWqc4%!6z0X@KApW{U5xdhQRvwT-@l`;>SRc=ziQ&p&>kJ0M|QA!=7GLClw~ z}+d2|j4AfmtjF;7iUoP#4u5r#Gh++6-KscW+9z%C(8I0->D z9SJNZOXzYHnJkvb=V~xGaFf_1m@eJd*+>AcEl7gJ=nfV%r=yAK^1DOnmDNPX&3&G& z2G+Id)3EHx@yzm5z~qW@vQt+V`Y$KaBJK4(iVQtsueSv5Oq^<6$8)#Pqorq+ShV4> zIs{OF6_xG|ja;y3==!v#KAv9<-uI11Xc;#WR%z_W2ZJ@Kjpo=F zk?RCSf*WV%W;tnl+nZzM9PwoyYCH0e@%KZb9MI{#J}Gv*-!-GXB7VsD8BGaE8y~el zdwaVET_VVYlwg0u(A2pF8B#W*1?!sJKrbB9bLXQ!;&!r}1{{|?n<}GQEzylPD`{Wn zlhDRl_V7K;uPt^0!x71Eh0{d=EMo7gPTqEHiD!g(Cx_B4--Yd^)>c1n6>|o@g;b$S zgn$sZfRp!(xROfDT(T+|#5#MB1%4VF%45{JN7BJxzB7LZGC+BxY2dDVxX4~2ED)fU zd?CeCa&JqJ&T0G^d9ffHsgiN+ehPWJDFk1xTQbB`frj$A+nrQZ9!x-XaaF5l?Su+e zoS=iXjm#ZeEFK4A%ms0D8t{|?M`tie_0fvTBoM{6s7Sz5Ol1xyq6Ls4*yme;P;E4h zCm51IB(Q&VAy1;#ZO5aw(>(VZ|KgYXl7ox@0){oN{`8j9S4FSlR0z&LRop8aEoOi$ z_J#RFe#8EWO0%c_Yg3gwbILdrhn&+lFJN09i9xO>?U@=wwJ-ruQcGO7YiE6kbE%8K?;6Kbs#M&wmfTIHwGMbTL!(+w}Q@$Kij;m3Lq$yuK91nj=zoTAi$1H^V}o z*x2tKK)#%}XYv)y36)?<=Y>>k`@N9~Rs5L)=8E;d?}+KlbVC0@&I#)Nd{c0VLz|6- zN+};hmy6%UJ-bq2JkTB;B;_TLL@x#L@iHO{*N!&fQn+0w}hSQxmup&rDZ z$=QEUvowEHAw{YA>8I|;h_OGnyJPeEc^(@JRLH9@X2G^%F*kl(s}Konk)!Yi+=97i zKpMaq=Tbp7#r7*lM##flE9y5%HXQC0`4!|Y1QzP#Oa7%f$3-FfDbSOT0Al{vSj?OM2#*a7+b zCPK+{9hD*L16_6rf4oioy}Ql;5^;ZMI8qG+et{b+OZ5joM5DvePb~==U%|HaW@rnp z6op{v{$)AVeug1c^f5jv{@+w0UuXQm9yl@C>bGd486y6%oqAoC^gBPw9=vBT1eM>8Bvx;!4H}X0Iui78)UuG5ZYs^_Yu>>H?r^;oe)R4fd1o9sNjCKo_|Ri? zD<6sB8OTw1W`6QLI?`~&tu`E+qMjHT31>is4exha7`694zJv}cn(ri9Cjp}JGdHZD ztR@+&&0@};CCl}!0Mgw_zSw^(@keUVaWsXNo!LkQ?L$r)=p;%PQ)D{BHqPEaMCKxE=4(7YQp^F;_nk1Kb~p?cdQ zzJ12}pMA3)SeNJ1EK-PtDv=O})w8Kh2$wDCYL)G7N^c~kJ7@%lV8{<-)XI*lo1rajs;cQxWcM9lE!{l&{&HML+_(tj z=6Z&;!UHXw7{oqwZab+p0`Tz=$0DBlpG3p|ATd|I^1yrtf=inLN1-)tP;^|7pa2T; zEhCI2_%cyYxh{@(R4!fiK7fG@yC%URrtj==o75UQ_`rXC2S|(Dv#c!}aAqXEFyw6% zH*o6*I__+9_rt0LMUQvle#v)W@tLmgbk@;5^8`*N-s#P2%rFk(1JXhAPwF%>IX#{_BXO-EK3#@|?Y}o&0Tqy&38ZryPYxjD%@AE z9f1-|U^=Boj3?We>?Nsk*t6a5e<6TuDMBhqq^y6O1-S}BrM{3mz1^dyE<&hkVHP>b z5sb!A6=LJ*fB8M>mH-KP<%kaEPoICz@$PJ{5HW6OA@LOAy$r?RHp(8*Xh&We!63g^ zk(QNAKW&sE6?pGG_#$4IE~14wM|=;m=K*_0&?TK`lfDDPsFT~-Z_o6f!x`WYmwymf z$OL~jsy4fxb$_#Bw$PJeCyqsJ4I1j#&RPhxQkDs-iXh%!-b9X3Z6AjTys2Ri_h?(% zgkDvvg)xGf~KA?+$Qy++;&CRHm9Q<&{soJZ(r%Yxeaj-hNmub63S- zVNBT#q%8c;_wDRCTadJEhJ*r9hu%qT=p=vOydpQ#9T|5BSF>TfVeRavn|GIp4JIv9 z3j&!gXz~UT9MC2z6rb;vHTG-I8UAaGxjX1Uz+lFeIoyEXVlwIw9kuL84ZaP23fxCH zM*#jUE6vJsOvdBYEg|Y`$-DnJrS9(QLYLoYUHeOyHv#k3UYqU694B{Po=s})%mIJV z_~@r3aeIG#I1zsM`1y?`^zm{5oAw$l&w16Hz$LRekj^N!jpjtyH+;(A zPEQU~Hkka1hM2u)`tWfF9bLVNrM{rTKSz+n0Q4P|Ki$qvz#ZZ=M?yQvsuU_ z?RLzG#Aa8CPc^lxCYoXLIKzKM`geqm5CB!AI@go%JYby#IQTO{f0A(~ULg0;)hozm z1wc;2C9d(lQB~*lirr&tpa$9A!FSTD7~{L31xIJuynPyFaOcE&CnLiJ9j+TJp9G`k zo!XE1RW)ZD(_4t|M-luxXwKfMGic2xI8*VgzDL?f@pcfqPh80*(ZYX!rMUFrp`mz; zsBBiYzrdUIQWt>B5>ipqf_j?{q_0IlNK-&boL!`cLF?4}wX=PCv_fw-^a)IP#3`BpjTnl}u@MruFMy9P~arKEtL>Wv2hDSwqDqi5rRmYdu4eoTY zpQ9!VYM{Va1d)O6Vss5gO$IEG#U9T_9R9t39ZypP)j?%Jy_|ohM#P&SiGnxHgXS>n zC)!@uwbx|OUZ0`#6ZmK%TFP`XJV~uRdcl!>qEX74DFX%EK+o6g$j;JN(Aig1^f-(E z7MAO*|8xc(qq^g3*|6Jbvf#%=4$tW{T)Iu8Ne)jfPu;kFj!!)HXgXlcszDg#Z9h~q z?#3No9V7ck_S%1^WZzG0>a=1yia_w#6ZpU)%?VyQBf(*r#OAg98L7JscN^aGX!R2m zpPVs9gpg9$Kf?X|5!xHup9{KkVn!;+XZ_myj){a8w4q9&{IV@gxSTts6GvPwrES%4 zcB9pew>>iUq}MLpf|Nd>sO3}BC99)kSjonkQ_w)7^)`Q6D4-P-4hul12?2tWITsiv zhIZ$jD1Ws!$=U{o{rWQjWYE|D03{i$9C`QV=&N$NcueP$p zsEP@vo}x8IBqx>>ZsCXI$TFRE@o0%l?L0R`T8b6PAK5A20k`7qt0-r4R_S(sUs~%J z)gj?jL-K#AVbDEd_-25Vt$uT_@D@1Y+^raMwrZOq}0K6$Zv_`Iw>%vUtY-u%G;5y#p~>p zw0tbpT9lW%yQG0kzZMxn;(o}6k()?#yZN7hyD487ztZRqxK0Ro7jOTnvU~fNaiZ}f z$^3un3aNY$?G_zgZ~DgoyAu`QA8N{r>a5w1_qj9F_E$M0VSjQV=jsv1k#f*O@7D;7 za(oj{lUkVqTmdyZ3c5m=rox?*B&~rlgfG=))ukqiT9FAkc6D@0P%kcs)WI@)NUL7@ zZf5V%hoAeBrBY(VV}iJdt8Cr`39zlSQha|8($2FloAUic`u^2(z%m{|!qi%yDl<=t zI+T5<8=G}W{D$KD1ACdi6ZZGd*%G!gA`ub~`3uIHf1H=*m)Ziayc4UOyUrKdXXr%e zJBhYQ6nZWlA1`{ELU^1dH)H{nb9b07={#XWV%pdYlq7~{{7~!X%q$DO3Hp;iWdwg_ zqZn>~la(Z*GcblBA10QAq78^rR$rLViO@vvuXGem-n@I`*W$;(=;Txnl*s!Qo)?7( zaMWE8=lF0xZF|c{(h1kGyVAb9zXttxdv`wlnuBR!ZaunwgqCiKkXH&0wcAV>fJ^kG zM5eT=HtoH)Br&**5}b?36sRy3Sij^+{6j1-%tDIxTn<=exl5 zgyQu$+_;cNG__Jt`tYcY;Cwcu|!3TLY?pwr^kp0j<5AaX)%u;`@gL!NZ zD^M_wt^CYVQG}rHC5l0Y<1E_=D~&Fnmvse2op)IgHbSc??=~ntTJXBHy5AUHLW6%^ z$T20@fX}W+MmQg0Uch?p?)}<$XvcnS%wH~lMriJ$iy_$lKx$1F4XdzG@}d;~QQ*U_ zwOyUXz?vKC+Sbj2;_iCkyjy>-T-_yxAuziLKme{bUBz=hVzk$rC!puu3ET^V`;Z1x zBCWbck5GMmWO~Wl{d?ht!P9#c?oBBS`DWh|sd%*U)SYTda7U0kn|;Cw;YpwP9B!N! zO9`ReG8PT`!ZYzwCr>W?{ot_l=>x02Sh4#JyTl6}-zU}30!WKbLH2)y&?U7Ck#N!n zM!2{oITQQl!C2{h7vcl?uvjr!iz4?6;IXK(a=YF;wy$~4T!+y|QzcEY+<}l9F z=*Cx_cI8iXpM51gpm)*Gd|`A!kRHx#vljDsLR3YAeG*S8qI~tP+LzwHy+@eectkbphY?5wx?&O^max*w(LOc^W{)Z zPH;!S3$ND*22(DGnU_e20(4HzStvnDAL>46IGIrSCT-|phfRME4sdipx5Eg}3wAQ{ z{w=g<(O3kxanXTsin&b3uj`CEy}l43ZhR|prSMLgM*6fMLCd0N?t?t!f`sIDMh{95 zc2)m#{ihr!K;zv zs)hy`EB-;gS<3r3K*CD2^QMe&jhhzG02h(e;x~cJcZ)YF`X)s;z|huI^H`yrn%@;L zH!*9aF$u4t_Sgh%lJY0M@dDJWx!2OduVr)G{UTnqcHe*9VcOKwVftRzGu`$@5>TNQ z9YHw4MDBDA|Cag$fh6``Qc6L=XNC$7&Ph^YCQ4>q`F#gC%S`=psYS_nB+ggx-=KX8 z!aaytRGXDakRm#KmrN&LW8-3_^4S;_8dcuVw<@$>xCmtrfE8|LDL%ts z2#oMU{f&Q#F~X6pvTuLbGzo2&xN~%k<)EPZZuErcNq>dhl*k8d%Z6htespvlm!j6@ z5FkxeDCKna7=+6=J2PnYPrp(dRP|#)U|%d?jlLhgzIc;5-!Ep_z*T#)Kt;&o4ydtA zna*i=byUsp#Ro>IIJ^gnuMpgA(Rmi%!P3HRT&aJqji{&w-u}gA>c`G$NwQ^Fj9~cc zsdVr5aZ^-{Gm{+tW9{ikw+N#8oNQB@h2weY?*0lDEDh;K8myJ;{(@Ib#DB8`hu0?u zr5YW3(lv%Xf7Dd6z-O4XKR_ARb{5TfU4y}Q2TukxEfZf@hN*KWGrW0_Y~zr*XSk=d zrjLJy$*j1P*)+yVMEi~XG?z_aN(+~S+_1FpxfYPJS6ThBhoafGZ1$ctQtu5$~XR_|#9xm}h+p zuO&!X_>{dQnrO@m_0g|$iIGv-CoFP*W9s*ZUTwiEBJa)`6VjG)N>E8ncF=4_?LL1H z(-@+98!9|wxIwzqaVIwNg=Mol`#gbK4Owe(Kd4HUGM!7U67KY`g@}uJ@=In!$J6>x zA|TIJ@A>^nI_Vd?k-;g;r;!rN2^s^{4*IW+4XFblEzm$JSrGDFX>sYwPo`i!;{O*g zKhAc|x_edo5Y3OmP0ec*+tzDG{S}M< zB?(EHPEg_m_FgHd;y8g5{kc6DQbqmscq{{=AP3a($Cr5@v@3Tb-#!TXP&0pkc#+@u z_dZ}3NW_lLl+jcqCgNcg<*OZP9IhnQbbr6K+)@hW-yTn0H=Smheo9N*<2{ zXrW=2HcAo@P|wKwJMHXR{YeL0e;PMkU%vyA=8osTPkbu?HLAXyAq(-Vu6RJ>5;~oE zUr7t&^X#No6{vVf)DgDk%}aj}!fnn+%vrpCH__IyhH~7s_|9IK`s@8+rP2rTw_n_W zAx+IvsK}g60#)5fUndJ-1?m?qd|bw6Ct4C->JM9{J(zWv5)E!>OKbm{H_-i#+jQw= z7sy8&i9yG#c@wcK$V;;2tEEmq$osW6`fJ;__)Y%wNe6M^rWW;U_VRx+fSDf}IWob+I>}^^@%Ohj}P5B0BPbVeBux+@2+-TG+ML?3^Jn zd1odKUzV%z7}DGkWZ%dXA0aFHmm>#n&By;M=D+Uk2AJb9hXrGSsjIiV3~ifV_^d$s z-$W5bzuFscxh4N&n=*fNy5;0nZ(&b9J2%6H3M7CoLf`(k6V0T!n}X!c*lW!88SOWK zS~Nf{8w`$g%;e`24DKK0U4?7!SX*~~j%|;B^mAE9b*?KYb|VVzj{a@jBDjEH)E zEC%+mfJD+VPA5f$6%oSKLWm9?jw4C?;T?(aOq6A%4(dB^sI-5TYv)^F;kfImK+@Ir zf_z8pC|{+LQdBUsu4ae5d#6S)D6z+79gyWYFEVSHW35!vqkX{^=Ff8B9}1lwb}f@! zYrPZ+?{St1ehJ$W#$`Ri;MnJJ-7YI56D<^O{u$HYUxNvJpQ=muC?tbkeYg4q# zde)ZDz5HI^T`HS+S>)K#%5<621e?grq6W92Irq>NWDt$-@_?%)Cor6CO7NGK;XLVK zd;VIdIg{I$B2gPQt=qM;AsCz<{7!@pe0bXK;(lmCcQAj|wCa&8*U%!`!0QOqudm+1 z>iDX(Ea3s?bw>g?21i|{BM-Zp5Q_@_n^%zMy)!x}l~aCbz%=e!{|dInY_f33o!)oS z2Sc_KzC86&l~1R>qLE6_$hG+>g#{2Eh%cfkwb`NEHRhbg4ujLFui@2iz;yR+-Cm6>uUE) z@7-BuEtQum=+>>zV7h|LR^_fLODqw`z}%KY>~(O2ldkon=)!Wt_F_eK-{!W9*>P9D zt6Ni)rP>9LXK$EYD`VO01aVmqMWVUL=sT%Y9VdT8Z@+%yYGv$lPO{tyLzeq!OJZP2 zsc{=oUzE_;ohfV0Eea7_6a@y}V zi7G2QiFOFT1m8Q#Re3~ZEYNVG|}>0Oc?sJ>_)8PaR#9$L7Y_%k@{Y2?ml z%D8{)sy{4Vf6XSDCZ%*n)_Q0FP!uqZ!HIL|w)C6!vg_Mr(P)@6(GL2vNuq;d3|+iF z=9u<=n90d4ZnZrPX@>IE@ABMJ7boJ#F+JWIW-rLCe8<{hjfa%N+Eyt#X1s@vs7j4- z_;+GaNhp9lvLT&o6x|Yj1%{O$<81SarL}*ZQ*T8u=#KYYjgW``o?H(c*?RBxW=R>H z)mN#=cA1h+ZHU@6Q1m#;1{FNv_~i&4n&LpE=?qM%$@C(B@ig?Mqofk#FQ4Rp1>O2i>drd>Pd2UdcKNiJjn_*$o$%}5c5_^*RrxgXTb=U-PrP86jnY2s-L(~;bY2GG>>vl4$biYtca{E%}bF7dCjN3U(y-7;>A78Co34`>yL1`wO zRhM^j^0)>qI68$!TRv8m_zY~m-i4U z*FK8Nw~6jO^CHDu3Y#9(fi1Fe)LJNJBUd{O%&E;pvb^`jGi*B96t#JGH zPvf3+D2MMvZd4zs0TkT+7OLc>N4gDV`rLdSyB(g}%T5~-ozP+Bm6D}bexv>OeQ!nN zSW7|rWPgG@>+|}FN>odc#0@8vgL@->1g|EugoO68%2;D>5X?9B<9~kyVA)cpqpRaM zYSz8*a?F6`exX?vhoEfvPQ3YQ2q21;X3vxFKNNX9s{%i_FpB+7@%iuDVH$za4J3wV z{5Zr6rW8iwdp=mNcuf43K4t6PH=6u)LA`DXctS?%dTuTfvzPIwbc%%e^B&r^M%6LnzXJTYjpiEg>|v??MIhae<m?G>mYp3(NXzrs}(CK6_JbTX1VqvUJ+kgW3{* z&f+%uYqtanHO-+w+&O=N7;;ta^EX=OH1ye6)m47-oiN_H~c4zL)&O#J9d=<3%8JkjFsrfrd!@7 z1-iS3fV*SHhhJx5-j^jm?7wXfl#CPnH0iP52RnTbbcqGt>SU7a{C-A@=1rx$M4$ zZNdUq_w`rbO^zh5OYf(POS8y5M~M~WaV|uA1J;qhM&d7rH1_!YL`Wb;XR&5fz~Esl z+X!!#0P^joNeY$kb-}BCfhB2fgTfufGg*VeBBe_YcyE8TaGhtQ3)D;Rn_bG`-|EG( z;Rr{3+nQ!(xL0|;C!r#XHw@9gV%(3nUm-z*efo78|0(8^xR~4!hESf5QPqhFhF?O` zr|acD>s9acGF&U)c`v6sW@Czy)vSGY&mXPaXXn0>iFz7kzMa!BEyyj-(NZI3C`WR8 zv%nXGDb9aLPyupa`q?fw*+I(HuXk$X||$%Vi_U+-5Z0TnoBviq0Dyd#Dl^H z^5RE>!sff?(j}?7JVq_bixsD}(QV92~txBoLU^uodc^Msb zAUvV8(*Mz>?lf;g5&s=A*>dcBY|5GzRauTfUqfKi|9uN^?9?qfCEcVUNACXEaCRzw z_K`QmZ1T~1F4qSX`ghc6=rj2Mw?y;RZp2L-%CL6U7K7t$p7_wavvQvk{lTo@AkNFQ zL>GUKf!&^MF8tkNib5~lCaaQr=2}v@&K(unyMpY}*)N$N_}bA|x6na|jqbPo4W-nc zv(xNW7(&&EcjJH5a{GR^-KcF`X0*YLL4{8|iI-K?y%$`nV3v6%JSB&nubo&PjiI`x zw3`!}ccwqFH)=Ogo4KRAQ`Y-$riFrmn6iI`xqs?GD{^FWJy&@|5>vUUHH3m*B6SHa zhL<2Stlp7}=(*Y2ban*w6=btWvR*9eL}wa0E4-kKh6VbqhTTSeYmAi0c9eGxQ7mk4 zw#Tx*C0l_$R+;_&d&4)z4vvj}`#ST5a9jkJj~I44Wtv}V#t4SY^M)I>WV8m-27G@A z$w-W9%kl5;Eue94fEac?b0BP;3FO0CKyIayFd0X3c@6=}&ZqRZ?UMg9{_F8e5<7RN zRNKqoMM!t7@)~FEpkeCtJ?DXTd+|K1ag8a;a)S40+JS5>XSk^=&M(VLRETphJiXL={!a6Qr27Syn25=^M$A=CAK0Jp)Uk5j8!Y9=ON34@cwEwYbb?~ z$$LHY7ygqTJve&1NNt1K@=h}ovT%oJZmn>W_(gc?AU@obBbTWL?AtIC;b+L~pSTYiqqHVhr_9#6|nd{p2(wq??5IdQBY*226} z^UZc(P8sN+X%jz8q%okCev{@-+*Lf3NFx;a3yS|a*hbT^Gxqn(+XM2p==Qd1emq8Y zeqv3rsC{apf@8z~8e;s6hw6XflxS6yM>HZ~H}-pbutW3R3at-vLQN?^L`8}|RWTrQ)FjS8GwTEATJ<=6Bm}in0 zA*b;pY82%AUr*@U45stevRyHk*Hj`y>ggY+K_d z)*?Y6d`o3^A7o+5ZsRvGeoTM+FK-u@tA$P-$$HJHai;Z#W4A;Kl)HK?X zzEFU8f2+3ST{il<&Eu%ViI46D+fk32wc(XZkKs4WGGkli(zgO95PyCO+CPZ_b1%u#4kuDOYa1Yr*WQAPlPN!<4+g4Xw<`gp}Pp~s>%$0 zP`P` z#R~b$;rUDVj`{OjT3)b;n^dL5oB`U;->v7$Y~3qRdw)gtP=SAqWJ?a~vvQWrUn6E} z*CH69TX`w5XvA9l04eTEMaY4P5Rj9xNU$IGd1qKMl{|&Ru9NihS!Qy*|C~!{cU&qV zb{K5YtKz}oBlznR1pupO%`pUZ)`Y|GCzCDXw?Ix|KQ=yVaj%55NnheBNlgCZA7rM5J&#MPGxUlK z-#qi`tSb@x*sins_vink;i`k;Zh|cC4#9PCcXwZcEv_NK-61%^-4;oLv#_{pfCP6E zG`I!V;1C>c`R?vNYO7|Z=e^gjyQ_W-h3?hZqII?f2cS6Gk|R`0{h70-CQnpai&}xN2M=Em9p)0>G@eR5}2JnJSBSs>dYWZi}+CPA>=<( zn<>iR1T0k;IA~nC3QHRWenU#_&C?UjJvVKAVqt$0eAD&s5~n(ZUN6Tu1KD9py|=_y z`<6sy5(STa7ZozC0_7LV_7N*J!LIU3C9iCL9TqJt!(%33jih>h!CQX1g`eKmr3WM+ z2Kt^*7#=WTi8;+NIv1P3ySLWUtzSI1rJnkrcqbaOEPp2c5s*CmIUTc1-dkvY;HnR! zTT_3%D+WM@tB;LH-iwlV{y~SqWCFO$i{q%T{St*QMjIaiiMaUoIj<_S+VLpPoZAO$ zT{YyNhqHY~a{*8(M7}S?xGvOISHvXS8oshw+7f(;FzRlD%GT@TlyDM%(8jwKYA^Ji zT-IL@_jk2rU%j~uVVDmI-Ry8^*`@jLG)#Xe9?o--!#qIgp?21qF%&Qs;>WhPmcK>& z&0NZkNKI+$h)D9?UYk!v-567>RfGDyD;TRm~ ze~`r4C+ZkBVX+tjM(gVz)ha3Tqcl;v(WOx_5;^BuHm)q*;a*Fewx)ep+>+7#CrbyO*K}_$+Nsiu!_{sL+GsS;d8Rozn z-sMP{BTm@eqONB773rnV3iUg*jV#~{M@hd!)x5kY=%q*7R#uAP~Cn|OFe;$8I z7ypVy^ffZWme7%$^}~WBGyIZ}+cG8|VCUZGFhct=7GNw4x*mB)glT^rMLchl;A2%o zQb`yGowxhRK7obk09ihZ7V=`!uwVYsh&q%gPHxHNjt5DTgx@rN6CYUtfg97~(KKxe_G_M4l*A5(&JP`XPX5*6_MUnopRU^mM)(@vRO(@5YWrs%LyIE|1slg4a<-d5{MrReUkWcDZSH6ShZ%Hi-0%T^S zV4a*K?T7z7gxP-~OX&1Ul)f#LI&;5oq8Z*=_y~eSU@0?EGZzLpK!uQ_2$;hQohc~C z@8+)AFsPn!R%(6xU}u%9v?2?p{F(xDuvA$;wbWZ*2fW;CN%~A%oOR!Q6lxZ+n*w#Y(~;qqYm;h&Lu zOQls)@X=w zYcIlsL#Oa7mJb!2(}YAL@G+A-1zebLs7~v#NsJCL+adg^6r{m5v!$z0;1Qkqdb?V3Dw%0!4rUv1nwWOy>)wzY?Ej6wVf{Qt2V` z%&E8Fm<=u`ZnyZdl>OHt9hT!dg#phR2=Lz!DHh@(tk~R^(WlB!09|N%e=kgUr$QeF zNr!*Z1h%ZG8s()Sn{6ZL#lrvmL$$?^HNk&F@ySqT!muUI>Bf%zFZ-d^J9=xU%IRr4`)eDB1M{rC%*~SUXpz^|t)A)^hY&V>TJI zTKAHnF&nv~TAr)N8{v^Jx0v+_bSYX26tjPV!lce)GaJa4&9utmymoG_)DY2&n9V!r z4!2$lD`egx^DFz$v|7xO4U*084jSz3+r)NTYuvx-1Vu?1cg{84j>#D0j$obqai@+J|^jDZgsLl)X(M!IRB2w=jSA zW9#>S&C`+S3@K`XnBHl?D4cWau|Q7@iw~qf^|aWZqbF3-5J5x6t6Ecc}(cQ42_{Qte3Kzw*t44NzY_vZ`1o~*n+s5=IhDtyuM0X);< z)??ykV?bikq!;w{AsHr;NEdN+@QHsPhIP0Iw(GV7Uk{h8y#O( zXtmYS<^hV+1WP<{qs{pO;V>#eOsO51P~VCyOG*>$p+s`O=`Cvn!Ih6$y}5ts*JYlx zg+SwO0jv*H4WdzqxD>t!rDgwRYR<+jbrxBYEh%l~#%5w1^xTSWWk z$Cj7UG@i0a)E3#jdYhP}DTRNW-#9kFwJawC3jDZ5)QwAyVrUuTk5@lI&<#0vW#&(X zY23BWPQ>N5O-#D(S}*#`pV-P4p*x%slU2GX_~-)nHuYW5YNXRTdUoJtQiiCEx@Oc? z5Y>Y5_hW%ban?WGUX|?I5h{IfKY{8u=-4+8_+2SoTS@KkhwTEkf9MSR2JQsJy`<_>wv#r2p~{8|5;w#$|}IBq{k_XQ1I zi(g4lrxA|wy5bqhCjN1X1T5xwPV#h<-tho*cE6MYdwXgtKYS zE_a8#W!8M%@tQo?czu5%RIn9-2~2%^_=hMzl2H!&O-m0kI0r?XAV)d%Ng8g{30$BT~LT3>Z{JMSPI1U0Oz|upqxu~uD(nY6}o`A7t_!l~qt0t;8Pz|Va>G(~Y z75273APPCk6#|8C?-1TMd8b$g�}-oQ+moE4ROUVpp=X%;|q$EJbtXI=<*Iuoswj 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%0DE!#xnnryNf>gkypx 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≺-wQ} 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 AMgRZ+ From b8372d98d932d93fb2c03f20c90ef56457d379e9 Mon Sep 17 00:00:00 2001 From: Geert Jan Bex Date: Tue, 1 Sep 2026 17:39:44 +0200 Subject: [PATCH 23/33] Add slides on communication patterns --- parallelism_selection.pptx | Bin 270906 -> 280764 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/parallelism_selection.pptx b/parallelism_selection.pptx index e07f3a8afbb436ba620b626ae2bb85b64f8efdd5..7fd3f7ba1302e91e530b658a85e0ceb333db2aa9 100644 GIT binary patch delta 20923 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≠$vx`&-u) zs`tL6rcNP=q0p^S)=MJ6PMUttg@3?GNYesHO9{b=>5&89xP{|-=~-J%Of~7dz|%ie z;^$sD(G^Oj^7Th13Ya~!-klGAcz9%4hD=~sz?@0_*lq&2cXvEzWY4t`nZ6j-U7GR8 zByGAJmOG?AdUgIEy`H?VA2=1^5Ea^@f!-83=aM3mgrg#u33GG#iklC{4`7ihbdg@5 zf@uwXFxTP0($FN@P*)6-oe;obXWX(X?p~;uDmop9#kq{Sc>z>fWLF+cjBdcH`?Mkk z&_wraEd%hyB0)WY{Fsuo74{+m>_!{)RdqH|`n#U$Vrj0CvHF1+V_1eiPQr`=gZjNx zT!l`IfN?nN+)H75|L;UytPan+IKm0l`XIb@B7&$7d3fhta!?-LU zH2QGRmEpdKsLZKNey5vttrrc=oDL95QF3+B&&?ixDKApk0Y4CrR?#~LaW{E~+7$0@ znAJ9Sd8i+Ui1`~Xnjn(m<{T{Ij;{se;NE#98mh?7>nv>YP{siNDD>#4^^YoC{L&7m z*BZPw&Bcb?O1FFeSGZ^?87F|C_e`RlvlsY>r-xr^#;?`fLm_3hS&gxNj&2~xj;)^6 zxJ>u!M@Y7<#ga$5STu^Je!v~d9z>V@R9tNjmT!QC3;EM%66ez}r{Uk3CWR`j_a&lG z&8OS?s>z_^e&EyLMP3GbT_mS>v4QE&JqAf%RE!jY%?jpJu!hW61_aDV#e9WC8)}mYVDPD@jcj*#(dB{>n zGIP82v~tP{I9jbN2YDo+o@+Sf!KXLcKOk@X2wuR~{c*sJ#d=XglGyfG?ENZ3f<#hj zCN5jw({LamAT9^Ne4s=xxSV}Ima_ME++P{nn(5;x)ct4F9S;8GHrNCA|G}di^Nck^ z7Z`|Rr&`{XPSzbBAiMG&_Zgn`3HeJ{gD*!--aSr#2pPVu$oKJG-zfJ8w z$QHol&wv|C1bSy5A>XgxK&s|YH~0=!A$`7T%!_^~2XWH95rfv9376J7C{MB<+(u*>}>kbtA6@u4ItUVZdogLqh1MJ~9MdPHU)ONyz!*jG&XU6Ca z40>%1orTzO{7&%r*D*W#iru6CJw6BeV`x5)1%-n$Cn9@}9Z}DeCb*MTJq~*Hsq5$V zXN4mA?71*E0c^-SDS;q6u8rl24Ff*!R2*d%#$@7vQ(E@8;T&vzB4pyrM`@(aA7YF2)4N5q*H{gAT&t=i196!L7AqSiQ2nqPDvMfMBn0Yu}L_&FwJMY^=;- z`cheG66O{m&~Ez0AvbF10}$N|!0NlIs1YF&9w}iD#dXWYpe14?VbG}SiT#X_Houc5 zCxsD&hC-m#Sc>-#21BBp$8Wx1TONx+WX;8R4d(qaxk@=q{hx)Acz=~nMwXFB)EjF* zL4%B6Y(unEE}_X6IW@`BAJUf=b=-d(-w9;ahT-h)cNB#vrJ3=imWHI*Jr@=spbmX6 z{7xS*W1BfotfGqvW%biPF<$=_7ih@NHj&miNd-ctBbxeR*dhh4#Ucd}I)ipxzVV1I z100L9YW7C-hchugu@S+nse7a7dUKG!pZFQ= zexIK0D`*_DA$T06&6f31uvqZxl*oC!<#yxM@a34PHiLaV)l%!QhqFzDz+(HR76GDB zLV{xA@j&mTkT6auV-ZH>dkRr%?)QLh(lFW-q8waqwc-kN%azOBlM|J$T>_<6sN?vt zk^JQjzq$0?|h7^9Y3z5t{L7PPG7gOF|jaGi2hx7KjcRz9Zf?GLm`;ohHj)7 z|GS;-#bEj~@=1;8o{GQJf7n%Hoqc#;JFk@xV6uw>m$*^ql7|G=cj&lk>Nm6vmzrq{96qM zH&(=5w~df-Y+n)7&e}61)m4a6_^FyEQ)&AfHdMc!sQQv~0>U%(Kr12Tkim-P5C<~D z=Yz2B{HHvYLse_oA5eo1p=%Kq^1s(|E}isq$F2YEhl7`-Vm=^61Ouy%_+QGCy)NWm zCpfsgL!H#8D;#8SwzLkY3l=~K;Aq-_1yqBBkJ~pzBLK8u;U~rv*Y3YEo+@tt^Wr~rDfO?|`wdnht3ky@)ih4UT{65(2s2GZZ7UQIo zPXp3)<)shp^KGdzscw-fLYu91b$>P5drFYIzSL#Ui zOfJe#EXocS*V%MzImYeKkB51`h9QK~Z)=fEZ7I5_Ds4Rmh{VX*Lz1R%nk&NDI&c2V z*1ZG{X5~80@E>PKK6Y0m)5(Cto!mH8bk+6QiPm$hH>ETz6?QV#(tKXNedV-0? z2*vkL){DRK#MQM|D)G!-Tl`fvv?+TqEg0I-+j!(0wFcpZ3h-~nipsR68AdQwSy1Ij z(g;;+e6%xg>eyCxe%WTAZLu$mFQOQ{?Vl6zs~KUHC0>nIux@oJtkDlfdeLRJ1j|ES z<2!MGp-$qZ-|ggclnL}_JitImeJRYo*0Z4cz=7=D%0@TFMEib{ZgkniEbP$*WU!K- z2JGeZSQKWhd8btGqs@1+#vCnt>dgpr9i?PX3}D0RCRNX>3uKgu6e-HiB+AaH&Q2uz zyAgXLJJ*W*yzI{rlo8)Bue+thPM#qx1*Kpih@lGh&@*4Mzl+>}9ZMHLVBiL*rk@_e z2#3kSPzyrzaz{Q0g8caa(lQDT?43rC;jj}|F~BFS4L6ni$?mNt3z43Y8|X;VGh~BA z9tZKdBrY#CH;_}6-6pj|n(EdNn&5giN|9~o!E;&O-Rmd8_{V>Di#F*n1I)qUw<5XT z8USEm5ok?AtN=#9S1*2K15f~=)%X;!LWYN$|Gv#xK7}s~oVJz33utTMX0WhG>wxoe zNfeAlbl4GH{h)U;JP}=x6dOd|UbgY_sq+lfeQ_MVC|#r=33ta`^V-^Uxx6K0A4QT! z;N@SzTcajUYTU0F6;g-OFFg6ZW{=!>ejvXnF?ikzd$mQN`>bSNx1kB-;ZOco2e_ze z4{B?r{Z6jl2$@y0cgw{~_}ezZC23Q9G>iyhF9FIND#ukTRk!AX&cA z%1IDvD67D(FOM7&`+|k>#@p=m7`#eTEw2R{@u(X{>vn|NJZM*qPcw0sX1zEz{&LdK z46>3a9!Gp&E%nYmKvh?TRY#EFz?ZFOB421{obmF*Szvy|^fi!&w>X+6hPrwe)A?wM zCn+z@hKM6rZ$lxp>J_1PiCLLt(Z(o5x%KwpM zpn#u(F22N|FL5^AwrPru!HRe85cT{_2q8 zkKtdeEmb4o9h-y@KFGb^=WKkmkDrFu{vO8C-3TCcpMfD_XwNd_Qp(Q%?vqXy{|5o? z{B0;?BlZWqn@nMhxCVUqpOS=o+lc1BSQv!pP8WzQOxiXnQt{J%+tP(UQ!7TA5RbLw z-LA1jZhJhk6+z-alOYq>D8t-0{m`)tbjic*5^$Dib$YA!jDPH{6_w)5PZF!27(3e1 zo67J9iIWPQcs9U^@zbk!%>V58Zi@Z}js}P)fP)WVVgYYrVu5J(02$apz=ImUf4x)> zI|!5}^iqfjq5le-O3}gL@jy4l5HFy0^smmL%nnZ6G{*q04*}vKfkbUeI)#ve0F|6T zY{31WHqJZ{s;-aYGxuKGjAdlTXpAju$c&|wN+L-pN+Ag$Ng2_ur%~c9?Rhv)i;^N) z(xPNbrBYFu(xRx85>G-RTfFDandi~tdBz{t=lfgkxp&T-dw$0;X33Q)-{GU}L*b`3 zT#G9FvbZ7ogB3#v9qWvY?<o*&Y{G)|izhy}!Caq}Zw@lmbHB@fH%9QOZdVG1k!;r-!%M&?Aa?RBhyofo*lvrc+`FGNv~*$kK;%MLic?~zZja-HDrQ$g?c zjMUo^XBb)5Rlh$L{n7AdnQ`6i_`G|WQeK;!vqJQ}6z~6t*wLV^#5xom<{bU8(!{j% z;=3k)PnBl5>Y|F+Zats1CPh8YXP+yi=W?3YY*N1fOGIiA8w$DC_z&oqWEwww;FEJ!jl z3F7Kd6_QIAWS#j_cp#=CZ&Q=%%rqxo7dOxE-uKgYq+2j6sJ70{F>4&AuG#9a@4CgU z?FVxrOYKwim$W+ZyLd#u$hrMY4wt)r#*i}S}(XY*Le>paFQ~H9)2c@ykG<=?KpQGz(m+PdiZ}@Hku;H$6 zE_^ZBqC+)kPkP3CxstE0X$7USrFH&uEA6HXUe2g$%i#}AkqLiwFw@$lw$bVOO2@jJDx1(oeN&H`*DHVAed%^Vy|^lu)(==O=uF?#W_si9o}!q`D=NC4Qh)25cr}$i zKf5i+VnCfj86L(du*mFUulCR*G0LfJ0dh$S zz^v}e5c&i?>{ar`zs?p>*zdgWax0PpvwWS_U8>#`ey-3UU%_I(&i}A8mnVO{-CJ$L zk1w0zZo&@Msh?TlR-o*=Mc_zJ38@<&GqJU+vNybE$isgk^HOUfp6+~iw~CpJjdj3p zuAjD6$VC*I#Ht6(8(SP)RA2lqBtN-RCp=q}ogN*yqM^F{{#?6BQ);|Aei8y#X_c3T zy*&4aYA<)UdbBvW6;w6V)^t+tVM5EOFQ+_G%FZ_5VTvMZHFk=O_P%$l*Zrx}a`)|` zt2up_1J}|z=2zOb?3-g%8o642WomE#Mv*@_(2cWcBi~2^E_CA_v=)Lw@sA2w9nAxQ zKXDci^xzzfE(`Yb;4`ta@<}xcY>?20Gm$OZ3DF1*S+2epGdCcPjKpt1y zf>-3x&^gI{E*pI8!5LsyFHD)>4FY(H=8FcOO2U+xqv``q2(Wl}UMb)PM<%U~oq^*NpaR zc?!1m<33#yYU=Vj?f6Zu*DV<5}pVWZn0L~!D zoiku)09VD{4uZJ@@T$nIG7DgN_|$iFTqzI@;7o980B1>wx6Od|ew>BbtAHmkkSqSH z2n>7_I66>K6TJJ08}UYJ*3lkSMpQ~<agIDXmqduB58ufCo9<>Fzt->ql0uN z{zuS6(Aa}Bc_T&c=qOja|A+#I;FSQ|LD)amxd19osDY?K+zLx{MR0?JG&cl_KOtP5 zhhQlQ)$6F%*i{Kk^+~3~mhJF4!I)T8CZsdBrbu3UVpKW+(Aslx&x5WZU&VO z+%*V>IOJO(Quo8GVxfIG5(;sN@FfTdrkF%%2}XkRG%7vW4^HdiaCq)dA*4DMq|SoZ zBfcwe9?!vsR*?^s$aG6+JcQsB8XVT|pHLyD#hG;d5m5Ke;M zZUomzn7$W*lq`gr0|-uTfLV%rVW$a|g^jaKB4rJbM*6g-kl>2dA3@?YIVj#gjv$c) zrJG!wx(5)#iLxJAOEJOm6ngekCgp~F-7Tm}c|gf~XL0$S*V8 z-IvAk&?%x4!Hn~;t=aPMikDO)70sd4bXt)E0fs3wG zP1tmThbu{oNf%VYksd@d2oC;A4uhi&RS&p-grE5`24RfT>0(J2#D0REc`gff9au&Z zpnVKXs4OorhAIa$J zmdt)>*-UM*qzg(0;JdY&4Rg)Wkw~R%ICRY)2i9^4U7)H)SmI&25|cm;4g&%`(licK zl8~s6Kx-_73G#?QfguM%&v*nv5|m94ydc5U zlmuPCSBEfX0)pKn1e+mfki%%;i#j}$j0Ws$u{%y3bG z1ICb}cdZ3d;JN}Vh2a2Akn0L5TtXG=v_vMjy1*gG1qHFHI1#D6P?aK=6P^MpmtbKg zlaTJA30vo6O~N=(J_cqLkIPP4us1B9i~(D7Y#fl6hYe04rMRgW@VCNP;GP!z1P|GQ z?^=YN+R=5m_$j|8BseUP7q%uaG{nj*G9naYY7@qqdKdm>wIHqTE>vs+1*EB99EFj` zUtK#6-f0s0V5v5tj>!=z=kN)jjQ&>xKG6s;P79i0@z25GC;=Ah5Yyxbl?ZVQBBMg0 zfxixX#=sQ;#xH5FDHDLDL+Ba*y+{D39`Hf_%PV;dK?xQFxkm{iqj`amk>Ux5BUwO% s!L`P0_$7D%qJT6Kn^HhPT96bZ1f-D$r9nZE?huf> z&v(B6_j7&su65U4>z=a~v!7?)cjld$vuDpUduT}}YW_?}sjmftlcL>1!$dBIXjZ1qmbfcuwdD8;!lR=XM&fXJYB!1(~@t5-fMJDx%MI>NW>n zQfoB$rai2YZivk06nlN3PIxn2vi9rD$oH}ylGN4$C3Y>PKe!uBY=WLpRSZq%hvc1_sEJ(1IoB@5hd>m8dR zKfX8D_y5Sm&nxRjycx>Zzi58U)Gugmc`dH(YA|qphc-eeE&GZ+&W|EgV!5sVR?~>x z?AWuF0Bl7~-TkbbWjx7_``%A+yr257!hu!zUO(1(Dt)*WnPe-kcaY`kacAGJwB!jb zmg28!x&jF~R&<6ze%k7z!sF%kngt1W%>|#x3sDBNvq#JqBQj?Dw$xlmI^F$V=n*~C zJSTa!EO)>K-MW%E&OO%}E0Sy~I5+NyUocs|uD~cAX=ZDSsk}G05I;uH>8z4_*`#f& z0_!DJQ}xoe&Elsu%;3lEC4I}+CG`B)1V~YfgOo0QFKOQebAC_BYWTbmv1{Bt`aVS# z5dI9eK!|}jh`#Ry5^sdhOA*K19m9~rs#Xo8;a0#g%l5PWoaE_FJ}J zmBjE3G$kLGwDt_n3~M~Jgit_gsW9csuw_K%gLJUa&}b}D#(F6Ld3rc{E!`v~7Gx(y zY(WVgc>HcDC3t}@#jE93ZSI0DCge0_cTE|)zqOO`J2n~`W)A2^S8MjO3>#XPn*u*j z#vbsCQ1Zq>Lu<=PflSiXdK^gN2;s>S@b{T9Sn0*lUp&TA40nyfdBoN7U>jDdTjiLo z*xo_82o!UV>2d#BXJsb%u!{f=tRZA@(FlZ3l)-R+{T1dLm>u@uW%r>7}zm^ zwOQ$402{U`1_$(rEzda#;+xP<*91@H8Qj_!W^^bf%kSF=U}cd6uy z3YGZ1FQ*o?I;C@0`(+DnP1l&CNn&Ww^;!G%2bq$i7Z~-izY&a*v|qBE0tM;6{^GsQ zdQ$G4NtPteSFSq#X=F24ru1dv{*5gabE1*? zYmw2TATjIdtt!5~!+OWGsr}4`(|G>YTLa@0!QWq>9EPMh@*7*Ul%^LCrj&h=YnCW& zxq$b$t&;UaBOT2}c7=c2?TmbXqZ8L&656KAj*5`o|_Yx8&SCz|0_T%;9>-`gz$wBLZEW2%$zHRbw*i(-pQ z{>ysGkn}yi;k=a;nLD-SnR<+0Fb2@gqA7ojGB3TPB#IXrHzHyUc^Km6;v5$o#E(Y! z3?bxW30+}1J~+3<-k2TlSI*U_MDJvZO?HfAwAPHEWMe(f)N?G9PZV1SH|Nb$=F>W1 z@U$ZF>E<+yau+1+US%zP=})J!5aBbK<+JF>#Y?!3M(Leb(HW>+8O{`^w8^3yry6;H zHe;r$`RsP}Q(3I?il!AQl7}53rRde3IEW3wsT>y{AFRB4oGaK8&c#N~T<3UUQNLh< z0V!!XBW(EUWJ7nPsru3N$40!Y3wJ`X;)q9%TCNRV<)R0!S+ZWNaHc0?UjNw=k6C+u zHde`dR=GDzkPUs1bdeg}~} ztf|j8{&q9+s3A$#4D;BXNne=^N~A&e!Pqd0`cVhpxFTgihCM%?*vsB?$>*O4hrcT2 zk$ttsh7ge+K4G%SkbV)EgiBiVV<?sG<6O+h)t)BiG!ghpHbVwQbihxP}$iqAbHJ zvnC2lk_nm>;#l(Mg@b#H^uX^?XL!(?ODC=vnqOZeJt88d>jgv<~Jbl?? zHP}$aG$(GRf<^B@{cuuu{?F>~PfyA5;qEp(`K1pjCf&67C!RI46{*tbe!)?qu@kJ` zx}b=jXb%yY%;%$AQWUXuPp?2f0-j0R}Y(?a9kDKRi#!cZsiz=3J7|Utg z{(?|v_U(RxmbXwm{7K2GOyjl9;06nKL-gnEB@G@48}BAf#_?wNkEbci1@W7dUTQvg zlOi{6@rbmHaXg&BvieH$#6%a@rBO|nZ_SA3pxb=yp6SBe#;I5{;8^g4VrJq;L8H1S zeS(B94uDAoVPU{|G@tw_sCd4(U0(PV&oQ3z!miSY7P~u4c6BAGs{zoYg3uw%^=^F_ zSCJrk=o7Gw-7{B*beYD_cRIZo` z6_q`mYMhgu^&a_t1uUO2?YZ?c+%7Bl6~)PQG-_L?Y!RM*-}uVAT+(4$k2QnG3x$hk z1!|m3bm{R`?|&EU(}xM!sb<_AZ7z~fm{+x@w7yMBL)F&4ecZV%F4StM%={kelM?X~!(^8B#t=9S-P4W|unvd=ew6bk4 z9?A@^pCG;y4H4ak%J%8A$Oey=dC}4os`L>ivN&6!(;9TvGfs277mElN=1R4nZ@R&;**jr;L`=L{IU3Hg)%+6u>QEET(iaFvgMAUebpFBEq(w@rq@8ENHz6OD zEHtGLhMy~%!xk+ZF4npfonwzU=*o_Ye|AQi{l@$e&FDW8_fadVK;zz^3+J;#4EyNi zXWk9sD%*HOA3dYJZjA@6RABi{ES>vVrIoWeu*S!}u0ZUY=;IgWX*O5PW~Zl#-^p^Y zj}Dkba8fsScckJ^b%?|<_oR|WV>HMA5$iMMRS9+GOsMObl&kXabC>QVBX86Nuy7}) z7Dz5Rv!1Ao&0BxNU{DoS7#G_=smi_Cp`&X@NGv`)U@lTVVaB5*D7v-Abz4Zy0xN>o zkjd_Dr}uF14#tQZT5E#1njp|ts#gDXWM|(B;Zda)^1yZSG9_X+`faQG_q6puj(w+> zeA$^tEPMk_KhAe=N2CzYV`^Ekr@%aoNzJpS{O(!?)z)}i>(imhJSDI19t6W56fsE_ zA!5_$rPbFFe(q}{StIwNS}f+#?~3H`ue(E}pFTFe@x?UBS*p{QooX5u-!Ai)`g##` zjaYfL_3)8!k+PrgnuYf;scNV9H_T_V&;9rNENQ-ID2Nbr1#t2XVe)=K40m2eyb7_o z9+diq<;2#v(V=sO?eBL%V0Ak);LhyOtCMJ=9VXJs^|Bm})8toZm%CWKW=NE4NqkSA|5j(f<*t$AW0~fGtg(@*Kfi(8 zbafpeRWH981T9-{LEs#JV$TouR}W$f1I_tri4UEOTQ%;To98AL`yFEKHgon&9<2r> zudX@!g@oj8mCx{k3r0-=a`Tx}@zPpmm;9e!WUR%uKJxAPG&;T#^~&Deyl)(Y{<7#n z_at5R+NIQ>MOjO*rNBsfu^$lP9eA%G7<)%l$+0HP2|*QaN>y&RFmhO<6}M-BTrjHV zJ~-*5QxrSC2!O{U*4lb^El!(MT@bfh<+6vDb~&?$3+Re^w=m*7WhU=TnR?u(Z6aR} zStO?-E-;o2b(!^x=ij^vIDSHF$nz%S2j$(2C+YSyk0R^`d{vBT_1SN{Oi2P$r_H|( zc#6#`Ay!QY_zvsdWw}nbX_t4Gm4Bs%y;45cw6@?wh{tuO2HnEw5#RUCwRQha=*AwP zq3of<`o~NZZ89)qyO6SK)e@_1H`?h!D=qY)zPX}$Q|Qj6yWyKXZGVelgD3UR#9S?D zDhEz7Ex$LXncf=>ZJ0V9kad9e?mBoIiR_p^F-ABnBoXEQ}J^5Kv zhw2G2nYmlXm*FKLs0N>cyRz#>~=L+|mDpI-Dt|D*jVI&VneE znRB%&E-Y}~e5l}IUPX@6Y1Sj&BGnyjc>@)6FWb zM!RHK>BYj6B%FwBrxW3hPK?gVT!xx8(#pt%BvW@j9>qXB=Lotxnw;gAJ;q_g=C-&p z-E8=QtTsuHQ~!{U(yMje*;{@RS!_D76J@-LqPAAQex@cyGJbcrPogU8wa+B_eD-J+ z$LrD-I}8s?nfBgrT7%xgpV2jW^DX4fA}T{mT!djKk-Kbt(F) zfpX}Gc^%$&c>nD?N2g`k9&3KLg!i^@m#2KE;Un0m^ZI-XTU~K`uJ0~^@W`i$%=qfG zfnK2rrr1`qCol2Q6G}LW^1tJF)g|(e-nfM*xT+deFZqrpInIAdN&Mu2092=)(DVnH z^+;0L9nI?#7}boia&dKPwFI|36$ss*T6u;|>33P!TWc|OqOrSl+IgTAKh*dX8>9N! zp301>Cj!Dl5#PKcow+ro%@V}>BnA^)w~B4EcrlQ6oUebCr@VU2eUA$n$E^_)$x!F*RO^N#c-}E9!uaE{Bb6ld^{pukf*5J>pLNL*;U6DF{7m?OxIOvl zCL>7XXMPWBDiLm0q^%Zjx1dR+=D5P;AAh{7c2Q@gEIQ06*h;nav#uz1NN^ z)38J)A`>OHa{~K@Go!LEmi>ou_3O44<`FmIQh}F$4gzXfTvPEyU5y@%IMWgFl77&k zb@DTt%djOg;}MyPi;A#K{6I8Rg+F_4=tz3}!Y?!meUi8|PYaPdEvo+lt@#pII z3g6mxG*?kXJl6?2g;?D;vvNTWNLLRWilIrQh_}{uW@)eKSynyQ)4q1;S-x+}w_Y9o zC$Mr2euVwd_oVr-&})S_aOT6;XzACTt<8spR5 zcEM9P3e8==L$2Khckl89*GzvaQwTJmn4lVaZ>#?Lc@*5B_wgSbT9@2@ZygBxM@{p#!WL;pmMwoRDTHG|r>(BM-zE3wsmdMREpi zX3G14yQ$=W7YPKj(Nq*t2AX&_!XzN3m~axxmw_nGk$@MrC`ewIw{pJTI z(8mNP1hkAGyahY&P&Xh8(f;aPK7I)Ie|SgR~O1f%h(0;CWM*>2=ehTO+& zls1AmK(UWvQUeMhXlQ2yjin|Keh35rzL|o17hz+%DcwwmLLOUJ$1@k3ye7FiueLjy z2R7nfC=L*hHgR!VI&C}pAcXB-9BERNiBaEvjMi&1xK-XwGC2^HIRDPolDNhhc>n5b zhi{#KNwHx5Q(azHO6B|bLt7WE#j-1%v`>y%x*v9a+6-C^J6Jjly^F2B`8nE&@Xp?8 z7(lEHukPVFBW!VYH_O73^k;~JdlCk7H+%_eghHv5a9?mfQxPipOjttgO-xcyzf50= zh3BOt`CJgY>}4KV^3xdRZo#)Iq$G9HY{vfBq!F69;bly{LPB*1%k-&7Ha9j>9g8$2 zG7hRrZlqI+f-yp6s+!M*)P;Tu3AF@OuFN19TsI_KIijc8n(5bN=dex}73Q9o-5+%# zGBOd+F9%r4$t&P-;; zdIW#X_gf@&yv}KAe@$L6>GzD)PtnY9Vrao|WpP*zk=2lrZm8&XhgI9}lMWv{tB?5I z29gnyi%1idc@e%!#rxtd%*4%CGdvQ3ursow>b+ho)q&ZapGS#9p3_^mi_di0Ds3(z zNOTdI3Ca%#OlVu{84jFw-%yO>HgK99q+s5;NVMZx?T$7i&x|$5c;-SF_34G)BqnFy ziId^p>~V9l(Us@+HeCG`;O6tmr#%FdJtm&BI%^3aQO18bGq3DCXs~E2*0O zxhB*1;M}H1)J0_lvYP@$!qV8Yu5q3F4#uORGq*2P{0|Lwsb1;4puS%j@HNQnQ52Ce z8Um2tRYp`Ctz@cgr{$AZaCZWkII)DMxN9j*_}^rbmlF4SMQyELx{zq5pX9WEx@DnG zR^Ghzv@X0mkNI7LAAg$1XQodinrXQd1IEuIE8Q$bDtO7+?3)WVX|4x89BJB!Hc1=h z;qbJUv7GUt_2s7{N;ip823~4&HW6}4VyZNKAoPCJbCBm1z(G$(9jr#8_5wR#xgg&+ z_^EI%%d_yrr{f1$Bf!p?h2xMITm>#&zhfAqY7vYy7h;>!^IINBH-u=Y=Po)2 zw_}nMWi2t?>{d0$zR`FU-tIa0^l8cuJPOrmx<+oF#b_r!&%?Ky{DW3=Ee4BXMQs8s z!5>!Wb!P|%4@wJ;ev4nuq^wMkr`tg|0D4ErH1eWR&>Aud1<<*{>529Mgd8d)4pcmZ z>^II?fUlnb+y@YLfYAYh1F$(k2mzf3kUv2ALkMo8sWSu@0@!fEu^Zi8AoviV3VHe5 z6?ypwyaZmkLDm5t&i@oE0nj=@_5outkV*do&UQ&+;2awPg*st0^5R3gVU0QNkjpacgh2 zcua0f6YgVOc&$g2@O(AwE~kL6$6>errJEBuV(;C*UZbJA@4xyo0WgU|d4V}Wuw4q= zP$~?@hYPQMy>bU^xS`~T6znKczPe_J>KGftcbk>#;DE(2yN-=Vn#sKL(Y8ynm5({H z^f!qUnQF^Y`^eRjTSOxlG=yt(GwpVcONTh?c_aEapfrg8$AOTI`2R5w|BQq1|9K$VHvVq| z0VD`Og#Z#^C^e8P4$T7s1)+9;pa_%-AiNF!!4raR0y?5lszwmPAb_hFlmg%uhE6pa zi$jSZjSG7)Qffd#9ZuK?$AP=SqP!%ajb0M45B`noSa8rmUky$TobAB~8V#ypaq_^f zI*6x<;9nX&@!_U0EYAJ!-w(hCiFIQIF`NN{7&6iFnG+*y^M89|8?`>0nlt%>lTi4b z<=4y?Zn~*lLUmkGIVR!TGkJ|2KF!Rufo!0VI;I7MNuRq&i)v+|U?^+O| zL%2zm#<_neF0w3qTjuZrc)LwKDJM%6uWJ~5T!J1`@VHp;m#D7EpLTAtx43_rM!K8X zLa2D+*2|LcoPHRl%T<1Bec$QmIXt{rT~|C4ILB@7trzVeUQ^eTInd=U0&5CX$fhZk z)jFf1k`(N!sU5GXCDJ+ro{>o%@_AdSenr$i;TlaNH>mYp&RCm2e7@$sQ#0XT=;`^z zi5v3)$Le9ELpzOL`+;=&De1>_rMyMjl&g-cg?S6knVtx~ekV550L2nVGE@9JXC4uj zECf`^J}xhO);M^0Ti-9QE~SzbV+}QRg`J3)KjLXRy)!Z`z+8E6-Tkp+oxj(*ezh;6 zk*YsrG2~v`mqoQ(%x(SOwzxSB_Q{%it48ToB9wxj?~<`AH6{VVDr}=h0MpQMC5zI4V9y`;NmXgU%)>PzI;LUi2C5~Sx z&gkpXER5z=#d|TXaz8WeD^t=s!F2lbTtPniIH7r{!{Ee_f267S=W1A#?n<5zl*}xy z($?(MmAuf+dr6VzUe!?tZM}KoeNloQ{$I}eZGGZxQv0H6CP}mC>&X)*WY#|fuMih0 z4tvF)roXao>j<_>Xm4={%@7+=+b(`t=blf~2b63Dd{;};o*Mo{ukg52gB35Lgg$w) z@um>ovUWF0|11dOxjn|B-9rQ4RGF3OR!pOGAm0XQ|4!=hmgGD)=+)$U zr1UM)yXdO2usAOx^6@seQINH&wD^D(IAs@=w_@#t)+oIE&tCa zsj*qy1}x}5SI-}u^R@fYH}I?uQP$Yx*|d;XzkC#PKSG z|Jjx4h5}XX_G~}B9YkKKO;ieZ!ZW{-#ESA=SQb}m%Nm<3-D|weow{>Zx!{*UzjkLk zEymFsjxN1YzF=yR9`nz9Ia|2(@vWqt@p5}flU3fgLm7F@k%E!yC&`O5N~vVK-2Ye@#> z9gWX6!EVhsA|93##+MJKY22$mU>&&fRLGhRX~_Yoa?vQ z@D;`?)u2Pq;a#N|e4Ei{i;JulL{_e58+XGSpmFOtg-jMj&Tf^=lr(M6pJsj{8h^2M zmtv?HQM72&eJ(zSmeA$(45ymcK7FNU)U=gF%G{}?(MbAL<1MP*BxT4rH7z=kTrIh; z?K}Ls0f8FA)4XNw*%z{wG-DCQ#^_Uds+NB+5yMN1bLGF4#4H~vi1bUm@BFDiK^+&{ zU*RUvas3$Pg*TL*_0EjnfBMNg<5J7M^v$}r8;Be#X@Ace@+2LCV{{AoMV^#J(oOgc zdKMMllQ9|Y`1^0H*^46+Fcf|^WhdJcysDv=k>h(1-D4|r*!7-4ZO~aE@{Bd1E$bo0 z(SxqcET?o|C|l_Z-eA+pbjj8 z_Mam{|7}q`3Y;S?kSBlcf{J+J{(oEO%mZNzpv6B2fd1QJ;wSJKY4NXDK42Ncw*PJM z>HxrG1RIA`<>^dta+v8A8lb}n=b-&ZiT}4xB_@!B^g#-7V4neW`bGi)WEtQbNC8d_ zt!Ds)*x-~%4K4y5WJG~BZ3s4SUjgiB2WHS_g$YGxFoQN{%qXy_3)<{6gME(2`Y$G3 zA0*^h;DoeD{eBF#z`*anqhVnKCc$WcBo?q(EkS^Z8%_muv%rO+wnE54r~ndHI2HXr z>K+Y^;h%v5uc~fC(10ov2m|1XTu2A9g5_k0q9STH2LmXV1nFKR{Z0%;U$TNxe-=jq zVY>f_QbIKFm;CoP#ItYG|2k?MH9=SXiz6$1B}Z5 zLlelMXg(W|PGSc;23H=%aNB~+5<6%JiVA8dmI8`q;gkW82=iUE}eHPC=$GSpBEC_t!@ z+JhQet&S?x2U$C)J*c658bGoLoB=661fZ$fD6lLBCkLz~;8aj+eH4=+0Ve~DkPTon zLNSTlpu-zuB%lWtx#5D)c5@Wq=K(>Q74V)PP6veW!11pp*?@E8SFkzgtiRi6(X80dLAgb??i z@eL0_<%RKshCX3PpbfQ&K#{ZpAXyTL0Y z!R+l66i8tJt8Ekn`)4#A#q1-q_cH+|A-EYdBO95L0D|@4fWH<3OW`d-b>nCo1P<&V z8T5Ck?i0TaIv&)ZKqL|rHKM>25~zJd0ajrU9Jir>4-!;$qCh7SB=w*Gkq8K)`%%CK z2`Gk$5uhvq{suu| z`*$UGe*sKlVBP`P>}=mCoPSL8C} zP;9_P3XELl@Gttk6lkb?^cRCG4KkX?e=!e`jKRr&7&WNb>3;w*U`+#-d?^Rs=wS5J zQ0ue5@&aT)SEuv870d4;^c}wwvHOwo5H8^1)^H=~kUNEmk5!o0_6oaD#y1vFj0$FtA zKF1_5rU)m4He;jm!3_`8)C@=N767A);1mBV4k{1aG(gSI=twpGZ^t8CR3<3Psew=> zaFht~QA{6_DHHskn0N_LG$?ej0e)n^3xWnv4MG$R3SMj=1WCU@(hfu@8Wg|an5uv+ z2q#7|%m9xnX!BAH&I-#RfdWlxa5khCriQ)cg966tAW~HY{h5RSTUEFYR7nJ=R)s4- zTg8DxFeNp2hoO0S`3kr@I=I*hxVYOsa1;Rs)WCbV1eT5s=L7VF;J1(pnicl56b2|( z!^nUQbvQRH`xgu#(}1%ALCDGiHempu4wu0t*+!M;DUw!3Q?@Q2gsN zvI7H5G~i6C$hEc$xY=F?{@(!6Uj}Gsr-v{!2Tyx_Z%;2D0eeqxNB#i!hx%IRw~$uJ Q;5UI64K4iy6z^#N3%J)j8~^|S From 6861c003bb460b9a8d88d22e524704ae7f8746f9 Mon Sep 17 00:00:00 2001 From: Geert Jan Bex Date: Wed, 2 Sep 2026 09:49:58 +0200 Subject: [PATCH 24/33] Add slide on ZeRO levels versus FSDP --- parallelism_selection.pptx | Bin 280764 -> 282579 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/parallelism_selection.pptx b/parallelism_selection.pptx index 7fd3f7ba1302e91e530b658a85e0ceb333db2aa9..1cd85373265cee6f76066e62c8c6b9dc73ddf969 100644 GIT binary patch delta 201046 zcmZ_019T-(w>27dY}>YN+qP}1bE1xI+qRvK)p5tR?c}Aud;fRe{l|D?jj_)<`>fiv zYVNsfteRDIy5f=MbCCdwGN544KtMo{KqB14daC37&5a;HKn*lNKq%k6IwB7Cu4eYG z2C80;W-fa4o_4lV8Eej&jEEsuJo6rgZBv+9O>&7bPW0Ywr$j9B1cCw0Q>dhH2^-HB zG<{N5^6njTv>f;_O_c~Np8)sS^WBn~0y@?bRpv-9=4g_*b^x_>`}l6Ih5@;SlWA4l zud<|I+RcD)hQnHesTy}|+5LjzvEAn8S5Omj0}(pe0#->6^YRRBO%7Xi*~s@)O<LxQKlk2EyYo+l-P{tBxh+Zg@jc5Y+HirhG%fhrrRwGV* z;kX2pE+Ps~8Tsp&tnH+%Z9cAkEUtboF5uibl0TKirGQj1`P#@VeN3)yW@m4!{rlC? zlcD(eN)zeY7^-gWlKa!Nx&QU0tWXtw($0&khFEeO>2_a_* zV@#k4vUXp7Lr6GUX$;g&I!@7K;Z|@1m2?4fkyml# z2Nat)AHqWNzn^D8-R$EOlOp)b60foSRI?Y*8X|j~zux#{ySq3$f&oDL8?$wSn;Wn& z`x|55j@~~9(EqOs=G$xk*Y)l6LJFZo%U6D+5?B_@mN$P5fXcCQcRw09=Y@-x{{4)E zV?~NL?>xR#1Dj9-Wsqpwh+Pp^Xp#YorptA>-l{%UF092`t}HBi-> z6VDgu{}3GrhzRJ;X7<<3H^CFXz`)^vfDD|?Y+V@W|FwzO5D%c=E20q@G9BzcP7Q1m z)PEc^bSc<>PGLPU{J+oCOB^ta#tFt^IE4RMLL1CRXO@WoenQ}j#5{g7fVI?Wz0Q5_ z6;_1m&v?8McVlif#57bc(xb_jL!MNweUB{z+S_g3%2O|`^O#W_Ug!p6W%;9_lgs0y zLa-AhMGh+_xx0o@cZpOjzSqwSfv=kl=hEp?U|qcho|8+(NI}ukN4=q!PuB@g4n^nZ9Ll4DY;roDcpTm z&Qz)!p!GoHvZbm4+kRgEXSIxjP{WuJ|HGQMm#SI%7R@xEEG2XzsDkg~^F0sxPzAGA zNwEk9GiA1oXO<18mfqT9n1f#6!ec%=GSPacl~BjAo+q%s_Z~0;_|$Zt1xsA)A2X1k zX#9Y)qiFOLIdl5*zex`DE?3X)q>DKp;>zIgLJw0~j`eVxe>$$pxQh9dL_QVGa!l&O z-~H>fZ)~q9oE}pyEj+%T`)N(=L9VtGbGwO6C%QTJ$C$r-yo1+jQ+8ae^c0^d4|jm4 z>skNP2vde~2>jPD0Nb;}Ofr*HI0FiQHjD=)QlJyqpZ{r1J;I5?fx@#k%=@J#>s=i} z3@YN*8}CW(O^LcAGNm!EU3UPJ%`Zy4+wWuSW>Kly2bC40CQJV{6nC(NFYR*Q&E>D| zq1Kzp$yd{c4_;iVE@ES-77%dSnXoV?Ctzh zXitC0gGT#4f`9TOdn=bNrjeR+bY6;`=8o$8F5na&Cf*QNYoAsMaTb$A4ozsz=&Y(Z zp6Pbt48IIvc+vx^1UG*sG!SKbL0ukCI)v^}QjzTSd=&_>X zg@^_tU~2_WEiXYG#gwj~ugRt2UaU{x`TcOAM0VdV#%Bf0r_@qEtbiFfg0 zTR#Hi*zw$*HUn$Slj;9rqGSu-sJ zmu9c;LyZh0vVv?QC35Y5@gs$bH8EjZI-F=DjU~j1jy_7ZFa0=pay!RgmWT0smN zvKu&wc`TaejdmvF_x#&s8YN{8&c+}h#8s;WXkt6~n{4vV&_+*l+E5{MGY?eIZS997 z_^eSq@S8#{Tdr(4D z-mX=!D@Tn8T1S}u?+3I)@5zVQk~W^U)3HmQ{?;2C@CXBA+D3KGB++<|a&jScodDtj zZsQTPvN9Z4zh8N$D`##?{O(+(3vno;VUy;B$+P=INQBFTb)`c9RSn2ccoNd>e}bJUtrSb3 zhSwOkX@Y@mLH$nzfoV;q)KEhy51oSBV4$4;4v$LHKn+e)F{5TqM&0M1M{@#ofp zb7o=ZU&4U^z@BH;2n}(-y2P=TMUzxlzNY&QAX52ffUEBAs`NF6vMdlG{bO?n%6&h5 z*!6w^&1@e=!WFSCbYNoB$Pk;wGx4wG8b)P>qYh+cQX0qT{DKhH2Eoa{BBQGz-AGt! zIW&4MsHQqS;)da$ZZM{h>_q+DH2J=66`1ICca>KK2oy_MvQT5!J7SJ$Bo0b+i_?>B zSiBk1V#;k=xQ2ZvOng?3o1iCg@&KUf2{b zbQ-7(AcDeVM*4QD2rqy8a+{iC;!_y)YfjwFCQTQs#9^Nv(nPo1o=*sc_T-~(`bg|i zOWn(ij9}tzP^78{p|3U9WKjsmu(ED%LP>HRDA$d zTQVtmFiV&I6Y^=|=H3>5=^=j>d~*?10HLr`BC$9jpmB1J2Z{lHzEkA0zdvdB&5(Ox zoNVZq^Y#GoNVvGJOepOv5eRj3SS_vN9PA))8?@#y5lHDhia(i7-zLmoxJ7!`vPF8R z7V6o)T%)SKbBcK37|Tdc%X;H+YqICajGtsyIzmS#^g9|$_BC)GFvDxb%@=d4m56rP z^s4{@0L0ZfU=N{xr@yniurGw*5dk5H0N&5fdkAksF-JI5J13zH(S_*8+<q2b7ByV!iCAjO{XD82{NMG7`EkU8{ zq&TLDv7Ce8hNqm5R z^3O-AyNZNk<5`DeFT(4ZlPgjBe!`AmbJ4*@6f;3BuZlm4VKAUF70u)#L7tFy*Lw=} zJ6CO~5iy!8==*h#M2u;Q+S?4-&u98|<6cvF`wSISpTK3^0SN@5`3#xdcqrZ}RHlXi z)-+&1-dsgm^6%r}o9}0pv90BVO+~OtE@62$m_w2Pd>Aq^Sw$jDrm(~;w*?{RSOfJ8 zb(pSO++L*B9GOTFBwEG3LK_5<3=Zn6Gp`iy1$8q!V#xa*$ltj1fwv2{VXsd z>G6Y`MiUWdH0i3P=p?BfB~4!I+GVc=w8?R93_0$c!fl^v?(yEE_8HHx$qYESz~TC0F4IoLYBkdyT|g{AT^^S#g0%gs5CRa; zdle86+IM~G=;+FjC?$mixX{ybSQ}08BQX2~-8s^6x{z_4$7n7ITHAoyy=Og)PqEao z)Iz4@p3uDq@n@|e%XB#RaY`xDKo#t&6+AMvb7+~$6H`*2n3b6hwx=kjq8$6hNf zPKw{%n7V)NA3te8ofKNHEH*mvWzS?#NL*zc%=Y@dUVXhD?cO*8xNEkLS8km?_KyqB z&|_m`Qwt*x8}#`z7&5Tl-Ps)&&fq`oW@1O|KES8Fx%f&jC-x@1nR!-mw>FQSUshI3 z7lL1oPaD$R&JvrZnl87;Q!x^UoPAn`eonVoW|C!@yWLmIyh4eybEn7LJvrZ0*kyFF z`Fu3#Wzp(4RptT!J|6|uq4ng&FMPQK&hVoTQ!|SH49L2_M_SUbbc3~sBz|j5ZG-j zO7G3-Ky8N?Pu8d-nK$;}J$hjWyQwe7GiGd=gTe=He4FeW({r{ie|8H_H|Y#xI(Q`{ z)*hw=@VBx6iwEk^9j*5KeyKcMzpfUiUvFGjvR$uArcQIkJ~j2kpXMVm7Cmphne9^+ z4}8~UE1epT=_|&nGA;Oc9a6kl&zPDkXND^F>=;JY9zLF_BQL0PW%F}STPr8#ORDu{ z&y-x4a$}4#F*>d_!-AdaMzs?Dza^-CKjzB=2EHT0A*})OF;2dLJlHglqQ)L9ZJA(~ zIJXXlhzSaV}`Kc&`(2{uYT zLB|DkM}2k@MyMkoq=rOBS!_T=5$@BdAi|ssouIb{qI_F|Z1`H90_UQ%ZC{pA4$hXS zt7fk_F=zRc1w*ADb9tp{?QFa-CbrF?yT)!H*E z$wl1X*7FChEl9Bsar{Y#)~~iLx>`B*owN2F@~t=zwysPNJOZbyg|UDzfvld2(xdGV zS&e0P?+2VV+{&$yDXcKN=68WKtn{M`R)#)nwOhACrm9b?8HI0h#u9R#thg`PvrX_1 z+7|O!_K0tUxMJ0!`;n+VN_HmW(bm9XEDj5`eDn;j-_EA02ic% z>iUq}U&3lG$f;=WbIpQ5!XfgD* zldUFb{?o8j&sr>rVSLh;sAGOM!HpWX7r}hRf=u6ue4s#XShkfD?QjOUC(!b z{+h9Jc6^*UyvXdp3tEV(ocF#zI?cTV0SUT`T#P?ke<|GPkAC#Wp+a5fbyvnjjxSy% ztO*m1`4g6)BHw73Hd2r1XtI5~Lqzxt4h(#TWT;&R)QB2gG)_na2p7|Z2-P(PQIdd+ z)ReGSqXL1&7{3w)OTgq71rrfluv-A$Iwd` z$r2h#0gr7moMidqU?vR(!O154lNlFrTMA*P4-p=B7qd3tc*t~CmZGtQyPKOYn|%VH zs#QOtQFqk^60I)_$ZSo#+z?Q&`Qo-s)6H3Oyj8mUvHo)wRKIx6q>pNDde}dU6xa#D zFEKfd_*%X?DMV>X2AClr`cEzxLk%fjpG_Wrl0cJ9+3U|0RR{Wvl|7w>ZZDWs7V!5B zgQ;ORo-wM(*BLqS0&UY(J@O`Xx8>#s%2fJZAlotgztqXofRkzkVyQ@DSdg2zAl?G9 z1|ez%G^hA;w$VLC7=JMW3Y%(X6q`RFnkt;jDtjXw37jSyC=KNjo0GFCTYkD=crc zFkLNS2t&`efZwVBX;~SvDkiC9$jw4YJ`r8+U$_&zD}+L(Y$(jZKO@SS5$!A4cA2Zl z`imrFhX_la&{giJnCOycP+40GxMzwa3+?50O4{vEVO4G2*lLoBmN)V?l zg#-{)D$0#)n2Mt$hrpRWlG5hz8<44zt4Vnq$6%rh0F2u$%;@pWNri-vW=mc;KQ=3? zAyQ3-#K-L`N1MYDB2dmCeJJH&hr&UzR^N7ivwYpQH`cz-+!RUo@_rS1Kio|m^$L8n zzYcvm_-bW$H7NA<(Lpwaj*7~VF+<5Gu|^TraC$oPVik#nQDWINIq7PDy4go`IiPln zW!l2@1MD~2VT^FJ9jeUSuX|YW4>~LETVvxnw#6__cCq^nxv$wG>;T-|FY|ocwjPmd zA{P0@b6TWs%$^0#!a7H9wv^1{N=0s@3FIYRTW3Gnb&mqq#eY+29Kz%IpQ>hE|;_9uo>6w8Glqp zON-HO6Iq};f-n0x_un{(`1cTN;w`)5q>OeonKB6L@`B_z3FVHxUJ>b%Aq_bV3~6SuRvVE(B)_vmRI}e7Jydvb>L1{w)JQS20401xy&C+0S zRwqPsAK9hFC**W;?(#B?_|(vJ$q~D<%1TaANlY)p2u5*itOb%JL{fr)r|~Pa0Mg~I zxTgDUd%qg;`#M6+a$3j>s`wmp>Xhg(n8SD!Q4*Q-!b$Iohh;C}Yfx4r0;?0=(y3;` zeeUx zyG3xE(vZQE7TDQBr1rZvrdS( zK0rxJSID{KJQU=g9Emi`b;JCV$-!tu3j_Nmv?Ez>kONk6d) zoDeVqlgEECDvR!@&?8vTiv}aYHU$)zWk!#l3@zgK`bRZCl&wF~OinSgN(Ipt=?c+< zvsX&baX)!qscgGw^K1~+p>m)vlb=!Tm}=`zdEyBjq86_;EL_kzYB*j^oH(>NS=yxL zT%XIiRn3U-n^x3-`-Lm7@&_Nf^5)+Z`#<8_J%VJzkd^T3hgQjQAIDAGtD$}5mYgA2VVHrdK*aMd0!X?;4TlVOrrgPnC=t&fkxI3E z-M(DqD7$TAIQB>#Ll%O1TcojgF>n9ZEk#94 zyW$}vARu!L;KV*yG;q#;HxVxqJ2bHY;_#T0#kQ#?CZ=PQV^S92KRXEw1$O-sx}{T4 zdFU;&M(vcKfCs6i)QGio-`mh%5+71~KmGXaH(NK(ZMnT#By!`rOR{n0VrR&&axS`m zCib7RHNIFn^I|JdTr_saUf5pM3Vb~QJ`Q$IY<<_a7ZX?JXB)fcU*305K0nU^$4z_$ zQ#rB>t5AL(%oo!VF1~BsYXXaJx%yYWht4o)U`~Cg%vgrB3i92`Z z-q-jVyx7CEyOoobA=?KVjHj38$eQe(8QPkj_~P7pQ;FJybNANB z*Y!g1_VxB*adCBbczilosE~`F{mJflIctT@=>tga`)n3{Q`R%Pbaz^);B=Ti+-r&V znegpOo6_LwIG@hB_~5ZPG#dwD#t$IW_g5GYHeV+#aWT~Wm^F}FoG%2_=&c_d+1TWt zs>5aH;sazJLdQ3ggL-$ofYK+AA9&$Qk43(y$cKKtmyt0#3OW)OLby7fon=j+($DXIfqCb~JG`dSa>uF-`TSK+9!M^(e@4E>7%9ZR#grMKd!(?+Mp`t9NQyvlP5Q3S?D`}6tT;%!V` z-n(KaI}Mj0s$;g2hVy68&T;ZimvwBNjc4d^Idn5B0~(X8=yrqzB9~-SQXeCWERIY< z%kT$PN`rtQC@A2!hIqjPy`nsuQ9?%Mb!i|LU8>@d=skr21<#T`N9Na@{7mNO_KJR} zT0>dntPkz)hQQR)djf@$7hB#Q<}Rtb{3|N{w>ANu81vGpw^__;>j?8^S!Z6Yj1jeX z{?9m`e{jXqf|z0|{M8@lOYt+q`(22GcSEAcO_o4t}a9?FO8 zHm>u1EHkGV>RLu*L~79h4Eh_R*=6G6%+~P^+hz=o=GH=X%zE*O5xB~=nPzu}jpr?|$3 zlq+C05e%a%gf>w%p5juMKA1a8d6=Joux-``+q!%m@02%WzQ;cAt6byj5&X5{rw13l z+mmG>$Mm}~OSk)>hM;BYL|chcZgDA`dD%q`?yJ_Fkt@4{e2E^5fL&%HOH;4;>?nf7 zUEw^1+<6_JfZeJR2mhO^k_VSnN$Q=scLM|@8+#v{HsvzNjkI<~ACrlYWksJ# z3Zc&hTx<$N0`yJ>q3$d;9Ir5I9|UX~nspy9MP*tGA(|VZ?EN-NY9DVgFH&Ogd@&{? zoA@R)1Zs0t2q+uw-{gX7o^1`P9ylnHz$qVDCLmmWO2?`^EwQbcMrVXTlYy8aAaQ^* zejB0anldpk5tjF>K?E2n_beN7S$rRTiW6KxYhw#nuKNX>MQ`@U0&dLpZDBE?`Oezc zf}yQrxJ4}a)Cw4As1uL(7Cr|bL=3~o1?cmqv%hKaxXB+8=FMVA{aHxjJd^`eBmbHT zm2qctQ7Y2JEThX_QRaNKO47=?&|5&{qtt6%(&bOgsYAPYnn%BZ5Eh9Pyw<(LF0qoI zzCfhqz@*94E3ovY>B&J!1z<>TmND2r=&AA2O8951#a%$IK%5WliI$8ZccCSJOLtSn zpL+gws^!M4+g2{6Fx#ewup*R-M4$8;5Db6{OJKhAb(Bh|cCP>;4zQ{`W zEygbahjSCwlZd^sl3cG<_I7I2b9ws3>GJ~8bJ%OQ+6;Nc3^>Z*rCtfCVLc|#0R5CE! zTL|8n3{&f$(_N?%p+>)p`8{0K2eV*~2?MBIt@oR8#B@YL?PIb6s0;z>=cskE?1E@ho*P2sCau_~CI-zoGt2-s_kg!}9AuhjUGfm}l5}+^!pf zR*jaAzU0J{a7aw|ne$dHY=V9veV6Onz%iUwQ5dv`)zey9#i!R!V$&Yc zxXs^rux}d`U-l&?k4vrk>930+@*~04gFs}O$u2M#;I5H7Qv#5xVhA)2eU~R^aackT zMiaEk8%$|PRykR=UyCD&dEh?G4f2ZNs6^wV*H5)`n@>IEl4jyens&GDN`jt*r-Oh> z`?_E7p*eq`+recSz;Cjfx*S)rjcVWk20Jg$F}a~7iX%Ym?o+JxqakMry&y|2<-m`k z$b`A;cCvA)_uED_)Sd>vla_WLO`0FZ76uSGTr3TA3|WGbw%8hO4(zOM2xX znP0Jj?5$jjfAv&p)ZNN3?_{|N|E_yiFx5ecbO@#?uE-QTsGGFmAm>Rp|Fc@X>~5~b z=kI8>zmm;){l=PUtWtypC59sK+hh|(TYhwP)zcEa8;V$J760rf+2X*VDvF0vwdzF? zhqxFv3ArpSBsv*qI|Fl}Y`M71m3K;NR8X@*Vo{NU z3O!C-ypGUg&M<54wkOD2OtngP;2>8^cljCP!K{%a-qAA3FjQnsblQ;0 z0dspMRu-LTRR`)p>eGKVE(qB0-_J>vZvS20C`EXX&^MY40m1$XBxFiFu8M#C67>RDt<~6*4wyzGcgZ19&=d`zd~cO({m)`+JJ1GgpfuZGn~swdCQS`R z?+ZUk0}D3;_Nk~8nqiq!3KagKT&e2gyI75>FVhFTRBD#ZEBEoYXM(UOX}b_9&b0TZ zp=(H6bxgC~a_N6fBVW&{I&3YO;eqw6FRT!y{2w_J_%AB>95ATW6H3h#fRd#~1bX!} zVG?Y!9=={J3#5Tu$Iio#DqTA5dnKh`N>mTxfr$Kp4*~u&tf!(bCEBQkVwGk8j0VgN zG;=*txo{x~4JpS{ah4Kso#?=_WV@|V^p`DU@{r|hQgX+C&@CLzrdfrfTRlX$LmJcu z=+~e}H|R$YkvSd$;2ytculAh8vCX|L{uYoa(DRRdi^?Ug@X*V+MM(%7|wR zSlAz2l_Ol)IrON>CF;tkja!raTANwwlYcf&xN-doqF=*5OW3`|7(U4ec99$Mkh>>}2gFSeH{Vxf7)@J(u~@i1Wwn5sl1 zQFZvJ->p)BGD21as*dUk!*49X$5b{d|ABvcvr)NY0Tt%lY`Mgf>VmwjydcRv*zc7i zBtw*pAv*5dWSQ*x&wj<(d;Scd)QlWX_$`W@h8pLpOL78IikQ5_uUP(z%DlGezZR~r zBu7_|U{a;RnTVQAJLt3;_)a3k2v$!sAV)^7z}&o&X7L-s7TFH&Bdw7G_wNZR@4(ZS zAsk;UC7Lgbqz-`mD2%i!_)|;R=S#{!#Wb5y9W(a7I1X1!hInu~Uq!5}jUq%&C1e^? zt`Z-RXjm3A9dU8#=A)OZUjEM>pDT3Ox>Ek-B9nkr3&8B(PJEmp`vX=*a@>qH!^V_E z*}ACp3+J^dqWPbVq;62V>qM4Bs0Bk>>Fz>DDOWwsb8?2@S21wYoyiPuxMIcI1 z=HIg9F^QjNSi*L95GY4I3QoQ}&R*@Ns~FBMO^(eNbp6HU@de^39%qqs)Q>QH{b*ux zbKnJF5@DH#NFNmpUqyPMjuX1qyeTDfXDS`pGdLWTe{ajLbaWx2Xd&oXE1fL;*HCIV zT{sRth#ifk?fY>OF*Wrlv%S`iuH#olA2;`k#ydT3o||N!PiL3Qs^+J?M?D^{5QO>5 zT*f!X41#QQX#$4k!w+k549$TBIM5Lle^Y>zX}@IuvHA%KEOIE_$sk*2^9;Xa+J-GzBUMtQKy>iXwBEW7}Sj&wA5^Opj^vJQsSm5EjKq zKWpc{wo3xP<*OaKZm<-SZRSDy6*^y5dRGs@Si(ab*A4IZGI`rEGSC?uI$AF192Zp? zYJf+4T-$?gGy;{7s=-r}gK66l`*AQlPXk{myyf#;czOSmWWc|}}Hrt8`lp6ZaZmhhr^}4M>2Ax^G-c(#3UQf*$ zpI=|rQso?6BR<>~GVdAcbz)*t4QK%hJU#7}PL94uw|9$1Ut@2LhYei?w%tz(v2}L> zNxdTnjXQ5%4vu#_+k2%!kr+DDc)CS&76i4}occCRl5Q?8PeV#HPMcAOdqxWQbXR++ zE52?L%TvcEvjQ&W`X#i4dq|MGKb}cxO^4--xgmxZa}TU5a$qxd3Q}`7tYH9ZPvXbU ztd=E>CoAuv{rApX3pCOF{rSe_3y^bM-F|g?<1i_Ez2>-UmI~JYCd2Y3)ru_aevYT92a=KYbl%bzCFk@g8#w402#IHz%9` zj9qCl3OAan-0z~}vXZXbcvFIKM22Z4dAv@WT` z9LsGP2^_etF>V$LxUo8NAi69zO8vw`u0(5VP$6eOj`s1~?Z}aU@~x86G<2DfhOE57 zW9DZij_oVR)GW=E7aMM#1*b%jVsb@9Y6K=ZvEvX)7%pjrw4vvJt2jT=)VMYaz;u8N zu)lQ2&8dH@Z1vsdX@=tO<0-r*Vo1#T%rKH=v%q)Gm3UTjR3=$vN;C| zGa&Rr<;%v=I?ws6++Zgc5}|wQYqeUtEOp_~u>s#{#QPll1EvrzOsIDA&klj~00~T8 zc!@8eZ%qM#^TLyCcD+;zGds>-Ba#Y=hL~|mBrJonfIr+L$1`x&p-J^$_qEZA0#_ipzah*t_sMy*8uDW zS!J=DHkWqfg&kF8FOLkv!GB^7FYdyNM(|}T_^XEg#{}H{;`O`tx&yvpA&!OLob2-S zJ1io%DVD=5r9!61$6-@wNepAfR;l0W4A z*@>l_zgJV2qf-i2{Gdzu1pBiNAka}ycPvgL)+*SQkV5V_sfn0DeVs%$s_!#cco0w| z{YMTldVA>r%s_x*TL(2wt>XVj&uOM)G+AAjf&SKWWS~2WwiQJ?-3A$QN;hj~1}ZT& zyP*WGuGojr7j}{hV$fJCk7W*$eGqYR0PeKlj0tyrKZsVB5>O$*#2?3s1dVw&$bRT4 zJBBfD7R=VpuXH`lPi&cY`>}|Uh~0a7Fb(w1%gs%8oiOaaXEyCvyRzZNlE)%FOwe7c z(a3C_qD0tCD% zmKzbiR^}rMg;!}@5bq*qVd-4|62yKo@m|1fJu%b{#{$b+!*DK+Z~u?3BO@*m4T6yj zFRPMkS&5b1r!V-soyfdAP}ChI8+{&;0+s|$Lk=65AgV2 zO3^KmlVhl3ol>=wQM{D?b_``o#~DTo`RpIx0~>f|tGqqe3MDuvX?H*OD`oVF9*D|# z5gL%D{OW&wBy{s(v8{-)v`oJ$aqabZ_E}}#QtUfwO-C?ZL_yw!|-0xA7Wt`Ev7(2u5m4tBC#WLd0m_D8{-JIe8!Kj6qu8WV z_R{aLvgJCm&; zEWUuO6=gZIW_1;lqG6Yl02ixqdWT^m zUFJ!hw#R&UI!kUE1hpF2P8Bc%V_7_u1f?gwZfB&+1hLWFj%+B)7WVY$cj6P`+*M22 zuA-v02}#IVZ+);fC>FHB5*!HYJChutEY{!2e4p4W-5RqbjkT00 zg-E9XLYA^QRo_=S6@4g1x(R=%r!}WKytd&jdbqM?efD6t2GGo#oqu&t%QJ?;$w&)< zjrTzYjwMdWdu98oR!@Vf6cnA12lC{-9QqHRBe3dl_IIhv*Ky3M;GxwOF;&!4t=r;M zkK@*D)BZBm)>CiPc2P70o9{>vwcC!GjQ~slbmI6SEqZXxsMmAu>J>|bXYG{^OH+Fv zMn5H8WT5r!9uSVEj#06pgS6ZGf7xc580R@tud$_!k|Y0Mn!x<|C#%gH(`OCHg0IdC zwr{1n@1H27{zIQoW#x3kmr2LX0JBqThSPw@ekn#_Ddx+JNaYv$mm}j@c1*@gXs5EL7d349?lGGcLuof$Acp z>4%~3D@D)1?S5^5rBAKhp>ZqOf^;HUcv0Uk&@(x$UEN21>Sjy@t{K+9q#~6F3M+ZF zZYhqGDTE$6!quYkC@g64%8Vt?!IPi>�k38ih6&R*MHWe9lKj8BGe!|HS6Gf5)nd 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

MW47$RfjF!uTwN)@Y3 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%0Dsti2rN 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 delta 199087 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

*A$Ffb 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≪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 F{{WzE%y|F+ From a396b55067687295eff95bcaa0c149732abd3c41 Mon Sep 17 00:00:00 2001 From: Geert Jan Bex Date: Wed, 2 Sep 2026 10:03:52 +0200 Subject: [PATCH 25/33] Replace old presentation --- README.md | 2 ++ ...pu.pptx => multi_gpu_machine_learning.pptx | Bin 411370 -> 498545 bytes parallelism_selection.pptx | Bin 282579 -> 0 bytes 3 files changed, 2 insertions(+) rename multi_gpu.pptx => multi_gpu_machine_learning.pptx (67%) delete mode 100644 parallelism_selection.pptx diff --git a/README.md b/README.md index 81d31f6..4555560 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,8 @@ For information on the training, see the website 1. [`machine_learning_with_python.pptx`](machine_learning_with_python.pptx): PowerPoint presentation used for the training. +1. ['multi_gpu_machine_learning.pptx'](multi_gpu_machine_learning.pptx): PowerPoint presentation used for the + multi-GPU session of the training. 1. [`hands-on`](hands-on): Jupyter notebooks for hands-on sessions. 1. [`source-code`](source-code): sample code written to develop the slides and illustrate concepts. diff --git a/multi_gpu.pptx b/multi_gpu_machine_learning.pptx similarity index 67% rename from multi_gpu.pptx rename to multi_gpu_machine_learning.pptx index 6690406a74e033470ddfd4a74d5a52c6b2ba48b8..60e4c497f8452000592822daff2f23e8f567a79a 100644 GIT binary patch delta 150750 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

njUN?!m{q?cXih?O|5G8VXqpi7(dx9Uma<%;uc z__YZ(0*Z{~zF4`~dHNwU+#FY36Qd*&yi7+~yYs`qFuXs85|6(M{3%m5k;0qxD9v(m zGLYAmWW(QySfowkphhdW{5-Xy(gtOpnqHFo?PrW_-YIJ!wFE2Y33FZjHirRM`nIz)kX*U-q6PKltJw|B z*FxYI%>s5kudh9zOKdQQh-PyV0DdB4Y{&rPL<-itcm+{g`Hrea{xmn}RYLO?PiPk} zPRkbk$XT_8E}C1j)__g!*XTOJs9dIVX=pbuia0E1X z1=!~B#AWv@@$)FS*~Ck2kU1EARwW0Lb#ExV-V`dsqucSt*d`x7@b3Kat6SEpH=FK? zndukRdG^P+4_~`aL0zGzpi`*&p!9licWqrWsXyY*-d%&LPLF%n4{O9AT8T1x#m4ih zwDKy-og?+E>5WvnZPHQ=hlhg&EL_UcN={K8E*T|{IED6q+H zha?0nb{cbc#dt)v_qH3&U1PBiDm@iBDd~lrCx?Q9e5-i%4NYM41_@!RHiZSpDv0L> zPn;xrT0l(8GlM_Zy^eG?no5GMZ9MZBVbJzt??zzmy?720ka!7#j;OqoSdGRgGl+nvY2kKAs}CBrOhNm6Sn zB#y*;w`a%G|Naatk+{?~ab{_>GEmeNx%JTTGwrr1IqvGGLi3Kp$&pimQKAB({wUwegg7zCaB9*~c6O3o+%mWPdfE<$v|*3PCey5@qg}wHIda)Wykbt>@}U022tAF zk_8X%Z4);S%GQg&W_)hPM~nXKBXqS7?33880w39?+lZ6jj@xFteE1*6%CndcyMH&K zcW~WN9T@5Lh}|LA{H1&-RLq__D|Rldf~jnuE*kRjID(#FFh?-s-cf$2;8$K-#F`s()1 z0_k*dyq~97xCpirH#ov37ROv95`~8LI#I$l=NrSd;jhJzD@G{yz-+7k(`S(8XQ(v` z#^63hS)wa_SR3?FDd$ngxQZsp6e!C+Kr8qzO&eScCwN{e6DJa354656A_>OS0P>Bh zl5MjWg5OTx67+lxluw@X_v-pDuu?49ZK73LOl>$H@NL6a5QI&WgTC)>v;w@t!i=bW zu+rn-t;}=I-4K%DNA8;+rPI>^9gj>2?{*mD(m_67kNAVPeQ)1k({GEe7ojrjI>~4C zuSV{(j_a05HgaL9-HdoRctdG^BIfP-vMStU57CtkXIe7xQ?g2obInBFk|RV65FR=( z^Gd-02o-3Xh50x(l`>Z~)q%1*qO(^Dr57wk40ir(45D1RctjG!e z`A(UxuNGDueZVKM(S?#v62H731Ofj>XH znURPb{WJ<(_S_T3@r2ogB4$^*o{b6uy`vvG} z94j1EX_z(zmT2%BSWLq(r=!NSRA&4YTX30%+ajdTH2cyulYqO+ng82DlLu!vkd4~K zFX{G^>cxL)F}K&B@2IJv?N|16`N0pR=SWNX6?Gk0qS8$~W6U8^4QZ7Vd8aw4bov-k zOmV*JJopshqRp{zQa9^@Jym-9vr31mic4!JPyCGr5^HdgD>6?HulvX2$$r$(O8^0z z(m*^PmMVTEL!BQ_En_e>7KvrhwRfC7U0^Rs%#azp{d#=Mk0D;3Y(nub7aAps3K%7#^{xZr9jnN2HL_W=Zcui2fw$RBah(RZ2Qc~7$`Bf-;fOh6dQI@Hmkp6^D%L(1I z4MLF2N0su}N!h7_@(0nhpVtFO8CTT~bH{GhkLu)%R2X z2;w^-IKVJnhG-mv!vwEp3O1A81864UX^O0k8*!untr^K+k>bpCGgoikMiy&GiN>$= zr!=O9qfh`LNP^X+8j}YpzKKmz^O*{P0^Z0HI#9dMptB0_w_;C$Ts`-Z(F+$G^O(Zs7^AsGFLQY8|` za_U7Dl4nIfd;{N1D04bL8OVr|7>JQICl;4z9#*w8d=)++sU*%%|Gr;q)XuPNb>@BS zYdVCF>Y=Ho&ODP22BXPnIgKY1Wsi}SS;>i^VzV(k2yF9!C{5I2j7A$;Box4uMNhG4fRzWX9Qol&|z)^D6F~D_A z9$-Fcad0k~*v2epkn5%Kk|}_YuG1Q+>jP|=>fdj7NE-WJ5|I{OemWY8F?a{ri^sM9 z9@;4CSEi^s;J^@l31k(w6XjjQCwmMDOSKKNgPJqjsf1Nn+j@4^OC5(}OIVapiP;h+uyt{ZpUd-z zhl&bS3B1Mli$h)=B$85w!b)q%`@8Egu!Pf3Zy28(XLEJjd1<j+}AKW$*ctEie(82u4niDiPdP3qvcNQ$a=FqoMxfU5OAx zAONeWfBbv#;~eVo9H^Ai!vsnS?7>b3y!AriwOkS3U8nK>OP3QEJ?%Qmd=T_gw%Vm# z3;(9D&&yr;mR`I*cCyaS?bwUNoY@b4IZRsU^lY}_w`OW#t3~8ft>|v!LoVS0XzG2bw2}B<*D=%n(rciTneJx+_#ixVpq5| zl6Bu7{?r^=tJIV7Zq4|@zgjW{PL;%YN{tUazbbtG0j;U-O}fID0ly&6xyJG9qcJh2 zRbs$7@~^S(A%p&jxwFOs8SWZbR{oy0Kd+kQmzdvT*wl{-2mt>zTa6;Ty9~{co7{zk{g0_0U#K zpDXzCPLw<^nbiT0)9zzaPkING>{T4lSVdGa_#qWwv^C zj}FpM^M}3_0LhBmN$;_xqa%qFDQ6en=?WY7L@H(=lI7-9ghYGS+OCkR4u?B@%Zc1p z`J7`M13!Jq=Q7hKhx_Gpc?I_5u9f}j{V26Y2_jwbj2^jak)wIatXp#J7?&Q_sp61p zgnp$Wu;A%va-CR&>;BUXBHH&tc=%KMvrBB{*64A^lFPG++?FfSb)Tq)n5FARiFu*k zVQsgxiN`jgdLo{n>h$K%TGbz?6^!8m;e;SwTxu|CyAViwuy#$&OcooX;>0-nhZ1Im z1?9zkZ~E?ab9gl!K@R5nVwTc%1Xs%EHuBZM8s|sP$Z|Zsv8OY)Eawf`h4LArkhU|( zM&+Y5^Ttd49G6okI7+TI#xZ`ui<1sb@Fy4 zLoqMkzf8qjsH_x=l<89kxFe%n50OH7m~gOjuyg}UnBEYJh-7kqcrYxjimpyQ5C+kV z7dn4ll}9@~2PC((@zMM+dsz;wMH;I{jx^{LV(!op=AWr`B4388H`tQuhaBPs6( z?$8Uja{Nuq)D|lk4Y`Q5r+G=bgYm>guODt1rIx=yqPj(at%#tLKG22v)+6S9^rqBb z=!BoV6O2|}uw!gaqZ#@>Sguz^F?`e zD&^(1P_4OM+hV;w`BEE-PG6mo1M%pWD7n)IcU78g{Gs~XzL|=)X#-wnROKH@V%F-; z=pHM4f1*-U5Xo{D8J-wpo7ynKVXhxw@>Q6mC3VTOExn_jc>YDAmC-$Dy;pdk$p~{A zl0D(qSPiL&s!dB1H@XX5_U`)88#HH<%G`V&!XH6v1&tjb#GU77T>k_>eLEC$4v%u1 zOFx(!qi!eJZV0a})}k`ucvmdea;?;aT{8Q_kkx+$+#%lu=AKN=l@B6$`Kh@UK8>X` zJ&kbbMb@2X6lpUEXZx8?o{UNG!|x?-Ka6X5@>{szTTcLHhX#V6V)!Zp!wgWB1FUH< zf4Is2gEty&C4^aJ8ER60pNbntG<68(6198`n}OQ?X+u7BdK#FAME=B~fRlmQ638|= zojYZWWgW-|mQ`XM+R#=G;55`bIZE;rL!n&5F@cT{8L+3fK-uPr+kWiF0MWsd;Bg4h z=?jJr!i9svtw!uVd)yizNyCA8nFo}5k_;a?CMMLh0GD0{P5*K|u`KBD3R_fhJNWoR z-=~?b`^_=s!%yD1Z(z8;SwZs=-tWkq^$YumX~8YWOhsPKdLgbY^ z^A4+0vX=DCr9p22H8AH@>Whyc*tIvcYJa_zKzm#QrUl_A+YQR?6yH^R3w9ka4W$0a0XZhY)E7D5tmt<#_xu~c#wx@UgU{G zi5|l)?i>j=$g!-!1)Y3HcKAs`5iuMBc+eOYQDY!jKToi9;)68H!=(7^r<87WNu}`V z4m?OV(G)HLG5P6rlcHYTbYI{`Q`A|6cWz~O)4cq#nvICNK__IB5tnT_Hkb-X>{st} zwsW`sDbNE*JiFk*1uU??&T)D(HQo4JSzTnId3LCFVPz1Mt!V59!c>YIDy$b~xd4>|JG>HX<;`I>oO_fowjI@myq2A%>WGPh!$56rt*Ygp; z?eqY=U;OQOP>>X(>P;67UfG(5K`3IY; z-HfqTlj6@GwStA6I#BFFAgFc5#?XYPQ!(PQB{Z?M3Zh6jk{B+AXuHe*cnl}%mk~oa z4`eN!NyxecQF~pi;B&<`ut7eE&7puG)-ZzsbfF3Zd2nOtEKtEnyH^#x++i>_NyX4) zy8v+kRXBJ8`CJJt?}PT`$xRF)G{@`<#Gv2cwB@E!JF%0n3A@YD7KL$q$w$T6do%E zMF1YGPc8`(#sILGgurjsDx0gjppr>$W^tD;6xjR*`;pD9rkB6I=Cs3lMy-@c`S#5r zY`7-nBb)z3j1~VqDsKfyp`V`tRSC3gtVvW3(gqY?PffOUV zOTqxvH0wv~3_>RDJZD*pRgRm7N8`GE4D|=p{pf*-%B2tJAU4@bOq>eWe4L7Lc!ZHL zi=23Xp%INeNNxzZp}09ZobOh0QrnHTJnU;*6MiTf8idHN>eodLf z9pmp(%K+jj%i7t6voYXYs2qmcnLhcYJKPr*Uw4JEk5(_v#U!!9AKO0Rmwh+|u5+n$ zXCbV;NIej?u9vRQCR1jc?L@~#Xb-;gQsRBG3i~*kaP-k&m@HUPB2O=ErMhTEyBnY9 z#?q~W$$X~Q9GYAcNM-M7R?;2)KT{gg^#gf>j0D;r_W*USFL~^m>erCqP-l1a$5bq$ z_Y^H*6Wpinq3d_w|A|u9cs=$)4fPCkIBmdy` zF!Omo*%OFlnyXL8eEEdw^edp5q#kri$+?W(Bp&?!G?xFkwMf8pZxe2lub5S2{(3JV z#{M>`jP6@-Z%RFnojUcX<0jHbY;ej}WsZc?SgOZ93 zldC-$UfX7o=HtCj8jerXJKuEzIpM|G{nPFJ*W>+jYpIpdzgOQXtDu3`US71SMshnd zl76@&M@0jNQGuzTPxYx<^wjvu=Wz?qP{>PK0M9un93te#A!eO%JwCk;m3e>Id zm9LG}EUgAScM_#fQ<*AbQa?n>uO6iW)`bfvH>?;(YXN7 zBne&SX{LSjxd5eimTR)CdSmSvUJIxTyGKU1({y8zGs+6xF&YvYRY}au+L;m$2V{-P z8;!H(3*D2WHe@=a9E11u?j!cg&CrRRmF381;|$im4C%hsoTsUel{DoXviW-y zR^@H-r}y`_%(FE|YJ&X#q5@DQN1gcoXg9{6$+p#hbemVydThEa0CO&Fn@_L$t+*5l zxR37k8l#ZvO%k#(S2)gr+2tT63?VZX1{@Kf2`FIUkYMWo>&BrUw4WDhBqRpr4aKs( zwE!C^cT8D9E&Ub%_|2bcq*!D%#>jobNTmj7(l&_OvJQp} z0rS1K`E+|ol*b_6Oj=4?Sd;N2L3RAkiZtpdO!kCwy{VK#ORm~UY9Dlrhsq5N!gOLe zjal)(AZSwrI~eBFyI~^Grt2#|l(UJ}Dx;VZtb8#Xr!%!SKh*0OVud(rl50A<+`Ht; z8!8+w%1rAR^exxb=r@|;Xgsqt@+_py(`R6u-{kDp8>QXP=5Ho{$_Vk&gVm(X9~`4g zHrJt!yh)OHSVE+~e+xEy19`Lu*I^ zNURym$ni%aCE15v)!v476gXX~D*s66o*nPqv#$%u)&l|K4b3*gN49-y-GagjiUF&V z3*BPl*Tq^f8Axu+TvFe?{YrEG{IE5~D&tBcZLXr-~5Te&Y5M|k-C_ktEw!*@>A%aSbft?UQ z;jx~i?aODhGNVw`sUnM_poP^Rg@`<$-(*j}Q0UthU(EsU7-)$N%UWcG%qzcjS5VMZ zQ{1IACsn9Bgyz+O#50aDpp&*lWp9~z_Ee-piaIkNi{(tj?krQGnT5>uy4 z$hhbqW)HatTRCj+zc{YrKFt)(d*xp1-J@gSVs$}ciY!w3Ej>ze;(J^ZtNV61oFp0KVZ7o znkcy;<#M7a?HT1F>;muua8nj7BRm5IdJPYsI?Nef@Z46f%=y6ue3b}dFKog-9PK*@ zv8)jRUvJaC+@S<>puDXmas9^3oQWtX(~P+|a3q}=ek8KNWJ<$IHkb|pplH29h`eD& z?jIKhJ(-Boipb#SiV_|kG^==ynf%KHj^@yZaa~3+3s@Ee;JrAINjHAH>&6DW(WL!Q zs9g)w$pW=FP|)e@GnxK}0wBDV;0~|p-4V`Fs`7%@a3X+UDgf%0e=*)$$T3OtMxl6! z1voqSB(C`sdlBzV9)H--tni#`#*rE6roUh(p-^7<;yg?b!+{@}rC)Op7;@P?692T4 zZ9ZR`Owb^}6{_tHLEKZj4af=s{@{!d!X6+430s@;48ofZuD}Dq8e2!MNlq@UpU;;S z$3Bzge|cVLzO+?zlPo+XifDVGC;dV zIf!@@9`61lpLiLn%ZE_HgNd;M<6Ebtrs#)RyWmsjHsXa4bN0;~|Bo9q1m+9Uj`tFt zjI`FAjEvC_CUH+%QA}>@;bq(4t^2Ez8>Bv5t^OW$*pw1kYash;6C+6Y^1Y;&5hXMU)LRf*yzH1TC_1F` zVK+*FBoxDrg?&ICj#jMyG2V5VW}rOdbrA4*ZBoNLm=nph{HoxP{{8+zKiV|MuP~Y# ze}M3$>U(=ts&+;^_I|vFpr#_x$;u*uj4dkU*z9#`eN6ptc3GRNMZFcct|6r3`X7tu zq*)(ChxqSrYfo4CQzdCn30ns+iUD~LKr#>$v>PMqW1XkkJZ)Lh z2?Hi8ZGD&WRx>}jLfU1=RC5Ot!JwVjdiyX**Y@Y@D)P1R?mJO5?RHT$iJE7cWP|tp z`%{cF4?rLEi)3V1@?`!{Cza||+Ivtk6eW^CQEr#DDMgTSTZvF%qX=6x|86yV6(y&!axDf>$OLgn`r{d5y zSh4B&*LP+1ET0c~*>-kA-5k?j{c{<9gv#D2P~KUSiMMQgOs9NucTTs{=IT{JOszM;I@ zYyx0WShSX9dsnO>8K6OR1yu)KV|6{|^0SeXCVrB%guE%`p0g=Mn+V>T6)?jK2xbT1 z;elUrn#$W<4XPjIv`IvMPa`gr2-M(mGi@hZ#k1cm>V`^=Iz^T^p5SA=Q!423<{Hk6 z;n0~|;?OZeZCIuOF%HWJj;B=`k^@j+uJeswyOex%hKpeoU^d~dH}nd6R$s1E_=(OI zjs(^%oh+35r7A0jh~2%o3uQFIpa?V-z7EJ5=)-6b@-7s%@GdB|E}J8<)Zr;r6PT<2 z21T==O`g|$u43Bh(mSB_L+y_!YwtY=BwaiIXnOylq2{x!wswHAe?{7^EhRF>QDZg? zN++6!Y_UQny#SS5EqwQdqVOBL!GbS3VlTw<0|id;szP)ePGd)57cJvd(b>iK(yg~MFa#a!FDDxG_mm9*4MRRyu^}))@0Z&(E4PIo{e|nLIWZ zoSPi-$;NVHM!C{iS89JJ((rm2Ppx!J&4ooTUObnTb2GNl9Ss+3bqt5_D*7Yq_=$@7 z+pB`chC69Kl<($$x~MQLign(kvG9ade-v39 z*hZklvZ|7(YX`4#f~vT~Qy9)0$wfPyKRH7OaoKk1&=39bTne#;%Gdr>mEY7*)(i5t z9CGfUZ96IQ@}6_RTHqd^k#Yt~6-+*JK@YcgYFl^Yei}raDEu6Cf3|U@lG0MkS>)DQ z{Wkp}wq`%o_-$ItjzefFar0^Ej**4!TuQA-eO1sF7O=z=*j^GXL*GC4=(w`jRc6_N zyZ;uNZXNQAbQt?4Y3sy4v^gscXBQ~Px+0Rj z9j%0+9V}#$dV*Nl6d}2S@;|mfvAc@f=YbMefu>2uGRFs?CoY?h<1`}15HP_M8tvzi zkYJQ^$!60*-R9p++>}&zHhAjCZt&5oDEwKPYI^`aY)U;_lv2sokH`J}ZH+%&vl+zD zAt}EV<8Kr)yTwPL&ZL95GKXvkX6Ui^=`SCcpDU;C_$yZ-eN=_2{cNkB) zrf;4e7mBKw$j$UGbtZ23u2??O0SwtQ$hiUTwS!+4sEb~@h0e13MS<@>V5bOlZ+mHh zM+6_iAgE(4NKi1962@KauU!lS>~x9U<@#s$H2-0$_keg|X_wjn#lP3crNDxjcVUq% zZrcL;`=O6JhKR4j-R`Scz%dgT>GDq)(V#zv@nA@GI7$Soc~PnWu`?3vAnj_T^k*fi z0kQB{qqM3UXwubM(CA>0 zxjY;kinIVWdF25@Cp1Ks7ZPhOw`+DcmXm9P^`FR8>oULpf_G>+s6_L|ku8!Og5hI2 zd^Zj$x^30^fB8LGZ@6D?cM7Jtd`~EYHa@1jlLW68r4z~82MkYv^k;Xi{P^hg<-SG65aCQ|$iS0Iwe{GxLx}aZf7_d11HlHg(E$qV z8lEdwu+%Wd%g2G1Q!agec7p>Y==Xpg!BA+|kyIu9Z`tAJe$xQpn|d}W#Eb@mB6-5s zr4kXV%hbyCID@_bdJrMjBRRfZWwSYui`1M)=rW*ZPMxwe7f;abY+J>EL9cX{2_gLC zeI|6?6*Mda<^>QahAD7~4CudzF(Pd2ZFMy{>}twvAf^MF6{#G?KkOWhfY_L{TV6NE|Ydt{1?qa4j1I4nce6tZyFj zLlw_F#NW&&mv%oLVG9ngWJ@GUFepWnvCtZ*;u(IIK){NGK*2 zcYN?rs^=(SSt+tI2epOFp^i9Cf*-RF+eq&CmlYifbkP~yEg(V8X=!=&J(@=TEl{4w zO_KZWo1ITDhCOiz&-_ZZ#DUu@0uy+hqy& z&ws!{)bEaIeu@%u>~9<#6e$w{|=mhXJS`^l- za?t3WCx?M@ErZfoAz(<6Q9Kb@RzNhq=GuO(90y}tth%5zUEFIWUA*IF zVQai_(As9-?vT!ra#DCF;~60uPSAh`utSt;;7Au^DrpxiqfC?u9FG&Y@`n5n$Kwg{ zH~u~W-d=Gx`|Zcx=}ZL;i8S<7GR?wZ&c|>v`p&_tyuXu709?~7D#k1s3Aqv{t-)L16?_0t3Gy)fI8D(%yz|+`sVU z1Efow0-l&6P$#@mnoF9wys++{)>C z{r`IBrl5C|&cDI3^8W^wx&PZ5`P)hk>;Hmfh;=@~Utu=I7Q4~FP60MFYYWkM?Svn@ z-&S%@O5EeDdu{Q$K-^Q2d}+U)|11?bNxc6+CdPKZ7pgdQ*CL1=X>r3a9W2b8ioDyK zWwr%VDJZp>GfF=+jVFv{YVf%4Z|MHIcso$eQY0_cotHYfF<;~uFSu#Vo~W15_SIo( z0ISYQULdpHwsscERzHDmJtHIj8FkZ z>2BfKa-e(pAMO@54dvcda??HaqZUHe`ez3j-|iL#yC1O&w@&UVRZQJpzA6%Tv{6em zbaRjh{k7vEV!#MU zV;H5lcJLs_R7Ll;X%f3zn!*LrRaY#Na;`dpNATGj(-h0=nWocisSk|U7j$C%M@hZ* zn5~(8fl-jMb&@~u5v%Y+l8}gKsai|2b+W>?xWPfZH@m7Uacs{waJsU>JYMoMJ1PqD zgTgJ3oI4oX2#btYjw425=k7Hrc0st%~I$VC%QYXq&IMtYYQ@KFxqC| z+EPE?0U4TsUg^^%TKBg`H(V9@i2_+B4Qx4mtXC%!#-w0FnbC5GZ^Q+JAf3$1v;@HDaS^sk#F(5!uFtKv7BOMsMD$sQ` zz=A)X8H?uPw#`;{KA`!{_+1!+0ZeR^)vqx;ffu0O^q4xc0*mb9^$R*LtAHr`)ng9` zwHRpS-kp9$hv9OHzO$&DJ! z@yKJb_H-|ck7nuUwbn%qhq~mHfgRnVo?-qU_4)Ib!PBHLuT)yObu| z6=%S6gmvz6-{7~=#fz?5be-B--P?Ld6fRmvv!ZnIBsMz7MzCg$i5ZgbP3CNns0VQ>dgZ zrDs}`(dw~x4wts=Q(haPv2p7iF5T`SDb z3Q7>7vlQsTij%gBtZRifszX82qsw;epZY(BxGFpw_kNPB}%F z=*ErKx7yg3eD4WH;t7EVZ+T>ewF_fCOf3liwuuI+$a1T{)6^DDT(+mgNL$lkNED}M z!xtf8X~RTVibOcOk}xJg%_EWGa%BI9ytjRybzfW?j`c`$_?t8n(H@+X$e+W;K!N^&eYwo$`+-GmV-PeU2qIMXlx+G2z zl-!_^9m%oZ^ahW8g_Hn4QfM|)Q&lf(It62L7CqvqUr5sJgQEU|Uhm8YJo9kNd1xb4 z@ko`(cV-$=9>`ZpLI>D2YuN~=mu(=B8{oqF^sEmBlD^s5`rj>G!wfprt`Z5qQueFb%7B53ECq{C&Ak6D{e z3|&eQgxS_106MJ>44(9YfdYqL|IIonEgn7w>#$;Ef@Z49LYrfX_>)0E(wAC68jAD+ zCi(5*-RPRW4@@z)CCAr2EquWc?gz<|`d~7PU@}+;kj`O9?$m^G*+QVt#E!j;^aQFj z9m6fI?;d(u;G)+OS#47lx+F6z({#k;w6e`7IqqfKX5q0=4l80K2A3Ik@SN~Pj(M9# zNQVjtvth-d#9NMG4i_WDK@QpD>=fo2@vt>}@>htfHpNIEFTbZA_~Oy+4f@3I&1NR{ z&z6eJi9S(V5@&^I$OK}lA}4t7#_fF&R~r-Lf=e5d5G(M#J7sB|?dgI$SyMOMfzNr( zo}4z9!%J4ZneWb*f)4OSkWvnlkGWGVK@U`wmI{e3gxc0ZEHo}r+~(^Ds9?U?UCYj5 zECx@W*6-n(fzQT1t&pE&v0P$a9-(?x$IbedEQWQ8&Arz}!e&dJvcOl^|w=gdeF1DW#Uq;;i4wA4on@3SD! z`a*fxM}*%ZOwJjN2_acOBy)`KT5-2O5-PMmPXGX4T>EU-*hb-(y3f+Y73rcnL%>+# zM&G&2bub6R;e4S$&}7&Sd|siaszl1fpUU4yeclmw2r$@LvvYwHiez*!4p<|QMxi$J z{kF~>;Ip+3K6NUU(Ii9OOrU-$+5Dta?AHMcCaRIf zxkGSoE_JWjEDwvV(H!9Foltzrc;L$3nbxR(K}U|E`lP*90X!c6gcd zUj{#D2$K&$iO1n%;Zjh4+q?@kIFJtk4>Tmi?1IK|2m1V4Zmjt|RYINhfHN>|WZcDz z;sf^io9Q0AL8^DHaaBsKLh}eRKH@#MIJsm%pg|T-MYORL43A8oeII;Q2hIuYID+P9 z+WiWDC^C;A-iq{GotZm{8DQ)sjoQ%ET{e%E=cj$r8bA5en$4Oa2yE;6u_}2wZCP!M zPHJYo7owwve>9VUfQW!LPPqJ+fq;Offq{Ss0lzvpxG*@|SelqRGw3^++BpCA;g?9J z|M|HxUPxwu5i#UE@Qr9wBbed?+;M>lP(>YQujqA*V&X`J%|itLi4E%+{|0 zfVeh$z%#$SfdKt(vHz?JBm0Z%pI7CV&;GZnFj)icEe^RCehZq_<4OHSxtpae{Vi9; z`vrJN4cR%ulvdaB)psK=t_Kc}`{?k{8^MLsZ!+<5pf5flB->8V@Cwxko7N{wA0J<+ zt_5{n6pD^^#Np)Z9NwOjt4xA-Xrf#hSsPRADv{|#A`8!YEbXYcgqf$z7)#debsL=3 zcK$?8lO=bJae+#MvScQZn*r;suej?Ye$J@AxvUdOA1U(pdn)kC_v+xNFj_U=KbzLj z5KNqEwZByk3OLr-|BdlmEin4D+LBf1;c>yL$Z!%mBHys$l|c?x;MBBtMOFMNh4#{Ts{OxP1r}Yti5pbYV`&s8&q;YLDAAs+?v_g zJo)P2RD?f@nOG`KRL7W-@F^NeVEaVWS-3p&)Aflo-nBu(wK+$wW#(S*cQ%kVI2F90 z5Fc2&()ol72Ai{|gUj?6Q*ml_VpvBZ&m5y3X;;r4BcbEuj;8hFF$m|*#WMlxQHAvi z?H|hQoobImU)Z}BCidVqIQ|eTM?o$Ie_oYeuO$3oRYdOkp zs%0IU{J3(>R7+)YG243}d``IX))BYW#`#TO_5gz;izASWvZlA;{VN*W6WZ#JWX_+c zFvN6==v%II!_+jhF&2!EUcEG?YmXtN%ClOTGxrRZa7&*5A#z#4~9~Bz&cmLk=9fWVp`(fm zXWch6J5wx5v)_?is6JM%md5(nqJEI|weCtTxV_^f1TA z!{*F|A}K`q^rKOco4>cGB#iMA3Y`C24+JRW07~vBX$VSYAj9xW(9)7Q;7ABT#O>uA zpxgJ{f+Ik|eFjIf=G1tEyg+j<#pJ%lbHLKDf{wwzzWtzH`P}AwCs=QTDXI z_Gs1_D8zWZW55UVjXJ~db~cl&`Pcw2U;*yJ{`IJxIs69e$5Y-&nbX|Y9wC#B-f`lc z&!z5H)D`1r%;#*kFuQWPjrX2F3LF>nRNA|9Z?+BBL*2ZzZ@~Y&JO}HZ>HRsm{5lou z50~e>B&R95B8Qo>&Q~Bqng~lHtZ{dpe_oy&1$6eMbSY)FEDTF<6jAY>5Fuc4N|wSX z6qOmhvN#h$LO|g+UN&B{$!TvThvGz4rBPvwsSZ~#9Z4oBGf)QG4!Nc^j?y3!XMDd2 z7Tab>Brd@ou*sI)7myGH^{mLj=gUxOe}Zl>2p>?{8H}=#}qhgbh8H><~%jk>WuVwm7B# zzzRjrh)+mrhePLB&Y8K`JPgakZ7GTC*7)*t{U(vl;MR+wE%}{zF+ZV*5=gEQzFn)M z=2P{VsE}sC0zdH=BT(e1y(^$#Ly;#)hesJuJ}cy#PFRllYY@Forf~p2V58d(&=gb zjUzBA@$S8{)ZUwE1$PPEBlmsfa0?gj)aFv5KPfk-io{##1Lz+~KuQeQwx1ZA0aTRe zZ&dxS!kFnFLH19|`1BuEFcD_kAX{YS2BWvmOTxxl2n787$;@-UwEj!$^aTnucq%Om zSCGhj8UBIUzNd$WGhkF0@sG}tCWd68#{S;U9z|G1_?M{6719wlhRCBIhiWq|gchk( zDl>_a!HQx{S+O=CVolnLTRBX}Klly5r?Ah<@_{(&FnfgIffI4KNm@6}qf{rBl@)$w zhfqk4G$pOey%pcoT9sb{VqEh6{I(M1f2HRjhp~dTcEF>u^sL6xE^zbp57iF4fDqoF zx8AR-j{mszaQ~Asw)roWF;o0cWlZ#dN(_h2KgEFHtwYjMpRK2|_^b7x(Z{G7bEjm6x@%Rw zN_?CKC}UDU>rp~oJ)wfAmD7Mkf>o(st=2F7z4f+#&I^TqMH#Q{hG6`8Res&V_(y7I zEvWQ=Jw*Zi|1?E?`JYcwSNS0|OMl)%zb^Cnqq6*0EksOr(i=4FdA;Y2u;=isWp*nS zA`*$NwecbUAOXR#@xsrq%NuAgaCRq)SW_e7+cMx~cRfpSz!Vh%n4*Za(?qWdm`=#G z;#|j2kIf`ag#c5OocMhJNqV*AncNC92kA{fM}HWbT@jW66*x ziHO~ky(&dUSW>hWo$<{nO|xu36SsP&{&(9s9T+2F|n9M$o{N~@D(m`4EpBuv^zp>At$t*nJ^3uH15+{Wqgs9%ikwE`FWHj2DSLoo$6RP}*_l>e~sKfG309uFPK`mV<|B zye0w(7nLxJ0)Kb63u7}C*+La?}^u0Gsq0qL4CS2YuwuM z(C-#dC)nH})Js|ht1+abLHsUPJLQgj);wNNIa){Y((J73HQv*?xSTqvs%z3I_=(d(YrFU93e)V??~6S9s?*mEn@LhHqnZ_9bM z*?Go{)A2s9NO>L(DfFBn=Jd41vGw3o-A@fga%3{#rNwFu{+S5>!m2;#g5ec1{C2>D zXCMOs5di+iPZ#Dl`{h4R2fzBHGi@BOawCe}OFoNy=aW0RiO6sZifa=TR^;y?oo6Th zOtOahcrOYTg4&A~Ws&k}IkCWVJ(@+o>%8JXa4L1tL>L|!DSp&eDZ`fh(_*u_3erQa zTpo=zC5ptAQEN*_nt)=Fi1Wz#*s4Sf#tuszOkP*4an89#%}dXsNd^VZ@f|m-OmmEN zcJ~3@Ahpy`-SH!06id!*`AD!f8Z+ALqsF{{*4kw8#Np6hjW_eRRQG`{Y8WeAtLCD( zi218=>V;fKifsYLVjWDB;JhJOz}+E?El%%L@<}no0vX9=QH?b|MON^V4QxS&2G1&z zRF7fy(I0-63-qf#V8X2s5717FMFJ0|p{wO=X_OH@RffVCf(0DlF~GViMkaiY4XWGQP{b62htmauu2UBwe5X)TPZ(*|Z5MMK0$ zkU)cqJS6N07YZHOvfai`>0vABts1==4>+8%3QEbLi~@B!$#%eEjgbzZ-`@7-0U#dAipMAaX>{L!N_{y~);+l%>DxNE5}WWcqxFTWkuagE}Su z;!kj^SW6U!>$SeJ!U590@giH$Vnj|56so00$hdsqbHJ7rn=@@s7%t~v77ffcAz5q9 zp|Hk)3ztfQ?L(|Y8NdoVai~jG4N)zsZ4lMF zgy>usWSf)1Cm64NO8Ytdj@fXF2Z>r#{1LyiUzn{`Vv%rHSWoK+L-U>B#<}X7Im6>5 zPa2n=hpJ6pjjY_Qx?I)k%;vvHzn`mM1&VU)U#QFPy0u z>QauX34j+eF<8@ir3_hm<0DnpJ1ejEa;m5AwU~2tnFePqB_)Dv^M&uz}7Cj-jz5OW5O?tB>j25zAOIQ7EWB-y%Ojl!j*<2TwPRyZat&5ut;S#ZE@s@<7r-K zF`XIssw%45$tkcF>avb5*mJXNg!Ik>-L)c1o>Aw$o8*Phq{2!gBm1*FwC@wWCa?>2 zMr33<6Ul(STi>+DQo%F$5SwOmVn&fqbu<i0pYN~i9hl7jCXa<%dBFVQZP*b`YcaA`&&(`kUk#-BZFjelK+tI~U zg-s`wzBUd)6r^?8x_cS(DRyTzJ=k=k$7m7x8w+p%7YDUz9YvoODZz#fUN$aw_=+|y zn|zeiP6Rn-DWR?)YN?rbEO7~S;@ra=Hf1OYZ_3ZeJg0Jv$We->JV9)N5-06v%CE*S zwUb0yf;mfWLYaW>Wkv2zMk&bJqCw3pN9@?Q_EfqsE9@Vj2Ab(5`9M8(?}!a9zqeu` zm4*7PM*%UfI%?e%8^Y~CDXaM27?^O+azRtWxXXAO1<}`iG|Ihm)(J@Z8~4_olo60h z)rOf#{ChU+-Ow;E=gO;*cdZm1yp$BpwMYFvYWGfL2yF8l*=+}m--*jAwzG*^d&i`) z?XUEh4K37XYIAd)u$YzMKUcfn7|I>+$JB8c@*;1vR9^?$dgum{+=mdK4U*=Q$|_q-dUlVW3_UM7X6LrnW@8mPN+A3Wkx_a zEQ~&s-fwj<5)F4xZ_=%jzjs|QzGQO4hT5@>?VM+k@+)*J*9z|Ir&g;MIP15n_=_)+ zmh>wax~!zPS8bFrxF=73!MsZ(kj5E#ly`;_IvqNzP_ZW$&&~}=)VK=@{W3?I*j8}% zPT9sO2DqmDNvu7nh7^R9SBZ#90%Ixs+V2Ry&gR@`+ZY!@yz*1k^y92I#g$YRp-6E4Tgg1cRATS`HL&+pwyGHqu zc4bWAI)y;ahF#lwrUf!~> zU_a%LAK%XP`Tc(E5AS`@3)P2E4Ng`L`HXIVb#^L`Q8`<4B}(85T_|)znQtT8Z4~7X za3lY9U(^^-pIHhZF6%@43*_*NI!`p#0OWw#MNsRG*k~<|>RPB&G6UcSa-r&rcvc3)NbxaGH6o&sksO<&%=~Y6}TYg z$HD-vwlf(X`TVI(TZ@Mvhps4sg*EesCY1N@*+}o5xkOW(ldl7*+PL=|7ah}Q>nBT& zQaQ=H&<4pPg@noPoI*Cr&PYQqzXM5)i)6Gw56B^bs(ON&PZvk#oqy9Nug1Rp$6JlcE`&TK5Nt3#O4(#?wr5> z5Iqn4oTrU2;l*sPI{gdS?6Q5R`(z<~_?{lii+qAIhUhUQOBqbQZ}87Q3Ov9! zBzF}mlt_bX6W;9YGDp-<6cmbk!!r*g1Ap`85@$74VA=q|bru-7u=3y?h%RzXrUKKh z+Xiw6Ip;k)vx;vH^Je*Ufxa}J!T|4P&c92abAIWD%ai%E>{)tzTjzXYKtsqWEQISZ zLMjx@OH;3S5X^ZcRrzFiv3(*NYi^#+ZGZDDKK<(p#9RZ}A(t#?d;g>eddej&+sGh;L4dh8yh7C*qGFA8dIG@lCHe4f~)TJv^@v=b8A*PN~U5|u_j}} zL~c+|Q0Z7768PI?s0grop>$}%;p+rAiQpWgaznhPnB}!IplQBPRk!rU(cy3CZ_#db zrtJf+bnusU{Tem5rgm6uXx^9)OtXe8t^`W`?r~voJoS!Stqf1h1d18gYHkxKOV!5Q zdjcRwl7i-9pO|)iH1)m)E%+7HuBKpZF%FDG!NJZN!vJG^_>MTv(U%sw?CYt~P8`IS zIKqE9dPhrN%NuA32`fm9E&TL|+4{vXt}ILlaoO#I?;8Y$%ez5nWbD$dr{-?|r`OY* z{YyasSbvO2xilyh%&0q&Ii1Q!IGQJQ&lv@_cZEW(6@V*>-t-jS!2XEU8lkgC5&)Yf ziokzQU+nB%Or2GJ+X(yn_rEBuQdPztg$c2XMfhG*FwRy?lw;#C%21P2L=}HDaW?s*R z1sbBNL7mddM!^|4a(llV4JcGbeTd$slOJd-HM&8WQc^Pjjm?ITX-b9>7i|kos33e* z)GK(H?d|op6Sa-v=Lft8RHgPgcv_wv+~yV->4L^`_2JQ>cTy)E5 zh}xm3KMGKS$y!Y>!!xhRwJ8rmrP`OeKuyC^Ca`n3PVKH$c9`dy3n#=ulTK*z?17l7 z60pzyiCw&h26*WwNlq2X3kxJ&^^aHK90br8+4&Kw5NG<_5+K@XbfoX) zX&_H7KJE7ay>L+2$7@Q!wuiP@V|X7{A~ywpJPdz}QG!_#$x>__JWaa}vcCTI9NZzx zjBrm%vgZ-IJ;bh5^f1_rt^OdbGONF<7D)?4d{0a=p?a1PjLa5vMa<;DMJ7hB3mlXk z7*)FslT9P8`AOzYr-fXyN8g)If|ibTPMn6q(Pm9+!H72d8@M!5Py@-~I|nd23#~gw zY8-3>`Hvt-TX37!ZY?euj%YEP2+3~{G+$p^rZLBx5!_GenPf6XHV%3HA`T1r^1rg%!<8fBRuPd7ijI0cDB9JY z6ZoK3ULRvSagenvI2|sHKYiuk+2P~Y#F|V&%y)9rz`ePL0at5NUa`_x-}E{4rPUBM zl*!8uF`N~ol^3`Fiu)Ac3K<{Y9RtEdYb7eM#XE)_9qzl|n_#yWh$OkBc*z{@9cj%f zu>SR}Cq}X9;JIJsdBdid)W^}uu*V38^aHx&vT>DI)X#2$z!bYdrg5H=DA*MjM4 zK{pi8p-C!6ufhwd$*l($lx*_*UwCE&J4emd>{>PDzvy1CxK)BxYcQCTUthM;P<+U2 zydn)kV_t#Y6{kL~ps+FZeGO*Qr`Xb#La9Js?{*eS0Blk#|x*>rsDxR;#i48K##;kW-*f9wXI^DU?O?oyVq{r)##n-+^AumFHftRN5?J3B<0CtJYt2pB;B z71#)09G*J?z!n6+{_iRI@7(On@cZ|_+|qyK=}w9>5JYG>Y71Z@Asn{TvhA(qhIVv6 zL+{jJ{pscQwZfT%_eZ9-ANOx#_A~jobS=fSE`+pL=-`JTz<~R!;)*lSIhJz7?O~9K zSpuo74YVqWP)iz88RXXomLUUjJE2h6>5ecrg6DdyXK16VK!V(hZZpJqA0wfs{qppy z4gf@rQ=ZN$W`BNP*KA6~m8HFD!C2?KEmRlY8m868=;8e2;f(*TZFKQoIfID3OOd#$ zSJ(SPBg?7zIlA51^{p7sy(o00h7jz$Mq1zTDrW_3I z8@I1zLN7J)Ce(xY*zq`oi|5NFuq`)euC@?LIen}DH(WRebZKZpeb$N(6KFe%+GIV6 z{XAJ9fm>Z#uOx`ZNQUZ&-loRgJQe9>TfPoG4W$)B*`Dh8jcpkNpZiCIA{g3^(Aw8J zR!9ZDGzMLArtJVvh@E}0#gu3_JehK_9Bk{6tcZEsd1#Z;@f8e0rNJ^I$}C01aI7LE z(0TlBvwcDi6!9507)&RiF{Qz@AWa{|%)^$i*KCSoc{qNV`5ffgCa#-NUV*?Fq|nD} zY3+5IPB=zXa7&LqfUzh%R6{#nM9rW_MqYT*2OIo6!TS)Z8E}Eol`PJ-M)Z~(p>PV> zj}0YzjHXN6zWeM9k_1ZJxckjc2;)%_)rQWK5^&T)wzuKhZ6 z4g0Iu$NaQMyY=FGy0Hp-Lf237v08rYw}{K$<7O~^^YfpE`c357P3WVP-7Rs?OX>&? z`$ntt6BpMm!Y&^jwYp1!ebnS>#rYSRCRIx6I(|G;TFl*GtBL>v~%L34>R&Ph(UE)f;3^Rg+OmrEsF!9{9LY@2UNKvn;y~ z^2ikBl3G~}{$=vx4$040n7Nfzh{J3+R^I?*#3~lxpqw+$YE03$ zmC+oeO5;#nk@e37e(vQV+25WHl+09qQ{$Gm*rm5RT-dI&6JEn-?DmUW>U^gbymEUM zVtdRqu8Bk6+_2Z;H@O$kbu3%m{IP2Y=B_{>3bm*haRz5ZGnB0v349(+SXud9Qv$<5 z3z0xi>$Irkh>6x03LDaEFX_W)gxNU2qb<@`dGp_~A@Euf>hA0Z2a$q~IY}No3TG}% zm6)S!QH9xi_$H4{v>29GQ_E{;_Y}pMXtm6L{<1aij1&=80)i?88eA%-Sh~qn&n-Oh zsB~a0RTq?shfFO*D7eG|2aaLURPe;_dQHgmx_s0MVR=EK(B;Go?;}GmxzWjQLy2`x z$I%`+hQP|U=Z{S6mBLgmB$(Io(kgr^-B={0n|p-;?%t@qdA=*anQUEmLU^r?V1DPc zxqhX;_Wo(sxiot}LFL}d|Ha2kqJo?_{MfD>pwv^(sN?}kT{GiC>_>%I@xU~%A?GCd zH1jc5l`itw4Pvza9}1eDS3JHl0Nls_6z;!btIGHPF?fo5E388hqOz6c3aSEV-BKYu z$XcNuK^|sURnYzn{zT);mgb|(5Hw2R804ij^CRdrMP3Hhp<|be zG5ob1rJF&?$Q8!zFaBHrr0}+^L zEV$%NpAVRDt@z@LO%Y~^EB?4;qM}&hh4IR(Cm?leE|{0DBwI--wzvh-E8+YOp7Cnb=};#xJNLsa?m2 zaJGNM95^+oXbDJ_0+skUw)cojEj6pOR zxeX)$Qjb8h@m}{)2;mx_U-Nfe;KyH-#G+cpryM^OZvux0v4lcJh9kY zyge?Ox#s@lUpKe@+~KfSA#q*+KzZ|@qWo6~`41?seL@GvC$`vU`#tKTXa z<3|8ao(+K0QwQ32m8E`cn;7>PrT%>&T{pRA7zGTZ(uoBGLK%o0TuY`}1>JB!mgZ~r zz0)tW-;XVMU}Tg3!(jQv>9(5}-F+34YSC)r26NJYfmBEFY3Xo05l(Hy#5_s6qOvCE zBKdX@Wz$FH!#S#4CAY)d9M|Sdy0z-NcGmoN?DN9Hr!G(dczhS@KY^a;{x^pOC+y{{ z1HCCwVK!)@xEcrHn{L$Hk#(rGLUI8;;BF=!w`R`jjl9(&5^HrBPKr7F8cFY!CK{+o z4dsbogfW_&&`Sq8mJymtwG(6wB@`rG@zv93IiKhhN`~QGLA|(UfZ))eaAJYWkhS2< z@ylnwDP0uO0f6BGK^x;yh{cc{EwWaw96_|O4Ne`fr0<(oB$)P8X&A?b4u8J@ z!-jE&!QFYqmv7QPjsbp47&cLsc_KyCZFCbolqvS^=+B|^U&qn`_jM&T0KfY~{@Gai zYeQqBs+|2gJ7Oosfj{O!mhOtYHfm;N5V>U}P>iw1hKeF8DpvwzB5q*eVuk-#A~Mr# z_UijMJy9o4f^)uvg47!L#U6Z-FW;LM9v&;-xg;dHZ8SaZ+-)4~LmMH>Ly5pQFND{5 zxjwwOGrSBb^+DpEZ;RVh@RN0y9aDNY5?7BF>~y9CqD7?URj4A~XDwwsZl9c#tU{lb zbMa>(E7(?$b&+vtxL8Uf&x8*w8`t>i)IX^F(k)2`41~JO9IY(WA7{UU5AZraeGUBj zaIDx=bGHQCXf#Oe&{xl>%4a`eXL@*Ns{BUMpN1j)d6C4Ox$v!66V%3%XEm)O?P5P z)K)l_eBcaRk>_18Ms>e_zJ#W1B6dzcMa0#Cw`9To*lg*2Qzl-?1~XTnK5MoGul(MF z@Lu`)moQfPPsNw4bD>`}9EQ#QbMM40?BnZa~0#f zg6S>5Yzbk&*FYl(52_WcJ$OL<i$rZSz zD$_svv2O!LQ3c;GdzB9awfDfd9GpzkBmsQsfxF15jCmOAOk|?DGggOiJt|l2`vl~} zOIfc&pd^+NZBj;_J{RVghyDzMYPaaj6Oz})P7eM8bJoa zy9~3uZq;xMV-z)6fH46#{A|3Km{w7!IcgCu!%o6u_T#|fz^hgZ+)C8wway{y0$t9D zHn?~9;sm5vU_oq+pe3XR{6va20l2 z)rzS>vTQ86w0fY6@G-G&^_5R1lW%Z>9(*{FsY{=bIG?SBoUy|dZv7$E2y#xL;P%59 z+V>X>aQvhYo~EwtXWd&woQ_(rpMRWkBXGM;&TYuP+#p?|=>O8u`uJF}kaN(tsYK@0O$hGjVGkA zg{j#|84J^C!Qj4VRB%N9`*Q_CT_%ptjcq4Xn@C3S&wG4>rX6`+KAo*Zj2SeGA5vps z=EE-ySSxD$RKP9~?%f#19^B-rPbT1+qC&^JX(}kW*Uc1zl<^wNpMGFzFTDJ~vaVAg zj7>mS0|E48`spEU)hr}ImJO0!<@;r@iukSP`29~pkpd8|IXw_&oT#Mhp}f-P+=tpe znZ)Jg*yWc8{7I!JbwM3bSzMYgy`KxdIcSA|{P2~709gC2%ZaVk9JgshC#*5^lIlX| z*i(&sX#z1EQ`dLiZj`N&#;Rkja-Qk#=*Kd&GGd7}c1l*YEmLtIahC18A7lOlOP4QF=nr#-Q_*|Y?|9G-*epv= zOl%|zVMb+fPEy@^B%P%aY~+~D32I&;J!Ps6)%W6XQfMlw!OSF*Rg;p%ty%6+)~;NWd(B832E6my7JTX4BhQN2#8!1Est8K#O2fD9hS#rdllXj zqGs4f>`F-|Htj1A{TMeK6BcKoE>~qms=E9kkwjW0#&cTVP=XcpmP-r2aUI>&{p=F1 zdv7;L=fD1np`ZWaspxp%2-NZH1On9A^=)ng-uMja)fMMe4s7p7yK;(O{N+xu^7fma zxR<(W{Ql6$fq}AO%BaWfAD@6RAm0&e2k16aK(`V8ZOhQ_UhF^mvP{3;^{Y&_wI<;} z9R7;&h!+|nJT{n;_`_>3%eiq$kE>;`kIPq8I(;Fwlh{jmj@wPZS7O!Gra6^6B*?UA zp?~68yx^_NuYn1B5fzX;=;=mNpv5IuE4i`N__cd;Jaz@9&9Ikd7kPdz(&%h`1vH$W znQlI0$JZgOsS0*70Tkk~6xgA#Ey}xZ5^K*V$fwW@eYD}VJ6B24{wlocb%*PEy;&I=@?vv%67+Sqao7WU&kDj> zh58n8=ZbacP||wIhUTtug~6X&Pe3Mo5)7vZBoA$20Y8;c>f~*cQcS z(0D3?!#2k4iV=wIWQr=<-XLk)bf5wg2R8ERd(KdVG|YsG7hn+(d}9;8t^q;J#_clf z-Is4!iS^go;j2X_$SAyugl6;4^<e^eV-+#FWc%3PY<+MEpu_Tz+pTBepFq}7L$M@W$u#-Dclr~ zCF24|S2usiL|a-m=vo}>ka7y+%suD6!a%zax}#$WzMyC@%>}`XD6UqsJ?U1wN87fm zwAs7G*A2zR7naUk$`&%w>zQmp z`ZX+KXq21$Q}NC%zBCx#)xM*W0>i9YX_Kkn6)DB9CTz%aG~7{>mjSAPq; z->=yLEH+<>ZGuW)yKOz7yizIEF)_3mak+0`MBlwAtYN-dd2?iTo1bjh0;Vy7$NHvW zXD;)*=#L6oRgxh5lGeq8y&m0!1}$_&WyOQd#~%xt!Jy*P6aJQ>PykYt*o~hlib2QE z6h$=JPS|qm9V?9SanIJqoYy2VzOR_fv|5@vjaN(eTc{Pe-0bjE$-vsKvXh6sXI1Y2 zeFVfHu@QoB8>5M{!ss3^sBB`vxljfXN0*|hR#5vLU>eI%*rZ!u-#?BrJBy&LGX`Ul zH8zG`)xWWOu*m4h^AAz)PmxC*A>=*ff! zJ5ZY)C4r{kO5%)44 zcMV8hjd|Mf*dT2>XZ$scjgV6hi0RObK&0|x$z@GevBocRCs1O(YFZo31sQ*$0+R-p z<4t0dFp8E~F~LKDTYY3})lA$FD&Yq{Yb~)@li%*WzK|Bj6B8WQ^m_G;A`lKop zSW6=U>ah&BGu*d`zw)|%$VF`V14Q26(i1aNJS8Efb>Y3pV1BdNKox|RFbFgOxInoT zDvv6ZNug^?11*w!%zI0PgQc05x^S)2P}#SjbUV;XP^#`WfmDpoT|#K~G>->ds4)#; zW!`e#e*AJlRQt&btS zoy=V?W7Plc`{jMdHI$wE<*t!4uE6Y&dx{T;*xEogIJ=8x|7)((utgiXX5P2prK;DV1_?(QZd zGBI(85TiK^`-)Xj3NjV3JwP%->Rb&j>`Xh&kUn-5_ceG=RG{&3bN&!yODsOxd6C&Z zwIbv4`P{K!U?lZ3H(VAW(Z#H9O*H}JhQ*_^9|HvNg`rhGxGkT+UC#7hxlO zD-yMIg^R!mV}Kx|ciG@c0mO!Z1XfxWyb60BgwE;7Z8AF+0x>U=scJUVK4oid0w0&; zjPAie=ClEp@``9kOE?bL!`2){K}5qE5GlJLwk8L(KN9F=lbmQiSzg_}$0RXStf$M1 z<#a@C+=awDJck?74>6s+i68_}R^1$;-VkP414s>`$lI@%x}f`H@YgIwfQT<5j>xNZ zg7UHPKCTBWkR;HdLRXvnNCi9xcqhj&zd3&wGlag4Ey275w~!X4fJ|k=0T=$jfYSrz zZs+N9ZPjpA_q|uFBsK)_en2g6^rRN_=n!OxRVkJc3yB?{V!*8uC-rlwozg3+1Wd5x z+J(Uim3UorX6b@o>5YKKp&B*=;%)mdp4Z9|nVN_C+Hg&t?TN7LM#a<1aT!i@nlW6B z41xf_i!i+)PkW)=8+$W3v&yFWrYK>WZJH>uar4WIuzFhgV=sdA{6+;DAjK{L5&56c z``}Z?Hh(ysReLt7el`^XgBG?j9PBG9g)mk?uJ{=h%K7^a%lFaKxd?3|ukCpH zd^IuaaIgIm$+{KPXr^WJu^IYZs5X%t8(npcym$`u-$U|7#K@qRX8XH856RDFYSdiJ zt&d3-WHa)c@27u-VV}U39H^K#+y6#c$JN*;v9OM3AKj|IWh{5*6U4o4T%?AqJ z1Ko9{h2vZ~NliU*nL8RciF01HW_e?868brAK6Yr{#0`RZzg2n3^2DaN4(qTA%{CxD zh32;85|EMO=L>=*o zvkRtl2fq*MXsHnlNtKJ1E6#~ed?Un^?V8~qP+lQ$U8=UuU*s0_2~Lx zg2|#7HJGT-m_Hj0Nzu?hA3CZqiRtE{*NG+2L-Hld$$`5a9<(1C9SbYkbS4vced4sw z8B&15DpoRs3pgwm&=v!iC1!v31hPBuPmorR zxr#>je{;~wX1JkqyZ0(N?-DQBkriI@t?~Eh)ElPGHiTzrkGKPU>u{M?3|#qtjJ;!& zC2O;;T}GE}+qP|X*|u%lwr$(hW!qi0U0v0MK69;if8(6*>~+T4Kj+MmzcM2uo;$9% zqhD6%?RHw1H4~ZN5$Qt-os0H0Z$X-@P*%j@&p&I{jMd$JpMa#%`|ok|Umf=?yCuQD z%Oo|w{ZKQRPN>i_C@n!r#iBA_VJKU7ikB*HV{_Z2esecl4qz?i5`I#>_*19Z`{~!a z=Sl2UA<^sY8ZYLJdQ8sqRJZ4vE>8dcUrk0CA>V&^KsH;!Y4q}Yz3wr}<|+WNKs@=8 z8Y|^*-)EKB4Z!7nfF$P9__Y$x*jIJL?vo$1h7ewU={wN0RENEKqQ^`es!7U;=Cc_jzpbdF~jZ>`oMi?TUH1hIapCnp}MX63h z%luIB@nGyo)m}>l1t@y>@kU)*;@R~8F3=2ZqJQ=e@0LMo##OA7aq3Juj*sc%4TL>E z`kuBJOEvz_T^D$9ZkS@UhIqB*ffI2_iykG!jb!UQ5>VLuo*v;7UZyMXdvkuc@>UFjP1#=Twf$bvH*D;*)j;ZEB?4PM&KHF#Lr}lvmU2g)%yN>SFk|~%7jboqPxH-u6TuCBqvFJlPI;r#1(2F#av~F@#u_v!e+f7&bh4avedrG zmaq|RhPlBa1e&8}u$ZxFQv0LJB3WalRZpvJafm0-G6P^kN?1naLr(TQ&|y#{BJhL`w3GZK zsAStd?cLTaOGiRdPTAdspX?NVL+J=XhNT(&BpF1FY1Qs&vq`{q-nw9DV!{TcM#dGW4hSHAs@A^j^k$q-&2%ksb+ zsm~=eiH^ikN0x{~=(fvog7Q(A=l4I-w1Y(&R3>F;Ux@=OgT30Qx=BnC6BmEr`+0_m}GBeinGbCP(&%iZM~&77)1N zn}W2410M~f)Vma6O4b_os3Y=G+u1)}@9yyGL)*k|3105qO)JTKT$(BejW9?9kN^N; zsV@LPd>4HLCJvq0i6@MW%+A41ojo%LCfvSykol{Juj$*G16GEnT4SKLtdbG*D{6I(+u%bo#K|HIS$he+>rzReM^k&3S_nzGE+>K z4gY61a_N#fthPdCu~PbT5yw@_TN7}9-GBN$*39ai-`fGSN?9Y$`OnI>0@>==H$cA! zQJr9%=vX>VlQN9_0970GZKPa6Joqruf|yZ>xNzi~Mv8&heB1&pGtw>Avy<91UJ)?N zL*7ha$N&hf5N1|OO+7G8IYcD}qq````st=TCy6!#2wIG?xSG{4sxX(Nm{6Iuy_OpL zC?hN@g_M+dV$)=dD^kcJs}hrl3%+ZuKa!UgfuyXg%e2(SYZ~DSeM>h{F3L>4>XcbB z?t_ujl!bf@iVE;SBq2?8DPzb~H|FzCMJ{ZU*v|#gog{rH6ph z6=chHN{YjQ_Oqaxu1|3gc^ha5hT@0dZ`O|jz`(q4-ztQF3eUEVVK*Hca@uf3k5m-g zoAiJ3d?CpDEX8@lE@qEu?^jixKIyifo*$8&M3UzV|3Z0wIVS&Blci|9>*9Tg_4Rg^ z<{Pwe>u>pkW4}H<6Zuopf|b5${QLW_7?si3h+1OVyK#1WL z-=>pIV8<5JJzBikT?8Q|#v7`s3DK_CFPPr$?b%v}G>vTX^N#Jvl}jIlCOZeSx5w>;xq==Fyv$s z>+I90J}$O>DEpZ5Y1@eUa>AC?%EY0C1TXhb?K4fx5Rk z0h6oI0`x-9ZO>v_s}Sj9Gl*hZ5;S;p4FiU}^Kc-J`Z+x%0H)(MC+nJ%uDX4WGw?DlPY99*`RfAK9MC)DZ}^szgB*zbw*I<3^4 zi%!*Fta`igQwTN*Mr1>@sJ?QJxa!!CfAvC9!u3b+glmvQ6&u+xQ^9n+YD=Pg2lSl_ z_uar$q7{)cN_6*QqS4}-GnLdbI|He{DWk*^T90jmMq}HmX%u9wBoa0-pdor~qrA+M z;suX_hc3&3qdH@esaXefQ!?OE&;}vQQX16^Y>z)0ga15ZG^H}W`q81GNT<2Yi5A^sK0;raj|r{BPf@6CvWy_3Dj4)_@2K#bZ)eoLV{c3S`^NASGI8 zk)h^>Ct@i1I5iW$BvkH+mqW@wpd~-mHd(xmUJZxzXJ$gSjN4V?^omqFDmR|HH0AZ` zH0RYwX7}WHkn;dYj9VN<#^nON>nrt#YckcnK+xq4Z?unBu$pUil42PZ^9SIV^4~+m z8m5~&7I0(Ob1V;BaHJ$spFx< zTuI7T{{1r2QMs*}yaf!%0yk@1J-j}TZd=%AOrqCUOPoWsvh_XiXpg9I_qq$cSzqKE!S8|!?uu&j40JdP|YG-ST>j@rU@ z^KyECvF>bJIU|U>cXzD?*W+AhwOB$VE!dB=ikE)p6nh*4WDt^2s-1XgZW0?KTazyd zK$tv^zoZY=e^RGhSNov}${5vvOlcFB86A#VsFk%bfW9#NGQ)ltX@j@@LSbL0rz!GJ z@29QbXAi_gAMsPIxU^sY_PoVWvyl>jM>CsTEr`ExM_M==-VOxR<9_u7w>)ME5`mT(3(l*w!M@kX zCE(E|13fu|I_Yx!ADq7UqmQX}IX_iXEW0`UyY%`cxAZ57PAB6`6B%S>FI!kN$oc)H z+0L(&e?jG4A`($u2wAjVLyf{@6@>=)yK@uHmxhpc%!)V>Hj2{(1}nzdeY@i=w620; zvV|Fm72<}Ux6JbIr(;4y7fe!XtrF=wX%Qg~wnLlz=UvxHsA4~}09;(6y--_8;{24l_2dsk zONhc_rvsgJ<31H94+=eD@_KRMDdBWh9HqgNkAZ9qwt-ebD*90T)T`6ma+4AFP@qYq&Or+y;60|G9MfN409%T)Iyg5vfaVI3vYje5r0w308#9( zK@>snIyt}~ie_UmyKjYZwuYlqloui6yJCP)0N!o??ZC~beD-o($`r^D0Q||w1OWRu zGirMx!ERc(aR}ca)QYTZ{?a1);`mW%MGaHuEey2)TEx=Er8YIwnP++@WH|-mG>xQJ0s7KXRa$=_yaT0iqu=vjRYw79`DlhYG5a?Pw&G11oQ5y zjN-F>zBmTwG0f1VKDt>F^ov@4M@hQu>)7qpaST><_DY$m3k8g%q}$y9^ft=0%|EC& zMyXT_vhjO!P2&p!rRFV4Qk37<=KTIKT_xCIH6H-pak+o5=>Cf|u(e-eMEr^y_UAl) z)Vc*nq_(EOWXJ;3Zneut6t44?t9gUlnpyOpP~)t$;i9jr=SSEjQ!)J?2yF+2ZD7eFtCI;*$>KCpY{QtnQ=xi9-666`(qQj8g6{E-mv%3N+Islqq zlM>&{@dwqO-++{(_L)x-<$&DmFEqazfabS-A%9FOhjWpJ{l~>-NV0m7IIM?3i~W=KX{PI>h`EY3B}H8xg6b;y`15AIKy7HO&3^;S z4dpCL(!@Dfdc?A97#du3Oap^>b9q8f`nesE26#+Y$OrVgTDS5vb}~K$d{Ju4riZgV zGD>>B;FiZ!PRkF|Db^!5ZQC{jzqkOvviwN}h4YRY;3XgW>m|?S>7=GqZdUTgttTiw z0mVAf*l0j|NQ|>gQ^Vd0o~uWf%TnCF2dh*@;^aeg2n^IhA-eAzCDKuqtkt59_BO~7 zh2xEoCX;?*PN3bZCmRJ*9zk99$-MMIs7Myt2od76mO>+498AE73S}&ZO5NXwsQ6A7 zW=LPSjIMmr8rBi}=;8&Z(zEFZ9acX;*q#uYRZqFFUSJ^-3rksyZQ&Z^%Uhv|9^i^OJP;7= zf1v??yNSpdI=h%U{r{HC{O7O#ZMZU=u5TU8h&Zqd`3|4-3yZ<_n!xIv86uP~_68J; z&o+bHXpyP^^T)ShVfU*-2Zo^X&i8v6-sJ1AYU^YL+#bg^!~`>9A?>co^)kfUvGnp( zNuT+)#oA_#2&CTiTYQ2x`}GS%$hYKkU*u*D{fO^SpW@Q`c@0bau6&!XC2k_+B0YH6 z8H6>+@Roxcz*H2>OTtz4TKy_?O+rh{-!rI0n;EA%E-@zQZKk4NwxNBni zhKa6iAInKr<$+zwHJY1hsoJ~ucrdNwGgg( zU)XCo%rG9P&xHI9r#b4udiC-rE=X(klTql5>~tH%CwCOt&&ufj5IfO5;kq1WbO$vJ z&pxZBeq6a`(0J(+BSGjoOopuSTs8f9=BnEc)m;wNn6-hiIlXNqBJ282S>*@b{NMWt z&X*?_W#*GEi3=hilUVSMr?p1k0)6>K+-~n|6;LkIGIZ3n%{f|y%a}FCzBAdXx(!zYU$)GH5?}Wr zoG2Dt!+gZE3ry!cC|6=*oH;QK7(QstN{o`2sRq3=IK?7^a0M8eKPJ0!9yp{r=h2ri z@eN`k*m)WkcXb%9AVoMFdH~0F6ImaM3z8$*(PARl4g#x+*@Iwo6 z!rI03?r#Y%^v2!Ooa~R3mgVL_3;VSrq;}Er-ZKJD-+VEGV^+cWiombXAAleVz^+nV z^j~?RIuTy+0+|}GymxE?YaI6an=kv}KHMKZ+ynl!`Tc>PcOO2^JB#)>MEg7q_mj}M ziR?o!G@6tM)@!;YJlC6dM{~08-@PS17W(;RhvZ#wizVdGYyS{%)MSwb>%<1Lxc;;4 zHE_lj2HD9>`!r#lI#G3cq^Hc%m;EvRjrtSuFxp9KPFiYWi}ZV~G(#EL1Wa;^sbxt% z+ywk$Ypz`(WKGwiora@G!jY+*YWn<8RiV?5=NKA>VS6R{CSLoF@nMBh@4I7lF4dH3 z5YQbJ-H7B6bR7)*6Gv&)_FF6ac@{GZp(ZFKgfhZzI=!od+I0)BOmq2i1GMUio3Dv# zEM+InmShY~r6xJp2eqam^>4~il@K2f6|(iiJ390YHHN} zV4D0isEIk=_l30B%PM7Z(NCmi_Y$emQ<=SLIl~t2nV=k|am_KO%iI%(A+uAwrPIn* zetyUB3{c@iK%KK5i?=+(BVSA=y4-U0~`TM>^8chx82lwd0}xU*WqxO1Bd!v26(Q;=}giqiR-Uk=I^JX3^kTe_@ zX%`DWK9U7Kj{K|R7H)s{FuQ#~o>sDJ%Ugphs)68&-TB~c{IPEBBQH90ce5#UcQ)PA zdCA6MbMqx$E*YaL5nbP&@$E7v)qH36Ek#%~Rf|h^u?LjL6}hdMC)>P+hr=GBUCMKi z@Zn-I?#eh_&fTFqw;2lC+%d}>F~_GvBL|edZ0Rn)aw+1&nA3&QA&gTLJ~Kv_;+r@L zBIB)K#ai|de0WWA@{~LkJy*rJ~!@%T0Rt8 zQ@E`Q+pX*L_$4mi?sHWAkv0OW4_AdETP^dbNwDQU zh_F5LM1=ie1x(Ihbs1bn5BG<0;(zQ9U;DSJYYZV#0ol630&F=B8Fu?W%lU%7-#@H# z3D!1=YOAFE^w1!kX$%qa8>~R9$-`vxq{U=C;m#TxiGjcTHm~2jg=YVFZMEVF_#zh@ zF0`!&{CEooZ*ZqtB|FVxnN0S~P9oi`Q3E{~bQuBQYSB21!+QD~+@rq2b-RgRkfczl zjqiqgVF)NtFD*@`;a-bqn+pgdQnP-sG%&K#$E@i6A!@&&wN6=Re>a>B6(MMG+gqVf zZU<-Qp~bE}dB`DHdPy!Fa`5>rp|JApWuAJf`2?|0@wc(jJ?g7SEGe@C)1UeJsOsIh zS1C5E7Bl06rQvx310OdBo&o!mrrMOF$yiTHKnd{SPb#C1PalRwBfZB3T^F*;ACoyYYo63u zZG!3<1ckp8U}T&X^4)=x`&c0O1x6BVf)+UN)7|5PfuacYKn@OwB68sWK3T|BsP&vQ zA+nxa;W+LpBBw|4j9+P@Qy!(muz_zrd!pqR_$*?ub}c^{u}rOyq~Mb3=#qUGr<)|@ zR9+!Wc2RB8inZ$-E)~2)F+K37aP6EQJl*M;H{?QOL4SD36&Ca|_+xu-PjUKtHKHAs z^m#PUc7L#ooCXViTk(?E>=sxScLJ53h7cY|C8zArv1Qg;EGkB;u<%t%)4{l0ByFT~ zao`Oc3~X9@?{whn>)L(AdM~(m>__=}m;#RjT)vqB41ZIkHf+#%dbGb0><47{-a_0s zs4(GE9nqZ@6e4k+;?MZ_z@H;5V}g`=#)7c0g1b$7PsPRoeqidPsP#;Dv6lnSBA!wD zOdcSxAqQ*_fq{YX<9`n1zy1vWbq69g=95V4Z*|x_AkadOSfOR3JtSJzUr~d}284jy z&u}nBmF~PK1kfOa@2g(c$!%5&j+`gkO6i42m{Ns9Z*Z+^*f)@x^_bh-68V@L(iT=;p`5&D4{;MY2vO63{@2`yoDLkGRGC(CcvPr861lTKqxyT11V z#R*%sQp>NatE#J_e{tW{PY-RJ-K4LteuVZimW!#8zF@7do2BsogPJ)zeD=FT`mm_3 z>2X4CRj#l9^)bKCdbW$$7iV|5dIu<`iYI!GVye%6wrq)B)6Dc|Z)J8(ka=_$-66hT zoBC2qtN^H+rfj3>#uD>vbtL}oj=4{-#*q~I>O|Fam0nZM_+zm-|dLG%Co6D zZxW^4i8c<+FP8vz%~^Owg>dMyVyWzAas^g*&!&Dt*>JSMA-@$fh@$LP%ikJ=J+;aC zJjGSPraHQ&dTS<93`d2l-DEqdKgyi-j^t7>LIqK5i}|J|Jt1&g1j;n%sxG%`6w-=1 zffnN#gSD1V23=rDmt7UB#)(t5mJ>lp=-a3^QW>2n$zZ7_9FNxPx=Hvo9JZbXOk6D^ zAnu@QWJUdZ{I)F1Adn|g4@|lepOq4uwTaV>eAE)HBYCBd#I<4kY}P&QD2|KS1d+_^ zhDtzWg)^_6Y7d3LhlvWX)GL7ukGRK`X}r0~Tw;@Eu5Du=;V2;qKY~o)93aWnZT}pS*DADP~M|4W3QS^W=d#&GvVn_H`#YKGAnF$RbzZ+ zm(aHg;QplcU=(eIMA7;B;en{J-Z(Q}9w=oy#iUE%Np2YP+Q$Q99``H;1LuL?cTC+9 z3JXJktGEWM1`cmEmH|Npt(`>PvuwwDu1!TQSCuz4%6L@gJI;s}MpOet1Y5MZ6;59i zC5Q zTKx+Vgv>IFj{nEf&F(3RwrsuGa z^s^C-Qi#x{aWdGNsTEufS!T?WW2-ucdze-^gf~M$8!Ke_1Sxaa%(~z}ta!-r$B1~& zKQC*T-_^oydZdYh6Xi^68aCoG zs`p%Xbxcw0m8cFi?!2j=X5|q*u(NCmQ)%VH#Ah+J_AD*BLd8Q!8s8O0ce-HVDjGMS zwg%%2_8r$j6pgpEZD4OSv&M=WzzarCNNnUML{vJX>44bUnn%zF5EhT&+klqWZ=kl! z7Lx_wwSn?(V!8+I`C|okOvVgDbH=A_HM8lAt6YcJhh_N$)QS zsxttr{0(OxQF(iuLnNOinb{;W4#O!~DFT)Lv4_#64|Z$;RkmVoO4c;{GxS)V4(#{P z%c?A}W?hT4z_9IylIb%-!`2KENtJaY-DnyNd++r3^~?*w59C-*D3L4gKu}^=x@7K@ z!7HfDzGKfiYfZyD+=&s8p47I3B@~!3ar9v4(l(>lU7izT&SwM8%r85&n(ebLnE|Qx z>W7(+`>#c;EBPGK{pD|Q>wbmoC-3}D#N)b5M8hRW(XwNOaahR6$kEPoFTwUk#=&HG z%!J0k=GXmjIL_tLqFiS1$)Qn7WT5i1%+B8>C^@5pt$(r=$I}Ul~JNiHk@8GV?xEKE(TpeL2T{t-;>loo> zdDsZvgy~j9fAUeE?{=04dNDXzqo<7wT6VgLgp`-AFO_K}pR4(nqpUpISw+}Oc0v+j zH-Se`=Ql4$;DR2TB1sz~%g$k}1vP`hv1tD|}GteTjuOobM(FEK^&D2U;! zEi`K;-Ce7Go4Ts5b*PnkU=eob7HXqfLy|sQ^GYd2&Q+oJL-x5RfqTj;rw}xUO1r0Q z!atOQd~c6gl67t7c}ob`nrs?f1qyFOiz!QYv}**C`3b8gc2XS7L2@+h+KQ)hqFNi5 z4_MgbW+qk-Rs!Z+@<1uy?0%%Sb#YirQqPEhc1MtV{3sybc5FCFGRwO(L~o+)5hfSE zkvM_a&L~!h#`JNuv3iX=<%ZS#i#nj5Yt_2IccxKK^-q@ZC$MwPi&bCbW1)RG4!K@) z$)9@K^YvJmCePjePDdi+kLI0@gf*+Yn*uIg1qAYm&Y=27;rYi)?j zi8xgc&t=OHB$IiH=0vLJjOvhXZhPGPVy@$U)J;37R)(SKqcB|Dj#g9|MLR71@g~3W zkvN5;aEA)+>Fr!7s^i4EQ$Ij(-3M>P;A*Zl?D!Uwk$CHvJZlzsZX_$4u7o}dGWJqy z|2==V*Fd?1uz8;?L3us5KF~yx>lx1okqH6(0N{L1DF zz+R%5`yB{ulu6qTlCVJsV<`8R@knW+fV!dyp&KM51ynl)|5Pi#Q8T=E zqX0Q|u5;=ugx03$gNvcdAkkv+*!Y_)&e1@OX~8Ih)d)-!hWNmeiG3T2$1y_gon}h> zh0>O)envlY8MEnjrFD9#?dC$$KW+7x5V4Yll8RVFYJ;+0G!Mx*#CE1Ju{1IA($X)) z7tY&Fw!xI!52!a9Jb-D6CqI;b+C8I#R&-5g`Fu>i(uxwby1HTuPZ%|MJNvDmIH^A%2q2y`-a z?%Ey14%BSXW%*}U0k0mq1?K$B0kTd22{YjR@Z2^(^H^HIOB>O~h3j^R`r@U1cq(38 z`!@5S=b7%pXN%THyvG_~-f6TCt}rA)FELHws1a3`Qsl!`A4OXF*fm~2@*y31?nw@X z;+cifK`6_^-U5WvC!VwZOg`L9%-|(uc(P#y%B7c#?j*+=vFMEF5$YypNdn2@>7azX z#$+4FDV`!A5y?9Yxzx~|OWuf>6}~j?mNhIa315!2Wr++^=qe2OWs#o%xW-LUB1Ic= z1O3+&q7PVW2$$Lnq;OqFY=DV59SGVv>Qtbhu`(SV1;;lPY8~$$1zM6>WU+8raev7Ec}*^#tO#Z7=(k+F9+byW57a;tG#};fOxUaqe=Hzciv1Mq+?7+?MGk z4rammMddN7e8s;CZ5;}9Fq?^ypJ0uq#S1Tm1b4Fq!rZg%GUC}X-y1t4bNktN=pX+I zjZOb74WT#NBZ|~-QPt1bjG$_F(>NSt@@_B;1wG< zjqIVDkpR^?J<**0Xs9;?MGa)NAAvGk)>cRY(i)7WTAgROb9W!HsR1JjrQ!8`6B zCeL4f+2)&JYjRrX-|=!ayGElsWET(Ys{Z()U;`%UY*k2=)X;sZZas?o1^&F1yRVc? zBt=`O*J;CHim^nN{jRdDjddx6-I+mTfiYp+drgMC=YrswPPgIy0? zK_mMU=wzqBNG;bnzC8H-{AY>nC|jfAVtjPjHJ{enxym2xFpnEBA|~Mqtl=yaV|>Ip zsK#rEj8Oiz^WL-AGt#=wm>GMieB%iIDC@jY*Nv1ZfG4eUDxq(lkR*~45t^PK88AF< zv?qkN;u;}7d6>15*+9I|6P|R0e?2;o&y5Th%=Z~}xgG@3@46}Xr{XlyP$?1C810bJ z^ch7pYSi^wjpCDa-jp;$)B;#WYcCm>lj}&~LQQeOw%+Wc?3Y0i6{b|tpNeirR*QD0 zrcEfl_Jtvc;$l72hLAgM(>0d$Te_pBzR5(#^Vh$TRRpz2ecqsdv-uAU3<)B%74?l( z42uzOIt$1g&S_~|@k(i5i!8VFtR6)LEC%$RZPEFRRhFFgjyWL<$cuF=jQBb0nJP`I zo2Cs2zQ&T91yI5_02W6RjuZ03#9%cwGzu=a;SnIA&gu&=3EhPVYz_XtdvZyzCP~fD zn}Tv1eUm~OBK~gThn&9A(#%OJkS`-m7k>d$sbiTKkQ9C4FQcM40xEr76YR0ReF`0M zumL(J5`sI8l7_$wti;QFmoPKD!;ffj4GJy>oXb}bt;-Zo5)f1r-~wcHrEKU1rl^RT za1D%=n8*V{N%`#zUQmdKmy)EQfU=++vIL%onKJ01MdyLIGwR~(yE`JMFyzD#ji$|@ zFH*~H1r+m^vjwBXs8M49qn9AuoHik-=A#&+G4PA#>u+L8Qi)1JzX=&^ZTRmzzcbrg zu8EHVp8r$@Df7!$1X+}5F{lf%DxafN5OTMEiwmSs9Avr!qvnLj69gX{K&jZneC_%6 zjTe(Q2wLbWM{#V@;14U6TQ;vOI|IL5lb%?8Gwc55F?W9`(#uLppAuW>(y9$S0V^Xn zaxux+U4}wz0@B5d#@Xw#uP>Wz6WD5vfa+It!KD2z!DL=fVrFAVyaShlfQ#99yKOL| zIWPt@i&@&t9vL&tb?BT~;qmsb{HNFmBVc$}&BxEJ{C>bEY%PIIkni=FCi;d&pY})V z**8-)|A?x1oKAyISxJ3%Rbt89a|2?`PXembe|AquI^cFP0^kl`fQI0|)n|WCKTNA_ z$7OS(_UT*h4jR>CMFfHsnNj;yr%)a#*e_Xv4np!A?+IX}#nPJq0TBtu%o!hCeUdkDUqbEhVpc(cQ(_BiH zK7TyS3FJM?OjOZ09r1($6(`FyHCdJZEYMy2CqL@tpxK#Sf_Jt zxSY*RW6fpz9qs(_=C+l>dU#w{nu{$6W-2Q5(PZbvRrq{b@Ejx^z_ha)Ruac&0u!o~ z9UK~yyFN5I-4(Jt#a68-p{23T8l?mVE^I&0K?N;>ndkbBQKbKi$L_hki%dLhILT=c0WE6skd z;kKGbiJDwX(9@kVZondl@bf*Y+(ODOHS#!`%CZQzB27(#C=d!Ey;nD2mMwRbU3n*g zCYY;GE8+|+ffj~=_QLMhf$xgVG3ds|B)$oWLMmX#UA*c zPiv-x%CSED)>4;P@$UWN%$zFTDnUGCJ-lafdqdV}lZg_oYLeoU(lrE>ur686?|mXs zBwB3WdP$X)0;kpHNB0Vxv6vTeu=P({!dV*MS;uyU?>U?#IAT&-PHKX#@9ZbN5mEK_ z%nR|rIa@x(^41%1M%@yPa}GCfi^l!=ZnMPj=J!p$Se`D2v}$RkT|UEad?_Iu#BJtW z2yo`M*>HD6jEwh+bspZS7kIG}$0bxA_#WneDv;D$PV6h1xF~F3IRu;Kg>5azauUqE z18WVs3$K_Dy$J+axBUrxasFh>|7|^!6;*Vp`;OkxxvMv5zo{pdMZP{~#4~rW{^AH9 z%dTL=Gt&eP-{jfl5Uszf=RgyfB?lMwrytY}rr#&oTnp@;_L-McCia(k(7$Iarq#6Vwm4Bg z85q40S$AW0noO3dZ1|!;ERB}WK`^7@LJLI$OH^=#0`01sbLvd!si@=$zJmo*%@f=| zT=dN$Ri@X+!8Joro6KybUh8(WiE00+?&{UwxV4u_Sx-~xsAW8))7_w;zE)57@A256 zBde~vi~KbigjuU|km{>grOh2j3b|?EImom5qni%{POSm$mps`WWW+Y(nEUp+rNj1S za=%BM!0xTJu(SN{ur@1LV#=X!7wO?$$<8e|TnpSnWFbsD`svFu)J_$u2qS$Vb`x=` zYSB0uLK`e*y_R=;Z1yJZG?XjKJU!^!bz9#K9r$cQRn@r%jx2bVq9>+pwg#bQIc|P6 zN2HJST0DL0)gDWQL(F|zTHy9lLB~oxsv!%{CRk4rxd*j2m*3-+s_Mp$e(%e*uq!{( zQ8Ki}B7Yjt1b4Df5Yv@nOJ9rjG8ITE?T?IN7A2FUbm1V{L^X_(7LferuVm(j=)b(9 z*FzeFExDt@(%SRN!9rqHLjP7MS>%9pg8xm%J@$tjcA+c4 z<|Lc6v0d_D9fs(g6RyHjPYz>t`GYkS3vEN!@gcoM3%gC>i{6*JJGrHe_0{Pes`FHRPS9|bn!kAb4- zP+66ar^@I2{obB_Ws)JT7_6&l)82L83;srEfi~N;u`cow>Nkq{lg&&XJZ-x7PWiyX zN%-Is%YI2IBBWw-;DRLTiS+3;>cW~dFwH#@NtgJq6gvx46W-LDYOhyC5v>H44?~lk>p3Cg^9_;5tZ~6B# z=9}3C*!EF$|KCKIo(A~qT5#yFh z>b+u*<^5S2nD5cuIf4VhJ0LlX%v5quHZ8o^7nn|V%clJQFLfXcU5d zyG^}TUcJ))ZaoicZu*z!bo1$0nm;A!F@L|$!&b9jW!6Ph-f#il-9jaqZl`zcd+8}v+bNwYM$swW)pdwXWmsj;Gqu!i z@NL^Y$ZmXZ+G;M(#?;t)^md(@58e9wgM7R^seMJ*>q_6v%2lm@OuL>FxLwWjPy)or zF}4w#m?Hy`cAG7Ac`@Dcp1V8^eXcrP@3EW0vpw0V_ys(JY5z6HVwMg8`(h={p%Jrd zucfha^U{q0_$|%jmS)M+p?sTJ$W`v)BzS`S$z>*+-!eQ7#)fC=^{$UZ`gQcJh4&-y z4n}xZ&FEgA97Wy|Rp`88q?`!WZuF>1XvcR&b?Lc%xF)?$f+^;4NhR?LFlaG9^un45 zWfcfRWw2;wgdeZ78iyVer0oSgRc226uQ-BRSyF|=^7@Pm^3xg65E=&-KNdqikdk@t zF@(bIxMLMjlfb1hJOd>Ip`jODkdmJ4ssNs7@$4}6(tcGxVxlhU!Mw|J7fbx|Q;%N8W(=1>w{%e;>ZyM7+yX#=~d49(y)a4_ZSndb&Bd8#EWE6o4Pn$HcH3D7NfD_%DG5_xW&}Jcb}tNTrm5CQ2vNQn4WABvML^ z^bXliHqE2KTyFySf^{K55>vb zEyUVfE5crjv^T=^-Oi3_ZswS(Wf~#S1EV3phV7DKc?kh?)V?`4k?tZXbva{(LL1dK9?e-|7H4*Xo8)!>(6)azUQ#8-54 zQ9ZnCIXNKJTI8C1Gq8C|r+SW>Ks&O^I?xerb(x}BPJ-}i2nFF3smEzDf62Yrkr|Cy z!PlR#+p;Zz>*Tj1t)c;C3gflcn+(rdMb`?IY0XKJl1R$}y+DIW&AUt;{2HJfFWWha0F z54wPxp^=!YdeB#yB256B$b;ZP@7O>MRyXKkIXrgT(&7;)*lY6po^h=6sf6j-R%wO& zi8cr0rWo^~wEc4=3(xuVkXbQ9d{j_|>8{RC#^f)>5a4#d8?3q9^-uP(iQ)USH8hbm zU+2e&^H)eyZptAKB@d!FbQ%xZXjt<|fGa4aURkGliDS>}ZD!aKk{5d--iNoz?H+EE zD}B&U1i|qRoq8DDz${06b1ZnZQvH)1YWe8B*-iyW4I83DA?kdA&$lT+Zmjxkh^(eKUi-sz0nB z7e}=b?+T>ki?O#?!6=5{3bF&RPRaUl-SAbH(Q7@+7m_61Uh>zAMJ4#>k6Nwu(%Cat z2fl91nDf)i2m61_&GXkHPMrXLKNK*d@^44ozlT(&Rk!W38BzQ4TL9|ZCNQorp_Vcm zm_l+FyH*#Z!=R<&pmJbW6YwY>L`w2RE;;VXC+*I zBYtUi;7PsPkX03Eff?T1n!vWwkg}#nbnZS-M}zS0ceK)SWS7pco5Zks$!rdjXm360 z3PY?Z#&)Nk-K4~)^@!dg&J51T{;nXcJ#qxnkyX~gQo*jT8aiYN$Csg=vddXrMVrB= zJX2~i?cwuFioM#5%69b4jw-i_5lXl0(iKuSL-!%qwTI$-tyhNPy|pGb^dR?h89Wvq zkd^t`*5r5WPR6!zNfp@d%&lZL z<>uVhl*`o~dhk(6Tv&8Kq)-51ffoiv^p0`%E~CT)b35~jFzYBuQ;r|w(*}Hjh3}F% zT{yB8|ETB&qBx%+ff?EyY88)(oE*KeaaAcg_)?Gm`{vFDqGtI=kIyJp;awxenP?d@OGwEF1NmH*xvl; z1B06`5NnR}5@oMa1hnSpQ6E|yzO71JGflh8K{S@9En-*z+#lzmSATPfEzvvbHl6!u z>-#KvzVN5Y1s7H!nO4{@V2qM<2$t*!wV3whyMQEee#t_=IySzOvJ5)V~D{EfB4P*nJt>Is_|9? z$kKa&MSlPG-v2$g^4A_efNSkv7MX}C=31m;%FD!;f@=ivvMK(Kh z*ZTCz1Gd!!O=aU%ZAdcS6khKu_wfQfSLnW~IVRn1EEuO?8^!N$vs5N8*$=wv@L>sDu4?QrCJg-}eY&-iI>WYom0~P0@+B2bLL$E$EijTRuVoR)*;s7b#2xrq{5hgG4y?$m`KqpJt4nJIH_!DY z>LaTMC&xxU8nWtlcM7xXlX+TlJwZ=L0TK^W2gB07Gq>dyys(zJYFf0bHk$Oy6;(yD zU&heZxRa&7`-A~4+8)}1^0_ei>FifF|U|()+ijOG6*Wf9r4p39?G8NCQ1C^xVRHI^yL$-1_U;M zqS{+rCVO!k3f-L0T^k0E7FEK{?B%vRLK#1cL~K{U8b{xIJcxpeXxU4{fpaEyiEa{X zgRKJmDeUQlVXci9n8TQTev(n32XMp=-b5mJJhzT-(rjR?QnLG<@n7LvYHxm!Az>nq ziNr|bzBr!kZKQ$4l9j#d%w-+ayS|tUe+D)mYne`oxhs!YN6|ke%#px);1xqe6`Vp4yXAs)~#53O6>hL;VM}q6?gBuSNUoo=nY8oj^ zV=JH9b*Jh0Oe{)lZ9auv285SNtwO(4a(uN!Y{|NUs$xvSZWgL6af!Ji^%2$Vkw5x{ z$){H1AnO#q@2gIh^dm4UP}4o$t*WR(D~cj}s&*vOL&J*9fd^hFA=BIP%?)Tpe8osL zCC?77nh&pRwdKcb^kQon_#+Y}L4XE^^|U&k&VGX)D-b?0lmIzD@P;hX-6bz&NBNy5 z@(;c^M1{Ab$Y*mD9j<}M5%;ouWal3Hl~8bDd3ar-P*(Ak9$;kFPrJO7p398@iyLcl zhhzOr;f+%uGOsS`S2}3kE^s-T^inXs=&uwoabw=X!0+e16uliz0#EU_;J8=e!^#MD zqnZdEJ+(UUwKNg(IS3$lJ}+av zZ;Gr_1KV-3LaAhMVb$HO4iZDyRS)C#NkN*_@a3A>xWYY5mBR>(VR*KUYsx{(x|tRI zVuHq{!Jy%6pTXcJ#@-!c+v7y~SH+on*t`wNNm)q-q!b(VT$Kv50jvdff}VojC))bD zV@1EJS+Q{$qCmp8)Lqtnvhh~9?BvI zd>>Rkg~ZSyqisf>(#0)o&1z#cQt2SPl_T$Z!sF4-rtKhTXY~vk-AkgwSi7)gsfrJa z!p)-9&#}a1nJ-!?!0bzus+3$;>@ZMVUCd!fu7fM@9y4~w1J*;RqtCU5zpJ44tt#&y zy;7$6VZlD>Rf#L*dr?UXThfAN>6;~)#!KgLu>U;B*Jw$a5rSEN=hJ)_y}ZnJorjec zUDRZiT3Qr$qQ9^>DS^lW)8q~A?WK&DdJ6Y;4wVebkqEr!P1Nl+1N0#{T~efEt7au? z8^1v+@YVaRC4LG~g8bbs{+3ft0bRl9FkO7Y{M{0c@NNvO${fIRx}R@Wnx7sr#o7w{ zwNr5OH13xWCJdvY(+0Mks!A^i98yuysc`f3f0T2T#EHC-yOkjhl+D~A3rB?rcFA1A z+g^g@av{8;kLlVH`|f*0PAcKp^23^f%%G!n;88+^g0&)8>bo%7Rp}}FX2pS@u;3@Q z25Z&>+b^~T5@Hj>@ez~8KH?Xvh9j92+M=u3Ih{mtS?#ilaXm&8^2Q})c3F!0##^>w z-PN6nw1q78A-7BvSeEVH4FpA$G(m?$5BcpnOt7mlmy-@? z_0RFXEkU7_Hl@_Fot4&3V%C{eoJ8ecScW#P$O{kE6$8%!*0FdKZjcHq&O;P2h{$rO z;K8482${{+*+M!DQXw6FjHyh=nChVOP1>=E%BlCwi!KSCBMb7av)J1KNH%yXJ~`P? zM?9U)`gmaSF;=8CG=oQHIbbs`S{DlzWPc8d+wpvl<6ICO&}KhFph#zU6k02+4wl@x z-oB_{0t#zB1tcNaTaCK6arIi#4)?e_AhW^prA4HY77sb^_G?(1H-d0|X==ehdyCAJ z9lB$(h?2UW2%$dz0Pju4-xK<{p6p8o?!lg)Nd%!mkZ`d4C@a@EkZVKKxU=FEY73nQ zC&3kPL{4iJm>#ULh18J~K9|PY{n1513jYiJ?G>v&ODv5_V;A2;IJMD@N0&lPkC8S0{pc z8!3nMmfji^=5v{+WusHoYVk*ht9q}|kDa|shh;pryve)nc^%D%so6(WA^p@yr!uw? zdnR`6s^gIG=DPQi!{dJ(l;|_VX`lo!(qTX-jNrdZyZ;h*e|=h7=ohageut?Zb;Y|6 z*b)=T3JYKCqX&r+itI{xwtNw<$1jX@xHGk z&Ec-|%;Jb?bGi75P1FP1UyNIv2O}&op2C>~6>CD26T!xlXr$bq_nhi>i`J<)svFxq z&?H;?Vz=$l8hrGx?i8m~+$Zcazd0u<&ddYxI~gO>KS1lu#t51%*6bIX4fTI^3v+Lr zkFFP4a8U{}K=Trj)d$^NwFEHIEW1@i03-FIU3j>Nwr>u9zgdXV&FN!uVW)s5so058 ztjcD#P-qrnD6o3aSSJTQZF)_k4;aXDjmalU6J(IcI$xMd_ImVk{f0FiifNW;b}VYY zFZ8L_$TVBmFal=--kvv+Qim4$D7D=?@A7buvgneuqGLV`TW-NAufRldW5@Qa4r95< zE268QUq4r?0PH%N9Lav*$JU%e6}Rm?BD$HKj1R-rb?Bc#rVqUCeNTSoD3Slb>!j-t zA)di|mlNObvs?y9m#NpfHljhxS59Nwl{v;W*K zwyHa$ERNooS3W9eZY?v~;Grn}%1389GZ4Ox6$FhKurA-Qg{vIzM?q#x;0DRG*QD45 z8xHS2bM>?bpEXcGYA2uU2hoII|) z7gnx9H#=Yb*8I&?WEMRV2(ibdYm!ljO2ie3wIxiXgAVqv>r6-M(vICj2lRc2{N3eQ zm|@z-XD7Y)0@G;B-4s#tN!I-LVAUB6=8F0s53_HB=}hWe{DZA0yP&Oiv%tZabpn#o zJ-Xn<$S-tpe5qhOaYy4zhYTCWEGM^O34s^AWe*RAQ(5B|bb~j}ctqB;dV0*=ah8@I zfz9S&X#~|U3#%9f722IB7!Bre0#nH7RQ4!-AW=E0D11$i)$EF4yjH1UtWrM`Dzz`O zzbdLl+rh?kn~W;c=ozO=G+0nRWzo-gc!2OKku^M*z%|ncmB*D=ay}aQF)ZketOGj4 ze7`#VRfCl7F6;@@x@O_I2Cw`H4f%(F1zbHoFJmoYm%5NlTNB(JP6(F?$9vN2W(u9n zeGMdDjeRgAZu0eZ^7VW3TRL)21a2#9sNSMD0q|;|ve1uG@Dij{!BIp|oz4p0Him-V zyE5j8s|d_Iy+{Q)!3D#6^T9!Al7fk?=<|`#+VKOilJSzigl2g(1Uugpg5Qh;p1RI@ zodACPh#NRIeA^q);aJkblU}k}RP5Y5YXwXShOf&tO%4;9D~yP&`;57NN%M!MkGBnG zM=!wD&4l_BqvmG-^-$>v@QOX$i+kG&ugr_VrC@)wY+g830a|!&&jc3`;dlkDD3ZuR zklLGFQ}eJ%()oz!b!N#r9b8^8sCQk2b`A|2Cl12*cR`CSHZT%>v9OdZtQQ)7&`g#K zKMb~>FLU|2?6NcY`8ht8$2jXvxLQ9yIgIw^94113-E`ja2;=>*H?U03^npuyhGXWF zQ;#rnTO&0pmjW#^izeYN&06D0)7TASS>Dl_)b+aQAt2>2Q@nQ7V(3*V_2wYo^LDEg zd+X5r5yLV|3tc49ZUSRT zvk>!8TG+w)fijpP9PZjC_#7cGAA(TMH^>BAs6V9^CQ_d|o_EX7z(6V7#n)(c##6jS z!I0^M)MN+>lopip8z6NXr~gqCPAPi7g2V1~%m^q=?3{kS&5{&zgc&1uab2o;w5`LCZV(9)~$)d0{KB8}p~i z>SP3`Bgv;2Wa=;$mBB#t?8t;DoT6FpW^b}N=>$ds1MidD>U{W|=IZ#e7(l!>t;NcS zNwFJNi~sa?fr!DJ*}UZ1)3qc16jNV9y@!aD*Yo`C2;7GOqy~ZL45+dy0(?P{OwwIw zT{UUj_vUKP1R6MO2ncIUCyNGY;qkYyQhsnzf(Qb&2fgt`b0$kSZf&X}SCMBc;~fLY z#ftA}zIq6dvP)2q@Uwy>6&|rOj4zJNq*%dJtJPP}0Ors3a*KO6W+To6yU@YGO4o?g z3e=!krMohM&_`R~U3M;H)NL74u=M(g%!-B29W~v`OlFY9_M2)z8%SMxmRn(uiDD0n z-9WQmFIr4U*75rK`&n4*;2o^~GO;;mK13rT;du&?@1#|s-M`3vl!GSvmh~~!CXIv=xHsS9KrNa~XcZLem6brqNtLu*re>euxSudqm0Am0Y z`cI63pV`bqr5~Zm%y7@23r;-xEOE7<;uWqleSGpKwkij5VcWjd=e!LLocs_3wM$-H+VV82{gXB&JGxW@MQ~ttY&fUcU zlI-NJ{tSxBuv#r+STReQ#`A6Gq{aAbw}Snq7h{|7BESQykE&EtR!lolj=Dl^(xq;q ztT&>6|H;}EncxB1g{8*Fe6cRE*krh0(#H0KUVa7BaSG;UYM6NGslZ@_dPyM z>0%l12JwZ)xkoLNrIu@X0sA!CQeJPyg|*xWF=9{d$d}p;JK!%`QoI^hUtlcZrYBsI za#_zKqtlUy1P=Yv$?);TD#Q`7vgz!fIP{NhgVbq52Bf=(KJ>o48P6Sfd*Vb+^JPV1 zDjxlv7P}tEC!a^=s{l!*fDpN~d;jmp7=SD%e0zrO1Msz#$Vsjl&(KA_w6>&QTIDO> zP~v>4VF5%c$N`ZGX$-tWcDZgtT~kSa_OHlQK-SE1lYW z=lYo5#68hG9Ci$+`V$+iDzwBP%-jxK*oafGZ!XlHs zftLfJOKocS7`Gl}Y2IXkN=V)CX9%!kVT3ymgwRLuUzoi@08>ERNZ>x1QtJbWcP68# zjzEWZ=2#Ze54-*BjOJ@kwAF+>E1+%^5R8KJ=j9XWmDY!iA%xRHI|kqAvnabw{01@CX?Ox8_8|qSlvw-D;}a+ zo5s_aa?)OW+s!zT>l@^rHtoyb5wS(8(VfkM`d`2TfOfL4@Eak&#gPKtM?<`!~;v9eVE64S*8e! zQ*j@=e})~$dQ<54{Fy7P^6Mq7n>i()*>ufYU209e<-z726mTfqoC?i-ByC~9*6%sp zi&On0;vZR3!CeyM!~i`q`e*dW&lKdLvc{`L?nX1l0Y1P$EjI;Q)5kuB>je^8l|KpE zhcHVikMK6I@rs!?+_a{*UsOzPqBP|@?-Fw<^rk*rwt+9hg)6_w)%mpDqA~}GZ=!=Z zW(v=ujz)h`L!;_KYg3lT+zeh&DFwz#MNYG!*VF!GFRtcwP)5N>AlIsx_}#9rU_~{H z+%;q``T(?P&=2pM;!mS9>eW8-pRBj!GjApDEHHb0Xss49j}L#2htFjPk@`(bwZ&0c zi0z4dg|~i^%dk~-&!$aRp3nm!6)l((_F4p=D)uwy@+cP1GXXc%8Yw_4s`oKjnpiaR zWH_;2p1jdj-M23jbRRGCu3%d&@m5e;=+!gjnDi1ImS{|YPnI4kGpJBjFB2>hj%l%L zu0|GfemdA?vZpTjqD~c7w6%T2)v!ghq{-l~abY{&wotGG_lbyS=q zGHlv)6g96L$b|s@Pe!k%@CV-n(K2@l#&cVi=)hr}#Z-0rf7s($zu4oU2EjCm4LUP- zwat%jjL!ukLOD0{R1&?C3*k6f1o2>|k5&AQ13RgR*q*ONiZ*1Y0jaB}lQzvFuf9$6 zM))sWVL*vH&}L+#fSgqUAug@lkdFZ?_Sh2wg-Y8YpZGh=|n_Pui1lP*h0EvxQ6l zz9IR}vvnxW`S{Hnt~l?mTZwQz>p21Oj*c7QA6YPgh6KJ*momO-eGI$ai~w2~7`E*4=N~*X*fc@S()Ru$O*nmotli1_Nx;MmtEogIb)u33KWkjXpqQTGZPV?0A z8k*x#tVUoi)h4`g$C?KgKb!)OocO1Gb{!#C0TC1VPWct5oNRZ`licg_lhGz$#S)H% z!JXG|m<}KumhqzmCs{=E6ZBb;>vTcC+6|Uv$|l5;@f$ZLN|>vGpRtgyQWCd=kR-v zsk0{~(zl@6y+2>V_G*y(3UPv0l=JWnF1h<{037f?vS9*N@kowRU$91wL+ohPX#1&& zT4NAvJm;0Hn31FS0#aJEGSQvr#v#L@GT}uL&%w9@D`_umqPL5{+x2|tx#P0{eNw~< zF{`(|8aC|_pEqvsBcwk}Aznsy8TpiltpsQast?p376Y`>;P5*1qn%87N-PNu5MKNg z7&c`xB{w}kE`x09kY*hqVbYKvv$Fqb_$Zr!1~a7P5E+zWkl)67Q1X@^p{IWOV&u8$ z{j#NQvJ{%-LE+}ea7O(T$lfNY;MbT)xH6G%Gd{fRqKZZ_f@}jD1hA1>l2)hOc+k!8 zCd}VLUbq0!Fdtt|Ym7BAF*x!-EJ5RlbVexz?^z|p`Btp---AE|cmw}GiVNjGEmMGS=*_aEM+I|0)hGMF4jy<*@dy=8N zgD3RB`#e;}WirYRZI5>B4thF+MTBPRB-zN)+zkQ#epb&Sj-9`a_o`UOMdC#+?&S|# z8G2y^@~<(^lh>H%i`zuAmmqi5BPkq{8oXywlzrWJjw?`^HS;bI;i8pjQOv!n z1HeBA zTa&)xo3fp3v3OtX@jgOL_BRZ5n|su+vl*!0?g$#|Jn5)w0K2J24JEYiSUMHc3#VX6 z_y-d{N|+cdzzA8j(6%NCR&pK-W(oIUV=JNX*iKjqmsMo(*{WynD13Fi@czJsByGfT z@ovO0Y5z6kDMgwv*$yxh#%f8Tu^lx$o62+3OS2O@4+Lu}KWZJ8Wr6rHzw3utwlgXV zqOGaGCGu%)tH}kGm1XPZVu*?lw!4tQ?Ta^ZM@~_+I3h}ZLubrG33u=M^NO^(*Ql4D) zVA)dGNM>c;ppzkpY;NfB>U2tVZ8v!rf~$TW15L4=YztCr>tV?jtQm-Z6>l=5zBE93bV%_nPu_ zecb8J3wucgq&%U0&FhIhAK93*anmIkCk@nOry;NX>7L6LFqg(`Dw5`Tli$jSqAnW8 z>tB=fs$e0hAicXAHIz^qPx#P&vj+%^!I5ee zW}@l6>hm#N0Q7QlN;7(5$ZId7IpuSW2|~jwZ7UY3uD!Ym`<82Y-O4d$u+>86TvIn# zuPh<$j!F1PC9fT7>}7LXW85~=WN7xbK4$faLb=Ze$JX~mEX-qv z7O%^)*pp}P^^l{18+Vw~-TvIvOq+MHV`JqLV&5#>X=e4VX^C~PtQxu-+1PxG(MZ1GDoYiv4IEQS}>kUF1XIk&7TMQa=_tlxZ4 zjG8eYv8>h}AG`3QX4igM5zQ+}o3i+4GcTqv1FS)FFv9O)Lnj6iRAJ8JyYOG?LMbuv z*!RkcX6Iy8{Stv=@=j_hfTAS2HF+RRvUfW)@k@QEJIZ!Bc~+$N^nnsV(>MDEcHHIKKHtVw|oucs_zem!Mz4>)B3 zbH|TCKqGZNbT(sr?9D2kOf*vYa-?` zla8RM_gJgo6WH5D%8U(QpvRw#zaGH&r|34eMAPgbvs8!%RSQ$tr-vlipXkQ(2YKbv zD|eHE)N(sz=Z9?R5eYDrtGUr&eRf(i9hy%R79Bxbv zW_7GfN^0PnaywhmsJ(#*UBY>SXzP>=8RItqzKXq;3JR|B7J$wl2V{}H!BfG@m zg5}+J#$jbP$IXFP6@X3R_Mp!GI_#)xtgR0z6ayR#6~5QyC)%Ce_wCd7LQ{ruJHsSZ zWzYg8=8Oj9?w+ROBvZ}MgNU7wZ}m44J@fNP8T0W+4kz9behXk4MfmFjO(qJEoJy*U zicipw)o4YLN8e^*U0|=cz+R<4SL=2m*8y|9w#y4s8;5IzR&h7e-U`$^N<1RYD9oxU zW0257L*ygf=eUMHzH1^KM$g?Buq;RX8HW8!!c$S>HNyQ<#_uyIA(eb4T+t#H=lwR^ zlOF|YMgEl>KHr#J z&v5su(bR*m%-j$D^Ylg8KTluap=xzhUr5bkPq)S-V-|2UMLyN8ikMnC%!%Zc27C37 zUFC*|4ofw9AvXzc!&ZsJ^`@8&gVzJL-XP&phGrQ|AM>%9KU5A5^6!u=uT=h2H?5H_p4bc>kOPE5V#FROr;MLIH}WZok{SfQjBgUiWB3d)6l zAL=K#*D8K80vx>ve^eiyI?pOwGczUeLEv!h7T`G3$wkH614E1?*}U;d>s5j8Aq%te z^o)m#F3CdL(&t<6CXf=dxmSkvcfv78S&4p>2b`9gUWK?W`oa#Jj}EZ*Mgi8I!QoBl z$E#oIbz9oBFgB$+1vlL*y-pcYxp}46X3+q8-FcMFf(xM6AIaXy$MQSdjY{6?{-oC* zo}18@TYFg(=~kHSx>Fi6n%%u^Z&L_T4EEUDO?lWyA&|n8ka8Tq!G}f>w6o0h65U>l z@LPH(4r@idz#d}T;wSAui@GAbc~22UAk3>uLxNp|Me zqK6>y)oZsm(3aj}b$%b1-ih2>F}q65z>xn^2w=MJhVyoFId%3qZ%8R3<< z&U#Gv>^zxjhki)=@#WoWNxd*F^EuPeDi#&Mt9K-}X`I4*4k<)M-q3xHY53!OSo-B+ z$PR#Z4*{au|8kA=Kd!?2{6*i)hUVub#lL*@Ga>Nd_1mV%Q87?DIKLCm6S!@Q%0_B} z2{RhG-S(g`L%7>1o^{7Ot=h41x}H$gdvyKFm2{VSneQ)fkU0Kv4MAQeDE<) zi+yK1kB@=hphCUdK@;f=K&yQ^8s7FXptAEPjZ>Bv(}Mm)z9&nLLvr3nPXcje7(B0A zFlwgI@dKK=pw#$S;iDl>t5#t1c=(OM+jT3kOH_L-VV1E^SfQzW^>7)O zIp=yg(X$Ei0!M#>~5COQ*eClxd8ZhGj z6NTzj<~%L{0%m}+`ETu&pE2iPxk0H;TDT^{GuYUZDIZWi*(e;cOOR^0K``a(+=|V( z84HmYoL&#$}PnkUD>hBKN}99g1}Xwg-~uF1pXz?8}I*D@0)PY<1t#Q0w*>+Mm* zzIyV+O+PJnpz;pFx_#*tLGXiqOJj_fMS}*J3EbH^|^z2`RF9&E_Dw$4Rexs!Le5&eBxwl0u5amka6QOr_c zN^IAcD1-8MkbO+^#>DujUaN#WxbyZQZaa1Hbf1q<0wTG3{d3Hyg3a%Y7O~3RPdky$ zGmFMAohzjqB6F44uP6^}#smp`vsn!VtLi5x6YD6K%^Ey3)CWdt=d`#fXK(wTa)%2i zh)PhieHtLg{7^&%_lQsJ^g}vaAUy0veW(;394ebX( z_#shOHvkKc6XUKM{n)sDz61$;o7KxESZRgtYyNUu&Ndb-7v~6(ppYX_OB=AMq&p{B zjdu`DJ~I+N;3+pqpBQ}XO_)$>oGMwb&(o??m{KQW-vVmaq<0U=0nKl98N0N@CwrVs z%Lyip?5|H$k$&ZHKDlfA*0cU({5elpg0D#!g@Q6E$%Sd^IWb{+@qrTXkN>ADjLLar z@>ihwtvvn>nu(5AXtI8RMwc=`g#c3=`{3W9F-@H!MF|a{0zl)l`N^MA*^&DwRg``d6U&jd1@PG;#xfH)u`+1XBMB zG{2GXe}`uG?*3Q2CC~S*pfm9>$mfXefR_ zLq$*r6WmRs*%J=;vFiucOy<#Ny*5Qa$q^y6D4|$L?bv8JQbE+BvU{UM2}i@ZA8j1~RG9h3<9MbT2mk@%>UI z7)!%{1)AT;`ft#z{sIj(aSIi3IKH?DZrfY~$0WzRvY7G8N8j3TFDPvG{kY3L{-mQ> z&H`yFEJPI}J5Y%JJUHX>Q?~`KW)B@}q@`$ZYV~mKMXrx#p{#5L;+#E0g>wGCKyytv z5^6Uf@(K+{fj+u~{c|U@k)mYPUzs%(8eUu6(By>#0v%j^45`H#vHRGOL_ z0o!l?Icv^7AQ=4>XnrH`|AdC;7ia+2qW`06w0>5N*)LV2_FL5~KeJ2k16~LcKv7-x z;5#Q5z@TbMgB`_`p$hd(LdfvJq(5xTn?ClAifZW69V({qnd=~ntm`SqwYD$*BvhF4 zF=k$rdQhwK0@s44$|4c<(=qxOb^JaWRkW_M7yByxvro$X$FDAu&-8@-UWmSVXyqUp z=rUABPbt5v8m~yaRyGu>-&f5aZ=Jbs8WjH(XnrI0|AdC`*Q%-hKdl-rum2~iM)0pz zjdEkC@+&lLfc5Kjd4F|`e`7KK$!mVOE#{{+_Al6k{W@&q`oeR588-bXW>loF!{&Eo zb94+S8$K02J;)LZ9{9#xP*{|YVJAhXGIHTuQW5Yd%^`2AcA}< zqAyK?zegA#VIx`}UDAyzn$%{|0IoMWW^g<$R@#7uz!6xg*pS7pqy& zAvIvo3sER{tpJ1$R{oc=SrAepi0>shau2kkA_9x%bIP!Zqw!t%%usdfd;_>E=RZ4Y z#`-?_FJbc={r|Jri1+_)5dXi3jp83+<2F3BezJ`EhotW<84BcI!sh?CgxH8fBS7mo zsQQH*Aqws!!e>BihvYMKO{;;y)y*@+AJxqdoI0<+gw21+i2qBmK==Oq^7U+f5kp2=j|0N~ZU1#W^C%O%;Nu&6G#43Qo3WE9{?ir zS0#mcusAvf^IP2<9XlsXqyAn=sXB7EeB}K0x=tm7QzwUO&#tbT!?JP!*iH9Ob|XP> zH;;CW_~9qJVaTpz1+W`Q0J{k>YRGkB+)4y~3j9S$!AzY+pV1sLLXB^TpQk}aF0pDm zhQ2B(cz}}H*__yAZa`>XLNR{%wUoRbNod?4Q+KJ@x6M*xzJqPf3NoPy{} zv*7OmC_gC<6detK;s{5Lxvq)inkJU?*Fo(nN!XpDoVPoqOT`JeYxin{hiYa%sQVA5 zAPQ~2Qk<|~DNaL4sQ~Sb;KB>i4`q=R8HlZz5y=(|6Zhev{gWra&7}WHao!c-IQ*r; z`8_rM9X0@8i=Ra(MYAW}Pebems7Dc@N`N_*d8RHc1DkQI6NclbpjuqMp)aEOy`ZW- zb#rlb1nFKU`_2Zh%8K7v+S-Sdby*^f*~mrm3L7o-1Wf2zv=Lg%484a@9diNA76F&vw z*4qa9bbt=$xHGQ)hYklQDqJkcSf62y7PNaNhM+o!&wn_K_tV?e)&VM%9dP?3KHwMs zR1K2aHn#d-Y<`gtzx?qNl_|wV3ru`C*Rm;ho+cL4vZHDZeQYLCn~3D8z)9FPD(485 zbdNgwmKIQ|`sqTsei}Cw-%hJ|Hg$U`DHdvB?8)2+g5J(7U?B+^6~@egvr)f6>Cd$E zvHqS`0i8WnVqTO$TW8~_(_>`1H zGx{yHES(}@-t~%#V|;tKyXU&lS7DCU5NWVTDE}tFAVsC8wJ(&=m%GxL%gDg9Vb}^` z41qrJmPWm?xZ@@@CZC)+eNv0|4Q!;7f&B>6KKSTaCC0km*T~C}<}DJ;t8{dm*xk}< z)%^Nv$|XA+=wzON2s~=CL-0qQlkLXL3!!s^ugH>-=3>hYD4V=+_=g)au84jWA%ct^ zm*_cHVc0Fz&n=xC0gyyAD0V77YtK@oA$#f!a&5o~Hhe17Y;)4@d&WW%MH}cvL_~(k z;ptt^!S@;!r~53B%V&IiZSLYXKAUEmuU)RQa$9oxp`pkw%u$l4Z3bhR3YDz#P7DV_ zqYI&q!fh7}S&Zma*rkdaJ$(od#%wHC8*veK3J|0tORLUUmeZaKfXDV5x*Ro#r0N_ ziTM%?q4+U;3&j59z={*6ExdNAk(M6O@aqw%0Q@pE!f;TXxl>YrRq2602k~7QvTW z)(e9l;VlhrVziDt(cR=KXkOxjK>m&exKUQxk4<(o2Jf`65OCL{(|yi@mXp2YlXcNfC ze!PQ!Q{mTEB5y(kdG)#cR+u#k1a>k-KJ=U`33S641k3081nj)i==-V`1P-1iTCKUX zSubszlEM47rXU;PC*+dwebbneIFjwO%4a9FL(!oU|%6s zK_l7D=E)R~;#5pbueJ~spKP)J&Ib%?@1R)Wojff>oB~i}?n_7%QWx6EErZZ%JVCD< z)=VZegoJI+Nk6TTtg>79lqEn@aggRWdcvo*v#Q5;`U~QDh-CqDZ%>B4nge z26R!Uv*lLL-F&X+#s2)D>1Hn*5e9GK!RXHQQ!k$h8V!f43C(ZnSzOe@rTZ9z(!(HX z6ttO)vB({hOGxLY%Ep07-OO9yFjXB zYnv2&7ZKIhrAQ=QysZ7&EmO5#APMm5b*+jeamB+ zPUdrFiw6Sy7=K1Up~Gh?2x?8H8HST5R0O?wR`hwoBq)|YS&;VR@am%Ihl%<`!Cgjt zZL`UUjp231P*0L&RUAuA;%o#Cm1Wtp%^iGP-lt`?nwj;>y4b7`MV2v#7CBR*{i#r< z)kH!&6FC>(ZME2KVY_+z>46@#rn#x&i%GKO)qsK3K-4v0o7}Vj>EsT{vqNf*Zwn2N ze|YzC>!1iVJR1;@GRJSNXRfbjtW9HVu5GB#_`%A;u%^*aK1ywtIZz`yb3Myek5V!* z-J?2PAc6!h9XvxsNsNH0+CvO6r_P@-V#OKyJ%yMb&_onmI0Bxx49GX{bK>J2uAL`4 zHy2&39uKOuRMX)v!<9WvhS3r2gx5ArJIcz+b9U9ZXjSFO>2xz!hSCgfkt!V>=(xpY zHN(xy%6g>?tzmatrni;l>bm1jR;yDqUeU(jsg?!gQ0UE#KJ;-e^#{y0LoSe3HG_OM z#e3r;InydFPR{S%S}eG~xIeSX?5<7+Jd|p- z3>FxVPRCNs?W)678#Wa^BD-BsOb?;Co13vd+69= z{aJOhrdB30PS*%Q`WAIgtG(w6+Gd$QI7o>2$F6oC4(-ON8eoF9xH9Q!a4{1po-X<>WW1woi z>qs})l=?;)YeZ*;AT_#nzNlkGY4Z*LYU1=das>-k5+PTl-Nu&UGZk`&bNBOr6`3Yl zN%B#z!~45hVy7T#;qCrH2ZOJ4HRGi5->nZ<6h0y)uzZymMd;+a^6UIQ*W88mVojzX z!MYQ3EA!EmrPtclH3FyEog~d~=q?Q>msm3u#k-;yb{PsnyC$cxgHOs=n-8ByAE*E)uQxE`T)ualiqLhGW%~xkFtJDY zcC_){ygkx;&He)FlN-lXs5U3h7}0c1q}~ymwQ^%xo5^SNC~S(i{R>lq6F}i>$I8s= z(D&~X>zxU7Z&*CiVX}H{6pXCxD${t`@$=ip# zvWE}{4&hLSkw(~D4^-k`=bzGN>H2P=NK>3mPkw*4Tn$yUK&g>*xUnNV8>eDD5L&+${Q(%_xvguMeBY!S%?d)P`o>H)BjY0(=s6LV)Ow|pPWErPTN zr<3fFnWDY9vo=e*&tN$YAa{z&zgD}z(lL>Y8|H$E2P`Z(AhMWD<-*a3f-U@(aKnb2B$^3D?@k*WAR@ zF#%PLr!5sJR zb5Jj$2ALKfKJai2UyjFMX`bf3ZG|T`O0TmKT($Ka4KD{YM{r9$i15i+7jh=!FNo1{ z+2>ZKNYQDraNDR&tsn!pPVqb&k*6xwT3kI?zn@AcangA7PkkaxNoK^H?{)ruz4qkE z1pK3mQ*8T0wl#UxuWsU!mA3K=GOexRy%4QeKE?Z!oQSfi8MQ<(mG<69SvI+$s3COx zvs4Md`!8=@Bt)rp`|n&XOE_SlKx(npjqLLgS{Q6w3BNOX>=|j~C3HAQyV;*KoG%>s z$$9!+Qew6)v=Niq$3Ri_yVOw!h;kJQz1}izEFcjY2ZAYTScwy zQU|&S!GJt5_+?tLOaZDx_d*yWL@8}fnocIeiy^d=%RZ|z%kKLkK6@Bkzcn_4@82Bu z3=kLLu6v(x--R&o)?_L7cwtvGEIfUziyqQPXmjYmeX)s6=#odDXkmp+%E?;V^`2_^ zczejm`P8i<-$UM}4&>FH^gS)WyAdZZUJlDpr2Tri9$5}o!_G?Z&K7Q+Z@!k>yL9OY z-G|s>IIQ-wTkj^#3A7hC9^s=rJ+8~Ocg@0iu+jvGJzwKi0o%U0D^8QE+B?;boB00h zad)(yotY;qSwg0rK0P!hPRt(y&?f;!D1v<})j=iw;n^fo98#7M25}(z@>??jWzF64 zl^riaLV4d>3+B)@FsV5)$ejs|N?-;#$Tsd9>ZBYYzi{+NFb%0?WHC$UKNDS$9bcF* z#;Wxv|DaoCPitlvzKCcI6Qvc*W{xZPogxJSM3HnDI{ zO$j+0VWo=6qaWmX?slI~7w#2}H8;BNa-)?<6oLE-x}x0+%C6dAJ$>X;a^j53qGo;K z#x(}??)<;ARzB_-9?q~Vfx@^#dL3D+?qXeFdl)at?3iJ&(6g*C?M>Z1&R3W_IUqkN zwru!Z&M>MVkS39mgV`t3j|d6g=ky&pgl>Xo^`h89E*0R^+rSd6Cmz5JaQL!mreA$l zE3EcxhIZ8S=Q-8Z)=W}Hn4JFjc|pCf$(oj4z-1-M@xDR?UH@Dy+_E^;-01@{$4tUJ z{wdaan^3gYOI}^eXi%vTwf)AfM3_{0wAo$lX|b-uecU&_~1iJwZL49*^8j#53S{4F3T5X z_{B!OHK_|uF3Zit>!_suE<-d_M65bB0vQl09vLr}NFo=>1VuCF`-55*c44?Fb3ZIu ze}r~{#g6)iH@R=lHxKZJw65hGT*@PR6Ng(5e}q_p)wXo$E|Le4;J0uO$Yt|ni6yS( zX`yr)2!<3vA#4=1s;}(Hr^{>RKI5?wY4+H0C|iRc=4({;-yqa;?bQc22e@epC!Yl> z(t6d!%ys!J5pM>eTqTBq@pao!RuG|@{@g2(ETLa25hD7c;?haWf2TZgZ#V2k+p(r zjpdOmvkF_*sPb)>UPLmAnV?@>vIJ^4WCSskACHcVjremle{}AWx>lvU&kJ_!#1|C> zI$d<5l{4+w0Vg}2+6n<7B!2+|@ea|08LU;2?F!W-N)V`rUF6Z#N(CYNG^R~Q|CKDl zbtzKqGLZfH-A(c3^dHvqF{xy^mM7RHF_@Xc=9Yza}l{+-YAIi50t228BvL5{!iXQa81yDt$egkvP%YZW;{ zy!#aoo~_88C28M+l3z;uo{P+-j<)M=oJ@q?G@MD%>lzF(#W|i3`Vd$Ea+=XN13{f9 zaTtq}(pg?uyLqcbsKcX{n_o+tI2)?)TH)q&=2j0+z|WH!jx+YY{h&dfooD6Z<`paB zlMlr&BO$j0(kJOg2mv9xi?a4z8$}J%9e~P1ZdR7g2!^tgDUahjWO+`^Qb*o>`?IX& z@+-CN`%u@E&>_-n;yqq)!2eQ~Szq%~_=Uu6uu zDy(u2h*n&=z2qv(#qy^2+fI7<*NPcW|B(&V{W6NXnQVfjj%;MEH}oQ#e9y3qRQo;xAgJ$4l8e(KvB|`81MO`ESl6-3_CXD|;6`b8yG>KVqEi zE`OU?b?~*?`|1~)u2+CgbLN_y?jFe@SA~R(skPBx2M>ZJ2Nfu|$t3Ou;5Gfi3?uFl z5r1XP2v7W(>x&N|dpS|v@>i;L!V-UaR(Au&tK$5(?0e4_y!%%X7dkV;^7`+eT*QrY8;$f}=aj4d9FFz1+J{J58?59NfU!>>LP{J^)iTlNb1PxGpOrw07w;q?jRGMp=QR=5hv`f6579NIH-Pc|l2o+W1 z=eVhc8!M5md#e5DbVEcaf5%Gtw-@XOnTw+~?X9oH!j{sBzccqyzxPo%rt0UgE8NR> zS2n2tAb#_j{W_fEWpIyLmxvgtR%@ty7-%G$lZ$*BL>egNK56jlfEY zy{h!&rLO5u-A)mHT$BnTtO#*uo;piywvS773~w6sh$#)65J{BSGh5vW2cAw`tBv4S z;@cy3q$t-1yJaKCm%}{qf@{?<3=T>g_A=;gN$jJ495wq`^qh*|28C*zR-m+gq@xfj z&P3dJFnt9RD-!(blQp$_VpJ(z@_S=Y`G~(uZn??SN6y9pT1EC(+)gIGg*?4dYrVbv zUY%^+3Du~GX~mOG;`)QzLZ;vwC_H)mZD8A(3YE6W9!+Nhyo%gAr%m)UN#L~u zlO7MgCaRvuUgx|et)N*TL|Ohw;e>yklKrt>*y5hq0NI#cn9=aNMhc&h8)`^jr~X2k zMOpF@Xf|1GHl+504{?{3J=;`w)Y*p`tBE}+A|q(%b69Iw&crah= zD4l+23Rh$uf9~nikunslXN(!91CHo(4aJFa#ep!J!1S-Uf>x>=eXW1Gj(R!x^nd^j zcUCaOp^tUq^>j*KnejmM9OGj^Y4#NBhUl`Bi|{#}G>_id`v(a(Hlh>+VSzb>zgIot=4ycC1&ax&(Qua%BgoM+O9DUU7gy?d5vAlOmI zpqCBL72aH^0ukSq3gz1&uEUPvf_hi=ABjoO)}d z#v^OoCL5#>A>PnR&&Gi=k3a3|vP%3gqUCRR?Lzw=q7sZ+YLZUZb8Eap$Ko^a>V9hn z51sgV+hJE>bEDP764!b1d`KsZW||%oyM3v*+vH<41JRg>Y;U*rXNEY>7R5dbQS21& z9!#F*mK~ViNC%5kRg6;0zvX@L2PWCj;-)8-aUxq%c#efe zkLai8*eBN7XUkR@{R8M97-@FLALg!9_!wbZPlx$Q6q0!&r8@OkL4vgvEoebd zR`J2Bmw^>(5|M~`NZ-P-9c~je;!z`e+v;44h3DhqAgj#2;yAE+L9{K_QA9#`UHIT} zGs+Rcj%=@{fvNj=`W z+=V#G+3%TpBS}YOCqv=KfiaRMq>}C6tAN2J(#7s3{#LrrjS&kLF9+bNhWOH`@ipv= zp@6_sglDPSn`<17`C1QrxC-|=o`UDoi76jF%I`oRu~&B=7jA#rg!!U*Hl=H)cj8eo z=4KUQwEG=={Ozzt<;^@h^)c0$w*1wJfHg^Us!wj+1*np)E8H(81ugKg03}wM)V#e> zWMXa)`lj1{dxj7(*yz?MBTWM%Vp^re6wHwbtA&(~`tyJ%y@QQdae&{nIQneqtEzrS zqr+>z6XwgR&E*^H`{i2g1hjRWhKw~c37;@dVQZN+r*EdH{!*Rty0zK)5~{bFJ)^CI zKY38*?RLA^mcA2&$dZfXzh2;DKE_g~lBz21+YT_>4B5g47I4UzjHSb?hZW0RJvd9D2K+TEfe6&RWPtQdN+#2Plhwc4cR%sWYq!q{Z5#XYDuw;qUr?UMn;a z)R|_Hg(1^uaai#aD5h2z?_a8)J01Jr(PGw z!YKRL$kHT*mFrG-I7s83?9?&RGnd~`%md0W;cWh8QH*B*8_?zhCk+u=Xmo01)AJWE zuvn9JX|Sm?TO~p$23MSQTX|Aa!~`yfl)!o2fjft9JF_WQTvnvGM$T=EJgrul{+vo$ z%b<&K8-N*lZz72}&Ljl}!};fGo|>;U7XPHrU%G7oO=v?*APc1HbL%|iLu@3_xmP7` zF97O^E~USt-Uy#K_Kgfh5dr?-v9SG}-4 zi_NobK(+{eSgDm6INRE8eu@qUM_oZw-dTg@=V#FmQ*)JoQ^CaU-V9;{?{u>;#iS0i zw#Q%&*y#_<<@mtUJBTii9|Vq{gK^;O#ac=BT<4Ec``G*k5C&2F-MHHN?GvVLh>jBpWPYsex)Y#)wzV#ZPgawPI*6zmA=Aqo#4~wKBoE-h(tU2cC7^Kob8 zTBlKkcZ*PETyr^G1Ipmhkc490Z?er(CcqosW)MNi^}Yk8)vY(Lcuw_;;tSirJ8NLk z4b)ahZ(UU2uj`2g^4y-&ulid`nzsx|hxnMw+#kmRz!L85KuSNmJ6fVNwNsTM7}=0( zX}EWp)G)uFNW>9zCQ09FhL=Af{r{}Uu^q(xvHgYX@xEZad}w{X&e^|9?r)UaiGYd0Sng!zw09KPC%9#Z-)QL&M3bV&Ze@2GriOLcx{6yhWrzo7E1TuQzlS;2N7_Bbj4Xa?Gf- z0_zI7T#-KU1ao3(ji7$TWXV6qXQvs%%OMvA3Txmbjq3uJKn<8wMrkruW$$nEfKVT; zz8X7eBXS@f54mLp43WH!wbuHEX}@^RtX17|3-l`KBrNk;k5pv&M79d)HG+UuA>^}t zh1X;$HyFq)yi90a(|YA|__eNTDWh)%(+&$E7U8S6Nd9e(E8=&$3^$4}llL$>6rO`d z`4gqc;l#HGgPz|0;6V-cIb*u$-C>niPY1TkdrHdNcR-gdg!p>~VfiMUJ}-?ua!oSZ zhCHB26DQ3LUXn~%ku3!F;?ifVWZl>F#_H669_JA9eb!`tca1g*Yb{?uzV7^z)1Wl6 z4v6$s9fkfl#K#Wd<_Zl+v(9PVgF3s{*Bk3spvQ%;cMY%=a^Gn0ZbRETm{(SGo)x_?J;h_?7NAUVgtfCKW%2;8RKn`R-NEIu5Xa za&Mh11OUq}#+mYTs&FA}P*(k7whv9GVA|v>%~yUdYH^k(V=pqdwNbSDrGDFbtIRno z);aBT{12^;*BtC94F{*b#hHU36U-zci%#&yqFO-B%P0l z+!dYTBS+Mf+H9#|siISc@GBfE}8W8Xn?Fq9e6)bPdOjmnf>A*zJhjlBk%V;>?_*BFfv}ob^1| z0)4e_P4i3Pm&ZSH>frCh@vNBD%k7ZE1RKK+m*tCaN>(asfR$p*)di;|StQEQy#7al zk_zuV^ttg@P!`wT{tctTh;wx9{tI9pJ3n*X_G;IW6jQQ#+*|q~*1gST*a96{H)~nh zTG=-OaDOR&P;TPXV_*p6P7L|-6yZJ!h4@5+tB4d02im*JO~UA>n62{goFm}gi2^b& zbcXUpE$xMxU`pzjABrW(Tc}rpF{@9tQsulSWiEc>b~}IYd%*|+X>o{f`)zvZ&u1@K zZwG!<3f-HKkme}|5qycY{G8hta=-WAPrB5BTG>;M6rP;`5_LnWg_Kh1$sA>qP>ft z;sjc%BW#J1o{X4pUlX)HQ>3I@iUuq03DZ>wes65NEi{^^amJAKc&J5gMGL5A!2MMm zo!=_6YzVEU-$|!n6VtDXLg9t3nKGk1HCDFEKGI)9j4PpN#CWUd z+E;J(gXGm>xits2ecsS)zR`_=sRtGzE&=VF`>oxruK3SzV`Saz7G43_+28O{SPPr0 zFOXmrA~>jFb=sct7_Q|?9_Mcyt8K!6tsjp0Qf|=b+G0X;s8lt=uZ%S5EVp5axCad| z%kHkJ%*)yvYc1}5>}mbB?+YO>t;}1<%8rsxdv)j5R)%nB%o^3I1=$dn8elyYVRjQg z4uGEjeyJ5Jw7|l`d&qnjAhRyu_x60DR%44};Zjn0pi~+ybeKRq4_1#rb&{fnvt1{_Ox1hgecdG0lYda>=gy{G; zgH5~mnZ`ce#00fokY_dqW`g$gwr){EdbzLoPU@}fsiqy9__Rk5Z? z@9xLkMBazR&)erM3UfMDw+WTz-Q405g5OaK{`usesTy?^QfBg}HM;|YpIOAl3zs>} z^CiZU4a3DsK}-Ix_%vg ztaFsimHz?*HM{DmNoA%-7_~lD>o61GJV_SRn8)t~lK=_Jf>Iaew483CQZ&5Bz!J~wqq-tvvqmSzEMcuZ+_t_m7@P`u)+iROO)r?6!hf12 zq=9nvlyVqXhH z{C+jkSHHg(tQ9&4V_|vYxCvjp*uu&3x|q%UAC}*?Ngpci1WClC&*d%0z6e|Uw@Wip z=pDtP|B)}{mN#au+n4bDzrCTNICeeiLdYBcnqiMU-56X#OE355|7k242@!`n(?bAm znc0y6b7m?PLm^!MZ7+Q@PfE`bTD;%CaAjO&<=z0t<){DCZYt7?vAXs}9bANjsD3l8 z@X`PI5}Nw*+C>4Q~e2fzNO7d7&0d&w}>U!cYVZtms~ zy<^%SkJ&UgJdEs14M@_b?8`mOVOfuo6mVv5R5`f2>lfcWb2BaOjB6W{crkQ)iR{f^ z`+dK9&PDY~8(ePJ#<2r$wW<;X)dO@pthNn>kq?<2xe~WGdd||nJ+Pey`tt^d94}Y3 z4hw0{H-V1S?sVYNA>KzN^zf_w;%|xFKYO@%=$7c##e@~NBRhYyqtA8VOb%fRK(j@z z!N9!2VdZNa-{Y!jnWVNG2gLO)4Uq%&v>Ple@L#&aEd1oSaXKZWw>T7BulE!ano4bt8BkZXM`RstR6L2F#AV?lH8=8gk+KlU#H0q7w79qeX`4qI*;H zivSUB8j@C7a#M*QE9(P}?x$6G^?OHI7H^J&9YwXMnRC`YUbmRtMqW19n~moZ_%3{R z*>-ieT9B=#jkl$&ccG)(q^ERik-cZBBTtn?vKo1~_3s934e~rC+PDPc?7qT74_JUH(iCbT)jvcLLIE$Us9XkUvJ95xm zdEyFctVRwrqo?4059NI_L5B4U2f^`jJ|7$Pwj!)0kAUbI7v2iTOWFlX&Sj93EO#Ga zNvW<&Ylih!1BjlfGZ|=N{4Va#p#u%H_vEos`cmx`BH@%F6xJz zg9N{aW-i|O^f^$#aXHDEYnShv<@y4 zwwFA0S()F6x~(G)(hrPuE}v+wk;6 z9rI{WQ5y}L))M8%bF{d>n}n>O!+#(ml}&1;w|O>P1-z1H`eoZ;h9k4b7;tDQyR2kP zvM^a9Si@89R*0&Gw~xsTc?rnRZ!8){68p&!M4$>l0A)-EcuU*QgI3q%I9G)HG~TzK zH?gfvI{Iu8pElP}uF9@wjU7i<148bC1?-movZ~kTr7d54ry>mQb5>&ZE&M^YS$6(E zzpF=wF8t~eiolq)XlW7~)*AB3=VY(Hdu2}KeiHiRazXgT*c=UhrOsm)YtP)G99y|` ze#36Y>&COIjV-O)^S1;6p@$X^V)ai=!&RDC^@Y4uUJchAd5isCdmvxd9BP|p@G<`N zrEYfn{9FT*5DtdV`9!goty>ECKWzo9H)u**a;7?*K3!dOvGw@e_iw&;D>%p$WsOIA zaVS2yb}0C;iNp!ih$c!1mR785ah`y!9Rmt|kr4(SJ@%flveWsb*wTu`yIvS>7a_jT zO@1%3*dH=dv$E1ACWUE?Y)S8(ZzPZd7yR=eK9*jqf{OIOVrbw3mRPby2W5g^HEO8o zm4?A9I6&9&nRi~jT0+px;^YR`0y!I2D`F1-`xTWjm<3y$`|mOoTREbC79hJa-i?)y zSosQi1h(0oPpHOdnN*R5DSgTpO}$p*mH)-yBlzh9U`MCvUoA$W(rQ{_WTc)Z59g#5K+&Bb76}_>{@i;5Hlf zrjX@}iA2X4WM}FTbOt4-9wekwu(okYoS^vH>iy$+6#XDL1gS*3T#|bb+}1V~N&KU7 zZ7zeOH(7q4ZNy%vjf)J+_COcHLTrYiWtqfEjy6PWS0+fSdv>J?wAhodfPBlp<0sUt zj}LrKo+BOLlx^sBfFGAuB7-_d0f*{*#vMjhK|RU+<&B>#i+x(~WGW__?(6spw`0lE z!P~x&D%X$|J_Rb_SV$d*p%Nhxj+xH~GPV^THGHx3V<6^Y`Y+2wXq71EIrO*0Thei# z3ImpjIVP>NY9897i-%@OmmmRUhe|2|-o}$Xep;St1{H-1x*Z=kZ@)gQouX_5ASiEM zYqf`q2a+*dIy0!q`aad&{H8PGsM~b1-VcS;z=h>;#M_S1x1Evo_+rz^cPgPdoP!)} z2f^TfLfXa_NJrN11Xv=U(*l;vel=cYWA|INa4vcT<@AAe8{mDP;*V1isd5u#7wI{N z$SJb7%6jdIN>fYVUSaGB+@rL7YX%$3 z5mF(Y7?bY^g+XDoVWfdPI??4C=2&A&ajDR=N(5PQl!dS4)u&d3A-5 z2_W00xXh!ULdI1N0DCkg>eL#QbUVuSECY2Lb1p(oB}RC;;)^YixaUQwvN!G!4x2lh z!`BMKHuJk+YdLh4eb5JxVh(+dAKV0U`IN8TA{<{#&cOhTfqIAlT8$y+EAW#L6ajh! zxDlpESQ>+nZaL!v-)}z>8D|?x$vE^tYKY_uj0``d?&;F2EA|ap$D0DuYVJ5Qtz%mz zqTK8lUG9u(IjT22Zzb!liW50zNT)zyqs?m>+hfQEU3|Kj9!~ugdca`uVd0KQMcLT(+Y2=ujY9kJ zM|)PBhNXiCYo1rru_ezQyiHHp*IHEn`85gKm0McbLWW!xj0p( z#W5wI*s5|aRR7Kcw#I{I)+O2}AjT_6KUSb6+k&C_#U2L?Mkya=B1BPsceA710DcnN zwPdn_7??bKJrIBxlk?nuoYLXS2z=Y`eFj&@1v(-O!@F2>)u2H*c%JwOXKxgg+>J${*rmGnE|-`h%>T%UjGe-5V=l+Heks?`Hdq zqc$g)yV6YBY3@|@)|)WTPTaC6m5#Cd_{|E92Dq&J87%L@#=G%ZWNHrVcr(Kjn|(N` zQT+NNbl&EUQ}-)X*Gv_O;LFK`9ckf%&xq;RnuijMB&lvk&$e6Y^f$$F$CTfXM7I|A zt*blJS~FoY{Se^tx3SFmkCl3q->^=(x!(eQ{lZZTDF)*ORQA(_&vPNY2L))@Zhar` zUiM8oM+;ea{FZcP6Mbo~SrlxQcO$!w;ifs(E=o_Pp5s%L>(tF6%71W?t8*&_8vF+M z)srIXl_Vf`-xW5=rcN^j0Te<-V`*0Q8Adg31UD+Y+v(tmx*?<7$z8iz9SFW7b)A^M zA-a_%n~*W6)Vk*`&U4m>9V^TwuWXxNob~lt)Aar)FoxhQ_RL~k_%|NA4-->oFM5FJJ{66 zc>&vzZ1UIQ65qzFRx44|7s`-Xq1Cp_2EIT4$u8Jj0SWr_MdKE%3lX9}#ruN*H|%K> zH_L{11}AZvHj&<_lr z7ZX|2RlM<5HOZHJReq_!gna1@6@7d>_8Q^FbKYGRlwoMwsN6+c@np>7bE%(;N*`p& z0NM4RY+HJJ!mGuOj40GhyM1GG105#6_|>^Wzb9FOO5=4M#?@%zBfJJNoSCtcZq}cn z?A&C#r4u6}if4b_eSBR+PRM5x{d|a{obBMVFhw<-eGgl|Pv|&Gw|K+R9NJZHz$MNu zB6b6ls#>pvXZL`aPFrJ!)xKs6Ig%?^n`Nx3mcazz|Tns;0T?)ht5GTg%$veWADZX?~{r*Z1<&;-)A3MH|lbwj-=% zOgLv47j$c>&6}fJ8ln|SA>v+}D|&?o&!qUrZVMzA&7ET0hxmGPxBgnjizknZWX3bmbxy(h+^_W2ZKVds~+%)L+P zIoU0#qcBe8j$(RiGg)>4SLw|wkjUl#EHPeQ)bJdT{Q&%~s`}GkR1eE9esQ)+(;Z(b zw9Mum;`--lHoTy5Z3?DIJtq2(qpV-Iw~DO1^?1(dBkXBU1%EE#eOO)?xjfl>L5T0 z{il@1ABorefN?f!Jt{E+m^!VDy=YEKDrOb-n%A-Intw$7T;0LPFcy$fkr%DJWNucF zNEm2FMabl@iC5i0`eZB6tmP=jI_ev(L(mcg0mVW_ztZKWf+5>+bxY2uug<=jWEDl|AJY zUU#_;{;BB;NJ$BMj({=g()nhuipm_l;wTG-Ce4#H7$JRb6S&73w&sJqT}$@!97s

>(nurkFL(P1l2T=@)L~DiWw;)=OTmZV4n`WBxovoAp=C%+ z=>xU9zLCOY~>U$M}es92MXA0|T=S`pf6zL&lCAHz^ z3-?)Q_;tAe9B9SU@!3zte?V@#EYP6ai(q+F@SA*ZjpM$VN@mwtm`Q40}gX`Cr zs{OUb7Y(oBK-;lHh0wZ6J4*6%b?Lxb-^u=icSAxj1<eqO-Na3hcZd>>()S^xrvB8FJAxgI z%Y8OyntqxCSLKPQJ(|C%^}$azBKCcaale#p*GS<$)xxfzrN{e$m5h)4*w)m3nk$ z8@?yowUhT2StZ8db+%ZtMt%XKl$+9qgPVPIUSvO+$YhybYMLJ`v>8`v=)`|;X3b82 z)W(Pce{p+-hbp8>m_+?kXagUnI8+3G|>A+Rmq}CdeaaSTU?q?~lD@)s(?LD%u0Y9p23FHt^ z6_#VqJMoeBF3Q#!EqX($_zlT*fTr8+-aS~;8q!0cJfkLrvq+5E1YOA?^F8s*qkIQ= zP9Z>7^J`-E)|5`6A^7h;1Zo@g5c2A=mG`!!R*@`n3f}mu@O`vNJ#tLG?=jjk%@c!( z50K=sX(bzC{9M`;A0bJoY~Gp-e#W(I%JceM_qF{X?i-8ex61r3>$n_mrNy_1ntd7+WUvIMMS)cGggl zsZqP0)5sWo?c$G(?ahiMdBlE-v{gy@N7Xd(^2`3f7CZV{hOZ+$Xa8)*ZAXl&1Q5() zPh^IPjaRRb=2p7M#rxTG%7`N15wd?dsa!D3VehAq`5%^h?ADx}TAfw=U5w`i((^>cjk5tbJ}8D%$MOVck9~MprS*+K1m=ua09(u*beV ztRC73eP++6nvN}m#6zk>A1!YM0J*b|k}2b}%op&_A7c(IylCDp%sUcUKGMI*95J~Q zuD~2<=v~DBuaUq1J?hZw$kDya9F~#$@2@f#;<5jC%!0iGz{2t^eB<8{yKgV|;dvqY z(##2hy70ffiGN2aa_Ik`QxpHcjAHz+O*f8?1xbj}>UdimPL*qMvE>Q)IhY)@k+YrGn`#P_ifFS{S+- zX6KnEq63JvLx>Cca;2JBLTcVQ?S}{C{0{n`__b1FN_pG_V%K+ zU(rI^3~Of#*E5x%=aUO}>A#VJ4ccE|$lKVl;%Vv}&wG%?4^7w9e@85oM<>!{g(?yr z+!}N|6K(GSI;D|pz#Q3-3=$GokU><-L>&*uU8i3ETqnPlZGS`)&yoP+7gTfPy-m$PUqmAA-b@J;~b-vJ~ z(!!)7dfoOs(N?0i#D0yKI4pvJfk0Z;ztNif|Ngv1Erb7aQce$%4*W)*&XS{G(LrO% zAbspE1XDG4-}CepJqDV6LSRxmHmjOCnelq613l@yauh0J+IR@TSx)$~AT0kK9UcRP z=>n|-5~BvW#YVU*Xf+;^@z;YD--MHawD7O0i1#BOUeM8^2f0~M3-7FSoFsCPXqXX@ zL6-tFKL6$%R2R1fL((diWipJB1NY_eZB2SZYMo^UNZMW%mlbRm0|zn#2Pzh904dh} zFEl}#r4oqC__uT{?M=$#J%GOw!RF~5OKH`Cz-W?zbYq7gE1!nzR>p{>rp9n5z~X7Z z;Yt$7u~sC;N}aslpx~rO;vNGxBLlU51H%}jGVmXff(6nCIA@E178tlpuiu2}1-bc+ z&Re|Z5pY*kB!`_%tVlcwI4b$3jDJ_Q)!-3#A`EE{HdX8MuF!WVhl@{G z_mKgyV-X#AHxn;AZ9eDgVgW8Nx5b%iEX=P!@kilTq{hkko9W0~oW-`$sJp76VK@Rb zu;a4}2KOtm0!anbdK2%ucMCfH?rvFuaYaZn;sAe5m1H$6>TScq%~o@AV6zmsMxSV2 z#1oTG5YXLNw&sdY3~C^8>LrxCbZCX})z?{2P@Nt9yxM-Pz zF+xls6Z4-M&Xp{mKs9q+!xc;{|yKjS)Z=mUQ`5h$Sf@gwr_{@m{lrV_+@- z%A#$*HZ_+)eoq`fho@JT;pN=~btfud_y}H=`|dgJ(SwCmZ*@7{S`Q^hyr65~uH=h) zZ|Oi65ifys%0x3bLCepNLNF$9qOQx_(BvAgPh;PJ^t@e*`UN*IF9JZx=x7I!pX)CO zAeiervu;o$#u@~t)X7P~lvM;h688)PlrjTH$Yjq9O{%+Od(=m~|7~T*)X#ifDJ=S! zS_`A8ap!AOOqr{%(|YvbO!wI_d;F%qjxvP?^cgU)AnJ#OB}Wd0t41_Ps4cc=hPRzB zMq%Wj`s1I~*L(Zk|L7H4jCVT(Vn z_^o3_$e9yh=vBXuEDa zjS2qRWR8F-IKh}2QDOwqeuMU1C|G<$@851oNEo$6>=!$?2Kxt4mVTk@9(VY=gqV=u zB-^nMfkTdMuc5RI;Tl;gt1@&9OyGtP;q1`lXG%1Y)iW=G<(lEq^m;^dwg55`(2W)i z{Vv9150EAvnhXI-hV3eMR6q}6FOA#c zEx_oO*3pgVL#NFh;c)K%w%B{Z+_s*BJ3K2tldSL=mc`Z?Ob8$p0j#FgUrxdAYA{VB zDdL2bw2=$peFd~9`78^>AU4X+MpHH2lquF|LDwPz_(v7f1ELv7!_RSO0&g`mWh?~c z!2fd+L?nd_#&L*(n;yLX8BfQU0AnW_cH7vliHx=5b6AZ&^jRLbpwY&_AaD%M9|~%8 zpx}ehS3Uq=%bpnABSNblM)?2SHC4w~Fj?}Mbf4m3%MxUU*BFkymrQ*28~p^tH zOSSmFTDnSQ55d+u>UFt~d;1#}Fm3>66^`NQsA2ABm;g#G%&pF<+z&}*G+9^S zcOtF@vGnsPdiDhXhLP#?wP|KMH88SLZ+*)MJ`02ae0xO~4+2owGI|C}2N`Y!Sk{!d z>xMgNTY6i7HcnUrlrbcqYm(-F*Oy^xbDuZSTqOL?Gm_e45(hjFvWFGWeTUD5ZwgFE z+ngET1BN=)~!+08NkKHb@G?xF7TU-8qiZfgE=T6Qmw3KyLkjrw;>Q zR|L3cE-3&KEU}{g%GQaYx^QJ~CS9g!+Bw)K_R5Y6q!_zHW-&Fk3z4tzO$CIIqB{4N zI0M)cqGJz2R?V0G&l)$({gX2R=KO`sZNr6rz`d^?q#14{)0>m*Cj+=1of!PeP7}12 z`$H^M?*;+!Ln=ZkCr~)&>3zAk)H_*vGVFtfDxbIrDx*0INy9?q5qE zeHD&jc8!PUcQnI(k|n?b3EeiD`RVCBj+xWR)|~!$#OI@6eI)O5YrBtL0-Lm=59vFu z2DVv2xC}AJFS$Q;k%IE0b=%lIAS5V>iTdD5yWkStBUAge1w&r&cPR<9BYsAi)n*MC<1B2QaPfp2@+OQ z=~I;8HuF8FSFTQd?kfO{tH5<511uOChau07e=o7otIcQr<5nmCM)B71L-gCQ%GH8X za@97Hi@NrALaU-oeQ3LxAxr8|QTjt}T`p~Yj4yHZ=41RYh{4ICg#TGy%&}GxsgkU# z{QLWBe`H#fMBUvb6XO2Tu`WeQ{YSS`FN!Zt0TtO8&G30cOi(io_J^>8wRH0^?>>zL zQzA?!23L2g$uvx$h~mqwCOQxaFVHg1Za&2}`-Vj(9A=nN+OAs{pWc7ENF6?a#5~P+ zti3v*5|ygUhD;`+@3{l%ImEJ-j{iOJG-Xx+hlgelD$|B?`@Z3i%N6J%nSKI=jJuwK zsnM=n9N8FE$0tUTml+zZxiao5lMmYphCE7x zwf_9s1pBFu=Au<$4cWB@wN`d^OKU%aOX@ECJN#GoKS&tSPii2*K6wP7)*l#hnE&0^ zm=6*XG9a#KAC@Y=xIh`@f3)GehyNZHxWCP|GWLk5jdpR}GJuH?J>fyQ?K=Y&uAOi~ z)BkpFLe}W&f6~G1mU`DPlG)R2_aqkMp1g4m%8( zW66WB#`Uc%&IooB8uxnJ2lxMQ=XgKEKHrhNUN$H}BU-GNBpfF$)-y$#s2`^KD$$+b z)oqLq`^vt)V$?#ppw{|GMF<18Gi;Q!!P3=zbf(9#7M*;v-}s|mndsnCDqqPLfuEMJ zG|U6?U++>78F4Z=sc|LU0&{%|nB{AizmunrcCZ%zj@N@@1VI{=puW)`Q}I@<5Wf{4 ztT`(vyl-G-5n=J3!cI^t)8};~d+vs^qU4VA0|Ct+#5fWVWp8 zsXJSdN;Vl$mVYmDKjy8 znLUHhj_Oz4@uB@wia#$Z;<*r3xIK&0mqOveaGktAH9hoWBnhi=XwDI?jvE>e^%4;# zwc!adZR+KMzbKeb4jirWbzEiaTGbq{NW!tJ{Ly9rsn%zXeS|VnH#Z<1KcsRT#$D^v zn`f2a=>`GnfuU#2TN73*ZaU)pp4*#2gmcHYs0Ds-$_xB&9lU@czO<=rb)ZsmG`+$?kW@T-S+ z8x?K5Wqd`vAft|(uB&*(7zUxP%hi!=E$tI^?-{Wz(5l#qPtK)JvDU~karr%)!{ zF#;g$AV?$dVacAxwb>a9BhvVF4^`}S&Aj}DV%tYElhx?h_W*|VZ_$j=E1ixyPGhBV zov8|fQaJ(~dr zU6dKAa{#DCj5&i>l5pGtPCccgRd=4@$c58$q$>1WR_j7Z{aP?Fph4wPagjO?&|lBa zS|QDcugP(KsHR*KocOdYHm`Aiy88J`6EFg4jTBeN316QO7`PdI z=(So*YY<{VDb5j?to_#l!vR#~bP8IeV*fSsSn_m~=;E&_TXj;d=5}4Ke|-qAQf9w4 zPYoC=grkD5?A#fM93lZya4Gp){I|ckOpq6SKZ(4;fuq7N=!QzCl9ULVxzEhT@TXrD zEPq$WL)>R)HeLPw1rt!@8A5(Lu*|uY}tsl!(_ z-(P^q3YS2|)F<0(;B&idsD*Fij3fBiqdc%j^KTxlwID4$zRkyMHT~c~ZNd)t621tk zUywP-)455lmWsV;_a`~wvT8j4`yUmd;UX2k*{$3L+M5=DZ>4SEtzE5dsM%irYyk z-qYlY7}l4tzsJ!t77 zGr+jjv$6LId>1wW>$#HHIv^cqZqF`|ZW=eRKRF9W5cs2}d`p!6D1IXVw&aNCP$Xa=(RZo{XUnQdG# zFphR&U@@T35omoh(_E@GGcXQoflXma!mLG~ujdrtsh-nDk-GXtS6Xuv9!K z>>HZ};&`9!+l&q)AZY{$JIoekybezFlCe%Sup$xrT(e}v&gIIi*Zqpz02 zUzq^=}AJe=}rg0R^jT3u=?$jbNpVlG;)Z8W+VKBU=?N4>0kevK# z>D?KPq;cjvw{Zck;sexEc|w}*7l`F!s_`SXM^{n`{Is=YPmNeL;IxEW%Un3ItnV}( zhGe9a#R*bJ%vSt}C_*r5z%>qnEp4sQ=@MO{z&+H!Juj%xzD@lzJ$kz!41E`^ zPmdedr*cwuWMIEMDP;~d34l7EZYrg`iP$hrtg?B;8H0KnTjJ-+a1w;R%p{!RRt&8` zgn}`HWVCDqbGg0vvRipu;Av%XQf`XuzpD@R#a5+pxrrem6$onlD#|XqpdoX6;uw@w z&`U!uA0}8zeFb5McAhH0vLVDZv4C-JxgWd{Z>Drt*HxmzWc;iqguFLtR?@IHqNTv_ z=8EPI89#bh(5)P~#6C+}L*6OUZu&;AjrUSsKQVb4Rx|ep4j@=W(>6$%Bmdq5wx^Yu zJV}a*zfR@T&w99LesX|PvrV%G4vuagv%S47s2)fi=DOSRR?np?M3B&PNITCH9FP<3 z8k84Ftx%3elRo@y)yjlio^0Nue_ugKk^rmLE-l```~@ka1Cl$c=_t-R_-^KxC$tWh z8y}+RfzxKLYK|WfUAwC1n`L3bAxO zb9QPs<^3|GC!QxLa~J@My^#+F_Je9R9NIte3YV{I@I@w#{tTk;$9g4#0gX}uqCy)= zFD*xMaPwHJD{f}S(gwn*@J26)6X`;=Bk$J|gdYiYjFC6mXbtt0oTS%t(V;gBmfnGb z7z3X^g;)!w#DarFB+gYN1F2+ok0bfh^MjZw!st|`gy*3%MZURV`1|j-nlgo9PwZ#Y zv<1fq1=2(3W-d0ro5xLf?iZBpgs4~~QzXEiMA`)X9T=H5hCW6US_5T{t+~&LI)3@Q z>vmd|qvkhIWC76^@(yqc63dO&K?xWJ0T4?OE4m_A+8R9}cP%T4vbdTD%?aQ){xdctJI?;=rD+n|1)cI`HGYW@3nh((R6F+Dba? zZz!pZpZsecV@qQ@vb8LaU*bKWo{v9r@qE$mPjWP!){R$Lb=@7h{)i{?ot_IwvLm`@ z$|OKlxv}cA#VA?19%V&fjeph7(Dz^4W#x#pajx9}ZX!^9&(%zwp6m)zb?u*U__^&y z0_Yic^`o^WHlIELQ9jm+u`w8Cgs}H0e*(>APMDD2_vZpxVU+@Wr+FNE!(JcM`3)-P zATikhCmg1q7(yh662;)y-OgKM z4mu^-Wpp9oEun+H6uyU0_Xx!`C~B^qJ{Q5~bb6@a(h@{AsoX4U%cDGwcL0DCmi{Kp{JE zpX8t;E$C4jfcFBw_VM-hO~-FFeHklEi8s7JfM`#&05>{#K$OnTpsg35? z7m@1(MS>e==4Lr*d)u31+yx%pWy&`_d_!&(JNgE%v zKYM$-23;b^gp^>z(A2pF8B#W*1?!sJKrbB9bLXQ!;&!r}1{{|?n<}GQEzylPD`{Wn zlhDRl_V7K;uPt^0!x71Eh0{d=EMo7gPTqEHiD!g(Cx_B4--Yd^)>c1n6>|o@g;b$S zgn$sZfRp!(xROfDT(T+|#5#MB1%4VF%45{JN7BJxzB30hKzXET;I4bP$X+5W5TKTP zA;nX2Z%dHQY5W;^u^=0%l5y>R3VFLJ1YfROGQ?AXhVr@Fom5pGOh9&VRjX(1gbG%i zpo6uI%pF@S9tUI01#xs5@RR~aXD~_i(Td6>5XH8rNWfD}Wez8z1&|@w=UahLZ8VN2 z7?MCFuyr9%qSkH4qqfsL_Z$D>m-~`~i~s_LHLm{jmeW^7ui{h)&OcS$D;zCmfGqZf z`9prg{)tMnr~YeGl{<6FI24DR(>E_*TONr)t|#r88bh@(0Z~#*T(@gyeWNPnB6RBx z2bCG92g-R(O zLzj!+#XY-HVLZ?t9VF)aJ{PH*LH6GZYq{fFh&9f;0>f7+?Ag-E3RoDpxuG7!p2^uz zvowEHAw{YA>8I|;h_OGnyJPeEc^(@JRLH9@X2G^%F*kl(s}Konk)!Yi+=97iKpMaq z=Tbp7#r7*lM##flE9y5%HXQC0`4!|Y1QzP#Oa7%f$3-FfDbSOT zD`HQPn4KX;sH|KAtU`*l6bx7)nk5zuty|73R9+|l_bq_hBl0%}KbGCD!mA8FI}=P8 z^-}COeU~d3`o>r~J*YfItyHA`dW!xD6KuE zH1W+P@=L;wu(c(A^5uIzOmc&c-b(IL2SU_?!V@-+NO#`v5E{tIfS~NZbga!pVqCl< z3g>#o8-Eo2fOpZBB36jMA2m-J!3vB|78C7{lgy56vImtpx2Ek{xRclc`THh9$#fl+ zA?pKOb_svHP5r&Q&Hxf|XgE?01b%@VD@*kUKSZO$(N8T28ehS-_GV}ct`vn}>HcLo z)_#T|RrE1FD*oS8B420x!5%m<+3L4wqZuOpv7LHdmh?M6${xIDTylM2IgtT)n7#GU z7*jMOB#hcy?gYL`B+AfHV?;(#;6PE>tCU#g+(XwJ_<3f4iT1eM>8 zBvx;!4H}X0Iui78)UuG5ZYs^_Yu>>H?r^;oe)R4fd1o9sNjCKo_|Ri?D<6sB8OTw1 zW`6QLI?`~&tu`E+qMjHT31>is4exha7`694zJv}cn(ri9Cjp}JGdHZDtR@+&&0@}; zCCl}!0Mgw_zSu1BM{3YS-9W$)yMMNCf`EcEKX zb|)rvS$hXl0VjUd?7>df%f~f^>O>L*2cO4QjARcIIlwtt z3a=r+k2YdYd-Hf$?v0!B_yC7nQI;wR9&8#VJq2t|)8cg&%B+akVw#`>RqvmRKN z=hNe^r(uWxQc7lbIXaRQkNxQfqA(s>-CFmV$TeR^&_&G0T1HIlw~y+ifhyz&$@)@E^iNnp#H z#5e%P_kcXeGG*7j#~57uZHyG!U0Z^uUJI=XGg^fq{T&uq!Q?SDsaT}!3R3Rp)GBys_9W=_Z?s@-8}mKa$HB;xCrFtdWN;a11+2w#6EOx zJE=7S@bM7GBA)x7M8p3eF;~9wzuE{=Cp zE?xFMfPoFWCcz@6@9c4#)EYYYzjygSY;*U+ssu%k zcjA7@cVO|EuJ3f#(LM77PA1;z&1=js4&npSLGn-PG&1CGix7OOoQ8I3JwH%T=Tw_$ zVN;MIFZ#iZC8K1IQlEtjfGwgX3k(pk*X~Gf=s#q^)JwO}^4^adIyX%1$>Zn53W&x? z|4k5wpV=vB8pGl%C*J6|^VMSXAdlRh7EFllS5-X7+i7;l+1HsLyO}Vr(K$VyIwNtd zAwFG(h3&o@2Dsz35zN_>*4hJud(B;Wm(6!T1-qRw_bS|1uN{FBOkg^tM~o-inCvB~ za@e!o?|&hHY$-x2Nu;ct1-S}BrM{3mz1^dyE<&hkVHP>b5sb!A6=LJ*fB8M>mH-KP z<%kaEPoICz@$PJ{5HW6OA@LOAy$r?RHp(8*Xh&We!63g^k(QNAKW&sE6?pGG_#$4I zE~14wM|=;m=K*_0&?TK`lfDDPsFT~-Z_o6f!x`WYmwymf$OJa3HoKm6f3sq?(34^( zjzw(^8tT{1S_rgKmIepoGYSH)prOxX>jEd0;+?d&;QkhE=v zgaT2A-brofB;dRvH`5&%cL-OrVZ34O?5CS|mxv7}EmI2unJ#GZ1`!<4CMp!4@0B(7 zYtI?}YmB)&=s>_=#+5nTfZt*=>JS~Z>_`p14SovTM>t0S{w*ub%5qG`TJoo z|2U=Y?(0IA-)LR?OP4nR^VVLQ?Z_M_cV3=NYVFJc(fH`6ByoF^M%NUvAW`%tC^!** z`1tvaCG_!f0h{(3Ezfz?oWLcsIgrjMwvFaQ*f)I2;7(5tQ#P3ViiViIXZrAQ2OVQ{ zVV$GMB_1oW7k65v1MtzN6_g401WkV$&(nMSQgobmwy!h?YBD=odN|7u1sRbT2c=p8O2r*SuTc6K~Y;oAL3TlL7h(QAVHV z0ugyhgBti+`JGglctsfh;@WnzoF}X26!?0xS;!>qcFc*yW><+%HMOfInql%d!$tac zgpLpZRirxClkhxXodr1fGeUooaVB0M_tDiW$YupVPQxXx@xD=2=kpr%Mwyi(}H@N4y3O| zKuA+SNt|7zhe7Mq`?a%udbC1sHuMQz%aPO5tW$puW|;2hLH2oV{-|cn?2u!L&Cs%) z46FFp7Q^DZn&@ysJ8!!*9artOsnoKOYZHWyAXMxe9^2@^m>IP#3`BpjTnl}u@MruF zMy9P~arKEtL>Wv2hDSwqDqi5rRmYdu4eoTYpQ9!VYM{Va1d)O6Vss5gO$IEG#U9T_ z9R9t39ZypP)j?%Jy_}{-#G4?Af;Y{B<}m9g+FsYS*JRLMpP}><_-G};KxJ`&*?N= zx=o`=4o@vl-MD^^PdxT$I$+JJK^Wz2KU6dB#vNZBBl}18+NWgSPi*S6VmgXI@Yoah zz#`2FUOFSeVVT6{wfq^WyA5|6-t%bn6BM7EF-C-tQrJJj{rnNy8{3}?x^rSiD#&O3 z+WU@)gch`+N}>F+Els$bJEapxTrQ<;)o^yB)s443GWMj`F5QBZKA@=OQ`04@qhwgg z#+p;mK%(_FS}33u6b=hOrwIXqlQ|a{CWdzBohW~`Hp$ushyD690c6nCE`Yhn&V`O6 zyi2m)R#wT}tqf6yB`8M9yUsY$_OG_G#Hfl1r=FrUMkFVe6mH>%uT_@D zL7988xU(_SQUQxt6eOr{&&%7^=oIHZqp%bVn1s}n9OXX z)WLPgZ;9hNDKMp9UdaZ^+mWut>+F=Yd@R*kl$W}@q=8Jo78yd~e#nNAn@DuK`JaHh zDPI`B(&!GjP6&7xZ~v;Yd;6DhqVXfi{OSs+d=Tvx9bRwx#{jz%72qFg%8Tl(*^l?R zGt~B1IU`|zav|sH5yz2o&_nOn2#j)k6Hk*`nF3q^H9HErLYSt)os%T3fiZ+H)n(PC zCW=~-2|0FkbV^V!E{N2@GJ8m?Uixlk@6m^!`;w(nV#H&DxQMH4-UJD-t+Y~n57N%F zFPrlHMEd^KbHFklLBiBppDHs?iaL~iryHAfN&JT5`vZHKz7zKM&)E{TG9nQY5BUqm zntz;^=9k(6ue=khoV(5!+GprQ=sStFNfdf69Um`xnnHM-B{yUNlyi5OF6lgBLt@(4 z43s2>XZ%p>=gce%z6tu1KV<}FqZn>~la(Z*GcblBA10QAq78^rR$rLViO@vvuXGem z-n@I`*W$;(=;Txnl*s!Qo)?7(aMWE8=lF0xZF|c{(h1kGyVAb9zXttxdv`wlnuBR! zZaunwgqCiKkXH&0wcAV>fJ^kGM5eT=HtoH)Br&**5A&R2YEH_ zTf~%*{m?%T@K5y2Qm%t}Y!53?FpjPK%u-Q=pzkG$L5AZj+X*X;E}xfm1x1~ASrIlu zt0?a_C_Y;7y0yCB7+ykye_qHjCD?$^u17{VA7Wm>dhYK1+IVQker?QOE`LU7?xKq! z*#1CjO&1NTuu<}&6#r4+!>+YmoyEYK8|vED&4S|Ydf~iVuUy?Fh9NM!2tWX?HeJPY zKVr1kn>-3igthQZT&74A(b4Ebi?5~+B!@zkAa zN^nPzJDYvN3E@ef_#AGW7fT7D+%gso`oc5uQYTL?{Qcmt^yveuzF4vQ4ZFk(9p5L_ z&;m${PeJyC&?U7Ck#N!nM!2{oITQQl!C2{h7vcl?uvjr!iz4?6;IXK(a=YF;w zy$~4T!+y|QzcEY+<}l9F=*Cx_cI8iXpM51gpm)*Gd|`A!kRHx#vljDsLR3YAeG*S8 zqI~tP+LzwHy+@eh3Z z#%b!@q2vU{{RS9fuWkmxCMffyRNa{xAcmpuhF8T4dxze=p-KziAqkd!-tvH;MLFfR zr)Q`1c1Aw7>_F`E^mq>^LbWY7#C_zde>ON>VnNayAZRlZ# zO%D!mbU?Sm2+s?4GV=Z{v}n;-1h;X~fpLntOvkV5j61!)5Fu`SD{`gqPMSvgv>-vt zqG#@dJmi9e;xqB!eK@m;ma&>cg^p+OJtfy4R81`d%fkv0p$o|=LLs1us9nSG1<<#ca zRa)Z#aR%y)}7D*7fx zH^9)=RP$J&oSNSiFgG!4r7;PwqW0JXZIbdQzVQOothv|H!mnj>-2Eb6wRYd#VcOKw zVftRzGu`$@5>TNQ9YHw4MDBDA|Cag$fh6``Qc6L=XNC$7&Ph^YCQ4>q`F#gC%S`=p zsYS_nB+ggx-=KX8!aaytRGXDakRm#KmrN&LW8-3_^4S;_8dcuVw<@$> zxCmtrfE8|LDL%ts2#oMU{f&t+!jY}AZ-3Y{32m3Sb99a6prHG1^n~b1e}&wX$Omo9 zhGQ&#baWk;qSodRAWc;$<#hHKgv&QOGidcszfv1i^hCP4ORI$ctQtu5$~XR z_|#9xm}h+puO&!X_>{dQnrO@m_0g|$iIGv-CoFP*W9s*ZUTwiEBJa)`6VjG)N>E8n zcF=4_?LH9G7@~R`Dm-JjLAum&CpPkhWwSf`Jb_vbS!;1Ws7jVHolC6}?)0yPh>Lmh zOJ+pJ)A~;$AkS9s`Ta>c=@+|^!70n9krK-Z8Uxi1`mc=*sRJM_&_F6#5b|AVap}rW zreHnd{}(Vn&UVeZe*2wpJn$z-{@C{mYQnPlca;;;kAHlW%CS5XP36`fd}n4&Bs?vF za}P}NT`&f9Jh#N6ghyaoLSVt`HJW}#$UkY7f}I>11L#{%FFMA@?F$gikHSsOYZTko zYe)SRi~l7FNtsSi;so|yDX8K&ffN0?Js46&{q=Y(1EL@Y)bYocc^|YZcO&0E2>MVn zfOwJL`1d|w7vxidQ7becdXolg(s(3WA9u}YYHiVNewl45t`lxmA%^}BGnjW?SeEci zib@`j1ZbgQmNrTf5Kzy^`#bIITK!1}Tz?ujU0=TglID)*zfXKC05z(JM9{J(zWv5)E!>OKbm{H_-i# z+jQw=7sy8&i9yG#c@wcK$V;;2tEEmq$osW6`fJ;__)Y%wNe6M^rWW;U_VO}@U6Co+YMQ*tOQ| zoFOrJXC@6_maFg>(%cbb-^dgnAuIZqBL{EI$NwwlzwYe@nBy^r1!IA!tGB!iZJS^C ztU&tTL=i>5+8c1WCI4faGIYA-ALU(zYwuWFcYcm-kNE5U;|w36YH#f}n>}HjSow0?mKQl2TMKw611{y?dudFetIdWgU>^IWID6nPaU~)1!UC7Us`#;U5Z}9(FC0 zTx-1)3GZ>134RIN62@gc!r<8FaosK}BNHtYZvGk62em~yG)n$nD7}L1jPUKa9}<}g zu`X=Q4HwyehTH%BeY_KlrssG5ppxbOgO{FGG%ogVMW>YUxNvJpQ=muC?tbkeYg4q# zde)ZDz5HI^T`HS+S>)K#%5<621e?grq6W92Irq>NWDt$-@_?%)Cor6CO7NGK;XLVK zd;VIdIg{I$B2gPQt=qM;AsCz<{7!@pe0bXK;(lmCcQDno>X9th&?4Hv>j>1ZuinDy z_^Pxl;Q{A$M*=toM_r~P54)NWiwgdmSCHquGdd`hQ+{Z`H11me3bw^;vT(?q-gnXm zL$(vXJoQnPPp7`3kxJ0WwfQK81rQ#HFQO^6*`eGu=A6b3gVU+6;ni=zboXxK)Qml= z1+H#tl#Q3(MvZ>C!#kSu+klc2ZlAfzKhZc$V?ur8k?D+*gTERGzvS!nmN@Hb_e<~H zS!OMjmn-PjtMpwMRniiwu{+uSHG)U zQ&L~p--<7#E>a!#_`2}73qXiH*XNvUxg zQD2nM*{}llAXUe$i zsy{4Vf6XSDCZ%*n)_Q0FP!uqZ!HIL|w)C6!vg_Mr(P)@6(GL2vNuq;d3|+iF=9u<= zn90d4ZnZrPX@>IE@ABMJ7boJ#F+JWIW-rLCe8<{hjfa%N+Eyt#X1s@vs7j4-_;+Ga zNhp9lvLT&o6x|Yj1%{O$<81SarL~>`;y|V83{0uX^df)pH1wsTq!Q#WpX7f9&pW}zj+VEF z-u-Sd>-v4amr6=$pE|Iz^~U*x&Bvb8gDH>3Fa8ZLZiovajX9g*e^A}}FeRdq;&5z` zyPk`w{7ULca(8;ZifBB^3N^_5+OiPyR!QW1Vgp;`)#Ut-z!9}Lf*Lvfd9UMiH7qa# z@^n@CH1b=W^94`5V404#J{yu@L-WV9i%-E{DwS@D%i@~A5;Et_rU-_n=Sa+=lQ??g zhpq>|+J*Q1`pzc@#aU+h!>`@*SaFt2C09OB%=x#REQD%C^v;HO#5?_?5Gq|i*_pIV z0z=dlO=;dHhwFASt8~9mOmh2D=X0!(28`P|Oub1;`5#}cTM2{oxYl6?BL!i3rf8qVmMZ7!Je2|+=`Q@D`nGqsn>qI68$!TRv8m_zY~m-i4U*FK8Nw~6jO z^CHDu3Y#9(fi1Fe)LJNJBUd{O%&E;pvb^`jGi*B96t#J4JVa@dn0}XuO_pEg!Zz^SYvMx%s2Mqe*|FJQl_J;<2Y*8z3_6(faQLn zSrvz%Z23;S`DzFtij`*1lkYzic|5BEKesT7{Z8@u@7rM-fzb^lhG+aZ#0;hsM&o-v zSg&|Y{FXjt>)tn-{B=RSZV7loM(TQQE)uhs@uzjoqoA+k+91M%G$%4Rd2qu1zFxcI z-by3A!7yp}&FaQCKl2{iwno)4XZCh|_QnGZ~)`Qv-f6n4I`fIlY3N_84 zK-@Whff#aC?(;WV=QQ-$Sk+a2^mkA}HWQJ1NSO}F*WmER$utp8{=5`u?<6!)8oyuu zhFVIAm!z}mTlMF>-oiN_H~c4zL)&O#J9d=<3%8JkjFsrfrd!@71-iS3fV*SHhhJx5 z-j?lf;g5&s=A z*>dcBY|5GzRauTfUqfKi|9uN^?9?qfCEcVUNACXEaCRzw_K`QmZ1T~1F4qSX`ghc6 z=rj2Mw?y;RZp2L-%CL6U7K7t$p7_wavvQvk{lTo@AkNFQL>G>M-JWeO{M}=ULNDDW ztCD->T2i^r9TnQUg6z`SFPR_s+R<0H&_Rfe?zjC7rPQ9Y)9h9lLe+?OYvW2;S>Om`VWOF@Nc|;OZxv4dTf?gtZ2`+}0ATzAqk&EcL+1hk=1oahU zvq-XDEb2sO8agYypo@kD`mKiDMty6Hl*o3JcMef3Y;U&5vc4r-fj(B5{r-EyH^vT* zjeh$&^M!C+1ecE(b~|O7Uuwn(hRpMZ8?|J#2GRz62+2r{YRmEO?=7HlZ-5wfJ#!#z zoeAW_T0m~4k}w%Za(NB`%Fd_sx9yVuGyd!GOAW_(gSXvX-}Z5%9(1~ znq`(-evZpF3?1(tPs>ewRNy?eWzuUoajYQL!n{)R&30f;8R(#C6F*F(F`$)xljcs` zRXmhPBNX`yivKy-M$@n}_V>%%1M;@$_O@z%JVthYVokBAeQKhDW5fR%V*HGU>fw}V zRg_0GB4Ic7dwZ}$^W6%q4{}0HDLa9EtfjqAmd@w7-in;g*P%G3W&1mE)vezhvIi?- z3@cd@yJj{LQUUw}Q*6+4(`k{BVU@gr&+w#Ri&?xu2s=56(Ov`iDy z@|?@1^+n2_#=r2bd&aDtsPi_PhWjK5t8822Ce|WBA$&_^b|K20=5&nTzZawAgQ*8j zew?H)op270gH`s>I~Pu;nXzRlD<%Ycz>(53lUG<__j_b1%u#4kuD zOYa1Yr*WQAPlPN!<4+g4Xw<`gp}Pp~s>%$0P`P`#R~b$;rUDVj`{OjT3)b;n^dL5oB`U; z->v7$Y~3qRdw)gtP=SqPOAhO^a+b|sBW7yXA{e1tc`31I#9I6SDeg-}$bpFvkdv`U zupjq%XIL_oJcYxqll1dhW^%p%oJ(nUTq+@U7;Mq2;=$n~`0En|0IO%sF$8tigv0PB zlP%-7Ku%#lHa=@{uY|PZz_wl+mAr3LgB2$}PaL;UPx7a7zcC#nR%nP$d=(QzU;uw* zD){7ERbWY9;wni@{^K8HriDF^ORF>ViVWX8^XjZC5&YP$v-JA;H}tIKkZ(NrJPmxNCp}cM>$X1=rvZ9B%pU?mud)W~S%8*RQ*)ehh`~ z)&7yMvh$L{KcbNsdk4}i(mRI8PF5dfTSWKwlhgF2k9C)3?9ZGt91kl*(z#aA{?C@Wp`?nt!M`KE0jR zvxWj*SDU~NXgh5Plx)3nK(97)BpUIxw6Gk|R`0{h70-CQnpai&}xN2M=Em9p)0 z>G@eR5}2JnJSBSs>dYWZi}+CPA>=<(n<>iR1T0k;IA~nC3QHRWenU#_&C?UjJvVKA zVqp?|)AjEXr#ggQFUL3o*?^ ze2FmXZiC9!>*SPh5`WOfyB2CM^qpMRUl8|qwPjzuxeQ^L4+-7uaA?`3`S3JMC?3vp zk;6Pd>7jPknlThG7UIXYx0b&}`^{X+j!08zKKLB9x;eknwcpK8{FyilI+$h z)D9?UYk!v-567>RfGDyD;TRm~e~`r4m^yd?8EPBfwV9BP>JP8CcP2LoVgg1I(d^908Aa z{38Kmco)0k;fETR-Yv1%5?kx#mV@0(30CO*S1EG>#G*8Eiu0bj6h++Y>#r}SNY;Nr zOz+4^j^2m($@bwh#aS8Vz#HD>NSPx}*xjP8X8GjI4Pi+e>@|LmlD+p~F%Rx1hIpM* zga2F-@U8XSTe2ond|^oqr6tyWARXo@pi^rboZvSWIvqyq$Nm0A2Ux2CnpU`h%Xs@v zRw&M?t)+i(A|s$rRQF26w=}>B#DFNH5zD+k-}*z)X`KvNwaImDF+5J;U6Ia9#~35I z_gktSV)7!2lD+C$by%MQ|A=MHEqs5TM9#BHP7&qah6_ukTZ#mxqGHR-aq%lWmAA%? zKFlnZ;KmY;LMJM9@_!zGN*Di%Mf5c?!f<0Q2_99IrpP=KE^?5a-Krvk5_g z<2|v3Baq9uFlZu^HQnE);c96+_zb=K56qBg;-I!j7NnC%N#P1_qjz)7TrZ;PZ&mW8 zzpaZk$=)NpWg+ZyY~k5q+oB=?q3%}YvnS>=T{aS_yqvAQg7MWOF;i(wTyh+^>lcEm z0fG^Y7=mj-cVm;MGhJy5I?b&F;{58I+;4*d{S`j^R}wU@1f16n9F;r}`zB`NlN?2n z{>Z)4#1Q1a>q=vIlK&`eHoR3M$JN#kr#MY0$B$))M&Y|zY=5c24Xfq9c-=;46|j&` z>R4C4gXV8ZEerx=W~5-9oFwgs|2%}*Axr4=N|e4Wlsa?2Z=xCATKEWpLtrU0Q8O0? zI6#GvqX?M83!Nz_$M5E@*)XV{aaL-5{9tF5tF$5uru>=$bFfrdKeg0bUkAM0Yf1V{ zTby;@eH3aVM{kUE#5i2+Pd9-omf;6;crh?R5EHon5O61<>zRc5m7bD~U_;Su>Z+n* zw#Y(~;qqYm;h&LuOQls)@X=wYcIlsL#Oa7mJb!2(}YAL@G+A-1zebLs7~v#NsJCL+adg^6r{m5 z^Feq3b2^8Pq1-c$+PC|+2`~wc$bb{Td*ox{@-T|; zP<~pfY^J8gh)~0|=GioU&$4{?zyef^2d!;Z^NJmy$5|ySxR8P{Vd(y(uh6LpAA^;E z26C18Q^rkSgmnToxi$iKr)kH!_|&~Y9%bob&{B~Lc{X5?u$}@%fB~^+WT8yw3#Gpj zpJo)!7Ohh0A@a(ge1ws2b&^A)9R@=*7bS{6n?Hk2S%6L-EN_X2P%~&gserD&!{$ zV3L|K+p+Pg2o4cD3vTh-ufAL%mGfheQ(wBQ84qVkO(IJ(myr)_M5SLXcUU`Dr}eh{ zwbpX4jSz3+r)NTYuvx-1Vu?1cg{84j>#D0j$obqai@+J|^jDZgsLl)X(M z!IRB2w=nl(>-T@n(~;;5DQbb3-f6%noOA23Ku-*d52Qc!wAi1cCu`dcCMoI*lzhZn z>wQPM)pEPFa~q}Ue$p)wxHGdX_oXCvFUU3g|Gk|+e0Wz3nk)ME=L^7|th_#`I|i02 ze9`g&Jk#RVW8!9GKw{FQ7xeWZ877iQ7jbp)i64e_&{vmZiawr#nm4oi=7^eJ>4K-e zy!1xqB5MyH@gOtKrL3ZmZAuT(i2@)F0yg3j@61^2LTMG3=zfBgdf&M#=rTGeK7JPE z?duyIUshDOhRw1q(9ZUL+hR1Kn0h`1EK2&HBJWopjGEp--Ik}WB1<;G@bPi}g~jC*V$@Z$gv zmfhjKrVs>CQ(`;Y$3GL?WG=#`wOe6J=x%$kngeP$=~AhF5L9eH6zzjs7Sbz{%jN5O-#D(S}*#`pV-P4p*x%slU2GX_~-)nHuYW5YNXRTdUoJtQiiCE zx@Oc?5Y>Y5_hW%ban?WGUX|?I5h{IfKY{8u=-4+8_+2SoTS@K5svb@;u*;%{&9)~EarGl@^q8I3<#x>Yte8LN~WCb4%e-o9JQ52wqnAB zvuV#RcZa-X)_mRZnmpKeeIZn^6@m#&eS7$aC_j=>4*E??4>33gMVufsy0v!sB`J~ zO`H|>wm={XIm#6Rg>UZ=-Zy!tSO(9it;?K^R$ME$zk6a=vb4U27bZcwLuK**M#DCBts!zy6IqvguXUiQzu|B_#pB7w> zU)IpUf>8Epye%=wmg|F)o98q^-86R%_xuLm#6jUemNky(0`Z`46{kNiM;{%;~aEt8BhKyT;#y zK@7;`D8A|_C8nshsnDg29YS3quXmp6vj|aIw*uMLa5Zq0YN=P2AErhq|7q8Rw;u~A zMqCiPJL8$RH{%Fkolyv#Va5LvGL!32&VviIw-f4=IcehRJMw{hjt|kUYuD`gobPBy z#!ePZHe10N2MvpYe})l24OYt0vF{g!JJT~66l|^UN_&x#HOlKKXGhHnYrZzV>V=sO z_!#;Ke|^toeFaeI3;EzS8>Wc`n~1CgHmeE>2U}`H0^pu`#pG2T{g7D=^Mzf1!Bd*} za{7xuYbk25XhwJDwak#6Q#1pod1xsUD4h414NiH8DIB@=R%6nPeBayAl|3$#u`blY z1?MsxWG1s3s_-XEHPRt?BCqr8VgriasF0%|sYHSQe08#@D!oU_xc?3-s3ywZcgVV< z&DvKbi%z0rHuE6+CDoCCw@S?5t3~HhbdL{c!LxHMzXt3S2?Vgva72Io7%s!H4>jit zM$b_6%d%;drV!c`Py$RV9ZhU^_#s<+eLB#=&@asw?<5Xa|CXgtm*(NfN;ll=ZeT}> zCqOoXp7(ATJLTR8VE{Qm#=qSbE_t6hydimv_@N7;(D1KE*QNWWT>#eTpTeC;vL^p3 zNLX3^LEPc9Y~L%8-2r0`#Ubf}^6>i2z^QOMFf|Ikr!mCg1lHeSL-F_M=MqKy5tV5e zqu#N|&T&jm*AMr`zbO!W6_Z9y$SY;55O0H;|So3fu&D47j}Td{qtK>J2j#X@owx-4mE)HRdAKe9TQiYqdl4xeB63=t zx6pkp^Y{{{`py~FLWP7X?p>2n@Ky4I6T(f|I+qAV_{!V@ogT+UOZ3H_As$652aQrY zV#v$g6M|yja!Y($(>!8RleWs1Qg)R5aGDRJqu}XfB$;W^tiT!QI3D%0ZcGhzeXX?!B*-7!V0?m&bb3$Dr<9gTo=m@BxF)e(QT+)ty+IxcBp=)n4m?jJ zt|j+PP|DFn7UQy$jbSlmXxB<}h`B+SgM` zWm=J<*0#L48fH|c)47!LI-k8g#91dMU)Cl?rmG1A&E(Lx@O6>y)+$%YtE6y;^W=hO1Ss@6LSK943!f8=5pLqm za#8P*vs{hoOHfkZE?KZ2f?~Fpe885TPuy2Py7|6ZnTY9kQag28Q9T_a*ze`INchh^ z70O;lQjj@rXz_&fxQ@;7`kzv~D$}@W468oZKA(l15He2QBYaIP8()Z^n(@iVl#hk_ zfPIFDs-&8BbWYU1&3(ukJ7GBXhb@x2SI5AWrHiv#B)k^ZJ=~=d`m|_C+MA`CTUB=# z_Jo@4>f~v8&6Wy(y1@FK*IUj^xIJ7f+@XKt2$GWzdVl35={G+=C@vZz2|t-T`e~MQ zbp-A)uQIL6(=WGvst6=S4*&;-R6Kme-y!JM&Ffy`wcu-mYIXR7`D5c`fF5y0QI$y^x7|s&1)iM?90@g}*=EW!#^N z1hnm&Y3k<8KwsSK8w~AGy7YVnmTKErsD0U)XHP72W4geRRM}4SUW>NEFO*Zg5*XAg z;YUgS@(DM)Gd-ZqKkCl&BCJAZ@Sc1~%x(>%jrV}=T3^`o&LmgnNu37r5zME4`Wbm< zW8MTjBcRqZ4*9oe6ZGzVLJWx7l1i(ct@Q5>u4GRv!gt!DKi7tayArxbZto9mk^9`Zp`x zj;kPy!`eF(W|M1!_vAUxC~mN-Lx$nd3o~n}#YX%gE?13h!CQ*M4$1_e0~<`eA<`Ic z1)#4lSZJhPjbBJyh;KJ-zrILTJ8&wEmB#SI;wjhEw*kg}ck*1aQ$?5o>okK`O z1@gYM`h9^!P(CD!MZ1c^{p-C)H-pNHPuAFT?Z*6H#MZB{B1-j6pL=^S;u%&@nR#30 zPZP056JyICarWmib&a5x4~8dXm4QK`#9)c&Rd3;bg0_41vzDF_r&w2$PpdI?#Vv;0 zFRfv5VKleK?y3~v^x6l+3ViMbuP!B=FI^+jmo<`_5(_>!P5&n}f+G&aF^z(ak}|P2=rYuc2VuM#BIPxx3({;QTX;>`X2= z@QQ#Hp4Wu!5Y8sC%6A4s*GO)!E9Q>6=+EE+FQ)vqCSuAEWuh+XFQAFpa|RWk?H6fz z@4VXWO94Q6DB2FmFbeo{2~FfKiB=4>AQ~Kglt6zxGA1+*|HvB6)WNAVAq78r?^N5T zk~ULXlBDQr ze`8kNtWnE8X~Z|MEb_cvY)vMk+KmQ9_xeQn9@d;Q&Nxcl_9>c(VeDWa<9`wWux<#A zh0_n##s6;fT2?E;t;^f{RVO8LEH}0ll*Mqs=_qT~0Ov;RVHr=C5<*a43-^!Q32(96 z?RLqxgZy&h0aSaJ-(T#A{ANsg^o2%!m7h7C2I9oXj@xfxf493e6$3q!Y%oUYaolr= zYyP&Umzcdb0h;p&X+Ox5TP>54LEqt=nf#Xd5Abnc7x#0vX&u#3l#D|_zjzbBL0SJ< zelUH=Mdwrr-H?*}ECzU95*s3+*oO_cTl>7Az?Wr=;#V!4H!Mv9w<74vPa}g4@%t?q z)o%VyrbDSyrXv)GBG|Pd_np@tFUX6T(O%^NzC0~|4B=M+`rLxOhg5|mV~KCGlGg}P zwhFp8={KIg^-Q=y;JYITy%0Dsti2rN-A_{fs4or(*CkI&Ge31SCV#F_0K&1TxTO9E-tf2I)<_+Fz3wxj5E1#Yt%jh3UcsRR`I-yA zG(=RsEivr2m(rzwnU1eh-yX~Db&rLfq16$> zBTa~ljb|Hcz7Hjk>EBm+IPfo%qFD7^i7)Wz|JKd)Zv^`JW7-;yJuA}U1g^DDjb z3lm+G%vzkxiQH`aWpt%a-C1Bn#ChlVyySIncwu`fv1Y0Fg#EQft>UWM|9=ZGnmheT zpWZx$IX{5HoA;%x{2XQbqYT>-O>5hZeLb*a>tfar+f1YeJ2<4hI?3)VSp{wpQyi5 zcy1xZ<|`6g!&gW?Z@jz{83hl8FDi5eO~t}buwJ)vAB?n*H$xfAq)pl3E!+4330KUb?zuh|fzl4_>W zxTtqcAFIxE6xoPAbKo~;pup{#_tSo0+KhAUZa#WpR+3oo7-+j9l|IS;)Q()f_dKu9 z7F4LOE=Y~+AsZ`mB728KA||44d@{$dJOY#c-%@*mmnFaNoSxPKW|A^g4c^#(LSr`Z zhV&|Mh8{#vX$&QisIr~eG3sp!Ujbo|_wZgIy_Snwe>_FY5M@Djk6&KbhOEu-aKiRa z5TpFxRAd6z1wT$g}+3PREKuRzhyxIj!6I&v&|TH&ZEYv>2u%@f^jskiz( z_`)*+s>Ab=KeHs0Er~~vXGUl#Zp8}wcF>fSaX=C@Mha2aXE*HH(SacZy_G-KDJ%hd zl!OPUciDf56rMZk6lt3`o?GTas@+Ma!Ex<-u)Z*JZ}sKM%{jc_eG?^W{g47@i&Ufs zp=bp8M(c$vE#tsNk&FL3mlpOm_+9BQva@{Sm-%TEU22Vs%@Vt5k4~G!RChOVGlhgi zwfYa(has(;xo^Q&l$L9aF^2AhiJ>n(s9F}Kz}6N zh&KAm)JV12r6Tb%p^Ju7`M-5CHAj0%BU|Hx zd2J~u=tl>(etACkaZ8G{e;|gm-dWy9a_^svKZvbqzJ5=_m}WWLL(?s&`{k(GYQ)T< zM&=LBtRqdQ=FVGC|D6Ypglm>tLd~~E=W+2(EX$Lc@7GtfQzSJ2=AeD= ztWKiP2K%d>+Nj`kmr0FIh9eO4{i>%9xkCmHXM z)mJ!A5m0q002a z`zCPA+7k^|Gfz9;N^U^j$LY!Vz&yZ;s)Z&#_EbYr9H- z{kM2^QRnyUg?=Jb3+qpbrXn2*o{=VZAkO8c2zI?-R6tNcT01Oe$w^;}!hxfn?^S6T z$L@<<(xOAxlw|!CPCnU!)Ia(NJ!UA=rS<}LTLR04v*;m?b65q+jC&OZ9((zg`he8r~7~jP*w-7hZmx-6Y4AwY)UTtTHe=md{A9T6s`n zOpW2$aY%48m75KdLKT7WU{bEHZjG4y`b?PfQaZiX2=>fhYbQ&<>3R#3eTgYWn?0HE z)I-*FIe(d&TK1p4AO^t~+LW40OgK!HTH^q0rQ=phg0zREoPy+nEOfYQC7c%dX2fQF z%h}@5(9-pD6X7V`z+;b8==*KQYrZ|h>5U)-Q2Ru|+@JS(Tb}70N?g8y%L0`edxN?+ zH^glud9sw>Oexg{iBu3A@IC9~jQD!b{h$cwWqaK=4Cn%?ZTc=)<+sL?OczvJCY?Db`ebB0nz$cX5@J27X|_Zd8BvVmN91si@Y5tbzGuh`kV`O+fpoh@)i zs{6W0<_!qull0_-2N93C!Md~Fo(M*)rb<@RLSy$Ye{&^Ww}6e26G7&v*^=Cog*l)Ki$_qP$q;n!|_fcRCc52qbP-9{l%_Wa+rFwOI@`} zt3oyWTf?b3V~}5SSfK-FEy9rMg;r`%E2G5n=bept6jQ3E+utXf?49A15Xzsi-u$j2w`_fI!XY1%;z2^j zwEjiK#>)cU9{4-3C)J!zoYcCfsn9IQeSlqm2+@ZaGWYZ^+kU#ko1zJwc{xm;%Sin|4DEo7M_wvqM4yyU4 z@qe6MvpDQdyYNvWl#inppJJMB+X^ia^1MtSOXEo4PbVCf2MrEJEe-;Onm)3MxAif} z6TyTci?Y_Mm0{WX?J-V^PH^HNAA8@llFvAM*cx|P!KookXeSz(Pv#CtkC5v=zm$Ga zqErY}bvrvlXJqzSuyO+&ggjd)81%F3 zS_nON@U21LR?h^=t2UAcH15*wfj>_&`8>*vj8F-YtcxXEjrZak3401%x3E@X7yfR6+0>_C=vN4?50(QlXRI@Z9QB zq^?rRGIwEgKkfAg>SqXb!-YQ?)bYSj4JT3=9HHHX5nbHmW;k%?XB9>&=(m6U zm3?zFRmF^^xW&AlmTMPN>ag>OU!B2q9N;v?`GhG}isiKGik(ApVy889WU9G~AN9w! zCQBk}Re)V);(g~$RBH|l*Pb{AZqp*Rg9;e5$k50l)+~)?Ha3zo7T@2{N2BUu;9cMo zMMycSGa%aS_W8{70qqAqu-k1Ax;u7QXmNoANR2$Z_e19kY<2E6uE7a^qhb?F5VaRe zoWu&-%|6TFX`#pkKKY|GFPjDyYwPPUmRTQy?|& zIxs8imFxIzLacFKK4XzipAGC2GIfz-EBwAB(atPViw?02OlphURVHn6b=oiX2<7z( zof~&Z=>)mU9li68L>_h?Fo;k%Q*#g~8qqpciW!YXgi?r;=3+h;)f?Yg7_qHSC8Ct* zF-H-tbU6@a`mHcoBrv7ahcX)3oF{#@dD__L_d-%>E=m2ma=vmSv@AX zae5tK=E_vt-{lXAsq|r>2k?@81uLaAjC*#C$zGUrmXIYdCF17H!4>7?H34V*3_)4{ ztF==OlE*H`=Tk!U(9fllX!=Y7|4*@()VisGlF1}DO9&TQ5!1Nj)QQ%k?+btfSp|!Eq!wp}-{8ib zzQyYL<%_U=V@#>#XOdNvR(GmN;+X_$=dXkkqtbu3ssoI;o-o}pZXz>8p%rthts4-P zYeQ8HU%{L|>`w_BnqF3rYQ8qwJKbRAKxg=4+x_DAVe1*|78}v=1(>}u^#!I5STrne zE^U{%3FHn0o*0QX<&TufRTntdwG4AfQ={jYF3=nZ?XPmQ34xCIXrJEO7QoM*II)Pc!wgOm;BmL&AiM;N#Nre0- zQ6)@Z&K5vR)=!wu0A(Jh%4wvFL7TWFk~74yf4>fYEnq2;%2Wtidqf+AgWvIqfCXX! z-U=)x1KD%QSXD49XoU}mM8WWD8d?b{G%Q%!>!|aMjN}Lj3e~mOUxf=o7G`zNCA^YI z{k!>k8x00?QpLj{^&bUYu)?_x z48#^@onOmQb_fRtyq1b^JQWiyXp+sbH>;dI332wEvSsG941Dq?&dh_sLqZ+Kia;21E9xiL2M5q#xiBHphn)>Hfl?o zt(95^e_(wC^ag;gtOeDOW1--jJ!Lh!QQlo|3Q>k=V%aZ7NUPGW5uGg*T4m|&xf-gq zU3hz)^H<<1ogBX&Ys~OY87!6s%8LW(D=ThMJ#C6{uWQwDE?^GR{@`pVaT2j_TgR5o z6sR13Ul+h7DmP>UbVw5)pSpy}>7W@{7|Nm@P4bT-1~dopEZ0{IN0x{)5fI>IK*!Yo zysu0C!|9@q1#B}5bGw#trlI{wzin9GvH<-CShRZ8fKhf$iSe7nSSy%I-*PyjR76Q2 zNxsj;{xg2)*u5#Fcn3R}{;y&h^FGj;y^AFL)#}#b7|4@eRqQym2qdtp2~iICAy~FK zd(e+ZJmd+2jH3}Hu7oORq3`rbm<1v$whp~1jfG17qq9Sr3mQWXMh@U-N)B|@ny%WJ z0UhhXBCvAz*9w@5#suG4Tk?HW3l?70a5`LZi8-`O;dZlroWhb@X(>;>7 z-XHw3VyHecQzq}QWW*%nfnBIG@+PLJvY6O4Vu^U9$V+l?lq561`3%tjBP4LeaVJ`W~2zJFG zLreX5^6t8u*EMBu3YGU#Nnv%mKjS{zG%s#<$~_&La8J;~+=arQIrWSoZe}Wi4-cXi zP0~O9FRysA42W>e6!kT(Xb=^YZs+li?WtW(w97KXrr9X=F5;e_N%@Rpi!M!kWr`hq z#Thq)58>D*?bdm(Ew4^;#y~9`wb7q~v02t>+oj80S-$Unf1Omz$^F{RVEiyU!X1%{G&E@X5U}^xn8{cZnkfO$tJrmUquoJF$yei-Au3Cts7y-F4Q}DM_76z!J+k>?f>pwj^@+5JjqUK44c~ zUvQS5ZDbs)L6Tek@q6uqBT$-nOUek9#z7*m_Y%e*;iyVe_L7vLZ@t+5GD$}wLSDaR zWh@;b=4RPiX?b-FBj?j-{0lEfsS#oFcVxv*Jq+J9$WDT?g-0~hfa*6U`0rby@*?yd z!-$4USPnJ;Qo9`;_)$2^G6uA^5Uwd**HYBFEcVzB{WoeIeAkR0qG91jo5e7Q5xtVu zIX!dZ_0Xov@scXji=($oW(;&YX=0dBc*XGl#z~+%)+NQ9m)1 zXYvtvyQkOyvydb-M!2P^n_~&>(t3ovgr-BmLrttUnU6n*=p0-;43U%;{H9R6PioQD zII6UyvLqa|3$&ShhCgga9sB?m7HL7pQzBF2h0FrWh`nMi5vbKEYj2fDnhrTb(%3fp z2BcLDPPLjSLa!~Ux#u_ziyC$j-xwA~052Zq7xr|Sd~Rh+6&sFVyM#nGd@I+F{E3hk zA>tw{2+R$|*a^7$W~V$<0knzPk~d?k+3Zizfvc}1qA4{Rg4-SWZ+@kPO|8@UvqBsg^iZf#qZ>GQR=cLnHjOQ;nbXYJ-x~$i#xdp+sa%P~sZD!A zBzoYqtK;~PC2$6`-l^{Pr(k{3cRXVo7Or)HqT$kgZu6B~rGn_Xq z3a0#D0cLEa-VUzs@lsDe3~$Fl9o=U(=AYqZE~>a?)IZH3aDDh{GZyx{78A}uQL6x+ z9RzPgt^eu+%0Bx!KnodIIl|l_-(e#R+9mBPb6BOX3}MFTwanXJH>D(;Ck&S|*bAi6 zdo)TmUyvTQpGKt6%gzaY!f|jcm*5CF-78qH`W**^fq62;3Z}FmD*w$7$q8Y@j2?D` zPi9K`Qqc6Ce)FqLKB@Ld{wy?EQ?=2UpL>3~7FFgkypxioM8<7bk%r;uw%*l{1jfx)ZcX(b5yWV zAV`cpHHF0^ISF$I2{9g^GhOkm0R6^HfoL>8zrYE0_M4gRnEMi6i2UJDgHrim5KgWxQBGqd7$P^E)$4>zT_bL&i$I+~i3% zz*v4WtYJ=npe};IB6m8!&8=k?ej1&4KzGITO;Vf72Qv9w5u7R#Trm<>mLRnLVT*c^ zTl_hf%vMclP3cRSdN?6gE5yq%B3fqDdEF?IWc8xpe(ybTmXjY)v!M9BXPB?8DB71Z z)tHF&jXBEM5mBEjK`QPE*sG*zc zqzCU19gu&wyFemiLIA6skRq+cK^4HW8}onRT}s=(L`4?-E~=*#-EPwAChT6x7xb|} zDyd1vjVd_h}_VRorfqedX~eQhBv<(LmY6QW%dE{wTI!=KpE;Vs;>h_L`p z-ei)WENJiqqjRRxBK`-z>^PE0r9uF)(I`Srs&KXimsYlCmlfL+V#y@Dm>Z%j4M_Xf zi*;`P`8Hz~)ZEmCw1G%xtQft>cFq!rX0~meh>`}pOf;lxim8WzGKIhZUjnUyG}lZt(UF4xrEh&=80cD4Lne|_`SHjR^UER&B|MG2^yrd8 zC(z&ft1n~f4^SdQoR|DhIX{G<@_sg7KvEoI2)7pA+Ok=S;HNnXOrKH(ee}4rF#2(S zXtfsGb*9o%Yo+pJGgIv)&0jW8<;QPEH_KVd6->qi%oYrtDB3*9XaU?8(KPk^x~Q6An517ZlFH6JZj z_8h%REMPgBev|?`197Gyc@t=olzU9NMc&|u97X?7c}Pw{=*>6W&9Cd~u#ysW_~T6Y z`Go{zb&K{EpX=^LS}$?^t{#wrXKhrMcvr7IWW7l1UQ_ntQ~qsMmFPp=Ep_Phu)$f~ zI~BWVeMRj;U{@Vy`j5$^jWegx=*=>-Z=4~BV+87gKcvI^&&WjW6{UL1wjrZT@cbYL z!P5?kM!i*|apzH~mf#u@_@Ix}8^OMp$aeg~2#*d11WU!oK-iWObsXtKaCxR88CQyw zdI2avBt0v%6f~*u33#m)CGd}l>E|kca}6z|QG7FJx)Bir)6nVf8OHi-rhQnx*Cp8N zD&JGrQLAHN&h~7f#ZrBv{85imkawo?Ev}5*EiQ{>dl*xcFk<7CjlBhM}(f~xv#SxO&Ei|rVXKq2ecOsf%f7~Wx)+%1__d1Nj)$|KT6nZ zRcB08P2w8k!>Ii(O9k0x*)KR*Osd`d`rEg*-wlzVPhFjk=i@r-)`Wv0Y$NpjJNR@? z5%_#b$Gtd0x6xeJ%ipDqQk;c)<<_=Ch;lym?5VKqqpt%6%lknB-w9N%$BU51Z6I6^ z@MNUoNGLs5F=BXLh#(Zly|Lut(^h{>Uf<|{bJ~SIUPm*gL0e5D7d8kZa`>cY3p}cn zo-t0pOrV?;?BzNwpqgNrZ}R`&0<;Ko31DmOcUx{w7?EV6`?_gAk~gno^*V`Oj6 z_8;bnH^Lvn5hjmrAuzk=xG04?X#%jGGR>j|!-lB0M2pS@a(+2)n$N;6EgDE2H(TL3 z*Y*9`Jp0|k--)>)clGmR6e8pae9}Mm$-wZuz1DeC##R`Ngno|XwN}+RL=l`*gBOZX z>ZNsKqn)@;qOJ_9J0Ei*KzX)k)*E4#s+9bucBvM(NCdH56#AvaXLg)e!mQH5T)(E` zg1tQ5ylZaLTb)CavOZm+a3P%up0nFO;c45eF)+sc#YK_J6eX{$5Fs~i*lC~i%FIE? zgKL7H+@m9ZvwL=Y1?gjJ=Mpo}{pclD?9XVjjm7X-YlH(^e__Y>N|`bd+7428p4(@9 z_O_e|@x&vE|Pex_PA ztA)C{HTgzeu^1UkN2q1Rz21YBBi*N91YIn@kXCmu%zTds8r4rU(g)aMT`#t-ZHcX^{dH zpqb2V77V%TKY*{~l<4m)=F`xgPgPT7P#%-X#r}>`21fh^PX8R^QJ#U<9;Yn6mS-u9 zh5f*t1j4OeFvk*OR+U!-t0*l=XEve<_B18>{}q@?*(|v$U3brDlO@-*tBHO8t>_5D zc37(K^BgW6NhyF;%j(l)oc-WJE=`5k0YVcVj*<^VRoo&Cj(h%AQS{ zQL1FH_x0!_5j$}OCAW!nckX|FiELE08xTW!-9zm!wmqF_`Pgl>n_rFHXX*emg=QoL>_~ezCB$ZIIbevA7BhQPhWmd^z~D} zAFY~gBXoB11O;tlWn$6ey`^R&^X8+X-!f%j`am#Mgl*LlqHkKHUFx6}fb?cw*99PK zm7d_Rdu~C7yaCU0?Y~-oS*5=&uz{spe{WMXl8qbEX=$K^M?9X=)GrP-U=Kk4gj?c! zG*R(KDf8^-p!)DY`)gWbO}X4Z;I9$SFSyVOx8=!O31m)eDOLgKlUR1JSdfFUCuFm; z3x^*JvvK%j`8V~v*7j9vw^1keq+R8OLSceKX^mkBx=p>psP-< zXnQU~+c9anI;3wBjTU8rHwP+=8xSpJ z)Pu}I3mG$8yU%)q;}WhMP_kLjlym%76=X%cA3G=@w@=Q^2HF%QIgVAYj!EY9>LZ__ zk+9VXDZJF|vQr$RJq4VH%q$wUC6I_C&6Lb=Rq$Uq2C@)7HpSX-SipmZuR0myVX0xI zOgUl=$f!25OOvlDq?H&eTlp)Q!zqFqyW$;r^C;LnhQ9*Yq8=dpip^;DZHj%w_KF|Q zRVktvc61o8&}&mbNJKPWHR%Ss_nK~tO^=)(W*m$9$LEf)J@UNpwU^e-)gK?aRyX0V zs25o(3Q))8t`f~h2-{#7NNtTkG_Xp?}JD4GF5jp0hCv9K`|-9vAl z8dzhP7q&!r_%G1~qK>qopAGB1ESD*`gFh)p?XABQY+QEcn2*|j%b3H35VZhCdKAHr z*1s_wXL`?Y_nr2q`e49p>;D%S?z#X*uXjEP*EpML7@*pfSV-0J2bES!_ju$ONTIikgm%`)>~LI#4Q0tBUrTgA5Z+<6WQ5tH+Rs`7Mi23G+3Ii9CEhkjU)dM zyu6TvkQsC=trR4hccL592Y6+9FU)^50XTEQ=wWqINbQIR1els`Vf-GQ(=}vKriC=& zTl>AXpkIcvy82$Rv`CYhSi|rj^t!N5|72FdE20Dr7 zTYJkI1e5)K_)bPNT-qR_dwLx8PK13G%H~5kTWmP@BNK18)y>Z|`uqci$7?QUwS%on z3xVOAS^4|+FoJNLe%J)L?`({1F|uI)v5Ws7nytbws`u$Gu}Dfc0xnAnNOvp}OD|oD zBHc(y$I=Z;NOyO4OG}3cN+Teh0#fhteLufH;LbeH%$YOi+`WqvS!}oIyqWym*Lx?v zKtOr1;P;!CPkGrQP090y;Tvf{|4aV}n~WZuyz#n6F901xf0^^}FA!0Y`}VTO+l z=H3&lxpk}Yjgf3W(JgX#S9lhfo+9kYAdF<=g$MX!b67s@4)9kA!3V4%#$X5UwC4WErPqv=!#W@_8yUx{ z3sgEc1a${k)7U4qNrHZ2Ok78?3g1pMdVDnfdflPeHm^_(c1V7+g{wJnEsDf2lH3pt zRI*GFHmWuI3W*zO_G zD>VOlKHXWl6j)_XQcAi&V`6d5F~I*~0AgmtCeeCkSx>j0lJFD!r!Ao%=BdRZFZMeT zcWu-+^+iwPZ#F82QkVxN({>GE8Q{PFYHemi`zlfXiCrsr49dvJ%q81$Ugworc^eJJ zsQM|FcOndGRgYf(rui>z71SE%tBoQvd&C%Pl}8ZC!UgGmQl-b(=76{#6E#2e)YwS* zgs%%KxnMM|y}|r-$3%`$WBf`z z6ek5=Q}qop`I2b_*g4cE_ZNHuWA3JBhy}Ack3K_S{f^6h0Fxv8(h>Uzqo))v*VOq; z3Fg_z&f12zdoUIB3=pvX*)_`Z*rC!$!IukmPNVk}Y%2mRn(;Oe8>|)I??%fdaPIy| zGM3!WzssE%#rv?sq(o( zT9C5$_52RigY8OyCyP?ywVs|N+O-8OS6ar3ab%tJ-)+$hNTmyVu~511qZ-6&W)zhf z$^9JIvOEyn4{6`i2R{CL9ZUWmBHF|4|0oA>A2GX-?zSwi<0n1J^#Z&=p}=Bn=6wgR z_)Ya9#x|aVrA!dMS|1JZ^fZNh_)aRwK|BSx5J9rlhhPoRNc%xwCX0O5XTSr%2WCO@ zZUQ$w8~Av79MsN0EjY0kz$-?xI&r{))&l0blAeNBo*rX2=q~YCi1@N!WBg) z)=KcohPIi_bK--E{eKz0Kl9R3uiw)THii^ZnntSJ9hY z%p_TaWRO}3rApCq^>@WH;&vT`vlZhh#xa{=f}^J^Mg&u3>zVr~6{#nYKBmdR0=XWw z-=K}mk?ZN_f0#YL22J1savOCFdikngEXTG%?SdgWU|EtW-kP$3!qULbsE&UX7j_@} z)Q0ys(8LCCmGeEWtLU^`qMCw4rR>=8ooE|4m6z*=dlKe@EX-4+!epq^=pkit{z&4G zdL{UM?W&^F;^uCTZbzlt%~oC0KVxaf7Cs&9Jp|6ML@d zq_QL@4CoU4fMxc32k}~>*;u|ffm9(Y0OXrqs*YSM6($S_bW1@BgSP6Kf(C^0%Sv$7 zNl~3PFEbbaZS8PUvCYY?dSRQk1y)4AU3asC3}Us}WJ8q=m(+=%;j0heZjN+$L4B;mTCM%&FG!&YLuMdag%&v; zLcM9wGLj7ZX;UJ*?LuotbzUwcv}r1Jnw%O=D3i@4t)+$6ha0|`HW?(Y2~HLDE-@ii z^9fH3d_)4pEnd7p-Z|p~F9N+papLCy)3o9l+HEEHqZVuo>!9fwMLx1~KauChGF#ik zs0O>ro?#}sjvxg<1kuUT*TmVl@A$opIARuZRzrt!O!h@T17XjZNnL!In}`}Q9XjeXUNm!;-`S@SH?OB zfzFa~&Dthk&XRR|l>%A_s!kOjq!hB|GfYR-i1ExR7s zchp@)oUqT(GriTs0*dS}A>G8hQ~K5A$Dv3ep!$gw!48o3iE0vRQ*J_d|M6fCuXkZj zPbj~zKG@)9b9&Y>QFK8?)~LA3{}5AT=fC${ryJ=3jCup0NTof6J|Uway0ELwmnvh! zc!P!{5iW6C##*DrvT@%#JdPsW`rRCMwfWuK7aB4=#@P>W6u#!9i#aY50(Ng zezW9J$V=KHbE*2fq&Rc-d$9*8hCcqyuNC%~J#k$QnAq|5qswNO^N}B(AbO=<>A!=k zm0Gc~(9w#}jz>aASXI`E1&Lh#a}5VZ<9xVk6XJy5P^mF(%=ZFo+;*)2P1-|i-NE-w z$PX<_qaHH9pE7%5u2rT_)0VL*fGy z%UtfE^!l^>FxTA;aR^WhNx}v7G4oIjqyi{%@%oa-Kea1dK!v zo?9h2ptxGS(&ecDhmiK@jaK$aG8ZzV5W=w~d2GYB1|-@aDw<|1k&Wk*W&o95zQq$s zQ%0nC+@OKwB$^OWWm;KFY4^L-uM*i|d-KJKH&nlIDqKX{l=%YVI-+|iEmNG9Laa5{ zmo$*Y%T-82vc^)ls(5sw0W)%N!``tgFh^taIiI~3Fqiy?(XDH9y)$}lIP&w$2$3mO z_Bl)a*9z%ZzK?dYD;hNnd~znBk@twQ-&=u@bdOR4g}JeBItB`5T2JVw(^K{g|NG1P zPj1CVn`RLU`~3A=q}u1huraav&###9Q7WJksU%A`BK*yb_A0@}cv+#8TzM+U&c#u~ zsOnsEw@jkzIOt7gwLDb`jnLN?>F--h9eu2zU{*f4d=TrjDL-F6>bxQ_6dCe6pS6@O#!B=~UXhXfX|@wM(b{NFLRt^`h|^Z5@7#nO)H{f$ z7AS6lN^c+-Dw1xiQw9oEr%lM&WdhgNH69|LUQcC@wNk7vv+CrLz`w5j__h0Io^NnD za_pjKS*_`y2rVWU@1vB<=u6jBj`1?QrK|sF0QJ4+XP&~0)@z?i~dxr3)X>l~i z_aNsQxtqP8x=1B#8K@(J=r)~wH1{ySw`*RduKgLVB~|zcvdfetg<3t%^;E8utgT z5_*e4Al1sG??p5jl9zEEG)34pvG*9J^i3%@od6q0kCD_8+C5X`BG2fBwVgNewx)S*Z_k|4pH^O0zi&EQ{oY%5!d933LE z|6ZHz&IvQ~?j$g2%a{2AS>VB`J;IKy;B6=9Iz_n{v1lXrLDiuRdvE+GU|Ly=G-cMd?DW!*bYNa6ipsb*JY zn%~W{VLLfHmpRIvmrxl=ImmUlt>x=T_{q3!-^-rtORpB^-}(%zu0t*Nf!(p8EGHH! z+!B*tTXdg@wds@wmH92;J5TTW4BD85B=Uju$dRUF62ku_*-qVd;gWd4Eo`^YB^=|hfgTyH3V z>(R2gW485E2fNB3-dW>O*cByk9s5FJ$F6A<3D+`hOVVl?g!=f%>d&sYmp#)ftiyGj zmsbMlYz(7!FSgLUFclv;Y9l#gAUO9VJ%n6GYToVqo*F8mvE-lC35?*ln|5{@O~XgB ze0BM=A*^3Iix}OST=iK9CrRHUHI{deXgqQRg|$e~=p7KD36o)DW@Ye~^F~h34f-E3 z7T3g2>;`j!FEJAlbXP1Y|7jE`?+Q>nY|_ZN#n@kMxz$jB^vwj3(oP@Qm=(C^Al7yT5--jOa& zpY9Xnc&1&FRyNU>pV%0F5PN#XO76~%G!T^1zaA@lN*j~_lK*Pn?CcPje6d%FdfE`wJl1Cwh!GZw&ue!()H9m$Gj%_Dn-rSjjXWhy2H$s?fR$n8b!%nb>ShO#Z%! zX#=V@SnltYV7)G4_34#YM~_YXT;2%f%;$XgOR+pFQM%zZQ}NL`&;V8my=~^I=*YKPHCLR2=6^rkxpLK%0h zTb)1x%BPQ~`bPDGPDw(+c|C)(@*+sV7~U43pQiH}n=PrxEcXsw@k_dn*CSkjJTZGGy@C1B8v|!R#L7~~73J?F#knVA zY&>_e5<%LaSG*~$)Hya|+A9<;{~ds@TW)C=9#5XKnQ4ylVzyMCe#;0;e33RIfS`7aM3|A z4I!0mYWVFd#n~+8nTA;U^(E`8-1f7KiOm6@X%naQ*pE>`FJ9oxko4%z?q~oX9wZ>V z5<5Cy8hWRmV#*?8##`2*BOz|No>8ilO;~Q4Ql}fk(|F5)4Ed5lg+{`^A?MGX?n`)SdpQaa@Hrrw?mgv4^J ziyWA8Hn%D;m^=+fi)(J$BV@55q&J?(%sjPDx6J-`_lV+b8Rlt*xO@Ff19hdmIynQs za%-KWjci2JWZ~tTlNi--Q`N!@e{uQDXOY1oh$R8~p~U+R`@~Z5kgOu@={4aJglkZ< z)e@mUR`#>KV-o<;Y}-RcA(UIf54}^>n&D}rKD#J_Qz=}S7^b%jRUt`;Xincg3D%;6 z5tj4$#Ln%_R}56){AiBj=}>W%b|4nBlu;?$UPkYV|4!W&p7s}{Q4oFDS@nCgyQNb6 zDsB?{=2I+p0CnH$bCCWJGF?xG$pI6ZV>Crh&V#qQt_1Xr<00qgX zGK6l@gpVt(we>8L^vPjL-%$MV&)rWm1&PSd-PaptbO=Ug2B1XrHkC@@Ojt%A%xm`B zOB43yK#4hGb~P#-SBFgHRa!HBsF8LihOi|J5i=7@V zFS-wX>}*O@4@2?B@cFDwh(K;SqnQyG_7f`ccS!ir*}Ydvmw~tgd5W5RpO?-o<;=Np zF^679k(qTp3pc1@6^&eyk4srT{k(-s!XW`j8QTm#)i=#c`z!d+oW#db4440rO6iT< zw2$mwlJK>(i3spXTNqcUK}jF0Kw=FmyVoNKk(HBL*F7}x@hF-V$?O)eh9*=;pkfl8 z{}SA~Gj`}hgX#ai1(>$~&`4!anK!3lWkB}9)y^jFG?@5N4^r}GLDs1z^#1JwU1B&c zn^*{uf-W&A2pg=ts7<gRH|Jdv0oWMp`E5fiu*^1&6WJt7kV#+7^RFGl0 zNR_}l=NvSGH(wvbY?`eeBT^TK>9A(?a+0#!cbXTKQd8({uI)KMamYyE`Uf1AIuQvz z_eYUQI7m6Oq2<~Lp)&xDJnzZ7LTP84+v+(8evnjgXb{2^MawKKdY4T_&V;#glHJ7B zgTV&h`j~9gH+hIYhrhsg9N_?JkR=Hk^7gHuK~zD2ywnE<0`@=CstAGWLDk1NkGo{1 zmN~`N%{hIUz3G9NzSCczL^+l`Quz4_oMR~g*j#BwGNu;CtOlk6K&*`ybdn_xqYi*7 zTLaSMmZmpTSL$|ezd(ObpV=KrS$v6J+`y8i^khIREt*z8f8dwT%(lBOKBLr~#b@7& zBartO2;=V74b3T=_Ih}f)BN3$i*vn{CAG8TAW)S-weq|mMr!wUC!qq9L!Xqc@UzC2 z;f&6J1W*in$FdkOM<+sVK>qR&K2fa;=pwV-E3&j)tEZpK)dej!TWY9$I?0i*9btpM zghUA0OO<{r?myHrFgoUUN$%U)*Vwp5WyAef&Vt-`*6)O6vEVA6jEFHJ@i3;Fw^pcY zMTa&4UxRgqnPh32b1uv>PMIz4yu{)4zC~lDGX(AG@68U6z!4-OZ|G!sFbG_P)3(Ca za2u{0*kIm+j02*02+JhcE5KO21iqM>3%dNq*X%&7_X{YNyatIH;~*)oH`%~kl1^d; zPMxsnX-foozVnoR0=`7DyxsdA7&I(@DMc)Qt-dEam6FD`jA)?&BKJ}?{5Bn~JY^

0nv55#EKNG)B0Q~IKkqHm}^&2Op8Um~7h zh+?jd1Wsc)s_NDXD3oHyNwspw2ck|nlLk#p8UCjs#A2B|raSzf1&dI2H29$S(96;| zKrD8iL9PD0Zt12hVdklF7dP{wX3r;mxK3dt3{v)FM|P*@3kzm~+38A-@Sd2vyYIj9 zL!4c-aGjWEu%-_o%eS-(Et7d;UyaCetp7_0v!oLYfX69R%R13=38)j4c_ehnB^2jK zzo0v8y@(#5aAMNOK8#XRDY?NWDq(+kbl{iSMD6MOU~<{FpwZl1%c<#7v-Fn0lLIk^ zCKk=q3bPQ4C6~y0vsVz!PsB6T&kZQ%hOmySn_noi}QY zy(YbWjeOVTJvN**kU)VW4R=i*>!17-3&Se5>lsDAMIo-$#&C8cD|F1r&-~A63}kw} z@o)Xuikw;8D$kyn4uQx>99h>hfUY_L6~9$G2)oa@p`*Qe*un0-Ki5{+<|mRM@|@$O z$i5U^v~!H7zBKxH+uUfN=kf#+Dj4bMSaPRrVVdAdGI=FJusP${V?sM_QvG?*zYi!z zV!zL$?~q38j3!HwT9OEg;iZT-O$KoO3}f=x@xwOI6K%AtA!zWStc+)jxof9<6qD;r zj_DZERnO<);hOz1Zsd*Q_HRsnp3oY7_e1kqSfnxxu-st}asNvH1doD9r~5Zk4cFN|Y;VJm48R4S zoL3@aBeOSapd>%CGRO-vXx0oix@)Uyb6bYT4SbMAIc94G@ZfY*-c+e(n2(JRDhGq;!6WB962JMFW%vzlK1?I+Y zh9@;UvUDonxkYwe%Q`Wx?A}Mx|1doPSuv!|VY|})(<({m6Lt4x(g(+Qr~5l-mKQQq zHrH-j?BZ&%nA#-p*SSbCp#zfZASC|=*JKeM09g|4{1Ht+Y?q30O%P|43TIp4YZCd+ z!p)++5T@$pS`5PB!SQX2l94ML>@}~zSZ2&0 zn=VDfCMGz>L@VmAvL|(UU+F)Bo`trnd5k+++k(S4y9^+NC@sKSDtx&{r{HDuES?EV zOj`|ydhbeQZfkV4Gl*l=K~otr-wvM=l>t-6FsZ5JD~#_NV7pTF%g_)v8=_qs<%Sh$ zIhbe*5p%<-sReg-hVH~EE^Ce#p&vf45FnJ-HuH}A+#c0k zIrmeK^nu28xeYenOcG=S0=25)(!UO4QbVcmGAKzHP@={!*>K17e9y$PIAfgK zT+6lt$P!s1E;TwQhW-qlGLZrEZ=Zgo1{z0YSRxqGPQ{FH*J+&a*xY)>j4JZ!Z4UzU zTO|B7;#+t84U~q6LO5PDJr!cIIzc?1sync(t(^*pBmEMDa0rJ?Z?Uv~aAG?qSvLAH zI(5CFt3eYB+3BOEXma^+U{`^Sa{-iWD%U!yjl5MM=tKBq(O*Y|nWA!}WuUZZO6~+B zZ8|sY-o&E*>N|x`bA}?mX(Z7?dv+Cy0PEB+L(jXVliNnhAE_O$rDVXf;V9nQ!LB%I z{MUqEk>mLB9at&C#7R-!UMck3%3zsgyzRp59lv@62w- z3Oj<)FosoMY(>{<*z3alT;v090eXB5i%v6&oPuZ@wMPAh9 zdE(hKRg$zkvRAVM@DD*@rXq%bP*%xDBH%iP7U>QCqgOP_jZX4qGY5OjognW)Uea80 z3>or4C+xlOg9cta`LE@<-YYd*~D=$H*6Et81Ti#oE&@ltcM~_DH zO;9{{N#lnxNs0CDck+;uiCH75=^Y%)JUQ}wwFHTNwv7^RM|tGtK0!iZo1xSX8)b4Ohavwq0Z#zKIgsNSEbFhL>VG0e+zg#u?6K0;A5 zH=t#$Zsgg@;`7KQJeIr;cmNu{yrkM17F9-`IL6{?bS*o;(==Y8$a!9P7eW$b-50F* zvy6ADC~uPR{g*7%Xk!-BS7jDC`+m{5;>UIsqd>Be>E?xj=7eRzJ0?g(5-#-Z4 zQMfkPc;x~W`osL zz6|T4d2U3gmXZ=xtZ?`2u}yU$8n`8U>S=yYEJmKmr*ZGzmjV5<t_X!mgXO3&aH|{|$&PEA=^3qz54)+hS z3rZ5jwv6zyw7krrNYdXXcq$uD=4Bt21&T~^sMI_qpJCV*9gE)ts)=e@k{8hX9ol6LQLi#=^1WpU>S-`^kJ(rSd#Uf$N1l{YSjs_Mb7H zk&biZPb313r*JjEjUO}RMwgJv;v1+A9V_e-3y&-n!i&8I1+m**WidQIv1>*~>9JZO z^{;2a?3RHD&HwWMCx@;S{64ufgHgj`fmVVUVwuq!UZ7KPp8scP`@BsQCL_$z;<0I| z<1#YvDY%(+frDi^&i>3zK2yQ7Y1n_)<*-f^eE-J{aMRm95V=0HT{sMe<;X4QJt#%}FWJ^q@1Y}kG0 zSp^>_r|QpjW3J7>$@H%Si4;`vV$|(X+=G6jGFORoV5ElnoxLP2jV|$=-7J<(S*?wH z?eg-MW7;MAqc3tb_~p}!X~#3HZqvHh-=MF-v)extHe&rE7M6bOH$^R*Ih?&Iqt`Nj z4JswoOCj6ez0*N*^2yEe=Q#FpdHe}hw5g30GScyeRaQcAXuCN_TL;GFAD@|lxa=zg z&^6%R#cn?xNPI0~0q}Ky#iadH(mYP9oW6sHA|5?l%49&K$dQc)1M7Fe+BPRvT%C|y zyKy^ykImjC7K!mQ{m;o^oaE40PTdam>*o=p63%SjubjU*$KAjM#p78M1&G#2+zY3z z;ZwR8FA-_f5wSqBHMTxOz)r@X4N1&d7B88+_F_mVBIRCbP`U$t27#)?<99r z5;xv7FEQ<=kp?`&wXNn{EqGubqleY-&*C=P%q=JuqA7JY<6v{(Z6qi#5Rq?1`tG5h zbJ?@1O6fN9oQ%lVo&n%YeszrU#KI70VKWG8>E`zJ%Pz9C)1IK&D4ifFrQ#ylMGF?r zL6824lwJeA)B^f8Z?|RXzUnJh>w*Krjp;49j0rl0pP}>xvr6$=10v2|#2bbxwY5{L zCy%}j;6%*=lHWDgriC9|vml^WR5gW99;$i-?`X{%;(qLkiUSKlqF?F+!TvJwNLPO> zqrv{Yc9HmI#%(f7K*1D96gmnNPlHHhoY~}WkdQ6#vruWL$JgxfC%t5ELziS8r{${P z4Gvm8#}dh?n+$xPfaTx4)I|n4Nm>a9yA6nRD${*(@s9Nbiu1)6&hBQ-)h&6|dW!oWhW+2CRU=tY1q(Zvf@3eq_{KI<= zxNE%74m#s0X`Y~Qvg`%>kdt>vF>xUW)=upj`1m68{qv)GfmfIdIXY2&3LyQ>nuhEz z;htn*+VE7@8wc5$}DVj3Z)3+6iR|dck8h859S90bwa1 z2bCuMY3F&p+9MV`FZ2psDGs(>NQhP-82v1#zLYKRBMUl^~Sy+Y8aJm8&W zT{@*W$+_HMC5m*RVBO*Dx?U(AC?USwVaGPWvYJpoM!eqdSy66rb34X-?7G#c_%2@0RfOe>D4K zn1V2?b}OJCKPP|Js#VpUEbtA;Yh#TJ_!x2#Fskhyl5aqippLT=4lhKO$o$;wOMn$iZhi*`y;~r+E;MoBN<29MOCnLI+^o(i~6`Q&UqUgn1S22I*tP1 zPc%u;jEf@p5~W2&f|FbXJo&4G$%5wlGuW0(toLR>-L6EH2oCIG&(Opd{fx7biRRqB zHf<=<5av?azL?S5D`ly9Ew1WpK!l#_uNn?cFl~z zk9Qif2)yS4Cnf%&47&s|0){m2BrMVLbaN(=I_L|T0TeY%t(;yfj~B!`AhNyHQubDg z_xT#;4Rwih{TMi&k2e0$;TFI{e!`fhWwA72__AU5jNR=%pBRumCuR8z|CX)iu2Yz% z&McpPE|(XCwML^+VWQ~YFZ8OBf_XOb&U591phAI$2rM1*OwRI#TQFz0Qo9AuJSZem z56M&)ynsft|GTbC{10 z{-T(2PNiw$bqnwUB$xi{EtmJZ_qI)OC+C?T9=){)f{5I?5KDdEn*wg?ckX>7ka`y{ z288pB%_c!cLPr^`>(7_DBQLBa%ZA10PS0bD225qXXimu$s^Ww%0niDubs#0dS0Jo1 zbGvdqW(9H?jd3V?P4mcWs*(y7qEyz&1tPJRen;j}$zwnvxHyI#YR8*M&PRY9rZ!uX zBF+f!qZhV9Bepb02bsb+rCfw7?r<1IU}E;~J|M>eK$R##CW6H}DZE!at!UvRTGs=P z%bIe!<|?=RmsJQ*z0eTa0<~taql3fnt7VBcDm0TRSLEVR*b2%#YP&Ezx_$YCnN2>4 zj~NW#_(VabO%piyQJ}9kFzD(9o+PQofS*68k9ex}H*;Y9GQrH>mza&hmba*NCk1-N zyq5Fjp7C-3MQvSs*OZ}1(XQiIb%GTtnS#+gPIh=Wo8Tc5gxwFKZ0FLr;Q?ll?#Rw3zr%9&$&vL~9nogR!xTi2lXj95a&X z5|l!i(#)r-PfB}*!}j@&|9$;1A&r*6S^q+Fgoapmg># zfJx{!YH?21u#v!wJVeO+OBOre3se$qMJfs%J(tWV9Gv~RbNIs#4fLr&?xTG|XyI#kx-Xft_sM!HZ3Te2 zv@2T8NJsN~{^f#tVB!=k=_8J~P| zzR^7K;vZVbxQ;!li1XXPiPYJDA!t)YCMf@KqoxVjWg#b&4l+a!NOgU!vnF8V#B zeC)q>VjURTT`^LF_+=i?? zMoETVKuW@qJGOABtI?Y^6G9z&seOC;jE_Wi4{1x8u=}W|V+lz~3U zO=tTi^hohtLO|(1;$mC0x%X3CQq|%365XjaHKoz(SWpsOz&2?Y8lk^yo|F|%ne{ta zh)@!*FQi0uA2brVC)YK+Z7GM+7CH9Joq!*CHniefRS4(+I6`bc#?c8YDa_ zj?&3w0`Ln&?{rGjSF308ZN%`Q^@Y!@oGlXtMKl;JmlY1R!Gf=G@dZeg0c-k^AZB+P zrYS1#7x)0_1O<@y?U%A`)DA15A>YwjS0XzqawN4*dURZi#FAgRf>xsV%0HrY{B10A zsiMauwe*^n4163A0kCB5PJiSb=;GR;6bl0pS3s<~6Id|0)L(tT&q2*%lcoz0z^lAM zKMVOyLBd}q@P+!>MrN`(@WfND;-6ZQRiGMKEPRU6AQIfDsQl?WE5wN=`R}8VOgwg1 z*BhA9B-tDj!fL;`s=FdOE!oL-U`!Od?<)&tu{wc~Q@=Yd4|hw}P~=aK4!tEZ=%MhA z*#`l20@|~E5i9q-2>Oc<0R{!u@1=vdw~?E;52{{zXhPcxAe7-;W(UMDswpRo38dwd z8+|FGV>Me7MfLK_Rfb>=?-KJ=>hZCo?dzAAJ_V%li61kqOIVZ&f9Sa@;%V8Z$iw1C zt!cSFa_+Wnxy3eIJ#Yb#ws(jL{&n)PCOpEZQbnQBs^Y_sBI6qob9&vfmbIeC4?92G z&{fb`|4~B-i1@PX=ObLbqkYfxnlqZPdo5zq-b`n67^x9X=F|%VsyBSm=%MN0ym1xW zh$Fpp;y+u?{Z?}dBtbjs1imPRg4uvwtGObe6Ylx(1Wt=?QuVny6C6|8V<`+wtrn}l z1#BnL$uEfdiY+z3)+HAYkbNuv5C2E*4hD(3Z=a#xGzA}B?Qq!c^&Vefhw#{t7Ff|16+*3M0e^q;b(C~)#+%Q3G^%fn_X}0KD-r}X^JUt1_PpM{ z)ej~Y@S)KGM4~0VNDw9rVrZanU=HukNjylO6L_rnF2v6fot9B_n)!^<>#{9bxgOP> zbRfS!mTt{4q?rC9esHGJpf;w!Ym^twtIpb@ZQ;gm125LSU9Y<@LB=;=rW#+dAdmj- z%T5rl^hjQHq7_waj!FoZ)f{NFK>u7X06V|z$0}AIy%iX7;9eUuQC&nA_r9Ig?PD&J zpF8Q{Rt?69;R>G6UMt4yd2CPGxD@^oLT${zNp+H-d=^Z!7&1wC|7pN2`Eh%letC+y zwpejN-6Mt_89L;3PARnR8&auK!_?&y26%Ym*yAHW%)6>2SdP`E)6oqIAT~Ttw6ftj zyf)`sG~OjX`}TjWvojUitH&HGzC$K}F9edhkk@^!&@=s6ijR@nR2(WLWC}@chhuq@ z8_nDqm~}wMZ@$&KIlF_o|Kdqw&SP}{xhdv|URNpy(gD}+IOFv-3a z1E5%^k>$*=Tvsca-!k8{fn{=YK%5%Cq<37Az8MhH7)~Y8WTlsDo~B*fd(=3q|6$>Z z6;t|o)g%}VTC2*~AP}44=Mq4M!Dc8OZb~_$Og-0t-}6-f&rqw>e0+_ZkM|kSk4~-N zg$zN&CniMI3w49M5x$*c`g(uzz)b^V;+<&wdRZhwb(B*$(4=<3Ah_0uBo! zj@NqQKfOF$tbOrGkJZg3Gmv~=kj&NU#Q707Vktp7m+U^)7GtX1B{$ip)}t$JPjKvb z#AF__0DnzVL4E|SjUhGvffW>smQ;RHG@}tJh-N|W_sb?JV2aJK`|MZ(j_!g()k&J) zZqcYP*IGZ$`(3PiokHyT*TyE6bhRU)0>*Gk3MWZ^^jCvADH=E7h&d?7%6ieG(!nd7 zZW~l#RIII8F(X?&OowZW(46ln+`|N&vxJ1j`uH?a_ntx9>t$a*{@TB2q@NoogIZ6B zco5IFD--XOBPZ*`t;gw$2i%;kC%?ozM>sV0ZE0GRn-POr3|}tRZ;BpUS}uE(U+`a^ zRda`JLHT^;szwGPA=jMOcAO#cXlbu-x>Z@xW4lqLEOZqxB^X4dq#@iTzx` z1jD%znhFcry)pv0LtWCc!#f#yq56s%T3?3Q#d4dA!Gi;j>(K#I`bW5W)|NE)r~X!WwO;vVoHE>N1Evtl?08a3f7&8inV!IZ`p0F4-t?-$ev=1&sw9!!AHT-?9rHo9b>Tyw{g zSLc^quNr<`IHq94Z8;A@_&xH)k}sU(v=oQ)*}(gROFCGoKUb_N5M*d7fwl9m01>VT zJzis^^b(g!|7X1akS=ZWrv)`r)W|~S>mvO_JZapRc<;C=)hFMBJ_Et2&D)ykLcwS2!m{OL?feJU+ zshsqR1|I39Oqc&W!`yDE?h{^p^fGpj7hPlqdM?MF41&N*283g6I{p9tT-L z4d1Gqu@HL95*9?p^Ypy078d+9tt~22e}*_7uYPU#h`vGI5rB1jMYLg*VlO*#KFp^a zjBsc-=0(;1bv~m0X;RqV42Sxg#a8>#E_76zfUisrVL_pTq;0BgJ6u_oul|%GA7?5v zMeTnmRwXhJNDhrzE3No<{t&8WXGrw+(*9MC?ub;Jg_Y7|_SF>m!O;ZW+j5hE-LqU0 zS^yk4ej?cj3iEv2 z%LrVmJf4u!@Y+;EmgVMH;O#Hxz;~ZwKN%~fTYX3OsP>>zf+DGO8&pcV|Es+{qxS?w zi~ba)C(uE?;QP!es`Z~5kx9gWTcWb@*|u>4QK^COZ53PMo%>;6e&Zvaa!Gr@kF;tk6h(OcnRceWOXVq&=%^GQYX@#lfB7PFkT~xK+*+oe-^ad zvHuh9QKPMB#9YOeL_krCx83VKj}Rurov>&~?-o9_9+6^aiv>E{5tf(|QYSG_i=wFd|-^l}H$HQ5ZD~dX)yc>+3~r_c8w*N>Ouxy%}#+ z!uLmU;Yf)Km}P)*N0#MaaS=K?&UWe?NtyNVi(gH9UycY<8Ob_}xG>`}LKFyq+38$p zxo%f;(9pZs9s^N&M8K|5=asBUH5W}@| zGTk~`40jrYz@dC;4WdYV@GevjB5@g@0Ioo zvnPf$(JFeo7?@0ONje{W8p3`*uklJM4g>65=)e__{QE!OoftgI(CmZ6FU1ij-3Rkn z;2(Os5{!C)I@0cLUrr9Tjyg4N5sYHDv5sV)nf(s{XA3TSaSJ1a?G)$r_D1@+oxvtT zGp6UF1;_$obn#W675`2-roJ9cRhcw+NrrV9(3}u;PPl|#|4mj6cwsVuKA8M$Ryj`h zig)Ogo&I(MfysUu6^J4}<}wts&h}tJZEf@|E62}WNVWKXFY*9z_PAWCOz`MVa0dNT zzj2o{tVgh0yZ3IqTFSNgdNQJhWYzv6M!YCI!iW_N*=y~-2y+ulO0FmG(T6nEVA|;Z zK}KlnIO(VKZnXnzg9%@5Yd$@teXk!_J1e)SS7CSS3p&}P+M_l}@0lZ(dUA~^F<4W(xie02 zW>km==$JVK82_&G1o#**`HSMNgX8I-SaAnEf@G4wFWuoIe2HJ%HkKWSNqNul+g;t? z3!$KTeS>skh3FFHVwnx>wmTEl2tOs~-Dz92u+aWmIL^O6Pn>z}CT8)dw%QlDl+j-? zzK|n91nbJ>v+-Thpw;o~=ZX@?;_G^BR$|5M#D`lC$5H~tl3ChT(b1Lsr2TsYa4|c>p2SFY&2fe@0MJ? z)p4KB@&a0IrsL!fngz+fMo2yV-Mz{l~MuXUjOsg;Iej_GgBKR>pwSP3ct$ z>8<2tWWiRWoYlJRT=``J9(ss?&~2V zVJaIydYNH=?dW2Cfa|_6E;6UIEnxMIuAS>#G+zp7zslfbhFuq$LQXY2iBrc$gSF>0 z(bTm(vUq!pkob^yIXJR-`dhO0mXPJq9mLmz?X2BErq=h7%T|l$?U-{5bRW8p;W(3+uMJdXl-dR;~S;}v{OlUhURMIc2?noqoRhcZF%dy^xXN*Yc0m5BMW+?UP z^FD-dI%5$BrKCfUIHX4wbHa)pE&Nf9j0`2^i$SZ?tz;%;**a@REsb7J^E(c~HGKlQWXp9meB9?b)dWLC7J^u+>h|$xsf+@D|c&t=h`ec3H{fJZ&~X zCyzFdw@E@;N=v9&XGMjgS9;G>b(|%7Oi}e0zE_H79H`qX+b;uBK*|u#`}G@t9Fp;p z%K$G9)VpryZ+5*Diu>O+C`Mj>G+A`&$z|CK()WT388Z+h2CJV1qaF8M)emYCx#%H^ z*)e}BJi7$@n=4EP?gPiS?5Q!z5`VdopDAK%>)99JvKQqP1Gd5($*yvNNLqfa6PQ=LC`&RW=O*=r)^P50m$1S|aO9 z`#Jw%*J|dQ^qC~?kaM25-%qi$FQMtZo92AaJ0c?YvoGwh0#*|XAI&4^X%1zo8him0spl~#ikaDs{q%vOx*I~`+>;o*_@ zq)O;tIBGP}ZgHqTE}NvQXXv5Bw1fkPp4K%YD6Z7LshC{nvtqLV5Eyu#t_}ws$X1

s4%)I|w9xzJ>GbrxcDt7@i>{TurYCgwR{cM}$7bU6GcobkM#Iz#3q#a!fIy@YM`r6*Cognv__f zEJHuf`rNhSHtDbJQ=b^@t+!RE8h%msTan03no6fPfn(y87+Ub&$ioEP{i9*GGL^$hfP%0sPWMBWh z2%F>2(2XdH56>QFzbw8(DmucYUR>be4&&*T4c6pFUPS4M#wNi$o7p-7pZB<06cb^d z#FsYmOmk$o3b6#Wvijpq9$vFtKj`2$>zCChSipq3v~)MP(7}ng3=nOP9(DDTck=br zbP!CD@s(V@X6xvDi#Em2`MkMx(wiQ*QwBaNWjYhX{O(=4xtOMPpuR(8As1=17C>5F zQ&rhuU@0kTy)}(`xo9bnZ{9FpD3v0%<*HKy*5z158S(c_7Tf=%6Wf`91>{VyAIx3c zxHDYuozJK|X`;n>$yjHlsU0GqmakZZXR3zWIYaxc&ipaY!ulmb@aFI)sNy+XX4i|4 z-_2YxBO-AZs+Ztbv#jLG%abU`OKbAj0+CucZmQ=g@n zPWTZrj*$n-DWcd%lCuiBjWlNrMu+nDxL)K5I~1>_+|x?K@*G@>htW8dU&=4z#dBAh z>^K3-eY*3McqE_XdT;4Q%!Q~ZxEUvOi4EZKYVD}sM0lkPo!?N~JnCvCRwzz4%-{-|t(rss?hrKXrPmcMH`yr>eg&|y+(^kmPN)#rDVP?@OTjMU!W6)c`j@ z$iLRG>U(pIX6zi1`_P6(vPa@SR0n_P2nkQNnD1{0|2zgpC>%O89^=DvP}cnhzZF5j zqLeE3ges(A^m9ClHZ?*+G~J42sW%M{m?xV}3isgWKJ+HPuI&k8((znbs#74S$J>*} z131;(6C!t!j2YvNb|)6}{>gl`T=aeXmelUSZ^!kE!<}jIE^?nQfeBd>zxFMDWlp&?+pVTfvXXqa=+;&W(ZdG!J%dCUYflIpB2dNsI}G>x=9a7;~eKLyeKq z8J}I1DI+JtS?IEY-N!~gEZ!B;A7@1G;)E19znkvZgVI`ZeO#UEKJ9nISx&@b_(gxI zhmr?8Sp!{K*m4V*$Xp3D3#=L#cZGUNC` z=lsD_&+$d|VSZ7ebP#nHsg0f^Q-WfrIacu*RUGpke93`NTqZ`j<--Y<6{TV@YuGYGyedpgapqc0pnGdm!MSm! zTX~k;G-#n;7LIIBg;@TIFAlM8YO<7PsV9$h~HPp;~$iaY#;Iqqk3g(Vd#>D4rZo9N;#$YD~Q9Oxu6?ExiRd^ z=$qtOwNS&zgOVMhW*IQ|(CMTkCD5WG0YU<`${nRPq2Z6^%&#Bf8h+?~=ewG9zel}n z;mp3wSZ^CL7kOQw(P~N{%pB`N?e>;|vZSDG$(68!^(dyIr2WN&Qe9hS=k=@$*nB=7 z;&SYjKp5=6%o`hT?tHJCqfu?uz(8y=pHwheQWV?#X-e|quha~+bJHEc0^2>Qc)=&S zfxnL{(A1SBYJ1E921aBRq=M=wp=U{f?v00+L<{!$iA>1ZD$DotXTHvTU+iWf^dlsC ziCKap<2^D@!i=h!WD>zYtK!qt>+&&-T6Sx-g0;(UY>yKndf|=)!d{0Mhm`uHlO?SF z+?_Fkx)vv1h2T+X@#lA%5KC%Ol|2qSCYbiWAT{-^(W4OMX(D6SQ)T#MNXv{#I+rGhR0QGP=UL_6`*RHi*KaO zo_XBpyQo|2=MR<$S6l=Si)V1l`eu^}s6%*lM6gzATM7U7>Tob%!(6F{5HzW=dDr#+ zx&2f$I>hSN3R1jK4#w_3IAB ztTLSdI5TFT!)C7?e?CTDq{F^lX&W<=MVRs*zWwp~wv^%0ZW1%qHJeOmosv8Aa{K8I z=kGl2f!?L}g+x@BIr%j|CBA+->{m<>bS1t#>(4Y|Z5LzbDw4uFrzYlGQvdQ6QbGk3 zu1|!e#;hZuhHJ?F+kP`31!n5Le|SgT{Bm@hk3Nq#Jdh&b3G?WBia@~}MWyv^%R(LD z^gysyWITUE@Ga^>WiV=O!E*Uwg8?{bRN553XKLI!_v81c=n-(l0aA^gR%U<{;8~_XTql!<^1(NTR7It^u(aER0jHAmTw&K zW~v-U_tf*2+(Y&iQI$q#wf&#ru4DoG_m_)jQ?FVzd|rU%aANYYm{bQP!qp7Ndq zVjiTq%QV!zRwD;5WdOI6@FM&?1f$BE@L1RKnhqDAcE9$jH`DN7t_&!=k<0c32cY#T z_*eHD55&&-+fZWmCL*R!1g4Nx6@81OQ@Ie4+CKdPR257O76p>SVbyA?Z9UcYh4%eQ zT=mWI#98mTz>Bb=drUtW)Lg*|s1>fw)Za>sHhoyu6*Fu}4YM zjmCyGRg&#w%>>x2%cJaNe}j7!?(hBAFCHZ?)V0lH)GKE2LAVAp zN5M-@XCJrSloJ#;N=%aMc~dk-7fvxEHaOEmQ35>_6*|1T7fB{LXt)9Dk0RCRys=Ac z!BmQ*x-rOIS|St-H14}QGF(#TM*sOKHr$QJ2)Yy#=i))4$0-I8(|V`@wamvwwMo@; z%4r-ovBo&*7@$-I)vJGhcAxK8sUlM|mI8m5l~BHmA**@^sy6CS6SVt|h}7qZc>HHs zR^sQ|d_BI|q%{xIr6*FUa42&gbUHZhyUzDOgL{OIB7_VSDZYLGyZVx6?eW>bu0-rN zE4-uO@a76u*^dII{`d}rGtN7()*-ZYvgT4F1ja_f*yQy`{-A{rYl6~}ZH7eVlx}d~ zzs^p@epi6U^3O9YpH=Tl5q?>lF#q!Bl3HlLvZR+xG+oB4YHTW+A~GcU=To(vfosSI zGk>#s%#~z5kquV7y~~w7cDNzZsawmkS*X(*HgN4^e7v#PyffnRQ@kM|SEi4f|Cj^y zsn;ls^IBKL14dVpI-sf`wIhz#)hGM+bNDsNzdP2dPUP3voR`{bv5gn&c(xs`u1+Y4 zNZ(_nh;Bswb;>)O|*?fiVCTeG}RF-U(1z3Z}9kd7>TlOlIZmYPHO5oY2}cV$f1#vvY4 zcqnn1=ZoQv`sXT*FDD%1?tub2i!g&oJ&5mt1C-A9oUUkIk{!gAm@em zL3=-OkvajrSO$p>p!0_ThHAJng!;OIu*5?Lo)7yb=!(ABizbUmJMs!nO{@Hj{N+OY zKOV?ZKz&D~1WiaHPw982^_=O%AJiJ#JKQ(#TE!cGwnu)&-jPnp zZ`E`)H0=`4)&ne}G9TR#m06+%Z<&J^8kCpKZ9FvR3-;qT=DZT*Czmvx)6$Do-Gk%_ zfkma4ARGWvhT=+w?*}mL3c=_W?SGArs|>pqsi%m(_44dy%NM3)>_=!dvFmh{0x|v0Z?1qnQ1P`Ifj#;l z$q8~Yq+afbFcU9)?UU`omF|Giq&32*nzZV>8nw^$8t3`LWq(LxW|NYr19WzY*Q3akJ{W~~NiV+A{OU3n)b;aL0;cris16V4 zJI|5c)?r^*v8y7a>{6W+6MuA`vI^4?OEHb$qxqG_ndi_RXqeO1`Nev+BXbnr*(v`4 zKW=t`ACvR|I$snF>DpGYa~GqmoKfnolOSE-2zs3{*l+PDzj^oZwN_oIDpEszd?61& z+SEp!x0&w+1V5MsZh5W>y2fD9h>Mq$mYAKX&s|?WqVX}(V3aswCXftl23Dj3`P>^e zN;0J_-wjk;Z>8KGmQW+N_~7c|C)>sbay8AhUE` zmC*+Nn?pw~rZ${p`tv}*7ot~C#A2?mdELH!KKP#2d-qD0sr~0JWfAa~T8$8Mip%@^ zGn8J-n5m||3bf5P9DUJ(wJBa3NIEhG1gt2M`e^v)I}|Pvr=r50kD>3zZ(K6}1bgR` zuxau&jk16f7u3@A-=dgP6as&_)fials>7Uwoh8*Ojz{E3IfiZKNzd8XMSqK`wyxEs z^H;s`?divp93W*rR8$tl^^W|SU%Lo{o1_8Rmc^rQx9RHN5d&q@6m>P~!%M&6TRZC3 z^A!lH!*cCV9B&i-X5eF=q-{;bW?U-RmOoS7@G&3OpBA_6lUvDAx2P_^(ktGGHXmLG z|2&al^A~w#zMTscBTyTkpEFC>r+}W0s9UXY!%Wez@DdD&v_D%|;3mu~)6sl1aqm#^ zRf!f3wZJGo6Uu8zP4)zM19u;SKgw8D8HVE|XfB2|OjAG)FOvbi$EGg%P~pRNhzqrQ zLWo-8E3Nk9iTS@uzU|O&oiEyf8KhZt$_S`K`$UZzb;CRqr(0;q8q~4o7jq0>drhd} z?oUN1>2SrUsUX#49Y+L^qEvZvww(7-a|Kc(WSyy0Ea>u<^QKG~RL*`4`RI(mz8SYJ zamXv}5uV;4rP?w^yIqoXKSRx6b$m0pZ^E}c^Dg__b4y+O<|nX~zpPv{9Q`BT1#hXP#*O%~ zx}vS75=g{gM-xrZxK>Jvs<$gGd@>Mm&H^)nY|nozbtJK=E-|`lB1eskH}5tv`jytv znaMP^GS~HJ)(X9R%pD;=W!{P)@aSE>9Cac#@MS!N{j+G{RdH7$Q$5P08kkzh9q2{6 zUKVo~h{4S2sA%MvzdU-|>5y1#X_qA|XS8*r4aZjgY0K+7F19o%35S;}CBeD z2@AN176hY-Ri>~dBjT|lc1gi>B*M;1MM^U%!rTUbT4s`pWtA0QX&q~}D)CbIS{F;0 zF&}m+$!Cb;4aI8JJV(QUK47QCmArQMC!gspiJM z_Y)fJ5K*1YLCYKTR|=I7zh}{fAED zqT0siUU-nTWphz-Z?Fs0UvvrRp%#B5Ab?H&lPY4Mhz1Bmv+)GssI)7Ijg;XvC$aQT zI-yI|vgND4l1!^e5#)#nwfJN3^WRvqXEMsekCBq}!Atmc2@jCK&Yqv%tNO57+Unq^ z0MPyNKQTbSg!AlzR2*R-UO(T4i66jqoBU-5cNe$+)D3mO6Gp@fsN2_Tka^g91rtgF z8e3qS0&lcn=I_Z|2AEG!@Zq5!4S3BV9z=CB)sN;`<=Z2$VN<^gjxJX z$-%t)Th=ZL$)hym`9n3Lc0&&RU_HDKP`tJ8EhUXg72k7jikxw^#`y$9(*-$)_LTITH~_XiN|j*hn%uBRm@SVW zZLp;cL!aw3N&vN-fqhhR5G<@ClMrTtLgVnna6L*ojy-k&BG7OUwVL^A_Qm^V6}7W5 zm!t^Hjb8zOZe^V32Nv1IA0b#>#}khDk<{N0;(eTQl3#3If%^Qy)%|);6!27;YSbA&oezpp$gC{L@gm3W4*&TB?Jm=0AKnZ*P7HL( z%jEJBheQ+RUTJcTIudvLs{z^{`_*{KfYyVT`LG=xu7u=NXW&wFD-Q5_UqKbH? zYo_klrRv!!CCWAOK!Qz1SpOw82u#1k)1h~nLmfG-)2}8lv((!xSX-r!6c*tT#M*ej{(H^Q z3jL93tMKTm~v~7{(bd+)W(*!|8xThz$ zOZM||jur4npJF`iW79%idm!=-WjZ)_ei5gFo%I;;2`dILB34YY{a<%QEE!sr4j$Li zNKRlLI&Oh5G{$v21wqv;>b57>q$I?mp4XY*H(XVtNE0S~Xk@i+APIS3%p`$ODgSQ9}Z_74_xiw0I7=dq~RqspL#ePy`}A$rh}u|VP<;Q2#s)jp3<{`zh*^B7bd@w9s^K0{5lB^qly8tTmn-4C{O zw&dRzOTh`M#1<0e)W-Bt)7Xm+o_v`-l`3>&x?=Mdj5(%*w9i9jUXBQT+$Ghquqc>q z4)iL&+R9Q`d!Sdb|MX{PgCUEvVZBH{mM2Eno7+z8oE4#x&d)+VbQ`jD__dOa)$;k> z9j;XY`TREwGX62pLK?Gfawul;lwxNuo@6+Vimy~_Z7pfa+^J{Nkbqx+UeSQL{6ebc zNtlb#XC*)XGg3SOjn=2CYsAneRxPji^&C$Drjnds*mOv?HE^nECO~5gK2jrpy4j&K z=3q0ta!=Z;9>=~jjQo;O6Ik`GQZ!*911YS@rkMM4Oqa;&TPz9j7-%MfCQvL@+XzC0CbESQ?s-fKoNz*yRVKBl#GuwPIWPt`*GoV8>7EIM4W59e|;Jlrq z@chZIy&oX+CxW9=bNO-!qw6W6KTkWLrN@b7)zG{ICq7~eV1VRv`-%T-oDCFo# z)>}0sDlpwY9f&4>{nm@==~`)`H%0?uq=~pq@jHDt4BR_5Z=&4d$CnHz33xKeU+t+X zp5YVq|J`hPfDTGzZn-8}eXW8$G1jb<5fPt+74Q2>JK$Tt4uuw_V)#&*nir zjH$LVMi`SaM@A4oy-7L0GREa4a{|oP!_$+5{~u4|lBd*3-}J>&!&}r%AlH9A4jATd zI3-S-xpgM&+on*9Ed-1ARsgo{RuA53a2q16`HAVB!LgllND@2#vn=7M3d4&Wo90a=?67bKMjy*=Y3>+>w*(v#WV# zi+S#NZ!RCk9GF(+)Y76-BjR ztYm4QtZiF!xCqg?!UqwKHod_kP9_>u8&_FZFlG#0#}MZq+9GNd=cqfuXk$C(i1@rl zvnQ`m+fmO({0n1B!1Fs6@Pp`I9}WfrUO(|a6#O~gsxc<*6IRv#U=t5fMchD}Ggv(s zoWG~hQg3}y|KY20;!DTCc7zA93tN2SV3YVYgb7)-YHUT_hPIDYt6(iyN^XhB1jzg? z<(79pb`HH)ZlC%z(_!d8eUIs>Dq!5}MU|6vOJ1B4$AH>1FOe)fq=MQ$RMd?ftkdIv zdD0=Lkf~EQ!<4|$h`JgXSZ&cFe@}BvhY@KIXZ~d?>WoIAVqAJ94d)15nI~hC+Hle! z_8rF2E)8e4nL16HsLw=L(?0J7Lcl1ku4W?H%C`La5 zl<>$pTnicYiOZgW7rY_nKJ$zhHH5D12`Q*6LDzOQpC73+-aiSPKip8;3%9sTlLuLA ztJ&3+jELJqTl&#kix`Vs175~Tz=C8|@N62K*@iJ&KupN9r zaQ~iRdM8P)+6vsYr1vkYUQH@3!&o5f^bftLIQuRrr%3DDk9vNhZg%pI?^?Oa6vt~= zCoMvO_sAgliZNy>s|rmdPWZZ&ML{?-nW2KO(JOaA(CV3xc#aJw@GW5Sr~gvI0m?D= z?zxx-?H?17CgBB69q$`E%_^w=3ES}J_M{RCU|)1P%tn*lFQyE{H)egau^F$xkl+*( zNO_bh6}hz0aCL_Dcu$}p8(NFWME-c3ka zYBGomnY({Wy#nErYxKnbJA&nYi0y^FSg&QW^=92&APz>%!6kXhN;*E#bFLU+@L9+( zz~MvAiv*BH(L0O;@6)Ro>B!`7=CZ#|!(rcgnpRdl; z0_*&*K6JwNDc&H|6`wPOvtZN&7kY*gUw2BTpyVBzd8@T|=HQqPsC$X@snLg()Ie!H z3S+|FFil7WZ$`*0?gd+|+11j6WbENjITqujat(pBG>8ulxg7Z(7T_KEZ#IR14wU=^i(z*YF}?pv?=tyUwp=eU~UCV9R?gPJjMy^pz)yD+CM;qNm+p6c z*g3AD9vjEUiOFuvVv&VQE0AXQ#j#`{ZF^%WG4pP)wpit-)kq#io}jDF1_r7)-O)X2 zxq;Y+!Vmq23kP{}(psH~nm9mI{MSXifA&0}`6*xK!VGfe+wVV72vXm#j=H+``ID=RSps+|S)1o8RdzuADB~|_$eaN| zvKRYBc;ja&NuvcA5&q-{o-EL_9X|%jw=q7rRc55vlFw+vV)mq6q3D}vb}9NETB>WG zT3eOOT{J%Lixxljt3kwtg}bK%LfTNA2#9CCjeSp16HA+qHkS@dI`PjQd#sxbrqP9fwDdlle9lpXZu&T#@^rFAst?n zLZCzIR7vCkQk8{Mgc6chTF_;pk#C8xu6)Y$Ti>@~c-!bmK}zGGzuF`ZA>jRyuO5G! zry@HIe@3$3y7E7slv2&^PFLPhTzKay6M}oO7%gA{aK(K7z(OD^S~shjJX9yX+d9uc ziF8Tku_1=%cPT=fL!{A{eS^+e&&FTapuQ*gt3xc_a9qny9Yr?=7*e#9tlW?zUnNygSaf%Z`3Ht4`i! zGiHuZymI9@55^;7FvHF11m7-5#MxOGIE+FzK~}ehIK#1e5gC?O;u`u^B!=2>+JR*A zP5CJ~FYiE{xo9qCsRY1^0n`>1?_h%lwe1HlG?+AAP%n)9>l?KN?jBlq3l#_v&MVNo zdknH#JHuMVaW>idvGu0yN$J4Uh>F1Q2I{o*MAsiJIQ;9t+Lk&3F?Us0>&2kaQSs|g`n#6WS?i@$>S}2l0dk)6adS$E`o&P(!`vN$cv*qk z{rrUVdkxRMN$WgofVNRR&hM(1t+>KfMgYyozqL zLdi7TidL;6&feAE(VaQ4qCxuKR&XC6h&bTsIo7ASU-tb+S1{Tfna%bS9U@+3g7p$J zV>?B_zeJYCk2ND^315+)egk;)`5Q5yz4jl@QRlC^yDr=jonm98dBoX`8e5E?H(t!U z-@^vU#&R?1W6RToIE)d^_b#nW`v4LpH@MFqTmc?v@H9V!=KNNP0Qf!nV!hZL>AtXS z_UWtLVKckgdgswYXQNsU(9t&@BAsO6+hqR!l|ah_xq?J#IVEv7tkRo6>IlK82NVY0 z&n9EbIn<)SzW3>NVTMp23pb{!dD!acoWbSg%I4-BT~W08*BWKh-g&2U^g%Vi^ENN0 zP4Y{+ONGMh4`oF^i$GRrbEw_Hy3aC-cVyf^7=xfFJfUj(3H97R(b^BmASqNGO2S@N z;f(}r%CV_u3ZZ)b@f$2biC<&)6rRISHbnpfSI@EN2H_3rE`H^W?k;&RaK<{Lm(W+@DAzrC}>WWops6si^wPK+@qUKpO|E`7&+$)1neEpT7UW+vYJZf&pE76km&z5qL za~wXPh!ecWzc^X}lac8Q++aU`m;9^nOmB2>>ixR_`b9RK^S?jKmhauNvNV^S_+xTQ z{MkaqEMuk`6hEg_9L@Mc$KBD6>$_uY~*ZiiI(TEhJ*{XC+4Q91_n0}O!}SHh3dNqwFc5LFU~OTJG!DB zwOE{3&cLDetAZp9Fd%Ejp7E9^NbPHG$>;Y<@+=mwRGd*YO#0(|(!&WP`~jQKfF(u{pxA!l9n1a-kyw8B| zF=C*Y$TV1tvdUUBMjv_!M#tK?K)T_A=?^%=f}0)jYAGj9NbF3n3f_<#KBb2oKhY}O zO7DsG(~2^xKy0;{)XG^lb!G|24X5EkLE?$5x+iHlO~+}795}H5lRY;DyK-ib8zs>c z`0!!|=)A}gkMZN6koXjnaGDSscvqSyD}HyVagAD~!Hm z2S{ch=Jo(t3HXlJXv)V{sJJ4$P*om(e%j2B_s69@WA$cWZzEBG3E7wCFWc{xoT`kaL)&;PTq5^fqcQCBT!)r#%b6?N*bsGtTc^4bdt# zLQ2`om-E7}l;3(!J2_a7%3>D1W`N;oGu5_YdQt>DsTl4ke%(K?#h**$u77g+F&3>b zKU?>`t>FPF!}GYj^A&H=K&JjU#J|OuTBaBK^05Rk!RbsehupXI@gEYW1O#vd9mAx* z3~H9&=Zzrf>;HAu$d6uVlt{cqT$H?wq$&Frpltbnlg{voKJuPXuc*FM!{(D|w0Ca6 z9qAaH3ptoSoWuV^+t}P#d9;ETU)uB6^atRaR)z)0gqa9? zg#gT6o-&xnOmztdOw%lV+j3r;AaNY@|U9n97}`89~Q+mpu&5B%*i3?WXH?+Hsfqg`Iz_ zB>O*r+b>dkJ@Nn7=HeiJyqp{}C&#+4@<*XYwU(l}Yc{!FRtLW0?I^;$GJ!65!C_B1kE)5Yy+ks*|=Td95sejJg-qSR{V( z(i)>{km~F2|5si#ZKfYBQ3_;=x0svA@tM;>=a)+jO|Xz>9P)?G&hP|EDYgjKZ36Y62W+j@aT@M`GN3 zYY@y*yEi&nZC6$7{YB+m}2!SMf@q5n)iMD4)K4t<`1yGH5#tMs!+I<8?b~@uEL>X&0NuB#@3o zMLxYfq=(?knm6+BLDoB(QguL!4C|j*pYFO6RB;PRT#M>npav#J3uw;29@T@iJyZ_b zNFZ)uJQq$&qI$XBDj%VJlPD`g11(e=V`WR7&%KQK68bfve_{=&!j zN)h7^nfF%u=jO3#@mV5)liZyPmV83tu;zqx*QEK~0qA%xkuGU6)5#7N?zB3p)--$r zaI1fQ&CE*FHF|Em)tu*)eD!X0IJQ3k4kB+{-zz>?VspAm+B;l zftp%(w=?TEbp$PN{pqAlEGY4Bsa4b^f;Eqa@Q#_v}a6 zGQ=#sP;9ZBp0>-YeFW_v>~tgeKgcn*2tX7Jg=>%qY9^6lZja#G@+BFQNVHMR^sSdo zivBMQ+ciU|JVlfPFi`PEPs8%^UHynJD6uWZJ?1#9iV|>Iuen7!?zkm4Dn^n+M=APK za)(wC2jwBpALTRJe-o0T&2-{Okia=ak~U)-_A?;}resG6#Vk+_rWKlzz#$R|FMW8H7X^P5m<>SqWT0B9Iw412?;IUEYWJLsREehu*9J z>rIsDUpvr}7Kg*ef}-vbX0fbJ8pbH8kwm(TWD^d&Y%Bas`6aFjJ`4MYam&Q{;+`d! zUDKTq>`f^J&I6>sm>)5Y?d!88<}TuLPF?VH|3kNq%-CIWeK?JxT~+ZBigAsocs02p)fuY_wn%|R%O(=Bguv-;0CMP%KqiF>vis@}Rjn&I z{nv<1*+7e4scPf@^5hjn>cU`}V-mR5R6kazHU59wzssFrh*jhoc?iKRUBb69(f>44 zQ&V%aOst^b0PrL7^2tVRpI$nvMX0LrW1R!fAA0gB1^j276QE^-kQT9i`SLF<)y+iN zNcB7j&)4eLn&Vzn)6WfGI^e6VmEMH1`;$HE!OHT}C;>t*9-i?K zuW_m|675>`Q`o`dq7(Qa{)S`M#*F?q%k(J3MY`2eQu{K%u~4L+FDY|2jJqCV9+ki? zD_NnwR?19!6UPB;AI!Il{**MUXd*&EtG`iDvciRG_~>P6IId5laXI-DTec+l{Wiy! z49kzd{-!eLqIFL4#(o--QuWg!1uv9Agwqn3)r8iOzEV{$yFE3`INQCF=B+;ZhHQB^ zOE7JHXo{72{QID;{JqJdcg6Fg9Hbfu;AYz9AA7J%BxqG~qwGf+dGQXNOQEH*UAa)7 z9%Qmbd-&DrNiJDr{$ZOglUv@4UeW?&s-ml6c z$bwsk!fWh^Gyd0_vgvLpuAHUQ6W&qLu5d2EK%&eiA-!7x`1XFT$(UA>XJBUbX`4%2 zy%?xKQlPBq$jn9>!pSi^jUnQl2m?8ahe&!+UG_9&b1 z!OJmcn{u61SBQRgE_2GXc(!-by!bB0a8A4S<6MnQLolMxG{yt)6TGn3@L$1Ft(jIq zh-o{Alm04ue=h=lzWsywvHVZJL|}q_Ovrc*uVQ&aeR5L*#Lh)3cuBut_y0vnt3f7( zIEqB&y2&lD^S%@)a&As*j?l9mEt5i)Zc#{9_18|Ej-g4OdEavk7~${6|2-`1oGycM zt2m72nUDqd!e^ZLYa-9J&wrZJ-DINpo6t}`Uih8~De$~f@gOy)6{+v^iO2Om9k_lO z!?*6OAlkR7D*u;3@c&}7buL{6-V{^lB)5|a{qFkjwE$-(ktpL*siaALsMO;nsV-@# z#q!!rew=zyL9*ni+Zk)0Gwfg*xQ`vXuz=(F>i-^uzz`zV^4 z#&6^LR=m(e%oMo+b$<{*#vR(S=#?{CYK>HyWfG(mh_`*I;ukFxahWBRskckSr(qTZ z?HX$@5>EN$+sn14ow?I41z-uJ4h4OeU|*KO8lqY7x$c_G{BPIOGKe3*qRP$fcqq3= z9jdd_x{&QpRBA}{9IOL1S*c^ByqD7}p5sq0IPfJyHZ!>OphfHY!|MH=IOHqL%cf)B(U zMA9}5IQS%XQ=3=i&46BW_X5xN*3{95^*cXosrOX6E|rMCsRkRL{RM~p z!LCMSrQ;x=-HCE>Un-t{nr1l@w|1)A*=-yFQ!EaU zP`$ET4k;yvxyU9?t=*2Rh|)ul{!S0V?v9z~JH39AYaeDwmO|w3HD9LG9}fPjA7&HO zE{eFRo$OaZQtmc(qTS6)xoH45kl>{U!}X}%_{3QQGO=-$8v}zh?a&8TNR7z7(EsV# zyW^>T-~SK7F*{})^BgB+6^=dPSm$I$W>iLIHrXL3dmM)nqHvPERYp;HbL`AhC@LeA z6=^8H`{?ug_D_$;>viAPbzkdwJ+Iq&9Z&iybT78XFqwG_1sD*_!vdv&Z%r8U`=BDx zq1JQIvGoIg^+vIeeDKT0jNNVXHG<$~Kvu#LHmKf2zLmXU6#e_}sKL{Fwz$g<0ulqt zw=}Euf;!7=Fu7Uc)HD>6B)&uTTd!Cz{LG7AiQ?%~TZW9dOb0zIwrFKex$L?N^eTk_wk2BLp2Ze7JjZ6_@qk(X=tkOVNHg;7S-ZOKEu9(o1Te01H)}p zpBhmQZFu~$s7u?e4(HvAxo2e|r~8N=vri8UP2Z@! z9}`tyX~(=cGURCj!-|led4Rb|o%P-Kx@$MWV0lIS`jVT7o9gi-OOd_DN^wb^@DL6; zk&ymoMqF2~ixS816xVguO5>m?qvjzRNBZJe%QFv$sVN1BfC%6E6XW1lU~~y_4ocSh zvkLFF#h%+^?YXE8vv@VD&odv;L zkC8*P4k{)uyl;qVb=v*tUKsY(zL-rGPq-#Y)Y2>KWJ#8F0yCSdvr7CV=T{DPtKfSW z{1!dQ`SXRtLuSh?lNh#f)?d#$Z=y}EUTU~2E9-T_>fdI4AH2UP$E7;%iqv)P?$g+i zwkfX7Bz)2r(aIU64!aKBY)?x?TK^V5Q|KusgQiDzHUSiaXh&iMT=eM~s$NckSzC0;JDFi4fH6k5cFf6J;Uz+u@hh?2!CB^F;o{zN zI^#8srIqK)+cxd8#Kwl=E*Smif7?3C=683}O`j|Il3PtUX@<9AZ(g-sfwI3mZ`eCsDT-o^u6g> zhd};-wbjcjCNs7#I@uI1(<^Eh|a~sJZ`zIQRIKmB;eU!d*<7^D-VcB-bcam>-aLXIxU2MSl5T zL=Q`y;o9RH>x62?o^^lOo1_1nCY(h+275FZLd5!MTrv{xA(N!dTVCji#L~AVOKB$L zZ#zVYnOY5!@^zU(9_tF`x^(qX=@y*3Kc2c?R8R6#yQpk){L2g-`Yc5&w3s`Cpkm`| z^<8^QUuq3sNIbNtKlr-A#GQNJ#wC!_~J!gs< z_hIuhCz9Xhznx;asrs>$+CVIYQx`d?p4ZXeS|9-% zi}ro@{-->bZ%d>vg$m%*8Zk;$g4233dXD(+=fOB4*cRsHC=zKzWI@-i-087EMLKD# z29bR#Nmweu3d>J>LLoBWpvAYZKTFgvqv+L!K1>!5NJf9n^_A!~K?e!)pI`jnS~aki z&}5{r!*?7Bmrf>Y7d{h2GL`=1N@7rL?rgUPq6_9I8Ps#ANfLX6*>E9CDG@_aWZu+M zar2q-=WwuLqh!zG&+j<*eWs(YjU9o1ZX6Of#I(nn#6D_L(&8?0R(HIv&AUKPyd-Mc zJt=XBwR8;i1o(qJ6(x`SNt@KN&a0*zd$$gUo!Miit24iY0IfkW!J$|2%RhMuNZhr? zi=P&1=-i-JNhuz9v8tm*>hJQsjB;MHJaEnW&UA{|fT)>Y)@-Qv81mS@)lg9bOgHzH z93sGfZTF%xi&)3z3i%(ryql6Dju_LXCJhwq5KvZ0i{2aDx0kT-xxS-8(ryDN*zlN6 zSdzcgeqcz)HYFxb|My>cWjhW_`cza(sN2{WA&(%5vX-oES(kWrsImBkc(UKFL*eU& zy-w*+)S{r`*ya*DCyqJ+(^{Z#GviCfp>iH^|jbtuJxP^EXVLAQTRFk_;_51fL6+l zcyzW5jbjyG@4GO%)zaPFKo!Ucal?GB37Q9bmZR*;rHuCV=wq;tZ925bd-VmH+L&L! zNp7Vd!&vfLFVckPA)^s)^53u`DvSXo9H+csVg&@l`>Mi)n!-mb7coT+8=_vFj9C4j zCO^h5op zqc5%x;m9fh!!vs&>{x%%6Y}?Wn`4i!xa03B!UW;vv-(RhnziwIQEO5UX z({!n3a!mxL+i4YlkM?(n8iFLsjkDyd{xp?9+A!n7D;(RhEEDL^=0}It^u=XvIqI&Z z-!~=Ioe=XERdT^#nIwrM?mHI02$|EB(=STrFoof{0@(famSsIb&G?lpy3s?(slw<~ zdB!c#;HnS`z#SkT?t@+wOv)$Q55?Hrael!*jt(k$wMh~M8(QQJ7~PUqoF=(-&d%~L z(k8+zIa5)UcqMoc1IIwxUAbwPx<+MI#Oql(UFMP#0-Ff!+WS@o58l&0eOShhn0kOE z4%n3;wDl!NeVgMye<8hBX56aKki;>lSyq3Kd0V4LC4)Uo?dN_Q(t#jIgLcJFvQcBvjOA6)sNC;*)xDnc>%AP}<@dJK zr>h3N+}EZNBwi3;rXf!{?p zhFp=cI-3mb&DYyM`xz{&m8q5@fEhePp2=|5xz*t=gaUAhQ^~8n{&uVCY>Er;FdN7U zUl&8Y8%gNB&eyY_hDJ6;>$JuKv!^|gt#CT378uZyf$dx8W-Jjj`tP+vb?E!+F-;#P ztNyf8RX76`)<}%ncP>ut+Auqd)mG=Mg}ja2#m1@#u$^s$tezR-|k1n z4IRI<9OGwNTfFY-U|!q1#k=#K2_XwY6Q}Q8)B|UWpyPPS=5`<^l^eWRWA0En)yMwO zX5VgDz3_3?ErM$j5(inZon<5>D!~0#sx&(vKxYQfu(`3VU~j*dC6Wl5`;LvyMS*0=>@h4Dh%G zCj%hw{^ntWf9rjuZkLhj5h=g=jD*aYp=V8-Wgmm-`2W0F>l&pSJ=^LoGh1Wc1ahZX zCmR*>iME?U_8sjRnK6i9vVRlJ7`kMSAB0(s4mnmY!Kvy_19d8%vfJAAxQKL%I#G<; zP5nHss5I<5Y6AY%%|<=bq3<=)jZc9t(IW5k#;?E&5<|l)yr{2>!Rwe0vT?Htv|Jnm z8Wo84zgkJ??~@Mq-KZwxkvR3NjkLMS6F!3Z7qw+dI%yjw3s1Lbw;BBTXRIF3KH-Vq zXIQ0ep2EuV@C^6}9`hm9X_jlNnMOt1Q-LrR6hU1udy)pix@xSdhqxSQRH{dCYQlI2U)5fSD+`yZaTPia$Bb4o-Tez z(6TU^RdXKq&!yA|N(pn;tT=LT4Dj?+EC|Hqm;FLfBd-P`uNLAL=w7oDv~}9WF>L1w z(~>`|q_f9ah7@wNos|x3M+Qy@duh^2`a;3`N^J_i8@+AikqCZvAmUW2!)P1k)(#6v zE`s(7sV~^(<0>$YtV4wXi|NP_9zaPh;s-|wE$gR1JKh<(0;j%j0Pp3_&qR)#ObYF0qSa?j={ zAg@3`+T&Q(+w$tzd&QBtUPnPt(4hkDg%C5Ri=%BQWUhbNzsHW?v69Ss8-Rk7EIb2h zsM;uJKMGo!YLevX8Er_=WO&8fqm!u}*NkNe{PdG0X@g>V`8^nz_|j20X})ze@^VI% zs(sn*oTxvuW^Kh)Otc8ME8v6|9U(u~O2-TYZUh}auywl=@OwS+(tX%CAXMY3@KE1^ z$Hl?NCaUm)9N>ZEoxM4y**;6|uP%FB&xb~AFbq(EFziIg%g8#Y)E5te{g6Mw6g2%< ziclQklL(%b3$&K>I{VS9C1O&-Bz855JnUPmtUjtfsz6yBzZkb_GY)01S!sI1eFia# z+B)Em1C097U2J2eAp(OBkJpRp?y}^VYKNr^FlQ#40aY+R}1`4@f9%^^a}0czUzH*5evfDzWw_Ax>~J9 zv2L%5HqYm$MLLc*?$xg#@gXdLv#||EZdlFsx#T?BxVvLFjbu_o0u^TW>_?XtgcbVk z+8N8(g_*e2)GHZB$zsT7fItV&{zy6HKlV)2a z9~Q$C?p#6P))v?t9v4?zh7B$7^b}+wabykv4`%1r+j1V)tO!mCuE?iWEmptQ6i4+4Lkt>j$$2=0IyxSfS(tQdcQ5P_9voP zXRR0#XYh26zIe19g`fld?OfS(aMxNxar0UxS2Fa`^Tbpe*(l+R%AZI_zda=fMVu%e z&0;{zec4nTTo29Ct8saBbTTdPH=t2Ks4vObNw4C~9}*d|at!dzB+d zALN0vEQ+7v6;r-5=nQRyaehZ09 z<rauodHo$G{)zMhNjE;M&NeAz6yU?J@?zrTpv1!XRZJ#B zD(V!*YrRc)QYc52zM>6Z^jNd_3I(l+jv)moVrGG0*|+Ug#|?e)l%MCPX=?uzv{dT zq~lPwJ>@hzDfnQP9bp8zIEqM#taA-D%F9&cf`ln)sUS#}PXjN=&yC|uyQ=l%+>c*;3Y_Cg_pNQ;lrJlve^MkN-2z3t0uyaVsaYp?H?3Vh4-Gk2HW8W8EaSaTP-HKzh#+8a+wUXogUjnqYD<-Z_fN z8pk1>8$UeByhv|@6h);h?M<$aYk7ErGhie*JfwVPj30wn!0YE0Pj4~kvRef!Z@_{` zAR}d@GG_su0zE4UdMoALW61mO0ccbT>VKI4T!YGhB^BjdMz9prBgBx#kUYB8aMSf` zC-H*v+&E${yt}&ln~_8PEJptuLpQ&^WYQTp(aqcMs1le#CAbWm%#4v3aUEb0n$rp`=0E}C7~MKU)|qE9n{*xFY!M0uc}m|p282D zf=7|pnZGCrB0lpjk}gF?kIZ^C&q$9*t}-fb`wGJ_up1B;otdsMf0-Z#L;OR`w%EH* zl1lp4o%?)%6vX0F5Dv{6#P5@)fBfhdD4`Yt6Mn8)W>HLn9bTu88CH@}@l(v$U z;^u1${b}x12E5lDC%R(wBgS0%eEh1PvRVZTD1ZIuyi4ENG`rsuec41`bAMq&6&xcO z{;XT2Ysp-<9_d(-S6aDq9Fxfh@Z(lNaTc<2QUeSBe&N4W-fsFyZmq3@G+uTd!qlY* ztfG=igFEO!df6xgyBFu$W=u7I9m0qOniP)gx{O5qeg!2J(uf5o^{)yrx6nwwj7lH?4CM*w1A zuV-0t-udY*{d6(N>ph38_?7$Bo;M7FFX}y3`|jkPUjSI>u=mV|a43Qf^eg6)><>AC zuxIanv_Eh3d!885Wu`R4irCPsB~m6G`>TvBQB3?`hOkWZKr($P>$Bqe&wj6;#py{a z?UsL986xq5RdAYBL-TDy8C9BVesSMJv_DN}#+(Y?kf06^;tYRoyB}Cipm?nuyO)hx ztN_7nLK)=vU`@A%+I`tI^Yc67NzSuywtgR&&J!U_rXXksgUokUBk=VEapB)S?#5)h ziH6Ifu419-i3e#Rlp>k`rF_uQt<>sI^amelat$e_ke|MB<<$D;@EH6g*ZuR|lXKk# zD1;HH;S0`eMH%VNH2geoDY8mD9WP6?y$&wTD?L?0WmUGtQ=wgrdSUg|M(Dr%W1ggN z#)T~M*D#nshvJ_@xVNUoZyJ^efKB;eCBYd4-x`-LZmrKT@gSIPu*z)niH|25l~);& z_WKMILI`w$Do$ki;M7NfxZsN+X!VW+>nun7pa9tu>nl`GZ!#PoO%)Um1l?{h8NIKx z^_e2_U@%|oNxi6-xkeO^t(DD=cC-dE$20}cQKIs2%C=5`x%&U>b zcg3fchRQsprr>mK4Qn|9$rb7XY>kg|7BkpaAL~I&u$&$>G(Y(Fe=?`Q??dl1f95qG zX0%D>_sBhkNi}c(0=B5^m7l3eebXfn#6~A(VXW;3cwL#JKxC5nr z+>4cy_}ycvsKEZ?B$X{l_R z&>sBK(6Wy}Psiq$;W25!*@_2IW|y86A;nJOkLI@#3z~zJTn6Ej_||)BJA%QGtm~;$ zsS5LV_}NZ5dtW+cScqo@B^_uwJw)PocCkl4XF$oVF34M}H$BlY_j9;xuDA91jA|cF zOeXcFZy4YsDIb@h{7Vxq7Eh*_EQULu&AOc_s}5JtZ5*)yV=$D)fT(InFXwyf&akZ8 z_KxC<39~n_cALTWn1`eHr?%T0i}$UCK}F=zZx}<5>V^>!N3jnZC!Y!AwOr3RzrmHOyLYz$6LctJRhvR$O|Hoz0#2Y^#X&f?v5wfc-=0QFq3Z# zRTHLCcpI{^7UPziT612IN^|Z{+@xn#qMgdTo(bCkdLfxFkEo7AVwUT?dm@Mz*KS8Q^IFaTL5cxjsMj* z^uW`vodG|7;R);@e@qF3yP7X;N$71zH_|bYFj?Vieu7f*%_8{8n!l1ZAc6+eS*a$! zA2~+y`Uooic7@hETg}U9p@sXQ=jVJMeP$I$kc@z7R&E>l=?FaZii_5mLv^Td_}|r| z??`vJ^fkj^QJr%cdgnNv6wO6RfiVG4LHG-jMsPuKVc!?g<{aE${_vml{5UOMg`3cC zyvUXat7rdb$0@<7RmVkFo3NV9OijaS4=tTuUBB#cSpjM-69A_fNBNKgV#oX@FI=`w z^NG13)}sNDfP4LwI>Ug0A|Sv5-4^~w$*XMEiditG?XzGH-?(6QYmFfQZgi{>Tj&cvegt$>Nz{*k!%a=|DHL9qEq~ zj~_iqU`O--WSv3k2TBOOl2wRyVoM8%VC0y}51r-hj!DPfk7HNI!@x-Dm8KNur8^M} zF^_g?E(jOi+w_5WWUKYVkS*6|?#yaJ5$1rn*}V3fQn*o<2eGc>p;^rxb{M%(U^(+lZrRI=*5vVEeo@Vlw zlL)s35OfL9;i}PFkoJ50{k*|}%>>G?ePgZ6SRp}1gc}4b$g5CS^qL($xh>r;J{a^? zjdEd~w%h*pC((cRQ=IeX$9L!4IpkJgmnly@w{T9J5Sb@MudiBhgupz7a>K-Kd0_WTTdl z?0t1i9KU-U*d++3`HN3r5cXv#c$F$X71F&CpcRka)o)9D3h@>7x_F}06uL^iM6#9| zHGxl3_T;as1=noHrS1voUy;sl;KKX@H4}1MDbAMN=#1ZXh}yT2$PFu0O{ZnN(yDzX z9v0+Ab^jRJ>(oRr&r8pYK)Mu$jC!BRFPgqfQ$jtEKPNb&o!-(Ilg|L8k>jEbclsDu z54-H@sN*hbzPJ7;0;$LIMF5+zOHZFo_!NJ1RT&#_RoPEv`*ZMp46-NbUY`Qxw^3QY zsxHU{2rx?BSk-%h=6iMHrO#NS5%OsH@4SQ|9G4%$McA zxA^D}q_*A&U~`TeVUF%^NE3Eogwlu}VZ`>W`9NGDr_0ux6*5=goVSWQ)WtDa6(B;p z;bxT2Qz6pxa9WOmFnW9tU5cS8*J~DTlXsk$U!X^a2=7_OWZU*Mz22Ct_+0#;yZ3ml zc^!?TE<8?-ZZvk3TL$q8Iqe17fQz8NpP(iM_2IjfFZu09i$`<4!xmM1h6YirxEJlJ zh8Qd(DBtHWOsVn-RK~SyyP-pt%XzRoAsx$R4Xi{pZlZVCPMzNtfe)ePDm@r>*)(GX z!vC7oeyq}@sBaxGVi!FWDZPS|MEgKq~4n_C0Z?ZDR%SoK7o1S z*ATOsRh>hZX216vCe8T-D9Utz2?4hFJQvemQhynIv3(xl)Rt>=S!dyV8-j@!e zFPdh}^kjs0Dl6Uzw3Ab}E{di)JX3?Ti6=B>_BfQmkN3c{CJd5bLZ{3zM_bvz)>}Nqg~jHkdYOS^G~lF`kjyxO zZUZzAO!OiTq+8Inzl;yR(x^VfK@cR#!*BDkhpjQJcvampgX7&yJ%KCIaf;Zmb*Ho> zL+I+MbW}efoW7f{I1AFrcxHtag&@h);E1{p>eO#6E^`Fc^&;^ERY{_oq(1%l8LwSQ zC?etJs*M8oUy-;&uHdLOZy5{}myiJ%7Y0jf@`Mu*1*U^o_-cZExM*lC1pLDpnCaJH zuH5{8P)h>@3IG5A2mk;8ApmoaWAh0=004tO000yK003}sbT4gXWNBe9X>DO=Wil>s zZf9k<1yGw^)GdrV1Sw7eg%*lC6bKH5Qk>%M4#k68Db_+;yf`gZ+%32SEAH+t!6Deq z`+f7@xif!eGILIzZD&9G?7dc^)m0S;@o4Z+P*4cpE6Qo2prAsL>oOdy|5i$fZsZ2l zLsLNprF?{LAGyJ>l~$2PL8*$ze=x^H?r}dU>U*G|yqx~;i;9s^n~8!VN%dY%`Xj{T zI5RSPsb~In^?5JFOf>g(=;!Zfe||vUue_L8_CE#km|1oR^$B6!gz*aX5)zcpHLkli zwB8(e@3zzg`Pul?{vQ8rZ13u$))2IFaToN*chIi3re;)$=HG)_RjPlT-f(ukQo!s` zr0AER-Agl6Rrv1`-HRBYQTGXrz!R?n2=ARcC2RlNl1rGQW6D0M7Wz>ZOay?-JUsnIs7x>{{!gTv;F#}_>XRU1dBiu~g zhHheeOY5_rb}Tb98|fD%RzJc9GFb1>dyQh8JF&Vyg=G~>PSN#nzI#b_NQS>zpT#OE z(2ugZlmu_C%%th+8iEXnF3`r?DXBGG8#7~{)tq@#d_~vhe&9*Um z!4*+Z^7k&OgY~^+Vo8Rq?Gyfj|IVv9GZ>tHvnx=0+N5SNpkSpM73jT*Kw;6m!eBZb zRnJSesR|tZb4q*3sJE_~bAUS-f__cDEy`kXh~XFtG|R~)t3~$?2`$KF!7;<8R-7X1 zIn7E7U2bw`dk(LY60B6~FP@VSL1FKYUh-wZ##0{of$zrlB>~;M>bu7K!!15{X;lp8 zrn!-nx<~jgHzlW=Ls9V%@*M#J7Rn$WJ}o#IaRVb1g+wE($+KswT$`#rxjVA5%=L*o zEwq&K2mXhEHt7qJhUnJ(?A8bJ#pEq%6(YOqwAAF3@k}Et zkNs-w7nOt+z>z_x#$LI18rmg1O(?%EoYr0+8v6Q4$ssP#e_0A)1! z$K9EwYqZZZM@`(d)o;kWHiA|>3=+(RHgx)K>pn)<7`AbDZL9X251`(q>MriW!!mFX zbr@0uHwg;$Rh&yoyL@p*3>~f~@G=fS+e3SdD)D?w30=)XC^`S`9QQNbybHBLv|^30Sk5rs*@Ir53MJo zd#-Bk!9euZV}5#7D$#d*Z?t5!atgh5bd_$^a?9K0hAMP|SA=3BC}JH_6DusUdyD>5 zbD_~slRx`D92tW;h*U4*lLbH_z>Gb5PDe0G35tefGHtw=nP`a>caWPl`0co)gHV>^ z)Z?)FP|6M2{j43ISQIu3Lg8QEkda7V{rm@o)NucaO%A~Q67#ID=78_0V}yGX^-?)a zu20{aaUeI%7Q?1{iM3#u4rqw2&VMC!0!PqI-FmI}nREZ6NJ{h;I;FY@3%%DNn>kj) ztQFJA%=UJm>dS-it^G-VFHx>t36W=C6-vD)K)6YdGRq(YXf47#gw6F^wB(~R*yYtw z&*M>=nx|h0yxOtTNkKQL85!k)*LEPu_inhgG8dx%iK8Ouy^7a?P~|1JsIk*1tpTV$ zz={V}N;enN+kX5@)QzAeDgNH)h%K^gE*CSUj{x~ z!LXasqs+CLj*LT6gQ) zL!w!(AoH4gHpvW6&z_9aF@wr9YWnYGIk5V+e?}JO4mwfO@J);8A^SjbDoHPXh{k@5r(N3;_Ml>E_Mc-}G@vUOGK*RN5SY>x z4M<#UZJ2Abedt#5J9YoJYXe7PN59_g3%@b{X}HU8sF+u7;v@_r*1Ps8L(w?Veb$cl zZHXdx)MfB36pubQ($w9ImU?NiB7CF2j2du}HNEfn5@3T4G)v)JNv_w$)6GL^9 zwgOZcL;8+x9)hByFB9)U>v|dfrI-pwd<;@yUNJ8c8fU)x@^6k1=&4f>? z5fj$Ta&+I=WgmJaI@x0+jVrP2H{mGz_nWA5ozYLy$aQWXZBK3K8A>Ud+@qcYwC8Dh zm}+ufTH=52lkLRjFW!QNaEMvnGqPfA-a`5C8dKG3nk3|D#rnw^4hn5Hn^?eqkHf=V zHS7b-5$U5!iyqji-)zqT0xb^zNx;tODNY!6dLNIrEn|YmFO&jK-Bse&X@q(vw%~BS z_jbniI;{Fci%PzJf&6ycRYzvUXN^@H2^XorFLsVtHtC|qe%xKks~iTt9AbL0zHH#^ z0>P#?Yf1Juw}}gR$nI4 zIbCQ}aB-hpfYTj#Q#48Gb!=Y0I7ZHyJa?3x(#;b7PvRU&ot_8THT`|mqQ(-Rs{RbU z_HwT}JLioj4QLSvN|>kcNFryL;?9QzNGO0Ni`~VhoS+%-a-a|CMZhW-wA3N0z9~v! z*H%Y0z;-{MNT2BA1?5F$#25a_ZP^qr(Yf=!P4{v#YYR|~%8{=zONsoyKC&CsTMBc( z7WlbCr?a&rFZVT?2G>H`Ko!_2e8_}ndLRU9usQH4(`j+6Z}SD8#y`~a4I#HZ@ys&q zC8o$1khE#yKpv4*Km}XbOA_DUzp5iQz9vh;LyO~XrI%oRmfiFT$dcZ$rF+Y#XNT1J zSiZK?%)8q9>|=2L(^ksL{Kdb!2xe@nU=hG6;W-p%k1>5W*Bx0v!^uO|Ey+SABmVD@ z)3a&fPo2)%_6%B0ignTh@%2cK|2e?(d^kcj#x-agvoA*6#N=R)NTu&N$vxBY68%?P zJJ5Otg3>^KRn56Yy8=nWk4(#bLv~SJ&d_?yc3@>h1{#U3|19nxWMVhXW7B`J;+s$T z9+E}bb0M{tIq}!Cnl5~ir?@?6aM=` zS_!#?GtPGZ&IH>oCXVcds;F)GOz5i5;g|aCIUd>l)*rgf7MaRA9PJ*#t(#OsE$>!_ z&d&rb>)h9z^%cLL;u)DOo_vlR2#d|;-cB${j>NcovM4@7`|ymsItfbLL*|36=x_W2nR+&e%?ba#jxyy`LC}${gx+v{Rf9q$=gmK0 zK#Fs3UpQx^Fev4M6DGMUV%%m@dIcr9`FK4PmuHeV)bC9dY8}jN(S~yBn}r*1e;Vcy z#{H}@aAcx$_vuex_nK%MW;3I%r{4-BS69ig9E&26Ss?^taV@sp(y-+ljI801JDEo9 zvzS4WVMGc$`nOsC-#J#2fgj$xnEn}XeT_aiji1eaGJaFitld0-!eH*(HafJYdYed_ zHBslV`mbc+Gx{_QcU2JM;(5UOo=|-RxTm?T+)&E>d9Cy&`Mnw`Dsv_n`MTJM`Rexz4HW zW=gfwR?w{bu;iXQm?gdX^lJff6{7vK!_8q zBGT@f3IA<1vR_tz201{bl_v`;{-%6AoD!Z3FqFfDjUa5Xj||@vs}^vIntZzYjN$E$ zvHo!(57}@BNIq-Xr^jJ)6I!q+6081k76lRCtxZ#T|HN1qSon*Scu)Fy(yk>A+l)nt zST)ZcSb^di!f>ubEC~m-ZmGWgRp1FWd0XH}p4r{D$e#5^`fccp4XDU?xm0GZky^?5{o#5jM#K8RbiM(e%D>bwx%i`{~ zO`C&zQIPDW-@m0+l=QQ#ogys3dSj{;MY(d&%ZPa))}7%_-oDyx4!{xEY34{-<;1eK z)qEA{EnZ>D8Y8_h&4olp?U5$$zo_c|tI)UV z&P-1BuZhv~mi0tJ!QG(_&9_U)8NTcHIEQ_8$5#L=$|c*?OuEVg!x5`qqWZ3E^j_^v zdz`KO$IGh9=4ACIx}c$iX;1F1kSQ^l|M~8|4gbI{Kx%7>+4h%Pzf=&q0t_>S=5jZav3gv_0}cTNl{X2`Jpxr=gl z87(g0-x~sQdlXkgEq5kJ{x_6rN`PZ^>F!t3)w-S+Ct7N-?m@E7fS&5N;dz?_{SnJ6z`(v%|Uk+75mSdxu0+Zk_Xr#ieDw zsfaMno*F+c0;ELmUCO}Fr%q#4UBB$1TaD1m9l!Nm4+@!%gOLn%^3;%TXGl+<#iXT{ ztFLaX(l{-Vu?btsiKO`2rYnfg{(*V6-K{kkw51YJAC+|tF+}N1evhMEH8$Xk51;>( zsbCl9TRlAZ8H*dc7&t|l!(}1N0y>CS=v$vqxvXjf| zY8<5jLid+%hMfpuOCK3N`Suz5p^6t{p31{!gE}pB<*_Ray~mPFj@?cV7VBi3L(VqX z8}4hf_iQs5RiA3om+#&D&J!#J7UG2qIIv0=PE^KW!)17>zu(S1(8O(m9z$%h&_m^8h5(ZO*{IxRInqFyT(M)taD$;i-7$br&Zxcn5f9AEkQ-8*uSg& z_~fd`4(P64*5O1pRDUqOF>+bN=01#`Lzm$GXsiunkwzrYzY$)_x7GU&mBA>TJ~Jb{F&vnneD*f2__?H^?_wl(ec0-&B7VY^ zNr2OS=Bg9-riJ=#h0*ETk?Z@#GlYv5>i}my{h#ti1y;Heupx$=e?7PS8!;f@XORbu z$|+>uBk~d(=qBvILTaE-<4v(FKszm*FgKENc~vI;@v$1QoA|}ems#TP(q-___hY$@ zL*}C32&2Ke3&f8LDfLIgsj{cuxQgta^JuS40pOqXCw%2>NW-5L){F=Bq2kb` zKPd)MSB@aS?mK$B?~y%QYtIanJ#FTkoyC2-A8Q#ATFPzY>fI|!9`DyWRPo##u?HSQ zUMe>zzf!vqV=53uw9cidoV@?)Rn)tQi8vUmqU)281-}XJFChH0t$#i>bI2N%7QuDg-c$>SN=V$M)GL?0b27Wlw^3 zvG~V4;?G+9bcki~@V3qT3c67X76oF}d`?kNNG6^1+obD#$nTTWPSx)W8H$UZP#LcG zfcj`@*+ow}H++PM?b={haWB zVNIAQNSXk}dHxKn)u!enjH@u246OK$v)rYc%#a~t=#4b4ANC1P6PhI=iy-CSS0@`9bTHYHOcFz9rfuI^2wL5NZn+E zFJAE5AWzr_rI+br=Vcx0!eO6K2u~qZ;;uBF|Ban(`M?_7R>8y-Jq9|3b}^HHQTMV+ z842exkIYoH07U&r!8}|PnbbWW7=A@|Cm!3Yud}Wjp;l>jy2G!NdY-&uTvuv-tvqj> zCLL`viMIHyTazNCgM02hlSmh<<`_}{J=h61D?Y z+b=PvW{4t;5JKD)Byv8`qR@S>uWjuXrY17KL_y>5I2L+_rvbwPp=xN63DclE=qhiK za(~Nv9p;2#(bR_7F5~<*&l!Fd%t!47&NByA==Ia!0V>k<#wlwSBxY?Z=q9Zg%YWSL z4VoA64bQOUUQN;nofg>IY;!rk1WG%)LS@;-o08p+PL_xoqVqveh25V(W zIg6C9%MwWBwf$;8V$qE9Ri`JKIa?y5mv`Q5G3B3gH|8bNviNIKi>+zuJU+h*wIvh^ z33#f?0c zX(gt5aKuYXGFxCX>i4Uochqr|^gx>+-Ak9YqB*`j%T&=z{GQ^5pjHTRx;A&Ztk0LZzjI-enAxxwxQ;UQ!kkUUjOvVGzP_`SBjKSUlgIqA@kihQA^(9xy%9x&4EX z|1aW~@uqa-&bbU@&IN8o*;2@d?4|sHCIaGP>%a5nqE(yn!Xq>D=$%R3>h13)E8`;f zk#Ak6N<-{d(Fb5jz`C4oO?1$$pKSL2nR{mE> zyc}vJuC6kx+~apeS!#4f#N`cZ&_TXCah>q4&2MgMuI*ASiuG&+qww;@|>=HZ;Fkc2Qx6tL4;xtsJMi!ey)<%za?Rt5G^Zh8B}qZSrVAYHVNc_YHR)GAoB-g#U>w%zg13GJl9|iBg3bc=*ijb{v=1;0BF18&V-WN zc{!uF&x@S;P7(1OLPB2$Pb9r$B;vz1vIJR3+%?|yli!)Yl_X+L;H`;vGR&Dwd+7s4 zsUhP<(giB}t#WQu&CT*D#2B6>O)YIzOIl> zH}4@tYHfN#@x_n+8BNdFW0QgbIr_Uf6oM*rV=ld4|HRzPGHtjQ+|rZJ8ZJS1z#Ge=6>0eUqZ=~OR_*Z@`nq~A!kXB?MTGiNAOW?VzfqdD$hjrL+}DCfcSbw7%=3$$9=zV!Jaz=Js7(3l3A*Tz#b`j!R&h``5=3D%gz*NsO=lq_2N)@^2|L zwB=Vv5){%~4>eekkJ43gi8f?l;(z9IN?Vpo_v zdSqx^y)2Zye=BmiMW&=ybv}dp$8q<%CNN6r`%lB2ngELnr({a!muCTLFN>e_J{EYt z@KWaX1ivW}n<<7&(|bU6e=J5xfI9)0TmID~`8R&nctnb!=OQ&1{qF>qr6v=RJUcd? z6+_OD|L*VU^4a8d4YEfo2_OvwY z5HG1ub5N98nQO4;(ZE;nX@2zMbS!dcr9Do+2xRD8p^iV0{a`wFZJkMGrvxJ_e4hY# zv+#@LzN5>60Zotk>U)#>pYoP;i*O3HWAnQeN0DPU?02VEXf-X~F4?L?103;Q;M@DX z>I;v(&KG56dXa@|Q5lr+?^!gNR3gn8_BOCzx98u6S{^0gLz*NKKW@X|W zU8P&h#A?#Xctu$4xl^~LWPsI%?Q~xsmHoF#<+Rr(69%?s|8sdvjvvw;N}2)SfQNrknu#4p9?dQ{_Bl?vOw- z0kNaCjEX+=9J&zQ?^+$JMJGUe)~Lhl_>sTqs~yY9kgqI^ebsK=*Uhxl<<&nd0d zTu>SKRn=zamBcHJ(HqpN&AX41`hX}tMH}EK|CyWfYP3M><^VrEdTJ&?!xi_FIC4_n zDKA|^(=E_VeFDpRX1{7QTY@r;UR8Ou{gi}Czc0-$z4TgDN77n*QAOc!%A}qz_D4i? zugb&YW_^Blct()X^B7w=<}+O#{evuG+YlZg#2=Def;hQ1X}F`+S~`gzf!83~c5@sMP=_VK8#A?c*Z z@V!znu2<14{cHuDZZjj-Yo3ZrO4Y6A!&>)lEx)JzY-7J%@{l;63fZRp_M8Fv zF#Mq612OHE34%`{!6Tzdd+E@mk5lePIBCPJj#+HKZ4sb z13|i@^i%V0)z~vdl6WcPH**sY0vkAQP)6!Ld2GE?kZ3`dEZjP6+qP}nwr$%yZQHhO z+vaK8w)^&cG4cO*;?BdahuZt4_F9!uQEO#p3$YTc2xyHbFQx-#wyBXap=^@(3^i*hEA;_0QL7A#F!LnT72)Ks4c|GH(=&^FJd0J$1NW13_fAo#PAB*^MkmyA*;mUxN7ILbe;P2B~5c_fdpshn(~oRRk8)U*$D) zlVkD`B0Zt=sT75=|M>j<(iamX+oLbsgKO+@)XY89KSk;kZoek(IerypjkKd=lQ<0A zN-|(^|JQPl&Jsf>TejR(l4dUI2ul$4QG>_{h6ZDAu z{?pkf?m<4%OEz+~pTX&*h-Zom{Hf2L02sqKD?*9rMPx%-^+f`aHRvmMnT=E$`Sqh$ zwQAF$KF1_=Arh7WFx@mJ!3X@Le~FA1-1Z%7sn;C zm}eh!9ly>c^!vsKRc>zcCYDY2Tkw;}M&f!vb_K!?vycReResKh9EDtqH@ApYAdkWr zMy9u`!ii^^A#@#wh**T;Gq}kn~44M zvo{5ye?0L28VJ#>N%GaoccKcwi_w+lD098ey2A{`-MKN0A_&SxEIW?5wRHH4RHmD+ zT8x3f-*lO1ZG6L=qwEM&Pa8#v@+teFMt*ye%c~LxH-*6t`q$v_O4avD0HjIsO~~n( z^S?E^_);#N5O#5G&{2V4$7x&{MhymVD}at(4B43KdM_(~78r24%H6%jJfUQi*?k2s z^WQ30mer<>*zZMRwe@ZxH!|OuNmJiuu&Bv5!3zB7bb9Y@ILtuJUidVi%JnYSY&DVG zktIl*ml%@n(@4RiGRj89!&{SM3v5N5SUps2o_~M4`GgElCTwJzP3x?|os^K&R|dTE z<6Tc|>_)<98DB0aFSQcD3|~u(zv68?%&{0G7^M?Lgblg}UL-S*-%ZMeYBJ$MD@+O7 zkX-uP-ZAO+b3m-QQ2EJk=eG659cqNq@F^;mAZ7bUQdigIpX}#&%0A_mjGiO4tX>|B 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 G6zYGDLQc&9 From 9d4b3f05af5acfacd36a8a04d0628ac0c87db952 Mon Sep 17 00:00:00 2001 From: Geert Jan Bex Date: Wed, 2 Sep 2026 16:10:13 +0200 Subject: [PATCH 26/33] Add Pytorch DDP example --- source-code/pytorch/README.md | 2 + source-code/pytorch/ddp/README.md | 55 ++++ source-code/pytorch/ddp/ddp_resnet50.py | 387 ++++++++++++++++++++++++ 3 files changed, 444 insertions(+) create mode 100644 source-code/pytorch/ddp/README.md create mode 100644 source-code/pytorch/ddp/ddp_resnet50.py diff --git a/source-code/pytorch/README.md b/source-code/pytorch/README.md index 057b42e..ce15e4e 100644 --- a/source-code/pytorch/README.md +++ b/source-code/pytorch/README.md @@ -27,3 +27,5 @@ natural language processing, computer vision, and reinforcement learning. tensors. It covers the basics of tensor operations, including creation, indexing, slicing, and mathematical operations. This notebook serves as a foundation for understanding how to work with data in PyTorch. +1. `ddp`: directory containing code to illustrate the use of Distributed Data + Parallel (DDP) in PyTorch. diff --git a/source-code/pytorch/ddp/README.md b/source-code/pytorch/ddp/README.md new file mode 100644 index 0000000..a68cc4f --- /dev/null +++ b/source-code/pytorch/ddp/README.md @@ -0,0 +1,55 @@ +# PyTorch DistributedDataParallel benchmark + +[`ddp_resnet50.py`](ddp_resnet50.py) measures the training throughput of a +randomly initialized ResNet-50 using native PyTorch +`DistributedDataParallel` (DDP). It creates synthetic ImageNet-shaped inputs +directly on each GPU, so no model weights or dataset are downloaded. + +The example is intended to compare one and multiple GPUs. It measures model +computation and gradient communication, not data-loading performance or model +accuracy. + +## Core code map + +The line numbers below refer to the current version of +[`ddp_resnet50.py`](ddp_resnet50.py). Function names are the more durable +reference if the file changes later. + +| Area | Function and line | What to inspect | +|---|---|---| +| Distributed setup | [`initialize_distributed()` — line 125](ddp_resnet50.py#L125) | Reads the environment created by `torchrun`, selects one GPU per process, and initializes the NCCL process group. | +| Batch interpretation | [`resolve_batch_sizes()` — line 156](ddp_resnet50.py#L156) | Distinguishes a fixed per-device batch from a fixed global batch. | +| Precision setup | [`resolve_precision()` — line 176](ddp_resnet50.py#L176) | Selects FP32, BF16, or FP16 consistently across all ranks. | +| Synthetic input | [`make_batch()` — line 202](ddp_resnet50.py#L202) | Creates a distinct GPU-resident image batch and labels for each rank. | +| One training cycle | [`training_step()` — line 213](ddp_resnet50.py#L213) | Runs zeroing, forward propagation, loss calculation, backward propagation, DDP gradient synchronization, and the optimizer update. | +| Model creation and DDP wrapper | [`run()` — line 258](ddp_resnet50.py#L258) | Creates ResNet-50 at line 271, wraps it in DDP at line 272, and creates the optimizer and gradient scaler at lines 278–279. | +| Warm-up and measured cycles | [`run()` — line 258](ddp_resnet50.py#L258) | Executes warm-up steps at lines 283–284 and the timed training loop at lines 286–305. | + +The `run()` function is the best starting point for reading the program because +it shows how the setup, input, model, and training-cycle functions fit together. + +## Run inside a Slurm allocation + +Use `torchrun` for both the one-GPU baseline and multi-GPU measurements so that +all runs follow the same DDP code path. For example, on a node assigned four +GPUs: + +```bash +torchrun --standalone --nproc-per-node=4 ddp_resnet50.py \ + --batch-size-per-device 32 \ + --output result-4gpu.json +``` + +For weak scaling, keep `--batch-size-per-device` fixed while changing the GPU +count. For strong scaling, keep the global batch fixed: + +```bash +torchrun --standalone --nproc-per-node=4 ddp_resnet50.py \ + --global-batch-size 128 \ + --output result-global128-4gpu.json +``` + +The JSON output records throughput, time per optimizer step, peak PyTorch CUDA +memory, the resolved precision, software versions, hardware information, and a +check that model parameters remained synchronized. PyTorch's memory counters do +not include every allocation made directly by CUDA libraries such as NCCL. diff --git a/source-code/pytorch/ddp/ddp_resnet50.py b/source-code/pytorch/ddp/ddp_resnet50.py new file mode 100644 index 0000000..6f41294 --- /dev/null +++ b/source-code/pytorch/ddp/ddp_resnet50.py @@ -0,0 +1,387 @@ +#!/usr/bin/env python3 +"""Benchmark ResNet-50 training with native PyTorch DDP. + +Synthetic ImageNet-shaped data is created directly on each GPU, so this +measures model computation and DDP communication rather than data loading or +model accuracy. Use ``torchrun`` even for one GPU so every measurement follows +the same code path. + +Fixed batch per GPU (weak scaling):: + + torchrun --standalone --nproc-per-node=1 ddp_resnet50.py \ + --batch-size-per-device 32 --output result-1gpu.json + torchrun --standalone --nproc-per-node=4 ddp_resnet50.py \ + --batch-size-per-device 32 --output result-4gpu.json + +Fixed global batch (strong scaling):: + + torchrun --standalone --nproc-per-node=4 ddp_resnet50.py \ + --global-batch-size 128 --output result-4gpu.json + +Within a single-node Slurm allocation, set ``--nproc-per-node`` to the number +of GPUs assigned to the job. Multi-node rendezvous settings belong in the +Slurm submission script. The memory figures reported here cover PyTorch's +CUDA allocator; NCCL may allocate additional device memory outside it. +""" + +from __future__ import annotations + +import argparse +import json +import math +import os +import platform +import socket +import sys +import time +from datetime import timedelta +from pathlib import Path + +import torch +import torch.distributed as dist +import torchvision +from torch import Tensor, nn +from torch.nn.parallel import DistributedDataParallel as DDP +from torchvision.models import resnet50 + +GIBIBYTE = 2**30 + + +def positive_integer(value: str) -> int: + """Parse a positive command-line integer.""" + + number = int(value) + if number <= 0: + raise argparse.ArgumentTypeError("must be a positive integer") + return number + + +def parse_arguments() -> argparse.Namespace: + """Parse arguments and reject unsafe output behavior before GPU startup.""" + + parser = argparse.ArgumentParser( + description="Benchmark synthetic ResNet-50 training with PyTorch DDP.", + formatter_class=argparse.ArgumentDefaultsHelpFormatter, + ) + batches = parser.add_mutually_exclusive_group() + batches.add_argument( + "--batch-size-per-device", + type=positive_integer, + default=32, + help="samples per GPU; keeping this fixed is a weak-scaling experiment", + ) + batches.add_argument( + "--global-batch-size", + type=positive_integer, + help="total samples across GPUs; must be divisible by WORLD_SIZE", + ) + parser.add_argument( + "--warmup-steps", + type=positive_integer, + default=10, + help="untimed steps used to initialize kernels and DDP buckets", + ) + parser.add_argument( + "--steps", type=positive_integer, default=50, help="timed optimizer steps" + ) + parser.add_argument( + "--precision", + choices=("auto", "fp32", "bf16", "fp16"), + default="auto", + help="auto uses BF16 when every GPU supports it, otherwise FP16", + ) + parser.add_argument("--seed", type=int, default=1234) + parser.add_argument( + "--output", type=Path, help="optional JSON result path written by rank zero" + ) + parser.add_argument( + "--overwrite-output", + action="store_true", + help="allow replacement of an existing output file", + ) + # Some torchrun versions pass this option; device selection uses LOCAL_RANK. + parser.add_argument( + "--local-rank", "--local_rank", type=int, help=argparse.SUPPRESS + ) + arguments = parser.parse_args() + + if arguments.seed < 0: + parser.error("--seed must be non-negative") + if arguments.output is None and arguments.overwrite_output: + parser.error("--overwrite-output requires --output") + if arguments.output is not None: + if arguments.output.is_dir(): + parser.error(f"output path is a directory: {arguments.output}") + if arguments.output.exists() and not arguments.overwrite_output: + parser.error( + f"output already exists: {arguments.output}; " + "use --overwrite-output to replace it" + ) + if not arguments.output.parent.exists(): + parser.error(f"output directory does not exist: {arguments.output.parent}") + return arguments + + +def initialize_distributed() -> tuple[int, int, int, torch.device]: + """Initialize NCCL and bind this process to one visible GPU.""" + + required = ("LOCAL_RANK", "RANK", "WORLD_SIZE", "MASTER_ADDR", "MASTER_PORT") + missing = [name for name in required if name not in os.environ] + if missing: + raise RuntimeError( + f"missing torchrun variables {', '.join(missing)}; launch with, for " + "example, 'torchrun --standalone --nproc-per-node=1 ddp_resnet50.py'" + ) + if not torch.cuda.is_available(): + raise RuntimeError("CUDA is unavailable; this benchmark requires GPUs") + + local_rank = int(os.environ["LOCAL_RANK"]) + rank = int(os.environ["RANK"]) + world_size = int(os.environ["WORLD_SIZE"]) + visible_devices = torch.cuda.device_count() + if not 0 <= local_rank < visible_devices: + raise RuntimeError( + f"LOCAL_RANK={local_rank}, but this process sees " + f"{visible_devices} CUDA device(s)" + ) + + torch.cuda.set_device(local_rank) + device = torch.device("cuda", local_rank) + dist.init_process_group( + backend="nccl", init_method="env://", timeout=timedelta(minutes=5) + ) + return local_rank, rank, world_size, device + + +def resolve_batch_sizes( + arguments: argparse.Namespace, world_size: int +) -> tuple[int, int, str]: + """Resolve the local and global batches once WORLD_SIZE is known.""" + + if arguments.global_batch_size is None: + per_device = arguments.batch_size_per_device + return per_device, per_device * world_size, "fixed_per_device" + if arguments.global_batch_size % world_size != 0: + raise ValueError( + f"--global-batch-size={arguments.global_batch_size} is not divisible " + f"by WORLD_SIZE={world_size}" + ) + return ( + arguments.global_batch_size // world_size, + arguments.global_batch_size, + "fixed_global", + ) + + +def resolve_precision( + requested: str, device: torch.device +) -> tuple[str, torch.dtype | None, bool]: + """Choose one precision supported by every participating GPU.""" + + bf16_supported = torch.tensor( + int(torch.cuda.is_bf16_supported()), dtype=torch.int32, device=device + ) + dist.all_reduce(bf16_supported, op=dist.ReduceOp.MIN) + all_support_bf16 = bool(bf16_supported.item()) + + if requested == "fp32": + return "fp32", None, False + if requested == "bf16": + if not all_support_bf16: + raise ValueError( + "BF16 was requested, but at least one GPU does not support it" + ) + return "bf16", torch.bfloat16, False + if requested == "fp16": + return "fp16", torch.float16, True + if all_support_bf16: + return "bf16", torch.bfloat16, False + return "fp16", torch.float16, True + + +def make_batch( + batch_size: int, rank: int, seed: int, device: torch.device +) -> tuple[Tensor, Tensor]: + """Create one rank-specific synthetic batch outside the timed region.""" + + generator = torch.Generator(device=device).manual_seed(seed + rank) + images = torch.randn(batch_size, 3, 224, 224, generator=generator, device=device) + targets = torch.randint(0, 1000, (batch_size,), generator=generator, device=device) + return images, targets + + +def training_step( + model: DDP, + images: Tensor, + targets: Tensor, + optimizer: torch.optim.Optimizer, + scaler: torch.amp.GradScaler, + autocast_dtype: torch.dtype | None, +) -> Tensor: + """Run forward, backward, gradient synchronization, and optimizer update.""" + + optimizer.zero_grad(set_to_none=True) + with torch.autocast( + device_type="cuda", + dtype=autocast_dtype, + enabled=autocast_dtype is not None, + ): + loss = nn.functional.cross_entropy(model(images), targets) + + if scaler.is_enabled(): + scaler.scale(loss).backward() + scaler.step(optimizer) + scaler.update() + else: + loss.backward() + optimizer.step() + return loss.detach() + + +def parameter_checksum_difference(model: DDP, device: torch.device) -> float: + """Return the largest checksum difference between model replicas.""" + + checksum = torch.zeros(2, dtype=torch.float64, device=device) + with torch.no_grad(): + for parameter in model.module.parameters(): + values = parameter.detach().to(torch.float64) + checksum[0] += values.sum() + checksum[1] += values.square().sum() + + minimum = checksum.clone() + maximum = checksum.clone() + dist.all_reduce(minimum, op=dist.ReduceOp.MIN) + dist.all_reduce(maximum, op=dist.ReduceOp.MAX) + return (maximum - minimum).abs().max().item() + + +def run(arguments: argparse.Namespace) -> dict[str, object]: + """Run the benchmark and return its result record.""" + + local_rank, rank, world_size, device = initialize_distributed() + per_device_batch, global_batch, batch_mode = resolve_batch_sizes( + arguments, world_size + ) + precision, autocast_dtype, scale_gradients = resolve_precision( + arguments.precision, device + ) + + torch.manual_seed(arguments.seed) + torch.backends.cudnn.benchmark = True + model = resnet50(weights=None).to(device).train() + model = DDP( + model, + device_ids=[local_rank], + output_device=local_rank, + gradient_as_bucket_view=True, + ) + optimizer = torch.optim.SGD(model.parameters(), lr=0.1, momentum=0.9) + scaler = torch.amp.GradScaler("cuda", enabled=scale_gradients) + images, targets = make_batch(per_device_batch, rank, arguments.seed, device) + + loss = torch.zeros((), device=device) + for _ in range(arguments.warmup_steps): + loss = training_step(model, images, targets, optimizer, scaler, autocast_dtype) + + dist.barrier() + torch.cuda.synchronize(device) + torch.cuda.reset_peak_memory_stats(device) + start = time.perf_counter() + for _ in range(arguments.steps): + loss = training_step(model, images, targets, optimizer, scaler, autocast_dtype) + torch.cuda.synchronize(device) + elapsed = time.perf_counter() - start + + # Runtime is limited by the slowest rank; memory reports the largest rank peak. + maxima = torch.tensor( + [ + elapsed, + float(torch.cuda.max_memory_allocated(device)), + float(torch.cuda.max_memory_reserved(device)), + ], + dtype=torch.float64, + device=device, + ) + dist.all_reduce(maxima, op=dist.ReduceOp.MAX) + elapsed, peak_allocated, peak_reserved = maxima.tolist() + + loss = loss.to(torch.float64) + dist.all_reduce(loss, op=dist.ReduceOp.SUM) + mean_loss = loss.item() / world_size + if not math.isfinite(mean_loss): + raise RuntimeError( + "the final loss is not finite; retry with --precision fp32 or a " + "smaller batch" + ) + checksum_difference = parameter_checksum_difference(model, device) + + return { + "model": "torchvision.models.resnet50", + "data": "synthetic GPU-resident 3x224x224 images with random labels", + "batch_mode": batch_mode, + "batch_size_per_device": per_device_batch, + "global_batch_size": global_batch, + "world_size": world_size, + "warmup_steps": arguments.warmup_steps, + "measured_steps": arguments.steps, + "precision_requested": arguments.precision, + "precision_resolved": precision, + "seed": arguments.seed, + "elapsed_seconds": elapsed, + "milliseconds_per_step": 1000.0 * elapsed / arguments.steps, + "images_per_second": arguments.steps * global_batch / elapsed, + "final_loss_mean": mean_loss, + "peak_allocated_gib": peak_allocated / GIBIBYTE, + "peak_reserved_gib": peak_reserved / GIBIBYTE, + "parameter_checksum_max_difference": checksum_difference, + "parameters_synchronized": checksum_difference == 0.0, + "gpu_name_rank_zero": torch.cuda.get_device_name(device), + "hostname_rank_zero": socket.gethostname(), + "pytorch_version": torch.__version__, + "torchvision_version": torchvision.__version__, + "cuda_version": torch.version.cuda, + "cudnn_version": torch.backends.cudnn.version(), + "python_version": platform.python_version(), + "slurm_job_id": os.environ.get("SLURM_JOB_ID"), + } + + +def print_summary(result: dict[str, object]) -> None: + """Print a compact summary suitable for a Slurm log.""" + + print("DDP ResNet-50 synthetic training benchmark") + print(f" GPUs: {result['world_size']}") + print(f" precision: {result['precision_resolved']}") + print(f" batch/device: {result['batch_size_per_device']}") + print(f" global batch: {result['global_batch_size']}") + print(f" time/step: {result['milliseconds_per_step']:.3f} ms") + print(f" throughput: {result['images_per_second']:.1f} images/s") + print(f" peak allocated/GPU: {result['peak_allocated_gib']:.2f} GiB") + print(f" peak reserved/GPU: {result['peak_reserved_gib']:.2f} GiB") + print(f" parameters synchronized: {result['parameters_synchronized']}") + + +def main() -> int: + """Parse options, run the benchmark, and write rank-zero output.""" + + arguments = parse_arguments() + try: + result = run(arguments) + if dist.get_rank() == 0: + print_summary(result) + if arguments.output is not None: + text = json.dumps(result, indent=2, sort_keys=True) + arguments.output.write_text(f"{text}\n", encoding="utf-8") + print(f" JSON result: {arguments.output}") + return 0 + except (RuntimeError, ValueError) as error: + rank = os.environ.get("RANK", "unknown") + print(f"rank {rank}: error: {error}", file=sys.stderr) + return 2 + finally: + if dist.is_initialized(): + dist.destroy_process_group() + + +if __name__ == "__main__": + raise SystemExit(main()) From 2d61e3e80a08717f19f0ab3a400115f65d51fd23 Mon Sep 17 00:00:00 2001 From: Geert Jan Bex Date: Thu, 3 Sep 2026 10:50:38 +0200 Subject: [PATCH 27/33] Add FSDP and PyTorch Lightning equivalents --- multi_gpu_machine_learning.pptx | Bin 498545 -> 503210 bytes source-code/pytorch-lightning/README.md | 4 + source-code/pytorch-lightning/ddp/README.md | 126 ++++ .../pytorch-lightning/ddp/ddp_resnet50.py | 415 ++++++++++++ source-code/pytorch-lightning/fsdp/README.md | 239 +++++++ .../fsdp/fsdp2_transformer.py | 636 ++++++++++++++++++ source-code/pytorch/README.md | 2 + source-code/pytorch/fsdp/README.md | 223 ++++++ source-code/pytorch/fsdp/fsdp2_transformer.py | 566 ++++++++++++++++ 9 files changed, 2211 insertions(+) create mode 100644 source-code/pytorch-lightning/ddp/README.md create mode 100644 source-code/pytorch-lightning/ddp/ddp_resnet50.py create mode 100644 source-code/pytorch-lightning/fsdp/README.md create mode 100644 source-code/pytorch-lightning/fsdp/fsdp2_transformer.py create mode 100644 source-code/pytorch/fsdp/README.md create mode 100644 source-code/pytorch/fsdp/fsdp2_transformer.py diff --git a/multi_gpu_machine_learning.pptx b/multi_gpu_machine_learning.pptx index 60e4c497f8452000592822daff2f23e8f567a79a..a6ef3189b572998d3cd840b2e177345a55d370b1 100644 GIT binary patch delta 10611 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 JCZPaC{{tNZZb1M5 delta 6605 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 OqERN1_8-Gw@c#hVhr=rX diff --git a/source-code/pytorch-lightning/README.md b/source-code/pytorch-lightning/README.md index 06b0265..9311ef4 100644 --- a/source-code/pytorch-lightning/README.md +++ b/source-code/pytorch-lightning/README.md @@ -12,3 +12,7 @@ logic, rather than the boilerplate code for training and validation. 1. `mnist.ipynb`: A Jupyter notebook that demonstrates how to use PyTorch Lightning to train a simple neural network on the MNIST dataset. It includes code for data loading, model definition, training, and evaluation. +2. [`ddp/`](ddp/): A batch-friendly ResNet-50 benchmark for comparing one and + multiple GPUs with PyTorch Lightning's DDP strategy. +3. [`fsdp/`](fsdp/): A batch-friendly synthetic-transformer benchmark for + comparing Lightning DDP with FSDP2 memory sharding. diff --git a/source-code/pytorch-lightning/ddp/README.md b/source-code/pytorch-lightning/ddp/README.md new file mode 100644 index 0000000..e7fddce --- /dev/null +++ b/source-code/pytorch-lightning/ddp/README.md @@ -0,0 +1,126 @@ +# PyTorch Lightning DDP benchmark + +[`ddp_resnet50.py`](ddp_resnet50.py) is the PyTorch Lightning counterpart of +the [native PyTorch DDP benchmark](../../pytorch/ddp/ddp_resnet50.py). It uses +the same randomly initialized ResNet-50, synthetic ImageNet-shaped inputs, +optimizer, batch modes, warm-up period, timed steps, and result metrics. + +No model weights or dataset are downloaded. The ResNet-50 implementation is +part of `torchvision`, and `weights=None` requests a random initialization. + +The example is intended to compare one and multiple GPUs and, alongside the +native version, to show which DDP responsibilities Lightning takes over. It +measures model computation, Lightning's training-loop overhead, and gradient +communication. It does not measure data-loading performance or model accuracy. + +## Requirements + +The script requires CUDA-enabled PyTorch, `torchvision`, and Lightning 2.x +using the current `lightning` package and import name. Lightning is an optional +dependency and is not added to the repository's core GPU environment: + +```bash +python -m pip install lightning +``` + +On a cluster, prefer installing it in a project-specific environment rather +than altering a shared system Python installation. + +## Core code map + +The line numbers below refer to the current version of +[`ddp_resnet50.py`](ddp_resnet50.py). Function and method names are the more +durable reference if the file changes later. + +| Area | Function or method and line | What to inspect | +|---|---|---| +| Input and option validation | [`parse_arguments()` — line 57](ddp_resnet50.py#L57) | Defines the batch, timing, precision, device, node, and output options and rejects inconsistent runs. | +| Precision setup | [`resolve_trainer_precision()` — line 138](ddp_resnet50.py#L138) | Maps the shared FP32/BF16/FP16 options to Lightning's precision modes. | +| Model creation | [`ResNet50Benchmark.__init__()` — line 161](ddp_resnet50.py#L161) | Creates `torchvision.models.resnet50(weights=None)` at line 174 and stores the benchmark configuration. | +| Distributed batch interpretation | [`ResNet50Benchmark.setup()` — line 198](ddp_resnet50.py#L198) | Uses Lightning's actual world size to distinguish a fixed per-device batch from a fixed global batch. | +| Synthetic input | [`ResNet50Benchmark.on_train_start()` — line 218](ddp_resnet50.py#L218) | Creates a distinct GPU-resident image batch and labels for each rank. | +| One training cycle | [`ResNet50Benchmark.training_step()` — line 240](ddp_resnet50.py#L240) | Runs the forward pass and loss calculation. Lightning performs backward propagation, DDP gradient synchronization, and the optimizer update. | +| Optimizer setup | [`ResNet50Benchmark.configure_optimizers()` — line 249](ddp_resnet50.py#L249) | Creates the same SGD optimizer as the native example. | +| Training-loop input | [`ResNet50Benchmark.train_dataloader()` — line 254](ddp_resnet50.py#L254) | Supplies one lightweight token per optimizer step; the real synthetic images already reside on each GPU. | +| Warm-up and measured cycles | [`on_train_batch_start()` — line 260](ddp_resnet50.py#L260) and [`on_train_batch_end()` — line 270](ddp_resnet50.py#L270) | Synchronize the ranks, exclude warm-up steps, time the measured steps, and collect peak CUDA memory. | +| DDP and Trainer setup | [`main()` — line 379](ddp_resnet50.py#L379) | Creates the module and configures Lightning's GPU accelerator, `DDPStrategy`, precision plugin, and barebones Trainer. | + +Start with `main()` to see the high-level Lightning setup, then compare +`training_step()` with the native benchmark's `training_step()`. + +## What Lightning changes + +| Responsibility | Native PyTorch example | Lightning example | +|---|---|---| +| Process and NCCL setup | Explicit process-group initialization and teardown | `Trainer` and `DDPStrategy` | +| Device placement and DDP wrapper | Explicit local-rank device selection and `DistributedDataParallel(...)` | Lightning accelerator and strategy | +| Mixed precision | Explicit autocast and gradient scaler | Trainer `precision` setting | +| Backward pass and optimizer update | Written in the training step | Automatic after `training_step()` returns the loss | +| Benchmark timing and reporting | Custom code | Still custom code, because these are benchmark requirements rather than ordinary training features | + +This is intentionally an exact comparison rather than the shortest possible +Lightning program. Consequently, validation, timing, JSON reporting, and +correctness checks still account for much of the file. The simplification is +most visible in `main()` and `training_step()`. + +## Run as a Slurm batch job + +Lightning detects the Slurm environment from its variables. The Slurm task +count per node, allocated GPU count, and `--devices` value must agree. For a +single-node, four-GPU job, the relevant batch-script lines are typically: + +```bash +#SBATCH --nodes=1 +#SBATCH --ntasks-per-node=4 +#SBATCH --gpus-per-node=4 + +srun python ddp_resnet50.py \ + --devices 4 \ + --batch-size-per-device 32 \ + --output result-4gpu.json +``` + +Some clusters spell the GPU request as `#SBATCH --gres=gpu:4`; use the syntax +documented by the local site. For the one-GPU baseline, change all three `4` +values to `1` and use a different output name. + +For weak scaling, keep `--batch-size-per-device` fixed while changing the GPU +count. For strong scaling, keep the global batch fixed: + +```bash +srun python ddp_resnet50.py \ + --devices 4 \ + --global-batch-size 128 \ + --output result-global128-4gpu.json +``` + +Outside Slurm, Lightning can launch the DDP worker processes itself: + +```bash +python ddp_resnet50.py \ + --devices 4 \ + --batch-size-per-device 32 \ + --output result-4gpu.json +``` + +## Interpreting the result + +The JSON result records throughput, time per optimizer step, peak PyTorch CUDA +memory, the resolved precision, software versions, hardware information, and a +check that model parameters remained synchronized. + +There are several deliberate limitations: + +- `barebones=True` removes logging, checkpointing, progress bars, and other + Trainer services so that they do not distort a short benchmark. It is not a + recommended default for a real training application. +- The synthetic batch lives on the GPU and is reused. This isolates model and + communication performance but says nothing about storage or data-pipeline + scaling. +- The timed region includes Lightning's per-step loop overhead. That is useful + for this comparison, but means a small difference from the native result is + not necessarily a DDP communication difference. +- `--precision auto` assumes homogeneous GPUs across all nodes. Select an + explicit precision on a heterogeneous allocation. +- PyTorch's CUDA memory counters do not include every allocation made directly + by CUDA libraries such as NCCL. diff --git a/source-code/pytorch-lightning/ddp/ddp_resnet50.py b/source-code/pytorch-lightning/ddp/ddp_resnet50.py new file mode 100644 index 0000000..2c1aaf5 --- /dev/null +++ b/source-code/pytorch-lightning/ddp/ddp_resnet50.py @@ -0,0 +1,415 @@ +#!/usr/bin/env python3 +"""Benchmark ResNet-50 training with PyTorch Lightning DDP. + +This is the Lightning counterpart of +``source-code/pytorch/ddp/ddp_resnet50.py``. It uses the same model, synthetic +ImageNet-shaped inputs, optimizer, batch modes, warm-up period, measurements, +and JSON result fields. Lightning owns process and device setup, DDP wrapping, +mixed precision, gradient synchronization, and optimizer execution. + +Inside a single-node Slurm allocation with four tasks and four GPUs:: + + srun python ddp_resnet50.py --devices 4 \ + --batch-size-per-device 32 --output result-4gpu.json + +Outside Slurm, Lightning can launch the processes itself:: + + python ddp_resnet50.py --devices 4 \ + --batch-size-per-device 32 --output result-4gpu.json + +The benchmark uses Lightning's barebones Trainer mode. The memory figures +cover PyTorch's CUDA allocator; NCCL may allocate additional device memory. +""" + +from __future__ import annotations + +import argparse +import json +import math +import os +import platform +import socket +import time +from datetime import timedelta +from pathlib import Path + +import lightning as L +import torch +import torchvision +from lightning.pytorch.strategies import DDPStrategy +from torch import Tensor, nn +from torch.distributed import ReduceOp +from torch.utils.data import DataLoader +from torchvision.models import resnet50 + +GIBIBYTE = 2**30 + + +def positive_integer(value: str) -> int: + """Parse a positive command-line integer.""" + + number = int(value) + if number <= 0: + raise argparse.ArgumentTypeError("must be a positive integer") + return number + + +def parse_arguments() -> argparse.Namespace: + """Parse arguments and reject invalid runs before Trainer startup.""" + + parser = argparse.ArgumentParser( + description="Benchmark synthetic ResNet-50 training with Lightning DDP.", + formatter_class=argparse.ArgumentDefaultsHelpFormatter, + ) + batches = parser.add_mutually_exclusive_group() + batches.add_argument( + "--batch-size-per-device", + type=positive_integer, + default=32, + help="samples per GPU; keeping this fixed is a weak-scaling experiment", + ) + batches.add_argument( + "--global-batch-size", + type=positive_integer, + help="total samples across GPUs; must be divisible by the world size", + ) + parser.add_argument( + "--warmup-steps", + type=positive_integer, + default=10, + help="untimed steps used to initialize kernels and DDP buckets", + ) + parser.add_argument( + "--steps", type=positive_integer, default=50, help="timed optimizer steps" + ) + parser.add_argument( + "--precision", + choices=("auto", "fp32", "bf16", "fp16"), + default="auto", + help="auto uses BF16 when supported, otherwise FP16", + ) + parser.add_argument("--seed", type=int, default=1234) + parser.add_argument( + "--devices", + type=positive_integer, + default=1, + help="GPUs per node; under Slurm this must match --ntasks-per-node", + ) + parser.add_argument( + "--num-nodes", type=positive_integer, default=1, help="Slurm node count" + ) + parser.add_argument( + "--output", type=Path, help="optional JSON result path written by rank zero" + ) + parser.add_argument( + "--overwrite-output", + action="store_true", + help="allow replacement of an existing output file", + ) + arguments = parser.parse_args() + + if arguments.seed < 0: + parser.error("--seed must be non-negative") + if arguments.output is None and arguments.overwrite_output: + parser.error("--overwrite-output requires --output") + if arguments.output is not None: + if arguments.output.is_dir(): + parser.error(f"output path is a directory: {arguments.output}") + if arguments.output.exists() and not arguments.overwrite_output: + parser.error( + f"output already exists: {arguments.output}; " + "use --overwrite-output to replace it" + ) + if not arguments.output.parent.exists(): + parser.error(f"output directory does not exist: {arguments.output.parent}") + + expected_world_size = arguments.devices * arguments.num_nodes + if ( + arguments.global_batch_size is not None + and arguments.global_batch_size % expected_world_size != 0 + ): + parser.error( + f"--global-batch-size={arguments.global_batch_size} is not divisible " + f"by devices x nodes={expected_world_size}" + ) + return arguments + + +def resolve_trainer_precision(requested: str) -> tuple[str, str]: + """Map the shared CLI vocabulary to Lightning's Trainer vocabulary.""" + + if not torch.cuda.is_available(): + raise RuntimeError("CUDA is unavailable; this benchmark requires GPUs") + if requested == "fp32": + return "32-true", "fp32" + if requested == "bf16": + if not torch.cuda.is_bf16_supported(): + raise ValueError( + "BF16 was requested, but the selected GPU does not support it" + ) + return "bf16-mixed", "bf16" + if requested == "fp16": + return "16-mixed", "fp16" + if torch.cuda.is_bf16_supported(): + return "bf16-mixed", "bf16" + return "16-mixed", "fp16" + + +class ResNet50Benchmark(L.LightningModule): + """ResNet-50 workload plus benchmark-specific timing and reporting hooks.""" + + def __init__( + self, + *, + batch_size_per_device: int, + global_batch_size: int | None, + warmup_steps: int, + measured_steps: int, + precision_requested: str, + precision_resolved: str, + seed: int, + output: Path | None, + ) -> None: + super().__init__() + self.model = resnet50(weights=None) + self.batch_size_per_device_requested = batch_size_per_device + self.global_batch_size_requested = global_batch_size + self.warmup_steps = warmup_steps + self.measured_steps = measured_steps + self.precision_requested = precision_requested + self.precision_resolved = precision_resolved + self.seed = seed + self.output = output + + self._images: Tensor | None = None + self._targets: Tensor | None = None + self._last_loss: Tensor | None = None + self._start_time: float | None = None + self._maxima: Tensor | None = None + self._batch_mode = "" + self._batch_size_per_device = 0 + self._global_batch_size = 0 + + def forward(self, images: Tensor) -> Tensor: + """Apply ResNet-50 to a batch of images.""" + + return self.model(images) + + def setup(self, stage: str) -> None: + """Resolve batch semantics after Lightning establishes the world size.""" + + if stage != "fit": + return + world_size = self.trainer.world_size + if self.global_batch_size_requested is None: + self._batch_size_per_device = self.batch_size_per_device_requested + self._global_batch_size = self._batch_size_per_device * world_size + self._batch_mode = "fixed_per_device" + else: + if self.global_batch_size_requested % world_size != 0: + raise ValueError( + f"--global-batch-size={self.global_batch_size_requested} is not " + f"divisible by the actual world size {world_size}" + ) + self._batch_size_per_device = self.global_batch_size_requested // world_size + self._global_batch_size = self.global_batch_size_requested + self._batch_mode = "fixed_global" + + def on_train_start(self) -> None: + """Create one rank-specific synthetic batch on Lightning's chosen device.""" + + generator = torch.Generator(device=self.device).manual_seed( + self.seed + self.global_rank + ) + self._images = torch.randn( + self._batch_size_per_device, + 3, + 224, + 224, + generator=generator, + device=self.device, + ) + self._targets = torch.randint( + 0, + 1000, + (self._batch_size_per_device,), + generator=generator, + device=self.device, + ) + + def training_step(self, _batch: int, _batch_idx: int) -> Tensor: + """Compute the loss; Lightning runs backward and the optimizer update.""" + + if self._images is None or self._targets is None: + raise RuntimeError("synthetic inputs were not initialized") + loss = nn.functional.cross_entropy(self(self._images), self._targets) + self._last_loss = loss.detach() + return loss + + def configure_optimizers(self) -> torch.optim.Optimizer: + """Use the same optimizer as the native DDP benchmark.""" + + return torch.optim.SGD(self.parameters(), lr=0.1, momentum=0.9) + + def train_dataloader(self) -> DataLoader: + """Supply one lightweight token for every optimizer step.""" + + total_steps = self.warmup_steps + self.measured_steps + return DataLoader(range(total_steps), batch_size=None, num_workers=0) + + def on_train_batch_start(self, _batch: int, batch_idx: int) -> None: + """Start synchronized timing after the warm-up batches.""" + + if batch_idx != self.warmup_steps: + return + self.trainer.strategy.barrier() + torch.cuda.synchronize(self.device) + torch.cuda.reset_peak_memory_stats(self.device) + self._start_time = time.perf_counter() + + def on_train_batch_end(self, _outputs: Tensor, _batch: int, batch_idx: int) -> None: + """Stop timing after the final measured optimizer step.""" + + total_steps = self.warmup_steps + self.measured_steps + if batch_idx + 1 != total_steps: + return + if self._start_time is None: + raise RuntimeError("benchmark timer was not started") + + torch.cuda.synchronize(self.device) + elapsed = time.perf_counter() - self._start_time + local = torch.tensor( + [ + elapsed, + float(torch.cuda.max_memory_allocated(self.device)), + float(torch.cuda.max_memory_reserved(self.device)), + ], + dtype=torch.float64, + device=self.device, + ) + self._maxima = self.trainer.strategy.reduce(local, reduce_op=ReduceOp.MAX) + + def _parameter_checksum_difference(self) -> float: + """Return the largest checksum difference between model replicas.""" + + checksum = torch.zeros(2, dtype=torch.float64, device=self.device) + with torch.no_grad(): + for parameter in self.parameters(): + values = parameter.detach().to(torch.float64) + checksum[0] += values.sum() + checksum[1] += values.square().sum() + minimum = self.trainer.strategy.reduce(checksum.clone(), reduce_op=ReduceOp.MIN) + maximum = self.trainer.strategy.reduce(checksum, reduce_op=ReduceOp.MAX) + difference = maximum - minimum + return difference.abs().max().item() + + def on_train_end(self) -> None: + """Reduce correctness metrics and write one result on global rank zero.""" + + if self._last_loss is None or self._maxima is None: + raise RuntimeError("the benchmark did not complete all requested steps") + + mean_loss = self.trainer.strategy.reduce( + self._last_loss.to(torch.float64), reduce_op="mean" + ).item() + if not math.isfinite(mean_loss): + raise RuntimeError( + "the final loss is not finite; retry with --precision fp32 or a " + "smaller batch" + ) + checksum_difference = self._parameter_checksum_difference() + elapsed, peak_allocated, peak_reserved = self._maxima.tolist() + + result = { + "model": "torchvision.models.resnet50", + "data": "synthetic GPU-resident 3x224x224 images with random labels", + "batch_mode": self._batch_mode, + "batch_size_per_device": self._batch_size_per_device, + "global_batch_size": self._global_batch_size, + "world_size": self.trainer.world_size, + "warmup_steps": self.warmup_steps, + "measured_steps": self.measured_steps, + "precision_requested": self.precision_requested, + "precision_resolved": self.precision_resolved, + "seed": self.seed, + "elapsed_seconds": elapsed, + "milliseconds_per_step": 1000.0 * elapsed / self.measured_steps, + "images_per_second": ( + self.measured_steps * self._global_batch_size / elapsed + ), + "final_loss_mean": mean_loss, + "peak_allocated_gib": peak_allocated / GIBIBYTE, + "peak_reserved_gib": peak_reserved / GIBIBYTE, + "parameter_checksum_max_difference": checksum_difference, + "parameters_synchronized": checksum_difference == 0.0, + "gpu_name_rank_zero": torch.cuda.get_device_name(self.device), + "hostname_rank_zero": socket.gethostname(), + "pytorch_version": torch.__version__, + "torchvision_version": torchvision.__version__, + "lightning_version": L.__version__, + "cuda_version": torch.version.cuda, + "cudnn_version": torch.backends.cudnn.version(), + "python_version": platform.python_version(), + "slurm_job_id": os.environ.get("SLURM_JOB_ID"), + "lightning_barebones": True, + } + if self.trainer.is_global_zero: + print_summary(result) + if self.output is not None: + text = json.dumps(result, indent=2, sort_keys=True) + self.output.write_text(f"{text}\n", encoding="utf-8") + print(f" JSON result: {self.output}") + + +def print_summary(result: dict[str, object]) -> None: + """Print a compact summary suitable for a Slurm log.""" + + print("Lightning DDP ResNet-50 synthetic training benchmark") + print(f" GPUs: {result['world_size']}") + print(f" precision: {result['precision_resolved']}") + print(f" batch/device: {result['batch_size_per_device']}") + print(f" global batch: {result['global_batch_size']}") + print(f" time/step: {result['milliseconds_per_step']:.3f} ms") + print(f" throughput: {result['images_per_second']:.1f} images/s") + print(f" peak allocated/GPU: {result['peak_allocated_gib']:.2f} GiB") + print(f" peak reserved/GPU: {result['peak_reserved_gib']:.2f} GiB") + print(f" parameters synchronized: {result['parameters_synchronized']}") + + +def main() -> None: + """Create the Lightning module and run the barebones DDP Trainer.""" + + arguments = parse_arguments() + trainer_precision, resolved_precision = resolve_trainer_precision( + arguments.precision + ) + L.seed_everything(arguments.seed, workers=True) + model = ResNet50Benchmark( + batch_size_per_device=arguments.batch_size_per_device, + global_batch_size=arguments.global_batch_size, + warmup_steps=arguments.warmup_steps, + measured_steps=arguments.steps, + precision_requested=arguments.precision, + precision_resolved=resolved_precision, + seed=arguments.seed, + output=arguments.output, + ) + trainer = L.Trainer( + accelerator="gpu", + devices=arguments.devices, + num_nodes=arguments.num_nodes, + strategy=DDPStrategy( + timeout=timedelta(minutes=5), gradient_as_bucket_view=True + ), + precision=trainer_precision, + max_steps=arguments.warmup_steps + arguments.steps, + max_epochs=1, + use_distributed_sampler=False, + barebones=True, + benchmark=True, + ) + trainer.fit(model) + + +if __name__ == "__main__": + main() diff --git a/source-code/pytorch-lightning/fsdp/README.md b/source-code/pytorch-lightning/fsdp/README.md new file mode 100644 index 0000000..7c97795 --- /dev/null +++ b/source-code/pytorch-lightning/fsdp/README.md @@ -0,0 +1,239 @@ +# PyTorch Lightning FSDP2 benchmark + +[`fsdp2_transformer.py`](fsdp2_transformer.py) is the PyTorch Lightning +counterpart of the +[native PyTorch DDP/FSDP2 benchmark](../../pytorch/fsdp/fsdp2_transformer.py). +It uses the same synthetic transformer, presets, optimizer, batch modes, +warm-up period, timed steps, and result metrics. + +No model, weights, tokenizer, or dataset are downloaded. The model is assembled +from standard PyTorch modules, and every rank creates a distinct synthetic token +batch directly on its GPU. + +This is primarily a memory-scaling exercise. FSDP2 exchanges parameters during +the forward and backward passes so that parameters, gradients, and optimizer +state do not need to remain fully replicated. That usually reduces per-GPU +model-state memory, but it can make training slower than DDP when the complete +model already fits comfortably. + +## Requirements + +The script targets the Lightning 2.6 `ModelParallelStrategy` API and requires +PyTorch 2.4 or newer. The repository's +[`environment_gpu.yml`](../../../environment_gpu.yml) selects PyTorch 2.13 but +does not install Lightning, because Lightning is an optional dependency: + +```bash +python -m pip install lightning +``` + +Install it in a project-specific environment on a cluster rather than changing +a shared system Python installation. The example needs a CUDA-enabled PyTorch +build and at least two GPUs to demonstrate sharding; a one-GPU run is useful +only as a smoke test. + +The use of +[`ModelParallelStrategy`](https://lightning.ai/docs/pytorch/stable/api/lightning.pytorch.strategies.ModelParallelStrategy.html) +is deliberate. Lightning's older `FSDPStrategy` wraps PyTorch's FSDP1 class. +`ModelParallelStrategy` exposes the FSDP2 and device-mesh workflow, and this +script sets `tensor_parallel_size=1` so that every worker participates only in +the data-parallel/FSDP dimension. Lightning currently labels this strategy +experimental, so version upgrades may require small API changes. PyTorch's +[FSDP2 tutorial](https://docs.pytorch.org/tutorials/intermediate/FSDP_tutorial.html) +explains the underlying per-parameter sharding model. + +## Model presets + +Start with `small`. Validate `medium` on the actual lab hardware before the +session. `large` can exhaust smaller GPUs and is best kept as an optional +capacity experiment. + +| Preset | Blocks | Hidden size | Parameters | FP32 parameters only | Approximate DDP model state with AdamW | +|---|---:|---:|---:|---:|---:| +| `small` | 12 | 768 | 88,327,680 | 0.33 GiB | 1.32 GiB | +| `medium` | 24 | 1,024 | 306,563,072 | 1.14 GiB | 4.57 GiB | +| `large` | 32 | 1,280 | 634,903,040 | 2.37 GiB | 9.46 GiB | + +The final column estimates FP32 parameters, gradients, and the two AdamW +moment tensors after the first optimizer step. It excludes activations, +communication buckets, all-gather buffers, CUDA context memory, allocator +fragmentation, and NCCL allocations. Actual peak memory will therefore be +higher. + +## Command-line options + +| Option | Default | Meaning | +|---|---|---| +| `--strategy {ddp,fsdp2}` | required | Select replicated Lightning DDP or Lightning-managed FSDP2. | +| `--preset {small,medium,large}` | `small` | Select model dimensions from the table above. | +| `--fsdp-wrap {block,root}` | `block` | Choose per-block or root-only FSDP2 grouping; ignored for DDP. | +| `--batch-size-per-device N` | `1` | Set the local batch; keeping it fixed gives weak scaling. | +| `--global-batch-size N` | unset | Set a fixed total batch for strong scaling; mutually exclusive with the local batch option. | +| `--warmup-steps N` | `5` | Run untimed steps that initialize optimizer state and communication paths. | +| `--steps N` | `15` | Set the number of timed optimizer steps. | +| `--precision {auto,fp32,bf16}` | `auto` | Use BF16 when the selected GPU supports it; otherwise use FP32. | +| `--seed N` | `1234` | Control model initialization and rank-specific synthetic inputs. | +| `--devices N` | `1` | Set GPUs per node; under Slurm this must match the tasks per node. | +| `--num-nodes N` | `1` | Set the Lightning/Slurm node count. | +| `--output PATH` | unset | Write the rank-zero result as JSON; existing files are protected. | +| `--overwrite-output` | off | Permit replacement of an existing result file. | + +The script validates numbers, batch divisibility, and output behavior before +starting the Trainer. Each result includes the resolved configuration, seed, +framework versions, throughput, peak PyTorch CUDA memory, and parameter +checksums. + +## Core code map + +The line numbers below refer to the current version of +[`fsdp2_transformer.py`](fsdp2_transformer.py). Function and method names are +the more durable reference if the file changes later. + +| Area | Function or method and line | What to inspect | +|---|---|---| +| Options and validation | [`parse_arguments()` — line 97](fsdp2_transformer.py#L97) | Defines strategy, preset, wrapping, batch, precision, device, timing, and output options. | +| Precision setup | [`resolve_precision()` — line 183](fsdp2_transformer.py#L183) | Resolves FP32 or BF16 before Lightning launches workers. | +| Transformer block | [`TransformerBlock` — line 199](fsdp2_transformer.py#L199) | Defines the unit used as an FSDP2 communication and sharding boundary. | +| Complete model | [`SyntheticTransformer` — line 230](fsdp2_transformer.py#L230) | Defines embeddings, transformer blocks, normalization, and classifier. | +| Model creation and FSDP2 setup | [`TransformerBenchmark.configure_model()` — line 304](fsdp2_transformer.py#L304) | Creates the large layers in Lightning's strategy-aware hook, then applies `fully_shard()` to blocks and root. | +| Distributed batch interpretation | [`TransformerBenchmark.setup()` — line 348](fsdp2_transformer.py#L348) | Uses Lightning's actual world size to resolve local and global batches. | +| Synthetic input | [`TransformerBenchmark.on_train_start()` — line 368](fsdp2_transformer.py#L368) | Measures the local parameter shard and creates rank-specific GPU-resident tokens. | +| One training cycle | [`TransformerBenchmark.training_step()` — line 392](fsdp2_transformer.py#L392) | Runs forward propagation and loss calculation; Lightning performs backward, synchronization, and update. | +| Optimizer setup | [`TransformerBenchmark.configure_optimizers()` — line 402](fsdp2_transformer.py#L402) | Creates AdamW after `configure_model()` has sharded the model. | +| Training-loop input | [`TransformerBenchmark.train_dataloader()` — line 409](fsdp2_transformer.py#L409) | Supplies one lightweight token per optimizer step; the actual token tensor is already on the GPU. | +| Warm-up and measured cycles | [`on_train_batch_start()` — line 415](fsdp2_transformer.py#L415) and [`on_train_batch_end()` — line 425](fsdp2_transformer.py#L425) | Synchronize workers, exclude warm-up, time the measured steps, and collect peak CUDA memory. | +| Result construction | [`TransformerBenchmark.on_train_end()` — line 473](fsdp2_transformer.py#L473) | Reduces correctness and performance metrics and writes rank-zero output. | +| DDP or FSDP2 strategy | [`make_strategy()` — line 579](fsdp2_transformer.py#L579) | Selects `DDPStrategy` or a pure-FSDP2 `ModelParallelStrategy` device mesh. | +| Trainer setup | [`main()` — line 594](fsdp2_transformer.py#L594) | Configures Lightning's GPU devices, nodes, precision, strategy, and barebones training loop. | + +Start with `main()`, then inspect `configure_model()` and `training_step()`. +The key FSDP2 detail is that large layers are created in the strategy-aware +hook, sharding is applied before optimizer construction, and the model code +itself remains ordinary PyTorch. + +## What Lightning changes + +| Responsibility | Native PyTorch example | Lightning example | +|---|---|---| +| Process group, ranks, and teardown | Explicit NCCL setup and cleanup | `Trainer` and the selected strategy | +| Device placement | Explicit local-rank CUDA binding | Lightning accelerator | +| DDP wrapping | Explicit `DistributedDataParallel(...)` | `DDPStrategy` | +| FSDP2 device mesh | Implicit world process group | `ModelParallelStrategy` creates and exposes the mesh | +| FSDP2 wrapping policy | Explicit `fully_shard()` calls | Still explicit in `configure_model()` because layer boundaries are a model decision | +| Mixed precision | DDP autocast or FSDP2 policy | Trainer precision for DDP; `MixedPrecisionPolicy` for FSDP2 communication and parameters | +| Backward and optimizer step | Explicit calls in `training_step()` | Automatic after the Lightning step returns loss | +| Timing and reporting | Custom benchmark code | Still custom, because these are benchmark requirements | + +This is intentionally an exact comparison rather than the shortest possible +Lightning program. Input checks, timing, JSON reporting, and correctness checks +therefore still account for much of the file. The simplification is clearest in +`main()` and `training_step()`. + +## Run the comparison + +Use the same GPU count, preset, precision, and batch settings for both runs. On +a four-GPU node outside Slurm: + +```bash +python fsdp2_transformer.py \ + --strategy ddp \ + --devices 4 \ + --preset medium \ + --batch-size-per-device 1 \ + --output result-medium-ddp.json + +python fsdp2_transformer.py \ + --strategy fsdp2 \ + --devices 4 \ + --fsdp-wrap block \ + --preset medium \ + --batch-size-per-device 1 \ + --output result-medium-fsdp2-block.json +``` + +If `medium` is too slow or exceeds memory, substitute `small` in both commands. +Changing only one workload invalidates the comparison. For strong scaling, +replace the local batch option in both commands with a global batch divisible +by the worker count, for example `--global-batch-size 4`. + +## Run as a single-node Slurm batch job + +Lightning detects the Slurm environment. Unlike the native example, which +runs one Slurm launcher task and lets `torchrun` create workers, this version +uses one Slurm task per GPU. The Slurm task count, GPU allocation, and +`--devices` value must agree: + +```bash +#!/usr/bin/env bash +#SBATCH --nodes=1 +#SBATCH --ntasks-per-node=4 +#SBATCH --gpus-per-node=4 + +set -euo pipefail + +srun python fsdp2_transformer.py \ + --strategy ddp \ + --devices 4 \ + --preset medium \ + --output result-medium-ddp.json + +srun python fsdp2_transformer.py \ + --strategy fsdp2 \ + --devices 4 \ + --fsdp-wrap block \ + --preset medium \ + --output result-medium-fsdp2-block.json +``` + +Some clusters spell the GPU request as `#SBATCH --gres=gpu:4`; follow the local +site documentation. For multi-node runs, set both the Slurm node count and +`--num-nodes`, and keep `--devices` equal to the number of tasks and GPUs on +each node. + +## Hands-on tasks + +Before running, predict which strategy will use less peak memory and which will +have higher throughput. Then: + +1. Run DDP and block-wrapped FSDP2 with otherwise identical options. +2. Compare `local_parameter_fraction`, `peak_allocated_gib`, + `milliseconds_per_step`, and `tokens_per_second` in the JSON results. +3. Explain why DDP stores nearly all parameters on every rank while FSDP2 + approaches a local fraction of `1 / world_size`. +4. Repeat FSDP2 with `--fsdp-wrap root`; predict its peak memory and throughput + before looking at the result. +5. Compare the Lightning script with the native implementation and identify + which distributed responsibilities disappeared and which model-specific + decisions remained. +6. If hardware and time permit, find the largest preset each strategy can run. + Treat an out-of-memory outcome as capacity evidence, not throughput data. + +## Interpret the output carefully + +- `local_parameter_fraction` measures parameter elements stored by a rank. It + excludes gradients, optimizer state, activations, and communication buffers. +- FSDP2 peak memory does not fall exactly by `1 / world_size`: the active layer + is gathered for computation, activations remain local, and CUDA libraries + need temporary memory. +- Block wrapping permits layer-wise gathering and potential communication/ + computation overlap. Root-only wrapping gathers the whole model as one unit + and is included as a deliberately poor boundary choice. +- `parameters_synchronized` is meaningful for replicated DDP parameters. It is + `null` for FSDP2 because ranks hold complementary shards; global checksums are + reported instead. +- `--precision auto` is resolved before Lightning starts distributed workers + and therefore assumes homogeneous GPUs. Use an explicit precision on a + heterogeneous allocation. +- `barebones=True` disables logging, checkpoints, progress bars, and other + Trainer services that would distort a short benchmark. It is not a sensible + default for a production training application. +- Peak memory uses PyTorch's CUDA allocator counters and does not capture every + allocation made directly by NCCL or other CUDA libraries. +- Synthetic, reused input isolates model and communication costs. The results + are not end-to-end training performance and say nothing about model accuracy. +- The seed makes model initialization and inputs repeatable, but GPU kernels + are not forced into deterministic implementations. + +Activation checkpointing and distributed checkpoint files are intentionally +left out. They are useful follow-ups, but adding either would introduce a second +memory mechanism and obscure the first DDP/FSDP2 comparison. diff --git a/source-code/pytorch-lightning/fsdp/fsdp2_transformer.py b/source-code/pytorch-lightning/fsdp/fsdp2_transformer.py new file mode 100644 index 0000000..f2480a0 --- /dev/null +++ b/source-code/pytorch-lightning/fsdp/fsdp2_transformer.py @@ -0,0 +1,636 @@ +#!/usr/bin/env python3 +"""Compare Lightning DDP and FSDP2 on a synthetic transformer. + +This is the Lightning counterpart of +``source-code/pytorch/fsdp/fsdp2_transformer.py``. It uses the same model, +synthetic token batches, optimizer, presets, warm-up period, measurements, and +JSON result fields. Lightning owns process setup, device placement, backward +propagation, and optimizer execution. + +Inside a single-node Slurm allocation with four tasks and four GPUs:: + + srun python fsdp2_transformer.py --strategy fsdp2 --devices 4 \ + --preset medium --output result-fsdp2.json + +Outside Slurm, Lightning can launch the worker processes itself:: + + python fsdp2_transformer.py --strategy fsdp2 --devices 4 \ + --preset medium --output result-fsdp2.json + +No model, tokenizer, weights, or dataset are downloaded. FSDP2 is useful for +reducing model-state memory, but can be slower than DDP when the complete model +already fits comfortably on every GPU. +""" + +from __future__ import annotations + +import argparse +import json +import math +import os +import platform +import socket +import time +from dataclasses import asdict, dataclass +from datetime import timedelta +from pathlib import Path + +import lightning as L +import torch +from lightning.pytorch.strategies import DDPStrategy, ModelParallelStrategy +from torch import Tensor, nn +from torch.distributed import ReduceOp +from torch.distributed.fsdp import MixedPrecisionPolicy, fully_shard +from torch.distributed.tensor import DTensor +from torch.utils.data import DataLoader + +GIBIBYTE = 2**30 + + +@dataclass(frozen=True) +class ModelConfig: + """Configuration for one synthetic transformer preset.""" + + layers: int + hidden_size: int + attention_heads: int + feedforward_size: int + sequence_length: int + vocabulary_size: int = 4096 + classes: int = 16 + + +PRESETS = { + "small": ModelConfig( + layers=12, + hidden_size=768, + attention_heads=12, + feedforward_size=3072, + sequence_length=256, + ), + "medium": ModelConfig( + layers=24, + hidden_size=1024, + attention_heads=16, + feedforward_size=4096, + sequence_length=256, + ), + "large": ModelConfig( + layers=32, + hidden_size=1280, + attention_heads=20, + feedforward_size=5120, + sequence_length=256, + ), +} + + +def positive_integer(value: str) -> int: + """Parse a positive command-line integer.""" + + number = int(value) + if number <= 0: + raise argparse.ArgumentTypeError("must be a positive integer") + return number + + +def parse_arguments() -> argparse.Namespace: + """Parse arguments and reject invalid runs before Trainer startup.""" + + parser = argparse.ArgumentParser( + description="Compare Lightning DDP and FSDP2 with a synthetic transformer.", + formatter_class=argparse.ArgumentDefaultsHelpFormatter, + ) + parser.add_argument("--strategy", choices=("ddp", "fsdp2"), required=True) + parser.add_argument("--preset", choices=tuple(PRESETS), default="small") + parser.add_argument( + "--fsdp-wrap", + choices=("block", "root"), + default="block", + help="FSDP2 communication-group boundary; ignored for DDP", + ) + batches = parser.add_mutually_exclusive_group() + batches.add_argument( + "--batch-size-per-device", + type=positive_integer, + default=1, + help="samples per GPU; keeping this fixed is weak scaling", + ) + batches.add_argument( + "--global-batch-size", + type=positive_integer, + help="total samples across GPUs; must be divisible by devices x nodes", + ) + parser.add_argument( + "--warmup-steps", type=positive_integer, default=5, help="untimed steps" + ) + parser.add_argument( + "--steps", type=positive_integer, default=15, help="timed optimizer steps" + ) + parser.add_argument( + "--precision", + choices=("auto", "fp32", "bf16"), + default="auto", + help="auto uses BF16 when supported by the selected GPU, otherwise FP32", + ) + parser.add_argument("--seed", type=int, default=1234) + parser.add_argument( + "--devices", + type=positive_integer, + default=1, + help="GPUs per node; under Slurm this must match --ntasks-per-node", + ) + parser.add_argument( + "--num-nodes", type=positive_integer, default=1, help="Slurm node count" + ) + parser.add_argument( + "--output", type=Path, help="optional JSON result path written by rank zero" + ) + parser.add_argument( + "--overwrite-output", + action="store_true", + help="allow replacement of an existing output file", + ) + arguments = parser.parse_args() + + if arguments.seed < 0: + parser.error("--seed must be non-negative") + if arguments.output is None and arguments.overwrite_output: + parser.error("--overwrite-output requires --output") + if arguments.output is not None: + if arguments.output.is_dir(): + parser.error(f"output path is a directory: {arguments.output}") + if arguments.output.exists() and not arguments.overwrite_output: + parser.error( + f"output already exists: {arguments.output}; " + "use --overwrite-output to replace it" + ) + if not arguments.output.parent.exists(): + parser.error(f"output directory does not exist: {arguments.output.parent}") + + expected_world_size = arguments.devices * arguments.num_nodes + if ( + arguments.global_batch_size is not None + and arguments.global_batch_size % expected_world_size != 0 + ): + parser.error( + f"--global-batch-size={arguments.global_batch_size} is not divisible " + f"by devices x nodes={expected_world_size}" + ) + return arguments + + +def resolve_precision(requested: str) -> str: + """Resolve the shared CLI precision before Lightning launches workers.""" + + if not torch.cuda.is_available(): + raise RuntimeError("CUDA is unavailable; this benchmark requires GPUs") + if requested == "fp32": + return "fp32" + if requested == "bf16": + if not torch.cuda.is_bf16_supported(): + raise ValueError( + "BF16 was requested, but the selected GPU does not support it" + ) + return "bf16" + return "bf16" if torch.cuda.is_bf16_supported() else "fp32" + + +class TransformerBlock(nn.Module): + """Pre-normalized self-attention and feed-forward transformer block.""" + + def __init__(self, config: ModelConfig) -> None: + super().__init__() + self.attention_norm = nn.LayerNorm(config.hidden_size) + self.attention = nn.MultiheadAttention( + embed_dim=config.hidden_size, + num_heads=config.attention_heads, + dropout=0.0, + bias=False, + batch_first=True, + ) + self.feedforward_norm = nn.LayerNorm(config.hidden_size) + self.feedforward = nn.Sequential( + nn.Linear(config.hidden_size, config.feedforward_size, bias=False), + nn.GELU(approximate="tanh"), + nn.Linear(config.feedforward_size, config.hidden_size, bias=False), + ) + + def forward(self, hidden_states: Tensor) -> Tensor: + """Apply one residual attention and feed-forward block.""" + + normalized = self.attention_norm(hidden_states) + attention_output, _ = self.attention( + normalized, normalized, normalized, need_weights=False + ) + hidden_states = hidden_states + attention_output + return hidden_states + self.feedforward(self.feedforward_norm(hidden_states)) + + +class SyntheticTransformer(nn.Module): + """Encoder-style transformer for a synthetic sequence classification task.""" + + def __init__(self, config: ModelConfig) -> None: + super().__init__() + self.token_embedding = nn.Embedding(config.vocabulary_size, config.hidden_size) + self.position_embedding = nn.Parameter( + torch.empty(config.sequence_length, config.hidden_size) + ) + nn.init.normal_(self.position_embedding, mean=0.0, std=0.02) + self.blocks = nn.ModuleList( + TransformerBlock(config) for _ in range(config.layers) + ) + self.output_norm = nn.LayerNorm(config.hidden_size) + self.classifier = nn.Linear(config.hidden_size, config.classes, bias=False) + + def forward(self, token_ids: Tensor) -> Tensor: + """Return sequence-classification logits for integer token IDs.""" + + hidden_states = self.token_embedding(token_ids) + hidden_states = hidden_states + self.position_embedding.unsqueeze(0) + for block in self.blocks: + hidden_states = block(hidden_states) + hidden_states = self.output_norm(hidden_states[:, 0]) + return self.classifier(hidden_states) + + +class TransformerBenchmark(L.LightningModule): + """Synthetic transformer workload with timing and reporting hooks.""" + + def __init__( + self, + *, + config: ModelConfig, + preset: str, + strategy_name: str, + fsdp_wrap: str, + batch_size_per_device: int, + global_batch_size: int | None, + warmup_steps: int, + measured_steps: int, + precision_requested: str, + precision_resolved: str, + seed: int, + output: Path | None, + ) -> None: + super().__init__() + self.config = config + self.preset = preset + self.strategy_name = strategy_name + self.fsdp_wrap = fsdp_wrap + self.batch_size_per_device_requested = batch_size_per_device + self.global_batch_size_requested = global_batch_size + self.warmup_steps = warmup_steps + self.measured_steps = measured_steps + self.precision_requested = precision_requested + self.precision_resolved = precision_resolved + self.seed = seed + self.output = output + + # Large layers belong in configure_model(), which Lightning invokes in + # a strategy-aware context. Keeping this hook idempotent is required. + self.model: SyntheticTransformer | None = None + self._global_parameter_count = 0 + self._local_parameter_count = 0 + self._token_ids: Tensor | None = None + self._targets: Tensor | None = None + self._last_loss: Tensor | None = None + self._start_time: float | None = None + self._maxima: Tensor | None = None + self._batch_mode = "" + self._batch_size_per_device = 0 + self._global_batch_size = 0 + + def configure_model(self) -> None: + """Create the model and apply FSDP2 through Lightning's device mesh.""" + + if self.model is not None: + return + torch.manual_seed(self.seed) + self.model = SyntheticTransformer(self.config) + self._global_parameter_count = sum( + parameter.numel() for parameter in self.model.parameters() + ) + if self.strategy_name != "fsdp2": + return + if self.device_mesh is None: + raise RuntimeError("Lightning did not create the FSDP2 device mesh") + + data_parallel_mesh = self.device_mesh["data_parallel"] + mixed_precision_policy = ( + MixedPrecisionPolicy( + param_dtype=torch.bfloat16, + reduce_dtype=torch.float32, + ) + if self.precision_resolved == "bf16" + else MixedPrecisionPolicy() + ) + if self.fsdp_wrap == "block": + for block in self.model.blocks: + fully_shard( + block, + mesh=data_parallel_mesh, + mp_policy=mixed_precision_policy, + ) + fully_shard( + self.model, + mesh=data_parallel_mesh, + mp_policy=mixed_precision_policy, + ) + + def forward(self, token_ids: Tensor) -> Tensor: + """Apply the configured model to integer token IDs.""" + + if self.model is None: + raise RuntimeError("model was not created by configure_model()") + return self.model(token_ids) + + def setup(self, stage: str) -> None: + """Resolve batch semantics after Lightning establishes the world size.""" + + if stage != "fit": + return + world_size = self.trainer.world_size + if self.global_batch_size_requested is None: + self._batch_size_per_device = self.batch_size_per_device_requested + self._global_batch_size = self._batch_size_per_device * world_size + self._batch_mode = "fixed_per_device" + else: + if self.global_batch_size_requested % world_size != 0: + raise ValueError( + f"--global-batch-size={self.global_batch_size_requested} is not " + f"divisible by the actual world size {world_size}" + ) + self._batch_size_per_device = self.global_batch_size_requested // world_size + self._global_batch_size = self.global_batch_size_requested + self._batch_mode = "fixed_global" + + def on_train_start(self) -> None: + """Measure local shards and create one rank-specific synthetic batch.""" + + if self.model is None: + raise RuntimeError("model was not created by configure_model()") + self._local_parameter_count = local_parameter_elements(self.model) + generator = torch.Generator(device=self.device).manual_seed( + self.seed + self.global_rank + ) + self._token_ids = torch.randint( + 0, + self.config.vocabulary_size, + (self._batch_size_per_device, self.config.sequence_length), + generator=generator, + device=self.device, + ) + self._targets = torch.randint( + 0, + self.config.classes, + (self._batch_size_per_device,), + generator=generator, + device=self.device, + ) + + def training_step(self, _batch: int, _batch_idx: int) -> Tensor: + """Compute loss; Lightning runs backward and the optimizer update.""" + + if self._token_ids is None or self._targets is None: + raise RuntimeError("synthetic inputs were not initialized") + logits = self(self._token_ids) + loss = nn.functional.cross_entropy(logits.float(), self._targets) + self._last_loss = loss.detach() + return loss + + def configure_optimizers(self) -> torch.optim.Optimizer: + """Create AdamW after configure_model() has applied any sharding.""" + + if self.model is None: + raise RuntimeError("model was not created before optimizer setup") + return torch.optim.AdamW(self.model.parameters(), lr=1e-3) + + def train_dataloader(self) -> DataLoader: + """Supply one lightweight token for every optimizer step.""" + + total_steps = self.warmup_steps + self.measured_steps + return DataLoader(range(total_steps), batch_size=None, num_workers=0) + + def on_train_batch_start(self, _batch: int, batch_idx: int) -> None: + """Start synchronized timing after the warm-up batches.""" + + if batch_idx != self.warmup_steps: + return + self.trainer.strategy.barrier() + torch.cuda.synchronize(self.device) + torch.cuda.reset_peak_memory_stats(self.device) + self._start_time = time.perf_counter() + + def on_train_batch_end(self, _outputs: Tensor, _batch: int, batch_idx: int) -> None: + """Stop timing after the final measured optimizer step.""" + + total_steps = self.warmup_steps + self.measured_steps + if batch_idx + 1 != total_steps: + return + if self._start_time is None: + raise RuntimeError("benchmark timer was not started") + + torch.cuda.synchronize(self.device) + elapsed = time.perf_counter() - self._start_time + local = torch.tensor( + [ + elapsed, + float(torch.cuda.max_memory_allocated(self.device)), + float(torch.cuda.max_memory_reserved(self.device)), + ], + dtype=torch.float64, + device=self.device, + ) + self._maxima = self.trainer.strategy.reduce(local, reduce_op=ReduceOp.MAX) + + def _parameter_checksums(self) -> tuple[float, float, float | None]: + """Return global checksums and DDP replica disagreement when applicable.""" + + if self.model is None: + raise RuntimeError("model was not created by configure_model()") + checksum = torch.zeros(2, dtype=torch.float64, device=self.device) + with torch.no_grad(): + for parameter in self.model.parameters(): + values = ( + parameter.to_local() + if isinstance(parameter, DTensor) + else parameter + ) + values = values.detach().to(torch.float64) + checksum[0] += values.sum() + checksum[1] += values.square().sum() + + if self.strategy_name == "fsdp2": + checksum = self.trainer.strategy.reduce(checksum, reduce_op=ReduceOp.SUM) + return checksum[0].item(), checksum[1].item(), None + + minimum = self.trainer.strategy.reduce(checksum.clone(), reduce_op=ReduceOp.MIN) + maximum = self.trainer.strategy.reduce(checksum, reduce_op=ReduceOp.MAX) + difference = (maximum - minimum).abs().max().item() + return checksum[0].item(), checksum[1].item(), difference + + def on_train_end(self) -> None: + """Reduce correctness metrics and write one result on global rank zero.""" + + if self._last_loss is None or self._maxima is None: + raise RuntimeError("the benchmark did not complete all requested steps") + + mean_loss = self.trainer.strategy.reduce( + self._last_loss.to(torch.float64), reduce_op="mean" + ).item() + if not math.isfinite(mean_loss): + raise RuntimeError( + "the final loss is not finite; retry with --precision fp32 or the " + "small preset" + ) + checksum_sum, checksum_squared_sum, checksum_difference = ( + self._parameter_checksums() + ) + if not math.isfinite(checksum_sum) or not math.isfinite(checksum_squared_sum): + raise RuntimeError("model parameters contain non-finite values") + + elapsed, peak_allocated, peak_reserved = self._maxima.tolist() + samples = self.measured_steps * self._global_batch_size + tokens = samples * self.config.sequence_length + result = { + "model": "synthetic encoder-style transformer", + "data": "synthetic GPU-resident integer token sequences", + "strategy": self.strategy_name, + "fsdp_wrap": (self.fsdp_wrap if self.strategy_name == "fsdp2" else None), + "preset": self.preset, + "model_config": asdict(self.config), + "global_parameter_count": self._global_parameter_count, + "local_parameter_elements": self._local_parameter_count, + "local_parameter_fraction": ( + self._local_parameter_count / self._global_parameter_count + ), + "model_parameters_fp32_gib": (4 * self._global_parameter_count / GIBIBYTE), + "batch_mode": self._batch_mode, + "batch_size_per_device": self._batch_size_per_device, + "global_batch_size": self._global_batch_size, + "world_size": self.trainer.world_size, + "warmup_steps": self.warmup_steps, + "measured_steps": self.measured_steps, + "precision_requested": self.precision_requested, + "precision_resolved": self.precision_resolved, + "seed": self.seed, + "elapsed_seconds": elapsed, + "milliseconds_per_step": 1000.0 * elapsed / self.measured_steps, + "samples_per_second": samples / elapsed, + "tokens_per_second": tokens / elapsed, + "final_loss_mean": mean_loss, + "peak_allocated_gib": peak_allocated / GIBIBYTE, + "peak_reserved_gib": peak_reserved / GIBIBYTE, + "parameter_checksum_sum": checksum_sum, + "parameter_checksum_squared_sum": checksum_squared_sum, + "parameter_checksum_max_difference": checksum_difference, + "parameters_synchronized": ( + checksum_difference == 0.0 if checksum_difference is not None else None + ), + "gpu_name_rank_zero": torch.cuda.get_device_name(self.device), + "hostname_rank_zero": socket.gethostname(), + "pytorch_version": torch.__version__, + "lightning_version": L.__version__, + "cuda_version": torch.version.cuda, + "python_version": platform.python_version(), + "slurm_job_id": os.environ.get("SLURM_JOB_ID"), + "lightning_barebones": True, + } + if self.trainer.is_global_zero: + print_summary(result) + if self.output is not None: + text = json.dumps(result, indent=2, sort_keys=True) + self.output.write_text(f"{text}\n", encoding="utf-8") + print(f" JSON result: {self.output}") + + +def local_parameter_elements(model: nn.Module) -> int: + """Count parameter elements physically held by this rank when sharded.""" + + total = 0 + for parameter in model.parameters(): + if isinstance(parameter, DTensor): + total += parameter.to_local().numel() + else: + total += parameter.numel() + return total + + +def print_summary(result: dict[str, object]) -> None: + """Print a compact summary suitable for a Slurm log.""" + + print("Lightning DDP/FSDP2 synthetic transformer benchmark") + print(f" strategy: {result['strategy']}") + print(f" FSDP wrap: {result['fsdp_wrap']}") + print(f" preset: {result['preset']}") + print(f" GPUs: {result['world_size']}") + print(f" parameters: {result['global_parameter_count']:,}") + print(f" local param fraction: {result['local_parameter_fraction']:.3f}") + print(f" precision: {result['precision_resolved']}") + print(f" time/step: {result['milliseconds_per_step']:.3f} ms") + print(f" throughput: {result['tokens_per_second']:.1f} tokens/s") + print(f" peak allocated/GPU: {result['peak_allocated_gib']:.2f} GiB") + print(f" peak reserved/GPU: {result['peak_reserved_gib']:.2f} GiB") + if result["parameters_synchronized"] is not None: + print(f" parameters synchronized: {result['parameters_synchronized']}") + + +def make_strategy( + strategy_name: str, devices: int, num_nodes: int +) -> DDPStrategy | ModelParallelStrategy: + """Create the Lightning strategy for replicated or FSDP2 training.""" + + timeout = timedelta(minutes=5) + if strategy_name == "ddp": + return DDPStrategy(timeout=timeout, gradient_as_bucket_view=True) + return ModelParallelStrategy( + data_parallel_size=devices * num_nodes, + tensor_parallel_size=1, + timeout=timeout, + ) + + +def main() -> None: + """Create the module and run the selected barebones Lightning Trainer.""" + + arguments = parse_arguments() + resolved_precision = resolve_precision(arguments.precision) + trainer_precision = ( + "bf16-mixed" + if arguments.strategy == "ddp" and resolved_precision == "bf16" + else "32-true" + ) + L.seed_everything(arguments.seed, workers=True) + model = TransformerBenchmark( + config=PRESETS[arguments.preset], + preset=arguments.preset, + strategy_name=arguments.strategy, + fsdp_wrap=arguments.fsdp_wrap, + batch_size_per_device=arguments.batch_size_per_device, + global_batch_size=arguments.global_batch_size, + warmup_steps=arguments.warmup_steps, + measured_steps=arguments.steps, + precision_requested=arguments.precision, + precision_resolved=resolved_precision, + seed=arguments.seed, + output=arguments.output, + ) + trainer = L.Trainer( + accelerator="gpu", + devices=arguments.devices, + num_nodes=arguments.num_nodes, + strategy=make_strategy( + arguments.strategy, arguments.devices, arguments.num_nodes + ), + precision=trainer_precision, + max_steps=arguments.warmup_steps + arguments.steps, + max_epochs=1, + use_distributed_sampler=False, + barebones=True, + ) + trainer.fit(model) + + +if __name__ == "__main__": + main() diff --git a/source-code/pytorch/README.md b/source-code/pytorch/README.md index ce15e4e..c6f926d 100644 --- a/source-code/pytorch/README.md +++ b/source-code/pytorch/README.md @@ -29,3 +29,5 @@ natural language processing, computer vision, and reinforcement learning. foundation for understanding how to work with data in PyTorch. 1. `ddp`: directory containing code to illustrate the use of Distributed Data Parallel (DDP) in PyTorch. +1. [`fsdp/`](fsdp/): batch-friendly material comparing DDP with PyTorch FSDP2 + using a synthetic transformer. diff --git a/source-code/pytorch/fsdp/README.md b/source-code/pytorch/fsdp/README.md new file mode 100644 index 0000000..25f2a0a --- /dev/null +++ b/source-code/pytorch/fsdp/README.md @@ -0,0 +1,223 @@ +# PyTorch FSDP2 benchmark + +[`fsdp2_transformer.py`](fsdp2_transformer.py) compares native PyTorch +`DistributedDataParallel` (DDP) with Fully Sharded Data Parallel version 2 +(FSDP2). It uses the same synthetic transformer workload for both strategies +and reports per-GPU memory, throughput, timing, and parameter-storage metrics. + +No model, weights, tokenizer, or dataset are downloaded. The model is an +encoder-style transformer assembled from standard PyTorch modules, and each +rank creates a distinct synthetic token batch directly on its GPU. + +This is primarily a memory-scaling exercise. FSDP2 may be slower than DDP when +the complete model already fits comfortably on every GPU. That is not a failed +experiment: it demonstrates the cost of exchanging parameters in return for +lower persistent model-state memory. + +## Learning objectives and prerequisites + +After this 45–60 minute hands-on, participants should be able to: + +1. distinguish DDP replication from FSDP parameter, gradient, and optimizer + sharding; +2. compare memory and throughput without changing the model or effective + batch; +3. explain why FSDP peak memory does not decrease by exactly `1 / world_size`; +4. choose a transformer-block sharding boundary instead of blindly sharding + only the root model. + +Required prerequisites are the preceding DDP exercise, basic PyTorch training +knowledge, a single node with at least two CUDA GPUs, and a CUDA-enabled build +of PyTorch 2.13 as specified by this repository's +[`environment_gpu.yml`](../../../environment_gpu.yml). +BF16 support is helpful but not required: `--precision auto` falls back to FP32 +when any participating GPU lacks BF16 support. + +The example uses the public `torch.distributed.fsdp.fully_shard` API. PyTorch's +[FSDP2 tutorial](https://docs.pytorch.org/tutorials/intermediate/FSDP_tutorial.html) +marks FSDP1 as deprecated and explains the current per-parameter design. + +## Model presets + +Start with `small`. The instructor should validate `medium` on the actual lab +hardware before the session. `large` is deliberately capable of exhausting +smaller GPUs and should be treated as an optional capacity experiment. + +| Preset | Blocks | Hidden size | Parameters | FP32 parameters only | Approximate DDP model state with AdamW | +|---|---:|---:|---:|---:|---:| +| `small` | 12 | 768 | 88,327,680 | 0.33 GiB | 1.32 GiB | +| `medium` | 24 | 1,024 | 306,563,072 | 1.14 GiB | 4.57 GiB | +| `large` | 32 | 1,280 | 634,903,040 | 2.37 GiB | 9.46 GiB | + +The final column estimates FP32 parameters, gradients, and the two AdamW +moment tensors after the first optimizer step. It excludes activations, DDP +buckets, temporary all-gather buffers, CUDA context memory, allocator +fragmentation, and NCCL allocations, so actual peak memory will be higher. + +## Command-line options + +| Option | Default | Meaning | +|---|---|---| +| `--strategy {ddp,fsdp2}` | required | Select replicated DDP or fully sharded training. | +| `--preset {small,medium,large}` | `small` | Select the model dimensions from the table above. | +| `--fsdp-wrap {block,root}` | `block` | Choose per-transformer-block or root-only FSDP grouping; ignored for DDP. | +| `--batch-size-per-device N` | `1` | Set the local batch; keeping it fixed gives a weak-scaling comparison. | +| `--global-batch-size N` | unset | Set a fixed total batch for strong scaling; mutually exclusive with the local batch option. | +| `--warmup-steps N` | `5` | Run untimed steps that initialize optimizer state and communication paths. | +| `--steps N` | `15` | Set the number of timed optimizer steps. | +| `--precision {auto,fp32,bf16}` | `auto` | Use BF16 only when all ranks support it; `auto` otherwise selects FP32. | +| `--seed N` | `1234` | Control model initialization and rank-specific synthetic inputs. | +| `--output PATH` | unset | Write the rank-zero result as JSON; existing files are protected. | +| `--overwrite-output` | off | Permit replacement of an existing `--output` file. | + +## Core code map + +The line numbers below refer to the current version of +[`fsdp2_transformer.py`](fsdp2_transformer.py). Function and class names are +the more durable reference if the file changes later. + +| Area | Function or class and line | What to inspect | +|---|---|---| +| Options and validation | [`parse_arguments()` — line 92](fsdp2_transformer.py#L92) | Defines the strategy, preset, wrapping, batch, precision, timing, and output options. | +| Distributed setup | [`initialize_distributed()` — line 162](fsdp2_transformer.py#L162) | Reads `torchrun` variables, binds one GPU per process, and initializes NCCL. | +| Batch interpretation | [`resolve_batch_sizes()` — line 194](fsdp2_transformer.py#L194) | Distinguishes fixed per-device and fixed global batches. | +| Precision setup | [`resolve_precision()` — line 214](fsdp2_transformer.py#L214) | Selects BF16 only when every participating GPU supports it. | +| Transformer block | [`TransformerBlock` — line 234](fsdp2_transformer.py#L234) | Defines the unit used as an FSDP communication and sharding boundary. | +| Complete model | [`SyntheticTransformer` — line 265](fsdp2_transformer.py#L265) | Creates embeddings, transformer blocks, normalization, and a classification head. | +| Synthetic input | [`make_batch()` — line 292](fsdp2_transformer.py#L292) | Creates distinct GPU-resident tokens and labels for each rank. | +| DDP or FSDP2 setup | [`configure_distributed_model()` — line 319](fsdp2_transformer.py#L319) | Wraps the full model in DDP or applies `fully_shard()` to each block and then the root. | +| Local shard measurement | [`local_parameter_elements()` — line 353](fsdp2_transformer.py#L353) | Counts parameter elements physically stored on one rank. | +| One training cycle | [`training_step()` — line 365](fsdp2_transformer.py#L365) | Runs zeroing, forward propagation, loss, backward propagation, communication, and AdamW update. | +| Benchmark cycle | [`run()` — line 412](fsdp2_transformer.py#L412) | Creates the model and optimizer, performs warm-up, times training, reduces metrics, and constructs the result. | +| Program entry point | [`main()` — line 543](fsdp2_transformer.py#L543) | Handles rank-zero reporting, optional JSON output, errors, and process-group cleanup. | + +Start with `run()`, then compare the two branches of +`configure_distributed_model()`. The most important FSDP2 detail is that the +optimizer is created only after `fully_shard()` has transformed the model +parameters. + +## Run the core comparison + +Use the same process count, preset, precision, and batch for both runs. On a +four-GPU node: + +```bash +torchrun --standalone --nproc-per-node=4 fsdp2_transformer.py \ + --strategy ddp \ + --preset medium \ + --batch-size-per-device 1 \ + --output result-medium-ddp.json + +torchrun --standalone --nproc-per-node=4 fsdp2_transformer.py \ + --strategy fsdp2 \ + --fsdp-wrap block \ + --preset medium \ + --batch-size-per-device 1 \ + --output result-medium-fsdp2-block.json +``` + +If `medium` is too slow or exceeds memory, substitute `small` in both commands. +Do not shrink only one run: changing the workload invalidates the comparison. + +For strong scaling, hold the global batch constant. It must be divisible by the +number of processes: + +```bash +torchrun --standalone --nproc-per-node=4 fsdp2_transformer.py \ + --strategy fsdp2 \ + --preset small \ + --global-batch-size 4 \ + --output result-small-global4-fsdp2.json +``` + +## Run as a single-node Slurm batch job + +This layout asks Slurm for one launcher task and four GPUs; `torchrun` creates +one worker process per GPU. Scheduler options differ between clusters, so use +the local GPU-resource spelling when it is not `--gpus-per-node`. + +```bash +#!/usr/bin/env bash +#SBATCH --nodes=1 +#SBATCH --ntasks-per-node=1 +#SBATCH --gpus-per-node=4 + +set -euo pipefail + +srun torchrun --standalone --nproc-per-node=4 fsdp2_transformer.py \ + --strategy ddp \ + --preset medium \ + --output result-medium-ddp.json + +srun torchrun --standalone --nproc-per-node=4 fsdp2_transformer.py \ + --strategy fsdp2 \ + --fsdp-wrap block \ + --preset medium \ + --output result-medium-fsdp2-block.json +``` + +Some sites use `#SBATCH --gres=gpu:4`. This example covers one node only; +multi-node `torchrun` requires rendezvous settings supplied by the batch job. + +## Hands-on tasks + +Before running anything, predict which strategy will have the lowest peak +memory and which will have the best throughput. Then: + +1. Run the DDP and block-wrapped FSDP2 commands above. +2. Compare `local_parameter_fraction`, `peak_allocated_gib`, + `milliseconds_per_step`, and `tokens_per_second` in the JSON files. +3. Explain why DDP reports a local parameter fraction of approximately `1.0`, + while FSDP2 approaches `1 / world_size`. +4. Repeat FSDP2 with `--fsdp-wrap root` and predict the result first: + + ```bash + torchrun --standalone --nproc-per-node=4 fsdp2_transformer.py \ + --strategy fsdp2 \ + --fsdp-wrap root \ + --preset medium \ + --output result-medium-fsdp2-root.json + ``` + +5. Explain why root-only and per-block FSDP store similar persistent shards but + can have different peak memory and throughput. +6. If time and hardware permit, find the largest preset that runs with each + strategy. Treat an out-of-memory result as capacity evidence, not as a + throughput measurement. + +A successful solution does more than produce three JSON files. It gives a +defensible explanation of the observed trade-off and identifies which strategy +is appropriate when the model fits and when it does not. + +## Interpret the output carefully + +- `local_parameter_fraction` counts parameter elements stored by the rank. It + does not include gradients, optimizer state, activations, or communication + buffers. +- With one process, FSDP2 has nothing to shard and the local fraction remains + approximately `1.0`; use at least two GPUs to demonstrate its purpose. +- FSDP2 peak memory does not fall exactly by `1 / world_size`: the current + layer must be gathered for computation, activations remain local, and CUDA + libraries need temporary memory. +- Block wrapping gives each transformer block its own communication group, + permitting parameter all-gathers to overlap with computation. Root-only + wrapping gathers the entire model as one group and is intentionally included + as a poor boundary choice. +- `parameters_synchronized` is meaningful for replicated DDP parameters. It is + `null` for FSDP2 because ranks own complementary shards rather than replicas; + the script instead reports checksums reduced across all shards. +- BF16 is implemented with DDP autocast and an FSDP2 mixed-precision policy. + The two mechanisms are idiomatic for their respective strategies but do not + make every intermediate tensor identical. +- Peak memory uses PyTorch's CUDA allocator counters. Allocations made directly + by libraries such as NCCL are not fully represented. +- Peak statistics are reset after warm-up, so they describe steady-state + training and deliberately exclude model-construction and initial sharding + peaks. +- Synthetic, reused input removes I/O noise and model accuracy from the + exercise. The result must not be presented as end-to-end training + performance. + +Activation checkpointing and distributed checkpoint files are deliberately +left out. Both are valuable follow-up topics, but either would add another +memory mechanism and make the core DDP/FSDP comparison harder to interpret. diff --git a/source-code/pytorch/fsdp/fsdp2_transformer.py b/source-code/pytorch/fsdp/fsdp2_transformer.py new file mode 100644 index 0000000..157983f --- /dev/null +++ b/source-code/pytorch/fsdp/fsdp2_transformer.py @@ -0,0 +1,566 @@ +#!/usr/bin/env python3 +"""Compare native PyTorch DDP and FSDP2 on a synthetic transformer. + +The model and token batches are created locally, so the benchmark downloads +nothing and measures model computation plus distributed communication rather +than storage or data-pipeline performance. The default ``small`` preset is +intended as a quick smoke test; ``medium`` makes model-state memory sharding +more visible on typical multi-GPU training nodes. + +Run both strategies with the same number of processes and settings:: + + torchrun --standalone --nproc-per-node=4 fsdp2_transformer.py \ + --strategy ddp --preset medium --output result-ddp.json + torchrun --standalone --nproc-per-node=4 fsdp2_transformer.py \ + --strategy fsdp2 --preset medium --output result-fsdp2.json + +FSDP2 is most useful for reducing model-state memory. It may be slower than +DDP when the unsharded model already fits comfortably on every GPU. +""" + +from __future__ import annotations + +import argparse +import json +import math +import os +import platform +import socket +import sys +import time +from dataclasses import asdict, dataclass +from datetime import timedelta +from pathlib import Path + +import torch +import torch.distributed as dist +from torch import Tensor, nn +from torch.distributed.fsdp import MixedPrecisionPolicy, fully_shard +from torch.distributed.tensor import DTensor +from torch.nn.parallel import DistributedDataParallel as DDP + +GIBIBYTE = 2**30 + + +@dataclass(frozen=True) +class ModelConfig: + """Configuration for one synthetic transformer preset.""" + + layers: int + hidden_size: int + attention_heads: int + feedforward_size: int + sequence_length: int + vocabulary_size: int = 4096 + classes: int = 16 + + +PRESETS = { + "small": ModelConfig( + layers=12, + hidden_size=768, + attention_heads=12, + feedforward_size=3072, + sequence_length=256, + ), + "medium": ModelConfig( + layers=24, + hidden_size=1024, + attention_heads=16, + feedforward_size=4096, + sequence_length=256, + ), + "large": ModelConfig( + layers=32, + hidden_size=1280, + attention_heads=20, + feedforward_size=5120, + sequence_length=256, + ), +} + + +def positive_integer(value: str) -> int: + """Parse a positive command-line integer.""" + + number = int(value) + if number <= 0: + raise argparse.ArgumentTypeError("must be a positive integer") + return number + + +def parse_arguments() -> argparse.Namespace: + """Parse arguments and reject invalid output behavior before GPU setup.""" + + parser = argparse.ArgumentParser( + description="Compare DDP and FSDP2 with a synthetic transformer.", + formatter_class=argparse.ArgumentDefaultsHelpFormatter, + ) + parser.add_argument("--strategy", choices=("ddp", "fsdp2"), required=True) + parser.add_argument("--preset", choices=tuple(PRESETS), default="small") + parser.add_argument( + "--fsdp-wrap", + choices=("block", "root"), + default="block", + help="FSDP2 communication-group boundary; ignored for DDP", + ) + batches = parser.add_mutually_exclusive_group() + batches.add_argument( + "--batch-size-per-device", + type=positive_integer, + default=1, + help="samples per GPU; keeping this fixed is weak scaling", + ) + batches.add_argument( + "--global-batch-size", + type=positive_integer, + help="total samples across GPUs; must be divisible by WORLD_SIZE", + ) + parser.add_argument( + "--warmup-steps", type=positive_integer, default=5, help="untimed steps" + ) + parser.add_argument( + "--steps", type=positive_integer, default=15, help="timed optimizer steps" + ) + parser.add_argument( + "--precision", + choices=("auto", "fp32", "bf16"), + default="auto", + help="auto uses BF16 when every GPU supports it, otherwise FP32", + ) + parser.add_argument("--seed", type=int, default=1234) + parser.add_argument( + "--output", type=Path, help="optional JSON result path written by rank zero" + ) + parser.add_argument( + "--overwrite-output", + action="store_true", + help="allow replacement of an existing output file", + ) + parser.add_argument( + "--local-rank", "--local_rank", type=int, help=argparse.SUPPRESS + ) + arguments = parser.parse_args() + + if arguments.seed < 0: + parser.error("--seed must be non-negative") + if arguments.output is None and arguments.overwrite_output: + parser.error("--overwrite-output requires --output") + if arguments.output is not None: + if arguments.output.is_dir(): + parser.error(f"output path is a directory: {arguments.output}") + if arguments.output.exists() and not arguments.overwrite_output: + parser.error( + f"output already exists: {arguments.output}; " + "use --overwrite-output to replace it" + ) + if not arguments.output.parent.exists(): + parser.error(f"output directory does not exist: {arguments.output.parent}") + return arguments + + +def initialize_distributed() -> tuple[int, int, int, torch.device]: + """Initialize NCCL and bind this process to its torchrun GPU.""" + + required = ("LOCAL_RANK", "RANK", "WORLD_SIZE", "MASTER_ADDR", "MASTER_PORT") + missing = [name for name in required if name not in os.environ] + if missing: + raise RuntimeError( + f"missing torchrun variables {', '.join(missing)}; launch with, for " + "example, 'torchrun --standalone --nproc-per-node=2 " + "fsdp2_transformer.py --strategy fsdp2'" + ) + if not torch.cuda.is_available(): + raise RuntimeError("CUDA is unavailable; this benchmark requires GPUs") + + local_rank = int(os.environ["LOCAL_RANK"]) + rank = int(os.environ["RANK"]) + world_size = int(os.environ["WORLD_SIZE"]) + visible_devices = torch.cuda.device_count() + if not 0 <= local_rank < visible_devices: + raise RuntimeError( + f"LOCAL_RANK={local_rank}, but this process sees " + f"{visible_devices} CUDA device(s)" + ) + + torch.cuda.set_device(local_rank) + device = torch.device("cuda", local_rank) + dist.init_process_group( + backend="nccl", init_method="env://", timeout=timedelta(minutes=5) + ) + return local_rank, rank, world_size, device + + +def resolve_batch_sizes( + arguments: argparse.Namespace, world_size: int +) -> tuple[int, int, str]: + """Resolve per-device and global batch sizes after distributed setup.""" + + if arguments.global_batch_size is None: + per_device = arguments.batch_size_per_device + return per_device, per_device * world_size, "fixed_per_device" + if arguments.global_batch_size % world_size != 0: + raise ValueError( + f"--global-batch-size={arguments.global_batch_size} is not divisible " + f"by WORLD_SIZE={world_size}" + ) + return ( + arguments.global_batch_size // world_size, + arguments.global_batch_size, + "fixed_global", + ) + + +def resolve_precision(requested: str, device: torch.device) -> tuple[str, bool]: + """Choose FP32 or BF16 consistently across all participating GPUs.""" + + bf16_supported = torch.tensor( + int(torch.cuda.is_bf16_supported()), dtype=torch.int32, device=device + ) + dist.all_reduce(bf16_supported, op=dist.ReduceOp.MIN) + all_support_bf16 = bool(bf16_supported.item()) + + if requested == "fp32": + return "fp32", False + if requested == "bf16": + if not all_support_bf16: + raise ValueError( + "BF16 was requested, but at least one GPU does not support it" + ) + return "bf16", True + return ("bf16", True) if all_support_bf16 else ("fp32", False) + + +class TransformerBlock(nn.Module): + """Pre-normalized self-attention and feed-forward transformer block.""" + + def __init__(self, config: ModelConfig) -> None: + super().__init__() + self.attention_norm = nn.LayerNorm(config.hidden_size) + self.attention = nn.MultiheadAttention( + embed_dim=config.hidden_size, + num_heads=config.attention_heads, + dropout=0.0, + bias=False, + batch_first=True, + ) + self.feedforward_norm = nn.LayerNorm(config.hidden_size) + self.feedforward = nn.Sequential( + nn.Linear(config.hidden_size, config.feedforward_size, bias=False), + nn.GELU(approximate="tanh"), + nn.Linear(config.feedforward_size, config.hidden_size, bias=False), + ) + + def forward(self, hidden_states: Tensor) -> Tensor: + """Apply one residual attention and feed-forward block.""" + + normalized = self.attention_norm(hidden_states) + attention_output, _ = self.attention( + normalized, normalized, normalized, need_weights=False + ) + hidden_states = hidden_states + attention_output + return hidden_states + self.feedforward(self.feedforward_norm(hidden_states)) + + +class SyntheticTransformer(nn.Module): + """Encoder-style transformer for a synthetic sequence classification task.""" + + def __init__(self, config: ModelConfig) -> None: + super().__init__() + self.token_embedding = nn.Embedding(config.vocabulary_size, config.hidden_size) + self.position_embedding = nn.Parameter( + torch.empty(config.sequence_length, config.hidden_size) + ) + nn.init.normal_(self.position_embedding, mean=0.0, std=0.02) + self.blocks = nn.ModuleList( + TransformerBlock(config) for _ in range(config.layers) + ) + self.output_norm = nn.LayerNorm(config.hidden_size) + self.classifier = nn.Linear(config.hidden_size, config.classes, bias=False) + + def forward(self, token_ids: Tensor) -> Tensor: + """Return sequence-classification logits for integer token IDs.""" + + hidden_states = self.token_embedding(token_ids) + hidden_states = hidden_states + self.position_embedding.unsqueeze(0) + for block in self.blocks: + hidden_states = block(hidden_states) + hidden_states = self.output_norm(hidden_states[:, 0]) + return self.classifier(hidden_states) + + +def make_batch( + config: ModelConfig, + batch_size: int, + rank: int, + seed: int, + device: torch.device, +) -> tuple[Tensor, Tensor]: + """Create one rank-specific, GPU-resident synthetic batch.""" + + generator = torch.Generator(device=device).manual_seed(seed + rank) + token_ids = torch.randint( + 0, + config.vocabulary_size, + (batch_size, config.sequence_length), + generator=generator, + device=device, + ) + targets = torch.randint( + 0, + config.classes, + (batch_size,), + generator=generator, + device=device, + ) + return token_ids, targets + + +def configure_distributed_model( + model: SyntheticTransformer, + strategy: str, + fsdp_wrap: str, + use_bf16: bool, + local_rank: int, + device: torch.device, +) -> nn.Module: + """Wrap the model with DDP or apply FSDP2 in place.""" + + if strategy == "ddp": + model.to(device) + return DDP( + model, + device_ids=[local_rank], + output_device=local_rank, + gradient_as_bucket_view=True, + ) + + mixed_precision_policy = ( + MixedPrecisionPolicy( + param_dtype=torch.bfloat16, + reduce_dtype=torch.float32, + ) + if use_bf16 + else MixedPrecisionPolicy() + ) + if fsdp_wrap == "block": + for block in model.blocks: + fully_shard(block, mp_policy=mixed_precision_policy) + fully_shard(model, mp_policy=mixed_precision_policy) + return model + + +def local_parameter_elements(model: nn.Module) -> int: + """Count parameter elements physically held by this rank when sharded.""" + + total = 0 + for parameter in model.parameters(): + if isinstance(parameter, DTensor): + total += parameter.to_local().numel() + else: + total += parameter.numel() + return total + + +def training_step( + model: nn.Module, + token_ids: Tensor, + targets: Tensor, + optimizer: torch.optim.Optimizer, + use_ddp_autocast: bool, +) -> Tensor: + """Run one forward, backward, communication, and optimizer cycle.""" + + optimizer.zero_grad(set_to_none=True) + with torch.autocast( + device_type="cuda", dtype=torch.bfloat16, enabled=use_ddp_autocast + ): + logits = model(token_ids) + loss = nn.functional.cross_entropy(logits.float(), targets) + loss.backward() + optimizer.step() + return loss.detach() + + +def parameter_checksums( + model: nn.Module, strategy: str, device: torch.device +) -> tuple[float, float, float | None]: + """Return global parameter checksums and DDP replica disagreement.""" + + checksum = torch.zeros(2, dtype=torch.float64, device=device) + with torch.no_grad(): + for parameter in model.parameters(): + values = ( + parameter.to_local() if isinstance(parameter, DTensor) else parameter + ) + values = values.detach().to(torch.float64) + checksum[0] += values.sum() + checksum[1] += values.square().sum() + + if strategy == "fsdp2": + dist.all_reduce(checksum, op=dist.ReduceOp.SUM) + return checksum[0].item(), checksum[1].item(), None + + minimum = checksum.clone() + maximum = checksum.clone() + dist.all_reduce(minimum, op=dist.ReduceOp.MIN) + dist.all_reduce(maximum, op=dist.ReduceOp.MAX) + difference = (maximum - minimum).abs().max().item() + return checksum[0].item(), checksum[1].item(), difference + + +def run(arguments: argparse.Namespace) -> dict[str, object]: + """Run the selected strategy and return one benchmark result record.""" + + local_rank, rank, world_size, device = initialize_distributed() + per_device_batch, global_batch, batch_mode = resolve_batch_sizes( + arguments, world_size + ) + precision, use_bf16 = resolve_precision(arguments.precision, device) + config = PRESETS[arguments.preset] + + torch.manual_seed(arguments.seed) + model = SyntheticTransformer(config) + global_parameter_count = sum(parameter.numel() for parameter in model.parameters()) + model = configure_distributed_model( + model=model, + strategy=arguments.strategy, + fsdp_wrap=arguments.fsdp_wrap, + use_bf16=use_bf16, + local_rank=local_rank, + device=device, + ) + model.train() + local_parameter_count = local_parameter_elements(model) + optimizer = torch.optim.AdamW(model.parameters(), lr=1e-3) + token_ids, targets = make_batch( + config, per_device_batch, rank, arguments.seed, device + ) + + use_ddp_autocast = arguments.strategy == "ddp" and use_bf16 + loss = torch.zeros((), device=device) + for _ in range(arguments.warmup_steps): + loss = training_step(model, token_ids, targets, optimizer, use_ddp_autocast) + + dist.barrier() + torch.cuda.synchronize(device) + torch.cuda.reset_peak_memory_stats(device) + start_time = time.perf_counter() + for _ in range(arguments.steps): + loss = training_step(model, token_ids, targets, optimizer, use_ddp_autocast) + torch.cuda.synchronize(device) + elapsed = time.perf_counter() - start_time + + maxima = torch.tensor( + [ + elapsed, + float(torch.cuda.max_memory_allocated(device)), + float(torch.cuda.max_memory_reserved(device)), + ], + dtype=torch.float64, + device=device, + ) + dist.all_reduce(maxima, op=dist.ReduceOp.MAX) + elapsed, peak_allocated, peak_reserved = maxima.tolist() + + loss = loss.to(torch.float64) + dist.all_reduce(loss, op=dist.ReduceOp.SUM) + mean_loss = loss.item() / world_size + if not math.isfinite(mean_loss): + raise RuntimeError( + "the final loss is not finite; retry with --precision fp32 or the " + "small preset" + ) + checksum_sum, checksum_squared_sum, checksum_difference = parameter_checksums( + model, arguments.strategy, device + ) + if not math.isfinite(checksum_sum) or not math.isfinite(checksum_squared_sum): + raise RuntimeError("model parameters contain non-finite values") + + samples = arguments.steps * global_batch + tokens = samples * config.sequence_length + return { + "model": "synthetic encoder-style transformer", + "data": "synthetic GPU-resident integer token sequences", + "strategy": arguments.strategy, + "fsdp_wrap": (arguments.fsdp_wrap if arguments.strategy == "fsdp2" else None), + "preset": arguments.preset, + "model_config": asdict(config), + "global_parameter_count": global_parameter_count, + "local_parameter_elements": local_parameter_count, + "local_parameter_fraction": (local_parameter_count / global_parameter_count), + "model_parameters_fp32_gib": 4 * global_parameter_count / GIBIBYTE, + "batch_mode": batch_mode, + "batch_size_per_device": per_device_batch, + "global_batch_size": global_batch, + "world_size": world_size, + "warmup_steps": arguments.warmup_steps, + "measured_steps": arguments.steps, + "precision_requested": arguments.precision, + "precision_resolved": precision, + "seed": arguments.seed, + "elapsed_seconds": elapsed, + "milliseconds_per_step": 1000.0 * elapsed / arguments.steps, + "samples_per_second": samples / elapsed, + "tokens_per_second": tokens / elapsed, + "final_loss_mean": mean_loss, + "peak_allocated_gib": peak_allocated / GIBIBYTE, + "peak_reserved_gib": peak_reserved / GIBIBYTE, + "parameter_checksum_sum": checksum_sum, + "parameter_checksum_squared_sum": checksum_squared_sum, + "parameter_checksum_max_difference": checksum_difference, + "parameters_synchronized": ( + checksum_difference == 0.0 if checksum_difference is not None else None + ), + "gpu_name_rank_zero": torch.cuda.get_device_name(device), + "hostname_rank_zero": socket.gethostname(), + "pytorch_version": torch.__version__, + "cuda_version": torch.version.cuda, + "python_version": platform.python_version(), + "slurm_job_id": os.environ.get("SLURM_JOB_ID"), + } + + +def print_summary(result: dict[str, object]) -> None: + """Print a compact summary suitable for a Slurm log.""" + + print("DDP/FSDP2 synthetic transformer benchmark") + print(f" strategy: {result['strategy']}") + print(f" FSDP wrap: {result['fsdp_wrap']}") + print(f" preset: {result['preset']}") + print(f" GPUs: {result['world_size']}") + print(f" parameters: {result['global_parameter_count']:,}") + print(f" local param fraction: {result['local_parameter_fraction']:.3f}") + print(f" precision: {result['precision_resolved']}") + print(f" time/step: {result['milliseconds_per_step']:.3f} ms") + print(f" throughput: {result['tokens_per_second']:.1f} tokens/s") + print(f" peak allocated/GPU: {result['peak_allocated_gib']:.2f} GiB") + print(f" peak reserved/GPU: {result['peak_reserved_gib']:.2f} GiB") + if result["parameters_synchronized"] is not None: + print(f" parameters synchronized: {result['parameters_synchronized']}") + + +def main() -> int: + """Parse options, run the benchmark, and write rank-zero output.""" + + arguments = parse_arguments() + try: + result = run(arguments) + if dist.get_rank() == 0: + print_summary(result) + if arguments.output is not None: + text = json.dumps(result, indent=2, sort_keys=True) + arguments.output.write_text(f"{text}\n", encoding="utf-8") + print(f" JSON result: {arguments.output}") + return 0 + except (RuntimeError, ValueError) as error: + rank = os.environ.get("RANK", "unknown") + print(f"rank {rank}: error: {error}", file=sys.stderr) + return 2 + finally: + if dist.is_initialized(): + dist.destroy_process_group() + + +if __name__ == "__main__": + raise SystemExit(main()) From ce05e38f340b98acf87365e22357b9834d6006db Mon Sep 17 00:00:00 2001 From: Geert Jan Bex Date: Thu, 3 Sep 2026 11:58:32 +0200 Subject: [PATCH 28/33] Add data sharding bug hands-on --- source-code/pytorch/ddp/README.md | 7 + .../pytorch/ddp/data-sharding/README.md | 182 +++++++ .../ddp/data-sharding/buggy_data_sharding.py | 435 +++++++++++++++++ .../data-sharding/solution_data_sharding.py | 454 ++++++++++++++++++ 4 files changed, 1078 insertions(+) create mode 100644 source-code/pytorch/ddp/data-sharding/README.md create mode 100644 source-code/pytorch/ddp/data-sharding/buggy_data_sharding.py create mode 100644 source-code/pytorch/ddp/data-sharding/solution_data_sharding.py diff --git a/source-code/pytorch/ddp/README.md b/source-code/pytorch/ddp/README.md index a68cc4f..f6cb1ae 100644 --- a/source-code/pytorch/ddp/README.md +++ b/source-code/pytorch/ddp/README.md @@ -53,3 +53,10 @@ The JSON output records throughput, time per optimizer step, peak PyTorch CUDA memory, the resolved precision, software versions, hardware information, and a check that model parameters remained synchronized. PyTorch's memory counters do not include every allocation made directly by CUDA libraries such as NCCL. + +## Related hands-on exercise + +The [`data-sharding`](data-sharding/) exercise supplies an intentionally buggy +DDP input pipeline and a complete reference solution. Participants inspect +per-rank sample identifiers, diagnose duplicated data ownership, and repair the +loader with `DistributedSampler` and per-epoch reshuffling. diff --git a/source-code/pytorch/ddp/data-sharding/README.md b/source-code/pytorch/ddp/data-sharding/README.md new file mode 100644 index 0000000..51c36bf --- /dev/null +++ b/source-code/pytorch/ddp/data-sharding/README.md @@ -0,0 +1,182 @@ +# Exercise: diagnose DDP data sharding + +This 30–40 minute exercise demonstrates a correctness problem that can be easy +to miss: native PyTorch `DistributedDataParallel` (DDP) synchronizes gradients, +but it does **not** automatically divide a dataset between ranks. + +The exercise uses a tiny deterministic dataset whose samples have visible +integer identifiers. It therefore completes quickly, needs no downloads, and +lets you inspect data ownership directly instead of inferring it from training +speed or model accuracy. + +## Learning objective and success criterion + +After the exercise, you should be able to diagnose duplicated sample ownership +from per-rank evidence and repair it with a `DistributedSampler`. + +A correct epoch has all three properties below: + +- `processed_assignments` equals `dataset_size`; +- `unique_samples` equals `dataset_size`; +- `duplicate_assignments` is zero. + +The resulting `exactly_once_global` field must therefore be `true`. + +## Prerequisites + +- basic familiarity with a PyTorch `Dataset` and `DataLoader`; +- the DDP setup introduced by the parent + [`ddp_resnet50.py`](../ddp_resnet50.py) example; +- an environment containing PyTorch with distributed support; +- at least two `torchrun` processes. GPUs are useful but not required for this + correctness exercise. + +## Files + +| File | Purpose | +|---|---| +| [`buggy_data_sharding.py`](buggy_data_sharding.py) | Starting point with an intentionally incorrect input pipeline. It reports the defect but exits successfully because the failure is the expected exercise result. | +| [`solution_data_sharding.py`](solution_data_sharding.py) | Complete reference implementation using `DistributedSampler` and `set_epoch()`. It exits unsuccessfully if the exactly-once check fails. | + +The scripts are intentionally similar. A file comparison makes the small but +important input-pipeline changes visible; it is not necessary to rewrite DDP +boilerplate during the lab. + +## Part 1: predict, run, and diagnose + +Before running the buggy program, predict the answers to these questions: + +1. With a dataset of 32 samples and two ranks, how many sample assignments + should one correct global epoch contain? +2. Does wrapping the model in DDP also alter the `DataLoader`? +3. If every rank constructs the same ordinary shuffled `DataLoader`, which + sample identifiers do you expect the ranks to share? + +Run the starter program on CPU from this directory: + +```bash +torchrun --standalone --nproc-per-node=2 buggy_data_sharding.py \ + --device cpu \ + --output buggy-report.json +``` + +On a GPU node, omit `--device cpu` or use `--device cuda`. With the defaults and +two ranks, the important output is: + +```text +assignments: 64; unique samples: 32; duplicate assignments: 32 +exactly once globally: False +``` + +Inspect the rank-specific sample-ID lists and the +`pairwise_rank_overlap` field in `buggy-report.json`. Explain why the model can +still train and remain synchronized even though this is not useful data +parallelism. + +## Part 2: repair the input pipeline + +Work in a personal copy of the buggy script. Change only the data-loading and +epoch setup needed to meet the success criterion. Do not use the reference +solution until you have a proposed diagnosis. + +### Hints + +1. DDP owns the model and gradient communication; look at + `make_dataloader()` for the separate data-ownership decision. +2. A `DistributedSampler` needs the number of replicas and this process's + global rank. When a sampler supplies indices, `DataLoader(shuffle=True)` is + neither needed nor allowed. +3. For deterministic shuffling that changes between epochs, call + `sampler.set_epoch(epoch)` before iterating over the loader. + +Run your repaired version with the same arguments. A correct two-rank run +should report 32 assignments, 32 unique samples, zero duplicate assignments, +and `exactly once globally: True` in every epoch. + +## Part 3: compare with the reference + +Run the complete solution: + +```bash +torchrun --standalone --nproc-per-node=2 solution_data_sharding.py \ + --device cpu \ + --output solution-report.json +``` + +Then compare the implementations: + +```bash +diff -u buggy_data_sharding.py solution_data_sharding.py +``` + +The essential repair is small: + +- `DistributedSampler` assigns a disjoint subset of indices to every rank; +- the loader receives `sampler=sampler` instead of `shuffle=True`; +- `sampler.set_epoch(epoch)` changes the sampler's deterministic shuffle seed + for each epoch. + +`set_epoch()` does not provide the sharding itself—the sampler does. Conversely, +the sampler can shard without `set_epoch()`, but its shuffled ordering then +repeats each epoch. As an extension, comment out `set_epoch()` in a copy of the +solution and compare the rank-specific order across epochs. + +## Run as a Slurm batch job + +For a single node with four assigned GPUs, one Slurm task can start four local +DDP processes: + +```bash +#!/usr/bin/env bash +#SBATCH --nodes=1 +#SBATCH --ntasks-per-node=1 +#SBATCH --gpus-per-node=4 +#SBATCH --time=00:05:00 + +srun torchrun --standalone --nproc-per-node=4 \ + solution_data_sharding.py \ + --dataset-size 32 \ + --output "solution-${SLURM_JOB_ID}.json" +``` + +Adapt the resource directives to the cluster; some sites require a GPU +partition, account, or module setup. The scripts use NCCL when CUDA is selected +and Gloo for the CPU fallback. + +## Core code map + +Function names are more durable than line numbers if the files change later. + +| Area | Buggy starter | Reference solution | What to inspect | +|---|---|---|---| +| Indexed input | [`IndexedClassificationDataset` — line 47](buggy_data_sharding.py#L47) | [`IndexedClassificationDataset` — line 45](solution_data_sharding.py#L45) | Creates deterministic samples and returns a visible sample ID with each item. | +| Distributed setup | [`initialize_distributed()` — line 131](buggy_data_sharding.py#L131) | [`initialize_distributed()` — line 129](solution_data_sharding.py#L129) | Reads `torchrun` variables, chooses NCCL/CUDA or Gloo/CPU, and initializes the process group. | +| Model creation | [`make_model()` — line 194](buggy_data_sharding.py#L194) | [`make_model()` — line 192](solution_data_sharding.py#L192) | Builds the same tiny classifier on every rank. | +| Input handling | [`make_dataloader()` — line 204](buggy_data_sharding.py#L204) | [`make_dataloader()` — line 202](solution_data_sharding.py#L202) | Contains the deliberate defect and its sampler-based repair. | +| Training cycle | [`train_one_epoch()` — line 221](buggy_data_sharding.py#L221) | [`train_one_epoch()` — line 230](solution_data_sharding.py#L230) | Runs forward, backward, DDP gradient synchronization, and the optimizer step while recording sample IDs. | +| Evidence | [`analyze_assignments()` — line 273](buggy_data_sharding.py#L273) | [`analyze_assignments()` — line 282](solution_data_sharding.py#L282) | Computes coverage, duplication, missing IDs, and pairwise rank overlap. | +| Orchestration | [`run()` — line 338](buggy_data_sharding.py#L338) | [`run()` — line 347](solution_data_sharding.py#L347) | Connects distributed setup, input, model construction, training, and reporting. | + +## Assumptions and limitations + +- The dataset size must be divisible by the world size. In general, + `DistributedSampler(drop_last=False)` pads its index list when divisibility is + impossible, so a few repeated samples can be expected rather than erroneous. + This exercise rejects that case to keep the exactly-once test unambiguous. +- Identical sample order is deliberately encouraged in the buggy script by + using the same loader seed on every rank. Independent seeds would change the + order but would **not** fix the ownership bug: every rank would still process + the complete dataset. +- A changed permutation is random behavior, not a mathematical guarantee for + tiny shards. The solution verifies exactly-once ownership and reports whether + each observed ordering changed; the call to `set_epoch()` is the relevant + implementation check. +- `gather_object()` is suitable for the small diagnostic lists used here, but + object collectives are inefficient for large datasets. Production code + should avoid gathering every sample ID during normal training and use compact + counters or purpose-built validation instead. + +## Further reading + +- [PyTorch `DistributedDataParallel` documentation](https://docs.pytorch.org/docs/stable/generated/torch.nn.parallel.DistributedDataParallel.html) +- [PyTorch `DistributedSampler` documentation](https://docs.pytorch.org/docs/stable/data.html#torch.utils.data.distributed.DistributedSampler) diff --git a/source-code/pytorch/ddp/data-sharding/buggy_data_sharding.py b/source-code/pytorch/ddp/data-sharding/buggy_data_sharding.py new file mode 100644 index 0000000..3859ac9 --- /dev/null +++ b/source-code/pytorch/ddp/data-sharding/buggy_data_sharding.py @@ -0,0 +1,435 @@ +#!/usr/bin/env python3 +"""Diagnose an intentionally incorrect DDP input pipeline. + +Run this program with at least two processes. It trains a tiny classifier and +records the sample identifiers processed by every rank. The input pipeline is +plausible for single-process training but intentionally incorrect for DDP. + +Example:: + + torchrun --standalone --nproc-per-node=2 buggy_data_sharding.py \ + --device cpu --output buggy-report.json + +The program exits successfully when it exposes the intended data-sharding +failure. That makes it convenient to use in a scheduled hands-on exercise. +""" + +from __future__ import annotations + +import argparse +import json +import os +import sys +from collections import Counter +from dataclasses import dataclass +from datetime import timedelta +from pathlib import Path +from typing import Any + +import torch +import torch.distributed as dist +from torch import Tensor, nn +from torch.nn.parallel import DistributedDataParallel as DDP +from torch.utils.data import DataLoader, Dataset + + +@dataclass(frozen=True) +class DistributedRuntime: + """Information about this process in the distributed job.""" + + local_rank: int + rank: int + world_size: int + device: torch.device + backend: str + + +class IndexedClassificationDataset(Dataset[tuple[Tensor, Tensor, int]]): + """Small deterministic dataset that exposes each sample's identifier.""" + + def __init__( + self, + size: int, + feature_count: int, + class_count: int, + seed: int, + ) -> None: + generator = torch.Generator().manual_seed(seed) + self.features = torch.randn(size, feature_count, generator=generator) + projection = torch.randn(feature_count, class_count, generator=generator) + self.targets = (self.features @ projection).argmax(dim=1) + + def __len__(self) -> int: + return self.features.shape[0] + + def __getitem__(self, index: int) -> tuple[Tensor, Tensor, int]: + return self.features[index], self.targets[index], index + + +def positive_integer(value: str) -> int: + """Parse a positive command-line integer.""" + + number = int(value) + if number <= 0: + raise argparse.ArgumentTypeError("must be a positive integer") + return number + + +def parse_arguments() -> argparse.Namespace: + """Parse and validate options that do not depend on the worker count.""" + + parser = argparse.ArgumentParser( + description="Expose a data-sharding bug in a native PyTorch DDP job.", + formatter_class=argparse.ArgumentDefaultsHelpFormatter, + ) + parser.add_argument("--dataset-size", type=positive_integer, default=32) + parser.add_argument("--batch-size", type=positive_integer, default=4) + parser.add_argument("--epochs", type=positive_integer, default=2) + parser.add_argument("--seed", type=int, default=1234) + parser.add_argument( + "--device", + choices=("auto", "cpu", "cuda"), + default="auto", + help="auto uses CUDA when available and CPU otherwise", + ) + parser.add_argument( + "--output", + type=Path, + help="optional JSON report path written by rank zero", + ) + parser.add_argument( + "--overwrite-output", + action="store_true", + help="allow replacement of an existing JSON report", + ) + parser.add_argument( + "--local-rank", "--local_rank", type=int, help=argparse.SUPPRESS + ) + arguments = parser.parse_args() + + if arguments.dataset_size > 256: + parser.error("--dataset-size must not exceed 256 in this lab exercise") + if arguments.epochs < 2: + parser.error("--epochs must be at least 2 to inspect epoch reshuffling") + if arguments.seed < 0: + parser.error("--seed must be non-negative") + if arguments.output is None and arguments.overwrite_output: + parser.error("--overwrite-output requires --output") + if arguments.output is not None: + if arguments.output.is_dir(): + parser.error(f"output path is a directory: {arguments.output}") + if arguments.output.exists() and not arguments.overwrite_output: + parser.error( + f"output already exists: {arguments.output}; use " + "--overwrite-output to replace it" + ) + if not arguments.output.parent.exists(): + parser.error(f"output directory does not exist: {arguments.output.parent}") + return arguments + + +def initialize_distributed(requested_device: str) -> DistributedRuntime: + """Initialize a torchrun process group and select this rank's device.""" + + required = ("LOCAL_RANK", "RANK", "WORLD_SIZE", "MASTER_ADDR", "MASTER_PORT") + missing = [name for name in required if name not in os.environ] + if missing: + raise RuntimeError( + f"missing torchrun variables {', '.join(missing)}; launch with " + "'torchrun --standalone --nproc-per-node=2 " + "buggy_data_sharding.py'" + ) + + local_rank = int(os.environ["LOCAL_RANK"]) + rank = int(os.environ["RANK"]) + world_size = int(os.environ["WORLD_SIZE"]) + if world_size < 2: + raise RuntimeError("this exercise requires at least two processes") + + use_cuda = requested_device == "cuda" or ( + requested_device == "auto" and torch.cuda.is_available() + ) + if requested_device == "cuda" and not torch.cuda.is_available(): + raise RuntimeError("--device=cuda was requested, but CUDA is unavailable") + + if use_cuda: + visible_devices = torch.cuda.device_count() + if not 0 <= local_rank < visible_devices: + raise RuntimeError( + f"LOCAL_RANK={local_rank}, but this process sees " + f"{visible_devices} CUDA device(s)" + ) + torch.cuda.set_device(local_rank) + device = torch.device("cuda", local_rank) + backend = "nccl" + else: + device = torch.device("cpu") + backend = "gloo" + + dist.init_process_group( + backend=backend, init_method="env://", timeout=timedelta(minutes=5) + ) + return DistributedRuntime(local_rank, rank, world_size, device, backend) + + +def validate_distributed_arguments( + arguments: argparse.Namespace, runtime: DistributedRuntime +) -> None: + """Reject configurations that make the sharding evidence ambiguous.""" + + if arguments.dataset_size % runtime.world_size != 0: + raise ValueError( + f"--dataset-size={arguments.dataset_size} must be divisible by " + f"WORLD_SIZE={runtime.world_size}; otherwise DistributedSampler " + "pads its index list and the reference run can contain duplicates" + ) + intended_samples_per_rank = arguments.dataset_size // runtime.world_size + if arguments.batch_size > intended_samples_per_rank: + raise ValueError( + f"--batch-size={arguments.batch_size} exceeds the intended " + f"per-rank shard size {intended_samples_per_rank}" + ) + + +def make_model(feature_count: int, class_count: int) -> nn.Module: + """Create the deliberately small classifier used by the exercise.""" + + return nn.Sequential( + nn.Linear(feature_count, 32), + nn.ReLU(), + nn.Linear(32, class_count), + ) + + +def make_dataloader( + dataset: IndexedClassificationDataset, + batch_size: int, + seed: int, +) -> DataLoader[tuple[Tensor, Tensor, Tensor]]: + """Create the intentionally incorrect input pipeline for each rank.""" + + generator = torch.Generator().manual_seed(seed) + return DataLoader( + dataset, + batch_size=batch_size, + shuffle=True, + generator=generator, + num_workers=0, + ) + + +def train_one_epoch( + model: DDP, + dataloader: DataLoader[tuple[Tensor, Tensor, Tensor]], + optimizer: torch.optim.Optimizer, + device: torch.device, +) -> tuple[float, list[int]]: + """Train for one epoch and return global loss plus local sample IDs.""" + + model.train() + local_loss_sum = 0.0 + local_example_count = 0 + local_sample_ids: list[int] = [] + non_blocking = device.type == "cuda" + + for features, targets, sample_ids in dataloader: + features = features.to(device, non_blocking=non_blocking) + targets = targets.to(device, non_blocking=non_blocking) + optimizer.zero_grad(set_to_none=True) + loss = nn.functional.cross_entropy(model(features), targets) + loss.backward() + optimizer.step() + + batch_size = targets.shape[0] + local_loss_sum += loss.detach().item() * batch_size + local_example_count += batch_size + local_sample_ids.extend(int(index) for index in sample_ids.tolist()) + + totals = torch.tensor( + [local_loss_sum, local_example_count], + dtype=torch.float64, + device=device, + ) + dist.all_reduce(totals, op=dist.ReduceOp.SUM) + return (totals[0] / totals[1]).item(), local_sample_ids + + +def gather_sample_ids( + local_sample_ids: list[int], runtime: DistributedRuntime +) -> list[list[int]] | None: + """Gather each rank's ordered sample identifiers on rank zero.""" + + gathered: list[Any] | None = ( + [None] * runtime.world_size if runtime.rank == 0 else None + ) + dist.gather_object(local_sample_ids, gathered, dst=0) + if gathered is None: + return None + if not all(isinstance(item, list) for item in gathered): + raise RuntimeError("rank zero did not receive every sample-ID list") + return [[int(index) for index in item] for item in gathered] + + +def analyze_assignments( + sample_ids_by_rank: list[list[int]], dataset_size: int, epoch: int +) -> dict[str, Any]: + """Measure coverage, duplication, and overlap in one epoch.""" + + flattened = [ + sample_id + for rank_sample_ids in sample_ids_by_rank + for sample_id in rank_sample_ids + ] + counts = Counter(flattened) + expected = set(range(dataset_size)) + observed = set(flattened) + overlaps = [] + for left_rank, left_ids in enumerate(sample_ids_by_rank): + for right_rank in range(left_rank + 1, len(sample_ids_by_rank)): + shared = sorted(set(left_ids) & set(sample_ids_by_rank[right_rank])) + overlaps.append( + { + "ranks": [left_rank, right_rank], + "shared_count": len(shared), + "shared_sample_ids": shared, + } + ) + + return { + "epoch": epoch, + "rank_sample_ids": sample_ids_by_rank, + "processed_assignments": len(flattened), + "unique_samples": len(observed), + "duplicate_assignments": sum(count - 1 for count in counts.values()), + "duplicated_sample_ids": sorted( + sample_id for sample_id, count in counts.items() if count > 1 + ), + "missing_sample_ids": sorted(expected - observed), + "pairwise_rank_overlap": overlaps, + "rank_orders_identical": all( + rank_ids == sample_ids_by_rank[0] for rank_ids in sample_ids_by_rank[1:] + ), + "exactly_once_global": len(flattened) == dataset_size and observed == expected, + } + + +def print_epoch_report(report: dict[str, Any]) -> None: + """Print concise, human-readable evidence for one epoch.""" + + print(f"\nepoch {report['epoch']}") + for rank, sample_ids in enumerate(report["rank_sample_ids"]): + print(f" rank {rank}: {sample_ids}") + print( + " assignments: " + f"{report['processed_assignments']}; unique samples: " + f"{report['unique_samples']}; duplicate assignments: " + f"{report['duplicate_assignments']}" + ) + print(f" missing sample IDs: {report['missing_sample_ids']}") + print(f" exactly once globally: {report['exactly_once_global']}") + + +def write_report(path: Path, report: dict[str, Any]) -> None: + """Write a machine-readable report from rank zero.""" + + path.write_text(json.dumps(report, indent=2) + "\n", encoding="utf-8") + + +def run(arguments: argparse.Namespace) -> None: + """Set up DDP, build the input pipeline, and run the diagnosis.""" + + runtime = initialize_distributed(arguments.device) + validate_distributed_arguments(arguments, runtime) + + feature_count = 16 + class_count = 4 + torch.manual_seed(arguments.seed) + dataset = IndexedClassificationDataset( + arguments.dataset_size, feature_count, class_count, arguments.seed + ) + dataloader = make_dataloader(dataset, arguments.batch_size, arguments.seed) + + model = make_model(feature_count, class_count).to(runtime.device) + if runtime.device.type == "cuda": + distributed_model = DDP( + model, + device_ids=[runtime.local_rank], + output_device=runtime.local_rank, + ) + else: + distributed_model = DDP(model) + optimizer = torch.optim.SGD(distributed_model.parameters(), lr=0.05) + + epoch_reports: list[dict[str, Any]] = [] + losses: list[float] = [] + for epoch in range(arguments.epochs): + mean_loss, local_sample_ids = train_one_epoch( + distributed_model, dataloader, optimizer, runtime.device + ) + sample_ids_by_rank = gather_sample_ids(local_sample_ids, runtime) + if runtime.rank == 0: + if sample_ids_by_rank is None: + raise RuntimeError("rank zero did not receive sample identifiers") + epoch_report = analyze_assignments( + sample_ids_by_rank, arguments.dataset_size, epoch + ) + epoch_reports.append(epoch_report) + losses.append(mean_loss) + print_epoch_report(epoch_report) + + if runtime.rank != 0: + return + + rank_order_changed = [ + any( + epoch_reports[epoch]["rank_sample_ids"][rank] + != epoch_reports[0]["rank_sample_ids"][rank] + for epoch in range(1, len(epoch_reports)) + ) + for rank in range(runtime.world_size) + ] + all_epochs_exactly_once = all( + report["exactly_once_global"] for report in epoch_reports + ) + report = { + "implementation": "buggy_plain_dataloader", + "world_size": runtime.world_size, + "device": runtime.device.type, + "backend": runtime.backend, + "dataset_size": arguments.dataset_size, + "batch_size_per_rank": arguments.batch_size, + "epochs": arguments.epochs, + "seed": arguments.seed, + "mean_loss_by_epoch": losses, + "rank_order_changed_between_epochs": rank_order_changed, + "all_ranks_changed_order_between_epochs": all(rank_order_changed), + "all_epochs_exactly_once": all_epochs_exactly_once, + "epoch_reports": epoch_reports, + "pytorch_version": torch.__version__, + } + if arguments.output is not None: + write_report(arguments.output, report) + print(f"\nwrote {arguments.output}") + + if all_epochs_exactly_once: + print("\nSHARDING CHECK: unexpectedly passed") + else: + print("\nSHARDING CHECK: failed as intended; diagnose the evidence above") + + +def main() -> None: + """Run the exercise and always release the process group.""" + + try: + run(parse_arguments()) + except (OSError, RuntimeError, ValueError) as error: + rank = os.environ.get("RANK", "unknown") + print(f"rank {rank}: error: {error}", file=sys.stderr) + raise SystemExit(1) from error + finally: + if dist.is_initialized(): + dist.destroy_process_group() + + +if __name__ == "__main__": + main() diff --git a/source-code/pytorch/ddp/data-sharding/solution_data_sharding.py b/source-code/pytorch/ddp/data-sharding/solution_data_sharding.py new file mode 100644 index 0000000..803d9e3 --- /dev/null +++ b/source-code/pytorch/ddp/data-sharding/solution_data_sharding.py @@ -0,0 +1,454 @@ +#!/usr/bin/env python3 +"""Reference solution for correct DDP data sharding. + +Run this program with at least two processes. It trains a tiny classifier and +records the sample identifiers processed by every rank. A +``DistributedSampler`` gives each rank a disjoint shard, while ``set_epoch`` +changes the deterministic shuffled order between epochs. + +Example:: + + torchrun --standalone --nproc-per-node=2 solution_data_sharding.py \ + --device cpu --output solution-report.json +""" + +from __future__ import annotations + +import argparse +import json +import os +import sys +from collections import Counter +from dataclasses import dataclass +from datetime import timedelta +from pathlib import Path +from typing import Any + +import torch +import torch.distributed as dist +from torch import Tensor, nn +from torch.nn.parallel import DistributedDataParallel as DDP +from torch.utils.data import DataLoader, Dataset, DistributedSampler + + +@dataclass(frozen=True) +class DistributedRuntime: + """Information about this process in the distributed job.""" + + local_rank: int + rank: int + world_size: int + device: torch.device + backend: str + + +class IndexedClassificationDataset(Dataset[tuple[Tensor, Tensor, int]]): + """Small deterministic dataset that exposes each sample's identifier.""" + + def __init__( + self, + size: int, + feature_count: int, + class_count: int, + seed: int, + ) -> None: + generator = torch.Generator().manual_seed(seed) + self.features = torch.randn(size, feature_count, generator=generator) + projection = torch.randn(feature_count, class_count, generator=generator) + self.targets = (self.features @ projection).argmax(dim=1) + + def __len__(self) -> int: + return self.features.shape[0] + + def __getitem__(self, index: int) -> tuple[Tensor, Tensor, int]: + return self.features[index], self.targets[index], index + + +def positive_integer(value: str) -> int: + """Parse a positive command-line integer.""" + + number = int(value) + if number <= 0: + raise argparse.ArgumentTypeError("must be a positive integer") + return number + + +def parse_arguments() -> argparse.Namespace: + """Parse and validate options that do not depend on the worker count.""" + + parser = argparse.ArgumentParser( + description="Demonstrate correct data sharding in native PyTorch DDP.", + formatter_class=argparse.ArgumentDefaultsHelpFormatter, + ) + parser.add_argument("--dataset-size", type=positive_integer, default=32) + parser.add_argument("--batch-size", type=positive_integer, default=4) + parser.add_argument("--epochs", type=positive_integer, default=2) + parser.add_argument("--seed", type=int, default=1234) + parser.add_argument( + "--device", + choices=("auto", "cpu", "cuda"), + default="auto", + help="auto uses CUDA when available and CPU otherwise", + ) + parser.add_argument( + "--output", + type=Path, + help="optional JSON report path written by rank zero", + ) + parser.add_argument( + "--overwrite-output", + action="store_true", + help="allow replacement of an existing JSON report", + ) + parser.add_argument( + "--local-rank", "--local_rank", type=int, help=argparse.SUPPRESS + ) + arguments = parser.parse_args() + + if arguments.dataset_size > 256: + parser.error("--dataset-size must not exceed 256 in this lab exercise") + if arguments.epochs < 2: + parser.error("--epochs must be at least 2 to inspect epoch reshuffling") + if arguments.seed < 0: + parser.error("--seed must be non-negative") + if arguments.output is None and arguments.overwrite_output: + parser.error("--overwrite-output requires --output") + if arguments.output is not None: + if arguments.output.is_dir(): + parser.error(f"output path is a directory: {arguments.output}") + if arguments.output.exists() and not arguments.overwrite_output: + parser.error( + f"output already exists: {arguments.output}; use " + "--overwrite-output to replace it" + ) + if not arguments.output.parent.exists(): + parser.error(f"output directory does not exist: {arguments.output.parent}") + return arguments + + +def initialize_distributed(requested_device: str) -> DistributedRuntime: + """Initialize a torchrun process group and select this rank's device.""" + + required = ("LOCAL_RANK", "RANK", "WORLD_SIZE", "MASTER_ADDR", "MASTER_PORT") + missing = [name for name in required if name not in os.environ] + if missing: + raise RuntimeError( + f"missing torchrun variables {', '.join(missing)}; launch with " + "'torchrun --standalone --nproc-per-node=2 " + "solution_data_sharding.py'" + ) + + local_rank = int(os.environ["LOCAL_RANK"]) + rank = int(os.environ["RANK"]) + world_size = int(os.environ["WORLD_SIZE"]) + if world_size < 2: + raise RuntimeError("this exercise requires at least two processes") + + use_cuda = requested_device == "cuda" or ( + requested_device == "auto" and torch.cuda.is_available() + ) + if requested_device == "cuda" and not torch.cuda.is_available(): + raise RuntimeError("--device=cuda was requested, but CUDA is unavailable") + + if use_cuda: + visible_devices = torch.cuda.device_count() + if not 0 <= local_rank < visible_devices: + raise RuntimeError( + f"LOCAL_RANK={local_rank}, but this process sees " + f"{visible_devices} CUDA device(s)" + ) + torch.cuda.set_device(local_rank) + device = torch.device("cuda", local_rank) + backend = "nccl" + else: + device = torch.device("cpu") + backend = "gloo" + + dist.init_process_group( + backend=backend, init_method="env://", timeout=timedelta(minutes=5) + ) + return DistributedRuntime(local_rank, rank, world_size, device, backend) + + +def validate_distributed_arguments( + arguments: argparse.Namespace, runtime: DistributedRuntime +) -> None: + """Reject configurations that make the sharding evidence ambiguous.""" + + if arguments.dataset_size % runtime.world_size != 0: + raise ValueError( + f"--dataset-size={arguments.dataset_size} must be divisible by " + f"WORLD_SIZE={runtime.world_size}; otherwise DistributedSampler " + "pads its index list and the reference run can contain duplicates" + ) + intended_samples_per_rank = arguments.dataset_size // runtime.world_size + if arguments.batch_size > intended_samples_per_rank: + raise ValueError( + f"--batch-size={arguments.batch_size} exceeds the intended " + f"per-rank shard size {intended_samples_per_rank}" + ) + + +def make_model(feature_count: int, class_count: int) -> nn.Module: + """Create the deliberately small classifier used by the exercise.""" + + return nn.Sequential( + nn.Linear(feature_count, 32), + nn.ReLU(), + nn.Linear(32, class_count), + ) + + +def make_dataloader( + dataset: IndexedClassificationDataset, + batch_size: int, + seed: int, + runtime: DistributedRuntime, +) -> tuple[ + DataLoader[tuple[Tensor, Tensor, Tensor]], + DistributedSampler[tuple[Tensor, Tensor, int]], +]: + """Create one deterministic, shuffled dataset shard per DDP rank.""" + + sampler = DistributedSampler( + dataset, + num_replicas=runtime.world_size, + rank=runtime.rank, + shuffle=True, + seed=seed, + drop_last=False, + ) + dataloader = DataLoader( + dataset, + batch_size=batch_size, + sampler=sampler, + num_workers=0, + ) + return dataloader, sampler + + +def train_one_epoch( + model: DDP, + dataloader: DataLoader[tuple[Tensor, Tensor, Tensor]], + optimizer: torch.optim.Optimizer, + device: torch.device, +) -> tuple[float, list[int]]: + """Train for one epoch and return global loss plus local sample IDs.""" + + model.train() + local_loss_sum = 0.0 + local_example_count = 0 + local_sample_ids: list[int] = [] + non_blocking = device.type == "cuda" + + for features, targets, sample_ids in dataloader: + features = features.to(device, non_blocking=non_blocking) + targets = targets.to(device, non_blocking=non_blocking) + optimizer.zero_grad(set_to_none=True) + loss = nn.functional.cross_entropy(model(features), targets) + loss.backward() + optimizer.step() + + batch_size = targets.shape[0] + local_loss_sum += loss.detach().item() * batch_size + local_example_count += batch_size + local_sample_ids.extend(int(index) for index in sample_ids.tolist()) + + totals = torch.tensor( + [local_loss_sum, local_example_count], + dtype=torch.float64, + device=device, + ) + dist.all_reduce(totals, op=dist.ReduceOp.SUM) + return (totals[0] / totals[1]).item(), local_sample_ids + + +def gather_sample_ids( + local_sample_ids: list[int], runtime: DistributedRuntime +) -> list[list[int]] | None: + """Gather each rank's ordered sample identifiers on rank zero.""" + + gathered: list[Any] | None = ( + [None] * runtime.world_size if runtime.rank == 0 else None + ) + dist.gather_object(local_sample_ids, gathered, dst=0) + if gathered is None: + return None + if not all(isinstance(item, list) for item in gathered): + raise RuntimeError("rank zero did not receive every sample-ID list") + return [[int(index) for index in item] for item in gathered] + + +def analyze_assignments( + sample_ids_by_rank: list[list[int]], dataset_size: int, epoch: int +) -> dict[str, Any]: + """Measure coverage, duplication, and overlap in one epoch.""" + + flattened = [ + sample_id + for rank_sample_ids in sample_ids_by_rank + for sample_id in rank_sample_ids + ] + counts = Counter(flattened) + expected = set(range(dataset_size)) + observed = set(flattened) + overlaps = [] + for left_rank, left_ids in enumerate(sample_ids_by_rank): + for right_rank in range(left_rank + 1, len(sample_ids_by_rank)): + shared = sorted(set(left_ids) & set(sample_ids_by_rank[right_rank])) + overlaps.append( + { + "ranks": [left_rank, right_rank], + "shared_count": len(shared), + "shared_sample_ids": shared, + } + ) + + return { + "epoch": epoch, + "rank_sample_ids": sample_ids_by_rank, + "processed_assignments": len(flattened), + "unique_samples": len(observed), + "duplicate_assignments": sum(count - 1 for count in counts.values()), + "duplicated_sample_ids": sorted( + sample_id for sample_id, count in counts.items() if count > 1 + ), + "missing_sample_ids": sorted(expected - observed), + "pairwise_rank_overlap": overlaps, + "rank_orders_identical": all( + rank_ids == sample_ids_by_rank[0] for rank_ids in sample_ids_by_rank[1:] + ), + "exactly_once_global": len(flattened) == dataset_size and observed == expected, + } + + +def print_epoch_report(report: dict[str, Any]) -> None: + """Print concise, human-readable evidence for one epoch.""" + + print(f"\nepoch {report['epoch']}") + for rank, sample_ids in enumerate(report["rank_sample_ids"]): + print(f" rank {rank}: {sample_ids}") + print( + " assignments: " + f"{report['processed_assignments']}; unique samples: " + f"{report['unique_samples']}; duplicate assignments: " + f"{report['duplicate_assignments']}" + ) + print(f" missing sample IDs: {report['missing_sample_ids']}") + print(f" exactly once globally: {report['exactly_once_global']}") + + +def write_report(path: Path, report: dict[str, Any]) -> None: + """Write a machine-readable report from rank zero.""" + + path.write_text(json.dumps(report, indent=2) + "\n", encoding="utf-8") + + +def run(arguments: argparse.Namespace) -> None: + """Set up DDP, build the input pipeline, and verify the solution.""" + + runtime = initialize_distributed(arguments.device) + validate_distributed_arguments(arguments, runtime) + + feature_count = 16 + class_count = 4 + torch.manual_seed(arguments.seed) + dataset = IndexedClassificationDataset( + arguments.dataset_size, feature_count, class_count, arguments.seed + ) + dataloader, sampler = make_dataloader( + dataset, arguments.batch_size, arguments.seed, runtime + ) + + model = make_model(feature_count, class_count).to(runtime.device) + if runtime.device.type == "cuda": + distributed_model = DDP( + model, + device_ids=[runtime.local_rank], + output_device=runtime.local_rank, + ) + else: + distributed_model = DDP(model) + optimizer = torch.optim.SGD(distributed_model.parameters(), lr=0.05) + + epoch_reports: list[dict[str, Any]] = [] + losses: list[float] = [] + for epoch in range(arguments.epochs): + sampler.set_epoch(epoch) + mean_loss, local_sample_ids = train_one_epoch( + distributed_model, dataloader, optimizer, runtime.device + ) + sample_ids_by_rank = gather_sample_ids(local_sample_ids, runtime) + if runtime.rank == 0: + if sample_ids_by_rank is None: + raise RuntimeError("rank zero did not receive sample identifiers") + epoch_report = analyze_assignments( + sample_ids_by_rank, arguments.dataset_size, epoch + ) + epoch_reports.append(epoch_report) + losses.append(mean_loss) + print_epoch_report(epoch_report) + + if runtime.rank != 0: + return + + rank_order_changed = [ + any( + epoch_reports[epoch]["rank_sample_ids"][rank] + != epoch_reports[0]["rank_sample_ids"][rank] + for epoch in range(1, len(epoch_reports)) + ) + for rank in range(runtime.world_size) + ] + all_epochs_exactly_once = all( + report["exactly_once_global"] for report in epoch_reports + ) + report = { + "implementation": "distributed_sampler_reference", + "world_size": runtime.world_size, + "device": runtime.device.type, + "backend": runtime.backend, + "dataset_size": arguments.dataset_size, + "batch_size_per_rank": arguments.batch_size, + "epochs": arguments.epochs, + "seed": arguments.seed, + "mean_loss_by_epoch": losses, + "rank_order_changed_between_epochs": rank_order_changed, + "all_ranks_changed_order_between_epochs": all(rank_order_changed), + "all_epochs_exactly_once": all_epochs_exactly_once, + "epoch_reports": epoch_reports, + "pytorch_version": torch.__version__, + } + if arguments.output is not None: + write_report(arguments.output, report) + print(f"\nwrote {arguments.output}") + + if not all_epochs_exactly_once: + raise RuntimeError("SHARDING CHECK failed in the reference solution") + print("\nSHARDING CHECK: passed; every sample was assigned exactly once") + if all(rank_order_changed): + print("RESHUFFLING OBSERVATION: every rank's order changed") + else: + print( + "RESHUFFLING OBSERVATION: at least one rank received the same " + "order; different random permutations can coincide, especially " + "for very small datasets" + ) + + +def main() -> None: + """Run the solution and always release the process group.""" + + try: + run(parse_arguments()) + except (OSError, RuntimeError, ValueError) as error: + rank = os.environ.get("RANK", "unknown") + print(f"rank {rank}: error: {error}", file=sys.stderr) + raise SystemExit(1) from error + finally: + if dist.is_initialized(): + dist.destroy_process_group() + + +if __name__ == "__main__": + main() From e91ea9763aa3eddbe9acea76dcf949f1d0d2e996 Mon Sep 17 00:00:00 2001 From: Geert Jan Bex Date: Fri, 4 Sep 2026 08:57:08 +0200 Subject: [PATCH 29/33] Add hands-on exercises --- source-code/pytorch-lightning/README.md | 4 +- .../activation-checkpointing/README.md | 130 ++++ .../activation_checkpointing.py | 552 +++++++++++++++ source-code/pytorch-lightning/fsdp/README.md | 3 + source-code/pytorch/README.md | 6 + .../activation-checkpointing/README.md | 184 +++++ .../activation_checkpointing.py | 512 ++++++++++++++ source-code/pytorch/fsdp/README.md | 3 + .../pytorch/memory-diagnostics/README.md | 259 +++++++ .../pytorch/memory-diagnostics/SOLUTION.md | 93 +++ .../compare_memory_reports.py | 158 +++++ .../memory-diagnostics/memory_diagnostics.py | 634 ++++++++++++++++++ 12 files changed, 2537 insertions(+), 1 deletion(-) create mode 100644 source-code/pytorch-lightning/activation-checkpointing/README.md create mode 100644 source-code/pytorch-lightning/activation-checkpointing/activation_checkpointing.py create mode 100644 source-code/pytorch/activation-checkpointing/README.md create mode 100644 source-code/pytorch/activation-checkpointing/activation_checkpointing.py create mode 100644 source-code/pytorch/memory-diagnostics/README.md create mode 100644 source-code/pytorch/memory-diagnostics/SOLUTION.md create mode 100644 source-code/pytorch/memory-diagnostics/compare_memory_reports.py create mode 100644 source-code/pytorch/memory-diagnostics/memory_diagnostics.py diff --git a/source-code/pytorch-lightning/README.md b/source-code/pytorch-lightning/README.md index 9311ef4..0b38e7a 100644 --- a/source-code/pytorch-lightning/README.md +++ b/source-code/pytorch-lightning/README.md @@ -14,5 +14,7 @@ logic, rather than the boilerplate code for training and validation. code for data loading, model definition, training, and evaluation. 2. [`ddp/`](ddp/): A batch-friendly ResNet-50 benchmark for comparing one and multiple GPUs with PyTorch Lightning's DDP strategy. -3. [`fsdp/`](fsdp/): A batch-friendly synthetic-transformer benchmark for +3. [`activation-checkpointing/`](activation-checkpointing/): A Lightning DDP + counterpart of the native activation-checkpointing exercise. +4. [`fsdp/`](fsdp/): A batch-friendly synthetic-transformer benchmark for comparing Lightning DDP with FSDP2 memory sharding. diff --git a/source-code/pytorch-lightning/activation-checkpointing/README.md b/source-code/pytorch-lightning/activation-checkpointing/README.md new file mode 100644 index 0000000..9d08503 --- /dev/null +++ b/source-code/pytorch-lightning/activation-checkpointing/README.md @@ -0,0 +1,130 @@ +# PyTorch Lightning activation-checkpointing exercise + +[`activation_checkpointing.py`](activation_checkpointing.py) is the Lightning +counterpart of the +[native PyTorch exercise](../../pytorch/activation-checkpointing/). It uses the +same synthetic transformer, presets, checkpoint boundaries, optimizer, batch +semantics, warm-up, timed steps, and output metrics. + +This comparison exposes an important abstraction boundary: Lightning owns the +distributed training machinery, but activation checkpointing remains a model +decision. The model still calls PyTorch's `torch.utils.checkpoint`; this is not +the same feature as Lightning's `ModelCheckpoint`, which saves training state +to storage. + +## Requirements and duration + +As a follow-on to the native exercise, allow 25–35 minutes. Used independently, +allow 40–50 minutes. The requirements are CUDA-enabled PyTorch, Lightning 2.x, +and at least one CUDA GPU. Lightning is an optional dependency and is not part +of the repository's core GPU environment: + +```bash +python -m pip install lightning +``` + +Install it before the session in a project-specific environment or course +container rather than modifying a shared cluster Python installation. + +## Core code map + +Function and class names are more durable than line numbers if the file changes. + +| Area | Function or class and line | What to inspect | +|---|---|---| +| Options and validation | [`parse_arguments()` — line 91](activation_checkpointing.py#L91) | Defines the checkpoint interval, preset, batch, timing, devices, nodes, precision, and protected output. | +| Precision setup | [`resolve_trainer_precision()` — line 177](activation_checkpointing.py#L177) | Maps FP32/BF16 choices to Lightning Trainer precision modes. | +| Transformer block | [`TransformerBlock` — line 195](activation_checkpointing.py#L195) | Defines the model unit selected for recomputation. | +| Checkpoint selection | [`SyntheticTransformer.forward()` — line 248](activation_checkpointing.py#L248) | Uses the same non-reentrant PyTorch checkpoint call as the native implementation. | +| Lightning module | [`ActivationCheckpointBenchmark` — line 267](activation_checkpointing.py#L267) | Owns the synthetic workload plus benchmark-specific measurement hooks. | +| Batch interpretation | [`setup()` — line 313](activation_checkpointing.py#L313) | Resolves local/global batch semantics after Lightning establishes the world size. | +| Synthetic input | [`on_train_start()` — line 333](activation_checkpointing.py#L333) | Creates a distinct GPU-resident token batch on each worker. | +| Training cycle | [`training_step()` — line 354](activation_checkpointing.py#L354) | Returns the forward loss; Lightning performs backward, recomputation, synchronization, and optimizer update. | +| Measurement | [`on_train_batch_start()` — line 375](activation_checkpointing.py#L375) and [`on_train_batch_end()` — line 393](activation_checkpointing.py#L393) | Exclude warm-up, synchronize workers, time steps, and record peak CUDA memory. | +| Result construction | [`on_train_end()` — line 423](activation_checkpointing.py#L423) | Reduces correctness/performance metrics and writes the rank-zero JSON result. | +| Trainer setup | [`main()` — line 513](activation_checkpointing.py#L513) | Configures devices, nodes, DDP, precision, and a barebones training loop. | + +## Run the matched comparison + +Outside Slurm, Lightning can launch the workers itself: + +```bash +python activation_checkpointing.py \ + --devices 1 \ + --preset small \ + --checkpoint-every 0 \ + --batch-size-per-device 4 \ + --output result-small-none.json + +python activation_checkpointing.py \ + --devices 1 \ + --preset small \ + --checkpoint-every 1 \ + --batch-size-per-device 4 \ + --output result-small-every-block.json +``` + +Under Slurm, Lightning expects one task per GPU. The task count, allocated GPU +count, and `--devices` value must agree: + +```bash +#!/usr/bin/env bash +#SBATCH --nodes=1 +#SBATCH --ntasks-per-node=2 +#SBATCH --gpus-per-node=2 +#SBATCH --time=00:10:00 + +set -euo pipefail + +srun python activation_checkpointing.py \ + --devices 2 \ + --checkpoint-every 0 \ + --output result-none.json + +srun python activation_checkpointing.py \ + --devices 2 \ + --checkpoint-every 1 \ + --output result-checkpoint.json +``` + +Cluster launch conventions vary. Validate this pattern with the local Slurm and +Lightning configuration before the course. + +## Follow-on tasks + +1. Predict which parts of the native script Lightning should remove and which + parts must remain because they define the scientific model or measurement. +2. Run the matched Lightning comparison and verify the configuration fields + before comparing `peak_allocated_gib` and `milliseconds_per_step`. +3. Compare `SyntheticTransformer.forward()` in both implementations. Explain + why the checkpoint boundaries remain explicit even though backward and the + optimizer step disappeared from Lightning's `training_step()`. +4. Compare native and Lightning results cautiously. Small timing differences + can be framework-loop overhead rather than checkpoint recomputation. +5. Decide whether the abstraction saves meaningful research-code complexity in + this example. Support the answer with concrete responsibilities rather than + line count alone. + +The checkpointing conclusion should agree across implementations: selected +forward activations are exchanged for backward recomputation. Exact memory and +timing numbers need not be identical. + +## Important limitations + +- `barebones=True` removes loggers, progress bars, storage checkpoints, and + other Trainer services that would distort a short benchmark. It is not a + normal production Trainer configuration. +- `--precision auto` is resolved before Lightning launches distributed workers + and assumes homogeneous GPUs. Use an explicit precision on heterogeneous + nodes. +- The model contains no dropout, so the checkpoint call disables RNG-state + preservation. Preserve random state when checkpointed production blocks use + stochastic operations. +- Lightning's `ModelCheckpoint` and activation checkpointing solve unrelated + problems: recoverability versus activation memory. +- The workload is synthetic, reuses one GPU-resident batch, and reports + PyTorch-allocator memory. It is not an end-to-end training benchmark. + +For the full task sequence, model presets, interpretation guidance, and +checkpoint-interval experiment, follow the +[native exercise README](../../pytorch/activation-checkpointing/README.md). diff --git a/source-code/pytorch-lightning/activation-checkpointing/activation_checkpointing.py b/source-code/pytorch-lightning/activation-checkpointing/activation_checkpointing.py new file mode 100644 index 0000000..8204a28 --- /dev/null +++ b/source-code/pytorch-lightning/activation-checkpointing/activation_checkpointing.py @@ -0,0 +1,552 @@ +#!/usr/bin/env python3 +"""Measure activation-checkpoint memory and time with Lightning DDP. + +This is the PyTorch Lightning counterpart of the native PyTorch activation- +checkpointing exercise. Compare otherwise identical runs with +``--checkpoint-every 0`` and ``--checkpoint-every 1``:: + + python activation_checkpointing.py --devices 1 \ + --checkpoint-every 0 --output result-no-checkpoint.json + python activation_checkpointing.py --devices 1 \ + --checkpoint-every 1 --output result-checkpoint.json + +Lightning owns the distributed training loop, but activation checkpoint +boundaries remain part of the model and use ``torch.utils.checkpoint``. +""" + +from __future__ import annotations + +import argparse +import json +import math +import os +import platform +import socket +import time +from dataclasses import asdict, dataclass +from datetime import timedelta +from pathlib import Path +from typing import Any + +import lightning as L +import torch +from lightning.pytorch.strategies import DDPStrategy +from torch import Tensor, nn +from torch.distributed import ReduceOp +from torch.utils.checkpoint import checkpoint +from torch.utils.data import DataLoader + +GIBIBYTE = 2**30 + + +@dataclass(frozen=True) +class ModelConfig: + """Configuration for one synthetic transformer preset.""" + + layers: int + hidden_size: int + attention_heads: int + feedforward_size: int + sequence_length: int + vocabulary_size: int = 4096 + classes: int = 16 + + +PRESETS = { + "small": ModelConfig( + layers=8, + hidden_size=512, + attention_heads=8, + feedforward_size=2048, + sequence_length=512, + ), + "medium": ModelConfig( + layers=12, + hidden_size=768, + attention_heads=12, + feedforward_size=3072, + sequence_length=768, + ), +} + + +def positive_integer(value: str) -> int: + """Parse a positive command-line integer.""" + + number = int(value) + if number <= 0: + raise argparse.ArgumentTypeError("must be a positive integer") + return number + + +def non_negative_integer(value: str) -> int: + """Parse a non-negative command-line integer.""" + + number = int(value) + if number < 0: + raise argparse.ArgumentTypeError("must be a non-negative integer") + return number + + +def parse_arguments() -> argparse.Namespace: + """Parse arguments and reject invalid runs before Trainer startup.""" + + parser = argparse.ArgumentParser( + description="Benchmark activation checkpointing with Lightning DDP.", + formatter_class=argparse.ArgumentDefaultsHelpFormatter, + ) + parser.add_argument("--preset", choices=tuple(PRESETS), default="small") + parser.add_argument( + "--checkpoint-every", + type=non_negative_integer, + default=0, + metavar="N", + help="checkpoint every Nth transformer block; 0 disables checkpointing", + ) + batches = parser.add_mutually_exclusive_group() + batches.add_argument( + "--batch-size-per-device", + type=positive_integer, + default=4, + help="samples per GPU; keeping this fixed is weak scaling", + ) + batches.add_argument( + "--global-batch-size", + type=positive_integer, + help="total samples across GPUs; must be divisible by the world size", + ) + parser.add_argument( + "--warmup-steps", type=positive_integer, default=3, help="untimed steps" + ) + parser.add_argument( + "--steps", type=positive_integer, default=10, help="timed optimizer steps" + ) + parser.add_argument( + "--precision", + choices=("auto", "fp32", "bf16"), + default="auto", + help="auto uses BF16 when supported, otherwise FP32", + ) + parser.add_argument("--seed", type=int, default=1234) + parser.add_argument( + "--devices", + type=positive_integer, + default=1, + help="GPUs per node; under Slurm this must match --ntasks-per-node", + ) + parser.add_argument( + "--num-nodes", type=positive_integer, default=1, help="Slurm node count" + ) + parser.add_argument( + "--output", type=Path, help="optional JSON result path written by rank zero" + ) + parser.add_argument( + "--overwrite-output", + action="store_true", + help="allow replacement of an existing output file", + ) + arguments = parser.parse_args() + + if arguments.seed < 0: + parser.error("--seed must be non-negative") + if arguments.output is None and arguments.overwrite_output: + parser.error("--overwrite-output requires --output") + if arguments.output is not None: + if arguments.output.is_dir(): + parser.error(f"output path is a directory: {arguments.output}") + if arguments.output.exists() and not arguments.overwrite_output: + parser.error( + f"output already exists: {arguments.output}; " + "use --overwrite-output to replace it" + ) + if not arguments.output.parent.exists(): + parser.error(f"output directory does not exist: {arguments.output.parent}") + + expected_world_size = arguments.devices * arguments.num_nodes + if ( + arguments.global_batch_size is not None + and arguments.global_batch_size % expected_world_size != 0 + ): + parser.error( + f"--global-batch-size={arguments.global_batch_size} is not divisible " + f"by devices x nodes={expected_world_size}" + ) + return arguments + + +def resolve_trainer_precision(requested: str) -> tuple[str, str]: + """Map the shared CLI vocabulary to Lightning's precision vocabulary.""" + + if not torch.cuda.is_available(): + raise RuntimeError("CUDA is unavailable; this benchmark requires a GPU") + if requested == "fp32": + return "32-true", "fp32" + if requested == "bf16": + if not torch.cuda.is_bf16_supported(): + raise ValueError( + "BF16 was requested, but the selected GPU does not support it" + ) + return "bf16-mixed", "bf16" + if torch.cuda.is_bf16_supported(): + return "bf16-mixed", "bf16" + return "32-true", "fp32" + + +class TransformerBlock(nn.Module): + """Pre-normalized self-attention and feed-forward transformer block.""" + + def __init__(self, config: ModelConfig) -> None: + super().__init__() + self.attention_norm = nn.LayerNorm(config.hidden_size) + self.attention = nn.MultiheadAttention( + embed_dim=config.hidden_size, + num_heads=config.attention_heads, + dropout=0.0, + bias=False, + batch_first=True, + ) + self.feedforward_norm = nn.LayerNorm(config.hidden_size) + self.feedforward = nn.Sequential( + nn.Linear(config.hidden_size, config.feedforward_size, bias=False), + nn.GELU(approximate="tanh"), + nn.Linear(config.feedforward_size, config.hidden_size, bias=False), + ) + + def forward(self, hidden_states: Tensor) -> Tensor: + """Apply one residual attention and feed-forward block.""" + + normalized = self.attention_norm(hidden_states) + attention_output, _ = self.attention( + normalized, normalized, normalized, need_weights=False + ) + hidden_states = hidden_states + attention_output + return hidden_states + self.feedforward(self.feedforward_norm(hidden_states)) + + +class SyntheticTransformer(nn.Module): + """Transformer whose selected blocks discard forward activations.""" + + def __init__(self, config: ModelConfig, checkpoint_every: int) -> None: + super().__init__() + self.checkpoint_every = checkpoint_every + self.token_embedding = nn.Embedding(config.vocabulary_size, config.hidden_size) + self.position_embedding = nn.Parameter( + torch.empty(config.sequence_length, config.hidden_size) + ) + nn.init.normal_(self.position_embedding, mean=0.0, std=0.02) + self.blocks = nn.ModuleList( + TransformerBlock(config) for _ in range(config.layers) + ) + self.output_norm = nn.LayerNorm(config.hidden_size) + self.classifier = nn.Linear(config.hidden_size, config.classes, bias=False) + + def should_checkpoint(self, block_index: int) -> bool: + """Return whether a block belongs to the selected checkpoint interval.""" + + return self.checkpoint_every > 0 and block_index % self.checkpoint_every == 0 + + def forward(self, token_ids: Tensor) -> Tensor: + """Return logits while checkpointing the selected transformer blocks.""" + + hidden_states = self.token_embedding(token_ids) + hidden_states = hidden_states + self.position_embedding.unsqueeze(0) + for block_index, block in enumerate(self.blocks): + if self.should_checkpoint(block_index): + hidden_states = checkpoint( + block, + hidden_states, + use_reentrant=False, + preserve_rng_state=False, + ) + else: + hidden_states = block(hidden_states) + hidden_states = self.output_norm(hidden_states[:, 0]) + return self.classifier(hidden_states) + + +class ActivationCheckpointBenchmark(L.LightningModule): + """Synthetic transformer plus Lightning timing and reporting hooks.""" + + def __init__( + self, + *, + config: ModelConfig, + preset: str, + checkpoint_every: int, + batch_size_per_device: int, + global_batch_size: int | None, + warmup_steps: int, + measured_steps: int, + precision_requested: str, + precision_resolved: str, + seed: int, + output: Path | None, + ) -> None: + super().__init__() + self.model = SyntheticTransformer(config, checkpoint_every) + self.config = config + self.preset = preset + self.checkpoint_every = checkpoint_every + self.batch_size_per_device_requested = batch_size_per_device + self.global_batch_size_requested = global_batch_size + self.warmup_steps = warmup_steps + self.measured_steps = measured_steps + self.precision_requested = precision_requested + self.precision_resolved = precision_resolved + self.seed = seed + self.output = output + + self._token_ids: Tensor | None = None + self._targets: Tensor | None = None + self._last_loss: Tensor | None = None + self._start_time: float | None = None + self._maxima: Tensor | None = None + self._batch_mode = "" + self._batch_size_per_device = 0 + self._global_batch_size = 0 + + def forward(self, token_ids: Tensor) -> Tensor: + """Apply the synthetic transformer.""" + + return self.model(token_ids) + + def setup(self, stage: str) -> None: + """Resolve batch semantics after Lightning establishes world size.""" + + if stage != "fit": + return + world_size = self.trainer.world_size + if self.global_batch_size_requested is None: + self._batch_size_per_device = self.batch_size_per_device_requested + self._global_batch_size = self._batch_size_per_device * world_size + self._batch_mode = "fixed_per_device" + else: + if self.global_batch_size_requested % world_size != 0: + raise ValueError( + f"--global-batch-size={self.global_batch_size_requested} is " + f"not divisible by the actual world size {world_size}" + ) + self._batch_size_per_device = self.global_batch_size_requested // world_size + self._global_batch_size = self.global_batch_size_requested + self._batch_mode = "fixed_global" + + def on_train_start(self) -> None: + """Create one rank-specific synthetic batch on the selected GPU.""" + + generator = torch.Generator(device=self.device).manual_seed( + self.seed + self.global_rank + ) + self._token_ids = torch.randint( + 0, + self.config.vocabulary_size, + (self._batch_size_per_device, self.config.sequence_length), + generator=generator, + device=self.device, + ) + self._targets = torch.randint( + 0, + self.config.classes, + (self._batch_size_per_device,), + generator=generator, + device=self.device, + ) + + def training_step(self, _batch: int, _batch_idx: int) -> Tensor: + """Compute loss; Lightning runs backward and the optimizer update.""" + + if self._token_ids is None or self._targets is None: + raise RuntimeError("synthetic inputs were not initialized") + logits = self(self._token_ids) + loss = nn.functional.cross_entropy(logits.float(), self._targets) + self._last_loss = loss.detach() + return loss + + def configure_optimizers(self) -> torch.optim.Optimizer: + """Use the same stateless optimizer as the native benchmark.""" + + return torch.optim.SGD(self.parameters(), lr=1e-3) + + def train_dataloader(self) -> DataLoader: + """Supply one lightweight token for every optimizer step.""" + + total_steps = self.warmup_steps + self.measured_steps + return DataLoader(range(total_steps), batch_size=None, num_workers=0) + + def on_train_batch_start(self, _batch: int, batch_idx: int) -> None: + """Start synchronized measurement after the warm-up batches.""" + + if batch_idx != self.warmup_steps: + return + for optimizer in self.trainer.optimizers: + optimizer.zero_grad(set_to_none=True) + self.trainer.strategy.barrier() + torch.cuda.synchronize(self.device) + steady_state_allocated = float(torch.cuda.memory_allocated(self.device)) + torch.cuda.reset_peak_memory_stats(self.device) + self._start_time = time.perf_counter() + self._maxima = torch.tensor( + [0.0, steady_state_allocated, 0.0, 0.0], + dtype=torch.float64, + device=self.device, + ) + + def on_train_batch_end(self, _outputs: Tensor, _batch: int, batch_idx: int) -> None: + """Stop timing after the final measured optimizer step.""" + + total_steps = self.warmup_steps + self.measured_steps + if batch_idx + 1 != total_steps: + return + if self._start_time is None or self._maxima is None: + raise RuntimeError("benchmark timer was not started") + + torch.cuda.synchronize(self.device) + self._maxima[0] = time.perf_counter() - self._start_time + self._maxima[2] = float(torch.cuda.max_memory_allocated(self.device)) + self._maxima[3] = float(torch.cuda.max_memory_reserved(self.device)) + self._maxima = self.trainer.strategy.reduce( + self._maxima, reduce_op=ReduceOp.MAX + ) + + def _parameter_checksum_difference(self) -> float: + """Return the largest checksum difference between model replicas.""" + + checksum = torch.zeros(2, dtype=torch.float64, device=self.device) + with torch.no_grad(): + for parameter in self.parameters(): + values = parameter.detach().to(torch.float64) + checksum[0] += values.sum() + checksum[1] += values.square().sum() + minimum = self.trainer.strategy.reduce(checksum.clone(), reduce_op=ReduceOp.MIN) + maximum = self.trainer.strategy.reduce(checksum, reduce_op=ReduceOp.MAX) + return (maximum - minimum).abs().max().item() + + def on_train_end(self) -> None: + """Reduce correctness metrics and write one rank-zero result.""" + + if self._last_loss is None or self._maxima is None: + raise RuntimeError("the benchmark did not complete all requested steps") + + mean_loss = self.trainer.strategy.reduce( + self._last_loss.to(torch.float64), reduce_op="mean" + ).item() + if not math.isfinite(mean_loss): + raise RuntimeError( + "the final loss is not finite; retry with --precision fp32 or " + "the small preset" + ) + checksum_difference = self._parameter_checksum_difference() + elapsed, steady_state_allocated, peak_allocated, peak_reserved = ( + self._maxima.tolist() + ) + parameter_count = sum(parameter.numel() for parameter in self.parameters()) + checkpointed_blocks = sum( + self.model.should_checkpoint(index) for index in range(self.config.layers) + ) + samples = self.measured_steps * self._global_batch_size + tokens = samples * self.config.sequence_length + + result = { + "model": "synthetic encoder-style transformer", + "data": "synthetic GPU-resident integer token sequences", + "preset": self.preset, + "model_config": asdict(self.config), + "parameter_count": parameter_count, + "model_parameters_fp32_gib": 4 * parameter_count / GIBIBYTE, + "checkpoint_every_blocks": self.checkpoint_every, + "checkpointed_blocks": checkpointed_blocks, + "activation_checkpointing": checkpointed_blocks > 0, + "checkpoint_implementation": "torch.utils.checkpoint, non-reentrant", + "batch_mode": self._batch_mode, + "batch_size_per_device": self._batch_size_per_device, + "global_batch_size": self._global_batch_size, + "world_size": self.trainer.world_size, + "warmup_steps": self.warmup_steps, + "measured_steps": self.measured_steps, + "precision_requested": self.precision_requested, + "precision_resolved": self.precision_resolved, + "seed": self.seed, + "elapsed_seconds": elapsed, + "milliseconds_per_step": 1000.0 * elapsed / self.measured_steps, + "samples_per_second": samples / elapsed, + "tokens_per_second": tokens / elapsed, + "final_loss_mean": mean_loss, + "steady_state_allocated_gib": steady_state_allocated / GIBIBYTE, + "peak_allocated_gib": peak_allocated / GIBIBYTE, + "peak_reserved_gib": peak_reserved / GIBIBYTE, + "parameter_checksum_max_difference": checksum_difference, + "parameters_synchronized": checksum_difference == 0.0, + "gpu_name_rank_zero": torch.cuda.get_device_name(self.device), + "hostname_rank_zero": socket.gethostname(), + "pytorch_version": torch.__version__, + "lightning_version": L.__version__, + "cuda_version": torch.version.cuda, + "python_version": platform.python_version(), + "slurm_job_id": os.environ.get("SLURM_JOB_ID"), + "lightning_barebones": True, + } + if self.trainer.is_global_zero: + print_summary(result) + if self.output is not None: + text = json.dumps(result, indent=2, sort_keys=True) + self.output.write_text(f"{text}\n", encoding="utf-8") + print(f" JSON result: {self.output}") + + +def print_summary(result: dict[str, Any]) -> None: + """Print a compact summary suitable for a Slurm log.""" + + print("Lightning activation-checkpointing benchmark") + print(f" checkpoint interval: {result['checkpoint_every_blocks']}") + print(f" checkpointed blocks: {result['checkpointed_blocks']}") + print(f" preset: {result['preset']}") + print(f" GPUs: {result['world_size']}") + print(f" precision: {result['precision_resolved']}") + print(f" batch/device: {result['batch_size_per_device']}") + print(f" time/step: {result['milliseconds_per_step']:.3f} ms") + print(f" throughput: {result['tokens_per_second']:.1f} tokens/s") + print(f" steady allocation: {result['steady_state_allocated_gib']:.2f} GiB") + print(f" peak allocated/GPU: {result['peak_allocated_gib']:.2f} GiB") + print(f" peak reserved/GPU: {result['peak_reserved_gib']:.2f} GiB") + print(f" parameters synchronized: {result['parameters_synchronized']}") + + +def main() -> None: + """Create the Lightning module and run the barebones DDP Trainer.""" + + arguments = parse_arguments() + trainer_precision, resolved_precision = resolve_trainer_precision( + arguments.precision + ) + L.seed_everything(arguments.seed, workers=True) + benchmark = ActivationCheckpointBenchmark( + config=PRESETS[arguments.preset], + preset=arguments.preset, + checkpoint_every=arguments.checkpoint_every, + batch_size_per_device=arguments.batch_size_per_device, + global_batch_size=arguments.global_batch_size, + warmup_steps=arguments.warmup_steps, + measured_steps=arguments.steps, + precision_requested=arguments.precision, + precision_resolved=resolved_precision, + seed=arguments.seed, + output=arguments.output, + ) + trainer = L.Trainer( + accelerator="gpu", + devices=arguments.devices, + num_nodes=arguments.num_nodes, + strategy=DDPStrategy( + timeout=timedelta(minutes=5), gradient_as_bucket_view=True + ), + precision=trainer_precision, + max_steps=arguments.warmup_steps + arguments.steps, + max_epochs=1, + use_distributed_sampler=False, + barebones=True, + benchmark=True, + ) + trainer.fit(benchmark) + + +if __name__ == "__main__": + main() diff --git a/source-code/pytorch-lightning/fsdp/README.md b/source-code/pytorch-lightning/fsdp/README.md index 7c97795..2454464 100644 --- a/source-code/pytorch-lightning/fsdp/README.md +++ b/source-code/pytorch-lightning/fsdp/README.md @@ -237,3 +237,6 @@ have higher throughput. Then: Activation checkpointing and distributed checkpoint files are intentionally left out. They are useful follow-ups, but adding either would introduce a second memory mechanism and obscure the first DDP/FSDP2 comparison. +The separate +[`activation-checkpointing`](../activation-checkpointing/) exercise isolates +that memory/recomputation trade-off before participants combine techniques. diff --git a/source-code/pytorch/README.md b/source-code/pytorch/README.md index c6f926d..82ba8a5 100644 --- a/source-code/pytorch/README.md +++ b/source-code/pytorch/README.md @@ -29,5 +29,11 @@ natural language processing, computer vision, and reinforcement learning. foundation for understanding how to work with data in PyTorch. 1. `ddp`: directory containing code to illustrate the use of Distributed Data Parallel (DDP) in PyTorch. +1. [`activation-checkpointing/`](activation-checkpointing/): hands-on material + measuring the activation-memory versus recomputation trade-off in a native + PyTorch DDP workload. +1. [`memory-diagnostics/`](memory-diagnostics/): hands-on exercise using + phase-by-phase CUDA measurements to distinguish activation, optimizer-state, + and retained-graph memory pressure. 1. [`fsdp/`](fsdp/): batch-friendly material comparing DDP with PyTorch FSDP2 using a synthetic transformer. diff --git a/source-code/pytorch/activation-checkpointing/README.md b/source-code/pytorch/activation-checkpointing/README.md new file mode 100644 index 0000000..515377e --- /dev/null +++ b/source-code/pytorch/activation-checkpointing/README.md @@ -0,0 +1,184 @@ +# PyTorch activation-checkpointing exercise + +[`activation_checkpointing.py`](activation_checkpointing.py) measures the +memory/time trade-off created by activation checkpointing in a native PyTorch +DDP training loop. It uses a synthetic transformer and GPU-resident token +batches, so no model, weights, tokenizer, or dataset are downloaded. + +Activation checkpointing retains the inputs to selected transformer blocks but +discards their internal forward activations. Backward recomputes those blocks. +This can reduce peak activation memory, but it adds computation. It does not +shard parameters, gradients, or optimizer state. + +## Learning objectives, prerequisites, and duration + +After this 40–50 minute exercise, participants should be able to: + +1. predict how activation checkpointing changes peak memory and step time; +2. measure the trade-off while keeping model, batch, precision, and GPU count + fixed; +3. distinguish persistent allocation from the peak created during a training + cycle; +4. choose checkpoint boundaries based on measured memory pressure rather than + enabling checkpointing indiscriminately. + +Required prerequisites are basic PyTorch training knowledge, the preceding DDP +material, a CUDA-enabled PyTorch environment, and at least one CUDA GPU. More +GPUs can be used, but checkpointing acts independently inside each DDP replica. +The repository's [`environment_gpu.yml`](../../../environment_gpu.yml) supplies +the intended PyTorch environment. + +## Workload and safe starting point + +Start with the `small` preset and validate it on the actual course hardware. +The `medium` preset makes activation pressure more visible but may require +reducing the local batch on smaller GPUs. + +| Preset | Blocks | Hidden size | Sequence | Parameters | FP32 parameters only | +|---|---:|---:|---:|---:|---:| +| `small` | 8 | 512 | 512 | 27,550,720 | 0.10 GiB | +| `medium` | 12 | 768 | 768 | 88,720,896 | 0.33 GiB | + +The parameter-memory column excludes gradients, DDP buckets, activations, +temporary attention workspaces, allocator fragmentation, and CUDA/NCCL state. +The script deliberately uses stateless SGD so optimizer state does not obscure +the activation-memory comparison. + +`--checkpoint-every 0` disables checkpointing. A value of `1` checkpoints every +transformer block; `2` checkpoints blocks 0, 2, 4, and so forth. Larger +intervals save fewer activations and perform less recomputation. + +## Core code map + +Function and class names are more durable than line numbers if the file changes. + +| Area | Function or class and line | What to inspect | +|---|---|---| +| Options and validation | [`parse_arguments()` — line 90](activation_checkpointing.py#L90) | Defines checkpoint interval, model preset, batch semantics, precision, timing, and protected JSON output. | +| Distributed setup | [`initialize_distributed()` — line 160](activation_checkpointing.py#L160) | Reads `torchrun` variables, binds one GPU per process, and initializes NCCL. | +| Precision setup | [`resolve_precision()` — line 212](activation_checkpointing.py#L212) | Selects BF16 only when every participating GPU supports it. | +| Transformer block | [`TransformerBlock` — line 232](activation_checkpointing.py#L232) | Defines the unit used as a checkpoint/recomputation boundary. | +| Checkpoint selection | [`SyntheticTransformer.forward()` — line 285](activation_checkpointing.py#L285) | Applies non-reentrant `torch.utils.checkpoint.checkpoint()` to the selected blocks. | +| Synthetic input | [`make_batch()` — line 304](activation_checkpointing.py#L304) | Creates a distinct GPU-resident token batch for each rank. | +| Training cycle | [`training_step()` — line 331](activation_checkpointing.py#L331) | Runs forward, backward/recomputation, DDP gradient synchronization, and the optimizer update. | +| Benchmark cycle | [`run()` — line 365](activation_checkpointing.py#L365) | Builds the model, warms up, resets peak statistics, times steps, reduces metrics, and constructs the result. | + +Start with `run()`, then inspect `SyntheticTransformer.forward()`. The rest of +the model is intentionally unchanged between checkpointed and uncheckpointed +runs. + +## Core comparison + +Before running, predict which metric should change most: + +- `steady_state_allocated_gib`; +- `peak_allocated_gib`; +- `milliseconds_per_step`. + +Use the same GPU count, preset, batch, precision, warm-up, and measured steps in +both runs: + +```bash +torchrun --standalone --nproc-per-node=1 activation_checkpointing.py \ + --preset small \ + --checkpoint-every 0 \ + --batch-size-per-device 4 \ + --output result-small-none.json + +torchrun --standalone --nproc-per-node=1 activation_checkpointing.py \ + --preset small \ + --checkpoint-every 1 \ + --batch-size-per-device 4 \ + --output result-small-every-block.json +``` + +Compare the two JSON files and calculate: + +```text +memory saving = 1 - checkpointed peak / uncheckpointed peak +time overhead = checkpointed time per step / uncheckpointed time per step - 1 +``` + +There is no universal expected percentage. A successful result keeps the +scientific workload fixed, shows `parameters_synchronized: true`, and supports +an explanation of the observed memory/time trade-off. Normally the checkpointed +run has a lower peak and a longer step time. If the difference is lost in the +persistent-memory baseline, increase the batch or try `medium`—but change the +same option in both comparison runs. + +## Hands-on tasks + +1. Predict the ordering of steady allocation, peak allocation, and step time + for checkpoint intervals 0, 1, and 2. +2. Run the uncheckpointed and every-block commands above. +3. Verify that model configuration, batch, precision, and parameter count are + identical before comparing the peak and time. +4. Run `--checkpoint-every 2`. Decide whether its compromise is preferable on + the allocated GPU, and justify the decision with both memory and time. +5. Increase `--batch-size-per-device` equally in paired runs. Find one batch + that fails without checkpointing but succeeds with it, if hardware and time + permit. Treat the failure as capacity evidence, not as a performance result. +6. Explain why activation checkpointing is a plausible response when memory + grows with microbatch or sequence length, but not when parameters alone do + not fit. + +The exercise is complete when the participant can recommend one interval—or +recommend no checkpointing—and state the measured reason. Merely producing JSON +files is not sufficient. + +## Slurm batch example + +This single-node example asks Slurm for one launcher task and two GPUs; +`torchrun` creates one process per GPU. Use local scheduler directives where +they differ. + +```bash +#!/usr/bin/env bash +#SBATCH --nodes=1 +#SBATCH --ntasks-per-node=1 +#SBATCH --gpus-per-node=2 +#SBATCH --time=00:10:00 + +set -euo pipefail + +srun torchrun --standalone --nproc-per-node=2 activation_checkpointing.py \ + --checkpoint-every 0 \ + --batch-size-per-device 4 \ + --output result-none.json + +srun torchrun --standalone --nproc-per-node=2 activation_checkpointing.py \ + --checkpoint-every 1 \ + --batch-size-per-device 4 \ + --output result-checkpoint.json +``` + +For a pure checkpointing comparison, one GPU is enough and avoids DDP +communication noise. Two or more GPUs connect the result to the DDP material +and verify that checkpointing does not replace data parallelism. + +## Interpretation and limitations + +- `steady_state_allocated_gib` is sampled after warm-up and after gradients are + cleared. `peak_allocated_gib` captures the maximum live PyTorch allocation + during measured forward/backward/optimizer cycles. +- Compare allocated memory first. Reserved memory includes cached blocks and may + remain high after tensors have been released. +- The code uses the recommended non-reentrant checkpoint implementation. + Checkpoint boundaries are whole transformer blocks, not arbitrary individual + operations. +- The model has no stochastic dropout, so `preserve_rng_state=False` avoids + unnecessary random-state work. Real checkpointed regions containing dropout + normally need RNG-state preservation to reproduce the uncheckpointed + computation. +- Recomputing every block is not automatically optimal. Partial checkpointing + can be faster when only a modest amount of memory must be recovered. +- Fused attention kernels already avoid materializing some intermediates. + Consequently, the saving depends on GPU, PyTorch version, precision, shapes, + and selected backend. +- CUDA allocator metrics omit some allocations made directly by libraries such + as NCCL. Synthetic reused inputs also exclude data-pipeline costs and say + nothing about model accuracy. + +See the current PyTorch +[`torch.utils.checkpoint` documentation](https://docs.pytorch.org/docs/stable/checkpoint.html) +for API details and determinism limitations. diff --git a/source-code/pytorch/activation-checkpointing/activation_checkpointing.py b/source-code/pytorch/activation-checkpointing/activation_checkpointing.py new file mode 100644 index 0000000..b37479c --- /dev/null +++ b/source-code/pytorch/activation-checkpointing/activation_checkpointing.py @@ -0,0 +1,512 @@ +#!/usr/bin/env python3 +"""Measure the memory/time trade-off of activation checkpointing with DDP. + +The model and batches are synthetic and are created locally. Compare otherwise +identical runs with ``--checkpoint-every 0`` and ``--checkpoint-every 1``:: + + torchrun --standalone --nproc-per-node=1 activation_checkpointing.py \ + --checkpoint-every 0 --output result-no-checkpoint.json + torchrun --standalone --nproc-per-node=1 activation_checkpointing.py \ + --checkpoint-every 1 --output result-checkpoint.json + +Activation checkpointing discards selected intermediate activations during the +forward pass and recomputes them during backward. It does not shard parameters, +gradients, or optimizer state. +""" + +from __future__ import annotations + +import argparse +import json +import math +import os +import platform +import socket +import sys +import time +from dataclasses import asdict, dataclass +from datetime import timedelta +from pathlib import Path +from typing import Any + +import torch +import torch.distributed as dist +from torch import Tensor, nn +from torch.nn.parallel import DistributedDataParallel as DDP +from torch.utils.checkpoint import checkpoint + +GIBIBYTE = 2**30 + + +@dataclass(frozen=True) +class ModelConfig: + """Configuration for one synthetic transformer preset.""" + + layers: int + hidden_size: int + attention_heads: int + feedforward_size: int + sequence_length: int + vocabulary_size: int = 4096 + classes: int = 16 + + +PRESETS = { + "small": ModelConfig( + layers=8, + hidden_size=512, + attention_heads=8, + feedforward_size=2048, + sequence_length=512, + ), + "medium": ModelConfig( + layers=12, + hidden_size=768, + attention_heads=12, + feedforward_size=3072, + sequence_length=768, + ), +} + + +def positive_integer(value: str) -> int: + """Parse a positive command-line integer.""" + + number = int(value) + if number <= 0: + raise argparse.ArgumentTypeError("must be a positive integer") + return number + + +def non_negative_integer(value: str) -> int: + """Parse a non-negative command-line integer.""" + + number = int(value) + if number < 0: + raise argparse.ArgumentTypeError("must be a non-negative integer") + return number + + +def parse_arguments() -> argparse.Namespace: + """Parse arguments and reject invalid output behavior before GPU setup.""" + + parser = argparse.ArgumentParser( + description="Benchmark activation checkpointing with PyTorch DDP.", + formatter_class=argparse.ArgumentDefaultsHelpFormatter, + ) + parser.add_argument("--preset", choices=tuple(PRESETS), default="small") + parser.add_argument( + "--checkpoint-every", + type=non_negative_integer, + default=0, + metavar="N", + help="checkpoint every Nth transformer block; 0 disables checkpointing", + ) + batches = parser.add_mutually_exclusive_group() + batches.add_argument( + "--batch-size-per-device", + type=positive_integer, + default=4, + help="samples per GPU; keeping this fixed is weak scaling", + ) + batches.add_argument( + "--global-batch-size", + type=positive_integer, + help="total samples across GPUs; must be divisible by WORLD_SIZE", + ) + parser.add_argument( + "--warmup-steps", type=positive_integer, default=3, help="untimed steps" + ) + parser.add_argument( + "--steps", type=positive_integer, default=10, help="timed optimizer steps" + ) + parser.add_argument( + "--precision", + choices=("auto", "fp32", "bf16"), + default="auto", + help="auto uses BF16 when every GPU supports it, otherwise FP32", + ) + parser.add_argument("--seed", type=int, default=1234) + parser.add_argument( + "--output", type=Path, help="optional JSON result path written by rank zero" + ) + parser.add_argument( + "--overwrite-output", + action="store_true", + help="allow replacement of an existing output file", + ) + parser.add_argument( + "--local-rank", "--local_rank", type=int, help=argparse.SUPPRESS + ) + arguments = parser.parse_args() + + if arguments.seed < 0: + parser.error("--seed must be non-negative") + if arguments.output is None and arguments.overwrite_output: + parser.error("--overwrite-output requires --output") + if arguments.output is not None: + if arguments.output.is_dir(): + parser.error(f"output path is a directory: {arguments.output}") + if arguments.output.exists() and not arguments.overwrite_output: + parser.error( + f"output already exists: {arguments.output}; " + "use --overwrite-output to replace it" + ) + if not arguments.output.parent.exists(): + parser.error(f"output directory does not exist: {arguments.output.parent}") + return arguments + + +def initialize_distributed() -> tuple[int, int, int, torch.device]: + """Initialize NCCL and bind this process to its torchrun GPU.""" + + required = ("LOCAL_RANK", "RANK", "WORLD_SIZE", "MASTER_ADDR", "MASTER_PORT") + missing = [name for name in required if name not in os.environ] + if missing: + raise RuntimeError( + f"missing torchrun variables {', '.join(missing)}; launch with, for " + "example, 'torchrun --standalone --nproc-per-node=1 " + "activation_checkpointing.py'" + ) + if not torch.cuda.is_available(): + raise RuntimeError("CUDA is unavailable; this benchmark requires a GPU") + + local_rank = int(os.environ["LOCAL_RANK"]) + rank = int(os.environ["RANK"]) + world_size = int(os.environ["WORLD_SIZE"]) + visible_devices = torch.cuda.device_count() + if not 0 <= local_rank < visible_devices: + raise RuntimeError( + f"LOCAL_RANK={local_rank}, but this process sees " + f"{visible_devices} CUDA device(s)" + ) + + torch.cuda.set_device(local_rank) + device = torch.device("cuda", local_rank) + dist.init_process_group( + backend="nccl", init_method="env://", timeout=timedelta(minutes=5) + ) + return local_rank, rank, world_size, device + + +def resolve_batch_sizes( + arguments: argparse.Namespace, world_size: int +) -> tuple[int, int, str]: + """Resolve per-device and global batch sizes after distributed setup.""" + + if arguments.global_batch_size is None: + per_device = arguments.batch_size_per_device + return per_device, per_device * world_size, "fixed_per_device" + if arguments.global_batch_size % world_size != 0: + raise ValueError( + f"--global-batch-size={arguments.global_batch_size} is not divisible " + f"by WORLD_SIZE={world_size}" + ) + return ( + arguments.global_batch_size // world_size, + arguments.global_batch_size, + "fixed_global", + ) + + +def resolve_precision(requested: str, device: torch.device) -> tuple[str, bool]: + """Choose FP32 or BF16 consistently across all participating GPUs.""" + + bf16_supported = torch.tensor( + int(torch.cuda.is_bf16_supported()), dtype=torch.int32, device=device + ) + dist.all_reduce(bf16_supported, op=dist.ReduceOp.MIN) + all_support_bf16 = bool(bf16_supported.item()) + + if requested == "fp32": + return "fp32", False + if requested == "bf16": + if not all_support_bf16: + raise ValueError( + "BF16 was requested, but at least one GPU does not support it" + ) + return "bf16", True + return ("bf16", True) if all_support_bf16 else ("fp32", False) + + +class TransformerBlock(nn.Module): + """Pre-normalized self-attention and feed-forward transformer block.""" + + def __init__(self, config: ModelConfig) -> None: + super().__init__() + self.attention_norm = nn.LayerNorm(config.hidden_size) + self.attention = nn.MultiheadAttention( + embed_dim=config.hidden_size, + num_heads=config.attention_heads, + dropout=0.0, + bias=False, + batch_first=True, + ) + self.feedforward_norm = nn.LayerNorm(config.hidden_size) + self.feedforward = nn.Sequential( + nn.Linear(config.hidden_size, config.feedforward_size, bias=False), + nn.GELU(approximate="tanh"), + nn.Linear(config.feedforward_size, config.hidden_size, bias=False), + ) + + def forward(self, hidden_states: Tensor) -> Tensor: + """Apply one residual attention and feed-forward block.""" + + normalized = self.attention_norm(hidden_states) + attention_output, _ = self.attention( + normalized, normalized, normalized, need_weights=False + ) + hidden_states = hidden_states + attention_output + return hidden_states + self.feedforward(self.feedforward_norm(hidden_states)) + + +class SyntheticTransformer(nn.Module): + """Transformer whose selected blocks discard forward activations.""" + + def __init__(self, config: ModelConfig, checkpoint_every: int) -> None: + super().__init__() + self.checkpoint_every = checkpoint_every + self.token_embedding = nn.Embedding(config.vocabulary_size, config.hidden_size) + self.position_embedding = nn.Parameter( + torch.empty(config.sequence_length, config.hidden_size) + ) + nn.init.normal_(self.position_embedding, mean=0.0, std=0.02) + self.blocks = nn.ModuleList( + TransformerBlock(config) for _ in range(config.layers) + ) + self.output_norm = nn.LayerNorm(config.hidden_size) + self.classifier = nn.Linear(config.hidden_size, config.classes, bias=False) + + def should_checkpoint(self, block_index: int) -> bool: + """Return whether a block belongs to the selected checkpoint interval.""" + + return self.checkpoint_every > 0 and block_index % self.checkpoint_every == 0 + + def forward(self, token_ids: Tensor) -> Tensor: + """Return logits while checkpointing the selected transformer blocks.""" + + hidden_states = self.token_embedding(token_ids) + hidden_states = hidden_states + self.position_embedding.unsqueeze(0) + for block_index, block in enumerate(self.blocks): + if self.should_checkpoint(block_index): + hidden_states = checkpoint( + block, + hidden_states, + use_reentrant=False, + preserve_rng_state=False, + ) + else: + hidden_states = block(hidden_states) + hidden_states = self.output_norm(hidden_states[:, 0]) + return self.classifier(hidden_states) + + +def make_batch( + config: ModelConfig, + batch_size: int, + rank: int, + seed: int, + device: torch.device, +) -> tuple[Tensor, Tensor]: + """Create one rank-specific, GPU-resident synthetic batch.""" + + generator = torch.Generator(device=device).manual_seed(seed + rank) + token_ids = torch.randint( + 0, + config.vocabulary_size, + (batch_size, config.sequence_length), + generator=generator, + device=device, + ) + targets = torch.randint( + 0, + config.classes, + (batch_size,), + generator=generator, + device=device, + ) + return token_ids, targets + + +def training_step( + model: DDP, + token_ids: Tensor, + targets: Tensor, + optimizer: torch.optim.Optimizer, + use_bf16: bool, +) -> Tensor: + """Run forward, backward, DDP synchronization, and the optimizer update.""" + + optimizer.zero_grad(set_to_none=True) + with torch.autocast(device_type="cuda", dtype=torch.bfloat16, enabled=use_bf16): + logits = model(token_ids) + loss = nn.functional.cross_entropy(logits.float(), targets) + loss.backward() + optimizer.step() + return loss.detach() + + +def parameter_checksum_difference(model: nn.Module, device: torch.device) -> float: + """Return the largest checksum difference between DDP replicas.""" + + checksum = torch.zeros(2, dtype=torch.float64, device=device) + with torch.no_grad(): + for parameter in model.parameters(): + values = parameter.detach().to(torch.float64) + checksum[0] += values.sum() + checksum[1] += values.square().sum() + minimum = checksum.clone() + maximum = checksum.clone() + dist.all_reduce(minimum, op=dist.ReduceOp.MIN) + dist.all_reduce(maximum, op=dist.ReduceOp.MAX) + return (maximum - minimum).abs().max().item() + + +def run(arguments: argparse.Namespace) -> dict[str, Any]: + """Run one activation-checkpoint configuration and return its metrics.""" + + local_rank, rank, world_size, device = initialize_distributed() + per_device_batch, global_batch, batch_mode = resolve_batch_sizes( + arguments, world_size + ) + precision, use_bf16 = resolve_precision(arguments.precision, device) + config = PRESETS[arguments.preset] + + torch.manual_seed(arguments.seed) + model = SyntheticTransformer(config, arguments.checkpoint_every).to(device) + parameter_count = sum(parameter.numel() for parameter in model.parameters()) + checkpointed_blocks = sum( + model.should_checkpoint(index) for index in range(config.layers) + ) + distributed_model = DDP( + model, + device_ids=[local_rank], + output_device=local_rank, + gradient_as_bucket_view=True, + ) + optimizer = torch.optim.SGD(distributed_model.parameters(), lr=1e-3) + token_ids, targets = make_batch( + config, per_device_batch, rank, arguments.seed, device + ) + + loss = torch.zeros((), device=device) + for _ in range(arguments.warmup_steps): + loss = training_step(distributed_model, token_ids, targets, optimizer, use_bf16) + + optimizer.zero_grad(set_to_none=True) + dist.barrier() + torch.cuda.synchronize(device) + steady_state_allocated = float(torch.cuda.memory_allocated(device)) + torch.cuda.reset_peak_memory_stats(device) + start_time = time.perf_counter() + for _ in range(arguments.steps): + loss = training_step(distributed_model, token_ids, targets, optimizer, use_bf16) + torch.cuda.synchronize(device) + elapsed = time.perf_counter() - start_time + + maxima = torch.tensor( + [ + elapsed, + steady_state_allocated, + float(torch.cuda.max_memory_allocated(device)), + float(torch.cuda.max_memory_reserved(device)), + ], + dtype=torch.float64, + device=device, + ) + dist.all_reduce(maxima, op=dist.ReduceOp.MAX) + elapsed, steady_state_allocated, peak_allocated, peak_reserved = maxima.tolist() + + loss = loss.to(torch.float64) + dist.all_reduce(loss, op=dist.ReduceOp.SUM) + mean_loss = loss.item() / world_size + if not math.isfinite(mean_loss): + raise RuntimeError( + "the final loss is not finite; retry with --precision fp32 or the " + "small preset" + ) + checksum_difference = parameter_checksum_difference(distributed_model, device) + + samples = arguments.steps * global_batch + tokens = samples * config.sequence_length + return { + "model": "synthetic encoder-style transformer", + "data": "synthetic GPU-resident integer token sequences", + "preset": arguments.preset, + "model_config": asdict(config), + "parameter_count": parameter_count, + "model_parameters_fp32_gib": 4 * parameter_count / GIBIBYTE, + "checkpoint_every_blocks": arguments.checkpoint_every, + "checkpointed_blocks": checkpointed_blocks, + "activation_checkpointing": checkpointed_blocks > 0, + "checkpoint_implementation": "torch.utils.checkpoint, non-reentrant", + "batch_mode": batch_mode, + "batch_size_per_device": per_device_batch, + "global_batch_size": global_batch, + "world_size": world_size, + "warmup_steps": arguments.warmup_steps, + "measured_steps": arguments.steps, + "precision_requested": arguments.precision, + "precision_resolved": precision, + "seed": arguments.seed, + "elapsed_seconds": elapsed, + "milliseconds_per_step": 1000.0 * elapsed / arguments.steps, + "samples_per_second": samples / elapsed, + "tokens_per_second": tokens / elapsed, + "final_loss_mean": mean_loss, + "steady_state_allocated_gib": steady_state_allocated / GIBIBYTE, + "peak_allocated_gib": peak_allocated / GIBIBYTE, + "peak_reserved_gib": peak_reserved / GIBIBYTE, + "parameter_checksum_max_difference": checksum_difference, + "parameters_synchronized": checksum_difference == 0.0, + "gpu_name_rank_zero": torch.cuda.get_device_name(device), + "hostname_rank_zero": socket.gethostname(), + "pytorch_version": torch.__version__, + "cuda_version": torch.version.cuda, + "python_version": platform.python_version(), + "slurm_job_id": os.environ.get("SLURM_JOB_ID"), + } + + +def print_summary(result: dict[str, Any]) -> None: + """Print a compact summary suitable for a Slurm log.""" + + print("PyTorch activation-checkpointing benchmark") + print(f" checkpoint interval: {result['checkpoint_every_blocks']}") + print(f" checkpointed blocks: {result['checkpointed_blocks']}") + print(f" preset: {result['preset']}") + print(f" GPUs: {result['world_size']}") + print(f" precision: {result['precision_resolved']}") + print(f" batch/device: {result['batch_size_per_device']}") + print(f" time/step: {result['milliseconds_per_step']:.3f} ms") + print(f" throughput: {result['tokens_per_second']:.1f} tokens/s") + print(f" steady allocation: {result['steady_state_allocated_gib']:.2f} GiB") + print(f" peak allocated/GPU: {result['peak_allocated_gib']:.2f} GiB") + print(f" peak reserved/GPU: {result['peak_reserved_gib']:.2f} GiB") + print(f" parameters synchronized: {result['parameters_synchronized']}") + + +def main() -> int: + """Parse options, run the benchmark, and write rank-zero output.""" + + arguments = parse_arguments() + try: + result = run(arguments) + if dist.get_rank() == 0: + print_summary(result) + if arguments.output is not None: + text = json.dumps(result, indent=2, sort_keys=True) + arguments.output.write_text(f"{text}\n", encoding="utf-8") + print(f" JSON result: {arguments.output}") + return 0 + except (OSError, RuntimeError, ValueError) as error: + rank = os.environ.get("RANK", "unknown") + print(f"rank {rank}: error: {error}", file=sys.stderr) + return 2 + finally: + if dist.is_initialized(): + dist.destroy_process_group() + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/source-code/pytorch/fsdp/README.md b/source-code/pytorch/fsdp/README.md index 25f2a0a..38c8883 100644 --- a/source-code/pytorch/fsdp/README.md +++ b/source-code/pytorch/fsdp/README.md @@ -221,3 +221,6 @@ is appropriate when the model fits and when it does not. Activation checkpointing and distributed checkpoint files are deliberately left out. Both are valuable follow-up topics, but either would add another memory mechanism and make the core DDP/FSDP comparison harder to interpret. +The separate +[`activation-checkpointing`](../activation-checkpointing/) exercise isolates +the activation-memory versus recomputation trade-off. diff --git a/source-code/pytorch/memory-diagnostics/README.md b/source-code/pytorch/memory-diagnostics/README.md new file mode 100644 index 0000000..dec6ae7 --- /dev/null +++ b/source-code/pytorch/memory-diagnostics/README.md @@ -0,0 +1,259 @@ +# Exercise: diagnose CUDA memory empirically + +This 50–60 minute exercise uses phase-by-phase measurements to distinguish +activation pressure, persistent optimizer state, and an accidentally retained +training graph. The cases are labelled `alpha`, `beta`, and `gamma` so the +diagnosis must come from evidence rather than the option name. + +[`memory_diagnostics.py`](memory_diagnostics.py) creates a synthetic transformer +and GPU-resident inputs locally. It downloads no model, weights, tokenizer, or +dataset. One GPU is sufficient. An optional DDP extension compares ranks on a +multi-GPU node. + +## Learning objectives and success criteria + +After the exercise, participants should be able to: + +1. distinguish live tensor allocation from memory reserved by PyTorch's caching + allocator; +2. identify whether a memory increase occurs during forward propagation, on the + first optimizer step, or cumulatively between training steps; +3. test a diagnosis by changing one workload dimension at a time; +4. choose a targeted intervention and reject an unrelated one. + +The exercise is complete when the participant correctly diagnoses all three +cases, cites a measured phase transition or scaling trend for each diagnosis, +and proposes a matching response. Producing the JSON files alone is not the +success criterion. + +Required prerequisites are familiarity with a PyTorch training cycle and a +CUDA-enabled PyTorch environment with at least one GPU. The repository's +[`environment_gpu.yml`](../../../environment_gpu.yml) provides the intended +software environment. DDP knowledge and a second GPU are optional. + +## Files + +| File | Purpose | +|---|---| +| [`memory_diagnostics.py`](memory_diagnostics.py) | Runs an anonymous workload, records memory at model, input, forward, backward, update, and gradient-clearing boundaries, and writes JSON. | +| [`compare_memory_reports.py`](compare_memory_reports.py) | Produces a compact comparison table from one or more JSON reports without naming the diagnosis. | +| [`SOLUTION.md`](SOLUTION.md) | Complete reference procedure, expected diagnoses, reasoning, and limitations. Consult it after forming a hypothesis. | + +## What is measured + +Every phase reports four related but non-interchangeable quantities: + +| Metric | Interpretation | +|---|---| +| `allocated_mib` | Live tensor storage known to PyTorch's CUDA allocator. Use this first when reasoning about tensor lifetimes. | +| `reserved_mib` | Blocks retained by the caching allocator. Released tensors can reduce allocated memory without immediately reducing this value. | +| `peak_allocated_mib` | Largest live PyTorch allocation since the peak was reset at the start of the current step. | +| `device_used_mib` | Device-wide consumption derived from free memory. It includes CUDA libraries and other processes, so an exclusive Slurm allocation is preferable. | + +The report also derives three diagnosis aids: + +- `first_step_persistent_change_mib`: allocation remaining after the first step + and gradient clearing, relative to the pre-training baseline; +- `between_step_growth_mib`: change in the post-cleanup baseline from the first + to the final step; +- `largest_forward_increase_mib`: the largest forward allocation above the + preceding post-cleanup baseline. + +These indicators are evidence, not universal thresholds. Absolute numbers vary +with GPU, precision, PyTorch version, kernel selection, and model shape. + +## Part 1: predict and collect a baseline + +Before running, sketch the expected live-allocation curve for one training +step. Mark model construction, forward propagation, backward propagation, the +first optimizer update, and gradient clearing. + +Run all three cases with the same configuration: + +```bash +python memory_diagnostics.py --case alpha --output alpha.json +python memory_diagnostics.py --case beta --output beta.json +python memory_diagnostics.py --case gamma --output gamma.json + +python compare_memory_reports.py --show-phases alpha.json beta.json gamma.json +``` + +For each case, answer these questions before looking at the implementation: + +1. Is its main change transient within a step, persistent after the first step, + or cumulative across steps? +2. Which phase provides the strongest evidence? +3. Is the gap between allocated and reserved memory itself evidence of a leak? + +Do not interpret a large `reserved_mib` value alone as live memory pressure. + +## Part 2: test each hypothesis + +A diagnosis needs a perturbation, not just a plausible story. Change one +variable at a time. + +### Batch-size sweep + +Predict which indicator will respond most strongly, then run: + +```bash +python memory_diagnostics.py --case alpha --batch-size-per-device 1 \ + --output alpha-batch1.json +python memory_diagnostics.py --case alpha --batch-size-per-device 4 \ + --output alpha-batch4.json + +python compare_memory_reports.py alpha-batch1.json alpha-batch4.json +``` + +### Model-size sweep + +Predict whether transient and persistent allocations will change in the same +proportion: + +```bash +python memory_diagnostics.py --case beta --preset small \ + --output beta-small.json +python memory_diagnostics.py --case beta --preset medium \ + --batch-size-per-device 1 --output beta-medium.json + +python compare_memory_reports.py beta-small.json beta-medium.json +``` + +### Step-count sweep + +Run the suspected cumulative case for longer. Compare the *post-cleanup +baseline*, not only its largest peak: + +```bash +python memory_diagnostics.py --case gamma --steps 10 \ + --output gamma-steps10.json +``` + +If `medium` exceeds the assigned GPU or takes too long, omit that run. An OOM is +capacity evidence, not a required outcome and not a valid performance result. + +## Part 3: recommend an intervention + +For every case, choose one primary response and explain why at least one other +response is poorly targeted. Candidate responses include: + +- reduce the local microbatch; +- use activation checkpointing; +- shard model state with FSDP; +- change optimizer or optimizer-state precision; +- stop retaining training graphs and store detached CPU summaries instead. + +The question is not “which technique saves memory?” but “which technique acts +on the measured source of pressure?” + +## Optional detailed snapshot + +Counters should answer the first question. Once one run is suspicious, collect +a detailed allocator history: + +```bash +python memory_diagnostics.py --case gamma --steps 6 \ + --snapshot gamma-snapshot.pickle \ + --output gamma-with-snapshot.json +``` + +The generated file is rank-qualified, for example +`gamma-snapshot-rank0.pickle`. Copy it from the compute node and open it in the +[PyTorch memory visualizer](https://pytorch.org/memory_viz). Recording histories +adds overhead and can create large files, which is why it is optional and +bounded by `--snapshot-max-entries`. + +PyTorch allocator snapshots cannot see allocations made directly by NCCL and +some other CUDA libraries. Compare snapshot evidence with `device_used_mib` +rather than assuming the snapshot accounts for the entire device. + +## Optional DDP rank-imbalance extension + +Use two GPUs first with equal local batches, then deliberately give rank zero a +larger batch: + +```bash +torchrun --standalone --nproc-per-node=2 memory_diagnostics.py \ + --case alpha --output alpha-ddp-balanced.json + +torchrun --standalone --nproc-per-node=2 memory_diagnostics.py \ + --case alpha --rank-zero-extra-samples 2 \ + --output alpha-ddp-imbalanced.json +``` + +Inspect every entry in `rank_reports`. Rank-zero-only logging would hide a +problem on another rank in a real workload. The artificial imbalance also +changes the effective weighting of samples in ordinary DDP gradient averaging; +it is a diagnostic demonstration, not a recommended training configuration. + +### Slurm example + +```bash +#!/usr/bin/env bash +#SBATCH --nodes=1 +#SBATCH --ntasks-per-node=1 +#SBATCH --gpus-per-node=2 +#SBATCH --time=00:10:00 + +set -euo pipefail + +srun torchrun --standalone --nproc-per-node=2 memory_diagnostics.py \ + --case alpha \ + --output "alpha-ddp-${SLURM_JOB_ID}.json" +``` + +Adapt the GPU directive, partition, account, and environment activation to the +local cluster. One Slurm task launches `torchrun`; `torchrun` creates one worker +per assigned GPU. + +## Hints + +1. Many optimizers create state lazily during their first `step()`, not when the + optimizer object is constructed. +2. A healthy steady-state training loop normally reuses memory rather than + increasing live allocation on every iteration. +3. `empty_cache()` does not release live tensors. Do not add it to conceal an + unexplained growth trend. +4. `detach()` breaks an autograd connection but does not move or discard the + underlying GPU tensor. For logging, retain a scalar or transfer the required + result to CPU. + +## Core code map + +Function and class names are more durable than line numbers if the file changes. + +| Area | Function or class and line | What to inspect | +|---|---|---| +| Options and validation | [`parse_arguments()` — line 103](memory_diagnostics.py#L103) | Defines the case, workload, precision, output, snapshot, and imbalance options. | +| CUDA/DDP setup | [`initialize_runtime()` — line 184](memory_diagnostics.py#L184) | Selects one GPU and initializes NCCL only when launched by `torchrun`. | +| Model blocks | [`TransformerBlock` — line 236](memory_diagnostics.py#L236) | Defines the attention and feed-forward unit. | +| Complete model | [`SyntheticTransformer` — line 267](memory_diagnostics.py#L267) | Creates the transformer used by every case. | +| Model/DDP creation | [`make_model()` — line 294](memory_diagnostics.py#L294) | Constructs an identical local model and optionally wraps it in DDP. | +| Input handling | [`make_batch()` — line 322](memory_diagnostics.py#L322) | Creates rank-specific synthetic token batches directly on the GPU. | +| Memory sampling | [`sample_memory()` — line 347](memory_diagnostics.py#L347) | Records allocated, reserved, peak, and device-wide memory at a phase boundary. | +| Training cycle | [`training_step()` — line 362](memory_diagnostics.py#L362) | Measures forward, backward, optimizer, and cleanup phases. | +| Evidence derivation | [`derive_indicators()` — line 425](memory_diagnostics.py#L425) | Converts raw samples into three hypothesis-testing indicators. | +| Orchestration | [`run()` — line 467](memory_diagnostics.py#L467) | Builds the workload, collects evidence, optionally dumps snapshots, and gathers ranks. | + +## Limitations + +- Synchronizing at every phase makes the measurement boundaries clear but + distorts step timing; this is a memory experiment, not a throughput benchmark. +- Synthetic reused input excludes data-loader and host-to-device transfer + memory. Diagnose those separately in a real application. +- Model-size changes affect both parameters and activations. The small-batch + medium run reduces, but does not eliminate, that confounder. +- DDP may create persistent gradient-bucket storage during its first backward + pass. Diagnose the three core cases on one GPU first; in the extension, + compare otherwise identical DDP runs rather than applying single-GPU + thresholds blindly. +- The anonymous cases isolate one dominant cause each. Real workloads can have + several simultaneous sources of pressure. +- Allocator internals used for optional snapshots have underscored names and + are more version-sensitive than the ordinary counter API. + +## Further reading + +- [PyTorch CUDA memory management API](https://docs.pytorch.org/docs/stable/cuda.html#memory-management) +- [PyTorch: Understanding CUDA Memory Usage](https://docs.pytorch.org/docs/stable/torch_cuda_memory.html) +- [PyTorch `max_memory_allocated`](https://docs.pytorch.org/docs/stable/generated/torch.cuda.memory.max_memory_allocated.html) diff --git a/source-code/pytorch/memory-diagnostics/SOLUTION.md b/source-code/pytorch/memory-diagnostics/SOLUTION.md new file mode 100644 index 0000000..d4b6c9b --- /dev/null +++ b/source-code/pytorch/memory-diagnostics/SOLUTION.md @@ -0,0 +1,93 @@ +# Reference solution: empirical CUDA memory diagnosis + +Run the commands in the exercise before reading this file. Exact MiB values are +hardware- and version-dependent; the phase and scaling patterns are the answer. + +## Reference procedure + +The following is a complete runnable collection and comparison sequence: + +```bash +python memory_diagnostics.py --case alpha --output alpha.json +python memory_diagnostics.py --case beta --output beta.json +python memory_diagnostics.py --case gamma --output gamma.json + +python compare_memory_reports.py alpha.json beta.json gamma.json + +python memory_diagnostics.py --case alpha --batch-size-per-device 1 \ + --output alpha-batch1.json +python memory_diagnostics.py --case alpha --batch-size-per-device 4 \ + --output alpha-batch4.json + +python memory_diagnostics.py --case beta --preset medium \ + --batch-size-per-device 1 --output beta-medium.json +python memory_diagnostics.py --case gamma --steps 10 \ + --output gamma-steps10.json +``` + +Skip the `medium` run if it is unsuitable for the allocated GPU. The three +default runs plus the alpha batch sweep are sufficient to meet the core +learning objective. + +## Diagnosis + +| Case | Dominant cause | Decisive evidence | Targeted response | +|---|---|---|---| +| `alpha` | Forward activations | Allocation rises during forward and its increment increases with local batch size, while the post-cleanup baseline remains stable across steps. | Reduce the microbatch, use activation checkpointing, or use a more memory-efficient kernel. | +| `beta` | AdamW optimizer state | The optimizer object initially adds almost no tensor storage, but a persistent allocation appears after the first `optimizer.step()` and remains after gradients are cleared. It grows with parameter count. | Shard model state, use a lower-memory optimizer, or reduce optimizer-state precision where scientifically acceptable. | +| `gamma` | Accidentally retained autograd graphs | `allocated_mib` after gradient clearing grows from one step to the next. More steps produce more growth even though model and batch dimensions are unchanged. | Stop retaining graphs and do not store graph-connected losses; retain only detached CPU values needed for logging. | + +## Why the alternatives are not interchangeable + +Activation checkpointing primarily removes selected forward intermediates and +recomputes them during backward. It is well targeted to `alpha`, but does not +remove AdamW's persistent moment tensors in `beta` and does not repair the +lifetime bug in `gamma`. + +FSDP can shard parameters, gradients, and optimizer state, making it plausible +for `beta` when those states dominate. It may also reduce some model-related +baseline in the other cases, but it leaves ordinary unsharded activations local +and merely distributes a retained-graph bug across processes. + +Calling `torch.cuda.empty_cache()` is not a repair. It can release unused cached +blocks to other applications, but it cannot free the live tensors represented +by `allocated_mib`. A large `reserved_mib - allocated_mib` gap is therefore not, +by itself, proof of a leak. + +## Source confirmation + +After making the empirical diagnosis, inspect `CASES` and `training_step()` in +[`memory_diagnostics.py`](memory_diagnostics.py): + +- `alpha` uses stateless SGD and the normal graph lifetime; +- `beta` uses AdamW, whose moment buffers are initialized lazily at its first + update; +- `gamma` requests `retain_graph=True` and keeps each graph-connected loss in a + list. + +The intentionally bad `gamma` behavior should be repaired in production as: + +```python +loss.backward() +logged_losses.append(loss.detach().cpu().item()) +``` + +Often it is better to maintain an online scalar sum rather than store every +value. Merely using `loss.detach()` while retaining the tensor on the GPU would +still keep that tensor's storage alive, although it would break the autograd +connection. + +## Interpreting DDP evidence + +With equal local workloads, ranks should have similar phase patterns, although +small differences can result from allocator and communication details. DDP can +also establish persistent gradient-bucket storage during the first backward, +so its first-step baseline need not equal the single-GPU result. With +`--rank-zero-extra-samples`, rank zero should show a larger forward increment. +The maximum across ranks is the relevant capacity constraint: the complete job +fails if any one rank exhausts its GPU. + +PyTorch allocator counters omit some memory allocated directly by NCCL and +other CUDA libraries. A larger `device_used_mib` than `reserved_mib` is +therefore expected, but device-wide usage can also include unrelated processes +unless the GPU allocation is exclusive. diff --git a/source-code/pytorch/memory-diagnostics/compare_memory_reports.py b/source-code/pytorch/memory-diagnostics/compare_memory_reports.py new file mode 100644 index 0000000..57d6dd4 --- /dev/null +++ b/source-code/pytorch/memory-diagnostics/compare_memory_reports.py @@ -0,0 +1,158 @@ +#!/usr/bin/env python3 +"""Compare JSON reports produced by memory_diagnostics.py.""" + +from __future__ import annotations + +import argparse +import json +import sys +from pathlib import Path +from typing import Any + + +def parse_arguments() -> argparse.Namespace: + """Parse report paths.""" + + parser = argparse.ArgumentParser( + description="Tabulate CUDA-memory diagnosis indicators.", + formatter_class=argparse.ArgumentDefaultsHelpFormatter, + ) + parser.add_argument("reports", nargs="+", type=Path) + parser.add_argument( + "--show-phases", + action="store_true", + help="also show rank-maximum allocated memory at first-step boundaries", + ) + return parser.parse_args() + + +def load_report(path: Path) -> dict[str, Any]: + """Load and minimally validate one exercise report.""" + + with path.open(encoding="utf-8") as handle: + report = json.load(handle) + required = {"case", "preset", "batch_size_per_device", "rank_reports"} + missing = required.difference(report) + if missing: + raise ValueError(f"{path}: missing fields: {', '.join(sorted(missing))}") + if not report["rank_reports"]: + raise ValueError(f"{path}: contains no rank reports") + return report + + +def maximum_indicator(report: dict[str, Any], name: str) -> float: + """Return the largest indicator across ranks.""" + + return max(rank["indicators"][name] for rank in report["rank_reports"]) + + +def maximum_phase_allocation( + report: dict[str, Any], step: int, phase: str +) -> float: + """Return the largest allocated-memory sample for a phase across ranks.""" + + values = [] + for rank in report["rank_reports"]: + values.extend( + sample["allocated_mib"] + for sample in rank["samples"] + if sample["step"] == step and sample["phase"] == phase + ) + if not values: + raise ValueError(f"missing phase sample: step={step}, phase={phase}") + return max(values) + + +def main() -> int: + """Print side-by-side evidence without automatically naming a diagnosis.""" + + arguments = parse_arguments() + try: + loaded = [(path, load_report(path)) for path in arguments.reports] + except (OSError, ValueError, json.JSONDecodeError) as error: + print(f"error: {error}", file=sys.stderr) + return 2 + + headings = ( + "report", + "case", + "preset", + "batch", + "first persistent MiB", + "step growth MiB", + "forward increase MiB", + "peak MiB", + ) + rows = [] + for path, report in loaded: + rows.append( + ( + path.name, + str(report["case"]), + str(report["preset"]), + str(report["batch_size_per_device"]), + f"{maximum_indicator(report, 'first_step_persistent_change_mib'):.1f}", + f"{maximum_indicator(report, 'between_step_growth_mib'):.1f}", + f"{maximum_indicator(report, 'largest_forward_increase_mib'):.1f}", + f"{maximum_indicator(report, 'maximum_peak_allocated_mib'):.1f}", + ) + ) + + widths = [ + max(len(headings[column]), *(len(row[column]) for row in rows)) + for column in range(len(headings)) + ] + print(" ".join(value.ljust(width) for value, width in zip(headings, widths))) + print(" ".join("-" * width for width in widths)) + for row in rows: + print(" ".join(value.ljust(width) for value, width in zip(row, widths))) + + if arguments.show_phases: + phase_columns = ( + (-1, "after_input", "input"), + (0, "after_forward", "forward"), + (0, "after_backward", "backward"), + (0, "after_optimizer_step", "optimizer"), + (0, "after_clear_gradients", "cleared"), + ) + phase_headings = ("report", *(label for _, _, label in phase_columns)) + phase_rows = [] + try: + for path, report in loaded: + phase_rows.append( + ( + path.name, + *( + f"{maximum_phase_allocation(report, step, phase):.1f}" + for step, phase, _ in phase_columns + ), + ) + ) + except ValueError as error: + print(f"error: {error}", file=sys.stderr) + return 2 + phase_widths = [ + max( + len(phase_headings[column]), + *(len(row[column]) for row in phase_rows), + ) + for column in range(len(phase_headings)) + ] + print("\nFirst-step allocated memory (MiB; maximum across ranks)") + print( + " ".join( + value.ljust(width) for value, width in zip(phase_headings, phase_widths) + ) + ) + print(" ".join("-" * width for width in phase_widths)) + for row in phase_rows: + print( + " ".join( + value.ljust(width) for value, width in zip(row, phase_widths) + ) + ) + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/source-code/pytorch/memory-diagnostics/memory_diagnostics.py b/source-code/pytorch/memory-diagnostics/memory_diagnostics.py new file mode 100644 index 0000000..5a5f62c --- /dev/null +++ b/source-code/pytorch/memory-diagnostics/memory_diagnostics.py @@ -0,0 +1,634 @@ +#!/usr/bin/env python3 +"""Collect phase-by-phase CUDA memory evidence for three mystery workloads. + +The script runs on one GPU with plain ``python`` and optionally on several GPUs +with ``torchrun``. It uses a locally constructed transformer and synthetic +GPU-resident inputs, so it downloads neither a model nor a dataset. + +Start with one GPU and compare the anonymous cases empirically:: + + python memory_diagnostics.py --case alpha --output alpha.json + python memory_diagnostics.py --case beta --output beta.json + python memory_diagnostics.py --case gamma --output gamma.json +""" + +from __future__ import annotations + +import argparse +import json +import math +import os +import platform +import socket +import sys +from dataclasses import asdict, dataclass +from datetime import timedelta +from pathlib import Path +from typing import Any + +import torch +import torch.distributed as dist +from torch import Tensor, nn +from torch.nn.parallel import DistributedDataParallel as DDP + +MEBIBYTE = 2**20 + + +@dataclass(frozen=True) +class ModelConfig: + """Dimensions for one synthetic transformer preset.""" + + layers: int + hidden_size: int + attention_heads: int + feedforward_size: int + sequence_length: int + vocabulary_size: int = 4096 + classes: int = 16 + + +@dataclass(frozen=True) +class CaseConfig: + """Hidden implementation choices behind one mystery case.""" + + optimizer: str + retain_training_graphs: bool + + +PRESETS = { + "small": ModelConfig( + layers=4, + hidden_size=384, + attention_heads=6, + feedforward_size=1536, + sequence_length=256, + ), + "medium": ModelConfig( + layers=8, + hidden_size=512, + attention_heads=8, + feedforward_size=2048, + sequence_length=512, + ), +} + +# The labels deliberately do not reveal the expected diagnosis. Participants +# should inspect this mapping only after using the measurements to form a +# hypothesis. +CASES = { + "alpha": CaseConfig(optimizer="sgd", retain_training_graphs=False), + "beta": CaseConfig(optimizer="adamw", retain_training_graphs=False), + "gamma": CaseConfig(optimizer="sgd", retain_training_graphs=True), +} + + +def positive_integer(value: str) -> int: + """Parse a positive command-line integer.""" + + number = int(value) + if number <= 0: + raise argparse.ArgumentTypeError("must be a positive integer") + return number + + +def non_negative_integer(value: str) -> int: + """Parse a non-negative command-line integer.""" + + number = int(value) + if number < 0: + raise argparse.ArgumentTypeError("must be a non-negative integer") + return number + + +def parse_arguments() -> argparse.Namespace: + """Parse options and protect output files before allocating GPU memory.""" + + parser = argparse.ArgumentParser( + description="Diagnose CUDA memory pressure from phase measurements.", + formatter_class=argparse.ArgumentDefaultsHelpFormatter, + ) + parser.add_argument("--case", choices=tuple(CASES), required=True) + parser.add_argument("--preset", choices=tuple(PRESETS), default="small") + parser.add_argument( + "--batch-size-per-device", + type=positive_integer, + default=2, + help="synthetic samples held on each GPU", + ) + parser.add_argument( + "--steps", type=positive_integer, default=6, help="measured training steps" + ) + parser.add_argument( + "--rank-zero-extra-samples", + type=non_negative_integer, + default=0, + help="optional DDP extension that makes rank zero's local batch larger", + ) + parser.add_argument( + "--precision", + choices=("fp32", "bf16"), + default="fp32", + help="BF16 requires support on every participating GPU", + ) + parser.add_argument("--seed", type=int, default=1234) + parser.add_argument( + "--output", type=Path, required=True, help="rank-zero JSON report path" + ) + parser.add_argument( + "--overwrite-output", + action="store_true", + help="allow replacement of an existing JSON report", + ) + parser.add_argument( + "--snapshot", + type=Path, + help="optional base path for a detailed allocator snapshot per rank", + ) + parser.add_argument( + "--snapshot-max-entries", + type=positive_integer, + default=100_000, + help="maximum recorded allocator-history entries per rank", + ) + parser.add_argument( + "--overwrite-snapshot", + action="store_true", + help="allow replacement of rank-qualified snapshot files", + ) + parser.add_argument( + "--local-rank", "--local_rank", type=int, help=argparse.SUPPRESS + ) + arguments = parser.parse_args() + + if arguments.seed < 0: + parser.error("--seed must be non-negative") + validate_new_file(parser, arguments.output, arguments.overwrite_output) + if arguments.snapshot is not None: + validate_new_file(parser, arguments.snapshot, arguments.overwrite_snapshot) + return arguments + + +def validate_new_file( + parser: argparse.ArgumentParser, path: Path, overwrite: bool +) -> None: + """Reject missing parents, directories, and accidental replacement.""" + + if path.is_dir(): + parser.error(f"output path is a directory: {path}") + if path.exists() and not overwrite: + parser.error(f"output already exists: {path}; enable overwrite explicitly") + if not path.parent.exists(): + parser.error(f"output directory does not exist: {path.parent}") + + +def initialize_runtime() -> tuple[int, int, int, torch.device]: + """Select one CUDA device and initialize NCCL when launched by torchrun.""" + + if not torch.cuda.is_available(): + raise RuntimeError("CUDA is unavailable; this exercise requires a GPU") + + distributed_variables = ("LOCAL_RANK", "RANK", "WORLD_SIZE") + supplied = [name in os.environ for name in distributed_variables] + if any(supplied) and not all(supplied): + raise RuntimeError( + "incomplete torchrun environment: LOCAL_RANK, RANK, and WORLD_SIZE " + "must either all be set or all be absent" + ) + + if all(supplied): + local_rank = int(os.environ["LOCAL_RANK"]) + rank = int(os.environ["RANK"]) + world_size = int(os.environ["WORLD_SIZE"]) + else: + local_rank = rank = 0 + world_size = 1 + + visible_devices = torch.cuda.device_count() + if not 0 <= local_rank < visible_devices: + raise RuntimeError( + f"LOCAL_RANK={local_rank}, but this process sees {visible_devices} GPU(s)" + ) + torch.cuda.set_device(local_rank) + device = torch.device("cuda", local_rank) + + if world_size > 1: + dist.init_process_group( + backend="nccl", init_method="env://", timeout=timedelta(minutes=5) + ) + return local_rank, rank, world_size, device + + +def resolve_precision(requested: str, device: torch.device) -> bool: + """Return whether BF16 autocast can be used consistently across ranks.""" + + if requested == "fp32": + return False + supported = torch.tensor( + int(torch.cuda.is_bf16_supported()), dtype=torch.int32, device=device + ) + if dist.is_initialized(): + dist.all_reduce(supported, op=dist.ReduceOp.MIN) + if not bool(supported.item()): + raise ValueError("BF16 was requested but at least one GPU lacks support") + return True + + +class TransformerBlock(nn.Module): + """A pre-normalized attention and feed-forward block.""" + + def __init__(self, config: ModelConfig) -> None: + super().__init__() + self.attention_norm = nn.LayerNorm(config.hidden_size) + self.attention = nn.MultiheadAttention( + config.hidden_size, + config.attention_heads, + dropout=0.0, + bias=False, + batch_first=True, + ) + self.feedforward_norm = nn.LayerNorm(config.hidden_size) + self.feedforward = nn.Sequential( + nn.Linear(config.hidden_size, config.feedforward_size, bias=False), + nn.GELU(approximate="tanh"), + nn.Linear(config.feedforward_size, config.hidden_size, bias=False), + ) + + def forward(self, hidden_states: Tensor) -> Tensor: + """Apply attention and feed-forward residual paths.""" + + normalized = self.attention_norm(hidden_states) + attention_output, _ = self.attention( + normalized, normalized, normalized, need_weights=False + ) + hidden_states = hidden_states + attention_output + return hidden_states + self.feedforward(self.feedforward_norm(hidden_states)) + + +class SyntheticTransformer(nn.Module): + """A compact encoder-style transformer for memory experiments.""" + + def __init__(self, config: ModelConfig) -> None: + super().__init__() + self.token_embedding = nn.Embedding(config.vocabulary_size, config.hidden_size) + self.position_embedding = nn.Parameter( + torch.empty(config.sequence_length, config.hidden_size) + ) + nn.init.normal_(self.position_embedding, mean=0.0, std=0.02) + self.blocks = nn.ModuleList( + TransformerBlock(config) for _ in range(config.layers) + ) + self.output_norm = nn.LayerNorm(config.hidden_size) + self.classifier = nn.Linear(config.hidden_size, config.classes, bias=False) + + def forward(self, token_ids: Tensor) -> Tensor: + """Return classification logits for token sequences.""" + + hidden_states = self.token_embedding(token_ids) + hidden_states = hidden_states + self.position_embedding.unsqueeze(0) + for block in self.blocks: + hidden_states = block(hidden_states) + hidden_states = self.output_norm(hidden_states[:, 0]) + return self.classifier(hidden_states) + + +def make_model( + config: ModelConfig, local_rank: int, world_size: int, device: torch.device +) -> nn.Module: + """Create the transformer and optionally wrap one replica in DDP.""" + + model = SyntheticTransformer(config).to(device) + if world_size == 1: + return model + return DDP( + model, + device_ids=[local_rank], + output_device=local_rank, + gradient_as_bucket_view=True, + ) + + +def make_optimizer( + model: nn.Module, case: CaseConfig +) -> torch.optim.Optimizer: + """Create the optimizer selected by the anonymous workload.""" + + if case.optimizer == "sgd": + return torch.optim.SGD(model.parameters(), lr=1e-3) + if case.optimizer == "adamw": + return torch.optim.AdamW(model.parameters(), lr=1e-4) + raise AssertionError(f"unknown optimizer: {case.optimizer}") + + +def make_batch( + config: ModelConfig, + batch_size: int, + rank: int, + seed: int, + device: torch.device, +) -> tuple[Tensor, Tensor]: + """Create one reproducible rank-specific batch directly on the GPU.""" + + generator = torch.Generator(device=device).manual_seed(seed + rank) + token_ids = torch.randint( + config.vocabulary_size, + (batch_size, config.sequence_length), + generator=generator, + device=device, + ) + targets = torch.randint( + config.classes, + (batch_size,), + generator=generator, + device=device, + ) + return token_ids, targets + + +def sample_memory(device: torch.device, step: int, phase: str) -> dict[str, Any]: + """Synchronize and record process-local and device-wide CUDA memory.""" + + torch.cuda.synchronize(device) + free_bytes, total_bytes = torch.cuda.mem_get_info(device) + return { + "step": step, + "phase": phase, + "allocated_mib": torch.cuda.memory_allocated(device) / MEBIBYTE, + "reserved_mib": torch.cuda.memory_reserved(device) / MEBIBYTE, + "peak_allocated_mib": torch.cuda.max_memory_allocated(device) / MEBIBYTE, + "device_used_mib": (total_bytes - free_bytes) / MEBIBYTE, + } + + +def training_step( + model: nn.Module, + token_ids: Tensor, + targets: Tensor, + optimizer: torch.optim.Optimizer, + case: CaseConfig, + use_bf16: bool, + step: int, + device: torch.device, + retained_losses: list[Tensor], +) -> tuple[Tensor, list[dict[str, Any]]]: + """Run one cycle and measure forward, backward, update, and cleanup phases.""" + + torch.cuda.reset_peak_memory_stats(device) + with torch.autocast(device_type="cuda", dtype=torch.bfloat16, enabled=use_bf16): + logits = model(token_ids) + loss = nn.functional.cross_entropy(logits.float(), targets) + samples = [sample_memory(device, step, "after_forward")] + + # One anonymous case deliberately preserves old training graphs. The + # measurements, rather than this line, should be the participant's first + # evidence that live allocations accumulate between steps. + loss.backward(retain_graph=case.retain_training_graphs) + samples.append(sample_memory(device, step, "after_backward")) + optimizer.step() + samples.append(sample_memory(device, step, "after_optimizer_step")) + + if case.retain_training_graphs: + retained_losses.append(loss) + optimizer.zero_grad(set_to_none=True) + samples.append(sample_memory(device, step, "after_clear_gradients")) + return loss.detach(), samples + + +def snapshot_path(base: Path, rank: int) -> Path: + """Make allocator snapshot names collision-free across ranks.""" + + suffix = base.suffix or ".pickle" + stem = base.stem if base.suffix else base.name + return base.with_name(f"{stem}-rank{rank}{suffix}") + + +def enable_memory_history(max_entries: int) -> None: + """Enable PyTorch's optional allocator-history recorder.""" + + memory_module = torch.cuda.memory + recorder = getattr(memory_module, "_record_memory_history", None) + if recorder is None: + raise RuntimeError( + "this PyTorch build does not provide CUDA allocator history recording" + ) + recorder(max_entries=max_entries) + + +def dump_memory_snapshot(path: Path) -> None: + """Write a snapshot consumable by the PyTorch memory visualizer.""" + + dumper = getattr(torch.cuda.memory, "_dump_snapshot", None) + if dumper is None: + raise RuntimeError("this PyTorch build cannot dump CUDA memory snapshots") + dumper(str(path)) + + +def derive_indicators(samples: list[dict[str, Any]]) -> dict[str, float]: + """Derive diagnosis aids without assigning a semantic label to the case.""" + + initial = next(sample for sample in samples if sample["phase"] == "after_input") + cleared = [ + sample for sample in samples if sample["phase"] == "after_clear_gradients" + ] + forwards = [sample for sample in samples if sample["phase"] == "after_forward"] + first_persistent_change = cleared[0]["allocated_mib"] - initial["allocated_mib"] + between_step_growth = cleared[-1]["allocated_mib"] - cleared[0]["allocated_mib"] + + baselines = [initial, *cleared[:-1]] + forward_increases = [ + forward["allocated_mib"] - baseline["allocated_mib"] + for forward, baseline in zip(forwards, baselines, strict=True) + ] + return { + "first_step_persistent_change_mib": first_persistent_change, + "between_step_growth_mib": between_step_growth, + "largest_forward_increase_mib": max(forward_increases), + "maximum_peak_allocated_mib": max( + sample["peak_allocated_mib"] for sample in samples + ), + } + + +def gather_rank_reports( + local_report: dict[str, Any], rank: int, world_size: int +) -> list[dict[str, Any]] | None: + """Collect compact per-rank evidence on rank zero.""" + + if world_size == 1: + return [local_report] + gathered: list[dict[str, Any] | None] | None + gathered = [None] * world_size if rank == 0 else None + dist.gather_object(local_report, gathered, dst=0) + if rank != 0: + return None + assert gathered is not None and all(report is not None for report in gathered) + return [report for report in gathered if report is not None] + + +def run(arguments: argparse.Namespace) -> dict[str, Any] | None: + """Construct the workload, collect phase evidence, and gather all ranks.""" + + local_rank, rank, world_size, device = initialize_runtime() + use_bf16 = resolve_precision(arguments.precision, device) + config = PRESETS[arguments.preset] + case = CASES[arguments.case] + rank_snapshot = ( + snapshot_path(arguments.snapshot, rank) + if arguments.snapshot is not None + else None + ) + if rank_snapshot is not None and rank_snapshot.exists(): + if not arguments.overwrite_snapshot: + raise FileExistsError( + f"snapshot already exists: {rank_snapshot}; enable overwrite explicitly" + ) + + if rank_snapshot is not None: + enable_memory_history(arguments.snapshot_max_entries) + + torch.manual_seed(arguments.seed) + model = make_model(config, local_rank, world_size, device) + parameter_count = sum(parameter.numel() for parameter in model.parameters()) + torch.cuda.reset_peak_memory_stats(device) + samples = [sample_memory(device, -1, "after_model")] + + optimizer = make_optimizer(model, case) + samples.append(sample_memory(device, -1, "after_optimizer_creation")) + token_ids, targets = make_batch( + config, + arguments.batch_size_per_device + + (arguments.rank_zero_extra_samples if rank == 0 else 0), + rank, + arguments.seed, + device, + ) + samples.append(sample_memory(device, -1, "after_input")) + + retained_losses: list[Tensor] = [] + loss = torch.zeros((), device=device) + for step in range(arguments.steps): + loss, step_samples = training_step( + model, + token_ids, + targets, + optimizer, + case, + use_bf16, + step, + device, + retained_losses, + ) + samples.extend(step_samples) + + if not math.isfinite(loss.item()): + raise RuntimeError("the final loss is not finite; retry with FP32") + if rank_snapshot is not None: + dump_memory_snapshot(rank_snapshot) + + free_bytes, total_bytes = torch.cuda.mem_get_info(device) + local_report = { + "rank": rank, + "local_rank": local_rank, + "local_batch_size": token_ids.shape[0], + "gpu_name": torch.cuda.get_device_name(device), + "device_total_mib": total_bytes / MEBIBYTE, + "device_free_at_end_mib": free_bytes / MEBIBYTE, + "snapshot": str(rank_snapshot) if rank_snapshot is not None else None, + "samples": samples, + "indicators": derive_indicators(samples), + } + rank_reports = gather_rank_reports(local_report, rank, world_size) + if rank != 0: + return None + assert rank_reports is not None + return { + "exercise": "empirical CUDA memory diagnosis", + "case": arguments.case, + "preset": arguments.preset, + "model_config": asdict(config), + "parameter_count": parameter_count, + "parameters_fp32_mib": 4 * parameter_count / MEBIBYTE, + "batch_size_per_device": arguments.batch_size_per_device, + "rank_zero_extra_samples": arguments.rank_zero_extra_samples, + "steps": arguments.steps, + "precision": arguments.precision, + "world_size": world_size, + "seed": arguments.seed, + "final_loss_rank_zero": loss.item(), + "rank_reports": rank_reports, + "pytorch_version": torch.__version__, + "cuda_version": torch.version.cuda, + "python_version": platform.python_version(), + "hostname_rank_zero": socket.gethostname(), + "slurm_job_id": os.environ.get("SLURM_JOB_ID"), + "measurement_notes": { + "allocated": "live tensor memory tracked by the PyTorch CUDA allocator", + "reserved": "memory held by the PyTorch caching allocator", + "device_used": "device-wide use, including other processes and libraries", + "peak": "maximum allocated since the per-step peak reset", + }, + } + + +def print_summary(result: dict[str, Any]) -> None: + """Print evidence from every rank in a compact Slurm-log format.""" + + print("PyTorch CUDA memory-diagnostics exercise") + print(f" mystery case: {result['case']}") + print(f" preset: {result['preset']}") + print(f" GPUs: {result['world_size']}") + print(f" batch/device: {result['batch_size_per_device']}") + print(f" precision: {result['precision']}") + print(f" FP32 parameter memory: {result['parameters_fp32_mib']:.1f} MiB") + for rank_report in result["rank_reports"]: + indicators = rank_report["indicators"] + print(f" rank {rank_report['rank']} indicators:") + print( + " first-step persistent change: " + f"{indicators['first_step_persistent_change_mib']:.1f} MiB" + ) + print( + " between-step growth: " + f"{indicators['between_step_growth_mib']:.1f} MiB" + ) + print( + " largest forward increase: " + f"{indicators['largest_forward_increase_mib']:.1f} MiB" + ) + print( + " maximum peak allocated: " + f"{indicators['maximum_peak_allocated_mib']:.1f} MiB" + ) + + +def main() -> int: + """Run the selected case and write the rank-zero JSON report.""" + + arguments = parse_arguments() + try: + result = run(arguments) + if result is not None: + print_summary(result) + text = json.dumps(result, indent=2, sort_keys=True) + arguments.output.write_text(f"{text}\n", encoding="utf-8") + print(f" JSON result: {arguments.output}") + return 0 + except torch.cuda.OutOfMemoryError as error: + rank = os.environ.get("RANK", "0") + print( + f"rank {rank}: CUDA out of memory. This is capacity evidence, but the " + "exercise does not require an OOM. Retry with --preset small or a " + f"smaller batch. Original error: {error}", + file=sys.stderr, + ) + return 3 + except (FileExistsError, OSError, RuntimeError, ValueError) as error: + rank = os.environ.get("RANK", "0") + print(f"rank {rank}: error: {error}", file=sys.stderr) + return 2 + finally: + if dist.is_initialized(): + dist.destroy_process_group() + + +if __name__ == "__main__": + raise SystemExit(main()) From 4b93a840504d8b7c44abcbf636cad4217e98cea7 Mon Sep 17 00:00:00 2001 From: Geert Jan Bex Date: Tue, 8 Sep 2026 08:45:37 +0200 Subject: [PATCH 30/33] Move PyTorch framework choice slide to main slide deck --- machine_learning_with_python.pptx | Bin 4049858 -> 4054598 bytes multi_gpu_machine_learning.pptx | Bin 503210 -> 498547 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/machine_learning_with_python.pptx b/machine_learning_with_python.pptx index 7f52f55fd0989e6a85a037866bdaf4903028fac3..c5c3168dad76b00e12bf2f9504d1bcf8a662079d 100644 GIT binary patch delta 26944 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 LfZ%Ez0@42gfZcPw delta 22400 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 diff --git a/multi_gpu_machine_learning.pptx b/multi_gpu_machine_learning.pptx index a6ef3189b572998d3cd840b2e177345a55d370b1..14d50efc190a84e9c89b7b449d0bd244651afdff 100644 GIT binary patch delta 7407 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 y(d!-_P;w&3z(H8{y1>U6Y5V>2mcR+L~-o^ delta 11351 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 F{{tb3#?b%( From 851c5f868ad6645f2ca7249f6b85174efe77e743 Mon Sep 17 00:00:00 2001 From: Geert Jan Bex Date: Tue, 8 Sep 2026 08:47:43 +0200 Subject: [PATCH 31/33] Add PowerPoint backup file to gitignore --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 81279bf..77f7b11 100644 --- a/.gitignore +++ b/.gitignore @@ -115,4 +115,4 @@ venv.bak/ # PowerPoint checkpoint files /~$machine_learning_with_python.pptx -/~$multi_gpu.pptx +/~$multi_gpu_machine_learning.pptx From bd4fd28811c0199792560a33d92c6881fcb7c2e6 Mon Sep 17 00:00:00 2001 From: Geert Jan Bex Date: Wed, 14 Oct 2026 16:21:34 +0200 Subject: [PATCH 32/33] Modernize matplotlib API calls --- source-code/curse_of_dimensionality.ipynb | 208 ++++++++++++++++++---- 1 file changed, 169 insertions(+), 39 deletions(-) diff --git a/source-code/curse_of_dimensionality.ipynb b/source-code/curse_of_dimensionality.ipynb index 7522474..b1adf87 100644 --- a/source-code/curse_of_dimensionality.ipynb +++ b/source-code/curse_of_dimensionality.ipynb @@ -16,8 +16,28 @@ }, { "cell_type": "markdown", - "id": "836452cc-08f2-4edc-96f5-700d8cd5bd16", + "id": "e69782ab-d490-4cea-9df4-189f988224ff", "metadata": {}, + "source": [ + "Initialize a random number generator." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "0eb0081e-3c46-443d-ba00-c6b8151ef38d", + "metadata": {}, + "outputs": [], + "source": [ + "rng = np.random.default_rng(seed=1234)" + ] + }, + { + "cell_type": "markdown", + "id": "836452cc-08f2-4edc-96f5-700d8cd5bd16", + "metadata": { + "jp-MarkdownHeadingCollapsed": true + }, "source": [ "## Distances between vertices of a hypercube" ] @@ -32,7 +52,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 3, "id": "15ef43bf-134f-4379-95c6-148ddd5ff440", "metadata": {}, "outputs": [], @@ -52,7 +72,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 4, "id": "2db62095-6aa4-44c3-bd82-0370550290b2", "metadata": { "scrolled": true @@ -83,12 +103,16 @@ "id": "e92887cc-e1d8-4092-ad25-aa099518ae9d", "metadata": {}, "source": [ - "Define the cosine similarity (https://en.wikipedia.org/wiki/Cosine_similarity)." + "Define the cosine similarity (https://en.wikipedia.org/wiki/Cosine_similarity).\n", + "\n", + "$$\n", + " d(\\vec{v}_1, \\vec{v}_2) = \\frac{\\vec{v}_1 \\cdot \\vec{v}_2}{\\lVert \\vec{v}_1 \\rVert \\lVert \\vec{v}_2 \\rVert}\n", + "$$" ] }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 5, "id": "e2e1a0f8-9f44-43e2-9011-736be3aa5760", "metadata": {}, "outputs": [], @@ -107,7 +131,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 6, "id": "f218f6ac-c780-465d-9b71-c1758d425efa", "metadata": {}, "outputs": [], @@ -130,14 +154,14 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 7, "id": "af056b13-e063-46af-bfe1-0b98331942ea", "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "8bf92bf1a6c045a79320a828ec6ae145", + "model_id": "bdaeaa7f828949feb47919d3e4bea49d", "version_major": 2, "version_minor": 0 }, @@ -191,13 +215,13 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 8, "id": "144c02ff-c974-427a-9e84-110976724e19", "metadata": {}, "outputs": [], "source": [ - "def generate_vectors(nr_vectors, nr_dims, max_value=1.0, normalize=True):\n", - " vectors = np.random.uniform(-max_value, max_value, (nr_vectors, nr_dims))\n", + "def generate_vectors(rng, nr_vectors, nr_dims, max_value=1.0, normalize=True):\n", + " vectors = rng.uniform(-max_value, max_value, (nr_vectors, nr_dims))\n", " if normalize:\n", " vectors /= np.linalg.norm(vectors, axis=1)[:, None]\n", " return vectors" @@ -205,13 +229,13 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 9, "id": "5c109cb9-1eb4-472c-a5af-62a35c75a08d", "metadata": {}, "outputs": [], "source": [ - "def compute_similarity_distribution(nr_vectors, nr_dims):\n", - " vectors = generate_vectors(nr_vectors, nr_dims)\n", + "def compute_similarity_distribution(rng, nr_vectors, nr_dims):\n", + " vectors = generate_vectors(rng, nr_vectors, nr_dims)\n", " similarities = []\n", " for i in range(nr_vectors):\n", " for j in range(i + 1, nr_vectors):\n", @@ -221,14 +245,16 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 10, "id": "bb6ec1e5-db35-4b7d-b657-05516b0bc618", - "metadata": {}, + "metadata": { + "scrolled": true + }, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "90f888f1208741e9bdd4b25e26ff01ed", + "model_id": "1da7bd6609284aff9cbd34efd7cef6ec", "version_major": 2, "version_minor": 0 }, @@ -243,9 +269,111 @@ "source": [ "@ipywidgets.interact(nr_vectors=(100, 10_000), nr_dims=(1, 50))\n", "def show_similarity_distribution(nr_vectors=1_000, nr_dims=2):\n", - " similarities = compute_similarity_distribution(nr_vectors, nr_dims)\n", - " plt.hist(similarities, bins=50, density=True)\n", - " plt.xlim(-1.0, 1.0);" + " similarities = compute_similarity_distribution(rng, nr_vectors, nr_dims)\n", + " figure, axis = plt.subplots()\n", + " axis.hist(similarities, bins=50, density=True)\n", + " axis.set_xlim(-1.0, 1.0)\n", + " plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "bf6cd3a7-52bd-49eb-a5d5-2b9a6714457c", + "metadata": {}, + "source": [ + "## Random vectors in a unit cube" + ] + }, + { + "cell_type": "markdown", + "id": "bfcf927f-e6e4-4dee-b6e3-f0b2fbcc3cbb", + "metadata": {}, + "source": [ + "Consider $N$ randomly generated vectors that lie in an $n$-dimensional unit hypercube. if you pick a random vector in that hypercube, what is the ratio between the distance to the nearest and the farest vector?" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "cc709a02-a868-4750-9a8d-91061da55120", + "metadata": {}, + "outputs": [], + "source": [ + "def generate_vectors(rng, nr_vectors, nr_dims):\n", + " return rng.uniform(size=(nr_vectors, nr_dims))" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "4c934b85-3ab0-4e1e-999f-9260c254a1c8", + "metadata": {}, + "outputs": [], + "source": [ + "def generate_query_vector(rng, nr_dims):\n", + " return rng.uniform(size=nr_dims)" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "11b046b1-a085-4612-afda-7f1696534ca0", + "metadata": {}, + "outputs": [], + "source": [ + "def distance_extrema(query_vector, vectors):\n", + " norms = np.linalg.norm(vectors, axis=1)\n", + " distances = np.linalg.norm(vectors - query_vector, axis=1)\n", + " return distances.min(), distances.max()" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "fadea629-1529-4924-844f-3f7c4b51c277", + "metadata": {}, + "outputs": [], + "source": [ + "def near_far_ratio(rng, nr_vectors, nr_dims):\n", + " vectors = generate_vectors(rng, nr_vectors, nr_dims)\n", + " query_vector = generate_query_vector(rng, nr_dims)\n", + " near, far = distance_extrema(query_vector, vectors)\n", + " return near/far" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "e6791c06-3b7b-45bb-9945-3f8fa3db3847", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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r7lZ1/tic+r7zNXXu8U/xkLzxG71LQvXu+Xhmrc8zrzm3NlBs+Tv7685c+bI39/f7FLgAlzvlodr3vI485pzZwcAAHg07uwAAACPRtgBAAAejbADAAA8GmEHAAB4NMIOAADwaIQdeJzJkyerXbt2+sUvfmF2KXCB3NxcXXnllerdu7f69eunDz/80OyS4GRlZWUaNGiQkpKS1LdvX73xxhtmlwQXOHXqlOLj4/XQQw81+liWnsPjfPnllzpx4oQWLlyojz76yOxy4GRWq1UFBQVKSkpSYWGhBg4cqN27dyswMNDs0uAkNptNFRUVat26tU6dOqXExERt2rRJYWFhZpcGJ3r88ce1d+9excXF6bnnnmvUsdzZgccZOXKkgoKCzC4DLhIdHa2kpCRJUkREhEJDQ1VcXGxuUXAqb29vtW7dWpJUXl4um80m/rvds+3du1fff/+9xo0b16TjCTtwK2vXrtX48eMVExMji8WiTz75pM6c9PR0JSQkKCAgQMnJyfr6669dXygcxpHXfPPmzbLb7erYsaOTq8alcMQ1P378uPr3768OHTro4YcfVnh4uIuqR2M54no/9NBDSktLa3INhB24lZMnT6p///56+eWXz/v5kiVL9MADD+jxxx9XRkaGhg8frrFjxyonJ8fFlcJRHHXNjx07pmnTpun11193Rdm4BI645m3btlVmZqays7P13nvvqaCgwFXlo5Eu9XovXbpU3bt3V/fu3ZtehAG4KUnGxx9/XGssNTXVmDlzZq2xnj17Go8++mitsS+//NK48cYbnV0iHKyp17y8vNwYPny4sWjRIleUCQe6lH/n58ycOdP44IMPnFUiHKgp1/vRRx81OnToYMTHxxthYWFGcHCwMXfu3EZ9X+7soNmorKzUli1bNGrUqFrjo0aN0rp160yqCs7UkGtuGIZmzJihq666SlOnTjWjTDhQQ655QUGBSktLJZ3ZKXvt2rXq0aOHy2vFpWvI9U5LS1Nubq4OHjyo5557TnfeeaeeeOKJRn0fH4dVDDhZUVGRbDabIiMja41HRkYqPz+/5s+jR4/W1q1bdfLkSXXo0EEff/yxBg0a5Opy4QANuebffvutlixZon79+tW8C/DOO++ob9++ri4XDtCQa3748GHdcccdMgxDhmHo/vvvV79+/cwoF5eooT/XLxVhB82OxWKp9WfDMGqNrVq1ytUlwckudM0vv/xy2e12M8qCE13omicnJ2vbtm0mVAVnudjP9XNmzJjRpPPzGAvNRnh4uLy9veuk/cLCwjr/VQDPwDVvebjmLYurrjdhB82Gn5+fkpOTtXr16lrjq1ev1tChQ02qCs7ENW95uOYti6uuN4+x4FZOnDihffv21fw5Oztb27ZtU2hoqOLi4jRr1ixNnTpVKSkpGjJkiF5//XXl5ORo5syZJlaNS8E1b3m45i2LW1zvpi0eA5zjyy+/NCTV+Zo+fXrNnFdeecWIj483/Pz8jIEDBxpr1qwxr2BcMq55y8M1b1nc4XqzNxYAAPBovLMDAAA8GmEHAAB4NMIOAADwaIQdAADg0Qg7AADAoxF2AACARyPsAAAAj0bYAQAAHo2wAwAAPBphBwAAeDTCDgAA8GiEHQAeZ9++fbJYLPr000919dVXq3Xr1urRo4c2bNhgdmkATEDYAeBxMjMzZbFY9Pzzz+v3v/+9MjMzFRcXp0cffdTs0gCYgLADwONkZmYqJCRES5Ys0ciRI9WtWzdNmjRJR48eNbs0ACYg7ADwOJmZmRo/frzat29fM3bgwAF17drVxKoAmIWwA8DjZGZmasiQIbXGMjIylJSUZE5BAExF2AHgUUpKSnTo0CENGDCg1vi2bdsIO0ALRdgB4FEyMzPl7e2t/v3714wdOnRIP/zwA2EHaKEIOwA8SmZmpnr27KlWrVrVjGVkZKht27bq1KmTeYUBMI3FMAzD7CIAAACchTs7AADAoxF2AACARyPsAAAAj0bYAQAAHo2wAwAAPBphBwAAeDTCDgAA8GiEHQAA4NEIOwAAwKMRdgAAgEcj7AAAAI9G2AEAAB7t/wM4nRiELpSymQAAAABJRU5ErkJggg==", + "text/plain": [ + "

" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "nr_vectors = 10_000\n", + "dims = np.logspace(1, 13, 13, base=2).astype(np.int32)\n", + "figure, axis = plt.subplots()\n", + "axis.plot(dims, [near_far_ratio(rng, nr_vectors=nr_vectors, nr_dims=nr_dims) for nr_dims in dims], 'o-')\n", + "axis.set_xscale('log')\n", + "axis.set_xlabel('$n$')\n", + "axis.set_ylabel(r'$d_{\\mathrm{min}}/d_{\\mathrm{max}}$');" + ] + }, + { + "cell_type": "markdown", + "id": "2ff17692-22ce-41a7-83b1-aa47e2ae4c31", + "metadata": {}, + "source": [ + "In high dimensions, the nearest and the farest point from the query vector are at almost equal distance." ] }, { @@ -268,36 +396,36 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 16, "id": "8dc266a8-7e60-4a87-91c6-2e1657b08e1f", "metadata": {}, "outputs": [], "source": [ - "def compute_fraction(dim, nr_points):\n", - " points = np.random.uniform(-1.0, 1.0, size=(nr_points, dim))\n", + "def compute_fraction(rng, dim, nr_points):\n", + " points = rng.uniform(-1.0, 1.0, size=(nr_points, dim))\n", " return np.sum(np.where(np.sum(points**2, axis=1) < 1.0, 1, 0))/points.shape[0]" ] }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 17, "id": "b573687a-a468-4395-8b80-63f21a9a4414", "metadata": {}, "outputs": [], "source": [ "dims = list(range(1, 16))\n", - "ratios = [compute_fraction(dim, 10_000_000) for dim in dims]" + "ratios = [compute_fraction(rng, dim, 10_000_000) for dim in dims]" ] }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 18, "id": "0948847e-154a-452e-80fa-b0da0c95f870", "metadata": {}, "outputs": [ { "data": { - "image/png": "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bdu2JicJrAceeEDXXnutfvzjH5sdJeCWLl2qAQMG6Oabb1ZcXJz69eunl156yexYATNs2DB9/PHH2r59uyRpw4YNWrVqla655hqTk5kjNzdXhYWFGjlyZO22qKgoXX755fr8889NTGYej8cjm80WNqObUvXFqMePH6+HHnpIPXv2NDtOQIX1BTqtzDAMTZs2TcOGDVN6errZcQLmH//4h7KysvTVV1+ZHcUUu3bt0ty5czVt2jT95je/0dq1azV58mRFRUVpwoQJZsdrdtOnT5fH49HFF18sh8Mhr9erP/7xj7r11lvNjmaKwsJCSVJ8fHyd7fHx8crLyzMjkqnKysr061//WrfddpslL1jZmMcff1xOp1OTJ082O0rAUXIs6uc//7m+/vprrVq1yuwoAbNnzx5NmTJFH330kVwul9lxTOHz+TRgwAA99thjkqR+/fpp8+bNmjt3bliUnEWLFmnBggV688031bNnT+Xk5Gjq1KlKSkrSHXfcYXY809hstjr3DcOot83qKisrdcstt8jn82nOnDlmxwmY9evX6+mnn1ZWVlbY/TeXOPDYkn7xi19o6dKl+vTTT9WpUyez4wTM+vXrVVRUpIyMDDmdTjmdTi1fvlzPPPOMnE6nvF6v2RGbXWJionr06FFnW/fu3ZWfn29SosB66KGH9Otf/1q33HKLevXqpfHjx+vBBx/UrFmzzI5mioSEBEnfj+jUKCoqqje6Y2WVlZUaO3ascnNzlZmZGVajOCtXrlRRUZFSUlJqfy/m5eXpl7/8pTp37mx2vGbHSI6FGIahX/ziF1qyZIk+++wzpaWlmR0poK666ipt3Lixzra77rpLF198saZPny6Hw2FSssAZOnRovWUDtm/frtTUVJMSBdbx48dlt9f9t5vD4bD0KeSnk5aWpoSEBGVmZqpfv36SpIqKCi1fvlyPP/64yekCo6bgfPvtt/r000/Vrl07syMF1Pjx4+sdn3j11Vdr/Pjxuuuuu0xKFTiUHAt54IEH9Oabb+q9995TTExM7b/e3G63oqOjTU7X/GJiYuodf9SyZUu1a9cubI5LevDBBzVkyBA99thjGjt2rNauXasXX3xRL774otnRAmLMmDH64x//qJSUFPXs2VPZ2dl66qmndPfdd5sdrdkcO3ZMO3bsqL2fm5urnJwctW3bVikpKZo6daoee+wxde3aVV27dtVjjz2mFi1a6LbbbjMxtf+c7v0nJSXppptuUlZWlv71r3/J6/XW/l5s27atIiMjzYrtV2f6GfhhsYuIiFBCQoK6desW6KiBZ/LZXfAjSQ3eXnnlFbOjmSbcTiE3DMN4//33jfT0dCMqKsq4+OKLjRdffNHsSAFTXFxsTJkyxUhJSTFcLpfRpUsX4+GHHzbKy8vNjtZsPv300wb/v7/jjjsMw6g+jXzmzJlGQkKCERUVZVx22WXGxo0bzQ3tR6d7/7m5uY3+Xvz000/Nju43Z/oZ+KFwOoXcZhiGEaA+BQAAEDAceAwAACyJkgMAACyJkgMAACyJkgMAACyJkgMAACyJkgMAACyJkgMAACyJkgMAACyJkgMAACyJkgPA8v70pz9p8ODBZscAEGCUHACWt2HDBvXp08fsGAACjJIDwPI2bNigvn37mh0DQIBRcgBYytatW/WjH/1I0dHR6tevn9atW6ft27czkgOEIUoOAMv45ptvNGjQIA0YMECbNm3S7373O/30pz+VYRjq3bu32fEABJjNMAzD7BAA4A9XXXWVkpKS9Pe//71226233qqsrCxt27bNxGQAzOA0OwAA+ENeXp4++eQTZWVl1dkeERHBVBUQppiuAmAJOTk5cjqd6tWrV53tWVlZHHQMhClKDgBLsNvt8vl8qqioqN22bNkybd68mZIDhClKDgBLyMjIUEREhH71q19p165dWrp0qe69915JYroKCFMceAzAMhYsWKAZM2aotLRU/fr106BBg/TSSy/pwIEDZkcDYAJKDgAAsCSmqwAAgCVRcgAAgCVRcgAAgCVRcgAAgCVRcgAAgCVRcgAAgCVRcgAAgCVRcgAAgCVRcgAAgCVRcgAAgCVRcgAAgCX9f4tiHiLJcqQZAAAAAElFTkSuQmCC", + "image/png": "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N998s/HQQw/V23bbbbcZ48ePNymRd0kyli5dWnff7XYbcXFxxq9//eu6bWVlZYbD4TDeeustExK2rLPff2M2btxoSDL27dvnnVBe1tT3YP/+/UbHjh2N7Oxso3Pnzsbvfvc7r2czAyM5AczpdEqSoqOjTU7iXY899phuvvlmff/73zc7itctW7ZMgwYN0p133qmYmBgNGDBAb7/9ttmxvGbEiBH697//rZ07d0qSvv76a61du1Y33XSTycnMkZOTo4KCAo0ePbpum91u17XXXqt169aZmMw8TqdTFoslaEY3peqLUd933316+umn1bt3b7PjeFVQX6AzkBmGoalTp2rEiBFKSUkxO47X/PnPf1ZGRoa++uors6OYYs+ePZozZ46mTp2qn//859q4caOeeOIJ2e12TZgwwex4Le6ZZ56R0+lUjx49ZLPZ5HK59Ktf/Ur33HOP2dFMUVBQIEmKjY2ttz02Nlb79u0zI5KpysrK9Oyzz+ree+8NyAtWNuXll19WSEiInnjiCbOjeB0lJ0D95Cc/0TfffKO1a9eaHcVr8vLy9OSTT+rTTz9VeHi42XFM4Xa7NWjQIL300kuSpAEDBmjr1q2aM2dOUJScxYsXa8GCBVq4cKF69+6trKwsTZkyRQkJCbr//vvNjmcai8VS775hGA22BbrKykrdfffdcrvdmj17ttlxvGbz5s16/fXXlZGREXT/zSUOPA5Ijz/+uJYtW6bPP/9cnTp1MjuO12zevFmFhYVKTU1VSEiIQkJCtGrVKv3+979XSEiIXC6X2RFbXHx8vHr16lVvW8+ePZWbm2tSIu96+umn9eyzz+ruu+9Wnz59dN999+mpp57SzJkzzY5miri4OEmnR3RqFRYWNhjdCWSVlZW66667lJOTo/T09KAaxVmzZo0KCwuVlJRU93tx3759+ulPf6ouXbqYHa/FMZITQAzD0OOPP66lS5fqiy++UHJystmRvOqGG27Qli1b6m178MEH1aNHDz3zzDOy2WwmJfOe4cOHN1g2YOfOnercubNJibzr5MmTslrr/9vNZrMF9Cnk55KcnKy4uDilp6drwIABkqSKigqtWrVKL7/8ssnpvKO24OzatUuff/652rVrZ3Ykr7rvvvsaHJ9444036r777tODDz5oUirvoeQEkMcee0wLFy7Uxx9/rMjIyLp/vTkcDkVERJicruVFRkY2OP6odevWateuXdAcl/TUU09p2LBheumll3TXXXdp48aNmjt3rubOnWt2NK9IS0vTr371KyUlJal3797KzMzUa6+9poceesjsaC2mtLRU3333Xd39nJwcZWVlKTo6WklJSZoyZYpeeuklde/eXd27d9dLL72kVq1a6d577zUxteec6/0nJCTojjvuUEZGhv7+97/L5XLV/V6Mjo5WWFiYWbE96nw/A2cXu9DQUMXFxenKK6/0dlTvM/nsLniQpEZv7777rtnRTBNsp5AbhmEsX77cSElJMex2u9GjRw9j7ty5ZkfymuLiYuPJJ580kpKSjPDwcKNr167G9OnTjfLycrOjtZjPP/+80f/v77//fsMwqk8jnzFjhhEXF2fY7XbjmmuuMbZs2WJuaA861/vPyclp8vfi559/bnZ0jznfz8DZgukUcothGIaX+hQAAIDXcOAxAAAISJQcAAAQkCg5AAAgIFFyAABAQKLkAACAgETJAQAAAYmSAwAAAhIlBwAABCRKDgAACEiUHAAB79e//rWGDh1qdgwAXkbJARDwvv76a/Xr18/sGAC8jJIDIOB9/fXX6t+/v9kxAHgZJQdAQNm+fbu+973vKSIiQgMGDNCmTZu0c+dORnKAIETJARAwduzYoSFDhmjQoEHKzs7Wc889px/+8IcyDEN9+/Y1Ox4AL7MYhmGYHQIAPOGGG25QQkKC/vSnP9Vtu+eee5SRkaFvv/3WxGQAzBBidgAA8IR9+/bps88+U0ZGRr3toaGhTFUBQYrpKgABISsrSyEhIerTp0+97RkZGRx0DAQpSg6AgGC1WuV2u1VRUVG3bcWKFdq6dSslBwhSlBwAASE1NVWhoaH62c9+pj179mjZsmV6+OGHJYnpKiBIceAxgICxYMECTZs2TSdOnNCAAQM0ZMgQvf322zp8+LDZ0QCYgJIDAAACEtNVAAAgIFFyAABAQKLkAACAgETJAQAAAYmSAwAAAhIlBwAABCRKDgAACEiUHAAAEJAoOQAAICBRcgAAQECi5AAAgID0/wEOIiAkb8boDQAAAABJRU5ErkJggg==", "text/plain": [ "
" ] @@ -307,9 +435,10 @@ } ], "source": [ - "plt.plot(dims, ratios, 'o-');\n", - "plt.xlabel('$d$');\n", - "plt.ylabel('$R_d$');" + "figure, axis = plt.subplots()\n", + "axis.plot(dims, ratios, 'o-')\n", + "axis.set_xlabel('$d$')\n", + "axis.set_ylabel('$R_d$');" ] }, { @@ -333,7 +462,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 19, "id": "39a74319-d990-4bff-8016-e4b3d6656ac7", "metadata": {}, "outputs": [], @@ -344,13 +473,13 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 20, "id": "8027123a-5f0f-4d98-92e1-69a480c50e7c", "metadata": {}, "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjkAAAGxCAYAAACA4KdFAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAASwxJREFUeJzt3Xl4U2XCxuFfku7QBgt0g4IFRSg7RbAIggrIIiPjAsoIAi7gp6IwOsigIjjK6IjiMuDCoOMCgyuCg2hHZZOdUmRHoVCU1rJIW8Buyfn+CA3UFqzQ5mR57uvKlZPTk+RJKfThfc9iMQzDQERERMTPWM0OICIiIlITVHJERETEL6nkiIiIiF9SyRERERG/pJIjIiIifkklR0RERPySSo6IiIj4pSCzA5jJ6XRy4MABIiMjsVgsZscRERGRKjAMg4KCAhISErBazzxeE9Al58CBAyQmJpodQ0RERM7B/v37adiw4Rm/HtAlJzIyEnB9k6KiokxOIyIiIlWRn59PYmKi+/f4mQR0ySmbooqKilLJERER8TG/tauJdjwWERERv6SSIyIiIn5JJUdERET8UkDvkyMiIr7H4XBQUlJidgypQcHBwdhstvN+HZUcERHxCYZhkJOTw9GjR82OIh5Qp04d4uLizus8dio5IiLiE8oKTkxMDBERETqJq58yDIMTJ06Qm5sLQHx8/Dm/lkqOiIh4PYfD4S44devWNTuO1LDw8HAAcnNziYmJOeepK+14LCIiXq9sH5yIiAiTk4inlP1Zn8/+Vyo5IiLiMzRFFTiq489a01XVzOE0WJt5hNyCQmIiw+iUFI3Nqr+UIiIinuY1IznLli1jwIABJCQkYLFYmD9//m8+Z+nSpaSkpBAWFkaTJk145ZVXaj7oWSzekk3Xp7/iltdXc/9/Mrjl9dV0fforFm/JNjWXiIjI6YYPH87AgQPP6zWWLFmCxWLx6qPdvKbkHD9+nLZt2/Lyyy9XafvMzEz69etHt27d2LhxI3/9618ZM2YMH374YQ0nrdziLdnc/U462XmF5dbn5BVy9zvpKjoiIl7C4TRYtfswn2T8yKrdh3E4DbMjSQ3xmumqvn370rdv3ypv/8orr9CoUSOmT58OQIsWLVi/fj3PPvssN9xwQw2lrJzDaTB54TbK/ppYcNLduoklzvYYgAWYvHAbvZLjNHUlImKixVuymbxwW7n/kMbbw5g0IJk+rc79UGXxTl4zkvN7rVq1it69e5dbd80117B+/foz7oldVFREfn5+uVt1WJt5xP0XxoqTuSFP8mbIP+htXQeAAWTnFbI280i1vJ+IiPx+Zo24f/DBB7Ru3Zrw8HDq1q1Lz549OX78OOvWraNXr17Uq1cPu91O9+7dSU9PL/dci8XCq6++yrXXXktERAQtWrRg1apVfP/99/To0YNatWqRmprK7t273c95/PHHadeuHa+++iqJiYlERERw0003nXVayTAMnnnmGZo0aUJ4eDht27blgw8+KLfNokWLaNasGeHh4Vx55ZXs3bu3Or9NNcJnS05OTg6xsbHl1sXGxlJaWsqhQ4cqfc7UqVOx2+3uW2JiYrVkyS049RfGiZX1zmYAPB78b2rxS6XbiYiI5/x6xP10ZesmL9xW7VNX2dnZ3HLLLYwcOZLt27ezZMkSrr/+egzDoKCggNtuu43ly5ezevVqLr74Yvr160dBQUG513jiiScYNmwYGRkZNG/enCFDhjBq1CgmTJjA+vXrAbj33nvLPef777/nvffeY+HChSxevJiMjAzuueeeM+Z85JFHeOONN5g5cyZbt25l7Nix3HrrrSxduhSA/fv3c/3119OvXz8yMjK44447ePjhh6v1e1UTvGa66lz8+vAywzAqXV9mwoQJjBs3zv04Pz+/WopOTGRYuccvlf6RAdZVNLbmMi7oA54oHVrpdiIi4hmnj7hX5vQR99Sm1XeywezsbEpLS7n++utp3LgxAK1btwbgqquuKrftq6++ygUXXMDSpUu59tpr3etHjBjBoEGDABg/fjypqak8+uijXHPNNQDcf//9jBgxotxrFRYW8u9//5uGDRsC8NJLL9G/f3+mTZtGXFxcuW2PHz/Oc889x1dffUVqaioATZo0YcWKFbz66qt0796dmTNn0qRJE55//nksFguXXHIJmzdv5umnn66ub1WN8NmRnLi4OHJycsqty83NJSgo6IxnwwwNDSUqKqrcrTp0Soom3h5GWbUqIoRHSkcCMNy2mNaWPcTbXYeTi4iI51V1JL26R9zbtm3L1VdfTevWrbnpppt4/fXX+fnnn13vlZvL6NGjadasmXuG4dixY2RlZZV7jTZt2riXy2YwyopS2brCwsJyu2A0atTIXXAAUlNTcTqd7Ny5s0LGbdu2UVhY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ySd5+OGHue222wBo0qQJTzzxBH/5y1+YNGkS//vf//j222/JzMwkMTERgLfffpuWLVuybt06Lr30UgCKi4t5++23qV+/PgBfffUVmzdvJjc31z319OyzzzJ//nw++OAD7rrrLmrXrk1QUJA7b2XmzJnDwYMHWbduHdHR0QBcdNFF7q+3bduWtm3buh//7W9/4+OPP2bBggXce++9VfreVQdNV3mDzqNd/zPI+RZ2f2l2GhER8YA2bdq4l+Pj4wHIzc0FXFNZU6ZMoXbt2u7bnXfeSXZ2NidOnGD79u0kJia6Cw5AcnIyderUYfv27e51jRs3dhecstc9duwYdevWLffamZmZ7N69u8rZMzIyaN++vbvg/Nrx48f5y1/+4s5Uu3ZtduzYQVZWVpXfozpoJMcb1KoLKcNh9QxY/hxc1NPsRCIi3i84wjWqYsb7VsfLBAe7ly0nR/DLpnucTieTJ0/m+uuvr/C8sLAwDMNwP+d0v15fq1b5ESen00l8fHy5Ka0yderUqXL28PDws379oYce4vPPP+fZZ5/loosuIjw8nBtvvJHiYs8eSayS4y1S74W1r8G+b+BABiS0MzuRiIh3s1iqPG1kppCQEByO33dgSYcOHdi5c2e5KaDTJScnk5WVxf79+92jOdu2bSMvL48WLVqc9XVzcnIICgriwgsvPOe8bdq0YdasWRw5cqTS0Zzly5czfPhw/vjHPwKufXTKdrj2JE1XeQt7A0ge6Fpe84qpUUREpPpceOGFrFmzhr1793Lo0CH3aM3ZPPbYY7z11ls8/vjjbN26le3btzNv3jweeeQRAHr27EmbNm3405/+RHp6OmvXrmXYsGF0796djh07nvF1e/bsSWpqKgMHDuTzzz9n7969rFy5kkceeYT169e782ZmZpKRkcGhQ4coKiqq8Dq33HILcXFxDBw4kG+++YY9e/bw4YcfsmrVKsC1f85HH31ERkYGmzZtYsiQIVX63NVNJcebXHa3637Lh3As19wsIiJSLR588EFsNhvJycnUr1+/SvulXHPNNXz66aekpaVx6aWXctlll/Hcc8/RuHFj4NTh3BdccAFXXHEFPXv2pEmTJsybN++sr2uxWFi0aBFXXHEFI0eOpFmzZtx8883s3buX2NhYAG644Qb69OnDlVdeSf369Zk7d26F1wkJCeGLL74gJiaGfv360bp1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UQzfzjM7loiIBJjzHsmZNWsWN910E1deeSVt2rRh69at1ZFL/EWHYbDoQUh/CzqPdl3IU0RExAPOeySnZcuWrF27lssuu4zMzEwSExP57LPPqiOb+IPWN0FQGORugx/WmZ1GREQCyO8aydm3bx87d+6kdevWxMef2ok0LCyMW265hQMHDpCQkFDtIcWHhdeBltfDpjmw/g1I7GR2IhERCRBVHsmZO3cuF110EX369KFp06a8/fbbgKv4/P3vf6dz5840atSoxoKKD+s40nW/9SP45Wdzs4iISMCocsl54oknuO+++9i8eTO9evXi7rvvZuLEiTRt2pQ333yTTp068dFHH9VkVvFVDTtCbCsoLYRN/zE7jYiIBAiLYRhVuix0aGgou3btonHjxvzwww80atSIHj168M9//pMWLVrUdM4akZ+fj91uJy8vj6ioKLPj+Le1r7t2QK53CdyzRjsgi4jIOavq7+8qj+SUlJQQHh4OQMOGDQkPD+fZZ5/12YIjHtZmMATXgkM7IWuV2WlERCQA/K6jq+bMmcOOHTtcT7RaueCCC2oklPihsChofYNref1sc7OIiEhAqHLJ6dq1K5MmTaJly5bUq1ePwsJCXnjhBd577z22bdtGaWlpTeYUf5AywnW/7RM4ftjcLCIi4veqfAj5smXLAPjuu+/YsGED6enpbNiwgbfeeoujR48SHBzMJZdcwrfffltjYcXHNegA8W0he5PrkPIu95mdSERE/NjvPuPxxRdfzMUXX8zNN9/sXpeZmcn69evLXcNKpFIdR8LC+13nzEm9Vzsgi4hIjany0VX+SEdXmaDoGExrDsUFMGwBNOludiIREfEx1X50lUi1CK0NbW5yLa//l7lZRETEr6nkiOddeofrfvunkH/A3CwiIuK3VHLE82JbQuPLwXDAhjfNTiMiIn5KJUfMUTaas/4NKC02N4uIiPgllRwxR4sBUDsOjufC9gVmpxERET+kkiPmsAVDynDX8rpZpkYRERH/pJIj5kkZDtYg17WscraYnUZERPyMSo6YJyreNW0FsO51c7OIiIjfUckRc116p+v+2/fgl6OmRhEREf+ikiPmatwFYpKh5ARkzDE7jYiI+BGVHDGXxXLqcPJ1s8DpNDePiIj4DZUcMV+bwRBqhyO7YfeXZqcRERE/oZIj5gutDR2GupZXzzA3i4iI+A2V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IiLil1RyRERExC+p5IiIiIhfUskRERERv6SSIyIiIn5JJUdERET8kkqOiPi9v//976SmppodQ0Q8TCVHRPzepk2baNu2rdkxRMTDVHJExO9t2rSJdu3amR1DRDxMJUdE/Mr27dvp0aMH4eHhtG/fnvXr17Nr1y6N5IgEIJUcEfEbO3bsoHPnznTs2JEtW7bw2GOPcd1112EYBm3atDE7noh4mMUwDMPsECIi1eHqq68mISGBt99+273ulltuIT09nZ07d5qYTETMEGR2ABGR6rBv3z6++uor0tPTy60PDg7WVJVIgNJ0lYj4hYyMDIKCgmjdunW59enp6drpWCRAqeSIiF+wWq04nU6Ki4vd6xYtWsTWrVtVckQClEqOiPiFlJQUgoODefDBB9mzZw8LFizgzjvvBNB0lUiA0o7HIuI33nnnHSZMmMDx48dp3749nTt35vXXX+fgwYNmRxMRE6jkiIiIiF/SdJWIiIj4JZUcERER8UsqOSIiIuKXVHJERETEL6nkiIiIiF9SyRERERG/pJIjIiIifkklR0RERPySSo6IiIj4JZUcERER8UsqOSIiIuKX/h+lA4GnBHytzgAAAABJRU5ErkJggg==", + "image/png": "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", "text/plain": [ "
" ] @@ -360,11 +489,12 @@ } ], "source": [ - "plt.plot(dims, ratios, 'o', label='sampled');\n", - "plt.xlabel('$d$');\n", - "plt.ylabel('$R_d$');\n", - "plt.plot(d, R_d, label='theoretical');\n", - "plt.legend();" + "figure, axis = plt.subplots()\n", + "axis.plot(d, R_d, label='theoretical')\n", + "axis.plot(dims, ratios, 'o', label='sampled')\n", + "axis.set_xlabel('$d$')\n", + "axis.set_ylabel('$R_d$')\n", + "axis.legend();" ] }, { @@ -392,7 +522,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.12.9" + "version": "3.12.11" } }, "nbformat": 4, From d37bd56cff91cf721f6e242dd5a76e479849090d Mon Sep 17 00:00:00 2001 From: Geert Jan Bex Date: Wed, 14 Oct 2026 17:38:49 +0200 Subject: [PATCH 33/33] Add distance distribution of vectors with normal distirbution --- source-code/curse_of_dimensionality.ipynb | 146 +++++++++++++++++++++- 1 file changed, 141 insertions(+), 5 deletions(-) diff --git a/source-code/curse_of_dimensionality.ipynb b/source-code/curse_of_dimensionality.ipynb index b1adf87..da9379d 100644 --- a/source-code/curse_of_dimensionality.ipynb +++ b/source-code/curse_of_dimensionality.ipynb @@ -161,7 +161,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "bdaeaa7f828949feb47919d3e4bea49d", + "model_id": "b5cfd1793eff4c74b2193440fe76b715", "version_major": 2, "version_minor": 0 }, @@ -247,14 +247,12 @@ "cell_type": "code", "execution_count": 10, "id": "bb6ec1e5-db35-4b7d-b657-05516b0bc618", - "metadata": { - "scrolled": true - }, + "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "1da7bd6609284aff9cbd34efd7cef6ec", + "model_id": "84722b0d07bf4f1b99f1445498813869", "version_major": 2, "version_minor": 0 }, @@ -504,6 +502,144 @@ "source": [ "It is clear that the ration rapidly drops to 0 with increasing dimension $d$. So although the hypersphere touches the hypercube in $2^d$ points, its volume is nevertheless much smaller." ] + }, + { + "cell_type": "markdown", + "id": "a44e977d-14b4-4b57-b04a-f51b5a91b871", + "metadata": {}, + "source": [ + "## Random vectors with normally distriibuted components" + ] + }, + { + "cell_type": "markdown", + "id": "f6dd26cc-6c5d-4842-8422-e1bbce2e008e", + "metadata": {}, + "source": [ + "What is the average distance of a vector to the origin? The vector has $d$ components, each drawn independently from an idential normal distribution." + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "f5f5325f-4ee4-4b87-8680-da3a0d592e92", + "metadata": {}, + "outputs": [], + "source": [ + "def generate_vectors(rng, nr_vectors, nr_dims):\n", + " return rng.normal(size=(nr_vectors, nr_dims))" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "43d1f824-6753-4a2c-8643-d9845f649c10", + "metadata": {}, + "outputs": [], + "source": [ + "def compute_distance_distribution(vectors):\n", + " return np.linalg.norm(vectors, axis=1)" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "2e66504b-d81e-4ade-a16b-f4b8a01f5f45", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "ecb2b1f0e15f4c2085b3aaf196477f38", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "interactive(children=(IntSlider(value=1000, description='nr_vectors', max=10000, min=100), IntSlider(value=2, …" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "@ipywidgets.interact(nr_vectors=(100, 10_000), nr_dims=(1, 50))\n", + "def show_distance_distribution(nr_vectors=1_000, nr_dims=2):\n", + " vectors = generate_vectors(rng, nr_vectors, nr_dims)\n", + " distribution = compute_distance_distribution(vectors)\n", + " figure, axis = plt.subplots()\n", + " axis.hist(distribution, bins=50, density=True)\n", + " axis.set_xlim(0.0, 10.0)\n", + " plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "800e2131-f0eb-442a-b9f8-8e09e5395ffa", + "metadata": {}, + "source": [ + "This might be counter intuitive at a first glance. You might have expected that the vectors would be close to the origin, but in fact, they form a \"shell\" around the origin at a distance that increases with the dimension $d$." + ] + }, + { + "cell_type": "markdown", + "id": "da2122a5-677a-4a0b-9a01-f1fdabc21613", + "metadata": {}, + "source": [ + "You can also plot the average distance as a function of the dimensionality $d$." + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "e21d8b8a-7311-4e97-a0c8-697b2a8eb3f3", + "metadata": {}, + "outputs": [], + "source": [ + "def compute_average_distance(rng, nr_vectors, nr_dims):\n", + " vectors = generate_vectors(rng, nr_vectors, nr_dims)\n", + " distribution = compute_distance_distribution(vectors)\n", + " return distribution.mean()" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "59a95dcc-1f39-4c7f-90fe-b25d16ac360d", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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Zei6m0PX3Ry67ubQdTeHp667YRhkZGQQGRl5wX1NDSqZmZns3Lmz+PWePXtYv349ERERNGnS5ILHW61WGjdufM72sLAw/UE2ga67OXTdzaHrbg5dd3N44rpfaCSliKlBZfXq1fTo0aP49YgRIwAYMmQIU6ZMMakqERER8RamBpXrrruuXBNpREREpGqqVI8nX0hQUBAvv/xyiSeDxPN03c2h624OXXdz6Lqbwxuuu8XQkIaIiIh4KZ8aURERERHfoqAiIiIiXktBRURERLyWgoqIiIh4LZ8JKh988AExMTEEBwfToUMHfvvtN7NL8jmLFy/m5ptvJjIyEovFwuzZs0u8bxgGr7zyCpGRkVSrVo3rrruOLVu2mFOsjxg7dixXXXUVoaGh1KtXj1tuuYXt27eX2EfX3f0+/PBD2rRpU9zkKiEhgblz5xa/r2vueWPHjsVisfDUU08Vb9N194xXXnkFi8VS4qtBgwbF75t93X0iqHz11Vc89dRT/O1vf2PdunVce+219O3bl9TUVLNL8ylZWVm0bduWf/3rX6W+P378eP7xj3/wr3/9i1WrVtGgQQN69epVvCaTuC4xMZHhw4ezYsUK5s+fT0FBAb179yYrK6t4H11392vcuDHjxo1j9erVrF69muuvv56BAwcW/+Osa+5Zq1atYtKkSbRp06bEdl13z7niiitIS0sr/tq0aVPxe6Zfd8MHXH311cbDDz9cYlurVq2MUaNGmVSR7wOM7777rvi1w+EwGjRoYIwbN654W05OjhEeHm589NFHJlTom44cOWIARmJiomEYuu4VqVatWsYnn3yia+5hGRkZRosWLYz58+cb3bt3N5588knDMPRn3ZNefvllo23btqW+5w3XvdKPqOTl5bFmzRp69+5dYnvv3r1ZtmyZSVVVPXv27OHQoUMlfg5BQUF0795dPwc3Sk9PByAiIgLQda8IdrudGTNmkJWVRUJCgq65hw0fPpz+/fvTs2fPEtt13T0rOTmZyMhIYmJi+POf/8zu3bsB77julXr1ZIBjx45ht9upX79+ie3169fn0KFDJlVV9RRd69J+DikpKWaU5HMMw2DEiBFcc801tG7dGtB196RNmzaRkJBATk4ONWrU4LvvviMuLq74H2ddc/ebMWMGa9euZdWqVee8pz/rntOpUyemTZvGZZddxuHDh3n99dfp0qULW7Zs8YrrXumDShGLxVLitWEY52wTz9PPwXMee+wxNm7cyJIlS855T9fd/Vq2bMn69es5deoUs2bNYsiQISQmJha/r2vuXvv27ePJJ5/k559/Jjg4uMz9dN3dr2/fvsW/jo+PJyEhgWbNmjF16lQ6d+4MmHvdK/2tnzp16uDn53fO6MmRI0fOSYDiOUUzxPVz8IzHH3+cOXPm8Ouvv9K4cePi7brunhMYGEjz5s3p2LEjY8eOpW3btrz33nu65h6yZs0ajhw5QocOHfD398ff35/ExET++c9/4u/vX3xtdd09r3r16sTHx5OcnOwVf94rfVAJDAykQ4cOzJ8/v8T2+fPn06VLF5OqqnpiYmJo0KBBiZ9DXl4eiYmJ+jlcAsMweOyxx/j2229ZuHAhMTExJd7Xda84hmGQm5ura+4hN9xwA5s2bWL9+vXFXx07duSee+5h/fr1xMbG6rpXkNzcXLZu3UrDhg294897hUzZ9bAZM2YYAQEBxqeffmokJSUZTz31lFG9enVj7969ZpfmUzIyMox169YZ69atMwDjH//4h7Fu3TojJSXFMAzDGDdunBEeHm58++23xqZNm4xBgwYZDRs2NGw2m8mVV16PPPKIER4ebixatMhIS0sr/srOzi7eR9fd/UaPHm0sXrzY2LNnj7Fx40bj+eefN6xWq/Hzzz8bhqFrXlHOfOrHMHTdPeWvf/2rsWjRImP37t3GihUrjJtuuskIDQ0t/gw1+7r7RFAxDMP497//bURHRxuBgYHGlVdeWfz4prjPr7/+agDnfA0ZMsQwDOdjbC+//LLRoEEDIygoyOjWrZuxadMmc4uu5Eq73oAxefLk4n103d1v2LBhxf+e1K1b17jhhhuKQ4ph6JpXlLODiq67Z9x1111Gw4YNjYCAACMyMtK47bbbjC1bthS/b/Z1txiGYVTM2I2IiIiIayr9HBURERHxXQoqIiIi4rUUVERERMRrKaiIiIiI11JQEREREa+loCIiIiJeS0FFREREvJaCioiIiHgtBRURERHxWgoqIlIpjBs3joSEBLPLEJEKpqAiIpXChg0baNu2rdlliEgFU1ARkUphw4YNtGvXzuwyRKSCKaiIiNfZunUr1113HdWqVaN9+/asXr2aHTt2aERFpApSUBERr7Jt2zY6depEx44d2bx5My+99BIDBw7EMAzatGljdnkiUsEshmEYZhchIlLkhhtuIDIykunTpxdvGzRoEGvXrmX79u0mViYiZvA3uwARkSIpKSksXLiQtWvXltgeEBCg2z4iVZRu/YiI11i/fj3+/v7Ex8eX2L527VpNpBWpohRURMRrWK1WHA4HeXl5xdt+/PFHtmzZoqAiUkUpqIiI1+jQoQMBAQGMHDmS3bt3M2fOHB544AEA3foRqaI0mVZEvMpnn33G6NGjycrKon379nTq1ImPP/6Yo0ePml2aiJhAQUVERES8lm79iIiIiNdSUBERERGvpaAiIiIiXktBRURERLyWgoqIiIh4LQUVERER8VoKKiIiIuK1FFRERETEaymoiIiIiNdSUBERERGvpaAiIiIiXuv/Acqi+LekuU7gAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "nr_vectors = 1_000\n", + "dims = np.arange(2, 51, 2)\n", + "average_distances = [\n", + " compute_average_distance(rng, nr_vectors, dim) for dim in dims\n", + "]\n", + "figure, axis = plt.subplots()\n", + "axis.plot(dims, np.sqrt(dims), label=r'$\\sqrt{d}$')\n", + "axis.plot(dims, average_distances, 'o', label='sampled')\n", + "axis.set_xlabel('$d$')\n", + "axis.set_ylabel('average distance')\n", + "axis.legend();" + ] + }, + { + "cell_type": "markdown", + "id": "7c374d5e-1c6c-4ec5-8197-685ab4d13e35", + "metadata": {}, + "source": [ + "It should not come as a surprise that the average distance scales with $\\sqrt{d}$." + ] } ], "metadata": {