{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2022-06-01T19:37:40.152062Z",
     "start_time": "2022-06-01T19:37:37.079382Z"
    }
   },
   "outputs": [
    {
     "data": {
      "application/javascript": [
       "\n",
       "try {\n",
       "require(['notebook/js/codecell'], function(codecell) {\n",
       "  codecell.CodeCell.options_default.highlight_modes[\n",
       "      'magic_text/x-csrc'] = {'reg':[/^%%pybind11/]};\n",
       "  Jupyter.notebook.events.one('kernel_ready.Kernel', function(){\n",
       "      Jupyter.notebook.get_cells().map(function(cell){\n",
       "          if (cell.cell_type == 'code'){ cell.auto_highlight(); } }) ;\n",
       "  });\n",
       "});\n",
       "} catch (e) {};\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from fft_low_avg import *\n",
    "\n",
    "import numpy as np\n",
    "\n",
    "import matplotlib.pyplot as plt\n",
    "from numpy.fft import fft, fftshift"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2022-06-01T19:37:41.791751Z",
     "start_time": "2022-06-01T19:37:40.159578Z"
    }
   },
   "outputs": [],
   "source": [
    "# Load bitstream with custom overlay\n",
    "soc = TopSoc('./fft_low_avg.bit', ignore_version=True, force_init_clks=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2022-06-01T19:37:41.823608Z",
     "start_time": "2022-06-01T19:37:41.799743Z"
    }
   },
   "outputs": [],
   "source": [
    "# Bit reversal: n is the number of bits, i.e., log2(FFT SIZE)\n",
    "def bit_reverse (i, n):\n",
    "    return int(format(i, '0%db' % n)[::-1], 2)\n",
    "\n",
    "# Sort FFT data. Output FFT is bit-reversed. Index is given by idx array.\n",
    "def sort_br(y, idx):\n",
    "    y_sort = np.zeros(len(y)) + 1j*np.zeros(len(y))\n",
    "    for i in np.arange(len(y)):\n",
    "        y_sort[idx[i]] = y[i]\n",
    "        \n",
    "    return y_sort"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2022-06-01T21:58:17.304307Z",
     "start_time": "2022-06-01T21:58:17.251436Z"
    }
   },
   "outputs": [],
   "source": [
    "############################\n",
    "### Set output frequency ###\n",
    "############################\n",
    "# DAC tile and block.\n",
    "tile = soc.dacs['13']['tile']\n",
    "block = soc.dacs['13']['block']\n",
    "\n",
    "# Frequency and gain.\n",
    "fout = 500.05\n",
    "g = 0.75\n",
    "soc.mixer.set_freq(tile=tile, dac=block, f=fout)\n",
    "soc.iq.set_iq(i=g,q=0)\n",
    "\n",
    "#####################2022-06-01 14:36:00 \n",
    "### Upload window ###\n",
    "#####################\n",
    "soc.fft.window(wtype=\"hanning\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2022-06-01T21:58:24.674795Z",
     "start_time": "2022-06-01T21:58:17.622697Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f5cf4b358>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "############################\n",
    "### Get Time-Domain Data ###\n",
    "############################\n",
    "# Sampling frequency and decimation at ADC.\n",
    "fs_adc = soc.adcs['00']['fs']\n",
    "D_adc = 8\n",
    "fs_in = fs_adc/D_adc\n",
    "\n",
    "# Configure DDS + CIC.\n",
    "D = 128\n",
    "soc.ddscic.outsel(data=\"input\", cic=\"yes\")\n",
    "soc.ddscic.decimation(D)\n",
    "soc.ddscic.ddsfreq(f=1e6)\n",
    "soc.ddscic.set_qprod(13)\n",
    "#soc.ddscic.set_qcic(18)\n",
    "\n",
    "# Sampling frequency after CIC.\n",
    "fs = fs_in/D\n",
    "ts = 1/fs\n",
    "\n",
    "# Get data.\n",
    "[xi,xq,tuser] = soc.buffer_time.getdata(3)\n",
    "x = xi +1j*xq\n",
    "n = np.arange(len(x))\n",
    "\n",
    "# Time-domain data.\n",
    "#plt.figure(1,dpi=150)\n",
    "#plt.plot(n*ts/1000,xi)\n",
    "#plt.xlabel('t [ms]');\n",
    "#plt.xlim(0,0.01)\n",
    "\n",
    "# Spectrum.\n",
    "w = np.hanning(len(x))\n",
    "xw = x*w\n",
    "Y = np.abs(fftshift(fft(xw)))\n",
    "F = np.linspace(-fs/2,fs/2,len(Y))\n",
    "plt.figure(2,dpi=150)\n",
    "plt.plot(F*1000,20*np.log10(Y/np.max(Y)))\n",
    "plt.xlabel('F [kHz]');"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "13"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "soc.ddscic.get_qprod()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "20"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "soc.ddscic.get_qcic()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2022-06-01T19:38:23.774537Z",
     "start_time": "2022-06-01T19:38:06.859448Z"
    },
    "scrolled": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(-256.0, 256.0)"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAyIAAAIlCAYAAAApP0xSAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAXEQAAFxEByibzPwAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4xLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvAOZPmwAAIABJREFUeJzs3XV8XFX6x/HvSdKkTd3d3Sl1o9CiBZYipdgCZQs/WFwWX2BxdrFFi24Xh8WhSI0CdaXurqlb2kbv749I08lMRu+9I5/369XXtDN37pw0M3fOc85znmMsyxIAAAAAOCnJ7QYAAAAASDwEIgAAAAAcRyACAAAAwHEEIgAAAAAcRyACAAAAwHEEIgAAAAAcRyACAAAAwHEEIgAAAAAcRyACAAAAwHEEIgAAAAAcRyACAAAAwHEEIgAAAAAcRyACAAAAwHEEIgAAAAAcRyACAAAAwHEEIgAAAAAcl+J2A+KVMWa7pHRJm9xuCwAAABAhjSUdtiyrXrgnMpZlRaA98GSMOZCWlla5ZcuWbjcFAAAAiIg1a9YoKyvroGVZVcI9FzMi9tnUsmXLDkuWLHG7HQAAAEBEdOzYUUuXLo1Ixg9rRAAAAAA4jkAEAAAAgOMIRAAAAAA4jkAEAAAAgOMIRAAAAAA4jkAEAAAAgOMIRAAAAAA4jkAEAAAAgOMIRAAAAAA4jkAEAAAAgOMIRAAAAAA4LmEDEWNMeWPMP4wxK40xR40xW40x7xpjGrndNgAAACDeJWQgYowpL2mipIckVZL0jaRNkkZKmmeMaeli8wAAAIC4l5CBiKT7JfWTNF1SG8uyRliW1VvSnZJqS3rXzcYBAAAA8S7hAhFjTDlJNxf+80bLsg4VPWZZ1vOSFko6yRjT3Y32AQAAAIkg4QIRSQMkVZO0xrKs+V4e/7zw9lznmgQAAAAklkQMRLoW3s7z8fg8j+MAAAAARFgiBiJNCm83+3h8s8dxABA3flq8XUP//bue/XmF200BACS4FLcb4IJKhbeHfTye6XFcmYwxS3w8ROUtIAhb9x3RDR/M1dGcfL16eTe1qlPZ7SbFpes/mCtJWrrtgM7uUl/t61dxuUUAgESViDMipvDW8vO4635duVM3fjhPE5ZmuN0U2yzbdkAvjF+pNTsP+T8YUSU7N1/fL9yqlRkHI3K+R75dogWb92tFxkHd+skfETknyrZoy/6QnpeXb2nM1HV69ZfVOpqTF+FWAQASRSLOiBT1mir6eDy98DagnrFlWR293V84U9IhuKYdk5OXr6venSVJGrtom5b84wylpybLmKiJk8KWm5evEW9M14Gjufp09iZNv29wXP188e7hbxfr41mblJqcpN/uPkX1qpYP63zjSgTcS7YeCLd5sNEX8zbrke+WSpIOHM3RfWe1d7lFAOyQnZuvRVv2q339ykpPTcQuI+yWiDMiGwtvfe2g3sjjOFfsP5Jz3L87PvyzBjzzizbt8ZVR5q7JK3bo5YmrtDczO+DnrMw4pANHcyVJ2w8c1YEjuXY1L2R7M7N1JJsRX28+nrVJkpSdl683f1vrcmuiz7b9R3Tde3N0x6d/6MDRHP9PiCH3f7mo+O9v/MrvHohX138wVxe+Pk0XvzFdluUrkSR0czfs0WdzNikrl+/ZRJWIgciCwtsTfTxedP9CB9oSlC37jugf3/lakuKeDbszdfV/Zuu58Sv1t88X+H9CjPh6/hZ1f3y8Bj83WTsOHnW7Oa7764dz1fy+sXpl0qpSjx1J4PSccUu265Fvl2j9rszj7r/3i0UatzRDX87folcnrXapdZCk7fuP6uLR03XeK1NK/Z4AeJeVm6dJy3dIkhZvOaDl2yOThltk9Y5Dumj0dN39+UI9/v2yiJ4bsSMRA5GpkvZLammM6ebl8YsKb793rkml+Rp4mLJ6l7MNCcA7U9YV/33Csh1ej8nLt/TulHV6ccJKHc6OvpkPb2779A/lW9K2/Uf14oTSne9Yt2DTPs1YuzugYxdt3q8fFm2XZUnPjltpc8tix5Z9R3Td+3M1Ztp6jRwz+7jHfl25s/jvJT8jTli8Zb9u+GCu3v59bZmjmP/8aYVemrgq7kcjH/t+qWat36MFm/frzv9F/2DJkew8jf51jT6dvVFXvjtLbR/8UR/PcnWSPqbk5OXro5kb9dPibbaM4kvSD4u26fnxK4PKAog1nv91kV4P9sL4lcWv8f6MDX6P/2nxNl373hxNWh6/62Z9Wb3joK57b46eG7dCefn2vKfdknCBiGVZ2ZJeKfznK8aY4rUixpg7JHWRNMWyrNneno/QfDV/ix79fqlenLBK/4qCsqGWZenGj+ap88M/64MZG3TwaI7mrN+jnLx8r8evitCC7GgxZdUunffqVF3y5gz9b84mv8dv2XfEgVbFnh8XbSv++7oIjrRv2nNYczfsCbkTdembM/Tj4u16fOwy/bFpn8/jdh3K0vPjV+r96Ru0/3COxi7cpt2HskJtdtQaW+L3NHfDXknS7PV79NPibcr38qX+j++WqPPDP+vliYEPQCzYtE9Ltvpe/P/BjA269ZP5Wr69YP2TZVlauvWAdnn5/35+/Ao9/eNy3fPFIv22cqeycvN1X4l0uK37jmjz3sDTdLNz87XzYMHrTFm1Sy9OWBnyLO/h7Fz9snxHqfThaPLaL2t0/1eLdP0H844bEPDlUFau/v71Yt3z+cJSgcXs9Xs0bsn24z6Li7fs118/nKeXJq7S3V9EXfJE2O75fKE6PPSTRv+6JuxzfTlvs274YK5mehn0ysr1/n3rTWZWrq7/YJ7GL83QNWPmKDuI5/qy61BWyMFVdm6+7vl8oS54bWqZ19hIGTlmtsYtzdDLk1ZrwrL4CsQSLhAp9LikmZL6SVpljPnUGDND0nOSdksa6UQjihZrt7r/h4BHu7Jy8/Xe9PVhjwjM27hXg5+drMvemuHIF8rD3ywu/vt/pq63/fX8mb52t8Yu3KaDWbl68OvFGvbqVF00erpu+Xi+200L2Iy1uwOe0fB088fH9vP82+fx90UaqIwDRzXkucnq9ug4zV6/p8xj8/MtPfb9Ul30+jTN8XFsJFL41u/K1Gkv/KoLX5+uNzzW3qzecUhP/bisuDPty8GsY7OOJb+0dhzw3r7Hxy7T5e/M0I0fzdNwm3LBo8ncDXs0fPR0Xf/BPL3u0dnauu+I/jN1vQ5m5eq58SsD6vB8v3Crznt1qs55eYp+X1W647tk6349+PViffPHVl3xdkERktcmr9HQl37Xqc//WhwkFHnrd+8zaDsOHtUZL/ymfk9P0oBnfgmok52bl68LXp+qnk9M0D2fL9QV78zUixNW6bYQK9Nd9e4sjRwzW8NHT7PtfbLvcLYe/W6pbv54vlbvCH4Q6IUJx2Zt7w7g+vbKpNV6f8YGfTpnk7o9Nl7Zufmau2GvJizN0PDR03Xd+3OPm9Us2UEfb2NVy237j2j+xr1B/z9blqUHvlqkk//1y3GDJYFYsf2gPp2zSYez80plAlgquGY+MXapvp6/RfsOZ3sNpItkHDiqOz5boB8Xb9eIN2d4a2nA7fIcDDsY5rq792dsUI/HJ+i0F34NqQ/09R9b9OmcTZq3cZ8ue8vbzxZZm/Yc+/m/+WOLba/zx6Z9en78SkfXIydkIGJZ1lFJp0h6TAX7iQyT1EzSfyV1syzLkYTu7xdu08x1e5Sbbx032iVJlo8PqGVJD32zRNeMmaN5G8vujHhzNCdPY6au0wWvTdPaXZmatmZ3REY9Im3m2t16b/p629K41uzM9PrvHxdvj+jrTFtdOProowPoae3OQxrxxnRd//7cMi+OYxdu0yVvztAlb84I+osmNy9few+HdxF/fpz9s1oHjubo4NEc/bhoW5lfduF4+sflWrMzU3sP5+iKt2eWeezklTv0zpR1mrNhry4aPV2jf12jHR4dyEH/nKylYVb8uuOzP3Q0J7+4fSVd/vYMvfHrWl34+rSgiyjk51u64PVpPh9fvKWg3Wt3Zpb6fBT5fuFWnf/aVOW6nBqwYNM+TVvjO0116dYDOu+VKfq/9+foUFbpa8iFr08v/rvnDK1nUJCb7zsQ+XDmBl34+jTd9FHBAIZlSTd8UBDk/2fqOg361y96ZdIq/VTiulL0Xi563X2Hc/T65MCuwfd/uVgrSszOFlVWLMvPSzKKf7eflpj9nLYm+EGMzKxczV5f8L2zMuOQVu2IfNn1z+Zs0gmPjte7U9fpuwVbdfV/wktOKHqr5udbxZ+ZvHxLy7YdKB4N9/wO7PDQT7rw9Wka9d6c4vseH+vsGoZt+4/otOd/0/mvTdOrvxR0STbtOaxPZm3UHj/pYDPX7dGHMzdq/e7DuuHDY4NOefmW3v59rR75dkmp93mRLfvK7oDe/PF8vfX7Ot326R864dHx6vH4BP2ywntK9vyN9s8UlLR8+wEt23bs+vvbyp0a9d/Z+np+6Y77378uGBzdtOeI3vk9+IIb45YcC0APR6CgzcRlGfpy3mZX064OZ+fq4tHT9dLEVaVSje2UsLXYLMs6Iumhwj+O2bLviHYfylKXRtW0qqyRngDei499v1Rf/bV/UK9//1eL9OW84z+Uk5bt0D1ntgvqPCV5Dtb8e8Iq9W1ZU72a1wjqPA99u1hpKUka0bOJLnlrhixLWrh5v54d3jXktoUiL9+KSHC2KuOgLivs3E5bs1uf/V9fSQWjVeOWZijJGJ3avs5xJYtv+mi+lhZeSJvWTNd9Q72XRb3xo2NfLjd8OE/rnz47oDZNXrGjuKMUjpccWHx9dWEna97GfWpaM12/3HmykpIiW97591XHOrO+0gTmbtij6Wt2lyop7BkkSAWL9u/5YqG+u3lAyG2a5+XLe/Sva/T7qp3KOHCs8zB/4171a1XL7/ly8yw989Ny/bhomzbvDSzFLr/EhzqnsCra6h2H9JWXL/RIyDhwVHd/vlD5lqV/XdS1zFLQ09fs1mVvF1wfnr6gszo1rKrZ6/fo/G4NVS09VUdz8jT0pd8lSQs271f7EDoZJfV+cqKuG9hCNw9pfdz9ezOz9cBXi0sdfygrV1m5efpHYXnjZ8et1KW9mpT5GkUzaXsys1Uu2fd7PJSUjG37I5dWmedxsY9Eesxx58+3Ss1geHvPTl+zW+/PWK8bBrVS50ZV/Z43P9/SJW/N0Kx1e/S3M9pqxfaD+nbBVnVqWEXf3VT6s+p2oC0VfI8WBdHPjlupq/o10wWvT9POg1n6aNZGfeul3UUW+9gfaPzS7cUB1cY9h/Xu1T0lFcwupKemKDnJ6A8/wcOsdaVng0f+Z3bA30GR4vkb+mXFDl1T2Hl+56oeOqVtHV1Z+B0yYdkODWpTW9Urpno917rd7lYj/WXFDv3lvwVB746DWbp+UGD7Ye/NzNY7U9apea2KuuDEhqW2P/hi7ma9+dta/emEBrrxlFZlnuvjWRv15Nhlyi5MT1/tZZBh6dYDuuo/s1QuyfhMYw9FwgYiTth/JEfb9h/RUz8slzHSyP7NdembM3QkJ08Pnu29g7l572EdKjHqVBZ/s7X3fblQX8zbor+e3FK3ndpGkkoFIZLv2Zdjr2Npyupdql05Te3q+d+F+YUJK/XiRGnug6epho8Pvjff/LFVkvTZnM3F930+d/NxgUhWbp7em7ZBFVKTdWmvJkouo2OamZWrfMtS5fLlJBVM9+flW6pZKa3MdvywaFvY61iyc/N12gu/Ff+75MX7i3lbdFeJBbNT7jlFjaoXbF+ztMRozv/mbvYZiIQq3NFFXyYsy9BT6hzRc5bskG/YfVi/rtqpU9rWCfl8h7JyNW31LvVqXkPV0gvel/5mWvYfztElb85QTl7gHRNvF/BwLNt2wGvQE6iv5m8pNXMTjM/nbrZ9Xdc/vltSnGb00DeL9eaVPXwee9un84uvffd+uUhpKUnKys3XxGU79N41vXShx6zP2IXBzRh6Oni0IEXryn7NVLVCueL7N5WxRuNo9vFf0vMDmL2etDxD//f+XFVMc+5redR/Z6tfy1qqVTlNQzvVU0qy9ySJ1TsO6Z0p69S5YelO/8RlGfrv9A06t0t9De/RuMzXm7Zml9JTU3RC42peHw9kBnzz3sO6tDAV5odF2zXhjpPUqk7lMp/zy4odxdfgku/lxVsOeA38o4HnjEXnR8YV/33h5v3Kz7eOG5g5cDRHb/+2VrWrlD9uIKGkkjNvRdWwXpq4Ss+PL0hlW/vkUFsHmU765y+6dmBz/blvM0n++zBSwTU4Kcn3TtOWZSnfkv4yZnbx+a4ZM0ernzjruONW7zyknhWDGxwtadehLK3dmanuTauX2e8IxZ2fHesPPP3jcr+ByA+LtmvD7kw99cNy/bSkYLZ16ppdqpSWov8b1FINq1UoOG9hP+NfP6/Q+d0aqkHh/Z6Wbz9QKivHmxs/mlf8vtx7IHJZCgQiNtpxIEt9n5pU/O+ijrZUMM174ynHv9mWbTugYa9ODWoBly8bdmcW7/Pw4oRVuvGUVnorxJHB0b+u1TM/LVdKktF3Nw9Q+/r+gxHLKkjjuLLwguNto8JQcjzf+HVt8UUzNSVJF/v44lu+/YBGvDFD2bn5GjOyp9JTU3TJm9OVk29pTOEokC83e1knYnxeBr079flffT52l0fVnke+Xaq3r+pRaoRhT2a2Mg4cVZ3KaX43ejySnacbPpyr1TsO6ZkLu6h/ACPlkbTzYJYmLc9QemqKcvLyNaBVrYhvTjnyP7P1699OVtOavvYiLduV78zUvI371KpOJY2//aSAdhX/duHWoIIQX3LzLe3JzA4qMC9y7stT/B6Tn29px8Es1amcVmrWKJwgRJKe+Sn0IChQPyw6lro0zk/O/e5Dx6elFF0vp6zepd9X7yo1c7UhQrnO+w/nHBeIBCOQsqfXjCkYEd0XZNrkZ7M36ePZG3Vpzya6uGfZgYCnCct2FFc6XDKohc+NKf/8zkxt239UH3t5rGgk97eVOzW4XR2fAz2fzt6oe74o6Ox8OKp3UNcoy7KKryeeawwf/X6Z3rumV5nPLyvfPZhF/0U802dKts/T7PV79OKElerZrIZuHdJaOw9l6beVuzSoTW3Vrux7UMzfVcfz5Z74fllx6l33ptX9/gySCta7lVhv9sDXZXdGw10StHHPYf39myW6rHdTn535jbsP6+4vFqhSWoqGdWuoOz9boLSUJD11QZdSbbEsS9e+N9f2xduHs3N15ou/adehbF3Wu4mePD+yg25ZfhbMZ3pJLx3xxgxtL5HyXTTIvGDTPr19Vc9SWz1s2H3YZyDy46LAUtJLFmSJ5P5qCblGJFo9+PXikIKQ/83ZpE4P/6xrxswuvkBmeESrPyzapn/+5H1U09/Fpagjkptv6aLXp5X6UPia+vc1PVzk3gAicE9FQYhU9iLEOz9boP1HcnQkJ0/XjJmtWz+dr8zsPGXn5uuyt2cW54faYc3OQ9oYROen6CK6cHPp/6/eT07Ug4Vtzcu3NGl5htcR9w9nbtDkFTu1ee8RXe5lrcOR7Dy/+yfMWb9HfZ+aqGGvTg2pJOU1Y+bokjdn6M/vzNIXXmbeyjLZR46xp0H/mlzm43n5lteFnZlZucUjn6t3HNKKjIN6zuEyxBe97ntxb25evpZvP+C1jK6vNJGSizdv/Gie+jw1UTd/4l6xBcuylJ9v6bsFW9XziQm64YO5XitS2cnb+zZS6UMHs3KUmZWr/Ydz9Nj3S/VyGSPHnilMdrr7i4Wav3Gf7v5iYVhr6sramHLbfu9r3Dxn6tbszNTMtbv1w6KCamQ/Ld6ujg/9pGGvTi0OQiTpL/+drbU7j7+OHc3J81m0pWTH37PK0W8rd+rtwkG2ozl5pRby7jqUdVyg6+nWIBbtH83J06ezN5ZaS7h02wF9PnezOj/ys0b9d/Zx7R0+erqmrt6tFyes0twNe3XJGzN01/8W6JI3C4pCbN13RAs37yt1bSiasQhUyfU//opZFJnjcVzR4KXdimZsvH1K7vjsD81Yu0cTlu3QTR/NV1Zuvg4czdW9HtXJ8vItzd+0L6QgxLOoyHcLtuq69+bo2vfmaO6G0qlnX8zdrF2FAyAfzXS+jHbRGqGStvtYd7pg8349+v1SfR/mTLBU0Ld75Nsl+nS2/3VJ4WBGxEWTlh9f8WRLgPnbnoqqHk1avkN/+3yBnr/4hFKj62V9yazeeUhnvPCb0solafQV3X1GzZKUmZ2n81+bqp9uPUnrd2dq+trdPvcO+WzOZl0/qKVa1K5U6rFTnp0c0XKnnkqOimZm52mtj8W3oRi7cJv+PXGlTmlbx2vq1OGs0EYK1uz0ntLz4cyNuvesdnpl0mq98dtapaaUHj+Y7rHwtN3ff9TRnHxd3a+ZHji7vc59ZYrflKHL3pqp7Lx8bdt/VC9NWqWHz+1Y8PNk5wZdDequ/y1QtQrldGqHuhq3ZLt2HsrS8O6NvbZdikzK2Fu/rdUTPyzTwNa19Oh5nVQpLUX7j2Rr8oqdOtkjpSs3z/I7U/DUj8siumv42l2ZWr79oNcZxRs/mqefl2SoZ7PARjKlgs/98B6NtePg0eKO0diF2/TYec7vazDkucmlFrj/uHi7xi/L0Bkd65U63rIsrcg4qE17jnj9Qv1lxQ69MH6l+reqFdb6tWD8/evF+t/cTerToqbXx89+aYqqViinpjXTvQ4alHSPn5KuuR7X50jNHs7fuE8VUpN1YpPA30fh8NzXavb6PcWpT387o23x3z3Lmx7Nydfg537VrUNa6/bT2mjcku36vw/m+hwU+2LeZg3r1lBpKcn60EtH8PGxyzRqYAvd/flCfbtga6nHZ/mpiBeoFyas9HpNuPOzBcWzXhOW7dD4pRk6s1Pp9/1Fo48VSVizM1OvTFqt5woH1+47q53+rzAlZ9ySwEaoN+zOVJXy5XyufXCbv7e1t4XZnsFRkYMeA6ATl2eoWgXfP7evoYC3f1/rtfBA0Uzs+KUZpda72FFZNDMrVyszDnpNd1yx/aDa1juWbvhagMUsinzn5TNQlh98FLy5+aP5xb+PkgMJkUYg4qKS1R1C8cemfRr87OTj7vty3hb966KupUbF9x723TmxLBVXYun39CQteOh0VU33nYKwMuOQfl21U7d+PF8HjpY9Anf2S1M0474hpe6PVBBS1pS4XYoWiq/MOKRzuzZQp8ILyY4DRzV20baQ0m8mLM0oc4bnaE5+cSnXQEZ4i6oujZm2XmOmrfd7/LXvzSlepCYVjDJKBWWer3xnltfKQ/6Mem+OPhzVW9e9P1dSwe7Wd57eVtm5+cq3LJUvlxz0OcvyxA8FXy6/r9qlU56drNSUpOL/K88vnr9+OK/MWavFW/ZHNAgpkuslzetoTp5+LqzAEsjasJLW78os9WUfiU3H5m/cqzZ1C74IA0kV8lVl6/ZP/9BPt56kJjXTj7v/wa8Xe+1QFhlZGJgu3LxfZ3Ss53NNgacDIZb0PPul34sHLyav8F0Sd/+RHL9BiOS/pKvnyH+wHQdfiq77D53TQdcMaK78fCuo1Lq9mdlavztTdaqUL84zD0bJ9ReBrCv698RVOrFp9eJrhC/3fLFI8zbsUyc/C9O9BSGR5Oua4Jl6tzLjoNdAxNNzJWb4n/pxeXEg4u//Q5JemLBKL01cpWrp5TT2loFlHrtx92E1qZkeRLFcX3yfYf/hnDL7Dd4EUn7al32Hc8oMRG71Mju882CW7dXPVu84qO8WbFOdKmm6uEdjlfOy7io/39L5r03VyoxDOrtz/VKPn/HibzqrUz09O7xrxNaMFa2r+v7mAcV9liK+qt/5CgojjUAkxq310qHv9cSEUvf5mlr35h/fLdHzI04o85gfFm7zG4RIBVWE7vzfgpA6soF4+NslOrNTPb0/fYOGdq6vc7s2sOV1fPl15U6N+u8cNa5RQTsOZmmDn+obvtKjSpaJ9CbbT4WKcEf8vHWcsnPzdcFrvsu9BuKmEtW9Xp60WsO7N9ZFo6fp4NFcvX1VD1vXspQVsPkKQvLzLd38yfywFzgHw9fC0kCc7DEQIUUmyL/ni0XKybPUvn7Zi4D9OZydp5P+9YseOqeDkpOMejarofpVy5cZhHj6eObGgAOR/wYQdHvjua7Ebn//Zon/g8Lw6PdLdc2A5hr22tSg1jh1e2x88d9fGNFVKzMOaaDN683uCXAfo0/nbDou/chTNO02/fz4lfp2wVY1rxXcerYhz01Ww+rp/g9UwSJzqaBD/qyfoO+eLxbq4+v6BNUWb0aWMXPd9dGCxfSPD+ukK/o09XuukmnWofBXtckzHW/Jlv1+94oqsnDzPnVpVPY1x1sK15RVu3TFO8cGgfccytZ1g1ro5Ymrte9Itu44ra1qVEzV7PV7tDKjoPM/dtE2VfISbPy4eLs6Nqiimwa3LvVYOM55eYou7dVYi7cc0ANnt/c5A+wkApEo4ivnL1i7w8zl+3L+Fo1flqFhJzTUY8M6eT3mf3M3e73fm0gtJPO2uP296Rv03vQNkgo+uANa1bJlmnrW+j36eNZGtapzfJpZ0ahfIL+7P78z87hyscHo//SkMh8/GEBQGIw1OzPV5sEfwz6P534lD3+7uDgl6vK3Z4ZU8vF/czbp0e+Xqnfzmnrzz92VlGS8rq0IxeSVOxwLQizL0lu/r9XMtZFJGynibY1QKB6M4DqqR79fGvJzP52zSc9c1MX/gfI9M5OoApm98eX2TwuKagS6x0moIvW952tfDLes3nEo6Ap6a8rYw6csG3aX/ZzpIW586ymQwccHv16sMzvVUy0/1SmLAqmSmt07NuC2fPPHVt11etuAj3/ku8CvQZ/N2eQ3EPH8bhu3ZLtu+/T49UbPjV+pdbszixeSr9h+UP+7vp8yA1zL9f3CbREPRKRja4EueXOG42WXvWGxOrw6eDRX78/YYOs6jmD5WmxfUrfHxusNmzZovO/LRRpeIsc3WKEGIfFkjpfUo91Bblb4t88X6uDRXE1YllG8oPPzIALjsizZEpmR8cd9dLyf+nFZcbWRWev26MkflmtikItSE9mR7Lyo2OMhFoS7sWas8bXGLhEEWoLYqRoKRTuN+0qabv1A+INcdvZNPpixUTl5+Vq8Zb9GvDFdz3oUNhmxEeIeAAAgAElEQVT6799LPeemj+Z73diw5JYJs9fv9Zo+6itjJJBqe/GAQARl2rYvcpthhev9GRsCOu6pMPZcgLO27z+qt35fF/LzV2QcVE5evt/UBKe9PcX7zzRtzW51fPgnSYpIVZNEMX5phh74apHaP/ST202JGQ/6KcUabyI1ExivyiphHGnrdx3WvsPZfitnhqtobasd5m/cp/Nfm6qZXjZwXOplfa+/9Okin8zaqCPZgVfy8yz0EI9IzUKZ/v6NfWVukXg8K5+c9e/fSk1xB+NfP6+I6GZ7hyOw0PuIn3MUDej720gUx1zrZw0VSovWjfrgjnu+WOjYNSc7L18nPDre/4Fh8pbeFSmvTV4dkT2kPO3JzNGTP8zzf2ChGz8M/NhYxYwIyhQNOde+9ilB7AsnCLGD3fnwRfZH2c8NIL5NW7PbsdSseFBW9bxwjA4ydXyLzVkpg5+bbOv5A8GMCKLenZ8tCHk3bSAafTV/s9bscD/IB5A4nK4Oh+gXyT3WQkUggqg3bc1uTVsTmaofQDQIpoILAADxitQsAAAAAI4jEAEAAADgOAIRAAAAAI4jEAEAAADgOAIRAAAAAI4jEAEAAADgOAIRAAAAAI4jEAEAAADgOAIRAAAAAI4jEAEAAADgOAIRAAAAAI4jEAEAAADgOAIRAAAAAI4jEAEAAADgOAIRAAAAAI4jEAEAAADgOAIRAAAAAI4jEAEAAADgOAIRAAAAAI4jEAEAAADgOAIRAAAAAI4jEAEAAADgOAIRAAAAAI4jEAEAAADgOAIRAAAAAI4jEAEAAADgOAIRAAAAAI4jEAEAAADgOAIRAAAAAI4jEAEAAADgOAIRAAAAAI4jEAEAAADgOAIRAAAAAI4jEAEAAADgOAIRAAAAAI4jEAEAAADgOAIRAAAAAI4jEAEAAADgOAIRAAAAAI4jEAEAAADgOAIRAAAAAI4jEAEAAADgOAIRAAAAAI4jEAEAAADgOAIRAAAAAI4jEAEAAADgOAIRAAAAAI4jEAEAAADgOAIRAAAAAI4jEAEAAADgOAIRAAAAAI4jEAEAAADgOAIRAAAAAI6L2UDEGNPOGHOPMWaiMWajMSbLGLPdGPOlMWagn+c2Msa8a4zZaow5aoxZaYx51BhT3qn2AwAAAIksZgMRSRMkPS2ph6Tlkr6WtFPS+ZJ+Ncbc5u1JxpiWkuZJGilpt6RvJCVL+rukScaYNPubDgAAACS2WA5Elkq6TFJty7JOtyxrhGVZnSVdL8lIetYY08HL896VVFvSS5ZldbYsa4SktpK+ktRX0v3ONB8AAABIXDEbiBQGHx9blpXtcf8bksapYJZjeMnHjDE9JZ0kaYeku0s8J1fSDZJyJN1sjClnc/MBAACAhBazgYgfCwpvG3jcf07h7XeWZWWVfMCyrAxJv0uqLqm/vc0DAAAAElu8BiItCm+3e9zftfB2no/nzfM4DgAAAIAN4i4QKVyMXjTz8a3Hw00Kbzf7ePpmj+MAAAAA2CDF7QZEkjEmRdIYSWmSPrUsa67HIZUKbw/7OEWmx3GBvOYSHw+1DPQcAAAAQKJxLRAxxnwuqVOQT7vSsqxZZTz+sqQBktZK+qu3ly28tXw1K8j2AAAAAAiBmzMizVRQNjcY6b4eMMY8pILSvRmSzrAsa4+Xww4W3lb0c/5DgTbIsqyOPtqzRJK38sEAAABAwnMtELEsq0ekzmWMuVHSPyTtl3SmZVmrfRy6UVI3SY18PN6oxHEAAAAAbBLzi9WNMZerICXrsKSzLcv6o4zDi8r6nujj8aL7F0aoeQAAAAC8iOlAxBgzVAWL03MknW9Z1lQ/TxlbeHuuMSbN41x1JQ1UwazKlAg3FQAAAEAJMRuIGGP6S/q88J8jLMsa5+85hQvdp0qqI+mZEudKkfSapHKSXrYsKyfyLQYAAABQJJbL934vqYKkdZKGGWOGeTlmimVZb3vcN1LSdEm3GmMGS1oqqacKNkGcKekJ+5oMAAAAQIrtQKRa4W3zwj++HBeIWJa1yhjTTdKjks6UdL6kTZIel/SkZVlHbWgrAAAAgBJiNhCxLCvkPT8sy9qkgpkRAAAAAC6I2TUiAAAAAGIXgQgAAAAAxxGIAAAAAHAcgQgAAAAAxxGIAAAAAHAcgQgAAAAAxxGIAAAAAHAcgQgAAAAAxxGIAAAAAHAcgQgAAAAAxxGIAAAAAHAcgQgAAAAAxxGIAAAAAHAcgQgAAAAAxxGIAAAAAHAcgQgAAAAAxxGIAAAAAHAcgQgAAAAAxxGIAAAAAHAcgQgAAAAAxxGIAAAAAHAcgQgAAAAAxxGIAAAAAHAcgQgAAAAAxxGIAAAAAHAcgQgAAAAAxxGIAAAAAHAcgQgAAAAAxxGIAAAAAHAcgQgAAAAAxxGIAAAAAHAcgQgAAAAAxxGIAAAAAHAcgQgAAAAAxxGIAAAAAHAcgQgAAAAAxxGIAAAAAHAcgQgAAAAAxxGIAAAAAHAcgQgAAAAAxxGIAAAAAHAcgQgAAAAAxxGIAAAAAHAcgQgAAAAAxxGIAAAAAHAcgQgAAAAAxxGIAAAAAHAcgQgAAAAAxxGIAAAAAHAcgQgAAAAAxxGIAAAAAHAcgQgAAAAAxxGIAAAAAHAcgQgAAAAAxxGIAAAAAHAcgQgAAAAAxxGIAAAAAHAcgQgAAAAAxxGIAAAAAHAcgQgAAAAAxxGIAAAAAHAcgQgAAAAAxxGIAAAAAHAcgQgAAAAAxxGIAAAAAHAcgQgAAAAAxxGIAAAAAHBcXAUixpiHjDFW4Z9LyjiukTHmXWPMVmPMUWPMSmPMo8aY8k62FwAAAEhUcROIGGPaSrpfkuXnuJaS5kkaKWm3pG8kJUv6u6RJxpg0m5sKAAAAJLy4CESMMUbSm5L2SfrWz+HvSqot6SXLsjpbljVCUltJX0nqq4JgBgAAAICN4iIQkTRK0kmS7lRBMOKVMaZn4XE7JN1ddL9lWbmSbpCUI+lmY0w5W1sLAAAAJLiYD0SMMfUk/VPSRMuyPvRz+DmFt99ZlpVV8gHLsjIk/S6puqT+EW8oAAAAgGIxH4hIeklSBRXMaPjTtfB2no/H53kcBwAAAMAGKW43IBzGmHMkDZf0sGVZqwJ4SpPC280+Ht/scVwgbVji46GWgZ4DAAAASDQxOyNijKkk6TVJKyU9E+DTKhXeHvbxeKbHcQAAAABs4NqMiDHmc0mdgnzalZZlzSr8+5OSGksa4rneo6yXLbz1VeLX+LjfJ8uyOno9UcFMSYdgzwcAAAAkAjdTs5qpoGxuMNIlyRjTS9KNkt63LGtSEM8/WHhbsazzSzoUZLsAAAAABMG1QMSyrB5hPH2oCtLKOhtjJns81q7w9iFjzPWSPrcs65XC+zZK6iapkY/zNipxHAAAAACbxPRidUknlPFY+8I/f5S4b4Gk8ySd6OM5RfcvDL9pAAAAAHyJycXqlmU9YlmW8fZH0n8LD7u08L7bSjx1bOHtucaYtJLnNMbUlTRQ0n5JU2z/IQAAAIAEFpOBSKgKF7pPlVRHJSptGWNSVFCBq5ykly3LynGnhQAAAEBiiPXUrFCMlDRd0q3GmMGSlkrqKamFpJmSnnCxbQAAAEBCSKgZEUkq3Piwm6QxkmpLOl8F5Xwfl3SKZVlH3WsdAAAAkBjibkbEsqyrJV3t55hNKpgZAQAAAOCChJsRAQAAAOA+AhEAAAAAjiMQAQAAAOA4AhEAAAAAjiMQAQAAAOA4AhEAAAAAjiMQAQAAAOA4AhEAAAAAjiMQAQAAAOA4AhEAAAAAjiMQAQAAAOA4AhEAAAAAjiMQAQAAAOA4AhEAAAAAjiMQAQAAgO2u6tvU7SYgyhCIAAAAwHZX9mvmdhMQZQhEAAAAEFdqVUp1uwkIAIEIAMAWJzSu5nYTACSo9NQUt5uAABCIAEAAGlar4HYTYs4bf+7udhMAJKjLejdxuwkIAIEIAAAAXFOjYkEaVaW0yMxifHxtH1WtUC4i54K9mLcCAACAa769qb/W7zqsnPx8jfzP7LDP17hGBVmWFYGWwW4EIgAAIOG1rF1Ra3Zmut2MhFQ9PVWNWqdr3+HsiJ2zb8uaETsX7ENqFgDAFsbtBiBs95zZzu0mOKZd/SpuNyHhVUtP1dld6kfkXMZwBYoFBCIAAMCr2pXT3G4CEsyZHeu53QQ4iEAEAAAAUYGVHYmFQAQAAACA4whEAAAAYtizw7u63YSowvqQ2EEgAgA2aVGrottNABCgWO66DmlXx+0mhIV0rMRFIIKYccuQ1m43AQjK4+d3Up8WNdxuBgBEjX6U1UUJBCKIGXec1sbtJiCBMdOPRMTbPnxt6lay/TWSkmLnN5WWQtcTx/BuAAAbsbkvEBsqpdmzx/PFPRrr17+dbMu5i1StUM7W80cS6zdQEoEIANikYqo9HZuYQX8DUe7J8ztr2AkN9NG1vZVs46xC05r2rxdrVjPd9tcAIo1ABABs0qVRVbebEHMaVqvgdhNQQrxP6J3SrrZevKSb+rWs5XZTwla5fOzMigBFCEQAOMrOUcdoQwoCAKfSMy/p1diZFwIiiEAEgKMaVCsf0HEpCRSwAHCHiaP8wYu6N3K7CUDQCEQARKXxdwxyuwkAYsyDZ7cP+bmxPoGZlpKsyuUTfF0aYg6BSJQhPxoo0JzNAIGIOa1D3ZCeF2t981EDW7jdhKhzavvQfvdOirX3mdPCCbCjHYFIlOnN5mcAgAj64oa+eu3yE91uBlwSTVmuDar6H2y1qHleyqiBLbT8sTO18JHTSz32ymXdXGhR5BCIRJl7zmxHCT4AQMR0b1pD5ZLd/7r/4oa+6tyQSnKJrEJqsttNiFnlyyWrikdltFPb19U5XRq41KLIcP/KhOPUrVJev9x1stvNQAyqQm6wrVrWtn935EhxYidnIFiNa6RH1eg84hdvs9hBIBKF7Cj52bv5sZSvC7o1jPj5nVK3SprbTYhaF/egdKOdBrer43YTAvbInzq63QQA8IrUK5REIJIgnrygs8aM7KkvbuinPi1qut2ckMVSZxDxJdIjubUqpUb2hCWkJCXpu5sG2Hb+QMVTaVRESKyXpop29PFjSizsq/X0BZ1tPT+BSJzr2KCKbj+1jVrWrqST29ZR96bV3W5SWBhI8Y3v99jQuEYFDWxdS3/u08zW1+ncqGpMpnle1ruJ201AiK47qYXXxbSxomqFxN2ZfOq9g91uQlDqVw1sP6poN/72k9xugl9Nati7bplAJI6d1qGuxt4yULee2trtpgAJyzN2/v3uwXr/L71VMc3+RZuxWAL5mv7NdUnPxhrC7GdM+b9BLXT/0PalFtNGu5Izk9f0b65KaQVr7a7u18ylFkVe18bV/B7D1gHusCMVP9YQiAAAbGGFkCdSITVZT1/YRe9c3dOGFsEusZqGl1KimljNSmn6+faT9MFfeuvv53RwsVWRNahNbbebAPhEmR0AABCyJHP8DELdKmnKOJBV+kBLUZ9f27BahYjPDoQSkCca/ocSFzMiQAy6ok/s5tGH2g9pEYNpRghP6zqUIY52Dwxtr0+u66t6JXL2x4zspT4taqhXs8hs0Fuzoj2FHTo1rGLLeQEEjkAkjsXmRDn8KV8uSY8P66y/ndHW7aY4Kt2BNRVOivKB4ajw7tU9dcvgVvrihr5uNwU+XHtSC/VqfnzA0b5+FX1yXV89dWFkqu0MaW/PeqEXLj7BlvMCCByBCBCjyPtNPEkmtmfDgtW4RrruOL2tujeNzMg6UORfF3VR67qV3W4GkPAIRIAY1alhVbebEBcqp8XOUrlvbxqgHnTK4SCK+gDuuvO0Nm43wVYEIghZvSrxUccbie2Kvk3dbkLAAg0+G9egFCeQiJ7wsvlcempspbVWLh87g0N2m//303TzEHe3YLA7i5hABCG7un8zx1+T0TlEWopLO9va+V6uXzU6ApFYLemKyIjUOijeR4E7p3N9Na15/AZ0LWpHV9EHf2+Lk1qTdpxICERiQOs6lfTWlT2Cfp7dnXa+GuAkOiOA8yJaVIGPsO2Skowu6xXb68hK7u0SKgYtYweBSAy48/Q2Oq1DXbebgTJc078508k2s2SFFJADiB4UiwNQEoFIIorBkYIbT2npdhPKdNPgVqpaoZzbzYh70RyQly+X5EhFKzZHA1AWZgOc8cDQ9m43wRaX93Z2Ro1ABDHhxlNaBXzsf67uaWNLSnv/L71Uw6YNtxBZH1/bx7Zzj7ttkJrWYNNFwA7ROAgRqRLqBA6x6ap+zVx53Solsi/O6Bj5z0XNSmkRP2dZCEQQ9a7q21TpqYGnPZ3Szp7Nr3ypFYEPbcXUZH19Y3+d1aleBFoU+/55YRefj13Ss3HI57VzJ+UmHgtEi9x+6rHSi8NOaGDb6wN2iGgnOYzJvMeHdYpcO6LMskfP5NqAgH04qo96NauhS3s10XknNPR6TNH3pDHS2Z3rO9m8oBGIxDEW9wZuRI/gOrdXF46EDGlXR+3rF3Ruw1nUOeWewTqhcTW9fkV3rXtqaEjrTUycDKs9el5HXdi9kc/Hn/JSnjKa9WlRQy+OOEG3ndpa/zjvWGfK3/sl1BK8yWFWAXvp0m5hPT9aXdO/udtNiDvXDiz7/zSSl6S6MVwu3t9nvXy55KirbOU0u769qqdHd8p0ncrBD2R2blRVn13fV09d0FmpKd678Q+f21GPD+ukT67toxa1o3umnkAEkFStYnAXq4fP7aAFD50ekcXT6anJql4itcuY0KqeWBEtb+OOSmkpurJvszI707EWcBljNKxbQ912apug1hF9f9NAtQ1w5+fRV3Qv/vtbV3Yv40j/Ojawb9YI8eW+s+IzRx7ua16r7M5zNH/dBZMuVdGmDXUrpCbrij5N1btFTZ/HnN25vmvl60siEAFCYIxR1fRySorAhziaL6gITiRjpKrp5dS7hf9d1O8+s63O7FRP39zYX9/dNECD20VfLj3iUySuf3boHODGn4he717dUyN6NI7Jmcy+ZXT+g2Vn96B6xXL67Pq+un9oOxtfxT8CEcQUOu2+OT1TcFUM7UgeqwL5jd4wqKCiXNfG1dS5ER0wRLcGDmy2+e7VPfXwuR1sfx3Yp3mtinrmoi66pFdgadN/6soam1Cc2KS6rjvJ3aqkBCKIS+EsaE5kQztH72J51jx5F82panY17fQOdXVejC7uTfQy3/cNbadKNqWjFKldOU0jY3AkPZ6kJidp2r2DHXu9O05r4/8gHCdaBnYJROJYFPdPbFctnXK6oaicltidpFCxmaWzKpcvp39fEtyierevhxVTk1WhXLLeviq2NuUc2DoyJWqLNK1ZURPvHBRzRScQvAbV7Jv9cvvzjMghEEHITmxaPexzpKcm+z0mlKDdjU3fIrlY3K7W9wlgzQGCUy7Z6M0/29O5rB1CRZVw8f1uj2n3DdGM+4aoZ7Po+wyed0IDpSQZVUpL0aUehTJqV07T2xEoylFS3Srl1bZeYIUY7BKJa6yvikWxppfD70k7RuKjZHBfknRunKWJ2T1zEh+fohgU7eXUfHn36h7qUL+KRg1orh4RCES+vWlABFoV3exOQwjGGxHsMIdybYrHPN7f7j5FfVtGbnFiSVf2a1a8T81fT3Y3jxfhqVqhnKpGaSnRwe3qaNq9g/X73aeonZcA4dQOdYtLlrshWke/7z6jraOv16ZuZEv8dmpYRe3rV9E/L/K9b5NTIt3XdTOVt2alNH1yXZ+IpGFGYoAzWlKwfImeHhJiwuB2dSNaladVnUrq3byGZq7bE7FzhsLOi9aHo3rrvFen2nb+QLWqU8m1/PSbTmml/UdydPtpbfSnV6aEdI5IzHIlhdGjqVze+/9d/RAX3wbSlCrly2n87Sdp6/4j6lCfsrrhMJKuH9RSo39do3O7NtB3C7a63aSoUseGfTqivQMUjgeGtlfrAMtrR6vvbx7odhPiVp8WNQv2jvpuqdtNCZ7DH9y4mBExxlxkjBlnjNlljDlqjNlojPnSGON1uN0YU80Y86IxZoMxJqvw9t/GmGpOt91O0TiKVHLkJZ53yi2pa+O4eluF5K4z2uqxYZ1Uo2Kqa3XL+7WsGXLN9o9G9Q57o8BQVa+Yqo4Nqkb1ovRYce9Z7bTqibP00iUnuN2UxBRHb+FIpCZL0TVjHqrmtSrq42v7uN2MqOPZn4/Sateui+lAxBiTbIz5UNL/JPWTNEfS15I2Szpb0slenlNT0ixJt0rKLTz+oKRbJM0ufBw2uejERvrXRV30zIWdS+UiIzzlYyRf+cnzw1+k+t9reqlK+ZSAN9/75Lo+evfqnl4fC+S7oV+rWmpcIz2IFvoX6qBTsM+Lh45OJJVLTiKo81ClxGyfrf81Ib7n4/XX1apOJb3/l16SpPLlInf9djIt6S8DmuuXu062LT01nqx96mzbgpFzutS358QOiI2ei29PSrpM0g+SmliWdaZlWZdYltVPUj1Jn3p5zguSWkv6UlJby7JGWJbVSdLLklpJet6Zppf2jo9qKvE0vZ2UZDS8R2ON6NkkIiPM3988QGd2tK/kbFF+fjTx9SVTu3KaTm4b2Qo3ZbcjNP1a1dKbf+6u0zuEnuI3qE1tLXzkDI29JbDUgj4taqp8Of+FEcrStVFVvxf7Yd0aFv+9W5PomAkLtpQ1nfTEc1Ibe64bvJV8e+bCzppwxyB1a1IwszKiZ5OAird4c9uprSPZNAQomt7fZ9jYD7JbzAYixpjWku6UtFHScMuyjltkYFnWXsuyVnk8p56kyyXlSPqrZVm5JR7+m6Sdki43xji+NfGzw7tqSHt2RA5Wp4ZVIzqS5GnMyJ7qEkObxEW6uo1dTu9YT5f1jo4ZsUDjfGOMXrnsxDJ3za1VKU0fjeqtWwa30uuXd49MA8OUnBxF35YOiqXPrdvcSjtMFIFcY6pWKKcfAhxYKXJJz4Kdx687qUVoDQOiQMwGIpJGSUqWNNqyrMMBPucsFfzMv1mWlVHyAcuysiR9V3jOsyLZULe0r8fi1nB1alhV3940QI+e19Hvsa5PXBmjlOQk1awYn3uoxMqGhv1a1dIdp7dVvaqRX/yLwPVvVcvtJtiiQpgze4hezWoFV03z6Qu76KFzOyg9lfRLX1z/XoZfsRyIDCm8HW+MaW6Mud8Y84Yx5iljzKk+ntO18Haej8fneRwX067u38zV1x/g0REoayQZ0SvUdAHA7tBxZBDXuGhKowAAFIjlMLpoiLq3pOcklUzmv9cYM0HShZZlHShxf1EuyGYf59zscZxfxpglPh5qWadKZNcX3Dy4lV6etDrg432VG3VKu3qV9fiwTpqwLENZufm6uEdwueqJooZDMxiB9MO8ddYm3jlI+w7n6LlxKzRh2Y6It6ukSG4KifgXTDlm1r5El1oVo2/9HRLT9zcP0Dkvly4rX6tSmnYdynKhRS5z+FoZkzMixpjykoryHl6U9KukLpKqSDpN0jpJp0p60+OpRbsB+UrlyvQ4LixVK5RTw2qh7THgzW2ntinzcW8bUdmtnp/a881qVdSogS104ymtnN0lOob6s89fHN0TcPWrVlB79rCIWSc0Cm7RPN11OKFJzXRdcGJD/weGoX6Y6ZFPnF9WifkY+pJBmTo19L6eLNWG9XW8a0pzLRAxxnxujFke5J9ehU8vmSuyRdK5lmUtsizroGVZEySdJylf0sWFi9qLX7bw1td7Ieh3nWVZHb39kbQmmPOUC+ANn5xkytyTomWdyO66GohalcMfzY+XD2aog/m9I5yydt/Q9gEfyyBx/Du9Yz2d3bm+6lctr9cvPzGi5z67c30/nTXAt+eGd9WaJ4dq/dNn27Jh5+2nlT14589lvZpE/DMDqUeE9mCJdvHSt7Gbm6lZzSS1DfI56ZJkWVamMSZfBYHUB5ZlZZc8yLKsRcaYOZJ6SRokqah61sHCW18rwoo2CjgUZLtCclKb2vpt5U5VKZ8S06XXfImmD2HjGhW0ac8Rt5vhiPO7NdS+w9nak5mt1yaXHQ8/MLS9Hh+7zKGWHY9UGWckJxm9akNnqmnN9OLzPvDV4oifH+5wMjvSGCM7i7rVDrP8ujFGg9vX8fVoWOdOZCMHNNfLk1YrOy/f7abYKhKpxtHQj2paM7J7aHlybUbEsqwelmWZIP9MLnGKDR63ntYX3pa8imwsvG3k4zmNPI6z1WuXn6jnhnfVdzcPCHuPg0jr36qmRnis6Ti/m73T6L40rRlcJRFvvvprf906JHZqrfcLY3Oo5CSjUQNb6O4z20WwRaVFwwUS8CVelxtZfPJiDiHL8SqlpeiLG/qFdY6bBx/7Pj+jY91Sqd9VK4S/RjbeB8vKupL888Iual6rom4Z3Crim/l6iuXF6vMlNZdUw8fjRT25krMbCwpvfQ0PFt2/MLymBaZSWoou7O4rJnLXh6P6SJI+nbOp+L5WLqR+SdKlvY4FRKF2LmpVStNZnevp3xNX+T84RJHsIAxqU1tX92umMdPWR+ycTunetLrmbtgb8fO61QFrW9f5tVeIPCe7FNXSy2nf4RwHXzG+hTuzAfuE+p0c7vX8/G4NtftQljIOHtVtp7ZRpbQUPXNhZ30ye5Mu69VEFaj2GJaLezbWxUFuhhuqmFysXujbwttTPB8wxlTWsaCiZKnen1SwdmSgMaaOx3PSJJ1b+PiPEW9tFOsa5Rt/JWKNdGOMHvmT/71LYL+3bNokskOD6CwAEOeDgI745c6T3W5CVPBcLF41PbRR6rQoyxhA5AV72UlJNrp5SGs9PqyzahUGqiN6NtFXf+2v4VTojCmxHIh8ooL0qzOMMVcV3WmMSZH0b0nVJS2WNLXoMcuytkn6WFKqpNcKjy3yT0m1JX1kWdZ221tvAzv6Dy1rH0uLOrdLAxteIXwkKsSPsqbCQ93Q8MITw5t1bGJTfmy/ljXDbhuc568SYuW0FFWP001Fg5WemqLRV5yoU9vX1dtX9lBaiu+AwtGqiiwTVuIAACAASURBVDEiXjenjRV3hFnsIFrYkU1QuXzkBohjNhAp3An9UhWU3B1jjJlrjPlCBQvTR0raLekyq/RqodtUUNHqQknLjTGfGGMWSbql8P7bnfoZIs2OfMZ3r+6pq/s102uXn2hbhwyRwUC2d4+eF50zS8YYPRdC6WYn1j68MCK6S0q76T8je7rdhJhyZqf6evuqHjq1Q90yj/v7Oe2VmhLZLokT6Zx/GdDctnNf0qux+reqqVqVUvX2lT0CHoxhVjMy/L1nE1lKBKtMxGwgIkmWZc2Q1E3Sh5IaqiC1KkXSW5JOtCxrkZfn7JLUU9LLKpgZOV9SVUmvSOpV+DgKNa1ZUY/8qaOGdq7v9fF4WRAaiQu32/8X/n6GFrXDW/Tv9s8XirZ1K6tiWuKl9oXr/G6Rmalxc7GnXZ3QCqQJ2aJVncoad9tJ6tXc17JP/9IiHMgE4sGz22vW/UP0+92naEg77xW2Qn0nlk9J1oej+mjOg6fFRKe4SolR8v6tIlOWvq6fvcrslERA54iYDkQkybKsVZZlXWFZVj3LslIty2psWdZ1lmX5rHxlWdZey7JusSyriWVZaYW3N1uWtceG9kX6lEDAXhjRVcYULJ59YGgHt5sTlYL9rol0B7dWlC7ETU2OzNfD6CuiZB8GOhVRr1mtimHtMfHGn7tHsDUFyiWV/TkwxqhOlfJqXCM9qOpC5SL0+QqVHfuj/GdkL1Upn6KG1Sro0fOC21/I11U13OpXfOyjH0OFsI0dFwCmnINzfrdG6t28ptJTk1UtnXzjaDRmZE899M1izdu4z+2mSAp9LY4vZ3byPpuK43nudXRFnyZKNkb/nV66Qn1KklFuPoNcnk5u62vPj9AlJRm98efuevO3tWFXAxzSro4mLt+hKuVTdJbLn4sqEShv66l70+pa8PDpkvzPhkb6OoPgRcs4eczPiADeuPH5ipLPdCkNqlUgCIlinRpW1Zd/7R/w8QTj8alFrePLoz8+rLP+4WNUOYmcEUed0bGePrq2d9jnefmybnrp0m4ae8vAqC8ve9fpbdSqTiXddXpwC7aNMXG//wYii0AkBkRrBxfxoUaJyixn+VgLhPjUvn50lhAOlBvdHfpYKBD8N3N6aor+1LWB7RvEheqjUb11avs6+udFXXTT4NaacMcg3TQ4djYCTmSR2MDRLaRmAQnug7/01vPjV6pTwyoa2KqW282B3Fl0G6xY64/HSypIwc8Rv8NTsfyTxXqQ2q9VLfXjOyAmDWhVS+3qVdby7Qc1PEo3yvaFQARhicSFt0Wtipq1LuJ1AhwXqcW9TuvQoIrevir4TfvCzS+Nhe9st36n9aq6VykmFsR6hw/xwPk3Yc1KqVKG4y+bEP7cp6nen1F6PVZZoukylJRk9NVf+2vDnky1qVM5vJM5vHgkNntOiCu3n9ZGtSoVpAc9fUFnl1sTumcu7OJ2E2JK7xY1jiv3iGPc/IIr6uT/I0r3X4l2DauXveFhuJzYGwPR6eFzO6pc4f4N9w9t53JrguervHE0uPP0NmoSpSlzgaqQmqx29arE3BoyAhGXRNXbxOXhxbpVymvSXSdr2r2DdUmvJq62JRwDWvue0u7VLPTa+LGmc8OqAR2XlpKsz2/oZ3NrEKrh3RvpwbPb65bBrdxuik/R1iVPTU7SPy+yf0Aiqr4/UMzu9L+29Srrx1sH6uNr++jagS1sfS07lI/iBfrV0lP1WoRLGtdxcQ+UWEIggqhQpXw5NagW2khitJSgK8v5JzaM2LmiNS0lNTlJzWqm6+YgOq5t6oY5hQzbpCQnadTAFrrj9LZuNyUm/HzbSZpwxyB1aVTN7aYUK18uSe9eHXzaZbyoWTE69+gJR6s6ldW3Zc2oqUzFDJ1vZ3Wqp3b1Cr7jbjol+gZ0Gtewd/Y2UORFAA5we/MqJyx85HSlJBmlxNHPypdseKKjq+SMtvWiL6he/MgZx30enxveVXd9vqDMwZt42oS3SyPfs7N9W0Rm5287RUmsgRCVS07SNzf1197MnJDX/dn1cWxSI11X9m3m/UGH33jx02NIEIPKSP9xQ5lfaM41A3K/KlD5cslxFYQkKm+f6dFXnBgTlbzKEu2dugbVIp/G4fl5vLB7I02/d4iuOyn20npCYYzRs8O7Hnff0M719MyFnaO2hC7iS1pK8nFBSDTE+bPuH6KfbztJldKiYy4itr9ZEtC1J7VQv5Y1o2ZKDYGJ8j4QYojdX2SNvCy2PrNTfa14/Cx7X1jSQ+d0sP01wmVXSsytQ9oU7wXwwND2tryGVFCRrXKUdECc4Dk28trl3TWip7NrEaOh8wn/EuX3VKdK+ajaUDNxrkZxonL5cvro2j6SpGb3jg3pHLE+shmI7k2ru92EuBftI8wIXo2Kqa5VXJl818lqVqti5E4YY52KelXLa8Idg7Q7M0vt6sX2RpPRxO2Z4mgV651uJ36rTq3DOaNjXf28pKAuc4taFbV2V2ZEz39Fn6Z69Zc1kqST29aO6LkjIf57pAkk0I/MGR3r2doOOwV68TytfV1d0K2hmteqqHdC2CMDSASe6wFaRDIQCFIwQYiv60BR3n9KktF5J0SuQIRTaldOIwgB/LiiT5O4SgN+9LxOGti6lga0qmVL2fT6VSvoo1G99bcz2ur5i0+I+PnDxYxIAipfzpkpOTfHoZKSjJ4fEX0fOCCaxfos10uXdtNnczapT4saqpZezu3mAHHPjRmnx87r5Phr2qlulfJ6/y+9JUmrdxy05TX6taqlfq2ia41xkfgJKYEYNOyEBm43AbDdq5edqEbVK+ii7o1sfZ3aldN04ymt1L1p4uzbAySS1JSkoFKmYjwDLSEwIwLIvtmb0zvU9Xr/Bd0aqnOjqhreo7FNrxwZtStHTx1+20brY30aIAac3aW+zu5SX5L0+dzNETsvv7n4069lTb0+eY3bzSgl2eM6UZ0Zt7BQGh1FmBEBbPT4+d6nkHu3qKGR/ZtHTfk8X84p7Dx6E+uLHREeNzdUczN2JPix14BWtTRqQHO3m1FKSnKSrurbVJJ0Zsd6alG7ksstii98rhJXdPeCgBjWsnZF1alcUD88KUZDfirOIBDJSUZ5+dEdmbpUDCziLCu+J/GMMXrwnA56e8o6t5tSyiN/6qg7z2irSql0nYBIidHuUWIJZOT51PbeU4AQHU7vcHylMjr4wYuWGZg7T29b/PcLToy9ykx2+HBUb6+ze9HUYR7a2ffsXrjK2sEb8cMYoyrly7lW4jqeRcnlHS4grEfMc+IC1qVRtbCeX9GBFKx6VSO/niOaOpKhaFYrvN2TvQWMPZpW18uXdtP6XZm6qn+zsM4fL/q0qKk/HjpNy7cf1DkvT3G7OV7ZmQb56mUn2nZuIB4xGIcizIgAATihcTVdO7C52tWrrNFXdHe7OcVuGdJaknRik2o6uU0dl1sTvnC/mjyrkD0wNPI7dRtjdG7XBrp5SGtVKc+C1SIpyUlKTtCR4sY1wgt4Y0GsD0rEouQYyOll0TnCxYwIEKAHzg6uU+vE5fmO09romv7NVCkthXQBSRd2b6TbTm2jvYez1bRmRdWomOp2kwAgYKd3qKtxSzOUmpKkS3pGd1VFIBIIRIAYVy2dznZJzWpVVDO5t0M44pvbMwNuvz588/W7CWbW4PkRJ+i7BVvVtVE1VQ9xIMXNinZAsKJ/3g8AAvT/7d15mBxluffx3z37npkkk0kyk8kkk32ZZLJP9oTImgABIoYlhE1AwGDUY+QgAnrcjoIs4oaA+1EQVEDcUEQWQY0iwotAQBEFZFMIS0LI8/5RNaHpdM/W3bV0fz/X1VdNV9VTdc/0M91197NUIfQ7zmZLW9wvWMLqFHLp+s49P3963YyQokA+qikv0fp5rZoysi6n54lTl6plExr3/BzFqZ2RGVpEciw+/+rA3qIyU5XEN8G54KL0AsfI6o4Rqi4v1hu7pVWT4z82C4iyTxw+Xef/8AHVVJTotOXtYYezR9y/yIkKEhFk1djGaj36zMuSpEM7mdoUQP4xM62clJ9Tpu87dbjOu+EBSVJLQ2XI0WRu1ZQmlZcUaceu3ZoxKrPZDxGOEYMq9YVjozNJTJCi2nKVzRSMRARZdeVxc/XF27Zp5qh6TWtmbn0g6o7rGq2v3vU3SdLZB04OORqEbWR9pb5wzGzdue1ZbVzYlna/Cw6ZGlxQGagpL9F3TunS7Q8/oyNmM/g7TLQf9EX4f6XO1mATdhKRPBKFVsK2odX6+GEdYYcRCRF4OYBebTlgslqHVKt1cJU6WxsyOhY9vYKR67FQ+08brv2nDe9xnw1dbTmNIZtmjqrXTFpDEAELxg7Wbx59XpJUXVYccjRvumLDHH385v+nuW2DtTxhTE4QSESAmIlKghPVJmP0T2VZsU4cwADQvtTDVBfME5tq9ZenX+r3+VKdOyr/C0FyLhpfOiFeNr9tgi782UNhh1HwPrZ2uo780m/06s43dNXxc8MOZ49VU5q0ako43U2ZNQuxwsUvsq28hLfBIH3+mFnaZxIDvIEgnbly3IDLfjFhfMYlCTPG5Zsgri/GNtbozi0r9fsPrdLctsE5P18c8AmcJ8L6hiwKXTFqymnYKwS5qmtHz2/dk4wc1DEiNyfBHmMba/SVjXN11qrxYYcyIIUwRTTyTyYzPO03dbi+e0qXvn3yAh08Y+SAjxPG5UIm/625+k8vLS5SeUl0umWFjSs4xN4ZK8fpe1uf0M5du3XCIuYYR//UV5XpxjMX675//EcHTBuhm/70ZNghoRcR+P4DKCjzxvDtPXKDRASx11xfqR+9e7Eee/YVrRxglw/6XBe28U21Gt9UG3YYe3ChDQAoBCQiiJV03SLGDavVuGHRuZDMF1Eak0OyCABAfmGMSAz0dU5nrtMAILdIiNFfQY+lbKgqDexcURgningjEYmoa07t0n5Tm/SpIzo0sj7+d7cFgpD1i8QIXnQ6PvkB9OCgjhFq9q8b1s9rTbnPpOF1QYaEgSqAt3u6ZkXU3LbBTO0GIG+RTwG5UV5SrB9tWqLHnn1ZHc2D9qz/+onzdOXtj+nA6SPUWFseYoRIpxBbXGkRgSTpuK7Re34+d/WUPpcrxH8aeJjGFMmiNKaoN5eu71RlabHmjM7sbvLpnH/w1D0/Z3IPh1TOyPLx+oL/93gZVFmqmaPqVVT05uu2ZHyjrjp+ntbNGRViZJ6Jw2tV5k+bPqS6LFJ3Gc/Efx84OewQYocWEUiS3rffRFWWlai6rFjHLBjdewEA6E2Er13XzBipNf49Edq23JT14x81v1U7d+3Wjl1v6KQlY7N67BMWjdFz23fqxdde1/V/+Ife2B2fBBCQpLKSIl17apdu/vNTOqyzOaP7nETJxkVtYYcQOyQikCTVVpRqywGTwg4jr+T7pUGcvv0GglZaXKSTl2Y3AelWWVasc9d4Lde/fvgZPf3ijn6Vz5NrvsgpKeIP2x8dLfXqaOnbZDxxsHjcUJUWF0pHo+zV9UL5iwEAsinEa67uUxfiRB5TR751kHEhdZlK7OK2fl743YuSHb9ojIpJRoB+IRFBRhhwiqBU5UkfYmTP+nmtahtSJUl6/34TQ45m4Ga0DOp9J98nDu/IYSTRdtrydp24eIyOXTBaW/aPXl/84YMqdM2pXW8ZHwRkohAuseialUfypY9lvuDVyNy7V47TJb94REUmfagfkyj0Ff8y8VZZVqybNy3VC6/sjHXryIVHzuzTfmXFRZrQVLg3bq0qK8nJ+0A2zWpt0KzWBn34h/eHHQoUvwv5QvxIIhEBkFbYLV6bVk3QlJF1GjGoUlNH9v1bYxSOyrJiVZbFKwkZNbhSf3/+VUnSh9dMUXtjTZ/K1VXykQ1ERSEmDbnAu1pIaL0AUkj6tyguMu0/bUQ4sQApZOOd+4oNc3X+DferpaEy7Q3noobJKQDkAokICkakZjSJUCjoAddeyIGJw2v1rZMXhB0GAISOweooGO2NNRoztFrS3jPPIL7GNnqvaWVpsWbn6OZ0+SrsrnexxJcI6KemuoqwQwAii0QEsZJJ9wAz0zWndumS9Z365knz37Ktoaos09AQkqs3ztOmfcbru6d0qaKUmbXCRGIDeLqnGh43rEYH+zfOzEcL24eEHULW8P4VDhKRHGNO8WgZWlOug2eMVH1VmU5eMkaS1FhbHpt+2thb65AqvedtEzS9H1OgxlmcPisZCpdt/EHj4r37TtQdW1bqxjMXq6wkvy61vnXSfE1rrtPR81u1anJT2OHkDO9fwWCMSI596vAOHXXF3WGHgRTOPnCyDp7RrJaGSlWXx+dfofuOykEbRvcCAOiz5hhPKd2TheOG6sYzl4QdBvJEfqXpEbRw3FBdsWGOPnHY9LBDQRIz0/SWQWqojk+3rHMOmqzDZ7WEcu5N+4xXbYWXsMX55nGIv2y3Cl12VOeen09f0Z7lowMA0onP18AxtmqK13S55br7Qo4EcdZYW66TlowN7fzDB1Xols3L9K+XdmjqyDqd8/0/hxZLYGiaLwirO0aqtqJUu51Tc32lPvfLbWGHBAAFgRYRZGT1jDfv8dBUVx5iJJk7Y8W4sEOInOTB38PqKjSteRD3wUHkc7SipDqa/DzZsgmNWjFxWC5DAhAzqybznpBrJCJ5IqyLgo0L27S6Y4Rmtdbrqo3zQooiO04nEZEkrZvtdf0qKynSCYvbBnSMgzreTFDnMKUusqwv73dNdeUaP8y7Y/nYxmq1NORnf/2gWORTTyD7PnXEDJ2+ol2fWTcj7FDyFl2zkJGqshJddtSssMPIisqyYi2d0KjbHnom7FBC9dG107R0QqMmDa/VsNqBDVA/d/UUPfPSDu3ctVuf5g0cITAz/d87F+i2h5/RkvGNtOIB6LfB1WV6/36T9MZup/dec2/Y4eQlEhEgAZcqUnlJsdZkOO99U12FvntKV5YiAgZmSE251naGM7lDUMivgGiY1VofdgixRNesPMLnUbSUFvPvFXX8zwAABurKjXNUW16i6c2DdNLS8CaTiTNaRBA5g6vL9PzLOyVJU0fWhRxN/5yxYpwu++UjkqSPHDot5GiAns0and1v8MY2Vr/leXVZ/n3EMFYCQLeVk5p03/n75ez4hXC3d76yzRP5VFe/vGGOaspL1FBVqs+8PV7jCzatGq//PaJDXzthnua2DQ47HGAvVx0/VxWlRWrz70ifTVVlJbpq41yt7WzWt09eoOKi9BftcXzPGju0WkNrgr3v0CEz3+wm+d599369SIuA/FGIY9ny7+sqxN7s0Q363TmrJO09fWzUlRYXad2cUWGHAaS1YuIw3Xfefioy6zFRGPDxJw3Tikn5NeXliYvHqG1Ild42ZXjgFwrnHzxVQ6rLNaSmTEfMzu/xLgAKD4kIIiluCQgQJ4xf6p/m+kod29UWyrnrq8p07popoZwbAHKNTyMAiJGRg7gfBoD4WTahMfBzFl5Hp/ghEQGAGFk0bogWjPXGH23aZ3zI0QBAetec2qUpI+p0WGezDp3ZHHY4WVWAwzlygq5ZAAbk2K7R+ubdj0uS5o1hYH429TRTipnpmyct0Kuvv6Gact7CAUTX3LbB+tGmJWGHgQjjUwyxMnF4vKbzzWeThtfpsqM6dd8T/9GJi8eEHU5BKS6yUJKQxeOG6vZHnpUknbSEOfMBAJkhEUGsHDWvVddtfUIPPvWSPnl4R9jhFLzVHSO1uiOzu7Bjb1Ft8v/0uhn69E//ouF1FTp8VngzOEX17wMgXmoruAweiOry7E0oFPtXwMwqJG2WdKSkcZKKJf1d0s2SPuaceypNucmSLpC0XFKNpEckXSnpYufc7txHjoGoLCvWDWcs1q7dTmUlDHECgjR8UIU+vS5e9/bJBhIfIH9cfvQsveubW2Umff7o2XvWTxpRKzOva+ygylJVMntnWtmc2TTWiYifhPxK0jxJz0v6paSd/vMzJa0zsy7n3F+Tyi2QdIukKkn3SPqrpKWSLpS0yMzWOVcI97OMp6IiU1kO7n+A8EXtVY1aPACAzBw4fYR+eMYilRQVacrIN7t7l5cU67rTFurHf35Kh81qKcibC6bznlUTdNHPH5IkXbFhjjbdkL1jxzoRkfROeUnH3ZL2dc69KElmVi7p65LWSTpf0nHdBcysRNI35CUhm51zF/nrayT9VNLhkjZKuiqw3wKRQfYJAEB+62ipT7m+s7VBna0NAUcTfactb1dDdanqq8q0z+Ts3rA27n1blvrLi7qTEElyzu2Q9DH/6dykMmsltUu6tzsJ8ctsl3S6/3RzbsIFAGSK9urMjBtW2+8yfDmMOMrWW0WhV/+ykiJt6GrTwTNGZr2lKO6JyI4+7PN80vPV/vLa5B2dc3+Q9KikaWbWllFkIRhcXdbnfecnTLd6wqK2HESDnnS0DAo7BEg0vSP2BlKH3zalScsmNKq8pEgfP2x6DqIKHv/KQDzFvWvWzyQdJeksM7s5oWtWmaSz/X2+mlSme6Tl1jTH3CpprL/fX7MabY6dsqxd3/nt3/XSjl06bXl7j/tedORMXfSzhzRqcJUOmj4ioAgL2xUb5ujSXzys5ROHaRLTEAMISXGR6asnzAs7DACIfSLydUkHyhsL8piZ3SnpdXnjRmol/bdz7stJZVr95RNpjvlE0n6x0Vhbrp9uXqonXnhVc0b33MdxZH2l/rcAZ78J06opTVo1palfZTpb6/WHx/8tSTpm/uhchAUAQEH4ynFzwg4BSWKdiDjn3jCz9ZL+Jul9erPblSTdJun2FMVq/OUraQ77ctJ+PTKz+9Ns6rlJIkdGDKrUiEGVYZwaOXDxkZ0674b7Nbi6TCct4aaBAAAM1D6T+/dlIHIv1ETEzK6VNK2fxTY45+7xyzdIul7egPRNkr4nL8FYKulSSbf4U/F+P8Vx0o1hoqcpIqN1SJWu3Jg83wIAAMh3rgDm8gy7RaRN0sR+lqlK+PkiScskneWcuyRh/Q/M7B/ypvW92MxudM7t8rdtl9QgqbqX42/vSzDOuamp1vstJVP6cgwAAAAUtkL8JjzURMQ5N+DOemZWLGm9/zTVDFi/M7PH5HWRGivpIX/T4/ISkRZJf0px6JaE/WKjECsvAAAA4ivO0/cOk9Q9X+2LafbpXj84Yd29/nJWmjLd61MlKQCAkDFVKwDkhzgnIs9L2un/vFfLipnV6c1uX39L2HSTvzwiRZlOea0nDzjnHsteqAAAAAASxTYR8e+e/mP/6YVmtudmGGZWIelyeeM97nDOPZlQ9HpJj0maYWbvSShTLelz3cfLZewAAACIh/wfMh6esAerZ2qzpPmSZkr6i5ndJelVebNojZTXanJqYgHn3Otmdoykn8tLYI6U12KyRNIISd+XdFVgvwEAFKC6irh//AAAMhXbFhFJcs5tk3cH9Isk/UPetL37y5vC93OSZjjn/pyi3J3ykpXvSRon6RBJL8i7F8kRzrndgfwCAFCg3jGvVQ1VpZKko+bH7v6xAIAsiP1XUs65p+W1jGzuZ7n7lWKcSFAYawmgkNWUl+gn71mqR/61XfPHDAk7HADos1WTm2TMmpEVsW4RAbLNOXqCFrpTl7Xv+flja6eHGEn+G1ZboYXtQ1VcxAc6gPh459KxYYeQN2LfIgIAA5Xq8vesVeNVW1GiuooSHdrZHHhMAAAUChIRIAFNragoLdbpK8aFHQYwIFNH1un+f76Y9W9seWcEkAskIgAA5Inr3rVQz23fqRGDKsIOJedOWTpWX7ztUUl0owTiikQEAIA8UV5SrJH1lWGHEYizVk1QdXmJqstLtG52S9jhABgAEhEAQKwUyoU2elZZVqx37zM+7DAAZIBZswAAkbflgEmSpBGDKnT8ojEhRwMAyAZaRACEqrykSDt2efcQ7WrnfhJI7dRl7Tpw2gg1VJeqtqI07HAAIOuG1pa/5fmgyvx/r6NFBECovn7ifNWWl6iloVLnrpkadjiIsNYhVTlPQgZXl+X0+ACCE7fZ3mrKS/TRQ6dpWnOdPrZ2uqrK8r+9IP9/QwCRNm/MYN374X1lxvTJCN/QmnK9a3m7Lr91W9ihAChAxywYrWMWjA47jMDQIgIgdEVFRhKCyPiv/Se95Tk1EwByg0QEACLGubAjAAAg90hEAAAAAASORAQAAABA4EhEABSUo+e37vn5nIMmhxgJACCX6OUafcyalSdmttaHHQIQC1sOmKSaihLVlpfoqPmFMzMJAGBgkiesKC/he/xs4S8ZY186drZqK0o0q7Vex3W1hR1OXnCMEs57tRWl+uABk3XGyvEq48MEMTdvzOCwQwDyXlGRaemERknShKYadbQMCjmi/EGLSIztO3W47ps6POwwEGPkXUC8fWD/Sfr9317Qs9t36EvHzsnZeUbWV+bs2EAcfOnY2dr6+Aua3jyI6eaziEQEAICYGj6oQre+b7l2O6eS4ty18L1j3ih99a6/6m/PvaL37zcxZ+cBoqqitFgL24eGHUbeIREBACDGiopMRTm+7WJVWYl+vGmpXnhlJ60jALKGRAQAAPSqsqxYlWUkIQCyh5GaAAAAAAJHIgIAAAAgcCQiAAAAAAJHIgIAAAAgcCQiAAAAAAJHIgIAAAAgcCQiAAAAAAJHIgIAAAAgcCQiAAAAAAJHIgIAAAAgcCQiAAAAAAJHIgIkOHbB6D0/d7bWhxgJAABAfisJOwAgSlZNbtKWAybp0We26937jA87HAAoSAvbh+jObc9JktbNaQk5GgC5QiICJCgqMp26rD3sMACgoF38jk793z2Pa07bYA2rrQg7HAA5QiICAEAPJo+oCzuEgtNYW64zaZUG8h5jRAAASHLxO2aqub5S6+eN0rwxg8MOBwDyEi0iAZo9ukG//9sLkqQNXaN72RsAEJZDZjbrkJnNYYcBAHmNRCRAF79jpj5+84MaXleht88dFXY4AAAAQGhIRALU0lClzx01K+wwAAAA8p6FvN9BCgAAEHVJREFUHQB6xRgRAAAAAIEjEQEAAEDecWEHgF6RiABABIwbVrPn58NmMUgaAJD/SEQAIAK+cMwszR8zWKs7RuikJWPDDgcAgJxjsDoARMC4YbX6zildYYcBAEBgaBEBAAAAEDgSEQAAAACBIxEBAAAAEDgSEQAAAACBIxEBAAAAEDgSEQAAAACBIxEBAAAAEDgSEQAAAACBIxEBAAAAEDgSEQAAAACBIxEBAAAAEDgSEQAAAACBIxEBAAAAEDgSEaCAjR5SFXYIAACgQJGIAAXmw2umyExa2D5EqyY3hR0OAAAoUCVhBwAgWMcvGqPjutpkJplZ2OEAAIACRSICFKCiIhIQAAAQLrpmAQAAAAgciQgAAACAwJGIAAAAAAgciQgAAACAwEUiETGzajM71swuNbN7zGyHmTkz29KHsi1mdqWZ/dPMXjOzh8zsAjOr6KFMhZmd7+/7ml/2SjNrye5vBgAAACCVqMyaNV7S1/pbyMzaJd0lqVHSnyX9WtIcSR+StMrMVjjndiSVqZB0i6SFkp6U9ANJbZKOl7TazLqcc9sG/qsAAAAA6E0kWkQkvSTpK5JOkTRL0v/0sdyV8pKQS5xz051zR0qaKOl6SV2Szk5R5mx5SchdkiY45450zs2X9F7/WFdm8osAAAAA6F0kEhHn3Dbn3EnOuS855/4gaVdvZcxsrqSlkv4l6b8SjrVL0mmSXpd0ppmVJpQplXSm//R059z2hHIXSvqTpKVmNjsLvxYAAABCsnR8456fq8uKQ4wE6UQiERmg1f7yhuTuV865p+V102qQtChh02JJ9ZK2+QlPsmv95ZosxwoAAIAAnX3gZI0bVqPB1WX62onzwg4HKURljMhAzPCXW9Ns3ypppb/frf0ok7gfAAAAYmj4oAr9fPOysMNAD+LcItLqL59Is/2JpP0GWgYAAABAlsW5RaTGX76SZvvLSfsNtEyPzOz+NJva+3oMAAAAoNBkJRExs2slTetnsQ3OuXsyOa2/dL1sz7QMAAAAgCzLVotIm7xpc/ujKsNzvuQvq3s5/vaEdQMp0yPn3NRU6/2Wkil9PQ4AAABQSLKSiDjn5mTjOP30uKROSenuht6SsJ+Sfu5PGQAAAABZFufB6vf6y1lptnev/1OGZQAAAABkWZwTkZv85RozK0/cYGZNkpZI+o+k2xM23eGvazezzhTHPMJf3pjlWAEAAAAkiG0i4g90v0PSMEmf7F5vZiWSLpdUKulS59zrCWV2SrrMf3qZmVUnlNssqUPS7c653+b+NwAAAAAKV2Sm7zWz6yWN8J92j9V4l5kd6v/8pHNubVKx4yXdJWmTma2U9ICkuZLGSrpb0v+kONVHJa2StFDSw2b2a0mjJc2X9Jx/TAAAAAA5FKUWkU55ycB8Sc3+ulEJ6/bqSuWce9hff7WkRklr5U3N+1FJK5xzr6Uo85qkFZI+Iu9+IofKm/Xrq5I6nXOPZPF3AgAAAJBCZFpEnHNtAyz3d/WzFcM596qkc/0HAAAAgIBFqUUEAAAAQIEgEQEAAAAQOBIRAAAAAIEjEQEAAAAQOBIRAAAAAIEjEQEAAAAQOHPOhR1DXjKzF8vLy2vb29vDDgUAAADIim3btmnHjh0vOefqMj0WiUiOmNlTkqok/T3sWGKiO2PbFmoUiCrqB3pDHUFPqB/oCfWjf0ZJesU5NzzTA5GIIBLM7H5Jcs5NDTsWRA/1A72hjqAn1A/0hPoRHsaIAAAAAAgciQgAAACAwJGIAAAAAAgciQgAAACAwJGIAAAAAAgcs2YBAAAACBwtIgAAAAACRyICAAAAIHAkIgAAAAACRyICAAAAIHAkIgAAAAACRyICAAAAIHAkIgAAAAACRyKCnDOzSWb2ATO7xcweN7MdZvaUmV1nZkt6KdtiZlea2T/N7DUze8jMLjCzih7KVJjZ+f6+r/llrzSzluz/dsiUmVWb2bFmdqmZ3ePXD2dmW/pQlvpRwHgtC4OZzTazLf5nxj/894fX+lBug/+est3MnjezH5nZwl7KLPT3e94vd4+ZHZe93wbZZmZVZnaomX3FzP5kZi+a2ctmdq+ZnWtmNT2UpY6EjBsaIufM7AlJzZJelHS3pBckTZE0TZKTtNk599kU5dol3SWpUdKfJT0gaY6ksf76Fc65HUllKiTdImmhpCcl/VpSm6R5kp6R1OWc25b1XxIDZmYzJf0hxaYPOuc+0UM56kcB47UsHGb2fUmHJK3e4Zzr6QuHCyW9R9Krkn4qqULSPpJM0jrn3PUpyqyVdI28L2lvk/SsX6Ze0kXOuc2Z/zbINjM7SdKX/af3y/ssqJP33lAr6UFJy5xz/0oqRx2JAuccDx45fcj7B18vqSxp/SnyEpFdkqakKPcrf/vFCetKJF3nrz8/RZkL/G13SqpJWL/ZX/+rsP8ePPZ6zdolXSHpnZI6JX3Uf6229FKO+lHAD17LwnlI+oCk8yWtltTkv76v9bD/Sn+fZyWNT1jfJWmHpH9Lakgq0+Cvd5IOS1jfJOlhf/2KsP8WPFK+3hskXZ74WvvrR0ja6r9236KORPMRegA8Cvsh6Sf+P++Hk9bP9dc/Lak8aVuTpJ2SnpdUmrC+VF5ri5PUmeJc9/rbZof9e/PosU6c11siQv0o7AevZWE/+pCI3OTvc1aKbRf7296btP79/vrvpyiz1t92Q9i/O49+15Wu7vqihC9DqSPReTBGBGG711+OTFq/2l/e4JK61zjnnpbXDaNB0qKETYvlNY9uc86l6upzrb9ck1HEiALqR2HjtURKfpe9ffyn16bYJV3dWJ20PdFN8i5kV/U0/gyR1H2NUS5piEQdiRoSEYRtrL98Kmn9DH+5NU25rUn7DbQM4on6Udh4LZHOJHkXnc84555Isb27bnQkre9I2r6Hc26nvHFoFZImZilOBKP7GuN1ea3kEnUkUkhEEBp/sHH3Nww/TNrc6i9TvUkkrm9NWDeQMogn6kdh47VEOj3WDefcy/L7/5tZrSSZWZ28Fra05USdiqtN/vLHCa3n1JEIIRFBKMysRNLV8r6V+I5z7vdJu3RPt/dKmkO8nLTfQMsgnqgfhY3XEun0VjekvetHYj2hTuUJMztQ0onyWkM+lLCJOhIhJWEHgOgzs2vlTbXbHxucc/f0sP1Sef28H5X0rlSn9Zfp5pe2Htb1pwwylKP60etp/SX1ozDxWiKd3upG4j7pnvelDCLMzCZL+oa81+39zrl7Ezf7S+pIBJCIoC/a1P8+j1XpNpjZuZJOlTfj0X7OuedT7PaSv6zu5fjbMyyDzLUpi/Wjj6gfhY3XEun0VjekvevHS0nbXuxDGUSUf0PTH8ubsORC59zFSbtQRyKERAS9cs7NydaxzOx0efPB/0fS/s65R9Ls+ri8e0qku0NyS8J+Svq5P2WQoWzWj36gfhQ2Xkuk02PdMLNqeX39/+2ce0mSnHMvmtl/JA3yyz2Qoih1KgbMbKikn8kbp3GVpPel2I06EiGMEUFgzOxoeV2yXpF0kHPujz3s3t2MOivN9u71f8qwDOKJ+lHYeC2Rzl/k3ZCu0f9mPFm6upG2TplZqbzupzv84yOC/IHlN8ubFes6SSc7/yYfSagjEUIigkD4g8auljdobK1z7o5eitzkL9eYWXnSsZokLZHXqnJ7wqY7/HXtZtaZ4phH+Msb+xc9Ioj6Udh4LZGSc+5VSb/wnx6RYpd0deOmpO2JVsublvUW59xrGQeJrPM/B34gaY68GyWvd869kWpf6ki0kIgg58xskd68AdCRzrmf9lbGH8h8h6Rhkj6ZcKwSSZfLu7Pypc651xPK7JR0mf/0Mr95tbvcZnlzgN/unPttZr8Rwkb9KGy8lujFhf7yHDMb373SzLoknSKvf/9Xkspc4a8/xMwOSygzTNKnko6LCDGzYknflrRC3s1sD/PfI3pCHYkIS91qBWSPmb0gr7/lY5JuS7Pb7c65K5LKjZd0l7y7od4nr0/mXHk3KLpb0vLkbx78O5reKmm+pCflvSmN9p8/J2lBD+NSEBIzu17SCP9pi6RmSX+X9E9/3ZPOubVJZagfBYzXsnCY2UF66/Sr8+XNeJQ4895HnHM3JZT5rLx7SLwib8xAmaS3yfsC9u3Oue+lOM/hkr4rb/ajX0l6VtIqeZ9flzjnNiWXQfjMbJOkz/pPr1fqgeSS9D7n3LMJ5agjUeCc48Ejpw95Hxi9Pa5OU3aUvAFnT8rre/mIpI9IquzhfJWSLvD33SHvru1XSxoV9t+CR9rX7K+91I+/Uj948FoW5kPSxj58hmxMU+538u7v8G95Mykt7uVci+SNM3jBL/c7SceH/Tfg0eNrdl4frzPaqCPRe9AiAgAAACBwjBEBAAAAEDgSEQAAAACBIxEBAAAAEDgSEQAAAACBIxEBAAAAEDgSEQAAAACBIxEBAAAAEDgSEQAAAACBIxEBAAAAEDgSEQAAAACBIxEBAAAAEDgSEQDAgJmZ6+Vxax+Pc3VSue8nbd/orz+vj8db3pfzm9mt/n7L+3LcNMf4Y1LsfYoRAApdSdgBAADywlfTrH+wn8f5iaSnJG3NLJxA/VDSHyWNk7Qo5FgAIDZIRAAAGXPObczSoT7hnLs1S8cKhHPuXMlrtRGJCAD0GV2zAAAAAASORAQAEGtm9l4z221mD5hZcxaOlzxeJdVjeRZCB4CCRtcsAEBsmdnHJH1Q0m8lHeCcey4Lh709zfpiSev95RtZOA8AFDQSEQBA7JhZkaTPS3qnpF9IOsQ5tz0bx3bOXSHpihTnvFheEnKjpDuycS4AKGQkIgCAjJmZS7OpwTn37yyfq0zSNyStk3S9pPXOuR1pdl/WQ2z9OeeJkt4t6QFJRznndmd6TAAodCQiAIBsSDd9784sn6daXovE2yRdJelk51xP3aSelvTjHrbvL6mppxOa2RJJl0t6TtIa59xL/YoYAJASiQgAIGNZnL63N2fJ++z6kaQTnXO9tXY82FNs/g0P0yYiZjZa0vfkTe6yzjn3aH8DBgCkxqxZAIA4uVnSfyTtK+nwXJ7IzKrl3aywUdK7nXO/zOX5AKDQkIgAAOJkq6T9JL0i6dtmtjYXJzEzk/R1SR2SPu+c+3wuzgMAhYxEBAAQK865u+UlI69K+o6ZHZyD01wgaa2kX8obpA4AyDISEQBA7DjnfiNvoPkOSdeY2UHZOraZvV3SOZIelTcuZFe2jg0AeBOD1QEAseScu9PMDpA3buR7Znaoc66nGbL66uP+8p+SPuP10trLJ5xzD2bhXABQsEhEAACx5Zy73W8N+ZGk683sYOfczzI8bLG/XOw/UrlaEokIAGSARAQAMGDOuZTNBTk4z9XyLv5TbbtNUk3Sulsl9Rqbc255inVt/Y8QANBfJCIAgCjZYmYbJW11zl0SdjB9YWYXSGqVNC7sWAAgTkhEAABRsp+/rJcUi0RE0sGSZoQdBADEjfV+U1oAAAAAyC6m7wUAAAAQOBIRAAAAAIEjEQEAAAAQOBIRAAAAAIEjEQEAAAAQOBIRAAAAAIEjEQEAAAAQOBIRAAAAAIEjEQEAAAAQOBIRAAAAAIEjEQEAAAAQOBIRAAAAAIEjEQEAAAAQOBIRAAAAAIEjEQEAAAAQuP8PFGEX2v69wGIAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f5e3f9be0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#################################\n",
    "### Get Frequency-Domain Data ###\n",
    "#################################\n",
    "# Sampling frequency and decimation at ADC.\n",
    "fs_adc = soc.adcs['00']['fs']\n",
    "D_adc = 8\n",
    "fs_in = fs_adc/D_adc\n",
    "\n",
    "# Configure DDS + CIC.\n",
    "D = 250\n",
    "soc.ddscic.outsel(data=\"product\", cic=\"yes\")\n",
    "soc.ddscic.decimation(D)\n",
    "soc.ddscic.ddsfreq(f=1e6 + 100000)\n",
    "soc.ddscic.set_qprod(13)\n",
    "#soc.ddscic.set_qcic(10)\n",
    "\n",
    "# Configure xfft.\n",
    "soc.fft.scale(0xaaaa)\n",
    "\n",
    "# Sampling frequency after CIC.\n",
    "fs = fs_in/D\n",
    "ts = 1/fs\n",
    "\n",
    "# Get data.\n",
    "[xi,xq,tuser] = soc.buffer_fft.getdata(3)\n",
    "x = xi +1j*xq\n",
    "\n",
    "# Sort data to account for bit-reversal FFT output.\n",
    "#x = sort_br(x,tuser)\n",
    "\n",
    "# Spectrum.\n",
    "r = np.random.normal(scale=1/2**16,size=len(x))\n",
    "x = x + r\n",
    "Y = np.abs(fftshift(x))\n",
    "F = np.linspace(-fs/2,fs/2,len(Y))\n",
    "plt.figure(2,dpi=150)\n",
    "plt.plot(F*1000,20*np.log10(Y/np.max(Y)))\n",
    "#plt.plot(F*1000,Y)\n",
    "plt.xlabel('F [kHz]');\n",
    "plt.xlim(-fs/2*1000,fs/2*1000)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "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.6.5"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": true
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
