{ "cells": [ { "cell_type": "markdown", "id": "af11ce5f-b634-4c1e-b8b5-d886d1b04c2a", "metadata": {}, "source": [ "# Transcription\n", "\n", "Transcription of audio into a musical representation is not a completely objective process. The kind of transcription and the methods used depend heavily on the purpose of the transcription, on what it will be used for. Within **maelzel** there is a `transcribe` package which implements multiple transcription strategies\n", "\n", "## Voice Analysis / Transcription\n", "\n", "When transcribing a human voice, which is a monophonic source with highly harmonic timbre for the pitched parts of speech/song, probably the most appropriate transcription method is based on the analysis of the fundamental frequency in combination with onset/offset prediction and other secondary features. \n", "\n", "`maelzel.transcribe.FundamentalAnalysisMonophonic` implements the skeleton of such an approach:\n", "\n", "1. Onset detection\n", "2. The fundamental is sampled within each onset-offset timespan to include any pitch inflections. \n", "3. A list of \"gestures\" is generated, where each gestures consists on a series of breakpoints. A breakpoint has information regarding pitch, amplitude, voicedness (how much pitch content the voice has) and other features at a given time\n", "4. Unpitched sections are analyzed using secondary features, like centroid, to characterize them with more detail.\n", "\n", "\n", "**TODO**: it might be desirable to extend the analysis of the unpitched sections using more detailed features like `mfb` or `mfcc`. For voice transcription it would also be relevant to perform formant analysis and vowel/phoneme prediction to enrich the transcription\n", "\n" ] }, { "cell_type": "code", "execution_count": 1, "id": "ef32ad22-3eee-4056-aa92-cd64fcfafe2f", "metadata": {}, "outputs": [], "source": [ "from maelzel.snd.audiosample import Sample\n", "from maelzel import transcribe\n", "from maelzel.core import *\n", "import matplotlib.pyplot as plt\n" ] }, { "cell_type": "markdown", "id": "c45e5cad-f781-4fda-b58d-2f0b8b71bce8", "metadata": {}, "source": [ "## Configuration\n", "\n", "When performing automatic transcription the quantization results tend to become very complicated. For this reason it is important to limit the complexity allowed by the quantization algorithm in order to keep the results readable. As it will be seen later the resulting transcription remains very close to the original, even with low complexity quantization. " ] }, { "cell_type": "code", "execution_count": 2, "id": "56272815-e98b-4a12-bc42-5efdb9f2660e", "metadata": {}, "outputs": [], "source": [ "cfg = getConfig()\n", "cfg['quant.complexity'] = 'low'\n", "cfg['show.centsDeviationAsTextAnnotation'] = False # Disable text annotations for cents deviation for each note\n", "cfg['show.horizontalSpace'] = 'large' # More reabable since every note probably has its own accidental\n", "cfg['show.lilypondGlissandoMinimumLength'] = 3 # Makes sure that glissando lines are always shown" ] }, { "cell_type": "code", "execution_count": 3, "id": "5ab3902b-f710-4c2f-8033-8fb1417dcb7e", "metadata": {}, "outputs": [ { "data": { "text/html": [ "Sample(duration=20, sr=44100, numchannels=1)
\n", "
\n", " \n", " " ], "text/plain": [ "Sample(dur=20.0, sr=44100, ch=1)" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# s = Sample('../snd/Numbers_EnglishFemale.flac')\n", "# s = Sample('../snd/colours-german-male.flac')\n", "# s = Sample(\"~/tmp/gliss.flac\")\n", "# s = Sample('../snd/finneganswake-fragm01.flac')\n", "\n", "# s = Sample('../snd/voiceover-fragment-48k.flac')\n", "s = Sample('snd/istambul2.flac')\n", "\n", "\n", "# Only the left channel\n", "s0 = s.getChannel(0, contiguous=True)\n", "s0" ] }, { "cell_type": "markdown", "id": "bdb7d406-1195-4896-acec-a041fc9d5084", "metadata": {}, "source": [ "Now we perform the analysis itself. There are many parameters which can be customized but in general the defaults tend to produce viable results. The analysis is then plotted to show utterances split by onsets. Within each onset-offset range the predicted (and already simplified) fundamental is shown as a line. Zero-frequency sections represent onsets for where the confidence of the fundamental pitch prediction was too low." ] }, { "cell_type": "code", "execution_count": 52, "id": "ba3691d9-6f57-4ac5-a922-c0c805085ec6", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "mnOut size: 6891\n", "m_pitchTrack size: 6891\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABkYAAAH5CAYAAADUcILTAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/SrBM8AAAACXBIWXMAAA9hAAAPYQGoP6dpAADRb0lEQVR4nOzdd5wjd3k/8M/MqLft5bbcXvNVl/O5nhsGdxubFgJplBgIxE4g8CNACiEhCUkgkEAIAUwoAdNxL7j3O9+5nNv1ur3vqveZ3x8jaUbb1UfS5/163etGu5L2uytpyvf5Ps8jKIqigIiIiIiIiIiIiIiIqA6IlR4AERERERERERERERFRuTAwQkREREREREREREREdYOBESIiIiIiIiIiIiIiqhsMjBARERERERERERERUd1gYISIiIiIiIiIiIiIiOoGAyNERERERERERERERFQ3GBghIiIiIiIiIiIiIqK6Yar0APIhyzKGh4fhdrshCEKlh0NERERERERERERERBWkKAr8fj+6urogikvnhFRlYGR4eBi9vb2VHgYRERERERERERERERnIwMAAenp6lrxPVQZG3G43APUX9Hg8FR6NwYRCwLPPAhYLYLUW73l9PmDfPuDss4HU37+o9y/nY0r5XCt5jkr/nrmIRgG/HxAEwOVS31PRKBCLARdfDDgcyz/HYu/JSv1OK5Hr71gK+XyWy/E5LcZjS/FcpXw/LfbcK/2ZlXqvl/vnLvXzirHfW+g58t3nLve4Uv3tjLzfW8hy+8Jc9u+V+IwaXak+F+Uay2KPV5Ty7hvz2UeX4z1jhHOJYsrlvKSQv32u7/F8X0ujnccs93yFvp+L+Rkv19+rGK+9kY4PtbZPSMt3/iGX18Yor2Mlx7HU+6cY++dSnV8sp9j7pnKdFxnl/KuYP7OY503l+PuUew7BKPuhuWr12FIgn8+H3t7eTPxgKVUZGEmXz/J4PAyMzGUyAU6n+kG12Yr3vJKkPl9jo/qv2Pcv52NK+VwreY5K/565iESAZFINjDQ3q2OIRNRgicezsh3vYu/JSv1OK5Hr71gK+XyWy/E5LcZjS/FcpXw/LfbcK/2ZlXqvl/vnLvXzirHfW+g58t3nLve4Uv3tjLzfW8hy+8Jc9u+V+IwaXak+F+Uay2KPB8q7b8xnH12O94wRziWKKZfzkkL+9rm+x/N9LY12HrPc8xX6fi7mZ7xcf69ivPZGOj7U2j4hLd/5h1xeG6O8jpUcx1Lvn2Lsn0t1frGcYu+bynVeZJTzr2L+zGKeN5Xj71PuOQSj7IfmqtVjS5GspP0Gm68TEREREREREREREVHdYGCEiIiIiIiIiIiIiIjqBgMjRERERERERERERERUNxgYISIiIiIiIiIiIiKiusHACBERERERERERERER1Q0GRoiIiIiIiIiIiIiIqG4wMEJERERERERERERERHWDgREiIiIiIiIiIiIiIqobDIwQEREREREREREREVHdYGCEiIiIiIiIiIiIiIjqBgMjRERERERERERERERUNxgYISIiIiIiIiIiIiKiusHACBERERERERERERER1Q0GRoiIiIiIiIiIiIiIqG4wMEJERERERERERERERHWDgREiIiIiIiIiIiIiIqobDIwQERERERERERERUdlElEqPgOodAyNEREREREREREREVBZ/ExGw1i/i61Gh0kOhOsbACBERERERERERERGVxS9iAhQI+M+ogDAzR6hCGBghIiIiIiIiIiIiorJIpP4PQsATiSXvSlQyDIwQERERERERERERUdndHWc5LaoMBkaIiIiIiIiIiIiIqCz01bN+m2A5LaoMBkaIiIiIiIiIiIiIqOxCEPA4y2lRBTAwQkREREREREREREQVwXJaVAkMjBARERERERERERFRRTzEclpUAQyMEBEREREREREREVFFhCDgMZbTojJjYISIiIiIiIiIiIiIykrQtWFnOS0qNwZGiIiIiIiIiIiIiKisNohAs6AGRx5KCAixnBaVEQMjRERERERERERERFQW6fiHGcB1JvVWGAIeZTktKiMGRoiIiIiIiIiIiIio7G4ya2ki97CcFpURAyNEREREREREREREVHYXS1o5rYcTAoIsp0VlwsAIEREREREREREREZWVAMAkANeznBZVAAMjRERERERERERERFQWc5NCWE6LKoGBESIiIiIiIiIiIiKqiIt05bQeSQgIVng8VB8YGCEiIiIiIiIiIiKiskrnhpgE4K26clqPwFK5QVHdYGCEiIiIiIiIiIiIiMpiof7qN+rLaQkMjFDpMTBCRERERERERERERBWzUwJaUuW0HoUFQVGq8Iio1jEwQkREREREREREREQVYxKAG9LltAQBDze3V3hEVOsYGCEiIiIiIiIiIiKishLm3L5JX06rpau8g6G6w8AIEREREREREREREZXFQj1GAOBCCWhNl9NqakdwkfslF3sCohwwMEJEREREREREREREFaUvpxWRJDyM7CbsSUXBPx+O45bIWsgKoyNUGAZGiIiIiIiIiIiIiKis5pbSArLLad0taIGRUELGR5+bxXdOJfFgshH/djRRhhFSLTNVegBERERERERERERERBdKQJsiY0IQ8SpMSCjAZCSJDz0zg9dn1WCIBAW99oXCKkQrx8AIEREREREREREREZXFUkWwJAH4ByWItjdex4VbN+KQ14mbn5nBaFgGALhNwDdNx3BZz+nlGSzVLAZGiIiIiIiIiIiIiMgQ3oEY4J3CIxNJ/Plr0wiluq33OCT871kSNr7mr/AIqRawxwgRERERERERERERGYKiKPherA0f3hfPBEXObjbjziuasdHF6WwqDr6TiIiIiErooTjwtqCIu2FZ/s5ERERERGUSSyTwr7t24RuJBO4/erTSw6E6slQprYSs4G8PJvDFWE/mfm/tteGnlzej1SaVY3hUJ1hKi4iIiKiE/j4q4pgsYEhw4KZKD4aIiIiIKCUUi2HTGXfBYonAJIp4xmfBXwp/jdmLLoIAERZ/CddTC43AuVegTTDjodL9FKpCvzkVxo8Hk5nbf7bFib/Y5oIosNk6FRcDI0REREQlElOAE2qPQEwwUZeIiIiIDCQcj8NiicBqDQEAogowAzdmhGb1Dkst6y+UIAFWO6Akl78v1ayFQh2/s8aOJ/oDeHg8gX/ZZsW7trrLPi6qDwyMEBEREZXIgAzIqdP9qCAgJggsqEVEREREhhCKxRCL2QAAVkmC1WxGk+KHoAhqxojYULofLstALIY2ixkLT49TvRIFAV893YyDuw5ge9dZlR4O1TAGRoiIiIhK5KScfTsgmdBcmaEQEREREWUJxWLY9/INAIBr1q3Dzm3b8NzsLLDrOWDnTsAtL/0EhZidBV7Ypf4cNJbu55AhLZeMZJMEbJdCZRkL1S/WdCAiIiIqkRNK9uq3gMQ1KURERESFiMUU+AMlnLCvI6FYLLPtMJsrOBIiovLj1TkRERFRiZyac80eZGCEiIiIKG9DIwnc/9sgYnHgbdc70dPNc6tCZAVGTPxbUvmxiBpVEjNGiIiIiErkpJx9qu9nYISIiIgoL0PDCdz7oBoUAYAT/fHKDqgGMGOEKmW5UlpE5ZBTYORLX/oSzjvvPLjdbrS3t+Ptb387Dh06lHWfSCSCW265BS0tLXC5XHjXu96FsbGxrPv09/fjhhtugMPhQHt7Oz796U8jkUgU/tsQERERGchCPUaIiIiIKDeD48C9DwahnzoKhTi1WigGRoionuUUGHnyySdxyy23YPfu3Xj44YcRj8dx9dVXIxgMZu7zF3/xF7jnnnvwy1/+Ek8++SSGh4fxzne+M/P9ZDKJG264AbFYDM899xx++MMf4gc/+AE+//nPF++3IiIiIqowWQH65wRGmDFCRERElJuBSAPuewZIJLO/Hgqxz0ihWEqLKo2ltKiSctrrPfjgg1m3f/CDH6C9vR0vvvgiLrvsMni9Xnzve9/D7bffjre85S0AgO9///vYsmULdu/ejQsvvBAPPfQQ9u/fj0ceeQQdHR3Yvn07vvjFL+Izn/kMvvCFL8BisRTvtyMiIiKqkBEFiM451WePESIiIqKVGxgD7pvcjGTqnGrNahOGRhKIx4FQmBkjhUoHRiQAFkmq7GCIiMqsoB4jXq8XANDc3AwAePHFFxGPx3HllVdm7rN582asXr0au3btAgDs2rULZ5xxBjo6OjL3ueaaa+Dz+fDGG28s+HOi0Sh8Pl/WPyIiIiIjO7HAIkY/V+IRERERrcjAYBz3PQMkoU7Yr+0z4dorHXA61KmsIDNGCpYOjDgACALX7lP5KMwVIQPIOzAiyzI+8YlP4OKLL8bpp58OABgdHYXFYkFjY2PWfTs6OjA6Opq5jz4okv5++nsL+dKXvoSGhobMv97e3nyHTURERFQWp+T5J/vsMUJERES0vJnZJO57KIRk6nxqbZeCa65wQJIEOBzq1+JxIB5n1ki+FEXJCowQEdWbvAMjt9xyC15//XX87Gc/K+Z4FvS5z30OXq83829gYKDkP5OIiIioEHMbrwMMjBARERGtRGODiNO3qqXW19mmcM1OQJLUgIjDrk1lhcLMGslXLJlEUlb/fg5mi1CF8K1HlZTX1fmtt96Ke++9F0899RR6enoyX+/s7EQsFsPs7GxW1sjY2Bg6Ozsz99mzZ0/W842NjWW+txCr1Qqr1ZrPUImIiIgq4gQzRoiIiIjyIggCLr7AhlZbFKcNH4YkXpj5ntOhnWOFQgoaPJUYYfXTN163V3AcRESVklPGiKIouPXWW3HHHXfgsccew9q1a7O+f84558BsNuPRRx/NfO3QoUPo7+/Hzp07AQA7d+7Ea6+9hvHx8cx9Hn74YXg8HmzdurWQ34WIiIjIME4xY4SIiIgob4IgYPMaQBKyy2XpM0aCIZbSypc+MMJSWkRUj3K6Or/llltw++2346677oLb7c70BGloaIDdbkdDQwNuvvlmfPKTn0RzczM8Hg/+7M/+DDt37sSFF6rR/auvvhpbt27FH/3RH+Hf/u3fMDo6ir/5m7/BLbfcwqwQIiIiqgmKojVfd0OBP9Vc0M/ACBEREVFBHPqMEZbSyhsDI2QErKRFlZTT1fm3vvUtAMDll1+e9fXvf//7+MAHPgAA+NrXvgZRFPGud70L0WgU11xzDf77v/87c19JknDvvffiYx/7GHbu3Amn04n3v//9+Id/+IfCfhMiIiIig5hSgEDqNH+bBOxOql9nxggRERFRYRxzSmlRfsL6wAgbPRBRHcrp6lxRlj/g2Gw2fPOb38Q3v/nNRe/T19eH+++/P5cfTURERFQ19GW0NokKXkwCcQipwEiiYuMiIiIiqnZOh675eogZI/lixghVygqml4nKIqceI0RERES0PH3j9TUi4ErdZMYIERERUWEcdu08KxjmDGu+GBghonrHwAgRERFRkZ3UXaOvERW4UtsMjBAREREVxmYTIKZiI8wYyV+IpbTIAPjOo0piYISIiKiEErKCPUlnpYdBZXZSd43OjBEiopVLSDHE4K/0MIjIwARBgD3VZ4Q9RvLHjBGqFH5qySh4dU5ERFQisqLg0/vjuCt8Gv5lKIHfbaz0iKhcTupKafWJgDt1MyJJiMuAuULjIspVf/R+9EfvQhLxJe6lAOclsBOnwwJ32cZWDv2DcTy7O4J1a8w4/xwrBK6oLZlQcgSH8V1Mn7cfvZjAafhQpYdERAbmsIsIBpMIRxTIsgJRzG//rCgKnngmgrHxBK683IHWFqnIIzUuBkaIjGPq3nsx9cADQCK58gcpCqAo2PDoIxAd/BTng4ERIiKiErm7P4I7RmQAAv5yfwIhSxAfOI3ZI/UgnTHSIShwCID+VQ9AQFNFRkWUG1lJ4ljkJ5CXDIpArYFgRk120tzzYhTTMzKmZ6IAgAvOtVV4RLXLLLgwjf1QRBkTykvYoCgsr0FEi3I6BExAPfSEIwqcjvz2GNMzMvYfVAMEu/ZGcOO19XOung6MmESRi3aoYnisB+LT0xj/2c9r8lza6BgYISIiKpG3rbbhldEAvt+vrvr4wj4/QkkFf7rZtcwjqZoFFGBSUU/x16aKlroFBenTfgZGqFpE5IlMUESCHRaxYeE7JmUgEoZgq60qvYqiYGpaW7X3wstRuJwitm2xVHBUtcssutGIjZjBQYSFSQTkfrixyHuOiOqevgF7KKzAmedi6ZlZrf7pwGAC4bAMu722jmeLSQdGHCYTBJm9WogqxfvU05mgiNTQANG2woU4igLIMsCM5rwxMEJERFQigiDg8xtNcI0M4RvxTgDAv70WQCih4FPbXCzJUqP0/UX6RPUE16V7qQNcF0VVIiyPZbZ7rFdjg+0PFr7j7Czw8i5gZ20FfQNBBYlE9teefDYMp0PAmj6urS2FNmzHDA4CACbiz8ONqys8IiIyKodDC16EQjKQZwmsWa8WAFcU4NiJOE7fai14fEanKIoWGDGbgWi0wiOiesK8CI0iy5h94gn1hiBg7d//PcxtrSt7cCQC+P2AhYt28lUfYXAiIqIKEQQBn7KO4DMbtLUI/3UgiH94xQ+FqbI1aW7jdYCBEapOYXk0s20XOys4ksqYmdEmy+yplcmKAvz2sRDGxhOLPYwK0IazM9sT8b0VHAkRGZ1DVzqrkAbss97sTInDx5YpH1kjookE5NS1iMPMYD9RpYT270d8YgIA4Dzj9JUHRagoGBghIiIqg4+tNeEfztaaEn//SAh/9aKPwZEapG+8ni6lpV9Hz8BI9ZqeSeLpXWGMjtXHpHhIFxhx1GNgRFde5cJzbdiwTp04SiSA+34bylplTMVhQxM8fnVCICCfQgjjFR4RERmVU1fuKhTOvwzU3MDIyGgS/kDtl5XKarzOwAhVUL1fGc0+/kRmu/HyN1duIHWKpbSIiIjK5H0bnLCbBHxmrw8ygJ+eCOOda+w4r5Wpr7VksVJall3jEKJJfAIK7GKwQqPLgaIAsoK2Qy/gno9fVunRVFwyqeDeB4PwBxS8vj+Ga690YG2Nl1Oq94yRaV1gpLlJxKbT7AiFZQyPJBGOKLj3wRDedZOzbmrRl0vbdB987kkAwAT2oQ/uZR5BRPVInzESLGLGCAAcORbHjrNqu5xWVmDExKlBKi8uDVQl/H74X3gBACB5PHCfs6PCI6o/3PsRERGV0bvXODATVfDPr/oBAK9MxxkYqTH6jJE1mebrgBBNQojK8ALwVtPlQCC2/H3qwOsHYvAH1NdNloEHHw7h6iscWL+2doMj6R4jIsywCk0VHk35zcxqGSFNTRIkScB1Vzlxxz0BTM/I8Ppk3PdQCG+7wQmzqd7XOxZP+1QfjvW9CACYwMvoAwOzRDRfdo+R/M6rIhEZ0aj6WI9bhM+vBkmOHIvVV2CEGSNEFeF75lkoqYZ2DZdeAoFByrLjX5yIiKjMzm/TLj6O+uqjJE89SWeMNEJBU2qu9AaTgh9ZgNlYHKLFDEGsghXm6YwRFwN3sZiCF17ObkoqK8BvHw3hysvt2Lih9v5GiiJnAiN2sQOCUAXv2SJLl9JyOARYLeqH2WYV8NZrnfj1XQEEQwrGxpN46NEQrrvKAVFkcKQYHJEGOJVVCAoj8OI4ouZzUdvTk0SUD4dd32Mkv9JX+myR3h4TJiaTGJ9IYnJKxsxsEk2N+TV0rwb6wIidgRGqoHo9e1IUBTOPP5653Xj55ZUbTB1jYISIiKjM1ru1wy8DI7UlqgBDqUWLfbp55GYRePhCC7DrRWDnTqCxsSLjy0kkAvj9wGXnVnokFffyq1FEIuoLu2GdGSYTcPBwHIoCPPJEGLIMbN5YW8GRqDINGWoD2nosoxUOy5nXvKkxOyjkdol467VO/OaeAOJx4GR/Ak89G8GbLrFBEOr18r642rADQdwHCAommvvRU+kBEZHhmEwCrBYgGgNC4fwyRvSBkcYGEU0NIsYn1GzBw8fiuOCc+giMsJQWUfmFjx5FbGgIAGDftBHWrq4Kj6g+1d/SLyIiogpzm0V0pmrSH/Un2IC9hgzIgJJa97RG5OtaC0IhGfteU7NFRAG48Dwr3nKZHds2q4EQRQEefTKM/Qdrq+QYG6/r+osssGK4tUXCdVc5kU7+euNgDC/ui867H+WnDdsRhQX/hw/gf1etrvRwiMig0uW0gkXIGGlsELFhnZY5ceRovKbP0VlKiyqpdj9ZK5fVdP3NbLpeKQyMEBERVcCGVNbIbEzBVDS/izkyHn3j9bU8y6oJL7wcRar0L7ZtsaDBI0EQBLzpEhvO2KZliTz+dBiv7a+diXE2Xtf3F1n4w9zbbcJb3mTP3H7+hSgOHq6tAFmlSFiNvxG+hgeFG/E9x004jNr5bBFR8aTLaSUSQCye+1Tr3MCI0ymiu0sNhnt9MiYmk4s9tOqFGRghqphkKATf7t0AANFuh+f88ys8ovrFS3YiIqIK2ODRldPy1+5FV73RN17v41lW1Zv1JvHGAXXiwGQCzj1b63QgCAIu3WnD9jO04MhTz0bwymu1MYGb7i8CqD1G6o0+Y2SpGvObNlhw4Xna++Lxp8IYGIyXdGz1wAkB54szAICoYMPHBTuSXF5KRHNkN2DPfaHRrFc9BxcEwO1Wn2vjeu24fvho7e7PmTFCRlGPRUh9u3dDiarXDJ6LL4JoZTe1SuElOxERUQWs97DPSC06qZu4Yymt6rfnxSjk1Mu4/Uxr1gQMoAZHLrrAhnO2axczz+yO4KUaKKkUSupKaUn1lzEyM6MPjCx9ybTjLCtO36pOpMkK8MAjIUxMMxOwUH9nM6NL8QMAXhaacFusHqdOiGgpDoe+AXtu512KosDrU/fVHrcISVSfa91ac6ZM4tHjcchybZ7PsccIVVJtfqpWLquMFpuuVxQDI0RERBWwwa2tQGZgpHboM0ZYSqu6TUwmceSYulLUZhNw9hkLr+QSBAEXnGvFeTu07+/aG8HelyJlGWeppEtpCZBgFVorPJrym0mV0rJatFIti0lnD63tUyeW4nHg3sfi8IVKPsyatsq0Fv+laAGmL0UFHGWCJRHpOOzayVaufUaCQSVTKrOxQXsem1XA6l5T6jkVDI/W5o4nHRgxSxLMUu02mScymsipU4gcPw4AsK7pg33t2gqPqL7xkp2IiKgC9KW0jvkZGKkV6R4jdijo4OLmqrZrjxbYOPdsKyyWxV9QQRBw/jm2rJJKe16M4vkXIlXZuFVRlExgxCa2QxTqa8IkFlcQCKqvW1Oj2lNmOaIo4Kq3ONDRrv6tQmHg3l1mRELcvxfiIiTwoeETAIAIBHw8IrKkFhFlOPUZI+Hcdg5z+4vobVyva8J+rDZ7R6UDIw6LZZl7ElExzT7xZGa7iU3XK46BESIiogpotYpoTE20HmHGSE1IKkB/6hq7T1TrVVN1GhhKYGBI/Vy6XQJO37KySYNztttw8QW2zO0XXo5i157qC47EFC+SqWbXjjrsLzKrb7y+TBktPbNJwA3XONDgUR8z4xdw//8eQiJem6uNy+WvTh3AWkX9G76YFPDzOHeuRKTK7jGSa2BE2zfPDYysWW1GurrUsRMJJGssIisrCkJxNSuWgRGi8pFjMXifeQYAIFgs8OzcWeEREQMjREREFSAIAja41Suu0bAMf5z16KvdiALEUu0D1/AMq2opioLdumyRC861QZJWPhG7/UwrLr1IC468/GoMz+yuruBIOlsEAOxiHfYX0Tdeb8otW8ZuE3HjdU7YU2+B2fEI/FPVXVat0hyyjH9WgpnbLzHOREQp+lKHoXBu59LZGSPZ+3qzWcDaPjVrJBpV0D9YW4uYoolE5ryEgRGqhOo5Ky4u/969kENqrVXPBedDcjorPCLiZTsREVGFsJxWbTmpux7vY+P1qnXsRALjk+rMa0uziI0bzMs8Yr4zt1lx+SX2zO1XX4/hqWerJzhS74GR6Rwary+kwSPirW8xo7VBxrs+vg1NnbzoLdQ6aNGQQHV8jIioDJwFNF9PN14H5meMAMg6/qd7jtWKUEK77mBghKh82HTdeBgYISIiqhB9YOSoj0tgqx0br1e/pKxg915tdf+F59lW1F9iIdu2WPCWy7TgyOsHYnj86TBk2fizuiFdYMRRh4GRGV0prebG/PqrtLeI+N3LE2hosS1/Z1qWU7e2NACW0iIildUqQEydc+XafD2dMWIyAU7n/P1Kb7cJVqv69ROn4ojX0BqmdBktgIERqrx6OarHRkcROnAAAGBZtQr2TZsqPCICGBghIiKqmPVufWCkhq626pQ+Y2QNM0aq0oGDscwK0q5VEvp6Tcs8YmlbNllw5ZvtmX4zBw7F8diTxg+O1HvGSLqUlkkC3O78L9fZZ6h4XPrAiLE/PkRURoIgZMpp5dJ8PSkr8KWO9w0eccFFEJIkYMNaNWskkQBODBdhwAbBwAhR+embrje++fK8F19RcTEwQkREVCEbPNpK5KMspVX1TugyRthjpPokZQV7X45mbu8sIFtEb9MGC65+iyMzSX7oaBwvvRJd+kEVFpLHUlsC7GJbRcdSbsmkkgmONTYuPFlG5WcFYEoFR4IMjBCRTroBezisrHjhgd8vI33XhcpopZ2mL6fVn/8YjYaltKjS6u1QrsgyZp9+Sr0hSWi45JLKDogyeNlORERUId0OCfZUU+djzBipeqdSGSMmKOjhXGrVmZ2VM/XJV/ea0NlRWLaI3oZ1Zlx7pSNz+2S/sT/v6YwRm9AKUci9x0o1m/XKSLeCacqzjBYVnwDAldoOVHIgRGQ4Dl2fkfAKs0aWaryu19UpZcps9Y8CkWTxzg0qiRkjROWV8HqRnPUCAJzbtsLU0FDhEVEaAyNEREQVIgoC1rnVi7FTgSSiyXpbO1M7FAU4kbrG7hEAEwMjVcfn1yZJOtqKPyG+bo0Z5lSMIRo17mc9LgeQUIIA6ruMFpBf43UqnXQLAGaMEJGew67tq1daTis7MLL4vl4QBJy2Tj14y4qAY+GWPEdpLAyMkJHUw2VTMqAt6zA1N1dwJDQXz/aJiIgqKN2AXQZwMmDsVeS0uEkFCKZO61lGqzqlyycBar3xUrClmrgaOTCS1Xhd6qjgSCpD33idGSPG4krNnLDHCBHpOXUZIyttwL7SwAgAnLZeCxwcCbfmODpj0gdG7AyMUAXU26FcDgQz25LTtcQ9qdx46U5ERFRBG7IasCeXuCcZ2Sk2Xq96+sCIp0SBEasuMKIY9G3CxuvMGDGqdGAkBAErbCNARHUg3XwdQKYk5nJmvdo593KBkbZWMXOfoagHgXAegzQY9hghKq9kUMsYkVzOCo6E5uLZPhERUQWlM0YANmCvZmy8Xv18+owRd4kCIxb1fSIrQNygcdBQnQdGpmfUF0YQlp8so/LSr68MLnovIqo36ebrABAKryxjxJvKGLFaBdhsS+/rBUHAaevT/bYEHB3Ia5iGklVKy1xfvcTIeOqjlJYuY8TFjBEj4dk+ERFRBZ2mC4wcYQP2qnWSGSNVL50xYjIBdntpLtHSGSMAEI2V5EcUTJ8x4qizwIgsK5nyKg0eEZJUD5fq1cOpezlYTouI0vTN11eSMRJPKAikmhWtNACuBUaAI/05DtCAwqnAiMVkgkli2UiiUksG/JltltIyFtPydyEiIqJS6XNJMAlAQgGOMjBStU7prsOZMVJ9ZFmB369NiAtCeQIj7pL8lMKE5bHMtl1sr+BIys8fUJBMZfKwjJbxOAUF6XWlDIwQUZozx4wRbw79RdKaGiWs61bQ6BvCxvO6cx+kwaQzRlhGiyql3g7j2RkjLKVlJDzjJyIiqiCzKKDPpa7UOu5PIGnUxgO0JH0prT6eXVWdQEDJ9CwoVeN1QGu+Dhg3YyRdSssqNEESbBUeTXllNV5v4gpao9Gvrwwsei8iqjf6HiPBFWSMZDVez+GYf91FwM6GfrQ05DY+o5EVBeFUjxEGRojKI6vHCDNGDIWX7kREVLDp6UlMT01WehhVK91nJCYDg0GDNh6gJaVLaXUKCkpUhYlKyOsvfeN1YE7GSHyJO1ZIAhHEFS+AlfcXSSjAPwoOPOtpKeXQykLfeL2ZGSOG49LtW4NcQ0BEKZIkZI6vKymlpW+83lCHvaQi0FbrMzBCRlAPl07MGDEultIiIqKCjI2N4Mc//DYABVu3nYU3vfkaOBw82Odig9uE3yIKQC2n1efi4bma+BVgSlFP6VlGqzp5fbpJkhI1Xge05usAEDFgxkgYE5ltu9ix7P19CvDBkIhnBTt+tmkHHkEQnVVcHGFmRpcxwsCI4bjYY4SIFuGwC4hGFYRCMhRFWbIkZlYprcb6yw4M6bYZGKFKqbfDeFbGCJuvGwrP+ImIqCDHjx5C+tRm/xuv4Pu3fQOvvfoSFJaEWrENugbsR/3MGKk2bLxe/Xw+7UUsZSktozdfD2E8s72SxutOAOl2tJMWKz4iuGHARJgV02eM1ONkmdFlN1+vh/WlRLRSzlQD9kQSiC9zINKX0irlMd+osgIjZvOi9yOi4slkjEgSBKu1soOhLPV3FCAioqKanBzLuh2JhPHQg3fhFz/9PqamJhZ5FOllBUbYgL3qZAdGKjcOyp/Xpy+lVboJcaOX0grrAiMrKaUlCcA37TK6FTWgu0cw44uCo2TjKyVFUTI9RlwuARYzJ96Nhj1GiGgxDl0D9mBo6Qbss6ljvtNZn/v6kG7xGjNGyAjq4VOYDKhnLpLLtWRGG5UfL9+JiKggExPqRJokmbB5yxmZrw8OnsKPvv8tPPP0o4gvt3Srzq13axOxDIxUn5O6xusMjFSndGBEFAC3q3QXK0Zvvp5VSktaWY+RFhH4rhKAWVb/ht8R7LirZVVJxldKobCSeU2amS1iSC5Bm8xjKS0i0nM4tONrKLz4DiISkRGJqN/PpfF6LWEpLaLyk4NqxojkZMlxo6nPIwFVnKzIeNi7FwfDpyo9FCIqQDyRwOzMFACgpaUNN9z4O3jXu/8IjY3NAABZTuL5XU/hR9//b5w8eaySQzU0h0lEd2ql21F/gmXIqgxLaVU3RVHgSzVfd7lFiGLpAiPVVEprJT1G0nYggS+eeANQFAizMXxCXotvDi+9YrdSJqaSeO0o8NTMWoQi2tdnZrTxsr+IMbH5OhEtxmHX9tuhJTJGZnUZoo0N9RkEZ2CktiiKjJMnjuLQwTcgy8Y896p3SiIBOaKedLK/iPHwrJ8q4sujP8UnB76JD5z4Eibjs5UeDhHlaXp2KjOJ39rWDgBYs3YD3vfBP8UFOy+DKKoXHLOz0/j1L36E++75FYJBFsBYyHq3Wk7LH1cwEeFJbTVhxkh1C0eUTD3yUq8e1TdfN2JgJJ0xYhbcMAu5rWh7/+gpXBMIwfr8BJSBMP5zUDHk5PWhwzE89bKA14KrMOXVvp4uowUATcwYMST9VEKwYqMgIiPKyhgJLX7wyWq83lCfJ20spVUbFEXB8WOH8eMffge//uX/4d67f4H9b7xS6WHRApJB7axFcjFjxGjq80hAFbUvdBQ/mXoEABCUI3gpdKTCIyKifE1MTWa229q01cVmsxmXXHoF3veBj6K7Z3Xm6wcPvIbv3/YNvLrvBSgKJ//1shuws5xWNUlnjDQJChpZMrbq+LL6i5T21NiiC4xEDFZhMCkmEBVmAKysv8hcAoBvOSMwu9R9WcwbxxsB4+3Lmpq0oMeMX/u6vvE6M0aMKbv5euXGQUTG47SvrMfILAMj2RkjbAJdlfpPHcdPf/I93PHrn2B8fCTz9WNHD1VwVPmr9cundH8RAJCczBgxmvo8ElDFxOUEvjD0v1CgXc0cjPRXcEREVIjJaS0w0to2v+xKS2s73vN7H8TV194Em80OAIhGI3j4oXvws9v/FxMTY/MeU6/0gZEj7DNSNaIKMJw6pPXV+ll9jdI3Xm9wl/bUWBQFWFOLM42WMRK2alECRw5ltPQcAN7XqX0QXhiKLH7nCtEHPWZ82ten9RkjTbxEMiIGRohoMSvtMaIPjDQwMMKMkSozNNSPX/zsB/jlz3+IkeGBed8fHDxVNSWZq2OUxZEMMGPEyOrzSEAVc9vkfTgWHc762mEGRogqIjgTRKHnTcsFRgBAEEScceY5+ODNt2LrtrMyXx8eGsCPf/g/eOr5pxGXkws+tp6cps8Y8fHvUS36ZUBJrXNay/4iVclbxowRQOszYrjAiE2LEuSTMZL2/g5tcurufuMFRpoXCYykM0ZsNgF2Gy+RjEi/xjJQ8+tLiSgXDoe+x8hSgRH1HFsQAE+JF0MYlb6Ult1sruBIaKXGRofxm1/9GD/7yfcw0H8i8/WW1nbc9Pb3Yt36jQCASDiE6amJSg2TFpHUlRKXXO4KjoQWYlr+LlT3pl4Djt8DJF4HZl1A46V5Pc2xyBC+M3E3AECCCJMgIarEcSgyP9JdSqcG4jjVn8CZp1vqtuEakXd4Br++L4bupBNXXSDnHSVPB0Zsdgecy6SFOpwuXHfDO7Ht9O145KF7MTMzBVmWIQ514FWTHa17g+i7qjHPkazMbCiEZ48dw7rWVmxZtaqkPytXG9z6wAgzRqpFduP1yo2jls0+8QQip/rRdNWVsHZ1Ff359aW0GsoVGPEriMYBRTFO+YCQXcsYKSQwstohYrsYxD7ZiYPeBI74ElmB30qz2UTYrQrCUSFTSisaUzITaSyjZVxsvj7f2NgIXt71NHxDAzijrQlbzr2w0kMiqgirBZAkIJkEQuGFS2kpipLJGPG4RUiSUY7A5ZXOGLGaTJBEHvOMbHJiDM89+ziOHD6Q9fXGxmZcdMmbsWnz6RBFEbOz0zh+7DAAYHDgFFpa2ysx3LzV+icxq5QWM0YMh3tBWl5oGBh9BMAoEDiW11PIiowvDH8fCUVdofGB1uuwzb4WADAan4Y3UZ5mzIePxnDvgyG8tj+G3XujZfmZREYTD4Vx1x2TCFubcdRxFu67cxhJOfcZhlAijmBYPbVua22HIKzslGZ13zq874Mfw86LLockSeh2noYO+3oExpOY1vUsKYUnDh/G3pMn8auXXkIoZqzl2k1WES1W9bDMHiPVQ994vY9nVUUXn5zEyHdvw8xDD+H4Zz+H8V/8AnK0uMfvsmeMpPqMKIqAuGKcBRphm76UVv6BEQC4yTST2b6nP1zQc5VCU2qxXigiIBpVMDOjZek1s/G6YVkEwJIqvsFSWqpIJIw3Dr+BgaAP45PjlR4OUcUIggCHXT2+BhfJGAmFFCRSp9j12l8E0AIjLKNlXDPTU7jvnl/hh9//VlZQxO1pwNXXvg0f/NCt2LL1TIipwFZPb1/mPoODp8o+XlpaVvN19hgxnPo9GtDKedZr24GTeT3FL6Yfx77QUQDAaksHPtr+Nmyy9Wa+X46skZP9cTz6hHZx7mWpGqpDSjKJ0W9+Ez3Hfwukmp/3y7148OEQEoncZhkmI1qF2sXKaC3GZDLjokvejPd94E8hC+pn0WFxobmlNafnydWYT62bkpTlzLaRrHerE3ITERneGJvTV4OTuo8NS2kVX3xqWruRTGLqrrtx/DOfhf+ll4v2M7x+9bPmcAgwm0q/Zi1dSgsAIrJxMimKVUoLAG4wzWRW/909EDFcvesmj7Y9M5vMbrzO/iKGls4aYWBE5fE0ZLZ9Af8S9ySqfelyWpGIsuCiLzZeB5KKgnSRSwZGjMfrncFvH7gT3//ef+HggdeQ7sThdLpxxVU34I8/9Oc448wdEMXsRRzt7atgNquv5+BAdfQZMf4Ii0efMSIyY8Rw6vNoQLlxrQaE1I43mHv0eTQ+jf8Y+2Xm9t91fQA20YLNttWZr5W6AfvwaAIPPhKC/vwoGq2nXTGRmj4+9qP/Q2DfPqwa3Y0zj/wQItSgxMn+BO55IIhobOWfi+zASH7pus0trXC6bAAAs2jN6zly4Q1rwVEjBkb0DdiZNVId9BkjLKVVfAtlh8QnJjD47/+Oga99DfHJwrLMYjEF4VST1lI3Xk+zWrWfE5WNk50QSgVGJNhhFgqrf9whJnBhKsBwMpDEazPG2p/pAyPTs3J243WW0jK09HRCeXLNjc/t1gIj/oDxzmuIyimdMQIA4QWyRhgYASLxeGabgRHjCAQDeOThe/G/3/0GXn/tZSipBYx2uwNvuvxq3PyRP8f2s8+HybTwghpJktDVrS48DgR88HlnyzV0WgE5q/k6M0aMpj6PBpQbyQLYu9Xt8CCQXHn5GUVR8E/DP0JQVtclvKvpMpzv2gIA2GTXAiOHShgYmZxK4r7fBpGckyASy2ECmKgWTN//AGYeeUS9IUnY8Ts7cWPrAZhN6mdheDSJO+8NLFqXd67JiBZkyDVjRE9Mn9/JApQ8SnqtVCyRyCqfNe433spKfWDkGPuMFEU8AISSZgRLVDot3WPEDgXttV4gtwLkqNa8u/Hyy+HYtjVzO/DCizj2l5/B6EOPYSSS3+orn7+8/UUAwKbLGIkaJGNERgIRq3rR5hA7V1wacSk3dWp/z7sHjFVOq0kX95mZTWJmRpcxwlJahpbOGDFUjxFFAZQZQI4vf98iM5lMcDrU/Z/Xz8AI1besBuwLXM+kG68DQEOd9hoNJbTri5oMjETGAKV6KoOEwiE8MXIK3/vZ/+KVl/dCltWxW602XHzpW/Chj3wC555/cSYbZCndPdr8WrWV06r1S6is5utOZowYjTGuxsj4nGuAUL96kAn0Aw0bVvSwh8Kv4An/PgBAq6kBf9H5nsz31lu7IUFEErIaGClB4HTWm8TdDwSRng9b3WNCKCxjckpGNKYGbopx8U9kdL7n92D89tszt1d96GY4N22Cc3oX3vYm4N5nBESiCianZNxxTxA3XueEZ5nV01kZIy35N3gTdEciOQ5IJUocmQ1nT8wZMmOEDdiLatTrxc/2vYhZOYyzXxvCjW9qg1jEUklJBehPXXevEQEeTopPjmiBEeuaPnR+6Gb4du3C2E9+guSsF0NNO/DUxHmAIOHdB46jaeeOnJ6/3P1FAK3HCGCcwEgEU4CgzjTbpcLKaKVd1yHh8wcTiCvAvQMR/NWZbogG+ZBkldKakTOltMxmwOU0xhhpYenASAQCEkqFLmYVBQgOAlOvAFOvAhMvAclpwN8HNLeVfTgetwfBUBChcAiJRBwmk7nsYyAyAqdD238v1GeEGSNAqMYzRt4z/E+Y7FKA/t8Aow3LP2AxigysiqF17Dn8vPGLxRtgSjKZwO23P4LxkRcAaK+J2WzBjnMvxLnnXQSbzZ7Tc/b0rMlsDw6cxLbTtxdnsCVipPUNpZZkxoihGeNqjIzPtQaYeErd9h1bUWDEK0bxz7P3ZW5/btUfokHSoqM20YI11k4ciw7jWHQYcSWBYp7GB4Iy7r4/mCmR0dku4dorHXjwkRAA9aQoGgNspa/eQ1RRoSNHMPytb2Vut77zHWi87DJgdhYA0NEMvONGJ+5+IIhgUMGsV8Yd9wRw43VONDctvJpKURRMRtXASENjEyzW/D9Iokk7LVLiCmAtzaTUbCiUdXvc74esKIaZqAPmltKqntVORmX2WjCrhAABGA35M1Uhi2VYAeKpNU4so1Uaiq6Ulmi1QhAENFx0EVzbt2Pil7/E64O9iFvUWe4XDkm4amduz68PjJQrY0TfYySqGONUPAStaXOhjdfTGs0CLuu04tGRKEbDMvZOxnFBmzEmYVx2wCwkEVckTE4lMxNoTQ0SF8wYnH46IQCgsRw/VFGAwAAwtU8LhkSn5t/P+waAi8sxoiwelwcjYyMAAJ/Pi+bm0vZrIzIqh12fMbJ4YESS6jcIXtOBkfAEJkUZ4yYTABlIzBT2fCYAcmkW0omiBL/3JNJBEUmSsH3HBTj/gkvgcOSXUdC5qhuSJCGZTGJwoLoyRmpdJmNEFCHacwt4UekZ42qMjM/Zp237jq/oIf/e8AqmZXUH8Gb32bjKc+68+2yyrcax6DASShLH42PYVJTBApGIjHseCMKf6szY3CTihmscMJsFWHQrNWNRJaukBVGtiY2OYvDfvwoldRLccOklaH3nO+fdr7lJwjtvdOHu+4Pw+mQEgkoqc8SB9rb5hwqv34u4rF5ctLbmX0YL0JXSQmmrUHjnZIzEk0nMhkJoNlA66yq7CKdJQDChMGOkQIqiIHEQcMk2BMQIJgU/FBQ3VfukrkpDHxuvl4Q+Y0S02TLbksOBzve/H5cfOIVfPRWHLJpxNNGHc2eTOZVC8lUiY8SAzdfDmMhs28XC9ul6N/ba8OiIGty6uz9smMCIIABNpjDG466sVcXsL2J8+rnMoFKiwIiiAIGTagBkch8w/SoQXWKCTbQCSidgK05QMVcel1YbjoERqmcOXcZIKJRdSkuWlcwxv7FBrNsgeE0HRmbeQGu6frpkB8wFrMxXZCAaQ6vZs/x98yAIAjq6L8XJI7+CZD0D77n+fKw6raeg5zSbzehc1Y2hwX7Mzk4j4PfB5S7N+Iut1j+N6YwRyems232PkRnjaoyMz7lG2/YdW/buuyOHcYfrBADAJdrx113vW3AHsMm2Gvd7dwMADsWHihIYicUV3PvbEKZT9aI9bgE3Xe+EzaZe7Gat1GSfEaphCb8fA1/+CpKpXhqObVux6kMfWvRg7HGLeOdNTtzzQBCTUzIiUQV33hfE9Vc70dOVfbiYnNZWSrbl2Xg9TdClisnx0n0m55bSAtRyWkYKjAiCgPVuCa/OJDAQTCKSVGCTePKUj/BAEnGvgjazBwFEEFdkTAYCaHcX1lRaT994fS3nU0tCjugyRnSBkbS2LX3YMTmDFw4CsiLg2d0RvPXalX+mvRXoMWI1YI8RfcaIvUgZIwBwVbcVNgmIJIH7ByP4wtkemEVj7NOazCGMx7MnTZqa+EE2OpeghbgDxTplUGTAf0LLBpl6BYh5F7+/ZAeaTwdazlL/oR14/gWgPceUtSLx6Ca+fN4CV0gTVbHswEj2DsLnl5FuZVivZbSAGu8xMv06fj48pm5v+2tg3RX5P9fsLLBrF7CzdPt1h2sNrA0fgiC64HIW54DW09OHoUG1f+/gYD82bzm9KM9LhUkG1AXjkss48w6kqd8jAuXG0gTAoW77jqkrqRYRlqP4h5lfZG7/Ree70WFuWvC+m21ag6iD8aGCh5lMKnjw4RDGxtWVAg67GhRx6hqxZdX2jqq/hywrePUocDzcjKklroOIqoUci2Hwq19DbHQUAGDp7kbPxz8OwbT0JJzDLuLtb3VhVae64joeB+59MIjjJ7NTOSamtdXFhTReBxYopVUic0tpAcZuwK4AOO6vUNaIogDeo0BkujI/v0CKrMD7uvqebZW1QMhwqnxcsZzQLUZcw4yRkpDnlNJayI4tApySer9TAwmcGlh56pnPp54vWMwoWwZpMZuve6NRPJBMYnqBwG8uwiUopQUATpOIK1apAa2ZmIJnxmJFe+5CNZnm/83YeN34XHMyRvKiyEDgBCC/COz/F+C37wSe/DDw+n8BI0/ND4qYHED7BcCWjwCXfBO49i7gwn8FTvt9oHkbIFa2p0eDSxcY8fFChuqXM6uUVnbGSFbpzDptvA7UeMbI9BvatruwJbeR4WEMPfss5HjpyhkIAiCIxe030dO7JrM9ZPAG7PVy5aTIMuTUPITkZH8RI2JghFZOSDUTjHmB6OKTZd8avwsDyUkAwA7LOvxO0+WL3nejvTezfTg+XNDwZFnBw4+HMDCkTiRaLcCN1znR4Mk+8VkoYyQcUfD0ywIemNqM3a8VNAyiilNkGSPf/g7Chw8DAKTGBqz+9KchrTAzwmoRcNN1TqxZrU7YJZPAg4+EcPCwNqE1OT2Z2S48MKJtl7OUFmDQBuy6PiNHKlVOa/gJ4KmPAE98APD3V2YMBQieSCCZmjFbpWtwN+wt7oTRKV3GCHuMlEZWKS3r/IwRADCbgJ0N2sXfs7sjSMrLX24lZSVTcrOhjGU1itV8/eDoKP5z7148ryh4bnCwoDGlS2mJihkWYeHFLPm6abX2ut0zUFgAp5iazPPH0sxSWoanP5MJ5PskY7uAlz8FyI8BU3uA+JxzAZMT6NgJbP0ocOm3gGvuAi74ErDhvUDTluwTFwPIzhiZrdxAiCrMbl+8+Tobr6tqNjCSjAC+I6kbLQWV0Qq+sR+n/v2r8J04iZGf3A5liUXBxVKsM9Curt7M+eygwQMj9SIZ1Bqvi8wYMaT6PSJQHtq0zUXKacXkOB73vQQAMCsi/q7pPRCFxd9mraYGtJoaAKgZI0qecWNFAZ58JoxjJ9RJRJME3HCNE60t81eDLJQxEghqJ0pO9kKiKjdxzz3w7VZL1AlWK3o/9SmY23KrN20yCbj2Kgc2blBXQSoK8OiTYbzymroqO11KS5IkNDU1FzReISswUvqMEafFAklU90uGDIy4tT/IsUoFRkafVv+PB4B9/wLI1dMIXk4o8O3X/m7r1zsy28XOGEn3GDFBQbcxqgPVHDmq7zGycMYIAGy0T6KjWd1/zMzKeH3/8pkJfr+cSYD1uMu3erRYpbT6mpthSu3LXh4bg08XRMqFosgIQw12O9Be9ADR5Z1WuM3qcz40FEUkaYw1gk2m7CxCUSxfnxnKnz5jJO9SWs1nIGsayuwGOi8Gtv0pcNm3gWvvBM7/J2D97wKNmwDR2KvLPcwYIQIASJIAm039bM/tMcLAiKpmS2n5j6rZgAAgdBf0VKLVAiXVq8S3dy8mfvWrQke3oKx4S5FOvSxWK9rbVwEAJifGEA7Pr5hA5SXrAiPMGDGm+j0iUO4EXR+BRQIjFtGMX2z4e3zQ9Rb8qXcb1pmXX0m+yaZmjXjlEMak/FYS7n4N2H9IXf0gCsC1VzmwqnPhyYaFMkaCulx8l2PeQ4iqxsyRI5h66GH1hiCg+9ZbYF+3Lq/nkkQBV15uxxnbtJPmZ3ZHsOv5AGZSNaybG5shFjhhkF1Kq6CnWlQ8mUQgVZKnyelEWyqLYDoYRDxprEl/fcbI0UqV0groskRmDwLHfl6ZceQheDQBOaK+p2zdEhpaTEiH7ka9XiRlefEH50BRtFJavSJgYmCkJPSltIRFSmkBajmCS8/Wbu99KYpIZOnXWt94vVz9RQDAYlHHCxQWGLFbLDhvlXrxm1QU7Dq2fA+4hUSUSSiCuh+06xfBFIlVEnBNt5o1EkgoeHwkuswjyqPBFIEoaMefxgYRokH6n9DinFmBkTxfL4sH6H4rIF4B7PgqcM0dwHlfBNb9DtBwGiAYOxAyl9lshk1S9yXMGKF650hljYTCStZKfwZGVPqMEZu5smUAi8p3UNsuMDBi37AB3R/8QOb21J13Yebxxwt6zuUU8+yjp7cvs53uN2JExlgmU3rp/iIAe4wYVf0eESh3wvIZIwBgF634ZONN+JB/64qedpOuz8gh82zOw3rJ14WXDmmHkivfbEdf7+IHeatuYQQzRqiWBN54A6N79mZud7zvfXDv2FHQcwqCgEt32nDeDm1C8oWXRjIXGm3NuWWiLEQsQ8aIT1dGq9FuR4dHXV2pAJgwWJ+R1U4JltTR+aivAkEbJQkE5pTlOfQDwHe8/GPJkRxT4DuoXfA1nK4eC7pSs9AJWS7a6z2pAKHUZcwazqWWjLJM83W9jmZgUyrLLRpVsOfFpSfgK9F4HVD3q5ZU9mpELmwCdmd3N9K70BdOnUIolnsPj7A8mtm2o32Je+bvpl7ttbu73xjltEQBaNBaEKGJZbSqgn6tZd6ltABg3QcBcQfgXAMskd1eLRos6nlaIOBD0mALPojKyZHqLZpMAvpD4qxX/VxYrULZeooZUTowYjeZMhn0lVaURNIiBkYAwH3WWeg495zM7dH//T4Cr75a8PPqlapCV7cuMMJyWpWXFRhhxoghGWNPSFWiRat5U8QJsnwCI4qiIDIwgOfveAW7fGsyX3/TxTactn7plNBlM0YYGKEK2z+1H3+5+29x0+SX8WvvMyt6TOTkKQx9738zZ1jN112H5quvKsp4BEHA+efYcMlOdWJLSWr9RZqbCg+M6Etplar5+qwuMNLgcKDdo5WdGDNYYMQkCljjUv8oJ/wJJFbQK6GowuOAnLqSTL84SgJ4+V8AuUIZLCvkPxTPZB05+iSYU5PdXbrSQMXqM3KSjdfLIrvHyOIZI2kXnm+DKfW2ff1ADFPTi08Q6huxlruEUvpcJKoU1qvAZbHg7NT7O55M4vkTJ3J+jsmwtprQLLcUNJ7FXNRuQatV/Rs/OhKFP16czK1CNWcFRqorS6BeuXRZPitpvv7wcAR/vnsWB70lbGJmAB6zun9UFAWBgPHKhBKVizOrz4h6rEkkFARStfcay9hTzIjSgRGHAbJF7uoP4+aXYzg7eAb8iQLOpRUF8B9St80NABqLMTw0b96M5je/Wb0hyxj6z68jcrJEgYYiviW7u7X5taGB6giM1PJHMjtjhIERI2JghFZOkABHKvoe6AeSua9KXMhmfWDEMrvkfaNDQ5j49W9w/C8/g5e/dBteiJ+Z+d75Oyw4fevykyYW9hghg4skInhg4CGcSI7jjejyJzPJUAgDX/lKpuSMe/t2tP/+7xV9XGedbsWVl9uhyBOZr014i5Exop0Il6r5erq/CJDKGHFrs2HjRuwz4lEn6OIK0B8s88pPfbP1NW8D3GvUbd9R4MiPyzuWHCQjCgJHUoEbAfBs0y74sgIjReozcoKN18sivV8TLBYIK1jZ6HKKOGd7eoJQbcS+WNPMSpXSAgBb6lwkJpsKXjF4sShCTL3Hnz9xAtHEygOYsqJg//gbmdtHxgoby2JMooDre9TgekwGHh42RjmtJi1GjuYmfpCrQS49Rg554/joc7O4eyCCz79kvGN9MXnM2sIwX5EWABBVI4dD20mEwupOwlvB472RJGUZ0VRGmd1U2MKMYnhxMo5HJ2X4YMLu6UIWTEwCiVQfB8+mos6yt7/zHXCfey4AdbHOwFe+gvjUVFGeuwQtRgAADocTLa1qBvDY2AhiMWOcc9WrZEDXY4SltAypfo8KlB/nGvV/RQb8J4vylKutHbAK6gTWIfPMvO/HRkcxecedOP7Zz+H4X34Gk7/5DWLDw/D4TqBzbA8AYG3gJWzfsLJAjW3BjBHtQMyMEaq0Tc2bIKROjw5El68LKjkcaHnbTYAgwN7aiq73v29FE4h5je00C1b3AIA6cX/BGdVRSmt2kVJagPEbsB8tdwN2fX+Rhg3A9s9qZUaO/BiYPVze8ayQ70AcSiqG5FpvgsmpfQY6dfcrVmBEnzGylhkjJZPOGFmujJbe9jOscKdmTweGEjjZv/BnKD1RIoqA01HepWrpjBEFAmIFBoQbBQFntKnlTiPxOF44tfLVgS+cPAl/zA9ZVj8v57WtrAxqPm5abbxyWlvWAh63gPY2CWv6Kr96lpa30lJaiqLg8y/7MiVaXp6KI1KUei3G5LFoi8N8vtnKDYSowtKltACtATv7i6j05TaNkDFyaacW0H26kMCIMqxtezYXMKL5BFFE159+DPYNGwAAiZkZDHz5K0iGjXEes5ieHrWclqLIGB4eXObelVG7R+RsySBLaRld/R4VKD/pwAiwZJ+RXJgECafZegAA/aYAQnIUsfFxTN59N47/1V/j2Kf+HyZ+9StEBwayh7JxAy4/PYK3OF/HdR84G+aGhhX9PH3GSCyTMaL+bxYSsFT+HIHqnNPsRJ+rFwBwODaEuLL8xHjzVVeh95Y/Rc/lb4JoWbqcXKHe8c6b8J633Yp3rzsPrU2Fr3rILqVV8NMtyKvLGGlwOOCyWmFPXRCMG6yUFgCsr2QD9oBuX+taDTRuBE77Q/W2IgP7/qVoGYPFkggDwWPq30mQAPeW7B25TRDQalej3qM+HxJFaMB+Snc238ezqZJJZ4yspIxWmskk4KILtFUOz+6OIDlnQlRRlEzGiMdd/qbbWWU9i7Dfu6S3N7O969gxxFfQY2A6GMTDBw7g2NEL8Owzv4fuve9Cg6n4zdfTdrSY0WVXPyzPjMUwHav8JbHHCfzhe9x499tdMJtquI5DDXGuMGPk7oEInp/QPlxxBXhtpnbLaWUFRtiAneqYQ1dKKxRSdxLp/iIAAyNpRgiMXNhmQfrQ+/RUIYGRIW3bs6WwQS1AtFrR86lPwtyhZmFEBwYwdNttUAq9nijhaVB3j64B+8DJ0v0gWhYzRoyvfo8KlJ+swEgx+4z0otWr4K17ZJz4t3/Dsb/4JCZ+/gtE56x6tG/YgI4//ENs+Pp/Ys3nP4+WN78JW5p8OWVLiqKA9HlANKZAUZRM/VGXZKzJPqpfm5s2AgBiSgInoiMreoxryxaYclhVXYieDhGrnVJRavQKAiBAndQuV8aIIAiZrJFANIpgNLcU44Acw58JQxiyl6bM1QZPgRkjigIE+wH5xdzrk+kzRlIBOpz2B4BHXSkF/0ng8A9yH1MJ+Y5JmYsL10YTJNv892VXqnyarCgYDwbnfT9X+lJaq3k2taxkKATv8eMInzyZ0+PyCYwAwPq1JqzqVDPbvD4Zr76RfXwPhRQkUh/fSpTVyO53VvjztTkc2LJqFQB1n7ZvzmKSuWRFwZ379mUCKOeu6sbmuAdCCS8NREHAjavVgFVCAe4fM0aD6HquNV+N9KW0gsrCr50/LuMfX5m/6OGlqRoOjJirJ2NkGgcx2Hmg0sOgCvImAnhh6AW8fOplnBo/WtTnduoyRoLhhTJG6refVDCgnXDYpcoHRtxmETsa1P34iZCCgWCei8HSgRHRDLjWFWl02UweD3o//elMj4jp46PY9VoQs/7iXLsW+1Skp1crVz9YBX1GavlMLCtjhD1GDImX8pQbpxZ5LlbGCABc8qwP//3fSfzRYzLEgewC17Z169D++7+HDf/xH1jz919A83XXwtxSWHNQayprJBpVEI0B6XLcTgZGyCA2N27KbB8ML19Oq9qJQokDI6mMEYfFAkuqpm6+DdhPxMdxbWASvxTOxPvO3IYIij+5t95typwgHvPl8fyvfwN46ROA/BjgO5TbY9MZI9ZmwJw6eRPNwNmf1dJ7jv4CmNmf+7hKIJ50IDSins6IFsC9aeELvS7diehwYKkCLMtTFK2UVpegwF7LZ/NFED5yFIc/+zkMP7cLM089veLHKbIMJR0YyTHoKwgCLt2pZY288FIEobA2MVLJxutAdmAkUqRTj0tTZR4A4NmjR5FcYiXjnhMn0D89DUANFl+1dm1xBrGMG3t15bRGjREYoeqSHRhZ+D7/8UYAExH1/b+lQVto8OJk7Z7nZ5fSMm6PkROR3+BlfA2H1z6PGRizNCeV3vHf3gnnP/8Atqf3Y+9LDxb1ubN6jKQyRry6wEhDHWeM+GYimW3JX9oKAyt1aYsWqHp6LI99dGwWwKy63bBJvWYpEeuqVej55Ccx1nUhnr3on/FyyzV49dEjeT9foT3mluJ2N6ChsQkAMDIyhETCeAsDSvn7G4k+Y0R0MmPEiOr3qED5sTSqk2WAmjFSpL1Z68bTs25b1/Sh7b3vwfqvfRVrv/gPaLnhBpjbCu9lkHn+1IRENKZk9xdhYIQMYkuTFhg5EDH+Ko9CCYI6QVaKUlpJWYY/1aegwa5NlObTgH0ivgf7Qv+MKcUBAHjDtAH/TxCLfmJnkwT0ONULhaP+xKLNoxfVpEsjn31l5Y+L+YBYqteTa3X29zzrgE0fSN2QgZf/BUhEUGne2Fqk1xm5N5shmheOUhQzMHJQBqZTK5U38kxqWda+1RBTAUn/a69BWWFzcFmXyZVrYAQA2lolbEkFymJx4PkXtPer11/ZRqxWXVnPYpTSAoCuxkZsSPUamQ2H8frQ0IL3mwwE8MgBbbX227Zvh1UqzwrabY0mrHOrP2vvrIIRufIrVqm66KcUFtqTH/TG8YOj6mIIqwh8+6JGeFLHhZem4rkfT6uEVZRgSTVgN3IpLRlxQFCgCApex3cRlWcrPSSqAHlNV2a7+cT8HqOFWKrHiNMhwLLIeWI9CAa18yqXrfLN1wHg0hbt9Xp6NI8m4b6D2nbz6Yvfr0gcmzbitBsvytwe9NkhxwqfQyrFuzLdZySZTGB0ZHiZe1OpJAP6HiMMjBgRL+cpd5716v9xHxCZLMpTrt+2E4PrPThxficin/sg1v3TP6H1xhthaW8vyvPPlZ6QSCazV406pTwOxkQlsEWXMXIgXPuBETFVSktJAopc3EkLXySSKeHa6HBkvt6RQ8aILMg4gl/i1dBX4MEw/gL/CouingT/SmjFd2PFP509LVVOK5hQMBLOsYZt6zna9kwOgZGs/iK987+//j1AY6qpYXAQOPi93MZVZNFZAZGkGjQXbQJcGxa/yOt0uTIXHcMF9pW5L6G93leZa3OSrZhEiwWu09WLVTkUQnD/ykqoKLrAiJBjKa20C8+1Zcpn7j8Yx8SUGoT16Y79De7ynw7bilxKK+3S007LbD999CjkOZPA6RJa6T47569di7WtxVt4shxBEHBTrxqgVgDcl2gs28+m2mASAFvqqD63x4iiKPj8S1rD9Vu3uLDaZcLZLepOYDIqYyBYm5lKgiDA41bPa/x+LxSl8F5apbDO+m40Kep5REzw4o3Q1w07ViqdZG8HQqnDevOJmaIGLC1mIB3rD4UVRKIKwhH1+eu5vwgAtMKDHfG12JroQafbGBO0Z3gENKSuA58djyGR63VgVmBkWxFHtrjuy3bALapZALOOXsSU/BZ5ZP2mJYiM9PSuyWwPDRp7PqGWw5VyqoSz6HBAEOt7H2RUfFUod+nACFC0clpusxNXffKfcf3GK3B2zznLP6BAFt2ExPSMdoHEjBEyiiZrIzrFRgDAoUg/5Bq/aEyX0gJyb4mxnFld4/VGXcZI2wozRiKYwUvbHkC/8HDmazvN7fh3RZtc/0JUwONF7pG+wa2t4M65z4itGXCkSh8GjqmZICuR1V9k9fzvixKw/bNqzSoAOPFrYDKHwEsOFFlG1OdHcpG3vqIo8B3V/kaerSYI0uKn1RZJyrzm46EQ4gVchN8f137OdSYGRlbCvX17Ztu/d8+KHiNHtAwP0ZZfYMThEHHu2Vq2yTO7wlAUxVCltIoZGOlracHqZjWzdzIQwKHR0azv7zp+HIMz6urcZqcTV27eXLwfvkI3rtaV00o0lf3nU+klwkCgCCtoF5NuwD43MHJXfwR7JtWTiDUuCR/epE787WjRSsa8WMt9RlzqMS6ZTCJYYGZkqQiCiG34ECwx9XxsJvk6jkd/UeFRUaEmk7ktOFFEAQd61Q+yNRhDbKh4q9kFQYAzVU4rGFLg1TVeb6jj/iIA0JLwYEdyHS5KbEJPszF6HUiCgEtM6vvHF1fw6kxu++iEVxcYaSp9xkja2nXqYjtFETAwmOdxpcSXED26BuyDBg+MFMTgmaDpjBH2FzEuBkYodx5dQ6siNmAvJ5tFHxjRZ4wwMELGsdmsppkH5DCGYsXJzjIqQRcYUYrcZ8Sra7yuL6VlNZnQlMogGff7562sBoCp+CvYgy/C6xlXxwkJG21/jNPtn8C7Afz5gFpXVoaAPwmJOFrEhahZDdj9eURdms5MbSjA5Msre0xWxsgCgREAcK8GNt+s3X7l39RZsCLy+WXcf8cgfjx+Lp5+fGLB+0THZURn1NMYk12Bc+3yJQG6GhsBqKvmx5a+66JOyMD+VOP1HZKCLp5JrYhr21YIqSWc/hdehLJE/4s0OaIrpWXNvZRW2lmnWzLBj+GRJI6fTGQHRiqQMRIMjCDmvwNR7/dw4tRL874fj8fw2wfuxCMP3QtZzm3Hou818vSRI5mVuBN+Px47qE0gvO2sszI9l8ppvduEP3bvw4/N/4RvmT+L0eEXyj4GKp3BE/0YeFrGIe8GhP2lCUKkpxaCuq/54gr+6VVtcvbvtntgSwXLz2nRVvPWdAN2l5YJa+Q+I1Z4cPqhyyEo6r73ZPQ3mIrvq+ygKC97R/fiQ0/eirdNfRlBeeXlVRUAb6zWrseDB4rbt85hV99b0aiCqWl94/X6PmlLZkqIy5DyW29SEpdK2r47lz4jyUREXQAGIGrtAqwNRR/bYnTV4NA/UPjquFJkTDQ0NsHpVAPmQ4P9OZ9PllpBV/zDTwCvfQFI/DfgW1kmeiUosoxkKmNEchkjS4vmq+8jA+WnBBkj5abPGJmaZsYIGdMWU3dme3/kZOUGUgairoF5STNGdKW0AKA9lUEQTyYxo7sfAMRkH14NfQVxQV3lYVNacI7zi+i1XgtBUPchn+0/hGtTJbV8EPD+sIjZIsV11usDI7lmjABA41na9sSLK3tMVsbIAqW00ta9E2g+Q90OjQD7/yf38S0h/NIenJT7ELG1oP9UGPHJ7MCgoijwvqa9UTzrkxDE5S8puhq0C6bhPFcX6bNFrme2yIqJVitcXepVZNLnQ+jQoWUfk9VjJM9SWgAgSQIuvkALrDy7O5wJjLicAkym8ifwm82AnDgBRfbCH5ya9/2jhw/i9ddexiv79uLokYMLPMPiNrS3ozNVKnDY68XxyUkkZRl37tuXaci+c9069LW0FP6L5OnS5hgukd5AtzCFw5ML90Kh6jI8NIBf/eJHOPXEGMyCDR32tZh43orAseL39XAtkDHyH8cTmYbrV3dZ8eZV2j7jrGZzZtLpxanaPddPl9ICAJ9vtnIDWYEmfyfW4+2Z22+Ev4GIXNuLgGrRnUfvxPPje+FTwvil96kVP06BkhUYCR0o7sSmvgH7yJh2Dl3vgZFEUN1pSkIUgoH+FJdIWmZ7Ln1GfvrSKzClriEfiZ6GeJHLMS+lqxUwpXpknhrMox8k5iQ6lOBUVBAE9PSqWSPxeAzjY6PLPKKKxLzA7KsAgkBoYNm7V4ocDmdeaMnJjBGjMtDukKqGqxcQUyuvqjRjRN/0dHaWGSNkTPrAyMFw/xL3rH7ZpbSKe1I7q8sY0ZfSArL7jMwtp2URPdhk/yAAoHW6F+fjb9Bg2pB1HxHAfyl+bBbVMR+TBXw0JCJRhF9hg7vAwEjDNgCpkgGTOQZGRCtgX6LHkyAB2/8SkFKTzafuAWb25T7GBYSPHsXM978NZ0CdLA24VyPpnjOBKwO2ThGCqMAsBmDvXFmpuXTGCFBAYCTBwEi+3Ku1YJt/z95l7y9H9aW08s8YAYC1fSb0dKUyVgIKolH1tatE43UAaEs1SQeASGR63veDIa0MzuTEeE7PLQhCVq+Rp44cwXPHjmFodhYA0OJ04i0VKKGld3rv2sx2a4INQavZyPAgfv3L/8NPf3IbTp08hlOBAwgl1NW/omLC7EtxTD4ZRSJQvJKg6cBIDAJiAA4kbfjhgDpBZZOAv93uzrq/2yxiU4N6TD04m0AwUZvlSdOltADAa+AG7GmrcTVaTWoJ5bjix2uhr0FWilyXlErq5tNvhpCa0f3h7COIyiu7llag4GQHMn1GQgcOFjWAqm/APjyiLb6q58CIHFegpNYUmcSVZ/eUQ48Yx7pUMOvl6Th88eX30fcPRvDowDROyh0AgM1dW2FewSKpYpEkoMeqZuaFwwomJgs7rpRq5OnACGDsclo5//76ygahwWIOpajS2SIAM0aMrH6PDJQ/0QS40rXrB4Bk9TUs19f2Ti8sEEUFdrF20+up+mwxa4GRAzWeMVK2UlpzMkaWa8DeZXkLzlJuxZkHr4AZC5/MuAD80CGjWVDH/URSwN9HCz+9bbCIaLOph+lj/jxSnyUrIKTeQ6ERILjMqmw5DoRSE5SuXiy7lMzZDWz9E+324W8CSmHHg/jUFAa++jUo8TiaZtWMAgUChkeyJ0oESUDD6RZ0XhJHk/UghBX+uTs8HoipO+cTGBmRgReT6uO3iArW1Xep6py5urszHVH9e/cuW06rGD1G0gRBwCU77fPeK5XoLwIALc02OB3qPkVOzMz7fjKhvednZ+cHTpazZdUqtDjV5z81NYXHUhk6AoC3n302zFJl37xtLdqF+lZTDa1grCOjI0P4za9+jNt//F2cPHE08/WQZRrxNSfgMGkBr+iEjLGHIvAfiRelFLhT9zn2K8Dno71ZDdd7nfNLxO1IldOSAbwyXZvn+x63lhXpN3jGCAAIELHVcQtsghoo9iWP4GjkJxUeFeViXeM6XNl9OQBgMunDnTPPrOyBSnafkaTPV9Q+I067tpPw+dVzDUGoTOlMo0hniwCAJBgrMAIAl7Wor01SAXaNLx1gO+yN4//t8eJx+WxcHvsafir/Ldb3XVSOYWbps2nnb6cGcj+ulGN5VVafkQHjBkZy5tZ+L0MHRnT9vpgxYlz1e2SgwmTKacmA/2QlR5IXfcZImtOGFU+u5SseTOJXLx3B83EPvFNcEUVL6xAb0CiqE1sHwv1FL0VhJKKQfymtif4gnn5jBA/EHZAX+FilS2lZTSbYzeas77WvoAF7K87MrIZbTJ8I3GaXYUqd4n43JuL2WOE7lHTWyFRUxkw0j5VIwhpte2KZOv7BYUBJ/Yylymjp9d0ItO7AcbMJd1si+LrnfkwmV9jofQ45EsHAv38VSa+6+qrTrgWqhoYX3l9KVsAiBRf83kLMkoTu1iTa24/BufZFhHJsFvqALlvkBnPtfh5X7LmvAoO/1t43y5AsFjhTmQqJmRlEji2ddaovpSUUUEorraVZwrYtlqyvVSpjRBAEtDSqTdLDkTBCoez3caLAwIgoCLhElzWSPn5ctGEDepsM0PDc4gFMqf1vmKW0qsnU1CTu+PXt+Mn/fQcnjh/JfN3T0Iirr70JH/zQn2Hbls1oth1B6444pNQqYCUJePfFMbHXhLhsX+zpV8Slm076zYiMvbI62bDGJeHDGxdexHCOrgF7rfYZ0WeMGLnHiJ5ZcOEMxychQD3fGYjdh/H48xUeFeXi5i3vz2x/f/J+xFeQ9SNDPW8oVZ8RfcZImtstQpLKXzqz1JSkgsgxH2YOWbKCH3Np/UWMlzECAJe2aK/Z02OLL7TyxmT8yXOzCKWi4W/vFPFecwQwlX81/mrbbGa7GH1GSqGltQ02m3rMHRrqh7LCc/ZCKIqCVzCGG87ZijeweJm8gq6kLE2AKRVoMHAprWRAO78XmTFiWAyMUH6yGrBXX58RfcZImsuxwB2LbHB0Fq8HR/GAMI3/3L8b/7d7N148dQrBaPVl3VDpCYKALVY1TXQ66cNEYrayAyohEfmV0lIUBT987Tk8On0Ue+FHKJx9UiorSiZjZG5/EQBodjohieqhcGyRwMhKXWQCvmTTxv6ZiIDnCzxHLrgBu6BbTbNcn5Gs/iKLNF6f9/wicNancaenEX/d1oLvNsZweOqJnIepyDKG/+fbiJ5SVzKZ29tx+nveAiF1yjy4SGAkH93dB7Bp83Po6d2PgfDR5R+gc5+uv8gN9V5G6+D9wDNfBgZ/Abzyj0B8ZQEqz/btmW3f3j1L3jc7Y6SwUlpp559jhVUXG6nk6tGmVGAEAKans2vrJ5K6wMhM7oERADizuxsNuvKBbS4XLt+4Ma/nKglHqnNpbBpIhJe+LxlCIpHAz371fzh+TOsR5PY04KprbsQff+jPcMaZ50DSZSPZWhR0XGODc4N2LIt5RYyFzkVkMv8JynQpLSgKvntMC3J84WwPrItMfJ7Tqi2MeHGyNgMjDrsDJpP6t/ZVQSmtNI9pPTbatMn1/aH/RijJTLJqsa1pCy62bAIADMUn8eDs8oGt9BlUqfqM6HuMpNVqGa3Ac8OY/MkRBEfMmcTvhSRCxs4YubBJhDn1sj09unDGiKwo+OQeL04E1AV1WxtN+NJWc8kXty7GY4qiyaP+XUfHkwhHcgw66Bc9luh3EAQR3amskUg4hKmp0vVyCiaHcDzyC9zm/ybeJqzBi7Z1+HNhNVZyaZ/zry8IgCO1kC82DcQDS9+/QpJBXcaIixkjRlWbRwcqvQZ9A/bq6zOyYMZIYYvXVuTozERmW4aCYxMTuOfVV/GVhx7CD557Ds+fOAFfmJMDpNls1VbuHwjXUPrrHNmltHJ5nID1FrUXhiwoOOzNbmLsj0Qgp0465/YXAQBJFNGWOkmZDgYRT+ZRskrnjywKbraoJ8VxCPjjsIiBAg61GzzaBFNefUbQoa3KnnwZkJf4/QK61TYrDYwAgKMDfe2XZW6eCuceLJ/8zW/g36v2nBDtdvR+6lNwNrnQZlZPJqdnZISKdA3nNq3JbI8nTq74cVMysCv151srKthc72dQs6eQuYyZ2A08/aeAf/leSK4zzwBSwUj/nr1LZsIpEV3z9SIFRuw2EReerz6XKAKrOueX3CmXFn1gZM6Fqr6UVjgcQjSa+wdAEkVcvkmdrDKJoiFKaGWxd2nby5X6I0PwhwKIpN6LDocTV171Vtz84T/HmWedC0la+LMkmgQ0nW1B2+VWmFIRDUmIw9KQf3A5ExiRgfGI+jxnuAVc3rl4ZlmfU0KzJV3DPpY5N6glgiDAnSqn5fXNVlWmcbflanSY1VI4SYTxWuirSIK9H6vFh51vyWzfNnkf5GVWpSup0MjJDiBhVfcdxewz4rDPP0mr1cCIfZvWhy88vFTGiPY9k2i8RZlOk4AdqQD2qWASpwLzr3u+vj+IR0fUsTdaBHz7okbYK5wF1NepbQ8M5natVuLe6xk9Pdp13eDAyaI+d1gex8nonXje/2nsDvwFTkR/hTblZTihLph6Q1iNv881YLRSjh5tO7D8NUglZJfSYsaIUdXm0YFKz60PjNRIxkgZAiM7O9bjrdFzcHqiF25Ju3hTAJycmsIDr7+Orz7yCG575hk8e+wYZlIlgKh+bdEHRiK1GxjJLqWV20XRBktHZvvgTPbk4lL9RdLSfUYUABML9BnJ1d9bFVwmqb/DlCLg/YIbQTG/yciCG7ALAtB4hrqdCALeQ4vfN5+MkZS+zisz2/0NfUvccz7vrl2YvONO9YYgoPvWW2HtUXuj9Ni0UiBDEws8OA+9bq3pdJNn5a/3bxMC5NRly/UmpWKr0wzjwo8Bv/NjQEqd5AcHgGf+FBh9dsmHmVwuOLZsAQDEJyYyWUIL0ZfSEotQSivt9C1WvPNGJ37vXS64nJU7FW5u1EpaTU9lv8H1pbSA/LNGzu7txYcuuQQfu/xydDc25vUcJaMPjASMWwaBNHHd+3LDaZtx1tnnLRoQmcvaJqH9KhtcfUk0Wg9DNC//mMVkphZ0k6ge89I7ZUEQsKNVTRebjSk4HqqeoEEuPA2NAIBEPI5wuHquIwRBwGb7n8AhqvuFgHwSh/HzCo+KVuocyzrssG0AAByPDuMx30vLPEL9/CmiAO9adWK/mH1G6iljxNRsg6Vb3SvGfUDcv/AktNF7jADAZR3aud7TY9mB0UeHI/iP/eokswjg6xc0LthPqtz6Vmnbp3Itp1Wmw1BP75rMdjH6jETlGQxE78cLgb/Bc/5bcSxyOwKy9rxuBPDXyi9gTpXVuy1uxl3x+Z/Jgn99h670s9+Y8yRyQN98nRkjRlWbRwcqPWsDYEutTvAdQ1E6KZZRpTJGREVAp9KICxMb8eHuC/DhSy/FxRs2oHlO9HhwZgYP79+P/3z0UfzPk0/iqf5+TFTZ35iKI11KCwAORoy5EqIY8i2lBQCdUiMcijrZccw7g0hcSzmZ1QUXF8oYAZZvwJ4rkwB82yFjraj+HvsFE27deDbyWSujL6V1wJvAeDi58n9RBeOyCbGGs7QnXKqcViYwIqiN1XPQZ9WWS51MrDyCET52DCPf/k7mdvsf/D5c27Xxdlu1wMjgeE5DWlSXUyslFBFXfgF+v76/SL2X0Upb9xbgjH8GXGvU24kQ5L1/i7GTP8QxaXbRh3nOPy+z7duzeDmtrFJa1uJkjKSt6jShsbGy2RPNS5TSSibnBEZm5zdoX6mepqZMI3ZDsev2M0HjNs4kTVx3fDWbLUvcc2GiSUDjxiTspvwCfWn6jJE00wqC1ekG7ADw0mzxVrBOJwO4z2GMSRmPpzGz7a+SPiNpJsGOMxyfhAj1vTUsPI2RttxKXlLlfLjpusz2dyfuXTojVPet2XVaxkNwf3H6jNjtCwVGDJQxWWT2rdpCi/DAwtnhmR4jggJJMF7GCABcmhUY0cZ4wp/AJ/Zo+7P/d4YLly2RIVhOq1qBdAvL/sEEZDm/a4RSLrhq7+jMHLOHBk/llZn1ysRJHGs/hJfwVTzj/ygOR34Ab/Jw1n080mk4zfZ+XOz+Fn4f78U/Htc+z38RFnC4sMIM8+kzRgza9zirlBabrxtW5UOsVL0864HIlFrPLzwOODqWf4xBWCqUMaLPKhZFAd2NDehubMSVmzdjzO/HgZERHBgZwbhucnbU58Ooz4fHALS+8AI+eOmlcBZx5SwZ22pzGxyiDSE5ggPhk5UeTslkldLKsXKCIAhYk2zHftMgkoqCI+PjOKNbnXCb1WWMLBYYWUkD9lw1CcCP7DKuD4rwQ8ADLZ34shLCZ3J8nnabCLdJgD+h4LnxGM6/N9e0iTPwzfgMbkjfnHgB2PhH8++mKNqKbXsHYMptErrV1ACHYEVIiaJ/hYGR+PQ0Br/6NSipibaGy9+E5muvzbrPKosfoqBAVgQMjQNozGlYCzIJDtiUVkSESQQwBEWRIQhLrxPxK8BTqbfoKkHB9tq9ts6drRM4/6vAwW9AGX4cF/f1ICC+jPWtwJ2Jy7DQi+Y+91yM/uCHgKLAv2cv2t79bggLXBHKUX2Pkdo77rmcLphFEXFZnt9jJJFdU3B2NrtMYE2w65ZZMmOkKsQThQVGikXfYyRtmYQRAHMasHsV/G4RxnLnzNP48uhPEWgOY23sYmwtxoGqAJ6Ghsy2zzeLjs6uJe5tPC5pNTbbP4z94W8CAA6u2wU3roCrwn9XWt7Fjq3YYuvDgcgp7I+cxK7AG7jIffqC91V0a8V961oz26EDB9B89VUFj0USBdhtAsIR7ec0eGp3TbB9axO8D6sLDEIDCXi2ZqfkKYqSyRiRbKWdhC/EtiYTmiwCZmIKnhuLISEriMoKPvLcLPyphXPXdVvxsU3GWewhiUBvtwnHTyYQiSgYn0yis31l06zlWmYlihK6untx6uQxBAJ+eP3enPaou6e+Dn/rs5hsnz9il7gaHeaL0WG5CHZRPx84i/eN9mPvuk34lWBFCAJuDot4wClrx3CdvN6S+owRw5bS0mWMuBkYMaraPTpQ6Xl05bT81dVnxGwCxDl733JkjChJ7WCin4cTBAGdHg/evGkT/vTyy3Hrm9+MKzZvxirdxQ2gNhxzWCp3IUrlJwoiNtvUrJHh+BS8CWM2FiuUKOSfMQIFWCO3Z27uH9ayALy6jJHlSmkBhTdg1ztNAv7HLkNMTdz8D+wYyXGBqiAIOKu5gHojAELmNsCZWlEzsx9ILFBaIzqtltoCci6jBajj7DO1AQCGEtOIK0unksvRKAa/+jUkZmcBAPZNm7Dqgx+cNzluFmV0pBYSegMC/Ini7P9cUANnSSGKiLJ8IOfRhIBY6pT9OpMy7/hR9yQbsONvIGz9E7Qm1OVgwyYZSmThv62psRH2jacBAGIjI4gNLdxfolSltIxCEAQ0W9WTD+/sbFYwZH4prfwzRgxLHxgJMjBSDbIyRip4PqqV0tK+ZlrBVe2ZTeZMZsmLRcoYmUr44FNCkAUF/zjzy2V7K5SaPmPEW0UN2PVWWd6ELrPas0KWEjiOOys7IFoRQRDwoba3Zm5/Z+KeRe+rP9MPrmqEmDpHDx04ULw+I7pyWpIEuBeaja0RpgYLLB71/CvhUxD3Zu+HlDiQPjU32Y2b9SwJAi5OZY34Ewr2Tcfx6b1eHEmVEz7NY8KXz2tYcDFNJa3u1a7V+nMpp1X63usZPb1aqePBkZX3dRvz+XB41AdR1AZrFzuxxvouXOD6d1zg/grW2N4xJyiiEgD8mxLAltRjj8gCPhUWildsxtIMpDIMjVpKKztjxDgBPcrGwAjlz7NO2/ZWV58RQRDmZY24Fp4zLS7dOcpSC5RbXS5cetpp+JPLLsPHr7gC16xbh14AW9vaDHciQKWXDowAtVtOS0AS6bNDOYfm6yoFnXIjbIp6UnpkfBzR1KTiSjJGXFYr7Kkc6GKU0tK7wgx8XgmhKxrGXYoXq/I46n7hbA/evcaOq7usuf1rE3G1NItumwC0naM+mZIEpl6Z/0Oy+ov0zv/+Cqw2qSv+kpAxFJtc9H6KomD4299G5MQJAIC5rQ09n/g4BNPCq6t6tJgXhqINC94nVy5oqdeB5PIn0vfp3pPXm417QVlRggCsfw+6XOqiibAoYtbeuujdPeefn9n27dm74H3kEjRfN5p0YARQMDOtZYXMC4zMFlZ6yJBEC4DUZzowWHVlWetRdsZIYUH7QrgE9b0i6EqWrKSUlt0kYGujeqw5ElTgVQpP/3tfyzVYZ1InhF6L9+PXM08V/JyFSPcYAdSMkWq10f7HcCm96JhYh63440oPh1boSs85WGtVg94vhg7hpeDhBe+nzxgRRAGOzZsAAEm/f9HFErnSN2Bv8Ig1fw1tb9fOG0JzmoDr+4sYOTACAJd1aEH3v9zrxf2D6rmg26Q2W3eZjTeF2dejXcPk0mck65Uo8duzp2dNZnulgZFANIrb9+zB6NhqRKMOhAe34lz5r7DT9Z9Yb3sPXNLy14wOAN+zy3Cnftu7EiJuixXplxUEAKkVdOFRIBFe8u6VkJUxwsCIYRlvr0J5SyTLvELJU+UN2Of0GXGUYc4laxGZuLKTkiaHAzu7u3GzyYQr+nJraky1YbNde91rtQG7IABC6pxSySNjRIRaTgsAErKMo+NqQ4p0jxGzJC2abSUIQiZrJBiNIhgtbt3dP0EEj738FM5EfoVVN6RWR33n4qbc/m234Dv2E7ioWQJaz9GecKE+IwU0Xk9bncoYAYD+2Oii95v8zR3wP6/2lRBtNvR86pMw6bJ25tIHRgYixUlBTmeMAIA/uXSwMayoGSMA0CwouJBltJa0yrk2sz2cXHwy332e1mfEv3exwIi+lFatB0ay+4zM6zGSZ/N1wxNSddETQSBWg1kxNSamC4xYLJXL4lqwlNYKr2p36MppvZwsfFWUWTThbxp/J3P7P8Z+ielE8bJPc6XPGPF5q6vHiJ4kWHAOPoVtRy6DCbW5/69FoiDi5tZMAVfcNnHvgvdTsqaEBTi2bMncCu4/UJSxOHUZI7XaeF3P0aZdZ4QHklmZN8mQNgkh2YwdGLlE12fkeED7nb56QQPWuY3ZCcDlEtHSrL7HxieSCIVXOC9Xxpeic1UXJEn9+w2NLt/XLZFM4ud798IbDiMUbMTAG+/D1afOR4OwJucg4zoJ+IZd+5v8fVTAnjnxo7xDJYLWo8iIZVmTATVjRLTZFl0ESJVX+0eIOvLxn+3Dxf+5Cx9+LYmvHgrjwaEIBoKJoqWjzuPsBcTUajFfdZXSAgCrLmPEYRcgleHToA+M5LNopdZXutDCttp0gZFwbQZGAEBMnSvkWkorfe+1unJabwwPQ1EUeFMZIw12+5Kfn2I3YNcTADQmc06DKa7W7Vqa2oKBEd2JZJ6BkT5dYORUdGzB+/hfeRWTv/mNekMQ0HXLLbD1Lr3aqKMZSEaeRNT7Q7w2cmfeTQ31cskYeSoBhFKn69eYlBWtSq5n3WYtS2Q4sfhEt7mlBbb16gKLaH8/YqPzg2mKLkgp1GgZyRZ9YGRKC4zMzRgJBHxZZYxqh9aA3ogXtJQtu/l65TJGnJnAiPY10wrPkbMasCeLs3rzPNtpeGtQPVfzJYP4j9FfFuV58+FyuSGK6vF+oYwRRQam90Qx9Vw099KlZWaCA0LJC8xQsV3feCG6zOpk5dOBV5e9dhGArMBI6EBxAiMOh3ZxX8uN19Mkq6JWFgKQ8CuIe7XPd3bGSLlHlpsuh4QN7uzX68+3OnFVl7EDpH26cloDgzmU00op9Z7OZDKjc1WqB6fPC3988aaeiqLg7ldfxUCqjKvbZsfvbd0GSwFzUdeagVst6mRYAgI+EhYxUYxDkD4wYsAG7MmgmjEiudhfxMgYGKkh+0d8GPJG8PAU8PXDUXz0uVlcev8kzrxzHL/7+BS+8LIPvzgRwmszcUSSRdgLiRLgTq0MDQ4BicjS9zcYfcaI01mej4Ii69OGy/IjqQass3XBnEqnqNWMEQAQTHmW0kp9rFbJjbCnVmIcGR/HbDiMhKyegDUu0l8kTd+AvZh9RgzD7AIaN6vbgVNAeE7vB33GiDu/UlpZgZHYwoGR6ccfz2y3/9574d5x9rLPK0mAWZqBIk9BUcIYGi/89XGgHWJSvegKyEtnjNyX0I4V15uMPYlkBF0WXWBkiYwRAPDoskZ8C2SNpDNGBKsVglibB81mq3ahn5Uxkph/Ue311mBGRTpjBFDLaZGhGab5enojx1JaQHbGyEty8cpafGr2LLgF9fN8x+zTeDl4pGjPnQtRFOFyq4s9fAv0GIlMCQidSiI8lITvQC0GW6nSzIIJH2y9PnN7oawRfS8eQRBg6+srep8Rl66nSFNjbZ5DzOXo0n7nsG5yPqkLjEgGL6UFAJd2alkjb1llxSe2Gn9Sua8393Ja5X4l9H1GhoKLX089MziIVwfVczKTKOL3zjsPniL0+vusVcHFkvpbjyoCbg0X43OpK9sbMNY8iaIoWsaIi2W0jKw+jhB1IJGU0eaywmmZvxrCn1CwZzKOHxwN4S9f8OHGR6aw7Y4xXPPbSXzi+Vl851AQz4xFMRXNoxRXps+IDPhPFPZLlJk+Y8TlLNNqJH0lHX76aIXMggkbrOoKj5PRUYTk4pZ6Mop0xghkQMkleJu6qwgRm5vVk6N4MokXTmknR4v1F0nTZ4yM12JgBADaztW2J+dkjaQDI2YXYGlCPlaSMZJIZeOINhuar79+wfsspK1da9I8Mr7wc+dCgAhnWP09w/IoksrCgf04gIfi6vHBBQWXMQN6WV26jJGhxNKBEff5unJaC/QZSTdfr8XG62mNFlsmm21qSgtYzs0YAWq1nJYuY4QN2A0vZpDm664FMkZWWkqr2yGiw6beeV/SiWSRMutbZTv+rEErIfTF4R8ioeRXQrNQDalyWtFoBNFo9vEtGdWueUInErmdbxGt0NubLkWLST23ftj3Ak5ER7K+n11IS4AgikXvM3LaOjNWdUjo7TZh/brKZbiVk107Xc4qp5WVMWLwUloA8NFNTmxvNuPKVVZ87fwGiFVQNaOjQ0L6sNg/mMg9w70Mv2JPj64Be3DhCgn7ZRmPnjyZuf2Os89GV2NjUX6+SQD+xy6jM9UnbL9chF86K2PEYIGRaBRIqucBktP4wb16xqnZGmGSRPziozvx2mcuxZMXiPjWOQ782RYnrlxlRZd9/sucVIBDvgTu7I/gn1/14w+fmsE5d4/jgnvG8cGnZ/Dl1/y4dyCM4/4E5KUuGKq4z0hlMka0bWaMUC62pvqMKFBwOFKbk0eibtI59wbsqi0t2qTsi/rAyDIZI236jJEil9IyjMX6jCTCQFjtyQLX6vzq/AFoFJ1wy+qF52I9RtIZAKLNllNpwNO3aeW9wqHF+5fkwhVMB4AUBJMLr1TfBTNmU1cqV5kUWI1/XVZx+oyRkWUyRiwdHbCuVl/byPHjiE9OZn2/HgIjkiiiMTWJOTM9BSV1opBILhAYqcUG7IK+lBYzRoxOH7CraMZIel+cR8aIIAiZcloBSDgcKN4k4e86L8aWVPnTI9FB3D71SNGeOxfZDdiz+4zoz6/kGBAarEzwhmqbTbTgfS3XAlCvXb43cV/W97Oar6f+L3afEZtNxDtvcuGm650w10kdVMkmwNqmTjIkAgris+rfOdNjRATEKjil6rBLuPOKFtx2SRMaLNUxaSKJAnq71WNLNKpgbHwF+1bd4acc79Curl4IqUmohTJGhgMB3CFrE1Zv2bQJ27q6ijqGNhH4rl2GaU6+TP6/v0d7UweWrgJQbkl/ILMtMWPE0KpjL0MrJgoC+uwCruuy4FOnu3HbJU147q3tePmmdtz+pib8zVluvLPPhs0NpgUvIMYiMh4fjeKbB4O4dbcXb3lwEqffMY537IniryM9eGxizg4+KzBSXX1GKpExwsAI5WtzVp+Rk5UbSAkJujJFOdW91t11XUMDbKm65xHdytaGZTJGrCYTmlLBkwm/f+mAcLVq2gKYUgGiiZe0HVJQNxnpyq+MFqBONq2JqwGmkfg0ovL82rWZiW57bnWCe3u1ZuljE4VnjACAK6RlxixWTus+QZv4u95cg++JEmgzNcAENXt1aJnACDAna2TvC1nf0wfSallzo/peTCTi8Kcy1hYqpVWTgRG4ATH1OWOPEcPLar5ewcBIZnpBnzGSw6n8Oa3a2F+czSNjfhGSIOJvu96f6YvxzfE7MBYvfwk8t6chsz23nJYcz/5DBY/lXgu/HJ5JALcILtxy2nb1/7CQ+fevEQF+HpIN7z3Nb4ZbVM8775vdheGYtvhhbsYIUJo+I/XI3qtVEAkPqP1m0xkjJoeQ7/onWoFcy2mVezdmsVrR0aGmFU1GwwhHwpnv+SIR/PSNN5A+yp/Z3Y1LTzutJOM4zwR8wVqk314QAEfqOjE4DCQX751SbsmgLjDCjBFDy3lq9qmnnsKNN96Irq4uCIKAO++8M+v7H/jAByAIQta/a6+9Nus+09PT+IM/+AN4PB40Njbi5ptvRiAQAJVOk1XERe1WfGijE189vxEPXt2KN97RgfuuasGXz/Pgj09z4MI2CzwLXFWEkgpe9ir4SaINz8/MuXjIlNJC9WWMZAVG2GOEjG2zXQuMHIwYazVEsegzRpQcAiP6e0qSiM2dnfPus1wpLUArpxVPJjETCq3451cN0QS0nKVux2YAX6r8oX51TZ6N19NWJ9TAiAIFA7HsPiaKougmunPr/Oh0ueFKnVCOTY5nVtUXQssYAfwLNGCXATwAdfLMBgVvYRmtFREFEask9W87nJhetk6457zzM9u+vXsy24osQ4mpFze1HxjRsibS5bTSK/MdDm2FWU2W0hIEwJaq/REaBmSuXjcyozRfFwXAAQWCbv9iyuG8OqsBu7d4gREAOMOxDr/T9CYAQEiO4MsjPy3q86+EJ5WFBsxvwD43Izc2JSNWxOBQsRyXBfxasOLX7T3q/3Ex8+9rMRE/iHF21+ickh1/0HIVACCBJH4w+YDuu/qMEfW1LEWfkXpk79FOWEODScgxQEnN0UvlKh9ep1ZnBUZyK39QroBVd28frup6H27s/VNM7nJg5N4wBu4J4P8efh7+1Hl3p+DBjWedlVN2f65utih4m0k79hQ0NeZIL+yTDVWWNRlgxki1yPn9FwwGcdZZZ+Gb3/zmove59tprMTIykvn3059mnxD+wR/8Ad544w08/PDDuPfee/HUU0/hIx/5SO6jp4JYJQHbGs149xoHPr/dg59d3oxX3taOZ65vw3cvbsRfbHPhmm4rVju1VQdb3XPeMhYPYEvVlfcdB6roBGbdGhOsVgFOh5AV3S8p/fW+UD1/K6q8jbZeiKkLhwNhY9XPLJa8S2nN+ShtXbVq3l2WK6UF1EEDdgBo05XTmkytztev0i4wMNKX0FbDnJpTTktJJjPHiHwmujvb1IBXLB7D9PRUAaNUuULaZHQgOT/Y+IK7CeOpCPblJoDXkivXZVL/tkElCp+8dJDR2tMNSypNP3z4CBKzswC07CKgtktpAdmBkXQD9mSqlJbL7YHFov7+tZkxAsCRKtOgJIHQyNL3pYrKar5ewR4jQKqclm4+P5dKOdsazUhX1B0IF/98/OMdv4MmST2n+K1vD57zv170n7GUBn0prbkZI4n5fyijZo0s5ZjxYjm0gD9ouQr2VJmb38w8hcmEWtpNH/RIvyNL0WekHklWAdZ29fw1GVSymrCbyrQYtF45HSLaWtW/8eSUjGBo6R1VJabOenr6YJNccJjcEBJmJMMKEBGwOq6WwnUpNlwtnwmzNL93cTEJAvBVu4JzJAUClMIy8x092raB+owkg8HMtuRixoiR5bxnvO666/CP//iPeMc73rHofaxWKzo7OzP/mpq0VZkHDhzAgw8+iNtuuw0XXHABLrnkEnzjG9/Az372MwwPD+f3W1DRCIKAHqeEq7ps+PhWF759UROeur4Nr15uxS/sh3FJywJvmXQ5rUQQCBenxEk5NDZI+MDvu/G+33PDZmOPETI2h2jFGqs64X8kOoi4XH0XscvRl9LKJWNkbmBkXWsrrCYtyiKJIpwrmFitiwbsrboG7Ok+I1kZI/mX0gK0jBEA6J/TgF3WlQbKtZQWAHS2dWS2x0YLP1+wJGywKGq5kYB8at7KxPtatMyj600MZOeiW9Im+vWlMxbjPi9VTktR4H9BDdils4sAQLDVUWBkahKynIScqvFsMpnRmPq+z+tFshYzKuy6+tVB9hkxsqzm6xUspQWkAiO6/bY5h5WtVknA98424znH6/jlecXfvzSYXPhk5+9mbv/TyP8tWF6yVLIzRrJ7jCi6hSdCat4rdCqRWwnTMni7WcFueQa7X3xM/d+VxH0Obf83q3C1QjVoNLnwu01vBgBElTj+b/K3ABYupQUUv89IvXLoFn36D2nn35KDn5tSW92jZST2r6Cclqp8+9/e1Wtgd5khIgLJqkCyCzDZRZxrWYerlNNxbXwLnJbyZIQ6BeAuh4zDbhnvKigwort+NVJgJMBSWtWiJFOzTzzxBNrb27Fp0yZ87GMfw9SUtrJz165daGxsxLnnapMzV155JURRxPPPP7/g80WjUfh8vqx/VF4es4DzpSBaLAscTKu4AbvJJEAUy3eCwMAIFSLd0DOhJHEsWnurqIrRfB0CYJIkbNKV02qw2yGuYMJEHxip2Qbsrl4ty2/qVbUOazpjRJC0ldt5SvcYAYBTsTmBEd2EmmgtLDAyOlKc978L6gqjhBJAVNHqwCsA7m9RA5EmKLiK/UVyssqkLYgZji8fGPHo+oz49uwFAChZGSO1XkpL+3tNT08imdAm/0wmExpTC4wURYavFvdN+sAI+4wYWiKVMWIymSCKlT2RdQHZGSM5DufSFgldYr4nG8u7qfFi7HBsBAD0x8bw/awyQqXl9niQXoe/aCktEXD0qSdeSlINjhiJRwDWQMaaSEj9XwS26RYwz/KwXDXe13oNzIL6Xvv59GPwJoMLNl8H2GekWGzdUuYPmwzqSg4y/bnk+lZrF7Sv7Y/i+Rcji/4LBNWDWDlfFavVht5LRXS5nseqy+JY9VZ75t/FlzXhdMdr6LiwfMcDkwC4C/0D6DNGAkYKjOgzRlhKy8iKfkZ77bXX4kc/+hEeffRR/Ou//iuefPJJXHfddUgm1Yu80dFRtLe3Zz3GZDKhubkZo6OjCz0lvvSlL6GhoSHzr7e3sBWtVGQN1duAvdzYY4QKscWulTk6UIN9RrIDI/lnjADZ5bRW0l8EAJqdTphSEz01mzEiCFo5LTkGTL2iTUQ6u7NfhDys1pfSimYf07MCI3lkjHToAyOjxQqMaE3dA7o+I69DwoBNLb92sQQ08ToyJ7lmjFj7+mBuUwN2oQMHkPD7IUfqp5SWzWqDI7WSbHpqAomkruyFZMpkjACAd84kZ01gxkjVSDdfr3S2CAA45mSM5FJKqxxEQcRfd/0RpNTl9m0T92IgNl6Wny1JJrhSZTsWa74uWgQ412vH/MCxhOF7OtgEwJ466Zsx9lBJp93chHc0XQoACMoR/Gzq0azAiL65AvuMFIdkFWDtmD/ZwB4jpdfRJmV62U5Mynjhpeii/0Ihvr+LwtYBiKksFyNljLD5etUo+tTse9/7Xtx0000444wz8Pa3vx333nsv9u7diyeeeCLv5/zc5z4Hr9eb+TcwwNVkhuKu3gbsZacvM8nACOVos01rwH4gfLJyAykRfSmtXAIjWen4qfP99W1taHGqKzM2dnTMf9ACREFAW6rPyFQwiFjCWKsni0bfZ2TgATVAAhRcRgsA3IoFzaJ64tc/N2NEX0orx+brgDp53GhRAyoT46OZBReFSGeMAEBQ1oKN9wvapF9BNW/rVLrHCLCyjBFBEOBOZ43IMgIvvgQ5qpXSqvXm6wDQ3KzWdg6FgggEtKwQyWRCgy4wMlPrgRFmjBhaPLUfN0JgRC2lpd02G3C+b6OtF3/YcjUAtYzQl4Z/XLaJXk+qz0goFERctzAhXYlVtACWRhGWVJnkhE9BbNL4jTvSCxWYMVJdPtB6XSZI+OOphxCSdeUydevl2WekeBw98xc7scdI6YmigC2bcitF1WubLc1g6oUgadexwUHtQFdh+owRkRkjhlbyjtPr1q1Da2srjh49iiuuuAKdnZ0YH89eLZNIJDA9PY1OXekTPavVCmuNrxasaq5uQLQCcpQZI8tQdPN4OZRCJgIAbLZrgZGDtZgxojuHVPJqvq6rNS5J+Mhll8EbDmc1VV9Ou9uNEa9aj3siEEB3Y2MOA6kSrTu07ZGntO0CG6+n9ZnaMB0LYDwxi1AyAoekTmpnZYzkOdHdaXdiNhZBIpHA1OQ42q25B1j09IERfcbIfVAn/QRFwbXsL5KzrqyMkakl7qnxnHc+pu+7HwDg27MHzddcnfmeWOM9RgCgpaUVgwMnAaiBvzSTyYSmJn3GiBdA5Seli8rsBiwNQMwLBBkYMbL0BHulG68DgAsKBH3GiEHn+z7W/jY84H0e44kZPB14FY/5X8IVnnOWf2CBPJ5GDA+pnye/z4tmyQRFEaAktYwRAHCtN2F6Sl0gETiWgLWttA13C9UoAMOKGhhRUN4SNJS/Xks7rmu4APd6d2E2GcCvpp/MfG/ua+jYsgWBl14GoPYZsfb0gHJn75Yw8yK0yyNRnbJBZIkHUVFcdL4NG9aaEY0tfw1hCgfReeQAgJ2lH1gtc/Wpc5FKEggOAe6+5R9TYlkZI2y+bmglP4UcHBzE1NQUVqXKmuzcuROzs7N48cUXM/d57LHHIMsyLrjgglIPh0pBkADPGnU7OAQkwhUdTqUkgjKCwyJmIqdhsd6oWo8RhWfylLMGyYlus7qq+GCkH0nF+Cv7cqGv4hSblhE4El/RPzmSPunMPvm0mkw5BUWAOmnAbm0CPBvUbf17qEiBkdWmtsy2Pmuk0ObrANDp0E4qi1FOy4lOCFAngQJJNdh4JAkcTtXCPg8JLFCJgJbRJnlgSjXGXUnGCADY1q+DKdVLI/j660jMaD1far2UFqBljADA+NhIZluS5mSMzCmLUzOcqZV+kSkgEarsWGhBiiwjnimlVZ7GrEtxCcjKxDZixggAOCU7PrPq9zO3/2XkJwjJ0UXvryQSeOW1J/C9k/eh/6mH8/65Hk9DZjvdZ0RWtBOtdGDE3iNBTMW5woNJJCPGXgzQmHqdoxBQn1ec1etDbW/NbB+IaItRhDkXxewzUhyiRYCtUzuJNTkFCFyZWRaCIKCj3YTVPeZl/3W1AWVseVu79IEQg5TTkvU9RpzMGDGynC/3A4EA9u3bh3379gEATpw4gX379qG/vx+BQACf/vSnsXv3bpw8eRKPPvoo3va2t2HDhg245pprAABbtmzBtddeiw9/+MPYs2cPnn32Wdx6661473vfi66uwpq+UgVlGrArgP9ERYdSKf4Dccy8YUIw0YW4d5GjW6bHiMyMEcpLOmskLEfnlSqqdvpSWrEpGbP74iv6lwwX7yK+LhqwA0DbufO/VsSMkTR9A/bsjJH8Mj067NpJ5ejIcF7PoSfCBIeonnsE5SHISgIPJLSd8/VKrOCfUY9MgoSOpFojfGgFPUYAtXyG+7xUOa1kEr5duzPfq4tSWi3a52Zuxojb7YYkqROaXv9suYdWHi5940z2GTGiRFzbH1oMUErLOa/HiHFPrK/ynIuLXacDAEbj0/j2+F2L3jcUC8H07V/homdmsf+Je3A0kt8iAI+nMbOd7jMiQwtopYMhgiTAsTYVMFGA4AljlCBZjL7n1yzrEleV9bbuBbOl5n5y2WekeOy9WjCU/UWoprl0gRGDNGBPBtSMEcFigWiATFtaXM5nEy+88ALOPvtsnH322QCAT37ykzj77LPx+c9/HpIk4dVXX8VNN92EjRs34uabb8Y555yDp59+OqsU1k9+8hNs3rwZV1xxBa6//npccskl+M53vlO834rKz6PrM+Ktzz4jllYt9Ty6SGAkvThbWKhbNNEKbNH1GTkYNsZBv1gkK2By5X/SbhELz/DQZ5jUbMYIkN1nJK0IPUaAORkjUX1gpPCMkQ67M7PabWy08MAIALgk9TOlIImgPIRHdYGR68DASL66EmoQyy+H4E+uLAMg02cEQPCNNzLborUeAiO6jBFdYEQymSAIIhoa1WyaWZ+3NieJnLrACMtpGVIsotVfMUYpLWRljBi1lBagrh7+q1V/BEsqG/FHk7/FsUUCHl+fvRtDLep2z4SM1WJLXj8z3WMEWCRjRJdi41qnfT143NhN2JsEbWyzTL+vOh/WZY2kzc0YYZ+R4rF3SRBt6t/X1m7sMnlEBcnKGDlZsWHoJYNqxgizRYwv5x4jl19++ZInS7/97W+XfY7m5mbcfvvtuf5oMrJMxggA/3Gg8dLKjaVC0s0LASA2u/DVWbrHiCDUVgkkKp8tdm1V/4HIKVyHCys4muISBKD9ChsiY8m5VbGWf2wkCOvR1wAUVpLRZbXCYbEgFIthrJYDI81nqMtF043Xrc2AuTi1T9cskjGS1GeM5DnRbRYltDQ2Y3JmCpOTY0gkEgU3S3NJqzGWGlogeQo/c/ThSW8Q+4bG0NfdvPSDaVFdqYwRABiOT2ETli9r59i0CZLHg6TPl7USXKiDHiNutwcmsxmJeByRiFYgxmRS3+GNjc2YnppAMpmEPx6DZ7Enqlb6wCwzRgwpHtXKPxmn+bqut5jB58hXWztwc+sN+NbEXUggiX8c/hH+d+1ns0rbPB/Yj9unH0Fzh4DeSQWSDCSHRoC1a3P+edmBEbV3mqzoM0a0n2tyibB1ioiMykiGFERGZNi7jDmJ2qh7nacZGKk62+xrcZHrdDwXeH3J+83rM6JbOEErJ5oFdFxpRSKgwNJq4OgxUaGc3WqJfyVpuIwR9hcxPu4dqTj0gZE6zRgxuQSIZvUCLeYVFgwgahkjDIxQfjbrMkYOhGuwAbtFgKPXBMfq3P7Z2xWIRQg4CoKQyRoJxmIIRBevA17VJIsaHEkrUhktAOg1aSvfT8W0le9yQhcYyTNjBAA62jrV55NljE9N5P08aS5R+0wFkv2wC8C1iOOz/YcKfu561p3QVkcN51JO69z52Uz1kDEiCCKam1rnfd2UKqGV1YA9VoOdU13MGDG6eFSXMWKYwIh221QFc+R/3HYDeszq4oEXQodwr3dX5nuBZBh/O/Q9AMDxTu2XiZzIr0Sxx71cj5Hs+zvXa0GT4LE4jKqRpbSq3ofmZI3MzRgB2GekmCS7CGubxP4iVNtEs5Z9HBjAok1/y0SOxaCkFgVKLmaMGB3PJqg4zC7A3qFu+49nN/StE4IgwNKoXqHJcQGJwAJL3jM9Roybok7G1mZqRItJXSt8MHLK0OUOqlVdNGAHsstpFamMFgA4RCvaTY0AliilVUDPiM62jsz26MToEvdcmXQpLQAIyrUXbKyUVfrAyAobsAOA+7zz531NrIOMESC7nFaalMoYSZfSAoCZWA0GbB3dyFSan3xZvaglQ8nOGDFK83Vdj5EquKq1iRb8VdcfZW5/ZeRn8CXVUhtfHv0pRuJTAABrrxYojJw4mdfPMlsssNvVzD1vusfIAs3XM2NbJUJyqF+LjMpIBI15LZfdY4QTvdXoXMcmbHdsyNxeKDDCPiNElLN0OS05DoRGKjqUdLYIAEhOZowYXRWcQlLVSPcZSYSAyHhlx1IhlgbtIiI2Of+CghkjVChBEDJZI7PJAEbj0xUeUe2pmwbsqy7Tlowu1Iy9AH1WNatjOunP9JfQZ4xI9vyarwPZgZGxibEl7rkyVqEJJkE9YQ0kjZF6XQu6k7lnjACAc+sWiHNq8YrW+g2MpEtpNTVpfQZqMmNEsgCt29Xt6Azw7J8DM1wlbCQxXcaIxQA9RpxQoGs3YfhSWmmXus/ElakG1NNJH74x9hs85d+H38w8BQBwijZ8ZMsfZu4fOZlfxgigldMKBvxIyslFS2kB6vmlU99r5Jgxm7A36l70GQZGqpIgCLi1/Z0QU6/fFkv3/PvM7TMyUvhCGCKqcQZqwJ4MBDPbIjNGDI+BESoefTmtYH1OLlkbtZP12NT89L1MYIQ9RqgAW+26clqR+vyslVLdNGB3dgFv+g5w8deBzkuK+tSrLVrwoj/VZ6RYGSOtLa0QRbX2+WgRAiOCIMAlqqXEosoMYnINv+Zl1JVnxohgMsF9zo6srxXyfqkmzc1t874mSfMzRmajNRgYAYDtnwXcqUU2MS/w3CeBsV1LP4bKJq5rvm4ySiktfcZIFZWJ+Uzn78MuqgHfX0w/hr8evC3zvb/s/D30uLpgSZ2LRPsHoCTyC1J4PI0AAEVREAgEIGPxUloA4FxryiRuBU8koCSNt0o/q5SWwKmManWBayt+3v4p/HL0amyzLFzOVV9OK3jkcLmGRkTVKqsBe4UDI0FmjFQTnk1Q8WQFRk5WbBiVZPEoQCobJDqVHfxQFCX9LQgspUUFyO4zwsBIsekDIzXdgB1Qe4s0nw4UeUKpTxcYORlVV/ll9RgpYKLbJJnQ1q4+//TsNGLJwmvIuiTtojzAclpF0Z60Z1aDDsemcnrs3HJadRMYWSJjxONphJCaBJytxYwRALC3ARf/B9CyXb0tR4G9fwv031/JUVFK3GgZI3Obr1fRVW2npQUfa3sbAECGgtmkOoFyqetMvKPpMgCArUXtK6QkEogODuX1czweXZ+RgG/JUloAINkE2HvUhQdyDAgPVbZG+0JYSqt2bLb0YHO8adHvZ/UZOXykHEMiompmqIwRXWCEGSOGV0WnkGR4DIxAkACzqO4EEz4FckwXAMmKkzBjhPK3RRcYOciMkaKzmExoStU1Hvf7IbOucc5WW5fIGBEECAWWRurs7Mpsj4UDS9xzZfR9RgJJBkaKwQwRHVIjgNwyRgDAecbpWcGQeiml1dTUPK85ajowIkkSPA3qJOdsLFq79dbNLuCCfwG6LldvKzLwyleAwz/KmgSn8jNc83Wg6pqv6/1h69VYb9WOZR7JiS90fzCzD7A1N2e+Fzl5Mq+fkS6lBQBev2/JUlpprvVa8CRw1HjltBoZGKkbWX1Gjh6t3eMeERWHqweZKe4KZ4zIQa2UluRixojRMTBCxeNcBUipiYw6LaUFAFZJW2GuzxrR96MXBJ7YUf56LG1wi2qPhgNhTuKWQrrPSEKWMROp0dXZJbTG0pnZPhVNB0bUjBHRap03+Zurjk6tHvVoOLjEPVfGJeoDI/V7/Cq2VZK6EnQ2GUBIXnnDcNFsRuPllwMArH19BQfSqoXJZEZDQ/bq2XQpLQBobFQnSmNyEuFIuKxjKyvJAuz4G2Dtu7SvHfoB8OrXANl4K9jrRXbzdQMERqqw+bqeWTDh810fgFkwQYSAz3e9H+1m7fOfFRg5kV+fkXQpLWB+xohgXuABACytIkwe9Rgdm5IR9xprMZc+MDLDqYyaltVnJBBA1Out8IiIyNAkqzonCQCB/uwJuDJj8/XqwrMJKh5BAtxr1e3IKKDEKjueCrFI2kmbvs9IVmCEGSNUAEEQsMmmlv4ZS0xjOlHj5Z4qIKsBe7Dwifd602Npg5BayXkqll1KSyyg8Xpa5yp9YKQYGSM9SBdWZymt4uk2aRN7w8npnB7b/nvvRd/n/xZrPv+3BQfSqklzc3Y5rXTGCKAFRgBg1jdbriFVhiACp98CbP2o9rX+e4EX/g5IMFhdCbGIsUppuQRkZYxUS/N1vR3Ojbhjwz/i1xv+Edc0ZJcQLHbGiM/vh5IKjAhmLLpfFQQhO2vEYE3Y7QCsqReeGSO1L6uc1ljhfeWIqMaly2klI0B4vGLD0DdfZykt42NghIpLX04LExUbRiVZRG2SOjapC4DI+iwRBkaoMJt1DdgPMmuk6LL6jDAwkjOraMEqszqpcyo6BkVRMqW0itEvoqWlFSazutx1LFT46yMJNthFNcslmByAwn10UXRJusBIIrfAiGAywbFpU930F0lrmtNnRNIHRpp0gRHvbLmGVFnrfxc4+68BIfV3GHsO2P3/1ObsVFbxmD5jZJF0gzJyABAUffP1yo2lEH3WTmywdc/7umSxwNyq7g8i/f1Q8uinpe8x4g9opbQWK6OV5ugzQVBbjSB0KgE5bpxMd0HQskYYGKl9DIwQUU6yGrCfrNgw2Hy9ujAwQsXVoAuMKJWL0FaSSYxBsqkXELFpGUoqIMJSWlRMW/UN2NlnpOj0GSPjDIzkpS9VTssvhzCTDEBOpAIj9sInukVRQnu7mirtjUcRKkJZIZeoZmHJiCFcp4H9YuvSZYwM5ZgxUq9a5gRGTAuU0gKAWV8dBQZ6rlD7jpjUWvOY2Q888+dAaLSy46oz8YixeowIAmDSnVtXU/P1lbL19gIAlFgM0TwmhW02OywWtRSh1++DDHV/slxgRDQLcPSp91USQKjfWFkj6cAIS2nVvqw+I2PjUGQuXCGiJWQ1YK/c4lFmjFQXnk1QcbnXadtK/U4sWRrUkzYlCcS9SmY7jaW0qFD6jJEDYQZGiq3Z6YRJVA+RY6FQhUdTnbIasIdHMo2TRVvhpbSA7AbsE5OFB+Jd0urMth+DBT8fZWeMjCRmKjiS6tHc3JZ127RYxkitl9Kaq20HcNF/ANbU3yA4ADzzZ4D3WEWHVU+ymq8boJQWAJiyMkZqL3vAtlo7LkX685vgaUiV0wqHokiXjBRX8PI5deW0gscSMFLf66bUSx0WBEQETmfUsqw+I7EY4pNTFR4RERmae422XcEG7FkZI2y+bnim5e9ClAMPAyMAYG1UEE4t7IpNJWFpEtljhIpqrXUVrIIZUSWOg8wYKTpRENDmdmPE68V0OIyYJMEY00DVo8+iBUYGgyNI5xOKtuI00t52xtnoaWlDZ/8Q3D19yz9gGS5J14Adg+hAe8HPWe+652WMtC1+ZwIANC9VSquxCTdccT2aTvWj8ZLLyj20ymvYAFzyX8Duz6iBkegU8NwnEN/8/yAjieLsWWgxWYERA2SMAICkAPHUdrWW0lqKrbcnsx0ZGAR65pfcWo7b04iJiTGYBe0TslzGCABYGkVYWsRUA3YFsVnBMJ+xJt3wvSYz6qvgYv1pvv56NJ5/PhzT05DaeR5BREtw9WrbgQoGRtIZI5IEwWqUoycthkssqLjMTsCxKnVjIrt+VB2xNGrLqqLpPiP6HiMspUUFMgkSNtrUA/+p2BgCycJLCVE2fTmt+g3z5q9PlzEyEtJKgBQrY6S9vROnrdkAd5Em6NKltAA1MEKF65QaIaRWKOfaY6Re2e0O2B1ayr3JZM7a3rx+EzrsLlgtdXqR5egELv460LQVCoDHLTLeOfsd/K/76UqPrObFIlqPESM0XwcASZ8xUoNXtelSWkD+GSOeBrXPiEXUwgfiCjvV67NGAoPG+QM36q6jZkxL9LuZeg04+DUg+XNgak8ZRkal4NyyBe4zzoBkkP0OERmYyQ7YU9eg/lOoVLpjMqBmjEhuF4QazGitNcY5w6HakckaiQOR+mySZnYpmaaFsalUWS1mjFCRbbZpE7mHImzAXmxZDdiNVEOiSqR7jADAZGgys23UZtp2sR1Saj1sAEMVHk1tMAsmtJkaAQDD7DGyYs3NWtaIEZpcG461AbjwKxjpPA+fbG/FSbMZ3/eMYHzquUqPrKbFY/qMEWO8L0XdoqNEDc47mFwurQH74GBe/RU8nkYAcwIjK5xfdvRImfuGx0QkZWO87ukeI5Zd4/j9qbW48KkILrx3fN6/zz13Eph4GlD68YODzK4mIqoL6QbsiSAQmVz6viUip3qUsvF6dWBghIrPky6YYgIi9bnOWhABS7P68UqGFCTD8pweI5xkpcJtsa/JbB9kYKToshqwMzCSsy5LK6TUacZUSKsJXYzm66UgCCKcqT4jEWESCSlW4RHVhm6LOqk3LQcQFozVwNeodpxzgZodsuUM2IqUYVVzTDZ0nfPP+F1FfX+FRRH/JZys7JhqXLr5uiRJEEWpwqNRibpDc7RGV2Ta1q4FoDZgj/n9OT8+3WPEImn7kpWU0gIAQRLgWJvKGlEEBBOdSz+gTNKltIRoEtOyCaNRYDQsz/t3JKotcLEmZyszWCIiKq+sBuzlD4oriQTk9DkTG69XBQZGqPhW3wCc8w1A+jjQdGalR1Mxlhbt4xWdkrMzRgRmjFDhtugyRvaHT1ZuIDUqK2OkguOoVmbBhG6LWgt6Njyb+XqxSmmVQlafEQebhRfDKnNLZntEClVwJNVj46ZtuPXjn8MNN/5OpYdibKKEj275O7hTLRPvDO3FochAhQdVu+JRtZSWUbJFAODuSxvx0JtseMK1H11ibS5gsK1Zk9mOTOeeebdwxsjKg0iudbpyWvFOxJOVv4ZJZ4woVgkeKYlOK9BpF+f9g1Xrc9UlzlZmsEREVF4VbsCeLqMFMGOkWrD5OhWfvQ2ImgGhvlewW1olAOrq2NikDGubPg5Z+YsKqn6n2XogQUQSspoxwuNuUbmsVjgsFoRiMWaM5Gm1pQP9sTGI0Xjma0bNGAHm9BlxzKCxckOpGemMEeD/t3fnUXrVZb7ov+9bc6YqMieQhMFGcAAVJMTWthvSAroUlduKh+7jdJwazm2lPU17r4p2uy6t9rG9uDjoOhdFr23bco/idbh4EAUcAihgKw402GkGMwGhMteQqn3/qKSGJFWVqlTVW1X781mrVt5h712/Snb2u2t/9/N7kk31e3LyCMsyoK5uetyRP90d17Agb2t9eT6x4/9NkSL/dfOX85kT32s+50lwsPn6dGm8niRrGqtJY5J0JrP037z5pBP7H3c8tT2tY1x/wYIj9BgZwz9h/bxqnlq8I3fs/E12VPbmDx46MS9dtHD0FSfRwR4jXeuW5p0bf5U/X7MsaWs7fMH985P/r+/hSxeMvdoGgBlo/qCKkZoEI3v6H6sYmRlUjMAkOTiVVtLXZ2RojxEXWTl2TdXGnNy0Mknybx2b0ll0j7IGY1GpVPqn09qTZHeXqZXG6sQDDdhbBv3VTdceI4mKkcmwsmFQMFK3Z4QlYXz+w7yX5Pj9fb94btjzy/xw9y9qPKLZqetAMNI4jYKRMjjWipGWOXNTX98w7oqRJJl3QkO2V3enp9KbrU/vG/MYJtpxg4bfPlLz9fqW5ODP3dU+qWMCYJqYN3CjWy2m0urZo2JkphGMwCSpa6qkfn7fmXvX073pHXTNWvN1JsrpLX0XcvenJw93b67xaGafpfPnp7m+PmuSdOzXH2GsVjfOtGBkVf/j3XMFIxNhSDBSbyotJl5TpSHvbh+YuvW/bvly9g9u7MYxK4piWk6lVQb1ra2pX9hXodHx9PYxN2CvVCpZsKB1XD1GDlq5ZqDn2o66vSlqXEXbNjgYGS2oa2zr+7O7fbKGA8B00jAvaT7w+8euR5Ip/swaMpXWPMHITCAYgUnU32ekSLqeHPglXY8RJsppg/qM/LrrdzUcyez0x6efnqvOPTdvrq/P4jlzaj2cGWdNY1+j1uYZEow0VOalqdLXE2P3nO0pVPcds5WNKkaYfBfsW5UzGvtuFPht56Z89ek7azyi2WV/V2f/hYXpNJVWWTSfdFI6mo7Lo0vWpfvJJ8e8/oLWtjRWm/qfj2UqrSRpaWzMvAOBWHvv3ppPVTc4GHl6pIqRJGk8MPnY/t1Jj8pfgFI42IC9e+eUVwyaSmvmEYzAJGpaPDBHeOcTg8MQF9uYGKe3nNj/+Dfdj9duILNUfV1dzS8AzGRr+qfSGjjm1U3j5uvJwHRaPfXd6cjYpy1hqBUNA3PR/65eMMLkqKSS/9L66v7n1239Wvb0dtRuQLPMwWqRJGkY7UI0E27T8nW5+4Xvz7+eemk2Pjj2asYFC1rTWB347K00jP28ZtGBm0P2dHdnX3dtp2496qm0kqThuIHHptMCKIca9hkxldbMIxiBSdRfMZKkZ+/AhUFTaTFRhlSMCEaYZpY3LEpDpX7oVFrTuPl6ksyrG9SAPf5PHaumamMW1/fdsbtZMMIkel7TSfnjBWcnSbb37MwNu26r8Yhmj+6Ogb4SDY2CkalWXbQkPfV9n50btqxKd/fYbrBasKAtjXV96xeV3lTqRlnhCBa3DAQrTw2aJqQW5iapP3CTWXv9UU6llSSdbnYAKIV5g4KRKe4zMrhipKpiZEYQjMAkqp9fSeUIvz+aSouJMq+uJasalyZJ/rV7U3qEbkwjdZVqVjUunTFTaSVJW90zs7g4Iyc+dkZasqTWw5kVDvYZeaKuI51Fbe80ZnZ7z7LXpf7AVd8v7Lo9W+r0tZkI3R0D1Tear0+9M1+4MAs7+4L6PZmbu386tmqoBQva+puv91b2j6sSdtGgYOTJGgcjlcrAdFqjT6XVNvC4QzACUApDKkb+fUq/9ZCKET1GZgTBCEyiSqWSpkVH+m9mKi0mzunNfR/8HUV3/r1+V41HA0Otblw2NBhpmd5TaS1uOCtn5oqc8thZmZeVtR7OrHD8oD4jm/dras/kWdW0NP9h4fokSWe6c23rz2s8otmha1Awovn61GtceFwuuvj41KWvX+G/PNCVLVv3H/X6fT1G+oKR/cX4+mwM7rNW62AkGZhOa/SptNoGHqsYASiHwcHIE/cmD/3jYV8/fvDavP+x/yM/aPx+uvdP3Oda7+AeI3NVjMwEghGYZI2LD69XN5UWE+n0loEP/l81uujI9HJi07KhU2k1NQ2/MLPSioZF/Y839ThGMbnevvRVWVDX94voN+Y+kl91PVbjEc183UOCERUjtdA2PzmndWBf/t6d+9LTc3Q3Ws2f35r6Ax3Xu3r3jbL0kU2nqbSSgWBkd31DRqxDHDKVls8fgFJobE0aD/SY2vN48psbDvv65vYf5OuVbfnzZdvy0q0fyQcevyE/3PXzdBdHf+PBkfTsVjEy0whGYJI1HqFixFRaTKSDFSNJ8hvBCNPM6sblae7su3hTVCqpCEZKZ3DFyKb97thlcrXWzc07l7wqSVJfVPKLrqmdW3o26u4cFIxovl4zz5u3KUuO6/s8fbq9Nz+9v/Oo1mtpGLgw07F/fNPLtTU35+CtXk/uqX2/qLbBDdgzwtRgjYOar6sYASiPFS8e9q3eJPe0DPxOuqvoyM3tP8i7HvlE/vA3f5EPPn5DfrTrF+MKSXoOfkZWq9N+pgT61Nd6ADDbNS6sJpUMmT2rYiotJtBpgypGft3QXruBwBGsaVyWnQcqRvY3Vsc1tzkz28EeI0myqceFKSbfpQvPzyO7Hs2fPtyaE1cN/4sxR2flqaflkr/839N9331ZePyqWg+ntKqV5Lyzk5u+m/QWyX0/68wpJzXkCMXpQ9Q3VbNn2UNp3Lw9xz/3GeP83pUsTPJEku179qS3KFIdx+d5b1Gkp7c3xxqvtVWK5EAg0p7K8B3Bhkyl5eYhgNJ47v+aHH9e0n14mF9N8s1if3606+H8z6cfyO3z9mRv0Xezwc6ePfla+w/ytfYfpLVubs5fcFYuWHBOzni8yNHUfxysGKmbO9fvvTOEYAQmWbW+kobWSrrbB4chKkaYOIvqF2RpfVu27W/PbxqfTlEUI907B1NqTdPyPHwgGOlsUqhaRoIRplpDtT7vP+5Pkv0baj2UWWFOa1tOfM6ZyfYdyfz5tR5OqS1uS17wvKb89P7O9BZ9U2r9Ly8deRqISl0lzzxjTbJnU7Jq/P9+iyuVPHEg2GjfuzcLxzF3+uYdO/LZH/84xxdFznniiTynrW1cYzluSMXICD+95usA5VSpSxadOezbzUnObzkj5/92RTpOPSs/qnss39nxk9y+6/7s6+0LSXb07MlXn74zT99+e1q/3ZtfrFuc8855VpambdjtHqwYqZunv8hM4QoFTIFD+4yYSouJdrDPyK5qd37nwiPTyNL6tjQfmAB8T4NquTJa0Tiox4iptACOydnPb8pxbX2/xj/xZE9+9q9T830XDXo83gbsjzz1VHqKIo8m2dc9YneQEQ2eSuvpkW4HqjYkOTBdiqm0ADiC5kpjzl9wVj626p2587RP5R9WXZGLWtempdqU1duKvOvbvakmOXPDk+m58yfDbqfo6Unv3r4pK+vm6i8yUwhGYAo0HdJnxFRaTLTTmtekPnU5rastO3rHN380TJbO5rrsbUq6W+pTFI5/ZdNSbcrC6rws6GnMnIoeMwDHoq6ukvNeOjBv+T2/TNq7myf9+y4eNCXIeBuwP/LUU/2P17S2jnssbZWkqSiyvLPjKOrwD9y1KxgBYBTN1casbz07H1v1rtxx2rV591lX5CcXru5/v/3/uTntd9xxxHV79g5ch6mqGJkxTKUFU+DQBuyVMU6l9XQeTNG6Kcmvkv2Dk+dqWutOTV2l8dgHyYz2psUX5e2Nf5DGu36SnGz+b6aPSqWSMz/y0cy5+75U1r0oMddqKd2y/INpufveZN26Wg8FYMZbvrQ+Zz6nMf/yQFd6eiv53tOn5DVFJnUq1UWDPr/HUzHSWxR5ZHtfONGSZPGcOeMeyxsbirx579PJTzeM/rlSmZsU25OejmT/vqReM1wARtdSbcoft74w+bMXZlPx+ez4zq1Jks3//f9KtbEpC9adO2T5nkGfjSpGZg7BCEyBujmVVJsr6e04cKf0GKfS+nmuz/5n703yneSQ3lEt1RU5d94nUq2M0nmRWW1eXUtS6az1MOCI5labM7mXa5juWqoCfICJtPbs5mx8ZH927urN5q7WPPDbIs89e/K+3+JBj5/cc3gz29E8sWtXOg5Mn7WmUhlX8/aDqmNaddBdu53bk/rjx/19ASinFa98VeoeeSzbf/ObpCjyu+uvT6WpMfNf8IL+ZXp3D3w26jEyc5hKC6ZApVJJy8q+4KLaWKSa/RO27X29m7O3d9OEbQ8AAJjeGhoq+aOXDFQ//PLfkt7eyZuusqVSydyGhiTjm0rrYLVI0heMTJ3BwcjTU/h9AZgtKpVKlp71grT9/ov6Xujpye+u/VT2PPBA/zI9e1SMzEQqRmCKtJ7RkIa2Spqa9qbyi7GtuyYvS89jG5MTTkia++Znb9//67T3/DpJ0lU8ncT0SQAAUBYnHF+fZ59cpG7b5px73opUx1ZKMWaLWlqyp7s7uzs709HdneYDQcnRGNJfZCqDkcrc9Ld37NBnBIDxqVQqWX7ppelNsvNHP07R3Z3HPvEPWX3VVZnzzFOHTqU1TzAyU6gYgSlSbahk3ikNaZg39ju5TszLc8pjL8gpuTinNF+aU5ovzdKGtf3vd/a2T+BIAQCAmeClL0he0vbvaZiCWx4H9wUZS5+Roij6g5HGurosm/CRjeSQqbQAYJwq1WpWvuMdmX9239yVRWdnHvv4x7Nv48b0mEprRhKMwAzVWD2u/3FfxQgAAFAmU1l8sbhlYOqusUyntX3v3uzu7OuFt3rBgtSZSguAGapSV5eVV1yeuWc8N0nSu29fHvu7j2bvgw/2L2MqrZlDMAIzVFNlIBjp7HWSDwAATJ5Fg4KRsTRgHzKNVmvrhI5pVJWBKhcVIwBMhGpDQ05497sz57TTkiQ9u3dn1z339L+vYmTmEIzADNU0qGKkU8UIAAAwiQZPpTWWipEhwciCBRM6ptGZSguAiVdtasoJ7/3LNJ9yymHv6TEycwhGYIZqHFQx0qXHCAAAMInamptTPTAN1lh6jDyyvS+QqK9Ws3L+/EkZ2/DmJDkwdZdgBIAJVNfSktV/9V/StHr1kNerc1WMzBSCEZih6iqNqU/fXVsqRgAAgMlUV6lk4YGLPU/t2ZPeohh1nR379qV9794kyQnHHZf66hRfgqhUk4YDVSp6jAAwwermzcvqv74qjStWJEkaFi9OnWBkxqiv9QCA8WusHpf9vXvT1ft0iqJIZUobGQIAAGWyeN68PLl7d3p6e7Nj374cN2h6rSMZMo3WokWTPbwja2xLunf0BSNFMbUd6wGY9epbW3Pih67Ojg0bMvdZz0plqm8CYNz8S8EM1lRpS5L0pDM92VfbwQAAALPaokHzph/NdFoHp9FKkjULF07KmEbVcGAK4t7upPvopwADgKNVN29eFv7xH6fp+ONrPRTGQDACM9iQBuz6jAAAAJNo8aDpQY4qGDlQMVKtVHLCcceNsvQkaWwdeKzPCABwgGAEZrAhDdj1GQEAACbR4IqRp0YJRnZ3dvaHJyvb2tJYX6OZvBsHBTKCEQDgAMEIzGBDK0YEIwAAwORZPIaptB6dDtNoJUlD28BjDdgBgAMEIzCDNR7oMZIkXUV7zcYBAADMfnMaGzOnsTFJ8tSePSMuOy0aryd9zdcPUjECABwgGIEZbGjFiJN8AABgci060GdkV0dHOrq7h11ucDCyqpYVI6bSAgCOoEaTfAIToWlQj5FOFSMAAMAkWzxvXh57um9Kqke3b8/S+fMPW6a7pydbdu5MkixfsCAtDQ1TOsYhGgY1X+8wlRYA0EcwAjNY46CKkS49RgAAgEk2uM/Il+65Z9TlV9dyGq1ExQgAcESm0oIZrL7Skro0JVExAgAATL6VbW1jWv6UJUsmZyBHq35uUjlwT6jm6wDAASpGYIZrrB6Xfb1bVIwAAACT7sRFi3Lhs5/dP53WSFa2teXUpUunYFQjqFSTpuOSjidUjAAA/QQjMMM1VY7LvmzJ/uxNT9GZukpTrYcEAADMUpVKJeeefHLOrfVAxqJp4YFgpD0pepJKXa1HBADUmKm0YIYb3GekU9UIAADAUE0Hf2fqTbp21HQoAMD0IBiBGa6p0tb/uEufEQAAgKGaFw487nAzGQAgGIEZr2lwxUjhJB8AAGCIpoHfmfQZAQASwQjMeI2VgZN8DdgBAAAO0TSoYqTT70wAgGAEZjwVIwAAACNQMQIAHEIwAjPc4IoRzdcBAAAOMaRiRDACAAhGYMZrqrb1P9Z8HQAA4BCm0gIADiEYgRmuPnNTTUMSFSMAAACHaVYxAgAMJRiBGa5SqaSx0pZExQgAAMBh6lqSuua+xx1jCEZ2P5Z075mcMQEANSUYgVmgqdp3B1R3sSu9RXeNRwMAADCNVCoDDdiPdiqtx76TfP+NyR1vS/bvm7yxAQA1IRiBWeBgxUiSdKoaAQAAGOpgMNK9M+k9ipvJtm7o+3PfluSJeydvXABATQhGYBZoqh7X/7hLnxEAAIChhjRgbx99+Y6nBh5vu2fChwMA1JZgBGaBJhUjAAAAw2saYwP2wcs8cU9SFBM/JgCgZgQjMAs0qhgBAAAYXvMYgpGiSDqeHHi+b1uy+5HJGRcAUBOCEZgFmioDwUhnIRgBAAAYonHgd6Z0jBKMdO8+vA/Jtp9M/JgAgJoRjMAsMLhipFPFCAAAwFBjqRjpfOrw1/QZAYBZRTACs8DgipEuPUYAAACGGtJjZJSbyY5UUbL958n+fRM7JgCgZgQjMAs0VOalkrokKkYAAAAO0zRoKq3RKkYG9xepNvb92dudPPUvEz8uAKAmBCMwC1Qq1TRW2pIkXXqMAAAADDWWipHBwcmKPxh4vO3uiR0TAFAzghGYJZoO9BnpKnamt+ip8WgAAACmkbrGpH5u3+NRK0YG9Rg5/vyk0ledrwE7AMweghGYJQ5WjCRFuoodtRwKAADA9HOwauRIPUQGGxyczDshWfjcvsd7NyV7fjc5YwMAppRgBGaJgxUjSdKlzwgAAMBQzQeCkZ59IzdSH9xjpGlRsvSFA89NpwUAs4JgBGaJxspAMNKpzwgAAMBQR9tn5GDFSP3cpL45WXrOwHum0wKAWUEwArNEU7Wt/3FX0V6zcQAAAExLTQM3kw3bZ6QoBnqMNC/q+3P+yQOPn/xZ0tM1aUMEAKaGYARmiabKwN1Pnb2jzJkLAABQNkMqRob5nWn/3qSno+/xwTCkUkmWHKga6e1MnvqXyRsjADAlBCMwSzQOqhjpVDECAAAw1JCKkWGm0up8atDyiwYeD+4z8oTptABgphOMwCzRVNF8HQAAYFhH02OkY1AlSfOg5ZecnVQOXELZds/Ejw0AmFKCEZglGiutSSpJVIwAAAAcZnDQ0THMVFrDVYw0zEvantX3ePejyd4tEz8+AGDKCEZglqhUqgfCERUjAAAAhzma5usdg4KR5kVD3xs8ndZYqkaK4uiXBQCmhGAEZpGD02l1Fe0pit4ajwYAAGAaaWzLwSr7owpGmg4NRtYOPN52lH1GeruT+96fbLv9KAcJAEwFwQjMIo3VvmCkSG+6ip01Hg0AAMA0Uq1PGvuq7Idvvj5Mj5EkaX1G0nig6uTJ+/pCj5EURfKL/zPZfn/yb9cnGz45rmEDABNPMAKzSFOlrf9xlz4jAAAAQx1swN65/chTXI00lValmiw9u+9xz75k+wMjf6+N/yN59NsH1m1I1vzB+MYMAEy4MQcjd955Z175yldm5cqVqVQqufnmm4e8XxRFPvjBD2bFihVpaWnJ+vXr89BDDw1ZZvv27bnsssuyYMGCtLW15a1vfWt27959TD8IMFAxkiSPd34nW7s3ZFfPv6en6KjhqAAAAKaJg31GeruT/XsOf/9gMFLXktTPOfz9JecMPB5pOq2tdye//PTA81Pemax8wdjHCwBMivqxrrBnz56ceeaZectb3pLXvva1h73/sY99LNdee20+//nP56STTsoHPvCBXHDBBfnVr36V5ubmJMlll12WzZs359Zbb013d3fe/OY35+1vf3u+9KUvHftPBCXWVBko9d7UfVs2dd825L2W6orMqVuROdXlmVNdmTnV5WmpLku10lCL4QIAAEytwQ3YO7YnDfOGvn9wKq1Dq0UOWnJ2+vqUFH0N2J/19sOX2fVIct9Hkhzo+3jS65PFLz7GgQMAE2nMwchFF12Uiy666IjvFUWRT37yk3n/+9+fiy++OEnyhS98IcuWLcvNN9+cSy+9NL/+9a9zyy235Cc/+UnOPruvBPVTn/pUXv7yl+fv//7vs3LlymP4caDcljSclX/v/B/pLA5vJNhZbE9nz/a09/zykHcqaa4sORCYDPqqW5HmYv7B1oQAAAAz3+C+IZ3bk/mrB57v7xioImk6pL/IQU2tSdszk/bfJLv+Ldn3RNKyZOD9rh3JPf/7wHaWvzg55c+S3UeoTgEAambMwchINm7cmC1btmT9+vX9r7W2tmbt2rXZsGFDLr300mzYsCFtbW39oUiSrF+/PtVqNXfffXde85rXHLbdzs7OdHZ29j/fuVNTaTiSpurCvGj+p7Kn93fZ27sl+3o2ZW/vluzt3Zy9vZvTfcSG7EU6im3p2L8t2/MvQ96ppD4tcxfmmZ2vzcIsnpofAgAAYLIMDjwObcDeOUJ/kcGWntMXjCTJEz9NVh+4ebS3O/nph5O9m/qeL3hG8vz3JfvdbgYA082EBiNbtmxJkixbtmzI68uWLet/b8uWLVm6dOnQQdTXZ+HChf3LHOqaa67Jhz/84YkcKsxa1UpD5tedmPl1JyaHzJDVXezO3p4t2XcgKOn/6tmcnuw7bFtF9mdv3bZUD90QAADATNR0SMXIYCM1Xh9s6TnJv36h7/G2u/uCkaJIfvGp5KmfHfg+xyXnfCSpb+mrRAEAppUJDUYmy/ve975ceeWV/c937tyZVatW1XBEMDM1VOaltf4Zac0zhrxeFEW6ih3Z17sle3sPVJn0bMq+nr7gZE7vkmG2CAAAMIMM7jFyaDAy+PlwU2klfVNpNSxIuncmT9yb9PYk//715NFv9r1fbUhe+LdJy9LhtwEA1NSEBiPLly9PkmzdujUrVqzof33r1q153vOe17/Mtm3bhqy3f//+bN++vX/9QzU1NaWpqWkihwoMUqlU0lRpS1O1LW05beCNjo4UT2xNKtXaDQ4AAGCiTETFSKUuWXJWsun7fb1E/vULyUP/OPD+mf8lOe5ZEzNeAGBSTOjVzpNOOinLly/Pbbfd1v/azp07c/fdd2fdunVJknXr1qW9vT333ntv/zLf+9730tvbm7Vr107kcIAJUEk1FS3YAQCA2WBwMNJxSI+Row1Gkr7ptA566P9O0tv3+Bn/ITlh/RFXAQCmjzFXjOzevTsPP/xw//ONGzfmZz/7WRYuXJjVq1fn3e9+dz7ykY/k937v93LSSSflAx/4QFauXJlXv/rVSZLTTz89F154Yd72trfl05/+dLq7u3PFFVfk0ksvzcqVKyfsBwMAAAAYonF+X8VH0XOEipEnBx43jRKMLHnh4a8t//3ktLcc+xgBgEk35mDkpz/9af7oj/6o//nB3h9vfOMbc+ONN+av/uqvsmfPnrz97W9Pe3t7XvziF+eWW25Jc3Nz/zr/+I//mCuuuCLnn39+qtVqLrnkklx77bUT8OMAAAAADKNS7esz0vFk0vl0X9P07T9PfntTsvXHA8uNVjHSvDBZ8Ixk54EbRxeckjz/fzMNMQDMEGMORv7wD/8wRVEM+36lUsnf/M3f5G/+5m+GXWbhwoX50pe+NNZvDQAAAHBsBgcjP/zzpP3Boe+3nZbUzx19Oye+Kvn5J5LmpX3N1utbJme8AMCEm9Dm6wAAAADTWn+fkd6hoUjz4uTkS5I1r0wqR9FncfUrkkXP66suEYoAwIwiGAEAAADKo2Xp0OcLnpGc8rpk5R8m1TFcJqlUknknTOjQAICpIRgBAAAAyuPEVyc7/rWvcuSkS5LFzz+6ChEAYNYQjAAAAADlseCk5CXX13oUAEANVWs9AAAAAAAAgKkiGAEAAAAAAEpDMAIAAAAAAJSGYAQAAAAAACgNwQgAAAAAAFAaghEAAAAAAKA0BCMAAAAAAEBpCEYAAAAAAIDSEIwAAAAAAAClIRgBAAAAAABKQzACAAAAAACUhmAEAAAAAAAoDcEIAAAAAABQGoIRAAAAAACgNAQjAAAAAABAaQhGAAAAAACA0hCMAAAAAAAApSEYAQAAAAAASkMwAgAAAAAAlIZgBAAAAAAAKA3BCAAAAAAAUBqCEQAAAAAAoDQEIwAAAAAAQGkIRgAAAAAAgNIQjAAAAAAAAKUhGAEAAAAAAEpDMAIAAAAAAJSGYAQAAAAAACgNwQgAAAAAAFAaghEAAAAAAKA0BCMAAAAAAEBpCEYAAAAAAIDSEIwAAAAAAAClIRgBAAAAAABKQzACAAAAAACUhmAEAAAAAAAoDcEIAAAAAABQGoIRAAAAAACgNAQjAAAAAABAaQhGAAAAAACA0hCMAAAAAAAApSEYAQAAAAAASkMwAgAAAAAAlIZgBAAAAAAAKA3BCAAAAAAAUBqCEQAAAAAAoDQEIwAAAAAAQGkIRgAAAAAAgNIQjAAAAAAAAKUhGAEAAAAAAEpDMAIAAAAAAJSGYAQAAAAAACgNwQgAAAAAAFAaghEAAAAAAKA0BCMAAAAAAEBpCEYAAAAAAIDSEIwAAAAAAAClIRgBAAAAAABKQzACAAAAAACUhmAEAAAAAAAoDcEIAAAAAABQGoIRAAAAAACgNAQjAAAAAABAaQhGAAAAAACA0hCMAAAAAAAApSEYAQAAAAAASkMwAgAAAAAAlIZgBAAAAAAAKA3BCAAAAAAAUBqCEQAAAAAAoDQEIwAAAAAAQGkIRgAAAAAAgNIQjAAAAAAAAKUhGAEAAAAAAEpDMAIAAAAAAJSGYAQAAAAAACgNwQgAAAAAAFAaghEAAAAAAKA0BCMAAAAAAEBpCEYAAAAAAIDSmPBg5EMf+lAqlcqQr9NOO63//Y6Ojlx++eVZtGhR5s2bl0suuSRbt26d6GEAAAAAAAAcZlIqRp797Gdn8+bN/V8//OEP+997z3vek2984xu56aabcscdd2TTpk157WtfOxnDAAAAAAAAGKJ+UjZaX5/ly5cf9vqOHTtyww035Etf+lLOO++8JMnnPve5nH766bnrrrty7rnnTsZwAAAAAAAAkkxSxchDDz2UlStX5uSTT85ll12WRx99NEly7733pru7O+vXr+9f9rTTTsvq1auzYcOGYbfX2dmZnTt3DvkCAAAAAAAYqwkPRtauXZsbb7wxt9xyS66//vps3LgxL3nJS7Jr165s2bIljY2NaWtrG7LOsmXLsmXLlmG3ec0116S1tbX/a9WqVRM9bAAAAAAAoAQmfCqtiy66qP/xGWeckbVr12bNmjX5yle+kpaWlnFt833ve1+uvPLK/uc7d+4UjgAAAAAAAGM2KVNpDdbW1pZTTz01Dz/8cJYvX56urq60t7cPWWbr1q1H7ElyUFNTUxYsWDDkCwAAAAAAYKwmPRjZvXt3fvvb32bFihU566yz0tDQkNtuu63//QcffDCPPvpo1q1bN9lDAQAAAAAASm7Cp9J673vfm1e+8pVZs2ZNNm3alKuvvjp1dXV5wxvekNbW1rz1rW/NlVdemYULF2bBggX5z//5P2fdunU599xzJ3ooAAAAAAAAQ0x4MPL444/nDW94Q5566qksWbIkL37xi3PXXXdlyZIlSZJ/+Id/SLVazSWXXJLOzs5ccMEF+W//7b9N9DAAAAAAAAAOM+HByJe//OUR329ubs51112X6667bqK/NQAAAAAAwIgmvccIAAAAAADAdCEYAQAAAAAASkMwAgAAAAAAlIZgBAAAAAAAKA3BCAAAAAAAUBqCEQAAAAAAoDQEIwAAAAAAQGkIRgAAAAAAgNIQjAAAAAAAAKUhGAEAAAAAAEpDMAIAAAAAAJSGYAQAAAAAACgNwQgAAAAAAFAaghEAAAAAAKA0BCMAAAAAAEBpCEYAAAAAAIDSEIwAAAAAAAClIRgBAAAAAABKQzACAAAAAACUhmAEAAAAAAAoDcEIAAAAAABQGoIRAAAAAACgNAQjAAAAAABAaQhGAAAAAACA0hCMAAAAAAAApSEYAQAAAAAASkMwAgAAAAAAlIZgBAAAAAAAKA3BCAAAAAAAUBqCEQAAAAAAoDQEIwAAAAAAQGkIRgAAAAAAgNIQjAAAAAAAAKUhGAEAAAAAAEpDMAIAAAAAAJSGYAQAAAAAACgNwQgAAAAAAFAaghEAAAAAAKA0BCMAAAAAAEBpCEYAAAAAAIDSEIwAAAAAAAClIRgBAAAAAABKQzACAAAAAACUhmAEAAAAAAAoDcEIAAAAAABQGoIRAAAAAACgNAQjAAAAAABAaQhGAAAAAACA0hCMAAAAAAAApSEYAQAAAAAASkMwAgAAAAAAlIZgBAAAAAAAKA3BCAAAAAAAUBqCEQAAAAAAoDQEIwAAAAAAQGkIRgAAAAAAgNIQjAAAAAAAAKUhGAEAAAAAAEpDMAIAAAAAAJSGYAQAAAAAACgNwQgAAAAAAFAaghEAAAAAAKA0BCMAAAAAAEBpCEYAAAAAAIDSEIwAAAAAAAClIRgBAAAAAABKQzACAAAAAACUhmAEAAAAAAAoDcEIAAAAAABQGoIRAAAAAACgNAQjAAAAAABAaQhGAAAAAACA0hCMAAAAAAAApSEYAQAAAAAASkMwAgAAAAAAlIZgBAAAAAAAKA3BCAAAAAAAUBqCEQAAAAAAoDQEIwAAAAAAQGkIRgAAAAAAgNIQjAAAAAAAAKUhGAEAAAAAAEpDMAIAAAAAAJSGYAQAAAAAACiNmgYj1113XU488cQ0Nzdn7dq1ueeee2o5HAAAAAAAYJarWTDyz//8z7nyyitz9dVX57777suZZ56ZCy64INu2bavVkAAAAAAAgFmuZsHIJz7xibztbW/Lm9/85jzrWc/Kpz/96cyZMyef/exnazUkAAAAAABglquvxTft6urKvffem/e97339r1Wr1axfvz4bNmw4bPnOzs50dnb2P9+5c+eUjJNy+eJX/zF72tuTf3sgqYwzMyx6k86uzN38b/nTt1w+oeOrlZfNXZEnqnVJVzXpriRFS9LYnCUPPJL/ec7po67/yv/+0zzxVE9S3ZFUBv7vfq73fVmU9lR/cEMWN0+zdkdF0fe18YTkXT+o9WgAIEmy9a769O45N7mzIanuS3obkq5zU72rPssurPXoppeNH/1o9j/5ZPLNbyWVytA3iyLp6kz9nXfmpGuuqc0AS+oz99+f3fv3J3ffnVSPcP7X25vs359599+fd/zRH039AAGGMSHXC8arKJKiN3O//+386UevndrvDTCL1SQYefLJJ9PT05Nly5YNeX3ZsmX5zW9+c9jy11xzTT784Q9P1fAoqT379mb3/q5kf9exb2zf3mPfxjTxRLUum6sHDhVFklSSSpKunqNbf3dXtnQdXLnof72taUeWVp7ue9IxceOdUHuaaj0CAOjX21VJT9GUdCZ9n6mVJE1JVzHyiiW0f+eu7N+7L9m7b/iFdu6augGRJNnd1ZVdSdI1yvn2aO8DTLEJvV4wXjvaa/e9AWahmgQjY/W+970vV155Zf/znTt3ZtWqVTUcEbPR3JY5SWdX0tR47BUjLXMmdnA1tKT3QABSrfbdcXmgmmJJ49GFBkvmNSadnUm1MuSOzfbe1tQVRaqVyvStGJm7pNYjAYB+1cai74JxY2Pf53Jvb9LVlWpjQ62HNu3UL5ifdHUmjU3DV4wsmF+bwZXYvMbGofvwoQ7s0/MaG6d+cAAjmJDrBeN1sGKktW1qvy/ALFeTYGTx4sWpq6vL1q1bh7y+devWLF++/LDlm5qa0tTkzm0m15++9rJkw4Zk3bqkrW18G2lvH9jGLPE/92zuu6CweHHS3Jx0dCS7diXP+YOjWv8bbzs7ufPOZP78vvUPav+vx/73PVkO/ox/cHQ/IwBMhWXn7k823DXw2dne3vf83Nlz3jFRTrrqquHPM2bh+dpM8Y7nP7/v737t2iOf/x38t3n+86d6aAAjmpDrBePl91OASVGT27QbGxtz1lln5bbbbut/rbe3N7fddlvW+QUFAAAAAACYJDWbSuvKK6/MG9/4xpx99tk555xz8slPfjJ79uzJm9/85loNCQAAAAAAmOVqFoy8/vWvzxNPPJEPfvCD2bJlS573vOfllltuOawhOwAAAAAAwESpafP1K664IldccUUthwAAAAAAAJRITXqMAAAAAAAA1IJgBAAAAAAAKA3BCAAAAAAAUBqCEQAAAAAAoDQEIwAAAAAAQGkIRgAAAAAAgNIQjAAAAAAAAKUhGAEAAAAAAEpDMAIAAAAAAJSGYAQAAAAAACgNwQgAAAAAAFAaghEAAAAAAKA0BCMAAAAAAEBp1Nd6AONRFEWSZOfOnTUeyTS0d2+yZ0/S3Z00NU3cdnfuTDo6kvb2pKdn4pefynUmc1tHs41a/5xj0dnZt09VKsn27X37VGdn0tXVN6b9+0ffxnD7ZK1+pqMx1p9xMozn//JU/D+diHUnY1uTuT8Nt+2j/Z612ten+vuO9P0m4rh3pG2M95g72nqT9Xc3nY97RzLasXAsx/da/B+d7ibr/8VUjWW49Ytiao+N4zlGT8U+Mx3OJSbSWM5LjuXvfqz7+Hj/Lafbecxo2zvW/Xki/49P1d/XRPzbT6fPh9l2TDhovNcfxvJvM13+HWs5jpH2n4k4Pk/W+cVoJvrYNFXnRdPl/Gsiv+dEnjdNxd/PVF9DmC7HoUPN1s+WY3QwLziYH4xkRgYju3btSpKsWrWqxiMBAAAAAACmi127dqW1tXXEZSrF0cQn00xvb282bdqU+fPnp1Kp1Ho4w9q5c2dWrVqVxx57LAsWLKj1cOCY2J+ZTezPzBb2ZWYT+zOzif2Z2cK+zGxif2Y2sT8fWVEU2bVrV1auXJlqdeQuIjOyYqRareaEE06o9TCO2oIFC+ygzBr2Z2YT+zOzhX2Z2cT+zGxif2a2sC8zm9ifmU3sz4cbrVLkIM3XAQAAAACA0hCMAAAAAAAApSEYmURNTU25+uqr09TUVOuhwDGzPzOb2J+ZLezLzCb2Z2YT+zOzhX2Z2cT+zGxifz52M7L5OgAAAAAAwHioGAEAAAAAAEpDMAIAAAAAAJSGYAQAAAAAACgNwQgAAAAAAFAaghEAAAAAAKA0BCPH6LrrrsuJJ56Y5ubmrF27Nvfcc8+Iy99000057bTT0tzcnOc+97n59re/PUUjheFdc801eeELX5j58+dn6dKlefWrX50HH3xwxHVuvPHGVCqVIV/Nzc1TNGIY3oc+9KHD9s3TTjttxHUcm5mOTjzxxMP25Uqlkssvv/yIyzsuM53ceeedeeUrX5mVK1emUqnk5ptvHvJ+URT54Ac/mBUrVqSlpSXr16/PQw89NOp2x3ruDRNhpP25u7s7V111VZ773Odm7ty5WblyZf7jf/yP2bRp04jbHM/5Chyr0Y7Nb3rTmw7bLy+88MJRt+vYTC2Mtj8f6Ty6Uqnk4x//+LDbdGymFo7mmlxHR0cuv/zyLFq0KPPmzcsll1ySrVu3jrjd8Z5vl4lg5Bj88z//c6688spcffXVue+++3LmmWfmggsuyLZt2464/I9//OO84Q1vyFvf+tbcf//9efWrX51Xv/rVeeCBB6Z45DDUHXfckcsvvzx33XVXbr311nR3d+dlL3tZ9uzZM+J6CxYsyObNm/u/HnnkkSkaMYzs2c9+9pB984c//OGwyzo2M1395Cc/GbIf33rrrUmSP/mTPxl2Hcdlpos9e/bkzDPPzHXXXXfE9z/2sY/l2muvzac//encfffdmTt3bi644IJ0dHQMu82xnnvDRBlpf967d2/uu+++fOADH8h9992Xr371q3nwwQfzqle9atTtjuV8BSbCaMfmJLnwwguH7Jf/9E//NOI2HZupldH258H78ebNm/PZz342lUoll1xyyYjbdWxmqh3NNbn3vOc9+cY3vpGbbropd9xxRzZt2pTXvva1I253POfbpVMwbuecc05x+eWX9z/v6ekpVq5cWVxzzTVHXP51r3td8YpXvGLIa2vXri3e8Y53TOo4Yay2bdtWJCnuuOOOYZf53Oc+V7S2tk7doOAoXX311cWZZ5551Ms7NjNT/MVf/EVxyimnFL29vUd833GZ6SpJ8bWvfa3/eW9vb7F8+fLi4x//eP9r7e3tRVNTU/FP//RPw25nrOfeMBkO3Z+P5J577imSFI888siwy4z1fAUm2pH25Te+8Y3FxRdfPKbtODYzHRzNsfniiy8uzjvvvBGXcWxmOjj0mlx7e3vR0NBQ3HTTTf3L/PrXvy6SFBs2bDjiNsZ7vl02KkbGqaurK/fee2/Wr1/f/1q1Ws369euzYcOGI66zYcOGIcsnyQUXXDDs8lArO3bsSJIsXLhwxOV2796dNWvWZNWqVbn44ovzy1/+ciqGB6N66KGHsnLlypx88sm57LLL8uijjw67rGMzM0FXV1e++MUv5i1veUsqlcqwyzkuMxNs3LgxW7ZsGXLsbW1tzdq1a4c99o7n3BtqZceOHalUKmlraxtxubGcr8BUuf3227N06dI885nPzLve9a489dRTwy7r2MxMsXXr1nzrW9/KW9/61lGXdWym1g69Jnfvvfemu7t7yLH2tNNOy+rVq4c91o7nfLuMBCPj9OSTT6anpyfLli0b8vqyZcuyZcuWI66zZcuWMS0PtdDb25t3v/vd+f3f//085znPGXa5Zz7zmfnsZz+br3/96/niF7+Y3t7evOhFL8rjjz8+haOFw61duzY33nhjbrnlllx//fXZuHFjXvKSl2TXrl1HXN6xmZng5ptvTnt7e970pjcNu4zjMjPFwePrWI694zn3hlro6OjIVVddlTe84Q1ZsGDBsMuN9XwFpsKFF16YL3zhC7ntttvy0Y9+NHfccUcuuuii9PT0HHF5x2Zmis9//vOZP3/+qFMPOTZTa0e6Jrdly5Y0NjYedsPFaNegDy5ztOuUUX2tBwBML5dffnkeeOCBUefRXLduXdatW9f//EUvelFOP/30fOYzn8nf/u3fTvYwYVgXXXRR/+Mzzjgja9euzZo1a/KVr3zlqO4QgunohhtuyEUXXZSVK1cOu4zjMkBtdXd353Wve12Kosj1118/4rLOV5iOLr300v7Hz33uc3PGGWfklFNOye23357zzz+/hiODY/PZz342l112WZqbm0dczrGZWjvaa3JMDBUj47R48eLU1dVl69atQ17funVrli9ffsR1li9fPqblYapdccUV+eY3v5nvf//7OeGEE8a0bkNDQ57//Ofn4YcfnqTRwfi0tbXl1FNPHXbfdGxmunvkkUfy3e9+N//pP/2nMa3nuMx0dfD4OpZj73jOvWEqHQxFHnnkkdx6660jVoscyWjnK1ALJ598chYvXjzsfunYzEzwgx/8IA8++OCYz6UTx2am1nDX5JYvX56urq60t7cPWX60a9AHlznadcpIMDJOjY2NOeuss3Lbbbf1v9bb25vbbrttyN2ag61bt27I8kly6623Drs8TJWiKHLFFVfka1/7Wr73ve/lpJNOGvM2enp68otf/CIrVqyYhBHC+O3evTu//e1vh903HZuZ7j73uc9l6dKlecUrXjGm9RyXma5OOumkLF++fMixd+fOnbn77ruHPfaO59wbpsrBUOShhx7Kd7/73SxatGjM2xjtfAVq4fHHH89TTz017H7p2MxMcMMNN+Sss87KmWeeOeZ1HZuZCqNdkzvrrLPS0NAw5Fj74IMP5tFHHx32WDue8+1SqnHz9xnty1/+ctHU1FTceOONxa9+9avi7W9/e9HW1lZs2bKlKIqi+LM/+7Pir//6r/uX/9GPflTU19cXf//3f1/8+te/Lq6++uqioaGh+MUvflGrHwGKoiiKd73rXUVra2tx++23F5s3b+7/2rt3b/8yh+7PH/7wh4vvfOc7xW9/+9vi3nvvLS699NKiubm5+OUvf1mLHwH6/eVf/mVx++23Fxs3bix+9KMfFevXry8WL15cbNu2rSgKx2Zmlp6enmL16tXFVVddddh7jstMZ7t27Sruv//+4v777y+SFJ/4xCeK+++/v3jkkUeKoiiKv/u7vyva2tqKr3/968XPf/7z4uKLLy5OOumkYt++ff3bOO+884pPfepT/c9HO/eGyTLS/tzV1VW86lWvKk444YTiZz/72ZBz6c7Ozv5tHLo/j3a+ApNhpH15165dxXvf+95iw4YNxcaNG4vvfve7xQte8ILi937v94qOjo7+bTg2M12Mdq5RFEWxY8eOYs6cOcX1119/xG04NjMdHM01uXe+853F6tWri+9973vFT3/602LdunXFunXrhmznmc98ZvHVr361//nRnG+XnWDkGH3qU58qVq9eXTQ2NhbnnHNOcdddd/W/99KXvrR44xvfOGT5r3zlK8Wpp55aNDY2Fs9+9rOLb33rW1M8YjhckiN+fe5zn+tf5tD9+d3vfnf/vr9s2bLi5S9/eXHfffdN/eDhEK9//euLFStWFI2NjcXxxx9fvP71ry8efvjh/vcdm5lJvvOd7xRJigcffPCw9xyXmc6+//3vH/Hc4uA+29vbW3zgAx8oli1bVjQ1NRXnn3/+Yfv5mjVriquvvnrIayOde8NkGWl/3rhx47Dn0t///vf7t3Ho/jza+QpMhpH25b179xYve9nLiiVLlhQNDQ3FmjVrire97W2HBRyOzUwXo51rFEVRfOYznylaWlqK9vb2I27DsZnp4Giuye3bt6/48z//8+K4444r5syZU7zmNa8pNm/efNh2Bq9zNOfbZVcpiqKYnFoUAAAAAACA6UWPEQAAAAAAoDQEIwAAAAAAQGkIRgAAAAAAgNIQjAAAAAAAAKUhGAEAAAAAAEpDMAIAAAAAAJSGYAQAAAAAACgNwQgAAAAAAFAaghEAAAAAAKA0BCMAAAAAAEBpCEYAAAAAAIDS+P8BsXCIet37YzIAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "analysis = transcribe.FundamentalAnalysisMonophonic(s0.samples, \n", " sr=s0.sr, \n", " # Quantize the pitch to its nearest 1/8th tone\n", " semitoneQuantization=4, \n", " minSilence=0.001, \n", " # Mark which are the most salient onsets\n", " accentPercentile=0.1, \n", " # Simplify the pitch contour\n", " simplify=0.08, \n", " # Default: 0.07, lower for more onset sensitivity\n", " onsetThreshold=0.05, \n", " # Unvoiced utterances softer than this are not taken into \n", " # consideration since they are often oart of the\n", " # background noise\n", " unvoicedMinAmplitudePercentile=0.3,\n", " overlap=16,\n", " onsetOverlap=8, \n", " onsetBacktrack=True)\n", "plt.figure(figsize=(20, 6))\n", "analysis.plot(spanAlpha=0.2)\n" ] }, { "cell_type": "markdown", "id": "15412b00-16eb-45c1-a894-6f09f888da03", "metadata": {}, "source": [ "The analysis contains a series of breakpoints.These breakpoints are grouped by onset/offset region and stored in the `.groups` attribute within the analysis. A group contains all the breakpoints between an onset and the next onset. Notice that a group can have an offset or not. A group without an offset indicates that there is no interruption between the end of one group and the start of the next. Keep in mind that onset prediction is performed based on spectral flow: an onset indicates a significant change of spectrum within a given period of time. " ] }, { "cell_type": "code", "execution_count": 27, "id": "7bbba6b8-0cc6-4197-ab52-8ea3c87339ed", "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
time freq ampvoiced linked onsetStrength freqConfidencekind isaccent durationproperties
0.3947154.03020.0012False True 0.3751 0.0000onset False 0.3135
0.7082151.82190.1181False False 8.0438 0.0000 False 0.0000
0.7082172.89300.1181False True 8.0438 0.0000onset True 0.1625
0.8707139.22130.1047False False 2.4267 0.0000 False 0.0000
0.8707167.97110.1047False True 2.4267 0.0000onset True 0.1258
0.9966175.40780.0946True True 0.4189 0.6834 False 0.0599
1.0565163.18930.1097True False 0.8343 0.7343 False 0.0000
1.0565163.18930.1097True True 0.8343 0.7343onset False 0.1858
1.2423165.56290.1000True False 1.1559 0.5815 False 0.0000
1.2423165.56290.1000True True 1.1559 0.5815onset True 0.2612
1.5035167.97110.0013False False 1.7849 0.0000 False 0.0000
1.5035 0.00000.0013False True 1.7849 0.0000onset True 0.2322
1.7357 0.00000.0239False False 0.3449 0.0000 False 0.0000
1.7357147.49980.0239False True 0.3449 0.0000onset False 0.1078
1.8434129.52340.0856True True 0.3591 1.0000 False 0.0200
1.8634158.54360.0683True False 4.5178 0.0176 False 0.0000
1.8634158.54360.0683True True 4.5178 0.0176onset True 0.1858
2.0492156.27060.0302False False 3.3984 0.0000 False 0.0000
2.0492129.52340.0302False True 3.3984 0.0000onset True 0.0734
2.1226129.52340.0288True True 0.6460 0.0413 False 0.0734
2.1960101.32890.0152True True 0.3784 0.4973 False 0.2618
2.4578 99.87620.0009False False 0.8554 0.0000offsetFalse 0.0093
2.4671 0.00000.0009False True 0.5128 0.0000onset False 0.0619
2.5290 0.00000.0012False False 0.2495 0.0000offsetFalse 0.1645
2.6935 0.00000.0014False True 1.2353 0.0000onset True 0.0871
2.7806 0.00000.0013False False 1.8610 0.0000 False 0.0000
2.7806 0.00000.0013False True 1.8610 0.0000onset True 0.5367
3.3173 0.00000.0011False False 0.2848 0.0000offsetFalse 0.4675
3.7849165.56290.0921False True 3.2361 0.0000onset True 0.1741
3.9590131.40740.1086False False 3.1797 0.0000 False 0.0000
3.9590165.56290.1086False True 3.1797 0.0000onset True 0.1683
4.1273172.89300.1093True False 0.4700 0.5129 False 0.0000
4.1273172.89300.1093True True 0.4700 0.5129onset False 0.2090
4.3363165.56290.0966True False 1.3259 0.5701 False 0.0000
4.3363165.56290.0966True True 1.3259 0.5701onset True 0.0578
4.3941177.95920.0943True True 0.7116 0.4555 False 0.2151
4.6092172.89300.0084True False 0.5496 0.7848 False 0.0000
4.6092172.89300.0084True True 0.5496 0.7848onset False 0.0397
4.6489147.49980.0027True True 0.4243 0.3823 False 0.1847
4.8336147.49980.0476False True 1.1359 0.0202 False 0.0020
4.8356158.54360.0479True False 1.1429 0.0639 False 0.0000
4.8356158.54360.0479True True 1.1429 0.0639onset True 0.0773
4.9129149.64520.1306True True 1.2890 0.5596 False 0.0754
4.9883172.89300.0893True True 0.9242 0.6797 False 0.1666
5.1548137.22530.0983False False 2.9877 0.0111 False 0.0000
5.1548160.84970.0983False True 2.9877 0.0111onset True 0.0813
5.2361163.18930.0440True False 2.0383 0.6287 False 0.0000
5.2361163.18930.0440True True 2.0383 0.6287onset True 0.1509
5.3870156.27060.1171False False 0.8719 0.0000 False 0.0000
5.3870194.06590.1171False True 0.8719 0.0000onset False 0.0773
5.4643191.28360.0657True True 0.5144 0.4880 False 0.1486
5.6129156.27060.0161True True 0.5846 0.1090 False 0.1863
5.7992156.27060.0653False False 2.8919 0.0000 False 0.0000
5.7992163.18930.0653False True 2.8919 0.0000onset True 0.1270
5.9262145.38510.0830True True 0.7192 0.5901 False 0.0933
6.0194167.97110.0631True True 0.6940 0.5892 False 0.1687
6.1881158.54360.0177True False 0.5140 0.6107 False 0.0000
6.1881158.54360.0177True True 0.5140 0.6107onset False 0.1045
6.2926131.40740.0800True False 1.9536 0.5357 False 0.0000
6.2926131.40740.0800True True 1.9536 0.5357onset True 0.0300
6.3226154.03020.0846True True 2.6586 0.0401 False 0.1500
6.4726160.84970.0449True False 2.0648 0.5671 False 0.0000
6.4726160.84970.0449True True 2.0648 0.5671onset True 0.0464
6.5190154.03020.0336True False 1.4298 0.6445 False 0.0000
6.5190154.03020.0336True True 1.4298 0.6445onset True 0.0697
6.5887141.24630.1048False False 1.0312 0.0000 False 0.0000
6.5887160.84970.1048False True 1.0312 0.0000onset True 0.1335
6.7222170.41430.0606True False 0.1587 0.6729 False 0.0000
6.7222170.41430.0606True True 0.1587 0.6729onset False 0.0639
6.7860158.54360.0633True False 1.7349 0.0800 False 0.0000
6.7860158.54360.0633True True 1.7349 0.0800onset True 0.1103
6.8963135.25790.0863False False 2.6376 0.0000 False 0.0000
6.8963147.49980.0863False True 2.6376 0.0000onset True 0.1330
7.0293163.18930.0878True True 0.5457 0.7880 False 0.1548
7.1841205.60560.0134True True 0.4116 0.4224 False 0.0198
7.2040191.28360.0076True False 1.0103 0.5191 False 0.0000
7.2040191.28360.0076True True 1.0103 0.5191onset False 0.6162
7.8202191.28360.0010False False 0.4973 0.0000offsetFalse 0.1094
7.9296158.54360.0230False True 1.5386 0.0000onset True 0.0755
8.0051156.27060.0193True False 0.4818 0.5666 False 0.0000
8.0051156.27060.0193True True 0.4818 0.5666onset False 0.0813
8.0863131.40740.1218False False 5.3221 0.0000 False 0.0000
8.0863163.18930.1218False True 5.3221 0.0000onset True 0.1706
8.2570143.30080.1423False True 1.2315 0.0079 False 0.0357
8.2927172.89300.1197True True 0.7477 0.5757 False 0.1071
8.3998170.41430.1363True False 0.7505 0.7437 False 0.0000
8.3998170.41430.1363True True 0.7505 0.7437onset False 0.1804
8.5802158.54360.0878True True 0.2578 0.5662 False 0.0892
8.6695183.17380.0902True True 0.4079 0.4511 False 0.1150
8.7844191.28360.0552True True 0.4193 0.4455 False 0.2201
9.0045183.17380.0313False True 1.0990 0.0116 False 0.0397
9.0442160.84970.0272True False 2.2514 0.4280 False 0.0000
9.0442160.84970.0272True True 2.2514 0.4280onset True 0.0900
9.1341139.22130.0744False True 1.1895 0.0158 False 0.0180
9.1521160.84970.0583True True 0.7970 0.0981 False 0.0720
9.2241141.24630.0113False False 1.6149 0.0919 False 0.0000
9.2241 0.00000.0113False True 1.6149 0.0919onset True 0.0580
9.2822 0.00000.0639False False 1.9128 0.0000 False 0.0000
9.2822167.97110.0639False True 1.9128 0.0000onset True 0.1189
9.4011158.54360.1219True True 0.4153 0.6361 False 0.1249
9.5260165.56290.0869True False 2.7008 0.0919 False 0.0000
9.5260165.56290.0869True True 2.7008 0.0919onset True 0.1053
9.6313194.06590.0198True True 0.5172 0.5055 False 0.1153
9.7466194.06590.0744False False 5.5841 0.0000 False 0.0000
9.7466177.95920.0744False True 5.5841 0.0000onset True 0.0522
9.7988175.40780.1098True False 1.5366 0.1470 False 0.0000
9.7988175.40780.1098True True 1.5366 0.1470onset True 0.1335
9.9323160.84970.0660True False 0.9682 0.6589 False 0.0000
9.9323160.84970.0660True True 0.9682 0.6589onset False 0.0614
9.9938145.38510.0477True True 0.2198 0.5126 False 0.1824
10.1761139.22130.0071True False 1.6309 0.5569 False 0.0000
10.1761139.22130.0071True True 1.6309 0.5569onset True 0.0871
10.2632133.31880.0062False False 3.5289 0.0000 False 0.0000
10.2632 0.00000.0062False True 3.5289 0.0000onset True 0.0987
10.3619 0.00000.0865False False 4.7550 0.0000 False 0.0000
10.3619175.40780.0865False True 4.7550 0.0000onset True 0.0417
10.4036165.56290.0888True True 1.4461 0.4936 False 0.1211
10.5247194.06590.0080True True 0.3207 0.5469 False 0.1926
10.7173185.83810.0010False False 0.2314 0.0000offsetFalse 0.7186
11.4358133.31880.0926True True 3.4477 0.2550onset True 0.0302
11.4660158.54360.1021True True 0.4259 0.4335 False 0.1207
11.5868160.84970.0963True False 2.0686 0.5882 False 0.0000
11.5868160.84970.0963True True 2.0686 0.5882onset True 0.0929
11.6796158.54360.0520False False 2.1780 0.0875 False 0.0000
11.6796 0.00000.0520False True 2.1780 0.0875onset True 0.1219
11.8015 0.00000.1026False False 0.7592 0.0000 False 0.0000
11.8015194.06590.1026False True 0.7592 0.0000onset False 0.0464
11.8480188.54120.0543True False 1.4402 0.2057 False 0.0000
11.8480188.54120.0543True True 1.4402 0.2057onset True 0.0481
11.8961185.83810.0345True True 0.6462 0.6121 False 0.0622
11.9583139.22130.0656True False 4.2064 0.0282 False 0.0000
11.9583139.22130.0656True True 4.2064 0.0282onset True 0.0100
11.9682158.54360.0712True True 3.3945 0.0100 False 0.1115
12.0798165.56290.0401True True 1.2763 0.6301 False 0.0817
12.1615151.82190.1227False False 2.8366 0.0000 False 0.0000
12.1615167.97110.1227False True 2.8366 0.0000onset True 0.2612
12.4227170.41430.0518False False 6.2205 0.0000 False 0.0000
12.4227156.27060.0518False True 6.2205 0.0000onset True 0.2089
12.6315143.30080.0479True True 0.7659 0.0206 False 0.0756
12.7071147.49980.0423True False 1.3421 0.5800 False 0.0000
12.7071147.49980.0423True True 1.3421 0.5800onset True 0.0639
12.7710135.25790.0285True False 1.4383 0.4920 False 0.0000
12.7710135.25790.0285True True 1.4383 0.4920onset True 0.0987
12.8697129.52340.0680False False 1.3549 0.0000 False 0.0000
12.8697172.89300.0680False True 1.3549 0.0000onset True 0.1277
12.9974133.31880.0859True False 0.1963 0.2329 False 0.0000
12.9974133.31880.0859True True 0.1963 0.2329onset False 0.0378
13.0351154.03020.0821True True 2.0038 0.0100 False 0.1828
13.2180137.22530.0111True False 0.8560 0.1032 False 0.0000
13.2180137.22530.0111True True 0.8560 0.1032onset False 0.0678
13.2858120.50110.0029True True 0.5886 0.0913 False 0.1934
13.4792131.40740.0567False False 4.6962 0.0000 False 0.0000
13.4792163.18930.0567False True 4.6962 0.0000onset True 0.1393
13.6185156.27060.0226False False 4.8705 0.0000 False 0.0000
13.6185151.82190.0226False True 4.8705 0.0000onset True 0.1103
13.7288131.40740.0329False False 1.9961 0.0000 False 0.0000
13.7288139.22130.0329False True 1.9961 0.0000onset True 0.1277
13.8565139.22130.0307True False 1.2858 0.0101 False 0.0000
13.8565139.22130.0307True True 1.2858 0.0101onset True 0.1071
13.9636 95.64180.0137True True 0.2511 0.2286 False 0.0813
14.0449 97.03290.0295True True 0.2771 0.1815 False 0.0436
14.0885113.73790.0256True True 0.7078 0.6753 False 0.1249
14.2134 97.03290.0040True True 0.3597 0.7748 False 0.1269
14.3404102.80280.0014False False 0.1906 0.0000offsetFalse 0.7526
15.0930160.84970.0485False True 0.9308 0.0000onset False 0.1954
15.2883145.38510.0756False True 3.0332 0.0031 False 0.0020
15.2903163.18930.0754True False 2.2525 0.0100 False 0.0000
15.2903163.18930.0754True True 2.2525 0.0100onset True 0.1451
15.4355141.24630.1522False False 4.3779 0.0000 False 0.0000
15.4355199.75240.1522False True 4.3779 0.0000onset True 0.0773
15.5128202.65790.0811True True 0.4225 0.4576 False 0.1229
15.6357154.03020.0699True True 0.4427 0.5781 False 0.1566
15.7924194.06590.0038True True 0.3769 0.6508 False 0.1249
15.9173180.54770.0014False False 2.4315 0.0000 False 0.0000
15.9173 0.00000.0014False True 2.4315 0.0000onset True 0.4228
16.3401 0.00000.0010False False 0.1324 0.0000offsetFalse 0.1055
16.4455158.54360.1093False True 3.4108 0.0000onset True 0.0986
16.5441147.49980.1001True True 0.6687 0.4285 False 0.0523
16.5965163.18930.1416True False 1.9066 0.7165 False 0.0000
16.5965163.18930.1416True True 1.9066 0.7165onset True 0.0871
16.6835205.60560.0257True False 1.5198 0.5117 False 0.0000
16.6835205.60560.0257True True 1.5198 0.5117onset True 0.0580
16.7416205.60560.0482True False 0.1604 0.4567 False 0.0000
16.7416205.60560.0482True True 0.1604 0.4567onset False 0.3541
17.0957205.60560.1146False False 3.0281 0.0115 False 0.0000
17.0957165.56290.1146False True 3.0281 0.0115onset True 0.0834
17.1791154.03020.0881True True 0.1235 0.7391 False 0.1430
17.3221160.84970.0149True False 2.7342 0.6961 False 0.0000
17.3221160.84970.0149True True 2.7342 0.6961onset True 0.0580
17.3801170.41430.0397True False 1.8166 0.2023 False 0.0000
17.3801170.41430.0397True True 1.8166 0.2023onset True 0.2496
17.6298170.41430.0433False False 2.7046 0.0000 False 0.0000
17.6298167.97110.0433False True 2.7046 0.0000onset True 0.1103
17.7400163.18930.0909True False 1.9407 0.0721 False 0.0000
17.7400163.18930.0909True True 1.9407 0.0721onset True 0.1031
17.8431149.64520.0154True True 0.4730 0.6143 False 0.1388
17.9819149.64520.0974False True 3.2106 0.0032 False 0.0020
17.9839170.41430.0981True False 2.3812 0.0100 False 0.0000
17.9839170.41430.0981True True 2.3812 0.0100onset True 0.2557
18.2396175.40780.0690True True 0.3838 0.5010 False 0.1506
18.3902151.82190.0324True False 1.4884 0.8043 False 0.0000
18.3902151.82190.0324True True 1.4884 0.8043onset True 0.0813
18.4715151.82190.0676True False 0.6535 0.1022 False 0.0000
18.4715151.82190.0676True True 0.6535 0.1022onset False 0.0987
18.5702156.27060.0422True False 2.0092 0.6058 False 0.0000
18.5702156.27060.0422True True 2.0092 0.6058onset True 0.1741
18.7443158.54360.0527True False 1.2417 0.4150 False 0.0000
18.7443158.54360.0527True True 1.2417 0.4150onset True 0.1378
18.8821151.82190.0496False True 0.9473 0.0047 False 0.0020
18.8841221.00000.0457True True 1.0064 0.0100 False 0.1098
18.9939208.59620.0078False False 5.7084 0.0000 False 0.0000
18.9939205.60560.0078False True 5.7084 0.0000onset True 0.0929
19.0868208.59620.0637False False 4.8244 0.0000 False 0.0000
19.0868160.84970.0637False True 4.8244 0.0000onset True 0.1191
19.2059133.31880.0469True True 0.3761 0.3766 False 0.1131
19.3190133.31880.0499True False 0.5350 0.5701 False 0.0000
19.3190133.31880.0499True True 0.5350 0.5701onset False 0.1509
19.4699131.40740.0480True False 1.8313 0.3762 False 0.0000
19.4699131.40740.0480True True 1.8313 0.3762onset True 0.1404
19.6104125.83610.0730True True 0.3846 0.0949 False 0.1068
19.7172183.17380.0180True True 0.5501 0.4861 False 0.2828
20.0000194.06590.0011False False 0.4973 0.0000 False 0.0000
" ], "text/plain": [ "" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "analysis" ] }, { "cell_type": "markdown", "id": "70aa7aba-7c6d-4fda-a38d-a44b371e2e7d", "metadata": {}, "source": [ "The transcription itself transforms each group of breakpoints into a series of notes. By default groups are enclosed within slurs and accents mark particularly salient onsets. A 'x' notehead indicates that at the given moment the sound was noisy / unpitched." ] }, { "cell_type": "code", "execution_count": 56, "id": "7b42dc35-ff3d-4203-b454-8b53d797ee02", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "[maelzel.scoring:notation.py:536:addSpanner:WARNING] A Notation cannot be assigned both start and end of a spanner. Removing the partner spannerself=«3D+ 1.625:1.75 1/8♩ noteheads=['0:cross'] attachments=[Articulation(kind=accent)] spanners=[Slur(kind=start, linetype=solid, nestingLevel=1, uuid=rdmciucp)]», spanner=Slur(kind=end, linetype=solid, nestingLevel=1, uuid=rdmciucp), partner=Slur(kind=start, linetype=solid, nestingLevel=1, uuid=rdmciucp), end=None\n", "[maelzel.scoring:renderlily.py:583:_handleSpannerPost:ERROR] Two many nested slurs: Slur(kind=start, linetype=solid, nestingLevel=5, parent=«3E>gliss 0.9:1 1/10♩ 5/4 noteheads=['0:cross'] attachments=[Articulation(kind=accent)] spanners=[Slur(kind=start, linetype=solid, nestingLevel=5, parent=«3E>gliss 0.9:1 1/10♩ 5/4 noteheads=['0:cross'] attachments=[Articulation(kind=accent)] spanners=[...]», uuid=kda2ogjp)]», uuid=kda2ogjp), skipping\n", "[maelzel.scoring:renderlily.py:583:_handleSpannerPost:ERROR] Two many nested slurs: Slur(kind=start, linetype=solid, nestingLevel=4, parent=«3Eb+25gliss 0.833:0.917 1/12♩ 3/2 attachments=[Articulation(kind=accent)] spanners=[Slur(kind=start, linetype=solid, nestingLevel=4, parent=«3Eb+25gliss 0.833:0.917 1/12♩ 3/2 attachments=[Articulation(kind=accent)] spanners=[...]», uuid=i3nqfv21)]», uuid=i3nqfv21), skipping\n", "[maelzel.scoring:renderlily.py:583:_handleSpannerPost:ERROR] Two many nested slurs: Slur(kind=start, linetype=solid, nestingLevel=3, parent=«3E-gliss 1.917:2 1/12♩ 3/2 spanners=[Slur(kind=start, linetype=solid, nestingLevel=3, parent=«3E-gliss 1.917:2 1/12♩ 3/2 spanners=[...]», uuid=9oqjjj3l)]», uuid=9oqjjj3l), skipping\n" ] }, { "data": { "text/html": [ "Voice([3Eb<:-58dB:0.313♩:offset=0.395:symbols=[Notehead(shape=cross)], 3F<:-19dB:0.163♩:offset=0.708:symbols=[Notehead(shape=cross), Articulation(kind=accent)], 3E>:-20dB:0.126♩:offset=0.871:gliss=True:symbols=[Notehead(shape=cross), Articulation(kind=accent), Slur(anchor=Slur, kind=start, linetype=solid, partnerSpanner=Slur, uuid=kda2ogjp)], 3F:-20dB:0.06♩:offset=0.997:symbols=[Slur(anchor=Slur, kind=end, linetype=solid, partnerSpanner=Slur, uuid=kda2ogjp)], 3E<:-19dB:0.186♩:offset=1.057, 3E:-20dB:0.179♩:offset=1.242:gliss=True:symbols=[Articulation(kind=accent), Slur(anchor=Slur, kind=start, linetype=solid, partnerSpanner=Slur, uuid=zlc78b5i)], 3F<:-41dB:0.036♩:offset=1.422:gliss=True, 3D+:-53dB:0.046♩:offset=1.458:symbols=[Slur(anchor=Slur, kind=end, linetype=solid, partnerSpanner=Slur, uuid=zlc78b5i)], 4G:-57dB:0.232♩:offset=1.503:symbols=[Notehead(shape=cross), Articulation(kind=accent)], 3D:-32dB:0.108♩:offset=1.736:gliss=True:symbols=[Notehead(shape=cross), Slur(anchor=Slur, kind=start, linetype=solid, partnerSpanner=Slur, uuid=7108uupy)], …], dur=20, offset=0)
\n", " " ], "text/plain": [ "Voice([3Eb<:-58dB:0.313♩:offset=0.395:symbols=[Notehead(shape=cross)], 3F<:-19dB:0.163♩:offset=0.708:symbols=[Notehead(shape=cross), Articulation(kind=accent)], 3E>:-20dB:0.126♩:offset=0.871:gliss=True:symbols=[Notehead(shape=cross), Articulation(kind=accent), Slur(anchor=Slur, kind=start, linetype=solid, partnerSpanner=Slur, uuid=kda2ogjp)], 3F:-20dB:0.06♩:offset=0.997:symbols=[Slur(anchor=Slur, kind=end, linetype=solid, partnerSpanner=Slur, uuid=kda2ogjp)], 3E<:-19dB:0.186♩:offset=1.057, 3E:-20dB:0.179♩:offset=1.242:gliss=True:symbols=[Articulation(kind=accent), Slur(anchor=Slur, kind=start, linetype=solid, partnerSpanner=Slur, uuid=zlc78b5i)], 3F<:-41dB:0.036♩:offset=1.422:gliss=True, 3D+:-53dB:0.046♩:offset=1.458:symbols=[Slur(anchor=Slur, kind=end, linetype=solid, partnerSpanner=Slur, uuid=zlc78b5i)], 4G:-57dB:0.232♩:offset=1.503:symbols=[Notehead(shape=cross), Articulation(kind=accent)], 3D:-32dB:0.108♩:offset=1.736:gliss=True:symbols=[Notehead(shape=cross), Slur(anchor=Slur, kind=start, linetype=solid, partnerSpanner=Slur, uuid=7108uupy)], …], offset=0)" ] }, "execution_count": 56, "metadata": {}, "output_type": "execute_result" } ], "source": [ "options = transcribe.TranscriptionOptions(unvoicedPitch='4G', addSlurs=True, debug=False, addGliss=True, addAccents=True)\n", "v = analysis.transcribe(options=options)\n", "v" ] }, { "cell_type": "markdown", "id": "ad19dae6-8feb-48af-b147-5b3056cfdb89", "metadata": {}, "source": [ "## Playback\n", "\n", "Below is a simple approach to sonify the transcription by defining different presets for sound which are fully voiced, partially voiced or completely unpitched. With more accurate feature detection regarding unpitched sections and formant prediction it might be possible to produce a much more accurate result" ] }, { "cell_type": "code", "execution_count": 61, "id": "38b990be-cf1c-48ce-bdfd-e670df95a752", "metadata": {}, "outputs": [], "source": [ "defPreset('unpitched', r\"\"\"\n", "|icentroid, iq=20|\n", "asig pinker\n", "asig *= kamp\n", "iband = icentroid / iq\n", "aout1 resonr asig, icentroid, iband \n", "\"\"\")\n", "\n", "defPreset('unvoiced', r\"\"\"\n", "|icentroid, iq=20|\n", "asig vco2 1, kfreq\n", "anoise = pinker() * 0.1\n", "iband = icentroid / iq\n", "anoise resonr anoise, icentroid, iband \n", "aout1 = (asig + anoise) * kamp\n", "\"\"\");" ] }, { "cell_type": "code", "execution_count": 69, "id": "bdfec2fa-5eaa-481b-bec8-964edef52d8a", "metadata": {}, "outputs": [], "source": [ "for n in v.items:\n", " if n.playargs:\n", " n.playargs._checkArgs()\n", " if n.getProperty('voiced'):\n", " n.setPlay(instr='saw', args={'kcutoffratio': 8})\n", " elif n.getProperty('unvoicedGroup'):\n", " n.setPlay(instr='unpitched', args={'icentroid': n.getProperty('centroid'), 'iq': 10}, gain=1, fade=0)\n", " else:\n", " n.setPlay(instr='unvoiced', args={'icentroid': n.getProperty('centroid'), 'iq': 40}, gain=1)" ] }, { "cell_type": "markdown", "id": "592cc7c0-22b1-4c93-b8a7-db5871e770ea", "metadata": {}, "source": [ "We load the original sound into a `Clip` in order to easily play it in sync with the analyisis" ] }, { "cell_type": "code", "execution_count": 63, "id": "40f3f1cf-8b1d-4c03-9e49-6e8634b612e0", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "mnOut size: 22\n", "m_pitchTrack size: 22\n", "mnOut size: 22\n", "m_pitchTrack size: 22\n", "mnOut size: 22\n", "m_pitchTrack size: 22\n", "mnOut size: 22\n", "m_pitchTrack size: 22\n" ] } ], "source": [ "cl = Clip(s.path)" ] }, { "cell_type": "markdown", "id": "1b9edcde-7387-430d-a60f-336d8772f625", "metadata": {}, "source": [ "Normally one would call `play` as in the cell below. In order for the generated audio to be playable online we render the result to disk" ] }, { "cell_type": "code", "execution_count": 75, "id": "267b10c4-ed18-419d-842c-19dc9fca7042", "metadata": {}, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "be838aafde6d45a496b7cf2ae083d64b", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Button(description='Stop', style=ButtonStyle())" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.jupyter.widget-view+json": { "model_id": "f83e64d4d9a74f0fbd848cd9a11682a2", "version_major": 2, "version_minor": 0 }, "text/plain": [ "Output()" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "SynthGroup(synths=85)\n", "

Instr: preset:unvoiced - 31 synths

\n", "
p1startdurp45:kpos6:kgain7:idataidx_8:inumbps9:ibplen10:ichan11:ifadein...
502.0451 𝍪0.4260.31300117231...
502.0452 𝍪0.7390.16300117231...
502.0453 𝍪0.9020.23600117431...
502.0454 𝍪1.7670.17800117431...
...
\n", "

Instr: preset:saw - 45 synths

\n", "
p1startdurp45:kpos6:kgain7:idataidx_8:inumbps9:ibplen10:ichan11:ifadein12:ifadeout13:ipchintrp_14:ifadekind15:ktransp16:klag17:kcutoffratio18:kfilterq1920212223...
503.0869 𝍪1.0870.186002192310.010.050100.183051.750.109660.18576...
503.087 𝍪1.2730.311002195310.010.050100.1830520.0999540.17947...
503.0871 𝍪1.8940.186002192310.010.050100.183051.250.0683070.18576...
503.0872 𝍪4.1580.209002192310.010.050100.183052.750.109330.20898...
...
\n", "

Instr: preset:unpitched - 8 synths

\n", "
p1startdurp45:kpos6:kgain7:idataidx_8:inumbps9:ibplen10:ichan11:ifadein...
501.0118 𝍪1.5340.28200117331...
501.0119 𝍪2.4980.11200117331...
501.012 𝍪2.7240.13700117331...
501.0121 𝍪2.8110.58700117331...
...
\n", "

Instr: preset:_clip_diskin - 1 synths

\n", "
p1startdurp45:kpos6:kgain7:idataidx_8:inumbps9:ibplen10:ichan11:ifadein12:ifadeout13:ipchintrp_14:ifadekind15:ipath16:isndfilechan17:kspeed18:iskip19:iwrap20:iwinsize2122...
504.0016 𝍪0.03120.000011212310.020.0201snd/istambul2.flac-110040...
" ], "text/plain": [ "SynthGroup(n=85)\n", " Synth(𝍪 preset:unvoiced=502.0451 start=1240.659 dur=0.313 p4=0 kpos=1 kgain=17 idataidx_=2 inumbps=3 ibplen=1 ichan=0.01 …)\n", " Synth(𝍪 preset:unvoiced=502.0452 start=1240.973 dur=0.163 p4=0 kpos=1 kgain=17 idataidx_=2 inumbps=3 ibplen=1 ichan=0.01 …)\n", " Synth(𝍪 preset:unvoiced=502.0453 start=1241.135 dur=0.236 p4=0 kpos=1 kgain=17 idataidx_=4 inumbps=3 ibplen=1 ichan=0.01 …)\n", " Synth(𝍪 preset:saw=503.0869 start=1241.321 dur=0.186 p4=0 kpos=2 kgain=19 idataidx_=2 inumbps=3 ibplen=1 ichan=0.01 ifadein=0.05 ifadeout=0 ipchintrp_=1 ifadekind=0 ktransp=0.1 klag=8 kcutoffratio=3 kfilterq=0 p19=51.75 p20=0.109659 p21=0.18576 p22=51.75 …)\n", " Synth(𝍪 preset:saw=503.087 start=1241.507 dur=0.311 p4=0 kpos=2 kgain=19 idataidx_=5 inumbps=3 ibplen=1 ichan=0.01 ifadein=0.05 ifadeout=0 ipchintrp_=1 ifadekind=0 ktransp=0.1 klag=8 kcutoffratio=3 kfilterq=0 p19=52 p20=0.0999541 p21=0.179467 p22=52.75 …)\n", " Synth(𝍪 preset:unpitched=501.0118 start=1241.768 dur=0.282 p4=0 kpos=1 kgain=17 idataidx_=3 inumbps=3 ibplen=1 ichan=0 …)\n", " Synth(𝍪 preset:unvoiced=502.0454 start=1242.000 dur=0.178 p4=0 kpos=1 kgain=17 idataidx_=4 inumbps=3 ibplen=1 ichan=0.01 …)\n", " Synth(𝍪 preset:saw=503.0871 start=1242.128 dur=0.186 p4=0 kpos=2 kgain=19 idataidx_=2 inumbps=3 ibplen=1 ichan=0.01 ifadein=0.05 ifadeout=0 ipchintrp_=1 ifadekind=0 ktransp=0.1 klag=8 kcutoffratio=3 kfilterq=0 p19=51.25 p20=0.0683069 p21=0.18576 p22=51.25 …)\n", " Synth(𝍪 preset:unvoiced=502.0455 start=1242.314 dur=0.459 p4=0 kpos=1 kgain=17 idataidx_=6 inumbps=3 ibplen=1 ichan=0.01 …)\n", " Synth(𝍪 preset:unpitched=501.0119 start=1242.732 dur=0.112 p4=0 kpos=1 kgain=17 idataidx_=3 inumbps=3 ibplen=1 ichan=0 …)\n", " Synth(𝍪 preset:unpitched=501.012 start=1242.958 dur=0.137 p4=0 kpos=1 kgain=17 idataidx_=3 inumbps=3 ibplen=1 ichan=0 …)\n", " Synth(𝍪 preset:unpitched=501.0121 start=1243.045 dur=0.587 p4=0 kpos=1 kgain=17 idataidx_=3 inumbps=3 ibplen=1 ichan=0 …)\n", " Synth(𝍪 preset:unvoiced=502.0456 start=1244.050 dur=0.174 p4=0 kpos=1 kgain=17 idataidx_=2 inumbps=3 ibplen=1 ichan=0.01 …)\n", " Synth(𝍪 preset:unvoiced=502.0457 start=1244.224 dur=0.168 p4=0 kpos=1 kgain=17 idataidx_=2 inumbps=3 ibplen=1 ichan=0.01 …)\n", " Synth(𝍪 preset:saw=503.0872 start=1244.392 dur=0.209 p4=0 kpos=2 kgain=19 idataidx_=2 inumbps=3 ibplen=1 ichan=0.01 ifadein=0.05 ifadeout=0 ipchintrp_=1 ifadekind=0 ktransp=0.1 klag=8 kcutoffratio=3 kfilterq=0 p19=52.75 p20=0.109328 p21=0.20898 p22=52.75 …)\n", " Synth(𝍪 preset:saw=503.0873 start=1244.601 dur=0.323 p4=0 kpos=2 kgain=19 idataidx_=4 inumbps=3 ibplen=1 ichan=0.01 ifadein=0.05 ifadeout=0 ipchintrp_=1 ifadekind=0 ktransp=0.1 klag=8 kcutoffratio=3 kfilterq=0 p19=52 p20=0.096618 p21=0.0577533 p22=53.25 …)\n", " Synth(𝍪 preset:saw=503.0874 start=1244.874 dur=0.276 p4=0 kpos=2 kgain=19 idataidx_=5 inumbps=3 ibplen=1 ichan=0.01 ifadein=0.0397183 ifadeout=0 ipchintrp_=1 ifadekind=0 ktransp=0.1 klag=8 kcutoffratio=3 kfilterq=0 p19=52.75 p20=0.00839027 p21=0.0397183 p22=50 …)\n", " Synth(𝍪 preset:saw=503.0875 start=1245.100 dur=0.369 p4=0 kpos=2 kgain=19 idataidx_=5 inumbps=3 ibplen=1 ichan=0.01 ifadein=0.05 ifadeout=0 ipchintrp_=1 ifadekind=0 ktransp=0.1 klag=8 kcutoffratio=3 kfilterq=0 p19=51.25 p20=0.047929 p21=0.0773398 p22=50.25 …)\n", " Synth(𝍪 preset:unvoiced=502.0458 start=1245.419 dur=0.081 p4=0 kpos=1 kgain=17 idataidx_=2 inumbps=3 ibplen=1 ichan=0.01 …)\n", " Synth(𝍪 preset:saw=503.0876 start=1245.501 dur=0.151 p4=0 kpos=2 kgain=19 idataidx_=2 inumbps=3 ibplen=1 ichan=0.01 ifadein=0.05 ifadeout=0 ipchintrp_=1 ifadekind=0 ktransp=0.1 klag=8 kcutoffratio=3 kfilterq=0 p19=51.75 p20=0.0440179 p21=0.15093 p22=51.75 …)\n", " Synth(𝍪 preset:unvoiced=502.0459 start=1245.652 dur=0.462 p4=0 kpos=1 kgain=17 idataidx_=5 inumbps=3 ibplen=1 ichan=0.01 …)\n", " Synth(𝍪 preset:unvoiced=502.046 start=1246.064 dur=0.439 p4=0 kpos=1 kgain=17 idataidx_=5 inumbps=3 ibplen=1 ichan=0.01 …)\n", " Synth(𝍪 preset:saw=503.0877 start=1246.453 dur=0.104 p4=0 kpos=2 kgain=19 idataidx_=2 inumbps=3 ibplen=1 ichan=0.01 ifadein=0.05 ifadeout=0 ipchintrp_=1 ifadekind=0 ktransp=0.1 klag=8 kcutoffratio=3 kfilterq=0 p19=51.25 p20=0.0176893 p21=0.10449 p22=51.25 …)\n", " Synth(𝍪 preset:saw=503.0878 start=1246.557 dur=0.230 p4=0 kpos=2 kgain=19 idataidx_=4 inumbps=3 ibplen=1 ichan=0.01 ifadein=0.0299924 ifadeout=0 ipchintrp_=1 ifadekind=0 ktransp=0.1 klag=8 kcutoffratio=3 kfilterq=0 p19=48 p20=0.0799525 p21=0.0299924 p22=50.75 …)\n", " Synth(𝍪 preset:saw=503.0879 start=1246.737 dur=0.046 p4=0 kpos=2 kgain=19 idataidx_=2 inumbps=3 ibplen=1 ichan=0.01 ifadein=0.0464399 ifadeout=0 ipchintrp_=1 ifadekind=0 ktransp=0.1 klag=8 kcutoffratio=3 kfilterq=0 p19=51.5 p20=0.0448902 p21=0.0464399 p22=51.5 …)\n", " Synth(𝍪 preset:saw=503.088 start=1246.784 dur=0.070 p4=0 kpos=2 kgain=19 idataidx_=2 inumbps=3 ibplen=1 ichan=0.01 ifadein=0.05 ifadeout=0 ipchintrp_=1 ifadekind=0 ktransp=0.1 klag=8 kcutoffratio=3 kfilterq=0 p19=50.75 p20=0.0335708 p21=0.0696599 p22=50.75 …)\n", " Synth(𝍪 preset:unvoiced=502.0461 start=1246.853 dur=0.134 p4=0 kpos=1 kgain=17 idataidx_=2 inumbps=3 ibplen=1 ichan=0.01 …)\n", " Synth(𝍪 preset:saw=503.0881 start=1246.987 dur=0.064 p4=0 kpos=2 kgain=19 idataidx_=2 inumbps=3 ibplen=1 ichan=0.01 ifadein=0.05 ifadeout=0 ipchintrp_=1 ifadekind=0 ktransp=0.1 klag=8 kcutoffratio=3 kfilterq=0 p19=52.5 p20=0.060593 p21=0.0638549 p22=52.5 …)\n", " Synth(𝍪 preset:saw=503.0882 start=1247.051 dur=0.110 p4=0 kpos=2 kgain=19 idataidx_=2 inumbps=3 ibplen=1 ichan=0.01 ifadein=0.05 ifadeout=0 ipchintrp_=1 ifadekind=0 ktransp=0.1 klag=8 kcutoffratio=3 kfilterq=0 p19=51.25 p20=0.0632785 p21=0.110295 p22=51.25 …)\n", " Synth(𝍪 preset:unvoiced=502.0462 start=1247.161 dur=0.358 p4=0 kpos=1 kgain=17 idataidx_=5 inumbps=3 ibplen=1 ichan=0.01 …)\n", " Synth(𝍪 preset:saw=503.0883 start=1247.469 dur=0.666 p4=0 kpos=2 kgain=19 idataidx_=4 inumbps=3 ibplen=1 ichan=0.01 ifadein=0.05 ifadeout=0 ipchintrp_=1 ifadekind=0 ktransp=0.1 klag=8 kcutoffratio=3 kfilterq=0 p19=54.5 p20=0.00756324 p21=0.54482 p22=54.5 …)\n", " Synth(𝍪 preset:unvoiced=502.0463 start=1248.194 dur=0.075 p4=0 kpos=1 kgain=17 idataidx_=2 inumbps=3 ibplen=1 ichan=0.01 …)\n", " Synth(𝍪 preset:saw=503.0884 start=1248.270 dur=0.081 p4=0 kpos=2 kgain=19 idataidx_=2 inumbps=3 ibplen=1 ichan=0.01 ifadein=0.05 ifadeout=0 ipchintrp_=1 ifadekind=0 ktransp=0.1 klag=8 kcutoffratio=3 kfilterq=0 p19=51 p20=0.0192645 p21=0.0812698 p22=51 …)\n", " Synth(𝍪 preset:unvoiced=502.0464 start=1248.351 dur=0.363 p4=0 kpos=1 kgain=17 idataidx_=5 inumbps=3 ibplen=1 ichan=0.01 …)\n", " Synth(𝍪 preset:saw=503.0885 start=1248.664 dur=0.694 p4=0 kpos=2 kgain=19 idataidx_=7 inumbps=3 ibplen=1 ichan=0.01 ifadein=0.05 ifadeout=0 ipchintrp_=1 ifadekind=0 ktransp=0.1 klag=8 kcutoffratio=3 kfilterq=0 p19=52.5 p20=0.136333 p21=0.180419 p22=51.25 …)\n", " Synth(𝍪 preset:saw=503.0886 start=1249.309 dur=0.230 p4=0 kpos=2 kgain=19 idataidx_=5 inumbps=3 ibplen=1 ichan=0.01 ifadein=0.05 ifadeout=0 ipchintrp_=1 ifadekind=0 ktransp=0.1 klag=8 kcutoffratio=3 kfilterq=0 p19=51.5 p20=0.0271882 p21=0.0899773 p22=49 …)\n", " Synth(𝍪 preset:unpitched=501.0122 start=1249.489 dur=0.108 p4=0 kpos=1 kgain=17 idataidx_=3 inumbps=3 ibplen=1 ichan=0 …)\n", " Synth(𝍪 preset:unvoiced=502.0465 start=1249.547 dur=0.294 p4=0 kpos=1 kgain=17 idataidx_=4 inumbps=3 ibplen=1 ichan=0.01 …)\n", " Synth(𝍪 preset:saw=503.0887 start=1249.791 dur=0.271 p4=0 kpos=2 kgain=19 idataidx_=4 inumbps=3 ibplen=1 ichan=0.01 ifadein=0.05 ifadeout=0 ipchintrp_=1 ifadekind=0 ktransp=0.1 klag=8 kcutoffratio=3 kfilterq=0 p19=52 p20=0.0868777 p21=0.105327 p22=54.75 …)\n", " Synth(𝍪 preset:unvoiced=502.0466 start=1250.011 dur=0.052 p4=0 kpos=1 kgain=17 idataidx_=2 inumbps=3 ibplen=1 ichan=0.01 …)\n", " Synth(𝍪 preset:saw=503.0888 start=1250.063 dur=0.134 p4=0 kpos=2 kgain=19 idataidx_=2 inumbps=3 ibplen=1 ichan=0.01 ifadein=0.05 ifadeout=0 ipchintrp_=1 ifadekind=0 ktransp=0.1 klag=8 kcutoffratio=3 kfilterq=0 p19=53 p20=0.109795 p21=0.133515 p22=53 …)\n", " Synth(𝍪 preset:saw=503.0889 start=1250.197 dur=0.294 p4=0 kpos=2 kgain=19 idataidx_=4 inumbps=3 ibplen=1 ichan=0.01 ifadein=0.05 ifadeout=0 ipchintrp_=1 ifadekind=0 ktransp=0.1 klag=8 kcutoffratio=3 kfilterq=0 p19=51.5 p20=0.0659643 p21=0.0614479 p22=49.75 …)\n", " Synth(𝍪 preset:saw=503.089 start=1250.441 dur=0.087 p4=0 kpos=2 kgain=19 idataidx_=2 inumbps=3 ibplen=1 ichan=0.01 ifadein=0.05 ifadeout=0 ipchintrp_=1 ifadekind=0 ktransp=0.1 klag=8 kcutoffratio=3 kfilterq=0 p19=49 p20=0.00710691 p21=0.0870748 p22=49 …)\n", " Synth(𝍪 preset:unpitched=501.0123 start=1250.528 dur=0.149 p4=0 kpos=1 kgain=17 idataidx_=3 inumbps=3 ibplen=1 ichan=0 …)\n", " Synth(𝍪 preset:unvoiced=502.0467 start=1250.627 dur=0.405 p4=0 kpos=1 kgain=17 idataidx_=6 inumbps=3 ibplen=1 ichan=0.01 …)\n", " Synth(𝍪 preset:saw=503.0891 start=1251.700 dur=0.201 p4=0 kpos=2 kgain=19 idataidx_=4 inumbps=3 ibplen=1 ichan=0.01 ifadein=0.0301859 ifadeout=0 ipchintrp_=1 ifadekind=0 ktransp=0.1 klag=8 kcutoffratio=3 kfilterq=0 p19=48.25 p20=0.0925867 p21=0.0301859 p22=51.25 …)\n", " Synth(𝍪 preset:saw=503.0892 start=1251.851 dur=0.093 p4=0 kpos=2 kgain=19 idataidx_=2 inumbps=3 ibplen=1 ichan=0.01 ifadein=0.05 ifadeout=0 ipchintrp_=1 ifadekind=0 ktransp=0.1 klag=8 kcutoffratio=3 kfilterq=0 p19=51.5 p20=0.0963077 p21=0.0928798 p22=51.5 …)\n", " Synth(𝍪 preset:unpitched=501.0124 start=1251.944 dur=0.172 p4=0 kpos=1 kgain=17 idataidx_=3 inumbps=3 ibplen=1 ichan=0 …)\n", " Synth(𝍪 preset:unvoiced=502.0468 start=1252.066 dur=0.046 p4=0 kpos=1 kgain=17 idataidx_=2 inumbps=3 ibplen=1 ichan=0.01 …)\n", " Synth(𝍪 preset:saw=503.0893 start=1252.113 dur=0.160 p4=0 kpos=2 kgain=19 idataidx_=4 inumbps=3 ibplen=1 ichan=0.01 ifadein=0.0481286 ifadeout=0 ipchintrp_=1 ifadekind=0 ktransp=0.1 klag=8 kcutoffratio=3 kfilterq=0 p19=54.25 p20=0.0542521 p21=0.0481286 p22=54 …)\n", " Synth(𝍪 preset:saw=503.0894 start=1252.223 dur=0.253 p4=0 kpos=2 kgain=19 idataidx_=5 inumbps=3 ibplen=1 ichan=0.01 ifadein=0.00995954 ifadeout=0 ipchintrp_=1 ifadekind=0 ktransp=0.1 klag=8 kcutoffratio=3 kfilterq=0 p19=49 p20=0.0656415 p21=0.00995954 p22=51.25 …)\n", " Synth(𝍪 preset:unvoiced=502.0469 start=1252.426 dur=0.261 p4=0 kpos=1 kgain=17 idataidx_=2 inumbps=3 ibplen=1 ichan=0.01 …)\n", " Synth(𝍪 preset:unvoiced=502.047 start=1252.687 dur=0.334 p4=0 kpos=1 kgain=17 idataidx_=4 inumbps=3 ibplen=1 ichan=0.01 …)\n", " Synth(𝍪 preset:saw=503.0895 start=1252.972 dur=0.064 p4=0 kpos=2 kgain=19 idataidx_=2 inumbps=3 ibplen=1 ichan=0.01 ifadein=0.05 ifadeout=0 ipchintrp_=1 ifadekind=0 ktransp=0.1 klag=8 kcutoffratio=3 kfilterq=0 p19=50 p20=0.0423224 p21=0.0638549 p22=50 …)\n", " Synth(𝍪 preset:saw=503.0896 start=1253.036 dur=0.099 p4=0 kpos=2 kgain=19 idataidx_=2 inumbps=3 ibplen=1 ichan=0.01 ifadein=0.05 ifadeout=0 ipchintrp_=1 ifadekind=0 ktransp=0.1 klag=8 kcutoffratio=3 kfilterq=0 p19=48.5 p20=0.0284888 p21=0.0986848 p22=48.5 …)\n", " Synth(𝍪 preset:unvoiced=502.0471 start=1253.134 dur=0.128 p4=0 kpos=1 kgain=17 idataidx_=2 inumbps=3 ibplen=1 ichan=0.01 …)\n", " Synth(𝍪 preset:saw=503.0897 start=1253.262 dur=0.271 p4=0 kpos=2 kgain=19 idataidx_=4 inumbps=3 ibplen=1 ichan=0.01 ifadein=0.0377586 ifadeout=0 ipchintrp_=1 ifadekind=0 ktransp=0.1 klag=8 kcutoffratio=3 kfilterq=0 p19=48.25 p20=0.0859499 p21=0.0377586 p22=50.75 …)\n", " Synth(𝍪 preset:saw=503.0898 start=1253.483 dur=0.311 p4=0 kpos=2 kgain=19 idataidx_=5 inumbps=3 ibplen=1 ichan=0.01 ifadein=0.05 ifadeout=0 ipchintrp_=1 ifadekind=0 ktransp=0.1 klag=8 kcutoffratio=3 kfilterq=0 p19=48.75 p20=0.0110818 p21=0.0677987 p22=46.5 …)\n", " Synth(𝍪 preset:unvoiced=502.0472 start=1253.744 dur=0.139 p4=0 kpos=1 kgain=17 idataidx_=2 inumbps=3 ibplen=1 ichan=0.01 …)\n", " Synth(𝍪 preset:unvoiced=502.0473 start=1253.883 dur=0.160 p4=0 kpos=1 kgain=17 idataidx_=4 inumbps=3 ibplen=1 ichan=0.01 …)\n", " Synth(𝍪 preset:unvoiced=502.0474 start=1253.993 dur=0.128 p4=0 kpos=1 kgain=17 idataidx_=2 inumbps=3 ibplen=1 ichan=0.01 …)\n", " Synth(𝍪 preset:saw=503.0899 start=1254.121 dur=0.534 p4=0 kpos=2 kgain=19 idataidx_=8 inumbps=3 ibplen=1 ichan=0.01 ifadein=0.05 ifadeout=0 ipchintrp_=1 ifadekind=0 ktransp=0.1 klag=8 kcutoffratio=3 kfilterq=0 p19=49 p20=0.030664 p21=0.107081 p22=42.5 …)\n", " Synth(𝍪 preset:unvoiced=502.0475 start=1255.358 dur=0.247 p4=0 kpos=1 kgain=17 idataidx_=4 inumbps=3 ibplen=1 ichan=0.01 …)\n", " Synth(𝍪 preset:saw=503.09 start=1255.555 dur=0.145 p4=0 kpos=2 kgain=19 idataidx_=2 inumbps=3 ibplen=1 ichan=0.01 ifadein=0.05 ifadeout=0 ipchintrp_=1 ifadekind=0 ktransp=0.1 klag=8 kcutoffratio=3 kfilterq=0 p19=51.75 p20=0.0754192 p21=0.145125 p22=51.75 …)\n", " Synth(𝍪 preset:unvoiced=502.0476 start=1255.700 dur=0.532 p4=0 kpos=1 kgain=17 idataidx_=6 inumbps=3 ibplen=1 ichan=0.01 …)\n", " Synth(𝍪 preset:unpitched=501.0125 start=1256.182 dur=0.473 p4=0 kpos=1 kgain=17 idataidx_=3 inumbps=3 ibplen=1 ichan=0 …)\n", " Synth(𝍪 preset:unvoiced=502.0477 start=1256.710 dur=0.201 p4=0 kpos=1 kgain=17 idataidx_=4 inumbps=3 ibplen=1 ichan=0.01 …)\n", " Synth(𝍪 preset:saw=503.0901 start=1256.861 dur=0.087 p4=0 kpos=2 kgain=19 idataidx_=2 inumbps=3 ibplen=1 ichan=0.01 ifadein=0.05 ifadeout=0 ipchintrp_=1 ifadekind=0 ktransp=0.1 klag=8 kcutoffratio=3 kfilterq=0 p19=51.75 p20=0.141645 p21=0.0870748 p22=51.75 …)\n", " Synth(𝍪 preset:saw=503.0902 start=1256.948 dur=0.058 p4=0 kpos=2 kgain=19 idataidx_=2 inumbps=3 ibplen=1 ichan=0.01 ifadein=0.05 ifadeout=0 ipchintrp_=1 ifadekind=0 ktransp=0.1 klag=8 kcutoffratio=3 kfilterq=0 p19=55.75 p20=0.025739 p21=0.0580499 p22=55.75 …)\n", " Synth(𝍪 preset:saw=503.0903 start=1257.006 dur=0.354 p4=0 kpos=2 kgain=19 idataidx_=2 inumbps=3 ibplen=1 ichan=0.01 ifadein=0.05 ifadeout=0 ipchintrp_=1 ifadekind=0 ktransp=0.1 klag=8 kcutoffratio=3 kfilterq=0 p19=55.75 p20=0.0482359 p21=0.354104 p22=55.75 …)\n", " Synth(𝍪 preset:unvoiced=502.0478 start=1257.360 dur=0.276 p4=0 kpos=1 kgain=17 idataidx_=4 inumbps=3 ibplen=1 ichan=0.01 …)\n", " Synth(𝍪 preset:saw=503.0904 start=1257.587 dur=0.058 p4=0 kpos=2 kgain=19 idataidx_=2 inumbps=3 ibplen=1 ichan=0.01 ifadein=0.05 ifadeout=0 ipchintrp_=1 ifadekind=0 ktransp=0.1 klag=8 kcutoffratio=3 kfilterq=0 p19=51.5 p20=0.0148727 p21=0.0580499 p22=51.5 …)\n", " Synth(𝍪 preset:saw=503.0905 start=1257.645 dur=0.250 p4=0 kpos=2 kgain=19 idataidx_=2 inumbps=3 ibplen=1 ichan=0.01 ifadein=0.05 ifadeout=0 ipchintrp_=1 ifadekind=0 ktransp=0.1 klag=8 kcutoffratio=3 kfilterq=0 p19=52.5 p20=0.039676 p21=0.249615 p22=52.5 …)\n", " Synth(𝍪 preset:unvoiced=502.0479 start=1257.894 dur=0.110 p4=0 kpos=1 kgain=17 idataidx_=2 inumbps=3 ibplen=1 ichan=0.01 …)\n", " Synth(𝍪 preset:saw=503.0906 start=1258.005 dur=0.294 p4=0 kpos=2 kgain=19 idataidx_=5 inumbps=3 ibplen=1 ichan=0.01 ifadein=0.05 ifadeout=0 ipchintrp_=1 ifadekind=0 ktransp=0.1 klag=8 kcutoffratio=3 kfilterq=0 p19=51.75 p20=0.0909053 p21=0.103074 p22=50.25 …)\n", " Synth(𝍪 preset:saw=503.0907 start=1258.249 dur=0.456 p4=0 kpos=2 kgain=19 idataidx_=4 inumbps=3 ibplen=1 ichan=0.01 ifadein=0.05 ifadeout=0 ipchintrp_=1 ifadekind=0 ktransp=0.1 klag=8 kcutoffratio=3 kfilterq=0 p19=52.5 p20=0.0981024 p21=0.255703 p22=53 …)\n", " Synth(𝍪 preset:saw=503.0908 start=1258.655 dur=0.081 p4=0 kpos=2 kgain=19 idataidx_=2 inumbps=3 ibplen=1 ichan=0.01 ifadein=0.05 ifadeout=0 ipchintrp_=1 ifadekind=0 ktransp=0.1 klag=8 kcutoffratio=3 kfilterq=0 p19=50.5 p20=0.0323658 p21=0.0812698 p22=50.5 …)\n", " Synth(𝍪 preset:saw=503.0909 start=1258.736 dur=0.099 p4=0 kpos=2 kgain=19 idataidx_=2 inumbps=3 ibplen=1 ichan=0.01 ifadein=0.05 ifadeout=0 ipchintrp_=1 ifadekind=0 ktransp=0.1 klag=8 kcutoffratio=3 kfilterq=0 p19=50.5 p20=0.0675829 p21=0.0986848 p22=50.5 …)\n", " Synth(𝍪 preset:saw=503.091 start=1258.835 dur=0.174 p4=0 kpos=2 kgain=19 idataidx_=2 inumbps=3 ibplen=1 ichan=0.01 ifadein=0.05 ifadeout=0 ipchintrp_=1 ifadekind=0 ktransp=0.1 klag=8 kcutoffratio=3 kfilterq=0 p19=51 p20=0.0422007 p21=0.17415 p22=51 …)\n", " Synth(𝍪 preset:saw=503.0911 start=1259.009 dur=0.300 p4=0 kpos=2 kgain=19 idataidx_=5 inumbps=3 ibplen=1 ichan=0.01 ifadein=0.05 ifadeout=0 ipchintrp_=1 ifadekind=0 ktransp=0.1 klag=8 kcutoffratio=3 kfilterq=0 p19=51.25 p20=0.0526917 p21=0.137787 p22=50.5 …)\n", " Synth(𝍪 preset:unvoiced=502.048 start=1259.259 dur=0.093 p4=0 kpos=1 kgain=17 idataidx_=2 inumbps=3 ibplen=1 ichan=0.01 …)\n", " Synth(𝍪 preset:unvoiced=502.0481 start=1259.351 dur=0.282 p4=0 kpos=1 kgain=17 idataidx_=4 inumbps=3 ibplen=1 ichan=0.01 …)\n", " Synth(𝍪 preset:saw=503.0912 start=1259.584 dur=0.151 p4=0 kpos=2 kgain=19 idataidx_=2 inumbps=3 ibplen=1 ichan=0.01 ifadein=0.05 ifadeout=0 ipchintrp_=1 ifadekind=0 ktransp=0.1 klag=8 kcutoffratio=3 kfilterq=0 p19=48.25 p20=0.0499395 p21=0.15093 p22=48.25 …)\n", " Synth(𝍪 preset:saw=503.0913 start=1259.735 dur=0.580 p4=0 kpos=2 kgain=19 idataidx_=6 inumbps=3 ibplen=1 ichan=0.01 ifadein=0.05 ifadeout=0 ipchintrp_=1 ifadekind=0 ktransp=0.1 klag=8 kcutoffratio=3 kfilterq=0 p19=48 p20=0.0480047 p21=0.140428 p22=47.25 …)\n", " Synth(𝍪 preset:_clip_diskin=504.0016 start=1240.265 dur=20.000 p4=1 kpos=1 kgain=21 idataidx_=2 inumbps=3 ibplen=1 ichan=0.02 ifadein=0.02 ifadeout=0 ipchintrp_=1 ifadekind=snd/istambul2.flac ipath=-1 isndfilechan=1 kspeed=0 iskip=0 iwrap=4 iwinsize=0 p21=51.0965 …)" ] }, "execution_count": 75, "metadata": {}, "output_type": "execute_result" } ], "source": [ "play(\n", " v.events(position=0, gain=2, sustain=0.05, fade=(0.01, 0.05)),\n", " cl.events(position=1, delay=0.)\n", ")" ] }, { "cell_type": "code", "execution_count": 24, "id": "727bd3e2-f90a-420a-8fbc-8715c654a6b3", "metadata": {}, "outputs": [ { "data": { "text/html": [ "OfflineRenderer(outfile=\"assets/transcription.ogg\", 2 channels, 20.10 secs, 44100 Hz)
\n", "
\n", " \n", " " ], "text/plain": [ "OfflineRenderer(sr=44100)" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "render('assets/transcription.ogg', [\n", " v.events(position=0, gain=2, sustain=0.05, fade=(0.0, 0.05)),\n", " cl.events(position=1, delay=0.) \n", "])\n" ] }, { "cell_type": "code", "execution_count": null, "id": "f1d2a439-7956-4f4e-8479-a65db5469cfb", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.11.6" } }, "nbformat": 4, "nbformat_minor": 5 }