{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "a1000001",
   "metadata": {},
   "source": [
    "# Differentiable Illumination Optimization\n",
    "\n",
    "**NSQ as a differentiable machine-learning layer.**\n",
    "\n",
    "When Optiland's backend is set to `\"torch\"` the non-sequential tracer builds\n",
    "a full PyTorch autograd graph through the Monte Carlo loop.  Any scene\n",
    "parameter stored as a `torch.Tensor` leaf variable — radius of curvature,\n",
    "source flux, BSDF reflectance — receives a gradient via `loss.backward()`.\n",
    "\n",
    "This notebook walks through a complete differentiable optimization example:\n",
    "\n",
    "1. **Scene setup** — collimated source → singlet lens → irradiance detector\n",
    "2. **Forward trace** — visualize the baseline irradiance map\n",
    "3. **Optimization loop** — use `torch.optim.Adam` to drive the lens front\n",
    "   radius `r1` toward a flat (uniform) irradiance target\n",
    "4. **Results** — loss curve and final irradiance map\n",
    "5. **Bonus** — a second, genuinely new differentiable parameter: `scatter_fraction`\n",
    "6. **Limitations** — what gradients are and are not available today\n",
    "\n",
    "---\n",
    "\n",
    "> **Pre-release.** `optiland.nonsequential` has never shipped in a tagged\n",
    "> Optiland release, so its public API may still change without a\n",
    "> deprecation cycle. The differentiable workflow shown here is fully\n",
    "> supported; visibility gradients (silhouette / vignetting discontinuities)\n",
    "> are zero (see Section 6). See the roadmap in the package docstring\n",
    "> (`help(optiland.nonsequential)`) for planned improvements."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a1000002",
   "metadata": {},
   "source": [
    "## 0. Imports and backend selection"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "a1000003",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-08-18T17:51:56.547203Z",
     "iopub.status.busy": "2026-08-18T17:51:56.547203Z",
     "iopub.status.idle": "2026-08-18T17:52:00.122982Z",
     "shell.execute_reply": "2026-08-18T17:52:00.122982Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Backend : torch\n",
      "Device  : cuda\n"
     ]
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import torch\n",
    "import torch.optim as optim\n",
    "\n",
    "import optiland.backend as be\n",
    "from optiland.coordinate_system import CoordinateSystem\n",
    "from optiland.nonsequential import (\n",
    "    CollimatedSourceConfig,\n",
    "    IrradianceDetectorConfig,\n",
    "    LensConfig,\n",
    "    NSQScene,\n",
    "    Spectrum,\n",
    ")\n",
    "from optiland.nonsequential.backends.torch_backend import TorchBackend\n",
    "\n",
    "# Switch to the PyTorch backend -- this is required for autograd.\n",
    "# All optiland.backend operations now use torch under the hood.\n",
    "be.set_backend(\"torch\")\n",
    "# Use float64 for gradient stability. The differentiable Monte Carlo trace is\n",
    "# numerically delicate near surface edges; float64 keeps gradients well-behaved\n",
    "# at the CPU-runnable ray counts used here.\n",
    "be.set_precision(\"float64\")\n",
    "\n",
    "print(f\"Backend : {be.get_backend()}\")\n",
    "print(f\"Device  : {torch.device('cuda' if torch.cuda.is_available() else 'cpu')}\")\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a1000004",
   "metadata": {},
   "source": [
    "## 1. Scene setup\n",
    "\n",
    "We build a simple on-axis system:\n",
    "\n",
    "```\n",
    "Collimated source  →  N-BK7 singlet  →  Irradiance detector\n",
    "    z = 0              z = 100 mm           z = 210 mm\n",
    "```\n",
    "\n",
    "The singlet has a plano-convex shape (`r1 = 120 mm`, `r2 = inf`) and a\n",
    "10 mm semi-aperture.  At `z = 210 mm` the beam is still converging, so the\n",
    "irradiance map shows a bright central peak — far from uniform.\n",
    "\n",
    "The detector is 20 × 20 mm with 32 × 32 pixels — small enough to keep\n",
    "memory low during the optimization loop."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "a1000005",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-08-18T17:52:00.124988Z",
     "iopub.status.busy": "2026-08-18T17:52:00.124988Z",
     "iopub.status.idle": "2026-08-18T17:52:00.129568Z",
     "shell.execute_reply": "2026-08-18T17:52:00.129568Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Scene factory defined.\n"
     ]
    }
   ],
   "source": [
    "NUM_PIXELS = 32          # detector resolution (NxN)\n",
    "DETECTOR_SIZE = 20.0     # mm\n",
    "SEED = 42\n",
    "\n",
    "\n",
    "def build_scene(\n",
    "    r1_value: float | torch.Tensor,\n",
    "    num_rays: int = 2_000,\n",
    ") -> NSQScene:\n",
    "    \"\"\"Return an NSQScene with a singlet whose front radius is r1_value.\n",
    "\n",
    "    r1_value may be a plain float (forward-only) or a torch.Tensor with\n",
    "    requires_grad=True (differentiable).\n",
    "    \"\"\"\n",
    "    spec = Spectrum.monochromatic(0.55)   # 550 nm green\n",
    "\n",
    "    scene = NSQScene()\n",
    "\n",
    "    # Collimated beam: 10 mm aperture radius, 1 W total flux\n",
    "    scene.add_source(\n",
    "        \"S1\",\n",
    "        CoordinateSystem(z=0.0),\n",
    "        CollimatedSourceConfig(\n",
    "            spectrum=spec,\n",
    "            total_flux=1.0,\n",
    "            aperture_radius=10.0,\n",
    "        ),\n",
    "    )\n",
    "\n",
    "    # Singlet lens: initial r1 = 120 mm, back flat, 5 mm thick N-BK7\n",
    "    scene.add_lens(\n",
    "        \"L1\",\n",
    "        CoordinateSystem(z=100.0),\n",
    "        LensConfig(\n",
    "            r1=r1_value,       # float, or a requires_grad tensor\n",
    "            r2=float(\"inf\"),   # flat back surface\n",
    "            thickness=5.0,\n",
    "            material=\"N-BK7\",\n",
    "            front_aperture_radius=10.0,\n",
    "        ),\n",
    "    )\n",
    "\n",
    "    # Irradiance detector: 20x20 mm, 32x32 pixels, bilinear splat\n",
    "    scene.add_detector(\n",
    "        \"D1\",\n",
    "        CoordinateSystem(z=210.0),\n",
    "        IrradianceDetectorConfig(\n",
    "            width=DETECTOR_SIZE,\n",
    "            height=DETECTOR_SIZE,\n",
    "            num_pixels_x=NUM_PIXELS,\n",
    "            num_pixels_y=NUM_PIXELS,\n",
    "            splat=\"bilinear\",   # differentiable splatting\n",
    "        ),\n",
    "    )\n",
    "\n",
    "    return scene\n",
    "\n",
    "\n",
    "print(\"Scene factory defined.\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a1000006",
   "metadata": {},
   "source": [
    "## 2. Forward trace — baseline irradiance map\n",
    "\n",
    "Before optimizing, let's see what the irradiance pattern looks like with\n",
    "the initial radius `r1 = 120 mm`.  We use a larger ray count here for a\n",
    "clean visualization."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "a1000007",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-08-18T17:52:00.131574Z",
     "iopub.status.busy": "2026-08-18T17:52:00.131574Z",
     "iopub.status.idle": "2026-08-18T17:52:00.761692Z",
     "shell.execute_reply": "2026-08-18T17:52:00.761692Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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RQwaNEi88MILbfY56jWxRhvtd7/7ndi2bZvhvi2/RzCB0A3z5s0TANrcvv76a0OZkpIS8cgjjwg3Nzfh5+cnli1bJpqamuwXtAMpKioSGo1GeHl5CZVKJYYPHy5efvllUV9fb+/QHMa2bdvEoEGDhEKhEBMmTBA//PCDvUNyWDNnzhSBgYFCoVCIAQMGiJkzZ4rz58/bOyyH8fXXX5t8v5o3b54QonWZoDVr1oiAgAChVCrFlClTxNmzZ+0bNJETsUabQP93WlxcbNh248YNMXv2bOHh4SE8PT3FggULDEmJnjR79mwRHR1tcl9xcbFRXUtLS8VDDz0kfHx8hFKpFL/61a/E8uXLRXV1dQ9G3JY57Y576yKEED///LP4z//8T3HfffcJd3d38cc//tHoi7o95OTkmHy93f3boKNel47aNpMmTTJ8Lul99NFH4v777xcKhUI88MAD4v/+7/96NF5T2nvuc3JyDGXurUtKSoqh3gEBAeLRRx8Vx44d6/ng79FZ+8lZronel19+KQCYbMM46jWxRhstJCREZGRkGG2z1fcImRBCdL8fAxERERERERFJWdcHSxERERERERFRr8MEAhERERERERF1igkEIiIiIiIiIuoUEwhERERERERE1CkmEIiIiIiIiIioU0wgEBEREREREVGnmEAgIiIiIiIiok4xgUBEREREREREnWICgcgOSkpKIJPJIJPJEBERYZcY1q5da4hhy5YtdomBiIiIpI1tHiJpYQKByI6++uor5Ofn2+Wxn3/+eZSXl2PgwIF2eXwiIiLqPdjmIZKGPvYOgKg38/X1ha+vr10e28PDAx4eHnBxcbHL4xMREVHvwTYPkTSwBwJRN127dg1qtRovv/yyYduhQ4egUCi6nGmfP38+4uPj8fLLLyMgIADe3t7IzMxEc3Mzli9fDh8fHwwcOBA5OTmGY/RdAz/66CP89re/hZubGx588EH8+9//xpEjRzB+/Hh4eHjgkUcewbVr16xWbyIiIupd2OYhIiYQiLrJ398fO3fuxNq1a3H06FHU1tbiySefRHJyMqZMmdLl8x04cABlZWX49ttvsWnTJmRkZOD3v/897rvvPhQWFmLRokV45plncPnyZaPjMjIysHr1ahw7dgx9+vTB448/jhUrVuCNN97AP/7xD5w/fx7p6enWqjYRERH1MmzzEBETCERW8OijjyIpKQlz5szBokWL0LdvX2RlZVl0Lh8fH2zduhXDhg3DU089hWHDhuH27dtYtWoVhg4dirS0NCgUCnz33XdGxz3//POIjY3F8OHDsXTpUhQVFWHNmjX4zW9+g7FjxyIxMRFff/21NapLREREvRTbPES9G+dAILKSjRs3YuTIkdi7dy+KioqgVCotOs8DDzwAufyX3F5AQABGjhxpuO/i4gJfX19cvXrV6LjRo0cbHQMAo0aNMtp27zFEREREXcU2D1HvxR4IRFZy4cIFlJWVQafToaSkxOLzuLq6Gt2XyWQmt+l0unaPk8lkJrfdewwRERFRV7HNQ9R7sQcCkRU0NjbiiSeewMyZMzFs2DA8/fTT+Omnn9C/f397h0ZERERkNWzzEPVu7IFAZAX/9V//herqamzduhUvvPAC7r//fjz11FP2DouIiIjIqtjmIerdmEAg6qaDBw9iy5YteO+99+Dp6Qm5XI733nsP//jHP/CXv/zF3uERERERWQXbPEQkE0IIewdB1NuUlJQgLCwMx48fR0REhF1jCQ0NRUpKClJSUuwaBxEREUkP2zxE0sIeCER2FB0djejoaLs89ssvvwwPDw+Ulpba5fGJiIio92Cbh0ga2AOByA6am5sNsxYrlUoEBwf3eAyVlZWorKwEAPj7+8PLy6vHYyAiIiJpY5uHSFqYQCAiIiIiIiKiTnEIAxERERERERF1igkEIiIiIiIiIuoUEwhERERERERE1CkmEIiIiIiIiIioU0wgEBEREREREVGnmEAgIiIiIiIiok4xgUBEREREREREnWICgYiIiIiIiIg6xQQCEREREREREXXq/wONKOmQ8u2wwwAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 1100x400 with 3 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Peak irradiance : 0.0137 W/mm²\n",
      "Mean irradiance : 0.0023 W/mm²\n",
      "Uniformity ratio: 0.167  (1.0 = perfect flat top)\n"
     ]
    }
   ],
   "source": [
    "with torch.no_grad():\n",
    "    scene_init = build_scene(r1_value=120.0, num_rays=10_000)\n",
    "    backend_init = TorchBackend(seed=SEED)\n",
    "    result_init = backend_init.trace(scene_init, num_rays=10_000, max_depth=8)\n",
    "\n",
    "irr_init = result_init.detectors[\"D1\"].irradiance   # (ny, nx) numpy array\n",
    "\n",
    "fig, axes = plt.subplots(1, 2, figsize=(11, 4))\n",
    "\n",
    "im = axes[0].imshow(\n",
    "    irr_init, origin=\"lower\",\n",
    "    extent=[-DETECTOR_SIZE/2, DETECTOR_SIZE/2,\n",
    "            -DETECTOR_SIZE/2, DETECTOR_SIZE/2],\n",
    "    cmap=\"hot\",\n",
    ")\n",
    "axes[0].set_title(\"Baseline irradiance (r1 = 120 mm)\")\n",
    "axes[0].set_xlabel(\"x [mm]\")\n",
    "axes[0].set_ylabel(\"y [mm]\")\n",
    "plt.colorbar(im, ax=axes[0], label=\"Irradiance [W/mm²]\")\n",
    "\n",
    "# Cross-section\n",
    "cy = NUM_PIXELS // 2\n",
    "axes[1].plot(np.linspace(-DETECTOR_SIZE/2, DETECTOR_SIZE/2, NUM_PIXELS),\n",
    "             irr_init[cy, :], lw=1.5)\n",
    "axes[1].set_xlabel(\"x [mm]\")\n",
    "axes[1].set_ylabel(\"Irradiance [W/mm²]\")\n",
    "axes[1].set_title(\"Horizontal cross-section (y = 0)\")\n",
    "axes[1].grid(True, alpha=0.35)\n",
    "\n",
    "plt.tight_layout()\n",
    "plt.show()\n",
    "\n",
    "print(f\"Peak irradiance : {irr_init.max():.4f} W/mm²\")\n",
    "print(f\"Mean irradiance : {irr_init.mean():.4f} W/mm²\")\n",
    "print(f\"Uniformity ratio: {irr_init.mean()/irr_init.max():.3f}  (1.0 = perfect flat top)\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a1000008",
   "metadata": {},
   "source": [
    "## 3. Optimization loop\n",
    "\n",
    "**Objective:** minimize the mean-squared error (MSE) between the irradiance\n",
    "map and a flat (uniform) target.\n",
    "\n",
    "**Design variable:** the front radius of curvature `r1` of the singlet.\n",
    "\n",
    "**Gradient path:** `r1` (a `torch.Tensor` leaf) → `ConicGeometry._sag()` →\n",
    "`ray_intersect()` → refracted direction → splat weight → `IrradianceMap.data`\n",
    "→ `loss.backward()` → `r1.grad`.\n",
    "\n",
    "---\n",
    "\n",
    "### Ray count note\n",
    "\n",
    "We use **2 000 rays** per step.  This keeps each forward pass fast and keeps\n",
    "memory within the gradient-mode envelope (~1 × 10⁵ rays × depth 16 on a\n",
    "single GPU).  Monte Carlo noise at 2 000 rays is noticeable — increase to\n",
    "10 000–50 000 rays for production runs, at proportionally higher memory cost.\n",
    "Common-random-numbers (fixed seed) reduce variance further.\n",
    "\n",
    "### What `loss.backward()` does\n",
    "\n",
    "PyTorch walks the autograd graph from `loss` back to `r1`, accumulating\n",
    "`∂loss/∂r1`.  `optimizer.step()` then nudges `r1` in the gradient-descent\n",
    "direction.  No hand-written Jacobians are needed."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ea22051e",
   "metadata": {},
   "source": [
    "<div class=\"alert alert-warning\">\n",
    "\n",
    "**⚠ Visibility gradients are zero.** This loop optimizes `r1` through the **interior** refraction path, which is fully differentiable. But if `r1` changes enough that rays begin to **vignette** at an aperture edge, that silhouette boundary contributes **no gradient** — the single biggest physics gap in this pre-release. Keep design moves within the unvignetted regime, or expect the optimizer to ignore edge effects. See the canonical [NSQ Limitations &amp; Roadmap](limitations_and_roadmap.rst) page (roadmap item #1: reparameterization).\n",
    "\n",
    "</div>"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "a1000009",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-08-18T17:52:00.764699Z",
     "iopub.status.busy": "2026-08-18T17:52:00.763699Z",
     "iopub.status.idle": "2026-08-18T17:52:08.996390Z",
     "shell.execute_reply": "2026-08-18T17:52:08.996390Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Target irradiance (flat): 0.00229 W/mm^2\n",
      "Starting r1             : 120.00 mm\n",
      "Optimizing for 60 steps ...\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Step  10/60  loss=1.10e-05  r1=164.26 mm  grad=-1.023e-07\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Step  20/60  loss=8.51e-06  r1=197.64 mm  grad=-5.093e-08\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Step  30/60  loss=7.55e-06  r1=221.56 mm  grad=-3.236e-08\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Step  40/60  loss=6.95e-06  r1=239.87 mm  grad=-2.907e-08\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Step  50/60  loss=6.53e-06  r1=255.39 mm  grad=-2.505e-08\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Step  60/60  loss=6.23e-06  r1=268.88 mm  grad=-1.938e-08\n",
      "\n",
      "Final r1 = 268.88 mm  (started at 120.00 mm)\n"
     ]
    }
   ],
   "source": [
    "NUM_RAYS_OPT  = 2_000    # rays per optimization step\n",
    "NUM_STEPS     = 60       # Adam steps\n",
    "LEARNING_RATE = 5.0      # mm / step  (large because radius is in mm)\n",
    "OPT_SEED      = 7        # fixed seed -> common random numbers\n",
    "\n",
    "# IrradianceMap.data is the attached flat (ny*nx,) flux buffer. Dividing the\n",
    "# reshaped grid by the pixel area gives a differentiable irradiance [W/mm^2],\n",
    "# matching the units of irr_init used to build the target.\n",
    "PIXEL_AREA = (DETECTOR_SIZE / NUM_PIXELS) ** 2\n",
    "\n",
    "# ---- design variable -------------------------------------------------------\n",
    "r1 = torch.tensor(120.0, requires_grad=True, dtype=torch.float64)\n",
    "optimizer = optim.Adam([r1], lr=LEARNING_RATE)\n",
    "\n",
    "# ---- flat target irradiance (uniform, same mean) --------------------------\n",
    "target_value = float(irr_init.mean())   # W/mm^2\n",
    "target = torch.full(\n",
    "    (NUM_PIXELS, NUM_PIXELS), target_value, dtype=torch.float64\n",
    ")\n",
    "\n",
    "print(f\"Target irradiance (flat): {target_value:.5f} W/mm^2\")\n",
    "print(f\"Starting r1             : {r1.item():.2f} mm\")\n",
    "print(f\"Optimizing for {NUM_STEPS} steps ...\")\n",
    "\n",
    "# ---- optimization loop -----------------------------------------------------\n",
    "loss_history = []\n",
    "r1_history   = []\n",
    "\n",
    "for step in range(NUM_STEPS):\n",
    "    optimizer.zero_grad()\n",
    "\n",
    "    # Rebuild the scene each step so the tensor r1 is wired into fresh geometry.\n",
    "    # This is the standard pattern for NSQ differentiable optimization.\n",
    "    scene = build_scene(r1_value=r1, num_rays=NUM_RAYS_OPT)\n",
    "    backend = TorchBackend(seed=OPT_SEED)   # same seed -> low-variance gradient\n",
    "    result = backend.trace(scene, num_rays=NUM_RAYS_OPT, max_depth=8)\n",
    "\n",
    "    # Differentiable irradiance map [W/mm^2] (grad_fn attached)\n",
    "    irr_tensor = (\n",
    "        result.detectors[\"D1\"].data.reshape(NUM_PIXELS, NUM_PIXELS) / PIXEL_AREA\n",
    "    )\n",
    "\n",
    "    # MSE vs. flat target\n",
    "    loss = torch.mean((irr_tensor - target) ** 2)\n",
    "\n",
    "    # Backpropagate through the entire Monte Carlo trace\n",
    "    loss.backward()\n",
    "\n",
    "    # Clip gradient to stabilise early steps\n",
    "    torch.nn.utils.clip_grad_norm_([r1], max_norm=50.0)\n",
    "\n",
    "    optimizer.step()\n",
    "\n",
    "    # Clamp to a physically sensible range (avoid near-zero or negative radius)\n",
    "    with torch.no_grad():\n",
    "        r1.clamp_(min=30.0, max=600.0)\n",
    "\n",
    "    loss_history.append(loss.item())\n",
    "    r1_history.append(r1.item())\n",
    "\n",
    "    if (step + 1) % 10 == 0:\n",
    "        print(\n",
    "            f\"Step {step+1:3d}/{NUM_STEPS}  \"\n",
    "            f\"loss={loss.item():.2e}  \"\n",
    "            f\"r1={r1.item():.2f} mm  \"\n",
    "            f\"grad={r1.grad.item():.3e}\"\n",
    "        )\n",
    "\n",
    "print(f\"\\nFinal r1 = {r1.item():.2f} mm  (started at 120.00 mm)\")\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a1000010",
   "metadata": {},
   "source": [
    "## 4. Results — loss curve and final irradiance map"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "a1000011",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-08-18T17:52:08.998401Z",
     "iopub.status.busy": "2026-08-18T17:52:08.998401Z",
     "iopub.status.idle": "2026-08-18T17:52:09.283389Z",
     "shell.execute_reply": "2026-08-18T17:52:09.282381Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABKUAAAGGCAYAAACqvTJ0AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/TGe4hAAAACXBIWXMAAA9hAAAPYQGoP6dpAACkWElEQVR4nOzdd1yV5f/H8dc5bBBQlKkIipOcuffe5Z7lTBvmqCwr61tpVpb1y5bt0sqVac7KUYoj9957K4ILEQeI5/79cfIY4YDDOAjv5+PBI+7rHud9X5Dn5nOu+7pNhmEYiIiIiIiIiIiIZCOzowOIiIiIiIiIiEjeo6KUiIiIiIiIiIhkOxWlREREREREREQk26koJSIiIiIiIiIi2U5FKRERERERERERyXYqSomIiIiIiIiISLZTUUpERERERERERLKdilIiIiIiIiIiIpLtVJQSEREREREREZFsp6KUiORqEydOxGQyceTIkUw75siRIzGZTJl2vJz+ugAmk4mRI0c65LVFRERyOke+R2enhg0b0rBhw3Tvd+TIEUwmEx988ME9t73f+jI8PJy+ffs6OobIfUtFKRHJVjt37qRnz54ULlwYNzc3QkJCePTRR9m5c2eGjvvOO+8we/bszAnpQFeuXGHkyJFERUU5OoqIiMh94+aHUDe/3N3dCQkJoUWLFnzyySdcunTJ0RHFQVatWsXIkSOJi4tzdBS75JZrXJE7UVFKRLLNr7/+yoMPPshff/1Fv379+Pzzz+nfvz9Lly7lwQcfZNasWXYf+05v2L169eLq1auEhYVlIHlK//vf/7h69WqmHe/frly5wqhRo25blMrK1xUREckN3nzzTX766Se++OILhgwZAsCzzz5L+fLl2bZtW5a9bl55j160aBGLFi1ydIx0WbVqFaNGjcqyotTevXv55ptvsuTYoKKU5H7Ojg4gInnDwYMH6dWrF8WLF2f58uX4+/vb1j3zzDPUq1ePXr16sW3bNooXL55pr+vk5ISTk1OmHQ/A2dkZZ+fs/+fTUa8rIiJyv2jVqhVVq1a1LY8YMYIlS5bw0EMP0bZtW3bv3o2Hh0emv25uf4++cuUKnp6euLq6OjpKlrJYLCQlJeHu7p7mfdzc3LIwUda4fPkyXl5ejo4hAmiklIhkk/fff58rV67w9ddfpyhIARQqVIivvvqKy5cvM3bsWFv7zTkF9uzZQ9euXfHx8aFgwYI888wzXLt2zbadyWTi8uXL/PDDD7Zh+zfv7b/dnFLh4eE89NBDREVFUbVqVTw8PChfvrxtdNKvv/5K+fLlcXd3p0qVKmzevDlF3v/OddC3b98Utwz8++vmPExJSUm8/vrrVKlSBV9fX7y8vKhXrx5Lly61HefIkSO2vhk1alSqY9xujoXk5GRGjx5NREQEbm5uhIeH88orr5CYmJhiu5vnvHLlSqpXr467uzvFixfnxx9/vMdP7s42b95Mq1at8PHxIV++fDRp0oQ1a9ak2Ob69euMGjWKkiVL4u7uTsGCBalbty6LFy+2bXP69Gn69etHkSJFcHNzIzg4mHbt2mXqPGAiIpJ3NW7cmNdee42jR48yadKkFOv27NlD586d8fPzw93dnapVqzJ37twU26Tlvex279FXr15l6NChFCpUCG9vb9q2bcvJkydTzdN4c98DBw7Qt29f8ufPj6+vL/369ePKlSt3PbfBgweTL1++227Xo0cPgoKCuHHjBgBz5syhTZs2hISE4ObmRkREBKNHj7atv6lhw4aUK1eOjRs3Ur9+fTw9PXnllVds6/49p1Rarm/+a9y4cYSFheHh4UGDBg3YsWPHXc/xpkmTJlGlShU8PDzw8/Oje/fuHD9+/K77jBw5kuHDhwNQrFgx27XVzWsMk8nE4MGDmTx5Mg888ABubm4sWLAAgA8++IDatWtTsGBBPDw8qFKlCjNmzEj1GrebUyouLo5nn32W0NBQ3NzcKFGiBO+99x4WiyXFdhaLhY8//th23env70/Lli3ZsGGDLd+drnEhbddiN6+Fly1bxtNPP01AQABFihRh6dKlmEym296pMGXKFEwmE6tXr75r/4pkhtxbzheRHGXevHmEh4dTr169266vX78+4eHh/Pbbb6nWde3alfDwcMaMGcOaNWv45JNPuHDhgq2g8tNPPzFgwACqV6/OE088AUBERMRd8xw4cIBHHnmEJ598kp49e/LBBx/w8MMP8+WXX/LKK6/w9NNPAzBmzBi6du3K3r17MZtvX8d/8sknadq0aYq2BQsWMHnyZAICAgCIj4/n22+/pUePHjz++ONcunSJ7777jhYtWrBu3ToqVaqEv78/X3zxBQMHDqRDhw507NgRgAoVKtzxPAYMGMAPP/xA586def7551m7di1jxoxh9+7dqS4yDhw4QOfOnenfvz99+vTh+++/p2/fvlSpUoUHHnjgrv31Xzt37qRevXr4+Pjw4osv4uLiwldffUXDhg1ZtmwZNWrUAKwXg2PGjLH9fOLj49mwYQObNm2iWbNmAHTq1ImdO3cyZMgQwsPDiY2NZfHixRw7dozw8PB05RIREbmdXr168corr7Bo0SIef/xxwPpeVqdOHQoXLszLL7+Ml5cX06dPp3379sycOZMOHToAaXsvu52+ffsyffp0evXqRc2aNVm2bBlt2rS54/Zdu3alWLFijBkzhk2bNvHtt98SEBDAe++9d8d9unXrxvjx4/ntt9/o0qWLrf3KlSvMmzePvn372kaMT5w4kXz58jFs2DDy5cvHkiVLeP3114mPj+f9999Pcdxz587RqlUrunfvTs+ePQkMDLzt66fl+ubffvzxRy5dusSgQYO4du0aH3/8MY0bN2b79u13fA2At99+m9dee42uXbsyYMAAzpw5w6effkr9+vXZvHkz+fPnv+1+HTt2ZN++fUydOpVx48ZRqFAhgBQfkC5ZsoTp06czePBgChUqZLv2+Pjjj2nbti2PPvooSUlJTJs2jS5dujB//vy7/hyvXLlCgwYNOHnyJE8++SRFixZl1apVjBgxgujoaD766CPbtv3792fixIm0atWKAQMGkJyczIoVK1izZg1Vq1a96zVuWq/Fbnr66afx9/fn9ddf5/LlyzRs2JDQ0FAmT55s+12/afLkyURERFCrVq07nqdIpjFERLJYXFycARjt2rW763Zt27Y1ACM+Pt4wDMN44403DMBo27Ztiu2efvppAzC2bt1qa/Py8jL69OmT6pgTJkwwAOPw4cO2trCwMAMwVq1aZWtbuHChARgeHh7G0aNHbe1fffWVARhLly61td3MdSf79+83fH19jWbNmhnJycmGYRhGcnKykZiYmGK7CxcuGIGBgcZjjz1maztz5owBGG+88Uaq4/73dbds2WIAxoABA1Js98ILLxiAsWTJklTnvHz5cltbbGys4ebmZjz//PN3PJeb/pupffv2hqurq3Hw4EFb26lTpwxvb2+jfv36traKFSsabdq0ueNxL1y4YADG+++/f88MIiIid3Lz/X79+vV33MbX19eoXLmybblJkyZG+fLljWvXrtnaLBaLUbt2baNkyZK2tnu9lxlG6vfojRs3GoDx7LPP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S0sLFi9ejIcfftikb95j7WNZzJl5mDfTMWfmYd7Mw7yZzibqHmGD0tLShEwmE++8847Iy8sTmzZtEs7OzuKrr75qt61WqxXR0dFi2rRpoqmpyTCelZUlPD09xerVqzt8D41GIzIzM0VmZqYAIFavXi0yMzNFYWGhYZstW7YIuVwuNmzYILKzs8XChQuFUqkU5eXlN/+kr3HhwgUBgAsXLly4cOHSC5cLFy50ax1hin379nUYY0JCgsjPz+/0HPbt22c4xqVLl8ScOXOEq6urcHNzE0888YTQaDQmxcHahwsXLly4cOmdy/XqHokQNvTnumvs3LkTy5YtQ15eHkJDQ7F06dIOv30PAPbs2YOxY8fC0dHRaDwzMxM+Pj7o379/u31++eUXTJgwod14QkICNmzYYHi9du1avP/++ygvL8fIkSOxZs2abp+OrtPpUFpaCoVCYfJ9sdpuFHrhwgWTbxTalzFv5mHeTMecmYd5Mx1zZp7uzJsQAhqNBgEBAfwL7u+w9rEs5sw8zJvpmDPzMG/mYd5MZwt1j802pcg8bTdJr6ur4y+iCZg38zBvpmPOzMO8mY45Mw/z1vPw38x0zJl5mDfTMWfmYd7Mw7yZzhZyxj/TERERERERERGRxbEpRUREREREREREFsemVC8jl8vxxhtvQC6XWzuUHoV5Mw/zZjrmzDzMm+mYM/Mwbz0P/81Mx5yZh3kzHXNmHubNPMyb6WwhZ7ynFBERERERERERWRxnShERERERERERkcWxKUVERERERERERBbHphQREREREREREVkcm1K9TFJSEkJCQuDo6IiYmBikpaVZOySbcuDAAUyfPh0BAQGQSCT47rvvjNYLIfD6669DpVLByckJ8fHxyMvLs06wNmLlypUYPXo0FAoFfH19MWPGDOTm5hptc+XKFSQmJsLLywuurq6YNWsWKioqrBSx9a1btw4jRoyAm5sb3NzcEBsbi127dhnWM19ds2rVKkgkEjz33HOGMeauvTfffBMSicRoGTJkiGE9c9axkpISPProo/Dy8oKTkxOGDx+Oo0ePGtbz86BnYN3zx1j3mI51j3lY+9w41j1dw7rHPLZc97Ap1Yts3boVS5cuxRtvvIGMjAxERERg8uTJqKystHZoNqOhoQERERFISkrqcP17772HNWvWYP369Th8+DBcXFwwefJkXLlyxcKR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",
      "text/plain": [
       "<Figure size 1200x400 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, axes = plt.subplots(1, 2, figsize=(12, 4))\n",
    "\n",
    "# ---- loss curve ----\n",
    "ax = axes[0]\n",
    "ax.semilogy(range(1, NUM_STEPS + 1), loss_history, lw=1.5, color=\"tab:blue\")\n",
    "ax.set_xlabel(\"Adam step\")\n",
    "ax.set_ylabel(\"MSE loss [W$^2$/mm$^4$]\")\n",
    "ax.set_title(\"Optimization loss\")\n",
    "ax.grid(True, alpha=0.35)\n",
    "\n",
    "# ---- r1 trajectory ----\n",
    "ax = axes[1]\n",
    "ax.plot(range(1, NUM_STEPS + 1), r1_history, lw=1.5, color=\"tab:orange\")\n",
    "ax.set_xlabel(\"Adam step\")\n",
    "ax.set_ylabel(\"r1 [mm]\")\n",
    "ax.set_title(\"Design variable trajectory\")\n",
    "ax.grid(True, alpha=0.35)\n",
    "\n",
    "plt.tight_layout()\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "a1000012",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-08-18T17:52:09.285399Z",
     "iopub.status.busy": "2026-08-18T17:52:09.285399Z",
     "iopub.status.idle": "2026-08-18T17:52:09.779958Z",
     "shell.execute_reply": "2026-08-18T17:52:09.779958Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABGMAAAHCCAYAAABL1QToAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/TGe4hAAAACXBIWXMAAA9hAAAPYQGoP6dpAACgh0lEQVR4nOzdeXhM59sH8O8ksskuOyKJCLGngggqaIjaGtVWUypU8VMUoYoSVCtVa2tXLW1RqkVRTUssrUrttGonliJBNYkESWTO+4d3hjGT5DmTzJLJ93Ndc7U5c5/zPDMZM3fueRaFJEkSiIiIiIiIiIjIKKxM3QEiIiIiIiIiooqExRgiIiIiIiIiIiNiMYaIiIiIiIiIyIhYjCEiIiIiIiIiMiIWY4iIiIiIiIiIjIjFGCIiIiIiIiIiI2IxhoiIiIiIiIjIiFiMISIiIiIiIiIyIhZjiIiIiIiIiIiMiMUYIqIKauXKlVAoFNi9e7fG8bS0NMTGxsLLywsKhQL9+vUDANy7dw9vv/02atSoAWtrawQGBhq9z4bw5GPUR2BgINq2bSsUu3v3bigUCqxcuVLv9ox53dLS9dyW9vmmxy5dugSFQoEpU6aU+bWnTJkChUKBS5culfm1Rcn5t0VERFTeVDJ1B4iIqHR2796Ndu3aqX+2srKCi4sLqlWrhvDwcMTFxSEmJgYKhULoev369cOff/6J9957D76+vggODgYAzJgxA/Pnz8eYMWPQqFEjODs7G+TxlLXMzEzMmzcPbdu25R92VO5cunQJK1euRGxsLMLCwkzdnTI3ZcoUhIWFITY21tRdISIiMioWY4iILERcXBw6d+4MSZJw9+5dnDlzBps2bcJXX32F6OhorF+/Hm5ubur4119/Ha+++ipsbW3Vx/Ly8vDbb79h2LBhGDNmjMb1t2/fjoYNG2LmzJnGekhlIjMzE1OnTgUAncWY+/fvw9ra2si9Kltt2rTB/fv3YWNjY+qulMgSnm9junTpEqZOnYrAwECtYkxAQADu37+PSpXKPp2bOHEixo0bBzs7uzK/9pOmTp2K+Ph4ncWYM2fOCBeRiYiIyhsWY4iILESTJk3Qp08fjWNz5szB2LFjMWfOHMTFxeGnn35S32dtba31R3FGRgYkSUKVKlW0rp+eno4aNWqUeb/v3r1r0lE29vb2Jmu7rFhZWQk9DkmSkJubCycnJ533G+N3YQnPt7lQKBQGez4rVapkkCKPHIYuBBEREZkS14whIrJg1tbWmD17Nlq3bo3k5GTs3btXfd/Ta8b069cPAQEBAB59W61QKNTrkCgUCqSlpWHPnj3q40+uU3Ho0CH06NEDnp6esLOzQ506dfDhhx/i4cOHGv1p27YtAgMDcfHiRbz00kuoUqUKXFxc1PffuHEDQ4YMQY0aNWBra4uqVati0KBBuHnzpsZ1VOtZnDlzBhMmTED16tVhZ2eHxo0bY9u2beq43bt3IygoSOsxPbneja41TNatW4fu3bujRo0asLOzg6enJ2JjY/Hnn38W+VwfOXIE7du3h5OTE6pUqYL4+HitfhdFkiQsXrwY4eHhqFy5MpycnNCuXTvs2rVL6Hxda8Y8eWzhwoWoV68e7O3tMWvWLI21RtatW4fw8HA4ODhg+PDhAIDTp0/jrbfeQv369eHs7IzKlSsjPDwcy5cv19n+33//jU6dOsHR0RFVqlRB7969i3zspX2+VeuInD59Gl26dIGzszNcXV3x0ksvIT09XSs+Ozsb7733HurWrQt7e3t4eHigdevWWLt2rUac6GuvOL/++is6dOgAV1dXODg4oEmTJvj888+14p78d/DCCy/A1dUVLi4u6NGjBy5evKiOW7lypXoKYv/+/dWvX9UIL11rxjx57Ntvv0VYWBgcHBxQq1YtrFixAgBw5coV9b8/Z2dn9OnTB3fv3tXo49NrxqiuW9TtyT4sWrQIHTt2RLVq1WBraws/Pz/06dNHY/0Z1fUA4Msvv9S4lkpRa8Zs2rQJrVq1gqOjI5ycnNCqVSv88MMPWnFyXytERETGxJExREQVwIABA7B37178+OOPaN26tc6YwYMHIywsDKNGjUKPHj3w4osvAgBCQkLw9ddfY9SoUfD09MR7770HAGjUqBEA4Mcff8SLL76IWrVqYfTo0ahSpQpSU1ORmJiIY8eOYf369Rrt5OTkICoqCq1atcKHH36o/mP3ypUriIyMRH5+PgYMGIDg4GCcP38eixcvxq5du3Do0CG4urpqXCs+Ph42NjYYM2YM8vPzMW/ePMTGxuLs2bMIDAxE3bp1MXfuXK3HVNTIEJUFCxbAw8MDgwYNgq+vLy5cuIBly5ahVatWOHLkCEJCQjTi//nnHzz33HPo2bMnXnrpJRw5cgRffPEFDh06hIMHD6Jy5crFtvf666/jm2++wUsvvYT+/fsjLy8Pq1evRocOHbBhwwZ079692POLM2/ePPz7778YOHAgfH194e/vr75v06ZN+PTTTzFkyBD873//UxfGdu/ejV9//RVdu3ZFUFAQcnNzsX79egwcOBC3bt3C+PHj1ddIS0vDs88+i7y8PAwbNgz+/v7YsmULOnXqJNxHuc/3tWvX0LZtW/To0QMzZ87E8ePHsXTpUmRnZ+OXX35Rx2VmZqJ169b4+++/8dJLL2HIkCEoLCzE0aNHsXXrVrz66qsA9HvtPW3Lli3o0aMHfH19MXr0aDg7O2Pt2rV48803cfHiRXz44Yca8bm5uWjbti0iIiKQlJSEc+fOYdGiRfjjjz9w9OhR+Pr6ok2bNpgwYQKmT5+OQYMG4dlnnwUA+Pj4lPicbt26FUuWLMFbb72FKlWq4PPPP8cbb7wBW1tbTJgwAe3bt8f06dNx8OBBfPHFF7C3ty+y2AYAXl5e+Prrr7WOr1y5EikpKRp9mjVrFlq0aIG3334bVapUwYkTJ7B8+XLs3LkTf/31Fzw8PNTXe/311/Hss89i0KBBJT4m4FGhZ+jQoQgNDUViYqK6D7GxsVi6dKnWdURfK0REREYnERFRubZr1y4JgDRz5swiYw4fPiwBkF588UX1sRUrVkgApF27dqmPpaWlSQCkyZMna10jICBAioqK0jh2//59ycfHR3r22WelgoICjfvmzJmjdf2oqCgJgPTee+9pXb979+6Sl5eXdPXqVY3jBw8elKytrTX6NHnyZAmA1KVLF0mpVKqPHzhwQAIgjRs3TugxSZIkAZDi4+M1juXk5GjFnTx5UrK1tZWGDBmicTwgIEACIM2dO1fn409KSlIfU/2uVqxYoT62YcMGCYC0dOlSjfMLCgqk8PBwKTAwUOMx6qLruqpj7u7uUkZGhka86jmpVKmSdPLkSa3r6Xr8hYWFUlRUlOTi4iLl5+erj8fFxUkApJ07d6qPKZVKKTY2VudzW1bP97p16zSOv/XWWxIA6fTp0+pjQ4YM0fncqh6PipzXni4PHz6UatSoIbm6ukrXrl1TH8/Ly5NatmwpWVlZSWfPnlUfV/07GDFihMZ1VK+FwYMHq4/p+t2q6Hptq45VrlxZunTpkvr4zZs3JTs7O0mhUEizZ8/WuE6PHj0kGxsb6e7du+pjqn9jaWlpRT7uLVu2SFZWVlKPHj00XqO6fp87duyQAEgzZszQOK7r9aDy9HvOnTt3JEdHRyk4OFjKyspSH8/KypJq1qwpOTk5Sf/995/G+aKvFSIiImPjNCUiogpANeIhOzu7TK+7fft2ZGRkoH///sjMzMTt27fVt86dOwOAzm+fn14cOCsrC1u3bkX37t1hb2+vcZ3AwEDUqlVL53VGjBihMa2hWbNmcHJywrlz50r1uBwdHQE8mj6UnZ2N27dvw8vLC3Xq1MH+/fu14l1cXPDWW29pHHvrrbfg4uKCjRs3FtvWqlWr4OzsjNjYWI3HnZmZiW7duuHSpUulejx9+/aFt7e3zvu6dOmCunXrah1XPX4AePDgAf7991/cuXMHHTt2RHZ2Nk6fPg0AUCqV2LJlC5o2baqxo5dCocDYsWOF+yj3+a5atSpeeeUVjWPt27cHAPVzpVQqsXbtWtStW1fnqAsrq0cpkL6vvScdPnwYV65cwRtvvIGqVauqj9va2mLs2LFQKpU6p9GMGzdO4+cePXqgTp062LRpU7HtiYiNjVVPOwSgfj6trKwwdOhQjdhnn30WBQUFsraxPnbsGOLi4vDMM89g1apVGv8OVb9PpVKJrKws3L59G40bN4arq6vO36eo7du3Izc3F2+//bbG9EYXFxe8/fbbyMnJwY4dOzTOEXmtEBERmQKnKRERVQCqIsyTf8CUhVOnTgEA3njjjSJjMjIyNH728vLS2NUJeLRrilKpxOeff65zjQ0AqFmzptAxDw8P/PvvvyV1vVhHjx7FpEmTsHv3buTm5mrcp1qD5ul+PLkrFfBo8dGaNWtqrAGiy6lTp3D37t1ip55kZGSgdu3aMh7BY8WdV9R9OTk56jVHrl69qnX/f//9BwC4efMmcnJyEBoaqhVTr1494T7q83w/zcPDAwDUv/vbt2/jv//+K3G6lL6vvSelpaUBAOrXr691n+rY068DNzc3+Pr6asXXrVsXmzZtQm5urkZRTC5dfXZ3d4efn5/Wwrju7u4AIPzv5tq1a+jatSvc3NywZcsWrWl4O3fuxPvvv4/9+/fjwYMHGvepXjv60Od5FnmtEBERmQKLMUREFYBqIdQ6deqU6XUlSQIAzJw5U2vbXZUnRwoA0Ll+iuo6ffr0QXx8vM7rODg4aB0raotk1fX0ceXKFbRp0wYuLi6YNGkS6tSpA0dHRygUCowcORI5OTl6X1sXSZLg5eWFNWvWFBnToEEDva9f3Ho1Rd332muvYevWrRg0aBDatGkDDw8PWFtbY9u2bZg7dy6USqXe/XmaPs93cVtjy/3d6/vaM3dFPUelfe5yc3PRrVs3ZGVlYe/evfDz89O4/+DBg+jYsSNq1aqFjz76CEFBQXBwcIBCocCrr75apq8dEWX5WiEiIipLLMYQEVUAqm/8u3TpUqbXVS2s6ujoiOjoaL2vU6tWLSgUCuTn55fqOro8OX1CxMaNG5GTk4PNmzdrTL0BHn2Trmu73YsXLyI/P19jdExeXh4uXryoc9TIk0JCQnD27Fm0aNGixIWFjSEzMxNbt27F66+/jiVLlmjc9/QUEC8vLzg5OamnLT3p5MmTQu3p83yL8PT0hLu7O44fP15sXFm89lSjL/7++2+t+1TPw9MjNDIzM5Genq41OubUqVPw9vZWj4qR+/o1JKVSibi4OBw/fhw//PADGjdurBWzZs0aFBYW4qefftIY1ZSbm1uqUTGA5vP83HPPadxX1PNMRERkrrhmDBGRBSssLMSYMWOwd+9edO7cGa1atSrT68fExMDb2xsfffQR7ty5o3X//fv3tbbM1cXDwwOdO3fGhg0b8Mcff2jdL0kSbt26pVcfVQUOXf3TRfVN+tPfmn/22WdFboebnZ2NRYsWaRxbtGgRsrOzERsbW2x7ffv2hVKp1Nih6ElPT/MytKIe/40bN7R227G2tkbXrl1x6NAhjW24JUnCxx9/XKr2inu+RVhZWSEuLg4nT57UOf1I1V5ZvPaaNGmCGjVqYMWKFRp9LigowMyZM6FQKPDCCy9onffRRx9p/Lxx40acOXNG4zUj9/VrSAkJCdiyZQtmz56Nrl276owp6vc5ffp0naNinJychB9bhw4d4OjoiPnz52u8r9y9exfz58+Hk5MTOnToIPpwiIiITIojY4iILMSRI0ewatUqAI/+ODlz5gw2bdqEy5cvo2PHjsVOg9GXo6MjvvrqK8TGxqJOnTp44403UKtWLWRmZuL06dPYsGEDNm7ciLZt25Z4rcWLF6N169Zo06YN+vbti2eeeQZKpRIXL17EDz/8gL59+2LKlCmy++jh4YFatWph7dq1CA4Oho+PDxwdHdGtWzed8c8//zwqV66M119/HcOGDYO7uzt+//13bNu2DcHBwXj48KHWOcHBwZg6dSpOnDiB8PBwHD58GF988QVCQ0Px9ttvF9s/1XbWCxYswJEjR9C1a1d4enrin3/+QWpqKs6fP1/iujNlydnZGR07dsSqVavg4OCAZs2a4fLly1i6dCmCgoK01tn44IMP8NNPP6Fr164YPnw4qlevji1btggXz/R5vkV98MEH2LlzJ95880388ssvaN26NSRJwtGjR/Hw4UP1Vs2lfe1ZW1tjwYIF6NGjB5o1a4ZBgwbB2dkZ69atwx9//IEJEyZobc/t6emJDRs24Pr162jbtq16a2sfHx+NturVqwdnZ2csWrQIlStXhpubG7y9vdWL0BrLTz/9hE8++QT16tWDp6en+r1GpVGjRmjUqBF69OiBuXPnonPnzhg0aBBsbW2xfft2/Pnnn/D09NS6bosWLbBjxw7MmDEDNWrUUE9n0sXNzQ0ff/wxhg4dioiICPTr1w/Ao62tz58/j6VLl5a4BTkREZG5YDGGiMhCfPPNN/jmm29gZWUFJycnVK9eHVFRUYiLiytxEdPSiImJwcGDB/HRRx9h1apVuHXrFtzd3REcHIyEhAQ0atRI6Dr+/v44fPgwZsyYgR9++AGrVq2Cvb09/P390a1bN60dUeRYvXo1Ro0ahQkTJuDevXsICAgoshgTHByMn376CRMmTMD06dNhbW2NVq1aYc+ePRg2bJjOHWeqV6+Ob7/9FmPGjME333wDW1tb9O7dG7NmzRJahPWLL75Au3btsGzZMiQlJSE/Px++vr5o0qQJkpKS9H7c+lq1ahXGjRuHLVu24Msvv0RISAg+/PBD2NjYoH///hqxwcHB+O233zB69GjMnz8fdnZ2eP755/H1118Xuyjxk+fLfb5Fubu7IzU1FdOnT1cXBp2dnVGvXj0MHz5cHVcWr71u3bohJSUFH3zwAWbOnIn8/HzUrVsXy5cvx4ABA7TiHR0dsXPnTowaNQrjxo2DJEno1KkTZs+erbEOi4ODA9auXYuJEydi5MiRyMvLQ1RUlNGLMaoRWidPnsTrr7+udf/kyZPRqFEjtGrVCt9//z2mTZuGSZMmwcHBAdHR0dizZw/atGmjdd6iRYswdOhQfPjhh+rRLkUVY4BHu5T5+flh5syZmDp1KgCgcePG2LhxY4mj0IiIiMyJQuLqZURERERG07ZtW1y6dKlUhSYiIiIq37hmDBERERERERGREbEYQ0RERERERERkRCzGEBEREREREREZEdeMISIiIiIiIiIyIo6MISIiIiIiIiIyIhZjiIiIiIiIiIiMiMUYIiIiIiIiIiIjYjGGiIiIiIiIiMiIWIwhIiIiIiIiIjIiFmOIiIiIiIiIiIyIxRgiIiIiIiIiIiNiMYaIiIiIiIiIyIhYjCEiIiIiIiIiMiIWY4iIiIiIiIiIjIjFGCIiIiIiIiIiI2IxhoiIiIiIiIjIiFiMISIiIiIiIiIyIhZjiIiIiIiIiIiMiMUYIiIiIiIiIiIjYjGGiIiIiIiIiMiIWIwhszFz5kzUrFkT1tbWCAsLM3V3SvTWW2+hQ4cOpu4GlTPjxo1DRESEqbtBREQW4Ouvv0ZoaChsbGzg5uZm6u4I69y5MwYOHGjqbpAZSE5OhpOTE27dumXqrhAZHYsxJMvKlSuhUCg0bt7e3mjXrh1++uknva/7yy+/YOzYsWjVqhVWrFiB6dOnl2Gvy15aWhqWL1+OCRMmCJ/z4Ycfonv37vDx8YFCocCUKVMM18Ey6suGDRvQq1cv1KxZE5UrV0adOnUwevRoZGZm6ozfvHkzmjRpAnt7e9SoUQOTJ0/Gw4cPhfqkVCrx8ccfIygoCPb29mjUqBG++eYbnbGnTp1Cp06d4OTkhCpVquD1118vNx/iI0eOxPHjx7F582ZTd4WIiMzYokWLoFAoiizgnz59Gv369UNwcDA+++wzLFu2DPfu3cOUKVOwe/du43ZWht9//x2//PIL3n33XaH4nJwcTJ48GZ06dUKVKlWgUCiwcuVKw3ayCAcPHsSwYcNQv359ODo6okaNGnjllVdw9uxZnfFKpRKLFy9GWFgYHBwc4OHhgfbt2+P48eMacTdu3MCgQYMQFBQEBwcHBAcHIyEhAf/++69Qv7Zv347WrVujcuXKcHd3x0svvYRLly6V9uEaRadOnVCrVi0kJSWZuitExicRybBixQoJgPT+++9LX3/9tfTVV19JM2fOlOrXry8BkLZs2aLXdd99913JyspKysvLK+MeG8aIESOk2rVryzoHgOTr6yvFxMRIAKTJkycbpnNl2BcPDw+pYcOG0qRJk6TPPvtMevvttyVbW1spNDRUunfvnkbstm3bJIVCIbVr105atmyZNHz4cMnKykr63//+J9SncePGSQCkgQMHSsuWLZO6dOkiAZC++eYbjbirV69Knp6eUnBwsPTJJ59IH374oeTu7i41bty43Lx+XnnlFenZZ581dTeIiMiMtWzZUgoMDJQASOfOndO6f/HixVr33bp1y+Q5RkleeOEFqWPHjsLxaWlpEgCpRo0aUtu2bSUA0ooVKwzXwWL07NlT8vX1lYYPHy599tln0rRp0yQfHx/J0dFR+uuvv7Ti4+PjpUqVKklvvPGG9Nlnn0nz5s2T4uPjpV9++UUdc/fuXSkgIEDy9PSUEhMTpc8++0waNmyYZGNjI4WFhUmFhYXF9mnLli2SlZWV1LRpU+mTTz6Rpk2bJnl6ekrVqlWTbt68WebPgSEsWrRIqly5spSdnW3qrhAZFYsxJIuqGHPw4EGN43fu3JFsbGyk1157Ta/r9u/fX3J0dCyLLkqSJElKpVKrWFBW8vPzJU9PT2nixIklxt6/f1/9IZqWliZJknkkSqJ92bVrl9axL7/8UgIgffbZZxrH69WrJzVu3FgqKChQH3vvvfckhUIhnTp1qtj+/PPPP5KNjY00dOhQ9TGlUik9++yzUvXq1aWHDx+qjw8ZMkRycHCQLl++rD62fft2CYC0dOnSYtsxF999952kUCikCxcumLorRERkhi5evCgBkDZs2CB5eXlJU6ZM0YqZOnWqBEC6deuW+pihcoycnJwyuU5GRoZUqVIlafny5cJtPnjwQLpx44YkSZJ08OBBkxZjfv/9d60vfs6ePSvZ2dlJvXv31ji+bt069e+wOKtXr5YASFu3btU4npiYKAGQjhw5Uuz59erVk2rVqqXRr2PHjklWVlZSQkKCyMMyuYyMDMna2lr6/PPPTd0VIqPiNCUqE25ubnBwcEClSpU0jiuVSsybNw/169eHvb09fHx8MHjwYPz333/qGIVCgRUrViA3N1c99Uk1/PThw4eYNm0agoODYWdnh8DAQEyYMAF5eXka7QQGBqJr1674+eef0bRpUzg4OGDp0qUAgMzMTIwcORL+/v6ws7NDrVq1MGPGDCiVSr0e6969e3H79m1ER0drHN+9ezcUCgXWrl2LiRMnolq1aqhcuTKys7PVfTQXon1p27at1rEePXoAeDRVSOXkyZM4efIkBg0apPEaeOuttyBJEr777rti2/nhhx9QUFCAt956S31MoVBgyJAh+Oeff5Camqo+/v3336Nr166oUaOG+lh0dDRq166Nb7/9tth2Ll26BIVCgVmzZmHhwoXq6VcdO3bE1atXIUkSpk2bhurVq8PBwQEvvPAC7ty5o3EN1Wtt9+7d6tdaw4YN1UPCN2zYgIYNG8Le3h7h4eE4evSoVj9Ur50ffvih2P4SEVHFtHr1ari7u6NLly546aWXsHr1ao37AwMDMXnyZACAl5cXFAoF+vXrBy8vLwDA1KlT1TnVk1ORT58+jZdeeglVqlSBvb09mjZtqjVtVjUlfc+ePXjrrbfg7e2N6tWrl8nj+vHHH/Hw4UOtHKq4Nu3s7ODr61sm7ZdWy5YtYWtrq3EsJCQE9evX18iLAGDOnDlo3rw5evToAaVSidzcXJ3XVOWJPj4+Gsf9/PwAAA4ODkX2586dOzh58iR69Oih0a/GjRujbt26WLt2bYmPqbR5Tb9+/eDk5IQrV66ga9eucHJyQrVq1bBw4UIAwF9//YX27dvD0dERAQEBWLNmjVYfvL290ahRI+ZFVOGwGEN6ycrKwu3bt3Hr1i38/fffGDJkCHJyctCnTx+NuMGDB+Odd95Bq1at8Mknn6B///5YvXo1YmJiUFBQAODR4nPPPvss7Ozs8PXXX+Prr79GmzZtAABvvvkmEhMT0aRJE8ydOxdRUVFISkrCq6++qtWnM2fOIC4uDh06dMAnn3yCsLAw3Lt3D1FRUVi1ahX69u2LTz/9FK1atcL48eORkJCg12Pft28fFAoFnnnmGZ33T5s2DT/++CPGjBmD6dOna31o66OgoAC3b98WuulbZBKVnp4OAPD09FQfU30wN23aVCO2atWqqF69us6CxJOOHj0KR0dH1K1bV+N48+bNNa5/7do13Lx5U6sdVWxJ7aisXr0aixYtwvDhwzF69Gjs2bMHr7zyCiZOnIjk5GS8++67GDRoELZs2YIxY8ZonX/+/Hm89tpr6NatG5KSkvDff/+hW7duWL16NUaNGoU+ffpg6tSpuHDhAl555RWt34mrqyuCg4Px+++/C/WXiIgqltWrV+PFF1+Era0t4uLicO7cORw8eFB9/7x589RfjixevBhff/01Ro0ahcWLFwN49MWJKqd68cUXAQB///03WrRogVOnTmHcuHGYPXs2HB0dERsbi40bN2r14a233sLJkyeRmJiIcePGlcnj2rdvHzw8PBAQEKDzfkO0mZeXJ5xD6UOSJGRkZGjkRdnZ2Thw4ACaNWuGCRMmwNXVFU5OTqhZs6bWF0dt2rSBlZUVRowYgT/++AP//PMPtm3bhg8//BCxsbEIDQ0t9rEBugs2lStXxvXr19V5W3FKm9cUFhbi+eefh7+/Pz7++GMEBgZi2LBhWLlyJTp16oSmTZtixowZcHZ2Rt++fZGWlqbVh/DwcOzbt6/EvhJZFBOPzKFyRjVN6embnZ2dtHLlSo3Y3377TQIgrV69WuN4cnKy1vH4+HitaUrHjh2TAEhvvvmmxvExY8ZIAKSdO3eqjwUEBEgApOTkZI3YadOmSY6OjtLZs2c1jo8bN06ytraWrly5Ivs56NOnj+Th4aF1fNeuXRIAqWbNmsVOkdJnCLHq2iI31RQkEfr0ZcCAAZK1tbXGczpz5kwJgM7ns1mzZlKLFi2KvWaXLl2kmjVrah3Pzc2VAEjjxo2TJOnx8OSvvvpKK/add96RAEgPHjwosh3VvHMvLy8pMzNTfXz8+PESAK1pVnFxcZKtra3GNVWvtX379qmP/fzzzxIArelTS5culQDonO7VsWNHqW7dukX2lYiIKqZDhw5JAKTt27dLkvRo2m716tWlESNGaMRNnjxZ1jSl5557TmrYsKHGZ5pSqZRatmwphYSEqI+pcr3WrVtrTBMuC61bt5bCw8O1jou2qc80paJyV103fXz99dcSAI0pNkeOHJEASB4eHpKPj4+0aNEiafXq1VLz5s0lhUIh/fTTTxrXWL58ueTm5qbRl/j4eI2cRJfCwkLJzc1Neu655zSO3759W3J0dJQASIcOHSr2GqXNa+Lj4yUA0vTp09XH/vvvP8nBwUFSKBTS2rVr1cdPnz5d5Otz+vTpEgApIyOj2P4SWRLNOSVEghYuXIjatWsDADIyMrBq1Sq8+eabcHZ2Vn8Ds379eri6uqJDhw4a3zaEh4fDyckJu3btwmuvvVZkG9u2bQMArREso0ePxqxZs/Djjz+iXbt26uNBQUGIiYnRiF2/fj2effZZuLu7a/QhOjoaH330EX799Vf07t1b1mP/999/4e7uXuT98fHxxQ4p1Ufjxo2xfft2oVhDDuVds2YNPv/8c4wdOxYhISHq4/fv3wfwaCjx0+zt7dVDcIty//79Is998voltVPctZ708ssvw9XVVf2zaqeKPn36aEyzioiIwDfffINr166hZs2a6uP16tVDZGSk1vnt27fXmD6lOn7x4kWtKV/u7u7CI3mIiKjiWL16NXx8fNQ5jkKhQK9evbBq1SrMnj0b1tbWsq95584d7Ny5E++//z7u3r2Lu3fvqu+LiYnB5MmTce3aNVSrVk19fODAgXq1VZx///1Xo42nGaLNmJgY4RxKrtOnT2Po0KGIjIxEfHy8+nhOTg6AR4/3jz/+UOcD3bt3R1BQED744AN06tRJHV+tWjU0b94cnTt3RkBAAH777Td8+umn8PT0xKxZs4ps38rKCoMHD8aMGTMwfvx4vPHGG8jOzsbYsWORn58P4HHuVJyyyGvefPNN9f+7ubmhTp06OH/+PF555RX18Tp16sDNzQ0XL17U6oMqt759+za8vb1L7DORJWAxhvTSvHlzjakicXFxeOaZZzBs2DB07doVtra2OHfuHLKysop8Q71582axbVy+fBlWVlaoVauWxnFfX1+4ubnh8uXLGseDgoK0rnHu3Dn8+eef6jnUcvtQFEmSirxPVz9Ky93dXWt+tbH99ttvGDBgAGJiYvDhhx9q3KcqPj29lg8APHjwoMTilIODQ5HnPnn9ktp5MqY4TyYWANSFGX9/f53Hn1zjqCzOBx69hhQKRYl9JSKiiqOwsBBr165Fu3btNKZyREREYPbs2UhJSUHHjh1lX/f8+fOQJAmTJk3CpEmTdMbcvHlTo1BiiHwGMH4O5efnp15/pSylp6ejS5cucHV1xXfffadRRFLlIkFBQRpbkzs5OaFbt25YtWoVHj58iEqVKuH3339H165d8ccff6hz69jYWLi4uGDq1Kl44403UK9evSL78f777+P27dv4+OOP8dFHHwEAOnbsiAEDBmDJkiVwcnIq8bGUNq+xt7fXyrVdXV1RvXp1rVzH1dW1yLwIAHMjqlBYjKEyYWVlhXbt2uGTTz7BuXPnUL9+fSiVSnh7e2stOqdSVIHkaaJvyrr+CFcqlejQoQPGjh2r8xzV6B45PDw8dH6IFNeP0srPz9daSLYoXl5eZf6t0vHjx9G9e3c0aNAA3333ndZCzaok58aNG1of3Ddu3FCv/VIUPz8/7Nq1S6tAcePGDQCP1p55up2n3bhxA1WqVClxVAyAIp+foo4/nTiW9nzgUSLz5PxyIiKinTt34saNG1i7dq3OxVdXr16tVzFGtcbHmDFjtEYRqzz95Zch8hlT5FD3799HVlaWUKzo6OKsrCw8//zzyMzMxG+//abOU1RUPz+9KC/waLHagoIC5ObmwtXVFUuXLoWPj4/Wenjdu3fHlClTsG/fvmKLMba2tli+fDk+/PBDnD17Fj4+PqhduzZee+01nV9q6mIueREA5kZUobAYQ2Xm4cOHAB4PzQwODsaOHTvQqlUrvT5cAwICoFQqce7cOY2FXTMyMpCZmVnk4m9PCg4ORk5OTpmOKgkNDcXq1auRlZWlMdXFkPbt26cxJas4aWlpZbpz04ULF9CpUyd4e3tj27ZtOr9hCQsLAwAcOnRIo/By/fp1/PPPPxg0aFCxbYSFhWH58uU4deqURsKxf/9+jetXq1YNXl5eOHTokNY1Dhw4oI4rD9LS0tC4cWNTd4OIiMzI6tWr4e3trd6J5kkbNmzAxo0bsWTJkiLzqqK+wFJNtbWxsTHpSNvQ0FB8//33Rm1z3bp16N+/v1BscaN2VB48eIBu3brh7Nmz2LFjh85CSdWqVeHr64tr165p3Xf9+nXY29vD2dkZwKO8trCwUCtOtdGFKr8uiY+Pj7r4U1hYiN27dyMiIkJoZIw5SEtLg6enp/CXtUSWgLspUZkoKCjAL7/8AltbW3Xh5JVXXkFhYSGmTZumFf/w4UNkZmYWe83OnTsDeLRjwJPmzJkDAOjSpUuJ/XrllVeQmpqKn3/+Weu+zMxM4Q+4J0VGRkKSJBw+fFj2ufpSrRkjcivLNWPS09PRsWNHWFlZ4eeffy7yA7J+/foIDQ3FsmXLNBKKxYsXQ6FQ4KWXXlIfy8rKwunTpzW+pXrhhRdgY2ODRYsWqY9JkoQlS5agWrVqaNmypfp4z549sXXrVly9elV9LCUlBWfPnsXLL79cJo/b0LKysnDhwgWNx0VERBXb/fv3sWHDBnTt2hUvvfSS1m3YsGG4e/eu1lbUT6pcuTIAaOVY3t7eaNu2LZYuXapzdOmtW7fK9LEUJTIyEv/995/ONUMMRbVmjMitJIWFhejVqxdSU1Oxfv16jXVWntarVy9cvXpV47q3b9/GDz/8gPbt28PK6tGfYbVr10ZGRoZ6K2mVb775BgA0du+8ceMGTp8+rS7UFGXWrFm4ceMGRo8eXeJjMheHDx8u9vkkskQcGUN6+emnn3D69GkAj+YYr1mzBufOncO4cePg4uICAIiKisLgwYORlJSEY8eOoWPHjrCxscG5c+ewfv16fPLJJxp/pD+tcePGiI+Px7Jly5CZmYmoqCgcOHAAX375JWJjY4VGirzzzjvYvHkzunbtin79+iE8PBy5ubn466+/8N133+HSpUuyh0O2bt0aHh4e2LFjB9q3by983tdff43Lly/j3r17AIBff/0VH3zwAQDg9ddfL3akT1mvGSPal06dOuHixYsYO3Ys9u7di71796qv4ePjgw4dOqh/njlzJrp3746OHTvi1VdfxYkTJ7BgwQK8+eabGiObNm7ciP79+2PFihXo168fAKB69eoYOXIkZs6ciYKCAjRr1gybNm3Cb7/9htWrV2sMc50wYQLWr1+Pdu3aYcSIEcjJycHMmTPRsGFD4W++TG3Hjh2QJAkvvPCCqbtCRERmYvPmzbh79y66d++u8/4WLVrAy8sLq1evRq9evXTGODg4oF69eli3bh1q166NKlWqoEGDBmjQoAEWLlyI1q1bo2HDhhg4cCBq1qyJjIwMpKam4p9//sHx48cN+fAAPPoirVKlStixY0eJo2aftGDBAmRmZuL69esAgC1btuCff/4BAAwfPrzYkcpluWbM6NGjsXnzZnTr1g137tzBqlWrNO7v06eP+v/Hjx+Pb7/9Fj179kRCQgJcXV2xZMkSFBQUYPr06eq4YcOGYcWKFejWrRuGDx+OgIAA7NmzB9988w06dOigsebM+PHj8eWXX2qMgl61ahW+//57tGnTBk5OTtixYwe+/fZbvPnmm+jZs2eZPG5Du3nzJv78808MHTrU1F0hMi5TbOFE5Zeu7QHt7e2lsLAwafHixZJSqdQ6Z9myZVJ4eLjk4OAgOTs7Sw0bNpTGjh0rXb9+XR2ja2trSZKkgoICaerUqVJQUJBkY2Mj+fv7S+PHj9favjggIEDq0qWLzj7fvXtXGj9+vFSrVi3J1tZW8vT0lFq2bCnNmjVLys/P1+t5ePvtt6VatWppHFNtP71+/Xqd50RFRRW5laKurY8NSbQvRcUAkKKiorSuu3HjRiksLEyys7OTqlevLk2cOFHrOVa9hp7elrKwsFCaPn26FBAQINna2kr169eXVq1apbP/J06ckDp27ChVrlxZcnNzk3r37i2lp6eX+LhVW1vPnDlT43hRvztVXw8ePKg+VtRrDYA0dOhQofZ69eoltW7dusT+EhFRxdGtWzfJ3t5eys3NLTKmX79+ko2NjXT79m2dW1tLkiTt27dPCg8Pl2xtbbW2Eb5w4YLUt29fydfXV7KxsZGqVasmde3aVfruu+/UMbo++8pS9+7dtbZiLqlN1fbLum5paWkG6acuxeVPuv6sunDhgtSjRw/JxcVFcnBwkNq3by8dOHBAK+706dPSSy+9JPn7+0s2NjZSQECANGbMGK3Xgmob6Scf8/79+6U2bdpI7u7ukr29vdS4cWNpyZIlOnNyXUqb1xSVw0dFRUn169cXam/x4sVS5cqVpezsbKE+E1kKhSQJTI4kIg0XL15EaGgofvrpJzz33HOm7g6VI+np6QgKCsLatWs5MoaIiCqc3377DW3btsXp06cREhJi6u6QGXjmmWfQtm1bzJ0719RdITIqFmOI9DRkyBCcP39eaI4xkcq4ceOwc+dOHDhwwNRdISIiMonnn38e1atXx2effWbqrpCJJScn46WXXsLFixfh7e1t6u4QGRWLMURERERERERERsTdlIiIiIiIiIiIjKhcFWN+/fVXdOvWDVWrVoVCocCmTZs07pckCYmJifDz84ODgwOio6Nx7ty5Eq+7cOFCBAYGwt7eHhEREZw+QERERBaD+RMREZH5KVfFmNzcXDRu3BgLFy7Uef/HH3+MTz/9FEuWLMH+/fvh6OiImJgYPHjwoMhrrlu3DgkJCZg8eTKOHDmCxo0bIyYmBjdv3jTUwyAiIiIyGuZPRERE5qfcrhmjUCiwceNGxMbGAnj0rU7VqlUxevRojBkzBgCQlZUFHx8frFy5Eq+++qrO60RERKBZs2ZYsGABAECpVMLf3x/Dhw/HuHHjjPJYiIiIiIyB+RMREZF5qGTqDpSVtLQ0pKenIzo6Wn3M1dUVERERSE1N1ZlM5Ofn4/Dhwxg/frz6mJWVFaKjo5GamlpkW3l5ecjLy1P/rFQqcefOHXh4eEChUJTRIyIisgySJOHu3buoWrUqrKwMNyDzwYMHyM/P1/t8W1tb2Nvbl2GPiMwf8yciIvNljByqtPkTwBxKXxZTjElPTwcA+Pj4aBz38fFR3/e027dvo7CwUOc5p0+fLrKtpKQkTJ06tZQ9JiKqWK5evYrq1asb5NoPHjxAUFBQke/3Inx9fZGWlsZkgioU5k9ERObPUDlUWeRPAHMofVlMMcaYxo8fj4SEBPXPWVlZqFGjBhwBlPS9TqFBe0ZEZH4kAA8AODs7G6yN/Px8pKen4+rVNLi4uMg+Pzs7G/7+QcjPz2ciQWQgReVP9ig5fyIiqogMnUOVNn8CmEOVhsUUY3x9fQEAGRkZ8PPzUx/PyMhAWFiYznM8PT1hbW2NjIwMjeMZGRnq6+liZ2cHOzs7reMKlJxMMNkgoorKGNMQXFxc9E4miCqi8pI/ERFVZIbOoZg/mUa52k2pOEFBQfD19UVKSor6WHZ2Nvbv34/IyEid59ja2iI8PFzjHKVSiZSUlCLPISIic/awFDeiiof5ExERlS5/Yg6lr3I1MiYnJwfnz59X/5yWloZjx46hSpUqqFGjBkaOHIkPPvgAISEhCAoKwqRJk1C1alX1jgEA8Nxzz6FHjx4YNmwYACAhIQHx8fFo2rQpmjdvjnnz5iE3Nxf9+/c39sMjIqJS0zcpYCJBlov5ExERFa80RRXmUPoqV8WYQ4cOoV27duqfVfOO4+PjsXLlSowdOxa5ubkYNGgQMjMz0bp1ayQnJ2vMXbtw4QJu376t/rlXr164desWEhMTkZ6ejrCwMCQnJ2stSkdEROUBizFET2P+RERExWMxxhQUkiRJpu5EeZednQ1XV1c4gQv4EhE9TQJwH48W6zTUfGTV+3BW1kW4uMhf5C47+y5cXWsatI9EpEn179YBXDOGiEgXQ+dQpc2fHl2DOZS+LGbNGCIiIiIiIiKi8qBcTVMiIiIqHqcpEREREcnDaUqmwGIMERFZEBZjiIiIiORhMcYUWIwpQzbgmjFERKbFYgwRERGRPCzGmALXjCEiIiIiIiIiMiKOjCEiIgtSCP3GIHLcIhEREVVU+uZPqnNJHyzGEBGRBSmEfsNlmUgQERFRRaVv/qQ6l/TBYgwREVkQrhlDREREJA/XjDEFFmOIiMiCsBhDREREJA+LMabABXyJiIiIiIiIiIyII2OIiMiCcGQMERERkTwcGWMKLMYQEZEF4QK+RERERPJwAV9TYDGGiIgsCEfGEBEREcnDkTGmwDVjiIiIiIiIiIiMiCNjytADAApTd4KIqELjyBgiItJmXcbX48QMsiwcGWMKLMYQEZEFYTGGiIiISB4WY0yBxRgiIrIgLMYQERERycNijCmwGENERBaEuykRERERycPdlEyBC/gSERERERERERkRR8YQEZEF4TQlIiIiInk4TckUWIwhIiILwmIMERERkTwsxpgCizFERGRBWIwhIiIikofFGFPgmjFEREREREREREbEkTFERGRBODKGiIiISB6OjDEFFmOIiMiCcGtrIiJjcpQR21QwrqVgXD0ZbV8SjBN9PP/KaPuiYNxxwbjrMtrOlBFLFRm3tjYFFmOIiMiCFEK/pICJBBEREVVU+uZPqnNJH1wzhoiIiIiIiIjIiDgyhoiILAjXjCEiIiKSh2vGmAKLMUREZEFYjCEiIiKSh8UYU+A0JSIisiCqBejk3vSb77xw4UIEBgbC3t4eEREROHDgQLHx69evR2hoKOzt7dGwYUNs27ZN4/4NGzagY8eO8PDwgEKhwLFjxzTuv3PnDoYPH446derAwcEBNWrUwNtvv42srCy9+k9ERESkf/6kXw7F/OkRiyrGBAYGQqFQaN2GDh2qM37lypVasfb29kbuNRERlR19Ewn53+qsW7cOCQkJmDx5Mo4cOYLGjRsjJiYGN2/e1Bm/b98+xMXFYcCAATh69ChiY2MRGxuLEydOqGNyc3PRunVrzJgxQ+c1rl+/juvXr2PWrFk4ceIEVq5cieTkZAwYMEB2/4mexByKiKgiK03+JC+HYv70mEKSJMmkPShDt27dQmHh48rciRMn0KFDB+zatQtt27bVil+5ciVGjBiBM2fOqI8pFAr4+PjIajc7Oxuurq5wAKDQt/NERBZKAnAfQFZWFlxcXAzShup9OCvrQ7i4yP+DMDv7AVxd35PVx4iICDRr1gwLFiwAACiVSvj7+2P48OEYN26cVnyvXr2Qm5uLrVu3qo+1aNECYWFhWLJkiUbspUuXEBQUhKNHjyIsLKzYfqxfvx59+vRBbm4uKlXi7GPSjylyKOZPloFbW5eMW1uTvgydQ5U2f3p0DXk5FPOnxyxqZIyXlxd8fX3Vt61btyI4OBhRUVFFnqNQKDTOkVuIISIic2Kcb3Xy8/Nx+PBhREdHq49ZWVkhOjoaqampOs9JTU3ViAeAmJiYIuNFqZIfFmKoNJhDERFVZMYZGcP8SZNFFWOelJ+fj1WrVuGNN96AQlH09y05OTkICAiAv78/XnjhBfz9998lXjsvLw/Z2dkaNyIiMgelSySefm/Py8vT2crt27dRWFio9cenj48P0tPTdZ6Tnp4uK17E7du3MW3aNAwaNEjvaxA9zVA5FPMnIiJzVfpijEgOxfxJk8V+jbZp0yZkZmaiX79+RcbUqVMHX3zxBRo1aoSsrCzMmjULLVu2xN9//43q1asXeV5SUhKmTp1qgF4TEVHplG43JX9/f42jkydPxpQpU0rdK0PIzs5Gly5dUK9ePbPtI5VPhsqhmD+ZBzfBuDjBuBgZbYtOU7Iu4zhAfKrQVcG4ABltDxGMK+vpTACwXzBua8khADjtyXKVfjel8pJDmVP+ZLHFmM8//xzPP/88qlatWmRMZGQkIiMj1T+3bNkSdevWxdKlSzFt2rQizxs/fjwSEhLUP2dnZ2u9+IiIqPy5evWqxnxnOzs7nXGenp6wtrZGRkaGxvGMjAz4+vrqPMfX11dWfHHu3r2LTp06wdnZGRs3boSNjY3saxAVxVA5FPMnIiLLJZJDMX/SZJHTlC5fvowdO3bgzTfflHWejY0NnnnmGZw/f77YODs7O7i4uGjciIjIHJRua+un39uLKsbY2toiPDwcKSkp6mNKpRIpKSkaf6A+KTIyUiMeALZv315kfFGys7PRsWNH2NraYvPmzdzBhsqUIXMo5k9EROaq9Ftbi+RQzJ80WeTImBUrVsDb2xtdunSRdV5hYSH++usvdO7c2UA9IyIiw3oIeQPXnzxPnoSEBMTHx6Np06Zo3rw55s2bh9zcXPTv3x8A0LdvX1SrVg1JSUkAgBEjRiAqKgqzZ89Gly5dsHbtWhw6dAjLli1TX/POnTu4cuUKrl9/tFeGaqca1QKpqkTi3r17WLVqlca6G15eXrC21uexEz3GHIqIqCLSN39SnSuO+dNjFleMUSqVWLFiBeLj47VWRn76F/v++++jRYsWqFWrFjIzMzFz5kxcvnxZ9rdBRERkLoxXjOnVqxdu3bqFxMREpKenIywsDMnJyepF5q5cuQIrq8cDUFu2bIk1a9Zg4sSJmDBhAkJCQrBp0yY0aNBAHbN582Z1MgIAr776KoDH866PHDmC/fsfrQBQq1Ytjf6kpaUhMDBQ9uMgUmEORURUURmvGMP86TGFJEmSSVo2kF9++QUxMTE4c+YMateurXFf27ZtERgYiJUrVwIARo0ahQ0bNiA9PR3u7u4IDw/HBx98gGeeeUZWm6r92R0AFL3nABFRxSQBuI/HWwgagup9OCvrLbi46J5aVPz5eXB1XWTQPhKZO2PnUMyfTMNNMI4L+BZPzloPEYJxXMCXnmboHKq0+dOjazCH0pfFFWNMgckEEVHRWIwhIl2YP5mGm2AcizHFYzGGjIHFGMtmcdOUiIioIlMtQKfPeUREREQVkb75k+pc0geLMUREZEEeQr+NAvVNQIiIiIjKO33zJ9W5pA8WY4iIyIKwGENEREQkD4sxpqDvM05ERERERERERHrgyBiyeDaCcQUG7QURGQdHxhCR5RBdoDZaxjX7CMZ1FYzLldG2u2hSJuiSjOStimCc6CdITfGm4VBZLK7hPbE4OQsXv+EkFnc6RyxuhGC7ewXjyFxwZIwpsBhDREQWpBD6LSTHxeeIiIiootI3f1KdS/pgMYaIiCwId1MiIiIikoe7KZkCizFERGRBHgJQ6HkeERERUUWkb/6kOpf0wQV8iYiIiIiIiIiMiCNjiIjIgnBkDBEREZE8HBljCizGEBGRBWExhoiIiEgeFmNMgcUYIiKyICzGEBEREcnDYowpcM0YIiIiIiIiIiIj4sgYIiKyIIXQ75sdbstIREREFZW++ZPqXNIHizFk8ZSm7gCRnqwNcE3L/7jUd6gsh9gSkfHYC8a9JBg3REbb/oJxtk5icftzxNsOKBCLqyE4dl/0sQDin3++gnEHZbQdeE8sTnTKQoCMtiXB34+P4PU+EIxbLhgHAOsE4wRfPqSX0uRBzKH0xWIMERFZEBZjiIiIiORhMcYUWIwhIiILwmIMERERkTwsxpgCF/AlIiIiIiIiIjIijowhIiILou+qOJa/mg4RERGRbqXJg5hD6YvFGCIisiAPAUh6nMdEgoiIiCoqffMngDmU/liMISIiC8JiDBEREZE8LMaYAteMISIiIiIiIiIyIo6MISIiC8KRMURERETycGSMKbAYQ0REFoTFGCIiIiJ5WIwxBRZjyOIZ4u3BWTDuJcG4qTLavi4Y5yMYt1VG2/sF47YJxt2R0XZFxI82fRRCv2RCWdYdIaIKyEYwbrxg3BjBBQUOyngL8xDsZH6OWFwd8aZRIBiXLfh4XFzF27YW/FAtFHzcIeJNC+duuYJxLUSTPEA42bIV/OVUEWx2vmAcADwQjNsoGMf8SR/65k8Acyj9sRhDREQWhMUYIiIiInlYjDEFLuBLRERERERERGREHBlDREQW5CH0+56B3+oQERFRRaVv/gQwh9IfizFERGRBWIwhIiIikofFGFNgMYaIiCwIizFERERE8rAYYwoWtWbMlClToFAoNG6hoaHFnrN+/XqEhobC3t4eDRs2xLZtovvAEBEREVkG5lBERETGZVHFGACoX78+bty4ob7t3bu3yNh9+/YhLi4OAwYMwNGjRxEbG4vY2FicOHHCiD0mIqKyU4hH3+7IvXEjTCLmUEREFZW++RNzqNKwuGlKlSpVgq+vr1DsJ598gk6dOuGdd94BAEybNg3bt2/HggULsGTJEkN2k4iIDOIhAIUe5+m7nSOR5WAORURUUembPwHMofRncSNjzp07h6pVq6JmzZro3bs3rly5UmRsamoqoqOjNY7FxMQgNTW12Dby8vKQnZ2tcSMiInOg77c6D03RWSKzYugcivkTEZG5Kk3+xBxKXxZVjImIiMDKlSuRnJyMxYsXIy0tDc8++yzu3r2rMz49PR0+Pj4ax3x8fJCenl5sO0lJSXB1dVXf/P39y+wxEBFRaTCRINKHMXIo5k9EROaKxRhTsKhpSs8//7z6/xs1aoSIiAgEBATg22+/xYABA8qsnfHjxyMhIUH9c3Z2NhMKM+YoGDdIxjU/mCQY+H49wUA34bY9/tsnFrhTLOyNKOGm8cYtwUDB5+ez78Xbfk8wLlf8kkRE9P+MkUNVhPypiWBcnGDcfcFNSqoIXg8A/isQi3MPEovztpXR+DmxsP8EH/dfWeJNiz5H1aqKxRVcF2+7oY1Y3DXB342UId626D43usuu2h4Ixgk+ZADAVMG4e4JxXEqcyguLKsY8zc3NDbVr18b58+d13u/r64uMDM13s4yMjBLnS9vZ2cHOzq7M+klERGVEUuo3dZnTnYk0GCKHYv5ERGSm9M2fAOZQpWBR05SelpOTgwsXLsDPz0/n/ZGRkUhJSdE4tn37dkRGRhqje0REVNaUpbjpYeHChQgMDIS9vT0iIiJw4MCBYuNL2gp4w4YN6NixIzw8PKBQKHDs2DGtazx48ABDhw6Fh4cHnJyc0LNnT60/iolKizkUEVEFUpr8SY8civnTIxZVjBkzZgz27NmDS5cuYd++fejRowesra0RF/doMGjfvn0xfvx4dfyIESOQnJyM2bNn4/Tp05gyZQoOHTqEYcOGmeohEBFRaRSW4ibTunXrkJCQgMmTJ+PIkSNo3LgxYmJicPPmTZ3xIlsB5+bmonXr1pgxY0aR7Y4aNQpbtmzB+vXrsWfPHly/fh0vvvii/AdA9ATmUEREFVhp8ieZORTzp8csqhjzzz//IC4uDnXq1MErr7wCDw8P/PHHH/Dy8gIAXLlyBTdu3FDHt2zZEmvWrMGyZcvQuHFjfPfdd9i0aRMaNGhgqodARETlxJw5czBw4ED0798f9erVw5IlS1C5cmV88cUXOuOf3Aq4bt26mDZtGpo0aYIFCxaoY15//XUkJiZq7VKjkpWVhc8//xxz5sxB+/btER4ejhUrVmDfvn34448/DPI4qWJgDkVERMbA/Okxi1ozZu3atcXev3v3bq1jL7/8Ml5++WUD9YiIiIxKz1EuqnOe3mq3qDUu8vPzcfjwYY2RAlZWVoiOji5ya9/U1FSNxUuBR1sBb9q0Sbibhw8fRkFBgUayERoaiho1aiA1NRUtWrQQvhbRk5hDERFVYPrmT6pzIZZDMX/SZFEjY4iIqIIr5Xxnf39/ja13k5KSdDZz+/ZtFBYWytraV5+tgHVdw9bWFm5ubqW6DhEREZFaGawZI5JDMX/SZFEjY4iIqIIr5ciYq1evwsXFRX2YO78QERGRxSuDkTHMoeRjMYaIiCyHvjsj/f85Li4uGolEUTw9PWFtbS1ra199tgLWdY38/HxkZmZqfLsj9zpEREREaqXYWVJODsX8SROnKREREclka2uL8PBwja19lUolUlJSitzatyy2Ag4PD4eNjY3Gdc6cOYMrV65wS2EiIiIya8yfNHFkDJVbgYJxf4uOkDsqo/G6jcTizv4pFle7hnjb7pPE4nr+IxaXs0K87boljxgAAHzXRShs4LVvhJse2Fwsrv51sbirgu3qO2KTTEQJ/X5penwblJCQgPj4eDRt2hTNmzfHvHnzkJubi/79+wN4tBVwtWrV1HOmR4wYgaioKMyePRtdunTB2rVrcejQISxbtkx9zTt37uDKlSu4fv3RC/nMmTMAHn2j4+vrC1dXVwwYMAAJCQmoUqUKXFxcMHz4cERGRnLxXiIDqSkjdoxgXDXR3ETwvelOgeD1AFgLxrlfFou7KeP901kw7o5gnI140xBdFSJXMI+oJqPtC4K/H9HHc1JG2w8E48IFv6L3FXwBZct4TQa6isX1zxKL2yfeNDJlxFo0ffMn1bkyMH96jMUYIiKyHKVcM0aOXr164datW0hMTER6ejrCwsKQnJysXmTuypUrsLJ6nN2qtgKeOHEiJkyYgJCQEK2tgDdv3qxORgDg1VdfBQBMnjwZU6ZMAQDMnTsXVlZW6NmzJ/Ly8hATE4NFixbp8aCJiIiIUCZrxohi/vSYQpIkyaQ9sADZ2dlwdXWFAwCFqTtTgQQKxlncyBjEC8YZYGSMk+DIGIiNjIGMkTHgyJhySwJwH0BWVpbQeiz6UL0PZ50FXES/en3y/LuAa23D9pGINJWX/EnOyJgZgnGdy3hkzEEZoxC8BOMCBUdKGGJkjOBHOWQ8bOQKxon2Uc7IGNFROaIjY+7KaLusR8aIDq2SMzLGRXBkzDbBkTEDxZs2+5Exhs6hSps/AcyhSoNrxhARERERERERGRGnKRERkeUw4jQlIiIiIotgxGlK9BiLMUREZDlYjNHy55+C0yWfUK9ePVSqxBSBiIioQmAxRosx8idmWkREZDmU0GtnJL3OKSfCwsKgUCggukSclZUVzp49i5o15ayUQUREROWWvvmT6lwLZIz8icUYIiKyHBwZo9P+/fvh5VXysp2SJGnsTkBEREQVAEfG6GTo/InFGCIiIgsWFRWFWrVqwc3NTSi+TZs2cHBwMGyniIiIiMyYMfInFmOIiMhySNBvuKzYCNRyadeuXbLit23bZqCeEBERkVnSN39SnWuBjJE/sRhDZsVeRuzfohuzzxeMC5TROE6LhV0WvFzt2zLaXicY11Ms7K6MpjOyxeKCq4vFVXtevO1rYk9mquKkUFxtwWblPD1kBjhNSUheXh7s7OxM3Q2icmG6jNjOgrlJfp5YXKZgu/6CcQAgmj7lCv5h5iij7XuCcdaCcXLazhSMq+0kFpeeI952VcG4nwXjgsWbFn+OBF9EhYK5rYucjxjBTjbOEovrI6PpBTJiLRqnKQkp6/xJ9P2YiIjI/BWW4mbBPvroI/j5+WHr1q0AgHbt2pm4R0RERGQ2SpM/WXAOZej8iSNjiIiILNyXX36JQ4cOYejQoXB1dTV1d4iIiIjMnqHzJxZjiIjIcnBra52qVauGatWqYfXq1ejRowf+/fdfU3eJiIiIzAW3ttbJ0PkTpykREZHl4BBbndzc3PDw4UM4Ojpi/vz5yMjIMHWXiIiIyFxwmpJOhs6fODKGiIgsBxfw1em7775T/3+dOnWQmZlpus4QERGReeECvjoZOn9iMYaIiCwHpykJuXnzJm7evAmlUvOBN2rUyEQ9IiIiIpPhNCUhZZ0/sRhDRERUQRw+fBjx8fE4deoUJEkCACgUCkiSBIVCgcJCC/56i4iIiEgPhsqfWIwhIiLLoYR+w2UryLc6b7zxBmrXro3PP/8cPj4+UCgUpu4SERERmZq++ZPqXAtnqPyJxRgiIrIcnKZUrIsXL+L7779HrVq1TN0VIiIiMhecplQsQ+VPLMaQWVktJzhFMK6BYJy9nMa3iYX5RIvFpdwTb/rBWbG4LgvF4vy8xdu+cFMs7sBMsbjmceJtP/xJKMxFchGKm6HIFop7SyiKzAYX8C3Wc889h+PHj7MYQwTAWTDOWsY1jwn+UeIveD0Z2YEwG8G4yoJxd2S07eEjFpcuuGHJLRltNxaMS88Ri8uX0baDk1hcPcG2a4v+cgDcF3wR7b4sFldVsN3aHoKBgPD+vqIPu6mMpkXT/wcyrlkucQHfYhkqf2IxhoiIqIJYvnw54uPjceLECTRo0AA2Npp/lnXv3t1EPSMiIiIyT4bKn1iMISIiy8GRMcVKTU3F77//jp9+0h5pxgV8iYiIKiiOjCmWofInwUFhRERE5YCyFLcKYPjw4ejTpw9u3LgBpVKpcWMhhoiIqIIqTf5UAXIoQ+VPHBlDRESWgyNjivXvv/9i1KhR8PERXLiBiIiILB9HxhTLUPkTR8YQERFVEC+++CJ27dpl6m4QERERlRuGyp8samRMUlISNmzYgNOnT8PBwQEtW7bEjBkzUKdOnSLPWblyJfr3769xzM7ODg8eWPya2URElocjY4pVu3ZtjB8/Hnv37kXDhg21FqB7++23TdQzMjXmUEREFRhHxhTLUPmTRRVj9uzZg6FDh6JZs2Z4+PAhJkyYgI4dO+LkyZNwdHQs8jwXFxecOXNG/bNCoTBGd4mIqKxJ0G/uslTWHTFPy5cvh5OTE/bs2YM9e/Zo3KdQKFiMqcCYQxERVWD65k+qcy2cofIniyrGJCcna/y8cuVKeHt74/Dhw2jTpk2R5ykUCvj6+hq6e0REZGgcGVOstLQ0U3eBzBRzKCKiCowjY4plqPzJoteMycrKAgBUqVKl2LicnBwEBATA398fL7zwAv7++29jdI+IiMoadwIgKhPMoYiIKhDupmQSFjUy5klKpRIjR45Eq1at0KBBgyLj6tSpgy+++AKNGjVCVlYWZs2ahZYtW+Lvv/9G9erVdZ6Tl5eHvLw89c/Z2dll3n8iIqKyJkkSvvvuO+zatQs3b96EUqmZQW3YsMFEPSNzYqgcivkTERGVR4bKnyy2GDN06FCcOHECe/fuLTYuMjISkZGR6p9btmyJunXrYunSpZg2bZrOc5KSkjB16tQy7a+l8xeM6/SpjIu2rSkWl39RLE4hZ6CY4LzARoLXTJZRUrYXDRQdNp4u3rbomowhohf8XbztSj0EA3sKRcV/20cobuIrgs0CuCMeSobCaUrFGjlyJJYuXYp27drBx8eH63uQTobKocwtf4oQjIuWcc1MwTjRT17R690TjAMAm5JDAADnBOPkTFKzyRCME7xe0aVCbddlxJY1KUcsrkD0gjLWyHYQfDKrCjbuJtpwrmggcCxLLM5a8Hqh4k1D8K8JnJRxzXKJ05SKZaj8ySKLMcOGDcPWrVvx66+/Fjm6pSg2NjZ45plncP78+SJjxo8fj4SEBPXP2dnZ8PcXLTcQEZHBsBhTrK+//hobNmxA586dTd0VMlOGzKGYPxERmSkWY4plqPzJoooxkiRh+PDh2LhxI3bv3o2goCDZ1ygsLMRff/1V7BNtZ2cHOzu70nSViIgMQd+5yxVkvrOrqytq1hT9HpAqEmPkUMyfiIjMVGnWfqkAOZSh8ieLWsB36NChWLVqFdasWQNnZ2ekp6cjPT0d9+/fV8f07dsX48ePV//8/vvv45dffsHFixdx5MgR9OnTB5cvX8abb75piodARERkMFOmTMHUqVM1PheJAOZQRERERTFU/mRRI2MWL14MAGjbtq3G8RUrVqBfv34AgCtXrsDK6nEN6r///sPAgQORnp4Od3d3hIeHY9++fahXr56xuk1ERGWF05SK9corr+Cbb76Bt7c3AgMDYWOjuZjAkSNHTNQzMjXmUEREFRinKRXLUPmTRRVjJEkqMWb37t0aP8+dOxdz5841UI+IiMiolNAvKagAQ2wBID4+HocPH0afPn24gC9pYA5FRFSB6Zs/qc61cIbKnyyqGENERBUc14wp1o8//oiff/4ZrVu3NnVXiIiIyFxwzZhiGSp/YjGGiIgsB6cpFcvf3x8uLi6m7gYRERGZE05TKpah8ieLWsCXiIiIijZ79myMHTsWly5dMnVXiIiIiMoFQ+VPLMYQEZHlUJbipoeFCxciMDAQ9vb2iIiIwIEDB4qNX79+PUJDQ2Fvb4+GDRti27ZtGvdLkoTExET4+fnBwcEB0dHROHfunEbM2bNn8cILL8DT0xMuLi5o3bo1du3aJdTfPn36YNeuXQgODoazszOqVKmicSMiIqIKqDT5kx45FPOnRzhNiYziJdHAeBkXXXNRLE50U4e/ZLyTuJ0Ui+v2slhcxHrxti8Lxp09KxYnZ2hhiGCcbRuxOOlX8bYVog98glhYVbGwFoKtAsC2kkPI0Iw4TWndunVISEjAkiVLEBERgXnz5iEmJgZnzpyBt7e3Vvy+ffsQFxeHpKQkdO3aFWvWrEFsbCyOHDmCBg0aAAA+/vhjfPrpp/jyyy8RFBSESZMmISYmBidPnoS9vT0AoGvXrggJCcHOnTvh4OCAefPmoWvXrrhw4QJ8fX2L7fPcuXO5aC/R/wsTjJPz9mAvGCf4EYQCwbg8wTgA8BKMuyMY5yOjbZe6YnEFp8TiMmS0fVcw7oFgnLOMthWCT9JdwQckJ2UtFIy1KTkEgPjzmJklGAjx51K0j8V/EmoSTW0FM//yy4jTlJg/PaaQRJbPp2JlZ2fD1dUVDgCY4uo2SjDuAxlv3NgqGCdcjJHRtptgnGgx5j8DFGMqC8bJeQMNFowzSDFG9K1KsBjze5JQ2Msy1uliMUY3CcB9AFlZWQZbr0T1Ppw1C3Bx0OP8+4DrGHl9jIiIQLNmzbBgwQIAgFKphL+/P4YPH45x48Zpxffq1Qu5ubnYuvXxm1eLFi0QFhaGJUuWQJIkVK1aFaNHj8aYMWMAPOqPj48PVq5ciVdffRW3b9+Gl5cXfv31Vzz77LMAgLt378LFxQXbt29HdHS0zr7u3LkTUVFRsLa2lvW8EBmSqfOnMYJx2v+aiyZaPBH96BX9yBctnADixRPRazaQ0ba7YDHmX8FijGhhAAAyBeMMUYypL/ik/yFYjHGU0bboa0200CFacJSTXop+MhmiGNNPMO4HGdcsS4bOoUqbPwHycyjmT49xmhIREdH/y87O1rjl5en+vjk/Px+HDx/W+PC2srJCdHQ0UlNTdZ6Tmpqq9WEfExOjjk9LS0N6erpGjKurKyIiItQxHh4eqFOnDr766ivk5ubi4cOHWLp0Kby9vREeHl7k43rzzTfh5eWF1157DevWrUN2drbYE0JEREQkQCSHYv6kicUYIiKyHKWc7+zv7w9XV1f1LSlJ9wiq27dvo7CwED4+ml93+vj4ID09Xec56enpxcar/ltcjEKhwI4dO3D06FE4OzvD3t4ec+bMQXJyMtzd3Yt8Wi5evIjdu3ejXr16mD17Nnx8fNChQwfMnz8fV65cKfI8IiIiqgDKYM0YkRyK+ZMmrhlDRESWQwn95jz/fyJx9epVjSG2dnZ2ZdKtsiJJEoYOHQpvb2/89ttvcHBwwPLly9GtWzccPHgQfn5+RZ7bqFEjNGrUCBMnTsT169exefNmbN68GWPHjkWdOnXQvXt3dO/eHU2bNjXiIyIiIiKT0zd/Up0L886hzDV/4sgYIiKyHKX8VsfFxUXjVlQi4enpCWtra2RkaE7wz8jIKHIROF9f32LjVf8tLmbnzp3YunUr1q5di1atWqFJkyZYtGgRHBwc8OWXX5b07KhVrVoV//vf/7Bt2zbcvn0bkyZNwqVLl9CpUydMnz5d+DpERERkAcpgZIxIDsX8SROLMUREZDkKS3GTwdbWFuHh4UhJSVEfUyqVSElJQWRkpM5zIiMjNeIBYPv27er4oKAg+Pr6asRkZ2dj//796ph79+4BeDS/+klWVlZQKoveMiMtLa3I+xwdHdGzZ0989dVXyMjIwMCBA4uMJSIiIgtUmvxJRg7F/EmT0DSlTz/9VPaF+/fvD2dnOeuMExERlR8JCQmIj49H06ZN0bx5c8ybNw+5ubno378/AKBv376oVq2aes70iBEjEBUVhdmzZ6NLly5Yu3YtDh06hGXLlgF4NJ955MiR+OCDDxASEqLemrFq1aqIjY0F8CghcXd3R3x8PBITE+Hg4IDPPvsMaWlp6NKlS5F9DQ4ORkBAANq1a6e+Va9eXSvO2toaXl6iG99SSZg/ERERaWL+9JhQMWbkyJGoXr268JZOV69eRdeuXZlMEBGRcekxykV9nky9evXCrVu3kJiYiPT0dISFhSE5OVm9gNyVK1c0voFp2bIl1qxZg4kTJ2LChAkICQnBpk2b0KDB441hx44di9zcXAwaNAiZmZlo3bo1kpOTYW//aDNRT09PJCcn47333kP79u1RUFCA+vXr44cffkDjxo2L7OvOnTuxe/du7N69G9988w3y8/NRs2ZNtG/fXp1cPL3wHZUe8yciIioX9M2fVOfKwPzpMYUkSVJJQVZWVkhPT4e3t7fQRZ2dnXH8+HHUrFlT746VJ6r92R0AKEzdGTM1SjDugywZF91acggAoJ5g3F8y2nYTjOv2sljcf+vF274sGFdZME7OG2iwYJxtG7E46VfxthUlvlX9vwliYb/r3iXnaS+3FmwWwDbx0ApFAnAfQFZWlsbCbmVJ9T6clQi42Otx/gPA9X3D9tFcPHjwAPv27VMnFwcOHEBBQQFCQ0Px999/m7p7FoX5U/FMnT+NEYwbJ+OaBYJxoh+9oh/5dwTjAED0zwbRazYoOUTNva5Y3L+nxOLuymg7UzDugWCcnJJpfcEn/Y+MkmMAwFFG26KvNRvBONGPWDnppVi5WryPulce0a2fYNwPMq5ZlgydQ5U2fwIqTg5liPxJaGTM5MmT4eTkJHzRCRMmoEqVKnp1iCxTomjgaRkXfU3wD34cEgv74554201EAz3FwuRkUUcE40Szibeai7d97IBYXGPBIoviefG2RStBf14UixPMZIaIhQFgMcYsGHFkTHllb2+P9u3bo3Xr1mjXrh1++uknLF26FKdPy3kDJhHMn8yb6B92ogUWOdd0EfzjvEDwj/NcwXYBIFQwzlr0wcgYmX9NsMgiKlDG6pfpRS8LoeGCaNviTeOC4O8xRPB6ot+3AcAJwTjRv8MNUYwRvaboS9K2lnjbUefF4kxVjDEaI46MKa8MkT8JF2PkGD9+vF6dISIiIsPIz8/HH3/8gV27dmH37t3Yv38//P390aZNGyxYsABRUVGm7qLFYf5ERERUvhkyfxIqxhAREZULHBmjU/v27bF//34EBQUhKioKgwcPxpo1a+Dn52fqrhEREZGpcWSMTobOn2QXY/79918kJiZi165duHnzptZWUHfuyJlvQUREVIYkAIJD0bXOs2C//fYb/Pz80L59e7Rt2xZRUVHw8PAwdbcqFOZPRERktvTNn1TnWihD50+yizGvv/46zp8/jwEDBsDHxwcKBZesJSIiM8GRMTplZmbit99+w+7duzFjxgzExcWhdu3aiIqKUicX3NLasJg/ERGR2eLIGJ0MnT/JLsb89ttv2Lt3b7FbQBEREZmEEvp9s6Pvt0HlhKOjIzp16oROnToBAO7evYu9e/di165d+Pjjj9G7d2+EhITgxAnRpR5JLuZPRERktvTNn1TnWihD508y1iB/JDQ0FPfv39erMSIiIjI9R0dHVKlSBVWqVIG7uzsqVaqEU6fKeJsT0sD8iYiIqHwr6/xJ9siYRYsWYdy4cUhMTESDBg1gY6O5yZgl7y1ORERmjtOUdFIqlTh06BB2796NXbt24ffff0dubi6qVauGdu3aYeHChWjXrp2pu2nRmD8REZHZ4jQlnQydP8kuxri5uSE7Oxvt27fXOC5JEhQKBQoLLfi3QURE5o3FGJ3c3NyQm5sLX19ftGvXDnPnzkXbtm0RHBxs6q5VGMyfiIjIbLEYo5Oh8yfZxZjevXvDxsYGa9as4QJ0RERkXrhmjE4zZ85Eu3btULt2bVN3pcJi/kRERGaLa8boZOj8SXYx5sSJEzh69Cjq1KljiP4QERFRGRs8eLCpu1DhMX8iIiIqXwydP8kuxjRt2hRXr15lMkGynBOMq99EzlXPC8Y9FAv7XyPxpv/+UzBwtVhYsIy1AoInCAZOF4w7Jt52TcE4RXOxuBs/ibd9UTCuoWCcS5xQWFN8I3hBMgucpqTlxRdfxMqVK4XXJOnduzfmzp0Lb29vA/esYmH+ZH6qCMbJeXsoEIxzyBSLuyV4vVaugoEyXMsSi6uWK37Nak5icek5ghcMEG/b955YnGuGWJyteNPCKgvGOQSJX7NBmljcfsHrif667QXj5PCuJRh4XfyaMl6+lo3TlLQYI3+SXYwZPnw4RowYgXfeeQcNGzbUWoCuUSMZf9ASERGVJSX0SwoseIjtDz/8gFu3xP6kkyQJW7ZswbRp01iMKWPMn4iIyGzpmz+pzrVAxsifZBdjevXqBQB444031McUCgUXoCMiItPjmjFaJEniWjFmgPkTERGZLa4Zo8UY+ZPsYkxamuBYNyIiImPjNCUtu3btkn1OtWrVDNCTio35ExERmS1OU9JijPxJdjEmIEDG5EwiIiIyqaioKFN3gcD8iYiIqDwxRv4kuxgDANevX8fevXtx8+ZNKJWa45LefvvtMukYERGRbJymRGaM+RMREZklTlMyCdnFmJUrV2Lw4MGwtbWFh4cHFAqF+j6FQmEWycTChQsxc+ZMpKeno3Hjxpg/fz6aNy96d5f169dj0qRJuHTpEkJCQjBjxgx07tzZiD0mIqIywWlKZKaYPxERkdniNCWTsJJ7wqRJk5CYmIisrCxcunQJaWlp6tvFi6J7zxrOunXrkJCQgMmTJ+PIkSNo3LgxYmJicPPmTZ3x+/btQ1xcHAYMGICjR48iNjYWsbGxOHHihJF7TkREpVZYihuRATF/IiIis1Wa/Ik5lN5kF2Pu3buHV199FVZWsk81ijlz5mDgwIHo378/6tWrhyVLlqBy5cr44osvdMZ/8skn6NSpE9555x3UrVsX06ZNQ5MmTbBgwQIj95yIiIgsFfMnIiIiepLsjGDAgAFYv369IfpSavn5+Th8+DCio6PVx6ysrBAdHY3U1FSd56SmpmrEA0BMTEyR8QCQl5eH7OxsjRsREZkBZSluFcTDhw+xY8cOLF26FHfv3gXwaC2TnJwcE/fMsjF/Yv5ERGS2SpM/VZAcyhD5k+w1Y5KSktC1a1ckJyejYcOGsLGx0bh/zpw5enemtG7fvo3CwkL4+PhoHPfx8cHp06d1npOenq4zPj09vch2kpKSMHXq1NJ3uAKp/4xgYKWXxS/6p2BS26il4AXfEG/73zcFA0X/cQ4WbxuXBeMaCMbJ2OHDJVMw8IJYmN9w8bZt5ovFuYjWmO3FLmdTcoxagYxYMgwl9BsuW0ESicuXL6NTp064cuUK8vLy0KFDBzg7O2PGjBnIy8vDkiVLTN1Fi8X8yXj5k7VgnL9gnLuMz4F0wc+BS3licb6iDcv4/Mm9JxYnOnnOLUu8bdGn0k70grfE2xb82McdwcvJSQ8CBeOEvyV3FG/7rmBcQ8G4XME40ecRAGxFAzPFwiTB1zggr58WTd/8SXWuhTNU/qRXMebnn39GnTp1AEBrAbqKYPz48UhISFD/nJ2dDX9/0Y90IiIymELoMeYTFWa+84gRI9C0aVMcP34cHh4e6uM9evTAwIEDTdgzy8f8ifkTEZHZ0jd/Up1r4QyVP8kuxsyePRtffPEF+vXrp3ejhuLp6Qlra2tkZGRoHM/IyICvr+7vFnx9fWXFA4CdnR3s7IRr9kREZCzc2rpYv/32G/bt2wdbW83vIQMDA3Ht2jUT9apiYP7E/ImIyGxxa+tiGSp/kl3/srOzQ6tWrfRu0JBsbW0RHh6OlJQU9TGlUomUlBRERkbqPCcyMlIjHgC2b99eZDwREVF5pVQqUVio/RXWP//8A2dnZxP0qOJg/kRERFQ+GSp/kl2MGTFiBObPF1y7wQQSEhLw2Wef4csvv8SpU6cwZMgQ5Obmon///gCAvn37Yvz48er4ESNGIDk5GbNnz8bp06cxZcoUHDp0CMOGDTPVQyAiIn1xW8ZidezYEfPmzVP/rFAokJOTg8mTJ6Nz586m61gFwPyJiIjMFre2Lpah8ifZ05QOHDiAnTt3YuvWrahfv77WAnQbNmzQuzNloVevXrh16xYSExORnp6OsLAwJCcnqxeZu3Llisa2ki1btsSaNWswceJETJgwASEhIdi0aRMaNBBd/JSIiMwGpykVa/bs2YiJiUG9evXw4MEDvPbaazh37hw8PT3xzTffmLp7Fo35ExERmS1OUyqWofIn2cUYNzc3vPjii3o3aAzDhg0r8puZ3bt3ax17+eWX8fLLMnbxISIi88QFfItVvXp1HD9+HOvWrcPx48eRk5ODAQMGoHfv3nBwcDB19ywa8yciIjJbXMC3WIbKn2QXY1asWKF3Y0RERGRalSpVQu/evdG7d29Td6VCYf5ERERUfhkif9K3/kVERGR+ON+5WElJSfjiiy+0jn/xxReYMWOGCXpEREREJsc1Y4plqPxJqBjTpEkT/Pfff8IXbd26NbfIJCIi45PweN6znJtkis4a39KlSxEaGqp1vH79+liyZIkJemTZmD8REVG5oG/+VEFyKEPlT0LTlI4dO4bjx4+jSpUqQhc9duwY8vLy9O4UWZ4LR8XiguXMnGskOrArUzDusnjbvqKBowXj9ou3/d+vYnHu9cTi0vaJty36uB3eEQxcLd62Z3PBwEzBuAdCUbkFgpcj81AIQKHneRVAeno6/Pz8tI57eXnhxo0bJuiRZWP+ZBqi/5wzBeNuyvgc8A0Si8tOE4tz8RRs+J5gHABHsZcjfO6IxdmUHKKWKxgn+pRfyZHRuGBsDcHnJ1vw+QHEX2uir123E+JtuwnG2Qq+du0FX7uOgu0CgIdgSi/dlnFRQQ3L/pLlk775k+pcC2eo/En4L9/nnnsOkiRW9lIo9P1NEhERlQKLMcXy9/fH77//jqAgzaz7999/R9WqVU3UK8vG/ImIiMweizHFMlT+JFSMSUsTLIE+oXr16rLPISIiIsMZOHAgRo4ciYKCArRv3x4AkJKSgrFjx2L0aNGRfCSK+RMREVH5Z6j8SagYExAQoHcDRERERqOav6zPeRXAO++8g3///RdvvfUW8vPzAQD29vZ49913MX78eBP3zvIwfyIionJB3/xJda6FM1T+JHtrayIiIrPFaUrFUigUmDFjBiZNmoRTp07BwcEBISEhsLOzM3XXiIiIyFQ4TalYhsqfWIwhIiLLwZExQpycnNCsWTNTd4OIiIjMAUfGCCnr/El0OxoiIiJ6ysKFCxEYGAh7e3tERETgwIEDxcavX78eoaGhsLe3R8OGDbFt2zaN+yVJQmJiIvz8/ODg4IDo6GicO3dO6zo//vgjIiIi4ODgAHd3d8TGxgr1Nzc3F5MmTULLli1Rq1Yt1KxZU+NGREREZGjMnx7hyBgiIrIcRpymtG7dOiQkJGDJkiWIiIjAvHnzEBMTgzNnzsDb21srft++fYiLi0NSUhK6du2KNWvWIDY2FkeOHEGDBg0AAB9//DE+/fRTfPnllwgKCsKkSZMQExODkydPwt7eHgDw/fffY+DAgZg+fTrat2+Phw8f4sQJsX1O33zzTezZswevv/46/Pz8uHsPERERGXWaEvOnxxSS6H6L/y8+Ph4DBgxAmzZtyqQDliA7Oxuurq5wgP6vYUv3p2BcsBQn46rrBONCBeN6ijd9dppYXO13BC+4X7zt/34Vi3OvJxaXdlK8bV/BOAfRx71avG2I7jCSKRgXLhSVq/hG8HqA9scHAYAE4D6ArKwsuLi4GKQN1ftw1jOAi7Ue5xcCrkfl9TEiIgLNmjXDggULAABKpRL+/v4YPnw4xo0bpxXfq1cv5ObmYuvWrepjLVq0QFhYGJYsWQJJklC1alWMHj0aY8aMAfCoPz4+Pli5ciVeffVVPHz4EIGBgZg6dSoGDBgg+3G6ubnhxx9/RKtWrWSfS6XD/EmbqfOnJYJxMTKu6R1UcgwAZAtutOXiKdjwPcE4ALAXCzt7RywuUEbTuYJxBYJxD2S0LapGFbG4bMHnBxB/PKJ/07qJNy3MVvC1myv42pXzu/EQnKshGWA6zLeCcW+UfdNCDJ1DlTZ/AuTnUMyfHpM9TSkrKwvR0dEICQnB9OnTce3atTLtEBERkd6UpbjhUVLy5C0vL09nM/n5+Th8+DCio6PVx6ysrBAdHY3U1FSd56SmpmrEA0BMTIw6Pi0tDenp6Roxrq6uiIiIUMccOXIE165dg5WVFZ555hn4+fnh+eefF/5mx93dHVWqCP6lQWWK+RMREZmt0uRPMnIo5k+aZBdjNm3ahGvXrmHIkCFYt24dAgMD8fzzz+O7775DQYFo3ZeIiMgACktxA+Dv7w9XV1f1LSkpSWczt2/fRmFhIXx8fDSO+/j4ID09Xec56enpxcar/ltczMWLFwEAU6ZMwcSJE7F161a4u7ujbdu2uHOn5K9pp02bhsTERNy7J+drdCoLzJ+IiMhslSZ/kpFDMX/SpNeaMV5eXkhISEBCQgKOHDmCFStW4PXXX4eTkxP69OmDt956CyEhIWXaUSrfRCetbNgtPiUEbV8WDBSdpvSzeNvC/w5/FAuTM1UoSHD6EW4LXm+IeNs4LBZ2f6ZYnEMH8aZztovF3RK8XpDuN/ynrRC8HFmGq1evagyxNbctn5XKR18/vffee+jZ89HUyhUrVqB69epYv349Bg8eXOz5s2fPxoULF+Dj44PAwEDY2Nho3H/kyBHDdJwAMH8yN6IThDvLuehdsTDR2QC/C36UNxG8HgDhHEa0RKi9RGbR6lcWi8sX7KOt4PUA4G/Ba14SnH4k5xtt0Sk7orPBBV9mAACP1mJx9/eWbdtyxhCITj9SuIrF5WeJt31QPJRKYM45lLnmT6VawPfGjRvYvn07tm/fDmtra3Tu3Bl//fUX6tWrh48//hijRo0qzeWJiIjk0WMh3ifPc3FxEZrv7OnpCWtra2RkZGgcz8jIgK+v7nTa19e32HjVfzMyMuDn56cRExYWBgDq4/XqPS7K2tnZoWbNmrhy5UqJ/RbdNYAMi/kTERGZFX3zpyfOFcmhmD9pkl2MKSgowObNm7FixQr88ssvaNSoEUaOHInXXntN/eRv3LgRb7zxBpMJIiIyLiX0WwlU5qKAtra2CA8PR0pKivoDWqlUIiUlBcOGDdN5TmRkJFJSUjBy5Ej1se3btyMyMhIAEBQUBF9fX6SkpKiTh+zsbOzfvx9DhjwawRYeHg47OzucOXMGrVs/+rqzoKAAly5dQkBAQIn9njx5srwHSmWG+RMREZktffMn1bmCmD9pkl2M8fPzg1KpRFxcHA4cOKB+wE9q164d3NzcyqB7REREMpRyZIwcCQkJiI+PR9OmTdG8eXPMmzcPubm56N+/PwCgb9++qFatmnrO9IgRIxAVFYXZs2ejS5cuWLt2LQ4dOoRly5YBABQKBUaOHIkPPvgAISEh6q0Zq1atqk5YXFxc8L///Q+TJ0+Gv78/AgICMHPmo2mBL78sOnWTTIH5ExERma0yGBkjivnTY7KLMXPnzsXLL7+s3q9bFzc3N6SlCe57RkREVA716tULt27dQmJiItLT0xEWFobk5GT1AnJXrlyBldXjVQVatmyJNWvWYOLEiZgwYQJCQkKwadMmNGjQQB0zduxY5ObmYtCgQcjMzETr1q2RnJys8Zk7c+ZMVKpUCa+//jru37+PiIgI7Ny5E+7u7iX2ubCwEHPnzsW3336LK1euID8/X+N+kUXsSD/Mn4iIiJg/PUkhSZKk15mkptqf3QH6j+6ydDGCcRt2ybioKRfwPXZALC5McLFdUy7gi57ibQsv4Cv4/Jh0Ad+S1wUBgAWKbMELAu8KR1YsEoD7eLS1r8h6LPpQvQ9n1QRcRFfGfPL8QsD1omH7aA4SExOxfPlyjB49GhMnTsR7772HS5cuYdOmTUhMTMTbb79t6i5SBWLq/Km/YNxUGdf08BSLyxX8iD4m2K6sBXwFXTTANcvDAr6Ogtcz5QK+cvZfK+sFfEXXxpWzgK9NySEADLOA7wTBuMXilyxThs6hSps/ARUjhzJU/iR7a2siIiKzpYR+WzLKXDOmvFq9ejU+++wzjB49GpUqVUJcXByWL1+OxMRE/PHHH6buHhEREZmCvvlTBcmhDJU/sRhDRESWQ99EojRzpcuR9PR0NGzYEADg5OSErKxHXx927doVP/74oym7RkRERKZSmvypAuRQhsqfWIwhIiLLoSzFrQKoXr06bty4AQAIDg7GL7/8AgA4ePAg7OzsTNk1IiIiMpXS5E8VIIcyVP7EYgwREVEF0aNHD6SkpAAAhg8fjkmTJiEkJAR9+/bFG2+8YeLeEREREZkfQ+VPsndTItLHPtHAH2RctK3ogrsDBOMyxdsOE1zebYvgisQyFqBDULpgYIRg3EMZjYeLhTkIXu6s4KK8AOAvGBdUQyxu7RWhsFmCzZKZKMSj1e7kqgDf6gDARx99pP7/Xr16oUaNGkhNTUVISAi6detmwp4RGZ/geqXiOQyAzoIL84p+G9pMMM5WxhezN/PE4kQXiRVdfBUA4CwWli642G4NGSvZ1hfs6F+C12xQcojaCcG4u4JxchbHvSn4Qhf81UD0pXZJMA4AqgnGOQouMGsr40V5Xc5qyJZM3/wJqBA5lKHyJxZjiIjIcrAYI0tkZCQiIyNN3Q0iIiIyJRZjZCmr/InFGCIishz6JgQWnEhs3rwZzz//PGxsbLB58+ZiY7t3726kXhEREZHZKE0eZKE5lDHyJxZjiIiILFhsbCzS09Ph7e2N2NjYIuMUCgUKCyvAlghEREREJTBG/sRiDBERWQ4l9Btmq+/Q3HJAqVTq/H8iIiIiAPrnTyjFeWbOGPkTizFERGQ5lAAUepxnoYkEERERUYn0zZ8A5lClYDHFmEuXLmHatGnYuXMn0tPTUbVqVfTp0wfvvfcebG1tizyvbdu22LNnj8axwYMHY8mSJYbuMhERlbVCsBjzlE8//VQ49u233zZgT8gcMX8iIiK98yfAYnMoY+RPFlOMOX36NJRKJZYuXYpatWrhxIkTGDhwIHJzczFrVvGb0w4cOBDvv/+++ufKleXsM0xERGS+5s6dq/HzrVu3cO/ePbi5uQEAMjMzUblyZXh7e7MYUwExfyIiItJmjPzJYooxnTp1QqdOndQ/16xZE2fOnMHixYtLTCYqV64MX19fQ3eRiIgMjSNjtKSlpan/f82aNVi0aBE+//xz1KlTBwBw5swZDBw4EIMHDzZVF8mEmD8RERFHxmgzRv5kVepemrGsrCxUqVKlxLjVq1fD09MTDRo0wPjx43Hv3r1i4/Py8pCdna1xIyIiM6Asxa0CmDRpEubPn69OJACgTp06mDt3LiZOnGjCnpE5Yf5ERFTBlCZ/qgA5lKHyJ4sZGfO08+fPY/78+SV+q/Paa68hICAAVatWxZ9//ol3330XZ86cwYYNG4o8JykpCVOnTi3rLlu0u4Jx0+eJX3NClGASF9Wp5BgAuCXeNqoKxh0UjHtWRttpd8Ti3H4Si3sgo217wTj3GmJxtfvLaPx7sbBTV4TCtsSJXU7Oy4LMAEfGFOvGjRt4+PCh1vHCwkJkZGSYoEdkbipS/nRJMO66jGueE4yrKRhnK5hvZMvopHdjsTiP42JxR8SbRr7g24xoarKzQLztWoJxmYJxCifxthvklG3bDjK+Tn8g+Iey6EtI9LUrmvsDgKPoDEfBF8Z2Ga+LPSWHVAwcGVMsQ+VPZj8yZty4cVAoFMXeTp8+rXHOtWvX0KlTJ7z88ssYOHBgsdcfNGgQYmJi0LBhQ/Tu3RtfffUVNm7ciAsXLhR5zvjx45GVlaW+Xb16tUweKxERlVJhKW4VwHPPPYfBgwfjyJHHfz4dPnwYQ4YMQXR0tAl7RmWN+RMREQkrTf5UAXIoQ+VPZj8yZvTo0ejXr1+xMTVrPq7RXr9+He3atUPLli2xbNky2e1FREQAePTNUHBwsM4YOzs72NnZyb42ERGRKX3xxReIj49H06ZNYWNjAwB4+PAhYmJisHz5chP3jsoS8yciIqKyYaj8yeyLMV5eXvDy8hKKvXbtGtq1a4fw8HCsWLECVlbyB/4cO3YMAODn5yf7XCIiMjEJFWK4rL68vLywbds2nD17Vj0qIjQ0FLVr1zZxz6isMX8iIiJhzJ+KZaj8yeyLMaKuXbuGtm3bIiAgALNmzcKtW49XelCt9H/t2jU899xz+Oqrr9C8eXNcuHABa9asQefOneHh4YE///wTo0aNQps2bdCoUSNTPRQiItKTvqNlK8AIWw21a9dmAYYAMH8iIqLSzTaqSDlUWedPFlOM2b59O86fP4/z58+jevXqGvdJ0qMyX0FBAc6cOaNe7d/W1hY7duzAvHnzkJubC39/f/Ts2ZM7ShARlVMsxpTsn3/+webNm3HlyhXk5+dr3DdnzhwT9YpMhfkTERGxGFMyQ+RPFlOM6devX4lzowMDA9WJBQD4+/tjzx6uoU1ERBVDSkoKunfvjpo1a+L06dNo0KABLl26BEmS0KRJE1N3j0yA+RMREVHxDJU/mf1uSkRERKKUpbhVBOPHj8eYMWPw119/wd7eHt9//z2uXr2KqKgovPzyy6buHhEREZlAafKnipBDGSp/YjGGiIgsBndlLN6pU6fQt29fAEClSpVw//59ODk54f3338eMGTNM3DsiIiIyBe5sXTxD5U8sxhARkcXgtzrFc3R0VM9z9vPzw4ULF9T33b5921TdIiIiIhPiyJjiGSp/spg1Y4iIiLiAb/FatGiBvXv3om7duujcuTNGjx6Nv/76Cxs2bECLFi1M3T0iIiIyAS7gWzxD5U8sxpBZmS0jdsLrgoGnBeNulRyiVrudWNyLu8Ti5IxROyIY17OyYOAD8bbzBWvf668IXnCFeNvPi4VdqCcW95Z4y0QWY86cOcjJyQEATJ06FTk5OVi3bh1CQkK4kxJVOAWCcaIfuwAQJxh3UjAuTDDORU4ekS4WZu0kFlcrR7zpvwTjnAXjXMWbFr7ms4IXPZ0l3rabeKgQScZQBNFuij4/dwTjfAXjACD7nlici2Bqu0NG25kyYqniMlT+xGIMERFZDCX0+4amIgyxLSwsxD///INGjRoBeDTkdsmSJSbuFREREZmavvmT6lxLZsj8iWvGEBGRxeB856JZW1ujY8eO+O+//0zdFSIiIjIjXDOmaIbMn1iMISIii8GdAIrXoEEDXLx40dTdICIiIjPC3ZSKZ6j8icUYIiKiCuKDDz7AmDFjsHXrVty4cQPZ2dkaNyIiIiLSZKj8iWvGEBGRxeBuSsXr3LkzAKB79+5QKBTq45IkQaFQoLCwojwTREREpMLdlIpnqPyJxRgiIrIY+s5dtvT5ziq7dgnu8EZEREQVRmnWfqkIOZSh8icWY4iIyGJwZEzRCgoK8P7772PJkiUICQkxdXeIiIjITHBkTNEMmT+xGENERBaDI2OKZmNjgz///NPU3SAiIiIzw5ExRTNk/sQFfImIiCqIPn364PPPPzd1N4iIiIjKDUPlTxwZQ2blgYzYhjlicceqi8VZvyej8SqC8wbDbAUv6CbediMnwcBgwbgs8bbTD4jFvVxVLG7tdeGm853F4loJXu+ucMumYyMjtsBgvShflNBvuKylf6uj8vDhQ3zxxRfYsWMHwsPD4ejoqHH/nDlzTNQzIvO1VUbsC4JxAYJx9wU/JuW8hzneEYuTBD9Y5LRd1u+1oTJiRT/30wXTIjcZbYvKF4xTyEgQXAV/j6J5hGjmJieHqSwYt/eeWNwaGW3TI/rmT6pzLZ2h8icWY4iIyGJwzZjinThxAk2aNAEAnD17VuO+J3cHICIiooqDa8YUz1D5E6cpERGRxVCW4qaPhQsXIjAwEPb29oiIiMCBA8WPHlu/fj1CQ0Nhb2+Phg0bYtu2bRr3S5KExMRE+Pn5wcHBAdHR0Th37pzOa+Xl5SEsLAwKhQLHjh0T6u+uXbuKvO3cuVPoGkRERGRZSpM/6ZNDMX96hMUYIiIiPaxbtw4JCQmYPHkyjhw5gsaNGyMmJgY3b97UGb9v3z7ExcVhwIABOHr0KGJjYxEbG4sTJ06oYz7++GN8+umnWLJkCfbv3w9HR0fExMTgwQPtSZxjx45F1aqCUwKJiIiIzADzp8cUkiRJpu5EeZednQ1XV1c4AOAgb+OpKRh3TDBO1poxvQXj6hpgzRiYcM2YK4JrxtQwwJoxcYJNC16Pa8YYjwTgPoCsrCy4uLgYpA3V+/A+iP8LeVIOgJaQ18eIiAg0a9YMCxYsAAAolUr4+/tj+PDhGDdunFZ8r169kJubi61bH69A0aJFC4SFhWHJkiWQJAlVq1bF6NGjMWbMGOD/++Pj44OVK1fi1VdfVZ/3008/ISEhAd9//z3q16+Po0ePIiwsrMi+vvjii0KPacOGDUJxRGWhvORPbjJiPxOME10zRjTXkbVmjOCHi+iaMYJL0AAALgrGuQrGVZPRdnn43BddM6aGjAThvzJeMyZDMM4Qa8acKDkEADBYRttyXr+mYOgcqrT5EyA/h2L+9BhHxhARkcUoLMUNeJSUPHnLy8vT2U5+fj4OHz6M6Oho9TErKytER0cjNTVV5zmpqaka8QAQExOjjk9LS0N6erpGjKurKyIiIjSumZGRgYEDB+Lrr79G5cpiKayrq6vQjYiIiCqe0uRPcnIo5k+auIAvERFZDH3nLqvO8ff31zg+efJkTJkyRSv+9u3bKCwshI+Pj8ZxHx8fnD59Wmcb6enpOuPT09PV96uOFRUjSRL69euH//3vf2jatCkuXbok8vCwYsUKoTgiIiKqeEqzfp6cHIr5kyYWY4iIyGKUdjelq1evagyxtbOzK4tulZn58+fj7t27GD9+vKm7QkRERBaiLHZTMuccylzzJ05TIiIi+n8uLi4at6ISCU9PT1hbWyMjQ3P2fEZGBnx9fXWe4+vrW2y86r/FxezcuROpqamws7NDpUqVUKtWLQBA06ZNER8fL/PREhEREZUNkRyK+ZMmFmOIiMhiSNBvS0a5K9nb2toiPDwcKSkp6mNKpRIpKSmIjIzUeU5kZKRGPABs375dHR8UFARfX1+NmOzsbOzfv18d8+mnn+L48eM4duwYjh07pt7acd26dfjwww9lPgoiIiIi/fMnuTkU8ydNnKZE5ZboivwegnFDZPw7TBJdkj9acF38Wrq3ctOp7m3BwC5iYf/NF2+7RnOxuM/Edl2aPEi86QWCcdob2JVf+s7drchKO01JjoSEBMTHx6Np06Zo3rw55s2bh9zcXPTv3x8A0LdvX1SrVg1JSUkAgBEjRiAqKgqzZ89Gly5dsHbtWhw6dAjLli0DACgUCowcORIffPABQkJCEBQUhEmTJqFq1aqIjY0FANSooblfmJPTo70PgoODUb16dT0eBRGVJFNG7HLBONGB8g6C60Jek7ExoqNgnOjuOnJ288sUjBPddPaajLZFUzdnwTg5u/CIPh7Rtv+V8aTnCsbdEozzEoyrIeMr/wuCCY/o6h3mvkOSOSqLaUqimD89xmIMERFZDGMWY3r16oVbt24hMTER6enpCAsLQ3JysnoBuStXrsDK6nE22rJlS6xZswYTJ07EhAkTEBISgk2bNqFBgwbqmLFjxyI3NxeDBg1CZmYmWrdujeTkZNjb2+vRQyIiIqKSGbMYw/zpMYUkSXJHZ9NTVPuzOwBQmLozpMVGMG6IjGsmvS0YGF1yCACglozG64p+1TBULEzOyBh3jowxJmsZsfp+gBqDBOA+gKysLI2F3cqS6n34J4h/6/ukXADPw7B9JCJNlpg/xQjGiY6MaWaAkTHVBBOjfMHRF3JGIfwlGFdPME501AdgWSNj5IyctaSRMeMEr7dNvGmzZ+gcqrT5E8AcqjQ4MoaIiCxGabe2JiIiIqpoymJra5KPxRgiIrIYxpymRERERGQJjDlNiR5jMYaIiCwGizFERERE8rAYYxoWtbV1YGAgFAqFxu2jjz4q9pwHDx5g6NCh8PDwgJOTE3r27Km1RzkREZUP+m7LyCG2VJExfyIiqthKkz8xh9KfRRVjAOD999/HjRs31Lfhw4cXGz9q1Chs2bIF69evx549e3D9+nW8+OKLRuotERERkekxfyIiIjIui5um5OzsDF9fX6HYrKwsfP7551izZg3at28PAFixYgXq1q2LP/74Ay1atDBkV4mIqIwpod9wWX6rQxUd8ycioopL3/xJdS7px+JGxnz00Ufw8PDAM888g5kzZ+Lhw4dFxh4+fBgFBQWIjn68/3BoaChq1KiB1NTUIs/Ly8tDdna2xo2IiEyPQ2yJ9MP8iYio4uI0JdOwqJExb7/9Npo0aYIqVapg3759GD9+PG7cuIE5c+bojE9PT4etrS3c3Nw0jvv4+CA9Pb3IdpKSkjB16tSy7DoREZUBLuBLJB/zJyKiio0L+JqG2Rdjxo0bhxkzZhQbc+rUKYSGhiIhIUF9rFGjRrC1tcXgwYORlJQEOzu7MuvT+PHjNdrKzs6Gv79/mV2fylaBYNynMq75jWBwhGDcszLafkWw/uzdcb5Q3G+/iLd9BAeE4kSfy6JTdgL44UZE+mP+ZBo7BONEH7V/lljcHcHrAcB+wcSopeD15LxCOgiOyb8v+FV7tQDxtq9dFosT/ex1Fm8ajoJxeYJxV2W0LdrPQBnXFFEoY7jEJMG4bXr1hMh8mX0xZvTo0ejXr1+xMTVr1tR5PCIiAg8fPsSlS5dQp04drft9fX2Rn5+PzMxMjW93MjIyip03bWdnV6bJCRERlQ2OjCF6hPkTERGJ4sgY0zD7YoyXlxe8vLz0OvfYsWOwsrKCt7e3zvvDw8NhY2ODlJQU9OzZEwBw5swZXLlyBZGRkXr3mYiITEPfucuc70yWhvkTERGJKs3aL8yh9Gf2xRhRqamp2L9/P9q1awdnZ2ekpqZi1KhR6NOnD9zd3QEA165dw3PPPYevvvoKzZs3h6urKwYMGICEhARUqVIFLi4uGD58OCIjI7kTABFROcSRMUTyMH8iIiKOjDENiynG2NnZYe3atZgyZQry8vIQFBSEUaNGacxNLigowJkzZ3Dv3j31sblz58LKygo9e/ZEXl4eYmJisGjRIlM8BCIiKiUWY4jkYf5EREQsxpiGxRRjmjRpgj/++KPYmMDAQEiSpHHM3t4eCxcuxMKFCw3ZPSIiIiKzw/yJiIjINCymGENERCRBv7nLUskhRERERBZJ3/xJdS7ph8UYIiKyGJymRERERCQPpymZBosxRERkMbibEhEREZE83E3JNKxM3QEiIiIiIiIiooqEI2OI9HBLMG5rGccBwLuigb/IuCiRheA0JSIyJdH3ki8F43IF42IE4+S4JhjnK+Oa1wW/Qq8neL38y+JtOwvGXRWMCxFvGpmCcRcE40JltF0gI1ZEumBckoxr/qxPR6hMcZqSabAYQ0REFoPFGCIiIiJ5WIwxDRZjiIjIYnDNGCIiIiJ5uGaMabAYQ0REFoMjY4iIiIjk4cgY0+ACvkRERERERERERsSRMUREZDGU0O8bGg6xJSIioopK3/xJdS7ph8UYIiKyGFwzhoiIiEgerhljGizGEBGRxeCaMURERETycM0Y0+CaMURERERERERERsSRMUREZDE4TYmIiIhIHk5TMg0WY4iIyGJwmhIRlQcFgnHfCsZdldH2YBmxIqrZiMfmCj5wheA1bWW8edsKxtUXjJNk/AV6RjCujmDcA/GmUa2yWNy2e2JxSYLtHhGMI/PAaUqmwWIMERFZDBZjiIiIiORhMcY0WIwhIiKLwWlKRERERPJwmpJpcAFfIiIiIiIiIiIj4sgYIiKyGEroN1yW3+oQERFRRaVv/qQ6l/TDYgwREVkMrhlDREREJA/XjDENFmOIiMhicM0YIiIiInm4ZoxpcM0YIiIiIiIiIiIj4sgYIiKyGJymRERERCQPpymZBkfGEBGRxVCW4qaPhQsXIjAwEPb29oiIiMCBAweKjV+/fj1CQ0Nhb2+Phg0bYtu2bRr3S5KExMRE+Pn5wcHBAdHR0Th37pz6/kuXLmHAgAEICgqCg4MDgoODMXnyZOTn5+v5CIiIiKiiK03+pE8OxfzpEY6MISIii2HMkTHr1q1DQkIClixZgoiICMybNw8xMTE4c+YMvL29teL37duHuLg4JCUloWvXrlizZg1iY2Nx5MgRNGjQAADw8ccf49NPP8WXX36JoKAgTJo0CTExMTh58iTs7e1x+vRpKJVKLF26FLVq1cKJEycwcOBA5ObmYtasWXo8CiIyZ6LvTXtlXPOkYFyUYFyHAvG2mwjGpQte00a8aeQKxjkKxrnJaNu5jK95XEbbs+6Jxa0WvJ7o80jlizFHxjB/ekwhSZJkstYtRHZ2NlxdXeEAQGHqzhARmRkJwH0AWVlZcHFxMUgbqvfhwQDs9Dg/D8BSyOtjREQEmjVrhgULFgAAlEol/P39MXz4cIwbN04rvlevXsjNzcXWrVvVx1q0aIGwsDAsWbIEkiShatWqGD16NMaMGQP8f398fHywcuVKvPrqqzr7MXPmTCxevBgXL16U96CJTIz5k2lUEYwTLsbIaFu0GOMlGFdeijF/CcbVE4yTU4xZIxjHYox5MnQOVdr8CZCfQzF/eozTlIiIiGTKz8/H4cOHER0drT5mZWWF6OhopKam6jwnNTVVIx4AYmJi1PFpaWlIT0/XiHF1dUVERESR1wQeJRxVqoj+eUVERERkGsyfNHGaEhERWQwJ+s1dVg0Rzc7O1jhuZ2cHOzvt74pu376NwsJC+Pj4aBz38fHB6dOndbaRnp6uMz49PV19v+pYUTFPO3/+PObPn88pSkRERKQ3ffMn1bmAWA7F/EkTR8YQEZHFKCzFDQD8/f3h6uqqviUlJRn5EYi7du0aOnXqhJdffhkDBw40dXeIiIionCpN/lTecihzyp84MoaIiCxGaRfwvXr1qsZ8Z12jYgDA09MT1tbWyMjI0DiekZEBX19fnef4+voWG6/6b0ZGBvz8/DRiwsLCNM67fv062rVrh5YtW2LZsmUlPj4iIiKiopTFAr4iORTzJ00WMzJm9+7dUCgUOm8HDx4s8ry2bdtqxf/vf/8zYs+JiMhcuLi4aNyKKsbY2toiPDwcKSkp6mNKpRIpKSmIjIzUeU5kZKRGPABs375dHR8UFARfX1+NmOzsbOzfv1/jmteuXUPbtm0RHh6OFStWwMrKYj7KyQSYPxERUVkQyaGYP2mymJExLVu2xI0bNzSOTZo0CSkpKWjatGmx5w4cOBDvv/+++ufKlSsbpI9ERGRYSug351mfcxISEhAfH4+mTZuiefPmmDdvHnJzc9G/f38AQN++fVGtWjX1MN0RI0YgKioKs2fPRpcuXbB27VocOnRI/c2MQqHAyJEj8cEHHyAkJES9NWPVqlURGxsL4HEiERAQgFmzZuHWrVvq/hT1jRJRcZg/ERGRvvmT6lw5mD89ZjHFGFtbW40nsqCgAD/88AOGDx8OhaL4DRMrV67MJJaIyAKUdpqSHL169cKtW7eQmJiI9PR0hIWFITk5Wb2A3JUrVzS+dWnZsiXWrFmDiRMnYsKECQgJCcGmTZvQoEEDdczYsWORm5uLQYMGITMzE61bt0ZycjLs7e0BPPom6Pz58zh//jyqV6+u0R9JkkAkF/MnIiIqi2lKopg/PaaQLDR7+/777/HKK6/g8uXLWk/4k9q2bYu///4bkiTB19cX3bp1w6RJk2R9u6Pan90BQPFpCxFRxSMBuI9HWwg+OZe4LKneh+MA2Opxfj6Ab2DYPhKVB8yfLJ/oRq5RgnEdZLTdRDDOSzDORkbbuYJxjoJxbjLa/kswrp5g3HEZba8RjFstGCf6PFLZMHQOVdr8CWAOVRoWMzLmaZ9//jliYmKKTSQA4LXXXkNAQACqVq2KP//8E++++y7OnDmDDRs2FHlOXl4e8vLy1D8/vY0XERERUXnE/ImIiMg4zL4YM27cOMyYMaPYmFOnTiE0NFT98z///IOff/4Z3377bYnXHzRokPr/GzZsCD8/Pzz33HO4cOECgoODdZ6TlJSEqVOnCj4CIiIyFmNOUyIyZ8yfqCh3BOM2Csb9JKNtf8G4EMG4qjLablByCABAdOJdgYy2twrG3So5BABQ9NLa2u7KiKWKy5jTlOgxs5+mdOvWLfz777/FxtSsWRO2to8HVk2bNg3z58/HtWvXYGMjZwAjkJubCycnJyQnJyMmJkZnjK5vdvz9/TnMlohIB2NOU3oJ8oatqxQA+A4cYkuWg/kTGYu9jFgWY4rHYgw9zVjTlPTNnwDmUKVh9iNjvLy84OUlOnP00QI8K1asQN++fWUnEgBw7NgxANDYo/xpdnZ2RW53SkREpmPM3ZSIzBnzJyIiEmXM3ZToMdNvrl3Gdu7cibS0NLz55pta9127dg2hoaE4cOAAAODChQuYNm0aDh8+jEuXLmHz5s3o27cv2rRpg0aNGhm760REVEqFpbgRVWTMn4iIKq7S5E/MofRn9iNj5Pr888/RsmVLjTnQKgUFBThz5gzu3bsH4NF2jjt27FDvbe7v74+ePXti4sSJxu42ERERkckwfyIiIjIuiyvGrFlT9AZugYGBGvuI+/v7Y8+ePcboFhERGUEh9BvyyW91qKJj/kREVHHpmz+pziX9WFwxhoiIKi6uGUNEREQkD9eMMQ0WY4iIyGJwZAwRERGRPBwZYxoWt4AvEREREREREZE548gYIiKyGJymRERERCQPpymZBosxRERkMZTQb7gsEwkiIv08kBF7rozjiKhs6Js/qc4l/bAYQ0REFqMQgELP84iIiIgqIn3zJ9W5pB8WY4iIyGJwmhIRERGRPJymZBpcwJeIiIiIiIiIyIg4MoaIiCwGpykRERERycNpSqbBYgwREVkMFmOIiIiI5GExxjRYjCEiIovBNWOIiIiI5OGaMabBNWOIiIiIiIiIiIyII2OIiMhicJoSERERkTycpmQaLMYQEZHFkKDfcFmprDtCREREVE7omz+pziX9sBhDREQWQ99vZ/itDhEREVVUpcmDmEPpj8UYIiKyGCzGEBEREcnDYoxpcAFfIiIiIiIiIiIj4sgYIiKyGErotwAdt2UkIiKiikrf/El1LumHxRgiIrIYnKZEREREJA+nKZkGizFERGQxWIwhIiIikofFGNPgmjFEREREREREREbEkTFERGQxuGYMERERkTxcM8Y0WIwhIiKLoW9CwESCiIiIKqrS5EHMofTHYgwREVkMFmOIiIiI5GExxjRYjCEiIotRCEDS4zwmEkRERFRR6Zs/AcyhSoML+BIRERERERERGRFHxhARkcXgyBgiIiIieTgyxjRYjCEiIovBNWOIiIiI5OGaMabBYgwREVkMjowhIiIikocjY0yDa8YQERERERERERlRuSnGfPjhh2jZsiUqV64MNzc3nTFXrlxBly5dULlyZXh7e+Odd97Bw4cPi73unTt30Lt3b7i4uMDNzQ0DBgxATk6OAR4BEREZmhKPvt2Re9P3W52FCxciMDAQ9vb2iIiIwIEDB4qNX79+PUJDQ2Fvb4+GDRti27ZtGvdLkoTExET4+fnBwcEB0dHROHfunEYMP7dILuZQRERUHH3zJ31zKOZPj5SbYkx+fj5efvllDBkyROf9hYWF6NKlC/Lz87Fv3z58+eWXWLlyJRITE4u9bu/evfH3339j+/bt2Lp1K379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Ll68qHnz5mnx4sWaOnVqu7d34MABnT17VgcPHtSWLVuUn5+vBx98UL169VJJSYkWLlyop59+WmfOnPFaLz8/XytWrNB3332nbt266dFHH9WLL76ot956S4cOHdKpU6e0atUqqz42AABAh5ChAIQSJmMAGzzwwAN68sknNWfOHC1cuFA9evTQhg0bfNpWXFyctm3bptTUVD322GNKTU3V33//rZdffllDhgxRXl6eHA6HDh8+7LXe0qVLlZmZqeHDh+v5559XaWmpVq5cqXvuuUfjxo3T448/rqKiIis+LgAAgCXIUABCBc+MAWzy+uuva9SoUfroo49UWloqp9Pp03ZGjhyp8PB/51UTExM1atQoz3JERIR69+6t6upqr/XGjBnjtY4kjR492qvt+nUAAADsRoYCEAq4MwawyenTp3X27Fk1NzervLzc5+10797dazksLKzNtubm5huuFxYW1mbb9esAAADYjQwFIBRwZwxgg4aGBs2dO1ezZs1SamqqnnjiCf3www9KSEiwuzQAAIBOiwwFIFRwZwxgg1deeUW1tbXatm2bXnrpJQ0dOlSPPfaY3WUBAAB0amQoAKGCyRggwL766itt3bpVu3fvVnR0tMLDw7V7924dOnRIO3futLs8AACATokMBSCUhBljjN1FALi58vJypaSk6Pjx40pLS7O1lkGDBiknJ0c5OTm21gEAAPBfyFAAOivujAGCyOTJkzV58mRb9r1+/Xq5XC5VVFTYsn8AAABfkaEAdDbcGQMEgcbGRs+3BTidTvXv3z/gNVy4cEEXLlyQJMXHxysmJibgNQAAALQHGQpAZ8VkDAAAAAAAQADxa0oAAAAAAAABxGQMAAAAAABAADEZAwAAAAAAEEBMxgAAAAAAAAQQkzEAAAAAAAABxGQMAAAAAABAADEZAwAAAAAAEEBMxgAAAAAAAAQQkzEAAAAAAAAB9H+AQAnVmrkBrwAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 1200x450 with 4 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Uniformity ratio before : 0.167\n",
      "Uniformity ratio after  : 0.367\n",
      "(1.0 = perfectly flat top)\n"
     ]
    }
   ],
   "source": [
    "# ---- final irradiance map (higher ray count for cleaner visualization) ----\n",
    "with torch.no_grad():\n",
    "    scene_final = build_scene(r1_value=r1.item(), num_rays=20_000)\n",
    "    backend_final = TorchBackend(seed=SEED)\n",
    "    result_final = backend_final.trace(scene_final, num_rays=20_000, max_depth=8)\n",
    "\n",
    "irr_final = result_final.detectors[\"D1\"].irradiance\n",
    "\n",
    "# Use a shared colour scale so both maps are directly comparable\n",
    "vmax = max(irr_init.max(), irr_final.max())\n",
    "\n",
    "fig, axes = plt.subplots(1, 2, figsize=(12, 4.5))\n",
    "extent = [-DETECTOR_SIZE/2, DETECTOR_SIZE/2,\n",
    "          -DETECTOR_SIZE/2, DETECTOR_SIZE/2]\n",
    "\n",
    "for ax, irr, title in zip(\n",
    "    axes,\n",
    "    [irr_init, irr_final],\n",
    "    [f\"Before  (r1 = 120.00 mm)\",\n",
    "     f\"After   (r1 = {r1.item():.1f} mm)\"],\n",
    "):\n",
    "    im = ax.imshow(irr, origin=\"lower\", extent=extent,\n",
    "                   cmap=\"hot\", vmin=0, vmax=vmax)\n",
    "    ax.set_title(title)\n",
    "    ax.set_xlabel(\"x [mm]\")\n",
    "    ax.set_ylabel(\"y [mm]\")\n",
    "    plt.colorbar(im, ax=ax, label=\"Irradiance [W/mm²]\")\n",
    "\n",
    "plt.suptitle(\"Differentiable irradiance optimization\", fontsize=13)\n",
    "plt.tight_layout()\n",
    "plt.show()\n",
    "\n",
    "uniformity_before = irr_init.mean() / (irr_init.max() + 1e-12)\n",
    "uniformity_after  = irr_final.mean() / (irr_final.max() + 1e-12)\n",
    "print(f\"Uniformity ratio before : {uniformity_before:.3f}\")\n",
    "print(f\"Uniformity ratio after  : {uniformity_after:.3f}\")\n",
    "print(f\"(1.0 = perfectly flat top)\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "34476a7d",
   "metadata": {},
   "source": [
    "## 5. Bonus: gradients through `scatter_fraction`\n",
    "\n",
    "Lens radius is not the only newly-expanded gradient path. BSDF parameters —\n",
    "including a surface's `scatter_fraction`, the probability that a hit ray is\n",
    "routed through a scatter model (`LambertianBSDF`, `HarveyShackBSDF`, ...)\n",
    "instead of following its specular/refractive path — are now differentiable\n",
    "too. Previously this branch was sampled but the *weight* was not attached to\n",
    "`scatter_fraction`, so `∂loss/∂scatter_fraction` was silently zero; it now\n",
    "uses the same detached-sample/attached-weight estimator as the Fresnel\n",
    "split, so the gradient is correct rather than dead.\n",
    "\n",
    "To show this cleanly, build a tiny standalone scene: a flat diffusing plate\n",
    "on-axis, with an off-axis detector that can *only* receive flux that\n",
    "scattered (the unscattered beam continues straight through and misses it\n",
    "entirely). If `scatter_fraction` carries a gradient, `∂(side detector\n",
    "flux)/∂(scatter_fraction)` should be positive and finite — more scattering,\n",
    "more flux reaches the side detector."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "7a3ddeda",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-08-18T17:52:09.782319Z",
     "iopub.status.busy": "2026-08-18T17:52:09.782319Z",
     "iopub.status.idle": "2026-08-18T17:52:09.842776Z",
     "shell.execute_reply": "2026-08-18T17:52:09.841763Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "scatter_fraction        : 0.300\n",
      "Side-detector flux      : 0.05437 W  (only reachable via scatter)\n",
      "d(side flux)/d(scatter_fraction) : 0.1813\n",
      "\n",
      "Positive and finite: more scattering sends measurably more flux sideways, and the gradient says so directly -- no finite differences needed.\n"
     ]
    }
   ],
   "source": [
    "from optiland.nonsequential import RefractiveComponent, NSQMaterial, VACUUM, LambertianBSDF\n",
    "from optiland.nonsequential.components.geometry.analytic.plane import FinitePlaneGeometry\n",
    "\n",
    "# scatter_fraction as a differentiable leaf.\n",
    "sf = torch.tensor(0.3, requires_grad=True, dtype=torch.float64)\n",
    "\n",
    "diffuser = RefractiveComponent(\n",
    "    cs=CoordinateSystem(z=50.0),\n",
    "    geometry=FinitePlaneGeometry(width=30, height=30),\n",
    "    material_front=VACUUM,\n",
    "    material_back=NSQMaterial.from_glass(\"N-BK7\"),\n",
    "    bsdf=LambertianBSDF(reflectance_value=1.0),   # fully reflective when scattered\n",
    "    scatter_fraction=sf,\n",
    "    name=\"diffuser\",\n",
    ")\n",
    "\n",
    "scene_sf = NSQScene()\n",
    "scene_sf.add_source(\n",
    "    \"S1\", CoordinateSystem(z=0.0),\n",
    "    CollimatedSourceConfig(spectrum=Spectrum.monochromatic(0.55),\n",
    "                           total_flux=1.0, aperture_radius=8.0),\n",
    ")\n",
    "scene_sf.add_component(\"diffuser\", diffuser)\n",
    "# Off-axis, facing the diffuser: the specular (unscattered) beam travels\n",
    "# straight ahead and cannot hit this detector -- everything it records\n",
    "# arrived via the Lambertian scatter branch.\n",
    "scene_sf.add_detector(\n",
    "    \"side\", CoordinateSystem(x=15, z=50, ry=np.pi / 2),\n",
    "    IrradianceDetectorConfig(width=40, height=40, num_pixels_x=16, num_pixels_y=16,\n",
    "                             splat=\"bilinear\"),\n",
    ")\n",
    "\n",
    "backend_sf = TorchBackend(seed=3)\n",
    "result_sf = backend_sf.trace(scene_sf, num_rays=8_000, max_depth=4)\n",
    "side_flux = result_sf.detectors[\"side\"].data.sum()   # attached, differentiable\n",
    "side_flux.backward()\n",
    "\n",
    "print(f\"scatter_fraction        : {sf.item():.3f}\")\n",
    "print(f\"Side-detector flux      : {side_flux.item():.5f} W  (only reachable via scatter)\")\n",
    "print(f\"d(side flux)/d(scatter_fraction) : {sf.grad.item():.4f}\")\n",
    "print(\"\\nPositive and finite: more scattering sends measurably more flux \"\n",
    "      \"sideways, and the gradient says so directly -- no finite differences \"\n",
    "      \"needed.\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a1000013",
   "metadata": {},
   "source": [
    "## 6. Limitations and how to work around them\n",
    "\n",
    "### What works\n",
    "\n",
    "Pass a `torch.tensor(..., requires_grad=True)` straight into the ordinary\n",
    "config object — no private attributes, no post-construction patching.\n",
    "\n",
    "| Parameter | How |\n",
    "|---|---|\n",
    "| Lens radius (`r1`, `r2`) and conic (`conic1`, `conic2`) | `LensConfig(r1=r1_tensor, ...)` |\n",
    "| Component aperture radius | `LensConfig(front_aperture_radius=...)`, `MirrorConfig(aperture_radius=...)` |\n",
    "| Mirror radius | `MirrorConfig(radius=...)` |\n",
    "| Source `total_flux` | `CollimatedSourceConfig(total_flux=...)` |\n",
    "| BSDF reflectance / transmittance, including `scatter_fraction` | `LambertianBSDF(reflectance_value=...)`, `SurfaceConfig(scatter_fraction=...)` (Section 5 above) |\n",
    "| Material refractive index (dispersion-formula glass) | `NSQMaterial` index |\n",
    "| Irradiance detector `width` / `height`, and every detector's `total_flux` result | `IrradianceDetectorConfig(width=..., height=...)` |\n",
    "\n",
    "Detector pixel *counts* are integers and structural, so they are not\n",
    "differentiable.\n",
    "\n",
    "Parameters that cannot carry gradients **raise `NotImplementedError`**\n",
    "rather than detaching silently — a design variable that has no effect on the\n",
    "loss should fail loudly, not sit at zero gradient. This applies to source\n",
    "geometry (`aperture_radius`, `half_angle_deg`, extended-source extent), whose\n",
    "sampling runs in NumPy, and to `SpectralDetector` extents.\n",
    "\n",
    "### What does NOT work today\n",
    "\n",
    "1. **Visibility gradients are zero.**  When `r1` is changed enough that\n",
    "   rays start to vignette at the aperture edge, the gradient through that\n",
    "   boundary is zero.  The optimizer can still make progress through the\n",
    "   interior (refraction) path, but the silhouette contribution is missing.\n",
    "   *Roadmap item #1 — reparameterization — will fix this.*\n",
    "\n",
    "2. **Mesh geometry is forward-only.**  `MeshGeometry.ray_intersect()` uses\n",
    "   a numpy BVH; calling `loss.backward()` through it will raise.  Use\n",
    "   `ConicGeometry` / `SphereGeometry` / `ParaboloidGeometry` for\n",
    "   differentiable surfaces.\n",
    "\n",
    "3. **Memory cap at ~1 × 10⁵ rays.**  The fixed-depth autograd graph stores\n",
    "   O(num_rays × max_depth) activations.  At 2 000 rays and depth 8 the\n",
    "   footprint is negligible; at 1 × 10⁵ rays and depth 16 you will need\n",
    "   ~8 GB of GPU VRAM.  *Roadmap item #3 — Path Replay Backpropagation —\n",
    "   reduces this to O(num_rays).*\n",
    "\n",
    "4. **No polarization.**  Stokes tracking is on the roadmap.\n",
    "\n",
    "### Tips for stable optimization\n",
    "\n",
    "- **Common-random-numbers (fixed seed):** re-using the same RNG seed across\n",
    "  steps keeps gradient variance low (as done above with `OPT_SEED = 7`).\n",
    "- **Gradient clipping:** `clip_grad_norm_` prevents large steps early in\n",
    "  training when the gradient is noisy.\n",
    "- **Warm start:** run 5–10 forward-only passes first to verify the scene\n",
    "  produces rays on the detector before enabling autograd.\n",
    "- **Detach for diagnostics:** wrap visualization/metrics in\n",
    "  `with torch.no_grad():` to avoid building unnecessary graph nodes."
   ]
  },
  {
   "cell_type": "markdown",
   "id": "a1000014",
   "metadata": {},
   "source": [
    "## Summary\n",
    "\n",
    "The minimum differentiable NSQ loop is:\n",
    "\n",
    "```python\n",
    "import optiland.backend as be\n",
    "import torch, torch.optim as optim\n",
    "from optiland.nonsequential.backends.torch_backend import TorchBackend\n",
    "\n",
    "be.set_backend(\"torch\")\n",
    "be.set_precision(\"float64\")   # recommended for gradient work\n",
    "\n",
    "r1 = torch.tensor(120.0, requires_grad=True, dtype=torch.float64)\n",
    "optimizer = optim.Adam([r1], lr=5.0)\n",
    "\n",
    "for step in range(100):\n",
    "    optimizer.zero_grad()\n",
    "    scene = build_scene(r1)           # LensConfig(r1=r1) - tensor goes straight in\n",
    "    result = TorchBackend(seed=42).trace(scene, num_rays=2_000)\n",
    "    loss = my_loss(result.detectors[\"D1\"].data)\n",
    "    loss.backward()                   # gradient through full MC trace\n",
    "    optimizer.step()\n",
    "```\n",
    "\n",
    "---\n",
    "\n",
    "**Feedback and contributions welcome.**  If you use this workflow for a real\n",
    "illumination or stray-light problem, open a GitHub issue and describe your\n",
    "use case — feedback directly shapes the roadmap:\n",
    "https://github.com/HarrisonKramer/optiland/issues"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": ".venv",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.12.4"
  },
  "nbsphinx": {
   "execute": "never"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
