From 2c7c1105f307689dec2dab601878595e7436eb13 Mon Sep 17 00:00:00 2001
From: Nicolas Aspert <nicolas.aspert@epfl.ch>
Date: Tue, 25 Mar 2025 13:45:57 +0100
Subject: [PATCH] add week 6

---
 .../week06/Recursive least squares.ipynb      | 1111 +++++++++++++++++
 exercises/week06/data.npz                     |  Bin 0 -> 71415 bytes
 2 files changed, 1111 insertions(+)
 create mode 100644 exercises/week06/Recursive least squares.ipynb
 create mode 100644 exercises/week06/data.npz

diff --git a/exercises/week06/Recursive least squares.ipynb b/exercises/week06/Recursive least squares.ipynb
new file mode 100644
index 0000000..9e6d2b7
--- /dev/null
+++ b/exercises/week06/Recursive least squares.ipynb	
@@ -0,0 +1,1111 @@
+{
+ "cells": [
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "e3f2b37e",
+   "metadata": {
+    "deletable": false,
+    "editable": false
+   },
+   "outputs": [],
+   "source": [
+    "# Initialize Otter\n",
+    "import otter\n",
+    "grader = otter.Notebook(\"Recursive least squares.ipynb\")"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "eb88859c-9077-43c0-868b-e5f45289ff06",
+   "metadata": {},
+   "source": [
+    "# Matrix Analysis 2025 - EE312\n",
+    "## Week 6  - Recursive least squares\n",
+    "[N. Aspert](https://people.epfl.ch/nicolas.aspert) - [LTS2](https://lts2.epfl.ch)\n",
+    "\n",
+    "\n",
+    "## Important\n",
+    "- The unit tests are here to help you, however they might pass even if your implementation is faulty (and conversely fail even if your implementation is correct), due to platform/environment variability. Feel free to ignore them (after carefully reviewing your answers/results)\n",
+    "\n",
+    "\n",
+    "## Objective\n",
+    "\n",
+    "The goal of this notebook is to find the parameters of a system using least squares, and more specifically use a recursive formulation to update those parameters with a reduced amount of computations."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "f4ab0d05-aa5a-4dc7-b2b5-b04ad6dd426e",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "import numpy as np\n",
+    "import matplotlib.pyplot as plt"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "d1a159ae-f3e6-4629-bf5b-6d93af1b0b68",
+   "metadata": {},
+   "source": [
+    "## Part I - Least-square parameter estimation\n",
+    "\n",
+    "In this notebook, we will estimate physical parameters of a moving system. Its $(x,y)$ coordinates are sampled at regular time intervals, but are noisy (e.g. due to measurement artefacts). You can load them from a file using the code below."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "68883575-5b43-4ae7-8e23-13cdab9b2fa4",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "data = np.load('data.npz')"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "b82107e6-9019-4598-9e9a-9b123fba4e58",
+   "metadata": {
+    "tags": []
+   },
+   "source": [
+    "Once loaded, the `data` variable is a dictionary containing 3 arrays:\n",
+    "- `time` for the time values corresponding to each sample\n",
+    "- `tr1` for the first system trajectory\n",
+    "- `tr2` for the second system trajectory\n",
+    "\n",
+    "The trajectories are stored as complex numbers to have a single value representing the $x$ and $y$ components. In the first part of the problem we will only use ther data from `tr1`."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "141016a9-b347-4c7b-b76e-13af8ade65e3",
+   "metadata": {
+    "tags": []
+   },
+   "outputs": [],
+   "source": [
+    "plt.scatter(np.real(data['tr1']), np.imag(data['tr1']), marker='+')\n",
+    "plt.xlabel('x')\n",
+    "plt.ylabel('y')"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "575ce09b-fcbd-4442-a8e7-dc2d5e587226",
+   "metadata": {
+    "deletable": false,
+    "editable": false
+   },
+   "source": [
+    "<!-- BEGIN QUESTION -->\n",
+    "\n",
+    "Let us now build the model of this system. In this part we will assume that the system is defined by 3 parameters:\n",
+    "- its initial position $p_0$\n",
+    "- its initial velocity $v_0$\n",
+    "- its acceleration $a$ which is constant\n",
+    "\n",
+    "Those parameters will be represented as complex values (in order to take into account their $x$ and $y$ components)\n",
+    "\n",
+    "1. Express the position of the system $p(t)$ as a function of $t$ and of the 3 above parameters. "
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "2857a8f4",
+   "metadata": {
+    "tags": [
+     "otter_answer_cell"
+    ]
+   },
+   "source": [
+    "_Type your answer here, replacing this text._"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "5e93d1f2-82a7-4e1b-b543-d89dd38c1c69",
+   "metadata": {
+    "deletable": false,
+    "editable": false
+   },
+   "source": [
+    "<!-- END QUESTION -->\n",
+    "\n",
+    "Since we have the whole trajectory of the system and given the relatively small number of samples, we can now estimate directly the 3 parameters using a least-square approximation. \n",
+    "\n",
+    "2. Using the previous question, write a function that generates the matrix $A$ s.t. \n",
+    "$$\n",
+    "A\\begin{pmatrix}p_0 \\\\ v_0 \\\\ a\\end{pmatrix} = \\begin{pmatrix}p(t_0) \\\\ p(t_1) \\\\ \\vdots \\\\ p(t_{N-1}) \\end{pmatrix} \n",
+    "$$"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "fbeb5b6b-77ee-4b03-8871-81be21c5cf01",
+   "metadata": {
+    "tags": [
+     "otter_answer_cell"
+    ]
+   },
+   "outputs": [],
+   "source": [
+    "def computeA(t):\n",
+    "    \"\"\"\n",
+    "    Computes the A matrix \n",
+    "\n",
+    "    Parameters\n",
+    "    ----------\n",
+    "    t : vector containing values of time samples\n",
+    "   \n",
+    "    Returns\n",
+    "    -------\n",
+    "    The A matrix \n",
+    "    \"\"\"\n",
+    "    ..."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "f62efb3c",
+   "metadata": {
+    "deletable": false,
+    "editable": false
+   },
+   "outputs": [],
+   "source": [
+    "grader.check(\"q2\")"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "9903f3fe-bd77-4e83-880f-5fdddbd450a6",
+   "metadata": {
+    "deletable": false,
+    "editable": false
+   },
+   "source": [
+    "3. Estimate the parameters of the system using a least square approximation"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "a8623196-a2cd-47ef-b2c6-30804172868d",
+   "metadata": {
+    "tags": [
+     "otter_answer_cell"
+    ]
+   },
+   "outputs": [],
+   "source": [
+    "def solve_lsq(t, pos):\n",
+    "    \"\"\"\n",
+    "    Solve the system Ax = pos, where x is the vector (p_0, v_0, a) and pos contains the position values at time t\n",
+    "\n",
+    "    Parameters\n",
+    "    ----------\n",
+    "    t : vector containing values of time samples\n",
+    "    pos: vector containing the positions of the system corresponding to the values of t (complex)\n",
+    "\n",
+    "   \n",
+    "    Returns\n",
+    "    -------\n",
+    "    The vector x containing the approximation of the system's parameters in the least-square sense.\n",
+    "    \"\"\"\n",
+    "    ..."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "8182465f",
+   "metadata": {
+    "deletable": false,
+    "editable": false
+   },
+   "outputs": [],
+   "source": [
+    "grader.check(\"q3\")"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "f7edef23-f5d4-4c59-b4c8-ef57ad9d6b8b",
+   "metadata": {
+    "deletable": false,
+    "editable": false
+   },
+   "source": [
+    "<!-- BEGIN QUESTION -->\n",
+    "\n",
+    "4. Display the measured trajectory `tr1` and the one reconstructed from the parameters you estimated. If your implementation is correct, they should match. Also plot the euclidean distance between the measured and reconstructed point fo each timestep."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "c1867853",
+   "metadata": {
+    "tags": [
+     "otter_answer_cell"
+    ]
+   },
+   "source": [
+    "_Type your answer here, replacing this text._"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "18e792a6-6104-422d-a7b3-c7b53a56b32b",
+   "metadata": {
+    "tags": [
+     "otter_answer_cell"
+    ]
+   },
+   "outputs": [],
+   "source": [
+    "# Plot the observed and predicted data\n",
+    "..."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "fa59fa59-f036-4906-87d3-52e558e7685c",
+   "metadata": {
+    "tags": [
+     "otter_answer_cell"
+    ]
+   },
+   "outputs": [],
+   "source": [
+    "# Plot the distance between each point\n",
+    "..."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "832f6e06-46c1-4ac9-a01f-6acb138560df",
+   "metadata": {
+    "deletable": false,
+    "editable": false
+   },
+   "source": [
+    "<!-- END QUESTION -->\n",
+    "\n",
+    "## Part II - Recursive least-square estimation\n",
+    "\n",
+    "The problem addressed in the first part was fairly easy: we had all measurements available at once (which is fine in an \"offline\" setting), and computing the least-square solution did not require to invert a huge matrix. In a more realistic setting, the measurements would come gradually and it would be nice to update our parameters without recomputing the whole solution at each step. This is where recursive least-squares come into place.\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "f51903c3-e84d-4352-a4ea-e568bdc3aead",
+   "metadata": {
+    "deletable": false,
+    "editable": false
+   },
+   "source": [
+    "<!-- BEGIN QUESTION -->\n",
+    "\n",
+    "We first need to prove a classical result. Let us consider four matrices $A,B,C$ and $D$ such that:\n",
+    "- $A$ is an invertible $N\\times N$ matrix\n",
+    "- $B$ is a $N\\times M$ matrix \n",
+    "- $C$ is $M\\times N$ matrix\n",
+    "- $D$ is an invertible $M\\times M$ matrix\n",
+    "\n",
+    "5. Prove that $(A + BDC)^{-1} = A^{-1} - A^{-1}B(D^{-1}+CA^{-1}B)^{-1}CA^{-1}$\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "be98a834",
+   "metadata": {
+    "tags": [
+     "otter_answer_cell"
+    ]
+   },
+   "source": [
+    "_Type your answer here, replacing this text._"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "6768f75a-e59d-42f1-99b7-9c16150ec2a0",
+   "metadata": {
+    "deletable": false,
+    "editable": false
+   },
+   "source": [
+    "<!-- END QUESTION -->\n",
+    "\n",
+    "<!-- BEGIN QUESTION -->\n",
+    "\n",
+    "Let us consider the least-square problem $Ax=y$, and suppose we already have received a small (but still keeping the system over-determined) number of measurements $y_0$ and computed $\\hat{x}_0$ that is the least-square solution of $A_0\\hat{x}_0=y_0$. Let us assume we have already computed $Q_0=(A_0^TA_0)^{-1}$.\n",
+    "\n",
+    "Now another set of measurements $y_1$ arrives, and the system you want to solve looks like\n",
+    "$$\n",
+    "\\begin{pmatrix}A_0\\\\A_1\\end{pmatrix}x = \\begin{pmatrix}y_0\\\\y_1\\end{pmatrix} \n",
+    "$$\n",
+    "\n",
+    "6. Using this block matrix formulation, rewrite the normal equation and express the updated solution $\\hat{x}_1$ using $A_0$, $A_1$, $Q_0^{-1}$, $\\hat{x}_0$, and $y_1$. \n",
+    "\n",
+    "Let us denote by $Q_1 = (A_0^TA_0 + A_1^TA_1)^{-1}$. Express $\\hat{x}_1$ as a function of $Q_1$, $A_1$, $y1$ and $\\hat{x}_0$. "
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "c3516e6e",
+   "metadata": {
+    "tags": [
+     "otter_answer_cell"
+    ]
+   },
+   "source": [
+    "_Type your answer here, replacing this text._"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "58d88136-aa54-4839-af16-672638af3087",
+   "metadata": {
+    "deletable": false,
+    "editable": false
+   },
+   "source": [
+    "<!-- END QUESTION -->\n",
+    "\n",
+    "<!-- BEGIN QUESTION -->\n",
+    "\n",
+    "Using the result shown in question 5, express $Q_1$ as a function of $Q_0$, $A_1$ and $U=Q_0A_1^T$. \n",
+    "\n",
+    "Hints:\n",
+    "- you might consider $Q_1^{-1}$\n",
+    "- what about $Q_0$ symmetry ?\n",
+    "\n",
+    "\n",
+    "Why is it interesting to update the system's parameters by computing $Q_1$ this way ?"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "4368082f",
+   "metadata": {
+    "tags": [
+     "otter_answer_cell"
+    ]
+   },
+   "source": [
+    "_Type your answer here, replacing this text._"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "29107f5e-92d0-4790-b235-8e1362cd8250",
+   "metadata": {
+    "deletable": false,
+    "editable": false
+   },
+   "source": [
+    "<!-- END QUESTION -->\n",
+    "\n",
+    "8. Using the results of questions 6 and 7, implement a function that computes the updated parameters for a new set of measurements and complete the `recursive_lsq`implementation."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "bab14427-11c5-47b9-99b1-04e99fb92571",
+   "metadata": {
+    "tags": [
+     "otter_answer_cell"
+    ]
+   },
+   "outputs": [],
+   "source": [
+    "def update_lsq(Q0, xhat0, meas_time, y1):\n",
+    "    \"\"\"\n",
+    "    Compute the updated parameters xhat1 from Q0, y1, xhat0\n",
+    "\n",
+    "    Parameters\n",
+    "    ----------\n",
+    "    Q0 : matrix Q0\n",
+    "    xhat0: previously computed parameters of the system\n",
+    "    meas_time: vector containing the times at which samples were acquired\n",
+    "    y1: vector containing the new positions of the system corresponding to the values of meas_time\n",
+    "   \n",
+    "    Returns\n",
+    "    -------\n",
+    "    xhat1 and Q1 \n",
+    "    \"\"\"\n",
+    "    ..."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "371b7525-b48b-43b8-a636-180cbd2e2566",
+   "metadata": {
+    "tags": [
+     "otter_answer_cell"
+    ]
+   },
+   "outputs": [],
+   "source": [
+    "def recursive_lsq(t, pos, batch_size):\n",
+    "    \"\"\"\n",
+    "    Perform recursive LSQ fit on iput data splitted in batches\n",
+    "\n",
+    "    Parameters\n",
+    "    ----------\n",
+    "    t: vector containing values of time samples\n",
+    "    pos: vector containing the positions of the system corresponding to the values of t (complex)\n",
+    "    batch_size: size of each batch of measurements\n",
+    "    \n",
+    "    Returns\n",
+    "    -------\n",
+    "    array containing model parameters estimated after each batch\n",
+    "    \"\"\"\n",
+    "    \n",
+    "    if batch_size < 2:\n",
+    "        raise ValueError(\"Invalid batch size\")\n",
+    "        \n",
+    "    nsteps = len(t)//batch_size\n",
+    "\n",
+    "    # initialization step\n",
+    "    A0 =computeA(t[:batch_size])\n",
+    "    Q0 = np.linalg.inv(A0.T@A0)\n",
+    "    \n",
+    "    xhat0 = ...\n",
+    "    xh_cur = xhat0\n",
+    "    Q_cur = Q0\n",
+    "    x_h = [xhat0] # store the history of parameters in a list\n",
+    "    for k in np.arange(1, nsteps):\n",
+    "        cur_time = t[k*batch_size:(k+1)*batch_size]\n",
+    "        cur_pos = pos[k*batch_size:(k+1)*batch_size]\n",
+    "        xhat1, Q1 = ...\n",
+    "        x_h.append(xhat1)\n",
+    "        xh_cur = xhat1\n",
+    "        Q_cur = Q1\n",
+    "    return np.array(x_h)\n",
+    "        "
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "ebdfb081",
+   "metadata": {
+    "deletable": false,
+    "editable": false
+   },
+   "outputs": [],
+   "source": [
+    "grader.check(\"q8\")"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "a9f907da-74a3-4d1c-9892-8d2b9fa9c69f",
+   "metadata": {
+    "deletable": false,
+    "editable": false
+   },
+   "source": [
+    "<!-- BEGIN QUESTION -->\n",
+    "\n",
+    "9. Complete the `predict_trajectory` function, and the `tr1` data:\n",
+    "- display the predicted trajectory of the system when using recursive least-squares\n",
+    "- display the distance between the predicted and observed trajectory\n",
+    "Make sure to chose a suitable batch size."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "7cbfe794-5aa1-4e12-a13c-3af377dfa828",
+   "metadata": {
+    "tags": [
+     "otter_answer_cell"
+    ]
+   },
+   "outputs": [],
+   "source": [
+    "def predict_trajectory(x_h, t, pos, batch_size):\n",
+    "    pos_pred = np.zeros(pos.shape, dtype='complex')\n",
+    "    # Initialization\n",
+    "    pos_pred[:batch_size] = pos[:batch_size]\n",
+    "    for k in np.arange(1, len(x_h)):\n",
+    "        A1 = computeA(t[k*batch_size:(k+1)*batch_size])\n",
+    "        pos_pred[k*batch_size:(k + 1)*batch_size] = ...\n",
+    "    return pos_pred"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "97513eaf-ef5a-43c5-86f9-29cbc9bbd4de",
+   "metadata": {
+    "tags": [
+     "otter_answer_cell"
+    ]
+   },
+   "outputs": [],
+   "source": [
+    "batch_size = ..."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "2cfd4110-2ee6-4e5e-bfdc-e6155745e19e",
+   "metadata": {
+    "tags": [
+     "otter_answer_cell"
+    ]
+   },
+   "outputs": [],
+   "source": [
+    "x_h = ..."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "5daa05c1-23bf-4f00-a7d4-9849b6ef27f6",
+   "metadata": {
+    "tags": [
+     "otter_answer_cell"
+    ]
+   },
+   "outputs": [],
+   "source": [
+    "pred_traj = ..."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "e1961a97-4a16-4d47-8f0e-df2e106a68a6",
+   "metadata": {
+    "tags": [
+     "otter_answer_cell"
+    ]
+   },
+   "outputs": [],
+   "source": [
+    "# Plot the predicted and observed data\n",
+    "..."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "11ec5c11-9ee2-49e0-b4d3-507629f2f71d",
+   "metadata": {
+    "tags": [
+     "otter_answer_cell"
+    ]
+   },
+   "outputs": [],
+   "source": [
+    "# Plot the error between prediction and observation\n",
+    "..."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "31ef60cf-1277-401a-b8d3-32b8e50e5797",
+   "metadata": {
+    "deletable": false,
+    "editable": false
+   },
+   "source": [
+    "<!-- END QUESTION -->\n",
+    "\n",
+    "## Part III - Recursive least square with forgetting factor\n",
+    "\n"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "528dc1bb-b87b-4af9-8247-c718a74fbf7a",
+   "metadata": {
+    "deletable": false,
+    "editable": false
+   },
+   "source": [
+    "<!-- BEGIN QUESTION -->\n",
+    "\n",
+    "10. Use the recursive least square on the `tr2` trajectory, whose acceleration varies across time. Display the predicted trajectory and approximation error. Is that what you expected ?"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "31abd7d1",
+   "metadata": {
+    "tags": [
+     "otter_answer_cell"
+    ]
+   },
+   "source": [
+    "_Type your answer here, replacing this text._"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "e39bedb4-7c88-4398-a41b-26c8b815640c",
+   "metadata": {
+    "tags": [
+     "otter_answer_cell"
+    ]
+   },
+   "outputs": [],
+   "source": [
+    "x2_h = ..."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "341e47da-1516-4a69-a90f-58e227297e10",
+   "metadata": {
+    "tags": [
+     "otter_answer_cell"
+    ]
+   },
+   "outputs": [],
+   "source": [
+    "pred_traj2 = ..."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "ebe4b99f-9f32-47b4-9af6-3086608358f4",
+   "metadata": {
+    "tags": [
+     "otter_answer_cell"
+    ]
+   },
+   "outputs": [],
+   "source": [
+    "# Plot the predicted and observed data\n",
+    "..."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "d564e0b0-73f5-4315-b5ea-0986822e1388",
+   "metadata": {
+    "tags": [
+     "otter_answer_cell"
+    ]
+   },
+   "outputs": [],
+   "source": [
+    "# Plot the error between prediction and observation\n",
+    "..."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "70180a33-f723-4ccd-8f09-6c772941865a",
+   "metadata": {
+    "deletable": false,
+    "editable": false
+   },
+   "source": [
+    "<!-- END QUESTION -->\n",
+    "\n",
+    "In order to solve this issue, we could either build a more complex model. However, making the assumption that the acceleration changes infrequently, we can try to update the recursive least-square in a way that will give higher importance to the recent measurements with respect to older ones. In order to do so, we will introduce a **forgetting factor** $\\alpha$, with $0<\\alpha<1$.\n",
+    "\n",
+    "We will use this as follows:\n",
+    "When another set of measurements $y_1$ arrives, and the system defined in question 6 will be rewritten as\n",
+    "$$\n",
+    "\\begin{pmatrix}\\alpha A_0\\\\A_1\\end{pmatrix}x = \\begin{pmatrix}\\alpha y_0\\\\y_1\\end{pmatrix} \n",
+    "$$"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "6275538d-4edd-42d1-aa15-312936c217d9",
+   "metadata": {
+    "deletable": false,
+    "editable": false
+   },
+   "source": [
+    "<!-- BEGIN QUESTION -->\n",
+    "\n",
+    "11. Using the new \"forgetful\" system defined above, update the expressions $Q_1$ and $\\hat{x}_1$ derived in questions 6 and 7\n",
+    "\n",
+    "Hint:  \n",
+    "- You might want to introduce $U_\\alpha = \\frac{1}{\\alpha} Q_0A_1^T$,"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "4d5f71ee",
+   "metadata": {
+    "tags": [
+     "otter_answer_cell"
+    ]
+   },
+   "source": [
+    "_Type your answer here, replacing this text._"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "bc7bc015-18a8-4059-a2cb-cc680f199b1e",
+   "metadata": {
+    "deletable": false,
+    "editable": false
+   },
+   "source": [
+    "<!-- END QUESTION -->\n",
+    "\n",
+    "12. Using the results found at the previous question, implement the recursive least square with a forgetting factor."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "6476b120-1e67-43b7-80fa-42eff433fb46",
+   "metadata": {
+    "tags": [
+     "otter_answer_cell"
+    ]
+   },
+   "outputs": [],
+   "source": [
+    "def update_lsq_ff(Q0, xhat0, meas_time, y1, ff):\n",
+    "    \"\"\"\n",
+    "    Compute the updated parameters xhat1 from Q0, y1, xhat0, ff\n",
+    "\n",
+    "    Parameters\n",
+    "    ----------\n",
+    "    Q0 : matrix Q0\n",
+    "    xhat0: previously computed parameters of the system\n",
+    "    meas_time: vector containing the times at which samples were acquired\n",
+    "    y1: vector containing the new positions of the system corresponding to the values of meas_time\n",
+    "    ff: forgetting factor \n",
+    "   \n",
+    "    Returns\n",
+    "    -------\n",
+    "    xhat1 and Q1 \n",
+    "    \"\"\"\n",
+    "    ..."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "70c04c51-59d8-4742-8bba-6c5ebe639c5f",
+   "metadata": {
+    "tags": [
+     "otter_answer_cell"
+    ]
+   },
+   "outputs": [],
+   "source": [
+    "def recursive_lsq_ff(t, pos, batch_size, ff):\n",
+    "    \"\"\"\n",
+    "    Perform recursive LSQ fit on iput data splitted in batches\n",
+    "\n",
+    "    Parameters\n",
+    "    ----------\n",
+    "    t: vector containing values of time samples\n",
+    "    pos: vector containing the positions of the system corresponding to the values of t (complex)\n",
+    "    batch_size: size of each batch of measurements\n",
+    "    ff: forgetting factor (in practice, keep it close to 1)\n",
+    "    \n",
+    "    Returns\n",
+    "    -------\n",
+    "    array containing model parameters estimated after each batch\n",
+    "    \"\"\"\n",
+    "    \n",
+    "    if batch_size < 2:\n",
+    "        raise ValueError(\"Invalid batch size\")\n",
+    "        \n",
+    "    nsteps = len(t)//batch_size\n",
+    "\n",
+    "    # initialization step\n",
+    "    A0 = computeA(t[:batch_size])\n",
+    "    Q0 = np.linalg.inv(A0.T@A0)\n",
+    "    \n",
+    "    xhat0 = ...\n",
+    "    xh_cur = xhat0\n",
+    "    Q_cur = Q0\n",
+    "    x_h = [xhat0] # store the history of parameters in a list\n",
+    "    for k in np.arange(1, nsteps):\n",
+    "        cur_time = t[k*batch_size:(k+1)*batch_size]\n",
+    "        cur_pos = pos[k*batch_size:(k+1)*batch_size]\n",
+    "        xhat1, Q1 = ...\n",
+    "        x_h.append(xhat1)\n",
+    "        xh_cur = xhat1\n",
+    "        Q_cur = Q1\n",
+    "    return np.array(x_h)"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "cf21410e",
+   "metadata": {
+    "deletable": false,
+    "editable": false
+   },
+   "outputs": [],
+   "source": [
+    "grader.check(\"q12\")"
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "fb61e06c-cf61-41c0-88c1-2d49c58870ca",
+   "metadata": {
+    "deletable": false,
+    "editable": false
+   },
+   "source": [
+    "<!-- BEGIN QUESTION -->\n",
+    "\n",
+    "13. Use the functions defined at question 12 to predict `tr2` trajectory. Adjust the batch size and forgetting factor (hint: keep it close to 1) to improve results. Display the predicted trajectory and observed one, and also the evolution of the prediction error across time."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "d01eed91",
+   "metadata": {
+    "tags": [
+     "otter_answer_cell"
+    ]
+   },
+   "source": [
+    "_Type your answer here, replacing this text._"
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "0de3bc00-2da1-4758-9158-829d3724322a",
+   "metadata": {
+    "tags": [
+     "otter_answer_cell"
+    ]
+   },
+   "outputs": [],
+   "source": [
+    "ff = ..."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "6adab39d-b558-4b7f-a4d2-9ef44350f312",
+   "metadata": {
+    "tags": [
+     "otter_answer_cell"
+    ]
+   },
+   "outputs": [],
+   "source": [
+    "batch_size = ..."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "b421fd4d-d7ca-4b7b-8aa5-09280ed01322",
+   "metadata": {
+    "tags": [
+     "otter_answer_cell"
+    ]
+   },
+   "outputs": [],
+   "source": [
+    "x2_h_ff = ..."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "7f4204d6-6da3-4652-a491-aaf95bc6e455",
+   "metadata": {
+    "tags": [
+     "otter_answer_cell"
+    ]
+   },
+   "outputs": [],
+   "source": [
+    "pred_traj2_ff = ..."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "31cd1cdc-0b4e-4563-a2cd-4a0b1874d4cb",
+   "metadata": {
+    "tags": [
+     "otter_answer_cell"
+    ]
+   },
+   "outputs": [],
+   "source": [
+    "# Plot the predicted and observed data\n",
+    "..."
+   ]
+  },
+  {
+   "cell_type": "code",
+   "execution_count": null,
+   "id": "e8414ea3-f39e-4ede-a690-4e3d94ce6b29",
+   "metadata": {
+    "tags": [
+     "otter_answer_cell"
+    ]
+   },
+   "outputs": [],
+   "source": [
+    "# Plot the error between prediction and observation\n",
+    "..."
+   ]
+  },
+  {
+   "cell_type": "markdown",
+   "id": "a84ca578",
+   "metadata": {
+    "deletable": false,
+    "editable": false
+   },
+   "source": [
+    "<!-- END QUESTION -->\n",
+    "\n"
+   ]
+  }
+ ],
+ "metadata": {
+  "kernelspec": {
+   "display_name": "Python 3 (ipykernel)",
+   "language": "python",
+   "name": "python3"
+  },
+  "language_info": {
+   "codemirror_mode": {
+    "name": "ipython",
+    "version": 3
+   },
+   "file_extension": ".py",
+   "mimetype": "text/x-python",
+   "name": "python",
+   "nbconvert_exporter": "python",
+   "pygments_lexer": "ipython3",
+   "version": "3.11.10"
+  },
+  "otter": {
+   "OK_FORMAT": true,
+   "tests": {
+    "q12": {
+     "name": "q12",
+     "points": 2,
+     "suites": [
+      {
+       "cases": [
+        {
+         "code": ">>> def test_recursive_lsq_ff(batch_size):\n...     x_h = recursive_lsq_ff(data['time'][:150], data['tr1'][:150], batch_size, 0.95)\n...     assert len(x_h) == 3\n...     np.testing.assert_array_almost_equal(x_h[0], [9.97 - 2.03j, -2.57 - 2.57j, -4.87 - 4.77j], decimal=2)\n...     np.testing.assert_array_almost_equal(x_h[1], [10.02 - 1.99j, -3.33 - 3.33j, -0.04 + 0.06j], decimal=2)\n...     np.testing.assert_array_almost_equal(x_h[2], [10.18 - 1.82j, -4.79 - 4.79j, 3.99 + 4.09j], decimal=2)\n>>> batch_size = 50\n>>> test_recursive_lsq_ff(batch_size)\n",
+         "failure_message": "Check your implementation",
+         "hidden": false,
+         "locked": false,
+         "success_message": "Good, parameters seem to match"
+        }
+       ],
+       "scored": true,
+       "setup": "",
+       "teardown": "",
+       "type": "doctest"
+      }
+     ]
+    },
+    "q2": {
+     "name": "q2",
+     "points": 2,
+     "suites": [
+      {
+       "cases": [
+        {
+         "code": ">>> def testA(N):\n...     t = np.arange(0, N)\n...     A = computeA(t)\n...     assert A.shape == (N, 3)\n...     np.testing.assert_array_almost_equal(A[:, 0], np.ones(N))\n...     np.testing.assert_array_almost_equal(A[:, 1], t)\n...     np.testing.assert_array_almost_equal(A[:, 2], 0.5 * t ** 2)\n>>> testA(5)\n",
+         "failure_message": "Check your implementation",
+         "hidden": false,
+         "locked": false,
+         "success_message": "Good, results seem correct"
+        }
+       ],
+       "scored": true,
+       "setup": "",
+       "teardown": "",
+       "type": "doctest"
+      }
+     ]
+    },
+    "q3": {
+     "name": "q3",
+     "points": 2,
+     "suites": [
+      {
+       "cases": [
+        {
+         "code": ">>> def test_lsq():\n...     xt = np.array([10.05 - 1.95j, -3.21 + -3.21j, 0.8 + 0.9j])\n...     x = solve_lsq(data['time'], data['tr1'])\n...     np.testing.assert_array_almost_equal(x, xt, decimal=2)\n>>> test_lsq()\n",
+         "failure_message": "Check your implementation",
+         "hidden": false,
+         "locked": false,
+         "success_message": "Good, parameters seem to match"
+        }
+       ],
+       "scored": true,
+       "setup": "",
+       "teardown": "",
+       "type": "doctest"
+      }
+     ]
+    },
+    "q8": {
+     "name": "q8",
+     "points": 4,
+     "suites": [
+      {
+       "cases": [
+        {
+         "code": ">>> def test_recursive_lsq(batch_size):\n...     x_h = recursive_lsq(data['time'][:150], data['tr1'][:150], batch_size)\n...     assert len(x_h) == 3\n...     np.testing.assert_array_almost_equal(x_h[0], [9.97 - 2.03j, -2.57 - 2.57j, -4.87 - 4.77j], decimal=2)\n...     np.testing.assert_array_almost_equal(x_h[1], [10.01 - 1.99j, -3.34 - 3.34j, -0.02 + 0.08j], decimal=2)\n...     np.testing.assert_array_almost_equal(x_h[2], [10.17 - 1.83j, -4.75 - 4.75j, 3.91 + 4.01j], decimal=2)\n>>> batch_size = 50\n>>> test_recursive_lsq(batch_size)\n",
+         "failure_message": "Check your implementation",
+         "hidden": false,
+         "locked": false,
+         "success_message": "Good, parameters seem to match"
+        }
+       ],
+       "scored": true,
+       "setup": "",
+       "teardown": "",
+       "type": "doctest"
+      }
+     ]
+    }
+   }
+  }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 5
+}
diff --git a/exercises/week06/data.npz b/exercises/week06/data.npz
new file mode 100644
index 0000000000000000000000000000000000000000..d7d8fed3919fc28db7e27e3baefe5fb6b9c0a88c
GIT binary patch
literal 71415
zcmV)lK%c)*O9KQH000080000X07<ahcRwZo002J#00;mS0CZ_>WiD=Tc>w?r002J#
z0000006!)G000000G*rne^d4U#k==NlO|1?(d->T5Jc8J3_+G42r?7_8H%hAOAuLt
zAbTT<GGqy|WXKYfq3kWl-cUBBKq(Z;_rC8vf5F!u@KI=!oA>)Q&Uqe~_HOe=O<F}q
z^^Y3l>)5H!C%t`@?Y^p=EBV59U+12^`}S_%<Kv#aJ9ZMkU#ESyKAq&>@AGN<UY+Ex
z{pHG*EgKGm?St+A-~Upg_}`762V~UvV~C{wf1(ur^31-n>EH3|Int3%sY`#Uuz<h6
zL>e=3>D`UjmhsP5O7qXUW?ifI8^3R@RQjNBQ#Z$Ye*XrkP27&NkBc|*=Qc|ljZ<EJ
zb>t8J{5EN<VfCb#_y6MSY?n68`)=Mp(hk1fPANY)^tZ90U3}fYCH?x&JKoLthp)d|
zsx7^HTpPQG@3Tkhy|==(llS-X{q{-onpvOxaArT>_keWxd|blE{~YA|ACg{nxodE(
zIn3ucA{n0Dn)c|>5kAjRDYEUOA5ZK$%I7*J)gEzl;fBq}_<YBuHt)Q>;``Od`JDes
zebP6rAGG*iKJN)>?6I(T1wQvlX})-wsVDjT|4AD^%s%Y+_CJ1(Q<C^1cE~Ayo>S6|
z8zmR7_c_haby_O@wdc*<pPk|7J0t1;ceP;Y$7lID&r0EnA3Ph^{2V{;IjL63zUUqe
z&hvAhms<Z-J*7#F3;g^Sq~71G(UyDjBG2KXRNFHxeXQXU&*PGGB=KO@pedJlE|;Va
zZzmYKrCsLvT$b_=Aoruumw8T?r9P{^w7na1h39oeDxI><DGk2DbGssq?R(!_w)hIq
z@2X_@z#nq-xyp0AD$ReZLmBP;t31zZQpECO`Pk2{@m#M-8%s~T`S|KJp6_+3_T|i~
z*V|s_IbWBK?5u~Ar?2z8Z%AzxkEp%-{Tn>@8&dwaTi@Au_y*5EU+Vq&(}qjy=kp%&
zrP4;PzxTu6`Mi&t(wMTJHy?+ayqBAjUbm>#S6goKer`(hpIrE;d&OJ4r(06^l(9qG
z-)`}~Zb=(AH|^Xwe4F=nTdMWb_^w!ToA-BHIz05B9<Mv^@E-3-Z8}8tasG6N_jyOU
zQM>XNI^$j5>s_h0ukWC^X?J<QccqufD~CQwzsGyNCylwAKjOx>_jup;B)#(B_j&L4
zrFp-#8NX-9ecu0lDLj3~<W0}+vko3e8~PufzO3&9*24p-R;%RiXFqtrx+swHf13Yp
zoeBl4j{+$&Y1@%)y$e_;1yY}3XPdscx`6dkAZ_|z@xQC?6|im|N~In2@{K=a{XCRv
zzhCb3yiXspjvh*5-)`K-wD=+G>7jI_Vz={Cu0CX46-oyGn2%E&g{-eaN&e=`U$-q}
zofS&+Q+9q*GP{uVRw(5w?Ni9QE0iMlUdW&95$o@f)aQcfcE|T0u?`<e8xM;&e8hTu
zB$fWv?0)mZk64$Fq}pqG^*WUHnDzNs8oOXZVV(MqS*MSsBl79}Ir=f{^|7QMwY%ue
zzaO)1A4_e%xHe#Q%oEn{6KVdZ(ItL7VI4n_@>|&k&ma7R_54JNG^p~*wB-rw`ia!L
zYRlnMi=VK*i=>T_ezB<)i&*DHQmJj~HzWEKvEGZM+L~2~FIE?^?u(?c(Fex#y<f!o
ze<~d=yqS70^pt(@RMKCIpV;ZMr|gHPQkxS_&4tBJ*%wcx`SPo_xb~F&Q7q+e5Z_qL
zJ}H*MO9#%Z`*AV*rC93y!%X8}KNhoZilvR?*8WiGOfmbXSStPMh~>AOXY8YAQtcl1
z<^-BQV?RBU#BKjP^%?u>nRK{`Z$a*nXY8+MlD?*>%;)U0=Te*U?U$rBc+P%%F3ooj
z35@*qIs5LpbVEP;*B5_3Xa7By!inMpOW21cQg2bNC}BUANE>fGe7*CK682?@RC*?3
z-GwbB?9URZ)`5`RnI-Jg7t$DU%oSg-UtdUvS9YrWPTv>o+ZU34-q(Np_1g>f?+dBT
zl)2U4dhmjM{8Cc>IQ)|R{8GBn=XA|r*O%<;mr}S>(XOADykvjBlzO+&)iqy#$v!WY
zHr6e>cbc=5{az})tkkGMTDwyAeW_F{*!AGZpGw*PrP3Jl=*BP4lyVM~N{7=H9_?p*
z#d+{b%2pcS73ab$sr7^NCpu4i#rg0`ns@2>2N#dL;+%LTJrd=V7zK4+L}6z8+}Cb;
zqM*)=D7<yX-*aK@D5&!z3g_f$(e9HdsB<I=L-)V^(DHQ@)OivGhcY0dpw5*j?E0fa
zpBaBfL7gvA=u+W->)yK%1$E9uAw@aHD5&!$8Y{dLEABH#L!CR(XfpT5FGf|4hB|+u
z@hIoljWt_EL!Cp>m?=)-i)g6xC>n1i@2R|HW;E2f6peGkPY(KGeKgeh6pbOzul-T}
z-)N|FDjM<(dHJ9)8tS}?!LB>e((<ersB<d@T{>!peOfjK>imj9%6Z#%cjFkSb1Vic
znnz+TcaMQO&tlNzP!+j!W1!Bp7(A*|e`Kp)W1!Br7|i^$<=^^!F;M4R4Bo2LCE?i3
z7^w3u24`3It2;3<7V6xKh3JO*-dL#fFBWoh?M-+)7U~>~#jafOPO(tuVJx~#Th(Cb
z*RfFNVk}b9wvDecKNjkIjKzwP2M#{{GZyNcj75`|qCsMz&dXRl>UXPgua~h<=Vlyc
z+<!VbY>9(9KjWZ0Zsj<rb2JWTFJ{Y=A`a?2jl+<ZuJ_vyh=V#;<KQ^@`V8xLaZu-L
z9CnGZxIPZ*oQ*>lc`DBQHxBB&jYCS6k6Jc;6bE(g#$(0W&%e*m#zURI@o1t9!g#22
zI39%yzm+>89_l=fhx}$A*6I-tbuP!F(#%Cay&4}6bw0=AtQZHs#zURc@fb3CN8W&a
z@lfY=JRDI++r4os9_rkV$F2bv=NBX<K%L(S=<@L1mF3<9sB=64DP3Q<K6^U>>O4=t
ziYqCdJRK9D&h-Q|RthBn>U>W?;c=hbS_x3+d;(@Ptmtq3R|3>|pMXk#*Z$0KF#+n_
zPr%t~&6XW|nE-YECt}F&?e9#qBtqQ-iExzZ6>d-^5$Zlj#I7Ynx+k_ygt`|J(ZxPt
z<<0?#Q1?S3Qsk~5`duQ_J&}mzS<A{+{XG%tzDPvlu^Z*iOoX~O5>Xhld(FB>iBR`P
z5@rlK@u-(J3F;n6LZ!!7--x`P1a+Sz;cT};xq_0Q?v*4AxgND)QI903`y~mEwwcB4
zCnQ1LGfCKW()yNdc@orplY}mf#V1XIx_6SGwDYYbsQV`g%Tez|)1+jmdng%=H+@ho
z)0Yf&A0?wup8osaPKLUdk}*S+VaH^s`zaZfTqB}tk4T2Pr;>4Y_LLe?KPN-oSIHQX
zEhc(0)V-Aqhd92A$x!!KGIqspjjK?a40VsCK)l;SOA6F|mV)G`r$?=*k^*(FrC_;O
zYpqkD?za>)zFCyy9hd@j&!wQSU3~p3-=#p^cPW^0S~qUa?<r9CUJ5ETbslJaA_eOH
zOTk&W3UVH&K;46>7*b1IOe)lUm<szJjV4WcJr(L+OvTPOK0MN(Nh;L+n2OFTx@INy
zOoh59Q<3Z)*mT!~RH*wh70c(0o;GZGD%8E1ipFwxR^6Wpb$_O!aMD8kvs<Z9_h>3+
zB&}_+J}C|AK21ZV;oHCapDzvSUQNT<XNONk>ZC#4uW1<ETMVu=sCzaI_B(f5FCLKw
zb>F5zOwA5Ir$ODjY3O_|S)RCQQ1@>dlA9ZCXD_Bf-NR{Ee$e~zccp1i_i;KJ*Qp>s
zYC6=toQ}e6wdBc=4s}1LW5%1}K+~b_>2y?*x7oJ?)1mI`bSUd?Ryx$Zoep`3$Q7Ip
zb$_SBo;%*V^+Y<<J)Vx8Q-A0(@NqiSeV&2NVod8YpzieyB#+!6pL7P){hop4Fa8d$
zY?1+W&u5@<zkfgP+A{;{zRy6R7%vkupzi$)%;+ozP6pKdpMf_ozItu${tT!(AOmMU
z$mrGPb_P^Ekb%KUTVz7j1(~qd3&|rV6RJMQ#Ln$+m7iQE6RJ+gL}&RH8g|Nrsuwbm
zEUt58CRE*!iRB@25SdW*Lnaz8?DOXE?U_(@L?#L?Uk|8uDHE!m$b>3OGNI}U4J^uI
zYN#(X=)O}lyoNeMgFjz=RQ<b%hI&H-jZoE9HPjs%v>(uIXtRbI>JJUpu6s21w>BE;
z5DnrUe)(7C=Njq}4O)nG{H2DvM1v)tjgcp*hWbQ<XNxq>;P)Ep6b<C&tNHCO8tN4d
zezfI%a$|#rx<!L~t;Jy1P`_v(eHU5y^GOYLj0TgBuiF)MLqk2Ifocmh)HNEEZ@5#Q
z7+KUeSrFUYoSj9TlZBJJj@B9I%A(%Mf-kyNm;cITQTJqFV6{u5E7Z)Q{>j3=fn9!?
z_FfisP!=q|-{14FT^99F7P^b^+bfH@C=1(O6P=MoeUt^w=Ocq@ld`CjvLL2Z*Ew0#
zOIcWZb?WDPR%B5(Wg$)}_$=zDEVTG={_>FrvZ$l7uw<71;FYsk)Kgh_CdSU4Eb6K(
z)X#b|WA5`T>MJc~Hxf^zrOwjg-Wc)5TIww=s{eDK=O(|Fx=V}6G4D^#sidX;(&BP;
zp^&uHVOo?Q)Zysy7Fy~tEtGcatfel~;-tK-Cil})pK0MMTU_q`NG)}m76V0jP1jPd
zX|eB@gucrbXsO$@FkhcAJ!!3$`b~@O4xt3J)Nxv<xJgSrr-kMRSCR9wmby-h_9vGa
zh8Jk5@3dGe=*=rFb)F7!$^z3-@9EHD90ts`>8Sg3Sh9QftY;A&^`8#KvEm1G)PXwG
z7jmkhj(Sjs*<XG1T=$`lx=@FE8?WW|{#-|Ws6+K9pI15ZrH(pLhsm!$YV+Dy9rdCP
za`SvO{(BvDqYmYlMgMgB7ajGZ4kK>}p`xRX)ZwI%5xaHNlREh1X&m>Tj=EAOK8)N@
zI_gUu_Wid=+WtgGovDL4JJK#MKAU<o8{M0%8#XvQo4PX_;wjF$vZ+6_q1n4bo?zM3
zq1k9J)@RLZ>d|bht#LG_=)G*}(rm;jf;5}@G#kw~U#zvJS2lHOHkK51mMblrdNmuO
zI(kgXrf$tf{hs|69hj3%{hAH2m4hp@sbjNoPpplt+0?VysP0Zp%s-G#U7L-`?WX$P
zK9@~>n~lpqn%-G(C!0Dq8|8(IDaoeZ)nlYyG=iSGSC13#ty;R(q^JJX!zac@Ku;a4
z$AEoXZx5`bryka0U&7m|r|Rmdi}f%oi&{^8tVefI?w$42$$D(taz<8cdg^68G_pEt
z@{OLlS&#N_+*+}6x}N%359OK`>Zzmkh+FaWe%G~n>S;Zi-x`v+cZZ(3T8|~3gtES4
zdg^OEl$XD(r_R=+{+w)Cndqsv^_YD|2r>h8w*mL$tur^%K>ck%bs>js2I_DFWU(U`
zuz`BqfXn+g>NZz1P?sA}E(vcK8yTq24Hzl^+W$iXb-Dp3hP^9qU<38K0luv#W|SLb
zpl&x{z_Sm3pFGw;{cgZMAp^fRP{$i!R)n{KdftHUD+}exY@n_;V4Hk9$$Jdc_XcDt
z1KvQLZ$Nulef)jHK)r8({9)w@VxaCfAnx4E&BNn!sQ+`I$e-*S`hXlPd4Ew!HFpmE
zKn{xKuKBTi4t+rm>K|NN^?A)4`hy(IP8NliL!Xd?yKnCp{CoQx`h^@+|GJ)hBRTX9
zIZ)Q>upIh_99$M_e^L&8L=MU+f+UB2A_pV;be4ZIhrS{QC&W6~nnQn)1K-`g?du)P
zq0h*{0RM~OOU~ucZ{%QK#}Plr-_4=#$bnfI%sKQQMu;u5J;g{LV#GF+NnTM#`Vk{C
zTg;P{wUNHWi1woWDjDfdj97C>2u~w@iV<<C6-Ukbz(~JhMDw~^7Z-Il(zh6~M3hZ`
zBmIjJ#eeS4U-ONTKE|lHk*pa;`WYi;R}#X-NMB=w@^RN1>2Hjv{@cyZLOYH0IYvyn
z*K_QcV@CQNBQ6J?F3Z1cr0+4JoMJGH^gl+7luu_tl!-pbgcBFWr^RSY^g||im4Rxa
zFEU}k2V&!z=#Na0MQIO9brXG(3Fae9Cw|$;M89N0x3t$+o%+y3-(<ozA>+H5=$}l;
z{6;F6KFCBLWkUPy|7aeKHPKI*u;!(>XcK*v32~Lh1T)cJnb5rdhrQD`ndq}jSiD9E
z4io*B3B~d>+54Y~zRLtfzUG_gzf71dtL<-!O!Q$U$cG`9ZZ7>;E~*Q;q|c=<%f%#%
zsEAzpvs_$mIkSIh`CR(6T$ED=VJ`hzE|fLjG?%_D7bnuiljqXE<-%KkZE^qq<<iIH
zV!)`%rW3<*>F08xtf$Gj^mVx~zj~+jl)1U|ce&^$Z{G(ibLsPPvF!_SLAmsMxyTe_
z^<XZ2UoP4gbdnuVF8yCF)`W#n$fXa=MeJvNt^btd(hr)^T#SQMGku{MLKS_TYo<Rm
zqu81<^ise~pJ+zC*1|}c=@-qIEz0;EGkv2OcaP1LmA;w&(TwWK05j7^nlY)tO2>x&
zX8K7pl;a;|rmr-koFb&n^p|FcsyVvQOrL4SiK_b-lv!t{-!wz{v7Ki6PBR9qKYi`a
zF*E(A8G9d!gEiBKnqih*#4iuc^rL2U>)NwULbQdx)Pik`#e%ocpIVT4b+EjdEcB@s
z$l~J{dl?J;ss(F=4XbXUZ?zzHmhRTMMi%;43!4A?gFHbk^syE!7IvbWg?`q8VnO8x
zS?FsmsHY4b3;nGHv;W>8ce;f>*Mhr31~0SF?^;kz5x^GuUJE9D+34QEJr??33oiZs
zuUwH9`d|yn3Hg?9p&zzjM47Aa-Yl}v7h7=Rb8#S6`eQ4+zdV#r&Ptzb#Q-5YJXZQ;
zEB4yOVz$yZTa}P!TP-X7vlZQBRbp*srH{5kS(hEG^wU;k%71$Le^&ZxE84v)45O9)
z+KM$}L$XD*(q~%{E5`g>EB&?=&11#Du+n#1u~=4%tF~F`zpW@9^o}9pkd;2%ih7E0
zwbGAU@x$X5AMCqpr7ySQZrKZ8_+MD*&uysIz0<5wsW$p_8zw1jWusrW;nH>SL2UHx
zHk5OgJe&8HjsD$+5pp-ZddEf|Z^H>u4lQl;^EP<@o7`qg7aM)O4RX<aW%|NKe{aLy
z#=_Xy=<{t*KE@0i{k{#|_N+Kxevys7-v%+|rmVBk|J#r$|5C8iMh;*@yTPK-ZR7zq
ztl6~h<K<Uu<N`Lt7QHttrO-w`U_)~So9B@e<Y94-cJc(zBQMB<*gkH19=Smt>gD%{
z8Br#W{2&jCy{Vo@j*y4DABzXbBTvXfwIAa;{`65Exk4T$of<c?q+1^OLLM#&S^iZX
zIYS=G$*N$(xIFTPJdBv&kVj!2xkDcQ-75@P9{EEayh2WH$|Hx!!xuF-$Tycq9+8K=
zL#lr|@l+nUL>_Xt{Qd3S{5<lBJakiHvpjN&JX};Tx}Chj4i&4}$t~<C+v0!nC%2Pd
z*wO0ox*6?r?c^AC$f9+T#%U+dutTVxKLd7h4Lgn>5`))HzG26UZsG^+<Q#S=b^&(s
z4m%o&@$rtG+{2FkvP%p#v6Fw;G57k>oHHNT$wBPcJwg};J9&s51&&sgDs{1wi`Ze3
zr+I!4JNbwmHQHX1H=v!I#12I!53!S%*fCAC%{O*(6FdH>^y`=f6YS(Cb_n&`bcUTA
z#g6oT<z$CwCr`1XqOSku)eG(9Dt3JQn<z*-`HCINv97a|v)Hj($ippm@)kQzi*ng%
zCwH+UI=Cm*vfobrVu$kOF*`Yo9nCrmA!R3zvE!?_X;lMP?Bp_b$luiP)Ga&tj2#D+
ziDoCKv7<<dG413vcG#4`;~=+jpsoS{9OO3+^xEW~Q%mC@$8q5M54y>U-$9<^fS6YE
z^Bm+l4&0WXx{1$0zT<#S5zG#99tWxlIZ)9--s3>W9^2%~agh5sFhN##>2)0BKMwr9
z>}`2<JIH|?xbTixFb?t{2ND&~;~*DupzJrA_x5&lkPkV~O4#0R4ss#~lr`AbL0;s*
zvX9RWKRL)jZsfr6m%<o1$d4R&A#bfW#yQB59B@|_3eG{E<UpfSw{}eZ!9lL%K>z-c
z<28PEkS{r)*uA9=awZ3q@&B8Hyvc!rCW3G{$ekQ8J*Xm&76<v012rZLb+6dtAcu0G
zYe*;+2YHkO)AkAj>>!tN;Eyi#Wy|j%pK?I4Ir$E9DhJZV*n8k0uX3PbP2uDn<W>$S
z?NaI>zj9*qkRKO&5}f2%POP?wjqD`Pa^m!6m)w$0axEv6YqmPcx10zn1J+5-<wP?D
zbU4YooETJII94aQmlMk4RdJGkIdQP3C_pDUm=i_mV)Ho3!<?`w#=uD~=0shAv06LH
z$DHUTWNim0IhhmRk4pVAxvP`B%nA8LWM}3iH*@0l4zWm`<Y!Lk6rklKM{`2B{=dI<
zlBYQ#5C8prCp*d2oR}c+%`7MRniIbZIXBly&gO*J&cl~D$=jSrGzbUcBzJS7?7CI*
z2|LN(oM_ebQFzieCpnxG!wV|PlF3OP=ftv!LNGbW<(xRK{B<rT`J5B#U$1hK(>dXm
zr{D8yPVzb@8YK#)?IgEzqW_`;b6P%jlHWNYH@|H3o#c2<?7rOW&);KR<asU>4E^qK
zr&JfYo(qay*SW~|Tu|0`u8W+{g|4lIFm{pmxiC$vlc0;-&jr~8+K;~OBL8#Yn(S(a
zz2zbYbRqqCuNq})xX1%ts3^wZJ1%lT7ZjV?#6>>n!sr!MdRJ}fA}4fVb%UW_-}%@@
zUg(0-zFl18hAu>Zo3Nl>PZ#;23qi#IxyTV+XeO)mB|}`~i7qH*H_An>=)yu_&nCLa
z7hO0gpXRz5E^<Z}imD31;398yK{>8PE^<c~>JD^yb}V<1Kf2H>M@)JbIiw4-){BAY
zB9C-oyTFh;UF4E3+!nTEzl(g*1>NL+@<eixQ@T*)wN0bWopF&@y3p~!i<#rDxX3MC
zm>|2h%C}wQmoEICBs#}Mj_HE@Ch|qO$TM9?6!<OLO|I!iSs}-h+~k{Xv{VFxo1D{)
z;dv*Mnj78Zoo+1KDu9NY+|!NYZ9WRD^|{GE-4JTDLm4+Ys2gsP3cTqi4|SuFz)scO
z<f3jUGPI7HeAJCOy~QANlaso!TXydUo4d(N-6&XDQ7#QPxv3k*MqmCK>f|Orb)$y7
zt<Q9GlcT!PRmg<CZt_$&rU~5gm784E4Ml#9aFegPaqSavz;1F@H`2v=o8~5Ob)$k}
z^xWjGZnUi~7QLJN)s4~T&Qxo*%uNpK#%eK^*SN`J-B2*YCO5gP8_^pU$qLs^KI=wM
z0hDfXS~r@BadN~>UhBr7DZS=)KjkL3bz@-}F@W6Uw{9Git89P1n;h2-r41gq$#dPX
z348t2O|I)k-CuSToGNvb?|RTncBkJac*uD@P_8e-L*DDb_OFEi_K^E}aN8~p#zX$=
zf%ebrnzcP1a$paXw+(y9gFWadY~>psa$yf9e1Ea`dsRK;!yc@EQ-B)}Ik5*9WYxW@
zfrq@<gG6~Mw{7MjH};^c_Ws)RHXib04_dB%U6yJda%2yN3w+wuL!RuxGGV8Bd&reN
zI5zgh<Glkt<jWq2zqB!MxQCqC1GgezJ><<EH0re5^WS6-xw8j?>W-S_A%FH@j*!vw
zJmk<G>=xK?iHAJeg92eAR(Z&!JrM4z<^~V>v<Ed5L+c@@_Mq!Vu~<Fi)gFjfYkbH<
zZtcOA$3FS$J>=IOTobb8yoVgygLHw*u6xL{J*c37SP!|j2W@3_x%sh&eA|Q3V%@&*
zkaK&ndZ}o5FL}2Y^6-!)u9w`~i)aO0c*(!L2r9zUOAhXZf{C17@^CK($*O;3&`U1v
z#lp7DWJ%#AANS&*7;kTR$;rKV@`HE~FL}8awzq_W@RFN*QTM<0e>`a7B|rB<Y0H*g
za&#{gJkrifp6<o=-vprYlB;`hTb_!)_Vkjkd!dxm7hZC9FRF}xYE2pHC2#klV^B<F
zFS)xH6ZQy0=OuslLOF(+UUGOZE(k2}lb1Z+i$r-_^;_g6m-nKKA{f2o^Io*Pcx2M?
zbzX9MFNO~mAks@-@5M5+sBka2y%)ze&Hn4selPjG7bOCJANP{ud*K##_^g*a--|}m
zg>m<i>wBTtquXBceJ|!5xtG<j&`Zwm#cuJp7@v8``@MLOCVs+4?(c(9$oga-`M(b}
z6yWS*4&X!AeCd-7Mj!J4AH*qlw)>b1_^?IDQNNG*fDhNUr%c~f#>bq%hcpGy_?Q>?
zP(cxTKIR5Kv=uU{j*t0)52FR{eAmYu!3R<OWm@={C-`ux|GXy`KJqbF@F7|W7JSSX
zd<d@f8LD;nF=z0h>3g4h@AmaEZ}4Hz1F?X7%pH7KDAv|UAM*zv6wEiy#~i|kCwqkv
z@-dI_!S?CaFFu&<V=m!CT`_JK_?S=lAgI&&Wj^K<KFpF`YR5G`<`q6{za$#N$K1k)
z+hR;?_c6clLBU&leata@sG<loAM*?!I<`9V?C>cca}6Jq^1kF_zTw0A83Gjem~;4W
zq5PuY`3FAc9X=$=TYUUeA9D{MlxunAWB%bsOM!I~{LDf87`|LA4nOk{KNNgm@G}?j
zLwPx?pZSO%C8LCa@iQm!!!4_;<`F;h5<e8%TfxuV#E*U=zNqSFe&WZRSL4rjsO@Kt
z;>YfvL_zzRr}&}RwPt?iDt;Ih5anmS;ztcdSoxW=_#rpVYlph}nYZ{cRoIN)e&#NI
zY!TT0OF#1$Kdy;?Ju%$R9LA3{B|z~rkMW~|kjGQ}%w_y&E4z`Kv;53w{22Y282EnX
zG=7MwQ0Esv^BO-+30b$w&)mk3XvKK=ncw&kxblyz`2Ear{AfBXMZP*e^Bg}02|04e
z&s@ikg?~)Zwm<1-zT=0O)|v}`<~)8pDK?h>^SYmTj~_O%M(_EV`}k2;5k!9GKYsK)
zepOabe&#>{%=(`I%K_#=0c;oJKP|vqC;+iVPwN8AhXT+x6q`Q4oG5@Qw=2k!Ai%sR
zfR18p1p~~D0#NW|xd8K{0M_q{k~dO-IZ^-@I@B(DR3pGVDFCJ2>IIl91yE-0enZpu
z0?d~JXjx56&H!_!0EP=J)GolhDFCHRJ`FH;3gB3dD4+oIrvOUUTjdT9Foz1jEpW!r
z0Q0B-l#e$$z+5VTe)8?_n;2j|6~LU=L?s58Qw5;d@HqkIRRKH@@zbIJbE^Q1N>CJF
zeic9s*$q@!A7G9ZfMOs22r$nIVCq#dU<1sx0@yM<UY1e;=34<=%M)NVz?>@p#rB*H
zFz*VWf{0zN2AF#V&{lS7uWkpJe+3{nRkxLe0p?%<tP*nld4PFX0H^*H7awFU7DRL(
z=TBRbgUrW*2xN)mCdiyDh^9hjnu5&Bf*2&?278dXSr7~E2!I}BeinqX#mWYmqXqFq
z$fGxd%+rFf{Zo?hjTB_A7DSznQr;VNgUr{0=ouptiXd~gAZCfR-Xh4nEr{&`v$qX0
zcMC$Oi-Jx;=5Il06@eaP4i`ifv5xu$na2eoFT*J>zX~#!3u1h80g8gm=Ym)-u<7_9
zbGjfdh%q`n$h<BH1uxGIGPet&%%QGVK3x!GeiuYbf%|?9GRF&IxM=@1LFRcuh*Y8f
z<{)#uAdb}$1~$liFNhL>srCk$^97-l?a?6fz91SZAT`L`FNl6}S6sdnWd0Y#9D!GE
z2AKl}p&WNXka=Jb558|ITgf1E!61x^unsaG455a=0*N8!gdr&3mJwoJ7{XMoARi&-
zh9PWOz3@gWTZs8#2#THchL|IUkajO5zjBCqVh9z+^^_fYh`C}2Z3ANAhnO#hpxCh5
zA?A!BtP-(V!w~bv5KhGkCmCYy7(&#~+dn<lCdB+Pgn+OQpM;o0hR{?2pdsdwAq@Iz
zyzF>F%q2sRn@%1?A?A}I91ybi>kxCw5T1y*XiSKCWe7G!5QmsshEQkPh1>PN4>7+C
zp{I~*^FquqLzs0~fSC~U%n<(SzEoC_A?BJP+!C?E#t`$(5VT4_5Ms_5LKP8{><%&S
z4B?X-Vo`^fdxkJx;P8_n=AR*~7whpth&gBo7yc54F~mGH1fhnH+zT-m4WWz@{Dqj0
zhR{+0mm%h)VaUt!(D}G9^U^Su{wD@Vn7L^f#{_=N4l_RuqeP4&bC@}57%oM~hMA{^
z(Xh!?dBTO6tA^1}V6$>z=Br^SZB#kToHdMpf-9S}s2OJ78peY?;)8{myM|#@z<!wd
zYZ%J)w+b_d4db%~V!?))$A&SrhNze@bJ;Mq2u#r{%zQQs<*^5ZnbU@mX4!x2(9kgR
z+Au0?&XB()%-l8%#a>SeGrtXERMCvsb2G!tal=?OT{M1}d2Se|%30l&7l)bahN0NP
z6=CMPVFVNb8fMNLM$`10@7LWLX5JgdpkGDs6=v=mhGJ(9gqi<_aX?l*@BbTS4jjgl
zZ^Q$InFohqRe*e$xo{YDgbcqEW<DH7PZ9S$3Nt4TV^(S0e}6s?GcOK9iHl+)%#9<s
zCFEmDg!yp<+S7*<4`xM}BS%n02{<FnlOy;<i8&(7l_MCh$esxE<p|clCmJ@woH>H?
z4@6)UVcr};g23}qgt>DBWfb8UVg4LJOSxO$ZX96_9l@|q%l`1VMTB{D1WN^0ZX01P
z9l<fNW;#chPe<^)rg)(UbLt3O3P_JIua2Ohz@dX9%&jBnC&uG95$4ws$jek-*%9X0
z5&YAtk)`|e2=nX+9te#0V}!YO1V+);3nI+7BM`3o%U>hRxg+@Om;ihc=G_rY75Hg$
zgt>PFN;&R`F#nF=>T(e@MVNy}kk+8<oa;v;%)=w7pa{MQbMXk2W4s(;J|4j+k02Bg
z=HwBq+9|+8gn4-cr-a=vjxaZmK>b(eui^gyP)h>@6aWAK2mk;8ApnRjstDkA004k}
z000L76aaK`F)nU!c>w?r0Dye}000000N{22000000GwO*BbD#_xA!=EPqS$&Nn9xk
zl?YKuA#W6lQiv#&(Nc&esf_keiO$s)B_o?ekxeBe>3cr^!uR}kpXc1;x$f8X8b6#<
zYg|{a^^lYZmx$8!-4^B(s%tLLweT@qpgT{X>lYHbJ9KNXS4gPuw*Nh_-MS-eoA~=M
z|E)W>iN~{y3=9nB&7LQS7W_XyN={y{ZWA_X!EV|5h)Dilk?5{Tcc8Hr7$<xk&h?!U
z8FFvGj6SOc^8Q>c39Ub(j>9^^nw$C1dnv!TE{A~g+Ok)Um}*0$-m%;EYsW>V*nD7p
zoHhtD>~;-|{S=*jzQTXkUrkUTr)-&4lt8_IGQ*Z7n$UY7;^G~eBnHhr;*lkx0R@ZG
z*BShk$A^ao^nJ86pv7g6|8S5zQdWHqKY3CYc0O>}v;SnJ$jgV-@Zy*T-2UlPGykP5
zsy}d^<QNNqxK`A9#Yh>yPFqA~1!_QOXJ*(@7dcE+R(neO-}_aV2tINCipJbOKCS*N
z1phxOuQo&}U{l55WaN+#JXEJI9bBn^3gnu!8&5RhZk>cuqPisd&Ry(C_0WRP@BR9H
zjQ@(HB5Z|~0!?^kq?3^wDUIbv>pzy%X+qM-nzH<x5*QFY{j~F;7L1)MnRj9FlxU5-
z1$EZ628=nasobq1gYzDJR|(D41mT+^ImIwZESf7Ub#4`cx7B|;t&S_8sA^psQM_M+
zYVq<P`hP_(%;v|$+ZrHaX*Y0vu`F(sNvZWeq65#RXE{pye-lL;?MPkqQV5E#YM1f*
z6)?e!X(@2g1pdPBpCb#UFiW^J*2qf}F3ky8*&Ho}WxKBgm~Iln?n5U0&?F`F6>;iW
zuQZ`v`S<VWZV61%e6Z$yBp-G!9m^e$Bj8mDe<CY~1HlfBxA$%&V@sdE#?o9NB)oIT
ze;A^O``9}Zl9e@K$H>=u-3n=>-m+)j%;thhRD#v=tt6}wJ|@0b(uAWme=OjgG{(=b
z$TBV$!oYotKSm7-$armXr#o2)?xCBGj8!P2TDtRda)Jgl_>7sq=#)jB?U!v=7YksE
zt?c}*993+o^82cIRSOIxG*UVqPl;kbC0hoDXuw%|$G*V@a+n*j{HCp)5MHZsx_(tD
zA)WW9zc^C^tcMFUZ=9CJZO7)5bd7{CT6FZy);Y?UvCt!6^&U3tkhFf)e~5w`?CT?x
z%Cx}mmEnc$e}0Q>dUB=ahHAh)mKX8TEIC|%U)U4=NeFi{wSP5-E8zT3DeEu((0~Q^
z4&At*ErTk0Wcto8THt=fH!SAGq$pt1oz^dg;`8`dl&#fO#;S<J(^mBw@bS}%_9a;|
z*r8kU{GmSw-YiVqPdP@$!NT=U>B#~JV;vmJey)mB(UjpUEOCEy8Qa~6lgGW9<J)7>
zg-{xtseL|O5hZCc<NA(5(EoU~Rr{tAs_uKbdtD+6@+}-Ty$Yt{kFHXY=3h3<+FNim
zYl4hs>&{Xy&Ef&o*xno~iRima#${)c5M*ymZ?S%^h@~=hpJX4i!994N!Z~va_65Fp
zqEgI(=jFj@yo8LUaYr)m&C-Gmp9(HDC(MYZ>k5@~8w8MKt!W*Ytb%DfHP(8b(*&K!
z&X_x)l34r7C+>W{1{AlIQMy1DUDr_mo6gjPcL#Xgrw>YEQ-s>(Y9A)hR&8CcaFm9I
zaVq&D2Mq}PZ}Z32J93!Eu0L-h)B<{=52^0KjOgf6jXj%J2_V4H>}CE9HT+t<Xx)Jd
zIz&$TRpw|hF!Fo0UV}UztnB<(Hun%P>uhxIzi|%O-cbs&m>}VQ7lsbZKEi>(71rh#
zwvn+gq;M8>vk<~p*<V}Zt%Q?%R;x|vYQbd*{qD@L8Ik*5XTK0<A?&ZuiIq97gxZp^
zQxQg7*q(ar_>RXUT=n4Wwk3y|U_}0`JKvXvVaHQpk%<uU8t%^hC8LZ6jp1Y52LdQw
zX%Xcsp^C<qv+W4cOlbAtg|+XXVchZK)`4woxbB~kE~!dEzG_HTaHA0J?Kydjwp#(O
z8@V?7jqpGy_p5w*l7JZ(eh%ELWx%8ObH1~wbbR`CuwzDA0FbdH`PNf)^nSlw`HK|?
z)`=`l`mU1kLYdl@UqTMdtkw{$dP&CS1sVsUYK5?1Ma0SdaSFIz%jm`?69FtP<b}0O
zs^KHoCtfuR_^@f?YWX)e2<ZK6v~`sp58fm>el2-G!~uVW<cCN3AdpU@K6NFaUxUxW
z$`~%JTXOF`&6kAfO>_F<BY1E=AVt31U;KOLGreVeE~MslL`*&-p<v?ljN%6YoJjU9
zp(Ltc>gNkGw{Fm(h5E9t-iU!K3#Q%uwE0k;as1Gs67l+M^2gVsOyK=`nU*+AMI#I&
zp3V@!%c`<`H6K+hPSJV4S&9eTlG|{nm53?h*<^ze7HHfbp;--6@TXh+Pu2wvcv-bI
z-?1bkC#AV+{FVS1-41ucCsj~OkE?h{S3}HiVLE>p@@Vtx#W&{?F1$<~`jI3cVcq9-
znFeG{2tHO<b@e}K>|b;zWHpx!>1|#AEh(j-3){G+po<G<)a9y7$BFn@p)qMtkq<k{
zX8YJy5zxsu=)KDuHZ&iK{;5x(AgJcKFA~o$IkfKi*~b+0yJ&I#Yz_|$h5epKOo%99
zLfh~qnhz4oyycIrCm>ElE?ups0scut={BQsNV7A^&p#pr>O0fVI}#MJAa+_aCYc2u
z){tJil8Tcpm1aNp(;@fqs(*Q|44jHfvpS<7e&5<JQ5)mbQR8Bk>786QsL#KUwo8wK
zH;0SOdSdx-VA;z{2OJ4l@ZxmkqPKKdwQ<#zAUOtBx}xl?B|H#W6dVzqBx1|FQP|YR
z2Mt`=b?S>c)>aZ(FYfTb*1CG>B{mTop5T)MeGD+)KwQiJLc{U4_n#_QRQU9U=A(9p
zg(aKgX$xNPp>SjRw^n%q8Xvt={8QYY$KQ&QT<b_U65En%F+hhulLSBOPjtL$mh*)h
z!U3~^p0IQeG7^eX5BdBOz|{0cd&?4K9DSNPeK<e>r#XC%dao+lHh#U#72{)c;TvF>
zsG^Ql!p}vQg;1<<s#<zR0ekf?cPQ^?!0owHZ5b=+n7g;?>FYi&+$}cWCEr5C_3l%#
z^Nj@HdDF(xyi5%VDQAvaRk1+Wev94tlY(@&Z!tV~0odARds8*kFj=+L{hA>Q?%i6@
z_39WEjj0|E5BBrnIj2Ul&6<GG7LgaL>)G&kwBP1SFB$8Zk*7Mo@u7e2$<O^o>e#yf
z(v{0qG*Gt4m2w(pVE6mCXU0!)pf8eb&Y4BVn>lda_5}+*mId_mPEc@Si}eP@#R8ZW
z&QjTVL=AVHYg80?v7tTwWzg~s6!fu5>ON;m2kE0$^&JNpm@Xa1rWVuT!BmESj3fiY
zIraA&pRgc4`#!H`ih>5oYxMV!#P_%3L&S>9M6}jB`p80s4*QR-Se2H~z->1cMU^e2
zLeQq&+coyHaO+#4{;~CJaH1UHZ`~-Ke|jxvT`Lvl=j{~~HZakkG>$QATnPQv$`WBo
z@>tts(HU*YffWV%6&bt8m>Kzk80yZ1v~fMwbvGJHyt(nBUVMI8!BFtpH5BZ%)#@2M
z!-ALRmNr{a#QnZj;)P@#9foP^)D4>HI4j%gN5@$jm^ErfxT-U8Q<=dTsuBkXHrsv(
zFOl&#4Svd}Fu`8B$ijd}!<m7u!1dec(EIMdXoocendiR<9yqeVVkvX*z<Mg`%dXS%
z+&~BK1V6z?2L_rY?g_Sc<igg4nx{KmNtnO!?(v8SI=p1}78lK7V6K#<iOy9P1U!gs
z8=t1&k+eZQUNa4b2N_1c${84aLDxb;JT}x{@kd@fPMMxqnthQ6x>u!~w@MJv*vxdp
z?=mK=c^$?X`%J}q?z<#cN6{hRh{C568Vr1~Iqc!7KWxB(-?T+JWGq@A=WyDN3MyYD
zC$*hfc<RKPS1vOQ&=ijCb2>*u*5A2GAyEYIzuW&n$m8Rr#Vlows}vASY%g8^gN2t4
zNXMM>W<aaRpz);%9gW<dx_68DIU>T0;LRbT!`VlK{$K`dbkzK@RELf?YwoLV*eC!&
z)laqJ5>-4DI?(g_79FB3HM(Yhp<{5ZSsE*p0^d`FKE-@Cj#;yGSdwhWaJ&_lew>1o
zy`4$c9drn4h;XyNO~;bLb6!JfG)Vp$Y8CZ|f%{TVSVnKB!^TS2E3bqMZ1Rkk-tR{R
zH@l5R7qwZqKB$qftceOU>RKbW?lSStes6ipxg^N+Z2XYCnTz?+Pl%)DRPcfhjT@_3
zXl%N2DlL=&UO(%(?G!qi7)z&p+DV4{Jvib`<)GR8GFRIlRH*a)z^+VVVsE{6kINtz
zNKc$3Q!<Gth`P7&iaG<*&(<8452GXh+E}E9Hw(D?vEP+X#ixn$jz4T;K(&7Br{v2t
zREeG#e?($H&bkCy=N)u(^na4^;VTpD6g?uPvZxpl^74~zBOk7>qhxp3tK)c;&Ap^`
zG-%zojajS9M8jPsFBdNp<5@ZUR@VXs)+S$6TkXID|C{sD(&iJf{=dC%=HF((DoR%B
zt~WGnKe8I0ZluFR>Fm`PSqwDY9TI*$oC;ixlMO*LOw^jPciERshJ9gMEj^prc%xct
zi`QWq$o+Ah(H~&oGpA1CmmmhzZ%)48D^15#gH<zZHXj}h7$tYP5OBQDaRZS<fpV>F
zskzQ<9NF0=W93ByDt+$jS!zt24p~b%P(cMY!%TQKhlzg<zw2Whrox{@4~x5Bm?$yk
zG_q5N4wq(~zM;5`fhy#%){ymlP`cpy^bvu8|8(zX|KicWBaeBoV+9j8u75XU97Y6X
z`fS}*Ke%|ccTnq$l@x@Z^sUj;&_wMOHhU@?negnNpQ~I772UiZ9`tz61Swwp7v5<q
z#yQ{Pd#JI2+PldAr4t2{KVDn0LLl~!h0NXvOB%B492He9sIW2I-^ESHLUK}fq|!?=
z$dU##erK}LeCU;5hL8!X5?6GqETUmZ#@?Lm-x=U!F&0?=9}WB8kKbN)l?QG8zjCtf
z5HKfB=G=N)3QSy1IV2#kF}~$H<yi^~?ppeKu6;{E!`-*~XpTe(;UC|cCd0!~m(2J}
zGEC^Px~qM0H4WDZ-g=%ep+Wrg4a4OeCTjS6AG{^cgoEYvs*hHP_kTKI_v!`_s-@QC
znq1<dzP-<_w>&z8pW1#O=QFUcKrnebh62M4+XDRGu~6ls%hH?W3@C3<&YO&-VN>Am
zgm*LsydL!l@H3>N<eps9<KuKN=C#=At)-*)9235@xF1b)lf#$!(Xqfns%39816Ugb
z?rwoJY;4SmO}tKm?qv0k@6$QB<V#TTzz_v&YQNeJiTOrhG1sNGm<%c|l1)iR*oe6d
z@`io_++8*H{?IxerW-n#{i-8?+?Cod{{B2Xn16qqOr?R^xpO_`+Du#&I(wshG!2+<
zqTf1~GQ|1U|98(<D%_tgo*Z@-<M++3;5ox2ppLF=)LzNKLJNN11)(CyIPI>Vb`oOw
z?{D@cE0}QDZKp}%02Oziu8m1kWk8nmkseJgI*u(lk*e!JgWT66%cZ*+xOw}82Lw~#
z*pli1Ph_Fnk?ms>iUfG*@OlMZlP}ieLamkO#e8N*p)EW{$7S6zHk;F_u&dcW^7v^c
zHY^K#@cT0Xe9h}ATUYQ<rkN{OR7(f(-mYvHI&NNm>tyF664<Ri`+3a{4(fSK(Th5i
zVgIHV&pNXN7?XYbbIoiXlxyod>xun(P<>P4E@>ugSe4*9#-X9<e8&i?1RXlsZl&Gl
zF>t=M-k{-6HK4f{Ri3)cN79v9kpV4gki<C+9yj^8flwb8Gfsqn*48B<np_<I8-LzN
z?5~`^y9F}!X?WA=(<UQ69olpqBEl!=_|WS>Q}t64e4E2^Hg@CSzNc-|^gI&C`#LJv
zhHy~x_t{9p3K}S`v>AwB!NAy2wbw~~EYKM*NIaxN!P?-#6m=~{coy_2V!oviOBIWK
zCZxz<Rm!vzDRQvX<eYblfC%i$&=-3BT)dchF5dhV4L;BMc!|H9fz~&V48Llm!d;IY
zrC;=!sNFkSa&0LQ2*ZVc9A9#Aa&PCC`+rDafA5g*aRm;Zw)$z@Mx#LD8_#+72E_co
zzuJ5zUK!q|M~%+AD8Ph+Q}OI=R4A-YKQEij#G*y{<!llWo+T}oSvA1LFdr?w6Y^A$
zT5tM+GseWF47>U7PBKA3P>`tQPet|DC8lRDF`y;<M@i;-8rJTLNZ3?Ig?Klj9$k}(
zhfm+$Rr8Dm3brlDokkR7S{;jc#Gpc?3E$bQg^69vox0I)RbbJw^R^3Z1!y68N@@BI
z5uTg9`M!M#7k%_urow4uXuVdnwS2EY%$L89>RS;ZrzrDb!F4X)|K_1`AC$rSPF6!p
zo&b%v-jB=}CBuS;=jYv=VBy)ONu{1gWbiu@L`$2`#;U__=#K}~;J}W@>F<O2h^YY+
zjx-uH{7$`{{EmTqh0T_Zenbe{NC_{A<l>yOi)tTaGr(Y8<L<cSG@NVx^vd2MGQ8MJ
zE*UUn<CY`mC~I<9Fp|yaw-V?1bM;<bg7pmOu-UjY;~)+54OrVUd1}Bv=*Br!&c}KG
zqCJ0Km4mg_4`(fZCdAj5^Iu$yR)?=GZ|Xg$d`!9;mGbo>1+uel2lyMYP$&41p87l@
zXz$pV?3KsG%_rPz)*Rx(=fI7I;6TI@eY+{iS~l2*c{deJk+8NuqQ1hB0grne)=5Os
zP)ndZw(hJl_(#PgT!<DRCHq74h2^sFZ_0w=LDImX%cF`8+bN*b^~2_a2Mc><@00Eh
zRs$@lv=F86ah;8tQuUB3oQPg=)2o7ynR;12ZgJ#6czX});29xau`dtoZ6<?aO4Q55
zFD#7zp051-mkJDCTG!+#5Fl6W`OW#8Xkf~ar22R=&{ecDb`G5avCTsbyDzaYe3OLd
zelsfEGJQujh-PB;y?uOz4t3c5s9eJ2B@bu1-^L_=q`+L`jE4)`nV6f!sIu*#fVrv-
zCBB-8nLQPD!SM>9p!II=ds881lnFF$GU-6bx>z_njgIm?H&%UeAi<-wy-)voa&YxO
zl5xdBGPr4EpQC8AvBxuHdwVb$cKrNyQ)(d_-8{Ug+a=XOW8>~EbHsdBQPcGMYn=ix
zf=_k*Vhd3ts&tM&jRkVY{KrC*D5$m0ym;h>D(snKaqZJ<J_adXx~>sQ1RD-PbYnIb
zi_1M7W*e$QRaT^_i6kEr_4a<3|44-%y)_*VUx@WQ=x5;m9|YLxcB0elG8YqW<r}oE
zBtxx4DfhiS8%>j}*{4}#c$=;LM1C(DH&<9nwFxLdc5&>w9n8Xu{d>-<-ByDwh3q+d
zO!;W-HPlm6APuVfyFb824V<>MON?1gf{c-b8%@hOm^1f?l18jD7@a*|c*aNEPwu8R
zm+C2yf1L9?<rWi3JKj8oX;~O3yfYl}T!;p9emL29Q=m9yN6rHt3m<>`#?xF#1BrjP
z$z@`GYg<cyWPel@`hWGE<rVXBEMCaGc}ErOSYH=>$l>F|K+3tCeQI!Fhsuft7JOVu
zJuxl4n*tA-?00%gvCwl_-P-v{YQW>W=ibm4*ZX&k)KIo69OQb>FU;ekMR9&%l8pj1
zIo51Ft0P320v_SKy8?*h&cX|U5br%OLDdmCI5qWNog67d$CsB^>{~#BD2b~k%Elag
z_xP9q9}*#5ZrA2Bw>U_8M%g)Ns0xd_-hVKC$4Bj!t509NR)C!&B6ih30q(!j7Fr)o
zfn5tIi+*=8(ZcD5o{0ki_T?Np6F}ynUTIR|aTW;}9~HY=mvYc6ICmtrgdonV;g^ap
za`A{wL4M<L2}u0(z(iR=6W6&BFUuUDLfGPns@Dw+biVn@Yv|mxRpiL?zPTBiXnOp+
z=)?p8zD%7iD)-=G;*xNqzIq}IlC1xkL~wAU`xXh4I91rbt1Ws(Dj%PwpGvqoM1yy&
zBNfw|=(wS+UxRdj2%{s0iB4}h=*{T4V%wz#mvg#J{(a=(!^W(qhd5$Bv*hY+(&gg2
z#+?@q2B?Ey)`24}sXUapws}%fM1sX1_pe<Q%f|f@&-Vxii4eKht72#^2d!5TX12=9
z!p(l@NNyG4@(=50OP4Vqc|lobL=+VTKDuYO1Sr7G(99T=5aO<c{>!UZ5W#PDesRVi
z2fN?iSljWE3i*c`FBb1$;M%U!@3;FXz)y)@Qu&Mk=N<3T844kR;fayM@?~rk5E_Fc
z#r)x4ffv8t68nkkYfMtbeAwx=!Rgr%CayC(mt3AohEmFPef=yJF0cqGdT&jI^-bAt
zYd<s4c;0NS%>}CP^j-7iGpqRc{?YX5jynqQGH7x0OqT%TV+}5e{wc$o+0uXA)dbkB
zM|}9^Cjri^@aWm0!^Qs4?W;UG8K4prRJeZu6=AOWM7Nz9oHy@kIXKG0`0Rv>mbq%6
z8o6O`>=_R~t{^Lt0+b=A`aY4OCqUn+ws}&4Dv-A-`jA62A7}pkDQh*7g=>NF9u|*<
zsG==;(zRI$;scGE<$?tG>EHUvQ<emH8oP>fu$+s%z6}9uCzL^Qg8Lv&Mu62S*#+<J
z6TrdTNG@zO7k8(>_>m^gb1bjwbyisnbQ@OH|6@jgJ?1-2{Kfje$9&o-@0luOy;d0#
zu=pqdH9*S0d*I-aF$qN=hn4P;E)}4?quIt|3M7!cSa;~a5F7ua`90h*UkwtC-aqPU
z<DuQn+;_|xMfmSi*O-000CzvUAP3J05dYXvdHXyr`X+asUu!7#ZxwGBcb0H5eyRJ(
z&6i}r+3~>0i+4hN-YWHL!d@Bn39rO<i22_&?cY|vb;>Yw>o6&SD?kZ_k{YKiN+3;o
zcU8$lfHJK|d!C*l!iU<B;u%{GE<SltLj8ae^zOSZ)3Qc@4aOQ3AJt`GEbDHiU!M>s
zI|Fs9M%6)n!l0|NgNp{+X;*gy$iV%+VnS545O1}Yj2rG!gCEb<#-wEPP`4$X^TU?}
zX0ma;`P<p3HR9T_W41D69t*6y&Jkb+Tjx>UY%zWwjQ{$S!@yO~=2;THr~}-4bv>w&
zi`g0ackTrcfwbb-)4Q8E$hmjudPkia+;oY3(e1%Qqn(=?Y!1l+`g!VC9}wc)I>Aha
zt~Aj8o{$KoYM|OZp8nNsL?}o<pt@V^7k`9C9Z5`573=S?Igar#t#d3VOp^$quX?ZS
zJ;gyCpO<+LjH$4&Z1DTpSO&^OY#(n}N`RPai}!SdaIt#YwEwdq2`(2VwV6e;ks|fv
zT5hch=$LR_<}Bmm(9gc3xnqjZdCk!G)p`L+uKnoJDoq3xs!YDuWez5no|)XVkp_A8
zU3(YX(ecctlFDG73Ve|Ckts{#V|&(1zJ0qCguc}na$#s-p|-&o#Z(ENNvb|kTPncO
z$?KY%FH6Fixywyw`D)<Z=qqli-UOgzE111C;o^m{;=GynYT)Jn@?+tA9`0(gi`eyB
z5vX~Gm*?6GFp>N*T7OarPQ+pQSw#VAeO0k5JWm1TBMaY+4U7Fj$I}Ofe6e11Z5eQh
z<e_Bj<tUmMFBu13cVx~L;F8CyN0i)E!Lnh}I<AR_i7%AjZxQFGx_}9Tos~>{c)WIc
zc?}WzFBDgNyun5QmBXLsP#`>9`$Vi069<+JIvjtf2-Qx9E{}-u^|f9!Yk3U~HYdyx
zT)RTUNq^>}<6=MjQmr%ef|^*L`_D{ye2|B~&ZG97F9lfn+vizih%`{O{0R|aKK%0E
zyM5_V3h?*y+jGQB0d9EsdQN1&GJLBsXdMdU<FZYsOLoks!0Y3s#lOv%xa&wL*ZT_*
zn)AyxSc>^prjD~(ae+E~Jau{V$5&i@vn6SOJgE#77f)))dGnES`p+JzZW26A&sn@I
zoP{lq3xCnYe!;(bW9wEw4m!V$+N<p(o}c=$gn2`Z51shP=wIr<dpGly=gvjbzflDV
zSwzrkOfNiK%to6R5615j#QK}+n0~~9i7^$gUtV}ggx<q032zhF*emtbbCW<F=Co|}
z+V+r(a&os$#r>xS7yTQLO%r%XG7IJpR*U)BZ%<Z8GY@xsHf)#|sR)CO9!h^efa$B3
zP8n9IL(%!*4u&filXra7G7cdCPx?}}Mg<3X+44tCPEsJ{@b0tAt}t*|r+V#z3q&|<
z-0<2vosB<U#xJ|Jj0h~(U^}9ipYjUR3Keuo@b1Bf_V;pPeexe@Z!%PbI~E64OWO&s
z!kHU*%3U26G-Yji8O6n?k(vLv2_(4M`R$^j*k9_!Xe>1HCqlWE+kVv&HU?&DkGF4<
z2d5z@2zw+z_3k<D!Uu{FUGr(nkeIJdMidybgvxMdjn|*=NBEc~rR1a~l!3@)%+!Ae
zg?Of=Il+@J3*cyW=J!$|=3Bdk%q(U=Y~6>_yB{fdixx>rS5km!)qVqWF@G-4OS+@F
zQ4UUwU!R*hEI^+?+SRrQ0$dC;bNzjkgWu}sbUo=;g=|LZ#yE8zF0b^@{8cRjLT$r&
z#jAw4Adq*?=mQaICy#fR=(EvIGmFX&R)TfP=UTqL<m2S_Ra@esRG?Uw&o_O-!`XS?
z9JLduK$P?hsohCO$GaM{p6RNBAImj|?!`l?xP>wS+mv9Q!tq<yWqkY$xpT<xRX{f$
zdD|0t=r-OMF;Yl?Nx}<jNh=N-^k3NKew7Tla{1k9z{Fnr&8%_;5f;%N+Hfk_7+GO2
zvkRmlHezR~(<LFkvTc~D<`H1?@nu{|5eMTtFB$}85W)HPtu&A2Z1kF`^AXKf0`32v
zTDCmrV|BZpWXmc=Xp?#E#HS0e?#>T4gIaZX|7gYCL%ke4;=CoHXj~fR#QO(j2MDn`
z!O!NinjGA=cmFIc)^pC6mj>L$6u7357h`*rf&Eg8-<9eULHN+s^rRS1wr=T8viFo>
z%8p=ozn6!<pO^ewKbr*7W2t7Z)5Uq%Xsgv>aXq8_bfPhyj{)pt-`D5Fdh$7^&{~`)
zmS;)NX1<mJuj@m*yb6R^JBz7e@qq;An$5rL{K7=mfpRA1E5PPcFGDis3(&TBu3ej=
zD!ki6c8J#H;d76K?condkmG+)we}|y)2k2LY;2Q+xdB~9f5iMT-}!9Xil3^Ge&UnM
zh5|0ywk(<ul2u`|v+GkE8V?&ruUAh*5x}u^zH+gEgQ44mOFx>(K~P5Fom7zk^=H+t
z8qkq}7NdIEU1B^^zr^L8ij#*t7oxpEfB@rCq95%M`@!!0nJ<yY#hX#=y}cRYJn+l0
zzv~wh4?c;0swpSd=apZ}56kf}Z(Z@RACKiBiBpqN>>|L}<CouDYm)+sKIKPnvJg#`
zQoap^5g=~cvB#<^9F+c#(>FFt393}yr`Y+6^E6}2H4iIwa7$4qeQM?)^UZ>g%2=_!
z-&F64|HZ=c8@I|Ct|Z{ihsZx%7N%^GJALtzGHlOyG@5vkhg+a@W_<=7dM1Y+TQyKH
zwDo?9E={b5>*em~uM_*-tQt$rMP!I(aut5eV<M;d?$kg$QG8z~+q&CXSkiInkB^x$
zJZT&p+3<pg*nMVOia?x4`cfJt-iiHr!<@ib$^`f)7_e?w&B2d{4}daL5#G2KKhS^6
z$F41bB{MmyurTd~?)Eq?-ZhVe@O4sfBycqKPMQ!u1Ww!LOb}s~Wq_W(3k#pmUc$8w
zov|8Sjq4{}HE^V5t$(bWI{dRRu^-J6=L3`I1=(#1uxR6ZgOhc9oIS8AayeHW(wrW8
z_lolfxov0JrdnC3Yf3#TT_8Y<o;-B@qXNAt8NZFi{)(-%sqDD1GO)Mo?tCitGY5*h
zgEx~@pdnoO*IzNd<jYn+e($9OtG>Bf5B%lfbV_z!)+aK!n@Im`bzoqn&%Wf+N(FeP
zuI;qw86Qd8NV9INB*ML~CO?&0S$Hu19;Ib15$3s^BSwE<VdQ&>aB~Ood6q4CTJ%JK
zx&OV6(flF@$whY$|63<Om+zOl{uvYDQ)y<>+%6XWx+mpAvsD78nYY^>kML0AalYsD
zggRWBcU@^SnS-Z&8qACJ#Q1HG)3a!2qrOkF#_`8QFyxd^Ppn~Kv26Obpdl*!vTXTv
zole6?|3;lxjF3R#WLbqTiHU|uoBBwjilD&v{%$13=hZURYm><;5cNs5bIk)Tmdp=5
zWByhK_AHCL;Q3a7H}0ueT*xKB7N<#FTPHT2D)J2V%Oyj~ic`)CYZy37`M!T;ikMF~
zIV_vEm4&1F^523Csc_$Twh{3W4YNGFHBYQjgVm2~r%Io4@K$X@`Ui17xX#fWeLT#<
zf4gn%(uPS8ptQ;&a+HCMcfOol;Hm(wWgDOWxXs6H^8Z<W+)sqKc`ut5ZDb)$#h`Tk
zQ6el|^=Hsz1q-h-%U+QZh%nrD;?KAP3*V8}iqv1J!@_w32mbbp{aj($*6m_F-n@K?
z#%Wm=nzaxQzZ#@M>$<ROcbloGC!=56zFEwtqf$qSzAQW$?Y3ZAi2$=+7IygGXCqhI
zvr2lJ1eZt|@%17GZhEk;;Ii27d`|aV8Y%Yol9cCf&J&0*$8vurKaYj``<l<3U!VjH
zujY7vO6OsIb=sPF3UW{)*mm=|xc>=nG<|LNQ=r8C*q>+f>9|^9$oHBv8SE*Eo8GNs
z;C}C$72EvO;d}7E7lk8i-1qTM#R&^VaK}$~{z~vsCMh8QRJa0I?_ImlXA2+Sb*1Hp
zn3Lew&L!=+o=p6ww=r_|4>Bab=u%#tOULyi3#CoX6d+V!l=5^pABXR49X=YQ3Wxh0
zHNqM=IObpey5*J}oax-B)xZ$v_1C53=gCyi9XN5v^bZv`Ox-!;rKb+&zmDZ<4Y0At
zK}KQJTM1-O=O!#%&BHvaD}QSbQQ%Jb=7kF;XsCI$eeYGe3hYqIoO5hD7h_xUyn7TV
z@MCkrlbS#}<`;jyaqqk;w4+3VaSjJ7FRnNJy;J<W`(Xcne`xqm#>r-Jn>bJWT=FJ8
zl8ZVkliwY^Dg~#%ek=H-AVit_2Igr@0_ZF>b$hmgjSIdw`ZU<dfsW`5ccVCe3@a?_
zGdGff{eS%C`(F~^n}P+7=kKY*=SQi8!2N9WKBnGTwVn)dXMWn;o1&xp%{#9zyq1C5
ziFKRG_K5vNlqlG-l?Ga&TW38Bp`b=sKkKe60s3?!qAxFH<5XLqN8JM{*m*nY@%k|V
zuIwA9t~;OxAE~anh7ugy)hhk&@NQXf3E4k1Aog#*=|$r?Vm;bgv8yA=l7oGMtlw82
zsQ}-lKiZ~=gRk@U>{p(l1B<p!>#Y$PBlDfcd)|;CCZx!1);2mmduP7I$L^n%TV8J6
z-XbCP4h|K|4l4nDr`x9Jo8o*hdF|eUTqStCF`aX^nu}*{GxDRXRY7_m`@b9e#p`?b
zrmW~7z_}fQsRnZv>K?kvtzM-Bx5$fD_KtAzamo8cuay*7aLrd&SV2R3>R-CepcHI1
zeR{z5odC_UV^8;bsKc@6SMqv2*+}o4yJ4PCoR>bVh-vF)plzSy>3S*|){fNO^Bkfh
zV?^)a^kEgatM1k1`GkYk?Xmqo5{VGf5%}T6ZYJK|Nh`NmN&-+A`sq{5z+IHl_01YY
zNV&FpaIBh%yBGd+*l|J*SpApgJ-NomM(UZONmnA|VBBI>1{0TVEz--X5c|<pgt{y)
z1EcTS%-?QHf-4^8dwR|@u#_|yvae1N-hJD7^6oenyFJyK%0sEZ{I~VOvj8d{zJA_Z
zZdwIAB37s7Y~bKm!DW&6G6rbnueiM7BnjK>bfYWC>foeR?lWS`#_nQj>W^Du|CQC;
zI>BM#mJWJn)dM=*k2zYaPbTBr&4$+oy~xmgYSkw#@qJkoym!&xPlsmTq9Z?-lTj<V
zCy{@K1X?<`O~~2|JaM7=N}U=R9+}HU1{KnATO4H~OpNE7^4jE<vn+i3qoG$fmH?ga
zzMV8QWZ?qoaTys|8Z<=g+~Ji^!RHY>`@TF=fsOI|en+h2p!`gT?kZDxFgd!d{hbmY
z`?#bv7e1(h@(0az1&`TS85OW?$$%<cpDbu-zsAPG(&6xJ*C}A@@$wpTh>8?h)1t{n
z0w_$39Xnjc#5u=}2}3jr^fe!^OpB!9+P)*z={+i-*K5u;W^piNcurw5D#H9ND>s>n
z{naLwk>e`X1n_+q;u^4wg@-=>$(C!Sf^Tf1Ou$tNR_bzZ%qdrcpRJ3MoSAG~o6<6?
zD2oCsBi*9!bx_eyLn`FsYYLS9dwl4?O)3^D=Jje>(V+Utt2PZI3Tpa|<sWk;Ktz(w
zo+3I6*PYtkYxs!(3soOcekU{W%&Nl?ZH*+jky6sT<R~4l9Y3`+vs@K^SKYc^D(-iS
z2O({;`DFN_<J&cSpN2Cu{dS8kB3PXiHs^*j@cOnM|4SKUh)P$iob{B3%f5Bls)^5c
zcBpDJ_aPOZ%Lb=z5$FF{Bd@6coViHaGhg9oloIHAC$275;-Z&v!iT%tNU(kV(la+c
z(Zzn%HqP>_3LMo6S$6pc8}09=U0){7mrT3ihz>g@N?oOX&o@(p&N+u0Zm`*SW@U>_
zo1z?i_HJtVuE$5E?o;L(OXZ*}&xtx$osY+U6~%gr@sMHGyJJxi6aDQ2a}~CT_mi|q
z{qGGOugA{&y4_!#Cqj_eRzkzjQ=&(nJu=YhG~_o@#7CX6jJlv;GQ>8UElapg!-4eM
zxAj(#AZzDKQRW9aw&m>P7R8caoz^>}p_6pn7ZCHtTZ#blFXs=-s<3dSqS`ZE7cyL|
z*6vg<rs0V@zqS}SDZqT!-Y+}axfngSf@^(&0?zII!^eE6c>O{u?dWzYR8*eZt(Hc?
z<*sAq6Q2o?_qWm|h{42+pRYYjVrg)q>Tc<--DF%XOy4`}jw&SUri^$p*y!fhl%OB2
z46Ty>|9E;F%--+1wy=~6YNh<+ALdeUM?xd%${#8eF6j)(=q2Mkf4OHL#lJVdbk>0=
z<ls=RyYY*71^7HM^~^nsi!OcZ4U@i%TLrF+$+cJ4z<sHen=^IDuqMxC_^h}deMLuU
zE95A!;?BW+SIfoyP#eXZ*e>=1me-ct+RVVcQ>S|<Ml|^D_~Plx(`3w6Jy6wdt_uF~
zJJa&C*r>h-f;vwT0NeZgdS)}R|Le)Ny-x|?U}4%M^@o8HJx5<DDpKIT6Jj@eU5xJ^
zGG>eGi15VAr}|Pm9rLtSb7#BCLz~9y!C#U*?5%kpuArg{)eq(^GS*;Y!ZPa(H%rNo
zQ<<G*@{NiUkGdDn*ptC?wNKeG7aDF~MBVz9N`fx?=bAeb=vcMLd{%L$6wr!IpT%km
zaLc8oJ}L`HuxvN0a?d6@j-UD7_wtPrByR9%TsDV;HR}^v_EnQ$gMT-5?PD5Ve-k+R
zFp~<q8H?xK9U|k!#Or^C4idpyV*Lm93?0qws*k(wBZJBId%K)vX!uvZTt~5q2$g1=
zGZ$Z?W8gE|;Fb$aP<T}^d!|qw2SYbDyEjna=a0Rkf-DN==!gB*S0KZmm_UA)Hw|5U
z+**U0$WX(&Pg;D8idDY-cYEupa6Kd>!!?zRU$%c;Run>m$2Q-3bcRVdyxw!*kr4sT
zmPuVJ(qW>+te3m$PpO0TpvfDh6eeC;ePr8Xv7YE^`5&vC&%k@%UhQltCWGHWooKUk
zDh@7oewMq81ok%`U7wZ~pO>mY8Ly|ngXU#hOoAwA^}Us6mqvy3<hstl>tr139q_fO
zqQKUxb~nejQ}Cqe3pGhuIuOTL=bssnkXqC`CpU};S1;nlD`j+C<9yum!UZ*muyb6y
zznzI|9Kvezyyzg^U|gPGPQ;VevuyXLQeesHJF?E16zot>JoLCx9cC%-c(&7+iO&TF
zum6TJp)PP}EZb2X|Mlnnt)5bVV}-%89cMUr^~v{9J9Q#ZOjSJhNincRv-EtY0t;@h
zw3fK9poR%c*VmbMD#QH*V<nonpT^tvJ-VyS1x-(?{&1;0wof1FJMo<gM<Sn<tE!RF
zW@KCT=qn<;omw3$G^OMBAg_#NpXqRN&*xB}5%I9oqm`G-WI<waTC)b3hX*&#yIjzu
z2I@;@UsH=?qSM#JXId{v;7*xmc3qo>9YJlrZnY!`zBqWche$((NVO{_yJ>J=?`Lo5
zb`oy&mX^HdFXkVAk4v7RG_02RB^7jm4n|?!3zf}?cxKD0)Jy(!fMt4BO9F^^Y~1$w
zBZ0UcZw8|%9_kpPG!Qv&IS2Y#A>Ka~6jAc(*>~F36yOveBX-46u-CZLPgau)yL);z
zzcQ1@<m(PSA=(u1f9E>vmQF#X;?_@V{TUF?HZ`wXO~AW<jfZQmGU13{d%p)&4IlX&
z(LHsU0b%#5R8}YwkUD7Js!pT=o$*CqGn0(Onpy3-SIF?~>P)it3<a+mCBKiVAwa*?
z<7nUabZlyS+QqG<0*C&hhE`5O1&Q}XgV#vFnWj!=i}g01Sd$!nj0KB+&f&h2QNa(%
zHvc~EBZ>Xr8>$PLhDV0ZGW@e>@XK*gjQTJUTh>R565p!B=zU2m$qQn=in%uD$21*0
zQ+1?xaRjjvyPhaKst(g<>n7vxGSDttDX~xNU-x_1x;{Qb#55Z=Rq{Ot5}RG$*VxFT
zjY>t)HYEn^7&tZlb_)Rw7Zr5y<}+ap_0y+<P&Hg|c%jgtgbnlgQO_FID5C$EH|fDs
zCaj#)a7wUH#btC}$aDb->K9EaEf(vwnY&APS1toWP$f-gt2*{&e4O)ihz^D7LtbOz
z^(BQ9gw_xi$o#sNp?zN&Uu)>))_kKv#8^4e&69+3loQe^;Y4_rV5(OCR_y-^zXwdE
zGGO6o5`B@UI?gy9Nn3cD42wILzCWEy!CLY!t@j(*aCHaG&F{J*?kfmdn{LR0xBD9g
z%qNtwB{6uxvls##N!XT}TR_J}$>v9Y_i|x)L-0=HJu*mIa&r6Qvup_SSo%s`P7x2L
z<sBWbWq`Nf^M&D~Y8V?@T`g_LfU1r(>p5rC(I;d6N*faj93oL{{<e~_da2*vR0kG3
z_jmAqazGiwas;W~@<gbg)$~^H9}S-_4^RxJGocNajKzLb#k7%{psydOU{Cjd`)eLa
z>}PV+%@;7ipVaa^{*WpjTU~8xRmlROM&S4pM<t|q)UD>PBEf|yhuPd*Dq>^zCT+3*
ztNFdV$K)#!6@O)x-PU1)A6nl|i4vcGYlSxL932d2LRLmCBjA!#7v6C;Q{l0vmBg|A
zB>Zb$F>@|}2ZVF?wmCFOVO}9|!--TfEcqMxeC2WqHY#O#4kpv!&hwdDl1qu$<abom
zF3$y9ot?=mVr22$MCGH+83efS!0zq+xpbUL{8qCjhzqB2>3@Y6WiX3we*2L%6Xb<&
z%EtOta8JR75$7^CoK6ke+&UnSW?juv{UinqJ}mNiwLl&J9NChbd4LSTN~>OrW>awA
zPTvRYt#p`(`LArb`21!%m+l*k@qq5$`YzZ_5(j+(#ri;i@kaSziRUzY)ac@qJuT*E
zm%QvIF}`<e|Ilw3CV_g)ZG}rY6nt~z?N-G<Jc#*br{6A+#PieJQk;<rk7iHY*M3dJ
zu<r-b(oWGJ8ipgk4iPZn_*u;zzN&C~x^9hS1p~)D^YPjqGMql(7*Q@M=8Ji!D^Bzh
zA;zh#syT^@zY4C{OIfqv@mQt*b2lZF4SxJZcOetX-|*G^yjAe(y*suB-Qqk_JCQDk
zp`bzL&oe&mTsY;jYwrtX8T6JsST<wI22GiZbHZ#D@Q2@*J*UO>I#IFx`JDOk7@nlc
zE3u)&dQ$icFERfJObvz>w6K8@iHesy<WOXvL;kEmfXsN_9;yZ%XVz@GtR~KjYkW-)
z*6t&toQ%u{=cg<nn8>t$pH#pEP3g}`Eez0aGS+k{R>6cI(KEjx0)(>YUM9<ExPDP|
z{r4Omq@E3w<dG$D>ySk{HG>PAta>Le2&D0xqHnT7EL+?kZ6{-_<?)*L_ojj>@i={D
z{7kkST2`KAyPW64^X~^t>w5l*^qxuT{;e1L(Q8t){>5aJy*sX0S;d0TvR$knQ3^OT
ztA1?oFdeA#*UE1Dr-mH|GLFV>V1Q-+jZ5DhRdINFXDuy=4~J_kJ`cc*$l+LeH~T&r
zG<z;Ks)+Mc)kt@F><AH(*XRaCOH<M0VO(s<6+ZZS(Q7vg{)!SB{pWPb(SgR>%Rl@=
z9ak<*o)zuJ2RAjpurA{n5kaFeq;DAqs?~qJe`q3$Cr;@n8EbLjtc+=eC_ozRq*boo
zt)WAzQbpwk88sX~?Xa6X!3O=7_Hg}MviP&>Y>UBdE|gnRXAT=l;l*jWFJ~mUaE`fY
z^~%H27<lD(-clPby#3N-8vj!YRj!Dfeus+d!|pAxWd9ZIuCBg+#hwW=!)4^EIwe%v
zv%dJ69}9f@I&;>XRKWYM-M1(#;DYfP*8#O&Dg0=5AyYz~2{*}!I_KvqWA1_<l}8Q9
zaMyZd(Z3)v@{Nw)J@P^bn@;PgV^*(7?Y1i2$V3C;8+S@dZtE0TY>#uRS<i(h54<Xx
zLZooLP*-8{2^G$TQ?5l<5peesb=rxQOtAC2t8EscgtmF3s|_XiK)A)(E}9Y7GfLAb
z?HmIV_ozIPDOJYugg+-%{N@08al*Qp2`M~h**Wm6jSZALy3Yf3WU*@bi|qTSs4%rE
zrQ&-70e3BBoi^L90S2;LAI~3d5+yILPcA2Mp+cm)I3!yNZv?JgVIjV6?ms{Mk_Uf8
z(I#iU-cRCzK))e+zurHQ^OD4i#SuJ!m<7QUkAI@q%rKwlQfyFppEg@`Tn@)wHvb7&
z%>`PKbL`_0N&Hj&=}Yzu6%HrUgpNxIXgz<=9j9aB{NP8>G`~(jrd7V~vj`Sk)E3A#
zgv;ZR?GHP*Ug81imix)PB{L#&eK*tVHwzj$R_93Ga;X2t;LN}#0qnjs8FT;oFVUbc
zzv!uy25dGS2IZR1qO81c?7<IQIB+I^e&%TjEWEn)_Pi-AsLr2z&S`qs3IvA}e!2@F
zlfE`(a?dYO!wwAoK0*i5`I;1hi3*15uHPan_BX!#z0cL&Dxwy>YDD%n3p8wU-Wptx
z!%|(#HLu!v;2LBRlNT~A`hE85%+xIb@Pn3Hah!gL#{V4teW8&FyV}U1Zh8vX_U`wD
zWfc$B3_d!uamTdi@)T!wh?@YK+Oo&x+Qvj2)ugL6okI9DxVnCB!)H-;m1AM_HV!-u
zuPgrABZY>H#e}c#gkX7^;}G<|Q*`iC!1s}Ld^mlgB6(KtZ&BO>r-HX}OxUEmCEV|*
z0(!o4w2ObH1y6~$OPwW#t?o_jx~&^7gr0%}#e0%^M25|3ivG_TAZq&3HETc-6{kwq
z#u|w0wZTvOhqNRv7<^n1)6E6XV}i>~+<&6NrF#$eHL;;5GA35(yfprBo)cd7nh7VC
zzs_1$ERUDzTc%p}@?a+5>@3x^X;C=+Cg%`?4bMvZHs?&sU}KeWN17TR{=F*huTz>5
zO*56OIW-y};g;(}i^;H>30R~ya*_gNqSOeBF#`Um8E|R062Nep^JJX#nCR|*+nn8l
z*kGZ0abhc5yxy<>dOxq>LciTktvRbDFk@58$)yHDSaPl0VKlN=<e_pjZ%W+XmLtn#
zm$pxcT3+w`uwF+4mOuEp$t<=;B<aqG&UVm*wy^?*J8^YZCr&-8l>MLo%T%iUks*tM
z{}y;u%5fnl`;dozwgk@JGtX<9E`Wz;Mx%@(#zgyr_x3%x#RQRJN$y8Oc{EsKJ!xsk
zfooj<RYx_YuyMO>tl2RE=rlg$RU8@>t*Op8?m5qct2JMU|NS>5+F(S8JZ33`ouh8m
zBiFh`H~-S#_m_(CeJaMB+#!Rrk21`aTDh=>VOpV}|5rp08R#;h3Sn}wMC98C-$YUt
zhh6Q(>l-cn{E{^>BC?t1H5Po72^+elRz4=kV`$aos^%YDaB6o=Q{OW!YWtp%y}^zT
zx^m$?Yh)%w=O?O`=Wo@3YHhV3i;cHM`^POly9>1-+R;K}!tJ**y?XJ#IEDZHANc0B
zJnL_wE$jCDSapjFeF2nI7vf)0NX!C_l5PRqlPOGiMD7z6SnbJ8$l*in+V;)|tY0D>
zC4V99x(3{?%Kuxuqs*%H<>IfA!vbjEkbG#_%r_A|d+CzW6eb*XxO*)*Lk_Pf<lKJx
zL=!I0WE}fo*lqRk)75~JmxUntB2kfG+a$V`qL*~wpa51JrEKNO4U5=T`Ma;#3qb$H
zb^5EqQPF>`S+cA8*zgi1mVVBW#4D=KlE3YRaQM<=Y3;GkqN--|nDj&qSiA4;(fSJy
ztw=fMwOdaMK`(XswwY9uNIAB<WU){Pwi#4AJ=rg!)AU~ly_f>%duwj)Q21T6rRkH*
zu@NEoRdL>PRNshp&)M+2N=*RiQ;Md()!#))jP?V&#{|HbA5}9%?-uEZzD}n^b3r=M
z|GKuuv}hdej`c7!VY@<m?R`e8)s1GS$DP4^P$`?<ZKO9Q3e-}V{kE3_yOrsWmgvuj
zrd*1{<paff*4}#d8);f}?@CkmnHUY&ztwt{R?>5;JgeDJ9t(x=wUo5;kxhqa^~Zp(
z&ObHb8^8Qiro*7s+~9>a5Tpg^?S<=#RDM|5pKoaYC?kZX6#DN#%PtWsYo*0~4*}>|
z?g-lbY*2LNu5(gtsQ~6WtebskOOI&y*tYM<Nn9WV?VaQ{Pl=B0`1|37qYxG?7^wHX
z+AJbZv`jF>__(yVOXW7NQzUYC<0j3~gm$l~-$xgAS|u63eL!bv!|u7~4|M2HT7~*X
z&f|;c|5FJ#IS5Un%!0#{TbF48ew3+5F8FSB@>AQ2!yF;Z5@pj}8`?$FX>tlwWlfND
zKW;E<{%5O9=lJK{nF1&Y`*y*up-0qH^nUa2B?36p^5|fk&7cS>)ywA;YC>)A&_ewi
z{Z=7ZbU?t<fbgtgvxLsuRyNeuP0CZ6@E#ZPSIUlB9S`Byzwp+Eu>2n99`8R^EnB9O
zC8#`zcKa?^y<$Stb;DafLSDQdJt}m;@nMl^@uVCnR1;KwjmnwX_gZn>7n|hF(}CGp
z@%^t9Bw@`ayP2l5nsEMkeQ&DmfYn7dGc!}XzS^3#yOw<aV^v3p`oD^;I}oe?jg~#j
z$jIJ%uh)LhyI;N(rBY;8C`zcPkWyq68Cek#O$mvJj7o`AQc*NjMv_^{@BaS0?tAZj
zo^#G~p7Z&G#r07&G_0{p`t3STPM^ur=1Nw<^u5C3;WK??rs;6C>}FM*istSS85kiS
z9H~z@E31yd?Wf-yS^b+V8Q0m8GouXmr=nwJGB?P<g9*>M^feIZ|Kq=$oy+m>NQy6m
zsRm|I=^3B8Uu5A61LCswDrlgU)c@VvMPBCAz_YDG6&kX^E2HoIAm8|D+9y@5g6e&e
zQ-OJJ$%_A3o;-R*6>2^dfgSM^WEEZyo8bp4U`0AOJwG^1R`gkn&^V`xv)ZJ-7fa*h
z51Dfc=K3laJZAN%w4;ms&2@0yCkvvVoRJyUbPu_|V4s{*oeEBf=S{6O8z$Ge8#O7$
zsG@Lnlh&qZW8_nNCOVxvlwp*zdU%CzIr*(u*nypvYKX02v3!E3$qov$c^1Td{O2=l
z9&n9pe`#;YF$)b;uoqT{usBe}`eR==sD|C=AIec)Es)oq6nvhZsfL%=9h!?O=g9Fs
z4Tog*Ye1%4=79B1PRui1-d>y6fZ@fF&(Dr<gDWz$`%<+UR>d0&D^Jan%~TBb9}iPQ
zbI{E9qUCes5wZQA>=ZSu4U8-G`Z`B;p`Liua99=XN0WHT{6ENLw{I;Y-_(R#ehZ_a
zln)*={j7z}Do|VbnQz&VH)NhM>H6#qswftC<hMb0oGkn$<In&9|2+Nv%ieE-Gh|*d
z1%JA#8m#`3I4aC$$UAxmetxu6$3WGU_4|G=lC!SyB*x~eq08jo11+ru^7?&OduBP5
zQL#zn7>7((a~T|}yNU064w_dQ3Gkz8#3b1&SrbPUlmByx<iqTV9*#kp27Z|bY;g_X
zL`h7qU({ty1fI|MhZX#&y>+NuFH9LNVN0o*9R*~8bzIg%_tnuo_$sC^XF0C6v9@lm
zQ~_2`>T$_`CTp1er}b4*9riXgZd{)h$!mK0eOI!H=jSEexPl9t^E<9c3LaKR<Y)b|
zlA>i8G1M-Uw$=di&bIV`QceWRT=h$zRL9o%;O&D+9Pp-XXsg(-28-}Cn{(a^WM%<1
z(tAQ3!o@#iDES=Nx@E=hGjnR#pm;WBeeNPTsOrL%s!M8^uMpLbr~M&M>0g|wYgI>8
zv3c7eF%C3*-upOgR2|GUt!D&UIk0AL*tr)|YIq;nkQ(}Gk?j8Af%%UwN)UOL8B5;P
z*8DN$@6AF74Kyqdbh+ijh3v()`^WoKVP9AHgwuM4Z1q%sZG*QuE*T!8op`nk$&>G+
zg~e2{yIQYCsbqr88C@gU{7D6RX5_~*%f`r2TwHwa*Hz$YAZ(T0^_BdoWHqNxkQV%;
zlj1q`gmIuh`EtFK8hm{Ik~e;uBUgPn@oDE7b?}wBEL4A64o%|t*RV+w7RFmgZVU25
zL52C`LbL{+zINQAb%Pr!%~gI^h<f<9rX3b%EC=cNDOIMICdRIB#2P1lh)XO<_calE
zysY-fvtIxahXr?Weo=>wfkMM*JSXUhE4xmQsDo@#^?K$kC(<^JaX3q8pwQlre&2%&
z7A>cKPABSM$J!~B$cjV$)-ul@=hYFY;Zw4*lmkZLywN|rbddTkf_?CX81`^(cJUil
zLBW4Jeilqjkbe&!h?daOf<sz8)oVluB-Z?jOUkNfX4Dp#*8U_*mF?9NJ)wnw6M4}(
zQ7aIBK08-iQ4JZT33va!SRmK0@_X0APwbNu_JPkRHRPh4B0RRyf*`BSXlB1KhFfo}
zjlZvnTk31}^<5VPkH)8tb+W2xsIkhFQ<x%uTCDAIxupdcH>C}Hi7W9y{+-7;F@oP=
z(mpZ|H?GwCyyuV6z?roXehV!;xDfxo?DY|KsDx}I(_V96UB9NhP?-)EpPUIvy(13$
zhtmS{)0)t-XrvFc3E|Q2qsfLo>OiO1cvmzB6oazN+0e#RVV=|lZc!X)V#Hm)qlIXN
zj(vYQMDQ?hLTOKf2E3CFjY_TH!>TP5zX2s}2=4uA67fa^bLy1aYQ(&zWoK#_?Gi+8
zM783c0xg8G-zvp6t;FnS#qalo)lqSvGjHnjazy@es;bJ=!~lQzpTXOLxb-S_hr6yO
z{KqGFFDeP3BD;Dt)Ik%P8rp2DivnOIR)++f(Zk~D^12J7Qt-*YvGUMsb?BW@6L_+W
z8`S~s*UIh@?;r3^sJhODM6J`)Qo>ru`j%c;_e~gKv!5$If7OE0=_LcHY7sP~zdiM(
zLlch<Uha<|`2F#F_VBxd8rZWuXM5g5UhLt1rnGaNCMuSgcSX$vv4&s%M6ISKI{HFI
zlCuTy(NV2b(pL)_SxhUhlPhskRIS~lQXS7c>bENOa3N6myic%)E~wL^)z|JzV6v;o
zKT1s-p*F*@;ohQfkgK*-xTb+gi<{41Oz^=@TA3X9QWsyJY%{v{R1$^}jX7Cs)FBq`
zY7lyw6VK&$G*ZGfa5VghRJ<V{;)+wxZGWzg`0hX7qnfzEZaQ>E{EZfL@5UZ^G9`ku
zjvTv5Y%SdQpjeiDWhJ_%BM%hYYhrojo#|_51fdgu?&g)3Ixt?oJyva*1lS2%99=VY
zkePgtq;qr?PVWExdNtv%-@13)oCp*~$<YT3ul#jkIjbsBZ6Jv|-I;RlH)_K$X3FKL
ztQg+k6^VQCS_|P1{+!g-62(R4r?2JPb)i?EPCLVt#PaiwT*u0^KzpF`PVk8cEcOLD
z)D~!i$`oOmw~FCWXwwhFA|03}Q@&3=S%s0K`&HU|bP=>)TKT=X6i&N;Dc3xyi|@YH
z2liG<!h7ouq3~2aOsZ|+etuUPD=Vm>G(vw*Un@!<IVuc|?~dO-7VF}J+@D)(W+Wkd
zVEf4RR&8{9eEnQ)CypC2k1S=JbYaNPHuu;h316=S#nM?V{24OSrc{ffmt7!XeMJjV
zjLKT5ilW=k<(u)6E@;OX2e_X}VSy6vdWlO1h3(k`k3Nc{<4W(*@n_oDlWFUun;?#j
zGtBGCYjyFjU|c8Ugd~EZPQ_a3>!2e;spo*hDsc4W7mpM7yKXj~YRr-Zv$e-Jb&oE*
zcOT<=Gaw0R`#R12h1#IBoLWkPIDG2XweOBL0R6;}@>Xtn?8vt~dCy)4vw0;eKA&2J
zHVf@Z+8%8roprB&GAjn204olKWPQkybj<?HW%1;ftCx+rHpcnJ8WYpRpe!%<w31r~
z0;%KQH(RcP+xzmI$_HAIZdnUjn<x^mx({j-{CFRH&8-?Pj?Ac_f5o44kyy2iW0{~d
zq{B^wI5Kt7->`4(^-w7Yi1?RB=^4O0{;Y9og&eZVboLsZ)5f2=_V1%<;<(Gh@gv~2
z77YJR9Cz*(#naBl#sw1{1V%SmZ-2B3B7NKvpS|^A#CIabSXUPDo0SZw-)bZ0Uw1Rp
zU=?1tuF^AABKY4>fu?#%1XD+>PD|_IpQQZOJyp`+_LmAZU#<(MDs6h*Nl6qZ3BOvm
zR}a0<iuitnuEx<GA^zuGx{$2kem!m=4HxOZAJ`4V_y1|_do3b~GKYs(e+=qlsqo`Y
zt*vs{-M%}J>7|Ej{~6tVwPQ85tumXR`lW~OvN@&}xiVPo(<JHMq>BO1?cgz$M!<_3
z$^BwFFbVt=F7$a7H1gG+Wf&9sNT;-?YD*v_y`ZOLr4F1k;{Vo;t-|G^s5eXQMyR(p
zZnh)N30(1)wjL@rfY*w*%Z?~0psUVl`}2Rq_h(n!u^*PfudkXb>c;dizV4K<WSa~g
zw&Xq1kI_NXJ{bpzaS5zk^>&rYVI7q5sm_W_N?<eFfagAe@57fGyF#`};MCCHS(Q3n
zOn>CqY!@MonHP$dcj63iOJlq5aS;Wu-I~`Fh8iGo_S~s$GxCU4UhvFZ(8k7ruWGwi
zNZ@ADoI?3UU98=kS8#QYH1x~=H1e+0gV2Z>Gnus-mI4P(-W1h^f`9(~rS($KG$~y_
zm7oXh57fpYmJHfDqr{^p^wCx?E!8h8kMtw%<U~O|%(CCLiELdB+ih_g5nM*NZza@!
zuu=(qdF9u~c=f^5Q*Th)CX2(=m+6@u`nb=hN-Ovxhtc&b9(o)w!p||uyWHoMv61^c
zE7{x#nJWXOe=90O&vwlYJzrfc98_QFMDTOojKa_*8{*Sj<pT$16=8FVL&xl)5w>-$
z@f2}U0W;88aJP>UuA5|q$i*uo#{Big^?&s-By?YV%L#dCaL=Cgh|&cIXG+4k1Zl9V
zjBl76GJvygNZXM!3Sgbwye9BJL(s&IQbpy7bEhw3)|N*fP1(y{aMsD<@{v)=72oyY
zBf9p~&~bUZHIjcc%WZ&j8fQjE+vU-c;n;fG+yJ{}F4MQ@D&YOowd}){hL}HBo^P3<
z1S^MVet{8vh&!vubQQ>h_iVD>A0Y#5Jeq0!<A*$+y*i^<&oqL?=f&464=aOlX_;PL
zh!Iq}-oFliqKpqAS{L?`3?cu0>EU{PC49aWsjslw5S~-!H5bH`P$iao%&1Hse=|0?
z)X?SOIwd1EMCebheMrS)Nft{FJU*=7ZG`rSy92WCm2rqdNg0YYg5PSL_}9EDnE#kB
z-^Q;Ga&MVAzpflyF1h?LykmgED#86GS&CSyV%ohT^fR2^tMwv$HFoC9$ZL8Uqxa{{
z&HO#8*s|lh*@uq?Sm4}Ved@0wZvUoo>Yp=2zA62??Hwg-3}ec_^fiR|@jb`Vk0~ML
zsf@(uVFNTpZK-qOQNr!kpGpHK4KN-Z5;?S85hYB?$uLhtB(7UaF+WM%XAXAn7S_jI
zyGixtLvpy|ca_)sralfOn9ePB$)kg^SnsgP2wXZ9ZvH;X@CmLKV6+*-A+D`Rpp`i1
zMqgcXU*8zze(O)&%~OT<=UC0$WkxW&cEVqhu8dHzM>dbgjbKjB4%Syu#jYTwS4ZC)
z!ZI>t=M!CJ?ByMg3$8Q5z3#%v{zerX*Dy0?(@l_hFk%P&jXF%`)2=T&Xao{_oB1vW
z6=bRp3k@e4<IPFUW5YYuaO+`Xl<^HC<b_XPwr)~^O1sXM<)cPOc=T-l84Fb~H<Nic
z@);vWbUbG|LKTmtU+@oJH$qR)tV%<N3PdX}?yN{Qf{orz4dG)d_>sR&Mz_ld;qDjW
zpYW<;rdOlNtHlUe&!2}({!+oF1|7DEy%G3A_pfsMr3?|P3tne)jnOePxqslA8V&^>
zIFvbSgxFls3mLmq;kMX+D?-f#*W0Z+#U86e!S3%lwP|B)=6J<vvRfS%;sJb7-wnVc
znY^GJp#(B_)JxUd#>k^P#8)k<VW#0`UJuCxV;A04K3b-M#L?D`b-9GzGjshMw<;h%
zPAJ2--5Af;l*mUYtD{Z;EkUV9Xil1QWfSM}Wx0+<-%^ZGocisdV1pV0x0Ltos5Zuy
z>fHfd0_wQEqwj0-dSgWE9xohRqlOl<c(>zY#<=`3nU)<-oKpj~=3KmMg0m_wH=Nhg
z#Q0mDjn-u*;4iI|PFvJ~9%uS{r{6}{3oEmjE2?0~*u`ysYz(dF8M7!?brfb?d_N#;
zj5%xB2%|TuP)N=<YW6WkWfjx8^_Uu>T0|!L!i;gt$G7Fq6*ag-%;$KJjIpkB?c)qf
zHDukbkdP$w<STpE;w3S!jaMTw#hs1ubniO<qFrh*G~j1@<`^UN%8px0-0F}m9DP~8
z*#vnp+|fxX8n7)*j0=x7Mwd08W%qy@GPAxGCa*9CPf~1F&!Q@%<XY@;*AxaVFKPsQ
zwbAgeBqcV`6h^xY$35z`pqCi*O7EKqLX`0C<XugW71#Qjxf|o?wP>D@^J++4^?a4Y
z0~1`X{sPXUnm8bs?W2`%gbPuPflK<TXuI1G%js;2-x2ib<SZ>*=^5TSNj$IqwW-0j
zN)2(c2mjsp&jf9$LTy=j8c;ZX(lc_#7>T+ToQprz;WiVS^t9F(G8uB`PwZER#vcpu
zl1nCt{Sa2k>8FW8*D<w7LVum7Yf_UK>KJUF@|1}%hNWr3zRUmApmL+UCHAlh)*ma|
z>ncv<`hv3P{fA8O=nVa>tb`_R*W@JSo-{#FZDSePToayudcJ0a8)L=Pl_z4vxn#Zn
z8aF93V@&HyKbcQgLx1f9f8$6Kr2Gl&6;jZI@7Pn08gCOkc79kjHK~CNuAd(@I*8vZ
z(x2Bit7F)5_Vt5(rkMB=Iq;Uq`4%DfpEa&FMaE8(i<d*SFdg3Z@|B_~&aXA2-#?;-
zJN%vB6TX^Y>q?7eK1nScd|U70HEM!V-o?B;MJ;gsx{}`3Zi>~Y{pR>m8>yTN6F=ol
zp`j~ga4Ja)5+|)7!DoWbM!HnvHVtg<b5EWNFv5`>)v7=(Rap8nM4F}u{%evC4N^3)
zswsZdkLX`XEwNHGToZoNIt^W;rl=F7B=p$mV0@*;GVik{*cN$HU?^J?SsNw){aS5|
zPjih8(?x3dPm|N;MY$>D*ga*%&DvNTTJ<DS#{{3%Waj%HY9QQVDJJctDS8&TSTjl5
zh!-uTswNpDIdlDf{xo&$;>ufM#SwVQnr@&H`k^p#4F;4=!Tm?P&z;Dfzw2HKHMN=I
z?Qic;VIn7qSB_*`{W5`A3q@&uuNMAFEkwUrOXxveoTX=|iK~9mio6|WkPxgdij>zw
z#^Y;kwtglAT4fFW9-4?uT_-Vo+7w?cc8-hP(ME8EOz_$$Q@oh+ANi854YAdSdAF;W
zqfs(elkck@mQ6UjKMyoRcXQC`fk<6&No=+GRb+;XolURAMs=|*%v*AAj0v9p{nE{I
zRTF$4d<>TA&7mN=_(xXL0EQc^CyNOF1;15UZ7R{m{f}M}egBLRUNidp&TS18c5cs#
zeQ1o?@2?DmTr{9l)tYq5-wX%e`v_<x=_2~p<fl`TX3%^Z6|6d~gZ{y|H3h*YIMl?t
zY*VU<@Z91qr$IAJW+->(5xHuu(wtRkp$VezY)EB`Xu&>uSJ}cxLht|G;{H{r1@?>J
zGYu1__@1I@zwfpV)J1!Y3OAa8wb3fuE=3nJCtELUf+^J8wz=K(*Tx#5!k+Vv=D4oB
zhQd0mj}?FH<DAk>P#j-1TTGmzy;QnFj*FRMjl|$Psa1p?c@(^lZ83+-U`(oXg+5Nd
z4b~4|G{G5$K=tBJBIlo6Uk8#ouB@sNDheXbAxxp$Uw@flu60sm_KO~l&Z+F%cEJ?A
zlCK<R9CV;^r%LpLt|{vOD_pkVr48$zDIV`AGibl7Q~SH9OYC8Ohg%2Cpc1sJsOFz8
zR-F<mEsryU!HzF{C6apR8qP_H3^v2nD}Ih^Cv|cE(L_AunmHT?eFDe#8Nj6>|5U4_
zDN0`a+5Xo_8*vKfIXwc+@iEM7&U#uO97*?tA_`66F_;x{XqyfuE~qzfm70R#z3bbR
za2@O@;TC!sZI1T=n!CJo3BJ`RFMs?oMT6<dyb@hqI3}rWb$2tz(|GM=$A|SXJ*Ta(
zLcknF#ecIoT=daVP(qirvA~9JrL~5)43WLXD0pv#8OjuQWc<+6113GJol-2I^uD6W
z)5r)bSDMcAH<%NaeQe30#Q<MUJx}9JGsjm|i`gwiP7fYT=%lSO1Ap++w{M4ub8L`-
zz9rGG-H-gqZ#NC#IC|!Ljhz|ptiBNNr(YK>2YFQ9pEg6XY~AVLBYIf8^X8#27YX+Y
zn=b9SWrR7B>i4!&rZ|-@*}46M4pxQP<sMTv#~}r})Uw<9ShVX-=&ChEZnAUnwLu-+
z@(-ojo+Tm5%&g^wt1+IWojcG!Wr3%B?TIm!Mo8;S+b5!D2_;r~<o)l)DEvY3GrM5{
z-rkJbg-|0*Zn5Z;9We#RVsZBS^}3jQQ%2`nGRM5#@``5(hFCLYsWqcO@V_&g+4oo%
z^^u}8Vg2TiGcJpmf+1X`Vs?{@%)$Bj(d}z53?TBdEVIOtz&~q)_*p>%RNi~o!zE;a
zdCv~FSOV|OSzenq-myTyE3W+)Qj9R17CC<Rmjw<dmRwhOK;$H|nyq@Z<~S8|lWZ?x
zh&f8!9m$vGFg|45VC6yN@cPfvbGt0Ck~?5NjbVf{NA7;IePxE%Q<Qss0s7dvT=&<O
zIt#e*d<l}zGJ?eCxUM*R3wXXrk=v|bgubkEiApgf+<&r1M3~40t^Fk_0>$QV3kle;
zT7by8kss(<t`>OUd1(_!MmXT|n&h{R1hbqc=hCc=@#_3)W?{Gm!Y|+4`f;lfuGYS5
zrZ`z3Y$#*ooTU-sZ`v-`PP9Plmg8p&_8Wm#7EOAv)*PvBCFW&E3~=7#A!WkU0=2S*
zPt!GwpjUKlXWwHIisug>OK&lThryO<TO|UI*t{80DT1F$xwGRMmJry)7#dJCL3WPu
zOcBEpv%l&;l!Nd=4PlJlwm@5Eu(2?qABmB9t+qfCzII$ZycA%JV_6Rd_vKsQ7|rHq
zR{_zF2!Di~GYLOO>&q)$jFJC+R=B~8gh5x&W){)ksZEv>*UPN%v7+;k`!!RD@3oSs
zzG8_^f!%K-YfZ4fqC8Ag*#d9A&OZO8X9WA#86PA#EOAa@pN)hFu?J1^I^rZq2px!z
zC{!nM`gi+s<uprtbh|9zSz>|>-rdR5^(2IUGv;vaHpbv%4U4^o7SMjNApe!%^KN9O
zRB-_b30v3nSP(hnuBCQlNgN5T?i8<01;(%;U$l!zCE@d2#trsmV=z0XhowzPaEme|
z3$HVV^@A(RGdf9_@49@coY4EE!BN}HaT2b4ZA|GT>U-ZIzrZVOg)ixXE?y?4(AMRj
z@|-n8QV-Shl8ph@4t`nn=04#UJrwPcVMBB`FsWU4NQnKl`cuM)G42-*nS)`089$o4
zLbwr(OAlWN+Gqvcbze(&o-l>;Q^#xN#JqXmHy?ZKMVu>UdHsrcEFqZj&Gwr$k=u4P
z@a^TZ#B(8mcZ2pOP`A!iyZ4X;XZ!ATuFFk8(!Bxs<3zoa6pd%i#u$scnB_iZfrTAH
z=_cC72&ANMkfB+^qm<gQ`ltz{4jIhOeYb>tLy4ulo+)0vQB3$7YlS0j-M?AH9)H;G
zsB!oT3HJS$wI?QxaUp+m@lkIJn3a7vBU^5Sr0d@*Z)scMn6UW7{%}(ak`_!nrL2+U
zXe~!4_M)Xv@15F1mKcdIzTVMk0%o<fVoERxG`8r$_C{m;=1*uY*+{~fkbz;&OU8)0
z<dvPa&Jqh&6@xP6CID|hkiQTZjjhpoM?y1?Ma-a?2`)}fME7Qr@OCCqyK>wZ4~_KJ
z@7`dA?r3H5{u`#a$vv>s`;Zl0%$LlhzcR(SeUwFyV<c#WtUq4=!5Gp}l&8N-t+Dy}
zs+waw=E!*$x8+8jB?cE#=ePYcf&b&jDQ&8jnBz{Ql@d8C)$n9O)ekE)j|A7=-DHO0
z-v%GVE3B}1s_L_|m>E>**G7V^ED<TjRD404GiI*Rf2(L&qepyKdtJ5}`l6qXd0AK?
zZs1S3GLgF^xi#;)5_*1L*Zq*nX^Ot3mdm52mJr(E=`Tp+<hSn8V(na3c=GgEzt~|S
zhX@`Qo;YWPWxqn~f~Cw*KlfnSkv`)3y1;LJS0dMhPx^}=w?xWDuH!#BOwq~X{pId+
zOXNq~Nqw^36b?l{g0@Il!);b@HutO<Tt0sB9C~Pl_i@&GF3x6H$baXTC2xhT!^6)>
z#GXuu@_P5k#u|dHC)O6Vo58+D{Dz&OH4MF9$I=_jVA%1D+<L(pZ;Y;W{V_6!y42s+
z51CeYRqVHGt(qBnB2+%@kF-Yr;S?SzVs9=yrFH2yTH!*C)`R6PW=I**S#l=ytiHJ1
zcw>PHBs4d?d%f2R-v_hGBn8Y+alnhE(rpDEwIdvvM2=fb47s^a%ofH;Bh7M^7I?j)
zwEUHaHH_NEx7YqQ1KlepHFlAxS54dFOrbe02&XO8lv_iSHe~&e$U&*g*QMPvvVjbD
z|5*yL2j0DQo$R=5g?s$*D$(nR+;MB{ejv>THKDYlo5szdWYQF`6=#X;zDmut`li^*
zJGCqDh7Clf=G-25S%5sTxN}^=7KdX_&Byl;zBBq?=i5kI*u}ovd|j7>Zjb#228!0;
zS$9;)@`V{b82+t0En|a}FY`gqd(F|)%l<Ec;Lo!Bnk+Z5$E|FdLTx@<;d<)wyT8tx
zp+rn%wdE}<gyITCm&g?tADw*>%^>PGSx&mjZGmc+_t#$qT0zDo?Gja&!2599<ewND
z><=^iP)xJHZtJ?E8p^gPiQm-8_tgT9X+aU^7p>r)TD!aXz8M-qMw-*umiTdKW7n9t
zDLlo=*Rm9>!JW?5F&r~Pu2%46+YdJ2j7XRjze(V|Fz3~_&IYb~3tqiavq1Nrokza5
zTjTuRl_zX-&GCEj=HRW@HVFUP)8#<q0)+?Vt4@Xx^FLqh?7=k0I>)S-_%ItRQ|9x|
zcD8_GVC=!AgVyk%KJ{^RH%DDenc2S{8}u~%7n?@#yQBSSQdE@<%3EkTP8r1asZqYc
zU#yU})hO-ABO><<ugxsJXAADgR_a_i2~{D6w`$^SVKe-K>a>%DUEA8vauWQk6Itc^
zmX8F!d*!*j(>BQETK!M;y#>y6UaDyHCGg~|;gKWuwB%*3l=p!)_&`#m#&59zCEYA2
z)7=Jzy)XL?5_|d4;AJrvKO1lxIAtDmx4^d}<<@!*c34YkHq573BC~Bn2|dLIVXhuQ
z^Cv8zp;__wm8mT{hsCCQjYv2@DeMs-Xp0SI8{U@*knqHduSEQS4Th60NaREkJ{o=A
zT<nt#rhf3u431d9QnmTo7Xe#LSO-eYi;!T`a%tcB6kCu6guc!bz9(4x_G|Ej4f5o}
zT7?!Y@T@8&G-bOzC=;D4Bf_k(I{i}cj$byY9py2~<{+VyT(>5HZHpnvtC>riNoZsp
zQXNXMM$STv<N5RE@Yg-fXSI*;2g%iYXvyZNzH(f|u9U#nKv*KZkp%9l-{rsBiT<_c
zD$<86kXiBqp@w!iy}PNv-N_QqWcFN$`ep-(+&j0g5_q$>FVA`AVF#sYtqzxHON1Vx
zEK3-*g-+C+3oa`yv1H1np-lAi^&hLy;wA~N!uz?LwC!NG)APnPS4*hWDMjYA*uaJ4
zRm&W;fQ3@-Ix@lU!9<=T*4IfWU0u9&XOAr$AJ)FU`HzH0DLYoI?6Zf`a4xBg#~Q2t
z$^ZNpXpaE55%rG+R<QFO)OK#P#T)7Bhp|&6xN{m7HGZ{6%E2Tadu76>Q?ZUm%@!jn
zIm0i#NccFWA)uXT1HFGg<sCXKK${HkZTQa?0)z6Kb&^R)T~k+Z<gPsw!+Tz0nKfeH
zpK;<lU<>VY@tUiNJuh{vWFb?<9vWt!pU)C=YU(kn!d+sAY46!Bw~0Ob>)}f2wOsb7
zj@=^Uw$=)3Lu@b6ciX|k%>H)%9ZNJ1M9F6B*<zdM<qPD)B;1sHFWy~k4?D%W@JHN)
z@1}JBd0u0SoQ8Yps{EFSxwl%o#n%pvk;Uu%Z(G7<qg)82?7^I=Od^F^;Y`qm?^inQ
zaC=Sg<~cPheB*sIKHgx51L*@or=+cjeW<bdlaC#?a9=+0y2TQEy&rFJSFuBlljTfF
zyd}1#`*RuovBQL&@y;G^D@?vs3*EI~54nm*OTIpY&#iTpwk7(N$zmFvOeS*7mFj}m
zf9(<Rcu#(Gpf#d(E^b;c40K#${wgMLjh@s$s-Iv7so}RlN9HVX;OLpo#0q=p2kfaf
zm9@rK+2|@qGctJH{{3;jWR1*o*F*Nj+aW07zXQF0EKzXV{J@?(J4D>vUZ}Q;@HO$=
zV%ITy969uy?n8Xf=4@(S{5Cr*>vE7D|6qySUQ^TXtM*_UfBR;xPw4z-_GOvn_OO1_
zI8TZv@X)E4X*)=U+n-u1+hv50X85@2y(IX#^ki&lt2ONIe29{2A|rR7MhBB+gY0J`
zlu}K5c%6<aG_0|L)0OzYiv&Mi4+kE8rdosLvD&uyGjUD2_VV+7Ygl(Z5tWN0L-fAH
z>!wvU5L>y>tpOlEWBa6&B*7!kY)w&%J$`Qx`uW%08uv6y^VpjJ`TodyCkI>f@Rl73
znkQpYJ>bf*EE_b33<YB+8P!KF7u56HAg1*9t+%CQoDpC;-eTH7fHTka$!#){W!_%o
z-b&zI@S68kqdji7B}a$)TO-R(fRS!*kN#&RR!JjP;6A@4>2-=d@|U}Mnp#@plxQSV
z%Mn;#c_&YhYKufxDW|IkKq~dAyt~5|9<5CYeG_Cf-Obf<E4BeKL;Y&k?4j-N+QaQf
z)c@$a&92|}IC`Vz+x02}Z%(HndwC#bBKe3K;lp#IzKZ+BDWE8A4xjyChmU6zTAc|%
zUh0jW<R^Uc_??i!L!4xsAG#vChS)Qomo9N}no(d^l-p&iYY$fI(T%lt$k=Mb;&F|$
z!FT1P_{m{={Cq}_{aHciarc+rgPY0tuXe@$_o_sF-Q8WkoB*d+ml-ug{TDt2M;n(B
z_xHX$y)D89qx8L&2NZz|or>&45nCKmn_uZc1uSwRW$N5*Q64l|{7aAmr!?J`wG(zA
z|B!Rmj|Ywi+?~~VZ;R1{gU_pq?D3z?josggz2??sV;8)Gg6l8(Zbn_UN1k(sbi_q_
zq=&XS#hkE4<bfK&#d<(vQ%qUNMmwlwWzAa1QXpW_WBQ-0J^ZJg{q-9G-&uxQiMJiN
zB&3gT+5<d1yXmdZLtBXYRb=p)0vjiTyY<)E!g{yM=F~U}0@bxsN`BgdtZiA6yb_3&
z9K0?-^kWm;{VKTy=-uZpcp$<Ke(?>#2@Amex59C6zS`kP$R$<RIADfhp8w{zEt)-F
zW;CP%HPS98WF+kn?Mj={{tYy{`CZ-d(+=Z`_rH&~0Z}DV+dYXn_GK6xUG*49`n#e*
zD#s34OGleHi0=o!+gR(TVv8HQ$2Je~QsA9P?oE=k$G?c7yWD#L!RDKTOkyvrIS@By
zIt1`J{plBbWQTi#8eZoKKJq+T>OGuo5l!JYyVeEp3mt6ze8~>t6pf_f??B{r1syU`
zztem3{h=Wg9GX;=TQg~o6KdBh_Nr6x<YmypJwJPJs**N_RZ=jO?xbrTMaI0##Ll!^
zfSUkk(#Ml_xY0Z#TQUkH`t`;}&DvoHe{$1@QVRHbOlm`Rk@3w?bj1V@uxtJJ#W`bJ
zv>I0}`vM9cjjglsAbjg%?~jcB&j7b_$ex?ic2KaLy?5mk(8@YR>LISx5<7R-DN*2)
z*5cu@#~#aNw(gvCq~K5M_e0eC_MnzDo=oc`Bd{>wcEDd7jP1ITtK>{URM9WisUCaq
z^-lL+BvTNX@q<sa&K^mw8Y^Bs0n+45rN8&tq3qh%t@^tuP`|UXUT`%TX9u32&nB+x
zJZcL!$dSQne{fvSmjbb;A2k+;xjH>J^>61J3ciu%%_j(7xoX&No=v5omUmX6>9IY+
znm+xiE(28GH%08tw1cC^&xt)*6fC#;Q{uOujDWO=?))zl44hi?H<$2r<y$<}ud@k!
zDKBnm$B+?rVM%w7A{BkwS}`MR5ION}*7_(4b{rQzD#j+B|MTkiavcgvQ=&b;U$IB-
z2N71_b_%$zz4bRyCu7@c#b^#K3O+pYJ@<j|?Fxm!+ecQ?usrNrkv@Tg|AT^tgQgUC
zmYnH+{LmiR^)3_MZz)*N+IIRRp}Tm`ona^IskrE)RQGcX@DZkS_*GL8u;JBe{;vej
z+wDkIW>n;#A9Xpq6L7t;QtDd}1-i1D?Q&Ey8eSOOJ>f|uazcC1XeMwb{*?PvHx-rD
zlNs536r8PW8MMr#phj-fb*n-$)^8(in2V<3WAPU|*#^LBb9VWUR4N)vJFcxK=HjZk
z9RG<}3epd+xb1eB3>k@UA2|f5m^=CS=7<BZ`p!}{X%_`|vUNNg+{vgP|MO%!2Ng-|
zBPv~Vz;DZ7>BD&nMhpZwLu~;`i;M3*_fxUY^v=F+ISRBH!j%7BQE*a*j(rM1E^=;&
zzNSFwoE|G$3D`06swByT2AhLC%PbF35aKHF`sN!dZgooOm8enh-NZvgWsZVw^6td-
zgzs%hQ|a7ukBX(?xU7%D#2l6HSP^@aiY=qgUgl2$2Fv%@b{iUo^@L7%B~c*0D_rv>
zX!uYpFC>;u^zm6NxmS*g&vNreTy_&axq3fOhc6XI%bwXL)DU_(?MD(^pd#W$=vxs&
z=Rq7p(*+YmzZ(XuzR-w%+_&M53k~GJr1k7_3drN8e%>}zga$Q-8D#(-7C8?$by3m%
zq@6p2nDYy(qO5OLQW3NN=yO2<3jV7*hu4p3s6ErX?SLi~N~X(9IL4_UllF^zcA(&k
z?EbLII~2U1J7nFzn$TzY9oAi48qNu%YUw6ZaJO~q$R=|dK6zM(2oSoqk>FKly3=qY
zL#4y6fr2wa)ZQsx8ln{krHlyPsJl%rAJL(rv;D+<&eOn?^q?EoiZn<KRQGZoCv@`p
z`PFrEG>kl5%i-rm=!ADkODK#A4f@yjzHbQM?ARvQPN#v3V{W6*bz%-SH8wXMp<;k)
z`lN{PrBAZ#N5xVE9y^8}K0ZdlMJd+wP&yS?_E?L%E&*+_zjfBXrXknpc&;Fu3gLvN
z<vk1<-tfx(=&q$8E;ld6^*j~9=6o`_q7?XE$g+sPPemI4no4mi3O1+}{dBuQ#ShMR
z`}GJtbTJho$>KE3tx>e{PNcv=ymsK2HVt~es(HtXDCpA@+>@h0Lv{wu+@X+y#DbSw
zVrywwV-^2B(trw4?v<Xd>*?S~2>F!pgo>d%O7}h_(V+5d*WTSc#9WnL$oShsgZMwm
z{9Y$2GGCu6Jt9HJg!&GXq6{ibb{ryYBGa+XZR%k2T`Hcq_9}UArr~v(s)H!uTfXe=
z+srs=IFitP-iW~W-`L`@asuy-1NEE}B^2BmwsX0pPDhA-BGvjbp_BH+nq_-v5KuhF
z9-O8?{;0ckYA6ldxnV`sgzlZhd^OkXrh_M|F{OEyis;CxoQ?i87)d_X7ayl!t&rzI
z)%`RmM~sK)E~ld6zSl;ZP&!)5KlPvbOGP|yQHzWe9eko2mg-BXC^P=@)ay7MjbeO%
z9ahmG_E5MaOqY%ihW%eJ-Jv4Avd{4D0u2=BqxUGuRH!aGd5wK0`iqs`*%(R11+v{I
zg_R7P*yx{YbAbkfQSoy-J!sg*c&hVal7iz43O8Gy(O}NJ#)=9e_;y(9^Y14OUZhby
zjwC9IGzB+4`bR_Ej>$yX94bEjTA{i4jYiCQ)Q|jlDvs0tx_!!{p~yt@!&3_apAlK9
zl42TE&1gA;_Ee-YeP1aW(Lp=ka=3!<y{^+Ko#xNz5V+{wA{0gg$EuQtQvC#9S!xu!
zNCL;+@^;oZ4fjJNChnXj_-m&79FO@wpRa@1Dl}N!Grv#qpkr0B-q8AGG$@(fy5}KG
z2h;Yy)lGyiSI^zy+4PVGcE3&+ZzvTsu^NMpTLgcRmgybdG}t{@Z{j>fhpNA}@3{gR
zE*4w7RLi1cw@U7^4#Ib6E<c?f^b+siE>}_)L&K$*Nt-?~IxfFd9F-t^EHdw3@Tvd?
zdOn4el}XZZtbFBx*FWgkl<_;@&UqS|yrQml4bWhgFME86@a-D6xbJxf8JJF!e4}7M
zM?@>1iLnZu*t1;$JcRG=4N&`6`+|=88|y9&61vX6!E2TMi4G;+!Ne6reeX%i`!pmO
z=ydGQne3)vl6gwLVu=pl4qtkEJq_N=Gd%N&`8bl-T+2`FHQt03zk5b$`1h@+Car>s
zqtYG^!#o(+KRqUXVl^Eu<>PH9hv*2nlHBv7kVc%R-v%ZU`s>};=1(!E;nn%sQQW5E
z5{D1B^Fd-RxUNaI*3t1bzb{((5HT0*#3r5VbR25GQv8<SZ?v{5rX`x_uS0O<0~#F<
z^EP*eOwchnu5SL2m}ARVv~(#x2BPKf^4@<+^d~IhA3ei><#f3Ck!CuovL&u3PBGB+
zr0~H|6CEoO(((sB($U>?&^h4-4f-=%<45usxc%nS;z%GJVeuR2aV8A>cu-UGaycEZ
zLf1L}jb|X_UdP9a8|b*^E1J$c%0S%i7l)Z{bd0&L_<nyM1M0n=TjU(*_?X<Y)%X*G
z$N`_@28lj}bK|SjPtp-TQ*c{@(8rdy8+VRuWZ?46Ysc*W&zJqD-6PNGXtSy9%)Cm&
z0nz)vG!8H@_Svaf$CVD9kzwt>B20`@HfL=dqhoK<)gezKCdy>i$*d4&;MuFG0@bSw
zoOfRSQa6bXF~+8CLb3n97I?hNiw@Z&-L*CS45anl728GBb5wF~)$TP+aJeZhk2Ye!
zcF<Z<CWC>g28!~L{dBBcQa`djk^x17mVKgI>8NmWJ(t77g4LmhtJlXEaDLO#?Cj3O
z@j5H%Mlu87xvo{fWP(WvT<|kwVDNkEJC|(?yfj(b7`ldz(5HqRCrcPO{zBVz`6)VT
z3w4xAzA+%ULSbL{OF9bos@*WW&xGe6C+jUW3>XL9@BO)tiNlTFE&H}JF!|f!P4x|e
zkNbx`(~IdiKnY$OS;v5jd0uAaB|0ScI$ky*-ZyDe@V;%3jxSPAB2^t27zvE&U13l7
zn&Ou($wDRsFPiN4%w)j+OHW<`Q9p<4uQp8=;yn)@&jeU7QQ5J)`~UUl<ngC(3}T>u
zAeD91pALzg?-%(4m{2(P<6eUw1NxeB_vwaAF#i0w@1n;5jn2>U_X!hef$w(vcQNo{
zY-8m@5);uPL3NEu3{>-P-#)XPiFX4(NUJy*7;1^x@X?%!>d7W$FG~i@!xGE6LYa7V
zy{=#&oPjWDA?f2^iF!o?w%;CSfcgEligr5_f1D4^-G0QtO0fs}yXh?Ors>shablvj
zy(=`zkqJp5(GRWb893KfSH|AJ#HkcXy&v8TJmxl>YV}|uZ2V*6eZp4)dnrmEELa#j
zo#;iQGttGLIBTiNg4>#c{yCy9UazKgjlwL{_rKwOEziV*myhJc)0lW<rr(=d%s^y^
z^NK=A7N%|){o1e1M7m^qcV8<DmmK}Yh5MQKe2%qT%9DkAZSP)O-OI%4)ZOW_cbFJn
zZ>1{oi~$p=#LDV0CIk#x4S16o5F-co9_L{~WrJ&or4j=YSANPLAo@GDr-}QdHxr6C
zmJVwFCVuy9{B0iLQ<RZ?m-`>GFeK4hSMh}j@yE?_DeIUxR$Io|w3h+1|3aL!yI3eV
zuVvdX#>BRhg3pp8iTRoDUpP$6dC2BZ9{)&$p3f|PUrXTf^S#f>eS2BZ&fuuj%x2>H
zHDxn)DhrV(5)?hEnQ(tu$U1k7iGkx>TB27N;LNj43?um6(epNiRn5S{^p)yBBNlwU
z+XaiZFbREyOFlTs!ZS1SPp?`g5?wo@S~*$RZ5qqdNX+f*@*>+7Z8kP&9J?&*&ca;%
zK^tc&7G`?d>jhX$sKwL|+@~?|)vPS{O9TTor3dYA8L_eL3T>CAKMPt>iI-FYSs0Dk
z8Npk?MDCe=V`Fw~WHGPCn}xG5ao!<X{TB<4H$}vrYO~<#xMzafj0Mv`j!N-hCiV~c
z?2>%R0(bqN6A3F>c%j}nujI*w#m>CKnQRu?#49sG##vAd6Z%y~Jb%3?(tY$G3px+d
z&L`X^aK88NeD`uTn7+cxdqC73N#PvW#D)frUMA<TuuUn-EpUjy^R8x?u`&yi>w0D`
zTx218pJsjUH$vx;dfq4M3H*D5=A{1-J|x3#Cm&)VWaC92(mf{Xsv}oUt!HD+G1H+n
z`7E@i=8&kA|JN}Z#6{q)^TfZFH<5+3r%6$U&zLY>md<sV!iH_>gOenJHxKKyl|Q3d
z&@&J_{^=1D%EN!Y9`$A8{WGqZ!AcfvKd<<ca*GYo6K~!*@vy<OYiX<c92-(Woz4HT
ziNC8ECLb<mA>P0=kN-Clwg%GXYl7LtK1o-iwy@x5RMMAH&4RG+ldcgy7K)DIL#P8A
zN>AKZnVx4MDZgPTqJ<6K%0Gt+rP&Bs%CF3Mz=m)#<+HXj8{I$Z{^Xdkal2%3A^kK9
z7nX{b-RfXtF|ln{QiY9n9^Vw+J~nD4@-96!VPm7FoJ0388(h088kfjy_zDQSy>VgT
zm$8;}L=_Wmq(#Pd7d9q;e)tt|lZA_tQ;K?CY=n!yt2%p+h5u?~>bG;VvAcxrWxbPy
zA5l*pDTT0cnlI|6*K-y;HR5kf5PB%$`o^Da&w{(*tlVui2W%H|k?KrkW96Y`eIJY2
z5aLNL@)Bah-#{pPvYL$plAJz$ifrik#AS94IpC0+QmVAG18yka_;1?|Hn#Vgl*sq7
zaB$N1Ye+jA^#WX7=|tb0`RYlGRyKZhtLVHiWurV*)cR4J1NJ19b+k>haZ@_dg0I^F
zk*V(ngQ*S}dVh>wJ;=tR=y|ha>)5!g+mYMw&;i5ej&aVC9bmBQn&)FlN4)g=xjXE%
z0|dfe=5toC;aE6u{Qr0cM3<NI5cuy%y_9pD%7)gQSZC=X(NCW9<mrQiZkC=hG7KD`
z_bK+-_p5AFM01T>&lBHU@4sT{02}MCwpvdUb#$u;E2$HGyd3lA`2CHIr#JiFoF#No
zVjfe~{DKYY?{!xnxwCPPLsvsv!2$aF3d4#oun}2nNvSV&K!5y+6-BxZNIzCpBjMoy
zes2krppR^Py%Lij5a@vORI_=lDWXozikbMc4v5zp^{G*D!1U`Eo9^;CplEt{nP(Oo
zU7Uue_C-2EcZ6IT$K!~cm@QWiU2s6}>nmQfCJqp~n|hs-c#a7Vz44oDeETTS^XZub
z9BtEBcH15BPf$zT;I{*=eLG(}lj?w)152FmI2_S`vV3V(jsvXMbu8NoN6fQc#dG!(
z*PjCFQ@I>bAFMocp}+xsEfK}vKRUuTS)@HQ+7XI!IWi^39FW=Xx;}^Kn=R$5#eV02
zsj!HP*AF^iZ^aO;JHY|_*C$$(sXO3TYNr;@3r8Fz(VCsZ9nn^BG$81>BYytk>s8ip
z#Qy+LO9KQH000080000X01UU}40d<`0Dye}00#gR0CaLPE^csn0RRvHfPDY}00000
zc6a~)00000oLBiHl;8Ka&DfXO?8_KqDM_S4=^jPeEFnv!tc8#)DXFwrS}2twq)17<
zBN9r@RcKM!Rj81yY*~k~eV@<2@SWeDxzBU&xv%p&uh%)(Y<61Px$^TJ;XAJF?Gx%1
zqHW65Ugu@7T6-B&d;g)3un>=+eTPE4eg3zw$s-`thxk9#*CW`6c-Apov0}xtCCiv6
znE%h8m~7>_#aH+FfcHf;+O9<dUoAW!{h*u=T)m?%Hq>cg*D2><y-YsvnjB18@=XJO
zF1t4WH<}Nkxp$QFe`#RtR`%pqaenX^XDIiSYv4#(-GL)5^N6zN;rkg2Hm*J+5^w7=
zkD{*Al5!o{nAGCLdT@{rEVbIYpLA>BQ`r?K3wrtBD=$Q(wn_tEpUb%WBashIy{bH)
z)uw^Ji>csIl?7x}71wxVEgN^=YTA{aI*XKSdi%d!WaIx*A70q}ZUHTc<SKGC**NfW
zd(N+a3&`1ceEoGM8#@KobycsKM<<p_J~`{m#^3s%w2D|RpkW0j<K8MZp7$_0m1DJt
z9=48$GZ<{VZLwl3XmlR6Yp=hQf!MhGT-hC&r;AAB&y~OXh1vMn>dzbRYY^{;-%$7>
z&&ClI?}z9HJj8TiM6^6-<1B`D;<|wa6l|zUvQT4V{@3^3iqtQlHKE^aO;~LFFSErg
zyKfPFJmIKLS=7MK>w|wZch4jD+M{Mv;=CgR<>Lp}@<GhaoR{H)8aO#&=(>nJAH2_1
z$r_%}z*3tfA6*|?K;uJ{E2he9tST<;RBKAyH;L6>V@Tj*gzrCSn?t`-8e1**vay)z
zsi6o0|7a5hRWlnlu6U<<y)$bbiP6f=ogng)u;atb@vC#_a_46jeLoxPihld>t7r~6
zA0O-r^kCyRRia0KJ)K1-NEt^~oMz)*w;Hr1eHIz?9G3Mw%f=$7o_?5mJCEL+b4lnk
zW8?m1<so0GbLhqIf{`<!Y+N6+Tf4M!9@#DoX1-X*#`mmCZz)}vMMC8dtWFZ&i?1IQ
zakrR9IhJl}S=-onMDVaW^~*fEZpln)G9ljozNwFHHjiSP64$vB>$WRIJ0`N{kPCb2
z%1<}qdjpn!%NjnYd?;j5^;-iUPv7M8z;zBOW!g3W@?qnuAfYlj^?4K;vRh*Fb~c_&
z_o>V3;-T%jn@#<$v2khGtw%ax(`bw%voEfL$nVV+emys5kx|s|sa?m}*lwy?v&?%A
zjh$Y$AWYy<c*JC#rPnNqa=fx7GMbG)$rwqqMrP5Mu(D6<gV;ED!vycjEgo97lDS7R
zg^f3#Ki}MOa29oC3aBWbU}G2Gtio$X1m1uDelqo9;~0@=?<V|bk!;XX(jDTwdl#!}
zPA{87>o#>rrF*jRrb)xQ)=Os5l`)*K><qz=m*v@BcX`Op+fml;DjPdSEd8P^&qJ=c
z=I7J0*x1`GPDw|ThZJ12g%$3wvDN22SZ!<uWmtu6NzP&8(=y!cNO}f68&dr#Qo+W>
zGhT1z66cWE6%t9)j*SQBjz>7YoJFck>y>$aY+Tk18WV5lP}F`#VU`seKhfSOHf=kL
ziflejFAZm7trspM0^Aw&RZTA6CX>KJaz5}Fbp|#0#hQ1%An?<8r`8_EL)W(VrC&{8
z<9!N$FLQtJ5O_E0`<-IrmOU~?S<N%Z%qv;fpZMPL+wtLs6LZK!qNm7d3mbp`uQXwj
z$3sJ{|7`9aCGfoehu-Eli!6>fw&xS^eW}|pus?PdIqz9ALL&10rSa9GPRBHIak+B-
zX(<~&ewjO-$mXG!x%;?6m)Ur%*jC9nY!=nMle8Hm@Mo(w-hLfAjWqLaY;JnP#v885
zYRx2YQCr(Q#q%c{+vlbYeqG?A%S#)x<Z6j^fxk0KsyuZ6u4e1pc{Y|);CwkU!$qoB
zf5h$n%*F=mGx_{^ljzgot;Yl<G%>k}FXb+tMebp4dW$>Q*!PN<qVe4+#C&_$;n4&e
z%QzkqV;-48Q~Z>)57TVSc*@6M9G*s*3pkNQ#J}^$@X$LF54jc2%E37T@4nrsQG7gf
zpl#jrRHA+kD*h>D%@BCn*@YVr_p$C47Us0fAdBC9ue4&>_+0C~Lt%c?=p}!wVR#`M
zw|?1|qrGn$1wL(A=T1CJ#(W9*b7~rOnpjo#JZ59J>FShy$}^~-ElO(iCL2Gsc{yD@
zI)#+%&!28>V`JI-=H%onT;%!PB<NZ-8#{dWzizHY@ZD)yYd{F0C(C|E9q5}z6G+#;
zk>I~a!du%z7p9T$v6T`$f}e?Pc~>cE(<n$YDc_ICw^i&jb??b31YdDVW&<1Z&CK5w
zPoGAVPSurG=>#5sr=7mO;Uc<(*^S;}LO+XzN#`0S(MyTTOZJZu`KVBy+d;%1azpmF
zSsGEFq;)c@Z*q~)QU{%ULXU?!Dh!s^&7iWiCNFt`Y`n5fd!^61X>{q<v5N1v*?5J|
zXYG4?=Fxta+!Ui3!rw%gZCd-MkXWU&l~)TJf2d1%TVBIOYRWHuis!O%qcZ=h73;aE
zfNoD`5cyel=R?W&8#BnMgz?qkAW_fDB{yFQ=AzUs(N=*^2)=vViT4cPp>4)%l8`kU
zXNRi|9ooS|pJ%J9dI>#ly^?$3q|ppIRC|&2F_?|VpEgaT5qLRVqfS~8`Ih@jq3t_E
zJjVpOClL8=&8^mBzn?-UzFuyVDkJjCG+*{Ob`r(Ey}Tvt7f~<4&jg19XHZm6b<Jyc
zHl8-^BQ+ECVB|N)y+Z7N;H<(Y<0X@bX(Q5>-$UrjKJy}r!fBLIzfJTxkv|8Op-X9J
zd8lDYvQGYLLNC&z+{)!=P{%G87hOV+NONS@6}^+FGnyKbO5}g{Ih#%;$`q=$zxc<I
z!^Sh}B3pYNP9wgR+b8V&+1N+N%01O}3aOS9P9G%rwr2NMr?3DndP0r}R!wB%rjQuY
z-kB+smFMq%@fI7W3hnD%T**bYb<wG2Nkn}-%+QNcoIyGFn9afVY;2nK-r&!~6mmz$
zHnWlmeQ|#f9w;+|P81qw{AWwx6Lq?9m;Ds_Af~?j0HJrq20}5prd%X)_i6YJq8@0k
z#4Nh?xaf$ah;3^O8}B{z(Do@&??Tn;HlHKdIA38;e-)lWm+eOK90<Ko^xeDs`vMOo
zukky5ghbTK<0YS>&P}5}J4nwa;yElbZ&SH<8Z9mTbl!L;QQvlZ(+_{1MBG9*Ni*X7
z-s)fa`WiE6Y&!buZeun+_3VUG%)bdF!hiGU*>XaE0@L1~6`4XW+^^|65cRgsl=Xgb
zfQ#CPjb-y)2)&aiJ|CAphTN>jzxwcL;#l5erBaDW<mAfzqEW!c!Z`K0oZ~q1R$6H^
z-A(v)O5e~&=Sd_gVG_QcsJGD=o9lH4rjUwmVaXKXKXqTzpHDPRq0}crk-~&uMMUeJ
z7yC1T)*9#RT>X%ZYuD1+t<t#YTyWBrbixmo{%(Her8I@M?UCQQ@gy6!t46NgY&?x(
z_J23CChk)d=rtj@d;&SE`KB6|u<_J8yIsv?#C;xYzwAcn(Ti_R{2Di=&~|_C?S}|`
zCVTw&qOxrY{S6X$b|8R_xktIw_dB`hsy#dE{$_%2Yponj>?crn{bW(@{r~lAmMfZV
zCQ*CkyS}?bJ?!r*JDR&^0zKU8aUz)THzoU1scWUUXhg~Cz+1wfh9!+ejrymM4CG9a
zwz9FGM{|E{-8eF3?TI^<$Hpg@4Z8hK<)WbbFO1$VC;Z;-f@Q}233Tp?>e&Yu2!GvZ
z=QL|IiAw8>(uRrt#p|<OdieEeBte;u`a<-7heSdv0?Q_l>A@$Xw+R1NGd;bTx_tsA
z-8`}63DJ*QyVS*X@N<z9_tr5Nq8}@BnA!6-egYj1aENUu@OxzVH+OI6BvM#?zEP9#
z1IM+Wg6JEk(0Sdj%*`9v`1Q!+hXoNc=u~>!u;_OU{BT*`Gg9dk^89Q#W=F&;ynMW^
zBWw~qZ*e*;Nc7YG2G+SkccxL5jQ+Mi14RF0H)Y-LH-+3vSNe_X6aMFXYkYhDBpPwJ
z{QNx8?}<_$KFoMJg%tm;tUswv@UP!}Um9l&)%<6Y#v}ALcl#=Vu=FYPc*U60O;sX4
zxA}VW3&&BTR@aQ+F*cs~5$Rs~bqsl4v3I>j)aSRq|LpI%Od^ANh19I|Y@9Q@lhOQr
z3Y|V<l9(gT#(7txc1p&LBN0b#mj;0+idhpSRYLg5fU&=&7?IB{-UX9}Q;3(sI@K#j
z>{sWSxxQi?1)dUpyoTV<nu^p>z58S6jo**m1%&?jn7z^x9h*Y8RzCV^#nr%TH;soS
z6i%YnxyK2ch<<pLj@ruO(S-l(Chxt@(ZIX6nRfmtoI<@CrN3;aG;lP&di{j>IJ$XN
zUIu*GI3T-8B=_6|N?;eRQ6lv2w})V@mcta14)A7gCj4MW(mU^8gq|OEiqyK$pn(@E
zMXuIun?_qkr@YmlY2e>QA%56n0+m#qQ`t%6ho|?OVyeSM<qDezLW%cJy!XgSGo3(1
zyhSmp9#PMc>rM3MCedp@0n_SH4SajYv66OYE|T?;KECp;299M0<VmfbK#_%QQQO&U
z9K`AQZTN)X{}H_yjWG@E@x!+&uzUjT+S4R#BuVr;qO0Ly!~_!Fkz0L-O7Qz(^5m+l
z3AAN%^nYpuzOUufA}gB5QHj$B(c{ECM2R(fM%plm)McOFemSCn115TN&h01sqgr^`
zXrBgdDw(ezr4W9l;%RPatAT}<J}V!!9!D!{*V~*W;(4}b*8P42;g2s6O_-SX!b;1k
zgQ^KXmhsK+{-S|*QFQJlY#B$@rT=PHDzWi;p=EhuFNywXp**DMyawJH-+D{BkBba9
zUO4zOnwWpuS-nPnlc@Uku3Yoa1b@W~<*5Y!C4*DeEZwYuaoMq(3UcGf^GwdC4>D|A
zS#;7jgsAuR>ndW8Cu-nX`2)3)sZ*%n`;m;IR1G{glje7&cpN=2R&c8(@RDoZccz8V
zYgbX&b7&_q-{yp!&on0LLt=dUxik%I6pW{Y*Z)I`r&rzaAm+pPX1ik&$&=`0ktP;?
zsDan`Tze64Z4%uWO)hzzqk-2ILE_eganz|Jy<LEqH+Ck@{QDw1h2qe>n>7*7<mrvA
z{PJ9+c<#{fZGYmvzE+PmKbk_0ZLlLROauSDqx^$L=;sDkn~2j$1KZuUsJfR#>|fir
zs{D!u{+UG@+H-sY2_EU*J)EzB)4M#^GnP&vkzT=1QAadz#|7_R|Hv6MtB}*tD58OV
z(f7XS@k!)m7Gxq#tVax{XB}QSiAoy0E*!j|fxm>OJYR+<Q1q+#UrUoUaNDeToC$&7
zQ<I?W<yORbTA__UCAi3(YBIChLIeA2E*iT2o<MG$!}din8u)_^B_yVY=x^7F;bL_S
zoW1pxF7Lq%O88GF@KFy7m%W)<pP@d5Lh-@dCH5Lv-%>lwpq-0EH&*lR$`R))3bn0K
zm_a6&%-u}~S-4U4QR&LtTy(3$WPcs8u188JNl%$X`Aa<HiXAnu={c@M2jS0;3M4<9
zs%l`#H%k;OmUGdkD{Ef5C~Dvh({HA(|C~m@x-RSu?_go_9hZ=#Y%bz(!+uN)5`2v^
z{cCVy3emsnF6(A%;9mpxb-XgC(crTKPs`d_*nV$l#+^1UI`ms_amy$RoAP-~zcQaf
z{ARJ4x0nQ<GxS7)?YT%>Bz5{akA+ViWZLD~P9uZ8^QpWR7Ve~EzT;L-pyd~;*}Dk5
zVpx|Bv&mede@>A%oo3<7_ETo3Tc**y8^O*iUa&Bb_?~}Om_igs-G7ym8n~h7uly3i
zk2vc(c;f_K=FHfLDnBk-aWH&UNgE5-Y<PNHp6IXAho1aZBl3Hqc~v9*?G)m>)>wI{
zpM}HZ24)^rPNB$9-|ITvEbRDJJvq*oi;5%OvXg6A*h*?=yurXE5;qAqVRKn{?wdL5
z_zN!DuXI0Gsf>lsHxD-b<8o0<JfnNde=K5Nx2in8b{bjjwtV;W4hu_uG#VXDnMSs<
z3WndWu&@qKk)Ql&8cj)ek66XB@CGlxtYL{6bll;a*vv5&R&rMBaY0;ke`*qr<g@Ut
zkdI#Xmd~J8%YoYtfh_!sb;zSdb`pgaIY-G5`4`U!l-c-g5`8uvvCpby;V&25lm1iW
zqQdCguVu1XxZ7WMTA4kAwk!Q<zvaflhV2c!J#Qvad6?9ixGEM--~Bk<X5S>*|0DZx
z>Sq@A<|U0f_)j4X+Va_+2P|AWf8%_^xk<G3zr0|CS@?tSfIzC=G)gaVF!{8fg$H^*
z@1u4Tco=t1+&;*{Rj+58ZH>9;TV7gJaTE(z-x~KZ(BYwOz0f)bMHc3(%sYBckB2Pf
zw`>Fk3v2$IO1~UT=w<N+!H`@QX8-FgQs7OaFYNV3b%rcl^h&GcJHfZiA<gk@6Bb_4
zHu~Y^<7pI}VfgOyN)|4UaQ)@Y;379EPx7J%!KcB_r@MAfqgBNl=dlqBXRX^*=2*i+
zr3M}4>$}wPQ`y+GFKSb0Bq5?sCzOSG-)vu)H_RZFg+_6^X?3i1f-KYdWfDnfJd|D@
z#=_rs%0D{3dj|O#F5!tRsN>r;okvp65c6hc|IlSe77jmY9i&dgyOMF?5s9CLbNRd8
z?~W$w^NsSQy94T2a`D0bP@!4Gy^={g`CJ_@nN(U*GRQ?~qg_7rbQb>cA$I=6s~L3g
zomq}di#je4ewtvha~d)DBi02F=N(vHTw5zRjqcjiTpAE$VOg1%Gv4>6QB869h$gXr
zl;!oOgDsQjxL~=hDzNa|_c<$7r-*qlg;IUut2$N=6jFPuI*rU)uc<y7Qpa9uTYdO^
zX3_SG(l6Dc)v+Rjr+c3=jRq{5ZoKPJ$LYe&J9P_rXn5p&^Ux*Yd(N(7LPY;+cg?+<
zM4T5)w%qk^eg+j!cKrRCs*dN9?S&qE;1T`dwZ2Qo34E>(sob@gL2-I{RXZQ3<8Shn
zkLz@2(U#dm7T0~$@d`T|d;e=(l#^XtThXYFXWZAe@A*E18qBK_n6c{EQ8=js?09Ia
z>d%92A?lbpZTjnT1{a0A5s0jKtBzS~vpKwJ9<m#<YzuTC?r%TK9_i<yyFun@C+yVm
zM4_49a-#k|b5}XRU3J{<Jg&FKo`?MWLe%%Ws$<{e_cB`z=FqTl#bT_yI)3jcCI5^z
zgVt>Mw%H^?9ZNkM{WmW*gHBIT`nH9t<8#Ba)eYoX<fSkl_F=g?{$6_NX}&oRS-t$v
z)^me8UX1t5*_O>iL6VnJ)C|<ICCT22b9DwuA6GF^wNc09zvFGK3UerPFlae@nu(93
zIPG`to<`HjC+%Ml@z92^Zr5|4N4~rLZmCx>@fVVa=#(xGU32~2604<-*C%oIwGU3C
zO}h@}TWnFsnhOr!KOC4r@1=*wUKy!l=@f3=_Jjp=e+8+f;{p@k(Kd0uuQi80|GvFC
zrh$paSh=@7gXYn3Q@=#ldrVws)ol6UE)PvAU;Xopi048_&c`EL=h0~Ao>H&d#Q7=(
z-lq~~(eAe`p>OM$I4J$etdTko-3%1@B|5{zLq#J>EH)1nGkkM>#+g{>j!wv_dLA;S
z?|X6R8x#N7XxF<Tm4|9B4LdJsWn%hxOv1jqvuNOYh-y<26RWuy`B?QYp!^oIFLy1O
zc;W(M*Aw?S#FZ)gvo?u|&t;x{{ycFG9av1!R*hxiGe;do3JqtGRWHkF{bMHPO|A(}
zTRw-9KLEuoj)@tYPQ5WAo-dvCRTVhH#D;DcHf;Jdhwd_#hd22$arD_I*Fz$B=t~Q^
zV(~vF-l7&?-B&b+wwfYXaA#uu5mlXoYZee}ZrLoS%fuyaj?E8g^T@r?b`4`I6T83I
zFZIu529;6nogIG3#GOY~>|UhIp%%L7?NA#gPRb6twcc_L`76=hxj8U#tKfB-yetoG
z89b0$c8!TCjUp3Dx98Dj=8~XgDoo6^y>3=PT_p5l?MJBwH9RG--}1gN9~?;PZGIc4
zhCPF$a&tD%BFi~xvYIm!51brWS$t^**)OZf;y=&CMfbNqI#@i90-DM_Z_cUV6|Jj7
zllSt_ov*8N&U!KNvKL_|`L@oXqs&>(Atn>YGn^U~9xkHF<Tn+SZfbZ;`0#4wtVL9>
z_1|6{M>V|dDBE|d`W(_%v2Bc^Gx2Ds)TV<?^N4P}ysNrE4PW1;xiRC+0;>L)8TS5|
z8g9XR>lTa_kmSbVisz@*u#l@X{~b|2aCp75GG{>*M~nKZ9En^+q%)vvr=W&kT9b{p
zh4GNN)9KP2Z6+?>=9f}`mJiaoJsCf5tKx#zm)va=i^%%^@G9AFs(5v3Ok~5oMYQzW
zqj{SSRXi6Lb<u#eh$i-3fUT3N*kH@s&&KB#kaBVbgHBPy`#q+Yh#lnz?bnZvdi+(v
zOM89Z?9k@}Bh8zad1qAd1IxbdOl5xP08PI0e5#oJ`<a;j`bA_Xf57f|kt$x2Q~BA_
zX92BPQ?s}Ihbp$`=c-tT^1<>X#@+h{syJZIVTM(;h-CMh1t|xq;@m*7b=I^wq{4Z1
zG|NT}e@GZKuTJ5E@w|H-O0z21e_eZtu-pO?Q`Q}PU95@+tr87uRxhH^u)=fiJyh|!
z3qpgYkNDvFdZW?0&nmd(MC6coEgy(@lQo<2Rj}1$&Cu~@bLi*(3!!R1RdM1`>n#Oh
z0-!E#w(jkWGQRxQVMSW<0xE6u(7a%+iu<lPS=Q`dL=9iuZ6zdCadq6IVg7zTV9adi
zp4+d2QzRX-ijw%iQJs3>V2lb5O&H;*5cpgOIv*R9r-GA1ym#Gv#|QGd=3ZSpi1!~m
zByYXX2P^maN*Ow-U`s<YVS6J!2$SZlt2?8Dvo+hdQV;XNx4gbPVlFCpdgA)Gr&WBg
zj+eh+t*(N#YL>tI6|jJKiqYkf?J9VMiI$ju_aZuJiW8JWRIt$Y?z_7#@WDqUfMXSi
z`=+nCoMOudxh?s=ZcA10SUW=}Qe6P7Z(6jr8Y$z0%k%O&RQMroG%s8#PZ@vr_ICTI
z$q(kUd2+{6m9au|;O#HNd>}2hf?}JijNS6A)3e6;z$Jd_<0@kPZ9}TN!U#WzpIV9E
zN-5)uADBH;iF|OrU~ycwP#Kq$)$q=I<OjRB-V+yvmGPvvL37QiMf85w*F=&}1>c?W
z2z*C;e_>Ez>*h8k{Ohh-&3k!%c(rX_e9%N0+x67yKReG44SaOJYZFSCkNJAPSkoff
z*nJ>5x<nZdYtJQHoD={`Xy=MU?n;=M%m3D8KOdAGY9s~hQ^pOOinw0+e4w(JHrb=6
zjE}sFprl^phjW~`q_>5{eotFASNQNl=#ahHol+$nurMoeDO>=8E*>zyr=f)9do3a6
z5<gg+yzyA{q7q&=_Dr5VDgdp~zkXk@QN-G;zsp5s1t6X_c56~s2}k^y+a5#2dphb(
zfS`{O9u8_Q+r3)=JaXHM+lLkL6Vm2?54;5+C9tJ*yj>Ajr-qee7z+TiMeXX79z{ID
z6}tS;o*&X?fAc$UQ^HhiTnsS;-=qZn3hyc5alKt=<OV-H8u?ltDW!x(v<1tSe-MCs
z|0S;(KcI;DIL4<9;{-tGb=i_L#})A#dcO4O^8!#o@ptYHP{iM!ikse36oALS8=ISM
zC}P{LaLtb!1>tvs*VXa~1sr^5`~Hqa0oZWu&l|R=A`aPDDf*En0J`sMI?@g+V%$G2
zv(Z%m{$`vU*l4bZ4;|~f6d^7ElWI||vAY!U;eC($#3%T{KK0ent1gPzez%}{$|HVw
z`Ovdk@sJ`;d_dBFWhek+MSC~bswm<!%a?633lo5k8^XJ7MilVI={*5&s|8_=eUY4n
zu>$U5C>(UM5P$+#mlKZ$6fo!I@;ZvFAPA!qHry};T=qMsVgEM)*hacNG906T(T!gD
z2e$lRnH!tnw@wl3R?6GU&k91kezslZH+ei3`}6bECIN6wWKlZrDPXOk)s4k-0uXE#
zqf1_=fU%eHYR~tAU`NKQ^xn&3iI~#AR`mkVpwz#rV3h)P7S%KIyetUycQ;%}BGzZ;
zefiF?1t62s`?CL#0<K*vd58TUvA%Gc6_Fv2&w3_w8mI}umDKi@%}(;T?Ri>6uz(;$
zaMDjjw#eh<<t=vP5JC8{JXG`86?wd1lKSJpQxfo>GrZ#ODTkN($JP(j2*9|y=zhU>
z^4OTq?kBxa5Jr}(+GJVE<Mwg8t~o6sP|~+>ZJm?D@}87t%?=@$p_N?xn<R&ggKof(
zpCEK>3uE3}FONk^8YVr=NN}iUr%c=?IlQjziB6Li39OS2m>=9Ihr5I1Ei_IDL2!)W
zLdSVIY;ru~v9yd3n7ukg7b%p(xvhov(hEXxvZniD&N4ZC?)BESwgW;CcT>JAOIr?;
zZ_gK7j0?i6p7n<;ljX2@%u$C2z9cYQ!GF-;lPuO2{vxq+o&?HzE#D$SWwG+PXI~}m
z3qk7RF0(QjIm~OPNNSh}f%@yBz#3yYY_sE3no}VOMk?n1eF>DsFTUC|n-q|sp#1vn
zNOxImizFStn+m~?O~p&zOUPlb`+xrFqzJ*b`s$olwX#_4#aiRvhlIc<CganIW?5Xk
zdzEBHju0e;+*!8%u`J#&s$a8Bp9F7uSn@)yve^4~aZjEX86M{CYd&1Sz*mpm-jvuQ
z1m{%_9#Zj;#UiY&2_hpxU@4q@W8PX8cSp`yn+%hnHsxis0A^tI41>*zO(e*zV%p@t
zW?((DN_CxsB)GNm>!Ye}1`hk<+b~us1VL#+w@)mQ#SLk*;cs`6U^U;%8-)!F+_1kX
zjN?v*|6IOw)~{#aKc9SFu191@^&*|uH)r7fy%8IwUy<ReOVs7=aXMaVaoE}E2?_c&
z7Hxk9FmT{K=EkT0k>It#1NN7_49r`;?ZwYnVK|hRRMg}}$JQIWc)FrwF#B2MwvEof
zYvr$8i?b%ftEa<lFMiW;R*Iedx4&dKtuOU1KbDRw+@r=K)XCs4denTrosRP^a-J>Z
zkzmlEW$9N@297inP_bo+z}yWZ^G_Ta{(XKp^0U4$aF)N`led(P6-(9+eLhMCr4~le
zy9hddx2iYeL@yc2o6I{d8Pak0<sCb{bV-oYBW_#5&%h4l%?kk%!r+tep|Vzhj;-43
zpFFum2G6zI)@;|K<HC*#6SYDzu(|f@3}|#bY!&~bT%QalPmerXw4~$X*ZYs0sV0NI
z0>{vFkcK}cq^xmlCDvPe(}x>rSh*lqCitu{SjYY3%?H!4=V+2!os=+S-TR|DkWRzl
zJ5^34-WG-{1=%hSH_`AfZWG;XfeiK;RxXF)Y4}Cx3%9EU!mua9aiNn*!&^UY*Vnx)
z3=%8EI}9~wm^S@vhkJ}LsC{)xEmol6LDIimMjaWJN|_i>`_OPsR@%?2(IQYa-__@I
zii-Ch2+4Ps6$N)!?iNWcD&Aeesc%drgR8%t;OI^ocC|ZrO>$8f8r*pSqt~f8Q`-+l
z^T?pJa<(IV1%dbBgvweXp1B&|KU*`Y_}zd)O{|;<@LOjUTymr0A|D^!@El<fw3+*8
z7*EB1=S%|gcZopeT+)Q08Wopr54IlF7llJkQ#ShdDR`o9$CiGs2)y4Eqf}o+!R*Zq
zZ%vCuAh)Sfr>dHQ1APkTm#T`x>{&;rzh`CeMRT8%e8hTpV`PVN9tHQ91^DSvMc@f7
zqF7^yf=f>Jr=1=Ufpt$ydu2l?xbd5q@%CX6(AuE=+s2cEPqiOix|<>jn->l}^WH$g
zCu04IpKcKaI1o|RB1ge>Oo68pg<>G}ZE0+SqYPG=&D*Z^N(6rCv<NtxQ}Ce;PQR*e
zih|xoKB0S6GI*?batqa36uhlgq^7mY;CfxtHvmUKxWAv8L?GZ}!h_vn6#P!*m&wr?
z5%85>yE^-i3_hii{m}fq7zignO)BY=#wG%No<gFcpql#pxg4<{Q}e3+nKBW`s_IZY
z@>2$91SToJNf3wUuPc7^)<|L32WCO#MWPTMec{SA3mMFxd8dxgR}@m-e0wOhM+TEi
z^L{=)E(VJI_gf#uNn@3+f$uNV#bC_DC+zDMY5Z5^vSL%aD9|D+-p>q5<I7Y0c3(q9
z;fa*?^%P|pV*VbT`^*sqH?zGm;dRou^t>mV93l?VX9iD1@Jr#82666#GEq<|-T*Qg
z(s)ITX+>SL7=)griL<<=a88D<icF#?40ftps9cuD>MwWfw(b{$y)b)AQC<o^)A=sT
zV2VPSO=wucTWRd3lvejtLL3&p7TD^(ki;RSi1(E$24A0xzeG2sFmEg`DO^Vk%%(F-
z+ll>mJ>f~5@D+oaQriY;5h=X#yds0KO&mI0_4gHuNa8I!785$B#Gq7i>v1MXV%v=a
zXD(kAhdVdjl>Up8z*CW_7Z{OZ(AV}P*W;`t77^IyM}H~`Z|dguX6Q>{r^()dOgAy`
za&<qveZM4rHXN|`q@x6kw|&2sYcGx`=Oh#FFC+HbVm$N0O#*{mAdugR!G@4;ZOM5O
zc#rR-jUbUPMvJXy<6CjOj1@U^twbDFrhMFfB1#-Ln?$Qe6^X;qxwmDtUgB8wh69(s
zP8?K}{~bNIR2<(wr0QwsED2{`v$KO^Me&e(qT-2Baag+L*{PGYVmM~0oBWgS;t)OC
zEgSz)44*5h^oXsJfJ1+yJpWdR;*-)>IX^ZN@k`~WepZ*j-#sYB${QqMYK^|h2XRr{
zzJ8hP#{zNaY@r1@MT_Cza=R;nI1=#wShv%lqbTm$q9CKHMDXpcW=2H27`B{};0c&Z
z5dE3K=Fh33SkvS0&cFWRV0X{qG}A#0Uv8efoV805njTrTXKfO}b#ZC~+dQQpI$TB8
zh$W1T22`zCuOvV`QDsX?o(Og&(RaDbN<h<yc73|72)=T*dwe=q0xk|YeOetOf}M&6
zvp!cyK#_?};s4fOo5veU8A*bPc45g4ER4stpZxmoFp-a&FCPs1h+wOfz-3PdB;eBf
znm*rJVVsz^E0MNS3RW8aR5ag0#;n@-J4>!gLgM-S44)A)cHjH>ypO*Gm>s#e#hWLL
zS4OJcjvE#SmlnB?QLZ9*hr3RczM2&11W28hmLTKe4cXT;lqI2%bZueh7#Vj4c)6yu
zNkW)&!)GN~GQOEy<NUTq0v_l2dFvAUA5-^pH`^l#rMGJS4eTc4>>Xv28a|Q`)f@Q@
zR+I4#O`mW36{Vm&@k`bkZxRj?`Z*@5A_WP$J5_2eNH|^lmFx>$DX=~lp6IGT!skRv
zYvrFyfrDD4|Edrn{3x?F=g)`)C<=Kl$y6fa){K8^Ts}#__tUWKAd8GI9R06?9v}&F
z8fVx1@gZSNw}r`Ee<|>PVUTips}NpO>pv<&lZH)|l?MJXf;hjmv+%)$B$OLjlgM#G
zI6`zhuj95Pbe&$CC5(lzsO@T2a-<}zFXeI)-U(p=p(UcimC~^Clu(e9hXA(D+ZJ5o
zCj~8zooSzL3*ux}@TRy7;=V5BySCW~;nPyPcx(D4;bedP+U8zCoITP0cu-jiww|<6
z-JL9m@9cf-PTMC9Yp<MK3|cLK&pV?#1vydxv;jwnMge?mG2pgnFL8cf`M^-PAa+Wr
zzjUWc5^O&@UrjnDh&8QUVm=c11trxj&k_>E5q63(C`}r~#H1<@`19i%<m#Q;PLlAw
z)+7GKRYA<Gv|L3_kOs5FPBU4=j|-KIHTC$UA+>P0Ye_yoetpEbwEVOT94#AmS)sbf
zq00Vx$vP(mjDk%^9***3*3FgmrphwVKzq$jV)9|ng6(6IEz)pT@|)i_A3hu{zwgl_
zNohE&US(NF;m0xcl0E7cGVn-K=4j8v0*80~c67S73=~O!S{baj$f^G`yZvZ|6#RXw
z<y9oikGroPUiN*r3}E4t-wynl=lmzuXuc{=297bgj{^keIlJx!Jv~NzpY=3OzRqfa
zQ=EFGFgZvDs7(uI&7*Ui(h&BO=olI3IPm1y?LBjxbJWDv?9DQe&_N!Hm7V9@6Q{?)
z2N~!cAM!ij%Hvdi=pLGgmH`-lIKAx6EazhKEgXMU2KdVBzuIq@<uGz{yA>|UK)zqf
z;j^q+&MMzg<v(0$2sdz^NLVt@Nox|`uVOC)+a4(3eK%)0*(JG65n<A>{Y>w-U9aXj
zBmJxRZ1RckE%!Z&%b(#ST@*1&a+Lx8A{zPMCmx3y7ytFdm<)U?r)CxEPjl+m-@o|V
zhXN(dw`Q;COmP}T&sp@1%Rt;+)&}l#E~i_3FG<r_22_&De8U5HoN&k6Dn8N#p8HD-
z{x<VC34eFpT7N<Y^vIRIGu_jiChgXeL)T<rSfpAx&wiQ{<nhsBlZOnrDGJf5I;S~0
zlXK$Bh<NPY8Z)!sPjj?LeAoO#DPVY9ce$$81gA6;xfaREK&8ks6uf(elS-!yI?!c^
zd7?+fOMixAmvi=1m^20CyA*gkMJGA>zBf)h)RcjUFQ0X}N2WQ#^J^l9mr`IjWRsVR
z&IBiO*AA-#0Tl3`_~r7qe~hF3KD1avfCB8*J3j`xOmJxHJ{7&cECV)s$9OjVlblPF
zaw@{U6tE0_bLyk@7{|G5-#{9H&%bAPg9lZ{I7%_opDau%@LGL6{dLk9$KO+Zq}-kY
zF85N4?WaaLMqjBjc4jgl`JtgCf;z>qoUgj!e?<oF>W~h`UYg)YAK0R8WJ3X`V^j9c
zyGJ?d;$QiG<`MkpcrBZqKh9ZN=Og}RK?X7^&&bAWjdAog%=(sGmm%WU{ivNh&e=Uv
z^6uD63dpGik7=DA;w(FKZ07eK3TUh_Xy3>GkCPu7yzDi>-(iNMX@K%LCvf$=TZ}UW
za!9c5ywwPYE>6oc{Eq_ac9-=<wFf!XPqyOz7z%7*)zxnp9^}X^88T`Zp}-OJBDz!e
z4=369TF{Uq1x$+KgvTxqaSFBEUYnhy0LgIm57&kP&JSjA@2N8s*l(Bq&(Lguqm)S+
z7P~`%r8dLDRX_f4*7a9smn2f4aia6TEt7vZ`&VX{`i>F%U7X+b$h()rB$aGTxIqQA
zp*>EA>pD2`L2_<|&Q!RW<owIfv5OO!ZDAg_NCB1B0m_lAZq8I-uSiZE1ullS>4e<x
z;kbz4<@NJ2u==Wm&FqH(4lS*xh<=p<)WIJ|KRoN@49NL-PYX~%VDi`I8!x&z5fG5u
z<4%D+ckV^Wy7Y0}?lB9wX%uJ=UOW>l(Zjjm(n5XSPXRrSZT*3jU7Rz&FX`TnqQbf-
zh8)(0R*rEXXW+srD%g#YymdeS;0VYR(9K7Qcp8qs{*v6m*>r|aUdH5q`IzEDcMnHl
z`zi6Cc2o$>n%x)S^PQ8Z=W)elI|a5D54P8Pb#qELe0jg@2o;>Tf^9|?%^Y@N+aA3o
zR1oga*}%8_J4ZbCnxT&t75F`J5}m`oao8VS!;*)nP+@k`$ZmBt=R?=KH)90<7RnwE
zT^s4-@Z<lS3La3P^%U1a<G&xA;ncakvDQ=w!zACEehr*5Q^DQ7IaKh`($7p0d(X)@
zI9H_QN`<obe04{vYdMFfY8dWm1YUZ=z2k*doV~C7{&n(EK}%R;bVXVt=ML%Zet9|#
z-fP`A{;iP0aW~3orpC}9JvU@)U0oSs=0x&S4pPC-UZ&vq#Y#@kJ>v~Y@l-fyaHY;f
z^))A?BYEXn5gK^cuS?^!C8NC_ck<}7R5((-s5w}B1D)w8c_H6Lh4lW@$GrmMk%oKr
z^Ro}BVCH$EC4Dx7<NGB4`+sMs@cjG~+jGq$4%(14cI7Y)t}CcmcDBApX&bAOYOAR*
zCoj8Se_alWb3XF-g&Yld76qA~jVq9mv{c5dJRSO9Iq%50@g3RJnf9mLqC!eE>iqlc
z9;!WXYD4&W8oZ7VcS-bbKrfwDZ`aUhplw&*w0`g%D$@w7igckue0)k&W9U`nB6!qA
zO@Icfo8+RsY(F3p?F_G_lL~*MJPtphzC%KN^~rL1L_B8R7v=jZ&;<!T`S(#YSiG5n
zIYM8Nm$mqTY2rRBFWsefq+zsM=YFNvCK@ciA+WaIzZn@wZ7fkcNCOtVx%_4NH`M<z
zvCw8a4VLmHe`rbmiX3IfCqH2-i08k|{}fk?xcYwtBnxR^eRbn0>g!+VyBIoZ8bJFW
zf0i+<+EL|O)vBCK8feAaKjay7p!*lE2(H^jgUKgVN$1Afk&?F<dDS5r{B$}%fhE7t
zf#qvSezJ5>l3Mp<r+E)js<1UY&_x5%v#vLL=-ue;TBV)oDKtn<g%~B1E+ia0v}Txi
ze|}q&6~5hzv;{`gd0XhPWvFZ8s=R*Wu6<3Bi)pY|n_O(z+>O#YEaX&)`$h5J*c6@G
zg<coh#hj<o;dS9|m*-af$R%0lgZ4ifByoEsH$Uh@tE2X=?ognEf6zO@-~)e<R#b`k
zDgw`kuQWT%2fLBImUmphBn=9KV$c26{(}Z}ZwbH9q=TUN%`s8s0fZY@{jlq$f#?Sl
zev_+z(C3E-gu|rhP$Dw^@Uq1Ka*!Wqk|gLLto-whV%7jUaq(;HhcP<n7|y1ixi^X=
zc5jTgJ4%O~%qK@a^o$@mVZAkiSu`m7@<Op7`wzMlBHuzK_`?%1HQKoS50YhUGAatE
z!*5c`?JHOQp=0K&aq9vNRt080oc}(ABKKauSQktO&eOwZ;|Kqt>u%Q>lI!VU@XGpu
zwCg`aHO>?UJvwN;7VfpT{)Z0AN3cBj=<ui9F2*x!1nsbbOG6HH=*4(vrqd{zoY;Ez
z?rl1t`$<<4OUF>G?a}0%&oqcgL@~&D1U0?MTl_Lj1C_=wt0kBJp{GAC)FmIGgD$D4
zQ|#3klGV8Q>GU5OSopECy*U5S!*R=@>RWUWJ!2Rm_;MWSZu4C__K^mW>yz|U3;&^S
zd#=?eyU`)$VAZ(1!8o!=o8%M!NQYyM@i9V5lSuz>hS{3Sbl6Lh%m3&zfedf&WW33s
z!$pT=&QLS)y!z&Ke=7!Ll@0a#6>^c}+dZ$~1RZF{MOL2TOrYMoU&nuC(cyr^qvdHA
zCsF&MkP#a`255DiD*LvYi%w}wdSw#(oo%_Fb+U63MU-D_z50R<?EVp{YZs<a3+2~`
zh)s0Z8G8Gh?Z^a*b-lYI_%t1!*|wcDlbJ%t;l!jXjSdP11~LtoCQ#Vwwj>E6AIDqF
z7Xpl?keAiw%BMwi$U9`tc^1J%XIK-bbso?mwrp5iGm?ukoIlpO5$B_E?zWIPE_&Tm
z`Jpg{4*bm)Y0QUQR8VBEbU}>)+^VFvFQ#YEb(@{Fmwf1OZ@KrsZVN8rtUx}+QVeig
z7prz&g@=?fzn>LeONS2vDucxWT%_@#{gQ4i9h#Bo4~e)LWU!xahoJ}qdh3>~s=v)c
zqFYxEUT>s>G|AMvZ*c}448LxjEYARkU&UI^R<o$@n@!f|MLG<qZ!tJ8H;azQuQ%AI
z%z%nLo|yu#X3>pUuY&=_ba?ljyvo{<hhA!ZWqqVDp!xm{)AH$A^m0?tV6G!^zu8D3
z>Y5o8O`nYFBk+8fnCtn$a0cnW-g?yN5(6G9eCtb(TtMZkf+auyqJy0GjLqrUS!Ar;
z_AA|j4l7iDYid@^plAE;UA1{fht*Nj(}oMPDB(d6#c+lW8JU$w{&MG#a#&TdPz4>n
zxP_C<x6Gk7HS$j7K{`BUM)MN1=h5Kt!!o0L8SrLVf9q5BBJzJ1ao01S4rfjVUD8dN
zLwZ$agI34ruwMN>Q4X^x_UN_X!)!X3vubJKwLDZ^D#Mhy#sL3A_ndRw_+V9M^^12q
z7$8&W60*N<5t(^!jPBwQ`AIX{JzBnizR8N_brI{O?c>@!HXkVc_LZGaVL*3RtM}a+
zJ}^(xj}CsrfVzME-v?IngOTFNy23{cu%6!MTBXhp6KQ?HKRI-G?*A#Es&WB2KazM6
zzJUP`>(^zyKg9>F9wIY22N<Bsr&zM1ix2$LsP;>H>2PkeHL`zr5k1q(nk@EXKy@$s
z#tm715T>fHh#>T+ZXJCW1Nh+d%mM1{aXPSm4CdMG;)7}X|H82n1AKCn)`q>|1L^K-
zhnAdTKnJsTmF!)95c+-J%G;j-QstgYtuOP#C%pn(@{R$mhMKqUdkDa`Q03~JKXj1z
zP4?A##RnEk^9@$YGGNJz#I-GY{P1sC#-Y^&U$O(VMm^8+!R5sGCkfjbu*jtL#(&_4
zdy`i=b#w--Wha+M9Oj3<z)pumRR+`~%(QGz=ZEIcs<-)U8IUKId@G7B0B#Z^>%SBH
ze-@v=+5ZtgjGh17o_~e`weQh#%RB)H)QU=;Q)j@F3m;<V7x`hS&ppFGVGIy!&g|(e
z7a(|5=o+(?0i({hl9{Ijps_m4Bl|rAL>8PaY_AG}PtSPDYvTN=#=gsbI|abd$8u_p
z;Ny;haPOC;e6aX=Srapf$ahwJ#D@d?pv%^e*m#iObJ0@!YC}P=Z_N(V)L_89_hM=*
z%LIU2p`X-qj^N{&kOS7&_(Anr@zJh&I)pfDpKaJE052W*rn!#9{jE9Tk?w-fJG0wS
zB!dC+_6-+BgoVIHl%=?h@B{xqn)1+Rez+h$acL)kpL1c=MtdS&>;FW*Jj-Rk_DB~?
zdk-Pdd1uXx*hdGyBX{qM_V9yd;TUhif&tit<g}z(5Z>$S<~}$}hu!!7^kusWK#Jf{
zf-u2{tsN#h{x*Ved|oS5!HWS-j~nmBSO~%P@ezqQqMlYg>wdQ-P!Kx&avnXmX24Z`
z9mBJhLg4q;zj~pP;Me```kz|_;c!j9vQG>HNIPaUeLIAJv1`|d%We$tyJhHo@V*dO
z&KG&B6ZPL_r}0WpfdsgJ|AWVbp8sl7%WBFIg5n!1s=X75{Oe~&Rc|Ii@KpA30apf?
z>NZw{jSGSQMI%ZY;a9BY8$x2&1wp<>uYT=QI{3=Re82NW5Rl6;k2oS9siuc7opd1q
zGRs*~OVnqmUBsZ}B_T+j`~0bVJp=yjtwURvkl?8D-m)eE2Am4n;dQ-Q2xj$?22AZ3
zVD;Z&+khh^&^c{r_Td>FT=L(Q#5fAU&x**i4^rt6QCGQX#Y!QN=rFx0yOIHs|HPgQ
zMUvnEJxKSY5*_NJuQ((S`3#t)tSTe?DCC8mdevDWSSH<|;BbTiXOgnI9w9Ou8`;_K
z%V0pZW%IM+S4lAUUP9#IFddexc(*^vl>}ez3Iz8%Gr+>_O79IIgWj&0Bb7wG97=fB
zS^b3s%bAyAcb3xOyRyHo{ZbM{{Cwe^PT=#dqrlcwoCM52MmHV0=n!<e&voKH2_E;z
z<!()&L(`Tmd(|i;*u8Oc`pdt>edIIu>vxdAMR!TYhzbMpQGV6)U1WIZ`Kzmzc>mm%
zw*zrDBnYg~dh~$sFOyz-N0T!oU`JlPRUANvn#gmTHye@Q3cMHmkLV9@P<Eiw9umwd
zMyMVo@Ot<~a%EgG3C#D1#Xr432Y_3R_z?+YZn5T?7isW&_<VK6Lm`NdC=W?`NQckN
zmf21jGK?&C{|F@bpE#J}ysDf811b;J9whwsuy%j*%PJCR|I(2B4-w}Nl8%)}kig8!
z^I$xo=k*);LOT~okiWipHY0)#@$=<U0a9cbDA_e3SVf0V3*3_Uaxz>Kr9Jc4r9=C~
z=(3b_60G`>U2ND!C-iN~bGNiGd@fz7S^AF-FDrKxUa%I1O^nIQj|jY-)BRS({Ubx;
zpxi<>(O*)YWXzo;;u+ii$tpjO4t;c+(gYqEG_L5_o;*o|wwMRY7{x+xe(KGwy~=dZ
zKi#swK#&Y4FPwQ(szHYorH40GXp-U4ojS#PCyDx981=3kBEyYl(@kPTzxu@UlPsDQ
zf@7(5eTg|lygJTfeeS|Q8GcBfFQ!4D;~Ub>>m&$JNc!EGOXTx#R>Pf3!r*xbtaQk9
zDAEr2d&iXwOv|T%)Uz}QSEp8e_aVXL^_{=GNOW*>I2zgzMa1L3<a*x<La&={^e}tL
z@a0BZc#jJmf~{(X9XAWZ-K4qLokYL6E^YPoy_&*sy#9X7PEQ(0zLK;*c8Ub4em@;c
zcr@74=rX+d4H+WQ0o=Hpm_Ht7@|{{o0-q&QdvEm<^T5Ei=e!Cs>`JCOoVBLG->?A3
z#~CEZ(48p|OQM0-%}BvZtH}`2T4o$NMFRo-8ynSV!Z6|(9YrSQkCwZ#CNl#haDQAd
z?cG3wtJKQ&UBhGun22!A$|L53-09eZ1!PFnr*!f^pur{IrR7gwkl{&piTrtDo=I@8
zOEi8(-1lfROKCR^`dnXathOXW0oAl9JCX*o*-0A=Z;)ZnV0=n5qQOGJHJvU4G93A7
z_CrpL;FsY`v3p;I!TCvsXZHXNbe|<XI`~)^@?N$_Ki@+KuZdGH^)p4_{>rWB=PDX>
zTC=xY@gxI%M<>l^o(k(%hr=BKf*-weKhSO})bG%7-%=|CR>v7em)fXs;py_`YN8(T
zsO#~c4pjIp*Xw8AB?R@FUY@SGRPZv3KE9Aff)}bXjZu%Nkg($AkNH9ZKP(V<VTKBK
z%UWyS>?1=5N5Qg)n9mQIrytLMMuPQChimwMQ^9+UNyRq@GJJ{`MlO43@ce0>s-Uwl
z7(Q(^ck81<f%Ctw$4`*KkSV6<Y(<0SFILBD3H}dGDG!~sr-F|w$2u~M1g&L<?fXY)
z;KD~g7sC;O-##670(QiF{%Uf`&}E_?0>j=Hzai%3BgYqy#*m@pqg3$Sek!P|90=Lp
zNrueuwbO>mH0a5$`+dbl7*cv1I)iyscr)$qNFw;<HRFFJ_bnCHeczq9_Z=Cmoz=Ns
zn}~TisXMHoodl}V2b0QusNlX~Xi-m>40!I`nYeNa1Z9ncpY9iey~n;tWfAjqfOp<L
zpC&ShuF{fTbB+op`&)zbZ<3)Y@_D}HI0dRIn`eKVBSDc^qCuV&6_y<<jbCC$h7;#+
zJ)Dvv@V4EHR=1JhRVS-^A(R3qly{asdL{$|K}k7tT@>)Wc{pnRE(s3*I`v}kC>0iz
z``DU4$dJN%6?VCV3N;rUc4qqtgTc16K*tCQgp2M5=V>7j&Xc;XXhwmgHN9^at`h!D
zxtE*7PldHFq&#Mpk|9?A-f|sBDmah$sIq^N;j-PU)hE7F00(YXc{NP}mFM_BZyyRQ
zEpu5DphklB1D-#F@+dIUvA}O%N&*YPg204m3M{BOz1tB==(9u2m>Qb`pCn|9mwpg}
z-mZ?)nynPbdAZh0TayHb;GjTlE(LyUmET!8LIPpl$Fq^*#QrVQ<5_PB|BKH%XDvhQ
zZ);dv(Ix~Z<ffIRi1*h>-lhMiK!#`!Pj;Ik1vbWH9m|p=L5thIySZW%_?yEbT_E&J
z{&(G!aR~)Hm3vP16ZNoOMedo;0U5Xjd8EVjgkRo2#aP`W1K&4EQVq)pe1uGQr4sx7
zH3?*iIg&uoxcyIuJ_Sltrby|RNMP68dg|*o8BmZ<T6v;D5Y8-nP_5D@1Mrc_HzG>{
zlRHaj?hG05n+a!ZJuL`V^Ew<Vjb)%FHNo!x8m{hmEVwA_wf9~bW$(R5+@oa^Nunh3
zRgxkNtF-Jwwn#|HOvs2XlBg82viIJ5``$nA@7#ONJ?EbLJkRNBBLj`|Jd`tOEKu{C
zEN7^M5+u}VL&vW(!?9R2_1KQ62Wq(6jJBEK5e4hQ=wk{XJvH?oiev_%>aR6+mE_R*
z_+r@OC1yB7%CmLx83oKMNYp#JGXbYL{FM<W1Eo$88ABUpAXoGKQE`ii{}aZcv!To&
zK&mTyhS;CS2kfn58JK}&P$6S_gA5dH%GiI=F@riey<R9OIWV(oDyDHW!QozujB;i&
zxcb^I?5!O$n10U`^Q|BU-sjIxnU6C<58FqLfK5`k>DRQpGtC4yPdu2Fp(6+5AgxOe
zQW)V;XJdZCPg2-Z)Z_fj%?yqYPEonKki!Xz<J4mfjL;&Vo1e)<1_ko$_d6~!1AVW5
zt~{}R51h-oon{ySdE2!{8IwYPZNF=P8586diA-6Slfl+YTN-x@W~e){W^s&{0xBj_
z?}dahLYS>a$qg1VIG&&#`9+usXg~VXa~G3A;OpC|t#nMF@uns=>OC36Q&4$UNiu+}
zMzKKqUjp>-S$R}lVg%Eg3bup1WU&A9bI6BKMmQ#+VXsfrr(cC`bFxP;z+W%>vu*aI
zaJ2KEY4SG);B*Vt@qSGT=Pod_)X~wy)ZPB6{3Q~Ym?D+WonipVA4Uo>y`*qD<+WLZ
z5j{X~dC_Y_0_b-+2fvVDgjUw<NF!x3`1JB$-clbu^!}F~>$^&TAqv50$vJv>`K~_x
z4l^m7ZKB(lvn8&>rmPo&2;fF)wct-r4~qO>$HY$%pnRM=LQIby*50_=T?!xoJ=MWi
z#}pW#Jgdxy_90PkTV|d5B1#Xr0z>}04+-EsC&wFmf)3WlNaM}&NT3azByR`PLAlf4
z)weq&5OsNY0*lkbK+!z;wYLOF88B+L{Xqv-Hp_<}SP?+4_}E`b30kPgW91L`*+=7T
zuH_l0=)pD3^jpOW0nRjc7q1Y{AFH=ve%eX^$qNJq7ZqCACQ)@8@7za6O&RUBKF|S4
z!dELlPXdG)mh{#-(n0~I7Oz$$fsQo^FCGzEsF#x!5!l^FxrSOV@-EXu8hfpGvMDJ%
z(I35T{ecz+57WK<l1c)9vgPegFVKK^-0-*SUHiz;N_tx}mlp243T}xmCV_LmAKaOo
zq=BKQD_TC=`>19vDfIOnTENegN#|lnK;E|c+sGyrNa#;+ogvQiEJ+NuqH46z7v6Kj
z*_8zNuF%d~U!j3C`sqvot9?WYsykXU)S%1a<=E}9heiej46dxxz~re~6ZVrN&~l6R
z*PnVCKrBWAt1={zn|A;5qdsaNYb)YBlC+2Zi0s=PDyIQ@uDj;ysw6<dLnlvHOby1@
zbw@Pr?x6v?t#5BLsi8Z=s=)E~9;!c?v{}zf13pihOA<Wx(fvc+%P;;=!>2oe#sZ6b
z=yf=&EqGHwL$+MW_47L@l#|iZFP0kI8SO*5a`q6l?}MDur&ORV=aqOgZ3pG;s=wyS
zC+dg*A;A^8UG(WfNuYxn6{x424ZnAB2g#&fc=DOZ8;f^_#0B$rP~=6D&R(Jp3Ntz9
zX2Y|Cl=;KB#Nw#nHFr)}xB4!U<5$Qxe?kfWU6-*Fl-x!(y<LCK9i)QbBjwt1o;zrq
zm0@Dz1{K^RJwta^ZWm>4*=*JEQbU87_@8lNJwCaWtuPXG(I+PXCzrKtRC|H_3aKO|
zq$M&=9v$66evWE4LjF*~@JdMR3F7;l6Apcm5k=&^pRT?)CN@!&>7<GHWulJqycps9
zb{qX$nOM^%>PUL-gvSp*@1T?X;*M#=x$I}9=_ZtHqD0Y&7!%@LA}35u5_EM7*?kE6
z&e%rek!QiA`@K6zAh}m<W`GR3K0Ep6(61ww+hF)>i~_={E*`rezm2w70{-Av#JR{^
zbV1|O4hm{GJk8BV4m@l>>w3Shql<D9s~*I;@1<gw*Au*f`sa@uRed9aD>P<bSq#_F
zw%s^>w?Ld*)f!Cy7Ox{S_iOEQM~S>xOv7V!YXhD6kdwOFPX-M^wdPhe>qt{ZFRhQB
z0?xIGE^sSvAzkwN&$9O9pxSk<=KahDN?K#jo6aVK8aCY%+$rlwvTv5b;|3{Yt4m~X
z>8v858(OTLHDqu-Z_}iGYaNxH&VD~7MGn`R*m&m#H&6j<;-H8DImo6+N}X2TMBh`z
zgi|h)fh4Ps$>HF2)bW6_TVb962ZV3gS>~@GimHJ)rb$vbwsFCew0sS1wuI=qbP!<I
zW5yvXcLkl-X%Z>zCqQ&k{x6NT6{J$+cj*HKDX{h*nda44ML(H_L#Z@KfqDA)zly?D
zR9S8f0W1Wljd32#@mogg3gvd1L>!^%xKu)6yNZ1M;yb?W5@5LYtQpIbRTM!!ZO{LJ
z0A1qhJ0Fu*P|W%D;`A^A6v+h{e*Ck7>h{g!B>4$2_T4@E1Jw$eNGeIVHcJAV)?Vh~
zco`YdT0G0XK!E1~BW(%gD@f8uqTl!c0r)C^ayK4ZK?2fE4l|TQ|L&(glc=wt4S6i8
zD@g#mrmG{dFIJG@YTT({`F-@b{Bvk*z#?La{6`xyP69HAnP%B^R#2mWHRF^1J@hVo
z>dBo;izvBhnY(&%AL-w#l6(7X3Eey_Gi6D$kEX2@Q=}>u5&aVLTT9AaRPZHfMf3GM
za&$jckW9p-!8d%?8+0oug1RK<O6MN&-#a7jrbV<tA{D8awS#W_69{<cK94qR&RZ!S
z+(SVJd`0VyE}~_V{=*0RcafE&T5bmKB8uoSZVsK=MKve72PkwGk<a<FSi*S+?Pwh7
zkxH3IiTzxdnQsU6jLGv1Xw9SHQj+o7ADf8zs7I!3-4tT_;eL?RYa7ureLMZ^<Q&?e
z^%*6J+C~jL_tnQf&Y`&gg0cw_H?Djs<QGQ^X#Or){6n!F^s4oX9tqz9(o8T^rrp^@
zUYwSue^_TwTF!@tHtkKMX7EZVv1SVK9tMKZ#1^u)bT^kVnM1A#bwg!KYv@Yn<x%Mu
zW9SHJ|9WrI4jPi`*(Rr7MD08?-t!V$sGn70Tf=b{J$y2m5fr?GR3$qK)}$5@Ge^t6
z$%rjPQU%NJ;^t67l3Y)v(FXdly`b_%cM7R`x~NI~w}JLbVzlqRpF(YHg7<3AZ6lo}
zCAO!|3kaEAkMv|(Lycl_ZCcJ_=+xl}6}!%LRPw<t&rD_tU5Xvgel)y=u6yMR${t=o
z?5-k#R>K>}pPucLLf#D8H-hh<)z(oj_h+ii&`D%0!7Ix~jDMJvtNixlG^!;qI9n@i
zAkEr#(a6PVWcsz@xM<coic>S#&^$1W?sJK1ghi~Qz&r=C;DgiX_fPA_?1O7)qfYNC
zzBPf|v$#}GJX=TR?017NhD@V6#b>Ovk?Y7L$~f!S&uJ8__0LiydKFz+C4Fm4KY=DR
zoV$*CZX$n{(zGJ71(f4imUa2u3VNNL9=gUlh5}lpjr(#}QNcOGz?8)aB=IrPt=DWB
zy_n>G_2<S2LL~|Ei`1(qHN$`+MPLFQzvoTlm1Xp&%(XZ?V-$(-Z<CoutfGb6l%>>J
zljw>5>qQ%vC1lNis8lLx7=@;S<I>0iGA6(DxA)HgYWV(<ob$mFT5x)FnfK@jio0ff
zFQ|PHt-lg3bX6Qit%1w;bbJ=kq3i>4W#vOi`@a8%|C2@3Ys^#;&oGRxh?K5S$F3k3
znFyP^?vv;=YehMW`~oWV?N4qT89-Yn<X^0wUqt0vM|n>^8AfW$C6|Id7m!Rn)tk)a
zK{TP(PuG&Mgc>fP>4Eq$WVZd&GoG-B*oM`AhC~gch*JjJEsfJCOxl~o|7bUoQl(bB
zGBb}Z<_5ailMkV28Tq|twndbB`BmV7CnM-dn@oEd;}W7!h)C@FGKLt*DVLp#7f|1@
zn@O6*2<lF6&+`2;jts7=>s)PbL!EVoYrbW3XlmhYSeVQZ>VH8`DDj&?zD4Th(dq-J
z8eRSRd1C?1+#{sLFO8yGvJm#4=Pa7*%M8}597M+-un7_h$C1d34r%V7PBd*MMib{Y
zjZ9eH&>9#FAhWp9k}bh;MC<JLDLl9n#pKO@9vvA&^%O-iA!(iHlBIcn&Biohs3HlF
z${$2>Vr*IS$41d8&*Mwkq3vkDDQGybYyk-jFCCvE-a9dxD?P$s3iX5!=C<_@pkowk
zubzFGK@*96Mun-vNY#9Dw<3QGt$i`6^7zt?yb5X37atEH1D&+g+a#@MWpOG0y8Z+@
z5%2wFlX(DLaM`h5{5yh_ZB{<Hw*NyuR+r^HiFK_J7P{Z`w-r(H8`yl@9Yr5q-!aEI
z^`gt#UmTn5Mp294*9f{VJ?JRU?cz=SG33hq>*sydess1bn??EbDB8OS$4C}>(ZO7~
z<Av+J$nsdoNrS#-6xaMi-PLaxH5L5{w|d--R9U;ydZS0s?oEvh+S7eVM67v5T4x+d
z7`dG-6d6MK$A_C!Er|CF7b5I&cA&0z9F(U_hmdj;yTnFeH=<2pYn<&LL{Zx`DFqL@
z(UCst-5bM$DDduCRx!CAl-Z^8+i+tH$#EHN^7s!UE}d$g7yP4Wq;%SgYHJWReM=Er
z`8<NeE*|{zcy<sCR;|8eHyA~Pb9=cee}<4_<N0qK<by~c(!~E>O)q*D<zDp_4IuVc
z7lIncdQg-|TYVH=7s~0$q{jjs=wrbit({*Nx^XS0_>5jBa%08K<{BNy>iH7}+MG7@
zpH1G)<@FKt;f%ejXvhdka5rA}Yv@Ji3kzEBru3p!<T<gl-htennzXz5ccQfHh1|7E
zgUIKDam_U85V9tuD7>-kLqq!J7d!<Akb|UJLEohg#JD^4`zmc0@}%Gh{btaMZr!+D
zpl3ONqE}9nM7Fmhv*^-_>yurmVN5>epvwTF_wMz6LCo(lk!l<EI?>r1`vRGd`cO!`
zufa}p7viA`u;~vZ_Sbqmgubjt>1AATXHNV@W3x<Vw^rIvP0^#>s?1)L6nDz$7iS})
z>5;Fs+i6F2QA6v?5nX7xefj4X;=7!;N^23#X+a|zFS6tldJvD`xKA?ri^3vgKe5g9
zA`ccyR*mrQDCsL*lZ#3RiZE(*jnB(KCts&=HGXeI@d>04UR%|o0|OQ*(L5dK#@%lj
zvK+0b=VxP(J`rC?+{Q#JPuHXGZ?sem)4Gu0(XJRJ$tE=YWiS4Pb3Zz2B_&p>*oZtl
zAEolY>_Y*BW|0SqztJJvkoMn$MEiXHv5KtkC`=&ng!q5G=xbMIO2ma4WdAnpzIt#s
zDzX2Xrn_B^^ak(HHxK?p)v~q`G#jl*W2E|ht;Y!JjMWhe@M}gd^j@lK@D3y0oL(lE
z=bzC1tI|)qCA!g94L=i?p-*`9(Pxv%geG)TE9d(NOF8QH=;V>f=q0|NAoqqz4m!|#
z<Ir_4V*kF0S?5MYNI_M*^yQykG$SHi^)dfDdYj;&Xi+qT$ldridT5GJM5O2PA!2^|
zzC$Bj2Wrs9$Wu~9!67tpSaN35><#wt&O2xN;2-)s_{_OI?gd)1j#M(E>O<?(cZ{li
zOR>Odx^{)=4m6PY^Bn!PFNjt0oYP5GB7PJHzJmjSIO<5Goo{9zvX{|3D3kgYnIjR0
zfq+4@_sPODkE#%He(0Kani@iy1KahbL9ei|zS*)a=>YnA_ORWB(qgQ6(rTU7win%>
z{zmZK&cy;xO#haS^rOBi&D*V})i`9Qq+Y(O8_6WJJ`J!g!-=dshplP)kyq+h8@yD4
zebq=Qg9QfA^AdXMOUzBU(p!s$ouLC6(UoLx>wm=pMw8KewtXl;)RFDR`ARI;G8HXW
zJAgdX#?M%G)M6SRCU<Y^e)Q@2QaOu59iAOFihp>!A7#ar1}8_o$8+61!$r~~NX98o
z#qMz(ezU_JP!dc0FLyVacRW(D4x_k|XVfUlO*{Ht$L%YQ$(6N!ePjro<?~Va`{gTM
zOKJS!n>K_#N>><@ThwA%hSVEZmWEK@hi`Fg@;|VW&b{Q8`9UNR?R(O@xCSq+o~1}8
z@~i8^je=@{Ok6hd>V3n=I8rx9eUiq1vC;Yg&PXEP@G;OW75M+a>$8{paN#g|D`>E(
zRM><mqGS!j-G@+A<lIX$-F7@ByS`p1Jb+G<i$@cZTX5z(S(eAHLumKHZ3mLw-&ol>
z=enck2pZ@fBZ<&y$HO)3$LF67qD>19{a=2qxV(FD&2F4{|AU?Jzxuyn`GT8$<`NS~
zmT_USfT0u1)G;y*vJvB%KP1^i9axy>TzuB*5E{}c53LgEz~gsAci!J0M)&0RmHQl8
zuwjwQWzTbCDDkcG4ioEF{ChpRJ@42w%G%j=w&M7McRIpF)2k*>5kHe7ZB`$KgV|wn
zd4q^DFyY^Z@hFZi9hvXE+KFyd>pddB*odzM({}xQJB7rZe0&FFy78=Tnzz>Y2>R5+
zo%-$M0Ir+To8HJCLJmQMt{W$Q;xxX{`#D)NNWVBS;)K&*9P{~&REE(M3OS1j{l9v#
z%Ag#DdF&`swfnfyW;KYvhvXHvW)7q1c=-a~tIc@L!XnD-#|)xl<am_x?k}#%PugXa
zok0b>{ie=ZL%5%<!sfTZ2zsq4cBI{?7V}gl8>Vh9AW4S4D~XX^*y?lfLuZ&mbZjL0
z;hY_K$wI6A<--{y#>d3N;PVFyP!U{&&n}>%3kJb+yd(JCA6=)?%@L$qBRfV;-;G}c
zy>lpGpF#0-rkk(i2XX$rzV`Hm2{h*|WhxZdfwS~9KYtjSLuRS8%w*61;b@vP|6*sN
zK9{v}c<{IZAAEXJ?c)0-B;T>qbi{T5Q+4guRt-#}r5RI3F^d5#0^)N;?lWk?v?$?`
z;s7?(cJIqLFpDlz(S%<;FpSl{ka|BVpF-Edc{z7I263k)eS*Z)465Z(h@CI*#|_OF
zQ_j=Oqlu$|%rk2J_#)32rKfH4Xsq0S{!ZTr?*5{yD8N6BxSV&)=rwz>hX;>0%jyF9
zx99cWfy7}P6zlkn>)tGC_UpfMce5X#<{A4@*0g})JLZty{b795cF5Q<XAXTAdZPcP
zq!;HMn(gkLT|~he#}2pZjAD7Nv*bKfb4Z;0Q&GtM0sJ2a6B&QjB3i3tY>-wM!`=!?
z4@VW|(5)H#E^T=T_ccYPbMGynQ|~K({_-8fH<TXC9U?3tt%sZMPEifuq&pMig=EV}
zO?Q@!$#@Fa+!QouJ~e|lLw?h(6YJM1)GKntWf?Vu%$+5#8^ilTq7=vc7LZka3H^fi
zIPUc<tc<+2fVwTdhAXBK`y=9W{Jg+28jH{)Kk|JT>mA9UNbOicYo{Y#<IF)^^;&Pz
zT44n_-uIIvCG=xs{@`iR=c}mHqJAh!VhUTV`WaI_SwJF5?B{QFcH-wjit4sG>nQD3
z7iUM;Ft%LRxZsLbPyqK0)vfCj_!(!}r#rBOq6c{E78!@|DfasQ=JHh}`B~@A6N?eN
zey`+l;>Zf3X2^P`Y}t>`a!?KNJy}OG<0WU5na8nO$4@D4KH_|Ryl;eNaSlKGK|^x$
z?gCn@{KAmzH;m(6Q@jxITSMX;<P3cAV>n{{>d}LTSJCS%y|a(=M{v-g+0H)SH5AB{
z`zCFA6i=Ibdfk^^Lu35^O84WY@JC)X&=Oif%`A&Hsx#xbZ6xXEv2Ux0dzi{=IdK5H
z$fpRN_`Hd9lM@cJH1=b{`HX!|r!Ay#awn{Wdk7cGN0PP2ZKA&3*!km}qxhbykd46Q
z4J2)Tf;@R?42O#!v)B8+j(mf6j)cjM;A3vPXD#k+qW@-7&V>IS$L7p-w_mKSBb6~f
z-M7alF_n$lNAi$$6wqN8zCAI9Q=)QeUr=qL>5ys-*VIvL+UKSEdutP2-aYZTgJA+k
zYFZxCXWvBk>)vNJSq<a&|Ex2Ms<zQ^!-UOCg-Kj)5~R8!w23U$tr)JyPvLQIUE^zb
z13jwM8V(to!qzk`w(AocC{1tr#U4!InQ-2qsIX1+YgBt(eRdoREa#5~Qf;H1M|U4O
z*^c9dhDj~mv~A@0v;OpR##wCexo|cAz$RKOd-$<icN}LojNCCkwSy{M4j=s-Hi=or
z^CxWXZzHOgkxR@^C-J|c`qTflZlfOm($hxfqj)DSYPmvh4^dA!1Rs4riDTZE7P?*D
zL0X-R+zm%ZaO1@4NsjCLXd%m_?pwwr9u}p%s?D^EESIHzyxAJYLSZ*QaPW};Yf%1w
zFLFn5d@C83`Nw@EzgF{hylV#Avu{y&-`GLB8a34|T@!fbEC*}M*FEI?pHRMJKe7Hi
zFHv#KJ_?#Fwf3~1z^f^*6JxXXkx}4UMc><5>>4yHAZ)jbwEjZ-p@Y+Sj>g>P!O9*w
zn96CXU^a{6$|)xE6!(y5R`1ao{b}4-Y2RQIvX5AuOE;AErtksROOlsKNx<p2ZJuQQ
z1SXSEUFNSQfv%GySJC}hd^PPOq3z~A8c0fdX5}z}Egf+gyEFl|=S;J268UEPy=Pe>
zFDVpSz3(0D8^?_!CYusz1PFWJ6Z^7$4qq8-O*+Cx0$GmJLkn56m~^RTz%qaYjAKRQ
z%s)@zP(c%yz3T)(=QTbNnr84xk(sL>*$LpGugNafFoUhF?Y%A^AwaD}76p^=6wV+$
zGD*!%3KS}9og)|LaPYaEj4%}fbWyMi=H$=d&Wb-F?u`VvbZLh=2j(&D((bQ}(*&ST
z*E{vhaS|WDJfw{`Ng<<XNjLBLG;Y06rvKkdQV>jAnti`Ai+vB!N)*YF!byhiJi(lK
z{9RfuxN4RFeHvd`RHf%IUEQHTG9OalGp)Su)H{t;?7Q@nwaGx`v6*W8yHUKB;k#|Q
zMh=q}r%1cS#&Oz%KY2r6$zkT^VQ;C~F>GA<sp8i@IV6acu`036VcTbQ`eROHAaJ!{
z$=iAgA6Ys^+2~IW<iFmy1Po7L5h~U<4s;Yyl{cHge_{#?s+?)h8z6_Wqahrj5=;1l
zorgAQ7%7m9P{zy@&f>E?nK?ce$-(7R$rSC+Nqp{?b|y&(1^7$RJQ?X&z#|q)>e`qL
zwmE8bzSz&>^c07u6pzT^Oq%Zw*i7NXkBMuBOBA4$nbGjUViM~e3V8p)krE=66iA&O
zj^eJgu@i5eQUPJ9zu&`S2J2cFlh|)i!1Xxlx7&tOSVgy=Jg$HexYwt6-pb73EEQH^
z(FqDLWBFLgrZtV9dmh+6)Jh4Vp)5-ZkH+ysc52VCMJk{(?wH%7o5IR3r6B7*6$rAv
ziKrEr!7QCNnc|XEuwfm?>Xto;!)Jda8?I47{0Q@qyzV@no{*q;TuljT5z>5GBD1)Y
zU8aNT9u?3YaF_4goWg+wC5>-N)R41k%RHVig{>_3rpbJ$!34|LcbLrLMSh<8cY8#C
z3{2Dinato@da1U0H>hE=UUq)ga2nTCzm4`DpazZyvcc&})7ahTVIBn+4b)u<`i>~3
zvB}_zH!7!Spguox`-0aL@&5-13B03$BlTxRTrLk`S^2okydFBJxVJG|b7mF?(N@uY
zx1fO~>-bBw8uR!u>zV<9jt1U`PcXXNp2YJ$&-PezX<@_JQs=Da1g2cOX47|&4%(MK
zeJ-;k_PbWX@Kh%aY_NVmwVXJLO<3ROzS5wFbA2B!I=9bY^Y!rl)R(kif6rv)=J7FH
zJ`ktc<4zBZV_Xa}9~bfWQ@k=d=ZNPAsXZCKjbr=Yb36uj=mF8|ue=<e##26bj&G&V
zLGMsmZxz=hzIkWQ_EG>nD9U$xO0Z7iMB^()cIET{y6<u-eobMqiIvz(_vv9Sil)x&
z$^_=Qc6Gtnhyh-aESf$2O~f|=qr!Ji^l-cXtL#UmF)Zo6>zuB`2m=Op(rC*^u)~>v
z(#7A5pcd4}y~QwvWnlh~dM*R#8!p~rEhNSx@lm!|X8_$tS;b8&Q&`|-R+@bm1DrT?
z`NTERNnFtS-{Y2tjG!Fju|MKZjNf$bP);8sJUwk#Zr(nDw{FUki0?8&DdD(E-^oe5
zWcKLJ9abhFkcNgS-zMT0m0@q`L1ticYf@$;=FjCOuOQjR2<g8^<pzoVrS!!(tIC)_
z<t~4@D%%JaBP(EZNnnOeXJ`6(_j$Y|Eq*U2oDt{~>zh53=dsm>hxUy!MhK(REV)C>
z-*uMScOjJ+&*|w=!4o4m>;q4j#||@eKjhY2QyRy9jd|wQWz6s?>gb=4k_pV2**<tO
zof&2Z#VZx}N3kqd-t;;<3pi@^NEXqJU@|>R16DT{Ah~G~HGXLd>(EgcWK=T4z*CD9
zZuxP1N0q@^9I?QOz2xzv>H&NuTnXojv%=)3zHejM<JguTG>n{CAmrQltxzH#MW5R~
zKwHHE%GK`Yx)}zrsusf;vT#-ydd0IaTsDnU)-UQstFS=o)6?I^q$ly5y!2boR2DeW
zIrNT&eiZ*`U-<b7Sc(5*AyRgJ42#QOkMcUi3g@DNXzU_Kao=j+wEuss!2Wx0sXl8Q
z|0(>uk*CWFUTN&~xx2*pTE?W6#CX{rLo2+0NAZ|nh-c6TRyZTGnJ1(-f>|B(^Ue2I
z;dTrM^L3?Re8%91dZjiS%m&KXKIECg-Y;8^J9x8#HC14>aQGOe)a<qNr(%O`3(8}B
zk&{?uQ~Uz?S5|PVY;Oxzo4_Y6<ijLr*??pA^4Rsw5j<x?k(2X`4epD*`0v)65o|a7
z+(EmD4PF(C%$ci?U|#8#wccJf2uar&EzFt5)J{Jy>e8_RiR_c}9QH%_dHV5wSqpZ^
zrEz+6*smX()om*3SF?l5+3gF()FarRWATBG6+7{Lgk8dpOyV!6g`<ob*x;AoKq~q+
zggI&rhmDHa;msAtU%c@Hm`n3ZhZPqGwE3wdOf?N+>zm<P`Scu6|EMxJI;R^qpO-ln
zkjVjIjqv2?_CL(StHUWfzyTz;Mes&LFMj=e?gY^*h-iJK!mo#MLFb&tf#V#Ibn)<Q
zuaiT#>EFyse<%mk{<!xvkZBNC%W3ZaXyO2YzhPguRET=r*j;RcniG_$DSJq($FR)<
zvfCG}IN-&L`qrXnUD&ztL0rmfPB_-I^=Xu^8&~-lI}{ah!tNot!`s{4n4;}j>c6j?
zaBA_`zlOd+EaY_Q&gdmhm}>v3!t-(v<FJn4@DNUz`59~~uRe_LMi|tadvb!C?UQFH
zxeMo!TAnX7;{uJDU$m!`2C(|*JG*2iE-2x;Dg8rt2y5J7N%foN1jf|v<h`ao9Oqs)
zQR~D7beG8G9>#U!$y4EOlSN!mT<3aG_4)wrkuEx6eV+?jM`8`fPxRuA!xuklv~ht*
z(IXUKK8Wqs8&2Oy=7RrjJg+ZG9mFwxjJk^-xM2PLxq(8RZv1RVoI}{08(5CTS6+7<
z!S*q7T`|#I&>_!I&TTw~Ux#e@c;4m$-7OM+>K7xJ%OUwx!VfMW>zD7KyxNAf!aQ!;
zi5!6ET4ipWmj-aI<oUC~Vcbx5ef8$wm@zCYM)%EsgbO+|Ymezjc4DP^FWFJc1Mo%q
z@>X?iCtgT&yybQI031v?)=cT}7w3ETc?t9!fS22i@+P9ASo&V@-N8_9cyy=@JqYZ?
zIqa1~p>+o!x{qKISkZ&)l{<H9QV)QPW3dl2We?6syVy|m^8l!JpJ&K-?ZHa-JqSC)
z2Vg_XXqN54AFL|*LG4i^4^Tu-#-`-8Vd+Yd$ETk0faUH`O<7GlPOf}nIGo4>&%!c4
z=>BNKlO=9q#tp>%U)}yGiZ<hVC-b2YC0@{bJ9+Yv>_0r>KOIWe%mZJj6>f$Ic4D@)
z0>3{byl{1AXYzSpFV^I|<H}RZ0~y?&S4HOAac_D6gSI6vEYHhl*ra#j&Q!0b3f8=E
zaPjL-?x!}a`|ot#kvF`+ENzqBUO9|!oG9Ehc*g^}ZBNZjZCf#AU;Xaa4PFo;yqeOo
zZ^2!Z7pFGV`QSqZi4m<!J$`MF{fDuf5ALnB+2soS#*b?XNvE^<pe8!pjjgB!KeZV@
zW**50&uv|0P#ny%Wr0N&m*B9tdjbi%c+lXwxC9ICEbat%2(H21T@nI;V8Lx6SO`vV
zSa^K*)~kB&)}5)D?wYC7)qh9&oEO<R79XK!E!?$n(-`7vx8@6f*XqbufG`nI?CHQ_
zWOn?6*FnRz3C!X>Wx$)$-u*u|yu*YR`&PYa4+SGjmUfFP5gs6Gi|?Md8!u&3=8TTy
zKK!x&l1V+Px=pEJj5{qS3VHeG<RJ-s$h@>8XZ^UTdd$+cd~*}L#w9pVcTM_8bg?0G
z0)ogmCC`tlq?;aaR3Qs0pbtpA*^+Xy!Q{T{njgQ|p*@@?K58fE{ngV|=b7IvgwZF>
zO$N6;`odJ0fO+zCDoy=W8ara{W;PpDFn%Yre#`jSlI{WBP1iSN0sk7tzy4Zr{~?0f
ztd=i#AK%bSSrjI_$MLTGW_Qy60iQ8RjFmHxH0JW_@&PL|9$+ixLtq-h^}~gx%%<Hm
zUHz}~TU+tOgeRb?egHi|(A}cU1Pocf{L~w#FR=j$1Fgoq>0HYYT6W%{Y>cFlGVG+C
zwO~FBos0ANg78OAZO3!y?q4e9uuu|2P9#@yq*OPF99OWa#C;$^N=jRKKM^BvqtV<C
zxAOpO<Z<OsQF8aQsnDDYz6P3F<THjE)Z)&G{_=K*=^~Beo=2%9`$-N*T#fjsBYk`<
zWe=4TTlZ#N=Q`m;8n=eytl|5_kd0*Cmc2(c&2ahIvQCeF(m>(H`am4C7l$cO*Mdb5
zPJZ(3V`#_*LTqenE5qAQ|4hheARcL|$q=UD*FxfRoR@&n%Z!n&44fgR(Ozu5x#~#6
z1UO^#b{@BR;dBAv%13j=Va)TR2(;T*#LGALx(z+FH-QPuo9g0msx-E5t`2f&Wq#!P
z%sU!KNO!mzQnmntzwu3Kwv__by!#E*UNK|P``MMeeK9tDus0qFwFjDoo#%hPFlIdG
zrAq0|XTmt92k5gI2t>tCPu)GX(o#_reR3m01k+31LZ~wcLS%)cn8ST>8pQ)xne$CB
zuELuCzWMYisW4h>3`LdB)cqIN4FZAQ=;8$y@FGUW>{P2wQ~gmsKjNg%tAo*q4o)9o
zdR>r7lxm3lDCG?KOU2NFz;oZFg5R{*&@Hn1NxfE^i^W(iQ<sB;_5ZdFoA$IqpE>r=
zCX-^p&Y!RsC;j6f2_(ACiO>lz7~Z_+sQ6;g94Kyi4vWK&r6P<os<4y&quE_q^J{Qp
zbKP|_0E*>XG+raf!G>+QBe(xUw{n`Y@_H0kQ;OFra73}IkRqvCCqw82G$6EPzxpj(
zSZyL<J--YvXzF^u`Zo*=neH4`=%Gb1%jDbheHy8tUeg)Fdk<s6_9tXHNH~0wqzNqP
zw(twzyooFYt0ed)8jh34yi^)=zDXxcgV|9Mdijla|5YOU2)vRPJu`84dVef)2R3VW
zp0qJhYzI>RvFm**&?cjge^%F}qn4r>+B4Q$B?-o}%6~MRbC8;?1!2A<8a!<%YW7^{
zqILlV9E~Ot1b>We%L%3roX#r8$bt{jPvyJTZA`r5A%ry!Y|}gwjxb$wr#>7@61`P{
zSr^OFc6~g4l+6k#Y25cHYfwg&^CQQWZ9yZLGmIeK$;8M68Qm%Rw1SuTUpkCj#2`g~
zbPYCFB3&N5Re<%$(29C>_1%x-^LM8lH8F93B%v%VPf=dQSazfr&~#Z^=Uwx1!zr@!
zH{SY&0&>KJt;jl>>o~<C=%HC$Ju(AL{-$jnen?9K*m96gT2RM}Fv;i?u_!}rh10(-
z>S~gKFOD-~>BW+et#ZLdQv@1cE1o<EN3kxL$3ZcYQ+g?frQ4W{nMcesvWAl{Q|FDJ
zgd!f3_1tH`_@Uot<)*VBM8CI{6lz2*_`GSVW7#LM>C?lwqwD$9)ktikoR70)EU`$f
z-NA&2xPVg1vTV7Gd1%gh?~71VX4k!~ZHwRTg{ty*FZk4itT=h{1>@!1LqinIzigNl
z6X$wd5L1jZ`%QcxMS1j?EOz1<FUB3n++@>sxk*}7*0+8c;dnOo_)UWyt;3t?^Ry*)
z^d-0|-vK|=WcO`bnz2g3h<WMLI>DF1wepyQ+I7zFeYO_lraZW$-Ij)1ulESz;`eLL
z8C^yQOhMr9ITB-z*I=V*!bncciPgkq@>g!v?N&D(Z)Bbcx}6>yqBwu7K3}ac(efpo
z#F8!%7safexnUAUQW~jjkM5`Z?nsllnkIAk^^ms?gZNWWzi~@fEyyDad=T*ZF^jx>
zjzd87GYv^!x+C|vs!6{2#3c)-2Gx&4)!>OhEOMD$80fjp)PK|RYoB;i|6+}fI!;ju
zY5ycf9PDSENR#1`neh?T@^Lx#FDX>w?3-0;Xuf<<tMb@6_sJ_)n1?URb|z|ly_c>Q
zCr?5AA=A8D3*o7K%$ohhG!=XKWk6vLI{*^qPfDLZS+G;-=`=xx={-tSi19josu=S}
zl0{?k#w2An0`XOp!uP#zyPW|t<98mo$7?+aS2(p6IvJDM5uz!2O;gE6xZuJrCxy}7
zyG$M9EhjzmljK#^RdNArBc|l&MAm($xOR((N8!|^qAr!*ND6ngsk2o*+1Wozx9VaE
zq(T3IDiNL-X4)O|$udKY1~%2j$cf3bTRPF$V<2aSRYRGB%I3`*X}LGSL(h<u-aKWJ
zjKAg>xFY6Az{dGmmx?AMEXPK>Cv>8!JQBUu8>Sen<a=p3y=9eZr*&QUO%LQeI7^FZ
zAi3xCHtBjjDI}J`p-LEKY(z!2?DbJEF)A*(YMWDCk&;S;dj3jD(5)GcF@dq%cL<?s
zyLbk2!ZT3rkJW|2k>S~%uEyz`wZen#2N1}><!B*4BZOLUAWy$ZKxV2dvzdhj=PiZ!
z4%=l7ZFYN|EbwrK*FALQssA_oOii1+8*eHaL*&I9)f$}bjlQq^ckd|P;m!$HOw<;A
z<dBSepqZI^HQ>8-dnu3_KAw?jQ5wvt*{`c(gYsOhI2T2eh=!P`*th08u=#z)ad$~)
zoB5vjhf6N>Z75X4owJ00!?=`g65bqtab?S|tY>BF<{mUx?2i-8eWMtoHY%~}MY0mn
z%5^c=`8(uPiTvioWIOxln|)Ns>Eo;La%@rUz-H%{A1KwEsLj<*k^ykZCWg=iL3LI{
zHqxyjx$_?_=d80enOp2~`Wi*FN>T>H4lKc>%%c32ua4xI-mTi`^H3XDRJ3HiA&K}9
z@(|Uepl_fEuab;9Nggi=0yf+m{hi5L5KeGZBUPh7uieF3Dk!=rrb^;i2?TzMIWB+-
z8{g+`HYO6>7`<w?AUe8@nglI>AGEDV#lSjn&|=dfaJx<8yn*7mo9wN~`3M3%*_Ilo
z)-y`I$L!D*TqyfCsWX6-&&P_oPA=ki8QVYMv{>9An3Vu-*T`aw&t-8D)uB*Mf=Wko
zLg(;_o(^zCvf<#~4Y=o}7SjREOGu~sk~hFY>Udm8kA;`clH|J4daoKMWl8BkHYEpv
zaH6wwgv`q^i;S!XT@OTyxE90|fx9V|WYe))gtSbyH_RWI{5>=LUuixbMzCawJ}5sk
za~8G7q^H3>FkX!Xivh%30=r^zepQVdSC0&ce_f;Q*}7*vlapcnJt7V7Cv^?T@=s0G
zIBarc#v`|1S^F%0NS7?=i-^%V?~lu5XjZva56`l?39A$JQ**4;j%5ml*+%=etJ8G)
z$B$;7r%0VghQDDfK@t_#;`zdfNqZsc3{O`9Jj{l?Y&4XoP1p$Z&yxXApq4j#mPegY
z$8*x`r$u&iN3hIuGS(|t!)GL`kovZV%09%(2gP<J@+7JPP<w!w0$7Zv6$Lh)%1{9D
z)8B)Stt`RK@Y0i6ZDI+T)9>MD=E&{7o*LSQ+DLXPxCjFa{@<qX&M#;005c06Wn>fh
zL3=^SHT_(`b{|V)mt97-*xX42It85|bbip+A+wUx^9s*snO<aff5eAwK@~I@5Mjnt
z3_9)Hb<W<P)ZkqJX?8yv0X~JjzLBq%H!D2%2b=UDAM$eI+Uyc;Sp1Q@@+?JO?B1&0
zcVYx~fg3s?*2J{JWjsYI(Zn;>#;24jY)C2LdM0xU{84O$p0LSEjBg^w0eKkAk-=<B
ze|}qh+$cMj3_j!)nzH70E~VBDv)8sqhiNGUuU(xPk`NInu8r*>3y&858T6BE%BFAr
zJ^PgvlsE*b6$)m2E8BkLY~_E*POe4qZrBRS5%ON(VErC$d77Wx{Taz6Fn7%O$AE%s
z;`18>uc}6v&nE>YVK!Iq;*6{SenSHOI+H-XW))oUN&J#Aj|M6cR^J$|II-F#mRlx5
zJxoIBot2BMqIY-WYFB3ghSH=Qn|UMa#%+v-$Aqoy&2Zqo#Ty7vUU})-m{J`TT6-pi
z#Q|EJ<`XaPD#NHBG0N~uq4LFbGVo(q#zOuv?iob*PPkFjAxR6lGmYM2d4c$JWbi;a
zD~K?&%VD3<TXXQ}eS?aiKa(1tjh-Mx8F0n__wA%S8{mGoMW9Pw5uax<ufS6+M6jtn
zJlae#YEfC_#1o21*eaAu)>Bb1X3aChs)*T2I9-efP2E7e%v-<jAS{W(Q1l8cL)~)`
z9O6k*G+j+~o0o{BFs}ZA#w*Ak9Ljoo8D!3$nNb3Bx#=PdgD@*GIBSNYqs(cz<P)}k
zvzK-K`cuN<@O-HO<$L0IukoNy5@^w{hiEqXDqJqEEe*XQxa4AoK{ABD8H;Hrm!l*i
z=14zs7neO$#w9qvloh94)jqGivJg9~c-?ybNj)^lc_=SFoqzF54MJe86wLyfT|zEx
z<=h8D^d&mlZTQ3Zz3v&O;U|fzPE59iTf<#XHYlkB8wy7~=%^I+S2?Y1uG$d`@^G%S
z2(%)c_z^3(X2k5bU+{^{nZc5}?D-xlt3`YjWiOs$KqplT$LE)+1C;qDJw9P1i}0q}
zRxJ+cIP#xA6D(hyCj3~wr<(3f?OhF2ODCBCc7M)t(v0X_AcxbC%t+h|5gI3vSQS)~
zU5Q-8<Dxz`X|e2S2G1~oJ)D$;e|P@AEX!|Shx|SD+T`Riylu}joTx(PVyXIQB(>jf
zCG){nN(pG^)+JikIz3SI>&m>d14LEb?7X>I5_z|5kwWo~J<(7v>HbwR4KldSLt#}n
zxNS1Kt21)HKvS^Z{%<-6!}nCao%v@7vj^hD-2MfxkXMtSNIH#ZYSE;Ll6ElL`~8WJ
zGQx{KO;>*(U%t4xx=QmP5n|ZJ%k8n|D?^6bu35X%lS`PPi$r2q1tsPR*dn8gvEJ6M
zbPuo>Alxs=S6=wGmv$IY%#|T0?KIrKo#Y)XbXh=pl&<Xe+*=@uCcVI4>Lj3TFF~HL
z>w%y5kZpMUy+2i?(Z0F1FL}KXMc}xCjTITpZlfCpQ=8@w87p)6yv?U=li8=_^Dcp4
zm?SqjP_Jr`^ppE+e3pdm(b%;nkCs{M)+dJ}Bjy5EJ;(@gF$jfHIAu>GOM+|dN^l9P
zy-|>Jx|?PiF<34wv=7(bWUq^`9HwXR)9W0}y?OWI9V(Z#Qm-ZQ+XbTghRaIl`9Ehp
z)}YvW4vC{lxn`_Zn<<2a1zP-1Hb@|M<zQ+QqESJRi0p9Fc|u4#^Lk3te`^#q8I+vl
zH&!`CdD6S1IgCw@7~_Jw&ux5fs0Y2!c%OJzzq2s$8SOxKeT`?wA_Dq;33G2}ZljSu
zPWA)s%X0AEr)7~EwB^#cNeZ7VI_Axlvl=2he8xz78V>%@ISA%%lb}qXsKN@~gI>Rg
zbntq!3{LfI!k&%p%b{{*XtiQ9MgK!f-`BG7{=4Gch+7K*Z>Fod7M4(Q+<;H%knBRV
zVaDvb9nvg-Q>P5ueC0sKrcv)w4CfU4_2Fz9xxnHB;XuH8KG2r|SA;LA90gF9TS>R<
zQyae8t5l17FgI<V0?`k$pX<(2F`yn7ilqb{>PsAtw2e9%d)OG|t7lf20!Rv_1yvJ;
zyXpGI<yp;w6DQ9Of64u+hdmC3GMwm3bTd3Td@dEXJhGkFqtlV+to{{v@%$mBT42q~
zS08EbOJ8f}XI!7Qj;{>T`eyqwSl{$|g^8KcSuhkD1}$RvGS1ySoC~-sY?znTU415(
zd_8U~dFu!6($mUUz>pV*I_OKE-K*yp^n-O3*9@-mg-g~k7F;|nfXr_z@*dPZ3Phc?
z>MmY$XxTrMmKDtf)ht29jn%82(|1?6AnZ85Z7(-3^vqFS|6CkXt+VaF_K$=)4KC5L
zHm;vc0dd|$1)$?~n*ph)P5~S?5;KL85#YlQ&adbkgU_nb>SYn^l>tL&fZkc|i2(}d
zoz@tu9Slm*i8~_wv_b%R>otzD!{R1yOAq80jAN=s%FuD2fK#d8HUtTn4{E@A{rKa_
z9A!^hf0eR@B5|DK+7Ob6V>g9#$vhu)?nPag5&ei4xOSKGq>Ccl{@p^}X0cGFc6!=W
z^SQ=Y)Rif45ck9tY!paagh|IC?GHX&EDSGQ_mfd3ny^%&;-N5$^zXuBv;8b!2A!RM
zN@o&@$~ldRo|z7_AJ_S_gmzfaC1!W8V?soKJa%&A_Z}Tl3FP4SQkm)kd+?XXqlhn|
z3bSiJbJ!B5q*~LXzY&LdmNXg=#X>)ll8Y@B>U2K(j1s9t<=1L+3T%cgxOgNRYZ<7i
zx>(}yqNlQk>jfH2g;BN9pL|QA+E{5$7Vj*_jNXj@djEpTIfOfJpFfTyjFojYQ)?S(
zzBNY;VWr~DMkttyN|h*Z0X=+?MbbTUk&tA+i}d96Sn^uCnf9T82Da|@?v2%B<mqV{
ziSr&|b1SD1ohW_%O1}zL`IyNXh4Uur-U5my^wFT+`7T09LyYB+Mty@|Y%1hr9r^IV
zOQ`VnXMvtXBZ*;e^+7SwFlMy-Ss=sT7Nj+C;}ME+Oj+yHoczG~5Gj=qGe1<))l2YW
zk!%%?&Q@%^v6dnJ)Zi!Wo+4l%&jcjibUUOBDfq6*a=E_C@r#A(05BD3|9uF1dBbrc
zyMJ*UlVC@^`6T+_=UUvigb24_=FtjEK?a8??NgJ&>Rsd`mm@7}76((Uw0Ys45lrlp
zq1H+8JQ_tsEF1uC4{A25ikVZQ{1SmKb294+ki4;3(1{Xc{84>6RpmAW*s)h6ko|Ix
zW6UEgFo<c{IPbJ<*s`fR^Gy?PwS#Ww{?@nF*x?4OrUXDHMj?I{AjWtebVv&ID_#)h
zXBYDCm1pl?EeP<Bakq7_`bWR`KT%QKl^7eI|0{F+Z^S=y5Wwd-mb)w8e*^u0ZRGz8
dO3wWU^e?4kH6<Y0KU*lzz2MnOlKhj%{{Yv96rcbA

literal 0
HcmV?d00001

-- 
GitLab