{ "cells": [ { "cell_type": "markdown", "id": "5e284b11", "metadata": {}, "source": [ "# 04 · Recreating the MACE architecture, block by block: original MACE **and** `xnn`\n", "\n", "This tutorial walks through the [MACE](https://github.com/ACEsuit/mace) architecture\n", "one block at a time, and for **every block builds it twice**, once with the\n", "**original `mace-torch`** (ACEsuit/mace, our ground truth) and once with the\n", "**`xnn`** re-implementation (`xnn.gnn.models.mace`), then checks that the two\n", "agree to machine precision.\n", "\n", "The goal is twofold:\n", "\n", "1. **Understand MACE.** MACE is a message-passing interatomic potential that builds\n", " *equivariant, many-body* atomic features and maps them to an energy. We expose\n", " each internal block and its defining equation.\n", "2. **Show `xnn` reproduces MACE exactly.** `xnn` reuses the same maths (real\n", " Clebsch–Gordan coupling, learned symmetric contraction) with no `mace-torch`\n", " dependency, only `e3nn`. By the end we transplant a *whole* trained-shape MACE\n", " from `mace-torch` into `xnn` and reproduce its **energy and forces to ~1e-15**.\n", "\n", "> **Credit.** The pedagogy, equations and figures follow the excellent\n", "> *\"Deep Dive into the MACE Architecture\"* developer tutorial by **Will Baldwin**,\n", "> based on material by **Ilyes Batatia** (University of Cambridge). The\n", "> dual-implementation comparison against `xnn` is the new contribution here.\n", ">\n", "> **References.**\n", "> [MACE (NeurIPS 2022)](https://proceedings.neurips.cc/paper_files/paper/2022/file/4a36c3c51af11ed9f34615b81edb5bbc-Paper-Conference.pdf) |\n", "> [The Design Space of E(3)-Equivariant Atom-Centred Interatomic Potentials (Multi-ACE)](https://doi.org/10.48550/arXiv.2205.06643) |\n", "> [MACE-OFF](https://doi.org/10.1063/5.0155322) |\n", "> [code](https://github.com/ACEsuit/mace) | [docs](https://mace-docs.readthedocs.io/)" ] }, { "cell_type": "markdown", "id": "bc28cfc0", "metadata": {}, "source": [ "## 0. Setup\n", "\n", "This notebook needs the `examples` extra (installs `mace-torch`, `e3nn`, `ase`,\n", "`matplotlib`, …) on top of `xnn`:\n", "\n", "```bash\n", "pip install -e \".[examples]\" # or: uv sync --extra examples\n", "```\n", "\n", "`mace-torch==0.3.16` pins `e3nn==0.4.4`; `xnn` runs fine on that pin. We use\n", "`float64` throughout: MACE's default, and required for a bit-exact comparison." ] }, { "cell_type": "code", "execution_count": 1, "id": "fdff727c", "metadata": { "execution": { "iopub.execute_input": "2026-07-20T05:04:42.487678Z", "iopub.status.busy": "2026-07-20T05:04:42.487555Z", "iopub.status.idle": "2026-07-20T05:04:44.915052Z", "shell.execute_reply": "2026-07-20T05:04:44.913953Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "xnn : 0.1.0\n", "mace : 0.3.16 (original ACEsuit/mace — ground truth)\n", "e3nn : 0.4.4\n", "torch: 2.5.1+cu121 | CUDA: True\n" ] } ], "source": [ "import warnings, logging\n", "warnings.filterwarnings(\"ignore\") # e3nn/torch.load + TorchScript noise\n", "logging.getLogger(\"cuequivariance\").setLevel(logging.ERROR)\n", "\n", "import numpy as np\n", "import torch\n", "torch.set_default_dtype(torch.float64) # MACE default; needed for exact match\n", "torch.manual_seed(0)\n", "\n", "from e3nn import o3\n", "import matplotlib.pyplot as plt\n", "%matplotlib inline\n", "\n", "import xnn, mace, e3nn\n", "print(\"xnn :\", xnn.__version__)\n", "print(\"mace :\", mace.__version__, \"(original ACEsuit/mace — ground truth)\")\n", "print(\"e3nn :\", e3nn.__version__)\n", "print(\"torch:\", torch.__version__, \"| CUDA:\", torch.cuda.is_available())" ] }, { "cell_type": "markdown", "id": "f316312b", "metadata": {}, "source": [ "\"MACE:" ] }, { "cell_type": "markdown", "id": "e57c4553", "metadata": {}, "source": [ "MACE is a function that takes an atomic environment and returns an energy.\n", "In classical ML potentials, *designing features* and *fitting* are separate steps;\n", "in MACE they are blended. As the sketch shows, **most of the weights and most of the\n", "compute build the atomic features**; once you have them, the energy is a relatively\n", "simple learnable function of those features.\n", "\n", "Below we open up the feature construction and rebuild it, block by block, in both\n", "packages." ] }, { "cell_type": "markdown", "id": "0c1581ab", "metadata": {}, "source": [ "## The MACE architecture at a glance" ] }, { "cell_type": "markdown", "id": "d8c41d43", "metadata": {}, "source": [ "\"Schematic" ] }, { "cell_type": "markdown", "id": "5c31d4f7", "metadata": {}, "source": [ "The key steps, repeated for each of $T$ message-passing layers indexed by\n", "$t = 1, \\dots, T$ (`num_interactions` $= T$):\n", "\n", "1. **Embedding.** Turn the structure into initial features: a per-element node feature\n", " $h^{(0)}_i$ for each atom $i$, plus per-edge length (radial) and direction (spherical\n", " harmonic) features.\n", "2. **Feature construction.**\n", " - **Interaction**: pool information from an atom's neighbours into a 2-body message,\n", " the *atomic basis* $A_i^{(t)}$.\n", " - **Product**: raise $A_i^{(t)}$ to higher body order via symmetric tensor products,\n", " giving the many-body features $B_i^{(t)}$.\n", " - **Update**: mix $B_i^{(t)}$ (with a self-connection) into the new node features\n", " $h^{(t)}_i$.\n", "3. **Readout.** Map the *invariant* part of $h^{(t)}_i$ to a per-atom site energy\n", " $E_i^{(t)}$.\n", "4. **Repeat** over layers, then form the total energy by summing every site energy plus\n", " a per-element reference energy $E_0$:\n", " $$ E \\;=\\; \\sum_i \\Big( E_0(z_i) + \\sum_{t=1}^{T} E_i^{(t)} \\Big), \\qquad\n", " \\mathbf{F}_i \\;=\\; -\\,\\frac{\\partial E}{\\partial \\mathbf{r}_i}. $$\n", "\n", "**Symbols used throughout.** $i$: atom index; $t$: layer index; $z_i$: chemical\n", "element (atomic number) of atom $i$; $E_0(z)$: reference energy of an isolated atom of\n", "element $z$; $\\mathbf{r}_i$: position of atom $i$; $\\mathbf{F}_i$: force on atom $i$\n", "(obtained by automatic differentiation, so it is exactly the energy gradient)." ] }, { "cell_type": "markdown", "id": "956b4c69", "metadata": {}, "source": [ "## Default model parameters\n", "\n", "We fix one small MACE configuration and build it in **both** packages. The `xnn`\n", "config funnels through its `Config` dataclass; the `mace-torch` model takes the same\n", "numbers as keyword arguments. Everything below reuses these two model objects." ] }, { "cell_type": "code", "execution_count": 2, "id": "c0680e26", "metadata": { "execution": { "iopub.execute_input": "2026-07-20T05:04:44.917528Z", "iopub.status.busy": "2026-07-20T05:04:44.917279Z", "iopub.status.idle": "2026-07-20T05:04:48.852560Z", "shell.execute_reply": "2026-07-20T05:04:48.851683Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "cuequivariance or cuequivariance_torch is not available. Cuequivariance acceleration will be disabled.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "xnn MACE parameters: 25656\n", "mace MACE parameters: 25456\n" ] } ], "source": [ "from mace import data, modules, tools\n", "import mace.modules as mm\n", "from mace.modules.blocks import RealAgnosticResidualInteractionBlock as MIB\n", "\n", "from xnn.common.data import structure_to_graph\n", "from xnn.common.models import build_model, ForceStressOutput\n", "from xnn.common.config import from_dict\n", "\n", "# --- shared hyper-parameters ---\n", "SPECIES = [1, 6, 8] # H, C, O -> the element channels\n", "CUTOFF = 3.0 # r_max (Angstrom)\n", "T = 2 # num_interactions (MACE layers)\n", "NCH = 8 # num_channels (k)\n", "MAX_ELL = 2 # l_max of the edge spherical harmonics\n", "MAX_L = 1 # l_max kept in the node features between layers\n", "NRBF = 8 # number of Bessel radial functions\n", "NPOLY = 6 # polynomial-cutoff smoothness\n", "HID = \"8x0e+8x1o\" # hidden_irreps (8 channels of l=0 and l=1)\n", "MLP = \"16x0e\" # final readout MLP width\n", "RMLP = [64, 64, 64] # radial MLP hidden sizes (MACE default)\n", "AVG = 8.0 # avg_num_neighbors (message normalisation)\n", "CORR = 3 # correlation order (body order - 1)\n", "E0 = np.array([-1.0, -3.0, -5.0]) # per-element reference energies\n", "\n", "# --- xnn MACE ---\n", "xcfg = from_dict({\"model\": {\"name\": \"mace\", \"cutoff\": CUTOFF, \"n_features\": NCH,\n", " \"n_interactions\": T, \"extra\": {\"species\": SPECIES, \"max_ell\": MAX_ELL,\n", " \"max_L\": MAX_L, \"num_channels\": NCH, \"correlation\": CORR, \"num_bessel\": NRBF,\n", " \"num_polynomial_cutoff\": NPOLY, \"hidden_irreps\": HID, \"MLP_irreps\": MLP,\n", " \"radial_MLP\": RMLP, \"avg_num_neighbors\": AVG, \"atomic_energies\": E0.tolist()}}})\n", "xfull = build_model(xcfg.model)\n", "xmodel = ForceStressOutput(xfull, compute_forces=True).double() # adds autograd forces\n", "\n", "# --- original MACE ---\n", "mmodel = mm.MACE(\n", " r_max=CUTOFF, num_bessel=NRBF, num_polynomial_cutoff=NPOLY, max_ell=MAX_ELL,\n", " interaction_cls=MIB, interaction_cls_first=MIB, num_interactions=T,\n", " num_elements=len(SPECIES), hidden_irreps=o3.Irreps(HID), MLP_irreps=o3.Irreps(MLP),\n", " atomic_energies=E0, avg_num_neighbors=AVG, atomic_numbers=SPECIES, correlation=CORR,\n", " gate=torch.nn.functional.silu, radial_MLP=RMLP, radial_type=\"bessel\",\n", " use_reduced_cg=False, apply_cutoff=True).double()\n", "\n", "n_x = sum(p.numel() for p in xfull.parameters())\n", "n_m = sum(p.numel() for p in mmodel.parameters())\n", "print(f\"xnn MACE parameters: {n_x}\")\n", "print(f\"mace MACE parameters: {n_m}\")" ] }, { "cell_type": "markdown", "id": "156e11e2", "metadata": {}, "source": [ "### Copy the weights: `mace-torch` → `xnn`\n", "\n", "The two models have the *same architecture*, so we can transplant every weight from\n", "`mace-torch` into `xnn`. After this, any difference in a block's output is a genuine\n", "implementation difference (not just different random init), so our block-by-block\n", "\"do they agree?\" checks are meaningful.\n", "\n", "(The two raw parameter counts differ by a little only because of *how* each stores the\n", "per-element reference energies $E_0$: `xnn` uses an embedding table indexed by atomic\n", "number, `mace-torch` a fixed buffer. The trainable network is identical, as the exact\n", "energy match at the end confirms.)\n", "\n", "The only non-trivial part is the **symmetric contraction**: `xnn` stores the\n", "per-order weights in a single list `weights[0..corr-1]` (low → high order), whereas\n", "`mace-torch` keeps the top order in `weights_max` and the rest in `weights` (high →\n", "low). `transplant_sc` re-orders them." ] }, { "cell_type": "code", "execution_count": 3, "id": "c6ea9d70", "metadata": { "execution": { "iopub.execute_input": "2026-07-20T05:04:48.855024Z", "iopub.status.busy": "2026-07-20T05:04:48.854724Z", "iopub.status.idle": "2026-07-20T05:04:48.862291Z", "shell.execute_reply": "2026-07-20T05:04:48.861382Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "weights transplanted: mace-torch -> xnn\n" ] } ], "source": [ "def transplant_sc(xsc, msc, corr=CORR):\n", " # copy mace-torch SymmetricContraction weights into the xnn one\n", " with torch.no_grad():\n", " for c in range(len(xsc.contractions)):\n", " xc, mc = xsc.contractions[c], msc.contractions[c]\n", " xc.weights[corr - 1].copy_(mc.weights_max) # top order nu=corr\n", " for nu in range(1, corr):\n", " xc.weights[nu - 1].copy_(mc.weights[corr - 1 - nu]) # lower orders\n", "\n", "with torch.no_grad():\n", " xfull.node_embedding.load_state_dict(mmodel.node_embedding.linear.state_dict())\n", " for i in range(T):\n", " xfull.interactions[i].load_state_dict(mmodel.interactions[i].state_dict())\n", " transplant_sc(xfull.products[i].symmetric_contractions,\n", " mmodel.products[i].symmetric_contractions, CORR)\n", " xfull.products[i].linear.load_state_dict(mmodel.products[i].linear.state_dict())\n", " xr, mr = xfull.readouts[i], mmodel.readouts[i]\n", " if \"NonLinear\" in type(mr).__name__:\n", " xr.linear_1.load_state_dict(mr.linear_1.state_dict())\n", " xr.linear_2.load_state_dict(mr.linear_2.state_dict())\n", " else:\n", " xr.linear.load_state_dict(mr.linear.state_dict())\n", " for z, e in zip(SPECIES, E0):\n", " xfull.atom_ref.weight[z] = float(e) # reference energies\n", "\n", "# a small helper for the agreement checks below\n", "def report(name, diff, tol=1e-10):\n", " tag = \"OK \" if diff <= tol else \"!! \"\n", " print(f\"{tag}{name:<42} max|xnn - mace| = {diff:.2e}\")\n", "\n", "print(\"weights transplanted: mace-torch -> xnn\")" ] }, { "cell_type": "markdown", "id": "084cdbd9", "metadata": {}, "source": [ "# Spherical tensors and `e3nn`: the shared language\n", "\n", "Both MACE and `xnn` represent directional information as **spherical tensors** and\n", "manipulate them with [`e3nn`](https://e3nn.org/). The core fact: when you rotate a\n", "direction $\\mathbf{r}\\to R\\mathbf{r}$, the spherical harmonics $Y_l^m$ transform in a\n", "known, linear way,\n", "\n", "$$ Y_l^m(R\\,\\mathbf{r}) \\;=\\; \\sum_{m'=-l}^{l} D^l_{mm'}(R)\\; Y_l^{m'}(\\mathbf{r}). $$\n", "\n", "**Symbols.** $\\mathbf{r}$: a 3D direction vector; $R$: a $3\\times3$ rotation matrix;\n", "$l = 0, 1, 2, \\dots$: the *degree* (angular frequency) of the harmonic; $m = -l, \\dots,\n", "+l$: the *order* (there are $2l+1$ values of $m$ for each $l$); $Y_l^m(\\mathbf{r})$:\n", "the real spherical harmonic of degree $l$, order $m$; $D^l_{mm'}(R)$: the **Wigner\n", "D-matrix**, the $(2l+1)\\times(2l+1)$ matrix that mixes the order-$m$ components among\n", "themselves under the rotation $R$.\n", "\n", "The key consequence: a rotation only mixes components *within the same degree $l$*, and\n", "never mixes different $l$'s. So the $l=0$ part ($D^0 = 1$) is left completely unchanged;\n", "it is **rotation-invariant**. That is how we can always recover an invariant quantity\n", "when we need one. Let's evaluate $Y_l^m$ for $l = 0, 1, 2$ on one vector." ] }, { "cell_type": "code", "execution_count": 4, "id": "f2f18617", "metadata": { "execution": { "iopub.execute_input": "2026-07-20T05:04:48.863981Z", "iopub.status.busy": "2026-07-20T05:04:48.863835Z", "iopub.status.idle": "2026-07-20T05:04:48.947608Z", "shell.execute_reply": "2026-07-20T05:04:48.946823Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "tensor([ 0.2821, 0.3860, 0.0772, 0.2895, 0.5113, 0.1364, -0.2918, 0.1023,\n", " -0.1491])\n" ] } ], "source": [ "spherical_harmonics = o3.SphericalHarmonics([0, 1, 2], normalize=True)\n", "vector = torch.tensor([1.0, 0.2, 0.75])\n", "print(spherical_harmonics(vector))" ] }, { "cell_type": "markdown", "id": "70cf4f19", "metadata": {}, "source": [ "The array has 9 elements: $l=0$ (1 value), $l=1$ (3 values), $l=2$ (5 values),\n", "concatenated as\n", "$$[\\,Y_0^0,\\ \\ Y_1^{-1}, Y_1^{0}, Y_1^{1},\\ \\ Y_2^{-2}, Y_2^{-1}, Y_2^{0}, Y_2^{1}, Y_2^{2}\\,].$$\n", "This $(l,m)$-flattened layout is how MACE (and `xnn`) store all equivariant arrays.\n", "\n", "Now rotate the vector through a full turn and watch each component: the $l=0$ piece is\n", "**constant** (invariant), while higher-$l$ pieces oscillate faster." ] }, { "cell_type": "code", "execution_count": 5, "id": "39fd96d0", "metadata": { "execution": { "iopub.execute_input": "2026-07-20T05:04:48.949254Z", "iopub.status.busy": "2026-07-20T05:04:48.949126Z", "iopub.status.idle": "2026-07-20T05:04:49.549388Z", "shell.execute_reply": "2026-07-20T05:04:49.548610Z" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAmgAAAGBCAYAAADSTE2eAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjExLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlcelbwAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzsnXWYU1cTh98bXcu6O4u7uxYpTqFYi7eUuru3fHWnTlsKFCtSoFAKbXF3d5Zl3d3iyf3+CN2WssBKspuF+z5PHkhyzzmTZHMzd87MbwRRFEUkJCQkJCQkJCScBlltGyAhISEhISEhIXElkoMmISEhISEhIeFkSA6ahISEhISEhISTITloEhISEhISEhJOhuSgSUhISEhISEg4GZKDJiEhISEhISHhZEgOmoSEhISEhISEkyE5aBISEhISEhISTobkoElISDichQsXkpmZWdtm2I309HQWLVpU22ZISEjcxEgOmoSEhMN57LHHiI2NrW0z7Mb58+d58skna9sMu5CZmcnChQtr2wwJCYn/IDloEhIS18VoNDJ37lwSEhKueu6vv/5i8+bN1Zr/6NGjzJ07F71eX615bjWqEsUrb0xxcTEHDx60p2kSEhJ2QHLQJCQkrotKpeLUqVOMGTMGk8lU9vjBgwcZNWoU3t7eVZ777Nmz9O3blyeffJIpU6YgtQauOFWJ4pU3pkGDBnzxxRf2M0xCQsIuSA6ahITEDXnvvfcwm8289tprAJSWljJp0iRef/112rdvX6U5s7KyGDJkCJMnT+bUqVMcOnSIF1988arj5s+fT05ODocPH2bJkiWcPHkSsEV+Vq9eza+//kppaek11zGbzcyZMwetVlv2WFpaGkuWLLlqjWPHjrF06VKOHTt21Txnzpxh2bJlHD9+/Jqv5/fff2ft2rVkZ2eX+xqOHj3K4sWLycvLu+br/O8xhw4dYunSpezbt6/MgdVqtfz+++8YDAbmzJnDnDlzSEhIoLCwsOz+0qVLOXv2bNn81xpzrS3O8tb993tnMBjYunUrK1asIC0trdz3REJCohqIEhISEhXg9OnToru7u7hlyxZxxowZYp8+fUSLxVKhsV5eXuLOnTvL7mu1WrFTp07iQw89VPZYfHy8GBkZKX733XdXjFWr1WLbtm3FPn36iKNGjRKVSqX49ttvi82aNRPHjRsntm7dWmzZsqVoNBrLXbu4uFgExOTk5LLHNm7cKAYFBV2xRq9evcQePXqI48aNE93c3MTPP/+87Pn3339f1Gg04ujRo8V27dqJ3bt3F/38/MqeX7Jkiejj4yMOGzZMHDFihOjv7y9u2bLlivl79Oghdu3aVbz33nvFpKSkq+z87zGXLl0Shw8fLoaHh4vjxo0To6KixP79+4t6vV7My8sThwwZIqrVanH69Oni9OnTxUOHDonp6ell98eNGyf6+PiI77zzjiiK4jXH7Ny5U/Ty8iqzw2QyXXPdv987jUYjdunSRRw1apTYv39/0cPDQzx+/Hj5H76EhESVkBw0CQmJCvPVV1+JPj4+oq+v7xUOz434r4O2atUq8e233xatVusVx128eFF88MEHxZycnLLH1Gq1+OKLL5bdf+6550SVSiVeuHBBFEVRNBqNYlBQkLh+/fpy166og/b888+X3f/pp5/EevXqiaIoipcuXRKVSqW4d+9eURRF0Wq1iiNGjChz0NLS0kR3d3dx27ZtZeMXLFggNmjQ4Ir5/+2Mlsd/j/n222/F0NBQMT8/XxRFUSwqKhJjYmLEDz74QBRFUdy6desVTmJ5xMXFiR4eHmJGRsY1x/zXQbvRuhs3bhQBcceOHWVjxo4dKz722GPXtUVCQqJySFucEhISFeaRRx7Bx8eHJ598kvDw8CrPM2rUKF555RUEQbji8fr16/Ptt9/i5+d3xePDhg0r+3/Tpk1p1KgRDRs2BECpVFK/fn2Sk5OrbA/AiBEjyv7fokULUlJSANi7dy/169enS5cuAAiCwOTJk8uO3bVrFyqVitjY2LKtw/z8fC5evEhOTk7ZcWPHjr2hDf8+ZufOnVfk+Gk0GsaMGcOOHTuuO0dxcTHr169n/vz5bNmyBTc3N86cOXPjN6AS63p7e9OzZ8+y+/9+vyQkJOyDorYNkJCQqFu4urri6upao2uq1eqy/wuCcMX9vx+zWq3ljv2vEwhgsViuu4ZMJiubz2AwXLXev++XlpYiiiL79u274pjp06djNpvL7ms0mnLt+zf/Pkav15e77vWqXffs2cOQIUNo164dYWFhqNVqjEZjuTlv16Ii6/73+X+/XxISEvZBctAkJCRuatzc3HB1dSUlJaUs6lcZWYnWrVtz7tw50tLSCA0NBWDLli1lz3fs2BG9Xs/MmTMJCwsrezw+Pp7g4OAq292mTRtWrVqFKIplTuamTZvo1q0bAC4uLldU1QLMnTuXCRMm8M033wCQn5/P0qVLy5L8yxtT2XUlJCRqBslBk5CQuKkRBIGRI0dy//33M336dOLj41mzZk2Fx7dr144RI0bQv39/pk+fTlxcHGvXri17vnnz5jzxxBN0796dadOm4e3tzYEDB8jJyeGvv/6qst2PPfYYc+fOZfDgwQwaNIhNmzaRmJjI6tWrAWjUqBEmk4mXX36ZmJgY+vfvT+vWrXnnnXeIiopCJpPx888/I5P9k8lS3pjKrishIVEzSDloEhISlWL06NG0atWqUmOmTJlS5WjSPffcQ0BAQNn9Ro0aMXLkyCuOGT58OE2bNr3mHPPmzWPGjBnEx8fTsmVL1qxZw8SJE6+5hp+fH9OnTy+7//PPP/Pss8+SkpJCq1at2LBhwxV5aO+//z6LFy9GEASSk5O54447+OOPP645f0Vep7e3N8ePH2fIkCHEx8fTr18/Tp48SVBQEAC+vr5s3rwZk8nE/v37yc3N5dFHH+Wzzz4jNTWVvLw85s6dy1NPPUW9evWuOSY4OJgpU6ZUeN2wsLAr3juAtm3bMmDAgOu+PgkJicohiKKkDCkhISEhISEh4UxIW5wSEhLVIiUl5Ypo0b/p1KlTpaNtEhISEhKSgyYhIVFNCgsLr6pg/JuwsDDJQZOQkJCoAtIWp4SEhISEhISEkyEVCUhISEhISEhIOBmSgyYhISEhISEh4WRIDpqEhISEhISEhJNxSxcJWK1W0tLS0Gg05baDkZCQkJCQkJCwF6IoUlxcTGho6BUi0uVxSztoaWlpRERE1LYZEhISEhISErcQycnJZa3nrsUt7aD93Zg4OTkZT0/PWrZGQkJCQkJC4mamqKiIiIiIMv/jetzSDtrf25qenp6SgyYhISEhISFRI1QkrUoqEpCQkJCQkJCQcDIkB01CQkJCQkJCwsmQHDQJCQkJCQkJCSfDKR20wsJCRo4ciaurK/Xr1+fPP/+87vGff/45kZGRyGQySS5DQkJCQkJCos7jlA7azJkzEUWRlJQUPv74YyZNmoROpyv32OXLl/Ppp5+yfPlyTCYTUmtRCQkJCQkJibqOUzpoy5Yt45VXXsHPz49Ro0bRsGHDa0bRPvnkE2bOnEmXLl2Qy+U1bKmEhISEhISEhP1xOgfNbDaTnp5OgwYNyh5r0KABSUlJ5R5/9uxZ4uPj8ff3Jzg4mNdee+2acxsMBoqKiq64SUhISEhISEg4G07noP29RfnvXLLrbVuazWbOnj1LbGws27ZtY8GCBaxdu7bcY9977z28vLzKblIXAQkJCQkJCQlnxOkcNKVSSUhICLGxsWWPxcXFERkZWe7xkZGRTJo0CR8fH5o0acLtt9/OiRMnyj32pZdeorCwsOyWnJzskNcgISEhISEhIVEdnM5BAxg7dizvvPMOubm5rF69mgsXLnD77beXe+yECRNYuHAh+fn5nD9/nr/++ot27dqVe6xarS7rGiB1D5Co64gWK1aDGavWhFVrQrRKBTISEhISNwtO2erpjTfeYOrUqYSFhREaGsrChQtxc3MD4L777sPf35/3338fgGeffZb777+f8PBwvLy8eOyxxxgyZEhtmi8hYXesWhOGS4Xo4wowZ2ox5+qxFBng3z6ZXEDuqULh44Iq0hNVlAZ1tBcyV6f8mktISEhIXAdBvIV1KYqKivDy8qKwsFCKpkk4HVaDBd3JbEoPZ2JMKLrSGasocgGXRj64tQnAtZkfglKqdJaQkJCoLSrjd0iX1hISToal2Ejx9hRKD6QjGq1ljysCXVHX90YVrkHh74rC1wWZixxkMhBFLCVGLIVGzJlaDElFGBOKMOfo0J/NQ382D5m7Eo9uoXh0DUHmpqzFVyghISEhcSOkCJoUQZNwEqxaE0WbkyjZnwFmm2Om8HfFrX0Qbm0DUXirKz2nKbMU7bFstEezsBQYABBUcjR9wtH0DEdQOmUaqoSEhMRNSWX8DslBkxw0iVpGFEW0R7IoXB+PtdQEgCpSg2f/KNQNve3Svky0iOhOZlO8LRlThhYAua8L3kPr4drcv9rzS0hISEjcGGmLU0KijmAuNJC//DyGuELAto3pPay+3RyzvxHkAm5tAnFtHYDueDaF6+Ox5OnJXXgW19YB+IxsIBUTSEhISDgR0hlZQqKW0J3OJX/lBaxaM4JShqZfJJoeYQgKx207CoLNUXNp6kfx1iSKd6SgO56NMaEIn3GNcKnv7bC1JSQkJCQqjuSgSUjUMKJFpHBDPCW7UgFQhnnge3cTlP6uNWaDTC3Ha1A9XJr5kbfsPJZcPTlzTuI1JAaPHqF2jd5JSEhISFQeKUNYQqIGserN5Px0usw58+gZRuBDrWvUOfs36khPgh5vh1u7QBCh8PdL5K+4gGiy3niwhISEhITDkCJoErWGKIqU5OeSGXeRzPg4tAX5GLSlmAx61G7uuHp6ofH1I7hhY4JjGqJQqWrb5GphzteTM/805kwtglKGz7jGuLWs/QR9mVqOz9hGKEM9KFx/Ce2RLMx5evynNpfy0iQkJJwSq8VKVmIxOcnFFOfpKc7VYzZZkStkyBUyNH4u+Ia64xfqgU+IW53cFZDOvhI1TnZSAuf37ODcnh0UZmZUaIxcoSCsSXOa9+5Hw87dUKpdHGylfTFla8mZcxJLoRGZpwr/Kc1QhWtq26wyBEFA0yMMZbAbuYvOYkwoIvu7E/hPb4FcU7cdYwkJiZsDq8VK/IkcLhzIJPV8PgatuULjPHzU1GvlT0y7QMIa2bcAy5FIMhuSzEaNIIoil44cZP+vy0m/cK7scUEmwz88ksCYBngFBKF2d0epdsFQWoK2qJD89DTSLpxFW1hQNkbl6kbLvrfTaeRY3Dy9auHVVA5jeik5P57EWmJCEeCK/30tUXhVXtOspvi3vXI/FwKmt0ThW7ccYgkJiZsHo97Mia0pnN6RSkm+oexxtZuC4PpeePm7ovFzQamWYzFbMRutFGRpyUsrJTelBPO/UjZ8Q91p0z+CRh2DkdeCDqSkg1ZBJAetZkg8eYztC38kOzEesEXD6rXtQONuvYhp1xGVy/Xzr0RRJD89jfN7d3B62yYKszIBULm60n7oKDoOvxOli3M6EMa0ErJ/OImoM6MMcbdFpDycPyJlztWR/eMpLHl65L4uBNzfqkpCuRISEhJVxWoVObc3nX1rLqErMgLg4qGkWfcQ6rUJIDDKE5ns+tEws9FCyrl8Lh3P5uKhLEwGCwAevmq63dmABu0DazSiJjloFURy0BxLSX4e2xf+yLnd2wFQurjS5vYhtB86EndvnyrNKVqtJBw/wq6lC8lKiAPAOziEQQ8/TVjjpnaz3R6YsrRkf3cCa6kJVaQG/3ta1KmcLkuRgazvTmDJ1aPwdyXg/lbIPZ3fuZSQkKj75GeUsmneGbISiwHwDHCl49BoGrQPRFHFnsIGrYnTu9I4sSWF0sudVUIbetPrrkb4hXnYzfbrITloFURy0BzH+b072fj9Vxi0pQiCjDYDh9J17ARcPeyTdyVarZzft4vti+ZSkpuDIMjoMHwU3cdPRq6ofSfInKcne/ZxLEVGlGEeBMxoicyl9u2qLOYCPdnfncCSb0AR6ErAA62Ru0t9PCUkJByDKIqc2ZXGruWxmE1WVK4KOgyJplWfcLttSZqNFo5uTOLIH4llhQVdR9Wn1W3hCDeIyFUXyUGrIJKDZn9MRgPbF8zh+MYNAATFNGTAjEcIimngkPX0pSVs++kHTm/fDEBEs5YMf/olXDW193laSoxkfXvcFnkKdCPggVZ12qkx5+nJ/u44lkIjqkgNATNaIlTxClZCQuLGiKIVi0WLKJoRRTMKhRcyWd09h1QUs9HC5gVnuXgoC4DwJj70n9YMdwelVxTn6dm+5DyJp3IBiGjmS/9pzXBz4E6B5KBVEMlBsy/FuTms/vB/ZCdcAkGg88ixdBs7EZnc8T/msQf2sOHrzzDpdXgFBTPq+dfxC490+Lr/RTRZyP7hJMakYuS+LgQ+2Aq5Z93P3TJllpL17QlEvRmX5n74TWzq8CtNCYlbBbO5mOzsTeQX7Kek5BylpbFYrfqy5wVBjos6DFe3KHx8uuLv1wd390Z1phqxIuiKjaz/9gQZl4qQyQW63FGfNv0jHH6eEUWRU9tT2b3yIhaTFQ8fNYMeaElQtGN8AslBqyCOdtBEq8iJrSk06xGKUn1zRxyyEi6x+v03KcnPw9XTiyGPPkN063Y1akNOUgK/fvQWhVmZqN3cGf3y/whp2LjG1hetInk/n0N3MgfBVUHgw61RBrjV2PqOxnCpkOwfT4JFxKNbKN4j6te2SRISdRZRFMnL20VK6kJyc3ciisZKjXdxiSA8fBJhoeNRKJxHsqcqFGRpWfflcQqzdajdFAx+oCVhjauWp1xV8tJK2fDdSQoytahc5Ex+pxsuDtj5kBy0CuJoB23Pqosc/SuJkPpeDH20Neo6lCBeGeKPHea3z97HpNfhFx7JqBfewCswqFZs0RYVsuajt0m7cBaVqyt3vjiTsCbNamTtwj/iKd6WAnKBgOktUMd418i6NYn2RDZ5S2wyKd53NsCjU0gtWyQhUbcQRZHc3K3EJ3xFUdHxssfd3BoQENAfjaYFHu6NcXEJQRAUCIIcgzELnTaJktJz5OZuJz9/L1arLcldLvcgPGwC0dEP10lHrTBby+pPjlJaYEDj58KwR1vjG+JeK7YYdGY2zTtDdEs/mvcMc8gakoNWQRztoGVcKuS3L49j1JkJiNQw/PHWuNYBiYXKcPHQfn779D2sFjORLdsw/KkXcXGvmWqYa2HS61n9wUySz5xEqXbhzhffJLxZC4eu+W/HxWd8Y9zbBjp0vdqkaEsSRX8l2hzRGS1RRzu/Fp2EhDOg16dx7vzr5OZuBUAmcyEs9C5CQ8fj4dGowvNYLDoyM38jKXkupaWxAKhUgTRs8BJBQcPrzNZnYbaOXz89Qkm+AZ8Qd+54sg3utawRKYqiQ98/yUGrIDWRg5adVMzaL46hLzHhE+LOyKfaOjQBsSa5sH83v3/+IVaLhUZdezLk0WecooISwGTQ8+tHb5N08hgqV1fGv/kBgdExjlkro5Ssb44hGq149ArHe0g9h6zjLIiiSN4S21auzENJ4GNtnVp4V0KithFFkdTUJVyM+wCLpRRBUBIRMY3IyPtQq6re7k0URXJytxAb+w46XSIAfr69aNbsY1QqP3uZ7xBK8vWs/OgwJXkGfILdGPl0u5vmt/F6VMbvkJqlO5iASA2jnmmHu5eK/PRS1n5+DH2pqbbNqjaxB/awbtYHWC0WmnTvzdDHnnUa5wxAqXZh1POvE9GsJUadjlXvv0lRdpbd17FqTeQsPINotKJu4I3XwGi7r+FsCIKAz5hGKIPdsZaYyFt0FtEsNVeXkCgPi0XL6dNPcv7C61gspXh5taNTp99o2ODFajlnYPsuBvj3o0vnDcTEPI1MpiY3bwcHDgwnv+CgnV6B/THqzKz76gQleQa8g9y44yYKXNgTyUGrAXxD3Bn5jO3qIDe1hHVfHceor1gPMWck6dQJfv/8Q0SrlWY9b2Pwo0/XSKVmZVGoVIx49hX8I6Iozc9j5buvoyspttv8oiiStzIWS64eubca37ubIMjrxtZCdZGp5fhNaYbgosCYXEzhHwm1bZKEhNOh1SZy8NBoMrPWIQgKGjZ4hfbtluHh3tCu68hkaupFP0LHDqtxc6uPwZjJ0aMTSU5ZaNd17IHVYuXPOafITS3BzVPF8Mdb1/q2prMiOWg1hHegGyOeaIPaTUFmfBEbZp/EUgejDpmXLrLm47ewmM007NSNgQ8/iUzmfM7Z37i4e3DnSzPx8PMnLy3FFvWzWuwyd+n+DPSnc0Eu4DepaZ3WOqsKCl8XfMfa8mZKdqWiO51byxZJSDgPxcWnOXR4DKWlF1CpAmjXdjGRkfciCI772fXwaEzHDqsJDh6JKFq4cOFNLsZ9jDNlMu1cFkvS6TwUShlDH2mFp9/1W/3dykgOWg3iF+bB8MfaoFTLSTmXz9ZF55zqi3MjCjIzWPneGxh1OiKat2LIY886tXP2Nxo/f+588U0UajVJJ4+xe2n1rypNGaUUrLsEgNegeqjC6171lD1wbe6HRw9btVPeiguY8/Q3GCEhcfOTX3CQw0cmYDLlodE0p1PHNXh7d6iRtRUKd5o1/ZiYmKcBSEz8lrNnn8dqrf1dmzO70zi1IxUEGDC9OYFRkv7o9ZActBomqJ4ng+5vgSATOL8vg8MbEmrbpAph0Jay+oOZ6IoKCYyuzx3PvopCVXdyBgIioxn44BMAHFjzCxf2767yXKLJQu7P58BsxaWxDx7dQ+1lZp3Ea1A0qggNot5M3vLziNa6c9EhIWFv8vJ2c+zYVCyWEry9O9Gu7WLU6pqVHRIEgXrRj9C0yfsIgpz0jFWcPfs8omif3YOqkJ1czI6lFwDoPCKGmDYBtWZLXcF5srpvISKb+9HrrkZsX3Ke/Wvj8QxwpVHH4No265pYLRbWzfqAvNRkPHx8GfXC66jd6p4Aa5Nuvci4eIHDv//KH9/Mwj8iGt/QymvdFKy7hDlTi8xDic/YRg5Vui4xlpClzSJXn0uRsYhiYzElxhJKTaVYRAsW0YJVtCKKImq5GrVCjVquxlXhirfaG18X37Kbu9LdIeXjgkKG791NyJx1BGNCESU7U9H0Drf7OhISzk5h4RGOn3gAq9WAn18fWrb4GrncpdxjrUYj5qwszFlZWAoLsZaUYCkqwlpSimgygdWCaLGC1YqgVCCoXZC5uiCoXZB7eSL38UXh54vc1xe5tzeC7Op4S2joWJRKL06eeoyMzDXIZGqaNHm3xmU4DFoTf3x/CovJSlRLP9oPjKrR9esqkoNWS7ToFUZBlpbjm5LZsuAcPkHuBEQ65zbZ9oU/knD8CAqVmpHPv46Hr3OXb1+PXhPvITP+IilnTrH+y4+4+62PkCsqnjumO5VD6f4MAHzHN0ZuB127QkMhFwsuEl8YX3ZLLUklU5tJqam02vP/jYfSg3BNOOEe4YRrwqnnVY9GPo2o710fV0X18kAUvi54D48hf2UshX8loG7kg6qWxCYlJGqDkpLzHDt+H1arDl/fnrRq+S2YRHTnTmOMT8B46RKG+EsYExMxZ2Riycuz29qCUokyPBxlRDiq8HBUUVGoGzdG3bgxAQG307zZJ5w6/RRp6cuRy91o2PDVGnPSRFFky8JzFGXr0Pi50H9aM6lNXAWRdNBqsRen1Sqy/psTJJ7KRePnwriXOuLi4VyJ5md3bmX9V58AMPypF2nUpUctW1R9ivNyWPDso+hLS+g0ciw9755aoXGWEiOZnx3BWmrCo3c43oMrr3dmtBg5kX2CUzmnOJV7itM5p0kpSbnuGI1Kg7+rP54qTzxUHngqPXFTuiEX5MgEGXKZHAEBo8WI3qJHb9ajM+soNBSSp88jT5+H1qy95vwCAlGeUTT1bUqbwDa0CWxDI59GKGSVu34TRZHchWfRn8lFGexG4KNtERRSFoXEzY9Ol8qhw2MwGrNwN0USsacrhpPnMFyIBfO1c78EtRpFYCByLy/knhpkHhpkHh4ISiWCXAYyOYJchmgyYdUbEPV6rHo9lqJCLHn5WHJzsRQWXtc2RUAA6qZN0PVSkhL6BwANG75KZMQ9dn0PrsXZPelsWXAWmVxg9PPtb/m8M0motoLUtoMGoC81seL9QxRl64ho5suwR1sjc5Kri+ykBJa88gxmo4Eud46n+/jJtW2S3biwfze/ffoeCALjXn+XiGYtbzgmd8lZdCdyKuV8mK1mjmcf50DGAQ5lHOJ49nEMFsNVx4W6h1LPux71POtRz6sekZ6RBLkFEeQWhJuy+tvJOrOO9JJ0UkpSSC5OJqU4hYsFF7mQf4E8/dVX8q4KV1oHtKZraFe6hXajkU8jZBWoPrOUGMmcdQRriemWEO2VuHURRRHjpUsU7dvBebcvMHgVoUgV8P9MgUz7zzlc7u2NqkF91PViUMXEoIqOQhkaanPMvL2rHckSTSZMmVmYUpIxpaRgTErGGH8J/fkLmJKSrji2pL+FojstIEJk3GBCW0zAtX17ZGrHyFwU5ehY+vYBTHoLXUbG0H5QtEPWqUtIDloFcQYHDSAnpYSVHx7CbLTSYUg0nUc4RvG+Mhi0Wha//CT56WlEtWrLnS+9WScqNivDn7M/59TWjWj8Apj68dfXzavTnswhb/FZkEHgw22uW7VZoC9gV9oudiTvYFfaLoqNV2qv+bn40TawLc39m9PcrznN/Jrhpa69dkk5uhwu5F3gZM5JjmYf5UTWCYpNV9rs6+JLt9Bu9IvsR7fQbtd1GnVncsldcAYECJjRCnWM1ApK4ubAajSiPXCQkm3bKNm2DWNqMvnTzejbiciKIOBzDZrotri2aIlLyxa4tmiBIiSk1lovWUpKMV6MRXfyFLqjRyk9doTcPiloe1gR9OD/iQJVrhtuHTui6XsbHv36oQy0T5s6q1VkzWdHSYstIKS+FyOfaec0wYfaRHLQKoizOGgAFw5msPFH24/ayCfbEtbYp9ZsEUWRdbM+4MK+XWj8Apj0/izcPG++H1mjXseC5x+jMDOD1rcPpf/0h8o9zlJqIvOzw1hLTGhuiyi3W0ChoZAtSVvYEL+BAxkHsPyrWspb7U2XkC50DO5Ih+AO1POs59S98qyilbiCOA5kHGBv2l4OZBxAZ9aVPe8id6F7WHf6RfajX2S/cp21vF8uoD2UicLPhaAn2yEoby7nXuLWQTSZKN2zh6L1GyjevBlrSUnZc8XDRYoHmxBEGc08/0dQ69EITl7dbkhP4fipGRTLLyDPlxPwtgyZ7vL5SBBwbdMGTf/+eA4ehDK06hXqxzYlsfuXiyjUcu56tSNeAXWvsMwRSA5aBXEmBw1gy4KznN2Tjru3mrte7VRr+Wintm7kz9mfI5PLuWvmh4Q0bFwrdtQESaeOs+KtVwAY/+b7hDe9uql67s/n0B3PRhHkRtBj/2xtmiwmtqVsY+3FtexK24X5XzpDDX0a0ju8N73De9PSvyXyOhx9NFqMHMs6xvaU7WxO2kxqSWrZc64KV/pG9mVEzAg6h3Que51WvZmMTw9jLTKi6ROBl7S1IVGHEEUR/YkTFKxcRfGff16R5yUP8EfTpw/mPgFcED4HoGmTDwgNHVNb5lYak6mQgwdHotMn4ePSmYjTfSjZtBn98RP/HCQIuHXqhNeIEWgG3o7cw6PC8xfl6Pj5f/sxG630mdiY5j0rXy1/syI5aBXE2Rw0k8HC8ncPUpCppV5rfwY/2LLGIy356aksfOEJTAY9Pe6eSueRY2t0/drgr+++4OSWv/AJCWPKh19eoe+mO51L7kJbZDPw4TaoIjQkFCawKnYVa+LWXJG/1dCnIYOjBzMweiCRnpG18VIcjiiKnM8/z6bETfyZ8CcJRQllzwW4BjCq4SjGNhpLsHswutM55C48CzKBwEfboAqt+AleQqI2sBQUULj2Nwp++QXDhQtlj8v9/fEcOBDPoUNwbdMGoymb/QeGYTLlERY2kSaN/1eLVleNouJTHD48FqvVSIP6zxMV9QCmzEyKN22i+I8/0R78p5enoFbjOWgQPhPuxqVVq+v+LomiyLqvjpN0Oo/Qht6MfLqtU+8Y1DSSg1ZBnM1BA8hOKuaXDw9hNYv0vrsRLWpQT8piNrP09efIiIslollLxrz29k2Xd1Ye+tIS5j/zMKX5eVdUdVr1ZjI+OYy12Ihb71D2N7nA8vPLOZR5qGysv6s/IxuMZFjMMOp716+tl1AriKLIyZyT/Bb3GxsSNlBosEUZ5IKcPhF9GN94PA23eKE/lYsy3IPAh9tI5fUSTon26FHyl/xM8Z9/IhqNwN9OyUC8Ro7ErVMnhMv9hkXRwpGjkyko2I+HR1M6tF+JXF43e0mmpC7h/PnXEAQ57douuaLbgSk1lcLf1lG4Zg3G+Piyx12aNcNn4gQ8hwxB5nq1PM/f6ToyhcBdr3bCJ1iS2/k3koNWQZzRQQM4vjmZXStikStkjH2pA35hNRN52LV0AftXL8fF3YPJH36Jp/+to/Qce3Avaz9+B5lcwZSPvsQvLIKC3+Io2Z2GVmPiiYYfkqKzbe3JBBk9wnowuuFoeoX3qrQcxc2IyWJiS/IWlp1fxsGMf668W7k0551TD6EwyfAaFoOmh7TVIeEciBYLxZs3kzd3Hrpjx8oeVzdujPfYsXgNH4bc6+rc20vxXxAf/zlyuTudOq7Bza3uViqLosiZM8+QkbkGF5dwOndah0KhueoY/fHj5P+8lKING8ocWJmnJ9533onv1CkoQ0IAmyrBkjf3oSs20Wl4PToOrbvvjaOQHLQK4qwOmi1EfIKk07n4hbkz9qWOyB2sJ5V85iTL//cyiOJNo3dWWVZ/MJNLRw4S1aotXcfei2VuMjIEXo74gqMe5/Bz8WN84/GMajiKYHfn7fxQ28QVxLHs/DLWxq2l1FTK4PzuPJ4xEbPCitdjzfAJunUcfwnnw6rVUrB6NXk/LSiToRCUSjyHD8fnrvG4tLx2aklR0QkOHR6DKFpo3uxTgoPvqEnTHYLZXMz+A8PQ61MICRlDs6YfXPvY/HwKV64k/+elmFIv56IqlXgNH47fffexf7+Rk9tT8Ql2Y/yrnRz+u1UXkRy0CuKsDhqAtsjIz//bj77ERIeh0XQe7jjpDaNOy0/PPUpRdhYtbhtQ1rPyVqMgI515zzyEaLbQscFd1LNEst3zEMubbWNq86kMjRmKuo5uZdQGpaZSfov7jZ9Ozefx0+NoqWvIIc0Z4gaWMLnZZALd7FPOLyFREaylpeQtWkzevHlYCgoAkHt54X33XfhOnIgi4PoXDhaLgQMHR6DVXiQocBgtWnxeA1bXDPkFBzly5G5ApGXLbwgMGHjd40WLhZKdO8mbOw/tgQMAlHiEcaDDS4DAHU+1JbwWlQicGclBqyDO7KABxB7K5K85p5HJBMa82MFhraA2/fgtx//6Ha/AIKZ89BUql+q1/amLpJWk8f2J74n/fQujMnvRwX8germRzMlKujbuUSGRVonyMVvNbD+2iforXFCIct4I/4ajXucZ13gcM1rOwM+17rYOk3B+rFot+UuWkPvjXCz5+QAoIyPxnToF71GjkFWwr3DsxfdISpqDShVAl84bUCpvLgfk4sUPSUz6DqXSl86dN6BW+VdonO7YMbK/n8POvBYUeDciIOsIXfwvEPjkk7g0a+Zgq+selfE7pF8dJ6ZhhyDqtwvAahXZ/NNZLGar3ddIPn2C43/9DsDtDzx+yzlnGaUZvLX3LYauHsrK2JUkRllo5dsbAG1ICd2b9JKcs2qikCno124Q3j1tla2P50wCs8jis4sZvGowXxz5giJjUS1bKXGzYdXpyJ03n4sDbifr40+w5Oejiooi9MMPqL9hPb4TJ1bYOSsoOERS0o8ANG3y7k3nnAHExDyBh0dTTKY8Yi+8VeFxrm3aYJz+OgXejZBhoUHCGkp37CT+ztGkPPUUhn8VGEhUDumXx8npdVdjXDyU5KaWcGhDgl3nNun1/PndFwC06j+IyBat7Tq/M1NiLGHW4VkMXTWU5ReWY7aa6RzSmTnqj1HJXMgzpLP1wEJK8nJr29SbBs9+Ucg8VfjpPVno8xUt/FqgM+v44eQPDF45mLmn5l4hiCshURVEq5WC1b8SN2gwWR98gCU3F2VEBCHvvUfM7+vwGjGirCKzIlitBs6eexkQCQkZg79/X8cZX4vIZGqaNnkPkJGZtY6cnK0VGmc2Wti9MhaA9kPr02L1IjyHDwdBoHjDH1waNpy0V1/FlJ7uQOtvTiQHzclx81TR665GABzZkEh2UvHVB4kimA2gzYPCVMiNg4JkKMkCXQGY9OXOvWvZQgozM/Dw86fXxHsd+CqcB7PVzLJzyxi6eig/nvoRo9VI+6D2zBs4j68bf4rLWTMIkOgei9mgZ/fyxbVt8k2DTC3H+3JVl/dhWNBtLrP6zKK+V32KjEV8dvgzhq0exrpL67iFMy8kqkHpvv3EjxlD+ksvYc7MRBEaQsg7b1N//e94jxqJoKh8xXVi4vdotXGoVP40bPCyA6x2Hjw9WxIZafstOHf+NczmkhuMgBNbUyjJM+Dho6btwChUUVGEffQh9X5djcdtt4HFQuEvK4kbOIisWbOwlpY6+mXcNDhtDlpqaiq7du0iNDSUnj173vB4s9nMkiVLaN++Pc2bN6/QGs6eg/Zv/vjmMHEnCvHz0TO2+zbkJalQlGa7lWbDv1oLlYvKAzyCQBMMHkGkmgJZuuY0AHc+9wr1OnStgVdRe4iiyM7UnXxy6BMuFV4CINozmqfbP02fiD4gQtY3xzCllODWIQh9Kys/v/YsCAJTPviCgCipXNweiKJI9vcnMcYX4trcD7/JzbBYLfwe/ztfH/2atNI0AFoHtObFTi/Swv/qzg4SEv/FcOkSWR99TMlWW9RH5uGB3wP34ztlSrUagWu18ew/MASr1Ujz5rMIDhpuL5OdFotFx779g9HrkwkPn0LjRm9c81h9iYmFr+3FqDPTb1pTmnQJueoY7dGjZH/6WZnwrSIwkMBnn8Fz2DAE2a0XI6rzOWj79u2jefPmLFq0iClTpvDwww/fcMw777zDU089xYYNG2rAQgdjMUHKYdj9OSwZDx83olf6KNRCMbn5LpzYngHn1kHaESjJuNI5kylBpQGFy5VzGksgLw4Sd2M+uZo/N9i+LM29Mqj3+xD4piusewqOL4P8BFtU7iYhuTiZRzY/wiObH+FS4SW81d681OklVt2xitsib0MQBLRHsjCllCCo5XgNjCa0UROb1IgosmPxvNp+CTcNgiDgc0d9kNm6NOgv5COXyRlRfwRrR63liXZP4Kpw5Xj2ce7+/W5e3fUq2drs2jZbwkmxlpaS+dFHXBpxh805k8vxmTCB+n/9if+MGdVyzkRR5Ny5V7Fajfj69iQocJgdLXde5HJXmjR5G4CUlIUUFZ+65rGH/kjAqDPjF+ZBo07lSw+5tW1L5IKfCP/qS5Th4Zizskh7/gUS756A7sSJcsdI2HDKCNrgwYPp378/zzzzDHl5edSvX5/Dhw8TE1O+1MSxY8d47bXX8PPzo0WLFjz77LMVWsepImjFGXB+PZxbD4l7wHR1GPgsY9mSMQGF3MLdo1PwDA0CzxBbZEzlAUpXkP+rf6co2pw9kxZKc2zOXHEGezftYs++i7ipRO5pfAYXc95Va+EVCY0GQuNBEN0TFHVPXsJgMTD31FzmnJiD0WpEIVMwqekkZrSagafqn8/bajCT8fEhrMUmvAbXQ3O5e0NBRjrznn4Iq8XMmFfeJqpVm1p6JTcff4sAKwJcbc3U5f9cK2Zps/j8yOesjVsLgJvCjUfaPMKEphMkUWAJwOY8Ff+1kcz33sOckQGAR58+BD7/HOpr/E5UloyMNZw+8zQymQtdOv+Bq2uEXeatK5w6/RSZmWvx9GxLh/bLEf5TLFWUo2Pxm/uwmkWGP9aayOY3rsa2Ggzk/bSAnNmzEbVaALzuvJPA555F4XPzFV6UR52X2dBoNJw4cYJ69WzbSiNGjGDs2LFMnjz5qmONRiP9+/dn8eLFvPbaa9d10AwGAwaDoex+UVERERERteegFaXBieVw9jdIPXTlcy7eENUNorpDRCcIbIqo8uDXT4+SFltAVEs/hj58/Z5o5ZGfkcZPzz6CxWRi6OPP0aRbL5tzmHoIkvbZbunH4F+Nv1F5QIP+0Gq87V+F6przOwt7Uvfwzv53SCq2CVF2DunMK51foZ7X1VuVhX/EU7wtBYWfC0FPtS9rhg6wZf53HN3wGyENGnP32x9LPeXshFVnJuPjg1hLzXjfUR+PrqFXHXMi+wTvH3ifkzknAWjq25Q3ur1Bc7+KpTBI3JwYExPJePsdSnfuBEAZFkbQq6+gue02u61hNpewd98AjMYsYmKepl70I3abu65gMGSyd98ALJZSmjb9gNCQK5vBb5p3hvP7Mwhv4sOIJ9pU6txoyswi+7PPKPz1VwDkPj4EvfgCniNG3PTn2Mo4aE53OarT6SgpKcHf/x8NloCAADIzM8s9/n//+x9Tp04lIuLGVzfvvfceM2fOtJutVcKkh/O/w9HFcGkriP+SzgjrAE2GQsPbIbAZ/Gd/XgB6T2jMsrcPkHgyl0tHs6nfruJin6IosvnHb7GYTES1akvjbr1AEGxROM/h0PRyfoWxFOJ3wPkNcOFPW+TtzK+2m6svtBwDre+GsHbVfjvsTY4uh/cPvM+fCX8Ctgbez3d8noHRA8v94ptzdRTvtCliew2NucI5A+g8chwnt/xF+sXzXDpygPrtOzv+RdwCyFwVePaPomBNHEWbEnFrE4jM9crTUauAViwasohVsav49PCnnM07y4TfJzChyQQebfso7kqpx9+thGgykTtnDjnfzkY0GhGUSvxm3Iff/fcjc3G58QSVICHxW4zGLFxdIomMuM+uc9cV1Oog6kU/ysW4D7h48QMC/G9HqbQ5FPkZpZw/YItcdh1Vv9JOlTIokND338N73Dgy3ngdQ+xF0l54kYJffyXkjTdQRUfb++XUSZwuB83V1RW1Wk1JyT/VI8XFxXh7e191bGxsLD/99BNyuZz58+dz8eJFDh06xN69e8ud+6WXXqKwsLDslpyc7KiXcTWFKbDxdfikMfxyL8Rttjlnkd1g6KfwzHmYsRl6Pg3BLa5yzv7GN8SddgOjANi57AJGnbnc48rj/N6dJJ44ilyppN+9D177S6Vyh8aDYcQX8PRZmLEVuj5q20rV5cGB7+GH2+CHvnBiBZiNlX477I0oivwW9xsj14zkz4Q/kQtyJjWdxNqRaxlUb9A1X2vB+niwiKgbeuPS1Peq5929fWg3yOa47l66ENFqfy26WxX3TiEoAlyxlpop2lr+d1EmyBjTaAxrR65lSL0hWEUri84uYuSakWxL3laj9krUHvozZ4gfN57sz79ANBpx79aNemvXEPD443Z3zrTaBJKS5gLQsOErdbYRuj2IiJiGm1t9TKY8LsXPKnv84O8JIEK91v4ERlV998mtXVvqrVxJwFNPIajVaPfu49KIO8j59ltEk6n6L6CO43QOGkCzZs3YvXs3AFarlX379tGixdXVXBaLhX79+rFt2za2bdtGRkYGcXFxXLhwodx51Wo1np6eV9wcTsohWHEPzGplS/rXF4BXBPR6Hh47AvdugI7TbdWVFaT9oCi8AlwpLTSyb82lCo0xaEvZ9tMPgC0q5BNSwabVMpktUjbwHXjqDExcCS3GgFwFqYdh1X0wqwVs+8Am81ELZJRm8OiWR3l518sUGgpp4tuEn4f+zAudXsBDde1G84b4QvSnc0EG3sNirunEdRgxGpWrG9lJCVzYv9tRL+OWQ5ALeA215QuV7E7FnFe+HAyAv6s/H/T6gNn9ZxPmEUZGaQaPbXmMl3faPnOJmxOr0UjWrFnEjx2H4exZ5F5ehH70IRE/zkFdzzGV1bEX30UUbYUB/v79HLJGXUEmU9Go0esApKYuRquNJy+tlNhDth2tTsOr/xkIKhX+D9xPzG9rce/WDdFoJPvzL4gfPx79+fPVnr8u45Q5aAsWLODFF1/kmWeeYdeuXWRmZrJnzx4A9uzZg1qtpn379leNmzZtmnMVCfz1Guz54p/70T2h6yPQcOA1I2QVJflsHms/P4YgwNiXOxIQcf02UJvnzubYn+vwCQljykdfoVAqr3v8DSnJhsPz4eAc2xYo2KpHO98PXR4Bd8e37xFFkVWxq/j40MeUmEpQypQ82PpB7mlxD0rZ9V+fKIpkfXMcU3Ix7p2D8RnV8LrH7/3lZ/asWIxPaDjTPvkamaziQpcS10YURXJ+PIXhYgGurfzxm9D0hmN0Zh3fHv+Wn07/hFW0EugayBvd3qBXeK8asFiiptAdP07ay69gjIsDQDNoEMGvvoLCv2ItiKpCXv5ejh6dhCAo6NxpPe7u9R22Vl3i2PHp5OZuIyBgIOn7H+bioSxi2gYw+IGWdl1HFEWK1q0j8+13sBQWglJJwCMP43fffVXSsKs0hmLYPxs0IdB2kkOWqPMyG1OmTOGrr74iNjaWtm3b8vvvv5c9d/78eS5dKj9q1KNHj3IjbbVGg362SFPrCfDATpi2zrZ1aAftl4imvjToEIgo2rY6r+dnZ8bHcexyO6d+0x+qvnMG4BEAvZ+DJ0/C6B8hqCUYi2HnJzCrJWx8w6ERtWxtNg9tfog3975JiamEVv6tWDF8Bfe3uv+GzhmA7mQOpuRiBJUMz/5RNzy+3ZA7cPHQkJ+WwoW9u+zxEiSwyW54DakHAuhO5GBIvHHLJ1eFK0+3f5oFgxcQ7RlNli6LRzY/wmu7X6PYWI6Qs0SdQjQayfpsFgl3T8AYF4fc35+wzz8nfNZnDnXORNHKxYsfABAWdrfknP2LBvVfAGRkZ/9JaoItWNJxqP0jmIIg4DV8ODHrfsOjb18wmcie9TkJd92NITbW7uuVYdLBni/h89aw5W3Y/D8wah23XgVxyghaTeHwCJoo2uQtPALsPzdQnKdnyZv7MButDLi3Wbk6NKIosuzNF0g9d4bG3Xox7InnHWILVqtNJmT7B5BxWdvGxcu2ldtphl1lOjYlbmLm3pkUGApQy9U81vYxJjWdhLyCUS3RbCXjs8NYcvV49o+skIMGsHflz+xZvhj/iCimfPjlLSmy6CjyfrmA9lAmqggNAQ+3rnDSsd6s58ujX7LwzEJERILcgninxzt0DpGKOeoihrg40p57Hv2ZMwB4Dh9O0Msv1YgEQ2bmOk6dfgK53J1uXbegqmCz8FuFs2dfIi19Odqc+ijzP2bQA60cup4oihStXUvGO+9iLSpCUCoJePJJfO+ZZr9zr9UKJ5fDpplQbBPJxjcG+rwMLe4EB+yU1PkI2k2DIDjMOQPQ+LrQflA0AHtWXsSov7pg4NyeHaSeO4NCrabXxHscZgsyGTQdBg/sgLuXQmBz0BfCX6/A153g9Opqi9+WGEt4dderPLXtKQoMBTTxbcKyYcuY2nxqhZ0zgNL96Vhy9cg8lHj0DK/wuLYDh6NydSUnOZG4wweq8hIkroHX7dEIShnG5GJbXmAFcVG48FzH55g/aD6RmkgytZnM+GsGnx76FJNFSjKuK4iiSN6ixcTfORr9mTPIvbwImzWLsI8+rBHnzGo1Ehf3CQBRkTMk56wcfNzux2pW4eYfR8PecQ5fTxAEvO64w5ab1rsXoslE1kcfkTR9OqZrqDpUiqR9MKcvrH7A5px5RcCIr+CRg9BqrEOcs8oiOWh1nDYDIvD0d6G00MjhDYlXPGfS69mxyFaN1HnkODz9HecsliEItm3cB3fCiC9tlZ/5CbBiGvw0HLLLL+C4EUcyjzDmtzGsiVuDgMD0FtNZMmQJ9b0rtw1h1Zsp2mLTRvMcEIVMXfEvoYuHB20G2tTE969eJvWLtCNyTxUePWyFK4V/JSBaKvfetgtqx4rhKxjbaCwiIvNOz2Pi+onEF8Y7wlwJO2LKyiJ5xv1kvv02osGAe48e1Fu7Fs9BA2vMhtTUJej0SahUAURGTq+xdesSx/4sJe/87QBk5n+B1Voz1fvKoCAiZs8meOZMBBcXtHv3ET/iDoo3barahEXptsK9uQMh7agtd7rfG/DoIWg3GeTOoz4mOWh1HIVSTo+xtgT3Y5uSKMj8Z998/68rKMnLxSswiA7DRtWsYTI5tJtiq1Tt/SIoXCFhJ3zbzbbHb9JVaBqL1cJ3x7/jnj/vIbUklVD3UOYNmseT7Z9EKa98Ll3x9hSspWYUAa64d6h45ezftB86EoVKTUZcLIknjlZ6vMS10fQOR+amwJylQ3u08lfIbko3Xu/6OrNum4WX2ouzeWcZv248v1z4RXKmnZSSnTuJv2Mkpbt2IajVBL36KhE/fI8yqOL6jtXFbC4mPuFrAGLqPYFc7lZja9cV8jNKiTuaRe75gSjkfuh0SaSkLq6x9QVBwGf8OOqtWolLs2ZYCgtJefQx0l9/A6u2grliVisc+OHyjs4qEGTQbio8fsQmb6W0r1yLPZActJuA6Fb+RDb3xWoR2bXClkhZkJnBoXWrAOg95T4UqlpS/1d7wG0vwSP7bAK8VhPs+Ai+6QJxW687NEeXw4ObHuSrY19hFa0MixnGyhEraR90dQVvRbAUGSjZdVmUdlA9BHnlFavdPL1o1X8QAPtXL6+SHRLlI3NRoOljE5wu2piEaKqa5ly/yH6sGrGKziGd0Zl1zNw7k6e3PU2R8cYFCBI1g2g2k/XJpyTPuB9Lfj7qpk2pt2olvpMm1riSfGLi95hMebi51SckZGyNrl1XOLoxCUSIahZOgwZPAZCQ8DVmc8kNRtoXdUwM0Ut/xnf6vQAULF9O/Jix6M/fYGcm8zTMvR3WPwuGIghrD/dvt2l9etTcxUBlkRy0mwBBEOgxtiEyuUDiqVwSTuawfeGcso4BDTp0qW0TwScaJiyHcQtBE2rb9lw4EtY9DYarv+T70vcxZu0Y9qXvw1Xhylvd3+K9nu9dV9fsRhRtSUY0WVFFeeLS7GpR2orSYfgo5AoFKWdPkXL22o2EJSqPR9cQ5J4qLIUGSvanV3meQLdAvh/wPU+3fxqFTMGmpE2M/208Z3LP2NFaiapgSk8nccpUcn+w6TL6TLib6KU/o65f81WTBkM2Scm2NJAG9Z9FJvV6vYrSAgPn99uklNoNjCIkZCyurtGYTPmkpCyocXsElYqg554jct5cFIGBGC9dImH8eApWrrr6YIsZtn8E3/WClIO27czBH8H0jRDi2CIHeyA5aDcJPsHutO5riz5snvcnFw/uQ5DJuG3qDOfpbSYI0GwEPHoAOs6wPXboR5jd3dYgHtuW5tfHvub+v+4nV59LA+8G/Dz0Z0Y2GFmtpc15ekovtybxGhhdrfdE4+tP8z79ASmKZm8EpbysqrZ4axLWcgpfKopMkHFPi3tYOHghYR5hpJSkMHn9ZJafXy5tedYSxVu3Ej9yFLojR5B5eBA2axbBr7+OTF07av2JibOxWvV4erbF339Ardjg7BzfkozVLBLSwIuQ+l7IZApi6j0OQGLSHMzm2pG2ce/alXprfsW9Rw9EvZ70V14h7aWXseoup8/kxNqiZlvftvWWbjIMHtlv0+p0ggKAiiA5aDcRHYZG46qRU5hu60PZdtBw/MIja9mqclBrYOjHMGUNeIbbomnzhpC14Rnu+3M6s4/PRkRkdMPRLBla+UKA8ijalAhWW0sndYxXtefrdMcYBJmMhONHyLx0sdrzSfyDW/sgFP62FlB/90mtDi38W7Bs2DL6hPfBaDXy1r63eGHnC5SaSu1grURFEI1GMt//gJSHHsZSWIhLixbUW72qRgsB/ovBkElq2hIAYmKedJ4LWSfCoDNzeoftO9j29n/kiIKChuHm1gCzuZCk5Hm1ZR4KHx8ivv+OgCefAJmMwtWrSRg3HsOv78HsnrZuN2ovGPU9jF8EXhXsoOMkSA7aTYTKRUFIvSREax6CzI02A8fUtknXJ6YPPLwH2k7ioIuKsekbOJR1GDe5C+/3fJ83u72Jq8K12suYsrRoj2YBNjkHe+AVGEzjrj0BOPz7r3aZU8KGIBfwvPxjULIzFUtJ9avFvNRefNH3C57t8CxyQc6G+A3cte4uLuRXrapYouKYMrNInDKVvPnzAfCdOoXoJYtRRUTUql0JibOxWo14ebXH16d7rdrirJzekYpRb8EnxJ3oFv90hxEEeVkULSnpR0ymglqyEASZDP8HHyRy7lzkfr4YYmNJeHU+hXFAzG3w8F5oPd62g1PHkBy0mwh9SQlxh2wdA+Qu3TixJauWLboxotqThQ27MCMkhDy5nEYGI8vSMhlaWrEqz4pQtDERRHBp5ofqBi2xKsPflbHn9+6kODfHbvNKgGsLf5RhHohGC8XXaKReWQRBYGrzqcwbNI9At0ASihKY+PtE1sattcv8ElejPXSI+DGj0R07hkyjIfzrrwh66SWE2ipauoxen05a2lLAVrkpRc+uxmKycnyL7bvX7vZIBNmV71Fg4GA83BtjsZSQlPRjbZh4Be4hFmIG5eEWaMBqlpG214f0S20RXWtAXspBSA7aTcT+X5djKC3BKzAMuaoFp3elkZfmvNs4WpOWF3e+yIcHP8SClSHhfVikiCJaWwgrp8Pax8B07QbaFcGYWoLuZA4I4HV7xToGVJSgmAaEN2uB1WLh6B+/2XXuWx1BJuB1WYS5ZF865vzq/R38m7aBbVkxfAXdQ7ujt+h5ZdcrvLf/PUxWSdjWXoiiSN7CRSROuwdLdg7qRo2o98sKNP2co/n439Ezb6+O+Ph0q21znJLzBzLQFhrx8FHTsGPQVc8Lgox6MU8AkJzyE0aj41r7XRerFXZ8DPOHobCkETnaB7/JowEoWLqUxKnTMGU5f7CiPCQH7SahMCuToxtskYC+995HTJtARKvInlXOmR+VXJTMpA2TWB+/HoWg4MVOL/J+3y9wnbre1h4KAY4sgHmDoKDqEZSivxIAcG0dgDLY3T7G/4v2Q21RtBOb/sCot1/UTwLUDbxR1/cCi0jR5iS7zu3r4ss3/b/hodYPAbDk3BJbYYqu4l0MJMrHqtOR9sILZL7zDpjNeA4ZQvTSn1FF2fcCqaro9WmkpdmKe+rFSNGz8hCtIkf/sn3nWveLQK4o31UI8L8djaY5FkspiUnf16SJNnQF8PNdsOUtEC3Q6i6EB7cT+MrbRHw3G5lGg+7oURJGj0F37FjN21dNJAftJmHX0gVYzGYiW7SmXpsOdLuzATKZTXYj+UwtXdlcgx0pOxj/+3hi82Pxc/FjzsA5TGx6Wf9IroC+r8DkVeDqY1N6/r43xO+o9DqGxCL05/NBBl4V7LdZWeq364hPSCgGbSmntm50yBq3KoIg4Hk5Z1B7JBNzrn0dYJkg4+E2D/P5bZ/jrnTnUOYh7vr9Lk7nnrbrOrcSxuRkEu6eQNHa30AuJ+ilFwn95GNkbs4j/pqQ+C2iaMTbuzO+Pl1r2xynJPF0LgWZWlSuCpr1CL3mcYIgEFPPpouWkrIQo7EGL3CyzsEPfSH2T1C4wB1fw6jZNu1NwKN3b+qtWI6qQX3M2dkkTp5C/ooVNWefHZActJuAjLhYzu3eDoJAr0n3IggC3kFutOhtq1jZvTIWq7X2ZQVEUeT7E9/z6OZHKTYW0zqgNcuHLy9feLZ+X5uQYHAr0ObCgjtgz5cV7ucpiiJFfyYA4N4+GIV/9YsNykOQyWg3ZCQAR9avwWq1OGSdWxV1lCfqRj5gtenYOYK+kX1ZMmQJ0Z7RZJRmMGX9FCkvrQqU7N5N/JixGM6dQ+7nR+S8ufhOnepUESpb9Mz2Ix1T74latsZ5OXH5u9asRygql+trw/n59UGjaYnVqic5eX4NWAec/Q3m9IO8OFsPzXv/hLaTrioEUEVHE710GZoBAxBNJjJee530N99ENNZMm6rqIjlodRxRFMv6bTbr0Yegev9IUnQcWg+1m4Lc1FLO7a266Kc90Jv1vLDjBb48+iUiIuMbj2feQFuy9jXxiYLpf0Hru0G0wl+v2vLSzDf+chkuFmC4VAhyAU0/x0qNNO/dFxcPDYVZmcQd3O/QtW5FvAbYop/aI5mYchyzjRzjHcOSoUvoHd4bo9XIK7te4f0D70t5aRXg73yz5PsfwFpYiEvrVtRb+QvunTrVtmlXkZj0PaJowtu7Mz4+nWvbHKckL62U5LP5CAK07H1jWQpBEIiOtqUKpKQudKwumijCtg9g2SQwlkB0T7h/G4S2ueYQuYc7YZ/PsklxCAIFS5eROO0ezNnZjrPTTkgOWh3n0pGDJJ85iVyppPtdk694zsVDSYch0QDsX3MJYzVEP6tDljaLe/64hw0JG1AICt7o+gavdnm1Yr00la4w8lsY9IGtd9rRhbDoTtDlX3OIKIq2yk3Ao0sICm/HimAq1S60HjAEgEPrVjt0rVsRVYQGlya+IEKxnXPR/o1GpeGLvl/wQKsHAFh8djEPbXyIQkOhw9as64gmExlvzrTlm1kseN1xB1ELF6IMrnyfW0djNOb8k3sW/UgtW+O8nLhcNV2vdQCeFdx5CPAfgLt7Q8zmYlJSFjrGMLMBVj8I29613e/8EEz+Fdz9bzj0bymO8G+/seWlHTlC/Jix6E47dzqD5KDVYawWCzsW20QC2w25A0//q6NRLXuH4xngirbIWJb0WZOczjnN3evu5lTuKbzV3nx/+/eMaVRJfTZBgC4Pwt3LQOVha7o+ZwDkXSr3cENsAcakYlDIyno7Opq2g4YhVyhIu3CW9NjzNbLmrYRnf1sUVHssC1N2BZsjVwGZIOPRto8y67ZZuCpc2Z+xn0nrJ5FYlOiwNesq5vx8kqbfR8GyZSAIBD73LCHvv4esliU0rkVy8nysVgOemlZS5eY10JeaOL/P1nGlVd/wCo8TBBlRUQ8CkJQ8D4vFzt9RbR4svBNOLAVBDsNmweD3bTnLlUDTp48tL61+fcyZmSROmkzRX3/Z11Y7IjlodZiTW/4iLzUZF40nnUeW3+RXrpTRbZRt2/PYxiRK7ChXcCP+SPiDaX9MI0uXRX2v+iwZuoSOwR2rPmGj2225Bp7hkBsLP/SDxL1XHCKK/1T8eXQORq6pmR8Ld28fmnTvDcDRP9fVyJq3EqpwDS5NbVE0e1d0lke/yH4sHLyQYPdgEooSmPD7BA6kH3D4unUFQ1wcCePvQnvgADI3N8K/+Rq/6dOdKt/s35jNxSRfjuxERz/ktHbWNmd2pWE2WfEL9yC0oXelxgYFDsPVJRKTKY/UtGX2MyrvEvx4OyTusvXSnLgCOtxT5elseWk/21pE6XSkPv4EObO/c8r2b5KDVkcx6rTsWbEYgK6j70Ltdm0JiZi2AYQ08MJssrJvTflRJ3tiFa18c+wbntv+HHqLnp5hPVk0ZBERGjtEs4JbwIzNENIGdHmwYASc/KXsacPFAoyJRbboWe+aVSpvM3AYABf27kRbWFCja98K/N2jU3c8G1Om4/X9Gvs25uehP9PKvxVFxiIe2PgAKy+sdPi6zk7Jzp0kjL8LU1ISyrAwopb+jOa222rbrOuSkrIYi6UEd/eG+Pv3r21znBKrxcrJ7SkAtO4bXmknViZTEBV1PwBJSXOwWg3VNyppP8zpb7sg9wyH6X9Cg+pr6ck1GiJmf4vPZFtaUPasWaS98AJWgx1stiNVctAMBgMfffQRkyZNKnvsq6++sptREjfm4G+r0RYW4B0cQusBg697rCAIdB/TEIDz+zLITnJcEqfOrOO57c/x7fFvAZjabCpf9v0SD5WH/RbRBMM9623Nby1GWHkfHPjhyuhZp2DknjW71RJcvyHBDRphMZs5ucV5w+Z1FVWYBy7N/Gosigbg7+rPjwN/ZHC9wZhFM2/ufZOPD36M5Ras1hVFkbyffiL5gQexlpTg2qE90SuW49KoUW2bdl0sFj1JybZCqqjIBxAEKS5RHvHHcyjJM+DioSxXmLYihITciVoVhMGQQXp6NfNxz2+wXYBrc20X5DM2Q1Dz6s35LwSFguBXXib4zTdALqdo7W8kTZ2GOcd5usJU6S/14Ycf5vTp0yxevLjssccee8xuRklcn5K8XA6tWwVAz7unIlfcONk+KNqTRp1sX7rdK2MdEs7N1mYz7Y9p/JX4FwqZgv91+x/PdnwWuUxu97VQucO4BdDxPkCE9c9iWPktxoQiUAho+lQ8f8KetL0cRTu2cT1Wy633I+5o/s5F053MwZRRM10yXBQufNDzAx5u8zAAP535iSe2PnFLNVsXzWZbMcB774PViteY0UTNnYvC17e2TbshaekrMJlycXEJJyhoWG2b47T83dapec9QFMqqnbNlMjWRkfcBkJj4HVZrFQvTji+FpRPBrIdGg2wX5BrHFJ743HUXkXN+QObpie7YMeLHjUN/3jl69FbJQVu9ejWff/552X1n3Lt1BkRRJH/Zcqx21lzZs2IxZoOBkEZNaNi54k1+O98Rg1whI/V8AYmn7CsoeDH/IhPXT+RM7hl81D7MuX0OoxqOsusaVyGTw5CPoc9LiCIUHbaF5N07BCP3dGzl5rVo1KUHrhpPSnJziDssSW7YG1WoB64tLkfRNtVc4r4gCDzU+iE+6vURarma7SnbmbxhMmklaTVmQ21hKSkl+aGHbcUAMhmBL75AyFtv1Xo/zYpgtZpISrQp3EdFzkAmq0Dl+C1IdnIx6RcLkckEWvau3sVtWNhdKJU+6PRJZGf/WfkJ9n0Lqx+wdQZofTeMX2y7IHcg7l27Er10KaqoKMxp6SROnoylsPart6vkoCkUiiv2py9evEh4eO1ELJyZnG++IeONN0i+dzqWggL7zJmcyKmtmwDoPalySbmefq5llTl7VsVhtVjtYtO+9H1M3jCZ9NJ0oj2jWTxkcfnis45AEKDPixg6fYNRbAGY0GhnVUgrzREoVCpa9hsIwDGpWMAhlOWincqtsSja3wyqN4h5A+fh5+JHbH4sE36fcFN3HjBlZJA4aRKlO3ciuLoS/tWX+E2bVmeS7DMz16E3pKFS+RMSUsnq8VuIUztSAVu+sns1ZYnkcjfCw2y5XYlJP1Q8gCOKsPVd+ONF2/0uD8Md31S6UrOqqGPqEb1sKW5duhDw+OPIvbxqZN3rUaVXPmbMGD755BMA9u3bx/PPP8/48ePtatjNgGvbtggeHmgPHeLS3RMI+uZbFGE3Fv67HlsXzkUUrdTr0AWfeg3RGisXQm7aN5wzu9PITy/l+I5UGncPqZY96y6t5d0Db2ERzbQOaMtHPT/FS+1dabuqS1FyC6AId8VGFBcWYlmShmH0TzYdtRqmUe/bObhmJUmnTpASH49vWM0WK9z0+KpRNvPFdCaP/M2JeIyt2Ryo+l5NmXf7Ip7e8TgXC2KZtmEa73T/kB5hPWvUDkdjPH+erEcexpKVhczPj8CvvkbevHmNf7eriiiKJCTNASA4ZAoGiwIsdcP2msSoM3Nhv01ao0G3YLt8vn5Bd5OQ9B3FxSfJyNmLl9cNRItFK8q/XkJ52PZ5GXu9hLn7M2C2AvYJJFQINw/8v50NMhmiKNb6hYggVmF/UqvVMnPmTH777TdEUWTEiBHMnDkTFxcXR9joMIqKivDy8qKwsBBPT0+7z681mhnyxHz+t28OAbpC8tQa3ug6nYveVYs2hutSGJXxGxZkLA4fT6HSu0rztDPI6adTUSqI/OCpx1Slv0ERlf8m1AGbATAVtkafPgbEmt9CaIOcr3DHhMinwgE+UH2Im2Bgt6U595meQUfN/10OyfyD+tp4TmhasN3/5vrhdgYaIGM+HlgRmUgpyTV5Ev8bmR7XsMUoPGIRRQFDxkhMBTeHOn27zPO8cnABbmYDSZpAXutyH1nuzp9v9m+a+p7n2Q5fY7CoeG77TErNjt0mq6u0McgZoFORI7MyT2MAO/kkk5ou47aI3RzPbs4XRx+45nEyrHyo/J4x8h1YRYHXzdNYZBlgHyOqwZn/DcRNZf/oXWX8jiptcbq5ufHBBx9w5swZzp49ywcffFDnnLOaIsErhKd6Pc4lzxB8DcV8tPNrOmacqfxEokj3PJvm1ynP5lV2zgCOqSzky6y4iwKd9FX5AzTjErK8zDkz5PRBnza+VpwzgHuwheTXYeI3sSlTjC9QIrrQXX6a+aoPcaPmtN/+5oRnCwCalJxHaa0bfd/qEhexshsTMgQmU0u5UFYXdMnTMBW0RxBEXEJWowr4gxq94ncAAxP28799P+JmNnDcvz7P9Hy0zjlnALdHbQVgV2oXyTm7FiK0Mdh+A46rzXZzzgD+SrwNqyjQOuA0Ie7ltxqUYeVj5WzGyHdgFmU8aXrYKZwzZ6FKEbRZs2aV+/iTTz5ZTXNqFkdH0ERRRGeyVfJZS0rIfuZp9Hv3gkyG7yuvoBk7rsJzXdi9jc2zZ6FydWPCJ7Nx1VTP3oSj2WyddxaFSsbo1zri5lWxvIMiYxEv7HyGI1mHkAtynu/wMiMb3FktW6qDKaGI4rmnQS7g9URb5JfzJ2SpB1EvHYtgKMYS3hnD+KWgtv9nfC1EUWTpi49RkJZCzyn30+JyKygJ+2FOKabo+1MgA6/H2yL3rZ2LRFEU+fHU9/xwajYAA6MG82rnN1HJnT+J/t+IVisFX31F0ZwfAHAfNhy/mTMRlHUvsV6rvcjxI0MBgbbt/8LF1bH9eOsqmZcKWT/rOHKljPFvdUHtZt+I0fmzj5KXu5GAoNE0aPjulU9azajWPozizEpEmQLjyB+wNBlh1/Wrg6tS7pAtzsr4HVX6NFJSUsr+r9PpWLlyJQMGSF7vfxEE4Z8Qqa837t9/R/obb1K4ahV5b72FkJFBwFNPIsiuH8g0GQ0cuCxK22nkWPz8qn8127RTMGe3p5JxqYiTfyRx2+SmNxyTXpLOg5se5FLhJdwUbnza51O6h1W8itQRZF8WVnTvEIQm8F9XyfW6wpQ1sHAU8pT9uC0bB5NWgkvNJX62HTCYrT/9wLltf9FxyPBaz2e46YjxwdDQG0NsAeY96WjubFhrpjze/hEivcKYuWcmfyZuIFefzazbZuGlrv1E44ogGo2kvfoKRetshS3+jzyC/6OP1Nm/2cS4nwAICLgdX6+YWrbGebm4x5Z71qhjED7e9r/AiYm+n7zcjeRk/UbjBs+iVl9uR2gxw5qH4MwqkCkQxs5H3XS43dev61Rpi/Pjjz8uu3399desX7+erKwse9t20yEolYS88zb+jz0KQO4PP5D23PM3lOE4uuE3inOz0fgF0G6Ifa4wBEGg22jbD9rZPenkppZc9/i4gjgmb5jMpcJLBLoFsmDwglp3zgwJhRjiCkEulN9zM6w9TFkLrj6QchAW3HHdJuv2pmmvviiUKrKTEsi46By6Ojcbnv1skZHSw5mYC2pXBXxkg5F83f9r3JXuHMo8xNQNU+uEDIe11CajUbRuHSgUhLz7LgGPPVpnnTODMYf0jF8BiIycXrvGODG6YiMXj9h+t5v3ql7x2rXw8mqHl1d7RNFIcsoC24MWE6y8F06vApnSpmcpOWflYhdJ5YYNG7Jnzx57THXTIwgCAY88Qsh774FCQdHvv5M8/T4sxeWr+2uLCtm/ejkA3cdPQqmyn75XSH0v6rcNQBRtshvX4ljWMaZsmEKmNpN6XvVYPGQxjX0b282OqlJ0WVjRvX0QCp9rXP2FtoGpv4GbH6QdtTXc1RfViH2uHhoadbE5sSc2/1Eja95qqKO9UMd4gUWkeHtybZtDt9Bu/DToJwLdAokrjGPi+omczztf22ZdE3N+Pon33Evp7t0Ibm5EzJ6N950O1i90MCkpCxFFI56ebfH2qiG5nzrI2b3pWM0iAZEagqIdl/4RdVm4NjV1MWZDPvxyL5xZA3IVjF8ITYY6bO26TpUctDlz5pTdvvvuOyZOnEjXrl3tbdtNjfeokUR8NxuZuzvagwdJnDwFUzlRyH2rlmLUaQmIjqFZT/v3u+syqj4ymUDS6VySz+Zd9fzOlJ3cv/F+ioxFtPJvxYJBCwh2d4yic2UwphRjuJAPAmhuJKwY3BKmrgNXX0g7AkvGgbFm9LNa9h8EwLk9OzBobx3l+ZpE09cWPS09mIGlqPYLMhr7NmbxkMU09GlIji6HaX9M42DGwdo26ypMaWkkTpiI/sQJ5N7eRM2bi0eP2o2KVxeLRUdqqi0dRIqeXRvRKnJ6py2626K3Y6Jnf+Pv3x83t3qYzUWk/3UXnF172TlbDI2v36bwVqdKDtqhQ4fKbidOnKBPnz6sWLHC3rbd9Hh0707UwgXI/f0xnDtH4t0TMMTHlz2fn5HG8b/WA9B74r03zFWrCt6BbmVf0D2rLiJa/6kZWXdpHY9veRydWUf30O78cPsPeLt4292GqlC81RYtcWsdgMKvAlpnQc1g8mpQe0HSXvj5LjDpHGwlhDVuhm9YBGaDgbO7tjt8vVsRdX1vVJEaMIsU70i58YAaINg9mPmD5tM+qD0lphIe2PgAfyU4T39WQ2wsCXdPwBgfjyIkhKgli3Ft3bq2zao26RmrMZnycXGJIDDg9to2x2lJOZdPUbYOlauChh2q1nezogiCjIiwqQAkC+cRZQoYtxAaSZ/PjajSL/7s2bPLbl9//TVPP/00Xk6gulsXcWnWjOifl6CMjMSUmkrihInoTp4EYNeSn7BaLES3aU9UqzYOs6HD0GhULnJykks4f8CWNLrwzEJe2vkSZtHMkHpD+LLvl7gp3RxmQ2UwZZaiO21rVaW5rRIisKFtbIUCKg+I3wHLpzi844AgCLTqZ4uindi0QWqL5gAEQUDzdy7a/nQsJbUfRQPwVHny3YDv6B/ZH5PVxLPbn2XpuaW1bRbao0dJmDQZc2Ymqvr1if55CeqYup9IL4pWki83RY+MmIYgOKAH8E3Cmd226FnjTkEo1Q5+n0SR4FPHUJit6Nzk5A57GhoPcuyaNwkVruJ888037XKMxNWoIiKIXrKY5PsfQH/mDIlTp6F48Xku7N+NIMjoNfEeh67v6qGi/eBo9q6OY9+aS/wpW8Gcs7ZS+0lNJ/Fcx+eQCfaP3lWV4m22KIlLMz+UQZXUN4roCBOWw6LREPsX/HIPjP3Joe1EmvW6jZ0/zyc7MZ7MuFiCG9Ss8v2tgEsjH5ThHphSSijZlYbXoOjaNgkAtVzNx70/5t3977L8wnLe2f8OObocHmlTOxWSJTt2kPL4E4h6Pa6tWxM++1sUPj41bocjyMnZglYbj0LhSUjI2No2x2nRlRi5dCwbgKY9Qh2/4Ob/odg/h9B6biRFuJEsnMff8aveFDjPr+4tjsLfn8gFC3Dv1hWrVsuOhTYHqXmffgRERjt8/VZ9w/HwVVOab+DwJts26xPtnuD5js87lXNmztOjPW7L1fOsTPTs30R3h7uX2PIgzq2zNea1Ok5c1FXjSaPOUrGAIxEEAc/bbFG0kr1pWLWmWrboH+QyOa92eZWH2zwMwHcnvmPm3pmYrTXbdqhw7VqSH34EUa/HvVdPIufNvWmcM4Cky9GzsNC7USgkYdprcWF/JlaLrTggIELj2MV2fAS7PgUgvMlzgIy8/N2UlDhv4YwzYdcImkT1kHu4EzF7NvufeJT8vDRkVitNxZoRuzQLJi403E3o/g60TR3A8CE9Gduy9gRor0Xx9mSwgrqhN6rqnFzq97WVdy+bBKd+sUlxDPnI1nzdAbTqN4izu7ZxbvcOek++D7Wbc2wX30y4NPVFGeyGKUNL8e40vAZE1bZJZQiCwEOtH8LPxY939r/DytiV5Onz+LDXh7goHC+wmzt/PlnvfwCA54jhhL7zTp0UoL0WJSXnKSjYjyDICQ+fXNvmOC2iKJZtbzbtVr0+zDdk/3ew5W3b/29/G9fOjxFwMo7s7D9ITvmJpk3evf54iapH0IqKijh+/PgVBQMS1ccqEzitsuUpxWQXUPr5F2R+9BGiAyM8RcYiHtz0IGuFReS4p6CyuBB0trnD1qsqliIjpYcygWpEz/5N48Fw5/eAAAd/gO0fVn/OaxDWtDm+oeGYDHrO7ZaKBRyBIBPQ9L0cRdudhlXvfI2xxzUex6e9P0UlU7E1eSsPbHyAQkOhw9YTRZGsTz4pc858p04l9P33byrnDGzSGgAB/rfj4uJgx6MOk5VQTF5aKXKljEadHFgccPIX2PCC7f99XoZujwEQETENgIyMXzEar1YNkLiSKjloixcvpmXLlrRp04YpU6bQsWNHZsyYYW/bbkmOb/yDgox03Ly86TR+EgB5P84l/aWXEE3237bJ1mZzzx/3cDjzMB4qd3qMsYnXnt6ZRn6Gc8lCFO9MAYuIKsoTVT07FaW0GA2DLztm296Fg3PsM+9/EASBlv0GAnBq20aHrCEBri38UQS4IurNlOwrv/9fbdMvqh/fDfgOjVLDkawjTPtjGpmlmXZfRzSbSX/1VXJ/sP1NBzzzNIEvvuCQavDaxGwuJiNzDYAUPbsBf0fP6rcLQO3mICc9bgusfhAQodMD0Pv5sqe8vTqg0TTHajWQlrbMMevfRFTpm/raa6+xYcMGAM6cOcP3339P65ugRLu2MWhL2bfyZwC6jZ1AyEMPE/LuuyCXU7hmLcmPPIJVq7XbeslFyUzZMIUL+Rfwc/Fj3qB59OvaleiWflitIntXX1u8tqaxlJoo3W/7wdXcFmHfBOvO90Pvy1d7vz8Lp1bZb+5/0aznbcjkcjIuXiAnOdEha9zqCLJ/ukqU7ErFarTUskXl0yG4A/MHzyfANYCLBRfLunTYC6teT8rjT1C4chXIZIS8/Rb+M2bU2e4A1yM9fSUWixZ394Z4e3eqbXOcFpPBQuzlHYhm3RxUHJB6BJZNBqsJmo+CQe9fkTYiCAIR4bait5TURVitzpMr6oxUyUFLTEykSZMmuLq6UlJSwsSJE1l3uYebRNXZ/+sKdMVF+IaG07KvLdrifecowr/+CsHFhdIdO0mcdg/m/Oq3Kzqbe5ZJGyaRUpJCuEc4CwcvpIlvEwC6jmqAIED88RzSYguqvZY9KNmThmi0ogxxx6WxAxKb+7wEHaYDIqy633YVaGfcvLyJadcRgFPbNtl9fgkbbm0CkPuosZaYKD2YUdvmXJNGPo1YOGQh0Z7RpJemM2XDFI5nH6/2vJaiIpLuu4+SLVsQVCrCv/gc7zFj7GCx8yGKVlJSFwEQHjb5pnRA7cXFw1mY9BY8A1wJbeRt/wVy42DxWDCWQL3eMOo7KCdaGxQ0BJXKH4Mhg6xsqWjqelTJQbNarchkMlq1asVPP/3EihUr0GgcXA1yk1OUncWR9bYwfa9J9yCT/6NNo+nTh8h5c5F7eaE/cYLEiZMwpVW9x9/BjIPc8+c95OnzaOzTmIVDFhLh+U9Ol2+oe1n59e6VF2tdu8uqN1NyOTRv9+jZ3wiCrUig+Sjb1d/SSZB62O7LNO8zAICzO7diMTtfjtTNgCCXoel9OYq2IwXR7Lj8zeoS5hHGgsELaOnfkkJDITP+msHu1N1Vns+UlUXi5CnoDh1G5uFB5I9z0PTvb0eLnYu8/D1otfHI5R4EB99R2+Y4NWf32M6hzbqH2P8cWpwBC0eBNgdCWsP4RaAovy2hTKYmLMyWvpOcPN++dtxkVMlB++yzzwD45ptvWLZsGV999RVz5tgvd8dqtfLxxx8zYMAApk6dSvy/1PX/S2ZmJs899xyDBg3imWeeqbNN23ctXYDFZCKieSti2l0dpndr25aoJYtRBAdjvHSJhAkTMVy8WOl1NiVu4oGND1BqKqVDUAfmDZqHv+vVqjSdhtVDoZaTlVDExcO1+56W7k9H1JtRBLji2sKBCjoyue2qL6YPmEphyXjIu/bfXlWo16Y9bl7eaAsLiD8qFdY4Cvf2Qcg0KiyFRrRHnPuc4OPiw5zb59A9tDs6s45HNz/K75d+r/Q8xsREEidMxHD+PPIAf6IWLcStY0cHWOw8/F0cEBJyJwqFRy1b47zkZ5SSfrEQQYAmXexcRKEvhEVjoCARfOrBxF/A5fq9PcPC7kYQVBQVHaOw8Kh97bmJqJKD9uSTTwLQrl07duzYwcGDB+nXr5/djPr888+ZN28ejz76KP7+/gwZMuSaUZw77riD4OBgnnrqKZKTkxk6tO41Xs24eIGzu7YB0HvSvde8ulHXr0/0ksWoYmIwZ2SQOHESumPHKrzOLxd+4Zntz2Cymugb0ZfZA2ajUZUf+XT3UtPudltF3L5f47CYaicKIZosFO9MBUDTOwJB5uAtDIXadvUX3BJKs20he639qo3kCgXNevUFpG1ORyIoZWh62Xq0Fm1PRrQ4dwcHN6UbX/b9ksH1BmMWzby480UWn11c4fG606dJmDARU0oKyshIopcswaVJEwdaXPvodKnk5NhSEcIvR2Qkyufsblv+blQLP9y9y49sVQmTHpZOhMyT4B4Ak1eBR+ANh6lV/gQHDQekKNr1qJKD9sEHH5BWjS22G/H999/z6aefcscdd/DJJ58AsHXr1nKP3bx5M8888wwDBw7k22+/5fDhwxgMBofZZm9EUWT7IpvAYrOetxEU0+C6xytDQ4lavAiX1q2wFBaSeM+9lOzcecM1vj/xPTP3zsQqWhndcDSf9PkEtfz6X9Q2/SNx81JRlKPn5Pba6XFYeigTa4kJubcat7YBNbOoWgMTVoBnOOTGwtIJthORnWjRx7bldOnIAUoLqp9PKFE+7p2DkbkrsOTq0Z3Irm1zbohSruT9nu8zselEAN4/8D5fHPnihikGpfv2kzRlKpbcXNRNm9ou4iLsIEPj5KSmLQGs+Ph0w929fm2b47RYLFbOXa5obtrdjsUBViuseRgSdoJKY2uj51vxlmEREbb+nFnZf2AwOHeUu7aokoOWnJxMmzZtGDp0KCtWrLCrQySKIhcvXqRt27Zlj7Vp04bY2Nhyj3d3/0cxeuPGjXTq1Am1unzHw2AwUFRUdMWttok7tJ+Us6dQKFV0v2tKhcYofHyImjsX9x49EHU6kh96mMLffiv3WKto5f0D7/Pl0S8BmNFyBm90fQOF7MYaxUq1nM4jbF+4Q+sT0JfWbMWNaLFSfNkx1PQOR5DXoDyAZwhMXAFqT1tz9V8fslu3Ab/wSEIaNEa0Wjm7s/wLD4nqI1PJ8egeBkDR1mREq3NH0QBkgowXOr7A420fB+CHkz9ct+tA0Z9/kTxjBtbSUtw6dSJqwU8o/G/+RjoWi4G0tOUAhIdL0bPrkXgyF12xCVdPFVEt/ew38da34dRKkClg/EJb7lkl0Gia4+XVDlE0kypJbpRLlX7xvvrqK5KTk5k2bRrz588nMjKSxx57zC4GGY1GzGYzLi7/qGv/XS16PQ4cOMBrr73GggULrnnMe++9h5eXV9ktopavMi1mMzsWzwOg/bCRePpXPEIkc3cn4puv8Rw6FMxm0p57nrz/vHaTxcSLO19kybklALYTf7vHK5Ug2qRrCL6h7hi0Zg5vSKjwOHugPZqNpcCAzEOJewcHiipei6Bmtu1OmRJOr4LNb9pt6uaXo2intm2q9SKMmxmPrqEIajnmLC36M7m1bU6FEASBGa1sF1IyQcbK2JU8u/1ZDJYrL4Tzly4j9cknEU0mNAMGEPHD98hvkWKtrKz1mEx5qNUh+PvZL73mZuTs5QKrJl2CkdvrIvfIQthp291i+OdQ/7YqTRMeZtOtS01dIklulEOVPy21Ws3YsWP57LPPGDZsGF999ZVdDFKr1Xh7e1+xhZqamkpo6LVDs7t27WLSpEmsWbOGRo2u3Yj6pZdeorCwsOyWnJxsF5uryolNG8hPT8XNy5uOIypfBi+oVIR+9CE+k21/5JnvvkfWZ7MQRRGtScujWx5lQ/wGFIKC93u+z6Rmlb/SlMkEuo22bbue2JZCUY6u0nNUBdEqUrzN9vloeoYhKOU3GOEgYnrDHZf/tnd/bjch2ybde6FQqshNSSIj7oJd5pS4GpmrAo/Lmk9FW5PrlDM8ptEYPun9CSqZis1Jm3lw44MUG4sRRZGcb78l4803QRTxHjeOsFmfIbvGzsHNyD/SGhOQVWA34FZFW2Qk8bQth9ZurZ3itsK6J23/7/kstK16BDMwcBAqlT9GYxbZOZKA93+pkoNWUFDA999/T7du3RgwYADBwcFcuGC/H5nbb7+defNskaVLly6xb98+brutfA998+bNTJs2jTVr1tCsWbPrzqtWq/H09LziVlsYtKXs+eUfUdqq9mYUZDKCXn6JgMuFG7nffUfiyy8wY8N09qTtwVXhypf9vmRoTNWLJyKb+RLexAerWWTfrzUjXqs7lYM5R4fgqsDd3lVHlaX1XXDbq7b/r38Ozldfu0ft5k7Dzt0AOC0VCzgUjx5hCEoZptQSDBfqVs5f/6j+zB4wG3elO4cyD3Hv+mkkvPkq2Z9/AYD/ww8RPPNNBHktXcDUAkVFJygqOoYgqAgNHVfb5jg1Fw5kIFpFgup54hNshwbyWWdh+RSwmqHFGOj7arWmk8lUhIbeBfxTkSvxD1Vy0OrXr8/27duZOXMm8fHxvPPOOzRs2NBuRr355pssWrSIpk2b0rZtW1544QWCg4MBW4HC7Nmzy44dPXo0VquVGTNm0KNHD3r06EF2tvMnBO//dQX6/4jSVhVBEPB/8AGC/zcTZDJ0q3/j9jnH8ZN5Muf2OfQI61Ht+buNbgACxB7KIjPesbl7oihSvNUWPfPoFopM7QRXyL2ehbaTQbTCL/dAWvVLw//e5jy3ewcmY90pbKlryN2VuHe2OflFW2s3al4VOgZ3ZN7AeQQofBj401n0y2ydLoJeeYWAxyuXsnAzkJJii54FBQ5Gpbr58+2qw7l9NqHmJl2Cqz9Zcaatqt1QBJFdYeQ3V3QJqCo2yQ05BQUHKCk5X307byKq9MsXHx/v0OhT06ZNiYuL49SpU4SEhBAWFlb23OjRo1H+q9Hv+vXrsf4nedvLy059Gh1EYVbmv0Rp771ClLY65N3enh/OejN1eR6dLoh0Xh9Gw5H17DJ3QISGJp2DObcvg90rYxn1TDuH/TDoz+djSi9FUMnKtqdqHUGAYZ9BUaqty8DPd8OMLeBZdfsim7fCMyCQouwsLh7YS9Mefexnr8QVaHqFUbI3DWNCEYZLhahjnPsc8V8au0Qy+69ILGezMcvgpzs9uW9oB3xr27AaxmTKJzPL1rVG6rt5fXJSislNKUGmEGhQ3RxeoxZ+Hg+FyeBbH+5ack0h2sriog4mwP92srI3kJKykCZN3rbLvDcDVYqg1cTWoIuLCx06dLjCOQNo0KABUVFRZfe7detWFjn7+6ZSqRxuX3W4UpTWPkKSx7KOMfWPqWyMLmLevWHg7o549CSJk6dgtlNEsfMdMciVMtIvFhJ/PMcuc/6Xf0fP3LuEIHd3UEPfqiBXwtj5ENAEitNtTpqx6r1RBZmM5r1tCc6ntkr5F45E7qkuKzQp2ppUy9ZUDnN+Pon33Itl/2FwdWXRvVH82VDLPX/cw8GMg7VtXo2SlrYCq9WARtMcT882tW2OU/N39KxeK39cqnMetVpg1QzbroGrr6263c2+lwZ/O9vpGb9iMtW+uoKzUIO6BRIAaRfOcm73dhCE64rSVoadKTu5f+P9FBoKaeXfijcf+YV6ixYi9/fHcO4cCRMmYkyq/o+Sh48LbfrZKl/3ro7DYrG/eK0xvhBjYhEoBDQ9wu0+f7Vx8YK7l4KbH6Qfg18frJb8RvPetm3OpFPHKcqRtIAciaZ3BMjAEFuAMbm4ts2pEKa0NBInTER/4gRyb2+if5rPK48vp31Qe0pMJTy48UE2J22ubTNrBFG0kJJqE++V+m5eH6vFyoUDtsbojaubw7t5JpxbB3KVLXLmZ3/NOW/vTri7N8Jq1ZGesdLu89dVJAetBhGtVrbO/x6wiZXeSJS2Iqy7tI7HtzyOzqyje2h3frj9B7xdvHG5LFipjIjAlJxMwoSJ6M+cqfZ67QZG4apRUpCp5cxO+4sV/50j5N4hGLmnk0ZCfev9I79xZg1se6/KU3kFBhHerAUAZ3dus499EuWi8HXBrY1N5bwu5KIZYmNJuHsCxvh4FCEhRC1ZjGurVniqPJndfzZ9I/pitBp5etvTrLxw8/+o5eZuR69PQaHwIihoWG2b49QknclDV2TEVaMksnk1ol3Hl9qq1wHu+AaiutrHwP8gCEJZFC0lZRGi6Lz9c2sSyUGrQc7s3EpGXCwqV1d6VFCU9nosPLOQl3a+hFk0M6TeEL7s+yVuyn+qQVWRkUQvWYy6SRMsOTkkTplK6f4D1VpT5aqg41BbXtvB3+Mx6uzX8NuYXIwhtgBklLXpcVqiutn0fwB2fAgnVlR5qmY9ba2fzuzcWqdkIOoimj4RIID+TC6mjNLaNueaaI8eJWHSZMyZmajq1yf65yWoY/5RaXdRuPBJn0+4s+GdWEUrb+59kzkn59zUfz9/V/mFho5FLnetZWucm3N7bdubjTpWQ/ss5RCstQkm0/MZaDXWTtaVT3DQHcjlHuh0CeTl7XLoWnWFKn1yLVq0qNBjEv9g1GnZuWQ+AF3uvAt3b58qzyWKIp8f+ZwPD34IwKSmk3iv53so5VfnGSgCAohauAC3Dh2wlpSQPGMGRX/9VeW1AZr1DMU7yA1dsYnDfyRWa65/83dUw61NIApflxsc7QS0nQjdLp/A1jwCyVXLB2rUpTsKpYq81GSy4mtGxuRWRRnohmsLW+Wfs0bRSnbsIOmee7EWFuLaujVRixaiDL66Ck8hU/Bm1ze5r+V9AGXnBOtNGH3QahPIzdsBCISHTaxtc5wafamJhBO2HOHGVa3eLEy1tbizGKDx0H9khhyIQuFOSMho4B+du1udKlVxnj59ukKPSfzD/tXLKS3Ixzs4hLaDR1R5HrPVzFv73mJV7CoQ4ZEmjzDAbwBHjxxFp9NhMBgwmUzI5XIUCsU/2m//m4nys88wbdxE6pNPYXnzDXzGVU1DSC6X0e3O+qz/9iTHNifRtHsI3oFV03H7G1NmqU3pXbgc5agr9H8Tci/C+fW2E9qMLeBdOfvVbu7EdOjMhb07ObNji122viWujea2CHQnc9CdyMY0IAqlv/NEYwrXriXt5VcQzWbkfXojPPMMp5OSKD17FoPBgMFgQCaToVAoUCqVaDQaRviMwLO5J5+e+pRFZxeRp8/j7e5vl3vBVlf5O/fMz683rq6RtWyNc3PxcBYWsxW/MHf8IzwqP4FRazuXlWRCYDO48zuQ1cxmW3jYJFJSfiInZws6XTKurnXot8ABVMlBCwoKIjk5uaxVUlJSEkFBtdCKp46Qn5HG4d9/BaDPlBkolFU7cWqNWl5d9yqpSan0NPQk2BRMRkIGC6mgwJ+fH57jx+GVlEzgTwtokZ1D9MMPVSnZNrqVP5HNfEk6k8euFbEMe6Ryfdj+y9+Vm67N/VBW09mrUWRyuPN7mDsIMk/ZKjvv/QPUlTsxNut5Gxf27uTcnh30njzdbtIrElejCvXApYkv+nN5FG9LxnfMtbuP1BSiKHLxhx84ve53cjp3Ii8sDK1MBosXV3iO8S7jSRVSuZR/iafynuKDIR/grrKDOGktY7HoSE//BbD9gEtcn/OXG6M37hJS+XO7KNp2A9KP2Qqh7v4Z1DXXPszdPQZf357k5e0kJXUxDRu8WGNrOyNVctBGjx7NfffdxzvvvIMoirz88suMHj3a3rbdNGxfOBeL2Ux063aVltWwWq3Ex8dz+NhhTp49iafZE09sMidWrMjlcnx8fPDx8cHd3R21Wo1SqcRisWA2m9HpdGWtrYqKiigSBIqiIkmOiuRwdha+M/9H69v60Lp1a7y9vStslyAI9BjXkKX/O0DiyVwSTuYQ3bJqopHmXB3a4zYpkDoVPfsbtcZ2IvuhL2SehDUPw9ifKiXiGN26Ha6eXmgLC0g4cYSYtvaRX5EoH03fCPTn8tAeycKzXyQKn9rZUs/OzubYsWOc3rOXAtEK7dpe8bynpye+vr5oNBpcXFxQqVSIoojZbMZoNFJUVERBQQEFBQWY9WaCCCJIFwTH4L1T79GuZTs6te9EWFhYna16zMhci9lchKtLJH5+vWvbHKemIFNLxqUiBAEadapC0GTHx7a+wzIFjFsIPtF2t/FGhIdNIi9vJ2lpK4ip9yRyeR1Id3EQVXLQPvzwQ15//XUmTZqEIAgMGzaMmTNn2tu2m4KEE0eJO7QPQSajz5QZFT5JarVaDh06xJEjRygoKABAjhyjzEh0/WjaNW5HREQEAQEByCoYftZqtaSnp5OSksL5vXtJ12rJk8nYunUrW7duJSYmhi5dutCgQYMKzekT7E6rfhEc25jEruWxRDTxRa6sfCi8eHsKiKBu5IMqvI42e/aOhPGLYf5QW2Xnzk9s3QcqiFyhoEn3Xhzd8BtndmyVHDQHo470RF3fC0NcIcU7UvC5o+a2lS0WC6dPn+bQoUMk/Uv+RmaxEO7mRsMePYiIiCA0NLTCmo4mk4nMzEzS0tI4evYoyQnJKMwKThw9wYmjJ/D396dTp060adPG6XUi/40oimWdA8LCJyIIUl3b9Ti/31YcENHMD3evSgrJnv0Ntl4WiR36CUR3t7N1FcPf/zZcXMLQ61PJzFxHaGjl+1TfLAjizVz2cwOKiorw8vKisLDQIeK7VouFBc8/Rm5KEu0Gj+C2afdXyKa9e/dy6NAhTCYTAGaZmUT3RIp9i3l3+Ls0879+z9GKkrl6NYfn/EhCZARZ/9qiDggIoHv37rRq1eqGjppRZ2bxG/vQFhnpMjKG9oOiK2WDpdBA+ocHwSIS8GAr1NF1S+H9Kg7Ph9+eAASYsAwaVbyNV0ZcLItffgqFUsWD3y+qcn9WiYqhv1hAzpyToBAIeaETco1jHReTycTRo0fZvXs3hYWFAAiiSEhqGtHJSbSZPp3AKuaF/pcLuRd4ee3LeOZ4EqYNQy7atsxdXV3p1KkTXbp0wdXVeXLvrkVBwSEOHxmPTKamR/c9KJXetW2S0yJaRRa8uoeSPAO339echpXpHpBxEn4cCKZS6PQADPnQcYZWgITE74iL+xCNpgUdO/xaZ6O/5VEZv6NSEbQ333yz7Hat5yX+4fjG9eSmJOGi8aTrmAnXPVav17Nr1y727duH2WyTrvDy82KPag+xqljCvML4bsB3hGvsJz8RNGoUvfz9iXn8CUpkApe6deNiSAjZ2dn8+uuv7N69m379+tG4ceNrfkFUrgq63VmfTfPPcmhDIo07h+DhU/Ert+KdqWARUUV71n3nDKD9NEg/Dofmwsr74L7NEFCxHKegmAb4hoaTl5ZC7P7dtLhtgGNtvcVR1/dCFanBmFRM8c5UvIfYpy3af7FarZw4cYItW7ZQVGRTSXd3daVRUhIRu/fgJoqEffYZmr632W3NRn6N+HLsl9y/8X6OFhylsb4x7XXtKS0qZfv27ezfv58ePXrQuXPnK1rnORt/V/MFBY2QnLMbkBZbQEmeAZWrgnqtKpFuUpJty501lUJMHxj4rsNsrCihIWOJj59FcfEpioqO4+XVprZNqhWkeLEDcfX0wt3bhx7jJ+HiUX7SuNVq5dChQ3zxxRfs2rULs9lMREQEbQa14Wefnznnco4mAU1YMHiBXZ2zv/Ho2ZOo+fPwVChpuXETo/bu47ZOnXBxcSE7O5ulS5cyf/58srKurXLfqHMwwTFemA0W9qy6WOG1LaUmSvfbElo9+95ElVmDPrA1EzYU2aqh9IUVGiYIAs16XdZE27HFkRZKYHu/NZf/7kr3pWEpNdl9jcTERL7//nt+/fVXioqK8PT0ZGD37ozYsZNGm7fgrlYTOW+eXZ2zvwnxCGHB4AU0DWzKabfTrAhcQat+rQgICECv17Np0ya+/PJLzpw545T6aQZjDllZfwAQHi4VB9yICwds25sN2gWgUFWwyMhighXT/umxOXY+yKuU+WRXVCpfAgOHApCSWsEiODtRlGOf1oj2QNridOAWJ9j0zxQqdblVeZmZmaxbt47kZFsFo7+/P/379+eC4gJv7HkDs2ima0hXPrvtM9yVjq3GMsTFkTT9PswZGSiCgwn85msOpaezd+9ezGYzMpmMrl270rt373JzWLKTiln+3kEQYdQzbQlteGOdt8I/EyjemowyzIPAR9vcVGFsSrLg+z625uqNBsFdP1eoVL0oO4sfHr0XgBlfz8XTP9DBht7aiKJI1hdHMaWXoukXideAqBsPqgA6nY6NGzdy5MgRANRqNb169aK1ry/pDz6EOTMTRXAwkXN+QN3AsflvWpOWp7Y9xZ60PSgEBW91e4vwknC2bt1attXaoEEDhg4dio9P1fUZ7U18/Fdciv8ML8+2dOjwS22b49RYTFbmvbALg9bMyKfaEta4gp/jhhdh/7eg0sCMzRDQ2LGGVoLCouMcOnQngqCiR/fdqFT27f9ZHsW5Ocx76kGi27Rj0ENPonK1f5pJZfyOKkXQDAYDS5Ys4a233rrhtuetjsrV7SrnzGKxsG3bNr777juSk5NRqVQMGjSIhx56iP2W/byy+5Wy7gBf9/va4c4ZgPqyWrkqJgZzRgaZ99xLNz8/Hn30UZo0aYLVamX37t3Mnj27zKH8NwGRGpr1CAVgx9JYrDfo02nVmynZa2sV5XlbxM3lnAF4BNraQSlc4MIfsPWdCg3zDAiUWj/VILYomq1yuGR3GlZ99TtjnD9/nq+++qrMOWvXrh2PP/44bV1cSJ06zdYdoMHl7gAOds4A3JRufNX3KwZHD8Ysmnlp90ucVp/mkUceoWfPnshkMi5evMg333zDoUOHnCKaZrWaSU37GfinkbbEtUk8lYtBa8bDR01oQ++KDTq+zOacAYya7VTOGYCnphUaTQtE0UhaetU7tVSGrT99j8mgp7SgAKW69qtHq+SgjR8/nm+//Rar1YpCoSi7SdyY3Nxc5s6dy7Zt27BarTRp0oRHHnmETp07MevoLD4+9DEAk5tNvmZ3AEehDAkhavEiXFq3wlJYSOI996I4eZK77rqLu+++G41GQ15eHnPnzmXTpk1YLJYrxne5Iwa1m4Lc1BJObE257lole9MR9RYUga64NPNz5MuqPcLa/dMOaufHcPrXCg2TWj/VLK7N/VEEuCLqzZRc1pCqCgaDgbVr1/Lzzz9TWlqKv78/99xzDyNGjMC6fz9J907HWlSEa9u2RC9ahDKkmk2sK4FSruT9Xu8zoYktF/b9A+8z+9Rs+vbty8MPP0xUVBQmk4l169axePFiiotrt5l8Ts4mDIYMlEpfAgMH1aotdYG/tzcbdghCkFXgYjf9OPx2uQtKr+egqfP1NhUEgfAwm3OemroYUbTcYET1iD96iNj9exBkMvpPfwihhsR5r0eVtjg1Gg3JycmV0s1yRmpii/PfnDx5krVr12IymVCr1QwdOpRWrVphspp4fffrrLu0DoCn2z/NtObTai2qZNVqSXn8CUp37QKFgtD33sVr+HB0Oh0bNmzgxIkTAISHhzNmzJgr/g5O70xl2+LzKNRyJrzRGU05LZusRgsZHxzEWmrCZ1wj3Nvd5CLHf7wM+74GpTvctxGCml/3cIO2lNn3T8ZsMjLpvVlSZ4EaoPRwJvkrLiBzVxL8QkdkFc3huUxmZibLly8nNzcXgK5du9K3b1+USiX5K1aQ8cabYLXi0acPYZ99iqyWKihFUeSHkz/w5dEvARjdcDSvdnkVGTL2799fduHl7u7O6NGjiflX/8+a5MiRieQX7CM66iHq16+4XM2tiEFnZt5zu7CYrYx7pSMBETeQKirNtaVfFCZBgwG2anOZcwpjWyx6du3ujtlcQOtWP+Dv39ch65iMBn569hEKMzNoP2wUfSZPd8g6UANbnK1btyYzM7NKxt2KWCwW/vjjD1auXInJZCI6OpqHHnqIVq1aoTVpeWzLY6y7tA65IOedHu9wT4t7anXLT+bmRsQ3X+M5bBiYzaQ99zx5Cxbg6urKnXfeybhx41Cr1aSkpDB79mwuXLhQNrZZ91BC6tsKBnYuu1Du/KUHM7CWmpD7qHFrfQvkWA34H9TrbauS+vlu0OZd93C1mzv1O3QGpGKBmsKtTQByHzXWUhOlBzMqNfbUqVPMmTOH3NxcPD09mTp1KgMHDkShUJDz7bdkvPY6WK14jb6T8K++rDXnDGxRiftb3c/rXV9HJshYGbuSZ7c/i0k00bVrVx588EGCgoIoLS1lwYIFbN26Fau1Znt7lpTG8n/2zjo8irPrw/f6btyFKAECARKc4k4pFCjuLqXtW3vr7vbW+9Vx11KkLe4uIUAIIUI8IS4bXZ/vj4UUikU2RnNf115NszPPnAmzO2eO/fILTgFivLzu3f3eCMSFmaWdHD2tcfG+j4KJ0QCb55idM8emMHZRvXXOACQSZfkctNTUmmsWOLP1N9SZGdg4OdNj3OQaO05lqZKD1qZNG0aMGMF7773HZ599Vv5q5HaKi4tZuXIlp06dAqBXr17MmDEDBwcHcstymbdnHsfTjqOSqvi/Af/HyGZV1+m0JCK5nCaf/w/HGeYQc+Ynn5L19TcIgkDr1q154oknaNKkCRqNhrVr13Ls2DEEQUAkFtF3akvEYhEJF3OIv3BrR4xgMFF8xJz+tO3rg0jygNWe3QmJ1Nwd5eAHBUmweS6Y7h2uv9HNGXXiCCZjzYb2GwGRRFyuYlF8JBXBcH+nxGg0snv3bn777Tf0ej1NmzZlwYIFNG3aFMFoJPPDD8n+7v8AcH78cTw/+ghRPSkFGR84nq/6foVMLGN/8n6e2PsERboiXF1dmTdvHh07dgTg8OHDbNiwAa1WW2u23RhM6+o6CKWySa0dt6ESe9YcLAns6n7/B/sDH0D8IZBZwaS1oKo/TSF3w6vJFEBEbt4RSksTLb5+bmoKZ7eZa9z6z3q8RhoDqkqVHDRHR0fGjBmDRqMplxm5Me2+kb9JSUnh119/JSkpCblczsSJExk0aBBisZhEdSLTdkzjUs4l7BX2LHp4EX28+9S1ybcgEotxf/11XP/7XwByFy4k/e23EQwGHB0dmTNnDp07dwZg3759bN26FYPBgHMTG9oPNo8vOLohBt1Nhdel57MwqnWIbeVYd3rAU5s3Y+Vk/kKUqiDuABz69J6b+4V0uEX6qZGax7qTO2I7OUa1jpKwe2cISktLWbVqFSdPngSgZ8+eTJs2DWtra0xlZaQ+8yz5a9eBSIT7G2/g9sJ/610jzCC/Qfwy6BesZdaEZoYye9dscspykMlkjBw5ktGjRyORSIiOjmbp0qW18h1vMBSRkbEFaNTdrAglBVpSo/MBCOxyn+/TiN/h+PWa2Md+BHfLDDyvaays/HB2Nt8b09LWWnRtwWRiz8LvMRoMBHTsQouuPepV3W+VHLSbo2aNEbS7Ex0dTVFRES4uLsyfP5+goCAALmRdYPrO6aQWp+Jl48Wqoato51o9sfGaQiQS4bLgcTw+/ADEYtS/bSb12ecwlZUhlUoZPnw4Q4cORSQScfHiRVasWEFJSQmdH/XHzkVJcb6WM38mACAYBYoOmTtAbft4IaqCLFSDxqPt300DR76A6J133fSG9BNA5OHGNGdtIJKKse1tnjVYdCgVwXjnL+r8/HyWLl1KYmIicrmcCRMmMHjwYCQSCYbcXJJmzqL4wAFEcjle33yN04z624XY1bMry4Ysw0npRHR+NNN3TCdRnQiYS1lmzZqFtbU1mZmZLFq06I4d3JYkPWMrRmMJVlbNcHTsUaPHehCIDc0EATyb2WPnco/UeWYkbHva/HOPZ6HtmNox0ELcaBa4lv4bRmOZxdYN37+La9GRyJQqBs59Er1ez/r168vrrOuaKt8hDx06xFtvvcWbb77JoUOHLGjSg0P//v0ZMGAA8+fPx9XVFYC9SXuZu3suBdoC2jq3ZfWw1TS1r5kJ5pbEcfx4vL77FpFcTvGBAyTNmIkhJweAhx56iKlTp6JQKEhJSWHRokUUFhXQZ5K5bTv8QCpZSYWURWRjyNUgtpJi3bX2OtjqFe0mQtfrkl+/L4DcuLtueqObMy70NLqy0tqw7l+P9UMeiK2lGPM0lIXfPrDy2rVrLFmyhJycHOzs7Jg7dy6tW5sjEdqEBBInTUYTHo7E3h7fZUuxe6T+dyAGOQexaugqvGy8SC1OZdrOaYRlmqO2Pj4+zJ8/v7wubfny5URGRtaIHTfrbnp7T6t3Ecf6SMwZc6S3xb2iZ2X55oHZ+hJzLezAd2vJOsvh7NwHpdIHg0FNZuafFlmzKC+HI2uWAdBr0gykVjasXLmS6Oho/vrrL0pL6/47t0oO2rfffsuUKVMwGAyYTCYmT57Mt99+a2HTGj4SiYQ+ffqgUJilj1ZeXsmLh15EZ9LRz6cfS4YswUVVCUmOOsZu8GB8ly9D4uCA5tIlEidOQhtndjCaN2/OvHnzcHR0pKCggKVLlyJ31tGisxuCSeDAikgKD5ifvm16eiFW1N/C1Brn4Y/B5yHQqmHDdNCV3HEz94DmOHp6YdDruHr2VC0b+e9ELJdg08sLgMKDKQimv6NosbGxLFu2jOLiYtzd3Zk3bx7u1zVsS8PCSJo0GX1KCjJvb/zWrcOqU6c6OYeq4Gvny+phqwl2CUatVTNvzzx2JZin+Ds4ODBnzhxatmyJ0Whk06ZNnDt3zuI25OefpLT0KhKJNZ4eoy2+/oNGfkYJ2clFiMUimne+S7OVyQS/Pw75CWDvC+OW1QulgMoiEknwvt4wkpq2qtppSEEQ2L/kF3RlZXi2aIn/Qz1YunQpqampKJVKpk6dilU90EKukoP29ddfs2vXLj777DM+/fRTdu7cyddff21p2x4YjCYj/zvzP74I/QIBgUktJ/Ftv2+xktX9BVBZrDp2xH/9OmR+vujT0kicPIWS02cAs8j63Llz8fDwKH/a9u+pRGkjQ5ZVhiGzFJFCgk33f2n07AZSOYxfAdZukHXZLK5+hy8ckUhEUK9+AFw5dqh2bfwXY9O9CSKlBENWKZpI89iMS5cusXbt2vJmgNmzZ5e3yBfu3kPyrNkY1WqUwcH4b1iPIqD+R8X/iYvKhSVDljDAZwB6k56Xj7zMkktLEAQBhULBxIkT6dixI4Ig8Mcff3Ds2DGLHv+G7qaHxyik0vuMimikPHrm08YJlc3t6i6AudY1do95YPak1WDdcGdOenqOQyyWU1R0mcLCC9VaK/bMCeJCTyGWSOkycQbLli0vj4rPmTMHX9/6IT1YJQetsLAQb++/dSF9fX3LRYAbuRWNQcOLh19k9RXzl8+LnV7kjYfeQFKPW5vvh9zfH//161F16ICpsJDkefNQb98OgI2NDbNmzcLX1xetVsvGzetp1k9OoNJ8qYnbOCO2qr/izLWGnae5s1MkgUub4MzCO27WqldfAJIuXaCkIL8WDfz3IlZKselu7h4sPJjC+fPn2bx5M4IgEBwczNSpU1EqzfP9cpcvJ+355xF0OmwGDMBvxXKkzg33JqiSqvi639dMCzIX6H8b9i0fnPoAg8ks9zZixAh69uwJmBuD9u7da5Giao0mnZycfUBjc0BFEAShfDhtYNe7pDejd8KRz80/j/gOPOtnnXNFkcudcHczD9S94cxXhbLiIg4s/QWA1o+MYOuuPRQVFZUHGNzc6s/opyo5aMOGDWP+/PmEhYURFhbG/PnzefTRRy1tW4MnT5PH3D1z2Z+8H5lYxhd9vmBW27obQGtJpI6O+C5biu0jj4Bez7VXXiXn558RBAGlUsn06dMJDAzEYDBw5NxuCuQ5GAWBk9EFGO8jA/Wvwb8nPPyh+efdb0Dy7WlMR48meDQPRDCZiD5p2YhFI3fHppe5iSU8I4pt27YB0KlTJ0aPHo1UKkUwGsn4+BOyPvsfCAKOU6bg/f3/Ia4HaZHqIhFLeLXrq7zW9TVEiPgt5jeePvA0JfoSRCIRgwcPZtCgQQAcP36cHTt2VNtJS7u2DkEw4uDwEDY2gZY4jQeazIRCCnM0SBUSmoa43r5BXoK5xhXMNa/tJtWugTXEDdmvzMwd6HS5VVrjwNJfKCnIx8bbnwvpOZSUlODh4cGsWbOwt7e3pLnVpkoO2s8//4yHh0e5BJCHhwc//fSTpW1r8Hxz7hvCs8Oxk9ux6OFFPNK0/hcMVwaxUonX11/hNNcs7p393f+R/tZbCHo9MpmMiRMnEhwcjEkwcUAWQZgom/S0Es7vSa5jy+sR3Z6CNmPAZICNM6Ho9vEOQT3NUbSo44dq2bh/LxJrGTH+BRyXRQPQtWtXhg8fjlgsxlhcTOpT/yF/lXlwptvLL+P+9luIJA03Kn4npgZN5dv+36KUKDmedpyZO2eSWWK+Pnv16sWIESMAOHv2LDt37qyyk2YyaUlLWw806m5WlBvpzYB2Lsj+Wc+r18DGGeYaV+8u5prXBwQ7uxDsbEPM+pzXKq/PGX3yGFHHD2O0siHX2ZOysjK8vLyYOXMm1tbWCILA8ojlXMq+VAPWV54qOWj29vb8+OOPxMTEEB0dzY8//ljvPM/6wMtdXqavd19WDVtFJ/eGUzBcGURiMe4vv4zHu++Yx3Bs/p2UBQswqtVIJBKGtetPM6M7gkggXBWBVpHD2b8SyE0rrmvT6wciEYz8HlyDoDgDNs0Co/6WTVr26INIJCY9NpqCjKprRdY29WmeUGU5deoUh1POAhBi8GNAy+6IRCJ0qWkkTZ5C8eHDiBQKvL79Bue5cx6IqPidGOA7gGWP/D2GY8qOKUTlRQHmiOLIkebB2mfOnGHXrl1V+jfPytqNXp+LQu6Oq8sgi9r/IGI0mrh67sZwWo/bN9j5MmSEg5WzudZVepf6tAaKl/dUANKura2UPmdJQT77lvyEUWmNtmkQOp0eHx8fpk+fjkqlQmfU8fbxt/nq3Fc8e/BZ1Fp1TZ1ChalyO0dqaioJCQm3CGb369fPEjY9MNjJ7fhh4A91bUat4Dh5MrImTUj97wuUnDhJ4sRJeP/8E8UHi+irb43EWUVMQSJFjlcgX8TepZGMf60zkn/bLLQ7obCBiavN+njJJ2DvO/DI34NsrR0c8Q1uR1L4eaKOH6bb2PqRrhAEgcKcMjITCsm7VkJBVhmFOWWUFenQlhnQa4wgAolEjFQuxspegY2DHDsXFa6+trj62uLsZYNEWr+ugdDQUHbtMncwdnUPJjjJlaJDqZjUiaQ+8wzG3Fwkri74/PQTquDgOra25mnr0pY1w9bwn/3/IV4dz4ydM/ik1ycM8htUrjiwfft2Tp8+DcAjjzxSKYc1Nc0ciWziNRmx2PL1qYIgkJuSREb8VXKSE8lNTaY4P49SdQGa4qLyTl2xVILK1g6VrR22zi44efng5OWNR0ALnH18EdeTuuHUqHzKivSobGX4BP1DCeD8aghbCYhg7BKw96oTG2sSd7fhxMZ+ikaTRk7uIVxdBt53H0EQ2LvoB0p0ejRNgzCZBPz9/Zk8eTIKhYJ8TT7PH3yesKwwxCIx84PnY6+o+6BTlcTS3377bX788UfatGmD5KawfkObh1bbYun/BjRRUaQ8+RSG9HSkPiGoOj0NEhFuL3Zk+4EdREREgCDCLr8NXfu0o9e4FnVtcv3hyh+w4XqB9NglEDyu/K2IQ/vY/fO3ODXxZtbXP9dZxKZErSX5ci5JEbmkxRSgKdbff6d7IFNK8GnlhF9bZwLau6K0qdsGkosXL7Jli3mSfc+ePenXsReZX4WCCUqPfY4x5yqKoCB8fv4JmccdohcPMIW6Ql4+/DInrp0A4JkOzzA/eD4ikYhz587xxx9/AOa/2+DBgyu0ZlHRZc6cHYlIJKNnj6MoFHeop6oCep2W+HNnuHr2FMkRFylVF1RrPYWVNU0CW+HfvhPNOnXF3q3u/u33LrtMzOlMgvt502fSTfV66eGwZDAYNND/Lej7cp3ZWNPEXv2M5ORFODn1pkP75ffdPuLQPnYs+YUyv5YIUhk+Pj5MmzYNhUJBXEEc/9n/H9KK07CR2fBl3y/p6dWzxmyvjN9RJQfNzs6OCxcuEBAQUGUj6wONDlrNYMjJIfXpZ8CqH1K31kidivB4ZRhGo5Hff/+dy5cvgyDGIS+YsU/1xSfIqa5Nrj/sew+OfWPWypt/ANzM6hPa0lJ+fnwqRr2eaZ99h3vTZrVmUlmxjriwbGLOZJB+9dawv1gqwtXHFhcfWxzcVNi7qrB2UCBXSpEpzQ9vJqOAXmOkRK2lOF9LQaZ5flNWchHaEsMtazUNcSWopye+QU6IxLXrhF6+fJnffvsNQRDo2rUrQ4cOBUEg/cPtmMqc0adfQGobjdf//ofY2rpWbasvGEwGvgz9kjVX1gAwtOlQPujxAUqpktDQUP780zxEdNCgQfTq1eu+61258jrX0jfi7jactm2/q7Z9GXGxXNjzF7Gnj6Mr+3vivFSuwKN5C1x9m+Li44edqxtW9g4obWwRXw8yGPV6yooKKStUo87KJDcthdzUZDLiYtFrbp1e7+LrT1CvfgT16oetc+3NstRrjSx95RgGrZGxr3TCI+B6lKesABb2hfxEaPEwTN4A4voVmbYkZWXJnDg5ABDo3m0fVlZ3H2ujzspk2RsvoHb3Q5DJ8fT0ZObMmSiVSo6mHuWVI69QrC/G28abHwf+SIBDzfo1Ne6gBQYGcujQIZo0adhCto0OWs2huZpLzuJIBJORkn1vYf/YYDzeeAOjSMT69eu5evUqIpMET11nZrw1qM4jJ/UGkxFWjYaEw+DcHOYfBKX52vzj60+JOX2cziPG0HfanBo3JSNBzaWDqVw9l4XpJtkjNz9bfNs649vaGTdf2yqnqQWTQHZKEUkRucRfyCYn5e+6RKcm1nR6xI/mndwQS2r+RhMbG8u6deswmUy0b9/eXFul1XLt9TcoPnYe64HvIxKJcXu2PfImjTO6NsVs4pNTn2AQDAS7BPNd/+9wtXLlxIkT7NmzB4Dhw4eXa/XeCb1ezbHjPTCZNHTquAEHh7tvey8EQSDhfChn/9hMamRE+e/tXN1o2aMPTdt1xDMwCKmsat8xJqOR7KQEUi6HEx92ltSoywim653oIhF+we3pOGwkTdt1QlTDTlHM2Qz2LonEzkXJtA/NdZGYTLBhKkTvAAdfePywWfv3AefCxbnk5h7Cx2cOgS3evOM2RoOB1e+9RqJJhiBX4ObmyqxZs1GpVKy5soYvQr/AJJjo5N6Jb/p9g6Oy5sXja9xBO3r0KO+++y5TpkwpnwcEMG1aw5pf0+ig1RzZSyPQxuQjsS2gYPWrIAhYdeuG97ffYLSyYuXKVaSmpiAyymjnMYDHnur2wBZaV5qSHPi1DxSmQdBImLASRCJiz55k+5cfY+PkzPwfl9ZITYzRaOLq2UzCD6aSlVRU/nsXHxsCu3jQvLMbtk7Ke6xQdbJTirhyIp2ok+nm+jXA3lVFj7HNadrOpcauj9TUVFasWIFer6dt27aMGTMGY3YOqf/5D5qICJDJcJz+NYY8Bap2rjhPblUjdjQ0zqSf4YXDL6DWqnGzcuP7Ad/T2rk1+/fv5+jRowCMGzeOtm3b3nH/5OQlxF79BBubVnTt8meV/n2vxVzh8OplXIs2y0+JJRJa9uhDyMAheLVsXSMOU1lxEVfPnCTyyAFSr/ztEDp6etFh6Aja9B2IXHkPXcxq8OePF0m6lEvnYf48NPJ6pOfYN+bIu0QOc/dAkw41cuz6Rk7OQS6Gz0MqtaNXzxNIJLf/zfevWsLxy9GYlFY42Nszd948lFZKPj3zKZtizF2go5qP4p1u7yCT1E6QoMYdtNmzZ3PkyBG6du16Sw3a6tVVHx5XFzQ6aDWDLqWIrB8vgBg8XuxM2cWTXHvpZUylpcj8fPH5+WdMnp4sXrSU3LxsxAYFw/qNpfOgxvlH5aSchWVDwaSHhz+CHs9g0Ov55fFpaEtLmPDOJ/i0CbHY4YxGE9GnMgjdkUhRrgYwpxwDO7vTtp837v619/nQluq5dCiNiwdSymvcvFo60ntCC5y9bCx6rNzcXJYsWUJpaSnNmjVjypQpaC9eJPW55zBm5yBxcMD7h++RNmlF1v+dBxG4v9AJmWvDn3dmCZILk3nmwDPEq+NRSpR83OtjBvsN5q+//iI0NBSxWMzkyZNp0eLWWlNBMHHy1EDKypJp1fJjvLwq1/hSUpDPgeULiTlpdgSlcgXthzxKx6EjazXlWJCZwYU9fxFxYA/aUrNkm9Lahs4jxtDhkeHIVZa7TsqKdSx/5Tgmk8CU9x7C0cMaEo7CypEgmGD4t9B5tsWOV98RBBMnTw6kTJNMUKtPadJkwi3vXz13hnXrN2C0tkWlULDgyScxKAy8eOhFwrLCECHihU4vMLPNzFoNDtS4g2ZtbU18fHy5Dl1DpdFBqxlyll9GE5WHVUc3nCaYBdM10TGkPvUU+rQ0xLa2NPnic0SdO/PzD79SoilCarBm9uw5eDVruFPYLc6ZRbDjJbPawMw/wL8nu3/5PyIO7iF44BAefvyZah/CZDQR9Q/HTGUrI2SAD216NUFlW3ct+jqNgbBdSVzYl4LRYEIsEdHlUX86DPFDYoG0Z1FREUuWLKGgoABPT09mzZpF6ZatZHz8Mej1KAID8f7xB+Q+PsBN13Und5zGNz5M3KBIV8QrR17hWJp5kPKCkAU82e5Jtvy+hYiICGQyGbNnz76lJCYn9xAXL85FKrW9Hv2omCMjCAIRB/dyePUStCUliERi2vQbRI8JU7B1qjtdY52mjMuH93N+53by068BoLK1o8vIsbQf8igyRfWjzhGHUzm8LgZXX1smvNEFCtPh195Qkg3tpsCon8xje/5FJCUv4urVz7C1aUOXLtvKHa3C3Bx+/PxTtCpbJCIR8xcsIFuSzfOHnierNAsbmQ2f9f6Mvj59a93myvgdVfqWa9OmDUVFRfffsJF/HbrUIjRReSAC2wF/65kpWwbiv2kjqk6dMBUVkfrEk5QtX8GcuTORihUYpCWsXrGWkkJNHVpfz+gyD4IngGCE32ZDUUa5NmfMqWMY9FXvoBQEgcTwHNZ/eIaDq6IoytWgspPTc1xzpn/cg85D/evUOQOQK6V0G9WMKe89hH+ICyajwOntCWz+3znyrt1ZYL6iaLVa1qxZQ0FBAY6OjkweP568jz4m4733QK/H9pFH8F+/rtw5A7AdYP659HwWhvzG6/QGtnJbfhjwAzNazwDg1/BfeebAMwwYNoCAgAD0ej1r166loKCgfJ/UVHO2xdNzXIWds1J1Ab9/9h57fv0/tCUluAc0Z9pn3zLkiWfr1DkDkCtVdBgynFlf/8ywZ17C0bMJZUWFHFmzjMXPzCN8/y5MporP7LoTN4bTBnZ1N89K/G222TlzbwuPfvWvc84AmniOQyxWUFT8tz6n0Whg+Q/foVXZgiAwefJkThadZOaumWSVZtHUvilrH11bJ85ZZalSBG3GjBmcOXOGSZMm3VKD9tprr1nUuJqmMYJmeXJWXEZzJQ+rDm44TWx52/uCTkfmZ5+Rv3YdADb9+qF76llWb96EIDLhovTjqZdn1kpheINAVwKLB0FWJPh2xzR9K4ueeZzi/Dwee+ktmnfpVuklc1KLOP7bVVKjzNqeShsZnR7xo00fL2Ty+jHr6Z+YtQczObohBm2pAalcTL+prWj5UOXHHRgMBtauXUt8fDxWVlbMGjWa0rffpuziRRCJcH3hvzjPm3fHtEf24ktorxZg3d0Tx8eaW+LUHij+iPuDD05+gMaowdvGm897fM7RLUfJysrCxcWFuXPnAjmcONmfinTg3SA54iI7fviKkvw8pDI5PSdOo+Owx8o7MOsbJqORyKMHObV5Heoss2Pl6utPv5nz8W1beU3MwpwyVr11EkQw69OeWJ/+AE7+AAo7ePwQONdeV3d9IzLyFdIzNuPhPoo2bb5i9Y//x9XsPAAG9+/DIcVJ1keblSr6+/Tnk16fYCO3bKlEZajxFOfdHLHPPvusskvVKY0OmmXRpRWT9X3F6nQKtmwl4733ELRaZL6+ZD35InsunAARtPTuwOR5j9Wi5fWcnKvmIba6Iuj+NIeyAji/+zdadOtE31nTEEx6JBIVYrEKudwZieTO6RRdmYGTW+OIOJIGgrnGrN0AHzoN9UehqvLM6lqlRK1l37LIcueyTe8m9J4QWOFOUkEQ2LJlC+Hh4chkMiZ1747x3XcxZucgtrPD66uvsOl99/EQmrgCchZdAqkIz1e6IrF7sKa0W4KovCieP/g8acVpKCVK3mj3BvF74ikqKsLf35/uPa6RmrqkQjOsBEHg7PbNHF23AgQBZ29fhj/3Ci6+/rVyLtXFaNBzYfcOTm5ei7bEHPVt1rkb/WfOq9QstdCdiZzeFo9XS0dGPZwEm2aa35i4GoJG1ITpDYbCwnDOho5GJJKjz3+Fk+FJAAQFeLPD9ShhWWEAPNX+KRaELEAsqtuH/xp30CIiIu7amdOQaHTQLEvOqkg0l3Mr3OlWdvkyac88i/7aNUQqFZenPcelogQA+nQdzIBhNTcssCGh1xeQf+l78i//TLG1hCJ7B4yi0rtur1B4oFL5YW/XHgeHLtjbdyLlspYj62MoKdAC0LyzG91HNcPOpWa6zWoSk0ng7F8JhO5IBAGatHBg6ILgCo1qOXLkCAcOHEAsFjPC3R3lDz+a681aNMf7hx+Q+/ndc39BEMj+JRxdUiE2vbxwGN6wZ0HWFGqtmlePvMrxa8cBmOI1BeGMgMFQSvce2xCLSwkJWXjPKfAGnY69C78n8uhBANr2H8yA2QssUs9V25QVFXJi01ou7t2BYDIhlSvoNmYinUeMRiK993UrCALrPjhDfnoJ/Uc70frccPPDWo9n4eEPa+kM6jdnQ8dQWHiRhPh2pKaG4GwtZqv/4fJ6s097f0o/n351bSZQCw6ajY0NhYWFiBv4ILxGB81y6K4V/93l9nxHZO4VG+RpyM/n2osvUXLCPJ388OinyFDkgiBizMjxhHRqXZNm11t0ujwys/4kM2M76sILwO0fU5MRpBJbZAprTCYtRmMJJpPutu0EQUxJRhBFKV1A251+Ezvi3arhz0lKupzLnkUR6DRG7N1UDP9POxzc7x61jYqKYv16c6qjV0kpXtcn39sOGUKTTz6u8PBZTXQeOcsug1SM5yudkdgpqn8yDyBGk5EfL/zIokuLAOgp70mHwmKatzgJgjMDBpxEJLpzirKsqJCtn3/ItZgriMRiBsxaQPshj9am+TVCbmoy+5f+QsrlcACcvX0ZNO8pvIPuHvDISS1iw0dnkUhFzG75Porc8+DXE2ZsB0nDiHzXNFGRi0nL+BSNxpoLJ4fwW8BeDGIjTe2b8l3/72hqf/80em1R4w7a6NGjee655xq89majg2Y5clZGoonMRRXigvOUoErtKxiNZH/3f+QuXIhBLGX38FkUWxUhFqTMmTsXb1/PGrK6/lFYGE5S8iKys/cgCH9P2be2boGjQzfsLu7DOvkKEbltORlvg19IR8a9aX6KFgQBvT6fsrJkiotjSYo5irooFLlNZvk6YrEST4/R+PjMwtq64ddQ5aYV8+ePFynO06K0ljHi2Xa4+d3+Wc7MzGTx4sXo9XpapqfT/vARkMlwf/llHKdPq1Sb/c1RtMZatPtzIPkAbxx7gxJ9MW+7gbOijPj4jnTu9AYdOtw+s6soN4ffPn6bvLQUFNbWjHj+dfxC2te+4TWEIAhcOXaIQysXU1ZoVuZo028QfabOxsrudv3HE5uvcn5vMs3cUnhE/CzYuMOCI2D775IauxuasjK++/wj2nXbgkymZeU1K8KMMKzpMN7t/i5Wsvo1EqfGHbRhw4Zx8OBBBgwYgK3t31O1bzydWoq0tDQcHR2xsrr/H7gy296g0UGzDLrUIrJ+uGCOnv23EzK3qn0givbt49obb1KiFbFr6Bh0ylLkYmue+e+T2NrWXVFnbZBfcJaEhO/Izz9Z/jtb2zZ4eIzGzW0oSsX1L+OiTPi1D/l5BSyN64JIJGbBLyuwdvh7AnZ+RgkHV0eVyzJ5BJbQamAsRZo9lJTElm/n4jKIZgEvYGNzezNHQ6JErWXHT+FkJRUhV0oY/nQ7PJs7/P1+SQmLFi2ioKAAt6ws+h48hNzTA+9vvkHVrvIF2wCaqwXkLL4EEhEeL3dG6tDw0m61SYI6gS+PLmCMVRwGk5izp8ZhMqmYOXMmfjellfPT0/jt47cpzM7CxsmZcW9+iLO37z1WbriUFRdxbO0KwvfvAsxjOfrNnE9Qr37lDwyCSWDlmycoztcy1OEzAlSh5SN3GgGTycRPX/yPnDIt/n5n8fGLIlojxaXZh4wPHF8vh5/XuIN2N0ds0qTKDRu8GykpKQwbNoy0tDR0Oh3ffffd9e6f6m37TxodNMtwQzXgbp2blUGXmkbaCy+QmqLm0MC+GKVa7BWuPPPyAqTSBy+cX1qawNW4z8nONsvjiERS3N2H4+szD1vbu0Qik0/B8kdZG9eGdI0d/Wc9TsehIzEaTITtTiJ0ZyImg4BUIaHbyACC+3sjFosQBIGCgrOkpCwlO2cf5rSpCE+PMQQ0e+FvJ7ABoisz8NdP4VyLLUAqFzPsyRB8gpwwGAysXL6c5NRUbIqKGLR3H87du9Pkf58hcXCo1jGzF4ajjVdj3dUDxzEt7r/Dv5wL4U+Sm7OHE8USkqL64F3qjVKlZMHjC3B0dCTvWiob33+dkoJ8HD2bMO7Nj7Bzdatrs2ucazFX2LvoR3KSEwHwb9eRQfOewt7Ng7TofLZ+cx65qITZbrORPvwO9Hy2bg2uR6z55UdiM7JBMJFqd4xJ7ZMQiahwd3BdUOMOWk0zZ84cZDIZv/76KxcvXqRv374kJCTg6Hi7TlZltv0njQ5a9dEmqsn+JbxcNUDqXP2ic0GnI+ubbwnbf5Ez3VoiiE142fox74VZ9fKJqCqYTFoSEn8iKelXBEEPiPFqMhF//6dQKiugcXvyJ8LWfc/BzGZ4+nox4MnPObg6qnw+mG8bZ/pOCcTuLv8eJSVxxMV/TXa2+eldIrGhWbMX8faaete6oPqOXmdk1y+XSI7MQyoT8+jTIYSe+YsLcXFI9XoG7T9Ai3lzcZozxyISQH9f+yI8XuxkkWv/QUWjucaJk/0QBCN6r9f54OxSuiR3wVHniLWjNTNGjWPLp+9Skp+Hq68/4976CCt7h7o2u9YwGgyE/vE7Jzevw6jXI1Uo6Dl+KoVZflw5qyZItZcBDyWbuzYfkO/A6vLHxlWci4wDII3L2PT1ZqpDPur8o/fU56xrasVBO3PmDFeuXEF/07DMefPmVWWp23B1deXAgQMEBwcDMGDAAJ544gkmTJhQrW3/SaODVn1qMopQdPAguxduIyLQAUQQZN2UiS/PtOgx6gK1+jxXol4vTzc6O/elebPXsLGpxHR6QaBk9Ux+/TMXARFy+9mIxY6obGX0mtCCFp3dK+TMqgsvEhPzIYWF5wGws2tH66AvsLZumHOVjHoTO3+9RFJELlrrVApt40EQ6Bd+ia5vvoHVPcS7q0L2kktoYwsa1QXuQ1zclyQm/YyDw0N06riW5MJkXtv7Gj6RPqiMKiRlhagSY3D18WP8O5/csRbr30B+ehp7F/5ASuQlACRSVySqIYxu9hve/10Cyn/n3+WfbN62lEvnEkAsodCQQocp/ZgWNI3cvMPXFSrurs9Z19S4ksD777/P008/zaxZszhw4ADPPfccf/75Z5WM/Sc6nY6cnBx8ff+uO/Dz8yMtLa1a24J5enhhYeEtr0aqjuZqAdp4NUhE5VPWLYlt//489vWr+Oeb29CvFCew/eWvMBYXW/xYtYEgGIlP+J7QcxMoKYlFJnOmbdsfaN9uaeWcMwCRiKzWHyOVeQNg0kbTqps7U97tRmAXjwpHGu3t2tG500ZaBn6ARGJDYeFFzpwdSVraOuphcP2+SGRiBo52RyWNp9AmHoDgYiO9li6xuHMGYP+wPwClYZnos+8++uTfjNGoJe3aBgB8vM0PWL52viwftRy7YBWYTBhVdpT4eNP12cf/tc4ZmAXXx7/zCQ8veBaZTIbRkI2uaA1xjl3Rixq7hfUmPV9tfIeIM7EglmA0qpn59DNMbz0dkUiEs1MfVCpfDIZCMjK317W51aZKDtrPP//Mli1bAFizZg3bt29Hq9VaxCCJRIJEIrklMqfT6VAobr84K7MtwKeffoq9vX35y8fH8k7FvwVBECjckwiAdVePGiuSlnl6Mv3Ll3E12oMIzqtK2T33XUpDQ2vkeDWFVptJ2PnpJCR8C5jwcH+M7t124+42tNJrlai17FoYwY5FsSAzt+erjEcZ4LWxQrPA/olIJMbbeyrdu+3BybEXJpOGqOi3uBTxHwyGhiXpVnTwIJHTp5JhGw8iUJS5oZYModRYM9en3McWZSsnEKBwX3KNHKOhk5n1B3p9HgqFJy43zT0TtAZ8TuahTE80/7+NB6//+S5rrqxpkA8HlkIkEhHsK6GpQzBiWSAgEHrwCCtefpqk8At1bV6dkVSYxJNLp1IcWowgUyAy6Xj2hddp59G+fBuRSIyX11TALCfW0K+jKjlomZmZeHl5YWtrS35+Pj169ODE9TlW1UUikeDr60tERET57y5fvkxAwO0DISuzLcDrr7+OWq0uf6WkpFjE5n8jmuh8dMlFIBVj179mu6wkcjmPv/M0dlIHBLGRcy1cOfrqj2R99TWC7va5X/WNAvU5zpwdSUHBaSQSK1oHfUmbNl8jk92/TvJmBEEg8tg11r1/mriwLERiEe0f6Y9EKqFILyFr3yKI+qvKdioU7rRvv4zmzV9HJJKRnb2bs6FjKCmJq/KatYWxuIT0d98j4ZlnOdwuBJ1CjoeTM37WHSgr1PPnDxfRlFRdu/Re2A02dyGWhWejz6ieRuiDhiAIpKauBMDbaxpisbnRx6DXs/2rj8hOjMdeZCK4nbkhJiQrhEVHFvHEvifIKs2qM7vrlIIUtJueIc3QA7nNcAbMeRkbZxfUmRn89vFb7Pzxa8qK/j3ZH0EQ2Bi9kaeWTsHvsguClR0iwcSCJ5/B1fH2JpIb+pzFxZHlpRsNlWpVyvbq1Yt33nmHt99++65OUVWYOXMmr7/+OqdPn+aLL74gNzeXQYMGAZCdnU1ubm6Ftv0nCoUCOzu7W16NVB5BECjca5bTsOnhWStyNzKZjMefn4dCYoVRqiG0awjnd0SRMHESmpiYGj9+VbmW/hthYdPQ6XKwsW5Jl87b8PQcXel18jNK2Pr1eQ6ujkJbasDV15bxr3Wmz8S2NOvcHYArhW6w5QnIrbpDJRKJ8fOdR+dOG1EoPCgtjeds6Biyc/ZXec2apuTUKRJGjiRv40ZOdu9Oob09tjY2TJ09i5HPdMTGUUF+Rik7fgrHoK+eYPWdkHvZoGrjfD2KlmTx9Rsy6sIwioouIxbLadLEXBcsCAJ7F35PckQ4MqWKMa+9x+jHxhMUFIQYMd0zu3Mh6QJjto9hV+KuBh8FqRQGHWyaRXx+S4zIcfRQ0f7hPsz+6ic6PDICRCIijxxg2X+f4MqxQw/83ya9OJ3H9z7O0u1f0CM6EKO9GyAwYeJEPDzvPB9TJnPA3d0sf5WauroWrbU8VXLQDh40S28sWbIEsViMWq1m48aNFjPqtddeo3v37sydO5e9e/fyxx9/lI9Y+Oabb1i2bFmFtm2kZtBczkWfVoxILsG2j3etHdfGxobZ82YgEUvRK9Sc79iZqFI/4seOI/vHH+tVNE0QTFy9+j+uXHkVQdDh6jqETp02YW1duQcZg87I6e3xrP/oTPkIiZ7jmjPu1U64+ppnEAb16gdAdIkXJk0hbJwBuurVQ9nZhdClyzYcHLpiNBYTHr6AlNRV1VrT0phKSsj44EOSZ81Gf+0akT26k+7VBKlUyqTJk7G1tcXGUcHwp9shV0lJj1NzaE10jdzU7Ab7gQjKInLRpTastHBNkppijp65u49ELjerV5zdvpnIIwcQicWMfOF13AOaIxaLGT16NB4eHihMCvrn9qe4rJiXD7/MC4deIKcspy5Po/bY8yakhRKjGwBAYFdPRCIRcpUVA2YvYPIHX+Ds7UtZUSE7vv+S3z97r1yM/UFCEAR+j/2d0dtHkxEWTt8rzdG7mTM1gwYOIqh1m3vu7+01DYDMrJ1odQ332qmXYzZqi8YuzsojmAQyvwvDkFmKbX8f7If417oNV65cYcMGc9GxjboFza/G0uLqJlSBLfD8+GNUbe/94a1pTCY9V668RkbmVgCa+j9D06bPIqqkSG9yZC6H18VQmF0GXB+dMTnwNv1Mg17PLwumoS0pYXxgMr6SJAiZBKN/qXZLvsmkJzrmXa5dL/L2832cZs1ervS5WJrSs2e59sab6K+XKWRNmsjB6++NGTOGkJCQW7ZPuZLHH/93AUGAXuNb0G6g5etP8zZEU3o+C0VzB1znBVt8/YaGVpvJ8RN9EAQDXbtsx9a2DbFnT7L9q09AEBg458nb5JvUajULFy6kpKQEuaecTcpNGDBgJ7fj1a6vMiJgxAMzauc2Lv0Gm+dSYnRkRc4SBEHE9I+63/Z5Nxr0nN22mVO/r8doMCBVKOg1cTodho5ALG6YI3JuJqMkg/dOvsfx1OO0jbejY7wHJU2DQCIlJDiY0WPGVOgaCA0dh7rwPE2bPkdA0/ozO67GuzjT0tJ45ZVXGDt2LKNGjSp/NfLgUxqWhSGzFJFKim1vrzqxISgoiAEDzE+YxXZXSfAPIbzjcxTHJZM4cSJZX3+DyUJNK5XFYCjhYvh8MjK3IhJJaB30OQEBz1fKoSlRa9m9OII//u8ihdllWNvLeeTxtgx/OuSO4uZSmYzAh8yTxa/YDQeRBMLXQ+jSap+PWCyjVcuPCQh4AYCk5IVEXnkFQbB8qrAiGNVq0t9+h6TpM9CnpCD19ET69VcckZhvTL169brNOQPwCXKi5zjzGJjjm6+SEpVncdvsBvuBRIT2agGa2HyLr9/QMHcCG7C374ytbRtykhPZ+f1XIAi0H/LoHbU17e3tmThxImKxGF26jjfd3iTIKYhCXSFvHnuTp/Y/RUZJRh2cTQ2TFQXbzU5EbJO3EAQRHgH2d/y8S6Qyuo2dxIwvfsA7qC0GrZZDKxez9s2XyEqMr23LLYbRZGTNlTWM2jaKEynH6RXhSqdYF8p8moNEipeXFyNGjqywg+7jMxswpzmNxrq5H1SXKjloY8eOJS8vjxkzZjBv3rzyVyMPNoLeSOHeRADs+vsgtqp8x6Cl6N27N23atAGRQJHjFbLtvQnr/R7FSndyFy4kYdRoSk6evP9CFsRgKObCxTnk5R1FLFYRErIQT8+xFd9fb+TcrkTWvHOKq6FZiETQboAPU97rRrOObvf8YrqR5oyNjMPQ7y3zL3e9BqnnqnNKgLmrrKn/f2gd9AUikYSMjC1cvvwCJlPNFN3fCUEQUP/5F3HDHqVg0yYAHMaPx2XtGrZFRmI0GgkMDCx33O9EyABvWnXzQDAJ7F4Ugfp6ZNJSSJ2U2HQz18WodyUimP61yQlMJh1p19YB4OM9A21pKdu//hS9VoNv23b0n/n4Xff19fVl+PDhAEScjuDtgLd5ruNzyMQyjqUdY9S2Uay5sgaDyXDXNRoU2iLYOB30JdC0LzH55geMwK7u99zNqYk3E975hMGPP43CyprM+FhWv/48h1YuRtPARhFF5UUxbcc0PjvzGUKhhrHnAmiWYoXGKwCTQoWdnR2TJk1CJqv4PcfVdQgKhSd6fS6ZWX/UoPU1R5VSnHZ2dmRkZFRK97I+0pjirBxFh1NR70xAYq/A46XOiGR1m+bS6XQsXbqUjIwM5CYb7LLbIRWJCUz9A4+Y3YgAu0cfxe3VV5C51axkjMFQxIWLc1Crw5BKbWnfbhn29rcLQd8JQRCIC8vmxO9XKcrVAODmb0e/KS3L68zuu4bJxMKn51Ccm8PIF16nRcJPEPUn2HmbhZWtnat8bjeTlbWbiMvPIQh6XF2H0LbNt4jFNdskoktJIeP9Dyg5dgwAeUAAnu+/h6x9e5YtW8a1a9dwdXVl3rx5dx2xcwOD3siWL8PISirC2cuaMS93Qq60XM2qsVhHxhehCFojTpNbYtXuwZcquhMZGdu4HPkCCoUH3bsd5K/vviT29AlsnV2Z9tm3FZp1tmvXLk6dOoVMJmPu3LmUKkt558Q7XMy+CEArp1a81e0t2rlWTU+1XiAI8NscuPw72DYhf/Re1n4eg0gsYvb/eqKyrdhnqzg/j4PLfiXm9HEAlDa2dB83mXaDhyGpxzXZpfpSfrrwE6uvrMYoGGme70Sfiy6YSrUYmjSlzN4ZqVTKnDlzaNKkAgor/yAp6Veuxn2OjU0QXbv8US/S4zWe4nz44YcJCwurknGNNExMpXoKD5rrfewe9qtz5wxALpczefJkrK2t0YmLMfgkYDDBlSYjiXnkfXQKOwr/+ov4ocPIW7kSwVAzT9wGQxEXLsy+7pzZ0aH9ygo7Z6nR+fz+RRi7F0VQlKvB2kHBoNmtGfdKpwo7ZwAisZhWPfoAcOXYYRj1Ezg1g8JU+H0emCyTknRzG0JI8E+IRHKys3dzKeJpTKaaSR+YNBpyfv6Z+BEjKTl2DJFcjsuzz9B06xZUnTuzbds2rl27hkqlYvLkyfd1zgCkMglDnwhGZScnN62EI+ss2wEssZGXN86o9yQhGEwWXb8hIAgCKSnLAfBqMpkLu3YQe/oEYomUEf99rcKDaAcPHkxAQAB6vZ5169bhJnVjxSMreLvb29jJ7cqjLu+deI8CTUHNnVBNcmah2TkTS2H8cmIizI1Ovq2dKuycAdg4OjHihdcZ8/r7OHv7oiku4uDyhax46SliTh9HMNWv61AQBPYm7WXUtlGsiFyBSG9ifEo7ep20xVSqRdUsiDJ780PlqFGjquScATRpMhGxWEVx8RUKCk5b8hRqhQpH0G4WQi8qKuLIkSMMHDgQpfLvAZB3E1GvrzRG0CpOwY4Eio+kIvOwwu3ZjojEdf8kcoPk5GSWL1+OyWSipU8HCs7ZYTIJKJQiWuXsxyl0MyJA0aoVHm+9adGJ8gZDEecvzKKw8AJSqT0dOqzEzrbtffe7drWAM3/EkxZdAIBULqbDw350GOyLTFG1Qt+sxHhWvfosEqmUJxauRlmcBIsGgqEM+rwCAyynTZebe4TwS09gMmlxdu5PSPDPiMWWSXkLgkDR7t1kff4F+mvXALDq1g2Pd99B0dQsgHz06FH279+PWCxm+vTpNG1aOWHka7EFbP06DEGAgbOCaNXtzi37VcGkNZLxxVlMxXocHmuGTfeq3VwaKgUFoZwLm4hYLKep6xJ+/+gzBJOJAXOeoMOQ4ZVaq6ysjEWLFpGXl4evry8zZsxAKpWSp8njm3PfsPXqVgAcFA480+EZxrQYg1RcfyNGt5ByBpYNA5MehnyK0O1JVr99ksIcDYPntCawq0eVljUZjVw6sIcTm9ZQqi4AwNXXn+7jptC8SzeL6NBWh+i8aD478xmhmeZh421KvOgV4YI2twCApn0GczmvEKPRSJ8+fe5ZtlARoqLfIS1tDS4ug2gX8mt1za82NaLFWRHn62YnriHQ6KBVDEOBlowvz4JBwHlWG1StnOrapNsICwtj+3aztMeQ/sNJOmoiN9Vch+HuoMPv1EJsMq4AYDt4EG4vvojc379axzQayzh/YRZqdShSqQMdO6zE1vbuHaSCSSD5Sh4X9iaTGmUuIhdLRbTp5UWnR/ywdqielIsgCKx46T/kpibz8IJnCR7wMIRvhN/nmzeYshECh1TrGDeTl3+SixfnYTJpcHcfQZvWX1VbaF1z5QqZH39SrhQh9fDA7aWXsHt0WHl6Ijo6mnXrzPVNjz76KF26dKnSsUJ3JHB6ewJShYQJr3fG0cO6WrbfTPHJaxRsi0NsI8Pj5S6Iq+h0N0TCLz1JdvYe3FxGc/ynLEry82jVsy/DnnmpSimm7OxsFi9ejFarpWPHjowY8XcnZ1hmGB+e+pCrBVcBaO7QnBc7v0gvr14WPSeLU5IDv/aBwjRoPQrGLycjoZDNn59DqpAw5/NeVX5Qu4G2tJTQPzYTtnM7ujJzvaWrrz8PjZlI8y7daz31mafJ44fzP7A5djMmwYST1opRacGYosxNH7bOrvScMZ+dx05QXFxMq1atmDBhAuJqOpQlJXGcOv0wIKJ7t31YWflX/2SqQa2IpT8INDpoFSNvUwyl5zKRN7XH9fHgepHHvxM316zMmjWbjEs6zv6ZiPF6mslHmUWTowuxLkkHqRTHyZNxeepJpI6Vm+gP5vETly49RU7uAaRSWzp2WIutbes7bqvXGok+nUH4gRTyM8zzycRiEa16etJ5qD+2TpaTITq9dRPH1q3Ap3UwE9791PzLv16Es4tB6QALDoOjv8WOl5N7iPDwBQiCAS+vKbQM/KBK14c+M5OcH36g4LfNIAiIlEqc583Dee4cxKq/O9kyMzNZsmQJOp2Ozp07lxeTVwWTSWD7dxdIi87H2cuGca91QiqzjCMlGE1kfH0OY64Gu0G+2A3ys8i69Z3S0iROnhoICBSFjyDu5FWcvHyY+snXyJVVF66OiYlh7dq1AAwbNoyuXbuWv6c36dkQtYGfL/5Moc48Yb9Hkx682PlFAh3roYC9yQirx0D8IXBuDvMPgtKOI+tjuHQolcCH3Bk823KjgsqKiwj7a+stjpqNkzPtBg8jZOAQrOwdLHasO6ExaNgQvYFfL/5Kkb4IqzIJj+YGYxtZhMlgQCQSEzLoEbqNn8qa9etJT0/Hzc2NuXPnVqhsoSJcuDiH3NzDeHvPpGXgOxZZs6o0OmgVpNFBuz/6jBIyvwsDAdz+0x65T8Xromobo9HImjVriI+Px97envnz52PSSji9PZ6Y038Pc3QX0mhycRMOBbFI7OxwWbAAxymTb3EE7oUgmIiMfJmMzK2IxQo6tF+Jg0Pnf2wjkBFfSPSpdK6ey0Jbaq5/kykltO7RhJAB3ndsoa8uhdlZLHp6DohEPP7jMmydXcCgNadS0kLBIwTm7gWZ5ZzCzMw/ibj8PCDg5/ckzZu9VOF9Dfn55C5aTP6aNQjXR6PYDRuG20svIvtH3UlpaSkLFy6koKAAf39/pk+fjkRSPYeqRK1lw0dnKCvS07avF30nt6zWejdTejGbvHVRiOQSPF7pjMSm5hU36promPdJTV2JzNSas4sEJDIZ0z75Bhdf/2qvffz4cfbu3YtIJGL69Om3qdeotWoWhi9kbdRaDCYDYpGY0c1H80S7J/Cwrlq6sEY48DEc+RxkVjBvP7i3xmg0sfzV42iK9Qx/ph1+bSzT1HMzZcVFhO3YTvi+neWpT4lUSouHehLUux9+wR0sGlXTm/RsvbqVXy7+QlZJFs6Fch7K8MY9EQSjuSbWN7g9/WbMw8XHj82bNxMREYGVlRXz58/HsQoPzncjN/coFy7OQiKxplfP40ildXcfa3TQKkijg3Z/cpZfRhOVhyrYBeepQXVtzn25W81KdnIRZ/5MIPFSDly/4lUGNW5pJ3DPCsNOpcN1/jwcJk5ErLy78yIIArFXPyYlZRkikYSQ4F9xcekPgFFv4trVAhLCc0gMzynvyASwc1UR0t+boO6eyFU1m1pY/+6rpEVdps/U2XQZeX3MhzrVnFIpzYUO0+GxHyx6zLS09URFm2vcmjd/DT/f+ffc3lhcQt6K5eQtXYapxKxfqerUCbcXX8CqY8fbtzcaWbVqFYmJiTg4ODB//nysrS2Tkky6nMuf35s7A4cuCCagg6tF1hVMAlk/XkCfVox1d08cH2tukXXrK3q9muMnemE0lpKwKwB1koL+M+fTcdhjFllfEAS2bNlCeHg4KpWK+fPn4+R0e7lFSmEK34R9w96kvQDIxDLGthjLvOB5uFvfe3RFjRO7F9aMM/88ZhGEmOWvEi/l8NeP4ahsZcz6rCdiSc3ViRn0emJOHePCrj9Jvxpd/nulrR3NO3ejaYdO+AW3R2FVtc+XSTCxK2EXP57/kYKMa/hkqWiV7oCt+u9z8mkdTNdR4/EL6YBIJOLIkSMcOHAAsVjMjBkz8K9m+ck/EQSBU6cfobT0Ki2av4mv7xyLrl8ZGh20CtLooN0bbXwB2QsvgRjcX+iMrAYiPjXBvWpWCjJLubAvmZgzmei1f3c2ynWFOOZH42DKwWtwV3wmPoK1s81tzRCJSb8SF/c5AD5uHyGU9CfvWjHpcWqyEovK06kAUoWE5h1cCezmgVegI+Jaaqy4uHcn+xb/iKtfU2Z8/v3fb8QdhFWjAQFGfg8dZ1j0uDda2gHatvkOd/fb04/G4mLy160jb+kyjPnmOjxFUBBu/30e696975oe/fPPPwkNDUUulzN37lzc3S17oz3x+1XO70lGaSNj8jsPYWUhfVnN1QJyFl//DD3fCZlbwx5NdC9u/Pvri2y5vNYLv5COjH39fYsWpev1epYvX05aWhqurq7MnTv3lka1mzmfdZ7/C/u/8mJ0uVjOhJYTmNN2Dq5WlnHCK0V+EizsC2X50HkuDP+6/K09Sy4TezaT4P7e9JlYe2nZjKsxRB49SPTJo+VRNQCxRIKrX1M8mrfEs3kgjp5eOHh4orK1u+NnVBAEStQF7A3fzr4zWzBk5OORq8Su9O/GIYlMRvPO3egwdCReLf9+2I+KiiqvcR8+fDidLdjEdTNpaeuIin4LpdKbHt0PVLtetqo0OmgVpNFBuzuCSSDrh/Por5Vg3c0Tx1EN6+n/XjUrAHqdkcTwHGLOZJIalYdBd3sbukgkoLKRo7CWgUiEwvkkDq3NDk/m+Ynkxw66bR8rOzl+wc74B7vgE+RU7ULfqlBWXMQvj0/HZDQw84sfbk0vHfkCDnwEEgXM3QNN2lv02DGxH5GSsgyxWE6H9qvKU7+G3FzyVqwkf906TEVmrUq5vz+uzz2L7ZAh97yJnz17lr/++gswNyK1atXKojaDOfq56bNQctOKadrOhaFPWK7WMmfFZTRX8lC2csJlVt3KkNUUJpOOEyf7o9VmkHTQk7J0X2Z+8QM2jpZvKCosLGThwoUUFxcTGBjIpEmT7llIfib9DD9e+JGwLPNoKIVEwbjAcUwLmoa3bS1pCRu0sHQIXDsPTTrCnF0gNddX6TQGlr1yDIPOxLhXO+PetPbvRSajkeTL4SSEnSXhwjny09PuuJ1UrkBhbY1CZYVILMZkNGLQ6ygqyAPD7aN8xBIJ3kFtadG1B6169kVpY3PL+5mZmSxevBi9Xk+XLl149NHb1SUshdFYxrHjvTAYCghu+xNubpZrmKoMNeKgVUTKaevWrRVZqt7Q6KDdnZKzGeRvjkWklODxUsOsn7lfzcoNjAYTmQlqUi7nkBF6ldxrJZTJHOAmeSalcxy+/b5ELDGQFzOIrAsTUdrIcPSwwsnTGvem9ng2t8feVVUvmii2fvERcaGn6PrYOHpPmfX3GyYTrJ8CMTvBwRcePwxWlruJCoKRS5f+Q3bOXmQyR9p5/UDZ6r0UbN5cXmMmb9YM53nzsB8xHNF9al4SEhJYtWoVJpOJgQMH0rt3b4vZ+k9yUovZ9OlZTEbBoqM39NmlZH4TBiYBl7ltUbawXG1NfeHGYFp9qZTINc0Y8cLbtOjSvcaOl5qayrJlyzAajfTu3ZuBAwfec3tBEDiVfoofL/xYPuhWLBIzyHcQM9vMJMT1dnkwi/Lnf83SaypH8+BoB9/yt6JPZ7BvWST2riqmftCtXnx/FGZncS02ioyr0WQlJpCfcY3i3PuLjmsUJqy83Alu0wP/ViH4tglGrrpz1LikpIRFixZRUFBA06ZNmTZtWrVrSu9HXNyXJCb9jL19Rzp32lSjx7obNeKgVcT5amh6nI0O2p0xaQ1kfBGKqViP/aNNse1dS0+ZFqaiNSv/xKTTkff7VjLXbKYkPQ+dqwTtk/FgY8Ra6EKr4MVY2SktOoHe0kSfPMaf336GrYsr879fcmuEqiwfFvaD/ERo8TBM3gAWTEMZ9CWEHnuMEiEBSZYIly+kSEpEKENCcHl8PjYDBlQo7ZWXl8eiRYsoKyujbdu2jB07tsZvXud2JXJqazxypYRJ7zxksQ7bgj/iKD5+rV7OEawugiBw5sxIiksiST/jiqvDFIY8UfPi1BcvXmTLli2AWX4wOPj+AvU3HLUVl1dw/Nrx8t93dOvIjNYz6OvT1/Jz1C6uhy0LABFM/Q1a3Bp5/+P7CyRfzqPLo/50HXHnh8j6gF6npbQgn6sZ0eyJ/osT105SairDJBawtndkfIepjG89ESvZ/dP4BoOBVatWkZSUhKOjI/Pnz68VZSKtNovjJ/oiCDo6ddxwW3NXbVAZv6PCV2JDc74aqTpFB1MxFeuROisb9JBNkUjEiBEjyM3NJS0tjXXr1t2zZuUGYrkcl0kTcJ4wjoJDO7hU8BrYGJEli7D95gL5zWYiTBiPZPhwJP8I2dcXAjp1Qa5SUZSTTVp0JN5BNw3PVTnChFWwZDDE7oGjX0Hfl6t9TGNBAQVbtpK/fh02ealoXgajm4D6ZStC/L7DpluvCjtYGo2GdevWUVZWRpMmTXjsscdqJbLQYbAvCRdzyEwo5MDKK4x8tr1FnCm7gb6UhGWhzyil5GwGNg9ZbjBuXVNQcIbikkhMehGajOb0e7Z2dJnbtWtHVlYWx48fZ9u2bTg7O9934rxIJKJ7k+50b9KdmPwYVl5eyV8JfxGWFUZYVhhuKjcea/4YY1qMsUz6M/0i/PGc+ee+r9zmnJUW6ki5Yq7FrOpg2tpAb9Jz4NohNkRv4GzGWfMvHcDfzp/ZbWczPGA4cknFsiyCILBz506SkpLK1WBqSzZSoXDD02MU19I3kpS8sE4ctMpQ5cfmM2fOsGLFChYvXlz+aqThY8jTUHQsFQD7RwMQSete0qk6yGQyJk6ciI2NDdnZ2fz++++YKih7ImAi0XEjeocy5GJnfGOGIDHJ0URGkvHe+8T27sO1N96kNOw89a2UUyZX0OKhngBcOXro9g08Q+DR60XKBz+Gq/urdBzBYKD46FHSXnqZ2L79yPrf/9AnJSMTbGmaOhaJyBqNm5pUx50VXtNkMrF582ays7OxsbGptEhydRBLxAya1RqpTExqVD4RR+5ci1Ppda1k2A00p7UK9yZh0jwgQt9AzJVvAciLsWfQrP+iqEWN5oEDB9KiRQsMBgPr1q2j6Hp9Y0UIdAzko14fsXvsbuYFz8NR4UhWWRaLLi1i6O9DeXzP4+xK3IXOqKuacaV5sGEaGDTmSHXf127b5Oq5TASTgJu/HQ7u9a+BJDovmq9Cv2LIb0N46fBLnM04i1gkZqDvQBYOXsj2UdsZ02JMhZ0zgFOnTnHu3DnAHPl0q2Gd5H/i6zsfEJGTs5/ikthaPXZlqVKTwPvvv89ff/3F2bNnmTx5Mtu2bWPw4MGNNWgPALlrr1AWnoOiuQMuc9vWi3oIS1DZmhWA2NhPSE5ZgkRiRaeOG7G1DcKQn4966zYKNm1CFx9fvq3Mxwe7oUOxe3QYisDAevF3S7p0gd8+egultQ1PLFyFRHoHJ2f7sxC2AlRO12tjfO67riAIaCIiKPxrB+q//sSY/XdtiqJlSxynTMF+xHDEVlbk5h7mwsV5gImWgR/g7T31vuvfGDgslUqZPXs2Xl5elTltixB+MIWjG2KRKSRMftcyqU7BYCLz2zAMOWXY9vXGfmjl5KnqI2p1NGdDhyESgSFhOkPmvlfrNmg0GhYvXkxOTg7e3t7MmjULaRXmeemNeg6kHGBzzGZOpp8s/72tzJaBfgN5xP8Runp2RVYRSTOT0TxOI+6AeTD044fMket/8Nv/QslMKKTXhBa0G3D/z15tcK34GnsS9/BH/B/E5P+tVeusdGZs4FjGB46v8ly5mJgY1q1bhyAIPPzww/To0cNSZleKG2oXnp7jaB30v1o9do13cXp4eHDu3Dm8vb0xmUwcOHCAL7/8kp07K/6UXB9odNBuRZugJvvXcBCB27MdkXtaTvqmPhAeHs7vv/8O3L9m5UbRM0Bw2x9xc3vklvcFQaDs/HkKNm6icPduhOsTugHkAQHYDhqETb9+qNqFIKrhwte7YTIZWfjUbEry83jspbdo3qXb7RvpNebusvQLt3WX3YxgMFB6LoyivXsp2rcPQ0ZG+XsSBwfshg3D/rGRKENCbnNOk5IWcjXuf4hEUjq0X4mj40N3tTk0NJQ///wTgPHjx9OmTd10PQomgd+/DCMjXo1/sDPDnrr9vKpCWWQuuSsjQSLC/fmOyFzrX9SkMhz4YwyC9UVK0hx5eMwhlNZ1k/LPzc1l0aJFaDQa2rdvX+2UeGpRKr/H/s62q9vIKssq/72jwpEBvgPo492Hbp7d7l5vtf8Dc+mAVAXz9oHH7fq8BZmlrHn3FCKxiFmf9bTYaJfKIggCCeoE9iXvY1/SPq7kXSl/TyaW0de7L8ObDaePVx9kkqpHsm9WAenQoQMjR46sswdZtfo8oefGIRLJ6NHjEEpF7aWXa9xBE4lECIKAnZ0diYmJqFQqPDw8UKvVVTa6Lmh00P5GMApkfX8efUYJ1l09cBzToq5NqhH27t3L8ePHkUqlzJkz5441K4VFEZw7NwGTSYu/31M0a/biPdc0lZZSfOgQ6h07KDl8BEGvL39P4uiITZ/eWPfsidVDDyGz8Pyu+3Fo1RLO/bmFwG69GPHf21MswF3nM+lSUyk5dpyS48cpOXWqfDwGgMjKCpu+fbAfMQKbXr0Qye9+cxEEgcuR/yUz8w9kMie6dN6KSnV7VCw+Pp7Vq1djMpno378/ffv2rd7JV5O8ayVs+PgMJqPAw/Pa0KJz9f/tBEEgd/llNNH5KAIdcZndpl5EW6tC8pXjRKfORCwR8LR5n9Zdp9WpPXFxcaxevRpBEBgyZAjdu1e/i9RoMhKWFcbuxN3sSdxDvja//D25WE4Xzy709upNF48uNHdojlgkhit/mFObAGMWQ8j4O6595s8Ezv6ZgG9rJ0Y8277atlYGtVbNmYwznLh2gpPXTpJW/HcqXywS09GtI0ObDmWI/xDsFfbVPl5xcTGLFi1CrVbj5+fH9OnTqxTltCTnzk2iQH0WX9/5tGh+l+/GGqDWHLRhw4YREBCAUqlk//79nD9/vspG1wWNDtrfFB1PQ/1HPGIrKe4vdkZiXTs1P7WNyWRi3bp1xMbGYmtry+OPP46t7d+yHzpdDmfOjkKrTcfZuT/tQn6t1EBDY1ERxQcPUnzoEMVHj93i1ADI/Hyx7toVVYeOqILbIg8IqNEIW2ZCHKtfew6JTMaTC1ffdTq4ELUb7c9TKc2RUabsTVliHvq0W+uvJPb22AwciO3gQVj36IG4Ejp5RmMZ58ImUlR0GRub1nTutBGJ5O/Bxzk5OSxevBiNRkNwcDBjxoypF47LjZuoylbGlPe6obTA50KfU0bmN+fAKOA8PQhVGxcLWFq7GA0G/lj+CLYBCZhKmjB4xNG6Ngkw1zft2rULkUjE1KlTad7ccvMbDSYDZzLOcDjlMIdTD9/i1AA4KBzo7NCSTtEHaVtaSMv2s1EN/fyOawmCwJp3T6HOKmPQrCBaWmiky92OlV6SzoWsC5zPOs/F7ItE50djEv6uxZWJZXTz7MYgv0H08+mHk9Jyo3f0ej0rV64kJSUFJycn5s2bV2tNAfciJ+cgF8PnIZHY0LPHUWSy2vEBatxBO3ToEP369SM9PZ1PP/2UsrIyXnnlFVq0aFhRl0YHzYyxSEfGl6EIWiMOo5s/UB1md+JuNSsmk57zF2ZSUHAaK6umdO70e7U+tIJeT2nYeYqPHKb09Bk0kZHmOWQ3IVKpULZujbJlS+TNAlAEBCAPCEDq5mYRB0UQBJa/+BR5aSkMeeI52vTujz4jA31yMtqrV9FER6ONjkEbG1s+p6wcqRRV+3bY9OyJdc+eKNu0qZYzqdFc48zZx9Dr83Bze5S2bb5DJBJRWlrK4sWLycvLw9vbm5kzZ9ZaU8D9MOpNbPjkLPnpJbTq4cnAGZaRO1PvTqToYAoSBwUeL3ZCZCGR9tri9LaVqBUfIpGbaNXie7x8htW1SYD5et++fTvnz59HoVAwf/58XFws7wALgkC8Op7DqYc5nX6a81nnKTOU3bKNRCQhwCGAIKcgmjk0o6ldU5raN8Xb1pvc5FJ++ywUqVzM7M97WWRkjyAI5GpySS1KJUGdQEx+TPmrQFtw2/YB9gH0aNKDHk160Mm9U4XGY1TFphujjpRKJXPnzsXVtQ5UHO6AIJg4fWYYJSWxNGv2Cv5+C2rluDXuoBkMhtvCk3f6XX2n0UEzk7chmtLzWci8bXB7yjJjBeo7N9estGvXjlGjRhET+yGpqSuQSGzo0nkz1taWVU8wFhVReu4cpWfOogkPRxMZiam09I7bipRKpO5uyNw9kHq4I3V1RWJrh9jWBomdHWJra7OzJJYgkohBJMKk1SJotAhaDaayMoz5+Rjy8glPjOFSYQ4uehNdo5PBePvEbwCxjQ0qNwGVVTqqps6oXtmJxNWyBfr5BWc5f34agmCgebNX8faey+rVq0lISCgXuLepZ6NL0uPU/P7lObNC1nPt8QmqfnTBpDOS+dU5jGottgN9sR/sZwFLawd1ViZ/rRyDe8cMpHjTp/+hehHtvIHBYGDFihWkpKTg7OzMvHnzUKlqVqZOb9BxedNEzmaEEm5tR4S9CzmavDtuKxFJGJAymWYpXSjyTUM06Bp2cjts5bbYyG2wldkik8gQi8SIRWIkIgl6kx6tQUuZsQytQYtapyZfk0+eJo9cTS6ZJZmkFafd5iTeQCqSEuQcRDvXdrR3a0971/a1okt6Q2NTJBIxbdo0mjVrVuPHrAzp6ZuJvPIKcrkrPXscRiyueFagqtRaivN+v6vvNDpooI1Xk73wemPAU+2R+9jef6cHhJtrVvr2VWISFgEQEvwrrq63yzhZGsFoRJeYSNmlS+iuXkUbn4AuPh5dSspdnaiqUCqXcijIDwSBAZFJqMQSZF5eyJsFoAxsiaJlS5QtA5H5+CDSquHXvqBOhpaPwqQ1YOGbb2rqGqJj3kEkklBa8iShoeoa09i0FEfWRXPpcBr2riomvdMVqQUiXqWXsslbEwVSER7/7YTUuf5r3QqCwJYv3sa6zUakKiOtW3+Dp8fIujbrNoqLi1m4cCGFhYX4+/szbdq0mg0gHPsG9r0HYhnM3ong3Zms0iwu514mOj+aBHUCiepEEgsT0ei1TD/3AVZ6W3a0+pVkx0iLmSFChIe1B752vgQ6Bpa/mjk0QyGpeefjZi5fvsymTeZp/Y8++ihdunSp1eNXhJslyoJafUqTJhNq/Jg17qCJxWKMRmP5U5PJZLqeIqrYfKn6wr/dQROMJjL/7zyGzNIHujHgXpw9e5aDB9fQvsMOJBIjTf2fISDg+Tq1SdDp0GdmYsjIQJ+RiSEzA0N2DsbiIkxFxZiKizCWlIDBiGAymZ05wYRIrkCkVCJWKhEplUgcHZA6OiFxdmJn6FEyszPpNWoCXSdOu/ck/7Qwc2enUQeD3oNe/7Xs+QkCkZEvkZG5FZ1WRdj5YYwbO5eWLVta9DiWRFdmYM17pyhV63hoZFM6D6v+iAxBEMhZEoH2agHKVk44z2xdryJRdyLm1DFO7nkF716ZyGVN6NnzIGJLT963EBkZGSxduhSdTkfbtm0ZM2bMPTU7q0zcAVg9FgQTDP8GOs+566YmwcSlsASOLUpCohKwmZtBtjaLIl2R+aUvolhXjMFkwCSYMApGTIIJmViGQqJAIVWglCixk9vhqHTESemEk9IJVytXfGx9aGLdpFqdlpYiMTGRVatWYTQaeeihhxg6dGhdm3RXkpOXEHv1E6ysAuj20G5Eopqd/VkjSgI34+vrS0RERPmYgkuXLuHjUz9muDRScYpPpGPILEVsJcVuiH9dm1MndOjQGnVhKCKRkYJ8T4w+df9FIpLLkfv4ILfgZ6ptEzcyl/xEzIVzPDR5xr039uoIQz+HP583jwvw6gRN+1jMFpFIhFY7jpKSg1hbq+nZ4zItWtSv1Mc/kauk9BzXnL1LIgndmURgVw/sXKoX8RKJRDiMbEbmd2FoovIoi8jBKrh+1OfcCW1pKQdX/ILvI7kANA14st46Z2AeBzVx4kTWrFlDREQE9vb2DB482LIHyU+C3+aanbMO06DT7HtuLhaJyQ4313q27upNn7b3n8fY0MjKymL9+vUYjUZatWrFkCF1I0peUZo0mUhC4g+UlsaTlb0bd7e6vwfcoEqu4oIFC5gwYQKLFy9m0aJFTJgwgaeeesrStjVSgxjyNBTuTQTA7hH/B7Zr814IgkBU9JuIROmYTHZERfVk06bNpKen17VpFiewW0/EEglZiXHkpqbcf4dOs6D9VPON57c5UHjNYrbExsbyxx97uBLZF0FQYjRFER//lcXWryladHbHK9ABo97EsU2WmUAuc7PCtp/ZES/YHoeprP4qDBzfuAqZSyJyWwMymTOeHmPr2qT70qxZM0aONKdgjx8/zpkzZyy3uK4UNk6Hsjxo0gGGfXXfcgC91kj8hWwAAh+qv9JOVaWwsJDVq1ej0Wjw8fFh7NixNRO1tCBSqQ0+3jMBSEz8sV6ValXpL/f666/zxhtvsG/fPg4cOMA777zDq6++amnbGqkhBEEgf+tVBJ0Jub8d1p0fvC+KipCWtpbMzD8QiSR07PAL3t6t0el0rFmzhoKCgro2z6JY2dnj374TAFeOHbr/DiIRDPsS3IOhJBs2zgCD9v773Ye0tDQ2btyIIAi0aNGb4LbmMQRJyQvJzt5b7fVrEpFIRO9JgYjFIhIu5pB4Kef+O1UAu34+SF1VmIr0qHclWGRNS5OdnMiFPX/i0dF8zn6+c5HUck1TVWnfvj0DBgwAYMeOHVy5cuU+e1QAQYDtT5u1Nq2czdq2svurTSSEZ6PXGrFzUeLe9MEqq9FoNKxevZrCwkKcnZ2ZPHlyvenGvh8+PrOQSKwpLr5CTu6BujannCq7ttOnT2f9+vWsW7eOqVPvL9/SSP2h7GI22ph8kIhwHNviX9G1+U8KC8OJif0IgGbNXsHZ+SEmTpyIm5sbxcXFrF69mtK7dFg2VIJ69QPMDlqFnhLlVjBxJSjtIfUs/Plf842piuTl5bF27Vr0ej0BAQGMHDkSd/dH8fGeBUDklZcpLU2q8vq1gXMTG0IGmiNeRzfEYNBXv5lDJBPjONrcMVxyOgNtYv0a+C0IAgeW/YJDQAEKez0ymRNeXnU7lLay9O7dm06dzA8omzdvJiWlAlHke3HsG4jYDGIpTFhZIYk0gJjTmYBZGL2+1xtWBoPBwPr168nKysLGxoZp06bVi1lnFUUmc8D7+jWdmPBDvYmiVcpBGzVqVPl/7/RqpP5jLNFT8EccAHYDfBu81ExV0OvVXIp4BkHQ4eoyGF+fuQAolUqmTp2Kra0tOTk5rF27Fu0/Z4M1YJp16opMqaIwO5Nr0RWMIjgFwPjlIBLDhTVw6ucqHbukpITVq1dTUlJSXht0o6uuefNXsbfrgMFQxKWIpzEaNVU6Rm3R5VF/rO3lFOZoOL8n2SJrKgIcsO5ijmTn/x6LYKg/DVcxp46ReuUSHp3MtWe+PnORShuWDJxIJGLYsGHlwupr1qwhMzOzaotF7zLXZoK5VtO/V4V2K1FrSY40j94I7Fo/u5WrgslkYuvWrSQmJiKXy5k6dSqOjrfrjtZ3fH3nIBYrKSwKJy/vWF2bA1TSQZs1a1b5f+/0aqT+o/4rHlOJAam7FbZ9vevanFpHEExEXnkZjSYVldKXoKDPb3mStbe3Z9q0aSiVSlJTU9mwYQMGQ/2tC6oMMoWSwIfM4sSRRysRxm82AB7+2Pzznjfh6v5KHbesrIxVq1aRl5eHvb09U6dORXGTCoFYLKdt2++RyZwoLo4kJub9Sq1f28iVUnqON3c8n9uVhDr7zrOnKov9UH/ENjIMWWUUHapmhMdC6DUaDq1agmOzQhT2WqRSB7y9G1b07AYSiYTx48fj7e2NRqMpvyYrRXY0bJ4HCOZuzS5zK7xr7NlMBJOAe1M7HD0aloN7NwRBYMeOHURERCAWi5kwYQKeng1z0Llc7oKX12QAEhLrRxStShG05s2bN0bQGiCamHxKw7JAhDm1Ka3fxZs1QXLyInJy9pudguDv76gU4O7uzrRp05DJZMTHx/Pbb79htOBcsrokqHd/AKJPHsWg01V8x25PQvtp15sGZkPO1QrtptVqWbNmDRkZGVhbWzN9+vRbpLVuoFR60rbNt4CIa+kbuXbtt4rbVgc07+SGdytHizYMiK1kOIwwd7MWHkxBl15ikXWrw+mtmyjOy8azq1mD0s93LlJp/RokXBluRHhulDKsXLmy4hrSZfmwbhLoisCvJzzyv0odO+pUBgCtuj0YNb+CILB3715CQ0MBGD16tEWlteoCP9/5iMUKZDIHTCbLPHhVhyrdobt169bgZp7VBQZDMfEJ31NUdLmuTcGkMZD/u/lGYtO9CQrfB6tAtSLk558h7nq3YIsWb2Nn2/au23p7ezN58mQkEglRUVFs3779gbjmfduEYOvsirakhLhzlehoE4nMIureXUGjNt+oNPe+sen1etavX09qaipKpZIZM2bcU3bHyaknAU2fByA65l2Ki6Mrbl8tIxKJ6DMpELFERGK45RoGVCEuKFs7g1Egf2N0naY6CzLSCf1jMw4Bhchty5BK7fH2nl5n9lgKlUrF9OnTcXJyoqCggFWrVlFSch9n2GiATbMhLx7sfc11Z1J5hY+Zk1pEbmoxYomI5p0fjPTmkSNHOHHiBAAjRowoH7vVkFEo3OnR/TDtQn5FIqn78p8qOWiDBw/myJEjlrblgSP26qckJHxb7hTUJQV/xGMs0CJxUv4rZ55pdTlEXH4OQTDi4T4KryaT77tPQEAA48ePRyQScfHiRXbs2NHgnTSRWEzrPuYoWuSRyqUqkSpg4mqw84LcWPP8J9OdI4tGo5FNmzaRkJCAXC5n2rRpFVIJ8Pd/Cien3phMGi5F/AeDoei++9QVjh7WtBtgLg4//ttVjMbqXxsikQjH0c0RW0nRp5dQeLDuUp0HVy7CaNTj06MYAF+fOUilD4bSiK2tLTNmzMDOzo6cnBxWrVp176agve9A/EGQWcHktWBdOX3P6OvRM/8QF5QPwEijkydPcvDgQQCGDBlS3oDxIKBQ1J9ZhFVy0LRaLUOHDuXRRx9l0qRJ5a9GbsXPdz4ikZTc3MPkF5ytMzvKInMpPZcJInCaEIhY0bCEmauLIBi5fPl5dLosrK1b0KrVhxXuoGrVqhWjR48GIDQ09IFw0lr3MY8cSLhwjpKC/MrtbOtuln+SKuHqXth/e72YwWBg06ZNxMTEIJVKmTJlCt7eFat3FInEtGn9NQqFB6WlCVyJerNe1ILcjc7D/FHZyijILCXiUJpF1pTYynEYZU4VFR1MRpda+05qwvlQ4s+dwbF5CRKrQqRSO3x8Zta6HTWJg4MDM2bMwNramoyMDFauXHlnJ+3CWjj1o/nn0b+AR+UiRSajiZgz5oaEByG9efr0aXbv3g1Av3796N69ex1b9OBSJQdtxowZLFu2jOnTpzfWoN0DKyt/mniOByAu7ss6udEYi3V/pzZ7e6Pwt691G+qa+ITvyM8/iURiRXDbHyodug4JCSm/vkNDQ/nrr78atJPm1MQbz+YtEUwmoo4frvwCTTrAY9dvWMe/g4sbyt8yGAxs3LiRqKgoJBIJEydOxN/fv1LLy+VOBLf9HpFISlbWX6Smra68jbWEXCXloZEBAJz9K4Gy4krU9d0DqxBXVCEuYIK8jTEI+tq73owGPQdXLAKxgF/vBy96djMuLi7MnDnz7k5ayln44znzz31fhdaPVfoYKVfyKS3UobSR4dvG2UKW1w0nT55k586dAPTs2ZO+ffvWsUUPNlVy0G6OmjVG0O6Nf9OnEYvlqNWh5OZV4WZYDQRBoGDLVUzFeqTuVtgP9qvV49cHcnMPk5hodiZatfwYa+uqFbG2b9++PJJ27tw5/vzzzwbtpLXua5aYuXy4kmnOGwSPg94vmn/e/gyknkOv17Nhw4byyNnkyZNp0aJq+q729h1p3sw8/Do29mMKC8OrZmctENSzCc7eNmhLDZz9w3KDZh0ea369q7MU9b7amw93YfcO8tPT8GynA1k+MpkTPj73ljBqyLi5ud3ipK1YscJck6ZOgw1TzZq0rYZD39eqtH70KbMySYsu7kgacGPWsWPHyiNnvXv3ZtCgQQ/ULLf6SJWulvT0dKZOnUrbtn8XWc+bN89iRj1IKBUeeHuZC2vj475GEGrvpl56IZuyy7kgFuE0oSUiWcP9cqgKGs01LkeanQgvryl4eIys1nrt2rVj9OjRiEQiwsLC2L59e4Pt7mzZozcSqZTspASyEuOrtkj/tyBwKBi16NdNZ/3q5cTGxpanNavb0eXjMxtX14cRBD2XIp5Gr69fA1xvIBaL6HV97EbE0WvkXiu2yLoSaxmOo83rFh9JRRNXYJF174WmpJhTv69HJDHh2eW65qb/fxp052ZFcHNzY9asWVhbW5OZmcmK5csoWj0dijPBrbU5tVkFySJtmYH4i+YGkoac3jxy5Aj79u0DoG/fvgwYMKDROasFqnTHnjdvHiEhIVy+/Hd34pIlSyxm1IOGn98TSCQ2FBVfJit7V60c05BbRsFW8ygEu4G+yL0e7C/Yf2Iy6Ym4/Bx6fT62tm1o0fwti6x7s5N24cIFNm7ciF6vt8jatYnKxpaATl0BiDxSRWkTsRjGLKTMOZhVJT2JS0pDJpMxbdo0AgICqm2jSCQiqNX/UCl90WjSiLzycq0+4FQG75aOBLR3RTAJHN8Ua7FyBlUbZ6w6u4MAeRuiMZbU7LV2estGNMVF+PUUMInUKJVe5bOhHnRcXV2ZNWsWNjY2ZGXnsCS7HbmqpjB5PSiqlt6NO5eFUW/C0dMaV9+GlyI2mUzs2bOHAwfM3xEDBgygf//+jc5ZLVElB+3IkSM899xz5f9vNBqRSP5dheeVQS53wtfXPNAwPv4bTKaaHXwqGEzkro1C0BqR+9mVizH/m4iL+wK1Ogyp1PZ63ZnldANDQkKYMGECEomE6OhoVq1aRVlZ3c/MqSxtrqc5rxw7hKmKkUC1VmAp40jGCwUapnnE4u9ruetNJrOjbfD3iMVycnL2k5y8yGJrW5oeY5shlopIuZJP0qVci63rMLKZWauzUEf+ppgaq2VVZ2Vyfud2JHIjTq3NDQ8BTZ9HLG4YmpuWwNXVlTnN83CkgALsWSpM4FpZ1bsuo66nN1t1a3jSTgaDgS1btpSP0hg8eDB9+vSpY6v+XVTJQXNycrpluN+5c+do2rSpxYx6EPH1mY1M5khpaTwZGVtq9FjqnQno04oRW0lxmtwKkaRhfTFUl+zsvSSnmCO6QUH/Q6XytfgxgoKCmD59OgqFguTkZJYvX05RUf0dCXEn/Nt1QmVnT6m6gMSLYZXePysri8WLF5OdW4CtlYI5km34pWyB3W9Y1E4727a0aPE2AHHxX9VpR/S9sHe1+nvsxuarGC00w0wsl+A0uRVIRWii8ig+fs0i6/6TY+tXYjQYaD5Iikkowdq6BR4elS+Kb9CcXYzThR+ZwwY8HJSUaHQsX76c+PjKlwGos8tIv6oGUcOTdtJqtaxdu5ZLly4hFosZNWoUPXv2rGuz/nVUyUF78sknyyNov/zyC5MmTeKZZ56xqGEPGlKpLX5+TwAQn/AtRmPNRFzKInPLv8AdxwUidfj3PP0ClJUlE3nlZQB8fObg5jqkxo7l7+/P7NmzsbGxITMzk8WLF5Oenl5jx7M0Eqm0XED9ciXTnImJiSxdupSioiJcXFyY+/iTuI/51Pzm6V/g9EKL2urVZDIe7o+ZR6ZEPIdOZ5nBsJam89C/x25cOpRqsXXlTWxwGGZOG6t3JqBLs0yd2w0y4mKJOn4YqZURK1+zVm+zgBcRif5FmZGr+2DHKwDYDniBWU88j7+/PzqdjjVr1nD+/PlKLRd92jz7zLulIzaOSoubW1MUFRWVO6UymYzJkyfTvn37ujbrX0mVHLTXXnuNxx57jMmTJ3P48GE+/vhjnn32WYsadvLkSd5//30WLVp0T8Fqk8nEtm3b+Oijj9iyZUu97qzz9pqOUumFVptBUvJii69vKNCQtykGAJteXqhaN+yW7spiMmm5FPEMBkMR9nYdaN7slRo/poeHB3PnzsXZ2Rm1Ws3SpUtvqc2s79yYiRYXegpN8f1v+oIgcObMGVauXIlGo8HHx4c5c+bg4OAAbUbBwHfNG+56FWL2WMxOkUhEy5YfYmXVHK0uk4jL/0UQ6l+DhlwlpdtjZrmm0B2JaCxYM2bd3bNcZSBvXRQmjWVKJQRB4PDq6xHnR2UIghY7uw64uAyyyPoNgsxIs1KAYIR2k6H3SyiVSqZOnUrr1q0xGo1s27aNXbt2VagxSBCE8u7NVt0bjjZlSkoKv/76K+np6VhZWTFr1qwqd2I3Un2q3NY3efJk1q5dy7p165g82bJFpNu3b+fRRx8t10obM2bMXbd9+OGHWb58OVqtljfffJNp0+qvkK9Eoih3GpKSfkWjzbDY2oLBRN66aIQyAzJvG+wf8bfY2g2F2NhPKSqKQCZzpG3b/0Msrp2J3Y6OjsybN49mzZqh1+vZtGkTBw4cqNcPCzdw8w/Axdcfo15P9Mmj99zWYDCwffv28mG9bdu2ZcaMGVhZ3TRXrtd/ocNNmp0Zlyxmq1RqTXDwD4jFKvLzT5CQ8IPF1rYkrXp44uxljbbUQOjORIutKxKJcBzbAom9HENOmXk+mqn69WjxYWdIjYzA2s2IxOkKAM2bv9rgaqaqTHEWrJ0I2kKzxuaI78zSZoBMJmPcuHHl875OnTrF2rVr71tzmn5VTWGOBqlCQkD7+jOZ/l6cO3eO5cuXU1xcjKurK3PnzsXLy6uuzfpXIxKqUHGalpbGd999R1xc3C1PE1u3brWIUT179uTxxx9n5syZ6HQ6fH192b17N+3atbtt20uXLpVrgKWkpODv709paSkKxf1Te4WFhdjb26NWq7Gzqx1tSkEQOBc2AbU6DE+PMbRu/YVF1s3fEkvJ6QxECgnuz3ZA6qyyyLoNhczMP4m4bE67t2u3BBfnfrVug9FoZN++fZw8eRKAli1bMmrUKFSq+v1vEfrH7xxevRTPwFZM+fDLO25TWFjIhg0bSEtLQyQSMWjQIHr06HHnm7hBB6vHQOJRsyzUvP1gZ7koQnrGViIjXwREtG+3DGfn3hZb21IkX87lj+8vIpaKmPJuN+xdLXcNaJMLyf41HIwCdg/7YTeg6jWWJqORFS/9h7xrKXSYpUFQJOLmNozgtt9bzN56ja4UVoyAtFBwCjBfq1ZOd9z08uXLbN26Fb1ej5OTExMmTMDD486jM/YvjyTqVAZBPTwZMCOoJs+g2hgMBnbt2lUueh4UFMSoUaMqdA9tpPJUxu+oUgRt7Nix5OXlMWPGDObNm1f+shTnz59n4EBzh5lcLqdXr16Ehd25iPlmgdaUlBR8fHzuemFptVoKCwtvedU2IpGIFi3MIx/SM36nsLD6EYbi0+mUnM4wSzlNbvWvc87MkkDmwnR/vyfrxDkDkEgkDBkyhFGjRpV3eP7yyy+kpNSdnmJFCOrdH5FYTHpMFLlpt9t64zzS0tJQKpVMmzaNnj173j3CIpXDxFXgEgiFabBuImgt10Dh6TGKJk0mAQKXI1+waCTaUvi2ccYnyBGTQeDUtjiLrq3wtcPxuhRU4d4kyqLyqrzWpQO7ybuWimuQEUGRiFgsLx8Q/MBjNMDmuWbnTOkAUzbd1TkDaNOmDXPmzMHe3p68vDwWLVrE2bNnb+uq1ZUZuBqWBUBQj/qd3szNzWXp0qXlzln//v0ZP358o3NWT5BWZafIyEgOHDhwa2qjgvz++++cOXPmju/NmzcPLy8vysrKzDUt17G3tyc3995t61lZWcyfP5+ff/75rtt8+umnvP/+7dqBtY29XTs83B8jI3MbsbEf07HjuiqnE7SJagq2m28Adg/7o2p19y+YBxGjsYxLl/6D0ViCg8NDNG36fF2bRPv27XF1deW3334jPz+fpUuX0q9fP3r16lUvx9FYOzjStENn4s+dIeLgXvpOmwOAXq9n79695Z9XDw8PJkyYgJNTBa4xlSNM2QiLB0L6Rdg4AyZvMDtvFiCwxTsUFoZTXBxJRMSzdOywptZS2hWlx9jmbPj4LFdDs2g/sBD3ppaL0lt38UCXWkTJ6Qzy1kfh/nQHpC6VezDTlZVyYtNaRGITPr3zMAG+PvNQqSqmm9qgEQTY8RJE7wCJwjzrzOX+g5U9PT15/PHH2bp1K7Gxsfz111/ExcUxfPhwbGzMsyZjQzMx6Ew4uFvh0ax+SusJgsCFCxfYsWMHer0epVLJ6NGjadmyZV2b1shNVCmC9vDDD981onU/VCoVDg4Od3zJZDJUKhVWVlbk5f39VJifn4+Li8td10xPT2fw4MG8//77DB069K7bvf7666jV6vJXXUY2mjV7CbFYSYH6LNnZu6u0hkGtJXf1FTAKqEJcsO33L/hivQlBELgS9QbFJdHI5S60bfMtYnGVnjksjpeXFwsWLKBt27YIgsDBgwdZvHgxmZmZdW3aHQnu/zBgHlprNBhITEzk559/LnfOunfvzrx58yrmnN3Aqak5KiGzgrgDsP1psFBdnkSiuD7fzga1+hxx8XdOzdYlLt62tHrInAI7vtlyw2tv4DCiGXI/OwSNkZxVkZi0lWsaOLt9M6XqAnx7GjCJcpHL3co7zR94jnwJ55YBIhi7GPwqLvhtbW3NlClTGDJkCGKxmKioKH766SciIiLM30knzM0BQT0962Udn1qtZu3atWzbtg29Xo+/vz9PPvlko3NWD6lwDdrNWptFRUUcOXKEgQMHolT+3T68fv16ixjVr18/pkyZwuOPP05paSl+fn4cOnSINm3a3LZtcnIyjzzyCB9++CFjx46t1HHqogbtZuLivyEx8QeUSm+6PbQLiaTiT8AmnZHsheHoU4uReVrj+mQ7xPL6F52pSZJTlhEb+xEikZQO7Vfh6Ni1rk26DUEQCA8PZ+fOnWg0GsRiMT179qR3797I5ZaJJlkCo8HAov/MpriwEI9BI7iaYh4RYWtry2OPPVY92abYveYibMEIPZ+DwR9YyGrIytrNpYinAAgJ/gVX18EWW9sSFOdrWP3OKYx6E0OfCLZ4wbixUEfm9+cxFelQBDriMrM1Isn9n7uL8nJY+twCkBYTPD0VAQ2tg77A0/PuDVkPDOdXw7b/mH8e+gU89HiVl0pPT2fr1q3lD15NfZuhPueEVLBi5qc9sLavP6lCo9HIuXPn2LdvHzqdDolEQr9+/ejZsyfiKshYNVI1KuN3VNhBq4jzZSnB9N27dzNhwgQmTJjAuXPnCAgI4LfffgPMKVIrKyseeeQRAFq0aIGDg0N5zRrAG2+8USGHq64dNIOhhFOnH0arzcDf7ymaNXuxQvsJRoHcVZFoovIQW0lxe7oDUqeGM2fHEuTnn+b8hekIgpHAFm/j4zOrrk26J0VFRfz5559ER0cDYGdnx+DBg2nTpk29+HI0Go2s/+VHYjOyQGKOQnbq1InBgwff8hBWZc6vgW1mR4pHPoNuT1Z/zevExH5ESsoypFJbunTegpVV/RqafXJrHGG7knBwt2LSO12RVMCBqgy6lCKyF4Yj6E1YdXbHcWyL+0Zudv38LZcP7aPlY6WoPJKws2tH506/IRLV/bVYo9z8sNDrvzDovWovaTAYOHr0KEePHjV3bgsimti0ZNZzY+rNQ1h8fDy7du0iK8tcG+ft7c3IkSNxc3OrY8v+fdSIg1bbXLp0if3799OkSRPGjBmDVGq+aezcuRMrK6vytucvv/wSg+HW0P5//vMfbG3vr3tW1w4a/B0BEIlkPNR1B9bW99YwFASBgt+vUnI2A6RiXOcHo/CrG9vrCo0mnTNnH0Ovz8XD/TFat/6qXqYS/okgCERFRbF7924KCgoAc11X//79CQwMrJNzMBqNREREcOTIkfI6T7GmjHFTptA65Pau6Wpx9CvY/wEggnFLoa1lojUmk46w81NRq8Owtm5B506/1Stxb22ZgdVvn0RTrKfv5EDa9rV8KUJZZC65qyJBALvBftgNvHtnZ3ZSAitffRZrj2JajEwGoHOn37C372Bxu+oVaedg+XDQl5pnnY36uXychiXISM9k2U/r0UryAXMqtFevXnTu3BmZrG7qI1NSUjh8+DBXr5p1mVUqFf3796dz58714sHw30iNO2gpKSk8/fTT7N+/H4CBAwfyww8/4OPTsDQf64ODJggCF8PnkZt7CEfH7nRov+qeN2r13iSK9ieDCJyntUbV5t83jPZc2BQKCy9gYxNE506bKpUarg/o9XpOnDjB8ePH0el0gLn4uFu3brRp06b8YaQm0el0XLp0iePHj5fXe1pZWWFbUkBJVDi9J83godETLHtQQYAdL8PZRSCRw7TN0NQy2n5abRZnz45Cq8vExWUQIcE/16to0KVDqRxZH4PKVsa0D7ojV1n+37j41DUKtpobhhzHB2Ld6c7yQps/eYekS6EET89ErCzAq8lkWrX6yOL21Cty42DJw1CaA80GmBtYJJZ1muLOZ7Hz10vgWIDRI5X8fLOjZmNjQ9euXenUqRPW1tYWPeadMJlMxMfHc+LEiXKJKrFYTJcuXejbt2+VmvsasRw17qD169ePjh078t577yEIAu+99x7nz5/n0KFDVbW5TqgPDhqY5YlOnX4Ek0lLm9bf4OEx8o7bFZ9Jp+B385OQw+jm2DxUv1u4a4IrUW9y7dp6pFJ7unbZWiM6m7VFaWkpx48f5/Tp0+VRYBsbG9q3b09wcDDu7pbV7xMEgWvXrnHx4kUuXrxYrtChUqno0aMHXbp0Ie70cXb99A0O7p7M+fZXRJZ+yjYZYdMsuLIdFHYwewd4BN93t4qgVl/gXNhkBEFHU/9nCQh4ziLrWgKj0cT6D85QkFlKp6F+5WoDlka9M4Giw6kgFuE8szWqlrc2dSReDGPzJ+/g0SkXj85ZyGTOdO+2F5msfnYbWoSiDFj6COQngGc7mPUXKO6fYaksf/54kaRLuXQc4kvXkU25ePEihw8fLtetlkgktG3blpCQEPz9/S3e0V1QUEBERATnzp0rdw7FYjHt2rWjd+/elWvwaaTGqHEHzc7OjrS0tPI0YlFREd7e3rcIqDcE6ouDBpCQ8APxCd8gkznR7aFdyOW3RsZKw7PJWxcFAtgO8MH+Yf+6MbQOSUtbT1T0m5gHlC7B2blvXZtkEUpKSggNDeXs2bMU3yS35ObmRosWLWjWrBk+Pj5VSpNoNBqSk5NJSEjgypUr5alVMCsgdOnShU6dOpXPPdJrNPzyxHR0ZWWMf/sTfNuGVPv8bkOvMQ+yTToO1m4wZxc4W8ZhuZb+G1eumOd4BQf/VKNarJUl/nw2O3+9hFQmZuoH3bFxtHwBuWASyNsQTdnFbJCKcJnZBmULRwBMJiOrX30OdUEMrSclgsh4zwfCB4LSPFj+KGRFgoMfzN0LtpYXLi/O17LyjeMIAkx57yEcPcyRMoPBwOXLlzl9+jTXrv0tcm9tbU3Lli0JCAigadOmVYqsGQwG0tPTSUxMJCoqirS0tPL3FAoF7du3p1u3bjg6Olb/BBuxGJXxO6oUZ+/fvz+nTp1i8GBzx9SpU6fo169fVZZq5Dp+fo+TlbWD4pJoYmI/pG2bb8vfK4vIIW+92Tmz6uyO3WC/ujO0jsjPP0V0jFnnMSDgvw+McwbmL+u+ffvSs2dPoqOjCQ8P5+rVq2RlZZGVlcXx48cRi8W4urri7u6Os7Mztra22NjYIJPJylPiZWVllJaWUlhYSE5ODtnZ2WRnZ98y3kEmkxEYGEiHDh0ICAi4rQ5FplTSqmdfwvftIuLgnppx0GRKmLTWfOPMjICVo2DOTrCvfm1WE89xFBVFkpq6gsjIl7Hq1BQbm8Dq22wBmrZ3wbOZPelxak7/Ec/AGpgwLxKLcJoQSK7ehCYyl9yVkTjPaoOymQORhw+QnZxA4KhMEBlxcuyJu/sIi9tQb9AWwZpxZufMxgNmbKsR5wwg+nQ6ggCeze3LnTMAqVRKu3btCAkJITU1lYsXL3L58mVKSkoICwsrH1fl4OCAh4cHrq6u2NnZYWNjg0KhQCwWIxKJ0Gq1lJaWUlxcTE5ODjk5OWRmZqLX36r16ufnR0hICMHBwfWmQaGRqlOlCNqwYcPYt28f/fv3RxAEDh06xKBBg8q9QUuN26hp6lMEzWxPOGdDxwImQoJ/xdV1EGVXcstnnVl1cMNxfCAicf0viLckpaWJnA0di8FQgLvbcNq0+bZBNAVUh7KyMmJiYoiPjycuLu6WyFplcXJyws/PjxYtWtC8efP7fnFnXI1hzZsvIJXJWfDrSpTWNVRwX5xlTj3lxYFzc5i9C2yqP4bCZNJz4cIs8gtOoVL50qXzFmQyh+rbawEy4tVs/vwciGDim11x8a6Zv61gMJk7vaPzEcnFOEwLZPXXL6L0uop3z0wkEise6roDlaph1Q1XGL0G1o6HhCOgcjKn0t1qRnJJEATWvHMKdXYZA2YE3Vc9wGg0kpCQwNWrV4mPjy/vrKwKKpUKPz8/mjVrRqtWrSrUHNdI3VLjKc77OWCWGrdR09Q3Bw3g6tXPSUr+FbncjXa2qyncmG4eRNvOFaeJLf91zpleX0jouXGUlsZhZxtCx47rkEj+XSNFBEGgoKCAzMxMMjIyUKvVFBUVUVxcjNFoLBdlV6lUqFQqbGxscHFxwdXVFQ8Pj0pf24IgsPKVZ8hJTmTgnCdpP+TRmjgtMwUpZietMBXcg2HWH2YVgmqi0+VxNnQ0Gk0qjg7daN9+GWJx/Ygo7FoYQVxYFj6tnRj5bPsaO46gN5Gz8jLa2AJMYhNH1Ytxe+wUYqmJloEf4O09tcaOXacY9WbliugdILeFmdvBq2ONHS4tJp+tX59HppAw6389kSsrl5gqLS0t/2zn5uZSXFxMUVEROp0OQRAwmUwoFAqsrKywsrLC2dkZFxcX3NzccHFxaezGbGA8EGM2aoP66KAZjRrOnB1BaWk8thkP4Rn+BFYhrjhNbIVI8u9yzkwmAxfD55GXdxSFwoMunbegUDTO7akNwnZs4+CKRbg1bcb0z76r2YPlxpmdtJIs8O4K07eAovqRpaLiKM6dm4DRWIKnxxiCgj6vF5FXdXYpa987jckoMOLZdvi2rrlObEFvJHPxRfRJRSR3/gSN09Xr3eIr61WXq8UwmWDLAri0EaRKc6ewf68aPeS+ZZFEn86gdU9P+k+v38LojdQ9NS6W/tprr5X//Pzzz9OjRw9OnDhRlaUa+QcSiRJ/7StgElPkcRptz0icJv37nDNBEIiJ/ZC8vKOIxSrahSxsdM5qkaDe/ZFIpWQlxJGZYFmx79twbmZ2ypQOkHoG1k8xp6iqia1NK9q2/T9EIgnpGb+TmPhD9W21APauVgRfn4V24vc4TKaae0YWySRclpwm0Ws1GqeriAxK/E0vP7jO2Z/Pm50zsRQmrKxx50xToufquevC6L2a1OixGvn3UaVP6f/+9z8Ajh5c5vEAAFXfSURBVB8/zv79+1mwYAFPP/20RQ37NyKYBAq2x2HcqcQ5/jEAUu1+RqNNrWPLap+kpF9IS1sNiGjT5itsbW+X+Wqk5lDZ2tG8i1mf8NL+qmnFVgqPtuZoh8waEg7DhqkWcdJcnP+/vfsOb6psHzj+Pdlp0j1oaQsUWih7CIJbX5mKDCcgbnGLilt/7lfFjQtUXvUVcCuKIiqgr4iCsveGAi3dI13ZyfP7IxApbWlKV1qez3X1guScnHP3ZPTOs+5z6dr1SQD2ZcwgN3dBg4/ZGAZe0AmdUUNRVgW7/s5tsvMUHcpk95avcaT/CkC7HZOwflVG+bKsRq8N2qK8XvhhGqz7CBQVjH8Xujb9DN4dK3PwuL3EJJtp1yk4emGktuOEEjStVovb7WbJkiWMGTOGyZMns3Xr1saO7aTidXgomruNihW+qdidu95BeNgAPJ4Ktm67F6+3foWQW7PsnK/8xa+7pv1fUC2VcDLpM9RXTm3b8v/htFmb/oRJA+HKL3zF1fcshc8nN0qSlpQ4iQ4dbgRg2/aHKCn5u8HHbCiDWcspI32zsf/+bh9up6dJzrP8s/fo8K8sFDXExV5AQsfLQfjWSyv5ejfC3TjF61uUELDovn+Kn497B3pf2gynFWxd7vu87nlWYlB0n0ttywklaL169eLNN9/kyy+/5IILLkCtVvtXRJfqz1VoI3/mBuzbi0GjEDUpnbBzO9Gz56uo1WZKS9eyb98rLR1msygs+o0dOx4BoGOHm4O+xmZbltyzD5Htk3DZbWz/47fmOWmnM32rvGuMsGcJfHFVoyRpqV0eJDZ2JEI42bjpJsrKtzRCsA3T519JmKP0VJQ42PhrZqMf/+DWTbjMC9GHudBq2pGe/iyRY1IJv6gzKGBdk0fhB1vwlLfiz24h4McHYM37+JKzWdD3imY59aFdFix5VrR6NV1PbZrlO6ST2wlNEti4cSMvvfQSffv25f777wd81QVkJYH6s20rovjznQiHB1WolujJParU1szLX8SWLXcCwbfwZmMrLdvIunVX4vXaiI8fR4/uL8tvpS1s7Q8L+G3ObGI7pnDVC2803/OR8Tt8fDm4bZA2HK6YB5qGLezq8djZsPE6LJZVaLVRnDLgM0ymplnRP1A7/85l6Yfb0BrUXPXMaRhDG2emqfB6+eadiwlP34wQCgMHfk5E+Cn+7bYdxRR/sgPh9KAK0xE9KR19p1ZWTUAI+Okh+PsdQIGxb0H/yc12+p9nb2HP2nx6np3IuZO6HXdfIQReqxtPqeOoHyeecidemxthc+O1ufE6POD2IjwC4fGCV4Ci+MYgqxUUlQrFoEZl0KAyqFEMGtShOtRhR370qMN1qMP1KJo2OM6wDZCzOAPUkgmacHkp/SmDij99TeS6jmFEX9kddVj1D+hdu58lM/MD1Gozpw76lpCQlGaNtTmUl29n3frJuN0WoqLOom+f2ahULVNgWPqHraKc9265BrfLycRnXqJ912acpdYESZrbXc669ZMpL9+CXh/PKQO+wGhMbKSA6094BV9OX0PBwXJ6n5vE2RMaZ1HdDctnU2ifjqKGjol3k9rtzmr7uPKtFM3bhjvfBioIH9EJ81lJrWMpHyHg50fgr5m+22PehAFXN9vprWVOPnr4T7wewRX/N4iYJN/6Y8LjxV1ow5VvxZ1/+N8CK+4CG8LVjN3JCqgjDWhjjWhijGjiQtDEGNElmFCFyM/VliQTtAC1VILmyq2k+LOduHIrATCf3p7wC1Jq/cbj9bpYt/5KSkvXYjKlMfCUL9Fo2s6ChBUVO1m3fjIuVzFhYX3p328uGk3TFxWWAvPTzBlsXbaUHmedx6g77m3ek+9bBp9c4UvSUofBFXNBa2zQIZ3OYtaum4DVuhejsROnnPI5el1MIwVcf1k7ilkwYwMqlcLEJwYT0a5hxawry7P4Y/kwNAYnamcfzhkxv9aWT6/DQ8n83b7SUIAuJYyoy7qhiQritQaPTAhY+6Hv9kWvwynXNmsIa3/az9/f7qNTsplzhnXAeagc56EKXDmV4Kn9T6rKrEUdrj/8o0MdqkMVokFl1KAyalH0ahSN6qgWMwXhFeAVCI8Aj8DrcCPsHrx2N16bB0+5E0+Zr0XOW+bAU+Y8bjKojtSja29Gm+j70SWaUZuDY43Ak4FM0ALU3AmacHsp+18m5b9lgkegMmmJvKwrxvS6i9g6HHmsWj0OpzOf6Kiz6dNnNirVCVXqCiqVlXtYu24SLlcRoaG96d9vDlqtnA0VTHL27OSTR+9FrdVy86yPMIY28/Oz7zf4ZIIvSet4Jkz8FAwNi8Fuz2Htuiuw2w9hMnWlf/+5LZqkLXxrIwe2FNG5fyyjbj7x4vEej5Xffx2FV52FwxLCv0YuwxBy/M8XIQTW1XlYFu5DOD0oejXhozphOjUh+FrTPG5YcBts+hxQYMwbzdZyJlweHAfLcey1cPDXTMKEQF1D4qvo1WjiQnytV3EhaGND0MQZ0UQYULRN3+0ohMBb4cJdYMVVYMNdYPP/31Nc83hOTbQBXccwdJ3C0HcMQxMbEnzPfRshE7QANWeCZt9rwbJgj687ATCkRxF5SRrqeow5KSvbzNp1E/F6bSQmXkm3rk+16jFaVmsGa9dNxOkswGzuwYD+c4OmJI/0DyEE8x6+m/yMvZw9+XoGXXRx8wdxYIWvJc1RBu0H+JbkqCPxqIvVuv/w6y+fkJDO9O8/F4M+vpECrp+i7Ao+f2YVQsDF9w0gITWi3sfwet1sWD+FktLfcdvUtDM+Sb9/TQr48e4iG8Vf7MJ5oAwAbXIokeNS0SU2Uamv+nI74KvrYcdC3zpn499t0tmaXqcH58EyHPtKcewrxZlZXq11TDGo0SWa0SaFojvSGhVlCNrPZa/NjTO7Ald2Ba5DFTgPVeAutMExWYAqRIOuw+GELSUcXaJZjmlrJDJBC1BzJGiuAiulP+7Hvq0I8DVxR1zUBWOfmBN6ExcULGbT5tsAQWqXB+nY8aZGjrh5VFTsZP2Ga3E68zGbujFgwMdotQ0v8SM1jU2//MSS994iIj6B6197F6Ulystkr4e5F4OtGGK7w9XfQmjDEiqrdT/r11+F3ZGN0dCB/v3nYjQ2vGj7ifjf3O1s+zOH+M5hXHz/KfX6fBBCsHPXExw69DFet0LR6sFc/vAcVCp1vWIQXkHlXzmU/rwf4fCAAiGntCNsWEc04Q0b/9cgTqtv2ZW9v4BaB5d9BOkXNOopvA4PzgNlODIOJ2RZ1RMyVZiOIrfgQKGdmIFxDL6qe9AmY4HyWl04Dpb7fvf9Zbiyyqt1kSpaFboOob5kLSUcfYdQFG39XluSj0zQAtTUCVr5skxKfz7gm4mjAtOpCYQP79jgQZoHDv6HPXueB6Bbt2dISgz8W3IwKC1dz4aNN+B2l2IypTGg/zx0Ldi9JNXNZbfzzi1X47RZueTRZ+jUp3/LBJK/A+aOg/IciEyBqxdAZMcGHdJmO8T6DZOx2Q6i1ycwoP/cFpmIU1nqYN5jK3E7vYyY0ovUUwKvnLFv3wwy9r+JELB/cSJDJ82gU98Trz/pKXNgWbgP26ZC3x0aFebT2xN6VmK9Wv0bhb0MPp0AB/70rZE34RPocl6DD+t1uHHuPzohq/B9Vh9FHa5D3znCl5h0Dsd6uDC6EDDpycFExre9sbLC48WVXYljfxmO/aU4M0rxWo9Zh1OtoEvyJWz6FF9Lm0rf+ofcCK/AvqMY1ArGbg1roa+NTNAC1NQJmm1LIUXztmPoFkn4BSlo2zXOm1kIwd59L3PgwDsA9Oj+EgkJLdDtdAKKipazectteDxWwsL606/vf2S3ZivxywfvsOHnhXQZOIRx9/9fywVSnAFzxoLlAIS2h6vmQ1zDZpfaHbmsX381VutetNpo+vX9D2FhfRop4MD9/f0+1vywn7BYI5OeGIw6gG6ljIw32ZcxA4CsP9phUp/PpY8+0yjxOA6UUfpjBs79vm5PNAqmgfGYz0xEG9OwyRoBKcuBjy+DvM2gD4Mrv4QOQ07oUF6725d07CvFkVGK61A5HDOWXh2hR9853Jd4dA6v1l3559d72LDkYJMXug8mwitwF1h9iWyG7/p5j107TwFtohl9p3B/0taaZosKlxfr+nzKl2fhLrChiQuh3T0DmqR1VCZoAWrqBE0IgTOzHH2Hpjn2rt3PkJX1EaCiR/cXgj5Jyzr0Cbt2PYkQHqIiz6R375lytmYrUpSVyX/vvRUUhRten01Eu5YZrwVAWTbMGQeFO0EfDhPmQcrZDTqkw1nIhg3XUlGxHZXKQK+eM4iNHdY48QbIaXcz7/G/sJU5OeuKNPqcl3zc/ffvn8new4tYH1oZR8HmGK5+4Q1iOzZeC6AQvlaF8v9l4jxY7r9fnxqB6dR4jN2jm2bwe/4O+PhSKM0EUyxc+RW07xfwwz1lDl9CllGKc3+Zb9b8MX/t1FEGfzKmTwk/7uxVl8PDRw//icPq5sLb+tCpz8nZ6i+EwFNs97c8OvaX1Tj5QBsf4usOPfzT7C2vAXDlVlK5Ohfrhny8lb5WQkWvxjQkgfChHZqkG1cmaAEKhoVqG0IILzt2PEp2zhcApKU+SocO17dwVNUJ4WH37ufIzPovAPHx4+ie/hwqVQuOaZFOyFfPPsaBTes55cKxnHv1lJYNxloMn06EzL9ApfWtIt/nsgYd0u2uYMuWOykq/h1QSO3yAB06TGnWcUZbfj/Esk92YjBpmfzv09Abq3cdCeFlz94XOXhwNgDle3uwd6mg57lDGXnr3U0SlxACx75SKn7Pwr6rxJ/sKHo1xh7RGHvHoO8SgUrfCH/UDqzwdWvaSyE61ZecRdWedAqXB2dOpW/ge2Z5rUmDOvqohKxzOJqIwJcT2br8EL99vJOwWCOTnxoiZzkexW1x4Nxf6k/a3AW2avtoYoyHx7D5Jh5oIpt/KRchBO48K7Ythdi2FvmWRTlMHa7DfEYiplPjURmarrtWJmgBau0JGhz+oN4znYOZ7wPQseMtdOl8L4oSHDNuHI58tmy9G4vFV/+wS+d76djx1lY/sPZktW/9ar6Z/hQ6Ywg3v/MROkMzdHMdj8sO39wM27713T7/cThzGjTg9eX1utm1+ykOHfoEgNjYkfToPr3Z1h70erx89swqSnKtDBjRkdPGV6124PU62Lb9QfLyvgcgXHM5y97ejEav54YZ72GOim7yGN3Fdl/Lw9o8PGVHdXepFd9g8s4R6JJD0SWHojbVs6tr67cw/ybwOCDpVJj4GZh8v5MQAk+pw7cIbIEVV7YvKXPlV1brrkQBbbzJlxR0CkPfKbzGhcADIYTgs2dWUZxdyZmXpdH3/OO3bJ7sPBVOHBllODMOdyfX1HoZrkObYEbbLgRNuxC07Uxo44yN2mol3F5ceVacWeW+5HGvBW+5658dVAqG7lGYBsVjSIv0rT/XxGSCFqC2kKCB78PjwIF32bvvJQBiYs6nZ49XWnwx2+LiP9m6bRpOZyFqtYnu3V+gXdyoFo1Jahjh9fLhtFspyTnEv66/hf4jRrd0SL6FS5c8Bivf8t0+5Tq44GVQn/i3YCEEh7I/ZdeupxHCRUhICr16vk5oaM9GCvr4MjYVsmjmJtRaFVc+NYTQw11vvi88d2GxrEJRNHRLe5YfX/iR0vw8Trt0Eqdf1rwThoTXN4zDtrEA247iGlutVKE6/4r2qlAdarMWlVmLKkTrW5RVpYACKCDWf4X373kIDIj4IXi6TsJT4fWVRbI4cBfbEM6aF2FVmbW+JS8Szeg7hqHrGNZoLSFHFhPW6NVcO/2MGls1pdp5rS4cB8r8SZuzhvF/gK8CQrgedYQeTYQedYQBVajWV9rK6Ps5tjtduL14rW68VpevnFa5E3eRHU+xDVeBrfrCwRoFQ1okxp4xGLpH1f8LRAPJBC1AbSVBOyInZz47dj6K1+vEaOxEn94zMZuPXyOuKXg8VvbufYXMrI8AgdnUjV693sJk6tzssUiNb/1P3/Prh+8SmZDIda/OapklN2ry97vw44OAgNShcMn7YIxo0CFLSzewecvtOBy5KIqGlE530LHjrU2+SLQQgm9fXU/2bgvdhsQz9NoeFBevYOu2e/xfeHr3nsm+P/P5fd4HmCOjuH7Ge2gNLVsBwF1kw767BOeBcpxZ5TV2dTWYSkETY0ATG4K2XYh/HTJ1mK7JWuYXzdpExsZCep2TyDkTm/8zta3xOjz+lk9XrhVXXiXuPGv12aKNQDFqfGvUdQhF3yUCfYewZlkwuDYyQQtQW0vQAMrKNrFp8204HDmoVDpSUu6mQ/INzVZ1oLhkJTu2P4LNfhCA9u2voGvaY6jVLdwVJjUap83Ku7dei9Nm5eKHniSl/8CWDukf27+Hr6f4qg5Ep/m6x2JSG3RIp7OYHTv/j4KCnwEIDe1Nerenm3yWZ/6BMr58fg2K2smZN66loOS/gNf/hUfxRPPBXTfhsFYy4ta76XXu0CaN50R47W7cBb7uSHeRHW+FE2+FC0+lC2+l63D5Ig9UFiHcLhTFiSosHCUqHpVe4y+NpDlSGinSgCbagKJuvj+wZYU25j22EiFg4hODiUqQE5uagr8CQrEdj8XhazG12PFWunyF5O0ehM3tW6Pt6DxcraAK0aI+UjLLpEUTbUQT7Uvi1ZH6oBpSIxO0ALXFBA3A6Sxi2/b7KSpaBkBYaB+6dXuasLATLyFTF6s1gz17XqCgcAkAen0C3dOfJTr6nCY7p9Ry/vfRbNYtWkCnfqdwycNPtXQ4VWVvgM8mQdkh3wzPSz+AtIYlL0IIcvMWsGvXk7jdvpmMCQmX0qXzfej1sY0QdM0Wf/wxHvOb6EILDp/zMrp1fQK12uhf9iS2U2euen5G8LRk1kfuFvhsIlgO+pbRuPQDSGvembN18S+t0T2SMXe10Pp/UptRn7yjFb6jpbrodNH07fM+3bu/gEYTSln5JlavGcfmLXdSWbmvUc9VWbmH7dsf5q+/R1JQuARFUZOUeBVDBv8ok7M2rP/Ii0BR2L9hLUWHMls6nKra94ObfoPkweAohU8ugz9mQAO+iyqKQkL8OIYM/pn4+HEA5OR8xYqV57Jz19PY7dmNEblfaek61m+4FnXC4+hCC3BZI4gPf4Ee3aejVhspOpTJxiWLADj3qhtaZ3K2+St4f7gvOYtMgRuXBl1y5rS72f6n77ntXceSJ5LU2Frhu1oKhKIotE+41PcHpd04QCE/fxF//T2CjRunUFj4K0J4TujYHo+NvPwf2bDxBv76ewTZOV8ghJuY6H8x+NRFdOv2ZItPUJCaVkS7eLqccioA63/8voWjqYE5Dq75HvpfBcILS5/wlQqyWRp0WL2+HT17vMLAU74kLKwfXq+drKyPWLHyX2zecieFhf/D63XVfaAaeDx2cvO+Z936q1iz9jKKi5ejKGrU9jFk/PQ0m35Ixnt4pfvfP/4Q4fXS+ZRT6dCrb4N+p2bndsKi++HrG8BVCSnnwJRfITb4xnZt+yMbh9VNRLsQOvVq+tmxknQ02cXZBrs4a1JRsZO9+16hsPAX/31abTTRUWcRFXUGYWF9MRqTUamqT0P3eBxUVu6ktHQdFssaioqX4fFYD29ViI0dRocONxIRfkoz/TZSMDi4ZSNfPvMoGp2eKW9/QEhYeEuHVJ0QsOZ9+Olh8DghspOvjmM9Fjyt/dCCkpIV7N8/kxLLX/77tdoooiJPJzJyCOHhAzAaO6JWVx+87/U6sFr3Y7GswWJZRWHRb3g8FQAoipr4+Ivp1PFWVKI98x5bicPq5rzJ6ZgjCvjymUdRVCquefltohNbUctOaRZ8eS1krfbdPuteOO9RqGfN0Obg8XiZ938rqShxcO6V3eh5VmJLhyS1AXIMWoBOpgTtiMrKfWRnf0ZO7nxcrpJjtqowGBJQq0NQFA1CeHA48nG7LdWOYzAk0S7uAtq3v4KQkE7NEboUZIQQfPzIPeTt28OQSyZyxuVXtnRItTu0Dr68xtedptbDqOm+5TgaafBweflWcnLmk5v3HS5XcbXtel07NNowFMU3WcfpLMDpLKy2n8GQSHz8eNonXIrR+E/itWHpQf78ag8GsxqN8hWFBzPoN2I0519/S6PE3yx2/gQLbgNrERjCYfy70C14l93Z+XcuSz/chjFMx9XPnoZGFgeXGoFM0AJ0MiZoR3i9Diyl6ygu/pOSkhVUVu4+qlWsOo0mnPDw/oSH9Scq6kzCwvoG1cwYqWXsXPkHC2dMx2AO5aa3P2zxZR6Oy1YC39wKu3703U4fDRe94V8EtTF4vS5KS9dRUvIXJZa/KC/f5m8Vq4laHUJYWF8iIk4lKvJ0wsMH1LjItMftW7y28OAq3NbF6ENMXP/6e8HZankslw0WPwarfVUPiO8Dl885bmWAliaE4PN/r6boUAWDx3Rm4AWdWjokqY2oT94hV9s7SalUeqIiTyMq8jTgcN1QZwE2eyZerxPhdYOioNfFote3Q6MJlwmZVE3a4NOIiE/AkpvD5l9/ZsAFY1s6pNoZI2HCJ74FbX95GnYs9HW1jZvpWzetEahUWiIjBxMZORi4y1daxm3BZsvE7a5A4AXhRaeLRq9PQKuNDOh9pdaoGDwmmQUvvQZA32HjW0dylrsFvr4RCrb7bg+5HYY+AZrgLvOWub2YokMVaPRqep0juzalliETNAnwTSrQ6+PQ6+NaOhSpFVGp1AwcfTFL//M2a374lr7DL0StCeKPFZUKzpgKnc/1JQ6FO2HeJXDqzb7EQde4a1wpioJWG4lWG9ngY+Xu/hVEJYoqHEtx10aIrgl53LDyTfjf876STaY4GD+r0RLhprZ+sW8dxx5nJGBo5pXmJemIIP4kbXlerxen01n3jpJ0Eus8+AyilizCXl7O9r/+JHXg4JYOqW6RXeGaxbDiDdj8BWxbBFkbfQPWk09t6eiqKSvIZ+sfvxESFYM25DzyM8vYtyWH9qkNT/x0Oh2qxlymI28rLLgdstf7bncdCWPeAnPTrRfXmAoOlpO1owRFpciam1KLkmPQaukLdjqdZGRk4PXWXPdNkqR/OKyVOCorUWk0mCOjWjqc+nHZwVYM3sNlZnRmX4moGsaCtRRrqQW304lap0OtMeGye1CpFULCG17eSKVSkZKSgk53YoXE/dxO+OM1+P0l8Lp8EwFGToe+ExttMkZzWPz+VnavziNtUDuG39A8tVelk4ccg9ZAQghycnJQq9UkJyc37rdLSWqDvB4PxTmHEF4v4bFx6IwhLR1S/Xg9UJEP9sMzmxUPmKN9SUYLJxdOm5VStYKiKES0S0Cl1mDJtyG8gpBwHUbziSdWXq+X7OxscnJy6NChw4kne3t/hUUPQNFu3+1uF8LoVyE0/oRjawmlBVb2rM0HoP+wDi0cjXSykwlaDdxuN1arlfbt2xMS0sr+0EhSC/FERlJpseC2Wglrba1oACEp4Ij1LcXhcYAtB9xlEJ4Eupb5HBDCS0V+Hlq1GlN4BObD37iVGA3lxXbcNgVdpA5VA2pTxsbGkp2djdvtRqut53grSyb8/Ahs/8532xQHI5+HXpe0eGJ7Itb8eADhFXToGUVsB7nYttSyZIJWA4/Ht8J+g5v8JekkEhIegbW0FKfdhsNmRd/aWtEA9GaITYfKfKjI8610X7gTQqIhNAHUzTtg3FpaitvlRKVWYzoq6TWYtdjKXbhdHiotTkKjT3x5kyOfcx6PJ/AEzV7mmw375xu+wvSKGgbfDOc+5Gt1bIVKC2zs/CsXgEEXBu8SINLJQ/bdHUcwLSuxc+dO3G53S4chnYCcnByKi6svXtrWqDVajIdbeCqLi2m1w1tVKl/XXGx3Kj16Mg4e8i2umr8NyrL/GavWxDxuNxUlvtdNaHQMKvU/C6UqioI5yrdUha3CictxYmXbjhwrYG4H/DUL3ugHy17wJWcdTodblvtazlppcgaw9qf9CK8guUcU8Z1b7+8htR0yQWslzjnnHAoLq688fjxOp5Pdu3djs9maKKrWGUtze/bZZ/nkk08C3r+kpIQtW7awZcsWsrMbtwh3fdU3FlOEb10vp92G097Kn2uNjtV787nugRdAG+Kr6VmRB3nboDzPN26tFvn5+fV+vx6rorgQ4fWiNRgwmKt3t+kMGvQhvhav8mJ7rQlxSUkJ+/bta1AsuJ2wbg68NRB+esiXsEan+spmXbcI2rXuwfRlhTZ2rpStZ1JwkQlaG7Vy5UqSk5M577zzSEhIYNGiRTKWVmLJkiVMmDCBoUOH8vjjj7eqWHytaL7Wh1bdinY0lRpiukJkCmgMIDxQnu1bTqIsBzz/FEffv38/w4YNo3fv3qSlpTFixAgqKmqvJFAbp92GrbwcgLDo2FpbucyRehRFwe30YK+oXqT96aefJjExkdNOO43+/fvXP2l0VsLKt+H1vvDdnb7xeeZ4GD0Dbvsbeo5rlWPNjrX25wN4vYKk9EgSusjWMyk4BGWCZrPZuPHGG0lOTmbw4MGsXLmyzsesWbOGuLg4Zs6c2QwRBr+77rqLxx57jKysLObNm8ftt98e8JIh27dvx+v1UlJSQn5+vv/+gwcPUlZW1qyxnIwuv/xytmzZwt13313vx2ZnZ1NSUoLL5WL//v3++y0WC4cOHWqWWKq0orWVFlNF8S29EZsOER199TyFBypyfYmaJRNcdrZu3cpDDz1EXl4e2dnZVFRUBPyZVFFRwYEDBxBCsGPTRmx2O8bQMIRKxb59+2oc4qDWqDBF+MaQVVgceD3/vK/27t3Lq6++ytatW8nLy6Nnz568+OKLgf2+pVnw67/htV6+SQDl2b7EbNgzMHU9DLwO1G1jCHN5sZ0dK3IAGDRatp5JwSMo32H//ve/ycjIYOnSpfz+++9cfPHFHDhwoNZB+w6Hg3vuuYf+/ftjtdZeT/JECCGwuU58fEcgjFp1vcaBZGRkUFlZWeO29PR0SkpKWL9+Pb///jsAo0eP5pZbbmHz5s307du3zuOfdtppjBgxglWrVpGfn89zzz3H0qVL2bJlC4WFhXzxxReMGjWqWWJpCCEEohkSBMVoDPj5KyoqIicnp8ZtCQkJREc3rC7k448/Tl5eHps2bcJqtTJgwABGjx7Niy++SEVFBRMnTvQnDE0Vi1qjwRgWjrXUQkVJMbp6XJ+jCSEQrqZN5BWtKuDY3G43O3bs8N0QAhw2X1ef244pJIuUDolcOLirb0KB14vRaKRHjx64XNVbtmryxx9/8NBDD+H1eLBYLNhsNmbNmsUjjz6KzWYjJCSEv//+m4iIiCqxCCEoK7DhdnvRH9DQLjGalJQUFi1axLBhw0hJ8SUdt9xyC1OmTKk9SfN6YfcSWP0+7P7Z16ULvpbDM+6CfpOCvkTTiVj70wG8HkFit0jap0a0dDiS5BeUCdq8efP45JNP6NatG926dePdd99l8eLFjB49usb9H3vsMW6++WaWLl3a6LHYXB56PP5zox/3aNueHkGILvCn4oknnmDdunU1bvvll1/Iy8sjJiYGw1GFq5OTkzl06FDASdF5553H559/zvLlyzn77LP5/vvvGT16NJ9++imvvPKKP0FrjlhOlLDZ2DnglCY9B0C3dWtRAlyO5ccff2T69Ok1bnvooYeYPHlyg+PxeDzs2bMHj8dDeno6SUlJHDhwAIvFQkpKCv/+97+Jiopq0lhMEZHYykpxHW5F05/AcjXC5SX78RUnHEMg2j99OopOXfeO+BLaCRMmVN8gvAzo1Y05rz0Ozgrfj5LFlox8fvrxx4B6AI7Yv38/Sxd+R1JCAk9Mf5H77r+ftWvXEh0dzbhx4/jqq6+48cYbq8UihK+gOsDAgQOY9/E8cnJySEpK8u9z5H1XNXYBTivYLPDRnZC3+p9tnc6CQTdA+kVtprXsWGVFNrb/6RtbeeroTi0bjCQdI+jedR6Ph6ysLNLT0/33paenV+muOdpff/3Fnj17ePHFF+tM0BwOBw6Hw3/7RLrrgsFTTz1Va6tVdHQ0FoulWokqh8OB0WgM+ByXXnopAP369UOv1/uT4379+lUZLN4csbQlo0aNol+/fjVuS0hIaJRzjBkzBq1Wi1arpVu3bowfPx6VSkVUVBRJSUnk5uYSFRXVpLFUbUUrOuFWtGASHR3NZ599VuM2k8kEcYm+igTWIrbv2MEl19/LFzP/TZLWAhZ8Mxx1Jt+Ytlr069ObpIQEtAYjpwwahMPl8rdk9u3b1//eqymWihI7DpubsPBQhBDo9XpKS0v92/3vO+H1jS1zlPkSM4fD9//KXF+M/a6EU66D2CCv99kIVn+f8U/rWVrDy2ZJUmNq9gTtnnvuYe7cuTVumz9/PkOGDEEIgfqoKeUajabG8Rc2m41p06Yxf/78gM79/PPP89RTT9UrXqNWzbanR9TrMfVl1Ab2Df6IulqtkpOTqays5NChQyQmJmK329mzZw+dO3cO+ByawwWvFUXx///I7aPHjzVHLCdKMRrptm5ts5wnUM3Rgnbs81Xb89fUsfzTimbHYa3EYDLX6/GKVkX7p09vUAyBnCNQtbagAQMGDGDOnDkQGs/Gvblccv39zJ31Gqf17uJblsNa6PtB8SVp+lBfSSmt0Z+wOe02FHwVA8JiY1GpVLU+d7XF4nF56d2rLx9+8F+6dOnCL7/84uu6dNvYvPoPunRMhNzN/3RfAqDyzVId9RJ0PQ+0J76mWmtSdKiCHX/7Zm6eNq5LC0cjSdU1e4L2zDPP8Oijj9a4LTw8HK1WS2xsLBkZGfTv3x/wjXOqqXtz1apVrF27ll69egG+QbZqtZrc3Fxefvnlavs//PDDTJs2zX+7rKyM5OTjF8NVFKVe3Y/NYc6cOXXuc9lll3Hbbbdx//33M2fOHAYPHkzHjh0ByMrKQq/XExvb8OLFDY2lKSmKEnDXY3OZPHlynYlPZWUlGRkZ5OXl+Ze5SEpKIiIigvLycvLz8+nSpeF/UBoaS13UGg0hERFUlpRQUVyEPsRUr1Y0RVEC7n5sDu3atWPLli3H3WfDhg0MHz6c5557jtD2aWwp9BJlCqF9lBHsZWzdvoO0lA7onEfN7NQY8GqM2Ep9ZaZCQs1oNcf/vWuMxevFVm6j3OKh0uJg9NmDuGvqHbz61P3079WNx59+gWk3TfYlZyqNL0nUhwF6qDwIKYNOmuQM4K8F+0BAl/6xtEs5fk1ESWoJzT6L02w2ExMTU+PPkVWsx48fzyuvvILL5WL58uVs2rSJ4cOHVzvW6aefzqFDh9ixYwc7duxg/PjxPPjgg7W2kun1esLCwqr8tBbp6en1KsPy5ptvEh8fz1133YXVaq2SSN1111189dVXtT62R48e/hZMtVpNjx49/Nv0ej1du9av6+N4sZwM2rdvX68B99u2bWPChAksWbKEnTt3MmHCBJYtWwbAwoULuemmm2p9bGJiIlFR/6w436lTJ0JD/1lDKy0trcp4wIbEEghTeCQqtRq304mtvPUNKTCZTP5B9oFYu3YtcXFxzJgxgwkTJjBh4iTe/egTiOiAPbwLAy+4Cosw+7oSVYffz247FeVWjMYQOiS1x+TMgdzNRCllJIZrIX8HFO4mzqQQZ1KgaC8U7YHC3VCwwzeLNGcj5G7EULELneKbKCWIYOF/X2fJ8r948Lk3ufKycVw/5RaI6QbtekFkJwiJOm6Xa1uVvcfC/k2FKCqFwWObvjVfkk6EIoJwoaLc3Fwuvvhi1q5dS0hICDNnzmTixImAr4s0KiqKxx57rNrjrr32Wnr16sV9990X0Hlqqypvt9vJyMggJSWlXn/MWgOPx8OkSZOYN29e/evuSS3u8ccf59JLL6VPnz4tHUrAKkstlBcWoNKoiUnuhEoVlKv7NLnff/+d1atXc++99/5zp8eFs7KU4gJf61lkiECvOE68WoGiwq0yUWKPRaAQGurFGGYEta7W9cra8uddTYQQzH9pHbn7SulxZnvOm5xe94MkqZHUlnfUJCgTtCMqKiowGo1VxqNVVFSgUqlqLGJ+pIsz0AHoJ2OCJknNTQgvhZkH8bhcmCOjMEc1bCmRtsTr9VKclYnb5cQYGkp4XPzhDR7fArjC4/u/8PjGklXJsRRf65dK4/tXOfKvgrXMQUWJA0WlEJVgQq2pPSk+2T7vdq/OY/H7W9HoVFz51GmYI9ve0iFS8KpPghZcg6uOYTZXH1Rc032BbJMkqWUoigpzVDSleblUlpZgDAtDrZGttwCVJcW4XU7UGg2h0UeNCVWpG9T1aAzVYa9043Z6qCi2Ex4XXGMxW4rb6WHF/D0ADBjRUSZnUlA7OfsaJElqVgaTGa3BiPAKyouKWjqcoOC026i0+Lo2w2LiqhRDbyhFUQiN9rWGOWxu7JWBLZbb1q1fcpCKEgfmSD39hnVo6XAk6bhkgiZJUpNTFIWwmBgA7BXlbacE1Anyer2UFfjKqBlDQ9GbTI1+Dq1OjSnc10JUXmz3L2R7sqoocbDu5wMAnH5xKtogmiEsSTWRCZokSc1CqzdgPDzmoqyooG0UUj9BlSXFuJ1OVMd2bTaykHAdGp36cMul/aS+5ivm78Ht9JLQJZzUgXEtHY4k1UkmaJIkNRtzVDQqlQq3w4GtrLTuB7RBTpu1ybo2j+VruTQcLl7vxlZ+cnZ1Zm4rZvfqPBQFzrw8rdVXtZBODjJBkySp2ajVGkyHZ3GWFxfhqaFCSFvm9Xgozc8DwBgahqEJujaPpdGqMR0eDF9hceB2eZr8nMHE7fKw7NOdAPQ+N4m4jq1n/Uvp5CYTtFaiS5cu5Ofnt3QY0gm49957ee+991o6jKAREhaOVm9AeL2UFxa0dDjHtXz5ckaNGtUoxxJCUFqQh8ftRqPTERrTdF2bxzKategMGhCCssKTq6tz7Y8HKC2wYQrXMXiMXJRWaj1kgtZKVFZWVqmBWZeLLroIs9mM2Wyus4h8cwvm2JqCw+GoVjD+ePbu3ctll11GQkICp556Kj/99FMTRlc/jRGbr9ZkHChgr6zAXllR94NaiMfjwVaPCQ02m43HHnuMLl26kJqayhNPPOFPhmxlpTgqK1EUhfC4dk2+YG9RUZH/fZacnExotAFFpeB2+kpBnQyKcyr9EwPOvLwrOmNQrywlSVXIBK2N+vLLL8nNzaVr1641FppvScEcWzCYPn06EyZMYP369UydOpVLLrmEgoLgaGlqrNi0ej2m8EgAygsL8HraRrfbZ599hsFgYMmSJXz55Zd8/PHHfPjhh7gcDsqLCgEwR8eg1Tf9grDR0dHk5uayYsUK3yLeGhVhh5fesJY5cVjb9ng0r8fLLx9tx+sRdOwVTZcBzddiKUmNQX6dqIsQ4LI27Tm0IbWWYTlRR1YEP5Fv6UlJSdx111188MEHuN1u3nnnHVasWMGsWbOIj49n7ty59OzZs0Viqw8hBG5n0y8toNGpGnXQ8ezZs/3/nzx5Mvfddx/Z2dkBFbe/44470Ov1rF69ml27dnHTTTfxr3/9izvvvBOLxcLjjz/OlClTWiS2Y5kio7BXVuBxuSgvKiQ8rl2V7UIIXK6mTSK0Wm2jPnfXXXddldsjR45k3759lObnIoRAH2IiJCy8xscuXbqUl19+mfj4eJYsWUKPHj14++23uffee/n7778ZOnQoH330Ub1KtJnN5ipVV/QhWoyhHmzlTsqK7ES14aUm1i85SP7+MnRGDede2U1ODJBaHZmg1cVlhefaN+05HskGXeCDhYcPH86KFStq3LZr1y7at29YvBUVFezbt4///e9/LFiwgLFjx3L//fezfv16Zs2axWOPPcb8+fObJZaGcDu9vHdX4IW9T9RNr5+DVh/YH7qZM2fywAMP1LjtxRdf5Lbbbqty36JFi4iMjAw4Ibbb7SxbtozPP/8cIQRnn302a9euZcGCBeTl5TFy5EgmTZqEyWSqdyzHqm9sx1KpVITHtqM4OwtbeRl6kwmD6Z9qIC6Xi+eee+6Ejh2oRx55BJ1OF9C+2dnZdO3atcZtp59+OosXL65yX3FxMT/88AMfvvvO4SU11ITFxtWaKLjdbn799Ve++OILXnjhBW644QbOO+885s2bR9euXRk/fjzffPMNl19+eb1jOZo5Qo/L4cHt9FBWaMMQ3vY6UooOVbDq+wwAzro8DXNk2y9hJbU9MkFrhRYsWICnli4hUyPNCnvssceIj4/niiuu4M477+T//u//UKvVXHrppXz11VcBx/L+++9z1113Ab4/ho888kijxNdaTZkyhauvvrrGbXp91bIzK1eu5J577uG7775Down8rTplyhR69OgBQP/+/bnhhhvo3LkznTt3JiEhgczMTNLT0+uMpaioiI4dOwLQo0cPVq1a1eDYjqUzGjFFRFJpKaGsIB+t3oC6AcdrSgkJCeTm5ta4TX3MUhmlpaWMHj2a+6bdQ3qXziiKQkRcQp2/25AhQxg3bhwAo0ePJiwsjPPOOw/wfRnatWtXvWM5lqJSCIsxUpJbicvhwWtpW8MMPG4vS/+7Da9H0KlPDN2GxLd0SJJ0QoLzkzCYaEN8LVxNfY56GDt2bJO3Wh3pFtFoNOh0Ov+HvkajqTJurK5YrrnmGq644gqAgFsqGotGp+Km189plvMEavbs2QG1Wv3222/cdNNNfPfdd3Tr1q1e8RzdpaXRaKrdPvL8BRLLkSTg6D/6DYmtJubIKBxWK26ng7KCfCLiE1AUBa1W2+QJfX26C3NycgJqtSoqKmLkyJFcf+21jB81HIRv3JnOaKzzHIE+d4HGUhuN1jcerbTAht3qwmVvO0naivl7KMysQG+SXZtS6yYTtLooSr26H5tDc7SgNVYsiqK0WBF7RVEC7npsLoG0oC1evJjbbruNH374oVESoIbEcuxz1xSxKSoV4XHtKD6UicNaibXUgikiEkVRmj2pP55AWq3y8/MZNmwYt99+O+OGD8Xr8WAwh9Y67qwpY6mLPkSLKcKLpdCJ3eom/2A5Hbq27q7AfRsK2PRrFgDnX9PDX+pKklqjtjf44CRgNBr90+eP/TnybfHee+/FbDazfv16xo8fj9lsprKyEvANZJ4xY0azxXKs48XW1mm12lqv15HWnEcffZSDBw9yyimnVFuOZMGCBZx77rnNFsuxjhdbg2LR6/3rgpUXFwZlrc4jXzZq+jEebh378MMP2bx5M/fccw8pPXuT2qcfjz79DIqiIIQgIiKCzMzMZokFoFOnTvTt25fS0lLMZjOXXXZZleOEhOnQGdUgYPlnOyktCL7rHqiyQhu/ztkOQL+hyaT0iWnhiCSpYRRxMq1YeIyysjLCw8MpLS0lLOyf1aXtdjsZGRmkpKT4Zxy2NKvVitFoDLi53ul0Vlt7y2w24/V6OfXUU1m8eDFRUVE1PraysrJKS9zRt4UQ2Gy2Kl0v9VVbbG2V0+n0d9kFwmazVWuVNBqNqNVq7rzzToYNG8aYMWNqfKzD4UCtVvvHhdntdrRarb9VxWazodfrT3gG7fFiayghBGUFedjKy1Fp1EQndmjx8Wgejwen01kl6Tkep9NJ7oH9uGxWVBoNUe0TMRhD0Ov1LFu2jPfff585c+bUei6Xy+X/zHG73Xg8Hn9r5pH3TH1aFSsrK6ssSqvRaKp9plmtNrZt2snGbywYDAYuuf8UDObAu36Dgdvp4ZtX1pF/oJx2KWGMv28AarVsf5CCT215R01kgtZKErTGIoTA6XRWG5AutQ52u73NvSaP5vV6KT6UidvpRGswEpXQHqWJl2NpLL4EMx9beRmKSkVU+yS0R73PXC4XKpWqUZLZxmS329m7dx+bvrNQfMBOQpdwxtzdD402uOKsjRCCJe9vZfeafPQmDZc/PIiwmMASaklqbvVJ0FrHJ5/UaBRFkclZK9aWkzPwLb0R0S4BlUqFy26jtCC/VZQlEkJQXlSIrbwMFAiPi6+SnAFVWjKDjUqlcO6V3dAZNeTsLeXn2VvxuJt+DcHGsGbRfnavyUelUhh1U2+ZnElthkzQJEkKKhqdjvDDMzntFeVUlhS3dEh1qiwpxlpqASA8tl2zFEFvbJFxJi64tTdqrYr9mwpZ8sFWvJ7gTtJ2r87zr3d2zqRuJHaLbOGIJKnxyARNkqSgozeG+Op1AhUlxVhLS1s4opoJIagoLqLicBIZFhOLMfT43RbBLLFrJKNu6Y1Ko7B3XYGvVJI3OFsw928qZOmH2wDoe34yPc5suUWxJakpyARNkqSgZAwNwxzpm8hSVpiPtSy4krRjk7PQ6GhCwiNaNqhG0LFnNCNu7IVKpbBrVR6LZ2/B4wqulrSsHcX89N4WvF5B2qB2nH5JakuHJEmNTiZokiQFLVNkFKbDSU9ZQfAkaUIIygsLqLSUABAaHYspouZZ0a1R536xDJ/S09eStr6AhW9vxBkki9lm7Szhh1mb8bi9pPSN4fxru6NSycVopbZHJmiSJAUtRVEwR8f4W6bKCvKptJS06MQBr8eDJTfbnyyGxcZhiohosXiaSpf+cYy+oy9avZqsHSV8++p6yovtLRrT7jV5fP/mBtwOD8ndIxlxYy+5nIbUZslXditx+eWXU1JS0tJhSCfgrbfeYsGCBS0dRqulKAqhRyVp5UWFlBcWNEuStnHjRu69917/bbfLSXF2Fg6r1Vdfs118o1cJCCbJ6VGMvac/BpOWgoPlfPn8arJ3W5o9DiEEm/6XxeL3t+J1C7r0j+WC2/qg1so/YVLbJV/drcTvv/+Ow+EIeP8HHniAoUOHMnToUNasWdOEkdXNbrfz5JNPcuGFF3L//fdTGqQDvpvKjh076rV6vN1u55VXXmH8+PFMnTqVffv2NWF09bNw4UL/6+rVV19ttvMeSdJCo33VBqxlpVhys/G4m7bbraSkhLVr1wJgqyinOMu3RptaoyEqMQmDObTaY3744QeuvPJKJk+ezKJFi5o0vro0RiztOoVx2cMDiU4yYyt3seC19WxYehDRTJMHXA4Pv3y0neWf7wIBvc5OZPiUXq1mnTZJOlEyQWujJk6cyEMPPURmZiaFhYUtGst9993Hr7/+ynXXXceePXu4/vrrWzSeYHfNNdeQm5vLNddcg9fr5cwzz6SioqKlwwKgf//+PPTQQ3Tq1Ilt27Y167kVRcEUEeEvpu6wWinKOojD2sRlwoSgND+X0rxcvF4vWoOBqMRktPrqa9LNnTuXd955hwsvvJAzzjiDSZMm8fPPPzdtfLVozFjCYoxccv8ppA6Mw+sV/PnVHr59bT1lhU1bGqoou4Ivp69h51+5KAqcNr4LZ0/sKsecSScFWSy9DkIIbO6m/RAyagIv4RSo/v37AxAaWv0bfl3GjRvHHXfcwccff4zb7eapp55i586dzJ49m/j4eJ555hmio6MDOpbdbue///0vmzZtonPnzowaNYp27dqRnZ1N+/ZNOy1eCIG7Hq2OJ0qj1zfq8zd79mz/CtPjxo3j66+/ZteuXQwYMKDOx7766qvExcWxadMmdu3axbXXXsuAAQN45plnsFgs3H333ZxxxhknHFtiYiKJiYmsWbOGPXv2nPBxAiGEwOut/t7TGlSEx0dTWpCH22mn6NA+jGFhmCIi610aSqWq/b0nhMBeWYHL4cBWXg6AOTIKU2RUrY8ZO3YsV111lf/2tm3bWLZsGSNGjKgzljVr1vD111/TsWNHlixZQo8ePXjkkUd49dVX+fvvvxk6dChTp04N+HdrSCw10erVDL+hJ4ldI/nz6z1k77bw6TOrGDiqI33/lYxG13gtWi6HhzU/7mfDkoN4PYKQcJ3/3JJ0spAJWh1sbhuDPxncpOf4e9LfhGgDr215zz33sHnz5hq3ffbZZ8TENKxI8G+//YbNZuPWW2/lp59+Yvjw4fTr149rrrmGefPm8dBDDzF79uyAYrFYLGi1Wjp37gyAyWQiNTWV3bt3N3mC5nY4eOOaS5v0HABTP/oKbYAr/M+fP5+ZM2fWuO22227j4osvrlL+Y/v27bjdbrp16xbQ8bdt28Zrr73GU089Rbdu3bjqqqs49dRTueGGG8jLy+Piiy8mKysLrVYbUCwtyeu18duy3k16jnPP2YxaXfW9J4TAYa30LT5rsSCEQKPT4VRUjLv8ihqP07t3b1577bUqz53b7eaPP/7gmWeeCSiWwsJCXnvtNe6++26uvvpqHnvsMebPn8/kyZO55pprmDZtGj179uT888+nsLCQCRMmNFkstVEUhV5nJ5LcPYpf52wne7eFv77dx5Zlhzj1ohS6Dopv0Lgwj8vLrtW5rFqYQUWx78tVp97RnHdVd0LCAq9BKkltgUzQWqErr7wSi8VS47YTaTGrydtvv01qaipnnnkms2fPZuPGjZhMJjp27Mi1114bcCxZWVnVCk2HhIQETZddcxs0aBAPPfRQjduOTcJycnK49NJLmTNnTpXi9XW5/fbb/d3Ic+fO5brrrmPSpEmA73k9cOAAqampdcZSVlbmT9JSUlL8SXlb5XG5sFdWYC0rxeNyAaCoFNRaLdFJHXA6nbVer4hjZnEKIZgyZQpDhgxh9OjRAcfQq1cvpk+fDkBmZiZLly7l4YcfBmD16tWsXr2a888/n9DQ0CaP5XjCY42Mu6c/u1bn8deCvVQUO/h1zg5WfrOX7qe3p/vpCYTHBd4zUFpgY/eaPDb/loW11FcU3hyl56zLu5LSN6bRexgkqTWQCVodjBojf0/6u8nPUR8ff/xxra1W/fr1a5Ram0da4QwGA0aj0Z8gGAwG7PZ/ptrXFUtCQgJFRUW4XC60Wi3gSzwSEhIaHGNdNHo9Uz/6qlnOE6jVq1cft9UqOTkZgIMHDzJq1Cief/55Ro0aVa94jm5BNRgM1W4fef7qiuWiiy7yJwFms7leMTQGlcrIuefU/No6lhACe0UFlZZiPK5/Jg6otRq0RiNanQG1RuPvAhVCILxe7BVOPK5KnHZble5wlVqNMSycsLh41BoNiqJQXl7uT56O1bt3bwYOHAiAx+Phuuuuw2Aw1Hp9axPoc9ccsdRFUSl0GxxPlwGxbP7fITb+mkmlxcG6nw+w7ucDhMUYSO4eRUxyKGExBsyRBhQFhABHpYuSPCvFOZVkbiumOPufcYSmcB19zk+m9zlJaPVyIoB08pIJWh0URalX92NzaI4WtMaKRa/Xk5aWxueff87kyZP5448/sNvt9OrVq8ljUxQl4K7H5hJIC9q+ffsYOXIkr7zyChdddFGLxaLVahk6dGiTnb8uiqJU6348HnOECVN4HE6bFWtpKU6bFeEROCtcOHEFdAyd0YjBHIrBHIpKpapS3DyQViu3283EiROJjo5m1qxZTdbyE0yxaLRq+g/vQN/zk9i/qYgtyw9xaGcJZYV2ti7PDugYikqhfWo46aclkDaoHWqNnL8mSTJBa4WOfDs+nrfeeotvv/2WXbt28fDDD/Pyyy+zcOFCDAYD06dPp0OHDv5ur6aO5aWXXmLixInMmDGD3bt389Zbb6HTnZzjSZKTk/2tZLW59tprKS8v5/XXX+f1118HYPr06QwcOJAVK1YwZ84c3nnnnWaJ5VhH1gU7cOAAVquVoUOH8sADDzB8+PAGx9MYFEVBH2JCH2LC6/XisttwWq24XS48bhfeI8tyKAqKSoVaq0Wr1aHR69GFhKBW1/6RqNfr60xYZ86cyTfffMM555zDsGHDALjggguYNm0aACNGjODDDz9s8PjLxoilsanUKjr3j6Vz/1icdjfZuy1k7SyhNM9KaaGdyhL74evum3AQGW8iMj6EuI5hdOwVjcGkbZK4JKm1kglaK/Hll18SFRV4KZlhw4aRnp5e5b4jXYzz589nzpw5tT52wYIF/i4to9HIwoUL/ds6dOjAhx9+WJ/QGTVqFHv37mXbtm2kpqY2S/dmMLnzzjvrNYbs5ZdfpqysrMp9KSkpACxevJi0tLRaH3vvvfcSHv7PwqnTp0+vkoT95z//8R/rRHTo0KFay03Pnj1P+HhNSaVS+ZO1E9W3b19eeeWVgPcfO3YsPXr0qHJfYmIiAFu3bqWiooL4+PgaHzto0KAq3ZYXXHBBlRm3V199dX1CP24sTU1n0NCpdwydejdswpIkncwU0ZI1U1pYWVkZ4eHhlJaWVpnxZLfbycjIICUlBUOQdZE1lMfjYcuWLfTt27elQ5FOwIYNG+jTpw8qlewCam2ys7NRqVS1JmgtpS1/3klSsKkt76iJbEE7yajVapmctWL9+vVr6RCkE9TUy8pIktS2yK/hkiRJkiRJQUYmaJIkSZIkSUFGJmjHcRIPz5Mk6SQhP+ckKTjJMWg10Gq1KIpCQUEBsbGxchVrSZLaJCEEBQUFvjUDtXKZC0kKJjJBq4FarSYpKYmsrCz279/f0uFIkiQ1GUVRSEpKqrIoryRJLS9oE7TS0lLWrFlD+/bt6d69e537b9q0iaysLLxeb6PUmzObzaSlpeFyBbYCuSRJUmuk1WplciZJQSgoE7RNmzZx/vnnk5qayt69e5kyZQrPPvtsjftWVlYybtw4tm/fTu/evVGr1Y1WEFitVssPLkmSJEmSml1QJmhPPvkkd9xxB0888QTZ2dn06NGDW2+9laSkpGr7vvzyy3i9Xvbu3dsoRcIlSZIkSZJaWlDO4vzll1/8dSLbt2/PGWecwbJly2rc9+OPP+a+++5j/fr1rFmzBo/HU+txHQ4HZWVlVX4kSZIkSZKCTbO3oG3atImDBw/WuG3IkCGYzWbKysqqlENp164dOTk5NT7mwIEDvPbaa1RWVlJYWEhoaCjLli2rsfbh888/z1NPPVXtfpmoSZIkSZLU1I7kG4Esb9PsCdqyZcv4+eefa9yWnJxMnz590Gq1VFZWEhoaCvjGmdVWs8pkMnHeeefx8MMP4/V6Oeuss5g3bx4333xztX0ffvhhpk2b5r996NAhevToUaWYtCRJkiRJUlMqLy8nPDz8uPs0e4J25513cueddx53n65du7J69WouuugiANauXcvtt99e477du3cnLS0NAJVKRWpqKiUlJTXuq9frq4xTM5vNZGZmEhoa2mRrnZWVlZGcnExmZmadhVFPBvJ6VCevSXXymlQlr0d18ppUJ69JVcF4PYQQlJeXB1SbNygnCdx2223cfffdFBcX8/vvv2MymTjrrLMAXxepTqcjPT0dgKlTp/Loo49is9nIz8/n22+/5cEHHwzoPCqVqsaJB00hLCwsaF4gwUBej+rkNalOXpOq5PWoTl6T6uQ1qSrYrkddLWdHBG2CptFo+P7772nfvj0//vijv4Vr2bJlhIWF+RO0K664AiEE33zzDeHh4fzyyy/06NGjJcOXJEmSJElqEEXIQmxNqqysjPDwcEpLS4Mqg28p8npUJ69JdfKaVCWvR3XymlQnr0lVrf16BOUyG22JXq/niSeekGu0HSavR3XymlQnr0lV8npUJ69JdfKaVNXar4dsQZMkSZIkSQoysgVNkiRJkiQpyMgETZIkSZIkKcjIBE2SJEmSJCnIyAStiVgsFq6++mpSU1MZOXIku3fvbumQmt1LL71EUlKS/+eyyy7zb/N4PDz44IN07dqV008/vdZaq63dzz//7P/9r7322mrbZ82aRe/evenbty8fffRRwNtas2nTpvmvyaefflpl29SpU6u8Zo6u/FFZWclNN91Eamoq559/Pps3b27u0JvMnDlzOOOMM+jbty+PPPIITqfTv23z5s0MHTqU1NRUbrzxRiorKwPa1pqVl5fz4IMP0rt3b84880y++uor/7Y//vijymvk2LUs58yZQ79+/ejVqxczZ85s7tCbTH5+PjfddBPp6en861//qlKRx+FwMHXqVNLS0jj77LNZtWpVQNtau5UrVzJy5EjS09OZNGlSlTKSgwYNqvIa+fLLL/3b9uzZwwUXXEBqaiqTJ0/GYrG0QPQBEFKTuP7668X48ePFpk2bxP/93/+J/v37t3RIze7RRx8V999/v8jMzBSZmZkiPz/fv+2NN94Qffv2FWvXrhUffvihiIqKEmVlZS0YbdOw2WwiMzNTvPrqq+LCCy+ssu33338XsbGx4tdffxWLFy8W0dHRYsOGDXVua+2Ki4tFZmamGDFihJg9e3aVbVdeeaV44403/K+Z4uJi/7Zp06aJYcOGiY0bN4rp06eLLl26CI/H09zhN7olS5aIa665Rvz5559i1apVol+/fuLJJ58UQgjh8XhEamqqePrpp8WmTZvEhRdeKO655546t7V2Dz30kHjxxRfFli1bxFdffSXMZrNYt26dEMJ3vc4880z/ayQzM9P/uI0bN4qIiAixaNEisWzZMpGQkCCWLVvWUr9Go7rrrrvERx99JHbt2iXmzJkjdDqdKCkpEUII8fTTT4vTTz9drF+/Xrz11lsiISFBOByOOre1dsOHDxdLly4VO3bsEDfccIMYNmyYf1tiYqJYvXq1/zVSWVnp3zZgwABx//33i82bN4srrrhCXHfddS0Rfp1kgtYEXC6XMBgMYt++fUII3wdpfHy82LhxYwtH1rweffRR8cwzz9S4beDAgWL+/Pn+28OGDRMfffRRc4XW7D788MNqCdqNN94oHn/8cf/t+++/3/8H9njb2oqxY8fWmKDNnTu3xv1jYmL8f6SFECItLa1N/PE9NsmcMWOGuOKKK4QQQvzxxx+iQ4cO/m1bt24VkZGRdW5r7Y69Jueee6749NNPhRC+BO3888+v8XH33XefmDp1qv/2s88+G7R/fOvL6/X6/793714RFhbm/wKTmpoqfv31V//2QYMGiQULFtS5rbU7+pq88cYbYuTIkf7biYmJVZL3I7Zs2SKioqKEy+USQghx6NAhYTAYgjJplV2cTSA3NxchBCkpKYCvpFTXrl3JyMho4cia37vvvktaWhoXXnghf//9t//+jIwMunfv7r/dvXv3k+76HO8anMzX57HHHqNbt25cdtll7NixA4CKigoKCwvb5DVRqf75GPZ4PHz11VeMHj0aqP46SE9Pp7S0lNLS0uNua+2Ovib79u1j+/btnHPOOf771q5dS1paGmeccQZz587139+W3zeKovDvf/+bhIQEevfuzQcffEBkZCRCCA4cOFDj7328bW2BoiicddZZREdHM2PGDN57770q24cPH07v3r2ZOnWqvxszIyODtLQ0NBpfIaX27duj0+nIyclp7vDrJBO0JuByufxP/hFarbbKuJKTwQMPPMDKlStZtGgR559/PiNHjqSgoACofo1OxutzvGtwsl6fN998k+XLl7NgwQI6d+7MiBEjcLlcuFwugDZ9TbxeL9dffz19+vRh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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from scipy.spatial.transform import Rotation\n", "axis = np.array([0, 0.7071, 0.7071])\n", "vec = np.array([1.0, 0.2, 0.75])\n", "rots = [Rotation.from_rotvec(i * 2*np.pi * axis / 360).as_matrix() @ vec for i in range(360)]\n", "vals = spherical_harmonics(torch.tensor(np.array(rots)))\n", "\n", "labels = [f\"l={l}, m={m}\" for l in range(3) for m in range(-l, l+1)]\n", "plt.figure(figsize=(7, 4))\n", "plt.plot(vals.numpy(), label=labels)\n", "plt.legend(ncol=3, fontsize=8); plt.xlabel(\"rotation angle (deg)\")\n", "plt.ylabel(\"spherical harmonic value\"); plt.title(\"Y_l^m under rotation\"); plt.show()" ] }, { "cell_type": "markdown", "id": "13f3bc90", "metadata": {}, "source": [ "## Invariants that actually carry angular information\n", "\n", "Just taking the $l=0$ piece of a single direction is uninformative (it is the same\n", "constant for every direction). To build a *descriptive* invariant we combine two\n", "spherical tensors with a **tensor product** $\\otimes$, which `e3nn` performs while\n", "correctly tracking all the $(l,m)$ bookkeeping:\n", "\n", "$$ \\big[A_l^m\\big] \\;\\otimes\\; \\big[B_l^m\\big] \\;=\\; \\big[C_L^M\\big]. $$\n", "\n", "**Symbols.** $A_l^m$ and $B_l^m$: the two input spherical tensors (each a full set of\n", "$(l,m)$ components, e.g. the spherical harmonics of two directions); $C_L^M$: the output\n", "spherical tensor, indexed by its own degree $L$ and order $M$. Internally the product of\n", "an input degree-$l_1$ part with an input degree-$l_2$ part is re-coupled (using\n", "Clebsch–Gordan coefficients) into outputs whose degrees $L$ range over\n", "$|l_1-l_2|,\\dots,l_1+l_2$.\n", "\n", "Because $C$ is *itself* a spherical tensor, its $L=0$ part is again rotation-invariant;\n", "but, unlike the raw $l=0$ inputs, it now depends on the **angle between** $A$ and $B$.\n", "This tensor product is the fundamental operation MACE is built on. Below we set up a\n", "product of two $(l=0,1,2)$ tensors that outputs three invariant ($L=0$) numbers." ] }, { "cell_type": "code", "execution_count": 6, "id": "10d49725", "metadata": { "execution": { "iopub.execute_input": "2026-07-20T05:04:49.551093Z", "iopub.status.busy": "2026-07-20T05:04:49.550954Z", "iopub.status.idle": "2026-07-20T05:04:49.706703Z", "shell.execute_reply": "2026-07-20T05:04:49.706079Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "FullyConnectedTensorProduct(1x0e+1x1o+1x2e x 1x0e+1x1o+1x2e -> 3x0e | 9 paths | 9 weights)\n", "(skipping tp.visualize(): needs older matplotlib than this environment)\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAigAAAGeCAYAAAC+dvpwAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjExLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlcelbwAAAAlwSFlzAAAPYQAAD2EBqD+naQAAI61JREFUeJzt3Xl4jPf+//FXUjLWTIiiJdFY6thKjv2EStHlVNujSSyhC0opqildaOuruoiqo9RSSxdKW0uSc1rao9rT1lLVVmlQWqkGqSUkmBElNO7fH73O/E5OgomM3J9Mno/rmj9m5jPjPW7cT/fcMwmwLMsSAACAQQLtHgAAAOB/ESgAAMA4BAoAADAOgQIAAIxDoAAAAOMQKAAAwDgECgAAMA6BAgAAjFOuKIt37NihnJwcSVLz5s1VpUqVi653u93as2ePGjZsqKpVq17+lAAAoEwp0hGUv//970pISFB0dLR27Nhx0bWrVq1SeHi44uPjFR4erjVr1hRrUAAAUHYUKVDeeustbdq0SXXr1r3oOsuylJCQoNdff10//vijFixYoISEBPGt+gAAwBtX5ByUtLQ0ZWdnKyYmRpIUExOjQ4cOae/evVfilwMAAH6mSOegeOvQoUO65pprFBj4R/8EBgaqdu3aOnjwoCIiIgqsz83NVW5uruf6+fPndezYMYWGhiogIOBKjAgAAHzMsiydPHlS1157racBLtcVCZSKFSvqzJkz+W47c+aMKleuXOj6xMRETZw48UqMAgAASlhGRsYlTwe5lADrMk4MadiwoZYsWaIOHToUen9WVpbq1q2rgwcPqnr16srOzlZYWJgOHjyokJCQAuv/9wiKy+VSeHi4MjIyFBwcXNTxAACADdxut8LCwnTixAk5nc5iPVeRjqDs2bNHR48eVW5urn744QcFBASoffv2kqRt27YpLCxM1apVU40aNdSjRw898MADGjp0qObNm6e777670DiRJIfDIYfDUeD24OBgAgUAgFLGF6dnFOkNosWLFyshIUF16tTRggULNGbMGM99L730krZv3+65/vrrr6tOnTqaNGmSwsLCNGfOnGIPCwAAyobLeovnSnO73XI6nXK5XBxBAQCglPDl/puvugcAAMYhUAAAgHEIFAAAYBwCBQAAGIdAAQAAxiFQAACAcQgUAABgHAIFAAAYh0ABAADGIVAAAIBx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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# a tensor product of two (l=0,1,2) arrays -> three invariant (l=0) outputs\n", "tp = o3.FullyConnectedTensorProduct(\n", " o3.Irreps(\"1x0e+1x1o+1x2e\"), o3.Irreps(\"1x0e+1x1o+1x2e\"),\n", " o3.Irreps(\"3x0e\"), internal_weights=False)\n", "print(tp)\n", "try:\n", " tp.visualize() # schematic of how inputs combine into outputs\n", "except AttributeError:\n", " print(\"(skipping tp.visualize(): needs older matplotlib than this environment)\")" ] }, { "cell_type": "code", "execution_count": 7, "id": "5b75ace8", "metadata": { "execution": { "iopub.execute_input": "2026-07-20T05:04:49.708343Z", "iopub.status.busy": "2026-07-20T05:04:49.708223Z", "iopub.status.idle": "2026-07-20T05:04:49.722973Z", "shell.execute_reply": "2026-07-20T05:04:49.722270Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "invariants : [[0.25239444 0.34801136 0.44362828]]\n", "invariants (rotated): [[0.25239444 0.34801136 0.44362828]]\n" ] } ], "source": [ "np.random.seed(0)\n", "v1 = np.random.randn(3); v1 /= np.linalg.norm(v1)\n", "v2 = np.random.randn(3); v2 /= np.linalg.norm(v2)\n", "w = torch.arange(1, 10, 1, dtype=torch.float64) # fixed weights, for illustration\n", "\n", "def invariants(a, b):\n", " return tp(spherical_harmonics(torch.tensor(a)).unsqueeze(0),\n", " spherical_harmonics(torch.tensor(b)).unsqueeze(0), weight=w)\n", "\n", "print(\"invariants :\", invariants(v1, v2).detach().numpy())\n", "\n", "# rotate BOTH vectors by the same rotation -> invariants unchanged\n", "R = Rotation.from_rotvec(77.7 * 2*np.pi * axis / 360).as_matrix()\n", "print(\"invariants (rotated):\", invariants(R @ v1, R @ v2).detach().numpy())" ] }, { "cell_type": "markdown", "id": "c752e09b", "metadata": {}, "source": [ "The two rows match: the outputs are invariant to rotating the *whole* system, yet\n", "(try changing the seed) they *do* change when the angle between the vectors changes.\n", "That is exactly the property MACE needs." ] }, { "cell_type": "markdown", "id": "3486ae18", "metadata": {}, "source": [ "# Recreating MACE feature construction, block by block\n", "\n", "We now feed a **real molecule** (ethanol, C₂H₆O; it has exactly our H/C/O elements)\n", "through the model and inspect each block, comparing `xnn` against `mace-torch` at\n", "every step." ] }, { "cell_type": "markdown", "id": "3e5938b5", "metadata": {}, "source": [ "## 0. Data prep: structure → atoms + edges\n", "\n", "MACE represents a structure as a list of atoms plus **edges** (pairs of atoms within\n", "`r_max`). `mace-torch` uses `AtomicData`; `xnn` uses `AtomicGraph` via\n", "`structure_to_graph`. Both build the same neighbour list." ] }, { "cell_type": "code", "execution_count": 8, "id": "1dec86ba", "metadata": { "execution": { "iopub.execute_input": "2026-07-20T05:04:49.724868Z", "iopub.status.busy": "2026-07-20T05:04:49.724739Z", "iopub.status.idle": "2026-07-20T05:04:49.771383Z", "shell.execute_reply": "2026-07-20T05:04:49.770579Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "elements : [6, 6, 8, 1, 1, 1, 1, 1, 1]\n", "xnn nodes/edges: 9 / 58\n", "mace nodes/edges: 9 / 58\n", "node_attrs (one-hot over [H,C,O]), first 3 atoms:\n", " [[0 1 0]\n", " [0 1 0]\n", " [0 0 1]]\n" ] } ], "source": [ "from mace.tools import AtomicNumberTable, torch_geometric\n", "from mace.data import AtomicData, Configuration\n", "from ase.build import molecule\n", "\n", "atoms = molecule(\"CH3CH2OH\") # ethanol: 2 C, 1 O, 6 H\n", "Z = atoms.get_atomic_numbers() # (n_atoms,)\n", "pos = atoms.get_positions() # (n_atoms, 3)\n", "\n", "# --- xnn ---\n", "graph = structure_to_graph({\"pos\": pos, \"atomic_numbers\": Z}, CUTOFF)\n", "\n", "# --- original mace ---\n", "zt = AtomicNumberTable(SPECIES)\n", "conf = Configuration(atomic_numbers=Z, positions=pos, properties={}, property_weights={})\n", "ad = AtomicData.from_config(conf, z_table=zt, cutoff=CUTOFF)\n", "mbatch = next(iter(torch_geometric.dataloader.DataLoader([ad], batch_size=1)))\n", "\n", "print(\"elements :\", Z.tolist())\n", "print(\"xnn nodes/edges:\", graph.num_nodes, \"/\", graph.num_edges)\n", "print(\"mace nodes/edges:\", mbatch.node_attrs.shape[0], \"/\", mbatch.edge_index.shape[1])\n", "print(\"node_attrs (one-hot over [H,C,O]), first 3 atoms:\\n\",\n", " xfull.node_attr(graph.atomic_numbers)[:3].int().numpy())" ] }, { "cell_type": "markdown", "id": "0458016e", "metadata": {}, "source": [ "`node_attrs` is a one-hot over the element set: `[1,0,0]`=H, `[0,1,0]`=C,\n", "`[0,0,1]`=O. Edges are stored as `edge_index = [senders; receivers]`. From these we get\n", "each edge's length and direction (both packages agree; `xnn` uses the convention\n", "$\\mathbf{r}_{ij} = \\mathbf{r}_{\\text{dst}} - \\mathbf{r}_{\\text{src}}$)." ] }, { "cell_type": "code", "execution_count": 9, "id": "1efa4861", "metadata": { "execution": { "iopub.execute_input": "2026-07-20T05:04:49.773005Z", "iopub.status.busy": "2026-07-20T05:04:49.772847Z", "iopub.status.idle": "2026-07-20T05:04:49.776681Z", "shell.execute_reply": "2026-07-20T05:04:49.775999Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "mace vectors/lengths: (58, 3) (58, 1)\n", "xnn edge_vectors : (58, 3)\n" ] } ], "source": [ "# edge vectors & lengths\n", "vectors, lengths = modules.utils.get_edge_vectors_and_lengths(\n", " positions=mbatch[\"positions\"], edge_index=mbatch[\"edge_index\"], shifts=mbatch[\"shifts\"])\n", "print(\"mace vectors/lengths:\", tuple(vectors.shape), tuple(lengths.shape))\n", "print(\"xnn edge_vectors :\", tuple(graph.edge_vectors().shape))" ] }, { "cell_type": "markdown", "id": "323e5006", "metadata": {}, "source": [ "## 1. Embeddings" ] }, { "cell_type": "markdown", "id": "f38393bc", "metadata": {}, "source": [ "\"The" ] }, { "cell_type": "markdown", "id": "9a978078", "metadata": {}, "source": [ "**Node embedding.** Each atom $i$ is given a length-$K$ feature vector that depends\n", "only on its chemical element:\n", "\n", "$$ h^{(0)}_{i,k00} \\;=\\; \\sum_{z} W_{kz}\\,\\delta_{z\\, z_i}. $$\n", "\n", "Here,\n", "\n", "- $h^{(0)}_{i,k00}$: the initial ($t=0$) feature of atom $i$ in channel $k$;\n", "the trailing subscripts `00` mean degree $l=0$, order $m=0$ (these features are pure\n", "scalars/invariants). \n", "\n", "- $k = 1, \\dots, K$: the **channel** index; $K$ (`num_channels`) is\n", "the fundamental descriptor width. \n", "\n", "- $z$: runs over the chemical elements. Thus, $z_i$ the element of atom $i$\n", "\n", "- $\\delta_{z\\,z_i}$: the Kronecker delta (1 if $z = z_i$, else 0), so\n", "the sum just *selects the column of $W$ for atom $i$'s element*\n", "\n", "- $W_{kz}$: the learnable embedding weights. \n", "\n", "In code, $\\delta_{z\\,z_i}$ is the one-hot `node_attrs` and $W$ is a\n", "linear layer.\n", "\n", "**Edge embedding.** Each edge $i\\!-\\!j$ contributes two things: its *length*\n", "$r_{ij} = \\lVert \\mathbf{r}_{ij}\\rVert$ is expanded in Bessel radial functions multiplied\n", "by a smooth polynomial cutoff $f_{\\rm cut}$ (an **invariant** feature), and its\n", "*direction* $\\hat{\\mathbf r}_{ij} = \\mathbf{r}_{ij}/r_{ij}$ is turned into spherical\n", "harmonics $Y_l^m(\\hat{\\mathbf r}_{ij})$ (an **equivariant** feature).\n", "\n", "We compute all three embeddings in both packages and check they match. (Because the two\n", "neighbour lists can order edges differently, we compare the spherical harmonics on a\n", "*shared* set of edge vectors; see the code comment.)" ] }, { "cell_type": "code", "execution_count": 10, "id": "3b0a1d41", "metadata": { "execution": { "iopub.execute_input": "2026-07-20T05:04:49.778873Z", "iopub.status.busy": "2026-07-20T05:04:49.778653Z", "iopub.status.idle": "2026-07-20T05:04:49.882579Z", "shell.execute_reply": "2026-07-20T05:04:49.881723Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "OK node embedding h^(0) max|xnn - mace| = 0.00e+00\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "OK radial embedding R_n(r)*f_cut(r) max|xnn - mace| = 1.25e-15\n", "OK spherical harmonics Y_l^m max|xnn - mace| = 0.00e+00\n", "\n", "shapes: h0 (9, 8) edge_radial (58, 8) edge_sh (58, 9)\n" ] } ], "source": [ "# --- node embedding: h0[i,k] = sum_z W[k,z] * delta(z, z_i) ---\n", "na = xfull.node_attr(graph.atomic_numbers) # delta_{z z_i}: one-hot over [H,C,O], shape (N, 3)\n", "h0x = xfull.node_embedding(na) # W @ delta -> (N, K=8) initial scalar features\n", "h0m = mmodel.node_embedding(mbatch[\"node_attrs\"])\n", "report(\"node embedding h^(0)\", (h0x - h0m).abs().max().item())\n", "\n", "# --- edge radial embedding ---\n", "edge = xfull.edge_feat(graph) # dict: edge_sh, edge_radial, edge_length, edge_vec\n", "mr, _ = mmodel.radial_embedding(lengths, mbatch[\"node_attrs\"], mbatch[\"edge_index\"], zt.zs)\n", "report(\"radial embedding R_n(r)*f_cut(r)\", (edge[\"edge_radial\"] - mr).abs().max().item())\n", "\n", "# --- edge spherical harmonics (compare on the SAME vectors) ---\n", "ir_sh = o3.Irreps.spherical_harmonics(MAX_ELL) # 1x0e+1x1o+1x2e\n", "sh_x = o3.spherical_harmonics(ir_sh, graph.edge_vectors(), normalize=True, normalization=\"component\")\n", "sh_m = mmodel.spherical_harmonics(graph.edge_vectors())\n", "report(\"spherical harmonics Y_l^m\", (sh_x - sh_m).abs().max().item())\n", "\n", "print(\"\\nshapes: h0\", tuple(h0x.shape),\n", " \" edge_radial\", tuple(edge[\"edge_radial\"].shape),\n", " \" edge_sh\", tuple(edge[\"edge_sh\"].shape))" ] }, { "cell_type": "markdown", "id": "120edd53", "metadata": {}, "source": [ "The learnable-free part of the radial embedding (Bessel × cutoff) looks like this:" ] }, { "cell_type": "code", "execution_count": 11, "id": "a0df735d", "metadata": { "execution": { "iopub.execute_input": "2026-07-20T05:04:49.884049Z", "iopub.status.busy": "2026-07-20T05:04:49.883914Z", "iopub.status.idle": "2026-07-20T05:04:50.092602Z", "shell.execute_reply": "2026-07-20T05:04:50.091729Z" } }, "outputs": [ { "data": { "image/png": "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TaJ169akp6fXe2yN8unFxs7Dz5/e9z3I6m++YP3s74jp2h0Pv8rbBRjb+lOyLR3fbOdSF9LTJYQQQtRs3759JCQk0Lt3b0JCQgDYv38/W7duRaPREBUVxQ033IBKpQJAURTWrFlDUlISdrudfv36ERUVRUREhGsboJrKnM3T05MdO3bg7u4OwLXXXsu6desYNmxYvbZRkq466njzbRxat5r0o4f547vp3D7ulUrnDc28QavGt8gIRue2RMXFxXh4eDRQxEIIIcRfFEVBuQwPealMJleiVJMffviBBQsWEBgYyJNPPsmaNWto164daWlpbNmyBYfDwZdffklQUBC//PILAKNHj2bv3r107NgRtVpN586diYqKYsGCBRiNRjp16lRjmbPFxcWRlJTE//73PxITEwG46aab6v27kKSrjtRqDTc/9jSzXn2ew1s2cHzXdpp1+Ws3crVeg7G5NyTk4efmTW5pAampqbRs2bIBoxZCCCGclLIyErrEXfL7tNq1E5Wb2znLBAUF8fvvzuk67733Hu+++y4zZ87klltuITQ0lH379tGzZ09effVVUlNTCQ0NZf369cydO5fOnTvXWG9tylTIyclh8+bNHDx4kNDQ0EuyKLvM6boITaKa0WXAnQCs+ua/VdbuMrb2AyDA4dwAU4YYhRBCiKp69+7ten399deTkJAAwKRJk+jfvz+LFi1iy5YtKIpCVlYWAG+88QYDBgygTZs2jB8/nsLCwir11qZMhbi4OL755hu2bt2KzWbjiy++qOdWSk/XRes5dASHt2ygMCuTLQvmcN19D7rOGVv5AcfwLzaBVibTCyGEaDxUJhOtdu28LPc5n6NHj7peHz582DWna+bMmSxZsoQOHTpQVlbGggULUBQFgJEjR3L//fezf/9+Jk6cyMSJE/nggw8q1VubMuBc1qningABAQGYa1gE/WJI0nWR9EYTNz70OIs+fIddSxfR5bY7cPfxBUDrZ0TbxI3ALC/QOnu6FEU579i2EEIIcampVKrzDvtdLsuWLWPcuHEEBQUxZcoUvv/+ewBat27NhAkT6NevHwsWLMBms7mu+e6777BarVgsFk6cOEHPnj2r1FubMgDvvPMOZrOZjh07cujQIRYuXMjWrVvrvZ2SdNWDmGu6ExzTkvSjh9n2y8/c+OBjrnPG1n74ZRahRkVJSQmFhYV4e3s3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ndzj08PHH3/M2LFjyczM5LbbbsPhcDTbdt26dYwdO5Y+ffpw99134/f7O6+j4mdm3759IiIiQixYsEB8++23olu3bmLx4sUn3faXrLCwUERERIj58+eLtWvXil69eokPP/ywybbZ2dmif//+oqioqPEWDAY7ucenvkAgIIqKisTixYtFt27dWmxbUlIiIiIixDvvvCPWr18v+vbtK95+++3O6ehp5Mg5/fLLL0ViYmKLbfPz80VaWtox12kgEOiknp4+Xn31VXH//feLTZs2ia+++kqkpaWJt956q8m2tbW1wm63i9dee01s3rxZDBkyRPznP//p5B6f+ubOnSvuuecesXHjRrFq1SrRo0cP8dprrzXZtqamRkRGRh5znfp8vk7u8akvLy9PzJo1S3z77bdi27ZtYsqUKeI3v/lNk209Ho9ISEgQL7zwgtiyZYsYM2aMeOyxxzqtrz+7oOuRRx4RN954Y+P3zz//vLj88stPuu0v2ZNPPilmzZrV+P3s2bPFRRdd1GTb7OxsMWjQoE7q2elvw4YNJwy6/vWvf4lLLrmk8fs33nhDTJo06Ufu2ekrJyenVUHXic67JI77g+nOO+8Uf/rTn5psO2fOHDFhwoTG7xctWiSGDx/+o/bvdPTDc3r//feL++67r8m2NTU1IioqqhN6dXr7/jnVdV3cc8894s4772yy7cKFC8WQIUMav1+1apXo06fPj97HI35204v5+fn069ev8ft+/fqRn59/0m1/ydp6nnJzc8nIyGDEiBG89NJLndHFnzV5nf44ysrK6Nu3L8OHD+eZZ55pdornl+z7+8g5nU4+//xzpk6d2mRbeZ22zvfPaUNDA5988gkXXHBBs+1dLhf9+/dn6NCh/P3vfycQCHRGN08rR85pWloadrudNWvW8MQTTzTZtqnrtKCgoNN+/392ey/6/X4MhqM/ltFoxOfznXTbX7K2nKfMzEx27dpFMBhkx44d3HbbbdjtdmbNmtVZ3f3Zkddpx+vSpQv79u1D13X27t3L7bffjs1m4/bbb/+pu3ZKamho4OKLL+b2229n5MiRTbaR12nbeDweLr30Un71q18xfvz4JttERUWRn5+PEIK8vDx++9vfomkaDz30UCf39vSwdu1aKioqePDBB3nooYd44YUXjmvT1HUaDAbRdR1N0370Pv7sRrpSU1MpLCxs/L6w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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "dists = torch.linspace(0.1, CUTOFF, 100).unsqueeze(-1)\n", "radials, _ = mmodel.radial_embedding(dists, None, None, None)\n", "plt.figure(figsize=(7, 4))\n", "for i in range(radials.shape[1]):\n", " plt.plot(dists.squeeze(), radials[:, i].detach(), label=f\"basis {i}\")\n", "plt.title(\"Edge radial features R_n(r)·f_cut(r)\")\n", "plt.xlabel(\"distance / Å\"); plt.ylabel(\"value\"); plt.legend(fontsize=8); plt.show()" ] }, { "cell_type": "markdown", "id": "9e3bdb0f", "metadata": {}, "source": [ "## 2. Interaction: pooling over neighbours" ] }, { "cell_type": "markdown", "id": "28ec9056", "metadata": {}, "source": [ "\"The" ] }, { "cell_type": "markdown", "id": "72a72ae6", "metadata": {}, "source": [ "The **interaction** pools information from an atom's neighbours into a 2-body\n", "*atomic basis* $A_{i,klm}^{(t)}$, while tracking every array's $(l,m)$ indices.\n", "Schematically, for atom $i$ at layer $t$:\n", "\n", "$$ A_{i,klm}^{(t)} \\;=\\; \\sum_{j \\,\\in\\, \\mathcal{N}(i)}\n", " R_{kl}(r_{ij})\\;\\, Y_l^m(\\hat{\\mathbf r}_{ij})\\;\\, h^{(t-1)}_{j,k}, $$\n", "\n", "pooled (summed) over the neighbours and then normalised by `avg_num_neighbors`.\n", "\n", "**Symbols.** $\\mathcal{N}(i)$: the neighbours $j$ of atom $i$ within the cutoff;\n", "$h^{(t-1)}_{j,k}$: the (previous-layer) features of neighbour $j$ in channel $k$;\n", "$Y_l^m(\\hat{\\mathbf r}_{ij})$: spherical harmonics of the edge direction; $R_{kl}(r_{ij})$:\n", "a **learnable radial function**, one per channel–degree pair $(k,l)$, produced by\n", "passing the Bessel edge features through a small MLP (the *radial MLP*). The product\n", "$R_{kl}\\,Y_l^m$ is exactly the weighted tensor product of §\"Spherical tensors\", so $A$\n", "stays a proper spherical tensor. It is called *2-body* because each term involves atom\n", "$i$ and a single neighbour $j$.\n", "\n", "We run `mace-torch`'s and `xnn`'s interaction blocks on the *same* embeddings and\n", "compare the resulting atomic basis $A$ and the residual self-connection $sc$ (a learnable\n", "shortcut of the atom's own features, added back later in the product block)." ] }, { "cell_type": "code", "execution_count": 12, "id": "49ace48b", "metadata": { "execution": { "iopub.execute_input": "2026-07-20T05:04:50.094398Z", "iopub.status.busy": "2026-07-20T05:04:50.094253Z", "iopub.status.idle": "2026-07-20T05:04:50.202515Z", "shell.execute_reply": "2026-07-20T05:04:50.201565Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "OK interaction message A max|xnn - mace| = 0.00e+00\n", "OK residual self-connection sc max|xnn - mace| = 0.00e+00\n", "A shape (atoms, channels, dim SH): (9, 8, 9)\n" ] } ], "source": [ "xI, mI = xfull.interactions[0], mmodel.interactions[0]\n", "\n", "xA, xsc = xI(na, h0x, edge[\"edge_sh\"], edge[\"edge_radial\"], graph.edge_index)\n", "mA, msc = mI(node_attrs=na, node_feats=h0x, edge_attrs=edge[\"edge_sh\"],\n", " edge_feats=edge[\"edge_radial\"], edge_index=graph.edge_index, cutoff=None)\n", "\n", "report(\"interaction message A\", (xA - mA).abs().max().item())\n", "report(\"residual self-connection sc\", (xsc - msc).abs().max().item())\n", "print(\"A shape (atoms, channels, dim SH):\", tuple(xA.shape))" ] }, { "cell_type": "markdown", "id": "3ee82f33", "metadata": {}, "source": [ "We can visualise the *learnable radial functions*: the output of the radial MLP,\n", "one function of distance per tensor-product weight. Untrained they are just smooth\n", "random curves; training shapes them." ] }, { "cell_type": "code", "execution_count": 13, "id": "68de13ae", "metadata": { "execution": { "iopub.execute_input": "2026-07-20T05:04:50.203910Z", "iopub.status.busy": "2026-07-20T05:04:50.203789Z", "iopub.status.idle": "2026-07-20T05:04:50.392387Z", "shell.execute_reply": "2026-07-20T05:04:50.391763Z" } }, "outputs": [ { "data": { "image/png": "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kjyL0+ms54gbPofDoSYlJanz589XmzVrVmHZlJQU1d/fX/3hhx/UdevWqe3atVO///77+gm0ESm5posXL1YjIyMrLJuYmKjGxsaW+p46HI56irTx+Oyzz9THHntM3bhxo/rXX3+psbGx6nfffVdm2dzcXDUoKEj9/PPP1U2bNqldu3ZVP/zww3qOuOH75ptv1IceekjdsGGDumzZMrV58+bq559/XmbZ7OxsNSAgoNT31Gaz1XPEDd/BgwfV66+/Xl29erW6bds2dfjw4eq9995bZlmLxaJGRESo//d//6du2bJF7d+/v/rqq6/WW6znVUI2adIk9bbbbvO8nzJlinr11Vefddnz2euvv65ef/31nveffPKJevnll5dZdvPmzWrnzp3rKbLGb/369ZUmZO+995565ZVXet5//fXX6iWXXFLHkTVe27dvr1JCVtl1F+oZ/zF13333qc8++2yZZadNm6YOGTLE837OnDlqjx496jS+xuj0a/rYY4+pjz76aJlls7Oz1cDAwHqIqnE79Zq6XC71oYceUu+7774yy/76669q165dPe+XLVumtm7dus5jLHFedVkmJibSvn17z/v27duTmJh41mXPZ9W9TgcOHKBt27ZcdNFFfPTRR/UR4jlNvqd1Iy0tjXbt2tGjRw/efvvtcruNzmenPpcvPz+fBQsWMGLEiDLLyve0ak69pkVFRcybN4+RI0eWW76wsJAOHTrQrVs3/vvf/+JwOOojzEal5JrGxsYSFBTEqlWrmDx5cplly/qeHjp0qN5+/8+rZ1na7XZ0upOnrNfrsdlsZ132fFad69SxY0d27dqF0+lkx44d3HPPPQQFBXH99dfXV7jnHPme1r64uDj27duHy+Vi7969TJw4ER8fHyZOnOjt0BqkoqIirrjiCiZOnEifPn3KLCPf0+qxWCyMGzeOm266icGDB5dZJjAwkMTERFRV5eDBgzzwwANotVqeeeaZeo62cVizZg0ZGRk8/fTTPPPMM/zf//3fGWXK+p46nU5cLhdarbbOYzyvWshiYmI4fPiw5/3hw4fLfdh4dcqez6pznfR6PbGxsTRr1owRI0Zw9913s3Tp0nqK9Nwk39Pap9VqiY2NpWnTpgwdOpQHH3xQvqflyM/PZ9iwYQwfPpxHHnmk3HLyPa26wsJCRo0aRb9+/SpMrhRFITY2lri4OAYOHMgTTzwh39MKxMbGcuGFF/Lss8/y+++/l1mmrO9pVFRUvSRjcJ4lZKNHj2bmzJkcO3aMoqIipk6dytixY8+67Pls9OjRzJo1i8OHD2OxWPjoo4+qdJ0yMjKYN28ebdu2rYcoz12jR49mzpw5HDhwAJvNxgcffCDf01qUnZ3N7Nmz5XtahpycHC655BLGjh3LY489VmHZkSNHsmTJEv79918cDgf/93//J9/TMpQkuBdffDHPPvtstT73008/yfe0DAsXLmTJkiWoqorNZmPGjBl07NixzLKXXnopGzZsYN26dbhcLt577736/Z7W22i1BuKRRx5RjUajajab1SuvvFK1Wq2qqqrqunXr1AsvvLBKZUVpTz31lGoymVSz2ayOGjVKLS4uVlVVVbdu3ap26NDBU+61115TY2Ji1CZNmqhms1m99dZb5ZqWo1mzZmpERISq1WrVmJgY9f7771dVVVV3796ttmzZslTZF1980XP9L7vsMrWgoMAbITd4bdq0USMjI1WNRqPGxMSod911l6qq7kH8MTExnnIffvih53tqMpnU8ePHq4WFhd4Ku8F64403PN/PkuXxxx9XVdV9929MTIxqsVg85d955x3VbDarPj4+av/+/dWsrCxvhd5gTZkyxfP9LFlKfvezsrLUmJgYNTc3V1VVVf3222/VmJgYNTo6WjWZTOro0aPV7OxsL0bfMKWlpamjR49Wg4KCVLPZrA4ePFg9cuSIqqqqWlhYqMbExKjp6eme8p9++qnq5+en+vr6qt27d1dTU1PrLdbz8lmWhYWFOBwOAgMDPdtsNhuZmZk0adKk0rLiTEVFRdhsNoKCgjzb7HY7GRkZREdHA+55c/Ly8tBqtURERNRbM3BjdOzYsVIDSX19fQkODsbhcJCWlkZMTEyp8sXFxVgsFoKDg+s71EYjOTm51NxXPj4+hISE4HQ6SUlJ8XSh5efnk5ubi0ajISIiotSYEnFSyXU6Vcn39PRrWsJisVBUVERISEh9htpoFBQUnDFHVsk1dblcJCcnExMTg6IoFBYWkp2djUajITw8HL1e752gG4mCggIMBgMGg8GzTVVVjh07RnR0dKkbKmw2G3l5eYSFhdVrjOdlQiaEEEII0ZCcV2PIhBBCCCEaIknIhBBCCCG8TBIyIYQQQggvk4RMCCGEEMLLJCETQgghhPAySciEEEIIIbxMEjIhhGiA5s2bxy233MKyZcu8HYoQoh5IQiaEaHQ2btzIm2++6e0w6tRzzz1H3759efrpp70dihCiHkhCJoRodFJSUli9ejUA27dv5+WXX66w/JYtW3j11VfrI7Qqmzp1Khs3bix3f58+ffjxxx8ZOHBgPUYlhPAWSciEEI1aZGQkgwcPrrBMamoqK1asqKeIqmbKlCm0atWq3P1FRUWkpKRQXFxcj1EJIbxFHtImhGgUVqxYwbfffktUVBTt2rXzbE9LS+Pvv/+mf//+WCwW3n//fbZs2YLVamX48OHcfvvtvPrqq+zbt4+rrrqKjh07cvPNN/PEE0+gKAoRERFMmDCBPn36AO7u0EWLFtGmTRvmz59PmzZtePjhhz3PwNu/fz+fffYZhw4dwul08s033+Dj48P+/fv59NNPSU9Pp0+fPtx2223lPgdz+/btxMXFlfuM3IKCAubPn8/SpUsZOnQob731ljyrUIhznLSQCSEavM2bNzNmzBjatGlDcHBwqXFVaWlpLF++HIDXXnuNpUuXMmrUKK699lq6desGwMCBA2nSpAnXXnstQ4YMITg4mGuvvZbx48fTrl07JkyYwN69ewF3d+jkyZNZuHAhAwcOZPbs2bzzzjsA7N27lx49eqAoCldeeSXXXnster2eAwcOMGbMGGJjYxk6dChz5szh2WefLfd8fv31V8aMGVPu/h9//JEhQ4aQkJBAhw4d+O233876GgohGjZpIRNCNHjTpk3jkUce4bHHHgPA4XCwatWqM8rl5+cTERFBx44d6dSpE4qiANCvXz82bNjAVVddBYCqqlitVpYuXUpOTg5arZbly5fTpk0bAFq2bMknn3wCQGhoqGf9k08+4Y477uD1118vddypU6ei0+k8iaHD4WDOnDm88cYbZZ7P3LlzmT17doXn+/jjjwNw4403Mm3aNMaOHVu1iyWEaJQkIRNCNHgZGRl0797d875Zs2ZlJmQvvPACr776KuPHjycnJ4f33nuP8ePHn1Hu888/58MPP+See+4hNDSUwsJCCgoKPPujo6M9676+vhQVFQHu1rgBAwacUV9KSgo9e/bksssu82zz8fEp81yOHj0KQGxsbJn79+/fz4oVKwgJCeHrr7+msLCQxYsXk5aWRmRkZJmfEUI0ftJlKYRo8Dp27MjChQs97//8888yywUHB/P222+za9cuvvnmG1566SUATCYTVqvVU27jxo3ceuut3HPPPYwePdqTJFWmS5cuzJkzB5fLVWr7hRdeyMGDB7niiiu46qqruOqqqxgxYkSZdcyZM6fC7spp06YxZswYbrjhBq699lpuv/12Bg8ezHfffVelGIUQjZO0kAkhGryJEyfSp08fevTowf+3b7eqioRxHMd/K4ooWEwWmzJFMRhEHPEGFLEZvAMNgsFbMHkRil1s2gWDL4hFGQYxKWIxaPLlhAPCWc+ym3bY5fuJw/DwPO3LzPN3uVzyer0KBoNv77VaLU2nU93vdy0WC1UqFUlSLBbTcrlUPp9XMplUsVhUuVzWaDSSZVm//Jr1s2q1qsFgIMMwFI/H5XK51Ol0VKvVNBwOFY1GlUgk5Ha7ZZqm6vX62xr9fl/tdvvb9R+Ph7rdrnq9nkzTfD33+/1qNptqNBp/tE8A/54fz+fz6fQmAOB3rterJpOJQqGQgsGgttut0um0jsejNpuNstmsxuOx9vu9PB6PDMP4Mo253+81m80UCASUy+Vk27Ysy1IikdDpdJLP51MkEtHhcJBt28pkMpI+f5eu12tls1lJn/fP5vO5drudHo+HisXiawJytVrJtm3dbjeFw2GlUqkvZzifz0qlUlqv19+e8XK5aDgcqlQqve6/SdL9fle/31ehUHhNewL4vxBkAPCXnE4n2bb9FmoAQJABAAA4jEv9AAAADiPIAAAAHEaQAQAAOIwgAwAAcBhBBgAA4DCCDAAAwGEEGQAAgMMIMgAAAIcRZAAAAA4jyAAAABz2Ab2cH7UKS8X2AAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ef, _ = mmodel.radial_embedding(dists, None, None, None)\n", "tp_w = mmodel.interactions[0].conv_tp_weights(ef).detach()\n", "plt.figure(figsize=(7, 4))\n", "for i in range(5):\n", " plt.plot(dists.squeeze(), tp_w[:, i], label=f\"radial {i}\")\n", "plt.title(\"First layer: learnable radial functions R_kl(r) (untrained)\")\n", "plt.xlabel(\"distance / Å\"); plt.ylabel(\"value\"); plt.legend(fontsize=8); plt.show()" ] }, { "cell_type": "markdown", "id": "f739f48e", "metadata": {}, "source": [ "## 3. Product: building many-body features" ] }, { "cell_type": "markdown", "id": "2d4413b7", "metadata": {}, "source": [ "\"The" ] }, { "cell_type": "markdown", "id": "7ae9c8ac", "metadata": {}, "source": [ "This is the heart of MACE. The product block raises the **body order** of the\n", "features by multiplying $\\nu$ copies of the atomic basis $A$ together and re-coupling\n", "them into a proper spherical tensor with generalised Clebsch–Gordan coefficients:\n", "\n", "$$ B^{(t)}_{i,\\eta_\\nu k L M} \\;=\\;\n", " \\sum_{l_1 m_1}\\cdots\\sum_{l_\\nu m_\\nu}\n", " \\mathcal{C}^{L M}_{\\eta_\\nu,\\, l_1 m_1 \\dots l_\\nu m_\\nu}\\;\n", " \\prod_{\\xi=1}^{\\nu} A^{(t)}_{i,\\,k\\, l_\\xi m_\\xi}. $$\n", "\n", "**Symbols.** $A^{(t)}_{i,klm}$: the 2-body atomic basis from the interaction (atom $i$,\n", "channel $k$, degree $l$, order $m$); $\\nu$: the **correlation order** (`correlation`),\n", "i.e. how many copies of $A$ are multiplied together (the resulting feature is\n", "$(\\nu+1)$-body); $\\xi = 1,\\dots,\\nu$: the product index over those copies, each with its\n", "own degree/order $(l_\\xi, m_\\xi)$; $L, M$: the degree and order of the **output** feature\n", "$B$; $\\mathcal{C}^{LM}_{\\eta_\\nu, \\dots}$: the **generalised Clebsch–Gordan coefficients**\n", "(the \"$U$ tensors\") that combine the $\\nu$ inputs into something that transforms like a\n", "single degree-$L$ object; $\\eta_\\nu$: an index enumerating the distinct symmetric\n", "coupling *paths* that yield the same output $(L,M)$; $B^{(t)}_{i,\\eta_\\nu kLM}$: the\n", "resulting many-body feature. A final linear layer mixes the paths $\\eta_\\nu$ and channels\n", "$k$, and the self-connection $sc$ is added, producing the updated node features\n", "$h^{(t)}_i$.\n", "\n", "`xnn` implements the same **learned symmetric contraction** as `mace-torch`: its\n", "Clebsch–Gordan $U$ basis is bit-identical and the contraction reproduces `mace-torch` to\n", "~1e-16 given the same weights (verified in `tests/test_mace.py`). This is precisely the\n", "piece the *old* `xnn` MACE only approximated (with a plain `TensorSquare`)." ] }, { "cell_type": "code", "execution_count": 14, "id": "767c4ad9", "metadata": { "execution": { "iopub.execute_input": "2026-07-20T05:04:50.393870Z", "iopub.status.busy": "2026-07-20T05:04:50.393745Z", "iopub.status.idle": "2026-07-20T05:04:50.431859Z", "shell.execute_reply": "2026-07-20T05:04:50.431142Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "OK product + update h^(1) max|xnn - mace| = 0.00e+00\n", "h^(1) shape (atoms, (max_L+1)^2 · channels): (9, 32) = (N, 4·8)\n" ] } ], "source": [ "# symmetric contraction of A (nu copies) + linear mix + self-connection sc -> h^(1)\n", "xB = xfull.products[0](xA, xsc, na) # args: (atomic basis A, self-connection sc, node_attrs)\n", "mB = mmodel.products[0](node_feats=mA, node_attrs=na, sc=msc)\n", "report(\"product + update h^(1)\", (xB - mB).abs().max().item())\n", "# last dim = (max_L + 1)^2 * num_channels = (1+1)^2 * 8 = 4 * 8 = 32\n", "print(\"h^(1) shape (atoms, (max_L+1)^2 · channels):\", tuple(xB.shape), \"= (N, 4·8)\")" ] }, { "cell_type": "markdown", "id": "81003ddd", "metadata": {}, "source": [ "The last dimension is $32 = 8 \\times 4$: 8 channels times the 4 components of the\n", "retained $l=0$ and $l=1$ features. Whether higher-$l$ (equivariant) features are kept\n", "between layers is set by `max_L` (here `max_L=1`). The first 8 values (the $l=0$ part)\n", "are invariant; the rest are equivariant and rotate with the molecule." ] }, { "cell_type": "markdown", "id": "423535d7", "metadata": {}, "source": [ "## 4. Readout: features → site energy" ] }, { "cell_type": "markdown", "id": "9841f717", "metadata": {}, "source": [ "\"The" ] }, { "cell_type": "markdown", "id": "fb081e43", "metadata": {}, "source": [ "The readout maps the **invariant** ($l=0$) part of the node features to a per-atom\n", "site-energy contribution. Early layers use a simple linear map; the final layer uses a\n", "small gated MLP:\n", "\n", "$$ \\mathcal{R}^{(t)}\\!\\left(h_i^{(t)}\\right) \\;=\\;\n", " \\begin{cases}\n", " \\displaystyle\\sum_{k} W_k^{(t)}\\, h^{(t)}_{i,k00} & \\text{if } t < T, \\\\[10pt]\n", " \\mathrm{MLP}\\!\\left(\\{\\, h^{(t)}_{i,k00} \\,\\}_k\\right) & \\text{if } t = T.\n", " \\end{cases} $$\n", "\n", "**Symbols.** $\\mathcal{R}^{(t)}$: the readout at layer $t$; $T$: the total number of\n", "layers (`num_interactions`); $h^{(t)}_{i,k00}$: the invariant (degree $l=0$) part of\n", "atom $i$'s features in channel $k$ (only the scalar part enters, so the site energy is\n", "rotation-invariant); $W_k^{(t)}$: learnable linear weights; $\\mathrm{MLP}$: a\n", "one-hidden-layer perceptron with a SiLU gate (`gate`), used only at the last layer. The\n", "output is $E_i^{(t)}$, the layer-$t$ site-energy contribution of atom $i$." ] }, { "cell_type": "code", "execution_count": 15, "id": "92a71f1b", "metadata": { "execution": { "iopub.execute_input": "2026-07-20T05:04:50.433547Z", "iopub.status.busy": "2026-07-20T05:04:50.433258Z", "iopub.status.idle": "2026-07-20T05:04:50.439984Z", "shell.execute_reply": "2026-07-20T05:04:50.439429Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "OK layer-0 readout (site energy) max|xnn - mace| = 0.00e+00\n", "per-atom energy contribution (layer 0):\n", " [0.34936828 0.33550752 0.41893127 0.33609633 0.3555528 0.3555528\n", " 0.37259495 0.37439018 0.37439018]\n" ] } ], "source": [ "xe = xfull.readouts[0](xB).squeeze(-1)\n", "me = mmodel.readouts[0](mB).squeeze(-1)\n", "report(\"layer-0 readout (site energy)\", (xe - me).abs().max().item())\n", "print(\"per-atom energy contribution (layer 0):\\n\", xe.detach().numpy())" ] }, { "cell_type": "markdown", "id": "e29e25dc", "metadata": {}, "source": [ "## 5. Repeat: the whole model, end to end" ] }, { "cell_type": "markdown", "id": "7c9f6090", "metadata": {}, "source": [ "Interaction → product → readout repeats for each layer, and all site energies are\n", "summed together with the per-element reference $E_0$ to give the total energy; forces\n", "are its gradient w.r.t. positions. Here we let **each package run its own full data\n", "pipeline and forward pass independently**, then compare: the real end-to-end test." ] }, { "cell_type": "code", "execution_count": 16, "id": "b29f4adc", "metadata": { "execution": { "iopub.execute_input": "2026-07-20T05:04:50.441422Z", "iopub.status.busy": "2026-07-20T05:04:50.441299Z", "iopub.status.idle": "2026-07-20T05:04:50.932361Z", "shell.execute_reply": "2026-07-20T05:04:50.931292Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "total energy xnn = -14.6911114202 eV\n", "total energy mace = -14.6911114202 eV\n", "\n", "OK FULL MODEL total energy max|xnn - mace| = 1.78e-15\n", "OK FULL MODEL per-atom forces max|xnn - mace| = 5.69e-16\n" ] } ], "source": [ "# xnn: graph -> energy + forces\n", "ox = xmodel(graph)\n", "E_x = float(ox[\"energy\"]); F_x = ox[\"forces\"].detach().numpy()\n", "\n", "# mace: its own batch -> energy + forces\n", "om = mmodel(mbatch.to_dict(), compute_force=True)\n", "E_m = float(om[\"energy\"]); F_m = om[\"forces\"].detach().numpy()\n", "\n", "print(f\"total energy xnn = {E_x:.10f} eV\")\n", "print(f\"total energy mace = {E_m:.10f} eV\\n\")\n", "report(\"FULL MODEL total energy\", abs(E_x - E_m))\n", "report(\"FULL MODEL per-atom forces\", np.abs(F_x - F_m).max())" ] }, { "cell_type": "markdown", "id": "323a1ee4", "metadata": {}, "source": [ "**Energy and forces agree to ~1e-15**: `xnn` reproduces `mace-torch` to machine\n", "precision, using only `e3nn`. That is the whole point: the same physics, re-expressed on\n", "the `xnn` abstractions (`AtomicGraph`, featurizers, `ForceStressOutput`)." ] }, { "cell_type": "markdown", "id": "a4ff9398", "metadata": {}, "source": [ "# The interaction block in more detail (second layer)" ] }, { "cell_type": "markdown", "id": "69c83992", "metadata": {}, "source": [ "\"The" ] }, { "cell_type": "markdown", "id": "a827589f", "metadata": {}, "source": [ "At the **second** layer the interaction is harder, because the incoming node\n", "features are no longer just scalars; they carry $(l,m)$ indices (we kept `max_L=1`).\n", "The learnable radial functions now feed a richer tensor product, so the radial MLP must\n", "output **more** weights than in the first layer. We can see this directly:" ] }, { "cell_type": "code", "execution_count": 17, "id": "c51787ac", "metadata": { "execution": { "iopub.execute_input": "2026-07-20T05:04:50.934490Z", "iopub.status.busy": "2026-07-20T05:04:50.934246Z", "iopub.status.idle": "2026-07-20T05:04:51.157059Z", "shell.execute_reply": "2026-07-20T05:04:51.156516Z" } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "layer 0: radial MLP outputs 24 tensor-product weights\n", "layer 1: radial MLP outputs 56 tensor-product weights\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAl0AAAGCCAYAAADaAnZMAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjExLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlcelbwAAAAlwSFlzAAAPYQAAD2EBqD+naQAAhphJREFUeJzs3Xd8FNXawPHf7GxLD6QAKfROpHdEQURRkKqo2MUu9opi4V69KFdfe6/XroiAKDZQQUB67z0kJEAgPZutM+8fmyxEQgoku5vwfD+fccucOfPMZDBPzjlzRtF1XUcIIYQQQtQqQ6ADEEIIIYQ4E0jSJYQQQgjhB5J0CSGEEEL4gSRdQgghhBB+IEmXEEIIIYQfSNIlhBBCCOEHknQJIYQQQviBJF1CCCGEEH4gSZcQFfjjjz9YvXp1uev27NnDd9995+eIqufvv/9myZIlgQ6jQt9++y379u076fpZs2axe/du/wVUjsLCQt5//33cbvcpbV+VYzhw4ABfffUVc+bMOaV91DeFhYV88cUXgQ7D7/55rX355ZcUFBQEOCpRUyTpEqIC77zzDrNmzSp33YoVK3jyySf9HFH1fP7553z66aeBDqNCU6ZMYdWqVSddP3XqVP7++28/RnSiI0eOcPPNN2O324HqJ4KVHUNqaipdu3Zl1qxZbNy48bTjPRXBkNwe74UXXmDFihWBDuMEtX2e/nmtrVq1iunTp9fa/oR/SdIl/M7j8bBo0SK++OILli5disfjCXRIQlTLxo0bycrKqrH6vvrqK84991y+/vprpkyZUmP1nsx3333Hnj17ynxX08d0Omw2Gy+//DL33HNPjdVZ3jGfCn+fp7vvvptXXnmFwsJCv+1T1B5JuoRfHThwgI4dO3LzzTfz448/8sgjj9C1a1fWrl0b6NCEqLInn3ySvn371lh9aWlpJCQk1Fh9lXnyySdPaEWq6WM6Hd9++y3t27enRYsWNVZnecd8qvX48zw1a9aMjh07MmPGDL/tU9QeY6ADEGeW5557jpiYGBYvXozB4M35d+zYccJfcevXr2fbtm0kJibSv39/X9lSGzZsYNu2bbRp04Zu3br5vtc0jb///pu0tDTatWtXZt3OnTvZsmULQ4YMYenSpRQUFDBo0CBiYmJ8ZRwOB4sWLaK4uJh+/fpV69gyMjKYN28eAFFRUfTs2dP3S6O4uJjPP/+c8ePHExkZ6dtm6dKlFBcXM2TIkEqPvTT+8847j2XLlmG32+nRowfz5s3j2muvxWw2VylOl8vF8uXLSU9PJyUlhZSUFN+6NWvWsGbNGhRFoXHjxvTt27fM+Vm8eDFGo5FmzZqxYsUKmjRpwv79++nZsycOh4N169aRnJxM//79fdv89NNPHDhwAFVVadasGQMGDMBisZwQ1+bNm9m8eTNt27ala9euFR5DXl4ey5cvp6CggD59+pCUlHTSst9++y09e/bEbrezbt06+vXrx5YtWyqNae/evaxcuZKmTZvSqFGjMutmzZpF586dadWqVbWOsTw//fQT69evx2q18v7779OzZ0+6du3KZ599xtChQ337zs/P55tvvuGGG25AVVXfcZ3svJeepxUrVlBQUMDgwYNp0KAB8+fPJycnhz/++IPCwkKaNGnC8OHDTzgmgIMHD7J8+XKMRuMJ10Jl+3e73fzxxx8cPXqU7t2707Zt2yqdD4DffvuNs88+u8x3p3M+TnbMp3Jt/PM8VfXnUNH1WtG1BnD22Wfz22+/ccMNN1T5HIrgJEmX8Kv8/Hzi4+PLJFHH/8/Y5XJx+eWXs3r1avr378+mTZuIiYnhl19+wWKx4HQ6GT9+PMuXL2fgwIHs3r2boUOH8txzz1FQUMCwYcM4fPgw3bt3Z+HChZx33nl8/vnnKIrCkiVLmDJlCvHx8bRu3ZoDBw5w++23s27dOhISEsjNzWXIkCEUFxeTkpLCgw8+iNFopHXr1lU6try8PJYtWwZATk4ON910Ey+99BI33ngjISEhvPXWW9jtdiZNmgSArutcd911PPzwwwwZMqTSYy+Nv2HDhrRr147u3bsTEhLCzTffzKWXXlqlpCs1NZWRI0eiqirt2rXjgQce4Morr+SFF14AID093XcM+/btY/369cybN49evXoB8PHHH7N69WqKi4vp2bMno0aN4oknniAuLo7i4mLatGnDb7/9xnXXXceLL74IwNatW9myZQsej4d169bhcrn466+/aNCggS+ul156ifz8fNq3b8/8+fO55ZZbeP7558s9ht9//50JEyZw1llnER0dzS233MIbb7zBFVdcUW75KVOmEBsbS2FhId26daN9+/aVxvT5559z6623cv7555OdnY2maWXqnDp1Kg8++KDvF29VjvFktm7dSlZWFkajkWXLltGkSRO6du3Kvffey+zZs32/hA8fPszNN9/M1VdfjaqqTJkypcLzPn/+fCZMmEC7du2Ij49nypQpfPfdd2zfvp3i4mJ27tyJx+OhXbt2DB8+/IRjmjFjBhMnTuScc87Bbrezdu1avv32WwYPHuw7ryfbv81mo0+fPqiqSqdOnXjmmWe49tprefjhhys9H+D9o+rOO+8s893pnI+THfOpXBv/PE+V/Rwqu14ru9YA2rdvz88//1ylcyeCnC6EH61cuVJv2LChPmjQIP1f//qX/tNPP+lFRUW+9c8//7zerVs3vbi4WNd1XXe73frAgQP1F154Qdd1XX/22Wf1tm3b6nl5eb5t/vzzT13Xdf3xxx/XO3fu7Nv24MGDenR0tP7555/ruq7rH330kW4ymfRt27b5tu3Xr5/+/PPP+7bv06eP7nQ6dV3X9V27dukWi0V//PHHyz2WL7/8Uu/UqdNJj3XZsmV6dHS07nA4dF3X9ffee09PSUnxrf/111/18PBwvaCgoErH/tFHH+kGg0Ffs2aNr44tW7boEydO1G02W7kx3Hnnnfqtt97q+3zJJZfot9xyi+/z4cOH9ZiYGH3ZsmXlbv/CCy/oF1xwge/zxIkT9aSkpDLnv127dvrll1/u+7xw4ULdZDLpbre73DpHjx6t/+tf/yqz/cCBA3WXy6Xruq5v2rRJN5lMvuPs0qWL/umnn+q6rus2m01PSEjQ//e///m2X7RokR4dHa0XFhaWu7927drpw4cP1z0eT7nr/xlTfn6+Hh0drX/99de+9ZMmTdIB38/q+JiqcoyVlZ84caJ+zz33lPkuJiZG/+uvv3yfd+7cqQO+66Oi815UVKQ3btxYf+mll3zrMzMzfdd+p06d9C+//LLM/o6PMT8/X2/QoIH+wQcf+NZPnTpVb968ue88VrT/xYsX6zExMb5rQNM0/Y8//jjp8f9TcnLyCfGdzvk42TFX99rQ9RN/lhXtt7LrtSrXmq7r+owZM/QmTZqcNEZRd0hLl/Crnj17snv3bn744QdWrFjBo48+SkZGBl9++SVDhgzhl19+oVmzZnz22We+bWJjY313fv32229ce+21Zbrozj33XAD++usvrrzySqxWKwCNGjXi4osvZtGiRUyYMAGAdu3a0a5dO9+2KSkppKenA7Bo0SKuvPJKTCYTAK1atTqhi6MyR48eZenSpRw5cgSPx0NRURGpqam0adOGCRMm8NBDD7F48WLOPvts3n77ba644grCw8MBKj12gNatW5fpMu3QoQPvv/9+lWLTNI358+czadKkMtskJCTw999/06dPHwB2797NunXryM3NJS8vj3Xr1pWp54ILLihz/gEuueQS3/uUlBRcLheHDh3yjVNatWoVu3btorCwEKvVekKdV111FUaj939HnTp1onv37ixevLjMsQJs2rSJzMxMbDZbmWOw2+1s3bqVnj17lnvs48aNO6GL+mQxbdy4EYfDwWWXXeYre9111/H666+XW3dl9dWmk533tLQ0srKyuOOOO3zrGzduTOPGjatU76ZNmygoKODaa6/1fXfDDTfw1FNPsX//fpo3b17h/jt16kRERAQPP/wwo0aNonfv3gwaNKjKxxUeHo7NZqty+VKVXYflqc61Ud39HjhwoMLr1el0VulaKywsJCIiosIYRN0gSZfwu+joaK6++mquvvpqAG699VYmTZrE1q1bKSoqori42NfFBfi608D7P6uQkJBy67Xb7SeMo7FYLL5br0s/H89gMPia8x0OR7nbV9WcOXO45ppr6NevH40bN/Ylb9nZ2QCEhoZy7bXX8vbbb9OqVSu+//57li5d6tu+smMHTut/vC6XC4fDwa5du3wxAfTu3dv3S/Sxxx7j3XffZeDAgTRo0IDc3NwyZU8Ww/HnqfQXmKZpuN1uhg0bxp49e+jVqxfh4eHs37//hK7Qyn5upYqKilBV9YQpJq666qqTXhf/jLmymBwOByaTCUVRThrf8ap6jNV1/P6Bcu/yPdl5t9vtGI1GXyJbXaXbq6p6wr5O9u/p+P1HR0ezadMmfvzxR7777jtuuukmrrnmGp544okq7b9t27akpqaW+e50zkdFqnNtnMzJ9lvZ9VpQUFCla630DzdR90nSJfxqx44dJwyoTUpKoqioCPAmABkZGWX+KtQ0zdca1atXL+bOncv999/vW5+RkUFCQgJdu3Zl/vz53HfffYA3yfjzzz+5++67qxRbly5dWLBgAbfddhvg/QW/YsWKE1pbTuatt97i0Ucf5bHHHgO8LUYffPABuq77ytxxxx107dqVuLg4OnXq5BsrVZVjL0/p4P2qDKS3WCx06dKFc845h3vvvdf3fUFBAU6nE4BXX32VefPmcc455wDwySef8P3331fp+Muz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0UUX6bfffnu5Ze12ux4fH6+/+uqr+rp16/SBAwfqzz77rN9irXdJ19NPP63feOONvs+vvPKKftlll5122TPZc889p0+YMMH3+Z133tEvueSScsuuXbtW79Kli58iq/tWrlxZadL18ssv62PHjvV9/t///qcPHTq0liOruzZu3FilpKuy8y70E/5gmjRpkv7444+XW/bjjz/WzzvvPN/nOXPm6L169arV+Oqif57TBx98UH/ggQfKLZuTk6NHRUX5Iaq67fhzqmmafu+99+qTJk0qt+zs2bP17t27+z4vXLhQb9OmTa3HWKredS/u3buXDh06+D536NCBvXv3nnbZM1l1z9Pu3btp164dffr04c033/RHiPWaXKe149ChQ7Rv355evXrxwgsvnLSL50x2/HPkCgoK+Omnn7j44ovLLSvXadUcf05tNhtz585l+PDhJy1fVFREx44d6dGjB//+979xu93+CLNOKT2nSUlJREdHs2TJEqZNm1Zu2fKu03379vnt33+9e/aiy+XCaDx2WCaTCafTedplz2TVOU+dOnVi69ateDweNm/ezG233UZ0dDQTJkzwV7j1jlynNS85OZmdO3eiaRo7duzgjjvuIDQ0lDvuuCPQoQUlm83G6NGjueOOO+jfv3+5ZeQ6rR673c64ceO49tprGTx4cLlloqKi2Lt3L7qus2fPHu6++25UVeWxxx7zc7R1w7Jly8jKymLy5Mk89thjvPrqqyeUKe869Xg8aJqGqqq1HmO9a+lKTEwkNTXV9zk1NfWkD8CuTtkzWXXOk8lkIikpiWbNmnHxxRdz66238ueff/op0vpJrtOap6oqSUlJNG3alPPPP5977rlHrtOTKCgoYNiwYVx00UXcf//9Jy0n12nVFRUVMWLECM4+++wKEyhFUUhKSiI5OZlzzz2Xhx9+WK7TCiQlJdGtWzcef/xx5s2bV26Z8q7Txo0b+yXhgnqYdI0cOZKvv/6aAwcOYLPZePvttxkzZsxplz2TjRw5kpkzZ5KamordbufNN9+s0nnKyspi7ty5tGvXzg9R1l8jR45kzpw57N69G6fTyeuvvy7XaQ3Kyclh1qxZcp2WIzc3l6FDhzJmzBgefPDBCssOHz6cBQsWsGnTJtxuN6+++qpcp+UoTWKHDBnC448/Xq3tZsyYIddpOX755RcWLFiArus4nU6++uor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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "for layer in (0, 1):\n", " n_w = mmodel.interactions[layer].conv_tp_weights(ef).shape[1]\n", " print(f\"layer {layer}: radial MLP outputs {n_w} tensor-product weights\")\n", "\n", "# the layer-1 learnable radials\n", "tp_w1 = mmodel.interactions[1].conv_tp_weights(ef).detach()\n", "plt.figure(figsize=(7, 4))\n", "for i in range(5):\n", " plt.plot(dists.squeeze(), tp_w1[:, i], label=f\"radial {i}\")\n", "plt.title(\"Second layer: learnable radial functions (untrained)\")\n", "plt.xlabel(\"distance / Å\"); plt.ylabel(\"value\"); plt.legend(fontsize=8); plt.show()" ] }, { "cell_type": "markdown", "id": "fc559eef", "metadata": {}, "source": [ "> **`xnn` bonus.** In the original MACE `num_interactions` is fixed to 2; in `xnn`\n", "> it is fully flexible, `T = 0 … N`. `T = 0` is a pure $E_0$ / pair-repulsion baseline,\n", "> and any `T ≥ 1` stacks the interaction/product/readout above exactly as shown here." ] }, { "cell_type": "markdown", "id": "92ffe051", "metadata": {}, "source": [ "## Summary\n", "\n", "We rebuilt MACE block by block in **both** the original `mace-torch` and `xnn`, and\n", "verified agreement at every stage:\n", "\n", "| block | equation | `max\\|xnn − mace\\|` |\n", "|---|---|---|\n", "| node embedding | $h^{(0)} = W\\,\\theta$ | 0 |\n", "| radial embedding | $R_n(r)\\,f_{\\rm cut}(r)$ | ~1e-15 |\n", "| spherical harmonics | $Y_l^m(\\hat r_{ij})$ | ~1e-15 |\n", "| interaction | 2-body message $A$ | ~1e-16 |\n", "| product | symmetric contraction $B$ | ~1e-16 |\n", "| readout | site energy | ~1e-16 |\n", "| **full model** | **energy & forces** | **~1e-15** |\n", "\n", "`xnn` reuses the same equivariant maths as MACE (real Clebsch–Gordan coupling, learned\n", "symmetric contraction) with **no `mace-torch` dependency** (only `e3nn`) and slots it\n", "into the shared `xnn` abstractions so data loading, autograd forces/stress, training,\n", "and ASE/LAMMPS deployment are identical across every model in the package.\n", "\n", "**Where next.**\n", "- `../../fidelity_checks/mace_verification.ipynb`: the same comparison at the level of\n", " individual `e3nn` blocks and the Clebsch–Gordan `U` tensors.\n", "- `mace_argon_train_test.ipynb`: a full train/test pipeline, `xnn` vs `mace-torch`.\n", "- `mace_argon_density_md.ipynb`: liquid-Argon density from NPT MD." ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (xnn .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.13.12" } }, "nbformat": 4, "nbformat_minor": 5 }