{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "intro",
   "metadata": {},
   "source": [
    "# Recurrent Neural Networks\n",
    "\n",
    "Recurrent Neural Networks (RNNs) are designed to process sequential data by maintaining hidden states that capture temporal dependencies.\n",
    "\n",
    "In this tutorial, you will learn:\n",
    "\n",
    "- 🔄 **RNN Basics** - Understanding recurrence and hidden states\n",
    "- 🧠 **LSTM** - Long Short-Term Memory for long-term dependencies\n",
    "- ⚡ **GRU** - Gated Recurrent Unit as efficient alternative\n",
    "- 📊 **Sequence Processing** - Handling variable-length sequences\n",
    "- 💡 **Practical Examples** - Sentiment analysis, time series\n",
    "\n",
    "## Why RNNs?\n",
    "\n",
    "RNNs excel at:\n",
    "- 📝 Natural language processing\n",
    "- 🎵 Speech and audio\n",
    "- 📈 Time series forecasting\n",
    "- 🎬 Video analysis"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "imports",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-10-10T11:50:55.597914Z",
     "start_time": "2025-10-10T11:50:55.594101Z"
    }
   },
   "outputs": [],
   "source": [
    "import brainstate\n",
    "import numpy as np\n",
    "import jax.numpy as jnp\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "rnn_basics",
   "metadata": {},
   "source": [
    "## 1. RNN Basics\n",
    "\n",
    "An RNN processes sequences one element at a time, updating its hidden state:\n",
    "\n",
    "**h_t = tanh(W_xh @ x_t + W_hh @ h_{t-1} + b)**\n",
    "\n",
    "### Simple RNN Cell"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "66c76cf22aac89c3",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-10-10T11:50:55.741080Z",
     "start_time": "2025-10-10T11:50:55.629201Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "RNNCell:\n",
      "ValinaRNNCell(\n",
      "  in_size=(10,),\n",
      "  out_size=(20,),\n",
      "  num_out=20,\n",
      "  num_in=10,\n",
      "  state_initializer=ZeroInit(\n",
      "    unit=Unit(10.0^0)\n",
      "  ),\n",
      "  activation=<function relu at 0x00000135A6BE8360>,\n",
      "  W=Linear(\n",
      "    in_size=(30,),\n",
      "    out_size=(20,),\n",
      "    w_mask=None,\n",
      "    weight=ParamState(\n",
      "      value={\n",
      "        'bias': ShapedArray(float32[20]),\n",
      "        'weight': ShapedArray(float32[30,20])\n",
      "      }\n",
      "    )\n",
      "  ),\n",
      "  h=HiddenState(\n",
      "    value=ShapedArray(float32[20])\n",
      "  )\n",
      ")\n",
      "Input size: (10,)\n",
      "Hidden size: (20,)\n",
      "Input shape: (10,)\n",
      "Previous hidden shape: (20,)\n",
      "New hidden shape: (20,)\n"
     ]
    }
   ],
   "source": [
    "\n",
    "# RNNCell: Basic recurrent unit\n",
    "brainstate.random.seed(42)\n",
    "rnn_cell = brainstate.nn.ValinaRNNCell(num_in=10, num_out=20)\n",
    "brainstate.nn.init_all_states(rnn_cell)\n",
    "\n",
    "print(\"RNNCell:\")\n",
    "print(rnn_cell)\n",
    "print(f\"Input size: {rnn_cell.in_size}\")\n",
    "print(f\"Hidden size: {rnn_cell.out_size}\")\n",
    "\n",
    "# Process a single timestep\n",
    "x_t = brainstate.random.randn(10)\n",
    "hidden_before = rnn_cell.h.value\n",
    "hidden_after = rnn_cell(x_t)\n",
    "\n",
    "print(f\"Input shape: {x_t.shape}\")\n",
    "print(f\"Previous hidden shape: {hidden_before.shape}\")\n",
    "print(f\"New hidden shape: {hidden_after.shape}\")\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "rnn_sequence",
   "metadata": {},
   "source": [
    "### Processing Sequences\n",
    "\n",
    "Let's process a complete sequence:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "81827c02918c2ece",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-10-10T11:50:56.435145Z",
     "start_time": "2025-10-10T11:50:55.746992Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Input sequence shape: (7, 5)\n",
      "Output sequence shape: (7, 3)\n",
      "Outputs: [[ 0.02491026 -1.2344698  -0.7660187 ]\n",
      " [ 1.020083   -0.94504666  0.5592617 ]\n",
      " [ 0.5109156  -0.7276021  -0.29766443]\n",
      " [ 0.8082595   0.6000599   0.46565723]\n",
      " [ 1.1170439   0.4770828  -0.37073386]\n",
      " [ 1.4667886  -1.4823256   0.30516532]\n",
      " [ 0.7935723   0.4356203   0.21530463]]\n"
     ]
    }
   ],
   "source": [
    "\n",
    "class SimpleRNN(brainstate.nn.Module):\n",
    "    \"\"\"Simple RNN for sequence processing.\"\"\"\n",
    "\n",
    "    def __init__(self, input_size, hidden_size, output_size):\n",
    "        super().__init__()\n",
    "        self.rnn_cell = brainstate.nn.ValinaRNNCell(num_in=input_size, num_out=hidden_size)\n",
    "        self.output_layer = brainstate.nn.Linear((hidden_size,), (output_size,))\n",
    "        self.hidden_size = hidden_size\n",
    "\n",
    "    def update(self, sequence):\n",
    "        # Reset recurrent state for each new sequence\n",
    "        brainstate.nn.init_all_states(self)\n",
    "        rnn_out = brainstate.transform.for_loop(self.rnn_cell, sequence)\n",
    "        return self.output_layer(rnn_out)\n",
    "\n",
    "# Create RNN\n",
    "brainstate.random.seed(0)\n",
    "rnn = SimpleRNN(input_size=5, hidden_size=10, output_size=3)\n",
    "\n",
    "# Test sequence\n",
    "sequence = brainstate.random.randn(7, 5)  # 7 timesteps, 5 features\n",
    "outputs = rnn(sequence)\n",
    "\n",
    "print(f\"Input sequence shape: {sequence.shape}\")\n",
    "print(f\"Output sequence shape: {outputs.shape}\")\n",
    "print(f\"Outputs: {outputs}\")\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "rnn_visualization",
   "metadata": {},
   "source": [
    "### Visualizing RNN Processing"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "rnn_viz",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-10-10T11:50:57.246868Z",
     "start_time": "2025-10-10T11:50:56.449568Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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xe7du9V2YGAg/vnPf2L58uUqlV0izXp33HGHql8grrvuOvWY//znPyo6WlVVpebd61O99bUTpJCiTEuQyPFnn32mirF169bN8Jz6x/n7+6sIuKRt//e//8Vtt93W4rRtieLLc8jfTqLWQlLBCwoK1PaKFSsMP08yCiQKL6+ZRHgbZgS01RtvvGGIlo8aNUpNM5Fjo1evXuo+yXaQv29DMrVEIrWLFy/GwoUL1X3yd5K6DhdddBGWLl2qsgj0f8emskvkGJA2yO8nx4c+i0WOVf1zSqRcnkNceuml6hiR7AA5ZuTr8n5oLDOmsWNOyN/sf//7H37++WeVGSC/g36Kw+rVq7Fx48ZWvZaSHaK3YcMGVbxPItXShmeeeeas4ptyPMt0GCE/X34vOab02QDy3tD/XnIM66PdEgF//fXX1e8UFhbWLsdES9piKi0tTWXdyPF6zz331Mue0ZMsB6lVIiQbQD7n5Pd57733MHz48Da3gYjI6ph71IGIiDqeaTS44S00NLTuk08+OWek9pdffql74IEHDI8vLS1tVqRf7r/kkkvU9oABA+pqa2tbHelv6iYR4KSkpLMe7+3tXZeTk1Pv+V577TXD16VdppHB8PBww9d27dqlMhNMI5q//vpro22Un6GP7spzrFu3znBbsGCB4fslq0IsXLhQ7Xt6etb99ttvKpugMaNGjTJE/zdt2tRkBLc5kf4ffvjBcL9kRejv3717t7rv9ttvN9wnf2e9w4cPNxohbUukf+DAgYb7v/76a8NrZZrZcNdddxkeb/rzjx49qu7btm2b4T55HQsLC9X933zzjeH+++67r9FI/1//+lfD/fJ8+vvd3d3VcbBz507DffL3lPv09Mey3P75z38265gT+/fvV393yQaRzI+Gx/Abb7zR6N+tOf7yl780mbkSEhJSl5iYqB4nx3NAQIC639XVVR17+tf+jjvuMHzPP/7xj7OOCckoaOw1a22kv6VtMX0OeXx6errheeTvr/8caOwYe+eddxp93VraBiIia+Zs7kEHIiIyL5mLfuDAgfM+7sEHH1TF/CRT4N13323280s0/bvvvlPzsSXC2Z4kkipR965du571tbFjx6rovKmjR48atmUOuZ4UBRw8eLAhsimPi4yMNEQ0ZX62aVS14dxvfWaAzJ3XR3cbOnTokPpfoshfffWVmsutf06Z6y21CiSCrI8+33TTTaoeQEpKipqXLBkTcXFxas62ZAX07Nmz2a+TPLeezE3X0xdmlLoLjb0uEn2X+fftWQHe9G9w+eWXn/O1MiUZDxLpF6Z/V2mj1CkQUqNBr6mik6a/nzyf/veT5SNTU1PrtU8iyvqCkWLEiBHqWG74e5zrmJN59bLChGQTNKU1BTL1pF7ANddcg6+//lplbOzYscNQOFPe25KhIFkPEvXX/x2lyn9Tx7P+tTc9Jkyj46avWWu1tC2mJMNGsg2EZF5IW+S9ZPoamv5t5s6d2+5tICKyNkzvJyKyM9dff71KOZd0V0l9lQ6rpFQvWbLknN8nKa8333yz2pYCZXKh3BxS1Ex/4S2F6dpavV9uUsgrJycHa9euNaxA0JC+Y9Bc5ypU15xCduejT++XFGxJxb7lllvUQIP8DWRqgKT4S+dc39mS11oGIaQAnxQZk7T848ePqwEXeVxLOorSMdKTaQV6+sGKhr+rJVa9Ny0MKJ09PUlnb0xjv1tjWvL7nu+xjR1zn3zyiaHDL4M3kiIvx/DDDz9seEzDInQtJcfHs88+qwaJpDN75513Gr7WWJHCtq440NjrYHqfFNHTazjFoK1tMT2WGx7PHcFWV/0gIvvCTj8RkR2SC+UZM2bU63hIRPB85PHS+ZTos8ytbUm0X0hnva3V++Um0fCGEdXmdExMo+Nbt241bMsgyK5du+o9TqLG+g6GRIFlTn1j4uPjDT+re/fuKsoqHU7TmwyQSKdMyL50/qTzLh0ymTv+6quvqq9JxFIGY/SPmzlzpppjLPOOpcq4ZALoMwpaOw+8MdJuPdO/0ZEjR9p9nXfTv4EMcDR8reTWsEJ+ezL9u0uWhj6bQ2oZSHaHafvkmDBdbtK01kBjmRaNHXPyXjFdulDqD8gxrK+n0NbfpWGnWgZHbr311rM64KbHs9SakOOu4esuj/3oo4/UYySrRG/79u2NvmYNf66eHJ96+uPZVEvb0lKmfxuZp9+Yjm4DEZElYXo/EZEdk+W4JMovnc09e/ao9GCJRDdFli+TQnXvv/9+i36OpFRL+mxTHefOIkXZ/vKXv6hOviyt9tRTT6lichKN1Q9iyFJqkj0gHbirrrpKTWkQsi0DI5JeLJ1Vmaoghdlk8GHWrFlqWyLxsqyZpOZLyrmkdkvHUX7Wpk2b1FJnUnxMftYFF1ygXk8ZgNEvOSgqKioMbZXnkOkCkv4vnU/Tzpf+ce1Blm/UF2j817/+pX6eLA+oH6hoT7LUohxrQjJAZCBJfp68JlLwUQq0yfQFKajYEaQYo0Tk5fczzTyRv6Gk8ktmSp8+fVRat7RJ2ittkQ6/FB0UMvB1ySWXNOvnmU49kQJz8r3yXKbLLraWHIPy+yxYsEBN+5CfJYMJUnSvYWq+ZEdceeWV6u8sA0jyPpdjUTq/kmmyf/9+dZx++OGHask6OY6lGKXpMSHP31S2jgx+6UnRSBlIkp9jugylXkvb0lIy3UF/jEkxPpmSJK+DDMDIYJu8Fzu6DUREFsXcRQWIiMh8S/aJO++80/C1adOmNVnIT+/48eN1Tk5O9Yp5nauQn96aNWvOKjTWliX7zvf4hr+nXkuW7JMlvaQAYVuW7NPfpBiZuOmmm5p8jCxFJq+vONeydmFhYaptzS3kZ8q0qJ28Xudask+KCLb3kn0VFRXn/N0aPr6x17upZeCa+vub/s6N/T2lAJ/psdraJfsaO+bk2NAXmzO9yRJ7jRW+a0khPylKeK7XUX6vffv2GR6fl5d3ziXqGh4TjS3Zd65jYvTo0Wc9vk+fPo3+rVrSlqb+3k29XlJ8UT7Lmnre1r4eRETWiun9RER2TlLG9XOkJRJvmubeGEn7lah3S8k89KaK3HUmWV5v5cqVKrIrUXqJtEtat2QwSBE006JlkrIsUUFZ8kui/7J0mczBl0iwPF5Posbyuj300EMqE0BSxSVKL9vyOInISlRfSORY6ipIATp5ficnJ4SGhqpou0T89WnV0s4rrrhCRUwl/VjaGRUVpb5fllw0TaduD1988YWKdEqhP/kd58yZo2om6Oeby+/eHiTSLSnfEvWWwnjyOsnrJcsVys+UCLhErjuKTKV4+umn1WupnzIiy+aZLsEo7ZJjQf5O8jh57SUVXKZbSDbM7bff3uyfJ8eGfI88p7yG8veU6LK+PkZbyFKAUsjywgsvVCnt8lpKtoL8TKkFIVM1ZL6/aTHExo5nKc4nmSVyDEjmi54sPSj1ARoeE/rCiQ1JXQqZNiR/T1nu8d5771XP0ZiWtqUl5DWQehj6Y0zeP9ImyUaQWhqd0QYiIkviID1/czeCiIiIzEsuBxrOSZd0exngEAMGDDCkTFsbSc+XKRxCOvhM124bmaYiU1cELyOJiCwf5/QTERGRWpJR5jPL3PCIiAg1p10yF/Qk64CIiIisDzv9REREpJZAfO211xr9mkzLuP/++zu9TURERNR27PQTERGRmheur1ouS7LJ/GZZyUAqnMscdpknTURERNaHc/qJiIiIiIiIbBSr9xMRERERERHZKHb6iYiIiIiIiGwU5/S3A1nDODU1Va1b23C5IyIiIiIiIqL2JjP1i4qKEBkZCUfHpuP57PS3A+nwx8TEmLsZREREREREZGfOnDmD6OjoJr/OTn87kAi//sX29fWFJWckZGVlISQk5JwjQWRfeFxQU3hsUFN4bFBjeFxQU3hsUGN4XLRdYWGhCj7r+6NNYae/HehT+qXDb+md/vLyctVGvrFIj8cFNYXHBjWFxwY1hscFNYXHBjWGx0X7Od8Uc766RERERERERDaKnX4iIiIiIiIiG8VOPxEREREREZGN4px+IiIiIiIiC1JTU4OqqirY+px++R1lXj/n9DfOyckJzs7ObV4Wnp1+IiIiIiIiC1FcXIzk5GS1Brstk99POv6yznxbO7W2zNPTExEREXB1dW31c7DTT0REREREZCERfunwS0dPlrKz5c6wdPqrq6vbJZJtq69PZWWlWtbw5MmT6NGjR6szItjpJyIiIiIisgCS7i6dPenwe3h4wJax039+cgy4uLjg1KlTagDA3d0drWFVkyfWrl2LCy+8EJGRkerA+PHHH8/7PWvWrMGQIUPg5uaG+Ph4fPzxx2c9ZtGiRYiNjVUv4siRI7F169YO+g2IiIiIiIjOjZ1g0muPegdW1ekvKSnBwIEDVSe9OSQNYs6cOZg8eTJ2796N++67DzfffDN+/fVXw2O++uor3H///Xjqqaewc+dO9fwzZsxAZmZmB/4mRERERERERB3PqtL7Z82apW7N9fbbb6Nbt2549dVX1X6fPn2wfv16/POf/1Qde/Haa6/hlltuwY033mj4nmXLluHDDz/EI4880kG/CZFRXkkldpzKw+ncUgT7uCE2yBNdg7zg5+Fi7qYRERE1qaa2DuVVNfB0dWJUkojIgllVp7+lNm3ahGnTptW7Tzr7EvEXMi9ix44dePTRR+ulT8j3yPc2paKiQt30CgsL1f9SfVJulkrapq+SSeaVq+voyy0xq7jRxwR4uqJroAwAeKJLkCdiO2gggMcFNYXHBjWFx4ZtddxLKqtRWlGD0spqlFTWoKyyxnCf+l/t16C0Qr+tfa28usZwvprWJxTjugfxuKBG8TOj5a+V/mbr9L9jZ/2uEydOxP/93//hqquuatbjZar4lClTkJubC39//3ZpQ3Z2Nvr166f6odHR0ed9vP5YaKyv2dz3lE13+tPT0xEWFlbvPtmXTnpZWRny8vJUhczGHnP48OEmn/fFF1/EM888c9b9UllR1pm0VHJQFBQUqIOGa2F2vvyyauxNLcae1GIk5Z7/OEmvqER6XjG2HDfe5+fuhGh/d0T7uSHa3w1R/m7wc2/b25jHBTWFxwY1hceGdSuvqsXKo7nYdroQJZVt74TJ+erTjcX4dutJDAx1wfR+VfD3bP3SUmR7+JnRskJ+8npJgTu5WYubbroJ+fn5+O6775r9PXI8SF9MtDZb6L///S8eeOAB1Q87nyVLlqj+4aWXXmp4bffs2YOnn35a1XSTPmJ4eDiGDx+O119/HaGhoRgxYgROnz4NLy+vdvt7yODBNddcgyeffBLvvvvueR8vP1eOiZycHFXUz5Qsdwh77/R3FMkMkDoAenKAxMTEqCqbvr6+sFRysMgbStrJD9zOkV1coYvo5+NEtjGi7+ZmvBiK8PPAsK4B6BfpqzIAknJKcCqnVKX7l1VpH4R65XVAYl6VugHa8/l7uKpsAP2td5gP3Fycmt1GHhfUFB4b1BQeG9ZJLrA3Hs/BdzvTUFheBTg4w82tZc/h7OgID1cnldLv5eoMRwcYMtZq64AtqRXYl5uBMd2DMKNfOML9WldpmmwLPzOaTwKI0pGTivZysxbyd5Vba9rcsCPb0p8rmvNz//3vf6sp3fr17mWgYObMmZg7dy6WL1+uOuNJSUlYvHixyurW/w1k+cT29qc//QnDhg3DP/7xDwQGBp7zsdIG+T2DgoLOqt7f3Gr+1nMktYKM1GRkZNS7T/alYy7LHzg5OalbY4+R722KrAQgt6YOdksmH7jW0E5r7+hvT8rD9qRcnMwuMdzvAOMIZlSAB4bFBqrOfqR//eVYRnUPNlycZRZVIClbGwQ4lav9L2mXpgrKqrA3uUDdhJ+nC24a1w39Iv2a3WYeF9QUHhvUFB4b1uVUTgk+23IaxzOLDeckFydHNX1M34H3dNP9L/tu2v+eDfbdnB3PisilFZRh+f50bDqeg0o4oKauDusTc7DheA4GdwnAzP7h6B7ibZbfmywHPzOaR14fea30N2ujb/OkSZMwYMAA1Sl9//33VUf7tttuU1F108e+9dZbqp6apNFHRETg5ZdfVpF4IfdJQXbJztan1ktx9sGDB6uC7dJBl86z0B9XUpzd9GfoZWVl4ffff8cbb7xhaOPGjRtVBoq0Tz9oEBcXp9L59Rq2QVaCk6niUgxe/j9z5gzGjRuHjz76SLVfT55T6spJO2WVuHvuuQd33HGH4ev9+/dXK9LJanSSJXG+17Sp909z30823ekfPXo0fv7553r3rVy5Ut0v5OAbOnQoVq1ahfnz5xtGImX/rrvuMkubyTplFUlHPxfbT+WpTnpjogM8MDQ2EMNjA1R0/3zkzR3m665uI+OCDAMB8rOSckp1GQFnDwQUlFbhtRVHVYTl4iFRcHbiyZWIyF4VlVfhh10pWHs0C6ZTZod0DcAVw2MQ7N3CUH8j5Jx249huuGhgBL7fkohd6RVqCoH8vJ2n8tStZ7gPZvYLx4BoP6vsyBCZ07NLDqogT2eTWlJPXti31d//ySefqOzoLVu2qHppN9xwA8aOHYsLLrjA8BjpoMvUaemM/+9//8PChQuxb98+VYD9fMaMGaPS8CVN/siRI+o+b+/GBxjXr1+vIvamzytBXkmd/+GHH9RAQ3M/m0pLS1WEXtornW5J1X/wwQfx2Wefqa/L/9Kmf/3rX2qAYteuXapwvEwRuP766w3PI1MH1q1bd95Of3uwqk5/cXExEhMTDfsyciKjPZIS0aVLF5V2n5KSouZ2CBlNkhf74YcfVqNAMrrz9ddfq9EkPTkQ5cWX9Ap54eXAkaUB9dX8ic5F0iPfX3cSB1K0KHtjHX2J6A+PDWyXFEf5MAr1dVe3Ed0C6w0EnMotVRd1B1O1wpK/HkjHwbRC3DaxO9MriYjssEDfH0cz8cOuVFWAT0/OB1eN7NKibLDmknn8c/sFY+HYQBXpX3EwQw1Ei6PpReom2W2z+oercxgHpYmaRzr8+aWVsDYS6ZfIu+jRo4fql0lw1bTTf8kll6gl1eUa97nnnlMBWon+Syr++UgA189PG0g8V5a2OHXqlKrbZhoZHzVqFB577DFV1E/6jdIXlCj/ddddd1bNt4Z1F2TFt+7du6t9CRY/++yzhq/L7yxR/osvvljty2pyBw8exDvvvFOv0y+RfhkQ6AxW1enfvn27Sq/Q08+rlxdPUi3S0tJUoQU9eYGlg//nP/9ZjR5JdURJtdAv1yeuuOIKle4hozFS2GHQoEFqTse5/tBEIiW/DG/8dhQ5xfU/hGMCPTEsNgDDurZPR78lAwEyXWDlwQx8uyNZXfCdyS3FM0sO4MoRXTC+RzCjK0REduBoRhE+33JanQP03F2ccOHASFVlv6M72zIlYGb/CEztE4bNJ3JU6n96gVbANjW/DB+sP4nvd6Xggr5hmNgzRLWNiJpmrmWc2/pzpdNvStLfMzMz6903cuTIevuSkS1B3fZWVlbW6Pz3v/3tb6pPKcFhyUiQzvwLL7yAtWvXIiEhodHnkowBfYe/4e8lwePjx4+r6L1E9/Uko0AGKEzJdHPJGugMVtXpl7kh51rOQTr+jX3P+UZQZHSG6fzUEvuSC/D2H8fV+sT6efRTe4ep1H3pfJuLdOqn9wtH73BfvLP2uLrIqqyuxScbk7AvpQDXj4mFt5tVve2JiKiZ8koq8c2OM9hyIrfe/aO7B+HSodGdXlFfagaM7xGCcfHB2H0mH7/sTzfUFJC2fr3tDJbsScWU3qFqgMBcHRsiS9eWFHtzaligT65TW7Jsoz4qb9r/kyh7awQHB6t5+Y2RAnmXXXaZukmHX1LyJX1fpic09/fSt1Ey08V777131oCG1JIzJcsASnHLzsCrf6IWkDf0b4cy8dW204a5kVIE6Z4pPRDgZTnLE0mb5ATx1bYz+OOItoSJzKk8kVWCWyZ0U4MCRERkG6pralWW15K9qaioqq2XeXbNqC6ID/Uxa/vkglgK+sktMbMIP+9Lx54z+eprUpNm2d401X6ZjjYwpn3WwSYi6yBL5ZlOq968ebPqdAt9h1iyuQMCAtR2wywASfHXL/t3LoMHD1ZZ3dLx1z9XY+T5JIovEfvWkGxxSds/ceIErr766nM+dv/+/SpA3RnY6SdqwUXVF1tPY42uE60vhCSV8i0xNdHN2QnXjY5F/yg/fLwhCSUV1Wo+2D9+PYJZ/SNw0aBIzqckIrKBzLMvtp1Ghi59XkilfSnkOqGHLI9mWdO6ZADinqk+Ks1f0v4l/V+mo0lW2r9WJ+L/JsSpWjhEZB++++47DB8+HOPHj1cF8GQQ4IMPPlBfi4+PV8uiS7E/ScM/evSomitvSirjS3RdagUMHDhQpd43tsTe4MGDVbR/w4YNaok+sXTpUnz55ZeqeGDPnj1VcG/JkiWqELxU42+tZ555RlXrl3R+WRJQlv+Taeoy4KCfni5p/Tt27FCZBZ2BV/xEzSAd5td/O1avwz9nQATumNTdIjv8poZ0CcAz8/qhd4QW6ZEMhZ/3peHFXw4js9B4kUhERNYjs6gcb606htd/O2ro8EvZlkm9Q/HCxQmY1CvU4jr8pqSg35/GdcNLlwzA0Fgt6lZbW6emzm08nm3u5hFRJ5G6arL8ncz/l2LsX3zxBfr27WtIo5f9w4cPq6+/9NJLeP7558+q4C9F+KROm2QGyJJ/jXFyclIZBfoK+0J+jgwQPPDAA6qumxT2k6LvUgPu2muvbfXvJIUJ5Tlk4EDqAkycOFFNQ5d6c3o//fSTKkQvgx2dwaHuXJPkqVkKCwvVSI6s8+jra7lp0zKHRopMhIbKhQDHe5oro7Acb6w6ZriocnJ0wA1jYzGmezCsibzVJaoixZPkwkq4uTjiyuExiPepOauiKRE/M6gpPDbM/1n+4+4UVNcYL+Hiw7xx9YiuanqXtR0Xck76eGMSNiRmGwYvrhnVVQ1ckG3gZ0bzlZeXqxXKpIPYWOE5WyJTf7755htVwb8zik2np6ejX79+2LlzJ7p27QpzkgEGyQaQlQPackw0tx/K9H6iczicXohFq48bljvycXfGXVPizT4/sjXkw3RWQgR6R/ji3bUnVJRf5n5+tDEJfYJdcfu0IHi7W05dAiIiOtuyfWn4YWeKYV8KyV42NAaj4gKtdoUWyUi4cWwsXJ0dsfpwpspI+9+mU6iqqVMV/omI2kN4eLiaOiCrvZmz05+dna2W87vyyis77Wey00/UBFnz/n+bTxmi4pKKeO+0Hgj2doM16xbshacu7KvqE6w/pkVVdqcU4+klB/F/E7qjR5j1DWgQEdkD6RCbdvhn9AvHvEGRFj/NrDlkwOLqkV3g6uSIXw+kq/u+3HpazfWX6XRERO1h/vz55m6Cqi3w8MMPd+rPZKefqAHp5Ms69/qLDiHF8KSqsIer9V9YCblAvHFsN/V7fbIhCRUVlcgtqcRLyw9j7oBItZazTGMgIiLLsOVEDj7bcsqwL0vwSfaWLZGO/2XDotXUs8W7U9V93+9MRmVNDeYPirLaTAYianrah6xfTx2PnX4iE+VVNXjnjxPYm6wtJSQktfCyYTE22QkeHhuI2EAPvLXiIJKLa1RKpayZfCitUGU1eLryI4KIyNzknPT++pOGpWKls29rHX496dhfNCgKLk6O+G5Hsrpv6Z40FfG/fFgMO/5ERK3AShpEOtnFFXjx50OGDr/MMbx2dFcsHNHFJjv8ekHebrhtbCQWmERREjOL8Z81x9UyhUREZD7HMorw79XHDVPNJvQMwSVDomDrZidE4MoRXQz7Kw5k4NPNp1QhQyIiahl2+okAHM8qxvNLDyI5r0ztSxr/n6f1tJvKwY4ODmrO5KOze8PbXYvuH0wtxBfbzvACi4jITE7nlKrVY6p0A7Cyfv21o7raTbR7Wt8wXD8mVlXzF7Js7ocbkgwDIERE1Dzs9JPd23wiBy8vP4yicm1OUaivOx6f0xd9Iy13+cWO0j3EG3dNjjdkNqw5nIlVhzLN3SwiIrtcLva1lUdQVlmj9vtF+uKW8d1UFpo9kcyGm8bFGQY6NiZm4911J5iJRkTUAuz0k92SCPaPu1Lw3lq5eNCiBr0jfPDXOX0Q7mfb66Kei1Tvv2FMrGH/y22nsS+5wKxtIiKyJ1JY9dUVRwyD0d1DvXHH5Hg4O9nnZdvo7kG4fVKcYUB628lcNQVNnwFBRETnZp9nDyIAP+9LV0XrTKMJktLv7cbidWPig9V8SiHZ/W//cRzJeaXmbhYRkc0rKq9SEf6c4kq1Hx3ggXun9rCJZfnaYmjXQNw1RQY+tI7/7jP5eGvVMVRUa5kQRETUNHb6yS7JfPUfdmlVgSVj8IrhMbhudFe7jaI05uIhURjSNcCwqsGbq46hsLzK3M0iIrJZ8ln7+m/HkJZfrvZDfNzw5wt6wouD0cqAaH/cO7UnXJ21c/WB1EL1esnrRkRETWMPh+wybfLdtccNSx/NGxSF6f3C7aYwUnPJ63HTuG7oEuSp9iXqtOj3RLVsEhERtS/5bH3r92NIyi5R+36eLrh/ek/4e7qau2kWRert3H9BT0Pmw9H0IjUVorSSa30TmdMNN9ygrh3l5uLigm7duuHhhx9Gebk2iKknX3d3d8epU6fq3T9//nz1HA2f7+9//3u9x/3444/NumbfuHEjZs+ejYCAAPXzEhIS8Nprr6GmpmWDhB9//DH8/f3REdasWaN+l/x841LhHYWdfrIrUvhHUtX18yT7R/nhwgG2udZxe5CLqnum9FAXn/ql/P67KYkV/YmI2lFNbZ0ajD6cVqT2Pd2cVcc21Md+68ucr/bMgzN6qddJnMgqwcvLpQYCs9GIzGnmzJlIS0vDiRMn8M9//hPvvPMOnnrqqbMeJx3dJ5988rzPJ531l156CXl5eS1qxw8//ICJEyciOjoaq1evxuHDh3Hvvffi+eefx8KFC+3yOpadfrIrX29PxvHMYrUd5O2KWyYYKwJT4wK8XNV8Un065abjOVi2L83czSIisgly8fnxxiTsOq1FetxcHHHftB6IDtCyrKhx3YK98PCMXvDRLTN7JrcULy0/jIJSdvyJzMXNzQ3h4eGIiYlRkftp06Zh5cqVZz3urrvuwqeffor9+/ef8/nk++X5XnzxxWa3oaSkBLfccgvmzZuHd999F4MGDUJsbCxuvvlmfPLJJ/j222/x9ddfNxlp3717t7ovKSlJff3GG29EQUGBIYvh6aefVo+T53zuuedw5ZVXwsvLC1FRUVi0aJHheeT75fHyfHryc+Q+eV75+uTJk9X9ko0g95tmOrQ3ThIju7H1ZC5WHcpQ21IB+PZJ8Sza10xdg7xw8/hu+Pfq42r/h50pCPd1V2tGExFR6zv8X207o5ah05+b7pwcr5ZPpfOLCfTEX2b1xiu/HlGdfamF8O81iXh4Zm9DpX8im7D8UaCs41PAz+LhD8xsfofblHToJcW+a9euZ31t7NixOHr0KB599FEVlW+Kk5MTXnjhBVx11VW45557VOT+fFasWIGcnBw8+OCDZ33twgsvRM+ePfHFF1/giiuuOO9zjRkzBq+//rrKSjhy5Ii6z9vb+Pn8yiuv4LHHHsMzzzyDX3/9VWUTyPNfcMEF531uGRj57rvvcMkll6jn9vX1hYeHBzoKezxkF1Lzy/DxxpOG/atGdlFRAmpZ5eRLhlbgux1aAcT3151EkLcbX0ciolaSrKmVB7XBaEk6+7+JcegX6WfuZlmVCD8PPDKzN17+9QjySirVNDR5XecNjDR304jaj3T4y3Jh6ZYuXao6xdXV1aioqICjoyP+9a9/NfpYid4PGDAA69evx6RJk5p8zgULFqhovUwT+OCDD87bBhlMEH369Gn067179zY85nxcXV3h5+enovCScdDY4MUjjzyitqWzv2HDBjWtoTmdfhnQCAzUgmehoaEdVjdAj+n9ZPOkqu+i1YmoqKo1rPc7sWeIuZtllWb1D1evn5D1kaXolBRGJCKilll9OFNlTeldPyZWDa5Sy4X6uuO2icbpeot3pyAxU6uPQGQTJOLuEWiGW8s6opKuLunsW7ZswfXXX69S4yWS3Zi+ffvi2muvxV//+tfzPq/M65fU/EOHDjW7LZ0xb3/06NFn7bekjZ2JkX6yi7mS6QXlhvWOrx3dlfP4W0leN7kwzSquQGJGsUqnlKX8HpnV2+7XkCYiaq7NJ3Lw2RZj5erLhsVgfA8ORrdFfKgP5g2KxE+7UtTqPO+uPYGn5/WDpysvdckGtDLFvrPJ3Pb4+Hi1/eGHH2LgwIEqOn/TTTc1+nhJi+/Vq5eqyH8uEyZMwIwZM9R0gPPNe5eIu5DOt6TnN3To0CE14CAkE6HhAEFVVfvUBenI525Ve8z2k4k6wapDmdh2UkuHcnd1wh2T4+HmzM5pW7g4OeKuyfEI9nYzFE96f90Ju6yESkTUUnuT8/HB+pOGZWNnJ0RgZv+z00ap5eYkRCA+1NuwzOxnm0+bu0lEdks6vTLf/fHHH0dZWVmT89rvuOMOFe0/31J6snTfkiVLsGnTpnM+bvr06Spt/tVXXz3ra4sXL8axY8dU8T0REqINtsqKA3qmhff0Kf5NtW3z5s1n7eunFTT3uUVLlxFsDXb6yWbJvL6vtp8x7Mua82G+XP6oPfi4u+DeaT3UQIqQqtPfmaSpEhHR2WSQVAqi1tZqPf6JvUJw8ZAoczfLZkjxPlmVR39ukoyKjce1IolE1Pkuu+wyNXfdtKp9Qw8//DBSU1Px22+/nfO5EhIScPXVV+PNN988b7aBLBX4008/4dZbb8XevXtVpXzJOJAsgUsvvRSXX365eqxkJcjAg1Tkl8GAZcuWnTVYIFX6i4uLsWrVKmRnZ6O0tNTwNZnD//LLL6saAfI7fvPNN6qYn5CifKNGjVKDFZJd8Mcff6gBEFNS5FCyaKUWQlZWlvo5HYWdfrJJheVV+M8a44XVjP7hGNIlwNzNsimR/h64fWJ3VXxK/LIvDRt0FaiJiKi+6ppaFeGXeihieLdAXDOS083am2ShXTfKWC1cov2ZRdoUPyLqXM7Ozmp5PukYy1J6jZGovHT8y8vP/z599tlnUVurfYaei3TsV69ejdOnT2P8+PFqCoEU2JOMgi+//NLwuevi4qIq+R8+fFgVFZTaAc8//3y955IpArfddpuq9i/Re/ld9B544AFs374dgwcPVt/32muvqWkIejLFQYoaDh06FPfdd99Zzy3L/MkUBykGGBYWpl6rjuJQZ2U5uTKKIssjpKenq3kib731FkaMGNHoY6USpIyqNDR79mw1kiNkxEcKQ5iSP9by5cub3abCwkJV2VHWcJTlFiyVvEkyMzNVhUj9PBNbJB39V1ceweE0rYhPz3AfPDi9F5fv6aDj4vfDGYYUSnmNH5jeC73CfTqgpdTZ7OUzg1qOx0bL/bQ7BYt3p6rtqAAPPDG3r5ouZUss6biQaWebjueo7bgQL/xlZm8429jrbU0s6diwdNL5PXnyJLp16wZ3d9vOUJVuqHSKZXDA2gZAY2NjVUdebuY8JprbD7Wqd91XX32F+++/Xy3ZsHPnTtXplw66fIg05vvvv1fzKPQ3WS9SUkwk1cTUzJkz6z1ORnzIev24O8XQ4ffzcMFtE7qzw9+BpvQOw+TeoWq7prZOrZSQWcioChGR3umcUizdq83rlAtbmW5max1+S3PNqK4I8dFqz5zIKjG8/kRE9siqzjiSMnHLLbeo5R+k6uLbb78NT09PlTrRVLqIrKmov61cuVI9vmGn383Nrd7jAgKYBm6t9pzJxzKTC6vbJnWHn6eLuZtl864c0QX9IrXRxZKKaryx6hhKK6vN3SwiIgtJ6z9hmG42d0AEugZ5mbtZNk9WlJH5/fro4dK9qTiawWX8iMg+Wc06JpWVldixY4daqkFP0oOmTZt23iqOelLAYeHCharAg6k1a9aodCPp7E+ZMkXNtwgK0tYib0xFRYW6maZV6FOXmjPPxFykbZJGY8ltbIusogq8t/YE6qBdWF06JArxIV42+/ta0nEhl1S3TuiGF385grSCMnX79+pE3Du1B7MsrJitf2ZQ6/HYaL7Fe1JwJk8r/BQT4InZ/cNs9nWztOOiW5AnLhoYgR9265fxO46nL+zLZfzMwNKODWt4rfQ3W6f/Ha3tdz158mSntVt/LDTW12zue8pqPvWkWqIsZyBFDkzJvhRfOJ+tW7eq9H7p+DdM7b/44ovVHInjx4+rpSVmzZqlBhJkKkBjXnzxRVV0oSGputicIhTmIgeFzPeQg8bW5lNJYaS31qUgr1gbjBkQ4YVBwQ5NTv2gjjkurhrgjzfWFqGksha7krLx6boazOrT9AAaWTZb/sygtuGx0TzJ+RX4YfsZSJDfyQGY1zsMuTm2W/DUEo+LoWGO2ObthOM5ZUirqMS/Vx7EtcPCrG7+sLWzxGPDUsla7vJ6yVx3udkyOR70y9XxPdk0OQ7kmMjJyVHFB00VFRXZVqe/raSzL0s9NCz6J5F/Pfm6VG7s3r27iv5PnTq10eeSbAOpLWAa6ZflHqSio6UX8pM3lLTT1j5wP96YhOzyOri5uSLMxx13Te8DD92SPdR5x4XM7H/A0xevrjyG6tpabDxdiqkDuiI6wLPd2kudx5Y/M6hteGw0bzB60eZDcNGtwzxvYCQG94iELbPU4+KeGQF4evFBlFZV43BOJRKLnDA2PtjczbIrlnpsWCIJIEpHToKPUuDOHjTsyFJ9cizI+0Yy0RsW8mtusUerOZKCg4PVL5yRkVHvftmXefjnIktEyPIMsszD+cTFxamflZiY2GSnX2oAyK0h+WNY+geZfOBaQztbYt2xLGxIzIEDHFRhpDsmx8PLnR8e5jouekX4YXZCBJbsSVXRrf9tPo3HZvfhCK6VssXPDGofPDbObdnuVKTml6tzU0ygJ+YOiLSL18oSj4tgH3fcMDZWLeUrvth2Br3CfRHqa9uV0S2NJR4bltoBltdKIv5Si8zWI/3660NeJzatrKxMvT7S/2z4/mnu+8lqOv2urq5qjcNVq1Zh/vz5hlFD2T/fmobffPONmoN/zTXXnPfnJCcnq9SJiIiIdms7dWxFZP1yceK6MV3VxRWZl3T6tyblIqOgXFVNXnMky1Dhn4jI1p3MLsHP+9LVttQ1kWr9XC7OvIbFBmJcjwKsP5aNiqpavLP2BB6dxWX8yPJIdF86+zJtWAYAbHmQxJqX7Ous16e0tFRNV/b3929y6rlNdfqFpNRff/31GDZsmErTf/3111UUX6r5i+uuuw5RUVFqzn3D1H4ZKGhYnK+4uFjNzb/kkktUtoDM6X/44YcRHx+vlgIkyyZV4v+9JlGlUIpJvUMxpjvT9SyBq7Mjrh8di5eXa/U2vt2RjEEx/gjw0tJciSyKFOEpLwAcHAFXL8CRU4Oo9SqrtWr9+uJOFw6M5GC0Ba00czSjWC0rm5Rdgp92p+KSodHmbhZRPdL5leCjFIo7deqU8QvymVIn17y6/9VNV0TOyQVwtKpunaIvTicDG+z0N006/OfLbD8fqzo6rrjiCjXq9eSTTyI9PR2DBg3C8uXLDcX9Tp8+fdZo2JEjR7B+/XqsWLHirOeT0ZK9e/fik08+QX5+PiIjIzF9+nQ899xzjabvk2V9SHyw/qSq2C9ig72wcHiMuZtFJnqF+2B8j2CsO5aN8qoafL71NO6cHG/uZpE9k4uj0lyg4AxQkKzdCuX/FKBKq66uuHhonX9Xb93NC3Dz0d3X8H79tjfg7CZXa+b8DckCLN6TirR8raivLM03q3/bLtSofZfxu3VCHF74+ZBaQvGX/WnoF+WL3uGWW4+JbFhNFVCWD1QUagPP8n9FEVBeCNfyAvSoKEZlVTVQWQJUFgM1led+Pjc/IKSXdgvuoZ23LJy+OJ0EZm05o6EtJNujLRF+PYc6a1sfwQJJIT8/Pz9VldTSC/lJeogsT2jtb6zl+9PxzfYzatvLzRlPXtgXwd4cqLG040KyMR7/cT8Ky6rUvtRbGNo1oF1/BnUcq/3MkNNaSbbWuS9MMXbw5VbdgSusSJTFNxKIvwDoNgFwsd35wlZ7bHSw41nFePHnQ+oQlLR+OTfZUyFTazkuftmXpjLQhL+nK565qB+83awqDmZ1rOXY6HBV5UDKDuD0RiB1N1DbgdX5A2KB8AFAxAAguBfgbHnZljwuOq8fyk84sjo5xRX4aXeK2pag2i3j49jht1AyICPplO/8oRVP+mzLKfSN8OXKCtR+qiuBjH0mHfsULXpfrWUBNYtnsNZZl/R+iaaoqIousqJSKZtJLt7yTwPbPwD2fgnETwN6zgQ8A1v1q5H1pfV/uP6kIdv2okFRdtXhtyYz+4djf2oBDqcVIb+0Ep9sTMIdk7ozvZg6rqOfukvX0d+lRfhbQjLJJGrv7ge4+wJuupt+uywXSN8HZB6s/9x5Sdrt0GIt/T+0LxCeoA0E+HdhZpqdYaefrM6X286oiyshxeESov3M3SQ6h+GxAdh43A/7kgtQUFqF73Ym45pRXc3dLLJ2cmFz/Hdg//dAeX7zvscrBPCLAfyiAL9owDda25Z0/sZI762qzDgAYPi/GKgo1qYEyP+VRdrXJE1TMguE7B/8CTi0FOg6Gug1Gwjq3n6/P1mcH3elIL2g3DDlTDqWZJmkc3/zuDg8tfiAykjbeSpPTUWb0DPE3E0jWxqQ1nf0U3Y2nprv7q+l4qvOu2mH3qf+dnPqzPS5UPuZ2UeAtL1A+l6tw296zkzbo930P1sGACQLIKw/B6ftADv9ZFX2pxSok7PwcXfGgsFR5m4SNePiSjr5T/y4Xw3WrDmSiVFxQYgP9TZ308ga1dYAJ/8A9n+npfCfxQHwDm3QuY/Sbi1Nt5coiKundkMzOwO5J4EjPwOnNmqR/7oaIGm9dgvtA/SaA0QNlTV2WtYWsmiJmUVYcbB+tX75nyyXFJa9fkws/r06Ue1/sfU0eob5INzPdqflUAeTTrd0tk9t0FL4G8s4k458l5FAlzFASO/2PRdI+r6K5CcAuFqrE5C+X2uTDARIRoCeDJYnrdNuQiL/MnAQO54ZADaKnX6yGlKlX4rB6V0+LAaerjyErYFMv5ABmq+2nVHB0/9uSsKTc/tyqSRqPjlwpCO97xugKK3+12JGADEjjZ17c85bDOwGjL4TGHglcGwFcGyllhkgMg9pN+8woNcsIG6yTc/7txcV1TX4YH2SIa1fPusi/ZvIHiGLIjVmJvYKwR9HstSg9Dtrj+Ovs/vw3ETNJxF01dHfBKRs17LDGkvP7zJKu0mKfWetECPTAWLHajf5gJJMNJUFIFMBDtQflJCpaZsWAUd/BYb9iZlpNog9JrIaKw5kqHXfhUSJR3evvwQjWbapfcKw+UQuTuWUICWvDMsPpGPugEhzN4ssnVyoSMRk71faRYmpiEHAgMst8+JEUiUHLgT6LQBOrgOOLAMKU7WvFWcAOz4G9n4NxE8Fes4CvPh5Zq1+2JmiloATcSFemNGPaf3WRAIIR9KL1NSM0zml+H5XirqP6JznpbTdWkc/eVv91V/0ZHWX6BHa9K7QfoCTmbtcEr2XzDe59Z4N1FQD2Ud1WQB7gNwT2uNyEoFf/wrETdLOYR7+5m03tRt2+slqivct2ZNq+NySdHEW3LEukup6w5hYPLv0oFpyUf6ew2MDEebLSCc1cVEl0Qjp7MtFiClJkx+wEAjtDYsny/j1mKZ17uUi8fAy7fcScqF4aIl2n0SAJPU/mMtaWpOjGUX47VCG2nZ2csCfxnWDI9P6rW4Zv/+b0B3PLzuImto6/Lo/Hf0ifdEvkvWCqBEyeLv530D2sbO/5uIJRA/XOvphCebv6J+LtC2sr3aTzr10/GUwWg1O1wEnVgNnNgMJlwE9Zlj270LNwr8gWU3xPknvF1N6hyEmkBWRrVGXIE9M7xuGXw+ko7qmTqX5Pzi9FwdwqL6sI8CeL7RUeFOB3YGBV2iVh63tmJH2Rg7WbnmngCO/aHMp1bz/Wm3qgtyCewK952pTFqztd7Qz5VU1+GiDsVr/gsHRiPBjWr+1npsuGRqNr7dpSwF/tCEJz8/vrwYEiJTaWuDoL9q5ybRCvrO71tHvMloriidV8q1RxEBg1ivAsV+1aXQyTUFuO/8LJP4GDLkeiBxk7lZSG7DTT1ZVvM/XwwXzBzMl3JrNGxSJ7adykVNcqZZL2ng8B2Pjg83dLLIEkl645ystIm5KivJJJEIK4NlCRzigKzDqNu13kjn/Mve/olD7mqRbrn9NG9gYfQfgEWDu1lITvldp/RWGKWcyoEnWS/5+cr1xMLUQeSWVWL4/HfNZLJhEYZouun/UeJ/UZhl0tTaQa846Mu1Jovm95wCx44DdXwAn1mhRf4n+r3kRiBoGDLkW8OEUJmvESiVk0SS6/9kW4zzey4ZFs3iflZPIybWjYg37UtyvsLyFa9aSbSlIBta9Cix/tH6HXy4sxtwDzH4FiB5mGx1+UzJXcsBlwEWLgJH/p8211JN5lj8/DKQ2GAAhiyBzwFfp0vpdnBxx41im9Vs7yTi7emRXw99ROv0ytZDsmKTxHP4Z+OUhkw6/g7YEq5yXpAq/rXT4GxYAlIHpGX8DgnsY75dChcse0AYEqrQ6JmQ92OkniyZp4PoCSfFh3hgdx2JXtiAh2g8jumlrwsoayV9t1VIqyc4UZwIb/wUsexA4s9V4v2ew1gme85pWddjWOvsNyUVj9ynA7H8AEx7W1k8WEv2X6MrO/2lFl8ii0vr1Lh4SxWXebIT8Haf2DjUEHb7dkWzuJpG5FKUDq54Bdn5iTOeX5WCnPgkMvV6r12LrpEjuBc9pK9Los85kStrBH4Gl92lFavXzm8jisdNPFiu7uAJL96QZ13ofyeJ9tmThiC7wdNOyNjafyFFplWRHZNmgnx/SrRFcZ4wuDL0RuPB1rRPcWcsaWQr5fIseCsx+WUsZ1Tu8FFj5hJZiSmYnHcGsIl1af5g3pvVhWr8tuXBgJLx056atJ3ORmFlk7iZRZ5JO7JHl2vnJtK5Mz5nanHcpfGdv56VuE4C5/wT6XgQ46rJty/KATf8CVj4J5Bw3dyupGdjpJ4v1lUnxvql9Qlm8z8b4ebjg8mHGdOb/bTql1rsmOyDRgTV/B6rLjWsYD7oKmPcW0Gum9RZCai8y+DHxL8CQ64wXWFLvYPlfgJNrzd06u3YorRCrD2ca0vpvYlq/zZEO/4Ihxrn8n285o1acITvJPlv1LLDjI6CmUrvPK1iL7g+7EXCx44weFw/tPD3nVW1uv55Me5Al/ra8A5QzeGPJ2Okni7QvuX7xvosGsXifLRoXH4xe4T6GzI7Fu3XrmJNtkgvngz9p0YE63QCPXDzMe1OLINhDumRLoitSUGn6c4BPhHZfdQWwaZE2JUKqKpNZ0/ovHRqNUC45apMm9AhBdIC2EsOpnBJVcJZs/Nx0dAXw84NA5kHj/T0uAGa/CoT1M2frLIvU2pn4EDDpUeO5SbL1jv8OLLkPSFxl5gZSU9jpJ4sj0f3Pt54y7LN4n+2S6RrXjY5V61uLXw9k4HROqbmbRR213JGsAbz7c+N98dOA8fcDrl7mbJllC4wDZv4diJtkvE+mRPzyF6ZUdrIfd6WoVUdEz3AflYFGtsnJ0UFNQdP7bkeyGvQhG1ScBfz+PLD9A21gVR/dn/IEMPxm+47un4ss3yd1aAZfq2UBiKpSYOu72nme2TEWh51+stDifdoHb48wHxbvs4PCSXMHaJkckkL5yaYk1NbyZGFTqiuBDa8DR5cb7xtwuXZBZW/z9ltDLjpH3a6tZCBrQoviDG0u5aElvLjqBFJQ9neTtP4bx8SyxoyN6xPhi8FdtKKaBWVVWLaXNTVsinxuHvsN+PkBIGN//cFo6cyG9zdn66xnib8+c4G5rwPdJhrv12f0sQCtRWGnnyy6eN/VI7vwwsoOzOofjgh/rTOTlF2CVbqLa7IBFcXAmheAM1u0fQdHYORtQP9LbL8qf3uTlQxmvQwExRurKO/6VKvwX5Zv7tbZtO92pqBGNxg5vV8Y0/rtxOXDYlTUX6w4mI7MIi5TZhNKsoHVfwO2vWeM7nsGAZMfA0bcYoxcU/OXnx19BzDsJm1JQ5G0Xjs3VZaYu3Wkw04/WZQvt542FO+bxuJ9dsPZyRE3jIk17P+wK5nrI9uCkhzgt6eMFZCdXIGJDwPdJ5u7ZdbLJwyY9oxWA0EvbY9WaTp1tzlbZrMSM4uxPSlXbfu4O2NWf/08VrJ1MrhzQV9tdYbqmjp8s51L+Fk96YzKWvPp+4z3qSVTXwEiBpqzZdav53RgwoPGYrySQfHb00Cp9vlJ5sVOP1mMvcn52HU631DZ/aJBxuq5ZPviQ30wSbc+ckVVLT7dfJoVk61Z3ilgxeNAge4i2c0XmPZ0/aXoqPUplVJFefJfAXct/RgVhVpUZef/mFLZjuQz6JvtZwz7cl7ycOWUFHsi08+koLCQAsOH0wvN3SRqy8oxG98yrhzjEQhMegQY+X+sLdNeoocBU57UVuUR+afrXwuQ2bDTTxahsroWX2w9bdi/fHgML6zs0CVDouDn6WIYBNquW8GBrEzGAW10v0w3uu8dplWhD+pu7pbZlogBwOyXgYhBxvsOL9Xm+helm7NlNmPn6TwV6dfXHxnfI9jcTaJOJtciF5ss4ffl1jOsO2ONUnYAm/9t3I8dD8z5BweiO0JIT+2c7xWi7ZfmACueMGb9kVmw008WYblJ8T6pijyyW6C5m0RmIKs0SB0Hvc+3nEZJBaOWVuXUJmD1C1oVXxHYXbfsXLi5W2ab3P20SNWQ6wBH3SonuceBXx4GTuvqKFCrVNfU4tsdyfWW6JOpSGR/xnYPNkw3PJNbirXHsszdJGoJ6Wyu/ydQV2ss1jf6Tkb3O5JvpHbuD+im7cs1gayScHqzuVtmt3j2Ioso3vezrioui/fRkC4BGBSjpSwXllXhu51MCbMah38GNryhFZgTEoGe+qTWMaWOI5+XvefUH1yR4lSyYgI7/q225khWvcFo/ecS2R9HRwdcZTIgLcs3llZyQNoq5J4E/ngJqKnS9ruM1grO8Tqz43kEANOeMtZKkGuD9a9r1wrU6djpJ7P7YouxeN8FfUMRHcDiffZMDfyM6go3F+3jae3RLKTml5m7WXQuUntB5pLv/ER2tPviJgMTHuIax50pMA6Y+RLQday2L1EtGYRJ3m7ullkd6dAt3pNar4o7B6PtW88wHwyL1bIQi8qrDSsNkQUrTNNlnpUZB6JH3yWjOOZumf2QlRAmPGyypJ9cL3yiXTOwblOn4lFPZrXnTD52n9EV7/N0wbyBLN5HQKCXK2YnaBWy5Zzww64UczeJmiJF46Qwkswl15Pl+KQwkhSco84lgyxj7tYGXURdjZbWmrrL3C2zKj/vSzdMLRoZF4huwUwDJuCyYdFw0U3x+O1QBjIKuYSfRa8es/p5rcipCO4JjPszz0vmIK/5qNu1awM9uWbY+KYxA4M6HDv9ZDHF+64YxuJ9ZDStT5haxUFfMfl4llZMiyxIZalWMf7UBt0dDsDwW4ABlzN10pzktR9xq1aoSp9Sue7V+ktU0TmnnK08qBVClDXaLx4Sbe4mkYUI9nbDjP7aEn41tXX4aptxZQeyIOWFwOq/ASXZ2r5/F2DiX5h5Zu7zklwbyDWCXCuIUxvhsOZFOOhrAFGHsrpO/6JFixAbGwt3d3eMHDkSW7dubfKxH3/8sUrHM73J9zVcjufJJ59EREQEPDw8MG3aNBw7dqwTfhOS4n1ZRdp8yV7hPhjB4n1kwt3FCRcOijTsS0EtLuFnQWTdXanQL+vwClmXV9bn7THN3C0jIemrElnpMkrbl2jKHy+zenIzyHxtWZNdTOsbpjp6RHqz+kcYVpmRbMUDqQXmbhKZklT+NX8HClOMq8dMehRw0y0hR+Yl1wgy9U+uGUTmQXhv/odW4Z86lFV1+r/66ivcf//9eOqpp7Bz504MHDgQM2bMQGZmZpPf4+vri7S0NMPt1KlT9b7+8ssv480338Tbb7+NLVu2wMvLSz1neTlTtjqSdPb1xfukQI7M4eZ8SWpofHwwQn21gbqj6UXYn8L1kS1CcSaw8gkgX/d5Kuvxyrq8sj4vWQ5HJ2D03UCU7u9SU6llZmQdNXfLLFZSdgk2HdcuPr3cnDF3gDbNiMh0QFpWctCTjEWJ+pMFqK4E1r6irWCiLyQ35XHAk0ElixI9FJj6FODmo3adilPhIEvN5huzf8nOO/2vvfYabrnlFtx4443o27ev6qh7enriww8/bPJ7pCMZHh5uuIWFaWlZQqKGr7/+Oh5//HFcdNFFGDBgAP773/8iNTUVP/74Yyf9Vvbpy60mxfv6hCHK38PcTSILJMtjma6PLJX8Ge03s7J8bdkdfdqkV7BWNV7W5SXLnEs57j6tgJW+qv+aF4Ac3UUxGchny9fbjenaFw6MVMuIEjU0Oi7IUOchLb8ca440HXyiTlJbo80Rzzig7ctyfJMfA7xDzd0yakxwD+ACkxVnJNK/8inj34/andWczSorK7Fjxw48+uijhvscHR1VOv6mTZua/L7i4mJ07doVtbW1GDJkCF544QX069dPfe3kyZNIT09Xz6Hn5+enpg3Icy5cuLDR56yoqFA3vcJCLfooP0NulkraJhc15m7jnuR87DqTp7b9PVwxd0C42dtkzyzluGjKkBg/dAnyxKmcEpzOLcHm49kYGRdk7mbZ57FRWQIHqYRclG5Yh7duyhNaNMVCjx+S0W8nVcDKQSJgMq9fajH8/jzqJDsjoKtNfm609tx0OF07n4f6uGNijyCb+v06gy0eF01ZODwaL/xy2DAlZHhsALzdrOay2raODQkGbH0XDmd0U36d3VA34S+AbzTPTZbMOwy1U55G9a9Pw7U8XV1j4Pe/oU6mpulXoaHzau57ymo+nbKzs1FTU1MvUi9k//Bh7UO3oV69eqksAIngFxQU4B//+AfGjBmDAwcOIDo6WnX49c/R8Dn1X2vMiy++iGeeeeas+7Oysix6WoAcFPI6yIeuDJiYQ3VtHT5eexoVFVq1zgv6B6AwLwdM2rbv4+J8Jnf1wDup2kDRF5tPIMazGs6OnA7SqcdGXTW8t78F51yt5kmtewCK+t+KuqIqoIhRLqvQ+3p4F+v+hpWVqPvlcRSNfAC1PsbaGbb0udESkp79v/VnUFFRqfYnDwhEbo4um4Xs9rg4F5kh3i/EDTuTi9Rx8/n6I5ifEGLuZtnfsVFXB48j38Ht5G/avoMTigf+CdW1fsA5pv+S5RwXhb3+hMiT38A1W6L8Mg3tVZQMLkJV+BBzN88qFBUV2VanvzVGjx6tbnrS4e/Tpw/eeecdPPfcc61+Xsk2kNoCppH+mJgYhISEqBoClvzGkukO0k5znYz/OJqFomoHuLm5oleYD6YPjuNcfjOzhOPifEJDgS2plTiUXojiauBQvgOm9mbKXqcdG0GBcNz4BhyKTwGurqogUt20Z+DuyyU2rc7Mp+Eg6f3ZMnhTBfe9/0GdzK30jbS5z42WnpvyK6HOTd1DvDFtYDeem1rB1o6L87l+gj+O/bgflTW12J5ajrlDfRDJ6Yqde2wc/BEOKWu1c5ODA+rG3IPALsZrf7KO48Kz55Nw3PkRHI7/ru53O/w56iK7a9MA6JwaFqm3+k5/cHAwnJyckJGRUe9+2Ze5+s3h4uKCwYMHIzExUe3rv0+eQ6r3mz7noEG6+Y+NcHNzU7eG5EPM0k9y8sYyVztlib6le9PhoFuq47JhMepvSvZ9XDTXpcNi8PzSg2p72d40jO8RogoqUceSd6vjjg/hmLpDW3LH2Q2Y9Bgc/GPM3TRqDTfdPNff/6YVu6oohIOsZT3taePcShv63GiO8qoaLN6TZjg3XTGc56a2sJXjojmCfdwxe0AkftqVojLMv96Rgj9P68EBo846No79Buz9yrhE7Ihb4BDLtHCrPC6cXeA48v+0JWaT1gG1VXBY9wow/fkWn5vsjWMz309W84ns6uqKoUOHYtWqVfVGh2TfNJp/LjI9YN++fYYOfrdu3VTH3/Q5JWovVfyb+5zUfFLoJr9US50cFOOPuBAun0LNJ0WThsVqFXiLyqux4mD9AUDqGB5HfoDDidXajqMzMP5BIDje3M2itlAFrh4FAmK1/bI8YNVzQHEW7NHy/ekoLNOmnA3pGoD4UK2iNFFzzOgXhgAvV7V9IKUAe5O5hF+nOLUR2Pa+cX/glUA8l4y1ajJ4M/I2IEyrvYaKIm3FGfmf2sxqOv1CUurfe+89fPLJJzh06BBuv/12lJSUqGr+4rrrrqtX6O/ZZ5/FihUrcOLECbXE3zXXXKOW7Lv55psNI0v33Xcfnn/+eSxevFgNCMhzREZGYv78+Wb7PW2RRFJ+3pdmeE/PH8y0YGq5BYOjDBGUX+VCvVy7UKcOcngp3E6u0O04AKPvAiIGmLlR1C5kqSSJ+Pvplh4rzQZ+fxYosa+1kvNKKlWnX7987GUmS7ERNYebs1O94+ar7WdQrVudiDpI6m5g0yKZ0K/t97kQ6MfrdptZcWb8A4B++qAUDv7jZW05RrKfTv8VV1yhivE9+eSTKv1+9+7dWL58uaEQ3+nTp5GWpnUsRV5enlriT+bxz549W0XxN27cqJb703v44Ydx991349Zbb8Xw4cNVtX95zubOj6Dm+e1QhorOiuGxgYgJ9DR3k8gKhfu5Y0LPYONA0l7j+53a2Yk1cNj1qXF/+E1AV2ZA2RR3P20Nax/d9LbiTOD354DSXNiLH3enGJaPndwrFKG+PPdTy43oFoj4UC17MaOgHL8fZgG5DpN1BFj3qpYGLuImA4OuNnerqL2z0SY9Crj7a/vZR4HNi7RVGqjVHOq46HWbyWCCLPUnVUktvZBfZmYmQkNDO3WuXUlFNf7y3V6UVdaoKO3z8/urzhvZ93HRWjJF5JHv9qkLdSdHB7xwcQKCvc+usUFtkLxdXVTV1dagorISrsOugWPCpeZuFXUU6eT/9jRQrJsyIxGWaU9pgwI28rnRmDO5pXhmyQF1Henh6oQXL06Aj7uLuZtl1WzhuGitpOwSPL/soOF4knOTL4+n9j028k5pn1VVpdp+zAhg7J8lTadd20oWclzkHNf+3jW6KH+fecBgDvC0th/Kdwl1uF8PpKsOvxgbH8QOP7WJv6crpvUNMyyzJesjUzvKOAis/ydQp0U/K7pOBvouMHerqCN5BgJTnwS8tCwaFKZohf5sfB7lNzuSDYGjOQkR7PBTm8QGe2FMd+09JNc8UtyP2pFkIq1+wdjhD08AxtzDDr8tC+oOjLtPV1IYwKHFwLGV5m6V1eI7hTqUzLmW1H4hUdkLB7Z8PWiihmYnhMPTTVt8ZPOJHBWxo3aQexJY+7IhbbIudhzK+lxurIxMtks6/FOeBDy0YpnIP6VdYFeWwBbtTylQRddEoJcrpvbRBhKJ2uKSIdFwc3E0LAOZml9m7ibZhvICYPXfgPJ8bT8oXisq68SBOpsXNRQY9ifj/rYPgJQd5myR1WKnnzqUzLmuqNIihhN7hTANm9qFp6sz5iRoS7hIpO77nYyotJkUy1FRFN1FasQgrYouO/z2wycMmPqEMa0/94R2TFRXwJbU1tbhm+1nDPsXD4mGqzMvh6jt/DxdMCch0nBuWrwn1dxNsn5V5cCal7RzlPCNBCY9Argwa9Ru9JwO9J6r26kDNryhpf5Ti/AsRx0mt6QSq49oxWxcnBwxV3ciJGoPU3obl0nam5yPYxm2nYrc4XO6f39erdmuBPcAxsk8SS2bguyIXFBPeUKr7i9yErUq2TZU/mfTiRwk52mDW12DvDAqTpfdQNQOpvYJhY+79tm5PSmXmWhtUVMNrH8NyNV18DwCgMl/NX4+kf0YfA3QZZS2LQPRUtHfTpeZbS12+qnDLN2biuqaOsNJUEbAidqLROYuGmQcSPpWzc+1nY5Jp6ko1tbBLdGdPGUJt4l/YRTFnvnHaBfWzrrMrDNbgD1fwhZUVNfgu53Jhv3Lh0cblgElag/uLk6YlaCtiMFofxvIi7flbSBtj7bv4qlVdNfXHiH7Ip/To+4Egntq+zLVQ65dbHQKWkdgp586RGZhOdYdy1bb7q7GEyBRe5KiSfrCkImZxdiTrM3RpWZSo+UvAfmntX25mGIUhURgN2CsSQGlgz8Cx1fD2q08mIGC0iq1PTDGH73DLXfFHbJek3qFwM9DC3TsPJWH0zmM9rfY7s+BpHXatmSdTXgICOhq7laROTm7aseBT7ix6Kws3ygZIXRe7PRTh5CRbZk3Kab3DYO3rugaUXuS4pAyH1fvux3JhuOOmpM2+bq2/q1w8wUmP65VcicSUUOAodcb97e+B6Tvh7UqKKvCz/vS1LZE9y8davzsIGpPbs5OmG0S7PhpN+vOtMjhZVqldsVBq9If1tfMjSKL4O6rZXzogxMZB7SMEGZ6nhc7/dTuUvLLVEV14eXmjOl9dSNyRB1gSBd/xIV4qW2plCzzdamZaZOpO7V9Z3dg8mOALzNyqIFes4CeM7Ttuhptfm1hqtUORhsKy/YMRqS/h7mbRDZsQs8Qw7TG3WfykZTNNORmSdoA7PyvcX/4TUCXkeZsEVkaifRPeNi4eoNkhOz71tytsnjs9FO7k3XT9QNusrSah6uTuZtENkwidpeYROzk+Kus1i7sqRHy5pQLKtO0yYkPa+ncRI0Zcr22moOQ+ZNr/m4s+mgl0grK8McRrW6FLKk2b1CUuZtEdlB35sIBxrozP+22zsGyTpW+D9j8b+N+/0uAHheYs0VkqUJ6AqPvNk5B2/8tcGKNuVtl0djpp3YlI9kyf03IfLbJvUPN3SSyAzIvt3+Un2HViDW6VSOoEUd+1m6KgzZvO6yfmRtFFs3RCRh7L+DfRdsvzoDDuteAGm1uvDX4zqTQ56z+EYb51kQdaVyP4HqrzBzPKjZ3kyxX7klg7T+AWt387O5TgITLzN0qsmSSASJV/fW2vAuk7TVniywaO/3Urn7YZZy3NndghJrXRtQZLjGZ2790bxrKKmvM2h6LlHUE2PWZcX/krUDMcHO2iKyFq6e2qoO7NriGrMPw3P+pVcyjPJVTgl2n89W2pFtP7xdm7iaRnVDLFQ8wndvPaH+jijK0SuzV5dp+1DBg+M1axXaic+k95+wpaHmnzN0qi8ROP7UbWSd9f4pWPT3I2xUTeoSYu0lkR7oEeWKkbr3tkopq/Hog3dxNsizlhcCGN7STouh7kRZJIWouWd1BOv66eZSuqVu0qv4WbrFJR0s6YByMps40Lj5YXROJAykFSMwsMneTLEt5AbD6b9r/QpZkG3uPlmFEdD4yMDTkBm2gSFSVaasSleaau2UWh51+aheSNvm9SZR/3sAoODvx8KLONX9wFBwdtcjAioPpqlo36ebxb1oElOqKHIb2AQZcYe5WkTUK6q6bR6lx2PsVcGojLJUslSZF1PRR/nHxHIymziXXQhcO5Nz+RlWVA2teUlOGFN8orcaMs5u5W0bWxNERGHM3ENhd25drHen4ywAAGbBXRu3iQGohjqZro9dhfu4Y3T3I3E0iOxTq446JPbWLeqnSvWQPL66UAz8AabuNS/PJ8keMolBrdRmJuoFXGvdlQClLt/SjhVm8xzgYPSchQhVXI+pso+OCEOqrdWQPphbiiO56ya6pZWNfA3KPa/segdoqMvql2IhawsVdGzCSjDSRlwRseBOoZWFnPZ79qF2i/KZz+ecPilLrpxOZg0RUpDq3+ONoFjILdXME7ZWsYbv3a5PCffcAnto0CKJW6zMPldFjtG0pvLX2FaA40+Ki/KZz+cdzyhmZM9pfr5K/8ZrJrpeNTduj7bt4ApMfNXbYiFrDwx+Y9Kh2PAlZlnj3p+ZulcVgp5/abJfJ+rMxgZ4YHhtg7iaRHZOq3NP7hqvt2tr6A1J2pyxPG+mGrthawqVAeIK5W0W2wMEBpf2uMq78IEv4yVJ+sqSfhViy15jpM7s/o/xkXiPjglQmpJBI/6E061r2sl3t/vzsZWP1q4MQtYVfNDD+fsBB93l/eBmQ+Ju5W2UReAakNpFOlayLbjqnWtZNJzKnGf3C4e3urLa3nsxVET+7IyltG98CyrVIp+rs97vY3K0iW+LojLpxfwZ8dNXJC1OA9f/U0nbN7ExuqXH5WE8XTNBN+yEyF8mANI32/7g7xbCMpF2RJWMPLTbJPrtXqzND1F7kemfYTcb9bR8C6fth79jppzbZmpSLlDytUEZciBcGRuuWcyIyIw9XJzV/V+/bncmwO/u/1VL7hUeAVuRGit0QtSdXb2DSI9r/In0fsOMjsy/lt9ikngej/GQpRnYLRLgu2p+YUYyDdhbtd0ndBoed/zXeMfwmIGaEOZtEtqrHNKDXbG1bVi1a9ypQaN91nngWpFarrqmtNy9tweBoRvnJYkzuHWq/yySl7gb2f69tS4qbRFL066sTtTefcGDCg1qarpBUSonmWUKU34NRfrIcsrrMRYOiDPuSKWk30f70ffDa+7Fxv/8lQI8LzNkisnWDrwUih2jbVaVaRf8KO7oWbICdfmq1jcdzkFlYobZ7R/igb6SvuZtEZODi5KiWjtRbsicNdqEkB9j0L+M8/oELmTpJHU+OsZH/Z9zf+T8geYfZo/yzWLGfLIzUPYr091DbJ7JKsD/FDqL9eafgIJFWibiK7lOBhMvM3SqydZLdKMWL9fUiitItZgqaOfBMSK1SVVNb78JKovxElmZUXKAh2r8/pQAnsoph0+REtuF140i2jHD3mWfuVpG96DZBi94pdcDGN4Dck2aN8uuX8CSyFJIROX+wHc3tr64ENr4JVGsr6dRFDdPS+pkZSp3BxQOY8LC2XLGQaY/b3jf7FDRzYKefWuWPI1nIK6lU2wOi/REfqpvPSWRhyyTNNpnbb/PR/r1fAtm69dI9g4HRd/DCijqXRO+66pbyq64A/ngZKM01S8X+mf3DGeUnizSkS4Ba7UjI6kd7kgtg0+elAq2uTo1PtBZ5dXQyd6vInniHABMeMk5BO7EaOLwU9oZnQ2qx8qoaLDW5sFow2JhCTWRpxsYHI8BLi/bvTc633Ur+yduBQ0u0bTmxjbsPcPMxd6vI3sgg08jbgeAe2n5ZrjaPskqL8nV0lH9Hkhbl9/VwwaReoR3+M4laG+2/aFCk7c/tl4rpsmSacHJBycAbASftfEzUqUJ6AqPuMO7v+sxsU9DMhZ1+arFVhzJRVK7NhxkWG4guQdpoNZGlzu2fnRDeaCTQZhRnAZsWGfcHX2PsdBF1NmdXLariFazt5yUBa1/W0nw70NK9xkyeWYzyk4UbFONvuH6SAatdZ3TLq9qKyhJg878Nu3UDr0StD4NEZEaxY8+egibnJzthdWfERYsWITY2Fu7u7hg5ciS2bt3a5GPfe+89jB8/HgEBAeo2bdq0sx5/ww03qBFX09vMmTM74TexTqWV1fhlf5ohoGM6L43IUo2LD1FrdQuZ7ysXWDajpkorTCOVaYUsf9STn2FkZrJaxKRHARdP4zxKKeQlx2sHSM4rxY5TuYYo/8RenMtPVjC336SS/0+2Fu3f/hFQmqNth/UDes4yd4uIoKagdRldfwpamZYhZuusqtP/1Vdf4f7778dTTz2FnTt3YuDAgZgxYwYyMzMbffyaNWtw5ZVXYvXq1di0aRNiYmIwffp0pKQYl5kT0slPS0sz3L744otO+o2sz68H0lFWqVVfHd09GBF+WgVaIksmEb+Z/cIbjQhavV2fArnHtW3vMGDkbZzHT5bBLxqY/FfAWVuXHGm7gQ1vALW6Ct7tSOp16PtLMpffzZlzhsnyDYj2Q7dgL7WdnFeGHboilFbv1CYgaZ2xkJqkVfO8RJbAwUE7HoPitX0ZmFr7jw7PRLMEVtXpf+2113DLLbfgxhtvRN++ffH222/D09MTH374YaOP/+yzz3DHHXdg0KBB6N27N95//33U1tZi1apV9R7n5uaG8PBww02yAuhsReVVWHkwQ207OTpg3kBG+cl6SOTPx10r4iIRwdT8MtjEhdXR5Sbz+P8MuGoXkEQWITgemPSIms+rJG/TpqLU1rbbj0jJLzNE+eU9PolRfrKqSv5R9Sr519ZaebRfCndKdXS9YX8yTvUhspgpaA8CnkHafk4isHmRzVf015UxtHyVlZXYsWMHHn30UcN9jo6OKmVfovjNUVpaiqqqKgQGBp6VERAaGqo6+1OmTMHzzz+PoCDdgdCIiooKddMrLNTWWJUBBblZKmmbpI61to0rDqSrIn5iXHwwgrxcLPr3pc45LqyFi6MDZvQLwzc7ktXn+tI9qbh5fDdYraI0OGx523CSqhtyPeDftV07U/ZybFAHHxvBvYDxD8FBCvrVVgNJ61EnxbyG39Iu0b/F0lHSvQ/kPS7vdR6z5sHPjJbrE+6N7iFeSMwqVoPRW0/mYES3+tepVqOuDg6b/2NYNrauyyigy1h1XuKxQY0x23Hh5qedl357SltO8tQm1PlEAAmXw9o097Wzmk5/dnY2ampqEBYWVu9+2T98+HCznuMvf/kLIiMj1UCBaWr/xRdfjG7duuH48eN47LHHMGvWLDWQ4OTUeHrgiy++iGeeeeas+7OyslBe3vEVittyUBQUFKg3lwyYtERZVQ1+3n0GFdW1cHZ0wIgIlyanVZB1actxYW36BgDOddUoqazF2iNpGB3lghBvK6wkXFMJn00vw6lEW+apMnIESn0SgHZ+T9rTsUEdfGw4hsGl7w3w2iUDVbXAoeWoKK1AWZ/L29TxzyiqxIaj6Wrsy9vNSb3HeW4yH35mtM74Lu44kKxlq3y1+Ti6eFbB0QrT4V1P/QHPU9vUdp2bHwq7zkNdVpba57FBjTHvceEBl97XwGunruDkzi9RUuOJqsgRsCZFRdogm810+tvq73//O7788ksV1ZcigHoLFy40bCckJGDAgAHo3r27etzUqVMbfS7JNpDaAqaRfqkXEBISAl9fX1jyG0tSyaSdLX1jLdmTijonZ7g5ARN6hKBnV6b224q2HBfWaN6QOny/S6vrsSWtCn8aG23uJrXc1nfhUJEJuLoCvpFwnXwfvPXzptuRvR0b1MHHRug0wM8LDhvfVBFBt7QN8AkIBgYsbHXH/8fDJ+Aq7wMA84dGIybSWLuDOh8/M1onJKQOG5IrcDSjCAVVwMliZ4zu3nTGqUUqTIXDySXaeUk6/RPuRUhknOHLPDaoMWY/LkKnAS7lcJD6SJIAcPQr1EX3BIJ7wlqY9mttotMfHBysIu8ZGdqccj3Zl3n45/KPf/xDdfp/++031ak/l7i4OPWzEhMTm+z0Sw0AuTUkB6ulf5DJG6ul7ZSU/lWHs+Ag/xwcMHtAhMX/ntTxx4W1mtonHL8ezERpRTU2n8jDvEFRCPVp/w5zhzm5FjixWuskyTzp8Q/AwbXjls20p2ODOuHYkCWTaqsASQGW5zi0GHBxN1lGqfkkFXr7qTx1bpK5/JN7h/E4tQD8zGidBYOj8fJyLXN16b40jOoerOonWYWaam15Pnlvy7mpxwVwiB5y1sN4bFBjzH5c9LlQTZnE8d/VFDQHWWlmxguAt3XUh2nu62Y17zoZyR86dGi9Inz6onyjR+uWXmjEyy+/jOeeew7Lly/HsGHDzvtzkpOTkZOTg4iIiHZru7VbfTgTJRXVantUXKB1dZCIGvBwdcIFfbVpQpJO9rM1VfIvSAa2vmfcH34z4B9jzhYRtVzcJGDYTcb9vV8Dh5a2+GlUBpqu7tKMfuFwd2HFfrJevcJ90DvCR21nFlZg8wndcnfW4OCPxlVkfMKBQdeYu0VEzefgoJ2TZGlJUVEISA2aShta3tmaOv1CUurfe+89fPLJJzh06BBuv/12lJSUqGr+4rrrrqtX6O+ll17CE088oar7x8bGIj09Xd2Ki4vV1+X/hx56CJs3b0ZSUpIaQLjooosQHx+vlgIkoKK6Ri3Tp39PzBnAwRCyftP6hMLdVesgbDyeg+xiY2FOi1WUDqx5Uc3nV+Ima50nImvUczow2KRjsOt/wLGVzf72tIIybEvS5kB7qyh/aEe0kqhTzR9krOS/eHcqqmusoOhdznFg/3fatoMjMPouLXuHyJo46VZAkkErUXAGkKloNlR40qo6/VdccYVK1X/yySfVMny7d+9WEXx9cb/Tp08jLc0YtfvPf/6jqv5feumlKnKvv8lzCJkusHfvXsybNw89e/bETTfdpLIJ1q1b12j6vj1adzQbReValH9o10BE+HmYu0lEbebp6qw6/qKmtg6/7NcGtixW/mngt6eBkmxt37+LtgwSkTWTlMqEy4z7sszXiT+a9a2M8pMt6hHmg36RWm0oGYyWQWmLVl0BbHxLK84p+l0MBPcwd6uIWsfNB5j4F+PSx6m7tAFpG2E1c/r17rrrLnVrjBTfMyXR+3Px8PDAr7/+2q7tsyVVNbX1OkNzGeUnG3JB33CsPJiBiqparDuahbkJEQjwcrXMKMrqF4BKLUMJftHApEe1dWaJrJ3M5ZeOg8ztFzLXX5bz6zr6nFH+rSe1KL+XmzOmMMpPNuSiwVE4kKotBb10byrGdA+Cs5OFxuik+JnMhRaB3YF+C8zdIqK28Y0Ext2vXXfV1QDHVwG95wBewbB2FvopQpZgQ2I28ku1VOJBMf6ICey4YmFEnc1bdRbCLDvan3EQWPWsscMvF1XTngY8rXQNZ6KGZN7YoKuAnvopdXVa5DBlR5PfsnRPmiHKP7M/o/xkW7qHeKN/lJ/azimuxPpEXYaXpUndDRxboW1LUdkxd2kp0kTWLrw/MPxPgGcwcMFzNtHhF+z0U6NkHtnP+4xTJeYO5BJ9ZHum9wuDq7P2Mbj2aBYKSqtgMVJ2AmteAKrLtf3QPsCUx7X0MyJb6/gPvVGrUyEkurLuNSBt71kPTS8ox5aTWsozo/xkq+YPNs7tl2sxi5vbX1EEbHnbuD/4Wi1CSmQr4qcBc/4BBHSFrWCnnxq15WSuGmEW/aL80C1YN7+FyIb4urtgcq9Qw3QWfdFKszu1EVj7D6BGNwgRORiY9BjQgUvzEZm94z/iVqDrGG2/thpY+wqQqS1hpifpzpzLT7ZOrrnk2kvItZh+OotFkDeg1N8oy9P2IwYCPaabu1VE7c/FtuqYsdNPZ6mtrcMykyj/vIGcy0+2SzoOLrr5kquPZKKw3MzRflkndsObWrRTdBkFjH+Qc/jJ9slaw6PuBKJ1y+vKShWyYoXUtdBF+fXLmEmUf6quGCeRLbrQpI6SXJPJtZlFSFoPnN6sbUvBs5G3aYN2RGTR2Omns8gySBkF5YZ1Y+NDmU5MtsvP0wUTeoao7crqWqw4kGG+xhxeBmx5R5vXLLpPAcbcy3mSZD/kWB97HxAxSNuX6S2r/wbknaoX5ZepOYzyk61X8u8Z7mMY8NpxWhdZN6eSHGD7h8b94bewxgyRlWCnn+qpq6sf5Z87gHO0yPbN6h8OJ0ctUvH74QwUV2jLVHYa6cns/QbY+V/jfb1ma+nOEv0ksidSFGz8/VodC1FZgrJfn8GRo4eMUX5dEU4iW2a6atKyvVLA0ozRfvnZmxcBVaXafuy4c66yQUSWhVeTVM/O0/lIyStT291DvdEnglF+sn2yVN94XbRflvBbeTC9cy+kpLO//1vjfbJ2+ZDrmDJJ9svZTVsvOShe7WZlZ+Hi3A8QXJWmovwerozyk+3rG+GLWF1NpTO5pdibXGC+xhz5Gcg4oG17BgHD/mS+thBRi7HTTwYygizpk6YjzA7sdJCdmG0S7f/tUCZKKzsh2l9bq6Xzy8WUnnT2Ey5lh59IiihNfgylXjHIK6mER20JLi/8ENNCiszdMqJOIddgptF+bYqLGaL9+WeA3Z8b90fdrs3nJyKrwU4/GexPKcTpHC1tq0uQJxJ0lWOJ7EGQtxvGxmtrsZZX1qiOf4eqqQY2vgGcWK27wwEY+X9A7zkd+3OJrImrF77x/xPSXGLUbpRXHdzXvQBkHDR3y4g6xaAYf0QHaFXET2SV4FBaJw96yblq07+0FTX0U8/CEzq3DUTUZuz0kyIjx0vqRfkjGeUnuzMrIdxw3K88mIGySl0F/fZWXaEtR6avgOzgBIy9VyvcR0QGmUXlWJdUih/8b0SGRzxCvN204n5rXgDS9pi7eUQdTs5Jc0zqKy3bZ7xW63BF6cD6fwJ5Sdq+bxQw8MrO+/lE1G7Y6SflcHoRjmcWq+1Ifw8M6eJv7iYRdbpQH3eM7h6ktksrqvH74Q6I9leWasuQpe02Fi2b8CALIhE1Yvn+dDUoXe3oisrxD8EparD2hZoq4I+XgeTt5m4iUYcb1jUAYX7uavtwWhESMzs42l+WB2x7H1h6P5Cie485OgNj7ubysUT21Omvrq7Gb7/9hnfeeQdFRdoHT2pqKoqLtU4jWR/O5ScyPf617V8PpKO8qh2j/RVFwO/PA5laFXI4uwOTHgOihrTfzyCyEbkllVh/LFtty/J8U/pGawNkMSO0B0i68bpXgaQN5m0oUQdzdHTAnATj3P4le4yrLLX7oPSer4DF9wDHVgJ1uvOfmy8w+i4gsFvH/FwisrxO/6lTp5CQkICLLroId955J7KystT9L730Eh588MGOaCN1MBkxlpFjEerrjuGxXHOV7FeYrztGdtOi/SUV1VhzRPuMa7PSXGDlU0DucW3f1RuY+iQQ1rd9np/IxsigW02tVrRscu9QtVSfyowZe5+2XJioqwU2vgUc19fGILJNI7sFIshbi7LvTynAqZyS9ntyyZw5vAxYfDdw4HugptK4ikb/S4F5bzIbjcjeOv333nsvhg0bhry8PHh4aIVFxIIFC7Bq1ar2bh91AtMRY4lyyogykT2bYxLtX74/DRXVbYj2VxQDB34AfvkLUJii3ecRAEx7Ggjq3j4NJrIxheVV+EM34Obi5KiW6TNwdAJG3Ql0n6q7ow7Y8jZw9FfzNJaoEzg7OWJWf9NK/mnts4LMiTXAkvu0pWMri42p/D1nAvPeAgZcpq2kQURWzbml37Bu3Tps3LgRrq715/TExsYiJUV3QUtW42R2iRoxFjKCLCPJRPZO6loM7RqI7Um5KCqvxtqj2bigr0mnozlKcoAjy4DE37TCfXpewcCUJwCf8HZvN5GtWHkgA1U1tWp7Yq8Q+Lq71H+AoyMw4hZtfvGRX7T7tn+oFfnre5EZWkzU8WSFGSm6XFBahZ2n8pCSX4Yo/1Z0yGXZv5SdwJ4vgIIzJl9wAGLHAgmXAz4tPOcRkW11+mtra1FTc3bUKzk5GT4+Pu3VLuokS/cY5/LPTohQI8lEpGW9SKdf/LI/DRN7hsDVuRnvj/zTwKEl2jxj/XxIxUGbizz0BsCTg2tETSkxKaLp5OiAGf2aGCCTdJwh12u1MSSbRsha4jLIlnCZ9nUiGyLnIHk/fL1N66j/vDcNt0yIa9mTZB0Bdn0KZB+tf3/EIGDQlUBAbDu2mIisttM/ffp0vP7663j33XfVvhR8kwJ+Tz31FGbPnt0RbaQOcia3FLvP5Kttf09XwxrlRATEBHpiSNcAFU2RqMr6xCxM6R3WdNREivNJZz91Z/2vSZpk3CSg91zA15iaSUSNW3U401BAc1yPYAR6naNauHTsBy4EnFyBvV9p9+3/Tuv4D76GHX+yOTIAvWxvmhoc23IyBxcNilT1mJo1IL3nSyBlR/37g+KBQVezvgyRjWtxp//VV1/FjBkz0LdvX5SXl+Oqq67CsWPHEBwcjC+++KJjWkkdYtk+43ywWf3D1bxJIjK6cECk6vSLn/elY3yPkPrvE5kPmbwNOLQYyEms/82uXkCPGUDPGYAHl8Akag7p7P92MMMQVJjZv5nTYPpfrEX8d36i7R9eqqX6D7+ZHX+yKbKShdS4+GFnihpv/nlfGm4Ye46q+sVZwL5vgJNrtfoXer6RwMArgejhfI8Q2YEWd/qjo6OxZ88efPnll9i7d6+K8t900024+uqr6xX2I8uWXlBuSF32cXfG+J6M8hM11CXIEwNj/LHnTD7ySiqxITEbk3qFAtWV2gXU4SVAUXr9b/IMBnrPAbpPAVyaEX0hIgNZLUMimGJUXCBCfVrwHuo9W6s2vvU9rXMj9TSkCvnI27Tif0Q2YkrvUCzfn46yyhpsPJ6DeYOijBkxsuxe7gltpRgZjJa5+7K8pZ5HoFacr9tEvi+I7Ihzq77J2RnXXHNN+7eGOs3SvalqhFjI/DA3Z37wEzXmwoGRqtMvft9zAhMq18Px6C9ARWH9B/p3AfrMA7qMBpxa9dFKZNcqq2ux4kB6vTozLRY/VUv13/xvbTk/GZyTjv/ou/m+JJvh6eqsdfz3nEZwRTr2rTqIicGFWke/MK1+RN80+6zvfK0qvxTAJCK70uIz4H//+99zfv26665rS3uoE2QVVWDzCS3KL+sey/rHRNS4bgFuGBlUBtek1eifuR35Bc715xiH9dM6+xEDmSJJ1AaSSVNQVqW2pZ6GrKLRKt3GaxH/DW9oEc7Tm7XsnHF/ZmeHrFdtjVZpP+e4iuTPzTiKuOwD6n7HPKAqwrfxaZqy3F6P6dqqFtLxJyK71OJO/7333ltvv6qqCqWlpWoJP09PT3b6rcAv+9NRpwvzT+sbpuaHEdmlmmqgLA8oywVKsoHSHJNbLlCaDZQX4KqKaiSWausXZxZVI8DLFQ5dRmmd/aDu5v4tiKxedU2tmptsWk+jTWSljAkPAuteBWqqtAKbf/wdmPAQ1xwnyyXXZlKEsqIIqCwCClJ0afrHgbyT2rGsI8NXoV7OyCyqQW2dFtCJDPQB/LsCQXFAYHft/OQbrS1xSUR2rcWd/rw8raiVKSnkd/vtt+Ohhx5qr3ZRB8kvq1bzv4S7qxOm9WGUn2zsgklSeaWAV1W57v8yrWNv6Mxn6zr0OUBZfuNpkA14uzmrW0ElsNV5KCoGX42BfXp1yq9EZA8k+yy3pFJt94/yU/U02ixyMDDpUeCPl7SOVMYB4LubgeCeWoaO3IJ6MO2fOu58VFkCVBZrnXiZElah2zbcV3T2vun8+3NyQFBUHNaf9kCqUxTyPGLw0Lzp8PbkoBYRna1dznQ9evTA3//+dzXP//Dhw+3xlNRB1iTmobq2Fg5wwNTeoWpeGJFFRNyrSrQLInWRVKT7v0TruMsFu3Te5f9q/f+6Dn3DrzejE988DoBHAOAZCHgGwTU6FB8lRqHM0RsnjlVjQO86VV2ciNqmtrau3moyFw5sx6UtpWM/5Qlg9QtAVanWoco8qN2kormTCxDSGwjtC4T1BwLjOAhARhJZ15+L5PiRzrkUylP7JQ229fvF2mPlfNZu5yMZfQ41Ru/l/8A4uLm4o2LzKew7nKkesupoLi4aFNV+P5OIbEa7ndmkuF9qaio62qJFi/DKK68gPT0dAwcOxFtvvYURI0Y0+fhvvvkGTzzxBJKSktTgxEsvvYTZs2cbvi5p7k899RTee+895OfnY+zYsfjPf/6jHmtrZK7k5lOFcHR2gauzIy7o28Sa40StpU9L1Ec09BdL+k683Fevcy//F+s6653JAXD3U515eAVp1Yy9grV9/c3dv97Ff0xdHcIKDyEpuwRnckuxL6UAA6K5FB9RW20/lYfMwnK13SvcB/GhPu37A4J7ANOfBw4tATL2AyVZ9Tt16fu0G77SagGE9NHWLJdBgIBYVji3mXOTnG/k/KQ775juq2i7nJsK63fwTdLpO5SjM+DmY7y5emv/y6CzvqMv+42QJZfXHs1Sg2crD2Zget9weLjymCWiNnb6Fy9eXG9fOs1paWn417/+pTrMHemrr77C/fffj7fffhsjR47E66+/jhkzZuDIkSMIDT07TX3jxo248sor8eKLL2Lu3Ln4/PPPMX/+fOzcuRP9+/dXj3n55Zfx5ptv4pNPPkG3bt3UAIE858GDB+HublvLbf16IB1VNXVwcwYm9wqFj7uLuZtE1jKv0DQNsWGaoiE1sbDzLpD0HJy0ZfGcTW6GfTfA2UP7Xzr4hk59sBbBb2E0T6L6cwZEYNHviWp/yZ5UJET5MdpP1AZyDbFsrzFgIO+xDuEXBYy6zbhueeYBLd1fbjLVR08+99J2azch8//VIIBuOoAMAvA9b95zk2R11TsXNTg/1evY685PnXZucgBcPQEXz7M78GftewOuuvvkPNXK4yrY2w2j44JUIUxZwm/1kczWrXxBRPXqzDg5OtjUNZ5Dnb6iWzM5NigGIi9GSEgIpkyZgldffRURER33QSMd/eHDh6sBBlFbW4uYmBjcfffdeOSRR856/BVXXIGSkhIsXbrUcN+oUaMwaNAgNXAgv3pkZCQeeOABPPjgg+rrBQUFCAsLw8cff4yFCxc2q12FhYXw8/NT3+vr6wtLVHJyK1Yv+RR5VS6odfPDpWP7wcvHH3DzBdx965+MbOgAJ5OLpHrzCo3RjdqKQpTkpMHbpQ4OKtKhu2jq6IskiWxIJWE55kz/VxdC+vu8tIsn1YFv2LH36PQ0XJUZtPgAUvLK1P6DM3qhT4Rlvufbg3zGZmZmqkHVhp/9ZN/a69jYdToP/9INpMWFeOGx2X069yJLPh+LM4wDAJL2LzVAmiKfSaEyCNBfGwTwi+E5s7XHhZxjJKKuzk+6rLB656hGOvQtmvPeSnK+kXOQnHtMz0P6bcN98r+nybb872GW4yG9oByP/7hPHc4+7s546dIBFrcUM88nZE3HxedbTuNUTgnmDohE/yhfi+78N7cf6tyaP445VFZWYseOHXj00UcN98nBMW3aNGzatKnR75H7JTPAlETxf/zxR7V98uRJNU1AnkNPXjQZXJDvbarTX1FRoW6mL7b+tTHX63M++w4cQHTZEUTW1iDUzQOeB/c3PtNMDmrDiLQv6kxHp2WAQA0S+OnmOgexCnKnF6mrqH9xVGmaQm+MbDjUKwxUfN6LJJeKCtS5ubWuXZL6ajJoZDhmVATD23gx1LAz79T6yIaBGd5vs/uH4911JwzR/l5h3rBV8nkmAx2W+rlG1n1syPcv3ZuKOt3ZSN5bcl8LYxFt5xUKxMltsvY5W5SmGwA4AAcZBCjXzvGKfJ6e2abdhLsv6qQeQKguE8Anwn4GAaRoqhRDLc83pMTXVZbCLTsNdakuqK0p1+a4V5XBQTr3Uo9FOvgqdV5XX6EjSb0GfVTd1Us7N5nsq3OU/tyk/5rc5PtaS46fzj5+pYq/jyuGdQ3A1qRcFJZXYe2RTEztY1lTOHk+IWs5LgrKqvDH0UxU1dTi32sS8dIlCaqYs6Vq7mtnub9BA9nZ2aipqVFReFOy31TxQOnQN/Z4uV//df19TT2mMTJd4Jlnnjnr/qysLJSXa/MSLU1VURbc6rQ3lp+bAyoqtSrJjVIDGtnNet46JzfUuQeg1t0ftep/47b+/jrp9NnLRVAzq8s7VJXAoVouhMrgUF0KR/W/7JeoiyPt/xIVeXeU/epSLQpfV9Mhbaqq1kX1HZ1R5+qNWhcv9b9x2wt1Lrp9uV9te6HWxVuLvDf37yuHXaX8DiYX0Vami2cdfJ3rkFVShT2nsrH1sDtiA21rKpDpiURGjuVzw5JG4Mk2jo2jmaU4nKJF1SN8XRHuWqEiPubnDPgN1G7xdXAsToVLzhE45x6Fc+4x9dlsUJkNFK4FEteq3To3P1QF9UJ1YC9UB/VErUewdZ3/6iTjqxiOFQVwqCzU/i8vgGNlERzL8433VRTCQYqoNvL9ztVVqHJ2ad/f28EJda4+2vlHzj2uPto5qtHzknb+gmML2iCXPRVyHjxHloeFGxHhgnVHtGu7H7afQh9/wNnJco49nk/IWo6LJQeyUVyqfb6NjvFHaUEuSmG5ioqK2q/T3zBafi6vvfYabJ1kG5i+JhLpl2kGMs3BUtP7Qy+/H3m512Hf4WPwiA9QJ/CGKXMODdPpGjuhn0VSx3O1W1PHnJOrVozGIxB1ak51oK5ImouW4q1uTtr8bMO+o/a/3CePc3A0Pk7/GHWf7vv02zKfrj0uNKRzLlEIiWSo/6tMtiu1fcO2LBFXqRWo00cw1P9aB16LgEh0Q1fZt66Vo5ku8vu1IF1PXvezIvD6iIYxg6PWxRMFxVUIiugKR0lVtKYLVDO5eIQTPt6YpLY3p1RgRO8usNWTsX4Kl6WcjMl2jo2Pdx2Bm5usNg5cOiIOYWGBsEgSGOg+2HhuyD+lTQPIkEyAQ9rnvV5dGdyzdwNyE17BqNNnAchNzoGdRc5Rhkww0+rz+m1dUdVy6djrIvblBUBtMwaX5U/uqv3tTOlj3K5ubnI2rk/O0/r57pIl6OKJOsO2hy7q7lvv/GSYftgemWE2TkpbjTxTgd3J+SivA44VOWJizxBYCp5PyBqOi6LyKuxMS1HnJhcnR1w6qgf8PCy7Blpza9A1q9O/a9euZj1ZR853CA4OhpOTEzIyMurdL/vh4eGNfo/cf67H6/+X+0xrEci+zPtvipubm7o1JAerJRywjXNEQFAoevcAHJs7b0Y6soaBAJPBALXmeS5QplvrXG7nmv9dW6XNmSzOOPsioCPIhYXpTQ0MyLaTblsGBvT3OWqdcGmj6thLZ173f4e1z6EV8wtN0hBN0xIN95nuy0WSRODrH6NN/lRJrarNhKOblwUfv5ZlTPdgLNmTptYV35dSiOS88vZZV9wCyee6ZX+2kTUeG4mZRTiWUayWjw3zc8eIbkFwdLSSTl1QnHbrM1frIOclaasCZBwEsg7VX42kNAcOSWsBuQnvMK3z728yUKjSwesa39dvG1LGTe6Xc5fpEnL1OvRtWBXlfOcoye7y8Nem+cl0PxnEl465iwfqnD1QUlwO19AoOKjpXboOvXTuZSC6wXNbyV/calw4KAp7kgvU9vL9GZjQM1QVI7MUPJ+QpR8Xqw5nobJaW9p8Ys9QBHi1cuprJ2ru69asTv/q1athbq6urhg6dChWrVqlKvDrR4dk/6677mr0e0aPHq2+ft999xnuW7lypbpfSLV+6fjLY/SdfInab9myBbfffnun/F4WzdkVcNYtaXYucvEhFxil+kEA/YCAyaCA7Eu0uzPIhVBro+kdQQYY9NENQ0EgT2MRINP7DfPevY3z4blmtMVxdnJU1ZE/3XxK7S/dl4o7JsWbu1lEVkMGzfTmJERYT4e/IRlIluXU5Nb3IqCmGsg9biwMmH2k/iCybgDc4sgAuL4DLx36ev8H6LZ1X5dCqk2prUWVTNGQsLMFXMDbm27BXugX6YsDqYXILq7AlpM5apCaiM6vtLIaqw5rU8xksGxm/8aDytbKqnoTklJ//fXXY9iwYRgxYoRask+q8994443q69dddx2ioqLUnHtx7733YuLEiWpVgTlz5uDLL7/E9u3b8e677xpGlmRA4Pnnn0ePHj0MS/ZJRX/9wAI1g2nxv4CuTT9OohH6wQBJI5TUQ4mS1Pu/Whd5b3CfbNeZ7useI/fpO/m1+m2JgNQ0uE+/b7qte079FAI13UD+d21k37n+12R6genjJPXwrI69SeV5piXanLHxEu1PVQVfdp7KQ2p+GSL9WdiS6HySskuwP0WLRgZ5u2JkNwtN628NOVeE9NJu/S/WOvzZxwyFAdV2Rxaw0xevM1SbNymeWu9m8hjp0Eu2GDvpNmHuwEjV6RfL9qap5fwsufI4kaVYdSgT5arulHaNF+h19hQmu+v0S8f566+/xunTp1VVfVPff/89OooswSfF8p588klVaE+i88uXLzcU4pP2mKY4jBkzBp9//jkef/xxPPbYY6pjL5X7+/fvb3jMww8/rAYObr31VuTn52PcuHHqOZs7P4JaQC1t4wn4RZu7JURt5ursiOn9wvHN9jNqnOnnfWm4eXycuZtFZPGW7TNG+Wf1j1CZMzZLOuFhfbUbLtNS7rOP6pYF1Neg0XXITLcb7uu3TTtvao58gyXkJEOP7FrPMB/0CPPBsYwitZTfjlN5GBZrQwNrRB2gvKoGKw9qWVgySDYrwbai/K3q9Eu0XCLqsvTdihUrMH36dBw9elTNg1+wYAE6mqTyN5XOv2bNmrPuu+yyy9StKfKHffbZZ9WNiKglJvUKUZ39kopqbD6Ri3kDIxHqywFDoqak5JepzBjh5+mioil2RTK/whPM3QqycXMHROCfK7Xqykv3pmFo1wBG+4nOYc2RTHUtJ0bFBSLUx/au5Vo8vP7CCy/gn//8J5YsWaLm2b/xxhtqybzLL78cXbrYZgVrIqLGuLs44YK+WqaRLDfzy/6ml/okIuDnvcYo//S+4Spjhojal8zrjw32UttnckuxV1fcj4jOJoX7luuu32RsbM4AY3F3W9Lis+3x48fV/HghnX5JjZfRwz//+c+GufJERPZiap9QuLtqSyluSMxWFf2J6GyZheWqsJjwcnNWmTJE1P7kulyi/XpL96aqgWkiOtvao1koKtei/DIVJsLPNusztbjTHxAQgKIiLWVIiubt379fbct8+NJSk7VqiYjsgKerM6b2DlXbNbV1htFiIqpPMmH0/Q7JkJFMGSLqGINi/BEdoHVeTmSV4GCaVtyPiIyqamrrZWnKajK2qtmdfn3nfsKECWrZOyFz5aVC/i233IIrr7wSU6dO7biWEhFZqGl9wwxpyjJiLBX9ichIMmAkE0ZIZoxkyBBRB0f7B0Ya9hfvYbSfqCE5L+WXVhoGymICPQF77/QPGDAAI0eOREJCgqEw3l//+le1jJ4U8bvkkkvwwQcfdGRbiYgskq+7Cyb2DDGMGusrwBKRRjJgJBNGTOkVqjJkiKhjDe0SgAh/rSBZYkYxjmRombpEBFTX1KpizHqmg2R23en/448/0K9fP7z44ovo06cPrr/+emzYsAGPPPIIFi9ejFdffVWl/hMR2aOZ/cPh5KhVR/79cAaKdVVgiexdYXmVyoARLk6OuKCfVvySiDqWo6PM7Td2ZJbsSTVre4gsyZaTucgp1qL8/aP80E1X/BL23ukfP348PvzwQ6SlpeGtt95CUlISJk6ciJ49e+Kll15CejrnsRKR/fL3dMX4HtryYxVVtVh1iNF+IrHiQIbKgBFSvE8yY4ioc4yIDTQsJXs4rQjHGO0nQm1tHZaZRPkvHGi7c/lbXcjPy8sLN954o4r8Hz16VKX6L1q0SC3XN2/evI5pJRGRFZiVEGFYC/m3Q5kor6oxd5OIzErWPV59OFNtSybMjH7h5m4SkR1G+40dGkb7iYBtSbnIKChX273CfRAf6gNb16YFcuPj4/HYY4/h8ccfh4+PD5YtW9Z+LSMisjLB3m4Y3T1IbZeadHaI7NWqw8bBr3E9ghHg5WruJhHZnZHdAhHi46a2D6QW4nhWsbmbRGQ2dXUNo/y2PZe/zZ3+tWvX4oYbbkB4eDgeeughXHzxxWqOPxGRPZPlXnTBfvx6IB2V1VpaM5G9kc7+b7qilpIBM6u/7adPElkiZydHzDZZimzpHmOHh8je7DqTj5S8MrXdPdQbvcNtP8rf4k5/amoqXnjhBTWPf9KkSUhMTMSbb76p7n/vvfcwatSojmspEZEVCPdzx7DYQLVdVF5tKGBGZG9+P5yp0vvFqDhjpJGIOt+Y7kEI1GXa7E3OR1J2ibmbRGSWKP8SkykuMvVFPy3T1jW70z9r1ix07dpVFfFbsGABDh06hPXr16v5/TLPn4iIjNF+veUH0tWyMET2FuWXTBch11NzTOYUE5EFRPv3cm4/2Z/9KYU4nVOqtrsEeSIhyg/2otmdfhcXF3z77bdITk5W1fp79erVsS0jIrJSMYGeGBTjr7bzSiqx8XiOuZtE1KnWHMlEcbkW5R8eG4gIPw9zN4nI7kldDVlpRuw6nY8zuVrnh8huovx7TaP8kXYT5W9Rp3/x4sW46KKL4OTk1LEtIiKyAaaRzZ/3paGmts6s7SHqzCj/8v3GKL+9FEkisnQuTo6Y1d+4goZpB4jI1h1OL8LxTK2IZaS/B4Z00YIz9qJN1fuJiKhxcSHe6Bvpq7aziiqw9WSuuZtE1CnWHMlS9Sz0UX65uCIiyzChZwh8PVzU9s5TeUjJ1wqaEdm6pXvtcy6/Hjv9REQdRFLH9JbtS1WpZUS2TIvya5XBGeUnsjyuzo6YqYv2yylpqUlRMyJblZhZhMNpRWo71NddDUjbG3b6iYg6SM8wb8SHeavttPxy7DydZ+4mEXValF9WsWCUn8jyTOwZAm93Z7W9LSkX6QXl5m4SUYdaYrJMpUT5HR3tK8ov2OknIuogkjo2NyGy3kmH0X6yVRXVjPITWQN3FyfM6GcS7efcfrJhJ7NLsD+lQG0HebtiZDf7i/ILdvqJiDpQ/yhfdA3SljWVSsn7dCceIluO8g/tGogoRvmJLNaU3qHwctOi/ZtP5CKzkNF+sk2mU1hmJ0So5SvtkX3+1kREnRntH2is5L94N+f2k21G+X/ZZ0yfvNDkmCciy4z2X9A3TG3LOWmZyfuXyFZIsGX3mXy17efpgrHxwbBX7PQTEXWwwTH+iA7wMKSZ7U1mtJ9syx8N5vJHB3iau0lEdB5T+4TCw1Vbinvj8RxkF1eYu0lE7cp0MGtW/wi1bKW9st/fnIioE6P9Fw2OMuz/uDuF0X6yGZXVtVi+P71ekSQisnyers6Y1keL9tfW1uFnRvvJhqQVlGF7krZcso+7Myb0tN8ov2Cnn4iok6L9MYFa9PN0jjHdjMjarTmSiYKyKrU9NDbAcJwTkeWb1jdMpfqL9ceykVtSae4mEbWLZXuleLK2PaNfONyctePcXrHTT0TUSdH++SbR/p84t59sQMMo/4UDWLGfyJp4uzmrNH9RU1uHX3QrcBBZs8yiclWgUkjBysm9tWPcnllNpz83NxdXX301fH194e/vj5tuugnFxcXnfPzdd9+NXr16wcPDA126dME999yDgoKCsy7EG96+/PLLTviNiMjeDIz2Q2ywsZL/ztN55m4SUZusPZZliPIP6cooP5E1koJ+bi5al2Dt0SzklzLaT9btl33phsCKaTaLPbOaTr90+A8cOICVK1di6dKlWLt2LW699dYmH5+amqpu//jHP7B//358/PHHWL58uRosaOijjz5CWlqa4TZ//vwO/m2IyG6j/YMY7SfbUFUjUf4Mw/68gYzyE1kjH3cXTOqlRUKra+rqZe8QWRuZorIhMVttu7s6YZouk8XeaQt0WrhDhw6pDvu2bdswbNgwdd9bb72F2bNnq059ZOTZFxr9+/fHd999Z9jv3r07/va3v+Gaa65BdXU1nJ2Nv7pkDoSHh3fSb0NE9qx/lC/iQrxwIqsEKXll2H4qD8NjA83dLKIW23yqEPlllXCAA6P8RFZO5jz/fihTDeatOZKF2QMi4OvuYu5mEbWYDFrJVBUxtXeoKlhJVtLp37Rpk+qY6zv8Ytq0aXB0dMSWLVuwYMGCZj2PpPbL9ADTDr+48847cfPNNyMuLg633XYbbrzxRhWRa0pFRYW66RUWFqr/a2tr1c1SSdskqmjJbaTOx+Oi8100MBKv/XZUbf+4KwWDo/3g6Nj0Z4658NigppRXVuP3Y3moq3MCHOowNyGcxwnxM8OK+bg5YWLPYKw8lIHKmhos35eGS4dGt9vz89igzjguZGrKH0czUYc6uDo5YkrvEJs/5mqb+ftZRac/PT0doaH1UzOk4x4YGKi+1hzZ2dl47rnnzpoS8Oyzz2LKlCnw9PTEihUrcMcdd6haATL/vykvvvginnnmmbPuz8rKQnl5OSz5oJCBD3lzyYAJkeBx0fmCnOoQ6eWIk7nlSMqsxIrdJzAk2geWhscGNWVtYh5yisrh4uyMhEhvuFUXIzOz6To7ZB/4mWHdhoQ5YfneKlTX1mH53jMYGuoEL7f2mQvNY4M647j4YW8Wiku1vtio7v4oL8xDuRabtVlFRUWW3+l/5JFH8NJLL503tb+tJBI/Z84c9O3bF08//XS9rz3xxBOG7cGDB6OkpASvvPLKOTv9jz76KO6///56zx8TE4OQkBCVSWDJbyzJYJB28gOX9HhcmMeVYzzw6kot2r/udBkuGBQHJwuL9vPYoKYq9m9KToOLizNcXd2wcEwPhDK1n/iZYfUkvDatfzVWH8lU+7uza7FgcES7PDePDero4yK7uAK70pPh5uaqovyXj+4BXw/bn6Li7u5u+Z3+Bx54ADfccMM5HyMp9zLfPjNT+wDSk3n5UqH/fHPxZfRj5syZ8PHxwQ8//AAXl3P/8UeOHKkyAiR9383NrdHHyP2NfU0OVkv/IJM3ljW0kzoXj4vO1y/KH73DfXEkvQiZhRXYlpSHMfHBsDQ8NqihDcezUFAuFfsdMKSLP2KDvc3dJLIg/MywbnMGRGLdsWw1J/r3w1mY2T9CLXnWHnhsUEceF8v2aXP5pc7MBX3D4e/VeD/O1jT3dTNrp19GdeR2PqNHj0Z+fj527NiBoUOHqvt+//13NToknfSmSAR+xowZqoO+ePHiZo2E7N69GwEBAU12+ImI2stFg6Lw8vLDanvJ3lSM6BYIZydeDJHlkiJfP+8zTqu7kBX7iWxKoJcrxvUIxh9HslBeVYPfDmWocxWRJUsvKMeGxBy17eHqhJn9WaC9Iau4uuzTp4+K1t9yyy3YunUrNmzYgLvuugsLFy40VO5PSUlB79691df1Hf7p06erdP0PPvhA7cv8f7nV1NSoxyxZsgTvv/++WtIvMTER//nPf/DCCy/g7rvvNuvvS0T2oVe4D/pGalOCJNq/6YR2wiKyVOuPZRvW8O4X7oUuTOsnsjmzEyIMxWVXHsxAaWW1uZtEdE4/7U4xLIEsK1G0V3aKLbGKTr/47LPPVKd+6tSpaqm+cePG4d133zV8vaqqCkeOHEFpaana37lzp6rsv2/fPsTHxyMiIsJwO3PmjHqMpPovWrRIZRIMGjQI77zzDl577TU89dRTZvs9ici+XDTIGCldsicV1TW2XWWWrDvKv2xfmmF/ei8uNUlki4K93TCme5DaLquswe+H60+xJbIkZ3JLsfVkrtr2dnfGBX3DzN0ki2Q1wyBSqf/zzz9v8uuxsbGGER4xadKkevuNkewBuRERmUt8qA/6R/lhf0oBcoorsT4xG5N61V+thMhSovx5JVqUf1C0P6L9OQ2OyFbNSYjAhsRsyKX0igMZmNYnDO4u7VPJn6g9ydLHplkqPE6tPNJPRGQP0f6le9NURJXIkqP8cwe2T0VvIrJMob7uGBWnRftLKqqxmtF+skDHs4qx+0y+2vbzdMFkBk2axE4/EZGZxYV4Y0C0v9qWSKpEVIksiWSg6KP8A2P8ERvkZe4mEVEHmzsgEg66lWSXH0hXhf2ILDXKL4VlXZ3ZtW0KXxkiIkub2783Va2FTmQxUf69xij/PFbsJ7IL4X7ualUZUVxejV8PGFfuIDK3w+mFOJhaaKhDMd4Clz22JOz0ExFZgNhgLwyK0aL9BaVVWHs0y9xNIlI2mET5JSNFjlUisg/zB0UZKvlLp7+wvMrcTSJSddt+2JlSL3DCJY/Pja8OEZGFMF0L+ed9aaioZiolmVd1wyi/SUYKEdnH3P4JPUPUdkVVLZbuMX4eEJnLvpQCJGYWq+0If2P9CWoaO/1ERBaiS5AnhnQNUNsFZVVYc4TRfjL/XP5ckyh/N0b5iezOvAHGudJrjmQis6jc3E0iO4/yf28S5TfNRqGmsdNPRGRBJEVNXzjpl31pLJxEZo3yS8aJHqP8RPZJqqJP76etfV5TW4efdqWau0lkx3acysOZ3FK1HRPoiaG6YAmdGzv9REQWJDrAE8NitcJJReXVKqpCZA4bjucgp1iL8idE+zHKT2THZvQLh5ebs9recjLH0Oki6ky1tXX4cbcxyn/xkCg46CMldE7s9BMRWRipjq4/h/28j8skkbnm8hujeazYT2TfPF2dMWdAhNquqwO+25ls7iaRHdp8Igdp+dr0kvhQbyRE+Zm7SVaDnX4iIgsT6e+Bkd20ojQlFdVYdYjRfjJflL9/lB/iQrzN3SQiMrPJvUIR4OWqtvclF+BIepG5m0R2Nhj9027jYPQCRvlbhJ1+IiILdKFJtH/5gXSUVTLaT51DMkt+Mkmf5Fx+IhJSzG/BYOMqM9/uOKOKqhF1hnWJ2cgurlDbfSN90Tvc19xNsirs9BMRWaBwP3eM7h6stksrqrHyUIa5m0R2YsXBDBSUamtxD4rxR3dG+YlIZ3RckMpGEyeySrDrTL65m0R2oLK6Fkv2mET5TQafqHnY6ScislAXDogwpK6tOJCO0spqczeJbJx09pfv1yr2y7F32bAYczeJiCyILI0mxdP0vt+ZrCr6E3Wk1Ucy6w1Gc8pZy7HTT0RkoUJ93TE2XpvbL+n9Kw4w2k8d66c9KaioqlXbE3uFqIwTIiJT0umSImpCiqptPJ5t7iaRjU850y8fK3GQ+Yzytwo7/UREFj63XyIrYuXBDBRXMNpPHSM1vwxrj2oX7+4uTriIc/mJqBGSBXTJ0GjDvhRXk/Rroo6grn3KtWuf4bGBiAn0NHeTrBI7/UREFizY2w3jewQbRrslzZ+oI3yzPdlQlGtWQjh83V3M3SQislA9w3wwINpfbeeVVOL3w1xlhtqfrGD0q+66RwabLhrEKH9rsdNPRGTh5iREwEkX7f/tUAaKyrV5bUTt5VBaIfYmawW5ZEmuC/qGmbtJRGThZG6/fpUZSb9m3Rlqb8v3G1cvkumOnHLWeuz0ExFZuCCJ9vcMUdsy3/qX/Yz2U/uR6P7X28/Uq4rs5uxk1jYRkeWTNOtRcUGGiKx00IjaS0FZlQp0CAl8yHRHaj12+omIrCTa7+ykhVRWHcowrFVL1FabT+TidE6p4SJeluQiImoOKaqmz0STYrP5pZXmbhLZCMke0deKkMKyMt2RWo+dfiIiKxDo5YqpvbWU6+qaOjX/mqit5IJKltzSu2xYtKFwJBHR+UhHbFKvULVdVVN/LXWi1sotqcRqXZ0IFydHzE1glL+t2OknIrIScwdGwMfdWW1vT8rFkfQiczeJrJxkjcjFlegf5Yd+kX7mbhIRWeG5yc1F61L8cTQbGYXl5m4SWTkZPKqp1QrLTu0TCj9PFpZtK3b6iYishKerMxYMMS6T9MXW06jVnRSJWkoKQi41WftYovxERC0lK33M6BduqBHyw64UczeJrFhmYTnWHdMtH+vqhFkJEeZukk1gp5+IyIqMjw82rFF7JrcUG45rJ0aillqyJw3luqrI4+KDER3AtY+JqHWk06/PRNt2MhdJ2SXmbhJZqZ92pxqWj53eNwzebtpxRW3DTj8RkRWR+dZXjuhi2P9uR7JhORui5pL029VHtPmSrs6OqhgXEVFrubs4Ye4A47zr70xqhRA1V3JeKbaczFHbXm7OmN5XyyAhO+r05+bm4uqrr4avry/8/f1x0003obi4+JzfM2nSJDg4ONS73XbbbfUec/r0acyZMweenp4IDQ3FQw89hOpqrjNKRJarV7gPhnQNUNtF5dVYupeFk6hlvt2RbJgaMrN/OPw9Xc3dJCKycpNMKqwfTC1UN6KWR/m17dkJ4fBw5fKxdtfplw7/gQMHsHLlSixduhRr167Frbfeet7vu+WWW5CWlma4vfzyy4av1dTUqA5/ZWUlNm7ciE8++QQff/wxnnzyyQ7+bYiI2ubyYTGGJfxWHsxQc+CImiMxswg7T+WpbT8P41xcIqK2cHaqnzUk0X59mjbR+ZzMLql3bprcW1sVguyo03/o0CEsX74c77//PkaOHIlx48bhrbfewpdffonU1HNHuCSCHx4ebrhJpoDeihUrcPDgQXz66acYNGgQZs2aheeeew6LFi1SAwFERJYqxMfNkPYmFW6/3n7G3E0iKyAX4F9tMx4rFw2OUmm5RETtYVRcIKIDPNS2zOvfruvEEZ3v3PTl1tP1V4Rw5rmpPVlFZYRNmzaplP5hw4YZ7ps2bRocHR2xZcsWLFiwoMnv/eyzz1SnXjr8F154IZ544gk1EKB/3oSEBISFaWtfixkzZuD2229XWQWDBw9u9DkrKirUTa+wUEtfqq2tVTdLJW2TN5Ult5E6H48L6zWrfxg2JGYjv6wSO0/n4UBKPvpEGAc224rHhu3ZlpSL41na1LgIPw+MiQts1d+XxwY1hscFiQWDo/Dm78fU9vc7kjEwyheODlrHjscGNfaZIdcyxzK1ZYjDfN0xrnsQj5Vmau7rZBWd/vT0dDXf3pSzszMCAwPV15py1VVXoWvXroiMjMTevXvxl7/8BUeOHMH3339veF7TDr/Q75/reV988UU888wzZ92flZWF8vJyiz4oCgoK1JtLBkyIBI8L6za5mye+3KV14j5aexR/nhgDJ7m6agc8NmxLdW0dPtt4GhUVVWp/WlwQcrKzWvVcPDaoMTwuSIS51CHa2wnHc8pwuqISy3Ycx8guPjw2qNHPjPTsPHy6owAVlVrndVZ8MHJzuDJRcxUVaYMlFt3pf+SRR/DSSy+dN7W/tUzn/EtEPyIiAlOnTsXx48fRvXv3Vj/vo48+ivvvv79epD8mJgYhISH1pg9Y4htLihlKO/mBS3o8Lqzb7JAQ7MqoQlJOCXIrgMMFDpjcq33mwfHYsC1S+6G42gFubq7oHe6LCf1j1d+3NXhsUGN4XJDedeO98MIvh9X2ulNlmD6oG48NavQz44d92aiCM9zcgGFdAzCuf6y5m2VV3N3dLb/T/8ADD+CGG24452Pi4uJUan5mpra0kJ5U2JeK/vK15pJ6ACIxMVF1+uV7t27dWu8xGRkZ6v9zPa+bm5u6NSQfYpb+QSYfuNbQTupcPC6s21Uju+DFn7WLq592p2FUXLBa6qY98NiwDSUV1Vi2Lx0O8s8BWDi8C5yc2jZfkscGNYbHBYn4MF8M6RKAXafzUVBWhdVHsjAszInHBtVzKqcEm04VwtXVVdWXWTiiK4+PFmru62XWTr+M9sntfEaPHo38/Hzs2LEDQ4cOVff9/vvvanRI35Fvjt27d6v/JeKvf96//e1vakBBP31AVgeQaH3fvn1b+VsREXWu+FAfjOgWiK0nc1XnbsmeVCwc0cXczSILsmxvmjo2xKi4IHQJ0mrbEBF1lIuHRGP3mXy1BNvy/RnoE1B/Si3ZN5nq8dmWM4Yl+i4cEIlALy4f21GsYiilT58+mDlzplp+TyLzGzZswF133YWFCxeq+foiJSUFvXv3NkTuJYVfKvHLQEFSUhIWL16M6667DhMmTMCAAQPUY6ZPn64699deey327NmDX3/9FY8//jjuvPPORiP5RESW6rJhMXBx0j7SVx3ORFpBmbmbRBYiu7gCvx3SstjkGJEiW0REHS3S3wNjuger7dKqaqw+xkr+ZLQhMQcnsrWaROG+7rigLweFYO+dfn0VfunUy5z82bNnq2X73n33XcPXq6qqVJG+0tJStS9pIr/99pvq2Mv3yVSCSy65BEuWLDF8j6Q2Ll26VP0vUf9rrrlGDQw8++yzZvkdiYhaS0bHZyVo05Jqa+svy0b27bsdyWpZRzGtbxiCvDmoTUSdY/7gKDg7abVD1p8sUIOQRJJ59s0O43XK1SO7wFkXuKCOYRXV+4VU6v/888+b/HpsbKxKE9GTwnp//PHHeZ9Xqvv//PPP7dZOIiJzmdk/HOuOZSOvpBL7kgvULSHaz9zNIjM6mV2ipn0Ib3dnzNYNDBERddaA9NTeYVh+IA1VNXX4dPNp/PmCnq0uIkq24ftdKSgu16acDYz0btflhqlxHFIhIrIRbs5OuHRotGH/y22nUV3DdW7tlQyEf73dGEmZNzASnq5WM9ZPRDbiwoGRCPDU5mrvTy3AtiSm+duzpOwS/HEk03DdMq+/NgWEOhY7/URENmRkt0DEh3qr7fSCcqw50rp12Mn6SQGto+na+r2hvu6Y2PP8hXOJiNqbh6sTrhoRY9j/fMspQ2FRssfifadMivdFwN+Dg9GdgZ1+IiIbIimTppX7f9qTimJeXNkdyfD4ZkeyYV8yQDhfkojMZXCXACREeKntovJqfGOShUT2Y31iNk5klajtCH93TOujrZ5GHY9XAERENqZbsBfGxOsqJldU48ddKeZuEnUyqe2QUVCutuPDvDGki7+5m0REdm5BQgjcnZ0Mn1FHdJlIZB8kAPHNduNg9NUju3IwuhPxlSYiskGXDImCm4v2Eb/mSCaS87SVTcj2lVXW4KfdxoGey4fFsGgWEZmdn4czLhlqXDL0k01JqKxm3Rl78cPOZMO0jhHdAlm8r5Ox009EZIP8PV0xOyFCbcvcOVnCz3SFE7Jdv+xPU+mzYni3QHQP0Wo8EBGZ26SeIeiuqzsj2Ug/70szd5Oos4r3HdVqDElAQgajqXOx009EZKOm9w1HkLdWMflgaqEq7Ea27UxuKZbvT1fbTo4OuHiIMapGRGRuknV03eiucHTUso+k05+aX2buZlEHkoDDp5uNxfvmDYxCgJd2bUKdh51+IiIb5epcfzRdlm+r4hJ+Nl2874P1J1FTq11ZzewfjlAfd3M3i4ionugAT8zqH6625fPqk41JzESzYVK/4WQ2i/eZGzv9REQ2bGjXAPQM91HbmYUVWHVIWxuXbM+yfWkq0i+iAjzU2thERJZo7oBIhPq6qe3EzGJD6jfZXvG+b01WkmHxPvPhq05EZOOplFcO7wJ9Hbcle1NRWF5l7mZROzudU4qle9MMf/ObxnWDCy+siMiCM9GuGx1r2JclRvNLK83aJmp/37N4n8XgFQERkY3rEuSJ8T1C1HZ5ZQ1+2Mkl/Gwvrf8EanVp/XMHRKBrkLYeNhGRpZIOoH55WTk3fb71tLmbRO1IUvrXmhTvu2I4i/eZEzv9RER2YMGQKLi76tdHzlKRYbINEuFPztMKYUUHeKhOPxGRNZCOoLe7s9rekZTHgrM2WrzvokFRalUhMh92+omI7ICvuwsuHKDN8ZaT8BfbTrNwko0sg6RP65dq2DeNi+N8SSKyGt5uzlg4vIthXzqK5VU1Zm0Ttd3aY9nq/CQi/T0wtTeL95kbrwyIiOyEVMzVF046ml7Eon5WTlZi+HDDScPgjUT4ZSoHEZE1GRUXiH6R2lzvvJJK/LCLU9CsvXjfdybF+64ZxeJ9loB/ASIiOyEnXTn56n2z44yh2jtZnyV7UpGiS+uPCfTEnASm9ROR9ZHio9eM7mooPrrqUAZOZBWbu1nUDsX7RsYFopduBSEyL3b6iYjsSL9IP1zQN0xtV9fU4Z21x1FZXWvuZlErCiT9vE9L63dSaf3dGEkhIqsV6uOO+YONU9D+u+mUKlJK1kUGa/TF+9xdnHD5MBbvsxS8QiAisjOXDI1WkWGRll+Or7efMXeTqAVkkEaq9etLMlw4MNLw9yQislYX9A03fJZJFtrKgxnmbhK1gKwg89kWqRek7V80KJLF+ywIO/1ERHZGUihvnRBnSKVcfTgTe1gx2Wos3pOqBmuELM03q3+4uZtERNRmkrV0/ZhYODho+z/tTkVmofZZR5Zv7bEsQ/G+qAAPTGHxPovCTj8RkR2SarpXjDCm3UlBuPzSSrO2ic7veFYxlu83pvX/aVws0/qJyGZ0C/bCtD5hhmKl/1PLvnGlGUtXVF6F73YaCzBePZLF+ywN/xpERHZqUs8QDIrxV9vF5dX4cL2xEjxZZlq/9jcyrnscHcC0fiKyLfMHRyHQS0sLP5haiE0ncszdJDoHuW74atsZlOqK943uHsTifRaInX4iIjuumHzD2Fj4ebqo/QOphVjBOZQW68ddKUgv0FJdY4O9MJNp/URkg6QAnOlKM9KhlEgyWaY/jmZh0/Ecw9/u0qHR5m4SNYKdfiIiO+bj7qIqv+vJ2rqnc7iMn6VJzCzCioPp9ar1y/9ERLZoYIw/hsUGGjLRvt5uXPedLGslmc+3nDbsXze6K4v3WSh2+omI7Jws4zdDFzWuqdWW8auorjF3s0hH/hYfrE8ypPUvGBylajIQEdmyq0Z0gYerk9remJitUv3JchRXVOM/axLVdYOY2icMI+OCzN0sagI7/UREhIsHR6FLkDY/XFLIJZ2SLMMPO1MMFazjQrwwox/T+onI9snUM9NU8f9tTlK1Tcgy5vG/t/YEcoq1AsDdQ71x+TCm9Vsyq+n05+bm4uqrr4avry/8/f1x0003obi4uMnHJyUlqfmqjd2++eYbw+Ma+/qXX37ZSb8VEZFlkCq7/zehO1ydtdPCH0eysPN0nrmbZfeOZRTht0NanQVnJ6nW3w2OTOsnIjsxsWcI4sO81XZmYQWW7k01d5MIwJK9adifUqC2vd2dcdvE7qzWb+Gs5q8jHf4DBw5g5cqVWLp0KdauXYtbb721ycfHxMQgLS2t3u2ZZ56Bt7c3Zs2aVe+xH330Ub3HzZ8/vxN+IyIiyxLu544rR3Qx7H+y8RQKyrRqvNT5yqtq1FKKxrT+aET4Ma2fiOyHBOOuHx1rqGHyy/50nMrR1oIn8ziQWoDFu7Xl+RwcoAIG+tUWyHJZRaf/0KFDWL58Od5//32MHDkS48aNw1tvvaUi8qmpjY/4OTk5ITw8vN7thx9+wOWXX646/qYkc8D0ce7u7p30mxERWZbxPYIxpGuA2i6prMbnOzO4jJ+ZfK/S+ivUdnyoN6b31dauJiKyJ1LDZM6ACLVdW1uHt35PRH6pllZOnSunuALv/HHCMBgtyyv2jfQ1d7OoGZxhBTZt2qQ65sOGDTPcN23aNDg6OmLLli1YsGDBeZ9jx44d2L17NxYtWnTW1+68807cfPPNiIuLw2233YYbb7xRjSw2paKiQt30Cgu1wiK1tbXqZqmkbXLxbsltpM7H44IaunZUF5zIKkZuSSUSs0vxy/40zE6INHez7MqRdEnr16r1uzg54vrRsnyVvE8tYwCGnxvUGB4X1FHHxsx+YdiXXIAT2XJuqsBbvx/DQ9N7GaakUcerqqnFv9ckorhCWz5xQJQfZvULa9P7nZ8Zbdfc184qOv3p6ekIDQ2td5+zszMCAwPV15rjgw8+QJ8+fTBmzJh69z/77LOYMmUKPD09sWLFCtxxxx2qVsA999zT5HO9+OKLaqpAQ1lZWSgv14otWepBUVBQoN5cMmBCJHhcUGMW9PXD2xuSUVVVja+2JCHUtRpdApgF1RkqqmvxnzVnUKG7sJrZPxiOFYXIzLScytX83KDG8Ligjjw2rujvizfWFiKvrBqHUyrx5q/7ce2wsHMG6qj9fL83C4d18/gDPZ0xr5e36vu0BT8z2q6oqMjyO/2PPPIIXnrppfOm9rdVWVkZPv/8czzxxBNnfc30vsGDB6OkpASvvPLKOTv9jz76KO6///56kX6pIRASEqIKDVoqeWPJB6O0k28s0uNxQY2RcdbUUkf8tOs0nF1c8cPBQjw5NwpuLtrySdRxPttyGsXVDnBzc1Vp/ZeM6mFxF7X83KDG8Ligjjw2JPz38Bx/vPjLEbWU6eGcSmxKq8b8QVHt3l6qb8uJHGxPLVPnJWdHR9w/sxe6Bnm1+Xn5mdF2zZ2WbtZO/wMPPIAbbrjhnI+RlHuZZ5+ZmVnv/urqalXRX752Pt9++y1KS0tx3XXXnfexUjPgueeeU+n7bm5ujT5G7m/sa3KwWvoBK28sa2gndS4eF9QYmau382QmMsvqkFlUgS+3J+PGsd3M3SybdiitEGuOZMEBDiqt/+ZxcapGjSXi5wY1hscFdeSx0SXIW1WKl/R+mVe+bG86Iv09MYrrw3eYlPwy/HfzaXVeEteO7opuIT7t9vz8zGib5r5uZu30y6iO3M5n9OjRyM/PV/Pyhw4dqu77/fff1eiQdNKbk9o/b968Zv0smfcfEBDQZIefiMheyPI71wwLx6JNmWpt5PXHspEQ5YdhsYHmbppNKiitwkcbThr2ZX3qUF9OqSAiMjUwxh+XD4vBV9vOqH353Az2dlOZUdS+yiprsGh1oroGEON6BGN8j/P3p8jyWMWQiszFnzlzJm655RZs3boVGzZswF133YWFCxciMlIrLpWSkoLevXurr5tKTExUy/tJob6GlixZolYE2L9/v3rcf/7zH7zwwgu4++67O+13IyKyZMFeLrhqRIxh/+ONSarAH7WvkopqvLbyCHKKtde2Z7gPpvapX8uGiIg0F/QNw4SeWuezuqYO//r9GLKLjUW2qe1knv1HG08io0CrVxYT6ImrR0pRWbJGVtHp///27gQ+yvpM4PiTO+QOAXKYQBIIhPsUClhFg6Aolpbi6seT7squFRSPerQFtlsv6Ee3oNUKq4Vucatb64EWWAQqQpVLQM6EI0A4ckAIIYm5s5/nP8wYNMEoSd533vl9P5/pzDszxP+k/8z7Pv/jedTSpUtNUJ+VlSUTJkwwZfsWLlzoeb2mpkays7PNMv7GXnvtNUlOTpZx48Z97WcGBQWZbP66kmDQoEHyyiuvyPPPPy9z5sxpl88EAN5gVPc4z+y+jvov+viQbbLIO0FlTZ0sWL1fjp35whzHRQTLPd9Pt90+fgCwC/1+vG1EV8lMdC0zP1dZa75H9fsUrWPVngLZeviMedwhOEB+OqY71RK8mF8DBZgvmSbyi46ONtkn7Z7IT3MjaCUE9s3AjX6BlvSNL2rqZc57u+XM+Vn+Hw65TG4cQBm/S1VbVy8L1hyQ3eczIkeGBsoTE3pLvM2X9fO9gabQL9DefaOsqlae+mCvFJa6ZqMHJMfIjGt6iL8/g6aXYn/BOZm3MtszwD/9mh4yuGtsq/93+M5ovziU3y4A4BuFhwTKtCt19tl1/M62E3KwqMzqZnk1vZha9HGuJ+APDQ6Qh67tZfuAHwDsIiIkUB7IypCwEFeass+PlcibW1x7/fHdnP2iRl7+6KAn4J/QP7FNAn60L4J+AECL9IyPlBsGJJrHukhs0bpDZi86vj39/f1p4xHZcrjYHGum/plZGdI1LszqpgGAV0mIDjVLz92z+7os/e/ZF1b9QsvU1TfIKx8dNIlllW6f0Eo+8H4E/QCAFps4IEnSO7tq8xadq5LfrMyW0krXxQFa7q3PjstH2UXmsV6o/vTq7pIR33olkADAl/ROjJI7vvdlkrmlG4+aEqj4dt7edlyy88+Zx9FhQTLtyu4SwFYJRyDoBwB8qzJ+ehEQ1SHIHOcVV8i8FfukpIKM/i21YtdJWb7zpHms2yX+5Yo0sw8VAPDdaTb/cX3jzWNdmq6l5vLPZ57HN9t29Izn3GQGo8d0l+jz53p4P4J+AMC30jkyRB67LlNiwoLN8cmSSpm7Yp+cplzSN1qXUyT/u+WY51jLH41Ij7O0TQDgFFOGpngGUbXazPzVOSbZHy5OEyG+uj7Xc3zzsBTp0YXVZ05C0A8A+E57KB+/PtOUl1OFpVXy7PJ9ngzK+Drdv//HTw57jrUCwtWZXSxtEwA4ic5Q/+tV6ZIc28Fzbnpp7QFTKQVNq6qtM6sidJBEaYnesb05NzkNQT8A4DvP+D9+fW+Jj3Zlmy8ur5ZnV+yTEyWuevP40u4TZ2XhukPiLpKrS1Bv6O9KiggAaD2hQQEyIyvDsw1N96j/96dHTAJVXEgHQxZvOCzHzrjO23o+nzo6VfzcpXrgGAT9AIDvrGN4sDw2PlMuOz+rohl/dY+/7vWHy4HCMnlxzQGTFVmN7tHJLJ3kogoA2kaniBBTWz4wwPU9u37/KVm5u8DqZtmKVt/57Yf7ZVOuq4pMSJC/TL+6hxk0gfMQ9AMALolm+P3Z+F6ecnPnKmtl3spsOVRUJr5OBz/mr94v1bWupaVDusXKXaOYRQGAtta9c4T8ZHSa5/gvW/Nke16JpW2yi4LSSnnqb3s9FQ40Q/8/X5EuSTGuAXw4D0E/AOCSRYa6Av/uXSLMcUVVrTz3fzmyv8BV+scXFZ6rlP9clWN+F+6SUvd8P53yRwDQTjRR6k2DksxjXd2/cN1Bn1+Jti+/VJ78YK8UnK9sEBEaKI9e10uGdou1umloQwT9AIBWERYcKA9d21N6Jbgy/lbW1Mnzq3LMfnZfoyUMn1uZI2e/qDHHaZ3CzVLT4EBOuwDQnm4amCTD0zqax1U19Wb1la+WmdUKMjog7x6M1pn9X97Qh0z9PoCrDwBAq9G9gDPH9pR+l0WbY13WvmD1ftnhQ0sqtTyUDnacOl/CMDEmVGZe25N9kgBgAd1ONXV0mqR3DjfHZ8qr5T/e3yN7TriWtvuC+voGeXNzniz5x2HzWOl5+ucTepukvHA+gn4AQKvS2Wyd1R7c1VUrubauwZQD2nrElSzIyXR1w/wPc+T4+UzIWtLw4Wt7SURIoNVNAwDfPi9dnWGSz7qTzj6/Klve3JLn+HJ+el56Yc0BWbk73/Pc2D7xcn9WhnQIZjDaVxD0AwBaXVCAv/zbVd09Syo1c/3Lfz8o/zh4Spyqpq7eDG4cKio3x1ou6pFxvST2/EUmAMDapLO/uKG39E2K8uzxX7krX57+2z7JP7+/3Wl0xdkzf9srnx8r8ax6uGNkN7l1eFfyy/gYgn4AQJsIDPA3ieu0RJ37Auu19bnyUU6ROE1VbZ0sXHfIs1xUZ080v0GXqFCrmwYAOC8mLFgevLan3Hx5iifoPXK6XH61bLd8vL9IGvRE5RAHi8rkyff3yLHzK8/0vPTgtRkyplcXq5sGC7DeEADQZvz9dS9lqgQF+svf9xWawP+P/zgsNbX1Znmht9MLxC1Hzsgbm/PMPlH3KoeZYzMkpaOrhCEAwD50tnt83wTpnRAlr6w7aGb5Nf/M4g2HZefxs3LXyFQJ9/ItWZ8eOi1/2JBrttepLlEh8kBWT0mIZiDaV3l3jwYAeMUF1u0jukpIgL9nT+H/bDoq1XX1MqF/onir4yVfyOsbj8i+k1+WJQwM8JP7ru5BJmQAsLmucWEye2IfM2j7UbZrBdrWw2fMFi1dpeauRONtA9Hvbj8hy3ac8Dynn+OnV/cgt4yP4/99AEC7BP5ThiVLSJC/vLfddTHy1tZjZnblB4OSzOveoqK61nyGD/cWXrAUVDMh6z5JZlIAwDuEBAbInSNTpW9StMlsX15Va1Zt/WblPjMoreX+dKuat2wze239Ydly+Mukud/P6CS3f6+b13wGtB2CfgBAu9DA/geDLjPL3zXgVzobsfvEWbmuX6IM6Rpj6+BfA/wNB07LX7bmyblKV41j1SkiRG4ZniKDUuzdfgBA04Z2i5X0TuHyX+sPmdVbOp77wecnTZ6WaVem2z4/S0lFtcnQf/iUK5GsnoqmDEuRcX3iOS/BIOgHALQrnT0JDvA3S/yVLqV8ae0BiY8Olev6JsjI7nFmYMBOck+Vm6X87sz8Sts4YUCiabOWgwIAeC+ttKIlVlfszpe3tx039ez1u//fl+2W20d0M+cmOwbQR09XyII1+z15ZXRF3bQru5uBaMCNoB8A0O40iZ/WsH9n23FPZuGCs5VmeaU+p6+P6dVZwoKtPU2VVtbIX7cek/UHTpmZH7ch3WLlny5PMbP8AADnJJ/VgeneiVGycN1BKSytkqqaenl1fa5J8qfl7qw+L7lpKVxdyr/4H4fNVjnVMTxY7s8ikSy+zh69FgDgcwZ3jTUzEbuOl8ryXSclO9+VEO/sFzVm+b8urbyqZ2e5tk98u9e614upv2cXmtmeL6rrPM8nxoSaffu6/xMA4ExpncJlzsS+ZkXa+v2nzHObcotNGTxd7m9VslY9N+3LL5WtR86YW1mjrWbpncNl+jUZEt0hyJK2wd4I+gEAltGlkv2To83tUFGZLN+VL9uOnjGz6pU1dSbb/4d7C+R76XFyXb8ESYrp0OZt0sEHXcrvXoGgQoMCTMLBazK7kBAJAHyAfu9PHZ1mkrTqKjQdAD5dVi3PLt8nEwcmyY0DkiTAv+2X+9fW1cu+/HNmVv+zoyUm2eBXDU/raNrKVjM0h6AfAGAL6Z0jTLm7gtJKE+xvOHDK1BjWmQ19rLeBKTEyoX9Cm8yy6H7IN7fkmdmcxkb16CQ/HpIs0WHMngCAr7k8taNJ8rfo41zZX+BK8qcVXPQ81bVjuKTGhZnyf6lx4ZIQFWq2CLRWoL/5cLFsaybQ17wyA1KiZURanO0T4cJ6XhP0P/XUU/LBBx/I9u3bJTg4WEpKSlqUaXnOnDmyaNEi8/7Ro0fLyy+/LBkZGZ73FBcXy4wZM2TZsmXi7+8vkydPlvnz50tEREQbfyIAQFPio0JNCSXN9L96b4Gs2VfoWWK/I6/E3Hp0iTAz/982Y76eF6pq66Wius5cRJn76lrJK64wF3C6d9NNL+JuG9HN/LcAAL4rLiJEHh3fSz7YeVLe3X7CdS6pqTeDAHpz0yR6up9eBwC6fcuBAA309548H+jnlUhFE4G+zuQPSI6RYamx0v+yaLMaAXBU0F9dXS1TpkyRkSNHyquvvtqifzNv3jxZsGCBLFmyRNLS0mTWrFkyfvx42bNnj4SGukpv3HbbbXLy5ElZtWqV1NTUyNSpU2XatGny+uuvt/EnAgBcjO5L/NGQZJNUaV1OkfzfngJPduIDhWXy4poDkhAdavb8R4YGSUV1rZRX1bnuq+vMBZMG9V891pUDFxMeEig/GnKZXJnRuVVmbAAA3k/PB7qsv09SlBkkzi0ql+Lz5yQ3HQg4UFBmbhcMBMSGSbe4cEntdOFAgAb6e06WyubDZ8zWtsY5ZBr/ew30L0+NNVsNQgIJ9PHt+TXoUJUXWbx4scycOfMbZ/r1YyUlJcnDDz8sjzzyiHnu7NmzEh8fb37GLbfcInv37pU+ffrI5s2bZdiwYeY9K1askAkTJsixY8fMv2+J0tJSiY6ONj8/KipK7Kq+vl4KCwulS5cuZlUDoOgX8Ja+oRdHmw4Xy4pd+XK80X771qILBsb06iKTBl8mESFeMyZuCbv1DdgD/QK+1je0wouWzDt8ulyOnK6QI6fLzb7/b6KB/GUxHeTk2cpmA/2B52f0nRzoO7VftKeWxqGOvarJzc2V/Px8GTt2rOc5/YWMGDFCPvnkExP0631MTIwn4Ff6fu10GzdulB/+8IdN/uyqqipza/zLdndcvdmVtk0HQ+zcRrQ/+gW8pW/opPv30jrKiNRY2Xm81NRSzmm0rPJiwoICpUNwgIQHB0hYSKCENXps7oMDpVdChCRGuxIF2uUz25Xd+gbsgX4BX+sbEcEB0icx0tzczulAQLEOAOhggOv+dPmXcYPSRLVaCaAxDewHpUTLsG6xpkJM46R8Tvu9Ob1ftKeW/u4cG/RrwK90Zr8xPXa/pvc6stRYYGCgdOzY0fOepjzzzDPyq1/96mvPFxUVSWVlpdi5U+gokP5xMZoGN/oFvLFvJASL3D04Vo4Ud5Ccogrx9/OTsGB/6RAUIGFB/hIa5G8C+w5B+py/ef3iGkSqzklhYcsGEXydnfsGrEO/QHN8rW90DhTpHB8gw+J1MCDSbDE7VlJ1/lYpx85WSXFFrYQG+kvfxHAZkBghvbp0MMn5RGqkpNhVJtDpfK1ftIVz587ZP+h//PHHZe7cuRd9jy7Bz8zMFDt54okn5KGHHrpgpj8lJUU6d+5s++X9mvBK28kfFtzoF/DmvqHjtpfb6xThE7yhb6D90S/QHPqGSFqyfG22P9Dfz6fLwNIvLp07T52tg37db3/33Xdf9D3p6enf6WcnJCSY+4KCAklMTPQ8r8eDBg3yvEf3kTRWW1trMvq7/31TQkJCzO2rtLPavcPqH5Y3tBPti36B5tA30Bz6BppCv0Bz6BsXCgvh96DoF5empb83S4N+HdXRW1vQbP0auK9evdoT5OuMvO7Vv/fee82xVgLQhIBbt26VoUOHmufWrFljRp107z8AAAAAAN7Ma4ZUjh49Ktu3bzf3dXV15rHeysq+TIKh2wDefvttz6iRZvl/8skn5b333pOdO3fKnXfeaTLyT5o0ybynd+/ect1118k999wjmzZtkg0bNsj06dNNkr+WZu4HAAAAAMCuvCaR3+zZs2XJkiWe48GDB5v7tWvXypgxY8zj7OxskwzC7dFHH5Xy8nKZNm2amdG/4oorTEm+xnsfli5dagL9rKwsszxi8uTJsmDBgnb9bAAAAAAAtAW/Bk2XiHapj2g1amGiKfQLNIe+gebQN9AU+gWaQ99AU+gX7ReH8tsFAAAAAMChCPoBAAAAAHAogn4AAAAAAByKoB8AAAAAAIci6AcAAAAAwKEI+gEAAAAAcKhAqxvgBO6qh1oywe5lMc6dOyehoaGUxYAH/QLNoW+gOfQNNIV+gebQN9AU+sWlc8ef7ni0OQT9rUA7q0pJSbG6KQAAAAAAH4tHo6Ojm33dr+GbhgXQolGqEydOSGRkpPj5+YmdR4J0YCIvL0+ioqKsbg5sgn6B5tA30Bz6BppCv0Bz6BtoCv3i0mkorwF/UlLSRVdLMNPfCvQXnJycLN5C/6j4w8JX0S/QHPoGmkPfQFPoF2gOfQNNoV9cmovN8LuxeQIAAAAAAIci6AcAAAAAwKEI+n1ISEiIzJkzx9wDbvQLNIe+gebQN9AU+gWaQ99AU+gX7YdEfgAAAAAAOBQz/QAAAAAAOBRBPwAAAAAADkXQDwAAAACAQxH0AwAAAADgUAT9PuJ3v/udpKamSmhoqIwYMUI2bdpkdZNgsWeeeUYuv/xyiYyMlC5dusikSZMkOzvb6mbBZp599lnx8/OTmTNnWt0U2MDx48fl9ttvl7i4OOnQoYP0799ftmzZYnWzYLG6ujqZNWuWpKWlmX7RvXt3+fWvfy3kivYt69atk4kTJ0pSUpI5b7zzzjsXvK79Yfbs2ZKYmGj6ydixY2X//v2WtRf26Bs1NTXy2GOPmfNJeHi4ec+dd94pJ06csLTNTkPQ7wPeeOMNeeihh0xJjM8++0wGDhwo48ePl8LCQqubBgt99NFHct9998mnn34qq1atMl+648aNk/LycqubBpvYvHmzvPLKKzJgwACrmwIbOHPmjIwePVqCgoJk+fLlsmfPHnnuueckNjbW6qbBYnPnzpWXX35ZXnzxRdm7d685njdvnrzwwgtWNw3tSK8f9BpTJ5qaon1iwYIF8vvf/142btxoAjy9Hq2srGz3tqJ9XaxvVFRUmPhEBw71/q9//auZhLrpppssaatTUbLPB+jMvs7o6slY1dfXS0pKisyYMUMef/xxq5sHmygqKjIz/joYcOWVV1rdHFisrKxMhgwZIi+99JI8+eSTMmjQIPntb39rdbNgIT1fbNiwQT7++GOrmwKbufHGGyU+Pl5effVVz3OTJ082s7l/+tOfLG0brKGzuW+//bZZRag03NAZ3IcfflgeeeQR89zZs2dNv1m8eLHccsstFrcYVvWN5iYdhg8fLkeOHJGuXbu2a/ucipl+h6uurpatW7eaJVRu/v7+5viTTz6xtG2wFz35qo4dO1rdFNiArgK54YYbLvjugG977733ZNiwYTJlyhQzQDh48GBZtGiR1c2CDYwaNUpWr14tOTk55njHjh2yfv16uf76661uGmwiNzdX8vPzLzinREdHm4kprkfR1DWpDg7ExMRY3RTHCLS6AWhbp06dMnvtdCS1MT3et2+fZe2CvejqD92zrUt3+/XrZ3VzYLE///nPZomdjrQDbocOHTJLuHW72M9//nPTP+6//34JDg6Wu+66y+rmweJVIKWlpZKZmSkBAQHmuuOpp56S2267zeqmwSY04FdNXY+6XwOUbvfQPf633nqrREVFWd0cxyDoB2BmdXft2mVmZuDb8vLy5IEHHjB5HjTxJ9B4cFBn+p9++mlzrDP9+r2h+3MJ+n3bm2++KUuXLpXXX39d+vbtK9u3bzcDybqcm74BoKU0v9TNN99stoPoIDNaD8v7Ha5Tp05m1L2goOCC5/U4ISHBsnbBPqZPny7vv/++rF27VpKTk61uDiym24E0yafu5w8MDDQ3zfOgyZf0sc7gwTdpxu0+ffpc8Fzv3r3l6NGjlrUJ9vCzn/3MzPbrvmzNwH3HHXfIgw8+aKrEAMp9zcn1KL4p4Nd9/DrxwCx/6yLodzhddjl06FCz167xbI0ejxw50tK2wVo6iqoBvyZTWbNmjSm1BGRlZcnOnTvNTJ37prO7ukxXH+sgInyTbv/5allP3cPdrVs3y9oEe9Ds25ovqDH9rtDrDUDpNYYG942vR3VLiGbx53oU7oBfSzh++OGHpiwsWhfL+32A7r/U5XV64a6ZMDUDt5bOmDp1qtVNg8VL+nUp5rvvviuRkZGePXWaWEczLsM3aV/4al4HLaukJ2DyPfg2nbnVhG26vF8vzjZt2iQLFy40N/g2rb+te/g1y7Yu79+2bZs8//zz8pOf/MTqpqGdq74cOHDgguR9OlisCYK1b+iWD60Gk5GRYQYBtESbbgG5WBZ3OL9v6CqyH//4xyaXkK481RWF7mtSfV0nMNEKtGQfnO+FF15o6Nq1a0NwcHDD8OHDGz799FOrmwSL6Z9/U7c//OEPVjcNNnPVVVc1PPDAA1Y3AzawbNmyhn79+jWEhIQ0ZGZmNixcuNDqJsEGSktLzXeEXmeEhoY2pKenN/ziF79oqKqqsrppaEdr165t8rrirrvuMq/X19c3zJo1qyE+Pt58h2RlZTVkZ2db3WxY3Ddyc3ObvSbVf4fW4af/0xqDBwAAAAAAwF7Y0w8AAAAAgEMR9AMAAAAA4FAE/QAAAAAAOBRBPwAAAAAADkXQDwAAAACAQxH0AwAAAADgUAT9AAAAAAA4FEE/AAAAAAAORdAPAADa1N133y2TJk2yuhkAAPikQKsbAAAAvJefn99FX58zZ47Mnz9fGhoa2q1NAADgSwT9AADgOzt58qTn8RtvvCGzZ8+W7Oxsz3MRERHmBgAArMHyfgAA8J0lJCR4btHR0Wbmv/FzGvB/dXn/mDFjZMaMGTJz5kyJjY2V+Ph4WbRokZSXl8vUqVMlMjJSevToIcuXL7/gv7Vr1y65/vrrzc/Uf3PHHXfIqVOnLPjUAAB4D4J+AADQ7pYsWSKdOnWSTZs2mQGAe++9V6ZMmSKjRo2Szz77TMaNG2eC+oqKCvP+kpISueaaa2Tw4MGyZcsWWbFihRQUFMjNN99s9UcBAMDWCPoBAEC7GzhwoPzyl7+UjIwMeeKJJyQ0NNQMAtxzzz3mOd0mcPr0afn888/N+1988UUT8D/99NOSmZlpHr/22muydu1aycnJsfrjAABgW+zpBwAA7W7AgAGexwEBARIXFyf9+/f3PKfL91VhYaG537Fjhwnwm8oPcPDgQenZs2e7tBsAAG9D0A8AANpdUFDQBceaC6Dxc+6qAPX19ea+rKxMJk6cKHPnzv3az0pMTGzz9gIA4K0I+gEAgO0NGTJE3nrrLUlNTZXAQC5fAABoKfb0AwAA27vvvvukuLhYbr31Vtm8ebNZ0r9y5UqT7b+urs7q5gEAYFsE/QAAwPaSkpJkw4YNJsDXzP66/19L/sXExIi/P5czAAA0x6+hoaGh2VcBAAAAAIDXYmgcAAAAAACHIugHAAAAAMChCPoBAAAAAHAogn4AAAAAAByKoB8AAAAAAIci6AcAAAAAwKEI+gEAAAAAcCiCfgAAAAAAHIqgHwAAAAAAhyLoBwAAAADAoQj6AQAAAAAQZ/p/1DhExjEff9QAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 1200x400 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "RNN learns to process temporal patterns\n"
     ]
    }
   ],
   "source": [
    "# Generate sine wave sequence\n",
    "t = jnp.linspace(0, 4 * jnp.pi, 50)\n",
    "sine_wave = jnp.sin(t)\n",
    "\n",
    "# Prepare as sequence (add feature dimension)\n",
    "sequence = sine_wave[:, None]\n",
    "\n",
    "# Create RNN\n",
    "brainstate.random.seed(42)\n",
    "rnn = SimpleRNN(input_size=1, hidden_size=16, output_size=1)\n",
    "\n",
    "# Process sequence\n",
    "outputs = rnn(sequence).flatten()\n",
    "\n",
    "# Plot\n",
    "plt.figure(figsize=(12, 4))\n",
    "plt.plot(t, sine_wave, linewidth=2, label='Input (Sine)', alpha=0.7)\n",
    "plt.plot(t, outputs, linewidth=2, label='RNN Output', alpha=0.7)\n",
    "plt.xlabel('Time')\n",
    "plt.ylabel('Value')\n",
    "plt.title('RNN Processing Temporal Sequence', fontweight='bold')\n",
    "plt.legend()\n",
    "plt.grid(alpha=0.3)\n",
    "plt.show()\n",
    "\n",
    "print(\"RNN learns to process temporal patterns\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "lstm_intro",
   "metadata": {},
   "source": [
    "## 2. LSTM - Long Short-Term Memory\n",
    "\n",
    "LSTM addresses the vanishing gradient problem with gating mechanisms:\n",
    "\n",
    "- **Forget gate**: What to forget from cell state\n",
    "- **Input gate**: What new information to store\n",
    "- **Output gate**: What to output from cell state\n",
    "\n",
    "### LSTM Cell"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "c16102bfb15004cf",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-10-10T11:50:57.682104Z",
     "start_time": "2025-10-10T11:50:57.296702Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "LSTMCell:\n",
      "LSTMCell(\n",
      "  in_size=(10,),\n",
      "  out_size=(20,),\n",
      "  num_out=20,\n",
      "  num_in=10,\n",
      "  state_initializer=ZeroInit(\n",
      "    unit=Unit(10.0^0)\n",
      "  ),\n",
      "  activation=<function tanh at 0x00000135A6BDFD80>,\n",
      "  W=Linear(\n",
      "    in_size=(30,),\n",
      "    out_size=(80,),\n",
      "    w_mask=None,\n",
      "    weight=ParamState(\n",
      "      value={\n",
      "        'bias': ShapedArray(float32[80]),\n",
      "        'weight': ShapedArray(float32[30,80])\n",
      "      }\n",
      "    )\n",
      "  ),\n",
      "  c=HiddenState(\n",
      "    value=ShapedArray(float32[20])\n",
      "  ),\n",
      "  h=HiddenState(\n",
      "    value=ShapedArray(float32[20])\n",
      "  )\n",
      ")\n",
      "Input: (10,)\n",
      "Hidden state shape: (20,)\n",
      "Cell state shape: (20,)\n",
      "✅ LSTM maintains both hidden and cell states\n",
      "✅ Cell state provides long-term memory\n"
     ]
    }
   ],
   "source": [
    "\n",
    "# LSTMCell: Advanced recurrent unit\n",
    "brainstate.random.seed(42)\n",
    "lstm_cell = brainstate.nn.LSTMCell(num_in=10, num_out=20)\n",
    "brainstate.nn.init_all_states(lstm_cell)\n",
    "\n",
    "print(\"LSTMCell:\")\n",
    "print(lstm_cell)\n",
    "\n",
    "# LSTM has two states: hidden (h) and cell (c)\n",
    "hidden_before = lstm_cell.h.value\n",
    "cell_before = lstm_cell.c.value\n",
    "\n",
    "# Process one timestep\n",
    "x_t = brainstate.random.randn(10)\n",
    "hidden_after = lstm_cell(x_t)\n",
    "cell_after = lstm_cell.c.value\n",
    "\n",
    "print(f\"Input: {x_t.shape}\")\n",
    "print(f\"Hidden state shape: {hidden_after.shape}\")\n",
    "print(f\"Cell state shape: {cell_after.shape}\")\n",
    "print(\"✅ LSTM maintains both hidden and cell states\")\n",
    "print(\"✅ Cell state provides long-term memory\")\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "lstm_network",
   "metadata": {},
   "source": [
    "### LSTM Network"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "619b3dbae04a563c",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-10-10T11:50:58.599960Z",
     "start_time": "2025-10-10T11:50:57.687397Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "LSTM Network:\n",
      "LSTMNet(\n",
      "  lstm_cell=LSTMCell(\n",
      "    in_size=(5,),\n",
      "    out_size=(20,),\n",
      "    num_out=20,\n",
      "    num_in=5,\n",
      "    state_initializer=ZeroInit(\n",
      "      unit=Unit(10.0^0)\n",
      "    ),\n",
      "    activation=<function tanh at 0x00000135A6BDFD80>,\n",
      "    W=Linear(\n",
      "      in_size=(25,),\n",
      "      out_size=(80,),\n",
      "      w_mask=None,\n",
      "      weight=ParamState(\n",
      "        value={\n",
      "          'bias': ShapedArray(float32[80]),\n",
      "          'weight': ShapedArray(float32[25,80])\n",
      "        }\n",
      "      )\n",
      "    ),\n",
      "    c=HiddenState(\n",
      "      value=ShapedArray(float32[20])\n",
      "    ),\n",
      "    h=HiddenState(\n",
      "      value=ShapedArray(float32[20])\n",
      "    )\n",
      "  ),\n",
      "  output_layer=Linear(\n",
      "    in_size=(20,),\n",
      "    out_size=(3,),\n",
      "    w_mask=None,\n",
      "    weight=ParamState(\n",
      "      value={\n",
      "        'bias': ShapedArray(float32[3]),\n",
      "        'weight': ShapedArray(float32[20,3])\n",
      "      }\n",
      "    )\n",
      "  ),\n",
      "  hidden_size=20\n",
      ")\n",
      "Sequence: (10, 5) → Output: (10, 3)\n"
     ]
    }
   ],
   "source": [
    "\n",
    "class LSTMNet(brainstate.nn.Module):\n",
    "    \"\"\"LSTM network for sequence processing.\"\"\"\n",
    "\n",
    "    def __init__(self, input_size, hidden_size, output_size):\n",
    "        super().__init__()\n",
    "        self.lstm_cell = brainstate.nn.LSTMCell(num_in=input_size, num_out=hidden_size)\n",
    "        self.output_layer = brainstate.nn.Linear((hidden_size,), (output_size,))\n",
    "        self.hidden_size = hidden_size\n",
    "\n",
    "    def update(self, sequence):\n",
    "        brainstate.nn.init_all_states(self)\n",
    "        rnn_out = brainstate.transform.for_loop(self.lstm_cell, sequence)\n",
    "        return self.output_layer(rnn_out)\n",
    "\n",
    "# Create LSTM\n",
    "brainstate.random.seed(0)\n",
    "lstm = LSTMNet(input_size=5, hidden_size=20, output_size=3)\n",
    "\n",
    "# Test\n",
    "sequence = brainstate.random.randn(10, 5)\n",
    "outputs = lstm(sequence)\n",
    "\n",
    "print(f\"LSTM Network:\")\n",
    "print(lstm)\n",
    "print(f\"Sequence: {sequence.shape} → Output: {outputs.shape}\")\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "gru_intro",
   "metadata": {},
   "source": [
    "## 3. GRU - Gated Recurrent Unit\n",
    "\n",
    "GRU simplifies LSTM with fewer gates:\n",
    "\n",
    "- **Reset gate**: How much past to forget\n",
    "- **Update gate**: How much to update\n",
    "\n",
    "### GRU Cell"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "a0ab4049939c41e2",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-10-10T11:50:59.466928Z",
     "start_time": "2025-10-10T11:50:58.627975Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "GRUCell:\n",
      "GRUCell(\n",
      "  in_size=(10,),\n",
      "  out_size=(20,),\n",
      "  state_initializer=ZeroInit(\n",
      "    unit=Unit(10.0^0)\n",
      "  ),\n",
      "  num_out=20,\n",
      "  num_in=10,\n",
      "  activation=<function tanh at 0x00000135A6BDFD80>,\n",
      "  Wrz=Linear(\n",
      "    in_size=(30,),\n",
      "    out_size=(40,),\n",
      "    w_mask=None,\n",
      "    weight=ParamState(\n",
      "      value={\n",
      "        'bias': ShapedArray(float32[40]),\n",
      "        'weight': ShapedArray(float32[30,40])\n",
      "      }\n",
      "    )\n",
      "  ),\n",
      "  Wh=Linear(\n",
      "    in_size=(30,),\n",
      "    out_size=(20,),\n",
      "    w_mask=None,\n",
      "    weight=ParamState(\n",
      "      value={\n",
      "        'bias': ShapedArray(float32[20]),\n",
      "        'weight': ShapedArray(float32[30,20])\n",
      "      }\n",
      "    )\n",
      "  ),\n",
      "  h=HiddenState(\n",
      "    value=ShapedArray(float32[20])\n",
      "  )\n",
      ")\n",
      "Input: (10,)\n",
      "Hidden state shape: (20,)\n",
      "✅ Simpler than LSTM (no cell state)\n",
      "✅ Faster training, fewer parameters\n",
      "✅ Often performs similarly to LSTM\n"
     ]
    }
   ],
   "source": [
    "\n",
    "# GRUCell: Efficient alternative to LSTM\n",
    "brainstate.random.seed(42)\n",
    "gru_cell = brainstate.nn.GRUCell(num_in=10, num_out=20)\n",
    "brainstate.nn.init_all_states(gru_cell)\n",
    "\n",
    "print(\"GRUCell:\")\n",
    "print(gru_cell)\n",
    "\n",
    "# GRU only has hidden state (no separate cell state)\n",
    "hidden_before = gru_cell.h.value\n",
    "x_t = brainstate.random.randn(10)\n",
    "hidden_after = gru_cell(x_t)\n",
    "\n",
    "print(f\"Input: {x_t.shape}\")\n",
    "print(f\"Hidden state shape: {hidden_after.shape}\")\n",
    "print(\"✅ Simpler than LSTM (no cell state)\")\n",
    "print(\"✅ Faster training, fewer parameters\")\n",
    "print(\"✅ Often performs similarly to LSTM\")\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "comparison",
   "metadata": {},
   "source": [
    "### Comparing RNN, LSTM, and GRU"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "comparison_example",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-10-10T11:51:01.042892Z",
     "start_time": "2025-10-10T11:50:59.501869Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABcMAAAGGCAYAAAC3ypmDAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjYsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvq6yFwwAAAAlwSFlzAAAPYQAAD2EBqD+naQAAfeNJREFUeJzt3Ql8VNX5//EnCZCwJRBZwhLZRBZBUBAEq9BCBaFW/loVi2URcUVFqBWsCNYFrYhYpeKG2ioVN9BqRZFFRcMuiggoihCRVYQQQkKSmf/rOf5mMkkmy8y9s9yZz7uvWzN37j1zMhnmO3PuWRLcbrdbAAAAAAAAAACIYYmRrgAAAAAAAAAAAKFGYzgAAAAAAAAAIObRGA4AAAAAAAAAiHk0hgMAAAAAAAAAYh6N4QAAAAAAAACAmEdjOAAAAAAAAAAg5tEYDgAAAAAAAACIeTSGAwAAAAAAAABiHo3hAAAAAAAAAICYR2M4ICLTp0+XhIQEsz3//PNVHj969Gjv8StWrKjy+P79+3uP//77722qNQAA8EWeAwAQvTwZ2rp16yqP1Zz1HK/5WxXNcc/xmu8AUBEaw1Hll0nPVqNGDWnSpIkMHjxY3n333Uq/INatW1cOHjxY6n4NPM/9W7du9bs/MzNTTpw4Ueo83zrk5+dXOwD9Bazv7xWvAVlcXCyPPfaY9OjRQ+rVqycpKSnSokUL6du3r9x0002l/jZq9uzZ5nnTzSptmPCUdfjwYcvlAUC8CjTP/ve//8lvf/tbSU9Pl1q1apk879atmzl38eLF5TK0qs2TsWU/L5x//vnlHnv9+vXlzifPrSPPASB2aC7OnTvXZLVmtGZ106ZN5YwzzpDrrrtO3nvvPXG73X6/e3u25ORkadWqlVx55ZXlMkD5Hlv2gq7vxeHq5ITv4/u7+FzZY8WLr776Sv74xz9K8+bNpWbNmuYzWIcOHeSSSy6Rxx9/vNSxGzdu9OZqdS7OV0afb09ZixYtsvhbALGpRqQrAGd96Tpw4IAJ4vfff18WLlwoF110kd9j8/LyZNasWXL//fcH9Bg//PCDCdNrrrlGwumqq66SgQMHmp9PPfVUiWVXX311uQ8sP/74o9mysrKkd+/e0rFjx1Jfnnfu3Gl+tvoFWh/3ww8/9H7gatCggaXyAABVe+GFF8o1GGue6/bFF1+Yi916odsOS5cuNZmhX8Y9nn76aQkX8pw8BwCn+frrr8336rIN2Pv37zebNpQ++eSTcvToUXPxsyLaqWzXrl3y0ksvydtvv20y/uSTT5Zo8vHHH5v/6gXcWLZ582Y5++yzJTc317vv559/Npv+vT///HMZP3689z79G999993e29XpCV9ZY7inrFGjRsmwYcOCLguIVTSGo0oXXHCB3HHHHaant3550jduvSqtvZEqagxXc+bMkb/85S8Bf0F68MEHzZdZ/XIeLvohIdo+KITCN9984/3i3KhRI7n33nulffv2sm/fPvPhSy9wAABiy1//+lfz38TERPPzueeeK8eOHZPt27ebC9y6X2nvM8+XVPXZZ5/JzTffbH7OyMiQV1991XtfRV9iXS6XPPvss/K3v/3N3NbHmT9/voQLeU6eA4CT6OiaQYMGeXtPn3TSSSZ79YKm5rM2nL7zzjsmryui39X1orZmw5///GfT4HrkyBH517/+JXfeeadEk1/96lcSD7RToKch/LLLLpM//elPpn1jx44dsnLlSvnyyy8jXUUgrjFNCqqkw7Q0tPSK4l133eXdn52dXel5OTk58o9//CPgx/vuu+/C+sW5qjlGdQhTu3btpHbt2tKrVy9ZtmxZpb3ntSwdplynTh359a9/bS4eVObNN980vdgaNmxohrbp0Cm9knv8+PEKh6LpVX4dAq1/G62XXrDw9PaqzIYNG7w/jxw5Uq699lr5zW9+I1dccYV5TC334osvNvfr86CP5Vuu73A3TyPH9ddfLz179jTD+HQ4X1pamvTp08c0hpQd7u7pRabatGnjd+hcdZ8PPcd32JledOncubOMGTPG/B4AADGNo7t37zY/d+/e3TRS6xBszXT9wrxkyRLTY1jp+7fmvWfr2rWrtxx9P/a9T9/3y6pfv77573PPPWcaxdWCBQtMTzbPfaFGnpPnAOAkM2fOLNUQvnbtWvOdWxvINa9vvPFGM9XZpk2bzHupP3oxVC90a4cynSKlut/XI6GiKdC0kfj3v/+9mW5VM/GWW24xo80roj2pNU81O1u2bGnypaioqMLjdTTcxIkTzXOlz6Nm09ChQ2XVqlWVzjuuFyHOOuss0wlAL7ZXt33DN6efeeYZ+d3vfmcuWGjWas99HcHloc+FZp6H/i5lp6zR6U70+dHM1c9UmtM6Ck/P881efU70M4vv6EB/08pV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wkIZM2aMXHPNNTJ//ny/x//4449mmzlzpnTu3Fl27twp1113ndn32mvVXyjF+koNAADE2BVqAABQMbIbAABnibbs3rJliyxevFjWrl0rPXv2NPsee+wxMyJKG7ubN29e7pwuXbrI66+/7r3drl07ue++++TKK6+UoqIiqVGjes3c9iyLCwCA1SvUwWwAACD8yG4AAOIqu3NyckptBQUFlqqTlZVl1snwNISrgQMHmulSVq9eXe1yjhw5YhaVrm5DuOXG8MoW9gAAANGH7AYAwFnIbgBApGVmZpp5uT3bjBkzLJW3d+9eadKkSal92qCdnp5u7quOgwcPmvnCdWqVQFS72fziiy8udTs/P9/My1K3bt1S+994442AKgAAiHNROHdZrCC7AQAhQXaHDNkNAIjG7M7OzjY9sD2Sk5P9Hj558mR58MEHq5wixSrtnT506FAzd/j06dND0xhedlVOnY8FAACrtK9TMP2d6CNVNbIbABAKZHfokN0AgGjM7tTU1FKN4RWZNGmSjB49utJjdFHojIwM2b9/f6n9Ou/3oUOHzH2VOXr0qAwePFjq168vCxculJo1a0pIGsOfe+65gAoGAKBa6F0WMmQ3ACAkyO6QIbsBAE7O7saNG5utKn369JHDhw/L+vXrpUePHmbfsmXLxOVySe/evSvtET5o0CDTM/2tt96SlJSUwCoYDQto7t6921ztPumkk6R27drStWtXWbduXaSrBQAI86rWwWyIDLIbAOIb2e08ZDcAxLdoy+5OnTqZ3t3jxo2TNWvWyCeffCLjx4+X4cOHS/Pmzb3Z1bFjR3O/pyH8/PPPl2PHjsmzzz5rbuv84roVFxdX+7Grv9RmCPz8889yzjnnyK9//Wt59913zZWDb775Rho2bBjJagEAwoneZY5CdgMAyG5nIbsBANGY3S+99JJpAB8wYIAkJibKJZdcIv/4xz+89xcWFsq2bdskLy/P3N6wYYOsXr3a/HzKKaeUKmvHjh3SunXr6G8M1wnVdTVS36Fgbdq0iWSVAABAJchuAACchewGAESj9PR0mT9/foX3a+O2213SGt+/f/9St4MV0WlSdG6Xnj17yqWXXipNmjSRM844Q55++ukKjy8oKDBd4H03AEAMXaUOZENEkN0AAIPsdgyyGwBgkN2Rbwz/7rvv5IknnpD27dvLe++9J9dff73cfPPN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",
      "text/plain": [
       "<Figure size 1500x400 with 6 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Different activation patterns across time\n"
     ]
    }
   ],
   "source": [
    "\n",
    "# Create all three types\n",
    "brainstate.random.seed(0)\n",
    "input_size, hidden_size = 5, 10\n",
    "\n",
    "rnn_cell = brainstate.nn.ValinaRNNCell(num_in=input_size, num_out=hidden_size)\n",
    "lstm_cell = brainstate.nn.LSTMCell(num_in=input_size, num_out=hidden_size)\n",
    "gru_cell = brainstate.nn.GRUCell(num_in=input_size, num_out=hidden_size)\n",
    "\n",
    "# Test on same sequence\n",
    "sequence = brainstate.random.randn(20, input_size)\n",
    "\n",
    "# Process with RNN\n",
    "brainstate.nn.init_all_states(rnn_cell)\n",
    "rnn_states = []\n",
    "for x_t in sequence:\n",
    "    rnn_states.append(rnn_cell(x_t))\n",
    "rnn_states = jnp.stack(rnn_states)\n",
    "\n",
    "# Process with LSTM\n",
    "brainstate.nn.init_all_states(lstm_cell)\n",
    "lstm_states = []\n",
    "for x_t in sequence:\n",
    "    lstm_states.append(lstm_cell(x_t))\n",
    "lstm_states = jnp.stack(lstm_states)\n",
    "\n",
    "# Process with GRU\n",
    "brainstate.nn.init_all_states(gru_cell)\n",
    "gru_states = []\n",
    "for x_t in sequence:\n",
    "    gru_states.append(gru_cell(x_t))\n",
    "gru_states = jnp.stack(gru_states)\n",
    "\n",
    "# Visualize hidden states\n",
    "plt.figure(figsize=(15, 4))\n",
    "\n",
    "plt.subplot(1, 3, 1)\n",
    "plt.imshow(np.array(rnn_states.T), aspect='auto', cmap='viridis')\n",
    "plt.colorbar()\n",
    "plt.title('RNN Hidden States', fontweight='bold')\n",
    "plt.xlabel('Time')\n",
    "plt.ylabel('Hidden Unit')\n",
    "\n",
    "plt.subplot(1, 3, 2)\n",
    "plt.imshow(np.array(lstm_states.T), aspect='auto', cmap='viridis')\n",
    "plt.colorbar()\n",
    "plt.title('LSTM Hidden States', fontweight='bold')\n",
    "plt.xlabel('Time')\n",
    "plt.ylabel('Hidden Unit')\n",
    "\n",
    "plt.subplot(1, 3, 3)\n",
    "plt.imshow(np.array(gru_states.T), aspect='auto', cmap='viridis')\n",
    "plt.colorbar()\n",
    "plt.title('GRU Hidden States', fontweight='bold')\n",
    "plt.xlabel('Time')\n",
    "plt.ylabel('Hidden Unit')\n",
    "\n",
    "plt.tight_layout()\n",
    "plt.show()\n",
    "\n",
    "print(\"Different activation patterns across time\")\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "practical_example",
   "metadata": {},
   "source": [
    "## 4. Practical Example: Sequence Classification\n",
    "\n",
    "Let's build a complete sequence classifier:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "7b001fb64a6bdb4b",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-10-10T11:51:02.296718Z",
     "start_time": "2025-10-10T11:51:01.083733Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Sequence Classifier:\n",
      "SequenceClassifier(\n",
      "  lstm=LSTMCell(\n",
      "    in_size=(8,),\n",
      "    out_size=(32,),\n",
      "    num_out=32,\n",
      "    num_in=8,\n",
      "    state_initializer=ZeroInit(\n",
      "      unit=Unit(10.0^0)\n",
      "    ),\n",
      "    activation=<function tanh at 0x00000135A6BDFD80>,\n",
      "    W=Linear(\n",
      "      in_size=(40,),\n",
      "      out_size=(128,),\n",
      "      w_mask=None,\n",
      "      weight=ParamState(\n",
      "        value={\n",
      "          'bias': ShapedArray(float32[128]),\n",
      "          'weight': ShapedArray(float32[40,128])\n",
      "        }\n",
      "      )\n",
      "    )\n",
      "  ),\n",
      "  fc=Linear(\n",
      "    in_size=(32,),\n",
      "    out_size=(3,),\n",
      "    w_mask=None,\n",
      "    weight=ParamState(\n",
      "      value={\n",
      "        'bias': ShapedArray(float32[3]),\n",
      "        'weight': ShapedArray(float32[32,3])\n",
      "      }\n",
      "    )\n",
      "  ),\n",
      "  hidden_size=32\n",
      ")\n",
      "Classifying sequences of different lengths:\n",
      "  Sequence 1 (length=10): logits=[[-0.01547857  0.13513905  0.00754708]\n",
      " [ 0.05315275  0.04406237 -0.03946488]\n",
      " [-0.01024249  0.01766446 -0.3073437 ]\n",
      " [-0.08865614  0.21953711 -0.22142717]\n",
      " [-0.01125905  0.23754263 -0.07070658]\n",
      " [-0.18919653  0.26399848  0.10286664]\n",
      " [-0.18127857  0.3011483   0.14584416]\n",
      " [-0.15617499  0.07344149  0.16522595]\n",
      " [-0.01809211  0.13386661  0.14542104]\n",
      " [-0.02841321  0.22150865  0.21882784]], predicted class=19\n",
      "  Sequence 2 (length=15): logits=[[ 0.05904964 -0.10120873 -0.06329243]\n",
      " [ 0.17392379 -0.09240627  0.04093027]\n",
      " [ 0.18226701 -0.07839968  0.01378617]\n",
      " [ 0.17103598  0.0156443   0.07495441]\n",
      " [ 0.15527852 -0.00152822 -0.01727968]\n",
      " [-0.03237936 -0.12036745 -0.09828403]\n",
      " [-0.06232247 -0.05956251  0.05448275]\n",
      " [-0.08484429  0.02086652  0.02134096]\n",
      " [-0.04571725  0.0271459  -0.03105914]\n",
      " [ 0.03056999  0.03487205 -0.06918844]\n",
      " [ 0.10113777  0.07460307 -0.22886036]\n",
      " [-0.03290576  0.01573478 -0.23962773]\n",
      " [ 0.01381631  0.01904286 -0.24691448]\n",
      " [ 0.00996852  0.1708695  -0.21775015]\n",
      " [-0.07599682  0.10057165 -0.13780987]], predicted class=6\n",
      "  Sequence 3 (length=20): logits=[[-0.03186802 -0.02496959 -0.09452604]\n",
      " [ 0.06142969 -0.00672111 -0.16893423]\n",
      " [ 0.08336904  0.19765691 -0.03138714]\n",
      " [ 0.20414184  0.17294948 -0.01703165]\n",
      " [ 0.12318151  0.10354187 -0.13263148]\n",
      " [-0.06375938 -0.08475278 -0.17380428]\n",
      " [-0.01210234 -0.14016798 -0.17115496]\n",
      " [ 0.04803856 -0.05086609 -0.28233108]\n",
      " [ 0.07683823 -0.08949272 -0.2292438 ]\n",
      " [ 0.06163431 -0.19596225 -0.25488782]\n",
      " [-0.03754998 -0.4479535  -0.2219074 ]\n",
      " [ 0.01833916 -0.40765774 -0.1654255 ]\n",
      " [-0.01680591 -0.23481718  0.03301343]\n",
      " [ 0.00481436 -0.1791741  -0.0043909 ]\n",
      " [-0.02281204 -0.07078494  0.00409675]\n",
      " [-0.10403152 -0.07854924 -0.0093255 ]\n",
      " [-0.04130641 -0.01892788  0.07624298]\n",
      " [-0.09435351  0.02813931  0.19073027]\n",
      " [ 0.02372409  0.02199761  0.17838839]\n",
      " [-0.00277933  0.20082155  0.1791797 ]], predicted class=9\n"
     ]
    }
   ],
   "source": [
    "\n",
    "class SequenceClassifier(brainstate.nn.Module):\n",
    "    \"\"\"Classify sequences using LSTM.\"\"\"\n",
    "\n",
    "    def __init__(self, input_size, hidden_size, num_classes):\n",
    "        super().__init__()\n",
    "\n",
    "        # LSTM layer\n",
    "        self.lstm = brainstate.nn.LSTMCell(num_in=input_size, num_out=hidden_size)\n",
    "\n",
    "        # Classifier\n",
    "        self.fc = brainstate.nn.Linear((hidden_size,), (num_classes,))\n",
    "        self.hidden_size = hidden_size\n",
    "\n",
    "    def update(self, sequence):\n",
    "        \"\"\"Classify a sequence and return logits.\"\"\"\n",
    "        brainstate.nn.init_all_states(self)\n",
    "        rnn_out = brainstate.transform.for_loop(self.lstm, sequence)\n",
    "        return self.fc(rnn_out)\n",
    "\n",
    "# Create classifier\n",
    "brainstate.random.seed(42)\n",
    "classifier = SequenceClassifier(\n",
    "    input_size=8,\n",
    "    hidden_size=32,\n",
    "    num_classes=3\n",
    ")\n",
    "\n",
    "print(\"Sequence Classifier:\")\n",
    "print(classifier)\n",
    "\n",
    "# Test with batch of sequences\n",
    "sequences = [\n",
    "    brainstate.random.randn(10, 8),  # Short sequence\n",
    "    brainstate.random.randn(15, 8),  # Medium sequence\n",
    "    brainstate.random.randn(20, 8),  # Long sequence\n",
    "]\n",
    "\n",
    "print(\"Classifying sequences of different lengths:\")\n",
    "for i, seq in enumerate(sequences):\n",
    "    logits = classifier(seq)\n",
    "    pred = jnp.argmax(logits)\n",
    "    print(f\"  Sequence {i + 1} (length={seq.shape[0]:2d}): logits={logits}, predicted class={pred}\")\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "time_series",
   "metadata": {},
   "source": [
    "## 5. Time Series Prediction"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "a9f1adbe7088e679",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2025-10-10T11:51:09.213301Z",
     "start_time": "2025-10-10T11:51:02.375317Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Time series data: (200,)\n",
      "Sequences (X): (185, 15, 1)\n",
      "Targets (y): (185,)\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 1200x500 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "MSE (untrained): 0.1451\n",
      "💡 With training, GRU can learn to predict future values\n"
     ]
    }
   ],
   "source": [
    "\n",
    "# Generate synthetic time series\n",
    "def generate_time_series(n_steps=100):\n",
    "    t = jnp.linspace(0, 10, n_steps)\n",
    "    # Combination of sine waves\n",
    "    series = jnp.sin(t) + 0.5 * jnp.sin(3 * t) + 0.1 * brainstate.random.randn(n_steps)\n",
    "    return series\n",
    "\n",
    "# Create sequences for prediction\n",
    "def create_sequences(data, seq_length=10):\n",
    "    X, y = [], []\n",
    "    for i in range(len(data) - seq_length):\n",
    "        X.append(data[i:i + seq_length])\n",
    "        y.append(data[i + seq_length])\n",
    "    return jnp.array(X), jnp.array(y)\n",
    "\n",
    "# Generate data\n",
    "brainstate.random.seed(0)\n",
    "time_series = generate_time_series(200)\n",
    "X, y = create_sequences(time_series, seq_length=15)\n",
    "\n",
    "# Add feature dimension\n",
    "X = X[:, :, None]\n",
    "\n",
    "print(f\"Time series data: {time_series.shape}\")\n",
    "print(f\"Sequences (X): {X.shape}\")\n",
    "print(f\"Targets (y): {y.shape}\")\n",
    "\n",
    "# Create predictor\n",
    "class TimeSeriesPredictor(brainstate.nn.Module):\n",
    "    def __init__(self, hidden_size=32):\n",
    "        super().__init__()\n",
    "        self.gru = brainstate.nn.GRUCell(num_in=1, num_out=hidden_size)\n",
    "        self.fc = brainstate.nn.Linear((hidden_size,), (1,))\n",
    "        self.hidden_size = hidden_size\n",
    "\n",
    "    def update(self, sequence):\n",
    "        brainstate.nn.init_all_states(self)\n",
    "        brainstate.transform.for_loop(self.gru, sequence)\n",
    "        prediction = self.fc(self.gru.h.value)\n",
    "        return prediction.squeeze()\n",
    "\n",
    "# Create and test predictor\n",
    "brainstate.random.seed(42)\n",
    "predictor = TimeSeriesPredictor(hidden_size=64)\n",
    "\n",
    "# Make predictions on test data\n",
    "predictions = []\n",
    "for i in range(min(50, len(X))):\n",
    "    pred = predictor(X[i])\n",
    "    predictions.append(pred)\n",
    "\n",
    "predictions = jnp.array(predictions)\n",
    "targets = y[:len(predictions)]\n",
    "\n",
    "# Plot\n",
    "plt.figure(figsize=(12, 5))\n",
    "plt.plot(targets, label='True Values', linewidth=2, alpha=0.7)\n",
    "plt.plot(predictions, label='Predictions (Untrained)', linewidth=2, alpha=0.7)\n",
    "plt.xlabel('Time Step')\n",
    "plt.ylabel('Value')\n",
    "plt.title('Time Series Prediction with GRU', fontweight='bold')\n",
    "plt.legend()\n",
    "plt.grid(alpha=0.3)\n",
    "plt.show()\n",
    "\n",
    "mse = jnp.mean((predictions - targets) ** 2)\n",
    "print(f\"MSE (untrained): {mse:.4f}\")\n",
    "print(\"💡 With training, GRU can learn to predict future values\")\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "summary",
   "metadata": {},
   "source": [
    "## Summary\n",
    "\n",
    "In this tutorial, you learned:\n",
    "\n",
    "✅ **RNN Basics**\n",
    "  - Recurrence and hidden states\n",
    "  - Processing sequences step-by-step\n",
    "  - Building simple RNN networks\n",
    "\n",
    "✅ **LSTM**\n",
    "  - Gating mechanisms (forget, input, output)\n",
    "  - Cell state for long-term memory\n",
    "  - Handling long-term dependencies\n",
    "\n",
    "✅ **GRU**\n",
    "  - Simplified gating (reset, update)\n",
    "  - Fewer parameters than LSTM\n",
    "  - Efficient alternative\n",
    "\n",
    "✅ **Practical Applications**\n",
    "  - Sequence classification\n",
    "  - Time series prediction\n",
    "  - Variable-length sequences\n",
    "\n",
    "### Quick Comparison\n",
    "\n",
    "| Model | States | Gates | Best For |\n",
    "|-------|--------|-------|----------|\n",
    "| **RNN** | 1 (h) | 0 | Short sequences, simple patterns |\n",
    "| **LSTM** | 2 (h, c) | 3 | Long sequences, complex dependencies |\n",
    "| **GRU** | 1 (h) | 2 | Balance of complexity and performance |\n",
    "\n",
    "### When to Use Each\n",
    "\n",
    "- 🎯 **Start with GRU** - Good default choice\n",
    "- 📚 **Use LSTM** - When you need maximum capacity for long-term memory\n",
    "- ⚡ **Use RNN** - For simple patterns or as baseline\n",
    "\n",
    "### Best Practices\n",
    "\n",
    "1. 🔄 **Initialize hidden states to zero**\n",
    "2. 📊 **Normalize input sequences**\n",
    "3. 🎯 **Use gradient clipping** to prevent exploding gradients\n",
    "4. 💾 **Save hidden states** for inference on long sequences\n",
    "5. 🔍 **Try bidirectional RNNs** for offline sequence processing\n",
    "\n",
    "### Next Steps\n",
    "\n",
    "Continue with:\n",
    "- **Dynamics Systems** - Brain-inspired temporal models\n",
    "- **Attention Mechanisms** - Beyond RNNs (Transformers)\n",
    "- **Training** - Optimize RNNs effectively"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Ecosystem-py",
   "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.13"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
