{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\"FMP\"\n", "\"AudioLabs\"\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\"C2\"\n", "

Discrete Short-Time Fourier Transform (STFT)

\n", "
\n", "\n", "
\n", "\n", "

\n", "Following Section 2.1.4 of [Müller, FMP, Springer 2015], we discuss in this notebook a discrete version of the short-time Fourier transform (STFT).\n", "

" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Missing Time Localization\n", "\n", "The Fourier transform yields frequency information that is averaged over the entire time domain. However, the information on **when** these frequencies occur is hidden in the transform. This phenomenon is illustrated by the following example.\n", "\n", "" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "execution": { "iopub.execute_input": "2024-02-15T08:58:24.751932Z", "iopub.status.busy": "2024-02-15T08:58:24.751639Z", "iopub.status.idle": "2024-02-15T08:58:26.983902Z", "shell.execute_reply": "2024-02-15T08:58:26.983251Z" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import os\n", "import numpy as np\n", "import matplotlib\n", "from matplotlib import pyplot as plt\n", "import librosa\n", "from ipywidgets import interact, fixed, FloatSlider\n", "import IPython.display as ipd\n", "%matplotlib inline\n", "\n", "Fs = 128\n", "duration = 10\n", "omega1 = 1\n", "omega2 = 5\n", "N = int(duration * Fs)\n", "t = np.arange(N) / Fs\n", "t1 = t[:N//2]\n", "t2 = t[N//2:]\n", "\n", "x1 = 1.0 * np.sin(2 * np.pi * omega1 * t1)\n", "x2 = 0.7 * np.sin(2 * np.pi * omega2 * t2)\n", "x = np.concatenate((x1, x2))\n", "\n", "plt.figure(figsize=(8, 2))\n", "plt.subplot(1, 2, 1)\n", "plt.plot(t, x, c='k')\n", "plt.xlim([min(t), max(t)])\n", "plt.xlabel('Time (seconds)')\n", "\n", "plt.subplot(1, 2, 2)\n", "X = np.abs(np.fft.fft(x)) / Fs\n", "freq = np.fft.fftfreq(N, d=1/Fs)\n", "X = X[:N//2]\n", "freq = freq[:N//2]\n", "plt.plot(freq, X, c='k')\n", "plt.xlim([0, 7])\n", "plt.ylim([0, 3])\n", "plt.xlabel('Frequency (Hz)')\n", "plt.tight_layout()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Basic Idea\n", "\n", "To recover the hidden time information, Dennis Gabor introduced in the year 1946 the **short-time Fourier transform** (STFT). Instead of considering the entire signal, the main idea of the STFT is to consider only a small section of the signal. To this end, one fixes a so-called **window function**, which is a function that is nonzero for only a short period of time (defining the considered section). The original signal is then multiplied with the window function to yield a **windowed signal**. To obtain frequency information at different time instances, one shifts the window function across time and computes a Fourier transform for each of the resulting windowed signals. This idea is illustrated by the next example.\n", "\n", "" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "execution": { "iopub.execute_input": "2024-02-15T08:58:27.013752Z", "iopub.status.busy": "2024-02-15T08:58:27.013481Z", "iopub.status.idle": "2024-02-15T08:58:27.641809Z", "shell.execute_reply": "2024-02-15T08:58:27.641127Z" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Interactive interface for experimenting with different window shifts:\n" ] }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "fa7658b89e6c480f9b8da6e5719444f3", "version_major": 2, "version_minor": 0 }, "text/plain": [ "interactive(children=(FloatSlider(value=1.7, continuous_update=False, description='Position', max=6.0), Output…" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "def windowed_ft(t, x, Fs, w_pos_sec, w_len):\n", " \n", " N = len(x)\n", " w_pos = int(Fs * w_pos_sec)\n", " w_padded = np.zeros(N)\n", " w_padded[w_pos:w_pos + w_len] = 1\n", " x = x * w_padded \n", " plt.figure(figsize=(8, 2))\n", "\n", " plt.subplot(1, 2, 1)\n", " plt.plot(t, x, c='k')\n", " plt.plot(t, w_padded, c='r')\n", " plt.xlim([min(t), max(t)])\n", " plt.ylim([-1.1, 1.1])\n", " plt.xlabel('Time (seconds)')\n", "\n", " plt.subplot(1, 2, 2)\n", " X = np.abs(np.fft.fft(x)) / Fs\n", " freq = np.fft.fftfreq(N, d=1/Fs)\n", " X = X[:N//2]\n", " freq = freq[:N//2]\n", " plt.plot(freq, X, c='k')\n", " plt.xlim([0, 7])\n", " plt.ylim([0, 3])\n", " plt.xlabel('Frequency (Hz)')\n", " plt.tight_layout()\n", " plt.show()\n", " \n", "w_len = 4 * Fs\n", "windowed_ft(t, x, Fs, w_pos_sec=1, w_len=w_len)\n", "windowed_ft(t, x, Fs, w_pos_sec=3, w_len=w_len)\n", "windowed_ft(t, x, Fs, w_pos_sec=5, w_len=w_len)\n", "\n", "print('Interactive interface for experimenting with different window shifts:')\n", "interact(windowed_ft,\n", " w_pos_sec=FloatSlider(min=0, max=duration-(w_len/Fs), step=0.1, \n", " continuous_update=False, value=1.7, description='Position'),\n", " t=fixed(t), x=fixed(x), Fs=fixed(Fs), w_len=fixed(w_len));" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It is important to note that the STFT reflects not only the properties of the original signal but also those of the window function. First of all, the STFT depends on the **length of the window**, which determines the size of the section. Then, the STFT is influenced by the **shape of the window**. For example, the sharp edges of the rectangular window typically introduce \"ripple\" artifacts. We discuss such issues in more detail later." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Formal Definition of the Discrete STFT\n", "\n", "We now consider the discrete case of the STFT and specify the most important mathematical formulas as needed in practical applications. Let $x:[0:L-1]:=\\{0,1,\\ldots,L-1\\}\\to{\\mathbb R}$ be a real-valued discrete-time (DT) signal of length $L$ obtained by equidistant sampling with respect to a fixed sampling rate $F_\\mathrm{s}$ given in Hertz. Furthermore, let $w:[0:N-1]\\to\\mathbb{R}$ be a sampled window function of length $N\\in\\mathbb{N}$. For example, in the case of a rectangular window one has $w(n)=1$ for $n\\in[0:N-1]$. The length parameter $N$ determines the duration of the considered sections, which amounts to $N/F_\\mathrm{s}$ seconds. One also introduces an additional parameter $H\\in\\mathbb{N}$, which is referred to as the **hop size**. The hop size parameter is specified in samples and determines the step size in which the window is to be shifted across the signal. With regard to these parameters, the **discrete STFT** $\\mathcal{X}$ of the signal $x$ is given by \n", "\n", "\\begin{eqnarray}\n", " \\mathcal{X}(m,k):= \\sum_{n=0}^{N-1} x(n+mH)w(n)\\mathrm{exp}(-2\\pi ikn/N)\n", "\\end{eqnarray} \n", "\n", "with $m\\in[0:M]$ and $k\\in[0:K]$. The number $M:=\\lfloor \\frac{L-N}{H} \\rfloor$ is the maximal frame index such that the window's time range is fully contained in the signal's time range. (We will see later some variants using padding strategies.) Furthermore, $K=N/2$ (assuming that $N$ is even) is the frequency index corresponding to the Nyquist frequency. The complex number $ \\mathcal{X}(m,k)$ denotes the $k^{\\mathrm{th}}$ Fourier coefficient for the $m^{\\mathrm{th}}$ time frame. Note that for each fixed time frame $m$, one obtains a **spectral vector** of size $K+1$ given by the coefficients $\\mathcal{X}(m,k)$ for $k\\in[0:K]$. The computation of each such spectral vector amounts to a DFT of size $N$, which can be done efficiently using the FFT (see the FMP notebook on the FFT).\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Spectrogram\n", "\n", "The **spectrogram** is a two-dimensional representation of the squared magnitude of the STFT:\n", "\n", "\\begin{eqnarray}\n", " \\mathcal{Y}(m,k):= | \\mathcal{X}(m,k)|^2.\n", "\\end{eqnarray} \n", "\n", "It can be visualized by means of a two-dimensional image, where the horizontal axis represents time and the vertical axis represents frequency. In this image, the spectrogram value $ \\mathcal{Y}(m,k)$ is represented by the intensity or color in the image at the coordinate $(m,k)$. Note that in the discrete case, the time axis is indexed by the frame indices $m$ and the frequency axis is indexed by the frequency indices $k$.\n", "\n", "" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "execution": { "iopub.execute_input": "2024-02-15T08:58:27.646017Z", "iopub.status.busy": "2024-02-15T08:58:27.645853Z", "iopub.status.idle": "2024-02-15T08:58:27.824107Z", "shell.execute_reply": "2024-02-15T08:58:27.823566Z" } }, "outputs": [ { "data": { "image/png": "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l0dVVNXnvHErR6nqRaq6R1V3qeqZqjrH+5nciHmHw1G1VNS8GAPgNy87d+5MZNbOSy+9lGMuxo8fz7hx41izZk0isWGgeens7GTTpk2JxLdjNzU1MWPGjES0G9Po155Op3nllVdKju9wRHANkB0ZLiJNIjILQFX/XClRDodjaFFx89Lc3My0adOyZUllRw4cOMDWrVuZM2dOTnlSmZ1XXnmF2tpa7N1pk9Le19fHunXryqodyImfZFbK4YjgV4Cdmuz3yhwOhyM2FTUva9euZc6cOdTUHJRhGtS1a9eWFHv9+sxmuLa5MPFLjQ2ZrbqnT59OXd3BjbmT0r5lyxb6+vqYPXt2TnmS2sePH8/IkSNzYkPp2h2OPNSpanbKnPe8voJ6HA7HEKSi5mXDhg0DzMWMGTOy75XCunXrgIHmZebMmbS1tdHb21tyfH/s1tZWUqlUWbXv27eP1157reT4/tijRo1izJgxRWtXVa677rqcbq2tW7dy+eWXs3///mzZs88+y2233ZZT99prr81ZPbizs5Mrr7wyp/tt+fLl3HTTTTn17rjjDu65554cDd/97nez3ZEAL7/8MldddVXO7/vBBx8cEOuGG25gxYoV2de7d+/mgx/8YE735YoVK7jhhhty6t144405iwf29PRw1VVX5XS/rVq1iuuvvx5VzZbdc8893HnnnTmxbrrpJpYvX559vWnTJq688sqcTT8fffTRAftc3XrrrTz77LPZ1/v37+fyyy/P2a9qzZo1XHfddTkabr/99pwVrfv7+/nMZz7Diy++SBnZISIXmBciciGws5wndDgcwxBVHfTH8ccfr6qqo0eP1iuvvFL9TJw4UT/84Q8PKC+EW2+9VQHdsmVLTvkPf/hDBfTVV18tKf7UqVP1Ax/4wIDyQw89VN/znveUFPvuu+9WQNesWZNT/otf/EIBXb58eUnx582bp+9+97sHlB999NF63nnnFRVz06ZNCui0adOyZVdccYUCescdd2TLAAW0s7NTVVW7u7uzZQbz+a+44ops2dlnn62Arl27dkAsw/PPP6+AXnzxxdmySy65RAF98MEHB9RLp9Oqqrp3714FtLGxMXvM1772NQX0a1/7WrZs9OjRCujOnTtVVTWdTg/Q8OCDDyqgl156abbs0ksvVUCXLVsWqv2VV15RQM8444xs2Sc+8QkF9Kc//emA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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "def stft_basic(x, w, H=8, only_positive_frequencies=False):\n", " \"\"\"Compute a basic version of the discrete short-time Fourier transform (STFT)\n", "\n", " Notebook: C2/C2_STFT-Basic.ipynb\n", "\n", " Args:\n", " x (np.ndarray): Signal to be transformed\n", " w (np.ndarray): Window function\n", " H (int): Hopsize (Default value = 8)\n", " only_positive_frequencies (bool): Return only positive frequency part of spectrum (non-invertible)\n", " (Default value = False)\n", "\n", " Returns:\n", " X (np.ndarray): The discrete short-time Fourier transform\n", " \"\"\"\n", " N = len(w)\n", " L = len(x)\n", " M = np.floor((L - N) / H).astype(int) + 1\n", " X = np.zeros((N, M), dtype='complex')\n", " for m in range(M):\n", " x_win = x[m * H:m * H + N] * w\n", " X_win = np.fft.fft(x_win)\n", " X[:, m] = X_win\n", "\n", " if only_positive_frequencies:\n", " K = 1 + N // 2\n", " X = X[0:K, :]\n", " return X\n", "\n", "H = 8\n", "N = 128\n", "w = np.ones(N)\n", "X = stft_basic(x, w, H, only_positive_frequencies=True)\n", "Y = np.abs(X) ** 2\n", "\n", "plt.figure(figsize=(8, 2))\n", "plt.subplot(1, 2, 1)\n", "plt.plot(np.arange(len(t)), x, c='k')\n", "plt.xlim([0, len(t)])\n", "plt.xlabel('Index (samples)')\n", "plt.subplot(1, 2, 2)\n", "plt.imshow(Y, origin='lower', aspect='auto', cmap='gray_r')\n", "plt.xlabel('Index (frames)')\n", "plt.ylabel('Index (frequency)')\n", "plt.tight_layout()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Interpretation of Time and Frequency Indices\n", "\n", "As for the temporal dimension, each Fourier coefficient $\\mathcal{X}(m,k)$ is associated with the physical time position \n", "\n", "\\begin{equation}\n", " T_\\mathrm{coef}(m) := \\frac{m\\cdot H}{F_\\mathrm{s}}\n", "\\end{equation}\n", "\n", "given in seconds. For example, for the smallest possible hop size $H=1$, one obtains $T_\\mathrm{coef}(m)=m/F_\\mathrm{s}=m\\cdot T~\\sec$. In this case, one obtains a spectral vector for each sample of the DT-signal $x$, which results in a huge increase in data volume. Furthermore, considering sections that are only shifted by one sample generally yields very similar spectral vectors. To reduce this type of redundancy, one typically relates the hop size to the length $N$ of the window. For example, one often chooses $H=N/2$, which constitutes a good trade-off between a reasonable temporal resolution and the data volume comprising all generated spectral coefficients. As for the frequency dimension, the index $k$ of $\\mathcal{X}(m,k)$ corresponds to the physical frequency\n", "\n", "\\begin{equation}\n", " F_\\mathrm{coef}(k) := \\frac{k\\cdot F_\\mathrm{s}}{N} \n", "\\end{equation}\n", "\n", "given in Hertz. \n", "\n", "" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "execution": { "iopub.execute_input": "2024-02-15T08:58:27.826758Z", "iopub.status.busy": "2024-02-15T08:58:27.826572Z", "iopub.status.idle": "2024-02-15T08:58:27.981929Z", "shell.execute_reply": "2024-02-15T08:58:27.981368Z" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAi8AAACICAYAAAAvUgs7AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAAA9/klEQVR4nO29eXhc1ZWv/S6VRlvyPEm2hRkM2O1AsJ2ROMxNAiRAf+EmudCXTm6azjx0EkI63IwkH+HjhpC+mchIh1wIcElIdyeMN4AJmMEQJhtjHPCAJWNrsGxZU0nr+6NqF7uOTlWdU1Vyuez1Po8eVe0651ertq2zf7XW3vuIqmIYhmEYhlEt1FQ6AMMwDMMwjDiYeTEMwzAMo6ow82IYhmEYRlVh5sUwDMMwjKrCzIthGIZhGFVFbSXedNasWbpo0aJKvLVhGDFZu3btLlWdXek44mDXGMOoHl5++WV27dolcc4pi3kRkZ8D5wCvquqyQscvWrSIxx9/vBxvbRjGBCMimysdQ1zsGmMY1cPKlStjn1OustEvgXeUScswDMMwDCMnZTEvqvoA0F2KRldXF4ODg+UIZxyqyvbt2ydEG2Dfvn309PRMmP6OHTtIJpMToj02NkZHR8eEaBtGXERkmojcKiLPi8h6EXmLiMwQkbtFZGP69/RKx2kYRmU5ICbsPvjgg7S1tbFs2TJ2795ddv1PfOITzJ8/n0svvbTs2l1dXRx77LHMnz9/QtLUv/nNb2htbWXVqlWMjo6WVVtVOeecc2hra+MHP/hBWbUNo0iuBe5Q1WOB44H1wGXAvaq6GLg3/dwwjEOY/WZeROQSEXlcRB7fuXNn1mvf/OY3GR4eZtOmTfz0pz8t6/tu27aNH/3oRwBcc801dHZ2llX/Jz/5CVu3bmVgYICvf/3rZdVWVb7yla+gqqxZs4bbb7+9rPpr1qzhj3/8IwBf/vKXGR4eLqu+YcRBRKYAbwd+BqCqw6raC5wLXJ8+7HrgvErEZxjGgcN+My+qep2qrlTVlbNnv7Zwobu7mzvvvJPLL7+c5cuX87vf/a6s73vrrbcyOjrKb3/7W5LJJH/4wx/Kqn/TTTexatUqPvOZz3DXXXfR399fNu2nnnqKDRs2cN111zFz5syy981NN91EU1MTN9xwA11dXfz5z38uq75hxOQIYCfwCxF5UkR+KiKTgbmq2gGQ/j0n7OR8X5AMwzi4qHjZ6M9//jOqyumnn8473/lOHnroobKWjlavXs2iRYs499xzWbBgAXfccUfZtHt7e3n66ac5/fTTOeussxgaGuL+++8vm/4DDzwAwJlnnsmZZ57JHXfcQTlvpLl69Wre8pa3cO6551JfX1/WvjGMIqgFlgM/VNUTgH5ilIhyfUEyDOPgoyzmRURuBB4GjhGRbSLy36Oe++CDD1JXV8cb3/hGVq1axdjYGE888UQ5wkJVWb16NatWrUJEOPHEE3n00UfLog3w0EMPoaqsWrWKt7zlLdTU1JRV/8EHH6S9vZ329nZWrVrFzp072by5PKtW+/r6eOqpp1i1ahXNzc28/vWvL2vshlEE24BtqvpI+vmtpMzMDhFpBUj/frVC8RmGcYBQrtVG71fVVlWtU9UFqvqzqOeuWbOGFStW0NTUxIoVKwDKNvH1pZdeYufOnZx44olAai355s2bKVdKec2aNSQSCd70pjcxefJklixZUtZJu2vWrMmKHcrXN4899hhjY2NZ+mvXrmVsbKws+oYRF1XtBLaKyDHpptOAdcDvgYvTbRcD5Z38ZRhG1VHxstH69etZtiy1r92sWbNob2/nySefLIv2unXrADjuuOMAWL58OUDZ9J977jmOOuooJk2alNEvl3ZfXx9bt27NxP66172O2traCe2bPXv28Ne//rUs+sahi4jUiMgJInK2iJwqInNjnP4J4Nci8jTweuBbwJXAGSKyETgj/dwwjEOYipqXrq4udu7cyZIlSzJtS5YsYcOGDWXRdwO003e/y6kfjH379u3s2bOnZO3169dnNAEaGho44ogjyhr79OnTmTNnTtb7lEvfOPQQkSNF5DrgRVIG4/3AR4G7RWSNiHxARPJec1T1L+l5K8ep6nmq2qOqXap6mqouTv8uaU8pwzCqn4qal+effx6AY489NtN2zDHH8MILL5RlYuq6detoa2tj2rRpAMybN4+WlpayDNDDw8O8+OKLLF26NNN2zDGpbPcLL7xQsr4zXkH9cpqXpUuXIiIZbTDzYpTEFcANwJGqeqaqXqSq71HV40gtd54K/H1FIzQM46DggDQve/fuLcuOuG6AdohI2QzAiy++SDKZDDUv5dBft24dDQ0NHH744Vn6GzduLMtmdcG+mTlzJjNnzjTzYhRNeu7bAxryzUNVd6jqd1X1+rBzDcMw4lBR87J+/XoaGho47LDDMm3lNACbNm1i8eLFWW3lMi+bNm0CyNI/6qijqKmpKZv+EUccQW3ta/fOPProoxkaGmLLli0lae/evZtdu3ZNWN8YhzYisklEPhxo+49KxWMYxsFHRc3Lxo0bOeqoo0gkEpm2o48+OvNaKfT19dHd3Z2VuXD6W7duLfk+Si+99BJAlr4zYqXG7vTDYofS++bll18GCNUvR+zGIc8IcIqI/EJE6tNt8ysZkGEYBxcVNS9btmxh0aJFWW1tbW3U1taWnF1wA3RQ32V5tm7dWrL+pEmTmDVr1jj9UmN3+rlin8i+6ejoKPo2AU8++STf//73s9quu+46fvWrX2Weqyrf+c53MnN6IPV5PvnJT2YZyvvvv58rr8xeVPLjH/84ay+agYEBPvShD2XtfbNlyxauuOKKrNLajTfeyL/9279laV1xxRU8+OCDmeddXV18/etfZ+/evZm21atX8y//8i9Z591+++38+7//e+b5yMgIn/rUp7JWaW3fvp2PfexjDAwMZNruuecebrzxxnEx3HnnnZnnQ0NDXHHFFVkl0yeeeIIvfelLWXPAbr31Vn72s9d2I1BVvv3tb2cZz1dffZUPfOADWRs+PvPMM1x77bVZMXzve9/L2nU6mUzy2c9+NlPSLZJ9qvpeUvclWi0ihwHl213RMAxDVff7z4oVK1RVdcaMGfqRj3xEgyxatEgvvPDCce1xuP322xXQRx99NKv9T3/6kwJ69913l6R//vnn69KlS8e1X3zxxbpgwYKStHt6ehTQq666Kqt9eHhYa2pq9PLLLy9J/7vf/a4CunPnzqz2n//85wropk2bitJdtWqVArp58+ZMG6lBK/P8ueeeU0DPPvvsTNsll1yigN54443jzhsaGlJV1bGxsXFat912mwJ6wQUXZNpOOukkBfSJJ57IGcMrr7yigE6bNi3T9v3vf18BvfLKK8edt2PHjpxajz76qAK6cuXKTNv555+vgP7hD3/ItLW0tCigyWRSVVX7+/vHad18880K6Be/+MVM27JlyxTQ5557LmcMW7duVUDb29szbf/8z/+sgH7ve9/LtE2aNEkB7enpydmn999/vwJ61lln+e/3uMb4+wae9B6fBjwPvBpHo9Qfd40xDOPAJ/33GutvvGKZl71799Ld3U17e/u419rb20veSbZQ5qUc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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "T_coef = np.arange(X.shape[1]) * H / Fs\n", "F_coef = np.arange(X.shape[0]) * Fs / N\n", "\n", "plt.figure(figsize=(8, 2))\n", "\n", "plt.subplot(1, 2, 1)\n", "plt.plot(t, x, c='k')\n", "plt.xlim([min(t), max(t)])\n", "plt.xlabel('Time (seconds)')\n", "\n", "plt.subplot(1, 2, 2)\n", "left = min(T_coef)\n", "right = max(T_coef) + N / Fs\n", "lower = min(F_coef)\n", "upper = max(F_coef)\n", "plt.imshow(Y, origin='lower', aspect='auto', cmap='gray_r', \n", " extent=[left, right, lower, upper])\n", "plt.xlabel('Time (seconds)')\n", "plt.ylabel('Frequency (Hz)')\n", "plt.tight_layout()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example\n", "\n", "As an illustrative example, we consider a recording of a C-major scale played on a piano. In the following figure, the spectrogram representation of the recording is shown, where the time and frequency axes are labeled in a physically meaningful way. Furthermore, the spectrogram is also shown using a logarithmic dB scale (to enhance small sound components that may still be perceptually relevant).\n", "\n", "The spectrogram reveals the frequency information of the played notes over time. For each note, one can observe horizontal lines that are stacked on top of each other. These equally spaced lines correspond to the partials, the integer multiples of the fundamental frequency of a note. Obviously, the higher partials contain less and less of the signal's energy. Furthermore, the decay of each note over time is reflected by the fading out of the horizontal lines.\n", "\n", "\"C0\"\n", "\n", "
\n", "\n", "\n", "\n", "" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "execution": { "iopub.execute_input": "2024-02-15T08:58:27.984636Z", "iopub.status.busy": "2024-02-15T08:58:27.984441Z", "iopub.status.idle": "2024-02-15T08:58:28.496483Z", "shell.execute_reply": "2024-02-15T08:58:28.495951Z" } }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fn_wav = os.path.join('..', 'data', 'C2', 'FMP_C2_F10.wav')\n", "x, Fs = librosa.load(fn_wav)\n", "\n", "H = 1024\n", "N = 2048\n", "w = np.hanning(N)\n", "X = stft_basic(x, w, H)\n", "Y = np.abs(X) ** 2\n", "eps = np.finfo(float).eps\n", "Y_db = 10 * np.log10(Y + eps)\n", "\n", "T_coef = np.arange(X.shape[1]) * H / Fs\n", "F_coef = np.arange(X.shape[0]) * Fs / N\n", "\n", "\n", "fig = plt.figure(figsize=(8, 5))\n", "\n", "gs = matplotlib.gridspec.GridSpec(3, 2, height_ratios=[1, 2, 2], width_ratios=[100, 2])\n", "ax1, ax2, ax3, ax4, ax5, ax6 = [plt.subplot(gs[i]) for i in range(6)]\n", "\n", "t = np.arange(len(x)) / Fs\n", "ax1.plot(t, x, c='gray')\n", "ax1.set_xlim([min(t), max(t)])\n", "\n", "ax2.set_visible(False)\n", "\n", "left = min(T_coef)\n", "right = max(T_coef) + N / Fs\n", "lower = min(F_coef)\n", "upper = max(F_coef)\n", "\n", "im1 = ax3.imshow(Y, origin='lower', aspect='auto', cmap='gray_r', \n", " extent=[left, right, lower, upper])\n", "im1.set_clim([0, 1000])\n", "ax3.set_ylim([0, 5000])\n", "ax3.set_ylabel('Frequency (Hz)')\n", "cbar = fig.colorbar(im1, cax=ax4)\n", "ax4.set_ylabel('Magnitude (linear)', rotation=90)\n", "\n", "im2 = ax5.imshow(Y_db, origin='lower', aspect='auto', cmap='gray_r', \n", " extent=[left, right, lower, upper])\n", "im2.set_clim([-30, 20])\n", "ax5.set_ylim([0, 5000])\n", "ax5.set_xlabel('Time (seconds)')\n", "ax5.set_ylabel('Frequency (Hz)')\n", "cbar = fig.colorbar(im2, cax=ax6)\n", "ax6.set_ylabel('Magnitude (dB)', rotation=90)\n", "\n", "plt.tight_layout()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Further Notes\n", "\n", "We also provide an implementation of the STFT in our library `libfmp`. This implementation also includes padding options and realizes the centric view as used in the FMP notebooks. For details and similar options, we refer to the [FMP notebook on conventions and implementations](../C2/C2_STFT-Conventions.html) and the documentation of `librosa`. In the following code cell, we call the `libfmp` function." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "execution": { "iopub.execute_input": "2024-02-15T08:58:28.499316Z", "iopub.status.busy": "2024-02-15T08:58:28.499123Z", "iopub.status.idle": "2024-02-15T08:58:32.363515Z", "shell.execute_reply": "2024-02-15T08:58:32.362988Z" } }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjgAAADRCAYAAADBociVAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAACPMUlEQVR4nO29eZykV1X//zm173tX9b7NnplskyFoopBAkIAxLKLsmyDgTwTc2PQrBkXxK/IVRISAIAqyKBFCDGEJUdaEzCSTzCSzz/T09N5d1bXvVff3R9W5ebqnl+qluurp3PfrNa/prq566tZTz3Pvued8zjkkhIBCoVAoFArFdsLQ6gEoFAqFQqFQbDbKwFEoFAqFQrHtUAaOQqFQKBSKbYcycBQKhUKhUGw7lIGjUCgUCoVi26EMHIVCoVAoFNuOlhs4RHQrEZ0iorNE9N4l/n4TESWI6Gj935+1YpwKhUKhUCj0g6mVb05ERgD/COB5AMYAPExEdwshnlz01B8JIW5by7FDoZAYHBzcnIEqFAqFQtHmHDlyZE4I0dHqcbQLLTVwAFwP4KwQ4jwAENFXALwIwGIDZ80MDg7i8OHDGz2MQqFQKNqQSqWCo0eP4uDBgyCiVg+nLSCii60eQzvRagOnB8Alze9jAJ65xPN+kYgeAzAB4I+EEE9sxeAUCoVC0Z58+ctfxrlz50BEOHjwYKuHo2hDWq3BWcrsXtw74hEAA0KIqwH8A4BvLHsworcQ0WEiOjw7O7t5o1S0LdFoFKdOnWr1MBQK3fDzn/8cZ86cafUwNsy5c+cAAGquVyxHqw2cMQB9mt97UfPSSIQQSSFEuv7zvQDMRBRa6mBCiDuFEIeEEIc6OpobhhRCIJvNNvU9FKvziU98Al/5yldaPQyFQjd8+9vfxr//+7+3ehibxuTkZKuHoGhTWh2iehjALiIaAjAO4BUAXqV9AhF1ApgWQggiuh41oyy65SNdxLe//W08/PDDMJlMeP7zn4+DBw/CYGi1vbh2jh8/jgcffBBvfvObWz0UhUKxhaRSKbjd7lYPY8NMT0+3egiKNqWlK7IQogzg7QC+A+AEgK8JIZ4gorcR0dvqT3sZgON1Dc7HAbxCtEEL9IcffhgAUC6X8d///d/4i7/4C8Tj8dYOah18/etfx/j4eKuHsS7y+bz8OZfLtXAkCoX+ePTRR1s9hE1BOw8oFFpa7nIQQtwrhNgthNghhPhQ/bFPCSE+Vf/5E0KI/UKIq4UQvyCE+GlrR7w8H/vYx/Bf//VfrR5GQ5TLZRw9erTVw9gQH//4x+XP//f//l/ccccdLRyNQqEvfv7zn7d6CJvGfffdh4mJidWfqHha0XIDR4+s5EB6/PHH8cgjj2zhaNbHJz/5SXzzm9+Uv99xxx2444478J3vfAeVSqWFI2ucpbw2n/3sZ5U2SqFYhnK5LH/OZDItHMnm8tBDD+Ezn/lMq4ehaDOUgbMOVguHfOtb39qikayf+fn5JR9/8MEH8Zd/+ZdbPJrNY3x8HH/7t3+LQqHQ6qE0RLVaxZEjR1CtVls9lA1TrVZxxx134O/+7u9w7NixVg9HsQSlUqnVQ2gqc3NzrR6Coo1QBs46eDq4Qs+ePdvqIWyID3/4w7jvvvtaPYxVOXz4MO655x489NBDrR7KhuHFM51O46677mrxaDaPcrmMVCrV6mEoGuAf//EfWz0ERRuhDJx10Ihq/4477tBNqGcpvvSlL7V6CBvmoYceQrFYbPUwVoQFktshrBaNtjy5cdMQQuCHP/wh8vk8PvShD+GjH/1oq4e0KSz2Pn/yk5/E6dOnWzSa9TM1NbXs3zjcPjExsaKcQLH9UQbOOmg0nPCXf/mXuPvuu3UbftCKePXKX//1X7d6CGvim9/8pm69OU8+eXmHFSEEHnnkkQXaDz1w+vRpPPDAA/ibv/kb+dh2MOBmZmYW/D47O4svf/nLLRrN+vn0pz+96nM+85nP4IMf/KCqk/M0ptV1cHTJWgyWRx99VKZj/tEf/RGcTmezhrXpzM/PX5aZ9Gd/9me66/vCn6Edx87j+fGPf4yLFy/i0qVa55JnPnOpjiXtzdjY2GWPHT58GPfeey++9a1v4QMf+EALRrU+ljLIPvGJT+DFL34xrr76aqRSKZhMJtjt9haMbv0kEolWD2HLufPOO/G6170OQ0NDrR6KYotRBs46WK+Q7SMf+Qj+5E/+BCaTfk/7Bz/4Qbz//e+H2Wxu9VDWzAc/+MG2W2S11xIbNwDw2GOPYWZmBs973vNaMax1sdh4jEajuPfee1s0mubwjW98A9/4xjcWPPaOd7wDPp+v7YznpUgmk60eQkv413/9V/mz3udgReOob3kdHD9+fN2v/dCHPiR/HhwcxOtf//rNGNKW8ld/9VcLfm83o2El7rjjjrby5KTT6SUf50X0pz+9vOzTO97xDvj9/mYOa10sPqef+MQnFvx+xx134J3vfCd8Pt8Wjmp9rKW/0eJQ7h//8R/D4XBs9pA2heWyqB555BFcunQJt99+e9vcG81COwfrae5SrB3ariKsQ4cOicOHDzfl2M0oKHfLLbfgxhtv3PTjLkczi+JtlQGxkc/w8pe/HDabDYODg5s3oHWwkc/wxje+Ef39/Zs4mo3R6GfhRUUIgfPnz8PpdKKzs7OZQ1szm3F/vPrVr8bOnTs3YTSbRyOfKxQK4dWvfnVbG6KbPX/pTT6wHER0RAhxqNXjaBeUB6dN+P73v4/vf//78vfbbrsNBw8e1OVu6oMf/KD8ubOzE29961tbOJql+epXvyp/ftnLXoa9e/fCaDQueE6xWITJZFq2x1ixWITZbG7Zd/T5z39e/vzrv/7rOHDgQEvGsVaWW5xuu+02XHfddVs8muahzUR8+ctfjr1797ZwNI0zNzeHj33sY5c93i6hnWa0ZvjIRz4if37f+94Hi8Wy6e+h2HpafrUS0a0APgbACOCzQogPL/o71f/+QgBZAG8QQrR/qeANcs899+Cee+7Bb/3Wb8Hv98PlcrV6SOtiampqyQXtPe95D2w2WwtGdDn/+Z//uaHX79ixA695zWs2aTTr4+tf/zq+/vWvy9+Hh4fx6le/WlcNYPmaB9pTEL4RtAa1z+fDtddei+uvv75t7oFG4NCOw+HAH/zBH1y2Idgqmp2Rp828fMUrXoE9e/Y09f0UzaOlBg4RGQH8I4DnARgD8DAR3S2E0OabvgDArvq/ZwL4p/r/Tws+97nPLfn4b/7mb2Lfvn3rOmY7CA3/5m/+ZtvEv8+dO4fvf//7uOWWW1o9FMn58+fxF3/xF8v+/eUvfzlOnjyJG264AeFweAtH1hhaLyAAeDweDA8P44YbbsD09LRuvFVLEY/H8cADD+CBBx5o6PlDQ0MIBAK47bbbmjyyxshms5dVO3c6nXjzm9+8JWGtrSw58JWvfGXB7zfccAOe85zntMy4U6yNVntwrgdwVghxHgCI6CsAXgRAa+C8CMC/1juIP0hEPiLqEkKsWNxgu2qLmK997Wvy53e/+91rSldtl7o8d9xxR9uGsNbKT37yEzz44IP40z/901YPpSHYo/DYY48tePz222/Hrl274HK5MD4+jnA43BYZc8lkEkePHpUNYrXeqsUYjUZUKhUQEYQQGB4exmte8xrdeoQuXLiACxcu4MiRI227KchkMpeFtRwOB972trfB7XZDCLFp57+VBVR/+tOfLin8Zw4dOoTDhw/jt3/7t9Hd3b2FI1MsRUtFxkT0MgC3CiHeXP/9tQCeKYR4u+Y59wD4sBDix/Xf7wfwHiHEigri7u5usR0WToVCoVAoGuHP//zPlchYQ6sD9EuZ9IstrkaeU3si0VuI6DARNSd9SqFQKBQKhS5odYhqDECf5vdeAIs7WTbyHACAEOJOAHcCNQ+Ox+PB0NAQiAihUAgulwvT09O4ePEiJiYmsH//fjgcDpRKJVx33XWYnJzE/Pw8vF4vjh8/jrGxMTzrWc/CxMQE5ufnEQwG0dvbix/84AebdwaaxJ49e5BIJJDNZhEMBnHhwgXs3bsXLpcL58+fRywWa/UQN0QkEmmoJ1g74ff7YTQa4XQ6kU6nYTabV+yp0444HA5ceeWVmJ2dRSgUgtvtRj6fx8TEBC5cuNDq4a2bZz/72Zifn0c8HsfQ0BD+93//t9VDWjednZ3IZDIIBoNIJBKoVqu6q2Dc09MDh8OBM2fOoLu7G0SEX/7lX0ahUMCPfvSjbdE1PBgMorOzE6dOncKuXbuwY8cOlMtlJJNJjIyMoFKpyDmOK5u7XC6cOXMGdrtdvk4Igauvvho//OEPW/lx2pJWh6hMAE4DeC6AcQAPA3iVEOIJzXN+FcDbUcuieiaAjwshrl/t2Hqrg7NWrrzySvzar/0akskkgsHgml47Pz/fNn2mbr311nW3JWiH70HLejJ/2ukzXHfddfiVX/kVGI3GdYko2+mzHDhwAMePH8dLXvISXHXVVWt+fTt9FuYP//APN5xNuVWf67d+67fQ11fbl1ar1U3N5kskEvj7v//7TTveZvH+978fJpMJ5XIZRqOxJRmMqg7OQlrqwRFClIno7QC+g1qa+OeEEE8Q0dvqf/8UgHtRM27OopYm/sZWjbcdeMYznoEXvvCF8ve1GjcA2iIDYO/evXj5y1/e6mFsGu0q/tRiMpnwvve9T1ep47/zO7+Djo6OdQlUf/3Xf70JI2oOr3/963HhwgX84i/+oi5Sx6+55hpMTk7C5/PB6XTihS984bLzymZfb61Kknjb296GSCSy6vPaQZSvqNHqEBWEEPeiZsRoH/uU5mcB4He3elxbyVZXpN1qA2e7FHC76aab8OxnP7vVw1gTO3fuxKtf/epWD2NVXve61yEQCMDr9bZ6KE1jtQJyra6q3QhveMMbMDAw0NIxNKsm2Kte9Srs2rWrKcdWtIaWGzhPRywWC973vve17P2tVmtTj+/3+/HmN78ZQghdlz/Xa0XTN7zhDQiHw23f6Xo7FfNrdHevR9rNO7mZHpLnPve5+KVf+qVNO56ivVAGzhbTDpP6ZpZbf+1rX4sf/vCHCAaDK7qp9UI7VVhuBL3W22i3RXOtvOAFL8DY2BhGR0fxrne9q9XD2VQikQje+ta3tnyeaibPfOYzceutt7Z6GIomowycdfDWt74Vn/70p9f8uv/zf/7Ptpk0hoeH8axnPQsDAwMYHh5u9XA2zCtf+Urs3r17y9+Xi9KthRe/+MW46qqrdHst/d7v/V6rh7Ah2Di7/vpVcx10h81mw9ve9rZWD6Np6Klnm2LjKANnHay387GexJ3Lce211+L2229v9TA2TLs0P3zhC1+Ib33rWw09V4/9pRbzkpe8BIFAoNXDWJXbbrtN9sViXvrSl2L//v0tGlHz0Ytea728//3vVwLgpxnKwNki9O6SBxamfuqZdvouGvV+/fEf/zEcDkeTR7MxXvrSl+Kuu+5a8TnrSdluBR6P57LHdu/erWvjEgBCodCSNWT0FppdK3/6p3+q+/C5Yu0oA6eJvP3tb19XGne70U4GwXp4wxvegH/5l39py7h7I80J9TI5Hzhw4DID5/3vfz/+6q/+Cm984xvbXvSsRSsuv/7669Hb29t0cf5WsFxYU2/Gza233or77ruvoee+9a1v1cX9o9h89L0daSGrxd8/8IEPtLVx02gn8ne84x1NHknzGRgYwAc+8IG2M26Y3/md31n2b1deeaVuJufFi+fw8DDMZjM+8IEPoL+/Hx0dHS0a2drRhqFf8IIX4Morr2zhaDYPveq2FnPw4MGGnvf85z9/3ZIChf5RHpx1Mjw8jJ///OeXPb5v3z687GUva8GI1saOHTtw4sSJFZ9z1VVXwe/3b9GINh+9eNDC4TDe9KY34Z//+Z/lYwMDA7h48SJe8pKXtHBkG+PXfu3XWj2EdaP3UNRy7Nu3DzMzM60exoZZTUvz0pe+dNsYpYr1owycddLV1SV/7uzsRLlcxhve8Abd1H05ePAgvF4vvvSlLy3599e97nUYGhra4lGtjc7OzhV7OenBuGF6e3vx3ve+Fx/+8IcB1MJqitZhNpvxqle9Spcp+Ctx1VVXXdZn6wUveEGLRtMcrr32WmXcKAAoA2fdaAWfb37zm3UTRmCICDt37sTv//7vI5VKgXuSWSwW2Gy2JUWW7cZNN92Er3zlK0v+7T3vec8Wj2bjWK1W3HrrrS1JV28GersnFrMdq9ouzmDTu75uMbt3794WWZ6KzUEZOOtEWyxPzxO5x+PRhTGzFHv27MHw8DDOnz+/4PF3vvOduhNNMuttPNqOuN3uVg9B8TTjla98ZauHoGgjWmbgEFEAwFcBDAIYAfCbQoj5JZ43AiAFoAKg3E6dUm+//XZdCSe3I6997WshhMAHP/hBADXdRyOZSYrm8IY3vAHHjh3D1Vdf3eqhKJ5mtHsZBcXW00oPznsB3C+E+DARvbf++3JxhZuFEJcXb2gx1157bauHoEAt3LZr1y6cOXOm4ewKRXMYGBhoeTNGRWO86U1vavUQNo13v/vd2yKNX7G5tNLAeRGAm+o/fwHA/2B5A0ehWJFXvOIVa255oFA8nent7W31EDYNPdVYUmwdrcyFjAghJgGg/n94mecJAN8loiNE9JYtG51CVxgMBlWGXaFQKBSSpnpwiOj7AJaqsvQnazjMjUKICSIKA/geEZ0UQvxwmfd7C4C3AEB/f/+ax6tQKBTbne2SObV//3488cQTeM5zntPqoSjalKYaOEKIW5b7GxFNE1GXEGKSiLoALFl9SggxUf9/hoj+C8D1AJY0cIQQdwK4EwAOHTokNjp+hUKhULQnz3nOc5BIJPCMZzyj1UNRtCmtDFHdDeD19Z9fD+Cbi59ARE4icvPPAH4FwPEtG6FCoVAo2pJAIIA3velNui0JoWg+xAXetvyNiYIAvgagH8AogN8QQsSIqBvAZ4UQLySiYQD/VX+JCcC/CyE+1ODxUwBONWHoTydCANoue02HqPO4OajzuHHUOdwc2vU8DgghVO2SOi0zcJoNER1up5o5ekSdw81BncfNQZ3HjaPO4eagzqM+2J4d5RQKhUKhUDytUQaOQqFQKBSKbcd2NnDubPUAtgHqHG4O6jxuDuo8bhx1DjcHdR51wLbV4CgUCoVCoXj6sp09OAqFQqFQKJ6mbDsDh4huJaJTRHS23sRTsUaIqI+IHiCiE0T0BBG9s9Vj0itEZCSiR4nonlaPRa8QkY+I/pOITtavyV9s9Zj0CBH9fv1+Pk5EXyYiVUCmAYjoc0Q0Q0THNY8FiOh7RHSm/r+/lWNULM22MnCIyAjgHwG8AMAVAF5JRFe0dlS6pAzgD4UQ+wD8AoDfVedx3bwTwIlWD0LnfAzAfUKIvQCuhjqfa4aIegC8A8AhIcQBAEYAr2jtqHTDvwC4ddFj7wVwvxBiF4D7678r2oxtZeCg1sbhrBDivBCiCOArqHUtV6wBIcSkEOKR+s8p1BaUntaOSn8QUS+AXwXw2VaPRa8QkQfAswD8MwAIIYpCiHhLB6VfTADsRGQC4AAw0eLx6IJ678PYoodfBOAL9Z+/AODFWzkmRWNsNwOnB8Alze9jUAvzhiCiQQDXAnioxUPRI38P4N0Aqi0eh54ZBjAL4PP1UN9n621bFGtACDEO4COoVY2fBJAQQny3taPSNREhxCRQ2xACCLd4PIol2G4GDi3xmEoTWydE5ALwdQDvEkIkWz0ePUFEtwGYEUIcafVYdI4JwEEA/ySEuBZABiocsGbqGpEXARgC0A3ASUSvae2oFIrmst0MnDEAfZrfe6HcsOuCiMyoGTdfEkLc1erx6JAbAdxORCOohUqfQ0RfbO2QdMkYgDEhBHsQ/xM1g0exNm4BcEEIMSuEKAG4C8ANLR6Tnpkmoi4AqP8/0+LxKJZguxk4DwPYRURDRGRBTUR3d4vHpDuIiFDTPJwQQny01ePRI0KI9wkheoUQg6hdhz8QQqgd8xoRQkwBuEREe+oPPRfAky0ckl4ZBfALROSo39/PhRJrb4S7Aby+/vPrAXyzhWNRLIOp1QPYTIQQZSJ6O4DvoJYl8DkhxBMtHpYeuRHAawEcI6Kj9cfeL4S4t3VDUjyN+T0AX6pvWs4DeGOLx6M7hBAPEdF/AngEtSzJR6Gq8TYEEX0ZwE0AQkQ0BuADAD4M4GtE9CbUjMffaN0IFcuhKhkrFAqFQqHYdmy3EJVCoVAoFAqFMnAUCoVCoVBsP5SBo1AoFAqFYtuhDByFQqFQKBTbDmXgKBQKhUKh2HYoA0ehUCgUCsW2Qxk4CoVCoVAoth3KwFEoFAqFQrHtUAaOQqFQKBSKNUFEfUT0ABGdIKIniOid9ccDRPQ9IjpT/9/fsjGqSsYKhUKhUCjWQr3JaJcQ4hEicgM4AuDFAN4AICaE+DARvReAXwjxnlaMUXlwFAqFQqFQrAkhxKQQ4pH6zynUmrf2AHgRgC/Un/YF1IyelqA8OAqFQqFQKNYNEQ0C+CGAAwBGhRA+zd/mhRAtCVNtq27iWkKhkBgcHGz1MNqeSqUCo9HY6mEoFAqFYoOMjIxgbm6OGnkuEa3m3XgCQF7z+51CiMs60BORC8DXAbxLCJEkaujtt4Rta+AMDg7i8OHDTX2PTCYDp9PZ1PdoFoVCARMTEzh9+jTMZjNCoRCcTie8Xi8sFgusVivK5TKq1SrMZjOMRiOMRiMMBhXVbBb5fB42m63Vw9gQk5OTmJubQzQahd1uh8VigdPphNlsRrlchsFgQCQSkb8DgBACBoMBVqu1LY3tRCIBj8eDdpq4FUAymUSlUoHX6112XsrlcigUCnC73W15bW02hw4dWtPzVzonlUolL4RY8YBEZEbNuPmSEOKu+sPTRNQlhJis63Rm1jSoTWTbGjhbgV6NGwCwWq0YGhrC0NDQis9pd7LZLCYnJ1GpVBCJRGCxWGAymXRpjOnduAGArq4uBINBpFIpBIPBFZ/b7tdXqVSC2WyG1+tt9VAUS+DxeFZ9jt1uh91u34LR6A8iWnGOrFQqq72eAPwzgBNCiI9q/nQ3gNcD+HD9/29ueLDrRBk4Ct0Sj8cxNjaGkZERAIDL5QIAGAyGp8VurV2xWCyrGjd6wGw2t3oICkVTWWmeLJVKq738RgCvBXCMiI7WH3s/aobN14joTQBGAfzGhge6TpSBo9AtPp8PPp8Pg4ODqFarDe3o2pVUKoXJyUns2LFjTcaZEEKFThRrRmnvFES0oWtACPFjAMtNPs9d94E3EX358NuM48ePI5vNtnoYT3sqlQry+fzqT2xTYrEYpqenkcvlMDk5iXg83vBrlXGjWA96vl8UmwdrK5f6tx1QHpwNMDo6irm5OTidTgQCAbjdbjgcDpjNZpRKJQghYLVaQUSoVCqoVquoVCogIqkVWRwDrVarW6odSSQSUgyqZ/QcTrBarahWqygUCrDb7br2RCnan1wuh/vvvx/9/f3Ys2ePbjUq8XgcLpcLJpNaxtbDRj04ekBdGRvguuuuQ0dHx5IGyWIBZaML8FYZN5OTk5iensaxY8dgsVjQ1dUFg8EAs9kss6m6urpgMplQKpWQyWTgcDgWGGUsQmv1TeJyuaDnek5OpxORSAREBLPZ3NBnUaEpxXrhbLZ8Po+ZmRlYLBZYLBYEAgFdXVM+n6/VQ9A1ysBRrEgkEmn1ENZNIBCA2WxGR0eHNG6Ww2w2LzmZtMPNIYRoi3FsFK/Xu6ZsHT0tRHqlWCzq3rO5FG63G7fccsu2yNpTbAw9zJ1EFEZN0NwNIAfgOIDDQojqaq9d1cAhIgOAqzUHf0IIMb2hEW8TstksHA5Hq4exLqxWK6xWK06dOoWLFy8iEono7rPMzc1hZGQEs7OzMk3c4/Fg165dlxlslUoFuVwODodDd+njeoM9Ax0dHboNfwDYlsYNo4wbxWpp4q2GiG4G8F4AAQCPolZPx4Za64cdRPSfAP5OCJFc7hjLGjhEtAPAewDcAuAMgNn6wXcTURbApwF8oRErarvy8MMP48CBA7pOiQ0EAnA4HLozbgBIbZPBYAARwWq1LmvAGI1GmUberkxMTKC7u7vVw9gwNpsN/f39rR7GhimXy0rf0cao72fjtLkH54UAflsIMbr4D0RkAnAbgOehVmhwSVa6Ov4SwD8BeKtYJAogogiAV6KWA/+FJV677UmlUhgZGUGlUkF/fz9MJhNMJhN6e3sben21WoUQAtVqFUQEIkKpVEK5XJZF6sxm85KLdT6flwv6Runo6NjwMVpFMBhEMBjEzMwMKpUKurq6Wj2kdXHmzBkcPXoUY2NjGBoagt/vx8DAAGw2G8rlMkqlEuLxOIrFIjKZDIxGIywWC9xuNwKBAIrFIorFImw2m6xCbTKZ4Ha7l3y/+fl5GI1GuN3upoS6EokEZmdnEQgE4HK55LVuMplARMhmsyiXy8jlcjCZTPD5fLI4YzsRi8UQCATUItqmRKNRAIDf718yYUOxMu2uwRFC/PEKfysD+MZqx1j2zhVCvHKFv00D+PvVDr6dcbvd2Lt3L4aGhhAOh9f8er4ZtRdYoxfbZriX0+k00uk04vE43G43enp6NnzMVrGe899OWK1WXHvttbjqqqswODjY9Aq/fn/z+t5Vq1W43e4VWxvoJUusVCqhUCgoA6dNSSQSMBgM8noym81Km7ZG2tnAAQAiejaAeSHE40T0mwCeBeAcgE8KIQqrvb4RDc45AH8rhPiU5rF7hBC3bWDc2wKPx6Pbdg2Tk5OYnJzE6dOnYbFYpAbH4/FIL4AQQop4DQYDqtVaNNLhcMBms10mis1ms7Db7XKS2YpMn3g8jkKhAKvVqtusiq6uLuRyOZTL5bZvX7Aa2WwWJpNJ9i/TM6OjoyiVSrq9x1cinU63fch2NXbv3t3qIeiadvfgENE/ArgKgJWITgNwAbgPwA0APgfg1asdo5GtSQnAzUT0TNTCVUUADW/3icgI4DCAcSHEbUQUAPBVAIMARgD8phBivv7c9wF4E4AKgHcIIb5Tf/w6AP8CwA7gXgDvXBw2awUul0u3btFAIIBCoYBAIAC73Y6enh74/X50dnau+6JfrOPZit2Uz+fD3NwcCoVVjfm2xWw2w2w2r9r7RQ/ofdHU4nQ6Ua1WkUwmdeN1ahTerCievrS7gQPgZiHEFURkAzAOICyEqBDRpwE83sgBGlmds0KIlwM4AeBHRDQAYC3GxTvrr2XeC+B+IcQuAPfXfwcRXQHgFQD2A7gVwCfrxhFQ0wK9BcCu+r9b1/D+TaOvr0+3WSKzs7OIx+Oy5ooQAuVyGcViEblcDrlcThYrbGcSiQSmpqYwOzvb6qFsmDafbBqCQ5/pdLrVQ9kw586dw/nz5zE+Pr4tjE8tei6MySgjbeMYDIZl/7UBeQAQQuQBXBRCVOq/C9QcL6vSiAeH6gf9v0R0BMB3UEvbWv2FRL0AfhXAhwD8Qf3hFwG4qf7zFwD8D2rZWi8C8JV6XO0CEZ0FcD0RjQDwCCF+Vj/mv6KWJvbtRsbQTO655x44HA44nU6Zcud2u2G1WuH1emEymZDL5QDUdBac7cNwU0jt/1tFMBiE0WhEtVqF1+vF7t27dRkeMZlMOH36NJLJJObm5mC326VoldN8uYCexWKBzWaDzWZTsfomUSqVkM/nkc/nYTabV7ymMpkMgFo6drsuuGNjYzh+/DiOHDmCzs5OuFwuOBwO2O32BUUZXS4XLBbLZWHbYrGIQqGAdDotQ75cWI/nDJ4/toJkMonx8XE88cQTsNlscLlc8Hg8UgxerVZhs9lgMpng9/ulroUrbTOVSmVBM0a+r7T6wGZXZecMSsX60IEHJ0xEf4CaDcI/o/57Q9kxjRg4f8Y/CCHuJ6Lno9YCvRH+HsC7AWjTOSJCiMn68SbrRXyAWtjrQc3zxuqPleo/L3685eRyOfT392Pfvn0LjBfOigKwbCZLq+no6IDT6UShUEBXV5cujRugtqDu27cPRIS9e/e2ejhPe8bHxxGPxxGPxzE3Nwe/34/u7u7LwpflchmxWEw2feRNwWYb+6zPWg889kAggL6+vnWJ+9mYaZd5gDPwXC4Xurq6MDAwALfb3dBCt1ZvdbONj3Y1ivVEmxs4n8FTtoP2ZwD4bCMHWKkOzsH6j+Oan5l7VjswEd0GYEYIcYSIbmpgLEttYcQKjy/1nm9BLZS1JXU4brzxRlQqFYyNjcFqtcq0biKCy+Vqa1X/xMQEJicnce7cOUSjUdx4440LskVyudyCCa1duw9zR3G9UywWMTIygmAwKD0EQC2lWwgBr9d72fnnMgN8zQkh5PfUquvuwIEDDT3PZDKhr6+vyaO5vGXKWrjuuutkGYftUhjP6XRix44d8Hg8cLvd2+ZzKdZOu3twhBB3bPQYK3lw/k7z83WoCYV51hQAnrPKsW8EcDsRvRC1AoEeIvoigGki6qp7b7pQq04I1Dwz2hmvF8BE/fHeJR6/DCHEnQDuBIBDhw41XTxCRFsySTeD7u5uVCoVPPbYYygWi/jJT34Ct9uNUCgkPVAcOuD/2/lm0DsWiwUej+eyopErpXQvnqCIqC1SmovFIvL5vO6FuZxNuB3Rc/0rJpvNSu+fYn2085xORB9f6e9CiHesdoyV6uDcrHmjR4UQqxk0i1//PgDvq7/+JgB/JIR4DRH9LWohrg/X//9m/SV3A/h3Ivooam0hdgH4eV01nSKiXwDwEIDXAfiH1d5/KwRoJ0+eRKlU0mXV1nK5DIvFgh07dsBoNMLn88lCcZzma7PZYLVaUSqVZCf0xToixeZQKBRQLpd13f4DAE6dOoVMJoNsNourrrpK10bOdl448/m87r03XDxSsT7a3YMD4Ej9/xsBXIFa9jUA/IbmbyvS6NWxmd6QDwP4GhG9CcAoaoOFEOIJIvoagCcBlAH8LqumAfwOnkoT/zYaEBg3exEulUo4duwYTp8+Lfs6mc1mBINBOJ1OmM1mmEwmGapyOp0wGo0wm80oFApIJBKwWq3weDyw2WxbLpYzmUwIh8Oyou1Kk7mKdTcXLihnt9t1bdwAQGdnpxSr6tm4AWo1liwWi+6/k6UoFAq6N3COHKmtcf39/QiFQpeVKGi2yFnvtLuBI4T4AgAQ0RtQSxkv1X//FIDvNnKMLTF/hRD/g1q2FIQQUQDPXeZ5H0It42rx44cBNBbc3yLy+TxOnz6NUCiEcDgMq9UKm80mLxin0ymL4RmNxgVeEKfT2Ra6ESKShf30yszMDCYmJlAul+H3+xdksNlsNlSrVZTLZXnuFxu+HI7jLDctrHFZPAlUq1XZGmEzyGQyKJfLbZ+S3wherxezs7OYnJxcoCXSI5zptBGhcruyHeoVzczMyNIW09PT6OjoQCAQkHMr3/tCiGXb3jDFYvGydg9CCBSLRZn9pudreTl0YgB2oyYwjtV/d9UfW5WVRMb/gKc8N72L42GNxL9aSbMXC7fbjRtuuAGBQADBYBC9vb0IhUKyhoBewjjZbBYGg0G3rl6Px4NkMolKpYJQKAS3273gpjUajevepSy3wzEYDJu6+zWZTEilUsjn87rXRjz66KNIJBJIpVKw2+3o7e3V7cIQjUZRqVQghEBnZ6duP8dStPPOvVGGhoZgNBrR398vq6trWcucttQmb7P6/bUr7e7B0fBhAI8S0QP1358N4M8beeFKV8Bhzc8Nxbuebtx6662XeW70wsmTJzE9PY2zZ8/KLJFAIIDe3l5ZGyOXy6FQKKCzsxMOhwMTExPIZrOwWq0wGo3Sw1EsFmE0GuUkow1N5PN55HI5uN3uBRPO5OTkpuiXbDYbOjs7US6XV+x/1M64XC7E43FZF0bPJJNJnDx5EidPnsRjjz0Gj8cjw7c9PT2w2WzI5/MyLMfhLO1ky141raHKtVk4hdxiscBoNEqjgzV3LLS2WCzy+gyFQggEGirdtYD77rtPhjlCoRA6Ojpgt9thsVjg9/tht9tlMUx+fLlwVqFQgNFohMlkkuNKJBLI5XKyhg57GLndSalU2pCBvhLJZBIOh0O3GxugVmjV7XZvK8Nzq9HDuiWE+DwRfRvAM+sPvVcIMdXIa1cSGeu6S/hWuN6eeOIJ7N+/X5e9ajwej+xM7fV6sX//fqkb8vl8S9bt6O5uyCu4gMXFv5jN7Pw9OTkJAG0R9lsvp0+fxuOPP44jR47AarWiu7tbnjej0ShDiayXcjqdCxYnLiRXrValAWG1WkFESKfTICJZhI4LtnF3b15EOWNuvUZioVDA5OQkbDYb9u3bh3A4DJ/PB4/HA7vdjlAoBJvNBqfTiWKxiNOnT0MIgUAgsKD5LF+HbBBw7ZatRAiBWCwmDY58Pi+NFIPBID07rK0DVp5ztJ4APueBQAClUkl+D0yhUJBGHFALYfJ3s1EqlQpGR0fx6KOPore3F8PDw6tq8NoVvTfZbTXt7sEhokEhxAgA1A2aby76OwHoEUKMLfFyACuHqO4E8HEhxPEl/uYE8HIABSHEl9Y3/ObS7BBVLBbDvffei9OnT2PXrl3w+/1wu90YHBxc03HK5fKquyje4fIkODs7C7vdvuE4usPhwM6dOxEIBLBz5069xGMvQ4+T82J+6Zd+CYODg3A6netqHKq9FhZX0w2FQpsxxFVhw8vj8cBoNGLfvn3o6+tb0mCy2+244oorkM/npfevnSAivOxlL4MQAgaDAX6/vyld2JcS8C++njdzA3XixAmcOHECDzzwALxer9SseL1e+Hw+OBwOuN1uWCwWGW5no5c1LZlMBqVSCdlsFtVqVWpUuA4Te70MBoPUvrDGjY/rcDgW6GXWw9mzZ+FwONa18VLUaGcDB8DfEpEBNcPmCIBZ1ErO7ARwM2pa3g9gYSHgBay0sn4SwJ8R0ZUAjmsOvguAB7Vunm1p3ADNN3BMJhM6OzthMBgwOzuL+fl5GI1GXLhwAVarVQrW2LXOuhx2PafTaZhMJtjt9ssEsA6HA2azGYlEAuVyWe7WeUdeLpc3rAHhzC7O+tKrcQNsTVHHZkNEMhSoZwYGBqTXxe/3r+gN4iaj7Uo4HEalUkGlUmmKcdMKrrjiCni9Xng8HkQiEakd1COdnZ26TpBoNe3uwRFC/Ea9R+WrAfwWgC4AWdR6W94L4EP1PlXLslKI6iiA3yQiF4BD9YPnAJwQQpzalE/QRJpt4Hg8Htx6663SZc2F8Ni9zkbORm7AZhYRdDqdqFQqyOVyup0kEokETp8+jampWjh2YGBAGm1Wq1XG5svlstxRchiHjc1GwzHlclnqRlwu16ZrF2KxGKLRKK644opNPe5WMzQ0JHtRtUt7gvUyMTEBl8uFzs7OVg9l02Dvit1uh9/v161xA2yPTLBW0+4bWyHEkwD+ZL2vX3WWFkKkUU/x1hPNFptms1mMjo5i165daw5LtQNslFUqFd3Wwzhz5gxOnTqFc+fOoVAo4PTp07Db7QgGg1LwqRV+aos/Lu4OzRO/z+db0HJD65png3Vqakq65wFIcfXw8PC6P4vZbJai1Xb2aqzG5OQkisUiSqWSbDuhVxKJhNQy6dkQ0MLXF+uj9MyFCxdkNfl29kS0K+3uwdkM9CuhX4Vme3AcDsempwtvJXNzc5idncXJkydhtVrR2dkpqxcz7I1iY5G9VFzIkLUBWg+JFiHEsoYmZ1dxXH49mRC8u+aQ3sGDB2WPHT3x+OOPI5PJyGy0QCCg292p2+2WKe+5XE7XBg6Lo/V6jy8F32f5fF63nltmfn5eZtMp1o4ycHROMxtEzszM4Ec/+hHGxsawY8cOhEIheDwemV3BFYxZf8P/jEYjqtWq1OBwKwSuLGqxWGRhOmax6HAzdvm9vb3o6uqS6d42mw0Oh0MWJmQ39kpw64blwjUredGWy65aC6VSCfl8Hul0Wgpc9WbcXLx4ESdOnMCFCxdkiCoUCsHn88FqtUpDGngqfbpcLqNcLstjaHsmsdiTs6bMZrMsVrhcGn0ymUSpVEKxWITVapXdptfDkSNH5PWTSCRgMpng9/ths9lgt9thNptlQcZ2h1O6OYtJD2NuhEqlgpmZGRARent7dVlaIZ1O4+jRoyAizMzMyHsgFAqhp6dH98bbVvG0N3CI6MBSmVTtTrOt02w2i2g0inK5jJmZGXi9XjgcDulNYC8H6zVYTJzP5+UCpDV8tN6PYrEohcQmkwlOpxMWiwU+nw/lcll2L+/t7V1hhKtjNBqxc+fOde+yW31zXHnllejq6sLo6Khu+9LwNRGLxTA1NQWDwQCXyyWNE/aacTsQn8+HarUqa6SYzWYUi0VZbZcrOBuNRsRiMZnBwhO+xWKBzWZDoVBANBqV12Iul0M2m5Wez6uvvnpdnycej2NsbAwTExPo7u5GIBCQRr/H45GGAn8mvld4keVNAP/jOjn8OBv/bEQBT93rfE9xZ3U+v/39/esyTg4fPiyLvYVCIXR1dWFwcLDl1/1GcblcsNlsMJvNujRugFoo9OjRoyiXy7h06RLcbjcikQii0SiSyaR8nsPhkHo83hQKIZDL5RZUKefrrFwuLzBmuQqyNmzNmwhO59eG+oQQmJ+fh91ub/v6PJuxRhLRrQA+BsAI4LNCiA9vxtgWvQehJjQeFkJ8kIj6AXQKIX6+2msbWRE+RUQW1HpB/bsQIr6RwW4VlUqlqY0LBwcH8cpXvhI9PT3o6enZssXVaDRix44dm3a8arWq21L0c3NzGB8fx9TUFIgI4XAYRKSrukSDg4MYHR1FMBhEuVzGvn37EAqFLusqvtnYbDb09PRs+nEPHDiAzs5OzM3N4cCBAxgYGIDL5dLlQppIJDA/P4/Z2Vn4fD6ZTu12u+F2u2Gz2eDz+WCxWJBOp+WCKYRAPp+XCwgvmLxAulwuOJ1OJJNJ5PN5FItF6dWtVqvSc1QsFuU8ZjabpYc1FAptKDU6lUpJg1mvcJkBq9WKAwcOIBgMYmhoqOHrbDOy4paaZ4hoXUUlW8FGDRwiMgL4RwDPQy1V+2EiursuDN5MPgmgCuA5AD4IIAXg6wCesdoLGxEZ/xIR7UItTeswEf0cwOeFEN/b0JCbzFbEF9krk06ndSvYS6fTsNvtupzsotEozpw5Iz0fPp8P2WxWlnAHWu9lWg0igtvthsPhgBAC4XBY1ynJ8/PzsFqtGBgYgMPhQLlc1qVxA9RCwzt37sQv/dIvIRwOIxKJXFZjaCO0Ys6Yn59HNBrF5OSkDE0v1Yet3fH7/YhEIrDZbAiHw+jo6NDtddZKNjg/Xg/grBDiPAAQ0VcAvAi1htmbyTOFEAeJ6FEAEELM150uq9KQ20EIcYaI/hS19g0fB3Bt3W30fiHEXesddTNh13wzcblcCAaDuuyafPjwYUxNTeHkyZOwWCyIRCLweDwIh8NwOBxwOp3wer2yUisRIZ/Po1wuI5FIoFKpwOVyLQivaUvWLweHU5LJJIQQGwqz8W750qVLyGazSCQSMhZvMpmke9rpdKKjowM9PT2IxWJIJBIyhMFu+nw+L0Mh2uq+drtdVtTlzCtthV2DwYBcLodyuYzh4eE1e48ymQzm5+elIaBHQ1OLEAIOhwMejwddXV1t76ZfCa/Xi46ODuzatUt6XfROuVzGxMQEHnjgAVnUT1syQfuP723ORmR9HreVKBaL8n7hcCO/tru7Gy6Xa0EoSKsfY91cMBiUWsW1YDAYUK1WpTGtWDuL26Gsgx4AlzS/j+GpdgqbSanuLRIAQEQdqHl0VqURDc5VAN4I4FcBfA/ArwkhHiGibgA/A9CWBk6zyeVyuPfee9Hd3Y3e3l5ZyZgXvcVVQHl3IYSAxWLZkEg4k8lIgfJ6mZiYwNjYGC5dugSbzQYiQjQaxejoKDwej9SALJ54uHS9wWDA9PQ0iEhObDwml8slDQSOVzOsvzAajRsOI3o8HvT19aG3txdmsxm9vb3weDwrHm+juqXNhuvrsMaEjTQ96okASI9moVCQ/Zr0islkkuElvX4fi+HWEJFIBJFIBP39/VJj0tnZCa/Xu6b6UKuxXCJBJBLZ0HG5kvt2MDpbySoenBARaXtS3imEuFPz+1IXSTPSlz8O4L8AhInoQwBeBuBPG3lhI3ftJwB8BjVvTY4fFEJM1L06T0vK5TJcLhdisRhmZ2cXpFTzjoY9ACwy5t0Px9MByEaX2kWZJ9R0Oo1yubygmKA2rr8R9u3bh8HBQdx8882wWq3w+/3S47EVbIY2qlAoLEhR7+joaPuQ1GKICHNzcyiVSgBqVZkDgYBuF9REIiHF9rlcTtd1fVgDA2yPdiBAzWPJgtyenh4MDg4iEAjoMrxz4MABlS21ARqQccwJIQ6t8PcxANpqtL0AJjZjbFqEEF8ioiOotWYgAC8WQpxo5LWNzKIvBJATQlQAoN4bwiaEyAoh/m29g2422jTrZuB2u3HNNdego6MD4XC4KbUymrn7HRgYQCqVwtzc3IJwjp7g3jeXLl2CwWCQJej9fr9uDIRyuYxcLofZ2VmkUimMjIzAbDZjcHBQdt7mtiAOhwPBYFAadKVSSYYAWJyqDSVqu3MbDAbZ0Z07bQshZDYTp4lrr+W1Gidzc3O4dOmSfI9SqYREIoFIJCJFuUuxUr2kVpLL5ZDJZJBMJhdUxtYzHR0d8jrh3lPteO4boVAoXFawU7E2NrghfBjALiIaAjAO4BUAXrUZ4wIAItKqtWcAfFn7NyFEbLVjNLIKfB/ALQDS9d8dAL4L4IbGh7r1cFn+Zt68XV1dsi2A3kilUtL75HK5dNlRuLe3F+VyGZVKBYVCAZcuXZIGjl4IBAJ43vOeh2PHjmF8fBw7duxAIBBAJBKB0+mUnyWXqzlPt1IQulbPSyaTkQUkZ2dn0dHRAY/HI8sc+P3+BeG3XC4n71E2tDhUx+Eh9nhyWrM29AvUavhUKhVZF0gbCi4UCsjn8+jr60NPTw8CgcCaNiJ8XWWzWd3dG8vB5QBSqRT27NmjW+8aUOtFpVfjrB3YaCKOEKJMRG8H8B3U0sQ/J4R4YrPGh1qDTYGa16YfwHz9Zx+AUQBDqx2gEQPHVm/XAKDWuoGIdFGetNkX/6lTp6QGR2+x4GAwCLvdjrNnz0pPSDMLIzaDyclJjIyM4OLFixBCYP/+/bDb7brLauvv70ehUIDX60U4HIbL5bpMK6QH78HAwAAOHjyImZkZzM7OYmhoCF1dXdKD09fXB4PBgEKhgGKxiFQqBQAylNtuYv1kMgkiwtTUFIQQ6OrqkvWt9IrdbkcoFJJFMvX8Wc6cOQOz2az7/m2tYjMyjYUQ96LW+HLTEUIMAQARfQrA3fX3AhG9ADWny6o0YuBkiOigEOKR+sGvQ63pZlvT7F1uqVSSfZBMJhMGBgYQiUTgcrlkBVqTybSgud1mwRk3G7k4z5w5g+npaUxOTqJSqeDkyZNwu90Ih8Ow2+1SR2G1WmU4g4vOAZDZFVzJmMMR2kq6rC9aave72DW+Hm8bh15OnjyJWCyGRx55BBaLBR0dHbBarXC73XLh5MJbi0XPrI3KZDLSCyCEkOeYtVXsQeAiepxVxZ3g+ZgGg0FW7m10weZqzMlkEj09Pbqrxqzl9ttvx/j4OMbHxxEIBOB2u9HZ2bngWuUaLO3+OY1GIyYnJ3H69Gn5nVer1QWJAvxd83XBejm+NwwGg/QwcTVnl8sFh8MBl8sFi8WC2dlZZDIZ5HK5BZsMDl9OTExInRxnN25kUWfvVjweR6VS0dVmgJmfn8d///d/o1gswufzweVyyfpR3d3d8r7lSvKsiVys/ePiflzFeyWDj5+7mu4nHo/L92x3z59ONrTPEEK8jX8RQnybiP6ikRc2YuC8C8B/EBGLh7oAvHzNQ9xmJBIJxONxOfFx1hHfALOzszCZTBgcHITVapWC2Hw+L/s5aauxLrXAs2eFs5FSqZRMszSZTLIy7HoolUqwWCzYtWsXnE4nuru75eS7noveYrFsyIu1Hm9bd3c3TCYTzpw5g2QyiauuumpBqnsgEGj7HWq1WsWlS7VMy1AotKDiqh65ePEicrncgsqvOplELyMQCCAcDkuvjcVikXWKONTGCyiXDViOlbyjW913LJPJ4MyZM+jr69NNUbrFpFIpzM7OgojQ2dkJg8GAVColN1pOp1OWu2Djk2tOmc1mObdms1kQkdSMseFqsViQy+WQTqfldczf8WIDh8OkvHmqVCryPdqZTUgT3yrm6glNX0QtZPUaANFGXthIob+HiWgvgD2oxb9OCiFKGxjstoBTogcHBzE0NCS78y6XHcTW/HJGwFILPN9U/PNmFhlzOBzIZrOYnJxEd3c3Ojs7N+3YW0k4HEZfXx+SySSuvPJK+Hw+XTVHNBgM6O/vx2OPPYbx8XHZH0yvcPuSUqnUcNHCdhUZs77O5/Oho6MDkUhk3QtCu3yn3KbAZDIhl8thcnJS9j7TE729vfiVX/kVmEwmDA0NyRYkwWBwTed6JQOv0XYL7RZaXQvtcl2uwisBfAC1VHEA+GH9sVVpNNXkGQAG68+/tt6P41/XOMgtpdnWs9vtxs6dO+F0OlEsFgFAN5k7AGR5eI/Hg2q1irNnzyIcDuvuZo3H4zCZTLIGkR69Hxw6S6VSSCQSsNvt8Pv9MJvNutNF9fb2IplMIpVKoVAoIBaLoaura0nDYGpqCtVqFeFwuC3vHa7wbbFYYLFY9LLbXZF4PI7R0VE88sgjssZPIBCAz+dDIBCAw+GQ3o5SqSSzrfgatFgsMq18Ke8c90lbLjTDjYVnZ2fhdrsRCoXW9TkMBgN6e3tltWmguc2VtyN68a7Ws6XeuZ7XNlLo798A7ABwFADn5AkAbW3gNHtHaDQaEYlEpKt6I71hWgFrPmKxmNQJ5fN5GTrTA9zzZ3h4GMBTjSv1JPhOJpMYHR3F2NgYEokE7r77bpTLZant6OjogMPhQEdHhyzIxunhwMLrPJfLoVAoyHpJhUJhQWNKrR6B9UTc3wionc9sNot8Pi8bMnLht0Y5f/681Jyw13I5w8Dtdrd1k1Sv1ytLKGyXeit+vx+7du3C448/DovFIo1pDu16PB4ZinE6nbJiMPBU5XCtBpAzzWw2m9QcraQ74Wt4M8JyRIRKpYJUKiU3OIq1oYdzRkQPYIkCgkKI56z22kZmlkMArhDtHlDcYkZHR3HPPffA4/HA4/FgZGQEHR0dMl5fKBQA1OpOcPsA9jCUSiUkk0mZGsu7Jhb/rbRbrFarSKVSUsi43guU66VMTk5iYmICZ8+ehdvtlqm9XM3Y5XLJuiosyOX0XhZS8vFI02mXxbe8Ay4UCrKuisFgQLlcXtAuYT0u8lOnTmFiYgIzMzMwGAy44oor5HnXi5Hj8XhgNBrh9/thNBpx5ZVXIhQKyWaNoVBoSw2AjWgyuLMzG2xut3tBCQKfzyevdyKSpf5ZzO7xeKSwlq8jvk60Gge+bvg6Yy0B30/8O+vVeBzBYFBqMBqBawu5XC5degaXw+v14uabb17QVmGl+0U7F7FehVlKuLtVcKPTdhertyt68eAA+CPNzzYAvw6g3MgLG5k5jwPoBDC59nFtX7iRIO+yzWYz8vk8QqEQPB6PFKYxmUwGZrN5QWVjLVyRdzX9CBe02yhPPPGEXIicTif6+/tRqVSQTqelkI5FzYFAAE6nE9lsFgCQzWZRKpUwOjoqPQTs6ubu5Fw/xG63S5Ef1yYSQmBiYgLVahUHDhxYd4bZ8ePH8fDDD+PJJ59EuVzG3r174XQ65S6U4/JOp1MWatOKCDnTglOXuWAegAWtJHiR42wLrtEyMTGBubk5edxgMAiXy4U9e/Y0vEONRqM4e/Ys4vG4HAPXjNEb586dw2OPPYZkMol0Oi09BJxtxllGfI65enO5XJbhOP4O+DopFovSY8D3E2e38XXKhjWABQY2eya5QOJajBvgqerFLJrWk7ZrOfL5PKanpzE+Po7+/n4Z3tEjc3Nzct5pVy9gO6MXA0cIcWTRQz8hov9t5LWNXBUhAE9SrYt4QfOmtzc+xO1JX18fQqEQ/H4/+vv7ZXG29bDVNyjX7uEsr1AoBLfbjWAwKFPEeUFqxu513759Gz4Gu8+7urpkNoXdbpffARsLnPbOn8/v96NYLKJUKsnF1OfzyXCEtpUGUFvg5ubm0NXVteB7uu6662TBxEKhgJ07d65Zp8H6LfbwJRIJmEwm7NixY8PnZ6sJBAI4dOiQ9Jz09/ejo6MDfX19cLlc0ghhQyWfzwPAgvID7cTp06dlenY0Gl2Q4q1NB9cT3PCSaxDpmbNnz8rNSigU2tQkjKcLetCVLapobABwHWpOl1VpZFX983WMadtTKBRkfyhuVsnu9HbMCFlMJBKB0WjE1NSU1Hiw6E/bT6ud6enpwf79+xGLxWAwGLBv3z54PB5EIhFZZ2UzRNN2ux19fX1L/s3tdm/IRe71euH1eqVuhT1fhUKh7c//Yjo6OvDLv/zLiEajUlwcCASkN2vxfcEenHb1jPzsZz9DpVJZUMqBF1IOg3G9K63Oievj8AaBX8vZZQ6HAzabDaVSCZVKBRaLZUGTXg5Rc0sNbkcghIDH49mQfsVqtaK/vx+Tk5PIZrMYGxtDT0+PLuasxXDmp9YrqGgcvXhwsLCicRnABQBvauSFjaSJ/y8RDQDYJYT4fr2K8apnhYj6UBMid6LW2vxOIcTH6tbYV1HLyhoB8JtCiPn6a95XH3gFwDuEEN+pP34dgH8BYEetauI7W60JqlQqmJiYgM1mQygUQi6XQzKZlOGKdmd4eBgulwvZbBY2m02Gc/RQMZfp6+tDsViUC2QkEoHH40F3d3fbLpqLcTgcGBgYQDqdRjQaRS6Xg9Vqxfz8/Kqd0duRiYkJpNNpZDIZmam3HO2unZifn5ch4eHhYezatUuGNrkhLnufWF/E3kOur6JtL8H9vrReXq5ptRzlchnz8/Ow2Wybcr7Y48gGFRsHOlnoFpBOp1GtVhGLxaRRqVgbOvne9wkh8toHiKih3V8jWVS/DeAtAAKoZVP1APgUap09V6IM4A+FEI8QkRvAESL6HoA3ALhfCPFhInovgPcCeA8RXYFas679ALoBfJ+IdtebfP5TfQwPombg3Arg2418wGYxPT2Nn/70p3jsscfgcDjQ2dkpmzyyNoDTLQEsKHrG/2v/cV0dFiSz61VbHdVut6NcLmNmZgZGoxFer1dWiuVJtNFQ19GjRzE7O4uZmRnp6dhq46ZYLG7IGHS73ejq6sLc3JwssMi7Y72QzWZx4cIF/PCHP8Tx48fh9/tht9vlgsn/ezwemdXkdDoXpOrm83nk83l5jbEofLFQV3s9smeAvZDFYhHFYhFutxtOpxPBYFBql1iD1Ahc9Ex7ba/03FKpJLOV2o0DBw7A6XSio6MDO3bswO7duxteEJYyTDmDSMtqn9tkMqGjo6PxQa9CMplEIpGQIbeNJCq0krm5Odx7773IZDJwOBwLKpZz7zOeW3hu5H8ApDid51h+vtPplIYrULtPuFwA76k5tM3/c5iZq1bncjlZWZk3jWxMttPmV0cenJ8COLjosZ8t8dhlNDKr/C6A6wE8BABCiDNEFF7tRUKISdSFyUKIFBGdQM04ehGAm+pP+wKA/wHwnvrjXxFCFABcIKKzAK4nohEAHiHEzwCAiP4VwIvRYgPH5/NheHhYdrD2+XzweDzo7OyE2+2WEwdf3OzS1mZTsUGirSlhNBpl1WNtlpIWXhBCodC6Y6jz8/MYHR3F/fffD7PZLLtVs0CaM3t4YeUJgLMmeEeqzZjiTBdeOE0mk+w7xIJeoDZppNO19ma9vb2w2+1wu92yFH2jnD9/HidOnMD8/DyMRiOSySRMJhMikciWudzT6fSGQgYjIyN4/PHHYbVasW/fPgwMDMDn86Gnp0dO1jabDZFIRFbObcYkmUwmMTU1BafTCbvdvu5sqkuXLskGqJx2ztWyF6MN8bQjz3jGM2TDTq7dEggE2mqRWivpdBoTExM4evQoUqkUiEiGvTbTkGo2+XweXq8XPp8PO3fuhNfrRXd3t8zS8/l88Pl8KBaLC1qpcDo7t2VhA78Z88VGN3BbQTsbOETUiZrNYCeia1ELUQGAB7Wm36vSyMxSEEIUNRkMJiyRk77KQAcBXIuakRSpGz8QQkxqjKUe1Dw0zFj9sVL958WPt5Suri7s27cPwWAQoVBIxua5seBGxFureSA2o+ZOf3+/bC3h9Xqxb98+uN1uOYHzRNHOnDlzBj/72c9w/PhxlMtlHD16VGpw2Bhgrwd/Jn48kUigUCjA4/HINHbOutFms/FOj1352udMT08jHo9L/ZLb7YbNZpNpt42Is/ma4cqy+/fvR2dnp2w3sVVeNS4NsBEymQyi0ag02MfHxxGLxZDP5+H3+xf0A2Kv5WKPktbLtBnMzMzIdOK1wt+fwWBAKBTSbbXvxaTTaVy8eFFuSnjzEYlE5IaNvclGo1HeC1x7ib3U2pYHa/GaFotFPPnkk7Barejs7JQel7XQ09ODnp4eGAwGuSno6uqC1+tdoF1bznjeCqO63Y0bHXhwno9axKcXwEc1j6cAvL+RAzTyLf8vEb0fNSvqeQD+PwDfanSEROQC8HUA7xJCJFeYvJb6g1jh8aXe6y2ohbLQ39/f6BDXBRf6Yzd+R0cHurq6dCMM7ejokJkuPp8PQ0NDMsSmF4LBIHp7e2U6eyQSkSnpXFtHKwAFIFORedErl8uoVqvSG8aakaUqtbL3hLUUxWJRXge8C+awUqP09PTghhtuwPT0NFKplCzsFwwGN/VcbQVcgJCbbYZCIbhcLjz55JOwWCzS0OTvgxdFXmTZyyOEkB5A/v7Y8CkWi7IGk1ZHwunovDMnIiQSCczMzMjvpq+vT2YJNkI0Wmt3s1oTRj2Rz+dlj6X5+XnMzMzIzMJoNIpoNAq32y0rFptMJmSzWRiNRgSDQVnqQeuR5tC5VozNnhMWTPMGolQqIZPJIJlMSt0f6wD5fRuhUCigp6dHtsvhxq6Kxml3A0cI8QUAXyCiXxdCfH09x2hkNXsvasLfYwDeipoG5rONHJyIzKgZN18SQtxVf3iaiLrq3psuADP1x8cAaFNVegFM1B/vXeLxyxBC3AngTgA4dOhQU0XIZrMZmUwGhUIByWQSfX19C4wbXgCXCzNtBC6YtxHm5uaQSCRkmjR3ytWTgTM0NASgJpjmInk2m012PmePBMfR2zVThMN/ZrMZXV1d8Pv9MszXrmNeCovFIrVou3fvxu7du9Hd3Y2enh54vd62nkyXolAoyPshmUy2RKe22QwPD8tiof39/di9e/e6yhusxuLzpJ1XAoHAslmJjcJ9p6xW65qMVsVC2jlNnIheI4T4IoBBIvqDxX8XQnx0iZctoJEsqiqAz9T/rWVwBOCfAZxYNJC7AbwewIfr/39T8/i/E9FHURMZ7wLwcyFEhYhSRPQLqIW4XgfgH9YylmZw+vRpfP3rX5etGr7zne8sKBzHngLesXKcl61mfp72dwALOhMvLrHPuybe7fb09KC7uxuDg4NrHv9DDz2EaDSKQqGAvr4+7Nu3D6VSCTabTdYxaaZYt1wuI5lMbqhyrtfrRSgUkmEkm80Gj8eju50cZ4LMzs6ip6dnS0NTm4nD4UAkEkEul0M2m5V6Hq6ArTdOnToFk8kEj8cjU/ddLhfsdjvC4bCujE/GarWit7cXN910k/SgaDMR9QRXrU4mkxBC6O6+bzXt7sEBwMK9dYscG8miuoCl+0AMr/LSGwG8FsAxIjpaf+z9qBk2XyOiNwEYBfAb9eM9QURfA/AkahlYv1vPoAKA38FTaeLfRosFxkBNHHvFFVdgaGgIg4ODMqVXmz66WFxsNpvh9XpltV+uagzU4tuLFzXOglnKyl7pb40wMTGBkZERTExMwG634/DhwzI7x+FwyIJmNptNenm4CB4baovfmz8zhxO0f2edysWLFxGPxzE+Po5CoYBQKCR7FlksFrhcLmkQer1eGaph/QsbjUBNKM2ZDHyuS6USEomErK5cLBaRyWQ2JMhuJhcvXsSDDz6I0dFRzM/PI5FISB2B1WpFX1+fFBtzDx+t926zvW7cDHE9wmltthaHCrk/mFZkznAog6+bdqJareLRRx+VoRcWtDqdTjgcDvT29srO9RaLBR0dHTJjhrPOtBk76XR6QXVmroEjhJDfbT6fl+0heCPD1bQ5/MYp6jabTb43AFljhzN6lip6VyqVkEqlkM/nUalUkMlkkEqlUK1W4ff7dWcguN3uBckNirXTzgaOEOLT9f/vWO8xGu1FxdhQM0hW3XYLIX6MpfUzwDIp5kKIDwH40BKPHwZwYNWRbiFutxs333yzFOUNDg6uqZLm4ljzUjt2bXn6tfytEfbu3QuPxyM9KGazGaFQCIODg3A4HHLS1WZ58QTM+hU2Knjh4noa/BqtJ4uLIXZ1dSEYDEpRLRt+XEbf6XTC5XLJBXZubm5B6rx2kUwmk5iZmZE7uOPHj8vFh+sROZ3Otu9LVSgUkE6nEY/HcfToUal3sFqteOKJJ2A0GuFyuaQGiBe5xaUGvF6vrELNGqTlPEHVahXxeFwagtyGIpPJSGOb34uPvRpCCNkNndPN+eeljDAuJrnRTLRmcOnSJWQyGVnd2uVyyey2SCQir0WtMcq6FYZTiNkLxCQSiQWGHRsv2ntGCCHPv8fjWdAqgrMWq9Wq7NvFWpjFGkBtY0xuThuNRnH+/Hn4fD50dHSgp6enrRe6pahUKhgbG5NtTfQ2/nZABx4cAAARdQD4bdRq58mJRAjxW6u9tpEQVXTRQ39PRD8G8GdrG+b24uLFizh58iR6enrQ19cni/w1K+Vws9m7dy/C4TC6u7tlqXOu3dDMBo+8kHV1dTX0/FAotOzfRkdHcfjwYTzyyCMoFou45ppr4PP50NfXJ70HvMCyMcZ6F23dIG0IsVKpyIW3VCphfn5eLjKsU2JPUiwWQyqVWlB3g7swcxNA/n85g1S7iBERfuEXfgFdXV0yk4X7nG02BoNhyfDgRkKGLD7lTvXcSZwNVz15CAYGBnDbbbfJ0OfevXtx4MDCPRYX8luO5XrLcfXq9aKt57LU37Ro72M2wJLJJLLZLLxeL2w2G/L5fNtvArRks1lMTEwgHo/DYrFgbm4OyWQSNptNl56oVqEXAwc1GcuPAHwftSLADdNIiEpbTMeAmken7a+gZrss0+k0zp8/j1QqhWg0KsNQXH6+p6d5mezsqRgeXi1KuDwdHR0gIszOzgKonS9uHKqTix7RaBTj4+Py3MfjcVk9l4v+ZbNZ2SyRd93sldCGEJ1OJwwGA7LZrMyk4oWEPROVSkUen138hUJBek54N8/F+RoxTFiMHggEEAgE4PV6YbfbZU0gPWXvlMtljIyMLAifFotFFAoFWWOJeztVq1VcunQJAGTrg2YsshsR5GvTxLPZLKanpzcsjm01Fy9exNjYGObm5ha0mtGTgXPu3DmcOXMGd911F1wuF2644QY4nU54vV4EAgF0dXVJz20r5rLR0VHpdW33/lg6mesdQoj3rOeFjWzT/07zcxn19grrebPtRCaTwaVLl3DhwgVUKhX86Ec/gsvlQjAYlKJK3sHxQsouZW2lY4vFIhdUTovl3b62kjHVOybn83mMjo7CZrNhx44dsNlsspLy0NDQqtVjmdnZWczOziIej8Pv9yMcDktPg14YHh5GpVLB3NwcjEYjDh48CL/fj6GhId20nfB4PAiHw4hGo7IaMeuP9PRdALWwweOPP47p6WnMzs5KXZrWqOQQJqd28z3An1sbhtMaorxh0QruAUh9mFaAr9W65HI5hEIhBAIBdHR0wOv1IhwOLwiDLkWxWERnZ6ds/REKhWSmDtfr0SNGoxGVSgWpVAq9vb3o7e2FEALj4+MIBAK6uGe6u7sxPT2Nhx9+GJlMBj/96U/hcDjkBkHbT4/LeHAJBw73sVbM4/HI65M1gGzwRaNRzMzMyPfl65SvOe0mCahdF4VCAbFYTHqTAoEAIpEI/H5/2+nMltJRtin3ENELhRD3rvWFjYSobl7fmFpLs5uv9fb24sorr0QwGEQgEMDQ0JBMkWUdSTvzyCOPYHx8HGfPnoXH48Hc3Jzc/bhcLlkAjxdbbeny5RbeUqm0oHjbSrDYOBKJyN39WrHb7fI9WZfC2ia9pLvncjlEo1GUSiVZ5yWXyyEWi8lJWS+YzWZcddVV0lDnit4DAwPw+/3w+/1ykQAgjX4WzzocjrYpjmaxWJDJZJDJZBCLxdDb2yuTCfRq3JTLZdx///24cOECHnvsMVy4cAEnT55ER0eHFPMbDAbZLmSxoB2ArGXDXlP+nUtNsFHKhignDWiFwMViEXNzcwAgdUyRSEQapqtldDmdToTDYTzvec+DxWLBoUOHEA6HsWPHDjmXbIah1kwvfLugk2v5nQDeT0QF1Ar/EgAhhFh10WgkRHVZ/rmWRnLRW4G2Mmqzjm82m2UPFM6uiEQiTXm/zaZYLCIej+P48eMAgGPHjsFut8Pr9crQDE9WLIbUVjblCY5FmNoMKO6r5XQ6ZZYD73T4e5menka5XJatLXhyWothmM1mF3RnZiElV1zVQ/O9ubk5HD9+XHaMNplMSKfTsFqtqFQq0tDUw06LaxBxCM/n8yESiUgDR0+1SjiExj3geLfLInk9wkZHuVxGOp3G1NQUyuUyLl68KNu1eDweTExMwGg0IhwOw2w2yyJ92tCt9n9tNWp+D20JDD6H/DgbRZxuz17sRlPVZ2dnkUwmEQqFZDiXu7OzsF2xOnrR4Agh1i2JaTSL6hmo1akBgF8D8EMAl9b7pltBsw0crmBrtVqRy+UwPz8vdyjs5lyquV67sHPnThmn5jRXn8+Hzs5ORCIRWSW0neGMoVQqhVKphImJCRlm8/l8ujBwkskkkskkRkZGEI1GceTIEdhsNoTDYRl+ZCNycTNVdsMvrvbLf1vc9mBxw1detE0mE0qlklwguMaSz+eTu3N+LRu12gWLj/Xkk0/KBcfn86FarWJmZgYGgwHz8/OyhQVfVxMTE7KKMYuxl7pflvIaLl5sN5uJiQlkMhlpMLM3s1gsYn5+HuFweMOtLVqBNqytDZ/4fD7s379fF5+pu7sb+XytubS2VAb3DGt373k7oQcDZ5EOmEkAuCiEKK/02kYMnBCAg0KIVP3N/hzAfwgh3rzWgW4l2ompGZTLZczOzsp0zVgsJsWlFosF8Xhc7ko4G0Y7NgBLhnJWCgExXPdlI2QyGZRKJXR0dMDpdKKvr0/2cwmHV+2luik08llX4uTJk3jyyScxPj6Ocrks2xzwQso9njjDyWKxyFRaLtDIpf9tNps0JNgzxzV9tHCtl2q1img0KsXHBoNBtoooFArSo7UaXV1d2L17N3w+HzKZDCKRCFwul2zkynVwuI2G9nvXagE2m0QigVgshr179zb8Gh5rPB7H9PS0DNtyj6PFGVoctuA+Vcux1DXSbI9WpVLBD37wA1QqFVnXxuPxyAa03HeMPWxsLLKuiEXm/LtWX8QeR27pwa0TWBTLHhPuTM3eTr5fBwYG1l2Yj2twzc/Py1peHErUS/YRzxupVAoAZHPY/v5+XRYsbBV68eAA+CRqncOP1X+/EsBjAIJE9DYhxHeXe2EjBk4/gKLm9yJq+ehtTbOzqKanp3Hu3DkEg0F0dHQgHo8jFovJmh68+PA4OA1Z21FbK7jUTti8+PKkGA6HYTQapVZDO+k6HA6EQiE5ifJOfrXFb2BgAC6XC+fPn4fBYJA7Io/Hs2HDo1E2+h5CCFnYj9tiFItF2dsmGo3C4XBIFzYbN6wd4BYOrLcwGo0IBAIwGAyYmppaIBJn1z7XL+HXFItFudgFAoE1ZwNx3ymj0Yh8Po+9e/ciGAzKQm6cxr8UzVzk15PKXKlUEI1GpXclmUzKFHFOt9ZWNebstnb0FBYKBcTjcdnxvFgsIp/PI5vNys9isVhkvyr2tLFHCniq7xkbxNreSw6HQx6fz0ksFpPXGBHB4XDIxpgc/nG73Rs6X4FAALOzs7InFAtirVYrstmsvLbbGZPJJDMMi8WinMOuuOKKVg9NV+jIwBkB8CYhxBMAQERXAPhjAH8B4C4AGzJw/g3Az4nov1CraPwSAP+6wQFvCc1cpC0Wiyz8NTAwgEAgAI/Hg56eHqnU3+wKrdx7qRFWe1+/349sNotUKiWf63Q65UReqVSkQdCsm2Cjnqjrr78eLpcLu3btQqVSQV9fnzT4eKfMGRTN0E1sht7K7/eju7t7QeZPJpOR3b3bfbHRYrFYkE6nEYvFZFZYqVSC1WpFPp9HJpOR3kzOYGmmXqJUKuHixYvrCicFg0HcdNNN0pgJhUIIh8PYuXMnent7m9JZfLkaROxF24yNB7dl2LFjB3p6eqRRzrovPVxv8/PzmJubQ1dXlyyKabFYkEwmpaGpaAydGDh72bgBACHEk0R0rRDi/Gr3QyNZVB8iom8D+OX6Q28UQjy6oeFuEVyTplmkUinkcjn5PrwLNxgMTZkAN5OHHnoIx44dw3/8x3+gXC5LL4TW+6Dt1qz1ELFnib1MLPDlCZLL1fPOkCsKc+E3oLa7L5VK8tjcjmDHjh1wuVwNucvn5+eloJjfj3sfccG/dmdiYgLnz5+XmSkswIzFYiiVSujt7V39IG1CMpnEfffdh/n5ecTjcUxOTqKvr096MVi/w1WZ2XvJPYXYU6ZNv9X2b1v8GPCUZxSAFMYDT4WoU6mU7O3l8/ngcrnQ398Pr9e7YhFFi8WCrq4uaYRHIhH09fWtGk5rJpuxYXO73ZiampJZTMViEXv27EEgENBNLZxUKoVYLIbz58/L1G+uBh0Oh9Hf399wRtbTmWaniRPR36Km2S0COIea7RCv/+19qDXxrgB4hxDiOysc6hQR/ROAr9R/fzmA00RkRS2ralkaNXUdAJJCiM8TUQcRDQkhLjT42pbAZdKbRblclr2SOBPIYrEgkUggHo/LPjXtSmdnJ1KpFHbu3Amv14vrrrtOhsZYa8CZYdq+WlqhKRs2Wg1CoztA9hJtZFLdsWMHDAYDDh8+jGKxKG/WTCYDIoLb7ZY6h3aFtRhcmdVkMqFQKMDpdEIIgdnZWWl8tjterxfPfvazZViWDdyhoSH4/X6Z9j4wMAAiwuTkJEwmEyKRiBQ+ezyeFT8rh30aEe9Xq1WMjY2tK9zmdrsxPDwsG4dyq5FQKNT2xdtW4sCBAwgGgxgdHZUeTq4zlEqlZFuUdsZut0uRNIf5WaRutVqlMd0qhBCy4jnPje1Kkz043wPwPiFEmYj+BsD7ALynHmJ6BYD9qDXW/j4R7db0nlzMGwD8fwDehVqK+I8B/BFqxs2KZWwaSRP/AGqZVHsAfB6AGcAXUWum2dY0U4eTyWTw4IMP4vTp03jooYdkNkIqlUK5XJbhBfZmcKiHbzy++J1O54ICf8BT6Zz8Wr4IeXfPC0MoFJIaBrfbjUAg0PCNPTs7i2KxiP3798PpdMLn8yEYDKKrqwvd3d1NFxpvxoJ9/vx5nDhxAqOjoyiXy7JMO6ePtmsGmxZOE3/wwQdx/vx5KS5m7xhnFnHYU2tc8sTOnitOkWWxOzdp5PR8zpRKJpNSJ6MtKsni+GQyKQ3cgYEB2WhyNdjAmZycxNTUlEyp7u/vh8/nkwtQIBBY4KWanp5GOBxuqO5Io4UsgZpHp7+/v6HnLsXAwABmZmaQTqdlW4ZkMimr1OqRyclJjI+Py2rSqVRKFsp0u92w2+1tX/8ln88jHo/j8ccfRzKZxHe+8x10dHRg//79Uu/k8XjgcrlWbUrMnkGtJ1BrNGm9ixz+4sxDzqLVbu64wr3dbkcwGJTi8B07drSd4dhsDc4i8e+DAF5W//lFAL4ihCgAuEBEZwFcD+Bnyxwnh1rB4b9b4s/plcbQiAfnJQCuBfBI/c0miEgfcvsmol10isUiUqkUKpWKLJLFN4LWy6EN+Wg7b/PNxwJYXrz44uOsCl60+UbjOjPpdFq+11oMnOnpaUSjUZlOz4tPuVzGzMzMqrvpzYTDVWtxmR47dgz3338/RkZGUC6XMTk5KcWf3DLB7Xajo6NDTlhcl4dDZvw9sAGqncC0Exd/p1qjaX5+Hul0GvPz88jn8/L1XLyQF4yVFsNEIoFEIiE/P0/IbLiEw2F5XbB3jcdktVrhcDjkeWMdGLdESKfTKBaLMtOL6+nwrl3rbUskEpienpYp4JyCz1k3jeilstmsNKRYkGuz2ZDJZGCxWDA4OCivT/6sfL7azdMWjUbx4x//GNlsFplMRnb5JiKUy2VdGjiJRAL/9m//hgsXLuDo0aPo7u7GwMAAzp49C4vFIjVRfG/wAs5zkcPhWBBKZEEyz1ccujYajSiVSpfVtimXy4hGo8hms5icnJSeON7oBYNBBINBWeJjOS3N3NwcYrGYFHz39fXJuZDH4/P55EZBO57F3hTWNWkXet6QaudqbVNbbdNfg8GwYDPo9XrlXMDnizcQ7cgWanB+C8BX6z/3oGbwMGP1x5aEiHYB+GsAV6DW8BsAIIRYtVdRIwZOUQghiEjU30wXgVptxlIziEQiOHTokFzI+vv7EYlEMDw8jEAg0NQLes+ePRs+BnewzmazMBgMmJycRKVSkSmsi8vobzasn+nu7gaAFSe0lT5DuVyW4Y10Oo1yuQyfzye//0qlIpvyaSfrVCq1QJSoLUjGP7Oho22noS14Njo6iunpaVniXpsVx7WFViMUCskwYTqdlnqIQCAAh8MhhdNcgHEtcPhvq7RI3IqEK9j29fWht7dXXlNa45u/Mza02k0Yms/nZW0rm82GYrGImZkZeW8kEgm5mAGb45FsNlarFYVCQaalX7hwAdPT0wgGg/D7/ejq6oLP55NZmGfPngUA2ay2Wq1KkTgbsm63G8FgUPZUYyOJQ4lsJAQCAVQqFVlaw+PxyEwu7vHGmzY2mJaD79PBwUFUq1UEg0H4fD50d3cjEAggHA5j//79LSv4t2PHjgW/x+PxtgxTNeDBCRHRYc3vdwoh7lx0jO8DWEpw+idCiG/Wn/MnqLV5+hK/bInnrxRu+TyADwD4f6iFpN64zDEuo5FZ5WtE9GkAPiL6bdQssc80cvBWIoRAoVBo2vHz+TzS6Zp3zGw2y5gr75a7u7vb8qLWkslkcOTIEZjNZly8eFGWOWcNDntDeJJiLwbXiOE0dN6pAFggGtUKj/nvbCz84Ac/QCwWQ39/P5xOJzo6OuDxeDA8PNzwgnfNNdfAbrfj8OHDKJVKuPHGG9HR0YE9e/bA6XTK9PlmLZ4HDhxYkNmSSCSQz+fXlB3k9Xqxc+dO2aKBQ2y7du2Cy+WSO9JWXEvFYnFNhjoXDORFNJPJyPouZrMZMzMzMvsQAK666ipUq1Ukk0nkcjnpjWomhUKhIS+nzWbDo48+imQyKbPafD4fwuEw/H4/QqGQbGXAnjWj0big2zzfA2zwlstl2ZZiccNXvlcWVwdmLeH8/DwuXLgAp9Mp214Eg0Hs3Lmz4VCszWaTm7JoNIq+vj55nXEtrGAwiKGhoaYYB2az+bKO7Mzc3Bz8fn9D3z/PQ/Pz8wAAn88Hk8kkhdIGgwFjY2NwuVzo6ura1M+wHto1VN6AgTMnhDi00hOEELes8h6vB3AbgOeKpzQjYwC0u65eABMrHMYuhLifiEgIcRHAnxPRj1AzelZkxZmfanfZVwHsBZBETYfzZ0KI76124HagmYtCMpnE2NgYOjs74XA4pL6BWzdMTEygWq2iu7t70yft06dPw2QyobOzc93Vkjk2DDzl7eKUanZR5/P5BSXRS6USyuWy9Fbw4s7uX/4bhza4nsfizBfWH7lcLvT09MDhcMjQUT6fb9gg4fDT/v37Ua1WZYq+3W6XxlmzDQPt8dcjZuVzx80c3W43jEYj0uk0KpWK1Ku0wsW91vdMp9M4efKkNGxCoZCsLJ1MJhEIBGQhRPYIcGiVF/zNZnZ2VhoZ3O29ESqVCsbGxmTHeA5RceXvYrEodStcK4nD0VwzSRvqZOOGs+W4PxOwsGs9EclMTK/Xi0qlgmQyKcN/FotFNsfl+lhrgcXenCzg8XgwMDCAnp4eubGYnJyEwWDA4ODgWk/3uimXy8hkMg11ANd6WLl1DGewOp1OuN1uWYiVdYqtpJ2z05q5oSCiWwG8B8CzhRBZzZ/uBvDvRPRR1ETGuwD8fIVD5YnIAOAMEb0dwDiAhkSiK64k9dDUN4QQ16GmiNYVzfzyLl26hG9/+9vo6OiQbQ44k8pkMskdnLY5H094Wu2N9ubjm1abscSPE5E0AEZGRuB2u3HttdfKbtRut3tBldXVdmCFQgF2ux0HDx5EMBjEoUOHZLNNNpp27tzZNAOhv78f6XRaptNzs8m1eFsSiQRGRkYQj8flglEqlTA3NweXyyWNrXamWq1icnIS0WgUmUxG9tSpVqsyy6VcLsu6RO1MsVjEyMgITp06hXPnzuH++++X558zkLQaM95ts8ieiy6ygcotBbgwIxvR2saNS1UFZx0Te5JYNzE0NISOjg4ZLmNPH+vnAEiP5MjICHbt2iWNsMHBQezYsUOGINmw2bVrFwKBwJZoiKLR6GWlHNbK5OSk7LDu8/mkN2d+fl6m0YfDYbmh2QrjgD3tjdYqymazKBQKsh9gZ2cn7Ha7vEa4CnSlUkE2m93yrLdyubxgHlurJ3SraHaaOIBPALAC+F79/nxQCPE2IcQTRPQ1AE+iFrr63RUyqIBa9pQDwDtQK+73HACvb2QAjawmDxLRM4QQDzdywHaBhWrNYmBgAM9//vNlSKe7u1vuwrmEu81mQ1dXF0wmE5LJpNQmcBZMqVSS1Vy1tWXYzR0MBmEymZDNZmUII5fLYXR0FEQk027ZiDKbzfD5fA3dTH19fVKM5/f70dvbC4vFAiEE3G43IpFIU70fLpdrgVCTd61rMXDm5+eRyWQwPz8Pg8Egs4Oq1SoymYzU3nCqOwuJtVoZ3jXz3/iGZ+/TShN8IpHA5OQkvF7vgorHawm1XLx4EU888QQmJycRj8dlWnNPTw9cLhcmJiZkhofVapVVj7UZVGwM8zXEBhLvhrlcAocWtVlVfCzWTHAWVTKZRLFYxI4dO+D1ehvKXsrn8/B6veju7ka1WpWi58HBQfj9fnR0dMBqtUpjlvs7+Xw+WU+JDXatyJm/Ix43UFtEAEgvHS9o2saQ8XhchsW0Ilo2sNibs1TNpUAggD179iCdTiOZTEIIgUQiITczbBwUi0XEYjFZsbkZcMuGfD4vz8d6RM7pdFoKu10uF5LJJJ544gmEQiEZHuLFmdvcsIG52WjDlUIIpNNpWV5jNTi0EgqFUC6XZdaSz+fD/Pw8otEodu7cKQ3SRsOSm8XiOYznY65g3U40OYtq5wp/+xCADzV4HLY90qjpbxqmkdXkZgBvI6IRABk81ar8qrW8UStopgbHYrGgv79fTsSRSAQdHR3Yt2+f7Ce0WdYxvwff/Lzg+Hw+5PN5TE9Pw2KxSCFqIxkv6XQa09PTePzxx+HxeBCPx9Hf34+rrrpKLhTsTl+qncRG+dGPfoRYLCYzNTibgl3ojXgrRkZGcPjwYXzve99DOp2W4m42aNjo4EwpbZbHUkULFz+u9bhxqEH7j0N2POH29fVJ49DhcKCrq0su4rwAahemSqUii679z//8j2wP4Xa7ZV8nNki4ozXrNHiB5sfZ+7XYS0j1SrxsEPF5YOOWDRxtCIUX1HK5jMcff1ymDgcCAVxzzTXLfh9CCOzbt0/qrAYHBxEOh9Hd3Q2v14sdO3bItHchhOwGn81m0dnZiZ07l50PG0Z7fiORCPbs2SM/j7b4mzYteCk404e1HUQkm2xy/StuTNrsdhOsUzp16hRsNhvcbrdM3V9LheZ0Oo3x8XHMzc3JzLZKpSKvj76+Phly59ITzdKvBYNB5PN5xGIxzM/PY2JiAslkUvYs03q+FzM6Oorx8XFZLLRQKEgdIN+3xWIRyWRSftfs7dnKyr3T09MLkhK4Pk+7VA9udpr4RiGiu1f6uxDi9tWOsezVS0T9QohRAC9Yx9haTrN7UcViMRw/fhx9fX3o6+vDzMyMrGzMu1heqHhXvVTzxqXGvZrn5NKlSzLTgXsvAZDagFKpJCeppQyFSqWCr371qzhz5gympqbg8/kwNTUFq9WKb33rW7JAHnujeHHnhVNb+I/Fx/wz/8+fdbHhUC6XkcvlcNddd2Fqakqep4GBAfj9fuzdu3eB2HmlFgs/+tGPcN9998lqxslkUjZF1I6Pf2a08XseM49PaxzwuBd/NmZychJzc3NSIK0VmBsMBpw7dw52ux27d+8GUOu9RJpeVexdOX78OCwWCwKBAJ75zGeit7cXe/bskUYy113xeDzYuXOnHAOHcFwu14YnqlKphCeffFIaOYlEQrbyYI8iZ70s56nIZDK4//77ZXYeGzPcT2tsbAwmk0mGiTh0wJ6a8+fPrxjuaWQHnM1mpTEH1Dxx7Mlljx8bwOwBXco4EUIgGo0il8uhUCjA7/fLDB2v1wsiQi6Xk/22WDtVrVYbrsTdKFzE0u/3y+uBM9Ya0awwpVIJ586dw8zMDCYmJhZovhwOB6anp1EoFBAKhaQxzp5mAAvu5/WSz+dlhWltggIbn5y4sNx7JBIJnDt3DqdOncJ3v/tdGI1GDA8PS51gNptFOp3G3Nyc7DVntVqldorPH2daNoOf/vSncpPJpRya0faGW6Fs5FprZwMHwC8CuATgywAeQoOZU1pWMs+/gVoX8YtE9HUhxK+va4gthC3njcLdovmG4A6/iURCZgxx/Bqo3YRTU1MLJgSeVLVGgvbvWg8BpzMXi0VZS8JkqnW6zmQyOH36NICn3LwOh0MWs+Jj8M5hKYMpl8shGo1iamoK+XweU1NTmJqaWvbzcw0fXuy1jUO1Y+dwgbbGz2JPCBscbJRwrRS/3w+Hw4GZmRkZ/weeqiuRz+dlRla1WkU+n0coFMLu3buRSCRkhkYoFMLevXulANlut8Pr9S7oJG61WqWOg+PQoVBIhgMByHO+ktdqYmJClrxffCw2Lvn1y4UNK5WKnGw5hMKCWA7dGI1GWbiMDT5etDnMxKxXN8FeCA6hOp1OubgTEQ4ePLiqcZFOp5FIJADUUpKLxSLi8bj0cjG8O+cmkqyJYcN0MRw2acS9v/g5HJLha1gIsUBjstwckUqlZDFM3v2bTCbZwLVSqci2Dyza5XuQjSr+XoQQyGQyC7xLy4VNtK8DID0R2WxW1o1xuVyoVCpIpVIrnrfFcFPaeDyOs2fPwuPxoKOjAwaDQdaQ4WuvVCrhwoULMJlMCAaDICJks1n4/f6GNC0cAtVuMoDafVWtVnH06FGYzWZEIhGk02nk83lZU4xr3Cxud8MaRG5sPDc3J0PCqVRKCtvn5+cXGBVaDzQb3drsN+CpvnhaDy57lXlDpA1j8/ynDZ1WKhXMzMzgzJkz8rpj0XMoFEIgEMDY2JisWbVUaQH2rK10D/N3zyFq7bWyFllGu3twUEs/fx6AVwJ4FYD/BvBlbV+q1VjJwNGuiqsW1Gk3+AbbDJLJJEwmk7SUY7EYnnzySTzyyCMNvV6r8eAFX2s0LA6faA2fxd4DIQTy+TwsFgtCoRA6Oztx1VVXwel0wuPxyBuus7MTfr9f7r75vXp6ejA/P4+dO3fCYrFgampKeg98Ph+6urqkXsLr9UrRIVdmNhgMctHjHSVnT3V1dckJiDUdvOhrCx8aDAZMT08jn8+jUCgs0DF0dXXJMux8rtkbxwYO180IBoPo7e2VAsNUKiV30IFAQH5f/L78N56wObulWq0iFosBgKzLs9gDyCEO7QRiMBjg8Xhw9uxZxGIxWUGYJ5/Ozk65e+RzpjV0uPZHOByWxlUmk8HU1BRGRkbg9/vR09MDm82GfD4vDQEOuRSLRRQKBRiNRvj9fjkmrmC82s5OG8pkjRgXL2SDhI917NgxOBwO9PT0wGg0SvEuh2i4yi/rN9hbVSgUcOrUKcRiMQwODsLj8WB2dla2oeDQGG8QMpmMvCe0AmQeL99PPL7Z2VkAkDWHWDDMWY2FQkFmBiaTScRiMdjtdpkQoL0HmXK5jFQqhenpaVlniYWriUQCfr9ffndc+6W7u1suNhx65PuH739twUQ2KhZ7F5dacM6cOYNkMik3NHzObTYbotEo7Ha7DIuvpAMSQuDkyZM4fvw4ZmdnMT4+jhMnToCo1rmcPSF8r3PlaS5XwJ5Cvob53uZ5icfPGWEAZHHSQCAgNzaJRALHjh0D8JRBKoRAf38/hoeHkU6nUSgUcMUVV0jvH78v189hw5nPz1pYPP9qN2faMC7Pw9pNKRc01Bo8/Fz+jqPRqPyeIpEIBgcHpcyAjS4OZ/N8z9q6UqkkM/QWGzDaa4S9nNx9XmtQNkq7Gzh14fF9AO6jWt+pVwL4HyL6oBDiHxo5xkoGjljmZ91QKBSQSCTkRMsXDVdZ5QuWLwq+KdkgCIVCALBAT8NWcmdn54KCe11dXQgEAlJwyhP2gQMHYLfbkc/npTBYe+PY7XY5yXu9XrjdbszPzyObzcrFl28g7vY9MjIiU0a1Ykn22AC1hbqrq0seQzuRsgDV7/fLG5rT291uN7q7u6VAjycnbXXmzs7OBQJdntCi0SjMZjOCwaAsJlYoFFAoFGSNCi4axgshVzRlQ2lsbAxWqxXz8/PSO8XhmZmZGWQyGdmDho8TCoXkjoonEpPJJM85nx/+7lmDwLF7DiECtQVT65liISnXPAIgF8/Z2Vn5XQGQpQG4ISP3lBoaGpLNH/l8cXPAdDot3cx87WjrpHCYEKgZWefPn5eTp8PhgN/vRy6Xw4ULF+Dz+aQxpS2AOD4+Lj07VqsV4XBYCrHZWEgkEkin0/B4POjs7JSaCE7B5dIB2vuIq0dzWXo+h9qKybwYVKtVzM3NyQKLfM55ki0Wi7h06ZKcuLXGGy8e2oWUr7l0Oi01RKVSCfPz8wuy8VjUHI/HMT4+jrGxMVlviO+dnTt3SsORX1upVOQ5YMxmMx588EEp9maDgjcIbMxqPQZ83GKxCKfTuWR1XYbvJ/Yy2O126bHl8XNhPa/XKw2rYDAow3fRaBTlchnDw8Ow2WzymFyHyOVyIRKJSMOQC/cFg0FZoI9F+9oNgHbh57mH565CoSCz3vj7SqVSC7yLWmOCiLB3717p5chkMrKiejqdloLhYrGIqakpaWCxp4Y9Z8PDw1JDxCHPSCSCgYEB6aHt7u6WGzFOvefvSTs2TgwwmUxyI8ONe7PZrNxU8mtYF8deINZJJZNJjI6OSn1eJpNBMpmUGZ27d+9GZ2cn8vm8vP85LMdGJQBpTF+8eFEas7xm8OavXC7LOk3VahVut3vN0owmZ1FtmLph86uoGTeDAD4O4K5GX7+SgXM1ESVR8+TY6z8DT4mMG1e3tQB2Ry7lTl1rBoLWXcgXOYvwuLQ5p2hzD58dO3bA5/NJDwMvEFzRk1OClwpdsGuWU2K1abFcE4W9I7xb5cJqgUAAwWBQ7qi1egZ2f/f09MiUWw6N7NixQ7pac7kcZmZm0NfXh3A4LA1Bnox5QllOCFwoFBAMBqWBuBTj4+OIxWJyEi2VSrBarbJ7NntotL2EFnskOKOMd9Nc2TQej8tJicWgrAth9y9Xb2UXNvBUhVQikoZsOp2Wxq52d1QulzExMYGxsTE4HA5YLBZEIhE54fECZbFYUCqV5OK2GCEETp06JT0lXV1dcLvdyOVysNvtmJubg8PhkDu8c+fOwel0yu+FU6i5Sqy2zIA2RMJj5s+1OGwYi8Vw9uxZaTix4cZZR11dXbIBqHaS7ejokOdlfHwcP/jBDxZ8Pva68T3DRiMvhNrdstZ7ybts/hsb82wccPaY1pDg7EReRNkw5RAnV7rlkA6fi/HxcekR5cV1bm5OGjcchmZPB1eW5u+FU7fZSOeUdO3iodVj8P3Mn2Vx6EMrwubwnNPpRGdnJ0KhkOxqzlmW7AXk9gScwWY2m+V3zdfnnj17ZLiT6ejoQCgUwpVXXone3l6Uy2UpiGVPJBsQDodjxfu6UR5//HGUSiXZ5HN6ehoul0t+BpfLJXWE2jlMCIErr7wSXq8XMzMz0pPp8/kwMDCA7u5uDA4OLrhWOCTEnju73d6UXnvsSctms3JTcPr0aakt415vBoMBXV1dMtSo3YRpYYNtOfg+5HsRWJumpt09OET0BQAHAHwbwB1CiONrPcayBo4Qon0/eQNs5pe3OCuJ3dss/uP3MZvNciH1eDxyF8o7PpvNJtPCeWcJrKzP4JAI7zaFEDh+/LjUALD4k921XGKeJwfWVGh3ipySXS6XceHCBRiNRoyNjclaOrFYDNFoVLrF+Xzy7nRkZAQWi0WGVvjcaEMIWg2ONmOFF5uf/OQnssmf2WxGKBRCsViULnPeBRYKhQVpvk6nU+6MxsfHZWNHAHjsscfkZ+Qqprz4aBdGrYt9cQYSLzJaI4Gfo12EiAgzMzPSmCoWi4hEIgtEjXv37oXL5ZKiTc4YY2PH5/MhFothZmZG7qhHR0dXvR55sdSOUWswaAXeWk3U4uwqraaKX8fGGj+Hz/3OnTsRDAZxzTXXwOl0yomavSoseA+Hw4jH4/LeMJvNUlvEiysbzJwNyMfh8CW/J49D67nhe08r/tYaPFpvbCKRkCEcPjYAaXhGIpEF1br5uC6XC0NDQ7jpppuQTqeRTqflddzT04NQKITh4WF0dHSgs7NTthdwOBwYGBiQx+E6LHzsxeer0bRyLoUwMjIi70kOE/Jn5iag/H2yocWbgkQiIRvSar1e3LLFaDTKeYOPMTw8LMNV7OnZrLo4iURCnoNMJoOJiQnYbDbMzMygp6cHkUgEhUJB6nJ4DOypYG9VqVRCMBiUiRHlchmXLl1CZ2cnwuGwvK4BSE+aEEK23VgtC43nXzZIG4H7+fGmLRwOy+uR61qxbpI9bMuJtxdrKDc75b2dDRwAr0Utc3s3gHdozkPDTpb2agCzibAQdTlWy1bSFmfiG4T1IAaDAfF4HKdPn5Zhod7eXtk00G63Y3Z2VhoyLNTTZhSxO3exUBd4qmNyMBiE1WpFMplEpVKB1WpFJpPBz3/+c6mx4EWOmzoGAgGZam2z2WSWB99EXV1dmJ2dxdzcHMbGxuSCeuHChQWfX7vQaBcObbyaJ1SeRLQi4qX+DjxVI4InXHb179q1S3Y1Z8+Uy+WSjTRLpZJcjLg0ez6fh8PhkCEQADIkpPUC8HPYQ1UsFuUix4/zz9rvYTmjgM8Dp09ziwZe2Lq7u2Vojcdst9vh9/ulcJFDXBZLrQml1+tFJpOR12V/f7/sccbnhXf1Wm2KNg1dm27PXg8+79pJVFuzh89PIpFALBZDR0cH/H4/xsfHEY/HF5xHDr2yB49T38vlshR98y6aNVjValX2Z+PXdnd3y7GazWYZtnE6nfJaYw8FGwPs9RgYGJAhrUqlssA4K5VKcvF2OByYmJjAmTNn5LmamZmRgnSj0Yjp6Wmpo7JarTJEzHqmeDwOoLaTZgPL5XJJvU86nZbhgWg0KsMbrM1h3R5/X/w5OL2cPURaoSoRLQhJckg1Ho/LtPVIJIJEIoHZ2Vl4vV7pPeLQJ3tnOQQLQBoFXAKCK2XzfWWz2WTmEYfdTp06BbvdLgX4IyMj8nvi9+MNBOvD+HFtYUa+L4Ga1osz9Liz/fT0NKampqTHnQt3cpVzvofYa8xzO993hUIBmUxGGnDhcBgTExOYn5+XIarx8XEUCgXp+SyVSjCZatXg+drRznl8TrSGcS6XQzableUVuC4Rf3e88ZqamkImk0EsFkM6nV5Q6yyTyUjjn0Ntdrtd1qriOVI7z2jXLO1Gm4tZ8vXCXuBGaXcPjhBiw/GzbWvgsOvz4sWLACCFsD6fT+7seMLnxZHj6LFYTE6gixfqQqGAZDKJs2fPLjCgLly4gEuXLi3orGs0GmWsn40CAAsWJ637W+uG1y5M2t06fy5tFhDvhjm2brVa5U6Tx8ET35NPPol4PC57z7AXiRcrDrWxYJZd9+wtYveq2WxGPp+XXiaexNlYY40Jf2YufMiZYXNzc1KfUywWEY1GYbVaZYo1L168qLKGh2PiuVwOV1xxhXQ3F4tF6X5m9y/vOHnS4lpCnFVlNptldhsbgZzdxYsa7yJdLhcKhYKcRLThQ9ZqTExMIJ/PSwOMFxMW5M7Pz0sDkEMd3d3dOHToEE6dOiXrGVmtVgwNDcHr9aKrq0saR2wo8fXlcDjgdDqlMNHv98PtdsvJXttSg3UF7DrnLuFscLNIe2ZmBuPj4/J7zOVyUpwNQIbBWK+zd+9e5HI5mTV47bXX4tKlSxgbG5PfGYfdeOHk64r/Z0OM9RRerxfhcFgu5GxIFAoFXLhwQY6XF4lyuYzx8XGZ7cTapEQigVQqJRdBXnCuuOIKWYdFG6rljcs999yDsbExXHPNNZifn8f09LQ0uDj0ozUs2WNSrVYxPz8vr1tu0MnnmBdOvi4ymYy8h7RGHN/3rDPi2kQ2mw2pVEqGRdlgNJvNiEajiMfjssKvVrfCG4ZkMomhoSHkcrkFxvCePXswNDS0IHOQQ8faztidnZ0yhA1ggfCWjQ42Infu3CkL77HXhKiWiZVMJnHx4kVZa4sz29hY4hDd2NgYxsfHpZdMazBxRWztOeP5kzWXHM4vlUpwuVzwer2yz1Y0GpXJGPx89vBwOQSel9lDznNpOp2W8x1vOtjQyeVyMrw5MzMjm5DyppXDoABkOD2VSiGRSCwo/MoNTNPp9IIMUO3mJJVKyfueZQtr0eC0u4GzGejGwKFaX4uPATAC+KwQ4sOrvYZ3Vtyszm63y6JdQM0ir1QqiEQiUijGmRf5fB6pVErWUuDFTlsLZHj4qeQy9kSwBoc9OX19ffJ3nvgALFh0+ILliqJs3MTjcSlA5QU4nU7j2LFj0gDgrKVSqSQn7Gw2i1gshkqlgo6ODjk5CCEQCoXkDaO9KdjgYk8Tj4tFxlq9CqdBszeGJ2GtIJMnI17AuFDczMwMstksent7USqVcPr0aSQSCdld/MSJEwAgx2Oz2RAOh+UkZbfb5a6IJzuub5LJZODz+TA4OAiDoZYRxG5orSaDuyKzoWAymTA1NSWrFwO15n8sAmTtlNabUKlUpFaAtTVzc3PI5/OYmKj1jWMDg7OquC8Sh1MMBgMuXbokDRR2P5vNZlnEjTOS5ufn4fF4sHv3bumtcbvdCIfDUrjLn4lrDfH3ytqU/v5+5PN5nDhxQp479o6xsckG8+zsLFKpFKLRKAqFghRAcxFDriI7NTWFbDaL2dlZzM7OIhaLyeJtfK8Eg0E4HA7ZVTmTycBqtcprkcOQHEqsVCqIRqMLjBO+TtkY4QWJdVzahq/5fB4XLlyQRi9RrWzCzMwMLl26hPHxcXldccaexWKRhiGnICcSCfmPPQZsJLKAliv+ahujsoHB1xeHYFijx546FuFrQ4gA5N+1+iNefPl74jF1dnYiGAxKLyPr7/g7Za8ML74satdq39iTxfctz0fd3d1wuVyYnZ2VY+L5ha8TNkr4b7Ozs9JrnEgkFoRLC4UCHn/8caRSKfl+LMJlQ5BDYYFAQBoNsVhMnk/e5AGQ9zVvIiYmJiCEkMYr389sRJZKJZw6dUqG54FasVAOo/L3mE6nF2yA2YukbSSrzYBjQ5SrzUejUVSrVXg8HsRiMSSTyQVrh8fjkX2zeK6wWCwyQ5YNPNbxlctluY5pPcV8T/Lcl0gk1lzcVhk4bQARGQH8I2o58WMAHiaiu4UQTy73Gl5g+/r6pKXORgBn8/DkyVY4u/dYUMo3Nbv8OV2Xa8gMDg7Km83r9Ur3KS/GDocDsVgMqVRqgWtVq5bXXmC84+TJjrULnG0RDodllgwbYbFYTC7OuVxOThzcoZmr43K6MRcvi0QiMBqNmJubg8lUK77GehF2b7vdbjkG1hQAWFBAkBcVrYBS21GZF9j5+XkpmOUJg3eDLpcL8/PzMnOBJwLejWezWVy4cEG+jkWqLHZkA4e9ApwFAkBmrXFISbvzKpfLUgfEuhi/3y8XQ204h3/myZwndN59BoNBTE5Oysmdzw0fm93gfr9/QfYdu515YuNwCe/ueTJzu90olUqYmZmRC2cymZSp8UKIBWmorGuyWCwyy4t3mlxhmeudcMG6WCwmd8F8r/C54vAAG1G5XE7ubNkDyjqpQCCAQqEgs7rYO8SLFH83qVQKRITZ2VmpUeIMNT5/WrEoL4BsjHAYkxemQqGA6elpAFjg5WGvVyQSkY9pw1zFYhFWq1V6Jjs7O2XIgL8TDjlqK0cbDAapv+LaPrz48YaEPWX5fF6GibRias604/Gy8W02m9Hb24tisSi9U2zIZDIZWbqBvT9s8PM55Q0CVzfP5/MQQsjrq1wuS+O8WCzKdgdszJvNZtm2gzcK3HaGvz+DwSBDmnwddHZ2oqurC9VqVW4mqtWqbOA5PDyMQqGAkZERaTizcc5zdrlclu9pNpulR8Tv90sDnoW8XOfK7/ejv79fCra7urqkp5ZfwwYvX0NsJLCRxOE3Xg/4O9Y28OSsVjYOqZ6kwfcoh97Zw5tMJpFOp+W8xfdhPB6XBicAWRCWMyCTyaS8nxfPsVrDl6MK1WpVbqgaRXlw2ofrAZwVQpwHACL6CoAXodasa0n4oj127JhM42QhZCwWk31zXC6XdA9q663wxFapVGSYi61p9uDccsstyGQyMp7MGQ9agR6Hk1hcq10sCoUC4vG4jPXyTcc7Di4ix3FjrvfA78GCu66urgW7C26mx2EFvklZGMxFveLxuBQ7l8tlucjzAsCiXi7Cp8324PPIn4E9PewWZ0OPvUq8CM/Pz6NarXVZZ1E2Tzw8ebDXjIXV/C8QCMDlcsnJgXt/cTVnrWHIxhHvsjg2z5MWL6Rcs4f1Tux+552QdpHlfjk8HtYSLG6poPUa8E6ZwxTRaBQ//elPpTfPYrHgyiuvBBFJzQkAaRxyLR2e6FgnwNoOrllDRLh48aI8hwaDQeqqtMXNeAdcrdYqB3OrBDYOebfJOiW+XoCaMcbfNfcu0oa5IpEInvnMZ0rhN0/WXDGYs3G02VO88+Xq1ezZYC8VGwfsactkMlJrw8YZf34uYsfH1hqmbrcbBw4cwI4dOzAxMYFMJiMXBG2mEoesw+Ewbr75ZsRiMUxMTEiDpFgsIpFIyLozLFRmjwFnINlsNrkQ83dAVGv3wBsrbTsUIpIhVb6WJyYmUCwWMTk5Kb163CQ3kUhgYmJCzlX8HbERCUAusKxJstlscLlcGBgYwHXXXSfPDy/IfI9zOJmve22hTK0GhFPK5+bmEIlEEA6H5YaOx8Ohef6cTDAYXOC94pIOAGQImjPeOIOPPc7RaBQejweHDh2SlYu1wnOuEwVAep55DuJrkutezc7OLjBY2RjiwqIczpqdnZXXHGfGshft7NmzMBqNUptlMplkijkbn3z/cXo4vxfXB2IvkBa+ntlrzPBGhUOXbJBy/7i1oP1OtiN6MXB6UCvZzIwBeOZKL8jlcjh+/Ljc2XZ1dUlXOocEmO7ubhkv1upqeKfOgjStuI7jsDt37pQaA7vdjpGRESQSCVmgimO6XGiO6x5wxVeLxYJkMolLly7Jm4B3ZZwxwpP6+fPnUa1WEQqFpJCPjQit2zYSiSAej2NqagpXX301Ojo6cOzYMVkci7UL3A0ZqC3kXAQvlUohHo9LL9Tk5CTS6bScZDjzgAXKnK3AblL2PnC5fpfLJdM5BwYG4PF4cO7cOblwaWv18I6OC6Vp64bMzc3JYme8gzEajVJLxIs/p1byd8whA5vNhkQiIWtH8HnjxZE1GBzX54nO5XKhu7v7shDV4hR+roPEE5BWm8DXEU9sbOBwDJ4F4GycTU1NoVKpyEw11kJwGIe9KOzBqVQq0tvGYSM20jiVOxaLwWCopcymUimcPXtWej8WX/O8S+TFl71SbKhrxbz8WWKxGCYnJ+HxeHDNNddI7wYbNWwEsGiVzx//bWRkRI6D9UWc7s8TPIf3uAEma9zYIPL5fMhms9JzyX/j+4yvQ6C2+PF9WSqVZJVZFjuzAc16Lta4xeNx6dVkTQUb2idOnJCLKS9ufK1yaX3eFPF8c/XVVyMUCmF8fBzZbHaBzouNJBbX833CHprh4WF0dnbi5MmTsrIvh8p48WIPDYdbjEYj9u7dK0NMWqNfa+wnk0npichkMjLTj+fCUCiEZDIpw5jsBUylUlIfNDMzIz1tBoNBFsELBoPy/gIg73OTySSzjbjGD1cp5nmA56E9e/agWCxK761Wp8PlDqLRqPQcs/EIYIFhVSwWZfFJg8Egq6Cz7otD4vydc5sJoFa2gxvi8jXNxSS5JIhWz8jXgFbLxJ4U9sbwhoG/ezbA+D0Y3jiwgJqv5UZRHpz2Yal0p8vUVET0FgBvqf9aeNe73rXmvHnFAkIA5lo9CJ2jzuHGUedw46hzuHH0cA4HGn3ikSNHvmM0GlcqatTun3VV9GLgjAHo0/zeC2Bi8ZOEEHcCuBMAiOiwEOLQ1gxve6LO4cZR53DjqHO4cdQ53Djb7RwKIW5t9RiajV4CcA8D2EVEQ0RkAfAKACu2UlcoFAqFQvH0RRceHCFEmYjeDuA7qKWJf06soaOoQqFQKBSKpxe6MHAAQAhxL4B71/CSO5s1lqcR6hxuHHUON446hxtHncONo86hzqC1VD5UKBQKhUKh0AN60eAoFAqFQqFQNMy2M3CI6FYiOkVEZ4nova0ej94goj4ieoCIThDRE0T0zlaPSa8QkZGIHiWie1o9Fj1CRD4i+k8iOlm/Hn+x1WPSG0T0+/X7+DgRfZmIbK0ekx4gos8R0QwRHdc8FiCi7xHRmfr//laOUbE628rA0bR0eAGAKwC8koiuaO2odEcZwB8KIfYB+AUAv6vO4bp5J4ATrR6EjvkYgPuEEHsBXA11LtcEEfUAeAeAQ0KIA6glaLyitaPSDf8CYHEa9XsB3C+E2AXg/vrvijZmWxk40LR0EEIUAXBLB0WDCCEmhRCP1H9Oobao9LR2VPqDiHoB/CqAz7Z6LHqEiDwAngXgnwFACFEUQsRbOih9YgJgJyITAAeWqB+muBwhxA8BxBY9/CIAX6j//AUAL97KMSnWznYzcJZq6aAW53VCRIMArgXwUIuHokf+HsC7ATReO12hZRjALIDP18N8nyUiZ6sHpSeEEOMAPgJgFMAkgIQQ4rutHZWuiQghJoHaRhBAuMXjUazCdjNwGmrpoFgdInIB+DqAdwkhkq0ej54gotsAzAghjrR6LDrGBOAggH8SQlwLIAMVElgTdY3IiwAMAegG4CSi17R2VArF1rHdDJyGWjooVoaIzKgZN18SQtzV6vHokBsB3E5EI6iFSZ9DRF9s7ZB0xxiAMSEEew//EzWDR9E4twC4IISYFUKUANwF4IYWj0nPTBNRFwDU/59p8XgUq7DdDBzV0mGDEBGhpns4IYT4aKvHo0eEEO8TQvQKIQZRuwZ/IIRQO+c1IISYAnCJiPbUH3ougCdbOCQ9MgrgF4jIUb+vnwsl1N4IdwN4ff3n1wP4ZgvHomgA3VQybgTV0mFTuBHAawEcI6Kj9cfeX68krVBsJb8H4Ev1zcp5AG9s8Xh0hRDiISL6TwCPoJYd+ShUNd6GIKIvA7gJQIiIxgB8AMCHAXyNiN6EmvH4G60boaIRVCVjhUKhUCgU247tFqJSKBQKhUKhUAaOQqFQKBSK7YcycBQKhUKhUGw7lIGjUCgUCoVi26EMHIVCoVAoFNsOZeAoFDqFiIJEdLT+b4qIxus/p4nok016z3cR0euacez1QEQjRBRa4e9fIaJdWzkmhULRHqg0cYViG0BEfw4gLYT4SBPfw4RaTZWDQohys95nLdSrRR8SQswt8/dnA3iNEOK3t3RgCoWi5SgPjkKxzSCim4jonvrPf05EXyCi79a9HS8lov9LRMeI6L56Ww4Q0XVE9L9EdISIvsMl6RfxHACPsHFDRO8goieJ6HEi+kr9MScRfY6IHq43yXxR/XEjEX2k/r6PE9Hv1R9/bv15x+qvs9YfHyGiO4jokfrf9tYfD9Y/y6NE9GnU+8/V3/e/iegxIjpORC+vj/lHAG6pG2cKheJphDJwFIrtzw4Av4pa48UvAnhACHElgByAX60bOf8A4GVCiOsAfA7Ah5Y4zo0AtA1E3wvgWiHEVQDeVn/sT1BrTfEMADcD+Nt6F/C3oNb0kZ//JSKyAfgXAC+vj8cE4Hc0x58TQhwE8E8A/qj+2AcA/LjegPNuAP31x28FMCGEuFoIcQDAfQAghKgCOAvg6rWcMIVCoX+UgaNQbH++XW+2eAy1Fib31R8/BmAQwB4ABwB8r96e409Ra1S7mC4As5rfH0fNUHkNaq0AAOBXALy3fpz/AWBDzQi5BcCn2PsjhIjV3/eCEOJ0/bVfAPAszfG50euR+jhR//sX68f4bwDzms9yCxH9DRH9shAioTnODGrdtBUKxdMI5bZVKLY/BaDmzSCiknhKeFdFbQ4gAE8IIX5xlePkUDNYmF9FzeC4HcD/IaL99WP9uhDilPaF9WaPiwV/1Mi4AVSwcK66TDgohDhNRNcBeCGAvyai7wohPlj/s60+doVC8TRCeXAUCsUpAB1E9IsAQETmurGymBMAdtafYwDQJ4R4AMC7AfgAuFBrdPt7dYMGRHRt/bXfBfA21sIQUQDASQCDRLSz/pzXAvjfVcb6QwCvrh/jBQD89Z+7AWSFEF8E8BEABzWv2Q1ANd1VKJ5mKANHoXiaI4QoAngZgL8hoscAHAVwwxJP/TaeCiEZAXyRiI6h1qX6/wkh4gD+AoAZwONEdLz+OwB8FrUOzI/X3+NVQog8ah3C/6N+nCqAT60y3DsAPIuIHkEtHDZaf/xKAD+vh8b+BMBfAgARRQDkhBCTjZ0NhUKxXVBp4gqFomGI6L8AvFsIcabVY2kEIvp9AEkhxD+3eiwKhWJrUR4chUKxFt6LmthYL8RREy8rFIqnGcqDo1AoFAqFYtuhPDgKhUKhUCi2HcrAUSgUCoVCse1QBo5CoVAoFIpthzJwFAqFQqFQbDuUgaNQKBQKhWLboQwchUKhUCgU247/H7Oq/Cgb6YlTAAAAAElFTkSuQmCC\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "import sys\n", "sys.path.append('..')\n", "import libfmp.c2\n", "\n", "fn_wav = os.path.join('..', 'data', 'C2', 'FMP_C2_F10.wav')\n", "x, Fs = librosa.load(fn_wav)\n", "\n", "H = 1024\n", "N = 2048\n", "w = np.hanning(N)\n", "X = libfmp.c2.stft(x, w, H)\n", "Y = np.abs(X) ** 2\n", "eps = np.finfo(float).eps\n", "Y_db = 10 * np.log10(Y + eps)\n", "\n", "T_coef = np.arange(X.shape[1]) * H / Fs\n", "F_coef = np.arange(X.shape[0]) * Fs / N\n", "\n", "\n", "fig = plt.figure(figsize=(8, 3))\n", "\n", "gs = matplotlib.gridspec.GridSpec(2, 2, height_ratios=[1, 2], width_ratios=[100, 2])\n", "\n", "ax1, ax2, ax3, ax4 = [plt.subplot(gs[i]) for i in range(4)]\n", "\n", "t = np.arange(len(x)) / Fs\n", "ax1.plot(t, x, c='gray')\n", "ax1.set_xlim([min(t), max(t)])\n", "\n", "ax2.set_visible(False)\n", "\n", "left = min(T_coef)\n", "right = max(T_coef) + N / Fs\n", "lower = min(F_coef)\n", "upper = max(F_coef)\n", "\n", "im = ax3.imshow(Y_db, origin='lower', aspect='auto', cmap='gray_r', \n", " extent=[left, right, lower, upper])\n", "im.set_clim([-30, 20])\n", "ax3.set_ylim([0, 5000])\n", "ax3.set_xlabel('Time (seconds)')\n", "ax3.set_ylabel('Frequency (Hz)')\n", "cbar = fig.colorbar(im, cax=ax4)\n", "ax4.set_ylabel('Magnitude (dB)', rotation=90)\n", "\n", "plt.tight_layout()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "Acknowledgment: This notebook was created by Meinard Müller and Frank Zalkow.\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "\n", "
\"C0\"\"C1\"\"C2\"\"C3\"\"C4\"\"C5\"\"C6\"\"C7\"\"C8\"
" ] } ], "metadata": { "anaconda-cloud": {}, "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.8.16" }, "widgets": { "application/vnd.jupyter.widget-state+json": { "state": { "2815d9f7d41b43a28b86d81aa4b09b8f": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "4cc694fe2f61429cb1fd9f5ec12f8f20": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "5782ebc084cf45d997ee2fe5a57432b7": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "FloatSliderModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "FloatSliderModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "FloatSliderView", "behavior": "drag-tap", "continuous_update": false, "description": "Position", "description_allow_html": false, "disabled": false, "layout": "IPY_MODEL_2815d9f7d41b43a28b86d81aa4b09b8f", "max": 6.0, "min": 0.0, "orientation": "horizontal", "readout": true, "readout_format": ".2f", "step": 0.1, "style": "IPY_MODEL_f998f655d7f24542b7e42a6dd69a7c7b", "tabbable": null, "tooltip": null, "value": 1.7 } }, "9870e5558df745c98d16a0f669899d67": { "model_module": "@jupyter-widgets/base", "model_module_version": "2.0.0", "model_name": "LayoutModel", "state": { "_model_module": "@jupyter-widgets/base", "_model_module_version": "2.0.0", "_model_name": "LayoutModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "LayoutView", "align_content": null, "align_items": null, "align_self": null, "border_bottom": null, "border_left": null, "border_right": null, "border_top": null, "bottom": null, "display": null, "flex": null, "flex_flow": null, "grid_area": null, "grid_auto_columns": null, "grid_auto_flow": null, "grid_auto_rows": null, "grid_column": null, "grid_gap": null, "grid_row": null, "grid_template_areas": null, "grid_template_columns": null, "grid_template_rows": null, "height": null, "justify_content": null, "justify_items": null, "left": null, "margin": null, "max_height": null, "max_width": null, "min_height": null, "min_width": null, "object_fit": null, "object_position": null, "order": null, "overflow": null, "padding": null, "right": null, "top": null, "visibility": null, "width": null } }, "ea933dd22c3c4afe8ffd46c0d0f76979": { "model_module": "@jupyter-widgets/output", "model_module_version": "1.0.0", "model_name": "OutputModel", "state": { "_dom_classes": [], "_model_module": "@jupyter-widgets/output", "_model_module_version": "1.0.0", "_model_name": "OutputModel", "_view_count": null, "_view_module": "@jupyter-widgets/output", "_view_module_version": "1.0.0", "_view_name": "OutputView", "layout": "IPY_MODEL_9870e5558df745c98d16a0f669899d67", "msg_id": "", "outputs": [ { "data": { "image/png": "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bezQrFmzeO3atfz1119zU1MTb9iwgUNCQjgpKYl37tzJ9957LxsMBo6Li+N169ZxYWEhM1vv/levXs0AeO7cufzNN9/w8OHDOSQkhDdv3myrc+7cOd68eTMPGjSIIyIi+I033uCNGzdyVFQUR0RE8LPPPst33XWXLQMSExPDt99+uy2DcubMGV63bh0vXLiQR44cyZMnT+arrrqKr732Wl6xYgX/+c9/5t27d/PJkyf566+/5g8++IBfeOEFHj58OAPgRYsW8fHjx3nbtm18880388CBAzkqKopXrVrFJ0+e1OkvG3g0Nzfzpk2bePLkyRwUFNShq8r+ERQUxMuXL+czZ850OL+lpcVht25PWCwWLisr4//85z+8YcMGfvjhh/nVV1/tcH01u/r444/7X0bG/iFGRhD6Nq4aGQBGAKcAjAAQDOAwgEu7O8fb7YjeXR719fVMRDx06NAeuyoeffRRBsBXXnllt+n/uro6vvzyy5mIus0eNTY28qOPPsomk4mDgoJ46dKlmibtwIEDNiNARHz33XdzdXW1w7pvvvmmbdBrXFwcf/PNNw7rnTlzhufMmWP7grzyyis73O03Nzfztm3b+MYbb7SZrIiICFv9lJQUXrx4MS9YsIBnzpzJEyZM4AEDBmh+AY8fP96hWWxpadEt69NXaG1t5fz8fN61axe/8847vG3bNt6zZw9/8803fM8997DJZOKQkBBetmwZ33DDDTxu3Dhbti0+Pp6nT5/Oixcv5nnz5nFmZiYnJydzQkIC/+hHP+JFixbxypUr+aabbuKpU6fywIEDO/yd1P8ddRzSr3/9a05LS7P97znbjhBbGxGPIKK9AH7LzE5Nhp8yZQrLvHlB6LsQ0X5mdnolOSKaDuBxZv4/yu8PAwAzP611TiC2I7Nnz8b06dPx5JNPdluvoqICt912G5599tket/tobGxEUVGRUzvam81mEBHi4+O7rVddXY21a9fimmuuwbRp07qt+/HHH2PLli145plnkJSUpFnPYrFg48aNaG9vxx133KG5FUtTUxN27tyJTz75BCNGjMD8+fMxduxY29peKswMs9mM48ePo7i4GLGxsYiPj0d8fDyGDRvWpb7gHqdPn8aaNWuwZcsWJCUlYdy4cRg3bhzCwsJQWFiI06dPo6SkBJGRkRg6dChiY2NhNBpx5swZnDlzBsXFxYiJ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\n", "text/plain": "
" }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "tabbable": null, "tooltip": null } }, "f998f655d7f24542b7e42a6dd69a7c7b": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "SliderStyleModel", "state": { "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "SliderStyleModel", "_view_count": null, "_view_module": "@jupyter-widgets/base", "_view_module_version": "2.0.0", "_view_name": "StyleView", "description_width": "", "handle_color": null } }, "fa7658b89e6c480f9b8da6e5719444f3": { "model_module": "@jupyter-widgets/controls", "model_module_version": "2.0.0", "model_name": "VBoxModel", "state": { "_dom_classes": [ "widget-interact" ], "_model_module": "@jupyter-widgets/controls", "_model_module_version": "2.0.0", "_model_name": "VBoxModel", "_view_count": null, "_view_module": "@jupyter-widgets/controls", "_view_module_version": "2.0.0", "_view_name": "VBoxView", "box_style": "", "children": [ "IPY_MODEL_5782ebc084cf45d997ee2fe5a57432b7", "IPY_MODEL_ea933dd22c3c4afe8ffd46c0d0f76979" ], "layout": "IPY_MODEL_4cc694fe2f61429cb1fd9f5ec12f8f20", "tabbable": null, "tooltip": null } } }, "version_major": 2, "version_minor": 0 } } }, "nbformat": 4, "nbformat_minor": 1 }